diff --git a/.cvsignore b/.cvsignore
new file mode 100644
index 0000000..44b1200
--- /dev/null
+++ b/.cvsignore
@@ -0,0 +1,5 @@
+doc
+classes
+.classpath
+.externalToolBuilders
+.project
diff --git a/.gitattributes b/.gitattributes
new file mode 100644
index 0000000..82ddcd2
--- /dev/null
+++ b/.gitattributes
@@ -0,0 +1,83 @@
+* text=auto !eol
+
+*.c text !eol
+*.cc text !eol
+*.classpath text !eol
+*.cpp text !eol
+*.css text !eol
+*.dsp text !eol
+*.dsw text !eol
+*.filters text !eol
+*.h text !eol
+*.htm text !eol
+*.html text !eol
+*.in text !eol
+*.java text !eol
+*.launch text !eol
+*.mak text !eol
+*.md text !eol
+*.MF text !eol
+*.mk text !eol
+*.pl text !eol
+*.pm text !eol
+*.project text !eol
+*.properties text !eol
+*.py text !eol
+*.rc text !eol
+*.sh text eol=lf
+*.sln text !eol
+*.stub text !eol
+*.txt text !eol
+*.ucm text !eol
+*.vcproj text !eol
+*.vcxproj text !eol
+*.xml text !eol
+*.xsl text !eol
+*.xslt text !eol
+Makefile text !eol
+configure text !eol
+LICENSE text !eol
+README text !eol
+
+*.bin -text
+*.brk -text
+*.cnv -text
+*.icu -text
+*.res -text
+*.nrm -text
+*.spp -text
+*.tri2 -text
+
+src/com/ibm/icu/dev/data/rbbi/english.dict -text
+src/com/ibm/icu/dev/data/testdata.jar -text
+src/com/ibm/icu/dev/data/thai6.ucs -text
+src/com/ibm/icu/dev/test/perf/data/collation/TestNames_Asian.txt -text
+src/com/ibm/icu/dev/test/perf/data/collation/TestNames_Chinese.txt -text
+src/com/ibm/icu/dev/test/perf/data/collation/TestNames_Japanese.txt -text
+src/com/ibm/icu/dev/test/perf/data/collation/TestNames_Japanese_h.txt -text
+src/com/ibm/icu/dev/test/perf/data/collation/TestNames_Japanese_k.txt -text
+src/com/ibm/icu/dev/test/perf/data/collation/TestNames_Korean.txt -text
+src/com/ibm/icu/dev/test/perf/data/collation/TestNames_Latin.txt -text
+src/com/ibm/icu/dev/test/perf/data/collation/TestNames_Russian.txt -text
+src/com/ibm/icu/dev/test/perf/data/collation/TestNames_SerbianSH.txt -text
+src/com/ibm/icu/dev/test/perf/data/collation/TestNames_SerbianSR.txt -text
+src/com/ibm/icu/dev/test/perf/data/collation/TestNames_Simplified_Chinese.txt -text
+src/com/ibm/icu/dev/test/perf/data/collation/TestNames_Thai.txt -text
+src/com/ibm/icu/dev/test/rbbi/rbbitst.txt -text
+src/com/ibm/icu/dev/tool/docs/icu4j28.api.gz -text
+src/com/ibm/icu/dev/tool/docs/icu4j30.api.gz -text
+src/com/ibm/icu/dev/tool/docs/icu4j32.api.gz -text
+src/com/ibm/icu/dev/tool/docs/icu4j34.api.gz -text
+src/com/ibm/icu/impl/data/icudata.jar -text
+src/com/ibm/icu/impl/data/th.brk -text
+src/com/ibm/richtext/textapps/resources/unicode.arabic.red -text
+src/com/ibm/richtext/textapps/resources/unicode.hebrew.red -text
+
+# The following file types are stored in Git-LFS.
+*.jar filter=lfs diff=lfs merge=lfs -text
+*.dat filter=lfs diff=lfs merge=lfs -text
+*.zip filter=lfs diff=lfs merge=lfs -text
+*.gz filter=lfs diff=lfs merge=lfs -text
+*.bz2 filter=lfs diff=lfs merge=lfs -text
+*.gif filter=lfs diff=lfs merge=lfs -text
+
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..229f478
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,5 @@
+/.classpath
+/.externalToolBuilders
+/.project
+/classes
+/doc
diff --git a/APIChangeReport.html b/APIChangeReport.html
new file mode 100644
index 0000000..3ed9c53
--- /dev/null
+++ b/APIChangeReport.html
@@ -0,0 +1,408 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<title>ICU4J API Comparison: ICU4J 3.2 with ICU4J 3.4</title>
+<!-- Copyright 2005, IBM, All Rights Reserved. -->
+</head>
+<body>
+<h1>ICU4J API Comparison: ICU4J 3.2 with ICU4J 3.4</h1>
+
+<hr/>
+<h2>Removed from ICU4J 3.2</h2>
+
+<h3>Package com.ibm.icu.lang</h3>
+<ul>
+UCharacterEnums.ECharacterDirection
+<ul>
+<li>(draft)      public static final byte DIRECTIONALITY_NON_SPACING_MARK</li>
+</ul>
+</ul>
+
+<h3>Package com.ibm.icu.text</h3>
+<ul>
+Collator
+<ul>
+<li>(stable)     public abstract boolean <i>equals</i>(java.lang.Object)</li>
+<li>(stable)     public abstract int <i>hashCode</i>()</li>
+</ul>
+</ul>
+
+<h3>Package com.ibm.icu.util</h3>
+<ul>
+UResourceTypeMismatchException
+<ul>
+<li>(draft)      public java.lang.String <i>toString</i>()</li>
+</ul>
+UniversalTimeScale
+<ul>
+<li>(draft)      public static final int WINDOWS_DATE_TIME</li>
+</ul>
+</ul>
+
+
+<hr/>
+<h2>Obsoleted in ICU4J 3.4</h2>
+<p>(no API obsoleted)</p>
+
+<hr/>
+<h2>Changed in ICU4J 3.4 (old, new)</h2>
+
+<h3>Package com.ibm.icu.lang</h3>
+<ul>
+UCharacterEnums.ECharacterCategory
+<ul>
+<li>    (stable)     public static final int CHAR_CATEGORY_COUNT</br>
+(stable)     public static final byte CHAR_CATEGORY_COUNT</li>
+<li>    (stable)     public static final int COMBINING_SPACING_MARK</br>
+(stable)     public static final byte COMBINING_SPACING_MARK</li>
+<li>    (stable)     public static final int CONNECTOR_PUNCTUATION</br>
+(stable)     public static final byte CONNECTOR_PUNCTUATION</li>
+<li>    (stable)     public static final int CONTROL</br>
+(stable)     public static final byte CONTROL</li>
+<li>    (stable)     public static final int CURRENCY_SYMBOL</br>
+(stable)     public static final byte CURRENCY_SYMBOL</li>
+<li>    (stable)     public static final int DASH_PUNCTUATION</br>
+(stable)     public static final byte DASH_PUNCTUATION</li>
+<li>    (stable)     public static final int DECIMAL_DIGIT_NUMBER</br>
+(stable)     public static final byte DECIMAL_DIGIT_NUMBER</li>
+<li>    (stable)     public static final int ENCLOSING_MARK</br>
+(stable)     public static final byte ENCLOSING_MARK</li>
+<li>    (stable)     public static final int END_PUNCTUATION</br>
+(stable)     public static final byte END_PUNCTUATION</li>
+<li>    (stable)     public static final int FINAL_PUNCTUATION</br>
+(stable)     public static final byte FINAL_PUNCTUATION</li>
+<li>    (draft)      public static final int FINAL_QUOTE_PUNCTUATION</br>
+(stable)     public static final byte FINAL_QUOTE_PUNCTUATION</li>
+<li>    (stable)     public static final int FORMAT</br>
+(stable)     public static final byte FORMAT</li>
+<li>    (stable)     public static final int GENERAL_OTHER_TYPES</br>
+(stable)     public static final byte GENERAL_OTHER_TYPES</li>
+<li>    (stable)     public static final int INITIAL_PUNCTUATION</br>
+(stable)     public static final byte INITIAL_PUNCTUATION</li>
+<li>    (draft)      public static final int INITIAL_QUOTE_PUNCTUATION</br>
+(stable)     public static final byte INITIAL_QUOTE_PUNCTUATION</li>
+<li>    (stable)     public static final int LETTER_NUMBER</br>
+(stable)     public static final byte LETTER_NUMBER</li>
+<li>    (stable)     public static final int LINE_SEPARATOR</br>
+(stable)     public static final byte LINE_SEPARATOR</li>
+<li>    (stable)     public static final int LOWERCASE_LETTER</br>
+(stable)     public static final byte LOWERCASE_LETTER</li>
+<li>    (stable)     public static final int MATH_SYMBOL</br>
+(stable)     public static final byte MATH_SYMBOL</li>
+<li>    (stable)     public static final int MODIFIER_LETTER</br>
+(stable)     public static final byte MODIFIER_LETTER</li>
+<li>    (stable)     public static final int MODIFIER_SYMBOL</br>
+(stable)     public static final byte MODIFIER_SYMBOL</li>
+<li>    (stable)     public static final int NON_SPACING_MARK</br>
+(stable)     public static final byte NON_SPACING_MARK</li>
+<li>    (stable)     public static final int OTHER_LETTER</br>
+(stable)     public static final byte OTHER_LETTER</li>
+<li>    (stable)     public static final int OTHER_NUMBER</br>
+(stable)     public static final byte OTHER_NUMBER</li>
+<li>    (stable)     public static final int OTHER_PUNCTUATION</br>
+(stable)     public static final byte OTHER_PUNCTUATION</li>
+<li>    (stable)     public static final int OTHER_SYMBOL</br>
+(stable)     public static final byte OTHER_SYMBOL</li>
+<li>    (stable)     public static final int PARAGRAPH_SEPARATOR</br>
+(stable)     public static final byte PARAGRAPH_SEPARATOR</li>
+<li>    (stable)     public static final int PRIVATE_USE</br>
+(stable)     public static final byte PRIVATE_USE</li>
+<li>    (stable)     public static final int SPACE_SEPARATOR</br>
+(stable)     public static final byte SPACE_SEPARATOR</li>
+<li>    (stable)     public static final int START_PUNCTUATION</br>
+(stable)     public static final byte START_PUNCTUATION</li>
+<li>    (stable)     public static final int SURROGATE</br>
+(stable)     public static final byte SURROGATE</li>
+<li>    (stable)     public static final int TITLECASE_LETTER</br>
+(stable)     public static final byte TITLECASE_LETTER</li>
+<li>    (stable)     public static final int UNASSIGNED</br>
+(stable)     public static final byte UNASSIGNED</li>
+<li>    (stable)     public static final int UPPERCASE_LETTER</br>
+(stable)     public static final byte UPPERCASE_LETTER</li>
+</ul>
+</ul>
+
+<h3>Package com.ibm.icu.util</h3>
+<ul>
+<li>    (stable)     public abstract class <i>Calendar</i> extends java.lang.Object implements java.io.Serializable, java.lang.Cloneable</br>
+(stable)     public abstract class <i>Calendar</i> extends java.lang.Object implements java.io.Serializable, java.lang.Cloneable, java.lang.Comparable</li>
+</ul>
+
+
+<hr/>
+<h2>Promoted to stable in ICU4J 3.4</h2>
+
+<h3>Package com.ibm.icu.text</h3>
+<ul>
+<li>(stable)     public final class <i>IDNA</i></li>
+<li>(stable)     public final class <i>RawCollationKey</i></li>
+<li>(stable)     public final class <i>StringPrep</i></li>
+<li>(stable)     public class <i>StringPrepParseException</i></li>
+<li>(stable)     public interface <i>SymbolTable</i></li>
+CollationElementIterator
+<ul>
+<li>(stable)     public void <i>setText</i>(UCharacterIterator)</li>
+</ul>
+CollationKey
+<ul>
+<li>(stable)     public <i>CollationKey</i>(java.lang.String, RawCollationKey)</li>
+</ul>
+Collator
+<ul>
+<li>(stable)     public abstract RawCollationKey <i>getRawCollationKey</i>(java.lang.String, RawCollationKey)</li>
+<li>(stable)     public abstract VersionInfo <i>getUCAVersion</i>()</li>
+<li>(stable)     public abstract VersionInfo <i>getVersion</i>()</li>
+</ul>
+RuleBasedCollator
+<ul>
+<li>(stable)     public CollationElementIterator <i>getCollationElementIterator</i>(UCharacterIterator)</li>
+<li>(stable)     public boolean <i>getNumericCollation</i>()</li>
+<li>(stable)     public RawCollationKey <i>getRawCollationKey</i>(java.lang.String, RawCollationKey)</li>
+<li>(stable)     public VersionInfo <i>getUCAVersion</i>()</li>
+<li>(stable)     public VersionInfo <i>getVersion</i>()</li>
+<li>(stable)     public void <i>setNumericCollation</i>(boolean)</li>
+<li>(stable)     public void <i>setNumericCollationDefault</i>()</li>
+</ul>
+UnicodeSet
+<ul>
+<li>(stable)     public void <i>addAll</i>(java.util.Collection)</li>
+<li>(stable)     public void <i>addAllTo</i>(java.util.Collection)</li>
+</ul>
+</ul>
+
+<h3>Package com.ibm.icu.util</h3>
+<ul>
+<li>(stable)     public class <i>BuddhistCalendar</i></li>
+<li>(stable)     public class <i>ByteArrayWrapper</i></li>
+<li>(stable)     public class <i>ChineseCalendar</i></li>
+<li>(stable)     public class <i>HebrewCalendar</i></li>
+<li>(stable)     public class <i>IslamicCalendar</i></li>
+<li>(stable)     public class <i>JapaneseCalendar</i></li>
+<li>(stable)     public final class <i>LocaleData</i></li>
+<li>(stable)     public static final class <i>LocaleData.MeasurementSystem</i></li>
+<li>(stable)     public static final class <i>LocaleData.PaperSize</i></li>
+<li>(stable)     public final class <i>ULocale</i></li>
+TimeZone
+<ul>
+<li>(stable)     public <i>TimeZone</i>()</li>
+<li>(stable)     public int <i>getDSTSavings</i>()</li>
+<li>(stable)     public int <i>getOffset</i>(long)</li>
+<li>(stable)     public void <i>getOffset</i>(long, boolean, int[])</li>
+</ul>
+VersionInfo
+<ul>
+<li>(stable)     public static final VersionInfo UCOL_BUILDER_VERSION</li>
+<li>(stable)     public static final VersionInfo UCOL_RUNTIME_VERSION</li>
+<li>(stable)     public static final VersionInfo UCOL_TAILORINGS_VERSION</li>
+</ul>
+</ul>
+
+
+<hr/>
+<h2>Added in ICU4J 3.4</h2>
+
+<h3>Package com.ibm.icu.lang</h3>
+<ul>
+<li>(draft)      public static interface <i>UCharacter.GraphemeClusterBreak</i></li>
+<li>(draft)      public static interface <i>UCharacter.SentenceBreak</i></li>
+<li>(draft)      public static interface <i>UCharacter.WordBreak</i></li>
+UCharacter
+<ul>
+<li>(draft)      public static final int MAX_RADIX</li>
+<li>(draft)      public static final int MIN_RADIX</li>
+<li>(draft)      public static boolean <i>isJavaIdentifierPart</i>(int)</li>
+<li>(draft)      public static boolean <i>isJavaIdentifierStart</i>(int)</li>
+<li>(draft)      public static boolean <i>isJavaLetter</i>(int)</li>
+<li>(draft)      public static boolean <i>isJavaLetterOrDigit</i>(int)</li>
+<li>(draft)      public static boolean <i>isSpace</i>(int)</li>
+</ul>
+UCharacter.LineBreak
+<ul>
+<li>(draft)      public static final int H2</li>
+<li>(draft)      public static final int H3</li>
+<li>(draft)      public static final int JL</li>
+<li>(draft)      public static final int JT</li>
+<li>(draft)      public static final int JV</li>
+</ul>
+UCharacter.UnicodeBlock
+<ul>
+<li>(draft)      public static final UCharacter.UnicodeBlock ANCIENT_GREEK_MUSICAL_NOTATION</li>
+<li>(draft)      public static final int ANCIENT_GREEK_MUSICAL_NOTATION_ID</li>
+<li>(draft)      public static final UCharacter.UnicodeBlock ANCIENT_GREEK_NUMBERS</li>
+<li>(draft)      public static final int ANCIENT_GREEK_NUMBERS_ID</li>
+<li>(draft)      public static final UCharacter.UnicodeBlock ARABIC_SUPPLEMENT</li>
+<li>(draft)      public static final int ARABIC_SUPPLEMENT_ID</li>
+<li>(draft)      public static final UCharacter.UnicodeBlock BUGINESE</li>
+<li>(draft)      public static final int BUGINESE_ID</li>
+<li>(draft)      public static final UCharacter.UnicodeBlock CJK_STROKES</li>
+<li>(draft)      public static final int CJK_STROKES_ID</li>
+<li>(draft)      public static final UCharacter.UnicodeBlock COMBINING_DIACRITICAL_MARKS_SUPPLEMENT</li>
+<li>(draft)      public static final int COMBINING_DIACRITICAL_MARKS_SUPPLEMENT_ID</li>
+<li>(draft)      public static final UCharacter.UnicodeBlock COPTIC</li>
+<li>(draft)      public static final int COPTIC_ID</li>
+<li>(draft)      public static final UCharacter.UnicodeBlock ETHIOPIC_EXTENDED</li>
+<li>(draft)      public static final int ETHIOPIC_EXTENDED_ID</li>
+<li>(draft)      public static final UCharacter.UnicodeBlock ETHIOPIC_SUPPLEMENT</li>
+<li>(draft)      public static final int ETHIOPIC_SUPPLEMENT_ID</li>
+<li>(draft)      public static final UCharacter.UnicodeBlock GEORGIAN_SUPPLEMENT</li>
+<li>(draft)      public static final int GEORGIAN_SUPPLEMENT_ID</li>
+<li>(draft)      public static final UCharacter.UnicodeBlock GLAGOLITIC</li>
+<li>(draft)      public static final int GLAGOLITIC_ID</li>
+<li>(draft)      public static final UCharacter.UnicodeBlock KHAROSHTHI</li>
+<li>(draft)      public static final int KHAROSHTHI_ID</li>
+<li>(draft)      public static final UCharacter.UnicodeBlock MODIFIER_TONE_LETTERS</li>
+<li>(draft)      public static final int MODIFIER_TONE_LETTERS_ID</li>
+<li>(draft)      public static final UCharacter.UnicodeBlock NEW_TAI_LUE</li>
+<li>(draft)      public static final int NEW_TAI_LUE_ID</li>
+<li>(draft)      public static final UCharacter.UnicodeBlock OLD_PERSIAN</li>
+<li>(draft)      public static final int OLD_PERSIAN_ID</li>
+<li>(draft)      public static final UCharacter.UnicodeBlock PHONETIC_EXTENSIONS_SUPPLEMENT</li>
+<li>(draft)      public static final int PHONETIC_EXTENSIONS_SUPPLEMENT_ID</li>
+<li>(draft)      public static final UCharacter.UnicodeBlock SUPPLEMENTAL_PUNCTUATION</li>
+<li>(draft)      public static final int SUPPLEMENTAL_PUNCTUATION_ID</li>
+<li>(draft)      public static final UCharacter.UnicodeBlock SYLOTI_NAGRI</li>
+<li>(draft)      public static final int SYLOTI_NAGRI_ID</li>
+<li>(draft)      public static final UCharacter.UnicodeBlock TIFINAGH</li>
+<li>(draft)      public static final int TIFINAGH_ID</li>
+<li>(draft)      public static final UCharacter.UnicodeBlock VERTICAL_FORMS</li>
+<li>(draft)      public static final int VERTICAL_FORMS_ID</li>
+</ul>
+UCharacterEnums.ECharacterDirection
+<ul>
+<li>(draft)      public static final byte DIRECTIONALITY_NONSPACING_MARK</li>
+</ul>
+UProperty
+<ul>
+<li>(draft)      public static final int GRAPHEME_CLUSTER_BREAK</li>
+<li>(draft)      public static final int PATTERN_SYNTAX</li>
+<li>(draft)      public static final int PATTERN_WHITE_SPACE</li>
+<li>(draft)      public static final int POSIX_ALNUM</li>
+<li>(draft)      public static final int POSIX_BLANK</li>
+<li>(draft)      public static final int POSIX_GRAPH</li>
+<li>(draft)      public static final int POSIX_PRINT</li>
+<li>(draft)      public static final int POSIX_XDIGIT</li>
+<li>(draft)      public static final int SENTENCE_BREAK</li>
+<li>(draft)      public static final int WORD_BREAK</li>
+</ul>
+UScript
+<ul>
+<li>(draft)      public static final int BUGINESE</li>
+<li>(draft)      public static final int GLAGOLITIC</li>
+<li>(draft)      public static final int KHAROSHTHI</li>
+<li>(draft)      public static final int NEW_TAI_LUE</li>
+<li>(draft)      public static final int OLD_PERSIAN</li>
+<li>(draft)      public static final int SYLOTI_NAGRI</li>
+<li>(draft)      public static final int TIFINAGH</li>
+</ul>
+</ul>
+
+<h3>Package com.ibm.icu.text</h3>
+<ul>
+<li>(draft)      public class <i>CharsetDetector</i></li>
+<li>(draft)      public class <i>CharsetMatch</i></li>
+Collator
+<ul>
+<li>(draft)      public static final int FULL_DECOMPOSITION</li>
+</ul>
+DateFormat
+<ul>
+<li>(draft)      public static final int STANDALONE_DAY_FIELD</li>
+<li>(draft)      public static final int STANDALONE_MONTH_FIELD</li>
+<li>(draft)      public static final int TIMEZONE_GENERIC_FIELD</li>
+</ul>
+DateFormatSymbols
+<ul>
+<li>(draft)      public static final int ABBREVIATED</li>
+<li>(draft)      public static final int FORMAT</li>
+<li>(draft)      public static final int NARROW</li>
+<li>(draft)      public static final int STANDALONE</li>
+<li>(draft)      public static final int WIDE</li>
+<li>(draft)      public java.lang.String[] <i>getEraNames</i>()</li>
+<li>(draft)      public java.lang.String[] <i>getMonths</i>(int, int)</li>
+<li>(draft)      public java.lang.String[] <i>getWeekdays</i>(int, int)</li>
+</ul>
+DecimalFormatSymbols
+<ul>
+<li>(draft)      public Currency <i>getCurrency</i>()</li>
+<li>(draft)      public void <i>setCurrency</i>(Currency)</li>
+</ul>
+MessageFormat
+<ul>
+<li>(draft)      public static java.lang.String <i>autoQuoteApostrophe</i>(java.lang.String)</li>
+</ul>
+RuleBasedCollator
+<ul>
+<li>(draft)      public void <i>getContractionsAndExpansions</i>(UnicodeSet, UnicodeSet, boolean)</li>
+</ul>
+StringPrepParseException
+<ul>
+<li>(stable)     public static final int ZERO_LENGTH_LABEL</li>
+</ul>
+UnicodeSet
+<ul>
+<li>(draft)      public static final int ADD_CASE_MAPPINGS</li>
+<li>(draft)      public static final int CASE_INSENSITIVE</li>
+</ul>
+</ul>
+
+<h3>Package com.ibm.icu.util</h3>
+<ul>
+<li>(draft)      public final class <i>CopticCalendar</i></li>
+<li>(draft)      public final class <i>EthiopicCalendar</i></li>
+Calendar
+<ul>
+<li>(draft)      public int <i>compareTo</i>(Calendar)</li>
+<li>(draft)      public int <i>compareTo</i>(java.lang.Object)</li>
+</ul>
+Currency
+<ul>
+<li>(draft)      protected <i>Currency</i>(java.lang.String)</li>
+<li>(draft)      public java.lang.String <i>getSymbol</i>()</li>
+<li>(draft)      public java.lang.String <i>getSymbol</i>(ULocale)</li>
+<li>(draft)      public java.lang.String <i>getSymbol</i>(java.util.Locale)</li>
+</ul>
+LocaleData
+<ul>
+<li>(draft)      public static final int ALT_QUOTATION_END</li>
+<li>(draft)      public static final int ALT_QUOTATION_START</li>
+<li>(draft)      public static final int DELIMITER_COUNT</li>
+<li>(draft)      public static final int ES_AUXILIARY</li>
+<li>(draft)      public static final int ES_COUNT</li>
+<li>(draft)      public static final int ES_STANDARD</li>
+<li>(draft)      public static final int QUOTATION_END</li>
+<li>(draft)      public static final int QUOTATION_START</li>
+<li>(draft)      public java.lang.String <i>getDelimiter</i>(int)</li>
+<li>(draft)      public UnicodeSet <i>getExemplarSet</i>(int, int)</li>
+<li>(draft)      public static final LocaleData <i>getInstance</i>()</li>
+<li>(draft)      public static final LocaleData <i>getInstance</i>(ULocale)</li>
+<li>(draft)      public boolean <i>getNoSubstitute</i>()</li>
+<li>(draft)      public void <i>setNoSubstitute</i>(boolean)</li>
+</ul>
+SimpleTimeZone
+<ul>
+<li>(draft)      public void <i>setRawOffset</i>(int)</li>
+</ul>
+ULocale
+<ul>
+<li>(draft)      public <i>ULocale</i>(java.lang.String, java.lang.String)</li>
+<li>(draft)      public static ULocale <i>acceptLanguage</i>(ULocale[], boolean[])</li>
+<li>(draft)      public static ULocale <i>acceptLanguage</i>(ULocale[], ULocale[], boolean[])</li>
+<li>(draft)      public static ULocale <i>acceptLanguage</i>(java.lang.String, boolean[])</li>
+<li>(draft)      public static ULocale <i>acceptLanguage</i>(java.lang.String, ULocale[], boolean[])</li>
+</ul>
+UniversalTimeScale
+<ul>
+<li>(draft)      public static final int DOTNET_DATE_TIME</li>
+</ul>
+VersionInfo
+<ul>
+<li>(draft)      public static final VersionInfo UNICODE_4_0_1</li>
+<li>(draft)      public static final VersionInfo UNICODE_4_1</li>
+</ul>
+</ul>
+
+<hr/>
+<p><i><font size="-1">Contents generated by ReportAPI tool on Tue Jul 05 15:25:21 PDT 2005<br/>Copyright (C) 2005, International Business Machines Corporation, All Rights Reserved.</font></i></p>
+</body>
+</html>
diff --git a/build.xml b/build.xml
new file mode 100644
index 0000000..e38e5b9
--- /dev/null
+++ b/build.xml
@@ -0,0 +1,1092 @@
+<!--
+/*
+*******************************************************************************
+* Copyright (C) 1997-2005, International Business Machines Corporation and    *
+* others. All Rights Reserved.                                                *
+*******************************************************************************
+* This is the ant build file for ICU4J.  See readme.html for more information.
+*/
+-->
+
+<project name="ICU4J" default="core" basedir=".">
+
+    <!-- ### Begin Clover 1.2 setup ### -->
+    <typedef resource="clovertypes"/>
+    <taskdef resource="clovertasks"/>
+
+    <target name="with.clover">
+        <mkdir dir="tmp/"/>
+        <clover-setup initString="tmp/icu4j.db">
+            <files>
+                <exclude name="**/dev/**/*.java"/>
+             </files>
+             <methodContext name="API" regexp="(.* )?public .*"/>
+        </clover-setup>
+    </target>
+
+    <target name="clover.summary" depends="with.clover">
+        <clover-report >
+            <current outfile="icu4j_html" summary="true">
+                <format type="html" srcLevel="false"/>
+            </current>
+        </clover-report>
+    </target>
+   <target name="clover.report" depends="with.clover">
+        <clover-report >
+            <current outfile="icu4j_html">
+                <format type="html"/>
+            </current>
+        </clover-report>
+    </target>
+    <target name="clover.log" depends="with.clover">
+        <clover-log level="method" filter="private">
+             <package name="com.ibm.icu.text"/>
+             <package name="com.ibm.icu.lang"/>
+             <package name="com.ibm.icu.math"/>
+             <package name="com.ibm.icu.util"/>
+        </clover-log>
+    </target>
+
+    <!-- ### End Clover 1.2 setup ### -->
+
+    <target name="anthack1">
+        <!-- It's a real pain to set properties conditionally.
+          Ant 1.5 isn't really any better than 1.4, in fact 1.5 enforces that
+          properties are write-once so you can't even set a default and then
+          override it, which we used to do for Ant 1.4. -->
+        <condition property="version.1.4">
+            <or>
+                <equals arg1="${ant.java.version}" arg2="1.4"/>
+                <equals arg1="${ant.java.version}" arg2="1.5"/>
+            </or>
+        </condition>
+        
+        <condition property="doc.params"
+            value="-breakiterator -use -tagletpath ./classes -taglet com.ibm.icu.dev.tool.docs.ICUTaglet -group 'ICU Core' 'com.ibm.icu.lang*:com.ibm.icu.math*:com.ibm.icu.text*:com.ibm.icu.util*:com.ibm.icu.stringprep*' -group 'ICU Tests' 'com.ibm.icu.dev.test*' -group 'Demos' 'com.ibm.icu.dev.demo*' -group 'ICU Tools' 'com.ibm.icu.dev*'">
+                <equals arg1="${version.1.4}" arg2="true"/>
+        </condition>
+
+        <condition property="richeditdoc.params"
+            value="-breakiterator -use -tagletpath ./classes -taglet com.ibm.icu.dev.tool.docs.ICUTaglet -group 'Rich Text Editing' 'com.ibm.richtext*'">
+                <equals arg1="${version.1.4}" arg2="true"/>
+        </condition>
+    </target>
+
+    <target name="anthack2" unless="doc.params">
+        <property name="doc.params" value=""/>
+    </target>
+
+    <target name="init">
+        <tstamp/>
+        <property name="src.dir" value="src"/>
+        <property name="build.dir" value="classes"/>
+        <property name="api.dir" value="${src.dir}/com/ibm/icu/dev/tool/docs"/>
+        <property name="doc.dir" value="doc"/>
+        <property name="testjar.file" value="icu4jtests.jar"/>
+        <property name="jar.file" value="icu4j.jar"/>
+        <property name="jarSrc.file" value="icu4jsrc.jar"/>
+        <property name="jarDocs.file" value="icu4jdocs.jar"/>
+        <property name="icu4j.manifest" value="${src.dir}/com/ibm/icu/manifest.stub"/>
+        <property name="icu4j.module.manifest" value="${src.dir}/com/ibm/icu/manifest.module.stub"/>
+        <property name="xliff.manifest" value="${src.dir}/com/ibm/dev/tool/localeconverter/manifest.xliff.stub"/>
+        <property name="cldr.util.manifest" value="${src.dir}/com/ibm/icu/dev/test/util/manifest.cldrutil.stub"/>
+        <property name="icu4j.tests.manifest" value="${src.dir}/com/ibm/icu/dev/test/manifest.test.stub"/>
+        <property name="ime.translit.manifest" value="${src.dir}/com/ibm/icu/dev/tool/ime/translit/manifest.stub"/>
+        <property name="ime.translit.jar.file" value="icutransime.jar"/>
+        <property name="ime.indic.manifest" value="${src.dir}/com/ibm/icu/dev/tool/ime/indic/manifest.stub"/>
+        <property name="ime.indic.jar.file" value="icuindicime.jar"/>
+        <property name="zip.file" value="../icu4j${DSTAMP}.zip"/>
+        <property name="zipSrc.file" value="../icu4jSrc${DSTAMP}.zip"/>
+        <!-- fix the data folder every time there is a version update-->
+        <property name="icu4j.data.path" value="com/ibm/icu/impl/data/icudt34b/" />
+        <property name="icu4j.testdata.path" value="com/ibm/icu/dev/data/testdata/" />
+        <property name="icu4j.javac.source" value="1.4"/>
+        <property name="icu4j.javac.target" value="1.4"/>
+
+        <path id="build.classpath">
+            <pathelement path="${build.dir}"/>
+        </path>
+
+        <property name="richedit.dir" value="richedit"/>
+        <property name="richedit.doc.dir" value="${richedit.dir}/doc"/>
+        <property name="richedit.jar.file" value="${richedit.dir}/richedit.jar"/>
+        <property name="richedit.zip.file" value="${richedit.dir}/richedit.zip"/>
+        <property name="richedit.manifest" value="${src.dir}/com/ibm/richtext/manifest.stub"/>
+        
+        <!-- Load environment variables -->
+        <property environment="env"/>
+
+        <!-- Capture the computer name in a cross-platform manner -->
+        <property name="env.COMPUTERNAME" value="${env.HOSTNAME}"/>
+
+        <mkdir dir="${build.dir}"/>
+        <echo message="java home: ${java.home}"/>
+        <echo message="java version: ${java.version}"/>
+        <echo message="ant java version: ${ant.java.version}"/>
+        <echo message="${ant.version}"/>
+        <echo message="${env.COMPUTERNAME} with ${os.name} ${os.version} on ${os.arch}"/>
+        <echo message="clover initstring = '${clover.initstring}'"/>
+
+        <uptodate property="icu4j.resources" targetfile="${src.dir}/com/ibm/icu/impl/data">
+            <!-- note must not have '/' before 'com' in srcfiles includes arg! -->
+            <srcfiles dir="${build.dir}" includes="${icu4j.data.path}/res_index.res"/>
+        </uptodate>
+
+        <uptodate property="icu4j.testdata.resources" targetfile="${src.dir}/com/ibm/icu/dev/data">
+            <!-- note must not have '/' before 'com' in srcfiles includes arg! -->
+            <srcfiles dir="${build.dir}" includes="${icu4j.testdatadata.path}/root.res"/>
+        </uptodate>
+
+        <uptodate property="icu4j.module.resources" targetfile="${src.dir}/com/ibm/icu/impl/data/icudata.jar" >
+            <srcfiles dir="${build.dir}" includes="${icu4j.data.path}/*.icu"/>
+        </uptodate>
+        <!-- <echo message="icu4j.module.resources result: ${icu4j.module.resources}" /> -->
+    </target>
+
+    <!-- build everything but dist-related stuff -->
+    <target name="all" depends="core,tests,tools,richedit,demos,jar,docs" description="build all primary targets"/>
+
+    <target name="resources" depends="init" description="builds all the resources">
+        <unjar src="${src.dir}/com/ibm/icu/impl/data/icudata.jar" dest="${build.dir}"/>
+        <touch file="${build.dir}/${icu4j.data.path}/res_index.res"/>
+        <unjar src="${src.dir}/com/ibm/icu/dev/data/testdata.jar" dest="${build.dir}"/>
+        <touch file="${build.dir}/${icu4j.testdata.path}/root.res"/>
+    </target>
+
+    <target name="icudata" depends="init" if="icu4j.resources">
+        <!-- use this target to force resources to be rebuilt -->
+        <unjar src="${src.dir}/com/ibm/icu/impl/data/icudata.jar" dest="${build.dir}"/>
+        <touch file="${build.dir}/${icu4j.data.path}/res_index.res"/>
+    </target>
+
+    <target name="testdata" depends="init" if="icu4j.testdata.resources">
+        <!-- use this target to force resources to be rebuilt -->
+        <unjar src="${src.dir}/com/ibm/icu/dev/data/testdata.jar" dest="${build.dir}"/>
+        <touch file="${build.dir}/${icu4j.testdata.path}/root.res"/>
+    </target>
+
+<!--
+    use this target to conditionally build resources only if icu4j.resources is set
+    <target name="icu" depends="init" if="icu4j.resources">
+        <unjar src="${src.dir}/com/ibm/icu/impl/data/ICULocaleData.jar" dest="${build.dir}"/>
+        <touch file="${build.dir}/com/ibm/icu/impl/data/LocaleElements_index.class"/>
+    </target>
+ -->
+
+    <!-- core does not build richedit or tests -->
+    <target name="core" depends="init,coreData,icudata" description="build core classes and data">
+        <javac includes="com/ibm/icu/util/**/*.java,com/ibm/icu/text/**/*.java,com/ibm/icu/math/**/*.java,com/ibm/icu/impl/**/*.java,com/ibm/icu/lang/*.java"
+            excludes="**/CVS/**/*"
+            srcdir="${src.dir}"
+            destdir="${build.dir}"
+            classpathref="build.classpath"
+            source="${icu4j.javac.source}"
+            target="${icu4j.javac.target}"
+            debug="on" deprecation="off"
+            encoding="ascii"/>
+    </target>
+
+    <target name="tests" depends="core,testData" description="build tests">
+        <javac includes="com/ibm/icu/dev/test/calendar/**/*.java"
+            excludes="**/CVS/**/*"
+            srcdir="${src.dir}"
+            destdir="${build.dir}"
+            classpathref="build.classpath"
+            source="${icu4j.javac.source}"
+            target="${icu4j.javac.target}"
+            debug="on" deprecation="off"/>
+        <javac includes="com/ibm/icu/dev/test/collator/**/*.java"
+            excludes="**/CVS/**/*"
+            srcdir="${src.dir}"
+            destdir="${build.dir}"
+            classpathref="build.classpath"
+            source="${icu4j.javac.source}"
+            target="${icu4j.javac.target}"
+            debug="on" deprecation="off"/>
+        <javac includes="com/ibm/icu/dev/test/format/**/*.java"
+            excludes="**/CVS/**/*"
+            srcdir="${src.dir}"
+            destdir="${build.dir}"
+            classpathref="build.classpath"
+            source="${icu4j.javac.source}"
+            target="${icu4j.javac.target}"
+            debug="on" deprecation="off"/>
+        <javac includes="com/ibm/icu/dev/test/translit/**/*.java"
+            excludes="**/CVS/**/*"
+            srcdir="${src.dir}"
+            destdir="${build.dir}"
+            classpathref="build.classpath"
+            source="${icu4j.javac.source}"
+            target="${icu4j.javac.target}"
+            debug="on" deprecation="off"/>
+        <javac includes="com/ibm/icu/dev/test/lang/**/*.java, com/ibm/icu/dev/test/normalizer/**/*.java"
+            excludes="**/CVS/**/*"
+            srcdir="${src.dir}"
+            destdir="${build.dir}"
+            classpathref="build.classpath"
+            source="${icu4j.javac.source}"
+            target="${icu4j.javac.target}"
+            debug="on" deprecation="off"/>
+        <javac includes="com/ibm/icu/dev/test/**/*.java"
+            excludes="**/CVS/**/*"
+            srcdir="${src.dir}"
+            destdir="${build.dir}"
+            classpathref="build.classpath"
+            source="${icu4j.javac.source}"
+            target="${icu4j.javac.target}"
+            debug="on" deprecation="off"/>
+    </target>
+
+    <target name="demos" depends="core,testData" description="build demos">
+        <javac includes="com/ibm/icu/dev/demo/**/*.java"
+            excludes="**/CVS/**/*"
+            srcdir="${src.dir}"
+            destdir="${build.dir}"
+            classpathref="build.classpath"
+            source="${icu4j.javac.source}"
+            target="${icu4j.javac.target}"
+            debug="on" deprecation="off"/>
+    </target>
+
+    <target name="buildmangle" depends="init,anthack1" if="version.1.4">
+        <javac includes="com/ibm/icu/dev/tool/docs/CodeMangler.java"
+            srcdir="${src.dir}"
+            destdir="${build.dir}"
+            classpathref="build.classpath"
+            source="${icu4j.javac.source}"
+            target="${icu4j.javac.target}"/>
+    </target>
+
+    <target name="mangle" depends="buildmangle" if="version.1.4">
+    <!-- this is a hack for now, need a way to express dependency on the .jpp files
+    and to provide directories or trees of files to the code mangler tool. -->
+        <java classname="com.ibm.icu.dev.tool.docs.CodeMangler" classpath="${build.dir}" logError="true">
+            <arg value="-d"/>
+            <arg value="VERSION_${ant.java.version}"/>
+            <arg value="-in"/>
+            <arg value="${src.dir}/com/ibm/icu/dev/tool/docs/ICUTaglet.jpp"/>
+            <arg value="-out"/>
+            <arg value="${src.dir}/com/ibm/icu/dev/tool/docs/ICUTaglet.java"/>
+         </java>
+    </target>
+
+    <target name="indices" depends="icudata,tools">
+        <java classname="com.ibm.icu.dev.tool.index.IndexGenerator" classpath="${build.dir}" logError="true">
+            <arg value="${build.dir}/com/ibm/icu/impl/data/icudt34b/" />
+        </java>
+        <java classname="com.ibm.icu.dev.tool.index.IndexGenerator" classpath="${build.dir}" logError="true">
+            <arg value="${build.dir}/com/ibm/icu/impl/data/icudt34b/rbnf" />
+        </java>
+        <java classname="com.ibm.icu.dev.tool.index.IndexGenerator" classpath="${build.dir}" logError="true">
+            <arg value="${build.dir}/com/ibm/icu/impl/data/icudt34b/coll" />
+        </java>
+        <java classname="com.ibm.icu.dev.tool.index.IndexGenerator" classpath="${build.dir}" logError="true">
+            <arg value="${build.dir}/com/ibm/icu/impl/data/icudt34b/translit" />
+        </java>
+    </target>
+
+    <target name="one4tools" depends="anthack1,anthack2,mangle" if="version.1.4">
+        <javac includes="com/ibm/icu/dev/localeconverter/docs/*.java,com/ibm/icu/dev/tool/docs/*.java"
+            excludes="**/CVS/**/*"
+            srcdir="${src.dir}"
+            destdir="${build.dir}"
+            classpathref="build.classpath"
+            source="${icu4j.javac.source}" 
+            target="${icu4j.javac.target}"
+            debug="on" deprecation="off"/>
+    </target>
+
+    <target name="tools" depends="core,one4tools" description="build tools">
+        <javac includes="com/ibm/icu/dev/tool/**/*.java"
+            excludes="com/ibm/icu/dev/tool/cldr/*,com/ibm/icu/dev/tool/localeconverter/*,com/ibm/icu/dev/tool/docs/*,**/CVS/**/*"
+            srcdir="${src.dir}"
+            destdir="${build.dir}"
+            classpathref="build.classpath"
+            source="${icu4j.javac.source}"
+            target="${icu4j.javac.target}"
+            debug="on" deprecation="off"/>
+    </target>
+
+<!-- use excludefiles below when we move to ant 1.5 -->
+
+    <target name="docs" depends="anthack1,anthack2,tools" description="build user javadoc">
+        <echo message="doc params: ${doc.params}"/>
+        <mkdir dir="${doc.dir}"/>
+        <javadoc
+            packagenames="com.ibm.icu.lang,com.ibm.icu.text,com.ibm.icu.util,com.ibm.icu.math,com.ibm.icu.stringprep,com.ibm.icu.dev"
+            sourcepath="${src.dir}"
+            destdir="${doc.dir}"
+            nodeprecatedlist="true"
+            windowtitle="icu4j"
+            doctitle="icu4j"
+            encoding="iso-8859-1"
+            docencoding="iso-8859-1"
+            bottom="&lt;font size=-1>Copyright (c) 2005 IBM Corporation and others.&lt;/font>"
+            additionalparam="${doc.params}"
+            link="http://java.sun.com/j2se/1.5/docs/api"
+            source="1.4"/>
+    </target>
+
+    <target name="fulldocs" depends="anthack1,anthack2,tools" description="build all javadoc">
+        <echo message="doc params: ${doc.params}"/>
+        <mkdir dir="${doc.dir}"/>
+        <javadoc
+            packagenames="com.ibm.icu.*"
+            sourcepath="${src.dir}"
+            destdir="${doc.dir}"
+            nodeprecatedlist="true"
+            windowtitle="icu4j"
+            doctitle="icu4j"
+            encoding="iso-8859-1"
+            docencoding="iso-8859-1"
+            bottom="&lt;font size=-1>Copyright (c) 2004 IBM Corporation and others.&lt;/font>"
+            additionalparam="${doc.params}"
+            link="http://java.sun.com/j2se/1.4/docs/api"
+            source="1.4"/>
+    </target>
+
+    <target name ="coreData" depends="init">
+        <copy todir="${build.dir}/com/ibm/icu/impl/data">
+            <fileset dir="${src.dir}/com/ibm/icu/impl/data"
+                includes="*.icu,*.spp,*.brk"
+                excludes="**/CVS/**/*,Transliterator_Han_Latin_*.txt"/>
+        </copy>
+    </target>
+
+    <target name ="testData" depends="init">
+        <copy file="${src.dir}/com/ibm/icu/dev/data/rbbi/english.dict"
+            todir="${build.dir}/com/ibm/icu/dev/data/rbbi"/>
+        <copy file="${src.dir}/com/ibm/icu/dev/test/rbbi/rbbitst.txt"
+            todir="${build.dir}/com/ibm/icu/dev/test/rbbi"/>
+        <copy file="${src.dir}/com/ibm/icu/dev/test/charsetdet/CharsetDetectionTests.xml"
+            todir="${build.dir}/com/ibm/icu/dev/test/charsetdet"/>
+        <copy file="${src.dir}/com/ibm/icu/dev/data/riwords.txt"
+            todir="${build.dir}/com/ibm/icu/dev/data"/>
+        <copy file="${src.dir}/com/ibm/icu/dev/data/IDNATestInput.txt"
+            todir="${build.dir}/com/ibm/icu/dev/data"/>
+        <javac includes="com/ibm/icu/dev/data/*.java"
+            excludes="**/CVS/**/*"
+            srcdir="${src.dir}"
+            destdir="${build.dir}"
+            classpathref="build.classpath"
+            source="${icu4j.javac.source}"
+            target="${icu4j.javac.target}"
+            debug="on" deprecation="off"/>
+        <copy todir="${build.dir}/com/ibm/icu/dev/data">
+            <fileset dir="${src.dir}/com/ibm/icu/dev/data"
+                includes="*.spp,*.txt"/>
+        </copy>
+        <copy todir="${build.dir}/com/ibm/icu/dev/data/unicode/">
+            <fileset dir="${src.dir}/com/ibm/icu/dev/data/unicode/"
+                includes="*.txt"/>
+        </copy>
+        <copy file="${src.dir}/com/ibm/icu/dev/test/format/NumberFormatTestCases.txt"
+            todir="${build.dir}/com/ibm/icu/dev/test/format"/>
+        <unjar src="${src.dir}/com/ibm/icu/dev/data/testdata.jar" dest="${build.dir}"/>
+        
+    </target>
+
+    <!-- builds richedit and richedit tests -->
+    <target name="richedit" depends="init" description="build richedit classes and tests">
+        <javac includes="com/ibm/richtext/**/*.java"
+            excludes="**/CVS/**/*"
+            srcdir="${src.dir}"
+            destdir="${build.dir}"
+            classpathref="build.classpath"
+            source="${icu4j.javac.source}"
+            target="${icu4j.javac.target}"
+            debug="on" deprecation="off"/>
+        <copy todir="${build.dir}/com/ibm/richtext/textapps/resources" overwrite="yes" includeEmptyDirs="no">
+            <fileset dir="${src.dir}/com/ibm/richtext/textapps/resources" includes="*.red"/>
+        </copy>
+    </target>
+
+    <!-- Creates the 3 release jar archives for distribution -->
+    <target name="jarRelease" depends="jar,jarSrc,jarDocs"/>
+
+    <target name="jar" depends="core,indices" description="build full 'icu4j.jar' jar file">
+        <jar jarfile="${jar.file}"
+            compress="true"
+            includes="com/ibm/icu/util/**/*,com/ibm/icu/text/**/*,com/ibm/icu/math/**/*,com/ibm/icu/impl/**/*,com/ibm/icu/lang/**/*"
+            basedir="${build.dir}"
+            manifest="${icu4j.manifest}"/>
+    </target>
+
+    <target name="testJar" depends="tests,jar" description="build runtime 'icu4jtests.jar' jar file">
+        <jar jarfile="${testjar.file}" compress="true" manifest="${icu4j.tests.manifest}">
+            <fileset dir="${build.dir}" includes="com/ibm/icu/dev/test/**/*"/>
+            <fileset dir="${build.dir}" includes="com/ibm/icu/dev/data/**/*"/>
+        </jar>
+    </target>
+
+    <target name="jarSrc" depends="init" description="build source 'icu4jsrc.jar' jar file">
+        <!--Create a jar archive of just the source for distribution.  The
+        jar file will be created in the directory above the root ICU4J
+        directory. The exclude pattern ${src.dir}/com/ibm/icu/dev/data/unicode/UnicodeData-*.txt
+        and ${src.dir}/com/ibm/icu/dev/data/unicode/SpecialCasing-*.txt
+        eliminates old archive copies like SpecialCasing-2.txt and
+        UnicodeData-2.1.8.txt -->
+        <jar jarfile="${jarSrc.file}"
+            compress="true"
+            basedir="."
+            excludes="${richedit.dir}/**/*,test_*,${src.dir}/com/ibm/icu/dev/data/unicode//UnicodeData-*.txt,${src.dir}/com/ibm/icu/dev/data/unicode/SpecialCasing-*.txt,${src.dir}/com/ibm/icu/dev/data/unicode/CompositionExclusions-*.txt,${obsolete.dir}/**,**/*~,${src.dir}/**/*.class,${build.dir}/**,**/CVS/**/*,${doc.dir}/**,${jar.file}"
+            manifest="${icu4j.manifest}"/>
+    </target>
+
+    <target name="jarDocs" depends="docs" description="build documentation 'icu4jdocs.jar' jar file">
+        <jar jarfile="${jarDocs.file}"
+            compress="true"
+            basedir="${doc.dir}"
+            manifest="${icu4j.manifest}"/>
+    </target>
+
+    <target name="translitIMEJar" depends="collator, transliterator" description="build transliterator IME 'icutransime.jar' jar file">
+        <javac includes="com/ibm/icu/dev/tool/ime/translit/*.java"
+            excludes="**/CVS/**/*"
+            srcdir="${src.dir}"
+            destdir="${build.dir}"
+            classpathref="build.classpath"
+            source="${icu4j.javac.source}"
+            target="${icu4j.javac.target}"
+            debug="on" deprecation="off"/>
+        <copy file="${src.dir}/com/ibm/icu/dev/tool/ime/translit/Transliterator.properties"
+            todir="${build.dir}/com/ibm/icu/dev/tool/ime/translit"/>
+        <jar jarfile="${ime.translit.jar.file}"
+            compress="true"
+            basedir="${build.dir}"
+            includes="com/ibm/icu/dev/tool/ime/translit/**/*"
+            manifest="${ime.translit.manifest}">
+            <metainf dir="${src.dir}/com/ibm/icu/dev/tool/ime/translit" includes="services/*"/>
+        </jar>
+    </target>
+
+    <target name="indicIMEJar" depends="init" description="build indic IME 'icuindicime.jar' jar file">
+        <javac includes="com/ibm/icu/dev/tool/ime/indic/*.java"
+            excludes="**/CVS/**/*"
+            srcdir="${src.dir}"
+            destdir="${build.dir}"
+            classpathref="build.classpath"
+            source="${icu4j.javac.source}"
+            target="${icu4j.javac.target}"
+            debug="on" deprecation="off"/>
+        <copy file="${src.dir}/com/ibm/icu/dev/tool/ime/indic/DisplayNames.properties"
+            todir="${build.dir}/com/ibm/icu/dev/tool/ime/indic"/>
+        <jar jarfile="${ime.indic.jar.file}"
+            compress="true"
+            basedir="${build.dir}"
+            includes="com/ibm/icu/dev/tool/ime/indic/**/*"
+            manifest="${ime.indic.manifest}">
+            <metainf dir="${src.dir}/com/ibm/icu/dev/tool/ime/indic" includes="services/*"/>
+        </jar>
+    </target>
+
+<!--
+    <target name="translitimeStandaloneJar" depends="collator, transliterator">
+        <javac includes="com/ibm/icu/dev/tool/ime/translit/*.java"
+            excludes="**/CVS/**/*"
+            srcdir="${src.dir}"
+            destdir="${build.dir}"
+            classpathref="build.classpath"
+            source="${icu4j.javac.source}"
+            target="${icu4j.javac.target}"
+            debug="on" deprecation="off"/>
+        <copy toDir="${build.dir}/com/ibm/icu/dev/tool/ime/translit">
+            <fileset dir="${src.dir}/com/ibm/icu/dev/tool/ime/translit" includes="*.properties"/>
+        </copy>
+        <jar jarfile="${ime.jar.file}"
+            compress="true"
+            basedir="${build.dir}"
+            includes="com/ibm/icu/util/**/*,com/ibm/icu/text/**/*,com/ibm/icu/math/**/*,com/ibm/icu/impl/**/*,com/ibm/icu/lang/**/*,com/ibm/icu/dev/tool/ime/translit/**/*"
+            manifest="${ime.translit.manifest}">
+            <metainf dir="${src.dir}/com/ibm/icu/dev/tool/ime/translit" includes="services/*"/>
+        </jar>
+    </target>
+-->
+
+    <!-- jars up richedit but without tests -->
+    <target name="richeditJar" depends="richedit" description="build richedit runtime 'richedit.jar' jar file">
+        <mkdir dir="${richedit.dir}"/>
+        <jar jarfile="${richedit.jar.file}"
+            compress="true"
+            includes="com/ibm/richtext/**/*"
+        excludes="com/ibm/richtext/test/**/*"
+            basedir="${build.dir}"
+            manifest="${richedit.manifest}"/>
+    </target>
+
+    <!--
+        Note:  I used to use -linkoffline http://java.sun.com/products/jdk/1.2/docs/api/ C:\jdk1.2.2\docs\api
+        This links to core docs on Sun's site - a very nice feature.  But it requires the 1.2 docs to be
+        on the build machine at a known location.
+    -->
+
+    <!-- the 'public' docs for richedit -->
+    <target name="richeditDocs" depends="init" description="build richedit javadoc">
+        <mkdir dir="${richedit.doc.dir}"/>
+        <javadoc  packagenames="com.ibm.richtext.demo,com.ibm.richtext.awtui,com.ibm.richtext.swingui,com.ibm.richtext.textpanel,com.ibm.richtext.styledtext,com.ibm.richtext.textlayout.attributes,com.ibm.richtext.print"
+            sourcepath="${src.dir}"
+            destdir="${richedit.doc.dir}"
+            nodeprecatedlist="true"
+            windowtitle="RichEdit Control"
+            doctitle="RichEdit Control"
+            encoding="iso-8859-1"
+            docencoding="iso-8859-1"
+            bottom="&lt;font size=-1>Copyright (c) 1998-2004 IBM Corporation and others.&lt;/font>"/>
+    </target>
+
+    <!-- richedit alphaworks distribution - jar and docs, but no source -->
+    <target name="richeditZip" depends="richeditJar,richeditDocs" description="build richedit zip file">
+        <!--Create a zip archive of the richedit jar and readme -->
+        <copy file="license.html" todir="${richedit.dir}"/>
+        <zip zipfile="${richedit.zip.file}"
+            basedir="${richedit.dir}"
+            includes="doc/**/*,richedit.jar,license.html"/>
+    </target>
+
+    <target name="check" depends="tests" description="run standard icu4j test suite">
+    <java classname="com.ibm.icu.dev.test.TestAll" fork="yes" failonerror="true">
+        <jvmarg value="-ea"/>  <!-- enable assertion checks -->
+        <arg value="-w"/>
+        <arg value="-n"/>
+        <classpath>
+            <pathelement path="${java.class.path}/"/>
+            <pathelement location="clover.jar"/>
+            <pathelement path="${build.dir}"/>
+        </classpath>
+    </java>
+    </target>
+
+    <target name="secureCheck" depends="testJar" description="run secure (applet-like) icu4j test suite">
+        <java classname="com.ibm.icu.dev.test.TestAll" fork="yes" failonerror="true">
+        <!-- jvmarg value="-verbose"/ -->
+        <!-- (use for debugging, LOTS of output) <jvmarg value="-Djava.security.debug=access:trace"/ -->
+        <!-- <jvmarg value="-Djava.security.debug=access:failure,domain"/> -->
+            <jvmarg value="-Djava.security.manager"/>
+            <jvmarg value="-Djava.security.policy=${src.dir}/com/ibm/icu/dev/test/security.policy"/>
+            <!-- jvmarg value="-Djava.security.debug=access:failure"/ -->
+            <arg value="-w"/>
+            <!-- arg value="Format/DateFormat/DateFormatTest/TestGenericTime"/ -->
+            <classpath>
+                <pathelement location="clover.jar"/>
+                <pathelement location="${jar.file}"/>
+                <pathelement location="${testjar.file}"/>
+            </classpath>
+        </java>
+    </target>
+	<target name="deleteData" depends="init" >
+       <delete failonerror="no">
+        	<fileset dir="${build.dir}/${icu4j.data.path}/../" includes="Holiday*.class"/>
+        	<fileset dir="${build.dir}/${icu4j.data.path}/../" includes="BreakIterator*.class"/>
+            <fileset dir="${build.dir}/${icu4j.data.path}"/>
+	        <fileset dir="${build.dir}/${icu4j.testdata.path}"/>
+	        <fileset dir="${build.dir}/${icu4j.testdata.path}../"/>                 
+	    </delete>
+	</target>		
+    <target name="noDataCheck" depends="core, tests, deleteData" description="runs the tests when no data is present">
+        <java classname="com.ibm.icu.dev.test.TestAll" fork="yes" failonerror="true">
+            <arg value="-nothrow"/>
+            <arg value="-nodata"/>
+            <classpath>
+                <pathelement location="clover.jar"/>
+                <pathelement location="${build.dir}"/>
+            </classpath>
+        </java>
+    </target>
+    <target name="_requires14" unless="version.1.4">
+        <echo message="One of your targets requires JAVA_HOME to be set to JDK version 1.4"/>
+    </target>
+
+    <target name="_checktags" depends="anthack1,anthack2,tools" if="version.1.4">
+        <echo message="doc params: ${doc.params}"/>
+        <javadoc sourcepath="${src.dir}"
+            packagenames="com.ibm.icu.*"
+            excludepackagenames="com.ibm.icu.dev.*,com.ibm.icu.impl.*"
+            classpath="${build.dir}"
+            source="1.4">
+            <doclet name="com.ibm.icu.dev.tool.docs.CheckTags"
+                path="${build.dir}">
+                <!-- <param name="-short"/> -->
+            </doclet>
+        </javadoc>
+    </target>
+
+    <target name="checktags" depends="anthack1,anthack2,_requires14,_checktags" description="check API tags before release"/>
+
+    <target name="gatherapi" depends="tools" if="version.1.4" description="run API database generator tool">
+        <javadoc classpath="${build.dir}"
+            sourcepath="${src.dir}"
+            packagenames="com.ibm.icu.lang,com.ibm.icu.math,com.ibm.icu.text,com.ibm.icu.util"
+            source="1.4">
+            <doclet name="com.ibm.icu.dev.tool.docs.GatherAPIData"
+                path="${build.dir}">
+                <param name="-name" value="ICU4J 3.4"/>
+                <param name="-output" value="${api.dir}/icu4j34.api"/>
+                <param name="-gzip"/>
+            </doclet>
+        </javadoc>
+    </target>
+
+    <target name="apireport" depends="tools" if="version.1.4" description="run API report generator tool">
+        <java classname="com.ibm.icu.dev.tool.docs.ReportAPI" classpath="${build.dir}" failonerror="true">
+            <arg value="-old:"/>
+            <arg value="${api.dir}/icu4j32.api.gz"/>
+            <arg value="-new:"/>
+            <arg value="${api.dir}/icu4j34.api.gz"/>
+            <arg value="-html"/>
+            <arg value="-out:"/>
+            <arg value="${api.dir}/icu4j_compare_32_34.html"/>
+            <!-- arg value="icu4j_compare_32_34.txt"/> -->
+        </java>
+    </target>
+
+    <target name="clean" depends="init" description="remove all build targets">
+        <delete dir="${build.dir}"/>
+        <delete dir="${doc.dir}"/>
+        <delete file="${jar.file}"/>
+        <delete dir="${richedit.dir}"/>
+    </target>
+
+    <!--
+        Targets to copy the required *.icu files
+     -->
+    <target name="normalizerData" depends="init" >
+        <unjar src="${src.dir}/com/ibm/icu/impl/data/icudata.jar" dest="${build.dir}">
+            <patternset>
+                <!-- arrgh, includes attributes of patternset does not work here in ant 1.5.3 -->
+                <include name="**/unorm.icu"/>
+                <include name="**/uprops.icu"/>
+                <include name="**/pnames.icu"/>
+                <include name="**/unames.icu"/>
+            </patternset>
+        </unjar>
+        <touch file="${build.dir}/${icu4j.data.path}/uprops.icu"/>
+    </target>
+
+    <target name="copyFullPropsData" depends="init" >
+        <unjar src="${src.dir}/com/ibm/icu/impl/data/icudata.jar" dest="${build.dir}">
+            <patternset>
+                <!-- arrgh, includes attributes of patternset does not work here in ant 1.5.3 -->
+                <include name="**/unorm.icu"/>
+                <include name="**/uprops.icu"/>
+                <include name="**/ubidi.icu"/>
+                <include name="**/ucase.icu"/>
+                <include name="**/unames.icu"/>
+                <include name="**/pnames.icu"/>
+                <include name="**/*.res"/>
+                <include name="**/*.brk"/>
+                <exclude name="**/coll/*.res"/>
+                <exclude name="**/translit/*.res"/>
+                <exclude name="**/rbnf/*.res"/>
+            </patternset>
+        </unjar>
+        <touch file="${build.dir}/${icu4j.data.path}/uprops.icu"/>
+    </target>
+
+    <target name="copyBasicPropsData" depends="init" >
+        <unjar src="${src.dir}/com/ibm/icu/impl/data/icudata.jar" dest="${build.dir}">
+            <patternset>
+                <!-- arrgh, includes attributes of patternset does not work here in ant 1.5.3 -->
+                <include name="**/unorm.icu"/>
+                <include name="**/uprops.icu"/>
+                <include name="**/ubidi.icu"/>
+                <include name="**/ucase.icu"/>
+                <include name="**/pnames.icu"/>
+                <include name="**/unames.icu"/>
+            </patternset>
+        </unjar>
+        <touch file="${build.dir}/${icu4j.data.path}/uprops.icu"/>
+    </target>
+
+    <target name="copyCollatorData" depends="init">
+        <unjar src="${src.dir}/com/ibm/icu/impl/data/icudata.jar" dest="${build.dir}">
+            <patternset>
+                <!-- arrgh, includes attributes of patternset does not work here in ant 1.5.3 -->
+                <include name="**/*.icu"/>
+                <include name="**/coll/*.res"/>
+                <include name="**/*.brk"/>
+            </patternset>
+        </unjar>
+        <touch file="${build.dir}/${icu4j.data.path}/uprops.icu"/>
+    </target>
+
+    <target name="copyCalendarData" depends="init">
+        <!-- Calendar does not require Collation data, BreakIterator data -->
+        <unjar src="${src.dir}/com/ibm/icu/impl/data/icudata.jar" dest="${build.dir}">
+            <patternset>
+                <!-- arrgh, includes attributes of patternset does not work here in ant 1.5.3 -->
+                <include name="**/unorm.icu"/>
+                <include name="**/uprops.icu"/>
+                <include name="**/pnames.icu"/>
+                <include name="**/unames.icu"/>
+                <include name="**/*.res"/>
+                <exclude name="**/coll/*.res"/>
+                <exclude name="**/translit/*.res"/>
+                <exclude name="**/rbnf/*.res"/>
+            </patternset>
+        </unjar>
+        <touch file="${build.dir}/${icu4j.data.path}/uprops.icu"/>
+    </target>
+    <target name="copyTranslitData" depends="init">
+        <!-- Calendar does not require Collation data, BreakIterator data -->
+        <unjar src="${src.dir}/com/ibm/icu/impl/data/icudata.jar" dest="${build.dir}">
+            <patternset>
+                <!-- arrgh, includes attributes of patternset does not work here in ant 1.5.3 -->
+                <include name="**/unorm.icu"/>
+                <include name="**/uprops.icu"/>
+                <include name="**/ubidi.icu"/>
+                <include name="**/ucase.icu"/>
+                <include name="**/unames.icu"/>
+                <include name="**/pnames.icu"/>
+                <include name="**/*.brk"/>
+                <include name="**/translit/*.res"/>
+            </patternset>
+        </unjar>
+        <touch file="${build.dir}/${icu4j.data.path}/uprops.icu"/>
+    </target>
+    
+    <target name="copyFormatData" depends="init" if="icu4j.module.resources">
+        <!-- Format does not require BreakIterator data -->
+        <unjar src="${src.dir}/com/ibm/icu/impl/data/icudata.jar" dest="${build.dir}">
+            <patternset>
+                <!-- arrgh, includes attributes of patternset does not work here in ant 1.5.3 -->
+                <include name="**/*.icu"/>
+                <include name="**/*.res"/>
+                <exclude name="**/translit/*.res"/>
+            </patternset>
+        </unjar>
+        <touch file="${build.dir}/${icu4j.data.path}/uprops.icu"/>
+    </target>
+    
+    <target name="copyAllICUData" depends="init">
+        <unjar src="${src.dir}/com/ibm/icu/impl/data/icudata.jar" dest="${build.dir}"/>
+    </target>
+
+    <target name="moduleJar" depends="init" description="modular build of 'icu4j.jar' jar file">
+        <jar jarfile="${jar.file}"
+            compress="true"
+            includes="com/ibm/icu/util/**/*,com/ibm/icu/text/**/*,com/ibm/icu/math/**/*,com/ibm/icu/impl/**/*,com/ibm/icu/lang/**/*"
+            basedir="${build.dir}"
+            manifest="${icu4j.module.manifest}"/>
+    </target>
+
+    <!--
+         Targets to build only Normalization API and Normalization tests
+     -->
+
+    <target name="normalizer" depends="init,normalizerData" description="modular build of normalizer services">
+        <javac includes="com/ibm/icu/text/Normalizer.java,com/ibm/icu/text/CanonicalIterator.java,com/ibm/icu/text/UTF16.java,com/ibm/icu/text/UCharacterIterator.java,com/ibm/icu/text/UForwardCharacterIterator.java,com/ibm/icu/text/Replaceable.java,com/ibm/icu/text/ReplaceableString.java,com/ibm/icu/text/UnicodeFilter.java,com/ibm/icu/text/UnicodeSetIterator.java,com/ibm/icu/lang/**/*"
+            excludes="**/CVS/**/*,com/ibm/icu/lang/UScriptRun.java, com/ibm/icu/impl/ICUListResourceBundle.java, com/ibm/icu/impl/UtilityExtensions.java,com/ibm/icu/impl/TrieBuilder.java,com/ibm/icu/impl/IntTrieBuilder.java,com/ibm/icu/impl/BOCU.java,com/ibm/icu/impl/UnicodeCharacterIterator.java"
+            srcdir="${src.dir}"
+            destdir="${build.dir}"
+            source="${icu4j.javac.source}"
+            target="${icu4j.javac.target}"
+            classpathref="build.classpath"
+            debug="on" deprecation="off"/>
+    </target>
+
+    <target name="normalizerTests" depends="normalizer">
+        <javac includes="com/ibm/icu/dev/test/TestFmwk.java,com/ibm/icu/dev/test/TestLog.java,com/ibm/icu/dev/test/TestUtil.java,com/ibm/icu/dev/test/UTF16Util.java,com/ibm/icu/dev/test/TestAll.java,com/ibm/icu/dev/test/normalizer/**/*.java"
+            excludes="**/CVS/**/*,com/ibm/icu/dev/test/normalizer/TestDeprecatedNormalizerAPI.java"
+            srcdir="${src.dir}"
+            destdir="${build.dir}"
+            source="${icu4j.javac.source}"
+            target="${icu4j.javac.target}"
+            classpathref="build.classpath"
+            debug="on" deprecation="off"/>
+    </target>
+
+    <!--
+            Targets to build only Collation API and Collation tests
+     -->
+
+    <target name="collator" depends="init,copyCollatorData" description="modular build of collator services">
+         <javac includes="com/ibm/icu/text/*Collator*.java,com/ibm/icu/text/*Collation*.java,com/ibm/icu/text/*BreakIterator*.java,com/ibm/icu/text/Normalizer.java,com/ibm/icu/text/UTF16.java,com/ibm/icu/text/Replaceable.java,com/ibm/icu/text/ReplaceableString.java,com/ibm/icu/text/UnicodeFilter.java,com/ibm/icu/text/UnicodeSetIterator.java, com/ibm/icu/impl/data/*Break*.java"
+            excludes="**/CVS/**/*, com/ibm/icu/lang/UScriptRun.java,com/ibm/icu/impl/UtilityExtensions.java,com/ibm/icu/impl/UnicodeCharacterIterator.java"
+            srcdir="${src.dir}"
+            destdir="${build.dir}"
+            classpathref="build.classpath"
+            source="${icu4j.javac.source}"
+            target="${icu4j.javac.target}"
+            debug="on" deprecation="off"/>
+    </target>
+
+    <target name="collatorTests" depends="collator" description="test collator modular build target">
+        <javac includes="com/ibm/icu/dev/test/TestFmwk.java,com/ibm/icu/dev/test/TestLog.java,com/ibm/icu/dev/test/TestUtil.java,com/ibm/icu/dev/test/UTF16Util.java,com/ibm/icu/dev/test/TestAll.java,com/ibm/icu/dev/test/collator/**/*.java,com/ibm/icu/dev/test/search/**/*.java"
+            excludes="**/CVS/**/*, com/ibm/icu/dev/test/collator/RandomCollator.java"
+            srcdir="${src.dir}"
+            destdir="${build.dir}"
+            classpathref="build.classpath"
+            source="${icu4j.javac.source}"
+            target="${icu4j.javac.target}"
+            debug="on" deprecation="off"/>
+    </target>
+
+    <!--
+            Targets to build only Character properties API and tests
+     -->
+
+    <target name="propertiesBasic" depends="init, propertiesClasses, copyBasicPropsData" description="modular build of basic character properties">
+    </target>
+
+    <target name="propertiesFull" depends="init,propertiesClasses,copyFullPropsData" description="modular build of full character properties">
+    </target>
+    
+    <target name="propertiesClasses">
+        <javac includes="com/ibm/icu/lang/**/*, com/ibm/icu/text/*BreakIterator*.java,com/ibm/icu/text/*BreakDictionary*.java,com/ibm/icu/impl/data/*Break*.java,com/ibm/icu/text/UnicodeSetIterator.java,"
+            excludes="**/CVS/**/*,com/ibm/icu/impl/UtilityExtensions.java"
+            srcdir="${src.dir}"
+            destdir="${build.dir}"
+            source="${icu4j.javac.source}"
+            target="${icu4j.javac.target}"
+            classpathref="build.classpath"
+            debug="on" deprecation="off"/>
+    </target>
+    <target name="propertiesBasicTests" depends="propertiesBasic" description="test propertiesBasic modular build target">
+        <copy file="${src.dir}/com/ibm/icu/dev/data/unicode/SpecialCasing.txt"
+            todir="${build.dir}/com/ibm/icu/dev/data/unicode/"/>
+        <javac includes="com/ibm/icu/dev/test/TestFmwk.java,com/ibm/icu/dev/test/TestLog.java,com/ibm/icu/dev/test/TestUtil.java,com/ibm/icu/dev/test/UTF16Util.java,com/ibm/icu/dev/test/TestAll.java,com/ibm/icu/dev/test/lang/**/*.java"
+            excludes="**/CVS/**/*,com/ibm/icu/dev/test/lang/TestUScriptRun.java"
+            srcdir="${src.dir}"
+            destdir="${build.dir}"
+            classpathref="build.classpath"
+            source="${icu4j.javac.source}"
+            target="${icu4j.javac.target}"
+            debug="on" deprecation="off"/>
+    </target>
+
+    <target name="propertiesFullTests" depends="propertiesFull" description="test propertiesFull modular build target">
+        <copy file="${src.dir}/com/ibm/icu/dev/data/unicode/SpecialCasing.txt"
+            todir="${build.dir}/com/ibm/icu/dev/data/unicode/"/>
+        <javac includes="com/ibm/icu/dev/test/TestFmwk.java,com/ibm/icu/dev/test/TestLog.java,com/ibm/icu/dev/test/TestUtil.java,com/ibm/icu/dev/test/UTF16Util.java,com/ibm/icu/dev/test/TestAll.java,com/ibm/icu/dev/test/lang/**/*.java"
+            excludes="**/CVS/**/*,com/ibm/icu/dev/test/lang/TestUScriptRun.java"
+            srcdir="${src.dir}"
+            destdir="${build.dir}"
+            classpathref="build.classpath"
+            source="${icu4j.javac.source}"
+            target="${icu4j.javac.target}"
+            debug="on" deprecation="off"/>
+    </target>
+    
+    <!--
+            Targets to build only Compression API API and tests
+     -->
+    <target name="compression" depends="init" description="modular build of compression services">
+        <javac includes="com/ibm/icu/text/SCSU.java, com/ibm/icu/text/UnicodeCompressor.java, com/ibm/icu/text/UnicodeDecompressor.java"
+            excludes="**/CVS/**/*"
+            srcdir="${src.dir}"
+            destdir="${build.dir}"
+            source="${icu4j.javac.source}"
+            target="${icu4j.javac.target}"
+            classpathref="build.classpath"
+            debug="on" deprecation="off"/>
+    </target>
+
+    <target name="compressionTests" depends="compression" description="test compression modular build target">
+        <javac includes="com/ibm/icu/dev/test/TestFmwk.java,com/ibm/icu/dev/test/TestLog.java,com/ibm/icu/dev/test/TestUtil.java,com/ibm/icu/dev/test/UTF16Util.java,com/ibm/icu/dev/test/TestAll.java,com/ibm/icu/dev/test/compression/**/*.java"
+            excludes="**/CVS/**/*"
+            srcdir="${src.dir}"
+            destdir="${build.dir}"
+            classpathref="build.classpath"
+            source="${icu4j.javac.source}"
+            target="${icu4j.javac.target}"
+            debug="on" deprecation="off"/>
+    </target>
+
+    <!--
+            Targets to build only Calendar API and Calendar tests
+     -->
+    <target name="calendar" depends="init,copyCalendarData" description="modular build of calendar services">
+        <javac includes="com/ibm/icu/util/*Calendar*.java,com/ibm/icu/lang/UCharacter.java,com/ibm/icu/text/UnicodeSetIterator.java,com/ibm/icu/text/NumberFormat*Shim.java,com/ibm/icu/impl/data/*Calendar*.java,com/ibm/icu/impl/data/*Holiday*.java"
+            excludes="**/CVS/**/*, com/ibm/icu/lang/UScriptRun.java,com/ibm/icu/impl/UtilityExtensions.java,com/ibm/icu/impl/BOCU.java,com/ibm/icu/impl/TrieBuilder.java,com/ibm/icu/impl/IntTrieBuilder.java"
+            srcdir="${src.dir}"
+            destdir="${build.dir}"
+            source="${icu4j.javac.source}"
+            target="${icu4j.javac.target}"
+            classpathref="build.classpath"
+            debug="on" deprecation="off"/>
+    </target>
+
+    <target name="calendarTests" depends="calendar" description="test calendar modular build target">
+        <javac includes="com/ibm/icu/dev/test/TestFmwk.java,com/ibm/icu/dev/test/TestLog.java,com/ibm/icu/dev/test/TestUtil.java,com/ibm/icu/dev/test/UTF16Util.java,com/ibm/icu/dev/test/TestAll.java,com/ibm/icu/dev/test/calendar/**/*"
+            excludes="**/CVS/**/*"
+            srcdir="${src.dir}"
+            destdir="${build.dir}"
+            classpathref="build.classpath"
+            source="${icu4j.javac.source}"
+            target="${icu4j.javac.target}"
+            debug="on" deprecation="off"/>
+    </target>
+
+    <!--
+            Targets to build only Transliterator API and  tests
+     -->
+
+    <target name="transliterator" depends="init,propertiesClasses,copyTranslitData" description="modular build of unicode transform services">
+        <javac includes="com/ibm/icu/text/*Transliterator*.java,com/ibm/icu/text/UnicodeSetIterator.java,com/ibm/icu/impl/*Property*.java,com/ibm/icu/impl/*Iterator*.java,com/ibm/icu/impl/data/ResourceReader.java,com/ibm/icu/impl/UtilityExtensions.java"
+            excludes="**/CVS/**/*, com/ibm/icu/lang/UScriptRun.java,com/ibm/icu/impl/BOCU.java,com/ibm/icu/impl/TrieBuilder.java,com/ibm/icu/impl/IntTrieBuilder.java,com/ibm/icu/text/UnicodeFilterLogic*.java"
+            srcdir="${src.dir}"
+            destdir="${build.dir}"
+            source="${icu4j.javac.source}"
+            target="${icu4j.javac.target}"
+            classpathref="build.classpath"
+            debug="on" deprecation="off"/>
+    </target>
+
+    <target name="transliteratorTests" depends="transliterator" description = "test transliterator modular build target">
+        <javac includes="com/ibm/icu/dev/test/TestFmwk.java,com/ibm/icu/dev/test/TestLog.java,com/ibm/icu/dev/test/TestUtil.java,com/ibm/icu/dev/test/UTF16Util.java,com/ibm/icu/dev/test/TestAll.java,com/ibm/icu/dev/test/translit/**/*"
+            excludes="**/CVS/**/*,com/ibm/icu/dev/test/translit/UnicodeFilterLogic*.java"
+            srcdir="${src.dir}"
+            destdir="${build.dir}"
+            classpathref="build.classpath"
+            source="${icu4j.javac.source}"
+            target="${icu4j.javac.target}"
+            debug="on" deprecation="off"/>
+    </target>
+
+    <!--
+            Targets to build only Format API
+     -->
+
+    <target name="format" depends="init,copyFormatData" description="modular build of formatting services">
+        <javac includes="com/ibm/icu/text/*Format*.java,com/ibm/icu/lang/UCharacter.java,com/ibm/icu/text/*Collator*.java,com/ibm/icu/text/UnicodeSetIterator.java,com/ibm/icu/impl/data/CalendarData*.java"
+            excludes="**/CVS/**/*, com/ibm/icu/lang/UScriptRun.java,com/ibm/icu/impl/UtilityExtensions.java,com/ibm/icu/impl/BOCU.java,com/ibm/icu/impl/TrieBuilder.java,com/ibm/icu/impl/IntTrieBuilder.java"
+            srcdir="${src.dir}"
+            destdir="${build.dir}"
+            source="${icu4j.javac.source}"
+            target="${icu4j.javac.target}"
+            classpathref="build.classpath"
+            debug="on" deprecation="off"/>
+    </target>
+
+    <target name="formatTests" depends="format" description="test format modular build target">
+        <javac includes="com/ibm/icu/dev/test/TestFmwk.java,com/ibm/icu/dev/test/TestLog.java,com/ibm/icu/dev/test/TestUtil.java,com/ibm/icu/dev/test/UTF16Util.java,com/ibm/icu/dev/test/TestAll.java,com/ibm/icu/dev/test/format/**/*"
+            excludes="**/CVS/**/*"
+            srcdir="${src.dir}"
+            destdir="${build.dir}"
+            classpathref="build.classpath"
+            source="${icu4j.javac.source}"
+            target="${icu4j.javac.target}"
+            debug="on" deprecation="off"/>
+        <copy file="${src.dir}/com/ibm/icu/dev/test/format/NumberFormatTestCases.txt"
+            todir="${build.dir}/com/ibm/icu/dev/test/format"/>
+    </target>
+
+    <!--
+            Targets to build only BreakIterator API
+     -->
+
+    <target name="breakIterator" depends="init,copyFullPropsData" description="modular build of break iterator services">
+        <javac includes="com/ibm/icu/text/*BreakIterator*.java,com/ibm/icu/impl/data/*Break*.java,com/ibm/icu/lang/**/*,com/ibm/icu/impl/UCharacterName.java,com/ibm/icu/text/UnicodeSetIterator.java"
+            excludes="**/CVS/**/*, com/ibm/icu/lang/UScriptRun.java,com/ibm/icu/impl/UtilityExtensions.java,com/ibm/icu/impl/BOCU.java,com/ibm/icu/impl/TrieBuilder.java,com/ibm/icu/impl/IntTrieBuilder.java"
+            srcdir="${src.dir}"
+            destdir="${build.dir}"
+            source="${icu4j.javac.source}"
+            target="${icu4j.javac.target}"
+            classpathref="build.classpath"
+            debug="on" deprecation="off"/>
+            <copy file="${src.dir}/com/ibm/icu/impl/data/th.brk"
+                todir="${build.dir}/com/ibm/icu/impl/data/"/>
+    </target>
+
+    <target name="breakIteratorTests" depends="breakIterator" description="test breakIterator modular build target">
+        <javac includes="com/ibm/icu/dev/test/TestFmwk.java,com/ibm/icu/dev/test/TestLog.java,com/ibm/icu/dev/test/TestUtil.java,com/ibm/icu/dev/test/UTF16Util.java,com/ibm/icu/dev/test/TestAll.java,com/ibm/icu/dev/test/rbbi/**/*"
+            excludes="**/CVS/**/*"
+            srcdir="${src.dir}"
+            destdir="${build.dir}"
+            classpathref="build.classpath"
+            source="${icu4j.javac.source}"
+            target="${icu4j.javac.target}"
+            debug="on" deprecation="off"/>
+        <copy file="${src.dir}/com/ibm/icu/dev/test/rbbi/rbbitst.txt"
+            todir="${build.dir}/com/ibm/icu/dev/test/rbbi"/>
+    </target>
+    
+    <!--
+            Targets to build only StringPrep and IDNA API
+     -->    
+    <target name="copyStringPrepData" depends="init">
+        <unjar src="${src.dir}/com/ibm/icu/impl/data/icudata.jar" dest="${build.dir}">
+            <patternset>
+                <!-- arrgh, includes attributes of patternset does not work here in ant 1.5.3 -->
+                <include name="**/*.spp"/>
+                <include name="**/ubidi.icu"/>
+                <include name="**/ucase.icu"/>
+                <include name="**/unorm.icu"/>
+                <include name="**/uprops.icu"/>
+                <include name="**/pnames.icu"/>
+                <include name="**/unames.icu"/>
+            </patternset>
+        </unjar>
+    </target>
+
+    <target name="stringPrep" depends="init,normalizer,copyStringPrepData" description="modular build of stringprep services">
+        <javac includes="com/ibm/icu/text/*StringPrep*.java,com/ibm/icu/text/*IDNA*.java,com/ibm/icu/impl/*StringPrep*.java"
+            excludes="**/CVS/**/*, com/ibm/icu/lang/UScriptRun.java,com/ibm/icu/impl/UtilityExtensions.java,com/ibm/icu/impl/BOCU.java,com/ibm/icu/impl/TrieBuilder.java,com/ibm/icu/impl/IntTrieBuilder.java, com/ibm/icu/impl/Calendar*.java"
+            srcdir="${src.dir}"
+            destdir="${build.dir}"
+            source="${icu4j.javac.source}"
+            target="${icu4j.javac.target}"
+            classpathref="build.classpath"
+            debug="on" deprecation="off"/>
+    </target>
+
+    <target name="stringPrepTests" depends="stringPrep" description="test stringPrep modular build target">
+        <javac includes="com/ibm/icu/dev/test/TestFmwk.java,com/ibm/icu/dev/test/TestLog.java,com/ibm/icu/dev/test/TestUtil.java,com/ibm/icu/dev/test/UTF16Util.java,com/ibm/icu/dev/test/TestAll.java,com/ibm/icu/dev/test/stringprep/**/*"
+            excludes="**/CVS/**/*"
+            srcdir="${src.dir}"
+            destdir="${build.dir}"
+            classpathref="build.classpath"
+            source="${icu4j.javac.source}"
+            target="${icu4j.javac.target}"
+            debug="on" deprecation="off"/>
+        <unjar src="${src.dir}/com/ibm/icu/dev/data/testdata.jar" dest="${build.dir}">
+            <patternset>
+                <include name="**/*.spp"/>
+                <include name="**/idna_rules.res"/>
+            </patternset>
+        </unjar>
+    </target>
+
+    <!-- build the extra Transliterator data pertaining to Han-Latin transliteration -->
+    <target name="extraTransliteratorData" depends="init" description="build han-to-latin transliterator data (normally omitted)">
+        <copy todir="${build.dir}/com/ibm/icu/impl/data">
+            <fileset dir="${src.dir}/com/ibm/icu/impl/data" includes="Transliterator_Han_Latin_*.txt"/>
+        </copy>
+    </target>
+
+    <!-- Target for builing XLIFF2ICUConverter Jar -->
+
+    <target name="xliff" depends="init" description="build xliff converter tool">
+        <javac includes="com/ibm/icu/dev/tool/localeconverter/XLIFF2ICUConverter.java,com/ibm/icu/dev/tool/localeconverter/CalculateCRC32.java,com/ibm/icu/dev/tool/UOption.java,com/ibm/icu/dev/tool/xmlcomparator/XMLValidator.java"
+            srcdir="${src.dir}"
+            destdir="${build.dir}"
+            classpathref="build.classpath"
+            source="${icu4j.javac.source}"
+            target="${icu4j.javac.target}"
+            debug="on" deprecation="off"/>
+        <jar jarfile="xliff.jar"
+            compress="true"
+            includes="com/ibm/icu/dev/tool/localeconverter/XLIFF2ICUConverter*.class,com/ibm/icu/dev/tool/localeconverter/CalculateCRC32.class,com/ibm/icu/dev/tool/UOption.class,com/ibm/icu/dev/tool/xmlcomparator/XMLValidator*.class"
+            basedir="${build.dir}"
+            manifest="${icu4j.module.manifest}"/>
+     </target>
+     
+    <!-- Target for builing Utilities Jar for CLDR -->
+
+    <target name="cldrUtil" depends="init" description="build Utilities for CLDR">
+        <javac includes="com/ibm/icu/dev/test/util/*.java,com/ibm/icu/dev/test/TestFmwk.java,com/ibm/icu/dev/tool/UOption.java"
+            srcdir="${src.dir}"
+            destdir="${build.dir}"
+            source="${icu4j.javac.source}"
+            target="${icu4j.javac.target}"
+            classpathref="build.classpath"
+            debug="on" deprecation="off"/>
+        <jar jarfile="utilities.jar"
+            compress="true"
+            includes="com/ibm/icu/dev/test/util/*.class,com/ibm/icu/dev/test/TestFmwk*.class,com/ibm/icu/dev/test/AbstractTest*.class,com/ibm/icu/dev/test/TestLog*.class,com/ibm/icu/dev/tool/UOption*.class"
+            basedir="${build.dir}"
+            manifest="${cldr.util.manifest}"/>
+     </target>
+     <!--Target for building jars -->
+     <target name="distJars" depends="jarSrc, jar, jarDocs" />    
+</project>
diff --git a/license.html b/license.html
new file mode 100644
index 0000000..4fe2e00
--- /dev/null
+++ b/license.html
@@ -0,0 +1,34 @@
+<html>
+
+<head>
+<title>ICU4J license - ICU4J 1.3.1 and later</title>
+</head>
+
+<body BGCOLOR="#ffffff">
+<h2>ICU4J license - ICU4J 1.3.1 and later</h2>
+
+<p>COPYRIGHT AND PERMISSION NOTICE</p>
+
+<p>
+Copyright (c) 1995-2005 International Business Machines Corporation and others
+</p>
+<p>
+All rights reserved.
+</p>
+<p>
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, and/or sell copies of the Software, and to permit persons
+to whom the Software is furnished to do so, provided that the above copyright notice(s) and this permission notice appear in all copies of the Software and that both the above copyright notice(s) and this permission notice appear in supporting documentation.
+</p>
+<p>
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+</p>
+<p>
+Except as contained in this notice, the name of a copyright holder shall not be used in advertising or otherwise to promote the sale, use or other dealings in this Software without prior written authorization of the copyright holder.
+</p>
+
+<hr>
+<small>
+All trademarks and registered trademarks mentioned herein are the property of their respective owners.
+</small>
+</body>
+</html>
diff --git a/readme.html b/readme.html
new file mode 100644
index 0000000..2f683fb
--- /dev/null
+++ b/readme.html
@@ -0,0 +1,1366 @@
+<!DOCTYPE html PUBLIC "-//w3c//dtd html 4.0 transitional//en">
+<html>
+<head>
+  <meta http-equiv="Content-Type"
+ content="text/html; charset=iso-8859-1">
+  <meta http-equiv="Content-Style-Type" content="text/css2">
+  <title>ReadMe for ICU4J</title>
+<!--
+*******************************************************************************
+* Copyright (C) 2000-2005, International Business Machines Corporation and    *
+* others. All Rights Reserved.                                                *
+*******************************************************************************
+-->
+  <style type="text/css">
+h3.doc { background: #CCCCFF }
+  </style>
+</head>
+<body style="background-color: rgb(255, 255, 255);" lang="EN-US"
+ link="#0000ff" vlink="#800080">
+<h2>International Components for Unicode for Java (ICU4J)</h2>
+<h3>Read Me for ICU4J 3.4</h3>
+<hr size="2" width="100%">
+<p><b>Release Date</b><br>
+Jul 31, 2005<br>
+</p>
+<p>For the most recent release, see the <a
+ href="http://www.ibm.com/software/globalization/icu/downloads.jsp"> ICU4J
+download site</a>. </p>
+<h3 class="doc">Contents</h3>
+<ul type="disc">
+  <li><a href="#introduction">Introduction to ICU4J</a></li>
+  <li><a href="#news">What Is New In This Release?</a></li>
+  <li><a href="#license">License Information</a></li>
+  <li><a href="#PlatformDependencies">Platform Dependencies</a></li>
+  <li><a href="#download">How to Download ICU4J</a></li>
+  <li><a href="#WhatContain">The Structure and Contents of ICU4J</a></li>
+  <li><a href="#API">Where to Get Documentation</a></li>
+  <li><a href="#HowToInstallJavac">How to Install and Build</a></li>
+  <li><a href="#HowToModularize">How to modularize ICU4J</a></li>
+  <li><a href="#tryingout">Trying Out ICU4J</a></li>
+  <li><a href="#resources">ICU4J Resource Information</a></li>
+  <li><a href="#WhereToFindMore">Where to Find More Information</a></li>
+  <li><a href="#SubmittingComments">Submitting Comments, Requesting
+Features and Reporting Bugs</a></li>
+</ul>
+<h3 class="doc"><a name="introduction"></a>Introduction to ICU4J</h3>
+<p>The International Components for Unicode (ICU) library provides
+robust and
+full-featured Unicode services on a wide variety of platforms. ICU
+supports the
+most current version of the Unicode standard, including support for
+supplementary characters (needed for GB 18030 repertoire support).</p>
+<p>Java provides a strong foundation for global programs, and IBM and
+the
+ICU team played a key role in providing globalization technology to
+Java. But because of its long release schedule, Java cannot always keep
+up with evolving standards. The ICU team continues to extend Java's
+Unicode and internationalization support, focusing on improving
+performance,
+keeping current with the Unicode standard, and providing richer APIs,
+while
+remaining as compatible as possible with the original Java text and
+internationalization API design.</p>
+<p>ICU4J is an add-on to the regular JVM that provides:
+</p>
+<ul>
+  <li><a
+ href="http://icu.sourceforge.net/userguide/Collate_Intro.html"><b>Collation</b></a>
+&#8211; rule-based, up-to-date Unicode Collation Algorithm (UCA) sorting order<br>
+&nbsp;&nbsp;&nbsp;&nbsp;For fast multilingual string comparison; faster
+and more complete than
+the JDK</li>
+  <li><a href="http://icu.sourceforge.net/userguide/strings.html"><b>Supplementary
+Characters</b></a> &#8211; String manipulation and character properties<br>
+&nbsp;&nbsp;&nbsp;&nbsp;Required for proper GB 18030 and JIS 213
+repertoire support</li>
+  <li><a href="http://icu.sourceforge.net/userguide/charset.html"><b>Charset
+Detection</b></a> &#8211; Recognition of various single and multibyte charsets<br>
+&nbsp;&nbsp;&nbsp;&nbsp;Useful for recognizing untagged text data</li>
+  <li><a
+ href="http://icu.sourceforge.net/userguide/unicodeSet.html"><b>UnicodeSet</b></a>
+&#8211; standard set operations optimized for sets of Unicode characters<br>
+&nbsp;&nbsp;&nbsp;&nbsp;UnicodeSets can be built from string patterns
+using any Unicode properties.</li>
+  <li><a href="http://icu.sourceforge.net/userguide/Transform.html"><b>Transforms</b></a>
+&#8211; a flexible mechanism for Unicode text conversions<br>
+&nbsp;&nbsp;&nbsp;&nbsp;Including Full/Halfwidth conversions,
+Normalization, Case conversions, Hex
+conversions, and transliterations between scripts (50+ pairs)</li>
+  <li><a
+ href="http://icu.sourceforge.net/userguide/normalization.html"><b>Unicode
+Normalization</b></a> &#8211; NFC, NFD, NFKD, NFKC<br>
+&nbsp;&nbsp;&nbsp;&nbsp;For canonical text representations, needed for
+XML and the net</li>
+  <li><a
+ href="http://icu.sourceforge.net/userguide/dateCalendar.html"><b>International
+Calendars</b></a> &#8211; Arabic, Buddhist, Hebrew, and Japanese calendars<br>
+&nbsp;&nbsp;&nbsp;&nbsp;Required for correct presentation of dates in
+certain countries</li>
+  <li><a
+ href="http://icu.sourceforge.net/userguide/formatNumbers.html"><b>Number
+Format
+Enhancements</b></a> &#8211; Scientific Notation, Spelled-out, etc.<br>
+&nbsp;&nbsp;&nbsp;&nbsp;Enhancements to the normal Java number
+formatting. The spell-out format is
+used for checks and similar documents</li>
+  <li><a
+ href="http://icu.sourceforge.net/userguide/boundaryAnalysis.html"><b>Enhanced
+Word-Break Detection</b></a> &#8211; Rule-based, supports Thai<br>
+&nbsp;&nbsp;&nbsp;&nbsp;Required for correct support of Thai</li>
+  <li><a
+ href="http://icu.sourceforge.net/userguide/compression.html"><b>Unicode
+Text
+Compression</b></a> &#8211; Standard compression of Unicode text<br>
+&nbsp;&nbsp;&nbsp;&nbsp;Suitable for large numbers of small fields,
+where LZW and similar schemes
+do not apply</li>
+</ul>
+<blockquote>
+  <p><b>Note:</b> We continue to provide assistance to Sun, and in some
+cases, ICU4J support has been rolled into a later release of Java. For
+example, the Thai word-break is now in Java 1.4. However, the most
+current and complete version is always found in ICU4J.</p>
+</blockquote>
+<!--
+
+<p><b>ICU4J is an add-on library that extends Java's globalization
+
+    technology.</b> Java provides a strong foundation for global
+
+    programs, but Java does not yet provide all the globalization
+
+    features that some products require.  IBM played a key role in
+
+    providing globalization technology to Sun for use in Java.  Over
+
+    the past seven years, the ICU team has continued to enhance and
+
+    extend this technology.  IBM makes this technology available
+
+    in Java through the ICU4J open-source project.</p>
+
+
+
+<p>ICU4J provides the following tools:
+
+    <ul>
+
+    <li><b>Unicode Normalization</b> &#8211; NFC, NFD, NFKD, NFKC<br>
+
+        &nbsp;&nbsp;&nbsp;&nbsp;Produces canonical text representations, needed for XML and the net.
+
+    <li><b>International Calendars</b> &#8211; Arabic, Buddhist, Hebrew, and Japanese<br>
+
+        &nbsp;&nbsp;&nbsp;&nbsp;Required for correct presentation of dates in some countries.
+
+    <li><b>Number Format Enhancements</b> &#8211; Scientific Notation, Spelled-out Numbers<br>
+
+        &nbsp;&nbsp;&nbsp;&nbsp;Enhances standard Java number formatting. The spelled-out format is used
+
+for checks and similar documents.
+
+    <li><b>Enhanced word-break detection</b> &#8211; Rule-based, supports Thai<br>
+
+        &nbsp;&nbsp;&nbsp;&nbsp;Required for correct support of Thai.
+
+    <li><b>Unicode Text Compression</b> &#8211; Standard compression of Unicode text<br>
+
+        &nbsp;&nbsp;&nbsp;&nbsp;Suitable for large numbers of small fields, where LZW and similar schemes
+
+do not apply.
+
+    <li><b>Collation</b> &#8211; Rule-based, up-to-date Unicode Collation Algorithm (UCA) sorting order<br>
+
+        &nbsp;&nbsp;&nbsp;&nbsp;For fast multilingual string comparison
+
+    <li><b>Transforms</b> &#8211; Rule-based transformations of unicode data<br>
+
+        &nbsp;&nbsp;&nbsp;&nbsp;Useful for analysis and transliteration
+
+    </ul>
+
+        
+
+In some cases, the above support has been rolled into a later release of
+
+Java. For example, the Thai word-break is now in Java 1.4. However, the most
+
+current and complete version of this support is always found in ICU4J.
+
+-->
+<h3 class="doc"><a name="news"></a>What Is New In This Release?</h3>
+<ul>
+  <li><a href="#News_Standards">Unicode 4.1, CLDR 1.3 Support</a></li>
+  <li><a href="#News_Charset">New Charset Detection API</a></li>
+  <li><a href="#News_DateFormat">Improved Date Formatting</a></li>
+  <li><a href="#News_Calendars">Additional Calendar Support</a></li>
+  <li><a href="#News_Compat">Increased API compatibility with JDK</a></li>
+</ul>
+<p>A complete report of the API changes between version 3.4 and
+version 3.2 of ICU4J can be found 
+<a href="APIChangeReport.html">here</a>.  This report is generated by a
+tool and has some limitations, the most notable of which is that it
+does not properly reflect the effect of class inheritance
+changes. Also of course, being generated by a tool, the report does
+not provide explanation or commentary on the changes. For background
+information and clarification of changes it's always recommended that
+you check the mailing list and archives.</p>
+
+<h4><a name="News_Standards" id="News_Standards">Unicode 4.1, CLDR 1.3 Support</a></h4>
+<p>ICU has been updated to Unicode 4.1, including new character
+properties and values.  Collation has been updated to Unicode
+Technical Standard #10 (UCA).  Locale data has been updated to CLDR
+1.3.  Additional APIs have been added to access and display more
+CLDR data.<br>
+</p>
+<h4><a name="News_Charset" id="News_Charset">New Charset Detection API</a></h4>
+<p>ICU4J provides heuristics for detecting the charset of a byte stream.
+Users can create a Java Reader or String from any byte-oriented input stream 
+when the charset or encoding of the byte data is unknown. The implementation
+recognizes most widely used encodings for European and Asian languages.<br>
+</p>
+<h4><a name="News_DateFormat" id="News_DateFormat"></a>Improved Date Formatting</h4>
+<p>Time and Date formatting now supports narrow and standalone day and month names, as well
+as generic time zones (e.g. "Pacific Time", "United Kingdom").  Time zone 
+name data is available for many more timezones and locales.<br>
+</p>
+<h4><a name="News_Calendars" id="News_Calendars"></a>Additional Calendar Support</h4>
+<p>Existing Calendar APIs have been promoted to stable.  Coptic and Ethiopic 
+calendars have been added.  Calendar instantiation now recognizes the
+<tt>calendar</tt> keyword in <tt>ULocale</tt> identifiers.<br>
+</p>
+<h4><a name="News_Compat" id="News_Compat">Increased API compatibility with the JDK</a></h4>
+<p>Several small differences between ICU4J APIs and the core Java APIs have been
+removed.  For example, types of some enum constants have been aligned with Java's 
+(int became byte), UCharacter added methods to match java.lang.Character APIs
+(including some deprecated methods, for completeness).<br>
+</p>
+<h3 class="doc"><a name="license"></a>License Information</h3>
+<p>
+The ICU projects (ICU4C and ICU4J) use the X license. The X
+license is <b>suitable for commercial use</b> and is a recommended free software license
+that is compatible with the GNU GPL license. This became
+effective with release 1.8.1 of ICU4C and release 1.3.1 of ICU4J in
+mid-2001. All new ICU releases will adopt the X license; previous ICU
+releases continue to utilize the IPL (IBM Public License). Users
+of previous releases of ICU who want to adopt new ICU releases will
+need to accept the terms and conditions of the X license.
+</p>
+<p>
+The main effect of the change is to provide GPL compatibility.
+The X license is listed as GPL compatible, see the GNU page at 
+<a href="http://www.gnu.org/philosophy/license-list.html#GPLCompatibleLicenses">
+http://www.gnu.org/philosophy/license-list.html#GPLCompatibleLicenses</a>.
+This means that GPL projects can now use ICU code, it does <b>not</b>
+mean that projects using ICU become subject to GPL.
+</p>
+<p>
+The text of the X license is available at <a
+ href="http://www.x.org/Downloads_terms.html">http://www.x.org/Downloads_terms.html</a>. The
+IBM version contains the essential text of the license, omitting the
+X-specific trademarks and copyright notices. The full copy of <a
+ href="license.html">ICU's license</a> is included in the download
+package.
+</p>
+<h3 class="doc"><a name="PlatformDependencies"></a>Platform Dependencies</h3>
+<p> Parts of ICU4J depend on functionality that is only available in
+JDK 1.4 or later, although some components work under earlier JVMs. All
+components should be compiled using a Java 2 compiler, as even
+components that run under earlier JVMs can require language features
+that are only present in Java2. Currently 1.1.x, 1.2.x and 1.3.x JVMs
+are unsupported and untested, and you use the components on these JVMs
+at your own risk.</p>
+<p> The reference platforms which we support and test ICU4J on are:</p>
+<ul>
+  <li> WinXP, IBM JDK 1.4.2</li>
+  <li> Solaris 5.9, Sun JDK 1.5.0</li>
+  <li> AIX 5.2, IBM JDK 1.4.2</li>
+</ul>
+<p>Please use the most recent updates of the supported JDK versions.</p>
+<p>Additionally, we have built and tested ICU4J on the following <b>unsupported</b>
+platforms:
+</p>
+<ul>
+<li> Win2K / IBM JDK 1.4.1, Sun JDK  1.4, 1.4.1, 1.4.2</li>
+<li> WinXP / IBM JDK 1.4.1, Sun JDK 1.4.2, 1.5.0</li>
+<li> Solaris 5.6 , Solaris 5.7 / Sun JDK 1.4, 1.4.1, 1.4.2</li>
+<li> Solaris 5.9 / Sun JDK 1.4, 1.4.1, 1.4.2</li>
+<li> AIX 5.1, AIX 5.2 / IBM JDK 1.4.1</li>
+<li> RedHat Enterprise Linux 3/  IBM JDK 1.4.1, 1.4.0, Sun JDK 1.4, 1.4.1, 1.4.2, 1.5.0</li>
+<li> RedHat Linux 7.2/  IBM JDK 1.4.1, 1.4.0, Sun JDK 1.4, 1.4.1, 1.4.2, 1.5.0</li>
+</ul>
+<h3 class="doc"><a name="obtaining"></a>How to Download ICU4J</h3>
+<p>There are two ways to download the ICU4J releases.
+</p>
+<ul type="disc">
+  <li><b>Official Release Snapshot:</b><br>
+If you want to use ICU4J (as opposed to developing it), your best bet
+is to download an official, packaged version of the ICU4J source
+code. These versions are tested more thoroughly than day-to-day
+development builds, and they are packaged in jar files for convenient
+download. These packaged files can be found at the <a
+ href="http://ibm.com/software/globalization/icu/downloads.jsp">ICU Downloads page</a>.
+A packaged snapshot is named <b>icu4jsrc_XXX.jar</b>, where XXX
+is the release version number. Please unjar this file. It
+will reconstruct the source directory.</li>
+</ul>
+<ul type="disc">
+  <li><b>CVS Source Repository:</b><br>
+If you are interested in developing features, patches, or bug fixes for
+ICU4J, you should probably be working with the latest version of the
+ICU4J source code. You will need to check the code out of our CVS
+repository to ensure that you have the most recent version of all of
+the files. There are several ways to do this. Please follow the
+directions that are contained on the <a
+ href="http://ibm.com/software/globalization/icu/repository.jsp">Source
+ Repository page</a> for details.
+  </li>
+</ul>
+<p>For more details on how to download ICU4J directly from the web
+site, please see the ICU downloads page at <a
+ href="http://ibm.com/software/globalization/icu/downloads.jsp">http://ibm.com/software/globalization/icu/downloads.jsp</a>
+</p>
+<h3 class="doc"><a name="WhatContain"></a>The Structure and Contents of
+ICU4J</h3>
+<p>Below, <b>$Root</b> is the placement of the icu directory in your
+file system, like
+"drive:\...\icu4j" in your environment. "drive:\..." stands for any
+drive and any directory on that drive that you chose to install icu4j
+into. </p>
+<p><b>Information and build files:</b></p>
+<table bgcolor="#ccccff" cellpadding="3" frame="void" width="623">
+  <tbody>
+    <tr>
+      <td align="right" bgcolor="#ffffff" valign="baseline"><b>readme.html</b><br>
+(this file)</td>
+      <td bgcolor="#ffffff" valign="baseline">A description of ICU4J
+(International Components for Unicode for Java)</td>
+    </tr>
+    <tr>
+      <th align="right" bgcolor="#ffffff" valign="baseline">license.html</th>
+      <td bgcolor="#ffffff" valign="baseline">The X license, used by
+ICU4J</td>
+    </tr>
+    <tr>
+      <th align="right" bgcolor="#ffffff" valign="baseline">build.xml</th>
+      <td bgcolor="#ffffff" valign="baseline">Ant build file. See <a
+ href="#HowToInstallJavac">How to Install and Build</a> for more
+information</td>
+    </tr>
+  </tbody>
+</table>
+<p><b>The source directories mirror the package structure of the code.</b><br>
+<font color="red">Core</font> packages become part of the ICU4J jar
+file.<br>
+<font color="red">API</font> packages contain classes with supported
+API. <br>
+<font color="red">RichText</font> classes are Core and API, but can be
+removed from icu4j.jar, and can be built into their own jar.</p>
+<table bgcolor="#ccccff" border="0" cellpadding="3" frame="void"
+ width="623">
+  <tbody>
+    <tr>
+      <th align="right" bgcolor="#ffffff" valign="baseline">$Root/src/com/ibm/icu/dev<br>
+      <font color="red">Non-Core, Non-API</font></th>
+      <td bgcolor="#ffffff" valign="baseline">Packages used for
+internal development:
+      <ul>
+        <li>Data: data used by tests and in building ICU</li>
+        <li>Demos: Calendar, Holiday, Break Iterator, Rule-based Number
+Format, Transformations<br>
+(See <a href="#tryingout">below</a> for more information about the
+demos.)</li>
+        <li>Tests: API and coverage tests of all functionality.<br>
+For information about running the tests, see
+$Root/src/com/ibm/icu/dev/test/TestAll.java.</li>
+        <li>Tools: tools used to build data tables, etc.</li>
+      </ul>
+      </td>
+    </tr>
+    <tr>
+      <th align="right" bgcolor="#ffffff" valign="baseline">$Root/src/com/ibm/icu/impl<br>
+      <font color="red">Core, Non-API</font></th>
+      <td bgcolor="#ffffff" valign="baseline">These are utility classes
+used from different ICU4J core packages.</td>
+    </tr>
+    <tr>
+      <th align="right" bgcolor="#ffffff" valign="baseline">$Root/src/com/ibm/icu/lang<br>
+      <font color="red">Core, API</font></th>
+      <td bgcolor="#ffffff" valign="baseline">Character properties
+package.</td>
+    </tr>
+    <tr>
+      <th align="right" bgcolor="#ffffff" valign="baseline">$Root/src/com/ibm/icu/math<br>
+      <font color="red">Core, API</font></th>
+      <td bgcolor="#ffffff" valign="baseline">Additional math classes.</td>
+    </tr>
+    <tr>
+      <th align="right" bgcolor="#ffffff" valign="baseline">$Root/src/com/ibm/icu/text<br>
+      <font color="red">Core, API</font></th>
+      <td bgcolor="#ffffff" valign="baseline">Additional text classes.
+These add to, and in some cases replace, related core Java classes:
+      <ul>
+        <li>Arabic shaping </li>
+        <li>Break iteration </li>
+        <li>Date formatting </li>
+        <li>Number formatting </li>
+        <li>Transliteration </li>
+        <li>Normalization </li>
+        <li>String manipulation </li>
+        <li>Collation </li>
+        <li>String search </li>
+        <li>Unicode compression </li>
+        <li>Unicode sets </li>
+      </ul>
+      </td>
+    </tr>
+    <tr>
+      <th align="right" bgcolor="#ffffff" valign="baseline">$Root/src/com/ibm/icu/util<br>
+      <font color="red">Core, API</font></th>
+      <td bgcolor="#ffffff" valign="baseline">Additional utility
+classes:
+      <ul>
+        <li>Calendars - Gregorian, Buddhist, Coptic, Ethiopic, Hebrew, Islamic, Japanese </li>
+        <li>Holiday</li>
+        <li>TimeZone</li>
+        <li>VersionInfo</li>
+        <li>Iteration</li>
+      </ul>
+      </td>
+    </tr>
+    <tr>
+      <th align="right" bgcolor="#ffffff" valign="baseline">$Root/src/com/ibm/richtext<br>
+      <font color="red">RichText</font></th>
+      <td bgcolor="#ffffff" valign="baseline">Styled text editing
+package. This includes demos, tests, and GUIs for editing and
+displaying styled text. The richtext package provides a scrollable
+display, typing, arrow-key support, tabs, alignment and justification,
+word- and sentence-selection (by double-clicking and triple-clicking,
+respectively), text styles, clipboard operations (cut, copy and paste)
+and a log of changes for undo-redo. Richtext uses Java's TextLayout and
+complex text support (provided to Sun by the ICU4J team).</td>
+    </tr>
+  </tbody>
+</table>
+<p><b>Building ICU4J creates and populates the following directories:</b></p>
+<table bgcolor="#ccccff" cellpadding="3" frame="void" width="623">
+  <tbody>
+    <tr>
+      <th align="right" bgcolor="#ffffff" valign="baseline">$Root/classes</th>
+      <td bgcolor="#ffffff" valign="baseline">contains all class files</td>
+    </tr>
+    <tr>
+      <th align="right" bgcolor="#ffffff" valign="baseline">$Root/doc</th>
+      <td bgcolor="#ffffff" valign="baseline">contains JavaDoc for all
+packages</td>
+    </tr>
+  </tbody>
+</table>
+<br>
+<p><b>ICU4J data is stored in the following locations:</b></p>
+<table bgcolor="#ccccff" border="0" cellpadding="3" frame="void"
+ width="623">
+  <tbody>
+    <tr>
+      <th align="right" bgcolor="#ffffff" valign="baseline"><code>com.ibm.icu.impl.data</code></th>
+      <td bgcolor="#ffffff" valign="baseline">Holds data used by the
+ICU4J core packages (<code>com.ibm.icu.lang</code>, <code>com.ibm.icu.text</code>,
+      <code>com.ibm.icu.util</code>, <code>com.ibm.icu.math</code> and
+      <code>com.ibm.icu.text</code>). In particular, all resource
+information is stored here.</td>
+    </tr>
+    <tr>
+      <th align="right" bgcolor="#ffffff" valign="baseline"><code>com.ibm.icu.dev.data</code></th>
+      <td bgcolor="#ffffff" valign="baseline">Holds data that is not
+part of ICU4J core, but rather part of a test, sample, or demo.</td>
+    </tr>
+  </tbody>
+</table>
+<br>
+<h3 class="doc"><a name="API"></a>Where to get Documentation</h3>
+<p>The <a href="http://icu.sourceforge.net/userguide/">ICU user's
+guide</a> contains lots of general information about ICU, in its C,
+C++, and Java incarnations.</p>
+<p>The complete API documentation for ICU4J (javadoc) is available on
+the ICU4J web site, and can be built from the sources:
+</p>
+<ul>
+  <li><a href="http://icu.sourceforge.net/apiref/icu4j/">Index
+to all ICU4J API</a></li>
+  <li><a href="http://icu.sourceforge.net/apiref/icu4j/com/ibm/icu/text/CharsetDetector.html">Charset Detector</a> &#8211; Detection of charset from a byte stream</li>
+  <li>International Calendars &#8211; <a
+    <a
+ href="http://icu.sourceforge.net/apiref/icu4j/com/ibm/icu/util/BuddhistCalendar.html">Buddhist</a>,
+    <a
+ href="http://icu.sourceforge.net/apiref/icu4j/com/ibm/icu/util/ChineseCalendar.html">Chinese</a>,
+    <a
+ href="http://icu.sourceforge.net/apiref/icu4j/com/ibm/icu/util/CopticCalendar.html">Coptic</a>,
+    <a
+ href="http://icu.sourceforge.net/apiref/icu4j/com/ibm/icu/util/EthiopicCalendar.html">Ethiopic</a>,
+    <a
+ href="http://icu.sourceforge.net/apiref/icu4j/com/ibm/icu/util/GregorianCalendar.html">Gregorian</a>,
+    <a
+ href="http://icu.sourceforge.net/apiref/icu4j/com/ibm/icu/util/HebrewCalendar.html">Hebrew</a>,
+    <a
+ href="http://icu.sourceforge.net/apiref/icu4j/com/ibm/icu/util/IslamicCalendar.html">Islamic</a>,
+    <a
+ href="http://icu.sourceforge.net/apiref/icu4j/com/ibm/icu/util/JapaneseCalendar.html">Japanese</a>.</li>
+  <li><a
+ href="http://icu.sourceforge.net/apiref/icu4j/com/ibm/icu/text/Normalizer.html">Unicode
+Normalization</a> &#8211; Canonical text representation for W3C.</li>
+  <li><a
+ href="http://icu.sourceforge.net/apiref/icu4j/com/ibm/icu/text/NumberFormat.html">Number
+Format Enhancements</a> &#8211; Scientific Notation, Spelled out.</li>
+  <li><a
+ href="http://icu.sourceforge.net/apiref/icu4j/com/ibm/icu/text/BreakIterator.html">Enhanced
+word-break detection</a> &#8211; Rule-based, supports Thai</li>
+  <li><a
+ href="http://icu.sourceforge.net/apiref/icu4j/com/ibm/icu/text/Transliterator.html">Transliteration</a>
+&#8211; A general framework for onverting text from one format to another,
+e.g. Cyrillic to Latin, or Hex to Unicode. </li>
+  <li>Unicode Text <a
+ href="http://icu.sourceforge.net/apiref/icu4j/com/ibm/icu/text/UnicodeCompressor.html">Compression</a>
+&amp; <a
+ href="http://icu.sourceforge.net/apiref/icu4j/com/ibm/icu/text/UnicodeDecompressor.html">Decompression</a>
+&#8211; 2:1 compression on English Unicode text.</li>
+  <li>Collation - <a
+ href="http://icu.sourceforge.net/apiref/icu4j/com/ibm/icu/text/RuleBasedCollator.html">Rule-based
+sorting</a>, <a
+ href="http://icu.sourceforge.net/apiref/icu4j/com/ibm/icu/text/StringSearch.html">Efficient
+multi-lingual searching</a> </li>
+</ul>
+<h3 class="doc"><a name="HowToInstallJavac"></a>How to Install and Build</h3>
+<p>To install ICU4J, simply place the prebuilt jar file <strong>icu4j.jar</strong>
+on your
+Java CLASSPATH. No other files are needed.</p>
+<p><b>Eclipse users:</b> See the ICU4J site for information on<a
+ href="http://icu.sourceforge.net/docs/eclipse_howto/eclipse_howto.html">
+how to configure Eclipse</a> to build ICU4J.</p>
+<p>To build ICU4J, you will need a Java2 JDK and the Ant build system.
+We strongly recommend using the Ant build system to build ICU4J.
+It's recommended to install both the JDK and Ant somewhere <em>outside</em>
+the ICU4J directory. For example, on Linux you might install these in
+/usr/local.</p>
+<ul>
+  <li>Install a recent JDK, version 1.4.x will work.</li>
+  <li>Install the <a href="http://ant.apache.org/"><strong>Ant</strong></a>
+build system. Ant is a portable, Java-based build system similar to
+make. ICU4J uses Ant because it introduces no other dependencies, it's
+portable, and it's easier to manage than a collection of makefiles. We
+currently build ICU4J using a single makefile on both Windows 9x and
+Linux using Ant. The build system requires Ant 1.6 or later.
+    <p>Installing Ant is straightforward. Download it (see <a
+ href="http://ant.apache.org/bindownload.cgi">http://ant.apache.org/bindownload.cgi</a>),
+extract it onto your system, set some environment variables, and add
+its bin directory to your path. For example: </p>
+    <pre>    set JAVA_HOME=C:\jdk1.4.2<br>    set ANT_HOME=C:\ant<br>    set PATH=%PATH%;%ANT_HOME%\bin</pre>
+    <p>See the current Ant documentation for details.</p>
+  </li>
+</ul>
+<p>Once the JDK and Ant are installed, building is just a matter of
+typing <strong>ant</strong> in the ICU4J root directory. This causes
+the Ant build system to perform a build as specified by the file
+<strong>build.xml</strong>, located in the ICU4J root directory. You
+can give Ant options like -verbose, and you can specify targets. Ant
+will only build what's been changed and will resolve dependencies
+properly. For example:</p>
+<blockquote>
+  <pre>F:\icu4j&gt;ant tests<br>Buildfile: build.xml<br>Project base dir set to: F:\icu4j<br>Executing Target: core<br>Compiling 71 source files to F:\icu4j\classes<br>Executing Target: tests<br>Compiling 24 source files to F:\icu4j\classes<br>Completed in 19 seconds</pre>
+</blockquote>
+<p>The following are some targets that you can provide to <b>ant</b>.
+For more targets run <code>ant -projecthelp</code> or see the build.xml file.</p>
+<table bgcolor="#ccccff" border="0" cellpadding="3" frame="void"
+ width="623">
+  <tbody>
+    <tr>
+      <th align="right" bgcolor="#ffffff" valign="baseline">all</th>
+      <td bgcolor="#ffffff" valign="baseline">Build all targets.</td>
+    </tr>
+    <tr>
+      <th align="right" bgcolor="#ffffff" valign="baseline">core</th>
+      <td bgcolor="#ffffff" valign="baseline">Build the main class
+files in the subdirectory <strong>classes</strong>. If no target is
+specified, core is assumed.</td>
+    </tr>
+    <tr>
+      <th align="right" bgcolor="#ffffff" valign="baseline">tests</th>
+      <td bgcolor="#ffffff" valign="baseline">Build the test class
+files.</td>
+    </tr>
+    <tr>
+      <th align="right" bgcolor="#ffffff" valign="baseline">demos</th>
+      <td bgcolor="#ffffff" valign="baseline">Build the demos.</td>
+    </tr>
+    <tr>
+      <th align="right" bgcolor="#ffffff" valign="baseline">tools</th>
+      <td bgcolor="#ffffff" valign="baseline">Build the tools.</td>
+    </tr>
+    <tr>
+      <th align="right" bgcolor="#ffffff" valign="baseline">docs</th>
+      <td bgcolor="#ffffff" valign="baseline">Run javadoc over the main
+class files, generating an HTML documentation tree in the subdirectory <strong>doc</strong>.</td>
+    </tr>
+    <tr>
+      <th align="right" bgcolor="#ffffff" valign="baseline">jar</th>
+      <td bgcolor="#ffffff" valign="baseline">Create a jar archive <strong>icu4j.jar</strong>
+in the root ICU4J directory containing the main class files.</td>
+    </tr>
+    <tr>
+      <th align="right" bgcolor="#ffffff" valign="baseline">jarSrc</th>
+      <td bgcolor="#ffffff" valign="baseline">Like the <strong>jar</strong>
+target, but containing only the source files. </td>
+    </tr>
+    <tr>
+      <th align="right" bgcolor="#ffffff" valign="baseline">jarDocs</th>
+      <td bgcolor="#ffffff" valign="baseline">Like the <strong>jar</strong>
+target, but containing only the docs. </td>
+    </tr>
+    <tr>
+      <th align="right" bgcolor="#ffffff" valign="baseline">richedit</th>
+      <td bgcolor="#ffffff" valign="baseline">Build the richedit core
+class files and tests. </td>
+    </tr>
+    <tr>
+      <th align="right" bgcolor="#ffffff" valign="baseline">richeditJar</th>
+      <td bgcolor="#ffffff" valign="baseline">Create the richedit jar
+file (which contains only the richedit core class files). The file <strong>richedit.jar</strong>
+will be created in the <strong>./richedit</strong> subdirectory. Any
+existing file of that name will be overwritten.</td>
+    </tr>
+    <tr>
+      <th align="right" bgcolor="#ffffff" valign="baseline">richeditZip</th>
+      <td bgcolor="#ffffff" valign="baseline">Create a zip archive of
+the richedit docs and jar file for distribution. The zip file <strong>richedit.zip</strong>
+will be created in the <strong>./richedit</strong> subdirectory. Any
+existing file of that name will be overwritten.</td>
+    </tr>
+    <tr>
+      <th align="right" bgcolor="#ffffff" valign="baseline">clean</th>
+      <td bgcolor="#ffffff" valign="baseline">Remove all built targets,
+leaving the source.</td>
+    </tr>
+  </tbody>
+</table>
+<p>For more information, read the Ant documentation and the <strong>build.xml</strong>
+file.</p>
+<p>After doing a build it is a good idea to run all the icu4j tests by
+typing<br>
+<tt>"ant check"</tt> or
+"java
+-classpath $Root/classes
+com.ibm.icu.dev.test.TestAll -nothrow".</p>
+<p>(If you are allergic to build systems, as an alternative to using
+Ant you can build by running javac and javadoc directly. This
+is not recommended. You may have to manually create destination
+directories.)</p>
+<h3 class="doc"><a name="HowToModularize"></a>How to modularize ICU4J</h3>
+<p>Some clients may not wish to ship all of ICU4J with their
+application, since the application might only use a small part of
+ICU4J.
+ICU4J release 2.6 and later provide build options to build individual
+ICU4J 'modules' for a more compact distribution.
+The modules are based on a service and the APIs that define it, e.g.,
+the normalizer module supports all the APIs of the Normalizer class
+(and some others). Tests can be run to verify that the APIs supported
+by the module function correctly.
+Because of internal code dependencies, a module contains extra classes
+that are not part of the module's core service API. Some or most of the
+APIs of these extra classes will not work. <b>Only the module's core
+service API is guaranteed.</b> Other APIs may work partially or not at
+all, so client code should avoid them.</p>
+<p>
+Individual modules are not built directly into their own separate jar
+files. Since their dependencies
+often overlap, using separate modules to 'add on' ICU4J functionality
+would result in
+unwanted duplication of class files. Instead, building a module causes
+a subset of ICU4J's
+classes to be built and put into ICU4J's standard build directory.
+After one or more module targets are built, the 'moduleJar' target can
+then be
+built, which packages the class files into a 'module jar.' Other than
+the fact that it
+contains fewer class files, little distinguishes this jar file from a
+full ICU4J jar file,
+and in fact they share the same name.</p>
+<p>
+Currently ICU4J can be divided into the following modules:
+</p>
+<p><b>Key:</b></p>
+<table bgcolor="#ccccff" cellpadding="3" frame="void" width="623">
+  <tbody>
+    <tr>
+      <th align="left" valign="baseline"><b>Module Name</b></th>
+      <th align="left" valign="baseline"><b>Ant Targets</b></th>
+      <th align="left" valign="baseline"><b>Test Package Supported</b></th>
+      <th align="right" valign="baseline"><b>Size&#8225;</b></th>
+    </tr>
+    <tr bgcolor="#ffffff">
+      <td colspan="4">
+      <table>
+        <tbody>
+          <tr>
+            <td valign="baseline">Package*</td>
+            <td valign="baseline">Main Classes&#8224; </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<b><font size="2">* com.ibm. should be prepended to the package names
+listed.
+<br>
+&#8224; A bold class name core service APIs. Only APIs in these classes are
+fully supported.
+<br>
+&#8225; Sizes are of the compressed jar file containing only this module.
+Full size is 3,047&nbsp;KB.
+</font></b>
+<p><b>Modules:</b></p>
+<table bgcolor="#ccccff" cellpadding="3" frame="void" width="623">
+  <tbody>
+    <tr>
+      <th align="left" valign="baseline">Normalizer</th>
+      <td align="left" valign="baseline">normalizer, normalizerTests</td>
+      <td align="left" valign="baseline">com.ibm.icu.dev.test.normalizer</td>
+      <td align="right" valign="baseline">457&nbsp;KB</td>
+    </tr>
+    <tr bgcolor="#ffffff">
+      <td colspan="4" valign="top">
+      <table border="0" cellpadding="5">
+        <tbody>
+          <tr>
+            <td valign="baseline">icu.lang:</td>
+            <td valign="baseline">UCharacter, UCharacterCategory,
+UCharacterDirection, UCharacterNameIterator, UCharacterTypeIterator,
+UProperty, UScript</td>
+          </tr>
+          <tr>
+            <td valign="baseline">icu.text:</td>
+            <td valign="baseline"><b>Normalizer</b>, Replaceable,
+ReplaceableString, <b>UCharacterIterator</b>, <b>UForwardCharacterIterator</b>,
+UnicodeFilter, UnicodeMatcher, UnicodeSet, UnicodeSetIterator, UTF16</td>
+          </tr>
+          <tr>
+            <td valign="baseline">icu.util:</td>
+            <td valign="baseline">ValueIterator, VersionInfo</td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+    <tr>
+      <th align="left" valign="baseline">Collator</th>
+      <td align="left" valign="baseline">collator, collatorTests</td>
+      <td align="left" valign="baseline">com.ibm.icu.dev.test.collator</td>
+      <td align="right" valign="baseline">1,510&nbsp;KB</td>
+    </tr>
+    <tr bgcolor="#ffffff">
+      <td colspan="4" valign="top">
+      <table border="0" cellpadding="5">
+        <tbody>
+          <tr>
+            <td valign="baseline">icu.lang:</td>
+            <td valign="baseline">UCharacter, UCharacterCategory,
+UCharacterDirection, UCharacterNameIterator, UCharacterTypeIterator,
+lang.UProperty, UScript </td>
+          </tr>
+          <tr>
+            <td valign="baseline">icu.text:</td>
+            <td valign="baseline">BreakDictionary, BreakIterator,
+BreakIteratorFactory, CanonicalIterator, <b>CollationElementIterator</b>,
+            <b>CollationKey</b>, <b>CollationParsedRuleBuilder</b>, <b>CollationRuleParser</b>,
+            <b>Collator</b>, <b>CollatorReader</b>,
+DictionaryBasedBreakIterator, <b>Normalizer</b>, Replaceable,
+ReplaceableString, RuleBasedBreakIterator, <b>RuleBasedCollator</b>, <b>SearchIterator</b>,
+            <b>StringSearch</b>, <b>UCharacterIterator</b>, <b>UForwardCharacterIterator</b>,
+UnicodeFilter, UnicodeMatcher, UnicodeSet, UnicodeSetIterator, UTF16 </td>
+          </tr>
+          <tr>
+            <td valign="baseline">icu.util:</td>
+            <td valign="baseline">ValueIterator, VersionInfo </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+    <tr>
+      <th align="left" valign="baseline">Calendar</th>
+      <td align="left" valign="baseline">calendar, calendarTests</td>
+      <td align="left" valign="baseline">com.ibm.icu.dev.test.calendar</td>
+      <td align="right" valign="baseline">1,713&nbsp;KB</td>
+    </tr>
+    <tr bgcolor="#ffffff">
+      <td colspan="4" valign="top">
+      <table border="0" cellpadding="5">
+        <tbody>
+          <tr>
+            <td valign="baseline">icu.lang:</td>
+            <td valign="baseline">UCharacter, UCharacterCategory,
+UCharacterDirection, UCharacterNameIterator, UCharacterTypeIterator,
+UProperty, UScript </td>
+          </tr>
+          <tr>
+            <td valign="baseline">icu.math:</td>
+            <td valign="baseline"><b>BigDecimal</b> </td>
+          </tr>
+          <tr>
+            <td valign="baseline">icu.text:</td>
+            <td valign="baseline">BreakIterator, <b>ChineseDateFormat</b>,
+            <b>ChineseDateFormatSymbols</b>, <b>DateFormat</b>, <b>DateFormatSymbols</b>,
+            <b>DecimalFormat</b>, <b>DecimalFormatSymbols</b>,
+Normalizer, NumberFormat, Replaceable, ReplaceableString, <b>SimpleDateFormat</b>,
+            <b>UCharacterIterator</b>, <b>UForwardCharacterIterator</b>,
+UnicodeFilter, UnicodeMatcher, UnicodeSet, UnicodeSetIterator, UTF16 </td>
+          </tr>
+          <tr>
+            <td valign="baseline">icu.util:</td>
+            <td valign="baseline"><b>BuddhistCalendar</b>, <b>Calendar</b>,
+            <b>CalendarAstronomer</b>, <b>CalendarCache</b>, <b>CalendarFactory</b>,
+            <b>ChineseCalendar</b>, <b>Currency</b>, <b>DateRule</b>,
+            <b>EasterHoliday</b>, <b>EasterRule</b>, <b>GregorianCalendar</b>,
+            <b>HebrewCalendar</b>, <b>HebrewHoliday</b>, <b>Holiday</b>,
+            <b>IslamicCalendar</b>, <b>JapaneseCalendar</b>, <b>RangeDateRule</b>,
+            <b>SimpleDateRule</b>, <b>SimpleHoliday</b>, <b>SimpleTimeZone</b>,
+            <b>SimpleTimeZoneAdapter</b>, <b>TimeZone</b>, <b>TimeZoneData</b>,
+ValueIterator, VersionInfo </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+    <tr>
+      <th align="left" valign="baseline">BreakIterator</th>
+      <td align="left" valign="baseline">breakIterator,
+breakIteratorTests</td>
+      <td align="left" valign="baseline">com.ibm.icu.dev.test.breakiterator</td>
+      <td align="right" valign="baseline">1,488&nbsp;KB</td>
+    </tr>
+    <tr bgcolor="#ffffff">
+      <td colspan="4" valign="top">
+      <table border="0" cellpadding="5">
+        <tbody>
+          <tr>
+            <td valign="baseline">icu.lang:</td>
+            <td valign="baseline">UCharacter, UCharacterCategory,
+UCharacterDirection, UCharacterNameIterator, UCharacterTypeIterator,
+UProperty, UScript </td>
+          </tr>
+          <tr>
+            <td valign="baseline">icu.text:</td>
+            <td valign="baseline"><b>BreakDictionary</b>, <b>BreakIterator</b>,
+            <b>BreakIteratorFactory</b>, <b>DictionaryBasedBreakIterator</b>,
+Normalizer, Replaceable, ReplaceableString, <b>text.RuleBasedBreakIterator</b>,
+UCharacterIterator, UForwardCharacterIterator, UnicodeFilter,
+UnicodeMatcher, UnicodeSet, UnicodeSetIterator, UTF16 </td>
+          </tr>
+          <tr>
+            <td valign="baseline">icu.util:</td>
+            <td valign="baseline">RangeValueIterator, ValueIterator,
+VersionInfo </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+    <tr>
+      <th align="left" valign="baseline">Basic Properties</th>
+      <td align="left" valign="baseline">propertiesBasic,
+propertiesBasicTests</td>
+      <td align="left" valign="baseline">com.ibm.icu.dev.test.lang</td>
+      <td align="right" valign="baseline">535&nbsp;KB</td>
+    </tr>
+    <tr bgcolor="#ffffff">
+      <td colspan="4" valign="top">
+      <table border="0" cellpadding="5">
+        <tbody>
+          <tr>
+            <td valign="baseline">icu.lang:</td>
+            <td valign="baseline"><b>UCharacter</b>, <b>UCharacterCategory</b>,
+            <b>UCharacterDirection</b>, <b>UCharacterNameIterator</b>,
+            <b>UCharacterTypeIterator</b>, <b>UProperty</b>, <b>UScript</b>,
+            <b>UScriptRun</b> </td>
+          </tr>
+          <tr>
+            <td valign="baseline">icu.text:</td>
+            <td valign="baseline">BreakDictionary, BreakIterator,
+BreakIteratorFactory, DictionaryBasedBreakIterator, Normalizer,
+Replaceable, ReplaceableString, RuleBasedBreakIterator, SymbolTable,
+UCharacterIterator, UForwardCharacterIterator, UnicodeFilter,
+UnicodeMatcher, UnicodeSet, UnicodeSetIterator, <b>UTF16</b> </td>
+          </tr>
+          <tr>
+            <td valign="baseline">icu.util:</td>
+            <td valign="baseline">CompactByteArray, RangeValueIterator,
+ValueIterator, VersionInfo </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+    <tr>
+      <th align="left" valign="baseline">Full Properties</th>
+      <td align="left" valign="baseline">propertiesFull,
+propertiesFullTests</td>
+      <td align="left" valign="baseline">com.ibm.icu.dev.test.lang</td>
+      <td align="right" valign="baseline">1,432&nbsp;KB</td>
+    </tr>
+    <tr bgcolor="#ffffff">
+      <td colspan="4" valign="top">
+      <table border="0" cellpadding="5">
+        <tbody>
+          <tr>
+            <td valign="baseline">icu.lang:</td>
+            <td valign="baseline"><b>UCharacter</b>, <b>UCharacterCategory</b>,
+            <b>UCharacterDirection</b>, <b>UCharacterNameIterator</b>,
+            <b>UCharacterTypeIterator</b>, <b>UProperty</b>, <b>UScript</b>,
+            <b>UScriptRun</b> </td>
+          </tr>
+          <tr>
+            <td valign="baseline">icu.text:</td>
+            <td valign="baseline">BreakDictionary, BreakIterator,
+BreakIteratorFactory, DictionaryBasedBreakIterator, <b>Normalizer</b>,
+            <b>Replaceable</b>, <b>ReplaceableString</b>,
+RuleBasedBreakIterator, <b>UCharacterIterator</b>, <b>UForwardCharacterIterator</b>,
+            <b>UnicodeFilter</b>, <b>UnicodeMatcher</b>, <b>UnicodeSet</b>,
+            <b>UnicodeSetIterator</b>, <b>UTF16</b></td>
+          </tr>
+          <tr>
+            <td valign="baseline">icu.util:</td>
+            <td valign="baseline"><b>RangeValueIterator</b>, <b>ValueIterator</b>,
+            <b>VersionInfo</b> </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+    <tr>
+      <th align="left" valign="baseline">Formatting</th>
+      <td align="left" valign="baseline">format, formatTests</td>
+      <td align="left" valign="baseline">com.ibm.icu.dev.test.format</td>
+      <td align="right" valign="baseline">2,531&nbsp;KB</td>
+    </tr>
+    <tr bgcolor="#ffffff">
+      <td colspan="4" valign="top">
+      <table border="0" cellpadding="5">
+        <tbody>
+          <tr>
+            <td valign="baseline">icu.lang:</td>
+            <td valign="baseline">UCharacter, UCharacterCategory,
+UCharacterDirection, UCharacterNameIterator, UCharacterTypeIterator,
+UProperty, UScript </td>
+          </tr>
+          <tr>
+            <td valign="baseline">icu.math:</td>
+            <td valign="baseline"><b>math.BigDecimal</b> </td>
+          </tr>
+          <tr>
+            <td valign="baseline">icu.text:</td>
+            <td valign="baseline">BreakIterator, CanonicalIterator,
+ChineseDateFormat, ChineseDateFormatSymbols, CollationElementIterator,
+CollationKey, CollationParsedRuleBuilder, CollationRuleParser,
+Collator, CollatorReader, <b>DateFormat</b>, <b>DateFormatSymbols</b>,
+            <b>DecimalFormat</b>, <b>DecimalFormatSymbols</b>,
+Normalizer, <b>NumberFormat</b>, Replaceable, ReplaceableString,
+RuleBasedCollator, <b>RuleBasedNumberFormat</b>, <b>SimpleDateFormat</b>,
+            <b>UCharacterIterator</b>, <b>UForwardCharacterIterator</b>,
+UnicodeFilter, UnicodeMatcher, UnicodeSet, UnicodeSetIterator, UTF16 </td>
+          </tr>
+          <tr>
+            <td valign="baseline">icu.util:</td>
+            <td valign="baseline"><b>Calendar</b>, <b>CalendarAstronomer</b>,
+            <b>CalendarCache</b>, <b>CalendarFactory</b>, <b>ChineseCalendar</b>,
+            <b>Currency</b>, <b>GregorianCalendar</b>, <b>RangeValueIterator</b>,
+            <b>SimpleTimeZone</b>, <b>SimpleTimeZoneAdapter</b>, <b>TimeZone</b>,
+            <b>TimeZoneData</b>, ValueIterator,VersionInfo </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+    <tr>
+      <th align="left" valign="baseline">StringPrep, IDNA</th>
+      <td align="left" valign="baseline">stringPrep, stringPrepTests</td>
+      <td align="left" valign="baseline">com.ibm.icu.dev.test.stringprep</td>
+      <td align="right" valign="baseline">483&nbsp;KB</td>
+    </tr>
+    <tr bgcolor="#ffffff">
+      <td colspan="4" valign="top">
+      <table border="0" cellpadding="5">
+        <tbody>
+          <tr>
+            <td valign="baseline">icu.lang:</td>
+            <td valign="baseline">UCharacter, UCharacterCategory,
+UCharacterDirection, UCharacterNameIterator, UCharacterTypeIterator,
+UProperty, UScript </td>
+          </tr>
+          <tr>
+            <td valign="baseline">icu.text:</td>
+            <td valign="baseline">BreakIterator, CanonicalIterator, <b>IDNA</b>,
+Normalizer, Replaceable, ReplaceableString, <b>StringPrep</b>, <b>StringParseException</b>,
+UCharacterIterator, UForwardCharacterIterator, UnicodeSet, UTF16 </td>
+          </tr>
+          <tr>
+            <td valign="baseline">icu.util:</td>
+            <td valign="baseline"> RangeValueIterator, StringTokenizer,
+ULocale, UResourceBundle ValueIterator,VersionInfo </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+    <tr>
+      <th align="left" valign="baseline">Transforms</th>
+      <td align="left" valign="baseline">transliterator,
+transliteratorTests</td>
+      <td align="left" valign="baseline">com.ibm.icu.dev.test.translit</td>
+      <td align="right" valign="baseline">778&nbsp;KB</td>
+    </tr>
+    <tr bgcolor="#ffffff">
+      <td colspan="4" valign="top">
+      <table border="0" cellpadding="5">
+        <tbody>
+          <tr>
+            <td valign="baseline">icu.lang:</td>
+            <td valign="baseline"><b>UCharacter</b>, <b>UCharacterCategory</b>,
+            <b>UCharacterDirection</b>, <b>UCharacterNameIterator</b>,
+            <b>UCharacterTypeIterator</b>, <b>UProperty</b>, <b>UScript</b>,
+            <b>UScriptRun</b> </td>
+          </tr>
+          <tr>
+            <td valign="baseline">icu.text:</td>
+            <td valign="baseline"><b>AnyTransliterator</b>, <b>BreakDictionary</b>,
+            <b>BreakIterator</b>, <b>BreakIteratorFactory</b>, <b>BreakTransliterator</b>,
+            <b>DictionaryBasedBreakIterator</b>, <b>Normalizer</b>, <b>Replaceable</b>,
+            <b>ReplaceableString</b>, <b>RuleBasedBreakIterator</b>, <b>StringReplacer</b>,
+            <b>Transliterator</b>, <b>UCharacterIterator</b>, <b>UForwardCharacterIterator</b>,
+            <b>UnicodeSet</b>, <b>UnicodeSetIterator</b>, <b>UTF16</b>
+            </td>
+            <td> <br>
+            </td>
+          </tr>
+          <tr>
+            <td valign="baseline">icu.util:</td>
+            <td valign="baseline"><b>RangeValueIterator</b>, <b>ValueIterator</b>,
+            <b>VersionInfo</b> </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+<!-- tr>
+
+        <th align="left" valign="baseline"><b>Module Name</b></th>
+
+        <th align="left" valign="baseline"><b>Ant Targets</b></th>
+
+        <th align="left" valign="baseline"><b>Test Package Supported</b></th>
+
+        <th align="right" valign="baseline"><b>Size</b></th>
+
+</tr -->
+  </tbody>
+</table>
+<p>Building any of these modules is as easy as specifying a build
+target to the Ant build system, e.g:
+<br>
+To build a module that contains only the Normalizer API: </p>
+<ol>
+  <li> Build the module. <br>
+    <code> ant normalizer </code> </li>
+  <li> Build the jar containing the module. <br>
+    <code>ant moduleJar </code> </li>
+  <li> Build the tests for the module. <br>
+    <code> ant normalizerTests </code> </li>
+  <li> Run the tests and verify that the self tests pass. <br>
+    <code> java -classpath $icu4j_root/classes
+com.ibm.icu.dev.test.TestAll -nothrow -w </code> </li>
+</ol>
+If more than one module is required, the module build targets can be
+concatenated, e.g:
+<ol>
+  <li> Build the modules. <br>
+    <code> ant normalizer collator </code> </li>
+  <li> Build the jar containing the modules. <br>
+    <code>ant moduleJar </code> </li>
+  <li> Build the tests for the module. <br>
+    <code> ant normalizerTests collatorTests </code> </li>
+  <li> Run the tests and verify that they pass. <br>
+    <code> java -classpath $icu4j_root/classes
+com.ibm.icu.dev.test.TestAll -nothrow -w </code> </li>
+</ol>
+The jar should be built before the tests, since for some targets
+building the tests will cause additional classes to be compiled that
+are not strictly necessary for the module itself.
+<h5> Notes: </h5>
+<ul>
+  <li>Regardless of whether ICU4J is built as a whole or as modules,
+the jar file produced is named <em>icu4j.jar</em>.</li>
+  <li>To ascertain if an icu4j.jar contains all of ICU4J or not, please
+see the manifest file in the jar</li>
+  <li>The target moduleJar does not depend on any other target. It just
+creates a jar of all class files under
+$icu4j_root/classes/com/ibm/icu/, excluding the classs files in
+$icu4j_root/classes/com/ibm/icu/dev folder</li>
+  <li>The list of module build targets can be obtained by running the
+command: <code>ant -projecthelp</code></li>
+</ul>
+<h3 class="doc"><a name="tryingout"></a>Trying Out ICU4J</h3>
+<p><strong>Note:</strong> the demos provided with ICU4J are for the
+most part undocumented. This list can show you where to look, but
+you'll
+have to experiment a bit. The demos (with the
+exception of richedit) are <strong>unsupported</strong> and may change
+or disappear without notice.</p>
+<p>The icu4j.jar file contains only the core ICU4J classes, not the
+demo classes, so unless you build ICU4J there is little to try out.
+</p>
+<h4>Rich Edit</h4>
+To try out the <strong>richedit</strong> package, first build the
+richeditJar target.
+This is a 'runnable' jar file. To run the richedit demo, type:
+<blockquote><tt>java -jar $Root/richedit/richedit.jar</tt></blockquote>
+This will present an empty edit pane with an awt interface.
+<p>With a fuller command line you can try out other options, for
+example:</p>
+<blockquote><tt>java -classpath $Root/richedit/richedit.jar
+com.ibm.richtext.demo.EditDemo [-swing][file]</tt></blockquote>
+<p>This will use an awt GUI, or a swing GUI if
+<tt>-swing</tt> is passed on the command line. It will open a text
+file if one is provided, otherwise it will open a blank page. Click
+to type.</p>
+<p>
+You can add tabs to the tab ruler by clicking in the ruler while
+holding down the control key.
+Clicking on an existing tab changes between left, right, center, and
+decimal tabs. Dragging
+a tab moves it, dragging it off the ruler removes it.</p>
+<p>
+You can experiment with complex text by using the keymap functions.
+Please note that these are mainly for demo purposes, for real work
+with Arabic or Hebrew you will want to use an input method. You will
+need to use a font that supports Arabic or Hebrew, 'Lucida Sans'
+(provided
+with Java) supports these languages.</p>
+<h4>Other demos</h4>
+<p>The other demo programs are <strong>not supported</strong> and
+exist only to let you
+experiment with the ICU4J classes. First, build ICU4J using <tt>ant&nbsp;all</tt>.
+Then try
+one of the following:
+</p>
+<ul>
+  <li><tt>java -classpath classes
+com.ibm.icu.dev.demo.calendar.CalendarApp</tt> </li>
+  <li><tt>java -classpath classes
+com.ibm.icu.dev.demo.holiday.HolidayCalendarDemo</tt> </li>
+  <li><tt>java -classpath classes
+com.ibm.icu.dev.demo.rbbi.TextBoundDemo</tt><br>
+(Click in the text, then use <tt>ctrl-N</tt> and <tt>ctrl-P</tt> to
+select the next or previous block of text.) </li>
+  <li><tt>java -classpath classes com.ibm.icu.dev.demo.rbnf.RbnfDemo</tt>
+  </li>
+  <li><tt>java -classpath classes com.ibm.icu.dev.demo.translit.Demo</tt>
+  </li>
+</ul>
+<h3 class="doc"><a name="resources">ICU4J Resource Information</a></h3>
+Starting with release 2.1, ICU4J includes its own
+resource information
+which is completely independent of the JDK resource information. (Note,
+in ICU4J 3.2 and 3.4, time zone information still depends on the
+underlying JDK). The
+new ICU4J information is equivalent to the information in ICU4C and
+many
+resources are, in fact, the same binary files that ICU4C uses.
+<p>
+By default the ICU4J distribution includes all of the standard resource
+information. It is located under the directory com/ibm/icu/impl/data.
+Depending on the service, the data is in different locations and in
+different formats. <strong>Note:</strong> This will continue to change
+from release to release, so clients should not depend on the exact
+organization
+of the data in ICU4J.</p>
+<ul>
+  <li>The primary <b>locale data</b> is under the directory <tt>icudt34b</tt>,
+as a set of <tt>".res"</tt> files whose names are the locale identifiers. 
+Locale naming is documented the <code>com.ibm.icu.util.ULocale</code>
+class, and the use of these names in searching for resources is documented 
+in <code>java.util.ResourceBundle</code>.
+  </li>
+  <li>The <b>collation data</b> is under the directory <tt>icudt34b/coll</tt>,
+as a set of <tt>".res"</tt> files.</li>
+  <li>The <b>rule-based transliterator data</b> is under the directory
+<tt>icudt34b/translit</tt> as a set of <tt>".res"</tt> files.  (<b>Note:</b> the
+Han transliterator test data is no longer included in the core icu4j.jar 
+file by default.)</li>
+  <li>The <b>rule-based number format data</b> is under the directory
+<tt>icudt34b/rbnf</tt> as a set of <tt>".res"</tt> files.
+  <li>The <b>break iterator data</b> is directly under the data
+directory, as a set of <tt>".brk"</tt> files, named according to the
+type of break and the locale where there are locale-specific versions.</li>
+  <li>The <b>holiday data</b> is under the <tt>data</tt> directory,
+as a set of <tt>".class"</tt> files, named <tt>"HolidayBundle_"</tt>
+followed by the locale ID.</li>
+  <li>The <b>character property data</b> as well as assorted <b>normalization
+data</b> and default <b>unicode collation algorithm (UCA) data</b>
+is found under the <tt>data</tt> directory as a set of <tt>".icu"</tt>
+files. </li>
+</ul>
+<p>
+Some of the data files alias or otherwise reference data from other
+data files. One reason for this is because some locale names have
+changed. For example, <tt>he_IL</tt> used to be <tt>iw_IL</tt>. In
+order to support both names but not duplicate the data, one of the
+resource files refers to the other file's data. In other cases, a
+file may alias a portion of another file's data in order to save
+space. Currently ICU4J provides no tool for revealing these
+dependencies.</p>
+<blockquote><strong>Note:</strong>  Java's <code>Locale</code> class
+silently converts the language code <tt>"he"</tt> to <tt>"iw"</tt>
+when you construct the Locale (for versions of Java through Java 5). Thus
+Java cannot be used to locate resources that use the <tt>"he"</tt>
+language code. ICU, on the other hand, does not perform this
+conversion in ULocale, and instead uses aliasing in the locale data to
+represent the same set of data under different locale
+ids.</blockquote>
+<p>
+Resource files that use locale ids form a hierarchy, with up to four
+levels: a root, language, region (country), and variant. Searches for
+locale data attempt to match as far down the hierarchy as possible,
+for example, <tt>"he_IL"</tt> will match <tt>he_IL</tt>, but
+<tt>"he_US"</tt> will match <tt>he</tt> (since there is no <tt>US</tt>
+variant for he, and <tt>"xx_YY</tt> will match root (the
+default fallback locale) since there is no <tt>xx</tt> language code
+in the locale hierarchy. Again, see
+<code>java.util.ResourceBundle</code> for more information.
+</p>
+<p>
+<strong>Currently ICU4J provides no tool for revealing these
+dependencies</strong> between data files, so trimming the data
+directly in the ICU4J project is a hit-or-miss affair. The key point
+when you remove data is to make sure to remove all dependencies on
+that data as well. For example, if you remove <tt>he.res</tt>, you
+need to remove <tt>he_IL.res</tt>, since it is lower in the hierarchy,
+and you must remove iw.res, since it references <tt>he.res</tt>, and
+<tt>iw_IL.res</tt>, since it depends on it (and also references
+<tt>he_IL.res</tt>).
+</p>
+<p>
+Unfortunately, the jar tool in the JDK provides no way to remove items
+from a jar file. Thus you have to extract the resources, remove the
+ones you don't want, and then create a new jar file with the remining
+resources. See the jar tool information for how to do this. Before
+'rejaring' the files, be sure to thoroughly test your application with
+the remaining resources, making sure each required resource is
+present.
+</p>
+<h4>Using additional resource files with ICU4J</h4>
+<blockquote>
+  <table cellpadding="3" frame="border" rules="none" width="50%">
+    <tbody>
+      <tr>
+        <td><b><font color="red" size="+1">Warning:</font> Resource
+file formats can change across releases of ICU4J!</b></td>
+      </tr>
+      <tr>
+        <td>The format of ICU4J resources is not part of the API.
+Clients who develop their own resources for use with ICU4J should be
+prepared to
+regenerate them when they move to new releases of ICU4J.</td>
+      </tr>
+    </tbody>
+  </table>
+</blockquote>
+<p>
+We are still developing ICU4J's resource mechanism. Currently it 
+is not possible to mix icu's new binary <tt>.res</tt>
+resources
+with traditional java-style <tt>.class</tt> or <tt>.txt</tt>
+resources. We might
+allow for this in a future release, but since the resource data and
+format is not formally
+supported, you run the risk of incompatibilities with future releases
+of ICU4J.
+</p>
+<p>
+Resource data in ICU4J is checked in to the repository as a jar file
+containing the resource binaries, <tt>icudata.jar</tt>. This
+means that inspecting the contents of these resources is difficult.
+They currently are compiled from ICU4C <tt>.txt</tt> file data. You
+can view the contents of the ICU4C text resource files to understand
+the contents of the ICU4J resources.
+</p>
+<p>
+The files in <tt>icudata.jar</tt> get extracted to <tt>com/ibm/icu/impl/data</tt>
+in
+the build directory when the 'core' target is built.
+Building the <tt>'resources'</tt> target will force the
+resources to once again be extracted. Extraction will
+overwrite any corresponding resource files already in that directory.
+</p>
+<h4><a name="resourcesICU4C">Building ICU4J Resources from ICU4C</a></h4>
+<h5>Requirements</h5>
+<ul>
+  <li>Compilers and tools required for building <a
+ href="http://oss.software.ibm.com/cvs/icu/%7Echeckout%7E/icu/readme.html#HowToBuild">ICU</a>.</li>
+  <li>Java SDK version 1.4.0 or above.</li>
+  <li>Perl version 5 or above.</li>
+</ul>
+<h5> Procedure</h5>
+<ol>
+  <li> Download and build ICU on a Windows machine. For instructions on
+downloading and building ICU, please click <a
+ href="http://oss.software.ibm.com/cvs/icu/%7Echeckout%7E/icu/readme.html#HowToBuild">here</a>.</li>
+  <li> Change directory to <i>$icu_root</i>/source/tools/genrb </li>
+  <li> Launch gendtjar.pl from that directory itself with the command <br>
+gendtjar.pl --icu-root=<i>$icu_root</i> --jar=<i>$jdk_home/bin</i>
+--icu4j-root=<i>$icu4j_root</i> --version=<i>$icu_version</i> <br>
+e.g: gendtjar.pl --icu-root=\work\icu --jar=\jdk1.4.1\bin
+--icu4j-root=\work\icu4j --version=3.0 <br>
+Execution of gendtjar.pl script will create the required jar files in
+the $icu_root\source\tools\genrb\temp directory.</li>
+  <li> Move icudata.jar to <i>$icu4j_root</i>/src/com/ibm/icu/impl/data
+directory.</li>
+  <li> Move testdata.jar to <i>$icu4j_root</i>/src/com/ibm/dev/data
+directory.</li>
+  <li> Build resources target of ant to unpack the jar files with the
+following command. <br>
+    <i>$ant_home</i>/bin/ant resources</li>
+</ol>
+<h3 class="doc"><a name="WhereToFindMore"></a>Where to Find More
+Information</h3>
+<p><a href="http://ibm.com/software/globalization/icu/">http://ibm.com/software/globalization/icu/</a>
+is a
+pointer to general information about the International Components for
+Unicode in Java </p>
+<p><a href="http://ibm.com/software/globalization/">http://ibm.com/software/globalization/</a>
+is a pointer to
+information on how to make applications global. </p>
+<h3 class="doc"><a name="SubmittingComments"></a>Submitting Comments,
+Requesting Features and
+Reporting Bugs</h3>
+<p>Your comments are important to making ICU4J successful. We are
+committed
+to fixing any bugs, and will use your feedback to help plan future
+releases.</p>
+<p>To submit comments, request features and report bugs, contact us
+through the <a
+ href="http://icu.sourceforge.net/contacts.html">ICU Support
+mailing list</a>.<br>
+While we are not able to respond individually to each comment, we do
+review all comments.</p>
+<br>
+<br>
+<h2>Thank you for your interest in ICU4J!</h2>
+<br>
+<hr align="center" size="2" width="100%">
+<p><i><font size="-1">Copyright &copy; 2002-2005 International Business
+Machines Corporation and others. All Rights
+Reserved.<br>
+5600 Cottle Road, San Jos&eacute;, CA 95193
+</font></i></p>
+</body>
+</html>
diff --git a/src/com/ibm/icu/dev/data/CollationTest_NON_IGNORABLE_STUB.txt b/src/com/ibm/icu/dev/data/CollationTest_NON_IGNORABLE_STUB.txt
new file mode 100644
index 0000000..18000626
--- /dev/null
+++ b/src/com/ibm/icu/dev/data/CollationTest_NON_IGNORABLE_STUB.txt
@@ -0,0 +1,4103 @@
+0334 05A8;
+0334 06E7;
+0334 1D180;
+059E 0334;
+06D9 0334;
+1D168 0334;
+0332 0334;
+0334 0308 0301;
+0315 0334;
+0324 0334;
+033A 0334;
+034E 0334;
+035E 0334;
+05B0 0334;
+0334 FB1E;
+0334 0659;
+0334 0737;
+0334 0746;
+0334 10A0D;
+0334 17DD;
+0334 20D5;
+20EB 0334;
+0085 0062;
+2001 003F;
+2002 0041;
+202F 0062;
+0384 003F;
+00AF 0061;
+FE4C 0062;
+1FED 003F;
+1FCE 0334;
+1FCE 0062;
+1FFE 0062;
+FF3F 0061;
+309B 003F;
+058A 003F;
+FE32 0021;
+2053 003F;
+FF65 0061;
+060C 003F;
+FE51 0021;
+037E 0021;
+204F 003F;
+0589 003F;
+0707 003F;
+1366 003F;
+16EC 003F;
+001A 0021;
+0098 0021;
+05A4 0021;
+06DB 0021;
+200B 0021;
+FDD3 0021;
+1D167 0021;
+1D18A 0021;
+BFFFF 0021;
+E0038 0021;
+E0056 0021;
+E0074 0021;
+E0112 0021;
+E0130 0021;
+E014E 0021;
+E016C 0021;
+E018A 0021;
+E01A8 0021;
+E01C6 0021;
+E01E4 0021;
+0344 0021;
+0323 0021;
+034A 0021;
+0483 0021;
+FE76 0021;
+065B 0021;
+0748 0021;
+0C01 0021;
+0ECD 0021;
+302F 0021;
+20E9 0021;
+FF01 0062;
+0011 003F;
+008F 003F;
+059B 003F;
+0612 003F;
+0F82 003F;
+D801 003F;
+FE73 003F;
+1D17F 003F;
+7FFFE 003F;
+E002F 003F;
+E004D 003F;
+E006B 003F;
+E0109 003F;
+E0127 003F;
+E0145 003F;
+E0163 003F;
+E0181 003F;
+E019F 003F;
+E01BD 003F;
+E01DB 003F;
+0341 003F;
+031A 003F;
+033C 003F;
+0360 003F;
+064B 003F;
+FE7E 003F;
+073F 003F;
+0ABC 003F;
+0E4A 003F;
+17DD 003F;
+20E0 003F;
+003F 0061;
+0709 0041;
+FE52 0021;
+2024 0041;
+1362 0041;
+3002 003F;
+0965 0041;
+17D5 0041;
+1368 0041;
+2059 0041;
+2CFC 0041;
+103D0 0041;
+201B 0041;
+201D 0041;
+00AB 0041;
+247E 003F;
+2484 003F;
+2477 003F;
+0028 0041;
+249E 0041;
+24A4 0041;
+24AA 0041;
+24B0 0041;
+3200 0041;
+3203 0041;
+3206 0041;
+3208 0041;
+3218 0041;
+321B 0041;
+3224 0041;
+3238 0041;
+322F 0041;
+3231 0041;
+3237 0041;
+322E 0041;
+208E 0062;
+FF3D 0062;
+007D 0061;
+0F3D 0041;
+29FD 0041;
+2986 0062;
+298C 0041;
+2992 0041;
+2998 0041;
+2E0A 0041;
+2329 0041;
+300A 0062;
+300D 003F;
+300F 0062;
+FE5D 0061;
+3016 0062;
+301B 0041;
+00A9 0041;
+FF0A 0061;
+002F 0062;
+FF06 0061;
+FF03 0062;
+2031 0041;
+2027 0041;
+2034 0062;
+303D 0041;
+2050 0041;
+2E07 0041;
+2E11 0041;
+055A 0041;
+05C6 0041;
+070D 0041;
+0E5B 0041;
+0F09 0041;
+0F0D 0041;
+0F85 0041;
+17D7 0041;
+10A51 0041;
+0374 003F;
+02C4 0041;
+02CA 0041;
+02D2 0041;
+02DE 0041;
+02E9 0041;
+02F0 0041;
+02F6 0041;
+02FC 0041;
+1392 0041;
+1398 0041;
+A704 0041;
+A70A 0041;
+A710 0041;
+A716 0041;
+060F 0041;
+0BF4 0041;
+A828 0041;
+0F02 0041;
+0F1A 0041;
+0F34 0041;
+0FBF 0041;
+0FC5 0041;
+0FCC 0041;
+19E4 0041;
+19EA 0041;
+19F0 0041;
+19F6 0041;
+19FC 0041;
+2114 0041;
+2125 0041;
+2141 0041;
+FFE9 0021;
+219B 0062;
+21AE 0041;
+219C 0061;
+21A2 0061;
+21A8 0061;
+21AF 0061;
+21B5 0061;
+21BB 0061;
+21C1 0061;
+21C7 0061;
+21D0 0021;
+21D3 0041;
+21D8 003F;
+21DE 003F;
+21E4 003F;
+21EA 003F;
+21F0 003F;
+21F6 003F;
+21FC 003F;
+1D6DB 0021;
+2204 0334;
+1D735 003F;
+2209 0041;
+220E 0021;
+208A 0021;
+00F7 0021;
+FE64 0062;
+FE66 0061;
+226F 0061;
+00A6 0061;
+207B 0041;
+2217 0062;
+221D 0062;
+2223 003F;
+2229 0021;
+222E 0021;
+2234 0021;
+223A 0021;
+223E 0041;
+2247 0334;
+224A 0061;
+224F 0021;
+2255 0021;
+225B 0021;
+2262 003F;
+2265 0061;
+226A 0062;
+2273 0041;
+2280 0334;
+227C 0041;
+2284 0021;
+2288 0041;
+228D 0021;
+2291 0062;
+2296 003F;
+229C 003F;
+22AC 0334;
+22A6 0062;
+22AA 0021;
+22EA 0021;
+22EC 0041;
+22B9 0021;
+22BF 0021;
+22C5 0021;
+22CB 0021;
+22D1 0021;
+22D7 0021;
+22DD 0021;
+22E7 0021;
+22F1 0021;
+22F7 0021;
+22FD 0021;
+2303 0021;
+2309 0021;
+230F 0021;
+2315 0021;
+231B 0021;
+2321 0021;
+2327 0021;
+232F 0021;
+2335 0021;
+233B 0021;
+2341 0021;
+2347 0021;
+234D 0021;
+2353 0021;
+2359 0021;
+235F 0021;
+2365 0021;
+236B 0021;
+2371 0021;
+2377 0021;
+237D 0021;
+2383 0021;
+2389 0021;
+238F 0021;
+2395 0021;
+239B 0021;
+23A1 0021;
+23A7 0021;
+23AD 0021;
+23B3 0021;
+23B9 0021;
+23BF 0021;
+23C5 0021;
+23CB 0021;
+23D1 0021;
+23D7 0021;
+2401 0021;
+2407 0021;
+240D 0021;
+2413 0021;
+2419 0021;
+241F 0021;
+2425 0021;
+2444 0021;
+244A 0021;
+2504 0021;
+250A 0021;
+2510 0021;
+2516 0021;
+251C 0021;
+2522 0021;
+2528 0021;
+252E 0021;
+2534 0021;
+253A 0021;
+2540 0021;
+2546 0021;
+254C 0021;
+2552 0021;
+2558 0021;
+255E 0021;
+2564 0021;
+256A 0021;
+2570 0021;
+2576 0021;
+257C 0021;
+2582 0021;
+2588 0021;
+258E 0021;
+2594 0021;
+259A 0021;
+25A0 0021;
+25A5 0021;
+25AB 0021;
+25B1 0021;
+25B7 0021;
+25BD 0021;
+25C3 0021;
+25C9 0021;
+25CE 0021;
+25D4 0021;
+25DA 0021;
+25E0 0021;
+25E6 0021;
+25EC 0021;
+25F2 0021;
+25F8 0021;
+25FE 0021;
+2604 0021;
+260A 0021;
+2610 0021;
+2616 0021;
+261C 0021;
+2622 0021;
+2628 0021;
+262E 0021;
+263C 0021;
+2642 0021;
+2648 0021;
+264E 0021;
+2654 0021;
+265A 0021;
+2660 0021;
+2666 0021;
+266C 0021;
+2675 0021;
+267B 0021;
+2681 0021;
+2687 0021;
+2693 0021;
+2699 0021;
+26A2 0021;
+26A8 0021;
+26AE 0021;
+2703 0021;
+270C 0021;
+2712 0021;
+2718 0021;
+271E 0021;
+2724 0021;
+272B 0021;
+2731 0021;
+2737 0021;
+273D 0021;
+2743 0021;
+2749 0021;
+2751 0021;
+275B 0021;
+2763 0021;
+2769 0021;
+276F 0021;
+2775 0021;
+279C 0021;
+27A2 0021;
+27A8 0021;
+27AE 0021;
+27B5 0021;
+27BB 0021;
+27C2 0021;
+27D1 0021;
+27D7 0021;
+27DD 0021;
+27E3 0021;
+27E9 0021;
+27F3 0021;
+27F9 0021;
+27FF 0021;
+2905 0021;
+290B 0021;
+2911 0021;
+2917 0021;
+291D 0021;
+2923 0021;
+2929 0021;
+292F 0021;
+2935 0021;
+293B 0021;
+2941 0021;
+2947 0021;
+294D 0021;
+2953 0021;
+2959 0021;
+295F 0021;
+2965 0021;
+296B 0021;
+2971 0021;
+2977 0021;
+297D 0021;
+2999 0021;
+299F 0021;
+29A5 0021;
+29AB 0021;
+29B1 0021;
+29B7 0021;
+29BD 0021;
+29C3 0021;
+29C9 0021;
+29CF 0021;
+29D5 0021;
+29DB 0021;
+29E1 0021;
+29E7 0021;
+29ED 0021;
+29F3 0021;
+29F9 0021;
+2A01 0021;
+2A07 0021;
+2A0E 0021;
+2A14 0021;
+2A1A 0021;
+2A20 0021;
+2A26 0021;
+2A2C 0021;
+2A32 0021;
+2A38 0021;
+2A3E 0021;
+2A44 0021;
+2A4A 0021;
+2A50 0021;
+2A56 0021;
+2A5C 0021;
+2A62 0021;
+2A68 0021;
+2A6E 0021;
+2A77 0021;
+2A7D 0021;
+2A83 0021;
+2A89 0021;
+2A8F 0021;
+2A95 0021;
+2A9B 0021;
+2AA1 0021;
+2AA7 0021;
+2AAD 0021;
+2AB3 0021;
+2AB9 0021;
+2ABF 0021;
+2AC5 0021;
+2ACB 0021;
+2AD1 0021;
+2AD7 0021;
+2ADC 003F;
+2AE2 0041;
+2AE8 0041;
+2AEE 0041;
+2AF4 0041;
+2AFA 0041;
+2B00 0041;
+2B06 0041;
+2B0C 0041;
+2B12 0041;
+2CE9 0041;
+2804 0041;
+280A 0041;
+2810 0041;
+2816 0041;
+281C 0041;
+2822 0041;
+2828 0041;
+282E 0041;
+2834 0041;
+283A 0041;
+2840 0041;
+2846 0041;
+284C 0041;
+2852 0041;
+2858 0041;
+285E 0041;
+2864 0041;
+286A 0041;
+2870 0041;
+2876 0041;
+287C 0041;
+2882 0041;
+2888 0041;
+288E 0041;
+2894 0041;
+289A 0041;
+28A0 0041;
+28A6 0041;
+28AC 0041;
+28B2 0041;
+28B8 0041;
+28BE 0041;
+28C4 0041;
+28CA 0041;
+28D0 0041;
+28D6 0041;
+28DC 0041;
+28E2 0041;
+28E8 0041;
+28EE 0041;
+28F4 0041;
+28FA 0041;
+268A 0041;
+2630 0041;
+2636 0041;
+4DC4 0041;
+4DCA 0041;
+4DD0 0041;
+4DD6 0041;
+4DDC 0041;
+4DE2 0041;
+4DE8 0041;
+4DEE 0041;
+4DF4 0041;
+4DFA 0041;
+1D300 0041;
+1D306 0041;
+1D30C 0041;
+1D312 0041;
+1D318 0041;
+1D31E 0041;
+1D324 0041;
+1D32A 0041;
+1D330 0041;
+1D336 0041;
+1D33C 0041;
+1D342 0041;
+1D348 0041;
+1D34E 0041;
+1D354 0041;
+A493 0041;
+A499 0041;
+A49F 0041;
+A4A5 0041;
+A4AB 0041;
+A4B1 0041;
+A4B7 0041;
+A4BD 0041;
+A4C3 0041;
+10139 0041;
+1013F 0041;
+1017E 0041;
+10184 0041;
+1D000 0041;
+1D006 0041;
+1D00C 0041;
+1D012 0041;
+1D018 0041;
+1D01E 0041;
+1D024 0041;
+1D02A 0041;
+1D030 0041;
+1D036 0041;
+1D03C 0041;
+1D042 0041;
+1D048 0041;
+1D04E 0041;
+1D054 0041;
+1D05A 0041;
+1D060 0041;
+1D066 0041;
+1D06C 0041;
+1D072 0041;
+1D078 0041;
+1D07E 0041;
+1D084 0041;
+1D08A 0041;
+1D090 0041;
+1D096 0041;
+1D09C 0041;
+1D0A2 0041;
+1D0A8 0041;
+1D0AE 0041;
+1D0B4 0041;
+1D0BA 0041;
+1D0C0 0041;
+1D0C6 0041;
+1D0CC 0041;
+1D0D2 0041;
+1D0D8 0041;
+1D0DE 0041;
+1D0E4 0041;
+1D0EA 0041;
+1D0F0 0041;
+1D100 0041;
+1D106 0041;
+1D10C 0041;
+1D112 0041;
+1D118 0041;
+1D11E 0041;
+1D124 0041;
+1D12A 0041;
+1D130 0041;
+1D136 0041;
+1D13C 0041;
+1D142 0041;
+1D148 0041;
+1D14E 0041;
+1D154 0041;
+1D158 1D165 0334;
+1D163 003F;
+1D15A 0061;
+1D16C 0061;
+1D18F 0061;
+1D195 0061;
+1D19B 0061;
+1D1A1 0061;
+1D1A7 0061;
+1D1B1 0061;
+1D1B7 0061;
+1D1BF 0061;
+1D1BE 0061;
+1D1C5 0021;
+1D1CB 0021;
+1D1D1 0021;
+1D1D7 0021;
+1D1DD 0021;
+1D205 0021;
+1D20B 0021;
+1D211 0021;
+1D217 0021;
+1D21D 0021;
+1D223 0021;
+1D229 0021;
+1D22F 0021;
+1D235 0021;
+1D23B 0021;
+1D241 0021;
+2FF4 0021;
+2FFA 0021;
+31C4 0021;
+31CA 0021;
+3004 0021;
+303E 0021;
+FFFD 0021;
+1372 0021;
+1378 0021;
+2181 0021;
+10110 0021;
+10116 0021;
+1011C 0021;
+10122 0021;
+10128 0021;
+1012E 0021;
+10140 0021;
+10149 0021;
+10150 0021;
+10156 0021;
+10164 0021;
+1016A 0021;
+10170 0021;
+10177 0021;
+10A45 0021;
+0EC6 0021;
+3033 0041;
+FF70 0041;
+FFE0 0062;
+00A5 0061;
+0BF9 0062;
+20A3 0062;
+FFE6 0062;
+20AF 0062;
+20B5 0062;
+1040 0021;
+19D0 003F;
+2070 0041;
+19D0 0041;
+2070 0062;
+3358 0062;
+19D1 0021;
+00B9 003F;
+10159 003F;
+2155 0041;
+2469 0061;
+246A 0021;
+246B 0021;
+246C 0021;
+2495 003F;
+24EF 0061;
+33EF 0021;
+3369 0021;
+2472 0021;
+1D7D9 0061;
+104A1 0041;
+0F21 0041;
+FF11 0062;
+0ED1 0062;
+3359 0062;
+19D2 0021;
+2082 003F;
+1015E 003F;
+24F4 0041;
+3252 0061;
+3254 0061;
+33F9 0061;
+33FC 0061;
+2082 0041;
+1948 0041;
+1015E 0041;
+0C68 0062;
+32C1 0062;
+0BE9 0021;
+2083 003F;
+248A 0061;
+325B 0061;
+32B1 0061;
+1D7EF 0041;
+0A69 0061;
+17F3 0061;
+09F6 0062;
+32C2 0062;
+0BEA 0021;
+2084 003F;
+248B 0061;
+32B9 0061;
+FF14 0061;
+136C 0061;
+0ED4 0061;
+2783 0062;
+10A43 0062;
+0665 0021;
+10321 0021;
+0E55 003F;
+215D 0062;
+2075 0061;
+194B 0061;
+10148 0041;
+0C6B 0062;
+32C4 0062;
+0C6C 0021;
+06F6 003F;
+0036 0041;
+06F6 0041;
+0ED6 0041;
+2086 0062;
+33E5 0062;
+09ED 0021;
+2786 003F;
+248E 003F;
+277C 0041;
+0CED 0041;
+1D7DF 0062;
+1047 0062;
+277D 0021;
+0038 003F;
+0ED8 003F;
+277D 0061;
+0BEE 0061;
+1010E 0061;
+19D8 0062;
+1D7EB 0021;
+17E9 0021;
+0CEF 003F;
+1D7EB 0041;
+0A6F 0041;
+17F9 0041;
+0BEF 0062;
+3361 0062;
+0081 0061;
+034F 0061;
+05AC 0061;
+06E3 0061;
+202D 0061;
+FE05 0061;
+1D172 0061;
+1D244 0061;
+E0022 0061;
+E0040 0061;
+E005E 0061;
+E007C 0061;
+E011A 0061;
+E0138 0061;
+E0156 0061;
+E0174 0061;
+E0192 0061;
+E01B0 0061;
+E01CE 0061;
+E01EC 0061;
+001B 0041;
+0099 0041;
+05A5 0041;
+06DC 0041;
+200C 0041;
+FDD4 0041;
+1D168 0041;
+1D18B 0041;
+CFFFE 0041;
+E0039 0041;
+E0057 0041;
+E0075 0041;
+E0113 0041;
+E0131 0041;
+E014F 0041;
+E016D 0041;
+E018B 0041;
+E01A9 0041;
+E01C7 0041;
+E01E5 0041;
+00C0 0334;
+0102 0334 0303;
+00C2 0334 0340;
+0061 030A 0301 0334;
+0227 0334;
+0061 030F 0334;
+0041 0323 0334 0302;
+030C 0061;
+030E 0061;
+031F 0061;
+0330 0061;
+0345 0061;
+0355 0061;
+0362 0061;
+05B6 0061;
+FE72 0061;
+FCF2 0041;
+0656 0061;
+0734 0061;
+0743 0061;
+0954 0061;
+0B3C 0061;
+A80B 0061;
+0EC8 0061;
+17C8 0061;
+302A 0061;
+20D5 0061;
+20E4 0061;
+1D656 0021;
+1EAE 0021;
+0227 0021;
+1D51E 003F;
+00C1 003F;
+00E4 003F;
+33C2 0061;
+1D552 0061;
+1D4D0 0061;
+1D2C 0061;
+00E2 0061;
+01FB 0061;
+0100 0061;
+0061 0062;
+1D63C 0062;
+1EA8 0062;
+1EB7 0062;
+01FD 003F;
+1E9A 0021;
+1D02 0041;
+0252 0021;
+0019 0062;
+0097 0062;
+05A3 0062;
+06DA 0062;
+180E 0062;
+FDD2 0062;
+1D166 0062;
+1D189 0062;
+BFFFE 0062;
+E0037 0062;
+E0055 0062;
+E0073 0062;
+E0111 0062;
+E012F 0062;
+E014D 0062;
+E016B 0062;
+E0189 0062;
+E01A7 0062;
+E01C5 0062;
+E01E3 0062;
+0062 0334 0331;
+030E 0062;
+0330 0062;
+0356 0062;
+05B7 0062;
+FE7D 0062;
+0735 0062;
+09BC 0062;
+10A0D 0062;
+17C9 0062;
+20D6 0062;
+1D553 0021;
+1E07 0021;
+1D609 003F;
+1D44F 0041;
+1D671 0061;
+1E06 0061;
+1D505 0062;
+0180 0041;
+0253 0062;
+0043 0334 030C;
+1D484 0021;
+0107 0021;
+0043 003F;
+2105 0021;
+1D588 0061;
+1D436 0061;
+0106 0041;
+1D41C 0062;
+24B8 0062;
+33A0 0062;
+0187 0021;
+1E0A 0334;
+217E 0021;
+1D60B 0021;
+1D485 003F;
+1D48 003F;
+1D485 0061;
+FF24 0041;
+1D673 0041;
+1E0E 0041;
+1D5F1 0062;
+1E10 0062;
+3378 003F;
+01F2 0061;
+1D05 0041;
+018A 003F;
+00E9 0334;
+0045 0334 0302 0341;
+0045 030C 0334;
+0115 0334 0327;
+0112 0300 0334;
+1EC7 0334;
+1D58A 0021;
+0115 0021;
+1E15 0021;
+1D626 003F;
+00CA 003F;
+1EBA 003F;
+1D626 0061;
+1D570 0061;
+00C9 0041;
+011B 0041;
+0112 0041;
+1E19 0041;
+1D46C 0062;
+011B 0062;
+1E19 0062;
+01DD 0061;
+1D95 003F;
+0258 003F;
+1D4C 0061;
+0066 0021;
+1D675 0021;
+1D571 003F;
+1D4BB 0041;
+1D405 0041;
+1D4BB 0062;
+FB00 0021;
+02A9 0021;
+0047 0334 0301;
+0047 0327 0334;
+1D4A2 0021;
+1D420 003F;
+1D33 003F;
+1D65C 0061;
+1D5DA 0061;
+011E 0041;
+1D454 0062;
+01F5 0062;
+33C9 003F;
+01E4 0061;
+0194 0021;
+0068 030C 0334;
+0068 032E 0334;
+210B 0021;
+1E96 0021;
+1D573 003F;
+FF48 0041;
+24D7 0041;
+1D677 0041;
+1E24 0041;
+1D5F5 0062;
+1E22 0062;
+3390 0062;
+0267 0062;
+0049 0306 0334;
+0069 0334 0303;
+0049 0334 030F;
+1D48A 0021;
+1D62 0021;
+1ECA 0021;
+1D470 003F;
+012F 003F;
+1D55A 0061;
+2110 0061;
+1D62 0061;
+1E2E 0061;
+1ECA 0061;
+2111 0062;
+0129 0062;
+2162 003F;
+2163 003F;
+1DA6 003F;
+0197 0062;
+0196 0062;
+1D65F 0021;
+1D4BF 003F;
+0134 003F;
+1D5F7 0041;
+1D575 0041;
+1D5F7 0062;
+0237 0061;
+1DA1 0062;
+1E33 0334;
+FF2B 0021;
+1D458 003F;
+1D4F 003F;
+1D458 0041;
+1D612 0061;
+0137 0061;
+1D660 0062;
+1E35 0062;
+3398 0041;
+33CF 0041;
+0198 003F;
+004C 0334 0327;
+217C 0021;
+1D647 0021;
+1D529 003F;
+013E 003F;
+2113 0061;
+004C 0061;
+1D647 0041;
+1E3C 0061;
+216C 0062;
+1E3A 0062;
+33D2 0061;
+1DAB 0041;
+1D85 003F;
+019B 0061;
+006D 0021;
+1D5E0 0021;
+24DC 003F;
+33A8 0061;
+1D55E 0061;
+1D440 0061;
+1E3F 0061;
+1D5FA 0062;
+33D4 0021;
+339C 0021;
+33B7 0021;
+1D6F 0021;
+006E 0334 0340;
+006E 0323 0334;
+1D62F 0021;
+1E45 0021;
+1D441 003F;
+1E49 003F;
+1D663 0041;
+1D5E1 0041;
+0146 0061;
+1D593 0062;
+0147 0062;
+01CC 0062;
+0274 003F;
+0272 0041;
+1DAF 0041;
+00D8 0341 0334;
+006F 0302 0334 0341;
+1ED4 0334;
+004F 0303 0334;
+004F 0307 0334;
+014C 0334;
+006F 0334 0311;
+1EE1 0334;
+1ECD 0334 0302;
+1D4DE 0021;
+01D2 0021;
+1E53 0021;
+1D428 003F;
+1D52 003F;
+1E4C 003F;
+01A0 003F;
+1D5FC 0061;
+1D57A 0061;
+00F3 0041;
+1ED4 0041;
+022D 0041;
+014C 0041;
+1EDD 0041;
+1D4F8 0062;
+00F3 0062;
+022D 0062;
+1EDD 0062;
+1D0F 0041;
+0186 0061;
+1D16 0062;
+0277 0041;
+0070 0307 0334;
+1D513 0021;
+0050 003F;
+FF50 0041;
+0050 0041;
+24C5 0041;
+1D52D 0062;
+1E56 0062;
+33B0 0062;
+1D71 0062;
+1D492 0021;
+1D42A 003F;
+0071 0061;
+24E0 0061;
+1D64C 0041;
+1D5B0 0062;
+0072 0334 030C;
+0072 0334 0323;
+1D563 0021;
+0158 0021;
+1D69B 003F;
+0210 003F;
+1D493 0041;
+211B 0041;
+1E59 0041;
+33AE 003F;
+FF32 0062;
+1E5B 0062;
+1D72 0062;
+027B 0061;
+027F 0062;
+0053 0302 0334;
+0073 0334 0323;
+1D564 0021;
+015C 0021;
+1D668 003F;
+1E61 003F;
+1D460 0041;
+1D682 0061;
+0161 0061;
+1E9B 0061;
+1D61A 0062;
+2120 0041;
+1D74 0041;
+01A9 0061;
+0286 0041;
+0074 0334 0326;
+1D5CD 0021;
+0162 0021;
+1D47B 003F;
+0074 0041;
+1D69D 0041;
+1D61B 0041;
+021A 0041;
+1D47B 0062;
+02A8 003F;
+01BE 0041;
+1D75 003F;
+01AE 0061;
+0075 0306 0334;
+0075 0308 0334 0341;
+00DC 0304 0334;
+016B 0334;
+0075 031B 0334;
+0075 0309 031B 0334;
+1E77 0334;
+FF35 0021;
+00FC 0021;
+1EE9 0021;
+1D602 003F;
+00FB 003F;
+0215 003F;
+1D42E 0061;
+FF35 0061;
+1D58 0061;
+00FC 0061;
+1E78 0061;
+1EE9 0061;
+1E76 0061;
+1D518 0062;
+01DA 0062;
+1EED 0062;
+1D1D 0062;
+1D99 0041;
+019C 0061;
+01B1 0061;
+1D42F 0021;
+24CB 0021;
+1D47D 003F;
+2174 0041;
+0056 0041;
+1D685 0041;
+1D66B 0062;
+2175 0061;
+1D20 0062;
+1DBA 0062;
+0057 0334 0308;
+0057 0021;
+1E88 0021;
+1D652 003F;
+1D5D0 0061;
+1D54E 0061;
+1E81 0061;
+1D568 0062;
+0175 0062;
+0078 0307 0334;
+1D44B 0021;
+1D59D 003F;
+0078 0061;
+1D605 0041;
+1D51B 0041;
+1D501 0062;
+1E8C 0062;
+0079 0334 0341;
+0079 0334 0303;
+FF59 0021;
+24CE 0021;
+1D59E 003F;
+1E99 003F;
+1D432 0041;
+1D654 0061;
+0176 0041;
+1D466 0062;
+00FD 0062;
+01B3 0061;
+007A 0323 0334;
+2124 0021;
+1D467 003F;
+017A 003F;
+1D467 0041;
+1D689 0061;
+017C 0061;
+2124 0062;
+018D 0041;
+0224 003F;
+0240 0041;
+1DBE 0062;
+0293 0061;
+01F7 0041;
+0185 003F;
+0149 0061;
+02C1 0061;
+0296 0061;
+0298 0061;
+03B1 0343 0301 0334 0345;
+1F0E 0334;
+1F09 0301 0334;
+1F09 0334 0342;
+1FB3 0341 0334;
+0391 0334 0304;
+1F06 0021;
+1FB0 0021;
+1F06 003F;
+1FB0 003F;
+1D756 0041;
+1F80 0061;
+1F8F 0061;
+1FB1 0061;
+1F06 0062;
+1FB0 0062;
+0392 003F;
+1D6E3 0041;
+0393 0021;
+1D738 0061;
+1D6FE 0062;
+1D5F 0021;
+1D71F 0061;
+1F18 0334;
+1F19 0334 0341;
+1D716 0021;
+1FC8 0021;
+1F1B 003F;
+1D7C4 0041;
+1F15 0041;
+1D7C4 0062;
+03DD 0041;
+1D73B 003F;
+1D721 0041;
+0397 0343 0334 0301;
+0397 0313 0342 0334;
+1F29 0334 0301;
+1F27 0334;
+03B7 0341 0334 0345;
+1D702 0021;
+1F95 0021;
+0397 003F;
+1F93 003F;
+1D776 0041;
+1F92 0061;
+1F2B 0061;
+1FCA 0061;
+1F22 0062;
+1FC4 0062;
+1D797 0021;
+03D1 0061;
+1D723 0061;
+0398 0062;
+1FBE 0313 0300 0334;
+1F33 0334;
+0399 0334 0340;
+1FBE 0308 0342 0334;
+1F3E 0021;
+1D704 003F;
+1F76 003F;
+0399 0041;
+1F39 0041;
+1FD6 0041;
+1D798 0062;
+1FD2 0062;
+1D6DE 003F;
+1D6DE 0041;
+1D78C 0062;
+1D77A 003F;
+1D760 0041;
+1D761 0021;
+039C 0041;
+338C 003F;
+33BC 003F;
+1D6CE 0061;
+1D6EE 0062;
+1D6CF 0061;
+1D6EF 0062;
+1F41 0334;
+03BF 0340 0334;
+03CC 0021;
+03CC 003F;
+1F40 0061;
+038C 0041;
+03CC 0062;
+1D6E1 003F;
+1D7C9 0061;
+1D6E1 0062;
+03FA 0062;
+1FEC 0334;
+1D754 003F;
+1D6E0 0041;
+03F1 0062;
+03FC 0062;
+1D782 003F;
+1D748 0041;
+1D782 0062;
+1D783 0021;
+1D783 0041;
+03C5 0313 0301 0334;
+03A5 0314 0334 0340;
+03A5 0340 0334;
+03C5 0334 0308 0342;
+1F5B 0021;
+1D6BC 003F;
+03B0 003F;
+1D76A 0041;
+038E 0061;
+1FE1 0061;
+1F7B 0062;
+03A6 0021;
+03D5 0061;
+1D6F7 0041;
+1D712 0021;
+1D74C 0061;
+03A7 0062;
+1D76D 003F;
+1D787 0062;
+03C9 0343 0345 0301 0334;
+2126 0343 0342 0334;
+03A9 0314 0341 0334;
+03A9 0314 0334 0342;
+1F7D 0345 0334;
+1D714 0021;
+1F6D 0021;
+1D7C2 003F;
+1F63 003F;
+1D714 0041;
+1F62 0061;
+1FAD 0061;
+1FF4 0061;
+1F68 0062;
+1FA9 0062;
+03F7 0041;
+2C84 0041;
+2CB6 0041;
+2C8E 0041;
+2C94 0041;
+2C99 003F;
+2CBD 003F;
+2CA1 003F;
+2CA7 003F;
+2CAD 003F;
+2CBF 003F;
+2CC3 003F;
+03E5 003F;
+03E9 003F;
+2CCF 003F;
+2CD5 003F;
+03ED 003F;
+2CDD 003F;
+2CB5 003F;
+2CE3 003F;
+0410 0306 0021;
+0410 0308 0021;
+04D9 0001 0308 0061;
+04D9 0308 0062;
+0412 0061;
+0493 003F;
+0434 003F;
+0503 003F;
+0433 0591 0301 0061;
+0498 0061;
+0435 0061;
+0435 0306 003F;
+0436 0306 0334;
+04DD 0334;
+0497 003F;
+0437 0308 0334;
+0455 0021;
+0438 0300 0334;
+045D 0061;
+04E5 0334;
+0456 003F;
+0406 0308 0061;
+0418 0306 0061;
+041A 0001 0301 0061;
+04A0 0061;
+041B 0061;
+0508 0021;
+041D 0021;
+04A2 0061;
+040A 0061;
+041E 0334 0308;
+04E9 0061;
+04E8 1D165 0308 0061;
+0481 003F;
+0441 003F;
+0442 003F;
+045B 003F;
+043A 0591 0301 0061;
+0443 0021;
+0423 0306 0334;
+0423 0334 0308;
+0423 0334 030B;
+04AF 0061;
+0444 0061;
+04BB 0061;
+047D 0061;
+04B5 0061;
+0427 0308 003F;
+04CC 003F;
+04BF 003F;
+0449 003F;
+044B 0308 0334;
+044C 0021;
+044D 0021;
+044D 0308 0041;
+044F 0062;
+046B 0062;
+046F 0062;
+0475 0001 030F 0061;
+0475 030F 0062;
+2C01 0021;
+2C04 0021;
+2C07 0021;
+2C0A 0021;
+2C0D 0021;
+2C10 0021;
+2C13 0021;
+2C16 0021;
+2C19 0021;
+2C1C 0021;
+2C1F 0021;
+2C22 0021;
+2C25 0021;
+2C28 0021;
+2C2B 0021;
+2C2E 0021;
+10A1 0021;
+10A3 0021;
+10A5 0021;
+10C1 0021;
+10A8 0021;
+10AA 0021;
+10FC 0061;
+10DD 003F;
+10DF 003F;
+10E1 003F;
+10F3 003F;
+10E4 003F;
+10E6 003F;
+10E8 003F;
+10EA 003F;
+10EC 003F;
+10EE 003F;
+10EF 003F;
+10F5 003F;
+10F9 003F;
+0533 0021;
+0587 003F;
+0538 0061;
+053B 0061;
+053E 0061;
+0541 0061;
+0544 0061;
+0545 0061;
+0548 0061;
+054B 0061;
+054E 0061;
+0551 0021;
+0554 0021;
+0559 003F;
+FB21 0041;
+FB31 003F;
+2137 0062;
+FB34 0021;
+FB35 0041;
+05D7 0041;
+FB1D 0041;
+05DA 0021;
+FB3C 0334;
+FB26 0041;
+05E1 0021;
+05E3 0021;
+05E6 003F;
+FB48 0021;
+05E9 0021;
+05EA 0334 05BC;
+FE80 0061;
+0627 0653 0062;
+0672 0061;
+0648 0591 0654 0061;
+FE88 0041;
+064A 1D165 0654 0061;
+FC00 003F;
+FC65 0041;
+FCE0 003F;
+FBF2 003F;
+FBF9 0021;
+FC69 0062;
+FE8E 0041;
+FDF2 0062;
+FE8F 0062;
+FC9E 0061;
+FC9F 0041;
+FC6E 0061;
+FB55 0061;
+FB56 0041;
+FB5A 0062;
+0755 0062;
+FE95 003F;
+FD50 0062;
+FD51 0062;
+FDA1 0062;
+FC0E 0062;
+FC73 0062;
+FC10 0062;
+FC11 0062;
+FC12 0062;
+FC14 0062;
+FB5E 0021;
+067D 0062;
+FE9D 0021;
+FC15 0062;
+FD59 0061;
+FD1E 0061;
+FB76 0062;
+FB7A 0021;
+FB7E 0021;
+FEA1 003F;
+FDBF 0062;
+FCFF 0062;
+FEA5 0041;
+FC1B 0062;
+0682 0062;
+FEA9 0062;
+FB89 0041;
+FB85 0041;
+FB87 0041;
+075A 0062;
+FDFC 0062;
+FB8C 0062;
+0697 0062;
+075B 0062;
+FEB1 0041;
+FD5E 0062;
+FD36 0041;
+FCE7 003F;
+FD63 0061;
+FD18 0061;
+FEB5 0062;
+FD2E 003F;
+FDAA 0062;
+FD0D 0062;
+FD6A 0062;
+FCFD 0062;
+06FA 0062;
+FEB9 0041;
+FDA9 0062;
+FDF9 0062;
+FD21 0061;
+FEC0 0061;
+FC23 0062;
+FD6F 0062;
+FD07 0062;
+FEC1 0021;
+FC26 0062;
+FD73 0062;
+FEC5 0021;
+FD3B 0041;
+FEC9 0041;
+FDF7 0062;
+FDB6 0062;
+FECD 003F;
+FCBD 0061;
+FCF9 0062;
+075E 0062;
+FED1 0062;
+FC2F 0062;
+FC7C 0061;
+06A3 0062;
+06A5 0062;
+0760 0062;
+FED5 0041;
+FC34 0062;
+FC35 0062;
+FED9 003F;
+FCC4 0061;
+FCC7 003F;
+FC3C 0061;
+FC3D 0062;
+FB8E 0041;
+FBD3 003F;
+FB92 003F;
+FB9A 003F;
+FB96 003F;
+0763 0062;
+FEDD 0062;
+FEF9 0062;
+FD84 0062;
+FDB5 0061;
+FD86 0061;
+FD88 0061;
+FC87 0061;
+076A 0062;
+06FE 0062;
+FD8D 0062;
+FDF4 0062;
+FDB9 0062;
+FC4A 0062;
+FEE5 0041;
+FD98 0061;
+FD95 0062;
+FC8B 0062;
+FD9A 0062;
+FC8F 0061;
+FBA0 003F;
+06B9 0062;
+FEEB 0061;
+FCD8 0061;
+FBAA 0021;
+06C1 003F;
+06FF 003F;
+FEED 0021;
+06C4 0061;
+06C6 0062;
+FBDB 0021;
+06CA 0061;
+0649 003F;
+FEF3 0021;
+0678 003F;
+FDAE 003F;
+FC93 003F;
+FC94 003F;
+FC5A 0061;
+06CD 003F;
+FBE6 0062;
+06D3 0061;
+0713 003F;
+0717 0041;
+071B 0062;
+0721 0041;
+0726 0062;
+072C 0041;
+0783 0041;
+07A2 0041;
+078B 0041;
+078D 0041;
+079E 0041;
+0795 0041;
+07A8 0041;
+07AE 0041;
+2D33 0041;
+2D39 0041;
+2D3F 0041;
+2D45 0041;
+2D4B 0041;
+2D51 0041;
+2D57 0041;
+2D5D 0041;
+2D62 0041;
+1202 0041;
+1208 0041;
+120E 0041;
+1213 0041;
+1219 0041;
+121F 0041;
+1220 0041;
+1226 0041;
+122C 0041;
+1231 0041;
+1237 0041;
+123C 0041;
+1241 0041;
+1247 0041;
+1250 0041;
+1256 0041;
+1260 0041;
+1266 0041;
+2D85 0041;
+126D 0041;
+1273 0041;
+1278 0041;
+127E 0041;
+1283 0041;
+128A 0041;
+1292 0041;
+2D88 0041;
+129D 0041;
+12A2 0041;
+2D8A 0041;
+12AD 0041;
+12B4 0041;
+12BC 0041;
+12C4 0041;
+12CC 0041;
+12D2 0041;
+12D9 0041;
+12DF 0041;
+12E4 0041;
+12EA 0041;
+12F0 0041;
+12F6 0041;
+12FB 0041;
+1300 0041;
+1306 0041;
+130B 0041;
+1312 0041;
+131A 0041;
+2D93 0041;
+1322 0041;
+2D8F 0041;
+132D 0041;
+1332 0041;
+2D91 0041;
+133D 0041;
+1343 0041;
+1349 0041;
+134F 0041;
+1351 0041;
+1357 0041;
+1358 0041;
+2DA3 0041;
+2DAA 0041;
+2DB1 0041;
+2DB8 0041;
+2DBE 0041;
+2DC5 0041;
+2DCC 0041;
+2DD3 0041;
+2DDA 0041;
+0904 0041;
+090A 0041;
+090E 0041;
+0914 0041;
+095A 0334;
+091B 0062;
+0920 003F;
+0923 0021;
+0928 003F;
+092C 0062;
+0931 003F;
+0936 0021;
+093E 0021;
+0944 0021;
+0948 0021;
+094D 0041;
+098A 0041;
+0990 0041;
+0998 0041;
+099E 0041;
+09A2 003F;
+09A6 0061;
+09AD 0061;
+09F0 0062;
+09B9 0062;
+09C2 0062;
+09C7 0591 09D7 0061;
+09CD 003F;
+0A13 003F;
+0A07 003F;
+0A39 0041;
+0A5A 0041;
+0A1C 0061;
+0A21 0062;
+0A27 0062;
+0A2D 003F;
+0A32 0062;
+0A41 0041;
+0A4D 003F;
+0A89 003F;
+0A8D 003F;
+0A95 003F;
+0A9B 003F;
+0AA1 003F;
+0AA7 003F;
+0AAE 003F;
+0AB6 003F;
+0ABF 003F;
+0AE2 003F;
+0ACB 003F;
+0B07 0062;
+0B0C 0062;
+0B15 0062;
+0B1B 0062;
+0B5C 0021;
+0B24 0041;
+0B2B 0041;
+0B30 0041;
+0B37 0041;
+0B40 0041;
+0B47 1D165 0B57 0061;
+0B4C 0062;
+0B86 0061;
+0B8F 0061;
+0B94 0062;
+0B9F 0062;
+0BAE 0062;
+0BB4 0062;
+0BBE 0062;
+0BC6 0591 0BD7 0061;
+0BCB 0061;
+0C05 0041;
+0C0B 0041;
+0C10 0041;
+0C17 0041;
+0C1D 0041;
+0C23 0041;
+0C2A 0041;
+0C30 0041;
+0C37 0041;
+0C41 0041;
+0C48 0334;
+0C4D 0021;
+0C87 003F;
+0C8C 003F;
+0C93 003F;
+0C99 003F;
+0C9F 003F;
+0CA5 003F;
+0CAC 003F;
+0CB2 003F;
+0CB3 003F;
+0CC0 003F;
+0CC6 0041;
+0CC6 0CD6 0041;
+0CCA 0CD5 0041;
+0D05 0041;
+0D0B 0041;
+0D10 0041;
+0D17 0041;
+0D1D 0041;
+0D23 0041;
+0D2A 0041;
+0D30 0041;
+0D36 0041;
+0D40 0041;
+0D47 0061;
+0D4B 0062;
+0D86 0061;
+0D8C 0061;
+0D92 0061;
+0D9B 0061;
+0DA1 0061;
+0DA7 0061;
+0DAD 0061;
+0DB4 0061;
+0DBA 0061;
+0DC3 0061;
+0DD0 0021;
+0DD8 0021;
+0DDA 0061;
+0DDC 0DCA 003F;
+0DF2 0021;
+A804 0021;
+A809 0041;
+A810 0041;
+A816 0041;
+A81C 0041;
+A822 0041;
+10A00 0041;
+10A0C 0041;
+10A16 0041;
+10A1D 0041;
+10A23 0041;
+10A29 0041;
+10A2F 0041;
+0E01 003F;
+0E02 003F;
+0E03 003F;
+0E04 003F;
+0E05 003F;
+0E06 003F;
+0E07 003F;
+0E08 003F;
+0E09 003F;
+0E0A 003F;
+0E0B 003F;
+0E0C 003F;
+0E0D 003F;
+0E0E 003F;
+0E0F 003F;
+0E10 003F;
+0E11 003F;
+0E12 003F;
+0E13 003F;
+0E14 003F;
+0E15 003F;
+0E16 003F;
+0E17 003F;
+0E18 003F;
+0E19 003F;
+0E1A 003F;
+0E1B 003F;
+0E1C 003F;
+0E1D 003F;
+0E1E 003F;
+0E1F 003F;
+0E20 003F;
+0E21 003F;
+0E22 003F;
+0E23 003F;
+0E24 003F;
+0E25 003F;
+0E26 003F;
+0E27 003F;
+0E28 003F;
+0E29 003F;
+0E2A 003F;
+0E2B 003F;
+0E2C 003F;
+0E2D 003F;
+0E2E 003F;
+0E2F 003F;
+0E33 0062;
+0E39 0334;
+0E40 0001 0E05 0061;
+0E40 0001 0E0F 0061;
+0E40 0001 0E19 0061;
+0E40 0001 0E23 0061;
+0E40 0001 0E2D 0061;
+0E41 0591 0E07 0061;
+0E41 0591 0E11 0061;
+0E41 0591 0E1B 0061;
+0E41 0591 0E25 0061;
+0E42 003F;
+0E42 1D165 0E09 0061;
+0E42 1D165 0E13 0061;
+0E42 1D165 0E1D 0061;
+0E42 1D165 0E27 0061;
+0E43 0001 0E02 0061;
+0E43 0001 0E0C 0061;
+0E43 0001 0E16 0061;
+0E43 0001 0E20 0061;
+0E43 0001 0E2A 0061;
+0E44 0591 0E04 0061;
+0E44 0591 0E0E 0061;
+0E44 0591 0E18 0061;
+0E44 0591 0E22 0061;
+0E44 0591 0E2C 0061;
+0EC2 0E81 0061;
+0EC2 0E82 0061;
+0EC2 0E84 0061;
+0EC2 0E87 0061;
+0EC2 0E88 0061;
+0EC2 0E8A 0061;
+0EC2 0E8D 0061;
+0EC2 0E94 0061;
+0EC2 0E95 0061;
+0EC2 0E96 0061;
+0EC2 0E97 0061;
+0EC2 0E99 0061;
+0EC2 0E9A 0061;
+0EC2 0E9B 0061;
+0EC2 0E9C 0061;
+0EC2 0E9D 0061;
+0EC2 0E9E 0061;
+0EC2 0E9F 0061;
+0EC2 0EA1 0061;
+0EC2 0EA2 0061;
+0EC2 0EA3 0061;
+0EC2 0EA5 0061;
+0EC2 0EA7 0061;
+0EC2 0EAA 0061;
+0EC1 0EDC 0061;
+0EC1 0EDD 0061;
+0EC2 0EAB 0061;
+0EC2 0EAD 0061;
+0EC2 0EAE 0061;
+0EB2 0061;
+0EB6 0062;
+0EBD 0021;
+0EC0 1D165 0E8D 0061;
+0EC0 1D165 0E9E 0061;
+0EC0 1D165 0EDD 0061;
+0EC1 0001 0E8D 0061;
+0EC1 0001 0E9E 0061;
+0EC1 0001 0EDD 0061;
+0EC2 0591 0E8A 0061;
+0EC2 0591 0E9D 0061;
+0EC2 0591 0EDC 0061;
+0EC3 1D165 0E88 0061;
+0EC3 1D165 0E9C 0061;
+0EC3 1D165 0EAB 0061;
+0EC4 0001 0E88 0061;
+0EC4 0001 0E9C 0061;
+0EC4 0001 0EAB 0061;
+0FB9 0021;
+0F93 0021;
+0F96 0021;
+0F9A 0021;
+0F9D 0021;
+0FA0 0021;
+0FA3 0021;
+0F57 0021;
+0FA9 0021;
+0FAC 0021;
+0F5F 0021;
+0FB1 0041;
+0FB2 1D165 0F71 0061;
+0F64 003F;
+0F67 003F;
+0F89 003F;
+0F72 0062;
+0F71 0F80 003F;
+0F75 0041;
+0FB2 0F81 0061;
+0F79 0061;
+0F7C 0334;
+1902 0021;
+1908 0021;
+190E 0021;
+1914 0021;
+191A 0021;
+1923 0021;
+1929 0021;
+1933 0021;
+1700 0021;
+1706 0021;
+170C 0021;
+1713 0021;
+1723 0041;
+1729 0041;
+172F 0041;
+1740 003F;
+1746 003F;
+174C 003F;
+1752 003F;
+1764 003F;
+176A 003F;
+1772 003F;
+1A04 003F;
+1A0A 003F;
+1A10 003F;
+1A16 003F;
+1A1B 0061;
+1005 0061;
+100B 0061;
+1011 0061;
+1017 0061;
+101D 0061;
+1021 0061;
+1026 0062;
+1054 0062;
+1030 0062;
+1059 0062;
+1784 0061;
+178A 0061;
+1790 0061;
+1796 0061;
+179C 0061;
+17A2 0061;
+17A7 0061;
+17AD 0061;
+17B3 0061;
+17B9 0061;
+17BF 0061;
+17C5 0061;
+1954 0021;
+195A 0021;
+1960 0021;
+1966 0021;
+196C 0021;
+1974 0021;
+1985 0021;
+198B 0021;
+1991 0021;
+1997 0021;
+19DE 0021;
+19A1 0021;
+19A7 0021;
+19B3 0021;
+19B9 0021;
+19BF 0021;
+19C5 0021;
+1881 0021;
+1843 0021;
+1822 0021;
+1823 0021;
+1848 0021;
+1829 0021;
+184B 0021;
+182D 0021;
+184F 0021;
+189D 0021;
+1868 0021;
+1871 0021;
+1877 0021;
+1838 0021;
+1857 0021;
+1854 0021;
+183E 0021;
+1842 0021;
+188D 0021;
+18A0 0021;
+1894 0021;
+18A6 0021;
+13A2 0041;
+13A8 0041;
+13AE 0041;
+13B4 0041;
+13BA 0041;
+13C0 0041;
+13C6 0041;
+13CC 0041;
+13D2 0041;
+13D8 0041;
+13DE 0041;
+13E4 0041;
+13EA 0041;
+13F0 0041;
+1402 0041;
+1408 0041;
+140E 0041;
+1414 0041;
+141A 0041;
+1420 0041;
+1426 0041;
+142C 0041;
+1432 0041;
+1438 0041;
+143E 0041;
+1444 0041;
+144A 0041;
+1450 0041;
+1456 0041;
+145C 0041;
+1462 0041;
+1468 0041;
+146E 0041;
+1474 0041;
+147A 0041;
+1480 0041;
+1486 0041;
+148C 0041;
+1492 0041;
+1498 0041;
+149E 0041;
+14A4 0041;
+14AA 0041;
+14B0 0041;
+14B6 0041;
+14BC 0041;
+14C2 0041;
+14C8 0041;
+14CE 0041;
+14D4 0041;
+14DA 0041;
+14E0 0041;
+14E6 0041;
+14EC 0041;
+14F2 0041;
+14F8 0041;
+14FE 0041;
+1504 0041;
+150A 0041;
+1510 0041;
+1516 0041;
+151C 0041;
+1522 0041;
+1528 0041;
+152E 0041;
+1534 0041;
+153A 0041;
+1540 0041;
+1546 0041;
+154C 0041;
+1552 0041;
+1558 0041;
+155E 0041;
+1564 0041;
+156A 0041;
+1570 0041;
+1576 0041;
+157D 0041;
+1582 0041;
+1588 0041;
+1670 0041;
+1593 0041;
+1674 0041;
+1599 0041;
+159F 0041;
+15A5 0041;
+15AA 0041;
+15B0 0041;
+15B6 0041;
+15BC 0041;
+15C2 0041;
+15C8 0041;
+15CE 0041;
+15D4 0041;
+15DA 0041;
+15E0 0041;
+15E6 0041;
+15EC 0041;
+15F2 0041;
+15F8 0041;
+15FE 0041;
+1604 0041;
+160A 0041;
+1610 0041;
+1616 0041;
+161C 0041;
+1622 0041;
+1628 0041;
+162E 0041;
+1634 0041;
+163A 0041;
+1640 0041;
+1646 0041;
+164C 0041;
+1652 0041;
+1658 0041;
+165E 0041;
+1664 0041;
+166A 0041;
+1684 0041;
+168A 0041;
+1690 0041;
+1696 0041;
+16A0 0062;
+16F0 0041;
+16AF 0041;
+16B6 0061;
+16BA 0061;
+16C2 003F;
+16EE 0041;
+16EA 003F;
+16D0 0061;
+16D7 003F;
+16DD 003F;
+16A3 0041;
+16E2 0041;
+1100 0061;
+AC00 1161 0021;
+AC03 0062;
+FFA2 0041;
+3137 0021;
+1104 0061;
+3271 003F;
+3142 0021;
+1108 0061;
+3274 003F;
+3147 0041;
+3148 0041;
+FFB9 0041;
+327C 003F;
+314C 0021;
+326C 003F;
+314E 0041;
+D788 1161 0021;
+D7A0 0062;
+3165 0062;
+1119 0062;
+316E 0062;
+1120 0061;
+3174 0062;
+1127 0061;
+112B 0061;
+112E 0061;
+1132 0061;
+317E 0062;
+113C 0062;
+1141 0062;
+1147 0061;
+114C 0061;
+1151 0062;
+1157 0061;
+115F 0062;
+FFC2 0062;
+FFC4 0062;
+FFC6 0062;
+FFCA 0062;
+FFCC 0062;
+FFCE 0062;
+FFD2 0062;
+FFD4 0062;
+FFD6 0062;
+FFDA 0062;
+FFDC 0062;
+117B 0062;
+1181 0062;
+3188 0062;
+118A 0062;
+1190 0062;
+1194 0061;
+1199 0062;
+318D 0062;
+11A8 0062;
+3135 003F;
+11AE 0062;
+313B 0041;
+313D 0041;
+313F 0041;
+11BA 0062;
+11C0 0062;
+11C6 0062;
+11CA 0062;
+316A 0062;
+316B 0062;
+11D8 0062;
+11DD 0061;
+11E1 0062;
+11E7 0062;
+11ED 0062;
+11F2 0061;
+11F7 0062;
+3041 0061;
+3301 0062;
+FF72 0061;
+FF69 0021;
+3094 0041;
+32D3 003F;
+3307 0041;
+30AA 0041;
+30AC 0021;
+32D5 0062;
+304E 0334;
+FF77 0062;
+3315 003F;
+FF78 003F;
+3319 0021;
+3051 003F;
+30F6 0062;
+3053 0041;
+30B5 0334 3099;
+32DA 0062;
+32DB 003F;
+3321 003F;
+FF7D 0061;
+32DD 003F;
+3323 0062;
+30BE 0041;
+305F 0061;
+3061 003F;
+3063 0021;
+32E1 0061;
+32E2 003F;
+30C8 3099 0334;
+3068 0062;
+FF85 0041;
+FF86 0062;
+32E7 0021;
+FF89 0041;
+30D0 0021;
+31F5 0041;
+3072 3099 0334;
+3072 0041;
+332E 0062;
+30D5 0021;
+3077 0061;
+3335 0061;
+30D9 003F;
+30DA 0041;
+333A 0021;
+32ED 003F;
+307D 0041;
+3340 0041;
+3344 0041;
+307F 0061;
+FF91 0021;
+334D 0021;
+32F2 0021;
+32F3 003F;
+FF94 0062;
+3085 0062;
+30E7 0061;
+FF97 003F;
+31FC 0041;
+FF99 003F;
+FF9A 0021;
+3356 0041;
+308E 0021;
+30EE 0062;
+30F0 0062;
+30F2 0021;
+3093 0061;
+3107 003F;
+310B 003F;
+312B 003F;
+3111 003F;
+3116 003F;
+31A9 0061;
+31A5 0021;
+31AF 0061;
+3125 003F;
+3127 0061;
+A000 003F;
+A006 003F;
+A00C 003F;
+A012 003F;
+A018 003F;
+A01E 003F;
+A024 003F;
+A02A 003F;
+A030 003F;
+A036 003F;
+A03C 003F;
+A042 003F;
+A048 003F;
+A04E 003F;
+A054 003F;
+A05A 003F;
+A060 003F;
+A066 003F;
+A06C 003F;
+A072 003F;
+A078 003F;
+A07E 003F;
+A084 003F;
+A08A 003F;
+A090 003F;
+A096 003F;
+A09C 003F;
+A0A2 003F;
+A0A8 003F;
+A0AE 003F;
+A0B4 003F;
+A0BA 003F;
+A0C0 003F;
+A0C6 003F;
+A0CC 003F;
+A0D2 003F;
+A0D8 003F;
+A0DE 003F;
+A0E4 003F;
+A0EA 003F;
+A0F0 003F;
+A0F6 003F;
+A0FC 003F;
+A102 003F;
+A108 003F;
+A10E 003F;
+A114 003F;
+A11A 003F;
+A120 003F;
+A126 003F;
+A12C 003F;
+A132 003F;
+A138 003F;
+A13E 003F;
+A144 003F;
+A14A 003F;
+A150 003F;
+A156 003F;
+A15C 003F;
+A162 003F;
+A168 003F;
+A16E 003F;
+A174 003F;
+A17A 003F;
+A180 003F;
+A186 003F;
+A18C 003F;
+A192 003F;
+A198 003F;
+A19E 003F;
+A1A4 003F;
+A1AA 003F;
+A1B0 003F;
+A1B6 003F;
+A1BC 003F;
+A1C2 003F;
+A1C8 003F;
+A1CE 003F;
+A1D4 003F;
+A1DA 003F;
+A1E0 003F;
+A1E6 003F;
+A1EC 003F;
+A1F2 003F;
+A1F8 003F;
+A1FE 003F;
+A204 003F;
+A20A 003F;
+A210 003F;
+A216 003F;
+A21C 003F;
+A222 003F;
+A228 003F;
+A22E 003F;
+A234 003F;
+A23A 003F;
+A240 003F;
+A246 003F;
+A24C 003F;
+A252 003F;
+A258 003F;
+A25E 003F;
+A264 003F;
+A26A 003F;
+A270 003F;
+A276 003F;
+A27C 003F;
+A282 003F;
+A288 003F;
+A28E 003F;
+A294 003F;
+A29A 003F;
+A2A0 003F;
+A2A6 003F;
+A2AC 003F;
+A2B2 003F;
+A2B8 003F;
+A2BE 003F;
+A2C4 003F;
+A2CA 003F;
+A2D0 003F;
+A2D6 003F;
+A2DC 003F;
+A2E2 003F;
+A2E8 003F;
+A2EE 003F;
+A2F4 003F;
+A2FA 003F;
+A300 003F;
+A306 003F;
+A30C 003F;
+A312 003F;
+A318 003F;
+A31E 003F;
+A324 003F;
+A32A 003F;
+A330 003F;
+A336 003F;
+A33C 003F;
+A342 003F;
+A348 003F;
+A34E 003F;
+A354 003F;
+A35A 003F;
+A360 003F;
+A366 003F;
+A36C 003F;
+A372 003F;
+A378 003F;
+A37E 003F;
+A384 003F;
+A38A 003F;
+A390 003F;
+A396 003F;
+A39C 003F;
+A3A2 003F;
+A3A8 003F;
+A3AE 003F;
+A3B4 003F;
+A3BA 003F;
+A3C0 003F;
+A3C6 003F;
+A3CC 003F;
+A3D2 003F;
+A3D8 003F;
+A3DE 003F;
+A3E4 003F;
+A3EA 003F;
+A3F0 003F;
+A3F6 003F;
+A3FC 003F;
+A402 003F;
+A408 003F;
+A40E 003F;
+A414 003F;
+A41A 003F;
+A420 003F;
+A426 003F;
+A42C 003F;
+A432 003F;
+A438 003F;
+A43E 003F;
+A444 003F;
+A44A 003F;
+A450 003F;
+A456 003F;
+A45C 003F;
+A462 003F;
+A468 003F;
+A46E 003F;
+A474 003F;
+A47A 003F;
+A480 003F;
+A486 003F;
+A48C 003F;
+10305 003F;
+1030B 003F;
+10311 003F;
+10317 003F;
+1031D 003F;
+10334 003F;
+1033A 003F;
+10340 003F;
+10346 003F;
+10400 0061;
+10403 0061;
+10406 0061;
+10409 0061;
+1040C 0061;
+1040F 0061;
+10412 0061;
+10415 0061;
+10418 0061;
+1041B 0061;
+1041E 0061;
+10421 0061;
+10424 0061;
+10427 0061;
+10455 003F;
+1045B 003F;
+10461 003F;
+10467 003F;
+1046D 003F;
+10473 003F;
+10479 003F;
+1047F 003F;
+10485 003F;
+1048B 003F;
+10491 003F;
+10497 003F;
+1049D 003F;
+10005 003F;
+1000B 003F;
+10012 003F;
+10018 003F;
+1001E 003F;
+10024 003F;
+1002B 003F;
+10031 003F;
+10037 003F;
+1003F 003F;
+10045 003F;
+1004B 003F;
+10053 003F;
+10059 003F;
+10081 003F;
+10087 003F;
+1008D 003F;
+10093 003F;
+10099 003F;
+1009F 003F;
+100A5 003F;
+100AB 003F;
+100B1 003F;
+100B7 003F;
+100BD 003F;
+100C3 003F;
+100C9 003F;
+100CF 003F;
+100D5 003F;
+100DB 003F;
+100E1 003F;
+100E7 003F;
+100ED 003F;
+100F3 003F;
+100F9 003F;
+10804 003F;
+1080D 003F;
+10813 003F;
+10819 003F;
+1081F 003F;
+10825 003F;
+1082B 003F;
+10831 003F;
+10838 003F;
+10383 003F;
+10389 003F;
+1038F 003F;
+10395 003F;
+1039B 003F;
+103A3 003F;
+103A9 003F;
+103AF 003F;
+103B5 003F;
+103BB 003F;
+103C1 003F;
+103CB 003F;
+3280 003F;
+3286 0021;
+3196 0021;
+FA70 003F;
+2E80 0021;
+2F802 003F;
+3288 003F;
+3193 0041;
+2E85 003F;
+2F804 003F;
+2F806 003F;
+2F80B 003F;
+FA0C 003F;
+2F0A 003F;
+3285 0021;
+2F815 003F;
+2F818 003F;
+F979 003F;
+2F10 0021;
+2F850 0021;
+2F821 003F;
+F99D 003F;
+FA33 0041;
+2F13 003F;
+2F82B 0021;
+3038 0021;
+2F82D 0021;
+2E8B 0021;
+2F832 0021;
+F96B 003F;
+2F839 003F;
+F9ED 003F;
+2F840 003F;
+2F844 003F;
+FA78 0021;
+FA7B 003F;
+2F1E 003F;
+328F 0021;
+2F854 003F;
+F96C 003F;
+2F20 003F;
+2F22 003F;
+337D 003F;
+2F85F 003F;
+2F863 003F;
+FA81 003F;
+FA04 003F;
+2F86F 0041;
+2E8C 0021;
+2F875 0062;
+F94B 003F;
+2F2D 003F;
+2F87F 003F;
+2F881 003F;
+2F884 003F;
+337B 003F;
+2F88B 003F;
+FA82 003F;
+2F36 0061;
+2E95 0021;
+FA84 003F;
+FA85 003F;
+F9A3 003F;
+FA3D 0041;
+2F8A6 003F;
+FA3E 003F;
+2F8AD 003F;
+2F8B0 0041;
+2F8B3 003F;
+2F8B4 003F;
+2F8BA 003F;
+2F8BC 003F;
+FA8E 003F;
+F991 003F;
+2F8C8 0021;
+2F43 003F;
+2E9B 003F;
+337E 003F;
+F9C5 003F;
+2F48 003F;
+2E9D 0041;
+FA93 0041;
+FA94 003F;
+2F8DF 003F;
+F97A 003F;
+2F8E8 003F;
+F94C 003F;
+2F8EF 003F;
+2F4D 0021;
+FA96 0021;
+2F50 003F;
+328C 0061;
+2F8FC 003F;
+F915 003F;
+2F902 0041;
+2F905 003F;
+2F908 003F;
+FA99 0041;
+F992 003F;
+2F914 0021;
+2EA3 003F;
+F99F 003F;
+2F91E 003F;
+2F56 003F;
+2F57 003F;
+2EA7 0021;
+2F5D 003F;
+FA16 0041;
+2F5F 003F;
+F9E4 003F;
+2F930 0021;
+2F60 003F;
+2F64 003F;
+F9CD 003F;
+2F67 003F;
+F90E 003F;
+FA17 0041;
+2F940 0021;
+FAAA 003F;
+2F6E 003F;
+FA4B 003F;
+2EAC 0021;
+FA4E 003F;
+3297 0061;
+2F956 0021;
+3299 003F;
+2F95B 003F;
+2F95F 003F;
+2F962 003F;
+F9F9 003F;
+2F968 003F;
+F94F 003F;
+FA57 0021;
+FA59 003F;
+2EB5 0021;
+F9E6 003F;
+2EB8 003F;
+2F7C 0021;
+2F7D 003F;
+2F97F 003F;
+2EBC 0061;
+F926 003F;
+2EBD 0021;
+2F87 003F;
+FA5E 0021;
+2F98F 003F;
+F974 0041;
+2F9A0 003F;
+2F9A2 003F;
+F96E 003F;
+F9C2 003F;
+FA20 003F;
+2F9B4 0021;
+2F9B7 003F;
+FAB5 0041;
+2F8E 003F;
+2EC2 003F;
+F912 003F;
+2EC4 003F;
+FA61 0041;
+2F9CF 003F;
+F941 003F;
+F95D 0041;
+F95A 003F;
+F900 003F;
+2F9D4 003F;
+FAC1 0021;
+2F9D7 003F;
+2F9DC 003F;
+F9D7 003F;
+2F9F 003F;
+2ECD 003F;
+329C 003F;
+2F9E2 003F;
+2FA3 003F;
+2FA5 0061;
+2F9E7 003F;
+F99B 003F;
+2ED2 003F;
+2ED4 003F;
+FA09 003F;
+2FAA 003F;
+FA68 0041;
+F938 003F;
+2FAE 003F;
+2ED9 003F;
+32A0 003F;
+FACC 0021;
+2FB6 003F;
+2FA02 003F;
+2EE1 0021;
+F91A 003F;
+2FBC 003F;
+2FC0 003F;
+F9F2 003F;
+F93A 003F;
+2FC5 0061;
+2FC7 0061;
+2FCB 0021;
+2FCD 003F;
+2FD0 0061;
+2EED 0061;
+2EF0 003F;
+FACE 0062;
+9FA3 003F;
+FA13 003F;
+FA27 003F;
+3403 003F;
+3409 003F;
+340F 003F;
+3415 003F;
+341B 003F;
+3421 003F;
+3427 003F;
+342D 003F;
+3433 003F;
+3439 003F;
+343F 003F;
+3445 003F;
+344B 003F;
+3451 003F;
+3457 003F;
+345D 003F;
+3463 003F;
+3469 003F;
+346F 003F;
+3475 003F;
+347B 003F;
+3481 003F;
+3487 003F;
+348D 003F;
+3493 003F;
+3499 003F;
+349E 0041;
+34A4 003F;
+34AA 003F;
+34B0 003F;
+34B6 003F;
+2F9CA 0021;
+34C0 003F;
+34C6 003F;
+34CC 003F;
+34D2 003F;
+34D8 003F;
+34DE 003F;
+34E3 003F;
+34E9 003F;
+34EF 003F;
+34F5 003F;
+34FB 003F;
+3501 003F;
+3507 003F;
+350D 003F;
+3513 003F;
+3518 003F;
+351E 003F;
+3524 003F;
+352A 003F;
+3530 003F;
+3536 003F;
+353C 003F;
+3542 003F;
+3548 003F;
+354E 003F;
+3554 003F;
+355A 003F;
+3560 003F;
+3566 003F;
+356C 003F;
+3572 003F;
+3578 003F;
+357E 003F;
+3584 003F;
+358A 003F;
+3590 003F;
+3596 003F;
+359C 003F;
+35A2 003F;
+35A8 003F;
+35AE 003F;
+35B4 003F;
+35BA 003F;
+35C0 003F;
+35C6 003F;
+35CC 003F;
+35D2 003F;
+35D8 003F;
+35DE 003F;
+35E4 003F;
+35EA 003F;
+35F0 003F;
+35F6 003F;
+35FC 003F;
+3602 003F;
+3608 003F;
+360E 003F;
+3614 003F;
+361A 003F;
+3620 003F;
+3626 003F;
+362C 003F;
+3632 003F;
+3638 003F;
+363E 003F;
+3644 003F;
+364A 003F;
+3650 003F;
+3656 003F;
+365C 003F;
+3662 003F;
+3668 003F;
+366E 003F;
+3674 003F;
+367A 003F;
+3680 003F;
+3686 003F;
+368C 003F;
+3692 003F;
+3698 003F;
+369E 003F;
+36A4 003F;
+36AA 003F;
+36B0 003F;
+36B6 003F;
+36BC 003F;
+36C2 003F;
+36C8 003F;
+36CE 003F;
+36D4 003F;
+36DA 003F;
+36E0 003F;
+36E6 003F;
+36EC 003F;
+36F1 003F;
+36F7 003F;
+36FC 0041;
+3702 003F;
+3708 003F;
+370E 003F;
+3714 003F;
+371A 003F;
+3720 003F;
+3726 003F;
+372C 003F;
+3732 003F;
+3738 003F;
+373E 003F;
+3744 003F;
+374A 003F;
+3750 003F;
+3756 003F;
+375C 003F;
+3762 003F;
+3768 003F;
+376E 003F;
+3774 003F;
+377A 003F;
+3780 003F;
+3785 003F;
+378B 003F;
+3791 003F;
+3797 003F;
+379D 003F;
+37A3 003F;
+37A9 003F;
+37AF 003F;
+37B5 003F;
+37BB 003F;
+37C1 003F;
+37C7 003F;
+37CD 003F;
+37D3 003F;
+37D9 003F;
+37DF 003F;
+37E5 003F;
+37EB 003F;
+37F1 003F;
+37F7 003F;
+37FD 003F;
+3803 003F;
+3809 003F;
+380F 003F;
+3815 003F;
+381B 003F;
+3821 003F;
+3827 003F;
+382D 003F;
+3832 003F;
+3838 003F;
+383E 003F;
+3844 003F;
+384A 003F;
+3850 003F;
+3856 003F;
+385C 003F;
+2F888 0021;
+3867 003F;
+386D 003F;
+3873 003F;
+3879 003F;
+387E 003F;
+3884 003F;
+388A 003F;
+3890 003F;
+3896 003F;
+389C 003F;
+38A2 003F;
+38A8 003F;
+38AE 003F;
+38B4 003F;
+38BA 003F;
+38C0 003F;
+38C6 003F;
+38CB 003F;
+38D1 003F;
+38D7 003F;
+38DD 003F;
+2F89B 0021;
+38E8 003F;
+38EE 003F;
+38F4 003F;
+38FA 003F;
+3900 003F;
+3906 003F;
+390C 003F;
+3912 003F;
+3918 003F;
+391D 003F;
+3923 003F;
+3929 003F;
+392F 003F;
+3935 003F;
+393A 0041;
+3940 003F;
+3946 003F;
+394C 003F;
+3952 003F;
+3958 003F;
+395E 003F;
+3964 003F;
+396A 003F;
+3970 003F;
+3976 003F;
+397C 003F;
+3982 003F;
+3988 003F;
+398E 003F;
+3994 003F;
+399A 003F;
+39A0 003F;
+39A6 003F;
+39AC 003F;
+39B2 003F;
+39B8 003F;
+39BE 003F;
+39C4 003F;
+39CA 003F;
+39D0 003F;
+39D6 003F;
+39DC 003F;
+39E2 003F;
+39E8 003F;
+39EE 003F;
+39F4 003F;
+39FA 003F;
+3A00 003F;
+3A06 003F;
+3A0C 003F;
+3A12 003F;
+3A18 003F;
+3A1E 003F;
+3A24 003F;
+3A2A 003F;
+3A2F 003F;
+3A35 003F;
+3A3B 003F;
+3A41 003F;
+3A47 003F;
+3A4D 003F;
+3A53 003F;
+3A59 003F;
+3A5F 003F;
+3A65 003F;
+3A6B 003F;
+3A70 003F;
+3A76 003F;
+3A7C 003F;
+3A82 003F;
+3A88 003F;
+3A8E 003F;
+3A94 003F;
+3A9A 003F;
+3AA0 003F;
+3AA6 003F;
+3AAC 003F;
+3AB2 003F;
+3AB8 003F;
+3ABE 003F;
+3AC4 003F;
+3ACA 003F;
+3AD0 003F;
+3AD6 003F;
+3ADC 003F;
+3AE2 003F;
+3AE7 003F;
+3AED 003F;
+3AF3 003F;
+3AF9 003F;
+3AFF 003F;
+3B05 003F;
+3B0A 003F;
+3B10 003F;
+3B16 003F;
+3B1B 003F;
+3B21 003F;
+3B27 003F;
+3B2D 003F;
+3B33 003F;
+3B39 003F;
+3B3F 003F;
+3B45 003F;
+3B4A 003F;
+3B50 003F;
+3B56 003F;
+3B5C 003F;
+3B62 003F;
+3B68 003F;
+3B6E 003F;
+3B74 003F;
+3B7A 003F;
+3B80 003F;
+3B86 003F;
+3B8C 003F;
+3B92 003F;
+3B98 003F;
+3B9D 0061;
+3BA2 003F;
+3BA8 003F;
+3BAE 003F;
+3BB4 003F;
+3BBA 003F;
+3BC0 003F;
+3BC6 003F;
+3BCC 003F;
+3BD2 003F;
+3BD8 003F;
+3BDE 003F;
+3BE4 003F;
+3BEA 003F;
+3BF0 003F;
+3BF6 003F;
+3BFC 003F;
+3C02 003F;
+3C08 003F;
+3C0E 003F;
+3C14 003F;
+3C19 003F;
+3C1F 003F;
+3C25 003F;
+3C2B 003F;
+3C31 003F;
+3C37 003F;
+3C3D 003F;
+3C43 003F;
+3C49 003F;
+3C4E 0041;
+3C54 003F;
+3C5A 003F;
+3C60 003F;
+3C66 003F;
+3C6C 003F;
+3C72 003F;
+3C78 003F;
+3C7E 003F;
+3C84 003F;
+3C8A 003F;
+3C90 003F;
+3C96 003F;
+3C9C 003F;
+3CA2 003F;
+3CA8 003F;
+3CAE 003F;
+3CB4 003F;
+3CBA 003F;
+3CC0 003F;
+3CC6 003F;
+3CCC 003F;
+3CD2 003F;
+3CD8 003F;
+3CDE 003F;
+3CE4 003F;
+3CEA 003F;
+3CF0 003F;
+3CF6 003F;
+3CFC 003F;
+3D02 003F;
+3D08 003F;
+3D0E 003F;
+3D14 003F;
+3D1A 003F;
+3D20 003F;
+3D26 003F;
+3D2C 003F;
+3D32 003F;
+3D37 003F;
+3D3D 003F;
+3D43 003F;
+3D49 003F;
+3D4F 003F;
+3D55 003F;
+3D5B 003F;
+3D61 003F;
+3D67 003F;
+3D6D 003F;
+3D73 003F;
+3D79 003F;
+3D7F 003F;
+3D85 003F;
+3D8B 003F;
+3D91 003F;
+3D96 0041;
+3D9C 003F;
+3DA2 003F;
+3DA8 003F;
+3DAE 003F;
+3DB4 003F;
+3DBA 003F;
+3DC0 003F;
+3DC6 003F;
+3DCC 003F;
+3DD2 003F;
+3DD8 003F;
+3DDE 003F;
+3DE4 003F;
+3DEA 003F;
+3DF0 003F;
+3DF6 003F;
+3DFC 003F;
+3E02 003F;
+3E08 003F;
+3E0E 003F;
+3E14 003F;
+3E1A 003F;
+3E20 003F;
+3E26 003F;
+3E2C 003F;
+3E32 003F;
+3E38 003F;
+3E3E 003F;
+3E44 003F;
+3E4A 003F;
+3E50 003F;
+3E56 003F;
+3E5C 003F;
+3E62 003F;
+3E68 003F;
+3E6E 003F;
+3E74 003F;
+3E7A 003F;
+3E80 003F;
+3E86 003F;
+3E8C 003F;
+3E92 003F;
+3E98 003F;
+3E9E 003F;
+3EA4 003F;
+3EAA 003F;
+3EAF 003F;
+3EB5 003F;
+3EB9 003F;
+3EBF 003F;
+3EC5 003F;
+3ECB 003F;
+3ED1 003F;
+3ED7 003F;
+3EDD 003F;
+3EE3 003F;
+3EE9 003F;
+3EEF 003F;
+3EF5 003F;
+3EFB 003F;
+3F01 003F;
+3F07 003F;
+3F0D 003F;
+3F13 003F;
+3F19 003F;
+3F1E 003F;
+3F24 003F;
+3F2A 003F;
+3F30 003F;
+3F36 003F;
+3F3C 003F;
+3F42 003F;
+3F48 003F;
+3F4E 003F;
+3F54 003F;
+3F5A 003F;
+3F60 003F;
+3F66 003F;
+3F6C 003F;
+3F72 003F;
+3F78 003F;
+3F7E 003F;
+3F84 003F;
+3F8A 003F;
+3F90 003F;
+3F96 003F;
+3F9C 003F;
+3FA2 003F;
+3FA8 003F;
+3FAE 003F;
+3FB4 003F;
+3FBA 003F;
+3FC0 003F;
+3FC6 003F;
+3FCC 003F;
+3FD2 003F;
+3FD8 003F;
+3FDE 003F;
+3FE4 003F;
+3FEA 003F;
+3FF0 003F;
+3FF6 003F;
+2F93E 0021;
+4001 003F;
+4007 003F;
+400C 003F;
+4012 003F;
+FAD3 0021;
+401D 003F;
+4023 003F;
+4029 003F;
+402F 003F;
+4035 003F;
+2F949 0041;
+403F 003F;
+4045 003F;
+404A 003F;
+4050 003F;
+4056 003F;
+405C 003F;
+4062 003F;
+4068 003F;
+406E 003F;
+4074 003F;
+407A 003F;
+4080 003F;
+4086 003F;
+408C 003F;
+4092 003F;
+4097 003F;
+409D 003F;
+40A3 003F;
+40A9 003F;
+40AF 003F;
+40B5 003F;
+40BB 003F;
+40C1 003F;
+40C7 003F;
+40CD 003F;
+40D3 003F;
+40D9 003F;
+40DF 003F;
+40E4 003F;
+40EA 003F;
+40F0 003F;
+40F6 003F;
+40FC 003F;
+4102 003F;
+4108 003F;
+410E 003F;
+4114 003F;
+411A 003F;
+4120 003F;
+4126 003F;
+412C 003F;
+4131 003F;
+4137 003F;
+413D 003F;
+4143 003F;
+4149 003F;
+414F 003F;
+4155 003F;
+415B 003F;
+4161 003F;
+4167 003F;
+416D 003F;
+4173 003F;
+4179 003F;
+417F 003F;
+4185 003F;
+418B 003F;
+4191 003F;
+4197 003F;
+419D 003F;
+41A3 003F;
+41A9 003F;
+41AF 003F;
+41B5 003F;
+41BB 003F;
+41C1 003F;
+41C7 003F;
+41CD 003F;
+41D3 003F;
+41D9 003F;
+41DF 003F;
+41E5 003F;
+41EB 003F;
+41F1 003F;
+41F7 003F;
+41FD 003F;
+4202 0041;
+4208 003F;
+420E 003F;
+4214 003F;
+421A 003F;
+4220 003F;
+4226 003F;
+422B 003F;
+4231 003F;
+4237 003F;
+423D 003F;
+4243 003F;
+4249 003F;
+424F 003F;
+4255 003F;
+425B 003F;
+4261 003F;
+4267 003F;
+426D 003F;
+4273 003F;
+4279 003F;
+427F 003F;
+4285 003F;
+428B 003F;
+4291 003F;
+4297 003F;
+429D 003F;
+42A2 003F;
+42A8 003F;
+42AE 003F;
+42B4 003F;
+42BA 003F;
+42C0 003F;
+42C6 003F;
+42CC 003F;
+42D2 003F;
+42D8 003F;
+42DE 003F;
+42E4 003F;
+42EA 003F;
+42F0 003F;
+42F6 003F;
+42FC 003F;
+4301 0041;
+4307 003F;
+430D 003F;
+4313 003F;
+4319 003F;
+431F 003F;
+4325 003F;
+432B 003F;
+4331 003F;
+4336 003F;
+433C 003F;
+4342 003F;
+4348 003F;
+434E 003F;
+4354 003F;
+4359 0041;
+435F 003F;
+4365 003F;
+436B 003F;
+4371 003F;
+4377 003F;
+437D 003F;
+4383 003F;
+4389 003F;
+438F 003F;
+4395 003F;
+439B 003F;
+43A1 003F;
+43A7 003F;
+43AD 003F;
+43B3 003F;
+43B9 003F;
+43BF 003F;
+43C5 003F;
+43CB 003F;
+43D1 003F;
+43D6 003F;
+43DB 003F;
+43E1 003F;
+43E7 003F;
+43ED 003F;
+43F3 003F;
+43F9 003F;
+43FF 003F;
+4405 003F;
+2F984 0021;
+4410 003F;
+4416 003F;
+441C 003F;
+4422 003F;
+4428 003F;
+442E 003F;
+4434 003F;
+443A 003F;
+4440 003F;
+4446 003F;
+444C 003F;
+4452 003F;
+4458 003F;
+445E 003F;
+4464 003F;
+446A 003F;
+446F 003F;
+4475 003F;
+447B 003F;
+4481 003F;
+4487 003F;
+448D 003F;
+4493 003F;
+4499 003F;
+449F 003F;
+44A5 003F;
+44AB 003F;
+44B1 003F;
+44B7 003F;
+44BD 003F;
+44C3 003F;
+44C9 003F;
+44CF 003F;
+44D5 003F;
+44DB 003F;
+44E1 003F;
+44E7 003F;
+44ED 003F;
+44F3 003F;
+44F9 003F;
+44FF 003F;
+4505 003F;
+450B 003F;
+4511 003F;
+4517 003F;
+451D 003F;
+4523 003F;
+4529 003F;
+452E 003F;
+4534 003F;
+453A 003F;
+4540 003F;
+4546 003F;
+454C 003F;
+4552 003F;
+4558 003F;
+455D 0041;
+4562 003F;
+4568 003F;
+456D 003F;
+4573 003F;
+4579 003F;
+457F 003F;
+4585 003F;
+458B 003F;
+4591 003F;
+4597 003F;
+459D 003F;
+45A3 003F;
+45A9 003F;
+45AF 003F;
+45B5 003F;
+45BB 003F;
+45C1 003F;
+45C7 003F;
+45CD 003F;
+45D3 003F;
+45D8 003F;
+45DE 003F;
+45E4 003F;
+45EA 003F;
+45F0 003F;
+45F6 003F;
+45FB 003F;
+4601 003F;
+4607 003F;
+460D 003F;
+4613 003F;
+4619 003F;
+461F 003F;
+4625 003F;
+462B 003F;
+4631 003F;
+4636 003F;
+463C 003F;
+4642 003F;
+4648 003F;
+464E 003F;
+4654 003F;
+465A 003F;
+4660 003F;
+4666 003F;
+466C 003F;
+4672 003F;
+4678 003F;
+467E 003F;
+4684 003F;
+468A 003F;
+4690 003F;
+4696 003F;
+469C 003F;
+46A2 003F;
+46A8 003F;
+46AE 003F;
+46B4 003F;
+46BA 003F;
+46BF 003F;
+46C5 003F;
+46CA 003F;
+46D0 003F;
+46D6 003F;
+46DC 003F;
+46E2 003F;
+46E8 003F;
+46EE 003F;
+46F4 003F;
+46FA 003F;
+4700 003F;
+4706 003F;
+470C 003F;
+4712 003F;
+4718 003F;
+471E 003F;
+4724 003F;
+472A 003F;
+4730 003F;
+4736 003F;
+473C 003F;
+4742 003F;
+4748 003F;
+474E 003F;
+4754 003F;
+475A 003F;
+4760 003F;
+4766 003F;
+476C 003F;
+4772 003F;
+4778 003F;
+477E 003F;
+4784 003F;
+478A 003F;
+4790 003F;
+4796 003F;
+479C 003F;
+47A2 003F;
+47A8 003F;
+47AE 003F;
+47B4 003F;
+47BA 003F;
+47C0 003F;
+47C6 003F;
+47CC 003F;
+47D2 003F;
+47D8 003F;
+47DE 003F;
+47E4 003F;
+47EA 003F;
+47F0 003F;
+47F6 003F;
+47FC 003F;
+4802 003F;
+4808 003F;
+480E 003F;
+4814 003F;
+481A 003F;
+4820 003F;
+4826 003F;
+482C 003F;
+4832 003F;
+4838 003F;
+483E 003F;
+4844 003F;
+484A 003F;
+4850 003F;
+4856 003F;
+485C 003F;
+4862 003F;
+4868 003F;
+486E 003F;
+4874 003F;
+487A 003F;
+4880 003F;
+4886 003F;
+488C 003F;
+4892 003F;
+4898 003F;
+489E 003F;
+48A4 003F;
+48AA 003F;
+48B0 003F;
+48B6 003F;
+48BC 003F;
+48C2 003F;
+48C8 003F;
+48CE 003F;
+48D4 003F;
+48DA 003F;
+48E0 003F;
+48E6 003F;
+48EC 003F;
+48F2 003F;
+48F8 003F;
+48FE 003F;
+4904 003F;
+490A 003F;
+4910 003F;
+4916 003F;
+491C 003F;
+4922 003F;
+4928 003F;
+492E 003F;
+4934 003F;
+493A 003F;
+4940 003F;
+4946 003F;
+494C 003F;
+4952 003F;
+4958 003F;
+495E 003F;
+4964 003F;
+496A 003F;
+4970 003F;
+4976 003F;
+497C 003F;
+4982 003F;
+4988 003F;
+498E 003F;
+4994 003F;
+4999 003F;
+499F 003F;
+49A5 003F;
+49AB 003F;
+49B1 003F;
+49B7 003F;
+49BD 003F;
+49C3 003F;
+49C9 003F;
+49CF 003F;
+49D5 003F;
+49DB 003F;
+49E1 003F;
+49E6 0041;
+49EC 003F;
+49F2 003F;
+49F8 003F;
+49FE 003F;
+4A04 003F;
+4A0A 003F;
+4A10 003F;
+4A16 003F;
+4A1C 003F;
+4A22 003F;
+4A28 003F;
+4A2E 003F;
+4A34 003F;
+4A3A 003F;
+4A40 003F;
+4A46 003F;
+4A4C 003F;
+4A52 003F;
+4A58 003F;
+4A5E 003F;
+4A64 003F;
+4A6A 003F;
+4A6F 003F;
+4A75 003F;
+4A7A 003F;
+4A80 003F;
+4A86 003F;
+4A8C 003F;
+4A92 003F;
+4A98 003F;
+4A9E 003F;
+4AA4 003F;
+4AAA 003F;
+4AB0 003F;
+4AB5 003F;
+4ABB 003F;
+4AC1 003F;
+4AC7 003F;
+4ACD 003F;
+4AD3 003F;
+4AD9 003F;
+4ADF 003F;
+4AE5 003F;
+4AEB 003F;
+4AF1 003F;
+4AF7 003F;
+4AFD 003F;
+4B03 003F;
+4B09 003F;
+4B0F 003F;
+4B15 003F;
+4B1B 003F;
+4B21 003F;
+4B27 003F;
+4B2D 003F;
+2FA03 0021;
+4B38 003F;
+4B3E 003F;
+4B44 003F;
+4B4A 003F;
+4B50 003F;
+4B56 003F;
+4B5C 003F;
+4B62 003F;
+4B68 003F;
+4B6E 003F;
+4B74 003F;
+4B7A 003F;
+4B80 003F;
+4B86 003F;
+4B8C 003F;
+4B92 003F;
+4B98 003F;
+4B9E 003F;
+4BA4 003F;
+4BAA 003F;
+4BB0 003F;
+4BB6 003F;
+4BBC 003F;
+4BC2 003F;
+4BC8 003F;
+2FA08 0021;
+4BD3 003F;
+4BD9 003F;
+4BDF 003F;
+4BE5 003F;
+4BEB 003F;
+4BF1 003F;
+4BF7 003F;
+4BFD 003F;
+4C03 003F;
+4C09 003F;
+4C0F 003F;
+4C15 003F;
+4C1B 003F;
+4C21 003F;
+4C27 003F;
+4C2D 003F;
+4C33 003F;
+4C39 003F;
+4C3F 003F;
+4C45 003F;
+4C4B 003F;
+4C51 003F;
+4C57 003F;
+4C5D 003F;
+4C63 003F;
+4C69 003F;
+4C6F 003F;
+4C75 003F;
+4C7B 003F;
+4C81 003F;
+4C87 003F;
+4C8D 003F;
+4C93 003F;
+4C99 003F;
+4C9F 003F;
+4CA5 003F;
+4CAB 003F;
+4CB1 003F;
+4CB7 003F;
+4CBD 003F;
+4CC3 003F;
+4CC9 003F;
+4CCE 0041;
+4CD4 003F;
+4CDA 003F;
+4CE0 003F;
+4CE6 003F;
+4CEC 003F;
+4CF1 003F;
+4CF7 003F;
+4CFC 003F;
+4D02 003F;
+4D08 003F;
+4D0E 003F;
+4D14 003F;
+4D1A 003F;
+4D20 003F;
+4D26 003F;
+4D2C 003F;
+4D32 003F;
+4D38 003F;
+4D3E 003F;
+4D44 003F;
+4D4A 003F;
+4D50 003F;
+2FA16 0021;
+4D5B 003F;
+4D61 003F;
+4D67 003F;
+4D6D 003F;
+4D73 003F;
+4D79 003F;
+4D7F 003F;
+4D85 003F;
+4D8B 003F;
+4D91 003F;
+4D97 003F;
+4D9D 003F;
+4DA3 003F;
+4DA9 003F;
+4DAF 003F;
+4DB5 003F;
+20005 003F;
+2F9D9 003F;
+2F861 003F;
+2F889 003F;
+FACF 003F;
+2F989 003F;
+2F8F0 003F;
+2F910 003F;
+2F927 003F;
+2F942 003F;
+2F952 003F;
+2F961 003F;
+2F973 003F;
+2F987 003F;
+2F9AD 003F;
+2F9CC 003F;
+2F9E5 003F;
+2F9FB 003F;
+2FA13 003F;
+2A6D3 003F;
+E001 003F;
+F8FB 003F;
+C0000 003F;
+E0005 003F;
+F0005 003F;
+F00FD 003F;
+FFF05 003F;
+FFFFD 003F;
+100005 003F;
+1000FD 003F;
+10FF05 003F;
+10FFFD 003F;
diff --git a/src/com/ibm/icu/dev/data/CollationTest_SHIFTED_STUB.txt b/src/com/ibm/icu/dev/data/CollationTest_SHIFTED_STUB.txt
new file mode 100644
index 0000000..6dfe945
--- /dev/null
+++ b/src/com/ibm/icu/dev/data/CollationTest_SHIFTED_STUB.txt
@@ -0,0 +1,4103 @@
+2006 0021;
+FF40 0021;
+02D8 0021;
+1FBF 0334 0300;
+1FFE 0342 0334;
+1FC0 003F;
+FE31 0021;
+055D 003F;
+003B 003F;
+0706 003F;
+0001 0021;
+0083 0021;
+0489 0021;
+05AE 0021;
+06E7 0021;
+2060 0021;
+FE07 0021;
+1D174 0021;
+1FFFF 0021;
+E0024 0021;
+E0042 0021;
+E0060 0021;
+E007E 0021;
+E011C 0021;
+E013A 0021;
+E0158 0021;
+E0176 0021;
+E0194 0021;
+E01B2 0021;
+E01D0 0021;
+E01EE 0021;
+0006 003F;
+0089 003F;
+0595 003F;
+0600 003F;
+06ED 003F;
+206B 003F;
+FE0C 003F;
+1D179 003F;
+4FFFE 003F;
+E0029 003F;
+E0047 003F;
+E0065 003F;
+E0103 003F;
+E0121 003F;
+E013F 003F;
+E015D 003F;
+E017B 003F;
+E0199 003F;
+E01B7 003F;
+E01D5 003F;
+10FFFF 003F;
+203D 003F;
+1809 003F;
+17D4 003F;
+205B 003F;
+201A 003F;
+207D 0021;
+FE48 0021;
+169B 003F;
+298A 003F;
+2E02 003F;
+FE40 003F;
+FE3B 0021;
+3019 003F;
+FF0A 003F;
+FE5F 0021;
+2043 003F;
+2054 003F;
+2E12 003F;
+070B 003F;
+0F0A 003F;
+104E 003F;
+0374 003F;
+02CE 003F;
+02EA 003F;
+02FA 003F;
+1399 003F;
+A70E 003F;
+09FA 003F;
+0F02 003F;
+0F3E 003F;
+0FCC 003F;
+19ED 003F;
+19FC 003F;
+212E 003F;
+2192 003F;
+219D 003F;
+21AC 003F;
+21BC 003F;
+21CB 003F;
+21D7 003F;
+21E6 003F;
+21F5 003F;
+1D7C3 0021;
+2209 0334;
+FB29 0021;
+2260 0021;
+FF5C 003F;
+2219 003F;
+2226 003F;
+2234 003F;
+2242 003F;
+226D 0021;
+225B 003F;
+2266 003F;
+2278 003F;
+22E1 003F;
+228A 003F;
+2295 003F;
+22AC 003F;
+22AF 003F;
+22B6 003F;
+22C5 003F;
+22D4 003F;
+22E7 003F;
+22FA 003F;
+2309 003F;
+2318 003F;
+2327 003F;
+2338 003F;
+2347 003F;
+2356 003F;
+2365 003F;
+2374 003F;
+2383 003F;
+2392 003F;
+23A1 003F;
+23B0 003F;
+23BF 003F;
+23CE 003F;
+2401 003F;
+2410 003F;
+241F 003F;
+2447 003F;
+250A 003F;
+2519 003F;
+2528 003F;
+2537 003F;
+2546 003F;
+2555 003F;
+2564 003F;
+2573 003F;
+2582 003F;
+2591 003F;
+FFED 0021;
+25AE 003F;
+25BD 003F;
+FFEE 003F;
+25DA 003F;
+25E9 003F;
+25F8 003F;
+2607 003F;
+2616 003F;
+2625 003F;
+263C 003F;
+264B 003F;
+265A 003F;
+2669 003F;
+267B 003F;
+2690 003F;
+26A2 003F;
+26B1 003F;
+2712 003F;
+2721 003F;
+2731 003F;
+2740 003F;
+2751 003F;
+2766 003F;
+2775 003F;
+27A5 003F;
+27B5 003F;
+27C5 003F;
+27DD 003F;
+27F0 003F;
+27FF 003F;
+290E 003F;
+291D 003F;
+292C 003F;
+293B 003F;
+294A 003F;
+2959 003F;
+2968 003F;
+2977 003F;
+299C 003F;
+29AB 003F;
+29BA 003F;
+29C9 003F;
+29D8 003F;
+29E7 003F;
+29F6 003F;
+2A07 003F;
+2A17 003F;
+2A26 003F;
+2A35 003F;
+2A44 003F;
+2A53 003F;
+2A62 003F;
+2A71 003F;
+2A83 003F;
+2A92 003F;
+2AA1 003F;
+2AB0 003F;
+2ABF 003F;
+2ACE 003F;
+2ADD 0021;
+2AEB 003F;
+2AFA 003F;
+2B09 003F;
+2CE9 003F;
+280D 003F;
+281C 003F;
+282B 003F;
+283A 003F;
+2849 003F;
+2858 003F;
+2867 003F;
+2876 003F;
+2885 003F;
+2894 003F;
+28A3 003F;
+28B2 003F;
+28C1 003F;
+28D0 003F;
+28DF 003F;
+28EE 003F;
+28FD 003F;
+2636 003F;
+4DCD 003F;
+4DDC 003F;
+4DEB 003F;
+4DFA 003F;
+1D309 003F;
+1D318 003F;
+1D327 003F;
+1D336 003F;
+1D345 003F;
+1D354 003F;
+A49C 003F;
+A4AB 003F;
+A4BA 003F;
+10139 003F;
+10181 003F;
+1D006 003F;
+1D015 003F;
+1D024 003F;
+1D033 003F;
+1D042 003F;
+1D051 003F;
+1D060 003F;
+1D06F 003F;
+1D07E 003F;
+1D08D 003F;
+1D09C 003F;
+1D0AB 003F;
+1D0BA 003F;
+1D0C9 003F;
+1D0D8 003F;
+1D0E7 003F;
+1D100 003F;
+1D10F 003F;
+1D11E 003F;
+1D12D 003F;
+1D13C 003F;
+1D14B 003F;
+1D158 0334 1D165;
+1D158 003F;
+1D18D 003F;
+1D19C 003F;
+1D1AF 003F;
+1D1B9 0021;
+1D1C2 003F;
+1D1D1 003F;
+1D202 003F;
+1D211 003F;
+1D220 003F;
+1D22F 003F;
+1D23E 003F;
+2FFA 003F;
+31CD 003F;
+FFFD 003F;
+137B 003F;
+10116 003F;
+10125 003F;
+10140 003F;
+10153 003F;
+1016A 003F;
+103D4 003F;
+0302 003F;
+030D 0021;
+031E 0021;
+032F 0021;
+0334 05A7;
+0334 06E4;
+0334 1D17F;
+059D 0334;
+06D8 0334;
+1D167 0334;
+1D244 0334;
+0334 0308;
+0334 0311;
+0334 0322;
+0334 0339;
+0334 034D;
+0334 035D;
+0334 0486;
+05BC 0334;
+0657 0334;
+0735 0334;
+0744 0334;
+0B3C 0334;
+1037 0334;
+20D1 0334;
+0339 0021;
+034D 0021;
+035D 0021;
+0486 0021;
+05BC 0021;
+FE78 0021;
+FC63 0021;
+065E 0021;
+073C 0021;
+093C 0021;
+0A03 0021;
+0CBC 0021;
+0E4E 003F;
+0F7E 003F;
+17CF 003F;
+FF9E 003F;
+20DA 003F;
+20E8 0021;
+3005 0021;
+3035 0021;
+30FD 0334 3099;
+FE69 0021;
+FFE5 0062;
+0E3F 0062;
+20A4 0062;
+20AA 0062;
+20B0 0062;
+1D7CE 0021;
+0AE6 0021;
+1810 0021;
+06F0 0061;
+0F20 0061;
+0966 0062;
+2474 0021;
+0661 0021;
+19D1 0021;
+10320 0021;
+24FE 0041;
+246A 0021;
+3363 0062;
+33EB 0062;
+2153 0041;
+246D 0061;
+2155 003F;
+246F 0021;
+3368 0062;
+3369 0062;
+33F1 0062;
+33F2 0062;
+24F5 0041;
+0BE7 0061;
+10107 0061;
+00B9 0062;
+10158 0062;
+1D7DA 0021;
+104A2 003F;
+0F22 003F;
+2487 003F;
+3251 0041;
+2154 003F;
+3370 0041;
+3257 0041;
+FF12 0041;
+0662 0041;
+19D2 0041;
+103D2 0041;
+0C68 0062;
+32C1 0062;
+24F7 003F;
+0C69 0021;
+10A42 0021;
+325D 0041;
+32B2 0041;
+1D7D1 0041;
+09E9 0041;
+1043 0041;
+06F3 0062;
+33E2 0062;
+24F8 0021;
+0AEA 003F;
+1814 003F;
+32B9 0041;
+32BE 0041;
+2074 0061;
+0D6A 0061;
+2477 0062;
+0E54 0062;
+2478 0021;
+06F5 0021;
+0ED5 0021;
+32BF 0021;
+1D7E7 0041;
+0A6B 0041;
+17F5 0041;
+277A 0062;
+10143 0062;
+1D7DE 0021;
+104A6 003F;
+0F2F 003F;
+1D7FC 0041;
+0AEC 0041;
+1816 0041;
+0BEC 0062;
+335E 0062;
+2077 003F;
+194D 003F;
+FF17 0061;
+0667 0061;
+0E57 0061;
+24FB 0062;
+1010D 0062;
+1D7E0 003F;
+0A6E 0021;
+17F8 0021;
+2791 0061;
+0C6E 0061;
+0038 0062;
+19D8 0062;
+247C 0021;
+06F9 0021;
+0ED9 0021;
+1D7FF 0061;
+09EF 0061;
+17E9 0061;
+096F 0062;
+32C8 0062;
+1680 0061;
+1FCE 0061;
+FE32 0061;
+037E 0061;
+16ED 0061;
+2024 0061;
+1360 0061;
+201C 0061;
+FF5B 0061;
+2990 0061;
+FE41 0061;
+00B6 0061;
+066A 0061;
+2E01 0061;
+0DF4 0061;
+166D 0061;
+02D6 0061;
+1390 0061;
+A714 0061;
+0F1A 0061;
+19E4 0061;
+2114 0061;
+2195 0061;
+21B6 0061;
+21D4 0061;
+21F2 0061;
+1D76F 0061;
+207C 0061;
+221C 0061;
+2239 0061;
+2256 0061;
+2277 0061;
+22E3 0061;
+22B0 0061;
+22CA 0061;
+22F0 0061;
+230E 0061;
+232E 0061;
+234C 0061;
+236A 0061;
+2388 0061;
+23A6 0061;
+23C4 0061;
+2406 0061;
+2424 0061;
+250F 0061;
+252D 0061;
+254B 0061;
+2569 0061;
+2587 0061;
+25A4 0061;
+25C2 0061;
+25DF 0061;
+25FD 0061;
+261B 0061;
+2641 0061;
+265F 0061;
+2680 0061;
+26A7 0061;
+2717 0061;
+2736 0061;
+275A 0061;
+279B 0061;
+27BA 0061;
+27E2 0061;
+2904 0061;
+2922 0061;
+2940 0061;
+295E 0061;
+297C 0061;
+29B0 0061;
+29CE 0061;
+29EC 0061;
+2A0D 0061;
+2A2B 0061;
+2A49 0061;
+2A67 0061;
+2A88 0061;
+2AA6 0061;
+2AC4 0061;
+2AE2 0061;
+2B00 0061;
+2804 0061;
+2822 0061;
+2840 0061;
+285E 0061;
+287C 0061;
+289A 0061;
+28B8 0061;
+28D6 0061;
+28F4 0061;
+4DC4 0061;
+4DE2 0061;
+1D300 0061;
+1D31E 0061;
+1D33C 0061;
+A493 0061;
+A4B1 0061;
+1013F 0061;
+1D00C 0061;
+1D02A 0061;
+1D048 0061;
+1D066 0061;
+1D084 0061;
+1D0A2 0061;
+1D0C0 0061;
+1D0DE 0061;
+1D106 0061;
+1D124 0061;
+1D142 0061;
+1D159 0061;
+1D1A0 0061;
+1D1C2 0061;
+1D202 0061;
+1D220 0061;
+1D23E 0061;
+31CD 0061;
+137B 0061;
+10125 0061;
+10153 0061;
+103D4 0061;
+001D 0061;
+009B 0061;
+05A7 0061;
+06DE 0061;
+200E 0061;
+FE00 0061;
+1D16D 0061;
+1D1AB 0061;
+DFFFE 0061;
+E003B 0061;
+E0059 0061;
+E0077 0061;
+E0115 0061;
+E0133 0061;
+E0151 0061;
+E016F 0061;
+E018D 0061;
+E01AB 0061;
+E01C9 0061;
+E01E7 0061;
+1D5EE 0021;
+2001 0041;
+FE4C 0041;
+309B 0041;
+060C 0041;
+0707 0041;
+055E 0041;
+0387 0041;
+10102 0041;
+208E 0041;
+2985 0041;
+2E1C 0041;
+FE3A 0041;
+FE68 0041;
+2036 0041;
+05BE 0041;
+0F10 0041;
+02C7 0041;
+02F3 0041;
+A707 0041;
+0BFA 0041;
+0FC4 0041;
+19F5 0041;
+214C 0041;
+21A8 0041;
+21C7 0041;
+21E5 0041;
+1D6DB 0041;
+FB29 0041;
+FF5E 0041;
+222C 0041;
+224A 0041;
+2266 0041;
+2288 0041;
+22AC 0041;
+22BD 0041;
+22DB 0041;
+2301 0041;
+231F 0041;
+233F 0041;
+235D 0041;
+237B 0041;
+2399 0041;
+23B7 0041;
+23D5 0041;
+2417 0041;
+FFE8 0041;
+2520 0041;
+253E 0041;
+255C 0041;
+257A 0041;
+2598 0041;
+25B5 0041;
+25D2 0041;
+25F0 0041;
+260E 0041;
+262C 0041;
+2652 0041;
+2673 0041;
+2697 0041;
+2708 0041;
+2729 0041;
+2747 0041;
+276D 0041;
+27AC 0041;
+27D5 0041;
+27F7 0041;
+2915 0041;
+2933 0041;
+2951 0041;
+296F 0041;
+29A3 0041;
+29C1 0041;
+29DF 0041;
+29FF 0041;
+2A1E 0041;
+2A3C 0041;
+2A5A 0041;
+2A7B 0041;
+2A99 0041;
+2AB7 0041;
+2AD5 0041;
+2AF3 0041;
+2B11 0041;
+2815 0041;
+2833 0041;
+2851 0041;
+286F 0041;
+288D 0041;
+28AB 0041;
+28C9 0041;
+28E7 0041;
+268F 0041;
+4DD5 0041;
+4DF3 0041;
+1D311 0041;
+1D32F 0041;
+1D34D 0041;
+A4A4 0041;
+A4C2 0041;
+10189 0041;
+1D01D 0041;
+1D03B 0041;
+1D059 0041;
+1D077 0041;
+1D095 0041;
+1D0B3 0041;
+1D0D1 0041;
+1D0EF 0041;
+1D117 0041;
+1D135 0041;
+1D153 0041;
+1D193 0041;
+1D1B5 0041;
+1D1D3 0041;
+1D213 0041;
+1D231 0041;
+31C0 0041;
+09F9 0041;
+10118 0041;
+10144 0041;
+1016C 0041;
+0010 0041;
+008E 0041;
+059A 0041;
+0611 0041;
+0F37 0041;
+D800 0041;
+FE23 0041;
+1D17E 0041;
+6FFFF 0041;
+E002E 0041;
+E004C 0041;
+E006A 0041;
+E0108 0041;
+E0126 0041;
+E0144 0041;
+E0162 0041;
+E0180 0041;
+E019E 0041;
+E01BC 0041;
+E01DA 0041;
+1D400 0021;
+00AA 003F;
+1EB3 0021;
+00C5 0021;
+0104 0021;
+1E01 0021;
+0041 0306 0334 0301;
+00E2 0334;
+00E2 0309 0334;
+0041 0308 0334;
+0226 0334 0304;
+0202 0334;
+0332 0041;
+030B 0041;
+0315 0041;
+0324 0041;
+0335 0041;
+034A 0041;
+035A 0041;
+0483 0041;
+05BB 0041;
+FE76 0041;
+FC5F 0041;
+065B 0041;
+0739 0041;
+0748 0041;
+0A3C 0041;
+0C01 0041;
+10A39 0041;
+0ECD 0041;
+17CD 0041;
+302F 0041;
+20DA 0041;
+20E9 0041;
+1D4EA 0041;
+1D468 0041;
+0103 0041;
+1EA6 0041;
+01DE 0041;
+0203 0041;
+1D586 0062;
+00C0 0062;
+01DF 0062;
+2100 0062;
+00E6 0041;
+2101 0021;
+1D01 0021;
+0251 0041;
+2000 0062;
+FE4B 0062;
+1FC0 0062;
+055D 0062;
+0706 0062;
+00BF 0062;
+00B7 0062;
+10101 0062;
+207E 0062;
+2984 0062;
+2E0D 0062;
+3015 0062;
+005C 0062;
+2037 0062;
+055F 0062;
+0F0F 0062;
+02C6 0062;
+02F2 0062;
+A706 0062;
+0BF8 0062;
+0FC3 0062;
+19F4 0062;
+214A 0062;
+21A7 0062;
+21C6 0062;
+21E4 0062;
+2202 0062;
+208A 0062;
+007E 0062;
+222D 0062;
+2249 0062;
+2271 0062;
+2286 0062;
+22A2 0062;
+22BC 0062;
+22DA 0062;
+2300 0062;
+231E 0062;
+233E 0062;
+235C 0062;
+237A 0062;
+2398 0062;
+23B6 0062;
+23D4 0062;
+2416 0062;
+2502 0062;
+251F 0062;
+253D 0062;
+255B 0062;
+2579 0062;
+2597 0062;
+25B4 0062;
+25D1 0062;
+25EF 0062;
+260D 0062;
+262B 0062;
+2651 0062;
+2672 0062;
+2696 0062;
+2707 0062;
+2727 0062;
+2746 0062;
+276C 0062;
+27AB 0062;
+27D4 0062;
+27F6 0062;
+2914 0062;
+2932 0062;
+2950 0062;
+296E 0062;
+29A2 0062;
+29C0 0062;
+29DE 0062;
+29FE 0062;
+2A1D 0062;
+2A3B 0062;
+2A59 0062;
+2A7A 0062;
+2A98 0062;
+2AB6 0062;
+2AD4 0062;
+2AF2 0062;
+2B10 0062;
+2814 0062;
+2832 0062;
+2850 0062;
+286E 0062;
+288C 0062;
+28AA 0062;
+28C8 0062;
+28E6 0062;
+268E 0062;
+4DD4 0062;
+4DF2 0062;
+1D310 0062;
+1D32E 0062;
+1D34C 0062;
+A4A3 0062;
+A4C1 0062;
+10188 0062;
+1D01C 0062;
+1D03A 0062;
+1D058 0062;
+1D076 0062;
+1D094 0062;
+1D0B2 0062;
+1D0D0 0062;
+1D0EE 0062;
+1D116 0062;
+1D134 0062;
+1D152 0062;
+1D192 0062;
+1D1B4 0062;
+1D1D2 0062;
+1D212 0062;
+1D230 0062;
+2FFB 0062;
+09F8 0062;
+10117 0062;
+10141 0062;
+1016B 0062;
+000F 0062;
+008D 0062;
+0599 0062;
+0610 0062;
+0F35 0062;
+206F 0062;
+FE21 0062;
+1D17D 0062;
+6FFFE 0062;
+E002D 0062;
+E004B 0062;
+E0069 0062;
+E0107 0062;
+E0125 0062;
+E0143 0062;
+E0161 0062;
+E017F 0062;
+E019D 0062;
+E01BB 0062;
+E01D9 0062;
+FF42 003F;
+24D1 003F;
+1D671 003F;
+1E04 0334;
+0309 0062;
+032E 0062;
+0354 0062;
+05B5 0062;
+FCF3 0062;
+0733 0062;
+0953 0062;
+0D83 0062;
+17C7 0062;
+20D4 0062;
+1D41B 0061;
+FF22 0061;
+1D47 0061;
+1D553 0062;
+1E07 0062;
+1D6C 0041;
+FF43 003F;
+1D624 003F;
+1D46A 003F;
+00E7 003F;
+0043 0307 0334;
+1D450 0061;
+FF23 0041;
+1D672 0041;
+3388 003F;
+1D436 0062;
+33C5 003F;
+33C7 0061;
+0187 0061;
+1D521 0021;
+2145 0021;
+1D48 0021;
+010F 0334;
+1E0F 0334;
+1D4B9 0061;
+216E 0061;
+24B9 0061;
+1E0E 0061;
+1D589 0062;
+010E 0062;
+3378 003F;
+01F2 0061;
+1D05 0041;
+018A 003F;
+FF45 003F;
+1D626 003F;
+1D5A4 003F;
+1EBF 003F;
+0116 003F;
+0205 003F;
+0045 0341 0334;
+0065 0302 0334 0300;
+0065 0334 0308;
+1E1C 0334;
+0065 0334 0309;
+00CA 0334 0323;
+1D556 0061;
+1D46C 0061;
+1D31 0041;
+1EC3 0041;
+0118 0041;
+1EC7 0041;
+0045 0062;
+1EC0 0062;
+0206 0062;
+01DD 003F;
+0259 0062;
+1D93 003F;
+1D08 003F;
+0066 003F;
+1D68F 003F;
+1D5A5 003F;
+1D523 0061;
+1D405 0061;
+1E1F 0041;
+1D439 0062;
+FB01 0021;
+0192 0021;
+1D420 003F;
+1D676 0021;
+011C 0021;
+0047 0334 0306;
+0047 0334 0304;
+1D5F4 0041;
+1D572 0041;
+0120 0061;
+1D690 0062;
+0121 0062;
+1DA2 0061;
+0260 003F;
+02E0 0041;
+1D5C1 0021;
+1D4D7 0021;
+021F 0021;
+0048 0334 0302;
+0048 0334 0323;
+1D4BD 0061;
+210C 0061;
+33CA 003F;
+1E2A 0041;
+0048 0062;
+1E2B 0062;
+029C 0062;
+02BB 0062;
+1D692 0021;
+1D540 0021;
+00CD 0021;
+0130 0021;
+0069 0301 0334;
+01D0 0334;
+0049 0328 0334;
+0049 0323 0334;
+1D58E 0061;
+2111 0061;
+1D62 0041;
+1E2E 0041;
+1ECA 0041;
+2111 0062;
+0129 0062;
+2162 003F;
+2163 003F;
+1DA6 003F;
+0197 0062;
+0196 0062;
+1D48B 003F;
+1D409 003F;
+0134 0334;
+1D527 0041;
+1D4A5 0041;
+1D4F3 0062;
+01F0 0062;
+025F 0061;
+1D424 003F;
+1D5DE 0021;
+01E8 003F;
+0137 0334;
+1D528 0061;
+1D43E 0061;
+3384 003F;
+1D458 0062;
+1D4F 0062;
+3391 0041;
+339E 0062;
+1D0B 0041;
+2113 0021;
+004C 0021;
+1D647 003F;
+1E3C 0021;
+004C 0334 0323;
+006C 0061;
+1D591 0041;
+1D473 0041;
+1E36 0061;
+1D4C1 0062;
+013A 0062;
+01C9 0062;
+33D3 0061;
+023D 0041;
+1DA9 0041;
+217F 0021;
+24DC 003F;
+1D614 003F;
+006D 0334 0307;
+24A8 0041;
+24DC 0041;
+1D614 0041;
+217F 0062;
+1D67C 0062;
+33D5 0021;
+33AB 0021;
+33BD 0021;
+0271 0021;
+1D45B 003F;
+1D67D 0021;
+0147 0021;
+004E 0301 0334;
+006E 0327 0334;
+1D427 0061;
+FF2E 0061;
+207F 0061;
+1E47 0061;
+1D697 0062;
+0146 0062;
+339A 0061;
+1DB0 0041;
+0272 0062;
+0235 0061;
+1D4F8 0021;
+1D476 0021;
+2092 0021;
+1ED6 0021;
+1E4F 0021;
+00D8 0334 0341;
+020F 0021;
+1ECC 0021;
+00F4 0334;
+00F4 0309 0334;
+004F 0334 030B;
+00D5 0334 0304;
+006F 0304 0334;
+020D 0334;
+004F 0334 0340 031B;
+004F 0334 0323;
+1D630 0061;
+1D5AE 0061;
+00D3 0061;
+01D2 0061;
+022C 0061;
+1E53 0061;
+1EDC 0061;
+1D4F8 0062;
+00F3 0062;
+022D 0062;
+1EDD 0062;
+1D0F 0041;
+0186 0061;
+1D16 0062;
+0277 0041;
+1D491 0021;
+2119 0021;
+1D3E 0021;
+1D429 0061;
+FF30 0061;
+1D56 0061;
+1D52D 0062;
+1E56 0062;
+33DA 0062;
+1D7D 0062;
+1DB2 0062;
+1D632 003F;
+1D5B0 003F;
+1D4FA 0041;
+1D444 0041;
+0051 0062;
+0138 0062;
+1D5CB 003F;
+1D4E1 003F;
+0156 003F;
+0072 0334 030C;
+0072 0334 0323;
+1D45F 0061;
+FF32 0041;
+02B3 0041;
+1E5B 0041;
+1D42B 0062;
+02B3 0062;
+0280 0061;
+1D1A 0062;
+027D 0062;
+24AE 0021;
+0053 0021;
+24C8 0021;
+015E 0021;
+0073 0302 0334;
+0053 0334 0327;
+0073 0041;
+1D69C 0041;
+1D61A 0041;
+1E60 0041;
+1D564 0062;
+015C 0062;
+00DF 0041;
+1DB3 003F;
+1D8B 0041;
+1D42D 0021;
+FF34 0021;
+1D57 0021;
+1E6F 0021;
+1E6C 0334;
+1D461 0061;
+FF34 0041;
+1D57 0041;
+1E6F 0041;
+1D57F 0062;
+2121 003F;
+02A7 003F;
+01AB 003F;
+0236 003F;
+1D42E 003F;
+1D650 0021;
+00D9 003F;
+01DA 003F;
+1E7A 003F;
+1EED 003F;
+0055 0341 0334;
+0055 030A 0334;
+0055 0334 0308 030C;
+0168 0334 0341;
+0055 030F 0334;
+01AF 0334 0340;
+1EE4 0334;
+1D462 0061;
+FF35 0041;
+1D58 0041;
+00FC 0041;
+1E78 0041;
+1EE9 0041;
+1E76 0041;
+1D518 0062;
+01DA 0062;
+1EED 0062;
+1D1D 0062;
+1D99 0041;
+019C 0061;
+01B1 0061;
+1D5CF 0021;
+1D4E5 0021;
+1E7C 0021;
+1D42F 0061;
+FF36 0061;
+24CB 0061;
+1D66B 0062;
+2175 0061;
+33DE 0062;
+028C 0061;
+1D534 003F;
+1D4B2 003F;
+1E85 0021;
+0175 0334;
+24B2 0041;
+0057 0041;
+24CC 0041;
+1E88 0041;
+1D61E 0062;
+028D 003F;
+1D4CD 003F;
+1D687 0021;
+1E8D 0334;
+1D5D1 0061;
+1D4E7 0061;
+1E8C 0061;
+1D47F 0062;
+216B 0021;
+1D66E 0021;
+1D5EC 0021;
+0177 003F;
+0079 0334 0301;
+0079 0303 0334;
+0079 0061;
+1D66E 0041;
+1D5EC 0041;
+1E8F 0061;
+1D66E 0062;
+1EF8 0062;
+1D433 0021;
+FF3A 0021;
+1DBB 0021;
+005A 0301 0334;
+1E95 0334;
+1D59F 0041;
+1D4B5 0041;
+1E92 0061;
+1D4B5 0062;
+1D22 0041;
+0225 0062;
+01B7 003F;
+1D23 0061;
+021C 0021;
+01BB 0061;
+0184 0041;
+02EE 0061;
+1D24 0061;
+01C0 0061;
+02AC 0061;
+1D756 003F;
+1F80 0021;
+1F8F 0021;
+1FB1 0021;
+1F00 0340 0334;
+03B1 0334 0343 0345;
+03B1 0314 0340 0334;
+0391 0334 0314 0345 0342;
+03B1 0345 0334 0300;
+1FB3 003F;
+1F08 0041;
+1F01 0041;
+1F89 0041;
+1FB3 0041;
+1F88 0062;
+1FB9 0062;
+1D5D 003F;
+1D5D 0041;
+1D772 003F;
+1D6FE 0041;
+213E 0062;
+1D759 0021;
+1D71F 0041;
+1D7AE 0021;
+1F1C 0021;
+03B5 0313 0334;
+03B5 0314 0334 0301;
+0395 0340 0334;
+1D720 0061;
+1F1B 0061;
+1D75A 0062;
+03DB 0021;
+1D6E7 003F;
+1D701 0062;
+1D6E8 003F;
+1F9E 0021;
+1F97 0021;
+03B7 0343 0334;
+03B7 0343 0300 0334 0345;
+1FCC 0313 0334;
+1F29 0340 0334;
+0397 0314 0345 0334;
+1FC6 0334;
+1D6E8 0061;
+1F26 0041;
+1F9B 0041;
+1FC6 0041;
+1F2E 0062;
+1FC7 0062;
+03F4 003F;
+1D717 0061;
+1D7A1 0061;
+1D6F3 0062;
+1D798 0021;
+1F33 0021;
+0390 0021;
+1FBE 0334 0313 0300;
+1FBE 0314 0300 0334;
+0399 0340 0334;
+1FBE 0334 0308 0342;
+1D798 0061;
+1F33 0061;
+0390 0061;
+1F32 0062;
+03F3 003F;
+1D6B1 0021;
+1D779 0041;
+1D6EB 0062;
+1D726 003F;
+1D740 0062;
+1D6B3 0021;
+1D79B 0061;
+338D 003F;
+03BD 003F;
+1D6CE 0041;
+03BE 003F;
+1D6CF 0041;
+03BF 003F;
+1F4C 003F;
+03BF 0334 0343;
+03BF 0334 0314 0301;
+1FF8 0334;
+1F44 0041;
+1FF8 0041;
+1FF8 0062;
+1D6B7 0021;
+1D71B 0041;
+1D77F 0062;
+03DF 0061;
+1D6D2 003F;
+03C1 0334 0313;
+1D780 0041;
+1D746 0062;
+1D6D3 0021;
+1D6F4 003F;
+03A3 0061;
+1D6BA 0062;
+1D749 003F;
+1D6F5 0061;
+1D74A 003F;
+1F55 003F;
+1FE6 003F;
+03C5 0343 0340 0334;
+1F51 0342 0334;
+1FE8 0334;
+1FE9 0334;
+1F54 0041;
+03D3 0041;
+1D6D6 0062;
+1FEA 0062;
+1D719 003F;
+1D719 0061;
+1D60 0041;
+1D6D8 003F;
+1D74C 0041;
+1D7A6 0062;
+1D713 0061;
+1D733 0062;
+1D6FA 003F;
+1FAE 0021;
+1FA7 0021;
+03C9 0334 0343;
+03C9 0313 0345 0300 0334;
+2126 0345 0334 0313;
+03A9 0334 0314 0340;
+1F61 0345 0334;
+03C9 0342 0334;
+2126 0061;
+1FA2 0041;
+1F6B 0041;
+1FFA 0041;
+1F62 0062;
+1FF4 0062;
+2C80 0021;
+2C86 0021;
+2C8A 0021;
+2C90 0021;
+2CE4 0061;
+2C98 0041;
+2CBC 0041;
+2CA0 0041;
+2CA6 0041;
+2CAC 0041;
+2CBE 0041;
+2CC2 0041;
+03E4 0041;
+03E8 0041;
+2CCE 0041;
+2CD4 0041;
+03EC 0041;
+2CDC 0041;
+2CB4 0041;
+2CE2 0041;
+04D0 0334;
+04D2 0334;
+04DB 0021;
+04D5 003F;
+0433 003F;
+0492 0041;
+0414 0041;
+0502 0041;
+0433 0301 0041;
+0435 003F;
+0450 0041;
+0435 0591 0306 0061;
+04C2 003F;
+04DC 003F;
+0496 0041;
+04DE 0021;
+0455 0041;
+045D 003F;
+0418 0001 0306 0061;
+04E4 003F;
+0406 0041;
+0407 0041;
+0419 0041;
+049B 003F;
+049F 003F;
+1D2B 003F;
+0508 0061;
+043D 0061;
+04C8 003F;
+050B 003F;
+043E 0334 0308;
+04E8 0001 0308 0061;
+04EB 0062;
+0480 0041;
+0421 0041;
+0422 0041;
+040B 0041;
+043A 0301 0041;
+0423 0304 0334;
+0443 0334 0306;
+0443 0334 0308;
+0443 0334 030B;
+04AE 0062;
+0424 0062;
+04BA 0062;
+047C 0062;
+04B4 0062;
+04F5 0061;
+04CB 0041;
+04BE 0041;
+0429 0041;
+04F8 0021;
+044C 0041;
+044D 0041;
+04EC 0061;
+0464 003F;
+0468 003F;
+0470 003F;
+0477 0021;
+04A9 003F;
+2C01 0061;
+2C04 0061;
+2C07 0061;
+2C0A 0061;
+2C0D 0061;
+2C10 0061;
+2C13 0061;
+2C16 0061;
+2C19 0061;
+2C1C 0061;
+2C1F 0061;
+2C22 0061;
+2C25 0061;
+2C28 0061;
+2C2B 0061;
+2C2E 0061;
+10A1 0061;
+10A3 0061;
+10A5 0061;
+10C1 0061;
+10A8 0061;
+10AA 0061;
+2D0C 003F;
+2D0D 003F;
+2D0F 003F;
+2D11 003F;
+2D23 003F;
+2D14 003F;
+2D16 003F;
+2D18 003F;
+2D1A 003F;
+2D1C 003F;
+2D1E 003F;
+2D1F 003F;
+2D25 003F;
+10FA 003F;
+0533 0061;
+0566 003F;
+0569 003F;
+056C 003F;
+056F 003F;
+0572 003F;
+FB14 003F;
+0576 003F;
+0579 003F;
+057C 003F;
+FB16 003F;
+0551 0061;
+0554 0061;
+05D0 003F;
+FB30 0061;
+2136 0041;
+2138 003F;
+05D4 0041;
+05F0 003F;
+05D8 05BC 0334;
+FB39 0062;
+FB3B 003F;
+FB3C 0021;
+05DE 0062;
+05E1 0041;
+FB43 0021;
+05E5 0061;
+05E8 0041;
+FB2A 003F;
+05EA 05BC 0334;
+0674 0062;
+0623 003F;
+FB51 0021;
+FE86 0061;
+FE88 0062;
+FE8C 0061;
+FC97 0062;
+FCDF 003F;
+FC9B 0062;
+FBF3 0062;
+FBF9 003F;
+FBF7 003F;
+FD3D 0061;
+066E 0062;
+FC9C 0061;
+FC07 0062;
+FC08 0061;
+FC09 0062;
+FB52 0041;
+FB56 0062;
+0750 0062;
+0756 0062;
+FE98 0061;
+FDA0 0062;
+FD53 0062;
+FC70 0062;
+FD55 0062;
+FCA5 0061;
+FE9C 0021;
+FC76 0062;
+FC79 0062;
+FB69 0021;
+FB5E 003F;
+FB65 0021;
+FE9D 003F;
+FDA6 0062;
+FD58 0062;
+FD02 0062;
+FB75 0021;
+FB7A 003F;
+FB7E 003F;
+FEA4 0061;
+FCAA 0061;
+FD1C 0061;
+FEA5 0062;
+FD1F 0061;
+0685 0062;
+FEAB 0021;
+FB88 0062;
+FB84 0062;
+FB86 0062;
+FEAD 0021;
+FEAF 0021;
+0692 0062;
+FB8A 0021;
+076B 0062;
+FEB1 0062;
+FC1D 0021;
+FC1E 0062;
+FCE7 0041;
+FD62 0062;
+FCFC 0062;
+FD25 0021;
+FD2E 0041;
+FD27 0021;
+FD28 0021;
+FD6D 0061;
+FD1A 0061;
+075C 0062;
+FEB9 0062;
+FCB2 0062;
+FDF0 0062;
+FD05 0062;
+FEBD 0041;
+FD6E 0062;
+FD2C 0061;
+FD24 0061;
+FEC1 003F;
+FC27 0021;
+FD74 0062;
+FEC5 003F;
+FC28 0062;
+FEC9 0062;
+FCBB 0061;
+FD13 0061;
+FED0 0061;
+FC2C 0062;
+FD16 0061;
+075F 0062;
+FCBE 0061;
+FD7D 0061;
+FC31 0062;
+FB6D 0021;
+FB71 0021;
+0761 0062;
+FED5 0062;
+FDB4 0061;
+FC7F 0061;
+FEDC 0061;
+FC38 0062;
+FCC7 0041;
+FC3C 0062;
+FC84 0061;
+FB8E 0062;
+FBD6 0061;
+FB95 0061;
+FB9D 0061;
+FB99 0061;
+0764 0062;
+FEF6 0061;
+FEFC 0061;
+FDBA 0061;
+FD80 0062;
+FD85 0062;
+FD87 0062;
+FC44 0062;
+FEE4 0021;
+FC88 0062;
+FDC0 0062;
+FD8B 0062;
+FC48 0021;
+0765 0062;
+FEE5 0062;
+FD97 0062;
+FD96 0062;
+FC8C 0021;
+FC8D 0062;
+FC50 0062;
+FBA3 0061;
+0767 0062;
+FEEA 0041;
+FC52 0062;
+FBAA 003F;
+06C2 003F;
+06D5 003F;
+0648 0061;
+FBE1 0021;
+FBD8 0021;
+06C8 0041;
+FBDF 0021;
+FC5D 0021;
+FEF4 003F;
+FCDA 003F;
+FCDC 003F;
+FCF0 0041;
+FCDE 003F;
+06CC 003F;
+06CE 003F;
+06D1 003F;
+FBB0 0041;
+0714 0061;
+0718 0041;
+071D 0041;
+0722 0041;
+074F 0041;
+0780 0041;
+079C 0041;
+07A3 0041;
+079B 0041;
+078E 0041;
+079F 0041;
+0796 0041;
+07A9 0041;
+07AF 0041;
+2D34 0041;
+2D3A 0041;
+2D40 0041;
+2D46 0041;
+2D4C 0041;
+2D52 0041;
+2D58 0041;
+2D5E 0041;
+2D63 0041;
+1203 0041;
+1209 0041;
+120F 0041;
+1214 0041;
+121A 0041;
+1380 0041;
+1221 0041;
+1227 0041;
+122D 0041;
+1232 0041;
+2D83 0041;
+123D 0041;
+1242 0041;
+1248 0041;
+1251 0041;
+1258 0041;
+1261 0041;
+1267 0041;
+1268 0041;
+126E 0041;
+1274 0041;
+1279 0041;
+127F 0041;
+1284 0041;
+128B 0041;
+1293 0041;
+1298 0041;
+129E 0041;
+12A3 0041;
+12A8 0041;
+12AE 0041;
+12B5 0041;
+12BD 0041;
+12C5 0041;
+12CD 0041;
+12D3 0041;
+12DA 0041;
+2D8B 0041;
+12E5 0041;
+12EB 0041;
+12F1 0041;
+12F7 0041;
+12FC 0041;
+1301 0041;
+1307 0041;
+130C 0041;
+1313 0041;
+131B 0041;
+2D94 0041;
+1323 0041;
+1328 0041;
+132E 0041;
+1333 0041;
+1338 0041;
+133E 0041;
+1344 0041;
+134A 0041;
+1388 0041;
+1352 0041;
+138C 0041;
+1359 0041;
+2DA4 0041;
+2DAB 0041;
+2DB2 0041;
+2DB9 0041;
+2DC0 0041;
+2DC6 0041;
+2DCD 0041;
+2DD4 0041;
+2DDB 0041;
+0905 0041;
+090B 0041;
+090F 0041;
+0915 093C 0334;
+0917 0061;
+095B 0334;
+0921 003F;
+0924 0021;
+0929 0041;
+092D 0062;
+0930 0062;
+0937 0021;
+093F 0021;
+0962 0021;
+0949 0021;
+0985 0041;
+098B 0041;
+0993 0041;
+0999 0041;
+099F 0041;
+09DD 0041;
+09A7 0061;
+09AE 0061;
+09B2 0062;
+09BD 0062;
+09C3 0062;
+09C8 0041;
+09D7 003F;
+0A05 003F;
+0A08 003F;
+0A15 0041;
+0A18 0061;
+0A5B 0062;
+0A22 0062;
+0A28 0062;
+0A2E 003F;
+0A35 0041;
+0A42 0041;
+0AD0 003F;
+0A8A 003F;
+0A8F 003F;
+0A96 003F;
+0A9C 003F;
+0AA2 003F;
+0AA8 003F;
+0AAF 003F;
+0AB7 003F;
+0AC0 003F;
+0AE3 003F;
+0ACC 003F;
+0B08 0062;
+0B61 0062;
+0B16 0062;
+0B1C 0062;
+0B5C 0061;
+0B25 0041;
+0B2C 0041;
+0B32 0041;
+0B38 0041;
+0B41 0041;
+0B47 0B56 0061;
+0B4D 0061;
+0B87 0061;
+0B90 0061;
+0B95 0062;
+0BA3 0062;
+0BAF 0062;
+0BB5 0062;
+0BBF 0062;
+0BC7 0041;
+0BC6 0BD7 0021;
+0C06 0041;
+0C60 0041;
+0C12 0041;
+0C18 0041;
+0C1E 0041;
+0C24 0041;
+0C2B 0041;
+0C31 0041;
+0C38 0041;
+0C42 0041;
+0C46 0591 0C56 0061;
+0C55 0021;
+0C88 003F;
+0CE1 003F;
+0C94 003F;
+0C9A 003F;
+0CA0 003F;
+0CA6 003F;
+0CAD 003F;
+0CB5 003F;
+0CDE 003F;
+0CBF 0CD5 0062;
+0CC6 0001 0CC2 0CD5 0061;
+0CCA 0021;
+0CCC 0021;
+0D06 0041;
+0D60 0041;
+0D12 0041;
+0D18 0041;
+0D1E 0041;
+0D24 0041;
+0D2B 0041;
+0D31 0041;
+0D37 0041;
+0D41 0041;
+0D47 1D165 0D3E 0061;
+0D46 0D57 0061;
+0D87 0061;
+0D8D 0061;
+0D93 0061;
+0D9C 0061;
+0DA2 0061;
+0DA8 0061;
+0DAE 0061;
+0DB5 0061;
+0DBB 0061;
+0DC4 0061;
+0DD1 0021;
+0DD9 0021;
+0DDB 0021;
+0DDC 0591 0DCA 0061;
+0DF3 0021;
+A805 0021;
+A80A 0041;
+A811 0041;
+A817 0041;
+A81D 0041;
+A823 0041;
+10A01 0041;
+10A10 0041;
+10A17 0041;
+10A1E 0041;
+10A24 0041;
+10A2A 0041;
+10A30 0041;
+0E40 0E01 003F;
+0E40 0E02 003F;
+0E40 0E03 003F;
+0E40 0E04 003F;
+0E40 0E05 003F;
+0E40 0E06 003F;
+0E40 0E07 003F;
+0E40 0E08 003F;
+0E40 0E09 003F;
+0E40 0E0A 003F;
+0E40 0E0B 003F;
+0E40 0E0C 003F;
+0E40 0E0D 003F;
+0E40 0E0E 003F;
+0E40 0E0F 003F;
+0E40 0E10 003F;
+0E40 0E11 003F;
+0E40 0E12 003F;
+0E40 0E13 003F;
+0E40 0E14 003F;
+0E40 0E15 003F;
+0E40 0E16 003F;
+0E40 0E17 003F;
+0E40 0E18 003F;
+0E40 0E19 003F;
+0E40 0E1A 003F;
+0E40 0E1B 003F;
+0E40 0E1C 003F;
+0E40 0E1D 003F;
+0E40 0E1E 003F;
+0E40 0E1F 003F;
+0E40 0E20 003F;
+0E40 0E21 003F;
+0E40 0E22 003F;
+0E40 0E23 003F;
+0E40 0E24 003F;
+0E40 0E25 003F;
+0E40 0E26 003F;
+0E40 0E27 003F;
+0E40 0E28 003F;
+0E40 0E29 003F;
+0E40 0E2A 003F;
+0E40 0E2B 003F;
+0E40 0E2C 003F;
+0E40 0E2D 003F;
+0E40 0E2E 003F;
+0E30 003F;
+0E34 0041;
+0E39 0062;
+0E40 1D165 0E06 0061;
+0E40 1D165 0E10 0061;
+0E40 1D165 0E1A 0061;
+0E40 1D165 0E24 0061;
+0E40 1D165 0E2E 0061;
+0E41 0001 0E09 0061;
+0E41 0001 0E13 0061;
+0E41 0001 0E1D 0061;
+0E41 0001 0E27 0061;
+0E42 0591 0E01 0061;
+0E42 0591 0E0B 0061;
+0E42 0591 0E15 0061;
+0E42 0591 0E1F 0061;
+0E42 0591 0E29 0061;
+0E43 1D165 0E03 0061;
+0E43 1D165 0E0D 0061;
+0E43 1D165 0E17 0061;
+0E43 1D165 0E21 0061;
+0E43 1D165 0E2B 0061;
+0E44 0001 0E06 0061;
+0E44 0001 0E10 0061;
+0E44 0001 0E1A 0061;
+0E44 0001 0E24 0061;
+0E44 0001 0E2E 0061;
+0EC3 0E81 0061;
+0EC3 0E82 0061;
+0EC3 0E84 0061;
+0EC3 0E87 0061;
+0EC3 0E88 0061;
+0EC3 0E8A 0061;
+0EC3 0E8D 0061;
+0EC3 0E94 0061;
+0EC3 0E95 0061;
+0EC3 0E96 0061;
+0EC3 0E97 0061;
+0EC3 0E99 0061;
+0EC3 0E9A 0061;
+0EC3 0E9B 0061;
+0EC3 0E9C 0061;
+0EC3 0E9D 0061;
+0EC3 0E9E 0061;
+0EC3 0E9F 0061;
+0EC3 0EA1 0061;
+0EC3 0EA2 0061;
+0EC3 0EA3 0061;
+0EC3 0EA5 0061;
+0EC3 0EA7 0061;
+0EC3 0EAA 0061;
+0EC2 0EDC 0061;
+0EC2 0EDD 0061;
+0EC3 0EAB 0061;
+0EC3 0EAD 0061;
+0EC3 0EAE 0061;
+0EB2 0062;
+0EB7 0062;
+0EC0 0021;
+0EC0 0591 0E95 0061;
+0EC0 0591 0EA1 0061;
+0EC0 0591 0EAE 0061;
+0EC1 1D165 0E94 0061;
+0EC1 1D165 0E9F 0061;
+0EC1 1D165 0EAD 0061;
+0EC2 0001 0E94 0061;
+0EC2 0001 0E9F 0061;
+0EC2 0001 0EAD 0061;
+0EC3 0591 0E8D 0061;
+0EC3 0591 0E9E 0061;
+0EC3 0591 0EDD 0061;
+0EC4 1D165 0E8A 0061;
+0EC4 1D165 0E9D 0061;
+0EC4 1D165 0EDC 0061;
+0F41 0021;
+0F44 0021;
+0F47 0021;
+0F4B 0021;
+0F4E 0021;
+0F51 0021;
+0F54 0021;
+0FA6 0021;
+0F5A 0021;
+0F5D 0021;
+0FAF 0021;
+0F62 0021;
+0FB2 0001 0F71 0F80 0061;
+0FB4 003F;
+0FB7 003F;
+0F8A 003F;
+0334 0F72 0F71;
+0F81 0061;
+0F76 003F;
+0FB2 0F81 0041;
+0FB3 0F71 1D165 0F80 0061;
+0F7C 0062;
+1903 0021;
+1909 0021;
+190F 0021;
+1915 0021;
+191B 0021;
+1924 0021;
+192A 0021;
+1934 0021;
+1701 0021;
+1707 0021;
+170E 0021;
+1714 0021;
+1724 0041;
+172A 0041;
+1730 0041;
+1741 003F;
+1747 003F;
+174D 003F;
+1753 003F;
+1765 003F;
+176B 003F;
+1773 003F;
+1A05 003F;
+1A0B 003F;
+1A11 003F;
+1A17 003F;
+1000 0061;
+1006 0061;
+100C 0061;
+1012 0061;
+1018 0061;
+1050 0061;
+1023 0061;
+1027 0062;
+1055 0062;
+1031 0062;
+1039 0061;
+1785 0061;
+178B 0061;
+1791 0061;
+1797 0061;
+179D 0061;
+17DC 0061;
+17A8 0061;
+17AE 0061;
+17B4 0061;
+17BA 0061;
+17C0 0061;
+0334 17D2;
+1955 0021;
+195B 0021;
+1961 0021;
+1967 0021;
+196D 0021;
+1980 0021;
+1986 0021;
+198C 0021;
+1992 0021;
+1998 0021;
+19DF 0021;
+19A2 0021;
+19A8 0021;
+19B4 0021;
+19BA 0021;
+19C0 0021;
+19C6 0021;
+1882 0021;
+1820 0021;
+1845 0021;
+1846 0021;
+1826 0021;
+184A 0021;
+182B 0021;
+184E 0021;
+182F 0021;
+18A2 0021;
+1833 0021;
+185C 0021;
+1836 0021;
+1856 0021;
+1863 0021;
+186E 0021;
+1859 0021;
+185A 0021;
+188E 0021;
+1891 0021;
+18A3 0021;
+18A7 0021;
+13A3 0041;
+13A9 0041;
+13AF 0041;
+13B5 0041;
+13BB 0041;
+13C1 0041;
+13C7 0041;
+13CD 0041;
+13D3 0041;
+13D9 0041;
+13DF 0041;
+13E5 0041;
+13EB 0041;
+13F1 0041;
+1403 0041;
+1409 0041;
+140F 0041;
+1415 0041;
+141B 0041;
+1421 0041;
+1427 0041;
+142D 0041;
+1433 0041;
+1439 0041;
+143F 0041;
+1445 0041;
+144B 0041;
+1451 0041;
+1457 0041;
+145D 0041;
+1463 0041;
+1469 0041;
+146F 0041;
+1475 0041;
+147B 0041;
+1481 0041;
+1487 0041;
+148D 0041;
+1493 0041;
+1499 0041;
+149F 0041;
+14A5 0041;
+14AB 0041;
+14B1 0041;
+14B7 0041;
+14BD 0041;
+14C3 0041;
+14C9 0041;
+14CF 0041;
+14D5 0041;
+14DB 0041;
+14E1 0041;
+14E7 0041;
+14ED 0041;
+14F3 0041;
+14F9 0041;
+14FF 0041;
+1505 0041;
+150B 0041;
+1511 0041;
+1517 0041;
+151D 0041;
+1523 0041;
+1529 0041;
+152F 0041;
+1535 0041;
+153B 0041;
+1541 0041;
+1547 0041;
+154D 0041;
+1553 0041;
+1559 0041;
+155F 0041;
+1565 0041;
+156B 0041;
+1571 0041;
+1577 0041;
+166F 0041;
+1583 0041;
+1589 0041;
+158E 0041;
+1594 0041;
+1675 0041;
+159A 0041;
+15A0 0041;
+15A6 0041;
+15AB 0041;
+15B1 0041;
+15B7 0041;
+15BD 0041;
+15C3 0041;
+15C9 0041;
+15CF 0041;
+15D5 0041;
+15DB 0041;
+15E1 0041;
+15E7 0041;
+15ED 0041;
+15F3 0041;
+15F9 0041;
+15FF 0041;
+1605 0041;
+160B 0041;
+1611 0041;
+1617 0041;
+161D 0041;
+1623 0041;
+1629 0041;
+162F 0041;
+1635 0041;
+163B 0041;
+1641 0041;
+1647 0041;
+164D 0041;
+1653 0041;
+1659 0041;
+165F 0041;
+1665 0041;
+166B 0041;
+1685 0041;
+168B 0041;
+1691 0041;
+1697 0041;
+16A4 003F;
+16A9 003F;
+16B0 0041;
+16B5 0062;
+16BC 0041;
+16C1 0062;
+16C7 0041;
+16CA 0041;
+16D0 0062;
+16D8 0061;
+16DC 0062;
+16E0 0041;
+16E5 0041;
+3131 0061;
+326E 0041;
+AC02 0062;
+1101 0061;
+3201 0062;
+3262 0061;
+FFA8 0041;
+3211 003F;
+3204 0062;
+3265 0061;
+FFB3 0041;
+3214 003F;
+3267 0021;
+321D 003F;
+3268 0061;
+110D 003F;
+3269 0061;
+326A 0021;
+1110 003F;
+3279 0061;
+321A 003F;
+320D 0062;
+D788 1161 0021;
+D7A0 0062;
+3165 0062;
+1119 0062;
+316E 0062;
+1120 0061;
+3174 0062;
+1127 0061;
+112B 0061;
+112E 0061;
+1132 0061;
+317E 0062;
+113C 0062;
+1141 0062;
+1147 0061;
+114C 0061;
+1151 0062;
+1157 0061;
+115F 0062;
+FFC2 0062;
+FFC4 0062;
+FFC6 0062;
+FFCA 0062;
+FFCC 0062;
+FFCE 0062;
+FFD2 0062;
+FFD4 0062;
+FFD6 0062;
+FFDA 0062;
+FFDC 0062;
+117B 0062;
+1181 0062;
+3188 0062;
+118A 0062;
+1190 0062;
+1194 0061;
+1199 0062;
+318D 0062;
+11A8 0062;
+FFA5 0021;
+11AE 0062;
+313B 0041;
+313D 0041;
+313F 0041;
+11BA 0062;
+11C0 0062;
+11C6 0062;
+11CA 0062;
+316A 0062;
+316B 0062;
+11D8 0062;
+11DD 0061;
+11E1 0062;
+11E7 0062;
+11ED 0062;
+11F2 0061;
+11F7 0062;
+3041 0061;
+3301 0062;
+FF72 0061;
+30A6 003F;
+3094 0041;
+32D3 003F;
+3307 0041;
+30AA 0041;
+304B 3099 0334;
+32D5 0062;
+30AD 0021;
+FF77 0062;
+3315 003F;
+3050 0021;
+3319 0021;
+30B1 0334 3099;
+30F6 0062;
+3053 0041;
+30B5 003F;
+32DA 0062;
+3058 003F;
+3321 003F;
+FF7D 0061;
+305C 003F;
+3323 0062;
+30BE 0041;
+305F 0061;
+30C1 3099 0334;
+FF6F 0021;
+32E1 0061;
+3067 003F;
+30C8 0021;
+3068 0062;
+FF85 0041;
+FF86 0062;
+30CD 003F;
+FF89 0041;
+3071 0334;
+31F5 0041;
+3072 003F;
+3072 0041;
+332E 0062;
+30D5 3099 0334;
+3077 0061;
+3335 0061;
+307A 003F;
+30DA 0041;
+333A 0021;
+30DC 003F;
+307D 0041;
+3340 0041;
+3344 0041;
+307F 0061;
+31FA 003F;
+334D 0021;
+30E2 003F;
+32F3 003F;
+FF94 0062;
+3085 0062;
+30E7 0061;
+32F6 0021;
+31FC 0041;
+32F8 0021;
+31FE 003F;
+3356 0041;
+308F 003F;
+30EE 0062;
+30F0 0062;
+FF66 0021;
+3093 0061;
+3107 003F;
+310B 003F;
+312B 003F;
+3111 003F;
+3116 003F;
+31A9 0061;
+31A4 003F;
+31AF 0061;
+3125 003F;
+3127 0061;
+A000 003F;
+A006 003F;
+A00C 003F;
+A012 003F;
+A018 003F;
+A01E 003F;
+A024 003F;
+A02A 003F;
+A030 003F;
+A036 003F;
+A03C 003F;
+A042 003F;
+A048 003F;
+A04E 003F;
+A054 003F;
+A05A 003F;
+A060 003F;
+A066 003F;
+A06C 003F;
+A072 003F;
+A078 003F;
+A07E 003F;
+A084 003F;
+A08A 003F;
+A090 003F;
+A096 003F;
+A09C 003F;
+A0A2 003F;
+A0A8 003F;
+A0AE 003F;
+A0B4 003F;
+A0BA 003F;
+A0C0 003F;
+A0C6 003F;
+A0CC 003F;
+A0D2 003F;
+A0D8 003F;
+A0DE 003F;
+A0E4 003F;
+A0EA 003F;
+A0F0 003F;
+A0F6 003F;
+A0FC 003F;
+A102 003F;
+A108 003F;
+A10E 003F;
+A114 003F;
+A11A 003F;
+A120 003F;
+A126 003F;
+A12C 003F;
+A132 003F;
+A138 003F;
+A13E 003F;
+A144 003F;
+A14A 003F;
+A150 003F;
+A156 003F;
+A15C 003F;
+A162 003F;
+A168 003F;
+A16E 003F;
+A174 003F;
+A17A 003F;
+A180 003F;
+A186 003F;
+A18C 003F;
+A192 003F;
+A198 003F;
+A19E 003F;
+A1A4 003F;
+A1AA 003F;
+A1B0 003F;
+A1B6 003F;
+A1BC 003F;
+A1C2 003F;
+A1C8 003F;
+A1CE 003F;
+A1D4 003F;
+A1DA 003F;
+A1E0 003F;
+A1E6 003F;
+A1EC 003F;
+A1F2 003F;
+A1F8 003F;
+A1FE 003F;
+A204 003F;
+A20A 003F;
+A210 003F;
+A216 003F;
+A21C 003F;
+A222 003F;
+A228 003F;
+A22E 003F;
+A234 003F;
+A23A 003F;
+A240 003F;
+A246 003F;
+A24C 003F;
+A252 003F;
+A258 003F;
+A25E 003F;
+A264 003F;
+A26A 003F;
+A270 003F;
+A276 003F;
+A27C 003F;
+A282 003F;
+A288 003F;
+A28E 003F;
+A294 003F;
+A29A 003F;
+A2A0 003F;
+A2A6 003F;
+A2AC 003F;
+A2B2 003F;
+A2B8 003F;
+A2BE 003F;
+A2C4 003F;
+A2CA 003F;
+A2D0 003F;
+A2D6 003F;
+A2DC 003F;
+A2E2 003F;
+A2E8 003F;
+A2EE 003F;
+A2F4 003F;
+A2FA 003F;
+A300 003F;
+A306 003F;
+A30C 003F;
+A312 003F;
+A318 003F;
+A31E 003F;
+A324 003F;
+A32A 003F;
+A330 003F;
+A336 003F;
+A33C 003F;
+A342 003F;
+A348 003F;
+A34E 003F;
+A354 003F;
+A35A 003F;
+A360 003F;
+A366 003F;
+A36C 003F;
+A372 003F;
+A378 003F;
+A37E 003F;
+A384 003F;
+A38A 003F;
+A390 003F;
+A396 003F;
+A39C 003F;
+A3A2 003F;
+A3A8 003F;
+A3AE 003F;
+A3B4 003F;
+A3BA 003F;
+A3C0 003F;
+A3C6 003F;
+A3CC 003F;
+A3D2 003F;
+A3D8 003F;
+A3DE 003F;
+A3E4 003F;
+A3EA 003F;
+A3F0 003F;
+A3F6 003F;
+A3FC 003F;
+A402 003F;
+A408 003F;
+A40E 003F;
+A414 003F;
+A41A 003F;
+A420 003F;
+A426 003F;
+A42C 003F;
+A432 003F;
+A438 003F;
+A43E 003F;
+A444 003F;
+A44A 003F;
+A450 003F;
+A456 003F;
+A45C 003F;
+A462 003F;
+A468 003F;
+A46E 003F;
+A474 003F;
+A47A 003F;
+A480 003F;
+A486 003F;
+A48C 003F;
+10305 003F;
+1030B 003F;
+10311 003F;
+10317 003F;
+1031D 003F;
+10334 003F;
+1033A 003F;
+10340 003F;
+10346 003F;
+10400 0061;
+10403 0061;
+10406 0061;
+10409 0061;
+1040C 0061;
+1040F 0061;
+10412 0061;
+10415 0061;
+10418 0061;
+1041B 0061;
+1041E 0061;
+10421 0061;
+10424 0061;
+10427 0061;
+10455 003F;
+1045B 003F;
+10461 003F;
+10467 003F;
+1046D 003F;
+10473 003F;
+10479 003F;
+1047F 003F;
+10485 003F;
+1048B 003F;
+10491 003F;
+10497 003F;
+1049D 003F;
+10005 003F;
+1000B 003F;
+10012 003F;
+10018 003F;
+1001E 003F;
+10024 003F;
+1002B 003F;
+10031 003F;
+10037 003F;
+1003F 003F;
+10045 003F;
+1004B 003F;
+10053 003F;
+10059 003F;
+10081 003F;
+10087 003F;
+1008D 003F;
+10093 003F;
+10099 003F;
+1009F 003F;
+100A5 003F;
+100AB 003F;
+100B1 003F;
+100B7 003F;
+100BD 003F;
+100C3 003F;
+100C9 003F;
+100CF 003F;
+100D5 003F;
+100DB 003F;
+100E1 003F;
+100E7 003F;
+100ED 003F;
+100F3 003F;
+100F9 003F;
+10804 003F;
+1080D 003F;
+10813 003F;
+10819 003F;
+1081F 003F;
+10825 003F;
+1082B 003F;
+10831 003F;
+10838 003F;
+10383 003F;
+10389 003F;
+1038F 003F;
+10395 003F;
+1039B 003F;
+103A3 003F;
+103A9 003F;
+103AF 003F;
+103B5 003F;
+103BB 003F;
+103C1 003F;
+103CB 003F;
+3280 0021;
+4E02 003F;
+3222 003F;
+3198 0061;
+32A5 003F;
+F95E 003F;
+2E84 0041;
+2F05 003F;
+3224 003F;
+2E85 003F;
+32AD 0061;
+F9B5 003F;
+F9D4 003F;
+FA31 0041;
+FA32 0041;
+F978 003F;
+3285 0041;
+2F8D2 003F;
+2F0E 003F;
+F955 003F;
+2F10 0061;
+FA00 0041;
+2F822 003F;
+2F992 003F;
+FA33 0041;
+2F13 003F;
+2F82B 0021;
+3229 003F;
+2F82C 003F;
+2F18 003F;
+F91C 003F;
+2E81 0061;
+2F1D 003F;
+3234 003F;
+2F83E 003F;
+2F841 003F;
+2F845 0041;
+2F848 003F;
+FA37 0041;
+3223 0061;
+322F 0061;
+2F854 003F;
+F96C 003F;
+2F20 003F;
+2F22 003F;
+337D 003F;
+2F85F 003F;
+2F863 003F;
+FA81 003F;
+2F27 003F;
+F95F 0061;
+2F873 003F;
+2F2A 0061;
+2F877 003F;
+2F2C 0041;
+F921 003F;
+2F2E 003F;
+2E92 003F;
+2F32 003F;
+FA01 003F;
+F928 0041;
+2F890 003F;
+2F894 0041;
+2F899 003F;
+F966 003F;
+2F89E 003F;
+2F8A3 0021;
+F9D9 003F;
+FA8A 003F;
+F98F 003F;
+FA40 0061;
+2F8B2 003F;
+2E98 003F;
+2F8B6 003F;
+F9A4 003F;
+2F8BD 003F;
+2F8C4 003F;
+2E99 003F;
+2F42 003F;
+2F46 003F;
+2F47 0041;
+FA91 0021;
+FA06 003F;
+322A 003F;
+FA92 0021;
+322D 003F;
+2F8DB 003F;
+F9DA 003F;
+F97A 003F;
+2F8E8 003F;
+F94C 003F;
+2F8EF 003F;
+FA95 003F;
+FA96 0021;
+2F50 003F;
+322C 0061;
+F972 003F;
+2F8FF 003F;
+F9CA 0061;
+2F904 003F;
+FA46 003F;
+2F90B 0021;
+FA47 0041;
+2F915 003F;
+322B 0061;
+F9FB 003F;
+FA9C 0021;
+F91E 003F;
+2F921 0021;
+2F922 003F;
+3295 0061;
+F9FA 003F;
+2F5E 003F;
+2F92B 003F;
+2F92E 003F;
+F994 003F;
+2F62 003F;
+329A 003F;
+F962 0041;
+FAA4 003F;
+2F6A 003F;
+32AC 0061;
+F96D 003F;
+FAA9 0041;
+2F94E 003F;
+2F950 0021;
+2EAD 003F;
+FA4D 003F;
+3297 0041;
+FA53 003F;
+F995 003F;
+2F95A 003F;
+2F74 0061;
+FA56 0041;
+FAAE 003F;
+F97B 003F;
+F96A 003F;
+2F96E 003F;
+F950 003F;
+2F79 003F;
+FA5A 003F;
+2EB7 0041;
+2F979 003F;
+2F97A 0041;
+F997 003F;
+2F81 003F;
+2F985 003F;
+FA5C 003F;
+2F893 0041;
+F97C 003F;
+2EBF 0061;
+2F994 003F;
+2F99C 003F;
+2F99D 003F;
+FAB4 003F;
+F999 003F;
+F923 003F;
+2F8C 003F;
+2F9B6 003F;
+2F9BC 003F;
+2F9C0 003F;
+2F9C3 003F;
+2F9C6 003F;
+FAB6 003F;
+FA0A 003F;
+2EC6 0061;
+FAB9 003F;
+FABA 0021;
+FABF 0021;
+2EC8 003F;
+2F98 003F;
+F948 003F;
+FA65 0041;
+2F9C 003F;
+2F9D 003F;
+2F9DF 0021;
+2F98D 003F;
+2ECC 0041;
+FAC3 003F;
+F92C 003F;
+F919 003F;
+F97E 003F;
+2F9E7 003F;
+F99B 003F;
+2ED2 003F;
+2ED4 003F;
+FA09 003F;
+2FAA 003F;
+FA68 0041;
+F938 003F;
+2FAE 003F;
+2ED9 003F;
+32A0 003F;
+FACC 0021;
+2FB6 003F;
+2FA02 003F;
+2FB8 003F;
+F91A 003F;
+2FBC 003F;
+2FC0 003F;
+F9F2 003F;
+F93A 003F;
+2FC5 0061;
+2FC7 0061;
+2FA17 003F;
+2FCD 003F;
+2FD0 0061;
+2EED 0061;
+2EF0 003F;
+FACE 0062;
+9FA3 003F;
+FA13 003F;
+FA27 003F;
+3403 003F;
+3409 003F;
+340F 003F;
+3415 003F;
+341B 003F;
+3421 003F;
+3427 003F;
+342D 003F;
+3433 003F;
+3439 003F;
+343F 003F;
+3445 003F;
+344B 003F;
+3451 003F;
+3457 003F;
+345D 003F;
+3463 003F;
+3469 003F;
+346F 003F;
+3475 003F;
+347B 003F;
+3481 003F;
+3487 003F;
+348D 003F;
+3493 003F;
+3499 003F;
+349E 0041;
+34A4 003F;
+34AA 003F;
+34B0 003F;
+34B6 003F;
+2F9CA 0021;
+34C0 003F;
+34C6 003F;
+34CC 003F;
+34D2 003F;
+34D8 003F;
+34DE 003F;
+34E3 003F;
+34E9 003F;
+34EF 003F;
+34F5 003F;
+34FB 003F;
+3501 003F;
+3507 003F;
+350D 003F;
+3513 003F;
+3518 003F;
+351E 003F;
+3524 003F;
+352A 003F;
+3530 003F;
+3536 003F;
+353C 003F;
+3542 003F;
+3548 003F;
+354E 003F;
+3554 003F;
+355A 003F;
+3560 003F;
+3566 003F;
+356C 003F;
+3572 003F;
+3578 003F;
+357E 003F;
+3584 003F;
+358A 003F;
+3590 003F;
+3596 003F;
+359C 003F;
+35A2 003F;
+35A8 003F;
+35AE 003F;
+35B4 003F;
+35BA 003F;
+35C0 003F;
+35C6 003F;
+35CC 003F;
+35D2 003F;
+35D8 003F;
+35DE 003F;
+35E4 003F;
+35EA 003F;
+35F0 003F;
+35F6 003F;
+35FC 003F;
+3602 003F;
+3608 003F;
+360E 003F;
+3614 003F;
+361A 003F;
+3620 003F;
+3626 003F;
+362C 003F;
+3632 003F;
+3638 003F;
+363E 003F;
+3644 003F;
+364A 003F;
+3650 003F;
+3656 003F;
+365C 003F;
+3662 003F;
+3668 003F;
+366E 003F;
+3674 003F;
+367A 003F;
+3680 003F;
+3686 003F;
+368C 003F;
+3692 003F;
+3698 003F;
+369E 003F;
+36A4 003F;
+36AA 003F;
+36B0 003F;
+36B6 003F;
+36BC 003F;
+36C2 003F;
+36C8 003F;
+36CE 003F;
+36D4 003F;
+36DA 003F;
+36E0 003F;
+36E6 003F;
+36EC 003F;
+36F1 003F;
+36F7 003F;
+36FC 0041;
+3702 003F;
+3708 003F;
+370E 003F;
+3714 003F;
+371A 003F;
+3720 003F;
+3726 003F;
+372C 003F;
+3732 003F;
+3738 003F;
+373E 003F;
+3744 003F;
+374A 003F;
+3750 003F;
+3756 003F;
+375C 003F;
+3762 003F;
+3768 003F;
+376E 003F;
+3774 003F;
+377A 003F;
+3780 003F;
+3785 003F;
+378B 003F;
+3791 003F;
+3797 003F;
+379D 003F;
+37A3 003F;
+37A9 003F;
+37AF 003F;
+37B5 003F;
+37BB 003F;
+37C1 003F;
+37C7 003F;
+37CD 003F;
+37D3 003F;
+37D9 003F;
+37DF 003F;
+37E5 003F;
+37EB 003F;
+37F1 003F;
+37F7 003F;
+37FD 003F;
+3803 003F;
+3809 003F;
+380F 003F;
+3815 003F;
+381B 003F;
+3821 003F;
+3827 003F;
+382D 003F;
+3832 003F;
+3838 003F;
+383E 003F;
+3844 003F;
+384A 003F;
+3850 003F;
+3856 003F;
+385C 003F;
+2F888 0021;
+3867 003F;
+386D 003F;
+3873 003F;
+3879 003F;
+387E 003F;
+3884 003F;
+388A 003F;
+3890 003F;
+3896 003F;
+389C 003F;
+38A2 003F;
+38A8 003F;
+38AE 003F;
+38B4 003F;
+38BA 003F;
+38C0 003F;
+38C6 003F;
+38CB 003F;
+38D1 003F;
+38D7 003F;
+38DD 003F;
+2F89B 0021;
+38E8 003F;
+38EE 003F;
+38F4 003F;
+38FA 003F;
+3900 003F;
+3906 003F;
+390C 003F;
+3912 003F;
+3918 003F;
+391D 003F;
+3923 003F;
+3929 003F;
+392F 003F;
+3935 003F;
+393A 0041;
+3940 003F;
+3946 003F;
+394C 003F;
+3952 003F;
+3958 003F;
+395E 003F;
+3964 003F;
+396A 003F;
+3970 003F;
+3976 003F;
+397C 003F;
+3982 003F;
+3988 003F;
+398E 003F;
+3994 003F;
+399A 003F;
+39A0 003F;
+39A6 003F;
+39AC 003F;
+39B2 003F;
+39B8 003F;
+39BE 003F;
+39C4 003F;
+39CA 003F;
+39D0 003F;
+39D6 003F;
+39DC 003F;
+39E2 003F;
+39E8 003F;
+39EE 003F;
+39F4 003F;
+39FA 003F;
+3A00 003F;
+3A06 003F;
+3A0C 003F;
+3A12 003F;
+3A18 003F;
+3A1E 003F;
+3A24 003F;
+3A2A 003F;
+3A2F 003F;
+3A35 003F;
+3A3B 003F;
+3A41 003F;
+3A47 003F;
+3A4D 003F;
+3A53 003F;
+3A59 003F;
+3A5F 003F;
+3A65 003F;
+3A6B 003F;
+3A70 003F;
+3A76 003F;
+3A7C 003F;
+3A82 003F;
+3A88 003F;
+3A8E 003F;
+3A94 003F;
+3A9A 003F;
+3AA0 003F;
+3AA6 003F;
+3AAC 003F;
+3AB2 003F;
+3AB8 003F;
+3ABE 003F;
+3AC4 003F;
+3ACA 003F;
+3AD0 003F;
+3AD6 003F;
+3ADC 003F;
+3AE2 003F;
+3AE7 003F;
+3AED 003F;
+3AF3 003F;
+3AF9 003F;
+3AFF 003F;
+3B05 003F;
+3B0A 003F;
+3B10 003F;
+3B16 003F;
+3B1B 003F;
+3B21 003F;
+3B27 003F;
+3B2D 003F;
+3B33 003F;
+3B39 003F;
+3B3F 003F;
+3B45 003F;
+3B4A 003F;
+3B50 003F;
+3B56 003F;
+3B5C 003F;
+3B62 003F;
+3B68 003F;
+3B6E 003F;
+3B74 003F;
+3B7A 003F;
+3B80 003F;
+3B86 003F;
+3B8C 003F;
+3B92 003F;
+3B98 003F;
+3B9D 0061;
+3BA2 003F;
+3BA8 003F;
+3BAE 003F;
+3BB4 003F;
+3BBA 003F;
+3BC0 003F;
+3BC6 003F;
+3BCC 003F;
+3BD2 003F;
+3BD8 003F;
+3BDE 003F;
+3BE4 003F;
+3BEA 003F;
+3BF0 003F;
+3BF6 003F;
+3BFC 003F;
+3C02 003F;
+3C08 003F;
+3C0E 003F;
+3C14 003F;
+3C19 003F;
+3C1F 003F;
+3C25 003F;
+3C2B 003F;
+3C31 003F;
+3C37 003F;
+3C3D 003F;
+3C43 003F;
+3C49 003F;
+3C4E 0041;
+3C54 003F;
+3C5A 003F;
+3C60 003F;
+3C66 003F;
+3C6C 003F;
+3C72 003F;
+3C78 003F;
+3C7E 003F;
+3C84 003F;
+3C8A 003F;
+3C90 003F;
+3C96 003F;
+3C9C 003F;
+3CA2 003F;
+3CA8 003F;
+3CAE 003F;
+3CB4 003F;
+3CBA 003F;
+3CC0 003F;
+3CC6 003F;
+3CCC 003F;
+3CD2 003F;
+3CD8 003F;
+3CDE 003F;
+3CE4 003F;
+3CEA 003F;
+3CF0 003F;
+3CF6 003F;
+3CFC 003F;
+3D02 003F;
+3D08 003F;
+3D0E 003F;
+3D14 003F;
+3D1A 003F;
+3D20 003F;
+3D26 003F;
+3D2C 003F;
+3D32 003F;
+3D37 003F;
+3D3D 003F;
+3D43 003F;
+3D49 003F;
+3D4F 003F;
+3D55 003F;
+3D5B 003F;
+3D61 003F;
+3D67 003F;
+3D6D 003F;
+3D73 003F;
+3D79 003F;
+3D7F 003F;
+3D85 003F;
+3D8B 003F;
+3D91 003F;
+3D96 0041;
+3D9C 003F;
+3DA2 003F;
+3DA8 003F;
+3DAE 003F;
+3DB4 003F;
+3DBA 003F;
+3DC0 003F;
+3DC6 003F;
+3DCC 003F;
+3DD2 003F;
+3DD8 003F;
+3DDE 003F;
+3DE4 003F;
+3DEA 003F;
+3DF0 003F;
+3DF6 003F;
+3DFC 003F;
+3E02 003F;
+3E08 003F;
+3E0E 003F;
+3E14 003F;
+3E1A 003F;
+3E20 003F;
+3E26 003F;
+3E2C 003F;
+3E32 003F;
+3E38 003F;
+3E3E 003F;
+3E44 003F;
+3E4A 003F;
+3E50 003F;
+3E56 003F;
+3E5C 003F;
+3E62 003F;
+3E68 003F;
+3E6E 003F;
+3E74 003F;
+3E7A 003F;
+3E80 003F;
+3E86 003F;
+3E8C 003F;
+3E92 003F;
+3E98 003F;
+3E9E 003F;
+3EA4 003F;
+3EAA 003F;
+3EAF 003F;
+3EB5 003F;
+3EB9 003F;
+3EBF 003F;
+3EC5 003F;
+3ECB 003F;
+3ED1 003F;
+3ED7 003F;
+3EDD 003F;
+3EE3 003F;
+3EE9 003F;
+3EEF 003F;
+3EF5 003F;
+3EFB 003F;
+3F01 003F;
+3F07 003F;
+3F0D 003F;
+3F13 003F;
+3F19 003F;
+3F1E 003F;
+3F24 003F;
+3F2A 003F;
+3F30 003F;
+3F36 003F;
+3F3C 003F;
+3F42 003F;
+3F48 003F;
+3F4E 003F;
+3F54 003F;
+3F5A 003F;
+3F60 003F;
+3F66 003F;
+3F6C 003F;
+3F72 003F;
+3F78 003F;
+3F7E 003F;
+3F84 003F;
+3F8A 003F;
+3F90 003F;
+3F96 003F;
+3F9C 003F;
+3FA2 003F;
+3FA8 003F;
+3FAE 003F;
+3FB4 003F;
+3FBA 003F;
+3FC0 003F;
+3FC6 003F;
+3FCC 003F;
+3FD2 003F;
+3FD8 003F;
+3FDE 003F;
+3FE4 003F;
+3FEA 003F;
+3FF0 003F;
+3FF6 003F;
+2F93E 0021;
+4001 003F;
+4007 003F;
+400C 003F;
+4012 003F;
+FAD3 0021;
+401D 003F;
+4023 003F;
+4029 003F;
+402F 003F;
+4035 003F;
+2F949 0041;
+403F 003F;
+4045 003F;
+404A 003F;
+4050 003F;
+4056 003F;
+405C 003F;
+4062 003F;
+4068 003F;
+406E 003F;
+4074 003F;
+407A 003F;
+4080 003F;
+4086 003F;
+408C 003F;
+4092 003F;
+4097 003F;
+409D 003F;
+40A3 003F;
+40A9 003F;
+40AF 003F;
+40B5 003F;
+40BB 003F;
+40C1 003F;
+40C7 003F;
+40CD 003F;
+40D3 003F;
+40D9 003F;
+40DF 003F;
+40E4 003F;
+40EA 003F;
+40F0 003F;
+40F6 003F;
+40FC 003F;
+4102 003F;
+4108 003F;
+410E 003F;
+4114 003F;
+411A 003F;
+4120 003F;
+4126 003F;
+412C 003F;
+4131 003F;
+4137 003F;
+413D 003F;
+4143 003F;
+4149 003F;
+414F 003F;
+4155 003F;
+415B 003F;
+4161 003F;
+4167 003F;
+416D 003F;
+4173 003F;
+4179 003F;
+417F 003F;
+4185 003F;
+418B 003F;
+4191 003F;
+4197 003F;
+419D 003F;
+41A3 003F;
+41A9 003F;
+41AF 003F;
+41B5 003F;
+41BB 003F;
+41C1 003F;
+41C7 003F;
+41CD 003F;
+41D3 003F;
+41D9 003F;
+41DF 003F;
+41E5 003F;
+41EB 003F;
+41F1 003F;
+41F7 003F;
+41FD 003F;
+4202 0041;
+4208 003F;
+420E 003F;
+4214 003F;
+421A 003F;
+4220 003F;
+4226 003F;
+422B 003F;
+4231 003F;
+4237 003F;
+423D 003F;
+4243 003F;
+4249 003F;
+424F 003F;
+4255 003F;
+425B 003F;
+4261 003F;
+4267 003F;
+426D 003F;
+4273 003F;
+4279 003F;
+427F 003F;
+4285 003F;
+428B 003F;
+4291 003F;
+4297 003F;
+429D 003F;
+42A2 003F;
+42A8 003F;
+42AE 003F;
+42B4 003F;
+42BA 003F;
+42C0 003F;
+42C6 003F;
+42CC 003F;
+42D2 003F;
+42D8 003F;
+42DE 003F;
+42E4 003F;
+42EA 003F;
+42F0 003F;
+42F6 003F;
+42FC 003F;
+4301 0041;
+4307 003F;
+430D 003F;
+4313 003F;
+4319 003F;
+431F 003F;
+4325 003F;
+432B 003F;
+4331 003F;
+4336 003F;
+433C 003F;
+4342 003F;
+4348 003F;
+434E 003F;
+4354 003F;
+4359 0041;
+435F 003F;
+4365 003F;
+436B 003F;
+4371 003F;
+4377 003F;
+437D 003F;
+4383 003F;
+4389 003F;
+438F 003F;
+4395 003F;
+439B 003F;
+43A1 003F;
+43A7 003F;
+43AD 003F;
+43B3 003F;
+43B9 003F;
+43BF 003F;
+43C5 003F;
+43CB 003F;
+43D1 003F;
+43D6 003F;
+43DB 003F;
+43E1 003F;
+43E7 003F;
+43ED 003F;
+43F3 003F;
+43F9 003F;
+43FF 003F;
+4405 003F;
+2F984 0021;
+4410 003F;
+4416 003F;
+441C 003F;
+4422 003F;
+4428 003F;
+442E 003F;
+4434 003F;
+443A 003F;
+4440 003F;
+4446 003F;
+444C 003F;
+4452 003F;
+4458 003F;
+445E 003F;
+4464 003F;
+446A 003F;
+446F 003F;
+4475 003F;
+447B 003F;
+4481 003F;
+4487 003F;
+448D 003F;
+4493 003F;
+4499 003F;
+449F 003F;
+44A5 003F;
+44AB 003F;
+44B1 003F;
+44B7 003F;
+44BD 003F;
+44C3 003F;
+44C9 003F;
+44CF 003F;
+44D5 003F;
+44DB 003F;
+44E1 003F;
+44E7 003F;
+44ED 003F;
+44F3 003F;
+44F9 003F;
+44FF 003F;
+4505 003F;
+450B 003F;
+4511 003F;
+4517 003F;
+451D 003F;
+4523 003F;
+4529 003F;
+452E 003F;
+4534 003F;
+453A 003F;
+4540 003F;
+4546 003F;
+454C 003F;
+4552 003F;
+4558 003F;
+455D 0041;
+4562 003F;
+4568 003F;
+456D 003F;
+4573 003F;
+4579 003F;
+457F 003F;
+4585 003F;
+458B 003F;
+4591 003F;
+4597 003F;
+459D 003F;
+45A3 003F;
+45A9 003F;
+45AF 003F;
+45B5 003F;
+45BB 003F;
+45C1 003F;
+45C7 003F;
+45CD 003F;
+45D3 003F;
+45D8 003F;
+45DE 003F;
+45E4 003F;
+45EA 003F;
+45F0 003F;
+45F6 003F;
+45FB 003F;
+4601 003F;
+4607 003F;
+460D 003F;
+4613 003F;
+4619 003F;
+461F 003F;
+4625 003F;
+462B 003F;
+4631 003F;
+4636 003F;
+463C 003F;
+4642 003F;
+4648 003F;
+464E 003F;
+4654 003F;
+465A 003F;
+4660 003F;
+4666 003F;
+466C 003F;
+4672 003F;
+4678 003F;
+467E 003F;
+4684 003F;
+468A 003F;
+4690 003F;
+4696 003F;
+469C 003F;
+46A2 003F;
+46A8 003F;
+46AE 003F;
+46B4 003F;
+46BA 003F;
+46BF 003F;
+46C5 003F;
+46CA 003F;
+46D0 003F;
+46D6 003F;
+46DC 003F;
+46E2 003F;
+46E8 003F;
+46EE 003F;
+46F4 003F;
+46FA 003F;
+4700 003F;
+4706 003F;
+470C 003F;
+4712 003F;
+4718 003F;
+471E 003F;
+4724 003F;
+472A 003F;
+4730 003F;
+4736 003F;
+473C 003F;
+4742 003F;
+4748 003F;
+474E 003F;
+4754 003F;
+475A 003F;
+4760 003F;
+4766 003F;
+476C 003F;
+4772 003F;
+4778 003F;
+477E 003F;
+4784 003F;
+478A 003F;
+4790 003F;
+4796 003F;
+479C 003F;
+47A2 003F;
+47A8 003F;
+47AE 003F;
+47B4 003F;
+47BA 003F;
+47C0 003F;
+47C6 003F;
+47CC 003F;
+47D2 003F;
+47D8 003F;
+47DE 003F;
+47E4 003F;
+47EA 003F;
+47F0 003F;
+47F6 003F;
+47FC 003F;
+4802 003F;
+4808 003F;
+480E 003F;
+4814 003F;
+481A 003F;
+4820 003F;
+4826 003F;
+482C 003F;
+4832 003F;
+4838 003F;
+483E 003F;
+4844 003F;
+484A 003F;
+4850 003F;
+4856 003F;
+485C 003F;
+4862 003F;
+4868 003F;
+486E 003F;
+4874 003F;
+487A 003F;
+4880 003F;
+4886 003F;
+488C 003F;
+4892 003F;
+4898 003F;
+489E 003F;
+48A4 003F;
+48AA 003F;
+48B0 003F;
+48B6 003F;
+48BC 003F;
+48C2 003F;
+48C8 003F;
+48CE 003F;
+48D4 003F;
+48DA 003F;
+48E0 003F;
+48E6 003F;
+48EC 003F;
+48F2 003F;
+48F8 003F;
+48FE 003F;
+4904 003F;
+490A 003F;
+4910 003F;
+4916 003F;
+491C 003F;
+4922 003F;
+4928 003F;
+492E 003F;
+4934 003F;
+493A 003F;
+4940 003F;
+4946 003F;
+494C 003F;
+4952 003F;
+4958 003F;
+495E 003F;
+4964 003F;
+496A 003F;
+4970 003F;
+4976 003F;
+497C 003F;
+4982 003F;
+4988 003F;
+498E 003F;
+4994 003F;
+4999 003F;
+499F 003F;
+49A5 003F;
+49AB 003F;
+49B1 003F;
+49B7 003F;
+49BD 003F;
+49C3 003F;
+49C9 003F;
+49CF 003F;
+49D5 003F;
+49DB 003F;
+49E1 003F;
+49E6 0041;
+49EC 003F;
+49F2 003F;
+49F8 003F;
+49FE 003F;
+4A04 003F;
+4A0A 003F;
+4A10 003F;
+4A16 003F;
+4A1C 003F;
+4A22 003F;
+4A28 003F;
+4A2E 003F;
+4A34 003F;
+4A3A 003F;
+4A40 003F;
+4A46 003F;
+4A4C 003F;
+4A52 003F;
+4A58 003F;
+4A5E 003F;
+4A64 003F;
+4A6A 003F;
+4A6F 003F;
+4A75 003F;
+4A7A 003F;
+4A80 003F;
+4A86 003F;
+4A8C 003F;
+4A92 003F;
+4A98 003F;
+4A9E 003F;
+4AA4 003F;
+4AAA 003F;
+4AB0 003F;
+4AB5 003F;
+4ABB 003F;
+4AC1 003F;
+4AC7 003F;
+4ACD 003F;
+4AD3 003F;
+4AD9 003F;
+4ADF 003F;
+4AE5 003F;
+4AEB 003F;
+4AF1 003F;
+4AF7 003F;
+4AFD 003F;
+4B03 003F;
+4B09 003F;
+4B0F 003F;
+4B15 003F;
+4B1B 003F;
+4B21 003F;
+4B27 003F;
+4B2D 003F;
+2FA03 0021;
+4B38 003F;
+4B3E 003F;
+4B44 003F;
+4B4A 003F;
+4B50 003F;
+4B56 003F;
+4B5C 003F;
+4B62 003F;
+4B68 003F;
+4B6E 003F;
+4B74 003F;
+4B7A 003F;
+4B80 003F;
+4B86 003F;
+4B8C 003F;
+4B92 003F;
+4B98 003F;
+4B9E 003F;
+4BA4 003F;
+4BAA 003F;
+4BB0 003F;
+4BB6 003F;
+4BBC 003F;
+4BC2 003F;
+4BC8 003F;
+2FA08 0021;
+4BD3 003F;
+4BD9 003F;
+4BDF 003F;
+4BE5 003F;
+4BEB 003F;
+4BF1 003F;
+4BF7 003F;
+4BFD 003F;
+4C03 003F;
+4C09 003F;
+4C0F 003F;
+4C15 003F;
+4C1B 003F;
+4C21 003F;
+4C27 003F;
+4C2D 003F;
+4C33 003F;
+4C39 003F;
+4C3F 003F;
+4C45 003F;
+4C4B 003F;
+4C51 003F;
+4C57 003F;
+4C5D 003F;
+4C63 003F;
+4C69 003F;
+4C6F 003F;
+4C75 003F;
+4C7B 003F;
+4C81 003F;
+4C87 003F;
+4C8D 003F;
+4C93 003F;
+4C99 003F;
+4C9F 003F;
+4CA5 003F;
+4CAB 003F;
+4CB1 003F;
+4CB7 003F;
+4CBD 003F;
+4CC3 003F;
+4CC9 003F;
+4CCE 0041;
+4CD4 003F;
+4CDA 003F;
+4CE0 003F;
+4CE6 003F;
+4CEC 003F;
+4CF1 003F;
+4CF7 003F;
+4CFC 003F;
+4D02 003F;
+4D08 003F;
+4D0E 003F;
+4D14 003F;
+4D1A 003F;
+4D20 003F;
+4D26 003F;
+4D2C 003F;
+4D32 003F;
+4D38 003F;
+4D3E 003F;
+4D44 003F;
+4D4A 003F;
+4D50 003F;
+2FA16 0021;
+4D5B 003F;
+4D61 003F;
+4D67 003F;
+4D6D 003F;
+4D73 003F;
+4D79 003F;
+4D7F 003F;
+4D85 003F;
+4D8B 003F;
+4D91 003F;
+4D97 003F;
+4D9D 003F;
+4DA3 003F;
+4DA9 003F;
+4DAF 003F;
+4DB5 003F;
+20005 003F;
+2F9D9 003F;
+2F861 003F;
+2F889 003F;
+FACF 003F;
+2F989 003F;
+2F8F0 003F;
+2F910 003F;
+2F927 003F;
+2F942 003F;
+2F952 003F;
+2F961 003F;
+2F973 003F;
+2F987 003F;
+2F9AD 003F;
+2F9CC 003F;
+2F9E5 003F;
+2F9FB 003F;
+2FA13 003F;
+2A6D3 003F;
+E001 003F;
+F8FB 003F;
+C0000 003F;
+E0005 003F;
+F0005 003F;
+F00FD 003F;
+FFF05 003F;
+FFFFD 003F;
+100005 003F;
+1000FD 003F;
+10FF05 003F;
+10FFFD 003F;
diff --git a/src/com/ibm/icu/dev/data/IDNATestInput.txt b/src/com/ibm/icu/dev/data/IDNATestInput.txt
new file mode 100644
index 0000000..adad095
--- /dev/null
+++ b/src/com/ibm/icu/dev/data/IDNATestInput.txt
@@ -0,0 +1,1266 @@
+=====
+desc: Copyright 2003-2005 http://idnconnect.jdna.jp/testbed.html 
+namebase: <00ED>dn
+nameutf8: ??dn
+namezone: xn--dn-mja
+failzone1: 
+failzone2: 
+token: 25029153
+passfail: pass
+type: toascii
+
+=====
+desc: 1-1-1 Has one IDN
+namebase: <00ED>dn
+nameutf8: ??dn
+namezone: xn--dn-mja
+failzone1: 
+failzone2: 
+token: 25029153
+passfail: pass
+type: toascii
+
+=====
+desc: 1-1-2 Has two IDNs
+namebase: <00EB>x.<00ED>dn
+nameutf8: ??x.??dn
+namezone: xn--x-ega.xn--dn-mja
+failzone1: 
+failzone2: 
+token: 02721141
+passfail: pass
+type: toascii
+
+=====
+desc: 1-2-1 Latin-1
+namebase: <00E5><00FE><00E7>
+nameutf8: ??????
+namezone: xn--5cae2e
+failzone1: 
+failzone2: 
+token: 41542620
+passfail: pass
+type: toascii
+
+=====
+desc: 1-2-2 Latin Extended A
+namebase: <0103>b<0109>
+nameutf8: ??b??
+namezone: xn--b-rhat
+failzone1: 
+failzone2: 
+token: 72238617
+passfail: pass
+type: toascii
+
+=====
+desc: 1-2-3 Latin Extended B
+namebase: <0227><0180><0188>
+nameutf8: ??????
+namezone: xn--lhaq98b
+failzone1: 
+failzone2: 
+token: 48464361
+passfail: pass
+type: toascii
+
+=====
+desc: 1-2-4 Latin Extended Additional
+namebase: <1E01><1E03><1E09>
+nameutf8: ?????????
+namezone: xn--2fges
+failzone1: 
+failzone2: 
+token: 49301230
+passfail: pass
+type: toascii
+
+=====
+desc: 1-3-1 Han
+namebase: <4E3F><4EBA><5C38>
+nameutf8: ?????????
+namezone: xn--xiqplj17a
+failzone1: 
+failzone2: 
+token: 58367113
+passfail: pass
+type: toascii
+
+=====
+desc: 1-3-2 Hiragana
+namebase: <304B><304C><304D>
+nameutf8: ?????????
+namezone: xn--u8jcd
+failzone1: 
+failzone2: 
+token: 57006197
+passfail: pass
+type: toascii
+
+=====
+desc: 1-3-3 Katakana
+namebase: <30AB><30AC><30AD>
+nameutf8: ?????????
+namezone: xn--lckcd
+failzone1: 
+failzone2: 
+token: 81826992
+passfail: pass
+type: toascii
+
+=====
+desc: 1-3-4 Hangul Jamo
+namebase: <1100><1161><11A8>
+nameutf8: ?????????
+namezone: xn--p39a
+failzone1: xn--ypd8qrh
+failzone2: 
+token: 44228346
+passfail: pass
+type: toascii
+
+=====
+desc: 1-3-5 Hangul
+namebase: <AC69><B4C6><C03A>
+nameutf8: ?????????
+namezone: xn--o69aq2nl0j
+failzone1: 
+failzone2: 
+token: 79235608
+passfail: pass
+type: toascii
+
+=====
+desc: 1-3-6 Yi
+namebase: <A00A><A020><A2B8>
+nameutf8: ?????????
+namezone: xn--6l7arby7j
+failzone1: 
+failzone2: 
+token: 99549720
+passfail: pass
+type: toascii
+
+=====
+desc: 1-3-7 Greek
+namebase: <03B1><03B2><03B3>
+nameutf8: ??????
+namezone: xn--mxacd
+failzone1: 
+failzone2: 
+token: 83859912
+passfail: pass
+type: toascii
+
+=====
+desc: 1-3-8 Greek Extended
+namebase: <1F02><1F26><1F55>
+nameutf8: ?????????
+namezone: xn--fng7dpg
+failzone1: 
+failzone2: 
+token: 22501339
+passfail: pass
+type: toascii
+
+=====
+desc: 1-3-9 Cyrillic
+namebase: <0430><0431><0432>
+nameutf8: ??????
+namezone: xn--80acd
+failzone1: 
+failzone2: 
+token: 98871751
+passfail: pass
+type: toascii
+
+=====
+desc: 1-3-10 Armeian
+namebase: <0561><0562><0563>
+nameutf8: ??????
+namezone: xn--y9acd
+failzone1: 
+failzone2: 
+token: 23687015
+passfail: pass
+type: toascii
+
+=====
+desc: 1-3-11 Georgian
+namebase: <10D0><10D1><10D2>
+nameutf8: ?????????
+namezone: xn--lodcd
+failzone1: 
+failzone2: 
+token: 70499589
+passfail: pass
+type: toascii
+
+=====
+desc: 1-4-1 Symbols
+namebase: <2221><21BA><2282>
+nameutf8: ?????????
+namezone: xn--b7gxomk
+failzone1: 
+failzone2: 
+token: 24617638
+passfail: pass
+type: toascii
+
+=====
+desc: 1-5-1 Devanagari
+namebase: <0915><0916><0917>
+nameutf8: ?????????
+namezone: xn--11bcd
+failzone1: 
+failzone2: 
+token: 18477223
+passfail: pass
+type: toascii
+
+=====
+desc: 1-5-2 Bengali
+namebase: <0995><0996><0997>
+nameutf8: ?????????
+namezone: xn--p5bcd
+failzone1: 
+failzone2: 
+token: 11477904
+passfail: pass
+type: toascii
+
+=====
+desc: 1-5-3 Gurmukhi
+namebase: <0A15><0A16><0A17>
+nameutf8: ?????????
+namezone: xn--d9bcd
+failzone1: 
+failzone2: 
+token: 71543506
+passfail: pass
+type: toascii
+
+=====
+desc: 1-5-4 Gujarati
+namebase: <0A95><0A96><0A97>
+nameutf8: ?????????
+namezone: xn--0dccd
+failzone1: 
+failzone2: 
+token: 75268760
+passfail: pass
+type: toascii
+
+=====
+desc: 1-5-5 Oriya
+namebase: <0B15><0B16><0B17>
+nameutf8: ?????????
+namezone: xn--ohccd
+failzone1: 
+failzone2: 
+token: 36079747
+passfail: pass
+type: toascii
+
+=====
+desc: 1-5-6 Tamil
+namebase: <0B95><0B99><0B9A>
+nameutf8: ?????????
+namezone: xn--clcid
+failzone1: 
+failzone2: 
+token: 39841446
+passfail: pass
+type: toascii
+
+=====
+desc: 1-5-7 Telugu
+namebase: <0C15><0C16><0C17>
+nameutf8: ?????????
+namezone: xn--zoccd
+failzone1: 
+failzone2: 
+token: 34438808
+passfail: pass
+type: toascii
+
+=====
+desc: 1-5-8 Kannada
+namebase: <0C95><0C96><0C97>
+nameutf8: ?????????
+namezone: xn--nsccd
+failzone1: 
+failzone2: 
+token: 42303465
+passfail: pass
+type: toascii
+
+=====
+desc: 1-5-9 Malayalam
+namebase: <0D15><0D16><0D17>
+nameutf8: ?????????
+namezone: xn--bwccd
+failzone1: 
+failzone2: 
+token: 11813559
+passfail: pass
+type: toascii
+
+=====
+desc: 1-5-10 Sinhala
+namebase: <0D9A><0D9B><0D9C>
+nameutf8: ?????????
+namezone: xn--3zccd
+failzone1: 
+failzone2: 
+token: 89823209
+passfail: pass
+type: toascii
+
+=====
+desc: 1-5-11 Thai
+namebase: <0E01><0E02><0E03>
+nameutf8: ?????????
+namezone: xn--12ccd
+failzone1: 
+failzone2: 
+token: 94992842
+passfail: pass
+type: toascii
+
+=====
+desc: 1-5-12 Lao
+namebase: <0E81><0E82><0E84>
+nameutf8: ?????????
+namezone: xn--p6ccg
+failzone1: 
+failzone2: 
+token: 42424338
+passfail: pass
+type: toascii
+
+=====
+desc: 1-5-13 Tibetan
+namebase: <0F40><0F41><0F42>
+nameutf8: ?????????
+namezone: xn--5cdcd
+failzone1: 
+failzone2: 
+token: 26962778
+passfail: pass
+type: toascii
+
+=====
+desc: 1-5-14 Myanmar
+namebase: <1000><1001><1002>
+nameutf8: ?????????
+namezone: xn--nidcd
+failzone1: 
+failzone2: 
+token: 09824611
+passfail: pass
+type: toascii
+
+=====
+desc: 1-5-15 Khmer
+namebase: <1780><1781><1782>
+nameutf8: ?????????
+namezone: xn--i2ecd
+failzone1: 
+failzone2: 
+token: 48071156
+passfail: pass
+type: toascii
+
+=====
+desc: 1-5-16 Mongolian
+namebase: <1820><1821><1822>
+nameutf8: ?????????
+namezone: xn--26ecd
+failzone1: 
+failzone2: 
+token: 40131572
+passfail: pass
+type: toascii
+
+=====
+desc: 1-6-1 Arabic
+namebase: <0627><0628><0629>
+nameutf8: ??????
+namezone: xn--mgbcd
+failzone1: 
+failzone2: 
+token: 06414817
+passfail: pass
+type: toascii
+
+=====
+desc: 1-6-2 Hebrew
+namebase: <05D0><05D1><05D2>
+nameutf8: ??????
+namezone: xn--4dbcd
+failzone1: 
+failzone2: 
+token: 41996705
+passfail: pass
+type: toascii
+
+=====
+desc: 1-6-3 Syriac
+namebase: <0710><0711><0712>
+nameutf8: ??????
+namezone: xn--9mbcd
+failzone1: 
+failzone2: 
+token: 77925080
+passfail: pass
+type: toascii
+
+=====
+desc: 1-7-1 ASCII and non-Latin
+namebase: abc<30AB><30AC><30AD>
+nameutf8: abc?????????
+namezone: xn--abc-mj4bfg
+failzone1: 
+failzone2: 
+token: 14333380
+passfail: pass
+type: toascii
+
+=====
+desc: 1-7-2 Latin (non-ASCII) and non-Latin
+namebase: <00E5><00FE><00E7><30AB><30AC><30AD>
+nameutf8: ???????????????
+namezone: xn--5cae2e328wfag
+failzone1: 
+failzone2: 
+token: 00848299
+passfail: pass
+type: toascii
+
+=====
+desc: 2-3-1-1 If UseSTD3ASCIIRules: Includes ! before Nameprep
+namebase: <00ED><0021>dn
+nameutf8: ??!dn
+namezone: 
+failzone1: xn--!dn-qma
+failzone2: 
+token: 89571181
+passfail: fail
+type: toascii
+
+=====
+desc: 2-3-1-2 If UseSTD3ASCIIRules: Includes $ before Nameprep
+namebase: <00ED><0024>dn
+nameutf8: ??$dn
+namezone: 
+failzone1: xn--$dn-qma
+failzone2: 
+token: 06965937
+passfail: fail
+type: toascii
+
+=====
+desc: 2-3-1-3 If UseSTD3ASCIIRules: Includes + before Nameprep
+namebase: <00ED><002B>dn
+nameutf8: ??+dn
+namezone: 
+failzone1: xn--+dn-qma
+failzone2: 
+token: 98967951
+passfail: fail
+type: toascii
+
+=====
+desc: 2-3-2-1 If UseSTD3ASCIIRules: Leading hyphen before Nameprep
+namebase: <002D><00ED>1dn
+nameutf8: -??1dn
+namezone: 
+failzone1: xn---1dn-vpa
+failzone2: 
+token: 65457100
+passfail: fail
+type: toascii
+
+=====
+desc: 2-3-2-2 If UseSTD3ASCIIRules: Trailing hyphen before Nameprep
+namebase: <00ED>1dn<002D>
+nameutf8: ??1dn-
+namezone: 
+failzone1: xn--1dn--upa
+failzone2: 
+token: 85629714
+passfail: fail
+type: toascii
+
+=====
+desc: 2-3-3-1 If UseSTD3ASCIIRules: Gets a + after Nameprep
+namebase: <00ED><FF0B>dn
+nameutf8: ?????dn
+namezone: 
+failzone1: xn--dn-mja0331x
+failzone2: 
+token: 95236620
+passfail: fail
+type: toascii
+
+=====
+desc: 2-3-3-2 If UseSTD3ASCIIRules: Gets a = after Nameprep
+namebase: <00ED><207C>dn
+nameutf8: ?????dn
+namezone: 
+failzone1: xn--dn-mja0343a
+failzone2: 
+token: 04960664
+passfail: fail
+type: toascii
+
+=====
+desc: 2-3-4-1 If UseSTD3ASCIIRules: Leading hyphen after Nameprep
+namebase: <FE63><00ED>2dn
+nameutf8: ?????2dn
+namezone: 
+failzone1: xn--2dn-qma32863a
+failzone2: xn---2dn-vpa
+token: 53512069
+passfail: fail
+type: toascii
+
+=====
+desc: 2-3-4-2 If UseSTD3ASCIIRules: Trailing hyphen after Nameprep
+namebase: <00ED>2dn<FF0D>
+nameutf8: ??2dn???
+namezone: 
+failzone1: xn--2dn-qma79363a
+failzone2: xn--2dn--upa
+token: 39938653
+passfail: fail
+type: toascii
+
+=====
+desc: 2-4-1 All-ASCII check, Latin
+namebase: <00B9>1
+nameutf8: ??1
+namezone: 11
+failzone1: 
+failzone2: 
+token: 43611374
+passfail: pass
+type: toascii
+
+=====
+desc: 2-4-2 All-ASCII check, symbol
+namebase: <2165>vi
+nameutf8: ???vi
+namezone: vivi
+failzone1: 
+failzone2: 
+token: 79939993
+passfail: pass
+type: toascii
+
+=====
+desc: 2-4-3 All-ASCII check, sharp S
+namebase: <00DF>ss
+nameutf8: ??ss
+namezone: ssss
+failzone1: 
+failzone2: 
+token: 71292530
+passfail: pass
+type: toascii
+
+=====
+desc: 2-5-1 ACE prefix exists before Nameprep
+namebase: xn--<00EF>dn
+nameutf8: xn--??dn
+namezone: 
+failzone1: xn--xn--dn-sja
+failzone2: xn--dn-sja
+token: 32841515
+passfail: fail
+type: toascii
+
+=====
+desc: 2-5-2 ACE prefix appears after Nameprep
+namebase: <2179>n--<00E4>dn
+nameutf8: ???n--??dn
+namezone: 
+failzone1: xn--xn--dn-uia
+failzone2: xn--dn-uia
+token: 52994631
+passfail: fail
+type: toascii
+
+=====
+desc: 2-8-1 Zero-length label after Nameprep
+namebase: <00AD>
+nameutf8: 
+namezone: 
+failzone1: xn--kba
+failzone2: xn--
+token: 18420037
+passfail: fail
+type: toascii
+
+=====
+desc: 2-9-1 U+3002 acts as a label separator
+namebase: 3002-test<3002><00ED>dn
+nameutf8: 3002-test?????dn
+namezone: 3002-test.xn--dn-mja
+failzone1: xn--3002-testdn-wcb2087m
+failzone2: 
+token: 14217422
+passfail: pass
+type: toascii
+
+=====
+desc: 2-9-2 U+FF0E acts as a label separator
+namebase: ff0e-test<FF0E><00ED>dn
+nameutf8: ff0e-test?????dn
+namezone: ff0e-test.xn--dn-mja
+failzone1: xn--ff0e-testdn-wcb45865f
+failzone2: 
+token: 94579179
+passfail: pass
+type: toascii
+
+=====
+desc: 2-9-3 U+FF61 acts as a label separator
+namebase: ff61-test<FF61><00ED>dn
+nameutf8: ff61-test?????dn
+namezone: ff61-test.xn--dn-mja
+failzone1: xn--ff61-testdn-wcb33975f
+failzone2: 
+token: 27084042
+passfail: pass
+type: toascii
+
+=====
+desc: 3-2-1 Sharp S conversion; should display as m<00EB>ss
+namebase: xn--m<00DF>-jma
+nameutf8: xn--m??-jma
+namezone: m<00EB>ss
+failzone1: 
+failzone2: 
+token: 85142449
+passfail: pass
+type: tounicode
+
+=====
+desc: 3-3-1 Old prefix; should not display as Unicode;<icu> ICU will treat this as ASCII. This sequence is not explicitly prohibited by the RFC.</icu>
+namebase: iesg--dn-mja
+nameutf8: iesg--dn-mja
+namezone: 
+failzone1: 
+failzone2: 
+token: 35996358
+passfail: fail
+type: tounicode
+
+=====
+desc: 3-3-2 Old prefix; should not display as Unicode;<icu> ICU will treat this as ASCII. This sequence is not explicitly prohibited by the RFC.</icu>
+namebase: iesgdn-mja
+nameutf8: iesgdn-mja
+namezone: 
+failzone1: 
+failzone2: 
+token: 13693467
+passfail: fail
+type: tounicode
+
+=====
+desc: 3-3-3 Old prefix; should not display as Unicode;<icu> ICU will treat this as ASCII. This sequence is not explicitly prohibited by the RFC.</icu>
+namebase: bq--dn-mja
+nameutf8: bq--dn-mja
+namezone: 
+failzone1: 
+failzone2: 
+token: 77049719
+passfail: fail
+type: tounicode
+
+=====
+desc: 3-5-1 Non-ASCII code point before the last hyphen;\
+ should not display as Unicode
+namebase: xn--d<00F1>-mja
+nameutf8: xn--d??-mja
+namezone: 
+failzone1: 
+failzone2: 
+token: 53043171
+passfail: fail
+type: tounicode
+
+=====
+desc: 3-5-2 Non-alphanumeric code point after the last hyphen;\
+ should not display as Unicode
+namebase: xn--dn-mj+
+nameutf8: xn--dn-mj+
+namezone: 
+failzone1: 
+failzone2: 
+token: 24626494
+passfail: fail
+type: tounicode
+
+=====
+desc: 3-5-3 Ends in the middle of an encoded delta value;\
+ should not display as Unicode
+namebase: xn--dn-mj
+nameutf8: xn--dn-mj
+namezone: 
+failzone1: 
+failzone2: 
+token: 30921132
+passfail: fail
+type: tounicode
+
+=====
+desc: 3-6-1 Nameprep -- prohibited character U+E000;\
+ should not display as Unicode
+namebase: xn--e000dn-l704a
+nameutf8: xn--e000dn-l704a
+namezone: 
+failzone1: 
+failzone2: 
+token: 02359753
+passfail: fail
+type: tounicode
+
+=====
+desc: 3-6-2 If using UseSTD3ASCIIRules, Step 3a -- leading hyphen; should not display as Unicode
+namebase: xn---3dn-vpa
+nameutf8: xn---3dn-vpa
+namezone: 
+failzone1: 
+failzone2: 
+token: 99795165
+passfail: fail
+type: tounicode
+
+=====
+desc: 3-6-3 If using UseSTD3ASCIIRules, Step 3b -- trailing hyphen; should not display as Unicode
+namebase: xn--3dn--upa
+nameutf8: xn--3dn--upa
+namezone: 
+failzone1: 
+failzone2: 
+token: 86051717
+passfail: fail
+type: tounicode
+
+=====
+desc: 3-6-4 Step 5 -- prefix exists; should not display as Unicode
+namebase: xn--xn--dn-6va
+nameutf8: xn--xn--dn-6va
+namezone: 
+failzone1: 
+failzone2: 
+token: 02506789
+passfail: fail
+type: tounicode
+
+=====
+desc: 3-7-1 Punycode was not necessary; should not display as Unicode
+namebase: xn--idn-
+nameutf8: xn--idn-
+namezone: 
+failzone1: 
+failzone2: 
+token: 21675918
+passfail: fail
+type: tounicode
+
+=====
+desc: 3-7-2 String did not go through Nameprep;\
+ should not display as Unicode
+namebase: xn--dn-vga
+nameutf8: xn--dn-vga
+namezone: 
+failzone1: 
+failzone2: 
+token: 18832454
+passfail: fail
+type: tounicode
+
+=====
+desc: 3-8-1 Should show the Unicode <00ED>4dn ; <icu> Changed namebase and nameutf8 from xn--4dn-lla to xn--4dn-qma </icu>
+namebase: xn--4dn-qma
+nameutf8: xn--4dn-qma
+namezone: <00ED>4dn
+failzone1: 
+failzone2: 
+token: 23377435
+passfail: pass
+type: tounicode
+
+=====
+desc: 4-1-1-1 00adout<00AD><00ED>dn ->\
+ 00adout<00ED>dn
+namebase: 00adout<00AD><00ED>dn
+nameutf8: 00adout????dn
+namezone: xn--00adoutdn-m5a
+failzone1: xn--00adoutdn-cna81e
+failzone2: 
+token: 04299950
+passfail: pass
+type: toascii
+
+=====
+desc: 4-1-1-2 200dout<200D><00ED>dn ->\
+ 200dout<00ED>dn
+namebase: 200dout<200D><00ED>dn
+nameutf8: 200dout?????dn
+namezone: xn--200doutdn-m5a
+failzone1: xn--200doutdn-m5a1678f
+failzone2: 
+token: 00643243
+passfail: pass
+type: toascii
+
+=====
+desc: 4-1-2-1 simplecap<0044><00ED>dn ->\
+ simplecap<0064><00ED>dn
+namebase: simplecap<0044><00ED>dn
+nameutf8: simplecapD??dn
+namezone: xn--simplecapddn-1fb
+failzone1: 
+failzone2: 
+token: 36249795
+passfail: pass
+type: toascii
+
+=====
+desc: 4-1-2-2 latintogreek<00B5><00ED>dn ->\
+ latintogreek<03BC><00ED>dn
+namebase: latintogreek<00B5><00ED>dn
+nameutf8: latintogreek????dn
+namezone: xn--latintogreekdn-cmb716i
+failzone1: xn--latintogreekdn-cxa01g
+failzone2: 
+token: 03117407
+passfail: pass
+type: toascii
+
+=====
+desc: 4-1-2-3 latinext<00C7><00ED>dn ->\
+ latinext<00E7><00ED>dn
+namebase: latinext<00C7><00ED>dn
+nameutf8: latinext????dn
+namezone: xn--latinextdn-v6a6e
+failzone1: xn--latinextdn-twa07b
+failzone2: 
+token: 10243505
+passfail: pass
+type: toascii
+
+=====
+desc: 4-1-2-4 sharps<00DF><00ED>dn ->\
+ sharpsss<00ED>dn
+namebase: sharps<00DF><00ED>dn
+nameutf8: sharps????dn
+namezone: xn--sharpsssdn-r8a
+failzone1: xn--sharpsdn-vya4l
+failzone2: 
+token: 84921656
+passfail: pass
+type: toascii
+
+=====
+desc: 4-1-2-5 turkishi<0130><00ED>dn ->\
+ turkishi<0069><0307><00ED>dn
+namebase: turkishi<0130><00ED>dn
+nameutf8: turkishi????dn
+namezone: xn--turkishiidn-wcb701e
+failzone1: xn--turkishidn-r8a71f
+failzone2: 
+token: 02381730
+passfail: pass
+type: toascii
+
+=====
+desc: 4-1-2-6 exptwo<0149><00ED>dn ->\
+ exptwo<02BC><006E><00ED>dn
+namebase: exptwo<0149><00ED>dn
+nameutf8: exptwo????dn
+namezone: xn--exptwondn-m5a502c
+failzone1: xn--exptwodn-h2a33g
+failzone2: 
+token: 10575203
+passfail: pass
+type: toascii
+
+=====
+desc: 4-1-2-7 addfold<03D2><00ED>dn ->\
+ addfold<03C5><00ED>dn
+namebase: addfold<03D2><00ED>dn
+nameutf8: addfold????dn
+namezone: xn--addfolddn-m5a121f
+failzone1: xn--addfolddn-m5a462f
+failzone2: 
+token: 31493044
+passfail: pass
+type: toascii
+
+=====
+desc: 4-1-2-8 expthree<1F52><00ED>dn ->\
+ expthree<03C5><0313><0300><00ED>dn
+namebase: expthree<1F52><00ED>dn
+nameutf8: expthree?????dn
+namezone: xn--expthreedn-r8a5844g
+failzone1: 
+failzone2: 
+token: 68144622
+passfail: pass
+type: toascii
+
+=====
+desc: 4-1-2-9 nonbmp<10400><00ED>dn ->\
+ nonbmp<10428><00ED>dn
+namebase: nonbmp<10400><00ED>dn
+nameutf8: nonbmp??????dn
+namezone: xn--nonbmpdn-h2a34747d
+failzone1: xn--nonbmpdn-h2a37046d
+failzone2: 
+token: 35393212
+passfail: pass
+type: toascii
+
+=====
+desc: 4-1-2-10 nonbmptoascii<1D400><00ED>dn ->\
+ nonbmptoasciia<00ED>dn
+namebase: nonbmptoascii<1D400><00ED>dn
+nameutf8: nonbmptoascii??????dn
+namezone: xn--nonbmptoasciiadn-msb
+failzone1: xn--nonbmptoasciidn-hpb54112i
+failzone2: 
+token: 78182502
+passfail: pass
+type: toascii
+
+=====
+desc: 4-2-1-1 regcomb<0065><0301><00ED>dn ->\
+ regcomb<00E9><00ED>dn
+namebase: regcomb<0065><0301><00ED>dn
+nameutf8: regcombe????dn
+namezone: xn--regcombdn-h4a8b
+failzone1: xn--regcombedn-r8a794d
+failzone2: 
+token: 87647045
+passfail: pass
+type: toascii
+
+=====
+desc: 4-2-1-2 combandcase<0045><0301><00ED>dn ->\
+ combandcase<00E9><00ED>dn
+namebase: combandcase<0045><0301><00ED>dn
+nameutf8: combandcaseE????dn
+namezone: xn--combandcasedn-lhb4d
+failzone1: xn--combandcaseedn-cmb526f
+failzone2: 
+token: 61741185
+passfail: pass
+type: toascii
+
+=====
+desc: 4-2-1-3 adjcomb<00BA><0301><00ED>dn ->\
+ adjcomb<00F3><00ED>dn
+namebase: adjcomb<00BA><0301><00ED>dn
+nameutf8: adjcomb??????dn
+namezone: xn--adjcombdn-m5a9d
+failzone1: xn--adjcombdn-1qa57cp3r
+failzone2: 
+token: 14828402
+passfail: pass
+type: toascii
+
+=====
+desc: 4-2-1-4 extcombo<0063><0301><00ED>dn ->\
+ extcombo<0107><00ED>dn
+namebase: extcombo<0063><0301><00ED>dn
+nameutf8: extcomboc????dn
+namezone: xn--extcombodn-r8a52a
+failzone1: xn--extcombocdn-wcb920e
+failzone2: 
+token: 26651277
+passfail: pass
+type: toascii
+
+=====
+desc: 4-2-1-5 doublediac1<0075><0308><0301><00ED>dn ->\
+ doublediac2<01D8><00ED>dn
+namebase: doublediac1<0075><0308><0301><00ED>dn
+nameutf8: doublediac1u??????dn
+namezone: xn--doublediac1dn-6ib836a
+failzone1: xn--doublediac1udn-cmb526fnd
+failzone2: 
+token: 30175595
+passfail: pass
+type: toascii
+
+=====
+desc: 4-2-1-6 doublediac2<0075><0301><0308><00ED>dn ->\
+ doublediac2<01D8><00ED>dn
+namebase: doublediac2<0075><0301><0308><00ED>dn
+nameutf8: doublediac2u??????dn
+namezone: xn--doublediac2dn-6ib8qs73a
+failzone1: xn--doublediac2udn-cmb526fod
+failzone2: 
+token: 35606109
+passfail: pass
+type: toascii
+
+=====
+desc: 4-2-2-1 newnorm<2F874><00ED>dn ->\
+ newnorm<5F33><00ED>dn should not become <5F53>
+namebase: newnorm<2F874><00ED>dn
+nameutf8: newnorm??????dn
+namezone: xn--newnormdn-m5a7856x
+failzone1: xn--newnormdn-m5a9396x
+failzone2: xn--newnormdn-m5a9968x
+token: 61901810
+passfail: pass
+type: toascii
+
+=====
+desc: 4-3-1 If UseSTD3ASCIIRules: Spacing; <icu> \u0020 is prohibited from the output only when UseSTD3ASCIIRules is set </icu>
+namebase: <2000><00ED>dn
+nameutf8: ?????dn
+namezone: 
+failzone1: xn--dn-mja3392a
+failzone2: 
+token: 13226878
+passfail: fail
+type: toascii
+
+=====
+desc: 4-3-2 Control
+namebase: <06DD><00ED>dn-2
+nameutf8: ????dn-2
+namezone: 
+failzone1: xn--dn-2-upa332g
+failzone2: 
+token: 09873312
+passfail: fail
+type: toascii
+
+=====
+desc: 4-3-3 Private use
+namebase: <E005><00ED>dn
+nameutf8: ?????dn
+namezone: 
+failzone1: xn--dn-mja1659t
+failzone2: 
+token: 03937183
+passfail: fail
+type: toascii
+
+=====
+desc: 4-3-4 Private use, non-BMP
+namebase: <F0005><00ED>dn
+nameutf8: ??????dn
+namezone: 
+failzone1: xn--dn-mja7922x
+failzone2: 
+token: 78707823
+passfail: fail
+type: toascii
+
+=====
+desc: 4-3-5 Non-character
+namebase: <FDDD><00ED>dn
+nameutf8: ?????dn
+namezone: 
+failzone1: xn--dn-mja1210x
+failzone2: 
+token: 44432178
+passfail: fail
+type: toascii
+
+=====
+desc: 4-3-6 Non-character, non-BMP
+namebase: <1FFFE><00ED>dn
+nameutf8: ??????dn
+namezone: 
+failzone1: xn--dn-mja7922x
+failzone2: 
+token: 69142686
+passfail: fail
+type: toascii
+
+=====
+desc: 4-3-7 Surrogate points
+namebase: <D805><00ED>dn
+nameutf8: ?????dn
+namezone: 
+failzone1: xn--dn-mja7922x
+failzone2: 
+token: 05424571
+passfail: fail
+type: toascii
+
+=====
+desc: 4-3-8 Inappropriate for plain
+namebase: <FFFA><00ED>dn
+nameutf8: ?????dn
+namezone: 
+failzone1: xn--dn-mja5822x
+failzone2: 
+token: 44825824
+passfail: fail
+type: toascii
+
+=====
+desc: 4-3-9 Inappropriate for canonical
+namebase: <2FF5><00ED>dn
+nameutf8: ?????dn
+namezone: 
+failzone1: xn--dn-mja3729b
+failzone2: 
+token: 50926136
+passfail: fail
+type: toascii
+
+=====
+desc: 4-3-10 Change display simple
+namebase: <206A><00ED>dn
+nameutf8: ?????dn
+namezone: 
+failzone1: xn--dn-mja7533a
+failzone2: 
+token: 57953313
+passfail: fail
+type: toascii
+
+=====
+desc: 4-3-11 Change display RTL
+namebase: <200F><00ED>dn
+nameutf8: ?????dn
+namezone: 
+failzone1: xn--dn-mja3992a
+failzone2: 
+token: 30705279
+passfail: fail
+type: toascii
+
+=====
+desc: 4-3-12 Language tags
+namebase: <E0001><E0045><E004E><0068><0069>idn
+nameutf8: ????????????hiidn
+namezone: 
+failzone1: xn--hiidn-km43aaa
+failzone2: 
+token: 44598039
+passfail: fail
+type: toascii
+
+=====
+desc: 4-4-1 Arabic RandALCat-LCat-RandALCat
+namebase: <0628><006F><0638>
+nameutf8: ??o??
+namezone: 
+failzone1: xn--o-0mc3c
+failzone2: 
+token: 78233053
+passfail: fail
+type: toascii
+
+=====
+desc: 4-4-2 Arabic RandALCat-RandALCat-other
+namebase: <0628><0638><006F>
+nameutf8: ????o
+namezone: 
+failzone1: xn--o-0mc2c
+failzone2: 
+token: 95299621
+passfail: fail
+type: toascii
+
+=====
+desc: 4-4-3 Arabic other-RandALCat-RandALCat
+namebase: <006F><0628><0638>
+nameutf8: o????
+namezone: 
+failzone1: xn--o-1mc2c
+failzone2: 
+token: 79807176
+passfail: fail
+type: toascii
+
+=====
+desc: 4-4-4 Hebrew RandALCat-LCat-RandALCat
+namebase: <05D1><006F><05E1>
+nameutf8: ??o??
+namezone: 
+failzone1: xn--o-1hc3c
+failzone2: 
+token: 32229450
+passfail: fail
+type: toascii
+
+=====
+desc: 4-4-5 Hebrew RandALCat-RandALCat-other
+namebase: <05D1><05E1><006F>
+nameutf8: ????o
+namezone: 
+failzone1: xn--o-1hc2c
+failzone2: 
+token: 53213348
+passfail: fail
+type: toascii
+
+=====
+desc: 4-4-6 Hebrew other-RandALCat-RandALCat
+namebase: <006F><05D1><05E1>
+nameutf8: o????
+namezone: 
+failzone1: xn--o-2hc2c
+failzone2: 
+token: 90835860
+passfail: fail
+type: toascii
+
+=====
+desc: 5-1-1 Unassigned in BMP; zone editors should reject
+namebase: <0237><00ED>dn
+nameutf8: ????dn
+namezone: xn--dn-mja33k
+failzone1: 
+failzone2: 
+token: 83079602
+passfail: pass
+type: toascii
+
+=====
+desc: 5-1-2 Unassinged outside BMP; zone editors should reject
+namebase: <10205><00ED>dn
+nameutf8: ??????dn
+namezone: xn--dn-mja7734x
+failzone1: xn--dn-mja7922x
+failzone2: 
+token: 03682900
+passfail: pass
+type: toascii
+
+=====
+desc: 5-2-1 Newly assigned in BMP; zone editors should reject
+namebase: <0234><00ED>dn
+nameutf8: ????dn
+namezone: xn--dn-mja12k
+failzone1: 
+failzone2: 
+token: 96637501
+passfail: pass
+type: toascii
+
+=====
+desc: 5-2-2 Newly assigned outside of BMP; zone editors should reject
+namebase: <10005><00ED>dn
+nameutf8: ??????dn
+namezone: xn--dn-mja9232x
+failzone1: xn--dn-mja7922x
+failzone2: 
+token: 95537699
+passfail: pass
+type: toascii
\ No newline at end of file
diff --git a/src/com/ibm/icu/dev/data/TestDataElements_testaliases.java b/src/com/ibm/icu/dev/data/TestDataElements_testaliases.java
new file mode 100644
index 0000000..c855fd2
--- /dev/null
+++ b/src/com/ibm/icu/dev/data/TestDataElements_testaliases.java
@@ -0,0 +1,104 @@
+/**
+*******************************************************************************
+* Copyright (C) 1996-2004, International Business Machines Corporation and    *
+* others. All Rights Reserved.                                                *
+*******************************************************************************
+*/
+package com.ibm.icu.dev.data;
+
+import com.ibm.icu.impl.ICUListResourceBundle;
+
+public class TestDataElements_testaliases extends ICUListResourceBundle {
+
+    public TestDataElements_testaliases  () {
+          super.contents = data;
+    }
+    static final Object[][] data = new Object[][] { 
+                {
+                    "collations",
+                    new ICUListResourceBundle.Alias("/ICUDATA/uk"),
+                },
+// Circular aliases test moved to TestCircularAliases
+//               {
+//                   "aaa",
+//                    new ICUListResourceBundle.Alias("testaliases/aab"),
+//                },
+//                {
+//                    "aab",
+//                    new ICUListResourceBundle.Alias("testaliases/aaa"),
+//                },
+                {
+                    "anotheralias",
+                    new ICUListResourceBundle.Alias("/ICUDATA/uk/collations/standard"),
+                },
+// Moved to TestNonExisting
+//                {
+//                    "nonexisting",
+//                    new ICUListResourceBundle.Alias("/ICUDATA/uk"),
+//                },
+                {
+                    "referencingalias",
+                    new ICUListResourceBundle.Alias("testaliases/anotheralias/Sequence"),
+                },
+                {
+                    "simplealias",
+                    new ICUListResourceBundle.Alias("testtypes/menu/file/open"),
+                },
+                {
+                    "testGetStringByIndexAliasing",
+                    new Object[]{
+                        new ICUListResourceBundle.Alias("/ICUDATA/en/zoneStrings/0/0"),
+                        new ICUListResourceBundle.Alias("/ICUDATA/en/zoneStrings/0/1"),
+                        new ICUListResourceBundle.Alias("/ICUDATA/en/zoneStrings/0/4"),
+                        new ICUListResourceBundle.Alias("/ICUDATA/en/zoneStrings/0/5"),
+
+                    },
+                },
+                {
+                    "testGetStringByKeyAliasing",
+                    new Object[][]{
+                        {
+                            "KeyAlias0PST",
+                            new ICUListResourceBundle.Alias("/ICUDATA/en/zoneStrings/0/0"),
+                        },
+                        {
+                            "KeyAlias1PacificStandardTime",
+                            new ICUListResourceBundle.Alias("/ICUDATA/en/zoneStrings/0/1"),
+                        },
+                        {
+                            "KeyAlias2PDT",
+                            new ICUListResourceBundle.Alias("/ICUDATA/en/zoneStrings/0/4"),
+                        },
+                        {
+                            "KeyAlias3LosAngeles",
+                            new ICUListResourceBundle.Alias("/ICUDATA/en/zoneStrings/0/5"),
+                        },
+                    },
+                },
+                {
+                    "zoneStrings",
+                    new Object[]{
+                        new ICUListResourceBundle.Alias("/ICUDATA/en"),
+                        new ICUListResourceBundle.Alias("/ICUDATA/en"),
+
+                    },
+                },
+                {
+                    "zoneTests",
+                    new Object[][]{
+                        {
+                            "zoneAlias",
+                            new ICUListResourceBundle.Alias("/ICUDATA/en/zoneStrings"),
+                        },
+                        {
+                            "zoneAlias1",
+                            new ICUListResourceBundle.Alias("/ICUDATA/en/zoneStrings/3"),
+                        },
+                        {
+                            "zoneAlias2",
+                            new ICUListResourceBundle.Alias("/ICUDATA/en/zoneStrings/3/0"),
+                        },
+                    },
+                },
+    };
+}
diff --git a/src/com/ibm/icu/dev/data/TestDataElements_testcircularalias.java b/src/com/ibm/icu/dev/data/TestDataElements_testcircularalias.java
new file mode 100644
index 0000000..cc58226
--- /dev/null
+++ b/src/com/ibm/icu/dev/data/TestDataElements_testcircularalias.java
@@ -0,0 +1,37 @@
+/**
+ *******************************************************************************
+ * Copyright (C) 2001-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.data;
+
+import com.ibm.icu.impl.ICUListResourceBundle;
+/**
+ * @author Ram
+ *
+ * To change this generated comment edit the template variable "typecomment":
+ * Window>Preferences>Java>Templates.
+ * To enable and disable the creation of type comments go to
+ * Window>Preferences>Java>Code Generation.
+ */
+public class TestDataElements_testcircularalias  extends ICUListResourceBundle {
+    public TestDataElements_testcircularalias() {
+          super.contents = data;
+    }
+    private static Object[][] data = new Object[][] { 
+                {
+                    "aaa",
+                    new ICUListResourceBundle.Alias("testcircularalias/aab"),
+                },
+                {
+                    "aab",
+                    new ICUListResourceBundle.Alias("testcircularalias/aac"),
+                },
+                {
+                    "aac",
+                    new ICUListResourceBundle.Alias("testcircularalias/aaa"),
+                } 
+    };
+}
+
diff --git a/src/com/ibm/icu/dev/data/TestDataElements_testtypes.java b/src/com/ibm/icu/dev/data/TestDataElements_testtypes.java
new file mode 100644
index 0000000..e3db9dc
--- /dev/null
+++ b/src/com/ibm/icu/dev/data/TestDataElements_testtypes.java
@@ -0,0 +1,138 @@
+/**
+ *******************************************************************************
+ * Copyright (C) 2001-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.data;
+
+import com.ibm.icu.impl.ICUListResourceBundle;
+
+public class TestDataElements_testtypes extends ICUListResourceBundle {
+
+    public TestDataElements_testtypes  () {
+          super.contents = data;
+    }
+    private static Object[][] data = new Object[][] { 
+                {
+                    "binarytest",
+                    new ICUListResourceBundle.CompressedBinary(
+                        "\u0000\u000F\u0001\u0203\u0405\u0607\u0809\u0A0B" +
+                        "\u0C0D\u0E00"),
+                },
+                {
+                    "emptyarray",
+                    new String[] { 
+                    },
+                },
+                {
+                    "emptybin",
+                    new ICUListResourceBundle.CompressedBinary(null),
+                },
+                {
+                    "emptyexplicitstring",
+                    "",
+                },
+                {
+                    "emptyint",
+                    new Integer(0),
+                },
+                {
+                    "emptyintv",
+                    new Integer[] {
+                    },
+                },
+                {
+                    "emptystring",
+                    "",
+                },
+                {
+                    "emptytable",
+                    new Object[][]{
+                    },
+                },
+                {
+                    "importtest",
+                    new ICUListResourceBundle.CompressedBinary(
+                        "\u0000\u000F\u0001\u0203\u0405\u0607\u0809\u0A0B" +
+                        "\u0C0D\u0E00"),
+                },
+                {
+                    "integerarray",
+                    new Integer[] {
+                        new Integer(1),
+                        new Integer(2),
+                        new Integer(3),
+                        new Integer(-3),
+                        new Integer(4),
+                        new Integer(5),
+                        new Integer(6),
+                        new Integer(7),
+                    },
+                },
+                {
+                    "menu",
+                    new Object[][]{
+                        {
+                            "file",
+                            new Object[][]{
+                                {
+                                    "exit",
+                                    "Exit",
+                                },
+                                {
+                                    "open",
+                                    "Open",
+                                },
+                                {
+                                    "save",
+                                    "Save",
+                                },
+                            },
+                        },
+                    },
+                },
+                {
+                    "minusone",
+                    new Integer(-1),
+                },
+                {
+                    "one",
+                    new Integer(1),
+                },
+                {
+                    "onehundredtwentythree",
+                    new Integer(123),
+                },
+                {
+                    "plusone",
+                    new Integer(1),
+                },
+                {
+                    "string",
+                    new String[] { 
+                    },
+                },
+                {
+                    "stringTable",
+                    new Object[]{
+                        new String[] { 
+                        },
+
+                    },
+                },
+                {
+                    "test_underscores",
+                    "test message ....",
+                },
+                {
+                    "testescape",
+                    "tab:\u0009 cr:\f ff:\u000C newline:\n backslash:\\" +
+                    " quote=\\\' doubleQuote=\\\" singlequoutes=''",
+                },
+                {
+                    "zerotest",
+                    "abc\u0000def",
+                },
+    };
+}
diff --git a/src/com/ibm/icu/dev/data/rbbi/english.dict b/src/com/ibm/icu/dev/data/rbbi/english.dict
new file mode 100755
index 0000000..10f430b
--- /dev/null
+++ b/src/com/ibm/icu/dev/data/rbbi/english.dict
Binary files differ
diff --git a/src/com/ibm/icu/dev/data/rbbi/words.txt b/src/com/ibm/icu/dev/data/rbbi/words.txt
new file mode 100755
index 0000000..a7e06ac
--- /dev/null
+++ b/src/com/ibm/icu/dev/data/rbbi/words.txt
@@ -0,0 +1,2990 @@
+--
+--such
+a
+a'bel-mizraim
+a'iah
+abate
+abated
+abdicated
+abel
+abi'da
+abide
+abim'a-el
+abim'elech
+abim'elech's
+able
+abolish
+abolishing
+abomination
+about
+above
+abraham
+abraham's
+abram
+abram's
+abroad
+absent
+absolute
+absolved
+abundance
+abundantly
+abuses
+accad
+accept
+accepted
+accommodation
+according
+accordingly
+account
+accustomed
+achbor
+acknowledged
+acquiesce
+acquired
+across
+act
+acts
+adah
+adam
+adbeel
+add
+added
+admah
+administration
+adullamite
+advanced
+adviser
+afar
+affected
+afflicted
+affliction
+afraid
+after
+afterward
+afterwards
+again
+against
+age
+ages
+agile
+agree
+agreed
+ahuz'zath
+ai
+aid
+air
+akan
+al'lon-bacuth
+alighted
+alive
+all
+allegiance
+alliances
+allies
+allow
+allowance
+almighty
+almo'dad
+almond
+almonds
+alone
+along
+aloud
+already
+also
+altar
+alter
+altering
+although
+altogether
+alvah
+alvan
+am
+am'alek
+am'raphel
+amal'ekites
+amazement
+america
+ammonites
+among
+amongst
+amorite
+amorites
+amount
+an
+an'amim
+anah
+and
+aner
+angel
+angels
+anger
+angry
+animal
+animals
+annihilation
+anointed
+another
+another's
+answer
+answered
+any
+anything
+anywhere
+apart
+appealed
+appealing
+appear
+appeared
+appease
+appoint
+appointed
+approached
+approaching
+appropriations
+aprons
+ar'arat
+ar'ioch
+ar'vadites
+aram
+aramean
+aran
+arbitrary
+archers
+ard
+are
+are'li
+area
+arise
+ark
+arkites
+armed
+armies
+arms
+army
+aro'di
+arose
+around
+arpach'shad
+arrayed
+arrive
+art
+as
+as'enath
+ascending
+ash'kenaz
+ash'teroth-karna'im
+ashamed
+ashbel
+asher
+asher's
+ashes
+aside
+ask
+asked
+asks
+asleep
+ass
+ass's
+assemble
+assembled
+assent
+asses
+asshu'rim
+asshur
+assume
+assured
+assyria
+at
+atad
+ate
+attack
+attacked
+attained
+attempts
+attend
+attended
+attention
+authority
+avenged
+avith
+away
+awesome
+awoke
+ba'al-ha'nan
+ba'bel
+back
+backward
+bad
+bade
+bags
+baked
+baker
+balm
+bank
+banks
+barbarous
+barren
+bas'emath
+basket
+baskets
+battle
+bdellium
+be
+be'or
+be-e'ri
+bear
+bearing
+bears
+beast
+beasts
+beautiful
+became
+because
+becher
+become
+becomes
+bed
+bedad
+been
+beer-la'hai-roi
+beer-sheba
+befall
+befallen
+befalls
+before
+beg
+began
+beginning
+beguiled
+begun
+beheld
+behind
+behold
+being
+bela
+believe
+believed
+belly
+belong
+belonging
+belongs
+below
+ben-ammi
+ben-o'ni
+beneath
+benefits
+benjamin
+benjamin's
+bera
+bereaved
+bered
+bereft
+beri'ah
+beside
+besides
+besought
+best
+bethel
+bethlehem
+bethu'el
+better
+between
+beyond
+bilhah
+bilhan
+binding
+bird
+birds
+birsha
+birth
+birthday
+birthright
+bites
+bitter
+bitumen
+black
+blame
+blameless
+bless
+blessed
+blesses
+blessing
+blessings
+blighted
+blindness
+blood
+blossoms
+blot
+blotted
+blow
+bodies
+body
+boiling
+bonds
+bone
+bones
+book
+booths
+border
+bore
+born
+borne
+both
+bough
+bought
+bound
+boundaries
+bounties
+bow
+bowed
+bowing
+bowshot
+boys
+bozrah
+bracelets
+branches
+breach
+bread
+breadth
+break
+breaking
+breasts
+breath
+breathed
+bred
+breed
+breeding
+brethren
+brick
+bricks
+brimstone
+bring
+britain
+british
+broken
+bronze
+brother
+brother's
+brother-in-law
+brothers
+brought
+brow
+bruise
+budded
+build
+building
+built
+bulls
+bundle
+bundles
+buried
+burn
+burned
+burnt
+burst
+bury
+burying
+bushes
+but
+butler
+butlership
+buy
+buz
+by
+cain
+cake
+cakes
+calah
+calf
+call
+called
+calls
+came
+camel
+camel's
+camels
+camp
+camped
+can
+canaan
+canaan'
+canaanite
+canaanites
+canaanitish
+candid
+cannot
+caph'torim
+captain
+captive
+captives
+captured
+caravan
+carcasses
+care
+carefully
+carmi
+carried
+carry
+cases
+caslu'him
+cast
+cattle
+caught
+cause
+caused
+causes
+cave
+cease
+ceased
+certain
+chain
+chalde'ans
+chamber
+change
+changed
+character
+charge
+charged
+charging
+chariot
+chariots
+charters
+cheat
+cheated
+ched-or-lao'mer
+cheran
+cherubim
+chesed
+chezib
+chief
+chiefs
+child
+childbearing
+childless
+children
+children's
+choice
+choicest
+chose
+chosen
+circumcised
+circumstances
+cities
+citizens
+city
+civil
+civilized
+clans
+clean
+clear
+cleaves
+close
+closed
+clothed
+clothes
+clothing
+cloud
+clouds
+clusters
+coastland
+coasts
+coffin
+cold
+colonies
+colonies:
+colt
+colts
+combined
+come
+comely
+comes
+comfort
+comforted
+comforts
+coming
+command
+commanded
+commander
+commandments
+commerce
+commit
+committed
+common
+companies
+company
+complained
+complete
+completed
+compliance
+conceal
+conceived
+concern
+concerning
+conclude
+concubine
+concubines
+condition
+conditions
+confined
+confuse
+confused
+congress
+conjured
+connected
+connection
+connections
+consent
+consent:
+conspired
+constitution
+constrained
+constrains
+consume
+consumed
+contempt
+contended
+continually
+continue
+continued
+contract
+control
+controlling
+convulsions
+cool
+cord
+correspondence
+corrupt
+corrupted
+costly
+couch
+couched
+couches
+couching
+could
+council
+count
+counted
+countenance
+country
+course
+covenant
+cover
+covered
+covering
+cows
+created
+creation
+creator
+creature
+creatures
+creeping
+creeps
+cried
+crossed
+crossing
+crouching
+crown
+cruel
+cruelty
+cry
+crying
+cubit
+cubits
+cup
+curds
+current
+curse
+cursed
+curses
+cush
+custody
+cut
+cutting
+dainties
+damascus
+dan
+dangers
+dares
+dark
+darkness
+daughter
+daughter-in-law
+daughters
+dawned
+day
+days
+dead
+deal
+dealt
+death
+deb'orah
+deceitfully
+deceived
+decent
+decide
+decks
+declaration
+declare
+declaring
+dedan
+deed
+deep
+defeat
+defeated
+defiled
+define
+delay
+delayed
+delight
+deliver
+delivered
+delivery
+denied
+denounces
+depart
+departed
+departing
+dependent
+dependents
+depository
+depriving
+deriving
+descendants
+descending
+design
+desire
+desired
+desolate
+desolation
+despised
+despotism
+destroy
+destroyed
+destroys
+destruction
+destructive
+determined
+devoured
+devouring
+dew
+dictate
+did
+didst
+die
+died
+dies
+diklah
+dim
+din'habah
+dinah
+dinah's
+dine
+dipped
+direct
+direction
+disaster
+disavow
+discreet
+disgrace
+dishan
+dishon
+dismayed
+displeased
+displeasing
+disposed
+dissolutions
+dissolve
+dissolved
+distance
+distant
+distress
+distressed
+districts
+divide
+divided
+dividing
+divination
+divine
+divines
+do
+do'danim
+doer
+does
+doing
+domestic
+dominion
+done
+door
+dothan
+double
+doubling
+doubt
+dove
+down
+downcast
+dowry
+drank
+draw
+drawn
+dread
+dream
+dreamed
+dreamer
+dreams
+drew
+dried
+drink
+drinking
+drinks
+driven
+drove
+droves
+drunk
+dry
+dug
+dumah
+dungeon
+during
+dust
+duty
+dwell
+dwelling
+dwelt
+e'domites
+e'phraim
+e'phraim's
+each
+early
+ears
+earth
+easily
+east
+eastward
+eat
+eaten
+eating
+ebal
+eber
+eden
+eder
+edom
+effect
+egypt
+egyptian
+egyptian's
+egyptians
+ehi
+eight
+eighteen
+eighty
+eighty-seven
+eighty-six
+eighty-two
+either
+el'iphaz
+el-bethel
+el-el'ohe-israel
+el-paran
+elah
+elam
+elda'ah
+elder
+elders
+eldest
+elected
+eleven
+eli'shah
+elie'zer
+ella'sar
+elon
+else
+embalm
+embalmed
+embalming
+embrace
+embraced
+emigration
+emim
+emptied
+empty
+empty-handed
+enaim
+encamped
+encampments
+encourage
+end
+endeavored
+ended
+ending
+endowed
+ends
+enemies
+enemy
+english
+enlarge
+enlarging
+enmish'pat
+enmity
+enoch
+enosh
+enough
+enter
+entered
+entitle
+entrance
+entreat
+envied
+ephah
+epher
+ephrath
+ephron
+equal
+er
+erech
+erected
+eri
+errand
+esau
+esau's
+escape
+escaped
+esek
+eshban
+eshcol
+establish
+established
+establishing
+establishment
+eternal
+euphra'tes
+euphrates
+eve
+even
+evening
+events
+ever
+everlasting
+every
+everything
+everywhere
+evil
+evils
+evinces
+ewe
+ewes
+example
+exceedingly
+except
+exchange
+excited
+executioners
+exercise
+experience
+expert
+explain
+exposed
+exposing
+extend
+extended
+eyes
+ezbon
+ezer
+face
+faces
+facts
+failed
+fainted
+fair
+faithfulness
+fall
+fallen
+falls
+falsely
+families
+family
+famine
+famished
+far
+fare
+fared
+farewell
+fast
+fat
+father
+father's
+father-in-law
+fathers
+fatiguing
+fatness
+faults
+favor
+favorable
+fawns
+fear
+feared
+feast
+fed
+feebler
+feed
+feel
+feet
+fell
+fellow
+felt
+female
+festal
+fetch
+few
+field
+fields
+fierce
+fiercely
+fifteen
+fifth
+fifths
+fifty
+fig
+fill
+filled
+find
+finds
+fine
+finish
+finished
+fire
+firm
+firmament
+firmness
+first
+first-
+first-born
+firstlings
+fish
+fit
+five
+fixed
+flaming
+fled
+flee
+fleeing
+flesh
+floated
+flock
+flocks
+flood
+floor
+flowed
+flows
+fly
+foal
+follow
+followed
+following
+follows
+folly
+fondling
+food
+foolishly
+foot
+for
+forbidden
+force
+forced
+forces
+ford
+foreign
+foreigner
+foreigners
+foremost
+foreskin
+foreskins
+forger
+forget
+forgets
+forgive
+forgot
+forgotten
+form
+formed
+former
+formerly
+formidable
+forms
+forsaken
+forth
+fortune
+fortunes
+forty
+forty-five
+forty-seven
+found
+foundation
+fountains
+four
+fourteen
+fourteenth
+fourth
+frail
+free
+freely
+fresh
+freshly
+friend
+friendly
+friends
+fro
+from
+front
+frontiers
+fruit
+fruitful
+fruits
+fugitive
+fulfil
+fulfilled
+full
+fundamentally
+furnace
+fury
+future
+gad
+gaham
+gained
+galeed
+game
+garden
+garment
+garments
+gatam
+gate
+gather
+gathered
+gaunt
+gave
+gavest
+gaza
+gazed
+genealogies
+general
+generation
+generations
+gera
+gerar
+gershon
+get
+gether
+gift
+gifts
+gihon
+gilead
+gir'gashites
+give
+given
+givest
+giving
+go
+goat
+goats
+god
+god's
+gods
+goes
+goi'im
+going
+gold
+gomer
+gomor'rah
+gone
+good
+good-looking
+goods
+gopher
+goshen
+got
+gotten
+governed
+government
+governments
+governments:
+governor
+governors
+gracious
+graciously
+grain
+grandchildren
+grandson
+grant
+granted
+grapes
+grass
+grave
+gray
+great
+greater
+greatly
+green
+grew
+grieved
+grievous
+groping
+ground
+grow
+growing
+grown
+grows
+guard
+guards
+guile
+guilt
+guilty
+gum
+guni
+ha'mathites
+had
+hadad
+hadar
+hador'am
+hagar
+haggi
+hairs
+hairy
+half
+hallowed
+ham
+hamor
+hamor's
+hamstring
+hamul
+hand
+hands
+handsome
+hang
+hanged
+hanoch
+happened
+happiness
+happy
+haran
+harass
+harassed
+hard
+hardship
+harlot
+harlotry
+harm
+harshly
+harvest
+harvests
+has
+hast
+haste
+hastened
+hastily
+hate
+hated
+hath
+hav'ilah
+have
+haven
+havilah
+having
+haz'azon-ta'mar
+hazarma'veth
+hazo
+he
+he-asses
+he-goats
+head
+heads
+healed
+heap
+hear
+heard
+hearing
+hearken
+hearkened
+hears
+heart
+hearts
+heat
+heaven
+heavens
+heber
+hebrew
+hebrews
+hebron
+heed
+heeded
+heel
+heels
+heifer
+height
+heir
+held
+help
+helper
+heman
+hemdan
+her
+herb
+herd
+herds
+herdsmen
+here
+herself
+heth
+hewed
+hezron
+hid
+hidden
+hide
+high
+hill
+hills
+him
+himself
+hind
+hinder
+hip
+hirah
+hire
+hired
+his
+history
+hither
+hittite
+hittites
+hivite
+hivites
+hobah
+hold
+hollow
+home
+honest
+honesty
+honey
+honor
+honored
+hori
+horite
+horites
+horns
+horse's
+horsemen
+horses
+host
+hot
+hotly
+house
+household
+households
+houses
+how
+hul
+human
+humane
+humble
+humbled
+hundred
+hundredfold
+hundredth
+hunt
+hunted
+hunter
+hunting
+huppim
+husband
+husham
+hushim
+i
+if
+ill
+ill-treat
+image
+imagination
+immediate
+imnah
+impel
+importance
+imposing
+impossible
+in
+inasmuch
+incapable
+including
+increased
+indeed
+independent
+indian
+indignant
+inestimable
+inevitably
+inhabitants
+inheritance
+iniquity
+injuries
+injury
+innocence
+innocent
+inquire
+inquired
+inside
+instead
+institute
+instituted
+instructed
+instructing
+instrument
+instruments
+insult
+insurrections
+integrity
+intended
+intentions
+interpret
+interpretation
+interpretations
+interpreted
+interpreter
+interrupt
+into
+introducing
+invariably
+invasion
+invasions
+invested
+iob
+irad
+iram
+iron
+is
+is'sachar
+isaac
+isaac's
+iscah
+ish'mael
+ish'mael's
+ish'maelites
+ishbak
+ishvah
+ishvi
+israel
+israel's
+israelites
+it
+ithran
+its
+itself
+jabal
+jabbok
+jachin
+jacob
+jacob's
+jah'leel
+jahzeel
+jalam
+jamin
+japheth
+jar
+jared
+javan
+je'gar-sahadu'tha
+je'ush
+jealous
+jeb'usites
+jemu'el
+jerah
+jesting
+jetheth
+jetur
+jewelry
+jezer
+jidlaph
+jobab
+joined
+joint
+jokshan
+joktan
+jordan
+joseph
+joseph's
+journey
+journeyed
+jubal
+judah
+judah's
+judge
+judged
+judges
+judgment
+judiciary
+judith
+jurisdiction
+jury:
+just
+justice
+kad'monites
+kadesh
+ked'emah
+kedar
+keep
+keeper
+keepers
+kemu'el
+ken'ites
+ken'izzites
+kenan
+kenaz
+kept
+ketu'rah
+kid
+kids
+kill
+killed
+kind
+kindled
+kindness
+kindred
+kinds
+king
+king's
+kingdom
+kings
+kinsman
+kinsmen
+kir'iath-ar'ba
+kiss
+kissed
+kittim
+knead
+knee
+kneel
+knees
+knew
+knife
+know
+knowing
+knowledge
+known
+knows
+kohath
+korah
+laban
+laban's
+labor
+lack
+lacking
+lad
+lad's
+ladder
+lads
+laid
+lain
+lamb
+lambs
+lamech
+lamentation
+lamented
+land
+lands
+language
+languages
+languished
+large
+lasha
+last
+later
+laugh
+laughed
+laughter
+laws
+lay
+laying
+le-um'mim
+lead
+leaf
+leah
+leah's
+lean
+leap
+leaped
+learn
+learned
+least
+leave
+leaves
+led
+left
+legislate
+legislation:
+legislative
+legislature
+legislatures
+leha'bim
+length
+lentils
+lesser
+lest
+let
+letu'shim
+levey
+levi
+liberty
+lie
+lies
+life
+lifeblood
+lift
+lifted
+light
+lights
+like
+likely
+likeness
+likewise
+limping
+linen
+lingered
+lion
+lion's
+lioness
+listen
+listened
+listening
+little
+live
+lived
+lives
+livestock
+living
+lo
+load
+loaded
+lodge
+lodged
+lodging
+loins
+long
+longed
+longer
+longs
+look
+looked
+looking
+loose
+lord
+lord's
+lords
+loss
+lot
+lot's
+lotan
+lotan's
+loud
+love
+loved
+lovely
+loves
+lower
+lowered
+loyally
+lud
+ludim
+luz
+lying
+lyre
+ma'acah
+ma'halath
+ma-hal'alel
+mach-
+mach-pe'lah
+machir
+madai
+made
+mag'diel
+magicians
+magnanimity
+magog
+mahana'im
+maid
+maiden
+maids
+maidservants
+make
+maker
+making
+mal'chi-el
+male
+males
+mamre
+man
+man'ahath
+man's
+manas'seh
+manas'seh's
+mandrakes
+mankind
+manly
+manner
+mantle
+many
+mark
+marked
+marriage
+marriages
+married
+marries
+marry
+mash
+masre'kah
+massa
+master
+master's
+mate
+mating
+matred
+matter
+may
+me
+me'zahab
+me-hu'ja-el
+me-thu'sha-el
+meal
+mean
+meaning
+means
+meant
+meantime
+meanwhile
+measure
+measured
+measures
+medan
+meditate
+meet
+meets
+mehet'abel
+mel-chiz'edek
+members
+men
+men's
+mend
+mended
+menservants
+mention
+merar'i
+mercenaries
+merchants
+merciful
+merciless
+mercy
+merry
+mesha
+meshech
+mesopota'mia
+message
+messengers
+met
+methu'selah
+mibsam
+mibzar
+mid'ian
+mid'ianite
+mid'ianites
+midst
+midwife
+might
+mightier
+mightily
+mighty
+migrated
+migration
+milcah
+milch
+military
+milk
+mind
+mine
+mirth
+miscarried
+mishma
+mist
+mistress
+mizpah
+mizzah
+moab
+moabites
+mock
+mocking
+money
+monsters
+month
+months
+moon
+more
+moreh
+moreover
+mori'ah
+morning
+morsel
+mortar
+most
+mother
+mother's
+mothers
+mottled
+mount
+mountain
+mountains
+mourn
+mourned
+mourning
+mouth
+moved
+moves
+moving
+much
+multiplied
+multiply
+multitude
+muppim
+murders
+must
+mutually
+my
+myrrh
+myself
+na'amah
+na'aman
+nahath
+nahor
+nahor's
+naked
+nakedness
+name
+named
+names
+naph'tali
+naph-tu'him
+naphish
+nation
+nations
+native
+naturalization
+nature
+nature's
+near
+neba'ioth
+necessary
+necessity
+neck
+need
+negeb
+neglected
+neighboring
+neither
+nephilim
+never
+nevertheless
+new
+next
+night
+nights
+nile
+nimrod
+nin'eveh
+nine
+nineteen
+ninety
+ninety-five
+ninety-nine
+no
+noah
+noah's
+nod
+none
+noon
+nor
+north
+northward
+nose
+nostrils
+not
+nothing
+now
+number
+numbered
+numbers
+nurse
+nuts
+o
+oak
+oaks
+oath
+obal
+obedience
+obeisance
+obey
+obeyed
+object
+obstructed
+obstructing
+obtain
+obtained
+occasion
+occupation
+odious
+odor
+of
+off
+offended
+offense
+offenses:
+offer
+offered
+offering
+offerings
+office
+officer
+officers
+offices
+offspring
+oh
+ohad
+oholiba'mah
+oil
+old
+older
+oldest
+olive
+omar
+on
+onam
+onan
+once
+one
+ones
+only
+onyx
+open
+opened
+operation
+ophir
+opinions
+opposing
+opposite
+oppressed
+oppressions
+or
+order
+orders
+organizing
+ornaments
+other
+others
+ought
+our
+ours
+ourselves
+out
+outcry
+outside
+outwitted
+over
+overdriven
+overseer
+overseers
+oversight
+overtake
+overthrew
+overthrow
+overtook
+own
+owns
+oxen
+pace
+paddan
+paddan-aram
+paid
+pain
+pair
+pairs
+pallu
+paralleled
+paran
+part
+parts
+pass
+passed
+past
+pasture
+pastured
+pasturing
+path
+pathru'sim
+patient
+pau
+pay
+payment
+pe'lah
+peace
+peaceably
+peeled
+peleg
+peni'el
+penu'el
+people
+peopled
+peoples
+per'izzites
+perez
+perfidy
+perform
+perhaps
+perish
+permit
+perpetuated
+persons
+petitioned
+petitions
+pharaoh
+pharaoh's
+phicol
+philistines
+physicians
+piece
+pieces
+pigeon
+pildash
+pillar
+pinon
+pipe
+pishon
+pistachio
+pit
+pitch
+pitched
+pits
+place
+placed
+places
+plagues
+plain
+plainly
+plane
+planning
+plant
+planted
+plants
+play
+played
+playing
+pleasant
+please
+pleased
+pleases
+pleasing
+pleasure
+pledge
+plenteous
+plenty
+plowing
+plucked
+plump
+plundered
+point
+political
+poor
+poplar
+population
+portion
+portions
+possess
+possession
+possessions
+posterity
+pot
+pot'i-phar
+poti'phera
+pottage
+poured
+poverty
+power
+powers
+praise
+praised
+pray
+prayed
+prayer
+pre-eminence
+pre-eminent
+prepare
+prepared
+presence
+present
+presented
+preserve
+preserved
+pressed
+pressing
+pretended
+prevail
+prevailed
+prevent
+prevented
+prey
+price
+pride
+priest
+priests
+prince
+princes
+principles
+prison
+prisoners
+proceed
+produce
+profit
+promise
+promised
+pronounce
+property
+prophet
+proposal
+propose
+prosper
+prospered
+protecting
+protection
+prove
+provender
+provide
+provided
+providence
+province
+provision
+provisions
+prudence
+public
+publish
+punishment
+purchased
+purify
+purpose
+pursue
+pursued
+pursuing
+pursuit
+put
+putting
+puvah
+quarrel
+quarreled
+quartering
+questioned
+questions
+quickly
+quiet
+quiver
+ra'amah
+rachel
+rachel's
+raid
+raiders
+raiment
+rain
+rained
+raise
+raised
+raising
+ram
+ram'eses
+rams
+ran
+rather
+ravaged
+raven
+ravenous
+re'u
+reached
+ready
+really
+reaped
+reason
+reassured
+rebekah
+rebekah's
+rebelled
+rebuked
+receded
+receive
+received
+reckoned
+reckoning
+recognize
+recognized
+records
+rectitude
+red
+redeemed
+redress
+reduce
+reed
+refresh
+refused
+refusing
+regard
+regarded
+regards
+reho'both
+reho'both-ir
+reign
+reigned
+reliance
+relief
+relinquish
+remain
+remained
+remaining
+remains
+remember
+remembered
+reminded
+remnant
+remove
+removed
+removing
+render
+renown
+rent
+repeated
+repeatedly
+reph'aim
+replace
+replaced
+replied
+report
+representation
+representative
+representatives
+reproach
+require
+required
+requires
+rescue
+resen
+reserve
+reserved
+respect
+rest
+rested
+resting
+restore
+restored
+restrained
+return
+returned
+reu'el
+reuben
+reumah
+revealed
+revived
+reward
+rib
+ribs
+rich
+ride
+rider
+right
+righted
+righteous
+righteousness
+rightly
+rights
+ring
+rings
+ripened
+riphath
+rise
+risen
+river
+rivers
+road
+robe
+rock
+rode
+rods
+roll
+rolled
+roof
+room
+rooms
+rose
+rosh
+roughly
+round
+rouse
+routed
+royal
+rule
+ruler
+ruler's
+run
+runnels
+sab'teca
+sabtah
+sack
+sackcloth
+sacks
+sacred
+sacrifice
+sacrifices
+saddle
+saddled
+safely
+safety
+said
+sake
+salaries
+salem
+salt
+salvation
+same
+samlah
+sand
+sandal-thong
+sar'ai
+sarah
+sarah's
+sat
+savages
+saved
+saving
+savory
+saw
+say
+saying
+says
+scarcely
+scarlet
+scatter
+scattered
+scepter
+se'ir
+sea
+searched
+seas
+seashore
+season
+seasons
+seba
+second
+secretly
+secure
+security
+see
+seed
+seedtime
+seeing
+seek
+seeking
+seem
+seemed
+seen
+sees
+seize
+seized
+select
+self-evident
+sell
+semen
+send
+sent
+separate
+separated
+separation
+sephar
+sepulchre
+sepulchres
+serah
+sered
+serpent
+serug
+servant
+servant's
+servants
+serve
+served
+service
+serving
+set
+seth
+settle
+settled
+settlement
+seven
+sevenfold
+seventeen
+seventeenth
+seventh
+seventy
+seventy-five
+seventy-seven
+seventy-sevenfold
+severe
+sewed
+sexes
+sha'veh-kiriatha'im
+shall
+shammah
+share
+shaul
+shaved
+shaveh
+she
+she-asses
+she-goat
+she-goats
+sheaf
+shear
+sheaves
+sheba
+shechem
+shechem's
+shed
+sheds
+sheep
+sheepfolds
+sheepshearers
+shekel
+shekels
+shelah
+sheleph
+shelter
+shem
+sheme'ber
+sheol
+shepherd
+shepherding
+shepherds
+shepho
+shibah
+shield
+shillem
+shimron
+shinab
+shinar
+ships
+shobal
+shore
+short
+shortly
+shot
+should
+shoulder
+shoulders
+show
+showed
+shown
+shua
+shua's
+shuah
+shuni
+shur
+shut
+siddim
+side
+sidon
+sight
+sign
+signet
+signs
+silence
+silver
+simeon
+sin
+since
+sinew
+sinites
+sinned
+sinners
+sinning
+sister
+sister's
+sit
+sitnah
+sitting
+six
+sixteen
+sixth
+sixty
+sixty-five
+sixty-nine
+sixty-six
+sixty-two
+skilful
+skin
+skins
+slain
+slaughter
+slave
+slaves
+slay
+slays
+sleek
+sleep
+sleeves
+slept
+slew
+slope
+slowly
+small
+smell
+smelled
+smoke
+smoking
+smooth
+so
+sodom
+soil
+sojourn
+sojourned
+sojourner
+sojourners
+sojourning
+sojournings
+sold
+sole
+solemnly
+some
+son
+son's
+songs
+sons
+sons'
+sons-in-law
+soon
+sore
+sorely
+sorrow
+sorrowful
+sorry
+sort
+sorts
+sought
+soul
+sound
+south
+southward
+sow
+sowed
+space
+spare
+spared
+speak
+speaking
+speaks
+speckled
+speech
+spend
+spent
+spies
+spilled
+spirit
+splendor
+spoil
+spoke
+spoken
+spotted
+spread
+spring
+springing
+springs
+sprouted
+sprung
+staff
+stage
+stalk
+stand
+standing
+stands
+stars
+state
+states
+states:
+station
+statute
+statutes
+stay
+stayed
+stead
+steadfast
+steal
+steward
+still
+stole
+stolen
+stone
+stones
+stood
+stooped
+stop
+stopped
+store
+stored
+storehouses
+story
+stranger
+strangers
+straw
+streaks
+stream
+street
+strength
+stretched
+strife
+striking
+striped
+stripped
+striven
+strong
+stronger
+strongly
+struck
+struggled
+subdue
+subdued
+subject
+submit
+submitted
+subsided
+substance
+subtle
+success
+successful
+succoth
+such
+suck
+suckle
+suffer
+sufferable
+sufferance
+suitable
+summer
+summoned
+sun
+superior
+supplanted
+supplied
+support
+suppose
+supreme
+surely
+surety
+surrounded
+survivors
+suspended
+suspending
+sustained
+swallowed
+swarm
+swarming
+swarms
+swear
+sweat
+sword
+swords
+swore
+sworn
+system
+systems
+table
+tahash
+take
+taken
+taking
+talked
+talking
+tamar
+tamarisk
+tambourine
+tarried
+tarry
+tarshish
+taxes
+te'manites
+tebah
+teeth
+tell
+tells
+tema
+teman
+ten
+tender
+tenderly
+tent
+tenth
+tents
+tenure
+terah
+terms:
+territory
+terror
+tested
+than
+that
+the
+thee
+their
+theirs
+them
+themselves
+then
+thence
+there
+therefore
+therein
+these
+they
+thicket
+thigh
+thin
+thing
+things
+thinking
+third
+thirteen
+thirteenth
+thirty
+thirty-five
+thirty-four
+thirty-seven
+thirty-three
+thirty-two
+this
+thistles
+thorns
+thoroughly
+those
+thou
+thought
+thoughts
+thousand
+thousands
+thread
+three
+threshing
+throne
+through
+throughout
+throw
+thus
+thy
+tidal
+tidings
+ties
+tigris
+till
+tiller
+time
+times
+timna
+timnah
+tiras
+to
+today
+togar'mah
+together
+toil
+tola
+told
+tomb
+tonight
+too
+took
+top
+tops
+torch
+torn
+totally
+totaly
+touch
+touched
+touches
+toward
+tower
+towns
+trade
+traders
+train
+trained
+transgression
+transient
+transporting
+travailed
+treasure
+treat
+treated
+tree
+trees
+trembled
+trembling
+trial
+tribes
+tried
+troops
+trouble
+troubled
+troubles
+trough
+troughs
+truly
+truth
+truths
+tubal
+tubal-
+tubal-cain
+turn
+turned
+turns
+turtledove
+twelve
+twenty
+twenty-nine
+twenty-seven
+twenty-seventh
+twice
+twins
+two
+tyranny
+tyrant
+tyrants
+unacknowledged
+unalienable
+unawares
+uncircumcised
+uncomfortable
+uncovered
+under
+understand
+understood
+undistinguished
+unfit
+ungirded
+united
+unknown
+unleavened
+unless
+unmoved
+unstable
+until
+unusual
+unwarrantable
+unworth
+up
+upbraided
+upon
+uppermost
+upright
+ur
+urged
+us
+us:
+use
+using
+usurpations
+utterly
+uz
+uzal
+valley
+valuable
+vegetation
+veil
+vengeance
+vent
+vents
+verified
+very
+vesture
+villages
+vindication
+vine
+vineyard
+violence
+violently
+viper
+virgin
+vision
+visions
+visit
+visited
+voice
+void
+vow
+wages
+waging
+wagons
+wait
+waited
+walk
+walked
+walking
+wall
+wander
+wandered
+wanderer
+wandering
+wanting
+wantonness
+war
+warfare
+warned
+was
+wash
+washed
+washes
+watch
+water
+watered
+watering
+waters
+way
+wayside
+we
+weak
+weakness
+wealth
+wealthy
+weaned
+weapons
+wear
+wearied
+weary
+week
+weep
+weeping
+weighed
+weighing
+weight
+weights
+welfare
+well
+well's
+wells
+went
+wept
+were
+west
+westward
+what
+whatever
+whatsoever
+wheat
+whelp
+when
+whence
+whenever
+where
+whereby
+wherever
+whether
+which
+while
+white
+who
+whoever
+whole
+wholesome
+whom
+whomever
+whose
+why
+wicked
+wickedly
+wickedness
+widow
+widow's
+widowhood
+wife
+wife's
+wild
+wilderness
+will
+willing
+wilt
+wind
+window
+windows
+wine
+winged
+winter
+wise
+with
+withered
+withheld
+withhold
+within
+without
+witness
+wives
+wolf
+woman
+woman's
+womb
+wombs
+women
+wood
+word
+words
+wore
+work
+works
+world
+world:
+worse
+worship
+worshiped
+worth
+worthy
+would
+wounding
+wrapping
+wrath
+wrestled
+wrestlings
+wrong
+wrought
+year
+yearned
+years
+yes
+yet
+yield
+yielding
+yoke
+yonder
+you
+young
+younger
+youngest
+your
+yours
+yourself
+yourselves
+youth
+za'avan
+zaph'enath-pane'ah
+zeb'ulun
+zeboi'im
+zem'arites
+zepho
+zerah
+zib'eon
+zillah
+zilpah
+zimran
+ziph'ion
+zo'ar
+zohar
+zuzim
diff --git a/src/com/ibm/icu/dev/data/riwords.txt b/src/com/ibm/icu/dev/data/riwords.txt
new file mode 100644
index 0000000..67dab27
--- /dev/null
+++ b/src/com/ibm/icu/dev/data/riwords.txt
@@ -0,0 +1,32943 @@
+﻿#*******************************************************************************
+#*
+#*   Copyright (C) 2003, National Electronics and Computer Technology Center
+#*   and others.  All Rights Reserved.
+#* 
+#*******************************************************************************
+# Sorted Thai word list used for testing the ThaiCollator class.
+# This list was taken from the Web: <http://www.links.nectec.or.th/itech/download.html>
+#
+# Lines starting with '#' are ignored; others are treated as single words
+# in the UTF-8 encoding.
+#
+#
+# License information:
+# RIWord License
+# 
+# COPYRIGHT AND PERMISSION NOTICE
+# 
+# Copyright (c) 2003 National Electronics and Computer Technology Center and others
+# All rights reserved.
+# 
+# Permission is hereby granted, free of charge, to any person obtaining a
+# copy of this software and associated documentation files (the
+# "Software"), to deal in the Software without restriction, including
+# without limitation the rights to use, copy, modify, merge, publish,
+# distribute, and/or sell copies of the Software, and to permit persons
+# to whom the Software is furnished to do so, provided that the above
+# copyright notice(s) and this permission notice appear in all copies of
+# the Software and that both the above copyright notice(s) and this
+# permission notice appear in supporting documentation.
+# 
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+# OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+# HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+# INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+# FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+# 
+# Except as contained in this notice, the name of a copyright holder
+# shall not be used in advertising or otherwise to promote the sale, use
+# or other dealings in this Software without prior written authorization
+# of the copyright holder.
+# 
+# --------------------------------------------------------------------------------
+# All trademarks and registered trademarks mentioned herein are the property of their respective owners.
+ก
+ก็
+กก
+ก๊ก
+กกขนาก
+กกช้าง
+กกธูป
+กกหู
+ก กา
+กกุธภัณฑ์
+ก ข
+ก ข ไม่กระดิกหู
+กง
+ก่ง
+ก้ง
+ก๊ง
+กงกอน
+กงการ
+กงเกวียน
+กงเกวียนกำเกวียน
+กงโก้
+กงค้าง
+ก้งโค้ง
+ก้งง
+กงจักร
+กงฉาก
+กงไฉ่
+กงเต๊ก
+กงพัด
+กงวาน
+กงสี
+กงสุล
+กช
+กช-
+กชกร
+กฎ
+กฎกระทรวง
+กฎเกณฑ์
+กฎข้อบังคับ
+กฎทบวง
+กฎธรรมชาติ
+กฎธรรมดา
+กฎบัตร
+กฎบัตรกฎหมาย
+กฎบัตรสหประชาชาติ
+กฎมนเทียรบาล
+กฎยุทธวินัย
+กฎศีลธรรม
+กฎเสนาบดี
+กฎหมาย
+กฎหมายนานาประเทศ
+กฎหมายปิดปาก
+กฎหมายพาณิชย์
+กฎหมายแพ่ง
+กฎหมายระหว่างประเทศ
+กฎหมายเหตุ
+กฎหมายอาญา
+กฎหมู่
+กฎแห่งกรรม
+กฎอัยการศึก
+กฏิ
+กฏุก
+กฏุก-
+กฏุกผล
+กฐิน
+กฐิน-
+กฐินทาน
+กฐินัตถารกรรม
+กณิกนันต์
+กณิการ์
+กด
+กดขี่
+กดคอ
+กดชา
+กดดัน
+กดน้ำ
+กดราคา
+กดหัว
+กดเหลือง
+ก็ดี
+ก็ได้
+กตเวทิตา
+กตเวที
+กตัญชลี
+กตัญญุตา
+กตัญญู
+กตาธิการ
+กตาภินิหาร
+ก็ตาม
+กติกา
+กติกาสัญญา
+กถา
+กถามรรค
+กถามรรคเทศนา
+กถามุข
+กถิกาจารย์
+กทรรป
+กทลี
+กน
+ก่น
+ก้น
+กนก
+ก้นกบ
+ก้นกระดก
+ก้นกุฏิ
+ก้นขบ
+ก้นครัว
+ก่นโคตร
+ก้นตะกรน
+ก่นแต่
+กนน
+กนนเชอ
+ก่นนโถง
+กนนเหิม
+ก้นบึ้ง
+ก้นปล่อง
+ก้นปอด
+ก้นปิด
+ก้นปูด
+ก้นแมลงสาบ
+ก้นย้อย
+ก่นสร้าง
+ก้นหนัก
+ก้นหย่อน
+ก้นหอย
+ก้นอ้อย
+กนิษฐ-
+กนิษฐ์
+กนิษฐภคินี
+กนิษฐภาดา
+กนิษฐา
+กบ
+กบฏ
+กบดาน
+กบเต้น
+กบทู
+กบทูด
+กบบัว
+กบเลือกนาย
+กบาล
+กบินทร์
+กบิล
+กบี่
+กบี่ธุช
+กบูร
+กเบนทร์
+กโบร
+กโบล
+กปณ
+กปณก
+กปณา
+กปิ
+กปิตัน
+กม
+ก้ม
+กมณฑลาภิเษก
+กมณฑโลทก
+กมล
+กมลา
+กมลาศ
+กมลาสน์
+กมเลศ
+ก้มหน้า
+ก้มหน้าก้มตา
+ก้มหลัง
+ก้มหัว
+กมัณฑลุ
+กมุท
+กร
+กรก
+กรกช
+กรกฎ
+กรกฎาคม
+กรกฏ
+กรง
+กรงทอง
+กรงเล็บ
+กรชกาย
+กรณฑ์
+กรณิการ์
+กรณี
+กรณีย-
+กรณีย์
+กรณียะ
+กรด
+กรน
+กรนทา
+กรนนเช้า
+กรบ
+กรบูร
+กรพินธุ์
+กรภุม
+กรม
+กรมกรอม
+กรมการ
+กรมการพิเศษ
+กรมเกรียม
+กรมท่า
+กรมท่าขวา
+กรมท่าซ้าย
+กรมธรรม์
+กรมธรรม์ประกันภัย
+กรมนา
+กรมวัง
+กรมศักดิ์
+กรร
+กรรกง
+กรรกฎ
+กรรกศ
+กรรเกด
+กรรไกร
+กรรเจียก
+กรรชิง
+กรรชิด
+กรรเชอ
+กรรเช้า
+กรรเชียง
+กรรโชก
+กรรซ้นน
+กรรแซง
+กรรฐ์
+กรรฐา
+กรรณ
+กรรณยุคล
+กรรณา
+กรรณิกา
+กรรณิการ์
+กรรดิ
+กรรดิก
+กรรดึก
+กรรตุ
+กรรตุ-
+กรรตุการก
+กรรตุวาจก
+กรรตุสัญญา
+กรรไตร
+กรรทบ
+กรรแทก
+กรรแทรก
+กรรบาสิก
+กรรบาสิกพัสตร์
+กรรบิด
+กรรบูร
+กรรปาสิก
+กรรปุร
+กรรพุม
+กรรพุ่ม
+กรรภิรมย์
+กรรม
+กรรม-
+กรรม์
+กรรมกร
+กรรมกรณ์
+กรรมการ
+กรรมการก
+กรรมการิณี
+กรรมขัย
+กรรมคติ
+กรรมชรูป
+กรรมชวาต
+กรรมฐาน
+กรรมบถ
+กรรมพันธุ์
+กรรม์ภิรมย์
+กรรมวาจก
+กรรมวาจา
+กรรมวาจาจารย์
+กรรมวิธี
+กรรมวิบาก
+กรรมเวร
+กรรมศาลา
+กรรมสัมปาทิก
+กรรมสิทธิ์
+กรรมสิทธิ์เครื่องหมายและยี่ห้อการค้าขาย
+กรรมสิทธิ์ผู้แต่งหนังสือ
+กรรมสิทธิ์รวม
+กรรมัชวาต
+กรรมาชีพ
+กรรมาธิการ
+กรรมาร
+กรรลี
+กรรลึง
+กรรษก
+กรรสะ
+กรรแสง
+กรรหาย
+กรรเหิม
+กรรโหย
+กรรเอา
+กรรุณา
+กรวด
+กรวดน้ำ
+กรวน
+กรวบ
+กรวม
+กร้วม
+กรวย
+กรวยเชิง
+กรวยบ้าน
+กรวยป่า
+กรวิก
+กรสาปน์
+กรสุทธิ์
+กรอ
+กร้อ
+กรอก
+กร็อกกร๋อย
+กรอกแกรก
+กรอกรุย
+กรอง
+กรองกรอย
+กรองทอง
+กรอด
+กร่อน
+กรอบ
+กรอบเกรียบ
+กรอบแกรบ
+กรอบเช็ดหน้า
+กรอบหน้า
+กรอม
+กร่อม
+กร่อมๆ
+กร่อย
+กระ
+กระกร
+กระกรับกระเกรียบ
+กระกรี๊ด
+กระกรุ่น
+กระกลับกลอก
+กระกวด
+กระกอง
+กระกัด
+กระกี้
+กระกูล
+กระเกรอก
+กระเกริก
+กระเกริ่น
+-กระเกรียบ
+กระเกรียม
+กระเกรียว
+กระเกรี้ยว
+กระเกลือก
+กระคน
+กระคาย
+กระคุก
+กระงกกระงัน
+กระงกกระเงิ่น
+กระง่องกระแง่ง
+-กระงอด
+กระง่อนกระแง่น
+กระเง้ากระงอด
+กระโงก
+กระจก
+กระจกเงา
+กระจกตา
+กระจกนูน
+กระจกฝ้า
+กระจกเว้า
+กระจกหุง
+กระจง
+กระจร
+กระจอก
+กระจอกงอกง่อย
+กระจอกชวา
+กระจอกเทศ
+กระจองหง่อง
+กระจ๋องหง่อง
+กระจองอแง
+กระจ้อน
+กระจอนหู
+กระจ้อย
+กระจ้อยร่อย
+กระจ๋อหวอ
+กระจะ
+กระจัก
+กระจัง
+กระจังหลังเบี้ย
+กระจัด
+กระจัดกระจาย
+กระจัดพลัดพราย
+กระจับ
+กระจับบก
+กระจับปิ้ง
+กระจับปี่
+กระจ่า
+กระจ่าง
+กระจาด
+กระจาน
+กระจาบ
+-กระจาม
+กระจาย
+กระจายนะมณฑล
+กระจายเสียง
+กระจายหางดอก
+กระจาว
+-กระจิก
+-กระจิ๋ง
+กระจิด
+กระจิบ
+-กระจิบ
+-กระจิ๋ม
+กระจิริด
+กระจิ๋ว
+กระจิ๋วหลิว
+กระจี้
+-กระจี๋
+กระจุก
+กระจุกกระจิก
+กระจุกกระจุย
+กระจุ๋งกระจิ๋ง
+กระจุบ
+กระจุ๊บ
+กระจุบกระจิบ
+กระจุ๋มกระจิ๋ม
+กระจุย
+กระจุยกระจาย
+กระจู้
+กระจู๋กระจี๋
+กระจูด
+กระเจอะกระเจิง
+กระเจา
+กระเจ่า
+กระเจ้า
+กระเจาะ
+กระเจิง
+กระเจิดกระเจิง
+กระเจี้ยง
+กระเจี๊ยบ
+กระเจี๊ยบเปรี้ยว
+กระเจียว
+กระเจี๊ยว
+กระแจะ
+กระโจน
+กระโจม
+กระโจมกระจาม
+กระโจมทอง
+กระโจมไฟ
+กระโจมอก
+กระฉง
+กระฉอก
+กระฉอกกระแฉก
+กระฉ่อน
+กระฉับกระเฉง
+กระฉิ่ง
+กระฉีก
+กระฉูด
+กระเฉก
+-กระเฉง
+กระเฉด
+-กระแฉก
+กระแฉ่น
+กระโฉกกระเฉก
+กระโฉม
+กระชง
+กระชดกระช้อย
+-กระชวย
+กระชอก
+กระชอน
+กระชอม
+กระชอมดอก
+กระช้อย
+กระช้อยนางรำ
+กระชัง
+กระชังหน้าใหญ่
+กระชั้น
+กระชับ
+กระชาก
+กระช่าง
+กระชาเดิม
+กระชาย
+กระชิง
+กระชิด
+กระชุ
+กระชุก
+กระชุ่มกระชวย
+กระเชอ
+กระเชอก้นรั่ว
+กระเชา
+กระเช้า
+กระเช้าผีมด
+กระเช้าสวรรค์
+กระเช้าสีดา
+กระเชียง
+กระแชง
+กระแชะ
+กระโชก
+กระโชกกระชั้น
+กระโชกกระชาก
+กระโชกโฮกฮาก
+กระซวย
+-กระซวย
+-กระซ้อ
+กระซ่องกระแซ่ง
+กระซับ
+กระซ่าง
+กระซาบ
+กระซิก
+กระซิกๆ
+กระซิกกระซวย
+กระซิกกระซี้
+กระซิบ
+กระซิบกระซาบ
+-กระซี้
+กระซี้กระซ้อ
+กระซุง
+กระซุบกระซิบ
+กระซุ้ม
+กระซู่
+-กระเซ
+กระเซ็น
+กระเซอ
+กระเซอะกระเซอ
+กระเซอะกระเซิง
+กระเซ้า
+กระเซ้ากระซี้
+กระเซิง
+-กระเซิง
+กระแซ
+กระแซะ
+กระโซกระเซ
+กระฎี
+กระฎุมพี
+กระดก
+กระดกกระดนโด่
+กระด้ง
+-กระดนโด่
+กระดวง
+กระดวน
+กระด้วมกระเดี้ยม
+กระดอ
+กระดอง
+กระดองหาย
+กระดอน
+กระดอม
+กระดักกระเดี้ย
+กระดังงัว
+กระดังงา
+กระดังงาจีน
+กระดังงาเถา
+กระดังงาลนไฟ
+กระดาก
+กระดากกระเดื่อง
+กระด้าง
+กระด้างกระเดื่อง
+กระดางลาง
+กระดาด
+กระดาดขาว
+กระดาดดำ
+กระดาดแดง
+กระดาน
+กระดานชนวน
+กระดานชัย
+กระดานดำ
+กระดานโต้คลื่น
+กระดานถีบ
+กระดานพน
+กระดานพิง
+กระดานไฟ
+กระดานลื่น
+กระดานเลียบ
+กระดานหก
+กระดาษ
+กระดาษแก้ว
+กระดาษข่อย
+กระดาษไข
+กระดาษเงินกระดาษทอง
+กระดาษซับ
+กระดาษทราย
+กระดาษเทศ
+กระดาษฟาง
+กระดาษว่าว
+กระดาษสา
+กระดำกระด่าง
+กระดิก
+กระดิกกระเดี้ย
+กระดิ่ง
+-กระดิ้ง
+กระดิ่งทอง
+กระดิบ
+กระดิบๆ
+กระดี่
+กระดี้กระเดียม
+กระดี่ได้น้ำ
+กระดึง
+กระดึงช้างเผือก
+กระดึงพระราม
+กระดืบ
+กระดุ
+กระดุกกระดิก
+กระดุ้งกระดิ้ง
+กระดุบๆ
+กระดุบกระดิบ
+กระดุม
+กระดูก
+กระดูกกบ
+กระดูกไก่ดำ
+กระดูกขัดมัน
+กระดูกเขียด
+กระดูกแข็ง
+กระดูกค่าง
+กระดูกงู
+กระดูกดำ
+กระดูกร้องได้
+กระดูกสันหลัง
+กระดูกอึ่ง
+-กระเดก
+กระเด้ง
+กระเด็น
+กระเด้า
+กระเด้าดิน
+กระเด้าลม
+กระเดาะ
+กระเดาะปาก
+กระเดิด
+-กระเดี้ย
+กระเดียด
+-กระเดียม
+-กระเดี้ยม
+กระเดือก
+กระเดื่อง
+กระแด็กๆ
+กระแด้ง
+กระแด้แร่
+กระแด่วๆ
+กระแดะ
+กระแดะกระแด๋
+กระโดก
+กระโดกกระเดก
+กระโดง
+กระโดงคาง
+กระโดงแดง
+กระโดด
+กระโดดร่ม
+กระโดน
+กระโดนดิน
+กระใด
+กระได
+กระไดแก้ว
+กระไดลิง
+กระตรกกระตรำ
+กระตร้อ
+กระตรับ
+กระตราก
+-กระตรำ
+กระตรุด
+กระตรุม
+กระต้วมกระเตี้ยม
+กระต้อ
+กระต่องกระแต่ง
+กระต๊อบ
+กระต้อยตีวิด
+กระตัก
+กระตั้ว
+-กระตาก
+กระต่าย
+กระต่ายขูด
+กระต่ายจันทร์
+กระต่ายจาม
+กระต่ายจีน
+กระต่ายชมจันทร์
+กระต่ายต้องแร้ว
+กระต่ายตื่นตูม
+กระต่ายเต้น
+กระต่ายสามขา
+กระต่ายหมายจันทร์
+กระติก
+-กระติก
+-กระติ้ง
+กระติ๊ด
+กระติ๊ดขี้หมู
+กระติบ
+กระตือรือร้น
+กระตุก
+กระตุกกระติก
+กระตุ้งกระติ้ง
+กระตุ่น
+กระตุ้น
+กระตูบ
+กระเตง
+กระเต็น
+กระเตอะ
+กระเตาะ
+กระเตาะกระแตะ
+-กระเตี้ยม
+กระเตื้อง
+กระแต
+-กระแต่ง
+กระแตแต้แว้ด
+กระแตไต่ไม้
+กระแตวับ
+-กระแตะ
+กระโตกกระตาก
+กระโตน
+กระไตร
+กระถด
+กระถอบ
+กระถั่ว
+กระถาง
+กระถิก
+กระถิน
+กระถินหอม
+กระถึก
+กระเถิบ
+กระโถน
+กระโถนท้องพระโรง
+กระโถนปากแตร
+กระโถนฤๅษี
+กระทก
+กระทง
+กระทงแถลง
+กระทงน้อย
+กระทงป่า
+กระทงเพชร
+กระทงลอย
+กระทงลาย
+กระทงเหิน
+กระทด
+กระทดกระทัน
+กระทบ
+กระทบกระทั่ง
+กระทบกระเทียบ
+กระทบกระเทือน
+กระทบกระแทก
+กระทรวง
+กระทวย
+กระทอก
+กระท้อน
+กระท่อนกระแท่น
+กระท่อม
+กระท้อมกระแท้ม
+กระท่อมขี้หมู
+กระท่อมเลือด
+กระทะ
+กระทะใบบัว
+กระทั่ง
+กระทั่งติด
+-กระทัน
+-กระทั้น
+กระทา
+กระทาชาย
+กระทาย
+กระทายเหิน
+กระทาสี
+กระทาหอง
+กระทำ
+กระทำความผิด
+กระทิกกระทวย
+กระทิง
+กระทิงโทน
+กระทึง
+กระทืบ
+กระทืบธรณี
+กระทืบยอบ
+กระทุ
+กระทุง
+กระทุ้ง
+กระทุงลาย
+กระทุ้งเส้า
+กระทุงหมาบ้า
+กระทุงเหว
+กระทุ่ม
+กระทุ่มขี้หมู
+กระทุ่มนา
+กระทุ่มหมู
+กระทู้
+กระทู้ถาม
+กระเท่
+กระเท่เร่
+-กระเทียบ
+กระเทียม
+กระเทียมหอม
+กระเทือน
+กระเทือนใจ
+กระเทื้อม
+กระแทก
+กระแทกกระทั้น
+กระแท่น
+-กระแท้ม
+กระแทะ
+กระไทชาย
+กระนก
+กระน่อง
+กระนั้น
+กระนี้
+กระโน้น
+กระไน
+กระบก
+กระบกคาย
+กระบถ
+กระบม
+กระบวน
+กระบวนกระบิด
+กระบวนการ
+กระบวนการยุติธรรม
+กระบวนความ
+กระบวนจีน
+กระบวย
+กระบวร
+กระบอก
+กระบอกเพลา
+กระบอกสูบ
+กระบอกเสียง
+กระบอกหัว
+กระบอง
+กระบองกลึง
+กระบองกัน
+กระบองเพชร
+กระบองราหู
+กระบะ
+กระบัด
+กระบั้วกระเบี้ย
+กระบ่า
+กระบ้า
+กระบาก
+กระบาย
+กระบาล
+กระบิ
+กระบิ้ง
+กระบิด
+กระบิดกระบวน
+กระบิล
+กระบี่
+กระบี่กระบอง
+กระบี่ธุช
+กระบี่ลีลา
+กระบือ
+กระบือเจ็ดตัว
+กระบุง
+กระบุ่มกระบ่าม
+กระบู้กระบี้
+กระบูน
+กระบูนเลือด
+กระบูร
+กระเบง
+กระเบญ
+กระเบ็ดกระบวน
+กระเบน
+กระเบนเหน็บ
+กระเบา
+กระเบิก
+-กระเบี้ย
+กระเบียด
+กระเบียดกระตัก
+กระเบียดกระเสียร
+กระเบียน
+กระเบื้อง
+กระเบื้องเกล็ดเต่า
+กระเบื้องถ้วย
+กระเบื้องถ้วยกะลาแตก
+กระเบื้องปรุ
+กระเบื้องรู
+กระเบื้องหน้าวัว
+กระแบ่
+กระแบก
+กระแบกงา
+กระแบะ
+กระแบะมือ
+กระโบม
+กระปมกระปำ
+กระปมกระเปา
+กระปรอก
+กระปรอกว่าว
+กระปรี้กระเปร่า
+กระปอก
+กระป้อกระแป้
+กระป่อง
+กระป๋อง
+กระปอดกระแปด
+กระป๋อหลอ
+กระปั้วกระเปี้ย
+-กระปำ
+กระป่ำ
+-กระปิ่ม
+กระปุก
+กระปุกหลุก
+กระปุ่ม
+กระปุ่มกระป่ำ
+กระปุ่มกระปิ่ม
+-กระเปา
+กระเป๋า
+กระเป๋าหนัก
+กระเปาะ
+กระเปาะเหลาะ
+-กระเปี้ย
+-กระแป้
+-กระแปด
+กระโปก
+กระโปรง
+กระโปรงทอง
+กระผม
+-กระผลาม
+กระผลีกระผลาม
+กระผาน
+กระผีก
+กระผีกริ้น
+กระพรวน
+กระพริ้ม
+กระพอก
+กระพอกวัว
+กระพอง
+กระพ้อม
+กระพัก
+กระพัง
+กระพังเหิร
+กระพังโหม
+กระพัด
+กระพัดแม่ม่าย
+กระพัตร
+กระพัน
+กระพั่น
+กระพา
+กระพาก
+กระพี้
+กระพี้เขาควาย
+กระพือ
+กระพือข่าว
+กระพือปีก
+กระพุ้ง
+กระพุ่ม
+กระพุ่มมือ
+กระเพลิศ
+กระเพาะ
+กระเพาะปลา
+กระเพิง
+กระเพื่อม
+กระแพง
+กระแพ้ง
+กระฟัดกระเฟียด
+-กระฟาย
+กระฟูมกระฟาย
+-กระเฟียด
+กระมล
+กระมอบ
+กระมอมกระแมม
+กระมัง
+กระมัน
+กระมิดกระเมี้ยน
+กระมึน
+กระมุท
+กระเมาะ
+-กระเมี้ยน
+-กระแมม
+กระย่อง
+-กระย่อง
+กระย่องกระแย่ง
+กระย่อน
+กระย่อม
+กระยา
+กระยาคชวาง
+กระยาง
+กระยาจก
+-กระยาด
+กระยาดอก
+กระยาดอกเบี้ย
+กระยาทาน
+กระยาทิพย์
+กระยาบวช
+กระยาเบี้ย
+กระยารงค์
+กระยาเลย
+กระยาสนาน
+กระยาสังเวย
+กระยาสังแวง
+กระยาสารท
+กระยาเสวย
+กระยาหงัน
+กระยาหาร
+กระยิก
+กระยิ้มกระย่อง
+กระยึกกระยือ
+กระยืดกระยาด
+กระเย้อกระแหย่ง
+-กระแย่ง
+กระรอก
+กระรอกน้ำข้าว
+กระเรียน
+กระโรกน้ำข้าว
+กระโรกใหญ่
+กระไร
+กระลด
+กระลบ
+กระลอก
+กระลอม
+กระละหล่ำ
+กระลัด
+กระลับ
+กระลับกระเลือก
+กระลัมพร
+กระลา
+กระลาการ
+กระลาพิน
+กระลายกระลอก
+กระลาศรี
+กระลำ
+กระลำพร
+กระลำพัก
+กระลำพุก
+กระลิง
+กระลี
+กระลึง
+กระลุมพาง
+กระลุมพุก
+กระลุมพู
+กระลูน
+กระลู่น์
+กระเล็น
+กระเลียด
+กระเลือก
+กระโลง
+กระวน
+กระวนกระวาย
+กระวัด
+กระว่า
+-กระวาด
+กระวาน
+กระวาย
+กระวายกระวน
+กระวิน
+กระวี
+กระวีกระวาด
+กระวูดกระวาด
+กระเวน
+กระเวนกระวน
+กระเวยกระวาย
+กระแวน
+กระโวยกระวาย
+กระศก
+กระศัย
+กระษัตริย์
+กระษัตรี
+กระษัย
+กระษัยกล่อน
+กระษาปณ์
+กระษิร
+กระเษม
+กระเษมสานต์
+กระเษียร
+กระสง
+-กระสน
+กระสบ
+กระสม
+กระสรวล
+กระสร้อย
+กระสวน
+กระสวย
+กระสอบ
+กระสะ
+กระสัง
+กระสัน
+กระสับกระส่าย
+กระสา
+กระสานติ์
+กระสาบ
+กระสาย
+-กระส่าย
+กระสินธุ
+กระสือ
+กระสือดูด
+กระสุงกระสิง
+กระสุน
+กระสุนปืน
+กระสุนวิถี
+กระสูทธิ์
+กระสูบ
+กระเสด
+กระเส็นกระสาย
+กระเส่า
+กระเสาะกระแสะ
+กระเสียน
+กระเสียร
+กระเสือกกระสน
+กระแส
+กระแสการเงิน
+กระแสความ
+กระแสง
+กระแสจิต
+กระแสตรง
+กระแสน้ำ
+กระแสพระราชดำรัส
+กระแสรับสั่ง
+กระแสลม
+กระแสสลับ
+กระแสเสียง
+กระแสะ
+กระโสง
+กระไส
+กระหง่อง
+กระหน
+กระหนก
+กระหนกกินรี
+กระหนกนฤมิต
+กระหนกนารี
+กระหน่อง
+กระหนาก
+กระหนาบ
+กระหนาบคาบเกี่ยว
+กระหน่ำ
+กระหมวด
+กระหมอบ
+กระหม่อม
+กระหม่อมบาง
+กระหมั่ง
+กระหม่า
+-กระหมิด
+กระหมิบ
+กระหมุดกระหมิด
+กระหมุ่น
+กระหมุบ
+กระหมุบกระหมิบ
+กระหย่ง
+กระหยด
+กระหยบ
+กระหย่อน
+กระหย่อม
+กระหยะ
+กระหยัง
+กระหยับ
+กระหยิ่ม
+กระหรอด
+กระหริ่ง
+กระหวน
+กระหวัด
+กระหวัดเกล้า
+กระหว่า
+กระหอง
+กระหัง
+กระหัด
+กระหาง
+กระหาย
+กระหึม
+กระหึ่ม
+กระหืดกระหอบ
+กระเห็น
+กระเหน็จ
+กระเหน็จกระแหน่
+กระเหนียด
+กระเหม็ดกระเหมียด
+กระเหม็ดกระแหม่
+กระเหม่น
+กระเหม่า
+กระเหลียก
+กระเหว่า
+กระเห่อ
+กระเหิม
+กระเหี้ยนกระหือรือ
+กระแห
+กระแหทอง
+-กระแหน
+กระแหน่
+กระแหนบ
+กระแหนะ
+กระแหนะกระแหน
+กระแหมบ
+กระแหม่ว
+กระแหย่ง
+กระแหร่ม
+กระแหล่ง
+กระโห้
+กระโหนด
+กระโหม
+กระโหย
+กระโหย่ง
+-กระอ่วน
+กระอวล
+กระอ้อกระแอ้
+กระออดกระแอด
+กระออบ
+กระออม
+กระอ้อมกระแอ้ม
+กระออมน้ำ
+กระอัก
+กระอักกระอ่วน
+กระอักกระไอ
+กระอั้วแทงควาย
+กระอ้า
+กระอาน
+กระอิด
+กระอิดกระเอื้อน
+กระอึก
+กระอึกกระอัก
+กระอึด
+กระอืด
+กระอุ
+กระอุก
+กระเอบ
+กระเอา
+กระเอิก
+กระเอิบ
+-กระแอ้
+กระแอก
+-กระแอด
+กระแอบ
+กระแอม
+-กระแอ้ม
+กระไอ
+กระไอกระแอม
+กรัก
+กรักขี
+กรัง
+กรัชกาย
+กรัณฑ-
+กรัณฑ์
+กรัณย์
+กรัน
+กรับ
+กรัม
+กราก
+กราง
+กร่าง
+กรางเกรียง
+กราด
+-กราด
+กราดเกรี้ยว
+กราดวง
+กราน
+กร้าน
+กรานกฐิน
+กราบ
+กราบพระ
+กราฟ
+กราม
+กรามช้าง
+กรามพลู
+กราย
+กร่าย
+กราล
+กราว
+กร้าว
+กราวด่าง
+กราวรูด
+กราสิก
+กรำ
+กร่ำ
+กร่ำกรุ่น
+กริก
+กริ๊ก
+กริกกริว
+กริกกรี
+กริ่ง
+กริ๊ง
+กริงกริว
+กริ้งกริ้ว
+กริ่งเกรง
+กริ่งใจ
+กริช
+กริณี
+กริตย-
+กริน
+กรินทร์
+กรินี
+กริบ
+กริม
+กริ่ม
+กริยา
+กริยานุเคราะห์
+กริยาวิเศษณ์
+กริยาวิเศษณ์วลี
+กริยาวิเศษณานุประโยค
+กริว
+กริ้ว
+กริวกราว
+กริวลาย
+กรี
+กรีฑา
+กรีฑากร
+กรีฑาภิรมย์
+กรีฑารมย์
+กรีฑาสถาน
+กรีด
+กรี๊ด
+กรีดกราด
+กรีดกราย
+กรีดนิ้ว
+กรีธา
+กรีธาทัพ
+กรีธาพล
+กรีษ
+กรีส
+กรึง
+กรุ
+กรุก
+กรุกกรัก
+กรุกกรู๊
+กรุง
+กรุ้งกริ่ง
+กรุงเขมา
+กรุงพาลี
+กรุณ
+กรุณา
+กรุณาทฤคุณ
+กรุน
+กรุ่น
+กรุบ
+กรุบกริบ
+กรุ่ม
+กรุ้มกริ่ม
+กรุย
+กรุยกราย
+กรุยเกรียว
+กรู
+กรูด
+กรูม
+กเรณุ
+กเรณุกา
+กเรนทร
+กเรนทร์
+กฤช
+กฤด-
+กฤดยาเกียรณ
+กฤดา
+กฤดาการ
+กฤดาญชลี
+กฤดาธิการ
+กฤดาภินิหาร
+กฤดาอัญชลี
+กฤดิ
+กฤดีกา
+กฤตติกา
+กฤตย-
+กฤตยฎีกา
+กฤตยา
+กฤติกา
+กฤติยา
+กฤษฎา
+กฤษฎาญ
+กฤษฎาญชลิต
+กฤษฎาญชลี
+กฤษฎาญชวลิตวา
+กฤษฎาญชวลิศ
+กฤษฎาญชวเลศ
+กฤษฎาญชุลี
+กฤษฎาธาร
+กฤษฎาภินิหาร
+กฤษฎี
+กฤษฎีกา
+กฤษณา
+กล
+กล-
+กลไก
+กลฉ้อฉล
+กลด
+กลดกำมะลอ
+กลดพระสุเมรุ
+กล่น
+กลบ
+กลบเกลี่ย
+กลบเกลื่อน
+กลบท
+กลบบัตรสุมเพลิง
+กลพยาน
+กลไฟ
+กลม
+กลมกล่อม
+กลมกลืน
+กลมกลืนกลอน
+กลมเกลียว
+กลมดิก
+กลมเป็นลูกมะนาว
+กลมภ
+กลเม็ด
+กลยุทธ์
+กลละ
+กลวง
+กลวม
+กล้วย
+กล้วยกล้าย
+กล้วยแขก
+กล้วยงวงช้าง
+กล้วยเต่า
+กล้วยใต้
+กล้วยน้อย
+กล้วยไม้
+กล้วยสั้น
+กล้วยหมูสัง
+กลวิธี
+กลศ
+กลศาสตร์
+กลหาย
+กลเหย
+กล้อ
+กลอก
+กลอกกลับ
+กลอกแกลก
+กลอง
+กล่อง
+กล้อง
+กล้องแกล้ง
+กล้องจุลทรรศน์
+กล้องตุด
+กล้องโทรทรรศน์
+กลองเพล
+กล้องระดับ
+กล้องวัดมุม
+กล้องสนาม
+กล้องสลัด
+กล้องส่องทางไกล
+กล้องสำรวจ
+กลอน
+กล่อน
+กล้อน
+กลอนด้น
+กลอนตลาด
+กลอนลิลิต
+กลอนสด
+กลอนสวด
+กลอนสุภาพ
+กล่อม
+กล่อมเกลา
+กล่อมเกลี้ยง
+กล้อมแกล้ม
+กล่อมท้อง
+กล่อมมดลูก
+กล่อมหอ
+กลอย
+กลอักษร
+กลอุปกรณ์
+กลัก
+กลัง
+กลัด
+กลัดกลุ้ม
+กลัดมัน
+กลั่น
+กลั้น
+กลั่นกรอง
+กลั่นแกล้ง
+กลั้นใจ
+กลันท
+กลันทก์
+กลับ
+กลับกลอก
+กลับกลาย
+กลับเกลือก
+กลับคำ
+กลับคืน
+กลับตาลปัตร
+กลับเนื้อกลับตัว
+กลับไปกลับมา
+กลับหน้ามือเป็นหลังมือ
+กลัมพก
+กลัมพร
+กลัมพัก
+กลัว
+กลั้ว
+กลั้วเกลี้ย
+กลั้วคอ
+กลัวน้ำ
+กลัวลาน
+กลา
+กล่า
+กล้า
+กลาก
+กลากลาด
+กลาง
+กลางเก่ากลางใหม่
+กลางคน
+กลางคัน
+กลางค่ำ
+กลางคืน
+กลางแจ้ง
+กลางใจมือ
+กลางช้าง
+กลางดิน
+กลางดึก
+กลางเดือน
+กลางทาสี
+กลางนอก
+กลางบ้าน
+กลางแปลง
+กลางเมือง
+กลางวัน
+กลางหาว
+กลาด
+กลาดเกลื่อน
+กล้าได้กล้าเสีย
+กล้านักมักบิ่น
+กลาบาต
+กลาป
+กล้าม
+กลาย
+กล้าย
+กลายกลอก
+กล่าว
+กล่าวเกลี้ยง
+กล่าวขวัญ
+กล่าวโทษ
+กล่าวหา
+กล่าวโอม
+กลาโหม
+กล่ำ
+กล้ำ
+กล้ำกราย
+กล้ำกลืน
+กลิ่ง
+กลิ้ง
+กลิ้งกลอก
+กลิ้งกลางดง
+กลิ้งเกลือก
+กลิงค์
+กลิ้งครกขึ้นเขา
+กลิ้งเป็นลูกมะนาว
+กลิ่น
+กลิ่นอาย
+กลิ้ม
+กลี
+กลี่
+กลีบ
+กลีบตา
+กลีบบัว
+กลีบหิน
+กลึง
+กลึ้ง
+กลึงกล่อม
+กลึงค์
+กลืน
+กลืนไม่เข้าคายไม่ออก
+กลุ่ม
+กลุ้ม
+กลุ้มใจ
+กลุ้มรุม
+กลุ้มอกกลุ้มใจ
+กลู่
+กลูโคส
+กลูน
+กลูน์
+กเลวระ
+กวด
+กวดขัน
+กวน
+กวนน้ำให้ขุ่น
+กวม
+กวย
+กวยจั๊บ
+กวยจี๊
+ก๋วยเตี๋ยว
+กวะ
+กวะกวัก
+กวะแกว่ง
+กวัก
+กวัด
+กวัดแกว่ง
+กวัดไกว
+กวัดไกวไสส่ง
+กวา
+กว่า
+กว้า
+กวาง
+กว่าง
+กว้าง
+กว้างขวาง
+กวางเขน
+กวางแขม
+กวางจุก
+กวางโจน
+กว่างชน
+กวางชะมด
+กว่างโซ้ง
+กวางเดินดง
+กวางตุ้ง
+กวางทราย
+กวางทอง
+กวางป่า
+กวางม้า
+กว้างใหญ่
+กว่าชื่น
+กวาด
+กวาดต้อน
+กวาดตา
+กวาดล้าง
+กวาน
+กว่าน
+กว้าน
+กว๊าน
+กว่าเพื่อน
+กว้าว
+กวาวเครือ
+กวิน
+กวี
+กวีนิพนธ์
+กษณะ
+กษมา
+กษัตร
+กษัตรา
+กษัตราธิราช
+กษัตริย์
+กษัตริยชาติ
+กษัตรี
+กษัตรีย์
+กษัตรีศูร
+กษัย
+กษัย-
+กษัยกล่อน
+กษัยการ
+กษัยน้ำ
+กษัยเลือด
+กษาปณ์
+กษิดิ
+กษีณาศรพ
+กษีดิ
+กษีร
+กษีร-
+กษีรธารา
+กษีรรส
+กษีรามพุ
+กษีรารณพ
+กสานติ์
+กสิ
+กสิกร
+กสิกรรม
+กสิณ
+กหังปายา
+ก หัน
+กหาปณะ
+ก็แหละ
+กเฬวราก
+กอ
+ก่อ
+ก้อ
+ก๊อ
+กอก
+ก๊อก
+ก่อกรรมทำเข็ญ
+ก่อกวน
+ก่อการ
+กอแก
+กอง
+ก่อง
+ก้อง
+กองกลาง
+กองกอย
+กองกูณฑ์
+กองเกิน
+กองเกียรติยศ
+กองข้าว
+กองโจร
+กองทัพ
+กองทัพน้อย
+กองทุน
+กองพล
+กองพัน
+กองฟอน
+กองมรดก
+กองร้อย
+กองหนุน
+กอซ
+กอด
+กอดแข้งกอดขา
+กอดมือกอดตีน
+กอดอก
+ก่อตั้ง
+ก่อน
+ก้อน
+ก้อนขี้หมา
+ก้อนเส้า
+กอบ
+กอบโกย
+กอบด้วย
+กอบนาง
+ก๊อบปี้
+กอปร
+ก้อม
+กอมก้อ
+ก่อมก้อ
+กอย
+ก้อย
+ก๋อย
+ก้อร่อ
+ก้อร่อก้อติก
+ก่อร่างสร้างตัว
+กอริลลา
+ก่อฤกษ์
+กอล์ฟ
+ก่อแล้วต้องสาน
+กอและ
+ก่อสร้าง
+ก่อหวอด
+กอเอี๊ยะ
+กะ
+กะกร่อม
+กะกร้าว
+กะกลิ้ง
+กะก่อง
+กะกัง
+กะกึก
+กะเกณฑ์
+กะเกาะ
+กะโกระ
+กะง้อนกะแง้น
+กะจัง
+กะแจะ
+กะชะ
+กะชัง
+กะชามาศ
+กะชิง
+กะชึ่กกะชั่ก
+กะแช่
+กะซวก
+กะซ้าหอย
+กะซี่
+กะโซ่
+กะโซ้
+กะดก
+กะดง
+กะดวน
+กะดอกๆ
+กะดะ
+กะดังบาย
+กะดัด
+กะด้าง
+กะดำกะด่าง
+กะดี
+กะดี่
+กะดุ้ง
+กะเด้
+กะเดก
+กะเดี๋ยว
+กะได
+กะตรุด
+กะตอก
+กะต่อย
+กะตัก
+กะตัง
+กะตังกะติ้ว
+กะตังใบ
+กะตังมูตร
+กะต่า
+กะต๊าก
+กะต้ำ
+กะติ๊กริก
+กะติงกะแตง
+กะตีบ
+กะตึงกะแตง
+กะตุ๊ก
+กะตุด
+กะตุมู
+กะตูก
+กะเตก
+กะเตงๆ
+กะเตงเรง
+กะแตว
+กะแต่ว
+กะโต๊ก
+กะโตงกะเตง
+กะโต้งโห่ง
+กะถัว
+กะทกรก
+กะทอ
+กะทัง
+กะทังหัน
+กะทัดรัด
+กะทัน
+กะทันหัน
+กะทับ
+กะทำ
+กะทิ
+กะทิขูด
+กะทือ
+กะทุน
+กะเทย
+กะเทยนางหมั่น
+กะเทาะ
+กะแท้
+กะแท่ง
+กะแทน
+กะนวล
+กะนัด
+กะบอนกะบึง
+กะบ่อนกะแบ่น
+กะบัง
+กะบั้ง
+กะบังรังเฝือก
+กะบังลม
+กะบังหน้า
+กะบิ้ง
+กะบิล
+กะบึงกะบอน
+กะบุด
+กะเบ้อ
+กะเบียน
+กะเบือ
+กะปริดกะปรอย
+กะปริบ
+กะปริบกะปรอย
+กะปลกกะเปลี้ย
+กะปวกกะเปียก
+กะปอม
+กะปอมขาง
+กะปะ
+กะปั่น
+กะป้ำกะเป๋อ
+กะปิ
+กะปู
+กะปูด
+กะปูดหลูด
+กะเปะ
+กะเปิ๊บกะป๊าบ
+กะเปียด
+กะแป้น
+กะแปะ
+กะโปรง
+กะโปโล
+กะผลุบกะโผล่
+กะเผ่น
+กะเผลก
+กะโผลกกะเผลก
+กะพง
+กะพรวดกะพราด
+กะพร่องกะแพร่ง
+กะพริบ
+กะพรุน
+กะพรูดกะพราด
+กะพล้อ
+กะพล่องกะแพล่ง
+กะพ้อ
+กะเพรา
+กะเพียด
+กะเพียดช้าง
+กะเพียดหนู
+กะมง
+กะม่ง
+กะเม็ง
+กะเม็งตัวผู้
+กะเมีย
+กะยุ
+กะร่องกะแร่ง
+กะระตะ
+กะระหนะ
+กะรัง
+กะรัต
+กะรัตหลวง
+กะราง
+กะรางหัวขวาน
+กะริง
+กะริงกะเรียด
+กะรุงกะรัง
+กะรุ่งกะริ่ง
+กะรุน
+กะเร
+กะเรกะร่อน
+กะเร่กะร่อน
+กะเร่อ
+กะเร่อกะร่า
+กะเรี่ยกะราด
+กะโรกะเร
+กะลวย
+กะลอ
+กะล่อกะแล่
+กะลอจี๊
+กะล่อน
+กะล่อมกะแล่ม
+กะล่อยกะหลิบ
+กะละปังหา
+กะละมัง
+กะละแม
+กะละออม
+กะลังตังไก่
+กะลัน
+กะลันทา
+กะลา
+กะลาง
+กะลาซอ
+กะลาสี
+กะลำพอ
+กะลิง
+กะลิงปลิง
+กะลิ้มกะเหลี่ย
+กะลิอ่อง
+กะลุมพี
+กะเล็ง
+กะเล่อกะล่า
+กะเลิด
+กะเลียว
+กะแล
+กะโล่
+กะโลง
+กะวอกกะแวก
+กะวะ
+กะส้มชื่น
+กะส้าหอย
+กะหนอกะแหน
+กะหน็องกะแหน็ง
+กะหนะ
+กะหนุงกะหนิง
+กะหมอก
+กะหร่อง
+กะหรอด
+กะหร็อมกะแหร็ม
+กะหราน
+กะหรี่
+กะหรี่ปั๊บ
+กะหลาป๋า
+กะหล่ำ
+กะหลี่
+กะหลีกะหลอ
+กะหลุกกะหลิก
+กะหำ
+กะหำแพะ
+กะหือ
+กะหูด
+กะเหรี่ยง
+กะเหลาะเปาะ
+กะแหยก
+กะแหะ
+กะโหลก
+กะโหล้ง
+กะไหล่
+กะอวม
+กะออม
+กะอาน
+กะอาม
+กะอิด
+กะอุบ
+กะเอว
+กะแอ
+กะแอน
+กัก
+กั๊ก
+กักกรา
+กักกัน
+กักการุ
+กักขฬะ
+กักขัง
+กักคุม
+กักด่าน
+กักตัว
+กักตุน
+กักบริเวณ
+กัง
+กั้ง
+กังก
+กั้งกระดาน
+กังก้า
+กังเกียง
+กังขา
+กังฉิน
+กังฟู
+กังวล
+กังวาน
+กังเวียน
+กังส
+กังสดาล
+กังไส
+กังหัน
+กังหันใบพัด
+กังหันไอพ่น
+กัจฉปะ
+กัจฉะ
+กัจฉา
+กัญ
+กัญจุก
+กัญจุการา
+กัญชา
+กัญญา
+กัฐ
+กัณฏกะ
+กัณฐ-
+กัณฐก
+กัณฐกะ
+กัณฐชะ
+กัณฐัศ
+กัณฐัศว์
+กัณฐา
+กัณฐี
+กัณฑ์
+กัณฑ์เทศน์
+กัณณ์
+กัณห-
+กัณหธรรม
+กัณหปักษ์
+กัด
+กัดป่า
+กัดฟัน
+กัดลาก
+กัดวาง
+กัดหางตัวเอง
+กัตติกมาส
+กัตติกา
+กัตติเกยา
+กัตรทัณฑ์
+กัตรา
+กัทลี
+กัน
+กั่น
+กั้น
+กันกง
+กั้นกาง
+กันเกรา
+กันไกร
+กันเขากันเรา
+กันชน
+กันชิง
+กันชีพ
+กันเชอ
+กั้นซู่
+กันแซง
+กันดอง
+กันดาร
+กันดาล
+กันแดด
+กันได
+กันต์
+กันตัง
+กันตัว
+กันไตร
+กันทร
+กันทรากร
+กันทะ
+กันท่า
+กันแทรก
+กั้นบัง
+กันพิรุณ
+กันภัย
+กันภิรมย์
+กันเมียง
+กันย์
+กันยา
+กันยายน
+กันลง
+กันลอง
+กันลึง
+กันและกัน
+กันสาด
+กันแสง
+กั้นหยั่น
+กันเอง
+กันเอา
+กับ
+กับแก้
+กับแกล้ม
+กับข้าว
+กับบุเรศ
+กับระเบิด
+กัป
+กัปตัน
+กัปนก
+กัปบาสิก
+กัปปาสิก
+กัปปิย-
+กัปปิยการก
+กัปปิยภัณฑ์
+กัปปิยโวหาร
+กัปปิยะ
+กัปปีย์
+กัมบน
+กัมป-
+กัมปน-
+กัมปนาการ
+กัมปนาท
+กัมประโด
+กัมปี
+กัมพล
+กัมพุช
+กัมพุช-
+กัมพุชพากย์
+กัมพู
+กัมพูชา
+กัมโพช
+กัมมัชวาต
+กัมมัฏฐาน
+กัมมันตภาพรังสี
+กัมมันตรังสี
+กัมมาร
+กัมลาศ
+กัยวิกัย
+กัลชาญ
+กัลบก
+กัลป-
+กัลป์
+กัลปนา
+กัลปพฤกษ์
+กัลปังหา
+กัลปาวสาน
+กัลปิต
+กัลพุม
+กัลเม็ด
+กัลยา
+กัลยาณ-
+กัลยาณมิตร
+กัลยาณี
+กัลยาเยี่ยมห้อง
+กัลเว้า
+กัลหาย
+กัลโหย
+กัลออม
+กัลเอา
+กัศมล
+กัศยป
+กัษณ
+กา
+ก๋า
+กาก
+กาก-
+กากกะรุน
+กากขยาก
+กากข้าว
+กากคติ
+กากณึก
+กากบาท
+กากเพชร
+กากภาษา
+กากรุน
+กากหมู
+กากะทิง
+กากะเยีย
+ก๋ากั่น
+กากี
+กากีแกมเขียว
+กาคาบพริก
+กาง
+ก้าง
+กางเกง
+กางเกียง
+ก้างขวางคอ
+กางของ
+กางขี้มอด
+กางเขน
+ก้างปลา
+กางเวียน
+กาจับหลัก
+กาชาด
+ก๊าซ
+ก๊าซไข่เน่า
+ก๊าซเฉื่อย
+ก๊าซน้ำตา
+กาซะลอง
+กาซะลองคำ
+กาญจน-
+กาญจนา
+กาฐ
+กาด
+ก๊าด
+กาน
+ก่าน
+ก้าน
+ก๊าน
+ก้านขด
+ก้านแข็ง
+ก้านคอ
+กานดา
+กานต์
+ก้านตอง
+ก้านต่อดอก
+กานท์
+กานน
+ก้านบัว
+ก้านพร้าว
+กานพลู
+ก้านมะพร้าว
+ก้านยาว
+ก้านแย่ง
+ก้านเหลือง
+กาน้า
+กาน้ำ
+กาบ
+ก้าบๆ
+กาบกี้
+กาบเขียง
+กาบคู่
+กาบเดียว
+กาบเดี่ยว
+กาบน้ำจืด
+กาบบัว
+กาบปูเล
+กาบพรหมศร
+กาบหอย
+กาบุรุษ
+กาบู
+กาเปี้ยด
+กาฝาก
+กาพย์
+กาพย์กลอน
+กาฟักไข่
+กาเฟอีน
+กาแฟ
+กาม
+กาม-
+ก้าม
+ก้ามกราม
+กามกรีฑา
+กามกิจ
+ก้ามกุ้ง
+ก้ามเกลี้ยง
+กามคุณ
+กามฉันท์
+ก้ามดาบ
+กามตัณหา
+กามท-
+กามเทพ
+กามน
+ก้ามปู
+ก้ามปูหลุด
+กามภพ
+กามราค
+กามโรค
+กามวิตก
+กามวิตถาร
+กามสมังคี
+กามัช
+กามา
+กามาทีนพ
+กามาพจร
+กามามิศ
+กามารมณ์
+กามาวจร
+กามินี
+กามิศ
+กาเมศ
+กาเมสุมิจฉาจาร
+กาโมทย
+กาย
+กาย-
+ก่าย
+กายกรรม
+ก่ายกอง
+กายทวาร
+กายบริหาร
+กายพันธน์
+กายภาพ
+กายภาพบำบัด
+กายวิภาคศาสตร์
+กายสิทธิ์
+กายาพยพ
+กายินทรีย์
+กาเยน
+กาเยนทรีย์
+การ
+การก
+การกลั่นทำลาย
+การขนส่งมวลชน
+การครัว
+การคลัง
+การเงิน
+การจร
+การณ์
+การต่างประเทศ
+การ์ตูน
+การเต
+การนำ
+การบ้าน
+การบ้านการเมือง
+การบุเรียน
+การบูร
+การบูรป่า
+การเปรียญ
+การแผ่รังสี
+การพา
+การเมือง
+การย์
+การเรือน
+การละเล่น
+การวิก
+การเวก
+การะเกด
+การะบุหนิง
+การัณย์
+การันต์
+การางหัวขวาน
+การิตการก
+การิตวาจก
+การุญ
+การุณย์
+กาเรการ่อน
+กาเรียน
+กาเรียนทอง
+กาล
+กาล-
+กาลกรรณี
+กาลกิณี
+กาลกิริยา
+กาลจักร
+กาลเทศะ
+กาลโยค
+กาลสมุตถาน
+กาลักน้ำ
+กาลัญญุตา
+กาลัญญู
+กาลัด
+กาลานุกาล
+กาลิก
+กาลี
+กาแล็กซี
+กาแล็กโทส
+กาว
+ก้าว
+ก้าวก่าย
+ก้าวเฉียง
+ก้าวร้าว
+ก้าวล่วง
+กาววาว
+ก้าวหน้า
+กาวาง
+กาเวียน
+กาแวน
+กาศิก
+กาศิก-
+กาศิกพัสตร์
+กาษฐะ
+กาษา
+กาสร
+กาสะ
+กาสัก
+กาสา
+กาสามปีก
+กาสาร
+กาสาว-
+กาสาวพัสตร์
+กาสาวะ
+กาสิโน
+กาหล
+กาหลง
+กาหลงรัง
+กาหลา
+กาหัก
+กาเหว่า
+กาไหล่
+กาฬ
+กาฬ-
+กาฬจักร
+กาฬปักษ์
+กาฬปักษี
+กาฬพฤกษ์
+กาฬโรค
+กาฬวาต
+กาฬาวก
+กาฮัง
+กำ
+ก่ำ
+ก้ำ
+กำกวม
+กำกัด
+กำกับ
+ก้ำกึ่ง
+กำกูน
+กำเกรียก
+ก้ำเกิน
+กำเกียง
+กำขี้ดีกว่ากำตด
+กำคูน
+ก่ำเคือ
+กำจร
+กำจัด
+กำจาย
+กำชับ
+กำชับกำชา
+กำชำ
+กำโชก
+กำซาบ
+กำซำ
+กำด้น
+กำดัด
+กำดาล
+กำเดา
+กำเดาะ
+ก่ำต้น
+กำตัด
+กำตาก
+กำถั่ว
+กำทวน
+กำธร
+กำนล
+กำนัด
+กำนัน
+กำนัล
+กำเนิด
+กำเนียจ
+กำบด
+กำบน
+กำบัง
+กำบัด
+กำบิด
+ก่ำบึ้ง
+กำเบ้อ
+กำโบล
+กำปอ
+กำปั่น
+กำปั้น
+กำผลา
+กำพง
+กำพด
+กำพต
+กำพร้า
+กำพราก
+กำพวด
+กำพอง
+กำพืด
+กำพุด
+กำพู
+กำเพลิง
+กำแพง
+กำแพ้ง
+กำแพงแก้ว
+กำแพงขาว
+กำแพงเขย่ง
+กำแพงเจ็ดชั้น
+กำแพงมีหูประตูมีช่อง
+กำแพงมีหูประตูมีตา
+กำแพงเศียร
+กำภู
+กำม
+กำมพฤกษ์
+กำมลาศน์
+กำมเลศ
+กำมะถัน
+กำมะลอ
+กำมะหยี่
+กำมะหริด
+กำมังละการ
+กำมังวิลิต
+กำมัชพล
+กำมา
+กำมือ
+กำยาน
+กำยำ
+กำรอ
+กำราก
+กำราบ
+กำราล
+กำรู
+กำเริบ
+กำเริบเสิบสาน
+กำไร
+กำลอง
+กำลัง
+กำลังกิน
+กำลังกินกำลังนอน
+กำลังใจ
+กำลังช้างเผือก
+กำลังช้างสาร
+กำลังดี
+กำลังเทียน
+กำลังภายใน
+กำลังม้า
+กำลังวังชา
+กำลังวัวเถลิง
+กำลุง
+กำลูน
+กำเลา
+กำเลาะ
+กำไล
+กำไลคู่ผี
+กำสรด
+กำสรวล
+กำเสาะ
+กำแสง
+กำหนด
+กำหนดการ
+กำหนัด
+กำหมัด
+กำหราก
+กำเหน็จ
+กำแหง
+กิก
+กิ๊ก
+กิ่ง
+กิ่งก้อย
+กิ้งก่า
+กิ้งกือ
+กิ้งกือเหล็ก
+กิ้งโครง
+กิ่งทองใบหยก
+กิงบุรุษ
+กิ่งหาย
+กิจ
+กิจ-
+กิจกรรม
+กิจการ
+กิจจะ
+กิจจะลักษณะ
+กิจจา
+กิจจานุกิจ
+กิจวัตร
+กิดาการ
+กิดาหยัน
+กิตติ
+กิตติกรรมประกาศ
+กิตติคุณ
+กิตติมศักดิ์
+กิตติศัพท์
+กิน
+กินกริบ
+กินกัน
+กินกำไร
+กินเกลียว
+กินเกลือกินกะปิ
+กินแกลบกินรำ
+กินขวา
+กินขาด
+กินแขก
+กินความ
+กินเครา
+กินเจ
+กินแจ
+กินใจ
+กินช้อน
+กินชัน
+กินซ้าย
+กินดอก
+กินดอกเบี้ย
+กินดอง
+กินด่าง
+กินดาย
+กินดิบ
+กินตะเกียบ
+กินตัว
+กินตา
+กินตำแหน่ง
+กินโต๊ะ
+กินแถว
+กินทาง
+กินที่
+กินที่ลับไขที่แจ้ง
+กินนร
+กินนรเก็บบัว
+กินนรฟ้อนโอ่
+กินนรรำ
+กินนรเลียบถ้ำ
+กินนอกกินใน
+กินนอน
+กินน้ำ
+กินน้ำตา
+กินน้ำใต้ศอก
+กินน้ำพริกถ้วยเดียว
+กินน้ำไม่เผื่อแล้ง
+กินน้ำเห็นปลิง
+กินใน
+กินบนเรือนขี้บนหลังคา
+กินบวช
+กินบ้านกินเมือง
+กินบุญ
+กินบุญเก่า
+กินแบ่ง
+กินปลิง
+กินปลี
+กินปูนร้อนท้อง
+กินเปล่า
+กินเปี้ยว
+กินผัว
+กินเพรา
+กินมือ
+กินเมีย
+กินเมือง
+กินไม่ลง
+กินรังแตน
+กินริน
+กินรี
+กินรูป
+กินแรง
+กินลม
+กินลมกินแล้ง
+กินล้างกินผลาญ
+กินลึก
+กินเวลา
+กินเศษกินเลย
+กินส้อม
+กินสั่ง
+กินสำรับ
+กินสี่ถ้วย
+กินเส้น
+กินหน้า
+กินหลัง
+กินหาง
+กินหู้
+กินเหมือนหมู อยู่เหมือนหมา
+กินเหล็กกินไหล
+กินแหนง
+กินอยู่กับปาก อยากอยู่กับท้อง
+กินอยู่พูวาย
+กิ๊บ
+กิมตึ๋ง
+กิมิชาติ
+กิมิวิทยา
+กิโมโน
+กิโยตีน
+กิระ
+กิริณี
+กิรินท
+กิริเนศวร
+กิริยา
+กิริยาสะท้อน
+กิเลน
+กิเลส
+กิเลส-
+กิเลสมาร
+กิโล
+กิโล-
+กิโลกรัม
+กิโลไซเกิล
+กิโลมกะ
+กิโลเมตร
+กิโลลิตร
+กิโลเฮิรตซ์
+กิ่ว
+กิ๋ว
+กิ๋วๆ
+กี
+กี่
+กี้
+กี๋
+กี่กระตุก
+กีฏ-
+กีฏวิทยา
+กีด
+กีดกัน
+กีดกั้น
+กีดขวาง
+กีดหน้าขวางตา
+กีตาร์
+กีบ
+กีบแรด
+กี่มากน้อย
+กีรติ
+กีฬา
+กึก
+กึกก้อง
+กึกกัก
+กึกกือ
+กึกถอง
+กึง
+กึ่ง
+กึ่งกลาง
+กึงกัง
+กึ่งราชการ
+กึ๋น
+กุ
+กุก
+กุ๊ก
+กุกกัก
+กุกๆ กักๆ
+กุ๊กกิ๊ก
+กุ๊กๆ กิ๊กๆ
+กุกกุฏ-
+กุกกุร-
+กุกขี้หมู
+กุกรรม
+กุก่อง
+กุกะ
+กุกะมะเทิ่ง
+กุกุธภัณฑ์
+กุ้ง
+กุ้งดีด
+กุ้งดีดขัน
+กุ้งเต้น
+กุ้งนาง
+กุ้งฝอย
+กุ้งฟัด
+กุ้งมังกร
+กุ้งไม้
+กุ้งยิง
+กุ้งส้ม
+กุ้งหนามใหญ่
+กุ้งหลวง
+กุ้งเหลือง
+กุ้งแห
+กุ้งแห้ง
+กุงอน
+กุงาน
+กุโงก
+กุจี
+กุญแจ
+กุญแจกล
+กุญแจประจำหลัก
+กุญแจปากตาย
+กุญแจผี
+กุญแจมือ
+กุญแจรหัส
+กุญแจเลื่อน
+กุญแจเสียง
+กุญแจแหวน
+กุญชร
+กุฎ
+กุฎา
+กุฎาคาร
+กุฎาธาร
+กุฎี
+กุฎุมพี
+กุฏฐัง
+กุฏไต
+กุฏิ
+กุณฑ์
+กุณฑล
+กุณฑี
+กุณโฑ
+กุณาล
+กุณิ
+กุณี
+กุด
+กุดัง
+กุดั่น
+กุดา
+กุทัณฑ์
+กุน
+กุ๊น
+กุนเชียง
+กุนที
+กุโนกามอ
+กุบ
+กุบกับ
+กุม
+กุ่ม
+กุมฝอย
+กุมภ-
+กุมภ์
+กุมภการ
+กุมภนิยา
+กุมภัณฑ-
+กุมภัณฑ์
+กุมภัณฑยักษ์
+กุมภา
+กุมภาพันธ์
+กุมภิล
+กุมภีล์
+กุมลัคน์
+กุมเหง
+กุมาร
+กุมารลฬิตา
+กุมารา
+กุมารี
+กุมุท
+กุย
+กุ๊ย
+กุ๋ย
+กุ๋ยๆ
+กุยช่าย
+กุยเฮง
+กุรร
+กุระ
+กุรุง
+กุรุพินท์
+กุรุร
+กุเรา
+กุล
+กุล-
+กุลทูสก
+กุลธิดา
+กุลบดี
+กุลบุตร
+กุลสตรี
+กุลสัมพันธ์
+กุลา
+กุลาซ่อนผ้า
+กุลาดำ
+กุลาตีไม้
+กุลาตีอก
+กุลาลาย
+กุลาหล
+กุลี
+กุลีกุจอ
+กุเลา
+กุแล
+กุเวร
+กุศราช
+กุศล
+กุศลกรรมบถ
+กุศโลบาย
+กุสล
+กุสุม
+กุสุม-
+กุสุมภ์
+กุสุมวิจิตร
+กุสุมา
+กุสุมาลย์
+กุสุมิตลดาเวลลิตา
+กุหนี
+กุหนุง
+กุหร่า
+กุหล่า
+กุหลาบ
+กุแหละ
+กู
+กู่
+กู้
+กู๊ก
+กูฏ
+กูฏา
+กูฏาคาร
+กูณฑ์
+กูด
+กูน
+กูบ
+กูปรี
+กู้ภัย
+กู่ไม่กลับ
+กู้ยืม
+กูรม-
+กูรมะ
+กูรมาวตาร
+กูรำ
+กู้หน้า
+เก
+เก่
+เก๊
+เก๋
+เกก
+เก๊ก
+เกกมะเหรก
+เก๊กหน้า
+เก๊กฮวย
+เก้กัง
+เก้ๆ กังๆ
+เก็ง
+เก่ง
+เก้ง
+เก๋ง
+-เกงกอย
+เก้งก้าง
+เก่งกาจ
+เก็งกำไร
+เกงเขง
+เก๋งเคง
+เก่งแต่ปาก
+เก๋งพั้ง
+เก็จ
+เกจิอาจารย์
+เกชา
+เกณฑ์
+เกณฑ์ตะพัด
+เกณฑ์เมืองรั้ง
+เกณฑ์หัด
+เกด
+เก็ด
+เกตุ
+เกตุ-
+เกตุมาลา
+เกน
+เกนๆ
+เก่น
+เก็บ
+เก็บเกี่ยว
+เก็บข้าว
+เก็บข้าวตก
+เก็บความ
+เก็บงำ
+เก็บตก
+เก็บตัว
+เก็บเนื้อเก็บตัว
+เก็บเบี้ยใต้ถุนร้าน
+เก็บผม
+เก็บไร
+เก็บเล็กผสมน้อย
+เก็บเล็ม
+เก็บเล่ม
+เก็บสี
+เก็บหน้าผ้า
+เก็บหอมรอมริบ
+เกม
+เกย
+เกยลา
+เกยแห้ง
+เกยูร
+เกรง
+เกร็ง
+เกรงขาม
+เกรงใจ
+เกรงอกเกรงใจ
+เกร็ด
+เกรน
+เกร่อ
+เกรอะ
+เกรอะกรัง
+เกราะ
+เกริก
+เกริน
+เกริ่น
+เกรียก
+เกรียง
+เกรียงไกร
+เกรียด
+เกรียน
+เกรียบ
+เกรียม
+เกรียมกรม
+เกรียว
+เกรี้ยว
+เกรี้ยวๆ
+เกรี้ยวกราด
+เกรียวกราว
+เกเร
+เกเรเกตุง
+เกเรเกเส
+เกล็ด
+เกล็ดกระดี่
+เกล็ดกระโห้
+เกล็ดข้าวเม่า
+เกล็ดถี่
+เกล็ดนาค
+เกล็ดปลาช่อน
+เกล็ดหอย
+เกลศ
+เกลอ
+เกลา
+เกล้า
+เกล้ากระผม
+เกล้ากระหม่อม
+เกลาะ
+เกลี่ย
+เกลี้ย
+เกลี้ยกล่อม
+เกลี่ยไกล่
+เกลียง
+เกลี้ยง
+เกลี้ยงเกลา
+เกลียด
+เกลียดตัวกินไข่
+เกลียดปลาไหลกินน้ำแกง
+เกลียว
+เกลียวกลม
+เกลียวข้าง
+เกลียวคอ
+เกลี่ยวดำ
+เกลียวหวาน
+เกลือ
+เกลื้อ
+เกลือก
+เกลือกกลั้ว
+เกลือกกลิ้ง
+เกลือกรด
+เกลือแกง
+เกลือเงิน
+เกลือจิ้มเกลือ
+เกลือจืด
+เกลือด่าง
+เกลือด่างคลี
+เกลื่อน
+เกลื้อน
+เกลื่อนกล่น
+เกลื่อนกลาด
+เกลื่อนความ
+เกลือเบสิก
+เกลือปรกติ
+เกลือเป็นหนอน
+เกลือฟอง
+เกลือยูเรต
+เกลือสมุทร
+เกลือสินเธาว์
+เกไล
+เกวัฏ
+เกวียน
+เกวียนหลวง
+เกศ
+เกศ-
+เกศธาตุ
+เกศพ
+เกศว
+เกศา
+เกศากันต์
+เกศินี
+เกศี
+เกษตร
+เกษตรกร
+เกษตรกรรม
+เกษตรและสหกรณ์
+เกษตรศาสตร์
+เกษม
+เกษมศานต์
+เกษมสันต์
+เกษียณ
+เกษียณอายุ
+เกษียน
+เกษียร
+เกษียรสมุทร
+เกส
+เกสร
+เกสรทั้งห้า
+เกสรี
+เกสา
+เกสี
+เก้อ
+เกอิชา
+เกะ
+เกะกะ
+เกา
+เก่า
+เก้า
+เก๋า
+เกาต์
+เกาทัณฑ์
+เกาทุมพร
+เกาบิน
+เกาบิล
+เกามาร
+เกาลัด
+เกาลัดจีน
+เกาลิน
+เกาไศย
+เกาหลี
+เกาเหลา
+เกาเหลียง
+เก้าอี้
+เกาะ
+เกาะกิน
+เกาะแกะ
+เกิง
+เกิ้ง
+เกิด
+เกิดสูรย์
+เกิน
+เกินการ
+เกินกิน
+เกินคน
+เกินงาม
+เกินดี
+เกินตัว
+เกินไป
+เกินเลย
+เกินหน้า
+เกิบ
+เกีย
+เกียกกาย
+เกียง
+เกี่ยง
+เกี๋ยง
+เกี่ยงงอน
+เกี่ยงตาย
+เกียจ
+เกียจกล
+เกียจคร้าน
+เกียด
+เกียดกัน
+เกียน
+เกี้ยมไฉ่
+เกี้ยมอี๋
+เกียร์
+เกียรติ
+เกียรติ-
+เกียรติ์
+เกียรติคุณ
+เกียรตินิยม
+เกียรติประวัติ
+เกียรติภูมิ
+เกียรติยศ
+เกียรติศักดิ์
+เกี่ยว
+เกี้ยว
+เกี๊ยว
+เกี่ยวก้อย
+เกี้ยวเกไล
+เกี่ยวข้อง
+เกี่ยวข้าว
+เกี้ยวคอไก่
+เกี่ยวดอง
+เกี่ยวดองหนองยุ่ง
+เกี้ยวนวม
+เกี่ยวเบ็ด
+เกี้ยวประทีป
+เกี่ยวแฝกมุงป่า
+เกี่ยวพัน
+เกี้ยวพาน
+เกี้ยวพาราสี
+เกี่ยวโยง
+เกี๊ยะ
+เกื้อ
+เกือก
+เกือกม้า
+เกื้อกูล
+เกือบ
+เกือบไป
+แก
+แก่
+แก้
+แก่กล้า
+แก้เกี้ยว
+แก้ขัด
+แก้ไข
+แก้แค้น
+แกง
+แก่ง
+แก้ง
+แก๊ง
+แก้งก้น
+แกงขม
+แกงจืด
+แกงได
+แกงแนง
+แกงบวด
+แกงเผ็ด
+แก่งแย่ง
+แกงร้อน
+แกงส้ม
+แก่ดีกรี
+แก่แดด
+แกโดลิเนียม
+แก้ตก
+แก่ตัว
+แก้ตัว
+แก้ต่าง
+แก้ที
+แก้โทษ
+แกน
+แก่น
+แก่นแก้ว
+แก่นสาร
+แกนะ
+แกแน
+แก้บน
+แก่บ้าน
+แก้บาป
+แก๊ป
+แก้เผ็ด
+แก้ฝัน
+แก่ไฟ
+แกม
+แก้ม
+แก้มช้ำ
+แก้มแดง
+แกมมา
+แก้มแหม่ม
+แก้มือ
+แกรก
+แกร่ง
+แกร็น
+แกรนิต
+แกรไฟต์
+แกร่ว
+แกระ
+แก่แรด
+แกล
+แกล่
+แกล้ง
+แกล้งเกลา
+แกลน
+แกลบ
+แกลบหนู
+แกลบหูหนู
+แกล้ม
+แกลลอน
+แกลเลียม
+แกล้ว
+แกละ
+แก้ลำ
+แกแล
+แกว
+แก้ว
+แก้วก๊อ
+แก้วกุ้ง
+แก้วแกลบ
+แกว่ง
+แกว่งไกว
+แกว่งตีนหาเสี้ยน
+แก้วชิงดวง
+แก้วตา
+แกว่น
+แก้วผลึก
+แก้วมรกต
+แก้ววิเชียร
+แก้วสารพัดนึก
+แก้วสีไม้ไผ่
+แก้วหิน
+แก้วหู
+แก่วัด
+แก๊ส
+แก๊สไข่เน่า
+แก๊สเฉื่อย
+แก๊สน้ำตา
+แก้หน้า
+แกะ
+แกะดำ
+แกะรอย
+แกะสะเก็ด
+โก่
+โก้
+โก๋
+โกก
+โกกเกก
+โกกนุท
+โกกิล-
+โกกิลา
+โกโก้
+โกง
+โก่ง
+โกงกาง
+โก้งเก้ง
+โกงโก้
+โก้งโค้ง
+โกเชาว์
+โกญจ-
+โกญจน
+โกญจนาท
+โกญจา
+โกฏิ
+โกฐ
+โกฐกระดูก
+โกฐกะกลิ้ง
+โกฐกักกรา
+โกฐก้านพร้าว
+โกฐเขมา
+โกฐจุฬาลัมพา
+โกฐจุฬาลำพา
+โกฐชฎามังษี
+โกฐชฎามังสี
+โกฐเชียง
+โกฐน้ำเต้า
+โกฐพุงปลา
+โกฐสอ
+โกฐหอม
+โกฐหัวบัว
+โกฐาส
+โกณ
+โกณก
+โกดัง
+โกตไต
+โกทัณฑ์
+โกน
+โก่น
+โก๋น
+โกปินำ
+โกมล
+โกมุท
+โกเมน
+โกเมศ
+โกย
+โกยท้อง
+โกร้
+โกรก
+โกรกกราก
+โกรกไกร
+โกรกธาร
+โกรกหวัด
+โกรง
+โกร่ง
+โกร่งกร่าง
+โกรงเกรง
+โกร๋งเกร๋ง
+โกรญจ
+โกรด
+โกรต๋น
+โกรธ
+โกรธขึ้ง
+โกรธา
+โกร๋น
+โกร๋นเกร๋น
+โกรม
+โกรมธาตุ
+โกรย
+โกรศ
+โกโรโกเต
+โกโรโกโรก
+โกโรโกโส
+โกลง
+โกลน
+โกลาหล
+โกไล
+โกวิท
+โกวิฬาร
+โกศ
+โกศล
+โกษ
+โกษม
+โกษย
+โกษีย์
+โกส
+โกสน
+โกสัช
+โกสินทร์
+โกสีย์
+โกสุม
+โกไสย
+โกหก
+โกหวา
+ใกล้
+ใกล้เกลือกินด่าง
+ไก
+ไก่
+ไก้
+ไก๊
+ไก๋
+ไก่กอม
+ไก่แก่แม่ปลาช่อน
+ไก่แก้ว
+ไก่เขี่ย
+ไก่ชน
+ไก๋แดง
+ไก่เตี้ย
+ไก่นา
+ไก่ป่า
+ไกพัล
+ไก่ฟ้า
+ไก่ฟ้าพญาลอ
+ไกร
+ไกรพ
+ไกรลาส
+ไกรศร
+ไกรศรี
+ไกรสร
+ไกรสรี
+ไกรสิทธิ
+ไก่รองบ่อน
+ไกล
+ไกล่
+ไกล่เกลี่ย
+ไกลปืนเที่ยง
+ไกลาส
+ไกว
+ไกวัล
+ไก่สามอย่าง
+ไก่เห็นตีนงู งูเห็นนมไก่
+ไก่โห่
+ไก่ไห้
+ไก่อ่อน
+ข
+ขง
+ขงจื๊อ
+ขจร
+ขจรจบ
+ขจอก
+ขจัด
+ขจัดขจาย
+ขจ่าง
+ขจาย
+ขจาว
+ขจิต
+ขจิริด
+ขจี
+ขจุย
+ขเจา
+ขณะ
+ขด
+ขดถวาย
+ขดาน
+ขตอย
+ขทิง
+ขทึง
+ขน
+ข้น
+ข้นแค้น
+ขนง
+ขนงเนื้อ
+ขนด
+ขนทรายเข้าวัด
+ขนน
+ขนบ
+ขนบธรรมเนียม
+ขนบประเพณี
+ขนพอง
+ขนเพชร
+ขนม
+ขนมครก
+ขนมจีน
+ขนมทราย
+ขนมผสมน้ำยา
+ขนมผักกาด
+ขนมเส้น
+ขนมหัวผักกาด
+ขนแมว
+ขนลุก
+ขนลุกขนพอง
+ขนส่ง
+ขนสัตว์
+ขนหน้าแข้งไม่ร่วง
+ขนหนู
+ขนหยอง
+ขนอง
+ขนอน
+ขนอบ
+ขนอุย
+ขนัด
+ขนัน
+ขนาก
+ขนาง
+ขนาด
+ขนาน
+ขนานน้ำ
+ขนานลี่
+ขนาบ
+ขนาย
+ขนำ
+ขนิษฐ
+ขนิษฐา
+ขนุน
+ขนุนนก
+ขนุนป่า
+ขนุนสำปะลอ
+ขบ
+ขบขัน
+ขบเขี้ยวเคี้ยวฟัน
+ขบคิด
+ขบฉัน
+ขบถ
+ขบปัญหา
+ขบเผาะ
+ขบไม่แตก
+ขบวน
+ขบวนการ
+ขบวร
+ขบูร
+ขม
+ข่ม
+ข่มขวัญ
+ข่มขี่
+ขมขื่น
+ข่มขืน
+ข่มขืนกระทำชำเรา
+ข่มขืนใจ
+ข่มขู่
+ข่มเขาโคขืนให้กินหญ้า
+ขมงโกรย
+ข่มท้อง
+ข่มนาม
+ขมเป็นยา
+ขมม
+ขมวด
+ขมวดยา
+ขมวน
+ข่มหมู
+ขมหิน
+ข่มเหง
+ข่มเหงคะเนงร้าย
+ขมอง
+ขม่อม
+ขม่อมบาง
+ขมอย
+ขมัง
+ขมับ
+ขมา
+ขม้ำ
+ขมิ้น
+ขมิ้นกับปูน
+ขมิ้นขาว
+ขมิ้นขึ้น
+ขมิ้นเครือ
+ขมิ้นชัน
+ขมิ้นนาง
+ขมิ้นลิง
+ขมิ้นหัวขึ้น
+ขมิ้นอ้อย
+ขมิบ
+ขมีขมัน
+ขมึง
+ขมึงทึง
+ขมุ
+ขมุกขมัว
+ขมุดขมิด
+ขมุบ
+ขมุบขมิบ
+ขมุม
+ขโมย
+ขย-
+ขยด
+ขยม
+ขย่ม
+ขยล
+ขยอก
+ขยอง
+ขย่อน
+ขย้อน
+ขยะ
+ขยะแขยง
+ขยัก
+ขยักขย่อน
+ขยักขย้อน
+ขยัน
+ขยั้น
+ขยับ
+ขยับขยาย
+ขยับเขยื้อน
+ขยาด
+ขยาบ
+ขยาย
+ขยายขี้เท่อ
+ขยำ
+ขย้ำ
+ขยิก
+ขยิบ
+ขยิ่ม
+ขยี้
+ขยี่ขยัน
+ขยุกขยิก
+ขยุกขยุย
+ขยุบ
+ขยุบขยิบ
+ขยุม
+ขยุ้ม
+ขยุ้มตีนหมา
+ขยุย
+ขรม
+ขรรค-
+ขรรค์
+ขรัว
+ขรัวยาย
+ขริบ
+ขรี
+ขรึม
+ขรุขระ
+ขล้ง
+ขลบ
+ขลม
+ขลวน
+ขล้อเงาะ
+ขล้อเทียน
+ขลัง
+ขลับ
+ขลา
+ขลาด
+ขลาย
+ขลิบ
+ขลึง
+ขลุก
+ขลุกขลัก
+ขลุกขลิก
+ขลุกขลุ่ย
+ขลุบ
+ขลุม
+ขลุมประเจียด
+ขลุ่ย
+ขลู
+ขลู่
+ขวง
+ข่วง
+ขวด
+ขวดตีนช้าง
+ขวดโหล
+ขวน
+ข่วน
+ขวนขวาย
+ขวบ
+ขวย
+ขวยเขิน
+ขวยใจ
+ขวะไขว่เขวี่ย
+ขวักไขว่
+ขวัญ
+ขวัญเกี่ยง
+ขวัญข้าว
+ขวัญแขวน
+ขวัญใจ
+ขวัญดี
+ขวัญตา
+ขวัญบ่า
+ขวัญบิน
+ขวัญเมือง
+ขวัญหนี
+ขวัญหนีดีฝ่อ
+ขวัญหาย
+ขวัญอ่อน
+ขวัด
+ขวัดขวิด
+ขวัดแคว้ง
+ขวั้น
+ขวับ
+ขวับเขวียว
+ขวา
+ขวาก
+ขวากหนาม
+ขวาง
+ขว้าง
+ขว้างกา
+ขว้างข้าวเม่า
+ขว้างค้อน
+ขว้างงูไม่พ้นคอ
+ขว้างจักร
+ขวางเชิง
+ขวางๆ รีๆ
+ขวางโลก
+ขวาด
+ขวาน
+ขวานผ่าซาก
+ขวานฟ้า
+ขวายขวน
+ขวาว
+ขว้าว
+ขวิด
+ขษณะ
+ขษัย
+ขษีณาศรพ
+ขษีร
+ขอ
+ข่อ
+ข้อ
+ขอก
+ข้อกฎหมาย
+ข้อกติกา
+ข้อกำหนด
+ขอแกว
+ข้อเขียน
+ข้อไข
+ข้อความ
+ข้อคัดย่อ
+ขอคำน้อย
+ข้อคิด
+ข้อคิดเห็น
+ของ
+ข้อง
+ของกลาง
+ของกอง
+ของกำนัล
+ของกิน
+ของเก่า
+ของขบเคี้ยว
+ของขลัง
+ของขวัญ
+ข้องขัด
+ของแข็ง
+ของค้าง
+ของคาว
+ของเค็ม
+ของเคียง
+ของโจร
+ข้องใจ
+ของชำ
+ของใช้
+ของดี
+ของเถื่อน
+ของนอก
+ของร้อน
+ของลับ
+ของเล่น
+ของเลื่อน
+ของเลื่อนเตือนขันหมาก
+ของวัด
+ของว่าง
+ข้องแวะ
+ของสงฆ์
+ของสงวน
+ของสด
+ของสดของคาว
+ของสดคาว
+ของหลวง
+ของหวาน
+ของหายตะพายบาป
+ของเหลว
+ของแห้ง
+ของไหล
+ของไหว้
+ของ้อ
+ของ้าว
+ขอฉาย
+ขอช้าง
+ขอด
+ขอดค่อน
+ขอเดชะ
+ขอตัว
+ขอทอง
+ขอทาน
+ขอที
+ข้อเท็จจริง
+ขอโทษ
+ขอน
+ข่อน
+ข้อน
+ขอนดอก
+ขอนสัก
+ขอนิสัย
+ขอบ
+ขอบข่าย
+ขอบเขต
+ขอบคุณ
+ขอบใจ
+ขอบทาง
+ขอบพระคุณ
+ขอบไร
+ขอบเหล็ก
+ข้อบังคับ
+ข้อบัญญัติ
+ขอประทาน
+ขอประทานโทษ
+ข้อปลีกย่อย
+ขอไปที
+ขอเฝ้า
+ขอพระราชทาน
+ข้อพับ
+ขอม
+ข้อมือขาว
+ข้อมูล
+ข้อแม้
+ข่อย
+ข้อย
+ข่อยน้ำ
+ข่อยหนาม
+ข่อยหยอง
+ขอยืม
+ขอร้อง
+ขอรับ
+ขอรับกระผม
+ขอรับผม
+ข้อราชการ
+ขอแรง
+ข้อศอก
+ข้อสอบ
+ขอสับ
+ข้อเสือ
+ข้อหา
+ข้อใหญ่ใจความ
+ขออภัย
+ข้ออ้อย
+ข้ออ้าง
+ขะข่ำ
+ขะแข่น
+ขะแข้น
+ขะแจะ
+ขะแถก
+ขะนาน
+ขะเน็ด
+ขะมอมขะแมม
+ขะมักเขม้น
+ขะมุกขะมอม
+ขะแมซอ
+ขะแมธม
+ขะยิก
+ขะยุก
+ขะเย้อแขย่ง
+ขะแยะ
+ขัค
+ขัง
+ขังข้อ
+ขังขอก
+ขังปล้อง
+ขังหน่วย
+ขัช
+ขัชก
+ขัณฑ-
+ขัณฑสกร
+ขัณฑสีมา
+ขัด
+ขัดเกลา
+ขัดขวาง
+ขัดข้อง
+ขัดขืน
+ขัดเขมร
+ขัดเขิน
+ขัดแข็ง
+ขัดคอ
+ขัดเคือง
+ขัดแค้น
+ขัดจังหวะ
+ขัดใจ
+ขัดดอก
+ขัดตา
+ขัดตาทัพ
+ขัดตำนาน
+ขัดแตะ
+ขัดบท
+ขัดเบา
+ขัดมอน
+ขัดมอนตัวผู้
+ขัดมอนหลวง
+ขัดยอก
+ขัดแย้ง
+ขัดลาภ
+ขัดสน
+ขัดสมาธิ
+ขัดหนัก
+ขัดห้าง
+ขัดหู
+ขัตติย-
+ขัตติยมานะ
+ขัน
+ขั้น
+ขันกว้าน
+ขันแข็ง
+ขันชะเนาะ
+ขันเชิง
+ขันต่อ
+ขันติ
+ขันตี
+ขันโตก
+ขันทองพยาบาท
+ขันที
+ขันธ์
+ขันธาวาร
+ขันน้ำพานรอง
+ขันลงหิน
+ขันสมอ
+ขันสาคร
+ขันสู้
+ขันหมาก
+ขันเหม
+ขันอาสา
+ขับ
+ขับขัน
+ขับขี่
+ขับเคลื่อน
+ขับเคี่ยว
+ขับซอ
+ขับถ่าย
+ขับพล
+ขับไม้
+ขับไม้บัณเฑาะว์
+ขับร้อง
+ขัย
+ขัว
+ขั้ว
+ขั้วกระจก
+ขั้วบวก
+ขั้วแม่เหล็ก
+ขั้วแม่เหล็กโลก
+ขั้วลบ
+ขั้วโลก
+ขา
+ข่า
+ข้า
+ขาก
+ขากบ
+ขากรรไตร
+ขาก๊วย
+ขากอม
+ขาเกวียน
+ข้าเก่าเต่าเลี้ยง
+ขาไก่
+ขาเขียด
+ขาง
+ข่าง
+ข้าง
+ข้างๆ
+ข้างกบ
+ข้างกระดาน
+ข้างขึ้น
+ข้างควาย
+ข้างๆ คูๆ
+ข้างเงิน
+ข้างจัน
+ขางดัง
+ขางแดง
+ข้างตก
+ข้างตะเภา
+ข้างตีน
+ข้างแรม
+ข้างลาย
+ข้างหัวนอน
+ข้างออก
+ขาจร
+ข้าเจ้า
+ขาณุ
+ขาด
+ขาดกัน
+ขาดคราว
+ขาดคอช้าง
+ขาดค่า
+ขาดคำ
+ขาดแคลน
+ขาดใจ
+ขาดตกบกพร่อง
+ขาดตลาด
+ขาดตอน
+ขาดตัว
+ขาดทุน
+ขาดปาก
+ขาดมือ
+ขาดเม็ด
+ขาดลอย
+ขาดหัวช้าง
+ขาดเหลือ
+ขาดอายุ
+ข่าแดง
+ข่าต้น
+ขาทนียะ
+ขาทราย
+ข้าไท
+ขาน
+ขานกยาง
+ขานไข
+ขานนาค
+ขานรหัส
+ข้านอกเจ้า ข้าวนอกหม้อ
+ข้าน้อย
+ขานาง
+ขาบ
+ขาประจำ
+ข้าแผ่นดิน
+ข้าเฝ้า
+ข้าพเจ้า
+ข้าพระ
+ข้าพระพุทธเจ้า
+ขาพับ
+ขาม
+ข่าม
+ข้าม
+ข้ามๆ
+ข้ามน้ำข้ามทะเล
+ข้ามน้ำข้ามท่า
+ข้ามสมุทร
+ข้ามหน้า
+ข้ามหน้าข้ามตา
+ข้ามหัว
+ขาม้า
+ขาย
+ข่าย
+ขายขาด
+ข่ายงาน
+ขายชาติ
+ขายชื่อ
+ขายตัว
+ขายตามคำพรรณนา
+ขายตามตัวอย่าง
+ขายทอดตลาด
+ขายบ้านขายเมือง
+ขายปลีก
+ขายผ้าเอาหน้ารอด
+ขายเผื่อชอบ
+ขายฝาก
+ขายส่ง
+ขายหน้า
+ขายหน้าขายตา
+ขายหน้าวันละห้าเบี้ย
+ขายหู
+ขายเหมา
+ข้าราชการ
+ขาล
+ขาว
+ข่าว
+ข้าว
+ข่าวกรอง
+ข้าวกรู
+ข้าวกล้อง
+ข้าวกล้า
+ข้าวเกรียบ
+ข้าวเกรียบปากหม้อ
+ข้าวเกรียบอ่อน
+ข้าวเก่า
+ข้าวแกง
+ข้าวโกบ
+ข้าวขวัญ
+ข้าวของ
+ข้าวข้า
+ข้าวแขก
+ข่าวคราว
+ข้าวควบ
+ข้าวคำ
+ข้าวแคบ
+ข้าวงัน
+ข้าวจี่
+ขาวจีบ
+ข้าวเจ้า
+ข้าวแจก
+ข้าวแช่
+ข้าวซ้อม
+ข้าวซอย
+ข้าวแดกงา
+ข้าวแดงแกงร้อน
+ข้าวต้ม
+ข้าวต้มน้ำวุ้น
+ข้าวต้มปัด
+ข้าวตอก
+ข้าวตอกตั้ง
+ข้าวตอกแตก
+ข้าวตัง
+ข้าวตาก
+ข้าวตู
+ข้าวแตก
+ข้าวแตน
+ข้าวทิพย์
+ข้าวนก
+ข้าวนึ่ง
+ข้าวบาตร
+ข้าวบิณฑ์
+ข้าวบุหรี่
+ข้าวเบา
+ข้าวเบือ
+ข้าวประดับดิน
+ข้าวปลูก
+ข้าวปัด
+ข้าวป่า
+ข้าวปาด
+ข้าวปุ้น
+ข้าวเปรต
+ข้าวเปลือก
+ข้าวเปียก
+ข้าวผอก
+ข้าวผอกกระบอกน้ำ
+ข้าวพระ
+ขาวพวง
+ข้าวพอง
+ข่าวพาดหัว
+ข้าวโพด
+ข้าวฟ่าง
+ข้าวเภา
+ข้าวมัน
+ขาวม้า
+ข้าวมิ่น
+ข้าวเม่า
+ข้าวเม่าทอด
+ข่าวยกเมฆ
+ข้าวยากหมากแพง
+ข้าวยาคู
+ข้าวยำ
+ข้าวเย็นใต้
+ข้าวเย็นเหนือ
+ข้าวละมาน
+ข่าวล่า
+ข่าวสด
+ข้าวสวย
+ข้าวสาก
+ข่าวสาร
+ข้าวสาร
+ข้าวสุก
+ข้าวเส้น
+ข้าวหนัก
+ข้าวหมก
+ข้าวหมาก
+ข้าวหลาม
+ข้าวหลามตัด
+ข้าวหัวโขน
+ข้าวหางช้าง
+ข้าวเหนียว
+ข้าวเหนียวดำ
+ข้าวเหลือเกลืออิ่ม
+ขาวใหญ่
+ข้าวใหม่
+ข้าวใหม่น้อย
+ข้าวใหม่ปลามัน
+ข้าวใหม่ใหญ่
+ข้าวอังกุลี
+ข้าวฮาง
+ข้าศึก
+ขาหมา
+ขาหยั่ง
+ข้าหลวง
+ข้าหลวงเดิม
+ข้าหลวงน้อย
+ข้าหลวงหลังลาย
+ขาอ่อน
+ขำ
+ข่ำเขียว
+ขิก
+ขิกๆ
+ขิง
+ขิ่ง
+ขิงก็รา ข่าก็แรง
+ขิงแกลง
+ขิงแครง
+ขิงแห้ง
+ขิด
+ขิปสัทโท
+ขิม
+ขี่
+ขี้
+ขี้กบ
+ขี้กระทาเกลือ
+ขี้ก้อนใหญ่ให้เด็กเห็น
+ขี้กะโล้โท้
+ขี้กา
+ขี้ก้าง
+ขี้กาดง
+ขี้กาแดง
+ขี้กาเหลี่ยม
+ขี้เกลือ
+ขี้ขม
+ขี้ขวง
+ขี้ข้า
+ขี้ขุย
+ขี้เข็บ
+ขี้ครอก
+ขี้ครั่ง
+ขี้ควาย
+ขี้คุก
+ขี้เค้า
+ขี้โครง
+ขี้จาบ
+ขี่ช้างจับตั๊กแตน
+ขี้ซ้าย
+ขี้เซา
+ขี้ไซ้
+ขีณะ
+ขีณาสพ
+ขีด
+ขีดขั้น
+ขีดคร่อม
+ขีดคั่น
+ขีดเส้นตาย
+ขี้เดือด
+ขี้แดด
+ขี้ตด
+ขี้ตังนี
+ขี้ติ้ว
+ขี้ตืด
+ขี้เต่า
+ขี้แต้
+ขี้ไต้
+ขี้ถัง
+ขี้เถ้า
+ขี้ไถ
+ขี้ทา
+ขี้ทูด
+ขี้เท่อ
+ขี้เทา
+ขี้เทือก
+ขี้นก
+ขีปนาวุธ
+ขีปนาวุธนำวิถี
+ขี้ปะติ๋ว
+ขี้ปาก
+ขี้เป้
+ขี้เป็ด
+ขี้ผง
+ขี้ผึ้ง
+ขี้ฝิ่น
+ขี้แพ้ชวนตี
+ขี้มอด
+ขี้ม้า
+ขี่ม้าตีคลี
+ขี่ม้าเลียบค่าย
+ขี่ม้าส่งเมือง
+ขี้มิ่น
+ขี้มูก
+ขี้เมฆ
+ขี้แมลงวัน
+ขี้แมว
+ขี้ไม่ให้หมากิน
+ขี้ยอก
+ขี้ยา
+ขี้แย
+ขีร
+ขี้รังแค
+ขี้ราดโทษล่อง
+ขี้ริ้ว
+ขี้เรื้อน
+ขี้เรื้อนกวาง
+ขี้แรด
+ขี้แรดล้อมปรวด
+ขี้ลม
+ขี้ลอก
+ขี้ลีบ
+ขี้เล็บ
+ขี้โล้
+ขี้สูด
+ขี้หดตดหาย
+ขี้หนอน
+ขี้หน้า
+ขี้หนู
+ขี้หมา
+ขี้เหร่
+ขี้เหล็ก
+ขี้ใหม่หมาหอม
+ขี้อ้น
+ขี้อ้าย
+ขึง
+ขึ้ง
+ขึ้งโกรธ
+ขึงขัง
+ขึ้งเคียด
+ขึงตา
+ขึงพืด
+ขึงอูด
+ขึ้น
+ขึ้นเขียง
+ขึ้นครู
+ขึ้นคาน
+ขึ้นใจ
+ขึ้นฉ่าย
+ขึ้นชื่อ
+ขึ้นชื่อว่า
+ขึ้นซัง
+ขึ้นต้นไม้สุดยอด
+ขึ้นปาก
+ขึ้นพลับพลา
+ขึ้นไม้ขึ้นมือ
+ขึ้นระวาง
+ขึ้นร้าน
+ขึ้นสาย
+ขึ้นเสียง
+ขึ้นหน้าขึ้นตา
+ขึ้นหม้อ
+ขึ้นหา
+ขึ้นเหนือล่องใต้
+ขืน
+ขื่น
+ขื่นขม
+ขืนใจ
+ขื่อ
+ขื่อกะละปังหา
+ขื่อขวาง
+ขื่อคัด
+ขื่อจมูก
+ขื่อเท่าต่อ
+ขื่อผี
+ขื่อมุก
+ขื่อหมู่
+ขุก
+ขุด
+ขุดคุ้ย
+ขุดด้วยปากถากด้วยตา
+ขุดดินกินหญ้า
+ขุดบ่อล่อปลา
+ขุน
+ขุ่น
+ขุ่นข้องหมองใจ
+ขุ่นเคือง
+ขุ่นแค้น
+ขุ่นใจ
+ขุนทอง
+ขุนนาง
+ขุนนางใช่พ่อแม่ หินแง่ใช่ตายาย
+ขุนน้ำ
+ขุนบาล
+ขุนแผน
+ขุนพล
+ขุนพัฒน์
+ขุนเพ็ด
+ขุ่นมัว
+ขุนไม่ขึ้น
+ขุนศาล
+ขุนศึก
+ขุ่นหมอง
+ขุนหมื่น
+ขุนหลวง
+ขุม
+ขุย
+ขุยไผ่
+ขุยอินทรีย์
+ขู
+ขู่
+ขู่กรรโชก
+ขู่ขวัญ
+ขู่เข็ญ
+ขูด
+ขูดรีด
+ขูดเลือด
+ขูดเลือดขูดเนื้อ
+เข
+เข้
+เขก
+เข็ง
+เข่ง
+เขจร
+เข็ญ
+เข็ญใจ
+เข็ด
+เข็ดข้อ
+เข็ดข้อเข็ดลำ
+เข็ดเขี้ยว
+เข็ดฟัน
+เขดา
+เขต
+เขตแดน
+เขตเลือกตั้ง
+เขตอำนาจศาล
+เขน
+เข็น
+เข่น
+เข่นเขี้ยว
+เข็นครกขึ้นภูเขา
+เข่นฆ่า
+เขนง
+เขนงนายพราน
+เขน็ด
+เขนย
+เขบ็จขบวน
+เขบ็ต
+เขม-
+เข็ม
+เข้ม
+เข็มกลัด
+เข้มข้น
+เข็มขัด
+เข้มขาบ
+เข้มขาบไหม
+เข้มแข็ง
+เข็มควัก
+เขม็ง
+เข้มงวด
+เข็มซ่อนปลาย
+เขม็ดแขม่
+เข็มทิศ
+เขม่น
+เขม้น
+เขม้นขะมัก
+เขมร
+เขมรไทรโยค
+เขมรพวง
+เขมรราชบุรี
+เขมรเหลือง
+เขมรใหญ่
+เขมา
+เขม่า
+เขมาโกรย
+เขม่าซาง
+เขมือบ
+เขย
+เขยก
+เขย่ง
+เขย่งเก็งกอย
+เขยตาย
+เขย้อแขย่ง
+เขยอะขยะ
+เขย่า
+เขยิน
+เขยิบ
+เขยิบขยาบ
+เขยิบฐานะ
+เขยียวขยอน
+เขยื้อน
+เขรอะ
+เขลง
+เขลอะ
+เขละ
+เขลา
+เขลาะ
+เขว
+เขษตร
+เขษม
+เขษียร
+เขฬะ
+เขะขะ
+เขา
+เข่า
+เข้า
+เข้ากระโจม
+เข้ากระดูกดำ
+เขากวาง
+เข้าเกณฑ์
+เข้าเกีย
+เขาแกะ
+เข้าข้อ
+เข้าขา
+เข้าข้าง
+เข้าคอ
+เข้าคิว
+เข้าคู่
+เข้าเครื่อง
+เข้าเค้า
+เข้าไคล
+เข้าเงียบ
+เข้าแง่
+เข้าเจ้า
+เข้าเจ้าเข้านาย
+เข้าใจ
+เข้าชื่อ
+เข้าฌาน
+เข้าด้ายเข้าเข็ม
+เข้าเดือย
+เข้าตรีทูต
+เข้าตอง
+เข้าตัว
+เข้าตาจน
+เข้าตามตรอกออกตามประตู
+เข้าตาร้าย
+เข้าตำรา
+เข้าตู้
+เข้าไต้เข้าไฟ
+เข้าถ้ำ
+เข้าถึง
+เข้าเถื่อนอย่าลืมพร้า
+เข้าทรง
+เข้าท่า
+เข้าที
+เข้าที่
+เข้าทุน
+เข้านอกออกใน
+เข้าเนื้อ
+เข้าแบบ
+เข้าแบบเข้าแผน
+เข้าปก
+เข้าปากไม้
+เข้าปิ้ง
+เข้าปีก
+เขาเปล้า
+เข้าไป
+เข้าผี
+เข้าผู้เข้าคน
+เข้าฝัก
+เข้าฝัน
+เข้าเฝ้า
+เข้าเฝือก
+เข้าพกเข้าห่อ
+เข้าพรรษา
+เข้าพระเข้านาง
+เข้าพุง
+เขามอ
+เข้าม่าน
+เข้าเมืองตาหลิ่วต้องหลิ่วตาตาม
+เข้าไม้
+เข้ายา
+เข้ารกเข้าพง
+เข้ารหัส
+เข้าร่องเข้ารอย
+เข้ารอบ
+เข้ารอย
+เข้าร้าย
+เข้ารีต
+เข้ารูป
+เข้ารูปเข้ารอย
+เข่าลา
+เข้าลิ้น
+เข้าเล่ม
+เข้าเลือด
+เข้าเลือดเข้าเนื้อ
+เข้าโลง
+เข้าวัดเข้าวา
+เข้าว่า
+เข้าเวร
+เข้าแว่น
+เข้าเศียร
+เข้าสมาธิ
+เข้าสุหนัต
+เข้าใส่
+เข้าไส้
+เข้าหน้า
+เข้าหม้อ
+เข้าหมิ้น
+เข้าหลัก
+เข้าหา
+เข้าหุ้น
+เข้าหู
+เข้าหูซ้ายทะลุหูขวา
+เข้าให้
+เข้าไหนเข้าได้
+เขาอ่อน
+เข่าอ่อน
+เขิง
+เขิน
+เขิบ
+เขี่ย
+เขียง
+เขียงเท้า
+เขียงพระนางอี่
+เขียงพร้า
+เขียด
+เขียดตะปาด
+เขียน
+เขี่ยน
+เขียนด้วยมือลบด้วยตีน
+เขียนทอง
+เขียนไทย
+เขียนเสือให้วัวกลัว
+เขียม
+เขียว
+เขี้ยว
+เขี้ยวกระแต
+เขี้ยวแก้ว
+เขียวไข่กา
+เขี้ยวงู
+เขี้ยวตะขาบ
+เขี้ยวเนื้อ
+เขียวพระอินทร์
+เขี้ยวเล็บ
+เขียวเสวย
+เขี้ยวหนุมาน
+เขี้ยวหมา
+เขียวหวาน
+เขียวหางไหม้
+เขียะ
+เขือ
+เขือง
+เขื่อง
+เขื่อน
+เขื่อนเพชร
+เขือม
+แข
+แข้
+แขก
+แขกเต้า
+แขกเต้าเข้ารัง
+แขกเมือง
+แข็ง
+แข่ง
+แข้ง
+แข็งกร้าว
+แข็งกล้า
+แข็งแกร่ง
+แข้งไก่
+แข็งข้อ
+แข็งขัน
+แข่งขัน
+แข็งใจ
+แข็งตัว
+แข็งมือ
+แข็งเมือง
+แข็งแรง
+แข้งสิงห์
+แขน
+แข่น
+แข้น
+แขนขวา
+แขนคู้
+แขนง
+แขนซ้ายแขนขวา
+แขนทุกข์
+แขนนาง
+แขนพับ
+แขนะ
+แขม
+แขม็บ
+แขม่ว
+แขย็กๆ
+แขยง
+แขย่ง
+แขยงแขงขน
+แขยงหนู
+แขละ
+แขวก
+แขวง
+แขวน
+แขวนคอ
+แขวนนวม
+แขวนลอย
+แขวะ
+แขสร์
+โข
+โขก
+โขกสับ
+โขง
+โข่ง
+โข่งทะเล
+โขด
+โขดง
+โขน
+โขนง
+โขม
+โขม-
+โขมง
+โขมด
+โขมดยา
+โขยก
+โขยกเขยก
+โขยง
+โขย่ง
+โขยด
+โขยม
+โขลก
+โขลกๆ
+โขลง
+โขลน
+โขลนทวาร
+โขษม
+ไข
+ไข่
+ไข้
+ไขกระดูก
+ไข้กาฬ
+ไข้กาฬนกนางแอ่น
+ไข้กาฬหลังแอ่น
+ไข้กำเดา
+ไข่ไก่
+ไข่ขวัญ
+ไขข้อ
+ไข่ขาง
+ไข่ขาว
+ไข่ข้าว
+ไขควง
+ไข้ความร้อน
+ไข่เค็ม
+ไข่จระเข้
+ไข้จับสั่น
+ไข่จิ้งจก
+ไข่จิ้งหรีด
+ไข่เจียว
+ไข้ใจ
+ไข่ญี่ปุ่น
+ไข่ดัน
+ไข่ดันหมู
+ไข่ดาว
+ไข่แดง
+ไข้แดด
+ไข่ตายโคม
+ไข่ตุ๋น
+ไข่เต่า
+ไข้ทรพิษ
+ไข้ทับระดู
+ไข่นกกระสา
+ไขน้ำ
+ไข่น้ำ
+ไข่น้ำค้าง
+ไข่เน่า
+ไข่ในหิน
+ไข่ปลา
+ไข้ปอดบวม
+ไข้ป่า
+ไขพระวิสูตร
+ไข่พอก
+ไข้พิษ
+ไขมัน
+ไข้มาลาเรีย
+ไข่มุก
+ไขย่น
+ไข่เยี่ยวม้า
+ไขรา
+ไข่ลม
+ไขลาน
+ไข่ลูกเขย
+ไข่ลูกยอด
+ไข้เลือดออก
+ไขว่
+ไขว้
+ไขว้เขว
+ไขว่คว้า
+ไขว้โรง
+ไขว่ห้าง
+ไขษย
+ไข้สันนิบาต
+ไขสันหลัง
+ไขสันหลังอักเสบ
+ไข่สำเภา
+ไขสือ
+ไขเสนียด
+ไข่หงส์
+ไข้หวัด
+ไข้หวัดใหญ่
+ไข่หวาน
+ไข้หัว
+ไข้หัวลม
+ไข่หำ
+ไข่หิน
+ไขหู
+ไข้เหลือง
+ไข่เหา
+ไข่เหี้ย
+ไข่แหน
+ฃ
+ค
+คคน-
+คคนะ
+คคนัมพร
+คคนางค์
+คคนานต์
+คง
+คงกระพัน
+คงกระพันชาตรี
+คงแก่เรียน
+คงขาด
+คงคลัง
+คงคา
+คงคาเดือด
+คงคาลัย
+คงไคย
+คงตัว
+คงทน
+คงที่
+คงเส้นคงวา
+คงเหลือ
+คช-
+คชกรรม
+คชนาม
+คชราช
+คชลักษณ์
+คชศาสตร์
+คชส่าน
+คชสาร
+คชสีห์
+คชาชาติ
+คชาชีพ
+คชาธาร
+คชาภรณ์
+คชินทร์
+คเชนทร์
+คณ-
+คณน
+คณนา
+คณบดี
+คณะ
+คณะรัฐมนตรี
+คณาจารย์
+คณาธิการ
+คณาธิปไตย
+คณิกา
+คณิต
+คณิต-
+คณิตศาสตร์
+คเณศ
+คด
+คดกริช
+คดโกง
+คดเคี้ยว
+คดงอ
+คดซ่าง
+คดในข้องอในกระดูก
+คดสร้าง
+คดี
+คดีดำ
+คดีแดง
+คดีแพ่ง
+คดีมโนสาเร่
+คดีอนาถา
+คดีอาญา
+-คต
+คติ
+คติชาวบ้าน
+คติธรรม
+คตินิยม
+คติพจน์
+คทา
+คน
+ค้น
+คนกลาง
+คนไข้
+คนไข้นอก
+คนไข้ใน
+ค้นคว้า
+คนจร
+คนจริง
+คนใช้
+คนดีผีคุ้ม
+คนต้องขัง
+คนทรง
+คนทา
+คนทิสอ
+คนทิสอทะเล
+คนที
+คนทีเขมา
+คนทีสอ
+คนโท
+คนธ์
+คนธรรพ-
+คนธรรพ์
+คนธรรพวิวาห์
+คนธรรพศาสตร์
+คนนอก
+คนใน
+คนเมือง
+คนรักเท่าผืนหนัง คนชังเท่าผืนเสื่อ
+คนร้าย
+คนไร้ความสามารถ
+คนละ
+คนละไม้คนละมือ
+คนสวน
+คนสาบสูญ
+คนเสมือนไร้ความสามารถ
+ค้นหูก
+คนใหญ่คนโต
+คเนจร
+คบ
+คบคนให้ดูหน้า ซื้อผ้าให้ดูเนื้อ
+คบค้า
+คบคิด
+คบชู้
+คบเพลิง
+คบไฟ
+คบหา
+คม
+คมกริบ
+คมขำ
+คมคาย
+คมน-
+คมน์
+คมนาการ
+คมนาคม
+คมในฝัก
+คมบาง
+คมสัน
+คมิกภัต
+ครก
+ครกกะเบือ
+คร่ง
+ครบ
+ครบครัน
+ครบถ้วน
+ครบมือ
+ครรชิต
+ครรภ
+ครรภ-
+ครรภ์
+ครรภธาตุ
+ครรภธาตุมณฑล
+ครรภมณฑล
+ครรภมล
+ครรโภทร
+ครรลอง
+ครรโลง
+ครรไล
+ครรหิต
+ครวญ
+ครวญคราง
+ครวญหา
+ครวัก
+ครวี
+ครหา
+ครอก
+ครอง
+ครองแครง
+ครองราชสมบัติ
+คร่อเงาะ
+คร่อเทียน
+ครอบ
+ครอบครอง
+ครอบครองปรปักษ์
+ครอบครัว
+ครอบงำ
+ครอบจักรวาล
+ครอบตลับ
+คร่อม
+คระ
+คระเมิม
+คระแลง
+คระไล
+คระแวง
+คระหน
+คระหวน
+คระหาย
+คระหิว
+คระโหย
+ครั่ง
+ครั้ง
+ครัดเคร่ง
+ครัน
+ครั่น
+ครั้น
+ครั่นคร้าม
+ครั่นตัว
+ครั่นเนื้อครั่นตัว
+ครับ
+ครัว
+ครัวทาน
+ครัวไฟ
+ครัวเรือน
+ครา
+คร่า
+คราก
+คราง
+คราญ
+คราด
+คร้าน
+คราบ
+คราบหมู
+คราม
+คร้าม
+ครามครัน
+คราว
+คร่าว
+คร่าวๆ
+คราส
+ครำ
+คร่ำ
+คร่ำครวญ
+คร่ำคร่า
+คร่ำครึ
+คร่ำเคร่ง
+คร่ำเครอะ
+คร่ำเงิน
+คร่ำทอง
+คร่ำหวอด
+คริปทอน
+คริสต์
+คริสต์มาส
+คริสต์ศักราช
+คริสตัง
+คริสเตียน
+ครี้
+ครีครอ
+ครีบ
+ครีบสิงห์
+ครีม
+ครีษมายัน
+ครึ
+ครึกครื้น
+ครึกโครม
+ครึ่ง
+ครึ่งๆ กลางๆ
+ครึ่งชาติ
+ครึ่งต่อครึ่ง
+ครึน
+ครึม
+ครึ้ม
+ครึมครุ
+ครืด
+ครืน
+ครื้น
+ครืนครั่น
+ครื้นครั่น
+ครื้นครึก
+ครื้นเครง
+ครือ
+ครุ
+ครุก-
+ครุคระ
+ครุฑ
+ครุฑกระทง
+ครุฑพ่าห์
+ครุ่น
+ครุ่นคิด
+ครุภัณฑ์
+ครุมเครือ
+ครุย
+ครุวนา
+ครุวาร
+ครุศาสตร์
+ครู
+ครู่
+ครูด
+คฤโฆษ
+คฤนถ์
+คฤห
+คฤห-
+คฤหบดี
+คฤหปัตนี
+คฤหัสถ์
+คฤหา
+คฤหาสน์
+คล
+คลวง
+คลอ
+คล้อ
+คลอก
+คลอเคลีย
+คลอแคล
+คล้อแคล้
+คลอง
+คล่อง
+คล้อง
+คล่องแคล่ว
+คล้องจอง
+คล่องตัว
+คลองเลื่อย
+คลองส่งน้ำ
+คลอด
+คลอน
+คลอนแคลน
+คล้อย
+คล้อยคล้อย
+คลอรีน
+คลอโรฟอร์ม
+คลอโรฟีลล์
+คละ
+คละคล่ำ
+คละคลุ้ง
+คละปน
+คลัก
+คลั่ก
+คลั่กๆ
+คลัง
+คลั่ง
+คลังพิมานอากาศ
+คลังเลือด
+คลังสินค้า
+คลังสินค้าทัณฑ์บน
+คลัตช์
+คลับคล้าย
+คลับคล้ายคลับคลา
+คลา
+คล้า
+คลาคล่ำ
+คลาไคล
+คลางแคลง
+คลาด
+คลาดเคลื่อน
+คลาดแคล้ว
+คลาน
+คลาย
+คล้าย
+คลายคล้าย
+คล้ายคล้าย
+คล้ายคลึง
+คลายเคล่ง
+คล่าว
+คลาศ
+คลำ
+คล่ำ
+คล้ำ
+คลิง
+คลิ้งโคลง
+คลิด
+คลินิก
+คลี
+คลี่
+คลี่คลาย
+คลึง
+คลึงเคล้น
+คลึงเคล้า
+คลื่น
+คลื่นกระทบฝั่ง
+คลื่นใต้น้ำ
+คลื่นปานกลาง
+คลื่นแม่เหล็กไฟฟ้า
+คลื่นยาว
+คลื่นวิทยุ
+คลื่นสั้น
+คลื่นไส้
+คลื่นเหียน
+คลุก
+คลุกคลาน
+คลุกคลี
+คลุกคลีตีโมง
+คลุ้ง
+คลุบ
+คลุม
+คลุ่ม
+คลุ้ม
+คลุ้มคลั่ง
+คลุมเครือ
+คลุมถุงชน
+คลุมประทม
+คลุมโปง
+คลุมผทม
+ควง
+ควงแขน
+ควงสว่าน
+ควณ
+ควน
+ควบ
+ควบคุม
+ควบแน่น
+ควย
+ควร
+ควัก
+ควักค้อน
+ควักลงหลุม
+ควั่งคว้าง
+ควัน
+ควั่น
+ควั่นจุก
+ควันหลง
+คว้า
+ควาก
+คว้าไขว่
+คว้าง
+คว้างๆ
+คว้างเคว้ง
+ควาญ
+ควาน
+คว้าน
+คว้านท้อง
+คว้าน้ำเหลว
+ความ
+ความคลาด
+ความเค้น
+ความเครียด
+ความเฉื่อย
+ความชอบ
+ความชื้น
+ความชื้นสัมบูรณ์
+ความชื้นสัมพัทธ์
+ความถ่วง
+ความถ่วงจำเพาะ
+ความถี่
+ความถี่วิทยุ
+ความโน้มถ่วง
+ความยาวคลื่น
+ความรู้ท่วมหัวเอาตัวไม่รอด
+ความรู้สึกเขื่อง
+ความรู้สึกด้อย
+ความรู้สึกเด่น
+ความเร่ง
+ความเร็ว
+ความหน่วง
+ความหลัง
+ควาย
+ควายปละ
+ควายพระอินทร์
+คว่าว
+คว่ำ
+คว่ำบาตร
+คว่ำหลัง
+ควินิน
+ควิวๆ
+ควิวควัง
+ควิวคว่าง
+ควิวคว้าง
+ควีนสิริกิติ์
+คห-
+คหกรรมศาสตร์
+คหบดี
+คหปตานี
+คหัฐ
+คอ
+ค้อ
+คอก
+ค็อกคัส
+คอกช้าง
+ค็อกเทล
+คอกระเช้า
+คอกลม
+คอกะลาสี
+คอขาดบาดตาย
+คอแข็ง
+คอคอด
+คอเคซอยด์
+ค่องอ้อย
+คอเชิ้ต
+คอซอง
+คอด
+คอแดง
+คอตก
+คอต่อ
+คอตั้ง
+คอตั้งบ่า
+คอตีบ
+คอถ่วง
+คอทองแดง
+คอน
+ค่อน
+ค้อน
+คอนกรีต
+คอนกรีตเสริมเหล็ก
+คอนกรีตอัดแรง
+ค้อนกลอง
+ค่อนขอด
+ค่อนข้าง
+ค้อนควัก
+ค่อนแคะ
+คอนเดนเซอร์
+ค้อนติง
+ค้อนตีหมา
+ค้อนทอง
+คอนแวนต์
+คอนเสิร์ต
+ค้อนหอย
+คอนาค
+คอบ
+คอบัว
+คอแบะ
+คอปาด
+คอเป็นเอ็น
+คอพอก
+คอพับ
+คอไฟ
+คอม
+ค่อม
+ค้อม
+คอมพิวเตอร์
+คอมมานโด
+คอมมิวนิสต์
+คอม้า
+คอย
+ค่อย
+ค่อยๆ
+ค้อย
+ค่อยดีขึ้น
+คอยท่า
+ค่อยเป็นค่อยไป
+ค่อยยังชั่ว
+คอยล์
+คอยเหตุ
+คอร์ด
+คอรวง
+คอระฆัง
+คอแร้ง
+คอแลน
+คอวี
+คอสติกโซดา
+คอสอง
+คอสะพาน
+คอสูง
+คอเสื้อ
+คอหอย
+คอหอยกับลูกกระเดือก
+คอหอยตีบ
+คอหอยพอก
+คอห่าน
+คอแห้ง
+คอแหลม
+คออ่อน
+คอฮาวาย
+คะ
+ค่ะ
+คะไขว่
+คะค้อย
+คะคาน
+คะคึง
+คะนน
+คะนอง
+คะน้า
+คะนึง
+คะเน
+คะเนงร้าย
+คะเน็ด
+คะแนน
+คะแนนนิยม
+คะแนนเสียง
+คะใน
+คะมำ
+คะมึก
+คะยั้นคะยอ
+คะเยอ
+คัก
+คั่ก
+คัคน-
+คัคนะ
+คัคนัมพร
+คัคนางค์
+คัคนานต์
+คั่ง
+คั่งค้าง
+คั่งแค้น
+คังไคย
+คัจฉ
+คัณฑมาลา
+คัณฑสูตร
+คัด
+คัดค้าน
+คัดเค้า
+คัดง้าง
+คัดฉาก
+คัดช้อน
+คัดชุน
+คัดท้าย
+คัดมอน
+คัดเม็ง
+คัดเลือก
+คัดเลือด
+คัทลียา
+คัน
+คั่น
+คั้น
+คันขา
+คันจาม
+คันฉ่อง
+คันฉัตร
+คันฉาย
+คันชัก
+คันชั่ง
+คันชีพ
+คันดาลฉัตร
+คันโดง
+คันถ-
+คันถธุระ
+คันถรจนาจารย์
+คันทรง
+คันธ
+คันธ-
+คันธ์
+คันธกุฎี
+คันธมาทน์
+คันธารราษฎร์
+คันนา
+คันบวย
+คันโพง
+คันเร่ง
+คันหามเสือ
+คับ
+คับขัน
+คับค้อน
+คับคั่ง
+คับคา
+คับแค
+คับแค้น
+คับแคบ
+คับใจ
+คับอกคับใจ
+คัพภ-
+คัพภ์
+คัพภสาลี
+คัพโภทร
+คัมภีร-
+คัมภีร์
+คัมภีรภาพ
+คัล
+คัว
+คั่ว
+คา
+ค่า
+ค้า
+คากรอง
+ค้าขาย
+ค่าขึ้นศาล
+ค่าคบ
+ค่าครองชีพ
+ค้าความ
+ค้าค้า
+คาง
+ค่าง
+ค้าง
+คางคก
+คางคกขึ้นวอ
+คางคกไฟ
+ค้างคาว
+ค้างคืน
+ค้างเดือนค้างปี
+ค้างเติ่ง
+คางทูม
+คางโทน
+คางเบือน
+ค้างปี
+คางหมู
+คางเหลือง
+คาด
+คาดคั้น
+คาดค่า
+คาดไม่ถึง
+คาดหน้า
+คาดหมัด
+ค่าตัว
+คาถา
+คาถาพัน
+คาถาอาคม
+คาทอลิก
+ค่าที่
+คาธ
+ค่าธรรมเนียม
+ค่าธรรมเนียมศาล
+คาน
+ค้าน
+คานคอดิน
+คานหาม
+คาน้า
+ค่าน้ำ
+คาบ
+คาบเกี่ยว
+คาบชุด
+คาบลูกคาบดอก
+คาบศิลา
+คาบสมุทร
+คาบเส้น
+ค้าประเวณี
+ค่าป่วยการ
+ค่าปากเรือ
+ค่าเผา
+คาพยุต
+ค่าภาคหลวง
+คาม
+คาม-
+คามณี
+คามณีย์
+คามภีร์
+คามโภชก
+คามวาสี
+คามี
+คาย
+ค่าย
+คายก
+คายก-
+คายกคณะ
+ค่ายกักกัน
+ค่ายเยาวชน
+ค่ายอาสาพัฒนา
+คายัน
+คาร์บอน
+คาร์บอนไดออกไซด์
+คาร์บอนมอนอกไซด์
+คาร์บอเนต
+คาร์บอลิก
+คาร์บูเรเตอร์
+คาร์โบรันดัม
+คาร์โบไฮเดรต
+คารพ
+คารม
+คารวะ
+คาราคาก่า
+คาราคาซัง
+คาราเต้
+คาราวาน
+ค่าฤชาธรรมเนียม
+คาว
+ค่าว
+ค้าว
+คาวตอง
+คาวปลา
+คาวี
+คาวุต
+คาส
+ค่าสัมบูรณ์
+ค่าสินไหมทดแทน
+ค่าเสมอภาค
+ค่าเสียหาย
+ค่าหด
+คาหนังคาเขา
+ค่าหน้าดิน
+ค่าหัว
+คำ
+ค่ำ
+ค้ำ
+คำขวัญ
+คำขอ
+คำขาด
+คำคม
+ค้ำคอ
+ค่ำคืน
+คำคู่ความ
+ค้ำเงิน
+ค้ำจุน
+ค้ำชู
+คำดีควาย
+คำโดด
+คำตั้ง
+คำตาย
+คำติดต่อ
+คำเติม
+คำใต้
+คำแถลง
+คำแถลงการณ์
+คำทาย
+คำเทียบ
+คำนวณ
+คำนวร
+คำนับ
+คำนัล
+คำนำ
+คำนึง
+คำนูณ
+คำบังคับ
+คำโบล
+ค้ำประกัน
+คำประสม
+คำปรารภ
+คำเป็น
+คำฝอย
+คำพิพากษา
+คำเพลิง
+คำฟ้อง
+คำฟ้องแย้ง
+ค้ำฟ้า
+คำมั่น
+คำมั่นว่าจะให้รางวัล
+คำมากพยางค์
+คำมูล
+คำเมือง
+คำรน
+คำรบ
+คำร้อง
+คำร้องขอ
+คำร้องทุกข์
+คำราม
+คำสุภาพ
+คำแสด
+คำหลวง
+ค้ำหัว
+คำแหง
+คำโอง
+คิกๆ
+คิง
+คิด
+คิดการใหญ่
+คิดคด
+คิดค้น
+คิดตก
+คิดถึง
+คิดมาก
+คิดเล็กคิดน้อย
+คิดสมบัติบ้า
+คิดสั้น
+คิดหน้าคิดหลัง
+คิดเห็น
+คิดอ่าน
+คิมห
+คิมหันต์
+คิมหานะ
+คิริ
+คิรี
+คิลาน-
+คิลานปัจจัย
+คิลานเภสัช
+คิลานะ
+คิว
+คิ้ว
+คิ้วนาง
+คี่
+คีต
+คีตกะ
+คีบ
+คีม
+คีรี
+คีรีบูน
+คึก
+คึ่ก
+คึ่กๆ
+คึกคัก
+คึกคาม
+คืน
+คืนคำ
+คืนชีพ
+คืนดี
+คืนตัว
+คืนยังรุ่ง
+คืนให้
+คืบ
+คืบก็ทะเล ศอกก็ทะเล
+คือ
+คุ
+คุก
+คุกกี้
+คุกเข่า
+คุกคลาน
+คุกคาม
+คุกพาทย์
+คุคะ
+คุง
+คุ้ง
+คุณ
+คุณ-
+คุณชาย
+คุณธรรม
+คุณนาม
+คุณนาย
+คุณบท
+คุณพิเศษ
+คุณภาพ
+คุณลักษณะ
+คุณลุงคุณป้า
+คุณวิเศษ
+คุณวุฒิ
+คุณศัพท์
+คุณสมบัติ
+คุณหญิง
+คุณากร
+คุณูปการ
+คุโณปการ
+คุด
+คุดคู้
+คุดทะราด
+คุดทะราดเหยียบกรวด
+คุต
+คุตติ
+คุ่น
+คุ้น
+คุ้นเคย
+คุป
+คุปต์
+คุปติ
+คุม
+คุ่ม
+คุ้ม
+คุ้มกัน
+คุมกำเนิด
+คุ้มเกรง
+คุ้มครอง
+คุมแค้น
+คุมเชิง
+คุ้มดีคุ้มร้าย
+คุ้มเท้า
+คุ้มโทษ
+คุมธาตุ
+คุมนุม
+คุมฝอย
+คุ้มห้าม
+คุย
+คุ้ย
+คุ้ยเขี่ย
+คุยช้าง
+คุยห-
+คุยหฐาน
+คุยหประเทศ
+คุยหรหัสย์
+คุรุ
+คุรุกรรม
+คุรุวาร
+คุรุศึกษา
+คุลา
+คุลาซ่อนลูก
+คุลิก่า
+คุลีการ
+คุหา
+คู
+คู่
+คู้
+คู่กรณี
+คู่ขา
+คู่แข่ง
+คู่ครอง
+คู่ควร
+คู่ความ
+คู่ความร่วม
+คู่คิด
+คู่คี่
+คู่เคียง
+คู่โค
+คู่ใจ
+คู่ฉบับ
+คู่ฉีก
+คู่ชัก
+คู่ชีพ
+คู่ชีวิต
+คูณ
+คูณร่วมน้อย
+คูถ
+คู่ทุกข์คู่ยาก
+คูน
+คู้บัลลังก์
+คู่บ้านคู่เมือง
+คู่บารมี
+คู่บุญ
+คู่ปรปักษ์
+คู่ปรับ
+คูปอง
+คู่ผสม
+คู่ผัวตัวเมีย
+คู่พระคู่นาง
+คู่พิพาท
+คู่ม้า
+คู่มิตร
+คู่มือ
+คู่ยาก
+คู่รัก
+คูเรียงคูราย
+คู่เรียงเคียงหมอน
+คูเรียม
+คู่ลำดับ
+คู่ศัตรู
+คู่สร้าง
+คู่สวด
+คู่สัญญา
+คู่สายโทรศัพท์
+คู่หมั้น
+คูหา
+คู่หู
+คู่แห่
+คู่อริ
+คู่อาฆาต
+คู่อาศัย
+เค้ก
+เค้เก้
+เค้ง
+เคจฉ
+เคณฑะ
+เคด
+เคน
+เค้น
+เคเบิล
+เค็ม
+เคมี
+เคมีภัณฑ์
+เคมีอนินทรีย์
+เคมีอินทรีย์
+เคย
+เคยตัว
+เคยปาก
+เคยมือ
+เครง
+เคร่ง
+เคร่งขรึม
+เคร่งครัด
+เครงครา
+เครงครำ
+เครงคร่ำ
+เครงครื้น
+เคร่งเครียด
+เครงเครียว
+เครดิต
+เครดิตฟองซิเอร์
+เครน
+เครา
+เคร่า
+เคราแพะ
+เคราหณี
+เคราะห์
+เคราะห์หามยามร้าย
+เครียด
+เครียว
+เครือ
+เครือเขา
+เครือเขาน้ำ
+เครือเขามวก
+เครื่อง
+เครื่องกล
+เครื่องกัณฑ์
+เครื่องกิน
+เครื่องแกง
+เครื่องเขิน
+เครื่องครัว
+เครื่องควบแน่น
+เครื่องคู่
+เครื่องเครา
+เครื่องเงิน
+เครื่องจักร
+เครื่องช่วงล่าง
+เครื่องเซ่น
+เครื่องดนตรี
+เครื่องต้น
+เครื่องตั้ง
+เครื่องทอง
+เครื่องทองทิศ
+เครื่องทองน้อย
+เครื่องเทศ
+เครื่องใน
+เครื่องบน
+เครื่องบันทึกเสียง
+เครื่องบิน
+เครื่องบูชา
+เครื่องแบบ
+เครื่องประดับ
+เครื่องปรุง
+เครื่องปั้นดินเผา
+เครื่องผูก
+เครื่องมั่น
+เครื่องมือ
+เครื่องยนต์
+เครื่องยนต์ไอพ่น
+เครื่องร่อน
+เครื่องราง
+เครื่องราชอิสริยาภรณ์
+เครื่องร่ำ
+เครื่องเรือน
+เครื่องล่าง
+เครื่องเล่น
+เครื่องว่าง
+เครื่องสด
+เครื่องสะดุ้ง
+เครื่องสับ
+เครื่องสาย
+เครื่องสำอาง
+เครื่องสุกำศพ
+เครื่องสูง
+เครื่องหมาย
+เครื่องหมายการค้า
+เครื่องหยวก
+เครื่องหลัง
+เครื่องห้า
+เครื่องเหล็ก
+เครื่องใหญ่
+เครื่องอังทราย
+เครื่องอังน้ำ
+เครือจักรภพ
+เครือดิน
+เครือแย่ง
+เครือรัฐ
+เครือวัลย์พันไม้
+เคล้ง
+เคล็ด
+เคล้น
+เคล้า
+เคล่าคล่อง
+เคล้าคลึง
+เคล้าเคลีย
+เคลิบเคลิ้ม
+เคลิ้ม
+เคลีย
+เคลียคลอ
+เคลี้ยคลิง
+เคลียเคล้า
+เคลื่อน
+เคลื่อนคลาด
+เคลื่อนที่
+เคลื่อนไหว
+เคลือบ
+เคลือบคลุม
+เคลือบแคลง
+เคลือบแฝง
+เคลือบฟัน
+เคว้ง
+เคว้งคว้าง
+เคห-
+เคหศาสตร์
+เคหเศรษฐศาสตร์
+เคหสถาน
+เคหะ
+เคหา
+เคอย
+เคอะ
+เคา
+เค้า
+เค้าโครง
+เค้าเงื่อน
+เคาน์เตอร์
+เค้ามูล
+เคารพ
+เค้าสนามหลวง
+เคาะ
+เคาะแคะ
+เคี้ย
+เคียง
+เคียงบ่าเคียงไหล่
+เคียด
+เคียดแค้น
+เคียน
+เคียม
+เคี่ยม
+เคี่ยมคะนอง
+เคียร
+เคียว
+เคี่ยว
+เคี้ยว
+เคี่ยวขัน
+เคี่ยวขับ
+เคี่ยวเข็ญ
+เคี้ยวฟัน
+เคี้ยวเอื้อง
+เคื้อ
+เคือง
+แค
+แค่
+แค้
+แคแกล
+แคดเมียม
+แค็ตตาล็อก
+แคแตร
+แคโทด
+แคน
+แค่น
+แค้น
+แค้นคอ
+แค่นแคะ
+แค่นไค้
+แคบ
+แคบหมู
+แคปซูล
+แคฝรั่ง
+แคฝอย
+แคม
+แคร่
+แครก
+แครครั่ง
+แครง
+แครงเครียว
+แคระ
+แคลคูลัส
+แคลง
+แคลงใจ
+แคลเซียม
+แคลเซียมคาร์ไบด์
+แคลเซียมไซคลาเมต
+แคลน
+แคล้ว
+แคล่วคล่อง
+แคล้วคลาด
+แคลอรี
+แคลิฟอร์เนียม
+แคแล
+แคว
+แควก
+แคว้ง
+แคว้น
+แคแสด
+แคะ
+แคะไค้
+โค
+โคก
+โคกกระสุน
+โคกกระออม
+โคกม้า
+โคแก่ชอบกินหญ้าอ่อน
+โคคลาน
+โคเคน
+โค่ง
+โค้ง
+โคจร
+โคจร-
+โคจรคาม
+โคเซแคนต์
+โคไซน์
+โคตร
+โคตร-
+โคตรภู
+โคตรภูญาณ
+โคเถลิง
+โคแทนเจนต์
+โคธา
+โคน
+โค่น
+โคนดินสอ
+โคนตายปลายเป็น
+โคนม
+โคนสมอ
+โคบอลต์
+โคบาล
+โคบุตร
+โคปผกะ
+โคเพลาะ
+โคไพร
+โคม
+โคมดอกไม้
+โคมตาวัว
+โคมลอย
+โคมเวียน
+โคมัย
+โคม่า
+โคมูตร
+โครก
+โครกครอก
+โครกคราก
+โครง
+โคร่ง
+โครงการ
+โคร่งคร่าง
+โครงแคร
+โครงจมูก
+โครงเรื่อง
+โครงสร้าง
+โครม
+โครมคราม
+โครเมียม
+โครโมโซม
+โครส
+โคราช
+โครำ
+โคโรค
+โคล
+โคลง
+โคลงเคลง
+โคลน
+โควตา
+โควิถี
+โคศัพท์
+โคออร์ดิเนต
+ใคร
+ใคร่
+ใคร่ครวญ
+ไค
+ไค้
+ไคร้
+ไคร้เครือ
+ไคล
+ไคล้
+ฅ
+ฆ
+ฆน
+ฆราวาส
+ฆ้อง
+ฆ้องกระแต
+ฆ้องชัย
+ฆ้องปากแตก
+ฆ้องวง
+ฆ้องสามย่าน
+ฆ้องหุ่ย
+ฆ้องเหม่ง
+ฆ้องโหม่ง
+ฆ่า
+ฆ่าควายอย่าเสียดายพริก
+ฆาฏ
+ฆาต
+ฆาต-
+ฆาตกร
+ฆาตกรรม
+ฆาน
+ฆาน-
+ฆานประสาท
+ฆ่าไม่ตายขายไม่ขาด
+เฆี่ยน
+โฆรวิส
+โฆษก
+โฆษณา
+โฆษณาการ
+โฆษณาชวนเชื่อ
+โฆษะ
+โฆษิต
+ง
+งก
+งกเงิ่น
+งกๆ เงิ่นๆ
+งง
+งงงวย
+งงงัน
+งงิด
+งด
+งดงาม
+งบ
+งบดุล
+งบประมาณ
+งม
+งมเข็มในมหาสมุทร
+งมโข่ง
+งมงาย
+งวง
+ง่วง
+ง่วงงุน
+งวงช้าง
+ง่วงเหงา
+ง่วงเหงาหาวนอน
+งวด
+ง่วน
+ง้วน
+งวยงง
+งอ
+ง้อ
+งอก
+งอกงาม
+งอกเงย
+งอกแงก
+งอก่องอขิง
+ง่อง
+ง่องแง่ง
+ง้องอน
+งอแง
+งอด
+งอดแงด
+งอน
+ง่อน
+งอนง้อ
+ง่อนแง่น
+งอนไถ
+งอนหง่อ
+ง้อนหมู
+งอบ
+งอม
+ง้อม
+งอมแงม
+งอมพระราม
+งอมืองอตีน
+งอย
+ง่อย
+ง่อยเปลี้ยเสียขา
+งอหาย
+งะ
+งักๆ
+งั่กๆ
+งังๆ
+งั่ง
+งัด
+งัดข้อ
+งัน
+งันงก
+งับ
+งับแง
+งัว
+งั่ว
+งัวเงีย
+งัวซัง
+งัวเลีย
+งา
+ง่า
+งากำจาย
+งาเครือ
+ง้าง
+ง่าเงย
+งาช้าง
+งาแซง
+งาไซ
+งาตัด
+งาน
+ง่าน
+งานการ
+งานหลวงไม่ให้ขาด งานราษฎร์ไม่ให้เสีย
+งาบๆ
+งาม
+ง่าม
+งามงอน
+งามแงะ
+ง่ามถ่อ
+งามหน้า
+งาย
+ง่าย
+ง่ายๆ
+ง่ายดาย
+ง่าย้อย
+งาลั่ว
+ง้าว
+งาสาน
+งำ
+ง่ำ
+ง่ำๆ
+ง้ำ
+งิ้ว
+งีบ
+งึกๆ
+งึน
+งึม
+งึมงำ
+งุด
+งุดๆ
+งุนงง
+งุ่นง่าน
+งุบ
+งุบๆ
+งุบงิบ
+งุ้ม
+งุ่มง่าม
+งุย
+งู
+งูกลืนหาง
+งูกินหาง
+งูบ
+งูๆ ปลาๆ
+งูผู้
+งูเมีย
+งูสวัด
+งู่หนี
+งูเหลือม
+งูเห่า
+เง้
+เงก
+เง็น
+เงย
+เงยหน้าอ้าปาก
+เงอะ
+เงอะงะ
+เงา
+เงาๆ
+เง่า
+เง้า
+เง้างอด
+เง้าๆ งอดๆ
+เงาตามตัว
+เงามัว
+เงามืด
+เงาะ
+เงาะป่า
+เงิน
+เงินก้นถุง
+เงินก้อน
+เงินกู้
+เงินเชื่อ
+เงินดาวน์
+เงินเดือน
+เงินแดง
+เงินได้กำบัง
+เงินต้น
+เงินตรา
+เงินตาย
+เงินทองตรา
+เงินทอน
+เงินนอน
+เงินน้ำห้าน้ำหก
+เงินปลีก
+เงินปันผล
+เงินปากถุง
+เงินปากผี
+เงินปี
+เงินแป
+เงินผ่อน
+เงินฝืด
+เงินเฟ้อ
+เงินมุ่น
+เงินยวง
+เงินเยอรมัน
+เงินร้อน
+เงินรายปี
+เงินสด
+เงินสเตอร์ลิง
+เงินหลวง
+เงินแห้ง
+เงี่ยง
+เงี่ยน
+เงียบ
+เงียบกริบ
+เงียบเชียบ
+เงียบเป็นเป่าสาก
+เงียบเหงา
+เงี้ยว
+เงี้ยวระเริง
+เงี้ยวรำลึก
+เงี่ยหู
+เงื้อ
+เงือก
+เงื่อง
+เงื่องๆ
+เงื่องหงอย
+เงื้อง่าราคาแพง
+เงือด
+เงือดงด
+เงือดเงื้อ
+เงือน
+เงื่อน
+เงื่อนไข
+เงื่อนไขบังคับก่อน
+เงื่อนไขบังคับหลัง
+เงื่อนงำ
+เงื่อนเวลา
+เงื่อนเวลาเริ่มต้น
+เงื่อนเวลาสิ้นสุด
+เงือบ
+เงื้อม
+เงื้อมมือ
+แง
+แงๆ
+แง่
+แง่ง
+แง่งๆ
+แง่งขิง
+แง่งอน
+แง่น
+แง่นๆ
+แง้ม
+แงะ
+โง
+โง่
+โงก
+โงกเงก
+โง่แกมหยิ่ง
+โงง
+โง่งๆ
+โง้ง
+โงงเงง
+โง่งเง่ง
+โงเง
+โง่เง่า
+โง่เง่าเต่าตุ่น
+โงน
+โงนเงน
+โง่แล้วอยากนอนเตียง
+ไง้
+จ
+จก
+จง
+จ่ง
+จ๋ง
+จงกรม
+จงกรมแก้ว
+จงกล
+จงกลนี
+จงเกลียดจงชัง
+จงโคร่ง
+จงใจ
+จงดี
+จงรัก
+จงรักภักดี
+จงอร
+จงอาง
+จแจ้น
+จญ
+จด
+จดจ่อ
+จดจ้อง
+จดๆ จ้องๆ
+จดจำ
+จดทะเบียน
+จดหมัด
+จดหมาย
+จดหมายเวียน
+จดหมายเหตุ
+จดุร
+จดุรงค์
+จดูร-
+จตุ-
+จตุกาลธาตุ
+จตุตถ-
+จตุตถี
+จตุทิพยคันธา
+จตุบท
+จตุบริษัท
+จตุปัจจัย
+จตุปาริสุทธิศีล
+จตุร-
+จตุรคูณ
+จตุรงค์
+จตุรงคนายก
+จตุรงคประดับ
+จตุรงคยมก
+จตุรถ-
+จตุรพักตร์
+จตุรพิธ
+จตุรพิธพร
+จตุรภุช
+จตุรภูมิ
+จตุรยุค
+จตุราริยสัจ
+จตุลังคบาท
+จตุโลกบาล
+จตุสดมภ์
+จทึง
+จน
+จ้น
+จนกระทั่ง
+จนกว่า
+จนชั้น
+จนด้วยเกล้า
+จนถึง
+จนแล้วจนรอด
+จบ
+จบเห่
+จม
+จ่ม
+จมเบ้า
+จมปลัก
+จมไม่ลง
+จมร
+จมรี
+จมูก
+จมูกปลาหลด
+จมูกปลาไหล
+จมูกมด
+จมูกวัว
+จมูกหลอด
+จยุติ
+จร
+จร-
+จรก
+จรกลู่
+จรแกว่ง
+จรคั่ง
+จรจรัล
+จรจัด
+จรณะ
+จรด
+จรดพระกรรไตรกรรบิด
+จรดพระนังคัล
+จรดล
+จรบน
+จรบัน
+จรบาท
+จรมัน
+จรมูก
+จรรจา
+จรรโจษ
+จรรม
+จรรม-
+จรรมการ
+จรรมขัณฑ์
+จรรยา
+จรรยาบรรณ
+จรรโลง
+จรลวง
+จรล่วง
+จรลาด
+จรลาย
+จรล่ำ
+จรลิ่ว
+จรลี
+จรลู่
+จรวจ
+จรวจไจร
+จรวด
+จรวดจรี
+จรวดนำวิถี
+จรวัก
+จรส
+จรอก
+จระกล้าย
+จระขาบ
+จระเข้
+จระเข้ปากกระทุงเหว
+จระเข้หางยาว
+จระคลับ
+จระคล้าย
+จระคลุ่ม
+จระแคง
+จระจุ่ม
+จระทก
+จระเทิน
+จระนำ
+จระบาน
+จระบี
+จระลิ่ง
+จระลึง
+จระลุง
+จรัล
+จรัส
+จราก
+จราง
+จราจร
+จราญ
+จราย
+จราว
+จราส
+จริก
+จริง
+จริงๆ
+จริงจัง
+จริงใจ
+จริงอยู่
+จริต
+จริม-
+จริย-
+จริยธรรม
+จริยวัตร
+จริยศาสตร์
+จริยศึกษา
+จริยา
+จริยาปิฎก
+จริยาวัตร
+จริว
+จรี
+จรึง
+จรุก
+จรุง
+จรูง
+จรูญ
+จรูส
+จเร
+จล
+จลนพลศาสตร์
+จลนศาสตร์
+จลนี
+จลา
+จลาจล
+จวก
+จ๊วก
+จวง
+จ้วง
+จ๋วง
+จ๋วงเครือ
+จวงจันทน์
+จ้วงจาบ
+จวงหอม
+จวด
+จวดลาก
+จวน
+จวนเจียน
+จวนแจ
+จวนตัว
+จวบ
+จวบจวน
+จวัก
+จอ
+จ่อ
+จ้อ
+จ๋อ
+จอก
+จ้อก
+จ้อกๆ
+จ๊อก
+จ๊อกๆ
+จ้อกแจ้ก
+จ้อกวอก
+จอกหูหนู
+จอง
+จ่อง
+จ้อง
+จ๋อง
+จองคช
+จองจำ
+จ้องเต
+จองถนน
+จองเปรียง
+จองเวรจองกรรม
+จองหง่อง
+จ้องหน่อง
+จองหอง
+จองหองพองขน
+จอแจ
+จ๋อแจ๋
+จอด
+จอน
+จ้อน
+จอนจ่อ
+จอนหู
+จอบ
+จอม
+จ่อม
+จอมขวัญ
+จ่อมจ่าย
+จอมใจ
+จอมไตร
+จอมทอง
+จอมทัพ
+จอมปลวก
+จอมปลอม
+จ้อมป้อม
+จอมเปาะ
+จอมพล
+จอมมารดา
+จอมสุรางค์
+จ่อย
+จ้อย
+จ๋อย
+จ๋อยๆ
+จอแส
+จะ
+จ้ะ
+จ๊ะ
+จ๋ะ
+จะกรัจจะกราจ
+จะกรุน
+จะกรุมจะกราม
+จะกรูน
+จะกละ
+จะกลาม
+จะกวด
+จะกูด
+จะเกร็ง
+จะขาบ
+จะเข้
+จะเข็บ
+จะงอย
+จะจะ
+จะจ้า
+จะแจ้ง
+จะแจ่ม
+จะไจ้
+จะบัน
+จะปิ้ง
+จะปิ้งเรือ
+จะเพลิง
+จะละเม็ด
+จะละหวั่น
+จะลุง
+จ๊ะเอ๋
+จัก
+จั้กๆ
+จักกาย
+จั๊กกิ้ม
+จักขุ
+จักขุทวาร
+จักขุประสาท
+จักขุวิญญาณ
+จักขุสัมผัส
+จักจั่น
+จักจี้
+จั๊กจี้
+จั๊กเดียม
+จักร
+จักร-
+จักรปาณิ
+จักรปาณี
+จักรพรรดิ
+จักรพาก
+จักรพาล
+จักรภพ
+จักรยาน
+จักรยานยนต์
+จักรราศี
+จักรวรรดิ
+จักรวรรดินิยม
+จักรวาก
+จักรวาต
+จักรวาล
+จักริน
+จักรี
+จั๊กเล้อ
+จักษุ
+จักสาน
+จักแหล่น
+จัง
+จั้ง
+จั๋ง๑
+จังกวด
+จังกอบ
+จังกา
+จังก้า
+จังกูด
+จังเก
+จังโกฏก์
+จังงัง
+จังมัง
+จั้งมั่ง
+จังไร
+จังลอน
+จังเว็จ
+จังหนับ
+จังหน้า
+จังหรีด
+จังหล่อ
+จังหวะ
+จังหวัด
+จังหัน
+จังออน
+จัญไร
+จัณฑ-
+จัณฑ์
+จัณฑวาตา
+จัณฑาล
+จัด
+จัดการ
+จัดจอง
+จัดจ้า
+จัดจ้าน
+จัดเจน
+จัดแจง
+จัดตั้ง
+จัดประกัน
+จัดมั่น
+จัดสรร
+จัดหา
+จัตตาฬีส
+จัตวา
+จัตวาทัณฑี
+จัตวาศก
+จัตุ
+จัตุร-
+จัตุรงค์
+จัตุรพักตร์
+จัตุรภุช
+จัตุรมุข
+จัตุรัส
+จัตุโลกบาล
+จัตุสดมภ์
+จัน
+จั่น
+จันโจษ
+จั่นดิน
+จันท์
+จันทน์
+จันทน์กะพ้อ
+จันทน์ขาว
+จันทน์ชะมด
+จันทน์แดง
+จันทน์เทศ
+จันทน์ผา
+จันทน์หอม
+จันทนา
+จันทร-
+จันทร์
+จันทรกลา
+จันทรกานต์
+จันทรคติ
+จันทรคราส
+จันทรพิมพ์
+จันทรมณฑล
+จันทรเม็ด
+จันทรวงศ์
+จันทรเศขร
+จันทรุปราคา
+จันทัน
+จันทันพราง
+จันลอง
+จันเลา
+จันเลาะ
+จั้นหล่อ
+จั่นหับ
+จั่นห้าว
+จันอับ
+จับ
+จับกลุ่ม
+จับกัง
+จับกุม
+จับเขม่า
+จับไข้
+จับความ
+จับงูข้างหาง
+จับจด
+จับจอง
+จับจ่าย
+จับจิต
+จับเจ่า
+จับเจี๋ยว
+จับใจ
+จับฉ่าย
+จับเชิง
+จับดำถลำแดง
+จับเดิม
+จับตัววางตาย
+จับตา
+จับตาดู
+จับตาย
+จับปิ้ง
+จับเป็น
+จับโปง
+จับผิด
+จับพลัดจับผลู
+จับแพะชนแกะ
+จับยาม
+จับยี่กี
+จับระบำ
+จับเวลา
+จับสั่น
+จับสายสิญจน์
+จับเสือมือเปล่า
+จับหลัก
+จับหวัด
+จับหัวเข่าพูด
+จัมบก
+จัมปก
+จัมมะ
+จัว
+จั่ว
+จั๊วะ
+จา
+จ่า
+จ้า
+จ๋า
+จาก
+จากพราก
+จากพาก
+จ่ากลอง
+จาค-
+จาคี
+จาง
+จ่าง
+จ้าง
+จางวาง
+จาด
+จาดตะกั่ว
+จาตุ-
+จาตุกรณีย์
+จาตุทสี
+จาตุมหาราช
+จาตุร-
+จาตุรงค-
+จาตุรงค์
+จาตุรงคสันนิบาต
+จาตุรนต์
+จาตุรนต์รัศมี
+จาตุรราชการ
+จาตุรันต์
+จาน
+จ้าน
+จานจ่าย
+จานเจือ
+จานเชิง
+จานบิน
+จานผี
+จานเสียง
+จาบ
+จาบจ้วง
+จาบัล
+จาบัลย์
+จาป
+จ่าปี่
+จาม
+จ่ามงกุฎ
+จามจุรี
+จามร
+จามรี
+จามีกร
+จ่าย
+จ่ายตลาด
+จาร
+จ่ารง
+จารวาก
+จาระไน
+จาระบี
+จาริก
+จารี
+จารีต
+จารีตนครบาล
+จารีตประเพณี
+จารึก
+จารุ
+จ้าละหวั่น
+จาว
+จาวๆ
+จ่าว
+จ้าว
+จาวมะพร้าว
+จ่าหน้า
+จ่าหวัก
+จำ
+จ้ำ
+จำกว่า
+จำกัด
+จำกัดความ
+จำกัดจำเขี่ย
+จำกัดสินใช้
+จำครบ
+จำงาย
+จำจอง
+จ้ำจี้
+จ้ำจี้จ้ำไช
+จำเจ
+จำเดิม
+จำทวย
+จำทับ
+จำทาบ
+จำเทิด
+จำแทง
+จำนง
+จำนน
+จำนรรจ์
+จำนรรจา
+จำนวน
+จำนวนจริง
+จำนวนจินตภาพ
+จำนวนเชิงซ้อน
+จำนวนตรรกยะ
+จำนวนเต็ม
+จำนวนนับ
+จำนวนอตรรกยะ
+จำนอง
+จำนับ
+จำนัล
+จำนำ
+จำนำพรรษา
+จำเนียน
+จำเนียม
+จำเนียร
+จำแนก
+จำโนทย์
+จำบ่ม
+จำบัง
+จำบับ
+จำเบศ
+จ้ำเบ้า
+จำแบ
+จำปา
+จำปาขอม
+จำปาแขก
+จำปาดะ
+จำปาทองเทศ
+จำปาลาว
+จำปาหอม
+จำปี
+จำปีแขก
+จำปูน
+จำเป็น
+จำพรรษา
+จำพวก
+จำเพาะ
+จำแพรก
+จ้ำม่ำ
+จำรด
+จำรัส
+จำราญ
+จำราย
+จำรูญ
+จำเริญ
+จำเรียง
+จำลอง
+จำลองทอง
+จำลาย
+จำเลย
+จำเลาะ
+จำเลาะตา
+จำแลง
+จำแล่น
+จำวัด
+จำศีล
+จำหนับ
+จ๋ำหนับ
+จำหน่าย
+จำหระ
+จำหล่อ
+จำหลอก
+จำหลัก
+จำหัน
+จำห้าประการ
+จำหาย
+จำหุด
+จำเหียง
+จำอวด
+จำอื่น
+จิ
+จิก
+จิกปีก
+จิกหัว
+จิ่ง
+จิ้งจก
+จิงจ้อ
+จิ้งจอก
+จิงจัง
+จิ้งจัง
+จิงโจ้
+จิงโจ้น้ำ
+จิ้งหรีด
+จิ้งหรีดผี
+จิ้งเหลน
+จิ้งเหลนด้วง
+จิต
+จิต-
+จิตกาธาน
+จิตกึ่งสำนึก
+จิตใจ
+จิตต-
+จิตต์
+จิตตภาวนา
+จิตตวิสุทธิ
+จิตตานุปัสสนา
+จิตใต้สำนึก
+จิตนิยม
+จิตบำบัด
+จิตแพทย์
+จิตภาพ
+จิตร
+จิตร-
+จิตรกร
+จิตรกรรม
+จิตรจุล
+จิตรปทา
+จิตรลดา
+จิตรเลขา
+จิตระ
+จิตรา
+จิตไร้สำนึก
+จิตวิทยา
+จิตวิสัย
+จิตเวชศาสตร์
+จิตสำนึก
+จินเจา
+จินดา
+จินดามณี
+จินดามัย
+จินดาหนา
+จินดาหรา
+จินต-
+จินต์
+จินตกวี
+จินต์จล
+จินตนาการ
+จินตภาพ
+จิบ
+จิปาถะ
+จิ่ม
+จิ้ม
+จิ้มก้อง
+จิ้มฟันจระเข้
+จิ้มลิ้ม
+จิร-
+จิรกาล
+จิรัฐิติกาล
+จิ๋ว
+จี
+จี่
+จี้
+จี๋
+จี๋จ้อ
+จี่จู้
+จีแจ๊บ
+จี๊ด
+จีน
+จีนเต็ง
+จีนแส
+จีนแสโสกา
+จีบ
+จีบปากจีบคอ
+จีบพลู
+จีโบ
+จีพร
+จีม
+จีวร
+จีวร-
+จีวรกรรม
+จีวรการสมัย
+จีวรกาลสมัย
+จีวรทานสมัย
+จีวรภาชก
+จี้เส้น
+จึง
+จึ่ง
+จึ้ง
+จืด
+จืดจาง
+จืดชืด
+จืดตา
+จื้นเจือก
+จุ
+จุๆ
+จุก
+จุ๊กกรู๊
+จุกจิก
+จุกเจ่า
+จุกช่องล้อมวง
+จุกชี
+จุกผาม
+จุกผามม้ามย้อย
+จุกพราหมณ์
+จุกยา
+จุกโรหินี
+จุ่ง
+จุ้งจัง
+จุ๋งจิ๋ง
+จุใจ
+จุฑา
+จุฑาธิปไตย
+จุฑามณี
+จุฑามาศ
+จุฑารัตน์
+จุณ
+จุณณียบท
+จุด
+จุดจบ
+จุดเด่น
+จุดเดือด
+จุดไต้ตำตอ
+จุดทศนิยม
+จุดน้ำค้าง
+จุดบอด
+จุดยืน
+จุดยุทธศาสตร์
+จุดเยือกแข็ง
+จุดรวม
+จุดลูกน้ำ
+จุดศูนย์กลาง
+จุดศูนย์ถ่วง
+จุดสัมผัส
+จุดหมาย
+จุดหมายปลายทาง
+จุดหลอมเหลว
+จุดหลัง
+จุดเหี่ยวเฉา
+จุดอ่อน
+จุดอิ่มตัว
+จุติ
+จุตูปปาตญาณ
+จุทส
+จุทสมสุรทิน
+จุน
+จุ่น
+จุ้น
+จุ้นจ้าน
+จุนจู๋
+จุ้นจู๊
+จุนเจือ
+จุนทการ
+จุนสี
+จุบ
+จุ๊บ
+จุบจิบ
+จุ๊บแจง
+จุปาก
+จุ่ม
+จุ้ม
+จุ๋มจิ๋ม
+จุมพฏ
+จุมพรวด
+จุมพล
+จุมพิต
+จุมโพล่
+จุ้ย
+จุรณ
+จุรี
+จุไร
+จุล-
+จุลกฐิน
+จุลจอมเกล้า
+จุลชีพ
+จุลชีวัน
+จุลชีวิน
+จุลทรรศน์
+จุลภาค
+จุลวงศ์
+จุลวรรค
+จุลศักราช
+จุลสาร
+จุลินทรีย์
+จุฬา
+จุฬามณี
+จุฬาราชมนตรี
+จุฬาลักษณ์
+จุฬาลัมพา
+จู
+จู่
+จู่ๆ
+จู้
+จู๋
+จูง
+จูงจมูก
+จูงใจ
+จูงนางเข้าห้อง
+จูงนางลีลา
+จูงมือ
+จู้จี้
+จู๋จี๋
+จู่โจม
+จู๊ด
+จูบ
+จูบฝุ่น
+จูรณ
+จู่ลู่
+เจ
+เจ๊ก
+เจ๊กตื่นไฟ
+เจ่ง
+เจ้ง
+เจ๊ง
+เจ็ด
+เจ็ดชั่วโคตร
+เจ็ดตะคลี
+เจดีย-
+เจดีย์
+เจดียถาน
+เจดีย์ทิศ
+เจดียสถาน
+เจต
+เจต-
+เจตคติ
+เจตจำนง
+เจตนา
+เจตนารมณ์
+เจตพังคี
+เจตภูต
+เจตมูลเพลิง
+เจตมูลเพลิงฝรั่ง
+เจตสิก
+เจติย-
+เจโตวิมุติ
+เจน
+เจนจบ
+เจนจัด
+เจนใจ
+เจ็บ
+เจ็บไข้
+เจ็บแค้น
+เจ็บใจ
+เจ็บช้ำน้ำใจ
+เจ็บท้อง
+เจ็บปวด
+เจ็บป่วย
+เจ็บร้อน
+เจ็บแสบ
+เจรจา
+เจริญ
+เจริญตาเจริญใจ
+เจริญพร
+เจริญพันธุ์
+เจริญรอย
+เจริญสมณธรรม
+เจริญอาหาร
+เจริด
+เจรียง
+เจลียง
+เจว็ด
+เจษฎา
+เจ๊สัว
+เจอ
+เจ่อ
+เจ๋อ
+เจ๋อเจ๊อะ
+เจอร์เมเนียม
+เจอะ
+เจา
+เจ่า
+เจ้า
+เจ๊า
+เจ้ากรม
+เจ้ากรรม
+เจ้ากรรมนายเวร
+เจ้ากระทรวง
+เจ้ากี้เจ้าการ
+เจ้ากู
+เจ้าขรัว
+เจ้าของ
+เจ้าขา
+เจ้าข้า
+เจ้าข้าวแดงแกงร้อน
+เจ้าขุนมุลนาย
+เจ้าขุนมูลนาย
+เจ้าไข้
+เจ้าคณะ
+เจ้าครอก
+เจ้าคารม
+เจ้าคุณ
+เจ้าคุณจอม
+เจ้าแง่เจ้างอน
+เจ้าแง่แสนงอน
+เจ้าจอม
+เจ้าจอมมารดา
+เจ้าจำนวน
+เจ้าจำนำ
+เจ่าจุก
+เจ้าชีวิต
+เจ้าชู้
+เจ้าเซ็น
+เจ้าเซ็นเต้นต้ำบุด
+เจ้าตัว
+เจ้าถ้อยหมอความ
+เจ้าท่า
+เจ้าที่
+เจ้าทุกข์
+เจ้าไทย
+เจ้านาย
+เจ้าเนื้อ
+เจ้าบ้าน
+เจ้าบ่าว
+เจ้าบุญนายคุณ
+เจ้าเบี้ย
+เจ้าประคุณ
+เจ้าประคู้น
+เจ้าปู่
+เจ้าพนักงาน
+เจ้าพนักงานบังคับคดี
+เจ้าพนักงานพิทักษ์ทรัพย์
+เจ้าพนักงานภูษามาลา
+เจ้าพนักงานสนมพลเรือน
+เจ้าพระเดชนายพระคุณ
+เจ้าพระยา
+เจ้าพ่อ
+เจ้าพายุ
+เจ้าฟ้า
+เจ้าฟ้าหญิงสิรินธร
+เจ้าภาพ
+เจ้าภาษี
+เจ้ามรดก
+เจ้ามือ
+เจ้าแม่
+เจ้าไม่มีศาล สมภารไม่มีวัด
+เจ้ายศ
+เจ้าเรือน
+เจ้าเล่ห์
+เจ้าสัว
+เจ้าสาว
+เจ้าสำนวน
+เจ้าสำบัดสำนวน
+เจ้าสำราญ
+เจ้าหน้า
+เจ้าหน้าเจ้าตา
+เจ้าหน้าที่
+เจ้าหนี้
+เจ้าหลวง
+เจ้าหล่อน
+เจ้าหัว
+เจ้าอธิการ
+เจ้าอารมณ์
+เจ้าอาวาส
+เจาะ
+เจาะจง
+เจาะจมูก
+เจิ่ง
+เจิด
+เจิดจ้า
+เจิ่น
+เจิม
+เจีย
+เจียง
+เจียด
+เจียดยา
+เจียน
+เจี๋ยน
+เจี๊ยบ
+เจียม
+เจี๋ยมเจี้ยม
+เจียมสังขาร
+เจียร
+เจียระไน
+เจียระบาด
+เจียว
+เจี๊ยวจ๊าว
+เจือ
+เจือจาง
+เจือจาน
+เจื่อน
+เจือปน
+เจื้อย
+เจื้อยแจ้ว
+เจือสม
+แจ
+แจ้
+แจ๋
+แจก
+แจกจ่าย
+แจกแจง
+แจกไพ่
+แจกัน
+แจง
+แจ่ง
+แจ้ง
+แจ้งความ
+แจงรูป
+แจงลอน
+แจงสี่เบี้ย
+แจจน
+แจจัน
+แจ๊ด
+แจดแจ้
+แจ๊ดแจ๋
+แจตร
+แจ้น
+แจบ
+แจ่ม
+แจ่มแจ้ง
+แจ่มใส
+แจร
+แจรก
+แจรง
+แจว
+แจ่ว
+แจ้ว
+แจ้วๆ
+แจ๋ว
+แจ๋วแหวว
+แจะ
+โจก
+โจ๊ก
+โจง
+โจงกระเบน
+โจงกระเบนตีเหล็ก
+โจ่งครึ่ม
+โจ๋งครึ่ม
+โจ่งครุ่ม
+โจงโคร่ง
+โจ๋งเจ๋ง
+โจ่งแจ้ง
+โจท
+โจทก์
+โจทเจ้า
+โจทนา
+โจทย์
+โจน
+โจนร่ม
+โจม
+โจมตี
+โจมทัพ
+โจร
+โจร-
+โจรกรรม
+โจรสลัด
+โจล
+โจษ
+โจษจน
+โจษจัน
+โจษแจ
+ใจ
+ใจกลาง
+ใจกว้าง
+ใจขุ่น
+ใจแข็ง
+ใจความ
+ใจคอ
+ใจแคบ
+ใจง่าย
+ใจจดใจจ่อ
+ใจจืด
+ใจเฉื่อย
+ใจชื้น
+ใจดำ
+ใจดี
+ใจเด็ด
+ใจเดียว
+ใจเดียวกัน
+ใจต่ำ
+ใจเติบ
+ใจแตก
+ใจโต
+ใจถึง
+ใจน้อย
+ใจบาน
+ใจบุญ
+ใจเบา
+ใจปลาซิว
+ใจป้ำ
+ใจแป้ว
+ใจฝ่อ
+ใจเพชร
+ใจมา
+ใจมือ
+ใจไม่ดี
+ใจไม้ไส้ระกำ
+ใจยักษ์
+ใจเย็น
+ใจร้อน
+ใจร้าย
+ใจเร็ว
+ใจลอย
+ใจสูง
+ใจเสาะ
+ใจเสีย
+ใจหนักแน่น
+ใจหาย
+ใจเหี่ยวแห้ง
+ใจใหญ่ใจโต
+ใจอ่อน
+ไจ
+ไจ้
+ไจ้ๆ
+ไจร
+ฉ
+ฉก
+ฉกจวัก
+ฉกฉวย
+ฉกชิง
+ฉกรรจ์
+ฉกรรจ์ลำเครื่อง
+ฉกษัตริย์
+ฉกาจ
+ฉกาจฉกรรจ์
+ฉกามาพจร
+ฉกามาวจร
+ฉง
+ฉงน
+ฉงาย
+ฉทวาร
+ฉทานศาลา
+ฉทึง
+ฉนวน
+ฉนัง
+ฉนาก
+ฉนำ
+ฉบบ
+ฉบัง
+ฉบัด
+ฉบับ
+ฉบำ
+ฉพีสติม-
+ฉม
+ฉมบ
+ฉมวก
+ฉมวย
+ฉม่อง
+ฉมัง
+ฉมัน
+ฉมา
+ฉมำ
+ฉล
+ฉลวย
+ฉลวยฉลาด
+ฉลอง
+ฉลองได
+ฉลองพระกรน้อย
+ฉลองพระเนตร
+ฉลองพระบาท
+ฉลองพระศอ
+ฉลองพระหัตถ์
+ฉลองพระองค์
+ฉลององค์
+ฉลอม
+ฉลอมท้ายญวน
+ฉลัก
+ฉลับ
+ฉลาก
+ฉลากบาง
+ฉลาง
+ฉลาด
+ฉลาม
+ฉลามเสือ
+ฉลาย
+ฉลิว
+ฉลีก
+ฉลุ
+ฉลุกฉลวย
+ฉลุลาย
+ฉลู
+ฉวย
+ฉวยฉาบ
+ฉวะ
+ฉวัดเฉวียน
+ฉวาง
+ฉวี
+ฉศก
+ฉ้อ
+ฉอก
+ฉ้อโกง
+ฉ่อง
+ฉ้อฉล
+ฉอดๆ
+ฉ่อย
+ฉ้อราษฎร์บังหลวง
+ฉอเลาะ
+ฉะ
+ฉะกะ
+ฉะฉาด
+ฉะฉาน
+ฉะฉ่ำ
+ฉะฉี่
+ฉะเฉื่อย
+ฉะต้า
+ฉะนั้น
+ฉะนี้
+ฉะหน้าโรง
+ฉะอ้อน
+ฉักกะ
+ฉัฐ
+ฉัด
+ฉัตร
+ฉัตร-
+ฉัตรบรรณ
+ฉัตรมงคล
+ฉัตรสามชั้น
+ฉัททันต์
+ฉัน
+ฉันใด
+ฉันท-
+ฉันท์
+ฉันทลักษณ์
+ฉันทวิลาส
+ฉันทศาสตร์
+ฉันทะ
+ฉันทา
+ฉันทาคติ
+ฉันทานุมัติ
+ฉันนั้น
+ฉันวุติ
+ฉับ
+ฉับๆ
+ฉับพลัน
+ฉับไว
+ฉัพพรรณรังสี
+ฉัยยา
+ฉ่า
+ฉาก
+ฉากญี่ปุ่น
+ฉากตั้ง
+ฉากทิ้ง
+ฉากน้อย
+ฉากบังเพลิง
+ฉากใหญ่
+ฉาง
+ฉ่าง
+ฉ่าฉาว
+ฉาด
+ฉาดฉาน
+ฉาตกภัย
+ฉาทน
+ฉาน
+ฉาบ
+ฉาบฉวย
+ฉาป
+ฉาย
+ฉายเฉิด
+ฉายา
+ฉายาลักษณ์
+ฉาว
+ฉาวโฉ่
+ฉ่ำ
+ฉำฉา
+ฉำเฉง
+ฉำแฉะ
+ฉิ่ง
+ฉิ่งตรัง
+ฉิน
+ฉินท-
+ฉินท์
+ฉินทฤกษ์
+ฉิบ
+ฉิบหาย
+ฉิมพลี
+ฉิว
+ฉี่
+ฉีก
+ฉีกหน้า
+ฉีด
+ฉีดยา
+ฉุ
+ฉุก
+ฉุกคิด
+ฉุกใจ
+ฉุกเฉิน
+ฉุกละหุก
+ฉุด
+ฉุน
+ฉุนเฉียว
+ฉุป
+ฉุป-
+ฉุปศาสตร์
+ฉุย
+ฉุยฉาย
+ฉุยฉายเข้าวัง
+ฉู่
+ฉู่ฉี่
+ฉูด
+ฉูดฉาด
+เฉ
+เฉก
+เฉโก
+เฉ่ง
+เฉไฉ
+เฉด
+เฉท
+เฉนียน
+เฉพาะ
+เฉพาะกาล
+เฉพาะกิจ
+เฉพาะตัว
+เฉพาะพระพักตร์
+เฉพาะหน้า
+เฉย
+เฉยๆ
+เฉยเมย
+เฉลย
+เฉลว
+เฉลา
+เฉลิม
+เฉลิมพระชนมพรรษา
+เฉลี่ย
+เฉลียง
+เฉลี่ยง
+เฉลียบ
+เฉลียว
+เฉลียวใจ
+เฉลียวฉลาด
+เฉวียง
+เฉวียงบ่า
+เฉวียน
+เฉอะแฉะ
+เฉา
+เฉาก๊วย
+เฉาโฉด
+เฉาฮื้อ
+เฉาะ
+เฉาะๆ
+เฉาะปล่อง
+เฉิด
+เฉิดฉัน
+เฉิดฉาย
+เฉิดฉิน
+เฉิบ
+เฉิบๆ
+เฉียง
+เฉียงพร้าดำ
+เฉียงพร้านางแอ
+เฉียงพร้ามอญ
+เฉียด
+เฉียบ
+เฉียบขาด
+เฉียบพลัน
+เฉียบแหลม
+เฉียว
+เฉี่ยว
+เฉียวฉุน
+เฉือน
+เฉื่อย
+เฉื่อยๆ
+เฉื่อยชา
+แฉ
+แฉ่
+แฉก
+แฉกๆ
+แฉง
+แฉ่ง
+แฉโพย
+แฉลบ
+แฉล้ม
+แฉละ
+แฉว
+แฉะ
+แฉะแบะ
+โฉ
+โฉ่
+โฉเก
+โฉ่งฉ่าง
+โฉงเฉง
+โฉ่ฉาว
+โฉด
+โฉดเฉา
+โฉนด
+โฉบ
+โฉเบ๊
+โฉม
+โฉมงาม
+โฉมฉาย
+โฉมเฉลา
+โฉมตรู
+โฉมยง
+โฉมศรี
+โฉมหน้า
+โฉลก
+ไฉน
+ไฉไล
+ช
+ชก
+ชกมวย
+ชกา
+ชค-
+ชคดี
+ชคัตตรัย
+ชง
+ชงคา
+ชงโค
+ชงฆ-
+ชงฆ์
+ชงฆา
+ชงโลง
+ชฎา
+ชฎากลีบ
+ชฎาเดินหน
+ชฎาธาร
+ชฎาแปลง
+ชฎาพอก
+ชฎามหากฐิน
+ชฎามังษี
+ชฎามังสี
+ชฎิล
+ชด
+ชดช้อย
+ชดเชย
+ชดใช้
+ชทึง
+ชน
+ชน-
+ชนก
+ชนก-
+ชนกกรรม
+ชนช้าง
+ชนนี
+ชนบท
+ชนม-
+ชนม์
+ชนมพรรษา
+ชนมาพิธี
+ชนมายุพิธี
+ชนวน
+ชนหมู่น้อย
+ชนะ
+ชนัก
+ชนักติดหลัง
+ชนา
+ชนาง
+ชนิด
+ชนินทร์
+ชเนตตี
+ชบา
+ชบาหนู
+ชปโยค
+ชม
+ชมชัว
+ชมชาญ
+ชมเชย
+ชมไช
+ชมดชม้อย
+ชมนาด
+ชมบ
+ชมเปาะ
+ชมพู
+ชมพู่
+ชมพูทวีป
+ชมพูนท
+ชมพูนุท
+ชมพูพาดบ่า
+ชมรม
+ชมเลาะ
+ชมสวนสวรรค์
+ชม้อย
+ชมัน
+ชมา
+ชม้าย
+ชไม
+ชย
+ชย-
+ชยา
+ชโย
+ชร
+ชรทึง
+ชรโมล
+ชรไม
+ชรราง
+ชรริน
+ชรเรือด
+ชรแรง
+ชรแร่ง
+ชรโลง
+ชรอกชรัง
+ชรออบ
+ชรอัด
+ชรอ่ำ
+ชรอื้อ
+ชรอุ่ม
+ชระ
+ชระงม
+ชระง่อน
+ชระงำ
+ชระดัด
+ชระดื่น
+ชระเดียด
+ชระเดียดชระดัด
+ชระบอบ
+ชระบาบ
+ชระมด
+ชระมัว
+ชระมื่น
+ชระมุกชระมอม
+ชระมุ่น
+ชระเมียง
+ชระเมียน
+ชระลอ
+ชระลอง
+ชระล่อง
+ชระลั่ง
+ชระลัด
+ชระล้ำ
+ชระลุ
+ชระแลง
+ชระอับ
+ชระอาบ
+ชระเอม
+ชรัด
+ชรัว
+ชรา
+ชรากากี
+ชราธรรม
+ชราบ
+ชราบชรับ
+ชราภาพ
+ชรายุ
+ชริน
+ชรุก
+ชรูบ
+ชล
+ชล-
+ชลจร
+ชลจัณฑ์
+ชลชาติ
+ชลธาร
+ชลธารก
+ชลธิศ
+ชลธี
+ชลนัยน์
+ชลนา
+ชลเนตร
+ชลประทาน
+ชลมารค
+ชลสถาน
+ชลัมพุ
+ชลาธาร
+ชลาพุช
+ชลามพุช
+ชลาลัย
+ชลาศัย
+ชลี
+ชลูกา
+ชเล
+ชโลง
+ชโลทร
+ชโลม
+ชว-
+ช่วง
+ช่วงชัย
+ช่วงชิง
+ช่วงโชติ
+ช่วงใช้
+ช่วงทรัพย์
+ช่วงบาท
+ช่วงเมือง
+ช่วงสิทธิ์
+ชวด
+ชวน
+ชวนชม
+ชวนหัว
+ชวย
+ช่วย
+ช่วยเหลือ
+ชวร
+ชวลิต
+ชวัก
+ชวา
+ชวาล
+ชวาลา
+ช่อ
+ชอก
+ช็อกโกเลต
+ช็อกโกแลต
+ชอกช้ำ
+ชอง
+ช่อง
+ช้อง
+ช่องกุด
+ช่องเขา
+ช่องแคบ
+ช่องดาล
+ช่องตีนกา
+ช้องนาง
+ช้องนางคลี่
+ช่องไฟ
+ช้องแมว
+ชองระอา
+ชอน
+ช่อน
+ช้อน
+ช้อนนาง
+ช้อนหอย
+ชอบ
+ชอบกล
+ชอบใจ
+ชอบธรรม
+ชอบพอ
+ชอบมาพากล
+ช่อฟ้า
+ชอม
+ช่อม่วง
+ช่อย
+ช้อย
+ช้อยชด
+ช้อยช่างรำ
+ช้อยนางรำ
+ชอล์ก
+ช่ออินทนิล
+ชอ่ำ
+ชอื้อ
+ชอุ่ม
+ชะ
+ชะคราม
+ชะงอก
+ชะง่อน
+ชะงัก
+ชะงัด
+ชะงาบ
+ชะง้ำ
+ชะงุ้ม
+ชะเง้อ
+ชะเงื้อม
+ชะแง้
+ชะโงก
+ชะโงกผา
+ชะฉ่า
+ชะช่อง
+ชะชะ
+ชะช้า
+ชะชิด
+ชะดีชะร้าย
+ชะโด
+ชะตา
+ชะต้า
+ชะนี
+ชะนีร่ายไม้
+ชะนุง
+ชะเนาะ
+ชะเนียง
+ชะพลู
+ชะเพลิง
+ชะมด
+ชะมดเชียง
+ชะมดต้น
+ชะมบ
+ชะมวง
+ชะมัง
+ชะมัด
+ชะแม่
+ชะรอย
+ชะลอ
+ชะลอม
+ชะล่า
+ชะลาน
+ชะลิน
+ชะลูด
+ชะเลง
+ชะเลย
+ชะแล็ก
+ชะแลง
+ชะวัง
+ชะวาก
+ชะวากทะเล
+ชะวาด
+ชะวุ้ง
+ชะเวิกชะวาก
+ชะแวง
+ชะอม
+ชะอ้อน
+ชะเอม
+ชะโอน
+ชัก
+ชักกระบี่สี่ท่า
+ชักคราม
+ชักโครก
+ชักเงา
+ชักจูง
+ชักชวน
+ชักช้า
+ชักซอสามสาย
+ชักซุงตามขวาง
+ชักตะพานแหงนเถ่อ
+ชักนำ
+ชักน้ำเข้าลึก ชักศึกเข้าบ้าน
+ชักเนื้อ
+ชักใบให้เรือเสีย
+ชักแป้งผัดหน้า
+ชักพระ
+ชักแม่น้ำทั้งห้า
+ชักยันต์
+ชักเย่อ
+ชักใย
+ชักรูป
+ชักศพ
+ชักสองแถว
+ชักสื่อ
+ชักหน้า
+ชักหน้าไม่ถึงหลัง
+ชัค-
+ชัง
+ชั่ง
+ชังคา
+ชังฆ-
+ชังฆวิหาร
+ชั่งใจ
+ชั่งหลวง
+ชัชวาล
+ชัฏ
+ชัด
+ชัดเจน
+ชัดช้า
+ชัน
+ชั้น
+ชันกาด
+ชันคอ
+ชั้นฉาย
+ชั้นชั่ว
+ชันชี
+ชั้นเชิง
+ชันตาฆร
+ชันตุ
+ชันนะตุ
+ชันนุ
+ชันนุกะ
+ชันพอน
+ชันโรง
+ชันษา
+ชันสน
+ชันสูตร
+ชันสูตรพลิกศพ
+ชัปน
+ชัพ
+ชัมพูนท
+ชัย
+ชัย-
+ชัยบาน
+ชัยพฤกษ์
+ชัยภูมิ
+ชัยเภรี
+ชัยศรี
+ชัลลุกา
+ชั่ว
+ชั้ว
+ชั่วคน
+ชั่วคราว
+ชัวชม
+ชั่วช้า
+ชั่วช่างชี ดีช่างสงฆ์
+ชั่วแต่ว่า
+ชั่วนาตาปี
+ชั่วโมง
+ชั่วแล่น
+ชา
+ช้า
+ช้าก่อน
+ชาคร
+ชาคริต
+ชาคริยานุโยค
+ช่าง
+ช้าง
+ช่างกระไร
+ช่างเครื่อง
+ช้างงวง
+ช้างชำนิ
+ช้างชูงวง
+ช้างต่อ
+ช้างตายทั้งตัวเอาใบบัวมาปิด
+ช่างทอง
+ช้างทำลายโรง
+ช้างน้อย
+ช้างน้าว
+ช้างน้ำ
+ช้างประสานงา
+ช่างปะไร
+ช้างผะชด
+ช้างเผือก
+ช้างพลาย
+ช้างพัง
+ช่างฟิต
+ช่างไฟ
+ช้างร้อง
+ช้างสะบัดหญ้า
+ช้างเหยียบ
+ช่างเหล็ก
+ช้างใหญ่
+ช้าช่อน
+ชาญ
+ชาด
+ชาดก
+ชาดหรคุณ
+ช้าๆ ได้พร้าสองเล่มงาม
+ชาต-
+ชาตบุษย์
+ชาตรี
+ชาตรูป
+ชาตสระ
+ชาตะ
+ชาตา
+ชาติ
+ชาติ-
+ชาติธรรม
+ชาตินิยม
+ชาติพันธุ์
+ชาติพันธุ์วรรณนา
+ชาติพันธุ์วิทยา
+ชาติภูมิ
+ชาติมาลา
+ชาติรส
+ชาน
+ชานชาลา
+ชานวาทิก
+ช้านางนอน
+ช้านาน
+ชานุ
+ชานุกะ
+ชานุมณฑล
+ช้าปี่
+ชาปีไหน
+ช้าเป็นการ นานเป็นคุณ
+ช้าแป้น
+ช้าพลู
+ชาม
+ชามพูนท
+ชามาดร
+ชามาดา
+ชามาตุ
+ชาย
+ชายกระเบน
+ชายกระเบนเหน็บ
+ชายคา
+ชายแครง
+ชายชาตรี
+ชายตา
+ชายทะเล
+ชายธง
+ชายผ้าสีดา
+ชายฝั่ง
+ชายเฟือย
+ชายสามโบสถ์
+ชายไหว
+ชายา
+ชายาชีพ
+ชายานุชีพ
+ชาเยนทร์
+ชาเยศ
+ชาร
+ชารี
+ชาล
+ชาล-
+ชาลกรรม
+ชาลา
+ชาลินี
+ช้าลูกหลวง
+ช้าเลือด
+ชาว
+ชาวนอก
+ชาวน้ำ
+ชาวม่าน
+ชาวเล
+ชาววัง
+ชาวี
+ช้าหมอง
+ชำ
+ช่ำ
+ช้ำ
+ชำงัด
+ชำงาย
+ชำงือ
+ช่ำใจ
+ช้ำใจ
+ช้ำชอก
+ช่ำชอง
+ช่ำช่า
+ชำนน
+ชำนรร
+ชำนะ
+ชำนัญ
+ชำนัญพิเศษ
+ชำนัน
+ชำนาญ
+ชำนาญเกลากลอน
+ชำนิ
+ชำนิชำนาญ
+ชำเนียน
+ชำเนียร
+ช่ำปอด
+ชำมะนาด
+ชำมะเลียง
+ชำร่วย
+ชำระ
+ช้ำรั่ว
+ชำรุด
+ชำเรา
+ชำเราะ
+ชำแรก
+ชำแระ
+ชำลา
+ชำเลือง
+ช้ำเลือดช้ำหนอง
+ชำแหละ
+ชิ
+ชิง
+ชิ่ง
+ชิงคม
+ชิงช่วง
+ชิงชัง
+ชิงชัน
+ชิงชัย
+ชิงช้า
+ชิงช้าชาลี
+ชิงช้าสวรรค์
+ชิงชี่
+ชิงเชิง
+ชิงดวง
+ชิงดีชิงเด่น
+ชิงทรัพย์
+ชิงเปรต
+ชิงพลบ
+ชิงสุกก่อนห่าม
+ชิงไหวชิงพริบ
+ชิงฮื้อ
+ชิชะ
+ชิชิ
+ชิณณะ
+ชิด
+ชิเดนทรีย์
+ชิต
+ชิต-
+ชิตินทรีย์
+ชิน
+ชิ่น
+ชิ้น
+ชินโต
+ชินบุตร
+ชิ้นเอก
+ชิโนรส
+ชิม
+ชิมแปนซี
+ชิมลาง
+ชิยา
+ชิรณ-
+ชิรณะ
+ชิรณัคคิ
+ชิระ
+ชิวหา
+ชิวหาสดมภ์
+ชิสา
+ชี
+ชี่
+ชี้
+ชี้ขาด
+ชี้แจง
+ชี้ช่อง
+ชีต้น
+ชี้ตัว
+ชี้นกบนปลายไม้
+ชี้นกเป็นนก ชี้ไม้เป็นไม้
+ชี้นำ
+ชี้นิ้ว
+ชี้แนะ
+ชีปะขาว
+ชีเปลือย
+ชีผะขาว
+ชีผ้าขาว
+ชีฝรั่ง
+ชีพ
+ชีพ-
+ชีพจร
+ชีพิต
+ชีพิตักษัย
+ชีพุก
+ชีฟอง
+ชี้ฟ้า
+ชีมืด
+ชีรณ-
+ชีรณัคคิ
+ชีระ
+ชีล้อม
+ชีลา
+ชีลาว
+ชีว-
+ชีวเคมี
+ชีวงคต
+ชีวประวัติ
+ชีวโลก
+ชีววิทยา
+ชีวะ
+ชีวัน
+ชีวันตราย
+ชีวา
+ชีวาตม์
+ชีวาลัย
+ชีวิต
+ชีวิตชีวา
+ชีวิตักษัย
+ชีวิตินทรีย์
+ชีวิน
+ชีวี
+ชี้สองสถาน
+ชืด
+ชื่น
+ชื้น
+ชื่นชม
+ชื่นชมยินดี
+ชื่นบาน
+ชื่นมื่น
+ชื่อ
+ชื้อ
+ชื่อตัว
+ชื่อย่อ
+ชื่อเล่น
+ชื่อว่า
+ชื่อสกุล
+ชื่อเสียง
+ชุ
+ชุก
+ชุกชี
+ชุกชุม
+ชุ่ง
+ชุ้ง
+ชุณห-
+ชุณหปักษ์
+ชุด
+ชุติ
+ชุติมา
+ชุน
+ชุบ
+ชุบชีวิต
+ชุบชู
+ชุบตัว
+ชุบมือเปิบ
+ชุบย้อม
+ชุบเลี้ยง
+ชุบสรง
+ชุบอาบ
+ชุม
+ชุ่ม
+ชุ่มใจ
+ชุมชน
+ชุ่มชื่น
+ชุ่มชื้น
+ชุมทางรถไฟ
+ชุมนุม
+ชุมนุมชน
+ชุมพร
+ชุมพา
+ชุมเพ็ด
+ชุมแพรก
+ชุมรุม
+ชุมสาย
+ชุมสายโทรศัพท์
+ชุมแสง
+ชุมเห็ด
+ชุ่ย
+ชุ่ยๆ
+ชุลมุน
+ชุลี
+ชุษณ-
+ชุษณปักษ์
+ชุษณะ
+ชู
+ชู้
+ชูกลิ่น
+ชูคอ
+ชูใจ
+ชูชีพ
+ชูรส
+ชูโรง
+ชู้สาว
+ชูหน้าชูตา
+ชู้เหนือขันหมาก
+ชู้เหนือผัว
+ชู้เหนือผี
+เช็ค
+เช็คขีดคร่อม
+เช็คไปรษณีย์
+เช้ง
+เชงเลง
+เช้งวับ
+เช็ด
+เช็ดน้ำ
+เช็ดหน้า
+เช็ดหม้อ
+เชน
+เช่น
+เชย
+เชยชม
+เชรา
+เชราะ
+เชริด
+เชลง
+เชลย
+เชลยศักดิ์
+เชลยศึก
+เชลแล็ก
+เชลียง
+เชวง
+เชษฐ-
+เชษฐะ
+เชษฐา
+เชอ
+เช่า
+เช้า
+เช่าช่วง
+เช่าซื้อ
+เช้าตรู่
+เช่าถือสวน
+เช่าทรัพย์
+เช่าพระ
+เช้ามืด
+เชาว์
+เชาวน์
+เชิง
+เชิงกรวย
+เชิงกราน
+เชิงกล
+เชิงกลอน
+เชิงชั้น
+เชิงชาย
+เชิงซ้อน
+เชิงเดิน
+เชิงเดียว
+เชิงเดี่ยว
+เชิงตะกอน
+เชิงทรง
+เชิงเทิน
+เชิงมุม
+เชิงเวียน
+เชิงอรรถ
+เชิญ
+เชิด
+เชิดจีน
+เชิดฉิ่ง
+เชิดชู
+เชิดหนัง
+เชิดหน้าชูตา
+เชิดหุ่น
+เชิ้ต
+เชีย
+เชี้ย
+เชียง
+เชี่ยน
+เชี่ยนหมาก
+เชียบ
+เชี่ยม
+เชียร
+เชียร์
+เชียรณ์
+เชียว
+เชี่ยว
+เชี่ยวชาญ
+เชื่อ
+เชื้อ
+เชือก
+เชือกเขา
+เชือกบาศ
+เชื่อง
+เชื่องช้า
+เชื่อใจ
+เชื้อชาติ
+เชื้อเชิญ
+เชือด
+เชื่อถือ
+เชือน
+เชือนแช
+เชื้อเพลิง
+เชื่อฟัง
+เชื้อไฟ
+เชื่อม
+เชื่อมือ
+เชื้อไม่ทิ้งแถว
+เชื้อรา
+เชื้อโรค
+เชื่อวัน
+เชื้อสาย
+เชื้อหมัก
+แช
+แช่
+แช่ง
+แช่งชักหักกระดูก
+แช่งน้ำ
+แชงมา
+แชบ๊วย
+แช่เบ้า
+แช่ม
+แช่มช้อย
+แช่มชื่น
+แช่เย็น
+แชร์
+แชรง
+แชล่ม
+แช่อิ่ม
+แชะ
+โชก
+โชกๆ
+โชกโชน
+โชค
+โชงโลง
+โชดก
+โชดึก
+โชต
+โชตก
+โชติ
+โชติ-
+โชติก-
+โชติช่วง
+โชติรส
+โชน
+โชมโรม
+โชย
+โชยงการ
+โชยชาย
+โชยติส
+โชรม
+โชว์
+โชโหว
+ใช่
+ใช้
+ใช้กรรม
+ใช้ได้
+ใช้เนื้อ
+ใช้บน
+ใช้ใบ
+ใช้เรือ
+ใช้สอย
+ไช
+ไชนะ
+ไชย
+ไชย-
+ไชยเภท
+ไชโย
+ซ
+ซก
+ซ่ก
+ซงดำ
+ซ่งฮื้อ
+ซง้า
+ซด
+ซน
+ซ่น
+ซ้น
+ซบ
+ซบเซา
+ซม
+ซมซาน
+ซรอกซรัง
+ซวด
+ซวดเซ
+ซวดทรง
+ซวน
+ซวนเซ
+ซวย
+ซอ
+ซอก
+ซอกซอน
+ซอกซัง
+ซอกแซก
+ซอง
+ซ่อง
+ซ่องๆ
+ซ้อง
+ซ่องแซ่ง
+ซองพลู
+ซองมือ
+ซองแมว
+ซ้องแมว
+ซ่องสุม
+ซ่องเสพ
+ซองหาง
+ซอแซ
+ซ้อแซ้
+ซอน
+ซ่อน
+ซ้อน
+ซ้อนกล
+ซ่อนกลิ่น
+ซ่อนเงื่อน
+ซ้อนซับ
+ซ่อนทราย
+ซ่อนรูป
+ซ่อนหา
+ซอม
+ซ่อม
+ซ้อม
+ซ้อมค้าง
+ซอมซ่อ
+ซ้อมซัก
+ซ่อมแซม
+ซ่อมแปลง
+ซ้อมพยาน
+ซ้อมพวน
+ซ้อมใหญ่
+ซอย
+ซอยผม
+ซอส
+ซะซร้าว
+ซะซ่อง
+ซะซอเซีย
+ซะซิกซะแซ
+ซะซิบ
+ซะเซาะ
+ซะเซียบ
+ซัก
+ซักซ้อม
+ซักไซ้
+ซักฟอก
+ซักส้าว
+ซักแห้ง
+ซัง
+ซั้ง
+ซังกะตาย
+ซังแซว
+ซังตาย
+ซัด
+ซัดข้าวสาร
+ซัดเซ
+ซัดทอด
+ซัดน้ำ
+ซัดยา
+ซั้น
+ซับ
+ซับขนุน
+ซับซ้อน
+ซับซาบ
+ซับซี่
+ซับใน
+ซับพระพักตร์
+ซับมัน
+ซัม
+ซัลฟา
+ซั้ว
+ซา
+ซ่า
+ซาก
+ซากดึกดำบรรพ์
+ซากศพ
+ซาง
+ซ่าง
+ซาด
+ซาน
+ซ่าน
+ซ่านเซ็น
+ซาบซ่าน
+ซาบซึ้ง
+ซ่าโบะ
+ซาแมเรียม
+ซ้าย
+ซาลาเปา
+ซาว
+ซาวน้ำ
+ซาวเสียง
+ซ่าหริ่ม
+ซ้ำ
+ซ้ำซ้อน
+ซ้ำซาก
+ซ้ำเติม
+ซ้ำร้าย
+ซ้ำสาม
+ซิ
+ซิก
+ซิกๆ
+ซิกซี้
+ซิกแซ็ก
+ซิการ์
+ซิงโคนา
+ซิ่น
+ซินนามิก
+ซินแส
+ซิบ
+ซิบๆ
+ซิบซับ
+ซิป
+ซิฟิลิส
+ซิลิคอน
+ซิว
+ซี
+ซี่
+ซีก
+ซี่โครง
+ซี้ซอน
+ซีเซียม
+ซีด
+ซีดเซียว
+ซีนอน
+ซีป่าย
+ซีเมนต์
+ซีเรียม
+ซีลีเนียม
+ซึก
+ซึง
+ซึ่ง
+ซึ้ง
+ซึ่งหน้า
+ซึม
+ซึมกะทือ
+ซึมซาบ
+ซึมทราบ
+ซื่อ
+ซื่อๆ
+ซื้อ
+ซื้อขาย
+ซื้อควายหน้านา ซื้อผ้าหน้าตรุษ
+ซื้องัวหน้านา ซื้อผ้าหน้าหนาว
+ซื่อตรง
+ซื้อรำคาญ
+ซื้อรู้
+ซื่อสัตย์
+ซื้อหน้า
+ซื่อเหมือนแมวนอนหวด
+ซุก
+ซุกซน
+ซุกซ่อน
+ซุกซิก
+ซุง
+ซุน
+ซุบ
+ซุบซิบ
+ซุบซู่
+ซุป
+ซุ่ม
+ซุ้ม
+ซุ้มกระต่าย
+ซุ่มคม
+ซุ่มซ่าม
+ซุมแซว
+ซุ่มเสียง
+ซุย
+ซู่
+ซู่ๆ
+ซู่กั้นรั้วไซมาน
+ซูโครส
+ซู่ซ่า
+ซูด
+ซู้ด
+ซูดซาด
+ซูบ
+เซ
+เซ็ก
+เซแคนต์
+เซ็ง
+เซ่ง
+เซ้ง
+เซ็งแซ่
+เซซัง
+เซต
+เซน
+เซ็น
+เซ่น
+เซนติกรัม
+เซนติเกรด
+เซนติเมตร
+เซนติลิตร
+เซ่นเหล้า
+เซปักตะกร้อ
+เซรา
+เซราะ
+เซรุ่ม
+เซลเซียส
+เซลล์
+เซลล์ทุติยภูมิ
+เซลล์ปฐมภูมิ
+เซลลูลอยด์
+เซลลูโลส
+เซ่อ
+เซ่อซ่า
+เซอร์โคเนียม
+เซอะ
+เซา
+เซ้าซี้
+เซาะ
+เซาะลาย
+เซิง
+เซิ้ง
+เซียน
+เซียบ
+เซียมซี
+เซียว
+เซี่ยว
+เซี่ยวกาง
+เซื่อง
+แซ
+แซ่
+แซ็กคาริน
+แซ็กคารินโซเดียม
+แซง
+แซงแซว
+แซ่ซ้อง
+แซด
+แซดๆ
+แซบ
+แซม
+แซยิด
+แซ่ว
+แซะ
+โซ
+โซ่
+โซก
+โซ่ง
+โซงโขดง
+โซซัดโซเซ
+โซเซ
+โซดา
+โซดาแผดเผา
+โซดาไฟ
+โซเดียม
+โซเดียมคาร์บอเนต
+โซเดียมซัลเฟต
+โซเดียมไซคลาเมต
+โซเดียมไฮโดรเจนกลูทาเมต
+โซเดียมไฮโดรเจนคาร์บอเนต
+โซเดียมไฮโดรเจนซัลเฟต
+โซม
+โซรม
+โซรมประทยด
+โซรมโรม
+โซรมศัสตราวุธ
+โซลา
+ไซ
+ไซ้
+ไซเกิล
+ไซโคลน
+ไซน์
+ไซยาไนด์
+ไซร้
+ไซเรน
+ไซโล
+ฌ
+ฌาน
+ฌาปน-
+ฌาปนกิจ
+ฌาปนสถาน
+เฌอ
+เฌอเอม
+ญ
+ญญ่าย
+ญวน
+ญัตติ
+ญาณ
+ญาณ-
+ญาณทัสนะ
+ญาณวิทยา
+ญาณศาสตร์
+ญาติ
+ญาติ-
+ญาติกา
+ญาติดีกัน
+ญาติเภท
+ญิบ
+ญี่
+ญี่ปุ่น
+เญยธรรม
+ไญยธรรม
+ฎ
+ฎีกา
+ฏ
+ฐ
+ฐกัด
+ฐากูร
+ฐาน
+ฐาน-
+ฐานกรณ์
+ฐานเขียง
+ฐานเชิงบาตร
+ฐานเท้าสิงห์
+ฐานบัทม์
+ฐานราก
+ฐานสิงห์
+ฐานะ
+ฐานันดร
+ฐานานุกรม
+ฐานานุรูป
+ฐานานุศักดิ์
+ฐานียะ
+ฐาปน-
+ฐาปนา
+ฐายี
+ฐิต
+ฐิติ
+ฑ
+ฑังส-
+ฑาก-
+ฑาหก
+ฑาหะ
+ฒ
+เฒ่า
+เฒ่าแก่
+เฒ่าหัวงู
+ณ
+ณรงค์
+เณร
+เณรหน้าไฟ
+เณรหางนาค
+ด
+ดก
+ดกดื่น
+ดง
+ด้ง
+ดงดาน
+ดงดิบ
+ดงดึก
+ดงวาย
+ด้น
+ด้นดั้น
+ดนโด่
+ดนตรี
+ด้นถอยหลัง
+ดนย
+ดนัย
+ดนุ
+ดนุช
+ดนู
+ดบัสวิน
+ดบัสวี
+ดม
+ดมไร
+ดร
+ดรงค์
+ดรณี
+ดรธาน
+ดรรชนี
+ดรรชนีหักเห
+ดราฟต์
+ดรุ
+ดรุณ
+ดรุณาณัติ
+ดรุณี
+ดฤถี
+ดล
+ดล-
+ดลใจ
+ดลบันดาล
+ดลภาค
+ดวง
+ด้วง
+ดวงแก้ว
+ดวงใจ
+ดวงเดือนประดับดาว
+ดวงตา
+ดวงสมร
+ด้วงโสน
+ดวจ
+ดวด
+ด่วน
+ด้วน
+ด้วมเดี้ยม
+ด้วย
+ด้วยว่า
+ดอก
+ดอกกระบอก
+ดอกกะทือ
+ดอกก้าน
+ดอกข้าวใหม่
+ดอกจอก
+ดอกจัน
+ดอกจันทน์
+ดอกจิก
+ดอกชนต้น
+ดอกดั้ว
+ดอกด้าย
+ดอกดิน
+ดอกถวายพระ
+ดอกทอง
+ดอกน้ำผึ้ง
+ดอกบัว
+ดอกบุก
+ดอกเบี้ย
+ดอกเบี้ยทบต้น
+ดอกพิกุลร่วง
+ดอกฟ้อน
+ดอกฟ้า
+ดอกมะขาม
+ดอกมะตาด
+ดอกไม้
+ดอกไม้จันทน์
+ดอกไม้จีน
+ดอกไม้จีบ
+ดอกไม้เจ้า
+ดอกไม้ตาด
+ดอกไม้ทะเล
+ดอกไม้เทียน
+ดอกไม้ไทร
+ดอกไม้น้ำ
+ดอกไม้พวง
+ดอกไม้พุ่ม
+ดอกไม้เพลิง
+ดอกไม้ไฟ
+ดอกไม้ร่วง
+ดอกไม้รุ่ง
+ดอกไม้ไหว
+ดอกรัก
+ดอกลำดวน
+ดอกลำโพง
+ดอกเล็บ
+ดอกสร้อย
+ดอกหมาก
+ดอกหิน
+ดอกอาว
+ดอกอาวแดง
+ดอง
+ด่องๆ
+ด้อง
+ด้องๆ
+ดองฉาย
+ดองดึง
+ดองยา
+ดองหาย
+ดอด
+ดอน
+ด่อน
+ดอม
+ด่อม
+ด้อม
+ดอย
+ด้อย
+ดอลลาร์
+ดะ
+ดะโต๊ะยุติธรรม
+ดะหมัง
+ดัก
+ดักคอ
+ดักดน
+ดักดาน
+ดักเดี้ย
+ดักแด้
+ดักฟัง
+ดักษก
+ดักษณ
+ดักษณี
+ดักษัน
+ดัง
+ดั่ง
+ดั้ง
+ดังจริง
+ดั้งเดิม
+ดังนั้น
+ดังนี้
+ดังรือ
+ดังฤๅ
+ดังหนึ่ง
+ดัชนี
+ดัด
+ดัดจริต
+ดัดดั้น
+ดัดตน
+ดัดปลัก
+ดัดแปลง
+ดัดสันดาน
+ดัตช์
+ดัน
+ดั้น
+ดันทุรัง
+ดั้นเมฆ
+ดันเหิม
+ดับ
+ดับขันธ์
+ดับเครื่อง
+ดับจิต
+ดับชีพ
+ดับลม
+ดัมพ์
+ดั้วเดี้ย
+ดัสกร
+ดัสกรี
+ดา
+ด่า
+ดาก
+ด่าง
+ด้าง
+ด่างทับทิม
+ด่างพร้อย
+ดาด
+ดาดๆ
+ดาดตะกั่ว
+ดาดฟ้า
+ดาดาษ
+ดาดำ
+ด่าทอ
+ดาน
+ด่าน
+ด้าน
+ด้านไม้
+ด้านหน้า
+ดาบ
+ดาบเงิน
+ดาบปลายปืน
+ดาบลาว
+ดาบส
+ดาบสองคม
+ดาม
+ด้าม
+ด้ามจิ้ว
+ดามพ-
+ดามพ์
+ดามพวรรณ
+ดามร
+ดาย
+ด้าย
+ด้ายซัง
+ด้ายดิบ
+ดาร
+ดารก
+ดารณี
+ดารดาษ
+ดารา
+ดาราบถ
+ดาราศาสตร์
+ดาล
+ดาลฉัตร
+ดาลเดือด
+ดาลโทสะ
+ดาลัด
+ดาลุ
+ดาลุช
+ดาว
+ด่าว
+ด้าว
+ดาวกระจาย
+ดาวเคราะห์
+ดาวดึงส์
+ดาวตก
+ดาวเทียม
+ดาวบส
+ดาวรุ่ง
+ดาวเรือง
+ดาวฤกษ์
+ดาวล้อมเดือน
+ดาวหาง
+ดาวเหนือ
+ดาษ
+ดาษดา
+ดาษดื่น
+ดาษเดียร
+ดาหงัน
+ดาฬ
+ดำ
+ด่ำ
+ด้ำ
+ดำกล
+ดำเกิง
+ดำแคง
+ดำดง
+ดำดิน
+ดำแดง
+ดำๆ แดงๆ
+ดำนา
+ดำนาณ
+ดำนาน
+ดำนู
+ดำเนิน
+ดำเนินคดี
+ดำเนียน
+ดำเนียร
+ดำบล
+ดำปืน
+ดำพอง
+ดำโพง
+ดำรง
+ดำรวจ
+ดำรัส
+ดำริ
+ดำรี
+ดำรู
+ดำไร
+ดำฤษณา
+ดำเลิง
+ดำแลง
+ดำหนัก
+ดำหนิ
+ดำหัว
+ดำอวด
+ดิก
+ดิกๆ
+ดิง
+ดิ่ง
+ดิ่งพสุธา
+ดิฉัน
+ดิฐ
+ดิตถ์
+ดิถี
+ดิน
+ดิ้น
+ดินกรด
+ดินขาว
+ดินเค็ม
+ดินดอนสามเหลี่ยม
+ดินดำ
+ดินแดง
+ดินนวล
+ดินประสิว
+ดินปืน
+ดินเปรี้ยว
+ดินพอกหางหมู
+ดิ้นรน
+ดินร่วน
+ดินระเบิด
+ดินส้ม
+ดินสอ
+ดินสอพอง
+ดินสำลี
+ดินหู
+ดินอีหรอบ
+ดิบ
+ดิบดี
+ดิรัจฉาน
+ดิลก
+ดิ่ว
+ดิ้ว
+ดิ้วเดี้ยว
+ดิษฐ์
+ดิสโพรเซียม
+ดี
+ดีๆ
+ดีเกลือ
+ดีเกลือฝรั่ง
+ดีงู
+ดีใจ
+ดีฉัน
+ดีฉาน
+ดีซ่าน
+ดีเซล
+ดีด
+ดีดขัน
+ดีดดิ้น
+ดีดฝ้าย
+ดีดพิมพ์
+ดีดลูกคิด
+ดีดลูกคิดรางแก้ว
+-ดีดัก
+ดีดีที
+ดีเดือด
+ดีแตก
+ดีนาคราช
+ดีเนื้อดีใจ
+ดีบัว
+ดีบุก
+ดีปลี
+ดีเปรสชัน
+ดีผา
+ดีฝ่อ
+ดีพร
+ดีไม่ดี
+ดียา
+ดีร้าย
+ดีละ
+ดีแล้ว
+ดีหมี
+ดีหลี
+ดีหิน
+ดีอกดีใจ
+ดึก
+ดึกดำบรรพ์
+ดึกดื่น
+ดึง
+ดึ่ง
+ดึงดัน
+ดึงดื้อ
+ดึงดูด
+ดึงสะ
+ดึ่ม
+ดื่น
+ดื่นดาษ
+ดื่นดึก
+ดื่ม
+ดื่มด่ำ
+ดือ
+ดื้อ
+ดื้อดัน
+ดื้อด้าน
+ดื้อดึง
+ดื้อแพ่ง
+ดื้อยา
+ดุ
+ดุก
+ดุกดิก
+ดุกทะเล
+ดุกลำพัน
+ดุ้ง
+ดุ้งดิ้ง
+ดุจ
+ดุจดัง
+ดุจหนึ่ง
+ดุด
+ดุดัน
+ดุเดือด
+ดุน
+ดุ้น
+ดุบๆ
+ดุม
+ดุ่ม
+ดุ่มๆ
+ดุ่ย
+ดุรค
+ดุรงค์
+ดุรงคี
+ดุร้าย
+ดุริย-
+ดุริยะ
+ดุริยางค-
+ดุริยางค์
+ดุริยางค์จำเรียง
+ดุริยางคศาสตร์
+ดุริยางคศิลป์
+ดุล
+ดุล-
+ดุลการค้า
+ดุลการชำระเงิน
+ดุลชำระหนี้
+ดุลพินิจ
+ดุลภาค
+ดุลย-
+ดุลยพินิจ
+ดุลยภาพ
+ดุลอำนาจ
+ดุษฎี
+ดุษฎีนิพนธ์
+ดุษฎีบัณฑิต
+ดุษฎีมาลา
+ดุษฎีสังเวย
+ดุษณี
+ดุษณีภาพ
+ดุษิต
+ดุสิต
+ดุเหว่า
+ดู
+ดูกไก่ดำ
+ดูกค่าง
+ดูกร
+ดูก่อน
+ดูแคลน
+ดูใจ
+ดูช้างให้ดูหาง ดูนางให้ดูแม่
+ดูซิ
+ดูด
+ดูดดึง
+ดูดดื่ม
+ดูดอมดูดาย
+ดูดาย
+ดูดู๋
+ดูตาม้าตาเรือ
+ดูถูก
+ดูถูกดูแคลน
+ดูเถอะ
+ดูเถิด
+ดูแน่ะ
+ดูเบา
+ดูไปก่อน
+ดูรา
+ดูร้าย
+ดูรึ
+ดูแล
+ดูหมิ่น
+ดูหมิ่นถิ่นแคลน
+ดูหรือ
+ดูหรู
+ดูเหมือน
+เด
+เด่
+เดก
+เด็ก
+เด็กชา
+เด็กชาย
+เดกซ์โทรส
+เด็กแดง
+เด็กเมื่อวานซืน
+เด็กหญิง
+เด็กอมมือ
+เดคากรัม
+เดคาเมตร
+เดคาลิตร
+เด้ง
+เด็จ
+เดช
+เดชน์
+เดชนะ
+เดชะ
+เดโช
+เดโชชัย
+เดโชพล
+เดซิกรัม
+เดซิเมตร
+เดซิลิตร
+เด็ด
+เด็ดขาด
+เด็ดดวง
+เด็ดดอกไม้ร่วมต้น
+เด็ดดอกไม่ไว้ขั้ว
+เด็ดเดี่ยว
+เด็ดบัวไม่ไว้ใย
+เด็ดปลีไม่มีใย
+เดน
+เด่น
+เดนตาย
+เดนมาร์ก
+เดรัจฉาน
+เด๋อ
+เด๋อด๋า
+เดา
+เด่า
+เด่าๆ
+เด้า
+เด้าดิน
+เด้าลม
+เดาสวด
+เดาสุ่ม
+เดาะ
+เดิน
+เดิ่น
+เดินขบวน
+เดินคาถา
+เดินจักร
+เดินตลาด
+เดินตามหลังผู้ใหญ่หมาไม่กัด
+เดินแต้ม
+เดินโต๊ะ
+เดินทอง
+เดินทัพ
+เดินทาง
+เดินทุ่ง
+เดินเทียน
+เดินธุระให้
+เดินนา
+เดินป้าย
+เดินรถ
+เดินเรือ
+เดินเรื่อง
+เดินสวน
+เดินสะพัด
+เดินสาย
+เดินเส้น
+เดินหน
+เดินเหิน
+เดินไหม
+เดินอากาศ
+เดิม
+เดิมที
+เดิมพัน
+เดี้ย
+เดียง
+เดียงสา
+เดียด
+เดียดฉันท์
+เดียร
+เดียรดาษ
+เดียรถ์
+เดียรถีย์
+เดียรัจฉาน
+เดียว
+เดี่ยว
+เดี๋ยว
+เดี๋ยวก่อน
+เดียวกัน
+เดียวดาย
+เดี๋ยวเดียว
+เดี๋ยวนี้
+เดียะ
+เดื่อ
+เดือก
+เดื่อง
+เดือด
+เดือดดาล
+เดือดร้อน
+เดือน
+เดือนขาด
+เดือนค้างฟ้า
+เดือนคี่
+เดือนคู่
+เดือนเต็ม
+เดือนมืด
+เดือนเย็น
+เดือนร้อน
+เดือนหงาย
+เดือย
+เดือยไก่
+แด
+แด่
+แดก
+แด็กๆ
+แดกงา
+แดกดัน
+แดกแด้
+แด็กแด้
+แดกห่า
+แดง
+แดงน้ำ
+แดด
+แดดาล
+แดดิ้น
+แดน
+แด่น
+แดนไตร
+แดยัน
+แด่วๆ
+แดะ
+แดะแด๋
+โด
+โด่
+โดกเดก
+โด่ง
+โด่งดัง
+โดด
+โดดๆ
+โดดเดี่ยว
+โดดร่ม
+โด่เด่
+โดน
+โดนดี
+โดม
+โดมไพร
+โดมร
+โด่ไม่รู้ล้ม
+โดย
+โดยจริง
+โดยที่
+โดยพยัญชนะ
+โดยสาร
+โดยเสด็จ
+โดยอรรถ
+โดร
+โดรณ
+ใด
+...ใด...หนึ่ง
+ได
+ได้
+ได้กัน
+ได้การ
+ได้แก่
+ได้แกงเทน้ำพริก
+ได้ความ
+ได้คิด
+ได้ใจ
+ได้ช่อง
+ได้ชื่อ
+ไดแซ็กคาไรด์
+ได้ท่า
+ได้ท้าย
+ได้ที
+ได้ที่
+ได้ทีขี่แพะไล่
+ไดนาโม
+ไดนาไมต์
+ไดโนเสาร์
+ได้ยิน
+ไดเรกตริกซ์
+ได้ฤกษ์
+ได้สติ
+ได้ส่วน
+ได้ส่วนสัด
+ได้เสีย
+ได้เสียกัน
+ได้หน้า
+ได้หน้าลืมหลัง
+ต
+ตก
+ตกกระ
+ตกกระไดพลอยโจน
+ตกขอบ
+ตกขาว
+ตกข้าว
+ตกขุย
+ตกคลัก
+ตกค้าง
+ตกเครือ
+ตกงาน
+ตกจั่น
+ตกใจ
+ตกดิน
+ตกตะกอน
+ตกตะลึง
+ตกต่ำ
+ตกแต่ง
+ต๊กโต
+ตกใต้เถรเทวทัต
+ตกท้องช้าง
+ตกทอด
+ตกที่นั่ง
+ตกนรกทั้งเป็น
+ตกน้ำมัน
+ตกน้ำไม่ว่าย
+ตกน้ำไม่ไหล ตกไฟไม่ไหม้
+ตกใน
+ตกเบ็ด
+ตกเบิก
+ตกประหม่า
+ตกปลอก
+ตกปลัก
+ตกปากตกคำ
+ตกเป็น
+ตกเป็นเบี้ยล่าง
+ตกผลึก
+ตกพุ่มม่าย
+ตกฟอง
+ตกฟาก
+ตกมัน
+ตกมูก
+ตกยาก
+ตกรางวัล
+ตกลง
+ตกล่องปล่องชิ้น
+ตกลูก
+ตกเลือด
+ตกว่า
+ตกสนับ
+ตกสะเก็ด
+ตกแสก
+ตกหนัก
+ตกหมก
+ตกหล่น
+ตกหลุม
+ตกหลุมพราง
+ตกอับ
+ตง
+ต๋ง
+ตงฉิน
+ตงิด
+ตงุ่น
+ตจ-
+ตจปัญจกกรรมฐาน
+ตจสาร
+ตด
+ตดหมูตดหมา
+ตติย-
+ตถาคต
+ตน
+ต้น
+ต้นกล
+ต้นขั้ว
+ต้นคอ
+ต้นคิด
+ต้นเงิน
+ต้นฉบับ
+ต้นชนดอก
+ต้นเชือก
+ต้นตระกูล
+ต้นตอ
+ต้นตายใบเป็น
+ต้นตำรับ
+ต้นทาง
+ต้นทุน
+ต้นเทียม
+ต้นน้ำ
+ต้นบท
+ต้นแบบ
+ต้นเพลิง
+ต้นมือ
+ต้นไม้
+ต้นร่าง
+ต้นร้ายปลายดี
+ต้นเรือ
+ต้นเรื่อง
+ต้นวายปลายดก
+ต้นสังกัด
+ต้นสายปลายเหตุ
+ต้นเสียง
+ต้นหน
+ต้นเหตุ
+ตนัย
+ตนุ
+ตนุมัธยมา
+ตนุมัธยา
+ตบ
+ตบตา
+ตบแต่ง
+ตบเท้า
+ตบแผละ
+ตบมือ
+ตบมือข้างเดียวไม่ดัง
+ตบยุง
+ตบหัวกลางศาลา ขอขมาที่บ้าน
+ตบหัวลูบหลัง
+ตบะ
+ตปนียะ
+ตม-
+ต้ม
+ต้มกะทิ
+ต้มกะปิ
+ต้มข่า
+ต้มเค็ม
+ต้มโคล้ง
+ต้มปลาร้า
+ต้มเปรต
+ต้มเปอะ
+ต้มยำ
+ต้มยำกะทิ
+ต้มส้ม
+ต้มสุก
+ตมูก
+ตโม-
+ตโมนุท
+ตโมไพรี
+ตโมหร
+ตยาค
+ตยาคี
+ตยุติ
+ตรง
+ตรงๆ
+ตรงกัน
+ตรงกันข้าม
+ตรณี
+ตรม
+ตรมตรอม
+ตรมเตรียม
+ตรมวล
+ตรรก-
+ตรรกศาสตร์
+ตรรกะ
+ตรลบ
+ตรลอด
+ตรละ
+ตรลา
+ตรลาด
+ตรเลิด
+ตรวจ
+ตรวจการณ์
+ตรวจข่าว
+ตรวจตรา
+ตรวจเลือด
+ตรวด
+ตรวน
+ตรวย
+ตรอก
+ตรอง
+ตรอมใจ
+ตรอมตรม
+ตระ
+ตระกล
+ตระกวน
+ตระกอง
+ตระกัด
+ตระการ
+ตระกูล
+ตระกูลมูลชาติ
+ตระคัร
+ตระง่อง
+ตระจัก
+ตระชัก
+ตระเชิญ
+ตระดก
+ตระดาษ
+ตระเตรียม
+ตระแตร้น
+ตระทรวง
+ตระนาว
+ตระไน
+ตระบก
+ตระบอก
+ตระบอง
+ตระบัด
+ตระบัดสัตย์
+ตระบัน
+ตระเบ็ง
+ตระแบ่
+ตระแบก
+ตระแบง
+ตระแบน
+ตระแบ่น
+ตระโบม
+ตระพอง
+ตระพัง
+ตระมื่น
+ตระโมจ
+ตระลาการ
+ตระวัน
+ตระเว็ด
+ตระเวน
+ตระเวนไพร
+ตระเวนวัน
+ตระเวนเวหา
+ตระสัก
+ตระหง่อง
+ตระหง่าน
+ตระหนก
+ตระหนัก
+ตระหน่ำ
+ตระหนี่
+ตระหนี่ตัว
+ตระอร
+ตระอาล
+ตระโอม
+ตรัง
+ตรังค-
+ตรังค์
+ตรังคนที
+ตรังควชิราวดี
+ตรับ
+ตรับฟัง
+ตรัย
+ตรัยตรึงศ์
+ตรัส
+ตรัสรู้
+ตรัสสา
+ตรา
+ตรากตรำ
+ตราขุนพล
+ตราจอง
+ตราชู
+ตราแดง
+ตราตั้ง
+ตราบ
+ตราบเท่า
+ตราบาป
+ตราไปรษณียากร
+ตราภูมิ
+ตรายาง
+ตราสัง
+ตราสาร
+ตราสิน
+ตราหน้า
+ตรำ
+ตร่ำ
+ตริ
+ตริตรอง
+ตริว
+ตรี
+ตรีกฏุก
+ตรีกันสวาต
+ตรีกาล
+ตรีกาฬพิษ
+ตรีกูฏ
+ตรีเกสรมาศ
+ตรีโกณ
+ตรีโกณมิติ
+ตรีคูณ
+ตรีจีวร
+ตรีฉินทลามกา
+ตรีชาต
+ตรีญาณรส
+ตรีทศ
+ตรีทิพ
+ตรีทิพยรส
+ตรีทุรวสา
+ตรีทูต
+ตรีเทวตรีคันธา
+ตรีโทษ
+ตรีธารทิพย์
+ตรีนิศก
+ตรีเนตร
+ตรีบถ
+ตรีบูร
+ตรีประดับ
+ตรีปวาย
+ตรีปิฎก
+ตรีปิตผล
+ตรีผลธาตุ
+ตรีผลสมุตถาน
+ตรีผลา
+ตรีพิธพรรณ
+ตรีพิษจักร
+ตรีเพชรทัณฑี
+ตรีเพชรพวง
+ตรีเพชรสมคุณ
+ตรีภพ
+ตรีภพนาถ
+ตรีภูมิ
+ตรีภูว
+ตรีมธุร
+ตรีมูรติ
+ตรียมก
+ตรียัมปวาย
+ตรีรัตน์
+ตรีโลก
+ตรีโลกนาถ
+ตรีโลเกศ
+ตรีโลจน์
+ตรีโลหก
+ตรีโลหะ
+ตรีวาตผล
+ตรีศก
+ตรีศูล
+ตรีสมอ
+ตรีสมุตถาน
+ตรีสัตกุลา
+ตรีสันนิบาตผล
+ตรีสาร
+ตรีสินธุรส
+ตรีสุคนธ์
+ตรีสุรผล
+ตรีเสมหผล
+ตรีอมฤต
+ตรีอากาศผล
+ตรีเอกภาพ
+ตรีเอกานุภาพ
+ตรึก
+ตรึกตรอง
+ตรึกถอง
+ตรึง
+ตรึงตรา
+ตรึงศ-
+ตรุ
+ตรุณ
+ตรุย
+ตรุษ
+ตรุษจีน
+ตรู
+ตรู่
+ตฤณ
+ตฤณ-
+ตฤณชาติ
+ตฤณมัย
+ตฤตีย-
+ตฤตียะ
+ตฤท
+ตฤป
+ตฤษณา
+ตฤๅ
+ตล
+ตลก
+ตลกคะนอง
+ตลกบาตร
+ตลกโปกฮา
+ตลกหัวเราะ
+ตลบ
+ตลบตะแลง
+ตลบนก
+ตลบหลัง
+ตลอด
+ตลอดรอดฝั่ง
+ตละ
+ตลับ
+ตลับนาก
+ตลาด
+ตลาดเงิน
+ตลาดท้องน้ำ
+ตลาดนัด
+ตลาดน้ำ
+ตลาดมืด
+ตลาดยี่สาน
+ตลาดสด
+ตลาดหน้าคุก
+ตลาดหลักทรัพย์
+ตลาดหุ้น
+ตลิ่ง
+ตลึง
+ตวง
+ตวงพระธาตุ
+ต่วน
+ต้วมเตี้ยม
+ตวัก
+ตวัด
+ตวาด
+ตอ
+ต่อ
+ต้อ
+ตอก
+ต๊อก
+ต๊อกๆ
+ต๊อกต๋อย
+ต่อกร
+ต้อกระจก
+ตอกหน้า
+ต่อกิ่ง
+ต่อความยาวสาวความยืด
+ตอง
+ต้อง
+ตองกราย
+ต้องกัน
+ต้องการ
+ต้องคดี
+ต้องใจ
+ตองตอย
+ต้องตา
+ต้องเต
+ตองแตก
+ต่องแต่ง
+ต้องโทษ
+ต้องธรณีสาร
+ตองเปรียง
+ต้องสู้
+ต้องหา
+ตองเหลือง
+ตอด
+ตอดต่อ
+ต่อตา
+ต่อต้าน
+ต่อตาม
+ต่อตี
+ต่อแต้ม
+ตอน
+ต้อน
+ต้อนรับ
+ต้อนรับขับสู้
+ต้อนหมูเข้าเล้า
+ต่อนัดต่อแนง
+ต้อเนื้อ
+ตอบ
+ตอบโต้
+ตอบแทน
+ตอเบา
+ต่อปาก
+ต่อปากต่อคำ
+ต่อปากหลากคำ
+ตอม
+ต่อม
+ต๋อม
+ต่อมน้ำ
+ต่อมโลหิต
+ตอม่อ
+ต่อย
+ต้อย
+ต้อยๆ
+ต้อยตริ่ง
+ต้อยติ่ง
+ต้อยตีวิด
+ต่อยหอย
+ตอแย
+ต่อแย้ง
+ตอร์ปิโด
+ต่อล้อต่อเถียง
+ต้อลำไย
+ต้อลิ้นหมา
+ต่อว่า
+ต่อสู้
+ต่อไส้
+ต่อหน้า
+ต่อหน้ามะพลับ ลับหลังตะโก
+ต้อหิน
+ตอแหล
+ต่ออายุ
+ตะ
+ตะกรน
+ตะกรวย
+ตะกร้อ
+ตะกร่อม
+ตะกรัน
+ตะกรับ
+ตะกร้า
+ตะกราม
+ตะกรุด
+ตะกรุม
+ตะกรุมตะกราม
+ตะกละ
+ตะกลาม
+ตะกวด
+ตะกอ
+ตะกอน
+ตะกัง
+ตะกั่ว
+ตะกั่วเกรียบ
+ตะกั่วแดง
+ตะกั่วตัด
+ตะกาง
+ตะกาด
+ตะกาย
+ตะกาว
+ตะกุกตะกัก
+ตะกุย
+ตะกุยตะกาย
+ตะกู
+ตะกูด
+ตะเกียกตะกาย
+ตะเกียง
+ตะเกียงแก๊ส
+ตะเกียงรั้ว
+ตะเกียงลาน
+ตะเกียบ
+ตะแก
+ตะแก่
+ตะแกรง
+ตะโก
+ตะโก้
+ตะโกก
+ตะโกขาว
+ตะโกดำ
+ตะโกน
+ตะโกรง
+ตะโกรม
+ตะโกส้ม
+ตะไกร
+ตะขบ
+ตะขบฝรั่ง
+ตะขอ
+ตะขาบ
+ตะขิดตะขวง
+ตะเข้
+ตะเข้ขบฟัน
+ตะเข็บ
+ตะเข็บไต่ขอน
+ตะเขิง
+ตะโขง
+ตะคร้อ
+ตะครอง
+ตะครั่นตะครอ
+ตะคร้ำ
+ตะคริว
+ตะครุบ
+ตะครุบกบ
+ตะคลับตะคล้าย
+ตะคอก
+ตะคัน
+ตะค้า
+ตะคาก
+ตะคาง
+ตะค้าทอง
+ตะค้าน
+ตะคิว
+ตะคุ่ม
+ตะคุ่มๆ
+ตะเครียว
+ตะเคียน
+ตะเคียนทอง
+ตะเคียนเผือก
+ตะเคียว
+ตะแคง
+ตะไคร่
+ตะไคร้
+ตะไคร้แดง
+ตะไคร้น้ำ
+ตะไคร้บก
+ตะไคร้หอม
+ตะไคร้หางนาค
+ตะเฆ่
+ตะแง้
+ตะติน
+ตะแตร้น
+ตะนอย
+ตะนาว
+ตะบม
+ตะบอง
+ตะบองกัน
+ตะบองแดง
+ตะบองเพชร
+ตะบอย
+ตะบัน
+ตะบันไฟ
+ตะบิ้ง
+ตะบิด
+ตะบิดตะบอย
+ตะบี้ตะบัน
+ตะบึง
+ตะบุ้ย
+ตะบุ้ยๆ
+ตะบูน
+ตะเบ็ง
+ตะเบ็งมาน
+ตะแบก
+ตะแบง
+ตะแบงมาน
+ตะโบม
+ตะไบ
+ตะปบ
+ตะปลิง
+ตะปัดตะป่อง
+ตะปิ้ง
+ตะปุ่มตะป่ำ
+ตะปู
+ตะปูเข็ม
+ตะปูควง
+ตะปูหัวเห็ด
+ตะพง
+ตะพด
+ตะพอง
+ตะพัก
+ตะพัง
+ตะพัด
+ตะพั้น
+ตะพาก
+ตะพาน
+ตะพานช้าง
+ตะพานหนู
+ตะพาบ
+ตะพาบน้ำ
+ตะพาย
+ตะพายแล่ง
+ตะพึด
+ตะพึดตะพือ
+ตะพุ่น
+ตะพุ่นหญ้าช้าง
+ตะเพรา
+ตะเพิง
+ตะเพิด
+ตะเพิ่น
+ตะเพียน
+ตะเพียนทอง
+ตะเพียนน้ำเค็ม
+ตะโพก
+ตะโพง
+ตะโพน
+ตะเภา
+ตะเภาเดียวกัน
+ตะใภ้
+ตะม่อ
+ตะมอย
+ตะยองสะลา
+ตะรัง
+ตะรังกะนู
+ตะรังตังกวาง
+ตะรังตังช้าง
+ตะราง
+ตะลอง
+ตะลอน
+ตะล่อม
+ตะล่อมข้าว
+ตะล่อมป้อม
+ตะละ
+ตะลาน
+ตะลิงปลิง
+ตะลิบ
+ตะลีตะลาน
+ตะลึง
+ตะลึงพรึงเพริด
+ตะลุง
+ตะลุ่ม
+ตะลุ่มนก
+ตะลุมบอน
+ตะลุ่มโปง
+ตะลุมพอ
+ตะลุมพุก
+ตะลุ่มอิด
+ตะลุย
+ตะเลง
+ตะแลงแกง
+ตะไล
+ตะวัน
+ตะวันขึ้น
+ตะวันตก
+ตะวันยอแสง
+ตะวันออก
+ตะวันออกกลาง
+ตะวันออกใกล้
+ตะวันออกไกล
+ตะวันอ้อมข้าว
+ตะวาง
+ตะเวน
+ตะหนึ่งรัด
+ตะหลิว
+ตะหลุก
+ตะหลุง
+ตะเหลนเป๋น
+ตะเหลาะเปาะ
+ตะแหง่วๆ
+ตะแหมะแขะ
+ตะแหลนแป๋น
+ตะโหงก
+ตัก
+ตักกะ
+ตักตวง
+ตักเตือน
+ตั๊กแตน
+ตักน้ำรดหัวตอ
+ตักน้ำรดหัวสาก
+ตักน้ำใส่กะโหลก ชะโงกดูเงา
+ตักบาตร
+ตักบาตรอย่าถามพระ
+ตักษณ
+ตักษณี
+ตักษัย
+ตัง
+ตั่ง
+ตั้ง
+ตั้งกรม
+ตังเก
+ตั้งเข็ม
+ตั้งไข่
+ตั้งเค้า
+ตั้งแง่
+ตั้งใจ
+ตังฉ่าย
+ตั้งต้น
+ตั้งตัว
+ตั้งตาคอย
+ตังติด
+ตั้งแต่
+ตั้งแต่ง
+ตั้งโต๊ะ
+ตั้งท่า
+ตั้งธาตุ
+ตั้งนาฬิกา
+ตั้งนาฬิกาปลุก
+ตั้งเป้าหมาย
+ตังเม
+ตังวาย
+ตั้งหน้า
+ตั้งหน้าตั้งตา
+ตั้งหัวเรือ
+ตั้งอกตั้งใจ
+ตังโอ๋
+ตัจฉก
+ตัจฉนี
+ตัณฑุล
+ตัณหักษัย
+ตัณหา
+ตัด
+ตัดกัน
+ตัดขาด
+ตัดใจ
+ตัดช่องน้อยแต่พอตัว
+ตัดช่องย่องเบา
+ตัดเชือก
+ตัดญาติขาดมิตร
+ตัดต้นไฟ
+ตัดตอน
+ตัดถนน
+ตัดทาง
+ตัดบท
+ตัดประเด็น
+ตัดเป็นตัดตาย
+ตัดพ้อ
+ตัดไพ่
+ตัดไฟต้นลม
+ตัดไฟหัวลม
+ตัดไม้ข่มนาม
+ตัดรอน
+ตัดราคา
+ตัดสิน
+ตัดสินใจ
+ตัดเส้น
+ตัดหนทาง
+ตัดหน้า
+ตัดหน้าฉาน
+ตัดหนามอย่าไว้หน่อ
+ตัดหางปล่อยวัด
+ตัตว-
+ตัตวศาสตร์
+ตัถย์
+ตัน
+ตันคอหอย
+ตันตระ
+ตันติ
+ตันติภาษา
+ตันปัญญา
+ตันหยง
+ตันเหิม
+ตันอกตันใจ
+ตับ
+ตับแข็ง
+ตับเต่า
+ตับเต่าขาว
+ตับปิ้ง
+ตับเป็ด
+ตับเพลง
+ตับเรื่อง
+ตับเหล็ก
+ตับอ่อน
+ตัว
+ตั๋ว
+ตัวกลั่น
+ตัวกลาง
+ตัวการ
+ตัวเก็ง
+ตัวคูณร่วมน้อย
+ตัวโค
+ตัวใครตัวมัน
+ตัวเงิน
+ตั๋วเงิน
+ตั๋วเงินคลัง
+ตั๋วเงินจ่าย
+ตั๋วเงินรับ
+ตัวจักรใหญ่
+ตัวจำนำ
+ตัวจี๊ด
+ตัวเชิด
+ตัวดี
+ตัวต่อตัว
+ตัวตั้ง
+ตัวตั้งตัวตี
+ตัวตายตัวแทน
+ตัวตืด
+ตัวเต็ง
+ตัวแทน
+ตัวแทนค้าต่าง
+ตัวแทนช่วง
+ตัวแทนเชิด
+ตัวนาง
+ตัวนำ
+ตัวประกอบ
+ตัวประกัน
+ตัวเป็นเกลียว
+ตัวเปล่า
+ตัวแปร
+ตัวผู้
+ตั้วโผ
+ตัวพระ
+ตัวพิมพ์
+ตัวเมีย
+ตัวเมือง
+ตัวไม้
+ตัวยืน
+ตัวเลข
+ตั๋วแลกเงิน
+ตัวสะกด
+ตั๋วสัญญาใช้เงิน
+ตั้วสิว
+ตัวหนังสือ
+ตัวหารร่วมมาก
+ตั้วเหี่ย
+ตัวอย่าง
+ตัวเอก
+ตา
+ตาก
+ตากตน
+ตากบ
+ตากบตาเขียด
+ตากล้อง
+ตากลับ
+ตากล้า
+ตากวาง
+ตากสมอง
+ตากหน้า
+ตากอากาศ
+ตากุ้ง
+ตาโก้ง
+ตาไก่
+ตาขวาง
+ตาขอ
+ตาข่าย
+ตาขาว
+ตาขุ่นตาเขียว
+ตาเข
+ตาแข็ง
+ตาคม
+ตาค้าง
+ตาง
+ต่าง
+ต่างๆ
+ต่างด้าว
+ต่างว่า
+ต่างหาก
+ตางัว
+ตาจระเข้
+ตาชั่ง
+ตาช้าง
+ตาด
+ตาเดียว
+ตาแดง
+ตาตกกล้า
+ตาตั๊กแตน
+ตาตั้ง
+ตาตาราง
+ตาตี่
+ตาตุ่ม
+ตาเต็ง
+ตาโต
+ตาถั่ว
+ตาทวด
+ตาทัพ
+ตาน
+ต่าน
+ต้าน
+ตานกแก้ว
+ตานขโมย
+ต้านทาน
+ตานนกกด
+ตานเสี้ยน
+ตานหก
+ตานหม่อน
+ตานเหลือง
+ตาน้ำ
+ตานี
+ตาบ
+ตาบทับ
+ตาบทิศ
+ตาบอด
+ตาบอดคลำช้าง
+ตาบอดได้แว่น
+ตาบอดตาใส
+ตาบอดสอดตาเห็น
+ตาบอดสี
+ตาปลา
+ตาปลาดุก
+ตาปี
+ตาปีตาชาติ
+ตาปู
+ตาเป็นมัน
+ตาเป็นสับปะรด
+ตาโป่ง
+ตาฝั่ง
+ตาฝาด
+ตาพร่า
+ตาพอง
+ตาฟาง
+ตาฟางไก่
+ตาเฟื้องตาสลึง
+ตาม
+ตามกวาง
+ตามควาย
+ตามใจ
+ตามใจปากมากหนี้
+ตามใจปากลำบากท้อง
+ตามด
+ตามที
+ตามเนื้อผ้า
+ตามบุญตามกรรม
+ตามพ-
+ตามพหัตถี
+ตามพะ
+ตามเพลง
+ตามมี
+ตามมีตามเกิด
+ตามยถากรรม
+ตามเรื่องตามราว
+ตามลมตามแล้ง
+ตามลำพัง
+ตามอำเภอใจ
+ตามะแน
+ตามิน
+ตามีตามา
+ตาแมว
+ตาย
+ต้าย
+ตายขาน
+ตายขุย
+ตายคาที่
+ตายโคม
+ตายใจ
+ตายซาก
+ตายด้าน
+ตายดาบหน้า
+ตายตัว
+ตายทั้งกลม
+ตายน้อย
+ตายนึ่ง
+ตายประชดป่าช้า
+ตายเป็นเบือ
+ตายฝอย
+ตายฝังยังเลี้ยง
+ตายพราย
+ตายราบ
+ตายลาภ
+ตายห่า
+ตายโหง
+ตายอดตายอยาก
+ตาราง
+ตารางสอน
+ตารางเหลี่ยม
+ตาราไต
+ตาร้าย
+ตาริ้ว
+ตาเรือ
+ตาเรือชัย
+ตาล
+ตาลปัตร
+ตาลปัตรบังเพลิง
+ตาลปัตรฤๅษี
+ตาลม
+ตาลยอดด้วน
+ตาลอ
+ตาลอย
+ตาลาน
+ตาลาย
+ตาลีตาเหลือก
+ตาลุ
+ตาลุก
+ตาลุกตาชัน
+ตาลุชะ
+ตาเล็กตาน้อย
+ตาว
+ต๋าว
+ตาโศก
+ตาส่อน
+ตาสำเภา
+ตาสีตาสา
+ตาเสือ
+ตาหนู
+ตาหมากรุก
+ตาหยี
+ตาหลิ่ง
+ตาหวาน
+ตาเหล่
+ตาเหลว
+ตาเหลือก
+ตาเหลือกตาพอง
+ตาแหวน
+ตาฬ
+ตาอ้อย
+ตาเอก
+ตำ
+ต่ำ
+ตำข้าวสารกรอกหม้อ
+ต่ำใจ
+ต่ำช้า
+ต่ำตน
+ต่ำต้อย
+ตำตา
+ตำนาน
+ตำน้ำพริกละลายแม่น้ำ
+ตำเนิน
+ตำเนียน
+ตำบล
+ตำแบ
+ต้ำปุก
+ต้ำผาง
+ต้ำพรวด
+ตำแย
+ตำแยแมว
+ตำรวจ
+ตำรวจนครบาล
+ตำรวจภูธร
+ตำรวจวัง
+ตำรวจหลวง
+ตำรับ
+ตำรา
+ตำรุ
+ตำลึง
+ตำส้ม
+ตำเสา
+ตำหนัก
+ตำหนักน้ำ
+ตำหนักแพ
+ตำหนิ
+ตำหระ
+ตำแหน่ง
+ตำแหน่งที่ตั้ง
+ติ
+ติก-
+ติกะ
+ติกาหรัง
+ติง
+ติ่ง
+ติ๋ง
+ติ๋งๆ
+ติ่งตั่ง
+ติงทุเลา
+ติงส-
+ติงสติ
+ติงสติม-
+ติ่งหาย
+ติณ
+ติณ-
+ติณชาติ
+ติด
+ติดๆ
+ติดกระดุม
+ติดกัณฑ์เทศน์
+ติดเก้ง
+ติดขัด
+ติดเครื่อง
+ติดจะ
+ติดจักรยาน
+ติดใจ
+ติดตลก
+ติดตลาด
+ติดต่อ
+ติดต้อยห้อยตาม
+ติดตะกร้อ
+ติดตัว
+ติดตา
+ติดตาม
+ติดตื้น
+ติดบวก
+ติดบ่อน
+ติดปาก
+ติดพัน
+ติดไฟ
+ติดมือ
+ติดไม้ติดมือ
+ติดร่างแห
+ติดลบ
+ติดลม
+ติดศัพท์
+ติดสอยห้อยตาม
+ติดสัด
+ติดสำนวน
+ติดสินบน
+ติดหน้าตามหลัง
+ติดหมัด
+ติดหลังแห
+ติดแห้ง
+ติดอันดับ
+ติดอ่าง
+ติตติก
+ติตติร
+ติตถ
+ติเตียน
+ติถี
+ติปา
+ติปาถะ
+ติมิ
+ติมิงคละ
+ติร
+ติรัจฉาน
+ติเรือทั้งโกลน
+ติล
+ติลก
+ติ้ว
+ติ้วใบเลื่อม
+ตี
+ตี่
+ตีกรรเชียง
+ตีกาก
+ตีกิน
+ตีเกล็ด
+ตีเกลียว
+ตีไก่
+ตีขนาบ
+ตีขลุม
+ตีความ
+ตีคอ
+ตีคู่
+ตีงูให้กากิน
+ตีงูให้หลังหัก
+ตีจาก
+ตีชิง
+ตีตนก่อนไข้
+ตีตนตายก่อนไข้
+ตีตรวน
+ตีตั๋ว
+ตีต่าง
+ตีตื้น
+ตีแตะ
+ตีโต้
+ตีทอง
+ตีทะเบียน
+ตีท้ายครัว
+ตีท้ายน้ำ
+ตีน
+ตีนกา
+ตีนครุ
+ตีนคู้
+ตีนจก
+ตีนจ้ำ
+ตีนตะขาบ
+ตีนตุ๊กแก
+ตีนเต่า
+ตีนถีบปากกัด
+ตีนเท่าฝาหอย
+ตีนเทียน
+ตีนนก
+ตีนเป็ด
+ตีนผี
+ตีนแรด
+ตีนโรงตีนศาล
+ตีนเหยียด
+ตีบ
+ตีบรรทัด
+ตีบังกั้น
+ตี่ใบ้
+ตีปลาหน้าไซ
+ตีป่า
+ตี่ป้าบ
+ตีป่าให้เสือกลัว
+ตีปีก
+ตีแปลง
+ตีผี
+ตีผึ้ง
+ตีแผ่
+ตีฝีปาก
+ตีโพยตีพาย
+ตีมอง
+ตีรถะ
+ตีระ
+ตีรั้ง
+ตีลังกา
+ตีวง
+ตีวัวกระทบคราด
+ตีสนิท
+ตีสองหน้า
+ตีสำนวน
+ตีเส้น
+ตีเสมอ
+ตีเสียง
+ตีเสียว่า
+ตีหน้า
+ตีหน้าตาย
+ตีหน้ายักษ์
+ตีหลายหน้า
+ตีห่าง
+ตีอวน
+ตีอีตื้อ
+ตึ
+ตึๆ
+ตึก
+ตึกๆ
+ตึ้กๆ
+ตึ้กตั้ก
+ตึกแถว
+ตึกระฟ้า
+ตึง
+ตึงๆ
+ตึงเครียด
+ตึงตัง
+ตึงตัว
+ตึงเปรี๊ยะ
+ตึดตื๋อ
+ตึ๊ดตื๋อ
+ตึตัง
+ตืด
+ตื่น
+ตื้น
+ตื่นข่าว
+ตื้นตัน
+ตื้นตันใจ
+ตื่นตัว
+ตื่นตาตื่นใจ
+ตื่นตาย
+ตื่นตูม
+ตื่นเต้น
+ตื่นแต่ดึก สึกแต่หนุ่ม
+ตื่นฟ้า
+ตื้อ
+ตื๊อ
+ตื๋อ
+ตุ
+ตุๆ
+ตุ๊
+ตุ๊กแก
+ตุ๊กแกใบกลม
+ตุ๊กตา
+ตุ๊กตาล้มลุก
+ตุ๊กตาเสียกบาล
+ตุ๊กต่ำ
+ตุ๊กต่ำน้ำทอง
+ตุกติก
+ตุ๊กติ๊ก
+ตุ๊กตุ่น
+ตุ๊กตุ๋ย
+ตุง
+ตุ้งก่า
+ตุ้งติ้ง
+ตุ๊ดตู่
+ตุ๊ต๊ะ
+ตุตัง
+ตุน
+ตุ่น
+ตุ่นๆ
+ตุ๋น
+ตุ่นต่าน
+ตุนาหงัน
+ตุบๆ
+ตุ้บ
+ตุ้บๆ
+ตุ้บตั้บ
+ตุ๊บป่อง
+ตุปัดตุป่อง
+ตุปัดตุเป๋
+ตุ่ม
+ตุ้ม
+ตุ๋ม
+ตุ้มกว้าว
+ตุมกา
+ตุ้มแซะ
+ตุมตัง
+ตุ้มเต๋น
+ตุ้มปี่
+ตุมพ
+ตุมพรวด
+ตุ้มมะพร้าว
+ตุ้มหู
+ตุ่ย
+ตุ่ยๆ
+ตุ้ย
+ตุ้ยๆ
+ตุ๊ย
+ตุ๋ยตุ่ย
+ตุรค
+ตุรงค-
+ตุรงค์
+ตุรงคราวี
+ตุริยางค์
+ตุล
+ตุลสิ
+ตุลา
+ตุลาการ
+ตุลาคม
+ตุหรัดตุเหร่
+ตู
+ตู่
+ตู้
+ตูก
+ตูข้า
+ตูด
+ตูดงอน
+ตู่ตัว
+ตู้นิรภัย
+ตูบ
+ตู้พระมาลัย
+ตู่พุทธพจน์
+ตูม
+ตูมๆ
+ตูมตาม
+ตูลิ่นฮื้อ
+ตูหนา
+เต
+เตก
+เต๊ก
+เต็ง
+เต่ง
+เตช
+เตโช
+เตโชธาตุ
+เต้น
+เต้นกินรำกิน
+เต้นเขน
+เต็นท์
+เต้นรำ
+เต้นแร้งเต้นกา
+เต้นแร้งเต้นแฉ่ง
+เต็ม
+เต็มแกน
+เต็มคราบ
+เต็มใจ
+เต็มตัว
+เต็มตา
+เต็มตื้น
+เต็มเต็ง
+เต็มที
+เต็มที่
+เต็มบาท
+เต็มประดา
+เต็มประตู
+เต็มปาก
+เต็มเปา
+เต็มมือ
+เต็มเม็ดเต็มหน่วย
+เต็มไม้เต็มมือ
+เต็มยศ
+เต็มรัก
+เต็มหู
+เต็มเหนี่ยว
+เต็มเหยียด
+เต็มอก
+เต็มอกเต็มใจ
+เต็มอัตรา
+เตย
+เตยเลื้อย
+เตร่
+เตร็ด
+เตร็ดเตร่
+เตร็ดเตรน
+เตรน
+เตริง
+เตรียด
+เตรียบ
+เตรียม
+เตรียมตรม
+เตรียมตัว
+เตรียมพร้อม
+เตละ
+เตลิด
+เตว็ด
+เต่อ
+เตอะ
+เตะ
+เตะจมูก
+เตะฉาก
+เตะโด่ง
+เตะตา
+เตะฝุ่น
+เตา
+เต่า
+เต้า
+เต๋า
+เต่ากระสุน
+เต่ากินผักบุ้ง
+เต่าเกียด
+เตาแก๊ส
+เต๋าเขย่า
+เต้าแคน
+เต้าเจี้ยว
+เต่าดำ
+เต่าทอง
+เต่าทอเสื่อ
+เต้าทึง
+เตาทุเรียง
+เต่านา
+เต่าบ้า
+เต้าปืน
+เตาผิง
+เตาฟู่
+เตาไฟ
+เต่ารั้ง
+เต้ารับ
+เต่าร้าง
+เตารีด
+เต่าเลือน
+เต้าส่วน
+เตาสูบ
+เต้าเสียบ
+เต่าหก
+เต่าหวาย
+เต่าหับ
+เต้าหู้
+เต้าหู้ยี้
+เต่าเหลี่ยม
+เต่าเหลือง
+เต้าฮวย
+เต๊าะ
+เตาะแตะ
+เติ่ง
+เตินเต่อ
+เติบ
+เติบโต
+เติม
+เตี้ย
+เตียง
+เตียงลา
+เตี้ยตน
+เตียน
+เตียบ
+เตี๋ยม
+เตียรถ์
+เตียว
+เตี่ยว
+เตี้ยอุ้มค่อม
+เตื้อ
+เตือน
+เตือนใจ
+เตือนตา
+เตือนสติ
+แต่
+แต่ๆ
+แต้
+แตก
+แตกคอ
+แตกเงิน
+แตกฉาน
+แตกฉานซ่านเซ็น
+แตกดับ
+แตกตื่น
+แตกแตน
+แตกทัพ
+แตกเนื้อสาว
+แตกเนื้อหนุ่ม
+แตกฝูง
+แตกพาน
+แตกมัน
+แตกแยก
+แตกระแหง
+แตกร้าว
+แตกหัก
+แต่ก่อนแต่กี้
+แต่กี้แต่ก่อน
+แตง
+แต่ง
+แต่งกว้าน
+แต่งการ
+แต่งงาน
+แต่งตั้ง
+แต่งตัว
+แตงเถาตาย
+แตงเม
+แตงร่มใบ
+แต่งหน้า
+แต่งหน้าขนม
+แต้จิ๋ว
+แตด
+แต๊ดแต๋
+แต่ทว่า
+แตน
+แต้ม
+แต้มคู
+แต้มต่อ
+แตร
+แตรงอน
+แตรเดี่ยว
+แตรฝรั่ง
+แตรฟันฟาร์
+แตรรถยนต์
+แตรลำโพง
+แตรวง
+แตรวงโยธวาทิต
+แตระ
+แต่ละ
+แต้ว
+แต้วแร้ว
+แต้วแล้ว
+แต่ว่า
+แต้แว้ด
+แตะ
+แตะต้อง
+โต
+โต้
+โตก
+โต้คารม
+โต่ง
+โต้ง
+โต้งๆ
+โตงเตง
+โตงๆ เตงๆ
+โตฎก
+โต๊ด
+โต้ตอบ
+โต้เถียง
+โตน
+โตนด
+โต้โผ
+โตมร
+โตมร-
+โตมรธร
+โตย
+โต้แย้ง
+โตรก
+โตรกไตร
+โตรด
+โต้รุ่ง
+โตเล่นหาง
+โต้วาที
+โต้หลง
+โต๊ะ
+โต๊ะกลม
+โต๊ะโขก
+โต๊ะเท้าช้าง
+โต๊ะหมู่
+โต๊ะหมู่บูชา
+โต๊ะอิหม่าม
+ใต้
+ใต้ดิน
+ใต้ถุน
+ใต้เท้า
+ใต้เท้ากรุณา
+ใต้เท้ากรุณาเจ้า
+ใต้ฝ่าพระบาท
+ใต้ฝ่าละอองธุลีพระบาท
+ใต้ฝ่าละอองพระบาท
+ไต
+ไต่
+ไต้
+ไต๋
+ไต้ก๋ง
+ไต่คู้
+ไต่เต้า
+ไต่ถาม
+ไตปลา
+ไต้ฝุ่น
+ไต้ไฟ
+ไต่ไม้
+ไต่ไม้ลำเดียว
+ไตร
+ไตรกิศยา
+ไตรจักร
+ไตรจีวร
+ไตรดายุค
+ไตร่ตรอง
+ไตรตรา
+ไตรตรึงษ์
+ไตรทวาร
+ไตรทศ
+ไตรทิพ
+ไตรทิพย์
+ไตรปิฎก
+ไตรเพท
+ไตรภพ
+ไตรภาคี
+ไตรภูมิ
+ไตรย
+ไตรยางศ์
+ไตรรงค์
+ไตรรัตน์
+ไตรลักษณ์
+ไตรโลก
+ไตรโลกย์
+ไตรวัฏ
+ไตรวิชชา
+ไตรสรณคมน์
+ไตรสรณาคมน์
+ไตรสิกขา
+ไต่ลวด
+ไต่สวน
+ไต้หวัน
+ถ
+ถก
+ถกเขมร
+ถกเถียง
+ถกล
+ถงัน
+ถงาด
+ถด
+ถดถอย
+ถน
+ถนน
+ถนนลาดยาง
+ถนป
+ถนอม
+ถนอมอาหาร
+ถนัด
+ถนัดขวา
+ถนัดใจ
+ถนัดซ้าย
+ถนัดถนี่
+ถนัดปาก
+ถนัดมือ
+ถนัน
+ถนำ
+ถนำทึก
+ถนิม
+ถนิมกาม
+ถนิมสร้อย
+ถบ
+ถบดี
+ถม
+ถ่ม
+ถมเงิน
+ถมตะทอง
+ถมถืด
+ถมเถ
+ถมทอง
+ถ่มน้ำลายรดฟ้า
+ถมปรักมาศ
+ถมปัด
+ถมไป
+ถ่มร้าย
+ถมอ
+ถมึงทึง
+ถล
+ถลก
+ถลกบาตร
+ถลน
+ถลม
+ถล่ม
+ถลอก
+ถลัน
+ถลา
+ถลาก
+ถลากถลำ
+ถลากไถล
+ถลาย
+ถลำ
+ถลำใจ
+ถลำตัว
+ถลำถลาก
+ถลีถลำ
+ถลึงตา
+ถลุง
+ถลุน
+ถ่วง
+ถ่วงดุล
+ถ่วงล้อ
+ถ้วน
+ถ้วนถี่
+ถ้วย
+ถ้วยตวง
+ถ้วยโถง
+ถ้วยรางวัล
+ถวัด
+ถวัดถวัน
+ถวัล
+ถวัลย์
+ถวาย
+ถวายกร
+ถวายตัว
+ถวายเนตร
+ถวายพระพร
+ถวายหัว
+ถวิน
+ถวิล
+ถ่อ
+ถ้อ
+ถอก
+ถอง
+ถ่อง
+ถ้อง
+ถ่องแถว
+ถ่องแท้
+ถอด
+ถอดเขี้ยวถอดเล็บ
+ถอดความ
+ถอดถอน
+ถอดไพ่
+ถอดรหัส
+ถอดรูป
+ถอดสี
+ถอดหัวโขน
+ถ้อถอย
+ถ้อถ้อย
+ถอน
+ถอนเงิน
+ถอนใจใหญ่
+ถอนต้นก่นราก
+ถอนทุน
+ถอนพิษ
+ถอนยวง
+ถอนรากถอนโคน
+ถอนสมอ
+ถอนสายบัว
+ถอนหงอก
+ถอบ
+ถอบแถบ
+ถ่อม
+ถ่อมตัว
+ถอย
+ถ่อย
+ถ้อย
+ถอยกรูด
+ถ้อยความ
+ถ้อยคำ
+ถอยใจใหญ่
+ถอยฉะ
+ถอยฉาก
+ถอยถด
+ถ้อยแถลง
+ถอยทด
+ถอยทัพ
+ถ้อยทีถ้อยปฏิบัติต่อกัน
+ถ้อยทีถ้อยอาศัยกัน
+ถอยหลัง
+ถอยหลังเข้าคลอง
+ถะ
+ถะกัด
+ถะเกิน
+ถะโกน
+ถะถั่น
+ถะถับ
+ถะถุนถะถัน
+ถะมัดถะแมง
+ถัก
+ถัง
+ถั่ง
+ถั่งถ้อย
+ถัณฑิล
+ถัณฑิล-
+ถัณฑิลสายี
+ถัด
+ถัทธ
+ถัน
+ถั่น
+ถั่นๆ
+ถับ
+ถับๆ
+ถัมภ์
+ถัว
+ถั่ว
+ถั่วขาว
+ถั่วคร้า
+ถั่วค้าง
+ถั่วงอก
+ถั่วดำ
+ถั่วนา
+ถั่วแปบ
+ถั่วแปบช้าง
+ถั่วฝักยาว
+ถั่วพร้า
+ถั่วพู
+ถั่วเพาะ
+ถั่วแม่ตาย
+ถั่วแระ
+ถั่วเหลือง
+ถา
+ถ้า
+ถาก
+ถากถาง
+ถาง
+ถ่าง
+ถ่างตา
+ถาด
+ถาโถม
+ถาน
+ถ่าน
+ถ่านโค้ก
+ถ่านไฟเก่า
+ถ่านไฟฉาย
+ถ่านไฟแช็ก
+ถ่านหิน
+ถาบ
+ถาม
+ถามค้าน
+ถามติง
+ถามไถ่
+ถามนำ
+ถามปากคำ
+ถามะ
+ถ่าย
+ถ่ายเดียว
+ถ่ายทอด
+ถ่ายทุกข์
+ถ่ายเท
+ถ่ายแบบ
+ถ่ายปัสสาวะ
+ถ่ายภาพยนตร์
+ถ่ายยา
+ถ่ายรูป
+ถ่ายอุจจาระ
+ถ่าว
+ถาวร
+ถาวร-
+ถาวรธิรา
+ถาวรวัตถุ
+ถ้าว่า
+ถ้าหากว่า
+ถ้ำ
+ถ้ำชา
+ถ้ำมอง
+ถ้ำยาดม
+ถิ่น
+ถิร-
+ถี
+ถี่
+ถี่ๆ
+ถี่ถ้วน
+ถี่เท้า
+ถีน-
+ถีบ
+ถีบกระดาน
+ถีบจักร
+ถีบจักรยาน
+ถีบฉัด
+ถีบตัว
+ถีบทาง
+ถีบรถ
+ถีบหัวส่ง
+ถี่ยิบ
+ถี่ลอดตาช้าง ห่างลอดตาเล็น
+ถึก
+ถึง
+ถึงกัน
+ถึงแก่กรรม
+ถึงแก่น
+ถึงแก่พิราลัย
+ถึงแก่มรณภาพ
+ถึงแก่อนิจกรรม
+ถึงแก่อสัญกรรม
+ถึงขนาด
+ถึงคราว
+ถึงฆาต
+ถึงเงิน
+ถึงใจ
+ถึงชีพิตักษัย
+ถึงชีวิตันตราย
+ถึงที่
+ถึงเป็นถึงตาย
+ถึงผ้า
+ถึงพริกถึงขิง
+ถึงลูกถึงคน
+ถึงว่า
+ถึงไหนถึงกัน
+ถือ
+ถือกำเนิด
+ถือโกรธ
+ถือเขาถือเรา
+ถือใจ
+ถือดี
+ถือตัว
+ถือท้าย
+ถือน้ำพระพิพัฒน์สัตยา
+ถือบวช
+ถือบังเหียน
+ถือปูน
+ถือผิว
+ถือพล
+ถือยศ
+ถือยศถือศักดิ์
+ถือเราถือเขา
+ถือว่า
+ถือศักดินา
+ถือศีล
+ถือสา
+ถือสิทธิ์
+ถือหาง
+ถือโอกาส
+ถุง
+ถุงเค้า
+ถุงตะเครียว
+ถุงตะเคียว
+ถุงย่าม
+ถุงสำเร็จ
+ถุน
+ถุย
+ถุล-
+ถุลละ
+ถู
+ถูก
+ถูกกระทำ
+ถูกกัน
+ถูกขา
+ถูกคอ
+ถูกคู่
+ถูกใจ
+ถูกโฉลก
+ถูกชะตา
+ถูกตา
+ถูกน้อย
+ถูกปาก
+ถูกส่วน
+ถูกเส้น
+ถูกใหญ่
+ถูกอกถูกใจ
+ถูไถ
+ถูป-
+ถูปารหบุคคล
+ถูล-
+ถูลู่ถูกัง
+เถกิง
+เถน
+เถมิน
+เถมินเชิง
+เถมินไพร
+เถย-
+เถยจิต
+เถยเจตนา
+เถยสังวาส
+เถร
+เถร-
+เถรตรง
+เถรภูมิ
+เถรวาท
+เถรส่องบาตร
+เถระ
+เถรานุเถระ
+เถรี
+เถลไถล
+เถลิก
+เถลิง
+เถลิงศก
+เถลือกถลน
+เถ่อ
+เถอะ
+เถอะน่า
+เถะๆ
+เถา
+เถ้า
+เถ้าแก่
+เถาคัน
+เถาคันเหล็ก
+เถาเงาะ
+เถาดาน
+เถามวก
+เถ้ารึง
+เถาวัลย์
+เถาวัลย์กรด
+เถาวัลย์เขียว
+เถาวัลย์ปูน
+เถาวัลย์เปรียง
+เถาวัลย์ยอดด้วน
+เถาวัลย์เหล็ก
+เถาสิงโต
+เถาหัวด้วน
+เถาะ
+เถิก
+เถิง
+เถิด
+เถิดเทิง
+เถิดน่า
+เถิน
+เถียง
+เถียร
+เถือ
+เถือก
+เถื่อน
+แถ
+แถก
+แถง
+แถน
+แถบ
+แถบบันทึกภาพ
+แถบบันทึกเสียง
+แถบเหล็กพืด
+แถม
+แถมพก
+แถลง
+แถลงการณ์
+แถลงการณ์ร่วม
+แถลงข่าว
+แถลบ
+แถว
+โถ
+โถเครื่องแป้ง
+โถง
+โถงเถง
+โถบ
+โถปริก
+โถม
+โถมนาการ
+โถส้วม
+ไถ
+ไถ่
+ไถ้
+ไถกลบ
+ไถง
+ไถดะ
+ไถ่ถอน
+ไถ่ถาม
+ไถนา
+ไถ่บาป
+ไถแปร
+ไถย-
+ไถล
+ท
+ทก
+ทกล้า
+ทแกล้ว
+ท่ง
+ทงัน
+ทชี
+ทด
+ทดถอย
+ทดแทน
+ทดโทร่ห
+ทดรอง
+ทดลอง
+ทดเลข
+ทดสอบ
+ทท
+ทธิ
+ทน
+ท้น
+ทนดี
+ทนต-
+ทนต์
+ทนตกาษฐ์
+ทนทาน
+ทนโท่
+ทนม
+ทนาย
+ทนายความ
+ทนายเรือน
+ทนายเลือก
+ทนายหน้าหอ
+ทบ
+ทบทวน
+ทบวง
+ทบวงการ
+ทบวงการเมือง
+ทม
+ทมก
+ทมน
+ทมบ
+ทมอ
+ทมิฬ
+ทเมิน
+ทโมน
+ทยอย
+ทยา
+ทยาลุ
+ทยาลุก
+ทแยง
+ทแยงมุม
+ทร-
+ทรกรรม
+ทรง
+ทรงกระเทียม
+ทรงกลด
+ทรงข้าวบิณฑ์
+ทรงเครื่อง
+ทรงเครื่องใหญ่
+ทรงเจ้า
+ทรงเจ้าเข้าผี
+ทรงตัก
+ทรงบาดาล
+ทรงประพาส
+ทรงพระเครื่องใหญ่
+ทรงมัณฑ์
+ทรงลังกา
+ทรงหม้อตาล
+ทรชน
+ทรชาติ
+ทรทึง
+ทรธึก
+ทรพล
+ทรพิษ
+ทรพี
+ทรภิกษ์
+ทรมาทรกรรม
+ทรมาน
+ทรมุก
+ทรยศ
+ทรยุค
+ทรรทึง
+ทรรป
+ทรรปณ์
+ทรรปณะ
+ทรรศนะ
+ทรรศนาการ
+ทรรศนีย์
+ทรราช
+ทรลักษณ์
+ทรเล่ห์
+ทรวง
+ทรวด
+ทรวดทรง
+ทรวาร
+ทรสองทรสุม
+ทรสาย
+ทรสุม
+ทรหด
+ทรหน
+ทรหวล
+ทรหึง
+ทรหึงทรหวล
+ทรหู
+ทรเหล
+ทรอ
+ทรอมโบน
+ทรอึง
+ทรอุ้ม
+ทระนง
+ทระนาว
+ทรัพย-
+ทรัพย์
+ทรัพย์นอกพาณิชย์
+ทรัพย์ในดิน สินในน้ำ
+ทรัพย์สมบัติ
+ทรัพยสิทธิ
+ทรัพย์สิน
+ทรัพย์สินส่วนพระมหากษัตริย์
+ทรัพย์สินส่วนพระองค์
+ทรัพย์สินส่วนสาธารณสมบัติของแผ่นดิน
+ทรัพยากร
+ทรัพยากรธรณี
+ทรัพยากรธรรมชาติ
+ทรัมเป็ต
+ทรานซิสเตอร์
+ทราบ
+ทราบเกล้าทราบกระหม่อม
+ทราบฝ่าพระบาท
+ทราบฝ่าละอองธุลีพระบาท
+ทราบฝ่าละอองพระบาท
+ทราม
+ทรามชม
+ทรามเชย
+ทรามวัย
+ทรามสงวน
+ทรามสวาท
+ทราย
+ทรายแก้ว
+ทรายขาว
+ทรายแป้ง
+ทริทร
+ทรุด
+ทรุดโทรม
+ทรุดนั่ง
+ทรุม
+ทรู่
+ทฤฆ-
+ทฤษฎี
+ทฤษฎีบท
+ทล
+ทลบม
+ทลอึง
+ทลาย
+ทลิท
+ทลิททก
+ทวง
+ท้วง
+ท้วงติง
+ทวงถาม
+ท่วงท่า
+ท่วงทำนอง
+ท่วงที
+ทวด
+ทวดน้อย
+ทวดึงส์
+ทวน
+ท้วน
+ทวนทบ
+ทวนสบถ
+ทวนสาบาน
+ท่วม
+ท้วม
+ท้วมๆ
+ท่วมท้น
+ทวย
+ท่วย
+ท้วย
+ทวยโถง
+ท่วยโถง
+ทวยะ
+ทวอย
+ทวัตดึงส์
+ทวัตดึงสาการ
+ทวัย
+ทวา
+ทว่า
+ทวาตรึงประดับ
+ทวาทศ
+ทวาทศม-
+ทวาทศมณฑล
+ทวาทศี
+ทวาบร
+ทวาบรยุค
+ทวาย
+ทวาร
+ทวารทั้งเก้า
+ทวารบถ
+ทวารบาล
+ทวารประดับ
+ทวิ
+ทวิช
+ทวิช-
+ทวิชงค์
+ทวิชากร
+ทวิชาติ
+ทวิตีย
+ทวิตียา
+ทวิบถ
+ทวิบท
+ทวิบาท
+ทวิป
+ทวิภาค
+ทวิภาคี
+ทวิร
+ทวี
+ทวีคูณ
+ทวีธาภิเษก
+ทวีป
+ทวีปี
+ทศ
+ทศ-
+ทศชาติ
+ทศทิศ
+ทศนิยม
+ทศเบญจกูล
+ทศพร
+ทศพล
+ทศพิธราชธรรม
+ทศม-
+ทศมาส
+ทศมี
+ทศวรรษ
+ทศา
+ทศางค์
+ทสา
+ทหระ
+ทหาร
+ทหารกองประจำการ
+ทหารผ่านศึก
+ทหารเลว
+ทอ
+ท่อ
+ท้อ
+ทอก
+ทอง
+ท่อง
+ท้อง
+ทองกร
+ทองกวาว
+ท้องกาง
+ท้องแก่
+ทองขาว
+ท้องขาว
+ท้องขึ้น
+ท้องขึ้นท้องพอง
+ท้องแขน
+ท้องแขวน
+ท้องคัดท้องแข็ง
+ทองคำ
+ทองคำขาว
+ทองคำเปลว
+ท้องคุ้ง
+ทองเค
+ทองเครือ
+ท่องจำ
+ท้องฉนวน
+ทองชมพูนุท
+ทองชุบ
+ทองดอกบวบ
+ทองดำ
+ท้องเดิน
+ทองแดง
+ทองต้นแขน
+ท้องตรา
+ท้องตลาด
+ทองตากู
+ท้องถิ่น
+ทองทราย
+ทองทศ
+ท้องที่
+ทองทึบ
+ท่องเที่ยว
+ทองธรรมชาติ
+ทองนพคุณ
+ท้องน่อง
+ท้องน้อย
+ทองบรอนซ์
+ท้องแบน
+ทองใบ
+ทองปราย
+ทองปลายแขน
+ท้องปลิง
+ทองแป
+ท้องผุท้องพัง
+ท้องผูก
+ทองเผือก
+ทองแผ่นเดียวกัน
+ทองพระกร
+ทองพระขุน
+ท้องพระคลัง
+ท้องพระโรง
+ทองพลุ
+ท้องพลุ
+ท้องพอง
+ทองพัดดึงส์
+ทองพันชั่ง
+ทองพันดุล
+ทองพิศ
+ท้องเฟ้อ
+ทองภู
+ทองม้วน
+ท้องมาน
+ท้องไม้
+ทองไม่รู้ร้อน
+ทองย้อย
+ท้องยุ้งพุงกระสอบ
+ท้องร่วง
+ท้องร่อง
+ทองรูปพรรณ
+ท้องเรื่อง
+ท้องลาน
+ทองลิน
+ท้องเลว
+ทองแล่ง
+ทองวิทยาศาสตร์
+ทองสักโก
+ทองสัมฤทธิ์
+ท้องสาว
+ท้องสำนวน
+ท่องสื่อ
+ท้องเสีย
+ทองหมั้น
+ท้องหมา
+ท้องหมู
+ทองหยอง
+ทองหยอด
+ทองหยิบ
+ทองหลาง
+ทองเหลือง
+ท้องแห้ง
+ทองโหลง
+ทองอังกฤษ
+ท้องอัสดงคต
+ท้องอืด
+ทองอุไร
+ทองเอก
+ทอด
+ทอดกฐิน
+ทอดโกลน
+ทอดตัว
+ทอดตา
+ทอดทฤษฎี
+ทอดทิ้ง
+ทอดที่
+ทอดน่อง
+ทอดน้ำ
+ทอดผ้าป่า
+ทอดพระที่
+ทอดพระเนตร
+ทอดมัน
+ทอดยอด
+ทอดรวง
+ทอดสกา
+ทอดสมอ
+ทอดสะพาน
+ทอดสายตา
+ทอดเสียง
+ทอดหญ้า
+ทอดหุ่ย
+ทอดแห
+ทอดอาลัย
+ท่อถ้อย
+ท้อถอย
+ท้อถ้อย
+ท้อแท้
+ทอน
+ท่อน
+ทอนซิล
+ทอฟฟี่
+ท่อมๆ
+ทอย
+ทอยกอง
+ทอเรียม
+ทอแสง
+ทอหูก
+ท่อไอเสีย
+ทะ
+ทะงัน
+ทะทัด
+ทะทา
+ทะทาย
+ทะท่าว
+ทะท้าว
+ทะทึก
+ทะเทียด
+ทะนง
+ทะนงตัว
+ทะนงศักดิ์
+ทะนน
+ทะนะ
+ทะนา
+ทะนาน
+ทะนานหลวง
+ทะนุ
+ทะนุก
+ทะนุกถนอม
+ทะนุถนอม
+ทะนุบำรุง
+ทะบู
+ทะเบียน
+ทะเบียนบ้าน
+ทะเบียนราษฎร
+ทะเบียนสำมะโนครัว
+ทะมัดทะแมง
+ทะมึน
+ทะมื่น
+ทะแม่ง
+ทะแม่งๆ
+ทะยาทะแยแส
+ทะยาน
+ทะยานใจ
+ทะยานอยาก
+ทะเยอทะยาน
+ทะแย
+ทะแยสามชั้น
+ทะร่อทะแร่
+ทะลวง
+ทะลอก
+ทะลัก
+ทะลักทะแลง
+ทะลาย
+ทะลิ่น
+ทะลิ่นชระลั่ง
+ทะลึ่ง
+ทะลึ่งทะลั่ง
+ทะลุ
+ทะลุกลางปล้อง
+ทะลุดทะลาด
+ทะลุปรุโปร่ง
+ทะเล
+ทะเลทราย
+ทะเล้น
+ทะเลใน
+ทะเลบ้า
+ทะเลภายใน
+ทะเลสาบ
+ทะเลหน้าใน
+ทะเลหลวง
+ทะเลไหล่ทวีป
+ทะเล่อทะล่า
+ทะเลอาณาเขต
+ทะเลาะ
+ทะเลาะเบาะแว้ง
+ทะวาย
+ทะเวน
+ทัก
+ทักข์
+ทักขิญ
+ทักขิณ
+ทักขิณา
+ทักขิณาบถ
+ทักขิณาวัฏ
+ทักขิโณทก
+ทักขิไณยบุคคล
+ทักท้วง
+ทักทาย
+ทักทิน
+ทักนิมิต
+ทักษ-
+ทักษะ
+ทักษา
+ทักษิณ
+ทักษิณนิกาย
+ทักษิณา
+ทักษิณาจาร
+ทักษิณาทาน
+ทักษิณานุประทาน
+ทักษิณายัน
+ทักษิณาวรรต
+ทักษิโณทก
+ทัคธ์
+ทัง
+ทั่ง
+ทั้ง
+ทั้ง...กับ
+ทั้งขึ้นทั้งล่อง
+ทั้งคน
+ทั้งดุ้น
+ทั้ง...ทั้ง
+ทั้งที
+ทั้งที่
+ทั้งๆ ที่
+ทั้งนั้น
+ทั้งนี้
+ทั้งนี้ทั้งนั้น
+ทั้งเนื้อทั้งตัว
+ทั้งปวง
+ทั้งผอง
+ทั้งเพ
+ทั้งมวล
+ทั้ง...และ
+ทังวล
+ทังวี้ทังวล
+ทังสเตน
+ทั้งสิ้น
+ทั้งหมด
+ทั้งหลาย
+ทั้งอย่างนั้น
+ทัณฑ-
+ทัณฑ์
+ทัณฑกรรม
+ทัณฑฆาต
+ทัณฑนิคม
+ทัณฑ์บน
+ทัณฑวิทยา
+ทัณฑสถาน
+ทัณฑะ
+ทัณฑิกา
+ทัณฑิมา
+ทัณฑีบท
+ทัด
+ทัดดอกไม้
+ทัดทา
+ทัดทาน
+ทัดเทียม
+-ทัต
+ทัน
+ทันกิน
+ทันควัน
+ทันใจ
+ทันใด
+ทันต-
+ทันต์
+ทันตชะ
+ทันตแพทย์
+ทันตา
+ทันติน
+ทันตี
+ทันท่วงที
+ทันที
+ทันธ์
+ทันน้ำ
+ทันน้ำทันฝน
+ทันสมัย
+ทับ
+ทับเกษตร
+ทับถม
+ทับทรวง
+ทับทาง
+ทับทางขาว
+ทับทิม
+ทับที่
+ทับแพ
+ทับลัคน์
+ทับเล็ก
+ทับศัพท์
+ทับสมิงคลา
+ทับสิทธิ์
+ทับหลัง
+ทับหลังลัคน์
+ทัป
+ทัปน
+ทัพ
+ทัพพะ
+ทัพพี
+ทัพสัมภาระ
+ทั่ว
+ทั่วถึง
+ทั่วทุกสารทิศ
+ทั่วทุกหัวระแหง
+ทั่วไป
+ทั่วๆ ไป
+ทัศ
+ทัศน-
+ทัศน์
+ทัศนคติ
+ทัศนวิสัย
+ทัศนศาสตร์
+ทัศนศึกษา
+ทัศนะ
+ทัศนา
+ทัศนาการ
+ทัศนาจร
+ทัศนีย-
+ทัศนีย์
+ทัศนียภาพ
+ทัศนูปกรณ์
+ทัศไนย
+ทัสนานุตริยะ
+ทัฬห
+ทัฬหิ
+ทัฬหิกรณ์
+ทัฬหี
+ทัฬหีกรรม
+ทา
+ท่า
+ท้า
+ทาก
+ทาง
+ท้าง
+ทางการ
+ทางเก็บ
+ทางข้าม
+ทางช้างเผือก
+ทางด่วน
+ทางเท้า
+ทางโท
+ทางใน
+ทางผ่าน
+ทางพิเศษ
+ทางมะพร้าว
+ทางม้าลาย
+ทางสาธารณะ
+ทางหลวง
+ทางออก
+ทางเอก
+ทาฐะ
+ทาฐิกะ
+ทาฒะ
+ทาฒิกะ
+ท่าดีทีเหลว
+ท่าเดียว
+ท่าทาง
+ท้าทาย
+ท่าที
+ทาน
+ทาน-
+ท่าน
+ทานกัณฑ์
+ท่านชาย
+ทานต์
+ทานตะวัน
+ทานบดี
+ทานบารมี
+ท่านผู้หญิง
+ทานพ
+ทานมัย
+ทานศีล
+ท่านหญิง
+ท่านั้นท่านี้
+ทานาธิบดี
+ทาบ
+ทาบทาม
+ทาม
+ท่ามกลาง
+ทาย
+ท้าย
+ทายก
+ท้ายเขื่อน
+ท้ายครัว
+ท้ายโต่ง
+ท้ายทอย
+ท้ายน้ำ
+ท้ายฝน
+ทายัช
+ทายา
+ทายาด
+ทายาท
+ทายาทโดยธรรม
+ทาร-
+ทารก
+ทารพี
+ทาริกา
+ทารุ
+ทารุณ
+ทารุณ-
+ทารุณกรรม
+ท่าเรือ
+ทาว
+ท่าว
+ท้าว
+ท่าวกำลัง
+ท่าวทบระนับ
+ท้าวนาง
+ท้าวพญา
+ท้าวพระยา
+ทาษ
+ทาส
+ทาส-
+ทาสทาน
+ทาสปัญญา
+ทาสี
+ท่าอากาศยาน
+ทำ
+ทำกรรม
+ทำการบ้าน
+ทำขวัญ
+ทำครัว
+ทำคลอด
+ทำความ
+ทำคุณ
+ทำคุณบูชาโทษ
+ทำงน
+ทำเจ็บ
+ทำใจ
+ทำได้
+ทำได้ลงคอ
+ทำตัว
+ทำตา
+ทำท่า
+ทำที
+ทำแท้ง
+ทำโทษ
+ทำนบ
+ทำนวย
+ทำนอง
+ทำนองเสนาะ
+ทำนาบนหลังคน
+ทำนาย
+ทำนาออมกล้า ทำปลาออมเกลือ
+ทำนุ
+ทำนุบำรุง
+ทำนูล
+ทำเนา
+ทำเนียบ
+ทำเนียบท่าเรือ
+ทำเนียบนาม
+ทำเนียม
+ทำบาป
+ทำบุญ
+ทำบุญเอาหน้า
+ทำปลา
+ทำปากทำคอ
+ทำเป็น
+ทำไปทำมา
+ทำพิษ
+ทำไพ่
+ทำฟัน
+ทำไฟ
+ทำมัง
+ทำไม
+ทำร้าย
+ทำฤทธิ์
+ทำลาย
+ทำลายขวัญ
+ทำลายสถิติ
+ทำลิง
+ทำเล
+ทำวน
+ทำวัตร
+ทำวัตรค่ำ
+ทำวัตรเช้า
+ทำเวร
+ทำเวลา
+ทำสาว
+ทำเสน่ห์
+ทำเสียเจ็บ
+ทำหน้าทำตา
+ทำหมัน
+ทำหูทวนลม
+ทำเหตุ
+ทำให้
+ทำเอา
+ทำเอาเจ็บ
+ทิคัมพร
+ทิฆัมพร
+ทิ้ง
+ทิ้งกระจาด
+ทิ้งขว้าง
+ทิ้งๆ ขว้างๆ
+ทิ้งจดหมาย
+ทิงเจอร์
+ทิ้งถ่อน
+ทิ้งทวน
+ทิ้งทาน
+ทิ้งท้าย
+ทิ้งทูด
+ทิ้งไพ่
+ทิ้งฟ้อง
+ทิ้งมะพร้าวห้าว
+ทิ้งย่อ
+ทิช
+ทิช-
+ทิชากร
+ทิฏฐะ
+ทิฏฐานุคติ
+ทิฏฐุชุกรรม
+ทิฐ-
+ทิฐธรรม
+ทิฐิ
+ทิด
+ทิต
+ทิน
+ทิน-
+ทินกร
+ทินศูนย์
+ทินาท
+ทิพ
+ทิพ-
+ทิพย-
+ทิพย์
+ทิพยจักษุ
+ทิพยจักษุญาณ
+ทิพยญาณ
+ทิพยเนตร
+ทิพยพยาน
+ทิพยมานุษ
+ทิพยรส
+ทิพยโศรตร
+ทิพโสต
+ทิพา
+ทิพากร
+ทิม
+ทิ่ม
+ทิมดาบ
+ทิ่มตำ
+ทิมทอง
+ทิ่มแทง
+ทิว
+ทิว-
+ทิวกาล
+ทิวงคต
+ทิวทัศน์
+ทิวส-
+ทิวสภาค
+ทิวสะ
+ทิวา
+ทิวากร
+ทิวากาล
+ทิศ
+ทิศทาง
+ทิศา
+ทิศาดร
+ทิศานุทิศ
+ทิศาปาโมกข์
+ที
+ที่
+ที่กัลปนา
+ทีใครทีมัน
+ทีฆ-
+ทีฆชาติ
+ทีฆนิกาย
+ทีฆสระ
+ทีฆายุ
+ที่จริง
+ที่ดิน
+ที่ดินมือเปล่า
+ทีเด็ด
+ทีเดียว
+ทีท่า
+ที่ทาง
+ที่ทำการ
+ที่เท่าแมวดิ้นตาย
+ที่แท้
+ที่ธรณีสงฆ์
+ที่นอน
+ที่นั่ง
+ทีนี้
+ทีป
+ที่พึ่ง
+ทีม
+ที่มั่น
+ที่มา
+ทีรฆ-
+ที่รัก
+ที่ราบ
+ที่ราบสูง
+ทีเล่นทีจริง
+ที่วัด
+ที่ว่าการ
+ที่สุด
+ที่หมาย
+ทีหลัง
+ที่ไหน
+ที่ไหนได้
+ทีเอ็นที
+ทึก
+ทึกทัก
+ทึ่ง
+ทึ้ง
+ทึดทือ
+ทึนทึก
+ทึบ
+ทึม
+ทึมๆ
+ทึ่ม
+ทื่อ
+ทุ
+ทุก
+ทุกๆ
+ทุกข-
+ทุกข์
+ทุกขนิโรธ
+ทุกขลาภ
+ทุกขเวทนา
+ทุกขสมุทัย
+ทุกข์สุข
+ทุกขักษัย
+ทุกขารมณ์
+ทุกฏ
+ทุกที
+ทุกนิบาต
+ทุกพาย
+ทุกเมื่อ
+ทุกเมื่อเชื่อวัน
+ทุกร-
+ทุกรกิริยา
+ทุกวันนี้
+ทุกษดร
+ทุกสิ่งทุกอย่าง
+ทุกหน
+ทุกหนทุกแห่ง
+ทุกหย่อมหญ้า
+ทุกหัวระแหง
+ทุกแห่ง
+ทุกะ
+ทุกัง
+ทุกูล
+ทุคตะ
+ทุคติ
+ทุ่ง
+ทุ้ง
+ทุงงะ
+ทุงเทง
+ทุจจิณณะ
+ทุจริต
+ทุด
+ทุตวิลัมพิตมาลา
+ทุติย-
+ทุติยาสาฬห
+ทุทรรศนนิยม
+ทุน
+ทุ่น
+ทุนจดทะเบียน
+ทุนทรัพย์
+ทุนนอน
+ทุนนิมิต
+ทุนนิยม
+ทุ่นเบ็ด
+ทุนรอน
+ทุ่นระเบิด
+ทุนเรือนหุ้น
+ทุนสำรอง
+ทุนสำรองเงินตรา
+ทุนหมุนเวียน
+ทุ่นอวน
+ทุนิยม
+ทุบ
+ทุบตี
+ทุบทู
+ทุบหม้อข้าว
+ทุปปัญญา
+ทุพพรรณ
+ทุพพล
+ทุพพลภาพ
+ทุพภิกขภัย
+ทุพภิกขันดรกัป
+ทุม
+ทุม-
+ทุ่ม
+ทุ้ม
+ทุ่มตลาด
+ทุ่มเถียง
+ทุ่มเท
+ทุมโน
+ทุมราชา
+ทุย
+ทุ้ย
+ทุร-
+ทุรกันดาร
+ทุรคม
+ทุรชน
+ทุรชาติ
+ทุรน
+ทุรนทุราย
+ทุรพล
+ทุรภิกษ์
+ทุรลักษณ์
+ทุรัถยา
+ทุรัศ
+ทุราคม
+ทุราจาร
+ทุราธวา
+ทุเรศ
+ทุเรียน
+ทุเรียนแขก
+ทุเรียนเทศ
+ทุลักทุเล
+ทุเลา
+ทุวิธ
+ทุศีล
+ทุษฐ-
+ทุส-
+ทุสสะ
+ทุสสีล
+ทู
+ทู่
+ทู้
+ทูกัง
+ทู่ซี้
+ทูต
+ทูตานุทูต
+ทูน
+ทูน้ำจืด
+ทูบ
+ทูม
+ทูมทาม
+ทูโม่ง
+ทูร-
+ทูล
+ทูลกระหม่อม
+ทูลเกล้าทูลกระหม่อมถวาย
+ทูเลียม
+ทูษก
+เท
+เท่
+เทกระจาด
+เทกระเป๋า
+เทคนิค
+เทคนีเชียม
+เทคโนโลยี
+เทครัว
+เทคอนกรีต
+เทง
+เท้ง
+เท้งเต้ง
+เท้งทูด
+เท็จ
+เท็จจริง
+เท็จเทียม
+เทนนิส
+เทน้ำเทท่า
+เทปูน
+เทพ
+เทพ-
+เทพกุสุม
+เทพเจ้า
+เทพชุมนุม
+เทพดา
+เทพดำรู
+เทพทัณฑ์
+เทพทารู
+เทพทาโร
+เทพธิดา
+เทพนม
+เทพนารี
+เทพนิยม
+เทพนิยาย
+เทพนิยายวิทยา
+เทพนิรมิต
+เทพบดี
+เทพบริษัท
+เทพบุตร
+เทพประติมา
+เทพพยากรณ์
+เทพย-
+เทพยเจ้า
+เทพยดา
+เทพยุดา
+เทพสังหรณ์
+เทพา
+เทพาดิเทพ
+เทพาธิบดี
+เทพารักษ์
+เทพิน
+เทพินทร์
+เทพี
+เทพีปักษี
+เทเพนทร์
+เทโพ
+เทริด
+เทลลูเรียม
+เทว-
+เทวดา
+เทวทัณฑ์
+เทวทูต
+เทวธรรม
+เทวธิดา
+เทวนะ
+เทวนาครี
+เทวนิยม
+เทวภาวะ
+เทวระ
+เทวรูป
+เทวโลก
+เทววาจิกะ
+เทววิทยา
+เทวศ
+เทวษ
+เทวสถาน
+เทวสุคนธ์
+เทวอ
+เทวัญ
+เทวัน
+เทวาคาร
+เทวารัณย์
+เทวาลัย
+เทวาวาส
+เทวินทร์
+เทวี
+เทเวนทร์
+เทเวศ
+เทเวศร์
+เทเวศวร์
+เทศ
+เทศ-
+เทศก
+เทศกาล
+เทศน์
+เทศน์แจง
+เทศนา
+เทศบัญญัติ
+เทศบาล
+เทศมนตรี
+เทศะ
+เทศาจาร
+เทศาภิบาล
+เทห-
+เทห์
+เท่ห์
+เทห์ฟากฟ้า
+เทหวัตถุ
+เท่อ
+เท้อ
+เทอญ
+เทอม
+เทอร์เบียม
+เทอร์โมมิเตอร์
+เทอะทะ
+เทา
+เท่า
+เท้า
+เท่ากับ
+เท้าแขน
+เท้าคู้
+เท้าช้าง
+เท่าใด
+เท่าตัว
+เท่าทัน
+เท่าทุน
+เท่าเทียม
+เท่านั้น
+เท่าเผ้า
+เท้ายายม่อม
+เท่ารึง
+เท่าไร
+เท้าสาน
+เท้าสิงห์
+เทาะห์
+เทิก
+เทิ่ง
+เทิงบอง
+เทิด
+เทิดทูน
+เทิน
+เทิบ
+เทิบๆ
+เทิบทาบ
+เทิ้ม
+เทียง
+เที่ยง
+เที่ยงๆ
+เที่ยงตรง
+เที่ยงแท้
+เที่ยงธรรม
+เทียน
+เที้ยน
+เทียนกิ่ง
+เทียนเกล็ดหอย
+เทียนแกลบ
+เทียนขม
+เทียนขาว
+เทียนข้าวเปลือก
+เทียนดำ
+เทียนแดง
+เทียนตากบ
+เทียนตาตั๊กแตน
+เทียนบ้าน
+เทียนพรรษา
+เทียนเยาวพาณี
+เทียนรุ่ง
+เทียนลวด
+เทียนสัตตบุษย์
+เทียนอบ
+เทียบ
+เทียบเคียง
+เทียบเท่า
+เทียม
+เทียร
+เที้ยร
+เทียรฆ-
+เทียรฆชาติ
+เทียรฆราตร
+เทียว
+เที่ยว
+เทือ
+เทื่อ
+เทื้อ
+เทือก
+เทือกเขา
+เทือกเถาเหล่ากอ
+เทือน
+แท่
+แท้
+แท้ๆ
+แท็กซี่
+แท็กซี่มิเตอร์
+แทง
+แท่ง
+แท้ง
+แท็งก์น้ำ
+แทงใจ
+แทงใจดำ
+แทงตะไบ
+แทงทวย
+แทงวิสัย
+แทงหยวก
+แท้จริง
+แทตย์
+แท้ที่จริง
+แทน
+แท่น
+แทนเจนต์
+แทนทาลัม
+แทนที่จะ
+แท่นพิมพ์
+แท่นมณฑล
+แท่นลา
+แท่นหมึก
+แทบ
+แทรก
+แทรกซอน
+แทรกซ้อน
+แทรกซึม
+แทรกแซง
+แทรกเตอร์
+แทรกแผ่นดิน
+แทรกโพน
+แทลเลียม
+แทะ
+แทะโลม
+โท
+โท่
+โทกเทก
+โทงๆ
+โทงเทง
+โทณะ
+โทโทษ
+โทธก
+โทน
+โทนโท่
+โทมนัส
+โทร-
+โทรคมนาคม
+โทรทรรศน์
+โทรทัศน์
+โทรพิมพ์
+โทรภาพ
+โทรม
+โทรมศัสตราวุธ
+โทรมหญิง
+โทรเลข
+โทรศัพท์
+โทรสาร
+โทลา
+โทศก
+โทษ
+โทษ-
+โทษกรณ์
+โทษตรัย
+โทษทางวินัย
+โทษโพย
+โทษา
+โทษากร
+โทษาดิลก
+โทษานุโทษ
+โทษารมณ์
+โทส-
+โทสะ
+โทสาคติ
+โทโส
+โทหฬะ
+โทหฬินี
+ไท
+ไท้
+ไทเทเนียม
+ไทเทรต
+ไทย
+ไทยดำ
+ไทยทาน
+ไทยธรรม
+ไทยน้อย
+ไทยนับสาม
+ไทยนับห้า
+ไทยหลง
+ไทยหลวง
+ไทยใหญ่
+ไทร
+ไทรทอง
+ไทรเลียบ
+ไทวะ
+ธ
+ธง
+ธงก์
+ธงกระบี่ธุช
+ธงจระเข้
+ธงฉาน
+ธงชัย
+ธงชัยเฉลิมพลของทหารบก
+ธงชัยเฉลิมพลของทหารเรือ
+ธงชัยเฉลิมพลของทหารอากาศ
+ธงชาติ
+ธงชาย
+ธงตะขาบ
+ธงนำริ้ว
+ธงบรมราชวงศ์น้อย
+ธงบรมราชวงศ์ใหญ่
+ธงประจำกองทัพบก
+ธงประจำกองทัพเรือ
+ธงประจำกองทัพอากาศ
+ธงพระครุฑพ่าห์
+ธงพิทักษ์สันติราษฎร์
+ธงมหาราชน้อย
+ธงมหาราชใหญ่
+ธงเยาวราชน้อย
+ธงเยาวราชใหญ่
+ธงราชนาวี
+ธงราชินีน้อย
+ธงราชินีใหญ่
+ธงสามเหลี่ยม
+ธช
+ธชี
+ธตรฐ
+ธน
+ธน-
+ธนธานี
+ธนบดี
+ธนบัตร
+ธนสมบัติ
+ธนสาร
+ธนัง
+ธนาคม
+ธนาคาร
+ธนาคารพาณิชย์
+ธนาคารโลก
+ธนาคารออมสิน
+ธนาณัติ
+ธนิต
+ธนิษฐะ
+ธนิษฐา
+ธนุ
+ธนุร-
+ธนุรมารค
+ธนุรวิทยา
+ธนุรเวท
+ธนู
+ธนูศิลป์
+ธเนศ
+ธเนศวร
+ธโนปจัย
+ธไนศวรรย์
+ธม
+ธมกรก
+ธร
+ธรง
+ธรณ
+ธรณิน
+ธรณินทร์
+ธรณิศ
+ธรณิศร
+ธรณิศวร์
+ธรณี
+ธรณีกันแสง
+ธรณีประตู
+ธรณีมณฑล
+ธรณีร้องไห้
+ธรณีวิทยา
+ธรณีศวร
+ธรณีสงฆ์
+ธรณีสาร
+ธรณีสูบ
+ธรมาน
+ธรรม
+ธรรม-
+ธรรมกถา
+ธรรมกถึก
+ธรรมกาม
+ธรรมกาย
+ธรรมการ
+ธรรมการย์
+ธรรมเกษตร
+ธรรมขันธ์
+ธรรมคุณ
+ธรรมจรณะ
+ธรรมจรรยา
+ธรรมจริยา
+ธรรมจักร
+ธรรมจักษุ
+ธรรมจาคะ
+ธรรมจารี
+ธรรมจินดา
+ธรรมเจดีย์
+ธรรมชาติ
+ธรรมฐิติ
+ธรรมดา
+ธรรมทรรศนะ
+ธรรมธาดา
+ธรรมธาตุ
+ธรรมนาถ
+ธรรมนิตย์
+ธรรมนิยม
+ธรรมนิยาม
+ธรรมนิเวศ
+ธรรมนูญ
+ธรรมนูญการปกครองราชอาณาจักร
+ธรรมเนียม
+ธรรมเนียมประเพณี
+ธรรมบท
+ธรรมบาล
+ธรรมบิฐ
+ธรรมปฏิรูป
+ธรรมปฏิสัมภิทา
+ธรรมประติรูป
+ธรรมยุต
+ธรรมยุทธ์
+ธรรมรัตน์
+ธรรมราชา
+ธรรมวัตร
+ธรรมศาสตร์
+ธรรมสถิติ
+ธรรมสภา
+ธรรมสรีระ
+ธรรมสังคีติ
+ธรรมสังเวช
+ธรรมสากัจฉา
+ธรรมสามิสร
+ธรรมสามี
+ธรรมสาร
+ธรรมะ
+ธรรมะธัมโม
+ธรรมันเตวาสิก
+ธรรมาทิตย์
+ธรรมาธรรม
+ธรรมาธิปไตย
+ธรรมาธิษฐาน
+ธรรมานุธรรมปฏิบัติ
+ธรรมานุสาร
+ธรรมาภิมุข
+ธรรมาภิสมัย
+ธรรมายตนะ
+ธรรมารมณ์
+ธรรมาสน์
+ธรรมิก
+ธรรมิก-
+ธรา
+ธราดล
+ธราธร
+ธราธาร
+ธราธิบดี
+ธราธิป
+ธริษตรี
+ธเรศ
+ธเรษตรี
+ธเรษตรีศวร
+ธวัช
+ธังก
+ธัช
+ธัญ
+ธัญ-
+ธัญโกศ
+ธัญเขต
+ธัญชาติ
+ธัญญาหาร
+ธัญดัจ
+ธัญเบญจก
+ธัญพืช
+ธัญมาส
+ธันยา
+ธันยาวาท
+ธันวาคม
+ธัมมะ
+ธาดา
+ธาตรี
+ธาตวากร
+ธาตุ
+ธาตุ-
+ธาตุโขภ
+ธาตุครรภ
+ธาตุเจดีย์
+ธาตุเบา
+ธาตุมมิสสา
+ธาตุสถูป
+ธาตุหนัก
+ธานิน
+ธานินทร์
+ธานี
+ธาร
+ธารกำนัล
+ธารคำนัล
+ธารณ
+ธารณะ
+ธารณา
+ธารณามัย
+ธารพระกร
+ธารยักษ์
+ธารา
+ธาราเคหะ
+ธาราธิคุณ
+ธารายนต์
+ธาษตรี
+ธำมรงค์
+ธำรง
+ธิดา
+ธิติ
+ธีร-
+ธีรภาพ
+ธีรราช
+ธุช
+ธุดงค-
+ธุดงค์
+ธุดงควัตร
+ธุดงคสมาทาน
+ธุต
+ธุตตะ
+ธุม-
+ธุมเกตุ
+ธุมชาล
+ธุมเพลิง
+ธุมา
+ธุร-
+ธุรการ
+ธุรกิจ
+ธุระ
+ธุรำ
+ธุลี
+ธุว-
+ธุวดารา
+ธุวภาค
+ธุวมณฑล
+ธุวยัษฎี
+ธูป
+ธูป-
+ธูปบาตร
+ธูปแพเทียนแพ
+ธูปไม้ระกำ
+ธูปฤๅษี
+เธนุ
+เธอ
+เธียร
+โธ่
+โธวน
+น
+นก
+นกกระจอก
+นกกระจอกทอง
+นกกระทุง
+นกกะปูด
+นกกางปีก
+นกเขา
+นกคุ่ม
+นกจาก
+นกต่อ
+นกยูง
+นกรู้
+นกสองหัว
+นกหก
+นกหวีด
+นกอยู่ในปล่อง
+นกุล
+นข
+นข-
+นขทารณ์
+นขลิขิต
+นขเลขา
+นขา
+นค
+นคร
+นคร-
+นครบาล
+นครบาลจังหวัด
+นครรัฐ
+นครวาสี
+นครโสภิณี
+นครโสเภณี
+นคราทร
+นครินทร์
+นคเรศ
+นคินทร
+นคินทร์
+นเคนทร์
+นเคศวร
+นโคทร
+นง
+นงคราญ
+นงคุฐ
+นงนุช
+นงพะงา
+นงพาล
+นงพุธ
+นงโพธ
+นงเยาว์
+นงราม
+นงลักษณ์
+นท
+นที
+นทีรัย
+นนตรา
+นนท์
+นนทรี
+นนทลี
+นนทิ
+นบ
+นบนอบ
+นปุงสกลิงค์
+นปุงสกลึงค์
+นพ
+นพ-
+นพกะ
+นพเก้า
+นพคุณ
+นพเคราะห์
+นพนิต
+นพปฎล
+นพพล
+นพพวง
+นพพัน
+นพรัตน์
+นพศก
+นพศูล
+นภ-
+นภจร
+นภดล
+นภมณฑล
+นภวิถี
+นภศูล
+นภสินธุ์
+นภา
+นภาลัย
+นม
+นมกระแชง
+นมข้น
+นมควาย
+นมชะนี
+นมช้าง
+นมตาบอด
+นมตาสะแก
+นมตำเรีย
+นมตำเลีย
+นมนาง
+นมนาน
+นมบกอกพร่อง
+นมบอด
+นมผง
+นมผา
+นมพวง
+นมพิจิตร
+นมแมว
+นมไม้
+นมวัว
+นมสวรรค์
+นมสาว
+นมหนู
+นมะ
+นมักการ
+นมัสการ
+นมาซ
+นย-
+นยนะ
+นยนา
+นยะ
+นยักษ์
+นโยบาย
+นร-
+นรก
+นรกานต์
+นรการ
+นรเทพ
+นรนาถ
+นรนายก
+นรบดี
+นรบาล
+นรพยัคฆ์
+นรราช
+นรเศรษฐ์
+นรสิงห์
+นรสีห์
+นรา
+นราธิป
+นรินทร์
+นริศ
+นริศร
+นริศวร
+นรี
+นรีเวชวิทยา
+นเรนทรสูร
+นเรศ
+นเรศวร
+นเรศวร์ชนช้าง
+นเรศูร
+นโรดม
+นฤ-
+นฤคหิต
+นฤโฆษ
+นฤดม
+นฤตย-
+นฤตย์
+นฤตยศาลา
+นฤตยศาสตร์
+นฤตยสถาน
+นฤเทพ
+นฤนาท
+นฤบดี
+นฤบาล
+นฤเบศ
+นฤป
+นฤปนีติ
+นฤปเวศม์
+นฤปัตนี
+นฤพาน
+นฤมล
+นฤมาณ
+นฤมิต
+นลาฏ
+นลิน
+นลินี
+นว-
+นวก-
+นวกภูมิ
+นวกรรม
+นวกรรมิก
+นวกะ
+นวการ
+นวกิจ
+นวโกวาท
+นวครหะ
+นวคุณ
+นวเคราะห์
+นวชาต
+นวด
+นวดข้าว
+นวดแป้ง
+นวดฟั้น
+นวทวาร
+นวนิต
+นวนิยาย
+นวปฎล
+นวพธู
+นวม
+น่วม
+นวมี
+นวมุข
+นวย
+นวยนาด
+นวรัตน์
+นวล
+นวลจันทร์
+นวลจันทร์ทะเล
+นวลน้อย
+นวลระหง
+นวลลออ
+นวลละออง
+นวลหง
+นวโลหะ
+นววิธ
+นวอรหาทิคุณ
+นวังคสัตถุศาสน์
+นวารหาทิคุณ
+นวาระ
+นหาดก
+นหาน
+นหารุ
+นหุต
+นฬ
+นฬ-
+นฬการ
+นฬป
+นอ
+นอก
+นอกกฎหมาย
+นอกครู
+นอกคอก
+นอกจาก
+นอกใจ
+นอกชาน
+นอกตำรา
+นอกถนน
+นอกบาลี
+นอกรีต
+นอกรีตนอกรอย
+นอกลู่นอกทาง
+นอกเหนือ
+นอง
+น่อง
+น้อง
+น้องๆ
+นองเนือง
+น่องแน่ง
+น้องเพล
+นองเลือด
+น่องสิงห์
+นองหน้า
+นอต
+นอน
+นอนก้น
+นอนกิน
+นอนใจ
+นอนตาไม่หลับ
+นอนตีพุง
+นอนนก
+นอนแบ็บ
+นอนโรง
+นอนเล่น
+นอนวัน
+นอนเวร
+นอนหลับทับสิทธิ์
+นอนหลับไม่รู้ นอนคู้ไม่เห็น
+นอบ
+นอบนบ
+นอบน้อม
+น้อม
+น้อมเกล้าน้อมกระหม่อมถวาย
+น้อมนำ
+น้อย
+น้อยแง่
+น้อยใจ
+น้อยเนื้อต่ำใจ
+น้อยหน่า
+น้อยหน้า
+น้อยหรือ
+น้อยโหน่ง
+นะ
+นะแน่ง
+นัก
+นักกะ
+นักการ
+นักการเมือง
+นักกีฬา
+นักขัต
+นักขัต-
+นักขัตฤกษ์
+นักข่าว
+นักงาน
+นักตะ
+นักท่องเที่ยว
+นักเทศ
+นักเทศน์
+นักโทษ
+นักโทษเด็ดขาด
+นักโทษพิเศษ
+นักธรรม
+นักบวช
+นักบิน
+นักบุญ
+นักปราชญ์
+นักพรต
+นักร
+นักรบ
+นักเรียน
+นักเลง
+นักศึกษา
+นักษัตร
+นักษัตร-
+นักษัตรจักร
+นักษัตรเนมี
+นักษัตรบดี
+นักษัตรบถ
+นักษัตรปาฐก
+นักษัตรมณฑล
+นักษัตรมาลา
+นักษัตรโยค
+นักษัตรวิทยา
+นักสนม
+นักสราช
+นักสวด
+นักสิทธิ์
+นักสืบ
+นักหนา
+นัข
+นัค
+นัคคะ
+นั่ง
+นั่งกินนอนกิน
+นั่งขัดสมาธิ
+นังคัล
+นั่งคุกเข่า
+นั่งซัง
+นั่งทาง
+นั่งทางใน
+นั่งเทียน
+นั่งในหัวใจ
+นั่งปรก
+นั่งโป่ง
+นั่งพับเพียบ
+นั่งเมือง
+นั่งยองๆ
+นั่งร้าน
+นั่งราว
+นั่งเล่น
+นั่งห้าง
+นัจ
+นัฏ
+นัฏก
+นัฑ
+นัด
+นัดดา
+นัดแนะ
+นัดหมาย
+นัตถุ์
+นั่น
+นั้น
+นั่นซี
+นันท-
+นันททายี
+นันทน์
+นันทนาการ
+นันทปักษี
+นันทิ
+นั่นแน่
+นั่นปะไร
+นั้นแล
+นั่นแหละ
+นั่นเอง
+นับ
+นับถือ
+นับประสา
+นับหน้าถือตา
+นัย
+นัยน์
+นัยน์ตา
+นัยน์เนตร
+นัยนา
+นัยนามพุ
+นัยว่า
+นัว
+นัวเนีย
+นา
+น่า
+น้า
+นาก
+นากบุด
+นากสวาด
+นากาสาหรี
+น่าเกลียดน่าชัง
+นาขอบเหล็ก
+นาค
+นาค-
+นาคเกี่ยว
+นาคเกี้ยว
+นาคเกี้ยวกระหวัด
+นาคเกี่ยวพระสุเมรุ
+นาคทนต์
+นาคบริพันธ์
+นาคบาศ
+นาคปรก
+นาคปัก
+นาคพันธ์
+นาคร
+นาครวย
+นาคราช
+นาคราชแผลงฤทธิ์
+นาคลดา
+นาคเล่นน้ำ
+นาควิถี
+นาคสะดุ้ง
+นาคสังวัจฉร
+นาคา
+นาคาวโลก
+นาคินทร์
+นาคี
+นาคู่โค
+นาเคนทร์
+นาเคศ
+นาเคศวร
+นาโครคินทร
+นาง
+นางกราย
+นางกวัก
+นางเกล็ด
+นางงาม
+นางจรัล
+นางจุม
+นางชม
+นางดำ
+นางท้าว
+นางนวล
+นางนูน
+นางแนบ
+นางใน
+นางบำเรอ
+นางพญา
+นางพระกำนัล
+นางฟ้า
+นางเมือง
+นางไม้
+นางแย้ม
+นางรม
+นางรมใหญ่
+นางรอง
+นางร้องไห้
+นางรำ
+นางเรียง
+นางล้อม
+นางเล็ด
+นางเลิ้ง
+นางสนองพระโอษฐ์
+นางสาว
+นางหงส์
+นางห้าม
+นางอ้อม
+นางอาย
+นางเอก
+นางแอ่น
+นาเชิงทรง
+นาฏ
+นาฏ-
+นาฏก
+นาฏกรรม
+นาฏดนตรี
+นาฏย-
+นาฏศิลป์
+นาด
+นาดำ
+นาถ
+นาท
+นาที
+นาน
+น่าน
+นานนม
+น่านน้ำ
+น่านน้ำอาณาเขต
+น่านฟ้า
+นานสองนาน
+นานแสนนาน
+นานัครส
+นานัตว
+นานัปการ
+นานา
+นานาเนก
+นานาประการ
+นาเนก
+นาบ
+นาบข้าว
+นาปรัง
+นาปี
+นาฟางลอย
+นาภิ
+นาภี
+นาม
+นาม-
+นามกร
+นามธรรม
+นามไธย
+นามบัตร
+นามปากกา
+นามแฝง
+นามสกุล
+นามสงเคราะห์
+นามสมญา
+นามานุกรม
+นามานุศาสตร์
+นามาภิไธย
+นาเมือง
+นาย
+น่าย
+นายก
+นายกเทศมนตรี
+นายกรัฐมนตรี
+นายงาน
+นายเงิน
+นายจ้าง
+นายตรวจ
+นายท่า
+นายท้าย
+นายทุน
+นายธง
+นายประกัน
+นายประเพณี
+นายโรง
+นายว่าขี้ข้าพลอย
+นายเวร
+นายหน้า
+นายอากร
+นายอำเภอ
+นายิกา
+นารา
+นารายณ์
+นารายณ์ทรงเครื่อง
+นารายณ์ประลองศิลป์
+นารายณ์หัตถ์
+นารี
+นารีบูร
+นารีผล
+นารีสูร
+นาเรศ
+นาลิวัน
+นาลี
+นาว
+น้าว
+นาวา
+นาวิก
+นาวิก-
+นาวิกโยธิน
+นาวิน
+นาวี
+นาเวศ
+นาศ
+นาสวน
+นาสา
+นาสิก
+นาหว่าน
+นาฬิกา
+นาฬิกาแดด
+นาฬิกาทราย
+นาฬิกาน้ำ
+นาฬิเก
+นาฬี
+นำ
+น้ำ
+น้ำกรด
+น้ำกระด้าง
+น้ำกระสาย
+น้ำกะทิ
+น้ำกาม
+น้ำเกลือ
+น้ำเกิด
+น้ำขาว
+น้ำข้าว
+น้ำขึ้น
+น้ำขึ้นให้รีบตัก
+น้ำขุ่นไว้ใน น้ำใสไว้นอก
+น้ำแข็ง
+น้ำแข็งแห้ง
+น้ำครำ
+น้ำคร่ำ
+น้ำคัน
+น้ำค้าง
+น้ำค้างแข็ง
+น้ำคาวปลา
+น้ำคำ
+น้ำเค็ม
+น้ำเคย
+น้ำเงิน
+น้ำจัณฑ์
+นำจับ
+น้ำจิ้ม
+น้ำใจ
+น้ำใจใคร่
+น้ำชน
+น้ำชุบ
+น้ำเชี่ยวอย่าขวางเรือ
+น้ำเชื้อ
+น้ำเชื่อม
+น้ำซับ
+น้ำซาวข้าว
+น้ำซึม
+น้ำซึมบ่อทราย
+น้ำดอกไม้
+น้ำดอกไม้เทศ
+น้ำดอกไม้สด
+น้ำดับไฟ
+น้ำดิบ
+น้ำดี
+น้ำตก
+น้ำต้อย
+น้ำตะกู
+น้ำตะโก
+น้ำตะไคร้
+น้ำตับ
+น้ำตา
+น้ำตาเช็ดหัวเข่า
+น้ำตาตกใน
+น้ำตาเทียน
+น้ำตาย
+น้ำตาล
+น้ำตาลใกล้มด ใครจะอดได้
+น้ำตาลจีน
+น้ำเต้า
+น้ำใต้ดิน
+น้ำทรง
+น้ำท่วมทุ่ง ผักบุ้งโหรงเหรง
+น้ำท่วมปาก
+น้ำท่า
+นำทาง
+น้ำทูนหัว
+นำเที่ยว
+น้ำไทย
+น้ำนม
+น้ำนมแมว
+น้ำนมราชสีห์
+น้ำนวล
+น้ำนอง
+น้ำนอนคลอง
+น้ำน้อยแพ้ไฟ
+น้ำนิ่งไหลลึก
+น้ำบ่อน้อย
+น้ำโบย
+น้ำประสานทอง
+น้ำปลา
+น้ำป่า
+น้ำผลึก
+น้ำผึ้ง
+น้ำพระพิพัฒน์สัตยา
+น้ำพริก
+น้ำพริกเผา
+น้ำพักน้ำแรง
+นำพา
+น้ำพึ่งเรือเสือพึ่งป่า
+น้ำพุ
+น้ำมนต์
+น้ำมนตร์
+น้ำมัน
+น้ำมันก๊าด
+น้ำมันเขียว
+น้ำมันเครื่อง
+น้ำมันจันทน์
+น้ำมันโซลา
+น้ำมันดิน
+น้ำมันดิบ
+น้ำมันดีเซล
+น้ำมันตานี
+น้ำมันเตา
+น้ำมันเบนซิน
+น้ำมันพราย
+น้ำมันมนตร์
+น้ำมันยาง
+น้ำมันระกำ
+น้ำมันสน
+น้ำมันสลัด
+น้ำมันหม่อง
+น้ำมันหล่อลื่น
+น้ำมาปลากินมด น้ำลดมดกินปลา
+น้ำมือ
+น้ำมูก
+น้ำเมา
+น้ำย่อย
+น้ำยา
+น้ำยาเคมี
+น้ำเย็นปลาตาย
+นำร่อง
+น้ำร้อนปลาเป็น
+น้ำรัก
+น้ำแร่
+น้ำลง
+น้ำลดตอผุด
+น้ำละว้า
+น้ำลาย
+น้ำลายสอ
+น้ำลายหก
+น้ำลายไหล
+น้ำเลี้ยง
+น้ำวน
+น้ำว้า
+น้ำไว
+น้ำส้ม
+น้ำส้มสายชู
+นำสมัย
+น้ำสังข์
+น้ำสั่งฟ้า ปลาสั่งฝน
+นำสืบ
+น้ำสุก
+น้ำเสียง
+นำแสดง
+น้ำหนวก
+น้ำหนัก
+น้ำหน้า
+น้ำหนึ่ง
+น้ำหนึ่งใจเดียวกัน
+น้ำหมาก
+น้ำหอม
+น้ำเหลือง
+น้ำเหลืองน้ำตาล
+น้ำไหลไฟดับ
+น้ำอดน้ำทน
+น้ำอบ
+น้ำอบฝรั่ง
+น้ำอ่อน
+น้ำอ้อย
+น้ำอัดลม
+น้ำอาบงัว
+นิ
+นิกเกิล
+นิกขะ
+นิกขันต์
+นิกร
+นิกรอยด์
+นิกาย
+นิคม
+นิคมที่ดิน
+นิคมสร้างตนเอง
+นิคมสหกรณ์
+นิคมอุตสาหกรรม
+นิครนถ์
+นิคห-
+นิคหกรรม
+นิคหะ
+นิคหิต
+นิคาลัย
+นิคาหก
+นิคาหก-
+นิเคราะห์
+นิโคติน
+นิโครธ
+นิโครม
+นิง
+นิ่ง
+นิ่งเงียบ
+นิ่งเฉย
+นิ่งแน่
+นิจ
+นิจ-
+นิจศีล
+นิด
+นิดเดียว
+นิดหน่อย
+นิดหนึ่ง
+นิตย-
+นิตย์
+นิตยทาน
+นิตยภัต
+นิตยสาร
+นิติ
+นิติกร
+นิติกรณ์
+นิติกรรม
+นิติการ
+นิติการณ์
+นิติธรรม
+นิตินัย
+นิติบัญญัติ
+นิติบุคคล
+นิติภาวะ
+นิติวิทยาศาสตร์
+นิติเวชศาสตร์
+นิติศาสตร์
+นิติสมมติ
+นิติสัมพันธ์
+นิติเหตุ
+นิทร
+นิทรรศการ
+นิทรา
+นิทรารมณ์
+นิทัศน์
+นิทาฆ
+นิทาน
+นิทานวจนะ
+นิเทศ
+นิเทศศาสตร์
+นิธาน
+นิธิ
+นินทา
+นินนะ
+นินนาท
+นินหุต
+นินาท
+นิบาต
+นิปริยาย
+นิปัจการ
+นิพจน์
+นิพนธ์
+นิพพาน
+นิพพิทา
+นิพพิทาญาณ
+นิพัทธ-
+นิพัทธ์
+นิพัทธกุศล
+นิพันธ์
+นิพิท
+นิเพท
+นิภา
+นิ่ม
+นิ้ม
+นิมนต์
+นิ่มนวล
+นิมมาน
+นิมมานรดี
+นิมิต
+นิยต
+นิยต-
+นิยม
+นิยมนิยาย
+นิยยาน
+นิยยานิก-
+นิยัตินิยม
+นิยาม
+นิยาย
+นิยุต
+นิร
+นิรคุณ
+นิรโฆษ
+นิรชร
+นิรชรา
+นิรทุกข์
+นิรเทศ
+นิรโทษ
+นิรโทษกรรม
+นิรนัย
+นิรนาม
+นิรพัตร
+นิรภัย
+นิรมล
+นิรมาณ
+นิรมาณกาย
+นิรมาน
+นิรมิต
+นิรย-
+นิรยบาล
+นิรัติศัย
+นิรันดร
+นิรันตร-
+นิรันตราย
+นิรัพพุท
+นิรา
+นิราพาธ
+นิรามัย
+นิรามิษ
+นิราลัย
+นิราศ
+นิราศรพ
+นิราศรัย
+นิรินธน์
+นิรินธนพินาศ
+นิรุกติ
+นิรุกติศาสตร์
+นิรุตติ
+นิรุตติปฏิสัมภิทา
+นิรุทก
+นิรุทธ์
+นิโรช
+นิโรธ
+นิโรธ-
+นิโรธสมาบัติ
+นิล
+นิล-
+นิลบัตร
+นิลปัทม์
+นิลรัตน์
+นิลุบล
+นิโลตบล
+นิโลบล
+นิ่ว
+นิ้ว
+นิวคลิอิก
+นิวเคลียร์
+นิวเคลียส
+นิวตรอน
+นิวรณ์
+นิ้วไหนร้ายก็ตัดนิ้วนั้น
+นิวัต
+นิวัตน์
+นิวาต
+นิวาส
+นิเวศ
+นิเวศ-
+นิเวศน์
+นิเวศวิทยา
+นิศา
+นิศากร
+นิศากาล
+นิศาคม
+นิศาชล
+นิศาทิ
+นิศานาถ
+นิศาบดี
+นิศามณี
+นิศารัตน์
+นิษกรม
+นิษาท
+นิสภ-
+นิสัช
+นิสัชชาการ
+นิสัย
+นิสัยใจคอ
+นิสาท
+นิสิต
+นิสีทน-
+นิสีทนะ
+นิสีทนาการ
+นิเสธ
+นี่
+นี้
+นีติ
+นีติธรรม
+นีติศาสตร์
+นี่นัน
+นี่แน่ะ
+นีร-
+นีรจร
+นีรช
+นีรนาท
+นี่แหละ
+นีออน
+นี่เอง
+นีโอดิเมียม
+นึก
+นึกคิด
+นึกดู
+นึกถึง
+นึกเห็น
+นึกออก
+นึ่ง
+นึ่งหม้อเกลือ
+นุ
+นุง
+นุ่ง
+นุ่งกระโจมอก
+นุ่งเจียมห่มเจียม
+นุงถุง
+นุงนัง
+นุ่งห่ม
+นุช
+นุด
+นุต
+นุ่น
+นุ่ม
+นุ่มนวล
+นุ่มนิ่ม
+นุ่มเนื้อ
+นุ้ย
+นูน
+นู่น
+นู้น
+เนกขะ
+เนกขัม
+เน่ง
+เนตบอล
+เนตร
+เนติ
+เนติบัณฑิต
+เน้น
+เนบิวลา
+เนปจูน
+เนปทูเนียม
+เนมิ
+เนมิตก-
+เนมิตกนาม
+เนมิตกะ
+เนย
+เนยเทียม
+เนยใส
+เนรกัณฐี
+เนรคุณ
+เนรเทศ
+เนรนาด
+เนรนาถ
+เนรมิต
+เนระพูสี
+เนษาท
+เนอ
+เน้อ
+เนา
+เน่า
+เน่าไฟ
+เนาว-
+เนาวนิต
+เนาวรัตน์
+เนิน
+เนิ่น
+เนิ่นๆ
+เนิ่นนาน
+เนิบ
+เนิบๆ
+เนิบนาบ
+เนียง
+เนียน
+เนียม
+เนียร
+เนียรทุกข์
+เนียรเทศ
+เนียรนาท
+เนื้อ
+เนื้อกษัตริย์
+เนื้อความ
+เนื้อคู่
+เนื้อเค็ม
+เนือง
+เนืองๆ
+เนื่อง
+เนื่องจาก
+เนื่องด้วย
+เนื่องแต่
+เนืองนอง
+เนืองนิตย์
+เนืองแน่น
+เนื้องอก
+เนื้อตัว
+เนื้อตาย
+เนื้อเต่ายำเต่า
+เนื้อถ้อยกระทงความ
+เนื้อทราย
+เนื้อที่
+เนื้อแท้
+เนื้อเปื่อย
+เนื้อเพลง
+เนื้อไม้
+เนือย
+เนือยๆ
+เนื้อเยื่อ
+เนื้อเยื่อกล้ามเนื้อ
+เนื้อเยื่อบุผิว
+เนื้อเยื่อประสาท
+เนื้อเยื่อยึดต่อ
+เนื้อร้อง
+เนื้อร้าย
+เนื้อเรื่อง
+เนื้อสมัน
+เนื้อหา
+เนื้ออ่อน
+แน่
+แน่ง
+แน่งน้อย
+แน่ใจ
+แน่ชัด
+แน่แท้
+แน่น
+แน่นขนัด
+แน่นท้อง
+แน่นนันต์
+แน่นแฟ้น
+แน่นหนา
+แน่นหน้าอก
+แน่นอน
+แน่นิ่ง
+แน่แน่ว
+แนบ
+แนบเนียน
+แนบแน่น
+แนม
+แนว
+แน่ว
+แนวทาง
+แนวที่ห้า
+แน่วแน่
+แนวโน้ม
+แนวป่า
+แนวรบ
+แนวร่วม
+แนวเรือ
+แนวหน้า
+แนวหลัง
+แนะ
+แน่ะ
+แนะนัด
+แนะนำ
+แนะแนว
+แนะแหน
+โน
+โน้ต
+โน้ตเพลง
+โนน
+โน่น
+โน้น
+โนเน
+โนเบเลียม
+โน้ม
+โน้มน้าว
+โนมพรรณ
+โนรา
+โนรี
+ใน
+ในกรม
+ในไส้
+ในหลวง
+ไน
+ไนต์คลับ
+ไนโตรเจน
+ไนลอน
+ไนโอเบียม
+บ
+บ่
+บก
+บกพร่อง
+บง
+บ่ง
+บงก-
+บงก์
+บงกช
+บงกชกร
+บงการ
+บ๊งเบ๊ง
+บงสุ-
+บงสุ์
+บงสุกุล
+บงสุกูลิก
+บงอับบงรา
+บ่งอับบ่งรา
+บฏ
+บด
+บดขยี้
+บดบัง
+บดเอื้อง
+บดินทร์
+บดี
+บดีธรรม
+บดีพรต
+บดีวรดา
+บดีศร
+บถ
+บท
+บท-
+บทกลอน
+บทกวีนิพนธ์
+บทกำหนดโทษ
+บทความ
+บทคัดย่อ
+บทจร
+บทเจรจา
+บทเฉพาะกาล
+บทดอกสร้อย
+บทนำ
+บทบงกช
+บทบงสุ์
+บทบรรณาธิการ
+บทบัญญัติ
+บทบาท
+บทบาทมาก
+บทบูรณ์
+บทประพันธ์
+บทพากย์
+บทเพลง
+บทภาชน์
+บทภาชนีย์
+บทมาลย์
+บทร้อง
+บทรัช
+บทเรศ
+บทเรียน
+บทวเรศ
+บทวลัญช์
+บทวาร
+บทศรี
+บทสนทนา
+บทสังขยา
+บทามพุช
+บโทน
+บน
+บ่น
+บนข้าวผี ตีข้าวพระ
+บ่นถึง
+บนบาน
+บนบานศาลกล่าว
+บพิตร
+บพิตรพระราชสมภาร
+บพิธ
+บ่ม
+บ่มผิว
+บ่มมัน
+บ่มหนอง
+บมิ
+บร-
+บรทาร
+บรทารกรรม
+บรม
+บรม-
+บรมธาตุ
+บรมบพิตร
+บรมวงศานุวงศ์
+บรมอัฐิ
+บรมัตถ์
+บรรกวด
+บรรจง
+บรรจถรณ์
+บรรจบ
+บรรจวบ
+บรรจุ
+บรรเจิด
+บรรณ
+บรรณ-
+บรรณกุฎี
+บรรณพิภพ
+บรรณโลก
+บรรณศาลา
+บรรณสาร
+บรรณาการ
+บรรณาคม
+บรรณาธิกร
+บรรณาธิการ
+บรรณานุกรม
+บรรณารักษ์
+บรรณารักษศาสตร์
+บรรดา
+บรรดาก
+บรรดามี
+บรรดาศักดิ์
+บรรตานึก
+บรรถร
+บรรทม
+บรรทัด
+บรรทัดฐาน
+บรรทับ
+บรรทาน
+บรรทุก
+บรรเทา
+บรรเทือง
+บรรพ
+บรรพ-
+บรรพ์
+บรรพชา
+บรรพชิต
+บรรพต
+บรรพต-
+บรรพตกีลา
+บรรพตชาล
+บรรพตธาตุ
+บรรพตมาลา
+บรรพตราช
+บรรพตวาสี
+บรรพตศิขร
+บรรพบุรุษ
+บรรพภาค
+บรรพเภท
+บรรพมูล
+บรรพสตรี
+บรรยง
+บรรยงก์
+บรรยเวกษก์
+บรรยากาศ
+บรรยาย
+บรรลัย
+บรรลัยกัลป์
+บรรลัยจักร
+บรรลาย
+บรรลุ
+บรรลุนิติภาวะ
+บรรเลง
+บรรโลม
+บรรษัท
+บรรสบ
+บรรสพ
+บรรสม
+บรรสาน
+บรรสาร
+บรรหาน
+บรรหาร
+บรอนซ์
+บรัด
+บรั่นดี
+บรัศว์
+บรากรม
+บราง
+บราทุกรา
+บราลี
+บริกรม
+บริกรรม
+บริกัป
+บริการ
+บริขา
+บริขาร
+บริขารโจล
+บริคณห์
+บริคณห์สนธิ
+บริจาค
+บริจารก
+บริจาริกา
+บริเฉท
+บริเฉท-
+บริเฉทกาล
+บริชน
+บริณายก
+บริณายกรัตน์
+บริดจ์
+บริบท
+บริบวรณ์
+บริบาล
+บริบูรณ์
+บริพนธ์
+บริพัตร
+บริพันธ์
+บริพาชก
+บริพาชิกา
+บริพาชี
+บริพาร
+บริภัณฑ์
+บริภาษ
+บริโภค
+บริโภคเจดีย์
+บริมาส
+บริยาย
+บริรม
+บริรักษ์
+บริราช
+บริวรรต
+บริวาร
+บริวาส
+บริเวณ
+บริษการ
+บริษัท
+บริษัทเครดิตฟองซิเอร์
+บริษัทจำกัด
+บริษัทบริวาร
+บริษัทมหาชนจำกัด
+บริสชน
+บริสุทธิ์
+บริสุทธิ์ใจ
+บริหาร
+บริหาส
+บแรง
+บแรงภักษ์
+บฤงคพ
+บล็อก
+บวก
+บวง
+บ่วง
+บ่วงบาศ
+บวงสรวง
+บวช
+บวชชี
+บวน
+บ้วน
+บ้วนปาก
+บ้วนพระโอษฐ์
+บวบ
+บวบขม
+บวม
+บวมน้ำ
+บ๊วย
+บวร
+บวร-
+บวรโตฎก
+บหลิ่ม
+บอ
+บ่อ
+บอก
+บอกกล่าว
+บอกแขก
+บอกคำบอก
+บอกบท
+บอกบัญชี
+บอกบุญ
+บอกใบ้
+บอกปัด
+บอกเปิด
+บอกยี่ห้อ
+บอกเล่าเก้าสิบ
+บอกวัตร
+บอกศาลา
+บอกหนทาง
+บอกหนังสือสังฆราช
+บ่อเกิด
+บอง
+บ่อง
+บ้อง
+บ๊อง
+บ๊องๆ
+บ้องกัญชา
+บ้องตะลา
+บ้องตัน
+บ้องตื้น
+บ้องแบ๊ว
+บ้องไฟ
+บ้องยาแดง
+บองหลา
+บ้องหู
+บอด
+บอดสี
+บอน
+บ่อน
+บ่อนแตก
+บ่อนทำลาย
+บอนลายกระหนก
+บ่อน้ำร้อน
+บอบ
+บอบช้ำ
+บอบบาง
+บอบแบบ
+บ้อม
+บ๋อม
+บ่อย
+บ่อยๆ
+บอระเพ็ด
+บอระมาน
+บอล
+บอลลูน
+บ้อหุ้น
+บเอ
+บ๊ะ
+บะหมี่
+บัก
+บักโกรก
+บักอาน
+บัคเตรี
+บัง
+บั้ง
+บังกะโล
+บังกัด
+บังเกิด
+บังโกรยตัวผู้
+บังโกรยตัวเมีย
+บังโกลน
+บังคน
+บังคนเบา
+บังคนหนัก
+บังคม
+บังคล
+บังควร
+บังความ
+บังคับ
+บังคับการ
+บังคับครุ
+บังคับใจ
+บังคับโท
+บังคับบัญชา
+บังคับลหุ
+บังคับสัมผัส
+บังคับเอก
+บังคัล
+บังโคลน
+บังเงา
+บังตะวัน
+บังตา
+บังแทรก
+บังใบ
+บังเพลิง
+บังไพร
+บังฟัน
+บั้งไฟ
+บังมืด
+บังวาย
+บังเวียน
+บังสาด
+บังสุกุล
+บังสุกูลิก
+บังสูรย์
+บังหน้า
+บังหวนควัน
+บังเหตุ
+บังเหิน
+บังเหียน
+บังอร
+บังอวจ
+บังอาจ
+บังอิง
+บังอูร
+บังเอิญ
+บัญจก
+บัญจรงค์
+บัญชร
+บัญชา
+บัญชาการ
+บัญชี
+บัญชีกระแสรายวัน
+บัญชีเดินสะพัด
+บัญญัติ
+บัญญัติไตรยางศ์
+บัญหา
+บัฏ
+บัฐยาพฤต
+บัณฑร
+บัณฑร-
+บัณฑรนาค
+บัณฑิต
+บัณฑิตย์
+บัณฑุ
+บัณฑุกัมพล
+บัณฑุกัมพลศิลาอาสน์
+บัณฑุนาค
+บัณฑุโรค
+บัณฑูร
+บัณเฑาะก์
+บัณเฑาะว์
+บัณณาส
+บัณรส
+บัณรสี
+บัด
+บัดกรี
+บัดซบ
+บัดดล
+บัดเดี๋ยว
+บัดนั้น
+บัดนี้
+บัดบง
+บัดแบ่ง
+บัดแมล่ง
+บัดสี
+บัดสีบัดเถลิง
+บัตร
+บัตรเทวดา
+บัตรธนาคาร
+บัตรพลี
+บัตรสนเท่ห์
+บัตรหมาย
+บัทม์
+บัน
+บั่น
+บั้น
+บันกวด
+บันจวบ
+บันจอย
+บันดล
+บันดาล
+บันเดิน
+บันโดย
+บันได
+บันไดแก้ว
+บันไดลิง
+บันไดเลื่อน
+บันแถลง
+บั่นทอน
+บั้นท้าย
+บันทึก
+บันทึง
+บันเทิง
+บันเทิงคดี
+บันเบา
+บั้นปลาย
+บั้นพระองค์
+บันยะบันยัง
+บันลือ
+บั้นหลวง
+บันเหิน
+บั้นเอว
+บัปผาสะ
+บัพ
+บัพชา
+บัพชิต
+บัพพาช
+บัพพาชน์
+บัพพาชนียกรรม
+บัล
+บัลลพ
+บัลลังก์
+บัลลูน
+บัลวะ
+บัว
+บัวกลุ่ม
+บัวขาบ
+บัวคอเสื้อ
+บัวตะกั่ว
+บัวตูม
+บัวถลา
+บัวนาง
+บัวบก
+บัวบังใบ
+บัวบาท
+บัวผุด
+บัวไม่ช้ำ น้ำไม่ขุ่น
+บัวโรย
+บัวลอย
+บัวสวรรค์
+บัวสายติ่ง
+บัวสายทิ้ง
+บัวฮาดำ
+บา
+บ่า
+บ้า
+บ้าๆ
+บาก
+บากท่า
+บากบั่น
+บากหน้า
+บาง
+บ่าง
+บ้าง
+บางขุนนนท์
+บ่างช่างยุ
+บางตา
+บางที
+บางเบา
+บางสุ
+บาจก
+บาจรีย์
+บาจิกา
+บ้าจี้
+บาซิลลัส
+บาด
+บาดคอ
+บาดเจ็บ
+บาดใจ
+บาดตา
+บาดทะจิต
+บาดทะพิษ
+บาดทะยัก
+บาดแผล
+บาดเสี้ยนบาดหนาม
+บาดหมาง
+บาดหมาย
+บาดหู
+บาดไหม
+บาดาล
+บ้าดีเดือด
+บาแดง
+บาต
+บาตร
+บาตรแก้ว
+บาตรใหญ่
+บาท
+บาท-
+บาทนิเกต
+บาทบ
+บาทบงกช
+บาทบงสุ์
+บาทบริจาริกา
+บาทบูรณ์
+บาทภัฏ
+บาทภาค
+บาทมุทรา
+บาทมูล
+บาทมูลิกากร
+บาทยุคล
+บาทรช
+บาทรัช
+บาทสกุณี
+บาทหลวง
+บาทาธึก
+บาทุกา
+บาธรรม
+บาน
+บาน-
+บ้าน
+บานกบ
+บานเกล็ด
+บ้านเกิดเมืองนอน
+บ้านเคยอยู่ อู่เคยนอน
+บ้านจัดสรร
+บ้านช่อง
+บานชื่น
+บานเช้า
+บานตะเกียง
+บานตะโก้
+บานตะไท
+บ้านแตกสาแหรกขาด
+บานทะโรค
+บ้านนอก
+บ้านนอกขอกนา
+บานบาตร
+บานบุรี
+บานบุรีม่วง
+บานเบอะ
+บานเบิก
+บานเบียง
+บานแบะ
+บานปลาย
+บานแผนก
+บานแผละ
+บ้านพัก
+บานพับ
+บานแพนก
+บานโภชน์
+บานมงคล
+บ้านเมือง
+บ้านเมืองมีขื่อมีแป
+บานไม่รู้โรย
+บานเย็น
+บ้านรับรอง
+บ้านเรือน
+บ้าน้ำลาย
+บ่านี่
+บานียะ
+บานีโยทก
+บ้าบ่น
+บ้าบ๋า
+บ้าบิ่น
+บาบี
+บาป
+บาป-
+บาปกรรม
+บาปเคราะห์
+บาปมิตร
+บาปหนา
+บาพก
+บาย
+บ่าย
+บ้าย
+บ่ายควาย
+บ่ายเบี่ยง
+บายศรี
+บายศรีปากชาม
+บายสุหรี
+บ่ายหน้า
+บาร์
+บารนี
+บารมี
+บาร์เรล
+บาร์เลย์
+บารอมิเตอร์
+บ้าระบุ่น
+บ้าระห่ำ
+บ้าร่าท่า
+บาเรียน
+บาเรียม
+บาล
+บ้าลำโพง
+บาลี
+บ้าเลือด
+บ่าว
+บ่าวขุน
+บ่าวไพร่
+บาศ
+บาศก์
+บาสเกตบอล
+บ้าสมบัติ
+บ้าหมู
+บาหลี
+บ้าหว่า
+บ้าหอบฟาง
+บ้าห้าร้อยจำพวก
+บ๋ำ
+บำเทิง
+บำนาญ
+บำบวง
+บำบัด
+บำโบ
+บำโบย
+บำโบล
+บำเพ็ญ
+บำราบ
+บำราศ
+บำรุง
+บำรุงขวัญ
+บำรู
+บำเรอ
+บำเรอเชอภักดิ์
+บำหยัด
+บำเหน็จ
+บิ
+บิกู
+บิกูปะระมาหนา
+บิกูปะระหมั่นหนา
+บิฐ
+บิณฑ-
+บิณฑบาต
+บิด
+บิดขวา
+บิดขี้เกียจ
+บิดจะกูด
+บิดซ้าย
+บิดตะกูด
+บิดเบี้ยว
+บิดเบือน
+บิดพลิ้ว
+บิดร
+บิดไส้
+บิดหล่า
+บิดหัวลูก
+บิดา
+บิตุ
+บิตุจฉา
+บิตุรงค์
+บิตุเรศ
+บิตุล
+บิตุลา
+บิตุลานี
+บิน
+บิ่น
+บินยา
+บิลเลียด
+บิวเรตต์
+บิศาจ
+บิสมัท
+บี้
+บีกู
+บีฑา
+บีตา
+บีบ
+บีบขนมจีน
+บีบขมับ
+บีบคั้น
+บีบน้ำตา
+บีบบังคับ
+บีบรัด
+บี้แบน
+บีเยศ
+บึก
+บึกบึน
+บึง
+บึ่ง
+บึ้ง
+บึ้งตึง
+บึงบาง
+บึ้งบูด
+บุ
+บุก
+บุกบัน
+บุกบั่น
+บุกเบิก
+บุกป่าฝ่าดง
+บุกรุก
+บุคคล
+บุคคล-
+บุคคลธรรมดา
+บุคคลนิติสมมติ
+บุคคลผู้ไร้ความสามารถ
+บุคคลสิทธิ
+บุคลากร
+บุคลาธิษฐาน
+บุคลิก
+บุคลิก-
+บุคลิกทาน
+บุคลิกภาพ
+บุคลิกลักษณะ
+บุง
+บุ่ง
+บุ้ง
+บุ้งขัน
+บุ้งจีน
+บุ้งทะเล
+บุ้งฝรั่ง
+บุ้งร้วม
+บุญ
+บุญ-
+บุญเขต
+บุญญานุภาพ
+บุญญาภินิหาร
+บุญญาภิสังขาร
+บุญทาย
+บุญทำกรรมแต่ง
+บุญธรรม
+บุญนิธิ
+บุญมาวาสนาส่ง
+บุญราศี
+บุญฤทธิ์
+บุญหนักศักดิ์ใหญ่
+บุณฑริก
+บุณมี
+บุณย์
+บุตร
+บุตร-
+บุตรธรรม
+บุตรบุญธรรม
+บุตรา
+บุตรี
+บุตรีตระสุม
+บุถุชน
+บุทคล
+บุนนะบุนนัง
+บุนนาค
+บุบ
+บุบบิบ
+บุบสลาย
+บุปผ-
+บุปผชาติ
+บุปผวิกัติ
+บุพ-
+บุพกรรม
+บุพการี
+บุพกิจ
+บุพชาติ
+บุพทักษิณ
+บุพนิมิต
+บุพบท
+บุพเปตพลี
+บุพพ-
+บุพพัณชาติ
+บุพพัณหสมัย
+บุพพาจารย์
+บุพพาษาฒ
+บุพพาสาฬหะ
+บุพเพนิวาสานุสติญาณ
+บุพเพสันนิวาส
+บุพโพ
+บุพภาค
+บุพวิเทห์
+บุ๋ม
+บุ่มบ่าม
+บุ้ย
+บุ้ยใบ้
+บุ้ยปาก
+บุรณะ
+บุรพ-
+บุรพทิศ
+บุรพบท
+บุรพผลคุนี
+บุรพภัทรบท
+บุรพอาษาฒ
+บุรพาจารย์
+บุระ
+บุรัตถิมทิศ
+บุราณ
+บุราณทุติยิกา
+บุรินทร์
+บุริมทิศ
+บุริมพรรษา
+บุริมสิทธิ
+บุรี
+บุรุษ
+บุรุษ-
+บุรุษโทษ
+บุรุษธรรม
+บุโรทั่ง
+บุษกร
+บุษบ-
+บุษบก
+บุษบง
+บุษบราค
+บุษบวรรษ
+บุษบัน
+บุษบา
+บุษบากร
+บุษบาคม
+บุษบาบัณ
+บุษบามินตรา
+บุษบารักร้อย
+บุษป-
+บุษปราค
+บุษปะ
+บุษย-
+บุษย์
+บุษย์น้ำทอง
+บุษยมาส
+บุษยสนาน
+บุษยะ
+บุษยาภิเษก
+บุษราคัม
+บุหงง
+บุหงัน
+บุหงา
+บุหงาประหงัน
+บุหงามลาซอ
+บุหงารำไป
+บุหงาลำเจียก
+บุหรง
+บุหรี่
+บุหรี่พระราม
+บุหลัน
+บู่
+บู้
+บูชนีย-
+บูชนียสถาน
+บูชา
+บูชากัณฑ์เทศน์
+บูชายัญ
+บูชิต
+บูด
+บูดบึ้ง
+บูดเบี้ยว
+บู่ทะเล
+บู้บี้
+บูร
+บูรณ-
+บูรณ์
+บูรณภาพ
+บูรณมี
+บูรณะ
+บูรณาการรวมหน่วย
+บูรพ
+บูรพา
+บูรพาจารย์
+บูรพาษาฒ
+บูรี
+เบ้
+เบ่ง
+เบ๊จี๋
+เบญกานี
+เบญจ
+เบญจ-
+เบญจก
+เบญจกัลยาณี
+เบญจกามคุณ
+เบญจกูล
+เบญจขันธ์
+เบญจคัพย์
+เบญจคีรีนคร
+เบญจโครส
+เบญจดุริยางค์
+เบญจธรรม
+เบญจบรรพต
+เบญจพรรณ
+เบญจพล
+เบญจเพส
+เบญจภูต
+เบญจม-
+เบญจมสุรทิน
+เบญจมาศ
+เบญจมาศสวน
+เบญจมาศหนู
+เบญจรงค์
+เบญจโลหกะ
+เบญจวรรค
+เบญจวรรณ
+เบญจวรรณห้าสี
+เบญจศก
+เบญจศีล
+เบญจา
+เบญจางค-
+เบญจางค์
+เบญจางคประดิษฐ์
+เบญญา
+เบญพาด
+เบ็ด
+เบ็ดเตล็ด
+เบ็ดเสร็จ
+เบน
+เบนซิน
+เบรก
+เบริลเลียม
+เบรียน
+เบส
+เบ้อ
+เบอร์
+เบอร์คีเลียม
+เบ้อเร่อ
+เบ้อเร่อเท่อ
+เบ้อเริ่ม
+เบ้อเริ่มเทิ่ม
+เบอะ
+เบอะบะ
+เบะ
+เบา
+เบ้า
+เบ้าขลุบ
+เบาความ
+เบาใจ
+เบาตัว
+เบ้าตา
+เบาเต็ง
+เบาเนื้อเบาตัว
+เบาบาง
+เบาปัญญา
+เบามือ
+เบาไม้
+เบาไม้เบามือ
+เบาราณ
+เบาแรง
+เบาสมอง
+เบ้าหลุด
+เบาหวาน
+เบาเหวง
+เบาโหวง
+เบาะ
+เบาะๆ
+เบาะลม
+เบาะแส
+เบิก
+เบิกความ
+เบิกทาง
+เบิกทูต
+เบิกบาน
+เบิกพยาน
+เบิกพระเนตร
+เบิกพระโอษฐ์
+เบิกไพร
+เบิกไม้
+เบิกเรือ
+เบิกโรง
+เบิกโลง
+เบิกแว่นเวียนเทียน
+เบิกอรุณ
+เบิ่ง
+เบี้ย
+เบียก
+เบียกบ้าย
+เบี้ยกันดาร
+เบี้ยแก้
+เบี่ยง
+เบี่ยงบ่าย
+เบียด
+เบียดกรอ
+เบียดบัง
+เบียดเบียน
+เบียดแว้ง
+เบียดเสียด
+เบี้ยต่อไส้
+เบี้ยทำขวัญ
+เบียน
+เบียนธาตุ
+เบี้ยน้อยหอยน้อย
+เบี้ยบน
+เบี้ยบ้ายรายทาง
+เบี้ยบำนาญ
+เบี้ยโบก
+เบี้ยประกันภัย
+เบี้ยประชุม
+เบี้ยปรับ
+เบียร์
+เบี้ยล่าง
+เบี้ยเลี้ยง
+เบี้ยว
+เบี้ยวๆ บูดๆ
+เบี้ยหวัด
+เบี้ยหัวแตก
+เบี้ยหัวแหลก
+เบือ
+เบื่อ
+เบื้อ
+เบื้อง
+เบื้องญวน
+เบื้องต้น
+เบื้องบน
+เบื้องว่า
+เบื้องหน้า
+เบื้องหลัง
+เบือน
+แบ
+แบ้
+แบก
+แบกหน้า
+แบกะดิน
+แบคทีเรีย
+แบ่ง
+แบงก์
+แบ่งค้าง
+แบ่งเบา
+แบ่งปัน
+แบ่งภาค
+แบ่งแยก
+แบ่งรับแบ่งสู้
+แบ่งสันปันส่วน
+แบดมินตัน
+แบตเตอรี่
+แบไต๋
+แบน
+แบนโจ
+แบบ
+แบ็บ
+แบบข้อคำถาม
+แบบฉบับ
+แบบบาง
+แบบแผน
+แบบฝึกหัด
+แบบพิธี
+แบบพิมพ์
+แบบสอบถาม
+แบบอย่าง
+แบเบาะ
+แบมือ
+แบรก
+แบเรียม
+แบหลา
+แบะ
+แบะแฉะ
+แบะท่า
+แบะปาก
+แบะอก
+โบ
+โบ้
+โบ๋
+โบก
+โบกขร-
+โบกขรณี
+โบกขรพรรษ
+โบกมือ
+โบชุก
+โบดก
+โบแดง
+โบต
+โบนัส
+โบ๊เบ๊
+โบย
+โบยบิน
+โบรมีน
+โบรอน
+โบราณ
+โบราณ-
+โบราณคดี
+โบราณวัตถุ
+โบราณสถาน
+โบสถ์
+ใบ
+ใบ้
+ใบก้นปิด
+ใบกองเกิน
+ใบกองหนุน
+ใบขนสินค้า
+ใบขนุน
+ใบขับขี่
+ใบแข็ง
+ใบ้คลั่ง
+ใบเงิน
+ใบจอง
+ใบฎีกา
+ใบดาล
+ใบดำ
+ใบแดง
+ใบแดงแจ้งโทษ
+ใบตราส่ง
+ใบตอง
+ใบตาล
+ใบทอง
+ใบท้องแดง
+ใบแทรก
+ใบนาก
+ใบบอก
+ใบบุญ
+ใบเบิก
+ใบเบิกทาง
+ใบเบิกร่อง
+ใบปก
+ใบปรือ
+ใบปลิว
+ใบพัด
+ใบพัทธสีมา
+ใบโพ
+ใบเมี่ยง
+ใบไม้
+ใบระกา
+ใบรับ
+ใบรับรอง
+ใบลา
+ใบเลี้ยง
+ใบสอ
+ใบสั่ง
+ใบสั่งจ่าย
+ใบสัจ
+ใบสำคัญ
+ใบสำคัญคู่จ่าย
+ใบสีมา
+ใบสุทธิ
+ใบเสมา
+ใบเสร็จ
+ใบหน้า
+ใบหุ้น
+ใบหูช้าง
+ใบเหยียบย่ำ
+ใบอนุญาตขับขี่
+ไบ่ๆ
+ป
+ปก
+ปกกระพอง
+ปกเกศ
+ปกครอง
+ปกคลุม
+ปกติ
+ปกป้อง
+ปกปักรักษา
+ปกปิด
+ปกรณ์
+ปกรณัม
+ปการ
+ปกิณกะ
+ปกีรณัม
+ปโกฏิ
+ปง
+ป่ง
+ปงช้าง
+ปงปัง
+ปฎล
+ปฏัก
+ปฏิ-
+ปฏิกรณ์
+ปฏิกรรมสงคราม
+ปฏิการ-
+ปฏิการะ
+ปฏิกิริยา
+ปฏิกูล
+ปฏิคคหิต
+ปฏิคม
+ปฏิคหิต-
+ปฏิคาหก
+ปฏิฆะ
+ปฏิชีวนะ
+ปฏิญญา
+ปฏิญญาสากลว่าด้วยสิทธิมนุษยชน
+ปฏิญาณ
+ปฏิทิน
+ปฏิบถ
+ปฏิบัติ
+ปฏิบัติการ
+ปฏิบัติธรรม
+ปฏิปทา
+ปฏิปักษ์
+ปฏิปัน
+ปฏิปุจฉาพยากรณ์
+ปฏิปุจฉาวาที
+ปฏิพัทธ์
+ปฏิพากย์
+ปฏิภาค
+ปฏิภาค-
+ปฏิภาคนิมิต
+ปฏิภาณ
+ปฏิภาณ-
+ปฏิภาณกวี
+ปฏิภาณปฏิสัมภิทา
+ปฏิภาณโวหาร
+ปฏิมา
+ปฏิมากร
+ปฏิยุทธ์
+ปฏิรพ
+ปฏิรูป
+ปฏิรูป-
+ปฏิโลม
+ปฏิวัติ
+ปฏิวาต
+ปฏิวาท
+ปฏิเวธ
+ปฏิสนธิ
+ปฏิสวะ
+ปฏิสังขรณ์
+ปฏิสันถาร
+ปฏิสัมภิทา
+ปฏิเสธ
+ปฏิเสธข่าว
+ปฐพี
+ปฐพีวิทยา
+ปฐม
+ปฐม-
+ปฐมกรรม
+ปฐมฌาน
+ปฐมดุสิต
+ปฐมทัศน์
+ปฐมเทศนา
+ปฐมนิเทศ
+ปฐมบุรุษ
+ปฐมพยาบาล
+ปฐมโพธิกาล
+ปฐมยาม
+ปฐมฤกษ์
+ปฐมวัย
+ปฐมสมโพธิ
+ปฐมสุรทิน
+ปฐมาษาฒ
+ปฐวี
+ปณต
+ปณาม
+ปณิธาน
+ปณิธิ
+ปณีต
+ปด
+ปดโป้
+ปดิวรัดา
+ปติ
+ปติยัต
+ปติวัตร
+ปถพี
+ปถมัง
+ปถวี
+ปทัฏฐาน
+ปทัสถาน
+ปทานุกรม
+ปทีป
+ปทุม
+ปน
+ป่น
+ป่นปี้
+ปนเป
+ปนัดดา
+ปบ
+ปปัญจ-
+ปปัญจธรรม
+ปปัญจะ
+ปม
+ปมเขื่อง
+ปมจิต
+ปมด้อย
+ปมเด่น
+ปมประสาท
+ปมเปา
+ปโย-
+ปโยชนม์
+ปโยธร
+ปโยธรา
+ปโยนิธิ
+ปโยราศิ
+ปร-
+ปรก
+ปรกติ
+ปรง
+ปรด
+ปรตยักษ์
+ปรตยาค
+ปรตเยก
+ปรน
+ปรนนิบัติ
+ปรนปรือ
+ปรนเปรอ
+ปรนัย
+ปรบ
+ปรบไก่
+ปรบมือให้
+ปรปักษ์
+ปรม-
+ปรมัตถ์
+ปรมาจารย์
+ปรมาณู
+ปรมาตมัน
+ปรมาภิไธย
+ปรมาภิเษก
+ปรมินทร์
+ปรเมนทร์
+ปรเมศวร์
+ปรเมษฐ์
+ปรเมหะ
+ปรโลก
+ปรวด
+ปรวนแปร
+ปรวาที
+ปรศุ
+ปรสิต
+ปรสิต-
+ปรสิตวิทยา
+ปร๋อ
+ปรองดอง
+ปรอด
+ปรอดๆ
+ปรอท
+ปรอย
+ปรอยๆ
+ประ-
+ประกบ
+ประกบตัว
+ประกฤต
+ประกฤติ
+ประกล
+ประกวด
+ประกวดประขัน
+ประกวดราคา
+ประกอบ
+ประกอบด้วย
+ประกอบอาหาร
+ประกัน
+ประกันชีวิต
+ประกันเชิงลา
+ประกันตัวผู้ต้องหาหรือจำเลย
+ประกันภัย
+ประกันภัยค้ำจุน
+ประกันวินาศภัย
+ประกับ
+ประกาย
+ประกายพรึก
+ประการ
+ประกาศ
+ประกาศก
+ประกาศนียบัตร
+ประกาศิต
+ประกำ
+ประกิด
+ประกิต
+ประกีรณก
+ประเกียรณก
+ประแกก
+ประคด
+ประคนธรรพ
+ประคนธรรพ์
+ประคบ
+ประคบประหงม
+ประคอง
+ประคับประคอง
+ประคัลภ์
+ประคารม
+ประคำ
+ประคำไก่
+ประคำดีควาย
+ประคำร้อย
+ประคิ่น
+ประคิ่นวินชา
+ประคุณ
+ประเคน
+ประเคราะห์
+ประโคน
+ประโคนธรรพ
+ประโคนธรรพ์
+ประโคม
+ประโคมข่าว
+ประจง
+ประจญ
+ประจบ
+ประจบประแจง
+ประจวบ
+ประจ๋อประแจ๋
+ประจักษ-
+ประจักษ์
+ประจักษนิยม
+ประจักษ์พยาน
+ประจัญ
+ประจัญบาน
+ประจัน
+ประจันหน้า
+ประจาก
+ประจาค
+ประจาน
+ประจำ
+ประจำการ
+ประจำครั่ง
+ประจำฉัตร
+ประจำซอง
+ประจำเดือน
+ประจำตรา
+ประจำเมือง
+ประจำยาม
+ประจิม
+ประจิ้มประจ่อง
+ประจิ้มประเจ๋อ
+ประจุ
+ประจุขาด
+ประจุคมน์
+ประจุบัน
+ประจุไฟฟ้า
+ประจุโลหิต
+ประเจก
+ประเจิด
+ประเจิดประเจ้อ
+ประเจียด
+ประแจ
+ประแจจีน
+ประชด
+ประชดประชัน
+ประชน
+ประชวม
+ประชวร
+ประชัน
+ประชา
+ประชากร
+ประชากรศาสตร์
+ประชาคม
+ประชาชน
+ประชาชาติ
+ประชาทัณฑ์
+ประชาธิปไตย
+ประชานาถ
+ประชาบดี
+ประชาบาล
+ประชาภิบาล
+ประชามติ
+ประชาราษฎร์
+ประชาสงเคราะห์
+ประชาสัมพันธ์
+ประชิด
+ประชี
+ประชุม
+ประชุมเพลิง
+ประชุมสุดยอด
+ประเชิญ
+ประณต
+ประณม
+ประณาม
+ประณิธาน
+ประณิธิ
+ประณีต
+ประณุท
+ประดง
+ประดงแดง
+ประดน
+ประดนธรรม
+ประดวน
+ประดอน
+ประดอย
+ประดักๆ
+ประดักประเดิด
+ประดัง
+ประดับ
+ประดับประดา
+ประดา
+ประดาก
+ประดาตาย
+ประดาทัพ
+ประดาน้ำ
+ประดาป
+ประดาพล
+ประดามี
+ประดาษ
+ประดาเสีย
+ประดิ-
+ประดิชญา
+ประดิดประดอย
+ประดิทิน
+ประดิรพ
+ประดิษฐ-
+ประดิษฐ์
+ประดิษฐกรรม
+ประดิษฐาน
+ประดุง
+ประดุจ
+ประดู่
+ประดู่แขก
+ประดู่ชิงชัน
+ประดู่แดง
+ประดู่ลาย
+ประเด
+ประเด็น
+ประเดยก
+ประเดิม
+ประเดียง
+ประเดี๋ยว
+ประเดี๋ยวก่อน
+ประเดี๋ยวเดียว
+ประเดี๋ยวนี้
+ประเดี๋ยวประด๋าว
+ประแดง
+ประแดะ
+ประโดย
+ประตง
+ประตยาค
+ประตัก
+ประตาปะ
+ประติ-
+ประติชญา
+ประติญาณ
+ประติทิน
+ประติมากรรม
+ประติรพ
+ประติศรัพ
+ประตู
+ประตูชัย
+ประตูน้ำ
+ประตูป่า
+ประตูผี
+ประตูฟุตบอล
+ประตูระบาย
+ประตูรับน้ำ
+ประตูลม
+ประถม
+ประถมจินดา
+ประทม
+ประทยด
+ประท้วง
+ประทวน
+ประทวนสินค้า
+ประทักษ์
+ประทักษิณ
+ประทัง
+ประทัด
+ประทัดจีน
+ประทัดทอง
+ประทัดฝรั่ง
+ประทัดลม
+ประทัดเล็ก
+ประทัดใหญ่
+ประทับ
+ประทับใจ
+ประทับตรา
+ประทับฟ้อง
+ประทับแรม
+ประท่า
+ประทากล้อง
+ประทาน
+ประทานบัตร
+ประทาย
+ประทาศี
+ประทิน
+ประทิ่น
+ประทีป
+ประทุก
+ประทุฐ
+ประทุฐจิต
+ประทุน
+ประทุมราค
+ประทุษ
+ประทุษฏ์
+ประทุษฏจิต
+ประทุษฐ์
+ประทุษฐจิต
+ประทุษร้าย
+ประเทศ
+ประเทศกันชน
+ประเทศชาติ
+ประเทศราช
+ประเทา
+ประเท้า
+ประเทียด
+ประเทียบ
+ประเทือง
+ประธาน
+ประธานาธิบดี
+ประนม
+ประนมมือ
+ประนอ
+ประนอม
+ประนอมหนี้
+ประนัง
+ประนัปดา
+ประนี้
+ประนีประนอม
+ประนีประนอมยอมความ
+ประบัด
+ประบาต
+ประปราน
+ประปราย
+ประปา
+ประเปรี้ยง
+ประเปรียว
+ประแป้ง
+ประแปร้น
+ประพจน์
+ประพนธ์
+ประพรม
+ประพฤติ
+ประพฤทธิ์
+ประพัด
+ประพัทธ์
+ประพันธ์
+ประพาต
+ประพาส
+ประพาสต้น
+ประพาสมหรณพ
+ประพาฬ
+ประพิณ
+ประพิมพ์ประพาย
+ประพุทธ์
+ประเพณี
+ประเพณีนิยม
+ประเพ้อ
+ประแพร่งประแพรว
+ประโพธ
+ประไพ
+ประไพร
+ประภพ
+ประภัสสร
+ประภา
+ประภากร
+ประภาคาร
+ประภาพ
+ประภามณฑล
+ประภาษ
+ประภาส
+ประเภท
+ประมง
+ประมวญ
+ประมวล
+ประมวลกฎหมาย
+ประมวลการสอน
+ประมวลรัษฎากร
+ประมัตตะ
+ประมาณ
+ประมาณการ
+ประมาณตน
+ประมาณตัว
+ประมาท
+ประมาทหน้า
+ประมุข
+ประมุท
+ประมูล
+ประเมิน
+ประเมินภาษี
+ประโมง
+ประโมทย์
+ประยงค์
+ประยุกต์
+ประยุทธ์
+ประยุร
+ประยูร
+ประโยค
+ประโยคประธาน
+ประโยคสัมปทา
+ประโยชน์
+ประโรหิต
+ประลมพ์
+ประลอง
+ประลองยุทธ์
+ประลัย
+ประลัยกัลป์
+ประลัยวาต
+ประลาต
+ประลาย
+ประลึง
+ประลุ
+ประลุง
+ประเล่ห์
+ประเล้าประโลม
+ประโลประเล
+ประโลม
+ประโลมโลก
+ประวรรต
+ประวรรตน์
+ประวัติ
+ประวัติ-
+ประวัติการ
+ประวัติการณ์
+ประวัติกาล
+ประวัติศาสตร์
+ประวาต
+ประวาล
+ประวาลปัทม์
+ประวาลผล
+ประวาลวรรณ
+ประวาส
+ประวิง
+ประวิช
+ประวิตร
+ประวิสรรชนีย์
+ประวีณ
+ประเวณี
+ประเวประวิง
+ประเวศ
+ประเวศน์
+ประศม
+ประศาสน์
+ประศุ
+ประสก
+ประสงค์
+ประสงค์ร้าย
+ประสบ
+ประสบการณ์
+ประสบการณ์นิยม
+ประสพ
+ประสม
+ประสมประสาน
+ประสมประเส
+ประสมพันธุ์
+ประสมโรง
+ประสะ
+ประสัก
+ประสันนาการ
+ประสัยห-
+ประสัยห์
+ประสัยหาการ
+ประสัยหาวหาร
+ประสา
+ประสาท
+ประสาท-
+ประสาทการ
+ประสาทรูป
+ประสาทหลอน
+ประสาธน์
+ประสาน
+ประสานงา
+ประสานเนรมิต
+ประสานเสียง
+ประสาร
+ประสิทธิ-
+ประสิทธิ์
+ประสิทธิ์ประสาท
+ประสิทธิผล
+ประสิทธิภาพ
+ประสิทธิเม
+ประสีประสา
+ประสูต
+ประสูติ
+ประเสบันอากง
+ประเสริฐ
+ประแสบัน
+ประหนึ่ง
+ประหม่า
+ประหยัด
+ประหรณ์
+ประหลาด
+ประหล่ำ
+ประหลิ่ม
+ประหวัด
+ประหวั่น
+ประหว่า
+ประหัต
+ประหัตประหาร
+ประหาณ
+ประหาร
+ประหารชีวิต
+ประหาส
+ประเหล
+ประเหส
+ประเหียล
+ประอบ
+ประอร
+ประอรประเอียง
+ประอึง
+ประอุก
+ประเอียง
+ประแอก
+ประฮาม
+ปรัก
+ปรักปรำ
+ปรักมะ
+ปรักหักพัง
+ปรัง
+ปรัชญา
+ปรัด
+ปรัตถจริยา
+ปรัตยนต์
+ปรัตยักษ์
+ปรัตยันต์
+ปรัตยัย
+ปรัตยุตบัน
+ปรัตยุบัน
+ปรัตยูษ
+ปรัตยูห์
+ปรัตเยก
+ปรัน
+ปรั่น
+ปรั้น
+ปรับ
+ปรับทุกข์
+ปรับโทษ
+ปรับปรุง
+ปรับไหม
+ปรับอากาศ
+ปรับอาบัติ
+ปรัมปรา
+ปรัศจิม
+ปรัศนา
+ปรัศนี
+ปรัศว์
+ปร่า
+ปรากฏ
+ปรากฏการณ์
+ปรากรม
+ปรากฤต
+ปราการ
+ปราคภาร
+ปราคาร
+ปราง
+ปรางค์
+ปรางคณะ
+ปรางค์ปรา
+ปราจีน
+ปราชญ์
+ปราชญา
+ปราชัย
+ปราชาปัตยวิวาหะ
+ปราชิต
+ปราณ
+ปราณี
+ปราด
+ปราดเปรียว
+ปราดเปรื่อง
+ปราติหารย์
+ปราทุกรา
+ปราน
+ปรานี
+ปรานีตีเอาเรือ
+ปรานีปราศรัย
+ปราบ
+ปราบดาภิเษก
+ปราบปราม
+ปราปต์
+ปราภพ
+ปราม
+ปรามาส
+ปราโมช
+ปราโมทย์
+ปราย
+ปรารถนา
+ปรารภ
+ปรารมภ์
+ปราศ
+ปราศจาก
+ปราศรัย
+ปราษณี
+ปราษาณ
+ปราสัย
+ปราสาท
+ปรำ
+ปริ-
+ปริก
+ปริกขาร
+ปริกรรม
+ปริกัป
+ปริกัลป-
+ปริกัลปมาลา-
+ปริขา
+ปริคณห์
+ปริจาค
+ปริจาริกา
+ปริเฉท
+ปริชน
+ปริซึม
+ปริญญา
+ปริญญาบัตร
+ปริณาม
+ปริณามัคคิ
+ปริณายก
+ปริต
+ปริต-
+ปริตตะ
+ปริตโตทก
+ปริตทวีป
+ปริตยาค
+ปริตร
+ปริทรรศน์
+ปริทัยหัคคี
+ปริทัศน์
+ปริเทพ
+ปริเทพน์
+ปริเทวนะ
+ปริเทวะ
+ปรินิพพาน
+ปริบ
+ปริปันถ์
+ปริปาก
+ปริพนธ์
+ปริพัตร
+ปริพันธ์
+ปริพาชก
+ปริภัณฑ์
+ปริภาษ
+ปริภาษณ์
+ปริภุญช์
+ปริภูมิ
+ปริโภค
+ปริ่ม
+ปริมณฑล
+ปริมัท
+ปริมาณ
+ปริมาตร
+ปริย-
+ปริยรณ
+ปริยวาท
+ปริยวาที
+ปริยัติ
+ปริยัติธรรม
+ปริยานุช
+ปริยาย
+ปริเยศ
+ปริโยสาน
+ปริวรรต
+ปริวรรต-
+ปริวรรตกรรม
+ปริวัตร
+ปริวาร
+ปริวาส
+ปริวิตก
+ปริเวณ
+ปริศนา
+ปริศนาธรรม
+ปริศนาลายแทง
+ปริศนาอักษรไขว้
+ปริษการ
+ปริษัท
+ปริสัญญู
+ปริสุทธิ
+ปริหาน
+ปริหาร
+ปริหาส
+ปรี่
+ปรีชญา
+ปรีชา
+ปรี๊ด
+ปรีดา
+ปรีดิ
+ปรีดิ์
+ปรีดี
+ปรีติ
+ปรีย
+ปรียา
+ปรึก
+ปรึกษา
+ปรึง
+ปรือ
+ปรื๋อ
+ปรุ
+ปรุง
+ปรุโปร่ง
+ปรู
+ปรู๋
+ปรูด
+ปรูดปราด
+ปรู๊ดปร๊าด
+ปรู๊ฟ
+ปฤงคพ
+ปฤจฉา
+ปฤจฉาคุณศัพท์
+ปฤจฉาสรรพนาม
+ปฤษฎ์
+ปฤษฎางค์
+ปฤษฐ
+ปลก
+ปลกเปลี้ย
+ปลง
+ปล่ง
+ปลงกรรมฐาน
+ปลงใจ
+ปลงช้าง
+ปลงชีวิต
+ปลงตก
+ปลงธรรมสังเวช
+ปลงธุระ
+ปลงบริขาร
+ปลงผม
+ปลงศพ
+ปลงสังขาร
+ปลงสังเวช
+ปลงอนิจจัง
+ปลงอาบัติ
+ปลงอายุสังขาร
+ปลด
+ปลดเกษียณ
+ปลดเกษียณอายุ
+ปลดทุกข์
+ปลดปลง
+ปลดปล่อย
+ปลดเปลื้อง
+ปลดระวาง
+ปลดหนี้
+ปลดออก
+ปลดอาวุธ
+ปลดแอก
+ปล้น
+ปล้นทรัพย์
+ปลวก
+ปลวังค-
+ปลอก
+ปลอกกระสุน
+ปลอกคอ
+ปลอกมีด
+ปลอกมือ
+ปล่อง
+ปล้อง
+ปล้องขน
+ปล้องฉนวน
+ปล้องไฉน
+ปล้องทอง
+ปล้องอ้อย
+ปลอด
+ปลอดทหาร
+ปลอดโปร่ง
+ปลอดภัย
+ปล้อน
+ปลอบ
+ปลอบขวัญ
+ปลอบโยน
+ปลอม
+ปลอมปน
+ปลอมแปลง
+ปล่อย
+ปล่อยเกาะ
+ปล่อยแก่
+ปล่อยไก่
+ปล่อยของ
+ปล่อยใจ
+ปล่อยตัว
+ปล่อยตัวปล่อยใจ
+ปล่อยนกปล่อยกา
+ปล่อยเนื้อปล่อยตัว
+ปล่อยปละละเลย
+ปล่อยปลาลงน้ำ
+ปล่อยปลิง
+ปล่อยมือ
+ปล่อยเสือเข้าป่า
+ปละ
+ปลัก
+ปลั๊ก
+ปลั๊กไฟ
+ปลัง
+ปลั่ง
+ปลัด
+ปลัดขิก
+ปลา
+ปลาก
+ปลากริม
+ปลาเกลือ
+ปลาข้องเดียวกัน
+ปลาเค็ม
+ปลาเงินปลาทอง
+ปลาจ่อม
+ปลาจีน
+ปลาเจ่า
+ปลาชา
+ปลาดาว
+ปลาแดก
+ปลาแดง
+ปลาต
+ปลาตกน้ำตัวโต
+ปลาตะเพียน
+ปลาติดหลังแห
+ปลาตู้
+ปลาทอง
+ปลาแนม
+ปลาบ
+ปลาบปลื้ม
+ปลาบิน
+ปลาฝา
+ปลาม้ำ
+ปลาย
+ปลายข้าว
+ปลายตีน
+ปลายทาง
+ปลายนาการ
+ปลายน้ำ
+ปลายมือ
+ปลายอ้อปลายแขม
+ปลาร้า
+ปลาโลมา
+ปลาวาฬ
+ปลาสเตอร์
+ปลาสนาการ
+ปลาส้ม
+ปลาหน้าดิน
+ปลาหมอตายเพราะปาก
+ปลาหมึก
+ปลาเห็ด
+ปลาใหญ่กินปลาเล็ก
+ปลาไหลเผือก
+ปล้ำ
+ปล้ำปลุก
+ปล้ำผีลุกปลุกผีนั่ง
+ปลิง
+ปลิงทะเล
+ปลิด
+ปลิ้น
+ปลิ้นปลอก
+ปลิ้นปล้อน
+ปลิโพธ
+ปลิม
+ปลิ่ม
+ปลิว
+ปลี
+ปลีก
+ปลีกตัว
+ปลีกย่อย
+ปลีกเวลา
+ปลีแข้ง
+ปลื้ม
+ปลุก
+ปลุกใจ
+ปลุกตัว
+ปลุกปล้ำ
+ปลุกปั่น
+ปลุกผี
+ปลุกพระ
+ปลุกระดม
+ปลุกเสก
+ปลูก
+ปลูกฝัง
+ปลูกฝี
+ปลูกเรือนคร่อมตอ
+ปลูกเรือนตามใจผู้อยู่
+ปลูกเรือนพอตัว หวีหัวพอเกล้า
+ปวกเปียก
+ปวง
+ป่วง
+ปวด
+ปวดถ่วง
+ปวดท้องทุ่ง
+ปวดท้องเบา
+ปวดท้องเยี่ยว
+ปวดมวน
+ปวดร้าว
+ปวดเศียรเวียนเกล้า
+ปวดแสบปวดร้อน
+ป่วน
+ป้วน
+ป่วนปั่น
+ป้วนเปี้ยน
+ป่วย
+ป่วยกล่าว
+ป่วยการ
+ปวัตน-
+ปวัตน์
+ปวัตนาการ
+ปวารณา
+ปวาล
+ปวาส
+ปวาฬ
+ปวิช
+ปวิตร
+ปวิธ
+ปวิเวก
+ปวีณ
+ปวุติ
+ปเวณี
+ปเวส
+ปเวสน์
+ปศุ
+ปสพ
+ปสันน-
+ปสันนะ
+ปสันนาการ
+ปสัยห-
+ปสัยหะ
+ปสัยหาการ
+ปสัยหาวหาร
+ปสาท
+ปสาน
+ปสาสน์
+ปสุ
+ปสุต
+ปสูติ
+ปหังส
+ปหังสน
+ปหาน
+ปหาร
+ปหาส
+ปอ
+ป้อ
+ป๋อ
+ปอก
+ปอกกล้วยเข้าปาก
+ปอกลอก
+ปอง
+ป่อง
+ป่องๆ
+ป้อง
+ป้องกัน
+ป่องร่า
+ปอด
+ปอดชื้น
+ปอดบวม
+ปอดแปด
+ปอดลอย
+ปอดเหล็ก
+ปอน
+ปอนๆ
+ป้อน
+ปอนด์
+ปอเนาะ
+ปอบ
+ป้อแป้
+ปอม
+ป้อม
+ป้อมๆ
+ป๋อม
+ปอมขาง
+ปอมข่าง
+ป้อมบังคับการ
+ปอย
+ป้อย
+ป้อยอ
+ปอเลียงฝ้าย
+ปะ
+ปะกน
+ปะกัง
+ปะกาปะกัง
+ปะการัง
+ปะกำ
+ปะขาว
+ปะงับปะง่อน
+ปะตาปา
+ปะตาระกาหลา
+ปะติดปะต่อ
+ปะติยาน
+ปะเตะ
+ปะทะ
+ปะทะปะทัง
+ปะทุ
+ปะทุน
+ปะบุก
+ปะปน
+ปะมง
+ปะราลี
+ปะรำ
+ปะลอม
+ปะเลง
+ปะแล่ม
+ปะแล่มๆ
+ปะโลง
+ปะวะหล่ำ
+ปะวะหลิ่ม
+ปะว่า
+ปะเสหรันอากง
+ปะหงับ
+ปะหงับๆ
+ปะหงับปะง่อน
+ปะหนัน
+ปะหมันอาหยี
+ปะหลิ่ม
+ปะหัง
+ปะเหลาะ
+ปะเหลาะปะแหละ
+ปัก
+ปักข-
+ปักข์
+ปักขคณนา
+ปักขพิฬาร
+ปักขันดร
+ปักใจ
+ปักเป้า
+ปักษ-
+ปักษ์
+ปักษกษัย
+ปักษคณนา
+ปักษคม
+ปักษธร
+ปักษเภท
+ปักษวาหน
+ปักษา
+ปักษานดร
+ปักษาวสาน
+ปักษาสวรรค์
+ปักษิน
+ปักษี
+ปักหลัก
+ปัคหะ
+ปัง
+ปั๋ง
+ปังสุ์
+ปังสุกุล
+ปัจจัตตะ
+ปัจจัตถรณ์
+ปัจจันต-
+ปัจจันต์
+ปัจจันตคาม
+ปัจจันตชนบท
+ปัจจันตประเทศ
+ปัจจัย
+ปัจจามิตร
+ปัจจุคมน์
+ปัจจุทธรณ์
+ปัจจุบัน
+ปัจจุบันทันด่วน
+ปัจจุส-
+ปัจจุสกาล
+ปัจจุสมัย
+ปัจจูส
+ปัจจูหะ
+ปัจเจก
+ปัจเจก-
+ปัจเจกบุคคล
+ปัจเจกพุทธะ
+ปัจเจกโพธิ
+ปัจเจกสมาทาน
+ปัจโจปการกิจ
+ปัจโจสกาล
+ปัจฉา
+ปัจฉาภัต
+ปัจฉาสมณะ
+ปัจฉิม
+ปัจฉิม-
+ปัจฉิมชน
+ปัจฉิมภาค
+ปัจฉิมยาม
+ปัจฉิมลิขิต
+ปัจฉิมวัย
+ปัจฉิมวาจา
+ปัจถรณ์
+ปัจนึก
+ปัจยาการ
+ปัจเวกขณ์
+ปัชชร
+ปัชชุน
+ปัญจ-
+ปัญจก
+ปัญจนที
+ปัญจม-
+ปัญจมี
+ปัญจมีดิถี
+ปัญจวัคคีย์
+ปัญจวีสติ
+ปัญจสาขา
+ปัญญัติ
+ปัญญา
+ปัญญาแค่หางอึ่ง
+ปัญญาชน
+ปัญญาส-
+ปัญญาอ่อน
+ปัญหา
+ปัญหาโลกแตก
+ปัฏ
+ปัฏนะ
+ปัฐยาวัต
+ปัณฑรหัตถี
+ปัณณะ
+ปัณณาส
+ปัณณาสก์
+ปัณรส-
+ปัณรสม-
+ปัณรสมสุรทิน
+ปัณรสี
+ปัณรสีดิถี
+ปัณหิ
+ปัด
+ปัดๆ
+ปัดเกล้า
+ปัดขา
+ปัดแข้งปัดขา
+ปัดตลอด
+ปัดไถม
+ปัดเป่า
+ปัดรังควาน
+ปัดเศษ
+ปัดสวะ
+ปัตคาด
+ปัตตะ
+ปัตตานีกะ
+ปัตตานึก
+ปัตตานุโมทนา
+ปัตตาเวีย
+ปัตติ
+ปัตติก
+ปัตติทาน
+ปัตถร
+ปัตถะ
+ปัตนิ
+ปัตนี
+ปัตยัย
+ปัตหล่า
+ปัถพี
+ปัถวี
+ปัทม-
+ปัทม์
+ปัทมปาณี
+ปัทมราค
+ปัทมราช
+ปัทมะ
+ปัทมาสน์
+ปัน
+ปั่น
+ปั้น
+ปั้นจั่น
+ปั้นจิ้มปั้นเจ๋อ
+ปันจุเหร็จ
+ปั้นเจ๋อ
+ปั่นป่วน
+ปั้นปึ่ง
+ปั่นแปะ
+ปั่นฝ้าย
+ปั่นไฟ
+ปั้นยศ
+ปั้นลม
+ปั้นล่ำ
+ปันส่วน
+ปั้นสิบ
+ปั้นสีหน้า
+ปั้นหยา
+ปั่นหัว
+ปั้นเหน่ง
+ปับ
+ปั๊บ
+ปัปผาสะ
+ปัพพาชนะ
+ปัพพาชนียกรรม
+ปัพภาระ
+ปั๊มน้ำมัน
+ปัยกะ
+ปัยกา
+ปัยยิกา
+ปั่ว
+ปัวเปีย
+ปั้วเปี้ย
+ปัศจิม
+ปัศตัน
+ปัศตู
+ปัสสาวะ
+ปัสสาสะ
+ปา
+ป่า
+ป้า
+ปาก
+ปากกบ
+ปากกระจับ
+ปากกระบะ
+ปากกริว
+ปากกล้า
+ปากกว้าง
+ปากกา
+ปากกาลูกลื่น
+ปากกาหมึกซึม
+ปากกาหมึกแห้ง
+ปากไก่
+ปากขม
+ปากขอ
+ปากแข็ง
+ปากคม
+ปากคอก
+ปากคอเราะราย
+ปากคัน
+ปากคำ
+ปากคีบ
+ปากจอบ
+ปากจะขาบ
+ปากจัด
+ปากจิ้งจก
+ปากฉลาม
+ปากช้าง
+ปากซ่อม
+ปากตลาด
+ปากต่อปาก
+ปากตะกร้อ
+ปากตะไกร
+ปากตะขาบ
+ปากตำแย
+ปากแตร
+ปากใต้
+ปากนก
+ปากนกกระจอก
+ปากนกแก้ว
+ปากน้ำ
+ปากบอน
+ปากบาตร
+ปากเบา
+ปากแบะ
+ปากปราศรัยใจเชือดคอ
+ปากปลา
+ปากปลาร้า
+ปากปลิง
+ปากเป็ด
+ปากเป็นชักยนต์
+ปากเปราะ
+ปากเปราะเราะราย
+ปากเปล่า
+ปากเปียก
+ปากเปียกปากแฉะ
+ปากโป้ง
+ปากไปล่
+ปากมาก
+ปากไม้
+ปากไม่สิ้นกลิ่นน้ำนม
+ปากราก
+ปากร้าย
+ปากเรือ
+ปากว่าตาขยิบ
+ปากว่ามือถึง
+ปากสว่าง
+ปากหนัก
+ปากหวาน
+ปากหวานก้นเปรี้ยว
+ปากหอยปากปู
+ปากห่าง
+ปากเหยี่ยวปากกา
+ปากอ่าว
+ป่าแคระ
+ปาง
+ป่าง
+ป้าง
+ป้างป่า
+ปาจนะ
+ปาจรีย์
+ปาจารย์
+ปาจิตตีย์
+ปาจีน
+ป่าช้า
+ป่าชายเลน
+ปาฏลิ
+ปาฏิบท
+ปาฏิบุคลิก
+ปาฏิโภค
+ปาฏิหาริย์
+ปาฐ-
+ปาฐก
+ปาฐกถา
+ปาฐะ
+ปาณ-
+ปาณก-
+ปาณกชาติ
+ปาณทัณฑ์
+ปาณนาศ
+ปาณภูต
+ปาณวินาศ
+ปาณสาร
+ปาณะ
+ปาณาติบาต
+ปาณิ
+ปาณิเคราะห์
+ปาณิดล
+ปาณิธรรม
+ปาณิมุกต์
+ปาณิมูล
+ปาณี
+ปาด
+ป่าดงดิบ
+ปาดหาว
+ป่าดิบ
+ป่าแดง
+ปาติโมกข์
+ปาตี
+ปาเต๊ะ
+ป่าเถื่อน
+ปาท
+ปาทป
+ปาท่องโก๋
+ปาทังกา
+ปาทาน
+ป่าทึบ
+ปาทุกา
+ปาน
+ป่าน
+ป้าน
+ปานกลาง
+ป่านคม
+ปานฉะนี้
+ปานดง
+ปานนี้
+ป่านนี้
+ป้านลม
+ปานะ
+ปานิเยน
+ปานีย-
+ปานียะ
+ปานีโยทก
+ป้าบ
+ป๊าบ
+ป่าเบญจพรรณ
+ปาป-
+ปาปมุต
+ปาปอหยีสังฆาตา
+ป่าโปร่ง
+ป่าผลัดใบ
+ปาพจน์
+ป่าแพะ
+ปาม
+ปามปึงมา
+ปาโมกข์
+ป่าไม้พุ่ม
+ป่าย
+ป้าย
+ป้ายสี
+ปายาส
+ปาร-
+ปาร์เกต์
+ปารคู
+ปารมี
+ปารเมศ
+ปารษณี
+ป่าระนาม
+ปาราชิก
+ปาริฉัตร
+ปาริชาต
+ปารุปนะ
+ปาล
+ปาล์ม
+ป่าละเมาะ
+ปาลิไลยก์
+ปาลี
+ป่าเลน
+ปาวๆ
+ป่าว
+ป๊าว
+ปาวก
+ปาวจนะ
+ป่าวประกาศ
+ป่าวร้อง
+ปาวาร
+ปาษาณ
+ปาส
+ปาสาณ
+ปาสาทิกะ
+ป่าสูง
+ป่าเส็งเคร็ง
+ป่าใส
+ปาหนัน
+ปาหี่
+ปาหุณ
+ปาหุไณย-
+ปาหุไณยบุคคล
+ปำ
+ป้ำ
+ป้ำเป้อ
+ป้ำเป๋อ
+ป้ำๆ เป๋อๆ
+ปิกนิก
+ปิ้ง
+ปิงคล-
+ปิงคลหัตถี
+ปิงคละ
+ปิ้งปลาประชดแมว
+ปิงปอง
+ปิฎก
+ปิฏฐะ
+ปิฐิ
+ปิณฑะ
+ปิด
+ปิดกล้อง
+ปิดคดี
+ปิดควันไฟไม่มิด
+ปิดฉาก
+ปิดตาย
+ปิดเต๊าะ
+ปิดทองหลังพระ
+ปิดบัง
+ปิดบัญชี
+ปิดเบา
+ปิดประตูค้า
+ปิดประตูตีแมว
+ปิดปาก
+ปิดสำนวน
+ปิดหนัก
+ปิดหีบไม่ลง
+ปิตตะ
+ปิตา
+ปิตามหะ
+ปิตามหัยกา
+ปิตามหัยยิกา
+ปิตุ
+ปิตุฆาต
+ปิตุจฉา
+ปิตุภูมิ
+ปิตุล
+ปิตุลา
+ปิตุลานี
+ปิโตรเลียม
+ปิ่น
+ปิ่นแก้ว
+ปิ่นซ่น
+ปิ่นตอ
+ปิ่นโต
+ปิปผลี
+ปิ่ม
+ปิ้ม
+ปิย-
+ปิยังคุ
+ปิลันธน์
+ปิ๋ว
+ปิศาจ
+ปิศาจบดี
+ปิสัง
+ปิไส
+ปิหก
+ปิหลั่น
+ปี
+ปี่
+ปี้
+ปี๋
+ปีก
+ปีกกล้าขาแข็ง
+ปีกกา
+ปีกค้างคาว
+ปีกนก
+ปีกไม้
+ปีกลาย
+ปีกหัก
+ปีการศึกษา
+ปี่แก้ว
+ปีงบประมาณ
+ปีฐกะ
+ปีฐะ
+ปี๊ด
+ปีติ
+ปีน
+ปีนเกลียว
+ปีบ
+ปี๊บ
+ปีปฏิทิน
+ปี่พาทย์
+ปีมะโว้
+ปีศาจ
+ปีแสง
+ปีหน้าฟ้าใหม่
+ปีฬ
+ปีฬก
+ปีฬา
+ปึก
+ปึกแผ่น
+ปึง
+ปึ่ง
+ปึ๋ง
+ปึ่งชา
+ปึงปัง
+ปึ้ด
+ปึมปื้อ
+ปืดปึง
+ปืน
+ปื้น
+ปืนยา
+ปือ
+ปื้อ
+ปื๋อ
+ปุ
+ปุ๊
+ปุก
+ปุกปุย
+ปุคละ
+ปุ้งกี๋
+ปุงคพ
+ปุงควะ
+ปุงลิงค์
+ปุงลึงค์
+ปุจฉา
+ปุฏ
+ปุณฑริก
+ปุด
+ปุดกะลา
+ปุตตะ
+ปุถุชน
+ปุนนาค
+ปุนภพ
+ปุนัพพสู
+ปุนัพสุ
+ปุบ
+ปุ๊บ
+ปุบปับ
+ปุ๊บปั๊บ
+ปุปผะ
+ปุปะ
+ปุพพ-
+ปุพพผลคุนี
+ปุพพผลคุนี-
+ปุพพะ
+ปุพพะภัททะ
+ปุม-
+ปุ่ม
+ปุ้ม
+ปุ๋ม
+ปุ่มปลา
+ปุ่มป่ำ
+ปุ้มเป้ง
+ปุ่มเปือก
+ปุ้มเปือก
+ปุมา
+ปุย
+ปุ้ย
+ปุ๋ย
+ปุยกระโดน
+ปุยขาว
+ปุ๋ยคอก
+ปุยฝ้าย
+ปุร
+ปุรณะ
+ปุรพ-
+ปุรพผลคุนี
+ปุรพษาฒ
+ปุราณ
+ปุราณะ
+ปุเรจาริก
+ปุโรหิต
+ปุลลิงค์
+ปุลลึงค์
+ปุลินท์
+ปุลู
+ปุโลปุเล
+ปุษยะ
+ปุสสะ
+ปุฬวะ
+ปู
+ปู่
+ปู่ครู
+ปูจ๋า
+ปู่เจ้า
+ปูชกะ
+ปูชนีย-
+ปูชนียะ
+ปูชา
+ปูชิต
+ปูด
+ปูดกกส้มมอ
+ปูติ
+ปูติลดา
+ปู่ทวด
+ปูน
+ปูนขาว
+ปูนซีเมนต์
+ปูนดิบ
+ปูนแดง
+ปูนปลาสเตอร์
+ปูนปั้น
+ปูนเปียก
+ปูนผิว
+ปูนเพชร
+ปูนไฟ
+ปูนสอ
+ปูนสุก
+ปู่น้อย
+ปูม
+ปู่ย่า
+ปู้ยี่ปู้ยำ
+ปูระ
+ปูลู
+ปูเล
+ปูวา
+ปูเสฉวน
+เป้
+เป๋
+เปก
+เป๊ก
+-เปกข์
+เป่ง
+เป้ง
+เป๋ง
+เป็ด
+เป็ดก่า
+เป็ดแก้ว
+เป็ดขันประชันไก่
+เป็ดถบ
+เป็ดเทศ
+เป็ดน้ำ
+เป็ดผี
+เป็ดไฟแดง
+เป็ดหงส์
+เปต-
+เปตพลี
+เปตวิสัย
+เปตอง
+เปตา
+เป็น
+เป็นกลาง
+เป็นกอง
+เป็นกอบเป็นกำ
+เป็นการ
+เป็นควัน
+เป็นความ
+เป็นคุ้งเป็นแคว
+เป็นงานเป็นการ
+เป็นเงาตามตัว
+เป็นเงินเป็นทอง
+เป็นจริงเป็นจัง
+เป็นใจ
+เป็นชิ้นเป็นอัน
+เป็นชู้
+เป็นดั้งหน้า
+เป็นแดน
+เป็นใด
+เป็นได้
+เป็นต้น
+เป็นต่อ
+เป็นตัวเป็นตน
+เป็นตุเป็นตะ
+เป็นน้ำ
+เป็นน้ำเป็นนวล
+เป็นน้ำยาเย็น
+เป็นนิตย์
+เป็นเนื้อเป็นตัว
+เป็นเนื้อเป็นหนัง
+เป็นบ้า
+เป็นบ้าเป็นหลัง
+เป็นปากเสียง
+เป็นปี่เป็นขลุ่ย
+เป็นผู้เป็นคน
+เป็นฝั่งเป็นฝา
+เป็นฟืนเป็นไฟ
+เป็นไฟ
+เป็นมั่นเป็นเหมาะ
+เป็นรอง
+เป็นไร
+เป็นลมๆ
+เป็นล่ำเป็นสัน
+เป็นโล้เป็นพาย
+เป็นวรรคเป็นเวร
+เป็นหน้าเป็นตา
+เป็นหุ่นให้เชิด
+เป็นหูเป็นตา
+เป็นอัน
+เป็นอันขาด
+เป็นอันมาก
+เป็นเอง
+เปยยาล
+เปร
+เปร็ง
+เปรต
+เปรต-
+เปรตวิษัย
+เปรตวิสัย
+เปรม
+เปรมปรา
+เปรย
+เปรยๆ
+เปรยปราย
+เปรอ
+เปรอะ
+เปรา
+เปราะ
+เปราะแประ
+เปราะหอม
+เปรียง
+เปรี้ยง
+เปรียญ
+เปรียบ
+เปรียบเทียบ
+เปรียบปราย
+เปรียบเปรย
+เปรี่ยม
+เปรียว
+เปรี้ยว
+เปรี้ยวปาก
+เปรี้ยวหวาน
+เปรียะ
+เปรี๊ยะ
+เปรื่อง
+เปรื่องปราด
+เปรื้อย
+เปล
+เปล่ง
+เปลญวน
+เปลว
+เปลา
+เปล่า
+เปล้า
+เปล้าขลิบทอง
+เปล่าดาย
+เปลาะ
+เปลี้ย
+เปลี่ยน
+เปลี่ยนใจ
+เปลี่ยนตัว
+เปลี่ยนแปลง
+เปลี่ยนแผ่นดิน
+เปลี่ยนมือ
+เปลี่ยนมือไม่ได้
+เปลี่ยนหน้า
+เปลี่ยม
+เปลี่ยว
+เปลี่ยวดำ
+เปลือก
+เปลือกกระเทียม
+เปลือกตา
+เปลือกโลก
+เปลือง
+เปลื้อง
+เปลื้องเครื่องสุกำศพ
+เปลืองใจ
+เปลือย
+เปลือยกาย
+เปศ
+เปศล
+เปศลมัธย์
+เปศัส
+เปศัส-
+เปศัสการิน
+เปศัสการี
+เปสการ
+เปสล
+เปสุญ
+เปสุญ-
+เปสุญวาท
+เปสุไณย
+เป๋อ
+เป้อเย้อ
+เปอร์เซ็นต์
+เป๋อเหลอ
+เปะ
+เปะปะ
+เปา
+เป่า
+เป้า
+เป๊า
+เป๋า
+เป่ากบ
+เป่าแตร
+เป้าประสงค์
+เป่าปี่
+เป่าฝุ่น
+เป่าแล่น
+เป้าหมาย
+เป่าหลอด
+เป่าหู
+เป๋าฮื้อ
+เปาะ
+เปาะเปี๊ยะ
+เปาะแปะ
+เปาะเหลาะ
+เปิก
+เปิง
+เปิงๆ
+เปิงมาง
+เปิด
+เปิดกล้อง
+เปิดคดี
+เปิดฉาก
+เปิดบัญชี
+เปิดเปิง
+เปิดโปง
+เปิดเผย
+เปิดโลก
+เปิดหมวกลา
+เปิดหมวกให้
+เปิดหูเปิดตา
+เปิดอก
+เปิ่น
+เปิบ
+เปิ๊บ
+เปิบข้าว
+เปีย
+เปียก
+เปี๊ยก
+เปี่ยม
+เปียว
+เปี้ยว
+เปียะ
+เปี๊ยะ
+เปือก
+เปือกตม
+เปื้อน
+เปื่อย
+แป
+แป้ง
+แป๋ง
+แป้งข้าวสาลี
+แป้งข้าวหมาก
+แป้งแข็ง
+แป้งจี่
+แป้งแช่
+แป้งญวน
+แป้งนวล
+แป้งฝุ่น
+แป้งมัน
+แป้งมี่
+แป้งร่ำ
+แป้งสด
+แป้งสารภี
+แป้งสาลี
+แป้งสิงคโปร์
+แป้งหมี่
+แป้งเหล้า
+แปด
+แป๊ด
+แปดบท
+แปดปน
+แปดเปื้อน
+แปดสาแหรก
+แปดเหลี่ยมแปดคม
+แปดเหลี่ยมสิบสองคม
+แปทู
+แป้น
+แปบ
+แป๊บ
+แปม
+แปร
+แปร๋
+แปรก
+แปรขบวน
+แปรไข้
+แปรง
+แปร่ง
+แปรงล้างขวด
+แปรงหูหนู
+แปรญัตติ
+แปร๊ด
+แปรธาตุ
+แปร้น
+แปร้นแปร๋
+แปรปรวน
+แปรปากหลากคำ
+แปร๋แปร้น
+แปรผัน
+แปรผันโดยตรง
+แปรผันแบบผกผัน
+แปรพักตร์
+แปรรูป
+แปรอักษร
+แประ
+แปล
+แปล้
+แปลก
+แปลกปลอม
+แปลง
+แปลงชาติ
+แปลงผี
+แปลงสัญชาติ
+แปลตามเนื้อความ
+แปลตามพยัญชนะ
+แปลตามอรรถ
+แปลน
+แปลบ
+แปลยกศัพท์
+แปลร้อย
+แป้ว
+แป๊ว
+แปะ
+แป๊ะ
+แป๊ะซะ
+โป
+โป่
+โป้
+โป๊
+โปก
+โป๊ก
+โป๊กเกอร์
+โปกขร-
+โปกขรณี
+โปกขรพรรษ
+โปกำ
+โปเก
+โปง
+โป่ง
+โป้ง
+โป่งข่าม
+โป่งดิน
+โป่งน้ำ
+โป้งเป้ง
+โป้งโย้ง
+โปงลาง
+โป้งโล้ง
+โป่งวิด
+โป้งโหยง
+โปฐบท
+โปฐปทมาส
+โปดก
+โปตถกะ
+โปน
+โป้ปด
+โป๊ยเซียน
+โปรง
+โปร่ง
+โปร่งเปร่ง
+โปร่งฟ้า
+โปร่งแสง
+โปร่งใส
+โปรด
+โปรดปราน
+โปรดสัตว์
+โปรดสัตว์ได้บาป
+โปรตอน
+โปรตีน
+โปรเตสแตนต์
+โปรย
+โปรยปราย
+โปรีสภา
+โปล่ง
+โปลิโอ
+โปส
+โปสก
+โปสาวนิกมูล
+โปะ
+โป๊ะ
+โป๊ะจ้าย
+ไป
+ไป่
+ไป๋
+ไปค้าถ่าน
+ไปตายเอาดาบหน้า
+ไปทุ่ง
+ไปๆ มาๆ
+ไปย-
+ไปยาล
+ไปรษณีย-
+ไปรษณีย์
+ไปรษณียนิเทศ
+ไปรษณียบรรณ
+ไปรษณียบัตร
+ไปรษณียภัณฑ์
+ไปรษณีย์รับรอง
+ไปรษณียวัตถุ
+ไปรษณียากร
+ไปล่
+ไปล่ปลิว
+ไปลาด
+ไปวัดไปวาได้
+ไปศาจ
+ไปไหนมาสามวาสองศอก
+ไปอย่างน้ำขุ่นๆ
+ผ
+ผก
+ผกผงก
+ผกผัน
+ผกเรือก
+ผกา
+ผกากรอง
+ผกาย
+ผการาย
+ผคม
+ผง
+ผงก
+ผงขาว
+ผงเข้าตาตัวเอง
+ผงคลี
+ผงชูรส
+ผงซักฟอก
+ผงฟู
+ผงม
+ผงร
+ผงอน
+ผงอบ
+ผงะ
+ผงาด
+ผง่าน
+ผจง
+ผจญ
+ผจัญ
+ผจาน
+ผชุม
+ผณิน
+ผณินทร
+ผณินทรสมพัตสร
+ผณิศวร
+ผด
+ผดุง
+ผดุงครรภ์
+ผเดิน
+ผทม
+ผทมเพลิง
+ผนวก
+ผนวช
+ผนัง
+ผนิด
+ผนึก
+ผม
+ผมชิงเกิล
+ผมทรงมหาดไทย
+ผมทัด
+ผมนาง
+ผมบ๊อบ
+ผมปีก
+ผมเป๋
+ผมเปีย
+ผมโป่ง
+ผมไฟ
+ผมมหาดไทย
+ผมม้า
+ผมหลักแจว
+ผยอง
+ผย่ำเผยอ
+ผรณ-
+ผรณาปีติ
+ผรสุ
+ผริต
+ผริต-
+ผรุพก
+ผรุส-
+ผรุสวาท
+ผล
+ผลก
+ผลคุน
+ผลคุนี
+ผลคุนีบูรพมาส
+ผลง
+ผลพลอยได้
+ผลลัพธ์
+ผลอ
+ผล็อง
+ผล็อย
+ผละ
+ผลัก
+ผลัด
+ผลัดเปลี่ยน
+ผลัดแผ่นดิน
+ผลับ
+ผลัวะ
+ผลา
+ผลาญ
+ผลานิสงส์
+ผลาผล
+ผลาหาร
+ผลิ
+ผลิก-
+ผลิกศิขรี
+ผลิกศิลา
+ผลิกะ
+ผลิต
+ผลิต-
+ผลิตกรรม
+ผลิตผล
+ผลิตภัณฑ์
+ผลิน
+ผลี
+ผลีผลาม
+ผลึก
+ผลึ่ง
+ผลือ
+ผลุ
+ผลุง
+ผลุด
+ผลุน
+ผลุนผลัน
+ผลุบ
+ผลุบผลับ
+ผลุบโผล่
+ผลุบๆ โผล่ๆ
+ผลุย
+ผลู
+ผลูบด
+ผลูแบก
+ผวน
+ผวย
+ผวา
+ผสม
+ผสมเทียม
+ผสมผสาน
+ผสมผเส
+ผสมพันธุ์
+ผสมโรง
+ผสมเสร็จ
+ผสาน
+ผสาย
+ผสาร
+ผอก
+ผอง
+ผ่อง
+ผ่องแผ้ว
+ผ่องใส
+ผอด
+ผ่อน
+ผ่อนคลาย
+ผ่อนชำระ
+ผ่อนปรน
+ผ่อนผัน
+ผ่อนส่ง
+ผ่อนสั้นผ่อนยาว
+ผ่อนหนักเป็นเบา
+ผอบ
+ผอม
+ผอมเกร็ง
+ผอมโซ
+ผอมแห้ง
+ผ็อย
+ผ่อย
+ผอวด
+ผอูน
+ผะ
+ผะแคง
+ผะดา
+ผะสา
+ผะออบ
+ผัก
+ผักไก
+ผักขวง
+ผักขี้ขวง
+ผักโฉม
+ผักชี
+ผักชีโรยหน้า
+ผักตบชวา
+ผักต้มขนมยำ
+ผักทอดยอด
+ผักบุ้ง
+ผักบุ้งขัน
+ผักบุ้งจีน
+ผักบุ้งทะเล
+ผักบุ้งฝรั่ง
+ผักบุ้งร้วม
+ผักบุ้งรั้ว
+ผักเบี้ย
+ผักเบี้ยใหญ่
+ผักปลัง
+ผักปุ่มปลา
+ผักเผ็ด
+ผักไผ่
+ผักรู้นอน
+ผักแว่น
+ผักสาบ
+ผักสามหาว
+ผักเสี้ยน
+ผักหนอก
+ผักหนอง
+ผักหนาม
+ผักหวาน
+ผักหวานบ้าน
+ผักหวานป่า
+ผักไหม
+ผักอีแปะ
+ผัคคุณ
+ผัคคุณ-
+ผัคคุณมาส
+ผัคคุณี
+ผัง
+ผังเมือง
+ผัด
+ผัดเจ้าล่อ
+ผัดช้าง
+ผัดผ่อน
+ผัดผัน
+ผัดเพี้ยน
+ผัดวันประกันพรุ่ง
+ผัน
+ผันแปร
+ผันผยอง
+ผันผวน
+ผันผ่อน
+ผันผาด
+ผันผาย
+ผันหม้อ
+ผันอักษร
+ผับ
+ผับๆ
+ผัลคุนี
+ผัว
+ผัวหาบเมียคอน
+ผัวะ
+ผัสส-
+ผัสสะ
+ผัสสาหาร
+ผา
+ผ่า
+ผ้า
+ผาก
+ผากแผ้ง
+ผ้ากราบ
+ผ้าเกี้ยว
+ผ้าขาวม้า
+ผ้าขี้ริ้ว
+ผ้าขี้ริ้วห่อทอง
+ผาง
+ผ้าเช็ดตัว
+ผ้าเช็ดหน้า
+ผาณิต
+ผาด
+ผาดผัง
+ผาดแผลง
+ผาดโผน
+ผาดเพ่ง
+ผาดำ
+ผ้าดำ
+ผ้าดิบ
+ผ้าแดง
+ผ้าตา
+ผาติ
+ผาติกรรม
+ผ้าถุง
+ผ้าแถบ
+ผ้าทิพย์
+ผ้าเทศ
+ผ่าน
+ผ้านุ่ง
+ผ้าใบ
+ผ้าใบกลอย
+ผ้าใบเมี่ยง
+ผ้าป่า
+ผ้าผ่อน
+ผ่าเผย
+ผาเผือก
+ผ้าแฝง
+ผ้าพันคอ
+ผ้าพันแผล
+ผ้าพื้น
+ผาม
+ผ้ามัดหมี่
+ผาย
+ผ่าย
+ผ้าย
+ผายปอด
+ผ่ายผอม
+ผายผัง
+ผายผัน
+ผายลม
+ผ้ายาง
+ผาล
+ผาลคุน
+ผาลา
+ผาลาเพียงไหล่
+ผ้าลาย
+ผ้าลูกไม้
+ผ่าว
+ผาสามเส้า
+ผ้าสำลี
+ผาสุก
+ผ่าหมาก
+ผาหอม
+ผ้าห้อยหอ
+ผ่าเหล่า
+ผ้าเหลือง
+ผ้าเหลืองร้อน
+ผ้าไหว้
+ผ้าอนามัย
+ผ้าอ้อม
+ผ้าอาบ
+ผ้าฮาด
+ผำ
+ผ้ำๆ
+ผิ
+ผิง
+ผิด
+ผิดก
+ผิดใจ
+ผิดตา
+ผิดท่า
+ผิดนัก
+ผิดนัด
+ผิดน้ำ
+ผิดประหลาด
+ผิดผี
+ผิดผู้ผิดคน
+ผิดแผก
+ผิดฝาผิดตัว
+ผิดพ้องหมองใจ
+ผิดเพี้ยน
+ผิดเมีย
+ผิดรูปผิดร่าง
+ผิดสังเกต
+ผิดสำแลง
+ผิดเส้น
+ผิดหวัง
+ผิดหู
+ผิดหูผิดตา
+ผิต
+ผิน
+ผินหลังให้
+ผิว
+ผิวน้ำ
+ผิวบาง
+ผิวปาก
+ผิวเผิน
+ผิวพรรณ
+ผิวหนัง
+ผิว่า
+ผี
+ผีเข้าผีออก
+ผีซ้ำด้ำพลอย
+ผีดิบ
+ผีต
+ผีตองเหลือง
+ผีตากผ้าอ้อม
+ผีถ้วยแก้ว
+ผีถึงป่าช้า
+ผีบ้านไม่ดี ผีป่าก็พลอย
+ผีบุญ
+ผีพุ่งไต้
+ผีเพลีย
+ผีฟ้า
+ผีไม่มีศาล
+ผีเรือน
+ผีเรือนไม่ดี ผีป่าก็พลอย
+ผี้ว์
+ผีเสื้อ
+ผีเสื้อเงิน
+ผีเสื้อน้อย
+ผีเสื้อน้ำ
+ผีเสื้อยักษ์
+ผีหลอก
+ผีอำ
+ผึง
+ผึ่ง
+ผึ้ง
+ผึ่งผาย
+ผึ้งรวง
+ผืน
+ผื่น
+ผุ
+ผุด
+ผุดผ่อง
+ผุดผาด
+ผุดผาย
+ผุดผ้าย
+ผุดลุกผุดนั่ง
+ผุยผง
+ผุสราคา
+ผู้
+ผูก
+ผูกกระได
+ผูกขวัญ
+ผูกขาด
+ผูกดวง
+ผูกดอก
+ผูกพัทธสีมา
+ผูกพัน
+ผูกภาษี
+ผูกมัด
+ผู้กว้างขวาง
+ผูกหู
+ผู้ก่อการร้าย
+ผู้คน
+ผู้จัดการ
+ผู้ชาย
+ผู้ชายพายเรือ
+ผู้ชำนาญการพิเศษ
+ผู้เชี่ยวชาญ
+ผู้ญาณ
+ผู้ดี
+ผู้ดีแปดสาแหรก
+ผู้โดยสาร
+ผู้ต้องขัง
+ผู้ต้องหา
+ผู้ทรง
+ผู้แทนเฉพาะคดี
+ผู้แทนโดยชอบธรรม
+ผู้แทนราษฎร
+ผู้ไทย
+ผู้น้อย
+ผู้เป็นหุ้นส่วน
+ผู้พิทักษ์สันติราษฎร์
+ผู้เยาว์
+ผู้รั้ง
+ผู้รับประกันภัย
+ผู้รับประโยชน์
+ผู้รับเรือน
+ผู้รับเหมาก่อสร้าง
+ผู้ร้าย
+ผู้ลากมากดี
+ผู้วิเศษ
+ผู้สำเร็จ
+ผู้สืบตระกูล
+ผู้สืบสันดาน
+ผู้สื่อข่าว
+ผู้เสียหาย
+ผู้หญิง
+ผู้หญิงยิงเรือ
+ผู้ใหญ่
+ผู้ใหญ่บ้าน
+ผู้อนุบาล
+ผู้เอาประกันภัย
+เผ
+เผง
+เผชิญ
+เผชิญภัย
+เผชิญหน้า
+เผ็ด
+เผด็จ
+เผด็จการ
+เผ็ดร้อน
+เผดิม
+เผดียง
+เผน-
+เผ่น
+เผนธรรม
+เผนิก
+เผย
+เผยแผ่
+เผยแพร่
+เผยอ
+เผยิบ
+เผยิบผยาบ
+เผล
+เผล่
+เผล้
+เผล็ด
+เผลอ
+เผลอไผล
+เผละ
+เผลาะ
+เผลาะแผละ
+เผลียง
+เผอเรอ
+เผอเรอกระเชอก้นรั่ว
+เผอิญ
+เผอิล
+เผะ
+เผา
+เผ่า
+เผ้า
+เผาขน
+เผาจริง
+เผ้าผง
+เผ่าพันธุ์
+เผาหลอก
+เผาหัว
+เผาะ
+เผิ้ง
+เผิน
+เผินๆ
+เผียน
+เผือ
+เผื่อ
+เผือก
+เผือกกะลา
+เผือกโทป้าด
+เผื่อขาดเผื่อเหลือ
+เผือด
+เผือน
+เผื่อน
+เผื่อแผ่
+เผื่อว่า
+เผื่อเหนียว
+เผื่อเหลือเผื่อขาด
+แผ่
+แผก
+แผ่กระจาด
+แผง
+แผงคอ
+แผงลอย
+แผ่แง่
+แผ่ซ่าน
+แผด
+แผ่ตน
+แผน
+แผ่น
+แผนก
+แผนการ
+แผนงาน
+แผ่นดิน
+แผ่นดินกลบหน้า
+แผ่นดินไหว
+แผนที่
+แผ่นผงอน
+แผนผัง
+แผ่นพก
+แผ่นภพ
+แผนภาพ
+แผนภูมิ
+แผ่นเสียง
+แผ่เผื่อ
+แผ่เมตตา
+แผล
+แผลเก่า
+แผลง
+แผลงฤทธิ์
+แผล็บ
+แผล็บๆ
+แผลเป็น
+แผลริมแข็ง
+แผลริมอ่อน
+แผล็ว
+แผละ
+แผ่ว
+แผ่วๆ
+แผ้ว
+แผ้วพาน
+แผ่สองสลึง
+แผ่หลา
+แผ่อำนาจ
+โผ
+โผง
+โผงผาง
+โผงเผง
+โผฏฐัพ-
+โผฏฐัพธรรม
+โผฏฐัพพะ
+โผน
+โผเผ
+โผย
+โผล่
+โผลกเผลก
+โผละ
+โผอน
+โผะ
+ไผ
+ไผ่
+ไผท
+ไผทโกรม
+ไผ่ผัง
+ฝ
+ฝน
+ฝนชะช่อมะม่วง
+ฝนชะลาน
+ฝนซู่
+ฝนตกก็แช่ง ฝนแล้งก็ด่า
+ฝนตกขี้หมูไหล
+ฝนตกไม่ทั่วฟ้า
+ฝนตกไม่มีเค้า
+ฝนตกอย่าเชื่อดาว
+ฝนทอง
+ฝนทั่งให้เป็นเข็ม
+ฝนเทียม
+ฝนไล่ช้าง
+ฝนสั่งฟ้า
+ฝนสั่งฟ้า ปลาสั่งหนอง
+ฝนแสนห่า
+ฝนห่าแก้ว
+ฝรั่ง
+ฝรั่งกังไส
+ฝรั่งขี้นก
+ฝรั่งมังค่า
+ฝรั่งเศส
+ฝ่อ
+ฝอย
+ฝอยทอง
+ฝัก
+ฝักแค
+ฝักถั่ว
+ฝักบัว
+ฝักฝ่าย
+ฝักใฝ่
+ฝักพร้า
+ฝักเพกา
+ฝักมะขาม
+ฝักยาว
+ฝัง
+ฝั่ง
+ฝังเข็ม
+ฝังใจ
+ฝั่งฝา
+ฝังรกฝังราก
+ฝังรอย
+ฝังรูป
+ฝังหัว
+ฝัด
+ฝัน
+ฝันกลางวัน
+ฝันเปียก
+ฝันเฟื่อง
+ฝา
+ฝ่า
+ฝ้า
+ฝาก
+ฝากกอง
+ฝากกาย
+ฝากไข้
+ฝากครรภ์
+ฝากตัว
+ฝากท้อง
+ฝากเนื้อฝากตัว
+ฝากเนื้อไว้กับเสือ
+ฝากบำเรอ
+ฝากประจำ
+ฝากปลาไว้กับแมว
+ฝากผี
+ฝากผีฝากไข้
+ฝากเผื่อเรียก
+ฝากฝัง
+ฝากระดาน
+ฝากโรงเรียน
+ฝากไว้ก่อน
+ฝากสู่
+ฝ่าคมหอกคมดาบ
+ฝาง
+ฝาชี
+ฝาด
+ฝาน
+ฝ่าฝืน
+ฝาแฝด
+ฝ่าพระบาท
+ฝ่าฟัน
+ฝ่ามรสุม
+ฝาย
+ฝ่าย
+ฝ้าย
+ฝ่ายขวา
+ฝ่ายค้าน
+ฝ้ายคำ
+ฝ่ายซ้าย
+ฝ่ายใน
+ฝ่ายเป็นกลาง
+ฝ้ายผี
+ฝ่ายเสนอ
+ฝ่ายหน้า
+ฝาละมี
+ฝาสายบัว
+ฝาสำหรวด
+ฝาเสี้ยว
+ฝาหอยโข่ง
+ฝาหุ้มกลอง
+ฝาไหล
+ฝิ่น
+ฝิ่นต้น
+ฝี
+ฝี่
+ฝีก
+ฝีกาฬ
+ฝีจัก
+ฝีจักร
+ฝีดาษ
+ฝีดิบ
+ฝีเท้า
+ฝีในท้อง
+ฝีปาก
+ฝีพาย
+ฝีมะม่วง
+ฝีมือ
+ฝีไม้ลายมือ
+ฝีเย็บ
+ฝีหมอบ
+ฝึก
+ฝึกงาน
+ฝึกปรือ
+ฝึกฝน
+ฝึกสอน
+ฝึกหัด
+ฝืด
+ฝืดเคือง
+ฝืน
+ฝืนท้อง
+ฝุ่น
+ฝุ่นเมือง
+ฝูง
+ฝูงบิน
+เฝ้า
+เฝ้าไข้
+เฝ้าคอย
+เฝ้าแหน
+เฝือ
+เฝือก
+เฝือง
+เฝื่อน
+แฝก
+แฝกหอม
+แฝง
+แฝด
+แฝดน้ำ
+แฝดเลือด
+ใฝ่
+ใฝ่ใจ
+ใฝ่ต่ำ
+ใฝ่ฝัน
+ใฝ่ร้อนจะนอนเย็น ใฝ่เย็นจะดิ้นตาย
+ใฝ่สูง
+ใฝ่สูงจนเกินศักดิ์
+ใฝ่สูงให้เกินศักดิ์
+ไฝ
+พ
+พก
+พกจร
+พกนุ่น
+พกพ่าย
+พกลม
+พกหิน
+พกา
+พกุระ
+พกุล
+พง
+พงพี
+พงศ-
+พงศ์
+พงศกร
+พงศธร
+พงศ์พันธุ์
+พงศา
+พงศาวดาร
+พงศาวลี
+พจน-
+พจน์
+พจนา
+พจนานุกรม
+พจนารถ
+พจนีย์
+พจมาน
+พจี
+พชระ
+พญา
+พญากาสัก
+พญาขามป้อม
+พญาฉัททันต์
+พญาช้างเผือก
+พญาณ
+พญาดาบหัก
+พญาเดิน
+พญาไทย
+พญาปากกว้าง
+พญาแปแล
+พญาพยาต
+พญาไฟ
+พญามะขามป้อม
+พญามือเหล็ก
+พญามุตติ
+พญามูมิน
+พญาไม้
+พญายา
+พญารากดำ
+พญารากเดียว
+พญาไร้ใบ
+พญาลอ
+พญาโศก
+พญาสัตบรรณ
+ฯพณฯ
+พณิช
+พณิชย์
+พด
+พดกริช
+พดด้วง
+พธู
+พน
+พน-
+พ่น
+พ้น
+พนขัณฑ์
+พนโคจร
+พนจร
+พนจรก
+พนชีวี
+พนธารา
+พนม
+พนมเพลิง
+พนมศก
+พนมศพ
+พนมสวรรค์
+พนวาสี
+พ้นวิสัย
+พนสณฑ์
+พนอง
+พนอม
+พนัก
+พนักงาน
+พนักงานเจ้าหน้าที่
+พนักงานสอบสวน
+พนักงานอัยการ
+พนัง
+พนัน
+พนันดร
+พนัส
+พนัส-
+พนัสดม
+พนัสบดี
+พนา
+พนาด
+พนาดร
+พนาดอน
+พนาธวา
+พนานดร
+พนาย
+พนาราม
+พนาลัย
+พนาลี
+พนาวา
+พนาวาส
+พนาเวศ
+พนาศรม
+พนาศรัย
+พนาสณฑ์
+พนาสัณฑ์
+พนิดา
+พนิต
+พนียก
+พเนก
+พเนจร
+พบ
+พบปะ
+พบพาน
+พบไม้งามเมื่อขวานบิ่น
+พบู
+พม่า
+พม่าแทงกบ
+พม่ารำขวาน
+พยช
+พยชน์
+พยติเรก
+พยนต์
+พยศ
+พยัก
+พยักพเยิด
+พยักยิ้ม
+พยัคฆ-
+พยัคฆ์
+พยัคฆา
+พยัคฆิน
+พยัคฆินทร์
+พยัคฆี
+พยัคเฆนทร์
+พยัชน์
+พยัญชนะ
+พยัต
+พยับ
+พยับแดด
+พยับฝน
+พยับเมฆ
+พยับหมอก
+พยากรณ์
+พยาฆร์
+พยางค์
+พยาธิ
+พยาน
+พยาบาท
+พยาบาล
+พยาม
+พยายาม
+พยาล
+พยาล-
+พยาลมฤค
+พยุ
+พยุง
+พยุงปีก
+พยุห-
+พยุหบาตร
+พยุหบาตรา
+พยุหยาตรา
+พยุหโยธา
+พยุหร
+พยุหเสนา
+พยุหแสนยา
+พยุหแสนยากร
+พยุหะ
+พยู่ห์
+พเยีย
+พร
+พรต
+พรม
+พรมคด
+พรมคดตีนเต่า
+พรมแดน
+พรมน้ำมัน
+พรมนิ้ว
+พรมมิ
+พรรค
+พรรค-
+พรรค์
+พรรคกลิน
+พรรคการเมือง
+พรรคนาวิกโยธิน
+พรรคนาวิน
+พรรคพวก
+พรรคานต์
+พรรณ
+พรรณนา
+พรรณราย
+พรรดึก
+พรรลาย
+พรรษ
+พรรษ-
+พรรษประเวศ
+พรรษฤดู
+พรรษวุฒิ
+พรรษา
+พรรษากาล
+พรรษาคม
+พรรษายุต
+พรรโษทก
+พรรโษบล
+พรรเหา
+พรรเอิญ
+พรวงเพรียง
+พรวด
+พรวดพราด
+พรวน
+พรสวรรค์
+พรหม
+พรหม-
+พรหมกาย
+พรหมโคล
+พรหมจรรย์
+พรหมจักร
+พรหมจาริณี
+พรหมจารี
+พรหมชาติ
+พรหมทัณฑ์
+พรหมไทย
+พรหมธาดา
+พรหมบถ
+พรหมบท
+พรหมบริษัท
+พรหมบุตร
+พรหมปุโรหิต
+พรหมพักตร์
+พรหมพันธุ์
+พรหมภูติ
+พรหมยาน
+พรหมเรขา
+พรหมฤษี
+พรหมลิขิต
+พรหมวิหาร
+พรหมศร
+พรหมสี่หน้า
+พรหมสูตร
+พรหมหัวเหม็น
+พรหมโองการ
+พรหมัญตา
+พรหมา
+พรหมาณฑ์
+พรหมาสตร์
+พรหมินทร์
+พรหเมนทร์
+พรหเมศวร
+พรอก
+พร่อง
+พร้อง
+พร้องเพรียก
+พรอด
+พร้อม
+พร่อมพร้อ
+พร้อมพรัก
+พร้อมพรั่ง
+พร้อมเพรียง
+พร้อมมูล
+พร้อมหน้า
+พร้อมหน้าพร้อมตา
+พร่อย
+พร้อย
+พระ
+พระกรน้อย
+พระครู
+พระคุณเจ้า
+พระเคราะห์
+พระเครื่อง
+พระจันทร์ครึ่งซีก
+พระเจ้า
+พระเจ้าลอยถาด
+พระเจ้าหลวง
+พระเจ้าห้าพระองค์
+พระเจ้าอยู่หัว
+พระเดชพระคุณ
+พระทอง
+พระทัย
+พระธรรมศาสตร์
+พระนม
+พระนอม
+พระนาง
+พระนางเจ้า
+พระนางเธอ
+พระนาด
+พระนาย
+พระบฏ
+พระบท
+พระประธาน
+พระเป็นเจ้า
+พระผู้เป็นเจ้า
+พระแผง
+พระพิมพ์
+พระพุทธเจ้า
+พระพุทธเจ้าข้า
+พระพุทธเจ้าข้าขอรับ
+พระพุทธเจ้าข้าขอรับใส่เกล้าใส่กระหม่อม
+พระพุทธเจ้าหลวง
+พระพุทธเจ้าอยู่หัว
+พระพุทธองค์
+พระภูมิ
+พระมาลัยมาโปรด
+พระยา
+พระยาเทครัว
+พระยาเล็บครุฑ
+พระยาวัน
+พระรอง
+พระราชกฤษฎีกา
+พระราชกำหนด
+พระราชบัญญัติ
+พระรูป
+พระรูปชี
+พระฤๅษี
+พระลบ
+พระลือ
+พระแวว
+พระศุกร์เข้าพระเสาร์แทรก
+พระหา
+พระหาม
+พระหารณย์
+พระหารัณย์
+พระหิด
+พระองค์
+พระองค์เจ้า
+พระอันดับ
+พระอิฐพระปูน
+พระเอก
+พระฮาม
+พรักพร้อม
+พรั่ง
+พรั่งพร้อม
+พรั่งพรู
+พรัด
+พรั่น
+พรั่นพรึง
+พรับ
+พร่า
+พร้า
+พราก
+พรากเด็ก
+พรากผู้เยาว์
+พรากลูกนกลูกกา
+พราง
+พร่าง
+พรางพรอก
+พร้างัดปากไม่ออก
+พราด
+พราน
+พราย
+พรายทะเล
+พรายน้ำ
+พรายแพรว
+พรายย้ำ
+พราว
+พราวแพรว
+พราหมณ์
+พราหมณ์เก็บหัวแหวน
+พราหมณ์ขายเมีย
+พราหมณ์ดีดน้ำเต้า
+พราหมณัศบดี
+พราหมณี
+พราหมี
+พรำ
+พรำๆ
+พร่ำ
+พร้ำ
+พร่ำพลอด
+พร่ำเพรื่อ
+พร่ำเพ้อ
+พริก
+พริกกระต่าย
+พริกกะเกลือ
+พริกแกว
+พริกขิง
+พริกดอง
+พริกเทศ
+พริกไทย
+พริกน้ำส้ม
+พริกหอม
+พริกเหลือง
+พริ้ง
+พริ้งพราย
+พริ้งเพริศ
+พริบ
+พริบตาเดียว
+พริบไหว
+พริ้ม
+พริ้มพราย
+พริ้มเพรา
+พรึง
+พรึน
+พรึบ
+พรืด
+พรุ
+พรุก
+พรุ่ง
+พรุ่งนี้
+พรุน
+พรู
+พรูด
+พฤกษ-
+พฤกษ์
+พฤกษชาติ
+พฤกษทล
+พฤกษเทวดา
+พฤกษราช
+พฤกษศาสตร์
+พฤกษา
+พฤฒ
+พฤฒา
+พฤฒาจารย์
+พฤฒิ
+พฤฒิ-
+พฤฒิบาศ
+พฤต
+พฤติ
+พฤติ-
+พฤติกรรม
+พฤติการณ์
+พฤตินัย
+พฤทธ์
+พฤทธิ์
+พฤนต์
+พฤนท์
+พฤภูษณ
+พฤภูษิต
+พฤศจิก
+พฤศจิกายน
+พฤษภ
+พฤษภาคม
+พฤหัสบดี
+พฤหัสบดีจักร
+พล
+พล-
+พลกาย
+พลการ
+พลขันธ์
+พลความ
+พลตระเวน
+พลเทพ
+พลบ
+พลเมือง
+พลเรือน
+พลโลก
+พลว-
+พลวก
+พลวง
+พลวดกินลูก
+พลวดใหญ่
+พลวัต
+พลศาสตร์
+พลศึกษา
+พลสิงห์
+พลอ
+พล้อ
+พลอง
+พลอด
+พลอดรัก
+พลอน
+พลอมแพลม
+พลอย
+พล่อย
+พลอยฟ้าพลอยฝน
+พละ
+พละพลา
+พลั่ก
+พลัง
+พลั่ง
+พลั้ง
+พลังงาน
+พลังงานจลน์
+พลังงานศักย์
+พลังจิต
+พลั้งปาก
+พลั้งปากเสียศีล พลั้งตีนตกต้นไม้
+พลั้งเผลอ
+พลัด
+พลัดถิ่น
+พลัดที่นาคาที่อยู่
+พลัดพราก
+พลัน
+พลับ
+พลับเขา
+พลับพลา
+พลับพลึง
+พลั่ว
+พล่า
+พลากร
+พลาง
+พลาญ
+พลาด
+พลาดท่า
+พลาดิศัย
+พลาธิการ
+พล่าน
+พลานามัย
+พลานึก
+พลาม
+พล่าม
+พลาย
+พลายม้า
+พลาสติก
+พลาสมา
+พลาหก
+พลำ
+พล้ำ
+พลำภัง
+พลิ
+พลิก
+พลิกกระเป๋า
+พลิกแผ่นดิน
+พลิกแพลง
+พลิกศพ
+พลิกหน้ามือเป็นหลังมือ
+พลิพัท
+พลิ้ว
+พลี
+พลีกรรม
+พลีมุข
+พลุ
+พลุก
+พลุ่ก
+พลุกพล่าน
+พลุ่ง
+พลุ้น
+พลุ่มพล่าม
+พลุ่ย
+พลุ้ย
+พลู
+พลูแก
+พลูคาว
+พลูต้น
+พลูโต
+พลูโทเนียม
+พวก
+พวกพ้อง
+พวง
+พ่วง
+พวงโกเมน
+พวงคราม
+พวงชมพู
+พวงดอกไม้
+พ่วงพี
+พวงมาลัย
+พวงมาลา
+พวงแสด
+พวงหยก
+พวงหรีด
+พวงอุไร
+พวน
+พวย
+พวยน้ำ
+พวยพุ่ง
+พสก
+พสก-
+พสกนิกร
+พสน
+พสุ
+พสุธา
+พสุธาดล
+พสุนธรา
+พสุมดี
+พสุสงกรานต์
+พหล
+พหุ
+พหุคูณ
+พหุพจน์
+พหุภาคี
+พหุล
+พหู
+พหูพจน์
+พหูสูต
+พอ
+พ่อ
+พ้อ
+พอก
+พอกพูน
+พอกัน
+พอกันที
+พอการ
+พอก้าวขาก็ลาโรง
+พ่อเกลอ
+พ่อขุน
+พ่อครัว
+พอควร
+พ่อค้าตีเมีย
+พ่อคุณ
+พอง
+พ้อง
+พ้องพาน
+พ่อเจ้า
+พ่อแจ้แม่อู
+พอใจ
+พอใช้
+พอใช้ได้
+พอดี
+พอดีพอร้าย
+พอดู
+พอดูได้
+พอได้
+พอตัว
+พ่อตา
+พอทำเนา
+พอทำพอกิน
+พอที
+พอที่
+พอน
+พอนเรือ
+พ่อบ้าน
+พอประมาณ
+พอไปได้
+พ่อพวงมาลัย
+พอฟัด
+พอฟัดพอเหวี่ยง
+พ้อม
+พ่อม่าย
+พอมีพอกิน
+พอมีอันจะกิน
+พ่อเมือง
+พอยกขาก็ลาโรง
+พอแย้มปากก็เห็นไรฟัน
+พ่อร้าง
+พ่อเรือน
+พอแรง
+พ่อลิ้นทอง
+พ่อเลี้ยง
+พอเลี้ยงปากเลี้ยงท้อง
+พอโลเนียม
+พอสถานประมาณ
+พ่อสื่อ
+พอหอมปากหอมคอ
+พอเหมาะ
+พออ้าปากก็เห็นลิ้นไก่
+พะ
+พ่ะ
+พะงา
+พะงาบ
+พะงาบๆ
+พะจง
+พะทำมะรง
+พะนอ
+พะเน้าพะนอ
+พะเน้าพะนึง
+พะเนิน
+พะเนินเทินทึก
+พะเนียง
+พะแนง
+พะพาน
+พะพิง
+พะเพิง
+พะยอม
+พ่ะย่ะค่ะ
+พะยุพยุง
+พะยูง
+พะยูน
+พะเยิบ
+พะเยิบๆ
+พะเยิบพะยาบ
+พะรุงพะรัง
+พะเลย
+พะโล้
+พะไล
+พะวง
+พะวักพะวน
+พะวา
+พะว้าพะวัง
+พะอง
+พะอากพะอำ
+พะอืดพะอม
+พัก
+พักตร-
+พักตร์
+พักตรา
+พักตรากฤติ
+พักตา
+พักผ่อน
+พักพิง
+พักแพว
+พักฟื้น
+พักร
+พักสมอง
+พัง
+พังกา
+พังคา
+พังงา
+พังผืด
+พังพวย
+พังพอน
+พังพาน
+พังพาบ
+พังเพย
+พัช
+พัชนี
+พัชร
+พัญจก
+พัญจน์
+พัฒกี
+พัฒน-
+พัฒนะ
+พัฒนา
+พัฒนากร
+พัฒนาการ
+พัด
+พัดชัก
+พัดชา
+พัดดึงส์
+พัดโบก
+พัดแพว
+พัดยศ
+พัดลม
+พัดหลวง
+พัตติงสะ
+พัตร
+พัทธ-
+พัทธ์
+พัทธยา
+พัทธยากร
+พัทธสีมา
+พัทร
+พัน
+พันงู
+พันจ่า
+พันจำ
+พันไฉน
+พันซาด
+พันตัน
+พันตา
+พันตู
+พันทาง
+พันธ-
+พันธ์
+พันธกรณี
+พันธน-
+พันธนะ
+พันธนาการ
+พันธนาคาร
+พันธนำ
+พันธบัตร
+พันธมิตร
+พันธะ
+พันธุ
+พันธุ์
+พันเนตร
+พันปี
+พันพัว
+พันลอก
+พันลาย
+พันลำ
+พันลึก
+-พันลือ
+พันเลิศ
+พันวรรษา
+พันแสง
+พันเอิญ
+พับ
+พับเขียง
+พับฐาน
+พับผ้า
+พับเพียบ
+พับแพนงเชิง
+พัลลภ
+พัลวัน
+พัว
+พัวพัน
+พัวะ
+พัศดี
+พัสดุ
+พัสดุไปรษณีย์
+พัสดุภัณฑ์
+พัสเดา
+พัสตร์
+พัสถาน
+พา
+พาก
+พากเพียร
+พากย์
+พากย์หนัง
+พาง
+พ่าง
+พาชี
+พาซื่อ
+พาณ
+พาณ-
+พาณโยชน์
+พาณวาร
+พาณาสน์
+พาณิช
+พาณิชย์
+พาณินี
+พาณี
+พาด
+พาดควาย
+พาดไฉน
+พาดพิง
+พาดหัวข่าว
+พาต
+พาท
+พาทย์
+พาธ
+พาธา
+พาน
+พ่าน
+พานกลีบบัว
+พานปากกระจับ
+พานร
+พานรินทร์
+พานเรศ
+พานแว่นฟ้า
+พาม
+พาย
+พ่าย
+พายม้า
+พายเรือคนละที
+พายเรือทวนน้ำ
+พายเรือในหนอง
+พายเรือในอ่าง
+พายัพ
+พายุ
+พาร์เซก
+พารณ
+พารณะ
+พารา
+พาราฟิน
+พาล
+พาลกระแชง
+พาลรีพาลขวาง
+พาลา
+พาลี
+พาลีหลายหน้า
+พาลุก
+พาโล
+พาไล
+พาส
+พาสน์
+พาสนา
+พาสุกรี
+พาห
+พ่าห์
+พาหนะ
+พาหะ
+พาหา
+พาหิรกะ
+พาหิระ
+พาหุ
+พาหุยุทธ์
+พาหุรัด
+พาเหียร
+พาฬ
+พาฬ-
+พาฬมฤค
+พาฬหะ
+พำ
+พำนัก
+พำพวก
+พำพึม
+พำๆ พึมๆ
+พำลา
+พิกล
+พิกเลนทรีย์
+พิกสิต
+พิกัด
+พิกัดอัตราศุลกากร
+พิกัติ
+พิกัน
+พิการ
+พิกุล
+พิกุลป่า
+พิเคราะห์
+พิฆน์
+พิฆเนศ
+พิฆเนศวร
+พิฆาต
+พิง
+พิจย
+พิจล
+พิจัย
+พิจาร
+พิจารณ์
+พิจารณา
+พิจิก
+พิจิต
+พิจิตร
+พิชญ์
+พิชย
+พิชัย
+พิชัยสงคราม
+พิชาน
+พิชิต
+พิชิต-
+พิชิตมาร
+พิเชฐ
+พิเชียร
+พิฑูรย์
+พิณ
+พิณพาทย์
+พิดทูล
+พิดรก
+พิดาน
+พิโดร
+พิตร
+พิถย-
+พิถยันดร
+พิถี
+พิถีพิถัน
+พิทย-
+พิทย์
+พิทยา
+พิทยาคม
+พิทยาคาร
+พิทยาธร
+พิทยาพล
+พิทยาลัย
+พิทักษ์
+พิทักษ์สันติ
+พิทูร
+พิเทศ
+พิธาน
+พิธี
+พิธีกร
+พิธีกรรม
+พิธีการ
+พิธีจุ่ม
+พิธีแตก
+พิธีธรรม
+พิธีมณฑล
+พิธีรีตอง
+พิธีสาร
+พิธุ
+พิธุร
+พินทุ
+พินทุกัป
+พินทุสร
+พินพง
+พิ่นพั่ง
+พินอบพิเทา
+พินัย
+พินัยกรรม
+พินาศ
+พินิจ
+พินิต
+พินิศ
+พินิศจัย
+พิเนต
+พิบัติ
+พิบาก
+พิบุล
+พิบูล
+พิปริต
+พิปลาส
+พิปัสสนา
+พิพรรธ
+พิพรรธน์
+พิพักพิพ่วน
+พิพัฒ
+พิพัฒน์
+พิพากษ์
+พิพากษา
+พิพาท
+พิพิธ
+พิพิธ-
+พิพิธภัณฑ์
+พิพิธภัณฑสถาน
+พิภพ
+พิภัช
+พิภาค
+พิภูษณะ
+พิเภก
+พิมปะการัง
+พิมพ-
+พิมพ์
+พิมพการัง
+พิมพ์เขียว
+พิมพ์ใจ
+พิมพ์ดีด
+พิมพ์ทอง
+พิมพ์ลายมือ
+พิมพ์สัมผัส
+พิมพา
+พิมพาภรณ์
+พิมโพหนะ
+พิมล
+พิมเสน
+พิมาน
+พิมุข
+พิโมกข์
+พิโมกษ์
+พิโยกพิเกน
+พิโยค
+พิร
+พิรอด
+พิรากล
+พิราบ
+พิราม
+พิราลัย
+พิริย-
+พิริยพฤนท์
+พิริยโยธา
+พิริยะ
+พิรี้พิไร
+พิรุณ
+พิรุธ
+พิรุฬห์
+พิเราะ
+พิโรธ
+พิโรธนะ
+พิไร
+พิลังกาสา
+พิลาป
+พิลาลส
+พิลาส
+พิลิปดา
+พิลึก
+พิลึกกึกกือ
+พิลึกพิลั่น
+พิโลน
+พิโลล
+พิไล
+พิศ
+พิศวง
+พิศวาส
+พิศาล
+พิศุทธ์
+พิศุทธิ์
+พิเศษ
+พิษ
+พิษ-
+พิษฐาน
+พิษนาศน์
+พิษสง
+พิษสมโยค
+พิษสุนัขบ้า
+พิษสุราเรื้อรัง
+พิสดาร
+พิสมร
+พิสมัย
+พิสมัยเรียงหมอน
+พิสัง
+พิสัช
+พิสัญญี
+พิสัย
+พิสิฐ
+พิสุทธิ์
+พิสูจน์
+พิหค
+พิหเคนทร์
+พิหาร
+พิฬาร
+พี
+พี่
+พี้
+พีชคณิต
+พี่น้อง
+พี่เบิ้ม
+พี้โพ้
+พีร-
+พีระมิด
+พี่เลี้ยง
+พึง
+พึ่ง
+พึ่งจมูกคนอื่นหายใจ
+พึงใจ
+พึงตา
+พึ่งลำแข้งตัวเอง
+พึ่บ
+พึม
+พึมพำ
+พืช
+พืชคาม
+พืชชั้นต่ำ
+พืชชั้นสูง
+พืชพันธุ์
+พืด
+พื้น
+พื้นๆ
+พื้นความรู้
+พื้นฐาน
+พื้นดี
+พื้นเดิม
+พื้นที่
+พื้นบ้าน
+พื้นเพ
+พื้นเมือง
+พื้นเสีย
+พุ
+พุก
+พุกาม
+พุง
+พุ่ง
+พุงแก
+พุงจง
+พุงดอ
+พุงทะลาย
+พุงปลา
+พุงปลาช่อน
+พุงพวง
+พุงพ่วง
+พุ่งหลาว
+พุ่งหอกเข้ารก
+พุ่งแหลน
+พุฒ
+พุฒิ
+พุด
+พุดตาน
+พุทธ
+พุทธ-
+พุทธกาล
+พุทธคุณ
+พุทธจักร
+พุทธเจดีย์
+พุทธชาด
+พุทธฎีกา
+พุทธตันตระ
+พุทธปฏิมา
+พุทธปฏิมากร
+พุทธมามกะ
+พุทธรักษา
+พุทธศักราช
+พุทธศาสนิกชน
+พุทธสมัย
+พุทธะ
+พุทธังกูร
+พุทธันดร
+พุทธางกูร
+พุทธาวาส
+พุทธิ
+พุทธุปบาทกาล
+พุทโธ่
+พุทรา
+พุธ
+พุพอง
+พุ่ม
+พุ่มข้าวบิณฑ์
+พุ่มพวง
+พุ่มม่าย
+พุมเรียง
+พุ้ย
+พู
+พู่
+พู่กลิ่น
+พู่กัน
+พูกาม
+พูด
+พูดคล่องเหมือนล่องน้ำ
+พูดจนลิงหลับ
+พูดจริงทำจริง
+พูดเป็นต่อยหอย
+พูดเป็นนัย
+พูดเป็นน้ำไหลไฟดับ
+พูดเป็นไฟ
+พูดไปสองไพเบี้ย นิ่งเสียตำลึงทอง
+พูดอย่างมะนาวไม่มีน้ำ
+พูน
+พู้น
+พูพอน
+พู่ระหง
+เพ
+เพ็ก
+เพกา
+เพคะ
+เพ็ง
+เพ่ง
+เพ่งเล็ง
+เพ็จ
+เพ็จไม้
+เพชฉลูกรรม
+เพชฌฆาต
+เพชร
+เพชร-
+เพชรกลับ
+เพชรซีก
+เพชรดา
+เพชรตัดเพชร
+เพชรตาแมว
+เพชรน้ำค้าง
+เพชรน้ำหนึ่ง
+เพชรนิลจินดา
+เพชรปาณี
+เพชรร่วง
+เพชรร้าว
+เพชรฤกษ์
+เพชรลูก
+เพชรสังฆาต
+เพชรหลีก
+เพชรหึง
+เพชรายุธ
+เพ็ญ
+เพฑูริย์
+เพณี
+เพ็ดทูล
+เพดาน
+เพดานบิน
+เพตร
+เพท
+เพทนา
+เพทาย
+เพทุบาย
+เพโท
+เพโทบาย
+เพ่นพ่าน
+เพนียด
+เพไนย
+เพ้ย
+เพรง
+เพรซีโอดิเมียม
+เพรา
+เพรางาย
+เพราพริ้ง
+เพราเพริศ
+เพราะ
+เพราะฉะนั้น
+เพราะว่า
+เพริด
+เพริศ
+เพริศพราย
+เพริศพริ้ง
+เพริศแพร้ว
+เพรียก
+เพรียกพร้อง
+เพรียง
+เพรียงคอห่าน
+เพรียงเมือง
+เพรียบ
+เพรี้ยม
+เพรี้ยมพราย
+เพรียว
+เพรียวลม
+เพรื่อ
+เพรือง
+เพล
+เพลง
+เพลงเชิด
+เพลงตระเชิญ
+เพลงยาว
+เพลงสาธุการ
+เพลงเสมอ
+เพลงหน้าพาทย์
+เพล็ด
+เพล้โพล้
+เพลา
+เพลาะ
+เพลาะแพละ
+เพลิง
+เพลิงกัลป์
+เพลิงฟ้า
+เพลิดเพลิน
+เพลิน
+เพลีย
+เพลี้ย
+เพลี่ยง
+เพลี่ยงพล้ำ
+เพลียใจ
+เพศ
+เพศยันดร
+เพส
+เพสลาด
+เพ่อ
+เพ้อ
+เพ้อเจ้อ
+เพอิญ
+เพะ
+เพา
+เพาพะงา
+เพาพาล
+เพาะ
+เพิก
+เพิกเฉย
+เพิกถอน
+เพิง
+เพิ่ง
+เพิดเพ้ย
+เพิ่ม
+เพิ่มเติม
+เพิ่มพูน
+เพี้ย
+เพี้ยกวาน
+เพี้ยกว้าน
+เพียง
+เพี้ยง
+เพียงดัง
+เพียงนั้น
+เพียงนี้
+เพียงพอ
+เพียงออ
+เพียชน์
+เพียน
+เพี้ยน
+เพี้ยนผัด
+เพียบ
+เพียบพร้อม
+เพียร
+เพื่อ
+เพื่อน
+เพื่อนเกลอ
+เพื่อนเจ้าบ่าว
+เพื่อนเจ้าสาว
+เพื่อนบ้าน
+เพื่อนฝูง
+แพ
+แพ้
+แพขนานยนต์
+แพง
+แพ่ง
+แพงพวย
+แพงพวยฝรั่ง
+แพ็งแพว
+แพแตก
+แพทย-
+แพทย์
+แพทยศาสตร์
+แพทยา
+แพ้ท้อง
+แพน
+แพ่น
+แพนก
+แพนงเชิง
+แพ้เป็นพระ ชนะเป็นมาร
+แพ้เปรียบ
+แพ้ผม
+แพ้ผัว
+แพ้ฟัน
+แพ้ภัยตัว
+แพ้เมีย
+แพร
+แพร่
+แพรก
+แพร่ข่าว
+แพร่ง
+แพร่งพราย
+แพรว
+แพร้ว
+แพรวพราย
+แพรวพราว
+แพร่หลาย
+แพ้รู้
+แพ้แรง
+แพลง
+แพลทินัม
+แพลม
+แพลเลเดียม
+แพละ
+แพละโลม
+แพลูกบวบ
+แพว
+แพ้ว
+แพศย์
+แพศยา
+แพะ
+แพะรับบาป
+แพะโลม
+โพ
+โพก
+โพกพาย
+โพง
+โพงพาง
+โพชฌงค์
+โพซิตรอน
+โพด
+โพทะเล
+โพแทสเซียม
+โพธ
+โพธิ-
+โพธิ์
+โพธิญาณ
+โพธิบัลลังก์
+โพธิปักขิยธรรม
+โพธิสมภาร
+โพธิสัตว์
+โพน
+โพ้น
+โพนทะนา
+โพ้นทะเล
+โพนเพน
+โพบาย
+โพผัน
+โพย
+โพยก๊วน
+โพยม
+โพยมยาน
+โพยมัน
+โพยมาน
+โพรก
+โพรง
+โพรงแสม
+โพรโทแอกทิเนียม
+โพรมีเทียม
+โพระดก
+โพล่
+โพลง
+โพล่ง
+โพล้ง
+โพลน
+โพล้เพล้
+โพละ
+โพสพ
+ไพ
+ไพ่
+ไพจิตร
+ไพชน
+ไพชยนต์
+ไพฑูรย์
+ไพโดร
+ไพที
+ไพบูลย์
+ไพ่ป๊อก
+ไพพรรณ
+ไพเพิด
+ไพ่ไฟ
+ไพมอก
+ไพม้า
+ไพร
+ไพร่
+ไพรคิ้ว
+ไพรจิตร
+ไพรชน
+ไพรชยนต์
+ไพรฑูรย์
+ไพรที
+ไพรบูลย์
+ไพรปาก
+ไพร่พล
+ไพร่ฟ้า
+ไพรระหง
+ไพรเราะ
+ไพรวัน
+ไพรสณฑ์
+ไพร่สม
+ไพร่ส่วย
+ไพรสัณฑ์
+ไพรสาณฑ์
+ไพรสามกอ
+ไพร่หลวง
+ไพรัช
+ไพรัช-
+ไพรำ
+ไพริน
+ไพรินทร์
+ไพรี
+ไพรู
+ไพเราะ
+ไพโรจน์
+ไพล
+ไพล่
+ไพล่หลัง
+ไพศาข
+ไพศาข-
+ไพศาขบุรณมี
+ไพศาขมาส
+ไพศาล
+ไพเศษ
+ไพสพ
+ไพสิฐ
+ไพหาร
+ฟ
+ฟก
+ฟกช้ำดำเขียว
+ฟ้ง
+ฟรักโทส
+ฟรี
+ฟรีบาร์
+ฟลูออรีน
+ฟ่อ
+ฟ้อ
+ฟอก
+ฟอกซัก
+ฟอกผ้า
+ฟอกพยาน
+ฟอกโลหิต
+ฟอกหนัง
+ฟอง
+ฟ่อง
+ฟ้อง
+ฟ้องกลับ
+ฟองกาม
+ฟ้องตัวเอง
+ฟองเต้าหู้
+ฟองทะเล
+ฟองน้ำ
+ฟ่องฟู
+ฟองมัน
+ฟ้องแย้ง
+ฟ้องร้อง
+ฟอด
+ฟอดแฟด
+ฟอน
+ฟ่อน
+ฟ้อน
+ฟ้อแฟ้
+ฟอร์มาลดีไฮด์
+ฟอร์มาลิน
+ฟอสฟอรัส
+ฟอสเฟต
+ฟะฟัด
+ฟะฟั่น
+ฟะฟ่าย
+ฟัก
+ฟักข้าว
+ฟักตัว
+ฟักทอง
+ฟักฟุ้น
+ฟักฟูม
+ฟักเหลือง
+ฟัง
+ฟังก์ชัน
+ฟังขึ้น
+ฟังได้
+ฟังไม่ได้ศัพท์ จับไปกระเดียด
+ฟังหูไว้หู
+ฟังออก
+ฟัด
+ฟัดเฟียด
+ฟัน
+ฟั่น
+ฟั้น
+ฟันคลื่น
+ฟันช้าง
+ฟันดาบ
+ฟันถาวร
+ฟันแท้
+ฟันน้ำนม
+ฟันปลา
+ฟันฝ่า
+ฟั่นเฝือ
+ฟันเฟือง
+ฟั่นเฟือน
+ฟันม้า
+ฟันเลื่อย
+ฟันหนู
+ฟันหลอ
+ฟ้า
+ฟาก
+ฟ้าคะนอง
+ฟ้าเคืองสันหลัง
+ฟาง
+ฟ่าง
+ฟางลอย
+ฟาด
+ฟาดเคราะห์
+ฟาดหัว
+ฟาทอม
+ฟาน
+ฟ้าผ่า
+ฟ้าฝ่อ
+ฟ่าม
+ฟ้ามุ่ย
+ฟ้าไม่กระเทือนสันหลัง
+ฟาย
+ฟายน้ำตา
+ฟายมือ
+ฟาร์ม
+ฟ้าร้อง
+ฟ้าแลบ
+ฟาสซิสต์
+ฟ้าหลัว
+ฟิก
+ฟิด
+ฟิบ
+ฟิล์ม
+ฟิวส์
+ฟิสิกส์
+ฟี่
+ฟี้
+ฟืน
+ฟื้น
+ฟื้นตัว
+ฟื้นฝอย
+ฟื้นฟู
+ฟื้นองค์
+ฟืม
+ฟุ
+ฟุ้ง
+ฟุ้งซ่าน
+ฟุ้งเฟ้อ
+ฟุ้งเฟื่อง
+ฟุต
+ฟุตบอล
+ฟุน
+ฟุบ
+ฟุ่บ
+ฟุฟะ
+ฟุ่มเฟือย
+ฟุลสแก๊ป
+ฟู
+ฟู่
+ฟูก
+ฟูด
+ฟูดฟาด
+ฟูฟ่อง
+ฟูม
+ฟูมน้ำ
+ฟูมฟัก
+ฟูมฟาย
+ฟูมเลี้ยง
+เฟ็ด
+เฟ็ดหาว
+เฟ้น
+เฟลด์สปาร์
+เฟ้อ
+เฟอร์เมียม
+เฟอะ
+เฟอะฟะ
+เฟะ
+เฟะฟะ
+เฟิน
+เฟี้ยม
+เฟี้ยมเฝ้า
+เฟี้ยว
+เฟือ
+เฟื่อ
+เฟื้อ
+เฟือง
+เฟื่อง
+เฟื้อง
+เฟื่องฟ้า
+เฟื่องฟุ้ง
+เฟื่องฟู
+เฟือน
+เฟือย
+เฟื้อย
+แฟ่
+แฟง
+แฟชั่น
+แฟบ
+แฟ้ม
+แฟรนเซียม
+แฟลกซ์
+แฟลต
+แฟะ
+โฟกัส
+ไฟ
+ไฟกัลป์
+ไฟจุกตูด
+ไฟฉาย
+ไฟแช็ก
+ไฟธาตุ
+ไฟฟ้า
+ไฟฟ้ากระแส
+ไฟฟ้าสถิต
+ไฟลามทุ่ง
+ไฟสุมขอน
+ภ
+ภค
+ภควดี
+ภควัต
+ภควันต์
+ภควัม
+ภควา
+ภควาน
+ภคันทลา
+ภคินี
+ภณ
+ภณิดา
+ภพ
+ภมการ
+ภมร
+ภมริน
+ภมรี
+ภมุ
+ภมุกะ
+ภมุกา
+ภย-
+ภยันตราย
+ภยาคติ
+ภร
+ภรณี
+ภรณีภู
+ภรต
+ภรต-
+ภรตวรรษ
+ภรตศาสตร์
+ภรรดร
+ภรรดา
+ภรรยา
+ภระมร
+ภระมรี
+ภรัสดาษ
+ภราดร
+ภราดรภาพ
+ภราดา
+ภราตร-
+ภราตรภาพ
+ภราตฤ-
+ภราตฤภาพ
+ภริยา
+ภรู
+ภรูมณฑล
+ภฤงคาร
+ภฤดก
+ภฤดี
+ภฤตย์
+ภฤศ
+ภฤษฏ์
+ภว
+ภว-
+ภวกษัย
+ภวตัณหา
+ภวนะ
+ภวปาระ
+ภวัคร
+ภวังค-
+ภวังค์
+ภวังคจิต
+ภวันดร
+ภวาภพ
+ภักขะ
+ภักดี
+ภักต-
+ภักตกฤตย์
+ภักตะ
+ภักติ
+ภักษ-
+ภักษ์
+ภักษการ
+ภักษา
+ภักษาหาร
+ภัค
+ภัคน์
+ภังค-
+ภังคะ
+ภังคี
+ภัจ
+ภัญชะ
+ภัณฑ-
+ภัณฑ์
+ภัณฑครรภ
+ภัณฑนะ
+ภัณฑาคาร
+ภัณฑาคาริก
+ภัณฑารักษ์
+ภัณฑู
+ภัณฑูกรรม
+ภัต
+ภัต-
+ภัตกิจ
+ภัตตาคาร
+ภัตตาหาร
+ภัตร
+ภัทร
+ภัทร-
+ภัทรกัป
+ภัทรกุมภ์
+ภัทรบทมาส
+ภัทรบิฐ
+ภัพ
+ภัย
+ภัสดา
+ภัสตรา
+ภัสมะ
+ภัสสร
+ภา
+ภากร
+ภาค
+ภาค-
+ภาคตัดกรวย
+ภาคทฤษฎี
+ภาคทัณฑ์
+ภาคนิพนธ์
+ภาคปฏิบัติ
+ภาคพื้น
+ภาคภูมิ
+ภาคย์
+ภาคยานุวัติ
+ภาคเรียน
+ภาคเสธ
+ภาคินี
+ภาคิไนย
+ภาคี
+ภาคียะ
+ภาชนะ
+ภาชนีย-
+ภาชี
+ภาณ
+ภาณ-
+ภาณก
+ภาณวาร
+ภาณี
+ภาณุ
+ภาณุมาศ
+ภาดร
+ภาดา
+ภาตร
+ภาตา
+ภาติกะ
+ภาติยะ
+ภาตุ
+ภาพ
+ภาพ-
+ภาพกาก
+ภาพจริง
+ภาพถ่าย
+ภาพนิ่ง
+ภาพประกอบ
+ภาพปูนเปียก
+ภาพพจน์
+ภาพย์
+ภาพยนตร์
+ภาพลวงตา
+ภาพลักษณ์
+ภาพเสมือน
+ภาพหุ่นนิ่ง
+ภาม
+ภาย
+ภายนอก
+ภายใน
+ภายหน้า
+ภายหลัง
+ภาร
+ภาร-
+ภารกิจ
+ภารดี
+ภารต
+ภารต-
+ภารตวิทยา
+ภารตี
+ภารธุระ
+ภารยทรัพย์
+ภารยา
+ภารโรง
+ภาระ
+ภาระจำยอม
+ภาระติดพัน
+ภาระติดพันในอสังหาริมทรัพย์
+ภารา
+ภาว-
+ภาวนา
+ภาวนามัย
+ภาวศุทธิ
+ภาวะ
+ภาวะฉุกเฉิน
+ภาษ
+ภาษก
+ภาษณ์
+ภาษา
+ภาษาศาสตร์
+ภาษิต
+ภาษี
+ภาษีเงินได้
+ภาษีบำรุงท้องที่
+ภาษีมูลค่าเพิ่ม
+ภาษีโรงเรือนและที่ดิน
+ภาษีสรรพสามิต
+ภาส
+ภาส-
+ภาสกร
+ภาสน์
+ภาสวร
+ภาสา
+ภาสุร
+ภิกขา
+ภิกขาจาร
+ภิกขาหาร
+ภิกขุ
+ภิกขุนี
+ภิกษา
+ภิกษาจาร
+ภิกษาหาร
+ภิกษุ
+ภิกษุณี
+ภิงคาร
+ภิงส
+ภิงสนะ
+ภิงสร
+ภิญโญ
+ภิญโญภาพ
+ภิตติ
+ภิท
+ภิน-
+ภินชาติ
+ภินท-
+ภินท์
+ภินทน-
+ภินทนาการ
+ภินวรรณ
+ภิยโย
+ภิยโยภาพ
+ภิรมย์
+ภิรมย์สุรางค์
+ภิษัช
+ภิส
+ภิสัก
+ภีตะ
+ภีม
+ภีรุ
+ภีรุก-
+ภีรุกชาติ
+ภุกต-
+ภุกต์
+ภุกตเศษ
+ภุกตาหาร
+ภุขัน
+ภุช
+ภุช-
+ภุชค
+ภุชงค์
+ภุชงคประยาต
+ภุชงคม
+ภุชสมโภค
+ภุชา
+ภุญช
+ภุต
+ภุม
+ภุม-
+ภุมเทวดา
+ภุมระ
+ภุมรัตน์
+ภุมรา
+ภุมริน
+ภุมรี
+ภุมเรศ
+ภุมวาร
+ภุส
+ภู
+ภู่
+ภูเขา
+ภูเขาน้ำแข็ง
+ภูเขาไฟ
+ภูโช
+ภูดล
+ภูดาด
+ภูต
+ภูต-
+ภูตคาม
+ภูตบดี
+ภูตรูป
+ภูติ
+ภูตี
+ภูเตศวร
+ภูธร
+ภูธเรศ
+ภูธเรศวร
+ภูนาถ
+ภูนายก
+ภูเนตุ
+ภูบดินทร์
+ภูบดี
+ภูบาล
+ภูเบนทร์
+ภูเบศ
+ภูเบศวร์
+ภูป
+ภูผา
+ภูภุช
+ภูม
+ภูมิ
+ภูมิ-
+ภูมิคุ้มกัน
+ภูมิใจ
+ภูมิฐาน
+ภูมิธร
+ภูมิธรรม
+ภูมินทร์
+ภูมินาถ
+ภูมิบดี
+ภูมิบริมาณ
+ภูมิบาล
+ภูมิประเทศ
+ภูมิปัญญา
+ภูมิแพ้
+ภูมิภาค
+ภูมิภุช
+ภูมิรัฐศาสตร์
+ภูมิรู้
+ภูมิลำเนา
+ภูมิศาสตร์
+ภูมิศาสตร์กายภาพ
+ภูมิศาสตร์การเกษตร
+ภูมิศาสตร์การเมือง
+ภูมิศาสตร์ประชากร
+ภูมิศาสตร์ประวัติ
+ภูมิศาสตร์เศรษฐกิจ
+ภูมี
+ภูมีศวร
+ภูรโลก
+ภูริ
+ภูรี
+ภูว-
+ภูวดล
+ภูวน-
+ภูวนตรัย
+ภูวนัตตรัย
+ภูวนาถ
+ภูวเนตร
+ภูวไนย
+ภูษณ-
+ภูษณพาส
+ภูษา
+ภูษามาลา
+ภูษาโยง
+ภูษิต
+เภกะ
+เภคะ
+เภตรา
+เภท
+เภทภัย
+เภทุบาย
+เภรว
+เภริ
+เภรี
+เภสัช
+เภสัช-
+เภสัชกร
+เภสัชกรรม
+เภสัชเคมี
+เภสัชพฤกษศาสตร์
+เภสัชเพลา
+เภสัชวิทยา
+เภสัชเวท
+เภสัชศาสตร์
+เภสัชอุตสาหกรรม
+โภค
+โภค-
+โภคทรัพย์
+โภคภัณฑ์
+โภคยทรัพย์
+โภคะ
+โภคิน
+โภคี
+โภไคย
+โภไคศวรรย์
+โภช
+โภชก
+โภชน-
+โภชนะ
+โภชนะห้า
+โภชนากร
+โภชนาการ
+โภชนาหาร
+โภชย์
+ไภริน
+ไภรี
+ไภษัชคุรุ
+ไภษัชย์
+ม
+มก
+มกร
+มกร-
+มกรกุณฑล
+มกราคม
+มกส
+มกุฎ
+มกุฎราชกุมาร
+มกุล
+มคธ
+มฆ
+มฆวัน
+มฆา
+ม่ง
+มงกุฎ
+มงกุฎไทย
+มงโกรย
+มงคล
+มงคล-
+มงคลจักร
+มงคลแฝด
+มงคลวาท
+มงคลวาร
+มงคลสูตร
+มงคลหัตถี
+มณฑ์
+มณฑก
+มณฑนะ
+มณฑป
+มณฑล
+มณฑา
+มณฑารพ
+มณฑิร
+มณเฑียร
+มณเฑียรบาล
+มณี
+มณีการ
+มณีพืช
+มณีรัตน์
+มณีราค
+มณีศิลา
+มด
+มดดำ
+มดแดง
+มดแดงเฝ้ามะม่วง
+มดเท็จ
+มดยอบ
+มดลูก
+มดส้ม
+มดาย
+มดี
+มต-
+มตก
+มตกภัต
+มตะ
+มติ
+มติมหาชน
+มท
+มทนะ
+มทนียะ
+มธุ
+มธุกร
+มธุกรี
+มธุการี
+มธุโกศ
+มธุตฤณ
+มธุป
+มธุปฎล
+มธุปายาส
+มธุพรต
+มธุมักขิกา
+มธุมิศร
+มธุร-
+มธุรตรัย
+มธุรพจน์
+มธุรส
+มธุระ
+มธุลีห์
+มธุเศษ
+มธุสร
+มน
+ม่น
+มนต์
+มนตร์
+มนตรี
+มนท-
+มนท์
+มนทกานติ
+มนทาทร
+มนทิร
+มนทิราลัย
+มนเทียร
+มนเทียรบาล
+มนสิการ
+มนัส
+มนัส-
+มนัสดาป
+มนัสวี
+มนิมนา
+มนิลา
+มนีมนา
+มนุ
+มนุช
+มนุชาธิป
+มนุญ
+มนุษย-
+มนุษย์
+มนุษย์กบ
+มนุษยชาติ
+มนุษยเทพ
+มนุษยธรรม
+มนุษยโลก
+มนุษยศาสตร์
+มนุษยสัมพันธ์
+มนุษย์อวกาศ
+มนุสาร
+มนู
+มนูสาร
+มโน
+มโนกรรม
+มโนคติ
+มโนช
+มโนชญ์
+มโนธรรม
+มโนนุกูล
+มโนภาพ
+มโนภินิเวศ
+มโนมัย
+มโนรถ
+มโนรม
+มโนรมย์
+มโนราห์
+มโนศิลา
+มโนสาร
+มโนสาเร่
+มโนหร
+มมังการ
+มมาก
+มยุร-
+มยุรคติ
+มยุรฉัตร
+มยุรอาสน์
+มยุระ
+มยุรา
+มยุรี
+มยุเรศ
+มยูข
+มยูร
+มร
+มรกต
+มรคา
+มรฑป
+มรณ-
+มรณ์
+มรณกรรม
+มรณธรรม
+มรณบัตร
+มรณภัย
+มรณภาพ
+มรณะ
+มรณันติก-
+มรณานต์
+มรดก
+มรรค
+มรรคนายก
+มรรคา
+มรรตย
+มรรตัย
+มรรทน
+มรรยาท
+มรรษ
+มรสุม
+มรัมเทศ
+มรานควาน
+มริจ
+มริยาท
+มรีจิ
+มรุ
+มรุต
+มฤค
+มฤค-
+มฤคทายวัน
+มฤคย์
+มฤคราช
+มฤคศิร
+มฤคศิรมาส
+มฤคศิรัส
+มฤคเศียร
+มฤคินทร์
+มฤเคนทร์
+มฤจฉา
+มฤจฉาชีพ
+มฤจฉาทิฐิ
+มฤดก
+มฤต
+มฤตก
+มฤตยู
+มฤตยูราช
+มฤทิงค์
+มฤทุ
+มฤทุกะ
+มฤธุ
+มฤษา
+มฤษาวาท
+มล
+มล-
+มลโค
+มลทิน
+มลน
+มล่น
+มลนมลาน
+มลพิษ
+มลวก
+มล่อน
+มล่อย
+มละ
+มลัก
+มลังเมลือง
+มล้า
+มลาก
+มล้าง
+มลาน
+มล่าน
+มลาย
+มลายู
+มลาว
+มล่าวเมลา
+มลิน
+มลิ้น
+มลื่น
+มวก
+มวกผา
+มวกเหล็ก
+มวกใหญ่
+ม่วง
+มวน
+ม่วน
+ม้วน
+ม้วนต้วน
+ม้วนเสื่อ
+ม้วนหน้า
+มวย
+ม้วย
+มวยไทย
+มวยปล้ำ
+มวยล้ม
+มวยวัด
+มวยสากล
+มวยหมู่
+มวล
+มวลสาร
+มวลอากาศ
+มสาร
+มสารก
+มสารคัล
+มสิ
+มหกรรม
+มหรณพ
+มหรรฆ
+มหรรณพ
+มหรสพ
+มหัคฆ
+มหัจฉริย-
+มหัจฉริยะ
+มหัณณพ
+มหัต
+มหัทธนะ
+มหันต-
+มหันต์
+มหันตโทษ
+มหัพภาค
+มหัล
+มหัลกะ
+มหัศจรรย์
+มหา
+มหากฐิน
+มหากาฬ
+มหาขันธก
+มหาจักร
+มหาชน
+มหาชัย
+มหาชาติ
+มหาโชตรัต
+มหาดไทย
+มหาดเล็ก
+มหาดเล็กรายงาน
+มหาตมะ
+มหาไถ่
+มหาเทพ
+มหาเทพี
+มหาเทวี
+มหาธาตุ
+มหานสะ
+มหานิกาย
+มหานิล
+มหาบพิตร
+มหาบัณฑิต
+มหาพน
+มหาพรหม
+มหาภารต
+มหาภิเนษกรมณ์
+มหาภูต
+มหาเมฆ
+มหายาน
+มหายุค
+มหารณพ
+มหาราช
+มหาราชลีลา
+มหาฤกษ์
+มหาละลวย
+มหาละลาย
+มหาวงศ์
+มหาวรรค
+มหาวิทยาลัย
+มหาศาล
+มหาสงกรานต์
+มหาสดมภ์
+มหาสดำ
+มหาสมุทร
+มหาสาวก
+มหาหงส์
+มหาหิงคุ์
+มหาอำนาจ
+มหาอุจ
+มหาอุด
+มหาอุปรากร
+มหิ
+มหิงส์
+มหิดล
+มหิทธิ
+มหิธร
+มหินท์
+มหิบดี
+มหิบาล
+มหิป
+มหิมา
+มหิศร
+มหิศวร
+มหิษ
+มหิษี
+มหึมา
+มหุดิฤกษ์
+มหุรดี
+มหู
+มเหนทร์
+มเหยงค์
+มเหศ
+มเหศวร
+มเหศักดิ์
+มเหสักข์
+มเหสิ
+มเหสี
+มเหาษธ
+มเหาฬาร
+มโหฆ
+มโหรสพ
+มโหระทึก
+มโหรี
+มโหษธ
+มโหฬาร
+มไหศวรรย์
+มอ
+มอคราม
+มอง
+มองโกลอยด์
+มองคร่อ
+มองเสี้ยว
+มอซอ
+มอญ
+มอญซ่อนผ้า
+มอญตีดั้ง
+มอด
+ม่อต้อ
+มอเตอร์
+มอน
+ม่อน
+มอนไข่
+มอบ
+มอบฉันทะ
+มอบหมาย
+มอบอำนาจ
+มอม
+มอมเมา
+มอมแมม
+มอมเหล้า
+ม่อย
+มอร์ฟีน
+มอระกู่
+มอลโทส
+ม่อลอกม่อแลก
+มอหมึก
+ม่อห้อม
+ม่อฮ่อม
+มะ
+มะกรูด
+มะกล่ำ
+มะกอก
+มะกอกน้ำ
+มะกอกบ้าน
+มะกอกป่า
+มะกอกฝรั่ง
+มะกอกพราน
+มะกอกสามตะกร้าปาไม่ถูก
+มะก่อง
+มะกะโรนี
+มะกา
+มะเกลือ
+มะเกี๋ยง
+มะข่วง
+มะขวิด
+มะขาม
+มะขามคราบหมู
+มะขามเทศ
+มะขามป้อม
+มะขามเปียก
+มะเขือ
+มะเขือทวาย
+มะเขือเทศ
+มะเขือพวง
+มะเขือมอญ
+มะแข่น
+มะคะ
+มะคังแดง
+มะค่า
+มะค่าแต้
+มะค่าโมง
+มะค่าหนาม
+มะค่าใหญ่
+มะคำไก่
+มะคำดีควาย
+มะงัน
+มะงั่ว
+มะงุมมะงาหรา
+มะซัก
+มะซาง
+มะซ่าน
+มะดะขี้นก
+มะดัน
+มะดา
+มะดูก
+มะเดหวี
+มะเดื่อ
+มะเดื่อดิน
+มะต้อง
+มะตะบะ
+มะตาด
+มะตาหะรี
+มะตี
+มะตึ่ง
+มะตื๋น
+มะตูม
+มะแตก
+มะนาว
+มะนาวเทศ
+มะปราง
+มะปริง
+มะป่อง
+มะป่องต้น
+มะฝ่อ
+มะพร้าว
+มะพร้าวแก้ว
+มะพร้าวตื่นดก
+มะพร้าวทุย
+มะพร้าวห้าว
+มะพลับ
+มะพูด
+มะแพน
+มะแพร้ว
+มะเฟือง
+มะแฟน
+มะไฟ
+มะไฟเดือนห้า
+มะม่วง
+มะม่วงหิมพานต์
+มะม่าว
+มะมี่
+มะมื่น
+มะมุด
+มะเมอ
+มะเมีย
+มะเมื่อย
+มะแม
+มะยง
+มะยงชิด
+มะยม
+มะระ
+มะริด
+มะรืน
+มะรุม
+มะรุมมะตุ้ม
+มะเร็ง
+มะเรื่อง
+มะโรง
+มะละกอ
+มะลารอกัน
+มะลำ
+มะลิ
+มะลิซ่อม
+มะลิน
+มะลิ่ม
+มะลิเลื้อย
+มะลิอ่อง
+มะลื่น
+มะลืมดำ
+มะลุลี
+มะวาร
+มะแว้ง
+มะสัง
+มะเส็ง
+มะหลิ่ม
+มะหวด
+มะหะหมัด
+มะหัล
+มะหาด
+มะหิ่ง
+มะเหงก
+มะเหมื่อย
+มะอึก
+มะฮอกกานี
+มัก
+มักกะลีผล
+มักกะสัน
+มักขะ
+มั่กขั้ก
+มักขิกา
+มักขิกาชาติ
+มักคุ้น
+มักง่าย
+มักฏกะ
+มักฏะ
+มักได้
+มักน้อย
+มักมาก
+มักใหญ่
+มัค-
+มัคคะ
+มัคคุเทศก์
+มัคนายก
+มัคสิระ
+มัฆวา
+มัฆวาน
+มั่ง
+มังกง
+มังกร
+มังกุ
+มังคละ
+มั่งคั่ง
+มังค่า
+มังคุด
+มังตาน
+มั่งมี
+มั่งมีในใจ แล่นใบบนบก
+มังส-
+มังสวิรัติ
+มังสะ
+มังสี
+มังหงัน
+มัจจะ
+มัจจุ
+มัจจุราช
+มัจฉระ
+มัจฉริยะ
+มัจฉรี
+มัจฉะ
+มัจฉา
+มัจฉาชาติ
+มัช-
+มัชชะ
+มัชชาร
+มัชฌ-
+มัชฌันติก-
+มัชฌันติกสมัย
+มัชฌิม-
+มัชฌิมนิกาย
+มัชฌิมบุรุษ
+มัชฌิมประเทศ
+มัชฌิมภูมิ
+มัชฌิมยาม
+มัชฌิมวัย
+มัชฌิมา
+มัชฌิมาปฏิปทา
+มัชวิรัติ
+มัญจก
+มัญจา
+มัญชิษฐ
+มัญชิษฐา
+มัญชีร
+มัญชุ
+มัญชุสา
+มัญชูสา
+มัญเชฏฐะ
+มัญเชฏฐิกา
+มัญเชฏฐิกากร
+มัญเชียร
+มัฏฐะ
+มัณฑ-
+มัณฑน-
+มัณฑนศิลป์
+มัณฑนา
+มัณฑุก
+มัด
+มัดจำ
+มัดเชื้อเพลิง
+มัดมือชก
+มัดหมี่
+มัดหมู
+มัดหวาย
+มัตตะ
+มัตตัญญู
+มัตตัย
+มัตตา
+มัตติกา
+มัตถก
+มัตถลุงค์
+มัตย
+มัตสยะ
+มัตสยา
+มัตสร
+มัตสรรย์
+มัตสริน
+มัทนะ
+มัทนียะ
+มัทยะ
+มัธย-
+มัธยฐาน
+มัธยม
+มัธยม-
+มัธยมกาล
+มัธยมศึกษา
+มัธยมา
+มัธยันห์
+มัธยัสถ์
+มัน
+มั่น
+มันแกว
+มั่นคง
+มั่นใจ
+มันดี
+มันตา
+มันถะ
+มันทิร
+มันทิราลัย
+มันเทศ
+มันนก
+มันปลา
+มันปู
+มันฝรั่ง
+มันย่อง
+มันสมอง
+มันเสา
+มันไส้
+มั่นหมาย
+มั่นเหมาะ
+มับ
+มับๆ
+มั้ม
+มัมมี่
+มัย
+มัลก
+มัลละ
+มัลลิกา
+มัว
+มั่ว
+มัวซัว
+มัวมอม
+มั่วมูล
+มัวเมา
+มัวเมีย
+มั่วสุม
+มัวหมอง
+มัศยา
+มัสดก
+มัสดุ
+มัสตาร์ด
+มัสตุ
+มัสมั่น
+มัสยิด
+มัสรู่
+มัสลิน
+มัสสุ
+มา
+ม้า
+มาก
+มากขี้ควายหลายขี้ช้าง
+มากมาย
+มากมายก่ายกอง
+มากหน้าหลายตา
+มากหมอมากความ
+มาแขก
+มาคสิร-
+มาคสิระ
+มาฆ-
+มาฆบูชา
+มาฆะ
+ม้าง
+มางสะ
+ม้าใช้
+มาณพ
+มาณวิกา
+มาด
+มาดา
+ม้าดีดกะโหลก
+มาตงค์
+ม้าต้น
+มาตร
+มาตร-
+มาตรการ
+มาตรฐาน
+มาตรแม้น
+มาตรว่า
+มาตรา
+มาตราพฤติ
+มาตราส่วน
+มาตฤ
+มาตฤกะ
+มาตสรรย์
+มาตังค
+มาตา
+มาตามหะ
+มาตามหัยกะ
+มาตามหัยกา
+มาตามหัยยิกา
+มาตามหา
+มาติก
+มาติกา
+มาตี
+มาตุ
+มาตุคาม
+มาตุฆาต
+มาตุจฉา
+มาตุภูมิ
+มาตุรงค์
+มาตุเรศ
+มาตุละ
+มาตุลา
+มาตุลานี
+มาตุลุงค์
+มาท
+มาทน
+ม้าทลายโรง
+ม้าเทศ
+มาธยมิกะ
+มาธุร
+มาธุสร
+มาธูร
+มาน
+ม่าน
+ม้าน
+ม่านตา
+มานทะลุน
+ม่านบังเพลิง
+มานพ
+ม่านเมรุ
+ม่านลาย
+ม่านสองไข
+ม่านอินทนิล
+มานะ
+มานัต
+มานัส
+ม้าน้ำ
+มานิต
+มานี
+มานุษ
+มานุษย-
+มานุษยวิทยา
+มาโนชญ์
+มาบ
+มาปก
+มาภา
+ม้าม
+ม้ามืด
+มาย
+ม่าย
+ม่ายเมียง
+ม้าย่อง
+มายัง
+มายา
+มายากร
+มายากล
+มายาการ
+มายาประสาน
+มายาวี
+มาร
+มาร-
+มารค
+มารคอหอย
+มารชิ
+มารชิต
+มารดร
+มารดา
+มารผจญ
+มารยา
+มารยาท
+มารวิชัย
+มารวิชิต
+มารศรี
+มารษา
+มารสังคม
+มารหัวขน
+มาระ
+มาราธิราช
+ม้ารำ
+มาริ
+มาริต
+มารุต
+มารุมมาตุ้ม
+ม้าเร็ว
+มาลย์
+ม้าล่อ
+มาลัย
+มาลา
+มาลากรรม
+มาลาการ
+มาลาตี
+ม้าลาย
+มาลาเรีย
+มาลำ
+มาลินี
+มาลี
+มาลุต
+มาวาร
+มาศ
+มาส
+มาสก
+ม้าสะบัดกีบ
+มาห์
+ม่าห์
+มาหิส
+มาเหนือเมฆ
+ม่าเหมี่ยว
+มาฬก
+ม้าอ้วน
+มำเลือง
+มิ
+มิค
+มิค-
+มิคลุท
+มิคลุทก
+มิคเศียร
+มิคสัญญี
+มิคสิร-
+มิคสิระ
+มิคี
+มิ่ง
+มิ่งขวัญ
+มิงโค
+มิ่งมิตร
+มิจฉา
+มิจฉากัมมันตะ
+มิจฉาจริยา
+มิจฉาจาร
+มิจฉาชีพ
+มิจฉาทิฐิ
+มิจฉาบถ
+มิจฉาวาจา
+มิจฉาวายามะ
+มิจฉาสติ
+มิจฉาสมาธิ
+มิจฉาสังกัปปะ
+มิจฉาอาชีวะ
+มิญช-
+มิด
+มิดชิด
+มิดเม้น
+มิดเมี้ยน
+มิดหมี
+มิดีมิร้าย
+มิได้
+มิต-
+มิตภาณี
+มิตร
+มิตร-
+มิตรจิต
+มิตรจิตมิตรใจ
+มิตรภาพ
+มิตรสหาย
+มิติ
+มิถยา
+มิถุน
+มิถุนายน
+มิทธะ
+มิทธี
+มินตรา
+มินตา
+มินหม้อ
+มิน่า
+มิน่าล่ะ
+มิน่าเล่า
+มิ่ม
+มิ้ม
+มิยา
+มิไย
+มิรันตี
+มิลลิกรัม
+มิลลิบาร์
+มิลลิเมตร
+มิลลิลิตร
+มิลักขะ
+มิลักขู
+มิลาต
+มิศร-
+มิศรก-
+มิส-
+มิสก-
+มิสกรี
+มิสกวัน
+มิสซา
+มิอย่ารา
+มิอย่าเลย
+มี
+มี่
+มีแก่ใจ
+มี่ฉาว
+มีชื่อ
+มีชู้
+มีด
+มีดโกน
+มีดตอก
+มีดยับ
+มีดหมอ
+มีตาแต่หามีแววไม่
+มีทองเท่าหนวดกุ้ง นอนสะดุ้งจนเรือนไหว
+มีเทน
+มีน
+มีนาคม
+มีเฟื้องมีสลึง
+มีภาษีกว่า
+มีเรือน
+มี่สั้ว
+มีเสียง
+มีหน้า
+มีหน้ามีตา
+มีฬห-
+มีอันจะกิน
+มีอันเป็น
+มีอายุ
+มึก
+มึกมวย
+มึง
+มึงวาพาโวย
+มึน
+มึนงง
+มึนชา
+มึนซึม
+มึนตึง
+มึนเมา
+มืด
+มืดค่ำ
+มืดแปดด้าน
+มืดฟ้ามัวดิน
+มืดมน
+มืดมัว
+มืดหน้า
+มืน
+มื่น
+มือ
+มื้อ
+มือกาว
+มือเก่า
+มือขวา
+มือขึ้น
+มือแข็ง
+มือดี
+มือตก
+มือเติบ
+มือถือสาก ปากถือศีล
+มือที่สาม
+มือบอน
+มือเบา
+มือปืน
+มือผี
+มือมืด
+มือไม่ถึง
+มือไม่พาย เอาตีนราน้ำ
+มือเย็น
+มือร้อน
+มือลิง
+มือไว
+มือสะอาด
+มือสั้นตีนสั้น
+มือสี
+มือเสือ
+มือหนัก
+มือหนึ่ง
+มือห่างตีนห่าง
+มือใหม่
+มืออ่อน
+มืออ่อนตีนอ่อน
+มุ
+มุก
+มุกดา
+มุกดาหาร
+มุกุร
+มุกุล
+มุข
+มุข-
+มุขกระสัน
+มุขเด็จ
+มุขบาฐ
+มุขมนตรี
+มุขย-
+มุขยประโยค
+มุขลด
+มุโขโลกนะ
+มุคคะ
+มุคธ์
+มุคร
+มุง
+มุ่ง
+มุ้ง
+มุ้งกระต่าย
+มุ้งประทุน
+มุ่งมาด
+มุ่งร้ายหมายขวัญ
+มุ้งลวด
+มุ้งสายบัว
+มุ่งหมาย
+มุจฉา
+มุจน
+มุจลินท์
+มุญจนะ
+มุญช
+มุฐิ
+มุณฑ
+มุณฑก
+มุด
+มุดหัว
+มุต
+มุต-
+มุตกิด
+มุตฆาต
+มุตตะ
+มุตตา
+มุตติ
+มุติ
+มุติงค์
+มุทค
+มุทคร
+มุททา
+มุทธชะ
+มุทธา
+มุทธาภิเษก
+มุทรา
+มุทริกา
+มุทะลุ
+มุทา
+มุทิกา
+มุทิงค์
+มุทิตา
+มุทิน
+มุทุ
+มุทุตา
+มุ่น
+มุ่นใจ
+มุ่นหมก
+มุนิ
+มุนิกุญชร
+มุนินทร์
+มุนี
+มุบ
+มุบๆ
+มุบมิบ
+มุม
+มุ่ม
+มุ้ม
+มุมกดลง
+มุมก้ม
+มุมกลับ
+มุมเงย
+มุมฉาก
+มุมตกกระทบ
+มุมตรง
+มุมเท
+มุมบ่ายเบน
+มุมประชิด
+มุมป้าน
+มุมมืด
+มุมยกขึ้น
+มุมแย้ง
+มุมสะท้อน
+มุมหักเห
+มุมเห
+มุมแหลม
+มุ่ย
+มุรช
+มุรธา
+มุรธาภิเษก
+มุลุต
+มุลู
+มุสละ
+มุสลิม
+มุสะ
+มุสา
+มุสาวาท
+มุสิก
+มุหงิด
+มุหน่าย
+มุหุต
+มุฮัมมัด
+มูก
+มูกมัน
+มูกเลือด
+มูกหลวง
+มูค-
+มูเซอ
+มูตร
+มู่ทู่
+มูน
+มูนมอง
+มูมมาม
+มูรดี
+มูรติ
+มูรธ-
+มูรธา
+มูรธาภิเษก
+มูล
+มูล-
+มูลค่า
+มูลโค
+มูลจิต
+มูลฐาน
+มูลไถ
+มูลนกการเวก
+มูลนาย
+มูลนิธิ
+มูลฝอย
+มูลภัณฑ์กันชน
+มูละ
+มูลา
+มูลิกากร
+มู่ลี่
+มู่เล่
+มูสัง
+มูสิก
+มูสิก-
+มูสิกทันต์
+มูฬห-
+เม
+เม็ก
+เมกะเฮิรตซ์
+เมขลา
+เมฆ
+เมฆคลุ้ม
+เมฆฉาย
+เมฆพัด
+เมฆมาก
+เมฆา
+เมฆินทร์
+เมฆี
+เม็ง
+เมงอะปา
+เม็ด
+เม็ดดี
+เม็ดพระศก
+เม็ดพราย
+เม็ดมะยม
+เม็ดละมุด
+เม็ดเลือด
+เม็ดโลหิต
+เมตตา
+เมตไตรย
+เมตร
+เมตริก
+เมตริกตัน
+เมถุน
+เมท
+เมทนี
+เมทนีดล
+เมทินี
+เมทิลแอลกอฮอล์
+เมโท
+เมธ
+เมธา
+เมธาวี
+เมธี
+เมน
+เม่น
+เม้น
+เมนเดลีเวียม
+เมนทอล
+เม่นทะเล
+เม้ม
+เม้มปาก
+เมรย-
+เมรัย
+เมรุ
+เมรุ-
+เมรุมาศ
+เมรุราช
+เมล์
+เมลก
+เมล็ด
+เมลือง
+เมลื่อย
+เมลื้อย
+เมลื่อยมล้า
+เมษ
+เมษายน
+เมห
+เมห์
+เมหน
+เมะ
+เมา
+เม่า
+เม้า
+เม้าเค้า
+เมาดิบ
+เมามัน
+เมามัว
+เมามาย
+เมายศ
+เมารี
+เมาลี
+เมาห์
+เมาอำนาจ
+เมาะ
+เมาะตาโยกัก
+เมาะว่า
+เมิง
+เมิน
+เมิล
+เมีย
+เมียง
+เมี่ยง
+เมียงม่าย
+เมี้ยน
+เมียน้อย
+เมียหลวง
+เมือ
+เมื่อ
+เมื้อ
+เมือก
+เมื่อกี้
+เมือง
+เมืองขึ้น
+เมืองท่า
+เมืองท่าปลอดภาษี
+เมืองนอก
+เมืองหลวง
+เมืองออก
+เมื่อตะกี้
+เมื่อนั้น
+เมือบ
+เมื่อพีเนื้อหอม เมื่อผอมเนื้อเหม็น
+เมื่อย
+เมื่อยปาก
+เมื่อเอยก็เมื่อนั้น
+เมื่อเอยเมื่อนั้น
+แม่
+แม้
+แมก
+แมกนีเซียม
+แม่กระชังหน้าใหญ่
+แม่กระแชง
+แม่กอง
+แม่กุญแจ
+แม่คุณ
+แม่คู่
+แมง
+แมงกวาง
+แมงกะพรุน
+แมงกานิน
+แมงกานีส
+แมงคาเรือง
+แมงช้าง
+แมงดา
+แมงดาทะเล
+แมงปากจอบ
+แมงไฟเดือนห้า
+แม่งม้าง
+แมงมุม
+แมงลัก
+แม่งาน
+แม่เจ้า
+แม่เจ้าโว้ย
+แม่ซื้อ
+แม่ตะงาว
+แม่ตาย
+แม่เตาไฟ
+แม้แต่
+แม่ทัพ
+แม่ท่า
+แมน
+แม่น
+แม้น
+แม้นเขียน
+แม่นม
+แม่นยำ
+แม่น้ำ
+แม่บท
+แม่บ้าน
+แม่เบี้ย
+แม่ปะ
+แม่แปรก
+แม่พิมพ์
+แม่มด
+แม่ม่าย
+แม่ม่ายทรงเครื่อง
+แม่ม่ายลองไน
+แม่ยั่วเมือง
+แม่ย่านาง
+แม่ยาย
+แม่ย้าว
+แมร
+แม่ร้า
+แม่ร้าง
+แม่รีแม่แรด
+แม่เรือน
+แม่แรง
+แมลง
+แมลงช้าง
+แมลงดา
+แมลงดำ
+แมลงดำหนาม
+แมลงทับเล็ก
+แมลงปอ
+แมลงภู่
+แมลงวัน
+แมลงวันทอง
+แมลงวันสเปน
+แมลงวันหัวเขียว
+แมลบ
+แม่ลาย
+แม่เล้า
+แม่เลี้ยง
+แมว
+แม้ว
+แมวเซา
+แมวดาว
+แมวน้ำ
+แมวป่า
+แมวมอง
+แม่วี
+แม่สายบัวแต่งตัวค้าง
+แม่สี
+แม่สื่อ
+แม่หนัก
+แม่หยั่วเมือง
+แม่เหย้าแม่เรือน
+แม่เหล็ก
+แม่อยู่หัว
+แมะ
+โม
+โม่
+โม้
+โมก
+โมกข-
+โมกข์
+โมกขบริสุทธิ์
+โมกโคก
+โมกมัน
+โมกษ-
+โมกษะ
+โมกษะพยาน
+โมกใหญ่
+โมฆ-
+โมฆกรรม
+โมฆะ
+โมฆีย-
+โมฆียกรรม
+โมฆียะ
+โมง
+โม่ง
+โมงครุ่ม
+โม่งโค่ง
+โมจน-
+โมทนา
+โมน
+โมโนแซ็กคาไรด์
+โมไนย
+โมมูห์
+โมมูหะ
+โมเม
+โมเมนต์
+โมร-
+โมรกลาป
+โมรา
+โมรี
+โมเรส
+โมลิบดีนัม
+โมลี
+โมเลกุล
+โมษ
+โมษก
+โมษณ
+โมเสก
+โมเสส
+โมห-
+โม่ห์
+โมหะ
+โมหันธ์
+โมหาคติ
+โมโห
+ไม่
+ไม้
+ไม้กง
+ไมกา
+ไม้กากบาท
+ไม้กางเขน
+ไม่กี่น้ำ
+ไม่กี่อัฐ
+ไม่กี่อัฐฬส
+ไม้ใกล้ฝั่ง
+ไม้ขี้ฉ้อ
+ไม้ขีดไฟ
+ไม่เข้าใครออกใคร
+ไม่เข้ายา
+ไม้แข็ง
+ไม้คมแฝก
+ไมครอน
+ไม่ค่อย
+ไมโครกรัม
+ไมโครฟิล์ม
+ไมโครโฟน
+ไมโครมิเตอร์
+ไมโครเมตร
+ไมโครลิตร
+ไมโครเวฟ
+ไม่ใคร่
+ไม้งามกระรอกเจาะ
+ไม้จริง
+ไม้จัตวา
+ไม้จำปา
+ไม่ชอบมาพากล
+ไม่เชิง
+ไม่ใช่ขี้ไก่
+ไม้ดัด
+ไม้ดำ
+ไม่ดูดำดูดี
+ไม่ดูดำดูแดง
+ไม่ดูตาม้าตาเรือ
+ไม้เด็ด
+ไม้แดง
+ไม่ได้เบี้ยออกข้าว
+ไม่ได้เบี้ยเอาข้าว
+ไม่ได้ศัพท์
+ไม่ได้สิบ
+ไมตรี
+ไม้ตรี
+ไม้ตาย
+ไม้ตายขาน
+ไม้ตีพริก
+ไม่เต็มเต็ง
+ไม่เต็มบาท
+ไม่เต็มหุน
+ไม้ไต่คู้
+ไม่ถูกโรคกัน
+ไม้ทัณฑฆาต
+ไม่ทัน
+ไม้เท้า
+ไม้เท้ายายม่อม
+ไม้โท
+ไม้นวม
+ไม้นอกกอ
+ไม้นิ้ว
+ไม้บรรทัด
+ไม้เบื่อไม้เมา
+ไม้ป่าเดียวกัน
+ไม้เป็น
+ไม้ผัด
+ไม่พูดพร่ำทำเพลง
+ไม้โพ
+ไม่ฟังเสียง
+ไม้มลาย
+ไม้ม้วน
+ไม่มีปี่มีกลอง
+ไม่มีมูลฝอยหมาไม่ขี้
+ไม่มีวันเสียละ
+ไม้มืด
+ไม้มือ
+ไม้เมตร
+ไม้ยมก
+ไมยราบ
+ไม้ยามักการ
+ไม้ยาว
+ไม้ร่มนกจับ
+ไม่รู้จักเสือเอาเรือเข้ามาจอด ไม่รู้จักมอดเอาไม้เข้ามาวาง
+ไม่รู้จักหัวนอนปลายตีน
+ไม่รู้อีโหน่อีเหน่
+ไม้เรียว
+ไมล์
+ไม่ลงโบสถ์กัน
+ไม้ล้มเงาหาย
+ไม้ล้มลุก
+ไม้ลอย
+ไม้เลี้ยง
+ไม้ไล่
+ไม้วา
+ไม้สอย
+ไม้สั้น
+ไม้สั้นไม้ยาว
+ไม้สามอัน
+ไม่สู้
+ไม้สูง
+ไม้หน้า
+ไม้หมอน
+ไม้หมุน
+ไม้หลักปักเลน
+ไม้หันอากาศ
+ไม้หึ่ง
+ไม่เห็นน้ำตัดกระบอก ไม่เห็นกระรอกก่งหน้าไม้
+ไม่เหลือบ่ากว่าแรง
+ไม้อ่อนดัดง่าย ไม้แก่ดัดยาก
+ไม้อัด
+ไม้เอก
+ไม่เออออห่อหมก
+ไม้โอ
+ย
+ยก
+ยกกระบัตร
+ยกครู
+ยกเครื่อง
+ยกเค้า
+ยกตนข่มท่าน
+ยกตัวขึ้นเหนือลม
+ยกทรง
+ยกธงขาว
+ยกน
+ยกนิ้ว
+ยกพื้น
+ยกฟ้อง
+ยกภูเขาออกจากอก
+ยกมือ
+ยกเมฆ
+ยกยอ
+ยกย่อง
+ยกยอด
+ยกยอปอปั้น
+ยกเลิก
+ยกเว้น
+ยกไว้
+ยกหางตัวเอง
+ยกใหญ่
+ยง
+ยงโย่
+ยชุรเวท
+ยติ
+ยติภังค์
+ยถากรรม
+ยถาภูตญาณ
+ย่น
+ยนต์
+ยนตร์
+ย่นย่อ
+ยม
+ยม-
+ยมก
+ยมกปาฏิหาริย์
+ยมขันธ์
+ยมโดย
+ยมทัณฑ์
+ยมทูต
+ยมนา
+ยมบาล
+ยมราช
+ยมล
+ยมโลก
+ยรรยง
+ยล
+ยว
+ยวกสา
+ยวง
+ยวด
+ยวดยง
+ยวดยาน
+ยวดยิ่ง
+ยวน
+ยวนยี
+ยวบ
+ยวบๆ
+ยวบยาบ
+ย้วย
+ยวรยาตร
+ยวา
+ยวาคุ
+ยศ
+ยศอย่าง
+ยโส
+ยอ
+ย่อ
+ยอก
+ยอกย้อน
+ย็อกแย็ก
+ย็อกแย็กๆ
+ยอง
+ยองๆ
+ย่อง
+ย้อง
+ย่องกริบ
+ย่องเบา
+ย่องแย่ง
+ยองใย
+ยองไย่
+ย่องเหง็ด
+ยอด
+ยอดจาก
+ยอดด้วน
+ยอดดี
+ยอดน้ำ
+ยอดสร้อย
+ย่อท้อ
+ยอน
+ย้อน
+ย้อนเนื้อ
+ย้อนยอก
+ยอบ
+ยอบแยบ
+ย่อพล
+ยอม
+ย่อม
+ย้อม
+ยอมความ
+ย้อมใจ
+ย้อมแมวขาย
+ย่อมเยา
+ย่อมุม
+ย่อย
+ย้อย
+ย่อย่น
+ย่อยยับ
+ย่อแย่
+ย้อแย้
+ยอแสง
+ย่อหน้า
+ย่อหย่อน
+ย่อแหยง
+ยะ
+ย่ะ
+ยะงันจะคับ
+ยะยอบ
+ยะยัน
+ยะยับ
+ยะยาน
+ยะย้าย
+ยะย้าว
+ยะแย้ง
+ยะหิทา
+ยัก
+ยักกระสาย
+ยักข์
+ยักขินี
+ยักท่า
+ยักเพรีย
+ยักยอก
+ยักย้าย
+ยักยิ้ม
+ยักยี่ยักยัน
+ยักยี่ยักเหยา
+ยักเยื้อง
+ยักแย่ยักยัน
+ยักษ์
+ยักษ์ปักหลั่น
+ยักษ์มักกะสัน
+ยักษิณี
+ยักษี
+ยักหยาว
+ยักหล่ม
+ยัง
+ยั้ง
+ยังกาหลา
+ยังชั่ว
+ยั่งยืน
+ยังแล้ว
+ยังหยัง
+ยัชโญปวีต
+ยัชน
+ยัชมาน
+ยัญ
+ยัญ-
+ยัญกรรม
+ยัญญะ
+ยัญญังค์
+ยัญพิธี
+ยัฐิ
+ยัฐิมธุกา
+ยัด
+ยัดเยียด
+ยัติภังค์
+ยัน
+ยั่น
+ยันต์
+ยันตร-
+ยันตร์
+ยันตรกรรม
+ยั่นตะนี
+ยันเย้า
+ยับ
+ยับๆ
+ยับยง
+ยับย่อย
+ยับยั้ง
+ยับยั้งชั่งใจ
+ยับยาน
+ยับยาบ
+ยับเยิน
+ยั่ว
+ยั้ว
+ยั่วยวน
+ยั่วเย้า
+ยั้วเยี้ย
+ยัวรยาตร
+ยัษฏิ
+ยา
+ย่า
+ยาก
+ยากแค้น
+ยากจน
+ยากนาน
+ยากเย็น
+ยากไร้
+ยาเขียว
+ยาค
+ยาคุ
+ยาคู
+ยาง
+ย่าง
+ยางกราด
+ย่างตีน
+ย่างทราย
+ย่างเท้า
+ยางน่อง
+ยางบอน
+ยางพารา
+ยางมะตอย
+ย่างเยื้อง
+ยางลบ
+ยางสน
+ย่างสามขุม
+ยางอาย
+ยาจก
+ยาจน
+ยาจนก
+ยาจนา
+ยาจืด
+ยาใจ
+ยาฉุน
+ยาไฉน
+ยาชก
+ยาด
+ยาดา
+ยาดำ
+ยาแดง
+ยาตนา
+ยาตร
+ยาตรา
+ยาตั้ง
+ย่าทวด
+ยาธาตุ
+ยาน
+ย่าน
+ยานก
+ย่านกอบนาง
+ยานคาง
+ย่านซื่อ
+ย่านทราย
+ย่านนมควาย
+ย่านพาโหม
+ยานมาศ
+ย่านยาว
+ย่านลิเภา
+ยานัตถุ์
+ย่านาง
+ย่านางช้าง
+ยานี
+ยานุมาศ
+ยาบ
+ยาบๆ
+ยาปน-
+ยาปนมัต
+ยาฝอย
+ยาแฝด
+ยาม
+ยาม-
+ย่าม
+ยามกาลิก
+ยามเกา
+ยามตูดชาย
+ยามพาด
+ยามโยค
+ยามสามตา
+ยามักการ
+ยามิก
+ยาย
+ย้าย
+ยายทวด
+ยายี
+ยาเยีย
+ยาว
+ย้าว
+ยาวกาลิก
+ยาวชีวิก
+ยาวบั่น สั้นต่อ
+ยาวรี
+ยาวัส
+ยาสลบ
+ยาสั่ง
+ยาสูบ
+ยาเส้น
+ยาเสพย์ติด
+ยาเสพย์ติดให้โทษ
+ยาไส้
+ยาหม้อใหญ่
+ยาหมู่
+ยาหยัง
+ย่าหยา
+ยาหยี
+ยาหัด
+ยาอัด
+ยำ
+ย่ำ
+ย้ำ
+ยำเกรง
+ย่ำเทือก
+ยำยาม
+ย่ำยี
+ยำเยง
+ยำเยีย
+ย่ำแย่
+ย้ำเหยอ
+ยิก
+ยิกๆ
+ยิง
+ยิ่ง
+ยิงปืนนัดเดียว ได้นกสองตัว
+ยิงฟัน
+ยิ่งยวด
+ยิฏฐะ
+ยิฐ
+ยิน
+ยินแคลน
+ยินใจ
+ยินดี
+ยินมลาก
+ยินยอม
+ยินร้าย
+ยินลากขากดี
+ยิบ
+ยิบๆ
+ยิปซัม
+ยิปซี
+ยิ้ม
+ยิ้มกริ่ม
+ยิ้มแฉ่ง
+ยิ้มด้วยปาก ถากด้วยตา
+ยิมนาสติก
+ยิ้มแป้น
+ยิ้มย่อง
+ยิ้มเยาะ
+ยิ้มแย้ม
+ยิ้มละไม
+ยิ้มหัว
+ยิ้มเหย
+ยิ้มแห้ง
+ยิ้มแหย
+ยิหวา
+ยี
+ยี่
+ยี้
+ยี่ก่า
+ยี่เก
+ยี่เข่ง
+ยี่โถ
+ยี่โถฝรั่ง
+ยีน
+ยี่โป้
+ยี่ภู่
+ยียวน
+ยีราฟ
+ยี่สก
+ยี่สง
+ยี่สน
+ยี่สาน
+ยี่ส่าน
+ยี่สิบ
+ยี่สุ่น
+ยี่หระ
+ยี่หร่า
+ยี่หร่าหวาน
+ยี่ห้อ
+ยี่หุบ
+ยึกยือ
+ยึด
+ยึดครอง
+ยึดถือ
+ยึดทรัพย์
+ยึดเหนี่ยว
+ยืด
+ยืดยาด
+ยืดเยื้อ
+ยืดหยุ่น
+ยืน
+ยื่น
+ยืนกระต่ายสามขา
+ยืนกราน
+ยื่นแก้วให้วานร
+ยืนค้ำหัว
+ยืนเครื่อง
+ยื่นจมูก
+ยืนชิงช้า
+ยืนต้น
+ยืนพื้น
+ยื่นมือ
+ยืนยง
+ยืนยัน
+ยืนยาม
+ยืนโรง
+ยื่นหมูยื่นแมว
+ยืนหยัด
+ยืม
+ยืมจมูกคนอื่นหายใจ
+ยืมใช้คงรูป
+ยืมใช้สิ้นเปลือง
+ยื้อ
+ยื้อยุด
+ยุ
+ยุกกระบัตร
+ยุกดิ
+ยุกต์
+ยุกติ
+ยุกติธรรม
+ยุค
+ยุคเข็ญ
+ยุคนธร
+ยุคล
+ยุคลบาท
+ยุคันต-
+ยุคันต์
+ยุคันตวาต
+ยุคันธร
+ยุคุนธร
+ยุง
+ยุ่ง
+ยุ้ง
+ยุงกวาด
+ยุ่งขิง
+ยุ่งใจ
+ยุงปัด
+ยุงปัดแม่ม่าย
+ยุ่งยาก
+ยุ่งยิ่ง
+ยุ่งเหมือนยุงตีกัน
+ยุ่งเหยิง
+ยุด
+ยุต
+ยุติ-
+ยุติธรรม
+ยุทธ-
+ยุทธ์
+ยุทธการ
+ยุทธนา
+ยุทธนาการ
+ยุทธนาธิการ
+ยุทธภัณฑ์
+ยุทธภูมิ
+ยุทธโยธา
+ยุทธวิธี
+ยุทธวินัย
+ยุทธศาสตร์
+ยุทธหัตถี
+ยุทโธปกรณ์
+ยุบ
+ยุบยอบ
+ยุบยับ
+ยุบยิบ
+ยุบล
+ยุพ-
+ยุพดี
+ยุพยง
+ยุพเยาว์
+ยุพราช
+ยุพราชา
+ยุพเรศ
+ยุพา
+ยุพาน
+ยุพาพาล
+ยุพาพิน
+ยุ่มย่าม
+ยุ่ย
+ยุ้ย
+ยุยง
+ยุแยง
+ยุแยงตะแคงแซะ
+ยุแยงตะแคงรั่ว
+ยุรบาตร
+ยุรยาตร
+ยุว-
+ยุวชน
+ยุวดี
+ยุวราช
+ยุวราชา
+ยุวา
+ยุวาน
+ยุหบาตร
+ยุแหย่
+ยุให้รำตำให้รั่ว
+ยู
+ยู่
+ยูง
+ยูโด
+ยูถะ
+ยูถิกา
+ยูปะ
+ยู่ยี่
+ยูรยาตร
+ยูริก
+ยูเรนัส
+ยูเรเนียม
+ยูโรเพียม
+ยูษะ
+เยๆ
+เย้
+เยง
+เยซู
+เย็ด
+เย็น
+เย็นใจ
+เย็นชืด
+เย็นตา
+เย็นตาโฟ
+เย็นเตาโฟ
+เย็นเยียบ
+เย็นเยือก
+เย็นหู
+เย็บ
+เย็บกี่
+เย็บด้าย
+เย็บลวด
+เย็บเล่ม
+เย็บอก
+เยภุย-
+เยภุยนัย
+เยภุยยะ
+เยภุยสิกา
+เย้ย
+เยอ
+เย่อ
+เยอรมัน
+เยอว
+เย่อหยิ่ง
+เยอะ
+เยอะแยะ
+เยา
+เย้า
+เยาว-
+เยาว์
+เยาวชน
+เยาวน-
+เยาวนะ
+เยาวพา
+เยาวพาณี
+เยาวพาน
+เยาวมาลย์
+เยาวยอด
+เยาวราช
+เยาวเรศ
+เยาวลักษณ์
+เยาะ
+เยิง
+เยิน
+เยิ่น
+เยินยอ
+เยิ่นเย้อ
+เยิบๆ
+เยิบยาบ
+เยิ้ม
+เยีย
+เยี่ยง
+เยียงผา
+เยี่ยงอย่าง
+เยียดยัด
+เยียใด
+เยียน
+เยียบ
+เยี่ยม
+เยี่ยมๆ มองๆ
+เยี่ยมยอด
+เยี่ยมเยียน
+เยี่ยมเยือน
+เยี่ยมวิมาน
+เยียมั่ง
+เยียรบับ
+เยียรยง
+เยียว
+เยี่ยว
+เยี่ยวงัว
+เยียวยง
+เยียวยา
+เยี่ยวอูฐ
+เยียใหญ่
+เยือ
+เยื่อ
+เยื้อ
+เยือก
+เยือกเย็น
+เยื่อเคย
+เยือง
+เยื่อง
+เยื้อง
+เยื้องกราย
+เยื้องยัก
+เยือน
+เยื้อน
+เยื่อใย
+แย่
+แย้
+แยก
+แยกเขี้ยว
+แยกย้าย
+แยกแย้ง
+แยกแยะ
+แยง
+แย่ง
+แย้ง
+แยงยล
+แยงแย่
+แยงแย้
+แย่แต้
+แยบ
+แย็บ
+แยบคาย
+แยบยล
+แยม
+แย้ม
+แย้มพราย
+แยแส
+แยะ
+โย
+โย้
+โยก
+โยกตร์
+โยกย้าย
+โยกเยก
+โยกโย้
+โยค-
+โยคเกณฑ์
+โยคจักษุ
+โยคนิทรา
+โยคยะ
+โยคะ
+โยคาพจร
+โยคาวจร
+โยคิน
+โยคี
+โยง
+โย่ง
+โย่งๆ
+โย่งเย่ง
+โยงโย่
+โยชก
+โยชน์
+โยชนา
+โยด
+โยต
+โยถิกะ
+โยทะกา
+โยธ-
+โยธวาทิต
+โยธา
+โยธิน
+โยน
+โยนก
+โยนกลอง
+โยนกลอน
+โยนยาว
+โยนหลุม
+โยนห่วง
+โยนหัวโยนก้อย
+โยนิโส
+โยนิโสมนสิการ
+โยนี
+โยพนมัท
+โยพนะ
+โยม
+โยเย
+โย้เย้
+โยโส
+ใย
+ใยฟ้า
+ใยยอง
+ใยหิน
+ไย
+ไย่
+ไยดี
+ไยไพ
+ไยไย
+ไย่ไย่
+ร
+รก
+รกชัฏ
+รกช้าง
+รกบิน
+รกฟ้า
+รกราก
+รกร้าง
+รกเรี้ยว
+รง
+รงกุ์
+รงค-
+รงค์
+รงควัตถุ
+รงรอง
+รจนา
+รจเรข
+รจเลข
+รจิต
+รชกะ
+รชตะ
+รชนิ
+รชนี
+รชนีกร
+รชนีจร
+รชะ
+รณ
+รณ-
+รณเกษตร
+รณภู
+รณภูมิ
+รณรงค์
+รณสถาน
+รด
+รดน้ำ
+รดี
+รตนะ
+รตะ
+รติ
+รถ
+รถ-
+รถจักรยาน
+รถจักรยานยนต์
+รถฉุกเฉิน
+รถโดยสารประจำทาง
+รถปุงคพ
+รถปุงควะ
+รถไฟ
+รถไฟฟ้า
+รถยนต์
+รถยา
+รถานึก
+รเถสภะ
+รท
+รทนะ
+รน
+ร่น
+ร้น
+รนด
+รนหาที่
+รบ
+รบกวน
+รบรา
+รบเร้า
+รบส
+รบาญ
+รพ
+รพา
+รพิ
+รพี
+รม
+ร่ม
+ร่มเกล้า
+ร่มเกศ
+ร่มชูชีพ
+รมณี
+รมณีย-
+รมณีย์
+ร่มธง
+ร่มผ้า
+ร่มโพธิ์ร่มไทร
+ร่มไม้ชายคา
+รมย์
+ร่มเย็น
+รมเยศ
+รยะ
+รยางค์
+รวก
+รวง
+ร่วง
+รวงผึ้ง
+ร่วงรุ้ง
+ร่วงโรย
+รวด
+รวดเดียว
+รวดเร็ว
+รวน
+ร่วน
+รวนเร
+รวบ
+รวบรวม
+รวบรัด
+รวบหัวรวบหาง
+รวม
+ร่วม
+ร่วมใจ
+ร่วมท้อง
+ร่วมประเวณี
+ร่วมเพศ
+ร่วมมือ
+ร่วมรัก
+ร่วมเรียงเคียงหมอน
+ร่วมหอลงโรง
+รวมหัว
+ร่วมหัวงาน
+ร่วมอุทร
+รวย
+รวยๆ
+รวยริน
+รวยรื่น
+รวะ
+รวิ
+รวิวาร
+รวี
+รศนา
+รส
+รสก
+รสชาติ
+รสนา
+รสนิยม
+รสสุคนธ์
+รสายนเวท
+รสิก
+รหัท
+รหัส
+รหิต
+รโห
+รโหคต
+รโหฐาน
+รอ
+ร่อ
+รอก
+รอง
+ร่อง
+ร้อง
+ร้องขอ
+รองคอ
+รองเง็ง
+รองจ่าย
+รองช้ำ
+ร้องฎีกา
+รองทรง
+รองท้อง
+ร้องทุกข์
+รองทุน
+รองเท้า
+ร่องน้ำ
+รองบ่อน
+รองพื้น
+ร้องเพลง
+ร่องมด
+ร้องโยนยาว
+ร่องรอย
+รองรัง
+ร้องเรียกร้องหา
+ร้องเรียน
+ร้องเรือ
+ร้องแรก
+ร่องแร่ง
+ร้องส่ง
+ร้องห่ม
+ร้องห่มร้องไห้
+ร้องไห้
+รอด
+รอดชีวิต
+รอดตัว
+รอดหูรอดตา
+รอน
+รอนๆ
+ร่อน
+ร้อน
+ร้อนตัว
+ร่อนทอง
+ร้อนผ้าเหลือง
+ร้อนรน
+ร่อนร่อน
+ร่อนรับร่อนเร่
+ร่อนเร่
+รอนแรม
+ร้อนวิชา
+รอนสิทธิ์
+ร้อนอาสน์
+รอบ
+รอบคอบ
+รอบรู้
+รอม
+รอมชอม
+รอมร่อ
+รอย
+ร่อย
+ร้อย
+ร้อยกรอง
+ร้อยแก้ว
+ร้อยชั่ง
+ร้อยทั้งร้อย
+ร้อยแปด
+รอยร้าว
+ร้อยลิ้น
+ร้อยลิ้นกะลาวน
+ร้อยสีร้อยอย่าง
+ร่อยหรอ
+ร้อยหวาย
+ร้อยหวี
+ร้อยเอ็ด
+ร้อยเอ็ดเจ็ดหัวเมือง
+ร่อแร่
+ระ
+ระกะ
+ระกา
+ระกำ
+ระกำนา
+ระกำป่า
+ระเกะระกะ
+ระคน
+ระคาง
+ระคาย
+ระเค็ดระคาย
+ระแคะ
+ระแคะระคาย
+ระฆัง
+ระงม
+ระงมไพร
+ระงับ
+ระงับพิษ
+ระงี่
+ระแง้
+ระโงกหิน
+ระชวย
+ระดม
+ระดะ
+ระดับ
+ระดับทะเล
+ระดับทะเลปานกลาง
+ระดา
+ระด่าว
+ระดู
+ระดูขาว
+ระเด่น
+ระเดียง
+ระแด
+ระตู
+ระทก
+ระทด
+ระทม
+ระทวย
+ระทอด
+ระทา
+ระทึก
+ระทึง
+ระแทะ
+ระนัม
+ระนาด
+ระนาดแก้ว
+ระนาดทุ้ม
+ระนาดเอก
+ระนาบ
+ระนาบเอียง
+ระนาม
+ระนาว
+ระเนน
+ระเนระนาด
+ระเนียด
+ระแนง
+ระแนะ
+ระบบ
+ระบบสุริยะ
+ระบม
+ระบอบ
+ระบัด
+ระบับ
+ระบาญ
+ระบาด
+ระบานี
+ระบานี้
+ระบาย
+ระบายสี
+ระบำ
+ระบิ
+ระบิล
+ระบิลเมือง
+ระบือ
+ระบุ
+ระเบง
+ระเบ็ง
+ระเบิด
+ระเบิดขวด
+ระเบิดทำลาย
+ระเบิดน้ำตา
+ระเบิดปรมาณู
+ระเบิดเพลิง
+ระเบิดมือ
+ระเบิดเวลา
+ระเบิดไฮโดรเจน
+ระเบียง
+ระเบียน
+ระเบียบ
+ระเบียบการ
+ระเบียบวาระ
+ระแบบ
+ระใบ
+ระฟ้า
+ระมัดระวัง
+ระมา
+ระมาด
+ระเมียร
+ระย่อ
+ระย่อม
+ระยะ
+ระยัง
+ระยั้ง
+ระยัด
+ระยับ
+ระย้า
+ระยาน
+ระยาบ
+ระยำ
+ระยำตำบอน
+ระยิบระยับ
+ระโยง
+ระโยงระยาง
+ระรวย
+ระรอง
+ระร่อน
+ระรัว
+ระราน
+ระร่าย
+ระราว
+ระริก
+ระรี่
+ระรึง
+ระรื่น
+ระรื้น
+ระเร
+ระเร่
+ระเร้ง
+ระเร็ว
+ระเริง
+ระเรียง
+ระเรียม
+ระเรื่อย
+ระแร่
+ระแรง
+ระลง
+ระลวง
+ระลอก
+ระลอง
+ระลัด
+ระลัดได
+ระลึก
+ระลุก
+ระลุง
+ระเลิง
+ระเลียด
+ระวัง
+ระวังไพร
+ระวังวัน
+ระวาง
+ระวาดระไว
+ระวาม
+ระวาย
+ระวิง
+ระแวง
+ระแวดระวัง
+ระไว
+ระสะเก็ด
+ระสาย
+ระส่ำระสาย
+ระสี
+ระเสิดระสัง
+ระหกระเหิน
+ระหง
+ระหวย
+ระหว่าง
+ระหองระแหง
+ระหอบ
+ระหัด
+ระหาย
+ระหุย
+ระเห็จ
+ระเหย
+ระเหระหน
+ระเหหน
+ระเหหัน
+ระเหิด
+ระเหินระหก
+ระแหก
+ระแหง
+ระโหย
+ระอมระอา
+ระอา
+ระอิดระอา
+ระอุ
+รัก
+รักข์
+รักขสะ
+รักขา
+รักขิต
+รักดป
+รักดะ
+รักดีหามจั่ว รักชั่วหามเสา
+รักตะ
+รักบี้
+รักพี่เสียดายน้อง
+รักยม
+รักยาวให้บั่น รักสั้นให้ต่อ
+รักร้อย
+รักเร่
+รักแร้
+รักษ์
+รักษา
+รักษาการ
+รักษาการณ์
+รักหมู
+รัง
+รั้ง
+รังกา
+รังเกียจ
+รังแก
+รังไข่
+รังค์
+รังควาน
+รังแค
+รังดุม
+รังแตน
+รังนก
+รังนาน
+รังบวบ
+รังผึ้ง
+รังเพลิง
+รังมด
+รังรอง
+รังรักษ์
+รังเรข
+รังแรก
+รังวัด
+รังสรรค์
+รังสรัง
+รังสฤษฏ์
+รังสิ
+รังสิมันตุ์
+รังสิมา
+รังสี
+รังสีความร้อน
+รังสีคอสมิก
+รังสีแพทย์
+รังสีวิทยา
+รังสีเหนือม่วง
+รังหยาว
+รัจฉา
+รัช
+รัช-
+รัชกะ
+รัชกาล
+รัชชุ
+รัชชูปการ
+รัชฎาภิเษก
+รัชด-
+รัชดาภิเษก
+รัชต-
+รัชทายาท
+รัชนะ
+รัชนี
+รัชนีกร
+รัญจวน
+รัฏฐาภิปาลโนบาย
+รัฐ
+รัฐ-
+รัฐทูต
+รัฐธรรมนูญ
+รัฐบาล
+รัฐบุรุษ
+รัฐประศาสน์
+รัฐประศาสนนัย
+รัฐประศาสนศาสตร์
+รัฐประศาสโนบาย
+รัฐประหาร
+รัฐมนตรี
+รัฐวิสาหกิจ
+รัฐศาสตร์
+รัฐสภา
+รัด
+รัดกุม
+รัดเกล้า
+รัดเข็มขัด
+รัดช้อง
+รัดตัว
+รัดทึบ
+รัดประคด
+รัดประคน
+รัดพัสตร์
+รัดรึง
+รัดรูป
+รัต
+รัต-
+รัตกัมพล
+รัตคน
+รัตจันทน์
+รัตตัญญู
+รัตติ
+รัตติกาล
+รัตน-
+รัตน์
+รัตนโกสินทร์
+รัตนตรัย
+รัตนบัลลังก์
+รัตนสิงหาสน์
+รัตนะ
+รัตนา
+รัตนากร
+รัตนาวลี
+รัตมณี
+รัตมา
+รัถ
+รัถยา
+รัทเทอร์ฟอร์เดียม
+รัน
+รั้น
+รันชนรันแชง
+รันทด
+รันทวย
+รันทำ
+รันแทะ
+รันธะ
+รับ
+รับขวัญ
+รับแขก
+รับคำ
+รับจ้าง
+รับท้อง
+รับประกัน
+รับประทาน
+รับปาก
+รับผิด
+รับผิดชอบ
+รับมือ
+รับรอง
+รับเรือน
+รับสั่ง
+รับหน้า
+รับไหว้
+รัมก-
+รัมณีย-
+รัมภา
+รัมมี่
+รัมย์
+รัย
+รัว
+รั่ว
+รั้ว
+รั้วไก่
+รัศมิมัต
+รัศมิมาน
+รัศมี
+รัษฎากร
+รัส-
+รัสสระ
+รัสสะ
+รา
+ร่า
+ร้า
+ราก
+รากแก้ว
+รากขวัญ
+รากฐาน
+รากดิน
+รากฝอย
+รากฟัน
+รากศัพท์
+รากษส
+รากโษส
+รากสาด
+รากสาดน้อย
+รากสาดใหญ่
+รากสามสิบ
+รากเหง้า
+ราข้อ
+ราคะ
+ราคา
+ราคาตลาด
+ราคิน
+ราคี
+ราง
+ร่าง
+ร้าง
+ร่างกาย
+รางจืด
+รางชาง
+รางดำ
+รางแดง
+รางนาน
+รางบรรทัด
+ร่างร้าน
+รางวัล
+ร่างแห
+ราช
+ราช-
+ราชการ
+ราชกิจจานุเบกษา
+ราชครู
+ราชญี
+ราชดัด
+ราชทัณฑ์
+ราชทินนาม
+ราชทูต
+ราชโทรหะ
+ราชธรรม
+ราชธานี
+ราชนิกุล
+ราชนีติ
+ราชบัณฑิต
+ราชบาตร
+ราชบุตร
+ราชบุรุษ
+ราชปะแตน
+ราชพฤกษ์
+ราชภัฏ
+ราชมัล
+ราชมาณพ
+ราชมาษ
+ราชมาส
+ราชย์
+ราชยาน
+ราชโยค
+ราชโยงการ
+ราชรถมาเกย
+ราชวงศ์
+ราชวรมหาวิหาร
+ราชวรวิหาร
+ราชวโรงการ
+ราชวัติ
+ราชศาสตร์
+ราชสกุล
+ราชสันตติวงศ์
+ราชสาสน์
+ราชสีห์
+ราชสีห์ตัวผู้
+ราชสีห์ตัวเมีย
+ราชสีห์สองตัวอยู่ถ้ำเดียวกันไม่ได้
+ราชสูยะ
+ราชหัตถเลขา
+ราชองครักษ์
+ราชโองการ
+ราชะ
+ราชัน
+ราชันย์
+ราชัย
+ราชา
+ราชาคณะ
+ราชาโชค
+ราชาธิราช
+ราชาภิเษก
+ราชายตนะ
+ราชาฤกษ์
+ราชาวดี
+ราชาวลี
+ราชาศัพท์
+ราชิ
+ราชินิกุล
+ราชินี
+ราชินีกุล
+ราชินีนาถ
+ราชินูปถัมภ์
+ราชี
+ราชูปถัมภ์
+ราชูปโภค
+ราเชน
+ราเชนทร์
+ราเชนทรยาน
+ราโชงการ
+ราโชปถัมภ์
+ราโชปโภค
+ราโชวาท
+ราไชศวรรย์
+ราญ
+ราญรอน
+ราด
+ราต
+ราตร
+ราตรี
+ราตรีประดับดาว
+ราโท
+ราน
+ร่าน
+ร้าน
+ร้านม้า
+ราบ
+ราบคาบ
+ราบเป็นหน้ากลอง
+ราบรื่น
+ราบเรียบ
+ราปีก
+ราพณ์
+ราพณาสูร
+ราม
+รามเกียรติ์
+รามสูร
+รามัญ
+รามา
+ราย
+ร่าย
+ร้าย
+ร้ายกาจ
+รายการ
+รายงาน
+รายงานการประชุม
+รายจ่าย
+รายทาง
+ร่ายไม้
+ร่ายรัง
+รายรับ
+ร้ายแรง
+รายวิชา
+ร่าเริง
+ราเริด
+ราแรม
+ราว
+ร้าว
+ราวกะ
+ราวกับ
+ราวข่าว
+ร้าวฉาน
+ราวป่า
+ร้าวราน
+ราวี
+ราศี
+ราษฎร
+ราษฎร์
+ราษตรี
+ราษราตริน
+ราษราตรี
+ราสี
+ราหุ
+ร่าหุ์
+ราหู
+รำ
+ร่ำ
+รำเขนง
+รำคาญ
+รำโคม
+รำงับ
+รำจวน
+รำชั่วโทษพากย์
+รำซุย
+รำเท้า
+รำบาญ
+ร่ำไป
+รำผี
+รำพัด
+รำพัดชา
+รำพัน
+รำพาย
+รำพึง
+รำเพย
+รำแพน
+รำไพ
+รำมะแข
+รำมะนา
+รำมะนาด
+รำมะร่อ
+รำไม่ดีโทษปี่โทษกลอง
+รำยวน
+รำย้อย
+รำแย้
+รำรงค์
+ร่ำรวย
+รำราญ
+รำรำ
+ร่ำรี้ร่ำไร
+รำเร
+ร่ำเรียน
+รำไร
+ร่ำไร
+รำลึก
+รำวง
+รำหัด
+รำหัส
+ร่ำไห้
+ริ
+ริก
+ริกๆ
+ริดสีดวง
+ริน
+รินๆ
+ริ้น
+ริบ
+ริบทรัพย์สิน
+ริบบิ้น
+ริบราชบาตร
+ริบรี่
+ริบหรี่
+ริปอง
+ริปุ
+ริปู
+ริม
+ริมฝีปาก
+ริเริ่ม
+ริ้ว
+ริษยา
+ริอ่าน
+รี
+รี่
+รี้
+รีๆ ขวางๆ
+รีด
+รีดนาทาเน้น
+รีดนาทาเร้น
+รีดลูก
+รีดักชัน
+รีต
+รีเนียม
+รีบ
+รีบรุด
+รี้พล
+รีม
+รีรอ
+รีๆ รอๆ
+รี้ริก
+รึกต์
+รึง
+รึ้ง
+รื่น
+รื้น
+รื่นรมย์
+รื่นเริง
+รื้อ
+รื้อแต่หลังคาเขา หลังคาเราไม่รื้อ
+รื้อฟื้น
+รุ
+รุก
+รุกข-
+รุกข์
+รุกขกะ
+รุกขชาติ
+รุกขมูล
+รุกขมูลิกธุดงค์
+รุกขา
+รุกฆาต
+รุกร้น
+รุกราน
+รุกรุย
+รุกษะ
+รุข้าว
+รุ่ง
+รุ้ง
+รุ่งเช้า
+รุ้งพราย
+รุ้งร่วง
+รุงรัง
+รุ่งเรือง
+รุ่งโรจน์
+รุจ
+รุจน
+รุจา
+รุจิ
+รุจิระ
+รุจิรา
+รุจิเรข
+รุจี
+รุชา
+รุด
+รุดหน้า
+รุต
+รุทธ์
+รุทร
+รุธิร
+รุเธียร
+รุน
+รุ่น
+รุ่นกระทง
+รุ่นตะกอ
+รุ่นราวคราวเดียวกัน
+รุนแรง
+รุบรู่
+รุบาการ
+รุม
+รุ่ม
+รุมไข้
+รุมไฟ
+รุ่มรวย
+รุ่มร่าม
+รุย
+รุ่ย
+รุ่ยร่าย
+รุรุ
+รุษฏ์
+รุหะ
+รุหาญ
+รู
+รู่
+รู้
+รู้แกว
+รู้ความ
+รู้คิด
+รู้คิดรู้อ่าน
+รู้คุณ
+รู้งูๆ ปลาๆ
+รู้จัก
+รู้จักเก็บรู้จักเขี่ย
+รู้จักเก็บรู้จักงำ
+รู้จักมักคุ้น
+รู้จักมักจี่
+รูจี
+รู้ฉลาด
+รู้เช่นเห็นชาติ
+รูด
+รู้ตัว
+รู้ตื้นลึกหนาบาง
+รู้ทัน
+รู้ที
+รูทีเนียม
+รู้เท่า
+รู้เท่าไม่ถึงการณ์
+รู้น้อยพลอยรำคาญ
+รูบิเดียม
+รูป
+รูป-
+รูปชี
+รูปธรรม
+รูปพยัญชนะ
+รูปพรรณ
+รูปภาพ
+รูปร่าง
+รูปลอก
+รูปสมบัติ
+รูปสระ
+รูปิยะ
+รูปี
+รู้มลัก
+รู้มลาก
+รู้มาก
+รู้มากยากนาน
+รู้ยาวรู้สั้น
+รูเล็ตต์
+รู้ไว้ใช่ว่า ใส่บ่าแบกหาม
+รู้สึก
+รู้ไส้
+รู้หลบเป็นปีก รู้หลีกเป็นหาง
+รูหะ
+รู้หาญรู้ขลาด
+รู้เห็น
+รู้เห็นเป็นใจ
+รู้อย่างเป็ด
+รู้อยู่
+รู้เองเป็นเอง
+เร่
+เรข
+เรขา
+เรขาคณิต
+เรขาคณิตบริสุทธิ์
+เรขาคณิตวิเคราะห์
+เร็ง
+เร่ง
+เร้ง
+เร่งมือ
+เร่งรัด
+เร่งร่าย
+เร่งรีบ
+เร่งเร้า
+เรณุ
+เรณุก
+เรณู
+เรดอน
+เรดาร์
+เรเดียม
+เร้น
+เร้นลับ
+เรรวน
+เร่ร่อน
+เร่ร่าย
+เรไร
+เร็ว
+เร่ว
+เรวดี
+เรอ
+เร่อ
+เร่อร่า
+เรา
+เร่า
+เร่าๆ
+เร้า
+เร่าร้อน
+เราะ
+เราะราย
+เราะร้าย
+เริง
+เริด
+เริม
+เริ่ม
+เริ้ม
+เริศร้าง
+เรี่ย
+เรี้ยๆ
+เรียก
+เรียกเนื้อ
+เรียง
+เรียงๆ
+เรียงความ
+เรียงพิมพ์
+เรียงพี่เรียงน้อง
+เรียงรัน
+เรียงราย
+เรียงหน้ากระดาน
+เรียงหมอน
+เรียด
+เรียน
+เรียนปฏิบัติ
+เรียนผูกต้องเรียนแก้
+เรียบ
+เรียบๆ
+เรียบร้อย
+เรียบเรียง
+เรียบวุธ
+เรียม
+เรี่ยม
+เรี่ยราด
+เรี่ยราย
+เรี่ยไร
+เรียว
+เรี่ยว
+เรี้ยวรก
+เรี่ยวแรง
+เรียวหนาม
+เรือ
+เรื่อ
+เรื้อ
+เรือก
+เรือกสวน
+เรือขนาน
+เรือขาดหางเสือ
+เรือง
+เรื่อง
+เรื้อง
+เรืองนาม
+เรืองรอง
+เรื่องราว
+เรืองไร
+เรื่องสั้น
+เรืองอำนาจ
+เรือด
+เรือดไม้
+เรือน
+เรื้อน
+เรือนแก้ว
+เรือนเครื่องผูก
+เรือนเครื่องสับ
+เรือนจำ
+เรือนตะเกียง
+เรือนธาตุ
+เรือนเบี้ย
+เรือนฝากระดาน
+เรือนแฝด
+เรือนแพ
+เรือนไฟ
+เรือนยอด
+เรือนหอ
+เรือบิน
+เรือพ่วง
+เรือไฟ
+เรื่อย
+เรื้อย
+เรื่อยเจื้อย
+เรื่อยเปื่อย
+เรือโยง
+เรือรบ
+เรื้อรัง
+เรือล่มในหนอง ทองจะไปไหน
+เรือล่มเมื่อจอด ตาบอดเมื่อแก่
+เรือแหวด
+เรือใหญ่คับคลอง
+แร
+แร่
+แรก
+แร็กเกต
+แรกนา
+แรกนาขวัญ
+แรง
+แร่ง
+แร้ง
+แรงงาน
+แรงงานและสวัสดิการสังคม
+แรงงานสัมพันธ์
+แรงดึงดูด
+แรงเทียน
+แรงม้า
+แร่งริ้ว
+แรงสู่ศูนย์กลาง
+แรงหนีศูนย์กลาง
+แรงเหวี่ยง
+แร่งไหม
+แรเงา
+แรด
+แรดตัวผู้
+แรดตัวเมีย
+แร้นแค้น
+แรม
+แรมรอน
+แรมรา
+แรมโรย
+แร้ว
+แรเส้น
+แระ
+โร
+โร่
+โรค
+โรค-
+โรคจิต
+โรคจิตเภท
+โรคนิทาน
+โรคประจำตัว
+โรคประสาท
+โรคระบบประสาท
+โรคศิลปะ
+โรคสมอง
+โรคา
+โรคาพยาธิ
+โรคาพาธ
+โรง
+โรงคัล
+โรงงาน
+โรงธาร
+โรงธารคำนัล
+โรงนา
+โรงรับจำนำ
+โรงเรียน
+โรงเรียนประจำ
+โรงเรียนสาธิต
+โรงเรือน
+โรงแรม
+โรงแสง
+โรจ
+โรจน์
+โรเดียม
+โรตี
+โรตีสายไหม
+โรท
+โรทนะ
+โรธ
+โรธร
+โรปนะ
+โรม
+โรมมัย
+โรมรัน
+โรมัญจ
+โรมัน
+โรมันคาทอลิก
+โรเมอร์
+โรย
+โรยขนมจีน
+โรยรา
+โรยหน้า
+โรเร
+โรษ
+โรษณะ
+โรหิณี
+โรหิต
+ไร
+ไร่
+ไร้
+ไรฟัน
+ไรย์
+ไรเรือง
+ฤ
+ฤกษ์
+ฤกษณะ
+ฤกษ์บน
+ฤกษ์พานาที
+ฤกษ์ล่าง
+ฤคเวท
+ฤชา
+ฤชากร
+ฤชุ
+ฤณ
+ฤดี
+ฤดียา
+ฤดู
+ฤดูกาล
+ฤต
+ฤติยา
+ฤตุ
+ฤตุสนาน
+ฤทธา
+ฤทธิ์
+ฤทัย
+ฤษภ
+ฤษยา
+ฤษี
+ฤๅ
+ฤๅชุ
+ฤๅชุตา
+ฤๅดี
+ฤๅทัย
+ฤๅเยา
+ฤๅษี
+ฤๅษีแปลงสาร
+ฤๅษีผสมแล้ว
+ฤๅษีเลี้ยงลิง
+ฤๅสาย
+ล
+ลก
+ลการ
+ลกุจ
+ลคุฑ
+ลคุฬ
+ลฆุ
+ลฆุจิต
+ลฆุภาพ
+ลฆุโภชน์
+ลง
+ล่ง
+ลงกลอน
+ลงกา
+ลงขัน
+ลงข่าว
+ลงแขก
+ลงคอ
+ลงเงิน
+ลงชื่อ
+ลงแดง
+ลงตัว
+ลงทอง
+ลงท้อง
+ลงท่า
+ลงท้าย
+ลงทุน
+ลงโทษ
+ลงนา
+ลงเนื้อเห็นด้วย
+ลงโบสถ์
+ลงแป้ง
+ลงผี
+ลงฝัก
+ลงพระบังคน
+ลงพื้น
+ลงพุง
+ลงมีด
+ลงมือ
+ลงยา
+ลงรอยกัน
+ลงรัก
+ลงราก
+ลงแรง
+ลงโรง
+ล้งเล้ง
+ลงสรง
+ลงหญ้าช้าง
+ลงหิน
+ลงอาชญา
+ลงอาญา
+ลงอุโบสถ
+ลงเอย
+ลด
+ลดเขื่อน
+ลดราวาศอก
+ลดละ
+ลดเลี้ยว
+ลดเลี้ยวเกี้ยวพา
+ลดหย่อน
+ลดหลั่น
+ลดา
+ลดาวัลย์
+ลน
+ล่น
+ล้น
+ล้นเกล้าล้นกระหม่อม
+ลนควัน
+ล้นพ้น
+ลนลาน
+ล้นหลาม
+ลบ
+ลบม
+ลบรอย
+ลบล้าง
+ลบเลือน
+ลบโลก
+ลบศักราช
+ลบหลู่
+ลบเหลี่ยม
+ลบอง
+ลปก
+ลปน
+ลพ
+ลพุช
+ลม
+ลมๆ
+ล่ม
+ล้ม
+ลมกรด
+ลมขึ้น
+ล้มคว่ำ
+ลมค้า
+ลมงวง
+ล่มจม
+ลมจับ
+ลมแดง
+ลมทวนลมค้า
+ลมทะเล
+ล้มทั้งยืน
+ลมบก
+ลมบ้าหมู
+ลมปราณ
+ลมปาก
+ลมพัดชายเขา
+ลมพัดหลวง
+ลมพิษ
+ลมเพลมพัด
+ล่มฟ้า
+ลมไม่ดี
+ลมล่อง
+ล้มละลาย
+ล้มลุก
+ล้มลุกคลุกคลาน
+ล้มเลิก
+ลมแล้ง
+ลมๆ แล้งๆ
+ลมว่าว
+ลมเสีย
+ล้มหมอนนอนเสื่อ
+ลมาด
+ลรรลุง
+ลลนา
+ลลาฏ
+ลลิต
+ลวก
+ลวง
+ล่วง
+ล้วง
+ล้วงกระเป๋า
+ล่วงเกิน
+ล่วงขื่อ
+ลวงค์
+ล้วงคองูเห่า
+ล่วงคำ
+ล้วงตับ
+ลวงตา
+ล่วงประเวณี
+ล่วงแป
+ล่วงพ้น
+ล้วงมือ
+ล่วงรู้
+ล่วงลับ
+ล่วงล้ำ
+ล่วงเลย
+ลวงเล้า
+ล่วงว่า
+ล่วงเวลา
+ล้วงไส้
+ล่วงหน้า
+ลวณะ
+ลวด
+ลวดลาย
+ลวดสปริง
+ลวดหนัง
+ลวดหนาม
+ล้วน
+ล้วนๆ
+ลวนลาม
+ลวนะ
+ล่วม
+ลวะ
+ลวิตร
+ลหุ
+ลหุก-
+ลหุกะ
+ลหุกาบัติ
+ลหุโทษ
+ล่อ
+ล้อ
+ลอก
+ล็อกเกต
+ลอกคราบ
+ลอกท้องร่อง
+ลอกเลน
+ลอกแลก
+ลอการิทึม
+ลอง
+ล่อง
+ลองกอง
+ล่องแก่ง
+ล่องจวน
+ลองจิจูด
+ลองใจ
+ล่องชาด
+ลองเชิง
+ลองดี
+ล่องถุน
+ลองธรรม์
+ลองใน
+ลองไน
+ลองภูมิ
+ล่องแมว
+ล่องหน
+ลอด
+ลอดช่อง
+ลอน
+ล่อน
+ล่อนแก่น
+ล่อนจ้อน
+ลอนทอง
+ลอบ
+ลอบกัด
+ลอม
+ล้อม
+ลอมชอม
+ล้อมปรวด
+ลอมพอก
+ล้อมวง
+ลอย
+ลอยๆ
+ล่อยๆ
+ลอยกระทง
+ลอยแก้ว
+ลอยคอ
+ลอยช้อน
+ลอยชาย
+ลอยดอก
+ลอยตัว
+ลอยนวล
+ลอยบาป
+ลอยแพ
+ลอยฟ้า
+ลอยเมฆ
+ลอยลำ
+ลอยหน้า
+ล่อลวง
+ล้อเลียน
+ล้อเลื่อน
+ล่อแล่
+ลอว์เรนเซียม
+ล่อหลอก
+ล้อหลอก
+ล่อแหลม
+ลออ
+ละ
+ล่ะ
+ละกล
+ละกูมะนิส
+ละขัดละขืน
+ละคร
+ละครยก
+ละคิ
+ละคึก
+ละงาด
+ละงิด
+ละติจูด
+ละทิ้ง
+ละบม
+ละบอง
+ละบองไฟ
+ละบองราหู
+ละบัด
+ละบือ
+ละเบ็ง
+ละโบม
+ละม่อม
+ละมั่ง
+ละมา
+ละมาน
+ละม้าย
+ละมุ
+ละมุด
+ละมุน
+ละมุนละไม
+ละเม็ด
+ละเมอ
+ละเมาะ
+ละเมิด
+ละเมิดลิขสิทธิ์
+ละเมิน
+ละเมียด
+ละเมียบ
+ละแมะ
+ละโมก
+ละโมบ
+ละไม
+ละรี
+ละลด
+ละลนละลาน
+ละลมละลาย
+ละลวย
+ละลอก
+ละลอบละเล้า
+ละลัง
+ละลัด
+ละล้า
+ละลาน
+ละลาบละล้วง
+ละลาย
+ละล้าละลัง
+ละล้าว
+ละล่ำละลัก
+ละลิบ
+ละลุง
+ละลุม
+ละเลง
+ละเลงขนมเบื้องด้วยปาก
+ละเลย
+ละเล้า
+ละเลาะ
+ละเลาะละลอง
+ละเลิง
+ละเลียด
+ละเลียบ
+ละเลือก
+ละไล้
+ละวล
+ละว้อ
+ละว้า
+ละวาง
+ละวาด
+ละเวง
+ละเว้น
+ละแวก
+ละโว้
+ละหมาด
+ละหมาดญานาซะฮ์
+ละหลัด
+ละห้อย
+ละหาน
+ละหุ่ง
+ละเหย
+ละเหี่ย
+ละองละมั่ง
+ละออง
+ละอาย
+ละเอียด
+ละเอียดลออ
+ละแอน
+ลัก
+ลักไก่
+ลักขณะ
+ลักขณา
+ลักขะ
+ลักขี
+ลักเค้า
+ลักจั่น
+ลักปิดลักเปิด
+ลักพา
+ลักเพศ
+ลักยิ้ม
+ลักลอบ
+ลักลั่น
+ลักลาย
+ลักเลียม
+ลักศพ
+ลักษณ-
+ลักษณนาม
+ลักษณะ
+ลักษณาการ
+ลักษมณ์
+ลักษมาณา
+ลักษมี
+ลักษะ
+ลักสร้อย
+ลักสี
+ลักหลับ
+ลัคคะ
+ลัคน-
+ลัคน์
+ลัคนา
+ลัง
+ลั่ง
+ลังกา
+ลังคิ
+ลังคี
+ลังถึง
+ลังลอง
+ลังเล
+ลังสาด
+ลัชชา
+ลัชชี
+ลัญจ์
+ลัญจกร
+ลัญฉ
+ลัญฉกร
+ลัญฉน์
+ลัฐิ
+ลัฐิกา
+ลัด
+ลัดนิ้วมือ
+ลัดเนื้อ
+ลัดเลาะ
+ลัดแลง
+ลัดวงจร
+ลัดา
+ลัทธ์
+ลัทธิ
+ลัน
+ลั่น
+ลั่นกุญแจ
+ลั่นไก
+ลั่นฆ้อง
+ลั่นดาล
+ลันเต
+ลันเตา
+ลันไต
+ลั่นถัน
+ลั่นทม
+ลันทวย
+ลันโทม
+ลั่นนก
+ลั่นปาก
+ลั่นวาจา
+ลับ
+ลับตา
+ลับปาก
+ลับฝีปาก
+ลับลมคมใน
+ลับล่อ
+ลับๆ ล่อๆ
+ลับลี้
+ลับแล
+ลับสมอง
+ลับหลัง
+ลับหู
+ลัพธ์
+ลัพธิ
+ลัภ
+ลัภนะ
+ลัภย์
+ลัมพ์
+ลัย
+ลัย-
+ลัยกาล
+ลัยคต
+ลา
+ล่า
+ล้า
+ลาก
+ลากข้าง
+ลากษา
+ลากเส้น
+ลากหนามจุกช่อง
+ลาขา
+ลาข้าวพระ
+ลาง
+ล่าง
+ล้าง
+ลางคัล
+ล้างแค้น
+ลางงิด
+ล้างท้อง
+ลางที
+ลางเนื้อชอบลางยา
+ล้างปาก
+ล้างป่าช้า
+ล้างผลาญ
+ล้างไพ่
+ล้างมือ
+ลางลิง
+ล้างโลก
+ล้างสมอง
+ลางสาด
+ล้างอาย
+ลางาด
+ล้างาด
+ลาเง็ด
+ลาช
+ลาชา
+ลาญ
+ลาญทัก
+ลาด
+ลาดเขา
+ลาดตระเวน
+ลาดทวีป
+ลาดเท
+ลาดพระบาท
+ลาดยาง
+ลาดเลา
+ล้าต้า
+ลาตาย
+ล่าเตียง
+ล้าเตียง
+ลาน
+ล่าน
+ล้าน
+ลาบ
+ลาป
+ลาพรรษา
+ลาพอน
+ลาพุ
+ลาพุช
+ลาเพ
+ลาเพา
+ลาภ
+ลาภมิควรได้
+ลาม
+ล่าม
+ลามก
+ลามปาม
+ลามลวน
+ลาย
+ล้าย
+ลายขัด
+ลายคราม
+ลายตา
+ลายเทศ
+ลายแทง
+ลายน้ำ
+ลายน้ำทอง
+ลายพระหัตถ์
+ลายพาดกลอน
+ลายมือ
+ลายมือชื่อ
+ลายไม้
+ลายลักษณ์
+ลายสอ
+ลายสอง
+ลายสาบ
+ลายสือ
+ลายอย่าง
+ลายฮ่อ
+ลาโรง
+ลาลนะ
+ลาลส
+ลาลา
+ลาโลก
+ลาว
+ลาวก
+ลาวัณย์
+ลาวา
+ลาสนะ
+ล้าสมัย
+ลาสิกขา
+ล้าหลัง
+ลำ
+ล่ำ
+ล้ำ
+ลำกระโดง
+ลำกล้อง
+ลำเข็ญ
+ลำแข
+ลำแข้ง
+ลำเค็ญ
+ลำเคือง
+ลำงาด
+ลำเจียก
+ลำเจียกหนู
+ลำดวน
+ลำดับ
+ลำตัด
+ลำธาร
+ลำนัก
+ลำนำ
+ลำเนา
+ลำบอง
+ลำบาก
+ลำบุ
+ลำปำ
+ลำพวน
+ลำพอง
+ลำพัง
+ลำพู
+ลำพู่กัน
+ลำเพ็ญ
+ลำเพา
+ลำแพง
+ลำแพน
+ลำโพง
+ลำไพ่
+ลำภุขัน
+ลำมะลอก
+ลำมาด
+ลำมาบ
+ลำเมาะ
+ลำเมียบ
+ลำยอง
+ลำยา
+ลำไย
+ลำลอง
+ล่ำลา
+ลำลาบ
+ลำลำ
+ลำลึก
+ลำเลาะ
+ลำเลิก
+ล้ำเลิศ
+ลำเลียง
+ลำเลียบ
+ลำเวียง
+ลำเวียน
+ล่ำสัน
+ลำเสา
+ลำไส้
+ลำหนัก
+ล้ำหน้า
+ลำห้วย
+ลำหักลำโค่น
+ลำอุด
+ลำเอียก
+ลำเอียง
+ลำโอง
+ลิ
+ลิกขา
+ลิกไนต์
+ลิกษา
+ลิกุจ
+ลิเก
+ลิขนะ
+ลิขสิทธิ์
+ลิขิต
+ลิง
+ลิงค์
+ลิงจุ่น
+ลิงชิงหลัก
+ลิงตกต้นไม้
+ลิงลม
+ลิงโลด
+ลิงหลอกเจ้า
+ลิด
+ลิดตีนปู
+ลิดรอน
+ลิต
+ลิตมัส
+ลิตร
+ลิเทียม
+ลิ่น
+ลิ้น
+ลิ้นกระด้างคางแข็ง
+ลิ้นกระบือ
+ลินโกรย
+ลิ้นไก่
+ลิ้นควาย
+ลิ้นงูเห่า
+ลินจง
+ลิ้นจะกวด
+ลิ้นจี่
+ลิ้นชัก
+ลิ่นต้น
+ลิ้นตวัดถึงหู
+ลิ้นตะกวด
+ลิ้นทอง
+ลิ่นทะเล
+ลิ้นทะเล
+ลิ้นปี่
+ลิ้นมังกร
+ลิ้นไม่มีกระดูก
+ลิ้นลม
+ลิ้นลังกา
+ลินลา
+ลินลากระทุ่ม
+ลินลากระบี่
+ลิ้นลาย
+ลินสีด
+ลิ้นเสือ
+ลิ้นหมา
+ลิ่นฮื้อ
+ลินิน
+ลิบ
+ลิบลับ
+ลิบลิ่ว
+ลิปดา
+ลิปต์
+ลิปสติก
+ลิปิ
+ลิปิกร
+ลิปิการ
+ลิฟต์
+ลิเภา
+ลิ่ม
+ลิ้ม
+ลิมป์
+ลิมปนะ
+ลิลิต
+ลิว
+ลิ่ว
+ลิสง
+ลี
+ลี่
+ลี้
+ลีซอ
+ลีบ
+ลี้ลับ
+ลีลา
+ลีลากระทุ่ม
+ลีลาศ
+ลีฬหา
+ลึก
+ลึกซึ้ง
+ลึกลับ
+ลึกล้ำ
+ลึงค์
+ลึงค์นายพราน
+ลืด
+ลื่น
+ลื้น
+ลืบ
+ลืม
+ลืมตน
+ลืมต้น
+ลืมตัว
+ลืมตา
+ลือ
+ลื่อ
+ลื้อ
+ลือชา
+ลือชาปรากฏ
+ลื่อชื่อ
+ลือสาย
+ลุ
+ลุก
+ลุกลน
+ลุกลาม
+ลุกลี้ลุกลน
+ลุกฮือ
+ลุแก่โทษ
+ลุแก่อำนาจ
+ลุง
+ลุ้ง
+ลุต
+ลุท
+ลุทกะ
+ลุทธ์
+ลุ่น
+ลุ่นๆ
+ลุ่นตุ้น
+ลุ่นโตง
+ลุปต์
+ลุพธ์
+ลุพธกะ
+ลุ่ม
+ลุ่มๆ ดอนๆ
+ลุ่มน้ำ
+ลุ่มเนื้อ
+ลุมป์
+ลุมพี
+ลุมพู
+ลุ่มเล้า
+ลุ่มหลง
+ลุย
+ลุ่ย
+ลุ้ย
+ลุ่ยหู
+ลุล่วง
+ลุลาย
+ลุสา
+ลุอำนาจ
+ลู่
+ลูก
+ลูกกก
+ลูกกรง
+ลูกกรอก
+ลูกกระเดือก
+ลูกกระพรวน
+ลูกกระแอม
+ลูกกลอน
+ลูกกลิ้ง
+ลูกกวาด
+ลูกกะโล่
+ลูกกะแอ
+ลูกกัลปพฤกษ์
+ลูกแก้ว
+ลูกโกลน
+ลูกไก่
+ลูกไก่อยู่ในกำมือ
+ลูกขวัญ
+ลูกขัด
+ลูกข่าง
+ลูกข้าว
+ลูกขุน
+ลูกขุน ณ ศาลหลวง
+ลูกขุน ณ ศาลา
+ลูกขุนพลอยพยัก
+ลูกเขย
+ลูกเขยตายแม่ยายชักปรก
+ลูกเขยตายแม่ยายทำศพ
+ลูกครอก
+ลูกครึ่ง
+ลูกคลัก
+ลูกความ
+ลูกคอ
+ลูกคอก
+ลูกคัน
+ลูกค้า
+ลูกคำ
+ลูกคิด
+ลูกเคล้า
+ลูกฆ้อง
+ลูกจ๊อก
+ลูกจ้าง
+ลูกเจี๊ยบ
+ลูกช่วง
+ลูกช้าง
+ลูกชิด
+ลูกชิ้น
+ลูกโซ่
+ลูกดอก
+ลูกดิ่ง
+ลูกโดด
+ลูกตั้ง
+ลูกตุ้ม
+ลูกเต้า
+ลูกเต๋า
+ลูกแตก
+ลูกถ้วย
+ลูกเถื่อน
+ลูกแถว
+ลูกทอย
+ลูกท่านหลานเธอ
+ลูกทุ่ง
+ลูกเธอ
+ลูกน้อง
+ลูกนา
+ลูกน้ำ
+ลูกนิมิต
+ลูกบท
+ลูกบวบ
+ลูกบ้าน
+ลูกบาศก์
+ลูกบิด
+ลูกบุญธรรม
+ลูกเบี้ยว
+ลูกประคบ
+ลูกประคำ
+ลูกประคำผี
+ลูกประสม
+ลูกประสัก
+ลูกประหล่ำ
+ลูกปราย
+ลูกปละ
+ลูกปลา
+ลูกปะกน
+ลูกปัด
+ลูกปา
+ลูกป่า
+ลูกปืน
+ลูกปืนใหญ่
+ลูกแป
+ลูกโป่ง
+ลูกโป่งสวรรค์
+ลูกผสม
+ลูกผักชี
+ลูกผีลูกคน
+ลูกผู้ชาย
+ลูกผู้น้อง
+ลูกผู้พี่
+ลูกผู้หญิง
+ลูกไผ่
+ลูกฝาแฝด
+ลูกแฝด
+ลูกพรวน
+ลูกพริก
+ลูกพลู
+ลูกพี่
+ลูกพี่ลูกน้อง
+ลูกฟัก
+ลูกฟูก
+ลูกไฟ
+ลูกมโหตร
+ลูกมะหวด
+ลูกมาด
+ลูกมือ
+ลูกโม่
+ลูกไม้
+ลูกไม้หล่นไม่ไกลต้น
+ลูกยอ
+ลูกย่าง
+ลูกยาเธอ
+ลูกโยน
+ลูกรอก
+ลูกระมาศ
+ลูกรัง
+ลูกรุ่ย
+ลูกเรือ
+ลูกลม
+ลูกล้อ
+ลูกล่า
+ลูกเล่น
+ลูกเลี้ยง
+ลูกแล่ง
+ลูกโลก
+ลูกไล่
+ลูกวัด
+ลูกศิษย์
+ลูกสมภารหลานเจ้าวัด
+ลูกสมุน
+ลูกสวรรค์
+ลูกสวาท
+ลูกสะบ้า
+ลูกสะใภ้
+ลูกสังกะสี
+ลูกสูบ
+ลูกเสือ
+ลูกหนี้
+ลูกหนู
+ลูกหมด
+ลูกหม้อ
+ลูกหมาก
+ลูกหมู่
+ลูกหลง
+ลูกหลวง
+ลูกหาบ
+ลูกหิน
+ลูกหินบด
+ลูกหีบ
+ลูกเห็บ
+ลูกแห
+ลูกแหง่
+ลูกอม
+ลูกเอ็น
+ลูกเอ็ล
+ลูขะ
+ลูตา
+ลูติกา
+ลู่ทาง
+ลูทีเชียม
+ลูนะ
+ลูบ
+ลูบคม
+ลูบคลำ
+ลูบตัว
+ลูบไล้
+ลูบหน้าปะจมูก
+ลู่หลี่
+เลก
+เล็ก
+เล็กดา
+เล็กน้อย
+เล็กพริกขี้หนู
+เลกวัด
+เลข
+เลขกะ
+เลขคณิต
+เลขจำนวน
+เลขชี้กำลัง
+เลขโดด
+เลขนะ
+เลขผา
+เลขยะ
+เลขยันต์
+เลขลำดับ
+เลขหมาย
+เลขา
+เลขาธิการ
+เลขานุการ
+เล็ง
+เล้ง
+เล็งลัคน์
+เล่งฮื้อ
+เลเซอร์
+เลฑฑุ
+เลณ
+เลณฑุ
+เล็ด
+เล็ดลอด
+เลต
+เลน
+เล็น
+เล่น
+เล่นกล
+เล่นกับไฟ
+เล่นขายของ
+เล่นคำ
+เล่นงาน
+เลนจง
+เล่นชู้
+เล่นตลก
+เล่นตัว
+เล่นเบี้ย
+เล่นพวก
+เล่นพิเรนทร์
+เล่นเพลงยาว
+เล่นเพื่อน
+เล่นแร่แปรธาตุ
+เล่นลิ้น
+เลนส์
+เลนส์ตีบแสง
+เลนส์ถ่างแสง
+เลนส์นูน
+เล่นสวาท
+เลนส์เว้า
+เลนส์สัมผัส
+เล่นสำนวน
+เลนหะรี
+เล่นหัว
+เล่นหาง
+เล่นหูเล่นตา
+เล่นเอาเถิดเจ้าล่อ
+เล็บ
+เล็บครุฑ
+เล็บควาย
+เลบง
+เล็บนาง
+เล็บมือนาง
+เล็บเหยี่ยว
+เลป-
+เลปกร
+เลปน์
+เลเป
+เลเพ
+เลเพลาดพาด
+เล็ม
+เล่ม
+เล็มล่า
+เลย
+เลยตามเลย
+เลยเถิด
+เลว
+เลวง
+เลวูโลส
+เลศ
+เลษฏุ
+เลห
+เล่ห์
+เล่ห์กระเท่ห์
+เลหยะ
+เลหลัง
+เลหลา
+เล่ห์เหลี่ยม
+เลหะ
+เลอ
+เล่อ
+เลอมาน
+เล่อล่า
+เลอะ
+เลอะเทอะ
+เละ
+เละเทะ
+เลา
+เลาๆ
+เล่า
+เล้า
+เลากัย
+เล่าเรียน
+เล่าลือ
+เล้าโลม
+เลาะ
+เลิก
+เลิกล้ม
+เลิ่กลั่ก
+เลิ้ง
+เลินเล่อ
+เลิศ
+เลีย
+เลียง
+เลี่ยง
+เลี้ยง
+เลียงขาว
+เลี้ยงแขก
+เลี้ยงช้างกินขี้ช้าง
+เลี้ยงดู
+เลี้ยงต้อย
+เลี้ยงโต๊ะ
+เลี้ยงปากเลี้ยงท้อง
+เลียงผา
+เลียงฝ้าย
+เลียงมัน
+เลี้ยงรับ
+เลี้ยงลา
+เลี้ยงลูกเสือลูกจระเข้
+เลี้ยงส่ง
+เลียน
+เลี่ยน
+เลียนไฟ
+เลียบ
+เลียบค่าย
+เลียบเคียง
+เลียบเมือง
+เลียม
+เลี่ยม
+เลียว
+เลี้ยว
+เลี้ยวลด
+เลือก
+เลือกตั้ง
+เลือกที่รักมักที่ชัง
+เลือกนักมักได้แร่
+เลือกสรร
+เลือง
+เลื่อง
+เลื่องลือ
+เลือด
+เลือดขึ้นหน้า
+เลือดเข้าตา
+เลือดเนื้อ
+เลือดเนื้อเชื้อไข
+เลือดในอก
+เลือดฝาด
+เลือดไม้
+เลือดเย็น
+เลือดร้อน
+เลือดล้างหน้า
+เลือดอุ่น
+เลือน
+เลื่อน
+เลื่อนที่
+เลื่อนเปื้อน
+เลื่อนลอย
+เลื่อม
+เลื่อมใส
+เลื่อย
+เลื้อย
+เลื้อยคลาน
+เลื้อยเจื้อย
+เลื่อยล้า
+แล
+แล่
+แล้
+แลก
+แล็กโทส
+แลกเปลี่ยน
+แลง
+แล่ง
+แล้ง
+แลงกินฟัน
+แล่งพระราม
+แลน
+แล่น
+แลนทานัม
+แลบ
+แล้ว
+แล้วกัน
+แล้วด้วย
+แล้วแต่
+แล้วไป
+แล้ว...เล่า
+แล้วๆ เล่าๆ
+และ
+และเล็ม
+และเลียม
+โล่
+โล้
+โลก
+โลก-
+โลกเชษฐ์
+โลกธรรม
+โลกธาดา
+โลกธาตุ
+โลกนาถ
+โลกบาล
+โลกย์
+โลกยะ
+โลกวัชชะ
+โลกวิทู
+โลกสถิติ
+โลกอุดร
+โลกัตถจริยา
+โลกันตร์
+โลกัย
+โลกา
+โลกาธิบดี
+โลกาธิปไตย
+โลกานุวัตร
+โลกาภิวัตน์
+โลกามิส
+โลกายัต
+โลกาวินาศ
+โลกิยะ
+โลกีย์
+โลกียวัตร
+โลกุตรธรรม
+โลกุตระ
+โลเกศ
+โลง
+โล่ง
+โล้ง
+โล้งโต้ง
+โล่งโถง
+โลจนะ
+โลณะ
+โลด
+โลดเต้น
+โลดทะนง
+โลดโผน
+โลดแล่น
+โล่ติ๊น
+โลโต
+โลท
+โลน
+โล้น
+โลปะ
+โลภ
+โลภโมโทสัน
+โลม
+โลมชาติ
+โลมเล้า
+โลมะ
+โลมา
+โลล
+โลลุป
+โลเล
+โล้เล้
+โลโล
+โลโล้
+โลห-
+โลหกุมภี
+โลหะ
+โลหะเจือ
+โลหัช
+โลหิต
+ไล่
+ไล้
+ไล่ช้าง
+ไล่ที่ทำวัง
+ไล่น้ำ
+ไล่เบี้ย
+ไลย
+ไลลา
+ไล่ลูกฆ้อง
+ไลเลย
+ไล่เลี่ย
+ไล่เลียง
+ไลไล้
+ไล่ออก
+ฦ
+ฦๅ
+ฦๅชา
+ฦๅสาย
+ว
+วก
+วกะ
+วกุล
+วง
+วงก์
+วงกต
+วงกบ
+วงกลม
+วงการ
+วงเงิน
+วงจร
+วงจรปิด
+วงจรเปิด
+วงเดือน
+วงนอก
+วงใน
+วงพาด
+วงรี
+วงเล็บ
+วงวัง
+วงเวียน
+วงศ-
+วงศ์
+วงศกร
+วงศ์วาน
+วงศา
+วงศาคณาญาติ
+วงษ์
+วงแหวน
+วจนะ
+วจะ
+วจา
+วจี
+วจีกรรม
+วจีเภท
+วชะ
+วชิร-
+วชิรปาณี
+วชิรหัตถ์
+วชิระ
+วชิราวุธ
+วฏะ
+วฏาการ
+วฏุมะ
+วณ-
+วณบัตร
+วณพันธน์
+วณะ
+วณิช
+วณิชชา
+วณิชชากร
+วณิชย์
+วณิชยา
+วณิพก
+วดี
+วต-
+วตะ
+วทนะ
+วทะ
+วทัญญุตา
+วทัญญู
+วทานิย-
+วธ-
+วธก-
+วธุกา
+วธู
+วน
+วนจร
+วนจรก
+วนภู
+วนภูมิ
+วนเวียน
+วนศาสตร์
+วนสณฑ์
+วนสัณฑ์
+วนอุทยาน
+วนัปติ
+วนัส
+วนัส-
+วนัสบดี
+วนา
+วนาดอน
+วนานต์
+วนาลัย
+วนาลี
+วนาวาส
+วนาศรม
+วนาสณฑ์
+วนาสัณฑ์
+วนิดา
+วนิพก
+วเนจร
+วโนทยาน
+วปนะ
+วปุ
+วยัคฆ์
+วยัญชนะ
+วยัมหะ
+วยัสย์
+วยากรณ์
+วยาฆร์
+วยาธิ
+วยาม
+วยายาม
+วร-
+วรงค์
+วรณะ
+วรดนู
+วรท
+วรทาน
+วรมหาวิหาร
+วรรค
+วรรคย์
+วรรช
+วรรชย์
+วรรณ-
+วรรณกรรม
+วรรณคดี
+วรรณนา
+วรรณพฤติ
+วรรณยุกต์
+วรรณยุต
+วรรณศิลป์
+วรรณะ
+วรรณึก
+วรรธก
+วรรธนะ
+วรรษ
+วรรษา
+วรวิหาร
+วรัญญู
+วรากะ
+วรางคณา
+วราห์
+วราหะ
+วรุณ
+วรุตดม
+วรุตมะ
+วรูถ
+วโรดม
+วโรตมะ
+วฤก
+วฤษภ
+วฤษล
+วลัช
+วลัญช์
+วลัญชน์
+วลัย
+วลาหก
+วลี
+วศค
+วศะ
+วศิน
+วสนะ
+วสภะ
+วสละ
+วสลี
+วสวัดดี
+วสวัตตี
+วสะ
+วสันต-
+วสันต์
+วสันตดิลก
+วสันตวิษุวัต
+วสา
+วสี
+วสุ
+วสุธา
+วสุนธรา
+วสุมดี
+วหะ
+วหา
+วอ
+วอก
+วอกแวก
+ว่อง
+ว่องไว
+วอด
+วอดวาย
+วอน
+ว่อน
+วอลเลย์บอล
+วอแว
+วะ
+วัก
+วักกะ
+วัค
+วัคคิย
+วัคคีย์
+วัคคุ
+วัคคุวัท
+วัคซีน
+วัง
+วังก์
+วังชา
+วังช้าง
+วังวน
+วังเวง
+วังศะ
+วังสะ
+วังหน้า
+วังหลวง
+วังหลัง
+วัจ-
+วัจกุฎี
+วัจจะ
+วัจฉ์
+วัจฉก
+วัจฉละ
+วัจน์
+วัจมรรค
+วัช
+วัช-
+วัชชะ
+วัชฌ์
+วัชพืช
+วัชร-
+วัชรธาตุมณฑล
+วัชรปาณี
+วัชรยาน
+วัชรอาสน์
+วัชระ
+วัชราสน์
+วัชรินทร์
+วัชรี
+วัชเรนทร์
+วัญจก
+วัญจนะ
+วัญฌ์
+วัฏ-
+วัฏกะ
+วัฏจักร
+วัฏฏะ
+วัฏฏิ
+วัฏทุกข์
+วัฏสงสาร
+วัฒกะ
+วัฒกี
+วัฒน-
+วัฒนธรรม
+วัฒนะ
+วัฒนา
+วัณ
+วัณ-
+วัณฏ์
+วัณณะ
+วัณนา
+วัณโรค
+วัด
+วัดแดด
+วัดผล
+วัดพื้น
+วัดรอยตีน
+วัดรอยเท้า
+วัดราษฎร์
+วัดวา
+วัดวาอาราม
+วัดหลวง
+วัดเหวี่ยง
+วัต
+วัตต์
+วัตตา
+วัตถ์
+วัตถาภรณ์
+วัตถาลังการ
+วัตถุ
+วัตถุดิบ
+วัตถุนิยม
+วัตถุวิสัย
+วัตนะ
+วัตร
+วัตร-
+วัตรปฏิบัติ
+วัตสดร
+วัตสะ
+วัติ
+วัทน์
+วัน
+วันโกน
+วันแข็ง
+วันครู
+วันจม
+วันดับ
+วันดีคืนดี
+วันต์
+วันตัว
+วันเถลิงศก
+วันทน-
+วันทนา
+วันทนาการ
+วันทนีย์
+วันทย-
+วันทยหัตถ์
+วันทยาวุธ
+วันทา
+วันทิ
+วันนิพก
+วันเนา
+วันพระ
+วันพระไม่มีหนเดียว
+วันเพ็ญ
+วันฟู
+วันยังค่ำ
+วันลอย
+วันแล้ววันเล่า
+วันสุกดิบ
+วันอุโบสถ
+วับ
+วับๆ
+วับวาบ
+วับวาม
+วับแวบ
+วับแวม
+วับๆ หวำๆ
+วัปปะ
+วัมมิก
+วัย
+วัย-
+วัยรุ่น
+วัยวุฒิ
+วัลก์
+วัลคุ
+วัลย์
+วัลลภ
+วัลลี
+วัว
+วัวใครเข้าคอกคนนั้น
+วัวตัวผู้
+วัวตัวเมีย
+วัวทะเล
+วัวพันหลัก
+วัวลืมตีน
+วัวสันหลังหวะ
+วัวหายล้อมคอก
+วัส-
+วัสคณนา
+วัสดุ
+วัสตร์
+วัสน์
+วัสนะ
+วัสสะ
+วัสสานะ
+วัสโสทก
+วา
+ว่า
+ว้า
+วาก
+ว้าก
+วากจิรพัสตร์
+วากย-
+วากยสัมพันธ์
+วากยะ
+วากรา
+ว่ากล่าว
+วากะ
+ว่าการ
+ว่าขาน
+ว่าความ
+วาง
+ว่าง
+ว้าง
+วางก้าม
+วางข้อ
+วางไข่
+ว่างงาน
+วางเงิน
+วางใจ
+วางตลาด
+วางตัว
+วางตา
+วางโต
+วางท่า
+วางปุ่ม
+วางเพลิง
+วางมวย
+วางมาด
+วางมือ
+วางยา
+วางวาย
+ว่างเว้น
+ว้างเวิ้ง
+วางอำนาจ
+ว่าง่าย
+วาจก
+วาจา
+ว่าจ้าง
+วาจาไปยะ
+วาจาล
+วาชเปยะ
+วาฏกะ
+วาณิช
+วาณิชกะ
+วาณิชย์
+วาณี
+วาด
+วาดเขียน
+วาต-
+วาตปานะ
+วาตภัย
+วาตะ
+ว่าต่าง
+วาตารางเหลี่ยม
+ว่าแต่เขาอิเหนาเป็นเอง
+วาท
+วาท-
+วาทก
+วาทน
+วาทย-
+วาทย์
+วาทยกร
+วาทศาสตร์
+วาทศิลป์
+วาทิต
+วาทิน
+วาที
+ว่าที่
+วาน
+ว่าน
+ว่านกีบม้า
+ว่านกีบแรด
+ว่านเครือ
+วานซืน
+ว่านธรณีสาร
+ว่านนางกวัก
+ว่านนางล้อม
+ว่านน้ำ
+ว่านเพชรหึง
+ว่านมหาเมฆ
+ว่านมีดยับ
+วานร
+วานรินทร์
+ว่านเสน่ห์จันทร์ขาว
+ว่านเสน่ห์จันทร์แดง
+ว่านหางช้าง
+ว่านอนสอนง่าย
+วาเนเดียม
+วาบ
+วาบหวาม
+วาปะ
+วาปิตะ
+วาปี
+วาม
+วามน-
+วามนาวตาร
+วามแวม
+วามะ
+วามาจาร
+วาโมร
+ว่าไม่ได้
+วาย
+ว่าย
+ว้าย
+วายชนม์
+วายชีวิต
+ว่ายตา
+ว่ายน้ำหาจระเข้
+วายปราณ
+วายร้าย
+วายวอด
+วายสะ
+วายสังขาร
+วายะ
+ว่ายาก
+วายามะ
+วายุ
+วายุกูล
+วายุบุตรยาตรา
+วายุภักษ์
+วาโย
+วาโยธาตุ
+วาร
+วารณ-
+วารณกร
+วารวาริ
+วารสาร
+วารสารศาสตร์
+วาระ
+วาริ
+วาริจร
+วาริช
+วาริท
+วาริธร
+วาริพินทุ
+วารี
+วารีช
+วารุณ
+วารุณี
+วาล
+วาล-
+วาลกัมพล
+วาลธิ
+วาล์ว
+วาลวีชนี
+วาลิกา
+วาลุกา
+วาว
+ว่าว
+ว่าวติดลม
+วาววับ
+วาววาม
+วาวแวว
+ว่าวเหลิง
+ว่าวอน
+ว้าว่อน
+ว้าวุ่น
+วาสนะ
+วาสนา
+วาสพ
+วาสะ
+ว่าสาดเสียเทเสีย
+วาสิน
+วาสี
+วาสุกรี
+วาสุกี
+วาสุเทพ
+วาหนะ
+วาหะ
+วาหินี
+ว้าเหว่
+วาฬ
+วาฬ-
+วาฬมิค
+วิ
+วิกขัมภ์
+วิกขัมภนะ
+วิกเขป
+วิกจะ
+วิกรม
+วิกรัย
+วิกรานต์
+วิกฤต
+วิกฤต-
+วิกฤตการณ์
+วิกฤตกาล
+วิกฤติ
+วิกฤติ-
+วิกฤติการณ์
+วิกฤติกาล
+วิกล
+วิกลจริต
+วิกสิต
+วิกัต
+วิกัติ
+วิกัติการก
+วิกัป
+วิกัย
+วิการ
+วิกาล
+วิกาล-
+วิกาลโภชน์
+วิคหะ
+วิเคราะห์
+วิฆนะ
+วิฆเนศ
+วิฆเนศวร
+วิฆาต
+วิฆาส
+วิง
+วิ่ง
+วิ่งกระโดดข้ามรั้ว
+วิ่งข้ามรั้ว
+วิ่งงัว
+วิ่งเต้น
+วิ่งเปี้ยว
+วิ่งผลัด
+วิ่งม้า
+วิ่งรอก
+วิ่งระแบง
+วิ่งราว
+วิงวอน
+วิ่งวัว
+วิ่งว่าว
+วิ่งวิบาก
+วิงเวียน
+วิ่งสามขา
+วิจฉิกะ
+วิจยุต
+วิจรณะ
+วิจล
+วิจักขณ์
+วิจักษณ์
+วิจัย
+วิจาร
+วิจารณ-
+วิจารณ์
+วิจารณญาณ
+วิจิ
+วิจิกิจฉา
+วิจิต
+วิจิตร
+วิจิตรพิสดาร
+วิจิน
+วิจุณ
+วิจุรณ
+วิชชา
+วิชชุ
+วิชชุดา
+วิชชุตา
+วิชชุลดา
+วิชญะ
+วิชน
+วิชนี
+วิชย-
+วิชัย
+วิชา
+วิชาการ
+วิชาชีพ
+วิชาโท
+วิชาธร
+วิชานนะ
+วิชาเอก
+วิชิต
+วิเชียร
+วิญญัตติ
+วิญญาณ
+วิญญาณกทรัพย์
+วิญญู
+วิญญูชน
+วิญญูภาพ
+วิฑูรย์
+วิณหุ
+วิด
+วิดพื้น
+วิดัสดี
+วิตก
+วิตก-
+วิตกจริต
+วิตถาร
+วิตามิน
+วิถี
+วิทธะ
+วิทย-
+วิทยฐานะ
+วิทยา
+วิทยากร
+วิทยากล
+วิทยาเขต
+วิทยาคม
+วิทยาคาร
+วิทยาทาน
+วิทยาธร
+วิทยานิพนธ์
+วิทยาลัย
+วิทยาศาสตร์
+วิทยาศาสตร์กายภาพ
+วิทยาศาสตร์ชีวภาพ
+วิทยาศาสตร์เทคโนโลยีและสิ่งแวดล้อม
+วิทยาศาสตร์ประยุกต์
+วิทยุ
+วิทยุต
+วิทรุมะ
+วิทวัส
+วิทัตถิ
+วิทารณ์
+วิทาลน์
+วิทิต
+วิทู
+วิทูร
+วิเทวษ
+วิเทศ
+วิเทศสัมพันธ์
+วิเทโศบาย
+วิธ
+วิธวา
+วิธา
+วิธาน
+วิธี
+วิธุระ
+วิธู
+วิธูปนะ
+วิ่น
+วินย-
+วินันตู
+วินัย
+วินัยธร
+วินาที
+วินายก
+วินาศ
+วินาศ-
+วินาศกรรม
+วินาศภัย
+วินิจ
+วินิจฉัย
+วินิต
+วินิบาต
+วินิปาติก
+วิเนต
+วิโนทก
+วิบัติ
+วิบาก
+วิบุล
+วิบุลย์
+วิบูล
+วิบูลย์
+วิปการ
+วิปฏิสาร
+วิปโยค
+วิประการ
+วิประติสาร
+วิประโยค
+วิประลาป
+วิประวาส
+วิปริต
+วิปลาป
+วิปลาส
+วิปวาส
+วิปักษ์
+วิปัสสก
+วิปัสสนา
+วิพากษ์
+วิพากษ์วิจารณ์
+วิพิธทัศนา
+วิพุธ
+วิภว-
+วิภวตัณหา
+วิภังค์
+วิภัช
+วิภัช-
+วิภัชพยากรณ์
+วิภัชวาที
+วิภัตติ
+วิภา
+วิภาค
+วิภาช
+วิภาดา
+วิภาวี
+วิภาษ
+วิภาส
+วิภู
+วิภูษณะ
+วิภูษา
+วิภูษิต
+วิเภตก์
+วิเภทก์
+วิมน
+วิมล
+วิมลัก
+วิมลาก
+วิมังสา
+วิมัติ
+วิมาน
+วิมุข
+วิมุต
+วิมุตติ
+วิเมลือง
+วิโมกข์
+วิเยน
+วิโยค
+วิร-
+วิรงรอง
+วิรตะ
+วิรมณะ
+วิรวะ
+วิระ
+วิรังรอง
+วิรัช
+วิรัต
+วิรัติ
+วิราคะ
+วิราม
+วิราวะ
+วิริยภาพ
+วิริยะ
+วิรุธ
+วิรุฬห์
+วิรุฬหก
+วิรูป
+วิรูปักษ์
+วิเรนทร์
+วิโรค
+วิโรจ
+วิโรจน์
+วิโรฒ
+วิโรธ
+วิโรธน์
+วิลย-
+วิลันดา
+วิลัย
+วิลาด
+วิลาป
+วิลาวัณย์
+วิลาศ
+วิลาส
+วิลาสินี
+วิลิปดา
+วิเลป
+วิเลป-
+วิเลปนะ
+วิโลก
+วิโลกนะ
+วิโลจนะ
+วิโลม
+วิไล
+วิไลวรรณ
+วิวรณ์
+วิวรรธน์
+วิวระ
+วิวัฏ
+วิวัฒน-
+วิวัฒน์
+วิวัฒนาการ
+วิวัน
+วิวาท
+วิวาห-
+วิวาห์
+วิวาหะ
+วิวิจ
+วิวิต
+วิวิธ
+วิเวก
+วิศรุต
+วิศว-
+วิศวกร
+วิศวกรรม
+วิศวกรรมศาสตร์
+วิศัลย์
+วิศาข-
+วิศาขบูชา
+วิศาขะ
+วิศาขา
+วิศางค์
+วิศาล
+วิศิษฏ์
+วิศุทธ์
+วิศุทธิ์
+วิเศษ
+วิเศษณ-
+วิเศษณ์
+วิเศษณการก
+วิษณุ
+วิษณุกรรม
+วิษณุโลก
+วิษณุเวท
+วิษธร
+วิษักต์
+วิษัย
+วิษาณ
+วิษุวัต
+วิสกี้
+วิสม-
+วิสย-
+วิสรรชนีย์
+วิสฤต
+วิสสุกรรม
+วิสัชนา
+วิสัญญี
+วิสัญญีแพทย์
+วิสัญญีวิทยา
+วิสัย
+วิสาข-
+วิสาขบูชา
+วิสาขะ
+วิสาขา
+วิสามัญ
+วิสามัญฆาตกรรม
+วิสามานยนาม
+วิสาร
+วิสารท
+วิสาล
+วิสาสะ
+วิสาหกิจ
+วิสิฐ
+วิสุงคามสีมา
+วิสุทธ์
+วิสุทธิ์
+วิสูตร
+วิเสท
+วิหค
+วิหงค์
+วิหลั่น
+วิหายสะ
+วิหาร
+วิหาร-
+วิหารแกลบ
+วิหารคด
+วิหารทิศ
+วิหารธรรม
+วิหารยอด
+วิหารหลวง
+วิหิงสะ
+วิหิงสา
+วิเหสา
+วิฬังค์
+วิฬาร
+วิฬาร์
+วี
+วีจิ
+วีชนี
+วีณา
+วี้ด
+วีต-
+วีร-
+วีรกรรม
+วีรชน
+วีรบุรุษ
+วีรสตรี
+วี่วัน
+วี่แวว
+วีสะ
+วุ้ง
+วุฐิ
+วุฒ
+วุฒิ
+วุฒิ-
+วุฒิบัตร
+วุฒิสภา
+วุฒิสมาชิก
+วุด
+วุ่น
+วุ้น
+วุ้นชา
+วุ่นเป็นจุลกฐิน
+วุ่นวาย
+วุ้นเส้น
+วุบ
+วุ้ย
+วุลแฟรม
+วู้
+วูดวาด
+วูบ
+วูบวาบ
+วู่วาม
+เว้
+เวค
+เวคิน
+เวคี
+เวจ
+เวจ-
+เวจกุฎี
+เวจมรรค
+เวช
+เวช-
+เวชกรรม
+เวชภัณฑ์
+เวชยันต์
+เวชศาสตร์
+เวฐน์
+เวณะ
+เวณิ
+เวณิก
+เวณุ
+เวณุวัน
+เวตน์
+เวตร
+เวตาล
+เวท
+เวท-
+เวทคู
+เวทนา
+เวทมนตร์
+เวทย์
+เวทางค์
+เวทางคศาสตร์
+เวทานต์
+เวทานตะ
+เวทิ
+เวที
+เวธะ
+เวน
+เว้น
+เวนคืนอสังหาริมทรัพย์
+เว้นแต่
+เวนไตย
+เวไนย
+เวมะ
+เวมัต
+เวมัติก-
+เวมาติก
+เว้ย
+เวร
+เวรมณี
+เวรี
+เวโรจน์
+เวลา
+เวเลนซี
+เววัณ
+เววัณณิยะ
+เวศม์
+เวศย์
+เวศยา
+เวสน์
+เวสภู
+เวสม์
+เวสมะ
+เวสวัณ
+เวสสะ
+เวสสันดร
+เวสสุกรรม
+เวสสุวัณ
+เวสารัช
+เวสิ
+เวสิยา
+เวหน
+เวหะ
+เวหังค์
+เวหัปติ
+เวหา
+เวหายส
+เวหาส
+เวฬุ
+เวฬุการ
+เวฬุริย
+เวฬุวัน
+เว่อ
+เว้า
+เว้าวอน
+เวิก
+เวิ้ง
+เวิ้งว้าง
+เวี่ย
+เวียง
+เวียน
+เวียนเทียน
+เวียนหัว
+เวียร
+เวี่ยว
+แว้
+แวง
+แว้ง
+แว้งกัด
+แวด
+แวดล้อม
+แวดวง
+แวตร
+แวน
+แว่น
+แว่นขยาย
+แวนดา
+แว่นตา
+แว่นฟ้า
+แว่นไว
+แวบ
+แวบๆ
+แวบวับ
+แวม
+แวว
+แว่ว
+แวววาม
+แวววาว
+แวววิเชียร
+แวะ
+โว
+โว่
+โวการ
+โว่ง
+โวทาน
+โว้ย
+โวยวาย
+โว้เว้
+โวสาน
+โวหาร
+ไว
+ไว้
+ไวกูณฐ์
+ไว้ใจ
+ไวฑูรย์
+ไว้ตัว
+ไวทย์
+ไว้ทุกข์
+ไว้ธุระ
+ไว้เนื้อเชื่อใจ
+ไวพจน์
+ไวไฟ
+ไว้ยศ
+ไวยากรณ์
+ไวยาวัจกร
+ไวยาวัจมัย
+ไว้ลาย
+ไววรรณ
+ไวษณพ
+ไว้หน้า
+ไว้อาลัย
+ไวโอลิน
+ศ
+ศก
+ศกฏ
+ศกล
+ศกุน
+ศกุนต์
+ศกุนิ
+ศกุนี
+ศงกา
+ศจี
+ศฐ
+ศดก
+ศต
+ศต-
+ศตก
+ศตบาท
+ศตปที
+ศตพรรษ
+ศตภิษัช
+ศตวรรษ
+ศตสังวัตสร์
+ศตัฆนี
+ศนิ
+ศนิวาร
+ศพ
+ศพล
+ศม
+ศมน
+ศย
+ศยนะ
+ศยาม
+ศยามล
+ศร
+ศรนารายณ์
+ศรภ
+ศรมณะ
+ศรรกรา
+ศรวณะ
+ศรวณีย์
+ศรวิษฐา
+ศรศิลป์ไม่กินกัน
+ศระวณ
+ศรัณย์
+ศรัณยู
+ศรัถนะ
+ศรัท
+ศรัทธา
+ศรัย
+ศราทธ-
+ศราทธ์
+ศราทธพรต
+ศราพ
+ศราพก
+ศรายุธ
+ศราวก
+ศราวณะ
+ศราวรณ์
+ศราสน์
+ศรี
+ศรีตรัง
+ศรีสังคีต
+ศรุต
+ศรุติ
+ศฤคาล
+ศฤงค์
+ศฤงคาร
+ศฤงคาริน
+ศฤงคารี
+ศลภ
+ศลัถ
+ศลิษฏ์
+ศลิษา
+ศว
+ศวศุร
+ศวัส
+ศวัสน
+ศวา
+ศวาน
+ศวาส
+ศศ-
+ศศธร
+ศศพินทุ์
+ศศลักษณ์
+ศศะ
+ศศิ
+ศศิกษัย
+ศศิขัณฑ์
+ศศิเคราะห์
+ศศิธร
+ศศิน
+ศศิมณฑล
+ศศิวิมล
+ศศี
+ศสา
+ศอ
+ศอก
+ศอกกลับ
+ศอกกำ
+ศอกกำมา
+ศอกคู้
+ศอกตูม
+ศักดา
+ศักดิ
+ศักดิ์
+ศักดินา
+ศักดิ์ศรี
+ศักดิ์สิทธิ์
+ศักติ
+ศักย-
+ศักย์
+ศักยภาพ
+ศักยะ
+ศักร-
+ศักรภพน์
+ศักราช
+ศักรินทร์
+ศักเรนทร์
+ศังกร
+ศังกา
+ศังกุ
+ศัตรู
+ศัทธนะ
+ศันสนะ
+ศันสนีย์
+ศัพท-
+ศัพท์
+ศัพทมูลวิทยา
+ศัยยา
+ศัล
+ศัลก
+ศัลกี
+ศัลย-
+ศัลยกรรม
+ศัลยแพทย์
+ศัลยศาสตร์
+ศัสดร
+ศัสตร-
+ศัสตรกรรม
+ศัสตรการ
+ศัสตรศาสตร์
+ศัสตรา
+ศัสย
+ศาก
+ศาก-
+ศากตะ
+ศากภักษ์
+ศากย-
+ศากยเกตุ
+ศากยพุทธ
+ศากยมุนี
+ศากยะ
+ศาฎก
+ศาฐยะ
+ศาณ
+ศาต
+ศานต-
+ศานต์
+ศานตรส
+ศานติ
+ศานติก-
+ศานติโหม
+ศาป
+ศาป-
+ศาปมุกติ์
+ศาปานต์
+ศาพร
+ศารท
+ศารทวิษุวัต
+ศารทูล
+ศาริกา
+ศาล
+ศาลกงสุล
+ศาลแขวง
+ศาลคดีเด็กและเยาวชน
+ศาลจังหวัด
+ศาลชั้นต้น
+ศาลฎีกา
+ศาลเตี้ย
+ศาลทหาร
+ศาลปกครอง
+ศาลโปริสภา
+ศาลเพียงตา
+ศาลแพ่ง
+ศาลยุติธรรม
+ศาลเยาวชนและครอบครัว
+ศาลโลก
+ศาลสถิตยุติธรรม
+ศาลสูง
+ศาลสูงสุด
+ศาลอาญา
+ศาลอุทธรณ์
+ศาลอุทธรณ์ภาค
+ศาลา
+ศาลาประชาคม
+ศาลาราย
+ศาลาสรง
+ศาศวัต
+ศาสก
+ศาสดา
+ศาสตร-
+ศาสตร์
+ศาสตรา
+ศาสตราจารย์
+ศาสน-
+ศาสน์
+ศาสนจักร
+ศาสนา
+ศาสนีย-
+ศาสนีย์
+ศาสนูปถัมภก
+ศิกษก
+ศิการ
+ศิขร
+ศิขริน
+ศิขรี
+ศิขัณฑ์
+ศิขา
+ศิคาล
+ศิงขร
+ศิงขริน
+ศิต
+ศิถี
+ศิพิระ
+ศิร-
+ศิรประภา
+ศิระ
+ศิรา
+ศิรามพุช
+ศิโรรัตน์
+ศิโรราบ
+ศิโรเวฐน์
+ศิลป-
+ศิลป์
+ศิลปกร
+ศิลปกรรม
+ศิลปการ
+ศิลปกิจ
+ศิลปวิทยา
+ศิลปศาสตร์
+ศิลปะ
+ศิลปิน
+ศิลปี
+ศิลา
+ศิลาฤกษ์
+ศิลาแลง
+ศิว-
+ศิวโมกข์
+ศิวลึงค์
+ศิวเวท
+ศิวะ
+ศิศีระ
+ศิศุ
+ศิษฎิ
+ศิษฏ์
+ศิษย์
+ศิษย์มีครู
+ศีขร
+ศีขริน
+ศีขรี
+ศีต-
+ศีตกาล
+ศีตล
+ศีรษะ
+ศีรษะกระบือ
+ศีรษะโค
+ศีรษะช้าง
+ศีรษะเนื้อ
+ศีล
+ศีลจุ่ม
+ศีลธรรม
+ศีลมหาสนิท
+ศีลล้างบาป
+ศีลวัต
+ศีลอด
+ศึก
+ศึกษา
+ศึกษาธิการ
+ศึกษานิเทศก์
+ศึกหน้านาง
+ศุกร-
+ศุกร์
+ศุกรวรรณ
+ศุกล-
+ศุกลปักษ์
+ศุกลัม
+ศุกะ
+ศุจิ
+ศุจิกรรม
+ศุทธ
+ศุทธิ
+ศุน
+ศุนัก
+ศุนิ
+ศุภ-
+ศุภกร
+ศุภเคราะห์
+ศุภนิมิต
+ศุภมัสดุ
+ศุภมาตรา
+ศุภมาส
+ศุภร-
+ศุภอักษร
+ศุภางค์
+ศุลก-
+ศุลกากร
+ศุลการักษ์
+ศุลี
+ศุษิร
+ศูกร
+ศูทร
+ศูนย-
+ศูนย์
+ศูนย์การค้า
+ศูนย์ชุมชน
+ศูนย์พ่าห์
+ศูนยภาพ
+ศูนย์เยาวชน
+ศูนยวาท
+ศูนย์สัมบูรณ์
+ศูนย์สูตร
+ศูล
+ศูลิน
+เศรณี
+เศรษฐ-
+เศรษฐ์
+เศรษฐกิจ
+เศรษฐศาสตร์
+เศรษฐี
+เศร้า
+เศร้าหมอง
+เศลษ
+เศวดงค์
+เศวดีภ
+เศวต
+เศวต-
+เศวตงค์
+เศวตฉัตร
+เศวตร
+เศวตัมพร
+เศวติภ
+เศวตีภ
+เศวเตภ
+เศวาล
+เศษ
+เศษเกิน
+เศษซ้อน
+เศษส่วน
+เศษสิบ
+เศาจ-
+เศาไจย
+เศาร์
+เศารยะ
+เศิก
+เศียร
+โศก
+โศก-
+โศกนาฏกรรม
+โศกศัลย์
+โศกา
+โศกาดูร
+โศกาลัย
+โศกี
+โศจนะ
+โศจนียะ
+โศจิ
+โศถะ
+โศธนะ
+โศผะ
+โศภ
+โศภน
+โศภา
+โศภิต
+โศภิน
+โศภิษฐ์
+โศภี
+โศรณิ
+โศรณี
+โศรดา
+โศรตร
+โศลก
+ไศล
+ไศล-
+ไศวะ
+ษ
+ษมา
+ษมายุมแปลง
+ษัฏ
+ษัฏกะ
+ษัฑ
+ษัณ
+ษัษ
+ษัษฏี
+ษัษฐ
+ษัษฐี
+โษฑศ
+โษฑศัน
+ส
+สก-
+สกฏ-
+สกฏภาร
+สกฏะ
+สกทาคามิผล
+สกทาคามิมรรค
+สกทาคามี
+สกนธ์
+สกปรก
+สกรณีย์
+สกรรจ์
+สกรรมกริยา
+สกล
+สกล-
+สกลมหาสังฆปริณายก
+สกลโลก
+สกวาที
+สกัด
+สกัดแคร่
+สกา
+สกาว
+สกิทาคามี
+สกี
+สกีน้ำ
+สกุณ
+สกุณา
+สกุณี
+สกุน
+สกุนต์
+สกุล
+สกุลรุนชาติ
+สเกต
+สเกตน้ำแข็ง
+สแกนเดียม
+สขะ
+สขา
+สขิ
+สง
+ส่ง
+สงกร
+สงกรานต์
+ส่งกลิ่น
+สงกา
+สงโกจ
+ส่งข่าว
+สงค์
+สงคร
+สงคราม
+สงครามกลางเมือง
+สงครามเย็น
+สงครามโลก
+สงเคราะห์
+สงฆ์
+ส่งดอก
+ส่งเดช
+ส่งตัว
+ส่งท้าย
+สงบ
+สงบเสงี่ยม
+ส่งภาษา
+ส่งลำ
+สงวน
+สงเษป
+ส่งสการ
+สงสัย
+สงสาร
+สงสาร-
+สงสารทุกข์
+สงสารวัฏ
+ส่งเสริม
+ส่งเสีย
+ส่งเสียง
+สงัด
+สง่า
+สฐ
+สณฑ์
+สด
+สดก
+สดคาว
+สดชื่น
+สดน
+สดมภ์
+สดๆ ร้อนๆ
+สดใส
+สดัน
+สดับ
+สดับตรับฟัง
+สดับปกรณ์
+สดำ
+สดี
+สดุดี
+สดูป
+สต
+สตก
+สตน
+สตภิสชะ
+สตมาหะ
+สตรอนเชียม
+สตริกนิน
+สตรี
+สตรีลิงค์
+สตรีลึงค์
+สตัน
+สตันย์
+สตัพธ์
+สตัฟฟ์
+สตัมภ์
+สตางค์
+สติ
+สติปัญญา
+สติปัฏฐาน
+สติวินัย
+สติสัมปชัญญะ
+สตี
+สตู
+สตูป
+สถน
+สถบดี
+สถล
+สถล-
+สถลทิน
+สถลบถ
+สถลมารค
+สถวิร-
+สถวีร-
+สถวีระ
+สถาน
+สถานการณ์
+สถานภาพ
+สถานะ
+สถานี
+สถาบก
+สถาบัน
+สถาปนา
+สถาปนิก
+สถาปนียพยากรณ์
+สถาปนียวาที
+สถาปัตยกรรม
+สถาปัตยกรรมศาสตร์
+สถาพร
+สถาล
+สถาวร
+สถิต
+สถิตยศาสตร์
+สถิติ
+สถิติศาสตร์
+สถิร-
+สถุล
+สถูป
+สทึง
+สทุม
+สธน
+สธุสะ
+สน
+ส้น
+สนใจ
+สนเดก
+สนตะพาย
+ส้นตีน
+สนทนา
+สนทรรศ
+สนทรรศน์
+สนทิศ
+สนเทศ
+สนเท่ห์
+สนธยา
+สนธิ
+สนธิสัญญา
+สนธิอลงกต
+สนนราคา
+สนแผง
+สนม
+สนมเอก
+สนวน
+สนหางสิงห์
+สนอง
+สนองไข
+สนองได
+สนองโอษฐ์
+สนอบ
+สนอม
+สนะ
+สนัด
+สนัดใจ
+สนั่น
+สนับ
+สนับแข้ง
+สนับงา
+สนับทึบ
+สนับนิ้วมือ
+สนับเพลา
+สนับมือ
+สนับสนุน
+สนาดก
+สนาน
+สนาบก
+สนาบัน
+สนาม
+สนามเพลาะ
+สนามหลวง
+สนายุ
+สนิก
+สนิท
+สนิทสนม
+สนิธ
+สนิม
+สนิมสร้อย
+สนุก
+สนุกเกอร์
+สนุกสนาน
+สนุข
+สนุต
+สนุ่น
+สบ
+สบง
+สบจ
+สบถ
+สบประมาท
+สบสังวาส
+สบเสีย
+สบัน
+สบาย
+สบู่
+สบู่เลือด
+สไบ
+สไบเฉียง
+สไบนาง
+สปริง
+สปาเกตตี
+สเปกตรัม
+สเปกโทรสโคป
+สไปริลลัม
+สพั้น
+สพาบ
+สภา
+สภากาชาด
+สภาค
+สภาจาร
+สภานายก
+สภาบดี
+สภาพ
+สภาพธรรม
+สภาว-
+สภาวการณ์
+สภาวะ
+สม
+ส้ม
+สมการ
+สมการเคมี
+ส้มกุ้ง
+สมคบ
+สมควร
+สมคะเน
+สมจร
+สมจริง
+สมจารี
+ส้มชื่น
+ส้มเช้า
+สมญา
+สมเญศ
+สมณ-
+สมณบริขาร
+สมณโวหาร
+สมณศักดิ์
+สมณสารูป
+สมณสาสน์
+สมณะ
+สมดุล
+สมเด็จ
+สมเด็จพระสังฆราช
+ส้มตำ
+สมถ-
+สมถยานิก
+สมถวิปัสสนา
+สมถะ
+สมทบ
+ส้มทับ
+สมนอก
+สมนัย
+สมนาคุณ
+สมน้ำสมเนื้อ
+สมน้ำหน้า
+สมใน
+สมบัติ
+สมบัตินักเลง
+สมบัติผู้ดี
+สมบุกสมบัน
+สมบุญ
+สมบูรณ์
+สมบูรณาญาสิทธิราชย์
+สมประกอบ
+สมประดี
+สมปฤดี
+สมปฤๅดี
+ส้มป่อย
+สมปัก
+สมผุส
+ส้มแผ่น
+สมพง
+สมพงศ์
+สมพรปาก
+สมพล
+สมพัตสร
+สมพาส
+สมเพช
+สมโพธน์
+สมโพธิ
+ส้มฟัก
+สมภพ
+สมภาร
+สมโภค
+สมโภช
+สมมต
+สมมติ
+สมมติ-
+สมมติฐาน
+ส้มมะขาม
+สมมาตร
+ส้มมือ
+สมมุติ
+สมมุติ-
+สมมุติฐาน
+สมมูล
+สมมูลเคมี
+สมโมท
+สมยอม
+สมโยค
+สมร
+สมร-
+สมรด
+สมรภูมิ
+สมรรถ
+สมรรถ-
+สมรรถนะ
+สมรรถภาพ
+สมรส
+สมรู้
+สมฤดี
+สมฤติ
+สมฤๅดี
+ส้มลิ้ม
+สมวัย
+สมวายะ
+สมสัก
+ส้มสันดาน
+สมสู่
+สมเสร็จ
+ส้มเสี้ยว
+สมหน้าสมตา
+สมเหตุสมผล
+สมอ
+สมอกานน
+สมอง
+สมองตาย
+สมองฝ่อ
+สมอจีน
+สมอทะเล
+สมอสำเภา
+สมอ้าง
+สมัค
+สมัคร
+สมัครพรรคพวก
+สมัครสมา
+สมัครสมาน
+สมังคี
+สมัช
+สมัชชา
+สมัญญา
+สมัต
+สมัน
+สมันต์
+สมัย
+สมัยเก่า
+สมัยใหม่
+สมา
+สมาคม
+สมาจาร
+สมาชิก
+สมาทาน
+สมาธิ
+สมาน-
+สมานคติ
+สมานฉันท์
+สมานสังวาส
+สมาบัติ
+สมาพันธรัฐ
+สมาส
+สม่ำเสมอ
+สมิง
+สมิงทอง
+สมิงพราย
+สมิงมิ่งชาย
+สมิต
+สมิติ
+สมิทธ์
+สมิทธิ
+สมี
+สมีป
+สมีร
+สมุก
+สมุจจัย
+สมุจเฉท
+สมุจเฉท-
+สมุจเฉทปหาน
+สมุฏฐาน
+สมุด
+สมุดไทย
+สมุดปูมเดินทาง
+สมุตถาน
+สมุทร
+สมุทร-
+สมุทรโคดม
+สมุทรโจร
+สมุทรศาสตร์
+สมุทรเสนา
+สมุทัย
+สมุน
+สมุนไพร
+สมุลแว้ง
+สมุห-
+สมุห์
+สมุหกลาโหม
+สมุหเทศาภิบาล
+สมุหนาม
+สมุหนายก
+สมุหประธาน
+สมุหพระกลาโหม
+สโมธาน
+สโมสร
+สโมสรสันนิบาต
+สยด
+สยดสยอง
+สยดแสยง
+สยนะ
+สยบ
+สยมพร
+สยมภู
+สยอง
+สยอน
+สยัมพร
+สยัมวรา
+สยาม
+สยาม-
+สยามรัฐ
+สยาย
+สยิว
+สยิ้ว
+สยุ่น
+สยุมพร
+สยุมภู
+สร
+สรก
+สรง
+สร่ง
+สรฏะ
+สรณ-
+สรณคมน์
+สรณตรัย
+สรณะ
+สรณาคมน์
+สรดัก
+สรดึ่น
+สรดื่น
+สรตะ
+สรตัก
+สรทะ
+สรทึง
+สรแทบ
+สรนุก
+สรเนาะ
+สรไน
+สรบ
+สรบบ
+สรบับ
+สรพ
+สรเพชญ
+สรภะ
+สรภัญญะ
+สรภู
+สรม
+สรร
+สรรค์
+สรรพ
+สรรพ-
+สรรพคราส
+สรรพคุณ
+สรรพนาม
+สรรพสามิต
+สรรพัชญ
+สรรพากร
+สรรพางค์
+สรรเพชญ
+สรรเพชุดา
+สรรเพชุดาญาณ
+สรรวง
+สรรเสริญ
+สรรแสร้ง
+สรลน
+สรลม
+สรลมสลวน
+สรลอด
+สรลอน
+สรละ
+สรล้าย
+สรลิด
+สรเลข
+สรวง
+สรวงเส
+สรวป
+สรวม
+สรวมชีพ
+สรวล
+สรวลเส
+สรวลเสเฮฮา
+สรเสริญ
+สร้อย
+สร้อยทอง
+สร้อยทะแย
+สร้อยนกเขา
+สร้อยน้ำผึ้ง
+สร้อยระย้า
+สร้อยเศร้า
+สร้อยสน
+สร้อยอ่อน
+สร้อยอินทนิล
+สระ
+สระกอ
+สระคราญ
+สระดะ
+สระท้อน
+สระพรั่ง
+สระอาด
+สระอื้น
+สรั่ง
+สรัสวดี
+สร่าง
+สร้าง
+สร้างวิมานในอากาศ
+สร้างสรรค์
+สราญ
+สร้าวเสียว
+สริต
+สรี้
+สรีร-
+สรีรกิจ
+สรีรธาตุ
+สรีรวิทยา
+สรีรศาสตร์
+สรีระ
+สรีรังคาร
+สรีรางคาร
+สรีสฤบ
+สรุก
+สรุกเกรา
+สรุง
+สรุโนก
+สรุป
+สรุสระ
+สรูป
+สโรช
+สฤก
+สฤคาล
+สฤต
+สฤษฎี
+สฤษฏ์
+สล
+สลด
+สลบ
+สลบไสล
+สลบเหมือด
+สลวน
+สลวย
+สลอด
+สลอน
+สลอย
+สละ
+สละสลวย
+สลัก
+สลักเกลียว
+สลักเต้
+สลักเพชร
+สลักสำคัญ
+สลักเสลา
+สลักหลัง
+สลัด
+สลัดได
+สลับ
+สลับฉาก
+สลัว
+สลา
+สลาก
+สลากกินแบ่ง
+สลากกินรวบ
+สลากภัต
+สลาง
+สล้าง
+สลาด
+สลาตัน
+สลาบ
+สลาย
+สลาเหิน
+สลิด
+สลิล
+สลึก
+สลึง
+สลุต
+สลุบ
+สลุมพร
+สแลง
+สว-
+สวก
+สวกรรม
+สวการย์
+ส้วง
+สวด
+สวน
+ส่วน
+ส่วนกลาง
+สวนควัน
+สวนความ
+ส่วนได้ส่วนเสีย
+ส่วนตัว
+ส่วนท้องถิ่น
+สวนแทง
+ส่วนประกอบ
+สวนปากสวนคำ
+ส่วนผสม
+ส่วนภูมิภาค
+ส่วนรวม
+ส่วนลด
+สวนสนาม
+ส่วนสัด
+ส่วนหน้า
+ส่วนหลัง
+สวนะ
+สวนาการ
+สวนิต
+สวนีย-
+สวบ
+สวภาพ
+สวม
+ส้วม
+สวมกอด
+สวมรอย
+สวมหัวโขน
+สวย
+ส่วย
+ส้วย
+สวยแต่รูป จูบไม่หอม
+สวยม
+สวยมพร
+สวยมภู
+ส้วยเสี้ยว
+สวร
+สวรรค-
+สวรรค์
+สวรรคต
+สวรรคบดี
+สวรรค์อยู่ในอก นรกอยู่ในใจ
+สวรรคาลัย
+สวรรยา
+สวราชย์
+สวะ
+สวัสดิ์
+สวัสดิการ
+สวัสดี
+สวัสติ
+สวัสติกะ
+สวา
+สวาคต
+สวาง
+สว่าง
+สว่างไสว
+สวาด
+สวาดิ
+สวาตี
+สวาท
+สว่าน
+สว้าน
+สวาบ
+สวาปาม
+สวามิ
+สวามินี
+สวามิภักดิ์
+สวามี
+สวาย
+สวายสอ
+สวาสดิ์
+สวาหะ
+สวิง
+สวิงสวาย
+สวิญญาณกทรัพย์
+สวิตช์
+สสาร
+สสาร-
+สสารนิยม
+สสุระ
+สสุรี
+สห-
+สหกรณ์
+สหการ
+สหจร
+สหชาต
+สหชาติ
+สหธรรม
+สหธรรมิก
+สหบาน
+สหประชาชาติ
+สหพันธ์
+สหพันธรัฐ
+สหภาพ
+สหภาพแรงงาน
+สหศึกษา
+สหัช
+สหัมบดี
+สหัส-
+สหัสธารา
+สหัสนัยน์
+สหัสเนตร
+สหัสรังสี
+สหัสสะ
+สหัสา
+สหาย
+สอ
+ส่อ
+สอง
+ส่อง
+ส้อง
+สองเกลอ
+สองจิตสองใจ
+สองใจ
+สองต่อสอง
+สองผม
+สองฝักสองฝ่าย
+สองไม้
+สองฤดู
+สองสลึงเฟื้อง
+สองหน้า
+สอด
+สอดคล้อง
+สอดแคล้ว
+สอดแนม
+สอดรู้
+สอดรู้สอดเห็น
+สอดส่อง
+สอดใส่
+สอดไส้
+สอน
+ส่อน
+สอนจระเข้ให้ว่ายน้ำ
+สอนหนังสือสังฆราช
+สอบ
+สอบซ้อม
+สอบปากคำ
+สอบพยาน
+สอบไล่
+สอบสวน
+สอบสวนทวนพยาน
+สอปูน
+สอพลอ
+ส้อม
+สอย
+สอยดอกฟ้า
+สอยดาว
+สอยผม
+สอยไร
+ส่อเสียด
+สะ
+สะกด
+สะกอ
+สะกาง
+สะการะ
+สะการะตาหรา
+สะกิด
+สะเก็ด
+สะแก
+สะแกวัลย์
+สะแกแสง
+สะคร้อ
+สะคราญ
+สะค้าน
+สะเงาะสะแงะ
+สะใจ
+สะดม
+สะดวก
+สะดัก
+สะดิ้ง
+สะดึง
+สะดือ
+สะดุ้ง
+สะดุ้งมาร
+สะดุด
+สะดุดใจ
+สะดุดตา
+สะดุดหู
+สะเด็ด
+สะเดา
+สะเดาดิน
+สะเดาอินเดีย
+สะเดาะ
+สะตอ
+สะตอเบา
+สะตาหมัน
+สะตึ
+สะตือ
+สะตุ
+สะเต๊ะ
+สะโตก
+สะทก
+สะทน
+สะท้อน
+สะท้อนใจ
+สะท้าน
+สะทึก
+สะทึน
+สะทึ่น
+สะเทิน
+สะเทิ้น
+สะเทินน้ำสะเทินบก
+สะเทือน
+สะเทื้อน
+สะเทือนใจ
+สะบะ
+สะบัก
+สะบักจม
+สะบักสะบอม
+สะบัด
+สะบัดก้น
+สะบัดมือ
+สะบัดร้อนสะบัดหนาว
+สะบัดลุกสะบัดนั่ง
+สะบัดสะบิ้ง
+สะบัดหน้า
+สะบั้น
+สะบันงา
+สะบันงาจีน
+สะบันงาต้น
+สะบ้า
+สะบ้าหัวเข่า
+สะบู
+สะแบง
+สะเปะสะปะ
+สะพรัก
+สะพรั่ง
+สะพรึงกลัว
+สะพรึบ
+สะพัก
+สะพัง
+สะพัด
+สะพั้น
+สะพาน
+สะพานแขวน
+สะพานชัก
+สะพานเชือก
+สะพานเดินเรือ
+สะพานทุ่น
+สะพานเบี่ยง
+สะพานปลา
+สะพานไฟ
+สะพานลอย
+สะพานเสี้ยว
+สะพานหก
+สะพานหัน
+สะพาย
+สะพายแล่ง
+สะเพร่า
+สะโพก
+สะเภา
+สะใภ้
+สะโมง
+สะระตะ
+สะระแหน่
+สะละปะตุ่น
+สะลาง
+สะลึมสะลือ
+สะวี้ดสะว้าด
+สะสม
+สะสวย
+สะสาง
+สะอาง
+สะอาด
+สะอ้าน
+สะอิ้ง
+สะอิดสะเอียน
+สะอึก
+สะอึกเข้าใส่
+สะอึกสะอื้น
+สะอื้น
+สะเอ้ง
+สะเอว
+สะเออะ
+สะโอดสะอง
+สะไอ
+สัก
+สักกะ
+สักกัจจะ
+สักกาย-
+สักกายทิฐิ
+สักการ-
+สักการะ
+สักขรา
+สักขี
+สักขี้ไก่
+สักฏะ
+สักตะ
+สักแต่ว่า
+สักยะ
+สักวา
+สักว่า
+สักหลาด
+สัขยะ
+สัค
+สัคคะ
+สั่ง
+สังกมทรัพย์
+สังกร
+สังกรณี
+สังกะตัง
+สังกะวัง
+สังกะวาด
+สังกะสี
+สังกัด
+สังกัปปะ
+สังกา
+สังการ
+สังกาศ
+สังกิเลส
+สังเกต
+สังเกตการณ์
+สังข-
+สังข์
+สังขกร
+สังขต-
+สังขตธรรม
+สังขตะ
+สังขยา
+สังขลิก
+สังขลิกา
+สังขาร
+สังขาร-
+สังขารธรรม
+สังขารโลก
+สังเขป
+สังโขภ
+สังค-
+สังค์
+สังคญาติ
+สังคม
+สังคม-
+สังคมนิยม
+สังคมวิทยา
+สังคมศาสตร์
+สังคมศึกษา
+สังคมสงเคราะห์
+สังคหะ
+สังคัง
+สังคาตา
+สังคายนา
+สังคายนาย
+สังคีต
+สังคีติ
+สังเค็ด
+สังเคราะห์
+สังฆ-
+สังฆกรรม
+สังฆการี
+สังฆเถระ
+สังฆทาน
+สังฆนายก
+สังฆปาโมกข์
+สังฆภัต
+สังฆเภท
+สังฆมณฑล
+สังฆมนตรี
+สังฆราช
+สังฆสภา
+สังฆาฏิ
+สังฆาณัติ
+สังฆาทิเสส
+สังฆาธิการ
+สังฆานุสติ
+สังฆาวาส
+สังดัก
+สังปะติแหงะ
+สังปะลิเหงะ
+สังโยค
+สังโยชน์
+สังวร
+สังวัจฉระ
+สังวัธยาย
+สังวาล
+สังวาลพราหมณ์
+สังวาส
+สังเวคะ
+สังเวช
+สังเวย
+สังเวียน
+สังสกฤต
+สังสการ
+สังสดมภ์
+สังสนทนา
+สั่งสนทนา
+สั่งสม
+สังสรรค์
+สั่งสอน
+สังสารวัฏ
+สังสิทธิ
+สังสุทธ์
+สังสุทธิ
+สั่งเสีย
+สังหร
+สังหรณ์
+สังหรรษ
+สังหาร
+สังหาริมทรัพย์
+สังหาริมะ
+สังหิต
+สัจ
+สัจ-
+สัจกิริยา
+สัจจะ
+สัจญาณ
+สัจนิยม
+สัจพจน์
+สัชฌ-
+สัชฌกร
+สัชฌการ
+สัชฌะ
+สัชฌายะ
+สัชฌุ
+สัชฌุกร
+สัชฌุการ
+สัญจร
+สัญจรโรค
+สัญจาร
+สัญเจตนา
+สัญชาต-
+สัญชาตญาณ
+สัญชาติ
+สัญฌา
+สัญญา
+สัญญาณ
+สัญญาบัตร
+สัญญาประกันชีวิต
+สัญญาประกันภัย
+สัญญาวิปลาส
+สัญญี
+สัญโญชน์
+สัญประกาศ
+สัญโยค
+สัญลักษณ์
+สัฐิ
+สัณฐาน
+สัณฐิติ
+สัณฑ์
+สัณห์
+สัด
+สัดจอง
+สัดส่วน
+สัต
+สัต-
+สัตการ
+สัตตบงกช
+สัตตบรรณ
+สัตตบุษย์
+สัตตะ
+สัตตาห-
+สัตตาหกาลิก
+สัตตู
+สัตถ-
+สัตถันดร
+สัตถา
+สัตถิ
+สัตถุ
+สัตถุศาสนา
+สัตบถ
+สัตบรรณ
+สัตบริภัณฑ์
+สัตบุรุษ
+สัตภัณฑ์
+สัตม-
+สัตมวาร
+สัตย-
+สัตย์
+สัตยพรต
+สัตยวาที
+สัตยาเคราะห์
+สัตยาธิษฐาน
+สัตยาบัน
+สัตว-
+สัตว์
+สัตวบาล
+สัตวแพทย์
+สัตวโลก
+สัตววิทยา
+สัตวา
+สัตวาร
+สัตสดก
+สัทธรรม
+สัทธา
+สัทธาจริต
+สัทธาธิก
+สัทธิงวิหาริก
+สัทธินทรีย์
+สัทธิวิหาริก
+สัทศาสตร์
+สัน
+สั่น
+สั้น
+สันเขา
+สันดอน
+สันดาน
+สันดาป
+สันเดก
+สันโดษ
+สันต์
+สันตติ
+สันตะปาปา
+สันตะวา
+สันติ
+สันติกะ
+สันติภาพ
+สันตุฏฐี
+สันถระ
+สันถว-
+สันถวไมตรี
+สันถวะ
+สันถัต
+สันถาร
+สันทนะ
+สันทะ
+สันทัด
+สันทัดกรณี
+สันทัสนะ
+สันทาน
+สันทิฐิก-
+สันทิส
+สันเทส
+สันเทห
+สันธาน
+สันนิธิ
+สันนิบาต
+สันนิวาส
+สันนิเวส
+สันนิษฐาน
+สันปันน้ำ
+สันพร้านางแอ
+สันพร้ามอญ
+สันพร้าหอม
+สันรวง
+สันลึก
+สันสกฤต
+สันหลัง
+สันหลังยาว
+สับ
+สับเกลียว
+สับเงา
+สับเชือก
+สับนก
+สับปลับ
+สับปลี้
+สับปะขาว
+สับปะรด
+สับเปลี่ยน
+สับสน
+สับหลีก
+สัปคับ
+สัปคับช้าง
+สัปด-
+สัปดน
+สัปดปกรณ์
+สัปดประกรณ์
+สัปดสดก
+สัปดาห์
+สัปดาหะ
+สัปต-
+สัปตศก
+สัปทน
+สัปปะ
+สัปปิ
+สัปปุริส-
+สัปปุรุษ
+สัประยุทธ์
+สัปหงก
+สัปเหร่อ
+สัพ
+สัพพะ
+สัพพัญญู
+สัพเพเหระ
+สัพยอก
+สัมบูรณ์
+สัมปชัญญะ
+สัมปทา
+สัมปทาน
+สัมปยุต
+สัมปโยค
+สัมประสิทธิ์
+สัมประหาร
+สัมปรายภพ
+สัมปรายิกภพ
+สัมปัตติ
+สัมผัปลาป
+สัมผัส
+สัมผัสนอก
+สัมผัสใน
+สัมผัสสระ
+สัมผัสอักษร
+สัมพล
+สัมพหุลา
+สัมพัจฉร-
+สัมพัจฉรฉินท์
+สัมพัตสร
+สัมพัทธ์
+สัมพันธ-
+สัมพันธ์
+สัมพันธน์
+สัมพันธภาพ
+สัมพันธมิตร
+สัมพันธไมตรี
+สัมพาธะ
+สัมพาหน์
+สัมพาหะ
+สัมพุทธ-
+สัมพุทธะ
+สัมโพธิ
+สัมภวะ
+สัมภเวสี
+สัมภัต
+สัมภัตตะ
+สัมภาระ
+สัมภาษณ์
+สัมเภทะ
+สัมโภคกาย
+สัมมนา
+สัมมัปธาน
+สัมมา
+สัมมากัมมันตะ
+สัมมาจริยา
+สัมมาชีพ
+สัมมาทิฐิ
+สัมมาวาจา
+สัมมาวายามะ
+สัมมาสติ
+สัมมาสมาธิ
+สัมมาสังกัปปะ
+สัมมาอาชีวะ
+สัมโมทนียกถา
+สัมฤทธิ-
+สัมฤทธิ์
+สัมฤทธิศก
+สัยน์
+สัลลาป-
+สัลเลข-
+สัสดี
+สัสต-
+สัสตทิฐิ
+สัสสะ
+สัสสุ
+สัสสู
+สัสุรี
+สา
+ส่า
+สาก
+สากกะเบือ
+สากรรจ์
+สากล
+สากษิน
+สากษี
+สากหยาก
+สากัจฉา
+สากัลย์
+สากิย-
+สากิยบุตร
+สากิยมุนี
+สากิยะ
+สาเก
+ส่าขนุน
+สาขา
+ส่าไข้
+สาคร
+สาคเรศ
+สาคู
+สาคูลาน
+สาคูวิลาด
+สาง
+ส้าง
+สางคลื่น
+สางห่า
+สาฎก
+สาฏิก-
+สาณ-
+สาณี
+สาด
+สาดโคลน
+สาดน้ำรดกัน
+สาดเสียเทเสีย
+สาต
+สาตรา
+สาไถย
+สาทร
+สาทิส
+สาทิส-
+สาทิสลักษณ์
+สาทุ
+สาโท
+สาธก
+สาธย-
+สาธยะ
+สาธยาย
+สาธารณ-
+สาธารณ์
+สาธารณภัย
+สาธารณรัฐ
+สาธารณสถาน
+สาธารณสมบัติ
+สาธารณสมบัติของแผ่นดิน
+สาธารณสุข
+สาธารณะ
+สาธารณูปการ
+สาธารณูปโภค
+สาธิต
+สาธุ
+สาธุการ
+สาธุชน
+สาธุสะ
+สาน
+ส่าน
+สานตวะ
+สานุ
+สานุศิษย์
+สานู
+สาบ
+สาบขนุน
+สาบแร้ง
+สาบแร้งสาบกา
+สาบสูญ
+สาบเสือ
+สาบาน
+สาบานธง
+สาป
+สาปไตย
+สาปสรร
+สาม
+สามกษัตริย์
+สามเกลอ
+สามแก้ว
+สามขา
+สามขุม
+สามเขี้ยว
+สามคาน
+สามง่าม
+สามชุก
+สามแซ่
+สามเณร
+สามเณรี
+สามตา
+สามนต-
+สามนต์
+สามนตราช
+สามใบเถา
+สามเพลงตกม้าตาย
+สามเมา
+สามยทรัพย์
+สามรส
+สามล
+สามล้อ
+สามลำคาน
+สามวันดีสี่วันไข้
+สามเวท
+สามเศียร
+สามสลึงเฟื้อง
+สามสิบกลีบ
+สามเส้า
+สามหมุด
+สามหาบ
+สามหาว
+สามเหลี่ยม
+สามเหลี่ยมด้านเท่า
+สามเหลี่ยมมุมฉาก
+สามเหลี่ยมมุมป้าน
+สามเหลี่ยมมุมแหลม
+สามเหลี่ยมหน้าจั่ว
+สามัคคี
+สามัญ-
+สามัญสำนึก
+สามัตถิยะ
+สามานย-
+สามานย์
+สามานยนาม
+สามารถ
+สามิก
+สามิต
+สามินี
+สามิภักดิ์
+สามี
+สามีจิกรรม
+สาย
+ส่าย
+ส้าย
+สายกระได
+สายใจ
+สายชู
+สายซุง
+สายดิน
+สายตะพาย
+สายตัว
+สายตา
+สายตาพิการ
+สายติ่ง
+สายน้ำ
+สายน้ำผึ้ง
+สายบัว
+สายพาน
+สายฟ้า
+สายมงคล
+สายม่าน
+สายยู
+สายโยก
+สายใย
+สายระเดียง
+สายระยาง
+สายระโยง
+สายรัดทึบ
+สายรุ้ง
+สายล่อฟ้า
+สายลับ
+สายเลือด
+สายโลหิต
+ส่ายศึก
+ส่ายเศิก
+สายสนกลใน
+สายสมร
+สายสร้อย
+สายสวาท
+สายสะพาย
+สายสิญจน์
+สายสูตร
+สายหยุด
+สายเหา
+สายอากาศ
+สายเอก
+สายัณห์
+สายาห์
+สาร
+สาร-
+สารกรมธรรม์
+สารคดี
+สารตรา
+สารถี
+สารถีชักรถ
+สารท
+สารทา
+สารทุกข์สุกดิบ
+สารธรรม
+สารนิเทศ
+สารบบ
+สารบรรณ
+สารบัญ
+สารบับ
+ส้ารบับ
+สารบาญ
+สารบาญชี
+สารประกอบ
+สารประโยชน์
+สารพัด
+สารพัน
+สารพางค์
+สารภาพ
+สารภี
+สารภีทะเล
+สารภีป่า
+สารไมย
+สารละลาย
+สารวัด
+สารวัตร
+สารสนเทศ
+สารส้ม
+สารหนู
+สารหนูขาว
+สาระ
+สาระโกก
+สาระแน
+สาระพา
+สาระพาเฮโล
+สาระวอน
+สาระวารี
+สาระสะมา
+สารัตถ-
+สารัตถะ
+สารัตถะประโยชน์
+สารัทธ์
+สารัมภ์
+สาราณีย-
+สาราณียกร
+สาราณียธรรม
+สาราณียะ
+สารานุกรม
+สารีริกธาตุ
+สารูป
+สาโรช
+สาละ
+สาละวน
+สาลิ
+สาลิกา
+สาลินี
+สาลี
+สาลี่
+สาลู
+ส่าเลือด
+สาโลหิต
+สาว
+สาวก
+สาวกระทืบหอ
+สาวก้าว
+สาวแก่
+สาวเท้า
+สาวน้อยเล่นน้ำ
+สาวนะ
+สาวแส้
+สาวไส้
+สาวไส้ให้กากิน
+สาวิกา
+สาวิตร
+สาวิตรี
+สาสน
+สาสน-
+สาสน์
+สาสนธรรม
+สาสนา
+สาหร่าย
+สาหรี
+ส่าหรี
+สาหัตถ-
+สาหัตถิก-
+สาหัส
+สาหัสสากรรจ์
+ส่าเห็ด
+สาเหตุ
+ส่าเหล้า
+สาแหรก
+สาฬุระ
+สำ
+ส่ำ
+สำคัญ
+สำซ่าง
+สำแดง
+สำทับ
+สำนวด
+สำนวน
+สำนวนความ
+สำนอง
+สำนัก
+สำนักสงฆ์
+สำนาน
+สำนึก
+สำนึง
+สำเนา
+สำเนียง
+สำบอก
+สำบัดสำนวน
+สำปะลอ
+สำปะหลัง
+สำปั้น
+สำปันนี
+สำเภา
+สำเภาทอง
+สำมะงา
+สำมะโน
+สำมะโนครัว
+สำมะโนประชากร
+สำมะลอ
+สำมะเลเทเมา
+สำมะหา
+สำรด
+สำรวจ
+สำรวม
+สำรวมใจ
+สำรวย
+สำรวล
+สำรอก
+สำรอง
+สำรับ
+สำราก
+สำราญ
+สำริด
+สำเร็จ
+สำเร็จโทษ
+สำเร็จรูป
+สำเรา
+สำเริง
+สำโรง
+สำลัก
+สำลาน
+สำลี
+สำแลง
+สำสร้าง
+สำส่อน
+สำสา
+สำเส็ด
+ส่ำเสีย
+สำหรวด
+สำหรับ
+สำหา
+สำเหนียก
+สำเหร่
+สำออย
+สำอาง
+สิ
+สิกข์
+สิกขมานา
+สิกขา
+สิกขากาม-
+สิกขาบท
+สิขร
+สิขรี
+สิขเรศ
+สิขา
+สิขานล
+สิขี
+สิคาล
+สิง
+สิ่ง
+สิงขร
+สิ่งของ
+สิงค์
+สิงคลิ้ง
+สิงคลี
+สิงคาร
+สิงคาล
+สิงคี
+สิงโต
+สิงโตทะเล
+สิ่งพิมพ์
+สิ่งละอันพันละน้อย
+สิ่งแวดล้อม
+สิงสถิต
+สิงสาราสัตว์
+สิงสู่
+สิงห-
+สิงห์
+สิงหนาท
+สิงหบัญชร
+สิงหรา
+สิงหราช
+สิงหล
+สิงหลก-
+สิงหาคม
+สิงหาสน์
+สิญจ-
+สิญจน์
+สิต-
+สิตางศุ์
+สิถิล
+สิทธ-
+สิทธ์
+สิทธา
+สิทธาจารย์
+สิทธานต์
+สิทธารถ
+สิทธิ
+สิทธิ์
+สิทธิกร
+สิทธิการิยะ
+สิทธิ์ขาด
+สิทธิครอบครอง
+สิทธิชัย
+สิทธิโชค
+สิทธิบัตร
+สิทธิยึดหน่วง
+สิทธิสภาพนอกอาณาเขต
+สิธยะ
+สิน
+สิ้น
+สินค้า
+สินค้าเข้า
+สินค้าออก
+สิ้นคิด
+สินจ้าง
+สิ้นใจ
+สิ้นชีพ
+สิ้นชีพตักษัย
+สิ้นชีวิต
+สิ้นเชิง
+สินเชื่อ
+สินใช้
+สินเดิม
+สิ้นตำรา
+สิ้นแต้ม
+สินไถ่
+สินทรัพย์
+สิ้นท่า
+สินทูระ
+สินเทา
+สินธพ
+สินธุ
+สินธุระ
+สินเธาว์
+สินน้ำใจ
+สิ้นเนื้อประดาตัว
+สินบน
+สินบริคณห์
+สิ้นบุญ
+สิ้นประตู
+สิ้นพระชนม์
+สินระบาด
+สินแร่
+สิ้นไร้ไม้ตอก
+สิ้นฤทธิ์
+สิ้นลม
+สินสมรส
+สินส่วนตัว
+สินสอด
+สิ้นสุด
+สินหัวบัวนาง
+สินไหม
+สินไหมทดแทน
+สินะ
+สินาด
+สินิทธ์
+สินี
+สิเนรุ
+สิเนหก
+สิเนหนียะ
+สิเนหะ
+สิเนหา
+สิเน่หา
+สิบ
+สิบเบี้ยใกล้มือ
+สิบแปดมงกุฎ
+สิปปะ
+สิพนะ
+สิมพลี
+สิร-
+สิระ
+สิริ
+สิรี
+สิโรดม
+สิโรตม์
+สิลา
+สิโลก
+สิว
+สิ่ว
+สิ่วน่อง
+สิวเสี้ยน
+สิวะ
+สิวาลัย
+สิวิกา
+สิหนา
+สี
+สี่
+สี้
+สีกรุด
+สีกา
+สีกุน
+สีข้าง
+สีฆ-
+สีจัก
+สีชมพูดง
+สีชมพูสวน
+สีซอให้ควายฟัง
+สีด
+สีดอ
+สีต-
+สีต้น
+สีตล-
+สีตลรัศมี
+สีตลหฤทัย
+สีตโลทก
+สีโตทก
+สีทันดร
+สี่บท
+สีผึ้ง
+สีฝัด
+สีฟันคนทา
+สีฟันนางแอ
+สีไฟ
+สีมันต์
+สีมา
+สีลม
+สีละมัน
+สีวิกา
+สีสวรรค์
+สีสอ
+สีสะ
+สีสา
+สีสุก
+สีเสียด
+สีเสียดแก่น
+สีเสียดเปลือก
+สีเสียดเหนือ
+สีเสื้อน้อย
+สีห-
+สีห์
+สีหน้า
+สีหนาท
+สีหบัญชร
+สีหราช
+สีหะ
+สี่เหลี่ยม
+สี่เหลี่ยมขนมเปียกปูน
+สี่เหลี่ยมคางหมู
+สี่เหลี่ยมจัตุรัส
+สี่เหลี่ยมด้านขนาน
+สี่เหลี่ยมด้านไม่เท่า
+สี่เหลี่ยมผืนผ้า
+สึก
+สึกหรอ
+สึง
+สืบ
+สืบไป
+สืบพยาน
+สืบพันธุ์
+สืบพันธุ์แบบไม่อาศัยเพศ
+สืบพันธุ์แบบอาศัยเพศ
+สืบราชสมบัติ
+สืบราชสันตติวงศ์
+สืบศาสนา
+สืบสวน
+สืบสันดาน
+สืบสาย
+สืบสาวราวเรื่อง
+สืบเสาะ
+สืบหูก
+สื่อ
+สื่อการศึกษา
+สื่อมวลชน
+สื่อสาร
+สื่อสารมวลชน
+สุ
+สุก
+สุกก่อนห่าม
+สุกข์
+สุกดิบ
+สุกๆ ดิบๆ
+สุกแดด
+สุกร
+สุกรม
+สุกใส
+สุกเอาเผากิน
+สุกำศพ
+สุกียากี้
+สุข
+สุข-
+สุขนาฏกรรม
+สุขภัณฑ์
+สุขภาพ
+สุขลักษณะ
+สุขวิทยา
+สุขศาลา
+สุขศึกษา
+สุขา
+สุขาภิบาล
+สุขารมณ์
+สุขาวดี
+สุขิน
+สุขี
+สุขุม
+สุขุมาล
+สุคต
+สุคติ
+สุคนธ-
+สุคนธ์
+สุคนธรส
+สุคันธ์
+สุงก-
+สุงกะ
+สุงกากร
+สุงสิง
+สุงสุมาร
+สุงสุมารี
+สุจริต
+สุจหนี่
+สุจะ
+สุจิ
+สุจิต
+สุจิตร
+สุชน
+สุชัมบดี
+สุชา
+สุชาดา
+สุญ
+สุญ-
+สุญญ-
+สุญญากาศ
+สุญตา
+สุญนิยม
+สุณ
+สุณหา
+สุณิสา
+สุด
+สุดกำลัง
+สุดกู่
+สุดขีด
+สุดคน
+สุดคิด
+สุดจิต
+สุดใจ
+สุดด้าม
+สุดแต่
+สุดโต่ง
+สุดท้อง
+สุดท้าย
+สุดท้ายปลายโต่ง
+สุดแรงเกิด
+สุดลิ่ม
+สุดวิสัย
+สุดสงวน
+สุดสวาทขาดใจ
+สุดสายป่าน
+สุดเสียง
+สุดเสียงสังข์
+สุดหล้าฟ้าเขียว
+สุดเหวี่ยง
+สุดา
+สุต
+สุตกวี
+สุตตะ
+สุตตันตปิฎก
+สุตตันตะ
+สุติ
+สุทธ-
+สุทธ์
+สุทธาวาส
+สุทธิ
+สุทรรศน์
+สุทัศน์
+สุธา
+สุธาการ
+สุธาโภชน์
+สุธารส
+สุธารสชา
+สุธาสินี
+สุธาสี
+สุธี
+สุนทร
+สุนทร-
+สุนทรพจน์
+สุนทรี
+สุนทรีย-
+สุนทรียภาพ
+สุนทรียศาสตร์
+สุนทรียะ
+สุนัข
+สุนันท์
+สุโนก
+สุบดี
+สุบรรณ
+สุบิน
+สุปรีดิ์
+สุปรีย์
+สุปาณี
+สุพพัต
+สุพรรณ
+สุพรรณ-
+สุพรรณถัน
+สุพรรณบัฏ
+สุพรรณภาชน์
+สุพรรณราช
+สุพรรณศรี
+สุพรรณิการ์
+สุภ-
+สุภร
+สุภัค
+สุภา
+สุภาพ
+สุภาพชน
+สุภาพบุรุษ
+สุภาพสตรี
+สุภาษิต
+สุม
+สุ่ม
+สุมขอน
+สุมควัน
+สุ่มตัวอย่าง
+สุมทุม
+สุมน
+สุมนะ
+สุมนัส
+สุมนา
+สุมยุง
+สุ่มสี่สุ่มห้า
+สุ้มเสียง
+สุมหัว
+สุมะ
+สุมาลี
+สุเมธ
+สุเมรุ
+สุร-
+สุรคต
+สุรงค์
+สุรเชษฐ์
+สุรบดี
+สุรบถ
+สุรภาพ
+สุรภี
+สุรโลก
+สุรสีหนาท
+สุรเสียง
+สุรังค์
+สุรัติ
+สุรัสวดี
+สุรา
+สุรางค์จำเรียง
+สุรางคนา
+สุรางคนางค์
+สุราบาน
+สุรารักษ์
+สุราลัย
+สุรินทร์
+สุรินทราหู
+สุริย-
+สุริยกันต์
+สุริยกานต์
+สุริยการ
+สุริยกาล
+สุริยคติ
+สุริยคราส
+สุริยเคราะห์
+สุริยง
+สุริยน
+สุริยมณฑล
+สุริยะ
+สุริยัน
+สุริยา
+สุริยุปราคา
+สุริเยนทร์
+สุริเยศ
+สุริโย
+สุรีย์
+สุรุ่ยสุร่าย
+สุเรนทร์
+สุลต่าน
+สุว
+สุวภาพ
+สุวรรณ
+สุวรรณ-
+สุวรรณภูมิ
+สุวาน
+สุวินัย
+สุวิมล
+สุษิร
+สุสาน
+สุหนัต
+สุหร่ง
+สุหร่าย
+สุหฤท
+สุหัท
+สุเหร่า
+สู
+สู่
+สู้
+สูกษม
+สู่ขวัญ
+สู่ขอ
+สูง
+สูงเท่านกเขาเหิน
+สูงเทียมเมฆ
+สูงส่ง
+สูงสุดสอย
+สูงอายุ
+สูจกะ
+สูจนะ
+สูจิ
+สูจิบัตร
+สูเจ้า
+สูญ
+สูด
+สูต
+สูตร
+สูตรเคมี
+สูติ-
+สูติกรรม
+สูติบัตร
+สูติแพทย์
+สูติศาสตร์
+สูท
+สูท-
+สูทกรรม
+สูทศาสตร์
+สูน
+สูนุ
+สูบ
+สูบเลือด
+สูบเลือดสูบเนื้อ
+สูป-
+สูปการ
+สูปะ
+สู้ยิบตา
+สู้เย็บตา
+สูร
+สู้รบตบมือ
+สูรย-
+สูรย์
+สูรยกานต์
+สูรยคราส
+สูริ
+สู่รู้
+สู่สม
+สูสี
+สู้หน้า
+สู่หา
+สู้เหมือนหมาจนตรอก
+เส
+เสก
+เสกข-
+เสกขบุคคล
+เสกขะ
+เสกสรร
+เสข-
+เสขบุคคล
+เสขะ
+เสความ
+เส็ง
+เส้ง
+เส็งเคร็ง
+เสงี่ยม
+เสฏฐี
+เสณี
+เสด
+เสด็จ
+เสด็จในกรม
+เสด็จพระราชดำเนิน
+เสต-
+เสตุ
+เสถียร
+เสถียร-
+เสถียรภาพ
+เสท
+เสโท
+เสน
+เส้น
+เส้นแกงร้อน
+เส้นขนาน
+เส้นแข็ง
+เสนง
+เสน่ง
+เส้นด้าย
+เส้นตาย
+เส้นตื้น
+เส้นทาง
+เส้นบังคับ
+เส้นผมบังภูเขา
+เส้นผ่านศูนย์กลาง
+เส้นผ่าศูนย์กลาง
+เส้นแผลง
+เส้นยาแดงผ่าแปด
+เส้นใย
+เส้นใยแก้ว
+เส้นรอบวง
+เส้นรัศมี
+เส้นแร
+เส้นลายมือ
+เส้นลึก
+เส้นเลือด
+เส้นวันที่
+เส้นศูนย์สูตร
+เส้นสมมาตร
+เส้นสัมผัส
+เส้นสาย
+เสนห-
+เสน่ห์
+เสน่ห์จันทร์ขาว
+เสน่ห์จันทร์แดง
+เสน่ห์ปลายจวัก
+เส้นหมี่
+เสนหา
+เสน่หา
+เสนอ
+เส้นฮ่อ
+เสนะ
+เสนา
+เสน่า
+เสนากุฎ
+เสนางค์
+เสนางคนิกร
+เสนาธิการ
+เสนาธิปัต
+เสนานี
+เสนาบดี
+เสนาพยุห์
+เสนาพยูห์
+เสนาสนะ
+เสนาะ
+เสนี
+เสนีย์
+เสนียด
+เสนียะ
+เสบย
+เสบียง
+เสบียงกรัง
+เสพ
+เสพย์ติด
+เสเพล
+เสภา
+เสม็ด
+เสมหะ
+เสมอ
+เสมอใจ
+เสมอต้นเสมอปลาย
+เสมอตัว
+เสมอนอก
+เสมอบ่าเสมอไหล่
+เสมอภาค
+เสมอหน้า
+เสมา
+เสมียน
+เสมือน
+เสย
+เสร็จ
+เสริด
+เสริม
+เสริมสวย
+เสรี
+เสรีไทย
+เสรีธรรม
+เสรีนิยม
+เสรีภาพ
+เสล-
+เสลด
+เสลดพังพอน
+เสลดหางวัว
+เสลบรรพต
+เสลา
+เสลี่ยง
+เสลือกสลน
+เสโล
+เสวก
+เสวกามาตย์
+เสวนะ
+เสวนา
+เสวย
+เสวยพระชาติ
+เสวียน
+เสสรวง
+เสสรวล
+เสแสร้ง
+เสา
+เส้า
+เสากระโดง
+เสาเข็ม
+เสาชี้
+เสาดั้ง
+เสาตะลุง
+เสานางเรียง
+เสาร์
+เสารภย์
+เสารี
+เสาว-
+เสาวคนธ์
+เสาวคันธ์
+เสาวณิต
+เสาวธาร
+เสาวนะ
+เสาวนา
+เสาวนาการ
+เสาวนีย์
+เสาวภา
+เสาวภาคย์
+เสาวภาพ
+เสาวรภย์
+เสาวรส
+เสาวลักษณ์
+เสาหมอ
+เสาหฤท
+เสาหาน
+เสาเอก
+เสาะ
+เสาะด้าย
+เสาะป่าน
+เสาะแสะ
+เสิร์จ
+เสิร์ฟ
+เสีย
+เสียกบาล
+เสียกระบวน
+เสียกล
+เสียการ
+เสียกำซ้ำกอบ
+เสียกำได้กอบ
+เสียกำลังใจ
+เสียกิริยา
+เสียขวง
+เสียขวัญ
+เสียคน
+เสียคำพูด
+เสียง
+เสี่ยง
+เสียงเขียว
+เสียงแข็ง
+เสี่ยงชีวิต
+เสียงแตก
+เสียงทอง
+เสี่ยงทาย
+เสี่ยงบุญเสี่ยงกรรม
+เสียงพยัญชนะ
+เสี่ยงภัย
+เสียงสระ
+เสียงหลง
+เสียงอ่อน
+เสียจริต
+เสียใจ
+เสียโฉม
+เสียชาติเกิด
+เสียชื่อ
+เสียเชิง
+เสียด
+เสียดใบ
+เสียดสี
+เสียดาย
+เสียเด็ก
+เสียตัว
+เสียแต้ม
+เสียเถอะ
+เสียเถิด
+เสียท่า
+เสียที
+เสี้ยน
+เสี้ยนศึก
+เสี้ยนหนาม
+เสียน้ำใจ
+เสียน้ำตา
+เสียเนื้อเสียตัว
+เสียบ
+เสียบน
+เสียบหนู
+เสียปาก
+เสียเปรียบ
+เสียผี
+เสียผู้ใหญ่
+เสียภูมิ
+เสียม
+เสี่ยม
+เสี้ยม
+เสี้ยมเขาควายให้ชนกัน
+เสี้ยมสอน
+เสี่ยมสาร
+เสียรอย
+เสียรังวัด
+เสียราศี
+เสียรู้
+เสียรูป
+เสียรูปคดี
+เสียแรง
+เสียว
+เสี่ยว
+เสี้ยว
+เสียวซ่าน
+เสียวไส้
+เสียเศวตฉัตร
+เสียสละ
+เสียสาว
+เสียเส้น
+เสียหน่อย
+เสียหน้า
+เสียหลัก
+เสียหลาย
+เสียหัว
+เสียหาย
+เสียเหลี่ยม
+เสือ
+เสื่อ
+เสื้อ
+เสือก
+เสือกกะโหลก
+เสือกคลาน
+เสือกระดาษ
+เสือกระต่าย
+เสื้อกล้าม
+เสือกสน
+เสือกไส
+เสื้อกั๊ก
+เสือกินวัว
+เสือเก่า
+เสือข้ามห้วย
+เสือจนท่า ข้าจนทาง
+เสือซ่อนเล็บ
+เสือเฒ่าจำศีล
+เสือดาว
+เสือดำ
+เสือตกถัง
+เสือตบก้น
+เสือทลายห้าง ช้างทลายโรง
+เสือทะเล
+เสือนอนกิน
+เสือนั่งร่ม
+เสื้อน้ำ
+เสื่อน้ำมัน
+เสือในร่างสมัน
+เสือบอง
+เสือปลา
+เสือป่า
+เสือป่าแมวเซา
+เสือป่าแมวมอง
+เสือไฟ
+เสื่อม
+เสื่อมทราม
+เสื่อมโทรม
+เสื่อมสิทธิ์
+เสื่อมเสีย
+เสือแมลงวัน
+เสือรู้
+เสื่อลวด
+เสือลากหาง
+เสื่อลำแพน
+เสือสมิง
+เสือสิ้นตวัก
+เสือสุมาตรา
+เสื้อแสง
+เสือหมอบ
+เสือหิว
+แส
+แส่
+แส้
+แสก
+แสกๆ
+แสกหน้า
+แสง
+แสงเงินแสงทอง
+แสงจันทร์
+แสงสว่าง
+แสงอาทิตย์
+แสด
+แสดง
+แสดงออก
+แสตมป์
+แสเถา
+แสน
+แสนกล
+แสนง
+แสนงอน
+แสนย-
+แสนย์
+แสนยากร
+แสนยานุภาพ
+แสนรู้
+แสนเสนาะ
+แสนา
+แสบ
+แสบก
+แสม
+แสมสาร
+แส้ม้า
+แส้ม้าทะลาย
+แสยก
+แสยง
+แสยงขน
+แสยะ
+แสรก
+แสร้ง
+แสร้งว่า
+แสลง
+แสลงใจ
+แสลงเบื่อ
+แสวง
+แสอก
+แสะ
+โสก
+โสกโดก
+โสกันต์
+โสกาดานา
+โสโครก
+โสณ
+โสณฑ์
+โสณิ
+โสณี
+โสด
+โสดก
+โสดม
+โสดา
+โสดาบัน
+โสดาปัตติผล
+โสดาปัตติมรรค
+โสต
+โสต-
+โสตถิ
+โสตทัศนวัสดุ
+โสตทัศนอุปกรณ์
+โสทก
+โสทร
+โสธก
+โสธนะ
+โสน
+โสนกินดอก
+โสนคางคก
+โสนหางไก่
+โสนหิน
+โสภ-
+โสภณ
+โสภา
+โสภิณี
+โสภี
+โสเภณี
+โสม
+โสมนัส
+โสมม
+โสมย์
+โสมส่องแสง
+โสร่ง
+โสรจ
+โสรจสรง
+โสวรรณ
+โสหุ้ย
+โสฬส
+ใส
+ใส่
+ใส่ความ
+ใส่คะแนนไม่ทัน
+ใส่ไคล้
+ใส่ใจ
+ใส่ตะกร้าล้างน้ำ
+ใส่ถ้อยร้อยความ
+ใส่ไฟ
+ใส่ยา
+ใส่ร้าย
+ใส่สาแหรกแขวนไว้
+ใส่สีสัน
+ใส่ไส้
+ใส่หน้ากาก
+ใส่หน้ายักษ์
+ไส
+ไส้
+ไส้กรอก
+ไส้ไก่
+ไส้แขวน
+ไส้เดือน
+ไส้ตัน
+ไส้ติ่ง
+ไส้เป็นน้ำเหลือง
+ไส้เป็นหนอน
+ไสย
+ไสย-
+ไสยเวท
+ไสยศาสตร์
+ไสยา
+ไสยาสน์
+ไสร้
+ไส้ละมาน
+ไส้เลื่อน
+ไสว
+ไส้ศึก
+ไสหัว
+ไส้แห้ง
+ไส้อั่ว
+ห
+หก
+หกคว่ำ
+หกคะเมน
+หกบท
+หกล้ม
+หกโล่
+หกหัน
+หง
+หงกๆ
+หงส-
+หงส์
+หงสคติ
+หงส์ทอง
+หงสบาท
+หงสรถ
+หงส์ร่อนมังกรรำ
+หงสราช
+หงส์ลีลา
+หงส์หยก
+หงอ
+หงอก
+หง่องๆ
+หงองแหงง
+หงอด
+หงอดๆ
+หงอน
+หงอนไก่
+หงอนไก่ป่า
+หง่อม
+หงอย
+หง่อย
+หงอยก๋อย
+หงอยเหงา
+หงักๆ
+หงับๆ
+หง่าง
+หงาย
+หงายท้อง
+หงายหลัง
+หง่าว
+หงำ
+หงำเหงอะ
+หงิก
+หงิงๆ
+หงิม
+หงิมๆ
+หงึกๆ
+หงุงหงิง
+หงุดหงิด
+หงุบ
+หงุบหงับ
+หงุ่ย
+หญ้า
+หญ้ากระจาม
+หญ้าเกล็ดหอย
+หญ้าขัด
+หญ้าขัดใบยาว
+หญ้าขัดหลวง
+หญ้างวงช้าง
+หญ้าจาม
+หญ้าใต้ใบ
+หญ้าถอดปล้อง
+หญ้าน้ำดับไฟ
+หญ้าบัว
+หญ้าปากคอก
+หญ้าปีนตอ
+หญ้าฝรั่น
+หญ้าพันงู
+หญ้าเพ็ก
+หญ้าแพรก
+หญ้ายองไฟ
+หญ้ายายเภา
+หญ้ารกช้าง
+หญ้ารากขาว
+หญ้าลิเภา
+หญ้าหนวดแมว
+หญ้าแห้วหมู
+หญิง
+หญิบ
+หด
+หดหาย
+หดหู่
+หตะ
+หทย-
+หทัย
+หน
+หนทาง
+หนนะ
+หนวก
+หนวกหู
+หน่วง
+หน่วงเหนี่ยว
+หนวด
+หนวดนาคราช
+หนวดพราหมณ์
+หนวดแมว
+หน่วย
+หน่วยก้าน
+หน่วยกิต
+หน่วยดาราศาสตร์
+หนอ
+หน่อ
+หนอก
+หนอกช้าง
+หนอง
+หนองแซง
+หนองใน
+หน็องแหน็ง
+หนอน
+หนอนกระทู้
+หนอนกระสือ
+หนอนกอ
+หนอนด้น
+หนอนตายหยาก
+หนอนบ่อนไส้
+หนอนพยาธิ
+หนอนม้วนใบข้าว
+หนอนหนังสือ
+หน่อเนื้อเชื้อไข
+หน่อไม้
+หน่อไม้น้ำ
+หน่อไม้ฝรั่ง
+หน่อย
+หน็อยแน่
+หนัก
+หนักข้อ
+หนักใจ
+หนักแน่น
+หนักปาก
+หนักแผ่นดิน
+หนักมือ
+หนักไม่เอา เบาไม่สู้
+หนักหน่วง
+หนักหนา
+หนักหน้า
+หนักอก
+หนัง
+หนังกลางวัน
+หนังกำพร้า
+หนังไก่
+หนังตะลุง
+หนังเรียด
+หนังสติ๊ก
+หนังสือ
+หนังสือเดินทาง
+หนังสือบริคณห์สนธิ
+หนังสือพิมพ์
+หนังสือรับรองการทำประโยชน์
+หนังสือเวียน
+หนังสือสัญญา
+หนังหน้าไฟ
+หนังใหญ่
+หนั่น
+หนับ
+หนา
+หน้า
+หน้ากระฉีก
+หน้ากระดาน
+หน้ากาก
+หนากาสรี
+หน้าเก้อ
+หน้าขา
+หน้าข้าวตัง
+หน้าแข้ง
+หน้าคว่ำ
+หน่าง
+หน้างอ
+หน้างอก
+หน้าเง้า
+หน้าแง
+หน้าจ๋อย
+หน้าจั่ว
+หน้าจืด
+หน้าฉาก
+หน้าฉาน
+หน้าโฉนด
+หน้าซีด
+หน้าซื่อใจคด
+หน้าเซียว
+หนาด
+หน้าด้าน
+หน้าตัก
+หน้าตั้ง
+หนาตา
+หน้าตา
+หน้าต่าง
+หน้าตาย
+หน้าตึง
+หน้าตื่น
+หน้าตูม
+หน้าเตา
+หน้าถัง
+หน้าทับ
+หน้าที่
+หน้าที่นั่ง
+หนาน
+หน้านวล
+หน้าเนื้อใจเสือ
+หนาแน่น
+หน้าบัน
+หน้าบาง
+หน้าบาน
+หน้าบูด
+หน้าปัด
+หน้าเป็น
+หน้าผา
+หน้าผาก
+หน้าพาทย์
+หน้าไฟ
+หนาม
+หนามขี้แรด
+หนามเขียะ
+หนามควายนอน
+หนามจี้
+หนามแดง
+หนามเตย
+หนามพรม
+หนามพุงดอ
+หนามยอกอก
+หนามยอกเอาหนามบ่ง
+หนามรอบตัว
+หนามหลัง
+หนามเหม็น
+หนามแหลมไม่มีใครเสี้ยม
+หนามใหญ่
+หน้ามอด
+หน้าม่อย
+หน้าม้า
+หน้ามืด
+หน้ามุข
+หน้าไม้
+หน่าย
+หน่ายหนี
+หน่ายแหนง
+หน้าร่าหุ์
+หน้าราหู
+หน้าเลือด
+หนาว
+หนาวใจ
+หน้าวัว
+หน้าแว่น
+หน้าสิ่วหน้าขวาน
+หน้าเสีย
+หน้าเสี้ยว
+หน้าหนา
+หน้าหัก
+หนาหู
+หนาหูหนาตา
+หน้าใหญ่ใจโต
+หน้าไหว้หลังหลอก
+หน้าอก
+หน้าอัด
+หนำ
+หนำใจ
+หนำเลี้ยบ
+หนี
+หนี้
+หนี้เกลื่อนกลืนกัน
+หนีบ
+หนี้สิน
+หนี้สูญ
+หนีเสือ
+หนีเสือปะจระเข้
+หนึก
+หนึ่ง
+หนึบ
+หนืด
+หนุ
+หนุน
+หนุนเนื่อง
+หนุนหลัง
+หนุบ
+หนุบๆ
+หนุบหนับ
+หนุ่ม
+หนุ่มทั้งแท่ง
+หนุ่มแน่น
+หนุ่มเหน้า
+หนุ่ย
+หนู
+หนูตกถังข้าวสาร
+หนูติดจั่น
+หนูผี
+ห่ม
+หมก
+หมกมุ่น
+หมกไหม้
+หมด
+หมดกระเป๋า
+หมดกัน
+หมดเขต
+หมดเขี้ยวหมดงา
+หมดจด
+หมดตัว
+หมดตำรา
+หมดตูด
+หมดเนื้อหมดตัว
+หมดบุญ
+หมดประตู
+หมดเปลือก
+หมดพก
+หมดพุง
+หมดรูป
+หมดไส้หมดพุง
+ห่มดอง
+หมดอายุ
+หมดอาลัย
+หมดอาลัยตายอยาก
+หมดอาลัยไยดี
+หม่น
+หม่นหมอง
+หม่นไหม้
+หมวก
+หมวกกะโล่
+หมวกแก๊ป
+หมวกแจว
+หมวกทรงหม้อตาล
+หมวกนิรภัย
+หมวกหูกระต่าย
+หมวด
+หมอ
+หม่อ
+หม้อ
+หมอก
+หม้อแกง
+หม้อแกงค่าง
+หม้อแกงลิง
+หมอขวัญ
+หม้อข้าวหม้อแกงลิง
+หมอความ
+หมอง
+หม่อง
+หมองใจ
+หมองมัว
+หมองหมาง
+หมอช้างเหยียบ
+หมอเฒ่า
+หมอดู
+หมอตาล
+หม้อตาล
+หมอตำแย
+หม้อทะนน
+หมอไทย
+หมอน
+หม่อน
+หมอนขวาน
+หมอนข้าง
+หมอนทอง
+หมอน้อย
+หม้อน้ำ
+หมอน้ำมัน
+หมอบ
+หมอบกระแต
+หมอบราบคาบแก้ว
+หม้อแปลง
+หม้อแปลงไฟ
+หมอผี
+หมอพัดโตนด
+หม่อม
+หม่อมเจ้า
+หม่อมฉัน
+หม่อมราชวงศ์
+หม่อมหลวง
+หม่อมห้าม
+หมอย
+หมอลำ
+หม้อหนู
+หม้อห้อม
+หมัก
+หมักหมม
+หมัด
+หมัน
+หมั่น
+หมั้น
+หมั่นไส้
+หมับ
+หมับๆ
+หมา
+หม่า
+หม้า
+หมาก
+หมากเก็บ
+หมากข่วง
+หมากเขียว
+หมากแข้ง
+หมากคัน
+หมากดิบ
+หมากแดง
+หมากทัน
+หมากผาง
+หมากผู้หมากเมีย
+หมากฝรั่ง
+หมากม่วน
+หมากมาศ
+หมากเม่า
+หมากเม่าควาย
+หมากยับ
+หมากแยก
+หมากรุก
+หมากลิง
+หมากสง
+หมากหนาม
+หมากหอมควาย
+หมากเหลือง
+หมากอีแปะ
+หมากฮอส
+หมาขี้ไม่มีใครยกหาง
+หมาง
+หมางใจ
+หมางเมิน
+หมาจิ้งจอก
+หมาด
+หมาใน
+หมาป่า
+หมามุ่ย
+หมามุ้ย
+หมาไม้
+หมาย
+หม้าย
+หมายกำหนดการ
+หมายเกณฑ์
+หมายขัง
+หมายค้น
+หมายความ
+หมายจับ
+หมายจำคุก
+หมายใจ
+หมายตัว
+หมายตา
+หมายน้ำบ่อหน้า
+หมายปล่อย
+หมายมั่น
+หมายมั่นปั้นมือ
+หมายยา
+หมายเรียก
+หมายเลข
+หมายหัว
+หมายเหตุ
+หมายอาญา
+หมาร่า
+หมาสองราง
+หมาหมู่
+หมาหยอกไก่
+หมาหวงก้าง
+หมาหัวเน่า
+หมาหางด้วน
+หมาเห่าใบตองแห้ง
+หม่ำ
+หม้ำ
+หม้ำตับ
+หมิ่น
+หมิ่นประมาท
+หมิ่นพระบรมเดชานุภาพ
+หมิ่นเหม่
+หมี
+หมี่
+หมีเหม็น
+หมึก
+หมืน
+หมื่น
+หมุด
+หมุน
+หมุนเงิน
+หมุนเวียน
+หมุบ
+หมุบหมับ
+หมุบหมิบ
+หมุ่ย
+หมุยขาว
+หมู
+หมู่
+หมูเขาจะหามเอาคานเข้าไปสอด
+หมูแดง
+หมูตั้ง
+หมูเทโพ
+หมูน้ำ
+หมูแนม
+หมูในเล้า
+หมูในอวย
+หมูป่า
+หมูไปไก่มา
+หมูแผ่น
+หมูยอ
+หมูสนาม
+หมูสามชั้น
+หมูสี
+หมูหย็อง
+หมูหริ่ง
+หมูหรึ่ง
+หมูหัน
+หมูแฮม
+หย-
+หยก
+หยกๆ
+หย่ง
+หย่งๆ
+หยด
+หยดย้อย
+หยวก
+หยวบ
+หยวบๆ
+หยอก
+หยอกเย้า
+หย็อกหย็อย
+หยอกเอิน
+หย็อง
+หย่อง
+หย่องๆ
+หย็องกรอด
+หย็องแหย็ง
+หยอด
+หยอดหลุม
+หยอน
+หย่อน
+หย่อนใจ
+หย่อนอารมณ์
+หย่อม
+หย็อมแหย็ม
+หย็อย
+หย่อย
+หยัก
+หยักไย่
+หยักรั้ง
+หยักศก
+หยักเหยา
+หยัง
+หยั่ง
+หยั่งทราบ
+หยั่งรู้
+หยั่งเสียง
+หยังหยัง
+หยัด
+หยัน
+หยับ
+หยับๆ
+หยั่วเมือง
+หย่า
+หยากเยื่อ
+หยากไย่
+หย่ากัน
+หยาด
+หยาดน้ำค้าง
+หยาดน้ำฟ้า
+หย่านม
+หยาบ
+หยาบคาย
+หยาบช้า
+หยาบหยาม
+หยาม
+หยามน้ำหน้า
+หยาว
+หย้าว
+หยำเป
+หยำเหยอะ
+หยำแหยะ
+หยิก
+หยิกแกมหยอก
+หยิกหย็อง
+หยิ่ง
+หยิบ
+หยิบผิด
+หยิบยก
+หยิบยืม
+หยิบหย่ง
+หยิมๆ
+หยี
+หยี่
+หยุ
+หยุกหยิก
+หยุด
+หยุดหย่อน
+หยุ่น
+หยุบๆ
+หยุมหยิม
+หยูกยา
+หโยดม
+หร
+หรคุณ
+หรณ
+หรดาล
+หรดาลกลีบทอง
+หรดาลแดง
+หรดี
+หรบๆ
+หรรษ-
+หรรษา
+หรอ
+หรอก
+หร็อมแหร็ม
+หรอยๆ
+หระ
+หรับๆ
+หรัสว-
+หรัสวมูรดี
+หรัสวางค์
+หรา
+หริ
+หริคันธ์
+หริ่ง
+หริ่งๆ
+หริจันทน์
+หริณะ
+หริต
+หริตกี
+หริรักษ์
+หริวงศ์
+หรี่
+หรีด
+หรีตกี
+หรือ
+หรุบๆ
+หรุบรู่
+หรุบหรู่
+หรุ่ม
+หรู
+หรูหรา
+หฤทย
+หฤทย์
+หฤทัย
+หฤทัย-
+หฤทัยกลม
+หฤทัยกัปน์
+หฤทัยกัมป์
+หฤทัยปรีย์
+หฤทัยพันธน์
+หฤษฎ์
+หฤษฎี
+หฤหรรษ์
+หฤโหด
+หล
+หลง
+หลงกล
+หลงตา
+หลงลม
+หลงลืม
+หลงหูหลงตา
+หลงเหลือ
+หลงใหล
+หลด
+หลน
+หล่น
+หลบ
+หลบตา
+หลบฝาก
+หลบมุม
+หลบหน้า
+หลบหน้าหลบตา
+หลบหลังคา
+หล่ม
+หลวง
+หลวงจีน
+หลวม
+หลวมตัว
+หลอ
+หล่อ
+หลอก
+หลอกๆ
+หลอกลวง
+หลอกล่อ
+หลอกหลอน
+หลอด
+หลอดลม
+หลอดลมคอ
+หลอดลมฝอย
+หลอดเลือด
+หลอดอาหาร
+หลอน
+หล็อน
+หล็อนๆ
+หล่อน
+หลอม
+หลอมตัว
+หลอมละลาย
+หลอมเหลว
+หล่อลื่น
+หล่อเลี้ยง
+หล่อเหลา
+หละ
+หละหลวม
+หลัก
+หลักการ
+หลักเกณฑ์
+หลักแจว
+หลักชัย
+หลักฐาน
+หลักตอ
+หลักทรัพย์
+หลักประกัน
+หลักพยาน
+หลักลอย
+หลักสูตร
+หลักแหล่ง
+หลักแหลม
+หลัง
+หลั่ง
+หลังเขียว
+หลังคา
+หลังคาเรือน
+หลังจาก
+หลังฉาก
+หลังเต่า
+หลังยาว
+หลั่งไหล
+หลัดๆ
+หลั่น
+หลับ
+หลับตา
+หลับนก
+หลับใน
+หลัว
+หลา
+หล้า
+หลาก
+หลากใจ
+หลากหลาย
+หลาท
+หลาน
+หลาบ
+หลาบจำ
+หลาม
+หลาย
+หลายเติบ
+หลายหลาก
+หลายแหล่
+หลาว
+หลาวเหล็ก
+หลาหล
+หลิก
+หลิ่ง
+หลิท
+หลิน
+หลิม
+หลิว
+หลิ่ว
+หลิ่วตา
+หลี
+หลีก
+หลีโก
+หลีบ
+หลีฮื้อ
+หลืบ
+หลุกหลิก
+หลุด
+หลุดปาก
+หลุดพ้น
+หลุดมือ
+หลุดลอย
+หลุดลุ่ย
+หลุนๆ
+หลุบ
+หลุบลู่
+หลุม
+หลุมโจน
+หลุมพราง
+หลุมพอ
+หลุมพี
+หลุมหลบภัย
+หลุมอากาศ
+หลู่
+หลู่หลี่
+หวง
+ห่วง
+ห้วง
+หวงก้าง
+ห่วงใย
+หวงห้าม
+หวงแหน
+หวด
+หวน
+ห้วน
+ห้วนๆ
+หวนคำนึง
+หวย
+ห้วย
+หวอ
+หวอด
+หว็อยๆ
+หวะ
+หวัง
+หวัด
+หวัดๆ
+หวั่น
+หวันยิหวา
+หวั่นหวาด
+หวั่นไหว
+หวัว
+หวัวร่อ
+หวัวเราะ
+หวา
+หว่า
+หว้า
+หวาก
+หว่าง
+หวาด
+หวาดระแวง
+หวาดเสียว
+หวาดหวั่น
+หวาดไหว
+หวาน
+หว่าน
+หวานคอแร้ง
+หว่านล้อม
+หวาม
+หวาย
+หวายดิน
+หวายตะมอย
+หวำ
+หวิด
+หวิว
+หวี
+หวี่
+หวีด
+หวือ
+หวุดหวิด
+หวุม
+หวูด
+หสน-
+หอ
+ห่อ
+ห้อ
+หอก
+หอกข้างแคร่
+หอกซัด
+หอการค้า
+หอคอย
+หอคำ
+หอง
+ห้อง
+ห้องเครื่อง
+ห้องชุด
+ห้องแถว
+ห้องน้ำ
+ห้องสมุด
+หอจดหมายเหตุ
+ห่อตัว
+หอไตร
+หอน
+ห่อน
+หอบ
+หอบหิ้ว
+หอบหืด
+หอบังคับการ
+หอประชุม
+หอพัก
+หอม
+ห้อม
+หอมกราย
+หอมขาว
+หอมจันทร์
+หอมแดง
+หอมเตียม
+หอมป้อม
+หอมแป้น
+ห้อมเมือง
+หอมยับ
+ห้อมล้อม
+หอมหวน
+หอย
+ห้อย
+หอยโข่ง
+ห้อยท้าย
+หอยปากเป็ด
+หอยแปดเกล็ด
+หอยเม่น
+ห้อยโหน
+หอสมุด
+ห่อหมก
+ห่อเหี่ยว
+ห่อแห่
+ห้อแห้
+หะ
+หะยี
+หะแรก
+หะหาย
+หะห้าย
+หะแห้น
+หัก
+หักกลบลบหนี้
+หักคอ
+หักใจ
+หักด้ามพร้าด้วยเข่า
+หักทองขวาง
+หักบัญชี
+หักมุก
+หักราคา
+หักร้าง
+หักแรง
+หักล้าง
+หักลำ
+หักหน้า
+หักหลัง
+หักหาญ
+หักห้าม
+หักเห
+หักโหม
+หักอก
+หักอกหักใจ
+หังส-
+หัจญ์
+หัจญี
+หัช
+หัฏฐะ
+หัด
+หัดเยอรมัน
+หัต
+หัตถ-
+หัตถ์
+หัตถกรรม
+หัตถการ
+หัตถกิจ
+หัตถบาส
+หัตถพันธ์
+หัตถศิลป์
+หัตถศึกษา
+หัตถาจารย์
+หัตถานึก
+หัตถาภรณ์
+หัตถาโรหะ
+หัตถาลังการ
+หัตถินี
+หัตถี
+หัน
+หั่น
+หั้น
+หันตรา
+หันตา
+หันรีหันขวาง
+หันหน้าเข้าหากัน
+หันหลังให้กัน
+หันเห
+หั่นแหลก
+หันอากาศ
+หับ
+หับเผย
+หัมมียะ
+หัย
+หัว
+หัวกระเด็น
+หัวกระไดไม่แห้ง
+หัวกระสุน
+หัวก๊อก
+หัวกะทิ
+หัวก่ายท้ายเกย
+หัวกุญแจ
+หัวเก่า
+หัวแก้วหัวแหวน
+หัวขโมย
+หัวขวาน
+หัวข้อ
+หัวขั้ว
+หัวขาด
+หัวขี้แต้
+หัวขี้หมา
+หัวเข้า
+หัวแข็ง
+หัวโขน
+หัวคว่ำ
+หัวคะแนน
+หัวค่ำ
+หัวคิด
+หัวใคร่
+หัวงอน
+หัวงาน
+หัวเงิน
+หัวเงื่อน
+หัวโจก
+หัวใจ
+หัวชนกำแพง
+หัวชนฝา
+หัวซุกหัวซุน
+หัวซุน
+หัวด้วน
+หัวดาวหัวเดือน
+หัวดื้อ
+หัวเด็ดตีนขาด
+หัวเดียวกระเทียมลีบ
+หัวต่อ
+หัวตะกั่ว
+หัวตะคาก
+หัวตะโหงก
+หัวเต่า
+หัวเตาไฟ
+หัวถอก
+หัวเถิก
+หัวที
+หัวเทียน
+หัวเทียม
+หัวนกกระจอก
+หัวนม
+หัวนอก
+หัวนอน
+หัวนอนปลายตีน
+หัวน้ำ
+หัวน้ำขึ้น
+หัวน้ำลง
+หัวเนื้อ
+หัวเนื้อทราย
+หัวบัว
+หัวเบี้ย
+หัวโบราณ
+หัวปลวก
+หัวปลี
+หัวปักหัวปำ
+หัวปั่น
+หัวป่า
+หัวปาก
+หัวปี
+หัวพัน
+หัวพุงหัวมัน
+หัวฟืนหัวไฟ
+หัวมังกุท้ายมังกร
+หัวมัน
+หัวเม็ด
+หัวเมือง
+หัวแม่ตีน
+หัวแม่เท้า
+หัวแม่มือ
+หัวแมลงวัน
+หัวไม้
+หัวไม่วางหางไม่เว้น
+หัวรอ
+หัวร่อ
+หัวร้อยรู
+หัวระแหง
+หัวรักหัวใคร่
+หัวรั้น
+หัวราน้ำ
+หัวรุนแรง
+หัวเราะ
+หัวเรี่ยวหัวแรง
+หัวเรื่อง
+หัวเรือใหญ่
+หัวแรง
+หัวแร้ง
+หัวลม
+หัวล้าน
+หัวลิง
+หัวเลี้ยว
+หัวเลี้ยวหัวต่อ
+หัวโล้น
+หัวว่าว
+หัวสำเภา
+หัวสูง
+หัวเสีย
+หัวไส้
+หัวหกก้นขวิด
+หัวหงอก
+หัวหด
+หัวหน้า
+หัวหน่าว
+หัวหมอ
+หัวหมื่น
+หัวหมุน
+หัวหมู
+หัวหลักหัวตอ
+หัวหาด
+หัวหายตะพายขาด
+หัวเห็ด
+หัวแหลม
+หัวแหวน
+หัวใหม่
+หัวไหล่
+หัวอก
+หัวออก
+หัวอ่อน
+หัส
+หัสดิน
+หัสดี
+หัสต
+หัสต์
+หัสตะ
+หา
+ห่า
+ห้า
+หาก
+หากว่า
+หากิน
+ห่ากิน
+หาความ
+หาค่ามิได้
+หาง
+ห่าง
+ห้าง
+หางกระเบน
+หางกระรอก
+หางกระหมวด
+หางกราย
+หางกะลวย
+หางกะลวยไก่
+หางกังหัน
+หางกิ่ว
+หางแกละ
+หางไก่
+หางขมวด
+หางขอด
+หางข้าว
+หางแข็ง
+หางค้อ
+หางเครื่อง
+หางจระเข้
+หางจิ้งเหลน
+หางช้าง
+หางเต่า
+หางแถว
+หางนกกะลิง
+หางนกยูง
+หางนกยูงฝรั่ง
+หางนาค
+หางปลา
+หางเปีย
+หางแพน
+หางแมงป่อง
+หางยาม
+หางยาว
+หางเลข
+หางว่าว
+หางสิงห์
+หางเสียง
+หางเสือ
+หางหงส์
+หางหนู
+ห้างหุ้นส่วน
+ห้างหุ้นส่วนจำกัด
+ห้างหุ้นส่วนสามัญ
+ห่างเห
+ห่างเหิน
+หางไหล
+หางไหลแดง
+หางไหลเผือก
+หาเงิน
+หาเช้ากินค่ำ
+หาญ
+หาด
+หาดก
+หาตก
+หาตัวจับยาก
+ห้าแต้ม
+หาน
+ห่าน
+หาบ
+หาบมิได้
+หาบเร่
+หาบหลวง
+หาม
+ห่าม
+ห้าม
+ห้ามญาติ
+ห้ามทัพ
+ห้ามปราม
+ห้ามเปลี่ยนมือ
+ห้ามพระแก่นจันทน์
+หามรอก
+หามรุ่งหามค่ำ
+ห้ามล้อ
+ห้ามเลือด
+หามแล่น
+ห้ามสมุทร
+หามิได้
+หาไม่
+หาไม่ก็
+หาย
+หายกัน
+หายขาด
+หายเข้ากลีบเมฆ
+หายใจ
+หายใจไม่ทั่วท้อง
+หายตัว
+หายนะ
+หายหกตกหล่น
+หายหน้า
+หายห่วง
+หายหัว
+หาร
+หารร่วมมาก
+หาริ
+หาริน
+หารี
+หารือ
+หาเรื่อง
+ห่าลง
+หาลิท
+หาเลือดกับปู
+หาว
+ห้าว
+หาวนอน
+ห้าวหาญ
+หาเศษหาเลย
+หาส
+หาสก
+หาสยะ
+หาสู่
+หาเสียง
+หาห่วงมาคล้องคอ
+หาเหตุ
+หำ
+ห้ำ
+ห้ำหัก
+ห้ำหั่น
+หิ้ง
+หิงคุ
+หิงสา
+หิงห้อย
+หิ่งห้อย
+หิ่งหาย
+หิด
+หิต
+หิต-
+หิตกร
+หิตประโยชน์
+หิตพจน์
+หิตวจนะ
+หิตานุหิตประโยชน์
+หิน
+หิน-
+หินงอก
+หินชนวน
+หินชั้น
+หินชาติ
+หินดินดาน
+หินดินสอพอง
+หินตะกอน
+หินตับเป็ด
+หินทราย
+หินน้ำมัน
+หินปูน
+หินแปร
+หินฝนทอง
+หินย้อย
+หินยาน
+หินแลง
+หินสบู่
+หินโสโครก
+หินหนืด
+หินอ่อน
+หินอัคนี
+หิม-
+หิมพาน
+หิมพานต์
+หิมวัต
+หิมวันต์
+หิมวา
+หิมวาต
+หิมวาน
+หิมวาส
+หิมเวศ
+หิมะ
+หิมาลัย
+หิรัญ
+หิรัญ-
+หิรัญญิการ์
+หิรัญบัฏ
+หิรัณย-
+หิรัณย์
+หิรัณยการ
+หิรัณยเกศ
+หิรัณยรัศมี
+หิริ
+หิริโอตตัปปะ
+หิว
+หิ้ว
+หิ้วท้อง
+หิ้วปีก
+หี
+หีด
+หีตา
+หีเต่า
+หีน-
+หีนยาน
+หีบ
+หีบชัก
+หีบเชิงชาย
+หีบฝ้าย
+หีบพระมาลัย
+หีบเพลง
+หีบเพลงชัก
+หีบเพลงปาก
+หีบสไบ
+หีบเสียง
+หีบห่อ
+หึๆ
+หึง
+หึ่ง
+หึ่งๆ
+หึงส-
+หึงสา
+หืด
+หืน
+หื่น
+หื่นหรรษ์
+หือ
+หื้อ
+หือไม่ขึ้น
+หือรือโหด
+หุง
+หุงข้าวประชดหมา
+หุต-
+หุตโกวิท
+หุตาจารย์
+หุน
+หุ่น
+หุ้น
+หุ้นกู้
+หุ่นนิ่ง
+หุ้นบุริมสิทธิ
+หุ่นพยนต์
+หุ้นลม
+หุ่นไล่กา
+หุ้นส่วน
+หุนหัน
+หุนหันพลันแล่น
+หุบ
+หุบเขา
+หุบปาก
+หุบผา
+หุบเหว
+หุ้ม
+หุ้มกลอง
+หุ้มแผลง
+หุ้มแพร
+หุ้ยหุย
+หุยฮา
+หุรัม
+หุหนิงหงัน
+หู
+หู่
+หูก
+หูกระต่าย
+หูกวาง
+หูแจว
+หูฉลาม
+หูฉี่
+หูชอง
+หูช้าง
+หูด
+หูดับตับไหม้
+หูตาสว่าง
+หูติ
+หูตึง
+หูตูบ
+หูทวนลม
+หูเบา
+หูปลาช่อน
+หูป่าตาเถื่อน
+หูผีจมูกมด
+หูผึ่ง
+หูรูด
+หูไว
+หูไวตาไว
+หูเสือ
+หูหนาตาโต
+หูหนาตาเล่อ
+หูหนู
+หู่หี่
+หูไห
+เห
+เห่
+เหง
+เหง่ง
+เหงา
+เหง้า
+เหงาหงอย
+เหงื่อ
+เหงือก
+เหงือกปลาหมอ
+เหงื่อกาฬ
+เห็จ
+เห็ด
+เห็ดโคน
+เห็ดหลุบ
+เหติ
+เหตุ
+เหตุการณ์
+เหตุผล
+เหตุสุดวิสัย
+เห็น
+เห็นกงจักรเป็นดอกบัว
+เห็นแก่
+เห็นแก่หน้า
+เห็นขี้ดีกว่าไส้
+เห็นเขาขึ้นคานหาม เอามือประสานก้น
+เหน่ง
+เหนงนายพราน
+เห็นจะ
+เห็นใจ
+เห็นช้างขี้ ขี้ตามช้าง
+เหน็ด
+เหน็ดเหนื่อย
+เห็นดำเห็นแดง
+เห็นดี
+เหน็บ
+เหน็บชา
+เหน็บแนม
+เห็นหน้าเห็นหลัง
+เหน่อ
+เห็นอ้ม
+เหนอะ
+เหนอะหนะ
+เหน้า
+เหนาะๆ
+เหนียง
+เหนี่ยง
+เหนียงนกกระทุง
+เหนี่ยน
+เหนียม
+เหนียว
+เหนี่ยว
+เหนี่ยวนำแม่เหล็กไฟฟ้า
+เหนียวแน่น
+เหนี่ยวรั้ง
+เหนียวหนืด
+เหนียวหมา
+เหนือ
+เหนื่อย
+เหนื่อยหน่าย
+เห็บ
+เห็บน้ำ
+เหม
+เหม-
+เหม่
+เหม่ง
+เหม็น
+เหม็นเขียว
+เหม็นเบื่อ
+เหม็นเปรี้ยว
+เหมวดี
+เหม่อ
+เหมันต-
+เหมันต์
+เหมา
+เหมายัน
+เหมาะ
+เหมาะเจาะ
+เหมาะสม
+เหมาะเหม็ง
+เหมียว
+เหมี่ยว
+เหมือง
+เหมืองฝาย
+เหมือด
+เหมือดคน
+เหมือดโลด
+เหมือน
+เหมือนกับ
+เหมือนว่า
+เหมือนหนึ่งว่า
+เหมื่อย
+เหมื่อยๆ
+เหย
+เหยเก
+เหยง
+เหย่อย
+เหยา
+เหย่า
+เหย่าๆ
+เหย้า
+เหยาะ
+เหยาะๆ
+เหยาะแหยะ
+เหยิง
+เหยิบๆ
+เหยียด
+เหยียดผิว
+เหยียดหยาม
+เหยียบ
+เหยียบขี้ไก่ไม่ฝ่อ
+เหยียบจมูก
+เหยียบย่ำ
+เหยียบเรือสองแคม
+เหยี่ยว
+เหยี่ยวข่าว
+เหยื่อ
+เหยือก
+เหรัญญิก
+เหรา
+เหราเล่นน้ำ
+เหราะๆ
+เหรียญ
+เหรียญกระษาปณ์
+เห่เรือ
+เหล่
+เหล็ก
+เหล็กกล้า
+เหล็กกล้าไม่เป็นสนิม
+เหล็กใน
+เหล็กพืด
+เหล็กวิลาด
+เหล็กส่ง
+เหล็กเส้น
+เหล็กหมาด
+เหล็กหล่อ
+เหล็กเหนียว
+เหล็กไหล
+เหลน
+เหลว
+เหลวแหลก
+เหลวไหล
+เหลอ
+เหลา
+เหล่า
+เหล้า
+เหล่ากอ
+เหลาชะโอน
+เหลาหลก
+เหล้าแห้ง
+เหลาะแหละ
+เหลิง
+เหลิงเจิ้ง
+เหลียน
+เหลี่ยม
+เหลี่ยมคู
+เหลี่ยมลูกบาศก์
+เหลียว
+เหลียวแล
+เหลียวหลัง
+เหลือ
+เหลือก
+เหลือกำลัง
+เหลือเกิน
+เหลือขอ
+เหลือเข็ญ
+เหลือเข็น
+เหลือง
+เหลืองหางฟ้า
+เหลืองหิน
+เหลือใจ
+เหลือเชื่อ
+เหลือใช้
+เหลือทน
+เหลือบ
+เหลือบ่ากว่าแรง
+เหลือเฟือ
+เหลือม
+เหลื่อม
+เหลื่อมล้ำต่ำสูง
+เหลือมือ
+เหลือรับ
+เหลือร้าย
+เหลือล้น
+เหลือวิสัย
+เหลือสติกำลัง
+เหลือแสน
+เหลือหลอ
+เหลือหลาย
+เหลือแหล่
+เหลืออด
+เหลืออดเหลือทน
+เหว
+เหว่
+เหวง
+เหวทะเล
+เหวย
+เหวอะ
+เหวอะหวะ
+เหวี่ยง
+เหวี่ยงแห
+เห่อ
+เห่อเหิม
+เหอะ
+เหอะน่า
+เหะ
+เหะหะ
+เหา
+เห่า
+เหาฉลาม
+เหาทะเล
+เหาน้ำ
+เหาไม้
+เหาะ
+เหิน
+เหินห่าง
+เหินเห่อ
+เหิม
+เหิมหาญ
+เหิมห้าว
+เหิมฮึก
+เหี้ย
+เหียง
+เหียงกราด
+เหียน
+เหี้ยน
+เหียนราก
+เหี้ยม
+เหี้ยมเกรียม
+เหี้ยมหาญ
+เหี้ยมโหด
+เหี่ยว
+เหี่ยวแห้ง
+เหื่อ
+เหือด
+เหือดหาย
+เหือดแห้ง
+แห
+แห่
+แห้
+แหก
+แหกคอก
+แหกปาก
+แหง
+แหง่
+แห่ง
+แห้ง
+แหงแก๋
+แหง่ง
+แหงน
+แหงนเต่อ
+แหงนเถ่อ
+แห้งผาก
+แห้งแล้ง
+แห้งเหี่ยว
+แห้งเหือด
+แหน
+แห้น
+แหนง
+แหนงใจ
+แหนงหน่าย
+แหนบ
+แหนม
+แหบ
+แหม
+แหม่
+แหม่ม
+แหมะ
+แหย
+แหย่
+แหยง
+แหย่ง
+แหยม
+แหย็ม
+แหยะ
+แหยะๆ
+แหล
+แหล่
+แหลก
+แหลกลาญ
+แหลกเหลว
+แหล่ง
+แหล่งเสื่อมโทรม
+แหล่งหล้า
+แหลน
+แหล่นอก
+แหล่ใน
+แหลม
+แหลมหลัก
+แหละ
+แหว
+แห้ว
+แหวก
+แหวกแนว
+แหว่ง
+แหวด
+แหวน
+แหวนหัว
+แห้วหมู
+แหวะ
+แห่ห้อม
+แห่แหน
+แหะ
+แหะๆ
+โห่
+โหก
+โหง
+โหงพราย
+โหด
+โหดร้าย
+โหดเหี้ยม
+โหน
+โหนก
+โหนกแก้ม
+โหน่ง
+โหม
+โหม-
+โหม่
+โหมกรรม
+โหมกูณฑ์
+โหม่ง
+โหมด
+โหมดเทศ
+โหมโรง
+โหมหัก
+โหมฮึก
+โหย
+โหยกเหยก
+โหยง
+โหย่ง
+โหย่งๆ
+โหยหวน
+โหยไห้
+โหร
+โหรง
+โหรงเหรง
+โหรดาจารย์
+โหระพา
+โหรา
+โหรากระบือ
+โหราเขาเนื้อ
+โหราจารย์
+โหราเดือยไก่
+โหราตีนหมา
+โหราเท้าสุนัข
+โหราบอน
+โหราศาสตร์
+โหล
+โหล่
+โหลงโจ้ง
+โหว
+โหว่
+โหว้
+โหวกเหวก
+โหวง
+โหวงเหวง
+โหวด
+โหวต
+ให้
+ให้การ
+ใหญ่
+ให้โดยเสน่หา
+ให้ท่า
+ให้ท้าย
+ใหม่
+ใหม่ถอดด้าม
+ใหม่เอี่ยม
+ให้ร้าย
+ให้ร้ายป้ายสี
+ให้สัตยาบัน
+ให้หา
+ให้อภัย
+ให้ออก
+ไห
+ไห่
+ไห้
+ไหซอง
+ไหน
+ไหปลาร้า
+ไหม
+ไหม้
+ไหมทอง
+ไหมสับปะรด
+ไหรณย์
+ไหล
+ไหล่
+ไหล่เขา
+ไหล่ถนน
+ไหล่ทวีป
+ไหล่ทาง
+ไหลน้ำ
+ไหล่รวบ
+ไหว
+ไหวๆ
+ไหว้
+ไหว้ครู
+ไหว้เจ้า
+ไหวตัว
+ไหวติง
+ไหวทัน
+ไหว้ผี
+ไหวพริบ
+ไหว้วาน
+ไหหลำ
+ฬ
+อ
+อก
+อกไก่
+อกคราก
+อกตั้ง
+อกตัญญุตา
+อกตัญญู
+อกเต่า
+อกแตก
+อกทะเล
+อกนิษฐ์
+อกเมือง
+อกรณีย์
+อกรรมกริยา
+อกรวบ
+อกร่อง
+อกโรย
+อกเลา
+อกหัก
+อกัปปิย-
+อกัปปิยวัตถุ
+อกัปปิยโวหาร
+อกัปปิยะ
+อกุศล
+อกุศล-
+อกุศลกรรม
+อกุศลกรรมบถ
+อกุศลเจตนา
+อกุศลมูล
+อคติ
+อคเนสัน
+อคาธ
+อคาร-
+อฆ
+อโฆษะ
+อง
+องก์
+องค-
+องค์
+องค์กฐิน
+องค์กร
+องค์การ
+องค์การสหประชาชาติ
+องคชาต
+องค์ประกอบ
+องค์ประชุม
+องคมนตรี
+องคมรรษ
+องครักษ์
+องควิการ
+องควิเกษป
+องควิทยา
+องคาพยพ
+องคุล
+องคุลี
+องศ์
+องศา
+องอาจ
+องุ่น
+อจร
+อจล-
+อจลา
+อจิตติ
+อจินตา
+อจินไตย
+อจิร-
+อจิระ
+อเจลก
+อเจละ
+อช
+อชา
+อชิน
+อชินี
+อชิร
+อฏวี
+อณิ
+อณุ
+อณู
+อโณทัย
+อด
+อดกลั้น
+อดใจ
+อดตาหลับขับตานอน
+อดทน
+อดนม
+อดเปรี้ยวไว้กินหวาน
+อดสู
+อดแห้งอดแล้ง
+อดอยาก
+อดออม
+อดิ
+อดิถี
+อดิเทพ
+อดิเรก
+อดิเรก-
+อดิเรกลาภ
+อดิศร
+อดิศวร
+อดิศัย
+อดีต
+อดีต-
+อดีตกาล
+อดีตชาติ
+อดีตภพ
+อดีตสมัย
+อดุล
+อดุลย-
+อดุลย์
+อติ
+อติชาต
+อติชาต-
+อติชาตบุตร
+อติมานะ
+อติราช
+อติเรก
+อติเรก-
+อติเรกจีวร
+อติเรกลาภ
+อติสาร
+อถรรพเวท
+อทระ
+อทินนาทาน
+อทินนาทายี
+อธรรม
+อธิ
+อธิก-
+อธิกมาส
+อธิกรณ์
+อธิกวาร
+อธิกสุรทิน
+อธิการ
+อธิการบดี
+อธิคม
+อธิฏฐาน
+อธิบดี
+อธิบาย
+อธิป
+อธิป-
+อธิปไตย
+อธิมาตร
+อธิมุตติ
+อธิโมกข์
+อธิราช
+อธิวาส
+อธิวาสนะ
+อธิศีล
+อธิษฐาน
+อธึก
+อน-
+อ้น
+อนงค-
+อนงค์
+อนงคณะ
+อนงคเลข
+อนงคเลขา
+อนธ-
+อนธการ
+อนนต์
+อนยะ
+อนรรฆ
+อนรรถ
+อนล
+อนวัช
+อนวัช-
+อ้นอ้อ
+อนัญ
+อนัญ-
+อนัญคติ
+อนัญสาธารณ์
+อนัตตา
+อนัตถ-
+อนันต-
+อนันต์
+อนันตร-
+อนันตริยกรรม
+อนัม
+อนากูล
+อนาคต
+อนาคต-
+อนาคตกาล
+อนาคามิผล
+อนาคามิมรรค
+อนาคามี
+อนาจาร
+อนาถ
+อนาถา
+อนาทร
+อนาธิปไตย
+อนามัย
+อนารย-
+อนารยชน
+อนารยธรรม
+อนารยะ
+อนาลัย
+อนำ
+อนิจ
+อนิจ-
+อนิจกรรม
+อนิจจัง
+อนิจจา
+อนิฏฐารมณ์
+อนิยต
+อนิยม
+อนิยม-
+อนิล
+อนิล-
+อนิลบถ
+อนิวรรต
+อนิวรรตน์
+อนิษฏ์
+อนีก-
+อนีกทรรศนะ
+อนีกทัศนะ
+อนีกะ
+อนีกัฐ
+อนีจ
+อนึก
+อนึ่ง
+อนุ
+อนุกร
+อนุกรม
+อนุกรรมการ
+อนุกระเบียด
+อนุกาชาด
+อนุการ
+อนุกูล
+อนุคามิก
+อนุคามี
+อนุเคราะห์
+อนุจร
+อนุช
+อนุชน
+อนุชา
+อนุชาต
+อนุชาต-
+อนุชาตบุตร
+อนุชิต
+อนุญาต
+อนุญาโตตุลาการ
+อนุตร-
+อนุเถระ
+อนุทิน
+อนุบท
+อนุบาล
+อนุปริญญา
+อนุปสัมบัน
+อนุปัสนา
+อนุพงศ์
+อนุพัทธ์
+อนุพันธ์
+อนุโพธ
+อนุภรรยา
+อนุภริยา
+อนุภาค
+อนุภาษ
+อนุมัติ
+อนุมาตรา
+อนุมาน
+อนุมูล
+อนุมูลกรด
+อนุโมทนา
+อนุโมทนาบัตร
+อนุโยค
+อนุรักษ-
+อนุรักษ์
+อนุรักษนิยม
+อนุราช
+อนุราธ
+อนุราธะ
+อนุราธา
+อนุรูป
+อนุโลม
+อนุวงศ์
+อนุวัต
+อนุวาต
+อนุศาสก
+อนุศาสน์
+อนุศาสนาจารย์
+อนุศิษฏ์
+อนุสติ
+อนุสนธิ
+อนุสภากาชาด
+อนุสร
+อนุสรณ์
+อนุสัญญา
+อนุสัย
+อนุสาวรีย์
+อนุสาสนี
+อเนก
+อเนก-
+อเนกคุณ
+อเนกประสงค์
+อเนกวิธ
+อเนกอนันต์
+อเนกอนันตัง
+อเนจอนาถ
+อโนชา
+อโนดาต
+อบ
+อบเชย
+อบรม
+อบอวล
+อบอ้าว
+อบอุ่น
+อบาย
+อบาย-
+อบายภูมิ
+อบายมุข
+อป
+อปการ
+อปจายน-
+อปจายนธรรม
+อปจายนมัย
+อปภาคย์
+อปมงคล
+อปมาน
+อปยศ
+อปร-
+อปรภาค
+อประมาณ
+อประมาท
+อประไมย
+อปรัณณชาติ
+อปรา
+อปราชัย
+อปราชิต
+อปราธ
+อปริมาณ
+อปลักษณ์
+อปโลกน์
+อปวาท
+อปหาร
+อปาจี
+อปาจีน
+อปาน
+อเปหิ
+อพพะ
+อพยพ
+อภว
+อภัพ
+อภัพ-
+อภัพบุคคล
+อภัพผล
+อภัย
+อภัย-
+อภัยทาน
+อภัยโทษ
+อภิ
+อภิฆาต
+อภิจฉา
+อภิชฌา
+อภิชน
+อภิชน-
+อภิชนาธิปไตย
+อภิชัย
+อภิชาต
+อภิชาต-
+อภิชาตบุตร
+อภิชิต
+อภิญญา
+อภิญญาณ
+อภิณห-
+อภิธรรม
+อภิธาน
+อภิไธย
+อภินันท์
+อภินันทนาการ
+อภินัย
+อภินิหาร
+อภิเนษกรมณ์
+อภิบาล
+อภิปรัชญา
+อภิปราย
+อภิมหาอำนาจ
+อภิมานะ
+อภิมุข
+อภิรดี
+อภิรติ
+อภิรมย์
+อภิรักษ์
+อภิรัฐมนตรี
+อภิราม
+อภิรุต
+อภิรุม
+อภิรูป
+อภิลักขิต
+อภิลักขิต-
+อภิลักขิตกาล
+อภิลักขิตสมัย
+อภิเลปน์
+อภิวันท์
+อภิวาท
+อภิวาทน์
+อภิเษก
+อภิเษกสมรส
+อภิสมโพธิ
+อภิสมัย
+อภิสมาจาร
+อภิสัมโพธิ
+อภิสัมโพธิญาณ
+อภิสิต
+อภิสิทธิ์
+อภูต
+อม
+อ้ม
+อมความ
+อมต-
+อมตบท
+อมตะ
+อมนุษย์
+อมปาก
+อมพะนำ
+อมเพลิง
+อมภูมิ
+อมมือ
+อมยิ้ม
+อมร
+อมร-
+อมรบดี
+อมรรัตน์
+อมรราช
+อมรสตรี
+อมรา
+อมราวดี
+อมรินทร์
+อมเรนทร์
+อมเรศ
+อมเรศวร
+อมโรค
+อมฤต
+อมฤต-
+อมฤตบท
+อมฤตยู
+อมฤตรส
+อมเลือดอมฝาด
+อมเลือดอมหนอง
+อมหนอง
+อมัจจะ
+อมัตร
+อมาตย์
+อมาวสี
+อมาวสุ
+อมาวาสี
+อมิตร
+อเมริกัน
+อย
+อยน
+อยัส
+อย่า
+อยาก
+อย่าง
+อย่างไร
+อย่างไรก็ดี
+อย่างไรก็ตาม
+อยุทธ์
+อยู่
+อยู่กรรม
+อยู่กิน
+อยู่คง
+อยู่งาน
+อยู่จริง
+อยู่ดีกินดี
+อยู่ตัว
+อยู่ท้อง
+อยู่ไฟ
+อยู่มือ
+อยู่ไม่สุข
+อยู่ยงคงกระพัน
+อยู่ยาม
+อยู่โยง
+อยู่เวร
+อยู่หมัด
+อร
+อรช
+อรชร
+อรชุน
+อรณ
+อรดี
+อรติ
+อรทัย
+อรไท
+อรธาน
+อรนุช
+อรพินท์
+อรพิม
+อรรค
+อรรฆ
+อรรฆย์
+อรรจน์
+อรรณพ
+อรรถ
+อรรถ-
+อรรถกถา
+อรรถกถาจารย์
+อรรถกร
+อรรถกวี
+อรรถคดี
+อรรถบท
+อรรถปฏิสัมภิทา
+อรรถประโยชน์
+อรรถรส
+อรรถาธิบาย
+อรรธ
+อรรธ-
+อรรธกรรณ
+อรรธคราส
+อรรธจักร
+อรรธจันทร์
+อรรธนิศา
+อรรธบท
+อรรธภาค
+อรรธสระ
+อรสุม
+อรสุมพล
+อรหะ
+อรหัง
+อรหัต
+อรหัต-
+อรหัตผล
+อรหัตมรรค
+อรหัตวิโมกข์
+อรหัน
+อรหันต-
+อรหันต์
+อรหันตฆาต
+อร่อย
+อรัญ
+อรัญ-
+อรัญญิก
+อรัญวาส
+อรัญวาสี
+อรัณย์
+อราดี
+อราติ
+อร่าม
+อริ
+อริน
+อรินทร์
+อริย-
+อริยกะ
+อริยทรัพย์
+อริยบุคคล
+อริยผล
+อริยมรรค
+อริยสัจ
+อริยะ
+อรุ
+อรุณ
+อรุโณทัย
+อรุ่ม
+อรูป
+อลงกต
+อลงกรณ์
+อลงการ
+อลวน
+อลเวง
+อลหม่าน
+อล่องฉ่อง
+อลักเอลื่อ
+อลังการ
+อลัชชี
+อล่างฉ่าง
+อลิงค์
+อลึงค์
+อลึ่งฉึ่ง
+อโลหะ
+อวก
+อ้วก
+อวกาศ
+อวเคราะห์
+อวจร
+อวชัย
+อวชาต
+อวชาต-
+อวชาตบุตร
+อวด
+อวดดี
+อวดรู้
+อวดอ้าง
+อวตาร
+อวน
+อ้วน
+อ้วนท้วน
+อวนลอย
+อวนลาก
+อวบ
+อวบน้ำ
+อวมงคล
+อวมอำ
+อวย
+อวยวะ
+อวรุทธ์
+อวรุทธก
+อวล
+อวสาน
+อวหาร
+อวัยวะ
+อวัสดา
+อวาจี
+อวิจี
+อวิชชา
+อวิญญาณก-
+อวิญญาณกทรัพย์
+อวิญญู
+อวิรุทธ์
+อวิโรธน์
+อวีจิ
+อเวจี
+อโศก
+อสงไขย
+อสนี
+อสนีบาต
+อสภ
+อสมการ
+อสมมาตร
+อสรพิษ
+อสังกมทรัพย์
+อสังหาริม-
+อสังหาริมทรัพย์
+อสังหาริมะ
+อสัญ-
+อสัญกรรม
+อสัญญี
+อสัญญีภาพ
+อสัญญีภาวะ
+อสัญญีสัตว์
+อสัญแดหวา
+อสัตถพฤกษ์
+อสัตย์
+อสัมภิน-
+อสัมภินพงศ์
+อสัมภินวงศ์
+อสาธร
+อสาธุ
+อสิ
+อสิจรรยาการ
+อสิต
+อสิธารา
+อสิเลสะ
+อสีตยานุพยัญชนะ
+อสีติ
+อสีติมหาสาวก
+อสุ
+อสุจิ
+อสุนีบาต
+อสุภ
+อสุภ-
+อสุภกรรมฐาน
+อสุภสัญญา
+อสุร-
+อสุรกาย
+อสุรี
+อสุเรศ
+อสูร
+อเส
+อเสกข-
+อเสกขบุคคล
+อเสกขะ
+อเสข-
+อเสขะ
+อห
+อหังการ
+อหิ
+อหิงสา
+อหิวาตกโรค
+อหึงสา
+อเหตุกทิฐิ
+อโหสิกรรม
+ออ
+อ้อ
+อ๋อ
+ออก
+ออกกำลัง
+ออกขุนนาง
+ออกแขก
+ออกโขน
+ออกไข้หัว
+ออกงาน
+ออกงิ้ว
+ออกชื่อ
+ออกซิเจน
+ออกซิเดชัน
+ออกไซด์
+ออกญา
+ออกดอก
+ออกดอกออกผล
+ออกตัว
+ออกท่า
+ออกท่าออกทาง
+ออกทุกข์
+ออกทุน
+ออกนอกหน้า
+ออกบวช
+ออกปาก
+ออกผื่น
+ออกฝี
+ออกฝีดาษ
+ออกพรรษา
+ออกไฟ
+ออกภาษา
+ออกมหาสมาคม
+ออกยักษ์ออกโขน
+ออกรส
+ออกรับ
+ออกร้าน
+ออกเรือน
+ออกแรง
+ออกโรง
+ออกฤทธิ์
+ออกลาย
+ออกลิงออกค่าง
+ออกลูก
+ออกวัง
+ออกเสียง
+ออกหน้าออกตา
+ออกหัด
+ออกหาก
+ออกอากาศ
+อ่อง
+อ๋อง
+อ้องแอ้ง
+ออเจ้า
+ออเซาะ
+ออด
+ออดๆ
+ออดอ้อน
+ออดแอด
+ออดๆ แอดๆ
+อ๊อดแอ๊ด
+อ๊อดๆ แอ๊ดๆ
+อ้อดิบ
+อ่อน
+อ้อน
+อ่อนข้อ
+อ่อนความ
+อ่อนจิตอ่อนใจ
+อ่อนใจ
+อ่อนช้อย
+ออนซ์
+ออนซอน
+อ่อนซอน
+อ่อนไท้
+อ่อนน้อม
+อ่อนปวกเปียก
+อ่อนเปลี้ย
+อ่อนเปียก
+อ่อนเพลีย
+อ่อนโยน
+อ้อนวอน
+อ่อนหวาน
+อ่อนหัด
+อ่อนหู
+อ่อนไหว
+อ่อนอกอ่อนใจ
+อ้อนออด
+อ่อนแอ
+อ้อนแอ้น
+ออฟฟิศ
+ออม
+อ่อม
+อ้อม
+ออมครอม
+อ้อมค้อม
+ออมชอม
+ออมซอม
+ออมสิน
+อ้อมอก
+ออมอด
+อ้อมแอ้ม
+อ่อย
+อ้อย
+อ๋อย
+อ้อยเข้าปากช้าง
+อ้อยช้าง
+อ้อยแดง
+อ้อยเลา
+อ้อยส้อย
+อ้อยอิ่ง
+ออสเมียม
+อ้อแอ้
+อ๊ะ
+อะคร้าว
+อะเคื้อ
+อะจีน
+อะแจ
+อะเซทิลีน
+อะดรีนาลีน
+อะดัก
+อะดักอะเดี้ย
+อะดักอะเดื่อ
+อะดักอะแด้
+อะดุง
+อะตอม
+อะนะ
+อะนั้น
+อะนี้
+อะมีบา
+อะเมริเซียม
+อะร้าอร่าม
+อะไร
+อะลุ่มอล่วย
+อะลุ้มอล่วย
+อะลูมิเนียม
+อะหม
+อะไหล่
+อะอื้อ
+อะเอื้อย
+อัก
+อั้ก
+อั้กๆ
+อั๊ก
+อั๊กๆ
+อักกะ
+อักโกธะ
+อักข
+อักขร-
+อักขรวิธี
+อักขรวิบัติ
+อักขรสมัย
+อักขระ
+อักขรานุกรม
+อักขรานุกรมภูมิศาสตร์
+อักโข
+อักโขภิณี
+อักโขเภณี
+อักษร
+อักษร-
+อักษรกลาง
+อักษรต่ำ
+อักษรบฏ
+อักษรลักษณ์
+อักษรเลข
+อักษรศาสตร์
+อักษรสมัย
+อักษรสาสน์
+อักษรสูง
+อักษะ
+อักเษาหิณี
+อักเสบ
+อักอ่วน
+อัคคะ
+อัคคิ
+อัคคี
+อัคคีภัย
+อัคนิ
+อัคนิคณะ
+อัคนิพ่าห์
+อัคนิรุทร
+อัคนิวาหะ
+อัคนิโหตร
+อัคนี
+อัคร-
+อัครชายา
+อัครมหาเสนาบดี
+อัครมเหสี
+อัครราชทูต
+อัครสมณทูต
+อัง
+อังก์
+อังกนะ
+อังกฤษ
+อังกวด
+อังกะลุง
+อังกา
+อังกาบ
+อังกาบฝรั่ง
+อังกาบหนู
+อังกุร
+อังกุศ
+อังกูร
+อังคณะ
+อังคณา
+อังคาร
+อังคาส
+อังคีรส
+อังคุฐ
+อังฆาต
+อั้งยี่
+อั้งโล่
+อังศุ
+อังศุก
+อังศุธร
+อังศุมาลี
+อังส-
+อังสกุฏ
+อังสตรอม
+อังสนา
+อังสภาระ
+อังสะ
+อังสา
+อัจกลับ
+อัจจันต์
+อัจจัย
+อัจจิ
+อัจจิมา
+อัจจุต
+อัจเจกะ
+อัจฉรา
+อัจฉริย-
+อัจฉริยบุคคล
+อัจฉริยภาพ
+อัจฉริยลักษณ์
+อัจฉริยลักษณะ
+อัจฉริยะ
+อัจนา
+อัชฌัตติก-
+อัชฌา
+อัชฌาจาร
+อัชฌาศัย
+อัชฌาสัย
+อัญ-
+อัญขยม
+อัญชนะ
+อัญชลี
+อัญชัน
+อัญชันป่า
+อัญเชิญ
+อัญญะ
+อัญดิตถีย์
+อัญเดียรถีย์
+อัญประกาศ
+อัญประกาศเดี่ยว
+อัญมณี
+อัญมัญ-
+อัญรูป
+อัฏ
+อัฏฐ-
+อัฏฐะ
+อัฏฐังค์
+อัฏฐังคิกมรรค
+อัฏฐังสะ
+อัฏนา
+อัฐ
+อัฐเคราะห์
+อัฐทิศ
+อัฐบริขาร
+อัฐบาน
+อัฐม-
+อัฐมะ
+อัฐยายซื้อขนมยาย
+อัฐศก
+อัฐฬส
+อัฐิ
+อัฐิมิญชะ
+อัฐิสัณฐาน
+อัฒ-
+อัฒจันทร์
+อัฒภาค
+อัฒมณฑล
+อัฒมาส
+อัฒรัตติ
+อัณฑ-
+อัณฑโกส
+อัณฑชะ
+อัณฑะ
+อัณฑาการ
+อัณณพ
+อัด
+อัดก๊อบปี้
+อัดแจ
+อัดฉีด
+อัดแบตเตอรี่
+อัดแผ่นเสียง
+อัดรูป
+อัดลม
+อัดสำเนา
+อัดเสียง
+อัดอั้น
+อัดอั้นตันใจ
+อัดแอ
+อัต-
+อัตคัด
+อัตชีวประวัติ
+อัตตะ
+อัตตา
+อัตตาธิปไตย
+อัตถ์
+อัตถะ
+อัตนัย
+อัตโนมัติ
+อัตภาพ
+อัตรชะ
+อัตรา
+อัตราเร็ว
+อัตราส่วน
+อัตลัด
+อัตวินิบาตกรรม
+อัตหิต-
+อัตเหตุ
+อัททา
+อัทธ-
+อัทธ์
+อัทธคต
+อัทธคู
+อัทธา
+อัทธาน
+อัทธายุ
+อัธยาตมวิทยา
+อัธยาย
+อัธยาศัย
+อัน
+อั้น
+อั๋น
+อันดก
+อันดร
+อันดับ
+อันด๊าก
+อันโด๊ก
+อันต-
+อันตก
+อันตกาล
+อันตกิริยา
+อันตคุณ
+อันตคู
+อันตชาติ
+อันตร
+อันตร-
+อันตรการณ์
+อันตรธาน
+อันตรภาค
+อันตรวาสก
+อันตรา
+อันตราย
+อันตรายิกธรรม
+อันตลิกขะ
+อันตะ
+อั้นตั้น
+อันติก
+อันติม-
+อันติมสัจ
+อันติมะ
+อั้นตู้
+อันเต
+อันเตบุระ
+อันเตบุริก
+อันเตบุริกา
+อันเตปุระ
+อันเตปุริก
+อันเตปุริกา
+อันเตวาสิก
+อันโต
+อันโตชน
+อันโตนาที
+อันแถ้ง
+อันทุ
+อันโทล
+อันธ-
+อันธการ
+อันธพาล
+อันธิกา
+อันนะ
+อันนา
+อันเป็น
+อันเป็นไป
+อันโยนย-
+อันโยนยะ
+อันวย-
+อันวัย
+อันว่า
+อันเวส
+อั้นอ้น
+อับ
+อับจน
+อับเฉา
+อับปาง
+อับอาย
+อัป-
+อัปกะ
+อัปการ
+อัปฏิฆะ
+อัปฏิภาค
+อัปปะ
+อัปเปหิ
+อัปภาคย์
+อัปมงคล
+อัปยศ
+อัประมาณ
+อัประมาท
+อัประไมย
+อัปราชัย
+อัปรีย์
+อัปลักษณ์
+อัปสร
+อัพพุท
+อัพโพหาริก
+อัพภันดร
+อัพภันตร-
+อัพภาน
+อัพภาส
+อัม
+อัมพ-
+อัมพร
+อัมพฤกษ์
+อัมพวัน
+อัมพวา
+อัมพา
+อัมพาต
+อัมพิล
+อัมพุ
+อัมพุช
+อัมพุชินี
+อัมพุท
+อัยกะ
+อัยกา
+อัยการ
+อัยกี
+อัยยะ
+อัยยิกา
+อัลกุรอาน
+อัลตราไวโอเลต
+อั่ว
+อัศจรรย์
+อัศเจรีย์
+อัศว-
+อัศวโกวิท
+อัศวมุข
+อัศวมุขี
+อัศวเมธ
+อัศวยุช
+อัศวานึก
+อัศวิน
+อัศวินี
+อัษฎ-
+อัษฎกฉันท์
+อัษฎมงคล
+อัษฎมะ
+อัษฎางคิกมรรค
+อัษฎายุธ
+อัษฎาวุธ
+อัษฏมงคล
+อัส-
+อัสดง
+อัสดงคต
+อัสดม
+อัสดร
+อัสนี
+อัสมิมานะ
+อัสมุขี
+อัสสนี
+อัสสะ
+อัสสัตถพฤกษ์
+อัสสานิก
+อัสสานีก
+อัสสานึก
+อัสสาสะ
+อัสสุ
+อัสสุชล
+อัสสุธารา
+อา
+อ่า
+อ้า
+อากร
+อากรแสตมป์
+อากังขา
+อากัป
+อากัปกิริยา
+อากัมปนะ
+อากัมปะ
+อาการ
+อาการ-
+อาการนาม
+อากาศ
+อากาศ-
+อากาศธาตุ
+อากาศยาน
+อากูล
+อาเกียรณ์
+อาขยาต
+อาขยาน
+อาคเนย์
+อาคม
+อาครหายณี
+อาคันตุก-
+อาคันตุกภัต
+อาคันตุกวัตร
+อาคันตุกะ
+อาคาร
+อาคารชุด
+อาฆาต
+อาฆาตนะ
+อาฆาตมาดร้าย
+อ่าง
+อ้าง
+อ่างเก็บน้ำ
+อางขนาง
+อ้างว้าง
+อ้างอิง
+อาจ
+อาจม
+อาจมน
+อาจริย-
+อาจริยวัตร
+อาจริยวาท
+อาจหาญ
+อาจอง
+อาจเอื้อม
+อาจาด
+อาจาร
+อาจาร-
+อาจารย์
+อาจารี
+อาจิณ
+อาจิณ-
+อาจิณสมาจาร
+อาเจียน
+อาชญัปติ
+อาชญัปติ์
+อาชญา
+อาชญากร
+อาชญากรรม
+อาชญากรสงคราม
+อาชญาบท
+อาชญาบัตร
+อาชญาศึก
+อาชญาสิทธิ์
+อาชวะ
+อาชา
+อาชาน
+อาชานิ
+อาชาไนย
+อาชีพ
+อาชีว-
+อาชีวก
+อาชีวศึกษา
+อาชีวะ
+อ้าซ่า
+อาญา
+อาญาสิทธิ์
+อาฏานา
+อาณัติ
+อาณัติสัญญาณ
+อาณา
+อาณาเกษตร
+อาณาเขต
+อาณาจักร
+อาณานิคม
+อาณาประชาราษฎร์
+อาณาประโยชน์
+อาด
+อาดๆ
+อาดุร
+อาดุลย์
+อาดูร
+อาดูลย์
+อาเด๊ะ
+อาตม-
+อาตมทาน
+อาตมภาพ
+อาตมัน
+อาตมา
+อาตุร
+อาถรรพ์
+อาถรรพณ์
+อาถรรพณะ
+อาทร
+อาทาตา
+อาทาน
+อาทิ
+อาทิตย-
+อาทิตย์
+อาทิตยมณฑล
+อาทิตยวาร
+อาทีนพ
+อาทีนว
+อาทึก
+อาเทศ
+อาธรรม
+อาธรรม์
+อาธรรมิก
+อาธรรมึก
+อาธาน
+อาธาร
+อาน
+อ่าน
+อานก
+อานน
+อานนท์
+อานม้า
+อ่านเล่น
+อานะ
+อานันท์
+อานันทนะ
+อานัม
+อานาปาน
+อานาปาน-
+อานาปานัสสติ
+อานำ
+อานิก
+อานิสงส์
+อานุภาพ
+อานุภาวะ
+อาบ
+อาบแดด
+อาบน้ำร้อนมาก่อน
+อาบเหงื่อต่างน้ำ
+อาบเอิบ
+อาบัติ
+อาบัน
+อาปณกะ
+อาปณะ
+อาปะ
+อาปาน-
+อาปานภูมิ
+อาปานศาลา
+อาปานะ
+อาโป
+อาโปกสิณ
+อาโปธาตุ
+อาพัด
+อาพัทธ์
+อาพันธ์
+อาพันธนะ
+อาพาธ
+อาพาธิก
+อาพาธึก
+อาพิล
+อาเพศ
+อาภรณ์
+อาภัพ
+อาภัสระ
+อาภา
+อาภากร
+อาภาส
+อาม
+อ่าม
+อามลก
+อามัย
+อามิษ
+อามิส
+อาย
+อ้าย
+อ้ายขิก
+อ้ายเข้
+อ้ายงั่ว
+อ้ายเจี๊ยว
+อ้ายชื่น
+อายต
+อายตนะ
+อายน
+อ้ายบ้า
+อ้ายเบี้ยว
+อ้ายป๊อก
+อายเหนียม
+อ้ายอ้าว
+อายัด
+อายัต
+อายัน
+อายาจนะ
+อายาน
+อายุ
+อายุกตกะ
+อายุกษัย
+อายุขัย
+อายุความ
+อายุตกะ
+อายุธ
+อายุร-
+อายุรแพทย์
+อายุรเวช
+อายุรเวท
+อายุรศาสตร์
+อายุวัฒนะ
+อายุษ
+อาร์กอน
+อารดี
+อาร์ต
+อารติ
+อารทรา
+อาร์ม
+อารมณ์
+อารมณ์ขัน
+อารย-
+อารยชน
+อารยชาติ
+อารยธรรม
+อารยประเทศ
+อารยะ
+อารยัน
+อาระ
+อารักขา
+อารักษ์
+อารัญ
+อารัญญิก
+อารัณย์
+อารัณยกะ
+อารัติ
+อารัมภ-
+อารัมภ์
+อารัมภกถา
+อารัมภบท
+อาราธน์
+อาราธนา
+อาราธนาธรรม
+อาราธนาพระปริตร
+อาราธนาศีล
+อาราม
+อารามิก
+อารี
+อารีอารอบ
+อารุม
+อาลปน์
+อาลปนะ
+อาละวาด
+อาลักษณ์
+อาลัย
+อาลัยอาวรณ์
+อาลัว
+อาลิ
+อาลี
+อาโลก
+อาโลก-
+อาโลกกสิณ
+อาโลกนะ
+อาว
+อ่าว
+อ้าว
+อาวรณ์
+อาวัชนาการ
+อาวัล
+อาวาส
+อาวาสิก
+อาวาห-
+อาวาหะ
+อาวิล
+อาวุต
+อาวุธ
+อาวุโส
+อาเวค
+อาเวศ
+อาศรม
+อาศรมบท
+อาศเลษา
+อาศัย
+อาศัยที่
+อาศัยลำแข้งตัวเอง
+อาศิร-
+อาศิรพจน์
+อาศิรพาท
+อาศิรพิษ
+อาศิรวจนะ
+อาศิรวาท
+อาศิรวิษ
+อาศีรพิษ
+อาศีรวิษ
+อาศุ
+อาเศียร-
+อาเศียรพจน์
+อาเศียรพาท
+อาเศียรวจนะ
+อาเศียรวาท
+อาษาฒ
+อาสน
+อาสน์
+อาสน์สงฆ์
+อาสนะ
+อาสัญ
+อาสัตย์
+อาสันนะ
+อาสา
+อาสาฬห-
+อาสาฬห์
+อาสาฬหบูชา
+อาสิญจ์
+อาสิน
+อาสูร
+อาแสะ
+อาหต
+อาหนี
+อาหนู
+อาหม
+อาหร
+อาหรัดกัดติกา
+อาหรับ
+อาหลักอาเหลื่อ
+อาหาร
+อาหารว่าง
+อาหุดี
+อาฬหก
+อาฬาริก
+อ่าองค์
+อำ
+อ่ำ
+อำแดง
+อำนด
+อำนนต์
+อำนรรฆ
+อำนวย
+อำนาจ
+อำนาจบาตรใหญ่
+อำนาถ
+อำนิฐ
+อำนิษฐ์
+อำปลัง
+อำพน
+อำพราง
+อำพะนำ
+อำพัน
+อำพันขี้ปลา
+อำพันทอง
+อำไพ
+อำเภอ
+อำเภอใจ
+อำมร
+อำมฤคโชค
+อำมฤต
+อำมหิต
+อำมาตย์
+อำยวน
+อำรุง
+อำลา
+อำอวม
+อ้ำอึ้ง
+อิก
+อิง
+อิงค์
+อิงอร
+อิงแอบ
+อิจฉา
+อิฉัน
+อิชยา
+อิฏฐ-
+อิฏฐารมณ์
+อิฐ-
+อิฐผล
+อิณ
+อิด
+อิดโรย
+อิดหนาระอาใจ
+อิดออด
+อิดๆ ออดๆ
+อิดเอื้อน
+อิดๆ เอื้อนๆ
+อิตถี
+อิตถีลิงค์
+อิตเทรียม
+อิตเทอร์เบียม
+อิทธิ
+อิทธิ-
+อิทธิปาฏิหาริย์
+อิทธิพล
+อิทธิฤทธิ์
+อิน
+อินซูลิน
+อินเดีย
+อินเดียนแดง
+อินเดียม
+อินท์
+อินทขีล
+อินทนิล
+อินทนิลน้ำ
+อินทผลัม
+อินทร-
+อินทร์
+อินทรธนู
+อินทรวงศ์
+อินทรวิเชียร
+อินทรศักดิ์
+อินทราณี
+อินทราภิเษก
+อินทรายุธ
+อินทรี
+อินทรีย-
+อินทรีย์
+อินทรียโคจร
+อินทรียญาณ
+อินทรียสังวร
+อินทีวร
+อินทุ
+อินธน์
+อินฟราเรด
+อินัง
+อินังขังขอบ
+อิ่ม
+อิ่มใจ
+อิ่มตัว
+อิ่มหนำ
+อิ่มหมีพีมัน
+อิ่มอกอิ่มใจ
+อิ่มเอิบ
+อิมัลชัน
+อิริเดียม
+อิริยา
+อิริยาบถ
+อิรุพเพท
+อิลู
+อิเล็กตรอน
+อิเล็กทรอนิกส์
+อิเล็กโทน
+อิศร
+อิศวร
+อิษฏ์
+อิษฏี
+อิส
+อิสตรี
+อิสร-
+อิสรภาพ
+อิสระ
+อิสริย-
+อิสริยยศ
+อิสริยะ
+อิสริยาภรณ์
+อิสลาม
+อิสสา
+อิสัตรี
+อิสิ
+อิสี
+อิหม่าม
+อิหลักอิเหลื่อ
+อี
+อี่
+อี้
+อี๊
+อี๋
+อีก
+อีก้อ
+อีก๋อย
+อีกา
+อีก๋า
+อีเก้ง
+อีเกร็ง
+อีเก้อีกัง
+อีแก
+อีแก่
+อีแก้
+อีโก้ง
+อีโก๊ะ
+อีคว่ำอีหงาย
+อีจู้
+อีฉัน
+อีฉุยอีแฉก
+อีชุก
+อี๊ด
+อีดำอีแดง
+อีตาล
+อีเต้อ
+อีโต้
+อีถ่าง
+อีทุก
+อีทุบ
+อีเทอร์
+อีนุงตุงนัง
+อีนูน
+อีโน
+อีโนงโตงเนง
+อีบึ้ง
+อีเป็ด
+อีเป้า
+อีแปะ
+อีโปง
+อีโปงครอบ
+อีเพา
+อีมู
+อีรม
+อีรุ้ง
+อีลอง
+อีล่อยป่อยแอ
+อีลุ้ม
+อีลุ่ยฉุยแฉก
+อีเลิ้ง
+อีแล่ง
+อีโลง
+อีศ
+อีศวร
+อีส
+อีสา
+อีสาน
+อีสุกอีใส
+อีหน็องอีแหน็ง
+อีหรอบ
+อีหรอบเดียวกัน
+อีหลักอีเหลื่อ
+อีหลัดถัดทา
+อีหลี
+อีหลุกขลุกขลัก
+อีหลุกขลุกขลุ่ย
+อีหลุยฉุยแฉก
+อีเห็น
+อีเหน็บ
+อีเหนียว
+อีเหละเขละขละ
+อีเหละเขะขะ
+อีโหน่อีเหน่
+อีโหลกโขลกเขลก
+อี๋อ๋อ
+อีแอ่น
+อึ
+อึก
+อึ๊ก
+อึกทึก
+อึกอัก
+อึง
+อึ่ง
+อึ้ง
+อึงคะนึง
+อึงมี่
+อึ่งยาง
+อึ่งใหญ่
+อึงอล
+อึ่งอ่าง
+อึด
+อึดใจ
+อึดตะปือ
+อึ้ดทึ่ด
+อึดอัด
+อึน
+อืด
+อืดอาด
+อื่น
+อื้น
+อือ
+อื้อ
+อื้อฉาว
+อื้ออึง
+อุ
+อุก
+อุกกา
+อุกกาบาต
+อุกฉกรรจ์
+อุกฤษฏ์
+อุกลา
+อุกลาบาต
+อุกอาจ
+อุค
+อุคร
+อุคห-
+อุคหนิมิต
+อุคหะ
+อุโฆษ
+อุ้ง
+อุจ
+อุจจาร-
+อุจจารมรรค
+อุจจาระ
+อุจฉุ
+อุจเฉท
+อุจเฉท-
+อุจเฉททิฐิ
+อุจาด
+อุชุ
+อุฏฐาการ
+อุณห-
+อุณหภูมิ
+อุณหะ
+อุณหาการ
+อุณหิส
+อุณา
+อุณานาภี
+อุณาโลม
+อุด
+อุดเตา
+อุดม
+อุดม-
+อุดมการณ์
+อุดมคติ
+อุดมศึกษา
+อุดร
+อุดหนุน
+อุดอู้
+อุดากัน
+อุตดม
+อุตดร
+อุตตมะ
+อุตตรผลคุนี
+อุตตรภัทรบท
+อุตตรอาษาฒ
+อุตตราสาฬหะ
+อุตตะภัททะ
+อุตบล
+อุตพิด
+อุตพิดผี
+อุตม-
+อุตมภาพ
+อุตมัตถ์
+อุตมางค์
+อุตร-
+อุตรกุรุ
+อุตรกุรู
+อุตรนิกาย
+อุตรผลคุนี
+อุตรภัทรบท
+อุตรา
+อุตราภิมุข
+อุตราวัฏ
+อุตราษาฒ
+อุตราสงค์
+อุตริ
+อุตริมนุสธรรม
+อุตลุด
+อุตสาห-
+อุตส่าห์
+อุตสาหกรรม
+อุตสาหกรรมศิลป์
+อุตสาหะ
+อุตุ
+อุตุนิยมวิทยา
+อุท-
+อุทก
+อุทก-
+อุทกธาร
+อุทกธารา
+อุทกภัย
+อุทกวิทยา
+อุทกศาสตร์
+อุททาม
+อุทธรณ์
+อุทธัจ
+อุทบาตร
+อุทบาน
+อุทพินทุ์
+อุทยาน
+อุทยานแห่งชาติ
+อุทร
+อุทริยะ
+อุทลุม
+อุทัช
+อุทัย
+อุทาน
+อุทาร
+อุทาหรณ์
+อุทิศ
+อุทุมพร
+อุเทศ
+อุธัจ
+อุ่น
+อุ่นเครื่อง
+อุ่นใจ
+อุ่นหนาฝาคั่ง
+อุนากัน
+อุบ
+อุบล
+อุบอิบ
+อุบะ
+อุบ๊ะ
+อุบัติ
+อุบัติ-
+อุบัติภัย
+อุบัติเหตุ
+อุบาท
+อุบาทว์
+อุบาย
+อุบาสก
+อุบาสิกา
+อุเบกขา
+อุโบสถ
+อุโบสถกรรม
+อุโบสถหัตถี
+อุป
+อุปกรณ์
+อุปกรม
+อุปการ-
+อุปการะ
+อุปการี
+อุปกิณณะ
+อุปกิเลส
+อุปจาร
+อุปถัมภ์
+อุปถัมภก
+อุปทม
+อุปทูต
+อุปเทศ
+อุปเท่ห์
+อุปธิ
+อุปนัย
+อุปนิกขิต
+อุปนิกษิต
+อุปนิษัท
+อุปนิสัย
+อุปบล
+อุปบัติ
+อุปบาท
+อุปปาติก-
+อุปพัทธ์
+อุปพันธ์
+อุปโภค
+อุปมา
+อุปมาน
+อุปมาโวหาร
+อุปมาอุปไมย
+อุปไมย
+อุปยุวราช
+อุปโยค
+อุปโยคบุรพบท
+อุปรากร
+อุปราคา
+อุปราช
+อุปริ
+อุปริจร
+อุปริพุทธิ
+อุปริภาค
+อุปริภาพ
+อุปริม-
+อุปริมปริยาย
+อุปริวัสน์
+อุปริสัจ
+อุปโลกน์
+อุปสมบท
+อุปสมบทกรรม
+อุปสมบัน
+อุปสรรค
+อุปสัมบัน
+อุปสัมปทา
+อุปสัมปทาเปกข์
+อุปสัมปทาเปกษ์
+อุปฮาด
+อุปัชฌาย-
+อุปัชฌาย์
+อุปัชฌายวัตร
+อุปัชฌายะ
+อุปัฏฐาก
+อุปัฏฐานะ
+อุปัทรพ
+อุปัทว-
+อุปัทวะ
+อุปัทวันตราย
+อุปาณ-
+อุปาทาน
+อุปาธยาย
+อุปาหนา
+อุภัย
+อุ้ม
+อุมงค์
+อุ้มชู
+อุ้มท้อง
+อุ้มน้ำ
+อุ้มสม
+อุโมงค์
+อุย
+อุ่ย
+อุ้ย
+อุ๊ย
+อุยยาน
+อุยยาม
+อุ้ยยุ้ย
+อุยโยค
+อุยหน่า
+อุ่ยหน่า
+อุ้ยอ้าย
+อุร-
+อุรค
+อุรเคนทร์
+อุรณ
+อุรพี
+อุรส
+อุระ
+อุรังอุตัง
+อุรัจฉทะ
+อุรัจฉัท
+อุรา
+อุรุ
+อุไร
+อุลปนะ
+อุลโลจ
+อุลโลละ
+อุลามก
+อุลิด
+อุลูก
+อุโลก
+อุแว้
+อุษณ-
+อุษณกร
+อุษณกาล
+อุษณรัศมี
+อุษณรูจี
+อุษณาการ
+อุษณีษ์
+อุษม
+อุษมัน
+อุษา
+อุษาโยค
+อุสภ
+อุสวะ
+อุสส่าห์
+อุสสาหะ
+อุสา
+อุสุ
+อุสุการ
+อุสุภ
+อุสุม
+อุหรับ
+อุหลบ
+อุเหม่
+อุฬาร
+อู
+อู่
+อู้
+อูฐ
+อูด
+อู่น้ำ
+อูม
+อูย
+อูรุ
+อู่ลอย
+อู่แห้ง
+อู้อี้
+อู๋อี๋
+เอ
+เอ้
+เอก
+เอก-
+เอ๊ก
+เอกเขนก
+เอกจิต
+เอกฉันท์
+เอกชน
+เอกซเรย์
+เอกเทศ
+เอกโทษ
+เอกนัย
+เอกบุคคล
+เอกบุรุษ
+เอกพจน์
+เอกภพ
+เอกภริยา
+เอกภักดิ์
+เอกภาคี
+เอกภาพ
+เอกม
+เอกมัย
+เอกรรถประโยค
+เอกรส
+เอกระ
+เอกราช
+เอกรูป
+เอกลักษณ์
+เอกศก
+เอกส
+เอกสาร
+เอกสารราชการ
+เอกสารสิทธิ
+เอกสิทธิ์
+เอกอัครราชทูต
+เอกอัครสมณทูต
+เอกอุ
+เอกัคตา
+เอกังสพยากรณ์
+เอกังสวาที
+เอกา
+เอ้กา
+เอกาธิปไตย
+เอเคอร์
+เอง
+เอ็ง
+เอ๋ง
+เอ็ด
+เอ็ดตะโร
+เอ็ดอึง
+เอตทัคคะ
+เอ้เต
+เอทิลแอลกอฮอล์
+เอน
+เอ็น
+เอนกาย
+เอนไซม์
+เอ็นดู
+เอนตัว
+เอนหลัง
+เอ็นอ่อน
+เอนเอียง
+เอม
+เอ็มบริโอ
+เอมอร
+เอมโอช
+เอย
+เอ่ย
+เอ๊ย
+เอ๋ย
+เอร็ดอร่อย
+เอราวัณ
+เอลา
+เอลาฬุก
+เอว
+เอ๊ว
+เอวัง
+เอฬก
+เอฬา
+เออ
+เอ่อ
+เออๆ คะๆ
+เออน่ะ
+เออแน่ะ
+เออร์เบียม
+เอ้อระเหย
+เอ้อเร้อ
+เอ้อเร้อเอ้อเต่อ
+เอออวย
+เออออ
+เออออห่อหมก
+เอ้อเฮอ
+เอ้แอ่น
+เอ้ๆ แอ่นๆ
+เอ๊ะ
+เอะใจ
+เอะอะ
+เอะอะมะเทิ่ง
+เอา
+เอาการ
+เอาการเอางาน
+เอากุ้งฝอยไปตกปลากะพง
+เอาข้างเข้าถู
+เอางาน
+เอาจมูกผู้อื่นมาหายใจ
+เอาจริง
+เอาจริงเอาจัง
+เอาใจ
+เอาใจช่วย
+เอาใจใส่
+เอาชนะ
+เอาชั้นเอาเชิง
+เอาชัย
+เอาชีวิต
+เอาชื่อ
+เอาเชิง
+เอาใช้
+เอาดีเอาเด่น
+เอาตาย
+เอาแต่
+เอาแต่ใจ
+เอาถ่าน
+เอาเถิด
+เอาเถิดเจ้าล่อ
+เอาทองไปรู่กระเบื้อง
+เอาทาร
+เอาทารย์
+เอาน้ำเย็นเข้าลูบ
+เอาน้ำลูบท้อง
+เอาเนื้อหนูไปปะเนื้อช้าง
+เอาบุญเอาคุณ
+เอาปูนหมายหัว
+เอาเป็นธุระ
+เอาเป็นว่า
+เอาเป็นเอาตาย
+เอาเปรียบ
+เอาผิด
+เอาพิมเสนไปแลกเกลือ
+เอามะพร้าวห้าวไปขายสวน
+เอามือซุกหีบ
+เอาไม้ซีกไปงัดไม้ซุง
+เอาไม้สั้นไปรันขี้
+เอารส
+เอารัดเอาเปรียบ
+เอาเรื่อง
+เอาฤกษ์
+เอาละ
+เอาเลย
+เอาเลือดกับปู
+เอาหน้า
+เอาหูไปนา เอาตาไปไร่
+เอาใหญ่
+เอาฬาร
+เอาฬาริก
+เอาฬารึก
+เอาอกเอาใจ
+เอาอย่าง
+เอาอยู่
+เอาะลาย
+เอิก
+เอิกเกริก
+เอิ้น
+เอิบ
+เอิบอาบ
+เอียง
+เอี้ยง
+เอี้ยงคำ
+เอียงอาย
+เอียงเอน
+เอียด
+เอี๊ยด
+เอียน
+เอี่ยน
+เอี่ยม
+เอี๊ยม
+เอี้ยมจุ๊น
+เอี้ยมเฟี้ยม
+เอี่ยมอ่อง
+เอี่ยว
+เอี้ยว
+เอี่ยวลม
+เอื้อ
+เอื้อง
+เอื้องครั่ง
+เอื้องน้ำครั่ง
+เอื้องศรีเที่ยง
+เอื้องหนวดพราหมณ์
+เอือด
+เอือน
+เอื้อน
+เอือนกิน
+เอื้อเฟื้อ
+เอือม
+เอื้อม
+เอื้อมอาจ
+เอื่อย
+เอื่อยๆ
+เอื้อย
+เอื้ออำนวย
+แอ
+แอ้
+แอ๋
+แอก
+แอกทิเนียม
+แอกน้อย
+แอ่ง
+แอ้งแม้ง
+แอด
+แอดๆ
+แอ้ด
+แอ้ดๆ
+แอ๊ด
+แอ๊ดๆ
+แอ่น
+แอนติเจน
+แอนติบอดี
+แอนติอิเล็กตรอน
+แอ่นลม
+แอโนด
+แอบ
+แอบแฝง
+แอบอ้าง
+แอบอิง
+แอ้ม
+แอมแปร์
+แอมมิเตอร์
+แอมโมเนีย
+แอร่ม
+แอลกอฮอล์
+แอลฟา
+แอว
+แอ่ว
+แอ้วแซ่ว
+แอสทาทีน
+แอสไพริน
+แอสฟัลต์
+แอหนัง
+แออวย
+แออัด
+โอ
+โอ่
+โอ้
+โอ๋
+โอก
+โอ้ก
+โอ๊ก
+โอกาส
+โอฆ-
+โอฆชล
+โอฆสงสาร
+โอฆะ
+โอ่ง
+โองการ
+โองโขดง
+โอ่งมังกร
+โอชะ
+โอชา
+โอโซน
+โอฐ
+โอด
+โอดกาเหว่า
+โอดครวญ
+โอดโอย
+โอ๊ต
+โอตตัปปะ
+โอ่โถง
+โอ้โถง
+โอทน-
+โอทนะ
+โอน
+โอนกรรมสิทธิ์
+โอนชาติ
+โอนอ่อน
+โอนเอน
+โอบ
+โอบอ้อมอารี
+โอบอุ้ม
+โอบเอื้อ
+โอปปาติกะ
+โอภา
+โอภาปราศรัย
+โอภาส
+โอม
+โอย
+โอ๊ย
+โอร-
+โอรส
+โอละพ่อ
+โอลิมปิก
+โอ้โลม
+โอ้โลมปฏิโลม
+โอ้ว่า
+โอวาท
+โอษฐ-
+โอษฐ์
+โอษฐชะ
+โอษฐภัย
+โอสถ
+โอสถ-
+โอสถกรรม
+โอสาน
+โอหนอ
+โอห์ม
+โอห์มมิเตอร์
+โอหัง
+โอฬาร
+โอฬาริก
+โอฬารึก
+โอ่อวด
+โอ้อวด
+โอ่อ่า
+โอ้เอ้
+โอเอซิส
+โอ้โฮ
+ไอ
+ไอ้
+ไอกรน
+ไอโซโทป
+ไอแดด
+ไอตัว
+ไอน์สไตเนียม
+ไอพ่น
+ไอพิษ
+ไอยรา
+ไอยเรศ
+ไอราพต
+ไอราวัณ
+ไอศกรีม
+ไอศวรรย์
+ไอศุริย-
+ไอศุริยสมบัติ
+ไอศูรย์
+ไอเสีย
+ไอออน
+ไอโอดีน
+ฮ
+ฮกเกี้ยน
+ฮด
+ฮวงซุ้ย
+ฮวน
+ฮ้วนหมู
+ฮวบ
+ฮวบฮาบ
+ฮ่อ
+ฮ้อ
+ฮอกกี้
+ฮอด
+ฮ่อม
+ฮ่อมดง
+ฮ่อมเมือง
+ฮอร์โมน
+ฮอลแลนด์
+ฮอลันดา
+ฮะ
+ฮะฮ้าย
+ฮะไฮ้
+ฮัก
+ฮักๆ
+ฮังเล
+ฮัจญ์
+ฮัจญะฮ์
+ฮัจญี
+ฮั่น
+ฮา
+ฮ้า
+ฮ่างหลวง
+ฮาป่า
+ฮาม
+ฮาเร็ม
+ฮาห์เนียม
+ฮ้าไฮ้
+ฮิจเราะห์
+ฮินดู
+ฮิปโปโปเตมัส
+ฮิสทีเรีย
+ฮีเลียม
+ฮึ
+ฮึก
+ฮึกหาญ
+ฮึกห้าว
+ฮึกเหิม
+ฮึกโหม
+ฮึกฮัก
+ฮึด
+ฮึดฮัด
+ฮึ่ม
+ฮึย
+ฮึยๆ
+ฮึ่ย
+ฮืดฮาด
+ฮือ
+ฮือๆ
+ฮื่อ
+ฮื้อ
+ฮุด
+ฮุบ
+ฮุยเลฮุย
+ฮู้
+ฮูก
+ฮูม
+เฮ
+เฮกตาร์
+เฮกโตกรัม
+เฮกโตเมตร
+เฮกโตลิตร
+เฮง
+เฮงซวย
+เฮ็ด
+เฮโมโกลบิน
+เฮย
+เฮ้ย
+เฮโรอีน
+เฮลิคอปเตอร์
+เฮโลสาระพา
+เฮ้ว
+เฮอ
+เฮ้อ
+เฮฮา
+เฮิรตซ์
+เฮี้ยน
+เฮี้ยบ
+เฮี้ยว
+เฮือก
+เฮือกๆ
+เฮือกสุดท้าย
+เฮือน
+แฮ
+แฮ่
+แฮก
+แฮกๆ
+แฮ่กึ๊น
+แฮนด์บอล
+แฮฟเนียม
+แฮม
+แฮะ
+โฮ
+โฮก
+โฮกอือ
+โฮกฮาก
+โฮเต็ล
+โฮลเมียม
+โฮะ
+ไฮ้
+ไฮโกรมิเตอร์
+ไฮดรา
+ไฮโดรคาร์บอน
+ไฮโดรเจน
+ไฮโดรเจนซัลไฟด์
+ไฮโดรเจนเพอร์ออกไซด์
+ไฮโดรมิเตอร์
+ไฮไฟ
+ไฮโล
+ไฮฮี
diff --git a/src/com/ibm/icu/dev/data/testdata.jar b/src/com/ibm/icu/dev/data/testdata.jar
new file mode 100644
index 0000000..9dc5464
--- /dev/null
+++ b/src/com/ibm/icu/dev/data/testdata.jar
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:01b5c1ce2d33b55cae5a0f392995882595ff606629097fb9cd4cd2fbd371536c
+size 662286
diff --git a/src/com/ibm/icu/dev/data/th18057.txt b/src/com/ibm/icu/dev/data/th18057.txt
new file mode 100644
index 0000000..c995e70
--- /dev/null
+++ b/src/com/ibm/icu/dev/data/th18057.txt
@@ -0,0 +1,17917 @@
+﻿#*******************************************************************************
+#*
+#*   Copyright (C) 1998-2004, International Business Machines
+#*   Corporation and others.  All Rights Reserved.
+#*
+#*******************************************************************************
+
+# 
+# Sorted Thai word list used for testing the ThaiCollator class.
+# This list was taken from the Web: <http://seasrc.th.net/dict/dict.htm>
+# and some obvious garbage lines (nulls, etc) were deleted
+#
+# Lines starting with '#' are ignored; others are treated as single words
+# in the UTF-8 encoding.
+#
+# [12/15/99 aliu] recoded from TIS-620 to UTF-8
+#
+ก
+ก็
+กก
+ก๊ก
+กกขนาก
+กกัณฏกะ
+กกุฏ
+กกุท
+กกุธภัณฑ์
+กกุสันโธ
+กง
+ก่ง
+ก้ง
+ก๊ง
+กงกอน
+กงการ
+กงโก้
+ก้งโค้ง
+ก้งง
+กงฉาก
+กงไฉ่
+กงเต็ก
+กงสี
+กงสุล
+กช
+กชกร
+กฎุมพี
+กฏ
+กฏหมาย
+กฏะ
+กฏาหะ
+กฏิ
+กฏุก
+กฐิน
+กฐินกาล
+กฐินต้น
+กฐินทาน
+กฐินราษฎร์
+กฐินหลวง
+กฐินัตถารกรรม
+กฐินุทธาระ
+กณิกนันต์
+กณิการ์
+กเณรุ
+กเณรุกา
+กด
+กดคัง
+กดแดง
+กดทะเล
+กดโป๊ะ
+กดหัวโต
+กดเหลือง
+กตญาณ
+กตมาลี
+กตเวทิตา
+กตเวที
+กตัญชลี
+กตัญญุตา
+กตัญญู
+กตาธิการ
+กตาภินิหาร
+กติกา
+กถา
+กถิก
+กถิกาจารย์
+กทรรป
+กทลิมฤค
+กทลี
+กน
+ก่น
+ก้น
+กนก
+กนน
+กนนเชอ
+ก่นนโถง
+กนนเหิม
+กนิษฐ์
+กนิษฐา
+กบ
+กบฏ
+กบดาน
+กบดำกบแดง
+กบทู
+กบาล
+กบินทร์
+กบิล
+กบิลพัสดุ์
+กบี่
+กบูร
+กเบนทร์
+กโบร
+กโบล
+กปณ
+กปณก
+กปณา
+กปิ
+กปิตัน
+กม
+ก้ม
+กมณฑลาภิเษก
+กมณฑโลทก
+กมล
+กมลขัณฑ์
+กมลครรภ์
+กมลฉันท์
+กมลพานธพ
+กมลา
+กมลาศ
+กมลาสน์
+กมเลศ
+กมัณฑลุ
+กมุท
+กร
+กรก
+กรกฎ
+กรกฎาคม
+กรง
+กรชกาย
+กรณฑ์
+กรณิการ์
+กรณี
+กรณีย์
+กรณียะ
+กรด
+กรน
+กรนทา
+กรนนเช้า
+กรบ
+กรบูร
+กรพินธุ์
+กรภก
+กรภิน
+กรภีร์
+กรภุม
+กรม
+กรมกรอม
+กรมการ
+กรมการพิเศษ
+กรมเกรียม
+กรมขุน
+กรมชะแม่
+กรมท่า
+กรมท่ากลาง
+กรมท่าขวา
+กรมท่าซ้าย
+กรมธรรม์
+กรมนครบาล
+กรมนา
+กรมพระ
+กรมพระกลาโหม
+กรมพระยา
+กรมมหาดไทย
+กรมเมือง
+กรมวัง
+กรมศักดิ
+กรมสมเด็จ
+กรมหมื่น
+กรมหลวง
+กรมัฏฏ์
+กรร
+กรรไกร
+กรรเจียก
+กรรชิง
+กรรชิด
+กรรเชอ
+กรรเช้า
+กรรเชียง
+กรรโชก
+กรรซ้นน
+กรรแซง
+กรรฐ์
+กรรฐา
+กรรณ
+กรรณิการ์
+กรรดิ
+กรรดิก
+กรรดึก
+กรรตุ
+กรรไตร
+กรรทบ
+กรรแทก
+กรรแทรก
+กรรบาสิก
+กรรบิด
+กรรบูร
+กรรปาสิก
+กรรปุระ
+กรรพุม
+กรรพุ่ม
+กรรภิรมย์
+กรรม
+กรรม์
+กรรมาชีพ
+กรรมาธิการ
+กรรมาร
+กรรลี
+กรรลึง
+กรรษก
+กรรสะ
+กรรแสง
+กรรหาย
+กรรเหิม
+กรรโหย
+กรรเอา
+กรรุณา
+กรวด
+กรวน
+กรวบ
+กรวม
+กร้วม
+กรวย
+กรวิก
+กรสาปน์
+กรสุทธิ์
+กรอ
+กร้อ
+กรอก
+กร็อกกร๋อย
+กรอกแกรก
+กรอง
+กรองกรอย
+กรอด
+กร่อน
+กรอบ
+กรอม
+กร่อม
+กร่อย
+กระ
+กระกร
+กระกรับกระเกรียบ
+กระกรี๊ด
+กระกรุ่น
+กระกลับกลอก
+กระกวด
+กระกอง
+กระกัด
+กระกี้
+กระกูล
+กระเกรอก
+กระเกริก
+กระเกริ่น
+กระเกรียบ
+กระเกรียม
+กระเกรียว
+กระเกรี้ยว
+กระเกลือก
+กระคน
+กระคาย
+กระคุก
+กระงกกระงัน
+กระงกกระเงิ่น
+กระง่องกระแง่ง
+กระงอด
+กระง่อนกระแง่น
+กระโงก
+กระจก
+กระจง
+กระจร
+กระจอก
+กระจองหง่อง
+กระจองอแง
+กระจ้อน
+กระจอนหู
+กระจ้อย
+กระจ๋อหวอ
+กระจะ
+กระจัก
+กระจัง
+กระจังหลังเบี้ย
+กระจัด
+กระจับ
+กระจับปิ้ง
+กระจับปี่
+กระจ่า
+กระจ่าง
+กระจาด
+กระจาน
+กระจาบ
+กระจาม
+กระจาย
+กระจาว
+กระจิก
+กระจิ๋ง
+กระจิด
+กระจิบ
+กระจิ๋ม
+กระจิริด
+กระจิ๋ว
+กระจี้
+กระจี๋
+กระจุก
+กระจุ๋งกระจิ๋ง
+กระจุบ
+กระจุ๊บ
+กระจุบกระจิบ
+กระจุ๋มกระจิ๋ม
+กระจุย
+กระจู้
+กระจู๋กระจี๋
+กระจูด
+กระเจอะกระเจิง
+กระเจา
+กระเจ่า
+กระเจ้า
+กระเจาะ
+กระเจิง
+กระเจิดกระเจิง
+กระเจี้ยง
+กระเจี๊ยบ
+กระเจียว
+กระเจี๊ยว
+กระแจะ
+กระโจน
+กระโจม
+กระฉง
+กระฉอก
+กระฉ่อน
+กระฉับกระเฉง
+กระฉิ่ง
+กระฉีก
+กระฉุก
+กระฉูด
+กระเฉก
+กระเฉง
+กระเฉด
+กระแฉก
+กระแฉ่น
+กระโฉกกระเฉก
+กระโฉม
+กระชง
+กระชดกระช้อย
+กระชวย
+กระชอก
+กระชอน
+กระชอม
+กระชอมดอก
+กระช้อย
+กระช้อยนางรำ
+กระชัง
+กระชั้น
+กระชับ
+กระชาก
+กระช่าง
+กระชาเดิม
+กระชาย
+กระชิง
+กระชิด
+กระชุ
+กระชุก
+กระชุ่มกระชวย
+กระเชอ
+กระเชา
+กระเช้า
+กระเชียง
+กระแชง
+กระแชะ
+กระโชก
+กระซวย
+กระซ้อ
+กระซ่องกระแซ่ง
+กระซับ
+กระซับปากเรือ
+กระซ่าง
+กระซาบ
+กระซิก
+กระซิบ
+กระซี้
+กระซี้กระซ้อ
+กระซุง
+กระซุบกระซิบ
+กระซุ้ม
+กระซู่
+กระเซ
+กระเซ็น
+กระเซอ
+กระเซอะกระเซอ
+กระเซอะกระเซิง
+กระเซ้า
+กระเซิง
+กระแซ
+กระแซะ
+กระโซกระเซ
+กระฎี
+กระฎุมพี
+กระดก
+กระด้ง
+กระดนโด่
+กระดวง
+กระดวน
+กระด้วมกระเดี้ยม
+กระดอ
+กระดอง
+กระดองหาย
+กระดอน
+กระดอม
+กระดักกระเดี้ย
+กระดังงัว
+กระดังงา
+กระดาก
+กระด้าง
+กระดางลาง
+กระดาด
+กระดาดขาว
+กระดาน
+กระดาษ
+กระดาษเทศ
+กระดำกระด่าง
+กระดิก
+กระดิ่ง
+กระดิ้ง
+กระดิ่งทอง
+กระดิบๆ
+กระดี่
+กระดี้กระเดียม
+กระดี่หม้อ
+กระดึง
+กระดืบ
+กระดุ
+กระดุกกระดิก
+กระดุ้งกระดิ้ง
+กระดุบๆ
+กระดุบกระดิบ
+กระดุม
+กระดูก
+กระเด้ง
+กระเด็น
+กระเด้า
+กระเดาะ
+กระเดิด
+กระเดี้ย
+กระเดียด
+กระเดียม
+กระเดี้ยม
+กระเดือก
+กระเดื่อง
+กระแด็กๆ
+กระแด้ง
+กระแด้แร่
+กระแด่วๆ
+กระแดะ
+กระโดก
+กระโดง
+กระโดงแดง
+กระโดด
+กระโดน
+กระใด
+กระได
+กระตรกกระตรำ
+กระตร้อ
+กระตรับ
+กระตราก
+กระตรำ
+กระตรุด
+กระตรุม
+กระต้วมกระเตี้ยม
+กระต้อ
+กระต่องกระแต่ง
+กระต๊อบ
+กระต่อม { กฺระต่อม }
+กระต้อยตีวิด
+กระตัก
+กระตั้ว
+กระตาก
+กระต๊าก
+กระต่าย
+กระติก
+กระติ้ง
+กระติ๊ด
+กระติบ
+กระตือรือร้น
+กระตุก
+กระตุกกระติก
+กระตุ้งกระติ้ง
+กระตุ่น
+กระตุ้น
+กระตูบ
+กระเตง
+กระเต็น
+กระเตอะ
+กระเต่า
+กระเตาะ
+กระเตาะกระแตะ
+กระเตี้ยม
+กระเตื้อง
+กระแต
+กระแต่ง
+กระแตแต้แว้ด
+กระแตวับ
+กระแตะ
+กระโตกกระตาก
+กระโตน
+กระไตร
+กระถด
+กระถอบ
+กระถั่ว
+กระถาง
+กระถิก
+กระถิน
+กระถึก
+กระเถิบ
+กระโถน
+กระทก
+กระทง
+กระทงลาย
+กระทด
+กระทบ
+กระทรวง
+กระทวย { กฺระทวย }
+กระทอก
+กระท้อน
+กระท่อนกระแท่น
+กระท่อม
+กระท้อมกระแท้ม
+กระทะ
+กระทั่ง
+กระทั่งติด
+กระทัน
+กระทั้น
+กระทา
+กระทาชาย
+กระทาย
+กระทายเหิน
+กระทาสี
+กระทาหอง
+กระทำ
+กระทิกกระทวย
+กระทิง
+กระทึง
+กระทืบ
+กระทุ
+กระทุง
+กระทุ้ง
+กระทุงลาย
+กระทุงหมาบ้า
+กระทุงเหว
+กระทุ่ม
+กระทุ่มขี้หมู
+กระทุ่มนา
+กระทุ่มหมู
+กระทู้
+กระเท่
+กระเทียบ
+กระเทียม
+กระเทือน
+กระเทื้อม
+กระแทก
+กระแท่น
+กระแท้ม
+กระแทะ
+กระไทชาย
+กระนก
+กระน่อง
+กระนั้น
+กระนี้
+กระโน้น
+กระไน
+กระบก
+กระบกคาย
+กระบถ
+กระบวน
+กระบวย
+กระบวร
+กระบอก
+กระบอกเสียง
+กระบอง
+กระบองกัน
+กระบองเพชร
+กระบองราหู
+กระบะ
+กระบัด
+กระบั้วกระเบี้ย
+กระบ่า
+กระบ้า
+กระบาก
+กระบาย
+กระบาล { กฺระบาน }
+กระบิ
+กระบิ้ง
+กระบิด
+กระบิล
+กระบี่
+กระบือ
+กระบุง
+กระบุม
+กระบุ่มกระบ่าม
+กระบู้กระบี้
+กระบูน
+กระบูร
+กระเบง
+กระเบญ
+กระเบ็ดกระบวน
+กระเบน
+กระเบา
+กระเบิก
+กระเบี้ย
+กระเบียด
+กระเบียน
+กระเบื้อง
+กระเบื้องถ้วย
+กระแบ่
+กระแบก
+กระแบกงา
+กระแบะ
+กระโบม
+กระปมกระปำ
+กระปมกระเปา
+กระปรอก
+กระปรอกว่าว
+กระปรี้กระเปร่า
+กระปอก
+กระป้อกระแป้
+กระป่อง
+กระป๋อง
+กระปอดกระแปด
+กระป๋อหลอ
+กระปั้วกระเปี้ย
+กระป่ำ
+กระปิ่ม
+กระปุก
+กระปุ่ม
+กระปุ่มกระป่ำ
+กระปุ่มกระปิ่ม
+กระเปา
+กระเป๋า
+กระเปาะ
+กระเปี้ย { กฺระเปี้ย }
+กระแป้
+กระแปด
+กระโปก
+กระโปรง
+กระโปรงทอง
+กระผม
+กระผลาม
+กระผลีกระผลาม
+กระผาน
+กระผีก
+กระพรวน
+กระพริ้ม
+กระพอก
+กระพอกวัว
+กระพอง
+กระพ้อม
+กระพัก
+กระพัง
+กระพังเหิร
+กระพังโหม
+กระพัด
+กระพัดแม่ม่าย
+กระพัตร
+กระพัน
+กระพั่น
+กระพา
+กระพาก { กฺระพาก }
+กระพี้
+กระพือ
+กระพุ้ง
+กระพุ่ม
+กระเพลิศ
+กระเพาะ
+กระเพาะปลา
+กระเพิง
+กระเพื่อม
+กระแพง
+กระแพ้ง
+กระฟัดกระเฟียด
+กระฟาย
+กระฟูมกระฟาย
+กระเฟียด
+กระมล
+กระมอบ
+กระมอมกระแมม
+กระมัง
+กระมัน
+กระมิดกระเมี้ยน
+กระมึน
+กระมุท
+กระเมาะ
+กระเมี้ยน
+กระแมม
+กระย่อง
+กระย่องกระแย่ง
+กระย่อน
+กระย่อม
+กระยา
+กระยาง
+กระยาจก
+กระยาด
+กระยาหงัน
+กระยิก
+กระยิ้มกระย่อง
+กระยึกกระยือ
+กระยึดกระยาด
+กระเย้อกระแหย่ง
+กระแย่ง
+กระรอก
+กระรอกน้ำข้าว
+กระเรียน
+กระโรกน้ำข้าว
+กระโรกใหญ่
+กระไร
+กระลด
+กระลบ
+กระลอก
+กระลอม
+กระละหล่ำ
+กระลัด
+กระลับ
+กระลัมพร
+กระลา
+กระลาการ
+กระลายกระลอก
+กระลำ
+กระลำพร
+กระลำพัก
+กระลำพุก
+กระลิง
+กระลี
+กระลึง
+กระลุมพาง
+กระลุมพุก
+กระลุมพู
+กระลูน
+กระลู่น์
+กระเล็น
+กระเลียด
+กระเลือก
+กระโลง
+กระวน
+กระวัด
+กระว่า
+กระวาด
+กระวาน
+กระวาย
+กระวิน
+กระวี
+กระวีกระวาด
+กระวูดกระวาด
+กระเวน
+กระเวยกระวาย
+กระแวน
+กระโวยกระวาย
+กระศก
+กระศัย
+กระษัตริย์
+กระษัตรี
+กระษัย
+กระษาปณ์
+กระษิร
+กระเษม
+กระเษียร
+กระสง
+กระสน
+กระสบ
+กระสม
+กระสรวล
+กระสร้อย
+กระสวน
+กระสวย
+กระสอบ
+กระสะ
+กระสัง
+กระสัน
+กระสับกระส่าย
+กระสา
+กระสานติ์
+กระสาบ
+กระสาย
+กระส่าย
+กระสินธุ
+กระสือ
+กระสุงกระสิง
+กระสุน
+กระสูทธิ์
+กระสูบ
+กระเสด
+กระเส็นกระสาย
+กระเส่า
+กระเสาะกระแสะ
+กระเสียน
+กระเสียร
+กระเสือกกระสน
+กระแส
+กระแสง
+กระแสะ { กฺระแสะ }
+กระโสง
+กระไส
+กระหง่อง
+กระหน
+กระหนก
+กระหนกกินรี
+กระหนกนฤมิต
+กระหนกนารี
+กระหน่อง
+กระหนาก
+กระหน่ำ
+กระหมวด
+กระหมอบ
+กระหม่อม
+กระหมั่ง
+กระหม่า
+กระหมิด
+กระหมิบ
+กระหมุดกระหมิด
+กระหมุ่น
+กระหมุบ
+กระหย่ง
+กระหยด
+กระหยบ
+กระหย่อน
+กระหย่อม
+กระหยะ
+กระหยัง
+กระหยับ
+กระหยิ่ม
+กระหรอด
+กระหริ่ง
+กระหวน
+กระหวัด
+กระหวัดเกล้า
+กระหว่า
+กระหอง
+กระหัง
+กระหัด
+กระหาง { กฺระหาง }
+กระหาย
+กระหึม
+กระหึ่ม
+กระหืดกระหอบ
+กระเห็น
+กระเหน็จ
+กระเหนียด
+กระเหม็ดกระเหมียด
+กระเหม็ดกระแหม่
+กระเหม่น
+กระเหม่า
+กระเหลียก
+กระเหว่า
+กระเห่อ
+กระเหิม
+กระเหี้ยนกระหือรือ
+กระแหทอง
+กระแหน
+กระแหน่
+กระแหนบ
+กระแหนะ
+กระแหมบ
+กระแหม่ว
+กระแหย่ง
+กระแหร่ม
+กระแหล่ง
+กระโห้
+กระโหนด
+กระโหม
+กระโหย
+กระโหย่ง
+กระอ่วน
+กระอวล
+กระอ้อกระแอ้
+กระออดกระแอด
+กระออบ
+กระออม
+กระอ้อมกระแอ้ม
+กระออมน้ำ
+กระอัก
+กระอักกระอ่วน
+กระอักกระไอ
+กระอั้วแทงควาย
+กระอ้า
+กระอาน
+กระอิด
+กระอิดกระเอื้อน
+กระอึก
+กระอึกกระอัก
+กระอึด
+กระอืด
+กระอุ
+กระอุก
+กระเอบ
+กระเอา
+กระเอิก
+กระเอิบ
+กระแอ้
+กระแอก
+กระแอด
+กระแอบ
+กระแอม
+กระแอ้ม
+กระไอ
+กรัก
+กรักขี
+กรัง
+กรัชกาย
+กรัณฑ์
+กรัณย์
+กรัน
+กรับ
+กรัม
+กราก
+กราง
+กร่าง
+กราด
+กราดเกรี้ยว
+กราดวง
+กราน
+กร้าน
+กราบ
+กราฟ
+กราม
+กรามพลู
+กราย
+กร่าย
+กราล
+กราว
+กร้าว
+กราวด่าง
+กราวรูด
+กราสิก
+กรำ
+กร่ำ
+กร่ำกรุ่น
+กริก
+กริ๊ก
+กริกกริว
+กริกกรี
+กริ่ง
+กริ๊ง
+กริงกริว
+กริ้งกริ้ว
+กริช
+กริณี
+กริตย
+กริน
+กรินี
+กริบ
+กริม
+กริ่ม
+กริยา
+กริว
+กริ้ว
+กรี
+กรีฑา
+กรีด
+กรี๊ด
+กรีธา
+กรีษ
+กรีส
+กรึง
+กรุ
+กรุก
+กรุกกรู๊
+กรุง
+กรุ้งกริ่ง
+กรุงเขมา
+กรุงพาลี
+กรุณ
+กรุณา
+กรุน
+กรุ่น
+กรุบ
+กรุ่ม
+กรุ้มกริ่ม
+กรุย
+กรุยเกรียว
+กรู
+กรูด
+กรูม
+กเรณุ
+กเรนทร
+กเรนทร์
+กฤช
+กฤดยาเกียรณ
+กฤดา
+กฤดาการ
+กฤดาอัญชลี
+กฤดิ
+กฤดีกา
+กฤต
+กฤตกา
+กฤตยฎีกา
+กฤติกา
+กฤศ
+กฤโศทร
+กฤษฎา
+กฤษฎาญ
+กฤษฎาญชลิต
+กฤษฎาญชลี
+กฤษฎาญชวลิตวา
+กฤษฎาญชวลิศ
+กฤษฎาญชวเลศ
+กฤษฎาญชุลี
+กฤษฎาธาร
+กฤษฎี
+กฤษฎีกา
+กฤษณ
+กฤษณา
+กฤษาณ
+กฤษิ
+กล
+กลด
+กล่น
+กลบ
+กลบท
+กลม
+กลมภ
+กลเม็ด
+กลยุทธ์
+กลละ
+กลวง
+กลวม
+กล้วย
+กล้วยน้อย
+กล้วยไม้
+กล้วยหมูสัง
+กลวิธี
+กลศ
+กลศาสตร์
+กลศึก
+กลหาย
+กลเหย
+กล้อ
+กลอก
+กลอง
+กล่อง
+กล้อง
+กล้องแกล้ง
+กลอน
+กล่อน
+กล้อน
+กล่อม
+กล้อมแกล้ม
+กลอย
+กลัก
+กลัง
+กลัด
+กลั่น
+กลั้น
+กลันท
+กลันทก์
+กลันทกนิวาปสถาน
+กลับ
+กลัมพก
+กลัมพร
+กลัมพัก
+กลัว
+กลั้ว
+กลา
+กล่า
+กล้า
+กลาก
+กลากลาด
+กลาง
+กลาเซียร์
+กลาด
+กลาบาต
+กลาป
+กล้าม
+กลาย
+กล้าย
+กลายกลอก
+กล่าว
+กลาโหม
+กล่ำ
+กล้ำ
+กลิ
+กลิกาล
+กลิกุญจิกา
+กลิ่ง
+กลิ้ง
+กลิ้งกลางดง
+กลิงค์
+กลิ่น
+กลิปรีย์
+กลิ้ม
+กลิยุค
+กลี
+กลี่
+กลีเซอรีน
+กลีบ
+กลึง
+กลึ้ง
+กลึงกล่อม
+กลึงค์
+กลืน
+กลุ่ม
+กลุ้ม
+กลู่
+กลูโคส
+กลูน
+กลูน์
+กเลวระ
+กวด
+กวน
+ก๊วน
+กวนอิม
+กวม
+กวย
+กวยจั๊บ
+กวยจี๊
+ก๋วยเตี๋ยว
+ก๋วยสลาก
+กวฬิงการาหาร
+กวะ
+กวะกวัก
+กวะแกว่ง
+กวัก
+กวัด
+กวา
+กว่า
+กว้า
+กวาง
+กว่าง
+กว้าง
+กวางเขน
+กวางโจน
+กว่างชน
+กวางชะมด
+กว่างโซ้ง
+กวางตุ้ง
+กวางทอง
+กวางป่า
+กวางม้า
+กวาด
+กวาน
+กว่าน
+กว้าน
+กว๊าน
+กว้าว
+กวาวเครือ
+กวิน
+กวี
+กษณะ
+กษมา
+กษัตร
+กษัตรา
+กษัตริย์
+กษัตรี
+กษัตรีย์
+กษัตรีศูร
+กษัย
+กษัยการ
+กษาปณ์
+กษาย
+กษิดิ
+กษิดินทร
+กษิดินทร์
+กษีณาศรพ
+กษีดิ
+กษีร
+กษีรามพุ
+กษีรารณพ
+กษุธา
+กษุรี
+กสานติ์
+กสิ
+กสิณ
+กห
+กหังปายา
+กหาปณะ
+กเฬวราก
+กอ
+ก่อ
+ก้อ
+ก๊อ
+กอก
+ก๊อก
+กอแก
+กอง
+ก่อง
+ก้อง
+กองกอย
+กอซ
+กอด
+ก่อน
+ก้อน
+กอบ
+กอบนาง
+ก๊อบปี้
+กอปร
+ก้อม
+กอมก้อ
+ก่อมก้อ
+ก้อมก้อ
+กอย
+ก้อย
+ก๋อย
+กอริลลา
+กอล์ฟ
+กอแหละ
+กอเอี๊ยะ
+กะ
+กะกร่อม
+กะกร้าว
+กะกลิ้ง
+กะก่อง
+กะกัง
+กะกึก
+กะเกาะ
+กะโกระ
+กะง้อนกะแง้น
+กะจัง
+กะจั๊ว
+กะแจะ
+กะชะ
+กะชัง
+กะชามาศ
+กะชิง
+กะชึ่กกะชั่ก
+กะแช่
+กะซวก
+กะซ้าหอย
+กะซี่
+กะซี้
+กะโซ่
+กะโซ้
+กะดก
+กะดง
+กะดวน
+กะดอกๆ
+กะดะ
+กะดังบาย
+กะดัด
+กะด้าง
+กะดำกะด่าง
+กะดี
+กะดี่
+กะดุ้ง
+กะเด้
+กะเดก
+กะเดี๋ยว
+กะได
+กะตรุด
+กะตอก
+กะต่อย
+กะตัก
+กะตัง
+กะตังกะติ้ว
+กะตังใบ
+กะต่า
+กะต๊าก
+กะต้ำ
+กะติ๊กริก
+กะติงกะแตง
+กะตีบ
+กะตึงกะแตง
+กะตุ๊ก
+กะตุด
+กะตุมู
+กะตูก
+กะตู้วู้
+กะเตก
+กะเตงๆ
+กะเตงเรง
+กะแตว
+กะแต่ว
+กะโต๊ก
+กะโตกกะตาก
+กะโตงกะเตง
+กะโต้งโห่ง
+กะถัว
+กะทกรก
+กะทอ
+กะทัง
+กะทัดรัด
+กะทัน
+กะทันหัน
+กะทับ
+กะทำ
+กะทิ
+กะทือ
+กะทุน
+กะทู้เจ็ดตัว
+กะเทย
+กะเท่เร่
+กะเทาะ
+กะแท้
+กะแท่ง
+กะแทน
+กะนวล
+กะนัด
+กะบอง
+กะบอนกะบึง
+กะบ่อนกะแบ่น
+กะบัง
+กะบั้ง
+กะบังรังเฝือก
+กะบิ
+กะบิ้ง
+กะบิล
+กะบึงกะบอน
+กะบุด
+กะเบ้อ
+กะเบียน
+กะเบือ
+กะแบง
+กะปริดกะปรอย
+กะปริบ
+กะปลกกะเปลี้ย
+กะปวกกะเปียก
+กะปอม
+กะปอมขาง
+กะปะ
+กะปั่น
+กะป้ำกะเป๋อ
+กะปิ
+กะปู
+กะปูด
+กะปูดหลูด
+กะเปะ
+กะเปา
+กะเปิ๊บกะป๊าบ
+กะเปียด
+กะแป้น
+กะแปะ
+กะโปรง
+กะโปโล
+กะผลึกกะผลาม
+กะผลุบกะโผล่
+กะเผ่น
+กะเผลก
+กะโผลกกะเผลก
+กะพง
+กะพรวดกะพราด
+กะพร่องกะแพร่ง
+กะพริบ
+กะพรุน
+กะพรูดกะพราด
+กะพล้อ
+กะพล่องกะแพล่ง
+กะพ้อ
+กะพอก
+กะพอง
+กะพัง
+กะเพรา
+กะเพียด
+กะเพียดช้าง
+กะเพียดหนู
+กะมิดกะเมี้ยน
+กะมูติง
+กะเม็ง
+กะเมีย
+กะยาหงัน
+กะยึกกะยือ
+กะยุ
+กะร่องกะแร่ง
+กะระตะ
+กะระหนะ
+กะรัง
+กะรัต
+กะราง
+กะริง
+กะริงกะเรียด
+กะรุงกะรัง
+กะรุ่งกะริ่ง
+กะรุน
+กะเร
+กะเรกะร่อน
+กะเร่กะร่อน
+กะเร่อ
+กะเรี่ยกะราด
+กะโรกะเร
+กะลวย
+กะลอ
+กะล่อกะแล่
+กะลอจี๊
+กะล่อน
+กะล่อมกะแล่ม
+กะล่อยกะหลิบ
+กะละปังหา
+กะละมัง
+กะละแม
+กะละออม
+กะลังตังไก่
+กะลัน
+กะลันทา
+กะลา
+กะลาง
+กะลาสี
+กะลาหนา
+กะลำพอ
+กะลำพัก
+กะลำเพาะ
+กะลิง
+กะลิ้มกะเหลี่ย
+กะลิอ่อง
+กะลุมพี
+กะเล็ง
+กะเล่อกะล่า
+กะเลิด
+กะเลียว
+กะแล
+กะโล่
+กะโลง
+กะวอกกะแวก
+กะวะ
+กะส้มชื่น
+กะส้าหอย
+กะหนอกะแหน
+กะหน็องกะแหน็ง
+กะหนะ
+กะหนุงกะหนิง
+กะหมอก
+กะหร่อง
+กะหรอด
+กะหร็อมกะแหร็ม
+กะหรัดกะตีกา
+กะหรัดตะปาตี
+กะหร่าง
+กะหราน
+กะหริ่ง
+กะหรี่
+กะหรี่ปั๊บ
+กะหลับกะเหลือก
+กะหลาป๋า
+กะหล่ำ
+กะหลี่
+กะหลีกะหลอ
+กะหลุกกะหลิก
+กะหำ
+กะหึม
+กะหืดกะหอบ
+กะหือ
+กะหูด
+กะเหน็ด
+กะเหรี่ยง
+กะเหลาะเปาะ
+กะเหวียก
+กะแห
+กะแหน่
+กะแหนะ
+กะแหยก
+กะแหะ
+กะโห้
+กะโหลก
+กะโหล้ง
+กะไหล่
+กะอวม
+กะอ้อกะแอ้
+กะออม
+กะอ้อมกะแอ้ม
+กะอัก
+กะอักกะไอ
+กะอาน
+กะอาม
+กะอิด
+กะอุบ
+กะแอ
+กะแอก
+กะแอน
+กะแอบ
+กะแอม
+กะแอว
+กัก
+กั๊ก
+กั้กๆ
+กักกรา
+กักกสะ
+กักกะ
+กักการี
+กักการุ
+กักขฬะ
+กักษันตรัง
+กัง
+กั้ง
+กังก
+กั้งกระดาน
+กังก้า
+กังเกียง
+กังขา
+กังขาวิตรณวิสุทธิ
+กังคุ
+กังฉิน
+กังฟู
+กังวล
+กังวาน
+กังเวียน
+กังส
+กังสดาล
+กังไส
+กังหัน
+กัจฉปะ
+กัจฉะ
+กัจฉา
+กัจฉุ
+กัจโฉทก
+กัญ
+กัญจุก
+กัญจุการา
+กัญชา
+กัญญา
+กัญฐกะ
+กัฐ
+กัณฏกะ
+กัณฐก
+กัณฐัศ
+กัณฐัศว์
+กัณฐา
+กัณฐี
+กัณฑ์
+กัณฑมานวก
+กัณฑรา
+กัณฑุ
+กัณฑูวนะ
+กัณณ์
+กัณห
+กัด
+กัตติกมาส
+กัตติกา
+กัตติเกยา
+กัตรทัณฑ์
+กัตรา
+กัทลี
+กัน
+กั่น
+กั้น
+กันเกรา
+กันไกร
+กันชิง
+กันเชอ
+กั้นซู่
+กันแซง
+กันดอง
+กันดาร
+กันดาล
+กันได
+กันต์
+กันตัง
+กันไตร
+กันทร
+กันทรากร
+กันทะ
+กั้นบัง
+กันภัย
+กันภิรมย์
+กันเมียง
+กันย์
+กันยา
+กันลง
+กันลอง
+กันลึง
+กันแสง
+กั้นหยั่น
+กันเอา
+กับ
+กับแก้
+กับแกล้ม
+กับบุเรศ
+กัป
+กัปตัน
+กัปนก
+กัปบาสิก
+กัปปาสิก
+กัปปิยะ
+กัปปีย์
+กัมบน
+กัมปนาการ
+กัมปนาท
+กัมปนี
+กัมประโด
+กัมปี
+กัมพล
+กัมพุช
+กัมพุชพากย์
+กัมพู
+กัมพูชา
+กัมโพช
+กัมมสัทธา
+กัมมัชวาต
+กัมมัฏฐาน
+กัมมันตภาพรังสี
+กัมมันตรังสี
+กัมมัสสกตา
+กัมมาร
+กัมลาศ
+กัยวิกัย
+กัลชาญ
+กัลบก
+กัลป์
+กัลปนา
+กัลปังหา
+กัลปาวสาน
+กัลปิต
+กัลพุม
+กัลเม็ด
+กัลยา
+กัลยาณมิตร
+กัลยาณี
+กัลเว้า
+กัลหาย
+กัลโหย
+กัลออม
+กัลเอา
+กัศมล
+กัศยป
+กัษณ
+กา
+ก๋า
+กาก
+กากคติ
+กากณึก
+กากนาสูร
+กากบาท
+กากภาษา
+กากสูร
+กากะทิง
+กากะเยีย
+กากี
+กาง
+ก้าง
+กางเกง
+กางเกียง
+กางของ
+กางเขน
+กาจ
+ก๊าซ
+กาซะลอง
+กาซะลองคำ
+กาญจนา
+กาฐ
+กาด
+ก๊าด
+กาน
+ก่าน
+ก้าน
+ก๊าน
+กานดา
+กานต์
+กานท์
+กานน
+กานพลู
+กาน้า
+กาบ
+ก้าบๆ
+กาบบัว
+กาบะ
+กาบุรุษ
+กาบู
+กาเปี้ยด
+กาพย์
+กาเฟอีน
+กาแฟ
+กาม
+ก้าม
+กามกวม
+ก้ามกุ้ง
+กามท
+กามน
+ก้ามปู
+ก้ามปูหลุด
+กามโมทย
+กามวิตถาร
+กามัช
+กามา
+กามาทีนพ
+กามาพจร
+กามามิศ
+กามารมณ์
+กามาวจร
+กามินี
+กามิศ
+กาเมศ
+กาเมสุมิจฉาจาร
+กาย
+ก่าย
+กายกรรม
+กายคตาสติ
+กายทวาร
+กายทุจริต
+กายบริหาร
+กายพันธน์
+กายภาพ
+กายภาพบำบัด
+กายวิภาคศาสตร์
+กายสิทธิ์
+กายสุจริต
+กายาพยพ
+กายินทรีย์
+กาเยน
+กาเยนทรีย์
+การ
+การก
+การณ์
+การ์ด
+การติเกยะ
+การ์ตูน
+การเต
+การโน้มถ่วง
+การบูร
+การบูรป่า
+การย์
+การละเล่น
+การวิก
+การเวก
+การะเกด
+การะบุหนิง
+การัณฑวะ
+การัณย์
+การันต์
+การางหัวขวาน
+การุญ
+การุณย์
+กาเรการ่อน
+กาเรียน
+กาล
+กาลกรรณี
+กาลกัญชิกาสูร
+กาลกิณี
+กาลจักร
+กาลัญญุตา
+กาลัญญู
+กาลัด
+กาลานุกาล
+กาลามสูตร
+กาลิก
+กาลี
+กาแล็กซี่
+กาว
+ก้าว
+กาววาว
+กาแวน
+กาศิก
+กาษฐะ
+กาษา
+กาสร
+กาสะ
+กาสา
+กาสาร
+กาสาวะ
+กาสิโน
+กาหล
+กาหลา
+กาหลิบ
+กาหัก
+กาเหว่า
+กาไหล่
+กาฬ
+กาฬกูฏ
+กาฬปักษ์
+กาฬปักษี
+กาฬพฤกษ์
+กาฬโรค
+กาฬวาต
+กาฬาวก
+กาฮัง
+กำ
+ก่ำ
+ก้ำ
+กำกวม
+กำกัด
+กำกับ
+ก้ำกึ่ง
+กำกูน
+ก้ำเกิน
+กำเกียง
+กำคูน
+ก่ำเคือ
+กำจร
+กำจัด
+กำจาย
+กำชับ
+กำชำ
+กำโชก
+กำซาบ
+กำซำ
+กำด้น
+กำดัด
+กำดาล
+กำเดา
+กำเดาะ
+กำตาก
+กำทวด
+กำทวน
+กำธร
+กำนล
+กำนัด
+กำนัน
+กำนัล
+กำเนิด
+กำเนียจ
+กำบด
+กำบน
+กำบัง
+กำบัด
+กำบิด
+กำเบ้อ
+กำโบล
+กำปอ
+กำปั่น
+กำปั้น
+กำผลา
+กำพง
+กำพด
+กำพต
+กำพร้า
+กำพราก
+กำพวด
+กำพอง
+กำพืด
+กำพู
+กำเพลิง
+กำแพง
+กำแพ้ง
+กำภู
+กำมพฤกษ์
+กำมลาศน์
+กำมเลศ
+กำมะถัน
+กำมะลอ
+กำมะหยี่
+กำมะหริด
+กำมังละการ
+กำมังวิลิต
+กำมัชพล
+กำยาน
+กำยำ
+กำรอ
+กำราก
+กำราบ
+กำราล
+กำรู
+กำเริบ
+กำไร
+กำลอง
+กำลัง
+กำลังช้างเผือก
+กำลังช้างสาร
+กำลังวัวเถลิง
+กำลุง
+กำลูน
+กำเลา
+กำเลาะ
+กำไล
+กำสรด
+กำสรวล
+กำเสาะ
+กำแสง
+กำหนด
+กำหนัด
+กำหราก
+กำเหน็จ
+กำแหง
+กิก
+กิ๊ก
+กิ่ง
+กิ้งก่า
+กิ้งกือ
+กิ้งโครง
+กิงบุรุษ
+กิงสุก
+กิ่งหาย
+กิจ
+กิจจะ
+กิจจะลักษณะ
+กิจจา
+กิดาการ
+กิดาหยัน
+กิตติ
+กิตาหรัง
+กิน
+กินเครา
+กินนร
+กินริน
+กินรี
+กินูน
+กิ๊บ
+กิม
+กิมตึ๋ง
+กิมิชาติ
+กิมิวิทยา
+กิโมโน
+กิโยตีน
+กิระ
+กิริณี
+กิรินท
+กิริเนศวร
+กิริยา
+กิลมะ
+กิเลน
+กิเลส
+กิโล
+กิโลมกะ
+กิ่ว
+กิ๋ว
+กี่
+กี้
+กี๋
+กีฏ
+กีด
+กีตาร์
+กีบ
+กีรติ
+กีวี
+กีฬา
+กึก
+กึกถอง
+กึง
+กึ่ง
+กึ๋น
+กุ
+กุก
+กุ๊ก
+กุกๆกักๆ
+กุ๊กๆกิ๊กๆ
+กุกกัก
+กุ๊กกิ๊ก
+กุกกุฏ
+กุกกุร
+กุกขี้หมู
+กุกรรม
+กุก่อง
+กุกะ
+กุกุธภัณฑ์
+กุ้ง
+กุ้งเต้น
+กุ้งยิง
+กุงอน
+กุงาน
+กุโงก
+กุจี
+กุญแจ
+กุญชร
+กุฎ
+กุฎา
+กุฎาธาร
+กุฎี
+กุฏฐัง
+กุฏิ
+กุณฑ์
+กุณฑล
+กุณฑิน
+กุณฑี
+กุณโฑ
+กุณาล
+กุณิ
+กุณี
+กุด
+กุดัง
+กุดั่น
+กุดา
+กุทัณฑ์
+กุน
+กุ๊น
+กุนเชียง
+กุนซือ
+กุนที
+กุโนกามอ
+กุบ
+กุบกับ
+กุม
+กุ่ม
+กุมฝอย
+กุมภ์
+กุมภนิยา
+กุมภัณฑ์
+กุมภา
+กุมภิล
+กุมภีล์
+กุมมาส
+กุมเหง
+กุมาร
+กุมารลฬิตา
+กุมารา
+กุมาริกา
+กุมารี
+กุมุท
+กุย
+กุ๊ย
+กุ๋ย
+กุ๋ยๆ
+กุยช่าย
+กุ่ยหลุ่ยส้ม
+กุยเฮง
+กุรร
+กุระ
+กุรุเกษตร
+กุรุง
+กุรุพินท์
+กุรุร
+กุเรา
+กุล
+กุลกัลยา
+กุลกูณี
+กุลคุรุ
+กุลชน
+กุลชาต
+กุลดิลก
+กุลทูสก
+กุลธรรม
+กุลธิดา
+กุลนาค
+กุลนารี
+กุลนาศ
+กุลบดี
+กุลบุตร
+กุลบุรุษ
+กุลพธู
+กุลมัจฉริยะ
+กุลมิตร
+กุลวาร
+กุลเวทิตา
+กุลสตรี
+กุลสัมพันธ์
+กุลา
+กุลาหล
+กุลี
+กุลีกุจอ
+กุลุปกาจารย์
+กุเลา
+กุแล
+กุไล
+กุวะ
+กุเวร
+กุศราช
+กุศล
+กุศโลบาย
+กุสล
+กุสะ
+กุสุม
+กุสุมภ์
+กุสุมา
+กุสุมาลย์
+กุสุมิตลดาเวลลิตา
+กุหก
+กุหนี
+กุหนุง
+กุหร่า
+กุหล่า
+กุหลาบ
+กุแหละ
+กู
+กู่
+กู้
+กู๊ก
+กูฏ
+กูฏา
+กูโฏบาย
+กูณฑ์
+กูด
+กูน
+กูบ
+กูปรี
+กูรมะ
+กูรมาวตาร
+กูรำ
+เก
+เก่
+เก๊
+เก๋
+เก้ๆกังๆ
+เกก
+เก๊ก
+เกกมะเหรก
+เก๊กฮวย
+เก้กัง
+เก็ง
+เก่ง
+เก้ง
+เก๋ง
+เกงกอย
+เก้งก้าง
+เกงเขง
+เก๋งเคง
+เก็จ
+เกจิอาจารย์
+เกชา
+เกณฑ์
+เกณฑ์ตะพัด
+เกด
+เก็ด
+เกตุ
+เกน
+เก่น
+เกนๆ
+เก็บ
+เกม
+เกย
+เกย์
+เกยูร
+เกรง
+เกร็ง
+เกรด
+เกร็ด
+เกรน
+เกร่อ
+เกรอะ
+เกราะ
+เกราะเพชรไพฑูรย์
+เกริก
+เกริน
+เกริ่น
+เกรียก
+เกรียง
+เกรียด
+เกรียน
+เกรียบ
+เกรียม
+เกรียมกรม
+เกรียว
+เกรี้ยว
+เกรี้ยวๆ
+เกเร
+เกล็ด
+เกลศ
+เกลอ
+เกลา
+เกล้า
+เกลาะ
+เกลี่ย
+เกลี้ย
+เกลียง
+เกลี้ยง
+เกลียด
+เกลียว
+เกลี่ยวดำ
+เกลือ
+เกลื้อ
+เกลือก
+เกลื่อน
+เกลื้อน
+เกไล
+เกวล
+เกวลาที
+เกวลิน
+เกวลี
+เกวัฏ
+เกวียน
+เกศ
+เกศพ
+เกศว
+เกศา
+เกศินี
+เกศี
+เกษตร
+เกษตรกร
+เกษตรกรรม
+เกษตรบดี
+เกษตรศาสตร์
+เกษม
+เกษียณ
+เกษียน
+เกษียร
+เกส
+เกสตาโป
+เกสร
+เกสรี
+เกสา
+เกสี
+เก่หลี
+เก้อ
+เกอิชา
+เกะ
+เกะกะ
+เกา
+เก่า
+เก้า
+เก๋า
+เกาต์
+เกาทัณฑ์
+เกาทุมพร
+เกาบิน
+เกาบิล
+เกามาร
+เกาลัด
+เกาลิน
+เกาศัลย์
+เกาไศย
+เกาเหลา
+เกาเหลียง
+เก้าอี้
+เกาะ
+เกาะแกะ
+เกิง
+เกิ้ง
+เกิด
+เกิน
+เกิบ
+เกีย
+เกียกกาย
+เกียง
+เกี่ยง
+เกี๋ยง
+เกียจ
+เกียด
+เกียน
+เกี้ยมไฉ่
+เกี้ยมอี๋
+เกียรติ
+เกียรติ์
+เกี่ยว
+เกี้ยว
+เกี๊ยว
+เกี๊ยะ
+เกื้อ
+เกือก
+เกื้อกูล
+เกือบ
+แก
+แก่
+แก้
+แกง
+แก่ง
+แก้ง
+แก๊ง
+แกงขม
+แกงได
+แกงแนง
+แก่งแย่ง
+แกโดลิเนียม
+แกน
+แก่น
+แกนะ
+แกแน
+แก๊ป
+แกม
+แก้ม
+แกมมา
+แกรก
+แกร่ง
+แกร็น
+แกรนิต
+แกรไฟต์
+แกร่ว
+แกระ
+แกล
+แกล่
+แกล้ง
+แกลน
+แกลบ
+แกล้ม
+แกลลอน
+แกลเลียม
+แกล้ว
+แกละ
+แกแล
+แกว
+แก้ว
+แกว่ง
+แกว่น
+แก็ส
+แก๊ส
+แกะ
+โก
+โก่
+โก้
+โก๋
+โกก
+โกกนุท
+โกกิล
+โกกิลา
+โกโก้
+โกง
+โก่ง
+โกงกาง
+โก้งเก้ง
+โกงโก้
+โก้งโค้ง
+โกเชาว์
+โกญจน
+โกญจา
+โกฏิ
+โกฐ
+โกฐาส
+โกณ
+โกณก
+โกณฑัญญะ
+โกดัง
+โกตไต
+โกทัณฑ์
+โกน
+โก่น
+โก๋น
+โกนาคมน์
+โกโนเรีย
+โกปินำ
+โกมล
+โกมารภัจจ์
+โกมุท
+โกเมน
+โกเมศ
+โกย
+โกร้
+โกรก
+โกรกกราก
+โกรง
+โกร่ง
+โกร่งกร่าง
+โกรงเกรง
+โกร๋งเกร๋ง
+โกรญจ
+โกรด
+โกรต๋น
+โกรธ
+โกรธา
+โกร๋น
+โกรม
+โกรย
+โกรศ
+โกโรโกเต
+โกโรโกโรก
+โกโรโกโส
+โกลง
+โกลน
+โกลาหล
+โกไล
+โกวิท
+โกวิฬาร
+โกศ
+โกศล
+โกษ
+โกษม
+โกษย
+โกส
+โกสน
+โกสัช
+โกสินทร์
+โกสีย์
+โกสุม
+โกไสย
+โกหก
+โกหวา
+โกหัญ
+ใกล้
+ไก
+ไก่
+ไก้
+ไก๊
+ไก๋
+ไก่กอม
+ไก๋แดง
+ไก่เตี้ย
+ไก่นา
+ไก่พัล
+ไก่ฟ้า
+ไกร
+ไกรพ
+ไกรลาส
+ไกรศร
+ไกรศรี
+ไกรสร
+ไกรสิทธิ
+ไกล
+ไกล่
+ไกลาส
+ไกว
+ไกวัล
+ไก่ไห้
+ข
+ขคะ
+ขคาธิป
+ขคาภิราม
+ขคาสนะ
+ขเคศวร
+ขง
+ขงจื๊อ
+ขจร
+ขจอก
+ขจัด
+ขจ่าง
+ขจาย
+ขจาว
+ขจิต
+ขจิริด
+ขจี
+ขจุย
+ขเจา
+ขณะ
+ขณะจิต
+ขณิก
+ขณิกสมาธิ
+ขด
+ขดาน
+ขตอย
+ขทิง
+ขทึง
+ขน
+ข้น
+ขนง
+ขนงเนื้อ
+ขนด
+ขนน
+ขนบ
+ขนม
+ขนมจีน
+ขนมเบื้องญวน
+ขนมปัง
+ขนมผสมน้ำยา
+ขนมผักกาด
+ขนมเส้น
+ขนมหัวผักกาด
+ขนอง
+ขนอน
+ขนอบ
+ขนัด
+ขนัน
+ขนาก
+ขนาง
+ขนาด
+ขนาน
+ขนาบ
+ขนาย
+ขนำ
+ขนิษฐ
+ขนิษฐา
+ขนุน
+ขบ
+ขบขัน
+ขบถ
+ขบวน
+ขบวร
+ขบูร
+ขม
+ข่ม
+ขมงโกรย
+ขมม
+ขมวด
+ขมวดยา
+ขมวน
+ขมหิน
+ขมอง
+ขม่อม
+ขมอย
+ขมักเขม้น
+ขมัง
+ขมับ
+ขมา
+ขม้ำ
+ขมิ้น
+ขมิบ
+ขมีขมัน
+ขมึง
+ขมุ
+ขมุกขมอม
+ขมุกขมัว
+ขมุดขมิด
+ขมุบ
+ขมุม
+ขโมย
+ขยด
+ขยม
+ขย่ม
+ขยล
+ขยอก
+ขยอง
+ขย่อน
+ขย้อน
+ขยะ
+ขยะแขยง
+ขยัก
+ขยัน
+ขยั้น
+ขยับ
+ขยาด
+ขยาบ
+ขยาย
+ขยำ
+ขย้ำ
+ขยิก
+ขยิบ
+ขยิ่ม
+ขยี้
+ขยี่ขยัน
+ขยุกขยิก
+ขยุกขยุย
+ขยุบ
+ขยุม
+ขยุ้ม
+ขยุ้มตีนหมา
+ขยุย
+ขรม
+ขรรค์
+ขรัว
+ขริบ
+ขรี
+ขรึม
+ขรุขระ
+ขล้ง
+ขลบ
+ขลม
+ขลวน
+ขล้อ
+ขลัง
+ขลับ
+ขลา
+ขลาด
+ขลาย
+ขลิบ
+ขลิบทอง
+ขลึง
+ขลุก
+ขลุบ
+ขลุม
+ขลุมประเจียด
+ขลุ่ย
+ขลู
+ขลู่
+ขวง
+ข่วง
+ขวด
+ขวน
+ข่วน
+ขวบ
+ขวย
+ขวะไขว่เขวี่ย
+ขวักไขว่
+ขวัญ
+ขวัญเมือง
+ขวัญอ่อน
+ขวัด
+ขวัดขวิด
+ขวัดแคว้ง
+ขวั้น
+ขวับ
+ขวา
+ขวาก
+ขวาง
+ขว้าง
+ขวาด
+ขวาน
+ขวายขวน
+ขวาว
+ขว้าว
+ขวิด
+ขษณะ
+ขษัย
+ขษีณาศรพ
+ขษีร
+ขอ
+ข่อ
+ข้อ
+ขอก
+ของ
+ข้อง
+ของระอา
+ขอฉาย
+ขอด
+ขอน
+ข่อน
+ข้อน
+ขอบ
+ขอบข่าย
+ขอบเขต
+ขอบคุณ
+ขอบใจ
+ขอบพระคุณ
+ขอบเหล็ก
+ขอม
+ข่อย
+ข้อย
+ขะขำ
+ขะแข่น
+ขะแข้น
+ขะแจะ
+ขะแถก
+ขะนาน
+ขะเน็ด
+ขะมอมขะแมม
+ขะแมซอ
+ขะแมธม
+ขะยิก
+ขะยุก
+ขะเย้อแขย่ง
+ขะแยะ
+ขัค
+ขัง
+ขังขอก
+ขัช
+ขัชก
+ขัณฑสกร
+ขัด
+ขัดมอน
+ขัน
+ขั้น
+ขันแข็ง
+ขันติ
+ขันตี
+ขันโตก
+ขันทองพยาบาท
+ขันที
+ขันธ์
+ขันธกุมาร
+ขันธสันดาน
+ขันธาวาร
+ขันหมาก
+ขับ
+ขัย
+ขัว
+ขั้ว
+ขา
+ข่า
+ข้า
+ขาก
+ขาก๊วย
+ขาเกวียน
+ขาง
+ข่าง
+ข้าง
+ข้างกระดาน
+ข้างเงิน
+ขางแดง
+ข้างตะเภา
+ข้างลาย
+ขาณุ
+ขาด
+ขาทนียะ
+ขาน
+ข่าน
+ขาบ
+ขาม
+ข้าม
+ขาย
+ข่าย
+ขาล
+ขาว
+ข่าว
+ข้าว
+ข้าวคำ
+ข้าวจี่
+ขาวจีบ
+ข้าวต้ม
+ข้าวตอก
+ข้าวนก
+ขาวพวง
+ขาวม้า
+ข้าวมิ่น
+ข้าวเย็นใต้
+ข้าวเย็นเหนือ
+ข้าวสาร
+ข้าวหางช้าง
+ขาวใหญ่
+ข้าวใหม่น้อย
+ข้าวใหม่ใหญ่
+ข้าศึก
+ข้าหลวง
+ข้าหลวงหลังลาย
+ขำ
+ข่ำเขียว
+ขิก
+ขิกๆ
+ขิง
+ขิ่ง
+ขิปสัทโท
+ขิม
+ขี่
+ขี้
+ขี้กา
+ขี้กาดง
+ขี้กาแดง
+ขี้กาเหลี่ยม
+ขี้ขม
+ขี้ขวง
+ขี้ขุย
+ขี้ครอก
+ขี้ควาย
+ขี้โครง
+ขีณะ
+ขีณาสพ
+ขีด
+ขี้ตังนี
+ขี้ติ้ว
+ขี้ไต้
+ขี้ไถ
+ขีปนาวุธ
+ขี้ผึ้ง
+ขี้มอด
+ขี้ยอก
+ขี้ราด
+ขี้แรด
+ขี้สูด
+ขี้หนอน
+ขี้หน้า
+ขี้หนู
+ขี้หมู
+ขี้เหล็ก
+ขี้อ้น
+ขี้อ้าย
+ขึง
+ขึ้ง
+ขึ้น
+ขึ้นฉ่าย
+ขืน
+ขื่น
+ขื่อ
+ขื่อผี
+ขุก
+ขุด
+ขุททกนิกาย
+ขุน
+ขุ่น
+ขุนทอง
+ขุนแผน
+ขุนเพ็ด
+ขุปปิปาสิกเปรต
+ขุม
+ขุย
+ขู
+ขู่
+ขูด
+เข
+เข้
+เขก
+เข็ง
+เข่ง
+เขจร
+เข็ญ
+เข็ญใจ
+เข็ด
+เขดา
+เขต
+เขน
+เข็น
+เข่น
+เขนง
+เขน็ด
+เขนย
+เขบ็จขบวน
+เขบ็ต
+เข็ม
+เข้ม
+เข้มขาบ
+เขม็ง
+เขม็ดแขม่
+เขม่น
+เขม้น
+เขม้นขะมัก
+เขมร
+เขมา
+เขม่า
+เขมาโกรย
+เขมือบ
+เขย
+เขยก
+เขย่ง
+เขยตาย
+เขย้อแขย่ง
+เขยอะขยะ
+เขย่า
+เขยิน
+เขยิบ
+เขยียวขยอน
+เขยื้อน
+เขรอะ
+เขลง
+เขลอะ
+เขละ
+เขลา
+เขลาะ
+เขว
+เขษตร
+เขษม
+เขษียร
+เขฬะ
+เขะขะ
+เขา
+เข่า
+เข้า
+เข้าหมิ้น
+เขิง
+เขิน
+เขิบ
+เขี่ย
+เขียง
+เขียงพระนางอี่
+เขียงพร้า
+เขียด
+เขียน
+เขี่ยน
+เขียม
+เขียว
+เขี้ยว
+เขียะ
+เขือ
+เขือง
+เขื่อง
+เขื่อน
+เขือม
+แข
+แข้
+แขก
+แขกเต้า
+แข็ง
+แข่ง
+แข้ง
+แขน
+แข่น
+แข้น
+แขนง
+แขนะ
+แขม
+แขม็บ
+แขม่ว
+แขย็กๆ
+แขยง
+แขย่ง
+แขยงหนู
+แขละ
+แขวก
+แขวง
+แขวน
+แขวนลอย
+แขวะ
+แขสร์
+โข
+โขก
+โข่ง
+โขด
+โขดง
+โขน
+โขนง
+โขม
+โขมง
+โขมด
+โขมดยา
+โขยก
+โขยง
+โขย่ง
+โขยด
+โขยม
+โขลก
+โขลกๆ
+โขลง
+โขลน
+โขลนทวาร
+โขษม
+ไข
+ไข่
+ไข้
+ไข่ดัน
+ไข่มุก
+ไขรา
+ไขว่
+ไขว้
+ไขษย
+ไขสือ
+ไขเสนียด
+ไขหู
+ไข่เหลือง
+ค
+คก
+คคนะ
+คคนัมพร
+คคนางค์
+คคนานต์
+คง
+คงคา
+คงคาเดือด
+คงไคย
+คชราช
+คชส่าน
+คชาชาติ
+คชาชีพ
+คชาธาร
+คชาภรณ์
+คชายุรเวช
+คชารี
+คชินทร
+คเชนทร์
+คณน
+คณนา
+คณโภชน์
+คณะ
+คณิกา
+คณิต
+คเณศ
+คด
+คดี
+คต
+คติ
+คทา
+คน
+ค้น
+คนทา
+คนทิสอ
+คนทิสอทะเล
+คนที
+คนทีเขมา
+คนทีสอ
+คนโท
+คนธ์
+คนธรรพ์
+คนละ
+คเนจร
+คบ
+คม
+คมน์
+คมนาการ
+คมนาคม
+คมิกภัต
+ครก
+คร่ง
+ครบ
+ครบถ้วน
+ครรชิต
+ครรภ
+ครรภ์
+ครรภธาตุ
+ครรภมล
+ครรภาธาน
+ครรโภทร
+ครรลอง
+ครรโลง
+ครรไล
+ครรหิต
+ครวญ
+ครวญหา
+ครวัก
+ครวี
+ครหา
+ครอก
+ครอง
+ครองแครง
+คร่อเงาะ
+คร่อเทียน
+ครอบ
+ครอบจักรวาล
+ครอบตลับ
+คร่อม
+คระ
+คระเมิน
+คระแลง
+คระไล
+คระแวง
+คระหน
+คระหวน
+คระหาย
+คระหิว
+คระโหย
+ครั่ง
+ครั้ง
+ครัดเคร่ง
+ครัน
+ครั่น
+ครั้น
+ครับ
+ครัว
+ครา
+คร่า
+คราก
+คราง
+คราญ
+คราด
+คร้าน
+คราบ
+คราบหมู
+คราม
+คร้าม
+ครามครัน
+คราว
+คร่าว
+คราส
+ครำ
+คร่ำ
+คริปทอน
+คริสต์
+ครีครอ
+ครีบ
+ครีม
+ครีษมายัน
+ครึ
+ครึกครื้น
+ครึกโครม
+ครึ่ง
+ครึน
+ครึม
+ครึ้ม
+ครึมครุ
+ครืด
+ครืน
+ครื้น
+ครืนครั่น
+ครื้นครึก
+ครื้นเครง
+ครือ
+ครุ
+ครุคระ
+ครุฑ
+ครุฑกระทง
+ครุ่น
+ครุ่นคิด
+ครุมเครือ
+ครุย
+ครุวนา
+ครู
+ครู่
+ครูด
+คฤโฆษ
+คฤนถ์
+คฤห
+คฤหบดี
+คฤหปัตนี
+คฤหัสถ์
+คฤหา
+คฤหาสน์
+คล
+คลวง
+คลอ
+คล้อ
+คลอก
+คลอง
+คล่อง
+คล้อง
+คลอด
+คลอน
+คล้อย
+คลอรีน
+คลอโรฟอรม์
+คลอโรฟีลล์
+คละ
+คละคลุ้ง
+คลัก
+คลั่ก
+คลั่กๆ
+คลัง
+คลั่ง
+คลัตช์
+คลับ
+คลับคล้าย
+คลา
+คล้า
+คลางแคลง
+คลาด
+คลาน
+คลาย
+คล้าย
+คล้ายคลึง
+คล่าว
+คลาศ
+คลำ
+คล่ำ
+คล้ำ
+คลิง
+คลิ้งโคลง
+คลินิก
+คลี
+คลี่
+คลึง
+คลื่น
+คลื่นไส้
+คลื่นเหียน
+คลุก
+คลุกคลาน
+คลุ้ง
+คลุบ
+คลุม
+คลุ่ม
+คลุ้ม
+ควง
+ควณ
+ควน
+ควบ
+ควบแน่น
+ควย
+ควร
+ควัก
+ควักค้อน
+ควั่งคว้าง
+ควัน
+ควั่น
+คว้า
+ควาก
+คว้าง
+ควาญ
+ควาน
+คว้าน
+ความ
+ความคลาด
+ความเครียด
+ความแค้น
+ความเฉื่อย
+ความชื้น
+ความถ่วง
+ความถี่
+ความยาวคลื่น
+ความรู้สึกเขื่อง
+ความรู้สึกด้อย
+ความรู้สึกเด่น
+ความเร่ง
+ความเร็ว
+ความหน่วง
+ควาย
+คว่าว
+คว่ำ
+ควินิน
+ควิวๆ
+ควิวควัง
+ควิวคว่าง
+ควิวคว้าง
+ควีนสิริกิติ์
+คหัฐ
+คอ
+ค้อ
+คอก
+ค็อกคัส
+ค็อกเทล
+คอคาน
+คอเคซอยด์
+คองเกรส
+ค่องอ้อย
+คอด
+คอเต็บ
+คอน
+ค่อน
+ค้อน
+คอนกรีต
+ค้อนกลอง
+คอนเดนเซอร์
+ค้อนตีนหมา
+ค้อนทอง
+คอนวอย
+คอนแวนต์
+คอนเสิร์ต
+ค้อนหอย
+คอบ
+คอม
+ค่อม
+ค้อม
+คอมพิวเตอร์
+คอมมานโด
+คอมมิวนิสต์
+คอย
+ค่อย
+ค้อย
+ค่อยๆ
+คอยล์
+คอร์ด
+คอร์ต
+คอรัปชั่น
+คอลัมน์
+คอเลสเตอรอล
+คอแลน
+คอสติกโซดา
+คอแห้ง
+คะ
+ค่ะ
+คะไขว่
+คะค้อย
+คะคาน
+คะคึง
+คะนน
+คะนอง
+คะน้า
+คะนึง
+คะเน
+คะเนงร้าย
+คะเน็ด
+คะแนน
+คะใน
+คะมำ
+คะมึก
+คะยั้นคะยอ
+คะเยอ
+คัก
+คั่ก
+คัคน
+คัคนะ
+คัคนัมพร
+คัคนางค์
+คัคนานต์
+คั่ง
+คังไคย
+คัจฉ
+คัณฑมาลา
+คัณฑสูตร
+คัด
+คัดเค้า
+คัดช้อน
+คัดมอน
+คัทลียา
+คัน
+คั่น
+คั้น
+คันจาม
+คันฉาย
+คันโดง
+คันทรง
+คันธ
+คันธ์
+คันธารราษฎร์
+คันหามเสือ
+คับ
+คับค้อน
+คับคา
+คับแค
+คัพภ์
+คัพโภทร
+คัมภีร์
+คัล
+คัว
+คั่ว
+คา
+ค่า
+ค้า
+ค่าคบ
+คาง
+ค่าง
+ค้าง
+คางคก
+ค้างคาว
+คาด
+คาดคั้น
+คาถา
+คาทอลิก
+ค่าที่
+คาธ
+คาเธย์
+คาน
+ค้าน
+คาน้า
+คาบ
+คาพยุต
+คาม
+คามณีย์
+คามภีร์
+คามี
+คาย
+ค่าย
+คายก
+คายัน
+คาร์บอน
+คาร์บอนไดออกไซด์
+คาร์บอนมอนอกไซด์
+คาร์บอเนต
+คาร์บอลิก
+คาร์บูเรเตอร์
+คาร์โบรันดัม
+คาร์โบไฮเดรต
+คารพ
+คารม
+คารวะ
+คาราเต้
+คาราวาน
+คาว
+ค่าว
+ค้าว
+คาวตอง
+คาวี
+คาวุต
+คาส
+ค่าหด
+คำ
+ค่ำ
+ค้ำ
+คำดีควาย
+คำใต้
+คำนวณ
+คำนวร
+คำนับ
+คำนัล
+คำนึง
+คำนูณ
+คำโบล
+คำฝอย
+คำเพลิง
+คำรน
+คำรบ
+คำราม
+คำแสด
+คำแหง
+คำโอง
+คิกๆ
+คิง
+คิด
+คินิ
+คิมห
+คิมหันต์
+คิมหานะ
+คิริ
+คิรี
+คิลานะ
+คิว
+คิ้ว
+คิหิสุข
+คี่
+คีต
+คีตกะ
+คีบ
+คีม
+คีรี
+คีรีบูน
+คึก
+คึ่ก
+คึ่กๆ
+คึกคัก
+คึกคาม
+คืน
+คืบ
+คือ
+คุ
+คุก
+คุกกี้
+คุกเข่า
+คุกคลาน
+คุกคาม
+คุกพาทย์
+คุคะ
+คุง
+คุ้ง
+คุณ
+คุณค่า
+คุณธรรม
+คุณนาม
+คุณบท
+คุณประโยชน์
+คุณพิเศษ
+คุณภาพ
+คุณลักษณะ
+คุณลุงคุณป้า
+คุณวิเศษ
+คุณวุฒิ
+คุณศัพท์
+คุณสมบัติ
+คุณากร
+คุณาลัย
+คุณูปการ
+คุโณปการ
+คุด
+คุดทะราด
+คุต
+คุตติ
+คุ่น
+คุ้น
+คุป
+คุปต์
+คุปติ
+คุม
+คุ่ม
+คุ้ม
+คุ้มดีคุ้มร้าย
+คุ้มเท้า
+คุมฝอย
+คุย
+คุ้ย
+คุรุ
+คุลา
+คุลิก่า
+คุลีการ
+คู
+คู่
+คู้
+คูณ
+คูถ
+คูน
+คูปอง
+คูเรียม
+คูหา
+เค้เก้
+เค้ง
+เคจฉ
+เคณฑะ
+เคด
+เคน
+เคเบิล
+เค็ม
+เคมี
+เคย
+เครง
+เคร่ง
+เครงครำ
+เครงคร่ำ
+เครดิต
+เครน
+เครา
+เคร่า
+เคราหณี
+เคราะห์
+เครียด
+เครียว
+เครือ
+เครือเขาน้ำ
+เครือเขามวก
+เครื่อง
+เครือจักรภพ
+เคล้ง
+เคล็ด
+เคล้น
+เคล้า
+เคล่าคล่อง
+เคลิบเคลิ้ม
+เคลิ้ม
+เคลีย
+เคลี้ยคลิง
+เคลื่อน
+เคลือบ
+เคว้ง
+เคหะ
+เคหา
+เคอะ
+เคา
+เค้า
+เคาน์เตอร์
+เคาเป๋
+เคารพ
+เค้าสนามหลวง
+เคาะ
+เคาะแคะ
+เคี้ย
+เคียง
+เคียด
+เคียน
+เคียม
+เคี่ยม
+เคียร
+เคียว
+เคี่ยว
+เคี้ยว
+เคื้อ
+เคือง
+แค
+แค่
+แค้
+แคแกล
+แคชเชียร์
+แคดเมียม
+แคโทด
+แคน
+แค่น
+แค้น
+แคบ
+แคบหมู
+แคปซูล
+แคม
+แคร่
+แครก
+แครครั่ง
+แครง
+แครงเครียว
+แคระ
+แคลคูลัส
+แคลง
+แคลเซียม
+แคลน
+แคล้ว
+แคล่วคล่อง
+แคลอรี
+แคลิฟอร์เนียม
+แคแล
+แคว
+แควก
+แคว้ง
+แคว้น
+แคะ
+โค
+โคก
+โคกกระสุน
+โคกกระออม
+โคกม้า
+โคคลาน
+โคเคน
+โค่ง
+โค้ง
+โคจร
+โคจรคาม
+โค้ช
+โคเซแคนต์
+โคไซน์
+โคตร
+โคแทนเจนต์
+โคธา
+โคน
+โค่น
+โคนดินสอ
+โคนตายปลายเป็น
+โคนสมอ
+โคบอลต์
+โคปผกะ
+โคม
+โคม่า
+โครก
+โครกครอก
+โครกคราก
+โครง
+โคร่ง
+โคร่งคร่าง
+โครงแคร
+โครม
+โครเมียม
+โครโมโซม
+โคราช
+โคล
+โคลง
+โคลน
+โควตา
+โคออร์ดิเนต
+ใคร
+ใคร่
+ใคร่ครวญ
+ไค
+ไค้
+ไคร้
+ไคร้เครือ
+ไคล
+ไคล้
+ฆ
+ฆง
+ฆฏ
+ฆโฏทร
+ฆต
+ฆน
+ฆนากร
+ฆนาคม
+ฆนามัย
+ฆนาศัย
+ฆโนบล
+ฆราวาส
+ฆ้อง
+ฆ้องสามย่าน
+ฆ่า
+ฆาฏ
+ฆาต
+ฆาน
+เฆี่ยน
+โฆรวิส
+โฆษ
+โฆษก
+โฆษณา
+โฆษณาการ
+โฆษณาชวนเชื่อ
+โฆษิต
+โฆสวันต์
+ง
+งก
+งง
+งงิด
+งด
+งดงาม
+งบ
+งม
+งวง
+ง่วง
+งวด
+ง่วน
+ง้วน
+งวยงง
+งอ
+ง้อ
+งอก
+งอกแงก
+ง่อง
+ง่องแง่ง
+งอแง
+งอด
+งอดแงด
+งอน
+ง่อน
+ง่อนแง่น
+งอนหง่อ
+ง้อนหมู
+งอบ
+งอม
+ง้อม
+งอย
+ง่อย
+งะ
+งักๆ
+งั่กๆ
+งั่ง
+งังๆ
+งัด
+งัน
+งันงก
+งับ
+งัว
+งั่ว
+งัวเงีย
+งัวซัง
+งัวเลีย
+งา
+ง่า
+ง้าง
+ง่าเงย
+งาไซ
+งาน
+ง่าน
+งาบๆ
+งาม
+ง่าม
+งาย
+ง่าย
+ง่าย้อย
+ง้าว
+งำ
+ง่ำ
+ง้ำ
+ง่ำๆ
+งิ้ว
+งีบ
+งึกๆ
+งึน
+งึม
+งึมงำ
+งุด
+งุดๆ
+งุนงง
+งุ่นง่าน
+งุบ
+งุบๆ
+งุบงิบ
+งุ้ม
+งุ่มง่าม
+งุย
+งู
+งูบ
+งู่หนี
+เง้
+เงก
+เง็น
+เงย
+เง่หมึง
+เงอะ
+เงอะงะ
+เงา
+เง่า
+เง้า
+เงาะ
+เงิน
+เงี่ย
+เงี่ยง
+เงี่ยน
+เงียบ
+เงี้ยว
+เงี้ยวระเริง
+เงี้ยวรำลึก
+เงี่ยหู
+เงื้อ
+เงือก
+เงื่อง
+เงื่องๆ
+เงือด
+เงือดงด
+เงือน
+เงื่อน
+เงือบ
+เงื้อม
+แง
+แง่
+แง่ง
+แง่น
+แง้ม
+แงะ
+โง
+โง่
+โงก
+โงกเงก
+โงง
+โง้ง
+โง่งๆ
+โงงเงง
+โง่งเง่ง
+โงเง
+โงน
+ไง
+ไง้
+จ
+จก
+จง
+จ่ง
+จ๋ง
+จงกรม
+จงกล
+จงกลนี
+จงโคร่ง
+จงอร
+จงอาง
+จญ
+จด
+จดุรงค์
+จดุระ
+จตุชาติสุคนธ์
+จตุตถี
+จตุรงคโชค
+จตุราบายภูมิ
+จตุราริยสัจ
+จตุสดมภ์
+จทึง
+จน
+จ้น
+จบ
+จม
+จ่ม
+จมร
+จมรี
+จมู
+จมูก
+จมูกปลาหลด
+จมูกปลาไหล
+จมูกหลอด
+จยุติ
+จร
+จรก
+จรกลู่
+จรกา
+จรแกว่ง
+จรคั่ง
+จรจรัล
+จรจัด
+จรณะ
+จรด
+จรดล
+จรบน
+จรบัน
+จรบาท
+จรมัน
+จรมูก
+จรรจา
+จรรโจษ
+จรรม
+จรรยา
+จรรโลง
+จรร่ำ
+จรลวง
+จรล่วง
+จรลาด
+จรลาย
+จรลิ่ว
+จรลี
+จรลู่
+จรวจ
+จรวด
+จรวดจรี
+จรวัก
+จรส
+จรอก
+จระกล้าย
+จระขาบ
+จระเข้
+จระคลับ
+จระคล้าย
+จระคลุ่ม
+จระแคง
+จระจุ่ม
+จระทก
+จระเทิน
+จระนำ
+จระบาน
+จระบี
+จระลิ่ง
+จระลึง
+จระลุง
+จรัล
+จรัส
+จราก
+จราง
+จราจร
+จราญ
+จราย
+จราว
+จราส
+จริก
+จริง
+จริงๆ
+จริณ
+จริต
+จริยา
+จริว
+จรี
+จรึง
+จรุก
+จรุง
+จรูง
+จรูญ
+จรูส
+จเร
+จล
+จลนพลศาสตร์
+จลนศาสตร์
+จลนี
+จลา
+จลาจล
+จวก
+จ๊วก
+จวง
+จ้วง
+จ๋วง
+จวงหอม
+จวด
+จวดลาก
+จวน
+จวบ
+จวัก
+จอ
+จ่อ
+จ้อ
+จ๋อ
+จอก
+จ้อก
+จ๊อก
+จ้อกๆ
+จ๊อกๆ
+จ้อกแจ้ก
+จ้อกวอก
+จอง
+จ่อง
+จ้อง
+จ๋อง
+จ้องเต
+จองเปรียง
+จองหง่อง
+จ้องหน่อง
+จองหอง
+จอแจ
+จ๋อแจ๋
+จ้อช้าง
+จอด
+จอน
+จ้อน
+จอนจ่อ
+จอนหู
+จอบ
+จอม
+จ่อม
+จ่อมจ่าย
+จอมทอง
+จอมปลอม
+จ้อมป้อม
+จอมเปาะ
+จอมสุรางค์
+จ่อย
+จ้อย
+จ๋อย
+จะ
+จ้ะ
+จ๊ะ
+จ๋ะ
+จะกรัดจะกราด
+จะกรุน
+จะกรุมจะกราม
+จะกรูน
+จะกละ
+จะกวด
+จะเกร็ง
+จะขาบ
+จะเข้
+จะเข็บ
+จะงอย
+จะจะ
+จะจ้า
+จะแจ
+จะแจ้ง
+จะแจ้น
+จะแจ่ม
+จะไจ้
+จะบัน
+จะปิ้ง
+จะเพลิง
+จะละเม็ด
+จะละหวั่น
+จะลุง
+จัก
+จั้กๆ
+จักกาย
+จั๊กกิ้ม
+จักขุ
+จักจั่น
+จักจี้
+จั๊กจี้
+จั๊กเดียม
+จักร
+จักรพาก
+จักรวาก
+จักริน
+จักรี
+จั๊กเล้อ
+จักษุ
+จักแหล่น
+จัง
+จั้ง
+จั๋ง
+จังกวด
+จังกอบ
+จังกา
+จังกูด
+จังเก
+จังโก
+จังโก๋
+จังโกฏก์
+จังงัง
+จังมัง
+จังไร
+จังลอน
+จังเว็จ
+จังหนับ
+จังหรีด
+จังหล่อ
+จังหวะ
+จังหวัด
+จังหัน
+จังออน
+จัญไร
+จัณฑ์
+จัณฑาล
+จัด
+จัดจอง
+จัตตาฬีส
+จัตวา
+จัตุ
+จัตุร
+จัตุโลกบาล
+จัตุสดมภ์
+จัน
+จั่น
+จันโจษ
+จันท์
+จันทน์
+จันทนา
+จันทร์
+จันทรกลา
+จันทรกษัย
+จันทรกานต์
+จันทรกุฎ
+จันทรเกตุ
+จันทรคติ
+จันทรคราส
+จันทรเคราะห์
+จันทรชนก
+จันทรทักษิณ
+จันทรทาร
+จันทรนิภา
+จันทรบุตร
+จันทรประภาพ
+จันทรพิมพ์
+จันทรภาส
+จันทรภูติ
+จันทรมณฑล
+จันทรเม็ด
+จันทรเมาะห์
+จันทรรัตน์
+จันทรวงศ์
+จันทรวรรณ
+จันทรเศขร
+จันทราริ
+จันทรุปราคา
+จันทโรทัย
+จันทัน
+จันลอง
+จันเลา
+จันเลาะ
+จั้นหล่อ
+จันอับ
+จับ
+จับกัง
+จับจ่าย
+จับเจี๋ยว
+จับฉ่าย
+จับเดิม
+จับปิ้ง
+จับโปง
+จับยี่กี
+จับสั่น
+จัมบก
+จัมปก
+จัมมะ
+จั่ว
+จัวจี๊ด
+จั๊วะ
+จา
+จ่า
+จ้า
+จ๋า
+จาก
+จากพราก
+จากพาก
+จาคะ
+จาคี
+จาง
+จ่าง
+จ้าง
+จางวาง
+จาด
+จาตุ
+จาตุรงค์
+จาตุรนต์
+จาตุรันต์
+จาตุริก
+จาน
+จ้าน
+จาบ
+จาบัล
+จาบัลย์
+จาป
+จาปคุณ
+จาปธร
+จาปเวท
+จาม
+จามจุรี
+จามร
+จามรี
+จามีกร
+จ่าย
+จาร
+จ่ารง
+จารวาก
+จาระไน
+จาระบี
+จาริก
+จารี
+จารีต
+จารึก
+จารุ
+จ้าละหวั่น
+จาว
+จ่าว
+จ้าว
+จ่าหวัก
+จำ
+จ้ำ
+จำกว่า
+จำกัด
+จำงาย
+จ้ำจี้
+จำเจ
+จำเดิม
+จำทวย
+จำทับ
+จำทาบ
+จำเทิด
+จำแทง
+จำนง
+จำนน
+จำนรรจ์
+จำนรรจา
+จำนวน
+จำนอง
+จำนับ
+จำนัล
+จำนำ
+จำเนียน
+จำเนียม
+จำเนียร
+จำแนก
+จำโนทย์
+จำบ่ม
+จ้ำบ๊ะ
+จำบัง
+จำบับ
+จำเบศ
+จ้ำเบ้า
+จำแบ
+จำปา
+จำปาดะ
+จำปี
+จำปูน
+จำพวก
+จำเพาะ
+จำแพรก
+จ้ำม่ำ
+จำรด
+จำรัส
+จำราญ
+จำราย
+จำรูญ
+จำเริญ
+จำเรียง
+จำลอง
+จำลาย
+จำเลาะ
+จำเลาะตา
+จำแลง
+จำแล่น
+จำหนับ
+จ๋ำหนับ
+จำหน่าย
+จำหระ
+จำหล่อ
+จำหลอก
+จำหลัก
+จำหัน
+จำหาย
+จำหุด
+จำเหียง
+จำอวด
+จำอื่น
+จิ
+จิก
+จิ๊กโก๋
+จิ่ง
+จิ้งจก
+จิงจ้อ
+จิ้งจอก
+จิงจัง
+จิ้งจัง
+จิงโจ้
+จิ้งหรีด
+จิ้งหรีดผี
+จิงหัน
+จิงหุน
+จิ้งเหลน
+จิต
+จิตกาธาน
+จิตกึ่งสำนึก
+จิตใจ
+จิตต์
+จิตตานุปัสสนา
+จิตนาถ
+จิตนิยม
+จิตบำบัด
+จิตแพทย์
+จิตภาพ
+จิตภู
+จิตร
+จิตรจุล
+จิตรลดา
+จิตรา
+จิตรารจิส
+จิตไร้สำนึก
+จิตวิทยา
+จิตวิสัย
+จิตเวชศาสตร์
+จิตศาสตร์
+จิตสำนึก
+จินเจา
+จินดา
+จินดาส่าหรี
+จินดาหนา
+จินดาหรา
+จินดาอรสา
+จินต์
+จิบ
+จิ๊บจ๊อย
+จิปาถะ
+จิ่ม
+จิ้ม
+จิ๋ม
+จิ้มก้อง
+จิ้มลิ้ม
+จิรันดร
+จิรายุส
+จิ๊ว
+จิ๋ว
+จี
+จี่
+จี้
+จี๋
+จี๋จ้อ
+จีจู้
+จี๊จู้
+จีแจ๊บ
+จี๊ด
+จีน
+จีนแส
+จีบ
+จีโบ
+จีพร
+จีม
+จีวร
+จึง
+จึ่ง
+จึ้ง
+จืด
+จื้นเจือก
+จุ
+จุก
+จุ๊กกรู๊
+จุกจิก
+จุกชี
+จุกผาม
+จุกพราหมณ์
+จุกโรหินี
+จุ่ง
+จุ้งจัง
+จุ๋งจิ๋ง
+จุ๋จี๋
+จุฑา
+จุณ
+จุณณียบท
+จุด
+จุติ
+จุตูปปาตญาณ
+จุทส
+จุน
+จุ่น
+จุ้น
+จุ้นจ้าน
+จุนจู๋
+จุ้นจู๊
+จุนทการ
+จุนสี
+จุบ
+จุ๊บ
+จุบจิบ
+จุ๊บแจง
+จุ่ม
+จุ้ม
+จุ๋มจิ๋ม
+จุมพฏ
+จุมพรวด
+จุมพล
+จุมพิต
+จุมโพล่
+จุ่ย
+จุ้ย
+จุรณ
+จุรี
+จุไร
+จุลจอมเกล้า
+จุลวงศ์
+จุฬา
+จุฬาราชมนตรี
+จู
+จู่
+จู้
+จู๋
+จูง
+จู้จี้
+จู๊ด
+จูบ
+จูรณ
+เจ
+เจ๊
+เจ๊ก
+เจ่ง
+เจ๊ง
+เจ็ด
+เจ็ดตะคลี
+เจดีย์
+เจต
+เจตนา
+เจตพังคี
+เจตมูลเพลิง
+เจตสิก
+เจติย
+เจโตปริยญาณ
+เจโตวิมุติ
+เจน
+เจ็บ
+เจรจา
+เจริญ
+เจริด
+เจรียง
+เจลียง
+เจว็ด
+เจษฎา
+เจ๊สัว
+เจอ
+เจ่อ
+เจ๋อ
+เจ๋อเจ๊อะ
+เจอร์เมเนียม
+เจอะ
+เจา
+เจ่า
+เจ้า
+เจ๊า
+เจ้าพระยา
+เจ้าฟ้าหญิงสิรินธร
+เจาะ
+เจิ่ง
+เจิด
+เจิ่น
+เจิม
+เจี๊ยก
+เจียง
+เจียด
+เจียน
+เจี๋ยน
+เจี๊ยบ
+เจียม
+เจี๋ยมเจี้ยม
+เจียร
+เจียระไน
+เจียระบาด
+เจียว
+เจี๊ยวจ๊าว
+เจือ
+เจื่อน
+เจื้อย
+เจือสม
+แจ
+แจ้
+แจ๋
+แจก
+แจง
+แจ้ง
+แจงลอน
+แจ๊ด
+แจดแจ้
+แจ๊ดแจ๋
+แจตร
+แจ้น
+แจบ
+แจ่ม
+แจ่มจันทร์
+แจร
+แจรก
+แจรง
+แจว
+แจ้ว
+แจ๋ว
+แจ้วๆ
+แจะ
+โจก
+โจ๊ก
+โจง
+โจงกระเบนตีเหล็ก
+โจ่งครึ่ม
+โจ๋งครึ่ม
+โจ่งครุ่ม
+โจงโคร่ง
+โจ๋งเจ๋ง
+โจ่งแจ้ง
+โจท
+โจทก์
+โจทนา
+โจทย์
+โจน
+โจม
+โจร
+โจรกรรม
+โจล
+โจษ
+โจษจัน
+ใจ
+ไจ
+ไจ้
+ไจ้ๆ
+ไจร
+ฉ
+ฉก
+ฉกมาวจร
+ฉกรรจ์
+ฉกาจ
+ฉกาจฉกรรจ์
+ฉกามาพจร
+ฉงน
+ฉงาย
+ฉณะ
+ฉทวาร
+ฉทะ
+ฉทานศาลา
+ฉทึง
+ฉนวน
+ฉนัง
+ฉนาก
+ฉนำ
+ฉบบ
+ฉบัง
+ฉบัด
+ฉบับ
+ฉบำ
+ฉม
+ฉมบ
+ฉมวก
+ฉมวย
+ฉม่อง
+ฉมัง
+ฉมัน
+ฉมา
+ฉมำ
+ฉล
+ฉลวย
+ฉลอง
+ฉลอม
+ฉลัก
+ฉลับ
+ฉลาก
+ฉลากบาง
+ฉลาง
+ฉลาด
+ฉลาม
+ฉลาย
+ฉลิว
+ฉลีก
+ฉลุ
+ฉลุกฉลวย
+ฉลู
+ฉวย
+ฉวะ
+ฉวัดเฉวียน
+ฉวาง
+ฉวี
+ฉสก
+ฉฬภิญโญ
+ฉ้อ
+ฉอก
+ฉอกษัตริย์
+ฉ่อง
+ฉอดๆ
+ฉะ
+ฉะกะ
+ฉะฉาด
+ฉะฉาน
+ฉะฉ่ำ
+ฉะฉี่
+ฉะเฉื่อย
+ฉะต้า
+ฉะนั้น
+ฉะนี้
+ฉะอ้อน
+ฉักกะ
+ฉัฐ
+ฉัฐมะ
+ฉัด
+ฉัตร
+ฉัททันต์
+ฉัน
+ฉันท์
+ฉันทะ
+ฉันทิต
+ฉันวุฒิ
+ฉับ
+ฉับๆ
+ฉัพพรรณรังสี
+ฉัยยา
+ฉาก
+ฉาง
+ฉ่าง
+ฉ่าฉาว
+ฉาด
+ฉาดฉาน
+ฉาตกภัย
+ฉาทนะ
+ฉาน
+ฉาบ
+ฉาบฉวย
+ฉาป
+ฉาย
+ฉายา
+ฉาริกา
+ฉาว
+ฉ่ำ
+ฉำฉา
+ฉำเฉง
+ฉำแฉะ
+ฉิ่ง
+ฉิน
+ฉินท์
+ฉิบ
+ฉิมพลี
+ฉิว
+ฉี่
+ฉีก
+ฉีด
+ฉุ
+ฉุก
+ฉุด
+ฉุน
+ฉุป
+ฉุย
+ฉุยฉาย
+ฉุริกา
+ฉู่
+ฉู่ฉี่
+ฉูด
+ฉูดฉาด
+เฉ
+เฉก
+เฉโก
+เฉ่ง
+เฉด
+เฉท
+เฉนียน
+เฉพาะ
+เฉย
+เฉลย
+เฉลว
+เฉลา
+เฉลิม
+เฉลี่ย
+เฉลียง
+เฉลี่ยง
+เฉลียบ
+เฉลียว
+เฉวียง
+เฉวียน
+เฉอะ
+เฉา
+เฉาก๊วย
+เฉาโฉด
+เฉาฮื้อ
+เฉาะ
+เฉิด
+เฉิบ
+เฉิบๆ
+เฉียง
+เฉียงพร้าดำ
+เฉียงพร้านางแอ
+เฉียงพร้ามอญ
+เฉียด
+เฉียบ
+เฉี่ยว
+เฉือน
+เฉื่อย
+แฉ
+แฉ่
+แฉก
+แฉกๆ
+แฉง
+แฉ่ง
+แฉลบ
+แฉล้ม
+แฉล้มแช่มช้อย
+แฉละ
+แฉว
+แฉะ
+โฉ
+โฉ่
+โฉเก
+โฉ่งฉ่าง
+โฉงเฉง
+โฉด
+โฉนด
+โฉบ
+โฉเบ๊
+โฉม
+โฉมงาม
+โฉลก
+ไฉน
+ไฉไล
+ช
+ชก
+ชกา
+ชคร
+ชคัต
+ชคัท
+ชคัน
+ชง
+ชงคา
+ชงโค
+ชงฆ์
+ชงฆา
+ชฎา
+ชฎิล
+ชด
+ชทึง
+ชน
+ชนก
+ชนกกรรม
+ชนนี
+ชนบท
+ชนม์
+ชนวน
+ชนะ
+ชนัก
+ชนา
+ชนาง
+ชนิ
+ชนิก
+ชนิกา
+ชนิด
+ชนิดา
+ชนิศ
+ชเนตตี
+ชบา
+ชปน
+ชปโยค
+ชม
+ชมชวน
+ชมดชม้อย
+ชมนาด
+ชมบ
+ชมพู
+ชมพู่
+ชมพูพาดบ่า
+ชมรม
+ชมเลาะ
+ชมสวนสวรรค์
+ชม้อย
+ชมัน
+ชมา
+ชม้าย
+ชไม
+ชย
+ชยัมบดี
+ชยา
+ชยุติ
+ชโย
+ชร
+ชรตา
+ชรทึง
+ชรโมล
+ชรไม
+ชรราง
+ชรริน
+ชรแรง
+ชรแร่ง
+ชรเลือด
+ชรโลง
+ชรอกชรัง
+ชรออบ
+ชรอัด
+ชรอ่ำ
+ชรอื้อ
+ชรอุ่ม
+ชระ
+ชระงม
+ชระง่อน
+ชระงำ
+ชระดัด
+ชระดื่น
+ชระเดียด
+ชระบอบ
+ชระบาบ
+ชระมด
+ชระมัว
+ชระมื่น
+ชระมุกชระมอม
+ชระมุ่น
+ชระเมียง
+ชระเมียน
+ชระลอ
+ชระลอง
+ชระล่อง
+ชระลั่ง
+ชระลัด
+ชระล้ำ
+ชระลุ
+ชระแลง
+ชระอับ
+ชระอาบ
+ชระเอม
+ชรัด
+ชรัว
+ชรา
+ชรากากี
+ชราบ
+ชราบชรับ
+ชรายุ
+ชริน
+ชรุก
+ชรูบ
+ชล
+ชลี
+ชลูกา
+ชเล
+ชโลง
+ชโลม
+ช่วง
+ช่วงทรัพย์
+ช่วงสิทธิ์
+ชวด
+ชวน
+ชวย
+ช่วย
+ชวร
+ชวลิต
+ชวัก
+ชวา
+ชวาล
+ชวาลา
+ชแวง
+ช่อ
+ชอก
+ช็อก
+ช็อกการี
+ช็อกโกเลต
+ช็อกโกแลต
+ชอง
+ช่อง
+ช้อง
+ช้องนาง
+ช้องนางคลี่
+ช้องแมว
+ชอน
+ช่อน
+ช้อน
+ช้อนนาง
+ชอบ
+ชอม
+ช่อย
+ช้อย
+ช้อยช่างรำ
+ช้อยนางรำ
+ชอล์ก
+ชอ่ำ
+ชอื้อ
+ชอุ่ม
+ชะ
+ชะคราม
+ชะงอก
+ชะง่อน
+ชะงัก
+ชะงัด
+ชะงาบ
+ชะง้ำ
+ชะงุ้ม
+ชะเง้อ
+ชะเงื้อม
+ชะแง้
+ชะโงก
+ชะฉ่า
+ชะช่อง
+ชะช้า
+ชะชิด
+ชะดีชะร้าย
+ชะโด
+ชะตา
+ชะต้า
+ชะนี
+ชะนุง
+ชะเนาะ
+ชะพลู
+ชะเพลิง
+ชะมด
+ชะมดต้น
+ชะมบ
+ชะมวง
+ชะมัง
+ชะมัด
+ชะแม่
+ชะรอย
+ชะลอ
+ชะลอม
+ชะละกา
+ชะล่า
+ชะลิน
+ชะลูด
+ชะเลง
+ชะเลย
+ชะแล็ก
+ชะแลง
+ชะวัง
+ชะวาก
+ชะวาด
+ชะวุ้ง
+ชะเวิกชะวาก
+ชะแวง
+ชะอม
+ชะอ้อน
+ชะเอม
+ชะโอน
+ชัก
+ชักคราม
+ชักช้า
+ชักหน้า
+ชัง
+ชั่ง
+ชังคา
+ชังเฆยยกะ
+ชัชวาล
+ชัฏ
+ชัด
+ชัดช้า
+ชัน
+ชั้น
+ชันกาด
+ชันชี
+ชันตาฆร
+ชันตุ
+ชันนะตุ
+ชันนุ
+ชันนุกะ
+ชันโรง
+ชันษา
+ชันสูตร
+ชัปน
+ชัพ
+ชัมพูนท
+ชัย
+ชัยกระสพ
+ชัยบาน
+ชัยพฤกษ์
+ชัยภูมิ
+ชัยเภรี
+ชัยมงคล
+ชัยมงคลคาถา
+ชัลลุกา
+ชั่ว
+ชั้ว
+ชัวชม
+ชั่วแต่ว่า
+ชา
+ช้า
+ชาคร
+ชาคริต
+ชาคริยานุโยค
+ช่าง
+ช้าง
+ช้างกระ
+ช่างกระไร
+ช้างดำ
+ช้างแดง
+ช่างทอง
+ช่างน้าว
+ช้างเผือก
+ช่างเหล็ก
+ช้าช่อน
+ชาญ
+ชาด
+ชาดก
+ชาตบุษย์
+ชาตรี
+ชาตะ
+ชาตา
+ชาติ
+ชาติธรรม
+ชาติพันธุ์
+ชาติพันธุ์วรรณนา
+ชาติพันธุ์วิทยา
+ชาติภูมิ
+ชาติมาลา
+ชาติรส
+ชาติสัมบันน์
+ชาน
+ชานวาทิก
+ชานุ
+ชานุกะ
+ช้าปี่
+ช้าปี่ไหน
+ช้าแป้น
+ช้าพลู
+ชาม
+ชามพูนท
+ชามาดร
+ชามาดา
+ชามาตุ
+ชาย
+ชายธง
+ชายผ้าสีดา
+ชายา
+ชาร
+ชารี
+ชาล
+ชาลา
+ชาลินี
+ช้าเลือด
+ชาว
+ชาวี
+ชาห์
+ช้าหมอง
+ชาหรันนาวี
+ชำ
+ช่ำ
+ช้ำ
+ชำงัด
+ชำงาย
+ชำงือ
+ช่ำชอง
+ช่ำช่า
+ชำนน
+ชำนรร
+ชำนะ
+ชำนัญ
+ชำนัน
+ชำนาญ
+ชำนิ
+ชำเนียน
+ชำเนียร
+ชำมะนาด
+ชำมะเลียง
+ชำร่วย
+ชำระ
+ช้ำรั่ว
+ชำรุด
+ชำเรา
+ชำเราะ
+ชำลา
+ชำเลือง
+ชำแหละ
+ชิ
+ชิง
+ชิ่ง
+ชิงชัง
+ชิงชัน
+ชิงช้า
+ชิงช้าชาลี
+ชิงชี่
+ชิงพลบ
+ชิงฮื้อ
+ชิชะ
+ชิชิ
+ชิณณะ
+ชิด
+ชิเดนทรีย์
+ชิต
+ชิน
+ชิ่น
+ชิ้น
+ชินโต
+ชินบุตร
+ชินสาสน์
+ชิม
+ชิมแปนซี
+ชิยา
+ชิรณะ
+ชิระ
+ชิวหา
+ชิสา
+ชี
+ชี่
+ชี้
+ชีพ
+ชีฟอง
+ชีรณ
+ชีระ
+ชีวะ
+ชีอะห์
+ชืด
+ชื่น
+ชื้น
+ชื่อ
+ชื้อ
+ชุ
+ชุก
+ชุกชี
+ชุ่ง
+ชุ้ง
+ชุด
+ชุติ
+ชุน
+ชุบ
+ชุบชู
+ชุม
+ชุ่ม
+ชุมนุม
+ชุมพร
+ชุมพา
+ชุมเพ็ด
+ชุมแพรก
+ชุมรุม
+ชุมสาย
+ชุมแสง
+ชุมเห็ด
+ชุ่ย
+ชุ่ยๆ
+ชุลมุน
+ชุลี
+ชุษณะ
+ชู
+ชู้
+เช็ค
+เช้ง
+เชงเลง
+เช้งวับ
+เช็ด
+เช็ดหน้า
+เชน
+เช่น
+เชย
+เชรา
+เชราะ
+เชริด
+เชลง
+เชลย
+เชลแล็ก
+เชลียง
+เชวง
+เชษฐา
+เชอ
+เช่า
+เช้า
+เชาว์
+เชาวน์
+เชิง
+เชิงกล
+เชิงซ้อน
+เชิงเดียว
+เชิงเดี่ยว
+เชิงมุม
+เชิงเวียน
+เชิงอรรถ
+เชิญ
+เชิด
+เชิ้ต
+เชีย
+เชี้ย
+เชียง
+เชี่ยน
+เชี่ยนหมาก
+เชียบ
+เชี่ยม
+เชียร
+เชียร์
+เชียรณ์
+เชียว
+เชี่ยว
+เชื่อ
+เชื้อ
+เชือก
+เชื่อง
+เชื่องช้า
+เชือด
+เชือน
+เชื่อม
+เชื่อวัน
+แช
+แช่
+แช่ง
+แชงมา
+แชบ๊วย
+แช่ม
+แชมเปญ
+แชมภู
+แชร์
+แชรง
+แชล่ม
+แชะ
+โชก
+โชกๆ
+โชกุน
+โชค
+โชงโลง
+โชดก
+โชดึก
+โชต
+โชตก
+โชติ
+โชน
+โชมโรม
+โชย
+โชยงการ
+โชยชาย
+โชยติส
+โชรม
+โชว์
+ใช่
+ใช้
+ไช
+ไชนะ
+ไชย
+ไชโย
+ซ
+ซก
+ซ่ก
+ซงดำ
+ซ่งฮื้อ
+ซง้า
+ซด
+ซน
+ซ่น
+ซ้น
+ซบ
+ซม
+ซรอกซรัง
+ซวด
+ซวดเซ
+ซวดทรง
+ซวน
+ซวย
+ซอ
+ซอก
+ซอง
+ซ่อง
+ซ้อง
+ซองพลู
+ซองแมว
+ซ้องแมว
+ซอแซ
+ซ้อแซ้
+ซอน
+ซ่อน
+ซ้อน
+ซ่อนกลิ่น
+ซ่อนทราย
+ซอม
+ซ่อม
+ซ้อม
+ซอมซ่อ
+ซอย
+ซอส
+ซะซร้าว
+ซะซ่อง
+ซะซอเซีย
+ซะซิกซะแซ
+ซะซิบ
+ซะเซาะ
+ซะเซียบ
+ซัก
+ซักส้าว
+ซัง
+ซั้ง
+ซังกะตาย
+ซังแซว
+ซังตาย
+ซัด
+ซั้น
+ซันตาคลอส
+ซับ
+ซับซี่
+ซัม
+ซัลฟา
+ซัลโว
+ซั้ว
+ซัวปา
+ซา
+ซ่า
+ซาก
+ซากุระ
+ซาไก
+ซาง
+ซ่าง
+ซาด
+ซาน
+ซ่าน
+ซาบซ่าน
+ซาบซึ้ง
+ซ่าโบะ
+ซาปั๊ว
+ซาแมเรียม
+ซ้าย
+ซาโยนาระ
+ซาร์
+ซารินา
+ซาลาเปา
+ซาว
+ซ่าหริ่ม
+ซ้ำ
+ซิ
+ซิก
+ซิกซี้
+ซิกแซ็ก
+ซิการ์
+ซิงโคนา
+ซิ่น
+ซินตึ๊ง
+ซินนามิก
+ซินแส
+ซิบ
+ซิบๆ
+ซิป
+ซิฟิลิส
+ซิ้ม
+ซิลิคอน
+ซิว
+ซี
+ซี่
+ซีก
+ซี้ซอน
+ซี้ซั้ว
+ซีเซ็กไฉ่
+ซีเซียม
+ซีด
+ซีนอน
+ซีป่าย
+ซีเมนต์
+ซีเรียม
+ซีลีเนียม
+ซีอิ้ว
+ซึก
+ซึ่ง
+ซึ้ง
+ซึม
+ซื่อ
+ซื้อ
+ซื่อๆ
+ซื้อหน้า
+ซุก
+ซุกซน
+ซุง
+ซุน
+ซุบ
+ซุบซิบ
+ซุบซู่
+ซุป
+ซุ่ม
+ซุ้ม
+ซุ้มกระต่าย
+ซุ่มซ่าม
+ซุมแซว
+ซุ่มเสียง
+ซุย
+ซู่
+ซู่กั้นรั้วไซมาน
+ซูโครส
+ซูด
+ซู้ด
+ซูดซาด
+ซูบ
+เซ
+เซ็ก
+เซแคนต์
+เซ็ง
+เซ่ง
+เซ้ง
+เซ็งแซ่
+เซต
+เซน
+เซ็น
+เซ่น
+เซนติกรัม
+เซนติเมตร
+เซนติลิตร
+เซ่นเหล้า
+เซปักตะกร้อ
+เซฟ
+เซรา
+เซราะ
+เซรุ่ม
+เซลเซียส
+เซลล์
+เซลลูลอยด์
+เซลลูโลส
+เซลส์แมน
+เซ่อ
+เซอร์
+เซอร์โคเนียม
+เซอะ
+เซา
+เซ้าซี้
+เซาะ
+เซิง
+เซิ้ง
+เซียน
+เซียบ
+เซียมซี
+เซียว
+เซี่ยว
+เซี้ยว
+เซี่ยวกาง
+เซื่อง
+แซ
+แซ่
+แซ็กคาริน
+แซกุย
+แซง
+แซงแซว
+แซด
+แซดๆ
+แซนด์วิช
+แซบ
+แซม
+แซยิด
+แซ่ว
+แซะ
+โซ
+โซ่
+โซก
+โซ่ง
+โซงโขดง
+โซเซ
+โซดา
+โซดาแผดเผา
+โซดาไฟ
+โซเดียม
+โซม
+โซรม
+โซลา
+ไซ
+ไซ้
+ไซเกิล
+ไซโคลน
+ไซน์
+ไซยาไนด์
+ไซร้
+ไซเรน
+ไซโล
+ไซ่หู้
+ฌ
+ฌลา
+ฌลิ
+ฌษ
+ฌัลล์
+ฌัลลกัณฐ์
+ฌาน
+ฌานลาภี
+ฌานาทิสังกิเลสาทิฌาน
+ฌูก
+เฌอ
+โฌฑ
+ญ
+ญญ่าย
+ญวน
+ญัตติ
+ญาณี
+ญาดา
+ญาตปริญญา
+ญาตัตถจริยา
+ญาติ
+ญาน
+ญาปก
+ญายปฏิบัติ
+ญายปฏิปันโน
+ญิน
+ญิบ
+ญี่
+ญี่ปุ่น
+เญยธรรม
+ไญยธรรม
+ฎ
+ฎคระ
+ฎีกา
+ฏ
+ฏังกบดี
+ฏังกศาลา
+ฏังกะ
+ฏังการ
+ฏังคะ
+ฏังคา
+ฏัฏฏนี
+ฏางกร
+ฏาร
+ฏุณฐุก
+ฐ
+ฐกัด
+ฐากูร
+ฐาน
+ฐานะ
+ฐานียะ
+ฐาปนา
+ฐายี
+ฐิต
+ฐิติ
+ฑ
+ฑาหก
+ฑาหะ
+ฑิมภ์
+ฒ
+เฒ่า
+ณ
+ณรงค์
+ณัฐ
+เณร
+ด
+ดก
+ดง
+ด้ง
+ดงวาย
+ด้น
+ดนโด่
+ดนตรี
+ดนย
+ดนยา
+ดนัย
+ดนุ
+ดนู
+ดบัน
+ดบัสวิน
+ดบัสวินี
+ดบัสวี
+ดม
+ดมไร
+ดร
+ดรงค์
+ดรณิ
+ดรณี
+ดรธาน
+ดรรชนี
+ดรลา
+ดราฟต์
+ดริ
+ดรี
+ดรุ
+ดรุณ
+ดรุณี
+ดฤถี
+ดล
+ดลภาค
+ดวง
+ด้วง
+ดวจ
+ดวด
+ด่วน
+ด้วน
+ด้วมเดี้ยม
+ด้วย
+ดวล
+ดอก
+ดอกกะทือ
+ดอกทอง
+ดอกฟ้อน
+ดอกไม้ทะเล
+ดอกสร้อย
+ดอกอาว
+ดอง
+ด้อง
+ด่องๆ
+ด้องๆ
+ดองฉาย
+ดองดึง
+ดองหาย
+ดอด
+ดอน
+ด่อน
+ดอม
+ด้อม
+ดอย
+ด้อย
+ดอลลาร์
+ดะ
+ดะโต๊ะยุติธรรม
+ดะหมัง
+ดัก
+ดักดน
+ดักดาน
+ดักเดี้ย
+ดักแด้
+ดักษก
+ดักษณ
+ดักษณี
+ดักษัน
+ดัง
+ดั่ง
+ดั้ง
+ดั้งเดิม
+ดัชนี
+ดัด
+ดัดปลัก
+ดัตช์
+ดัน
+ดั้น
+ดันเหิม
+ดับ
+ดัมพ์
+ดั้วเดี้ย
+ดัสกร
+ดัสกรี
+ดา
+ด่า
+ดาก
+ด่าง
+ด้าง
+ดาด
+ดาดตะกั่ว
+ดาน
+ด่าน
+ด้าน
+ดาบ
+ดาบส
+ดาม
+ด้าม
+ด้ามจิ้ว
+ดามพ์
+ดามร
+ดาย
+ด้าย
+ดาร
+ดารก
+ดารณี
+ดารดาษ
+ดารา
+ดาล
+ดาลัด
+ดาลุ
+ดาลุช
+ดาไลลามะ
+ดาว
+ด่าว
+ด้าว
+ดาวกระจาย
+ดาวดึงส์
+ดาวบส
+ดาวเรือง
+ดาษ
+ดาหงัน
+ดาหลัง
+ดาฬ
+ดำ
+ด่ำ
+ด้ำ
+ดำๆแดงๆ
+ดำกล
+ดำเกิง
+ดำแคง
+ดำดง
+ดำนาณ
+ดำนาน
+ดำนู
+ดำเนิน
+ดำเนียน
+ดำเนียร
+ดำบล
+ดำพอง
+ดำรัส
+ดำริ
+ดำรี
+ดำรู
+ดำไร
+ดำฤษณา
+ดำเลิง
+ดำแลง
+ดำหนัก
+ดำหนิ
+ดำอวด
+ดิก
+ดิกๆ
+ดิง
+ดิ่ง
+ดิฉัน
+ดิฐ
+ดิตถ์
+ดิถี
+ดิน
+ดิ้น
+ดิบ
+ดิบดี
+ดิรัจฉาน
+ดิเรก
+ดิลก
+ดิ่ว
+ดิ้ว
+ดิ้วเดี้ยว
+ดิษฐ์
+ดิสโพรเซียม
+ดี
+ดีกรี
+ดีฉัน
+ดีเซล
+ดีด
+ดีดีที
+ดีนาคราช
+ดีบุก
+ดีปลี
+ดีเปรสชัน
+ดีผา
+ดีพร
+ดียา
+ดีหมี
+ดีหลี
+ดึก
+ดึง
+ดึ่ง
+ดึงสะ
+ดึ่ม
+ดื่น
+ดื่ม
+ดือ
+ดื้อ
+ดุ
+ดุก
+ดุกดิก
+ดุกทะเล
+ดุ้ง
+ดุ้งดิ้ง
+ดุจ
+ดุจดัง
+ดุจหนึ่ง
+ดุด
+ดุน
+ดุ้น
+ดุบๆ
+ดุม
+ดุ่ม
+ดุ่มๆ
+ดุ่ย
+ดุรค
+ดุรงค์
+ดุรงคี
+ดุริยะ
+ดุริยางค์
+ดุล
+ดุษฎี
+ดุษณี
+ดุษณีภาพ
+ดุษิต
+ดุสิต
+ดุเหว่า
+ดู
+ดูกไก่ดำ
+ดูกค่าง
+ดูกช้าง
+ดูกร
+ดูด
+เด
+เด่
+เดก
+เด็ก
+เดกซ์โทรส
+เดคากรัม
+เดคาเมตร
+เดคาลิตร
+เด้ง
+เด็จ
+เดช
+เดชน์
+เดชนะ
+เดชะ
+เดโช
+เดซิกรัม
+เดซิเมตร
+เดซิลิตร
+เด็ด
+เดน
+เด่น
+เดนมาร์ก
+เดรัจฉาน
+เด๋อ
+เด๋อด๋า
+เดา
+เด่า
+เด้า
+เด่าๆ
+เด้าดิน
+เด้าลม
+เดาะ
+เดิน
+เดิ่น
+เดิม
+เดี้ย
+เดียง
+เดียด
+เดียร
+เดียรดาษ
+เดียรถ์
+เดียรถีย์
+เดียรัจฉาน
+เดียว
+เดี่ยว
+เดี๋ยว
+เดียะ
+เดื่อ
+เดือก
+เดื่อง
+เดือด
+เดือน
+เดือย
+แด
+แด่
+แดก
+แด็กๆ
+แดกงา
+แดกแด้
+แด็กแด้
+แดง
+แดงน้ำ
+แดด
+แดน
+แด่น
+แด่วๆ
+แดะ
+โด
+โด่
+โดกเดก
+โด่ง
+โดด
+โดน
+โดนัต
+โด๊ปยา
+โดม
+โดมร
+โดย
+โดร
+โดรณ
+ใด
+ได
+ได้
+ไดแซ็กคาไรค์
+ไดนาไมต์
+ไดโนเสาร์
+ไดเรกตริกซ์
+ไดอารี
+ต
+ตก
+ต๊กโต
+ตง
+ต๋ง
+ตงฉิน
+ตงิด
+ตงุ่น
+ตด
+ตถาคต
+ตทังควิมุตติ
+ตน
+ต้น
+ตนัย
+ตนุ
+ตบ
+ตบยุง
+ตบะ
+ตปะนียะ
+ตม
+ต้ม
+ตมูก
+ตโมโชติปรายโน
+ตโมตมปรายโน
+ตโมนุท
+ตโมไพรี
+ตโมหร
+ตยาค
+ตยาคี
+ตยุติ
+ตรง
+ตรงๆ
+ตรณี
+ตรม
+ตรมวล
+ตรรกะ
+ตรลบ
+ตรลอด
+ตรละ
+ตรลา
+ตรลาด
+ตรเลิด
+ตรวจ
+ตรวด
+ตรวน
+ตรวย
+ตรอก
+ตรอง
+ตรอมใจ
+ตรอมตรม
+ตระ
+ตระกล
+ตระกวน
+ตระกอง
+ตระกัด
+ตระการ
+ตระกูล
+ตระคัร
+ตระง่อง
+ตระจัก
+ตระชัก
+ตระดก
+ตระดาษ
+ตระเตรียม
+ตระแต้น
+ตระทรวง
+ตระนาว
+ตระไน
+ตระบก
+ตระบอก
+ตระบอง
+ตระบัด
+ตระบัน
+ตระเบ็ง
+ตระแบ่
+ตระแบก
+ตระแบง
+ตระแบน
+ตระแบ่น
+ตระโบม
+ตระพอง
+ตระพัง
+ตระมื่น
+ตระโมจ
+ตระลาการ
+ตระวัน
+ตระเว็ด
+ตระเวน
+ตระเวนไพร
+ตระเวนวัน
+ตระสัก
+ตระหง่อง
+ตระหง่าน
+ตระหนก
+ตระหนัก
+ตระหน่ำ
+ตระหนี่
+ตระอร
+ตระอาล
+ตระโอม
+ตรัง
+ตรังค์
+ตรับ
+ตรับฟัง
+ตรัย
+ตรัยตรึงศ์
+ตรัส
+ตรัสสา
+ตรา
+ตรากตรำ
+ตราชู
+ตราบ
+ตราสัง
+ตรำ
+ตร่ำ
+ตริ
+ตริว
+ตรี
+ตรีประดับ
+ตรีปวาย
+ตรีพิธพรรณ
+ตรีเพชรทัณฑี
+ตรีเพชรพวง
+ตรียมก
+ตรียัมปวาย
+ตรึก
+ตรึง
+ตรุ
+ตรุณ
+ตรุย
+ตรุษ
+ตรุษจีน
+ตรู
+ตรู่
+ตฤณ
+ตฤตียะ
+ตฤท
+ตฤป
+ตฤษณา
+ตฤๅ
+ตล
+ตลก
+ตลกบาตร
+ตลบ
+ตลอด
+ตละ
+ตลับ
+ตลับนาก
+ตลาด
+ตลิ่ง
+ตลึง
+ตวง
+ต่วน
+ต้วมเตี้ยม
+ตวัก
+ตวัด
+ตวาด
+ตอ
+ต่อ
+ต้อ
+ตอก
+ต๊อก
+ต๊อกต๋อย
+ตอง
+ต้อง
+ตองกราย
+ต้องการ
+ตองตอย
+ตองตึง
+ต้องเต
+ตองแตก
+ต่องแต่ง
+ตองเปรียง
+ต้องสู้
+ตองเหลือง
+ตอด
+ตอดต่อ
+ตอน
+ต้อน
+ตอบ
+ตอเบา
+ตอม
+ต่อม
+ต๋อม
+ต่อมน้ำ
+ต่อย
+ต้อย
+ต้อยตริ่ง
+ต้อยติ่ง
+ต้อยตีวิด
+ตอแย
+ตอร์ปิโด
+ต่อไส้
+ตอแหล
+ตะ
+ตะกรน
+ตะกรม
+ตะกรวย
+ตะกร้อ
+ตะกร่อม
+ตะกรัน
+ตะกรับ
+ตะกร้า
+ตะกราม
+ตะกรุด
+ตะกรุม
+ตะกรุมตะกราม
+ตะกละ
+ตะกลาม
+ตะกวด
+ตะกอ
+ตะกอน
+ตะกัง
+ตะกั่ว
+ตะกาง
+ตะกาด
+ตะกาย
+ตะกาว
+ตะกี้
+ตะกุกตะกัก
+ตะกุย
+ตะกู
+ตะกูด
+ตะเกียกตะกาย
+ตะเกียง
+ตะเกียบ
+ตะแก
+ตะแก่
+ตะแกรง
+ตะโก
+ตะโก้
+ตะโกก
+ตะโกน
+ตะโกรง
+ตะโกรม
+ตะไกร
+ตะขบ
+ตะขอ
+ตะขาบ
+ตะขิดตะขวง
+ตะเข้
+ตะเข็บ
+ตะเขิง
+ตะโขง
+ตะคร้อ
+ตะครอง
+ตะครั่นตะครอ
+ตะคร้ำ
+ตะคริว
+ตะครุบ
+ตะคลับตะคล้าย
+ตะคอก
+ตะคัน
+ตะค้า
+ตะคาก
+ตะคาง
+ตะค้าน
+ตะคิว
+ตะคุ่ม
+ตะเครียว
+ตะเคียน
+ตะเคียนทอง
+ตะเคียว
+ตะแคง
+ตะไคร่
+ตะไคร้
+ตะเฆ่
+ตะแง้
+ตะติน
+ตะแตร้น
+ตะนอย
+ตะนาว
+ตะบม
+ตะบอง
+ตะบองกัน
+ตะบองเพชร
+ตะบอย
+ตะบัน
+ตะบิ้ง
+ตะบิด
+ตะบิดตะบอย
+ตะบี้ตะบัน
+ตะบึง
+ตะบุ้ย
+ตะบุ้ยๆ
+ตะบูน
+ตะเบ็ง
+ตะเบ็งมาน
+ตะแบก
+ตะแบง
+ตะโบม
+ตะไบ
+ตะปบ
+ตะปลิง
+ตะปัดตะป่อง
+ตะปิ้ง
+ตะปุ่มตะป่ำ
+ตะปู
+ตะพง
+ตะพด
+ตะพอง
+ตะพัก
+ตะพัง
+ตะพัด
+ตะพั้น
+ตะพาก
+ตะพาน
+ตะพาบ
+ตะพาบน้ำ
+ตะพาย
+ตะพึด
+ตะพุ่น
+ตะเพรา
+ตะเพิง
+ตะเพิด
+ตะเพิ่น
+ตะเพียน
+ตะโพก
+ตะโพง
+ตะโพน
+ตะเภา
+ตะใภ้
+ตะม่อ
+ตะมอย
+ตะมอยสะลา
+ตะรัง
+ตะรังกะนู
+ตะรังตัง
+ตะราง
+ตะลอง
+ตะลอน
+ตะล่อม
+ตะล่อมป้อม
+ตะละ
+ตะลาน
+ตะลิงปลิง
+ตะลิบ
+ตะลีตะลาน
+ตะลึง
+ตะลุง
+ตะลุ่ม
+ตะลุมบอน
+ตะลุ่มโปง
+ตะลุมพอ
+ตะลุมพุก
+ตะลุ่มอิด
+ตะลุย
+ตะเลง
+ตะแลงแกง
+ตะไล
+ตะวัน
+ตะวาง
+ตะเวน
+ตะหนึ่งรัด
+ตะหลิว
+ตะหลุก
+ตะหลุง
+ตะเหลนแป๋น
+ตะเหลาะเปาะ
+ตะแหง่ว
+ตะแหมะแขะ
+ตะแหลนแป๋น
+ตะโหงก
+ตั๊ก
+ตักกะ
+ตักเตือน
+ตั๊กแตน
+ตักร
+ตักษก
+ตักษณ
+ตักษณี
+ตักษัย
+ตัง
+ตั่ง
+ตั้ง
+ตังเก
+ตังฉ่าย
+ตังติด
+ตังเม
+ตังวาย
+ตังโอ๋
+ตัจฉก
+ตัจฉนี
+ตัณฑุล
+ตัณหักษัย
+ตัณหา
+ตัด
+ตัถย์
+ตัน
+ตันตระ
+ตันติ
+ตันหก
+ตันหยง
+ตันเหิม
+ตับ
+ตับเต่า
+ตับปิ้ง
+ตับเป็ด
+ตัว
+ตั๋ว
+ตัวตืด
+ตั้วโผ
+ตั้วสิว
+ตั้วเหี่ย
+ตา
+ตาก
+ตาง
+ต่าง
+ตาด
+ตาน
+ต่าน
+ต้าน
+ตานนกกด
+ตานเสี้ยน
+ตานหก
+ตานหม่อน
+ตานเหลือง
+ตานี
+ตาบ
+ตาฝั่ง
+ตาม
+ตามพะ
+ตามะแน
+ตามิน
+ตาย
+ต้าย
+ต๊ายตาย
+ตาราไต
+ตาเรือชัย
+ตาล
+ตาลาน
+ตาลุ
+ตาลุช
+ตาว
+ตาเสือ
+ตาหลิ่ง
+ตาฬ
+ตำ
+ต่ำ
+ตำนาน
+ตำเนิน
+ตำเนียน
+ตำบล
+ตำแบ
+ต้ำปุก
+ต้ำผาง
+ต้ำพรวด
+ตำมะหงง
+ตำแย
+ตำรวจ
+ตำรับ
+ตำรา
+ตำรุ
+ตำลึง
+ตำเสา
+ตำหนัก
+ตำหนิ
+ตำหระ
+ตำแหน่ง
+ติ
+ติกขญาณ
+ติกะ
+ติกาหลัง
+ติง
+ติ่ง
+ติ๋ง
+ติ๋งๆ
+ติ่งตั่ง
+ติงสติ
+ติ่งหาย
+ติณ
+ติณวัตถารกวินัย
+ติด
+ติดๆ
+ติตติก
+ติตติร
+ติตถ
+ติถี
+ติปา
+ติปาถะ
+ติมิ
+ติมิงคละ
+ติร
+ติรัจฉาน
+ติล
+ติลก
+ติ้ว
+ติสรณคมนูปสัมปทา
+ตี
+ตี่
+ตี๋
+ตีทอง
+ตีน
+ตีนจ้ำ
+ตีนเทียน
+ตีนแรด
+ตีบ
+ตีรถะ
+ตีระ
+ตีหมา
+ตึ
+ตึๆ
+ตึก
+ตึกๆ
+ตึ้กๆ
+ตึ้กตั้ก
+ตึง
+ตึดตื๋อ
+ตึ๊ดตื๋อ
+ตืด
+ตื่น
+ตื้น
+ตื้อ
+ตื๊อ
+ตื๋อ
+ตือฮวน
+ตุ
+ตุ๊
+ตุๆ
+ตุ๊กแก
+ตุ๊กตา
+ตุ๊กต่ำ
+ตุ๊กต่ำน้ำทอง
+ตุกติก
+ตุ๊กติ๊ก
+ตุ๊กตุ่น
+ตุ๊กตุ๋ย
+ตุง
+ตุ้งก่า
+ตุ้งติ้ง
+ตุ๊ดตู่
+ตุน
+ตุ่น
+ตุ๋น
+ตุ้นแซะ
+ตุ่นต่าน
+ตุนาหงัน
+ตุบๆ
+ตุ้บๆ
+ตุ๊บป่อง
+ตุปัดตุป่อง
+ตุปัดตุเป๋
+ตุ่ม
+ตุ้ม
+ตุ๋ม
+ตุ๊มๆ
+ตุ๊มๆต้อมๆ
+ตุ้มกว้าว
+ตุมกา
+ตุ้มแซะ
+ตุมตัง
+ตุ้มเต๋น
+ตุ้มปี่
+ตุมพ
+ตุ่ย
+ตุ้ย
+ตุ๊ย
+ตุ่ยๆ
+ตุ้ยๆ
+ตุ๋ยตุ่ย
+ตุรค
+ตุรงค์
+ตุริยางค์
+ตุลสิ
+ตุลา
+ตุหรัดตุเหร่
+ตู
+ตู่
+ตู้
+ตูก
+ตูด
+ตูดงอน
+ตูบ
+ตูม
+ตูลิ่นฮื้อ
+ตูหนา
+เต
+เตก
+เต็ก
+เต็ง
+เต่ง
+เตช
+เตโช
+เต้น
+เต็นท์
+เต็ม
+เตย
+เต้ย
+เต๊ย
+เตร่
+เตร็ด
+เตร็ดเตร่
+เตร็ดเตรน
+เตรน
+เตริง
+เตรียด
+เตรียบ
+เตรียม
+เตรียมตรม
+เตละ
+เตลิด
+เตว็ด
+เต่อ
+เตอะ
+เตะ
+เต๊ะ
+เต๊ะจุ๊ย
+เต๊ะท่า
+เตา
+เต่า
+เต้า
+เต๋า
+เต่ากระสุน
+เต่ากินผักบุ้ง
+เต่าเกียด
+เต้าเจี้ยว
+เต่าทอง
+เต่าทอเสื่อ
+เต้าทึง
+เต่าบ้า
+เต่ารั้ง
+เต่าร้าง
+เต่าเลือน
+เต้าส่วน
+เต้าเสียบ
+เต่าหับ
+เต้าหู้
+เต้าฮวย
+เต๊าะ
+เตาะแตะ
+เติ่ง
+เตินเต่อ
+เติบ
+เติม
+เตี่ย
+เตี้ย
+เตียง
+เตียน
+เตียบ
+เตี๊ยม
+เตี๋ยม
+เตียรถ์
+เตียว
+เตี่ยว
+เตื้อ
+เตือน
+แต่
+แต้
+แต่ๆ
+แตก
+แต่ก่อนแต่กี้
+แต่กี้แต่ก่อน
+แตง
+แต่ง
+แตงเม
+แต้จิ๋ว
+แตด
+แต๊ดแต๋
+แตน
+แต้ม
+แตร
+แตระ
+แต้วแร้ว
+แตะ
+โต
+โต้
+โตก
+โต้ง
+โต้งๆ
+โตงๆเตงๆ
+โตงเตง
+โตฎก
+โต๊ด
+โต๋เต๋
+โตน
+โตนด
+โต้โผ
+โตมร
+โตมรธร
+โตย
+โตรก
+โตรกไตร
+โตรด
+โต้หลง
+โต๊ะ
+ใต้
+ไต
+ไต่
+ไต้
+ไต๋
+ไต้ก๋ง
+ไต้ฝุ่น
+ไต่ไม้
+ไตร
+ไตรกิศยา
+ไตรดายุค
+ไตร่ตรอง
+ไตรย
+ไต้หวัน
+ไต้อ๋อง
+ถ
+ถก
+ถกล
+ถงัน
+ถงาด
+ถด
+ถน
+ถนน
+ถนป
+ถนอม
+ถนัด
+ถนัน
+ถนำ
+ถนิม
+ถนิมสร้อย
+ถบ
+ถบดี
+ถม
+ถ่ม
+ถมอ
+ถมึงทึง
+ถล
+ถลก
+ถลกบาตร
+ถลน
+ถลม
+ถล่ม
+ถลอก
+ถลัก
+ถลัน
+ถลา
+ถลาก
+ถลาย
+ถลำ
+ถลีถลำ
+ถลึงตา
+ถลุง
+ถลุน
+ถ่วง
+ถ้วน
+ถ้วย
+ถ้วยโถง
+ถวัด
+ถวัล
+ถวัลย์
+ถวาย
+ถวิน
+ถวิล
+ถ่อ
+ถ้อ
+ถอก
+ถอง
+ถ่อง
+ถ้อง
+ถอด
+ถอน
+ถอบ
+ถอบแถบ
+ถ่อม
+ถอย
+ถ่อย
+ถ้อย
+ถะ
+ถะกัด
+ถะเกิน
+ถะโกน
+ถะถั่น
+ถะถับ
+ถะถุนถะถัน
+ถะมัดถะแมง
+ถัก
+ถัง
+ถั่ง
+ถัณฑิล
+ถัด
+ถัทธ
+ถัน
+ถั่น
+ถั่นๆ
+ถับ
+ถับๆ
+ถัมภ์
+ถัว
+ถั่ว
+ถั่วขาว
+ถา
+ถ้า
+ถาก
+ถาง
+ถ่าง
+ถาด
+ถาน
+ถ่าน
+ถาบ
+ถาม
+ถามะ
+ถ่าย
+ถ่ายเดียว
+ถ่าว
+ถาวร
+ถาวรธิรา
+ถาวรวัตถุ
+ถ้ำ
+ถิ่น
+ถี
+ถี่
+ถี่ๆ
+ถีบ
+ถีบฉัด
+ถึก
+ถึง
+ถือ
+ถุง
+ถุน
+ถุย
+ถุล
+ถุลละ
+ถู
+ถูก
+เถกิง
+เถน
+เถมิน
+เถร
+เถระ
+เถลไถล
+เถลิก
+เถลิง
+เถลือกถลน
+เถ่อ
+เถอะ
+เถา
+เถ้า
+เถาคัน
+เถาคันเหล็ก
+เถาเงาะ
+เถามวก
+เถาวัลย์เขียว
+เถาวัลย์ปูน
+เถาวัลย์เปรียง
+เถาวัลย์ยอดด้วน
+เถาวัลย์เหล็ก
+เถาสิงโต
+เถาหัวด้วน
+เถาะ
+เถิก
+เถิง
+เถิด
+เถิดเทิง
+เถิน
+เถียง
+เถียร
+เถือ
+เถือก
+เถื่อน
+แถ
+แถก
+แถง
+แถน
+แถบ
+แถม
+แถลง
+แถลบ
+แถว
+โถ
+โถง
+โถงเถง
+โถบ
+โถม
+โถมนาการ
+ไถ
+ไถ่
+ไถ้
+ไถง
+ไถล
+ท
+ทก
+ทกล้า
+ทแกล้ว
+ท่ง
+ทงัน
+ทชี
+ทด
+ทดโทร่ห
+ทท
+ทธิ
+ทน
+ท้น
+ทนดี
+ทนต์
+ทนโท่
+ทนม
+ทนสมุทร
+ทนาย
+ทบ
+ทบวง
+ทม
+ทมก
+ทมน
+ทมบ
+ทมอ
+ทมิฬ
+ทเมิน
+ทโมน
+ทยอย
+ทยา
+ทแยง
+ทร
+ทรง
+ทรงกระเทียม
+ทรงบาดาล
+ทรทึง
+ทรพี
+ทรมาทรกรรม
+ทรมาน
+ทรมุก
+ทรรทึง
+ทรรป
+ทรรปณ์
+ทรรปณะ
+ทรรศนะ
+ทรรศนีย์
+ทรเล่ห์
+ทรวง
+ทรวด
+ทรวดทรง
+ทรวาร
+ทรสองทรสุม
+ทรสาย
+ทรสุม
+ทรหด
+ทรหน
+ทรหวล
+ทรหึง
+ทรหึงทรหวล
+ทรหู
+ทรเหล
+ทรอ
+ทรอมโบน
+ทรอึง
+ทรอุ้ม
+ทระนง
+ทระนาว
+ทรัพย์
+ทรัมเป็ต
+ทรัสต์
+ทรานซิสเตอร์
+ทราบ
+ทราม
+ทราย
+ทรายขาว
+ทริทร
+ทรุด
+ทรุม
+ทรุมขัณฑ์
+ทรุมมัย
+ทรุมวาสี
+ทรุมเศรษฐ์
+ทรุมาริ
+ทรุมาลัย
+ทรู่
+ทฤษฎี
+ทล
+ทลบม
+ทลอึง
+ทลาย
+ทลิท
+ทลิททก
+ทวง
+ท้วง
+ท่วงท่า
+ท่วงทำนอง
+ท่วงที
+ทวด
+ทวดึงส์
+ทวน
+ท้วน
+ท่วม
+ท้วม
+ท้วมๆ
+ทวย
+ท่วย
+ท้วย
+ทวยะ
+ทวอย
+ทวัตดึงส์
+ทวัย
+ทวา
+ทว่า
+ทวาบรยุค
+ทวาย
+ทวาร
+ทวาราวดี
+ทวิ
+ทวิช
+ทวิตีย
+ทวิตียา
+ทวิร
+ทวี
+ทวีป
+ทวีปี
+ทศ
+ทศา
+ทศางค์
+ทสมี
+ทสา
+ทหระ
+ทหาร
+ทอ
+ท่อ
+ท้อ
+ทอก
+ทอง
+ท่อง
+ท้อง
+ทองกวาว
+ทองเครือ
+ทองธรรมชาติ
+ทองเผือก
+ทองพระขุน
+ทองพลุ
+ท้องพลุ
+ทองพันช่าง
+ทองพันดุล
+ทองภู
+ทองม้วน
+ทองย้อย
+ทองลิน
+ทองหลาง
+ทองโหลง
+ทองอุไร
+ทอด
+ทอน
+ท่อน
+ทอนซิล
+ทอฟฟี่
+ทอม
+ท่อมๆ
+ทอย
+ทอร์นาโด
+ทอเรียม
+ทะ
+ทะงัน
+ทะท่าว
+ทะเทียด
+ทะนง
+ทะนน
+ทะนะ
+ทะนา
+ทะนาน
+ทะนุ
+ทะบู
+ทะเบียน
+ทะมัดทะแมง
+ทะมึน
+ทะมื่น
+ทะแม่ง
+ทะยาทะแยแส
+ทะยาน
+ทะเยอทะยาน
+ทะแย
+ทะร่อทะแร่
+ทะลวง
+ทะลอก
+ทะล่อทะล่า
+ทะลัก
+ทะลักทะแลง
+ทะลาย
+ทะลิ่น
+ทะลึ่ง
+ทะลุ
+ทะลุทะลาด
+ทะเล
+ทะเล้น
+ทะเลาะ
+ทะวาย
+ทะเวน
+ทัก
+ทักข์
+ทักขิญ
+ทักขิณ
+ทักขิณา
+ทักขิณาบถ
+ทักขิณาวัฏ
+ทักขิโณทก
+ทักขิไณยบุคคล
+ทักทอ
+ทักทิน
+ทักษะ
+ทักษา
+ทักษิณ
+ทักษิณา
+ทัคธ์
+ทัง
+ทั่ง
+ทั้ง
+ทังวล
+ทังวี้ทังวล
+ทังสเตน
+ทัณฑกรรม
+ทัณฑฆาต
+ทัณฑธร
+ทัณฑนายก
+ทัณฑนิคม
+ทัณฑนีติ
+ทัณฑ์บน
+ทัณฑปาศก
+ทัณฑภัย
+ทัณฑมุข
+ทัณฑยาตรา
+ทัณฑวิทยา
+ทัณฑสถาน
+ทัณฑสยาม
+ทัณฑะ
+ทัณฑิกา
+ทัณฑิมา
+ทัณฑี
+ทัณฑีบท
+ทัด
+ทัดทา
+ทัต
+ทัน
+ทันต์
+ทันติน
+ทันตี
+ทันธ์
+ทับ
+ทับเกษตร
+ทับทิม
+ทับเล็ก
+ทับสมิงคลา
+ทัป
+ทัปน
+ทัพ
+ทัพพะ
+ทัพพี
+ทัมมะ
+ทั่ว
+ทัศ
+ทัศน์
+ทัศนะ
+ทัศนา
+ทัศนีย์
+ทัศไนย
+ทัสนานุตริยะ
+ทัฬห
+ทัฬหิกรณ์
+ทัฬหีกรรม
+ทา
+ท่า
+ท้า
+ทาก
+ทาง
+ท้าง
+ทาฐะ
+ทาฐิกะ
+ทาฒะ
+ทาฒิกะ
+ทาน
+ท่าน
+ทานกัณฑ์
+ทานกาม
+ทานต์
+ทานตะวัน
+ทานธรรม
+ทานบดี
+ทานบารมี
+ทานพ
+ทานศีล
+ทานสมาบัติ
+ทานาธิบดี
+ทาบ
+ทาม
+ท่ามกลาง
+ทามริก
+ทาย
+ท้าย
+ทายก
+ทายัช
+ทายา
+ทายาด
+ทายาท
+ทารก
+ทาร์ซาน
+ทารพี
+ทาริกา
+ทารุ
+ทารุณ
+ทารุณกรรม
+ทาว
+ท่าว
+ท้าว
+ทาษ
+ทาส
+ทาสี
+ทำ
+ทำงน
+ทำนบ
+ทำนวย
+ทำนอง
+ทำนาย
+ทำนุ
+ทำนูล
+ทำเนา
+ทำเนียบ
+ทำเนียม
+ทำมัง
+ทำไม
+ทำลาย
+ทำเล
+ทำวน
+ทิคัมพร
+ทิฆัมพร
+ทิ้ง
+ทิงเจอร์
+ทิ้งถ่อน
+ทิ้งทูด
+ทิช
+ทิฏฐชุกรรม
+ทิฏฐะ
+ทิฏฐานุคติ
+ทิฐิ
+ทิด
+ทิต
+ทิน
+ทินาท
+ทิพ
+ทิพย์
+ทิพา
+ทิม
+ทิ่ม
+ทิมทอง
+ทิว
+ทิวงคต
+ทิวทัศน์
+ทิวสะ
+ทิวา
+ทิศ
+ทิศา
+ที
+ที่
+ทีป
+ทีม
+ทีวี
+ทีเอนที
+ทึก
+ทึ่ง
+ทึ้ง
+ทึดทือ
+ทึนทึก
+ทึบ
+ทึม
+ทึ่ม
+ทื่อ
+ทุ
+ทุก
+ทุกข
+ทุกข์
+ทุกขักษัย
+ทุกฏ
+ทุกษดร
+ทุกะ
+ทุกัง
+ทุกูล
+ทุคตะ
+ทุคติ
+ทุ่ง
+ทุ้ง
+ทุงงะ
+ทุงเทง
+ทุจจิณณะ
+ทุจริต
+ทุฏฐะ
+ทุฏฐุลละ
+ทุด
+ทุตวิลัมพิตมาลา
+ทุติยาสาฬห
+ทุทรรศนนิยม
+ทุน
+ทุ่น
+ทุนนิมิต
+ทุนิยม
+ทุบ
+ทุบทู
+ทุปปัญญา
+ทุพพรรณ
+ทุพพล
+ทุพพลภาพ
+ทุพภิกขภัย
+ทุพภิกขันดรกัป
+ทุม
+ทุ่ม
+ทุ้ม
+ทุมโน
+ทุย
+ทุ้ย
+ทุรน
+ทุรัถยา
+ทุรัศ
+ทุราคม
+ทุราจาร
+ทุราธวา
+ทุเรศ
+ทุเรียน
+ทุเรียนแขก
+ทุลักทุเล
+ทุเลา
+ทุวิชาน
+ทุวิธ
+ทุศีล
+ทุสสะ
+ทุสสีล
+ทู
+ทู่
+ทู้
+ทู่ซี้
+ทูต
+ทูตานุทูต
+ทูน
+ทูบ
+ทูม
+ทูเรนิทาน
+ทูล
+ทูเลียม
+ทูษก
+เท
+เท่
+เทคนิค
+เทคนีเซียม
+เทคโนโลยี
+เทง
+เท้ง
+เท้งเต้ง
+เท้งทูด
+เท็จ
+เทนนิส
+เทเบิลเทนนิส
+เทป
+เทพ
+เทพทารู
+เทพทาโร
+เทพา
+เทพิน
+เทพี
+เทพีปักษี
+เทโพ
+เทมปุระ
+เทริด
+เทลลูเรียม
+เทวดา
+เทวนะ
+เทวภาวะ
+เทวระ
+เทววาจิกะ
+เทววาจิสรณคมน์
+เทวศ
+เทวษ
+เทวสุคนธ์
+เทวอ
+เทวัญ
+เทวัน
+เทวี
+เทศ
+เทศก
+เทศน์
+เทศนา
+เทศะ
+เทห์
+เท่ห์
+เท่อ
+เท้อ
+เทอญ
+เทอม
+เทอร์เบียม
+เทอร์โมมิเตอร์
+เทอะทะ
+เทา
+เท่า
+เท้า
+เท้าช้าง
+เท่ามัก
+เท้ายายม่อม
+เท่ารึง
+เท้าสาน
+เทาะห์
+เทิก
+เทิ่ง
+เทิงบอง
+เทิด
+เทิน
+เทิบ
+เทิบๆ
+เทิ้ม
+เทียง
+เทียน
+เที้ยน
+เทียบ
+เทียร
+เที้ยร
+เทียว
+เที่ยว
+เทือ
+เทื่อ
+เทื้อ
+เทือก
+เทือกเขา
+เทือกเถาเหล่ากอ
+เทือน
+แท่
+แท้
+แท็กซี่
+แทง
+แท่ง
+แท้ง
+แท็งก์น้ำ
+แทงทวย
+แทงวิสัย
+แทตย์
+แทน
+แท่น
+แทนเจนต์
+แทนทาลัม
+แทบ
+แทรก
+แทรกเตอร์
+แทลเลียม
+แทะ
+โท
+โท่
+โทกเทก
+โทงๆ
+โทงเทง
+โทณะ
+โทธก
+โทน
+โทนโท่
+โทมนัส
+โทรณ
+โทรม
+โทราวิก
+โทลา
+โทษ
+โทษกรณ์
+โทษคุณ
+โทษตรัย
+โทษทัณฑ์
+โทษโพย
+โทษมหันต์
+โทษา
+โทสะ
+โทโส
+โทหฬะ
+โทหฬินี
+ไท
+ไท้
+ไทกอ
+ไทเทเนียม
+ไทฟอยด์
+ไทย
+ไทยธรรม
+ไทร
+ไทรอยด์
+ไทวะ
+ธ
+ธง
+ธงก์
+ธช
+ธชี
+ธตรฐ
+ธน
+ธนัง
+ธนาคาร
+ธนาณัติ
+ธนาตม
+ธนาธาร
+ธนาธิบดี
+ธนาธิป
+ธนาธิปัตย์
+ธนานุเคราะห์
+ธนารักษ์
+ธนิต
+ธนิษฐา
+ธนุ
+ธนู
+ธเนศ
+ธเนศวร
+ธโนปจัย
+ธไนศวรรย์
+ธม
+ธมกรก
+ธร
+ธรง
+ธรณ
+ธรณิน
+ธรณินทร์
+ธรณิศ
+ธรณิศร
+ธรณิศวร์
+ธรณี
+ธรมาน
+ธรรม
+ธรรมะ
+ธรา
+ธริษตรี
+ธเรศ
+ธเรษตรี
+ธวัช
+ธังก
+ธัช
+ธัญ
+ธันยา
+ธันยาวาท
+ธันวาคม
+ธัมมะ
+ธาดา
+ธาตรี
+ธาตวากร
+ธาตุ
+ธาตุมมิสสา
+ธานิน
+ธานินทร์
+ธานี
+ธาร
+ธารกำนัล
+ธารคำนัล
+ธารณ
+ธารณะ
+ธารณา
+ธารา
+ธาษตรี
+ธำมรงค์
+ธำรง
+ธิดา
+ธิติ
+ธีระ
+ธุช
+ธุดงค์
+ธุต
+ธุตตะ
+ธุม
+ธุมะ
+ธุระ
+ธุรำ
+ธุลี
+ธุหร่ำ
+ธูป
+เธนุ
+เธอ
+เธียร
+โธ่
+โธวน
+น
+นก
+นกกระทุง
+นกุล
+นข
+นค
+นคร
+นครกัณฑ์
+นครบาล
+นครมัณฑนา
+นครรัฐ
+นครวาสี
+นครโสภิณี
+นครโสเภณี
+นครหลวง
+นคราทร
+นครินทร์
+นคเรศ
+นง
+นงคุฐ
+นท
+นที
+นนตรา
+นนท์
+นนทก
+นนทรี
+นนทลี
+นนทิ
+นบ
+นปุงสกลิงค์
+นปุงสกลึงค์
+นพเกตน์
+นพเก้า
+นพคุณ
+นพเคราะห์
+นพนิต
+นพปฎล
+นพพล
+นพพวง
+นพพัน
+นพรัตน์
+นพศก
+นพศูล
+นภกานต์
+นภคช
+นภคติ
+นภจร
+นภจักษุ
+นภดล
+นภทวีป
+นภปราณ
+นภมณฑล
+นภมณี
+นภมัย
+นภรูป
+นภเรณู
+นภวิถี
+นภศูล
+นภสินธุ์
+นภา
+นภากาศ
+นภาลัย
+นม
+นมนาน
+นมะ
+นมักการ
+นมัสการ
+นมาซ
+นยนะ
+นยนา
+นยะ
+นยักษ์
+นรก
+นรการ
+นราธิป
+นรินทร์
+นริศ
+นริศวร
+นรี
+นเรนทรสูร
+นเรศ
+นเรศวร
+นเรศวร์ชนช้าง
+นเรศูร
+นฤโฆษ
+นฤตย์
+นฤนาท
+นฤพาน
+นฤมล
+นฤมาณ
+นฤมิต
+นลาฏ
+นลิน
+นวกะ
+นวด
+นวนิยาย
+นวม
+น่วม
+นวย
+นวล
+นวอรหาทิคุณ
+นวังคสัตถุศาสน์
+นวาระ
+นวาอรหาธิคุณ
+นหาดก
+นหาน
+นหารุ
+นหุต
+นฬ
+นฬป
+นอ
+นอก
+นอง
+น่อง
+น้อง
+น่องแน่ง
+นอต
+นอน
+นอบ
+น้อม
+น้อย
+น้อยหน่า
+น้อยโหน่ง
+นะ
+นะแน่ง
+นัก
+นักกะ
+นักขัต
+นักงาน
+นักตะ
+นักร
+นักษัตร
+นักสราช
+นัข
+นัค
+นัคคะ
+นัง
+นั่ง
+นังคัล
+นัจ
+นัฏ
+นัฏก
+นัฑ
+นัด
+นัดดา
+นัตถุ์
+นั่น
+นั้น
+นันททายี
+นันทน์
+นันทนาการ
+นันทิ
+นับ
+นับประสา
+นับประสาอะไร
+นัย
+นัยน์
+นัยนา
+นัว
+นา
+น่า
+น้า
+นาก
+นากบุด
+นากาสาหรี
+นาค
+นาคร
+นาคา
+นาคาวโลก
+นาคาสน์
+นาคินทร์
+นาคี
+นาเคนทร์
+นาเคศ
+นาเคศวร
+นาโครคินทร
+นาง
+นางนวล
+นางนูน
+นางแย้ม
+นางรม
+นางเล็ด
+นางเลิ้ง
+นางหงส์
+นางอาย
+นางแอ่น
+นาซา
+นาซี
+นาฏ
+นาฏก
+นาฏกรรม
+นาฏดนตรี
+นาฏศิลป์
+นาด
+นาถ
+นาท
+นาที
+นาน
+น่าน
+นานัครส
+นานัตว
+นานัปการ
+นานา
+นาเนก
+นาบ
+นาภิ
+นาภี
+นาม
+นามบัตร
+นามปากกา
+นามแฝง
+นามสกุล
+นาย
+น่าย
+นายก
+นายิกา
+นารท
+นารา
+นารายณ์
+นารี
+นาเรศ
+นาลิวัน
+นาลี
+นาว
+น้าว
+นาวา
+นาวิก
+นาวิน
+นาวี
+นาเวศ
+นาศ
+นาสนะ
+นาสา
+นาสิก
+นาฬิกา
+นาฬิเก
+นาฬี
+นำ
+น้ำ
+น้ำตะกู
+น้ำตะโก
+นิ
+นิกขะ
+นิกขันต์
+นิกเขป
+นิกร
+นิกรอยด์
+นิกาย
+นิเกิล
+นิคม
+นิครนถ์
+นิคหะ
+นิคหิต
+นิคาลัย
+นิเคราะห์
+นิโคติน
+นิโครธ
+นิโครม
+นิง
+นิ่ง
+นิจ
+นิด
+นิตย์
+นิติ
+นิทร
+นิทรรศการ
+นิทรา
+นิทัศน์
+นิทาฆ
+นิทาน
+นิเทศ
+นิเทศก์
+นิธาน
+นิธิ
+นินทา
+นินนะ
+นินนาท
+นินหุต
+นินาท
+นิบาต
+นิปริยาย
+นิปัจการ
+นิพจน์
+นิพนธ์
+นิพพาน
+นิพพิทา
+นิพัทธ์
+นิพันธ์
+นิพิท
+นิเพท
+นิภา
+นิ่ม
+นิ้ม
+นิมนต์
+นิมมาน
+นิมมานรดี
+นิมิต
+นิยต
+นิยม
+นิยยาน
+นิยยานิก
+นิยัตินิยม
+นิยาม
+นิยาย
+นิยุต
+นิรพัตร
+นิรมาณ
+นิรมิต
+นิรัพพุท
+นิราศ
+นิรุกติ
+นิรุตติ
+นิรุทธ์
+นิโรธ
+นิล
+นิ่ว
+นิ้ว
+นิวคลีอิก
+นิวเคลียร์
+นิวเคลียส
+นิวตรอน
+นิวรณ์
+นิวัตน์
+นิวัติ
+นิวาต
+นิวาส
+นิวาสน์
+นิเวศ
+นิเวศน์
+นิศา
+นิษกรม
+นิษาท
+นิสสัคคิยวัตถุ
+นิสสัคคีย์
+นิสัช
+นิสัย
+นิสาท
+นิสิต
+นิสีทนะ
+นิเสธ
+นิหีนะ
+นี่
+นี้
+นีติ
+นี่นัน
+นีรนาท
+นีออน
+นีโอดีเมียม
+นึก
+นึง
+นึ่ง
+นุ
+นุง
+นุ่ง
+นุช
+นุด
+นุต
+นุ่น
+นุ้ย
+นูน
+นู่น
+นู้น
+เนกขะ
+เนกขัม
+เนคไท
+เนต
+เนตบอล
+เนตร
+เนติ
+เน้น
+เนบิวลา
+เนปจูน
+เนปทูเนียม
+เนมิ
+เนมิตกะ
+เนมินธร
+เนย
+เนยยะ
+เนรกัณฐี
+เนรคุณ
+เนรเทศ
+เนรนาถ
+เนรมิต
+เนระพูสี
+เนษาท
+เนอ
+เน้อ
+เนา
+เน่า
+เนาวนิต
+เนิน
+เนิ่น
+เนิบ
+เนียง
+เนียน
+เนียม
+เนียร
+เนียรทุกข์
+เนียรเทศ
+เนียรนาท
+เนื้อ
+เนือง
+เนื่อง
+เนือย
+เนื้อเยื้อ
+แน่
+แน่ง
+แน่น
+แนบ
+แนม
+แนว
+แน่ว
+แนะ
+แนะแหน
+โน
+โน้ต
+โนน
+โน่น
+โน้น
+โนเน
+โนเบเลียม
+โน้ม
+โนมพรรณ
+โนรา
+โนรี
+ใน
+ไน
+ไนต์คลับ
+ไนโตรเจน
+ไนท์คลับ
+ไนลอน
+ไนอาซีน
+ไนโอเบียม
+บ
+บ่
+บก
+บง
+บ่ง
+บงก์
+บ๊งเบ๊ง
+บงสุ์
+บงอับบงรา
+บ่งอับบ่งรา
+บฏ
+บด
+บดินทร์
+บดี
+บถ
+บท
+บทนี
+บทบงกช
+บทบงสุ์
+บทบูรณ์
+บทพันธ์
+บทภาชน์
+บทภาชนีย์
+บทมาลย์
+บทรัช
+บทวเรศ
+บทวลัญช์
+บทวาร
+บทศรี
+บทศัพท์
+บทสถาน
+บทามพุช
+บโทน
+บน
+บ่น
+บพิตร
+บพิธ
+บ่ม
+บรม
+บรมัตถ์
+บรรกวด
+บรรจง
+บรรจถรณ์
+บรรจบ
+บรรจวบ
+บรรจุ
+บรรเจิด
+บรรณ
+บรรณาการ
+บรรณาคม
+บรรณาธิการ
+บรรณานุกรม
+บรรณารักษ์
+บรรณารักษศาสตร์
+บรรดา
+บรรดาก
+บรรดาศักดิ์
+บรรตานึก
+บรรถร
+บรรทม
+บรรทัด
+บรรทับ
+บรรทาน
+บรรทุก
+บรรเทา
+บรรเทือง
+บรรพ
+บรรพ์
+บรรพชา
+บรรพชิต
+บรรพต
+บรรยง
+บรรยงค์
+บรรยเวกษก์
+บรรยากาศ
+บรรยาย
+บรรลัย
+บรรลาย
+บรรลุ
+บรรเลง
+บรรโลม
+บรรษัท
+บรรสบ
+บรรสพ
+บรรสม
+บรรสาน
+บรรสาร
+บรรหาน
+บรรหาร
+บรัด
+บรั่นดี
+บรัศว์
+บรากรม
+บราทุกรา
+บราลี
+บริกรม
+บริกรรม
+บริกัป
+บริการ
+บริขา
+บริขาร
+บริคณห์
+บริจาค
+บริจารก
+บริจาริกา
+บริเฉท
+บริชน
+บริณายก
+บริดจ์
+บริบท
+บริบวรณ์
+บริบาล
+บริบูรณ์
+บริพนธ์
+บริพัตร
+บริพันธ์
+บริพาชก
+บริพาชิกา
+บริพาชี
+บริพาร
+บริภัณฑ์
+บริภาษ
+บริโภค
+บริมาส
+บริยาย
+บริรม
+บริรักษ์
+บริราช
+บริวรรต
+บริวาร
+บริวาส
+บริเวณ
+บริษการ
+บริษัท
+บริสชน
+บริสุทธิ์
+บริหาร
+บริหาส
+บรื๋อ
+บฤงคพ
+บล็อก
+บวก
+บวง
+บ่วง
+บวช
+บวน
+บ้วน
+บวบ
+บวม
+บ๊วย
+บวร
+บวรโตฎก
+บหลิ่ม
+บอ
+บ่อ
+บ้อ
+บอก
+บอง
+บ่อง
+บ้อง
+บ๊อง
+บ๊องๆ
+บ้องตะลา
+บ้องแบ๊ว
+บองหลา
+บอด
+บอน
+บ่อน
+บอนลายกระหนก
+บอบ
+บ้อม
+บ๋อม
+บอมบ์
+บ่อย
+บ๋อย
+บ่อยๆ
+บอระเพ็ด
+บอระมาน
+บอล
+บอลลูน
+บ้อหุ้น
+บ๊ะ
+บะฉ่อ
+บะหมี่
+บัก
+บัคเตรี
+บัง
+บั้ง
+บังกะโล
+บังกัด
+บังเกิด
+บังโกรยตัวผู้
+บังโกรยตัวเมีย
+บังโกลน
+บังคน
+บังคม
+บังคล
+บังควร
+บังคับ
+บังคัล
+บังโคลน
+บังแทรก
+บังวาย
+บังเวียน
+บังสุกุล
+บังสุกูลิก
+บังสูรย์
+บังหวน
+บังหวนควัน
+บังเหตุ
+บังเหิน
+บังเหียน
+บังอร
+บังอวจ
+บังอาจ
+บังอิง
+บังอูร
+บังเอิญ
+บัญจก
+บัญจรงค์
+บัญชร
+บัญชา
+บัญชี
+บัญญัติ
+บัญหา
+บัฏ
+บัฐยาพฤต
+บัณฑร
+บัณฑิต
+บัณฑิตย์
+บัณฑุ
+บัณฑูร
+บัณเฑาะก์
+บัณณาส
+บัณรส
+บัณรสี
+บัด
+บัดกรี
+บัดซบ
+บัดบง
+บัดสี
+บัตร
+บัทม์
+บัน
+บั่น
+บั้น
+บันกวด
+บันจวบ
+บันจอย
+บันดล
+บันดาล
+บันเดิน
+บันโดย
+บันได
+บันทาย
+บันทึก
+บันทึง
+บันเทิง
+บันยะบันยัง
+บันลือ
+บันเหิน
+บัปผาสะ
+บัพ
+บัพชา
+บัพชิต
+บัพพาช
+บัพพาชน์
+บัพพาชนียกรรม
+บัล
+บัลลพ
+บัลลังก์
+บัลลูน
+บัลเล่ต์
+บัลวะ
+บัว
+บัวเดื่อ
+บัวตูม
+บัวบก
+บัวสวรรค์
+บา
+บ่า
+บ้า
+บ้าๆ
+บาก
+บาง
+บ่าง
+บ้าง
+บางกอก
+บางสุ
+บาจก
+บาจรีย์
+บาจิกา
+บาซาร์
+บาซิลลัส
+บาด
+บาดทะจิต
+บาดทะพิษ
+บาดทะยัก
+บาดหมาย
+บาดไหม
+บาดาล
+บาแดง
+บาต
+บาตร
+บาท
+บาทบ
+บาทบงกช
+บาทบริจาริกา
+บาทวิถี
+บาทสกุณี
+บาทหลวง
+บาทาธึก
+บาทุกา
+บาน
+บ้าน
+บานมงคล
+บานียะ
+บ้าบ่น
+บ้าบ๋า
+บาบี
+บาบู
+บาบูน
+บาป
+บาปเคราะห์
+บาปทฤษฎี
+บาปมิตร
+บาปวาท
+บาพก
+บ่าพก
+บาย
+บ่าย
+บ้าย
+บายสุหรี
+บาเยีย
+บาโย
+บาร์
+บารนี
+บาร์บิคิว
+บาร์เบล
+บารมี
+บาร์เรล
+บาร์เลย์
+บารอมิเตอร์
+บ้าระบุ่น
+บ้าร่าท่า
+บาเรียน
+บาเรียม
+บาล
+บาลี
+บ่าว
+บ่าวขุน
+บาศ
+บาศก์
+บาสเกตบอล
+บ้าหมู
+บาหลี
+บ้าหว่า
+บ่าอ้าย
+บ๋ำ
+บำเทิง
+บำนาญ
+บำบวง
+บำบัด
+บำโบ
+บำโบย
+บำโบล
+บำเพ็ญ
+บำราบ
+บำราศ
+บำรุง
+บำรู
+บำเรอ
+บำหยัด
+บำเหน็จ
+บิ
+บิกู
+บิฐ
+บิด
+บิดร
+บิดหล่า
+บิดา
+บิตุ
+บิตุจฉา
+บิตุรงค์
+บิตุเรศ
+บิตุล
+บิตุลา
+บิตุลานี
+บิน
+บิ่น
+บินยา
+บิลเลียด
+บิวเรตต์
+บิศาจ
+บิสมัท
+บี้
+บีกู
+บีฑา
+บีตา
+บีบ
+บีเยศ
+บึก
+บึกบึน
+บึง
+บึ่ง
+บึ้ง
+บุ
+บุก
+บุคคล
+บุคลากร
+บุคลาธิษฐาน
+บุคลิก
+บุง
+บุ่ง
+บุ้ง
+บุญ
+บุญเขต
+บุญญานุภาพ
+บุญญาภินิหาร
+บุญญาภิสังขาร
+บุญนิธิ
+บุญราศี
+บุญฤทธิ์
+บุณฑริก
+บุณมี
+บุณย์
+บุตร
+บุตรธรรม
+บุตรา
+บุตรี
+บุตรีตระสุม
+บุถุชน
+บุทคล
+บุ๋น
+บุนนะบุนนัง
+บุนนาค
+บุบ
+บุพเพนิวาสานุสติญาณ
+บุพเพสันนิวาส
+บุพโพ
+บุฟเฟ่ต์
+บุ๋ม
+บุ่มบ่าม
+บุ้ย
+บุ้ยปาก
+บุรณะ
+บุรพกุศล
+บุรพทิศ
+บุรพนิมิต
+บุรพบท
+บุรพภัทรบท
+บุรพาจารย์
+บุรพาษาฒ
+บุระ
+บุรัตถิมทิศ
+บุราณ
+บุราณทุติยิกา
+บุรินทร์
+บุริมทิศ
+บุริมพรรษา
+บุริมสิทธิ
+บุรี
+บุรุษ
+บุรุษโทษ
+บุรุษธรรม
+บุเรภพ
+บุเรภัต
+บุโรทั่ง
+บุษกร
+บุษบก
+บุษบง
+บุษบัน
+บุษบา
+บุษบามินตรา
+บุษปราค
+บุษปะ
+บุษย
+บุษย์
+บุษย์น้ำทอง
+บุษราคัม
+บุหงง
+บุหงัน
+บุหงา
+บุหรง
+บุหรี่
+บุหรี่พระราม
+บุหลัน
+บู่
+บู้
+บู๊
+บูชนียสถาน
+บูชา
+บูชิโด
+บูชิต
+บูด
+บูดู
+บูร
+บูรณ์
+บูรณะ
+บูรพ
+บูรพา
+บูรพาจารย์
+บูรี
+เบ้
+เบ๊
+เบคอน
+เบ่ง
+เบงกาละนี
+เบ๊จี๋
+เบญกานี
+เบญจ
+เบญจก
+เบญจมาศ
+เบญจา
+เบญจางค์
+เบญญา
+เบญพาด
+เบ็ด
+เบ็ดเตล็ด
+เบ็ดเสร็จ
+เบตา
+เบนซิน
+เบนไซน์
+เบรก
+เบริลเลียม
+เบรียน
+เบเร่ต์
+เบส
+เบสบอล
+เบ้อ
+เบอร์
+เบอร์คีเลียม
+เบ้อเร่อ
+เบ้อเร่อเท่อ
+เบ้อเริ่ม
+เบ้อเริ่มเทิ่ม
+เบอะ
+เบะ
+เบา
+เบ้า
+เบาราณ
+เบาะ
+เบิก
+เบิ่ง
+เบี้ย
+เบียก
+เบี่ยง
+เบียด
+เบียน
+เบียร์
+เบี้ยว
+เบือ
+เบื่อ
+เบื้อ
+เบื้อง
+เบือน
+แบ
+แบ้
+แบก
+แบคทีเรีย E
+แบ่ง
+แบงค์
+แบดมินตัน
+แบตเตอรี่
+แบน
+แบนโจ
+แบบ
+แบ็บ
+แบรก
+แบเรียม
+แบหลา
+แบะ
+แบะแซ
+โบ
+โบ้
+โบ๋
+โบก
+โบกขรณี
+โบกี้
+โบชุก
+โบดก
+โบต
+โบตั๋น
+โบนัส
+โบ๊เบ๊
+โบย
+โบรมีน
+โบรอน
+โบราณ
+โบว์ลิ่ง
+โบสถ์
+ใบ
+ใบ้
+ใบระกา
+ไบ่ๆ
+ไบคาร์บอเนต
+ไบเบิล
+ป
+ปก
+ปกติ
+ปกรณ์
+ปกรณัม
+ปการ
+ปกิณกะ
+ปกีรณัม
+ปโกฏิ
+ปคุณ
+ปง
+ป่ง
+ปงปัง
+ปชาบดี
+ปฎล
+ปฏัก
+ปฏิกรณ์
+ปฏิกรรม
+ปฏิกรรมสงคราม
+ปฏิการะ
+ปฏิกิริยา
+ปฏิกูล
+ปฏิคคหิต
+ปฏิคม
+ปฏิคาหก
+ปฏิฆะ
+ปฏิจจสมุปบาท
+ปฏิชีวนะ
+ปฏิญญา
+ปฏิญาณ
+ปฏิทิน
+ปฏิบถ
+ปฏิบัติ
+ปฏิปทา
+ปฏิปักษ์
+ปฏิปัน
+ปฏิปุจฉาพยากรณ์
+ปฏิปุจฉาวาที
+ปฏิพัทธ์
+ปฏิพากย์
+ปฏิภาค
+ปฏิภาณ
+ปฏิภาณกวี
+ปฏิภาณปฏิสัมภิทา
+ปฏิภาณโวหาร
+ปฏิมา
+ปฏิมากร
+ปฏิยาย
+ปฏิยุทธ์
+ปฏิรพ
+ปฏิรูป
+ปฏิโลม
+ปฏิวัติ
+ปฏิวาต
+ปฏิวาท
+ปฏิเวธ
+ปฏิสนธิ
+ปฏิสวะ
+ปฏิสังขรณ์
+ปฏิสันถาร
+ปฏิสัมภิทา
+ปฏิเสธ
+ปฐพี
+ปฐม
+ปฐมดุสิต
+ปฐมพยาบาล
+ปฐมสมโพธิ
+ปฐมาสาฒ
+ปฐวี
+ปณต
+ปณาม
+ปณิธาน
+ปณิธิ
+ปณีต
+ปด
+ปดโป้
+ปดิวรัดา
+ปตัตรี
+ปติ
+ปติยัต
+ปถพี
+ปถมัง
+ปถวี
+ปทักขิณ
+ปทัฏฐาน
+ปทัสถาน
+ปทาน
+ปทานุกรม
+ปทีป
+ปทุม
+ปธาน
+ปน
+ป่น
+ปนัดดา
+ปนุท
+ปบ
+ปปัญจะ
+ปม
+ปรก
+ปรกติ
+ปรง
+ปรด
+ปรตยักษ์
+ปรตยาค
+ปรตเยก
+ปรทัตตูปชีวี
+ปรน
+ปรนนิบัติ
+ปรนัย
+ปรบ
+ปรปักษ์
+ปรเมหะ
+ปรโลก
+ปรวด
+ปรวนแปร
+ปรวาที
+ปรวิสัยสีมา
+ปรศุ
+ปรสิต
+ปร๋อ
+ปรองดอง
+ปรอด
+ปรอดๆ
+ปรอท
+ปรอย
+ปรอยๆ
+ประ
+ประกบ
+ประกฤต
+ประกฤติ
+ประกล
+ประกวด
+ประกอบ
+ประกัน
+ประกับ
+ประกาย
+ประการ
+ประกาศ
+ประกาศก
+ประกาศนียกรรม
+ประกาศนียบัตร
+ประกาศิต
+ประกำ
+ประกิด
+ประกิต
+ประกีรณก
+ประเกียรณก
+ประแกก
+ประคด
+ประคนธรรพ
+ประคนธรรพ์
+ประคบ
+ประคอง
+ประคับประคอง
+ประคัลภ์
+ประคำ
+ประคำไก่
+ประคำดีควาย
+ประคิ่น
+ประคิ่นวินชา
+ประคุณ
+ประเคน
+ประเคราะห์
+ประโคน
+ประโคนธรรบ
+ประโคนธรรพ์
+ประโคม
+ประจง
+ประจญ
+ประจบ
+ประจวบ
+ประจ๋อประแจ๋
+ประจักษ์
+ประจัญ
+ประจัน
+ประจาก
+ประจาค
+ประจาน
+ประจำ
+ประจิม
+ประจิ้มประจ่อง
+ประจิ้มประเจ๋อ
+ประจุ
+ประจุคมน์
+ประจุบัน
+ประเจก
+ประเจิด
+ประเจียด
+ประแจ
+ประชด
+ประชน
+ประชวม
+ประชวร
+ประชัน
+ประชา
+ประชิด
+ประชี
+ประชุม
+ประเชิญ
+ประณต
+ประณม
+ประณาม
+ประณิธาน
+ประณิธิ
+ประณีต
+ประณุท
+ประดง
+ประดงแดง
+ประดน
+ประดวน
+ประดอน
+ประดอย
+ประดัก
+ประดัง
+ประดับ
+ประดา
+ประดาก
+ประดาป
+ประดาษ
+ประดิชญา
+ประดิดประดอย
+ประดิทิน
+ประดิรพ
+ประดิษฐ์
+ประดิษฐาน
+ประดุ
+ประดุง
+ประดุจ
+ประดู่
+ประเด
+ประเด็น
+ประเดยก
+ประเดิม
+ประเดียง
+ประเดี๋ยว
+ประแดง
+ประแดะ
+ประโดย
+ประตง
+ประตยาค
+ประตัก
+ประตาปะ
+ประติชญา
+ประติญาณ
+ประติทิน
+ประติมากรรม
+ประติรพ
+ประติศรัพ
+ประตู
+ประถม
+ประถมจินดา
+ประทม
+ประทยด
+ประท้วง
+ประทวน
+ประทักษ์
+ประทักษิณ
+ประทัง
+ประทัด
+ประทับ
+ประท่า
+ประทากล้อง
+ประทาน
+ประทาย
+ประทาศี
+ประทิน
+ประทิ่น
+ประทีป
+ประทุก
+ประทุฐ
+ประทุฐจิต
+ประทุน
+ประทุมราค
+ประทุษ
+ประทุษฏ์
+ประทุษฏจิต
+ประทุษฐ์
+ประทุษฐจิต
+ประเทศ
+ประเทา
+ประเท้า
+ประเทียด
+ประเทียบ
+ประเทือง
+ประธาน
+ประธานาธิบดี
+ประนม
+ประนอ
+ประนอม
+ประนัง
+ประนัปดา
+ประนี้
+ประนีประนอม
+ประบัด
+ประบาต
+ประปราน
+ประปราย
+ประปา
+ประเปรี้ยง
+ประเปรี้ยว
+ประแปร้น
+ประพจน์
+ประพนธ์
+ประพรม
+ประพฤติ
+ประพฤทธิ์
+ประพัด
+ประพัทธ์
+ประพันธ์
+ประพาต
+ประพาศมหรณพ
+ประพาส
+ประพาฬ
+ประพิณ
+ประพิมพ์ประพาย
+ประพุทธ์
+ประเพณี
+ประเพ้อ
+ประแพร่งประแพรว
+ประโพธ
+ประไพ
+ประไพร
+ประภพ
+ประภัสสร
+ประภา
+ประภาพ
+ประภาษ
+ประภาส
+ประภูศักดิ์
+ประเภท
+ประมง
+ประมวญ
+ประมวล
+ประมัตตะ
+ประมาณ
+ประมาท
+ประมุข
+ประมุท
+ประมูล
+ประเมิน
+ประโมง
+ประโมทย์
+ประยงค์
+ประยุกต์
+ประยุทธ์
+ประยุร
+ประยูร
+ประโยค
+ประโยคสัมปทา
+ประโยชน์
+ประโรหิต
+ประลมพ์
+ประลอง
+ประลัย
+ประลาต
+ประลาย
+ประลึง
+ประลุ
+ประลุง
+ประเล่ห์
+ประเล้าประโลม
+ประโลประเล
+ประโลม
+ประวรรต
+ประวรรตน์
+ประวัติ
+ประวาต
+ประวาที
+ประวาล
+ประวาลปัทม์
+ประวาลผล
+ประวาลวรรณ
+ประวาส
+ประวิง
+ประวิช
+ประวิตร
+ประวีณ
+ประเวณี
+ประเวประวิง
+ประเวศ
+ประเวศน์
+ประศม
+ประศาสน์
+ประศุ
+ประสก
+ประสงค์
+ประสบ
+ประสพ
+ประสม
+ประสะ
+ประสัก
+ประสันนาการ
+ประสัยห์
+ประสา
+ประสาท
+ประสาทการ
+ประสาทรูป
+ประสาธน์
+ประสาน
+ประสาร
+ประสิทธิ์
+ประสีประสา
+ประสูต
+ประสูติ
+ประเสบันอากง
+ประเสริฐ
+ประแสบัน
+ประหนึ่ง
+ประหมัน
+ประหม่า
+ประหยัด
+ประหรณ์
+ประหลาด
+ประหลาท
+ประหล่ำ
+ประหลิ่ม
+ประหวัด
+ประหวั่น
+ประหว่า
+ประหัต
+ประหาณ
+ประหาร
+ประหาส
+ประเหล
+ประเหส
+ประเหียล
+ประไหมสุหรี
+ประอบ
+ประอร
+ประอึง
+ประอุก
+ประเอียง
+ประแอก
+ประฮาม
+ปรัก
+ปรักปรำ
+ปรักมะ
+ปรักหักพัง
+ปรัง
+ปรัชญา
+ปรัด
+ปรัตถจริยา
+ปรัตยนต์
+ปรัตยักษ์
+ปรัตยันต์
+ปรัตยัย
+ปรัตยุตบัน
+ปรัตยุบัน
+ปรัตยูษ
+ปรัตยูห์
+ปรัตเยก
+ปรัน
+ปรั่น
+ปรั้น
+ปรับ
+ปรัปวาท
+ปรัมปรา
+ปรัมมุขา
+ปรัศจิม
+ปรัศนา
+ปรัศนี
+ปรัศว์
+ปร่า
+ปรากฏ
+ปรากรม
+ปรากฤต
+ปราการ
+ปราคภาร
+ปราคาร
+ปราง
+ปรางค์
+ปรางคณะ
+ปราจีน
+ปราชญ์
+ปราชญา
+ปราชัย
+ปราชาปัตยวิวาหะ
+ปราชิต
+ปราณ
+ปราณี
+ปราด
+ปราติหารย์
+ปราทุกรา
+ปราน
+ปรานี
+ปราบ
+ปราบดาภิเษก
+ปราปต์
+ปราภพ
+ปราม
+ปรามาส
+ปราโมช
+ปราโมทย์
+ปราย
+ปรารถนา
+ปรารภ
+ปรารมภ์
+ปราศ
+ปราศจาก
+ปราศัย
+ปราษณี
+ปราษาณ
+ปราสัย
+ปราสาท
+ปรำ
+ปริ
+ปริก
+ปริกขาร
+ปริกรรม
+ปริกัป
+ปริขา
+ปริคณห์
+ปริฆ
+ปริจาค
+ปริจาริกา
+ปริเฉท
+ปริชน
+ปริซึม
+ปริญญา
+ปริณาม
+ปริณายก
+ปริตตะ
+ปริตโตทก
+ปริตยาค
+ปริตร
+ปริทรรศน์
+ปริทัยหัคคี
+ปริทัศน์
+ปริเทพ
+ปริเทพน์
+ปริเทวนะ
+ปริเทวะ
+ปรินิพพาน
+ปริบ
+ปริปันถ์
+ปริพนธ์
+ปริพัตร
+ปริพันธ์
+ปริพาชก
+ปริภัณฑ์
+ปริภาษ
+ปริภาษณ์
+ปริภุญช์
+ปริภูมิ
+ปริโภค
+ปริ่ม
+ปริมณฑล
+ปริมัท
+ปริมาณ
+ปริมาตร
+ปริยัติ
+ปริยัติธรรม
+ปริยาย
+ปริเยศ
+ปริโยสาน
+ปริวรรต
+ปริวัตร
+ปริวาร
+ปริวาส
+ปริวิตก
+ปริเวณ
+ปริศนา
+ปริษการ
+ปริษัท
+ปริสัญญู
+ปริสุทธิ
+ปริหาน
+ปริหาร
+ปริหาส
+ปรี่
+ปรีชญา
+ปรีชา
+ปรี๊ด
+ปรีดา
+ปรีดิ
+ปรีดิ์
+ปรีดี
+ปรีติ
+ปรีย
+ปรียา
+ปรึก
+ปรึกษา
+ปรึง
+ปรือ
+ปรื๋อ
+ปรุ
+ปรุง
+ปรู
+ปรู๋
+ปรูด
+ปรู๊ฟ
+ปฤงคพ
+ปฤจฉา
+ปฤษฎางค์
+ปฤษฐ
+ปฤษณ์
+ปลก
+ปลกเปลี้ย
+ปลง
+ปล่ง
+ปลด
+ปล้น
+ปลวก
+ปลอก
+ปล่อง
+ปล้อง
+ปลอด
+ปล้อน
+ปลอบ
+ปลอม
+ปล่อย
+ปละ
+ปลัก
+ปลั๊ก
+ปลั๊กไฟ
+ปลัง
+ปลั่ง
+ปลัด
+ปลัดขิก
+ปลา
+ปลาก
+ปลาดาว
+ปลาต
+ปลาบ
+ปลาฝา
+ปลาย
+ปลายนาการ
+ปลาโลมา
+ปลาวาฬ
+ปลาสเตอร์
+ปลาสนาการ
+ปลาหมึก
+ปล้ำ
+ปล้ำปลุก
+ปลิง
+ปลิด
+ปลิ้น
+ปลิโพธ
+ปลิม
+ปลิ่ม
+ปลิว
+ปลี
+ปลีก
+ปลื้ม
+ปลุก
+ปลูก
+ปวกเปียก
+ปวง
+ป่วง
+ปวด
+ป่วน
+ป้วน
+ป้วนเปี้ยน
+ป่วย
+ปวัตน์
+ปวัตยาการ
+ปวาต
+ปวารณา
+ปวาล
+ปวาส
+ปวาฬ
+ปวิช
+ปวิตร
+ปวิธ
+ปวิเวก
+ปวีณ
+ปวุติ
+ปเวณี
+ปเวส
+ปเวสน์
+ปศุ
+ปสพ
+ปสันนะ
+ปสัยหะ
+ปสาท
+ปสาน
+ปสาสน์
+ปสุ
+ปสุต
+ปสูติ
+ปหังส
+ปหังสน
+ปหาน
+ปหาร
+ปหาส
+ปอ
+ป้อ
+ป๋อ
+ปอก
+ปอง
+ป่อง
+ป้อง
+ปอด
+ปอน
+ป้อน
+ปอนๆ
+ปอนด์
+ปอเนาะ
+ปอบ
+ปอม
+ป้อม
+ป๋อม
+ปอย
+ป้อย
+ปะ
+ปะกน
+ปะกัง
+ปะกาปะกัง
+ปะการัง
+ปะกำ
+ปะขาว
+ปะงับปะง่อน
+ปะตานี
+ปะตาปา
+ปะตาระกาหลา
+ปะติดปะต่อ
+ปะติยาน
+ปะเตะ
+ปะทะ
+ปะทะปะทัง
+ปะทุ
+ปะทุน
+ปะบุก
+ปะปน
+ปะมง
+ปะราลี
+ปะรำ
+ปะลอม
+ปะเลง
+ปะแล่ม
+ปะแล่มๆ
+ปะโลง
+ปะวะหลำ
+ปะวะหลิ่ม
+ปะเสหรันอากง
+ปะหงับ
+ปะหงับๆ
+ปะหนัน
+ปะหมันอาหยี
+ปะหลิ่ม
+ปะหัง
+ปะเหลาะ
+ปะเหลาะปะแหละ
+ปัก
+ปักข์
+ปักเป้า
+ปักษ์
+ปักษา
+ปักษาสวรรค์
+ปักษิน
+ปักษิบดี
+ปักษิมารค
+ปักษิราช
+ปักษิสิงห์
+ปักษี
+ปัคหะ
+ปัง
+ปั่ง
+ปังสุ์
+ปังสุกุล
+ปัจจัตตะ
+ปัจจัย
+ปัจจามิตร
+ปัจจุคมน์
+ปัจจุทธรณ์
+ปัจจุบัน
+ปัจจูส
+ปัจจูหะ
+ปัจเจก
+ปัจเจกชน
+ปัจเจกบุคคล
+ปัจเจกพุทธะ
+ปัจเจกโพธิ
+ปัจเจกสมาทาน
+ปัจโจปการกิจ
+ปัจฉา
+ปัจฉิม
+ปัจถรณ์
+ปัจนึก
+ปัจยาการ
+ปัจเวกขณ์
+ปัชชร
+ปัชชุน
+ปัญจก
+ปัญจม
+ปัญจวีสติ
+ปัญญัติ
+ปัญญา
+ปัญหา
+ปัฏ
+ปัฏนะ
+ปัฐยาวัต
+ปัณฑรหัตถี
+ปัณฑุปลาส
+ปัณณะ
+ปัณณัตติกวัชชะ
+ปัณณาส
+ปัณณาสก์
+ปัณรสม
+ปัณรสี
+ปัณหิ
+ปัด
+ปัดๆ
+ปัดไถม
+ปัตคาด
+ปัตจัตถรณ์
+ปัตจันต์
+ปัตตะ
+ปัตตะเลี่ยน
+ปัตตานีกะ
+ปัตตานึก
+ปัตตามุโมทนา
+ปัตตาเวีย
+ปัตติ
+ปัตติก
+ปัตถร
+ปัตถะ
+ปัตนิ
+ปัตนี
+ปัตยัย
+ปัตหล่า
+ปัถพี
+ปัถวี
+ปัน
+ปั่น
+ปั้น
+ปั้นจั่น
+ปันจุเหร็จ
+ปันลม
+ปั้นหยา
+ปั้นเหน่ง
+ปับ
+ปั๊บ
+ปัปผาสะ
+ปัพพาชนะ
+ปัพพาชนียกรรม
+ปัพภาระ
+ปั๊ม
+ปั๊มแก็ส
+ปั๊มน้ำมัน
+ปัยกะ
+ปัยกา
+ปัยยิกา
+ปั่ว
+ปัวเปีย
+ปั้วเปี้ย
+ปัศจิม
+ปัศตัน
+ปัศตู
+ปัสสัทธิ
+ปัสสาวะ
+ปัสสาสะ
+ปา
+ป่า
+ป้า
+ป๋า
+ปาก
+ปาง
+ป่าง
+ป้าง
+ป้างป่า
+ปาจนะ
+ปาจรีย์
+ปาจารย์
+ปาจิตตีย์
+ปาจีน
+ปาฏลิ
+ปาฏิบท
+ปาฏิบุคคลิก
+ปาฏิโภค
+ปาฏิหาริย์
+ปาฐะ
+ปาณะ
+ปาณิ
+ปาณี
+ปาด
+ปาดหาว
+ปาติโมกข์
+ปาตี
+ปาเต๊ะ
+ปาท
+ปาทป
+ปาท่องโก๋
+ปาทังกา
+ปาทาน
+ปาทุกา
+ปาน
+ป่าน
+ป้าน
+ปานดง
+ป้านลม
+ปานะ
+ปานิเยน
+ปานียะ
+ป้าบ
+ป๊าบ
+ปาปอหยีสังฆาตา
+ปาพจน์
+ปาม
+ปาโมกข์
+ป่าย
+ป้าย
+ปายาส
+ปาร์ก
+ปาร์เกต์
+ปาร์ตี
+ปารมี
+ปารษณี
+ปาราชิก
+ปาริฉัตร
+ปาริชาต
+ปาริสุทธิศีล
+ปารุปนะ
+ปาล
+ปาล์ม
+ปาลิไลยก์
+ปาลี
+ป่าว
+ป๊าว
+ปาวๆ
+ปาวก
+ปาวจนะ
+ปาวาร
+ปาษาณ
+ปาส
+ปาสาณ
+ปาสาทิกะ
+ปาหนัน
+ปาหี่
+ปาหุณ
+ปำ
+ป้ำ
+ป้ำๆเป๋อๆ
+ป้ำเป้อ
+ป้ำเป๋อ
+ปิกนิก
+ปิกอัพ
+ปิงคล
+ปิงคละ
+ปิงปอง
+ปิฎก
+ปิฏฐะ
+ปิฐิ
+ปิณฑะ
+ปิด
+ปิดเต๊าะ
+ปิตตะ
+ปิตา
+ปิตุ
+ปิตุจฉา
+ปิตุล
+ปิตุลา
+ปิตุลานี
+ปิโตรเลียม
+ปิ่น
+ปิ๊น
+ปิ๊นๆ
+ปิ่นตอ
+ปิ่นโต
+ปิปผลี
+ปิ่ม
+ปิ้ม
+ปิยังคุ
+ปิรันฮา
+ปิลันธน์
+ปิ๋ว
+ปิศาจ
+ปิสัง
+ปิไส
+ปิหก
+ปิหลั่น
+ปี
+ปี่
+ปี้
+ปี๋
+ปีก
+ปีฎกฆร
+ปีฐกะ
+ปีฐะ
+ปี๊ด
+ปีตกสิณ
+ปีติ
+ปีน
+ปีบ
+ปี๊บ
+ปีโป๊
+ปีศาจ
+ปีฬ
+ปีฬก
+ปีฬา
+ปึก
+ปึง
+ปึ่ง
+ปึ๊ง
+ปึ๋ง
+ปึ้ด
+ปึ้น
+ปึมปื้อ
+ปืดปึง
+ปืน
+ปือ
+ปื้อ
+ปื๋อ
+ปุ
+ปุ๊
+ปุก
+ปุกปุย
+ปุ๊กลุก
+ปุคละ
+ปุ้งกี๋
+ปุงคพ
+ปุงควะ
+ปุงลิงค์
+ปุงลึงค์
+ปุจฉา
+ปุฏ
+ปุณฑริก
+ปุด
+ปุตตะ
+ปุตทารทาน
+ปุถุชน
+ปุนเท่าก๋ง
+ปุนนาค
+ปุนภพ
+ปุนับปุนัง
+ปุนัพสุ
+ปุบ
+ปุ๊บ
+ปุบปับ
+ปุ๊บปั๊บ
+ปุปผะ
+ปุปะ
+ปุพพะ
+ปุ่ม
+ปุ้ม
+ปุ๋ม
+ปุ่มปลา
+ปุ้มเป้ง
+ปุ่มเปือก
+ปุ้มเปือก
+ปุมา
+ปุย
+ปุ้ย
+ปุ๋ย
+ปุร
+ปุรณะ
+ปุรัตถิมทิศ
+ปุราณ
+ปุราณะ
+ปุริมทิศ
+ปุริมพรรษา
+ปุริสภาวะ
+ปุริโสดม
+ปุเรจาริก
+ปุโรหิต
+ปุลลิงค์
+ปุลลึงค์
+ปุลินท์
+ปุลู
+ปุเลง
+ปุเลงๆ
+ปุโลปุเล
+ปุแหละ
+ปุฬวะ
+ปู
+ปู่
+ปูชกะ
+ปูชนียะ
+ปูชา
+ปูชิต
+ปูด
+ปูดกกส้มมอ
+ปูติ
+ปูน
+ปูม
+ปู้ยยี้ปู้ยำ
+ปู่ย่า
+ปูระ
+ปูลู
+ปูวา
+เป้
+เป๋
+เปก
+เป๊ก
+เปกข์
+เป่ง
+เป้ง
+เป๊ง
+เป๋ง
+เป็ด
+เป็ดไซ้ไก่ตอดสลักรอดหมูสี
+เป็น
+เป็นต้น
+เปยยาล
+เปร
+เปร็ง
+เปรต
+เปรม
+เปรย
+เปรยๆ
+เปรอ
+เปรอะ
+เปรา
+เปราะ
+เปราะแประ
+เปรียง
+เปรี้ยง
+เปรียญ
+เปรียบ
+เปรี่ยม
+เปรียว
+เปรี้ยว
+เปรี้ยวหวาน
+เปรียะ
+เปรี๊ยะ
+เปรื่อง
+เปรื้อย
+เปล
+เปล่ง
+เปลว
+เปลา
+เปล่า
+เปล้า
+เปลาะ
+เปลี้ย
+เปลี่ยน
+เปลี่ยม
+เปลี่ยว
+เปลี่ยวดำ
+เปลือก
+เปลือกกระเทียม
+เปลือง
+เปลื้อง
+เปลือย
+เปศ
+เปศล
+เปศัส
+เปสการ
+เปสล
+เปสุญ
+เปสุไณย
+เป๋อ
+เป้อเย้อ
+เปอร์เซ็นต์
+เป๋อเหลอ
+เปะ
+เปะปะ
+เปา
+เป่า
+เป้า
+เป๊า
+เป๋า
+เป๋าฮื้อ
+เปาะ
+เปาะเปี๊ยะ
+เปาะแปะ
+เปาะเหลาะ
+เปิก
+เปิง
+เปิงๆ
+เปิงมาง
+เปิด
+เปิ่น
+เปิบ
+เปิ๊บ
+เปิบข้าว
+เปีย
+เปียก
+เปี๊ยก
+เปียแชร์
+เปี๊ยบ
+เปี่ยม
+เปียว
+เปี้ยว
+เปียหวย
+เปียะ
+เปือก
+เปื้อน
+แป
+แป้ง
+แป๋ง
+แป้งแช่
+แปด
+แป๊ด
+แปทู
+แป้น
+แปบ
+แป๊บ
+แปม
+แปร
+แปร๋
+แปรก
+แปรง
+แปร่ง
+แปรงล้างขวด
+แปรงหูหนู
+แปร๊ด
+แปร้น
+แปร๋น
+แปร๋แปร้น
+แประ
+แปล
+แปล้
+แปลก
+แปลง
+แปลน
+แปลบ
+แป้ว
+แป๊ว
+แป๋ว
+แปะ
+แป๊ะ
+แป๊ะซะ
+โป
+โป่
+โป้
+โป๊
+โปก
+โป๊ก
+โป๊กเกอร์
+โปกขรณี
+โปเก
+โปง
+โป่ง
+โป้ง
+โป่งข่าม
+โปงลาง
+โป่งวิด
+โป้งโหยง
+โปฐปทา
+โปดก
+โปตถกะ
+โปน
+โปป
+โป๊ยกั้ก
+โป๊ยเซียน
+โปรง
+โปร่ง
+โปรด
+โปรตอน
+โปรตีน
+โปรเตสแตนต์
+โปรแทรกเตอร์
+โปรย
+โปรีสภา
+โปล่ง
+โปลิโอ
+โปโล
+โปส
+โปสก
+โปสการ์ด
+โปสเตอร์
+โปสาวนิกมูล
+โปะ
+โป๊ะ
+โป๊ะจ้าย
+ไป
+ไป่
+ไป๋
+ไป๋เป๋
+ไปยาล
+ไปรษณีย์
+ไปล่
+ไปศาจ
+ไปศาจี
+ผ
+ผก
+ผกเรือก
+ผกา
+ผกาย
+ผคม
+ผง
+ผงก
+ผงม
+ผงร
+ผงอน
+ผงอบ
+ผงะ
+ผงาด
+ผง่าน
+ผจง
+ผจญ
+ผจัญ
+ผจาน
+ผชุม
+ผญา
+ผณะ
+ผณิน
+ผด
+ผดุง
+ผเดิน
+ผทม
+ผนวก
+ผนวช
+ผนัง
+ผนิด
+ผนึก
+ผม
+ผมนาง
+ผยอง
+ผย่ำเผยอ
+ผรสุ
+ผริต
+ผรุพก
+ผล
+ผลก
+ผลคุน
+ผลคุนี
+ผลง
+ผลอ
+ผล็อง
+ผล็อย
+ผละ
+ผลัก
+ผลัด
+ผลับ
+ผลัวะ
+ผลา
+ผลาญ
+ผลิ
+ผลิกะ
+ผลิต
+ผลิน
+ผลี
+ผลีผลาม
+ผลึก
+ผลึ่ง
+ผลือ
+ผลุ
+ผลุง
+ผลุด
+ผลุน
+ผลุบ
+ผลุย
+ผลู
+ผวา
+ผสม
+ผสมเสร็จ
+ผสาน
+ผสาย
+ผสาร
+ผอก
+ผอง
+ผ่อง
+ผ่อน
+ผอบ
+ผอม
+ผ็อย
+ผ่อย
+ผอวด
+ผอูน
+ผะ
+ผะแคง
+ผะดา
+ผะสา
+ผะหมี
+ผะออบ
+ผะอืดผะอม
+ผัก
+ผักไก
+ผักขวง
+ผักขี้ขวง
+ผักโฉม
+ผักชี
+ผักตบชวา
+ผักทอดยอด
+ผักบุ้ง
+ผักบุ้งขัน
+ผักบุ้งจีน
+ผักบุ้งทะเล
+ผักบุ้งฝรั่ง
+ผักบุ้งร้วม
+ผักบุ้งรั้ว
+ผักเบี้ย
+ผักเบี้ยใหญ่
+ผักปลัง
+ผักปุ่มปลา
+ผักเผ็ด
+ผักไผ่
+ผักรู้นอน
+ผักแว่น
+ผักสาบ
+ผักสามหาว
+ผักเสี้ยน
+ผักหนอก
+ผักหนอง
+ผักหนาม
+ผักหวาน
+ผักไหม
+ผักอีแปะ
+ผัคคุณ
+ผัคคุณี
+ผัง
+ผัด
+ผัน
+ผับ
+ผัลคุนี
+ผัว
+ผัวะ
+ผัสสะ
+ผา
+ผ่า
+ผ้า
+ผาก
+ผาง
+ผ่าง
+ผาณิต
+ผาด
+ผาติ
+ผ่าน
+ผาม
+ผาย
+ผ่าย
+ผ้าย
+ผาล
+ผาลคุน
+ผาลา
+ผ่าว
+ผาสุก
+ผ้าฮาด
+ผำ
+ผ้ำๆ
+ผิ
+ผิง
+ผิด
+ผิดก
+ผิต
+ผิน
+ผิว
+ผี
+ผีตองเหลือง
+ผี้ว์
+ผึง
+ผึ่ง
+ผึ้ง
+ผื่น
+ผุ
+ผุด
+ผุยผง
+ผุสราคา
+ผู้
+ผูก
+เผ
+เผง
+เผชิญ
+เผ็ด
+เผด็จ
+เผดิม
+เผดียง
+เผ่น
+เผนิก
+เผย
+เผยอ
+เผยิบ
+เผล
+เผล่
+เผล้
+เผล็ด
+เผลอ
+เผละ
+เผลาะ
+เผลาะแผละ
+เผลียง
+เผอเรอ
+เผอิญ
+เผอิล
+เผะ
+เผา
+เผ่า
+เผ้า
+เผ้าผง
+เผาะ
+เผิ้ง
+เผิน
+เผินๆ
+เผียน
+เผียะ
+เผือ
+เผื่อ
+เผือก
+เผือด
+เผือน
+เผื่อน
+แผ่
+แผก
+แผง
+แผด
+แผดเผา
+แผดเสียง
+แผน
+แผ่น
+แผนก
+แผล
+แผลง
+แผล็บ
+แผล็บๆ
+แผล็ว
+แผละ
+แผ่ว
+แผ้ว
+โผ
+โผง
+โผฏฐัพพะ
+โผน
+โผย
+โผล่
+โผลกเผลก
+โผละ
+โผอน
+โผะ
+ไผ
+ไผ่
+ไผท
+ไผ่ผัง
+ฝ
+ฝน
+ฝรั่ง
+ฝรั่งเศส
+ฝรั่น
+ฝ่อ
+ฝอย
+ฝัก
+ฝักฝ่าย
+ฝักใฝ่
+ฝัง
+ฝั่ง
+ฝัด
+ฝัน
+ฝา
+ฝ่า
+ฝ้า
+ฝาก
+ฝาง
+ฝาด
+ฝาน
+ฝาย
+ฝ่าย
+ฝ้าย
+ฝิ่น
+ฝี
+ฝี่
+ฝีก
+ฝีหมอบ
+ฝึก
+ฝืด
+ฝืน
+ฝุ่น
+ฝูง
+เฝ้า
+เฝือ
+เฝือก
+เฝือง
+เฝื่อน
+แฝก
+แฝง
+แฝด
+ใฝ่
+ไฝ
+พ
+พก
+พกจร
+พกนุ่น
+พกพ่าย
+พกลม
+พกหิน
+พกอาวุธ
+พกา
+พกุระ
+พกุล
+พง
+พงศ์
+พจน์
+พจนา
+พจนารถ
+พจนีย์
+พจมาน
+พจี
+พชระ
+พญา
+พญาณ
+พญาไฟ
+พญาลอ
+พณิช
+พณิชย์
+พด
+พธู
+พน
+พ่น
+พ้น
+พนม
+พนอง
+พนอม
+พนัก
+พนักงาน
+พนัง
+พนัดร
+พนัน
+พนัส
+พนา
+พนาด
+พนานดร
+พนานต์
+พนาย
+พนิดา
+พนิต
+พนียก
+พเนก
+พเนจร
+พบ
+พบู
+พม่า
+พยช
+พยชน์
+พยติเรก
+พยนต์
+พยศ
+พยัก
+พยัคฆ์
+พยัชน์
+พยัญชนะ
+พยัต
+พยับ
+พยากรณ์
+พยาฆร์
+พยางค์
+พยาธิ
+พยาน
+พยาบาท
+พยาบาล
+พยาม
+พยายาม
+พยาล
+พยุ
+พยุง
+พยุหร
+พยุหะ
+พยู่ห์
+พเยีย
+พร
+พรต
+พรม
+พรมคด
+พรมแดน
+พรมมิ
+พรรค
+พรรค์
+พรรคานต์
+พรรณ
+พรรณนา
+พรรณราย
+พรรดึก
+พรรลาย
+พรรษ
+พรรเหา
+พรรเอิญ
+พรวงเพรียง
+พรวด
+พรวน
+พรหม
+พรอก
+พร่อง
+พร้อง
+พรอด
+พร้อม
+พร่อมพร้อ
+พร่อย
+พร้อย
+พระ
+พระจันทร์ครึ่งซีก
+พระเจ้าลอยถาด
+พระเจ้าห้าพระองค์
+พระนอม
+พระนาด
+พระยาเล็บครุฑ
+พระยาวัน
+พระลบ
+พระลือ
+พระแวว
+พระหา
+พระหาม
+พระหิด
+พระฮาม
+พรักพร้อม
+พรั่ง
+พรัด
+พรั่น
+พรับ
+พร่า
+พร้า
+พราก
+พราง
+พร่าง
+พราด
+พราน
+พราย
+พราว
+พราหมณ์
+พราหมณี
+พราหมี
+พรำ
+พร่ำ
+พร้ำ
+พรำๆ
+พริก
+พริ้ง
+พริบ
+พริบไหว
+พริ้ม
+พรึง
+พรึน
+พรึบ
+พรืด
+พรื้อ
+พรุ
+พรุก
+พรุ่ง
+พรุ่งนี้
+พรุน
+พรู
+พรูด
+พฤกษ์
+พฤฒ
+พฤฒา
+พฤฒิ
+พฤต
+พฤติ
+พฤทธ์
+พฤทธิ์
+พฤนต์
+พฤนท์
+พฤนทาร
+พฤนทิ์
+พฤภูษณ
+พฤภูษิต
+พฤษจิก
+พฤษภ
+พฤหัสบดี
+พล
+พลกาย
+พลการ
+พลขันธ์
+พลความ
+พลเทพ
+พลบ
+พลเมือง
+พลเรือน
+พลโลก
+พลวก
+พลวง
+พลวดกินลูก
+พลวดใหญ่
+พลวัต
+พลศาสตร์
+พลศีกษา
+พลสิงห์
+พลอ
+พล้อ
+พลอง
+พลอด
+พลอน
+พลอมแพลม
+พลอย
+พล่อย
+พละ
+พละกำลัง
+พละพลา
+พลั่ก
+พลัง
+พลั่ง
+พลั้ง
+พลัด
+พลัน
+พลับ
+พลับพลา
+พลับพลึง
+พลั่ว
+พล่า
+พลากร
+พลาง
+พลาญ
+พลาด
+พลาดิศัย
+พลาธิการ
+พล่าน
+พลานามัย
+พลานึก
+พลาม
+พล่าม
+พลาย
+พลายม้า
+พลาสติก
+พลาสมา
+พลาหก
+พลำ
+พล้ำ
+พลำภัง
+พลิ
+พลิก
+พลิพัท
+พลิ้ว
+พลี
+พลีมุข
+พลุ
+พลุก
+พลุ่ก
+พลุกพล่าน
+พลุ่ง
+พลุ้น
+พลุ่มพล่าม
+พลุ่ย
+พลุ้ย
+พลู
+พลูแก
+พลูคาว
+พลูต้น
+พลูโต
+พลูโทเนียม
+พวก
+พวง
+พ่วง
+พวน
+พวย
+พสก
+พสน
+พสุ
+พสุสงกรานต์
+พหล
+พหุ
+พหุล
+พหู
+พอ
+พ่อ
+พ้อ
+พอก
+พอกพูน
+พอคเกตบุค
+พ่อค้าตีเมีย
+พอง
+พ้อง
+พอน
+พ้อม
+พอโลเนียม
+พะ
+พ่ะ
+พะงา
+พะงาบ
+พะงาบๆ
+พะจง
+พะทำมะรง
+พะนอ
+พะเน้าพะนอ
+พะเน้าพะนึง
+พะเนิน
+พะเนียง
+พะแนง
+พะไนย
+พะพาน
+พะพิง
+พะเพิง
+พะยอม
+พะยุพยุง
+พะยูง
+พะยูน
+พะเยิบ
+พะเยิบๆ
+พะเยีย
+พะรุงพะรัง
+พะเลย
+พะโล้
+พะไล
+พะวง
+พะวักพะวน
+พะวา
+พะว้าพะวัง
+พะอง
+พะอากพะอำ
+พะอืดพะอม
+พัก
+พักตร์
+พักตรา
+พักตา
+พักแพว
+พักร
+พัง
+พังกา
+พังคา
+พังงา
+พังผืด
+พังพวย
+พังพอน
+พังพาน
+พังพาบ
+พังเพย
+พังลาง
+พัช
+พัชนี
+พัชร
+พัญจก
+พัญจน์
+พัฒกี
+พัฒนะ
+พัฒนา
+พัด
+พัดชา
+พัดซาด
+พัดดึงส์
+พัดแพว
+พัดหลวง
+พัตติงสะ
+พัตร
+พัทธ์
+พัทธยา
+พัทร
+พัน
+พันงู
+พันจำ
+พันไฉน
+พันตัน
+พันตู
+พันทาง
+พันธ์
+พันธนะ
+พันธนำ
+พันธะ
+พันธุ
+พันธุ์
+พันลอก
+พันลาย
+พันลำ
+พันลึก
+พันลึกพันลือ
+พันเลิศ
+พันเอิญ
+พับ
+พับผ่า
+พัฟ
+พัลลภ
+พัลวัน
+พัว
+พัวะ
+พัศดี
+พัสดุ
+พัสเดา
+พัสตร์
+พัสถาน
+พา
+พาก
+พากเพียร
+พากย์
+พาง
+พ่าง
+พาชี
+พาณ
+พาณิช
+พาณิชย์
+พาณินี
+พาณี
+พาด
+พาดไฉน
+พาต
+พาท
+พาทย์
+พาธ
+พาธา
+พาน
+พ่าน
+พานร
+พาม
+พาย
+พ่าย
+พายม้า
+พายัพ
+พายุ
+พาร์เซก
+พารณ
+พารณะ
+พาร์ตเนอร์
+พารา
+พาราฟิน
+พาล
+พาลา
+พาลี
+พาลีหลายหน้า
+พาลุก
+พาโล
+พาไล
+พาส
+พาสน์
+พาสนา
+พาสุกรี
+พ่าห์
+พาหนะ
+พาหะ
+พาหา
+พาหิรกะ
+พาหิระ
+พาหุ
+พาเหรด
+พาเหียร
+พาฬ
+พาฬหะ
+พาฬะ
+พำ
+พำๆพึมๆ
+พำนัก
+พำพวก
+พำพึม
+พำลา
+พิกล
+พิกสิต
+พิกัด
+พิกัติ
+พิกัน
+พิการ
+พิกุล
+พิเคราะห์
+พิฆน์
+พิฆเนศ
+พิฆเนศวร
+พิฆาต
+พิง
+พิจล
+พิจัย
+พิจาร
+พิจารณ์
+พิจารณา
+พิจิต
+พิจิตร
+พิชญ์
+พิชย
+พิชัย
+พิชาน
+พิชิต
+พิเชฐ
+พิเชียร
+พิฑูรย์
+พิณ
+พิดทูล
+พิดรก
+พิดาน
+พิโดร
+พิตร
+พิถี
+พิถีพิถัน
+พิทย์
+พิทยา
+พิทักษ์
+พิทักษ์สันติ
+พิทูร
+พิเทศ
+พิธาน
+พิธี
+พิธุ
+พิธุร
+พิโธ่
+พินทุ
+พินพง
+พิ่นพั่ง
+พินอบพิเทา
+พินัย
+พินาศ
+พินิจ
+พินิต
+พินิศ
+พินิศจัย
+พิเนต
+พิบัติ
+พิบาก
+พิบุล
+พิบูล
+พิปริต
+พิปลาศ
+พิปัสสนา
+พิพรรธ
+พิพรรธน์
+พิพักพิพ่วน
+พิพัฒ
+พิพัฒน์
+พิพากษ์
+พิพากษา
+พิพาท
+พิพิธ
+พิภพ
+พิภัช
+พิภาค
+พิภูษณะ
+พิเภก
+พิมพ์
+พิมพการัง
+พิมพา
+พิมโพหนะ
+พิมล
+พิมเสน
+พิมาน
+พิมุข
+พิโมกข์
+พิโมกษ์
+พิโยกพิเกน
+พิโยค
+พิร
+พิรอด
+พิรากล
+พิราบ
+พิราม
+พิราลัย
+พิริยะ
+พิรี้พิไร
+พิรุณ
+พิรุธ
+พิรุฬห์
+พิเรนทร์
+พิเราะ
+พิโรธ
+พิโรธนะ
+พิไร
+พิลังกาสา
+พิลาป
+พิลาลส
+พิลาส
+พิลิปดา
+พิโลล
+พิไล
+พิศ
+พิศวง
+พิศวาส
+พิศาล
+พิศุทธิ์
+พิเศษ
+พิษ
+พิษฐาน
+พิษนาศน์
+พิสดาร
+พิสมร
+พิสมัย
+พิสัง
+พิสัช
+พิสัญญี
+พิสัย
+พิสิฐ
+พิสุทธิ์
+พิสูจน์
+พิหค
+พิหาร
+พิฬาร
+พี
+พี่
+พี้
+พีช
+พีชคณิต
+พี้โพ้
+พีระมิด
+พึง
+พึ่ง
+พึ่บ
+พึม
+พึมพำ
+พืช
+พืด
+พื้น
+พุ
+พุก
+พุกาม
+พุง
+พุ่ง
+พุงแก
+พุงจง
+พุงดอ
+พุงทะลาย
+พุงปลา
+พุฒ
+พุฒิ
+พุด
+พุดตาน
+พุทธ
+พุทธชาด
+พุทธรักษา
+พุทธะ
+พุทธิ
+พุทโธ่
+พุทรา
+พุธ
+พุ่ม
+พุมเรียง
+พุ้ย
+พู
+พู่
+พูกาม
+พูด
+พูน
+พู้น
+เพ
+เพ็ก
+เพกา
+เพคะ
+เพ็ง
+เพ่ง
+เพ็จ
+เพชฉลูกรรม
+เพชฌฆาต
+เพชร
+เพชรกลับ
+เพชรดา
+เพชรนิลจินดา
+เพชรปราณี
+เพชรฤกษ์
+เพชรสังฆาต
+เพชรหลีก
+เพชรหึง
+เพชรายุธ
+เพ็ญ
+เพฑูริย์
+เพณี
+เพ็ดทูล
+เพดาน
+เพตร
+เพท
+เพทนา
+เพทยาธร
+เพทาย
+เพทุบาย
+เพโทบาย
+เพนกวิน
+เพ่นพ่าน
+เพนียด
+เพ้ย
+เพรง
+เพรซีโอดีเมียม
+เพรา
+เพราะ
+เพริด
+เพริศ
+เพรียก
+เพรียง
+เพรียบ
+เพรี้ยม
+เพรียว
+เพรื่อ
+เพรือง
+เพล
+เพลง
+เพล็ด
+เพล้โพล้
+เพลา
+เพลาะ
+เพลาะแพละ
+เพลิง
+เพลิดเพลิน
+เพลิน
+เพลีย
+เพลี้ย
+เพลี่ยง
+เพศ
+เพศยันดร
+เพส
+เพสลาด
+เพ่อ
+เพ้อ
+เพอิญ
+เพะ
+เพิก
+เพิกเฉย
+เพิง
+เพิ่ง
+เพิดเพ้ย
+เพิ่ม
+เพี้ย
+เพียง
+เพี้ยง
+เพียงออ
+เพียชน์
+เพียน
+เพี้ยน
+เพียบ
+เพียร
+เพื่อ
+เพื่อน
+แพ
+แพ้
+แพง
+แพ่ง
+แพงพวย
+แพงพวยฝรั่ง
+แพ็งแพว
+แพทย์
+แพทยา
+แพน
+แพ่น
+แพนก
+แพนงเชิง
+แพนดา
+แพร
+แพร่
+แพรก
+แพร่ง
+แพรว
+แพร้ว
+แพลง
+แพลทินัม
+แพลม
+แพลเลเดียม
+แพละ
+แพละโลม
+แพว
+แพ้ว
+แพศย์
+แพศยา
+แพะ
+แพะโลม
+โพ
+โพก
+โพกพาย
+โพง
+โพงพาง
+โพชฌงค์
+โพซิตรอน
+โพด
+โพแทสเซียม
+โพธ
+โพธิ์
+โพน
+โพ้น
+โพนทะนา
+โพบาย
+โพผัน
+โพย
+โพยม
+โพยมัน
+โพยมาน
+โพรก
+โพรง
+โพรโทแอกทิเนียม
+โพรมีเทียม
+โพระดก
+โพล่
+โพลง
+โพล่ง
+โพล้ง
+โพลน
+โพล้เพล้
+โพละ
+โพสพ
+ไพ
+ไพ่
+ไพจิตร
+ไพชน
+ไพชยนต์
+ไพฑูรย์
+ไพโดร
+ไพที
+ไพบูลย์
+ไพพรรณ
+ไพเพิด
+ไพมอก
+ไพม้า
+ไพร
+ไพร่
+ไพรจิตร
+ไพรชน
+ไพรชยนต์
+ไพรฑูรย์
+ไพรที
+ไพรบูลย์
+ไพรเราะ
+ไพรสามกอ
+ไพรัช
+ไพรำ
+ไพริน
+ไพรี
+ไพรู
+ไพเราะ
+ไพโรจน์
+ไพล
+ไพล่
+ไพศาข
+ไพศาล
+ไพเศษ
+ไพสพ
+ไพสิฐ
+ไพหาร
+ฟ
+ฟก
+ฟ้ง
+ฟรักโทส
+ฟรี
+ฟลอร์โชว์
+ฟลูออรีน
+ฟ่อ
+ฟ้อ
+ฟอก
+ฟอง
+ฟ่อง
+ฟ้อง
+ฟอด
+ฟอน
+ฟ่อน
+ฟ้อน
+ฟ้อแฟ้
+ฟอร์ม
+ฟอร์มาลดีไฮด์
+ฟอร์มาลิน
+ฟอสซิล
+ฟอสฟอรัส
+ฟอสเฟต
+ฟะฟัด
+ฟะฟั่น
+ฟะฟ่าย
+ฟัก
+ฟักฟุ้น
+ฟัง
+ฟังก์ชัน
+ฟังเพราะ
+ฟัด
+ฟัน
+ฟั่น
+ฟั้น
+ฟันช้าง
+ฟ้า
+ฟาก
+ฟาง
+ฟ่าง
+ฟาด
+ฟาทอม
+ฟาน
+ฟ้าฝ่อ
+ฟ่าม
+ฟ้ามุ่ย
+ฟาย
+ฟาร์ม
+ฟาสซิสต์
+ฟิก
+ฟิด
+ฟิต
+ฟิบ
+ฟิล์ม
+ฟิวส์
+ฟิสิกส์
+ฟี่
+ฟี้
+ฟืน
+ฟื้น
+ฟืม
+ฟุ
+ฟุ้ง
+ฟุต
+ฟุน
+ฟุบ
+ฟุ่บ
+ฟุฟะ
+ฟุ่มเฟือย
+ฟุลสแก๊ป
+ฟู
+ฟู่
+ฟูก
+ฟูด
+ฟูม
+เฟ็ด
+เฟ้น
+เฟลด์สปาร์
+เฟ้อ
+เฟอร์นิเจอร์
+เฟอร์เมียม
+เฟอะ
+เฟะ
+เฟิน
+เฟิร์น
+เฟี้ยม
+เฟี้ยว
+เฟือ
+เฟื่อ
+เฟื้อ
+เฟือง
+เฟื้อง
+เฟือน
+เฟือย
+แฟ่
+แฟง
+แฟชั่น
+แฟน
+แฟนซี
+แฟบ
+แฟ้ม
+แฟร์
+แฟรนเซียม
+แฟลกซ์
+แฟลต
+แฟะ
+โฟกัส
+ไฟ
+ภ
+ภค
+ภควดี
+ภควัต
+ภควัทคีตา
+ภควันต์
+ภควัม
+ภควา
+ภควาน
+ภคันทลา
+ภคินี
+ภณ
+ภณิดา
+ภพ
+ภมการ
+ภมร
+ภมุ
+ภมุกะ
+ภมุกา
+ภยันตราย
+ภยาคติ
+ภร
+ภรณี
+ภรต
+ภรตวรรษ
+ภรตศาสตร์
+ภรรดร
+ภรรดา
+ภรรยา
+ภระมร
+ภระมรี
+ภรัสดาษ
+ภราดร
+ภราดา
+ภริยา
+ภรู
+ภฤงคาร
+ภฤดก
+ภฤดี
+ภฤตย์
+ภฤศ
+ภฤษฏ์
+ภว
+ภวัคร
+ภวังค์
+ภักขะ
+ภักดี
+ภักตะ
+ภักติ
+ภักษ์
+ภัค
+ภัคน์
+ภังคะ
+ภังคี
+ภัจ
+ภัญชะ
+ภัณฑ์
+ภัณฑครรภ
+ภัณฑนะ
+ภัณฑาคาร
+ภัณฑาคาริก
+ภัณฑารักษ์
+ภัณฑู
+ภัต
+ภัตร
+ภัทร
+ภัพ
+ภัย
+ภัสดา
+ภัสตรา
+ภัสมะ
+ภัสสร
+ภา
+ภาค
+ภาคภูมิ
+ภาคย์
+ภาคยานุวัติ
+ภาคินี
+ภาคิไนย
+ภาคี
+ภาคียะ
+ภาชนะ
+ภาชี
+ภาณ
+ภาณก
+ภาณี
+ภาณุ
+ภาดร
+ภาดา
+ภาตร
+ภาตา
+ภาติกะ
+ภาติยะ
+ภาตุ
+ภาพ
+ภาพย์
+ภาพยนต์
+ภาม
+ภาย
+ภาร
+ภารดี
+ภารต
+ภารตี
+ภารยทรัพย์
+ภารยา
+ภารโรง
+ภาระ
+ภารา
+ภาวนา
+ภาวะ
+ภาษ
+ภาษก
+ภาษณ์
+ภาษา
+ภาษิต
+ภาษี
+ภาส
+ภาสน์
+ภาสา
+ภาสุร
+ภิกขา
+ภิกขุ
+ภิกขุนี
+ภิกษา
+ภิกษุ
+ภิกษุณี
+ภิงคาร
+ภิงส
+ภิงสนะ
+ภิงสร
+ภิญโญ
+ภิตติ
+ภิท
+ภินท์
+ภิยโย
+ภิรมย์
+ภิรมย์สุรางค์
+ภิษัช
+ภิส
+ภิสัก
+ภีตะ
+ภีม
+ภีรุ
+ภุกต์
+ภุขัน
+ภุช
+ภุญช
+ภุต
+ภุม
+ภุมระ
+ภุมรา
+ภุมริน
+ภุมรี
+ภุมเรศ
+ภุส
+ภู
+ภู่
+ภูโช
+ภูดาด
+ภูต
+ภูติ
+ภูตี
+ภูม
+ภูมิ
+ภูมิคุ้มกัน
+ภูมิแพ้
+ภูมี
+ภูรโลก
+ภูริ
+ภูรี
+ภูษา
+ภูษิต
+เภกะ
+เภคะ
+เภตรา
+เภท
+เภรว
+เภริ
+เภรี
+เภสัช
+เภสัชเพลา
+โภค
+โภคทรัพย์
+โภคภัณฑ์
+โภคยทรัพย์
+โภคิน
+โภคี
+โภไคย
+โภไคศวรรย์
+โภช
+โภชก
+โภชน์
+โภชนะ
+โภชนากร
+โภชนาการ
+โภชนาหาร
+ไภรพ
+ไภริน
+ไภรี
+ไภษัชคุรุ
+ไภษัชย์
+ม
+มก
+มกร
+มกรกุณฑล
+มกรเกตน์
+มกรธวัช
+มกรพาหน
+มกรากร
+มกราคม
+มกราลัย
+มกราวาส
+มกส
+มกุฎ
+มกุล
+มคธ
+มฆ
+มฆวัน
+มฆา
+ม่ง
+มงกุฎ
+มงโกรย
+มงคล
+มงคลจักร
+มงคลพิธี
+มงคลวาท
+มงคลวาร
+มงคลสมรส
+มงคลสมัย
+มงคลสูตร
+มงคลหัตถี
+มณฑ์
+มณฑก
+มณฑนะ
+มณฑป
+มณฑล
+มณฑา
+มณฑารพ
+มณฑิร
+มณเฑียร
+มณี
+มด
+มดเท็จ
+มดยอบ
+มดลูก
+มดาย
+มดี
+มตะ
+มติ
+มท
+มทนะ
+มทนียะ
+มธุ
+มธุระ
+มน
+ม่น
+มนต์
+มนตร์
+มนตรี
+มนท์
+มนทิร
+มนทิราลัย
+มนเทียร
+มนสิการ
+มนัส
+มนาโป
+มนิมนา
+มนิลา
+มนีมนา
+มนุ
+มนุญ
+มนุษย์
+มนุสาร
+มนู
+มนูสาร
+มโน
+มโนราห์
+มโนสาร
+มโนสาเร่
+มโนห์รา
+มมังการ
+มมาก
+มยุระ
+มยูข
+มยูร
+มร
+มรกต
+มรคา
+มรฑป
+มรณ์
+มรณะ
+มรดก
+มรรค
+มรรคา
+มรรตย
+มรรตัย
+มรรทน
+มรรยาท
+มรรษ
+มรสุม
+มรัมเทศ
+มรานควาน
+มริจ
+มริยาท
+มรีจิ
+มรุ
+มรุต
+มฤค
+มฤคย์
+มฤจฉา
+มฤดก
+มฤต
+มฤตก
+มฤตยู
+มฤทิงค์
+มฤทุ
+มฤธุ
+มฤษา
+มล
+มลโค
+มลทิน
+มลน
+มล่น
+มลวก
+มล่อน
+มล่อย
+มละ
+มลัก
+มลังเมลือง
+มล้า
+มลาก
+มล้าง
+มลาน
+มล่าน
+มลาย
+มลายู
+มลาว
+มล่าวเมลา
+มลาหรา
+มลิน
+มลิ้น
+มลื่น
+มวก
+ม่วง
+มวน
+ม่วน
+ม้วน
+มวย
+ม่วย
+ม้วย
+มวล
+มสาร
+มสารก
+มสารคัล
+มสิ
+มหกรรม
+มหรณพ
+มหรรฆ
+มหรรณพ
+มหรสพ
+มหัจฉริยะ
+มหัณณพ
+มหัต
+มหัตฆ
+มหัทธนะ
+มหันต์
+มหัพภาค
+มหัล
+มหัลกะ
+มหัศจรรย์
+มหา
+มหากฐิน
+มหากาฬ
+มหาขันธก
+มหาจักร
+มหาชน
+มหาชัย
+มหาชาติ
+มหาโชตรัต
+มหาดไทย
+มหาดเล็ก
+มหาตมะ
+มหาไถ่
+มหาทวีป
+มหาเทพ
+มหาเทพี
+มหาเทวี
+มหาธาตุ
+มหานรก
+มหานสะ
+มหานิกาย
+มหานิล
+มหาบพิตร
+มหาบริจาค
+มหาบัณฑิต
+มหาบุรุษ
+มหาพน
+มหาพรหม
+มหาภารต
+มหาภิเนษกรมณ์
+มหาภูต
+มหาเมฆ
+มหายาน
+มหายุค
+มหารณพ
+มหาราช
+มหาราชลีลา
+มหาฤกษ์
+มหาละลวย
+มหาละลาย
+มหาวงศ์
+มหาวรรค
+มหาวัต
+มหาวิทยาลัย
+มหาศักราช
+มหาศาล
+มหาศูนย์
+มหาเศรษฐี
+มหาสงกรานต์
+มหาสงคราม
+มหาสดมภ์
+มหาสดำ
+มหาสมุทร
+มหาสันนิบาต
+มหาสาวก
+มหาสาวิกา
+มหาสิทธิโชค
+มหาสีมา
+มหาเสวก
+มหาหงส์
+มหาหิงคุ์
+มหาอำนาจ
+มหาอำมาตย์
+มหาอุจ
+มหาอุด
+มหาอุปรากร
+มหิ
+มหิงส์
+มหิทธิ
+มหินท์
+มหิมา
+มหิศร
+มหิศวร
+มหิษ
+มหิษี
+มหึมา
+มหุดิฤกษ์
+มหุรดี
+มหุรติสัญญา
+มหู
+มเหนทร์
+มเหยงค์
+มเหศ
+มเหศวร
+มเหศักดิ์
+มเหสักข์
+มเหสิ
+มเหสี
+มเหาษธ
+มเหาฬาร
+มโหฆ
+มโหรทึก
+มโหรสพ
+มโหรี
+มโหษธ
+มโหฬาร
+มไหศวรรย์
+มอ
+มอง
+ม่อง
+มองโกลอยด์
+มองคร่อ
+ม่องเท่ง
+มอญ
+ม่อต้อ
+มอเตอร์
+มอน
+ม่อน
+มอนไข่
+มอบ
+ม่อย
+มอร์ฟีน
+มอระกู่
+มอลโทส
+ม่อลอกม่อแลก
+ม่อฮ่อม
+มะ
+มะกรูด
+มะกล่ำ
+มะกอก
+มะก่อง
+มะก่อตาหมู
+มะกะโรนี
+มะกา
+มะเกลือ
+มะเกี๋ยง
+มะข่วง
+มะขวิด
+มะขาม
+มะขามเทศ
+มะขามป้อมดิน
+มะเขือ
+มะเขือทวาย
+มะเขือเทศ
+มะเขือพวง
+มะเขือมอญ
+มะแข่น
+มะคะ
+มะคังแดง
+มะค่า
+มะคำไก่
+มะคำดีควาย
+มะงัน
+มะงั่ว
+มะงุมมะงาหลา
+มะซัก
+มะซาง
+มะซ่าน
+มะดะขี้นก
+มะดัน
+มะดา
+มะดูก
+มะเดหวี
+มะเดื่อ
+มะต้อง
+มะตะบะ
+มะตาด
+มะตาหะรี
+มะตี
+มะตึ่ง
+มะตื๋น
+มะตูม
+มะแตก
+มะนาว
+มะปราง
+มะปริง
+มะป่อง
+มะฝ่อ
+มะพร้าว
+มะพลับ
+มะพูด
+มะแพน
+มะแพร้ว
+มะเฟือง
+มะแฟน
+มะไฟ
+มะม่วง
+มะม่าว
+มะมี่
+มะมื่น
+มะมุด
+มะเมอ
+มะเมีย
+มะเมื่อย
+มะแม
+มะยง
+มะยม
+มะระ
+มะริด
+มะรืน
+มะรุม
+มะรุมมะตุ้ม
+มะเร็ง
+มะเรื่อง
+มะโรง
+มะละกอ
+มะลารอกัน
+มะลำ
+มะลิ
+มะลิน
+มะลิ่ม
+มะลิเลื้อย
+มะลิอ่อง
+มะลื่น
+มะลืมดำ
+มะลุลี
+มะวาร
+มะหลิ่ม
+มะหวด
+มะหะหมัด
+มะหัล
+มะหาด
+มะหิ่ง
+มะเหมื่อย
+มะอึก
+มะฮอกกานี
+มัก
+มักกะลีผล
+มักกะสัน
+มักขะ
+มั่กขั้ก
+มักขิกา
+มักขิกาชาติ
+มักฏกะ
+มักฏะ
+มัคคะ
+มัคคุเทศก์
+มัคสิระ
+มัฆวา
+มัฆวาน
+มั่ง
+มังกง
+มังกร
+มังกุ
+มังคละ
+มังค่า
+มังคุด
+มังตาน
+มังสะ
+มังสี
+มังหงัน
+มัจจะ
+มัจจุ
+มัจฉระ
+มัจฉริยะ
+มัจฉรี
+มัจฉะ
+มัจฉา
+มัชชะ
+มัชชาร
+มัญจก
+มัญจา
+มัญชิษฐ
+มัญชิษฐา
+มัญชีร
+มัญชุ
+มัญชุสา
+มัญชูสา
+มัญเชฏฐะ
+มัญเชฏฐิกา
+มัญเชียร
+มัฏฐะ
+มัณฑนา
+มัณฑุก
+มัด
+มัดหมี่
+มัดหมู
+มัดหวาย
+มัตตะ
+มัตตัย
+มัตตา
+มัตติกา
+มัตถก
+มัตถลุงค์
+มัตย
+มัตสยะ
+มัตสยา
+มัตสร
+มัตสรรย์
+มัทนะ
+มัทนียะ
+มัทยะ
+มัธยม
+มัธยมา
+มัธยันห์
+มัธยัสถ์
+มัน
+มั่น
+มันดี
+มันตา
+มันถะ
+มันทิร
+มันทิราลัย
+มันไส้
+มับ
+มับๆ
+มั้ม
+มัมมี่
+มัย
+มัลก
+มัลละ
+มัลลิกา
+มัว
+มั่ว
+มัศยา
+มัสดก
+มัสดุ
+มัสตาร์ด
+มัสตุ
+มัสมั่น
+มัสยิด
+มัสรู่
+มัสลิน
+มัสสุ
+มา
+ม้า
+มาก
+มาคสิระ
+มาฆะ
+ม้าง
+มางสะ
+มาณพ
+มาณวิกา
+มาด
+มาดา
+มาตงค์
+มาตร
+มาตรการ
+มาตรจอดรถ
+มาตรฐาน
+มาตรแม้น
+มาตรว่า
+มาตรา
+มาตฤ
+มาตฤกะ
+มาตสรรย์
+มาตังค
+มาตา
+มาตามหะ
+มาตามหัยกะ
+มาตามหัยกา
+มาตามหัยยิกา
+มาตามหา
+มาติก
+มาติกา
+มาตี
+มาตุ
+มาตุจฉา
+มาตุรงค์
+มาตุเรศ
+มาตุละ
+มาตุลา
+มาตุลานี
+มาตุลุงค์
+มาท
+มาทน
+ม้าทลายโรง
+มาธยมิกะ
+มาธุร
+มาธุสร
+มาธูร
+มาน
+ม่าน
+ม้าน
+มานพ
+ม่านลาย
+ม่านอินทนิล
+มานะ
+มานัต
+มานัส
+มานิต
+มานี
+มานุษ
+มาโนชญ์
+มาบ
+มาปก
+มาภา
+ม้าม
+มาย
+ม่าย
+ม้าย
+มายัง
+มายา
+มาร
+มารค
+มารคอหอย
+มารชิ
+มารชิต
+มารดร
+มารดา
+มาร์ดิกราส์
+มารผจญ
+มารยา
+มารยาท
+มารวิชัย
+มารวิชิต
+มารเวตาล
+มารศรี
+มารษา
+มารสังคม
+มารหัวขน
+มารหัวใจ
+มาระ
+มาราธอน
+ม้ารำ
+มาริ
+มาริต
+มาริษะ
+มาริสะ
+มารุต
+มารุมมาตุ้ม
+มาลย์
+มาลัย
+มาลา
+มาลาตี
+มาลาเรีย
+มาลำ
+มาลินี
+มาลี
+มาลุต
+มาวสะ
+มาวาร
+มาศ
+มาส
+มาสก
+ม้าสะบัดกีบ
+มาห์
+ม่าห์
+มาหิส
+ม่าเหมี่ยว
+มาฬก
+ม้าอ้วน
+มำเลือง
+มิ
+มิค
+มิ่ง
+มิงโค
+มิจฉา
+มิชชันนารี
+มิซซัง
+มิด
+มิดหมี
+มิตร
+มิติ
+มิถยา
+มิถุน
+มิทธะ
+มิทธี
+มินตรา
+มินตา
+มินหม้อ
+มิน่า
+มิน่าล่ะ
+มิน่าเล่า
+มิ้ม
+มิยา
+มิไย
+มิรันตี
+มิลลิกรัม
+มิลลิบาร์
+มิลักขะ
+มิลักขู
+มิลาต
+มิลิเมตร
+มิสกรี
+มิสซา
+มี
+มี่
+มีด
+มีดยับ
+มีเทน
+มีน
+มี่สั้ว
+มึก
+มึง
+มึงวาพาโวย
+มึน
+มืด
+มืน
+มื่น
+มือ
+มื้อ
+มุ
+มุก
+มุกดา
+มุกดาหาร
+มุกุร
+มุกุล
+มุข
+มุโขโลกนะ
+มุคคะ
+มุคธ์
+มุคร
+มุง
+มุ่ง
+มุ้ง
+มุงกระต่าย
+มุจฉา
+มุจน
+มุจลินท์
+มุญจนะ
+มุญช
+มุฐิ
+มุณฑ
+มุณฑก
+มุด
+มุต
+มุตตะ
+มุตตา
+มุตติ
+มุติ
+มุติงค์
+มุทค
+มุทคร
+มุททา
+มุทธชะ
+มุทธา
+มุทรา
+มุทริกา
+มุทะลุ
+มุทา
+มุทิกา
+มุทิงค์
+มุทิตา
+มุทิน
+มุทุ
+มุ่น
+มุนิ
+มุนี
+มุบ
+มุบๆ
+มุม
+มุ่ม
+มุ้ม
+มุ่ย
+มุรช
+มุรธา
+มุลสะ
+มุลุต
+มุลู
+มุสลิม
+มุสะ
+มุสา
+มุสิก
+มุหงิด
+มุหน่าย
+มุหุต
+มูก
+มูกมัน
+มูกหลวง
+มูซัง
+มูเซอ
+มูตร
+มู่ทู่
+มูน
+มูมมาม
+มูรดี
+มูรติ
+มูรธา
+มูล
+มูลา
+มูลิกากร
+มู่ลี่
+มู่เล่
+มูสิก
+เม
+เม็ก
+เมกะเฮิรตซ์
+เมขลา
+เมฆ
+เมฆฉาย
+เมฆพัด
+เม็ง
+เมงอะปา
+เม็ด
+เมตตา
+เมตไตรย
+เมตร
+เมตริก
+เมตริกตัน
+เมถุน
+เมท
+เมทนี
+เมทินี
+เมทิลแอลกอฮอล์
+เมโท
+เมธ
+เมธา
+เมธาวี
+เมธี
+เมน
+เม่น
+เม้น
+เมนเดวีเลียม
+เมนทอล
+เมนู
+เม้ม
+เมย์เดย์
+เมรัย
+เมรุ
+เมล์
+เมลก
+เมล็ด
+เมลือง
+เมลื่อย
+เมลื้อย
+เมษ
+เมห
+เมห์
+เมหน
+เมะ
+เมา
+เม่า
+เม้า
+เม้าเค้า
+เมารี
+เมาลิด
+เมาลี
+เมาห์
+เมาะ
+เมาะตาโยกัก
+เมิง
+เมิน
+เมิล
+เมีย
+เมียง
+เมี่ยง
+เมี้ยน
+เมี้ยวๆ
+เมือ
+เมื่อ
+เมื้อ
+เมือก
+เมือง
+เมือบ
+เมื่อย
+แม่
+แม้
+แมก
+แมกนีเซียม
+แมง
+แมงกานิน
+แมงกานีส
+แมงปากจอบ
+แมงไฟเดือนห้า
+แม่งม้าง
+แมงลัก
+แม่ตะงาว
+แม่ตาย
+แมน
+แม่น
+แม้น
+แม้นเขียน
+แมนดาริน
+แม่ม่านลองไน
+แมร
+แมลง
+แมลบ
+แมว
+แม้ว
+แมะ
+โม
+โม่
+โม้
+โมก
+โมกข์
+โมกโคก
+โมกษะ
+โมกุล
+โมฆะ
+โมฆียะ
+โมง
+โม่ง
+โมงครุ่ม
+โมเต็ล
+โมทนา
+โมน
+โมเนต์
+โมโนแซ็กคาไรด์
+โมไนย
+โมมูห์
+โมมูหะ
+โมเม
+โมรา
+โมรี
+โมเรศ
+โมลิบดีนัม
+โมลี
+โมเลกุล
+โมษ
+โมษก
+โมษณ
+โมเสส
+โม่ห์
+โมหะ
+โมโห
+ไมกา
+ไมครอน
+ไมโคกรัม
+ไมโครฟิล์ม
+ไมโครโฟน
+ไมโครมิเตอร์
+ไมโครเมตร
+ไมโครลิตร
+ไมโครเวฟ
+ไมตรี
+ไม่ไม้
+ไมยราบ
+ไมล์
+ย
+ยก
+ยกกระบัตร
+ยกน
+ยง
+ยงยุทธ์
+ยงโย่
+ยชุรเวท
+ยติ
+ยถา
+ย่น
+ยนต์
+ยนตร์
+ยม
+ยมก
+ยมโดย
+ยมนา
+ยมล
+ยรรยง
+ยล
+ยว
+ยวกสา
+ยวง
+ยวด
+ยวดยาน
+ยวน
+ยวบ
+ย้วย
+ยวรยาตร
+ยวา
+ยวาคุ
+ยศ
+ยโส
+ยอ
+ยอก
+ยอกย้อน
+ย็อกแย็ก
+ย็อกแย็กๆ
+ยอง
+ย่อง
+ย้อง
+ยองๆ
+ย่องเหง็ด
+ยอด
+ยอดจาก
+ยอน
+ย้อน
+ยอบ
+ยอม
+ย่อม
+ย้อม
+ย่อย
+ย้อย
+ย้อแย้
+ยะ
+ย่ะ
+ยะงันจะคับ
+ยะยอบ
+ยะยัน
+ยะยับ
+ยะยาน
+ยะย้าย
+ยะย้าว
+ยะแย้ง
+ยะหิทา
+ยัก
+ยักข์
+ยักขินี
+ยักเพรีย
+ยักยี่ยักยัน
+ยักยี่ยักหยา
+ยักแย่ยักยัน
+ยักษ์
+ยักษิณี
+ยักษี
+ยักหยาว
+ยัง
+ยั้ง
+ยังกาหลา
+ยั่งยืน
+ยังหยัง
+ยัชโญปวีต
+ยัชน
+ยัชมาน
+ยัญ
+ยัญญะ
+ยัญญังค์
+ยัฐิ
+ยัฐิมธุกา
+ยัด
+ยัติภังค์
+ยัน
+ยั่น
+ยันต์
+ยันตร์
+ยั่นตะนี
+ยันเย้า
+ยับ
+ยับๆ
+ยับยั้ง
+ยั่ว
+ยั้ว
+ยั้วเยี้ย
+ยัวรยาตร
+ยัษฏิ
+ยา
+ย่า
+ยาก
+ยาค
+ยาคุ
+ยาคู
+ยาง
+ย่าง
+ย่างทราย
+ยาจก
+ยาจน
+ยาจนก
+ยาจนา
+ยาไฉน
+ยาชก
+ยาด
+ยาดา
+ยาตนา
+ยาตร
+ยาตรา
+ยาน
+ย่าน
+ยานก
+ย่านกอบนาง
+ย่านทราย
+ย่านพาโหม
+ย่านมควาย
+ยานมาศ
+ย่านลิเภา
+ย่านาง
+ย่านางช้าง
+ยานี
+ยานุมาศ
+ยาบ
+ยาบๆ
+ย่าม
+ยามกาลิก
+ยามเกา
+ยามักการ
+ยามิก
+ยาย
+ย้าย
+ยายี
+ยาว
+ย้าว
+ยาวกาลิก
+ยาวชีวิก
+ยาวัส
+ยาหยัง
+ยาหยา
+ยาหยี
+ยำ
+ย่ำ
+ย้ำ
+ยำยาม
+ยำเยีย
+ย่ำแย่
+ย้ำเหยอ
+ยิก
+ยิกๆ
+ยิง
+ยิ่ง
+ยิงฟัน
+ยิฏฐะ
+ยิฐ
+ยิน
+ยิบ
+ยิบๆ
+ยิปซัม
+ยิปซี
+ยิ้ม
+ยิมนาสติก
+ยิหวา
+ยี
+ยี่
+ยี่ก่า
+ยี่เก
+ยี่เข่ง
+ยี่โถ
+ยีน
+ยี่โป้
+ยี่ภู่
+ยีราฟ
+ยี่สก
+ยี่สง
+ยี่สน
+ยี่สาน
+ยี่ส่าน
+ยี่สิบ
+ยี่สุ่น
+ยี่หระ
+ยี่หร่า
+ยี่ห้อ
+ยี่หุบ
+ยึกยือ
+ยืด
+ยืน
+ยื่น
+ยืม
+ยื้อ
+ยุ
+ยุกกระบัตร
+ยุกดิ
+ยุกต์
+ยุกติ
+ยุค
+ยุคนธร
+ยุคล
+ยุคลบาท
+ยุคันต์
+ยุคันธร
+ยุคุนธร
+ยุง
+ยุ่ง
+ยุ้ง
+ยุงกวาด
+ยุงปัด
+ยุด
+ยุต
+ยุติ
+ยุทธ์
+ยุทธนา
+ยุบ
+ยุ่บยั่บ
+ยุบยิบ
+ยุบล
+ยุพดี
+ยุพา
+ยุพาน
+ยุพาพาล
+ยุพาพิน
+ยุ่มย่าม
+ยุ่ย
+ยุ้ย
+ยุรบาตร
+ยุรยาตร
+ยุวดี
+ยุวา
+ยุวาน
+ยุหบาตร
+ยู
+ยู่
+ยูคาลิปตัส
+ยูง
+ยูโด
+ยูถะ
+ยูถิกา
+ยูปะ
+ยูรยาตร
+ยูริก
+ยูเรนัส
+ยูเรเนียม
+ยูโรเพียม
+ยูษะ
+ยู่อี่
+เย้
+เยๆ
+เยง
+เยซู
+เย็ด
+เย็น
+เย็นตาโฟ
+เย็นเตาโฟ
+เย็บ
+เยภุยยะ
+เย้ย
+เยอ
+เย่อ
+เยอรมัน
+เยอว
+เย่อหยิ่ง
+เยอะ
+เยา
+เย้า
+เยาว์
+เยาวพา
+เยาวพาณี
+เยาวพาน
+เยิง
+เยิน
+เยิ่น
+เยินยอ
+เยิบๆ
+เยิบยาบ
+เยิ้ม
+เยีย
+เยี่ยง
+เยียงผา
+เยี่ยงอย่าง
+เยียดยัด
+เยียน
+เยียบ
+เยี่ยม
+เยี่ยมวิมาน
+เยียรบับ
+เยียรยง
+เยียว
+เยี่ยว
+เยี่ยวงีว
+เยียวยง
+เยียวยา
+เยือ
+เยื่อ
+เยื้อ
+เยือก
+เยือง
+เยื่อง
+เยื้อง
+เยือน
+เยื้อน
+แย่
+แย้
+แยก
+แยง
+แย่ง
+แย้ง
+แยงแย่
+แยงแย้
+แยบ
+แย็บ
+แยม
+แย้ม
+แยแส
+แยะ
+โย
+โย้
+โยก
+โยกตร์
+โยคเกณฑ์
+โยคยะ
+โยคะ
+โยคิน
+โยคี
+โยง
+โย่งๆ
+โยงโย่
+โยชก
+โยชน์
+โยชนา
+โยด
+โยต
+โยถิกะ
+โยทะกา
+โยธา
+โยน
+โยนก
+โยนิโส
+โยนิโสมนสิการ
+โยนี
+โยพนะ
+โยม
+โยโส
+ใย
+ไย
+ไย่
+ไยดี
+ไยไพ
+ไยไย
+ไย่ไย่
+ร
+รก
+รกช้าง
+รกฟ้า
+รง
+รงกุ์
+รงค์
+รงรอง
+รจนา
+รจเรข
+รจเลข
+รจิต
+รชกะ
+รชตะ
+รชนิ
+รชนี
+รชนีย์
+รชะ
+รณ
+รด
+รดี
+รตนะ
+รตะ
+รติ
+รถ
+รถปุงคพ
+รถปุงคว
+รถยา
+รถานึก
+รเถสภะ
+รท
+รทนะ
+รน
+ร่น
+ร้น
+รนด
+รบ
+รบส
+รบาญ
+รพ
+รพา
+รพิ
+รพี
+รม
+รมณีย์
+รมย์
+รมเยศ
+รยะ
+รวก
+รวง
+ร่วง
+รวด
+รวน
+ร่วน
+รวบ
+รวม
+ร่วม
+รวย
+รวยๆ
+รวะ
+รวิ
+รวี
+รศนา
+รส
+รสก
+รสนา
+รสสุคนธ์
+รสายนเวท
+รสิก
+รหัท
+รหัส
+รหัสย์
+รหิต
+รโห
+รอ
+ร่อ
+รอก
+รอง
+ร่อง
+ร้อง
+รองเง็ง
+ร่องแร่ง
+รอด
+รอน
+ร่อน
+ร้อน
+ร่อนทอง
+รอบ
+รอม
+รอมชอม
+รอมร่อ
+รอย
+ร่อย
+ร้อย
+ร้อยรู
+ร่อแร่
+ระ
+ระกะ
+ระกา
+ระกำ
+ระเกะระกะ
+ระคน
+ระคาง
+ระคาย
+ระเค็ดระคาย
+ระแคะ
+ระฆัง
+ระงม
+ระงมไพร
+ระงับ
+ระงับพิษ
+ระงี่
+ระแง้
+ระโงกหิน
+ระชวย
+ระดม
+ระดะ
+ระดับ
+ระดา
+ระด่าว
+ระดู
+ระเด่น
+ระเดียง
+ระแด
+ระตู
+ระทก
+ระทด
+ระทม
+ระทวย
+ระทอด
+ระทา
+ระทึก
+ระทึง
+ระแทะ
+ระนัม
+ระนาด
+ระนาบ
+ระนาม
+ระนาว
+ระเนน
+ระเนนระนาด
+ระเนระนาด
+ระเนียด
+ระแนง
+ระแนะ
+ระบบ
+ระบม
+ระบอบ
+ระบัด
+ระบับ
+ระบาญ
+ระบาด
+ระบานี
+ระบานี้
+ระบาย
+ระบำ
+ระบิ
+ระบิล
+ระบือ
+ระบุ
+ระบู
+ระเบง
+ระเบ็ง
+ระเบิด
+ระเบียง
+ระเบียน
+ระเบียบ
+ระแบบ
+ระใบ
+ระมัดระวัง
+ระมา
+ระมาด
+ระเมียร
+ระย่อ
+ระย่อม
+ระยะ
+ระยัง
+ระยั้ง
+ระยัด
+ระยับ
+ระย้า
+ระยาน
+ระยาบ
+ระยามระยับ
+ระยำ
+ระยิบระยับ
+ระโยง
+ระรวย
+ระรอง
+ระร่อน
+ระรัว
+ระราน
+ระร่าย
+ระราว
+ระริก
+ระรี่
+ระรึง
+ระรื่น
+ระรื้น
+ระเร
+ระเร่
+ระเร้ง
+ระเร็ว
+ระเริง
+ระเรียง
+ระเรียม
+ระเรื่อย
+ระแร่
+ระแรง
+ระลง
+ระลวง
+ระลอก
+ระลัด
+ระลึก
+ระลุก
+ระลุง
+ระเลิง
+ระเลียด
+ระวัง
+ระวังไพร
+ระวังวัน
+ระวาง
+ระวาดระไว
+ระวาม
+ระวาย
+ระวิง
+ระแวง
+ระแวดระวัง
+ระไว
+ระสาย
+ระส่ำระสาย
+ระสี
+ระเสิดระสัง
+ระหกระเหิน
+ระหง
+ระหวย
+ระหว่าง
+ระหองระแหง
+ระหอบ
+ระหัด
+ระหาย
+ระหุย
+ระเห็จ
+ระเหย
+ระเหระหน
+ระเหหน
+ระเหหัน
+ระเหิด
+ระเหินระหก
+ระแหก
+ระแหง
+ระโหย
+ระอมระอา
+ระอา
+ระอิดระอา
+ระอึก
+ระอุ
+ระแอน
+รัก
+รักข์
+รักขสะ
+รักขา
+รักขิต
+รักดป
+รักดะ
+รักตะ
+รักบี้
+รักเร่
+รักแร้
+รักษ์
+รักษา
+รัง
+รั้ง
+รังแก
+รังค์
+รังควาน
+รังแค
+รังนาน
+รังรอง
+รังวัด
+รังสิ
+รังสิมันตุ์
+รังสิมา
+รังสี
+รังหยาว
+รัจฉา
+รัช
+รัชกะ
+รัชชุ
+รัชฎาภิเษก
+รัชนะ
+รัชนี
+รัญจวน
+รัฏฐาภิปาลโนบาย
+รัฐ
+รัด
+รัต
+รัตคน
+รัตตัญญู
+รัตติ
+รัตน์
+รัตนะ
+รัตมา
+รัถ
+รัถยา
+รัทเทอร์ฟอร์เดียม
+รัน
+รั้น
+รันชนรันแชง
+รันทด
+รันทวย
+รันทำ
+รันแทะ
+รันธะ
+รับ
+รัมภา
+รัมมี่
+รัมย์
+รัย
+รัว
+รั่ว
+รั้ว
+รัศมิมัติ
+รัศมิมาน
+รัศมี
+รัษฎากร
+รัสสะ
+รา
+ร่า
+ร้า
+ราก
+รากษส
+รากโษส
+รากสาด
+ราคะ
+ราคา
+ราคิน
+ราคี
+ราง
+ร่าง
+ร้าง
+รางจืด
+รางชาง
+รางดำ
+รางแดง
+รางนาน
+รางวัล
+ราช
+ราชญี
+ราชดัด
+ราชพฤกษ์
+ราชมาณพ
+ราชย์
+ราชะ
+ราชัน
+ราชันย์
+ราชัย
+ราชา
+ราชายตนะ
+ราชาวดี
+ราชิ
+ราชินี
+ราชี
+ราเชน
+ราเชนทรยาน
+ราญ
+ราญรอน
+ราด
+ราต
+ราตร
+ราตรี
+ราตรีประดับดาว
+ราโท
+ราธา
+ราน
+ร่าน
+ร้าน
+ราบ
+ราพณ์
+ราม
+รามเกียรติ์
+รามสูร
+รามัญ
+รามา
+ราย
+ร่าย
+ร้าย
+ร่ายรัง
+ราว
+ร้าว
+ราวี
+ราศี
+ราษฎร
+ราษฎร์
+ราษตรี
+ราษราตริน
+ราษราตรี
+ราสี
+ราหุ
+ร่าหุ์
+ราหู
+รำ
+ร่ำ
+รำคาญ
+รำงับ
+รำจวน
+รำซุย
+รำบาญ
+รำพัน
+รำพาย
+รำพึง
+รำเพย
+รำไพ
+รำมะเข
+รำมะนา
+รำมะนาด
+รำมะร่อ
+รำยวน
+รำย้อย
+รำแย้
+ร่ำรวย
+รำราญ
+รำรำ
+รำเร
+รำไร
+รำลึก
+รำหัด
+รำหัส
+ริ
+ริก
+ริกๆ
+ริดสีดวง
+ริน
+ริ้น
+รินๆ
+ริบ
+ริบบิ้น
+ริบรี่
+ริบหรี่
+ริปุ
+ริปู
+ริม
+ริ้ว
+ริษยา
+รี
+รี่
+รี้
+รีๆขวางๆ
+รีๆรอๆ
+รีด
+รีดักชัน
+รีต
+รีเนียม
+รีบ
+รีม
+รีรอ
+รี้ริก
+รึกต์
+รึง
+รึ้ง
+รื่น
+รื้น
+รื้อ
+รุ
+รุก
+รุกข์
+รุกขกะ
+รุกขา
+รุกรุย
+รุกษะ
+รุ่ง
+รุ้ง
+รุงรัง
+รุจ
+รุจน
+รุจา
+รุจิ
+รุจิระ
+รุจิรา
+รุจี
+รุชา
+รุด
+รุต
+รุทธ์
+รุทร
+รุธิร
+รุเธียร
+รุน
+รุ่น
+รุบรู่
+รุบาการ
+รุม
+รุ่ม
+รุ่มร่าม
+รุย
+รุ่ย
+รุรุ
+รุษฏ์
+รุหะ
+รุหาญ
+รู
+รู่
+รู้
+รูจี
+รูด
+รูทีเนียม
+รู้นอน
+รูบิเดียม
+รูป
+รูปิยะ
+รูปี
+รูเล็ตต์
+รูหา
+เร่
+เรข
+เรขา
+เรขาคณิต
+เร็ง
+เร่ง
+เร้ง
+เรณุ
+เรณุก
+เรณู
+เรดอน
+เรดาร์
+เรเดียม
+เร้น
+เรยอง
+เรรวน
+เรไร
+เร็ว
+เร่ว
+เรวดี
+เรอ
+เร่อ
+เรา
+เร่า
+เร้า
+เร่าๆ
+เราะ
+เริง
+เริด
+เริม
+เริ่ม
+เริ้ม
+เริศร้าง
+เรี่ย
+เรี้ยๆ
+เรียก
+เรียง
+เรียงๆ
+เรียด
+เรียน
+เรียบ
+เรียม
+เรี่ยม
+เรียว
+เรี่ยว
+เรี้ยวรก
+เรือ
+เรื่อ
+เรื้อ
+เรือก
+เรือกสวน
+เรือง
+เรื่อง
+เรื้อง
+เรืองรอง
+เรือด
+เรือน
+เรื้อน
+เรื้อย
+แร
+แร่
+แรก
+แร็กเกต
+แรง
+แร่ง
+แร้ง
+แร่งริ้ว
+แร่งไหม
+แรด
+แร้นแค้น
+แรม
+แร้ว
+แระ
+โร
+โร่
+โรค
+โรง
+โรจ
+โรจน์
+โรเดียม
+โรตี
+โรท
+โรทนะ
+โรธ
+โรธร
+โรเนียว
+โรปนะ
+โรม
+โรมัญจ
+โรมัน
+โรมันคาทอลิก
+โรเมอร์
+โรย
+โรเร
+โรษ
+โรษณะ
+โรหิณี
+โรหิต
+ไร
+ไร่
+ไร้
+ไรฟัน
+ไรย์
+ฤ
+ฤกษ์
+ฤกษณะ
+ฤคเวท
+ฤชา
+ฤชุ
+ฤณ
+ฤดี
+ฤดียา
+ฤดู
+ฤต
+ฤติยา
+ฤตุ
+ฤตุสนาน
+ฤทธา
+ฤทธิ์
+ฤทัย
+ฤษภ
+ฤษยา
+ฤษี
+ฤๅ
+ฤๅชุ
+ฤๅดี
+ฤๅทัย
+ฤๅษี
+ฤๅสาย
+ล
+ลก
+ลการ
+ลกุจ
+ลคุฑ
+ลคุฬ
+ลฆุ
+ลง
+ล่ง
+ลงกา
+ล้งเล้ง
+ลด
+ลดา
+ลน
+ล่น
+ล้น
+ลบ
+ลบม
+ลบอง
+ลปก
+ลปน
+ลพ
+ลพุช
+ลม
+ล่ม
+ล้ม
+ลมาด
+ลรรลุง
+ลลนา
+ลลาฏ
+ลลิต
+ลวก
+ลวง
+ล่วง
+ล้วง
+ลวงค์
+ลวงเล้า
+ลวณะ
+ลวด
+ล้วน
+ลวนลาม
+ลวนะ
+ล่วม
+ลวะ
+ลวิตร
+ลหุ
+ลหุกะ
+ล่อ
+ล้อ
+ลอก
+ล็อกเกต
+ลอกแลก
+ลอการิทึม
+ลอง
+ล่อง
+ลองกอง
+ลองจิจูด
+ลองไน
+ลอด
+ลอตเตอรี่
+ลอน
+ล่อน
+ลอบ
+ลอม
+ล้อม
+ลอมชอม
+ล้อมปรวด
+ลอมพอก
+ลอย
+ล่อย
+ล่อแล่
+ลอว์เรนเซียม
+ลออ
+ละ
+ล่ะ
+ละกล
+ละกูมะนิส
+ละขัดละขืน
+ละคร
+ละคิ
+ละคึก
+ละงาด
+ละงิด
+ละติจูด
+ละบมละบอง
+ละบัด
+ละบือ
+ละเบ็ง
+ละโบม
+ละม่อม
+ละมั่ง
+ละมา
+ละมาน
+ละม้าย
+ละมุ
+ละมุด
+ละมุน
+ละเม็งละคร
+ละเม็ด
+ละเมอ
+ละเมาะ
+ละเมิด
+ละเมียด
+ละเมียบ
+ละแมะ
+ละโมก
+ละโมบ
+ละไม
+ละรี
+ละลนละลาน
+ละลมละลาย
+ละลวย
+ละลอก
+ละลอบละเล้า
+ละลัง
+ละลัด
+ละล้า
+ละลาน
+ละลาบละล้วง
+ละลาย
+ละล้าว
+ละล่ำละลัก
+ละลิบ
+ละลุง
+ละลุม
+ละเลง
+ละเล้า
+ละเลาะ
+ละเลาะละลอง
+ละเลิง
+ละเลียด
+ละเลียบ
+ละเลือก
+ละไล้
+ละวล
+ละว้อ
+ละว้า
+ละวาด
+ละเวง
+ละแวก
+ละโว้
+ละหมาด
+ละหมาดญานาซะฮ์
+ละหลัด
+ละห้อย
+ละหาน
+ละหุ่ง
+ละเหย
+ละเหี่ย
+ละออง
+ละอองมั่ง
+ละอาย
+ละเอียด
+ละแอน
+ลัก
+ลักขณะ
+ลักขณา
+ลักขะ
+ลักจั่น
+ลักปิดลักเปิด
+ลักษณะ
+ลักษมณ์
+ลักษมาณา
+ลักษมี
+ลักษะ
+ลัคคะ
+ลัคน์
+ลัคนา
+ลัง
+ลั่ง
+ลังกา
+ลังคิ
+ลังคี
+ลังถึง
+ลังลอง
+ลังเล
+ลังสาด
+ลัชชา
+ลัชชี
+ลัญจ์
+ลัญจกร
+ลัญฉ
+ลัญฉกร
+ลัญฉน์
+ลัฐิ
+ลัฐิกา
+ลัด
+ลัดา
+ลัทธ์
+ลัทธิ
+ลัน
+ลั่น
+ลันเต
+ลันเตา
+ลันไต
+ลั่นถัน
+ลั่นทม
+ลันทวย
+ลันโทม
+ลับ
+ลัพธ์
+ลัพธิ
+ลัภ
+ลัภนะ
+ลัภย์
+ลัมพ์
+ลัย
+ลัวะ
+ลา
+ล่า
+ล้า
+ลาก
+ลากษา
+ลาขา
+ลาง
+ล่าง
+ล้าง
+ลางคัล
+ลางงิด
+ลางลิง
+ลางสาด
+ลางาด
+ล้างาด
+ลาเง็ด
+ลาช
+ลาชา
+ลาญ
+ลาด
+ลาดเลา
+ล้าต้า
+ล่าเตียง
+ล้าเตียง
+ลาน
+ล่าน
+ลาบ
+ลาป
+ลาพอน
+ลาพุ
+ลาเพ
+ลาเพา
+ลาภ
+ลาม
+ล่าม
+ลามะ
+ลาย
+ล้าย
+ลาลนะ
+ลาลส
+ลาลา
+ลาว
+ลาวก
+ลาวัณย์
+ลาวา
+ลาสนะ
+ลำ
+ล่ำ
+ล้ำ
+ลำเข็ญ
+ลำแข
+ลำเค็ญ
+ลำเคือง
+ลำงาด
+ลำเจียก
+ลำดวน
+ลำดับ
+ลำนัก
+ลำเนา
+ลำบอง
+ลำบาก
+ลำบุ
+ลำปำ
+ลำพวน
+ลำพอง
+ลำพัง
+ลำพู
+ลำเพ็ญ
+ลำเพา
+ลำแพง
+ลำแพน
+ลำโพง
+ลำไพ่
+ลำภุขัน
+ลำมะลอก
+ลำมาด
+ลำเมาะ
+ลำเมียบ
+ลำยอง
+ลำยา
+ลำไย
+ลำลอง
+ล่ำลา
+ลำลาบ
+ลำลำ
+ลำลึก
+ลำเลาะ
+ลำเลิก
+ลำเลียง
+ลำเลียบ
+ลำเวียง
+ลำเวียน
+ลำอุด
+ลำเอียก
+ลำโอง
+ลิ
+ลิกขา
+ลิกไนต์
+ลิกษา
+ลิกุจ
+ลิเก
+ลิขนะ
+ลิขสิทธ์
+ลิขิต
+ลิง
+ลิงค์
+ลิงโลด
+ลิด
+ลิต
+ลิตมัส
+ลิตร
+ลิเทียม
+ลิ่น
+ลิ้น
+ลินโกรย
+ลินจง
+ลิ้นจี่
+ลิ่นต้น
+ลิ่นทะเล
+ลิ่นฮื้อ
+ลินิน
+ลิบ
+ลิปดา
+ลิปต์
+ลิปสติก
+ลิปิ
+ลิฟต์
+ลิเภา
+ลิ่ม
+ลิ้ม
+ลิมป์
+ลิมปนะ
+ลิลิต
+ลิว
+ลิ่ว
+ลิสง
+ลี
+ลี่
+ลี้
+ลีซอ
+ลีบ
+ลีลา
+ลีลาศ
+ลีฬหา
+ลึก
+ลึงค์
+ลึงค์นายพราน
+ลืด
+ลื่น
+ลื้น
+ลืบ
+ลืม
+ลือ
+ลื่อ
+ลื้อ
+ลุ
+ลุก
+ลุกลน
+ลุกลี้ลุกลน
+ลุง
+ลุ้ง
+ลุต
+ลุท
+ลุทกะ
+ลุทธ์
+ลุ่น
+ลุปต์
+ลุพธ์
+ลุพธกะ
+ลุ่ม
+ลุ่มเนื้อ
+ลุมป์
+ลุมพี
+ลุมพู
+ลุมหมา
+ลุย
+ลุ่ย
+ลุ้ย
+ลุลาย
+ลุสา
+ลู่
+ลูก
+ลูกเขยตายแม่ยายชักปรก
+ลูกเคล้า
+ลูกประคำผี
+ลูกปืนใหญ่
+ลูกเอ็น
+ลูกเอ็ล
+ลูขะ
+ลูตา
+ลูติกา
+ลูทีเชียม
+ลูนะ
+ลูบ
+ลู่หลี่
+เลก
+เล็ก
+เล็กดา
+เล็กฮอร์น
+เลข
+เลขกะ
+เลขนะ
+เลขยะ
+เลขา
+เล็ง
+เล้ง
+เล่งฮื้อ
+เลเซอร์
+เลฑฑุ
+เลณ
+เลณฑุ
+เล็ด
+เลต
+เลน
+เล็น
+เล่น
+เลนจง
+เลนส์
+เลนหะรี
+เล็บ
+เลบง
+เลปกร
+เลปน์
+เลเป
+เลเพ
+เล็ม
+เล่ม
+เลย
+เลว
+เลวง
+เลวูโลส
+เลศ
+เลษฏุ
+เลสเบียน
+เลห
+เล่ห์
+เลหยะ
+เลหลัง
+เลหลา
+เลหะ
+เลอ
+เละ
+เลา
+เล่า
+เล้า
+เลากัย
+เล่าเต๊ง
+เล้าโลม
+เลาะ
+เลิก
+เลิ้ง
+เลินเล่อ
+เลิศ
+เลีย
+เลียง
+เลี่ยง
+เลี้ยง
+เลียงขาว
+เลียงผา
+เลียงฝ้าย
+เลียงมัน
+เลียน
+เลี่ยน
+เลียนไฟ
+เลียบ
+เลียม
+เลี่ยม
+เลียว
+เลี้ยว
+เลือก
+เลือง
+เลื่อง
+เลือด
+เลือน
+เลื่อน
+เลื่อม
+เลื่อมใส
+เลื่อย
+เลื้อย
+เลื่อยล้า
+แล
+แล่
+แล้
+แลก
+แล็กโทส
+แลง
+แล่ง
+แล้ง
+แลน
+แล่น
+แลนทานัม
+แลบ
+แล้ว
+และ
+โล่
+โล้
+โลก
+โลกคติ
+โลกจักษุ
+โลกชนนี
+โลกเชษฐ์
+โลกธรรม
+โลกธาดา
+โลกธาตุ
+โลกนาถ
+โลกบถ
+โลกบาล
+โลกบิดร
+โลกประทีป
+โลกมารดา
+โลกย์
+โลกยาตรา
+โลกวัชชะ
+โลกวิทู
+โลกศัพท์
+โลกสถิติ
+โลกอุดร
+โลกัตถจริยา
+โลกันตร์
+โลกา
+โลกิยะ
+โลกีย์
+โลกียชน
+โลกียวัตร
+โลกุตร
+โลกุตรธรรม
+โลกุตรภูมิ
+โลเกศ
+โลง
+โล่ง
+โล้ง
+โล้งโต้ง
+โลจนะ
+โลณะ
+โลด
+โลดทะนง
+โล่ติ๊น
+โลโต
+โลท
+โลน
+โล้น
+โลปะ
+โลภ
+โลม
+โลมะ
+โลมา
+โลล
+โลลุป
+โลเล
+โล้เล้
+โลโล
+โลโล้
+โลหะ
+โลหัช
+โลหิต
+โละ
+ไล่
+ไล้
+ไลย
+ไลลา
+ไลเลย
+ไลไล้
+ว
+วก
+วกะ
+วกุล
+วง
+วงก์
+วงกต
+วงศ์
+วงศา
+วงษ์
+วจนะ
+วจะ
+วจา
+วจี
+วชะ
+วชิระ
+วฏะ
+วฏาการ
+วฏุมะ
+วณะ
+วณิช
+วณิชชา
+วณิชย์
+วณิชยา
+วณิพก
+วดรนู
+วดี
+วตะ
+วทนะ
+วทะ
+วทัญญุตา
+วทัญญู
+วธุกา
+วธู
+วน
+วนจร
+วนัปติ
+วนัส
+วนา
+วนานต์
+วนิดา
+วนิพก
+วเนจร
+วโนทยาน
+วปนะ
+วปุ
+วยัคฆ์
+วยัญชนะ
+วยัมหะ
+วยัสย์
+วยากรณ์
+วยาฆร์
+วยาธิ
+วยาม
+วยายาม
+วรกัญญา
+วรกาย
+วรงค์
+วรณะ
+วรท
+วรทาน
+วรนารี
+วรปักษ์
+วรพนิต
+วรมหาวิหาร
+วรยิตา
+วรรค
+วรรคย์
+วรรช
+วรรชย์
+วรรณนา
+วรรณพฤติ
+วรรณะ
+วรรณึก
+วรรธก
+วรรธนะ
+วรรษ
+วรรษา
+วรรูป
+วรวรรณินี
+วรวิหาร
+วรัญญู
+วรากะ
+วรางคณา
+วราภรณ์
+วรายุทธ
+วราโรหาร
+วราห์
+วราหร
+วราหะ
+วรุณ
+วรุตดม
+วรุตมะ
+วรูถ
+วโรดม
+วโรตมะ
+วฤก
+วฤษภ
+วฤษล
+วลัช
+วลัญช์
+วลัณชน์
+วลัย
+วลาหก
+วลี
+วศค
+วศะ
+วศิน
+วสนะ
+วสภะ
+วสละ
+วสลี
+วสวัดดี
+วสวัตตี
+วสะ
+วสันต์
+วสันตดิลก
+วสา
+วสี
+วสุ
+วสุธา
+วสุนธรา
+วสุมดี
+วหะ
+วหา
+วอ
+วอก
+วอกแวก
+ว่อง
+ว่องไว
+วอด
+วอน
+ว่อน
+วอลเลย์บอล
+วอแว
+วะ
+วัก
+วักกะ
+วัค
+วัคคิย
+วัคคีย์
+วัคคุ
+วัคซีน
+วัง
+วังก์
+วังชา
+วังเวง
+วังศะ
+วังสะ
+วัจจะ
+วัจฉ์
+วัจฉก
+วัจฉละ
+วัจน์
+วัช
+วัชชะ
+วัชฌ์
+วัชพืช
+วัชระ
+วัญจก
+วัญจนะ
+วัญฌ์
+วัฏกะ
+วัฏฏะ
+วัฏฏิ
+วัฒกะ
+วัฒกี
+วัฒนะ
+วัฒนา
+วัณ
+วัณฏ์
+วัณณะ
+วัณนา
+วัด
+วัต
+วัตต์
+วัตตา
+วัตถ์
+วัตถุ
+วัตนะ
+วัตร
+วัตรปฏิบัติ
+วัตสดร
+วัตสะ
+วัติ
+วัทน์
+วัน
+วันต์
+วันทนา
+วันทนีย์
+วันทา
+วันทิ
+วันนิพก
+วันเวย์
+วับ
+วับๆหวำๆ
+วัปปะ
+วัมมิก
+วัย
+วัลก์
+วัลคุ
+วัลย์
+วัลลภ
+วัลลี
+วัว
+วัสดุ
+วัสตร์
+วัสน์
+วัสนะ
+วัสสะ
+วา
+ว่า
+ว้า
+วาก
+ว้ากเพ้ย
+วากยะ
+วากรา
+วากะ
+วาง
+ว่าง
+ว้าง
+วาจก
+วาจา
+วาจาไปยะ
+วาจาล
+วาชเปยะ
+วาฏกะ
+วาณิช
+วาณิชกะ
+วาณิชย์
+วาณี
+วาด
+วาตะ
+วาท
+วาทก
+วาทน
+วาทย์
+วาทิต
+วาทิน
+วาที
+วาน
+ว่าน
+ว่านเครือ
+วานร
+วาเนเดียม
+วาบ
+วาปะ
+วาปิตะ
+วาปี
+วาม
+วามะ
+วาโมร
+วาย
+ว่าย
+ว้าย
+วายสะ
+วายะ
+วายัง
+วายามะ
+วายุ
+วายุกูล
+วายุบุตรยาตรา
+วาโย
+วาร
+วารวาริ
+วาระ
+วาริ
+วารี
+วารุณ
+วารุณี
+วาล
+วาล์ว
+วาลิกา
+วาลุกา
+วาว
+ว่าว
+ว้าว่อน
+ว้าวุ่น
+วาสนะ
+วาสนา
+วาสพ
+วาสะ
+วาสิน
+วาสี
+วาสุกรี
+วาสุกี
+วาสุเทพ
+วาหนะ
+วาหะ
+วาหินี
+วาฬ
+วิ
+วิก
+วิกขัมภ์
+วิกขัมภนะ
+วิกเขป
+วิกจะ
+วิกรม
+วิกรัย
+วิกรานต์
+วิกฤต
+วิกฤติ
+วิกล
+วิกลจริต
+วิกสิต
+วิกัต
+วิกัติ
+วิกัป
+วิกัย
+วิการ
+วิกาล
+วิคตปัจจัย
+วิคหะ
+วิเคราะห์
+วิฆนะ
+วิฆเนศ
+วิฆเนศวร
+วิฆาต
+วิฆาส
+วิง
+วิ่ง
+วิงวอน
+วิจฉิกะ
+วิจยุต
+วิจรณะ
+วิจล
+วิจักขณ์
+วิจักษณ์
+วิจัย
+วิจาร
+วิจารณ์
+วิจิ
+วิจิกิจฉา
+วิจิต
+วิจิตร
+วิจิน
+วิจุณ
+วิจุรณ
+วิชชา
+วิชชุ
+วิชชุดา
+วิชชุตา
+วิชชุลดา
+วิชญะ
+วิชน
+วิชนี
+วิชัย
+วิชา
+วิชานนะ
+วิชิต
+วิเชียร
+วิญญัตติ
+วิญญาณ
+วิญญาณกทรัพย์
+วิญญู
+วิฑูรย์
+วิณหุ
+วิด
+วิดีสดี
+วิตก
+วิตถาร
+วิตามิน
+วิถี
+วิทธะ
+วิทธังสะ
+วิทยา
+วิทยุ
+วิทยุต
+วิทรุมะ
+วิทวัส
+วิทัตถิ
+วิทารณ์
+วิทาลน์
+วิทิต
+วิทู
+วิทูร
+วิเทวษ
+วิเทศ
+วิธ
+วิธวา
+วิธา
+วิธาน
+วิธี
+วิธุระ
+วิธู
+วิธูปนะ
+วิน
+วิ่น
+วินท์
+วินันตู
+วินัย
+วินาที
+วินายก
+วินาศ
+วินิจ
+วินิจฉัย
+วินิต
+วินิบาต
+วินิปาติก
+วินีต
+วิเนต
+วิโนทก
+วิบัติ
+วิบาก
+วิบุล
+วิบูล
+วิปการ
+วิปฏิสาร
+วิปโยค
+วิประการ
+วิประติสาร
+วิประโยค
+วิประลาป
+วิประวาส
+วิปริณามทุกข์
+วิปริต
+วิปลาป
+วิปลาส
+วิปวาส
+วิปักษ์
+วิปัสสก
+วิปัสสนา
+วิปากขันธ์
+วิพากษ์
+วิพากษ์วิจารณ์
+วิพิธทัศนา
+วิพุธ
+วิภังค์
+วิภัช
+วิภัตติ
+วิภา
+วิภาค
+วิภาช
+วิภาดา
+วิภาวี
+วิภาษ
+วิภาส
+วิภู
+วิภูษณะ
+วิภูษา
+วิภูษิต
+วิเภตก์
+วิเภทก์
+วิมน
+วิมล
+วิมลัก
+วิมลาก
+วิมังสา
+วิมัติ
+วิมาน
+วิมานิกเปรต
+วิมุข
+วิมุต
+วิมุตติ
+วิเมลือง
+วิโมกข์
+วิโมกษวิถี
+วิเยน
+วิโยค
+วิรงรอง
+วิรตะ
+วิรมณะ
+วิรวะ
+วิระ
+วิรังรอง
+วิรัช
+วิรัต
+วิรัติ
+วิราคะ
+วิราม
+วิราวะ
+วิรุธ
+วิรุฬห์
+วิรุฬหก
+วิรูป
+วิรูปักษ์
+วิเรก
+วิเรนทร์
+วิโรค
+วิโรจ
+วิโรจน์
+วิโรฒ
+วิโรธ
+วิโรธน์
+วิลันดา
+วิลัย
+วิลาด
+วิลาป
+วิลาวัณย์
+วิลาศ
+วิลาส
+วิลาสินี
+วิลิปดา
+วิลิศมาหรา
+วิเลป
+วิเลปนะ
+วิโลก
+วิโลกนะ
+วิโลจนะ
+วิโลม
+วิไล
+วิว
+วิวรณ์
+วิวรรธน์
+วิวระ
+วิวัฏ
+วิวัฒน์
+วิวัน
+วิวาท
+วิวาห์
+วิวาหะ
+วิวิจ
+วิวิต
+วิวิธ
+วิเวก
+วิศรุต
+วิศัท
+วิศัลย์
+วิศาขะ
+วิศาขา
+วิศางค์
+วิศาล
+วิศิษฏ์
+วิศุทธ์
+วิศุทธิ์
+วิเศษ
+วิเศษณ์
+วิษณุ
+วิษณุกรรม
+วิษธร
+วิษักต์
+วิษัย
+วิษาณ
+วิษุวัต
+วิสกี้
+วิสรรชนีย์
+วิสฤต
+วิสสุกรรม
+วิสังโยค
+วิสัชนา
+วิสัญญี
+วิสัย
+วิสาขะ
+วิสาขา
+วิสามัญ
+วิสาร
+วิสารท
+วิสาล
+วิสาสะ
+วิสาหกิจ
+วิสิฐ
+วิสุงคามสีมา
+วิสุทธ์
+วิสุทธิ์
+วิสูตร
+วิเสท
+วิเสสนะ
+วิหค
+วิหงค์
+วิหลั่น
+วิหัปปติ
+วิหายสะ
+วิหาร
+วิหิ
+วิหิงสะ
+วิหิงสา
+วิเหสภาคี
+วิเหสา
+วิฬังค์
+วิฬาร
+วี
+วีจิ
+วีชนี
+วีซ่า
+วีณา
+วี้ด
+วี่วัน
+วี่แวว
+วีสะ
+วุ้ง
+วุฐิ
+วุฒ
+วุฒิ
+วุด
+วุ่น
+วุ้น
+วุบ
+วุ้ย
+วุลแฟรม
+วู้
+วูดวาด
+วูบ
+วู่วาม
+เว้
+เวค
+เวคิน
+เวคี
+เวจ
+เวช
+เวชยันต์
+เวไชยยันต์ราชรถ
+เวฐน์
+เวณะ
+เวณิ
+เวณิก
+เวณุ
+เวตน์
+เวตร
+เวตาล
+เวท
+เวทนา
+เวทย์
+เวทางค์
+เวทางคศาสตร์
+เวทานต์
+เวทานตะ
+เวทิ
+เวที
+เวธะ
+เวธี
+เวน
+เว้น
+เวนไตย
+เวไนย
+เวมะ
+เวมัต
+เวมาติก
+เว้ย
+เวร
+เวรมณี
+เวรี
+เวโรจน์
+เวลา
+เวเลนซี
+เววัณ
+เววัณณิยะ
+เวศม์
+เวศย์
+เวศยา
+เวสน์
+เวสภู
+เวสม์
+เวสมะ
+เวสวัณ
+เวสสะ
+เวสสันดร
+เวสสุกรรม
+เวสสุวัณ
+เวสารัช
+เวสิ
+เวสิยา
+เวหน
+เวหะ
+เวหังค์
+เวหัปติ
+เวหา
+เวหายส
+เวฬุ
+เวฬุริย
+เว่อ
+เว้า
+เวิก
+เวิ้ง
+เวี่ย
+เวียง
+เวียน
+เวียร
+เวี่ยว
+แว้
+แวง
+แว้ง
+แวด
+แวตร
+แวน
+แว่น
+แวนดา
+แวบ
+แวม
+แวว
+แว่ว
+แวววิเชียร
+แวะ
+โว
+โว่
+โวการ
+โว่ง
+โวต
+โวทาน
+โวย
+โว้ย
+โวยวาย
+โว้เว้
+โวสาน
+โวหาร
+ไว
+ไว้
+ไวกูณฐ์
+ไวฑูรย์
+ไวทย์
+ไวพจน์
+ไวยากรณ์
+ไวยาวัจกร
+ไวยาวัจมัย
+ไวรัส
+ไววรรณ
+ไวษณพ
+ไวโอลิน
+ศ
+ศก
+ศกฏ
+ศกล
+ศกุน
+ศกุนิ
+ศกุนี
+ศงกา
+ศจิบดี
+ศจี
+ศฐ
+ศดก
+ศต
+ศตก
+ศนิ
+ศไนส์
+ศพ
+ศพล
+ศม
+ศมน
+ศมนี
+ศมนีย์
+ศมศาน
+ศย
+ศยนะ
+ศยนีย์
+ศยาม
+ศยามกัณฐ์
+ศยามล
+ศร
+ศรณิ
+ศรนารายณ์
+ศรภ
+ศรมณะ
+ศรรกร
+ศรรกรา
+ศรรพรี
+ศรวณะ
+ศรวณีย์
+ศรวิษฐา
+ศรัถ
+ศรัถนะ
+ศรัท
+ศรัทธา
+ศรันถ์
+ศรันย์
+ศรันยู
+ศรัย
+ศราทธ์
+ศรานต์
+ศราพ
+ศราพก
+ศรายะ
+ศราวก
+ศราวณะ
+ศราวรณ์
+ศราวุธ
+ศราสน์
+ศรี
+ศรีตรัง
+ศรีษะ
+ศรีสังคีต
+ศรุต
+ศรุติ
+ศฤกาล
+ศฤคาล
+ศฤงค์
+ศฤงคาร
+ศฤงคาริน
+ศฤงคารี
+ศลภ
+ศลัถ
+ศลิษฏ์
+ศลิษา
+ศว
+ศวศุร
+ศวัศน
+ศวัส
+ศวา
+ศวาน
+ศวาส
+ศวิต
+ศวิตร
+ศศะ
+ศศิ
+ศศิน
+ศศี
+ศสา
+ศอ
+ศอก
+ศักดา
+ศักดิ
+ศักดิ์
+ศักติ
+ศักย์
+ศักยะ
+ศักราช
+ศังกร
+ศังกา
+ศังกุ
+ศัตรุ
+ศัตรู
+ศัทธนะ
+ศันสนะ
+ศันสนีย์
+ศัพท์
+ศัมยุ
+ศัยยา
+ศัล
+ศัลก
+ศัลกี
+ศัสดร
+ศัสตรา
+ศัสตรี
+ศัสย
+ศาก
+ศากตะ
+ศากยะ
+ศากวร
+ศากางค์
+ศากินี
+ศาฎก
+ศาฐยะ
+ศาณ
+ศาต
+ศาน
+ศานต์
+ศานติ
+ศานิต
+ศาป
+ศาพท์
+ศาพร
+ศามะ
+ศามา
+ศามีล
+ศารท
+ศารทูล
+ศาริกา
+ศาล
+ศาลา
+ศาลิ
+ศาศวัต
+ศาสก
+ศาสดา
+ศาสตร์
+ศาสตรา
+ศาสน์
+ศาสนา
+ศาสนีย์
+ศาสโนวาท
+ศิกษก
+ศิการ
+ศิขร
+ศิขริน
+ศิขรี
+ศิขัณฑ์
+ศิขา
+ศิคาล
+ศิงขร
+ศิงขริน
+ศิต
+ศิถี
+ศิพิระ
+ศิระ
+ศิรา
+ศิรามพุช
+ศิโรราบ
+ศิลป์
+ศิลปะ
+ศิลา
+ศิวะ
+ศิวิกา
+ศิศีระ
+ศิศุ
+ศิษฎิ
+ศิษฏ์
+ศิษย์
+ศีกร
+ศีขร
+ศีตล
+ศีล
+ศึก
+ศึกษา
+ศุกร์
+ศุกลัม
+ศุกะ
+ศุจิ
+ศุณฑา
+ศุณฑี
+ศุทธ
+ศุทธิ
+ศุน
+ศุนัก
+ศุนิ
+ศุลี
+ศุษิร
+ศุษิล
+ศูกร
+ศูทร
+ศูนย์
+ศูล
+ศูลิน
+เศรณี
+เศรษฐ์
+เศรษฐี
+เศร้า
+เศลษ
+เศวดงค์
+เศวดีภ
+เศวต
+เศวตร
+เศวาล
+เศษ
+เศาไจย
+เศาร์
+เศารยะ
+เศิก
+เศียร
+โศก
+โศกา
+โศกี
+โศจนะ
+โศจนียะ
+โศจิ
+โศถะ
+โศธนะ
+โศผะ
+โศภ
+โศภน
+โศภา
+โศภิต
+โศภิน
+โศภิษฐ์
+โศภี
+โศรณิ
+โศรณี
+โศรดา
+โศรตร
+โศลก
+โศวภาพ
+ไศล
+ไศวะ
+ษ
+ษมา
+ษัฏ
+ษัฏกะ
+ษัฑ
+ษัณ
+ษัษ
+ษัษฏี
+ษัษฐ
+ษัษฐี
+ษารภาคอร
+โษฑศ
+โษฑศัน
+ส
+สก
+สกฏะ
+สกฐาน
+สกทาคามี
+สกนธ์
+สกปรก
+สกรณีย์
+สกรรจ์
+สกรรถ
+สกรรมกริยา
+สกรัม
+สกรู
+สกล
+สกัด
+สกัดแคร่
+สกา
+สกายแลบ
+สกาว
+สกิทาคามี
+สกี
+สกุณ
+สกุณา
+สกุณี
+สกุน
+สกุนต์
+สกุล
+สเกต
+สแกนเดียม
+สขะ
+สขา
+สขิ
+สง
+ส่ง
+สงกร
+สงกรานต์
+สงกา
+สงโกจ
+สงค์
+สงคร
+สงคราม
+สงเคราะห์
+สงฆ์
+สงบ
+สงวน
+สงเษป
+ส่งสการ
+สงสัย
+สงสาร
+สงัด
+สง่า
+สจ๊วด
+สฐ
+สณฑ์
+สด
+สดก
+สดน
+สดมภ์
+สดัน
+สดับ
+สดับปกรณ์
+สดำ
+สดี
+สดุดี
+สดูป
+สต
+สตก
+สตน
+สตรอนเชียม
+สตริกนิน
+สตรี
+สตัน
+สตันย์
+สตัพธ์
+สตัฟฟ์
+สตัมภ์
+สตางค์
+สตาฟฟ์
+สติ
+สติ๊ก
+สตี
+สตีม
+สตู
+สตูป
+สเต็ก
+สเตนเลส
+สเตย์
+สไตร๊ค์
+สถน
+สถบดี
+สถล
+สถวีระ
+สถาน
+สถานะ
+สถานี
+สถาบก
+สถาบัน
+สถาปนา
+สถาปนิก
+สถาปนียพยากรณ์
+สถาปนียวาที
+สถาปัตยกรรม
+สถาพร
+สถาล
+สถาวร
+สถิต
+สถิตนศาสตร์
+สถิติ
+สถุล
+สถูป
+สทาร
+สทึง
+สทุม
+สธน
+สธุสะ
+สน
+ส้น
+สนเดก
+สนทนา
+สนทรรศ
+สนทรรศน์
+สนทิศ
+สนเทศ
+สนเท่ห์
+สนธยา
+สนธิ
+สนธิอลงกต
+สนนราคา
+สนม
+สนวน
+สนสร้อย
+สนอง
+สนอบ
+สนอม
+สนะ
+สนัด
+สนั่น
+สนับ
+สนับสนุน
+สนาดก
+สนาน
+สนาบก
+สนาบัน
+สนาม
+สนายุ
+สนิก
+สนิท
+สนิธ
+สนิม
+สนิมสร้อย
+สนุก
+สนุกเกอร์
+สนุข
+สนุต
+สนุ่น
+สบ
+สบง
+สบจ
+สบถ
+สบเสีย
+สบัน
+สบาย
+สบู่
+สไบ
+สปริง
+สปาเกตตี
+สปาย
+สปิริต
+สเปกตรัม
+สเปกโทรสโคป
+สไปริลลัม
+สพั้น
+สพาบ
+สภังคมณฑล
+สภา
+สภาค
+สภาพ
+สภาวะ
+สม
+ส้ม
+สมการ
+สมจารี
+สมชีวิตา
+สมชีวิธรรม
+สมญา
+สมเญศ
+สมณะ
+สมดึงส์
+สมดุล
+สมเด็จ
+สมถะ
+สมนาคุณ
+สมบัติ
+สมบุกสมบัน
+สมบูรณ์
+สมบูรณาญาสิทธิราชย์
+สมประดี
+สมปฤดี
+สมปฤๅดี
+สมผุส
+สมพงศ์
+สมพล
+สมพักนักการ
+สมพัตสร
+สมพาส
+สมเพช
+สมโพธน์
+สมโพธิ
+สมภพ
+สมภาร
+สมโภค
+สมโภช
+สมมต
+สมมติ
+สมมาตร
+สมมุติ
+สมมูล
+สมโมท
+สมโยค
+สมร
+สมรด
+สมรรถ
+สมรส
+สมฤดี
+สมฤติ
+สมฤๅดี
+สมวัย
+สมวายะ
+สมเสร็จ
+สมอ
+สมอง
+สมอสำเภา
+สมัค
+สมัคร
+สมังคี
+สมัช
+สมัชชา
+สมัต
+สมัน
+สมันต์
+สมัย
+สมา
+สมาคม
+สมาจาร
+สมาชิก
+สมาทาน
+สมาธิ
+สมาน
+สมานัตตา
+สมาโนตม์
+สมาบัติ
+สมาพันธรัฐ
+สมาส
+สม่ำเสมอ
+สมิง
+สมิงทอง
+สมิต
+สมิติ
+สมิทธ์
+สมิทธิ
+สมี
+สมีป
+สมีร
+สมุก
+สมุจจัย
+สมุจเฉท
+สมุฏฐาน
+สมุด
+สมุตถาน
+สมุทร
+สมุทรก
+สมุทัย
+สมุทิต
+สมุน
+สมุนไพร
+สมุลแว้ง
+สมุห์
+สโมธาน
+สโมสร
+สยด
+สยนะ
+สยบ
+สยมพร
+สยมภู
+สยอง
+สยอน
+สยัมพร
+สยัมวรา
+สยาม
+สยาย
+สยิว
+สยิ้ว
+สยุ่น
+สยุมพร
+สยุมภู
+สร
+สรก
+สรง
+สร่ง
+สรฏะ
+สรณะ
+สรดัก
+สรดึ่น
+สรดื่น
+สรตะ
+สรตัก
+สรทะ
+สรทึง
+สรแทบ
+สรนุก
+สรเนาะ
+สรไน
+สรบ
+สรบบ
+สรบับ
+สรพ
+สรเพชญ
+สรภะ
+สรภัญญะ
+สรภู
+สรม
+สรร
+สรรค์
+สรรพ
+สรรพัชญ
+สรรเพชญ
+สรรเพชุดา
+สรรวง
+สรรเสริญ
+สรลน
+สรลม
+สรลมสลวน
+สรลอด
+สรลอน
+สรละ
+สรล้าย
+สรลิด
+สรเลข
+สรวง
+สรวป
+สรวม
+สรวล
+สรวลเส
+สรวลเสเฮฮา
+สรเสริญ
+สร้อย
+สร้อยทะแย
+สระ
+สระกอ
+สระคราญ
+สระดะ
+สระท้อน
+สระพรั่ง
+สระอาด
+สระอื้น
+สรั่ง
+สรัสวดี
+สร่าง
+สร้าง
+สราญ
+สร้าวเสียว
+สริต
+สรี้
+สรีระ
+สรีสฤบ
+สรุก
+สรุง
+สรุโนก
+สรุป
+สรุสระ
+สรูป
+สโรช
+สฤก
+สฤคาล
+สฤต
+สฤษฎ์
+สฤษฎี
+สล
+สลด
+สลบ
+สลวน
+สลวย
+สลอด
+สลอน
+สลอย
+สละ
+สละสลวย
+สลัก
+สลักเต้
+สลักสำคัญ
+สลัด
+สลัดได
+สลับ
+สลัม
+สลัว
+สลา
+สลาก
+สลากา
+สลาง
+สล้าง
+สลาด
+สลาตัน
+สลาบ
+สลาม
+สลาย
+สลิด
+สลิล
+สลึก
+สลึง
+สลุต
+สลุบ
+สลุมพร
+สแลง
+สโลด
+สไลด์
+สวก
+ส้วง
+สวด
+สวน
+ส่วน
+สวนะ
+สวนิต
+สวบ
+สวม
+ส้วม
+สวย
+ส่วย
+ส้วย
+สวยม
+สวร
+สวรรค์
+สวรรยา
+สวะ
+สวัสดิ์
+สวัสดี
+สวัสติกะ
+สวา
+สวาคต
+สวาง
+สว่าง
+สวาด
+สวาดิ
+สวาท
+สวาน
+สว่าน
+สว้าน
+สวาบ
+สวามิ
+สวามี
+สวาย
+สวาสดิ์
+สวาหะ
+สวิง
+สวิงสวาย
+สวิญญาณกทรัพย์
+สวิตซ์
+สสาร
+สสุระ
+สสุรี
+สหัมบดี
+สหัสรังสี
+สหัสสะ
+สหัสา
+สอ
+ส่อ
+สอง
+ส่อง
+ส้อง
+สอด
+สอน
+ส่อน
+สอบ
+สอพลอ
+ส้อม
+สอย
+ส่อเสียด
+สะ
+สะกด
+สะกอ
+สะกาง
+สะการะ
+สะการะตาหรา
+สะกิด
+สะเก็ด
+สะแก
+สะคร้อ
+สะคราญ
+สะค้าน
+สะเงาะสะแงะ
+สะใจ
+สะดม
+สะดวก
+สะดัก
+สะดิ้ง
+สะดึง
+สะดือ
+สะดุ้ง
+สะดุด
+สะเด็ด
+สะเดา
+สะเดาะ
+สะตอ
+สะตาหมัน
+สะตึ
+สะตือ
+สะตุ
+สะเต๊ะ
+สะโตก
+สะทก
+สะทน
+สะท้อน
+สะท้าน
+สะทึก
+สะทึน
+สะทึ่น
+สะเทิน
+สะเทิ้น
+สะเทือน
+สะเทื้อน
+สะบะ
+สะบัก
+สะบัด
+สะบั้น
+สะบันงา
+สะบันงาต้น
+สะบ้า
+สะบู
+สะแบง
+สะเปะสะปะ
+สะพรัก
+สะพรั่ง
+สะพรึงกลัว
+สะพรึบ
+สะพัก
+สะพัง
+สะพัด
+สะพั้น
+สะพาน
+สะพาย
+สะเพร่า
+สะโพก
+สะเภา
+สะใภ้
+สะโมง
+สะระตะ
+สะระแหน่
+สะรีตพงศ์
+สะละปะตุ่น
+สะลาง
+สะลึมสะลือ
+สะวี้ดสะว้าด
+สะสม
+สะสาง
+สะอาง
+สะอาด
+สะอ้าน
+สะอิ้ง
+สะอิดสะเอียน
+สะอึก
+สะอื้น
+สะเอว
+สะเออะ
+สะโอดสะอง
+สะไอ
+สัก
+สักกะ
+สักกัจจะ
+สักการะ
+สักขรา
+สักขี
+สักฏะ
+สักตะ
+สักยะ
+สักวา
+สักหลาด
+สัขยะ
+สัค
+สัคคะ
+สั่ง
+สังกมทรัพย์
+สังกร
+สังกะตัง
+สังกะวัง
+สังกะวาด
+สังกะสี
+สังกัด
+สังกัปปะ
+สังกา
+สังการ
+สังกาศ
+สังกิเลส
+สังเกต
+สังข์
+สังขตะ
+สังขยา
+สังขลิก
+สังขลิกา
+สังขวานร
+สังขาร
+สังขารทุกข์
+สังขารธรรม
+สังขารโลก
+สังขารอุเบกขา
+สังเขป
+สังโขภ
+สังค์
+สังคม
+สังคมนิยม
+สังคมวิทยา
+สังคมศาสตร์
+สังคมศึกษา
+สังคมสงเคราะห์
+สังคหะ
+สังคัง
+สังคาตา
+สังคายนา
+สังคายนาย
+สังคีต
+สังคีติ
+สังเค็ด
+สังเคราะห์
+สังฆาฏิ
+สังดัก
+สังปะติเหงะ
+สังปะลิเหงะ
+สังโยค
+สังโยชน์
+สังวร
+สังวัจฉระ
+สังวัธยาย
+สังวาล
+สังวาส
+สังเวช
+สังเวย
+สังเวียน
+สังสกฤต
+สังสการ
+สังสดมภ์
+สังสนทนา
+สั่งสนทนา
+สังสรรค์
+สังสารวัฏ
+สังสิทธิ
+สังสุทธ์
+สังสุทธิ
+สังหร
+สังหรณ์
+สังหรรษ
+สังหาร
+สังหาริมทรัพย์
+สังหาริมะ
+สังหิต
+สัจ
+สัจจะ
+สัจจา
+สัชฌะ
+สัชฌายะ
+สัชฌุ
+สัญจร
+สัญจาร
+สัญเจตนา
+สัญชาตญาณ
+สัญชาตสระ
+สัญชาติ
+สัญชีพนรก
+สัญฌา
+สัญญา
+สัญญาณ
+สัญญี
+สัญโญชน์
+สัญโยค
+สัญลักษณ์
+สัฐิ
+สัณฐาน
+สัณฐิติ
+สัณฑ์
+สัณห์
+สัด
+สัดจอง
+สัต
+สัตตบงกช
+สัตตบรรณ
+สัตตบุษย์
+สัตตวณิชชา
+สัตตะ
+สัตตู
+สัตถ
+สัตถันดร
+สัตถา
+สัตถิ
+สัตถุ
+สัตบรรณ
+สัตบริภัณฑ์
+สัตย์
+สัตว์
+สัตวา
+สัทธรรม
+สัทธา
+สัทธิงวิหาริก
+สัทธิวิหาริก
+สัทศาสตร์
+สัน
+สั่น
+สั้น
+สันดาน
+สันดาป
+สันดุษฎี
+สันเดก
+สันโดษ
+สันต์
+สันตติ
+สันตะปาปา
+สันตะโร
+สันตะวา
+สันติ
+สันติกะ
+สันติเกนิทาน
+สันตุฏฐี
+สันถระ
+สันถวะ
+สันถัต
+สันถาร
+สันทนะ
+สันทนาการ
+สันทะ
+สันทัด
+สันทัสนะ
+สันทาน
+สันทิฐิ
+สันทิส
+สันเทส
+สันเทห
+สันเท่ห์
+สันธาน
+สันนิธิ
+สันนิบาต
+สันนิวาส
+สันนิเวส
+สันนิษฐาน
+สันพร้านางแอ
+สันพร้ามอญ
+สันพร้าหอม
+สันรวง
+สันลึก
+สันสกฤต
+สับ
+สับปลับ
+สับปลี้
+สับปะรังเค
+สับปาก
+สัปคับ
+สัปดน
+สัปโดก
+สัปโดกสัปดน
+สัปทน
+สัปปะ
+สัปปายการี
+สัปปิ
+สัปปุรุษ
+สัประยุทธ์
+สัปหงก
+สัปเหร่อ
+สัพ
+สัพพะ
+สัพพัญญู
+สัพเพสัตตา
+สัพเพเหระ
+สัพยอก
+สัฟันคนทา
+สัมญญา
+สัมบูรณ์
+สัมปชัญญะ
+สัมปทา
+สัมปทาน
+สัมปยุต
+สัมปโยค
+สัมประสิทธิ์
+สัมประหาร
+สัมปรายภพ
+สัมปรายิกภพ
+สัมปัตติ
+สัมผัปลาป
+สัมผัส
+สัมพล
+สัมพหุลา
+สัมพัตสร
+สัมพัทธ์
+สัมพันธ์
+สัมพันธน์
+สัมพาธะ
+สัมพาระ
+สัมพาหน์
+สัมพาหะ
+สัมพุทธะ
+สัมโพธิ
+สัมภวะ
+สัมภเวสี
+สัมภัต
+สัมภัตตะ
+สัมภาษณ์
+สัมเภทะ
+สัมโภคกาย
+สัมมนา
+สัมมัปธาน
+สัมมา
+สัมโมทนียกถา
+สัมฤทธิ
+สัมฤทธิ์
+สัยน์
+สัลละ
+สัลลาป
+สัสดี
+สัสสะ
+สัสสุ
+สัสสู
+สัสุรี
+สา
+ส่า
+สาก
+สากรรจ์
+สากล
+สากษิน
+สากษี
+สากัจฉา
+สากัลย์
+สากิยะ
+สาเก
+สาขา
+สาคร
+สาคเรศ
+สาคู
+สาง
+สางห่า
+สาฎก
+สาณี
+สาด
+สาต
+สาตรา
+สาไถย
+สาทร
+สาทิส
+สาทุ
+สาโท
+สาธก
+สาธน
+สาธยะ
+สาธยาย
+สาธารณ์
+สาธารณะ
+สาธิต
+สาธุ
+สาธุสะ
+สาน
+สานตวะ
+สานุ
+สานุศิษย์
+สานู
+สาบ
+สาบสูญ
+สาบาน
+สาป
+สาปไตย
+สาปสรร
+สาม
+สามชุก
+สามเณร
+สามเณรี
+สามนต์
+สามยทรัพย์
+สามรส
+สามล
+สามสิบ
+สามัคคี
+สามัญ
+สามัตถิยะ
+สามานย์
+สามารถ
+สามิก
+สามิต
+สามินี
+สามิภักดิ์
+สามิส
+สามี
+สามีจิกรรม
+สาย
+ส่าย
+ส้าย
+สายชู
+สายตา
+สายเวทย์
+สายัณห์
+สายาห์
+สาร
+สารกรมธรรม์
+สารคดี
+สารเคมี
+สารณียธรรม
+สารตรา
+สารถี
+สารท
+สารทา
+สารทิศ
+สารทุกข์
+สารธรรม
+สารนิเทศ
+สารบบ
+สารบรรณ
+สารบริสุทธิ์
+สารบัญ
+สารบับ
+ส้ารบับ
+สารบาญ
+สารประกอบ
+สารประโยชน์
+สารพัด
+สารพัน
+สารพางค์
+สารภาพ
+สารภี
+สารไมย
+สารรัก
+สารละลาย
+สารเลว
+สารวัด
+สารวัตร
+สารส้ม
+สารหนู
+สาระ
+สาระโกก
+สาระเน
+สาระพา
+สาระพาเฮโล
+สาระวอน
+สาระวารี
+สาระสะมา
+สาระสำคัญ
+สารัตถะ
+สารัทธ์
+สารัมภ์
+สาราณียกร
+สาราณียะ
+สารานุกรม
+สารีริกธาตุ
+สารูป
+สาโรช
+สาละ
+สาละวน
+สาลิ
+สาลิกา
+สาลินี
+สาลี
+สาลี่
+สาลู
+สาโลหิต
+สาว
+สาวก
+สาวกระทืบหอ
+สาวน้อยเล่นน้ำ
+สาวนะ
+สาวิกา
+สาวิตร
+สาวิตรี
+สาสน์
+สาสนา
+สาหร่าย
+สาหรี
+ส่าหรี
+สาหัส
+สาเหตุ
+สาแหรก
+สาฬุระ
+สำ
+ส่ำ
+สำคัญ
+สำซ่าง
+สำแดง
+สำทับ
+สำนวด
+สำนวน
+สำนอง
+สำนัก
+สำนาน
+สำนึง
+สำเนา
+สำเนียง
+สำเนียน
+สำบอก
+สำบัดสำนวน
+สำปะลอ
+สำปะหลัง
+สำปั้น
+สำปันนี
+สำเภา
+สำเภาทอง
+สำมะงา
+สำมะโนครัว
+สำมะโนปะชากร
+สำมะลอ
+สำมะเลเทเมา
+สำมะหา
+สำรด
+สำรวจ
+สำรวม
+สำรวย
+สำรวล
+สำรอก
+สำรอง
+สำรับ
+สำราก
+สำราญ
+สำริด
+สำเร็จ
+สำเรา
+สำเริง
+สำโรง
+สำลัก
+สำลาน
+สำลี
+สำแลง
+สำสร้าง
+สำสา
+สำเส็ด
+ส่ำเสีย
+สำหรวด
+สำหรับ
+สำหา
+สำเหนียก
+สำเหร่
+สำออย
+สำอาง
+สิ
+สิกข์
+สิกขมานา
+สิกขา
+สิขร
+สิขรี
+สิขเรศ
+สิขา
+สิขี
+สิคาล
+สิง
+สิ่ง
+สิงขร
+สิงค์
+สิงคลิ้ง
+สิงคลี
+สิงคาร
+สิงคาล
+สิงคี
+สิงโต
+สิงโตทะเล
+สิงสาราสัตว์
+สิงห์
+สิงหล
+สิญจน์
+สิต
+สิโตทกวารี
+สิถิล
+สิทธ์
+สิทธิ
+สิทธิ์
+สิธยะ
+สิน
+สิ้น
+สินทูระ
+สินธพ
+สินธุ
+สินธุระ
+สินเธาว์
+สินะ
+สินาด
+สินิทธ์
+สินี
+สิเนรุ
+สิเนหก
+สิเนหนียะ
+สิเนหะ
+สิเนหา
+สิเน่หา
+สิบ
+สิปปะ
+สิพนะ
+สิมพลี
+สิระ
+สิริ
+สิรี
+สิลา
+สิโลก
+สิว
+สิ่ว
+สิวะ
+สิวิกา
+สิหนา
+สี
+สี่
+สี้
+สีกรุด
+สีกา
+สีกุน
+สีข้าง
+สีจัก
+สีชมพูดง
+สีชมพูสวน
+สีด
+สีดอ
+สีต้น
+สีทันดร
+สี่บท
+สีฟันนางแอ
+สีมันต์
+สีมา
+สีละมัน
+สีลัพพตปรามาส
+สีวิกา
+สีวิภา
+สีสอ
+สีสะ
+สีสา
+สีสุก
+สีเสียด
+สีเสื้อน้อย
+สีห์
+สีหะ
+สึก
+สึง
+สืบ
+สื่อ
+สุ
+สุก
+สุกข์
+สุกร
+สุกรม
+สุกำ
+สุกี้ยากี้
+สุข
+สุขิน
+สุขี
+สุขุม
+สุขุมาล
+สุคต
+สุคติ
+สุคนธ์
+สุคันธ์
+สุงกะ
+สุงสิง
+สุงสุมาร
+สุงสุมารี
+สุจริต
+สุจหนี่
+สุจะ
+สุจิ
+สุจิต
+สุจิตร
+สุชน
+สุชัมบดี
+สุชา
+สุชาดา
+สุญ
+สุณ
+สุณหา
+สุณิสา
+สุด
+สุดสงวน
+สุดา
+สุต
+สุตตะ
+สุตตันตะ
+สุตตันตะปิฎก
+สุติ
+สุทธ์
+สุทธิ
+สุทรรศน์
+สุทัศน์
+สุธรรมเทวสภา
+สุธา
+สุธี
+สุนทร
+สุนทรี
+สุนทรียะ
+สุนัข
+สุนันท์
+สุโนก
+สุบดี
+สุบรรณ
+สุบิน
+สุปรีดิ์
+สุปรีย์
+สุปาณี
+สุพพัต
+สุพรรณ
+สุพรรณถัน
+สุพรรณิการ์
+สุภร
+สุภัค
+สุภา
+สุภาพ
+สุภาษิต
+สุม
+สุ่ม
+สุมทุม
+สุมน
+สุมนะ
+สุมนัส
+สุมนา
+สุ้มเสียง
+สุมะ
+สุมาลี
+สุเมธ
+สุเมรุ
+สุ้ย
+สุรงค์
+สุรภี
+สุรังค์
+สุรัติ
+สุรัสวดี
+สุรา
+สุรางค์จำเรียง
+สุราธิปไตย
+สุรินทราหู
+สุริยง
+สุริยน
+สุริยะ
+สุริยัน
+สุริยา
+สุริยุปราคา
+สุริเยนทร์
+สุริเยศ
+สุริโย
+สุรุ่ยสุร่าย
+สุลต่าน
+สุว
+สุวภาพ
+สุวรรณ
+สุวาน
+สุวินัย
+สุวิมล
+สุษิร
+สุสาน
+สุหนัต
+สุหร่ง
+สุหร่าย
+สุหฤท
+สุหัท
+สุเหร่า
+สู
+สู้
+สูกษม
+สูง
+สูจกะ
+สูจนะ
+สูจิ
+สูญ
+สูด
+สูต
+สูตร
+สูติ
+สูท
+สูนุ
+สูบ
+สูปะ
+สูร
+สูรย์
+สูริ
+สูสี
+เส
+เสก
+เสกขะ
+เสขะ
+เส็ง
+เส้ง
+เสงี่ยม
+เสฉวน
+เสฏฐี
+เสณี
+เสด
+เสด็จ
+เสตุ
+เสถียร
+เสโท
+เสน
+เส้น
+เสนง
+เสน่ง
+เสน่ห์
+เสน่ห์จันทร์ขาว
+เสน่ห์จันทร์แดง
+เสนหา
+เสน่หา
+เสนอ
+เสนะ
+เสนา
+เสน่า
+เสนากุฎ
+เสนางค์
+เสนางคนิกร
+เสนานี
+เสนาสนะ
+เสนาะ
+เสนี
+เสนีย์
+เสนียด
+เสนียะ
+เสบย
+เสบียง
+เสพ
+เสพย์
+เสเพล
+เสภา
+เสม็ด
+เสมอ
+เสมา
+เสมียน
+เสมือน
+เสย
+เสร็จ
+เสริด
+เสริม
+เสรี
+เสลด
+เสลดพังพอน
+เสลา
+เสลี่ยง
+เสลือกสลน
+เสโล
+เสวก
+เสวกามาตย์
+เสวนะ
+เสวนา
+เสวย
+เสวยพระชาติ
+เสวียน
+เสสรวง
+เสสรวล
+เสา
+เส้า
+เสาร์
+เสารภย์
+เสารี
+เสาวณิต
+เสาวนะ
+เสาวนา
+เสาวนาการ
+เสาวนีย์
+เสาหฤท
+เสาะ
+เสาะแสะ
+เสิร์จ
+เสิร์ฟ
+เสีย
+เสี่ย
+เสียง
+เสี่ยง
+เสียด
+เสี้ยน
+เสียบ
+เสียม
+เสี่ยม
+เสี้ยม
+เสียว
+เสี่ยว
+เสี้ยว
+เสือ
+เสื่อ
+เสื้อ
+เสือก
+เสื่อม
+แส
+แส่
+แส้
+แสก
+แสง
+แสด
+แสดง
+แสตมป์
+แสน
+แสนง
+แสนย์
+แสนเสนาะ
+แสบ
+แสบก
+แสม
+แสยก
+แสยง
+แสยะ
+แสรก
+แสร้ง
+แสลง
+แสลงใจ
+แสลงเบื่อ
+แสวง
+แสอก
+แสะ
+โสก
+โสกโดก
+โสกันต์
+โสกาดานา
+โสโครก
+โสณ
+โสณฑ์
+โสณิ
+โสณี
+โสด
+โสดก
+โสดม
+โสดา
+โสต
+โสตถิ
+โสทก
+โสทร
+โสธก
+โสธนะ
+โสน
+โสปาน
+โสภณ
+โสภา
+โสภิณี
+โสภี
+โสเภณี
+โสม
+โสมนัส
+โสมม
+โสมย์
+โสมส่องแสง
+โสร่ง
+โสรจ
+โสรัจจะ
+โสวรรณ
+โสหุ้ย
+โสฬส
+ใส
+ใส่
+ไส
+ไส้
+ไสย
+ไสยา
+ไสร้
+ไสว
+ไส้หู้
+ห
+หก
+หกบท
+หกโล่
+หง
+หงก
+หงส์
+หงส์ทอง
+หงส์หยก
+หงอ
+หงอก
+หง่อง
+หงองแหงง
+หงอด
+หงอดๆ
+หงอน
+หง่อม
+หงอย
+หง่อย
+หงัก
+หงับ
+หง่าง
+หงาย
+หง่าว
+หงำ
+หงิก
+หงิง
+หงิม
+หงึก
+หงุงหงิง
+หงุดหงิด
+หงุบ
+หงุบหงับ
+หงุ่ย
+หญ้า
+หญ้าปากคอก
+หญ้าฝรั่น
+หญ้ายองไฟ
+หญ้าหนวดแมว
+หญิง
+หญิบ
+หด
+หตะ
+หทัย
+หน
+หนวก
+หน่วง
+หนวด
+หนวดนาคราช
+หนวดพราหมณ์
+หนวดแมว
+หน่วย
+หน่วยกิต
+หนอ
+หน่อ
+หนอก
+หนอกช้าง
+หนอง
+หนองแซง
+หนอน
+หนอนตานหยาก
+หน่อย
+หน็อยแน่
+หนะ
+หนัก
+หนัง
+หนังกลางวัน
+หนังสือ
+หนั่น
+หนับ
+หนา
+หน้า
+หนากาสรี
+หน่าง
+หนาด
+หนาน
+หนาม
+หน่าย
+หนาว
+หนำ
+หนำเลี้ยบ
+หนี
+หนี้
+หนีบ
+หนีเสือ
+หนึก
+หนึ่ง
+หนึบ
+หนืด
+หนุ
+หนุงหนิง
+หนุน
+หนุบ
+หนุ่ม
+หนุ่ย
+หนู
+ห่ม
+หมก
+หมด
+หม่น
+หมวก
+หมวด
+หมอ
+หม่อ
+หม้อ
+หมอก
+หมอง
+หม่อง
+หมอน
+หม่อน
+หมอบ
+หม่อม
+หมอย
+หมัก
+หมัด
+หมัน
+หมั่น
+หมั้น
+หมั่นไส้
+หมับ
+หมา
+หม่า
+หม้า
+หมาก
+หมาง
+หมาจ่อ
+หมาด
+หมาต๋า
+หมามุ่ย
+หมามุ้ย
+หมาไม้
+หมาย
+หม้าย
+หมาร่า
+หม่ำ
+หมิ่น
+หมี
+หมี่
+หมีเหม็น
+หมึก
+หมืน
+หมื่น
+หมุด
+หมุน
+หมุบ
+หมุ่ย
+หมุยขาว
+หมู
+หมู่
+หมูสัง
+หมูสี
+หยก
+หย่ง
+หยด
+หยวก
+หยวน
+หยวนโล้
+หยวบ
+หยอก
+หย็อกหย็อย
+หยอง
+หย่อง
+หย็องแหย็ง
+หยอด
+หยอน
+หย่อน
+หย่อม
+หยอมแหยม
+หยอย
+หย่อย
+หยัก
+หยักเหยา
+หยัง
+หยั่ง
+หยังหยัง
+หยัด
+หยัน
+หยับ
+หยั่วเมือง
+หย่า
+หยากเยื่อ
+หยากไย่
+หย่างค้ำ
+หยาด
+หยาบ
+หยาม
+หยาว
+หย้าว
+หยำฉ่า
+หยำเป
+หยำแหยอะ
+หยำแหยะ
+หยิก
+หยิ่ง
+หยิบ
+หยิม
+หยี
+หยี่
+หยุ
+หยุกหยิก
+หยุด
+หยุ่น
+หยุบๆ
+หยุมหยิม
+หยูกยา
+หร
+หรคุณ
+หรดาล
+หรดี
+หรบ
+หรรษ
+หรรษา
+หรอ
+หรอก
+หร็อมแหร็ม
+หรอยๆ
+หระ
+หรับๆ
+หรา
+หริ
+หริ่ง
+หริณะ
+หริณังค์
+หริต
+หริตกี
+หรี่
+หรีด
+หรีตกี
+หรือ
+หรุ่น
+หรุบๆ
+หรุบรู่
+หรุบหรู่
+หรุ่ม
+หรู
+หรูหรา
+หฤทย
+หฤทย์
+หฤทัย
+หฤษฎ์
+หฤษฎี
+หฤหรรษ์
+หฤโหด
+หล
+หลง
+หลด
+หลน
+หล่น
+หลบ
+หล่ม
+หลวง
+หลวม
+หลอ
+หล่อ
+หลอก
+หลอด
+หลอน
+หล็อน
+หล่อน
+หล็อนๆ
+หลอม
+หละ
+หละหลวม
+หลัก
+หลัง
+หลั่ง
+หลัดๆ
+หลั่น
+หลับ
+หลัว
+หลา
+หล้า
+หลาก
+หลาท
+หลาทวด
+หลาน
+หลาบ
+หลาม
+หลาย
+หลาว
+หลาหล
+หลิก
+หลิ่ง
+หลิท
+หลิน
+หลิม
+หลิว
+หลิ่ว
+หลี
+หลีก
+หลีโก
+หลีบ
+หลีฮื้อ
+หลืบ
+หลุกหลิก
+หลุด
+หลุนๆ
+หลุบ
+หลุม
+หลุมพอ
+หลุมพี
+หลู่
+หวง
+ห่วง
+ห้วง
+หวด
+หวน
+ห้วน
+หวนคำนึง
+หวย
+ห่วย
+ห้วย
+หวอ
+หวอด
+หว็อยๆ
+หวะ
+หวัง
+หวัด
+หวั่น
+หวันยิหวา
+หวัว
+หวัวร่อ
+หวัวเราะ
+หวา
+หว่า
+หว้า
+หวาก
+หว่าง
+หวาด
+หวาน
+หว่าน
+หวาม
+หวาย
+หวำ
+หวิด
+หวิว
+หวี
+หวี่
+หวีด
+หวือ
+หวุดหวิด
+หวุม
+หวูด
+หอ
+ห่อ
+ห้อ
+หอก
+หอง
+ห้อง
+หอน
+ห่อน
+หอบ
+หอม
+ห้อม
+หอม0�
+เหมันต์
+เหมา
+เหมายัน
+เหมาะ
+เหมียว
+เหมี่ยว
+เหมือง
+เหมือด
+เหมือดคน
+เหมือดโลด
+เหมือน
+เหมื่อย
+เหมื่อยๆ
+เหย
+เหยง
+เหย่อย
+เหยา
+เหย่า
+เหย้า
+เหย่าๆ
+เหยาะ
+เหยาะๆ
+เหยาะย่าง
+เหยาะแหยะ
+เหยิง
+เหยิบๆ
+เหยียด
+เหยียบ
+เหยี่ยว
+เหยื่อ
+เหยือก
+เหรัญญิก
+เหรา
+เหราะๆ
+เหรียญ
+เหล่
+เหล็ก
+เหลน
+เหลว
+เหลอ
+เหลา
+เหล่า
+เหล้า
+เหลาชะโอน
+เหลาหลก
+เหลาเหย่
+เหลาะแหละ
+เหลิง
+เหลิงเจิ้ง
+เหลียน
+เหลี่ยม
+เหลียว
+เหลือ
+เหลือก
+เหลือง
+เหลือบ
+เหลือม
+เหลื่อม
+เหว
+เหว่
+เหวง
+เหวย
+เหวอะ
+เหวอะหวะ
+เหวี่ยง
+เห่อ
+เหอะ
+เหะ
+เหะหะ
+เหา
+เห่า
+เหาะ
+เหิน
+เหิม
+เหี้ย
+เหียง
+เหียน
+เหี้ยน
+เหี้ยม
+เหี่ยว
+เหื่อ
+เหือด
+แห
+แห่
+แห้
+แหก
+แหง
+แหง่
+แห่ง
+แห้ง
+แหง็ก
+แหงแก๋
+แหง่ง
+แหงน
+แหน
+แห้น
+แหนง
+แหนบ
+แหนม
+แหบ
+แหม
+แหม่
+แหม่ม
+แหมะ
+แหย
+แหย่
+แหยง
+แหย่ง
+แหยม
+แหยะ
+แหยะๆ
+แหล
+แหล่
+แหลก
+แหล่ง
+แหลน
+แหลม
+แหละ
+แหว
+แห้ว
+แหวก
+แหว่ง
+แหวด
+แหวน
+แหวะ
+แหะ
+แหะๆ
+โห่
+โหก
+โหง
+โหด
+โหน
+โหนก
+โหน่ง
+โหม
+โหม่
+โหมกรรม
+โหมกูณฑ์
+โหม่ง
+โหมด
+โหย
+โหยกเหยก
+โหยง
+โหย่ง
+โหร
+โหรง
+โหรงเหรง
+โหรดาจารย์
+โหระพา
+โหล
+โหล่
+โหลงโจ้ง
+โหว
+โหว่
+โหว้
+โหวกเหวก
+โหวง
+โหวด
+โหวต
+ให้
+ใหญ่
+ใหม่
+ไห
+ไห่
+ไห้
+ไหน
+ไหม
+ไหม้
+ไหรณ
+ไหล
+ไหล่
+ไหว
+ไหว้
+ไหวๆ
+ไหหลำ
+อ
+อก
+อกตัญญุตา
+อกตัญญู
+อกนิษฐ์
+อกรณีย์
+อกรรมกริยา
+อกัปปิยะ
+อกาลจีวร
+อกาลิโก
+อกิริยทิฐิ
+อกุศล
+อคติ
+อคเนสัน
+อคาธ
+อฆ
+อง
+องก์
+องค์
+องคมนตรี
+องคมรรษ
+องคุล
+องคุลี
+องศ์
+องศา
+องอาจ
+องุ่น
+อจร
+อจลา
+อจิตติ
+อจินตา
+อจินไตย
+อจิระ
+อเจลก
+อเจละ
+อช
+อชิน
+อชินี
+อชิร
+อชีววิทย
+อฏวี
+อณิ
+อณุ
+อณู
+อโณทัย
+อด
+อดิ
+อดิถี
+อดิเทพ
+อดิเรก
+อดิศร
+อดิศวร
+อดิศัย
+อดีต
+อดุล
+อดุลย์
+อติ
+อติชาต
+อติตัณหา
+อติถิพลี
+อติเทพ
+อติราช
+อติเรก
+อติสาร
+อติามนะ
+อตีตังสญาณ
+อถรรพเวท
+อทิติ
+อทินนาทาน
+อทินนาทายี
+อธรรม
+อธิ
+อธิกรณ์
+อธิการ
+อธิคม
+อธิจิต
+อธิฏฐาน
+อธิบดี
+อธิบาย
+อธิป
+อธิมาตร
+อธิมุตติ
+อธิโมกข์
+อธิราช
+อธิวาส
+อธิวาสนะ
+อธิศีล
+อธิษฐาน
+อธึก
+อ้น
+อนงค์
+อนงคณะ
+อนธิวร
+อนนต์
+อนภิรติ
+อนยะ
+อนรรฆ
+อนรรถ
+อนริยปริเยสนา
+อนล
+อนวัช
+อ้นอ้อ
+อนัญ
+อนัตตลักษณะ
+อนัตตา
+อนันต์
+อนัม
+อนาคต
+อนาคามี
+อนาคาริก
+อนาคาริยเพศ
+อนาจาร
+อนาถ
+อนาถา
+อนาทร
+อนาธิปไตย
+อนามัย
+อนารยะ
+อนาลัย
+อนาวรณญาณ
+อนำ
+อนิจ
+อนิจจัง
+อนิจจา
+อนิฏฐารมณ์
+อนิยต
+อนิยม
+อนิล
+อนิวรรต
+อนิวรรตน์
+อนิษฏ์
+อนีกะ
+อนีจ
+อนึก
+อนึ่ง
+อนุ
+อนุกร
+อนุกรม
+อนุกรรมการ
+อนุกระเบียด
+อนุกาชาด
+อนุการ
+อนุกูล
+อนุคามิก
+อนุคามี
+อนุเคราะห์
+อนุจร
+อนุช
+อนุชา
+อนุชาต
+อนุชิต
+อนุญาต
+อนุญาโตตุลาการ
+อนุเถระ
+อนุทิน
+อนุบท
+อนุบาล
+อนุบุพ
+อนุปริญญา
+อนุปสัมบัน
+อนุปัสนา
+อนุพงศ์
+อนุพนธ์
+อนุพันธ์
+อนุโพธ
+อนุภรรยา
+อนุภาค
+อนุภาษ
+อนุมัติ
+อนุมาตรา
+อนุมาน
+อนุมูล
+อนุโมทนา
+อนุโยค
+อนุรักษ์
+อนุราช
+อนุราธา
+อนุรูป
+อนุโลม
+อนุวงศ์
+อนุวัต
+อนุวาต
+อนุศาสก
+อนุศาสน์
+อนุศาสนาจารย์
+อนุศิษฏ์
+อนุสติ
+อนุสนธิ
+อนุสภากาชาด
+อนุสร
+อนุสรณ์
+อนุสัญญา
+อนุสัย
+อนุสาวรีย์
+อนุสาสนี
+อเนก
+อเนกคุณ
+อเนกวิธ
+อเนจอนาถ
+อเนญชาภิสังขาร
+อเนสนา
+อโนชา
+อโนดาต
+อบ
+อบเชย
+อบาย
+อป
+อปการ
+อปทาน
+อปเทศ
+อปภาคย์
+อปมงคล
+อปมาน
+อปยศ
+อปรกติ
+อประมาณ
+อประมาท
+อประไมย
+อปรัณ
+อปรา
+อปราชัย
+อปราชิต
+อปราธ
+อปราปรเจตนา
+อปราปรเวทนียกรรม
+อปริมาณ
+อปริหาริยธรรม
+อปลักษณ์
+อปโลกน์
+อปวาท
+อปหาร
+อปัณณกปฏิปทา
+อปัทรพ
+อปาจายนะ
+อปาจี
+อปาจีน
+อปุญญาภิสังขาร
+อเปหิ
+อพจน์
+อพพะ
+อพยพ
+อพยาบาทวิตก
+อพล
+อพลา
+อพาร์ตเมนต์
+อภว
+อภัพ
+อภัย
+อภิ
+อภิคม
+อภิฆาต
+อภิจฉา
+อภิจฌา
+อภิชน
+อภิชัย
+อภิชาต
+อภิชิต
+อภิญญา
+อภิญญาณ
+อภิฐาน
+อภิธรรม
+อภิธาน
+อภิไธย
+อภินันท์
+อภินัย
+อภินาท
+อภินิหาร
+อภิเนษกรมณ์
+อภิบาล
+อภิปรัชญา
+อภิปราย
+อภิมหาอำนาจ
+อภิมานะ
+อภิมุข
+อภิรดี
+อภิรติ
+อภิรมย์
+อภิรักษ์
+อภิรัฐมนตรี
+อภิราม
+อภิรุต
+อภิรุม
+อภิรูป
+อภิลักขิต
+อภิลาส
+อภิเลปน์
+อภิวันท์
+อภิวาท
+อภิวาทน์
+อภิเษก
+อภิสทธิ์
+อภิสมโพธิ
+อภิสมัย
+อภิสังขาร
+อภิสัมโพธิ
+อภิสิต
+อภูต
+อม
+อ้ม
+อมตะ
+อมนุษย์
+อมร
+อมรบดี
+อมรปุระ
+อมรรัตน์
+อมรราช
+อมรสตรี
+อมเรศ
+อมเรศวร
+อมฤต
+อมฤตยู
+อมัจจะ
+อมัตร
+อมาตย์
+อมาวสุ
+อมาวาสี
+อมิตร
+อเมริกัน
+อย
+อยน
+อยัส
+อย่า
+อยาก
+อย่าง
+อยุติธรรม
+อยุทธ์
+อยู่
+อร
+อรช
+อรชร
+อรชุน
+อรณ
+อรดี
+อรติ
+อรไท
+อรธาน
+อรนุช
+อรพินท์
+อรพิม
+อรรค
+อรรฆ
+อรรฆย์
+อรรจน์
+อรรณพ
+อรรถ
+อรรธ
+อรรธางค์
+อรสุม
+อรหะ
+อรหัง
+อรหัต
+อรหัน
+อรหันต์
+อร่อย
+อรัญ
+อรันต์
+อราดี
+อราติ
+อร่าม
+อริ
+อริน
+อริยกะ
+อริยะ
+อรุ
+อรุณ
+อรุ่ม
+อรูป
+อลงกต
+อลงกรณ์
+อลงการ
+อลวน
+อลเวง
+อลหม่าน
+อล่องฉ่อง
+อลักเอลื่อ
+อลัชชี
+อล่างฉ่าง
+อลิ
+อลิงค์
+อลึงค์
+อลึ่งฉึ่ง
+อโลหะ
+อวก
+อ้วก
+อวกาศ
+อวเคราะห์
+อวจร
+อวชัย
+อวชาต
+อวด
+อวตาร
+อวน
+อ้วน
+อวนิ
+อวบ
+อวมงคล
+อวมอำ
+อ้วมเอีย
+อวย
+อวยวะ
+อวรุทธ์
+อวรุธทก
+อวล
+อวสาน
+อวหาร
+อวัตถา
+อวัยวะ
+อวัสดา
+อวาจี
+อวิจี
+อวิชชา
+อวิญญู
+อวิรุทธ์
+อวิโรธน์
+อวีจิ
+อเวจี
+อเวไนยสัตว์
+อโศก
+อสงไขย
+อสนี
+อสภ
+อสมการ
+อสมมาตร
+อสรพิษ
+อสังกมทรัพย์
+อสังขตธรรม
+อสังหาริมะ
+อสัญญี
+อสัญแดหวา
+อสัตถพฤกษ์
+อสัตย์
+อสาธร
+อสาธุ
+อสาพติ
+อสิ
+อสิต
+อสีตยานุพยัญชนะ
+อสีติ
+อสุ
+อสุจิ
+อสุญกัลป์
+อสุนีบาต
+อสุภ
+อสุรินทร์
+อสุรี
+อสุเรนทร์
+อสุเรศ
+อสูร
+อเส
+อเสกขะ
+อเสขะ
+อเสวนะ
+อเสวนา
+อห
+อหังการ
+อหิ
+อหิงสา
+อหึงสา
+อเหตุกทิฐิ
+อโหสิ
+ออ
+อ้อ
+อ๋อ
+ออก
+ออกซิเจน
+ออกซิเดชัน
+ออกไซด์
+อ่อง
+อ๋อง
+อ้องแอ้ง
+ออเซาะ
+ออด
+อ๊อดๆแอ๊ดๆ
+อ๊อดแอ๊ด
+อ่อน
+อ้อน
+ออนซ์
+ออนซอน
+อ่อนซอน
+อ้อนแอ้น
+ออฟฟิศ
+ออม
+อ่อม
+อ้อม
+ออมครอม
+ออมชอม
+ออมซอม
+อ้อมแอ้ม
+อ่อย
+อ้อย
+อ๋อย
+อ้อยส้อย
+อ้อยอิ่ง
+ออร์แกน
+ออร์เดิร์ฟ
+ออสเมียม
+อ้อแอ้
+อ๊ะ
+อะคร้าว
+อะเคื้อ
+อะจีน
+อะแจ
+อะเซทิลีน
+อะดรืนาลิน
+อะดัก
+อะดุง
+อะตอม
+อะนะ
+อะนั้น
+อะนี้
+อะมีบา
+อะเมริเซียม
+อะร้าอร่าม
+อะไร
+อะลังการ
+อะลุ่มอล่วย
+อะลุ้มอล่วย
+อะลูมิเนียม
+อะหม
+อะไหล่
+อะอื้อ
+อะเอื้อย
+อัก
+อั้ก
+อั๊ก
+อั้กๆ
+อั๊กๆ
+อักกะ
+อักโกธะ
+อักโกสวัตถุ
+อักข
+อักขระ
+อักขรานุกรมภูมิศาสตร์
+อักขาน
+อักโข
+อักโขภิณี
+อักโขเภณี
+อักษร
+อักษะ
+อักเษาหิณี
+อักเสบ
+อักอ่วน
+อัคคะ
+อัคคิ
+อัคคี
+อัคนิ
+อัคนี
+อัคนีกรีฑา
+อัง
+อังก์
+อังกนะ
+อังกฤษ
+อังกวด
+อังกะลุง
+อังกา
+อังกาบ
+อังกุร
+อังกุศ
+อังกูร
+อังคณะ
+อังคณา
+อังคะ
+อังคาร
+อังคาส
+อังคีรส
+อังคุฐ
+อังฆาต
+อั้งเปา
+อั้งม้อ
+อั้งยี่
+อั้งโล่
+อังศะ
+อังศุ
+อังศุก
+อังสตรอม
+อังสนา
+อังสะ
+อัจกลับ
+อัจจันต์
+อัจจัย
+อัจจิ
+อัจจุต
+อัจเจกะ
+อัจฉรา
+อัจฉริยะ
+อัจนา
+อัชฌา
+อัชฌาจาร
+อัชฌาศัย
+อัชฌาสัย
+อัชบาล
+อัญขยม
+อัญชนะ
+อัญชลี
+อัญชัน
+อัญเชิญ
+อัญญะ
+อัญประกาศ
+อัญมัญญะ
+อัญรูป
+อัฏ
+อัฏฐ
+อัฏนา
+อัฐ
+อัฐมะ
+อัฐฬส
+อัฐิ
+อัณฑะ
+อัณณพ
+อัด
+อัดแจ
+อัตคัด
+อัตจริยา
+อัตตะ
+อัตตา
+อัตถ์
+อัตถะ
+อัตโนมัติ
+อัตรชะ
+อัตรา
+อัตลัด
+อัททา
+อัทธ์
+อัทธา
+อัทธาน
+อัธยาตมวิทยา
+อัธยาย
+อัธยาศัย
+อัน
+อั้น
+อั๋น
+อันดก
+อันดร
+อันดับ
+อันด๊าก
+อันโด๊ก
+อันตร
+อันตรธาน
+อันตรา
+อันตราย
+อันติก
+อันติมะ
+อันเต
+อันโต
+อันแถ้ง
+อันทุ
+อันโทล
+อันนะ
+อันยะ
+อันโยนยะ
+อันวัย
+อันเวส
+อับ
+อับปาง
+อัปกะ
+อัปการ
+อัปฏิฆะ
+อัปฏิภาค
+อัปปะ
+อัปภาคย์
+อัปมงคล
+อัปยศ
+อัประมาณ
+อัประมาท
+อัประไมย
+อัปราชัย
+อัปรีย์
+อัปลักษณ์
+อัปสร
+อัพพุท
+อัพโพหาริก
+อัพภันดร
+อัพภาน
+อัพภาส
+อัม
+อัมพร
+อัมพา
+อัมพิล
+อัมพุ
+อัยกะ
+อัยกา
+อัยการ
+อัยกี
+อัยยะ
+อัยยาภริยา
+อัยยิกา
+อัลตราไวโอเลต
+อั่ว
+อั๊ว
+อัศจรรย์
+อัศเจรีย์
+อัษฎมะ
+อัสดง
+อัสดม
+อัสนี
+อัสมิมานะ
+อัสสะ
+อัสสัตถพฤกษ์
+อัสสุ
+อา
+อ่า
+อ้า
+อากง
+อากร
+อากังขา
+อากัป
+อากัมปนะ
+อากัมปะ
+อาการ
+อากาศ
+อากิญจัญญะ
+อากูล
+อาเกียรณ์
+อาขยาต
+อาขยาน
+อาคเนย์
+อาคม
+อาครหายณี
+อาคันตุกะ
+อาคาร
+อาฆาต
+อาฆาตนะ
+อ่าง
+อ้าง
+อางขนาง
+อ้างว้าง
+อาจ
+อาจม
+อาจมน
+อาจาด
+อาจาร
+อาจารย์
+อาจิณ
+อาเจียน
+อาชญัปติ
+อาชญัปติ์
+อาชญา
+อาชวะ
+อาชา
+อาชาน
+อาชานิ
+อาชาไนย
+อาชีพ
+อาชีวก
+อาชีวนะ
+อาชีวะ
+อาญา
+อาฏาตา
+อาณัติ
+อาณา
+อาณาปก
+อาณาปน
+อาด
+อาดๆ
+อาดุลย์
+อาดูร
+อาดูลย์
+อาเด๊ะ
+อาตมัน
+อาตุร
+อาถรรพ์
+อาถรรพณ์
+อาถรรพณะ
+อาทมาฏ
+อาทร
+อาทาตา
+อาทาน
+อาทิกวี
+อาทิตย์
+อาทีนพ
+อาทีนว
+อาทึก
+อาเทศ
+อาธรรม
+อาธรรม์
+อาธรรมิก
+อาธรรมึก
+อาธาน
+อาธาร
+อาน
+อ่าน
+อานก
+อานน
+อานนท์
+อานะ
+อานันท์
+อานันทนะ
+อานัม
+อานำ
+อานิก
+อานิสงฆ์
+อานุภาพ
+อานุภาวะ
+อาบ
+อาบัง
+อาบัติ
+อาบัน
+อาบู
+อาปณะ
+อาปะ
+อาปานะ
+อาโป
+อาพัด
+อาพัทธ์
+อาพันธ์
+อาพันธนะ
+อาพาธ
+อาพิล
+อาเพศ
+อาภรณ์
+อาภัพ
+อาภัสระ
+อาภา
+อาภาส
+อาโภค
+อามลก
+อามัย
+อามา
+อามิษ
+อามิส
+อาย
+อ้าย
+อายต
+อายตนะ
+อายน
+อายัด
+อายัต
+อายัน
+อายาจนะ
+อายาน
+อายุ
+อายุกตกะ
+อายุตกะ
+อายุธ
+อายุษ
+อาร์กอน
+อารดี
+อาร์ต
+อารติ
+อารทรา
+อารบิค
+อาร์ม
+อารมณ์
+อารยะ
+อาระ
+อารักขา
+อารักษ์
+อารัญ
+อารัญญิก
+อารัณย์
+อารัณยกะ
+อารัติ
+อารัมภ์
+อาราธน์
+อาราธนา
+อาราม
+อารี
+อารุม
+อาลปน์
+อาลปนะ
+อาละวาด
+อาลักษณ์
+อาลัย
+อาลัว
+อาลิ
+อาลี
+อาโลก
+อาว
+อ่าว
+อ้าว
+อาวรณ์
+อาวัชนาการ
+อาวาส
+อาวาหะ
+อาวิล
+อาวุต
+อาวุธ
+อาวุโส
+อาเวค
+อาเวศ
+อาศรม
+อาศรมบท
+อาศเลษา
+อาศัย
+อาศุ
+อาเศียร
+อาษาฒ
+อาสนะ
+อาสภิวาจา
+อาสยานุสัย
+อาสวกษัย
+อาสวกิเลส
+อาสัญ
+อาสัตย์
+อาสันนะ
+อาสา
+อาสาฬห์
+อาสิญจ์
+อาสิน
+อาสูร
+อาเสี่ย
+อาแสะ
+อาหต
+อาหตี
+อาหนี
+อาหนู
+อาหม
+อาหยัง
+อาหยัน
+อาหร
+อาหรัดกัดติกา
+อาหรับ
+อาหลักอาเหลื่อ
+อาหาร
+อาหุดี
+อาฬหก
+อาฬาหนะ
+อำ
+อ่ำ
+อำแดง
+อำนด
+อำนนต์
+อำนรรฆ
+อำนวย
+อำนาจ
+อำนาถ
+อำนิฐ
+อำนิษฐ์
+อำปลัง
+อำพน
+อำพะนำ
+อำพัน
+อำไพ
+อำเภอ
+อำเภอใจ
+อำมร
+อำมฤคโชค
+อำมฤต
+อำมหิต
+อำมาตย์
+อำยวน
+อำรุง
+อำลา
+อำอวม
+อ้ำอึ้ง
+อิก
+อิง
+อิงค์
+อิงอร
+อิจฉา
+อิฉัน
+อิชยา
+อิฐ
+อิณ
+อิด
+อิตถี
+อิตเทรียม
+อิตเทอร์เบียม
+อิติหาส
+อิทธิ
+อิธโลก
+อิน
+อินซูลิน
+อินเดีย
+อินเดียนแดง
+อินเดียม
+อินท์
+อินทขีล
+อินทนิล
+อินทนิลน้ำ
+อินทผลัม
+อินทร์
+อินทรี
+อินทรีย์
+อินทีวร
+อินทุ
+อินธน์
+อินฟราเรด
+อินและหยัง
+อินวอยซ์
+อิ่ม
+อิมัลชัน
+อิริเดียม
+อิริยา
+อิรุพเพท
+อิลู
+อิเล็กตรอน
+อิเล็กทรอนิกส์
+อิเล็กโทน
+อิศ
+อิศร
+อิศวร
+อิษฏ์
+อิษฏี
+อิส
+อิสตรี
+อิสระ
+อิสริยะ
+อิสสา
+อิสัตรี
+อิสิ
+อิสี
+อิหม่าม
+อี
+อี่
+อี้
+อี๊
+อี๋
+อีก
+อีก้อ
+อีก๋อย
+อีกา
+อีก๋า
+อีเก้ง
+อีเกร็ง
+อีเก้อีกัง
+อีแก
+อีแก่
+อีแก้
+อีโก้ง
+อีโก๊ะ
+อีคว่ำอีหงาย
+อีจู้
+อีฉัน
+อีฉุยอีแฉก
+อีชุก
+อี๊ด
+อีดอก
+อีดำอีแดง
+อีตัว
+อีตาล
+อีเต้อ
+อีโต้
+อีถ่าง
+อีทุก
+อีทุบ
+อีเทอร์
+อีนุงตุงนัง
+อีนูน
+อีโน
+อีโนงโตงเนง
+อีบึ้ง
+อีปุด
+อีเป็ด
+อีเป้า
+อีแปะ
+อีโปง
+อีเพา
+อีมู
+อีรม
+อีรุ้ง
+อีแรดแจ๊ดแจ๋
+อีแร้แท้แต่
+อีลอง
+อีล่อยป่อยแอ
+อีลุ้ม
+อีลุ่ยฉุยแฉก
+อีเลิ้ง
+อีแล่ง
+อีโลง
+อีศวร
+อีส
+อีสเตอร์
+อีสา
+อีสาน
+อีสุกอีใส
+อีหนองอีแหนง
+อีหรอบ
+อีหลักอีเหลื่อ
+อีหลัดถัดทา
+อีหลี
+อีหลุกขลุกขลัก
+อีหลุกขลุกขลุ่ย
+อีหลุยฉุยแฉก
+อีเห็น
+อีเหน็บ
+อีเหนียว
+อีเหยี่ยว
+อีเหละเขละขละ
+อีเหละเขะขะ
+อีโหน่อีเหน่
+อีโหลกโขลกเขลก
+อีแอ่น
+อึ
+อึก
+อึ๊ก
+อึกทึก
+อึกอัก
+อึง
+อึ่ง
+อึ้ง
+อึด
+อึดตะปือ
+อึ้ดทึ่ด
+อึน
+อืด
+อื่น
+อื้น
+อือ
+อื้อ
+อุ
+อุก
+อุกกา
+อุกฤษฏ์
+อุกลา
+อุค
+อุคร
+อุคหนิมิต
+อุคหะ
+อุโฆษ
+อุ้ง
+อุจ
+อุจจาระ
+อุจฉุ
+อุจเฉท
+อุจาด
+อุชุ
+อุญฉาจริยา
+อุฏฐาการ
+อุณหะ
+อุณหิส
+อุณา
+อุด
+อุดเตา
+อุดม
+อุดร
+อุดหนุน
+อุดากัน
+อุตดม
+อุตดร
+อุตตมะ
+อุตบล
+อุตพิด
+อุตรา
+อุตริ
+อุตลุด
+อุตส่าห์
+อุตสาหะ
+อุตุ
+อุทก
+อุททาม
+อุทธรณ์
+อุทธัจ
+อุทยาน
+อุทร
+อุทริยะ
+อุทลุม
+อุทัย
+อุทาน
+อุทาร
+อุทาหรณ์
+อุทิศ
+อุทุมพร
+อุเทศ
+อุเทสิกเจดีย์
+อุธัจ
+อุ่น
+อุนากัน
+อุบ
+อุบล
+อุบะ
+อุบ๊ะ
+อุบัติ
+อุบาท
+อุบาทว์
+อุบาย
+อุบาสก
+อุบาสิกา
+อุเบกขา
+อุโบสถ
+อุโบสถหัตถี
+อุป
+อุปกรณ์
+อุปกรม
+อุปการ
+อุปการะ
+อุปกาศสาร
+อุปกิณณะ
+อุปกิเลส
+อุปฆาตกกรรม
+อุปจาร
+อุปถัมภ์
+อุปถัมภก
+อุปทม
+อุปทูต
+อุปเทศ
+อุปเท่ห์
+อุปธิ
+อุปธิวิเวก
+อุปนัย
+อุปนายก
+อุปนายน
+อุปนิกขิต
+อุปนิกษิต
+อุปนิษัท
+อุปนิสัย
+อุปบล
+อุปบัติ
+อุปบาท
+อุปพัทธ์
+อุปพันธ์
+อุปภิเษก
+อุปโภค
+อุปมา
+อุปมาน
+อุปมาอุปไมย
+อุปไมย
+อุปยุวราช
+อุปโยค
+อุปโยราช
+อุปรากร
+อุปราคา
+อุปราช
+อุปริ
+อุปโลกน์
+อุปโลกห์
+อุปสมบท
+อุปสมบัน
+อุปสรรค
+อุปสัมบัน
+อุปสัมปทา
+อุปฮาด
+อุปัชฌาย์
+อุปัชฌายะ
+อุปัฏฐาก
+อุปัฏฐานะ
+อุปัทวะ
+อุปาขยาน
+อุปาธยาย
+อุปายาส
+อุปาหนา
+อุภโตสงฆ์
+อุภัย
+อุ้ม
+อุมงค์
+อุมมัต
+อุมา
+อุโมงค์
+อุย
+อุ้ย
+อุ๊ย
+อุยยาน
+อุยยาม
+อุยโยค
+อุรค
+อุรณ
+อุรพี
+อุรส
+อุระ
+อุรังอุตัง
+อุรัจฉทะ
+อุรัจฉัท
+อุรา
+อุรุ
+อุไร
+อุลปนะ
+อุลโลจ
+อุลโลละ
+อุลามก
+อุลิด
+อุลูก
+อุโลก
+อุวะ
+อุแว้
+อุษณีษ์
+อุษม
+อุษมัน
+อุษา
+อุษาหะ
+อุสภ
+อุสวะ
+อุสส่าห์
+อุสสาหะ
+อุสา
+อุสุ
+อุสุภ
+อุสุม
+อุหรับ
+อุหลบ
+อุเหม่
+อุฬาร
+อู
+อู่
+อู้
+อู๋
+อูฐ
+อูด
+อูม
+อูรู
+อู๋อี๋
+เอ
+เอ้
+เอ้ๆแอ่น
+เอก
+เอ๊ก
+เอกเขนก
+เอกจักษุ
+เอกจิต
+เอกฉันท์
+เอกชน
+เอกซโป
+เอกซเรย์
+เอกเทศ
+เอกโทษ
+เอกนัย
+เอกบุคคล
+เอกบุรุษ
+เอกพจน์
+เอกพันธ์
+เอกภพ
+เอกภริยา
+เอกภักดิ์
+เอกภาคี
+เอกภาพ
+เอกม
+เอกมติ
+เอกมัย
+เอกรรถประโยค
+เอกรส
+เอกระ
+เอกราช
+เอกลักษณ์
+เอกศก
+เอกส
+เอกสมังคี
+เอกสาร
+เอกสิทธิ์
+เอกอัครราชทูต
+เอกอุ
+เอกัคตา
+เอกังสพยากรณ์
+เอกังสวาที
+เอกัตภาพ
+เอกา
+เอ้กา
+เอกิกา
+เอกีภูต
+เอเคอร์
+เอง
+เอ็ง
+เอ๋ง
+เอเชี่ยนเกมส์
+เอ็ด
+เอดส์
+เอตทัคคะ
+เอ้เต
+เอทิลแอลกอฮอล์
+เอน
+เอ็น
+เอนไซม์
+เอ็นดู
+เอนทรานซ์
+เอม
+เอ็มบริโอ
+เอย
+เอ่ย
+เอ๊ย
+เอ๋ย
+เอเย่นต์
+เอร็ดอร่อย
+เอราวัณ
+เอลา
+เอลาฬุก
+เอว
+เอ๊ว
+เอวัง
+เอ้หมึง
+เอหิปัสสิโก
+เอหิภิกขุอุปสัมปทา
+เอฬก
+เอฬา
+เออ
+เอ่อ
+เออร์เบียม
+เอ้อระเหย
+เอ้อเร้อ
+เอ้อเฮอ
+เอ้แอ่น
+เอ๊ะ
+เอะใจ
+เอะอะ
+เอา
+เอ้า
+เอาทาร
+เอาทารย์
+เอารส
+เอาฬาร
+เอาะลาย
+เอิก
+เอิ้ก
+เอิน
+เอิ้น
+เอิบ
+เอียง
+เอี้ยง
+เอียด
+เอี๊ยด
+เอียน
+เอี่ยน
+เอี่ยม
+เอี๊ยม
+เอี้ยมจุ๊น
+เอี้ยมเฟี้ยม
+เอี่ยว
+เอี้ยว
+เอื้อ
+เอื้อง
+เอื้องชัน
+เอือด
+เอือน
+เอื้อน
+เอือม
+เอื้อม
+เอื่อย
+เอื้อย
+เอื่อยๆ
+แอ
+แอ้
+แอ๋
+แอก
+แอกทิเนียม
+แอ่ง
+แอ้งแม้ง
+แอด
+แอ้ด
+แอ๊ด
+แอดๆ
+แอ๊ดๆ
+แอ่น
+แอนติเจน
+แอนติบอดี
+แอนติอิเล็กตรอน
+แอ่นลม
+แอโนด
+แอบ
+แอ้ม
+แอมแปร์
+แอมเฟตามีน
+แอมมิเตอร์
+แอมโมเนีย
+แอร่ม
+แอร์โฮสเตส
+แอลกอฮอล์
+แอลฟา
+แอว
+แอ่ว
+แอ้วแซ่ว
+แอสทาทีน
+แอสไพริน
+แอสฟัลต์
+แอหนัง
+แออวย
+แออัด
+โอ
+โอ่
+โอ้
+โอ๋
+โอก
+โอ้ก
+โอ๊ก
+โอกาส
+โอฆะ
+โอ่ง
+โองการ
+โองโขดง
+โอชะ
+โอชา
+โอโซน
+โอฐ
+โอด
+โอต
+โอตตัปปะ
+โอทนะ
+โอน
+โอบ
+โอปปาติกะ
+โอเปก
+โอภา
+โอภาส
+โอม
+โอย
+โอ๊ย
+โอรส
+โอละพ่อ
+โอลิมปิก
+โอเลี้ยง
+โอวาท
+โอษฐ์
+โอสถ
+โอสาน
+โอหนอ
+โอห์ม
+โอหัง
+โอฬาร
+โอ้เอ้
+โอเอซิส
+โอ้โฮ
+ไอ
+ไอ้เข้
+ไอโซโทป
+ไอน์สไตเนียม
+ไอยรา
+ไอยเรศ
+ไอราพต
+ไอราวัณ
+ไอศกรีม
+ไอศวรรย์
+ไอออน
+ไอโอดีน
+ฮ
+ฮกเกี้ยน
+ฮกลกซิ่ว
+ฮ้ง
+ฮด
+ฮวงซุ้ย
+ฮวน
+ฮ้วน
+ฮ้วนหมู
+ฮวบ
+ฮวย
+ฮ่อ
+ฮ้อ
+ฮอกกี้
+ฮ่อง
+ฮ่องเต้
+ฮองเฮา
+ฮอด
+ฮอตดอก
+ฮ่อม
+ฮ่อมดง
+ฮ่อมเมือง
+ฮ่อมริน
+ฮอร์โมน
+ฮอลแลนด์
+ฮอลันดา
+ฮะ
+ฮัก
+ฮักๆ
+ฮังเล
+ฮัดเช้ย
+ฮั่น
+ฮั้ว
+ฮา
+ฮ้า
+ฮ่าๆ
+ฮ่างหลวง
+ฮาม
+ฮาราคีรี
+ฮาเร็ม
+ฮาห์เนียม
+ฮิๆ
+ฮิจเราะห์
+ฮินดู
+ฮิปปี้
+ฮิปโปโปเตมัส
+ฮิสทีเรีย
+ฮี้
+ฮีเลียม
+ฮึ
+ฮึก
+ฮึด
+ฮึม
+ฮึ่ม
+ฮึย
+ฮืดฮาด
+ฮือ
+ฮื่อ
+ฮื้อ
+ฮุด
+ฮุบ
+ฮุยเลฮุย
+ฮู้
+ฮูก
+ฮูม
+เฮ
+เฮ้
+เฮกตาร์
+เฮกโตกรัม
+เฮกโตเมตร
+เฮกโตลิตร
+เฮง
+เฮโมโกลบิน
+เฮย
+เฮ้ย
+เฮโรอีน
+เฮลิคอปเตอร์
+เฮ้ว
+เฮอ
+เฮ้อ
+เฮิรตซ์
+เฮีย
+เฮี้ยน
+เฮี้ยบ
+เฮี้ยว
+เฮือก
+เฮือน
+แฮ
+แฮ่
+แฮ่กึ๊น
+แฮนด์บอล
+แฮฟเนียม
+แฮม
+แฮมเบอร์เกอร์
+แฮะ
+โฮ
+โฮก
+โฮเต็ล
+โฮลเมียม
+โฮะ
+ไฮ้
+ไฮโกรมิเตอร์
+ไฮด์ปาร์ก
+ไฮดรา
+ไฮโดรคาร์บอน
+ไฮโดรเจน
+ไฮโดรเจนซัลไฟด์
+ไฮโดรเจนเพอร์ออกไซด์
+ไฮโดรมิเตอร์
+ไฮไฟ
+ไฮโล
+ไฮฮี
diff --git a/src/com/ibm/icu/dev/data/thai6.ucs b/src/com/ibm/icu/dev/data/thai6.ucs
new file mode 100755
index 0000000..9af7bc1
--- /dev/null
+++ b/src/com/ibm/icu/dev/data/thai6.ucs
Binary files differ
diff --git a/src/com/ibm/icu/dev/data/unicode/CompositionExclusions.txt b/src/com/ibm/icu/dev/data/unicode/CompositionExclusions.txt
new file mode 100755
index 0000000..f20528b
--- /dev/null
+++ b/src/com/ibm/icu/dev/data/unicode/CompositionExclusions.txt
@@ -0,0 +1,179 @@
+# CompositionExclusions-4.1.0.txt
+# Date: 2005-03-17, 15:21:00 PST [KW]
+#
+# This file lists the characters from the UAX #15 Composition Exclusion Table.
+#
+# This file is a normative contributory data file in the
+# Unicode Character Database.
+#
+# Copyright (c) 1991-2005 Unicode, Inc.
+# For terms of use, see http://www.unicode.org/terms_of_use.html
+#
+# For more information, see
+# http://www.unicode.org/unicode/reports/tr15/#Primary Exclusion List Table
+# ================================================
+
+# (1) Script Specifics
+# This list of characters cannot be derived from the UnicodeData file.
+# ================================================
+
+0958    #  DEVANAGARI LETTER QA
+0959    #  DEVANAGARI LETTER KHHA
+095A    #  DEVANAGARI LETTER GHHA
+095B    #  DEVANAGARI LETTER ZA
+095C    #  DEVANAGARI LETTER DDDHA
+095D    #  DEVANAGARI LETTER RHA
+095E    #  DEVANAGARI LETTER FA
+095F    #  DEVANAGARI LETTER YYA
+09DC    #  BENGALI LETTER RRA
+09DD    #  BENGALI LETTER RHA
+09DF    #  BENGALI LETTER YYA
+0A33    #  GURMUKHI LETTER LLA
+0A36    #  GURMUKHI LETTER SHA
+0A59    #  GURMUKHI LETTER KHHA
+0A5A    #  GURMUKHI LETTER GHHA
+0A5B    #  GURMUKHI LETTER ZA
+0A5E    #  GURMUKHI LETTER FA
+0B5C    #  ORIYA LETTER RRA
+0B5D    #  ORIYA LETTER RHA
+0F43    #  TIBETAN LETTER GHA
+0F4D    #  TIBETAN LETTER DDHA
+0F52    #  TIBETAN LETTER DHA
+0F57    #  TIBETAN LETTER BHA
+0F5C    #  TIBETAN LETTER DZHA
+0F69    #  TIBETAN LETTER KSSA
+0F76    #  TIBETAN VOWEL SIGN VOCALIC R
+0F78    #  TIBETAN VOWEL SIGN VOCALIC L
+0F93    #  TIBETAN SUBJOINED LETTER GHA
+0F9D    #  TIBETAN SUBJOINED LETTER DDHA
+0FA2    #  TIBETAN SUBJOINED LETTER DHA
+0FA7    #  TIBETAN SUBJOINED LETTER BHA
+0FAC    #  TIBETAN SUBJOINED LETTER DZHA
+0FB9    #  TIBETAN SUBJOINED LETTER KSSA
+FB1D    #  HEBREW LETTER YOD WITH HIRIQ
+FB1F    #  HEBREW LIGATURE YIDDISH YOD YOD PATAH
+FB2A    #  HEBREW LETTER SHIN WITH SHIN DOT
+FB2B    #  HEBREW LETTER SHIN WITH SIN DOT
+FB2C    #  HEBREW LETTER SHIN WITH DAGESH AND SHIN DOT
+FB2D    #  HEBREW LETTER SHIN WITH DAGESH AND SIN DOT
+FB2E    #  HEBREW LETTER ALEF WITH PATAH
+FB2F    #  HEBREW LETTER ALEF WITH QAMATS
+FB30    #  HEBREW LETTER ALEF WITH MAPIQ
+FB31    #  HEBREW LETTER BET WITH DAGESH
+FB32    #  HEBREW LETTER GIMEL WITH DAGESH
+FB33    #  HEBREW LETTER DALET WITH DAGESH
+FB34    #  HEBREW LETTER HE WITH MAPIQ
+FB35    #  HEBREW LETTER VAV WITH DAGESH
+FB36    #  HEBREW LETTER ZAYIN WITH DAGESH
+FB38    #  HEBREW LETTER TET WITH DAGESH
+FB39    #  HEBREW LETTER YOD WITH DAGESH
+FB3A    #  HEBREW LETTER FINAL KAF WITH DAGESH
+FB3B    #  HEBREW LETTER KAF WITH DAGESH
+FB3C    #  HEBREW LETTER LAMED WITH DAGESH
+FB3E    #  HEBREW LETTER MEM WITH DAGESH
+FB40    #  HEBREW LETTER NUN WITH DAGESH
+FB41    #  HEBREW LETTER SAMEKH WITH DAGESH
+FB43    #  HEBREW LETTER FINAL PE WITH DAGESH
+FB44    #  HEBREW LETTER PE WITH DAGESH
+FB46    #  HEBREW LETTER TSADI WITH DAGESH
+FB47    #  HEBREW LETTER QOF WITH DAGESH
+FB48    #  HEBREW LETTER RESH WITH DAGESH
+FB49    #  HEBREW LETTER SHIN WITH DAGESH
+FB4A    #  HEBREW LETTER TAV WITH DAGESH
+FB4B    #  HEBREW LETTER VAV WITH HOLAM
+FB4C    #  HEBREW LETTER BET WITH RAFE
+FB4D    #  HEBREW LETTER KAF WITH RAFE
+FB4E    #  HEBREW LETTER PE WITH RAFE
+
+# Total code points: 67
+
+# ================================================
+# (2) Post Composition Version precomposed characters
+# These characters cannot be derived solely from the UnicodeData.txt file
+# in this version of Unicode.
+# ================================================
+
+2ADC    #  FORKING
+1D15E   #  MUSICAL SYMBOL HALF NOTE
+1D15F   #  MUSICAL SYMBOL QUARTER NOTE
+1D160   #  MUSICAL SYMBOL EIGHTH NOTE
+1D161   #  MUSICAL SYMBOL SIXTEENTH NOTE
+1D162   #  MUSICAL SYMBOL THIRTY-SECOND NOTE
+1D163   #  MUSICAL SYMBOL SIXTY-FOURTH NOTE
+1D164   #  MUSICAL SYMBOL ONE HUNDRED TWENTY-EIGHTH NOTE
+1D1BB   #  MUSICAL SYMBOL MINIMA
+1D1BC   #  MUSICAL SYMBOL MINIMA BLACK
+1D1BD   #  MUSICAL SYMBOL SEMIMINIMA WHITE
+1D1BE   #  MUSICAL SYMBOL SEMIMINIMA BLACK
+1D1BF   #  MUSICAL SYMBOL FUSA WHITE
+1D1C0   #  MUSICAL SYMBOL FUSA BLACK
+
+# Total code points: 14
+
+# ================================================
+# (3) Singleton Decompositions
+# These characters can be derived from the UnicodeData file
+# by including all characters whose canonical decomposition
+# consists of a single character.
+# These characters are simply quoted here for reference.
+# ================================================
+
+# 0340..0341       [2] COMBINING GRAVE TONE MARK..COMBINING ACUTE TONE MARK
+# 0343                 COMBINING GREEK KORONIS
+# 0374                 GREEK NUMERAL SIGN
+# 037E                 GREEK QUESTION MARK
+# 0387                 GREEK ANO TELEIA
+# 1F71                 GREEK SMALL LETTER ALPHA WITH OXIA
+# 1F73                 GREEK SMALL LETTER EPSILON WITH OXIA
+# 1F75                 GREEK SMALL LETTER ETA WITH OXIA
+# 1F77                 GREEK SMALL LETTER IOTA WITH OXIA
+# 1F79                 GREEK SMALL LETTER OMICRON WITH OXIA
+# 1F7B                 GREEK SMALL LETTER UPSILON WITH OXIA
+# 1F7D                 GREEK SMALL LETTER OMEGA WITH OXIA
+# 1FBB                 GREEK CAPITAL LETTER ALPHA WITH OXIA
+# 1FBE                 GREEK PROSGEGRAMMENI
+# 1FC9                 GREEK CAPITAL LETTER EPSILON WITH OXIA
+# 1FCB                 GREEK CAPITAL LETTER ETA WITH OXIA
+# 1FD3                 GREEK SMALL LETTER IOTA WITH DIALYTIKA AND OXIA
+# 1FDB                 GREEK CAPITAL LETTER IOTA WITH OXIA
+# 1FE3                 GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND OXIA
+# 1FEB                 GREEK CAPITAL LETTER UPSILON WITH OXIA
+# 1FEE..1FEF       [2] GREEK DIALYTIKA AND OXIA..GREEK VARIA
+# 1FF9                 GREEK CAPITAL LETTER OMICRON WITH OXIA
+# 1FFB                 GREEK CAPITAL LETTER OMEGA WITH OXIA
+# 1FFD                 GREEK OXIA
+# 2000..2001       [2] EN QUAD..EM QUAD
+# 2126                 OHM SIGN
+# 212A..212B       [2] KELVIN SIGN..ANGSTROM SIGN
+# 2329                 LEFT-POINTING ANGLE BRACKET
+# 232A                 RIGHT-POINTING ANGLE BRACKET
+# F900..FA0D     [270] CJK COMPATIBILITY IDEOGRAPH-F900..CJK COMPATIBILITY IDEOGRAPH-FA0D
+# FA10                 CJK COMPATIBILITY IDEOGRAPH-FA10
+# FA12                 CJK COMPATIBILITY IDEOGRAPH-FA12
+# FA15..FA1E      [10] CJK COMPATIBILITY IDEOGRAPH-FA15..CJK COMPATIBILITY IDEOGRAPH-FA1E
+# FA20                 CJK COMPATIBILITY IDEOGRAPH-FA20
+# FA22                 CJK COMPATIBILITY IDEOGRAPH-FA22
+# FA25..FA26       [2] CJK COMPATIBILITY IDEOGRAPH-FA25..CJK COMPATIBILITY IDEOGRAPH-FA26
+# FA2A..FA2D       [4] CJK COMPATIBILITY IDEOGRAPH-FA2A..CJK COMPATIBILITY IDEOGRAPH-FA2D
+# FA30..FA6A      [59] CJK COMPATIBILITY IDEOGRAPH-FA30..CJK COMPATIBILITY IDEOGRAPH-FA6A
+# FA70..FAD9     [106] CJK COMPATIBILITY IDEOGRAPH-FA70..CJK COMPATIBILITY IDEOGRAPH-FAD9
+# 2F800..2FA1D   [542] CJK COMPATIBILITY IDEOGRAPH-2F800..CJK COMPATIBILITY IDEOGRAPH-2FA1D
+
+# Total code points: 924
+
+# ================================================
+# (4) Non-Starter Decompositions
+# These characters can be derived from the UnicodeData file
+# by including all characters whose canonical decomposition consists
+# of a sequence of characters, the first of which has a non-zero
+# combining class.
+# These characters are simply quoted here for reference.
+# ================================================
+
+# 0344                 COMBINING GREEK DIALYTIKA TONOS
+# 0F73                 TIBETAN VOWEL SIGN II
+# 0F75                 TIBETAN VOWEL SIGN UU
+# 0F81                 TIBETAN VOWEL SIGN REVERSED II
+
+# Total code points: 4
+
diff --git a/src/com/ibm/icu/dev/data/unicode/NormalizationCorrections.txt b/src/com/ibm/icu/dev/data/unicode/NormalizationCorrections.txt
new file mode 100644
index 0000000..9391ace
--- /dev/null
+++ b/src/com/ibm/icu/dev/data/unicode/NormalizationCorrections.txt
@@ -0,0 +1,48 @@
+# NormalizationCorrections-4.1.0.txt
+# Date: 2005-03-17, 15:21:00 PST [KW]
+#
+# This file is a normative contributory data file in the
+# Unicode Character Database.
+#
+# Copyright (c) 1991-2005 Unicode, Inc.
+# For terms of use, see http://www.unicode.org/terms_of_use.html
+#
+# The normalization stabilization policy of the Unicode
+# Consortium ordinarily precludes any change to the decomposition
+# for any character, once established in a relevant version
+# of the UnicodeData.txt data file. However, under certain
+# exceptional (and rare) conditions, an error in a decomposition
+# mapping may be discovered that is truly just an unintended
+# typo in the data, and not a matter of dubious interpretation.
+#
+# Whenever such an error may be found, and if it meets the
+# requirements for possible exceptions to normalization
+# stability, the correction is entered in this data file,
+# so that any implementation depending on absolute stability
+# of normalization, *including* any errors in the data, can
+# safely reconstruct the exact state of the data tables at
+# any given version of Unicode.
+#
+# Currently this list has exactly six entries in it, one for the
+# typo found and corrected in Corrigendum #3, and five for
+# the typos and misidentifications found and corrected in 
+# Corrigendum #4. All efforts
+# will be made to keep the entries limited to just those fixes.
+#
+# Interpretation of the fields:
+#   Field 1: Unicode code point
+#   Field 2: Original (erroneous) decomposition
+#   Field 3: Corrected decomposition
+#   Field 4: Version of Unicode for which the correction was
+#            entered into UnicodeData.txt, in n.n.n format.
+#   Comment: Indicates the Unicode Corrigendum which documents 
+#            the correction
+#
+# For more information, see UAX #15, Unicode Normalization Forms.
+#
+F951;96FB;964B;3.2.0 # Corrigendum 3
+2F868;2136A;36FC;4.0.0 # Corrigendum 4
+2F874;5F33;5F53;4.0.0 # Corrigendum 4
+2F91F;43AB;243AB;4.0.0 # Corrigendum 4
+2F95F;7AAE;7AEE;4.0.0 # Corrigendum 4
+2F9BF;4D57;45D7;4.0.0 # Corrigendum 4
diff --git a/src/com/ibm/icu/dev/data/unicode/NormalizationTest-3.2.0.txt b/src/com/ibm/icu/dev/data/unicode/NormalizationTest-3.2.0.txt
new file mode 100644
index 0000000..43850f6
--- /dev/null
+++ b/src/com/ibm/icu/dev/data/unicode/NormalizationTest-3.2.0.txt
@@ -0,0 +1,17042 @@
+# NormalizationTest-3.2.0.txt
+# Date: 2002-03-19,23:31:18 GMT [MD]
+#
+# Note: Code points whose decomposition changed since the Unicode version
+# for this NormalizationTest.txt are commented out and are only tested with
+# the current NormalizationTest.txt in icu/source/data/unidata/.
+# See NormalizationCorrections.txt
+# and search for "NormalizationCorrections" in this file.
+# markus 2003mar05
+#
+# Normalization Test Suite
+# Format:
+#
+#   Columns (c1, c2,...) are separated by semicolons
+#   Comments are indicated with hash marks
+#
+# CONFORMANCE:
+# 1. The following invariants must be true for all conformant implementations
+#
+#    NFC
+#      c2 ==  NFC(c1) ==  NFC(c2) ==  NFC(c3)
+#      c4 ==  NFC(c4) ==  NFC(c5)
+#
+#    NFD
+#      c3 ==  NFD(c1) ==  NFD(c2) ==  NFD(c3)
+#      c5 ==  NFD(c4) ==  NFD(c5)
+#
+#    NFKC
+#      c4 == NFKC(c1) == NFKC(c2) == NFKC(c3) == NFKC(c4) == NFKC(c5)
+#
+#    NFKD
+#      c5 == NFKD(c1) == NFKD(c2) == NFKD(c3) == NFKD(c4) == NFKD(c5)
+#
+# 2. For every assigned Unicode 3.1.0 code point X that is not specifically
+#    listed in Part 1, the following invariants must be true for all conformant
+#    implementations:
+#
+#      X == NFC(X) == NFD(X) == NFKC(X) == NFKD(X)
+#
+@Part0 # Specific cases
+#
+1E0A;1E0A;0044 0307;1E0A;0044 0307;
+1E0C;1E0C;0044 0323;1E0C;0044 0323;
+1E0A 0323;1E0C 0307;0044 0323 0307;1E0C 0307;0044 0323 0307;
+1E0C 0307;1E0C 0307;0044 0323 0307;1E0C 0307;0044 0323 0307;
+0044 0307 0323;1E0C 0307;0044 0323 0307;1E0C 0307;0044 0323 0307;
+0044 0323 0307;1E0C 0307;0044 0323 0307;1E0C 0307;0044 0323 0307;
+1E0A 031B;1E0A 031B;0044 031B 0307;1E0A 031B;0044 031B 0307;
+1E0C 031B;1E0C 031B;0044 031B 0323;1E0C 031B;0044 031B 0323;
+1E0A 031B 0323;1E0C 031B 0307;0044 031B 0323 0307;1E0C 031B 0307;0044 031B 0323 0307;
+1E0C 031B 0307;1E0C 031B 0307;0044 031B 0323 0307;1E0C 031B 0307;0044 031B 0323 0307;
+0044 031B 0307 0323;1E0C 031B 0307;0044 031B 0323 0307;1E0C 031B 0307;0044 031B 0323 0307;
+0044 031B 0323 0307;1E0C 031B 0307;0044 031B 0323 0307;1E0C 031B 0307;0044 031B 0323 0307;
+00C8;00C8;0045 0300;00C8;0045 0300;
+0112;0112;0045 0304;0112;0045 0304;
+0045 0300;00C8;0045 0300;00C8;0045 0300;
+0045 0304;0112;0045 0304;0112;0045 0304;
+1E14;1E14;0045 0304 0300;1E14;0045 0304 0300;
+0112 0300;1E14;0045 0304 0300;1E14;0045 0304 0300;
+1E14 0304;1E14 0304;0045 0304 0300 0304;1E14 0304;0045 0304 0300 0304;
+0045 0304 0300;1E14;0045 0304 0300;1E14;0045 0304 0300;
+0045 0300 0304;00C8 0304;0045 0300 0304;00C8 0304;0045 0300 0304;
+05B8 05B9 05B1 0591 05C3 05B0 05AC 059F;05B1 05B8 05B9 0591 05C3 05B0 05AC 059F;05B1 05B8 05B9 0591 05C3 05B0 05AC 059F;05B1 05B8 05B9 0591 05C3 05B0 05AC 059F;05B1 05B8 05B9 0591 05C3 05B0 05AC 059F;
+0592 05B7 05BC 05A5 05B0 05C0 05C4 05AD;05B0 05B7 05BC 05A5 0592 05C0 05AD 05C4;05B0 05B7 05BC 05A5 0592 05C0 05AD 05C4;05B0 05B7 05BC 05A5 0592 05C0 05AD 05C4;05B0 05B7 05BC 05A5 0592 05C0 05AD 05C4;
+#
+@Part1 # Character by character test
+# All characters not explicitly occurring in c1 of Part 1 have identical NFC, D, KC, KD forms.
+#
+00A0;00A0;00A0;0020;0020;
+00A8;00A8;00A8;0020 0308;0020 0308;
+00AA;00AA;00AA;0061;0061;
+00AF;00AF;00AF;0020 0304;0020 0304;
+00B2;00B2;00B2;0032;0032;
+00B3;00B3;00B3;0033;0033;
+00B4;00B4;00B4;0020 0301;0020 0301;
+00B5;00B5;00B5;03BC;03BC;
+00B8;00B8;00B8;0020 0327;0020 0327;
+00B9;00B9;00B9;0031;0031;
+00BA;00BA;00BA;006F;006F;
+00BC;00BC;00BC;0031 2044 0034;0031 2044 0034;
+00BD;00BD;00BD;0031 2044 0032;0031 2044 0032;
+00BE;00BE;00BE;0033 2044 0034;0033 2044 0034;
+00C0;00C0;0041 0300;00C0;0041 0300;
+00C1;00C1;0041 0301;00C1;0041 0301;
+00C2;00C2;0041 0302;00C2;0041 0302;
+00C3;00C3;0041 0303;00C3;0041 0303;
+00C4;00C4;0041 0308;00C4;0041 0308;
+00C5;00C5;0041 030A;00C5;0041 030A;
+00C7;00C7;0043 0327;00C7;0043 0327;
+00C8;00C8;0045 0300;00C8;0045 0300;
+00C9;00C9;0045 0301;00C9;0045 0301;
+00CA;00CA;0045 0302;00CA;0045 0302;
+00CB;00CB;0045 0308;00CB;0045 0308;
+00CC;00CC;0049 0300;00CC;0049 0300;
+00CD;00CD;0049 0301;00CD;0049 0301;
+00CE;00CE;0049 0302;00CE;0049 0302;
+00CF;00CF;0049 0308;00CF;0049 0308;
+00D1;00D1;004E 0303;00D1;004E 0303;
+00D2;00D2;004F 0300;00D2;004F 0300;
+00D3;00D3;004F 0301;00D3;004F 0301;
+00D4;00D4;004F 0302;00D4;004F 0302;
+00D5;00D5;004F 0303;00D5;004F 0303;
+00D6;00D6;004F 0308;00D6;004F 0308;
+00D9;00D9;0055 0300;00D9;0055 0300;
+00DA;00DA;0055 0301;00DA;0055 0301;
+00DB;00DB;0055 0302;00DB;0055 0302;
+00DC;00DC;0055 0308;00DC;0055 0308;
+00DD;00DD;0059 0301;00DD;0059 0301;
+00E0;00E0;0061 0300;00E0;0061 0300;
+00E1;00E1;0061 0301;00E1;0061 0301;
+00E2;00E2;0061 0302;00E2;0061 0302;
+00E3;00E3;0061 0303;00E3;0061 0303;
+00E4;00E4;0061 0308;00E4;0061 0308;
+00E5;00E5;0061 030A;00E5;0061 030A;
+00E7;00E7;0063 0327;00E7;0063 0327;
+00E8;00E8;0065 0300;00E8;0065 0300;
+00E9;00E9;0065 0301;00E9;0065 0301;
+00EA;00EA;0065 0302;00EA;0065 0302;
+00EB;00EB;0065 0308;00EB;0065 0308;
+00EC;00EC;0069 0300;00EC;0069 0300;
+00ED;00ED;0069 0301;00ED;0069 0301;
+00EE;00EE;0069 0302;00EE;0069 0302;
+00EF;00EF;0069 0308;00EF;0069 0308;
+00F1;00F1;006E 0303;00F1;006E 0303;
+00F2;00F2;006F 0300;00F2;006F 0300;
+00F3;00F3;006F 0301;00F3;006F 0301;
+00F4;00F4;006F 0302;00F4;006F 0302;
+00F5;00F5;006F 0303;00F5;006F 0303;
+00F6;00F6;006F 0308;00F6;006F 0308;
+00F9;00F9;0075 0300;00F9;0075 0300;
+00FA;00FA;0075 0301;00FA;0075 0301;
+00FB;00FB;0075 0302;00FB;0075 0302;
+00FC;00FC;0075 0308;00FC;0075 0308;
+00FD;00FD;0079 0301;00FD;0079 0301;
+00FF;00FF;0079 0308;00FF;0079 0308;
+0100;0100;0041 0304;0100;0041 0304;
+0101;0101;0061 0304;0101;0061 0304;
+0102;0102;0041 0306;0102;0041 0306;
+0103;0103;0061 0306;0103;0061 0306;
+0104;0104;0041 0328;0104;0041 0328;
+0105;0105;0061 0328;0105;0061 0328;
+0106;0106;0043 0301;0106;0043 0301;
+0107;0107;0063 0301;0107;0063 0301;
+0108;0108;0043 0302;0108;0043 0302;
+0109;0109;0063 0302;0109;0063 0302;
+010A;010A;0043 0307;010A;0043 0307;
+010B;010B;0063 0307;010B;0063 0307;
+010C;010C;0043 030C;010C;0043 030C;
+010D;010D;0063 030C;010D;0063 030C;
+010E;010E;0044 030C;010E;0044 030C;
+010F;010F;0064 030C;010F;0064 030C;
+0112;0112;0045 0304;0112;0045 0304;
+0113;0113;0065 0304;0113;0065 0304;
+0114;0114;0045 0306;0114;0045 0306;
+0115;0115;0065 0306;0115;0065 0306;
+0116;0116;0045 0307;0116;0045 0307;
+0117;0117;0065 0307;0117;0065 0307;
+0118;0118;0045 0328;0118;0045 0328;
+0119;0119;0065 0328;0119;0065 0328;
+011A;011A;0045 030C;011A;0045 030C;
+011B;011B;0065 030C;011B;0065 030C;
+011C;011C;0047 0302;011C;0047 0302;
+011D;011D;0067 0302;011D;0067 0302;
+011E;011E;0047 0306;011E;0047 0306;
+011F;011F;0067 0306;011F;0067 0306;
+0120;0120;0047 0307;0120;0047 0307;
+0121;0121;0067 0307;0121;0067 0307;
+0122;0122;0047 0327;0122;0047 0327;
+0123;0123;0067 0327;0123;0067 0327;
+0124;0124;0048 0302;0124;0048 0302;
+0125;0125;0068 0302;0125;0068 0302;
+0128;0128;0049 0303;0128;0049 0303;
+0129;0129;0069 0303;0129;0069 0303;
+012A;012A;0049 0304;012A;0049 0304;
+012B;012B;0069 0304;012B;0069 0304;
+012C;012C;0049 0306;012C;0049 0306;
+012D;012D;0069 0306;012D;0069 0306;
+012E;012E;0049 0328;012E;0049 0328;
+012F;012F;0069 0328;012F;0069 0328;
+0130;0130;0049 0307;0130;0049 0307;
+0132;0132;0132;0049 004A;0049 004A;
+0133;0133;0133;0069 006A;0069 006A;
+0134;0134;004A 0302;0134;004A 0302;
+0135;0135;006A 0302;0135;006A 0302;
+0136;0136;004B 0327;0136;004B 0327;
+0137;0137;006B 0327;0137;006B 0327;
+0139;0139;004C 0301;0139;004C 0301;
+013A;013A;006C 0301;013A;006C 0301;
+013B;013B;004C 0327;013B;004C 0327;
+013C;013C;006C 0327;013C;006C 0327;
+013D;013D;004C 030C;013D;004C 030C;
+013E;013E;006C 030C;013E;006C 030C;
+013F;013F;013F;004C 00B7;004C 00B7;
+0140;0140;0140;006C 00B7;006C 00B7;
+0143;0143;004E 0301;0143;004E 0301;
+0144;0144;006E 0301;0144;006E 0301;
+0145;0145;004E 0327;0145;004E 0327;
+0146;0146;006E 0327;0146;006E 0327;
+0147;0147;004E 030C;0147;004E 030C;
+0148;0148;006E 030C;0148;006E 030C;
+0149;0149;0149;02BC 006E;02BC 006E;
+014C;014C;004F 0304;014C;004F 0304;
+014D;014D;006F 0304;014D;006F 0304;
+014E;014E;004F 0306;014E;004F 0306;
+014F;014F;006F 0306;014F;006F 0306;
+0150;0150;004F 030B;0150;004F 030B;
+0151;0151;006F 030B;0151;006F 030B;
+0154;0154;0052 0301;0154;0052 0301;
+0155;0155;0072 0301;0155;0072 0301;
+0156;0156;0052 0327;0156;0052 0327;
+0157;0157;0072 0327;0157;0072 0327;
+0158;0158;0052 030C;0158;0052 030C;
+0159;0159;0072 030C;0159;0072 030C;
+015A;015A;0053 0301;015A;0053 0301;
+015B;015B;0073 0301;015B;0073 0301;
+015C;015C;0053 0302;015C;0053 0302;
+015D;015D;0073 0302;015D;0073 0302;
+015E;015E;0053 0327;015E;0053 0327;
+015F;015F;0073 0327;015F;0073 0327;
+0160;0160;0053 030C;0160;0053 030C;
+0161;0161;0073 030C;0161;0073 030C;
+0162;0162;0054 0327;0162;0054 0327;
+0163;0163;0074 0327;0163;0074 0327;
+0164;0164;0054 030C;0164;0054 030C;
+0165;0165;0074 030C;0165;0074 030C;
+0168;0168;0055 0303;0168;0055 0303;
+0169;0169;0075 0303;0169;0075 0303;
+016A;016A;0055 0304;016A;0055 0304;
+016B;016B;0075 0304;016B;0075 0304;
+016C;016C;0055 0306;016C;0055 0306;
+016D;016D;0075 0306;016D;0075 0306;
+016E;016E;0055 030A;016E;0055 030A;
+016F;016F;0075 030A;016F;0075 030A;
+0170;0170;0055 030B;0170;0055 030B;
+0171;0171;0075 030B;0171;0075 030B;
+0172;0172;0055 0328;0172;0055 0328;
+0173;0173;0075 0328;0173;0075 0328;
+0174;0174;0057 0302;0174;0057 0302;
+0175;0175;0077 0302;0175;0077 0302;
+0176;0176;0059 0302;0176;0059 0302;
+0177;0177;0079 0302;0177;0079 0302;
+0178;0178;0059 0308;0178;0059 0308;
+0179;0179;005A 0301;0179;005A 0301;
+017A;017A;007A 0301;017A;007A 0301;
+017B;017B;005A 0307;017B;005A 0307;
+017C;017C;007A 0307;017C;007A 0307;
+017D;017D;005A 030C;017D;005A 030C;
+017E;017E;007A 030C;017E;007A 030C;
+017F;017F;017F;0073;0073;
+01A0;01A0;004F 031B;01A0;004F 031B;
+01A1;01A1;006F 031B;01A1;006F 031B;
+01AF;01AF;0055 031B;01AF;0055 031B;
+01B0;01B0;0075 031B;01B0;0075 031B;
+01C4;01C4;01C4;0044 017D;0044 005A 030C;
+01C5;01C5;01C5;0044 017E;0044 007A 030C;
+01C6;01C6;01C6;0064 017E;0064 007A 030C;
+01C7;01C7;01C7;004C 004A;004C 004A;
+01C8;01C8;01C8;004C 006A;004C 006A;
+01C9;01C9;01C9;006C 006A;006C 006A;
+01CA;01CA;01CA;004E 004A;004E 004A;
+01CB;01CB;01CB;004E 006A;004E 006A;
+01CC;01CC;01CC;006E 006A;006E 006A;
+01CD;01CD;0041 030C;01CD;0041 030C;
+01CE;01CE;0061 030C;01CE;0061 030C;
+01CF;01CF;0049 030C;01CF;0049 030C;
+01D0;01D0;0069 030C;01D0;0069 030C;
+01D1;01D1;004F 030C;01D1;004F 030C;
+01D2;01D2;006F 030C;01D2;006F 030C;
+01D3;01D3;0055 030C;01D3;0055 030C;
+01D4;01D4;0075 030C;01D4;0075 030C;
+01D5;01D5;0055 0308 0304;01D5;0055 0308 0304;
+01D6;01D6;0075 0308 0304;01D6;0075 0308 0304;
+01D7;01D7;0055 0308 0301;01D7;0055 0308 0301;
+01D8;01D8;0075 0308 0301;01D8;0075 0308 0301;
+01D9;01D9;0055 0308 030C;01D9;0055 0308 030C;
+01DA;01DA;0075 0308 030C;01DA;0075 0308 030C;
+01DB;01DB;0055 0308 0300;01DB;0055 0308 0300;
+01DC;01DC;0075 0308 0300;01DC;0075 0308 0300;
+01DE;01DE;0041 0308 0304;01DE;0041 0308 0304;
+01DF;01DF;0061 0308 0304;01DF;0061 0308 0304;
+01E0;01E0;0041 0307 0304;01E0;0041 0307 0304;
+01E1;01E1;0061 0307 0304;01E1;0061 0307 0304;
+01E2;01E2;00C6 0304;01E2;00C6 0304;
+01E3;01E3;00E6 0304;01E3;00E6 0304;
+01E6;01E6;0047 030C;01E6;0047 030C;
+01E7;01E7;0067 030C;01E7;0067 030C;
+01E8;01E8;004B 030C;01E8;004B 030C;
+01E9;01E9;006B 030C;01E9;006B 030C;
+01EA;01EA;004F 0328;01EA;004F 0328;
+01EB;01EB;006F 0328;01EB;006F 0328;
+01EC;01EC;004F 0328 0304;01EC;004F 0328 0304;
+01ED;01ED;006F 0328 0304;01ED;006F 0328 0304;
+01EE;01EE;01B7 030C;01EE;01B7 030C;
+01EF;01EF;0292 030C;01EF;0292 030C;
+01F0;01F0;006A 030C;01F0;006A 030C;
+01F1;01F1;01F1;0044 005A;0044 005A;
+01F2;01F2;01F2;0044 007A;0044 007A;
+01F3;01F3;01F3;0064 007A;0064 007A;
+01F4;01F4;0047 0301;01F4;0047 0301;
+01F5;01F5;0067 0301;01F5;0067 0301;
+01F8;01F8;004E 0300;01F8;004E 0300;
+01F9;01F9;006E 0300;01F9;006E 0300;
+01FA;01FA;0041 030A 0301;01FA;0041 030A 0301;
+01FB;01FB;0061 030A 0301;01FB;0061 030A 0301;
+01FC;01FC;00C6 0301;01FC;00C6 0301;
+01FD;01FD;00E6 0301;01FD;00E6 0301;
+01FE;01FE;00D8 0301;01FE;00D8 0301;
+01FF;01FF;00F8 0301;01FF;00F8 0301;
+0200;0200;0041 030F;0200;0041 030F;
+0201;0201;0061 030F;0201;0061 030F;
+0202;0202;0041 0311;0202;0041 0311;
+0203;0203;0061 0311;0203;0061 0311;
+0204;0204;0045 030F;0204;0045 030F;
+0205;0205;0065 030F;0205;0065 030F;
+0206;0206;0045 0311;0206;0045 0311;
+0207;0207;0065 0311;0207;0065 0311;
+0208;0208;0049 030F;0208;0049 030F;
+0209;0209;0069 030F;0209;0069 030F;
+020A;020A;0049 0311;020A;0049 0311;
+020B;020B;0069 0311;020B;0069 0311;
+020C;020C;004F 030F;020C;004F 030F;
+020D;020D;006F 030F;020D;006F 030F;
+020E;020E;004F 0311;020E;004F 0311;
+020F;020F;006F 0311;020F;006F 0311;
+0210;0210;0052 030F;0210;0052 030F;
+0211;0211;0072 030F;0211;0072 030F;
+0212;0212;0052 0311;0212;0052 0311;
+0213;0213;0072 0311;0213;0072 0311;
+0214;0214;0055 030F;0214;0055 030F;
+0215;0215;0075 030F;0215;0075 030F;
+0216;0216;0055 0311;0216;0055 0311;
+0217;0217;0075 0311;0217;0075 0311;
+0218;0218;0053 0326;0218;0053 0326;
+0219;0219;0073 0326;0219;0073 0326;
+021A;021A;0054 0326;021A;0054 0326;
+021B;021B;0074 0326;021B;0074 0326;
+021E;021E;0048 030C;021E;0048 030C;
+021F;021F;0068 030C;021F;0068 030C;
+0226;0226;0041 0307;0226;0041 0307;
+0227;0227;0061 0307;0227;0061 0307;
+0228;0228;0045 0327;0228;0045 0327;
+0229;0229;0065 0327;0229;0065 0327;
+022A;022A;004F 0308 0304;022A;004F 0308 0304;
+022B;022B;006F 0308 0304;022B;006F 0308 0304;
+022C;022C;004F 0303 0304;022C;004F 0303 0304;
+022D;022D;006F 0303 0304;022D;006F 0303 0304;
+022E;022E;004F 0307;022E;004F 0307;
+022F;022F;006F 0307;022F;006F 0307;
+0230;0230;004F 0307 0304;0230;004F 0307 0304;
+0231;0231;006F 0307 0304;0231;006F 0307 0304;
+0232;0232;0059 0304;0232;0059 0304;
+0233;0233;0079 0304;0233;0079 0304;
+02B0;02B0;02B0;0068;0068;
+02B1;02B1;02B1;0266;0266;
+02B2;02B2;02B2;006A;006A;
+02B3;02B3;02B3;0072;0072;
+02B4;02B4;02B4;0279;0279;
+02B5;02B5;02B5;027B;027B;
+02B6;02B6;02B6;0281;0281;
+02B7;02B7;02B7;0077;0077;
+02B8;02B8;02B8;0079;0079;
+02D8;02D8;02D8;0020 0306;0020 0306;
+02D9;02D9;02D9;0020 0307;0020 0307;
+02DA;02DA;02DA;0020 030A;0020 030A;
+02DB;02DB;02DB;0020 0328;0020 0328;
+02DC;02DC;02DC;0020 0303;0020 0303;
+02DD;02DD;02DD;0020 030B;0020 030B;
+02E0;02E0;02E0;0263;0263;
+02E1;02E1;02E1;006C;006C;
+02E2;02E2;02E2;0073;0073;
+02E3;02E3;02E3;0078;0078;
+02E4;02E4;02E4;0295;0295;
+0340;0300;0300;0300;0300;
+0341;0301;0301;0301;0301;
+0343;0313;0313;0313;0313;
+0344;0308 0301;0308 0301;0308 0301;0308 0301;
+0374;02B9;02B9;02B9;02B9;
+037A;037A;037A;0020 0345;0020 0345;
+037E;003B;003B;003B;003B;
+0384;0384;0384;0020 0301;0020 0301;
+0385;0385;00A8 0301;0020 0308 0301;0020 0308 0301;
+0386;0386;0391 0301;0386;0391 0301;
+0387;00B7;00B7;00B7;00B7;
+0388;0388;0395 0301;0388;0395 0301;
+0389;0389;0397 0301;0389;0397 0301;
+038A;038A;0399 0301;038A;0399 0301;
+038C;038C;039F 0301;038C;039F 0301;
+038E;038E;03A5 0301;038E;03A5 0301;
+038F;038F;03A9 0301;038F;03A9 0301;
+0390;0390;03B9 0308 0301;0390;03B9 0308 0301;
+03AA;03AA;0399 0308;03AA;0399 0308;
+03AB;03AB;03A5 0308;03AB;03A5 0308;
+03AC;03AC;03B1 0301;03AC;03B1 0301;
+03AD;03AD;03B5 0301;03AD;03B5 0301;
+03AE;03AE;03B7 0301;03AE;03B7 0301;
+03AF;03AF;03B9 0301;03AF;03B9 0301;
+03B0;03B0;03C5 0308 0301;03B0;03C5 0308 0301;
+03CA;03CA;03B9 0308;03CA;03B9 0308;
+03CB;03CB;03C5 0308;03CB;03C5 0308;
+03CC;03CC;03BF 0301;03CC;03BF 0301;
+03CD;03CD;03C5 0301;03CD;03C5 0301;
+03CE;03CE;03C9 0301;03CE;03C9 0301;
+03D0;03D0;03D0;03B2;03B2;
+03D1;03D1;03D1;03B8;03B8;
+03D2;03D2;03D2;03A5;03A5;
+03D3;03D3;03D2 0301;038E;03A5 0301;
+03D4;03D4;03D2 0308;03AB;03A5 0308;
+03D5;03D5;03D5;03C6;03C6;
+03D6;03D6;03D6;03C0;03C0;
+03F0;03F0;03F0;03BA;03BA;
+03F1;03F1;03F1;03C1;03C1;
+03F2;03F2;03F2;03C2;03C2;
+03F4;03F4;03F4;0398;0398;
+03F5;03F5;03F5;03B5;03B5;
+0400;0400;0415 0300;0400;0415 0300;
+0401;0401;0415 0308;0401;0415 0308;
+0403;0403;0413 0301;0403;0413 0301;
+0407;0407;0406 0308;0407;0406 0308;
+040C;040C;041A 0301;040C;041A 0301;
+040D;040D;0418 0300;040D;0418 0300;
+040E;040E;0423 0306;040E;0423 0306;
+0419;0419;0418 0306;0419;0418 0306;
+0439;0439;0438 0306;0439;0438 0306;
+0450;0450;0435 0300;0450;0435 0300;
+0451;0451;0435 0308;0451;0435 0308;
+0453;0453;0433 0301;0453;0433 0301;
+0457;0457;0456 0308;0457;0456 0308;
+045C;045C;043A 0301;045C;043A 0301;
+045D;045D;0438 0300;045D;0438 0300;
+045E;045E;0443 0306;045E;0443 0306;
+0476;0476;0474 030F;0476;0474 030F;
+0477;0477;0475 030F;0477;0475 030F;
+04C1;04C1;0416 0306;04C1;0416 0306;
+04C2;04C2;0436 0306;04C2;0436 0306;
+04D0;04D0;0410 0306;04D0;0410 0306;
+04D1;04D1;0430 0306;04D1;0430 0306;
+04D2;04D2;0410 0308;04D2;0410 0308;
+04D3;04D3;0430 0308;04D3;0430 0308;
+04D6;04D6;0415 0306;04D6;0415 0306;
+04D7;04D7;0435 0306;04D7;0435 0306;
+04DA;04DA;04D8 0308;04DA;04D8 0308;
+04DB;04DB;04D9 0308;04DB;04D9 0308;
+04DC;04DC;0416 0308;04DC;0416 0308;
+04DD;04DD;0436 0308;04DD;0436 0308;
+04DE;04DE;0417 0308;04DE;0417 0308;
+04DF;04DF;0437 0308;04DF;0437 0308;
+04E2;04E2;0418 0304;04E2;0418 0304;
+04E3;04E3;0438 0304;04E3;0438 0304;
+04E4;04E4;0418 0308;04E4;0418 0308;
+04E5;04E5;0438 0308;04E5;0438 0308;
+04E6;04E6;041E 0308;04E6;041E 0308;
+04E7;04E7;043E 0308;04E7;043E 0308;
+04EA;04EA;04E8 0308;04EA;04E8 0308;
+04EB;04EB;04E9 0308;04EB;04E9 0308;
+04EC;04EC;042D 0308;04EC;042D 0308;
+04ED;04ED;044D 0308;04ED;044D 0308;
+04EE;04EE;0423 0304;04EE;0423 0304;
+04EF;04EF;0443 0304;04EF;0443 0304;
+04F0;04F0;0423 0308;04F0;0423 0308;
+04F1;04F1;0443 0308;04F1;0443 0308;
+04F2;04F2;0423 030B;04F2;0423 030B;
+04F3;04F3;0443 030B;04F3;0443 030B;
+04F4;04F4;0427 0308;04F4;0427 0308;
+04F5;04F5;0447 0308;04F5;0447 0308;
+04F8;04F8;042B 0308;04F8;042B 0308;
+04F9;04F9;044B 0308;04F9;044B 0308;
+0587;0587;0587;0565 0582;0565 0582;
+0622;0622;0627 0653;0622;0627 0653;
+0623;0623;0627 0654;0623;0627 0654;
+0624;0624;0648 0654;0624;0648 0654;
+0625;0625;0627 0655;0625;0627 0655;
+0626;0626;064A 0654;0626;064A 0654;
+0675;0675;0675;0627 0674;0627 0674;
+0676;0676;0676;0648 0674;0648 0674;
+0677;0677;0677;06C7 0674;06C7 0674;
+0678;0678;0678;064A 0674;064A 0674;
+06C0;06C0;06D5 0654;06C0;06D5 0654;
+06C2;06C2;06C1 0654;06C2;06C1 0654;
+06D3;06D3;06D2 0654;06D3;06D2 0654;
+0929;0929;0928 093C;0929;0928 093C;
+0931;0931;0930 093C;0931;0930 093C;
+0934;0934;0933 093C;0934;0933 093C;
+0958;0915 093C;0915 093C;0915 093C;0915 093C;
+0959;0916 093C;0916 093C;0916 093C;0916 093C;
+095A;0917 093C;0917 093C;0917 093C;0917 093C;
+095B;091C 093C;091C 093C;091C 093C;091C 093C;
+095C;0921 093C;0921 093C;0921 093C;0921 093C;
+095D;0922 093C;0922 093C;0922 093C;0922 093C;
+095E;092B 093C;092B 093C;092B 093C;092B 093C;
+095F;092F 093C;092F 093C;092F 093C;092F 093C;
+09CB;09CB;09C7 09BE;09CB;09C7 09BE;
+09CC;09CC;09C7 09D7;09CC;09C7 09D7;
+09DC;09A1 09BC;09A1 09BC;09A1 09BC;09A1 09BC;
+09DD;09A2 09BC;09A2 09BC;09A2 09BC;09A2 09BC;
+09DF;09AF 09BC;09AF 09BC;09AF 09BC;09AF 09BC;
+0A33;0A32 0A3C;0A32 0A3C;0A32 0A3C;0A32 0A3C;
+0A36;0A38 0A3C;0A38 0A3C;0A38 0A3C;0A38 0A3C;
+0A59;0A16 0A3C;0A16 0A3C;0A16 0A3C;0A16 0A3C;
+0A5A;0A17 0A3C;0A17 0A3C;0A17 0A3C;0A17 0A3C;
+0A5B;0A1C 0A3C;0A1C 0A3C;0A1C 0A3C;0A1C 0A3C;
+0A5E;0A2B 0A3C;0A2B 0A3C;0A2B 0A3C;0A2B 0A3C;
+0B48;0B48;0B47 0B56;0B48;0B47 0B56;
+0B4B;0B4B;0B47 0B3E;0B4B;0B47 0B3E;
+0B4C;0B4C;0B47 0B57;0B4C;0B47 0B57;
+0B5C;0B21 0B3C;0B21 0B3C;0B21 0B3C;0B21 0B3C;
+0B5D;0B22 0B3C;0B22 0B3C;0B22 0B3C;0B22 0B3C;
+0B94;0B94;0B92 0BD7;0B94;0B92 0BD7;
+0BCA;0BCA;0BC6 0BBE;0BCA;0BC6 0BBE;
+0BCB;0BCB;0BC7 0BBE;0BCB;0BC7 0BBE;
+0BCC;0BCC;0BC6 0BD7;0BCC;0BC6 0BD7;
+0C48;0C48;0C46 0C56;0C48;0C46 0C56;
+0CC0;0CC0;0CBF 0CD5;0CC0;0CBF 0CD5;
+0CC7;0CC7;0CC6 0CD5;0CC7;0CC6 0CD5;
+0CC8;0CC8;0CC6 0CD6;0CC8;0CC6 0CD6;
+0CCA;0CCA;0CC6 0CC2;0CCA;0CC6 0CC2;
+0CCB;0CCB;0CC6 0CC2 0CD5;0CCB;0CC6 0CC2 0CD5;
+0D4A;0D4A;0D46 0D3E;0D4A;0D46 0D3E;
+0D4B;0D4B;0D47 0D3E;0D4B;0D47 0D3E;
+0D4C;0D4C;0D46 0D57;0D4C;0D46 0D57;
+0DDA;0DDA;0DD9 0DCA;0DDA;0DD9 0DCA;
+0DDC;0DDC;0DD9 0DCF;0DDC;0DD9 0DCF;
+0DDD;0DDD;0DD9 0DCF 0DCA;0DDD;0DD9 0DCF 0DCA;
+0DDE;0DDE;0DD9 0DDF;0DDE;0DD9 0DDF;
+0E33;0E33;0E33;0E4D 0E32;0E4D 0E32;
+0EB3;0EB3;0EB3;0ECD 0EB2;0ECD 0EB2;
+0EDC;0EDC;0EDC;0EAB 0E99;0EAB 0E99;
+0EDD;0EDD;0EDD;0EAB 0EA1;0EAB 0EA1;
+0F0C;0F0C;0F0C;0F0B;0F0B;
+0F43;0F42 0FB7;0F42 0FB7;0F42 0FB7;0F42 0FB7;
+0F4D;0F4C 0FB7;0F4C 0FB7;0F4C 0FB7;0F4C 0FB7;
+0F52;0F51 0FB7;0F51 0FB7;0F51 0FB7;0F51 0FB7;
+0F57;0F56 0FB7;0F56 0FB7;0F56 0FB7;0F56 0FB7;
+0F5C;0F5B 0FB7;0F5B 0FB7;0F5B 0FB7;0F5B 0FB7;
+0F69;0F40 0FB5;0F40 0FB5;0F40 0FB5;0F40 0FB5;
+0F73;0F71 0F72;0F71 0F72;0F71 0F72;0F71 0F72;
+0F75;0F71 0F74;0F71 0F74;0F71 0F74;0F71 0F74;
+0F76;0FB2 0F80;0FB2 0F80;0FB2 0F80;0FB2 0F80;
+0F77;0F77;0F77;0FB2 0F71 0F80;0FB2 0F71 0F80;
+0F78;0FB3 0F80;0FB3 0F80;0FB3 0F80;0FB3 0F80;
+0F79;0F79;0F79;0FB3 0F71 0F80;0FB3 0F71 0F80;
+0F81;0F71 0F80;0F71 0F80;0F71 0F80;0F71 0F80;
+0F93;0F92 0FB7;0F92 0FB7;0F92 0FB7;0F92 0FB7;
+0F9D;0F9C 0FB7;0F9C 0FB7;0F9C 0FB7;0F9C 0FB7;
+0FA2;0FA1 0FB7;0FA1 0FB7;0FA1 0FB7;0FA1 0FB7;
+0FA7;0FA6 0FB7;0FA6 0FB7;0FA6 0FB7;0FA6 0FB7;
+0FAC;0FAB 0FB7;0FAB 0FB7;0FAB 0FB7;0FAB 0FB7;
+0FB9;0F90 0FB5;0F90 0FB5;0F90 0FB5;0F90 0FB5;
+1026;1026;1025 102E;1026;1025 102E;
+1E00;1E00;0041 0325;1E00;0041 0325;
+1E01;1E01;0061 0325;1E01;0061 0325;
+1E02;1E02;0042 0307;1E02;0042 0307;
+1E03;1E03;0062 0307;1E03;0062 0307;
+1E04;1E04;0042 0323;1E04;0042 0323;
+1E05;1E05;0062 0323;1E05;0062 0323;
+1E06;1E06;0042 0331;1E06;0042 0331;
+1E07;1E07;0062 0331;1E07;0062 0331;
+1E08;1E08;0043 0327 0301;1E08;0043 0327 0301;
+1E09;1E09;0063 0327 0301;1E09;0063 0327 0301;
+1E0A;1E0A;0044 0307;1E0A;0044 0307;
+1E0B;1E0B;0064 0307;1E0B;0064 0307;
+1E0C;1E0C;0044 0323;1E0C;0044 0323;
+1E0D;1E0D;0064 0323;1E0D;0064 0323;
+1E0E;1E0E;0044 0331;1E0E;0044 0331;
+1E0F;1E0F;0064 0331;1E0F;0064 0331;
+1E10;1E10;0044 0327;1E10;0044 0327;
+1E11;1E11;0064 0327;1E11;0064 0327;
+1E12;1E12;0044 032D;1E12;0044 032D;
+1E13;1E13;0064 032D;1E13;0064 032D;
+1E14;1E14;0045 0304 0300;1E14;0045 0304 0300;
+1E15;1E15;0065 0304 0300;1E15;0065 0304 0300;
+1E16;1E16;0045 0304 0301;1E16;0045 0304 0301;
+1E17;1E17;0065 0304 0301;1E17;0065 0304 0301;
+1E18;1E18;0045 032D;1E18;0045 032D;
+1E19;1E19;0065 032D;1E19;0065 032D;
+1E1A;1E1A;0045 0330;1E1A;0045 0330;
+1E1B;1E1B;0065 0330;1E1B;0065 0330;
+1E1C;1E1C;0045 0327 0306;1E1C;0045 0327 0306;
+1E1D;1E1D;0065 0327 0306;1E1D;0065 0327 0306;
+1E1E;1E1E;0046 0307;1E1E;0046 0307;
+1E1F;1E1F;0066 0307;1E1F;0066 0307;
+1E20;1E20;0047 0304;1E20;0047 0304;
+1E21;1E21;0067 0304;1E21;0067 0304;
+1E22;1E22;0048 0307;1E22;0048 0307;
+1E23;1E23;0068 0307;1E23;0068 0307;
+1E24;1E24;0048 0323;1E24;0048 0323;
+1E25;1E25;0068 0323;1E25;0068 0323;
+1E26;1E26;0048 0308;1E26;0048 0308;
+1E27;1E27;0068 0308;1E27;0068 0308;
+1E28;1E28;0048 0327;1E28;0048 0327;
+1E29;1E29;0068 0327;1E29;0068 0327;
+1E2A;1E2A;0048 032E;1E2A;0048 032E;
+1E2B;1E2B;0068 032E;1E2B;0068 032E;
+1E2C;1E2C;0049 0330;1E2C;0049 0330;
+1E2D;1E2D;0069 0330;1E2D;0069 0330;
+1E2E;1E2E;0049 0308 0301;1E2E;0049 0308 0301;
+1E2F;1E2F;0069 0308 0301;1E2F;0069 0308 0301;
+1E30;1E30;004B 0301;1E30;004B 0301;
+1E31;1E31;006B 0301;1E31;006B 0301;
+1E32;1E32;004B 0323;1E32;004B 0323;
+1E33;1E33;006B 0323;1E33;006B 0323;
+1E34;1E34;004B 0331;1E34;004B 0331;
+1E35;1E35;006B 0331;1E35;006B 0331;
+1E36;1E36;004C 0323;1E36;004C 0323;
+1E37;1E37;006C 0323;1E37;006C 0323;
+1E38;1E38;004C 0323 0304;1E38;004C 0323 0304;
+1E39;1E39;006C 0323 0304;1E39;006C 0323 0304;
+1E3A;1E3A;004C 0331;1E3A;004C 0331;
+1E3B;1E3B;006C 0331;1E3B;006C 0331;
+1E3C;1E3C;004C 032D;1E3C;004C 032D;
+1E3D;1E3D;006C 032D;1E3D;006C 032D;
+1E3E;1E3E;004D 0301;1E3E;004D 0301;
+1E3F;1E3F;006D 0301;1E3F;006D 0301;
+1E40;1E40;004D 0307;1E40;004D 0307;
+1E41;1E41;006D 0307;1E41;006D 0307;
+1E42;1E42;004D 0323;1E42;004D 0323;
+1E43;1E43;006D 0323;1E43;006D 0323;
+1E44;1E44;004E 0307;1E44;004E 0307;
+1E45;1E45;006E 0307;1E45;006E 0307;
+1E46;1E46;004E 0323;1E46;004E 0323;
+1E47;1E47;006E 0323;1E47;006E 0323;
+1E48;1E48;004E 0331;1E48;004E 0331;
+1E49;1E49;006E 0331;1E49;006E 0331;
+1E4A;1E4A;004E 032D;1E4A;004E 032D;
+1E4B;1E4B;006E 032D;1E4B;006E 032D;
+1E4C;1E4C;004F 0303 0301;1E4C;004F 0303 0301;
+1E4D;1E4D;006F 0303 0301;1E4D;006F 0303 0301;
+1E4E;1E4E;004F 0303 0308;1E4E;004F 0303 0308;
+1E4F;1E4F;006F 0303 0308;1E4F;006F 0303 0308;
+1E50;1E50;004F 0304 0300;1E50;004F 0304 0300;
+1E51;1E51;006F 0304 0300;1E51;006F 0304 0300;
+1E52;1E52;004F 0304 0301;1E52;004F 0304 0301;
+1E53;1E53;006F 0304 0301;1E53;006F 0304 0301;
+1E54;1E54;0050 0301;1E54;0050 0301;
+1E55;1E55;0070 0301;1E55;0070 0301;
+1E56;1E56;0050 0307;1E56;0050 0307;
+1E57;1E57;0070 0307;1E57;0070 0307;
+1E58;1E58;0052 0307;1E58;0052 0307;
+1E59;1E59;0072 0307;1E59;0072 0307;
+1E5A;1E5A;0052 0323;1E5A;0052 0323;
+1E5B;1E5B;0072 0323;1E5B;0072 0323;
+1E5C;1E5C;0052 0323 0304;1E5C;0052 0323 0304;
+1E5D;1E5D;0072 0323 0304;1E5D;0072 0323 0304;
+1E5E;1E5E;0052 0331;1E5E;0052 0331;
+1E5F;1E5F;0072 0331;1E5F;0072 0331;
+1E60;1E60;0053 0307;1E60;0053 0307;
+1E61;1E61;0073 0307;1E61;0073 0307;
+1E62;1E62;0053 0323;1E62;0053 0323;
+1E63;1E63;0073 0323;1E63;0073 0323;
+1E64;1E64;0053 0301 0307;1E64;0053 0301 0307;
+1E65;1E65;0073 0301 0307;1E65;0073 0301 0307;
+1E66;1E66;0053 030C 0307;1E66;0053 030C 0307;
+1E67;1E67;0073 030C 0307;1E67;0073 030C 0307;
+1E68;1E68;0053 0323 0307;1E68;0053 0323 0307;
+1E69;1E69;0073 0323 0307;1E69;0073 0323 0307;
+1E6A;1E6A;0054 0307;1E6A;0054 0307;
+1E6B;1E6B;0074 0307;1E6B;0074 0307;
+1E6C;1E6C;0054 0323;1E6C;0054 0323;
+1E6D;1E6D;0074 0323;1E6D;0074 0323;
+1E6E;1E6E;0054 0331;1E6E;0054 0331;
+1E6F;1E6F;0074 0331;1E6F;0074 0331;
+1E70;1E70;0054 032D;1E70;0054 032D;
+1E71;1E71;0074 032D;1E71;0074 032D;
+1E72;1E72;0055 0324;1E72;0055 0324;
+1E73;1E73;0075 0324;1E73;0075 0324;
+1E74;1E74;0055 0330;1E74;0055 0330;
+1E75;1E75;0075 0330;1E75;0075 0330;
+1E76;1E76;0055 032D;1E76;0055 032D;
+1E77;1E77;0075 032D;1E77;0075 032D;
+1E78;1E78;0055 0303 0301;1E78;0055 0303 0301;
+1E79;1E79;0075 0303 0301;1E79;0075 0303 0301;
+1E7A;1E7A;0055 0304 0308;1E7A;0055 0304 0308;
+1E7B;1E7B;0075 0304 0308;1E7B;0075 0304 0308;
+1E7C;1E7C;0056 0303;1E7C;0056 0303;
+1E7D;1E7D;0076 0303;1E7D;0076 0303;
+1E7E;1E7E;0056 0323;1E7E;0056 0323;
+1E7F;1E7F;0076 0323;1E7F;0076 0323;
+1E80;1E80;0057 0300;1E80;0057 0300;
+1E81;1E81;0077 0300;1E81;0077 0300;
+1E82;1E82;0057 0301;1E82;0057 0301;
+1E83;1E83;0077 0301;1E83;0077 0301;
+1E84;1E84;0057 0308;1E84;0057 0308;
+1E85;1E85;0077 0308;1E85;0077 0308;
+1E86;1E86;0057 0307;1E86;0057 0307;
+1E87;1E87;0077 0307;1E87;0077 0307;
+1E88;1E88;0057 0323;1E88;0057 0323;
+1E89;1E89;0077 0323;1E89;0077 0323;
+1E8A;1E8A;0058 0307;1E8A;0058 0307;
+1E8B;1E8B;0078 0307;1E8B;0078 0307;
+1E8C;1E8C;0058 0308;1E8C;0058 0308;
+1E8D;1E8D;0078 0308;1E8D;0078 0308;
+1E8E;1E8E;0059 0307;1E8E;0059 0307;
+1E8F;1E8F;0079 0307;1E8F;0079 0307;
+1E90;1E90;005A 0302;1E90;005A 0302;
+1E91;1E91;007A 0302;1E91;007A 0302;
+1E92;1E92;005A 0323;1E92;005A 0323;
+1E93;1E93;007A 0323;1E93;007A 0323;
+1E94;1E94;005A 0331;1E94;005A 0331;
+1E95;1E95;007A 0331;1E95;007A 0331;
+1E96;1E96;0068 0331;1E96;0068 0331;
+1E97;1E97;0074 0308;1E97;0074 0308;
+1E98;1E98;0077 030A;1E98;0077 030A;
+1E99;1E99;0079 030A;1E99;0079 030A;
+1E9A;1E9A;1E9A;0061 02BE;0061 02BE;
+1E9B;1E9B;017F 0307;1E61;0073 0307;
+1EA0;1EA0;0041 0323;1EA0;0041 0323;
+1EA1;1EA1;0061 0323;1EA1;0061 0323;
+1EA2;1EA2;0041 0309;1EA2;0041 0309;
+1EA3;1EA3;0061 0309;1EA3;0061 0309;
+1EA4;1EA4;0041 0302 0301;1EA4;0041 0302 0301;
+1EA5;1EA5;0061 0302 0301;1EA5;0061 0302 0301;
+1EA6;1EA6;0041 0302 0300;1EA6;0041 0302 0300;
+1EA7;1EA7;0061 0302 0300;1EA7;0061 0302 0300;
+1EA8;1EA8;0041 0302 0309;1EA8;0041 0302 0309;
+1EA9;1EA9;0061 0302 0309;1EA9;0061 0302 0309;
+1EAA;1EAA;0041 0302 0303;1EAA;0041 0302 0303;
+1EAB;1EAB;0061 0302 0303;1EAB;0061 0302 0303;
+1EAC;1EAC;0041 0323 0302;1EAC;0041 0323 0302;
+1EAD;1EAD;0061 0323 0302;1EAD;0061 0323 0302;
+1EAE;1EAE;0041 0306 0301;1EAE;0041 0306 0301;
+1EAF;1EAF;0061 0306 0301;1EAF;0061 0306 0301;
+1EB0;1EB0;0041 0306 0300;1EB0;0041 0306 0300;
+1EB1;1EB1;0061 0306 0300;1EB1;0061 0306 0300;
+1EB2;1EB2;0041 0306 0309;1EB2;0041 0306 0309;
+1EB3;1EB3;0061 0306 0309;1EB3;0061 0306 0309;
+1EB4;1EB4;0041 0306 0303;1EB4;0041 0306 0303;
+1EB5;1EB5;0061 0306 0303;1EB5;0061 0306 0303;
+1EB6;1EB6;0041 0323 0306;1EB6;0041 0323 0306;
+1EB7;1EB7;0061 0323 0306;1EB7;0061 0323 0306;
+1EB8;1EB8;0045 0323;1EB8;0045 0323;
+1EB9;1EB9;0065 0323;1EB9;0065 0323;
+1EBA;1EBA;0045 0309;1EBA;0045 0309;
+1EBB;1EBB;0065 0309;1EBB;0065 0309;
+1EBC;1EBC;0045 0303;1EBC;0045 0303;
+1EBD;1EBD;0065 0303;1EBD;0065 0303;
+1EBE;1EBE;0045 0302 0301;1EBE;0045 0302 0301;
+1EBF;1EBF;0065 0302 0301;1EBF;0065 0302 0301;
+1EC0;1EC0;0045 0302 0300;1EC0;0045 0302 0300;
+1EC1;1EC1;0065 0302 0300;1EC1;0065 0302 0300;
+1EC2;1EC2;0045 0302 0309;1EC2;0045 0302 0309;
+1EC3;1EC3;0065 0302 0309;1EC3;0065 0302 0309;
+1EC4;1EC4;0045 0302 0303;1EC4;0045 0302 0303;
+1EC5;1EC5;0065 0302 0303;1EC5;0065 0302 0303;
+1EC6;1EC6;0045 0323 0302;1EC6;0045 0323 0302;
+1EC7;1EC7;0065 0323 0302;1EC7;0065 0323 0302;
+1EC8;1EC8;0049 0309;1EC8;0049 0309;
+1EC9;1EC9;0069 0309;1EC9;0069 0309;
+1ECA;1ECA;0049 0323;1ECA;0049 0323;
+1ECB;1ECB;0069 0323;1ECB;0069 0323;
+1ECC;1ECC;004F 0323;1ECC;004F 0323;
+1ECD;1ECD;006F 0323;1ECD;006F 0323;
+1ECE;1ECE;004F 0309;1ECE;004F 0309;
+1ECF;1ECF;006F 0309;1ECF;006F 0309;
+1ED0;1ED0;004F 0302 0301;1ED0;004F 0302 0301;
+1ED1;1ED1;006F 0302 0301;1ED1;006F 0302 0301;
+1ED2;1ED2;004F 0302 0300;1ED2;004F 0302 0300;
+1ED3;1ED3;006F 0302 0300;1ED3;006F 0302 0300;
+1ED4;1ED4;004F 0302 0309;1ED4;004F 0302 0309;
+1ED5;1ED5;006F 0302 0309;1ED5;006F 0302 0309;
+1ED6;1ED6;004F 0302 0303;1ED6;004F 0302 0303;
+1ED7;1ED7;006F 0302 0303;1ED7;006F 0302 0303;
+1ED8;1ED8;004F 0323 0302;1ED8;004F 0323 0302;
+1ED9;1ED9;006F 0323 0302;1ED9;006F 0323 0302;
+1EDA;1EDA;004F 031B 0301;1EDA;004F 031B 0301;
+1EDB;1EDB;006F 031B 0301;1EDB;006F 031B 0301;
+1EDC;1EDC;004F 031B 0300;1EDC;004F 031B 0300;
+1EDD;1EDD;006F 031B 0300;1EDD;006F 031B 0300;
+1EDE;1EDE;004F 031B 0309;1EDE;004F 031B 0309;
+1EDF;1EDF;006F 031B 0309;1EDF;006F 031B 0309;
+1EE0;1EE0;004F 031B 0303;1EE0;004F 031B 0303;
+1EE1;1EE1;006F 031B 0303;1EE1;006F 031B 0303;
+1EE2;1EE2;004F 031B 0323;1EE2;004F 031B 0323;
+1EE3;1EE3;006F 031B 0323;1EE3;006F 031B 0323;
+1EE4;1EE4;0055 0323;1EE4;0055 0323;
+1EE5;1EE5;0075 0323;1EE5;0075 0323;
+1EE6;1EE6;0055 0309;1EE6;0055 0309;
+1EE7;1EE7;0075 0309;1EE7;0075 0309;
+1EE8;1EE8;0055 031B 0301;1EE8;0055 031B 0301;
+1EE9;1EE9;0075 031B 0301;1EE9;0075 031B 0301;
+1EEA;1EEA;0055 031B 0300;1EEA;0055 031B 0300;
+1EEB;1EEB;0075 031B 0300;1EEB;0075 031B 0300;
+1EEC;1EEC;0055 031B 0309;1EEC;0055 031B 0309;
+1EED;1EED;0075 031B 0309;1EED;0075 031B 0309;
+1EEE;1EEE;0055 031B 0303;1EEE;0055 031B 0303;
+1EEF;1EEF;0075 031B 0303;1EEF;0075 031B 0303;
+1EF0;1EF0;0055 031B 0323;1EF0;0055 031B 0323;
+1EF1;1EF1;0075 031B 0323;1EF1;0075 031B 0323;
+1EF2;1EF2;0059 0300;1EF2;0059 0300;
+1EF3;1EF3;0079 0300;1EF3;0079 0300;
+1EF4;1EF4;0059 0323;1EF4;0059 0323;
+1EF5;1EF5;0079 0323;1EF5;0079 0323;
+1EF6;1EF6;0059 0309;1EF6;0059 0309;
+1EF7;1EF7;0079 0309;1EF7;0079 0309;
+1EF8;1EF8;0059 0303;1EF8;0059 0303;
+1EF9;1EF9;0079 0303;1EF9;0079 0303;
+1F00;1F00;03B1 0313;1F00;03B1 0313;
+1F01;1F01;03B1 0314;1F01;03B1 0314;
+1F02;1F02;03B1 0313 0300;1F02;03B1 0313 0300;
+1F03;1F03;03B1 0314 0300;1F03;03B1 0314 0300;
+1F04;1F04;03B1 0313 0301;1F04;03B1 0313 0301;
+1F05;1F05;03B1 0314 0301;1F05;03B1 0314 0301;
+1F06;1F06;03B1 0313 0342;1F06;03B1 0313 0342;
+1F07;1F07;03B1 0314 0342;1F07;03B1 0314 0342;
+1F08;1F08;0391 0313;1F08;0391 0313;
+1F09;1F09;0391 0314;1F09;0391 0314;
+1F0A;1F0A;0391 0313 0300;1F0A;0391 0313 0300;
+1F0B;1F0B;0391 0314 0300;1F0B;0391 0314 0300;
+1F0C;1F0C;0391 0313 0301;1F0C;0391 0313 0301;
+1F0D;1F0D;0391 0314 0301;1F0D;0391 0314 0301;
+1F0E;1F0E;0391 0313 0342;1F0E;0391 0313 0342;
+1F0F;1F0F;0391 0314 0342;1F0F;0391 0314 0342;
+1F10;1F10;03B5 0313;1F10;03B5 0313;
+1F11;1F11;03B5 0314;1F11;03B5 0314;
+1F12;1F12;03B5 0313 0300;1F12;03B5 0313 0300;
+1F13;1F13;03B5 0314 0300;1F13;03B5 0314 0300;
+1F14;1F14;03B5 0313 0301;1F14;03B5 0313 0301;
+1F15;1F15;03B5 0314 0301;1F15;03B5 0314 0301;
+1F18;1F18;0395 0313;1F18;0395 0313;
+1F19;1F19;0395 0314;1F19;0395 0314;
+1F1A;1F1A;0395 0313 0300;1F1A;0395 0313 0300;
+1F1B;1F1B;0395 0314 0300;1F1B;0395 0314 0300;
+1F1C;1F1C;0395 0313 0301;1F1C;0395 0313 0301;
+1F1D;1F1D;0395 0314 0301;1F1D;0395 0314 0301;
+1F20;1F20;03B7 0313;1F20;03B7 0313;
+1F21;1F21;03B7 0314;1F21;03B7 0314;
+1F22;1F22;03B7 0313 0300;1F22;03B7 0313 0300;
+1F23;1F23;03B7 0314 0300;1F23;03B7 0314 0300;
+1F24;1F24;03B7 0313 0301;1F24;03B7 0313 0301;
+1F25;1F25;03B7 0314 0301;1F25;03B7 0314 0301;
+1F26;1F26;03B7 0313 0342;1F26;03B7 0313 0342;
+1F27;1F27;03B7 0314 0342;1F27;03B7 0314 0342;
+1F28;1F28;0397 0313;1F28;0397 0313;
+1F29;1F29;0397 0314;1F29;0397 0314;
+1F2A;1F2A;0397 0313 0300;1F2A;0397 0313 0300;
+1F2B;1F2B;0397 0314 0300;1F2B;0397 0314 0300;
+1F2C;1F2C;0397 0313 0301;1F2C;0397 0313 0301;
+1F2D;1F2D;0397 0314 0301;1F2D;0397 0314 0301;
+1F2E;1F2E;0397 0313 0342;1F2E;0397 0313 0342;
+1F2F;1F2F;0397 0314 0342;1F2F;0397 0314 0342;
+1F30;1F30;03B9 0313;1F30;03B9 0313;
+1F31;1F31;03B9 0314;1F31;03B9 0314;
+1F32;1F32;03B9 0313 0300;1F32;03B9 0313 0300;
+1F33;1F33;03B9 0314 0300;1F33;03B9 0314 0300;
+1F34;1F34;03B9 0313 0301;1F34;03B9 0313 0301;
+1F35;1F35;03B9 0314 0301;1F35;03B9 0314 0301;
+1F36;1F36;03B9 0313 0342;1F36;03B9 0313 0342;
+1F37;1F37;03B9 0314 0342;1F37;03B9 0314 0342;
+1F38;1F38;0399 0313;1F38;0399 0313;
+1F39;1F39;0399 0314;1F39;0399 0314;
+1F3A;1F3A;0399 0313 0300;1F3A;0399 0313 0300;
+1F3B;1F3B;0399 0314 0300;1F3B;0399 0314 0300;
+1F3C;1F3C;0399 0313 0301;1F3C;0399 0313 0301;
+1F3D;1F3D;0399 0314 0301;1F3D;0399 0314 0301;
+1F3E;1F3E;0399 0313 0342;1F3E;0399 0313 0342;
+1F3F;1F3F;0399 0314 0342;1F3F;0399 0314 0342;
+1F40;1F40;03BF 0313;1F40;03BF 0313;
+1F41;1F41;03BF 0314;1F41;03BF 0314;
+1F42;1F42;03BF 0313 0300;1F42;03BF 0313 0300;
+1F43;1F43;03BF 0314 0300;1F43;03BF 0314 0300;
+1F44;1F44;03BF 0313 0301;1F44;03BF 0313 0301;
+1F45;1F45;03BF 0314 0301;1F45;03BF 0314 0301;
+1F48;1F48;039F 0313;1F48;039F 0313;
+1F49;1F49;039F 0314;1F49;039F 0314;
+1F4A;1F4A;039F 0313 0300;1F4A;039F 0313 0300;
+1F4B;1F4B;039F 0314 0300;1F4B;039F 0314 0300;
+1F4C;1F4C;039F 0313 0301;1F4C;039F 0313 0301;
+1F4D;1F4D;039F 0314 0301;1F4D;039F 0314 0301;
+1F50;1F50;03C5 0313;1F50;03C5 0313;
+1F51;1F51;03C5 0314;1F51;03C5 0314;
+1F52;1F52;03C5 0313 0300;1F52;03C5 0313 0300;
+1F53;1F53;03C5 0314 0300;1F53;03C5 0314 0300;
+1F54;1F54;03C5 0313 0301;1F54;03C5 0313 0301;
+1F55;1F55;03C5 0314 0301;1F55;03C5 0314 0301;
+1F56;1F56;03C5 0313 0342;1F56;03C5 0313 0342;
+1F57;1F57;03C5 0314 0342;1F57;03C5 0314 0342;
+1F59;1F59;03A5 0314;1F59;03A5 0314;
+1F5B;1F5B;03A5 0314 0300;1F5B;03A5 0314 0300;
+1F5D;1F5D;03A5 0314 0301;1F5D;03A5 0314 0301;
+1F5F;1F5F;03A5 0314 0342;1F5F;03A5 0314 0342;
+1F60;1F60;03C9 0313;1F60;03C9 0313;
+1F61;1F61;03C9 0314;1F61;03C9 0314;
+1F62;1F62;03C9 0313 0300;1F62;03C9 0313 0300;
+1F63;1F63;03C9 0314 0300;1F63;03C9 0314 0300;
+1F64;1F64;03C9 0313 0301;1F64;03C9 0313 0301;
+1F65;1F65;03C9 0314 0301;1F65;03C9 0314 0301;
+1F66;1F66;03C9 0313 0342;1F66;03C9 0313 0342;
+1F67;1F67;03C9 0314 0342;1F67;03C9 0314 0342;
+1F68;1F68;03A9 0313;1F68;03A9 0313;
+1F69;1F69;03A9 0314;1F69;03A9 0314;
+1F6A;1F6A;03A9 0313 0300;1F6A;03A9 0313 0300;
+1F6B;1F6B;03A9 0314 0300;1F6B;03A9 0314 0300;
+1F6C;1F6C;03A9 0313 0301;1F6C;03A9 0313 0301;
+1F6D;1F6D;03A9 0314 0301;1F6D;03A9 0314 0301;
+1F6E;1F6E;03A9 0313 0342;1F6E;03A9 0313 0342;
+1F6F;1F6F;03A9 0314 0342;1F6F;03A9 0314 0342;
+1F70;1F70;03B1 0300;1F70;03B1 0300;
+1F71;03AC;03B1 0301;03AC;03B1 0301;
+1F72;1F72;03B5 0300;1F72;03B5 0300;
+1F73;03AD;03B5 0301;03AD;03B5 0301;
+1F74;1F74;03B7 0300;1F74;03B7 0300;
+1F75;03AE;03B7 0301;03AE;03B7 0301;
+1F76;1F76;03B9 0300;1F76;03B9 0300;
+1F77;03AF;03B9 0301;03AF;03B9 0301;
+1F78;1F78;03BF 0300;1F78;03BF 0300;
+1F79;03CC;03BF 0301;03CC;03BF 0301;
+1F7A;1F7A;03C5 0300;1F7A;03C5 0300;
+1F7B;03CD;03C5 0301;03CD;03C5 0301;
+1F7C;1F7C;03C9 0300;1F7C;03C9 0300;
+1F7D;03CE;03C9 0301;03CE;03C9 0301;
+1F80;1F80;03B1 0313 0345;1F80;03B1 0313 0345;
+1F81;1F81;03B1 0314 0345;1F81;03B1 0314 0345;
+1F82;1F82;03B1 0313 0300 0345;1F82;03B1 0313 0300 0345;
+1F83;1F83;03B1 0314 0300 0345;1F83;03B1 0314 0300 0345;
+1F84;1F84;03B1 0313 0301 0345;1F84;03B1 0313 0301 0345;
+1F85;1F85;03B1 0314 0301 0345;1F85;03B1 0314 0301 0345;
+1F86;1F86;03B1 0313 0342 0345;1F86;03B1 0313 0342 0345;
+1F87;1F87;03B1 0314 0342 0345;1F87;03B1 0314 0342 0345;
+1F88;1F88;0391 0313 0345;1F88;0391 0313 0345;
+1F89;1F89;0391 0314 0345;1F89;0391 0314 0345;
+1F8A;1F8A;0391 0313 0300 0345;1F8A;0391 0313 0300 0345;
+1F8B;1F8B;0391 0314 0300 0345;1F8B;0391 0314 0300 0345;
+1F8C;1F8C;0391 0313 0301 0345;1F8C;0391 0313 0301 0345;
+1F8D;1F8D;0391 0314 0301 0345;1F8D;0391 0314 0301 0345;
+1F8E;1F8E;0391 0313 0342 0345;1F8E;0391 0313 0342 0345;
+1F8F;1F8F;0391 0314 0342 0345;1F8F;0391 0314 0342 0345;
+1F90;1F90;03B7 0313 0345;1F90;03B7 0313 0345;
+1F91;1F91;03B7 0314 0345;1F91;03B7 0314 0345;
+1F92;1F92;03B7 0313 0300 0345;1F92;03B7 0313 0300 0345;
+1F93;1F93;03B7 0314 0300 0345;1F93;03B7 0314 0300 0345;
+1F94;1F94;03B7 0313 0301 0345;1F94;03B7 0313 0301 0345;
+1F95;1F95;03B7 0314 0301 0345;1F95;03B7 0314 0301 0345;
+1F96;1F96;03B7 0313 0342 0345;1F96;03B7 0313 0342 0345;
+1F97;1F97;03B7 0314 0342 0345;1F97;03B7 0314 0342 0345;
+1F98;1F98;0397 0313 0345;1F98;0397 0313 0345;
+1F99;1F99;0397 0314 0345;1F99;0397 0314 0345;
+1F9A;1F9A;0397 0313 0300 0345;1F9A;0397 0313 0300 0345;
+1F9B;1F9B;0397 0314 0300 0345;1F9B;0397 0314 0300 0345;
+1F9C;1F9C;0397 0313 0301 0345;1F9C;0397 0313 0301 0345;
+1F9D;1F9D;0397 0314 0301 0345;1F9D;0397 0314 0301 0345;
+1F9E;1F9E;0397 0313 0342 0345;1F9E;0397 0313 0342 0345;
+1F9F;1F9F;0397 0314 0342 0345;1F9F;0397 0314 0342 0345;
+1FA0;1FA0;03C9 0313 0345;1FA0;03C9 0313 0345;
+1FA1;1FA1;03C9 0314 0345;1FA1;03C9 0314 0345;
+1FA2;1FA2;03C9 0313 0300 0345;1FA2;03C9 0313 0300 0345;
+1FA3;1FA3;03C9 0314 0300 0345;1FA3;03C9 0314 0300 0345;
+1FA4;1FA4;03C9 0313 0301 0345;1FA4;03C9 0313 0301 0345;
+1FA5;1FA5;03C9 0314 0301 0345;1FA5;03C9 0314 0301 0345;
+1FA6;1FA6;03C9 0313 0342 0345;1FA6;03C9 0313 0342 0345;
+1FA7;1FA7;03C9 0314 0342 0345;1FA7;03C9 0314 0342 0345;
+1FA8;1FA8;03A9 0313 0345;1FA8;03A9 0313 0345;
+1FA9;1FA9;03A9 0314 0345;1FA9;03A9 0314 0345;
+1FAA;1FAA;03A9 0313 0300 0345;1FAA;03A9 0313 0300 0345;
+1FAB;1FAB;03A9 0314 0300 0345;1FAB;03A9 0314 0300 0345;
+1FAC;1FAC;03A9 0313 0301 0345;1FAC;03A9 0313 0301 0345;
+1FAD;1FAD;03A9 0314 0301 0345;1FAD;03A9 0314 0301 0345;
+1FAE;1FAE;03A9 0313 0342 0345;1FAE;03A9 0313 0342 0345;
+1FAF;1FAF;03A9 0314 0342 0345;1FAF;03A9 0314 0342 0345;
+1FB0;1FB0;03B1 0306;1FB0;03B1 0306;
+1FB1;1FB1;03B1 0304;1FB1;03B1 0304;
+1FB2;1FB2;03B1 0300 0345;1FB2;03B1 0300 0345;
+1FB3;1FB3;03B1 0345;1FB3;03B1 0345;
+1FB4;1FB4;03B1 0301 0345;1FB4;03B1 0301 0345;
+1FB6;1FB6;03B1 0342;1FB6;03B1 0342;
+1FB7;1FB7;03B1 0342 0345;1FB7;03B1 0342 0345;
+1FB8;1FB8;0391 0306;1FB8;0391 0306;
+1FB9;1FB9;0391 0304;1FB9;0391 0304;
+1FBA;1FBA;0391 0300;1FBA;0391 0300;
+1FBB;0386;0391 0301;0386;0391 0301;
+1FBC;1FBC;0391 0345;1FBC;0391 0345;
+1FBD;1FBD;1FBD;0020 0313;0020 0313;
+1FBE;03B9;03B9;03B9;03B9;
+1FBF;1FBF;1FBF;0020 0313;0020 0313;
+1FC0;1FC0;1FC0;0020 0342;0020 0342;
+1FC1;1FC1;00A8 0342;0020 0308 0342;0020 0308 0342;
+1FC2;1FC2;03B7 0300 0345;1FC2;03B7 0300 0345;
+1FC3;1FC3;03B7 0345;1FC3;03B7 0345;
+1FC4;1FC4;03B7 0301 0345;1FC4;03B7 0301 0345;
+1FC6;1FC6;03B7 0342;1FC6;03B7 0342;
+1FC7;1FC7;03B7 0342 0345;1FC7;03B7 0342 0345;
+1FC8;1FC8;0395 0300;1FC8;0395 0300;
+1FC9;0388;0395 0301;0388;0395 0301;
+1FCA;1FCA;0397 0300;1FCA;0397 0300;
+1FCB;0389;0397 0301;0389;0397 0301;
+1FCC;1FCC;0397 0345;1FCC;0397 0345;
+1FCD;1FCD;1FBF 0300;0020 0313 0300;0020 0313 0300;
+1FCE;1FCE;1FBF 0301;0020 0313 0301;0020 0313 0301;
+1FCF;1FCF;1FBF 0342;0020 0313 0342;0020 0313 0342;
+1FD0;1FD0;03B9 0306;1FD0;03B9 0306;
+1FD1;1FD1;03B9 0304;1FD1;03B9 0304;
+1FD2;1FD2;03B9 0308 0300;1FD2;03B9 0308 0300;
+1FD3;0390;03B9 0308 0301;0390;03B9 0308 0301;
+1FD6;1FD6;03B9 0342;1FD6;03B9 0342;
+1FD7;1FD7;03B9 0308 0342;1FD7;03B9 0308 0342;
+1FD8;1FD8;0399 0306;1FD8;0399 0306;
+1FD9;1FD9;0399 0304;1FD9;0399 0304;
+1FDA;1FDA;0399 0300;1FDA;0399 0300;
+1FDB;038A;0399 0301;038A;0399 0301;
+1FDD;1FDD;1FFE 0300;0020 0314 0300;0020 0314 0300;
+1FDE;1FDE;1FFE 0301;0020 0314 0301;0020 0314 0301;
+1FDF;1FDF;1FFE 0342;0020 0314 0342;0020 0314 0342;
+1FE0;1FE0;03C5 0306;1FE0;03C5 0306;
+1FE1;1FE1;03C5 0304;1FE1;03C5 0304;
+1FE2;1FE2;03C5 0308 0300;1FE2;03C5 0308 0300;
+1FE3;03B0;03C5 0308 0301;03B0;03C5 0308 0301;
+1FE4;1FE4;03C1 0313;1FE4;03C1 0313;
+1FE5;1FE5;03C1 0314;1FE5;03C1 0314;
+1FE6;1FE6;03C5 0342;1FE6;03C5 0342;
+1FE7;1FE7;03C5 0308 0342;1FE7;03C5 0308 0342;
+1FE8;1FE8;03A5 0306;1FE8;03A5 0306;
+1FE9;1FE9;03A5 0304;1FE9;03A5 0304;
+1FEA;1FEA;03A5 0300;1FEA;03A5 0300;
+1FEB;038E;03A5 0301;038E;03A5 0301;
+1FEC;1FEC;03A1 0314;1FEC;03A1 0314;
+1FED;1FED;00A8 0300;0020 0308 0300;0020 0308 0300;
+1FEE;0385;00A8 0301;0020 0308 0301;0020 0308 0301;
+1FEF;0060;0060;0060;0060;
+1FF2;1FF2;03C9 0300 0345;1FF2;03C9 0300 0345;
+1FF3;1FF3;03C9 0345;1FF3;03C9 0345;
+1FF4;1FF4;03C9 0301 0345;1FF4;03C9 0301 0345;
+1FF6;1FF6;03C9 0342;1FF6;03C9 0342;
+1FF7;1FF7;03C9 0342 0345;1FF7;03C9 0342 0345;
+1FF8;1FF8;039F 0300;1FF8;039F 0300;
+1FF9;038C;039F 0301;038C;039F 0301;
+1FFA;1FFA;03A9 0300;1FFA;03A9 0300;
+1FFB;038F;03A9 0301;038F;03A9 0301;
+1FFC;1FFC;03A9 0345;1FFC;03A9 0345;
+1FFD;00B4;00B4;0020 0301;0020 0301;
+1FFE;1FFE;1FFE;0020 0314;0020 0314;
+2000;2002;2002;0020;0020;
+2001;2003;2003;0020;0020;
+2002;2002;2002;0020;0020;
+2003;2003;2003;0020;0020;
+2004;2004;2004;0020;0020;
+2005;2005;2005;0020;0020;
+2006;2006;2006;0020;0020;
+2007;2007;2007;0020;0020;
+2008;2008;2008;0020;0020;
+2009;2009;2009;0020;0020;
+200A;200A;200A;0020;0020;
+2011;2011;2011;2010;2010;
+2017;2017;2017;0020 0333;0020 0333;
+2024;2024;2024;002E;002E;
+2025;2025;2025;002E 002E;002E 002E;
+2026;2026;2026;002E 002E 002E;002E 002E 002E;
+202F;202F;202F;0020;0020;
+2033;2033;2033;2032 2032;2032 2032;
+2034;2034;2034;2032 2032 2032;2032 2032 2032;
+2036;2036;2036;2035 2035;2035 2035;
+2037;2037;2037;2035 2035 2035;2035 2035 2035;
+203C;203C;203C;0021 0021;0021 0021;
+203E;203E;203E;0020 0305;0020 0305;
+2047;2047;2047;003F 003F;003F 003F;
+2048;2048;2048;003F 0021;003F 0021;
+2049;2049;2049;0021 003F;0021 003F;
+2057;2057;2057;2032 2032 2032 2032;2032 2032 2032 2032;
+205F;205F;205F;0020;0020;
+2070;2070;2070;0030;0030;
+2071;2071;2071;0069;0069;
+2074;2074;2074;0034;0034;
+2075;2075;2075;0035;0035;
+2076;2076;2076;0036;0036;
+2077;2077;2077;0037;0037;
+2078;2078;2078;0038;0038;
+2079;2079;2079;0039;0039;
+207A;207A;207A;002B;002B;
+207B;207B;207B;2212;2212;
+207C;207C;207C;003D;003D;
+207D;207D;207D;0028;0028;
+207E;207E;207E;0029;0029;
+207F;207F;207F;006E;006E;
+2080;2080;2080;0030;0030;
+2081;2081;2081;0031;0031;
+2082;2082;2082;0032;0032;
+2083;2083;2083;0033;0033;
+2084;2084;2084;0034;0034;
+2085;2085;2085;0035;0035;
+2086;2086;2086;0036;0036;
+2087;2087;2087;0037;0037;
+2088;2088;2088;0038;0038;
+2089;2089;2089;0039;0039;
+208A;208A;208A;002B;002B;
+208B;208B;208B;2212;2212;
+208C;208C;208C;003D;003D;
+208D;208D;208D;0028;0028;
+208E;208E;208E;0029;0029;
+20A8;20A8;20A8;0052 0073;0052 0073;
+2100;2100;2100;0061 002F 0063;0061 002F 0063;
+2101;2101;2101;0061 002F 0073;0061 002F 0073;
+2102;2102;2102;0043;0043;
+2103;2103;2103;00B0 0043;00B0 0043;
+2105;2105;2105;0063 002F 006F;0063 002F 006F;
+2106;2106;2106;0063 002F 0075;0063 002F 0075;
+2107;2107;2107;0190;0190;
+2109;2109;2109;00B0 0046;00B0 0046;
+210A;210A;210A;0067;0067;
+210B;210B;210B;0048;0048;
+210C;210C;210C;0048;0048;
+210D;210D;210D;0048;0048;
+210E;210E;210E;0068;0068;
+210F;210F;210F;0127;0127;
+2110;2110;2110;0049;0049;
+2111;2111;2111;0049;0049;
+2112;2112;2112;004C;004C;
+2113;2113;2113;006C;006C;
+2115;2115;2115;004E;004E;
+2116;2116;2116;004E 006F;004E 006F;
+2119;2119;2119;0050;0050;
+211A;211A;211A;0051;0051;
+211B;211B;211B;0052;0052;
+211C;211C;211C;0052;0052;
+211D;211D;211D;0052;0052;
+2120;2120;2120;0053 004D;0053 004D;
+2121;2121;2121;0054 0045 004C;0054 0045 004C;
+2122;2122;2122;0054 004D;0054 004D;
+2124;2124;2124;005A;005A;
+2126;03A9;03A9;03A9;03A9;
+2128;2128;2128;005A;005A;
+212A;004B;004B;004B;004B;
+212B;00C5;0041 030A;00C5;0041 030A;
+212C;212C;212C;0042;0042;
+212D;212D;212D;0043;0043;
+212F;212F;212F;0065;0065;
+2130;2130;2130;0045;0045;
+2131;2131;2131;0046;0046;
+2133;2133;2133;004D;004D;
+2134;2134;2134;006F;006F;
+2135;2135;2135;05D0;05D0;
+2136;2136;2136;05D1;05D1;
+2137;2137;2137;05D2;05D2;
+2138;2138;2138;05D3;05D3;
+2139;2139;2139;0069;0069;
+213D;213D;213D;03B3;03B3;
+213E;213E;213E;0393;0393;
+213F;213F;213F;03A0;03A0;
+2140;2140;2140;2211;2211;
+2145;2145;2145;0044;0044;
+2146;2146;2146;0064;0064;
+2147;2147;2147;0065;0065;
+2148;2148;2148;0069;0069;
+2149;2149;2149;006A;006A;
+2153;2153;2153;0031 2044 0033;0031 2044 0033;
+2154;2154;2154;0032 2044 0033;0032 2044 0033;
+2155;2155;2155;0031 2044 0035;0031 2044 0035;
+2156;2156;2156;0032 2044 0035;0032 2044 0035;
+2157;2157;2157;0033 2044 0035;0033 2044 0035;
+2158;2158;2158;0034 2044 0035;0034 2044 0035;
+2159;2159;2159;0031 2044 0036;0031 2044 0036;
+215A;215A;215A;0035 2044 0036;0035 2044 0036;
+215B;215B;215B;0031 2044 0038;0031 2044 0038;
+215C;215C;215C;0033 2044 0038;0033 2044 0038;
+215D;215D;215D;0035 2044 0038;0035 2044 0038;
+215E;215E;215E;0037 2044 0038;0037 2044 0038;
+215F;215F;215F;0031 2044;0031 2044;
+2160;2160;2160;0049;0049;
+2161;2161;2161;0049 0049;0049 0049;
+2162;2162;2162;0049 0049 0049;0049 0049 0049;
+2163;2163;2163;0049 0056;0049 0056;
+2164;2164;2164;0056;0056;
+2165;2165;2165;0056 0049;0056 0049;
+2166;2166;2166;0056 0049 0049;0056 0049 0049;
+2167;2167;2167;0056 0049 0049 0049;0056 0049 0049 0049;
+2168;2168;2168;0049 0058;0049 0058;
+2169;2169;2169;0058;0058;
+216A;216A;216A;0058 0049;0058 0049;
+216B;216B;216B;0058 0049 0049;0058 0049 0049;
+216C;216C;216C;004C;004C;
+216D;216D;216D;0043;0043;
+216E;216E;216E;0044;0044;
+216F;216F;216F;004D;004D;
+2170;2170;2170;0069;0069;
+2171;2171;2171;0069 0069;0069 0069;
+2172;2172;2172;0069 0069 0069;0069 0069 0069;
+2173;2173;2173;0069 0076;0069 0076;
+2174;2174;2174;0076;0076;
+2175;2175;2175;0076 0069;0076 0069;
+2176;2176;2176;0076 0069 0069;0076 0069 0069;
+2177;2177;2177;0076 0069 0069 0069;0076 0069 0069 0069;
+2178;2178;2178;0069 0078;0069 0078;
+2179;2179;2179;0078;0078;
+217A;217A;217A;0078 0069;0078 0069;
+217B;217B;217B;0078 0069 0069;0078 0069 0069;
+217C;217C;217C;006C;006C;
+217D;217D;217D;0063;0063;
+217E;217E;217E;0064;0064;
+217F;217F;217F;006D;006D;
+219A;219A;2190 0338;219A;2190 0338;
+219B;219B;2192 0338;219B;2192 0338;
+21AE;21AE;2194 0338;21AE;2194 0338;
+21CD;21CD;21D0 0338;21CD;21D0 0338;
+21CE;21CE;21D4 0338;21CE;21D4 0338;
+21CF;21CF;21D2 0338;21CF;21D2 0338;
+2204;2204;2203 0338;2204;2203 0338;
+2209;2209;2208 0338;2209;2208 0338;
+220C;220C;220B 0338;220C;220B 0338;
+2224;2224;2223 0338;2224;2223 0338;
+2226;2226;2225 0338;2226;2225 0338;
+222C;222C;222C;222B 222B;222B 222B;
+222D;222D;222D;222B 222B 222B;222B 222B 222B;
+222F;222F;222F;222E 222E;222E 222E;
+2230;2230;2230;222E 222E 222E;222E 222E 222E;
+2241;2241;223C 0338;2241;223C 0338;
+2244;2244;2243 0338;2244;2243 0338;
+2247;2247;2245 0338;2247;2245 0338;
+2249;2249;2248 0338;2249;2248 0338;
+2260;2260;003D 0338;2260;003D 0338;
+2262;2262;2261 0338;2262;2261 0338;
+226D;226D;224D 0338;226D;224D 0338;
+226E;226E;003C 0338;226E;003C 0338;
+226F;226F;003E 0338;226F;003E 0338;
+2270;2270;2264 0338;2270;2264 0338;
+2271;2271;2265 0338;2271;2265 0338;
+2274;2274;2272 0338;2274;2272 0338;
+2275;2275;2273 0338;2275;2273 0338;
+2278;2278;2276 0338;2278;2276 0338;
+2279;2279;2277 0338;2279;2277 0338;
+2280;2280;227A 0338;2280;227A 0338;
+2281;2281;227B 0338;2281;227B 0338;
+2284;2284;2282 0338;2284;2282 0338;
+2285;2285;2283 0338;2285;2283 0338;
+2288;2288;2286 0338;2288;2286 0338;
+2289;2289;2287 0338;2289;2287 0338;
+22AC;22AC;22A2 0338;22AC;22A2 0338;
+22AD;22AD;22A8 0338;22AD;22A8 0338;
+22AE;22AE;22A9 0338;22AE;22A9 0338;
+22AF;22AF;22AB 0338;22AF;22AB 0338;
+22E0;22E0;227C 0338;22E0;227C 0338;
+22E1;22E1;227D 0338;22E1;227D 0338;
+22E2;22E2;2291 0338;22E2;2291 0338;
+22E3;22E3;2292 0338;22E3;2292 0338;
+22EA;22EA;22B2 0338;22EA;22B2 0338;
+22EB;22EB;22B3 0338;22EB;22B3 0338;
+22EC;22EC;22B4 0338;22EC;22B4 0338;
+22ED;22ED;22B5 0338;22ED;22B5 0338;
+2329;3008;3008;3008;3008;
+232A;3009;3009;3009;3009;
+2460;2460;2460;0031;0031;
+2461;2461;2461;0032;0032;
+2462;2462;2462;0033;0033;
+2463;2463;2463;0034;0034;
+2464;2464;2464;0035;0035;
+2465;2465;2465;0036;0036;
+2466;2466;2466;0037;0037;
+2467;2467;2467;0038;0038;
+2468;2468;2468;0039;0039;
+2469;2469;2469;0031 0030;0031 0030;
+246A;246A;246A;0031 0031;0031 0031;
+246B;246B;246B;0031 0032;0031 0032;
+246C;246C;246C;0031 0033;0031 0033;
+246D;246D;246D;0031 0034;0031 0034;
+246E;246E;246E;0031 0035;0031 0035;
+246F;246F;246F;0031 0036;0031 0036;
+2470;2470;2470;0031 0037;0031 0037;
+2471;2471;2471;0031 0038;0031 0038;
+2472;2472;2472;0031 0039;0031 0039;
+2473;2473;2473;0032 0030;0032 0030;
+2474;2474;2474;0028 0031 0029;0028 0031 0029;
+2475;2475;2475;0028 0032 0029;0028 0032 0029;
+2476;2476;2476;0028 0033 0029;0028 0033 0029;
+2477;2477;2477;0028 0034 0029;0028 0034 0029;
+2478;2478;2478;0028 0035 0029;0028 0035 0029;
+2479;2479;2479;0028 0036 0029;0028 0036 0029;
+247A;247A;247A;0028 0037 0029;0028 0037 0029;
+247B;247B;247B;0028 0038 0029;0028 0038 0029;
+247C;247C;247C;0028 0039 0029;0028 0039 0029;
+247D;247D;247D;0028 0031 0030 0029;0028 0031 0030 0029;
+247E;247E;247E;0028 0031 0031 0029;0028 0031 0031 0029;
+247F;247F;247F;0028 0031 0032 0029;0028 0031 0032 0029;
+2480;2480;2480;0028 0031 0033 0029;0028 0031 0033 0029;
+2481;2481;2481;0028 0031 0034 0029;0028 0031 0034 0029;
+2482;2482;2482;0028 0031 0035 0029;0028 0031 0035 0029;
+2483;2483;2483;0028 0031 0036 0029;0028 0031 0036 0029;
+2484;2484;2484;0028 0031 0037 0029;0028 0031 0037 0029;
+2485;2485;2485;0028 0031 0038 0029;0028 0031 0038 0029;
+2486;2486;2486;0028 0031 0039 0029;0028 0031 0039 0029;
+2487;2487;2487;0028 0032 0030 0029;0028 0032 0030 0029;
+2488;2488;2488;0031 002E;0031 002E;
+2489;2489;2489;0032 002E;0032 002E;
+248A;248A;248A;0033 002E;0033 002E;
+248B;248B;248B;0034 002E;0034 002E;
+248C;248C;248C;0035 002E;0035 002E;
+248D;248D;248D;0036 002E;0036 002E;
+248E;248E;248E;0037 002E;0037 002E;
+248F;248F;248F;0038 002E;0038 002E;
+2490;2490;2490;0039 002E;0039 002E;
+2491;2491;2491;0031 0030 002E;0031 0030 002E;
+2492;2492;2492;0031 0031 002E;0031 0031 002E;
+2493;2493;2493;0031 0032 002E;0031 0032 002E;
+2494;2494;2494;0031 0033 002E;0031 0033 002E;
+2495;2495;2495;0031 0034 002E;0031 0034 002E;
+2496;2496;2496;0031 0035 002E;0031 0035 002E;
+2497;2497;2497;0031 0036 002E;0031 0036 002E;
+2498;2498;2498;0031 0037 002E;0031 0037 002E;
+2499;2499;2499;0031 0038 002E;0031 0038 002E;
+249A;249A;249A;0031 0039 002E;0031 0039 002E;
+249B;249B;249B;0032 0030 002E;0032 0030 002E;
+249C;249C;249C;0028 0061 0029;0028 0061 0029;
+249D;249D;249D;0028 0062 0029;0028 0062 0029;
+249E;249E;249E;0028 0063 0029;0028 0063 0029;
+249F;249F;249F;0028 0064 0029;0028 0064 0029;
+24A0;24A0;24A0;0028 0065 0029;0028 0065 0029;
+24A1;24A1;24A1;0028 0066 0029;0028 0066 0029;
+24A2;24A2;24A2;0028 0067 0029;0028 0067 0029;
+24A3;24A3;24A3;0028 0068 0029;0028 0068 0029;
+24A4;24A4;24A4;0028 0069 0029;0028 0069 0029;
+24A5;24A5;24A5;0028 006A 0029;0028 006A 0029;
+24A6;24A6;24A6;0028 006B 0029;0028 006B 0029;
+24A7;24A7;24A7;0028 006C 0029;0028 006C 0029;
+24A8;24A8;24A8;0028 006D 0029;0028 006D 0029;
+24A9;24A9;24A9;0028 006E 0029;0028 006E 0029;
+24AA;24AA;24AA;0028 006F 0029;0028 006F 0029;
+24AB;24AB;24AB;0028 0070 0029;0028 0070 0029;
+24AC;24AC;24AC;0028 0071 0029;0028 0071 0029;
+24AD;24AD;24AD;0028 0072 0029;0028 0072 0029;
+24AE;24AE;24AE;0028 0073 0029;0028 0073 0029;
+24AF;24AF;24AF;0028 0074 0029;0028 0074 0029;
+24B0;24B0;24B0;0028 0075 0029;0028 0075 0029;
+24B1;24B1;24B1;0028 0076 0029;0028 0076 0029;
+24B2;24B2;24B2;0028 0077 0029;0028 0077 0029;
+24B3;24B3;24B3;0028 0078 0029;0028 0078 0029;
+24B4;24B4;24B4;0028 0079 0029;0028 0079 0029;
+24B5;24B5;24B5;0028 007A 0029;0028 007A 0029;
+24B6;24B6;24B6;0041;0041;
+24B7;24B7;24B7;0042;0042;
+24B8;24B8;24B8;0043;0043;
+24B9;24B9;24B9;0044;0044;
+24BA;24BA;24BA;0045;0045;
+24BB;24BB;24BB;0046;0046;
+24BC;24BC;24BC;0047;0047;
+24BD;24BD;24BD;0048;0048;
+24BE;24BE;24BE;0049;0049;
+24BF;24BF;24BF;004A;004A;
+24C0;24C0;24C0;004B;004B;
+24C1;24C1;24C1;004C;004C;
+24C2;24C2;24C2;004D;004D;
+24C3;24C3;24C3;004E;004E;
+24C4;24C4;24C4;004F;004F;
+24C5;24C5;24C5;0050;0050;
+24C6;24C6;24C6;0051;0051;
+24C7;24C7;24C7;0052;0052;
+24C8;24C8;24C8;0053;0053;
+24C9;24C9;24C9;0054;0054;
+24CA;24CA;24CA;0055;0055;
+24CB;24CB;24CB;0056;0056;
+24CC;24CC;24CC;0057;0057;
+24CD;24CD;24CD;0058;0058;
+24CE;24CE;24CE;0059;0059;
+24CF;24CF;24CF;005A;005A;
+24D0;24D0;24D0;0061;0061;
+24D1;24D1;24D1;0062;0062;
+24D2;24D2;24D2;0063;0063;
+24D3;24D3;24D3;0064;0064;
+24D4;24D4;24D4;0065;0065;
+24D5;24D5;24D5;0066;0066;
+24D6;24D6;24D6;0067;0067;
+24D7;24D7;24D7;0068;0068;
+24D8;24D8;24D8;0069;0069;
+24D9;24D9;24D9;006A;006A;
+24DA;24DA;24DA;006B;006B;
+24DB;24DB;24DB;006C;006C;
+24DC;24DC;24DC;006D;006D;
+24DD;24DD;24DD;006E;006E;
+24DE;24DE;24DE;006F;006F;
+24DF;24DF;24DF;0070;0070;
+24E0;24E0;24E0;0071;0071;
+24E1;24E1;24E1;0072;0072;
+24E2;24E2;24E2;0073;0073;
+24E3;24E3;24E3;0074;0074;
+24E4;24E4;24E4;0075;0075;
+24E5;24E5;24E5;0076;0076;
+24E6;24E6;24E6;0077;0077;
+24E7;24E7;24E7;0078;0078;
+24E8;24E8;24E8;0079;0079;
+24E9;24E9;24E9;007A;007A;
+24EA;24EA;24EA;0030;0030;
+2A0C;2A0C;2A0C;222B 222B 222B 222B;222B 222B 222B 222B;
+2A74;2A74;2A74;003A 003A 003D;003A 003A 003D;
+2A75;2A75;2A75;003D 003D;003D 003D;
+2A76;2A76;2A76;003D 003D 003D;003D 003D 003D;
+2ADC;2ADD 0338;2ADD 0338;2ADD 0338;2ADD 0338;
+2E9F;2E9F;2E9F;6BCD;6BCD;
+2EF3;2EF3;2EF3;9F9F;9F9F;
+2F00;2F00;2F00;4E00;4E00;
+2F01;2F01;2F01;4E28;4E28;
+2F02;2F02;2F02;4E36;4E36;
+2F03;2F03;2F03;4E3F;4E3F;
+2F04;2F04;2F04;4E59;4E59;
+2F05;2F05;2F05;4E85;4E85;
+2F06;2F06;2F06;4E8C;4E8C;
+2F07;2F07;2F07;4EA0;4EA0;
+2F08;2F08;2F08;4EBA;4EBA;
+2F09;2F09;2F09;513F;513F;
+2F0A;2F0A;2F0A;5165;5165;
+2F0B;2F0B;2F0B;516B;516B;
+2F0C;2F0C;2F0C;5182;5182;
+2F0D;2F0D;2F0D;5196;5196;
+2F0E;2F0E;2F0E;51AB;51AB;
+2F0F;2F0F;2F0F;51E0;51E0;
+2F10;2F10;2F10;51F5;51F5;
+2F11;2F11;2F11;5200;5200;
+2F12;2F12;2F12;529B;529B;
+2F13;2F13;2F13;52F9;52F9;
+2F14;2F14;2F14;5315;5315;
+2F15;2F15;2F15;531A;531A;
+2F16;2F16;2F16;5338;5338;
+2F17;2F17;2F17;5341;5341;
+2F18;2F18;2F18;535C;535C;
+2F19;2F19;2F19;5369;5369;
+2F1A;2F1A;2F1A;5382;5382;
+2F1B;2F1B;2F1B;53B6;53B6;
+2F1C;2F1C;2F1C;53C8;53C8;
+2F1D;2F1D;2F1D;53E3;53E3;
+2F1E;2F1E;2F1E;56D7;56D7;
+2F1F;2F1F;2F1F;571F;571F;
+2F20;2F20;2F20;58EB;58EB;
+2F21;2F21;2F21;5902;5902;
+2F22;2F22;2F22;590A;590A;
+2F23;2F23;2F23;5915;5915;
+2F24;2F24;2F24;5927;5927;
+2F25;2F25;2F25;5973;5973;
+2F26;2F26;2F26;5B50;5B50;
+2F27;2F27;2F27;5B80;5B80;
+2F28;2F28;2F28;5BF8;5BF8;
+2F29;2F29;2F29;5C0F;5C0F;
+2F2A;2F2A;2F2A;5C22;5C22;
+2F2B;2F2B;2F2B;5C38;5C38;
+2F2C;2F2C;2F2C;5C6E;5C6E;
+2F2D;2F2D;2F2D;5C71;5C71;
+2F2E;2F2E;2F2E;5DDB;5DDB;
+2F2F;2F2F;2F2F;5DE5;5DE5;
+2F30;2F30;2F30;5DF1;5DF1;
+2F31;2F31;2F31;5DFE;5DFE;
+2F32;2F32;2F32;5E72;5E72;
+2F33;2F33;2F33;5E7A;5E7A;
+2F34;2F34;2F34;5E7F;5E7F;
+2F35;2F35;2F35;5EF4;5EF4;
+2F36;2F36;2F36;5EFE;5EFE;
+2F37;2F37;2F37;5F0B;5F0B;
+2F38;2F38;2F38;5F13;5F13;
+2F39;2F39;2F39;5F50;5F50;
+2F3A;2F3A;2F3A;5F61;5F61;
+2F3B;2F3B;2F3B;5F73;5F73;
+2F3C;2F3C;2F3C;5FC3;5FC3;
+2F3D;2F3D;2F3D;6208;6208;
+2F3E;2F3E;2F3E;6236;6236;
+2F3F;2F3F;2F3F;624B;624B;
+2F40;2F40;2F40;652F;652F;
+2F41;2F41;2F41;6534;6534;
+2F42;2F42;2F42;6587;6587;
+2F43;2F43;2F43;6597;6597;
+2F44;2F44;2F44;65A4;65A4;
+2F45;2F45;2F45;65B9;65B9;
+2F46;2F46;2F46;65E0;65E0;
+2F47;2F47;2F47;65E5;65E5;
+2F48;2F48;2F48;66F0;66F0;
+2F49;2F49;2F49;6708;6708;
+2F4A;2F4A;2F4A;6728;6728;
+2F4B;2F4B;2F4B;6B20;6B20;
+2F4C;2F4C;2F4C;6B62;6B62;
+2F4D;2F4D;2F4D;6B79;6B79;
+2F4E;2F4E;2F4E;6BB3;6BB3;
+2F4F;2F4F;2F4F;6BCB;6BCB;
+2F50;2F50;2F50;6BD4;6BD4;
+2F51;2F51;2F51;6BDB;6BDB;
+2F52;2F52;2F52;6C0F;6C0F;
+2F53;2F53;2F53;6C14;6C14;
+2F54;2F54;2F54;6C34;6C34;
+2F55;2F55;2F55;706B;706B;
+2F56;2F56;2F56;722A;722A;
+2F57;2F57;2F57;7236;7236;
+2F58;2F58;2F58;723B;723B;
+2F59;2F59;2F59;723F;723F;
+2F5A;2F5A;2F5A;7247;7247;
+2F5B;2F5B;2F5B;7259;7259;
+2F5C;2F5C;2F5C;725B;725B;
+2F5D;2F5D;2F5D;72AC;72AC;
+2F5E;2F5E;2F5E;7384;7384;
+2F5F;2F5F;2F5F;7389;7389;
+2F60;2F60;2F60;74DC;74DC;
+2F61;2F61;2F61;74E6;74E6;
+2F62;2F62;2F62;7518;7518;
+2F63;2F63;2F63;751F;751F;
+2F64;2F64;2F64;7528;7528;
+2F65;2F65;2F65;7530;7530;
+2F66;2F66;2F66;758B;758B;
+2F67;2F67;2F67;7592;7592;
+2F68;2F68;2F68;7676;7676;
+2F69;2F69;2F69;767D;767D;
+2F6A;2F6A;2F6A;76AE;76AE;
+2F6B;2F6B;2F6B;76BF;76BF;
+2F6C;2F6C;2F6C;76EE;76EE;
+2F6D;2F6D;2F6D;77DB;77DB;
+2F6E;2F6E;2F6E;77E2;77E2;
+2F6F;2F6F;2F6F;77F3;77F3;
+2F70;2F70;2F70;793A;793A;
+2F71;2F71;2F71;79B8;79B8;
+2F72;2F72;2F72;79BE;79BE;
+2F73;2F73;2F73;7A74;7A74;
+2F74;2F74;2F74;7ACB;7ACB;
+2F75;2F75;2F75;7AF9;7AF9;
+2F76;2F76;2F76;7C73;7C73;
+2F77;2F77;2F77;7CF8;7CF8;
+2F78;2F78;2F78;7F36;7F36;
+2F79;2F79;2F79;7F51;7F51;
+2F7A;2F7A;2F7A;7F8A;7F8A;
+2F7B;2F7B;2F7B;7FBD;7FBD;
+2F7C;2F7C;2F7C;8001;8001;
+2F7D;2F7D;2F7D;800C;800C;
+2F7E;2F7E;2F7E;8012;8012;
+2F7F;2F7F;2F7F;8033;8033;
+2F80;2F80;2F80;807F;807F;
+2F81;2F81;2F81;8089;8089;
+2F82;2F82;2F82;81E3;81E3;
+2F83;2F83;2F83;81EA;81EA;
+2F84;2F84;2F84;81F3;81F3;
+2F85;2F85;2F85;81FC;81FC;
+2F86;2F86;2F86;820C;820C;
+2F87;2F87;2F87;821B;821B;
+2F88;2F88;2F88;821F;821F;
+2F89;2F89;2F89;826E;826E;
+2F8A;2F8A;2F8A;8272;8272;
+2F8B;2F8B;2F8B;8278;8278;
+2F8C;2F8C;2F8C;864D;864D;
+2F8D;2F8D;2F8D;866B;866B;
+2F8E;2F8E;2F8E;8840;8840;
+2F8F;2F8F;2F8F;884C;884C;
+2F90;2F90;2F90;8863;8863;
+2F91;2F91;2F91;897E;897E;
+2F92;2F92;2F92;898B;898B;
+2F93;2F93;2F93;89D2;89D2;
+2F94;2F94;2F94;8A00;8A00;
+2F95;2F95;2F95;8C37;8C37;
+2F96;2F96;2F96;8C46;8C46;
+2F97;2F97;2F97;8C55;8C55;
+2F98;2F98;2F98;8C78;8C78;
+2F99;2F99;2F99;8C9D;8C9D;
+2F9A;2F9A;2F9A;8D64;8D64;
+2F9B;2F9B;2F9B;8D70;8D70;
+2F9C;2F9C;2F9C;8DB3;8DB3;
+2F9D;2F9D;2F9D;8EAB;8EAB;
+2F9E;2F9E;2F9E;8ECA;8ECA;
+2F9F;2F9F;2F9F;8F9B;8F9B;
+2FA0;2FA0;2FA0;8FB0;8FB0;
+2FA1;2FA1;2FA1;8FB5;8FB5;
+2FA2;2FA2;2FA2;9091;9091;
+2FA3;2FA3;2FA3;9149;9149;
+2FA4;2FA4;2FA4;91C6;91C6;
+2FA5;2FA5;2FA5;91CC;91CC;
+2FA6;2FA6;2FA6;91D1;91D1;
+2FA7;2FA7;2FA7;9577;9577;
+2FA8;2FA8;2FA8;9580;9580;
+2FA9;2FA9;2FA9;961C;961C;
+2FAA;2FAA;2FAA;96B6;96B6;
+2FAB;2FAB;2FAB;96B9;96B9;
+2FAC;2FAC;2FAC;96E8;96E8;
+2FAD;2FAD;2FAD;9751;9751;
+2FAE;2FAE;2FAE;975E;975E;
+2FAF;2FAF;2FAF;9762;9762;
+2FB0;2FB0;2FB0;9769;9769;
+2FB1;2FB1;2FB1;97CB;97CB;
+2FB2;2FB2;2FB2;97ED;97ED;
+2FB3;2FB3;2FB3;97F3;97F3;
+2FB4;2FB4;2FB4;9801;9801;
+2FB5;2FB5;2FB5;98A8;98A8;
+2FB6;2FB6;2FB6;98DB;98DB;
+2FB7;2FB7;2FB7;98DF;98DF;
+2FB8;2FB8;2FB8;9996;9996;
+2FB9;2FB9;2FB9;9999;9999;
+2FBA;2FBA;2FBA;99AC;99AC;
+2FBB;2FBB;2FBB;9AA8;9AA8;
+2FBC;2FBC;2FBC;9AD8;9AD8;
+2FBD;2FBD;2FBD;9ADF;9ADF;
+2FBE;2FBE;2FBE;9B25;9B25;
+2FBF;2FBF;2FBF;9B2F;9B2F;
+2FC0;2FC0;2FC0;9B32;9B32;
+2FC1;2FC1;2FC1;9B3C;9B3C;
+2FC2;2FC2;2FC2;9B5A;9B5A;
+2FC3;2FC3;2FC3;9CE5;9CE5;
+2FC4;2FC4;2FC4;9E75;9E75;
+2FC5;2FC5;2FC5;9E7F;9E7F;
+2FC6;2FC6;2FC6;9EA5;9EA5;
+2FC7;2FC7;2FC7;9EBB;9EBB;
+2FC8;2FC8;2FC8;9EC3;9EC3;
+2FC9;2FC9;2FC9;9ECD;9ECD;
+2FCA;2FCA;2FCA;9ED1;9ED1;
+2FCB;2FCB;2FCB;9EF9;9EF9;
+2FCC;2FCC;2FCC;9EFD;9EFD;
+2FCD;2FCD;2FCD;9F0E;9F0E;
+2FCE;2FCE;2FCE;9F13;9F13;
+2FCF;2FCF;2FCF;9F20;9F20;
+2FD0;2FD0;2FD0;9F3B;9F3B;
+2FD1;2FD1;2FD1;9F4A;9F4A;
+2FD2;2FD2;2FD2;9F52;9F52;
+2FD3;2FD3;2FD3;9F8D;9F8D;
+2FD4;2FD4;2FD4;9F9C;9F9C;
+2FD5;2FD5;2FD5;9FA0;9FA0;
+3000;3000;3000;0020;0020;
+3036;3036;3036;3012;3012;
+3038;3038;3038;5341;5341;
+3039;3039;3039;5344;5344;
+303A;303A;303A;5345;5345;
+304C;304C;304B 3099;304C;304B 3099;
+304E;304E;304D 3099;304E;304D 3099;
+3050;3050;304F 3099;3050;304F 3099;
+3052;3052;3051 3099;3052;3051 3099;
+3054;3054;3053 3099;3054;3053 3099;
+3056;3056;3055 3099;3056;3055 3099;
+3058;3058;3057 3099;3058;3057 3099;
+305A;305A;3059 3099;305A;3059 3099;
+305C;305C;305B 3099;305C;305B 3099;
+305E;305E;305D 3099;305E;305D 3099;
+3060;3060;305F 3099;3060;305F 3099;
+3062;3062;3061 3099;3062;3061 3099;
+3065;3065;3064 3099;3065;3064 3099;
+3067;3067;3066 3099;3067;3066 3099;
+3069;3069;3068 3099;3069;3068 3099;
+3070;3070;306F 3099;3070;306F 3099;
+3071;3071;306F 309A;3071;306F 309A;
+3073;3073;3072 3099;3073;3072 3099;
+3074;3074;3072 309A;3074;3072 309A;
+3076;3076;3075 3099;3076;3075 3099;
+3077;3077;3075 309A;3077;3075 309A;
+3079;3079;3078 3099;3079;3078 3099;
+307A;307A;3078 309A;307A;3078 309A;
+307C;307C;307B 3099;307C;307B 3099;
+307D;307D;307B 309A;307D;307B 309A;
+3094;3094;3046 3099;3094;3046 3099;
+309B;309B;309B;0020 3099;0020 3099;
+309C;309C;309C;0020 309A;0020 309A;
+309E;309E;309D 3099;309E;309D 3099;
+309F;309F;309F;3088 308A;3088 308A;
+30AC;30AC;30AB 3099;30AC;30AB 3099;
+30AE;30AE;30AD 3099;30AE;30AD 3099;
+30B0;30B0;30AF 3099;30B0;30AF 3099;
+30B2;30B2;30B1 3099;30B2;30B1 3099;
+30B4;30B4;30B3 3099;30B4;30B3 3099;
+30B6;30B6;30B5 3099;30B6;30B5 3099;
+30B8;30B8;30B7 3099;30B8;30B7 3099;
+30BA;30BA;30B9 3099;30BA;30B9 3099;
+30BC;30BC;30BB 3099;30BC;30BB 3099;
+30BE;30BE;30BD 3099;30BE;30BD 3099;
+30C0;30C0;30BF 3099;30C0;30BF 3099;
+30C2;30C2;30C1 3099;30C2;30C1 3099;
+30C5;30C5;30C4 3099;30C5;30C4 3099;
+30C7;30C7;30C6 3099;30C7;30C6 3099;
+30C9;30C9;30C8 3099;30C9;30C8 3099;
+30D0;30D0;30CF 3099;30D0;30CF 3099;
+30D1;30D1;30CF 309A;30D1;30CF 309A;
+30D3;30D3;30D2 3099;30D3;30D2 3099;
+30D4;30D4;30D2 309A;30D4;30D2 309A;
+30D6;30D6;30D5 3099;30D6;30D5 3099;
+30D7;30D7;30D5 309A;30D7;30D5 309A;
+30D9;30D9;30D8 3099;30D9;30D8 3099;
+30DA;30DA;30D8 309A;30DA;30D8 309A;
+30DC;30DC;30DB 3099;30DC;30DB 3099;
+30DD;30DD;30DB 309A;30DD;30DB 309A;
+30F4;30F4;30A6 3099;30F4;30A6 3099;
+30F7;30F7;30EF 3099;30F7;30EF 3099;
+30F8;30F8;30F0 3099;30F8;30F0 3099;
+30F9;30F9;30F1 3099;30F9;30F1 3099;
+30FA;30FA;30F2 3099;30FA;30F2 3099;
+30FE;30FE;30FD 3099;30FE;30FD 3099;
+30FF;30FF;30FF;30B3 30C8;30B3 30C8;
+3131;3131;3131;1100;1100;
+3132;3132;3132;1101;1101;
+3133;3133;3133;11AA;11AA;
+3134;3134;3134;1102;1102;
+3135;3135;3135;11AC;11AC;
+3136;3136;3136;11AD;11AD;
+3137;3137;3137;1103;1103;
+3138;3138;3138;1104;1104;
+3139;3139;3139;1105;1105;
+313A;313A;313A;11B0;11B0;
+313B;313B;313B;11B1;11B1;
+313C;313C;313C;11B2;11B2;
+313D;313D;313D;11B3;11B3;
+313E;313E;313E;11B4;11B4;
+313F;313F;313F;11B5;11B5;
+3140;3140;3140;111A;111A;
+3141;3141;3141;1106;1106;
+3142;3142;3142;1107;1107;
+3143;3143;3143;1108;1108;
+3144;3144;3144;1121;1121;
+3145;3145;3145;1109;1109;
+3146;3146;3146;110A;110A;
+3147;3147;3147;110B;110B;
+3148;3148;3148;110C;110C;
+3149;3149;3149;110D;110D;
+314A;314A;314A;110E;110E;
+314B;314B;314B;110F;110F;
+314C;314C;314C;1110;1110;
+314D;314D;314D;1111;1111;
+314E;314E;314E;1112;1112;
+314F;314F;314F;1161;1161;
+3150;3150;3150;1162;1162;
+3151;3151;3151;1163;1163;
+3152;3152;3152;1164;1164;
+3153;3153;3153;1165;1165;
+3154;3154;3154;1166;1166;
+3155;3155;3155;1167;1167;
+3156;3156;3156;1168;1168;
+3157;3157;3157;1169;1169;
+3158;3158;3158;116A;116A;
+3159;3159;3159;116B;116B;
+315A;315A;315A;116C;116C;
+315B;315B;315B;116D;116D;
+315C;315C;315C;116E;116E;
+315D;315D;315D;116F;116F;
+315E;315E;315E;1170;1170;
+315F;315F;315F;1171;1171;
+3160;3160;3160;1172;1172;
+3161;3161;3161;1173;1173;
+3162;3162;3162;1174;1174;
+3163;3163;3163;1175;1175;
+3164;3164;3164;1160;1160;
+3165;3165;3165;1114;1114;
+3166;3166;3166;1115;1115;
+3167;3167;3167;11C7;11C7;
+3168;3168;3168;11C8;11C8;
+3169;3169;3169;11CC;11CC;
+316A;316A;316A;11CE;11CE;
+316B;316B;316B;11D3;11D3;
+316C;316C;316C;11D7;11D7;
+316D;316D;316D;11D9;11D9;
+316E;316E;316E;111C;111C;
+316F;316F;316F;11DD;11DD;
+3170;3170;3170;11DF;11DF;
+3171;3171;3171;111D;111D;
+3172;3172;3172;111E;111E;
+3173;3173;3173;1120;1120;
+3174;3174;3174;1122;1122;
+3175;3175;3175;1123;1123;
+3176;3176;3176;1127;1127;
+3177;3177;3177;1129;1129;
+3178;3178;3178;112B;112B;
+3179;3179;3179;112C;112C;
+317A;317A;317A;112D;112D;
+317B;317B;317B;112E;112E;
+317C;317C;317C;112F;112F;
+317D;317D;317D;1132;1132;
+317E;317E;317E;1136;1136;
+317F;317F;317F;1140;1140;
+3180;3180;3180;1147;1147;
+3181;3181;3181;114C;114C;
+3182;3182;3182;11F1;11F1;
+3183;3183;3183;11F2;11F2;
+3184;3184;3184;1157;1157;
+3185;3185;3185;1158;1158;
+3186;3186;3186;1159;1159;
+3187;3187;3187;1184;1184;
+3188;3188;3188;1185;1185;
+3189;3189;3189;1188;1188;
+318A;318A;318A;1191;1191;
+318B;318B;318B;1192;1192;
+318C;318C;318C;1194;1194;
+318D;318D;318D;119E;119E;
+318E;318E;318E;11A1;11A1;
+3192;3192;3192;4E00;4E00;
+3193;3193;3193;4E8C;4E8C;
+3194;3194;3194;4E09;4E09;
+3195;3195;3195;56DB;56DB;
+3196;3196;3196;4E0A;4E0A;
+3197;3197;3197;4E2D;4E2D;
+3198;3198;3198;4E0B;4E0B;
+3199;3199;3199;7532;7532;
+319A;319A;319A;4E59;4E59;
+319B;319B;319B;4E19;4E19;
+319C;319C;319C;4E01;4E01;
+319D;319D;319D;5929;5929;
+319E;319E;319E;5730;5730;
+319F;319F;319F;4EBA;4EBA;
+3200;3200;3200;0028 1100 0029;0028 1100 0029;
+3201;3201;3201;0028 1102 0029;0028 1102 0029;
+3202;3202;3202;0028 1103 0029;0028 1103 0029;
+3203;3203;3203;0028 1105 0029;0028 1105 0029;
+3204;3204;3204;0028 1106 0029;0028 1106 0029;
+3205;3205;3205;0028 1107 0029;0028 1107 0029;
+3206;3206;3206;0028 1109 0029;0028 1109 0029;
+3207;3207;3207;0028 110B 0029;0028 110B 0029;
+3208;3208;3208;0028 110C 0029;0028 110C 0029;
+3209;3209;3209;0028 110E 0029;0028 110E 0029;
+320A;320A;320A;0028 110F 0029;0028 110F 0029;
+320B;320B;320B;0028 1110 0029;0028 1110 0029;
+320C;320C;320C;0028 1111 0029;0028 1111 0029;
+320D;320D;320D;0028 1112 0029;0028 1112 0029;
+320E;320E;320E;0028 AC00 0029;0028 1100 1161 0029;
+320F;320F;320F;0028 B098 0029;0028 1102 1161 0029;
+3210;3210;3210;0028 B2E4 0029;0028 1103 1161 0029;
+3211;3211;3211;0028 B77C 0029;0028 1105 1161 0029;
+3212;3212;3212;0028 B9C8 0029;0028 1106 1161 0029;
+3213;3213;3213;0028 BC14 0029;0028 1107 1161 0029;
+3214;3214;3214;0028 C0AC 0029;0028 1109 1161 0029;
+3215;3215;3215;0028 C544 0029;0028 110B 1161 0029;
+3216;3216;3216;0028 C790 0029;0028 110C 1161 0029;
+3217;3217;3217;0028 CC28 0029;0028 110E 1161 0029;
+3218;3218;3218;0028 CE74 0029;0028 110F 1161 0029;
+3219;3219;3219;0028 D0C0 0029;0028 1110 1161 0029;
+321A;321A;321A;0028 D30C 0029;0028 1111 1161 0029;
+321B;321B;321B;0028 D558 0029;0028 1112 1161 0029;
+321C;321C;321C;0028 C8FC 0029;0028 110C 116E 0029;
+3220;3220;3220;0028 4E00 0029;0028 4E00 0029;
+3221;3221;3221;0028 4E8C 0029;0028 4E8C 0029;
+3222;3222;3222;0028 4E09 0029;0028 4E09 0029;
+3223;3223;3223;0028 56DB 0029;0028 56DB 0029;
+3224;3224;3224;0028 4E94 0029;0028 4E94 0029;
+3225;3225;3225;0028 516D 0029;0028 516D 0029;
+3226;3226;3226;0028 4E03 0029;0028 4E03 0029;
+3227;3227;3227;0028 516B 0029;0028 516B 0029;
+3228;3228;3228;0028 4E5D 0029;0028 4E5D 0029;
+3229;3229;3229;0028 5341 0029;0028 5341 0029;
+322A;322A;322A;0028 6708 0029;0028 6708 0029;
+322B;322B;322B;0028 706B 0029;0028 706B 0029;
+322C;322C;322C;0028 6C34 0029;0028 6C34 0029;
+322D;322D;322D;0028 6728 0029;0028 6728 0029;
+322E;322E;322E;0028 91D1 0029;0028 91D1 0029;
+322F;322F;322F;0028 571F 0029;0028 571F 0029;
+3230;3230;3230;0028 65E5 0029;0028 65E5 0029;
+3231;3231;3231;0028 682A 0029;0028 682A 0029;
+3232;3232;3232;0028 6709 0029;0028 6709 0029;
+3233;3233;3233;0028 793E 0029;0028 793E 0029;
+3234;3234;3234;0028 540D 0029;0028 540D 0029;
+3235;3235;3235;0028 7279 0029;0028 7279 0029;
+3236;3236;3236;0028 8CA1 0029;0028 8CA1 0029;
+3237;3237;3237;0028 795D 0029;0028 795D 0029;
+3238;3238;3238;0028 52B4 0029;0028 52B4 0029;
+3239;3239;3239;0028 4EE3 0029;0028 4EE3 0029;
+323A;323A;323A;0028 547C 0029;0028 547C 0029;
+323B;323B;323B;0028 5B66 0029;0028 5B66 0029;
+323C;323C;323C;0028 76E3 0029;0028 76E3 0029;
+323D;323D;323D;0028 4F01 0029;0028 4F01 0029;
+323E;323E;323E;0028 8CC7 0029;0028 8CC7 0029;
+323F;323F;323F;0028 5354 0029;0028 5354 0029;
+3240;3240;3240;0028 796D 0029;0028 796D 0029;
+3241;3241;3241;0028 4F11 0029;0028 4F11 0029;
+3242;3242;3242;0028 81EA 0029;0028 81EA 0029;
+3243;3243;3243;0028 81F3 0029;0028 81F3 0029;
+3251;3251;3251;0032 0031;0032 0031;
+3252;3252;3252;0032 0032;0032 0032;
+3253;3253;3253;0032 0033;0032 0033;
+3254;3254;3254;0032 0034;0032 0034;
+3255;3255;3255;0032 0035;0032 0035;
+3256;3256;3256;0032 0036;0032 0036;
+3257;3257;3257;0032 0037;0032 0037;
+3258;3258;3258;0032 0038;0032 0038;
+3259;3259;3259;0032 0039;0032 0039;
+325A;325A;325A;0033 0030;0033 0030;
+325B;325B;325B;0033 0031;0033 0031;
+325C;325C;325C;0033 0032;0033 0032;
+325D;325D;325D;0033 0033;0033 0033;
+325E;325E;325E;0033 0034;0033 0034;
+325F;325F;325F;0033 0035;0033 0035;
+3260;3260;3260;1100;1100;
+3261;3261;3261;1102;1102;
+3262;3262;3262;1103;1103;
+3263;3263;3263;1105;1105;
+3264;3264;3264;1106;1106;
+3265;3265;3265;1107;1107;
+3266;3266;3266;1109;1109;
+3267;3267;3267;110B;110B;
+3268;3268;3268;110C;110C;
+3269;3269;3269;110E;110E;
+326A;326A;326A;110F;110F;
+326B;326B;326B;1110;1110;
+326C;326C;326C;1111;1111;
+326D;326D;326D;1112;1112;
+326E;326E;326E;AC00;1100 1161;
+326F;326F;326F;B098;1102 1161;
+3270;3270;3270;B2E4;1103 1161;
+3271;3271;3271;B77C;1105 1161;
+3272;3272;3272;B9C8;1106 1161;
+3273;3273;3273;BC14;1107 1161;
+3274;3274;3274;C0AC;1109 1161;
+3275;3275;3275;C544;110B 1161;
+3276;3276;3276;C790;110C 1161;
+3277;3277;3277;CC28;110E 1161;
+3278;3278;3278;CE74;110F 1161;
+3279;3279;3279;D0C0;1110 1161;
+327A;327A;327A;D30C;1111 1161;
+327B;327B;327B;D558;1112 1161;
+3280;3280;3280;4E00;4E00;
+3281;3281;3281;4E8C;4E8C;
+3282;3282;3282;4E09;4E09;
+3283;3283;3283;56DB;56DB;
+3284;3284;3284;4E94;4E94;
+3285;3285;3285;516D;516D;
+3286;3286;3286;4E03;4E03;
+3287;3287;3287;516B;516B;
+3288;3288;3288;4E5D;4E5D;
+3289;3289;3289;5341;5341;
+328A;328A;328A;6708;6708;
+328B;328B;328B;706B;706B;
+328C;328C;328C;6C34;6C34;
+328D;328D;328D;6728;6728;
+328E;328E;328E;91D1;91D1;
+328F;328F;328F;571F;571F;
+3290;3290;3290;65E5;65E5;
+3291;3291;3291;682A;682A;
+3292;3292;3292;6709;6709;
+3293;3293;3293;793E;793E;
+3294;3294;3294;540D;540D;
+3295;3295;3295;7279;7279;
+3296;3296;3296;8CA1;8CA1;
+3297;3297;3297;795D;795D;
+3298;3298;3298;52B4;52B4;
+3299;3299;3299;79D8;79D8;
+329A;329A;329A;7537;7537;
+329B;329B;329B;5973;5973;
+329C;329C;329C;9069;9069;
+329D;329D;329D;512A;512A;
+329E;329E;329E;5370;5370;
+329F;329F;329F;6CE8;6CE8;
+32A0;32A0;32A0;9805;9805;
+32A1;32A1;32A1;4F11;4F11;
+32A2;32A2;32A2;5199;5199;
+32A3;32A3;32A3;6B63;6B63;
+32A4;32A4;32A4;4E0A;4E0A;
+32A5;32A5;32A5;4E2D;4E2D;
+32A6;32A6;32A6;4E0B;4E0B;
+32A7;32A7;32A7;5DE6;5DE6;
+32A8;32A8;32A8;53F3;53F3;
+32A9;32A9;32A9;533B;533B;
+32AA;32AA;32AA;5B97;5B97;
+32AB;32AB;32AB;5B66;5B66;
+32AC;32AC;32AC;76E3;76E3;
+32AD;32AD;32AD;4F01;4F01;
+32AE;32AE;32AE;8CC7;8CC7;
+32AF;32AF;32AF;5354;5354;
+32B0;32B0;32B0;591C;591C;
+32B1;32B1;32B1;0033 0036;0033 0036;
+32B2;32B2;32B2;0033 0037;0033 0037;
+32B3;32B3;32B3;0033 0038;0033 0038;
+32B4;32B4;32B4;0033 0039;0033 0039;
+32B5;32B5;32B5;0034 0030;0034 0030;
+32B6;32B6;32B6;0034 0031;0034 0031;
+32B7;32B7;32B7;0034 0032;0034 0032;
+32B8;32B8;32B8;0034 0033;0034 0033;
+32B9;32B9;32B9;0034 0034;0034 0034;
+32BA;32BA;32BA;0034 0035;0034 0035;
+32BB;32BB;32BB;0034 0036;0034 0036;
+32BC;32BC;32BC;0034 0037;0034 0037;
+32BD;32BD;32BD;0034 0038;0034 0038;
+32BE;32BE;32BE;0034 0039;0034 0039;
+32BF;32BF;32BF;0035 0030;0035 0030;
+32C0;32C0;32C0;0031 6708;0031 6708;
+32C1;32C1;32C1;0032 6708;0032 6708;
+32C2;32C2;32C2;0033 6708;0033 6708;
+32C3;32C3;32C3;0034 6708;0034 6708;
+32C4;32C4;32C4;0035 6708;0035 6708;
+32C5;32C5;32C5;0036 6708;0036 6708;
+32C6;32C6;32C6;0037 6708;0037 6708;
+32C7;32C7;32C7;0038 6708;0038 6708;
+32C8;32C8;32C8;0039 6708;0039 6708;
+32C9;32C9;32C9;0031 0030 6708;0031 0030 6708;
+32CA;32CA;32CA;0031 0031 6708;0031 0031 6708;
+32CB;32CB;32CB;0031 0032 6708;0031 0032 6708;
+32D0;32D0;32D0;30A2;30A2;
+32D1;32D1;32D1;30A4;30A4;
+32D2;32D2;32D2;30A6;30A6;
+32D3;32D3;32D3;30A8;30A8;
+32D4;32D4;32D4;30AA;30AA;
+32D5;32D5;32D5;30AB;30AB;
+32D6;32D6;32D6;30AD;30AD;
+32D7;32D7;32D7;30AF;30AF;
+32D8;32D8;32D8;30B1;30B1;
+32D9;32D9;32D9;30B3;30B3;
+32DA;32DA;32DA;30B5;30B5;
+32DB;32DB;32DB;30B7;30B7;
+32DC;32DC;32DC;30B9;30B9;
+32DD;32DD;32DD;30BB;30BB;
+32DE;32DE;32DE;30BD;30BD;
+32DF;32DF;32DF;30BF;30BF;
+32E0;32E0;32E0;30C1;30C1;
+32E1;32E1;32E1;30C4;30C4;
+32E2;32E2;32E2;30C6;30C6;
+32E3;32E3;32E3;30C8;30C8;
+32E4;32E4;32E4;30CA;30CA;
+32E5;32E5;32E5;30CB;30CB;
+32E6;32E6;32E6;30CC;30CC;
+32E7;32E7;32E7;30CD;30CD;
+32E8;32E8;32E8;30CE;30CE;
+32E9;32E9;32E9;30CF;30CF;
+32EA;32EA;32EA;30D2;30D2;
+32EB;32EB;32EB;30D5;30D5;
+32EC;32EC;32EC;30D8;30D8;
+32ED;32ED;32ED;30DB;30DB;
+32EE;32EE;32EE;30DE;30DE;
+32EF;32EF;32EF;30DF;30DF;
+32F0;32F0;32F0;30E0;30E0;
+32F1;32F1;32F1;30E1;30E1;
+32F2;32F2;32F2;30E2;30E2;
+32F3;32F3;32F3;30E4;30E4;
+32F4;32F4;32F4;30E6;30E6;
+32F5;32F5;32F5;30E8;30E8;
+32F6;32F6;32F6;30E9;30E9;
+32F7;32F7;32F7;30EA;30EA;
+32F8;32F8;32F8;30EB;30EB;
+32F9;32F9;32F9;30EC;30EC;
+32FA;32FA;32FA;30ED;30ED;
+32FB;32FB;32FB;30EF;30EF;
+32FC;32FC;32FC;30F0;30F0;
+32FD;32FD;32FD;30F1;30F1;
+32FE;32FE;32FE;30F2;30F2;
+3300;3300;3300;30A2 30D1 30FC 30C8;30A2 30CF 309A 30FC 30C8;
+3301;3301;3301;30A2 30EB 30D5 30A1;30A2 30EB 30D5 30A1;
+3302;3302;3302;30A2 30F3 30DA 30A2;30A2 30F3 30D8 309A 30A2;
+3303;3303;3303;30A2 30FC 30EB;30A2 30FC 30EB;
+3304;3304;3304;30A4 30CB 30F3 30B0;30A4 30CB 30F3 30AF 3099;
+3305;3305;3305;30A4 30F3 30C1;30A4 30F3 30C1;
+3306;3306;3306;30A6 30A9 30F3;30A6 30A9 30F3;
+3307;3307;3307;30A8 30B9 30AF 30FC 30C9;30A8 30B9 30AF 30FC 30C8 3099;
+3308;3308;3308;30A8 30FC 30AB 30FC;30A8 30FC 30AB 30FC;
+3309;3309;3309;30AA 30F3 30B9;30AA 30F3 30B9;
+330A;330A;330A;30AA 30FC 30E0;30AA 30FC 30E0;
+330B;330B;330B;30AB 30A4 30EA;30AB 30A4 30EA;
+330C;330C;330C;30AB 30E9 30C3 30C8;30AB 30E9 30C3 30C8;
+330D;330D;330D;30AB 30ED 30EA 30FC;30AB 30ED 30EA 30FC;
+330E;330E;330E;30AC 30ED 30F3;30AB 3099 30ED 30F3;
+330F;330F;330F;30AC 30F3 30DE;30AB 3099 30F3 30DE;
+3310;3310;3310;30AE 30AC;30AD 3099 30AB 3099;
+3311;3311;3311;30AE 30CB 30FC;30AD 3099 30CB 30FC;
+3312;3312;3312;30AD 30E5 30EA 30FC;30AD 30E5 30EA 30FC;
+3313;3313;3313;30AE 30EB 30C0 30FC;30AD 3099 30EB 30BF 3099 30FC;
+3314;3314;3314;30AD 30ED;30AD 30ED;
+3315;3315;3315;30AD 30ED 30B0 30E9 30E0;30AD 30ED 30AF 3099 30E9 30E0;
+3316;3316;3316;30AD 30ED 30E1 30FC 30C8 30EB;30AD 30ED 30E1 30FC 30C8 30EB;
+3317;3317;3317;30AD 30ED 30EF 30C3 30C8;30AD 30ED 30EF 30C3 30C8;
+3318;3318;3318;30B0 30E9 30E0;30AF 3099 30E9 30E0;
+3319;3319;3319;30B0 30E9 30E0 30C8 30F3;30AF 3099 30E9 30E0 30C8 30F3;
+331A;331A;331A;30AF 30EB 30BC 30A4 30ED;30AF 30EB 30BB 3099 30A4 30ED;
+331B;331B;331B;30AF 30ED 30FC 30CD;30AF 30ED 30FC 30CD;
+331C;331C;331C;30B1 30FC 30B9;30B1 30FC 30B9;
+331D;331D;331D;30B3 30EB 30CA;30B3 30EB 30CA;
+331E;331E;331E;30B3 30FC 30DD;30B3 30FC 30DB 309A;
+331F;331F;331F;30B5 30A4 30AF 30EB;30B5 30A4 30AF 30EB;
+3320;3320;3320;30B5 30F3 30C1 30FC 30E0;30B5 30F3 30C1 30FC 30E0;
+3321;3321;3321;30B7 30EA 30F3 30B0;30B7 30EA 30F3 30AF 3099;
+3322;3322;3322;30BB 30F3 30C1;30BB 30F3 30C1;
+3323;3323;3323;30BB 30F3 30C8;30BB 30F3 30C8;
+3324;3324;3324;30C0 30FC 30B9;30BF 3099 30FC 30B9;
+3325;3325;3325;30C7 30B7;30C6 3099 30B7;
+3326;3326;3326;30C9 30EB;30C8 3099 30EB;
+3327;3327;3327;30C8 30F3;30C8 30F3;
+3328;3328;3328;30CA 30CE;30CA 30CE;
+3329;3329;3329;30CE 30C3 30C8;30CE 30C3 30C8;
+332A;332A;332A;30CF 30A4 30C4;30CF 30A4 30C4;
+332B;332B;332B;30D1 30FC 30BB 30F3 30C8;30CF 309A 30FC 30BB 30F3 30C8;
+332C;332C;332C;30D1 30FC 30C4;30CF 309A 30FC 30C4;
+332D;332D;332D;30D0 30FC 30EC 30EB;30CF 3099 30FC 30EC 30EB;
+332E;332E;332E;30D4 30A2 30B9 30C8 30EB;30D2 309A 30A2 30B9 30C8 30EB;
+332F;332F;332F;30D4 30AF 30EB;30D2 309A 30AF 30EB;
+3330;3330;3330;30D4 30B3;30D2 309A 30B3;
+3331;3331;3331;30D3 30EB;30D2 3099 30EB;
+3332;3332;3332;30D5 30A1 30E9 30C3 30C9;30D5 30A1 30E9 30C3 30C8 3099;
+3333;3333;3333;30D5 30A3 30FC 30C8;30D5 30A3 30FC 30C8;
+3334;3334;3334;30D6 30C3 30B7 30A7 30EB;30D5 3099 30C3 30B7 30A7 30EB;
+3335;3335;3335;30D5 30E9 30F3;30D5 30E9 30F3;
+3336;3336;3336;30D8 30AF 30BF 30FC 30EB;30D8 30AF 30BF 30FC 30EB;
+3337;3337;3337;30DA 30BD;30D8 309A 30BD;
+3338;3338;3338;30DA 30CB 30D2;30D8 309A 30CB 30D2;
+3339;3339;3339;30D8 30EB 30C4;30D8 30EB 30C4;
+333A;333A;333A;30DA 30F3 30B9;30D8 309A 30F3 30B9;
+333B;333B;333B;30DA 30FC 30B8;30D8 309A 30FC 30B7 3099;
+333C;333C;333C;30D9 30FC 30BF;30D8 3099 30FC 30BF;
+333D;333D;333D;30DD 30A4 30F3 30C8;30DB 309A 30A4 30F3 30C8;
+333E;333E;333E;30DC 30EB 30C8;30DB 3099 30EB 30C8;
+333F;333F;333F;30DB 30F3;30DB 30F3;
+3340;3340;3340;30DD 30F3 30C9;30DB 309A 30F3 30C8 3099;
+3341;3341;3341;30DB 30FC 30EB;30DB 30FC 30EB;
+3342;3342;3342;30DB 30FC 30F3;30DB 30FC 30F3;
+3343;3343;3343;30DE 30A4 30AF 30ED;30DE 30A4 30AF 30ED;
+3344;3344;3344;30DE 30A4 30EB;30DE 30A4 30EB;
+3345;3345;3345;30DE 30C3 30CF;30DE 30C3 30CF;
+3346;3346;3346;30DE 30EB 30AF;30DE 30EB 30AF;
+3347;3347;3347;30DE 30F3 30B7 30E7 30F3;30DE 30F3 30B7 30E7 30F3;
+3348;3348;3348;30DF 30AF 30ED 30F3;30DF 30AF 30ED 30F3;
+3349;3349;3349;30DF 30EA;30DF 30EA;
+334A;334A;334A;30DF 30EA 30D0 30FC 30EB;30DF 30EA 30CF 3099 30FC 30EB;
+334B;334B;334B;30E1 30AC;30E1 30AB 3099;
+334C;334C;334C;30E1 30AC 30C8 30F3;30E1 30AB 3099 30C8 30F3;
+334D;334D;334D;30E1 30FC 30C8 30EB;30E1 30FC 30C8 30EB;
+334E;334E;334E;30E4 30FC 30C9;30E4 30FC 30C8 3099;
+334F;334F;334F;30E4 30FC 30EB;30E4 30FC 30EB;
+3350;3350;3350;30E6 30A2 30F3;30E6 30A2 30F3;
+3351;3351;3351;30EA 30C3 30C8 30EB;30EA 30C3 30C8 30EB;
+3352;3352;3352;30EA 30E9;30EA 30E9;
+3353;3353;3353;30EB 30D4 30FC;30EB 30D2 309A 30FC;
+3354;3354;3354;30EB 30FC 30D6 30EB;30EB 30FC 30D5 3099 30EB;
+3355;3355;3355;30EC 30E0;30EC 30E0;
+3356;3356;3356;30EC 30F3 30C8 30B2 30F3;30EC 30F3 30C8 30B1 3099 30F3;
+3357;3357;3357;30EF 30C3 30C8;30EF 30C3 30C8;
+3358;3358;3358;0030 70B9;0030 70B9;
+3359;3359;3359;0031 70B9;0031 70B9;
+335A;335A;335A;0032 70B9;0032 70B9;
+335B;335B;335B;0033 70B9;0033 70B9;
+335C;335C;335C;0034 70B9;0034 70B9;
+335D;335D;335D;0035 70B9;0035 70B9;
+335E;335E;335E;0036 70B9;0036 70B9;
+335F;335F;335F;0037 70B9;0037 70B9;
+3360;3360;3360;0038 70B9;0038 70B9;
+3361;3361;3361;0039 70B9;0039 70B9;
+3362;3362;3362;0031 0030 70B9;0031 0030 70B9;
+3363;3363;3363;0031 0031 70B9;0031 0031 70B9;
+3364;3364;3364;0031 0032 70B9;0031 0032 70B9;
+3365;3365;3365;0031 0033 70B9;0031 0033 70B9;
+3366;3366;3366;0031 0034 70B9;0031 0034 70B9;
+3367;3367;3367;0031 0035 70B9;0031 0035 70B9;
+3368;3368;3368;0031 0036 70B9;0031 0036 70B9;
+3369;3369;3369;0031 0037 70B9;0031 0037 70B9;
+336A;336A;336A;0031 0038 70B9;0031 0038 70B9;
+336B;336B;336B;0031 0039 70B9;0031 0039 70B9;
+336C;336C;336C;0032 0030 70B9;0032 0030 70B9;
+336D;336D;336D;0032 0031 70B9;0032 0031 70B9;
+336E;336E;336E;0032 0032 70B9;0032 0032 70B9;
+336F;336F;336F;0032 0033 70B9;0032 0033 70B9;
+3370;3370;3370;0032 0034 70B9;0032 0034 70B9;
+3371;3371;3371;0068 0050 0061;0068 0050 0061;
+3372;3372;3372;0064 0061;0064 0061;
+3373;3373;3373;0041 0055;0041 0055;
+3374;3374;3374;0062 0061 0072;0062 0061 0072;
+3375;3375;3375;006F 0056;006F 0056;
+3376;3376;3376;0070 0063;0070 0063;
+337B;337B;337B;5E73 6210;5E73 6210;
+337C;337C;337C;662D 548C;662D 548C;
+337D;337D;337D;5927 6B63;5927 6B63;
+337E;337E;337E;660E 6CBB;660E 6CBB;
+337F;337F;337F;682A 5F0F 4F1A 793E;682A 5F0F 4F1A 793E;
+3380;3380;3380;0070 0041;0070 0041;
+3381;3381;3381;006E 0041;006E 0041;
+3382;3382;3382;03BC 0041;03BC 0041;
+3383;3383;3383;006D 0041;006D 0041;
+3384;3384;3384;006B 0041;006B 0041;
+3385;3385;3385;004B 0042;004B 0042;
+3386;3386;3386;004D 0042;004D 0042;
+3387;3387;3387;0047 0042;0047 0042;
+3388;3388;3388;0063 0061 006C;0063 0061 006C;
+3389;3389;3389;006B 0063 0061 006C;006B 0063 0061 006C;
+338A;338A;338A;0070 0046;0070 0046;
+338B;338B;338B;006E 0046;006E 0046;
+338C;338C;338C;03BC 0046;03BC 0046;
+338D;338D;338D;03BC 0067;03BC 0067;
+338E;338E;338E;006D 0067;006D 0067;
+338F;338F;338F;006B 0067;006B 0067;
+3390;3390;3390;0048 007A;0048 007A;
+3391;3391;3391;006B 0048 007A;006B 0048 007A;
+3392;3392;3392;004D 0048 007A;004D 0048 007A;
+3393;3393;3393;0047 0048 007A;0047 0048 007A;
+3394;3394;3394;0054 0048 007A;0054 0048 007A;
+3395;3395;3395;03BC 006C;03BC 006C;
+3396;3396;3396;006D 006C;006D 006C;
+3397;3397;3397;0064 006C;0064 006C;
+3398;3398;3398;006B 006C;006B 006C;
+3399;3399;3399;0066 006D;0066 006D;
+339A;339A;339A;006E 006D;006E 006D;
+339B;339B;339B;03BC 006D;03BC 006D;
+339C;339C;339C;006D 006D;006D 006D;
+339D;339D;339D;0063 006D;0063 006D;
+339E;339E;339E;006B 006D;006B 006D;
+339F;339F;339F;006D 006D 0032;006D 006D 0032;
+33A0;33A0;33A0;0063 006D 0032;0063 006D 0032;
+33A1;33A1;33A1;006D 0032;006D 0032;
+33A2;33A2;33A2;006B 006D 0032;006B 006D 0032;
+33A3;33A3;33A3;006D 006D 0033;006D 006D 0033;
+33A4;33A4;33A4;0063 006D 0033;0063 006D 0033;
+33A5;33A5;33A5;006D 0033;006D 0033;
+33A6;33A6;33A6;006B 006D 0033;006B 006D 0033;
+33A7;33A7;33A7;006D 2215 0073;006D 2215 0073;
+33A8;33A8;33A8;006D 2215 0073 0032;006D 2215 0073 0032;
+33A9;33A9;33A9;0050 0061;0050 0061;
+33AA;33AA;33AA;006B 0050 0061;006B 0050 0061;
+33AB;33AB;33AB;004D 0050 0061;004D 0050 0061;
+33AC;33AC;33AC;0047 0050 0061;0047 0050 0061;
+33AD;33AD;33AD;0072 0061 0064;0072 0061 0064;
+33AE;33AE;33AE;0072 0061 0064 2215 0073;0072 0061 0064 2215 0073;
+33AF;33AF;33AF;0072 0061 0064 2215 0073 0032;0072 0061 0064 2215 0073 0032;
+33B0;33B0;33B0;0070 0073;0070 0073;
+33B1;33B1;33B1;006E 0073;006E 0073;
+33B2;33B2;33B2;03BC 0073;03BC 0073;
+33B3;33B3;33B3;006D 0073;006D 0073;
+33B4;33B4;33B4;0070 0056;0070 0056;
+33B5;33B5;33B5;006E 0056;006E 0056;
+33B6;33B6;33B6;03BC 0056;03BC 0056;
+33B7;33B7;33B7;006D 0056;006D 0056;
+33B8;33B8;33B8;006B 0056;006B 0056;
+33B9;33B9;33B9;004D 0056;004D 0056;
+33BA;33BA;33BA;0070 0057;0070 0057;
+33BB;33BB;33BB;006E 0057;006E 0057;
+33BC;33BC;33BC;03BC 0057;03BC 0057;
+33BD;33BD;33BD;006D 0057;006D 0057;
+33BE;33BE;33BE;006B 0057;006B 0057;
+33BF;33BF;33BF;004D 0057;004D 0057;
+33C0;33C0;33C0;006B 03A9;006B 03A9;
+33C1;33C1;33C1;004D 03A9;004D 03A9;
+33C2;33C2;33C2;0061 002E 006D 002E;0061 002E 006D 002E;
+33C3;33C3;33C3;0042 0071;0042 0071;
+33C4;33C4;33C4;0063 0063;0063 0063;
+33C5;33C5;33C5;0063 0064;0063 0064;
+33C6;33C6;33C6;0043 2215 006B 0067;0043 2215 006B 0067;
+33C7;33C7;33C7;0043 006F 002E;0043 006F 002E;
+33C8;33C8;33C8;0064 0042;0064 0042;
+33C9;33C9;33C9;0047 0079;0047 0079;
+33CA;33CA;33CA;0068 0061;0068 0061;
+33CB;33CB;33CB;0048 0050;0048 0050;
+33CC;33CC;33CC;0069 006E;0069 006E;
+33CD;33CD;33CD;004B 004B;004B 004B;
+33CE;33CE;33CE;004B 004D;004B 004D;
+33CF;33CF;33CF;006B 0074;006B 0074;
+33D0;33D0;33D0;006C 006D;006C 006D;
+33D1;33D1;33D1;006C 006E;006C 006E;
+33D2;33D2;33D2;006C 006F 0067;006C 006F 0067;
+33D3;33D3;33D3;006C 0078;006C 0078;
+33D4;33D4;33D4;006D 0062;006D 0062;
+33D5;33D5;33D5;006D 0069 006C;006D 0069 006C;
+33D6;33D6;33D6;006D 006F 006C;006D 006F 006C;
+33D7;33D7;33D7;0050 0048;0050 0048;
+33D8;33D8;33D8;0070 002E 006D 002E;0070 002E 006D 002E;
+33D9;33D9;33D9;0050 0050 004D;0050 0050 004D;
+33DA;33DA;33DA;0050 0052;0050 0052;
+33DB;33DB;33DB;0073 0072;0073 0072;
+33DC;33DC;33DC;0053 0076;0053 0076;
+33DD;33DD;33DD;0057 0062;0057 0062;
+33E0;33E0;33E0;0031 65E5;0031 65E5;
+33E1;33E1;33E1;0032 65E5;0032 65E5;
+33E2;33E2;33E2;0033 65E5;0033 65E5;
+33E3;33E3;33E3;0034 65E5;0034 65E5;
+33E4;33E4;33E4;0035 65E5;0035 65E5;
+33E5;33E5;33E5;0036 65E5;0036 65E5;
+33E6;33E6;33E6;0037 65E5;0037 65E5;
+33E7;33E7;33E7;0038 65E5;0038 65E5;
+33E8;33E8;33E8;0039 65E5;0039 65E5;
+33E9;33E9;33E9;0031 0030 65E5;0031 0030 65E5;
+33EA;33EA;33EA;0031 0031 65E5;0031 0031 65E5;
+33EB;33EB;33EB;0031 0032 65E5;0031 0032 65E5;
+33EC;33EC;33EC;0031 0033 65E5;0031 0033 65E5;
+33ED;33ED;33ED;0031 0034 65E5;0031 0034 65E5;
+33EE;33EE;33EE;0031 0035 65E5;0031 0035 65E5;
+33EF;33EF;33EF;0031 0036 65E5;0031 0036 65E5;
+33F0;33F0;33F0;0031 0037 65E5;0031 0037 65E5;
+33F1;33F1;33F1;0031 0038 65E5;0031 0038 65E5;
+33F2;33F2;33F2;0031 0039 65E5;0031 0039 65E5;
+33F3;33F3;33F3;0032 0030 65E5;0032 0030 65E5;
+33F4;33F4;33F4;0032 0031 65E5;0032 0031 65E5;
+33F5;33F5;33F5;0032 0032 65E5;0032 0032 65E5;
+33F6;33F6;33F6;0032 0033 65E5;0032 0033 65E5;
+33F7;33F7;33F7;0032 0034 65E5;0032 0034 65E5;
+33F8;33F8;33F8;0032 0035 65E5;0032 0035 65E5;
+33F9;33F9;33F9;0032 0036 65E5;0032 0036 65E5;
+33FA;33FA;33FA;0032 0037 65E5;0032 0037 65E5;
+33FB;33FB;33FB;0032 0038 65E5;0032 0038 65E5;
+33FC;33FC;33FC;0032 0039 65E5;0032 0039 65E5;
+33FD;33FD;33FD;0033 0030 65E5;0033 0030 65E5;
+33FE;33FE;33FE;0033 0031 65E5;0033 0031 65E5;
+AC00;AC00;1100 1161;AC00;1100 1161;
+AC01;AC01;1100 1161 11A8;AC01;1100 1161 11A8;
+AC02;AC02;1100 1161 11A9;AC02;1100 1161 11A9;
+AC03;AC03;1100 1161 11AA;AC03;1100 1161 11AA;
+AC04;AC04;1100 1161 11AB;AC04;1100 1161 11AB;
+AC05;AC05;1100 1161 11AC;AC05;1100 1161 11AC;
+AC06;AC06;1100 1161 11AD;AC06;1100 1161 11AD;
+AC07;AC07;1100 1161 11AE;AC07;1100 1161 11AE;
+AC08;AC08;1100 1161 11AF;AC08;1100 1161 11AF;
+AC09;AC09;1100 1161 11B0;AC09;1100 1161 11B0;
+AC0A;AC0A;1100 1161 11B1;AC0A;1100 1161 11B1;
+AC0B;AC0B;1100 1161 11B2;AC0B;1100 1161 11B2;
+AC0C;AC0C;1100 1161 11B3;AC0C;1100 1161 11B3;
+AC0D;AC0D;1100 1161 11B4;AC0D;1100 1161 11B4;
+AC0E;AC0E;1100 1161 11B5;AC0E;1100 1161 11B5;
+AC0F;AC0F;1100 1161 11B6;AC0F;1100 1161 11B6;
+AC10;AC10;1100 1161 11B7;AC10;1100 1161 11B7;
+AC11;AC11;1100 1161 11B8;AC11;1100 1161 11B8;
+AC12;AC12;1100 1161 11B9;AC12;1100 1161 11B9;
+AC13;AC13;1100 1161 11BA;AC13;1100 1161 11BA;
+AC14;AC14;1100 1161 11BB;AC14;1100 1161 11BB;
+AC15;AC15;1100 1161 11BC;AC15;1100 1161 11BC;
+AC16;AC16;1100 1161 11BD;AC16;1100 1161 11BD;
+AC17;AC17;1100 1161 11BE;AC17;1100 1161 11BE;
+AC18;AC18;1100 1161 11BF;AC18;1100 1161 11BF;
+AC19;AC19;1100 1161 11C0;AC19;1100 1161 11C0;
+AC1A;AC1A;1100 1161 11C1;AC1A;1100 1161 11C1;
+AC1B;AC1B;1100 1161 11C2;AC1B;1100 1161 11C2;
+AC1C;AC1C;1100 1162;AC1C;1100 1162;
+AC1D;AC1D;1100 1162 11A8;AC1D;1100 1162 11A8;
+AC1E;AC1E;1100 1162 11A9;AC1E;1100 1162 11A9;
+AC1F;AC1F;1100 1162 11AA;AC1F;1100 1162 11AA;
+AC20;AC20;1100 1162 11AB;AC20;1100 1162 11AB;
+AC21;AC21;1100 1162 11AC;AC21;1100 1162 11AC;
+AC22;AC22;1100 1162 11AD;AC22;1100 1162 11AD;
+AC23;AC23;1100 1162 11AE;AC23;1100 1162 11AE;
+AC24;AC24;1100 1162 11AF;AC24;1100 1162 11AF;
+AC25;AC25;1100 1162 11B0;AC25;1100 1162 11B0;
+AC26;AC26;1100 1162 11B1;AC26;1100 1162 11B1;
+AC27;AC27;1100 1162 11B2;AC27;1100 1162 11B2;
+AC28;AC28;1100 1162 11B3;AC28;1100 1162 11B3;
+AC29;AC29;1100 1162 11B4;AC29;1100 1162 11B4;
+AC2A;AC2A;1100 1162 11B5;AC2A;1100 1162 11B5;
+AC2B;AC2B;1100 1162 11B6;AC2B;1100 1162 11B6;
+AC2C;AC2C;1100 1162 11B7;AC2C;1100 1162 11B7;
+AC2D;AC2D;1100 1162 11B8;AC2D;1100 1162 11B8;
+AC2E;AC2E;1100 1162 11B9;AC2E;1100 1162 11B9;
+AC2F;AC2F;1100 1162 11BA;AC2F;1100 1162 11BA;
+AC30;AC30;1100 1162 11BB;AC30;1100 1162 11BB;
+AC31;AC31;1100 1162 11BC;AC31;1100 1162 11BC;
+AC32;AC32;1100 1162 11BD;AC32;1100 1162 11BD;
+AC33;AC33;1100 1162 11BE;AC33;1100 1162 11BE;
+AC34;AC34;1100 1162 11BF;AC34;1100 1162 11BF;
+AC35;AC35;1100 1162 11C0;AC35;1100 1162 11C0;
+AC36;AC36;1100 1162 11C1;AC36;1100 1162 11C1;
+AC37;AC37;1100 1162 11C2;AC37;1100 1162 11C2;
+AC38;AC38;1100 1163;AC38;1100 1163;
+AC39;AC39;1100 1163 11A8;AC39;1100 1163 11A8;
+AC3A;AC3A;1100 1163 11A9;AC3A;1100 1163 11A9;
+AC3B;AC3B;1100 1163 11AA;AC3B;1100 1163 11AA;
+AC3C;AC3C;1100 1163 11AB;AC3C;1100 1163 11AB;
+AC3D;AC3D;1100 1163 11AC;AC3D;1100 1163 11AC;
+AC3E;AC3E;1100 1163 11AD;AC3E;1100 1163 11AD;
+AC3F;AC3F;1100 1163 11AE;AC3F;1100 1163 11AE;
+AC40;AC40;1100 1163 11AF;AC40;1100 1163 11AF;
+AC41;AC41;1100 1163 11B0;AC41;1100 1163 11B0;
+AC42;AC42;1100 1163 11B1;AC42;1100 1163 11B1;
+AC43;AC43;1100 1163 11B2;AC43;1100 1163 11B2;
+AC44;AC44;1100 1163 11B3;AC44;1100 1163 11B3;
+AC45;AC45;1100 1163 11B4;AC45;1100 1163 11B4;
+AC46;AC46;1100 1163 11B5;AC46;1100 1163 11B5;
+AC47;AC47;1100 1163 11B6;AC47;1100 1163 11B6;
+AC48;AC48;1100 1163 11B7;AC48;1100 1163 11B7;
+AC49;AC49;1100 1163 11B8;AC49;1100 1163 11B8;
+AC4A;AC4A;1100 1163 11B9;AC4A;1100 1163 11B9;
+AC4B;AC4B;1100 1163 11BA;AC4B;1100 1163 11BA;
+AC4C;AC4C;1100 1163 11BB;AC4C;1100 1163 11BB;
+AC4D;AC4D;1100 1163 11BC;AC4D;1100 1163 11BC;
+AC4E;AC4E;1100 1163 11BD;AC4E;1100 1163 11BD;
+AC4F;AC4F;1100 1163 11BE;AC4F;1100 1163 11BE;
+AC50;AC50;1100 1163 11BF;AC50;1100 1163 11BF;
+AC51;AC51;1100 1163 11C0;AC51;1100 1163 11C0;
+AC52;AC52;1100 1163 11C1;AC52;1100 1163 11C1;
+AC53;AC53;1100 1163 11C2;AC53;1100 1163 11C2;
+AC54;AC54;1100 1164;AC54;1100 1164;
+AC55;AC55;1100 1164 11A8;AC55;1100 1164 11A8;
+AC56;AC56;1100 1164 11A9;AC56;1100 1164 11A9;
+AC57;AC57;1100 1164 11AA;AC57;1100 1164 11AA;
+AC58;AC58;1100 1164 11AB;AC58;1100 1164 11AB;
+AC59;AC59;1100 1164 11AC;AC59;1100 1164 11AC;
+AC5A;AC5A;1100 1164 11AD;AC5A;1100 1164 11AD;
+AC5B;AC5B;1100 1164 11AE;AC5B;1100 1164 11AE;
+AC5C;AC5C;1100 1164 11AF;AC5C;1100 1164 11AF;
+AC5D;AC5D;1100 1164 11B0;AC5D;1100 1164 11B0;
+AC5E;AC5E;1100 1164 11B1;AC5E;1100 1164 11B1;
+AC5F;AC5F;1100 1164 11B2;AC5F;1100 1164 11B2;
+AC60;AC60;1100 1164 11B3;AC60;1100 1164 11B3;
+AC61;AC61;1100 1164 11B4;AC61;1100 1164 11B4;
+AC62;AC62;1100 1164 11B5;AC62;1100 1164 11B5;
+AC63;AC63;1100 1164 11B6;AC63;1100 1164 11B6;
+AC64;AC64;1100 1164 11B7;AC64;1100 1164 11B7;
+AC65;AC65;1100 1164 11B8;AC65;1100 1164 11B8;
+AC66;AC66;1100 1164 11B9;AC66;1100 1164 11B9;
+AC67;AC67;1100 1164 11BA;AC67;1100 1164 11BA;
+AC68;AC68;1100 1164 11BB;AC68;1100 1164 11BB;
+AC69;AC69;1100 1164 11BC;AC69;1100 1164 11BC;
+AC6A;AC6A;1100 1164 11BD;AC6A;1100 1164 11BD;
+AC6B;AC6B;1100 1164 11BE;AC6B;1100 1164 11BE;
+AC6C;AC6C;1100 1164 11BF;AC6C;1100 1164 11BF;
+AC6D;AC6D;1100 1164 11C0;AC6D;1100 1164 11C0;
+AC6E;AC6E;1100 1164 11C1;AC6E;1100 1164 11C1;
+AC6F;AC6F;1100 1164 11C2;AC6F;1100 1164 11C2;
+AC70;AC70;1100 1165;AC70;1100 1165;
+AC71;AC71;1100 1165 11A8;AC71;1100 1165 11A8;
+AC72;AC72;1100 1165 11A9;AC72;1100 1165 11A9;
+AC73;AC73;1100 1165 11AA;AC73;1100 1165 11AA;
+AC74;AC74;1100 1165 11AB;AC74;1100 1165 11AB;
+AC75;AC75;1100 1165 11AC;AC75;1100 1165 11AC;
+AC76;AC76;1100 1165 11AD;AC76;1100 1165 11AD;
+AC77;AC77;1100 1165 11AE;AC77;1100 1165 11AE;
+AC78;AC78;1100 1165 11AF;AC78;1100 1165 11AF;
+AC79;AC79;1100 1165 11B0;AC79;1100 1165 11B0;
+AC7A;AC7A;1100 1165 11B1;AC7A;1100 1165 11B1;
+AC7B;AC7B;1100 1165 11B2;AC7B;1100 1165 11B2;
+AC7C;AC7C;1100 1165 11B3;AC7C;1100 1165 11B3;
+AC7D;AC7D;1100 1165 11B4;AC7D;1100 1165 11B4;
+AC7E;AC7E;1100 1165 11B5;AC7E;1100 1165 11B5;
+AC7F;AC7F;1100 1165 11B6;AC7F;1100 1165 11B6;
+AC80;AC80;1100 1165 11B7;AC80;1100 1165 11B7;
+AC81;AC81;1100 1165 11B8;AC81;1100 1165 11B8;
+AC82;AC82;1100 1165 11B9;AC82;1100 1165 11B9;
+AC83;AC83;1100 1165 11BA;AC83;1100 1165 11BA;
+AC84;AC84;1100 1165 11BB;AC84;1100 1165 11BB;
+AC85;AC85;1100 1165 11BC;AC85;1100 1165 11BC;
+AC86;AC86;1100 1165 11BD;AC86;1100 1165 11BD;
+AC87;AC87;1100 1165 11BE;AC87;1100 1165 11BE;
+AC88;AC88;1100 1165 11BF;AC88;1100 1165 11BF;
+AC89;AC89;1100 1165 11C0;AC89;1100 1165 11C0;
+AC8A;AC8A;1100 1165 11C1;AC8A;1100 1165 11C1;
+AC8B;AC8B;1100 1165 11C2;AC8B;1100 1165 11C2;
+AC8C;AC8C;1100 1166;AC8C;1100 1166;
+AC8D;AC8D;1100 1166 11A8;AC8D;1100 1166 11A8;
+AC8E;AC8E;1100 1166 11A9;AC8E;1100 1166 11A9;
+AC8F;AC8F;1100 1166 11AA;AC8F;1100 1166 11AA;
+AC90;AC90;1100 1166 11AB;AC90;1100 1166 11AB;
+AC91;AC91;1100 1166 11AC;AC91;1100 1166 11AC;
+AC92;AC92;1100 1166 11AD;AC92;1100 1166 11AD;
+AC93;AC93;1100 1166 11AE;AC93;1100 1166 11AE;
+AC94;AC94;1100 1166 11AF;AC94;1100 1166 11AF;
+AC95;AC95;1100 1166 11B0;AC95;1100 1166 11B0;
+AC96;AC96;1100 1166 11B1;AC96;1100 1166 11B1;
+AC97;AC97;1100 1166 11B2;AC97;1100 1166 11B2;
+AC98;AC98;1100 1166 11B3;AC98;1100 1166 11B3;
+AC99;AC99;1100 1166 11B4;AC99;1100 1166 11B4;
+AC9A;AC9A;1100 1166 11B5;AC9A;1100 1166 11B5;
+AC9B;AC9B;1100 1166 11B6;AC9B;1100 1166 11B6;
+AC9C;AC9C;1100 1166 11B7;AC9C;1100 1166 11B7;
+AC9D;AC9D;1100 1166 11B8;AC9D;1100 1166 11B8;
+AC9E;AC9E;1100 1166 11B9;AC9E;1100 1166 11B9;
+AC9F;AC9F;1100 1166 11BA;AC9F;1100 1166 11BA;
+ACA0;ACA0;1100 1166 11BB;ACA0;1100 1166 11BB;
+ACA1;ACA1;1100 1166 11BC;ACA1;1100 1166 11BC;
+ACA2;ACA2;1100 1166 11BD;ACA2;1100 1166 11BD;
+ACA3;ACA3;1100 1166 11BE;ACA3;1100 1166 11BE;
+ACA4;ACA4;1100 1166 11BF;ACA4;1100 1166 11BF;
+ACA5;ACA5;1100 1166 11C0;ACA5;1100 1166 11C0;
+ACA6;ACA6;1100 1166 11C1;ACA6;1100 1166 11C1;
+ACA7;ACA7;1100 1166 11C2;ACA7;1100 1166 11C2;
+ACA8;ACA8;1100 1167;ACA8;1100 1167;
+ACA9;ACA9;1100 1167 11A8;ACA9;1100 1167 11A8;
+ACAA;ACAA;1100 1167 11A9;ACAA;1100 1167 11A9;
+ACAB;ACAB;1100 1167 11AA;ACAB;1100 1167 11AA;
+ACAC;ACAC;1100 1167 11AB;ACAC;1100 1167 11AB;
+ACAD;ACAD;1100 1167 11AC;ACAD;1100 1167 11AC;
+ACAE;ACAE;1100 1167 11AD;ACAE;1100 1167 11AD;
+ACAF;ACAF;1100 1167 11AE;ACAF;1100 1167 11AE;
+ACB0;ACB0;1100 1167 11AF;ACB0;1100 1167 11AF;
+ACB1;ACB1;1100 1167 11B0;ACB1;1100 1167 11B0;
+ACB2;ACB2;1100 1167 11B1;ACB2;1100 1167 11B1;
+ACB3;ACB3;1100 1167 11B2;ACB3;1100 1167 11B2;
+ACB4;ACB4;1100 1167 11B3;ACB4;1100 1167 11B3;
+ACB5;ACB5;1100 1167 11B4;ACB5;1100 1167 11B4;
+ACB6;ACB6;1100 1167 11B5;ACB6;1100 1167 11B5;
+ACB7;ACB7;1100 1167 11B6;ACB7;1100 1167 11B6;
+ACB8;ACB8;1100 1167 11B7;ACB8;1100 1167 11B7;
+ACB9;ACB9;1100 1167 11B8;ACB9;1100 1167 11B8;
+ACBA;ACBA;1100 1167 11B9;ACBA;1100 1167 11B9;
+ACBB;ACBB;1100 1167 11BA;ACBB;1100 1167 11BA;
+ACBC;ACBC;1100 1167 11BB;ACBC;1100 1167 11BB;
+ACBD;ACBD;1100 1167 11BC;ACBD;1100 1167 11BC;
+ACBE;ACBE;1100 1167 11BD;ACBE;1100 1167 11BD;
+ACBF;ACBF;1100 1167 11BE;ACBF;1100 1167 11BE;
+ACC0;ACC0;1100 1167 11BF;ACC0;1100 1167 11BF;
+ACC1;ACC1;1100 1167 11C0;ACC1;1100 1167 11C0;
+ACC2;ACC2;1100 1167 11C1;ACC2;1100 1167 11C1;
+ACC3;ACC3;1100 1167 11C2;ACC3;1100 1167 11C2;
+ACC4;ACC4;1100 1168;ACC4;1100 1168;
+ACC5;ACC5;1100 1168 11A8;ACC5;1100 1168 11A8;
+ACC6;ACC6;1100 1168 11A9;ACC6;1100 1168 11A9;
+ACC7;ACC7;1100 1168 11AA;ACC7;1100 1168 11AA;
+ACC8;ACC8;1100 1168 11AB;ACC8;1100 1168 11AB;
+ACC9;ACC9;1100 1168 11AC;ACC9;1100 1168 11AC;
+ACCA;ACCA;1100 1168 11AD;ACCA;1100 1168 11AD;
+ACCB;ACCB;1100 1168 11AE;ACCB;1100 1168 11AE;
+ACCC;ACCC;1100 1168 11AF;ACCC;1100 1168 11AF;
+ACCD;ACCD;1100 1168 11B0;ACCD;1100 1168 11B0;
+ACCE;ACCE;1100 1168 11B1;ACCE;1100 1168 11B1;
+ACCF;ACCF;1100 1168 11B2;ACCF;1100 1168 11B2;
+ACD0;ACD0;1100 1168 11B3;ACD0;1100 1168 11B3;
+ACD1;ACD1;1100 1168 11B4;ACD1;1100 1168 11B4;
+ACD2;ACD2;1100 1168 11B5;ACD2;1100 1168 11B5;
+ACD3;ACD3;1100 1168 11B6;ACD3;1100 1168 11B6;
+ACD4;ACD4;1100 1168 11B7;ACD4;1100 1168 11B7;
+ACD5;ACD5;1100 1168 11B8;ACD5;1100 1168 11B8;
+ACD6;ACD6;1100 1168 11B9;ACD6;1100 1168 11B9;
+ACD7;ACD7;1100 1168 11BA;ACD7;1100 1168 11BA;
+ACD8;ACD8;1100 1168 11BB;ACD8;1100 1168 11BB;
+ACD9;ACD9;1100 1168 11BC;ACD9;1100 1168 11BC;
+ACDA;ACDA;1100 1168 11BD;ACDA;1100 1168 11BD;
+ACDB;ACDB;1100 1168 11BE;ACDB;1100 1168 11BE;
+ACDC;ACDC;1100 1168 11BF;ACDC;1100 1168 11BF;
+ACDD;ACDD;1100 1168 11C0;ACDD;1100 1168 11C0;
+ACDE;ACDE;1100 1168 11C1;ACDE;1100 1168 11C1;
+ACDF;ACDF;1100 1168 11C2;ACDF;1100 1168 11C2;
+ACE0;ACE0;1100 1169;ACE0;1100 1169;
+ACE1;ACE1;1100 1169 11A8;ACE1;1100 1169 11A8;
+ACE2;ACE2;1100 1169 11A9;ACE2;1100 1169 11A9;
+ACE3;ACE3;1100 1169 11AA;ACE3;1100 1169 11AA;
+ACE4;ACE4;1100 1169 11AB;ACE4;1100 1169 11AB;
+ACE5;ACE5;1100 1169 11AC;ACE5;1100 1169 11AC;
+ACE6;ACE6;1100 1169 11AD;ACE6;1100 1169 11AD;
+ACE7;ACE7;1100 1169 11AE;ACE7;1100 1169 11AE;
+ACE8;ACE8;1100 1169 11AF;ACE8;1100 1169 11AF;
+ACE9;ACE9;1100 1169 11B0;ACE9;1100 1169 11B0;
+ACEA;ACEA;1100 1169 11B1;ACEA;1100 1169 11B1;
+ACEB;ACEB;1100 1169 11B2;ACEB;1100 1169 11B2;
+ACEC;ACEC;1100 1169 11B3;ACEC;1100 1169 11B3;
+ACED;ACED;1100 1169 11B4;ACED;1100 1169 11B4;
+ACEE;ACEE;1100 1169 11B5;ACEE;1100 1169 11B5;
+ACEF;ACEF;1100 1169 11B6;ACEF;1100 1169 11B6;
+ACF0;ACF0;1100 1169 11B7;ACF0;1100 1169 11B7;
+ACF1;ACF1;1100 1169 11B8;ACF1;1100 1169 11B8;
+ACF2;ACF2;1100 1169 11B9;ACF2;1100 1169 11B9;
+ACF3;ACF3;1100 1169 11BA;ACF3;1100 1169 11BA;
+ACF4;ACF4;1100 1169 11BB;ACF4;1100 1169 11BB;
+ACF5;ACF5;1100 1169 11BC;ACF5;1100 1169 11BC;
+ACF6;ACF6;1100 1169 11BD;ACF6;1100 1169 11BD;
+ACF7;ACF7;1100 1169 11BE;ACF7;1100 1169 11BE;
+ACF8;ACF8;1100 1169 11BF;ACF8;1100 1169 11BF;
+ACF9;ACF9;1100 1169 11C0;ACF9;1100 1169 11C0;
+ACFA;ACFA;1100 1169 11C1;ACFA;1100 1169 11C1;
+ACFB;ACFB;1100 1169 11C2;ACFB;1100 1169 11C2;
+ACFC;ACFC;1100 116A;ACFC;1100 116A;
+ACFD;ACFD;1100 116A 11A8;ACFD;1100 116A 11A8;
+ACFE;ACFE;1100 116A 11A9;ACFE;1100 116A 11A9;
+ACFF;ACFF;1100 116A 11AA;ACFF;1100 116A 11AA;
+AD00;AD00;1100 116A 11AB;AD00;1100 116A 11AB;
+AD01;AD01;1100 116A 11AC;AD01;1100 116A 11AC;
+AD02;AD02;1100 116A 11AD;AD02;1100 116A 11AD;
+AD03;AD03;1100 116A 11AE;AD03;1100 116A 11AE;
+AD04;AD04;1100 116A 11AF;AD04;1100 116A 11AF;
+AD05;AD05;1100 116A 11B0;AD05;1100 116A 11B0;
+AD06;AD06;1100 116A 11B1;AD06;1100 116A 11B1;
+AD07;AD07;1100 116A 11B2;AD07;1100 116A 11B2;
+AD08;AD08;1100 116A 11B3;AD08;1100 116A 11B3;
+AD09;AD09;1100 116A 11B4;AD09;1100 116A 11B4;
+AD0A;AD0A;1100 116A 11B5;AD0A;1100 116A 11B5;
+AD0B;AD0B;1100 116A 11B6;AD0B;1100 116A 11B6;
+AD0C;AD0C;1100 116A 11B7;AD0C;1100 116A 11B7;
+AD0D;AD0D;1100 116A 11B8;AD0D;1100 116A 11B8;
+AD0E;AD0E;1100 116A 11B9;AD0E;1100 116A 11B9;
+AD0F;AD0F;1100 116A 11BA;AD0F;1100 116A 11BA;
+AD10;AD10;1100 116A 11BB;AD10;1100 116A 11BB;
+AD11;AD11;1100 116A 11BC;AD11;1100 116A 11BC;
+AD12;AD12;1100 116A 11BD;AD12;1100 116A 11BD;
+AD13;AD13;1100 116A 11BE;AD13;1100 116A 11BE;
+AD14;AD14;1100 116A 11BF;AD14;1100 116A 11BF;
+AD15;AD15;1100 116A 11C0;AD15;1100 116A 11C0;
+AD16;AD16;1100 116A 11C1;AD16;1100 116A 11C1;
+AD17;AD17;1100 116A 11C2;AD17;1100 116A 11C2;
+AD18;AD18;1100 116B;AD18;1100 116B;
+AD19;AD19;1100 116B 11A8;AD19;1100 116B 11A8;
+AD1A;AD1A;1100 116B 11A9;AD1A;1100 116B 11A9;
+AD1B;AD1B;1100 116B 11AA;AD1B;1100 116B 11AA;
+AD1C;AD1C;1100 116B 11AB;AD1C;1100 116B 11AB;
+AD1D;AD1D;1100 116B 11AC;AD1D;1100 116B 11AC;
+AD1E;AD1E;1100 116B 11AD;AD1E;1100 116B 11AD;
+AD1F;AD1F;1100 116B 11AE;AD1F;1100 116B 11AE;
+AD20;AD20;1100 116B 11AF;AD20;1100 116B 11AF;
+AD21;AD21;1100 116B 11B0;AD21;1100 116B 11B0;
+AD22;AD22;1100 116B 11B1;AD22;1100 116B 11B1;
+AD23;AD23;1100 116B 11B2;AD23;1100 116B 11B2;
+AD24;AD24;1100 116B 11B3;AD24;1100 116B 11B3;
+AD25;AD25;1100 116B 11B4;AD25;1100 116B 11B4;
+AD26;AD26;1100 116B 11B5;AD26;1100 116B 11B5;
+AD27;AD27;1100 116B 11B6;AD27;1100 116B 11B6;
+AD28;AD28;1100 116B 11B7;AD28;1100 116B 11B7;
+AD29;AD29;1100 116B 11B8;AD29;1100 116B 11B8;
+AD2A;AD2A;1100 116B 11B9;AD2A;1100 116B 11B9;
+AD2B;AD2B;1100 116B 11BA;AD2B;1100 116B 11BA;
+AD2C;AD2C;1100 116B 11BB;AD2C;1100 116B 11BB;
+AD2D;AD2D;1100 116B 11BC;AD2D;1100 116B 11BC;
+AD2E;AD2E;1100 116B 11BD;AD2E;1100 116B 11BD;
+AD2F;AD2F;1100 116B 11BE;AD2F;1100 116B 11BE;
+AD30;AD30;1100 116B 11BF;AD30;1100 116B 11BF;
+AD31;AD31;1100 116B 11C0;AD31;1100 116B 11C0;
+AD32;AD32;1100 116B 11C1;AD32;1100 116B 11C1;
+AD33;AD33;1100 116B 11C2;AD33;1100 116B 11C2;
+AD34;AD34;1100 116C;AD34;1100 116C;
+AD35;AD35;1100 116C 11A8;AD35;1100 116C 11A8;
+AD36;AD36;1100 116C 11A9;AD36;1100 116C 11A9;
+AD37;AD37;1100 116C 11AA;AD37;1100 116C 11AA;
+AD38;AD38;1100 116C 11AB;AD38;1100 116C 11AB;
+AD39;AD39;1100 116C 11AC;AD39;1100 116C 11AC;
+AD3A;AD3A;1100 116C 11AD;AD3A;1100 116C 11AD;
+AD3B;AD3B;1100 116C 11AE;AD3B;1100 116C 11AE;
+AD3C;AD3C;1100 116C 11AF;AD3C;1100 116C 11AF;
+AD3D;AD3D;1100 116C 11B0;AD3D;1100 116C 11B0;
+AD3E;AD3E;1100 116C 11B1;AD3E;1100 116C 11B1;
+AD3F;AD3F;1100 116C 11B2;AD3F;1100 116C 11B2;
+AD40;AD40;1100 116C 11B3;AD40;1100 116C 11B3;
+AD41;AD41;1100 116C 11B4;AD41;1100 116C 11B4;
+AD42;AD42;1100 116C 11B5;AD42;1100 116C 11B5;
+AD43;AD43;1100 116C 11B6;AD43;1100 116C 11B6;
+AD44;AD44;1100 116C 11B7;AD44;1100 116C 11B7;
+AD45;AD45;1100 116C 11B8;AD45;1100 116C 11B8;
+AD46;AD46;1100 116C 11B9;AD46;1100 116C 11B9;
+AD47;AD47;1100 116C 11BA;AD47;1100 116C 11BA;
+AD48;AD48;1100 116C 11BB;AD48;1100 116C 11BB;
+AD49;AD49;1100 116C 11BC;AD49;1100 116C 11BC;
+AD4A;AD4A;1100 116C 11BD;AD4A;1100 116C 11BD;
+AD4B;AD4B;1100 116C 11BE;AD4B;1100 116C 11BE;
+AD4C;AD4C;1100 116C 11BF;AD4C;1100 116C 11BF;
+AD4D;AD4D;1100 116C 11C0;AD4D;1100 116C 11C0;
+AD4E;AD4E;1100 116C 11C1;AD4E;1100 116C 11C1;
+AD4F;AD4F;1100 116C 11C2;AD4F;1100 116C 11C2;
+AD50;AD50;1100 116D;AD50;1100 116D;
+AD51;AD51;1100 116D 11A8;AD51;1100 116D 11A8;
+AD52;AD52;1100 116D 11A9;AD52;1100 116D 11A9;
+AD53;AD53;1100 116D 11AA;AD53;1100 116D 11AA;
+AD54;AD54;1100 116D 11AB;AD54;1100 116D 11AB;
+AD55;AD55;1100 116D 11AC;AD55;1100 116D 11AC;
+AD56;AD56;1100 116D 11AD;AD56;1100 116D 11AD;
+AD57;AD57;1100 116D 11AE;AD57;1100 116D 11AE;
+AD58;AD58;1100 116D 11AF;AD58;1100 116D 11AF;
+AD59;AD59;1100 116D 11B0;AD59;1100 116D 11B0;
+AD5A;AD5A;1100 116D 11B1;AD5A;1100 116D 11B1;
+AD5B;AD5B;1100 116D 11B2;AD5B;1100 116D 11B2;
+AD5C;AD5C;1100 116D 11B3;AD5C;1100 116D 11B3;
+AD5D;AD5D;1100 116D 11B4;AD5D;1100 116D 11B4;
+AD5E;AD5E;1100 116D 11B5;AD5E;1100 116D 11B5;
+AD5F;AD5F;1100 116D 11B6;AD5F;1100 116D 11B6;
+AD60;AD60;1100 116D 11B7;AD60;1100 116D 11B7;
+AD61;AD61;1100 116D 11B8;AD61;1100 116D 11B8;
+AD62;AD62;1100 116D 11B9;AD62;1100 116D 11B9;
+AD63;AD63;1100 116D 11BA;AD63;1100 116D 11BA;
+AD64;AD64;1100 116D 11BB;AD64;1100 116D 11BB;
+AD65;AD65;1100 116D 11BC;AD65;1100 116D 11BC;
+AD66;AD66;1100 116D 11BD;AD66;1100 116D 11BD;
+AD67;AD67;1100 116D 11BE;AD67;1100 116D 11BE;
+AD68;AD68;1100 116D 11BF;AD68;1100 116D 11BF;
+AD69;AD69;1100 116D 11C0;AD69;1100 116D 11C0;
+AD6A;AD6A;1100 116D 11C1;AD6A;1100 116D 11C1;
+AD6B;AD6B;1100 116D 11C2;AD6B;1100 116D 11C2;
+AD6C;AD6C;1100 116E;AD6C;1100 116E;
+AD6D;AD6D;1100 116E 11A8;AD6D;1100 116E 11A8;
+AD6E;AD6E;1100 116E 11A9;AD6E;1100 116E 11A9;
+AD6F;AD6F;1100 116E 11AA;AD6F;1100 116E 11AA;
+AD70;AD70;1100 116E 11AB;AD70;1100 116E 11AB;
+AD71;AD71;1100 116E 11AC;AD71;1100 116E 11AC;
+AD72;AD72;1100 116E 11AD;AD72;1100 116E 11AD;
+AD73;AD73;1100 116E 11AE;AD73;1100 116E 11AE;
+AD74;AD74;1100 116E 11AF;AD74;1100 116E 11AF;
+AD75;AD75;1100 116E 11B0;AD75;1100 116E 11B0;
+AD76;AD76;1100 116E 11B1;AD76;1100 116E 11B1;
+AD77;AD77;1100 116E 11B2;AD77;1100 116E 11B2;
+AD78;AD78;1100 116E 11B3;AD78;1100 116E 11B3;
+AD79;AD79;1100 116E 11B4;AD79;1100 116E 11B4;
+AD7A;AD7A;1100 116E 11B5;AD7A;1100 116E 11B5;
+AD7B;AD7B;1100 116E 11B6;AD7B;1100 116E 11B6;
+AD7C;AD7C;1100 116E 11B7;AD7C;1100 116E 11B7;
+AD7D;AD7D;1100 116E 11B8;AD7D;1100 116E 11B8;
+AD7E;AD7E;1100 116E 11B9;AD7E;1100 116E 11B9;
+AD7F;AD7F;1100 116E 11BA;AD7F;1100 116E 11BA;
+AD80;AD80;1100 116E 11BB;AD80;1100 116E 11BB;
+AD81;AD81;1100 116E 11BC;AD81;1100 116E 11BC;
+AD82;AD82;1100 116E 11BD;AD82;1100 116E 11BD;
+AD83;AD83;1100 116E 11BE;AD83;1100 116E 11BE;
+AD84;AD84;1100 116E 11BF;AD84;1100 116E 11BF;
+AD85;AD85;1100 116E 11C0;AD85;1100 116E 11C0;
+AD86;AD86;1100 116E 11C1;AD86;1100 116E 11C1;
+AD87;AD87;1100 116E 11C2;AD87;1100 116E 11C2;
+AD88;AD88;1100 116F;AD88;1100 116F;
+AD89;AD89;1100 116F 11A8;AD89;1100 116F 11A8;
+AD8A;AD8A;1100 116F 11A9;AD8A;1100 116F 11A9;
+AD8B;AD8B;1100 116F 11AA;AD8B;1100 116F 11AA;
+AD8C;AD8C;1100 116F 11AB;AD8C;1100 116F 11AB;
+AD8D;AD8D;1100 116F 11AC;AD8D;1100 116F 11AC;
+AD8E;AD8E;1100 116F 11AD;AD8E;1100 116F 11AD;
+AD8F;AD8F;1100 116F 11AE;AD8F;1100 116F 11AE;
+AD90;AD90;1100 116F 11AF;AD90;1100 116F 11AF;
+AD91;AD91;1100 116F 11B0;AD91;1100 116F 11B0;
+AD92;AD92;1100 116F 11B1;AD92;1100 116F 11B1;
+AD93;AD93;1100 116F 11B2;AD93;1100 116F 11B2;
+AD94;AD94;1100 116F 11B3;AD94;1100 116F 11B3;
+AD95;AD95;1100 116F 11B4;AD95;1100 116F 11B4;
+AD96;AD96;1100 116F 11B5;AD96;1100 116F 11B5;
+AD97;AD97;1100 116F 11B6;AD97;1100 116F 11B6;
+AD98;AD98;1100 116F 11B7;AD98;1100 116F 11B7;
+AD99;AD99;1100 116F 11B8;AD99;1100 116F 11B8;
+AD9A;AD9A;1100 116F 11B9;AD9A;1100 116F 11B9;
+AD9B;AD9B;1100 116F 11BA;AD9B;1100 116F 11BA;
+AD9C;AD9C;1100 116F 11BB;AD9C;1100 116F 11BB;
+AD9D;AD9D;1100 116F 11BC;AD9D;1100 116F 11BC;
+AD9E;AD9E;1100 116F 11BD;AD9E;1100 116F 11BD;
+AD9F;AD9F;1100 116F 11BE;AD9F;1100 116F 11BE;
+ADA0;ADA0;1100 116F 11BF;ADA0;1100 116F 11BF;
+ADA1;ADA1;1100 116F 11C0;ADA1;1100 116F 11C0;
+ADA2;ADA2;1100 116F 11C1;ADA2;1100 116F 11C1;
+ADA3;ADA3;1100 116F 11C2;ADA3;1100 116F 11C2;
+ADA4;ADA4;1100 1170;ADA4;1100 1170;
+ADA5;ADA5;1100 1170 11A8;ADA5;1100 1170 11A8;
+ADA6;ADA6;1100 1170 11A9;ADA6;1100 1170 11A9;
+ADA7;ADA7;1100 1170 11AA;ADA7;1100 1170 11AA;
+ADA8;ADA8;1100 1170 11AB;ADA8;1100 1170 11AB;
+ADA9;ADA9;1100 1170 11AC;ADA9;1100 1170 11AC;
+ADAA;ADAA;1100 1170 11AD;ADAA;1100 1170 11AD;
+ADAB;ADAB;1100 1170 11AE;ADAB;1100 1170 11AE;
+ADAC;ADAC;1100 1170 11AF;ADAC;1100 1170 11AF;
+ADAD;ADAD;1100 1170 11B0;ADAD;1100 1170 11B0;
+ADAE;ADAE;1100 1170 11B1;ADAE;1100 1170 11B1;
+ADAF;ADAF;1100 1170 11B2;ADAF;1100 1170 11B2;
+ADB0;ADB0;1100 1170 11B3;ADB0;1100 1170 11B3;
+ADB1;ADB1;1100 1170 11B4;ADB1;1100 1170 11B4;
+ADB2;ADB2;1100 1170 11B5;ADB2;1100 1170 11B5;
+ADB3;ADB3;1100 1170 11B6;ADB3;1100 1170 11B6;
+ADB4;ADB4;1100 1170 11B7;ADB4;1100 1170 11B7;
+ADB5;ADB5;1100 1170 11B8;ADB5;1100 1170 11B8;
+ADB6;ADB6;1100 1170 11B9;ADB6;1100 1170 11B9;
+ADB7;ADB7;1100 1170 11BA;ADB7;1100 1170 11BA;
+ADB8;ADB8;1100 1170 11BB;ADB8;1100 1170 11BB;
+ADB9;ADB9;1100 1170 11BC;ADB9;1100 1170 11BC;
+ADBA;ADBA;1100 1170 11BD;ADBA;1100 1170 11BD;
+ADBB;ADBB;1100 1170 11BE;ADBB;1100 1170 11BE;
+ADBC;ADBC;1100 1170 11BF;ADBC;1100 1170 11BF;
+ADBD;ADBD;1100 1170 11C0;ADBD;1100 1170 11C0;
+ADBE;ADBE;1100 1170 11C1;ADBE;1100 1170 11C1;
+ADBF;ADBF;1100 1170 11C2;ADBF;1100 1170 11C2;
+ADC0;ADC0;1100 1171;ADC0;1100 1171;
+ADC1;ADC1;1100 1171 11A8;ADC1;1100 1171 11A8;
+ADC2;ADC2;1100 1171 11A9;ADC2;1100 1171 11A9;
+ADC3;ADC3;1100 1171 11AA;ADC3;1100 1171 11AA;
+ADC4;ADC4;1100 1171 11AB;ADC4;1100 1171 11AB;
+ADC5;ADC5;1100 1171 11AC;ADC5;1100 1171 11AC;
+ADC6;ADC6;1100 1171 11AD;ADC6;1100 1171 11AD;
+ADC7;ADC7;1100 1171 11AE;ADC7;1100 1171 11AE;
+ADC8;ADC8;1100 1171 11AF;ADC8;1100 1171 11AF;
+ADC9;ADC9;1100 1171 11B0;ADC9;1100 1171 11B0;
+ADCA;ADCA;1100 1171 11B1;ADCA;1100 1171 11B1;
+ADCB;ADCB;1100 1171 11B2;ADCB;1100 1171 11B2;
+ADCC;ADCC;1100 1171 11B3;ADCC;1100 1171 11B3;
+ADCD;ADCD;1100 1171 11B4;ADCD;1100 1171 11B4;
+ADCE;ADCE;1100 1171 11B5;ADCE;1100 1171 11B5;
+ADCF;ADCF;1100 1171 11B6;ADCF;1100 1171 11B6;
+ADD0;ADD0;1100 1171 11B7;ADD0;1100 1171 11B7;
+ADD1;ADD1;1100 1171 11B8;ADD1;1100 1171 11B8;
+ADD2;ADD2;1100 1171 11B9;ADD2;1100 1171 11B9;
+ADD3;ADD3;1100 1171 11BA;ADD3;1100 1171 11BA;
+ADD4;ADD4;1100 1171 11BB;ADD4;1100 1171 11BB;
+ADD5;ADD5;1100 1171 11BC;ADD5;1100 1171 11BC;
+ADD6;ADD6;1100 1171 11BD;ADD6;1100 1171 11BD;
+ADD7;ADD7;1100 1171 11BE;ADD7;1100 1171 11BE;
+ADD8;ADD8;1100 1171 11BF;ADD8;1100 1171 11BF;
+ADD9;ADD9;1100 1171 11C0;ADD9;1100 1171 11C0;
+ADDA;ADDA;1100 1171 11C1;ADDA;1100 1171 11C1;
+ADDB;ADDB;1100 1171 11C2;ADDB;1100 1171 11C2;
+ADDC;ADDC;1100 1172;ADDC;1100 1172;
+ADDD;ADDD;1100 1172 11A8;ADDD;1100 1172 11A8;
+ADDE;ADDE;1100 1172 11A9;ADDE;1100 1172 11A9;
+ADDF;ADDF;1100 1172 11AA;ADDF;1100 1172 11AA;
+ADE0;ADE0;1100 1172 11AB;ADE0;1100 1172 11AB;
+ADE1;ADE1;1100 1172 11AC;ADE1;1100 1172 11AC;
+ADE2;ADE2;1100 1172 11AD;ADE2;1100 1172 11AD;
+ADE3;ADE3;1100 1172 11AE;ADE3;1100 1172 11AE;
+ADE4;ADE4;1100 1172 11AF;ADE4;1100 1172 11AF;
+ADE5;ADE5;1100 1172 11B0;ADE5;1100 1172 11B0;
+ADE6;ADE6;1100 1172 11B1;ADE6;1100 1172 11B1;
+ADE7;ADE7;1100 1172 11B2;ADE7;1100 1172 11B2;
+ADE8;ADE8;1100 1172 11B3;ADE8;1100 1172 11B3;
+ADE9;ADE9;1100 1172 11B4;ADE9;1100 1172 11B4;
+ADEA;ADEA;1100 1172 11B5;ADEA;1100 1172 11B5;
+ADEB;ADEB;1100 1172 11B6;ADEB;1100 1172 11B6;
+ADEC;ADEC;1100 1172 11B7;ADEC;1100 1172 11B7;
+ADED;ADED;1100 1172 11B8;ADED;1100 1172 11B8;
+ADEE;ADEE;1100 1172 11B9;ADEE;1100 1172 11B9;
+ADEF;ADEF;1100 1172 11BA;ADEF;1100 1172 11BA;
+ADF0;ADF0;1100 1172 11BB;ADF0;1100 1172 11BB;
+ADF1;ADF1;1100 1172 11BC;ADF1;1100 1172 11BC;
+ADF2;ADF2;1100 1172 11BD;ADF2;1100 1172 11BD;
+ADF3;ADF3;1100 1172 11BE;ADF3;1100 1172 11BE;
+ADF4;ADF4;1100 1172 11BF;ADF4;1100 1172 11BF;
+ADF5;ADF5;1100 1172 11C0;ADF5;1100 1172 11C0;
+ADF6;ADF6;1100 1172 11C1;ADF6;1100 1172 11C1;
+ADF7;ADF7;1100 1172 11C2;ADF7;1100 1172 11C2;
+ADF8;ADF8;1100 1173;ADF8;1100 1173;
+ADF9;ADF9;1100 1173 11A8;ADF9;1100 1173 11A8;
+ADFA;ADFA;1100 1173 11A9;ADFA;1100 1173 11A9;
+ADFB;ADFB;1100 1173 11AA;ADFB;1100 1173 11AA;
+ADFC;ADFC;1100 1173 11AB;ADFC;1100 1173 11AB;
+ADFD;ADFD;1100 1173 11AC;ADFD;1100 1173 11AC;
+ADFE;ADFE;1100 1173 11AD;ADFE;1100 1173 11AD;
+ADFF;ADFF;1100 1173 11AE;ADFF;1100 1173 11AE;
+AE00;AE00;1100 1173 11AF;AE00;1100 1173 11AF;
+AE01;AE01;1100 1173 11B0;AE01;1100 1173 11B0;
+AE02;AE02;1100 1173 11B1;AE02;1100 1173 11B1;
+AE03;AE03;1100 1173 11B2;AE03;1100 1173 11B2;
+AE04;AE04;1100 1173 11B3;AE04;1100 1173 11B3;
+AE05;AE05;1100 1173 11B4;AE05;1100 1173 11B4;
+AE06;AE06;1100 1173 11B5;AE06;1100 1173 11B5;
+AE07;AE07;1100 1173 11B6;AE07;1100 1173 11B6;
+AE08;AE08;1100 1173 11B7;AE08;1100 1173 11B7;
+AE09;AE09;1100 1173 11B8;AE09;1100 1173 11B8;
+AE0A;AE0A;1100 1173 11B9;AE0A;1100 1173 11B9;
+AE0B;AE0B;1100 1173 11BA;AE0B;1100 1173 11BA;
+AE0C;AE0C;1100 1173 11BB;AE0C;1100 1173 11BB;
+AE0D;AE0D;1100 1173 11BC;AE0D;1100 1173 11BC;
+AE0E;AE0E;1100 1173 11BD;AE0E;1100 1173 11BD;
+AE0F;AE0F;1100 1173 11BE;AE0F;1100 1173 11BE;
+AE10;AE10;1100 1173 11BF;AE10;1100 1173 11BF;
+AE11;AE11;1100 1173 11C0;AE11;1100 1173 11C0;
+AE12;AE12;1100 1173 11C1;AE12;1100 1173 11C1;
+AE13;AE13;1100 1173 11C2;AE13;1100 1173 11C2;
+AE14;AE14;1100 1174;AE14;1100 1174;
+AE15;AE15;1100 1174 11A8;AE15;1100 1174 11A8;
+AE16;AE16;1100 1174 11A9;AE16;1100 1174 11A9;
+AE17;AE17;1100 1174 11AA;AE17;1100 1174 11AA;
+AE18;AE18;1100 1174 11AB;AE18;1100 1174 11AB;
+AE19;AE19;1100 1174 11AC;AE19;1100 1174 11AC;
+AE1A;AE1A;1100 1174 11AD;AE1A;1100 1174 11AD;
+AE1B;AE1B;1100 1174 11AE;AE1B;1100 1174 11AE;
+AE1C;AE1C;1100 1174 11AF;AE1C;1100 1174 11AF;
+AE1D;AE1D;1100 1174 11B0;AE1D;1100 1174 11B0;
+AE1E;AE1E;1100 1174 11B1;AE1E;1100 1174 11B1;
+AE1F;AE1F;1100 1174 11B2;AE1F;1100 1174 11B2;
+AE20;AE20;1100 1174 11B3;AE20;1100 1174 11B3;
+AE21;AE21;1100 1174 11B4;AE21;1100 1174 11B4;
+AE22;AE22;1100 1174 11B5;AE22;1100 1174 11B5;
+AE23;AE23;1100 1174 11B6;AE23;1100 1174 11B6;
+AE24;AE24;1100 1174 11B7;AE24;1100 1174 11B7;
+AE25;AE25;1100 1174 11B8;AE25;1100 1174 11B8;
+AE26;AE26;1100 1174 11B9;AE26;1100 1174 11B9;
+AE27;AE27;1100 1174 11BA;AE27;1100 1174 11BA;
+AE28;AE28;1100 1174 11BB;AE28;1100 1174 11BB;
+AE29;AE29;1100 1174 11BC;AE29;1100 1174 11BC;
+AE2A;AE2A;1100 1174 11BD;AE2A;1100 1174 11BD;
+AE2B;AE2B;1100 1174 11BE;AE2B;1100 1174 11BE;
+AE2C;AE2C;1100 1174 11BF;AE2C;1100 1174 11BF;
+AE2D;AE2D;1100 1174 11C0;AE2D;1100 1174 11C0;
+AE2E;AE2E;1100 1174 11C1;AE2E;1100 1174 11C1;
+AE2F;AE2F;1100 1174 11C2;AE2F;1100 1174 11C2;
+AE30;AE30;1100 1175;AE30;1100 1175;
+AE31;AE31;1100 1175 11A8;AE31;1100 1175 11A8;
+AE32;AE32;1100 1175 11A9;AE32;1100 1175 11A9;
+AE33;AE33;1100 1175 11AA;AE33;1100 1175 11AA;
+AE34;AE34;1100 1175 11AB;AE34;1100 1175 11AB;
+AE35;AE35;1100 1175 11AC;AE35;1100 1175 11AC;
+AE36;AE36;1100 1175 11AD;AE36;1100 1175 11AD;
+AE37;AE37;1100 1175 11AE;AE37;1100 1175 11AE;
+AE38;AE38;1100 1175 11AF;AE38;1100 1175 11AF;
+AE39;AE39;1100 1175 11B0;AE39;1100 1175 11B0;
+AE3A;AE3A;1100 1175 11B1;AE3A;1100 1175 11B1;
+AE3B;AE3B;1100 1175 11B2;AE3B;1100 1175 11B2;
+AE3C;AE3C;1100 1175 11B3;AE3C;1100 1175 11B3;
+AE3D;AE3D;1100 1175 11B4;AE3D;1100 1175 11B4;
+AE3E;AE3E;1100 1175 11B5;AE3E;1100 1175 11B5;
+AE3F;AE3F;1100 1175 11B6;AE3F;1100 1175 11B6;
+AE40;AE40;1100 1175 11B7;AE40;1100 1175 11B7;
+AE41;AE41;1100 1175 11B8;AE41;1100 1175 11B8;
+AE42;AE42;1100 1175 11B9;AE42;1100 1175 11B9;
+AE43;AE43;1100 1175 11BA;AE43;1100 1175 11BA;
+AE44;AE44;1100 1175 11BB;AE44;1100 1175 11BB;
+AE45;AE45;1100 1175 11BC;AE45;1100 1175 11BC;
+AE46;AE46;1100 1175 11BD;AE46;1100 1175 11BD;
+AE47;AE47;1100 1175 11BE;AE47;1100 1175 11BE;
+AE48;AE48;1100 1175 11BF;AE48;1100 1175 11BF;
+AE49;AE49;1100 1175 11C0;AE49;1100 1175 11C0;
+AE4A;AE4A;1100 1175 11C1;AE4A;1100 1175 11C1;
+AE4B;AE4B;1100 1175 11C2;AE4B;1100 1175 11C2;
+AE4C;AE4C;1101 1161;AE4C;1101 1161;
+AE4D;AE4D;1101 1161 11A8;AE4D;1101 1161 11A8;
+AE4E;AE4E;1101 1161 11A9;AE4E;1101 1161 11A9;
+AE4F;AE4F;1101 1161 11AA;AE4F;1101 1161 11AA;
+AE50;AE50;1101 1161 11AB;AE50;1101 1161 11AB;
+AE51;AE51;1101 1161 11AC;AE51;1101 1161 11AC;
+AE52;AE52;1101 1161 11AD;AE52;1101 1161 11AD;
+AE53;AE53;1101 1161 11AE;AE53;1101 1161 11AE;
+AE54;AE54;1101 1161 11AF;AE54;1101 1161 11AF;
+AE55;AE55;1101 1161 11B0;AE55;1101 1161 11B0;
+AE56;AE56;1101 1161 11B1;AE56;1101 1161 11B1;
+AE57;AE57;1101 1161 11B2;AE57;1101 1161 11B2;
+AE58;AE58;1101 1161 11B3;AE58;1101 1161 11B3;
+AE59;AE59;1101 1161 11B4;AE59;1101 1161 11B4;
+AE5A;AE5A;1101 1161 11B5;AE5A;1101 1161 11B5;
+AE5B;AE5B;1101 1161 11B6;AE5B;1101 1161 11B6;
+AE5C;AE5C;1101 1161 11B7;AE5C;1101 1161 11B7;
+AE5D;AE5D;1101 1161 11B8;AE5D;1101 1161 11B8;
+AE5E;AE5E;1101 1161 11B9;AE5E;1101 1161 11B9;
+AE5F;AE5F;1101 1161 11BA;AE5F;1101 1161 11BA;
+AE60;AE60;1101 1161 11BB;AE60;1101 1161 11BB;
+AE61;AE61;1101 1161 11BC;AE61;1101 1161 11BC;
+AE62;AE62;1101 1161 11BD;AE62;1101 1161 11BD;
+AE63;AE63;1101 1161 11BE;AE63;1101 1161 11BE;
+AE64;AE64;1101 1161 11BF;AE64;1101 1161 11BF;
+AE65;AE65;1101 1161 11C0;AE65;1101 1161 11C0;
+AE66;AE66;1101 1161 11C1;AE66;1101 1161 11C1;
+AE67;AE67;1101 1161 11C2;AE67;1101 1161 11C2;
+AE68;AE68;1101 1162;AE68;1101 1162;
+AE69;AE69;1101 1162 11A8;AE69;1101 1162 11A8;
+AE6A;AE6A;1101 1162 11A9;AE6A;1101 1162 11A9;
+AE6B;AE6B;1101 1162 11AA;AE6B;1101 1162 11AA;
+AE6C;AE6C;1101 1162 11AB;AE6C;1101 1162 11AB;
+AE6D;AE6D;1101 1162 11AC;AE6D;1101 1162 11AC;
+AE6E;AE6E;1101 1162 11AD;AE6E;1101 1162 11AD;
+AE6F;AE6F;1101 1162 11AE;AE6F;1101 1162 11AE;
+AE70;AE70;1101 1162 11AF;AE70;1101 1162 11AF;
+AE71;AE71;1101 1162 11B0;AE71;1101 1162 11B0;
+AE72;AE72;1101 1162 11B1;AE72;1101 1162 11B1;
+AE73;AE73;1101 1162 11B2;AE73;1101 1162 11B2;
+AE74;AE74;1101 1162 11B3;AE74;1101 1162 11B3;
+AE75;AE75;1101 1162 11B4;AE75;1101 1162 11B4;
+AE76;AE76;1101 1162 11B5;AE76;1101 1162 11B5;
+AE77;AE77;1101 1162 11B6;AE77;1101 1162 11B6;
+AE78;AE78;1101 1162 11B7;AE78;1101 1162 11B7;
+AE79;AE79;1101 1162 11B8;AE79;1101 1162 11B8;
+AE7A;AE7A;1101 1162 11B9;AE7A;1101 1162 11B9;
+AE7B;AE7B;1101 1162 11BA;AE7B;1101 1162 11BA;
+AE7C;AE7C;1101 1162 11BB;AE7C;1101 1162 11BB;
+AE7D;AE7D;1101 1162 11BC;AE7D;1101 1162 11BC;
+AE7E;AE7E;1101 1162 11BD;AE7E;1101 1162 11BD;
+AE7F;AE7F;1101 1162 11BE;AE7F;1101 1162 11BE;
+AE80;AE80;1101 1162 11BF;AE80;1101 1162 11BF;
+AE81;AE81;1101 1162 11C0;AE81;1101 1162 11C0;
+AE82;AE82;1101 1162 11C1;AE82;1101 1162 11C1;
+AE83;AE83;1101 1162 11C2;AE83;1101 1162 11C2;
+AE84;AE84;1101 1163;AE84;1101 1163;
+AE85;AE85;1101 1163 11A8;AE85;1101 1163 11A8;
+AE86;AE86;1101 1163 11A9;AE86;1101 1163 11A9;
+AE87;AE87;1101 1163 11AA;AE87;1101 1163 11AA;
+AE88;AE88;1101 1163 11AB;AE88;1101 1163 11AB;
+AE89;AE89;1101 1163 11AC;AE89;1101 1163 11AC;
+AE8A;AE8A;1101 1163 11AD;AE8A;1101 1163 11AD;
+AE8B;AE8B;1101 1163 11AE;AE8B;1101 1163 11AE;
+AE8C;AE8C;1101 1163 11AF;AE8C;1101 1163 11AF;
+AE8D;AE8D;1101 1163 11B0;AE8D;1101 1163 11B0;
+AE8E;AE8E;1101 1163 11B1;AE8E;1101 1163 11B1;
+AE8F;AE8F;1101 1163 11B2;AE8F;1101 1163 11B2;
+AE90;AE90;1101 1163 11B3;AE90;1101 1163 11B3;
+AE91;AE91;1101 1163 11B4;AE91;1101 1163 11B4;
+AE92;AE92;1101 1163 11B5;AE92;1101 1163 11B5;
+AE93;AE93;1101 1163 11B6;AE93;1101 1163 11B6;
+AE94;AE94;1101 1163 11B7;AE94;1101 1163 11B7;
+AE95;AE95;1101 1163 11B8;AE95;1101 1163 11B8;
+AE96;AE96;1101 1163 11B9;AE96;1101 1163 11B9;
+AE97;AE97;1101 1163 11BA;AE97;1101 1163 11BA;
+AE98;AE98;1101 1163 11BB;AE98;1101 1163 11BB;
+AE99;AE99;1101 1163 11BC;AE99;1101 1163 11BC;
+AE9A;AE9A;1101 1163 11BD;AE9A;1101 1163 11BD;
+AE9B;AE9B;1101 1163 11BE;AE9B;1101 1163 11BE;
+AE9C;AE9C;1101 1163 11BF;AE9C;1101 1163 11BF;
+AE9D;AE9D;1101 1163 11C0;AE9D;1101 1163 11C0;
+AE9E;AE9E;1101 1163 11C1;AE9E;1101 1163 11C1;
+AE9F;AE9F;1101 1163 11C2;AE9F;1101 1163 11C2;
+AEA0;AEA0;1101 1164;AEA0;1101 1164;
+AEA1;AEA1;1101 1164 11A8;AEA1;1101 1164 11A8;
+AEA2;AEA2;1101 1164 11A9;AEA2;1101 1164 11A9;
+AEA3;AEA3;1101 1164 11AA;AEA3;1101 1164 11AA;
+AEA4;AEA4;1101 1164 11AB;AEA4;1101 1164 11AB;
+AEA5;AEA5;1101 1164 11AC;AEA5;1101 1164 11AC;
+AEA6;AEA6;1101 1164 11AD;AEA6;1101 1164 11AD;
+AEA7;AEA7;1101 1164 11AE;AEA7;1101 1164 11AE;
+AEA8;AEA8;1101 1164 11AF;AEA8;1101 1164 11AF;
+AEA9;AEA9;1101 1164 11B0;AEA9;1101 1164 11B0;
+AEAA;AEAA;1101 1164 11B1;AEAA;1101 1164 11B1;
+AEAB;AEAB;1101 1164 11B2;AEAB;1101 1164 11B2;
+AEAC;AEAC;1101 1164 11B3;AEAC;1101 1164 11B3;
+AEAD;AEAD;1101 1164 11B4;AEAD;1101 1164 11B4;
+AEAE;AEAE;1101 1164 11B5;AEAE;1101 1164 11B5;
+AEAF;AEAF;1101 1164 11B6;AEAF;1101 1164 11B6;
+AEB0;AEB0;1101 1164 11B7;AEB0;1101 1164 11B7;
+AEB1;AEB1;1101 1164 11B8;AEB1;1101 1164 11B8;
+AEB2;AEB2;1101 1164 11B9;AEB2;1101 1164 11B9;
+AEB3;AEB3;1101 1164 11BA;AEB3;1101 1164 11BA;
+AEB4;AEB4;1101 1164 11BB;AEB4;1101 1164 11BB;
+AEB5;AEB5;1101 1164 11BC;AEB5;1101 1164 11BC;
+AEB6;AEB6;1101 1164 11BD;AEB6;1101 1164 11BD;
+AEB7;AEB7;1101 1164 11BE;AEB7;1101 1164 11BE;
+AEB8;AEB8;1101 1164 11BF;AEB8;1101 1164 11BF;
+AEB9;AEB9;1101 1164 11C0;AEB9;1101 1164 11C0;
+AEBA;AEBA;1101 1164 11C1;AEBA;1101 1164 11C1;
+AEBB;AEBB;1101 1164 11C2;AEBB;1101 1164 11C2;
+AEBC;AEBC;1101 1165;AEBC;1101 1165;
+AEBD;AEBD;1101 1165 11A8;AEBD;1101 1165 11A8;
+AEBE;AEBE;1101 1165 11A9;AEBE;1101 1165 11A9;
+AEBF;AEBF;1101 1165 11AA;AEBF;1101 1165 11AA;
+AEC0;AEC0;1101 1165 11AB;AEC0;1101 1165 11AB;
+AEC1;AEC1;1101 1165 11AC;AEC1;1101 1165 11AC;
+AEC2;AEC2;1101 1165 11AD;AEC2;1101 1165 11AD;
+AEC3;AEC3;1101 1165 11AE;AEC3;1101 1165 11AE;
+AEC4;AEC4;1101 1165 11AF;AEC4;1101 1165 11AF;
+AEC5;AEC5;1101 1165 11B0;AEC5;1101 1165 11B0;
+AEC6;AEC6;1101 1165 11B1;AEC6;1101 1165 11B1;
+AEC7;AEC7;1101 1165 11B2;AEC7;1101 1165 11B2;
+AEC8;AEC8;1101 1165 11B3;AEC8;1101 1165 11B3;
+AEC9;AEC9;1101 1165 11B4;AEC9;1101 1165 11B4;
+AECA;AECA;1101 1165 11B5;AECA;1101 1165 11B5;
+AECB;AECB;1101 1165 11B6;AECB;1101 1165 11B6;
+AECC;AECC;1101 1165 11B7;AECC;1101 1165 11B7;
+AECD;AECD;1101 1165 11B8;AECD;1101 1165 11B8;
+AECE;AECE;1101 1165 11B9;AECE;1101 1165 11B9;
+AECF;AECF;1101 1165 11BA;AECF;1101 1165 11BA;
+AED0;AED0;1101 1165 11BB;AED0;1101 1165 11BB;
+AED1;AED1;1101 1165 11BC;AED1;1101 1165 11BC;
+AED2;AED2;1101 1165 11BD;AED2;1101 1165 11BD;
+AED3;AED3;1101 1165 11BE;AED3;1101 1165 11BE;
+AED4;AED4;1101 1165 11BF;AED4;1101 1165 11BF;
+AED5;AED5;1101 1165 11C0;AED5;1101 1165 11C0;
+AED6;AED6;1101 1165 11C1;AED6;1101 1165 11C1;
+AED7;AED7;1101 1165 11C2;AED7;1101 1165 11C2;
+AED8;AED8;1101 1166;AED8;1101 1166;
+AED9;AED9;1101 1166 11A8;AED9;1101 1166 11A8;
+AEDA;AEDA;1101 1166 11A9;AEDA;1101 1166 11A9;
+AEDB;AEDB;1101 1166 11AA;AEDB;1101 1166 11AA;
+AEDC;AEDC;1101 1166 11AB;AEDC;1101 1166 11AB;
+AEDD;AEDD;1101 1166 11AC;AEDD;1101 1166 11AC;
+AEDE;AEDE;1101 1166 11AD;AEDE;1101 1166 11AD;
+AEDF;AEDF;1101 1166 11AE;AEDF;1101 1166 11AE;
+AEE0;AEE0;1101 1166 11AF;AEE0;1101 1166 11AF;
+AEE1;AEE1;1101 1166 11B0;AEE1;1101 1166 11B0;
+AEE2;AEE2;1101 1166 11B1;AEE2;1101 1166 11B1;
+AEE3;AEE3;1101 1166 11B2;AEE3;1101 1166 11B2;
+AEE4;AEE4;1101 1166 11B3;AEE4;1101 1166 11B3;
+AEE5;AEE5;1101 1166 11B4;AEE5;1101 1166 11B4;
+AEE6;AEE6;1101 1166 11B5;AEE6;1101 1166 11B5;
+AEE7;AEE7;1101 1166 11B6;AEE7;1101 1166 11B6;
+AEE8;AEE8;1101 1166 11B7;AEE8;1101 1166 11B7;
+AEE9;AEE9;1101 1166 11B8;AEE9;1101 1166 11B8;
+AEEA;AEEA;1101 1166 11B9;AEEA;1101 1166 11B9;
+AEEB;AEEB;1101 1166 11BA;AEEB;1101 1166 11BA;
+AEEC;AEEC;1101 1166 11BB;AEEC;1101 1166 11BB;
+AEED;AEED;1101 1166 11BC;AEED;1101 1166 11BC;
+AEEE;AEEE;1101 1166 11BD;AEEE;1101 1166 11BD;
+AEEF;AEEF;1101 1166 11BE;AEEF;1101 1166 11BE;
+AEF0;AEF0;1101 1166 11BF;AEF0;1101 1166 11BF;
+AEF1;AEF1;1101 1166 11C0;AEF1;1101 1166 11C0;
+AEF2;AEF2;1101 1166 11C1;AEF2;1101 1166 11C1;
+AEF3;AEF3;1101 1166 11C2;AEF3;1101 1166 11C2;
+AEF4;AEF4;1101 1167;AEF4;1101 1167;
+AEF5;AEF5;1101 1167 11A8;AEF5;1101 1167 11A8;
+AEF6;AEF6;1101 1167 11A9;AEF6;1101 1167 11A9;
+AEF7;AEF7;1101 1167 11AA;AEF7;1101 1167 11AA;
+AEF8;AEF8;1101 1167 11AB;AEF8;1101 1167 11AB;
+AEF9;AEF9;1101 1167 11AC;AEF9;1101 1167 11AC;
+AEFA;AEFA;1101 1167 11AD;AEFA;1101 1167 11AD;
+AEFB;AEFB;1101 1167 11AE;AEFB;1101 1167 11AE;
+AEFC;AEFC;1101 1167 11AF;AEFC;1101 1167 11AF;
+AEFD;AEFD;1101 1167 11B0;AEFD;1101 1167 11B0;
+AEFE;AEFE;1101 1167 11B1;AEFE;1101 1167 11B1;
+AEFF;AEFF;1101 1167 11B2;AEFF;1101 1167 11B2;
+AF00;AF00;1101 1167 11B3;AF00;1101 1167 11B3;
+AF01;AF01;1101 1167 11B4;AF01;1101 1167 11B4;
+AF02;AF02;1101 1167 11B5;AF02;1101 1167 11B5;
+AF03;AF03;1101 1167 11B6;AF03;1101 1167 11B6;
+AF04;AF04;1101 1167 11B7;AF04;1101 1167 11B7;
+AF05;AF05;1101 1167 11B8;AF05;1101 1167 11B8;
+AF06;AF06;1101 1167 11B9;AF06;1101 1167 11B9;
+AF07;AF07;1101 1167 11BA;AF07;1101 1167 11BA;
+AF08;AF08;1101 1167 11BB;AF08;1101 1167 11BB;
+AF09;AF09;1101 1167 11BC;AF09;1101 1167 11BC;
+AF0A;AF0A;1101 1167 11BD;AF0A;1101 1167 11BD;
+AF0B;AF0B;1101 1167 11BE;AF0B;1101 1167 11BE;
+AF0C;AF0C;1101 1167 11BF;AF0C;1101 1167 11BF;
+AF0D;AF0D;1101 1167 11C0;AF0D;1101 1167 11C0;
+AF0E;AF0E;1101 1167 11C1;AF0E;1101 1167 11C1;
+AF0F;AF0F;1101 1167 11C2;AF0F;1101 1167 11C2;
+AF10;AF10;1101 1168;AF10;1101 1168;
+AF11;AF11;1101 1168 11A8;AF11;1101 1168 11A8;
+AF12;AF12;1101 1168 11A9;AF12;1101 1168 11A9;
+AF13;AF13;1101 1168 11AA;AF13;1101 1168 11AA;
+AF14;AF14;1101 1168 11AB;AF14;1101 1168 11AB;
+AF15;AF15;1101 1168 11AC;AF15;1101 1168 11AC;
+AF16;AF16;1101 1168 11AD;AF16;1101 1168 11AD;
+AF17;AF17;1101 1168 11AE;AF17;1101 1168 11AE;
+AF18;AF18;1101 1168 11AF;AF18;1101 1168 11AF;
+AF19;AF19;1101 1168 11B0;AF19;1101 1168 11B0;
+AF1A;AF1A;1101 1168 11B1;AF1A;1101 1168 11B1;
+AF1B;AF1B;1101 1168 11B2;AF1B;1101 1168 11B2;
+AF1C;AF1C;1101 1168 11B3;AF1C;1101 1168 11B3;
+AF1D;AF1D;1101 1168 11B4;AF1D;1101 1168 11B4;
+AF1E;AF1E;1101 1168 11B5;AF1E;1101 1168 11B5;
+AF1F;AF1F;1101 1168 11B6;AF1F;1101 1168 11B6;
+AF20;AF20;1101 1168 11B7;AF20;1101 1168 11B7;
+AF21;AF21;1101 1168 11B8;AF21;1101 1168 11B8;
+AF22;AF22;1101 1168 11B9;AF22;1101 1168 11B9;
+AF23;AF23;1101 1168 11BA;AF23;1101 1168 11BA;
+AF24;AF24;1101 1168 11BB;AF24;1101 1168 11BB;
+AF25;AF25;1101 1168 11BC;AF25;1101 1168 11BC;
+AF26;AF26;1101 1168 11BD;AF26;1101 1168 11BD;
+AF27;AF27;1101 1168 11BE;AF27;1101 1168 11BE;
+AF28;AF28;1101 1168 11BF;AF28;1101 1168 11BF;
+AF29;AF29;1101 1168 11C0;AF29;1101 1168 11C0;
+AF2A;AF2A;1101 1168 11C1;AF2A;1101 1168 11C1;
+AF2B;AF2B;1101 1168 11C2;AF2B;1101 1168 11C2;
+AF2C;AF2C;1101 1169;AF2C;1101 1169;
+AF2D;AF2D;1101 1169 11A8;AF2D;1101 1169 11A8;
+AF2E;AF2E;1101 1169 11A9;AF2E;1101 1169 11A9;
+AF2F;AF2F;1101 1169 11AA;AF2F;1101 1169 11AA;
+AF30;AF30;1101 1169 11AB;AF30;1101 1169 11AB;
+AF31;AF31;1101 1169 11AC;AF31;1101 1169 11AC;
+AF32;AF32;1101 1169 11AD;AF32;1101 1169 11AD;
+AF33;AF33;1101 1169 11AE;AF33;1101 1169 11AE;
+AF34;AF34;1101 1169 11AF;AF34;1101 1169 11AF;
+AF35;AF35;1101 1169 11B0;AF35;1101 1169 11B0;
+AF36;AF36;1101 1169 11B1;AF36;1101 1169 11B1;
+AF37;AF37;1101 1169 11B2;AF37;1101 1169 11B2;
+AF38;AF38;1101 1169 11B3;AF38;1101 1169 11B3;
+AF39;AF39;1101 1169 11B4;AF39;1101 1169 11B4;
+AF3A;AF3A;1101 1169 11B5;AF3A;1101 1169 11B5;
+AF3B;AF3B;1101 1169 11B6;AF3B;1101 1169 11B6;
+AF3C;AF3C;1101 1169 11B7;AF3C;1101 1169 11B7;
+AF3D;AF3D;1101 1169 11B8;AF3D;1101 1169 11B8;
+AF3E;AF3E;1101 1169 11B9;AF3E;1101 1169 11B9;
+AF3F;AF3F;1101 1169 11BA;AF3F;1101 1169 11BA;
+AF40;AF40;1101 1169 11BB;AF40;1101 1169 11BB;
+AF41;AF41;1101 1169 11BC;AF41;1101 1169 11BC;
+AF42;AF42;1101 1169 11BD;AF42;1101 1169 11BD;
+AF43;AF43;1101 1169 11BE;AF43;1101 1169 11BE;
+AF44;AF44;1101 1169 11BF;AF44;1101 1169 11BF;
+AF45;AF45;1101 1169 11C0;AF45;1101 1169 11C0;
+AF46;AF46;1101 1169 11C1;AF46;1101 1169 11C1;
+AF47;AF47;1101 1169 11C2;AF47;1101 1169 11C2;
+AF48;AF48;1101 116A;AF48;1101 116A;
+AF49;AF49;1101 116A 11A8;AF49;1101 116A 11A8;
+AF4A;AF4A;1101 116A 11A9;AF4A;1101 116A 11A9;
+AF4B;AF4B;1101 116A 11AA;AF4B;1101 116A 11AA;
+AF4C;AF4C;1101 116A 11AB;AF4C;1101 116A 11AB;
+AF4D;AF4D;1101 116A 11AC;AF4D;1101 116A 11AC;
+AF4E;AF4E;1101 116A 11AD;AF4E;1101 116A 11AD;
+AF4F;AF4F;1101 116A 11AE;AF4F;1101 116A 11AE;
+AF50;AF50;1101 116A 11AF;AF50;1101 116A 11AF;
+AF51;AF51;1101 116A 11B0;AF51;1101 116A 11B0;
+AF52;AF52;1101 116A 11B1;AF52;1101 116A 11B1;
+AF53;AF53;1101 116A 11B2;AF53;1101 116A 11B2;
+AF54;AF54;1101 116A 11B3;AF54;1101 116A 11B3;
+AF55;AF55;1101 116A 11B4;AF55;1101 116A 11B4;
+AF56;AF56;1101 116A 11B5;AF56;1101 116A 11B5;
+AF57;AF57;1101 116A 11B6;AF57;1101 116A 11B6;
+AF58;AF58;1101 116A 11B7;AF58;1101 116A 11B7;
+AF59;AF59;1101 116A 11B8;AF59;1101 116A 11B8;
+AF5A;AF5A;1101 116A 11B9;AF5A;1101 116A 11B9;
+AF5B;AF5B;1101 116A 11BA;AF5B;1101 116A 11BA;
+AF5C;AF5C;1101 116A 11BB;AF5C;1101 116A 11BB;
+AF5D;AF5D;1101 116A 11BC;AF5D;1101 116A 11BC;
+AF5E;AF5E;1101 116A 11BD;AF5E;1101 116A 11BD;
+AF5F;AF5F;1101 116A 11BE;AF5F;1101 116A 11BE;
+AF60;AF60;1101 116A 11BF;AF60;1101 116A 11BF;
+AF61;AF61;1101 116A 11C0;AF61;1101 116A 11C0;
+AF62;AF62;1101 116A 11C1;AF62;1101 116A 11C1;
+AF63;AF63;1101 116A 11C2;AF63;1101 116A 11C2;
+AF64;AF64;1101 116B;AF64;1101 116B;
+AF65;AF65;1101 116B 11A8;AF65;1101 116B 11A8;
+AF66;AF66;1101 116B 11A9;AF66;1101 116B 11A9;
+AF67;AF67;1101 116B 11AA;AF67;1101 116B 11AA;
+AF68;AF68;1101 116B 11AB;AF68;1101 116B 11AB;
+AF69;AF69;1101 116B 11AC;AF69;1101 116B 11AC;
+AF6A;AF6A;1101 116B 11AD;AF6A;1101 116B 11AD;
+AF6B;AF6B;1101 116B 11AE;AF6B;1101 116B 11AE;
+AF6C;AF6C;1101 116B 11AF;AF6C;1101 116B 11AF;
+AF6D;AF6D;1101 116B 11B0;AF6D;1101 116B 11B0;
+AF6E;AF6E;1101 116B 11B1;AF6E;1101 116B 11B1;
+AF6F;AF6F;1101 116B 11B2;AF6F;1101 116B 11B2;
+AF70;AF70;1101 116B 11B3;AF70;1101 116B 11B3;
+AF71;AF71;1101 116B 11B4;AF71;1101 116B 11B4;
+AF72;AF72;1101 116B 11B5;AF72;1101 116B 11B5;
+AF73;AF73;1101 116B 11B6;AF73;1101 116B 11B6;
+AF74;AF74;1101 116B 11B7;AF74;1101 116B 11B7;
+AF75;AF75;1101 116B 11B8;AF75;1101 116B 11B8;
+AF76;AF76;1101 116B 11B9;AF76;1101 116B 11B9;
+AF77;AF77;1101 116B 11BA;AF77;1101 116B 11BA;
+AF78;AF78;1101 116B 11BB;AF78;1101 116B 11BB;
+AF79;AF79;1101 116B 11BC;AF79;1101 116B 11BC;
+AF7A;AF7A;1101 116B 11BD;AF7A;1101 116B 11BD;
+AF7B;AF7B;1101 116B 11BE;AF7B;1101 116B 11BE;
+AF7C;AF7C;1101 116B 11BF;AF7C;1101 116B 11BF;
+AF7D;AF7D;1101 116B 11C0;AF7D;1101 116B 11C0;
+AF7E;AF7E;1101 116B 11C1;AF7E;1101 116B 11C1;
+AF7F;AF7F;1101 116B 11C2;AF7F;1101 116B 11C2;
+AF80;AF80;1101 116C;AF80;1101 116C;
+AF81;AF81;1101 116C 11A8;AF81;1101 116C 11A8;
+AF82;AF82;1101 116C 11A9;AF82;1101 116C 11A9;
+AF83;AF83;1101 116C 11AA;AF83;1101 116C 11AA;
+AF84;AF84;1101 116C 11AB;AF84;1101 116C 11AB;
+AF85;AF85;1101 116C 11AC;AF85;1101 116C 11AC;
+AF86;AF86;1101 116C 11AD;AF86;1101 116C 11AD;
+AF87;AF87;1101 116C 11AE;AF87;1101 116C 11AE;
+AF88;AF88;1101 116C 11AF;AF88;1101 116C 11AF;
+AF89;AF89;1101 116C 11B0;AF89;1101 116C 11B0;
+AF8A;AF8A;1101 116C 11B1;AF8A;1101 116C 11B1;
+AF8B;AF8B;1101 116C 11B2;AF8B;1101 116C 11B2;
+AF8C;AF8C;1101 116C 11B3;AF8C;1101 116C 11B3;
+AF8D;AF8D;1101 116C 11B4;AF8D;1101 116C 11B4;
+AF8E;AF8E;1101 116C 11B5;AF8E;1101 116C 11B5;
+AF8F;AF8F;1101 116C 11B6;AF8F;1101 116C 11B6;
+AF90;AF90;1101 116C 11B7;AF90;1101 116C 11B7;
+AF91;AF91;1101 116C 11B8;AF91;1101 116C 11B8;
+AF92;AF92;1101 116C 11B9;AF92;1101 116C 11B9;
+AF93;AF93;1101 116C 11BA;AF93;1101 116C 11BA;
+AF94;AF94;1101 116C 11BB;AF94;1101 116C 11BB;
+AF95;AF95;1101 116C 11BC;AF95;1101 116C 11BC;
+AF96;AF96;1101 116C 11BD;AF96;1101 116C 11BD;
+AF97;AF97;1101 116C 11BE;AF97;1101 116C 11BE;
+AF98;AF98;1101 116C 11BF;AF98;1101 116C 11BF;
+AF99;AF99;1101 116C 11C0;AF99;1101 116C 11C0;
+AF9A;AF9A;1101 116C 11C1;AF9A;1101 116C 11C1;
+AF9B;AF9B;1101 116C 11C2;AF9B;1101 116C 11C2;
+AF9C;AF9C;1101 116D;AF9C;1101 116D;
+AF9D;AF9D;1101 116D 11A8;AF9D;1101 116D 11A8;
+AF9E;AF9E;1101 116D 11A9;AF9E;1101 116D 11A9;
+AF9F;AF9F;1101 116D 11AA;AF9F;1101 116D 11AA;
+AFA0;AFA0;1101 116D 11AB;AFA0;1101 116D 11AB;
+AFA1;AFA1;1101 116D 11AC;AFA1;1101 116D 11AC;
+AFA2;AFA2;1101 116D 11AD;AFA2;1101 116D 11AD;
+AFA3;AFA3;1101 116D 11AE;AFA3;1101 116D 11AE;
+AFA4;AFA4;1101 116D 11AF;AFA4;1101 116D 11AF;
+AFA5;AFA5;1101 116D 11B0;AFA5;1101 116D 11B0;
+AFA6;AFA6;1101 116D 11B1;AFA6;1101 116D 11B1;
+AFA7;AFA7;1101 116D 11B2;AFA7;1101 116D 11B2;
+AFA8;AFA8;1101 116D 11B3;AFA8;1101 116D 11B3;
+AFA9;AFA9;1101 116D 11B4;AFA9;1101 116D 11B4;
+AFAA;AFAA;1101 116D 11B5;AFAA;1101 116D 11B5;
+AFAB;AFAB;1101 116D 11B6;AFAB;1101 116D 11B6;
+AFAC;AFAC;1101 116D 11B7;AFAC;1101 116D 11B7;
+AFAD;AFAD;1101 116D 11B8;AFAD;1101 116D 11B8;
+AFAE;AFAE;1101 116D 11B9;AFAE;1101 116D 11B9;
+AFAF;AFAF;1101 116D 11BA;AFAF;1101 116D 11BA;
+AFB0;AFB0;1101 116D 11BB;AFB0;1101 116D 11BB;
+AFB1;AFB1;1101 116D 11BC;AFB1;1101 116D 11BC;
+AFB2;AFB2;1101 116D 11BD;AFB2;1101 116D 11BD;
+AFB3;AFB3;1101 116D 11BE;AFB3;1101 116D 11BE;
+AFB4;AFB4;1101 116D 11BF;AFB4;1101 116D 11BF;
+AFB5;AFB5;1101 116D 11C0;AFB5;1101 116D 11C0;
+AFB6;AFB6;1101 116D 11C1;AFB6;1101 116D 11C1;
+AFB7;AFB7;1101 116D 11C2;AFB7;1101 116D 11C2;
+AFB8;AFB8;1101 116E;AFB8;1101 116E;
+AFB9;AFB9;1101 116E 11A8;AFB9;1101 116E 11A8;
+AFBA;AFBA;1101 116E 11A9;AFBA;1101 116E 11A9;
+AFBB;AFBB;1101 116E 11AA;AFBB;1101 116E 11AA;
+AFBC;AFBC;1101 116E 11AB;AFBC;1101 116E 11AB;
+AFBD;AFBD;1101 116E 11AC;AFBD;1101 116E 11AC;
+AFBE;AFBE;1101 116E 11AD;AFBE;1101 116E 11AD;
+AFBF;AFBF;1101 116E 11AE;AFBF;1101 116E 11AE;
+AFC0;AFC0;1101 116E 11AF;AFC0;1101 116E 11AF;
+AFC1;AFC1;1101 116E 11B0;AFC1;1101 116E 11B0;
+AFC2;AFC2;1101 116E 11B1;AFC2;1101 116E 11B1;
+AFC3;AFC3;1101 116E 11B2;AFC3;1101 116E 11B2;
+AFC4;AFC4;1101 116E 11B3;AFC4;1101 116E 11B3;
+AFC5;AFC5;1101 116E 11B4;AFC5;1101 116E 11B4;
+AFC6;AFC6;1101 116E 11B5;AFC6;1101 116E 11B5;
+AFC7;AFC7;1101 116E 11B6;AFC7;1101 116E 11B6;
+AFC8;AFC8;1101 116E 11B7;AFC8;1101 116E 11B7;
+AFC9;AFC9;1101 116E 11B8;AFC9;1101 116E 11B8;
+AFCA;AFCA;1101 116E 11B9;AFCA;1101 116E 11B9;
+AFCB;AFCB;1101 116E 11BA;AFCB;1101 116E 11BA;
+AFCC;AFCC;1101 116E 11BB;AFCC;1101 116E 11BB;
+AFCD;AFCD;1101 116E 11BC;AFCD;1101 116E 11BC;
+AFCE;AFCE;1101 116E 11BD;AFCE;1101 116E 11BD;
+AFCF;AFCF;1101 116E 11BE;AFCF;1101 116E 11BE;
+AFD0;AFD0;1101 116E 11BF;AFD0;1101 116E 11BF;
+AFD1;AFD1;1101 116E 11C0;AFD1;1101 116E 11C0;
+AFD2;AFD2;1101 116E 11C1;AFD2;1101 116E 11C1;
+AFD3;AFD3;1101 116E 11C2;AFD3;1101 116E 11C2;
+AFD4;AFD4;1101 116F;AFD4;1101 116F;
+AFD5;AFD5;1101 116F 11A8;AFD5;1101 116F 11A8;
+AFD6;AFD6;1101 116F 11A9;AFD6;1101 116F 11A9;
+AFD7;AFD7;1101 116F 11AA;AFD7;1101 116F 11AA;
+AFD8;AFD8;1101 116F 11AB;AFD8;1101 116F 11AB;
+AFD9;AFD9;1101 116F 11AC;AFD9;1101 116F 11AC;
+AFDA;AFDA;1101 116F 11AD;AFDA;1101 116F 11AD;
+AFDB;AFDB;1101 116F 11AE;AFDB;1101 116F 11AE;
+AFDC;AFDC;1101 116F 11AF;AFDC;1101 116F 11AF;
+AFDD;AFDD;1101 116F 11B0;AFDD;1101 116F 11B0;
+AFDE;AFDE;1101 116F 11B1;AFDE;1101 116F 11B1;
+AFDF;AFDF;1101 116F 11B2;AFDF;1101 116F 11B2;
+AFE0;AFE0;1101 116F 11B3;AFE0;1101 116F 11B3;
+AFE1;AFE1;1101 116F 11B4;AFE1;1101 116F 11B4;
+AFE2;AFE2;1101 116F 11B5;AFE2;1101 116F 11B5;
+AFE3;AFE3;1101 116F 11B6;AFE3;1101 116F 11B6;
+AFE4;AFE4;1101 116F 11B7;AFE4;1101 116F 11B7;
+AFE5;AFE5;1101 116F 11B8;AFE5;1101 116F 11B8;
+AFE6;AFE6;1101 116F 11B9;AFE6;1101 116F 11B9;
+AFE7;AFE7;1101 116F 11BA;AFE7;1101 116F 11BA;
+AFE8;AFE8;1101 116F 11BB;AFE8;1101 116F 11BB;
+AFE9;AFE9;1101 116F 11BC;AFE9;1101 116F 11BC;
+AFEA;AFEA;1101 116F 11BD;AFEA;1101 116F 11BD;
+AFEB;AFEB;1101 116F 11BE;AFEB;1101 116F 11BE;
+AFEC;AFEC;1101 116F 11BF;AFEC;1101 116F 11BF;
+AFED;AFED;1101 116F 11C0;AFED;1101 116F 11C0;
+AFEE;AFEE;1101 116F 11C1;AFEE;1101 116F 11C1;
+AFEF;AFEF;1101 116F 11C2;AFEF;1101 116F 11C2;
+AFF0;AFF0;1101 1170;AFF0;1101 1170;
+AFF1;AFF1;1101 1170 11A8;AFF1;1101 1170 11A8;
+AFF2;AFF2;1101 1170 11A9;AFF2;1101 1170 11A9;
+AFF3;AFF3;1101 1170 11AA;AFF3;1101 1170 11AA;
+AFF4;AFF4;1101 1170 11AB;AFF4;1101 1170 11AB;
+AFF5;AFF5;1101 1170 11AC;AFF5;1101 1170 11AC;
+AFF6;AFF6;1101 1170 11AD;AFF6;1101 1170 11AD;
+AFF7;AFF7;1101 1170 11AE;AFF7;1101 1170 11AE;
+AFF8;AFF8;1101 1170 11AF;AFF8;1101 1170 11AF;
+AFF9;AFF9;1101 1170 11B0;AFF9;1101 1170 11B0;
+AFFA;AFFA;1101 1170 11B1;AFFA;1101 1170 11B1;
+AFFB;AFFB;1101 1170 11B2;AFFB;1101 1170 11B2;
+AFFC;AFFC;1101 1170 11B3;AFFC;1101 1170 11B3;
+AFFD;AFFD;1101 1170 11B4;AFFD;1101 1170 11B4;
+AFFE;AFFE;1101 1170 11B5;AFFE;1101 1170 11B5;
+AFFF;AFFF;1101 1170 11B6;AFFF;1101 1170 11B6;
+B000;B000;1101 1170 11B7;B000;1101 1170 11B7;
+B001;B001;1101 1170 11B8;B001;1101 1170 11B8;
+B002;B002;1101 1170 11B9;B002;1101 1170 11B9;
+B003;B003;1101 1170 11BA;B003;1101 1170 11BA;
+B004;B004;1101 1170 11BB;B004;1101 1170 11BB;
+B005;B005;1101 1170 11BC;B005;1101 1170 11BC;
+B006;B006;1101 1170 11BD;B006;1101 1170 11BD;
+B007;B007;1101 1170 11BE;B007;1101 1170 11BE;
+B008;B008;1101 1170 11BF;B008;1101 1170 11BF;
+B009;B009;1101 1170 11C0;B009;1101 1170 11C0;
+B00A;B00A;1101 1170 11C1;B00A;1101 1170 11C1;
+B00B;B00B;1101 1170 11C2;B00B;1101 1170 11C2;
+B00C;B00C;1101 1171;B00C;1101 1171;
+B00D;B00D;1101 1171 11A8;B00D;1101 1171 11A8;
+B00E;B00E;1101 1171 11A9;B00E;1101 1171 11A9;
+B00F;B00F;1101 1171 11AA;B00F;1101 1171 11AA;
+B010;B010;1101 1171 11AB;B010;1101 1171 11AB;
+B011;B011;1101 1171 11AC;B011;1101 1171 11AC;
+B012;B012;1101 1171 11AD;B012;1101 1171 11AD;
+B013;B013;1101 1171 11AE;B013;1101 1171 11AE;
+B014;B014;1101 1171 11AF;B014;1101 1171 11AF;
+B015;B015;1101 1171 11B0;B015;1101 1171 11B0;
+B016;B016;1101 1171 11B1;B016;1101 1171 11B1;
+B017;B017;1101 1171 11B2;B017;1101 1171 11B2;
+B018;B018;1101 1171 11B3;B018;1101 1171 11B3;
+B019;B019;1101 1171 11B4;B019;1101 1171 11B4;
+B01A;B01A;1101 1171 11B5;B01A;1101 1171 11B5;
+B01B;B01B;1101 1171 11B6;B01B;1101 1171 11B6;
+B01C;B01C;1101 1171 11B7;B01C;1101 1171 11B7;
+B01D;B01D;1101 1171 11B8;B01D;1101 1171 11B8;
+B01E;B01E;1101 1171 11B9;B01E;1101 1171 11B9;
+B01F;B01F;1101 1171 11BA;B01F;1101 1171 11BA;
+B020;B020;1101 1171 11BB;B020;1101 1171 11BB;
+B021;B021;1101 1171 11BC;B021;1101 1171 11BC;
+B022;B022;1101 1171 11BD;B022;1101 1171 11BD;
+B023;B023;1101 1171 11BE;B023;1101 1171 11BE;
+B024;B024;1101 1171 11BF;B024;1101 1171 11BF;
+B025;B025;1101 1171 11C0;B025;1101 1171 11C0;
+B026;B026;1101 1171 11C1;B026;1101 1171 11C1;
+B027;B027;1101 1171 11C2;B027;1101 1171 11C2;
+B028;B028;1101 1172;B028;1101 1172;
+B029;B029;1101 1172 11A8;B029;1101 1172 11A8;
+B02A;B02A;1101 1172 11A9;B02A;1101 1172 11A9;
+B02B;B02B;1101 1172 11AA;B02B;1101 1172 11AA;
+B02C;B02C;1101 1172 11AB;B02C;1101 1172 11AB;
+B02D;B02D;1101 1172 11AC;B02D;1101 1172 11AC;
+B02E;B02E;1101 1172 11AD;B02E;1101 1172 11AD;
+B02F;B02F;1101 1172 11AE;B02F;1101 1172 11AE;
+B030;B030;1101 1172 11AF;B030;1101 1172 11AF;
+B031;B031;1101 1172 11B0;B031;1101 1172 11B0;
+B032;B032;1101 1172 11B1;B032;1101 1172 11B1;
+B033;B033;1101 1172 11B2;B033;1101 1172 11B2;
+B034;B034;1101 1172 11B3;B034;1101 1172 11B3;
+B035;B035;1101 1172 11B4;B035;1101 1172 11B4;
+B036;B036;1101 1172 11B5;B036;1101 1172 11B5;
+B037;B037;1101 1172 11B6;B037;1101 1172 11B6;
+B038;B038;1101 1172 11B7;B038;1101 1172 11B7;
+B039;B039;1101 1172 11B8;B039;1101 1172 11B8;
+B03A;B03A;1101 1172 11B9;B03A;1101 1172 11B9;
+B03B;B03B;1101 1172 11BA;B03B;1101 1172 11BA;
+B03C;B03C;1101 1172 11BB;B03C;1101 1172 11BB;
+B03D;B03D;1101 1172 11BC;B03D;1101 1172 11BC;
+B03E;B03E;1101 1172 11BD;B03E;1101 1172 11BD;
+B03F;B03F;1101 1172 11BE;B03F;1101 1172 11BE;
+B040;B040;1101 1172 11BF;B040;1101 1172 11BF;
+B041;B041;1101 1172 11C0;B041;1101 1172 11C0;
+B042;B042;1101 1172 11C1;B042;1101 1172 11C1;
+B043;B043;1101 1172 11C2;B043;1101 1172 11C2;
+B044;B044;1101 1173;B044;1101 1173;
+B045;B045;1101 1173 11A8;B045;1101 1173 11A8;
+B046;B046;1101 1173 11A9;B046;1101 1173 11A9;
+B047;B047;1101 1173 11AA;B047;1101 1173 11AA;
+B048;B048;1101 1173 11AB;B048;1101 1173 11AB;
+B049;B049;1101 1173 11AC;B049;1101 1173 11AC;
+B04A;B04A;1101 1173 11AD;B04A;1101 1173 11AD;
+B04B;B04B;1101 1173 11AE;B04B;1101 1173 11AE;
+B04C;B04C;1101 1173 11AF;B04C;1101 1173 11AF;
+B04D;B04D;1101 1173 11B0;B04D;1101 1173 11B0;
+B04E;B04E;1101 1173 11B1;B04E;1101 1173 11B1;
+B04F;B04F;1101 1173 11B2;B04F;1101 1173 11B2;
+B050;B050;1101 1173 11B3;B050;1101 1173 11B3;
+B051;B051;1101 1173 11B4;B051;1101 1173 11B4;
+B052;B052;1101 1173 11B5;B052;1101 1173 11B5;
+B053;B053;1101 1173 11B6;B053;1101 1173 11B6;
+B054;B054;1101 1173 11B7;B054;1101 1173 11B7;
+B055;B055;1101 1173 11B8;B055;1101 1173 11B8;
+B056;B056;1101 1173 11B9;B056;1101 1173 11B9;
+B057;B057;1101 1173 11BA;B057;1101 1173 11BA;
+B058;B058;1101 1173 11BB;B058;1101 1173 11BB;
+B059;B059;1101 1173 11BC;B059;1101 1173 11BC;
+B05A;B05A;1101 1173 11BD;B05A;1101 1173 11BD;
+B05B;B05B;1101 1173 11BE;B05B;1101 1173 11BE;
+B05C;B05C;1101 1173 11BF;B05C;1101 1173 11BF;
+B05D;B05D;1101 1173 11C0;B05D;1101 1173 11C0;
+B05E;B05E;1101 1173 11C1;B05E;1101 1173 11C1;
+B05F;B05F;1101 1173 11C2;B05F;1101 1173 11C2;
+B060;B060;1101 1174;B060;1101 1174;
+B061;B061;1101 1174 11A8;B061;1101 1174 11A8;
+B062;B062;1101 1174 11A9;B062;1101 1174 11A9;
+B063;B063;1101 1174 11AA;B063;1101 1174 11AA;
+B064;B064;1101 1174 11AB;B064;1101 1174 11AB;
+B065;B065;1101 1174 11AC;B065;1101 1174 11AC;
+B066;B066;1101 1174 11AD;B066;1101 1174 11AD;
+B067;B067;1101 1174 11AE;B067;1101 1174 11AE;
+B068;B068;1101 1174 11AF;B068;1101 1174 11AF;
+B069;B069;1101 1174 11B0;B069;1101 1174 11B0;
+B06A;B06A;1101 1174 11B1;B06A;1101 1174 11B1;
+B06B;B06B;1101 1174 11B2;B06B;1101 1174 11B2;
+B06C;B06C;1101 1174 11B3;B06C;1101 1174 11B3;
+B06D;B06D;1101 1174 11B4;B06D;1101 1174 11B4;
+B06E;B06E;1101 1174 11B5;B06E;1101 1174 11B5;
+B06F;B06F;1101 1174 11B6;B06F;1101 1174 11B6;
+B070;B070;1101 1174 11B7;B070;1101 1174 11B7;
+B071;B071;1101 1174 11B8;B071;1101 1174 11B8;
+B072;B072;1101 1174 11B9;B072;1101 1174 11B9;
+B073;B073;1101 1174 11BA;B073;1101 1174 11BA;
+B074;B074;1101 1174 11BB;B074;1101 1174 11BB;
+B075;B075;1101 1174 11BC;B075;1101 1174 11BC;
+B076;B076;1101 1174 11BD;B076;1101 1174 11BD;
+B077;B077;1101 1174 11BE;B077;1101 1174 11BE;
+B078;B078;1101 1174 11BF;B078;1101 1174 11BF;
+B079;B079;1101 1174 11C0;B079;1101 1174 11C0;
+B07A;B07A;1101 1174 11C1;B07A;1101 1174 11C1;
+B07B;B07B;1101 1174 11C2;B07B;1101 1174 11C2;
+B07C;B07C;1101 1175;B07C;1101 1175;
+B07D;B07D;1101 1175 11A8;B07D;1101 1175 11A8;
+B07E;B07E;1101 1175 11A9;B07E;1101 1175 11A9;
+B07F;B07F;1101 1175 11AA;B07F;1101 1175 11AA;
+B080;B080;1101 1175 11AB;B080;1101 1175 11AB;
+B081;B081;1101 1175 11AC;B081;1101 1175 11AC;
+B082;B082;1101 1175 11AD;B082;1101 1175 11AD;
+B083;B083;1101 1175 11AE;B083;1101 1175 11AE;
+B084;B084;1101 1175 11AF;B084;1101 1175 11AF;
+B085;B085;1101 1175 11B0;B085;1101 1175 11B0;
+B086;B086;1101 1175 11B1;B086;1101 1175 11B1;
+B087;B087;1101 1175 11B2;B087;1101 1175 11B2;
+B088;B088;1101 1175 11B3;B088;1101 1175 11B3;
+B089;B089;1101 1175 11B4;B089;1101 1175 11B4;
+B08A;B08A;1101 1175 11B5;B08A;1101 1175 11B5;
+B08B;B08B;1101 1175 11B6;B08B;1101 1175 11B6;
+B08C;B08C;1101 1175 11B7;B08C;1101 1175 11B7;
+B08D;B08D;1101 1175 11B8;B08D;1101 1175 11B8;
+B08E;B08E;1101 1175 11B9;B08E;1101 1175 11B9;
+B08F;B08F;1101 1175 11BA;B08F;1101 1175 11BA;
+B090;B090;1101 1175 11BB;B090;1101 1175 11BB;
+B091;B091;1101 1175 11BC;B091;1101 1175 11BC;
+B092;B092;1101 1175 11BD;B092;1101 1175 11BD;
+B093;B093;1101 1175 11BE;B093;1101 1175 11BE;
+B094;B094;1101 1175 11BF;B094;1101 1175 11BF;
+B095;B095;1101 1175 11C0;B095;1101 1175 11C0;
+B096;B096;1101 1175 11C1;B096;1101 1175 11C1;
+B097;B097;1101 1175 11C2;B097;1101 1175 11C2;
+B098;B098;1102 1161;B098;1102 1161;
+B099;B099;1102 1161 11A8;B099;1102 1161 11A8;
+B09A;B09A;1102 1161 11A9;B09A;1102 1161 11A9;
+B09B;B09B;1102 1161 11AA;B09B;1102 1161 11AA;
+B09C;B09C;1102 1161 11AB;B09C;1102 1161 11AB;
+B09D;B09D;1102 1161 11AC;B09D;1102 1161 11AC;
+B09E;B09E;1102 1161 11AD;B09E;1102 1161 11AD;
+B09F;B09F;1102 1161 11AE;B09F;1102 1161 11AE;
+B0A0;B0A0;1102 1161 11AF;B0A0;1102 1161 11AF;
+B0A1;B0A1;1102 1161 11B0;B0A1;1102 1161 11B0;
+B0A2;B0A2;1102 1161 11B1;B0A2;1102 1161 11B1;
+B0A3;B0A3;1102 1161 11B2;B0A3;1102 1161 11B2;
+B0A4;B0A4;1102 1161 11B3;B0A4;1102 1161 11B3;
+B0A5;B0A5;1102 1161 11B4;B0A5;1102 1161 11B4;
+B0A6;B0A6;1102 1161 11B5;B0A6;1102 1161 11B5;
+B0A7;B0A7;1102 1161 11B6;B0A7;1102 1161 11B6;
+B0A8;B0A8;1102 1161 11B7;B0A8;1102 1161 11B7;
+B0A9;B0A9;1102 1161 11B8;B0A9;1102 1161 11B8;
+B0AA;B0AA;1102 1161 11B9;B0AA;1102 1161 11B9;
+B0AB;B0AB;1102 1161 11BA;B0AB;1102 1161 11BA;
+B0AC;B0AC;1102 1161 11BB;B0AC;1102 1161 11BB;
+B0AD;B0AD;1102 1161 11BC;B0AD;1102 1161 11BC;
+B0AE;B0AE;1102 1161 11BD;B0AE;1102 1161 11BD;
+B0AF;B0AF;1102 1161 11BE;B0AF;1102 1161 11BE;
+B0B0;B0B0;1102 1161 11BF;B0B0;1102 1161 11BF;
+B0B1;B0B1;1102 1161 11C0;B0B1;1102 1161 11C0;
+B0B2;B0B2;1102 1161 11C1;B0B2;1102 1161 11C1;
+B0B3;B0B3;1102 1161 11C2;B0B3;1102 1161 11C2;
+B0B4;B0B4;1102 1162;B0B4;1102 1162;
+B0B5;B0B5;1102 1162 11A8;B0B5;1102 1162 11A8;
+B0B6;B0B6;1102 1162 11A9;B0B6;1102 1162 11A9;
+B0B7;B0B7;1102 1162 11AA;B0B7;1102 1162 11AA;
+B0B8;B0B8;1102 1162 11AB;B0B8;1102 1162 11AB;
+B0B9;B0B9;1102 1162 11AC;B0B9;1102 1162 11AC;
+B0BA;B0BA;1102 1162 11AD;B0BA;1102 1162 11AD;
+B0BB;B0BB;1102 1162 11AE;B0BB;1102 1162 11AE;
+B0BC;B0BC;1102 1162 11AF;B0BC;1102 1162 11AF;
+B0BD;B0BD;1102 1162 11B0;B0BD;1102 1162 11B0;
+B0BE;B0BE;1102 1162 11B1;B0BE;1102 1162 11B1;
+B0BF;B0BF;1102 1162 11B2;B0BF;1102 1162 11B2;
+B0C0;B0C0;1102 1162 11B3;B0C0;1102 1162 11B3;
+B0C1;B0C1;1102 1162 11B4;B0C1;1102 1162 11B4;
+B0C2;B0C2;1102 1162 11B5;B0C2;1102 1162 11B5;
+B0C3;B0C3;1102 1162 11B6;B0C3;1102 1162 11B6;
+B0C4;B0C4;1102 1162 11B7;B0C4;1102 1162 11B7;
+B0C5;B0C5;1102 1162 11B8;B0C5;1102 1162 11B8;
+B0C6;B0C6;1102 1162 11B9;B0C6;1102 1162 11B9;
+B0C7;B0C7;1102 1162 11BA;B0C7;1102 1162 11BA;
+B0C8;B0C8;1102 1162 11BB;B0C8;1102 1162 11BB;
+B0C9;B0C9;1102 1162 11BC;B0C9;1102 1162 11BC;
+B0CA;B0CA;1102 1162 11BD;B0CA;1102 1162 11BD;
+B0CB;B0CB;1102 1162 11BE;B0CB;1102 1162 11BE;
+B0CC;B0CC;1102 1162 11BF;B0CC;1102 1162 11BF;
+B0CD;B0CD;1102 1162 11C0;B0CD;1102 1162 11C0;
+B0CE;B0CE;1102 1162 11C1;B0CE;1102 1162 11C1;
+B0CF;B0CF;1102 1162 11C2;B0CF;1102 1162 11C2;
+B0D0;B0D0;1102 1163;B0D0;1102 1163;
+B0D1;B0D1;1102 1163 11A8;B0D1;1102 1163 11A8;
+B0D2;B0D2;1102 1163 11A9;B0D2;1102 1163 11A9;
+B0D3;B0D3;1102 1163 11AA;B0D3;1102 1163 11AA;
+B0D4;B0D4;1102 1163 11AB;B0D4;1102 1163 11AB;
+B0D5;B0D5;1102 1163 11AC;B0D5;1102 1163 11AC;
+B0D6;B0D6;1102 1163 11AD;B0D6;1102 1163 11AD;
+B0D7;B0D7;1102 1163 11AE;B0D7;1102 1163 11AE;
+B0D8;B0D8;1102 1163 11AF;B0D8;1102 1163 11AF;
+B0D9;B0D9;1102 1163 11B0;B0D9;1102 1163 11B0;
+B0DA;B0DA;1102 1163 11B1;B0DA;1102 1163 11B1;
+B0DB;B0DB;1102 1163 11B2;B0DB;1102 1163 11B2;
+B0DC;B0DC;1102 1163 11B3;B0DC;1102 1163 11B3;
+B0DD;B0DD;1102 1163 11B4;B0DD;1102 1163 11B4;
+B0DE;B0DE;1102 1163 11B5;B0DE;1102 1163 11B5;
+B0DF;B0DF;1102 1163 11B6;B0DF;1102 1163 11B6;
+B0E0;B0E0;1102 1163 11B7;B0E0;1102 1163 11B7;
+B0E1;B0E1;1102 1163 11B8;B0E1;1102 1163 11B8;
+B0E2;B0E2;1102 1163 11B9;B0E2;1102 1163 11B9;
+B0E3;B0E3;1102 1163 11BA;B0E3;1102 1163 11BA;
+B0E4;B0E4;1102 1163 11BB;B0E4;1102 1163 11BB;
+B0E5;B0E5;1102 1163 11BC;B0E5;1102 1163 11BC;
+B0E6;B0E6;1102 1163 11BD;B0E6;1102 1163 11BD;
+B0E7;B0E7;1102 1163 11BE;B0E7;1102 1163 11BE;
+B0E8;B0E8;1102 1163 11BF;B0E8;1102 1163 11BF;
+B0E9;B0E9;1102 1163 11C0;B0E9;1102 1163 11C0;
+B0EA;B0EA;1102 1163 11C1;B0EA;1102 1163 11C1;
+B0EB;B0EB;1102 1163 11C2;B0EB;1102 1163 11C2;
+B0EC;B0EC;1102 1164;B0EC;1102 1164;
+B0ED;B0ED;1102 1164 11A8;B0ED;1102 1164 11A8;
+B0EE;B0EE;1102 1164 11A9;B0EE;1102 1164 11A9;
+B0EF;B0EF;1102 1164 11AA;B0EF;1102 1164 11AA;
+B0F0;B0F0;1102 1164 11AB;B0F0;1102 1164 11AB;
+B0F1;B0F1;1102 1164 11AC;B0F1;1102 1164 11AC;
+B0F2;B0F2;1102 1164 11AD;B0F2;1102 1164 11AD;
+B0F3;B0F3;1102 1164 11AE;B0F3;1102 1164 11AE;
+B0F4;B0F4;1102 1164 11AF;B0F4;1102 1164 11AF;
+B0F5;B0F5;1102 1164 11B0;B0F5;1102 1164 11B0;
+B0F6;B0F6;1102 1164 11B1;B0F6;1102 1164 11B1;
+B0F7;B0F7;1102 1164 11B2;B0F7;1102 1164 11B2;
+B0F8;B0F8;1102 1164 11B3;B0F8;1102 1164 11B3;
+B0F9;B0F9;1102 1164 11B4;B0F9;1102 1164 11B4;
+B0FA;B0FA;1102 1164 11B5;B0FA;1102 1164 11B5;
+B0FB;B0FB;1102 1164 11B6;B0FB;1102 1164 11B6;
+B0FC;B0FC;1102 1164 11B7;B0FC;1102 1164 11B7;
+B0FD;B0FD;1102 1164 11B8;B0FD;1102 1164 11B8;
+B0FE;B0FE;1102 1164 11B9;B0FE;1102 1164 11B9;
+B0FF;B0FF;1102 1164 11BA;B0FF;1102 1164 11BA;
+B100;B100;1102 1164 11BB;B100;1102 1164 11BB;
+B101;B101;1102 1164 11BC;B101;1102 1164 11BC;
+B102;B102;1102 1164 11BD;B102;1102 1164 11BD;
+B103;B103;1102 1164 11BE;B103;1102 1164 11BE;
+B104;B104;1102 1164 11BF;B104;1102 1164 11BF;
+B105;B105;1102 1164 11C0;B105;1102 1164 11C0;
+B106;B106;1102 1164 11C1;B106;1102 1164 11C1;
+B107;B107;1102 1164 11C2;B107;1102 1164 11C2;
+B108;B108;1102 1165;B108;1102 1165;
+B109;B109;1102 1165 11A8;B109;1102 1165 11A8;
+B10A;B10A;1102 1165 11A9;B10A;1102 1165 11A9;
+B10B;B10B;1102 1165 11AA;B10B;1102 1165 11AA;
+B10C;B10C;1102 1165 11AB;B10C;1102 1165 11AB;
+B10D;B10D;1102 1165 11AC;B10D;1102 1165 11AC;
+B10E;B10E;1102 1165 11AD;B10E;1102 1165 11AD;
+B10F;B10F;1102 1165 11AE;B10F;1102 1165 11AE;
+B110;B110;1102 1165 11AF;B110;1102 1165 11AF;
+B111;B111;1102 1165 11B0;B111;1102 1165 11B0;
+B112;B112;1102 1165 11B1;B112;1102 1165 11B1;
+B113;B113;1102 1165 11B2;B113;1102 1165 11B2;
+B114;B114;1102 1165 11B3;B114;1102 1165 11B3;
+B115;B115;1102 1165 11B4;B115;1102 1165 11B4;
+B116;B116;1102 1165 11B5;B116;1102 1165 11B5;
+B117;B117;1102 1165 11B6;B117;1102 1165 11B6;
+B118;B118;1102 1165 11B7;B118;1102 1165 11B7;
+B119;B119;1102 1165 11B8;B119;1102 1165 11B8;
+B11A;B11A;1102 1165 11B9;B11A;1102 1165 11B9;
+B11B;B11B;1102 1165 11BA;B11B;1102 1165 11BA;
+B11C;B11C;1102 1165 11BB;B11C;1102 1165 11BB;
+B11D;B11D;1102 1165 11BC;B11D;1102 1165 11BC;
+B11E;B11E;1102 1165 11BD;B11E;1102 1165 11BD;
+B11F;B11F;1102 1165 11BE;B11F;1102 1165 11BE;
+B120;B120;1102 1165 11BF;B120;1102 1165 11BF;
+B121;B121;1102 1165 11C0;B121;1102 1165 11C0;
+B122;B122;1102 1165 11C1;B122;1102 1165 11C1;
+B123;B123;1102 1165 11C2;B123;1102 1165 11C2;
+B124;B124;1102 1166;B124;1102 1166;
+B125;B125;1102 1166 11A8;B125;1102 1166 11A8;
+B126;B126;1102 1166 11A9;B126;1102 1166 11A9;
+B127;B127;1102 1166 11AA;B127;1102 1166 11AA;
+B128;B128;1102 1166 11AB;B128;1102 1166 11AB;
+B129;B129;1102 1166 11AC;B129;1102 1166 11AC;
+B12A;B12A;1102 1166 11AD;B12A;1102 1166 11AD;
+B12B;B12B;1102 1166 11AE;B12B;1102 1166 11AE;
+B12C;B12C;1102 1166 11AF;B12C;1102 1166 11AF;
+B12D;B12D;1102 1166 11B0;B12D;1102 1166 11B0;
+B12E;B12E;1102 1166 11B1;B12E;1102 1166 11B1;
+B12F;B12F;1102 1166 11B2;B12F;1102 1166 11B2;
+B130;B130;1102 1166 11B3;B130;1102 1166 11B3;
+B131;B131;1102 1166 11B4;B131;1102 1166 11B4;
+B132;B132;1102 1166 11B5;B132;1102 1166 11B5;
+B133;B133;1102 1166 11B6;B133;1102 1166 11B6;
+B134;B134;1102 1166 11B7;B134;1102 1166 11B7;
+B135;B135;1102 1166 11B8;B135;1102 1166 11B8;
+B136;B136;1102 1166 11B9;B136;1102 1166 11B9;
+B137;B137;1102 1166 11BA;B137;1102 1166 11BA;
+B138;B138;1102 1166 11BB;B138;1102 1166 11BB;
+B139;B139;1102 1166 11BC;B139;1102 1166 11BC;
+B13A;B13A;1102 1166 11BD;B13A;1102 1166 11BD;
+B13B;B13B;1102 1166 11BE;B13B;1102 1166 11BE;
+B13C;B13C;1102 1166 11BF;B13C;1102 1166 11BF;
+B13D;B13D;1102 1166 11C0;B13D;1102 1166 11C0;
+B13E;B13E;1102 1166 11C1;B13E;1102 1166 11C1;
+B13F;B13F;1102 1166 11C2;B13F;1102 1166 11C2;
+B140;B140;1102 1167;B140;1102 1167;
+B141;B141;1102 1167 11A8;B141;1102 1167 11A8;
+B142;B142;1102 1167 11A9;B142;1102 1167 11A9;
+B143;B143;1102 1167 11AA;B143;1102 1167 11AA;
+B144;B144;1102 1167 11AB;B144;1102 1167 11AB;
+B145;B145;1102 1167 11AC;B145;1102 1167 11AC;
+B146;B146;1102 1167 11AD;B146;1102 1167 11AD;
+B147;B147;1102 1167 11AE;B147;1102 1167 11AE;
+B148;B148;1102 1167 11AF;B148;1102 1167 11AF;
+B149;B149;1102 1167 11B0;B149;1102 1167 11B0;
+B14A;B14A;1102 1167 11B1;B14A;1102 1167 11B1;
+B14B;B14B;1102 1167 11B2;B14B;1102 1167 11B2;
+B14C;B14C;1102 1167 11B3;B14C;1102 1167 11B3;
+B14D;B14D;1102 1167 11B4;B14D;1102 1167 11B4;
+B14E;B14E;1102 1167 11B5;B14E;1102 1167 11B5;
+B14F;B14F;1102 1167 11B6;B14F;1102 1167 11B6;
+B150;B150;1102 1167 11B7;B150;1102 1167 11B7;
+B151;B151;1102 1167 11B8;B151;1102 1167 11B8;
+B152;B152;1102 1167 11B9;B152;1102 1167 11B9;
+B153;B153;1102 1167 11BA;B153;1102 1167 11BA;
+B154;B154;1102 1167 11BB;B154;1102 1167 11BB;
+B155;B155;1102 1167 11BC;B155;1102 1167 11BC;
+B156;B156;1102 1167 11BD;B156;1102 1167 11BD;
+B157;B157;1102 1167 11BE;B157;1102 1167 11BE;
+B158;B158;1102 1167 11BF;B158;1102 1167 11BF;
+B159;B159;1102 1167 11C0;B159;1102 1167 11C0;
+B15A;B15A;1102 1167 11C1;B15A;1102 1167 11C1;
+B15B;B15B;1102 1167 11C2;B15B;1102 1167 11C2;
+B15C;B15C;1102 1168;B15C;1102 1168;
+B15D;B15D;1102 1168 11A8;B15D;1102 1168 11A8;
+B15E;B15E;1102 1168 11A9;B15E;1102 1168 11A9;
+B15F;B15F;1102 1168 11AA;B15F;1102 1168 11AA;
+B160;B160;1102 1168 11AB;B160;1102 1168 11AB;
+B161;B161;1102 1168 11AC;B161;1102 1168 11AC;
+B162;B162;1102 1168 11AD;B162;1102 1168 11AD;
+B163;B163;1102 1168 11AE;B163;1102 1168 11AE;
+B164;B164;1102 1168 11AF;B164;1102 1168 11AF;
+B165;B165;1102 1168 11B0;B165;1102 1168 11B0;
+B166;B166;1102 1168 11B1;B166;1102 1168 11B1;
+B167;B167;1102 1168 11B2;B167;1102 1168 11B2;
+B168;B168;1102 1168 11B3;B168;1102 1168 11B3;
+B169;B169;1102 1168 11B4;B169;1102 1168 11B4;
+B16A;B16A;1102 1168 11B5;B16A;1102 1168 11B5;
+B16B;B16B;1102 1168 11B6;B16B;1102 1168 11B6;
+B16C;B16C;1102 1168 11B7;B16C;1102 1168 11B7;
+B16D;B16D;1102 1168 11B8;B16D;1102 1168 11B8;
+B16E;B16E;1102 1168 11B9;B16E;1102 1168 11B9;
+B16F;B16F;1102 1168 11BA;B16F;1102 1168 11BA;
+B170;B170;1102 1168 11BB;B170;1102 1168 11BB;
+B171;B171;1102 1168 11BC;B171;1102 1168 11BC;
+B172;B172;1102 1168 11BD;B172;1102 1168 11BD;
+B173;B173;1102 1168 11BE;B173;1102 1168 11BE;
+B174;B174;1102 1168 11BF;B174;1102 1168 11BF;
+B175;B175;1102 1168 11C0;B175;1102 1168 11C0;
+B176;B176;1102 1168 11C1;B176;1102 1168 11C1;
+B177;B177;1102 1168 11C2;B177;1102 1168 11C2;
+B178;B178;1102 1169;B178;1102 1169;
+B179;B179;1102 1169 11A8;B179;1102 1169 11A8;
+B17A;B17A;1102 1169 11A9;B17A;1102 1169 11A9;
+B17B;B17B;1102 1169 11AA;B17B;1102 1169 11AA;
+B17C;B17C;1102 1169 11AB;B17C;1102 1169 11AB;
+B17D;B17D;1102 1169 11AC;B17D;1102 1169 11AC;
+B17E;B17E;1102 1169 11AD;B17E;1102 1169 11AD;
+B17F;B17F;1102 1169 11AE;B17F;1102 1169 11AE;
+B180;B180;1102 1169 11AF;B180;1102 1169 11AF;
+B181;B181;1102 1169 11B0;B181;1102 1169 11B0;
+B182;B182;1102 1169 11B1;B182;1102 1169 11B1;
+B183;B183;1102 1169 11B2;B183;1102 1169 11B2;
+B184;B184;1102 1169 11B3;B184;1102 1169 11B3;
+B185;B185;1102 1169 11B4;B185;1102 1169 11B4;
+B186;B186;1102 1169 11B5;B186;1102 1169 11B5;
+B187;B187;1102 1169 11B6;B187;1102 1169 11B6;
+B188;B188;1102 1169 11B7;B188;1102 1169 11B7;
+B189;B189;1102 1169 11B8;B189;1102 1169 11B8;
+B18A;B18A;1102 1169 11B9;B18A;1102 1169 11B9;
+B18B;B18B;1102 1169 11BA;B18B;1102 1169 11BA;
+B18C;B18C;1102 1169 11BB;B18C;1102 1169 11BB;
+B18D;B18D;1102 1169 11BC;B18D;1102 1169 11BC;
+B18E;B18E;1102 1169 11BD;B18E;1102 1169 11BD;
+B18F;B18F;1102 1169 11BE;B18F;1102 1169 11BE;
+B190;B190;1102 1169 11BF;B190;1102 1169 11BF;
+B191;B191;1102 1169 11C0;B191;1102 1169 11C0;
+B192;B192;1102 1169 11C1;B192;1102 1169 11C1;
+B193;B193;1102 1169 11C2;B193;1102 1169 11C2;
+B194;B194;1102 116A;B194;1102 116A;
+B195;B195;1102 116A 11A8;B195;1102 116A 11A8;
+B196;B196;1102 116A 11A9;B196;1102 116A 11A9;
+B197;B197;1102 116A 11AA;B197;1102 116A 11AA;
+B198;B198;1102 116A 11AB;B198;1102 116A 11AB;
+B199;B199;1102 116A 11AC;B199;1102 116A 11AC;
+B19A;B19A;1102 116A 11AD;B19A;1102 116A 11AD;
+B19B;B19B;1102 116A 11AE;B19B;1102 116A 11AE;
+B19C;B19C;1102 116A 11AF;B19C;1102 116A 11AF;
+B19D;B19D;1102 116A 11B0;B19D;1102 116A 11B0;
+B19E;B19E;1102 116A 11B1;B19E;1102 116A 11B1;
+B19F;B19F;1102 116A 11B2;B19F;1102 116A 11B2;
+B1A0;B1A0;1102 116A 11B3;B1A0;1102 116A 11B3;
+B1A1;B1A1;1102 116A 11B4;B1A1;1102 116A 11B4;
+B1A2;B1A2;1102 116A 11B5;B1A2;1102 116A 11B5;
+B1A3;B1A3;1102 116A 11B6;B1A3;1102 116A 11B6;
+B1A4;B1A4;1102 116A 11B7;B1A4;1102 116A 11B7;
+B1A5;B1A5;1102 116A 11B8;B1A5;1102 116A 11B8;
+B1A6;B1A6;1102 116A 11B9;B1A6;1102 116A 11B9;
+B1A7;B1A7;1102 116A 11BA;B1A7;1102 116A 11BA;
+B1A8;B1A8;1102 116A 11BB;B1A8;1102 116A 11BB;
+B1A9;B1A9;1102 116A 11BC;B1A9;1102 116A 11BC;
+B1AA;B1AA;1102 116A 11BD;B1AA;1102 116A 11BD;
+B1AB;B1AB;1102 116A 11BE;B1AB;1102 116A 11BE;
+B1AC;B1AC;1102 116A 11BF;B1AC;1102 116A 11BF;
+B1AD;B1AD;1102 116A 11C0;B1AD;1102 116A 11C0;
+B1AE;B1AE;1102 116A 11C1;B1AE;1102 116A 11C1;
+B1AF;B1AF;1102 116A 11C2;B1AF;1102 116A 11C2;
+B1B0;B1B0;1102 116B;B1B0;1102 116B;
+B1B1;B1B1;1102 116B 11A8;B1B1;1102 116B 11A8;
+B1B2;B1B2;1102 116B 11A9;B1B2;1102 116B 11A9;
+B1B3;B1B3;1102 116B 11AA;B1B3;1102 116B 11AA;
+B1B4;B1B4;1102 116B 11AB;B1B4;1102 116B 11AB;
+B1B5;B1B5;1102 116B 11AC;B1B5;1102 116B 11AC;
+B1B6;B1B6;1102 116B 11AD;B1B6;1102 116B 11AD;
+B1B7;B1B7;1102 116B 11AE;B1B7;1102 116B 11AE;
+B1B8;B1B8;1102 116B 11AF;B1B8;1102 116B 11AF;
+B1B9;B1B9;1102 116B 11B0;B1B9;1102 116B 11B0;
+B1BA;B1BA;1102 116B 11B1;B1BA;1102 116B 11B1;
+B1BB;B1BB;1102 116B 11B2;B1BB;1102 116B 11B2;
+B1BC;B1BC;1102 116B 11B3;B1BC;1102 116B 11B3;
+B1BD;B1BD;1102 116B 11B4;B1BD;1102 116B 11B4;
+B1BE;B1BE;1102 116B 11B5;B1BE;1102 116B 11B5;
+B1BF;B1BF;1102 116B 11B6;B1BF;1102 116B 11B6;
+B1C0;B1C0;1102 116B 11B7;B1C0;1102 116B 11B7;
+B1C1;B1C1;1102 116B 11B8;B1C1;1102 116B 11B8;
+B1C2;B1C2;1102 116B 11B9;B1C2;1102 116B 11B9;
+B1C3;B1C3;1102 116B 11BA;B1C3;1102 116B 11BA;
+B1C4;B1C4;1102 116B 11BB;B1C4;1102 116B 11BB;
+B1C5;B1C5;1102 116B 11BC;B1C5;1102 116B 11BC;
+B1C6;B1C6;1102 116B 11BD;B1C6;1102 116B 11BD;
+B1C7;B1C7;1102 116B 11BE;B1C7;1102 116B 11BE;
+B1C8;B1C8;1102 116B 11BF;B1C8;1102 116B 11BF;
+B1C9;B1C9;1102 116B 11C0;B1C9;1102 116B 11C0;
+B1CA;B1CA;1102 116B 11C1;B1CA;1102 116B 11C1;
+B1CB;B1CB;1102 116B 11C2;B1CB;1102 116B 11C2;
+B1CC;B1CC;1102 116C;B1CC;1102 116C;
+B1CD;B1CD;1102 116C 11A8;B1CD;1102 116C 11A8;
+B1CE;B1CE;1102 116C 11A9;B1CE;1102 116C 11A9;
+B1CF;B1CF;1102 116C 11AA;B1CF;1102 116C 11AA;
+B1D0;B1D0;1102 116C 11AB;B1D0;1102 116C 11AB;
+B1D1;B1D1;1102 116C 11AC;B1D1;1102 116C 11AC;
+B1D2;B1D2;1102 116C 11AD;B1D2;1102 116C 11AD;
+B1D3;B1D3;1102 116C 11AE;B1D3;1102 116C 11AE;
+B1D4;B1D4;1102 116C 11AF;B1D4;1102 116C 11AF;
+B1D5;B1D5;1102 116C 11B0;B1D5;1102 116C 11B0;
+B1D6;B1D6;1102 116C 11B1;B1D6;1102 116C 11B1;
+B1D7;B1D7;1102 116C 11B2;B1D7;1102 116C 11B2;
+B1D8;B1D8;1102 116C 11B3;B1D8;1102 116C 11B3;
+B1D9;B1D9;1102 116C 11B4;B1D9;1102 116C 11B4;
+B1DA;B1DA;1102 116C 11B5;B1DA;1102 116C 11B5;
+B1DB;B1DB;1102 116C 11B6;B1DB;1102 116C 11B6;
+B1DC;B1DC;1102 116C 11B7;B1DC;1102 116C 11B7;
+B1DD;B1DD;1102 116C 11B8;B1DD;1102 116C 11B8;
+B1DE;B1DE;1102 116C 11B9;B1DE;1102 116C 11B9;
+B1DF;B1DF;1102 116C 11BA;B1DF;1102 116C 11BA;
+B1E0;B1E0;1102 116C 11BB;B1E0;1102 116C 11BB;
+B1E1;B1E1;1102 116C 11BC;B1E1;1102 116C 11BC;
+B1E2;B1E2;1102 116C 11BD;B1E2;1102 116C 11BD;
+B1E3;B1E3;1102 116C 11BE;B1E3;1102 116C 11BE;
+B1E4;B1E4;1102 116C 11BF;B1E4;1102 116C 11BF;
+B1E5;B1E5;1102 116C 11C0;B1E5;1102 116C 11C0;
+B1E6;B1E6;1102 116C 11C1;B1E6;1102 116C 11C1;
+B1E7;B1E7;1102 116C 11C2;B1E7;1102 116C 11C2;
+B1E8;B1E8;1102 116D;B1E8;1102 116D;
+B1E9;B1E9;1102 116D 11A8;B1E9;1102 116D 11A8;
+B1EA;B1EA;1102 116D 11A9;B1EA;1102 116D 11A9;
+B1EB;B1EB;1102 116D 11AA;B1EB;1102 116D 11AA;
+B1EC;B1EC;1102 116D 11AB;B1EC;1102 116D 11AB;
+B1ED;B1ED;1102 116D 11AC;B1ED;1102 116D 11AC;
+B1EE;B1EE;1102 116D 11AD;B1EE;1102 116D 11AD;
+B1EF;B1EF;1102 116D 11AE;B1EF;1102 116D 11AE;
+B1F0;B1F0;1102 116D 11AF;B1F0;1102 116D 11AF;
+B1F1;B1F1;1102 116D 11B0;B1F1;1102 116D 11B0;
+B1F2;B1F2;1102 116D 11B1;B1F2;1102 116D 11B1;
+B1F3;B1F3;1102 116D 11B2;B1F3;1102 116D 11B2;
+B1F4;B1F4;1102 116D 11B3;B1F4;1102 116D 11B3;
+B1F5;B1F5;1102 116D 11B4;B1F5;1102 116D 11B4;
+B1F6;B1F6;1102 116D 11B5;B1F6;1102 116D 11B5;
+B1F7;B1F7;1102 116D 11B6;B1F7;1102 116D 11B6;
+B1F8;B1F8;1102 116D 11B7;B1F8;1102 116D 11B7;
+B1F9;B1F9;1102 116D 11B8;B1F9;1102 116D 11B8;
+B1FA;B1FA;1102 116D 11B9;B1FA;1102 116D 11B9;
+B1FB;B1FB;1102 116D 11BA;B1FB;1102 116D 11BA;
+B1FC;B1FC;1102 116D 11BB;B1FC;1102 116D 11BB;
+B1FD;B1FD;1102 116D 11BC;B1FD;1102 116D 11BC;
+B1FE;B1FE;1102 116D 11BD;B1FE;1102 116D 11BD;
+B1FF;B1FF;1102 116D 11BE;B1FF;1102 116D 11BE;
+B200;B200;1102 116D 11BF;B200;1102 116D 11BF;
+B201;B201;1102 116D 11C0;B201;1102 116D 11C0;
+B202;B202;1102 116D 11C1;B202;1102 116D 11C1;
+B203;B203;1102 116D 11C2;B203;1102 116D 11C2;
+B204;B204;1102 116E;B204;1102 116E;
+B205;B205;1102 116E 11A8;B205;1102 116E 11A8;
+B206;B206;1102 116E 11A9;B206;1102 116E 11A9;
+B207;B207;1102 116E 11AA;B207;1102 116E 11AA;
+B208;B208;1102 116E 11AB;B208;1102 116E 11AB;
+B209;B209;1102 116E 11AC;B209;1102 116E 11AC;
+B20A;B20A;1102 116E 11AD;B20A;1102 116E 11AD;
+B20B;B20B;1102 116E 11AE;B20B;1102 116E 11AE;
+B20C;B20C;1102 116E 11AF;B20C;1102 116E 11AF;
+B20D;B20D;1102 116E 11B0;B20D;1102 116E 11B0;
+B20E;B20E;1102 116E 11B1;B20E;1102 116E 11B1;
+B20F;B20F;1102 116E 11B2;B20F;1102 116E 11B2;
+B210;B210;1102 116E 11B3;B210;1102 116E 11B3;
+B211;B211;1102 116E 11B4;B211;1102 116E 11B4;
+B212;B212;1102 116E 11B5;B212;1102 116E 11B5;
+B213;B213;1102 116E 11B6;B213;1102 116E 11B6;
+B214;B214;1102 116E 11B7;B214;1102 116E 11B7;
+B215;B215;1102 116E 11B8;B215;1102 116E 11B8;
+B216;B216;1102 116E 11B9;B216;1102 116E 11B9;
+B217;B217;1102 116E 11BA;B217;1102 116E 11BA;
+B218;B218;1102 116E 11BB;B218;1102 116E 11BB;
+B219;B219;1102 116E 11BC;B219;1102 116E 11BC;
+B21A;B21A;1102 116E 11BD;B21A;1102 116E 11BD;
+B21B;B21B;1102 116E 11BE;B21B;1102 116E 11BE;
+B21C;B21C;1102 116E 11BF;B21C;1102 116E 11BF;
+B21D;B21D;1102 116E 11C0;B21D;1102 116E 11C0;
+B21E;B21E;1102 116E 11C1;B21E;1102 116E 11C1;
+B21F;B21F;1102 116E 11C2;B21F;1102 116E 11C2;
+B220;B220;1102 116F;B220;1102 116F;
+B221;B221;1102 116F 11A8;B221;1102 116F 11A8;
+B222;B222;1102 116F 11A9;B222;1102 116F 11A9;
+B223;B223;1102 116F 11AA;B223;1102 116F 11AA;
+B224;B224;1102 116F 11AB;B224;1102 116F 11AB;
+B225;B225;1102 116F 11AC;B225;1102 116F 11AC;
+B226;B226;1102 116F 11AD;B226;1102 116F 11AD;
+B227;B227;1102 116F 11AE;B227;1102 116F 11AE;
+B228;B228;1102 116F 11AF;B228;1102 116F 11AF;
+B229;B229;1102 116F 11B0;B229;1102 116F 11B0;
+B22A;B22A;1102 116F 11B1;B22A;1102 116F 11B1;
+B22B;B22B;1102 116F 11B2;B22B;1102 116F 11B2;
+B22C;B22C;1102 116F 11B3;B22C;1102 116F 11B3;
+B22D;B22D;1102 116F 11B4;B22D;1102 116F 11B4;
+B22E;B22E;1102 116F 11B5;B22E;1102 116F 11B5;
+B22F;B22F;1102 116F 11B6;B22F;1102 116F 11B6;
+B230;B230;1102 116F 11B7;B230;1102 116F 11B7;
+B231;B231;1102 116F 11B8;B231;1102 116F 11B8;
+B232;B232;1102 116F 11B9;B232;1102 116F 11B9;
+B233;B233;1102 116F 11BA;B233;1102 116F 11BA;
+B234;B234;1102 116F 11BB;B234;1102 116F 11BB;
+B235;B235;1102 116F 11BC;B235;1102 116F 11BC;
+B236;B236;1102 116F 11BD;B236;1102 116F 11BD;
+B237;B237;1102 116F 11BE;B237;1102 116F 11BE;
+B238;B238;1102 116F 11BF;B238;1102 116F 11BF;
+B239;B239;1102 116F 11C0;B239;1102 116F 11C0;
+B23A;B23A;1102 116F 11C1;B23A;1102 116F 11C1;
+B23B;B23B;1102 116F 11C2;B23B;1102 116F 11C2;
+B23C;B23C;1102 1170;B23C;1102 1170;
+B23D;B23D;1102 1170 11A8;B23D;1102 1170 11A8;
+B23E;B23E;1102 1170 11A9;B23E;1102 1170 11A9;
+B23F;B23F;1102 1170 11AA;B23F;1102 1170 11AA;
+B240;B240;1102 1170 11AB;B240;1102 1170 11AB;
+B241;B241;1102 1170 11AC;B241;1102 1170 11AC;
+B242;B242;1102 1170 11AD;B242;1102 1170 11AD;
+B243;B243;1102 1170 11AE;B243;1102 1170 11AE;
+B244;B244;1102 1170 11AF;B244;1102 1170 11AF;
+B245;B245;1102 1170 11B0;B245;1102 1170 11B0;
+B246;B246;1102 1170 11B1;B246;1102 1170 11B1;
+B247;B247;1102 1170 11B2;B247;1102 1170 11B2;
+B248;B248;1102 1170 11B3;B248;1102 1170 11B3;
+B249;B249;1102 1170 11B4;B249;1102 1170 11B4;
+B24A;B24A;1102 1170 11B5;B24A;1102 1170 11B5;
+B24B;B24B;1102 1170 11B6;B24B;1102 1170 11B6;
+B24C;B24C;1102 1170 11B7;B24C;1102 1170 11B7;
+B24D;B24D;1102 1170 11B8;B24D;1102 1170 11B8;
+B24E;B24E;1102 1170 11B9;B24E;1102 1170 11B9;
+B24F;B24F;1102 1170 11BA;B24F;1102 1170 11BA;
+B250;B250;1102 1170 11BB;B250;1102 1170 11BB;
+B251;B251;1102 1170 11BC;B251;1102 1170 11BC;
+B252;B252;1102 1170 11BD;B252;1102 1170 11BD;
+B253;B253;1102 1170 11BE;B253;1102 1170 11BE;
+B254;B254;1102 1170 11BF;B254;1102 1170 11BF;
+B255;B255;1102 1170 11C0;B255;1102 1170 11C0;
+B256;B256;1102 1170 11C1;B256;1102 1170 11C1;
+B257;B257;1102 1170 11C2;B257;1102 1170 11C2;
+B258;B258;1102 1171;B258;1102 1171;
+B259;B259;1102 1171 11A8;B259;1102 1171 11A8;
+B25A;B25A;1102 1171 11A9;B25A;1102 1171 11A9;
+B25B;B25B;1102 1171 11AA;B25B;1102 1171 11AA;
+B25C;B25C;1102 1171 11AB;B25C;1102 1171 11AB;
+B25D;B25D;1102 1171 11AC;B25D;1102 1171 11AC;
+B25E;B25E;1102 1171 11AD;B25E;1102 1171 11AD;
+B25F;B25F;1102 1171 11AE;B25F;1102 1171 11AE;
+B260;B260;1102 1171 11AF;B260;1102 1171 11AF;
+B261;B261;1102 1171 11B0;B261;1102 1171 11B0;
+B262;B262;1102 1171 11B1;B262;1102 1171 11B1;
+B263;B263;1102 1171 11B2;B263;1102 1171 11B2;
+B264;B264;1102 1171 11B3;B264;1102 1171 11B3;
+B265;B265;1102 1171 11B4;B265;1102 1171 11B4;
+B266;B266;1102 1171 11B5;B266;1102 1171 11B5;
+B267;B267;1102 1171 11B6;B267;1102 1171 11B6;
+B268;B268;1102 1171 11B7;B268;1102 1171 11B7;
+B269;B269;1102 1171 11B8;B269;1102 1171 11B8;
+B26A;B26A;1102 1171 11B9;B26A;1102 1171 11B9;
+B26B;B26B;1102 1171 11BA;B26B;1102 1171 11BA;
+B26C;B26C;1102 1171 11BB;B26C;1102 1171 11BB;
+B26D;B26D;1102 1171 11BC;B26D;1102 1171 11BC;
+B26E;B26E;1102 1171 11BD;B26E;1102 1171 11BD;
+B26F;B26F;1102 1171 11BE;B26F;1102 1171 11BE;
+B270;B270;1102 1171 11BF;B270;1102 1171 11BF;
+B271;B271;1102 1171 11C0;B271;1102 1171 11C0;
+B272;B272;1102 1171 11C1;B272;1102 1171 11C1;
+B273;B273;1102 1171 11C2;B273;1102 1171 11C2;
+B274;B274;1102 1172;B274;1102 1172;
+B275;B275;1102 1172 11A8;B275;1102 1172 11A8;
+B276;B276;1102 1172 11A9;B276;1102 1172 11A9;
+B277;B277;1102 1172 11AA;B277;1102 1172 11AA;
+B278;B278;1102 1172 11AB;B278;1102 1172 11AB;
+B279;B279;1102 1172 11AC;B279;1102 1172 11AC;
+B27A;B27A;1102 1172 11AD;B27A;1102 1172 11AD;
+B27B;B27B;1102 1172 11AE;B27B;1102 1172 11AE;
+B27C;B27C;1102 1172 11AF;B27C;1102 1172 11AF;
+B27D;B27D;1102 1172 11B0;B27D;1102 1172 11B0;
+B27E;B27E;1102 1172 11B1;B27E;1102 1172 11B1;
+B27F;B27F;1102 1172 11B2;B27F;1102 1172 11B2;
+B280;B280;1102 1172 11B3;B280;1102 1172 11B3;
+B281;B281;1102 1172 11B4;B281;1102 1172 11B4;
+B282;B282;1102 1172 11B5;B282;1102 1172 11B5;
+B283;B283;1102 1172 11B6;B283;1102 1172 11B6;
+B284;B284;1102 1172 11B7;B284;1102 1172 11B7;
+B285;B285;1102 1172 11B8;B285;1102 1172 11B8;
+B286;B286;1102 1172 11B9;B286;1102 1172 11B9;
+B287;B287;1102 1172 11BA;B287;1102 1172 11BA;
+B288;B288;1102 1172 11BB;B288;1102 1172 11BB;
+B289;B289;1102 1172 11BC;B289;1102 1172 11BC;
+B28A;B28A;1102 1172 11BD;B28A;1102 1172 11BD;
+B28B;B28B;1102 1172 11BE;B28B;1102 1172 11BE;
+B28C;B28C;1102 1172 11BF;B28C;1102 1172 11BF;
+B28D;B28D;1102 1172 11C0;B28D;1102 1172 11C0;
+B28E;B28E;1102 1172 11C1;B28E;1102 1172 11C1;
+B28F;B28F;1102 1172 11C2;B28F;1102 1172 11C2;
+B290;B290;1102 1173;B290;1102 1173;
+B291;B291;1102 1173 11A8;B291;1102 1173 11A8;
+B292;B292;1102 1173 11A9;B292;1102 1173 11A9;
+B293;B293;1102 1173 11AA;B293;1102 1173 11AA;
+B294;B294;1102 1173 11AB;B294;1102 1173 11AB;
+B295;B295;1102 1173 11AC;B295;1102 1173 11AC;
+B296;B296;1102 1173 11AD;B296;1102 1173 11AD;
+B297;B297;1102 1173 11AE;B297;1102 1173 11AE;
+B298;B298;1102 1173 11AF;B298;1102 1173 11AF;
+B299;B299;1102 1173 11B0;B299;1102 1173 11B0;
+B29A;B29A;1102 1173 11B1;B29A;1102 1173 11B1;
+B29B;B29B;1102 1173 11B2;B29B;1102 1173 11B2;
+B29C;B29C;1102 1173 11B3;B29C;1102 1173 11B3;
+B29D;B29D;1102 1173 11B4;B29D;1102 1173 11B4;
+B29E;B29E;1102 1173 11B5;B29E;1102 1173 11B5;
+B29F;B29F;1102 1173 11B6;B29F;1102 1173 11B6;
+B2A0;B2A0;1102 1173 11B7;B2A0;1102 1173 11B7;
+B2A1;B2A1;1102 1173 11B8;B2A1;1102 1173 11B8;
+B2A2;B2A2;1102 1173 11B9;B2A2;1102 1173 11B9;
+B2A3;B2A3;1102 1173 11BA;B2A3;1102 1173 11BA;
+B2A4;B2A4;1102 1173 11BB;B2A4;1102 1173 11BB;
+B2A5;B2A5;1102 1173 11BC;B2A5;1102 1173 11BC;
+B2A6;B2A6;1102 1173 11BD;B2A6;1102 1173 11BD;
+B2A7;B2A7;1102 1173 11BE;B2A7;1102 1173 11BE;
+B2A8;B2A8;1102 1173 11BF;B2A8;1102 1173 11BF;
+B2A9;B2A9;1102 1173 11C0;B2A9;1102 1173 11C0;
+B2AA;B2AA;1102 1173 11C1;B2AA;1102 1173 11C1;
+B2AB;B2AB;1102 1173 11C2;B2AB;1102 1173 11C2;
+B2AC;B2AC;1102 1174;B2AC;1102 1174;
+B2AD;B2AD;1102 1174 11A8;B2AD;1102 1174 11A8;
+B2AE;B2AE;1102 1174 11A9;B2AE;1102 1174 11A9;
+B2AF;B2AF;1102 1174 11AA;B2AF;1102 1174 11AA;
+B2B0;B2B0;1102 1174 11AB;B2B0;1102 1174 11AB;
+B2B1;B2B1;1102 1174 11AC;B2B1;1102 1174 11AC;
+B2B2;B2B2;1102 1174 11AD;B2B2;1102 1174 11AD;
+B2B3;B2B3;1102 1174 11AE;B2B3;1102 1174 11AE;
+B2B4;B2B4;1102 1174 11AF;B2B4;1102 1174 11AF;
+B2B5;B2B5;1102 1174 11B0;B2B5;1102 1174 11B0;
+B2B6;B2B6;1102 1174 11B1;B2B6;1102 1174 11B1;
+B2B7;B2B7;1102 1174 11B2;B2B7;1102 1174 11B2;
+B2B8;B2B8;1102 1174 11B3;B2B8;1102 1174 11B3;
+B2B9;B2B9;1102 1174 11B4;B2B9;1102 1174 11B4;
+B2BA;B2BA;1102 1174 11B5;B2BA;1102 1174 11B5;
+B2BB;B2BB;1102 1174 11B6;B2BB;1102 1174 11B6;
+B2BC;B2BC;1102 1174 11B7;B2BC;1102 1174 11B7;
+B2BD;B2BD;1102 1174 11B8;B2BD;1102 1174 11B8;
+B2BE;B2BE;1102 1174 11B9;B2BE;1102 1174 11B9;
+B2BF;B2BF;1102 1174 11BA;B2BF;1102 1174 11BA;
+B2C0;B2C0;1102 1174 11BB;B2C0;1102 1174 11BB;
+B2C1;B2C1;1102 1174 11BC;B2C1;1102 1174 11BC;
+B2C2;B2C2;1102 1174 11BD;B2C2;1102 1174 11BD;
+B2C3;B2C3;1102 1174 11BE;B2C3;1102 1174 11BE;
+B2C4;B2C4;1102 1174 11BF;B2C4;1102 1174 11BF;
+B2C5;B2C5;1102 1174 11C0;B2C5;1102 1174 11C0;
+B2C6;B2C6;1102 1174 11C1;B2C6;1102 1174 11C1;
+B2C7;B2C7;1102 1174 11C2;B2C7;1102 1174 11C2;
+B2C8;B2C8;1102 1175;B2C8;1102 1175;
+B2C9;B2C9;1102 1175 11A8;B2C9;1102 1175 11A8;
+B2CA;B2CA;1102 1175 11A9;B2CA;1102 1175 11A9;
+B2CB;B2CB;1102 1175 11AA;B2CB;1102 1175 11AA;
+B2CC;B2CC;1102 1175 11AB;B2CC;1102 1175 11AB;
+B2CD;B2CD;1102 1175 11AC;B2CD;1102 1175 11AC;
+B2CE;B2CE;1102 1175 11AD;B2CE;1102 1175 11AD;
+B2CF;B2CF;1102 1175 11AE;B2CF;1102 1175 11AE;
+B2D0;B2D0;1102 1175 11AF;B2D0;1102 1175 11AF;
+B2D1;B2D1;1102 1175 11B0;B2D1;1102 1175 11B0;
+B2D2;B2D2;1102 1175 11B1;B2D2;1102 1175 11B1;
+B2D3;B2D3;1102 1175 11B2;B2D3;1102 1175 11B2;
+B2D4;B2D4;1102 1175 11B3;B2D4;1102 1175 11B3;
+B2D5;B2D5;1102 1175 11B4;B2D5;1102 1175 11B4;
+B2D6;B2D6;1102 1175 11B5;B2D6;1102 1175 11B5;
+B2D7;B2D7;1102 1175 11B6;B2D7;1102 1175 11B6;
+B2D8;B2D8;1102 1175 11B7;B2D8;1102 1175 11B7;
+B2D9;B2D9;1102 1175 11B8;B2D9;1102 1175 11B8;
+B2DA;B2DA;1102 1175 11B9;B2DA;1102 1175 11B9;
+B2DB;B2DB;1102 1175 11BA;B2DB;1102 1175 11BA;
+B2DC;B2DC;1102 1175 11BB;B2DC;1102 1175 11BB;
+B2DD;B2DD;1102 1175 11BC;B2DD;1102 1175 11BC;
+B2DE;B2DE;1102 1175 11BD;B2DE;1102 1175 11BD;
+B2DF;B2DF;1102 1175 11BE;B2DF;1102 1175 11BE;
+B2E0;B2E0;1102 1175 11BF;B2E0;1102 1175 11BF;
+B2E1;B2E1;1102 1175 11C0;B2E1;1102 1175 11C0;
+B2E2;B2E2;1102 1175 11C1;B2E2;1102 1175 11C1;
+B2E3;B2E3;1102 1175 11C2;B2E3;1102 1175 11C2;
+B2E4;B2E4;1103 1161;B2E4;1103 1161;
+B2E5;B2E5;1103 1161 11A8;B2E5;1103 1161 11A8;
+B2E6;B2E6;1103 1161 11A9;B2E6;1103 1161 11A9;
+B2E7;B2E7;1103 1161 11AA;B2E7;1103 1161 11AA;
+B2E8;B2E8;1103 1161 11AB;B2E8;1103 1161 11AB;
+B2E9;B2E9;1103 1161 11AC;B2E9;1103 1161 11AC;
+B2EA;B2EA;1103 1161 11AD;B2EA;1103 1161 11AD;
+B2EB;B2EB;1103 1161 11AE;B2EB;1103 1161 11AE;
+B2EC;B2EC;1103 1161 11AF;B2EC;1103 1161 11AF;
+B2ED;B2ED;1103 1161 11B0;B2ED;1103 1161 11B0;
+B2EE;B2EE;1103 1161 11B1;B2EE;1103 1161 11B1;
+B2EF;B2EF;1103 1161 11B2;B2EF;1103 1161 11B2;
+B2F0;B2F0;1103 1161 11B3;B2F0;1103 1161 11B3;
+B2F1;B2F1;1103 1161 11B4;B2F1;1103 1161 11B4;
+B2F2;B2F2;1103 1161 11B5;B2F2;1103 1161 11B5;
+B2F3;B2F3;1103 1161 11B6;B2F3;1103 1161 11B6;
+B2F4;B2F4;1103 1161 11B7;B2F4;1103 1161 11B7;
+B2F5;B2F5;1103 1161 11B8;B2F5;1103 1161 11B8;
+B2F6;B2F6;1103 1161 11B9;B2F6;1103 1161 11B9;
+B2F7;B2F7;1103 1161 11BA;B2F7;1103 1161 11BA;
+B2F8;B2F8;1103 1161 11BB;B2F8;1103 1161 11BB;
+B2F9;B2F9;1103 1161 11BC;B2F9;1103 1161 11BC;
+B2FA;B2FA;1103 1161 11BD;B2FA;1103 1161 11BD;
+B2FB;B2FB;1103 1161 11BE;B2FB;1103 1161 11BE;
+B2FC;B2FC;1103 1161 11BF;B2FC;1103 1161 11BF;
+B2FD;B2FD;1103 1161 11C0;B2FD;1103 1161 11C0;
+B2FE;B2FE;1103 1161 11C1;B2FE;1103 1161 11C1;
+B2FF;B2FF;1103 1161 11C2;B2FF;1103 1161 11C2;
+B300;B300;1103 1162;B300;1103 1162;
+B301;B301;1103 1162 11A8;B301;1103 1162 11A8;
+B302;B302;1103 1162 11A9;B302;1103 1162 11A9;
+B303;B303;1103 1162 11AA;B303;1103 1162 11AA;
+B304;B304;1103 1162 11AB;B304;1103 1162 11AB;
+B305;B305;1103 1162 11AC;B305;1103 1162 11AC;
+B306;B306;1103 1162 11AD;B306;1103 1162 11AD;
+B307;B307;1103 1162 11AE;B307;1103 1162 11AE;
+B308;B308;1103 1162 11AF;B308;1103 1162 11AF;
+B309;B309;1103 1162 11B0;B309;1103 1162 11B0;
+B30A;B30A;1103 1162 11B1;B30A;1103 1162 11B1;
+B30B;B30B;1103 1162 11B2;B30B;1103 1162 11B2;
+B30C;B30C;1103 1162 11B3;B30C;1103 1162 11B3;
+B30D;B30D;1103 1162 11B4;B30D;1103 1162 11B4;
+B30E;B30E;1103 1162 11B5;B30E;1103 1162 11B5;
+B30F;B30F;1103 1162 11B6;B30F;1103 1162 11B6;
+B310;B310;1103 1162 11B7;B310;1103 1162 11B7;
+B311;B311;1103 1162 11B8;B311;1103 1162 11B8;
+B312;B312;1103 1162 11B9;B312;1103 1162 11B9;
+B313;B313;1103 1162 11BA;B313;1103 1162 11BA;
+B314;B314;1103 1162 11BB;B314;1103 1162 11BB;
+B315;B315;1103 1162 11BC;B315;1103 1162 11BC;
+B316;B316;1103 1162 11BD;B316;1103 1162 11BD;
+B317;B317;1103 1162 11BE;B317;1103 1162 11BE;
+B318;B318;1103 1162 11BF;B318;1103 1162 11BF;
+B319;B319;1103 1162 11C0;B319;1103 1162 11C0;
+B31A;B31A;1103 1162 11C1;B31A;1103 1162 11C1;
+B31B;B31B;1103 1162 11C2;B31B;1103 1162 11C2;
+B31C;B31C;1103 1163;B31C;1103 1163;
+B31D;B31D;1103 1163 11A8;B31D;1103 1163 11A8;
+B31E;B31E;1103 1163 11A9;B31E;1103 1163 11A9;
+B31F;B31F;1103 1163 11AA;B31F;1103 1163 11AA;
+B320;B320;1103 1163 11AB;B320;1103 1163 11AB;
+B321;B321;1103 1163 11AC;B321;1103 1163 11AC;
+B322;B322;1103 1163 11AD;B322;1103 1163 11AD;
+B323;B323;1103 1163 11AE;B323;1103 1163 11AE;
+B324;B324;1103 1163 11AF;B324;1103 1163 11AF;
+B325;B325;1103 1163 11B0;B325;1103 1163 11B0;
+B326;B326;1103 1163 11B1;B326;1103 1163 11B1;
+B327;B327;1103 1163 11B2;B327;1103 1163 11B2;
+B328;B328;1103 1163 11B3;B328;1103 1163 11B3;
+B329;B329;1103 1163 11B4;B329;1103 1163 11B4;
+B32A;B32A;1103 1163 11B5;B32A;1103 1163 11B5;
+B32B;B32B;1103 1163 11B6;B32B;1103 1163 11B6;
+B32C;B32C;1103 1163 11B7;B32C;1103 1163 11B7;
+B32D;B32D;1103 1163 11B8;B32D;1103 1163 11B8;
+B32E;B32E;1103 1163 11B9;B32E;1103 1163 11B9;
+B32F;B32F;1103 1163 11BA;B32F;1103 1163 11BA;
+B330;B330;1103 1163 11BB;B330;1103 1163 11BB;
+B331;B331;1103 1163 11BC;B331;1103 1163 11BC;
+B332;B332;1103 1163 11BD;B332;1103 1163 11BD;
+B333;B333;1103 1163 11BE;B333;1103 1163 11BE;
+B334;B334;1103 1163 11BF;B334;1103 1163 11BF;
+B335;B335;1103 1163 11C0;B335;1103 1163 11C0;
+B336;B336;1103 1163 11C1;B336;1103 1163 11C1;
+B337;B337;1103 1163 11C2;B337;1103 1163 11C2;
+B338;B338;1103 1164;B338;1103 1164;
+B339;B339;1103 1164 11A8;B339;1103 1164 11A8;
+B33A;B33A;1103 1164 11A9;B33A;1103 1164 11A9;
+B33B;B33B;1103 1164 11AA;B33B;1103 1164 11AA;
+B33C;B33C;1103 1164 11AB;B33C;1103 1164 11AB;
+B33D;B33D;1103 1164 11AC;B33D;1103 1164 11AC;
+B33E;B33E;1103 1164 11AD;B33E;1103 1164 11AD;
+B33F;B33F;1103 1164 11AE;B33F;1103 1164 11AE;
+B340;B340;1103 1164 11AF;B340;1103 1164 11AF;
+B341;B341;1103 1164 11B0;B341;1103 1164 11B0;
+B342;B342;1103 1164 11B1;B342;1103 1164 11B1;
+B343;B343;1103 1164 11B2;B343;1103 1164 11B2;
+B344;B344;1103 1164 11B3;B344;1103 1164 11B3;
+B345;B345;1103 1164 11B4;B345;1103 1164 11B4;
+B346;B346;1103 1164 11B5;B346;1103 1164 11B5;
+B347;B347;1103 1164 11B6;B347;1103 1164 11B6;
+B348;B348;1103 1164 11B7;B348;1103 1164 11B7;
+B349;B349;1103 1164 11B8;B349;1103 1164 11B8;
+B34A;B34A;1103 1164 11B9;B34A;1103 1164 11B9;
+B34B;B34B;1103 1164 11BA;B34B;1103 1164 11BA;
+B34C;B34C;1103 1164 11BB;B34C;1103 1164 11BB;
+B34D;B34D;1103 1164 11BC;B34D;1103 1164 11BC;
+B34E;B34E;1103 1164 11BD;B34E;1103 1164 11BD;
+B34F;B34F;1103 1164 11BE;B34F;1103 1164 11BE;
+B350;B350;1103 1164 11BF;B350;1103 1164 11BF;
+B351;B351;1103 1164 11C0;B351;1103 1164 11C0;
+B352;B352;1103 1164 11C1;B352;1103 1164 11C1;
+B353;B353;1103 1164 11C2;B353;1103 1164 11C2;
+B354;B354;1103 1165;B354;1103 1165;
+B355;B355;1103 1165 11A8;B355;1103 1165 11A8;
+B356;B356;1103 1165 11A9;B356;1103 1165 11A9;
+B357;B357;1103 1165 11AA;B357;1103 1165 11AA;
+B358;B358;1103 1165 11AB;B358;1103 1165 11AB;
+B359;B359;1103 1165 11AC;B359;1103 1165 11AC;
+B35A;B35A;1103 1165 11AD;B35A;1103 1165 11AD;
+B35B;B35B;1103 1165 11AE;B35B;1103 1165 11AE;
+B35C;B35C;1103 1165 11AF;B35C;1103 1165 11AF;
+B35D;B35D;1103 1165 11B0;B35D;1103 1165 11B0;
+B35E;B35E;1103 1165 11B1;B35E;1103 1165 11B1;
+B35F;B35F;1103 1165 11B2;B35F;1103 1165 11B2;
+B360;B360;1103 1165 11B3;B360;1103 1165 11B3;
+B361;B361;1103 1165 11B4;B361;1103 1165 11B4;
+B362;B362;1103 1165 11B5;B362;1103 1165 11B5;
+B363;B363;1103 1165 11B6;B363;1103 1165 11B6;
+B364;B364;1103 1165 11B7;B364;1103 1165 11B7;
+B365;B365;1103 1165 11B8;B365;1103 1165 11B8;
+B366;B366;1103 1165 11B9;B366;1103 1165 11B9;
+B367;B367;1103 1165 11BA;B367;1103 1165 11BA;
+B368;B368;1103 1165 11BB;B368;1103 1165 11BB;
+B369;B369;1103 1165 11BC;B369;1103 1165 11BC;
+B36A;B36A;1103 1165 11BD;B36A;1103 1165 11BD;
+B36B;B36B;1103 1165 11BE;B36B;1103 1165 11BE;
+B36C;B36C;1103 1165 11BF;B36C;1103 1165 11BF;
+B36D;B36D;1103 1165 11C0;B36D;1103 1165 11C0;
+B36E;B36E;1103 1165 11C1;B36E;1103 1165 11C1;
+B36F;B36F;1103 1165 11C2;B36F;1103 1165 11C2;
+B370;B370;1103 1166;B370;1103 1166;
+B371;B371;1103 1166 11A8;B371;1103 1166 11A8;
+B372;B372;1103 1166 11A9;B372;1103 1166 11A9;
+B373;B373;1103 1166 11AA;B373;1103 1166 11AA;
+B374;B374;1103 1166 11AB;B374;1103 1166 11AB;
+B375;B375;1103 1166 11AC;B375;1103 1166 11AC;
+B376;B376;1103 1166 11AD;B376;1103 1166 11AD;
+B377;B377;1103 1166 11AE;B377;1103 1166 11AE;
+B378;B378;1103 1166 11AF;B378;1103 1166 11AF;
+B379;B379;1103 1166 11B0;B379;1103 1166 11B0;
+B37A;B37A;1103 1166 11B1;B37A;1103 1166 11B1;
+B37B;B37B;1103 1166 11B2;B37B;1103 1166 11B2;
+B37C;B37C;1103 1166 11B3;B37C;1103 1166 11B3;
+B37D;B37D;1103 1166 11B4;B37D;1103 1166 11B4;
+B37E;B37E;1103 1166 11B5;B37E;1103 1166 11B5;
+B37F;B37F;1103 1166 11B6;B37F;1103 1166 11B6;
+B380;B380;1103 1166 11B7;B380;1103 1166 11B7;
+B381;B381;1103 1166 11B8;B381;1103 1166 11B8;
+B382;B382;1103 1166 11B9;B382;1103 1166 11B9;
+B383;B383;1103 1166 11BA;B383;1103 1166 11BA;
+B384;B384;1103 1166 11BB;B384;1103 1166 11BB;
+B385;B385;1103 1166 11BC;B385;1103 1166 11BC;
+B386;B386;1103 1166 11BD;B386;1103 1166 11BD;
+B387;B387;1103 1166 11BE;B387;1103 1166 11BE;
+B388;B388;1103 1166 11BF;B388;1103 1166 11BF;
+B389;B389;1103 1166 11C0;B389;1103 1166 11C0;
+B38A;B38A;1103 1166 11C1;B38A;1103 1166 11C1;
+B38B;B38B;1103 1166 11C2;B38B;1103 1166 11C2;
+B38C;B38C;1103 1167;B38C;1103 1167;
+B38D;B38D;1103 1167 11A8;B38D;1103 1167 11A8;
+B38E;B38E;1103 1167 11A9;B38E;1103 1167 11A9;
+B38F;B38F;1103 1167 11AA;B38F;1103 1167 11AA;
+B390;B390;1103 1167 11AB;B390;1103 1167 11AB;
+B391;B391;1103 1167 11AC;B391;1103 1167 11AC;
+B392;B392;1103 1167 11AD;B392;1103 1167 11AD;
+B393;B393;1103 1167 11AE;B393;1103 1167 11AE;
+B394;B394;1103 1167 11AF;B394;1103 1167 11AF;
+B395;B395;1103 1167 11B0;B395;1103 1167 11B0;
+B396;B396;1103 1167 11B1;B396;1103 1167 11B1;
+B397;B397;1103 1167 11B2;B397;1103 1167 11B2;
+B398;B398;1103 1167 11B3;B398;1103 1167 11B3;
+B399;B399;1103 1167 11B4;B399;1103 1167 11B4;
+B39A;B39A;1103 1167 11B5;B39A;1103 1167 11B5;
+B39B;B39B;1103 1167 11B6;B39B;1103 1167 11B6;
+B39C;B39C;1103 1167 11B7;B39C;1103 1167 11B7;
+B39D;B39D;1103 1167 11B8;B39D;1103 1167 11B8;
+B39E;B39E;1103 1167 11B9;B39E;1103 1167 11B9;
+B39F;B39F;1103 1167 11BA;B39F;1103 1167 11BA;
+B3A0;B3A0;1103 1167 11BB;B3A0;1103 1167 11BB;
+B3A1;B3A1;1103 1167 11BC;B3A1;1103 1167 11BC;
+B3A2;B3A2;1103 1167 11BD;B3A2;1103 1167 11BD;
+B3A3;B3A3;1103 1167 11BE;B3A3;1103 1167 11BE;
+B3A4;B3A4;1103 1167 11BF;B3A4;1103 1167 11BF;
+B3A5;B3A5;1103 1167 11C0;B3A5;1103 1167 11C0;
+B3A6;B3A6;1103 1167 11C1;B3A6;1103 1167 11C1;
+B3A7;B3A7;1103 1167 11C2;B3A7;1103 1167 11C2;
+B3A8;B3A8;1103 1168;B3A8;1103 1168;
+B3A9;B3A9;1103 1168 11A8;B3A9;1103 1168 11A8;
+B3AA;B3AA;1103 1168 11A9;B3AA;1103 1168 11A9;
+B3AB;B3AB;1103 1168 11AA;B3AB;1103 1168 11AA;
+B3AC;B3AC;1103 1168 11AB;B3AC;1103 1168 11AB;
+B3AD;B3AD;1103 1168 11AC;B3AD;1103 1168 11AC;
+B3AE;B3AE;1103 1168 11AD;B3AE;1103 1168 11AD;
+B3AF;B3AF;1103 1168 11AE;B3AF;1103 1168 11AE;
+B3B0;B3B0;1103 1168 11AF;B3B0;1103 1168 11AF;
+B3B1;B3B1;1103 1168 11B0;B3B1;1103 1168 11B0;
+B3B2;B3B2;1103 1168 11B1;B3B2;1103 1168 11B1;
+B3B3;B3B3;1103 1168 11B2;B3B3;1103 1168 11B2;
+B3B4;B3B4;1103 1168 11B3;B3B4;1103 1168 11B3;
+B3B5;B3B5;1103 1168 11B4;B3B5;1103 1168 11B4;
+B3B6;B3B6;1103 1168 11B5;B3B6;1103 1168 11B5;
+B3B7;B3B7;1103 1168 11B6;B3B7;1103 1168 11B6;
+B3B8;B3B8;1103 1168 11B7;B3B8;1103 1168 11B7;
+B3B9;B3B9;1103 1168 11B8;B3B9;1103 1168 11B8;
+B3BA;B3BA;1103 1168 11B9;B3BA;1103 1168 11B9;
+B3BB;B3BB;1103 1168 11BA;B3BB;1103 1168 11BA;
+B3BC;B3BC;1103 1168 11BB;B3BC;1103 1168 11BB;
+B3BD;B3BD;1103 1168 11BC;B3BD;1103 1168 11BC;
+B3BE;B3BE;1103 1168 11BD;B3BE;1103 1168 11BD;
+B3BF;B3BF;1103 1168 11BE;B3BF;1103 1168 11BE;
+B3C0;B3C0;1103 1168 11BF;B3C0;1103 1168 11BF;
+B3C1;B3C1;1103 1168 11C0;B3C1;1103 1168 11C0;
+B3C2;B3C2;1103 1168 11C1;B3C2;1103 1168 11C1;
+B3C3;B3C3;1103 1168 11C2;B3C3;1103 1168 11C2;
+B3C4;B3C4;1103 1169;B3C4;1103 1169;
+B3C5;B3C5;1103 1169 11A8;B3C5;1103 1169 11A8;
+B3C6;B3C6;1103 1169 11A9;B3C6;1103 1169 11A9;
+B3C7;B3C7;1103 1169 11AA;B3C7;1103 1169 11AA;
+B3C8;B3C8;1103 1169 11AB;B3C8;1103 1169 11AB;
+B3C9;B3C9;1103 1169 11AC;B3C9;1103 1169 11AC;
+B3CA;B3CA;1103 1169 11AD;B3CA;1103 1169 11AD;
+B3CB;B3CB;1103 1169 11AE;B3CB;1103 1169 11AE;
+B3CC;B3CC;1103 1169 11AF;B3CC;1103 1169 11AF;
+B3CD;B3CD;1103 1169 11B0;B3CD;1103 1169 11B0;
+B3CE;B3CE;1103 1169 11B1;B3CE;1103 1169 11B1;
+B3CF;B3CF;1103 1169 11B2;B3CF;1103 1169 11B2;
+B3D0;B3D0;1103 1169 11B3;B3D0;1103 1169 11B3;
+B3D1;B3D1;1103 1169 11B4;B3D1;1103 1169 11B4;
+B3D2;B3D2;1103 1169 11B5;B3D2;1103 1169 11B5;
+B3D3;B3D3;1103 1169 11B6;B3D3;1103 1169 11B6;
+B3D4;B3D4;1103 1169 11B7;B3D4;1103 1169 11B7;
+B3D5;B3D5;1103 1169 11B8;B3D5;1103 1169 11B8;
+B3D6;B3D6;1103 1169 11B9;B3D6;1103 1169 11B9;
+B3D7;B3D7;1103 1169 11BA;B3D7;1103 1169 11BA;
+B3D8;B3D8;1103 1169 11BB;B3D8;1103 1169 11BB;
+B3D9;B3D9;1103 1169 11BC;B3D9;1103 1169 11BC;
+B3DA;B3DA;1103 1169 11BD;B3DA;1103 1169 11BD;
+B3DB;B3DB;1103 1169 11BE;B3DB;1103 1169 11BE;
+B3DC;B3DC;1103 1169 11BF;B3DC;1103 1169 11BF;
+B3DD;B3DD;1103 1169 11C0;B3DD;1103 1169 11C0;
+B3DE;B3DE;1103 1169 11C1;B3DE;1103 1169 11C1;
+B3DF;B3DF;1103 1169 11C2;B3DF;1103 1169 11C2;
+B3E0;B3E0;1103 116A;B3E0;1103 116A;
+B3E1;B3E1;1103 116A 11A8;B3E1;1103 116A 11A8;
+B3E2;B3E2;1103 116A 11A9;B3E2;1103 116A 11A9;
+B3E3;B3E3;1103 116A 11AA;B3E3;1103 116A 11AA;
+B3E4;B3E4;1103 116A 11AB;B3E4;1103 116A 11AB;
+B3E5;B3E5;1103 116A 11AC;B3E5;1103 116A 11AC;
+B3E6;B3E6;1103 116A 11AD;B3E6;1103 116A 11AD;
+B3E7;B3E7;1103 116A 11AE;B3E7;1103 116A 11AE;
+B3E8;B3E8;1103 116A 11AF;B3E8;1103 116A 11AF;
+B3E9;B3E9;1103 116A 11B0;B3E9;1103 116A 11B0;
+B3EA;B3EA;1103 116A 11B1;B3EA;1103 116A 11B1;
+B3EB;B3EB;1103 116A 11B2;B3EB;1103 116A 11B2;
+B3EC;B3EC;1103 116A 11B3;B3EC;1103 116A 11B3;
+B3ED;B3ED;1103 116A 11B4;B3ED;1103 116A 11B4;
+B3EE;B3EE;1103 116A 11B5;B3EE;1103 116A 11B5;
+B3EF;B3EF;1103 116A 11B6;B3EF;1103 116A 11B6;
+B3F0;B3F0;1103 116A 11B7;B3F0;1103 116A 11B7;
+B3F1;B3F1;1103 116A 11B8;B3F1;1103 116A 11B8;
+B3F2;B3F2;1103 116A 11B9;B3F2;1103 116A 11B9;
+B3F3;B3F3;1103 116A 11BA;B3F3;1103 116A 11BA;
+B3F4;B3F4;1103 116A 11BB;B3F4;1103 116A 11BB;
+B3F5;B3F5;1103 116A 11BC;B3F5;1103 116A 11BC;
+B3F6;B3F6;1103 116A 11BD;B3F6;1103 116A 11BD;
+B3F7;B3F7;1103 116A 11BE;B3F7;1103 116A 11BE;
+B3F8;B3F8;1103 116A 11BF;B3F8;1103 116A 11BF;
+B3F9;B3F9;1103 116A 11C0;B3F9;1103 116A 11C0;
+B3FA;B3FA;1103 116A 11C1;B3FA;1103 116A 11C1;
+B3FB;B3FB;1103 116A 11C2;B3FB;1103 116A 11C2;
+B3FC;B3FC;1103 116B;B3FC;1103 116B;
+B3FD;B3FD;1103 116B 11A8;B3FD;1103 116B 11A8;
+B3FE;B3FE;1103 116B 11A9;B3FE;1103 116B 11A9;
+B3FF;B3FF;1103 116B 11AA;B3FF;1103 116B 11AA;
+B400;B400;1103 116B 11AB;B400;1103 116B 11AB;
+B401;B401;1103 116B 11AC;B401;1103 116B 11AC;
+B402;B402;1103 116B 11AD;B402;1103 116B 11AD;
+B403;B403;1103 116B 11AE;B403;1103 116B 11AE;
+B404;B404;1103 116B 11AF;B404;1103 116B 11AF;
+B405;B405;1103 116B 11B0;B405;1103 116B 11B0;
+B406;B406;1103 116B 11B1;B406;1103 116B 11B1;
+B407;B407;1103 116B 11B2;B407;1103 116B 11B2;
+B408;B408;1103 116B 11B3;B408;1103 116B 11B3;
+B409;B409;1103 116B 11B4;B409;1103 116B 11B4;
+B40A;B40A;1103 116B 11B5;B40A;1103 116B 11B5;
+B40B;B40B;1103 116B 11B6;B40B;1103 116B 11B6;
+B40C;B40C;1103 116B 11B7;B40C;1103 116B 11B7;
+B40D;B40D;1103 116B 11B8;B40D;1103 116B 11B8;
+B40E;B40E;1103 116B 11B9;B40E;1103 116B 11B9;
+B40F;B40F;1103 116B 11BA;B40F;1103 116B 11BA;
+B410;B410;1103 116B 11BB;B410;1103 116B 11BB;
+B411;B411;1103 116B 11BC;B411;1103 116B 11BC;
+B412;B412;1103 116B 11BD;B412;1103 116B 11BD;
+B413;B413;1103 116B 11BE;B413;1103 116B 11BE;
+B414;B414;1103 116B 11BF;B414;1103 116B 11BF;
+B415;B415;1103 116B 11C0;B415;1103 116B 11C0;
+B416;B416;1103 116B 11C1;B416;1103 116B 11C1;
+B417;B417;1103 116B 11C2;B417;1103 116B 11C2;
+B418;B418;1103 116C;B418;1103 116C;
+B419;B419;1103 116C 11A8;B419;1103 116C 11A8;
+B41A;B41A;1103 116C 11A9;B41A;1103 116C 11A9;
+B41B;B41B;1103 116C 11AA;B41B;1103 116C 11AA;
+B41C;B41C;1103 116C 11AB;B41C;1103 116C 11AB;
+B41D;B41D;1103 116C 11AC;B41D;1103 116C 11AC;
+B41E;B41E;1103 116C 11AD;B41E;1103 116C 11AD;
+B41F;B41F;1103 116C 11AE;B41F;1103 116C 11AE;
+B420;B420;1103 116C 11AF;B420;1103 116C 11AF;
+B421;B421;1103 116C 11B0;B421;1103 116C 11B0;
+B422;B422;1103 116C 11B1;B422;1103 116C 11B1;
+B423;B423;1103 116C 11B2;B423;1103 116C 11B2;
+B424;B424;1103 116C 11B3;B424;1103 116C 11B3;
+B425;B425;1103 116C 11B4;B425;1103 116C 11B4;
+B426;B426;1103 116C 11B5;B426;1103 116C 11B5;
+B427;B427;1103 116C 11B6;B427;1103 116C 11B6;
+B428;B428;1103 116C 11B7;B428;1103 116C 11B7;
+B429;B429;1103 116C 11B8;B429;1103 116C 11B8;
+B42A;B42A;1103 116C 11B9;B42A;1103 116C 11B9;
+B42B;B42B;1103 116C 11BA;B42B;1103 116C 11BA;
+B42C;B42C;1103 116C 11BB;B42C;1103 116C 11BB;
+B42D;B42D;1103 116C 11BC;B42D;1103 116C 11BC;
+B42E;B42E;1103 116C 11BD;B42E;1103 116C 11BD;
+B42F;B42F;1103 116C 11BE;B42F;1103 116C 11BE;
+B430;B430;1103 116C 11BF;B430;1103 116C 11BF;
+B431;B431;1103 116C 11C0;B431;1103 116C 11C0;
+B432;B432;1103 116C 11C1;B432;1103 116C 11C1;
+B433;B433;1103 116C 11C2;B433;1103 116C 11C2;
+B434;B434;1103 116D;B434;1103 116D;
+B435;B435;1103 116D 11A8;B435;1103 116D 11A8;
+B436;B436;1103 116D 11A9;B436;1103 116D 11A9;
+B437;B437;1103 116D 11AA;B437;1103 116D 11AA;
+B438;B438;1103 116D 11AB;B438;1103 116D 11AB;
+B439;B439;1103 116D 11AC;B439;1103 116D 11AC;
+B43A;B43A;1103 116D 11AD;B43A;1103 116D 11AD;
+B43B;B43B;1103 116D 11AE;B43B;1103 116D 11AE;
+B43C;B43C;1103 116D 11AF;B43C;1103 116D 11AF;
+B43D;B43D;1103 116D 11B0;B43D;1103 116D 11B0;
+B43E;B43E;1103 116D 11B1;B43E;1103 116D 11B1;
+B43F;B43F;1103 116D 11B2;B43F;1103 116D 11B2;
+B440;B440;1103 116D 11B3;B440;1103 116D 11B3;
+B441;B441;1103 116D 11B4;B441;1103 116D 11B4;
+B442;B442;1103 116D 11B5;B442;1103 116D 11B5;
+B443;B443;1103 116D 11B6;B443;1103 116D 11B6;
+B444;B444;1103 116D 11B7;B444;1103 116D 11B7;
+B445;B445;1103 116D 11B8;B445;1103 116D 11B8;
+B446;B446;1103 116D 11B9;B446;1103 116D 11B9;
+B447;B447;1103 116D 11BA;B447;1103 116D 11BA;
+B448;B448;1103 116D 11BB;B448;1103 116D 11BB;
+B449;B449;1103 116D 11BC;B449;1103 116D 11BC;
+B44A;B44A;1103 116D 11BD;B44A;1103 116D 11BD;
+B44B;B44B;1103 116D 11BE;B44B;1103 116D 11BE;
+B44C;B44C;1103 116D 11BF;B44C;1103 116D 11BF;
+B44D;B44D;1103 116D 11C0;B44D;1103 116D 11C0;
+B44E;B44E;1103 116D 11C1;B44E;1103 116D 11C1;
+B44F;B44F;1103 116D 11C2;B44F;1103 116D 11C2;
+B450;B450;1103 116E;B450;1103 116E;
+B451;B451;1103 116E 11A8;B451;1103 116E 11A8;
+B452;B452;1103 116E 11A9;B452;1103 116E 11A9;
+B453;B453;1103 116E 11AA;B453;1103 116E 11AA;
+B454;B454;1103 116E 11AB;B454;1103 116E 11AB;
+B455;B455;1103 116E 11AC;B455;1103 116E 11AC;
+B456;B456;1103 116E 11AD;B456;1103 116E 11AD;
+B457;B457;1103 116E 11AE;B457;1103 116E 11AE;
+B458;B458;1103 116E 11AF;B458;1103 116E 11AF;
+B459;B459;1103 116E 11B0;B459;1103 116E 11B0;
+B45A;B45A;1103 116E 11B1;B45A;1103 116E 11B1;
+B45B;B45B;1103 116E 11B2;B45B;1103 116E 11B2;
+B45C;B45C;1103 116E 11B3;B45C;1103 116E 11B3;
+B45D;B45D;1103 116E 11B4;B45D;1103 116E 11B4;
+B45E;B45E;1103 116E 11B5;B45E;1103 116E 11B5;
+B45F;B45F;1103 116E 11B6;B45F;1103 116E 11B6;
+B460;B460;1103 116E 11B7;B460;1103 116E 11B7;
+B461;B461;1103 116E 11B8;B461;1103 116E 11B8;
+B462;B462;1103 116E 11B9;B462;1103 116E 11B9;
+B463;B463;1103 116E 11BA;B463;1103 116E 11BA;
+B464;B464;1103 116E 11BB;B464;1103 116E 11BB;
+B465;B465;1103 116E 11BC;B465;1103 116E 11BC;
+B466;B466;1103 116E 11BD;B466;1103 116E 11BD;
+B467;B467;1103 116E 11BE;B467;1103 116E 11BE;
+B468;B468;1103 116E 11BF;B468;1103 116E 11BF;
+B469;B469;1103 116E 11C0;B469;1103 116E 11C0;
+B46A;B46A;1103 116E 11C1;B46A;1103 116E 11C1;
+B46B;B46B;1103 116E 11C2;B46B;1103 116E 11C2;
+B46C;B46C;1103 116F;B46C;1103 116F;
+B46D;B46D;1103 116F 11A8;B46D;1103 116F 11A8;
+B46E;B46E;1103 116F 11A9;B46E;1103 116F 11A9;
+B46F;B46F;1103 116F 11AA;B46F;1103 116F 11AA;
+B470;B470;1103 116F 11AB;B470;1103 116F 11AB;
+B471;B471;1103 116F 11AC;B471;1103 116F 11AC;
+B472;B472;1103 116F 11AD;B472;1103 116F 11AD;
+B473;B473;1103 116F 11AE;B473;1103 116F 11AE;
+B474;B474;1103 116F 11AF;B474;1103 116F 11AF;
+B475;B475;1103 116F 11B0;B475;1103 116F 11B0;
+B476;B476;1103 116F 11B1;B476;1103 116F 11B1;
+B477;B477;1103 116F 11B2;B477;1103 116F 11B2;
+B478;B478;1103 116F 11B3;B478;1103 116F 11B3;
+B479;B479;1103 116F 11B4;B479;1103 116F 11B4;
+B47A;B47A;1103 116F 11B5;B47A;1103 116F 11B5;
+B47B;B47B;1103 116F 11B6;B47B;1103 116F 11B6;
+B47C;B47C;1103 116F 11B7;B47C;1103 116F 11B7;
+B47D;B47D;1103 116F 11B8;B47D;1103 116F 11B8;
+B47E;B47E;1103 116F 11B9;B47E;1103 116F 11B9;
+B47F;B47F;1103 116F 11BA;B47F;1103 116F 11BA;
+B480;B480;1103 116F 11BB;B480;1103 116F 11BB;
+B481;B481;1103 116F 11BC;B481;1103 116F 11BC;
+B482;B482;1103 116F 11BD;B482;1103 116F 11BD;
+B483;B483;1103 116F 11BE;B483;1103 116F 11BE;
+B484;B484;1103 116F 11BF;B484;1103 116F 11BF;
+B485;B485;1103 116F 11C0;B485;1103 116F 11C0;
+B486;B486;1103 116F 11C1;B486;1103 116F 11C1;
+B487;B487;1103 116F 11C2;B487;1103 116F 11C2;
+B488;B488;1103 1170;B488;1103 1170;
+B489;B489;1103 1170 11A8;B489;1103 1170 11A8;
+B48A;B48A;1103 1170 11A9;B48A;1103 1170 11A9;
+B48B;B48B;1103 1170 11AA;B48B;1103 1170 11AA;
+B48C;B48C;1103 1170 11AB;B48C;1103 1170 11AB;
+B48D;B48D;1103 1170 11AC;B48D;1103 1170 11AC;
+B48E;B48E;1103 1170 11AD;B48E;1103 1170 11AD;
+B48F;B48F;1103 1170 11AE;B48F;1103 1170 11AE;
+B490;B490;1103 1170 11AF;B490;1103 1170 11AF;
+B491;B491;1103 1170 11B0;B491;1103 1170 11B0;
+B492;B492;1103 1170 11B1;B492;1103 1170 11B1;
+B493;B493;1103 1170 11B2;B493;1103 1170 11B2;
+B494;B494;1103 1170 11B3;B494;1103 1170 11B3;
+B495;B495;1103 1170 11B4;B495;1103 1170 11B4;
+B496;B496;1103 1170 11B5;B496;1103 1170 11B5;
+B497;B497;1103 1170 11B6;B497;1103 1170 11B6;
+B498;B498;1103 1170 11B7;B498;1103 1170 11B7;
+B499;B499;1103 1170 11B8;B499;1103 1170 11B8;
+B49A;B49A;1103 1170 11B9;B49A;1103 1170 11B9;
+B49B;B49B;1103 1170 11BA;B49B;1103 1170 11BA;
+B49C;B49C;1103 1170 11BB;B49C;1103 1170 11BB;
+B49D;B49D;1103 1170 11BC;B49D;1103 1170 11BC;
+B49E;B49E;1103 1170 11BD;B49E;1103 1170 11BD;
+B49F;B49F;1103 1170 11BE;B49F;1103 1170 11BE;
+B4A0;B4A0;1103 1170 11BF;B4A0;1103 1170 11BF;
+B4A1;B4A1;1103 1170 11C0;B4A1;1103 1170 11C0;
+B4A2;B4A2;1103 1170 11C1;B4A2;1103 1170 11C1;
+B4A3;B4A3;1103 1170 11C2;B4A3;1103 1170 11C2;
+B4A4;B4A4;1103 1171;B4A4;1103 1171;
+B4A5;B4A5;1103 1171 11A8;B4A5;1103 1171 11A8;
+B4A6;B4A6;1103 1171 11A9;B4A6;1103 1171 11A9;
+B4A7;B4A7;1103 1171 11AA;B4A7;1103 1171 11AA;
+B4A8;B4A8;1103 1171 11AB;B4A8;1103 1171 11AB;
+B4A9;B4A9;1103 1171 11AC;B4A9;1103 1171 11AC;
+B4AA;B4AA;1103 1171 11AD;B4AA;1103 1171 11AD;
+B4AB;B4AB;1103 1171 11AE;B4AB;1103 1171 11AE;
+B4AC;B4AC;1103 1171 11AF;B4AC;1103 1171 11AF;
+B4AD;B4AD;1103 1171 11B0;B4AD;1103 1171 11B0;
+B4AE;B4AE;1103 1171 11B1;B4AE;1103 1171 11B1;
+B4AF;B4AF;1103 1171 11B2;B4AF;1103 1171 11B2;
+B4B0;B4B0;1103 1171 11B3;B4B0;1103 1171 11B3;
+B4B1;B4B1;1103 1171 11B4;B4B1;1103 1171 11B4;
+B4B2;B4B2;1103 1171 11B5;B4B2;1103 1171 11B5;
+B4B3;B4B3;1103 1171 11B6;B4B3;1103 1171 11B6;
+B4B4;B4B4;1103 1171 11B7;B4B4;1103 1171 11B7;
+B4B5;B4B5;1103 1171 11B8;B4B5;1103 1171 11B8;
+B4B6;B4B6;1103 1171 11B9;B4B6;1103 1171 11B9;
+B4B7;B4B7;1103 1171 11BA;B4B7;1103 1171 11BA;
+B4B8;B4B8;1103 1171 11BB;B4B8;1103 1171 11BB;
+B4B9;B4B9;1103 1171 11BC;B4B9;1103 1171 11BC;
+B4BA;B4BA;1103 1171 11BD;B4BA;1103 1171 11BD;
+B4BB;B4BB;1103 1171 11BE;B4BB;1103 1171 11BE;
+B4BC;B4BC;1103 1171 11BF;B4BC;1103 1171 11BF;
+B4BD;B4BD;1103 1171 11C0;B4BD;1103 1171 11C0;
+B4BE;B4BE;1103 1171 11C1;B4BE;1103 1171 11C1;
+B4BF;B4BF;1103 1171 11C2;B4BF;1103 1171 11C2;
+B4C0;B4C0;1103 1172;B4C0;1103 1172;
+B4C1;B4C1;1103 1172 11A8;B4C1;1103 1172 11A8;
+B4C2;B4C2;1103 1172 11A9;B4C2;1103 1172 11A9;
+B4C3;B4C3;1103 1172 11AA;B4C3;1103 1172 11AA;
+B4C4;B4C4;1103 1172 11AB;B4C4;1103 1172 11AB;
+B4C5;B4C5;1103 1172 11AC;B4C5;1103 1172 11AC;
+B4C6;B4C6;1103 1172 11AD;B4C6;1103 1172 11AD;
+B4C7;B4C7;1103 1172 11AE;B4C7;1103 1172 11AE;
+B4C8;B4C8;1103 1172 11AF;B4C8;1103 1172 11AF;
+B4C9;B4C9;1103 1172 11B0;B4C9;1103 1172 11B0;
+B4CA;B4CA;1103 1172 11B1;B4CA;1103 1172 11B1;
+B4CB;B4CB;1103 1172 11B2;B4CB;1103 1172 11B2;
+B4CC;B4CC;1103 1172 11B3;B4CC;1103 1172 11B3;
+B4CD;B4CD;1103 1172 11B4;B4CD;1103 1172 11B4;
+B4CE;B4CE;1103 1172 11B5;B4CE;1103 1172 11B5;
+B4CF;B4CF;1103 1172 11B6;B4CF;1103 1172 11B6;
+B4D0;B4D0;1103 1172 11B7;B4D0;1103 1172 11B7;
+B4D1;B4D1;1103 1172 11B8;B4D1;1103 1172 11B8;
+B4D2;B4D2;1103 1172 11B9;B4D2;1103 1172 11B9;
+B4D3;B4D3;1103 1172 11BA;B4D3;1103 1172 11BA;
+B4D4;B4D4;1103 1172 11BB;B4D4;1103 1172 11BB;
+B4D5;B4D5;1103 1172 11BC;B4D5;1103 1172 11BC;
+B4D6;B4D6;1103 1172 11BD;B4D6;1103 1172 11BD;
+B4D7;B4D7;1103 1172 11BE;B4D7;1103 1172 11BE;
+B4D8;B4D8;1103 1172 11BF;B4D8;1103 1172 11BF;
+B4D9;B4D9;1103 1172 11C0;B4D9;1103 1172 11C0;
+B4DA;B4DA;1103 1172 11C1;B4DA;1103 1172 11C1;
+B4DB;B4DB;1103 1172 11C2;B4DB;1103 1172 11C2;
+B4DC;B4DC;1103 1173;B4DC;1103 1173;
+B4DD;B4DD;1103 1173 11A8;B4DD;1103 1173 11A8;
+B4DE;B4DE;1103 1173 11A9;B4DE;1103 1173 11A9;
+B4DF;B4DF;1103 1173 11AA;B4DF;1103 1173 11AA;
+B4E0;B4E0;1103 1173 11AB;B4E0;1103 1173 11AB;
+B4E1;B4E1;1103 1173 11AC;B4E1;1103 1173 11AC;
+B4E2;B4E2;1103 1173 11AD;B4E2;1103 1173 11AD;
+B4E3;B4E3;1103 1173 11AE;B4E3;1103 1173 11AE;
+B4E4;B4E4;1103 1173 11AF;B4E4;1103 1173 11AF;
+B4E5;B4E5;1103 1173 11B0;B4E5;1103 1173 11B0;
+B4E6;B4E6;1103 1173 11B1;B4E6;1103 1173 11B1;
+B4E7;B4E7;1103 1173 11B2;B4E7;1103 1173 11B2;
+B4E8;B4E8;1103 1173 11B3;B4E8;1103 1173 11B3;
+B4E9;B4E9;1103 1173 11B4;B4E9;1103 1173 11B4;
+B4EA;B4EA;1103 1173 11B5;B4EA;1103 1173 11B5;
+B4EB;B4EB;1103 1173 11B6;B4EB;1103 1173 11B6;
+B4EC;B4EC;1103 1173 11B7;B4EC;1103 1173 11B7;
+B4ED;B4ED;1103 1173 11B8;B4ED;1103 1173 11B8;
+B4EE;B4EE;1103 1173 11B9;B4EE;1103 1173 11B9;
+B4EF;B4EF;1103 1173 11BA;B4EF;1103 1173 11BA;
+B4F0;B4F0;1103 1173 11BB;B4F0;1103 1173 11BB;
+B4F1;B4F1;1103 1173 11BC;B4F1;1103 1173 11BC;
+B4F2;B4F2;1103 1173 11BD;B4F2;1103 1173 11BD;
+B4F3;B4F3;1103 1173 11BE;B4F3;1103 1173 11BE;
+B4F4;B4F4;1103 1173 11BF;B4F4;1103 1173 11BF;
+B4F5;B4F5;1103 1173 11C0;B4F5;1103 1173 11C0;
+B4F6;B4F6;1103 1173 11C1;B4F6;1103 1173 11C1;
+B4F7;B4F7;1103 1173 11C2;B4F7;1103 1173 11C2;
+B4F8;B4F8;1103 1174;B4F8;1103 1174;
+B4F9;B4F9;1103 1174 11A8;B4F9;1103 1174 11A8;
+B4FA;B4FA;1103 1174 11A9;B4FA;1103 1174 11A9;
+B4FB;B4FB;1103 1174 11AA;B4FB;1103 1174 11AA;
+B4FC;B4FC;1103 1174 11AB;B4FC;1103 1174 11AB;
+B4FD;B4FD;1103 1174 11AC;B4FD;1103 1174 11AC;
+B4FE;B4FE;1103 1174 11AD;B4FE;1103 1174 11AD;
+B4FF;B4FF;1103 1174 11AE;B4FF;1103 1174 11AE;
+B500;B500;1103 1174 11AF;B500;1103 1174 11AF;
+B501;B501;1103 1174 11B0;B501;1103 1174 11B0;
+B502;B502;1103 1174 11B1;B502;1103 1174 11B1;
+B503;B503;1103 1174 11B2;B503;1103 1174 11B2;
+B504;B504;1103 1174 11B3;B504;1103 1174 11B3;
+B505;B505;1103 1174 11B4;B505;1103 1174 11B4;
+B506;B506;1103 1174 11B5;B506;1103 1174 11B5;
+B507;B507;1103 1174 11B6;B507;1103 1174 11B6;
+B508;B508;1103 1174 11B7;B508;1103 1174 11B7;
+B509;B509;1103 1174 11B8;B509;1103 1174 11B8;
+B50A;B50A;1103 1174 11B9;B50A;1103 1174 11B9;
+B50B;B50B;1103 1174 11BA;B50B;1103 1174 11BA;
+B50C;B50C;1103 1174 11BB;B50C;1103 1174 11BB;
+B50D;B50D;1103 1174 11BC;B50D;1103 1174 11BC;
+B50E;B50E;1103 1174 11BD;B50E;1103 1174 11BD;
+B50F;B50F;1103 1174 11BE;B50F;1103 1174 11BE;
+B510;B510;1103 1174 11BF;B510;1103 1174 11BF;
+B511;B511;1103 1174 11C0;B511;1103 1174 11C0;
+B512;B512;1103 1174 11C1;B512;1103 1174 11C1;
+B513;B513;1103 1174 11C2;B513;1103 1174 11C2;
+B514;B514;1103 1175;B514;1103 1175;
+B515;B515;1103 1175 11A8;B515;1103 1175 11A8;
+B516;B516;1103 1175 11A9;B516;1103 1175 11A9;
+B517;B517;1103 1175 11AA;B517;1103 1175 11AA;
+B518;B518;1103 1175 11AB;B518;1103 1175 11AB;
+B519;B519;1103 1175 11AC;B519;1103 1175 11AC;
+B51A;B51A;1103 1175 11AD;B51A;1103 1175 11AD;
+B51B;B51B;1103 1175 11AE;B51B;1103 1175 11AE;
+B51C;B51C;1103 1175 11AF;B51C;1103 1175 11AF;
+B51D;B51D;1103 1175 11B0;B51D;1103 1175 11B0;
+B51E;B51E;1103 1175 11B1;B51E;1103 1175 11B1;
+B51F;B51F;1103 1175 11B2;B51F;1103 1175 11B2;
+B520;B520;1103 1175 11B3;B520;1103 1175 11B3;
+B521;B521;1103 1175 11B4;B521;1103 1175 11B4;
+B522;B522;1103 1175 11B5;B522;1103 1175 11B5;
+B523;B523;1103 1175 11B6;B523;1103 1175 11B6;
+B524;B524;1103 1175 11B7;B524;1103 1175 11B7;
+B525;B525;1103 1175 11B8;B525;1103 1175 11B8;
+B526;B526;1103 1175 11B9;B526;1103 1175 11B9;
+B527;B527;1103 1175 11BA;B527;1103 1175 11BA;
+B528;B528;1103 1175 11BB;B528;1103 1175 11BB;
+B529;B529;1103 1175 11BC;B529;1103 1175 11BC;
+B52A;B52A;1103 1175 11BD;B52A;1103 1175 11BD;
+B52B;B52B;1103 1175 11BE;B52B;1103 1175 11BE;
+B52C;B52C;1103 1175 11BF;B52C;1103 1175 11BF;
+B52D;B52D;1103 1175 11C0;B52D;1103 1175 11C0;
+B52E;B52E;1103 1175 11C1;B52E;1103 1175 11C1;
+B52F;B52F;1103 1175 11C2;B52F;1103 1175 11C2;
+B530;B530;1104 1161;B530;1104 1161;
+B531;B531;1104 1161 11A8;B531;1104 1161 11A8;
+B532;B532;1104 1161 11A9;B532;1104 1161 11A9;
+B533;B533;1104 1161 11AA;B533;1104 1161 11AA;
+B534;B534;1104 1161 11AB;B534;1104 1161 11AB;
+B535;B535;1104 1161 11AC;B535;1104 1161 11AC;
+B536;B536;1104 1161 11AD;B536;1104 1161 11AD;
+B537;B537;1104 1161 11AE;B537;1104 1161 11AE;
+B538;B538;1104 1161 11AF;B538;1104 1161 11AF;
+B539;B539;1104 1161 11B0;B539;1104 1161 11B0;
+B53A;B53A;1104 1161 11B1;B53A;1104 1161 11B1;
+B53B;B53B;1104 1161 11B2;B53B;1104 1161 11B2;
+B53C;B53C;1104 1161 11B3;B53C;1104 1161 11B3;
+B53D;B53D;1104 1161 11B4;B53D;1104 1161 11B4;
+B53E;B53E;1104 1161 11B5;B53E;1104 1161 11B5;
+B53F;B53F;1104 1161 11B6;B53F;1104 1161 11B6;
+B540;B540;1104 1161 11B7;B540;1104 1161 11B7;
+B541;B541;1104 1161 11B8;B541;1104 1161 11B8;
+B542;B542;1104 1161 11B9;B542;1104 1161 11B9;
+B543;B543;1104 1161 11BA;B543;1104 1161 11BA;
+B544;B544;1104 1161 11BB;B544;1104 1161 11BB;
+B545;B545;1104 1161 11BC;B545;1104 1161 11BC;
+B546;B546;1104 1161 11BD;B546;1104 1161 11BD;
+B547;B547;1104 1161 11BE;B547;1104 1161 11BE;
+B548;B548;1104 1161 11BF;B548;1104 1161 11BF;
+B549;B549;1104 1161 11C0;B549;1104 1161 11C0;
+B54A;B54A;1104 1161 11C1;B54A;1104 1161 11C1;
+B54B;B54B;1104 1161 11C2;B54B;1104 1161 11C2;
+B54C;B54C;1104 1162;B54C;1104 1162;
+B54D;B54D;1104 1162 11A8;B54D;1104 1162 11A8;
+B54E;B54E;1104 1162 11A9;B54E;1104 1162 11A9;
+B54F;B54F;1104 1162 11AA;B54F;1104 1162 11AA;
+B550;B550;1104 1162 11AB;B550;1104 1162 11AB;
+B551;B551;1104 1162 11AC;B551;1104 1162 11AC;
+B552;B552;1104 1162 11AD;B552;1104 1162 11AD;
+B553;B553;1104 1162 11AE;B553;1104 1162 11AE;
+B554;B554;1104 1162 11AF;B554;1104 1162 11AF;
+B555;B555;1104 1162 11B0;B555;1104 1162 11B0;
+B556;B556;1104 1162 11B1;B556;1104 1162 11B1;
+B557;B557;1104 1162 11B2;B557;1104 1162 11B2;
+B558;B558;1104 1162 11B3;B558;1104 1162 11B3;
+B559;B559;1104 1162 11B4;B559;1104 1162 11B4;
+B55A;B55A;1104 1162 11B5;B55A;1104 1162 11B5;
+B55B;B55B;1104 1162 11B6;B55B;1104 1162 11B6;
+B55C;B55C;1104 1162 11B7;B55C;1104 1162 11B7;
+B55D;B55D;1104 1162 11B8;B55D;1104 1162 11B8;
+B55E;B55E;1104 1162 11B9;B55E;1104 1162 11B9;
+B55F;B55F;1104 1162 11BA;B55F;1104 1162 11BA;
+B560;B560;1104 1162 11BB;B560;1104 1162 11BB;
+B561;B561;1104 1162 11BC;B561;1104 1162 11BC;
+B562;B562;1104 1162 11BD;B562;1104 1162 11BD;
+B563;B563;1104 1162 11BE;B563;1104 1162 11BE;
+B564;B564;1104 1162 11BF;B564;1104 1162 11BF;
+B565;B565;1104 1162 11C0;B565;1104 1162 11C0;
+B566;B566;1104 1162 11C1;B566;1104 1162 11C1;
+B567;B567;1104 1162 11C2;B567;1104 1162 11C2;
+B568;B568;1104 1163;B568;1104 1163;
+B569;B569;1104 1163 11A8;B569;1104 1163 11A8;
+B56A;B56A;1104 1163 11A9;B56A;1104 1163 11A9;
+B56B;B56B;1104 1163 11AA;B56B;1104 1163 11AA;
+B56C;B56C;1104 1163 11AB;B56C;1104 1163 11AB;
+B56D;B56D;1104 1163 11AC;B56D;1104 1163 11AC;
+B56E;B56E;1104 1163 11AD;B56E;1104 1163 11AD;
+B56F;B56F;1104 1163 11AE;B56F;1104 1163 11AE;
+B570;B570;1104 1163 11AF;B570;1104 1163 11AF;
+B571;B571;1104 1163 11B0;B571;1104 1163 11B0;
+B572;B572;1104 1163 11B1;B572;1104 1163 11B1;
+B573;B573;1104 1163 11B2;B573;1104 1163 11B2;
+B574;B574;1104 1163 11B3;B574;1104 1163 11B3;
+B575;B575;1104 1163 11B4;B575;1104 1163 11B4;
+B576;B576;1104 1163 11B5;B576;1104 1163 11B5;
+B577;B577;1104 1163 11B6;B577;1104 1163 11B6;
+B578;B578;1104 1163 11B7;B578;1104 1163 11B7;
+B579;B579;1104 1163 11B8;B579;1104 1163 11B8;
+B57A;B57A;1104 1163 11B9;B57A;1104 1163 11B9;
+B57B;B57B;1104 1163 11BA;B57B;1104 1163 11BA;
+B57C;B57C;1104 1163 11BB;B57C;1104 1163 11BB;
+B57D;B57D;1104 1163 11BC;B57D;1104 1163 11BC;
+B57E;B57E;1104 1163 11BD;B57E;1104 1163 11BD;
+B57F;B57F;1104 1163 11BE;B57F;1104 1163 11BE;
+B580;B580;1104 1163 11BF;B580;1104 1163 11BF;
+B581;B581;1104 1163 11C0;B581;1104 1163 11C0;
+B582;B582;1104 1163 11C1;B582;1104 1163 11C1;
+B583;B583;1104 1163 11C2;B583;1104 1163 11C2;
+B584;B584;1104 1164;B584;1104 1164;
+B585;B585;1104 1164 11A8;B585;1104 1164 11A8;
+B586;B586;1104 1164 11A9;B586;1104 1164 11A9;
+B587;B587;1104 1164 11AA;B587;1104 1164 11AA;
+B588;B588;1104 1164 11AB;B588;1104 1164 11AB;
+B589;B589;1104 1164 11AC;B589;1104 1164 11AC;
+B58A;B58A;1104 1164 11AD;B58A;1104 1164 11AD;
+B58B;B58B;1104 1164 11AE;B58B;1104 1164 11AE;
+B58C;B58C;1104 1164 11AF;B58C;1104 1164 11AF;
+B58D;B58D;1104 1164 11B0;B58D;1104 1164 11B0;
+B58E;B58E;1104 1164 11B1;B58E;1104 1164 11B1;
+B58F;B58F;1104 1164 11B2;B58F;1104 1164 11B2;
+B590;B590;1104 1164 11B3;B590;1104 1164 11B3;
+B591;B591;1104 1164 11B4;B591;1104 1164 11B4;
+B592;B592;1104 1164 11B5;B592;1104 1164 11B5;
+B593;B593;1104 1164 11B6;B593;1104 1164 11B6;
+B594;B594;1104 1164 11B7;B594;1104 1164 11B7;
+B595;B595;1104 1164 11B8;B595;1104 1164 11B8;
+B596;B596;1104 1164 11B9;B596;1104 1164 11B9;
+B597;B597;1104 1164 11BA;B597;1104 1164 11BA;
+B598;B598;1104 1164 11BB;B598;1104 1164 11BB;
+B599;B599;1104 1164 11BC;B599;1104 1164 11BC;
+B59A;B59A;1104 1164 11BD;B59A;1104 1164 11BD;
+B59B;B59B;1104 1164 11BE;B59B;1104 1164 11BE;
+B59C;B59C;1104 1164 11BF;B59C;1104 1164 11BF;
+B59D;B59D;1104 1164 11C0;B59D;1104 1164 11C0;
+B59E;B59E;1104 1164 11C1;B59E;1104 1164 11C1;
+B59F;B59F;1104 1164 11C2;B59F;1104 1164 11C2;
+B5A0;B5A0;1104 1165;B5A0;1104 1165;
+B5A1;B5A1;1104 1165 11A8;B5A1;1104 1165 11A8;
+B5A2;B5A2;1104 1165 11A9;B5A2;1104 1165 11A9;
+B5A3;B5A3;1104 1165 11AA;B5A3;1104 1165 11AA;
+B5A4;B5A4;1104 1165 11AB;B5A4;1104 1165 11AB;
+B5A5;B5A5;1104 1165 11AC;B5A5;1104 1165 11AC;
+B5A6;B5A6;1104 1165 11AD;B5A6;1104 1165 11AD;
+B5A7;B5A7;1104 1165 11AE;B5A7;1104 1165 11AE;
+B5A8;B5A8;1104 1165 11AF;B5A8;1104 1165 11AF;
+B5A9;B5A9;1104 1165 11B0;B5A9;1104 1165 11B0;
+B5AA;B5AA;1104 1165 11B1;B5AA;1104 1165 11B1;
+B5AB;B5AB;1104 1165 11B2;B5AB;1104 1165 11B2;
+B5AC;B5AC;1104 1165 11B3;B5AC;1104 1165 11B3;
+B5AD;B5AD;1104 1165 11B4;B5AD;1104 1165 11B4;
+B5AE;B5AE;1104 1165 11B5;B5AE;1104 1165 11B5;
+B5AF;B5AF;1104 1165 11B6;B5AF;1104 1165 11B6;
+B5B0;B5B0;1104 1165 11B7;B5B0;1104 1165 11B7;
+B5B1;B5B1;1104 1165 11B8;B5B1;1104 1165 11B8;
+B5B2;B5B2;1104 1165 11B9;B5B2;1104 1165 11B9;
+B5B3;B5B3;1104 1165 11BA;B5B3;1104 1165 11BA;
+B5B4;B5B4;1104 1165 11BB;B5B4;1104 1165 11BB;
+B5B5;B5B5;1104 1165 11BC;B5B5;1104 1165 11BC;
+B5B6;B5B6;1104 1165 11BD;B5B6;1104 1165 11BD;
+B5B7;B5B7;1104 1165 11BE;B5B7;1104 1165 11BE;
+B5B8;B5B8;1104 1165 11BF;B5B8;1104 1165 11BF;
+B5B9;B5B9;1104 1165 11C0;B5B9;1104 1165 11C0;
+B5BA;B5BA;1104 1165 11C1;B5BA;1104 1165 11C1;
+B5BB;B5BB;1104 1165 11C2;B5BB;1104 1165 11C2;
+B5BC;B5BC;1104 1166;B5BC;1104 1166;
+B5BD;B5BD;1104 1166 11A8;B5BD;1104 1166 11A8;
+B5BE;B5BE;1104 1166 11A9;B5BE;1104 1166 11A9;
+B5BF;B5BF;1104 1166 11AA;B5BF;1104 1166 11AA;
+B5C0;B5C0;1104 1166 11AB;B5C0;1104 1166 11AB;
+B5C1;B5C1;1104 1166 11AC;B5C1;1104 1166 11AC;
+B5C2;B5C2;1104 1166 11AD;B5C2;1104 1166 11AD;
+B5C3;B5C3;1104 1166 11AE;B5C3;1104 1166 11AE;
+B5C4;B5C4;1104 1166 11AF;B5C4;1104 1166 11AF;
+B5C5;B5C5;1104 1166 11B0;B5C5;1104 1166 11B0;
+B5C6;B5C6;1104 1166 11B1;B5C6;1104 1166 11B1;
+B5C7;B5C7;1104 1166 11B2;B5C7;1104 1166 11B2;
+B5C8;B5C8;1104 1166 11B3;B5C8;1104 1166 11B3;
+B5C9;B5C9;1104 1166 11B4;B5C9;1104 1166 11B4;
+B5CA;B5CA;1104 1166 11B5;B5CA;1104 1166 11B5;
+B5CB;B5CB;1104 1166 11B6;B5CB;1104 1166 11B6;
+B5CC;B5CC;1104 1166 11B7;B5CC;1104 1166 11B7;
+B5CD;B5CD;1104 1166 11B8;B5CD;1104 1166 11B8;
+B5CE;B5CE;1104 1166 11B9;B5CE;1104 1166 11B9;
+B5CF;B5CF;1104 1166 11BA;B5CF;1104 1166 11BA;
+B5D0;B5D0;1104 1166 11BB;B5D0;1104 1166 11BB;
+B5D1;B5D1;1104 1166 11BC;B5D1;1104 1166 11BC;
+B5D2;B5D2;1104 1166 11BD;B5D2;1104 1166 11BD;
+B5D3;B5D3;1104 1166 11BE;B5D3;1104 1166 11BE;
+B5D4;B5D4;1104 1166 11BF;B5D4;1104 1166 11BF;
+B5D5;B5D5;1104 1166 11C0;B5D5;1104 1166 11C0;
+B5D6;B5D6;1104 1166 11C1;B5D6;1104 1166 11C1;
+B5D7;B5D7;1104 1166 11C2;B5D7;1104 1166 11C2;
+B5D8;B5D8;1104 1167;B5D8;1104 1167;
+B5D9;B5D9;1104 1167 11A8;B5D9;1104 1167 11A8;
+B5DA;B5DA;1104 1167 11A9;B5DA;1104 1167 11A9;
+B5DB;B5DB;1104 1167 11AA;B5DB;1104 1167 11AA;
+B5DC;B5DC;1104 1167 11AB;B5DC;1104 1167 11AB;
+B5DD;B5DD;1104 1167 11AC;B5DD;1104 1167 11AC;
+B5DE;B5DE;1104 1167 11AD;B5DE;1104 1167 11AD;
+B5DF;B5DF;1104 1167 11AE;B5DF;1104 1167 11AE;
+B5E0;B5E0;1104 1167 11AF;B5E0;1104 1167 11AF;
+B5E1;B5E1;1104 1167 11B0;B5E1;1104 1167 11B0;
+B5E2;B5E2;1104 1167 11B1;B5E2;1104 1167 11B1;
+B5E3;B5E3;1104 1167 11B2;B5E3;1104 1167 11B2;
+B5E4;B5E4;1104 1167 11B3;B5E4;1104 1167 11B3;
+B5E5;B5E5;1104 1167 11B4;B5E5;1104 1167 11B4;
+B5E6;B5E6;1104 1167 11B5;B5E6;1104 1167 11B5;
+B5E7;B5E7;1104 1167 11B6;B5E7;1104 1167 11B6;
+B5E8;B5E8;1104 1167 11B7;B5E8;1104 1167 11B7;
+B5E9;B5E9;1104 1167 11B8;B5E9;1104 1167 11B8;
+B5EA;B5EA;1104 1167 11B9;B5EA;1104 1167 11B9;
+B5EB;B5EB;1104 1167 11BA;B5EB;1104 1167 11BA;
+B5EC;B5EC;1104 1167 11BB;B5EC;1104 1167 11BB;
+B5ED;B5ED;1104 1167 11BC;B5ED;1104 1167 11BC;
+B5EE;B5EE;1104 1167 11BD;B5EE;1104 1167 11BD;
+B5EF;B5EF;1104 1167 11BE;B5EF;1104 1167 11BE;
+B5F0;B5F0;1104 1167 11BF;B5F0;1104 1167 11BF;
+B5F1;B5F1;1104 1167 11C0;B5F1;1104 1167 11C0;
+B5F2;B5F2;1104 1167 11C1;B5F2;1104 1167 11C1;
+B5F3;B5F3;1104 1167 11C2;B5F3;1104 1167 11C2;
+B5F4;B5F4;1104 1168;B5F4;1104 1168;
+B5F5;B5F5;1104 1168 11A8;B5F5;1104 1168 11A8;
+B5F6;B5F6;1104 1168 11A9;B5F6;1104 1168 11A9;
+B5F7;B5F7;1104 1168 11AA;B5F7;1104 1168 11AA;
+B5F8;B5F8;1104 1168 11AB;B5F8;1104 1168 11AB;
+B5F9;B5F9;1104 1168 11AC;B5F9;1104 1168 11AC;
+B5FA;B5FA;1104 1168 11AD;B5FA;1104 1168 11AD;
+B5FB;B5FB;1104 1168 11AE;B5FB;1104 1168 11AE;
+B5FC;B5FC;1104 1168 11AF;B5FC;1104 1168 11AF;
+B5FD;B5FD;1104 1168 11B0;B5FD;1104 1168 11B0;
+B5FE;B5FE;1104 1168 11B1;B5FE;1104 1168 11B1;
+B5FF;B5FF;1104 1168 11B2;B5FF;1104 1168 11B2;
+B600;B600;1104 1168 11B3;B600;1104 1168 11B3;
+B601;B601;1104 1168 11B4;B601;1104 1168 11B4;
+B602;B602;1104 1168 11B5;B602;1104 1168 11B5;
+B603;B603;1104 1168 11B6;B603;1104 1168 11B6;
+B604;B604;1104 1168 11B7;B604;1104 1168 11B7;
+B605;B605;1104 1168 11B8;B605;1104 1168 11B8;
+B606;B606;1104 1168 11B9;B606;1104 1168 11B9;
+B607;B607;1104 1168 11BA;B607;1104 1168 11BA;
+B608;B608;1104 1168 11BB;B608;1104 1168 11BB;
+B609;B609;1104 1168 11BC;B609;1104 1168 11BC;
+B60A;B60A;1104 1168 11BD;B60A;1104 1168 11BD;
+B60B;B60B;1104 1168 11BE;B60B;1104 1168 11BE;
+B60C;B60C;1104 1168 11BF;B60C;1104 1168 11BF;
+B60D;B60D;1104 1168 11C0;B60D;1104 1168 11C0;
+B60E;B60E;1104 1168 11C1;B60E;1104 1168 11C1;
+B60F;B60F;1104 1168 11C2;B60F;1104 1168 11C2;
+B610;B610;1104 1169;B610;1104 1169;
+B611;B611;1104 1169 11A8;B611;1104 1169 11A8;
+B612;B612;1104 1169 11A9;B612;1104 1169 11A9;
+B613;B613;1104 1169 11AA;B613;1104 1169 11AA;
+B614;B614;1104 1169 11AB;B614;1104 1169 11AB;
+B615;B615;1104 1169 11AC;B615;1104 1169 11AC;
+B616;B616;1104 1169 11AD;B616;1104 1169 11AD;
+B617;B617;1104 1169 11AE;B617;1104 1169 11AE;
+B618;B618;1104 1169 11AF;B618;1104 1169 11AF;
+B619;B619;1104 1169 11B0;B619;1104 1169 11B0;
+B61A;B61A;1104 1169 11B1;B61A;1104 1169 11B1;
+B61B;B61B;1104 1169 11B2;B61B;1104 1169 11B2;
+B61C;B61C;1104 1169 11B3;B61C;1104 1169 11B3;
+B61D;B61D;1104 1169 11B4;B61D;1104 1169 11B4;
+B61E;B61E;1104 1169 11B5;B61E;1104 1169 11B5;
+B61F;B61F;1104 1169 11B6;B61F;1104 1169 11B6;
+B620;B620;1104 1169 11B7;B620;1104 1169 11B7;
+B621;B621;1104 1169 11B8;B621;1104 1169 11B8;
+B622;B622;1104 1169 11B9;B622;1104 1169 11B9;
+B623;B623;1104 1169 11BA;B623;1104 1169 11BA;
+B624;B624;1104 1169 11BB;B624;1104 1169 11BB;
+B625;B625;1104 1169 11BC;B625;1104 1169 11BC;
+B626;B626;1104 1169 11BD;B626;1104 1169 11BD;
+B627;B627;1104 1169 11BE;B627;1104 1169 11BE;
+B628;B628;1104 1169 11BF;B628;1104 1169 11BF;
+B629;B629;1104 1169 11C0;B629;1104 1169 11C0;
+B62A;B62A;1104 1169 11C1;B62A;1104 1169 11C1;
+B62B;B62B;1104 1169 11C2;B62B;1104 1169 11C2;
+B62C;B62C;1104 116A;B62C;1104 116A;
+B62D;B62D;1104 116A 11A8;B62D;1104 116A 11A8;
+B62E;B62E;1104 116A 11A9;B62E;1104 116A 11A9;
+B62F;B62F;1104 116A 11AA;B62F;1104 116A 11AA;
+B630;B630;1104 116A 11AB;B630;1104 116A 11AB;
+B631;B631;1104 116A 11AC;B631;1104 116A 11AC;
+B632;B632;1104 116A 11AD;B632;1104 116A 11AD;
+B633;B633;1104 116A 11AE;B633;1104 116A 11AE;
+B634;B634;1104 116A 11AF;B634;1104 116A 11AF;
+B635;B635;1104 116A 11B0;B635;1104 116A 11B0;
+B636;B636;1104 116A 11B1;B636;1104 116A 11B1;
+B637;B637;1104 116A 11B2;B637;1104 116A 11B2;
+B638;B638;1104 116A 11B3;B638;1104 116A 11B3;
+B639;B639;1104 116A 11B4;B639;1104 116A 11B4;
+B63A;B63A;1104 116A 11B5;B63A;1104 116A 11B5;
+B63B;B63B;1104 116A 11B6;B63B;1104 116A 11B6;
+B63C;B63C;1104 116A 11B7;B63C;1104 116A 11B7;
+B63D;B63D;1104 116A 11B8;B63D;1104 116A 11B8;
+B63E;B63E;1104 116A 11B9;B63E;1104 116A 11B9;
+B63F;B63F;1104 116A 11BA;B63F;1104 116A 11BA;
+B640;B640;1104 116A 11BB;B640;1104 116A 11BB;
+B641;B641;1104 116A 11BC;B641;1104 116A 11BC;
+B642;B642;1104 116A 11BD;B642;1104 116A 11BD;
+B643;B643;1104 116A 11BE;B643;1104 116A 11BE;
+B644;B644;1104 116A 11BF;B644;1104 116A 11BF;
+B645;B645;1104 116A 11C0;B645;1104 116A 11C0;
+B646;B646;1104 116A 11C1;B646;1104 116A 11C1;
+B647;B647;1104 116A 11C2;B647;1104 116A 11C2;
+B648;B648;1104 116B;B648;1104 116B;
+B649;B649;1104 116B 11A8;B649;1104 116B 11A8;
+B64A;B64A;1104 116B 11A9;B64A;1104 116B 11A9;
+B64B;B64B;1104 116B 11AA;B64B;1104 116B 11AA;
+B64C;B64C;1104 116B 11AB;B64C;1104 116B 11AB;
+B64D;B64D;1104 116B 11AC;B64D;1104 116B 11AC;
+B64E;B64E;1104 116B 11AD;B64E;1104 116B 11AD;
+B64F;B64F;1104 116B 11AE;B64F;1104 116B 11AE;
+B650;B650;1104 116B 11AF;B650;1104 116B 11AF;
+B651;B651;1104 116B 11B0;B651;1104 116B 11B0;
+B652;B652;1104 116B 11B1;B652;1104 116B 11B1;
+B653;B653;1104 116B 11B2;B653;1104 116B 11B2;
+B654;B654;1104 116B 11B3;B654;1104 116B 11B3;
+B655;B655;1104 116B 11B4;B655;1104 116B 11B4;
+B656;B656;1104 116B 11B5;B656;1104 116B 11B5;
+B657;B657;1104 116B 11B6;B657;1104 116B 11B6;
+B658;B658;1104 116B 11B7;B658;1104 116B 11B7;
+B659;B659;1104 116B 11B8;B659;1104 116B 11B8;
+B65A;B65A;1104 116B 11B9;B65A;1104 116B 11B9;
+B65B;B65B;1104 116B 11BA;B65B;1104 116B 11BA;
+B65C;B65C;1104 116B 11BB;B65C;1104 116B 11BB;
+B65D;B65D;1104 116B 11BC;B65D;1104 116B 11BC;
+B65E;B65E;1104 116B 11BD;B65E;1104 116B 11BD;
+B65F;B65F;1104 116B 11BE;B65F;1104 116B 11BE;
+B660;B660;1104 116B 11BF;B660;1104 116B 11BF;
+B661;B661;1104 116B 11C0;B661;1104 116B 11C0;
+B662;B662;1104 116B 11C1;B662;1104 116B 11C1;
+B663;B663;1104 116B 11C2;B663;1104 116B 11C2;
+B664;B664;1104 116C;B664;1104 116C;
+B665;B665;1104 116C 11A8;B665;1104 116C 11A8;
+B666;B666;1104 116C 11A9;B666;1104 116C 11A9;
+B667;B667;1104 116C 11AA;B667;1104 116C 11AA;
+B668;B668;1104 116C 11AB;B668;1104 116C 11AB;
+B669;B669;1104 116C 11AC;B669;1104 116C 11AC;
+B66A;B66A;1104 116C 11AD;B66A;1104 116C 11AD;
+B66B;B66B;1104 116C 11AE;B66B;1104 116C 11AE;
+B66C;B66C;1104 116C 11AF;B66C;1104 116C 11AF;
+B66D;B66D;1104 116C 11B0;B66D;1104 116C 11B0;
+B66E;B66E;1104 116C 11B1;B66E;1104 116C 11B1;
+B66F;B66F;1104 116C 11B2;B66F;1104 116C 11B2;
+B670;B670;1104 116C 11B3;B670;1104 116C 11B3;
+B671;B671;1104 116C 11B4;B671;1104 116C 11B4;
+B672;B672;1104 116C 11B5;B672;1104 116C 11B5;
+B673;B673;1104 116C 11B6;B673;1104 116C 11B6;
+B674;B674;1104 116C 11B7;B674;1104 116C 11B7;
+B675;B675;1104 116C 11B8;B675;1104 116C 11B8;
+B676;B676;1104 116C 11B9;B676;1104 116C 11B9;
+B677;B677;1104 116C 11BA;B677;1104 116C 11BA;
+B678;B678;1104 116C 11BB;B678;1104 116C 11BB;
+B679;B679;1104 116C 11BC;B679;1104 116C 11BC;
+B67A;B67A;1104 116C 11BD;B67A;1104 116C 11BD;
+B67B;B67B;1104 116C 11BE;B67B;1104 116C 11BE;
+B67C;B67C;1104 116C 11BF;B67C;1104 116C 11BF;
+B67D;B67D;1104 116C 11C0;B67D;1104 116C 11C0;
+B67E;B67E;1104 116C 11C1;B67E;1104 116C 11C1;
+B67F;B67F;1104 116C 11C2;B67F;1104 116C 11C2;
+B680;B680;1104 116D;B680;1104 116D;
+B681;B681;1104 116D 11A8;B681;1104 116D 11A8;
+B682;B682;1104 116D 11A9;B682;1104 116D 11A9;
+B683;B683;1104 116D 11AA;B683;1104 116D 11AA;
+B684;B684;1104 116D 11AB;B684;1104 116D 11AB;
+B685;B685;1104 116D 11AC;B685;1104 116D 11AC;
+B686;B686;1104 116D 11AD;B686;1104 116D 11AD;
+B687;B687;1104 116D 11AE;B687;1104 116D 11AE;
+B688;B688;1104 116D 11AF;B688;1104 116D 11AF;
+B689;B689;1104 116D 11B0;B689;1104 116D 11B0;
+B68A;B68A;1104 116D 11B1;B68A;1104 116D 11B1;
+B68B;B68B;1104 116D 11B2;B68B;1104 116D 11B2;
+B68C;B68C;1104 116D 11B3;B68C;1104 116D 11B3;
+B68D;B68D;1104 116D 11B4;B68D;1104 116D 11B4;
+B68E;B68E;1104 116D 11B5;B68E;1104 116D 11B5;
+B68F;B68F;1104 116D 11B6;B68F;1104 116D 11B6;
+B690;B690;1104 116D 11B7;B690;1104 116D 11B7;
+B691;B691;1104 116D 11B8;B691;1104 116D 11B8;
+B692;B692;1104 116D 11B9;B692;1104 116D 11B9;
+B693;B693;1104 116D 11BA;B693;1104 116D 11BA;
+B694;B694;1104 116D 11BB;B694;1104 116D 11BB;
+B695;B695;1104 116D 11BC;B695;1104 116D 11BC;
+B696;B696;1104 116D 11BD;B696;1104 116D 11BD;
+B697;B697;1104 116D 11BE;B697;1104 116D 11BE;
+B698;B698;1104 116D 11BF;B698;1104 116D 11BF;
+B699;B699;1104 116D 11C0;B699;1104 116D 11C0;
+B69A;B69A;1104 116D 11C1;B69A;1104 116D 11C1;
+B69B;B69B;1104 116D 11C2;B69B;1104 116D 11C2;
+B69C;B69C;1104 116E;B69C;1104 116E;
+B69D;B69D;1104 116E 11A8;B69D;1104 116E 11A8;
+B69E;B69E;1104 116E 11A9;B69E;1104 116E 11A9;
+B69F;B69F;1104 116E 11AA;B69F;1104 116E 11AA;
+B6A0;B6A0;1104 116E 11AB;B6A0;1104 116E 11AB;
+B6A1;B6A1;1104 116E 11AC;B6A1;1104 116E 11AC;
+B6A2;B6A2;1104 116E 11AD;B6A2;1104 116E 11AD;
+B6A3;B6A3;1104 116E 11AE;B6A3;1104 116E 11AE;
+B6A4;B6A4;1104 116E 11AF;B6A4;1104 116E 11AF;
+B6A5;B6A5;1104 116E 11B0;B6A5;1104 116E 11B0;
+B6A6;B6A6;1104 116E 11B1;B6A6;1104 116E 11B1;
+B6A7;B6A7;1104 116E 11B2;B6A7;1104 116E 11B2;
+B6A8;B6A8;1104 116E 11B3;B6A8;1104 116E 11B3;
+B6A9;B6A9;1104 116E 11B4;B6A9;1104 116E 11B4;
+B6AA;B6AA;1104 116E 11B5;B6AA;1104 116E 11B5;
+B6AB;B6AB;1104 116E 11B6;B6AB;1104 116E 11B6;
+B6AC;B6AC;1104 116E 11B7;B6AC;1104 116E 11B7;
+B6AD;B6AD;1104 116E 11B8;B6AD;1104 116E 11B8;
+B6AE;B6AE;1104 116E 11B9;B6AE;1104 116E 11B9;
+B6AF;B6AF;1104 116E 11BA;B6AF;1104 116E 11BA;
+B6B0;B6B0;1104 116E 11BB;B6B0;1104 116E 11BB;
+B6B1;B6B1;1104 116E 11BC;B6B1;1104 116E 11BC;
+B6B2;B6B2;1104 116E 11BD;B6B2;1104 116E 11BD;
+B6B3;B6B3;1104 116E 11BE;B6B3;1104 116E 11BE;
+B6B4;B6B4;1104 116E 11BF;B6B4;1104 116E 11BF;
+B6B5;B6B5;1104 116E 11C0;B6B5;1104 116E 11C0;
+B6B6;B6B6;1104 116E 11C1;B6B6;1104 116E 11C1;
+B6B7;B6B7;1104 116E 11C2;B6B7;1104 116E 11C2;
+B6B8;B6B8;1104 116F;B6B8;1104 116F;
+B6B9;B6B9;1104 116F 11A8;B6B9;1104 116F 11A8;
+B6BA;B6BA;1104 116F 11A9;B6BA;1104 116F 11A9;
+B6BB;B6BB;1104 116F 11AA;B6BB;1104 116F 11AA;
+B6BC;B6BC;1104 116F 11AB;B6BC;1104 116F 11AB;
+B6BD;B6BD;1104 116F 11AC;B6BD;1104 116F 11AC;
+B6BE;B6BE;1104 116F 11AD;B6BE;1104 116F 11AD;
+B6BF;B6BF;1104 116F 11AE;B6BF;1104 116F 11AE;
+B6C0;B6C0;1104 116F 11AF;B6C0;1104 116F 11AF;
+B6C1;B6C1;1104 116F 11B0;B6C1;1104 116F 11B0;
+B6C2;B6C2;1104 116F 11B1;B6C2;1104 116F 11B1;
+B6C3;B6C3;1104 116F 11B2;B6C3;1104 116F 11B2;
+B6C4;B6C4;1104 116F 11B3;B6C4;1104 116F 11B3;
+B6C5;B6C5;1104 116F 11B4;B6C5;1104 116F 11B4;
+B6C6;B6C6;1104 116F 11B5;B6C6;1104 116F 11B5;
+B6C7;B6C7;1104 116F 11B6;B6C7;1104 116F 11B6;
+B6C8;B6C8;1104 116F 11B7;B6C8;1104 116F 11B7;
+B6C9;B6C9;1104 116F 11B8;B6C9;1104 116F 11B8;
+B6CA;B6CA;1104 116F 11B9;B6CA;1104 116F 11B9;
+B6CB;B6CB;1104 116F 11BA;B6CB;1104 116F 11BA;
+B6CC;B6CC;1104 116F 11BB;B6CC;1104 116F 11BB;
+B6CD;B6CD;1104 116F 11BC;B6CD;1104 116F 11BC;
+B6CE;B6CE;1104 116F 11BD;B6CE;1104 116F 11BD;
+B6CF;B6CF;1104 116F 11BE;B6CF;1104 116F 11BE;
+B6D0;B6D0;1104 116F 11BF;B6D0;1104 116F 11BF;
+B6D1;B6D1;1104 116F 11C0;B6D1;1104 116F 11C0;
+B6D2;B6D2;1104 116F 11C1;B6D2;1104 116F 11C1;
+B6D3;B6D3;1104 116F 11C2;B6D3;1104 116F 11C2;
+B6D4;B6D4;1104 1170;B6D4;1104 1170;
+B6D5;B6D5;1104 1170 11A8;B6D5;1104 1170 11A8;
+B6D6;B6D6;1104 1170 11A9;B6D6;1104 1170 11A9;
+B6D7;B6D7;1104 1170 11AA;B6D7;1104 1170 11AA;
+B6D8;B6D8;1104 1170 11AB;B6D8;1104 1170 11AB;
+B6D9;B6D9;1104 1170 11AC;B6D9;1104 1170 11AC;
+B6DA;B6DA;1104 1170 11AD;B6DA;1104 1170 11AD;
+B6DB;B6DB;1104 1170 11AE;B6DB;1104 1170 11AE;
+B6DC;B6DC;1104 1170 11AF;B6DC;1104 1170 11AF;
+B6DD;B6DD;1104 1170 11B0;B6DD;1104 1170 11B0;
+B6DE;B6DE;1104 1170 11B1;B6DE;1104 1170 11B1;
+B6DF;B6DF;1104 1170 11B2;B6DF;1104 1170 11B2;
+B6E0;B6E0;1104 1170 11B3;B6E0;1104 1170 11B3;
+B6E1;B6E1;1104 1170 11B4;B6E1;1104 1170 11B4;
+B6E2;B6E2;1104 1170 11B5;B6E2;1104 1170 11B5;
+B6E3;B6E3;1104 1170 11B6;B6E3;1104 1170 11B6;
+B6E4;B6E4;1104 1170 11B7;B6E4;1104 1170 11B7;
+B6E5;B6E5;1104 1170 11B8;B6E5;1104 1170 11B8;
+B6E6;B6E6;1104 1170 11B9;B6E6;1104 1170 11B9;
+B6E7;B6E7;1104 1170 11BA;B6E7;1104 1170 11BA;
+B6E8;B6E8;1104 1170 11BB;B6E8;1104 1170 11BB;
+B6E9;B6E9;1104 1170 11BC;B6E9;1104 1170 11BC;
+B6EA;B6EA;1104 1170 11BD;B6EA;1104 1170 11BD;
+B6EB;B6EB;1104 1170 11BE;B6EB;1104 1170 11BE;
+B6EC;B6EC;1104 1170 11BF;B6EC;1104 1170 11BF;
+B6ED;B6ED;1104 1170 11C0;B6ED;1104 1170 11C0;
+B6EE;B6EE;1104 1170 11C1;B6EE;1104 1170 11C1;
+B6EF;B6EF;1104 1170 11C2;B6EF;1104 1170 11C2;
+B6F0;B6F0;1104 1171;B6F0;1104 1171;
+B6F1;B6F1;1104 1171 11A8;B6F1;1104 1171 11A8;
+B6F2;B6F2;1104 1171 11A9;B6F2;1104 1171 11A9;
+B6F3;B6F3;1104 1171 11AA;B6F3;1104 1171 11AA;
+B6F4;B6F4;1104 1171 11AB;B6F4;1104 1171 11AB;
+B6F5;B6F5;1104 1171 11AC;B6F5;1104 1171 11AC;
+B6F6;B6F6;1104 1171 11AD;B6F6;1104 1171 11AD;
+B6F7;B6F7;1104 1171 11AE;B6F7;1104 1171 11AE;
+B6F8;B6F8;1104 1171 11AF;B6F8;1104 1171 11AF;
+B6F9;B6F9;1104 1171 11B0;B6F9;1104 1171 11B0;
+B6FA;B6FA;1104 1171 11B1;B6FA;1104 1171 11B1;
+B6FB;B6FB;1104 1171 11B2;B6FB;1104 1171 11B2;
+B6FC;B6FC;1104 1171 11B3;B6FC;1104 1171 11B3;
+B6FD;B6FD;1104 1171 11B4;B6FD;1104 1171 11B4;
+B6FE;B6FE;1104 1171 11B5;B6FE;1104 1171 11B5;
+B6FF;B6FF;1104 1171 11B6;B6FF;1104 1171 11B6;
+B700;B700;1104 1171 11B7;B700;1104 1171 11B7;
+B701;B701;1104 1171 11B8;B701;1104 1171 11B8;
+B702;B702;1104 1171 11B9;B702;1104 1171 11B9;
+B703;B703;1104 1171 11BA;B703;1104 1171 11BA;
+B704;B704;1104 1171 11BB;B704;1104 1171 11BB;
+B705;B705;1104 1171 11BC;B705;1104 1171 11BC;
+B706;B706;1104 1171 11BD;B706;1104 1171 11BD;
+B707;B707;1104 1171 11BE;B707;1104 1171 11BE;
+B708;B708;1104 1171 11BF;B708;1104 1171 11BF;
+B709;B709;1104 1171 11C0;B709;1104 1171 11C0;
+B70A;B70A;1104 1171 11C1;B70A;1104 1171 11C1;
+B70B;B70B;1104 1171 11C2;B70B;1104 1171 11C2;
+B70C;B70C;1104 1172;B70C;1104 1172;
+B70D;B70D;1104 1172 11A8;B70D;1104 1172 11A8;
+B70E;B70E;1104 1172 11A9;B70E;1104 1172 11A9;
+B70F;B70F;1104 1172 11AA;B70F;1104 1172 11AA;
+B710;B710;1104 1172 11AB;B710;1104 1172 11AB;
+B711;B711;1104 1172 11AC;B711;1104 1172 11AC;
+B712;B712;1104 1172 11AD;B712;1104 1172 11AD;
+B713;B713;1104 1172 11AE;B713;1104 1172 11AE;
+B714;B714;1104 1172 11AF;B714;1104 1172 11AF;
+B715;B715;1104 1172 11B0;B715;1104 1172 11B0;
+B716;B716;1104 1172 11B1;B716;1104 1172 11B1;
+B717;B717;1104 1172 11B2;B717;1104 1172 11B2;
+B718;B718;1104 1172 11B3;B718;1104 1172 11B3;
+B719;B719;1104 1172 11B4;B719;1104 1172 11B4;
+B71A;B71A;1104 1172 11B5;B71A;1104 1172 11B5;
+B71B;B71B;1104 1172 11B6;B71B;1104 1172 11B6;
+B71C;B71C;1104 1172 11B7;B71C;1104 1172 11B7;
+B71D;B71D;1104 1172 11B8;B71D;1104 1172 11B8;
+B71E;B71E;1104 1172 11B9;B71E;1104 1172 11B9;
+B71F;B71F;1104 1172 11BA;B71F;1104 1172 11BA;
+B720;B720;1104 1172 11BB;B720;1104 1172 11BB;
+B721;B721;1104 1172 11BC;B721;1104 1172 11BC;
+B722;B722;1104 1172 11BD;B722;1104 1172 11BD;
+B723;B723;1104 1172 11BE;B723;1104 1172 11BE;
+B724;B724;1104 1172 11BF;B724;1104 1172 11BF;
+B725;B725;1104 1172 11C0;B725;1104 1172 11C0;
+B726;B726;1104 1172 11C1;B726;1104 1172 11C1;
+B727;B727;1104 1172 11C2;B727;1104 1172 11C2;
+B728;B728;1104 1173;B728;1104 1173;
+B729;B729;1104 1173 11A8;B729;1104 1173 11A8;
+B72A;B72A;1104 1173 11A9;B72A;1104 1173 11A9;
+B72B;B72B;1104 1173 11AA;B72B;1104 1173 11AA;
+B72C;B72C;1104 1173 11AB;B72C;1104 1173 11AB;
+B72D;B72D;1104 1173 11AC;B72D;1104 1173 11AC;
+B72E;B72E;1104 1173 11AD;B72E;1104 1173 11AD;
+B72F;B72F;1104 1173 11AE;B72F;1104 1173 11AE;
+B730;B730;1104 1173 11AF;B730;1104 1173 11AF;
+B731;B731;1104 1173 11B0;B731;1104 1173 11B0;
+B732;B732;1104 1173 11B1;B732;1104 1173 11B1;
+B733;B733;1104 1173 11B2;B733;1104 1173 11B2;
+B734;B734;1104 1173 11B3;B734;1104 1173 11B3;
+B735;B735;1104 1173 11B4;B735;1104 1173 11B4;
+B736;B736;1104 1173 11B5;B736;1104 1173 11B5;
+B737;B737;1104 1173 11B6;B737;1104 1173 11B6;
+B738;B738;1104 1173 11B7;B738;1104 1173 11B7;
+B739;B739;1104 1173 11B8;B739;1104 1173 11B8;
+B73A;B73A;1104 1173 11B9;B73A;1104 1173 11B9;
+B73B;B73B;1104 1173 11BA;B73B;1104 1173 11BA;
+B73C;B73C;1104 1173 11BB;B73C;1104 1173 11BB;
+B73D;B73D;1104 1173 11BC;B73D;1104 1173 11BC;
+B73E;B73E;1104 1173 11BD;B73E;1104 1173 11BD;
+B73F;B73F;1104 1173 11BE;B73F;1104 1173 11BE;
+B740;B740;1104 1173 11BF;B740;1104 1173 11BF;
+B741;B741;1104 1173 11C0;B741;1104 1173 11C0;
+B742;B742;1104 1173 11C1;B742;1104 1173 11C1;
+B743;B743;1104 1173 11C2;B743;1104 1173 11C2;
+B744;B744;1104 1174;B744;1104 1174;
+B745;B745;1104 1174 11A8;B745;1104 1174 11A8;
+B746;B746;1104 1174 11A9;B746;1104 1174 11A9;
+B747;B747;1104 1174 11AA;B747;1104 1174 11AA;
+B748;B748;1104 1174 11AB;B748;1104 1174 11AB;
+B749;B749;1104 1174 11AC;B749;1104 1174 11AC;
+B74A;B74A;1104 1174 11AD;B74A;1104 1174 11AD;
+B74B;B74B;1104 1174 11AE;B74B;1104 1174 11AE;
+B74C;B74C;1104 1174 11AF;B74C;1104 1174 11AF;
+B74D;B74D;1104 1174 11B0;B74D;1104 1174 11B0;
+B74E;B74E;1104 1174 11B1;B74E;1104 1174 11B1;
+B74F;B74F;1104 1174 11B2;B74F;1104 1174 11B2;
+B750;B750;1104 1174 11B3;B750;1104 1174 11B3;
+B751;B751;1104 1174 11B4;B751;1104 1174 11B4;
+B752;B752;1104 1174 11B5;B752;1104 1174 11B5;
+B753;B753;1104 1174 11B6;B753;1104 1174 11B6;
+B754;B754;1104 1174 11B7;B754;1104 1174 11B7;
+B755;B755;1104 1174 11B8;B755;1104 1174 11B8;
+B756;B756;1104 1174 11B9;B756;1104 1174 11B9;
+B757;B757;1104 1174 11BA;B757;1104 1174 11BA;
+B758;B758;1104 1174 11BB;B758;1104 1174 11BB;
+B759;B759;1104 1174 11BC;B759;1104 1174 11BC;
+B75A;B75A;1104 1174 11BD;B75A;1104 1174 11BD;
+B75B;B75B;1104 1174 11BE;B75B;1104 1174 11BE;
+B75C;B75C;1104 1174 11BF;B75C;1104 1174 11BF;
+B75D;B75D;1104 1174 11C0;B75D;1104 1174 11C0;
+B75E;B75E;1104 1174 11C1;B75E;1104 1174 11C1;
+B75F;B75F;1104 1174 11C2;B75F;1104 1174 11C2;
+B760;B760;1104 1175;B760;1104 1175;
+B761;B761;1104 1175 11A8;B761;1104 1175 11A8;
+B762;B762;1104 1175 11A9;B762;1104 1175 11A9;
+B763;B763;1104 1175 11AA;B763;1104 1175 11AA;
+B764;B764;1104 1175 11AB;B764;1104 1175 11AB;
+B765;B765;1104 1175 11AC;B765;1104 1175 11AC;
+B766;B766;1104 1175 11AD;B766;1104 1175 11AD;
+B767;B767;1104 1175 11AE;B767;1104 1175 11AE;
+B768;B768;1104 1175 11AF;B768;1104 1175 11AF;
+B769;B769;1104 1175 11B0;B769;1104 1175 11B0;
+B76A;B76A;1104 1175 11B1;B76A;1104 1175 11B1;
+B76B;B76B;1104 1175 11B2;B76B;1104 1175 11B2;
+B76C;B76C;1104 1175 11B3;B76C;1104 1175 11B3;
+B76D;B76D;1104 1175 11B4;B76D;1104 1175 11B4;
+B76E;B76E;1104 1175 11B5;B76E;1104 1175 11B5;
+B76F;B76F;1104 1175 11B6;B76F;1104 1175 11B6;
+B770;B770;1104 1175 11B7;B770;1104 1175 11B7;
+B771;B771;1104 1175 11B8;B771;1104 1175 11B8;
+B772;B772;1104 1175 11B9;B772;1104 1175 11B9;
+B773;B773;1104 1175 11BA;B773;1104 1175 11BA;
+B774;B774;1104 1175 11BB;B774;1104 1175 11BB;
+B775;B775;1104 1175 11BC;B775;1104 1175 11BC;
+B776;B776;1104 1175 11BD;B776;1104 1175 11BD;
+B777;B777;1104 1175 11BE;B777;1104 1175 11BE;
+B778;B778;1104 1175 11BF;B778;1104 1175 11BF;
+B779;B779;1104 1175 11C0;B779;1104 1175 11C0;
+B77A;B77A;1104 1175 11C1;B77A;1104 1175 11C1;
+B77B;B77B;1104 1175 11C2;B77B;1104 1175 11C2;
+B77C;B77C;1105 1161;B77C;1105 1161;
+B77D;B77D;1105 1161 11A8;B77D;1105 1161 11A8;
+B77E;B77E;1105 1161 11A9;B77E;1105 1161 11A9;
+B77F;B77F;1105 1161 11AA;B77F;1105 1161 11AA;
+B780;B780;1105 1161 11AB;B780;1105 1161 11AB;
+B781;B781;1105 1161 11AC;B781;1105 1161 11AC;
+B782;B782;1105 1161 11AD;B782;1105 1161 11AD;
+B783;B783;1105 1161 11AE;B783;1105 1161 11AE;
+B784;B784;1105 1161 11AF;B784;1105 1161 11AF;
+B785;B785;1105 1161 11B0;B785;1105 1161 11B0;
+B786;B786;1105 1161 11B1;B786;1105 1161 11B1;
+B787;B787;1105 1161 11B2;B787;1105 1161 11B2;
+B788;B788;1105 1161 11B3;B788;1105 1161 11B3;
+B789;B789;1105 1161 11B4;B789;1105 1161 11B4;
+B78A;B78A;1105 1161 11B5;B78A;1105 1161 11B5;
+B78B;B78B;1105 1161 11B6;B78B;1105 1161 11B6;
+B78C;B78C;1105 1161 11B7;B78C;1105 1161 11B7;
+B78D;B78D;1105 1161 11B8;B78D;1105 1161 11B8;
+B78E;B78E;1105 1161 11B9;B78E;1105 1161 11B9;
+B78F;B78F;1105 1161 11BA;B78F;1105 1161 11BA;
+B790;B790;1105 1161 11BB;B790;1105 1161 11BB;
+B791;B791;1105 1161 11BC;B791;1105 1161 11BC;
+B792;B792;1105 1161 11BD;B792;1105 1161 11BD;
+B793;B793;1105 1161 11BE;B793;1105 1161 11BE;
+B794;B794;1105 1161 11BF;B794;1105 1161 11BF;
+B795;B795;1105 1161 11C0;B795;1105 1161 11C0;
+B796;B796;1105 1161 11C1;B796;1105 1161 11C1;
+B797;B797;1105 1161 11C2;B797;1105 1161 11C2;
+B798;B798;1105 1162;B798;1105 1162;
+B799;B799;1105 1162 11A8;B799;1105 1162 11A8;
+B79A;B79A;1105 1162 11A9;B79A;1105 1162 11A9;
+B79B;B79B;1105 1162 11AA;B79B;1105 1162 11AA;
+B79C;B79C;1105 1162 11AB;B79C;1105 1162 11AB;
+B79D;B79D;1105 1162 11AC;B79D;1105 1162 11AC;
+B79E;B79E;1105 1162 11AD;B79E;1105 1162 11AD;
+B79F;B79F;1105 1162 11AE;B79F;1105 1162 11AE;
+B7A0;B7A0;1105 1162 11AF;B7A0;1105 1162 11AF;
+B7A1;B7A1;1105 1162 11B0;B7A1;1105 1162 11B0;
+B7A2;B7A2;1105 1162 11B1;B7A2;1105 1162 11B1;
+B7A3;B7A3;1105 1162 11B2;B7A3;1105 1162 11B2;
+B7A4;B7A4;1105 1162 11B3;B7A4;1105 1162 11B3;
+B7A5;B7A5;1105 1162 11B4;B7A5;1105 1162 11B4;
+B7A6;B7A6;1105 1162 11B5;B7A6;1105 1162 11B5;
+B7A7;B7A7;1105 1162 11B6;B7A7;1105 1162 11B6;
+B7A8;B7A8;1105 1162 11B7;B7A8;1105 1162 11B7;
+B7A9;B7A9;1105 1162 11B8;B7A9;1105 1162 11B8;
+B7AA;B7AA;1105 1162 11B9;B7AA;1105 1162 11B9;
+B7AB;B7AB;1105 1162 11BA;B7AB;1105 1162 11BA;
+B7AC;B7AC;1105 1162 11BB;B7AC;1105 1162 11BB;
+B7AD;B7AD;1105 1162 11BC;B7AD;1105 1162 11BC;
+B7AE;B7AE;1105 1162 11BD;B7AE;1105 1162 11BD;
+B7AF;B7AF;1105 1162 11BE;B7AF;1105 1162 11BE;
+B7B0;B7B0;1105 1162 11BF;B7B0;1105 1162 11BF;
+B7B1;B7B1;1105 1162 11C0;B7B1;1105 1162 11C0;
+B7B2;B7B2;1105 1162 11C1;B7B2;1105 1162 11C1;
+B7B3;B7B3;1105 1162 11C2;B7B3;1105 1162 11C2;
+B7B4;B7B4;1105 1163;B7B4;1105 1163;
+B7B5;B7B5;1105 1163 11A8;B7B5;1105 1163 11A8;
+B7B6;B7B6;1105 1163 11A9;B7B6;1105 1163 11A9;
+B7B7;B7B7;1105 1163 11AA;B7B7;1105 1163 11AA;
+B7B8;B7B8;1105 1163 11AB;B7B8;1105 1163 11AB;
+B7B9;B7B9;1105 1163 11AC;B7B9;1105 1163 11AC;
+B7BA;B7BA;1105 1163 11AD;B7BA;1105 1163 11AD;
+B7BB;B7BB;1105 1163 11AE;B7BB;1105 1163 11AE;
+B7BC;B7BC;1105 1163 11AF;B7BC;1105 1163 11AF;
+B7BD;B7BD;1105 1163 11B0;B7BD;1105 1163 11B0;
+B7BE;B7BE;1105 1163 11B1;B7BE;1105 1163 11B1;
+B7BF;B7BF;1105 1163 11B2;B7BF;1105 1163 11B2;
+B7C0;B7C0;1105 1163 11B3;B7C0;1105 1163 11B3;
+B7C1;B7C1;1105 1163 11B4;B7C1;1105 1163 11B4;
+B7C2;B7C2;1105 1163 11B5;B7C2;1105 1163 11B5;
+B7C3;B7C3;1105 1163 11B6;B7C3;1105 1163 11B6;
+B7C4;B7C4;1105 1163 11B7;B7C4;1105 1163 11B7;
+B7C5;B7C5;1105 1163 11B8;B7C5;1105 1163 11B8;
+B7C6;B7C6;1105 1163 11B9;B7C6;1105 1163 11B9;
+B7C7;B7C7;1105 1163 11BA;B7C7;1105 1163 11BA;
+B7C8;B7C8;1105 1163 11BB;B7C8;1105 1163 11BB;
+B7C9;B7C9;1105 1163 11BC;B7C9;1105 1163 11BC;
+B7CA;B7CA;1105 1163 11BD;B7CA;1105 1163 11BD;
+B7CB;B7CB;1105 1163 11BE;B7CB;1105 1163 11BE;
+B7CC;B7CC;1105 1163 11BF;B7CC;1105 1163 11BF;
+B7CD;B7CD;1105 1163 11C0;B7CD;1105 1163 11C0;
+B7CE;B7CE;1105 1163 11C1;B7CE;1105 1163 11C1;
+B7CF;B7CF;1105 1163 11C2;B7CF;1105 1163 11C2;
+B7D0;B7D0;1105 1164;B7D0;1105 1164;
+B7D1;B7D1;1105 1164 11A8;B7D1;1105 1164 11A8;
+B7D2;B7D2;1105 1164 11A9;B7D2;1105 1164 11A9;
+B7D3;B7D3;1105 1164 11AA;B7D3;1105 1164 11AA;
+B7D4;B7D4;1105 1164 11AB;B7D4;1105 1164 11AB;
+B7D5;B7D5;1105 1164 11AC;B7D5;1105 1164 11AC;
+B7D6;B7D6;1105 1164 11AD;B7D6;1105 1164 11AD;
+B7D7;B7D7;1105 1164 11AE;B7D7;1105 1164 11AE;
+B7D8;B7D8;1105 1164 11AF;B7D8;1105 1164 11AF;
+B7D9;B7D9;1105 1164 11B0;B7D9;1105 1164 11B0;
+B7DA;B7DA;1105 1164 11B1;B7DA;1105 1164 11B1;
+B7DB;B7DB;1105 1164 11B2;B7DB;1105 1164 11B2;
+B7DC;B7DC;1105 1164 11B3;B7DC;1105 1164 11B3;
+B7DD;B7DD;1105 1164 11B4;B7DD;1105 1164 11B4;
+B7DE;B7DE;1105 1164 11B5;B7DE;1105 1164 11B5;
+B7DF;B7DF;1105 1164 11B6;B7DF;1105 1164 11B6;
+B7E0;B7E0;1105 1164 11B7;B7E0;1105 1164 11B7;
+B7E1;B7E1;1105 1164 11B8;B7E1;1105 1164 11B8;
+B7E2;B7E2;1105 1164 11B9;B7E2;1105 1164 11B9;
+B7E3;B7E3;1105 1164 11BA;B7E3;1105 1164 11BA;
+B7E4;B7E4;1105 1164 11BB;B7E4;1105 1164 11BB;
+B7E5;B7E5;1105 1164 11BC;B7E5;1105 1164 11BC;
+B7E6;B7E6;1105 1164 11BD;B7E6;1105 1164 11BD;
+B7E7;B7E7;1105 1164 11BE;B7E7;1105 1164 11BE;
+B7E8;B7E8;1105 1164 11BF;B7E8;1105 1164 11BF;
+B7E9;B7E9;1105 1164 11C0;B7E9;1105 1164 11C0;
+B7EA;B7EA;1105 1164 11C1;B7EA;1105 1164 11C1;
+B7EB;B7EB;1105 1164 11C2;B7EB;1105 1164 11C2;
+B7EC;B7EC;1105 1165;B7EC;1105 1165;
+B7ED;B7ED;1105 1165 11A8;B7ED;1105 1165 11A8;
+B7EE;B7EE;1105 1165 11A9;B7EE;1105 1165 11A9;
+B7EF;B7EF;1105 1165 11AA;B7EF;1105 1165 11AA;
+B7F0;B7F0;1105 1165 11AB;B7F0;1105 1165 11AB;
+B7F1;B7F1;1105 1165 11AC;B7F1;1105 1165 11AC;
+B7F2;B7F2;1105 1165 11AD;B7F2;1105 1165 11AD;
+B7F3;B7F3;1105 1165 11AE;B7F3;1105 1165 11AE;
+B7F4;B7F4;1105 1165 11AF;B7F4;1105 1165 11AF;
+B7F5;B7F5;1105 1165 11B0;B7F5;1105 1165 11B0;
+B7F6;B7F6;1105 1165 11B1;B7F6;1105 1165 11B1;
+B7F7;B7F7;1105 1165 11B2;B7F7;1105 1165 11B2;
+B7F8;B7F8;1105 1165 11B3;B7F8;1105 1165 11B3;
+B7F9;B7F9;1105 1165 11B4;B7F9;1105 1165 11B4;
+B7FA;B7FA;1105 1165 11B5;B7FA;1105 1165 11B5;
+B7FB;B7FB;1105 1165 11B6;B7FB;1105 1165 11B6;
+B7FC;B7FC;1105 1165 11B7;B7FC;1105 1165 11B7;
+B7FD;B7FD;1105 1165 11B8;B7FD;1105 1165 11B8;
+B7FE;B7FE;1105 1165 11B9;B7FE;1105 1165 11B9;
+B7FF;B7FF;1105 1165 11BA;B7FF;1105 1165 11BA;
+B800;B800;1105 1165 11BB;B800;1105 1165 11BB;
+B801;B801;1105 1165 11BC;B801;1105 1165 11BC;
+B802;B802;1105 1165 11BD;B802;1105 1165 11BD;
+B803;B803;1105 1165 11BE;B803;1105 1165 11BE;
+B804;B804;1105 1165 11BF;B804;1105 1165 11BF;
+B805;B805;1105 1165 11C0;B805;1105 1165 11C0;
+B806;B806;1105 1165 11C1;B806;1105 1165 11C1;
+B807;B807;1105 1165 11C2;B807;1105 1165 11C2;
+B808;B808;1105 1166;B808;1105 1166;
+B809;B809;1105 1166 11A8;B809;1105 1166 11A8;
+B80A;B80A;1105 1166 11A9;B80A;1105 1166 11A9;
+B80B;B80B;1105 1166 11AA;B80B;1105 1166 11AA;
+B80C;B80C;1105 1166 11AB;B80C;1105 1166 11AB;
+B80D;B80D;1105 1166 11AC;B80D;1105 1166 11AC;
+B80E;B80E;1105 1166 11AD;B80E;1105 1166 11AD;
+B80F;B80F;1105 1166 11AE;B80F;1105 1166 11AE;
+B810;B810;1105 1166 11AF;B810;1105 1166 11AF;
+B811;B811;1105 1166 11B0;B811;1105 1166 11B0;
+B812;B812;1105 1166 11B1;B812;1105 1166 11B1;
+B813;B813;1105 1166 11B2;B813;1105 1166 11B2;
+B814;B814;1105 1166 11B3;B814;1105 1166 11B3;
+B815;B815;1105 1166 11B4;B815;1105 1166 11B4;
+B816;B816;1105 1166 11B5;B816;1105 1166 11B5;
+B817;B817;1105 1166 11B6;B817;1105 1166 11B6;
+B818;B818;1105 1166 11B7;B818;1105 1166 11B7;
+B819;B819;1105 1166 11B8;B819;1105 1166 11B8;
+B81A;B81A;1105 1166 11B9;B81A;1105 1166 11B9;
+B81B;B81B;1105 1166 11BA;B81B;1105 1166 11BA;
+B81C;B81C;1105 1166 11BB;B81C;1105 1166 11BB;
+B81D;B81D;1105 1166 11BC;B81D;1105 1166 11BC;
+B81E;B81E;1105 1166 11BD;B81E;1105 1166 11BD;
+B81F;B81F;1105 1166 11BE;B81F;1105 1166 11BE;
+B820;B820;1105 1166 11BF;B820;1105 1166 11BF;
+B821;B821;1105 1166 11C0;B821;1105 1166 11C0;
+B822;B822;1105 1166 11C1;B822;1105 1166 11C1;
+B823;B823;1105 1166 11C2;B823;1105 1166 11C2;
+B824;B824;1105 1167;B824;1105 1167;
+B825;B825;1105 1167 11A8;B825;1105 1167 11A8;
+B826;B826;1105 1167 11A9;B826;1105 1167 11A9;
+B827;B827;1105 1167 11AA;B827;1105 1167 11AA;
+B828;B828;1105 1167 11AB;B828;1105 1167 11AB;
+B829;B829;1105 1167 11AC;B829;1105 1167 11AC;
+B82A;B82A;1105 1167 11AD;B82A;1105 1167 11AD;
+B82B;B82B;1105 1167 11AE;B82B;1105 1167 11AE;
+B82C;B82C;1105 1167 11AF;B82C;1105 1167 11AF;
+B82D;B82D;1105 1167 11B0;B82D;1105 1167 11B0;
+B82E;B82E;1105 1167 11B1;B82E;1105 1167 11B1;
+B82F;B82F;1105 1167 11B2;B82F;1105 1167 11B2;
+B830;B830;1105 1167 11B3;B830;1105 1167 11B3;
+B831;B831;1105 1167 11B4;B831;1105 1167 11B4;
+B832;B832;1105 1167 11B5;B832;1105 1167 11B5;
+B833;B833;1105 1167 11B6;B833;1105 1167 11B6;
+B834;B834;1105 1167 11B7;B834;1105 1167 11B7;
+B835;B835;1105 1167 11B8;B835;1105 1167 11B8;
+B836;B836;1105 1167 11B9;B836;1105 1167 11B9;
+B837;B837;1105 1167 11BA;B837;1105 1167 11BA;
+B838;B838;1105 1167 11BB;B838;1105 1167 11BB;
+B839;B839;1105 1167 11BC;B839;1105 1167 11BC;
+B83A;B83A;1105 1167 11BD;B83A;1105 1167 11BD;
+B83B;B83B;1105 1167 11BE;B83B;1105 1167 11BE;
+B83C;B83C;1105 1167 11BF;B83C;1105 1167 11BF;
+B83D;B83D;1105 1167 11C0;B83D;1105 1167 11C0;
+B83E;B83E;1105 1167 11C1;B83E;1105 1167 11C1;
+B83F;B83F;1105 1167 11C2;B83F;1105 1167 11C2;
+B840;B840;1105 1168;B840;1105 1168;
+B841;B841;1105 1168 11A8;B841;1105 1168 11A8;
+B842;B842;1105 1168 11A9;B842;1105 1168 11A9;
+B843;B843;1105 1168 11AA;B843;1105 1168 11AA;
+B844;B844;1105 1168 11AB;B844;1105 1168 11AB;
+B845;B845;1105 1168 11AC;B845;1105 1168 11AC;
+B846;B846;1105 1168 11AD;B846;1105 1168 11AD;
+B847;B847;1105 1168 11AE;B847;1105 1168 11AE;
+B848;B848;1105 1168 11AF;B848;1105 1168 11AF;
+B849;B849;1105 1168 11B0;B849;1105 1168 11B0;
+B84A;B84A;1105 1168 11B1;B84A;1105 1168 11B1;
+B84B;B84B;1105 1168 11B2;B84B;1105 1168 11B2;
+B84C;B84C;1105 1168 11B3;B84C;1105 1168 11B3;
+B84D;B84D;1105 1168 11B4;B84D;1105 1168 11B4;
+B84E;B84E;1105 1168 11B5;B84E;1105 1168 11B5;
+B84F;B84F;1105 1168 11B6;B84F;1105 1168 11B6;
+B850;B850;1105 1168 11B7;B850;1105 1168 11B7;
+B851;B851;1105 1168 11B8;B851;1105 1168 11B8;
+B852;B852;1105 1168 11B9;B852;1105 1168 11B9;
+B853;B853;1105 1168 11BA;B853;1105 1168 11BA;
+B854;B854;1105 1168 11BB;B854;1105 1168 11BB;
+B855;B855;1105 1168 11BC;B855;1105 1168 11BC;
+B856;B856;1105 1168 11BD;B856;1105 1168 11BD;
+B857;B857;1105 1168 11BE;B857;1105 1168 11BE;
+B858;B858;1105 1168 11BF;B858;1105 1168 11BF;
+B859;B859;1105 1168 11C0;B859;1105 1168 11C0;
+B85A;B85A;1105 1168 11C1;B85A;1105 1168 11C1;
+B85B;B85B;1105 1168 11C2;B85B;1105 1168 11C2;
+B85C;B85C;1105 1169;B85C;1105 1169;
+B85D;B85D;1105 1169 11A8;B85D;1105 1169 11A8;
+B85E;B85E;1105 1169 11A9;B85E;1105 1169 11A9;
+B85F;B85F;1105 1169 11AA;B85F;1105 1169 11AA;
+B860;B860;1105 1169 11AB;B860;1105 1169 11AB;
+B861;B861;1105 1169 11AC;B861;1105 1169 11AC;
+B862;B862;1105 1169 11AD;B862;1105 1169 11AD;
+B863;B863;1105 1169 11AE;B863;1105 1169 11AE;
+B864;B864;1105 1169 11AF;B864;1105 1169 11AF;
+B865;B865;1105 1169 11B0;B865;1105 1169 11B0;
+B866;B866;1105 1169 11B1;B866;1105 1169 11B1;
+B867;B867;1105 1169 11B2;B867;1105 1169 11B2;
+B868;B868;1105 1169 11B3;B868;1105 1169 11B3;
+B869;B869;1105 1169 11B4;B869;1105 1169 11B4;
+B86A;B86A;1105 1169 11B5;B86A;1105 1169 11B5;
+B86B;B86B;1105 1169 11B6;B86B;1105 1169 11B6;
+B86C;B86C;1105 1169 11B7;B86C;1105 1169 11B7;
+B86D;B86D;1105 1169 11B8;B86D;1105 1169 11B8;
+B86E;B86E;1105 1169 11B9;B86E;1105 1169 11B9;
+B86F;B86F;1105 1169 11BA;B86F;1105 1169 11BA;
+B870;B870;1105 1169 11BB;B870;1105 1169 11BB;
+B871;B871;1105 1169 11BC;B871;1105 1169 11BC;
+B872;B872;1105 1169 11BD;B872;1105 1169 11BD;
+B873;B873;1105 1169 11BE;B873;1105 1169 11BE;
+B874;B874;1105 1169 11BF;B874;1105 1169 11BF;
+B875;B875;1105 1169 11C0;B875;1105 1169 11C0;
+B876;B876;1105 1169 11C1;B876;1105 1169 11C1;
+B877;B877;1105 1169 11C2;B877;1105 1169 11C2;
+B878;B878;1105 116A;B878;1105 116A;
+B879;B879;1105 116A 11A8;B879;1105 116A 11A8;
+B87A;B87A;1105 116A 11A9;B87A;1105 116A 11A9;
+B87B;B87B;1105 116A 11AA;B87B;1105 116A 11AA;
+B87C;B87C;1105 116A 11AB;B87C;1105 116A 11AB;
+B87D;B87D;1105 116A 11AC;B87D;1105 116A 11AC;
+B87E;B87E;1105 116A 11AD;B87E;1105 116A 11AD;
+B87F;B87F;1105 116A 11AE;B87F;1105 116A 11AE;
+B880;B880;1105 116A 11AF;B880;1105 116A 11AF;
+B881;B881;1105 116A 11B0;B881;1105 116A 11B0;
+B882;B882;1105 116A 11B1;B882;1105 116A 11B1;
+B883;B883;1105 116A 11B2;B883;1105 116A 11B2;
+B884;B884;1105 116A 11B3;B884;1105 116A 11B3;
+B885;B885;1105 116A 11B4;B885;1105 116A 11B4;
+B886;B886;1105 116A 11B5;B886;1105 116A 11B5;
+B887;B887;1105 116A 11B6;B887;1105 116A 11B6;
+B888;B888;1105 116A 11B7;B888;1105 116A 11B7;
+B889;B889;1105 116A 11B8;B889;1105 116A 11B8;
+B88A;B88A;1105 116A 11B9;B88A;1105 116A 11B9;
+B88B;B88B;1105 116A 11BA;B88B;1105 116A 11BA;
+B88C;B88C;1105 116A 11BB;B88C;1105 116A 11BB;
+B88D;B88D;1105 116A 11BC;B88D;1105 116A 11BC;
+B88E;B88E;1105 116A 11BD;B88E;1105 116A 11BD;
+B88F;B88F;1105 116A 11BE;B88F;1105 116A 11BE;
+B890;B890;1105 116A 11BF;B890;1105 116A 11BF;
+B891;B891;1105 116A 11C0;B891;1105 116A 11C0;
+B892;B892;1105 116A 11C1;B892;1105 116A 11C1;
+B893;B893;1105 116A 11C2;B893;1105 116A 11C2;
+B894;B894;1105 116B;B894;1105 116B;
+B895;B895;1105 116B 11A8;B895;1105 116B 11A8;
+B896;B896;1105 116B 11A9;B896;1105 116B 11A9;
+B897;B897;1105 116B 11AA;B897;1105 116B 11AA;
+B898;B898;1105 116B 11AB;B898;1105 116B 11AB;
+B899;B899;1105 116B 11AC;B899;1105 116B 11AC;
+B89A;B89A;1105 116B 11AD;B89A;1105 116B 11AD;
+B89B;B89B;1105 116B 11AE;B89B;1105 116B 11AE;
+B89C;B89C;1105 116B 11AF;B89C;1105 116B 11AF;
+B89D;B89D;1105 116B 11B0;B89D;1105 116B 11B0;
+B89E;B89E;1105 116B 11B1;B89E;1105 116B 11B1;
+B89F;B89F;1105 116B 11B2;B89F;1105 116B 11B2;
+B8A0;B8A0;1105 116B 11B3;B8A0;1105 116B 11B3;
+B8A1;B8A1;1105 116B 11B4;B8A1;1105 116B 11B4;
+B8A2;B8A2;1105 116B 11B5;B8A2;1105 116B 11B5;
+B8A3;B8A3;1105 116B 11B6;B8A3;1105 116B 11B6;
+B8A4;B8A4;1105 116B 11B7;B8A4;1105 116B 11B7;
+B8A5;B8A5;1105 116B 11B8;B8A5;1105 116B 11B8;
+B8A6;B8A6;1105 116B 11B9;B8A6;1105 116B 11B9;
+B8A7;B8A7;1105 116B 11BA;B8A7;1105 116B 11BA;
+B8A8;B8A8;1105 116B 11BB;B8A8;1105 116B 11BB;
+B8A9;B8A9;1105 116B 11BC;B8A9;1105 116B 11BC;
+B8AA;B8AA;1105 116B 11BD;B8AA;1105 116B 11BD;
+B8AB;B8AB;1105 116B 11BE;B8AB;1105 116B 11BE;
+B8AC;B8AC;1105 116B 11BF;B8AC;1105 116B 11BF;
+B8AD;B8AD;1105 116B 11C0;B8AD;1105 116B 11C0;
+B8AE;B8AE;1105 116B 11C1;B8AE;1105 116B 11C1;
+B8AF;B8AF;1105 116B 11C2;B8AF;1105 116B 11C2;
+B8B0;B8B0;1105 116C;B8B0;1105 116C;
+B8B1;B8B1;1105 116C 11A8;B8B1;1105 116C 11A8;
+B8B2;B8B2;1105 116C 11A9;B8B2;1105 116C 11A9;
+B8B3;B8B3;1105 116C 11AA;B8B3;1105 116C 11AA;
+B8B4;B8B4;1105 116C 11AB;B8B4;1105 116C 11AB;
+B8B5;B8B5;1105 116C 11AC;B8B5;1105 116C 11AC;
+B8B6;B8B6;1105 116C 11AD;B8B6;1105 116C 11AD;
+B8B7;B8B7;1105 116C 11AE;B8B7;1105 116C 11AE;
+B8B8;B8B8;1105 116C 11AF;B8B8;1105 116C 11AF;
+B8B9;B8B9;1105 116C 11B0;B8B9;1105 116C 11B0;
+B8BA;B8BA;1105 116C 11B1;B8BA;1105 116C 11B1;
+B8BB;B8BB;1105 116C 11B2;B8BB;1105 116C 11B2;
+B8BC;B8BC;1105 116C 11B3;B8BC;1105 116C 11B3;
+B8BD;B8BD;1105 116C 11B4;B8BD;1105 116C 11B4;
+B8BE;B8BE;1105 116C 11B5;B8BE;1105 116C 11B5;
+B8BF;B8BF;1105 116C 11B6;B8BF;1105 116C 11B6;
+B8C0;B8C0;1105 116C 11B7;B8C0;1105 116C 11B7;
+B8C1;B8C1;1105 116C 11B8;B8C1;1105 116C 11B8;
+B8C2;B8C2;1105 116C 11B9;B8C2;1105 116C 11B9;
+B8C3;B8C3;1105 116C 11BA;B8C3;1105 116C 11BA;
+B8C4;B8C4;1105 116C 11BB;B8C4;1105 116C 11BB;
+B8C5;B8C5;1105 116C 11BC;B8C5;1105 116C 11BC;
+B8C6;B8C6;1105 116C 11BD;B8C6;1105 116C 11BD;
+B8C7;B8C7;1105 116C 11BE;B8C7;1105 116C 11BE;
+B8C8;B8C8;1105 116C 11BF;B8C8;1105 116C 11BF;
+B8C9;B8C9;1105 116C 11C0;B8C9;1105 116C 11C0;
+B8CA;B8CA;1105 116C 11C1;B8CA;1105 116C 11C1;
+B8CB;B8CB;1105 116C 11C2;B8CB;1105 116C 11C2;
+B8CC;B8CC;1105 116D;B8CC;1105 116D;
+B8CD;B8CD;1105 116D 11A8;B8CD;1105 116D 11A8;
+B8CE;B8CE;1105 116D 11A9;B8CE;1105 116D 11A9;
+B8CF;B8CF;1105 116D 11AA;B8CF;1105 116D 11AA;
+B8D0;B8D0;1105 116D 11AB;B8D0;1105 116D 11AB;
+B8D1;B8D1;1105 116D 11AC;B8D1;1105 116D 11AC;
+B8D2;B8D2;1105 116D 11AD;B8D2;1105 116D 11AD;
+B8D3;B8D3;1105 116D 11AE;B8D3;1105 116D 11AE;
+B8D4;B8D4;1105 116D 11AF;B8D4;1105 116D 11AF;
+B8D5;B8D5;1105 116D 11B0;B8D5;1105 116D 11B0;
+B8D6;B8D6;1105 116D 11B1;B8D6;1105 116D 11B1;
+B8D7;B8D7;1105 116D 11B2;B8D7;1105 116D 11B2;
+B8D8;B8D8;1105 116D 11B3;B8D8;1105 116D 11B3;
+B8D9;B8D9;1105 116D 11B4;B8D9;1105 116D 11B4;
+B8DA;B8DA;1105 116D 11B5;B8DA;1105 116D 11B5;
+B8DB;B8DB;1105 116D 11B6;B8DB;1105 116D 11B6;
+B8DC;B8DC;1105 116D 11B7;B8DC;1105 116D 11B7;
+B8DD;B8DD;1105 116D 11B8;B8DD;1105 116D 11B8;
+B8DE;B8DE;1105 116D 11B9;B8DE;1105 116D 11B9;
+B8DF;B8DF;1105 116D 11BA;B8DF;1105 116D 11BA;
+B8E0;B8E0;1105 116D 11BB;B8E0;1105 116D 11BB;
+B8E1;B8E1;1105 116D 11BC;B8E1;1105 116D 11BC;
+B8E2;B8E2;1105 116D 11BD;B8E2;1105 116D 11BD;
+B8E3;B8E3;1105 116D 11BE;B8E3;1105 116D 11BE;
+B8E4;B8E4;1105 116D 11BF;B8E4;1105 116D 11BF;
+B8E5;B8E5;1105 116D 11C0;B8E5;1105 116D 11C0;
+B8E6;B8E6;1105 116D 11C1;B8E6;1105 116D 11C1;
+B8E7;B8E7;1105 116D 11C2;B8E7;1105 116D 11C2;
+B8E8;B8E8;1105 116E;B8E8;1105 116E;
+B8E9;B8E9;1105 116E 11A8;B8E9;1105 116E 11A8;
+B8EA;B8EA;1105 116E 11A9;B8EA;1105 116E 11A9;
+B8EB;B8EB;1105 116E 11AA;B8EB;1105 116E 11AA;
+B8EC;B8EC;1105 116E 11AB;B8EC;1105 116E 11AB;
+B8ED;B8ED;1105 116E 11AC;B8ED;1105 116E 11AC;
+B8EE;B8EE;1105 116E 11AD;B8EE;1105 116E 11AD;
+B8EF;B8EF;1105 116E 11AE;B8EF;1105 116E 11AE;
+B8F0;B8F0;1105 116E 11AF;B8F0;1105 116E 11AF;
+B8F1;B8F1;1105 116E 11B0;B8F1;1105 116E 11B0;
+B8F2;B8F2;1105 116E 11B1;B8F2;1105 116E 11B1;
+B8F3;B8F3;1105 116E 11B2;B8F3;1105 116E 11B2;
+B8F4;B8F4;1105 116E 11B3;B8F4;1105 116E 11B3;
+B8F5;B8F5;1105 116E 11B4;B8F5;1105 116E 11B4;
+B8F6;B8F6;1105 116E 11B5;B8F6;1105 116E 11B5;
+B8F7;B8F7;1105 116E 11B6;B8F7;1105 116E 11B6;
+B8F8;B8F8;1105 116E 11B7;B8F8;1105 116E 11B7;
+B8F9;B8F9;1105 116E 11B8;B8F9;1105 116E 11B8;
+B8FA;B8FA;1105 116E 11B9;B8FA;1105 116E 11B9;
+B8FB;B8FB;1105 116E 11BA;B8FB;1105 116E 11BA;
+B8FC;B8FC;1105 116E 11BB;B8FC;1105 116E 11BB;
+B8FD;B8FD;1105 116E 11BC;B8FD;1105 116E 11BC;
+B8FE;B8FE;1105 116E 11BD;B8FE;1105 116E 11BD;
+B8FF;B8FF;1105 116E 11BE;B8FF;1105 116E 11BE;
+B900;B900;1105 116E 11BF;B900;1105 116E 11BF;
+B901;B901;1105 116E 11C0;B901;1105 116E 11C0;
+B902;B902;1105 116E 11C1;B902;1105 116E 11C1;
+B903;B903;1105 116E 11C2;B903;1105 116E 11C2;
+B904;B904;1105 116F;B904;1105 116F;
+B905;B905;1105 116F 11A8;B905;1105 116F 11A8;
+B906;B906;1105 116F 11A9;B906;1105 116F 11A9;
+B907;B907;1105 116F 11AA;B907;1105 116F 11AA;
+B908;B908;1105 116F 11AB;B908;1105 116F 11AB;
+B909;B909;1105 116F 11AC;B909;1105 116F 11AC;
+B90A;B90A;1105 116F 11AD;B90A;1105 116F 11AD;
+B90B;B90B;1105 116F 11AE;B90B;1105 116F 11AE;
+B90C;B90C;1105 116F 11AF;B90C;1105 116F 11AF;
+B90D;B90D;1105 116F 11B0;B90D;1105 116F 11B0;
+B90E;B90E;1105 116F 11B1;B90E;1105 116F 11B1;
+B90F;B90F;1105 116F 11B2;B90F;1105 116F 11B2;
+B910;B910;1105 116F 11B3;B910;1105 116F 11B3;
+B911;B911;1105 116F 11B4;B911;1105 116F 11B4;
+B912;B912;1105 116F 11B5;B912;1105 116F 11B5;
+B913;B913;1105 116F 11B6;B913;1105 116F 11B6;
+B914;B914;1105 116F 11B7;B914;1105 116F 11B7;
+B915;B915;1105 116F 11B8;B915;1105 116F 11B8;
+B916;B916;1105 116F 11B9;B916;1105 116F 11B9;
+B917;B917;1105 116F 11BA;B917;1105 116F 11BA;
+B918;B918;1105 116F 11BB;B918;1105 116F 11BB;
+B919;B919;1105 116F 11BC;B919;1105 116F 11BC;
+B91A;B91A;1105 116F 11BD;B91A;1105 116F 11BD;
+B91B;B91B;1105 116F 11BE;B91B;1105 116F 11BE;
+B91C;B91C;1105 116F 11BF;B91C;1105 116F 11BF;
+B91D;B91D;1105 116F 11C0;B91D;1105 116F 11C0;
+B91E;B91E;1105 116F 11C1;B91E;1105 116F 11C1;
+B91F;B91F;1105 116F 11C2;B91F;1105 116F 11C2;
+B920;B920;1105 1170;B920;1105 1170;
+B921;B921;1105 1170 11A8;B921;1105 1170 11A8;
+B922;B922;1105 1170 11A9;B922;1105 1170 11A9;
+B923;B923;1105 1170 11AA;B923;1105 1170 11AA;
+B924;B924;1105 1170 11AB;B924;1105 1170 11AB;
+B925;B925;1105 1170 11AC;B925;1105 1170 11AC;
+B926;B926;1105 1170 11AD;B926;1105 1170 11AD;
+B927;B927;1105 1170 11AE;B927;1105 1170 11AE;
+B928;B928;1105 1170 11AF;B928;1105 1170 11AF;
+B929;B929;1105 1170 11B0;B929;1105 1170 11B0;
+B92A;B92A;1105 1170 11B1;B92A;1105 1170 11B1;
+B92B;B92B;1105 1170 11B2;B92B;1105 1170 11B2;
+B92C;B92C;1105 1170 11B3;B92C;1105 1170 11B3;
+B92D;B92D;1105 1170 11B4;B92D;1105 1170 11B4;
+B92E;B92E;1105 1170 11B5;B92E;1105 1170 11B5;
+B92F;B92F;1105 1170 11B6;B92F;1105 1170 11B6;
+B930;B930;1105 1170 11B7;B930;1105 1170 11B7;
+B931;B931;1105 1170 11B8;B931;1105 1170 11B8;
+B932;B932;1105 1170 11B9;B932;1105 1170 11B9;
+B933;B933;1105 1170 11BA;B933;1105 1170 11BA;
+B934;B934;1105 1170 11BB;B934;1105 1170 11BB;
+B935;B935;1105 1170 11BC;B935;1105 1170 11BC;
+B936;B936;1105 1170 11BD;B936;1105 1170 11BD;
+B937;B937;1105 1170 11BE;B937;1105 1170 11BE;
+B938;B938;1105 1170 11BF;B938;1105 1170 11BF;
+B939;B939;1105 1170 11C0;B939;1105 1170 11C0;
+B93A;B93A;1105 1170 11C1;B93A;1105 1170 11C1;
+B93B;B93B;1105 1170 11C2;B93B;1105 1170 11C2;
+B93C;B93C;1105 1171;B93C;1105 1171;
+B93D;B93D;1105 1171 11A8;B93D;1105 1171 11A8;
+B93E;B93E;1105 1171 11A9;B93E;1105 1171 11A9;
+B93F;B93F;1105 1171 11AA;B93F;1105 1171 11AA;
+B940;B940;1105 1171 11AB;B940;1105 1171 11AB;
+B941;B941;1105 1171 11AC;B941;1105 1171 11AC;
+B942;B942;1105 1171 11AD;B942;1105 1171 11AD;
+B943;B943;1105 1171 11AE;B943;1105 1171 11AE;
+B944;B944;1105 1171 11AF;B944;1105 1171 11AF;
+B945;B945;1105 1171 11B0;B945;1105 1171 11B0;
+B946;B946;1105 1171 11B1;B946;1105 1171 11B1;
+B947;B947;1105 1171 11B2;B947;1105 1171 11B2;
+B948;B948;1105 1171 11B3;B948;1105 1171 11B3;
+B949;B949;1105 1171 11B4;B949;1105 1171 11B4;
+B94A;B94A;1105 1171 11B5;B94A;1105 1171 11B5;
+B94B;B94B;1105 1171 11B6;B94B;1105 1171 11B6;
+B94C;B94C;1105 1171 11B7;B94C;1105 1171 11B7;
+B94D;B94D;1105 1171 11B8;B94D;1105 1171 11B8;
+B94E;B94E;1105 1171 11B9;B94E;1105 1171 11B9;
+B94F;B94F;1105 1171 11BA;B94F;1105 1171 11BA;
+B950;B950;1105 1171 11BB;B950;1105 1171 11BB;
+B951;B951;1105 1171 11BC;B951;1105 1171 11BC;
+B952;B952;1105 1171 11BD;B952;1105 1171 11BD;
+B953;B953;1105 1171 11BE;B953;1105 1171 11BE;
+B954;B954;1105 1171 11BF;B954;1105 1171 11BF;
+B955;B955;1105 1171 11C0;B955;1105 1171 11C0;
+B956;B956;1105 1171 11C1;B956;1105 1171 11C1;
+B957;B957;1105 1171 11C2;B957;1105 1171 11C2;
+B958;B958;1105 1172;B958;1105 1172;
+B959;B959;1105 1172 11A8;B959;1105 1172 11A8;
+B95A;B95A;1105 1172 11A9;B95A;1105 1172 11A9;
+B95B;B95B;1105 1172 11AA;B95B;1105 1172 11AA;
+B95C;B95C;1105 1172 11AB;B95C;1105 1172 11AB;
+B95D;B95D;1105 1172 11AC;B95D;1105 1172 11AC;
+B95E;B95E;1105 1172 11AD;B95E;1105 1172 11AD;
+B95F;B95F;1105 1172 11AE;B95F;1105 1172 11AE;
+B960;B960;1105 1172 11AF;B960;1105 1172 11AF;
+B961;B961;1105 1172 11B0;B961;1105 1172 11B0;
+B962;B962;1105 1172 11B1;B962;1105 1172 11B1;
+B963;B963;1105 1172 11B2;B963;1105 1172 11B2;
+B964;B964;1105 1172 11B3;B964;1105 1172 11B3;
+B965;B965;1105 1172 11B4;B965;1105 1172 11B4;
+B966;B966;1105 1172 11B5;B966;1105 1172 11B5;
+B967;B967;1105 1172 11B6;B967;1105 1172 11B6;
+B968;B968;1105 1172 11B7;B968;1105 1172 11B7;
+B969;B969;1105 1172 11B8;B969;1105 1172 11B8;
+B96A;B96A;1105 1172 11B9;B96A;1105 1172 11B9;
+B96B;B96B;1105 1172 11BA;B96B;1105 1172 11BA;
+B96C;B96C;1105 1172 11BB;B96C;1105 1172 11BB;
+B96D;B96D;1105 1172 11BC;B96D;1105 1172 11BC;
+B96E;B96E;1105 1172 11BD;B96E;1105 1172 11BD;
+B96F;B96F;1105 1172 11BE;B96F;1105 1172 11BE;
+B970;B970;1105 1172 11BF;B970;1105 1172 11BF;
+B971;B971;1105 1172 11C0;B971;1105 1172 11C0;
+B972;B972;1105 1172 11C1;B972;1105 1172 11C1;
+B973;B973;1105 1172 11C2;B973;1105 1172 11C2;
+B974;B974;1105 1173;B974;1105 1173;
+B975;B975;1105 1173 11A8;B975;1105 1173 11A8;
+B976;B976;1105 1173 11A9;B976;1105 1173 11A9;
+B977;B977;1105 1173 11AA;B977;1105 1173 11AA;
+B978;B978;1105 1173 11AB;B978;1105 1173 11AB;
+B979;B979;1105 1173 11AC;B979;1105 1173 11AC;
+B97A;B97A;1105 1173 11AD;B97A;1105 1173 11AD;
+B97B;B97B;1105 1173 11AE;B97B;1105 1173 11AE;
+B97C;B97C;1105 1173 11AF;B97C;1105 1173 11AF;
+B97D;B97D;1105 1173 11B0;B97D;1105 1173 11B0;
+B97E;B97E;1105 1173 11B1;B97E;1105 1173 11B1;
+B97F;B97F;1105 1173 11B2;B97F;1105 1173 11B2;
+B980;B980;1105 1173 11B3;B980;1105 1173 11B3;
+B981;B981;1105 1173 11B4;B981;1105 1173 11B4;
+B982;B982;1105 1173 11B5;B982;1105 1173 11B5;
+B983;B983;1105 1173 11B6;B983;1105 1173 11B6;
+B984;B984;1105 1173 11B7;B984;1105 1173 11B7;
+B985;B985;1105 1173 11B8;B985;1105 1173 11B8;
+B986;B986;1105 1173 11B9;B986;1105 1173 11B9;
+B987;B987;1105 1173 11BA;B987;1105 1173 11BA;
+B988;B988;1105 1173 11BB;B988;1105 1173 11BB;
+B989;B989;1105 1173 11BC;B989;1105 1173 11BC;
+B98A;B98A;1105 1173 11BD;B98A;1105 1173 11BD;
+B98B;B98B;1105 1173 11BE;B98B;1105 1173 11BE;
+B98C;B98C;1105 1173 11BF;B98C;1105 1173 11BF;
+B98D;B98D;1105 1173 11C0;B98D;1105 1173 11C0;
+B98E;B98E;1105 1173 11C1;B98E;1105 1173 11C1;
+B98F;B98F;1105 1173 11C2;B98F;1105 1173 11C2;
+B990;B990;1105 1174;B990;1105 1174;
+B991;B991;1105 1174 11A8;B991;1105 1174 11A8;
+B992;B992;1105 1174 11A9;B992;1105 1174 11A9;
+B993;B993;1105 1174 11AA;B993;1105 1174 11AA;
+B994;B994;1105 1174 11AB;B994;1105 1174 11AB;
+B995;B995;1105 1174 11AC;B995;1105 1174 11AC;
+B996;B996;1105 1174 11AD;B996;1105 1174 11AD;
+B997;B997;1105 1174 11AE;B997;1105 1174 11AE;
+B998;B998;1105 1174 11AF;B998;1105 1174 11AF;
+B999;B999;1105 1174 11B0;B999;1105 1174 11B0;
+B99A;B99A;1105 1174 11B1;B99A;1105 1174 11B1;
+B99B;B99B;1105 1174 11B2;B99B;1105 1174 11B2;
+B99C;B99C;1105 1174 11B3;B99C;1105 1174 11B3;
+B99D;B99D;1105 1174 11B4;B99D;1105 1174 11B4;
+B99E;B99E;1105 1174 11B5;B99E;1105 1174 11B5;
+B99F;B99F;1105 1174 11B6;B99F;1105 1174 11B6;
+B9A0;B9A0;1105 1174 11B7;B9A0;1105 1174 11B7;
+B9A1;B9A1;1105 1174 11B8;B9A1;1105 1174 11B8;
+B9A2;B9A2;1105 1174 11B9;B9A2;1105 1174 11B9;
+B9A3;B9A3;1105 1174 11BA;B9A3;1105 1174 11BA;
+B9A4;B9A4;1105 1174 11BB;B9A4;1105 1174 11BB;
+B9A5;B9A5;1105 1174 11BC;B9A5;1105 1174 11BC;
+B9A6;B9A6;1105 1174 11BD;B9A6;1105 1174 11BD;
+B9A7;B9A7;1105 1174 11BE;B9A7;1105 1174 11BE;
+B9A8;B9A8;1105 1174 11BF;B9A8;1105 1174 11BF;
+B9A9;B9A9;1105 1174 11C0;B9A9;1105 1174 11C0;
+B9AA;B9AA;1105 1174 11C1;B9AA;1105 1174 11C1;
+B9AB;B9AB;1105 1174 11C2;B9AB;1105 1174 11C2;
+B9AC;B9AC;1105 1175;B9AC;1105 1175;
+B9AD;B9AD;1105 1175 11A8;B9AD;1105 1175 11A8;
+B9AE;B9AE;1105 1175 11A9;B9AE;1105 1175 11A9;
+B9AF;B9AF;1105 1175 11AA;B9AF;1105 1175 11AA;
+B9B0;B9B0;1105 1175 11AB;B9B0;1105 1175 11AB;
+B9B1;B9B1;1105 1175 11AC;B9B1;1105 1175 11AC;
+B9B2;B9B2;1105 1175 11AD;B9B2;1105 1175 11AD;
+B9B3;B9B3;1105 1175 11AE;B9B3;1105 1175 11AE;
+B9B4;B9B4;1105 1175 11AF;B9B4;1105 1175 11AF;
+B9B5;B9B5;1105 1175 11B0;B9B5;1105 1175 11B0;
+B9B6;B9B6;1105 1175 11B1;B9B6;1105 1175 11B1;
+B9B7;B9B7;1105 1175 11B2;B9B7;1105 1175 11B2;
+B9B8;B9B8;1105 1175 11B3;B9B8;1105 1175 11B3;
+B9B9;B9B9;1105 1175 11B4;B9B9;1105 1175 11B4;
+B9BA;B9BA;1105 1175 11B5;B9BA;1105 1175 11B5;
+B9BB;B9BB;1105 1175 11B6;B9BB;1105 1175 11B6;
+B9BC;B9BC;1105 1175 11B7;B9BC;1105 1175 11B7;
+B9BD;B9BD;1105 1175 11B8;B9BD;1105 1175 11B8;
+B9BE;B9BE;1105 1175 11B9;B9BE;1105 1175 11B9;
+B9BF;B9BF;1105 1175 11BA;B9BF;1105 1175 11BA;
+B9C0;B9C0;1105 1175 11BB;B9C0;1105 1175 11BB;
+B9C1;B9C1;1105 1175 11BC;B9C1;1105 1175 11BC;
+B9C2;B9C2;1105 1175 11BD;B9C2;1105 1175 11BD;
+B9C3;B9C3;1105 1175 11BE;B9C3;1105 1175 11BE;
+B9C4;B9C4;1105 1175 11BF;B9C4;1105 1175 11BF;
+B9C5;B9C5;1105 1175 11C0;B9C5;1105 1175 11C0;
+B9C6;B9C6;1105 1175 11C1;B9C6;1105 1175 11C1;
+B9C7;B9C7;1105 1175 11C2;B9C7;1105 1175 11C2;
+B9C8;B9C8;1106 1161;B9C8;1106 1161;
+B9C9;B9C9;1106 1161 11A8;B9C9;1106 1161 11A8;
+B9CA;B9CA;1106 1161 11A9;B9CA;1106 1161 11A9;
+B9CB;B9CB;1106 1161 11AA;B9CB;1106 1161 11AA;
+B9CC;B9CC;1106 1161 11AB;B9CC;1106 1161 11AB;
+B9CD;B9CD;1106 1161 11AC;B9CD;1106 1161 11AC;
+B9CE;B9CE;1106 1161 11AD;B9CE;1106 1161 11AD;
+B9CF;B9CF;1106 1161 11AE;B9CF;1106 1161 11AE;
+B9D0;B9D0;1106 1161 11AF;B9D0;1106 1161 11AF;
+B9D1;B9D1;1106 1161 11B0;B9D1;1106 1161 11B0;
+B9D2;B9D2;1106 1161 11B1;B9D2;1106 1161 11B1;
+B9D3;B9D3;1106 1161 11B2;B9D3;1106 1161 11B2;
+B9D4;B9D4;1106 1161 11B3;B9D4;1106 1161 11B3;
+B9D5;B9D5;1106 1161 11B4;B9D5;1106 1161 11B4;
+B9D6;B9D6;1106 1161 11B5;B9D6;1106 1161 11B5;
+B9D7;B9D7;1106 1161 11B6;B9D7;1106 1161 11B6;
+B9D8;B9D8;1106 1161 11B7;B9D8;1106 1161 11B7;
+B9D9;B9D9;1106 1161 11B8;B9D9;1106 1161 11B8;
+B9DA;B9DA;1106 1161 11B9;B9DA;1106 1161 11B9;
+B9DB;B9DB;1106 1161 11BA;B9DB;1106 1161 11BA;
+B9DC;B9DC;1106 1161 11BB;B9DC;1106 1161 11BB;
+B9DD;B9DD;1106 1161 11BC;B9DD;1106 1161 11BC;
+B9DE;B9DE;1106 1161 11BD;B9DE;1106 1161 11BD;
+B9DF;B9DF;1106 1161 11BE;B9DF;1106 1161 11BE;
+B9E0;B9E0;1106 1161 11BF;B9E0;1106 1161 11BF;
+B9E1;B9E1;1106 1161 11C0;B9E1;1106 1161 11C0;
+B9E2;B9E2;1106 1161 11C1;B9E2;1106 1161 11C1;
+B9E3;B9E3;1106 1161 11C2;B9E3;1106 1161 11C2;
+B9E4;B9E4;1106 1162;B9E4;1106 1162;
+B9E5;B9E5;1106 1162 11A8;B9E5;1106 1162 11A8;
+B9E6;B9E6;1106 1162 11A9;B9E6;1106 1162 11A9;
+B9E7;B9E7;1106 1162 11AA;B9E7;1106 1162 11AA;
+B9E8;B9E8;1106 1162 11AB;B9E8;1106 1162 11AB;
+B9E9;B9E9;1106 1162 11AC;B9E9;1106 1162 11AC;
+B9EA;B9EA;1106 1162 11AD;B9EA;1106 1162 11AD;
+B9EB;B9EB;1106 1162 11AE;B9EB;1106 1162 11AE;
+B9EC;B9EC;1106 1162 11AF;B9EC;1106 1162 11AF;
+B9ED;B9ED;1106 1162 11B0;B9ED;1106 1162 11B0;
+B9EE;B9EE;1106 1162 11B1;B9EE;1106 1162 11B1;
+B9EF;B9EF;1106 1162 11B2;B9EF;1106 1162 11B2;
+B9F0;B9F0;1106 1162 11B3;B9F0;1106 1162 11B3;
+B9F1;B9F1;1106 1162 11B4;B9F1;1106 1162 11B4;
+B9F2;B9F2;1106 1162 11B5;B9F2;1106 1162 11B5;
+B9F3;B9F3;1106 1162 11B6;B9F3;1106 1162 11B6;
+B9F4;B9F4;1106 1162 11B7;B9F4;1106 1162 11B7;
+B9F5;B9F5;1106 1162 11B8;B9F5;1106 1162 11B8;
+B9F6;B9F6;1106 1162 11B9;B9F6;1106 1162 11B9;
+B9F7;B9F7;1106 1162 11BA;B9F7;1106 1162 11BA;
+B9F8;B9F8;1106 1162 11BB;B9F8;1106 1162 11BB;
+B9F9;B9F9;1106 1162 11BC;B9F9;1106 1162 11BC;
+B9FA;B9FA;1106 1162 11BD;B9FA;1106 1162 11BD;
+B9FB;B9FB;1106 1162 11BE;B9FB;1106 1162 11BE;
+B9FC;B9FC;1106 1162 11BF;B9FC;1106 1162 11BF;
+B9FD;B9FD;1106 1162 11C0;B9FD;1106 1162 11C0;
+B9FE;B9FE;1106 1162 11C1;B9FE;1106 1162 11C1;
+B9FF;B9FF;1106 1162 11C2;B9FF;1106 1162 11C2;
+BA00;BA00;1106 1163;BA00;1106 1163;
+BA01;BA01;1106 1163 11A8;BA01;1106 1163 11A8;
+BA02;BA02;1106 1163 11A9;BA02;1106 1163 11A9;
+BA03;BA03;1106 1163 11AA;BA03;1106 1163 11AA;
+BA04;BA04;1106 1163 11AB;BA04;1106 1163 11AB;
+BA05;BA05;1106 1163 11AC;BA05;1106 1163 11AC;
+BA06;BA06;1106 1163 11AD;BA06;1106 1163 11AD;
+BA07;BA07;1106 1163 11AE;BA07;1106 1163 11AE;
+BA08;BA08;1106 1163 11AF;BA08;1106 1163 11AF;
+BA09;BA09;1106 1163 11B0;BA09;1106 1163 11B0;
+BA0A;BA0A;1106 1163 11B1;BA0A;1106 1163 11B1;
+BA0B;BA0B;1106 1163 11B2;BA0B;1106 1163 11B2;
+BA0C;BA0C;1106 1163 11B3;BA0C;1106 1163 11B3;
+BA0D;BA0D;1106 1163 11B4;BA0D;1106 1163 11B4;
+BA0E;BA0E;1106 1163 11B5;BA0E;1106 1163 11B5;
+BA0F;BA0F;1106 1163 11B6;BA0F;1106 1163 11B6;
+BA10;BA10;1106 1163 11B7;BA10;1106 1163 11B7;
+BA11;BA11;1106 1163 11B8;BA11;1106 1163 11B8;
+BA12;BA12;1106 1163 11B9;BA12;1106 1163 11B9;
+BA13;BA13;1106 1163 11BA;BA13;1106 1163 11BA;
+BA14;BA14;1106 1163 11BB;BA14;1106 1163 11BB;
+BA15;BA15;1106 1163 11BC;BA15;1106 1163 11BC;
+BA16;BA16;1106 1163 11BD;BA16;1106 1163 11BD;
+BA17;BA17;1106 1163 11BE;BA17;1106 1163 11BE;
+BA18;BA18;1106 1163 11BF;BA18;1106 1163 11BF;
+BA19;BA19;1106 1163 11C0;BA19;1106 1163 11C0;
+BA1A;BA1A;1106 1163 11C1;BA1A;1106 1163 11C1;
+BA1B;BA1B;1106 1163 11C2;BA1B;1106 1163 11C2;
+BA1C;BA1C;1106 1164;BA1C;1106 1164;
+BA1D;BA1D;1106 1164 11A8;BA1D;1106 1164 11A8;
+BA1E;BA1E;1106 1164 11A9;BA1E;1106 1164 11A9;
+BA1F;BA1F;1106 1164 11AA;BA1F;1106 1164 11AA;
+BA20;BA20;1106 1164 11AB;BA20;1106 1164 11AB;
+BA21;BA21;1106 1164 11AC;BA21;1106 1164 11AC;
+BA22;BA22;1106 1164 11AD;BA22;1106 1164 11AD;
+BA23;BA23;1106 1164 11AE;BA23;1106 1164 11AE;
+BA24;BA24;1106 1164 11AF;BA24;1106 1164 11AF;
+BA25;BA25;1106 1164 11B0;BA25;1106 1164 11B0;
+BA26;BA26;1106 1164 11B1;BA26;1106 1164 11B1;
+BA27;BA27;1106 1164 11B2;BA27;1106 1164 11B2;
+BA28;BA28;1106 1164 11B3;BA28;1106 1164 11B3;
+BA29;BA29;1106 1164 11B4;BA29;1106 1164 11B4;
+BA2A;BA2A;1106 1164 11B5;BA2A;1106 1164 11B5;
+BA2B;BA2B;1106 1164 11B6;BA2B;1106 1164 11B6;
+BA2C;BA2C;1106 1164 11B7;BA2C;1106 1164 11B7;
+BA2D;BA2D;1106 1164 11B8;BA2D;1106 1164 11B8;
+BA2E;BA2E;1106 1164 11B9;BA2E;1106 1164 11B9;
+BA2F;BA2F;1106 1164 11BA;BA2F;1106 1164 11BA;
+BA30;BA30;1106 1164 11BB;BA30;1106 1164 11BB;
+BA31;BA31;1106 1164 11BC;BA31;1106 1164 11BC;
+BA32;BA32;1106 1164 11BD;BA32;1106 1164 11BD;
+BA33;BA33;1106 1164 11BE;BA33;1106 1164 11BE;
+BA34;BA34;1106 1164 11BF;BA34;1106 1164 11BF;
+BA35;BA35;1106 1164 11C0;BA35;1106 1164 11C0;
+BA36;BA36;1106 1164 11C1;BA36;1106 1164 11C1;
+BA37;BA37;1106 1164 11C2;BA37;1106 1164 11C2;
+BA38;BA38;1106 1165;BA38;1106 1165;
+BA39;BA39;1106 1165 11A8;BA39;1106 1165 11A8;
+BA3A;BA3A;1106 1165 11A9;BA3A;1106 1165 11A9;
+BA3B;BA3B;1106 1165 11AA;BA3B;1106 1165 11AA;
+BA3C;BA3C;1106 1165 11AB;BA3C;1106 1165 11AB;
+BA3D;BA3D;1106 1165 11AC;BA3D;1106 1165 11AC;
+BA3E;BA3E;1106 1165 11AD;BA3E;1106 1165 11AD;
+BA3F;BA3F;1106 1165 11AE;BA3F;1106 1165 11AE;
+BA40;BA40;1106 1165 11AF;BA40;1106 1165 11AF;
+BA41;BA41;1106 1165 11B0;BA41;1106 1165 11B0;
+BA42;BA42;1106 1165 11B1;BA42;1106 1165 11B1;
+BA43;BA43;1106 1165 11B2;BA43;1106 1165 11B2;
+BA44;BA44;1106 1165 11B3;BA44;1106 1165 11B3;
+BA45;BA45;1106 1165 11B4;BA45;1106 1165 11B4;
+BA46;BA46;1106 1165 11B5;BA46;1106 1165 11B5;
+BA47;BA47;1106 1165 11B6;BA47;1106 1165 11B6;
+BA48;BA48;1106 1165 11B7;BA48;1106 1165 11B7;
+BA49;BA49;1106 1165 11B8;BA49;1106 1165 11B8;
+BA4A;BA4A;1106 1165 11B9;BA4A;1106 1165 11B9;
+BA4B;BA4B;1106 1165 11BA;BA4B;1106 1165 11BA;
+BA4C;BA4C;1106 1165 11BB;BA4C;1106 1165 11BB;
+BA4D;BA4D;1106 1165 11BC;BA4D;1106 1165 11BC;
+BA4E;BA4E;1106 1165 11BD;BA4E;1106 1165 11BD;
+BA4F;BA4F;1106 1165 11BE;BA4F;1106 1165 11BE;
+BA50;BA50;1106 1165 11BF;BA50;1106 1165 11BF;
+BA51;BA51;1106 1165 11C0;BA51;1106 1165 11C0;
+BA52;BA52;1106 1165 11C1;BA52;1106 1165 11C1;
+BA53;BA53;1106 1165 11C2;BA53;1106 1165 11C2;
+BA54;BA54;1106 1166;BA54;1106 1166;
+BA55;BA55;1106 1166 11A8;BA55;1106 1166 11A8;
+BA56;BA56;1106 1166 11A9;BA56;1106 1166 11A9;
+BA57;BA57;1106 1166 11AA;BA57;1106 1166 11AA;
+BA58;BA58;1106 1166 11AB;BA58;1106 1166 11AB;
+BA59;BA59;1106 1166 11AC;BA59;1106 1166 11AC;
+BA5A;BA5A;1106 1166 11AD;BA5A;1106 1166 11AD;
+BA5B;BA5B;1106 1166 11AE;BA5B;1106 1166 11AE;
+BA5C;BA5C;1106 1166 11AF;BA5C;1106 1166 11AF;
+BA5D;BA5D;1106 1166 11B0;BA5D;1106 1166 11B0;
+BA5E;BA5E;1106 1166 11B1;BA5E;1106 1166 11B1;
+BA5F;BA5F;1106 1166 11B2;BA5F;1106 1166 11B2;
+BA60;BA60;1106 1166 11B3;BA60;1106 1166 11B3;
+BA61;BA61;1106 1166 11B4;BA61;1106 1166 11B4;
+BA62;BA62;1106 1166 11B5;BA62;1106 1166 11B5;
+BA63;BA63;1106 1166 11B6;BA63;1106 1166 11B6;
+BA64;BA64;1106 1166 11B7;BA64;1106 1166 11B7;
+BA65;BA65;1106 1166 11B8;BA65;1106 1166 11B8;
+BA66;BA66;1106 1166 11B9;BA66;1106 1166 11B9;
+BA67;BA67;1106 1166 11BA;BA67;1106 1166 11BA;
+BA68;BA68;1106 1166 11BB;BA68;1106 1166 11BB;
+BA69;BA69;1106 1166 11BC;BA69;1106 1166 11BC;
+BA6A;BA6A;1106 1166 11BD;BA6A;1106 1166 11BD;
+BA6B;BA6B;1106 1166 11BE;BA6B;1106 1166 11BE;
+BA6C;BA6C;1106 1166 11BF;BA6C;1106 1166 11BF;
+BA6D;BA6D;1106 1166 11C0;BA6D;1106 1166 11C0;
+BA6E;BA6E;1106 1166 11C1;BA6E;1106 1166 11C1;
+BA6F;BA6F;1106 1166 11C2;BA6F;1106 1166 11C2;
+BA70;BA70;1106 1167;BA70;1106 1167;
+BA71;BA71;1106 1167 11A8;BA71;1106 1167 11A8;
+BA72;BA72;1106 1167 11A9;BA72;1106 1167 11A9;
+BA73;BA73;1106 1167 11AA;BA73;1106 1167 11AA;
+BA74;BA74;1106 1167 11AB;BA74;1106 1167 11AB;
+BA75;BA75;1106 1167 11AC;BA75;1106 1167 11AC;
+BA76;BA76;1106 1167 11AD;BA76;1106 1167 11AD;
+BA77;BA77;1106 1167 11AE;BA77;1106 1167 11AE;
+BA78;BA78;1106 1167 11AF;BA78;1106 1167 11AF;
+BA79;BA79;1106 1167 11B0;BA79;1106 1167 11B0;
+BA7A;BA7A;1106 1167 11B1;BA7A;1106 1167 11B1;
+BA7B;BA7B;1106 1167 11B2;BA7B;1106 1167 11B2;
+BA7C;BA7C;1106 1167 11B3;BA7C;1106 1167 11B3;
+BA7D;BA7D;1106 1167 11B4;BA7D;1106 1167 11B4;
+BA7E;BA7E;1106 1167 11B5;BA7E;1106 1167 11B5;
+BA7F;BA7F;1106 1167 11B6;BA7F;1106 1167 11B6;
+BA80;BA80;1106 1167 11B7;BA80;1106 1167 11B7;
+BA81;BA81;1106 1167 11B8;BA81;1106 1167 11B8;
+BA82;BA82;1106 1167 11B9;BA82;1106 1167 11B9;
+BA83;BA83;1106 1167 11BA;BA83;1106 1167 11BA;
+BA84;BA84;1106 1167 11BB;BA84;1106 1167 11BB;
+BA85;BA85;1106 1167 11BC;BA85;1106 1167 11BC;
+BA86;BA86;1106 1167 11BD;BA86;1106 1167 11BD;
+BA87;BA87;1106 1167 11BE;BA87;1106 1167 11BE;
+BA88;BA88;1106 1167 11BF;BA88;1106 1167 11BF;
+BA89;BA89;1106 1167 11C0;BA89;1106 1167 11C0;
+BA8A;BA8A;1106 1167 11C1;BA8A;1106 1167 11C1;
+BA8B;BA8B;1106 1167 11C2;BA8B;1106 1167 11C2;
+BA8C;BA8C;1106 1168;BA8C;1106 1168;
+BA8D;BA8D;1106 1168 11A8;BA8D;1106 1168 11A8;
+BA8E;BA8E;1106 1168 11A9;BA8E;1106 1168 11A9;
+BA8F;BA8F;1106 1168 11AA;BA8F;1106 1168 11AA;
+BA90;BA90;1106 1168 11AB;BA90;1106 1168 11AB;
+BA91;BA91;1106 1168 11AC;BA91;1106 1168 11AC;
+BA92;BA92;1106 1168 11AD;BA92;1106 1168 11AD;
+BA93;BA93;1106 1168 11AE;BA93;1106 1168 11AE;
+BA94;BA94;1106 1168 11AF;BA94;1106 1168 11AF;
+BA95;BA95;1106 1168 11B0;BA95;1106 1168 11B0;
+BA96;BA96;1106 1168 11B1;BA96;1106 1168 11B1;
+BA97;BA97;1106 1168 11B2;BA97;1106 1168 11B2;
+BA98;BA98;1106 1168 11B3;BA98;1106 1168 11B3;
+BA99;BA99;1106 1168 11B4;BA99;1106 1168 11B4;
+BA9A;BA9A;1106 1168 11B5;BA9A;1106 1168 11B5;
+BA9B;BA9B;1106 1168 11B6;BA9B;1106 1168 11B6;
+BA9C;BA9C;1106 1168 11B7;BA9C;1106 1168 11B7;
+BA9D;BA9D;1106 1168 11B8;BA9D;1106 1168 11B8;
+BA9E;BA9E;1106 1168 11B9;BA9E;1106 1168 11B9;
+BA9F;BA9F;1106 1168 11BA;BA9F;1106 1168 11BA;
+BAA0;BAA0;1106 1168 11BB;BAA0;1106 1168 11BB;
+BAA1;BAA1;1106 1168 11BC;BAA1;1106 1168 11BC;
+BAA2;BAA2;1106 1168 11BD;BAA2;1106 1168 11BD;
+BAA3;BAA3;1106 1168 11BE;BAA3;1106 1168 11BE;
+BAA4;BAA4;1106 1168 11BF;BAA4;1106 1168 11BF;
+BAA5;BAA5;1106 1168 11C0;BAA5;1106 1168 11C0;
+BAA6;BAA6;1106 1168 11C1;BAA6;1106 1168 11C1;
+BAA7;BAA7;1106 1168 11C2;BAA7;1106 1168 11C2;
+BAA8;BAA8;1106 1169;BAA8;1106 1169;
+BAA9;BAA9;1106 1169 11A8;BAA9;1106 1169 11A8;
+BAAA;BAAA;1106 1169 11A9;BAAA;1106 1169 11A9;
+BAAB;BAAB;1106 1169 11AA;BAAB;1106 1169 11AA;
+BAAC;BAAC;1106 1169 11AB;BAAC;1106 1169 11AB;
+BAAD;BAAD;1106 1169 11AC;BAAD;1106 1169 11AC;
+BAAE;BAAE;1106 1169 11AD;BAAE;1106 1169 11AD;
+BAAF;BAAF;1106 1169 11AE;BAAF;1106 1169 11AE;
+BAB0;BAB0;1106 1169 11AF;BAB0;1106 1169 11AF;
+BAB1;BAB1;1106 1169 11B0;BAB1;1106 1169 11B0;
+BAB2;BAB2;1106 1169 11B1;BAB2;1106 1169 11B1;
+BAB3;BAB3;1106 1169 11B2;BAB3;1106 1169 11B2;
+BAB4;BAB4;1106 1169 11B3;BAB4;1106 1169 11B3;
+BAB5;BAB5;1106 1169 11B4;BAB5;1106 1169 11B4;
+BAB6;BAB6;1106 1169 11B5;BAB6;1106 1169 11B5;
+BAB7;BAB7;1106 1169 11B6;BAB7;1106 1169 11B6;
+BAB8;BAB8;1106 1169 11B7;BAB8;1106 1169 11B7;
+BAB9;BAB9;1106 1169 11B8;BAB9;1106 1169 11B8;
+BABA;BABA;1106 1169 11B9;BABA;1106 1169 11B9;
+BABB;BABB;1106 1169 11BA;BABB;1106 1169 11BA;
+BABC;BABC;1106 1169 11BB;BABC;1106 1169 11BB;
+BABD;BABD;1106 1169 11BC;BABD;1106 1169 11BC;
+BABE;BABE;1106 1169 11BD;BABE;1106 1169 11BD;
+BABF;BABF;1106 1169 11BE;BABF;1106 1169 11BE;
+BAC0;BAC0;1106 1169 11BF;BAC0;1106 1169 11BF;
+BAC1;BAC1;1106 1169 11C0;BAC1;1106 1169 11C0;
+BAC2;BAC2;1106 1169 11C1;BAC2;1106 1169 11C1;
+BAC3;BAC3;1106 1169 11C2;BAC3;1106 1169 11C2;
+BAC4;BAC4;1106 116A;BAC4;1106 116A;
+BAC5;BAC5;1106 116A 11A8;BAC5;1106 116A 11A8;
+BAC6;BAC6;1106 116A 11A9;BAC6;1106 116A 11A9;
+BAC7;BAC7;1106 116A 11AA;BAC7;1106 116A 11AA;
+BAC8;BAC8;1106 116A 11AB;BAC8;1106 116A 11AB;
+BAC9;BAC9;1106 116A 11AC;BAC9;1106 116A 11AC;
+BACA;BACA;1106 116A 11AD;BACA;1106 116A 11AD;
+BACB;BACB;1106 116A 11AE;BACB;1106 116A 11AE;
+BACC;BACC;1106 116A 11AF;BACC;1106 116A 11AF;
+BACD;BACD;1106 116A 11B0;BACD;1106 116A 11B0;
+BACE;BACE;1106 116A 11B1;BACE;1106 116A 11B1;
+BACF;BACF;1106 116A 11B2;BACF;1106 116A 11B2;
+BAD0;BAD0;1106 116A 11B3;BAD0;1106 116A 11B3;
+BAD1;BAD1;1106 116A 11B4;BAD1;1106 116A 11B4;
+BAD2;BAD2;1106 116A 11B5;BAD2;1106 116A 11B5;
+BAD3;BAD3;1106 116A 11B6;BAD3;1106 116A 11B6;
+BAD4;BAD4;1106 116A 11B7;BAD4;1106 116A 11B7;
+BAD5;BAD5;1106 116A 11B8;BAD5;1106 116A 11B8;
+BAD6;BAD6;1106 116A 11B9;BAD6;1106 116A 11B9;
+BAD7;BAD7;1106 116A 11BA;BAD7;1106 116A 11BA;
+BAD8;BAD8;1106 116A 11BB;BAD8;1106 116A 11BB;
+BAD9;BAD9;1106 116A 11BC;BAD9;1106 116A 11BC;
+BADA;BADA;1106 116A 11BD;BADA;1106 116A 11BD;
+BADB;BADB;1106 116A 11BE;BADB;1106 116A 11BE;
+BADC;BADC;1106 116A 11BF;BADC;1106 116A 11BF;
+BADD;BADD;1106 116A 11C0;BADD;1106 116A 11C0;
+BADE;BADE;1106 116A 11C1;BADE;1106 116A 11C1;
+BADF;BADF;1106 116A 11C2;BADF;1106 116A 11C2;
+BAE0;BAE0;1106 116B;BAE0;1106 116B;
+BAE1;BAE1;1106 116B 11A8;BAE1;1106 116B 11A8;
+BAE2;BAE2;1106 116B 11A9;BAE2;1106 116B 11A9;
+BAE3;BAE3;1106 116B 11AA;BAE3;1106 116B 11AA;
+BAE4;BAE4;1106 116B 11AB;BAE4;1106 116B 11AB;
+BAE5;BAE5;1106 116B 11AC;BAE5;1106 116B 11AC;
+BAE6;BAE6;1106 116B 11AD;BAE6;1106 116B 11AD;
+BAE7;BAE7;1106 116B 11AE;BAE7;1106 116B 11AE;
+BAE8;BAE8;1106 116B 11AF;BAE8;1106 116B 11AF;
+BAE9;BAE9;1106 116B 11B0;BAE9;1106 116B 11B0;
+BAEA;BAEA;1106 116B 11B1;BAEA;1106 116B 11B1;
+BAEB;BAEB;1106 116B 11B2;BAEB;1106 116B 11B2;
+BAEC;BAEC;1106 116B 11B3;BAEC;1106 116B 11B3;
+BAED;BAED;1106 116B 11B4;BAED;1106 116B 11B4;
+BAEE;BAEE;1106 116B 11B5;BAEE;1106 116B 11B5;
+BAEF;BAEF;1106 116B 11B6;BAEF;1106 116B 11B6;
+BAF0;BAF0;1106 116B 11B7;BAF0;1106 116B 11B7;
+BAF1;BAF1;1106 116B 11B8;BAF1;1106 116B 11B8;
+BAF2;BAF2;1106 116B 11B9;BAF2;1106 116B 11B9;
+BAF3;BAF3;1106 116B 11BA;BAF3;1106 116B 11BA;
+BAF4;BAF4;1106 116B 11BB;BAF4;1106 116B 11BB;
+BAF5;BAF5;1106 116B 11BC;BAF5;1106 116B 11BC;
+BAF6;BAF6;1106 116B 11BD;BAF6;1106 116B 11BD;
+BAF7;BAF7;1106 116B 11BE;BAF7;1106 116B 11BE;
+BAF8;BAF8;1106 116B 11BF;BAF8;1106 116B 11BF;
+BAF9;BAF9;1106 116B 11C0;BAF9;1106 116B 11C0;
+BAFA;BAFA;1106 116B 11C1;BAFA;1106 116B 11C1;
+BAFB;BAFB;1106 116B 11C2;BAFB;1106 116B 11C2;
+BAFC;BAFC;1106 116C;BAFC;1106 116C;
+BAFD;BAFD;1106 116C 11A8;BAFD;1106 116C 11A8;
+BAFE;BAFE;1106 116C 11A9;BAFE;1106 116C 11A9;
+BAFF;BAFF;1106 116C 11AA;BAFF;1106 116C 11AA;
+BB00;BB00;1106 116C 11AB;BB00;1106 116C 11AB;
+BB01;BB01;1106 116C 11AC;BB01;1106 116C 11AC;
+BB02;BB02;1106 116C 11AD;BB02;1106 116C 11AD;
+BB03;BB03;1106 116C 11AE;BB03;1106 116C 11AE;
+BB04;BB04;1106 116C 11AF;BB04;1106 116C 11AF;
+BB05;BB05;1106 116C 11B0;BB05;1106 116C 11B0;
+BB06;BB06;1106 116C 11B1;BB06;1106 116C 11B1;
+BB07;BB07;1106 116C 11B2;BB07;1106 116C 11B2;
+BB08;BB08;1106 116C 11B3;BB08;1106 116C 11B3;
+BB09;BB09;1106 116C 11B4;BB09;1106 116C 11B4;
+BB0A;BB0A;1106 116C 11B5;BB0A;1106 116C 11B5;
+BB0B;BB0B;1106 116C 11B6;BB0B;1106 116C 11B6;
+BB0C;BB0C;1106 116C 11B7;BB0C;1106 116C 11B7;
+BB0D;BB0D;1106 116C 11B8;BB0D;1106 116C 11B8;
+BB0E;BB0E;1106 116C 11B9;BB0E;1106 116C 11B9;
+BB0F;BB0F;1106 116C 11BA;BB0F;1106 116C 11BA;
+BB10;BB10;1106 116C 11BB;BB10;1106 116C 11BB;
+BB11;BB11;1106 116C 11BC;BB11;1106 116C 11BC;
+BB12;BB12;1106 116C 11BD;BB12;1106 116C 11BD;
+BB13;BB13;1106 116C 11BE;BB13;1106 116C 11BE;
+BB14;BB14;1106 116C 11BF;BB14;1106 116C 11BF;
+BB15;BB15;1106 116C 11C0;BB15;1106 116C 11C0;
+BB16;BB16;1106 116C 11C1;BB16;1106 116C 11C1;
+BB17;BB17;1106 116C 11C2;BB17;1106 116C 11C2;
+BB18;BB18;1106 116D;BB18;1106 116D;
+BB19;BB19;1106 116D 11A8;BB19;1106 116D 11A8;
+BB1A;BB1A;1106 116D 11A9;BB1A;1106 116D 11A9;
+BB1B;BB1B;1106 116D 11AA;BB1B;1106 116D 11AA;
+BB1C;BB1C;1106 116D 11AB;BB1C;1106 116D 11AB;
+BB1D;BB1D;1106 116D 11AC;BB1D;1106 116D 11AC;
+BB1E;BB1E;1106 116D 11AD;BB1E;1106 116D 11AD;
+BB1F;BB1F;1106 116D 11AE;BB1F;1106 116D 11AE;
+BB20;BB20;1106 116D 11AF;BB20;1106 116D 11AF;
+BB21;BB21;1106 116D 11B0;BB21;1106 116D 11B0;
+BB22;BB22;1106 116D 11B1;BB22;1106 116D 11B1;
+BB23;BB23;1106 116D 11B2;BB23;1106 116D 11B2;
+BB24;BB24;1106 116D 11B3;BB24;1106 116D 11B3;
+BB25;BB25;1106 116D 11B4;BB25;1106 116D 11B4;
+BB26;BB26;1106 116D 11B5;BB26;1106 116D 11B5;
+BB27;BB27;1106 116D 11B6;BB27;1106 116D 11B6;
+BB28;BB28;1106 116D 11B7;BB28;1106 116D 11B7;
+BB29;BB29;1106 116D 11B8;BB29;1106 116D 11B8;
+BB2A;BB2A;1106 116D 11B9;BB2A;1106 116D 11B9;
+BB2B;BB2B;1106 116D 11BA;BB2B;1106 116D 11BA;
+BB2C;BB2C;1106 116D 11BB;BB2C;1106 116D 11BB;
+BB2D;BB2D;1106 116D 11BC;BB2D;1106 116D 11BC;
+BB2E;BB2E;1106 116D 11BD;BB2E;1106 116D 11BD;
+BB2F;BB2F;1106 116D 11BE;BB2F;1106 116D 11BE;
+BB30;BB30;1106 116D 11BF;BB30;1106 116D 11BF;
+BB31;BB31;1106 116D 11C0;BB31;1106 116D 11C0;
+BB32;BB32;1106 116D 11C1;BB32;1106 116D 11C1;
+BB33;BB33;1106 116D 11C2;BB33;1106 116D 11C2;
+BB34;BB34;1106 116E;BB34;1106 116E;
+BB35;BB35;1106 116E 11A8;BB35;1106 116E 11A8;
+BB36;BB36;1106 116E 11A9;BB36;1106 116E 11A9;
+BB37;BB37;1106 116E 11AA;BB37;1106 116E 11AA;
+BB38;BB38;1106 116E 11AB;BB38;1106 116E 11AB;
+BB39;BB39;1106 116E 11AC;BB39;1106 116E 11AC;
+BB3A;BB3A;1106 116E 11AD;BB3A;1106 116E 11AD;
+BB3B;BB3B;1106 116E 11AE;BB3B;1106 116E 11AE;
+BB3C;BB3C;1106 116E 11AF;BB3C;1106 116E 11AF;
+BB3D;BB3D;1106 116E 11B0;BB3D;1106 116E 11B0;
+BB3E;BB3E;1106 116E 11B1;BB3E;1106 116E 11B1;
+BB3F;BB3F;1106 116E 11B2;BB3F;1106 116E 11B2;
+BB40;BB40;1106 116E 11B3;BB40;1106 116E 11B3;
+BB41;BB41;1106 116E 11B4;BB41;1106 116E 11B4;
+BB42;BB42;1106 116E 11B5;BB42;1106 116E 11B5;
+BB43;BB43;1106 116E 11B6;BB43;1106 116E 11B6;
+BB44;BB44;1106 116E 11B7;BB44;1106 116E 11B7;
+BB45;BB45;1106 116E 11B8;BB45;1106 116E 11B8;
+BB46;BB46;1106 116E 11B9;BB46;1106 116E 11B9;
+BB47;BB47;1106 116E 11BA;BB47;1106 116E 11BA;
+BB48;BB48;1106 116E 11BB;BB48;1106 116E 11BB;
+BB49;BB49;1106 116E 11BC;BB49;1106 116E 11BC;
+BB4A;BB4A;1106 116E 11BD;BB4A;1106 116E 11BD;
+BB4B;BB4B;1106 116E 11BE;BB4B;1106 116E 11BE;
+BB4C;BB4C;1106 116E 11BF;BB4C;1106 116E 11BF;
+BB4D;BB4D;1106 116E 11C0;BB4D;1106 116E 11C0;
+BB4E;BB4E;1106 116E 11C1;BB4E;1106 116E 11C1;
+BB4F;BB4F;1106 116E 11C2;BB4F;1106 116E 11C2;
+BB50;BB50;1106 116F;BB50;1106 116F;
+BB51;BB51;1106 116F 11A8;BB51;1106 116F 11A8;
+BB52;BB52;1106 116F 11A9;BB52;1106 116F 11A9;
+BB53;BB53;1106 116F 11AA;BB53;1106 116F 11AA;
+BB54;BB54;1106 116F 11AB;BB54;1106 116F 11AB;
+BB55;BB55;1106 116F 11AC;BB55;1106 116F 11AC;
+BB56;BB56;1106 116F 11AD;BB56;1106 116F 11AD;
+BB57;BB57;1106 116F 11AE;BB57;1106 116F 11AE;
+BB58;BB58;1106 116F 11AF;BB58;1106 116F 11AF;
+BB59;BB59;1106 116F 11B0;BB59;1106 116F 11B0;
+BB5A;BB5A;1106 116F 11B1;BB5A;1106 116F 11B1;
+BB5B;BB5B;1106 116F 11B2;BB5B;1106 116F 11B2;
+BB5C;BB5C;1106 116F 11B3;BB5C;1106 116F 11B3;
+BB5D;BB5D;1106 116F 11B4;BB5D;1106 116F 11B4;
+BB5E;BB5E;1106 116F 11B5;BB5E;1106 116F 11B5;
+BB5F;BB5F;1106 116F 11B6;BB5F;1106 116F 11B6;
+BB60;BB60;1106 116F 11B7;BB60;1106 116F 11B7;
+BB61;BB61;1106 116F 11B8;BB61;1106 116F 11B8;
+BB62;BB62;1106 116F 11B9;BB62;1106 116F 11B9;
+BB63;BB63;1106 116F 11BA;BB63;1106 116F 11BA;
+BB64;BB64;1106 116F 11BB;BB64;1106 116F 11BB;
+BB65;BB65;1106 116F 11BC;BB65;1106 116F 11BC;
+BB66;BB66;1106 116F 11BD;BB66;1106 116F 11BD;
+BB67;BB67;1106 116F 11BE;BB67;1106 116F 11BE;
+BB68;BB68;1106 116F 11BF;BB68;1106 116F 11BF;
+BB69;BB69;1106 116F 11C0;BB69;1106 116F 11C0;
+BB6A;BB6A;1106 116F 11C1;BB6A;1106 116F 11C1;
+BB6B;BB6B;1106 116F 11C2;BB6B;1106 116F 11C2;
+BB6C;BB6C;1106 1170;BB6C;1106 1170;
+BB6D;BB6D;1106 1170 11A8;BB6D;1106 1170 11A8;
+BB6E;BB6E;1106 1170 11A9;BB6E;1106 1170 11A9;
+BB6F;BB6F;1106 1170 11AA;BB6F;1106 1170 11AA;
+BB70;BB70;1106 1170 11AB;BB70;1106 1170 11AB;
+BB71;BB71;1106 1170 11AC;BB71;1106 1170 11AC;
+BB72;BB72;1106 1170 11AD;BB72;1106 1170 11AD;
+BB73;BB73;1106 1170 11AE;BB73;1106 1170 11AE;
+BB74;BB74;1106 1170 11AF;BB74;1106 1170 11AF;
+BB75;BB75;1106 1170 11B0;BB75;1106 1170 11B0;
+BB76;BB76;1106 1170 11B1;BB76;1106 1170 11B1;
+BB77;BB77;1106 1170 11B2;BB77;1106 1170 11B2;
+BB78;BB78;1106 1170 11B3;BB78;1106 1170 11B3;
+BB79;BB79;1106 1170 11B4;BB79;1106 1170 11B4;
+BB7A;BB7A;1106 1170 11B5;BB7A;1106 1170 11B5;
+BB7B;BB7B;1106 1170 11B6;BB7B;1106 1170 11B6;
+BB7C;BB7C;1106 1170 11B7;BB7C;1106 1170 11B7;
+BB7D;BB7D;1106 1170 11B8;BB7D;1106 1170 11B8;
+BB7E;BB7E;1106 1170 11B9;BB7E;1106 1170 11B9;
+BB7F;BB7F;1106 1170 11BA;BB7F;1106 1170 11BA;
+BB80;BB80;1106 1170 11BB;BB80;1106 1170 11BB;
+BB81;BB81;1106 1170 11BC;BB81;1106 1170 11BC;
+BB82;BB82;1106 1170 11BD;BB82;1106 1170 11BD;
+BB83;BB83;1106 1170 11BE;BB83;1106 1170 11BE;
+BB84;BB84;1106 1170 11BF;BB84;1106 1170 11BF;
+BB85;BB85;1106 1170 11C0;BB85;1106 1170 11C0;
+BB86;BB86;1106 1170 11C1;BB86;1106 1170 11C1;
+BB87;BB87;1106 1170 11C2;BB87;1106 1170 11C2;
+BB88;BB88;1106 1171;BB88;1106 1171;
+BB89;BB89;1106 1171 11A8;BB89;1106 1171 11A8;
+BB8A;BB8A;1106 1171 11A9;BB8A;1106 1171 11A9;
+BB8B;BB8B;1106 1171 11AA;BB8B;1106 1171 11AA;
+BB8C;BB8C;1106 1171 11AB;BB8C;1106 1171 11AB;
+BB8D;BB8D;1106 1171 11AC;BB8D;1106 1171 11AC;
+BB8E;BB8E;1106 1171 11AD;BB8E;1106 1171 11AD;
+BB8F;BB8F;1106 1171 11AE;BB8F;1106 1171 11AE;
+BB90;BB90;1106 1171 11AF;BB90;1106 1171 11AF;
+BB91;BB91;1106 1171 11B0;BB91;1106 1171 11B0;
+BB92;BB92;1106 1171 11B1;BB92;1106 1171 11B1;
+BB93;BB93;1106 1171 11B2;BB93;1106 1171 11B2;
+BB94;BB94;1106 1171 11B3;BB94;1106 1171 11B3;
+BB95;BB95;1106 1171 11B4;BB95;1106 1171 11B4;
+BB96;BB96;1106 1171 11B5;BB96;1106 1171 11B5;
+BB97;BB97;1106 1171 11B6;BB97;1106 1171 11B6;
+BB98;BB98;1106 1171 11B7;BB98;1106 1171 11B7;
+BB99;BB99;1106 1171 11B8;BB99;1106 1171 11B8;
+BB9A;BB9A;1106 1171 11B9;BB9A;1106 1171 11B9;
+BB9B;BB9B;1106 1171 11BA;BB9B;1106 1171 11BA;
+BB9C;BB9C;1106 1171 11BB;BB9C;1106 1171 11BB;
+BB9D;BB9D;1106 1171 11BC;BB9D;1106 1171 11BC;
+BB9E;BB9E;1106 1171 11BD;BB9E;1106 1171 11BD;
+BB9F;BB9F;1106 1171 11BE;BB9F;1106 1171 11BE;
+BBA0;BBA0;1106 1171 11BF;BBA0;1106 1171 11BF;
+BBA1;BBA1;1106 1171 11C0;BBA1;1106 1171 11C0;
+BBA2;BBA2;1106 1171 11C1;BBA2;1106 1171 11C1;
+BBA3;BBA3;1106 1171 11C2;BBA3;1106 1171 11C2;
+BBA4;BBA4;1106 1172;BBA4;1106 1172;
+BBA5;BBA5;1106 1172 11A8;BBA5;1106 1172 11A8;
+BBA6;BBA6;1106 1172 11A9;BBA6;1106 1172 11A9;
+BBA7;BBA7;1106 1172 11AA;BBA7;1106 1172 11AA;
+BBA8;BBA8;1106 1172 11AB;BBA8;1106 1172 11AB;
+BBA9;BBA9;1106 1172 11AC;BBA9;1106 1172 11AC;
+BBAA;BBAA;1106 1172 11AD;BBAA;1106 1172 11AD;
+BBAB;BBAB;1106 1172 11AE;BBAB;1106 1172 11AE;
+BBAC;BBAC;1106 1172 11AF;BBAC;1106 1172 11AF;
+BBAD;BBAD;1106 1172 11B0;BBAD;1106 1172 11B0;
+BBAE;BBAE;1106 1172 11B1;BBAE;1106 1172 11B1;
+BBAF;BBAF;1106 1172 11B2;BBAF;1106 1172 11B2;
+BBB0;BBB0;1106 1172 11B3;BBB0;1106 1172 11B3;
+BBB1;BBB1;1106 1172 11B4;BBB1;1106 1172 11B4;
+BBB2;BBB2;1106 1172 11B5;BBB2;1106 1172 11B5;
+BBB3;BBB3;1106 1172 11B6;BBB3;1106 1172 11B6;
+BBB4;BBB4;1106 1172 11B7;BBB4;1106 1172 11B7;
+BBB5;BBB5;1106 1172 11B8;BBB5;1106 1172 11B8;
+BBB6;BBB6;1106 1172 11B9;BBB6;1106 1172 11B9;
+BBB7;BBB7;1106 1172 11BA;BBB7;1106 1172 11BA;
+BBB8;BBB8;1106 1172 11BB;BBB8;1106 1172 11BB;
+BBB9;BBB9;1106 1172 11BC;BBB9;1106 1172 11BC;
+BBBA;BBBA;1106 1172 11BD;BBBA;1106 1172 11BD;
+BBBB;BBBB;1106 1172 11BE;BBBB;1106 1172 11BE;
+BBBC;BBBC;1106 1172 11BF;BBBC;1106 1172 11BF;
+BBBD;BBBD;1106 1172 11C0;BBBD;1106 1172 11C0;
+BBBE;BBBE;1106 1172 11C1;BBBE;1106 1172 11C1;
+BBBF;BBBF;1106 1172 11C2;BBBF;1106 1172 11C2;
+BBC0;BBC0;1106 1173;BBC0;1106 1173;
+BBC1;BBC1;1106 1173 11A8;BBC1;1106 1173 11A8;
+BBC2;BBC2;1106 1173 11A9;BBC2;1106 1173 11A9;
+BBC3;BBC3;1106 1173 11AA;BBC3;1106 1173 11AA;
+BBC4;BBC4;1106 1173 11AB;BBC4;1106 1173 11AB;
+BBC5;BBC5;1106 1173 11AC;BBC5;1106 1173 11AC;
+BBC6;BBC6;1106 1173 11AD;BBC6;1106 1173 11AD;
+BBC7;BBC7;1106 1173 11AE;BBC7;1106 1173 11AE;
+BBC8;BBC8;1106 1173 11AF;BBC8;1106 1173 11AF;
+BBC9;BBC9;1106 1173 11B0;BBC9;1106 1173 11B0;
+BBCA;BBCA;1106 1173 11B1;BBCA;1106 1173 11B1;
+BBCB;BBCB;1106 1173 11B2;BBCB;1106 1173 11B2;
+BBCC;BBCC;1106 1173 11B3;BBCC;1106 1173 11B3;
+BBCD;BBCD;1106 1173 11B4;BBCD;1106 1173 11B4;
+BBCE;BBCE;1106 1173 11B5;BBCE;1106 1173 11B5;
+BBCF;BBCF;1106 1173 11B6;BBCF;1106 1173 11B6;
+BBD0;BBD0;1106 1173 11B7;BBD0;1106 1173 11B7;
+BBD1;BBD1;1106 1173 11B8;BBD1;1106 1173 11B8;
+BBD2;BBD2;1106 1173 11B9;BBD2;1106 1173 11B9;
+BBD3;BBD3;1106 1173 11BA;BBD3;1106 1173 11BA;
+BBD4;BBD4;1106 1173 11BB;BBD4;1106 1173 11BB;
+BBD5;BBD5;1106 1173 11BC;BBD5;1106 1173 11BC;
+BBD6;BBD6;1106 1173 11BD;BBD6;1106 1173 11BD;
+BBD7;BBD7;1106 1173 11BE;BBD7;1106 1173 11BE;
+BBD8;BBD8;1106 1173 11BF;BBD8;1106 1173 11BF;
+BBD9;BBD9;1106 1173 11C0;BBD9;1106 1173 11C0;
+BBDA;BBDA;1106 1173 11C1;BBDA;1106 1173 11C1;
+BBDB;BBDB;1106 1173 11C2;BBDB;1106 1173 11C2;
+BBDC;BBDC;1106 1174;BBDC;1106 1174;
+BBDD;BBDD;1106 1174 11A8;BBDD;1106 1174 11A8;
+BBDE;BBDE;1106 1174 11A9;BBDE;1106 1174 11A9;
+BBDF;BBDF;1106 1174 11AA;BBDF;1106 1174 11AA;
+BBE0;BBE0;1106 1174 11AB;BBE0;1106 1174 11AB;
+BBE1;BBE1;1106 1174 11AC;BBE1;1106 1174 11AC;
+BBE2;BBE2;1106 1174 11AD;BBE2;1106 1174 11AD;
+BBE3;BBE3;1106 1174 11AE;BBE3;1106 1174 11AE;
+BBE4;BBE4;1106 1174 11AF;BBE4;1106 1174 11AF;
+BBE5;BBE5;1106 1174 11B0;BBE5;1106 1174 11B0;
+BBE6;BBE6;1106 1174 11B1;BBE6;1106 1174 11B1;
+BBE7;BBE7;1106 1174 11B2;BBE7;1106 1174 11B2;
+BBE8;BBE8;1106 1174 11B3;BBE8;1106 1174 11B3;
+BBE9;BBE9;1106 1174 11B4;BBE9;1106 1174 11B4;
+BBEA;BBEA;1106 1174 11B5;BBEA;1106 1174 11B5;
+BBEB;BBEB;1106 1174 11B6;BBEB;1106 1174 11B6;
+BBEC;BBEC;1106 1174 11B7;BBEC;1106 1174 11B7;
+BBED;BBED;1106 1174 11B8;BBED;1106 1174 11B8;
+BBEE;BBEE;1106 1174 11B9;BBEE;1106 1174 11B9;
+BBEF;BBEF;1106 1174 11BA;BBEF;1106 1174 11BA;
+BBF0;BBF0;1106 1174 11BB;BBF0;1106 1174 11BB;
+BBF1;BBF1;1106 1174 11BC;BBF1;1106 1174 11BC;
+BBF2;BBF2;1106 1174 11BD;BBF2;1106 1174 11BD;
+BBF3;BBF3;1106 1174 11BE;BBF3;1106 1174 11BE;
+BBF4;BBF4;1106 1174 11BF;BBF4;1106 1174 11BF;
+BBF5;BBF5;1106 1174 11C0;BBF5;1106 1174 11C0;
+BBF6;BBF6;1106 1174 11C1;BBF6;1106 1174 11C1;
+BBF7;BBF7;1106 1174 11C2;BBF7;1106 1174 11C2;
+BBF8;BBF8;1106 1175;BBF8;1106 1175;
+BBF9;BBF9;1106 1175 11A8;BBF9;1106 1175 11A8;
+BBFA;BBFA;1106 1175 11A9;BBFA;1106 1175 11A9;
+BBFB;BBFB;1106 1175 11AA;BBFB;1106 1175 11AA;
+BBFC;BBFC;1106 1175 11AB;BBFC;1106 1175 11AB;
+BBFD;BBFD;1106 1175 11AC;BBFD;1106 1175 11AC;
+BBFE;BBFE;1106 1175 11AD;BBFE;1106 1175 11AD;
+BBFF;BBFF;1106 1175 11AE;BBFF;1106 1175 11AE;
+BC00;BC00;1106 1175 11AF;BC00;1106 1175 11AF;
+BC01;BC01;1106 1175 11B0;BC01;1106 1175 11B0;
+BC02;BC02;1106 1175 11B1;BC02;1106 1175 11B1;
+BC03;BC03;1106 1175 11B2;BC03;1106 1175 11B2;
+BC04;BC04;1106 1175 11B3;BC04;1106 1175 11B3;
+BC05;BC05;1106 1175 11B4;BC05;1106 1175 11B4;
+BC06;BC06;1106 1175 11B5;BC06;1106 1175 11B5;
+BC07;BC07;1106 1175 11B6;BC07;1106 1175 11B6;
+BC08;BC08;1106 1175 11B7;BC08;1106 1175 11B7;
+BC09;BC09;1106 1175 11B8;BC09;1106 1175 11B8;
+BC0A;BC0A;1106 1175 11B9;BC0A;1106 1175 11B9;
+BC0B;BC0B;1106 1175 11BA;BC0B;1106 1175 11BA;
+BC0C;BC0C;1106 1175 11BB;BC0C;1106 1175 11BB;
+BC0D;BC0D;1106 1175 11BC;BC0D;1106 1175 11BC;
+BC0E;BC0E;1106 1175 11BD;BC0E;1106 1175 11BD;
+BC0F;BC0F;1106 1175 11BE;BC0F;1106 1175 11BE;
+BC10;BC10;1106 1175 11BF;BC10;1106 1175 11BF;
+BC11;BC11;1106 1175 11C0;BC11;1106 1175 11C0;
+BC12;BC12;1106 1175 11C1;BC12;1106 1175 11C1;
+BC13;BC13;1106 1175 11C2;BC13;1106 1175 11C2;
+BC14;BC14;1107 1161;BC14;1107 1161;
+BC15;BC15;1107 1161 11A8;BC15;1107 1161 11A8;
+BC16;BC16;1107 1161 11A9;BC16;1107 1161 11A9;
+BC17;BC17;1107 1161 11AA;BC17;1107 1161 11AA;
+BC18;BC18;1107 1161 11AB;BC18;1107 1161 11AB;
+BC19;BC19;1107 1161 11AC;BC19;1107 1161 11AC;
+BC1A;BC1A;1107 1161 11AD;BC1A;1107 1161 11AD;
+BC1B;BC1B;1107 1161 11AE;BC1B;1107 1161 11AE;
+BC1C;BC1C;1107 1161 11AF;BC1C;1107 1161 11AF;
+BC1D;BC1D;1107 1161 11B0;BC1D;1107 1161 11B0;
+BC1E;BC1E;1107 1161 11B1;BC1E;1107 1161 11B1;
+BC1F;BC1F;1107 1161 11B2;BC1F;1107 1161 11B2;
+BC20;BC20;1107 1161 11B3;BC20;1107 1161 11B3;
+BC21;BC21;1107 1161 11B4;BC21;1107 1161 11B4;
+BC22;BC22;1107 1161 11B5;BC22;1107 1161 11B5;
+BC23;BC23;1107 1161 11B6;BC23;1107 1161 11B6;
+BC24;BC24;1107 1161 11B7;BC24;1107 1161 11B7;
+BC25;BC25;1107 1161 11B8;BC25;1107 1161 11B8;
+BC26;BC26;1107 1161 11B9;BC26;1107 1161 11B9;
+BC27;BC27;1107 1161 11BA;BC27;1107 1161 11BA;
+BC28;BC28;1107 1161 11BB;BC28;1107 1161 11BB;
+BC29;BC29;1107 1161 11BC;BC29;1107 1161 11BC;
+BC2A;BC2A;1107 1161 11BD;BC2A;1107 1161 11BD;
+BC2B;BC2B;1107 1161 11BE;BC2B;1107 1161 11BE;
+BC2C;BC2C;1107 1161 11BF;BC2C;1107 1161 11BF;
+BC2D;BC2D;1107 1161 11C0;BC2D;1107 1161 11C0;
+BC2E;BC2E;1107 1161 11C1;BC2E;1107 1161 11C1;
+BC2F;BC2F;1107 1161 11C2;BC2F;1107 1161 11C2;
+BC30;BC30;1107 1162;BC30;1107 1162;
+BC31;BC31;1107 1162 11A8;BC31;1107 1162 11A8;
+BC32;BC32;1107 1162 11A9;BC32;1107 1162 11A9;
+BC33;BC33;1107 1162 11AA;BC33;1107 1162 11AA;
+BC34;BC34;1107 1162 11AB;BC34;1107 1162 11AB;
+BC35;BC35;1107 1162 11AC;BC35;1107 1162 11AC;
+BC36;BC36;1107 1162 11AD;BC36;1107 1162 11AD;
+BC37;BC37;1107 1162 11AE;BC37;1107 1162 11AE;
+BC38;BC38;1107 1162 11AF;BC38;1107 1162 11AF;
+BC39;BC39;1107 1162 11B0;BC39;1107 1162 11B0;
+BC3A;BC3A;1107 1162 11B1;BC3A;1107 1162 11B1;
+BC3B;BC3B;1107 1162 11B2;BC3B;1107 1162 11B2;
+BC3C;BC3C;1107 1162 11B3;BC3C;1107 1162 11B3;
+BC3D;BC3D;1107 1162 11B4;BC3D;1107 1162 11B4;
+BC3E;BC3E;1107 1162 11B5;BC3E;1107 1162 11B5;
+BC3F;BC3F;1107 1162 11B6;BC3F;1107 1162 11B6;
+BC40;BC40;1107 1162 11B7;BC40;1107 1162 11B7;
+BC41;BC41;1107 1162 11B8;BC41;1107 1162 11B8;
+BC42;BC42;1107 1162 11B9;BC42;1107 1162 11B9;
+BC43;BC43;1107 1162 11BA;BC43;1107 1162 11BA;
+BC44;BC44;1107 1162 11BB;BC44;1107 1162 11BB;
+BC45;BC45;1107 1162 11BC;BC45;1107 1162 11BC;
+BC46;BC46;1107 1162 11BD;BC46;1107 1162 11BD;
+BC47;BC47;1107 1162 11BE;BC47;1107 1162 11BE;
+BC48;BC48;1107 1162 11BF;BC48;1107 1162 11BF;
+BC49;BC49;1107 1162 11C0;BC49;1107 1162 11C0;
+BC4A;BC4A;1107 1162 11C1;BC4A;1107 1162 11C1;
+BC4B;BC4B;1107 1162 11C2;BC4B;1107 1162 11C2;
+BC4C;BC4C;1107 1163;BC4C;1107 1163;
+BC4D;BC4D;1107 1163 11A8;BC4D;1107 1163 11A8;
+BC4E;BC4E;1107 1163 11A9;BC4E;1107 1163 11A9;
+BC4F;BC4F;1107 1163 11AA;BC4F;1107 1163 11AA;
+BC50;BC50;1107 1163 11AB;BC50;1107 1163 11AB;
+BC51;BC51;1107 1163 11AC;BC51;1107 1163 11AC;
+BC52;BC52;1107 1163 11AD;BC52;1107 1163 11AD;
+BC53;BC53;1107 1163 11AE;BC53;1107 1163 11AE;
+BC54;BC54;1107 1163 11AF;BC54;1107 1163 11AF;
+BC55;BC55;1107 1163 11B0;BC55;1107 1163 11B0;
+BC56;BC56;1107 1163 11B1;BC56;1107 1163 11B1;
+BC57;BC57;1107 1163 11B2;BC57;1107 1163 11B2;
+BC58;BC58;1107 1163 11B3;BC58;1107 1163 11B3;
+BC59;BC59;1107 1163 11B4;BC59;1107 1163 11B4;
+BC5A;BC5A;1107 1163 11B5;BC5A;1107 1163 11B5;
+BC5B;BC5B;1107 1163 11B6;BC5B;1107 1163 11B6;
+BC5C;BC5C;1107 1163 11B7;BC5C;1107 1163 11B7;
+BC5D;BC5D;1107 1163 11B8;BC5D;1107 1163 11B8;
+BC5E;BC5E;1107 1163 11B9;BC5E;1107 1163 11B9;
+BC5F;BC5F;1107 1163 11BA;BC5F;1107 1163 11BA;
+BC60;BC60;1107 1163 11BB;BC60;1107 1163 11BB;
+BC61;BC61;1107 1163 11BC;BC61;1107 1163 11BC;
+BC62;BC62;1107 1163 11BD;BC62;1107 1163 11BD;
+BC63;BC63;1107 1163 11BE;BC63;1107 1163 11BE;
+BC64;BC64;1107 1163 11BF;BC64;1107 1163 11BF;
+BC65;BC65;1107 1163 11C0;BC65;1107 1163 11C0;
+BC66;BC66;1107 1163 11C1;BC66;1107 1163 11C1;
+BC67;BC67;1107 1163 11C2;BC67;1107 1163 11C2;
+BC68;BC68;1107 1164;BC68;1107 1164;
+BC69;BC69;1107 1164 11A8;BC69;1107 1164 11A8;
+BC6A;BC6A;1107 1164 11A9;BC6A;1107 1164 11A9;
+BC6B;BC6B;1107 1164 11AA;BC6B;1107 1164 11AA;
+BC6C;BC6C;1107 1164 11AB;BC6C;1107 1164 11AB;
+BC6D;BC6D;1107 1164 11AC;BC6D;1107 1164 11AC;
+BC6E;BC6E;1107 1164 11AD;BC6E;1107 1164 11AD;
+BC6F;BC6F;1107 1164 11AE;BC6F;1107 1164 11AE;
+BC70;BC70;1107 1164 11AF;BC70;1107 1164 11AF;
+BC71;BC71;1107 1164 11B0;BC71;1107 1164 11B0;
+BC72;BC72;1107 1164 11B1;BC72;1107 1164 11B1;
+BC73;BC73;1107 1164 11B2;BC73;1107 1164 11B2;
+BC74;BC74;1107 1164 11B3;BC74;1107 1164 11B3;
+BC75;BC75;1107 1164 11B4;BC75;1107 1164 11B4;
+BC76;BC76;1107 1164 11B5;BC76;1107 1164 11B5;
+BC77;BC77;1107 1164 11B6;BC77;1107 1164 11B6;
+BC78;BC78;1107 1164 11B7;BC78;1107 1164 11B7;
+BC79;BC79;1107 1164 11B8;BC79;1107 1164 11B8;
+BC7A;BC7A;1107 1164 11B9;BC7A;1107 1164 11B9;
+BC7B;BC7B;1107 1164 11BA;BC7B;1107 1164 11BA;
+BC7C;BC7C;1107 1164 11BB;BC7C;1107 1164 11BB;
+BC7D;BC7D;1107 1164 11BC;BC7D;1107 1164 11BC;
+BC7E;BC7E;1107 1164 11BD;BC7E;1107 1164 11BD;
+BC7F;BC7F;1107 1164 11BE;BC7F;1107 1164 11BE;
+BC80;BC80;1107 1164 11BF;BC80;1107 1164 11BF;
+BC81;BC81;1107 1164 11C0;BC81;1107 1164 11C0;
+BC82;BC82;1107 1164 11C1;BC82;1107 1164 11C1;
+BC83;BC83;1107 1164 11C2;BC83;1107 1164 11C2;
+BC84;BC84;1107 1165;BC84;1107 1165;
+BC85;BC85;1107 1165 11A8;BC85;1107 1165 11A8;
+BC86;BC86;1107 1165 11A9;BC86;1107 1165 11A9;
+BC87;BC87;1107 1165 11AA;BC87;1107 1165 11AA;
+BC88;BC88;1107 1165 11AB;BC88;1107 1165 11AB;
+BC89;BC89;1107 1165 11AC;BC89;1107 1165 11AC;
+BC8A;BC8A;1107 1165 11AD;BC8A;1107 1165 11AD;
+BC8B;BC8B;1107 1165 11AE;BC8B;1107 1165 11AE;
+BC8C;BC8C;1107 1165 11AF;BC8C;1107 1165 11AF;
+BC8D;BC8D;1107 1165 11B0;BC8D;1107 1165 11B0;
+BC8E;BC8E;1107 1165 11B1;BC8E;1107 1165 11B1;
+BC8F;BC8F;1107 1165 11B2;BC8F;1107 1165 11B2;
+BC90;BC90;1107 1165 11B3;BC90;1107 1165 11B3;
+BC91;BC91;1107 1165 11B4;BC91;1107 1165 11B4;
+BC92;BC92;1107 1165 11B5;BC92;1107 1165 11B5;
+BC93;BC93;1107 1165 11B6;BC93;1107 1165 11B6;
+BC94;BC94;1107 1165 11B7;BC94;1107 1165 11B7;
+BC95;BC95;1107 1165 11B8;BC95;1107 1165 11B8;
+BC96;BC96;1107 1165 11B9;BC96;1107 1165 11B9;
+BC97;BC97;1107 1165 11BA;BC97;1107 1165 11BA;
+BC98;BC98;1107 1165 11BB;BC98;1107 1165 11BB;
+BC99;BC99;1107 1165 11BC;BC99;1107 1165 11BC;
+BC9A;BC9A;1107 1165 11BD;BC9A;1107 1165 11BD;
+BC9B;BC9B;1107 1165 11BE;BC9B;1107 1165 11BE;
+BC9C;BC9C;1107 1165 11BF;BC9C;1107 1165 11BF;
+BC9D;BC9D;1107 1165 11C0;BC9D;1107 1165 11C0;
+BC9E;BC9E;1107 1165 11C1;BC9E;1107 1165 11C1;
+BC9F;BC9F;1107 1165 11C2;BC9F;1107 1165 11C2;
+BCA0;BCA0;1107 1166;BCA0;1107 1166;
+BCA1;BCA1;1107 1166 11A8;BCA1;1107 1166 11A8;
+BCA2;BCA2;1107 1166 11A9;BCA2;1107 1166 11A9;
+BCA3;BCA3;1107 1166 11AA;BCA3;1107 1166 11AA;
+BCA4;BCA4;1107 1166 11AB;BCA4;1107 1166 11AB;
+BCA5;BCA5;1107 1166 11AC;BCA5;1107 1166 11AC;
+BCA6;BCA6;1107 1166 11AD;BCA6;1107 1166 11AD;
+BCA7;BCA7;1107 1166 11AE;BCA7;1107 1166 11AE;
+BCA8;BCA8;1107 1166 11AF;BCA8;1107 1166 11AF;
+BCA9;BCA9;1107 1166 11B0;BCA9;1107 1166 11B0;
+BCAA;BCAA;1107 1166 11B1;BCAA;1107 1166 11B1;
+BCAB;BCAB;1107 1166 11B2;BCAB;1107 1166 11B2;
+BCAC;BCAC;1107 1166 11B3;BCAC;1107 1166 11B3;
+BCAD;BCAD;1107 1166 11B4;BCAD;1107 1166 11B4;
+BCAE;BCAE;1107 1166 11B5;BCAE;1107 1166 11B5;
+BCAF;BCAF;1107 1166 11B6;BCAF;1107 1166 11B6;
+BCB0;BCB0;1107 1166 11B7;BCB0;1107 1166 11B7;
+BCB1;BCB1;1107 1166 11B8;BCB1;1107 1166 11B8;
+BCB2;BCB2;1107 1166 11B9;BCB2;1107 1166 11B9;
+BCB3;BCB3;1107 1166 11BA;BCB3;1107 1166 11BA;
+BCB4;BCB4;1107 1166 11BB;BCB4;1107 1166 11BB;
+BCB5;BCB5;1107 1166 11BC;BCB5;1107 1166 11BC;
+BCB6;BCB6;1107 1166 11BD;BCB6;1107 1166 11BD;
+BCB7;BCB7;1107 1166 11BE;BCB7;1107 1166 11BE;
+BCB8;BCB8;1107 1166 11BF;BCB8;1107 1166 11BF;
+BCB9;BCB9;1107 1166 11C0;BCB9;1107 1166 11C0;
+BCBA;BCBA;1107 1166 11C1;BCBA;1107 1166 11C1;
+BCBB;BCBB;1107 1166 11C2;BCBB;1107 1166 11C2;
+BCBC;BCBC;1107 1167;BCBC;1107 1167;
+BCBD;BCBD;1107 1167 11A8;BCBD;1107 1167 11A8;
+BCBE;BCBE;1107 1167 11A9;BCBE;1107 1167 11A9;
+BCBF;BCBF;1107 1167 11AA;BCBF;1107 1167 11AA;
+BCC0;BCC0;1107 1167 11AB;BCC0;1107 1167 11AB;
+BCC1;BCC1;1107 1167 11AC;BCC1;1107 1167 11AC;
+BCC2;BCC2;1107 1167 11AD;BCC2;1107 1167 11AD;
+BCC3;BCC3;1107 1167 11AE;BCC3;1107 1167 11AE;
+BCC4;BCC4;1107 1167 11AF;BCC4;1107 1167 11AF;
+BCC5;BCC5;1107 1167 11B0;BCC5;1107 1167 11B0;
+BCC6;BCC6;1107 1167 11B1;BCC6;1107 1167 11B1;
+BCC7;BCC7;1107 1167 11B2;BCC7;1107 1167 11B2;
+BCC8;BCC8;1107 1167 11B3;BCC8;1107 1167 11B3;
+BCC9;BCC9;1107 1167 11B4;BCC9;1107 1167 11B4;
+BCCA;BCCA;1107 1167 11B5;BCCA;1107 1167 11B5;
+BCCB;BCCB;1107 1167 11B6;BCCB;1107 1167 11B6;
+BCCC;BCCC;1107 1167 11B7;BCCC;1107 1167 11B7;
+BCCD;BCCD;1107 1167 11B8;BCCD;1107 1167 11B8;
+BCCE;BCCE;1107 1167 11B9;BCCE;1107 1167 11B9;
+BCCF;BCCF;1107 1167 11BA;BCCF;1107 1167 11BA;
+BCD0;BCD0;1107 1167 11BB;BCD0;1107 1167 11BB;
+BCD1;BCD1;1107 1167 11BC;BCD1;1107 1167 11BC;
+BCD2;BCD2;1107 1167 11BD;BCD2;1107 1167 11BD;
+BCD3;BCD3;1107 1167 11BE;BCD3;1107 1167 11BE;
+BCD4;BCD4;1107 1167 11BF;BCD4;1107 1167 11BF;
+BCD5;BCD5;1107 1167 11C0;BCD5;1107 1167 11C0;
+BCD6;BCD6;1107 1167 11C1;BCD6;1107 1167 11C1;
+BCD7;BCD7;1107 1167 11C2;BCD7;1107 1167 11C2;
+BCD8;BCD8;1107 1168;BCD8;1107 1168;
+BCD9;BCD9;1107 1168 11A8;BCD9;1107 1168 11A8;
+BCDA;BCDA;1107 1168 11A9;BCDA;1107 1168 11A9;
+BCDB;BCDB;1107 1168 11AA;BCDB;1107 1168 11AA;
+BCDC;BCDC;1107 1168 11AB;BCDC;1107 1168 11AB;
+BCDD;BCDD;1107 1168 11AC;BCDD;1107 1168 11AC;
+BCDE;BCDE;1107 1168 11AD;BCDE;1107 1168 11AD;
+BCDF;BCDF;1107 1168 11AE;BCDF;1107 1168 11AE;
+BCE0;BCE0;1107 1168 11AF;BCE0;1107 1168 11AF;
+BCE1;BCE1;1107 1168 11B0;BCE1;1107 1168 11B0;
+BCE2;BCE2;1107 1168 11B1;BCE2;1107 1168 11B1;
+BCE3;BCE3;1107 1168 11B2;BCE3;1107 1168 11B2;
+BCE4;BCE4;1107 1168 11B3;BCE4;1107 1168 11B3;
+BCE5;BCE5;1107 1168 11B4;BCE5;1107 1168 11B4;
+BCE6;BCE6;1107 1168 11B5;BCE6;1107 1168 11B5;
+BCE7;BCE7;1107 1168 11B6;BCE7;1107 1168 11B6;
+BCE8;BCE8;1107 1168 11B7;BCE8;1107 1168 11B7;
+BCE9;BCE9;1107 1168 11B8;BCE9;1107 1168 11B8;
+BCEA;BCEA;1107 1168 11B9;BCEA;1107 1168 11B9;
+BCEB;BCEB;1107 1168 11BA;BCEB;1107 1168 11BA;
+BCEC;BCEC;1107 1168 11BB;BCEC;1107 1168 11BB;
+BCED;BCED;1107 1168 11BC;BCED;1107 1168 11BC;
+BCEE;BCEE;1107 1168 11BD;BCEE;1107 1168 11BD;
+BCEF;BCEF;1107 1168 11BE;BCEF;1107 1168 11BE;
+BCF0;BCF0;1107 1168 11BF;BCF0;1107 1168 11BF;
+BCF1;BCF1;1107 1168 11C0;BCF1;1107 1168 11C0;
+BCF2;BCF2;1107 1168 11C1;BCF2;1107 1168 11C1;
+BCF3;BCF3;1107 1168 11C2;BCF3;1107 1168 11C2;
+BCF4;BCF4;1107 1169;BCF4;1107 1169;
+BCF5;BCF5;1107 1169 11A8;BCF5;1107 1169 11A8;
+BCF6;BCF6;1107 1169 11A9;BCF6;1107 1169 11A9;
+BCF7;BCF7;1107 1169 11AA;BCF7;1107 1169 11AA;
+BCF8;BCF8;1107 1169 11AB;BCF8;1107 1169 11AB;
+BCF9;BCF9;1107 1169 11AC;BCF9;1107 1169 11AC;
+BCFA;BCFA;1107 1169 11AD;BCFA;1107 1169 11AD;
+BCFB;BCFB;1107 1169 11AE;BCFB;1107 1169 11AE;
+BCFC;BCFC;1107 1169 11AF;BCFC;1107 1169 11AF;
+BCFD;BCFD;1107 1169 11B0;BCFD;1107 1169 11B0;
+BCFE;BCFE;1107 1169 11B1;BCFE;1107 1169 11B1;
+BCFF;BCFF;1107 1169 11B2;BCFF;1107 1169 11B2;
+BD00;BD00;1107 1169 11B3;BD00;1107 1169 11B3;
+BD01;BD01;1107 1169 11B4;BD01;1107 1169 11B4;
+BD02;BD02;1107 1169 11B5;BD02;1107 1169 11B5;
+BD03;BD03;1107 1169 11B6;BD03;1107 1169 11B6;
+BD04;BD04;1107 1169 11B7;BD04;1107 1169 11B7;
+BD05;BD05;1107 1169 11B8;BD05;1107 1169 11B8;
+BD06;BD06;1107 1169 11B9;BD06;1107 1169 11B9;
+BD07;BD07;1107 1169 11BA;BD07;1107 1169 11BA;
+BD08;BD08;1107 1169 11BB;BD08;1107 1169 11BB;
+BD09;BD09;1107 1169 11BC;BD09;1107 1169 11BC;
+BD0A;BD0A;1107 1169 11BD;BD0A;1107 1169 11BD;
+BD0B;BD0B;1107 1169 11BE;BD0B;1107 1169 11BE;
+BD0C;BD0C;1107 1169 11BF;BD0C;1107 1169 11BF;
+BD0D;BD0D;1107 1169 11C0;BD0D;1107 1169 11C0;
+BD0E;BD0E;1107 1169 11C1;BD0E;1107 1169 11C1;
+BD0F;BD0F;1107 1169 11C2;BD0F;1107 1169 11C2;
+BD10;BD10;1107 116A;BD10;1107 116A;
+BD11;BD11;1107 116A 11A8;BD11;1107 116A 11A8;
+BD12;BD12;1107 116A 11A9;BD12;1107 116A 11A9;
+BD13;BD13;1107 116A 11AA;BD13;1107 116A 11AA;
+BD14;BD14;1107 116A 11AB;BD14;1107 116A 11AB;
+BD15;BD15;1107 116A 11AC;BD15;1107 116A 11AC;
+BD16;BD16;1107 116A 11AD;BD16;1107 116A 11AD;
+BD17;BD17;1107 116A 11AE;BD17;1107 116A 11AE;
+BD18;BD18;1107 116A 11AF;BD18;1107 116A 11AF;
+BD19;BD19;1107 116A 11B0;BD19;1107 116A 11B0;
+BD1A;BD1A;1107 116A 11B1;BD1A;1107 116A 11B1;
+BD1B;BD1B;1107 116A 11B2;BD1B;1107 116A 11B2;
+BD1C;BD1C;1107 116A 11B3;BD1C;1107 116A 11B3;
+BD1D;BD1D;1107 116A 11B4;BD1D;1107 116A 11B4;
+BD1E;BD1E;1107 116A 11B5;BD1E;1107 116A 11B5;
+BD1F;BD1F;1107 116A 11B6;BD1F;1107 116A 11B6;
+BD20;BD20;1107 116A 11B7;BD20;1107 116A 11B7;
+BD21;BD21;1107 116A 11B8;BD21;1107 116A 11B8;
+BD22;BD22;1107 116A 11B9;BD22;1107 116A 11B9;
+BD23;BD23;1107 116A 11BA;BD23;1107 116A 11BA;
+BD24;BD24;1107 116A 11BB;BD24;1107 116A 11BB;
+BD25;BD25;1107 116A 11BC;BD25;1107 116A 11BC;
+BD26;BD26;1107 116A 11BD;BD26;1107 116A 11BD;
+BD27;BD27;1107 116A 11BE;BD27;1107 116A 11BE;
+BD28;BD28;1107 116A 11BF;BD28;1107 116A 11BF;
+BD29;BD29;1107 116A 11C0;BD29;1107 116A 11C0;
+BD2A;BD2A;1107 116A 11C1;BD2A;1107 116A 11C1;
+BD2B;BD2B;1107 116A 11C2;BD2B;1107 116A 11C2;
+BD2C;BD2C;1107 116B;BD2C;1107 116B;
+BD2D;BD2D;1107 116B 11A8;BD2D;1107 116B 11A8;
+BD2E;BD2E;1107 116B 11A9;BD2E;1107 116B 11A9;
+BD2F;BD2F;1107 116B 11AA;BD2F;1107 116B 11AA;
+BD30;BD30;1107 116B 11AB;BD30;1107 116B 11AB;
+BD31;BD31;1107 116B 11AC;BD31;1107 116B 11AC;
+BD32;BD32;1107 116B 11AD;BD32;1107 116B 11AD;
+BD33;BD33;1107 116B 11AE;BD33;1107 116B 11AE;
+BD34;BD34;1107 116B 11AF;BD34;1107 116B 11AF;
+BD35;BD35;1107 116B 11B0;BD35;1107 116B 11B0;
+BD36;BD36;1107 116B 11B1;BD36;1107 116B 11B1;
+BD37;BD37;1107 116B 11B2;BD37;1107 116B 11B2;
+BD38;BD38;1107 116B 11B3;BD38;1107 116B 11B3;
+BD39;BD39;1107 116B 11B4;BD39;1107 116B 11B4;
+BD3A;BD3A;1107 116B 11B5;BD3A;1107 116B 11B5;
+BD3B;BD3B;1107 116B 11B6;BD3B;1107 116B 11B6;
+BD3C;BD3C;1107 116B 11B7;BD3C;1107 116B 11B7;
+BD3D;BD3D;1107 116B 11B8;BD3D;1107 116B 11B8;
+BD3E;BD3E;1107 116B 11B9;BD3E;1107 116B 11B9;
+BD3F;BD3F;1107 116B 11BA;BD3F;1107 116B 11BA;
+BD40;BD40;1107 116B 11BB;BD40;1107 116B 11BB;
+BD41;BD41;1107 116B 11BC;BD41;1107 116B 11BC;
+BD42;BD42;1107 116B 11BD;BD42;1107 116B 11BD;
+BD43;BD43;1107 116B 11BE;BD43;1107 116B 11BE;
+BD44;BD44;1107 116B 11BF;BD44;1107 116B 11BF;
+BD45;BD45;1107 116B 11C0;BD45;1107 116B 11C0;
+BD46;BD46;1107 116B 11C1;BD46;1107 116B 11C1;
+BD47;BD47;1107 116B 11C2;BD47;1107 116B 11C2;
+BD48;BD48;1107 116C;BD48;1107 116C;
+BD49;BD49;1107 116C 11A8;BD49;1107 116C 11A8;
+BD4A;BD4A;1107 116C 11A9;BD4A;1107 116C 11A9;
+BD4B;BD4B;1107 116C 11AA;BD4B;1107 116C 11AA;
+BD4C;BD4C;1107 116C 11AB;BD4C;1107 116C 11AB;
+BD4D;BD4D;1107 116C 11AC;BD4D;1107 116C 11AC;
+BD4E;BD4E;1107 116C 11AD;BD4E;1107 116C 11AD;
+BD4F;BD4F;1107 116C 11AE;BD4F;1107 116C 11AE;
+BD50;BD50;1107 116C 11AF;BD50;1107 116C 11AF;
+BD51;BD51;1107 116C 11B0;BD51;1107 116C 11B0;
+BD52;BD52;1107 116C 11B1;BD52;1107 116C 11B1;
+BD53;BD53;1107 116C 11B2;BD53;1107 116C 11B2;
+BD54;BD54;1107 116C 11B3;BD54;1107 116C 11B3;
+BD55;BD55;1107 116C 11B4;BD55;1107 116C 11B4;
+BD56;BD56;1107 116C 11B5;BD56;1107 116C 11B5;
+BD57;BD57;1107 116C 11B6;BD57;1107 116C 11B6;
+BD58;BD58;1107 116C 11B7;BD58;1107 116C 11B7;
+BD59;BD59;1107 116C 11B8;BD59;1107 116C 11B8;
+BD5A;BD5A;1107 116C 11B9;BD5A;1107 116C 11B9;
+BD5B;BD5B;1107 116C 11BA;BD5B;1107 116C 11BA;
+BD5C;BD5C;1107 116C 11BB;BD5C;1107 116C 11BB;
+BD5D;BD5D;1107 116C 11BC;BD5D;1107 116C 11BC;
+BD5E;BD5E;1107 116C 11BD;BD5E;1107 116C 11BD;
+BD5F;BD5F;1107 116C 11BE;BD5F;1107 116C 11BE;
+BD60;BD60;1107 116C 11BF;BD60;1107 116C 11BF;
+BD61;BD61;1107 116C 11C0;BD61;1107 116C 11C0;
+BD62;BD62;1107 116C 11C1;BD62;1107 116C 11C1;
+BD63;BD63;1107 116C 11C2;BD63;1107 116C 11C2;
+BD64;BD64;1107 116D;BD64;1107 116D;
+BD65;BD65;1107 116D 11A8;BD65;1107 116D 11A8;
+BD66;BD66;1107 116D 11A9;BD66;1107 116D 11A9;
+BD67;BD67;1107 116D 11AA;BD67;1107 116D 11AA;
+BD68;BD68;1107 116D 11AB;BD68;1107 116D 11AB;
+BD69;BD69;1107 116D 11AC;BD69;1107 116D 11AC;
+BD6A;BD6A;1107 116D 11AD;BD6A;1107 116D 11AD;
+BD6B;BD6B;1107 116D 11AE;BD6B;1107 116D 11AE;
+BD6C;BD6C;1107 116D 11AF;BD6C;1107 116D 11AF;
+BD6D;BD6D;1107 116D 11B0;BD6D;1107 116D 11B0;
+BD6E;BD6E;1107 116D 11B1;BD6E;1107 116D 11B1;
+BD6F;BD6F;1107 116D 11B2;BD6F;1107 116D 11B2;
+BD70;BD70;1107 116D 11B3;BD70;1107 116D 11B3;
+BD71;BD71;1107 116D 11B4;BD71;1107 116D 11B4;
+BD72;BD72;1107 116D 11B5;BD72;1107 116D 11B5;
+BD73;BD73;1107 116D 11B6;BD73;1107 116D 11B6;
+BD74;BD74;1107 116D 11B7;BD74;1107 116D 11B7;
+BD75;BD75;1107 116D 11B8;BD75;1107 116D 11B8;
+BD76;BD76;1107 116D 11B9;BD76;1107 116D 11B9;
+BD77;BD77;1107 116D 11BA;BD77;1107 116D 11BA;
+BD78;BD78;1107 116D 11BB;BD78;1107 116D 11BB;
+BD79;BD79;1107 116D 11BC;BD79;1107 116D 11BC;
+BD7A;BD7A;1107 116D 11BD;BD7A;1107 116D 11BD;
+BD7B;BD7B;1107 116D 11BE;BD7B;1107 116D 11BE;
+BD7C;BD7C;1107 116D 11BF;BD7C;1107 116D 11BF;
+BD7D;BD7D;1107 116D 11C0;BD7D;1107 116D 11C0;
+BD7E;BD7E;1107 116D 11C1;BD7E;1107 116D 11C1;
+BD7F;BD7F;1107 116D 11C2;BD7F;1107 116D 11C2;
+BD80;BD80;1107 116E;BD80;1107 116E;
+BD81;BD81;1107 116E 11A8;BD81;1107 116E 11A8;
+BD82;BD82;1107 116E 11A9;BD82;1107 116E 11A9;
+BD83;BD83;1107 116E 11AA;BD83;1107 116E 11AA;
+BD84;BD84;1107 116E 11AB;BD84;1107 116E 11AB;
+BD85;BD85;1107 116E 11AC;BD85;1107 116E 11AC;
+BD86;BD86;1107 116E 11AD;BD86;1107 116E 11AD;
+BD87;BD87;1107 116E 11AE;BD87;1107 116E 11AE;
+BD88;BD88;1107 116E 11AF;BD88;1107 116E 11AF;
+BD89;BD89;1107 116E 11B0;BD89;1107 116E 11B0;
+BD8A;BD8A;1107 116E 11B1;BD8A;1107 116E 11B1;
+BD8B;BD8B;1107 116E 11B2;BD8B;1107 116E 11B2;
+BD8C;BD8C;1107 116E 11B3;BD8C;1107 116E 11B3;
+BD8D;BD8D;1107 116E 11B4;BD8D;1107 116E 11B4;
+BD8E;BD8E;1107 116E 11B5;BD8E;1107 116E 11B5;
+BD8F;BD8F;1107 116E 11B6;BD8F;1107 116E 11B6;
+BD90;BD90;1107 116E 11B7;BD90;1107 116E 11B7;
+BD91;BD91;1107 116E 11B8;BD91;1107 116E 11B8;
+BD92;BD92;1107 116E 11B9;BD92;1107 116E 11B9;
+BD93;BD93;1107 116E 11BA;BD93;1107 116E 11BA;
+BD94;BD94;1107 116E 11BB;BD94;1107 116E 11BB;
+BD95;BD95;1107 116E 11BC;BD95;1107 116E 11BC;
+BD96;BD96;1107 116E 11BD;BD96;1107 116E 11BD;
+BD97;BD97;1107 116E 11BE;BD97;1107 116E 11BE;
+BD98;BD98;1107 116E 11BF;BD98;1107 116E 11BF;
+BD99;BD99;1107 116E 11C0;BD99;1107 116E 11C0;
+BD9A;BD9A;1107 116E 11C1;BD9A;1107 116E 11C1;
+BD9B;BD9B;1107 116E 11C2;BD9B;1107 116E 11C2;
+BD9C;BD9C;1107 116F;BD9C;1107 116F;
+BD9D;BD9D;1107 116F 11A8;BD9D;1107 116F 11A8;
+BD9E;BD9E;1107 116F 11A9;BD9E;1107 116F 11A9;
+BD9F;BD9F;1107 116F 11AA;BD9F;1107 116F 11AA;
+BDA0;BDA0;1107 116F 11AB;BDA0;1107 116F 11AB;
+BDA1;BDA1;1107 116F 11AC;BDA1;1107 116F 11AC;
+BDA2;BDA2;1107 116F 11AD;BDA2;1107 116F 11AD;
+BDA3;BDA3;1107 116F 11AE;BDA3;1107 116F 11AE;
+BDA4;BDA4;1107 116F 11AF;BDA4;1107 116F 11AF;
+BDA5;BDA5;1107 116F 11B0;BDA5;1107 116F 11B0;
+BDA6;BDA6;1107 116F 11B1;BDA6;1107 116F 11B1;
+BDA7;BDA7;1107 116F 11B2;BDA7;1107 116F 11B2;
+BDA8;BDA8;1107 116F 11B3;BDA8;1107 116F 11B3;
+BDA9;BDA9;1107 116F 11B4;BDA9;1107 116F 11B4;
+BDAA;BDAA;1107 116F 11B5;BDAA;1107 116F 11B5;
+BDAB;BDAB;1107 116F 11B6;BDAB;1107 116F 11B6;
+BDAC;BDAC;1107 116F 11B7;BDAC;1107 116F 11B7;
+BDAD;BDAD;1107 116F 11B8;BDAD;1107 116F 11B8;
+BDAE;BDAE;1107 116F 11B9;BDAE;1107 116F 11B9;
+BDAF;BDAF;1107 116F 11BA;BDAF;1107 116F 11BA;
+BDB0;BDB0;1107 116F 11BB;BDB0;1107 116F 11BB;
+BDB1;BDB1;1107 116F 11BC;BDB1;1107 116F 11BC;
+BDB2;BDB2;1107 116F 11BD;BDB2;1107 116F 11BD;
+BDB3;BDB3;1107 116F 11BE;BDB3;1107 116F 11BE;
+BDB4;BDB4;1107 116F 11BF;BDB4;1107 116F 11BF;
+BDB5;BDB5;1107 116F 11C0;BDB5;1107 116F 11C0;
+BDB6;BDB6;1107 116F 11C1;BDB6;1107 116F 11C1;
+BDB7;BDB7;1107 116F 11C2;BDB7;1107 116F 11C2;
+BDB8;BDB8;1107 1170;BDB8;1107 1170;
+BDB9;BDB9;1107 1170 11A8;BDB9;1107 1170 11A8;
+BDBA;BDBA;1107 1170 11A9;BDBA;1107 1170 11A9;
+BDBB;BDBB;1107 1170 11AA;BDBB;1107 1170 11AA;
+BDBC;BDBC;1107 1170 11AB;BDBC;1107 1170 11AB;
+BDBD;BDBD;1107 1170 11AC;BDBD;1107 1170 11AC;
+BDBE;BDBE;1107 1170 11AD;BDBE;1107 1170 11AD;
+BDBF;BDBF;1107 1170 11AE;BDBF;1107 1170 11AE;
+BDC0;BDC0;1107 1170 11AF;BDC0;1107 1170 11AF;
+BDC1;BDC1;1107 1170 11B0;BDC1;1107 1170 11B0;
+BDC2;BDC2;1107 1170 11B1;BDC2;1107 1170 11B1;
+BDC3;BDC3;1107 1170 11B2;BDC3;1107 1170 11B2;
+BDC4;BDC4;1107 1170 11B3;BDC4;1107 1170 11B3;
+BDC5;BDC5;1107 1170 11B4;BDC5;1107 1170 11B4;
+BDC6;BDC6;1107 1170 11B5;BDC6;1107 1170 11B5;
+BDC7;BDC7;1107 1170 11B6;BDC7;1107 1170 11B6;
+BDC8;BDC8;1107 1170 11B7;BDC8;1107 1170 11B7;
+BDC9;BDC9;1107 1170 11B8;BDC9;1107 1170 11B8;
+BDCA;BDCA;1107 1170 11B9;BDCA;1107 1170 11B9;
+BDCB;BDCB;1107 1170 11BA;BDCB;1107 1170 11BA;
+BDCC;BDCC;1107 1170 11BB;BDCC;1107 1170 11BB;
+BDCD;BDCD;1107 1170 11BC;BDCD;1107 1170 11BC;
+BDCE;BDCE;1107 1170 11BD;BDCE;1107 1170 11BD;
+BDCF;BDCF;1107 1170 11BE;BDCF;1107 1170 11BE;
+BDD0;BDD0;1107 1170 11BF;BDD0;1107 1170 11BF;
+BDD1;BDD1;1107 1170 11C0;BDD1;1107 1170 11C0;
+BDD2;BDD2;1107 1170 11C1;BDD2;1107 1170 11C1;
+BDD3;BDD3;1107 1170 11C2;BDD3;1107 1170 11C2;
+BDD4;BDD4;1107 1171;BDD4;1107 1171;
+BDD5;BDD5;1107 1171 11A8;BDD5;1107 1171 11A8;
+BDD6;BDD6;1107 1171 11A9;BDD6;1107 1171 11A9;
+BDD7;BDD7;1107 1171 11AA;BDD7;1107 1171 11AA;
+BDD8;BDD8;1107 1171 11AB;BDD8;1107 1171 11AB;
+BDD9;BDD9;1107 1171 11AC;BDD9;1107 1171 11AC;
+BDDA;BDDA;1107 1171 11AD;BDDA;1107 1171 11AD;
+BDDB;BDDB;1107 1171 11AE;BDDB;1107 1171 11AE;
+BDDC;BDDC;1107 1171 11AF;BDDC;1107 1171 11AF;
+BDDD;BDDD;1107 1171 11B0;BDDD;1107 1171 11B0;
+BDDE;BDDE;1107 1171 11B1;BDDE;1107 1171 11B1;
+BDDF;BDDF;1107 1171 11B2;BDDF;1107 1171 11B2;
+BDE0;BDE0;1107 1171 11B3;BDE0;1107 1171 11B3;
+BDE1;BDE1;1107 1171 11B4;BDE1;1107 1171 11B4;
+BDE2;BDE2;1107 1171 11B5;BDE2;1107 1171 11B5;
+BDE3;BDE3;1107 1171 11B6;BDE3;1107 1171 11B6;
+BDE4;BDE4;1107 1171 11B7;BDE4;1107 1171 11B7;
+BDE5;BDE5;1107 1171 11B8;BDE5;1107 1171 11B8;
+BDE6;BDE6;1107 1171 11B9;BDE6;1107 1171 11B9;
+BDE7;BDE7;1107 1171 11BA;BDE7;1107 1171 11BA;
+BDE8;BDE8;1107 1171 11BB;BDE8;1107 1171 11BB;
+BDE9;BDE9;1107 1171 11BC;BDE9;1107 1171 11BC;
+BDEA;BDEA;1107 1171 11BD;BDEA;1107 1171 11BD;
+BDEB;BDEB;1107 1171 11BE;BDEB;1107 1171 11BE;
+BDEC;BDEC;1107 1171 11BF;BDEC;1107 1171 11BF;
+BDED;BDED;1107 1171 11C0;BDED;1107 1171 11C0;
+BDEE;BDEE;1107 1171 11C1;BDEE;1107 1171 11C1;
+BDEF;BDEF;1107 1171 11C2;BDEF;1107 1171 11C2;
+BDF0;BDF0;1107 1172;BDF0;1107 1172;
+BDF1;BDF1;1107 1172 11A8;BDF1;1107 1172 11A8;
+BDF2;BDF2;1107 1172 11A9;BDF2;1107 1172 11A9;
+BDF3;BDF3;1107 1172 11AA;BDF3;1107 1172 11AA;
+BDF4;BDF4;1107 1172 11AB;BDF4;1107 1172 11AB;
+BDF5;BDF5;1107 1172 11AC;BDF5;1107 1172 11AC;
+BDF6;BDF6;1107 1172 11AD;BDF6;1107 1172 11AD;
+BDF7;BDF7;1107 1172 11AE;BDF7;1107 1172 11AE;
+BDF8;BDF8;1107 1172 11AF;BDF8;1107 1172 11AF;
+BDF9;BDF9;1107 1172 11B0;BDF9;1107 1172 11B0;
+BDFA;BDFA;1107 1172 11B1;BDFA;1107 1172 11B1;
+BDFB;BDFB;1107 1172 11B2;BDFB;1107 1172 11B2;
+BDFC;BDFC;1107 1172 11B3;BDFC;1107 1172 11B3;
+BDFD;BDFD;1107 1172 11B4;BDFD;1107 1172 11B4;
+BDFE;BDFE;1107 1172 11B5;BDFE;1107 1172 11B5;
+BDFF;BDFF;1107 1172 11B6;BDFF;1107 1172 11B6;
+BE00;BE00;1107 1172 11B7;BE00;1107 1172 11B7;
+BE01;BE01;1107 1172 11B8;BE01;1107 1172 11B8;
+BE02;BE02;1107 1172 11B9;BE02;1107 1172 11B9;
+BE03;BE03;1107 1172 11BA;BE03;1107 1172 11BA;
+BE04;BE04;1107 1172 11BB;BE04;1107 1172 11BB;
+BE05;BE05;1107 1172 11BC;BE05;1107 1172 11BC;
+BE06;BE06;1107 1172 11BD;BE06;1107 1172 11BD;
+BE07;BE07;1107 1172 11BE;BE07;1107 1172 11BE;
+BE08;BE08;1107 1172 11BF;BE08;1107 1172 11BF;
+BE09;BE09;1107 1172 11C0;BE09;1107 1172 11C0;
+BE0A;BE0A;1107 1172 11C1;BE0A;1107 1172 11C1;
+BE0B;BE0B;1107 1172 11C2;BE0B;1107 1172 11C2;
+BE0C;BE0C;1107 1173;BE0C;1107 1173;
+BE0D;BE0D;1107 1173 11A8;BE0D;1107 1173 11A8;
+BE0E;BE0E;1107 1173 11A9;BE0E;1107 1173 11A9;
+BE0F;BE0F;1107 1173 11AA;BE0F;1107 1173 11AA;
+BE10;BE10;1107 1173 11AB;BE10;1107 1173 11AB;
+BE11;BE11;1107 1173 11AC;BE11;1107 1173 11AC;
+BE12;BE12;1107 1173 11AD;BE12;1107 1173 11AD;
+BE13;BE13;1107 1173 11AE;BE13;1107 1173 11AE;
+BE14;BE14;1107 1173 11AF;BE14;1107 1173 11AF;
+BE15;BE15;1107 1173 11B0;BE15;1107 1173 11B0;
+BE16;BE16;1107 1173 11B1;BE16;1107 1173 11B1;
+BE17;BE17;1107 1173 11B2;BE17;1107 1173 11B2;
+BE18;BE18;1107 1173 11B3;BE18;1107 1173 11B3;
+BE19;BE19;1107 1173 11B4;BE19;1107 1173 11B4;
+BE1A;BE1A;1107 1173 11B5;BE1A;1107 1173 11B5;
+BE1B;BE1B;1107 1173 11B6;BE1B;1107 1173 11B6;
+BE1C;BE1C;1107 1173 11B7;BE1C;1107 1173 11B7;
+BE1D;BE1D;1107 1173 11B8;BE1D;1107 1173 11B8;
+BE1E;BE1E;1107 1173 11B9;BE1E;1107 1173 11B9;
+BE1F;BE1F;1107 1173 11BA;BE1F;1107 1173 11BA;
+BE20;BE20;1107 1173 11BB;BE20;1107 1173 11BB;
+BE21;BE21;1107 1173 11BC;BE21;1107 1173 11BC;
+BE22;BE22;1107 1173 11BD;BE22;1107 1173 11BD;
+BE23;BE23;1107 1173 11BE;BE23;1107 1173 11BE;
+BE24;BE24;1107 1173 11BF;BE24;1107 1173 11BF;
+BE25;BE25;1107 1173 11C0;BE25;1107 1173 11C0;
+BE26;BE26;1107 1173 11C1;BE26;1107 1173 11C1;
+BE27;BE27;1107 1173 11C2;BE27;1107 1173 11C2;
+BE28;BE28;1107 1174;BE28;1107 1174;
+BE29;BE29;1107 1174 11A8;BE29;1107 1174 11A8;
+BE2A;BE2A;1107 1174 11A9;BE2A;1107 1174 11A9;
+BE2B;BE2B;1107 1174 11AA;BE2B;1107 1174 11AA;
+BE2C;BE2C;1107 1174 11AB;BE2C;1107 1174 11AB;
+BE2D;BE2D;1107 1174 11AC;BE2D;1107 1174 11AC;
+BE2E;BE2E;1107 1174 11AD;BE2E;1107 1174 11AD;
+BE2F;BE2F;1107 1174 11AE;BE2F;1107 1174 11AE;
+BE30;BE30;1107 1174 11AF;BE30;1107 1174 11AF;
+BE31;BE31;1107 1174 11B0;BE31;1107 1174 11B0;
+BE32;BE32;1107 1174 11B1;BE32;1107 1174 11B1;
+BE33;BE33;1107 1174 11B2;BE33;1107 1174 11B2;
+BE34;BE34;1107 1174 11B3;BE34;1107 1174 11B3;
+BE35;BE35;1107 1174 11B4;BE35;1107 1174 11B4;
+BE36;BE36;1107 1174 11B5;BE36;1107 1174 11B5;
+BE37;BE37;1107 1174 11B6;BE37;1107 1174 11B6;
+BE38;BE38;1107 1174 11B7;BE38;1107 1174 11B7;
+BE39;BE39;1107 1174 11B8;BE39;1107 1174 11B8;
+BE3A;BE3A;1107 1174 11B9;BE3A;1107 1174 11B9;
+BE3B;BE3B;1107 1174 11BA;BE3B;1107 1174 11BA;
+BE3C;BE3C;1107 1174 11BB;BE3C;1107 1174 11BB;
+BE3D;BE3D;1107 1174 11BC;BE3D;1107 1174 11BC;
+BE3E;BE3E;1107 1174 11BD;BE3E;1107 1174 11BD;
+BE3F;BE3F;1107 1174 11BE;BE3F;1107 1174 11BE;
+BE40;BE40;1107 1174 11BF;BE40;1107 1174 11BF;
+BE41;BE41;1107 1174 11C0;BE41;1107 1174 11C0;
+BE42;BE42;1107 1174 11C1;BE42;1107 1174 11C1;
+BE43;BE43;1107 1174 11C2;BE43;1107 1174 11C2;
+BE44;BE44;1107 1175;BE44;1107 1175;
+BE45;BE45;1107 1175 11A8;BE45;1107 1175 11A8;
+BE46;BE46;1107 1175 11A9;BE46;1107 1175 11A9;
+BE47;BE47;1107 1175 11AA;BE47;1107 1175 11AA;
+BE48;BE48;1107 1175 11AB;BE48;1107 1175 11AB;
+BE49;BE49;1107 1175 11AC;BE49;1107 1175 11AC;
+BE4A;BE4A;1107 1175 11AD;BE4A;1107 1175 11AD;
+BE4B;BE4B;1107 1175 11AE;BE4B;1107 1175 11AE;
+BE4C;BE4C;1107 1175 11AF;BE4C;1107 1175 11AF;
+BE4D;BE4D;1107 1175 11B0;BE4D;1107 1175 11B0;
+BE4E;BE4E;1107 1175 11B1;BE4E;1107 1175 11B1;
+BE4F;BE4F;1107 1175 11B2;BE4F;1107 1175 11B2;
+BE50;BE50;1107 1175 11B3;BE50;1107 1175 11B3;
+BE51;BE51;1107 1175 11B4;BE51;1107 1175 11B4;
+BE52;BE52;1107 1175 11B5;BE52;1107 1175 11B5;
+BE53;BE53;1107 1175 11B6;BE53;1107 1175 11B6;
+BE54;BE54;1107 1175 11B7;BE54;1107 1175 11B7;
+BE55;BE55;1107 1175 11B8;BE55;1107 1175 11B8;
+BE56;BE56;1107 1175 11B9;BE56;1107 1175 11B9;
+BE57;BE57;1107 1175 11BA;BE57;1107 1175 11BA;
+BE58;BE58;1107 1175 11BB;BE58;1107 1175 11BB;
+BE59;BE59;1107 1175 11BC;BE59;1107 1175 11BC;
+BE5A;BE5A;1107 1175 11BD;BE5A;1107 1175 11BD;
+BE5B;BE5B;1107 1175 11BE;BE5B;1107 1175 11BE;
+BE5C;BE5C;1107 1175 11BF;BE5C;1107 1175 11BF;
+BE5D;BE5D;1107 1175 11C0;BE5D;1107 1175 11C0;
+BE5E;BE5E;1107 1175 11C1;BE5E;1107 1175 11C1;
+BE5F;BE5F;1107 1175 11C2;BE5F;1107 1175 11C2;
+BE60;BE60;1108 1161;BE60;1108 1161;
+BE61;BE61;1108 1161 11A8;BE61;1108 1161 11A8;
+BE62;BE62;1108 1161 11A9;BE62;1108 1161 11A9;
+BE63;BE63;1108 1161 11AA;BE63;1108 1161 11AA;
+BE64;BE64;1108 1161 11AB;BE64;1108 1161 11AB;
+BE65;BE65;1108 1161 11AC;BE65;1108 1161 11AC;
+BE66;BE66;1108 1161 11AD;BE66;1108 1161 11AD;
+BE67;BE67;1108 1161 11AE;BE67;1108 1161 11AE;
+BE68;BE68;1108 1161 11AF;BE68;1108 1161 11AF;
+BE69;BE69;1108 1161 11B0;BE69;1108 1161 11B0;
+BE6A;BE6A;1108 1161 11B1;BE6A;1108 1161 11B1;
+BE6B;BE6B;1108 1161 11B2;BE6B;1108 1161 11B2;
+BE6C;BE6C;1108 1161 11B3;BE6C;1108 1161 11B3;
+BE6D;BE6D;1108 1161 11B4;BE6D;1108 1161 11B4;
+BE6E;BE6E;1108 1161 11B5;BE6E;1108 1161 11B5;
+BE6F;BE6F;1108 1161 11B6;BE6F;1108 1161 11B6;
+BE70;BE70;1108 1161 11B7;BE70;1108 1161 11B7;
+BE71;BE71;1108 1161 11B8;BE71;1108 1161 11B8;
+BE72;BE72;1108 1161 11B9;BE72;1108 1161 11B9;
+BE73;BE73;1108 1161 11BA;BE73;1108 1161 11BA;
+BE74;BE74;1108 1161 11BB;BE74;1108 1161 11BB;
+BE75;BE75;1108 1161 11BC;BE75;1108 1161 11BC;
+BE76;BE76;1108 1161 11BD;BE76;1108 1161 11BD;
+BE77;BE77;1108 1161 11BE;BE77;1108 1161 11BE;
+BE78;BE78;1108 1161 11BF;BE78;1108 1161 11BF;
+BE79;BE79;1108 1161 11C0;BE79;1108 1161 11C0;
+BE7A;BE7A;1108 1161 11C1;BE7A;1108 1161 11C1;
+BE7B;BE7B;1108 1161 11C2;BE7B;1108 1161 11C2;
+BE7C;BE7C;1108 1162;BE7C;1108 1162;
+BE7D;BE7D;1108 1162 11A8;BE7D;1108 1162 11A8;
+BE7E;BE7E;1108 1162 11A9;BE7E;1108 1162 11A9;
+BE7F;BE7F;1108 1162 11AA;BE7F;1108 1162 11AA;
+BE80;BE80;1108 1162 11AB;BE80;1108 1162 11AB;
+BE81;BE81;1108 1162 11AC;BE81;1108 1162 11AC;
+BE82;BE82;1108 1162 11AD;BE82;1108 1162 11AD;
+BE83;BE83;1108 1162 11AE;BE83;1108 1162 11AE;
+BE84;BE84;1108 1162 11AF;BE84;1108 1162 11AF;
+BE85;BE85;1108 1162 11B0;BE85;1108 1162 11B0;
+BE86;BE86;1108 1162 11B1;BE86;1108 1162 11B1;
+BE87;BE87;1108 1162 11B2;BE87;1108 1162 11B2;
+BE88;BE88;1108 1162 11B3;BE88;1108 1162 11B3;
+BE89;BE89;1108 1162 11B4;BE89;1108 1162 11B4;
+BE8A;BE8A;1108 1162 11B5;BE8A;1108 1162 11B5;
+BE8B;BE8B;1108 1162 11B6;BE8B;1108 1162 11B6;
+BE8C;BE8C;1108 1162 11B7;BE8C;1108 1162 11B7;
+BE8D;BE8D;1108 1162 11B8;BE8D;1108 1162 11B8;
+BE8E;BE8E;1108 1162 11B9;BE8E;1108 1162 11B9;
+BE8F;BE8F;1108 1162 11BA;BE8F;1108 1162 11BA;
+BE90;BE90;1108 1162 11BB;BE90;1108 1162 11BB;
+BE91;BE91;1108 1162 11BC;BE91;1108 1162 11BC;
+BE92;BE92;1108 1162 11BD;BE92;1108 1162 11BD;
+BE93;BE93;1108 1162 11BE;BE93;1108 1162 11BE;
+BE94;BE94;1108 1162 11BF;BE94;1108 1162 11BF;
+BE95;BE95;1108 1162 11C0;BE95;1108 1162 11C0;
+BE96;BE96;1108 1162 11C1;BE96;1108 1162 11C1;
+BE97;BE97;1108 1162 11C2;BE97;1108 1162 11C2;
+BE98;BE98;1108 1163;BE98;1108 1163;
+BE99;BE99;1108 1163 11A8;BE99;1108 1163 11A8;
+BE9A;BE9A;1108 1163 11A9;BE9A;1108 1163 11A9;
+BE9B;BE9B;1108 1163 11AA;BE9B;1108 1163 11AA;
+BE9C;BE9C;1108 1163 11AB;BE9C;1108 1163 11AB;
+BE9D;BE9D;1108 1163 11AC;BE9D;1108 1163 11AC;
+BE9E;BE9E;1108 1163 11AD;BE9E;1108 1163 11AD;
+BE9F;BE9F;1108 1163 11AE;BE9F;1108 1163 11AE;
+BEA0;BEA0;1108 1163 11AF;BEA0;1108 1163 11AF;
+BEA1;BEA1;1108 1163 11B0;BEA1;1108 1163 11B0;
+BEA2;BEA2;1108 1163 11B1;BEA2;1108 1163 11B1;
+BEA3;BEA3;1108 1163 11B2;BEA3;1108 1163 11B2;
+BEA4;BEA4;1108 1163 11B3;BEA4;1108 1163 11B3;
+BEA5;BEA5;1108 1163 11B4;BEA5;1108 1163 11B4;
+BEA6;BEA6;1108 1163 11B5;BEA6;1108 1163 11B5;
+BEA7;BEA7;1108 1163 11B6;BEA7;1108 1163 11B6;
+BEA8;BEA8;1108 1163 11B7;BEA8;1108 1163 11B7;
+BEA9;BEA9;1108 1163 11B8;BEA9;1108 1163 11B8;
+BEAA;BEAA;1108 1163 11B9;BEAA;1108 1163 11B9;
+BEAB;BEAB;1108 1163 11BA;BEAB;1108 1163 11BA;
+BEAC;BEAC;1108 1163 11BB;BEAC;1108 1163 11BB;
+BEAD;BEAD;1108 1163 11BC;BEAD;1108 1163 11BC;
+BEAE;BEAE;1108 1163 11BD;BEAE;1108 1163 11BD;
+BEAF;BEAF;1108 1163 11BE;BEAF;1108 1163 11BE;
+BEB0;BEB0;1108 1163 11BF;BEB0;1108 1163 11BF;
+BEB1;BEB1;1108 1163 11C0;BEB1;1108 1163 11C0;
+BEB2;BEB2;1108 1163 11C1;BEB2;1108 1163 11C1;
+BEB3;BEB3;1108 1163 11C2;BEB3;1108 1163 11C2;
+BEB4;BEB4;1108 1164;BEB4;1108 1164;
+BEB5;BEB5;1108 1164 11A8;BEB5;1108 1164 11A8;
+BEB6;BEB6;1108 1164 11A9;BEB6;1108 1164 11A9;
+BEB7;BEB7;1108 1164 11AA;BEB7;1108 1164 11AA;
+BEB8;BEB8;1108 1164 11AB;BEB8;1108 1164 11AB;
+BEB9;BEB9;1108 1164 11AC;BEB9;1108 1164 11AC;
+BEBA;BEBA;1108 1164 11AD;BEBA;1108 1164 11AD;
+BEBB;BEBB;1108 1164 11AE;BEBB;1108 1164 11AE;
+BEBC;BEBC;1108 1164 11AF;BEBC;1108 1164 11AF;
+BEBD;BEBD;1108 1164 11B0;BEBD;1108 1164 11B0;
+BEBE;BEBE;1108 1164 11B1;BEBE;1108 1164 11B1;
+BEBF;BEBF;1108 1164 11B2;BEBF;1108 1164 11B2;
+BEC0;BEC0;1108 1164 11B3;BEC0;1108 1164 11B3;
+BEC1;BEC1;1108 1164 11B4;BEC1;1108 1164 11B4;
+BEC2;BEC2;1108 1164 11B5;BEC2;1108 1164 11B5;
+BEC3;BEC3;1108 1164 11B6;BEC3;1108 1164 11B6;
+BEC4;BEC4;1108 1164 11B7;BEC4;1108 1164 11B7;
+BEC5;BEC5;1108 1164 11B8;BEC5;1108 1164 11B8;
+BEC6;BEC6;1108 1164 11B9;BEC6;1108 1164 11B9;
+BEC7;BEC7;1108 1164 11BA;BEC7;1108 1164 11BA;
+BEC8;BEC8;1108 1164 11BB;BEC8;1108 1164 11BB;
+BEC9;BEC9;1108 1164 11BC;BEC9;1108 1164 11BC;
+BECA;BECA;1108 1164 11BD;BECA;1108 1164 11BD;
+BECB;BECB;1108 1164 11BE;BECB;1108 1164 11BE;
+BECC;BECC;1108 1164 11BF;BECC;1108 1164 11BF;
+BECD;BECD;1108 1164 11C0;BECD;1108 1164 11C0;
+BECE;BECE;1108 1164 11C1;BECE;1108 1164 11C1;
+BECF;BECF;1108 1164 11C2;BECF;1108 1164 11C2;
+BED0;BED0;1108 1165;BED0;1108 1165;
+BED1;BED1;1108 1165 11A8;BED1;1108 1165 11A8;
+BED2;BED2;1108 1165 11A9;BED2;1108 1165 11A9;
+BED3;BED3;1108 1165 11AA;BED3;1108 1165 11AA;
+BED4;BED4;1108 1165 11AB;BED4;1108 1165 11AB;
+BED5;BED5;1108 1165 11AC;BED5;1108 1165 11AC;
+BED6;BED6;1108 1165 11AD;BED6;1108 1165 11AD;
+BED7;BED7;1108 1165 11AE;BED7;1108 1165 11AE;
+BED8;BED8;1108 1165 11AF;BED8;1108 1165 11AF;
+BED9;BED9;1108 1165 11B0;BED9;1108 1165 11B0;
+BEDA;BEDA;1108 1165 11B1;BEDA;1108 1165 11B1;
+BEDB;BEDB;1108 1165 11B2;BEDB;1108 1165 11B2;
+BEDC;BEDC;1108 1165 11B3;BEDC;1108 1165 11B3;
+BEDD;BEDD;1108 1165 11B4;BEDD;1108 1165 11B4;
+BEDE;BEDE;1108 1165 11B5;BEDE;1108 1165 11B5;
+BEDF;BEDF;1108 1165 11B6;BEDF;1108 1165 11B6;
+BEE0;BEE0;1108 1165 11B7;BEE0;1108 1165 11B7;
+BEE1;BEE1;1108 1165 11B8;BEE1;1108 1165 11B8;
+BEE2;BEE2;1108 1165 11B9;BEE2;1108 1165 11B9;
+BEE3;BEE3;1108 1165 11BA;BEE3;1108 1165 11BA;
+BEE4;BEE4;1108 1165 11BB;BEE4;1108 1165 11BB;
+BEE5;BEE5;1108 1165 11BC;BEE5;1108 1165 11BC;
+BEE6;BEE6;1108 1165 11BD;BEE6;1108 1165 11BD;
+BEE7;BEE7;1108 1165 11BE;BEE7;1108 1165 11BE;
+BEE8;BEE8;1108 1165 11BF;BEE8;1108 1165 11BF;
+BEE9;BEE9;1108 1165 11C0;BEE9;1108 1165 11C0;
+BEEA;BEEA;1108 1165 11C1;BEEA;1108 1165 11C1;
+BEEB;BEEB;1108 1165 11C2;BEEB;1108 1165 11C2;
+BEEC;BEEC;1108 1166;BEEC;1108 1166;
+BEED;BEED;1108 1166 11A8;BEED;1108 1166 11A8;
+BEEE;BEEE;1108 1166 11A9;BEEE;1108 1166 11A9;
+BEEF;BEEF;1108 1166 11AA;BEEF;1108 1166 11AA;
+BEF0;BEF0;1108 1166 11AB;BEF0;1108 1166 11AB;
+BEF1;BEF1;1108 1166 11AC;BEF1;1108 1166 11AC;
+BEF2;BEF2;1108 1166 11AD;BEF2;1108 1166 11AD;
+BEF3;BEF3;1108 1166 11AE;BEF3;1108 1166 11AE;
+BEF4;BEF4;1108 1166 11AF;BEF4;1108 1166 11AF;
+BEF5;BEF5;1108 1166 11B0;BEF5;1108 1166 11B0;
+BEF6;BEF6;1108 1166 11B1;BEF6;1108 1166 11B1;
+BEF7;BEF7;1108 1166 11B2;BEF7;1108 1166 11B2;
+BEF8;BEF8;1108 1166 11B3;BEF8;1108 1166 11B3;
+BEF9;BEF9;1108 1166 11B4;BEF9;1108 1166 11B4;
+BEFA;BEFA;1108 1166 11B5;BEFA;1108 1166 11B5;
+BEFB;BEFB;1108 1166 11B6;BEFB;1108 1166 11B6;
+BEFC;BEFC;1108 1166 11B7;BEFC;1108 1166 11B7;
+BEFD;BEFD;1108 1166 11B8;BEFD;1108 1166 11B8;
+BEFE;BEFE;1108 1166 11B9;BEFE;1108 1166 11B9;
+BEFF;BEFF;1108 1166 11BA;BEFF;1108 1166 11BA;
+BF00;BF00;1108 1166 11BB;BF00;1108 1166 11BB;
+BF01;BF01;1108 1166 11BC;BF01;1108 1166 11BC;
+BF02;BF02;1108 1166 11BD;BF02;1108 1166 11BD;
+BF03;BF03;1108 1166 11BE;BF03;1108 1166 11BE;
+BF04;BF04;1108 1166 11BF;BF04;1108 1166 11BF;
+BF05;BF05;1108 1166 11C0;BF05;1108 1166 11C0;
+BF06;BF06;1108 1166 11C1;BF06;1108 1166 11C1;
+BF07;BF07;1108 1166 11C2;BF07;1108 1166 11C2;
+BF08;BF08;1108 1167;BF08;1108 1167;
+BF09;BF09;1108 1167 11A8;BF09;1108 1167 11A8;
+BF0A;BF0A;1108 1167 11A9;BF0A;1108 1167 11A9;
+BF0B;BF0B;1108 1167 11AA;BF0B;1108 1167 11AA;
+BF0C;BF0C;1108 1167 11AB;BF0C;1108 1167 11AB;
+BF0D;BF0D;1108 1167 11AC;BF0D;1108 1167 11AC;
+BF0E;BF0E;1108 1167 11AD;BF0E;1108 1167 11AD;
+BF0F;BF0F;1108 1167 11AE;BF0F;1108 1167 11AE;
+BF10;BF10;1108 1167 11AF;BF10;1108 1167 11AF;
+BF11;BF11;1108 1167 11B0;BF11;1108 1167 11B0;
+BF12;BF12;1108 1167 11B1;BF12;1108 1167 11B1;
+BF13;BF13;1108 1167 11B2;BF13;1108 1167 11B2;
+BF14;BF14;1108 1167 11B3;BF14;1108 1167 11B3;
+BF15;BF15;1108 1167 11B4;BF15;1108 1167 11B4;
+BF16;BF16;1108 1167 11B5;BF16;1108 1167 11B5;
+BF17;BF17;1108 1167 11B6;BF17;1108 1167 11B6;
+BF18;BF18;1108 1167 11B7;BF18;1108 1167 11B7;
+BF19;BF19;1108 1167 11B8;BF19;1108 1167 11B8;
+BF1A;BF1A;1108 1167 11B9;BF1A;1108 1167 11B9;
+BF1B;BF1B;1108 1167 11BA;BF1B;1108 1167 11BA;
+BF1C;BF1C;1108 1167 11BB;BF1C;1108 1167 11BB;
+BF1D;BF1D;1108 1167 11BC;BF1D;1108 1167 11BC;
+BF1E;BF1E;1108 1167 11BD;BF1E;1108 1167 11BD;
+BF1F;BF1F;1108 1167 11BE;BF1F;1108 1167 11BE;
+BF20;BF20;1108 1167 11BF;BF20;1108 1167 11BF;
+BF21;BF21;1108 1167 11C0;BF21;1108 1167 11C0;
+BF22;BF22;1108 1167 11C1;BF22;1108 1167 11C1;
+BF23;BF23;1108 1167 11C2;BF23;1108 1167 11C2;
+BF24;BF24;1108 1168;BF24;1108 1168;
+BF25;BF25;1108 1168 11A8;BF25;1108 1168 11A8;
+BF26;BF26;1108 1168 11A9;BF26;1108 1168 11A9;
+BF27;BF27;1108 1168 11AA;BF27;1108 1168 11AA;
+BF28;BF28;1108 1168 11AB;BF28;1108 1168 11AB;
+BF29;BF29;1108 1168 11AC;BF29;1108 1168 11AC;
+BF2A;BF2A;1108 1168 11AD;BF2A;1108 1168 11AD;
+BF2B;BF2B;1108 1168 11AE;BF2B;1108 1168 11AE;
+BF2C;BF2C;1108 1168 11AF;BF2C;1108 1168 11AF;
+BF2D;BF2D;1108 1168 11B0;BF2D;1108 1168 11B0;
+BF2E;BF2E;1108 1168 11B1;BF2E;1108 1168 11B1;
+BF2F;BF2F;1108 1168 11B2;BF2F;1108 1168 11B2;
+BF30;BF30;1108 1168 11B3;BF30;1108 1168 11B3;
+BF31;BF31;1108 1168 11B4;BF31;1108 1168 11B4;
+BF32;BF32;1108 1168 11B5;BF32;1108 1168 11B5;
+BF33;BF33;1108 1168 11B6;BF33;1108 1168 11B6;
+BF34;BF34;1108 1168 11B7;BF34;1108 1168 11B7;
+BF35;BF35;1108 1168 11B8;BF35;1108 1168 11B8;
+BF36;BF36;1108 1168 11B9;BF36;1108 1168 11B9;
+BF37;BF37;1108 1168 11BA;BF37;1108 1168 11BA;
+BF38;BF38;1108 1168 11BB;BF38;1108 1168 11BB;
+BF39;BF39;1108 1168 11BC;BF39;1108 1168 11BC;
+BF3A;BF3A;1108 1168 11BD;BF3A;1108 1168 11BD;
+BF3B;BF3B;1108 1168 11BE;BF3B;1108 1168 11BE;
+BF3C;BF3C;1108 1168 11BF;BF3C;1108 1168 11BF;
+BF3D;BF3D;1108 1168 11C0;BF3D;1108 1168 11C0;
+BF3E;BF3E;1108 1168 11C1;BF3E;1108 1168 11C1;
+BF3F;BF3F;1108 1168 11C2;BF3F;1108 1168 11C2;
+BF40;BF40;1108 1169;BF40;1108 1169;
+BF41;BF41;1108 1169 11A8;BF41;1108 1169 11A8;
+BF42;BF42;1108 1169 11A9;BF42;1108 1169 11A9;
+BF43;BF43;1108 1169 11AA;BF43;1108 1169 11AA;
+BF44;BF44;1108 1169 11AB;BF44;1108 1169 11AB;
+BF45;BF45;1108 1169 11AC;BF45;1108 1169 11AC;
+BF46;BF46;1108 1169 11AD;BF46;1108 1169 11AD;
+BF47;BF47;1108 1169 11AE;BF47;1108 1169 11AE;
+BF48;BF48;1108 1169 11AF;BF48;1108 1169 11AF;
+BF49;BF49;1108 1169 11B0;BF49;1108 1169 11B0;
+BF4A;BF4A;1108 1169 11B1;BF4A;1108 1169 11B1;
+BF4B;BF4B;1108 1169 11B2;BF4B;1108 1169 11B2;
+BF4C;BF4C;1108 1169 11B3;BF4C;1108 1169 11B3;
+BF4D;BF4D;1108 1169 11B4;BF4D;1108 1169 11B4;
+BF4E;BF4E;1108 1169 11B5;BF4E;1108 1169 11B5;
+BF4F;BF4F;1108 1169 11B6;BF4F;1108 1169 11B6;
+BF50;BF50;1108 1169 11B7;BF50;1108 1169 11B7;
+BF51;BF51;1108 1169 11B8;BF51;1108 1169 11B8;
+BF52;BF52;1108 1169 11B9;BF52;1108 1169 11B9;
+BF53;BF53;1108 1169 11BA;BF53;1108 1169 11BA;
+BF54;BF54;1108 1169 11BB;BF54;1108 1169 11BB;
+BF55;BF55;1108 1169 11BC;BF55;1108 1169 11BC;
+BF56;BF56;1108 1169 11BD;BF56;1108 1169 11BD;
+BF57;BF57;1108 1169 11BE;BF57;1108 1169 11BE;
+BF58;BF58;1108 1169 11BF;BF58;1108 1169 11BF;
+BF59;BF59;1108 1169 11C0;BF59;1108 1169 11C0;
+BF5A;BF5A;1108 1169 11C1;BF5A;1108 1169 11C1;
+BF5B;BF5B;1108 1169 11C2;BF5B;1108 1169 11C2;
+BF5C;BF5C;1108 116A;BF5C;1108 116A;
+BF5D;BF5D;1108 116A 11A8;BF5D;1108 116A 11A8;
+BF5E;BF5E;1108 116A 11A9;BF5E;1108 116A 11A9;
+BF5F;BF5F;1108 116A 11AA;BF5F;1108 116A 11AA;
+BF60;BF60;1108 116A 11AB;BF60;1108 116A 11AB;
+BF61;BF61;1108 116A 11AC;BF61;1108 116A 11AC;
+BF62;BF62;1108 116A 11AD;BF62;1108 116A 11AD;
+BF63;BF63;1108 116A 11AE;BF63;1108 116A 11AE;
+BF64;BF64;1108 116A 11AF;BF64;1108 116A 11AF;
+BF65;BF65;1108 116A 11B0;BF65;1108 116A 11B0;
+BF66;BF66;1108 116A 11B1;BF66;1108 116A 11B1;
+BF67;BF67;1108 116A 11B2;BF67;1108 116A 11B2;
+BF68;BF68;1108 116A 11B3;BF68;1108 116A 11B3;
+BF69;BF69;1108 116A 11B4;BF69;1108 116A 11B4;
+BF6A;BF6A;1108 116A 11B5;BF6A;1108 116A 11B5;
+BF6B;BF6B;1108 116A 11B6;BF6B;1108 116A 11B6;
+BF6C;BF6C;1108 116A 11B7;BF6C;1108 116A 11B7;
+BF6D;BF6D;1108 116A 11B8;BF6D;1108 116A 11B8;
+BF6E;BF6E;1108 116A 11B9;BF6E;1108 116A 11B9;
+BF6F;BF6F;1108 116A 11BA;BF6F;1108 116A 11BA;
+BF70;BF70;1108 116A 11BB;BF70;1108 116A 11BB;
+BF71;BF71;1108 116A 11BC;BF71;1108 116A 11BC;
+BF72;BF72;1108 116A 11BD;BF72;1108 116A 11BD;
+BF73;BF73;1108 116A 11BE;BF73;1108 116A 11BE;
+BF74;BF74;1108 116A 11BF;BF74;1108 116A 11BF;
+BF75;BF75;1108 116A 11C0;BF75;1108 116A 11C0;
+BF76;BF76;1108 116A 11C1;BF76;1108 116A 11C1;
+BF77;BF77;1108 116A 11C2;BF77;1108 116A 11C2;
+BF78;BF78;1108 116B;BF78;1108 116B;
+BF79;BF79;1108 116B 11A8;BF79;1108 116B 11A8;
+BF7A;BF7A;1108 116B 11A9;BF7A;1108 116B 11A9;
+BF7B;BF7B;1108 116B 11AA;BF7B;1108 116B 11AA;
+BF7C;BF7C;1108 116B 11AB;BF7C;1108 116B 11AB;
+BF7D;BF7D;1108 116B 11AC;BF7D;1108 116B 11AC;
+BF7E;BF7E;1108 116B 11AD;BF7E;1108 116B 11AD;
+BF7F;BF7F;1108 116B 11AE;BF7F;1108 116B 11AE;
+BF80;BF80;1108 116B 11AF;BF80;1108 116B 11AF;
+BF81;BF81;1108 116B 11B0;BF81;1108 116B 11B0;
+BF82;BF82;1108 116B 11B1;BF82;1108 116B 11B1;
+BF83;BF83;1108 116B 11B2;BF83;1108 116B 11B2;
+BF84;BF84;1108 116B 11B3;BF84;1108 116B 11B3;
+BF85;BF85;1108 116B 11B4;BF85;1108 116B 11B4;
+BF86;BF86;1108 116B 11B5;BF86;1108 116B 11B5;
+BF87;BF87;1108 116B 11B6;BF87;1108 116B 11B6;
+BF88;BF88;1108 116B 11B7;BF88;1108 116B 11B7;
+BF89;BF89;1108 116B 11B8;BF89;1108 116B 11B8;
+BF8A;BF8A;1108 116B 11B9;BF8A;1108 116B 11B9;
+BF8B;BF8B;1108 116B 11BA;BF8B;1108 116B 11BA;
+BF8C;BF8C;1108 116B 11BB;BF8C;1108 116B 11BB;
+BF8D;BF8D;1108 116B 11BC;BF8D;1108 116B 11BC;
+BF8E;BF8E;1108 116B 11BD;BF8E;1108 116B 11BD;
+BF8F;BF8F;1108 116B 11BE;BF8F;1108 116B 11BE;
+BF90;BF90;1108 116B 11BF;BF90;1108 116B 11BF;
+BF91;BF91;1108 116B 11C0;BF91;1108 116B 11C0;
+BF92;BF92;1108 116B 11C1;BF92;1108 116B 11C1;
+BF93;BF93;1108 116B 11C2;BF93;1108 116B 11C2;
+BF94;BF94;1108 116C;BF94;1108 116C;
+BF95;BF95;1108 116C 11A8;BF95;1108 116C 11A8;
+BF96;BF96;1108 116C 11A9;BF96;1108 116C 11A9;
+BF97;BF97;1108 116C 11AA;BF97;1108 116C 11AA;
+BF98;BF98;1108 116C 11AB;BF98;1108 116C 11AB;
+BF99;BF99;1108 116C 11AC;BF99;1108 116C 11AC;
+BF9A;BF9A;1108 116C 11AD;BF9A;1108 116C 11AD;
+BF9B;BF9B;1108 116C 11AE;BF9B;1108 116C 11AE;
+BF9C;BF9C;1108 116C 11AF;BF9C;1108 116C 11AF;
+BF9D;BF9D;1108 116C 11B0;BF9D;1108 116C 11B0;
+BF9E;BF9E;1108 116C 11B1;BF9E;1108 116C 11B1;
+BF9F;BF9F;1108 116C 11B2;BF9F;1108 116C 11B2;
+BFA0;BFA0;1108 116C 11B3;BFA0;1108 116C 11B3;
+BFA1;BFA1;1108 116C 11B4;BFA1;1108 116C 11B4;
+BFA2;BFA2;1108 116C 11B5;BFA2;1108 116C 11B5;
+BFA3;BFA3;1108 116C 11B6;BFA3;1108 116C 11B6;
+BFA4;BFA4;1108 116C 11B7;BFA4;1108 116C 11B7;
+BFA5;BFA5;1108 116C 11B8;BFA5;1108 116C 11B8;
+BFA6;BFA6;1108 116C 11B9;BFA6;1108 116C 11B9;
+BFA7;BFA7;1108 116C 11BA;BFA7;1108 116C 11BA;
+BFA8;BFA8;1108 116C 11BB;BFA8;1108 116C 11BB;
+BFA9;BFA9;1108 116C 11BC;BFA9;1108 116C 11BC;
+BFAA;BFAA;1108 116C 11BD;BFAA;1108 116C 11BD;
+BFAB;BFAB;1108 116C 11BE;BFAB;1108 116C 11BE;
+BFAC;BFAC;1108 116C 11BF;BFAC;1108 116C 11BF;
+BFAD;BFAD;1108 116C 11C0;BFAD;1108 116C 11C0;
+BFAE;BFAE;1108 116C 11C1;BFAE;1108 116C 11C1;
+BFAF;BFAF;1108 116C 11C2;BFAF;1108 116C 11C2;
+BFB0;BFB0;1108 116D;BFB0;1108 116D;
+BFB1;BFB1;1108 116D 11A8;BFB1;1108 116D 11A8;
+BFB2;BFB2;1108 116D 11A9;BFB2;1108 116D 11A9;
+BFB3;BFB3;1108 116D 11AA;BFB3;1108 116D 11AA;
+BFB4;BFB4;1108 116D 11AB;BFB4;1108 116D 11AB;
+BFB5;BFB5;1108 116D 11AC;BFB5;1108 116D 11AC;
+BFB6;BFB6;1108 116D 11AD;BFB6;1108 116D 11AD;
+BFB7;BFB7;1108 116D 11AE;BFB7;1108 116D 11AE;
+BFB8;BFB8;1108 116D 11AF;BFB8;1108 116D 11AF;
+BFB9;BFB9;1108 116D 11B0;BFB9;1108 116D 11B0;
+BFBA;BFBA;1108 116D 11B1;BFBA;1108 116D 11B1;
+BFBB;BFBB;1108 116D 11B2;BFBB;1108 116D 11B2;
+BFBC;BFBC;1108 116D 11B3;BFBC;1108 116D 11B3;
+BFBD;BFBD;1108 116D 11B4;BFBD;1108 116D 11B4;
+BFBE;BFBE;1108 116D 11B5;BFBE;1108 116D 11B5;
+BFBF;BFBF;1108 116D 11B6;BFBF;1108 116D 11B6;
+BFC0;BFC0;1108 116D 11B7;BFC0;1108 116D 11B7;
+BFC1;BFC1;1108 116D 11B8;BFC1;1108 116D 11B8;
+BFC2;BFC2;1108 116D 11B9;BFC2;1108 116D 11B9;
+BFC3;BFC3;1108 116D 11BA;BFC3;1108 116D 11BA;
+BFC4;BFC4;1108 116D 11BB;BFC4;1108 116D 11BB;
+BFC5;BFC5;1108 116D 11BC;BFC5;1108 116D 11BC;
+BFC6;BFC6;1108 116D 11BD;BFC6;1108 116D 11BD;
+BFC7;BFC7;1108 116D 11BE;BFC7;1108 116D 11BE;
+BFC8;BFC8;1108 116D 11BF;BFC8;1108 116D 11BF;
+BFC9;BFC9;1108 116D 11C0;BFC9;1108 116D 11C0;
+BFCA;BFCA;1108 116D 11C1;BFCA;1108 116D 11C1;
+BFCB;BFCB;1108 116D 11C2;BFCB;1108 116D 11C2;
+BFCC;BFCC;1108 116E;BFCC;1108 116E;
+BFCD;BFCD;1108 116E 11A8;BFCD;1108 116E 11A8;
+BFCE;BFCE;1108 116E 11A9;BFCE;1108 116E 11A9;
+BFCF;BFCF;1108 116E 11AA;BFCF;1108 116E 11AA;
+BFD0;BFD0;1108 116E 11AB;BFD0;1108 116E 11AB;
+BFD1;BFD1;1108 116E 11AC;BFD1;1108 116E 11AC;
+BFD2;BFD2;1108 116E 11AD;BFD2;1108 116E 11AD;
+BFD3;BFD3;1108 116E 11AE;BFD3;1108 116E 11AE;
+BFD4;BFD4;1108 116E 11AF;BFD4;1108 116E 11AF;
+BFD5;BFD5;1108 116E 11B0;BFD5;1108 116E 11B0;
+BFD6;BFD6;1108 116E 11B1;BFD6;1108 116E 11B1;
+BFD7;BFD7;1108 116E 11B2;BFD7;1108 116E 11B2;
+BFD8;BFD8;1108 116E 11B3;BFD8;1108 116E 11B3;
+BFD9;BFD9;1108 116E 11B4;BFD9;1108 116E 11B4;
+BFDA;BFDA;1108 116E 11B5;BFDA;1108 116E 11B5;
+BFDB;BFDB;1108 116E 11B6;BFDB;1108 116E 11B6;
+BFDC;BFDC;1108 116E 11B7;BFDC;1108 116E 11B7;
+BFDD;BFDD;1108 116E 11B8;BFDD;1108 116E 11B8;
+BFDE;BFDE;1108 116E 11B9;BFDE;1108 116E 11B9;
+BFDF;BFDF;1108 116E 11BA;BFDF;1108 116E 11BA;
+BFE0;BFE0;1108 116E 11BB;BFE0;1108 116E 11BB;
+BFE1;BFE1;1108 116E 11BC;BFE1;1108 116E 11BC;
+BFE2;BFE2;1108 116E 11BD;BFE2;1108 116E 11BD;
+BFE3;BFE3;1108 116E 11BE;BFE3;1108 116E 11BE;
+BFE4;BFE4;1108 116E 11BF;BFE4;1108 116E 11BF;
+BFE5;BFE5;1108 116E 11C0;BFE5;1108 116E 11C0;
+BFE6;BFE6;1108 116E 11C1;BFE6;1108 116E 11C1;
+BFE7;BFE7;1108 116E 11C2;BFE7;1108 116E 11C2;
+BFE8;BFE8;1108 116F;BFE8;1108 116F;
+BFE9;BFE9;1108 116F 11A8;BFE9;1108 116F 11A8;
+BFEA;BFEA;1108 116F 11A9;BFEA;1108 116F 11A9;
+BFEB;BFEB;1108 116F 11AA;BFEB;1108 116F 11AA;
+BFEC;BFEC;1108 116F 11AB;BFEC;1108 116F 11AB;
+BFED;BFED;1108 116F 11AC;BFED;1108 116F 11AC;
+BFEE;BFEE;1108 116F 11AD;BFEE;1108 116F 11AD;
+BFEF;BFEF;1108 116F 11AE;BFEF;1108 116F 11AE;
+BFF0;BFF0;1108 116F 11AF;BFF0;1108 116F 11AF;
+BFF1;BFF1;1108 116F 11B0;BFF1;1108 116F 11B0;
+BFF2;BFF2;1108 116F 11B1;BFF2;1108 116F 11B1;
+BFF3;BFF3;1108 116F 11B2;BFF3;1108 116F 11B2;
+BFF4;BFF4;1108 116F 11B3;BFF4;1108 116F 11B3;
+BFF5;BFF5;1108 116F 11B4;BFF5;1108 116F 11B4;
+BFF6;BFF6;1108 116F 11B5;BFF6;1108 116F 11B5;
+BFF7;BFF7;1108 116F 11B6;BFF7;1108 116F 11B6;
+BFF8;BFF8;1108 116F 11B7;BFF8;1108 116F 11B7;
+BFF9;BFF9;1108 116F 11B8;BFF9;1108 116F 11B8;
+BFFA;BFFA;1108 116F 11B9;BFFA;1108 116F 11B9;
+BFFB;BFFB;1108 116F 11BA;BFFB;1108 116F 11BA;
+BFFC;BFFC;1108 116F 11BB;BFFC;1108 116F 11BB;
+BFFD;BFFD;1108 116F 11BC;BFFD;1108 116F 11BC;
+BFFE;BFFE;1108 116F 11BD;BFFE;1108 116F 11BD;
+BFFF;BFFF;1108 116F 11BE;BFFF;1108 116F 11BE;
+C000;C000;1108 116F 11BF;C000;1108 116F 11BF;
+C001;C001;1108 116F 11C0;C001;1108 116F 11C0;
+C002;C002;1108 116F 11C1;C002;1108 116F 11C1;
+C003;C003;1108 116F 11C2;C003;1108 116F 11C2;
+C004;C004;1108 1170;C004;1108 1170;
+C005;C005;1108 1170 11A8;C005;1108 1170 11A8;
+C006;C006;1108 1170 11A9;C006;1108 1170 11A9;
+C007;C007;1108 1170 11AA;C007;1108 1170 11AA;
+C008;C008;1108 1170 11AB;C008;1108 1170 11AB;
+C009;C009;1108 1170 11AC;C009;1108 1170 11AC;
+C00A;C00A;1108 1170 11AD;C00A;1108 1170 11AD;
+C00B;C00B;1108 1170 11AE;C00B;1108 1170 11AE;
+C00C;C00C;1108 1170 11AF;C00C;1108 1170 11AF;
+C00D;C00D;1108 1170 11B0;C00D;1108 1170 11B0;
+C00E;C00E;1108 1170 11B1;C00E;1108 1170 11B1;
+C00F;C00F;1108 1170 11B2;C00F;1108 1170 11B2;
+C010;C010;1108 1170 11B3;C010;1108 1170 11B3;
+C011;C011;1108 1170 11B4;C011;1108 1170 11B4;
+C012;C012;1108 1170 11B5;C012;1108 1170 11B5;
+C013;C013;1108 1170 11B6;C013;1108 1170 11B6;
+C014;C014;1108 1170 11B7;C014;1108 1170 11B7;
+C015;C015;1108 1170 11B8;C015;1108 1170 11B8;
+C016;C016;1108 1170 11B9;C016;1108 1170 11B9;
+C017;C017;1108 1170 11BA;C017;1108 1170 11BA;
+C018;C018;1108 1170 11BB;C018;1108 1170 11BB;
+C019;C019;1108 1170 11BC;C019;1108 1170 11BC;
+C01A;C01A;1108 1170 11BD;C01A;1108 1170 11BD;
+C01B;C01B;1108 1170 11BE;C01B;1108 1170 11BE;
+C01C;C01C;1108 1170 11BF;C01C;1108 1170 11BF;
+C01D;C01D;1108 1170 11C0;C01D;1108 1170 11C0;
+C01E;C01E;1108 1170 11C1;C01E;1108 1170 11C1;
+C01F;C01F;1108 1170 11C2;C01F;1108 1170 11C2;
+C020;C020;1108 1171;C020;1108 1171;
+C021;C021;1108 1171 11A8;C021;1108 1171 11A8;
+C022;C022;1108 1171 11A9;C022;1108 1171 11A9;
+C023;C023;1108 1171 11AA;C023;1108 1171 11AA;
+C024;C024;1108 1171 11AB;C024;1108 1171 11AB;
+C025;C025;1108 1171 11AC;C025;1108 1171 11AC;
+C026;C026;1108 1171 11AD;C026;1108 1171 11AD;
+C027;C027;1108 1171 11AE;C027;1108 1171 11AE;
+C028;C028;1108 1171 11AF;C028;1108 1171 11AF;
+C029;C029;1108 1171 11B0;C029;1108 1171 11B0;
+C02A;C02A;1108 1171 11B1;C02A;1108 1171 11B1;
+C02B;C02B;1108 1171 11B2;C02B;1108 1171 11B2;
+C02C;C02C;1108 1171 11B3;C02C;1108 1171 11B3;
+C02D;C02D;1108 1171 11B4;C02D;1108 1171 11B4;
+C02E;C02E;1108 1171 11B5;C02E;1108 1171 11B5;
+C02F;C02F;1108 1171 11B6;C02F;1108 1171 11B6;
+C030;C030;1108 1171 11B7;C030;1108 1171 11B7;
+C031;C031;1108 1171 11B8;C031;1108 1171 11B8;
+C032;C032;1108 1171 11B9;C032;1108 1171 11B9;
+C033;C033;1108 1171 11BA;C033;1108 1171 11BA;
+C034;C034;1108 1171 11BB;C034;1108 1171 11BB;
+C035;C035;1108 1171 11BC;C035;1108 1171 11BC;
+C036;C036;1108 1171 11BD;C036;1108 1171 11BD;
+C037;C037;1108 1171 11BE;C037;1108 1171 11BE;
+C038;C038;1108 1171 11BF;C038;1108 1171 11BF;
+C039;C039;1108 1171 11C0;C039;1108 1171 11C0;
+C03A;C03A;1108 1171 11C1;C03A;1108 1171 11C1;
+C03B;C03B;1108 1171 11C2;C03B;1108 1171 11C2;
+C03C;C03C;1108 1172;C03C;1108 1172;
+C03D;C03D;1108 1172 11A8;C03D;1108 1172 11A8;
+C03E;C03E;1108 1172 11A9;C03E;1108 1172 11A9;
+C03F;C03F;1108 1172 11AA;C03F;1108 1172 11AA;
+C040;C040;1108 1172 11AB;C040;1108 1172 11AB;
+C041;C041;1108 1172 11AC;C041;1108 1172 11AC;
+C042;C042;1108 1172 11AD;C042;1108 1172 11AD;
+C043;C043;1108 1172 11AE;C043;1108 1172 11AE;
+C044;C044;1108 1172 11AF;C044;1108 1172 11AF;
+C045;C045;1108 1172 11B0;C045;1108 1172 11B0;
+C046;C046;1108 1172 11B1;C046;1108 1172 11B1;
+C047;C047;1108 1172 11B2;C047;1108 1172 11B2;
+C048;C048;1108 1172 11B3;C048;1108 1172 11B3;
+C049;C049;1108 1172 11B4;C049;1108 1172 11B4;
+C04A;C04A;1108 1172 11B5;C04A;1108 1172 11B5;
+C04B;C04B;1108 1172 11B6;C04B;1108 1172 11B6;
+C04C;C04C;1108 1172 11B7;C04C;1108 1172 11B7;
+C04D;C04D;1108 1172 11B8;C04D;1108 1172 11B8;
+C04E;C04E;1108 1172 11B9;C04E;1108 1172 11B9;
+C04F;C04F;1108 1172 11BA;C04F;1108 1172 11BA;
+C050;C050;1108 1172 11BB;C050;1108 1172 11BB;
+C051;C051;1108 1172 11BC;C051;1108 1172 11BC;
+C052;C052;1108 1172 11BD;C052;1108 1172 11BD;
+C053;C053;1108 1172 11BE;C053;1108 1172 11BE;
+C054;C054;1108 1172 11BF;C054;1108 1172 11BF;
+C055;C055;1108 1172 11C0;C055;1108 1172 11C0;
+C056;C056;1108 1172 11C1;C056;1108 1172 11C1;
+C057;C057;1108 1172 11C2;C057;1108 1172 11C2;
+C058;C058;1108 1173;C058;1108 1173;
+C059;C059;1108 1173 11A8;C059;1108 1173 11A8;
+C05A;C05A;1108 1173 11A9;C05A;1108 1173 11A9;
+C05B;C05B;1108 1173 11AA;C05B;1108 1173 11AA;
+C05C;C05C;1108 1173 11AB;C05C;1108 1173 11AB;
+C05D;C05D;1108 1173 11AC;C05D;1108 1173 11AC;
+C05E;C05E;1108 1173 11AD;C05E;1108 1173 11AD;
+C05F;C05F;1108 1173 11AE;C05F;1108 1173 11AE;
+C060;C060;1108 1173 11AF;C060;1108 1173 11AF;
+C061;C061;1108 1173 11B0;C061;1108 1173 11B0;
+C062;C062;1108 1173 11B1;C062;1108 1173 11B1;
+C063;C063;1108 1173 11B2;C063;1108 1173 11B2;
+C064;C064;1108 1173 11B3;C064;1108 1173 11B3;
+C065;C065;1108 1173 11B4;C065;1108 1173 11B4;
+C066;C066;1108 1173 11B5;C066;1108 1173 11B5;
+C067;C067;1108 1173 11B6;C067;1108 1173 11B6;
+C068;C068;1108 1173 11B7;C068;1108 1173 11B7;
+C069;C069;1108 1173 11B8;C069;1108 1173 11B8;
+C06A;C06A;1108 1173 11B9;C06A;1108 1173 11B9;
+C06B;C06B;1108 1173 11BA;C06B;1108 1173 11BA;
+C06C;C06C;1108 1173 11BB;C06C;1108 1173 11BB;
+C06D;C06D;1108 1173 11BC;C06D;1108 1173 11BC;
+C06E;C06E;1108 1173 11BD;C06E;1108 1173 11BD;
+C06F;C06F;1108 1173 11BE;C06F;1108 1173 11BE;
+C070;C070;1108 1173 11BF;C070;1108 1173 11BF;
+C071;C071;1108 1173 11C0;C071;1108 1173 11C0;
+C072;C072;1108 1173 11C1;C072;1108 1173 11C1;
+C073;C073;1108 1173 11C2;C073;1108 1173 11C2;
+C074;C074;1108 1174;C074;1108 1174;
+C075;C075;1108 1174 11A8;C075;1108 1174 11A8;
+C076;C076;1108 1174 11A9;C076;1108 1174 11A9;
+C077;C077;1108 1174 11AA;C077;1108 1174 11AA;
+C078;C078;1108 1174 11AB;C078;1108 1174 11AB;
+C079;C079;1108 1174 11AC;C079;1108 1174 11AC;
+C07A;C07A;1108 1174 11AD;C07A;1108 1174 11AD;
+C07B;C07B;1108 1174 11AE;C07B;1108 1174 11AE;
+C07C;C07C;1108 1174 11AF;C07C;1108 1174 11AF;
+C07D;C07D;1108 1174 11B0;C07D;1108 1174 11B0;
+C07E;C07E;1108 1174 11B1;C07E;1108 1174 11B1;
+C07F;C07F;1108 1174 11B2;C07F;1108 1174 11B2;
+C080;C080;1108 1174 11B3;C080;1108 1174 11B3;
+C081;C081;1108 1174 11B4;C081;1108 1174 11B4;
+C082;C082;1108 1174 11B5;C082;1108 1174 11B5;
+C083;C083;1108 1174 11B6;C083;1108 1174 11B6;
+C084;C084;1108 1174 11B7;C084;1108 1174 11B7;
+C085;C085;1108 1174 11B8;C085;1108 1174 11B8;
+C086;C086;1108 1174 11B9;C086;1108 1174 11B9;
+C087;C087;1108 1174 11BA;C087;1108 1174 11BA;
+C088;C088;1108 1174 11BB;C088;1108 1174 11BB;
+C089;C089;1108 1174 11BC;C089;1108 1174 11BC;
+C08A;C08A;1108 1174 11BD;C08A;1108 1174 11BD;
+C08B;C08B;1108 1174 11BE;C08B;1108 1174 11BE;
+C08C;C08C;1108 1174 11BF;C08C;1108 1174 11BF;
+C08D;C08D;1108 1174 11C0;C08D;1108 1174 11C0;
+C08E;C08E;1108 1174 11C1;C08E;1108 1174 11C1;
+C08F;C08F;1108 1174 11C2;C08F;1108 1174 11C2;
+C090;C090;1108 1175;C090;1108 1175;
+C091;C091;1108 1175 11A8;C091;1108 1175 11A8;
+C092;C092;1108 1175 11A9;C092;1108 1175 11A9;
+C093;C093;1108 1175 11AA;C093;1108 1175 11AA;
+C094;C094;1108 1175 11AB;C094;1108 1175 11AB;
+C095;C095;1108 1175 11AC;C095;1108 1175 11AC;
+C096;C096;1108 1175 11AD;C096;1108 1175 11AD;
+C097;C097;1108 1175 11AE;C097;1108 1175 11AE;
+C098;C098;1108 1175 11AF;C098;1108 1175 11AF;
+C099;C099;1108 1175 11B0;C099;1108 1175 11B0;
+C09A;C09A;1108 1175 11B1;C09A;1108 1175 11B1;
+C09B;C09B;1108 1175 11B2;C09B;1108 1175 11B2;
+C09C;C09C;1108 1175 11B3;C09C;1108 1175 11B3;
+C09D;C09D;1108 1175 11B4;C09D;1108 1175 11B4;
+C09E;C09E;1108 1175 11B5;C09E;1108 1175 11B5;
+C09F;C09F;1108 1175 11B6;C09F;1108 1175 11B6;
+C0A0;C0A0;1108 1175 11B7;C0A0;1108 1175 11B7;
+C0A1;C0A1;1108 1175 11B8;C0A1;1108 1175 11B8;
+C0A2;C0A2;1108 1175 11B9;C0A2;1108 1175 11B9;
+C0A3;C0A3;1108 1175 11BA;C0A3;1108 1175 11BA;
+C0A4;C0A4;1108 1175 11BB;C0A4;1108 1175 11BB;
+C0A5;C0A5;1108 1175 11BC;C0A5;1108 1175 11BC;
+C0A6;C0A6;1108 1175 11BD;C0A6;1108 1175 11BD;
+C0A7;C0A7;1108 1175 11BE;C0A7;1108 1175 11BE;
+C0A8;C0A8;1108 1175 11BF;C0A8;1108 1175 11BF;
+C0A9;C0A9;1108 1175 11C0;C0A9;1108 1175 11C0;
+C0AA;C0AA;1108 1175 11C1;C0AA;1108 1175 11C1;
+C0AB;C0AB;1108 1175 11C2;C0AB;1108 1175 11C2;
+C0AC;C0AC;1109 1161;C0AC;1109 1161;
+C0AD;C0AD;1109 1161 11A8;C0AD;1109 1161 11A8;
+C0AE;C0AE;1109 1161 11A9;C0AE;1109 1161 11A9;
+C0AF;C0AF;1109 1161 11AA;C0AF;1109 1161 11AA;
+C0B0;C0B0;1109 1161 11AB;C0B0;1109 1161 11AB;
+C0B1;C0B1;1109 1161 11AC;C0B1;1109 1161 11AC;
+C0B2;C0B2;1109 1161 11AD;C0B2;1109 1161 11AD;
+C0B3;C0B3;1109 1161 11AE;C0B3;1109 1161 11AE;
+C0B4;C0B4;1109 1161 11AF;C0B4;1109 1161 11AF;
+C0B5;C0B5;1109 1161 11B0;C0B5;1109 1161 11B0;
+C0B6;C0B6;1109 1161 11B1;C0B6;1109 1161 11B1;
+C0B7;C0B7;1109 1161 11B2;C0B7;1109 1161 11B2;
+C0B8;C0B8;1109 1161 11B3;C0B8;1109 1161 11B3;
+C0B9;C0B9;1109 1161 11B4;C0B9;1109 1161 11B4;
+C0BA;C0BA;1109 1161 11B5;C0BA;1109 1161 11B5;
+C0BB;C0BB;1109 1161 11B6;C0BB;1109 1161 11B6;
+C0BC;C0BC;1109 1161 11B7;C0BC;1109 1161 11B7;
+C0BD;C0BD;1109 1161 11B8;C0BD;1109 1161 11B8;
+C0BE;C0BE;1109 1161 11B9;C0BE;1109 1161 11B9;
+C0BF;C0BF;1109 1161 11BA;C0BF;1109 1161 11BA;
+C0C0;C0C0;1109 1161 11BB;C0C0;1109 1161 11BB;
+C0C1;C0C1;1109 1161 11BC;C0C1;1109 1161 11BC;
+C0C2;C0C2;1109 1161 11BD;C0C2;1109 1161 11BD;
+C0C3;C0C3;1109 1161 11BE;C0C3;1109 1161 11BE;
+C0C4;C0C4;1109 1161 11BF;C0C4;1109 1161 11BF;
+C0C5;C0C5;1109 1161 11C0;C0C5;1109 1161 11C0;
+C0C6;C0C6;1109 1161 11C1;C0C6;1109 1161 11C1;
+C0C7;C0C7;1109 1161 11C2;C0C7;1109 1161 11C2;
+C0C8;C0C8;1109 1162;C0C8;1109 1162;
+C0C9;C0C9;1109 1162 11A8;C0C9;1109 1162 11A8;
+C0CA;C0CA;1109 1162 11A9;C0CA;1109 1162 11A9;
+C0CB;C0CB;1109 1162 11AA;C0CB;1109 1162 11AA;
+C0CC;C0CC;1109 1162 11AB;C0CC;1109 1162 11AB;
+C0CD;C0CD;1109 1162 11AC;C0CD;1109 1162 11AC;
+C0CE;C0CE;1109 1162 11AD;C0CE;1109 1162 11AD;
+C0CF;C0CF;1109 1162 11AE;C0CF;1109 1162 11AE;
+C0D0;C0D0;1109 1162 11AF;C0D0;1109 1162 11AF;
+C0D1;C0D1;1109 1162 11B0;C0D1;1109 1162 11B0;
+C0D2;C0D2;1109 1162 11B1;C0D2;1109 1162 11B1;
+C0D3;C0D3;1109 1162 11B2;C0D3;1109 1162 11B2;
+C0D4;C0D4;1109 1162 11B3;C0D4;1109 1162 11B3;
+C0D5;C0D5;1109 1162 11B4;C0D5;1109 1162 11B4;
+C0D6;C0D6;1109 1162 11B5;C0D6;1109 1162 11B5;
+C0D7;C0D7;1109 1162 11B6;C0D7;1109 1162 11B6;
+C0D8;C0D8;1109 1162 11B7;C0D8;1109 1162 11B7;
+C0D9;C0D9;1109 1162 11B8;C0D9;1109 1162 11B8;
+C0DA;C0DA;1109 1162 11B9;C0DA;1109 1162 11B9;
+C0DB;C0DB;1109 1162 11BA;C0DB;1109 1162 11BA;
+C0DC;C0DC;1109 1162 11BB;C0DC;1109 1162 11BB;
+C0DD;C0DD;1109 1162 11BC;C0DD;1109 1162 11BC;
+C0DE;C0DE;1109 1162 11BD;C0DE;1109 1162 11BD;
+C0DF;C0DF;1109 1162 11BE;C0DF;1109 1162 11BE;
+C0E0;C0E0;1109 1162 11BF;C0E0;1109 1162 11BF;
+C0E1;C0E1;1109 1162 11C0;C0E1;1109 1162 11C0;
+C0E2;C0E2;1109 1162 11C1;C0E2;1109 1162 11C1;
+C0E3;C0E3;1109 1162 11C2;C0E3;1109 1162 11C2;
+C0E4;C0E4;1109 1163;C0E4;1109 1163;
+C0E5;C0E5;1109 1163 11A8;C0E5;1109 1163 11A8;
+C0E6;C0E6;1109 1163 11A9;C0E6;1109 1163 11A9;
+C0E7;C0E7;1109 1163 11AA;C0E7;1109 1163 11AA;
+C0E8;C0E8;1109 1163 11AB;C0E8;1109 1163 11AB;
+C0E9;C0E9;1109 1163 11AC;C0E9;1109 1163 11AC;
+C0EA;C0EA;1109 1163 11AD;C0EA;1109 1163 11AD;
+C0EB;C0EB;1109 1163 11AE;C0EB;1109 1163 11AE;
+C0EC;C0EC;1109 1163 11AF;C0EC;1109 1163 11AF;
+C0ED;C0ED;1109 1163 11B0;C0ED;1109 1163 11B0;
+C0EE;C0EE;1109 1163 11B1;C0EE;1109 1163 11B1;
+C0EF;C0EF;1109 1163 11B2;C0EF;1109 1163 11B2;
+C0F0;C0F0;1109 1163 11B3;C0F0;1109 1163 11B3;
+C0F1;C0F1;1109 1163 11B4;C0F1;1109 1163 11B4;
+C0F2;C0F2;1109 1163 11B5;C0F2;1109 1163 11B5;
+C0F3;C0F3;1109 1163 11B6;C0F3;1109 1163 11B6;
+C0F4;C0F4;1109 1163 11B7;C0F4;1109 1163 11B7;
+C0F5;C0F5;1109 1163 11B8;C0F5;1109 1163 11B8;
+C0F6;C0F6;1109 1163 11B9;C0F6;1109 1163 11B9;
+C0F7;C0F7;1109 1163 11BA;C0F7;1109 1163 11BA;
+C0F8;C0F8;1109 1163 11BB;C0F8;1109 1163 11BB;
+C0F9;C0F9;1109 1163 11BC;C0F9;1109 1163 11BC;
+C0FA;C0FA;1109 1163 11BD;C0FA;1109 1163 11BD;
+C0FB;C0FB;1109 1163 11BE;C0FB;1109 1163 11BE;
+C0FC;C0FC;1109 1163 11BF;C0FC;1109 1163 11BF;
+C0FD;C0FD;1109 1163 11C0;C0FD;1109 1163 11C0;
+C0FE;C0FE;1109 1163 11C1;C0FE;1109 1163 11C1;
+C0FF;C0FF;1109 1163 11C2;C0FF;1109 1163 11C2;
+C100;C100;1109 1164;C100;1109 1164;
+C101;C101;1109 1164 11A8;C101;1109 1164 11A8;
+C102;C102;1109 1164 11A9;C102;1109 1164 11A9;
+C103;C103;1109 1164 11AA;C103;1109 1164 11AA;
+C104;C104;1109 1164 11AB;C104;1109 1164 11AB;
+C105;C105;1109 1164 11AC;C105;1109 1164 11AC;
+C106;C106;1109 1164 11AD;C106;1109 1164 11AD;
+C107;C107;1109 1164 11AE;C107;1109 1164 11AE;
+C108;C108;1109 1164 11AF;C108;1109 1164 11AF;
+C109;C109;1109 1164 11B0;C109;1109 1164 11B0;
+C10A;C10A;1109 1164 11B1;C10A;1109 1164 11B1;
+C10B;C10B;1109 1164 11B2;C10B;1109 1164 11B2;
+C10C;C10C;1109 1164 11B3;C10C;1109 1164 11B3;
+C10D;C10D;1109 1164 11B4;C10D;1109 1164 11B4;
+C10E;C10E;1109 1164 11B5;C10E;1109 1164 11B5;
+C10F;C10F;1109 1164 11B6;C10F;1109 1164 11B6;
+C110;C110;1109 1164 11B7;C110;1109 1164 11B7;
+C111;C111;1109 1164 11B8;C111;1109 1164 11B8;
+C112;C112;1109 1164 11B9;C112;1109 1164 11B9;
+C113;C113;1109 1164 11BA;C113;1109 1164 11BA;
+C114;C114;1109 1164 11BB;C114;1109 1164 11BB;
+C115;C115;1109 1164 11BC;C115;1109 1164 11BC;
+C116;C116;1109 1164 11BD;C116;1109 1164 11BD;
+C117;C117;1109 1164 11BE;C117;1109 1164 11BE;
+C118;C118;1109 1164 11BF;C118;1109 1164 11BF;
+C119;C119;1109 1164 11C0;C119;1109 1164 11C0;
+C11A;C11A;1109 1164 11C1;C11A;1109 1164 11C1;
+C11B;C11B;1109 1164 11C2;C11B;1109 1164 11C2;
+C11C;C11C;1109 1165;C11C;1109 1165;
+C11D;C11D;1109 1165 11A8;C11D;1109 1165 11A8;
+C11E;C11E;1109 1165 11A9;C11E;1109 1165 11A9;
+C11F;C11F;1109 1165 11AA;C11F;1109 1165 11AA;
+C120;C120;1109 1165 11AB;C120;1109 1165 11AB;
+C121;C121;1109 1165 11AC;C121;1109 1165 11AC;
+C122;C122;1109 1165 11AD;C122;1109 1165 11AD;
+C123;C123;1109 1165 11AE;C123;1109 1165 11AE;
+C124;C124;1109 1165 11AF;C124;1109 1165 11AF;
+C125;C125;1109 1165 11B0;C125;1109 1165 11B0;
+C126;C126;1109 1165 11B1;C126;1109 1165 11B1;
+C127;C127;1109 1165 11B2;C127;1109 1165 11B2;
+C128;C128;1109 1165 11B3;C128;1109 1165 11B3;
+C129;C129;1109 1165 11B4;C129;1109 1165 11B4;
+C12A;C12A;1109 1165 11B5;C12A;1109 1165 11B5;
+C12B;C12B;1109 1165 11B6;C12B;1109 1165 11B6;
+C12C;C12C;1109 1165 11B7;C12C;1109 1165 11B7;
+C12D;C12D;1109 1165 11B8;C12D;1109 1165 11B8;
+C12E;C12E;1109 1165 11B9;C12E;1109 1165 11B9;
+C12F;C12F;1109 1165 11BA;C12F;1109 1165 11BA;
+C130;C130;1109 1165 11BB;C130;1109 1165 11BB;
+C131;C131;1109 1165 11BC;C131;1109 1165 11BC;
+C132;C132;1109 1165 11BD;C132;1109 1165 11BD;
+C133;C133;1109 1165 11BE;C133;1109 1165 11BE;
+C134;C134;1109 1165 11BF;C134;1109 1165 11BF;
+C135;C135;1109 1165 11C0;C135;1109 1165 11C0;
+C136;C136;1109 1165 11C1;C136;1109 1165 11C1;
+C137;C137;1109 1165 11C2;C137;1109 1165 11C2;
+C138;C138;1109 1166;C138;1109 1166;
+C139;C139;1109 1166 11A8;C139;1109 1166 11A8;
+C13A;C13A;1109 1166 11A9;C13A;1109 1166 11A9;
+C13B;C13B;1109 1166 11AA;C13B;1109 1166 11AA;
+C13C;C13C;1109 1166 11AB;C13C;1109 1166 11AB;
+C13D;C13D;1109 1166 11AC;C13D;1109 1166 11AC;
+C13E;C13E;1109 1166 11AD;C13E;1109 1166 11AD;
+C13F;C13F;1109 1166 11AE;C13F;1109 1166 11AE;
+C140;C140;1109 1166 11AF;C140;1109 1166 11AF;
+C141;C141;1109 1166 11B0;C141;1109 1166 11B0;
+C142;C142;1109 1166 11B1;C142;1109 1166 11B1;
+C143;C143;1109 1166 11B2;C143;1109 1166 11B2;
+C144;C144;1109 1166 11B3;C144;1109 1166 11B3;
+C145;C145;1109 1166 11B4;C145;1109 1166 11B4;
+C146;C146;1109 1166 11B5;C146;1109 1166 11B5;
+C147;C147;1109 1166 11B6;C147;1109 1166 11B6;
+C148;C148;1109 1166 11B7;C148;1109 1166 11B7;
+C149;C149;1109 1166 11B8;C149;1109 1166 11B8;
+C14A;C14A;1109 1166 11B9;C14A;1109 1166 11B9;
+C14B;C14B;1109 1166 11BA;C14B;1109 1166 11BA;
+C14C;C14C;1109 1166 11BB;C14C;1109 1166 11BB;
+C14D;C14D;1109 1166 11BC;C14D;1109 1166 11BC;
+C14E;C14E;1109 1166 11BD;C14E;1109 1166 11BD;
+C14F;C14F;1109 1166 11BE;C14F;1109 1166 11BE;
+C150;C150;1109 1166 11BF;C150;1109 1166 11BF;
+C151;C151;1109 1166 11C0;C151;1109 1166 11C0;
+C152;C152;1109 1166 11C1;C152;1109 1166 11C1;
+C153;C153;1109 1166 11C2;C153;1109 1166 11C2;
+C154;C154;1109 1167;C154;1109 1167;
+C155;C155;1109 1167 11A8;C155;1109 1167 11A8;
+C156;C156;1109 1167 11A9;C156;1109 1167 11A9;
+C157;C157;1109 1167 11AA;C157;1109 1167 11AA;
+C158;C158;1109 1167 11AB;C158;1109 1167 11AB;
+C159;C159;1109 1167 11AC;C159;1109 1167 11AC;
+C15A;C15A;1109 1167 11AD;C15A;1109 1167 11AD;
+C15B;C15B;1109 1167 11AE;C15B;1109 1167 11AE;
+C15C;C15C;1109 1167 11AF;C15C;1109 1167 11AF;
+C15D;C15D;1109 1167 11B0;C15D;1109 1167 11B0;
+C15E;C15E;1109 1167 11B1;C15E;1109 1167 11B1;
+C15F;C15F;1109 1167 11B2;C15F;1109 1167 11B2;
+C160;C160;1109 1167 11B3;C160;1109 1167 11B3;
+C161;C161;1109 1167 11B4;C161;1109 1167 11B4;
+C162;C162;1109 1167 11B5;C162;1109 1167 11B5;
+C163;C163;1109 1167 11B6;C163;1109 1167 11B6;
+C164;C164;1109 1167 11B7;C164;1109 1167 11B7;
+C165;C165;1109 1167 11B8;C165;1109 1167 11B8;
+C166;C166;1109 1167 11B9;C166;1109 1167 11B9;
+C167;C167;1109 1167 11BA;C167;1109 1167 11BA;
+C168;C168;1109 1167 11BB;C168;1109 1167 11BB;
+C169;C169;1109 1167 11BC;C169;1109 1167 11BC;
+C16A;C16A;1109 1167 11BD;C16A;1109 1167 11BD;
+C16B;C16B;1109 1167 11BE;C16B;1109 1167 11BE;
+C16C;C16C;1109 1167 11BF;C16C;1109 1167 11BF;
+C16D;C16D;1109 1167 11C0;C16D;1109 1167 11C0;
+C16E;C16E;1109 1167 11C1;C16E;1109 1167 11C1;
+C16F;C16F;1109 1167 11C2;C16F;1109 1167 11C2;
+C170;C170;1109 1168;C170;1109 1168;
+C171;C171;1109 1168 11A8;C171;1109 1168 11A8;
+C172;C172;1109 1168 11A9;C172;1109 1168 11A9;
+C173;C173;1109 1168 11AA;C173;1109 1168 11AA;
+C174;C174;1109 1168 11AB;C174;1109 1168 11AB;
+C175;C175;1109 1168 11AC;C175;1109 1168 11AC;
+C176;C176;1109 1168 11AD;C176;1109 1168 11AD;
+C177;C177;1109 1168 11AE;C177;1109 1168 11AE;
+C178;C178;1109 1168 11AF;C178;1109 1168 11AF;
+C179;C179;1109 1168 11B0;C179;1109 1168 11B0;
+C17A;C17A;1109 1168 11B1;C17A;1109 1168 11B1;
+C17B;C17B;1109 1168 11B2;C17B;1109 1168 11B2;
+C17C;C17C;1109 1168 11B3;C17C;1109 1168 11B3;
+C17D;C17D;1109 1168 11B4;C17D;1109 1168 11B4;
+C17E;C17E;1109 1168 11B5;C17E;1109 1168 11B5;
+C17F;C17F;1109 1168 11B6;C17F;1109 1168 11B6;
+C180;C180;1109 1168 11B7;C180;1109 1168 11B7;
+C181;C181;1109 1168 11B8;C181;1109 1168 11B8;
+C182;C182;1109 1168 11B9;C182;1109 1168 11B9;
+C183;C183;1109 1168 11BA;C183;1109 1168 11BA;
+C184;C184;1109 1168 11BB;C184;1109 1168 11BB;
+C185;C185;1109 1168 11BC;C185;1109 1168 11BC;
+C186;C186;1109 1168 11BD;C186;1109 1168 11BD;
+C187;C187;1109 1168 11BE;C187;1109 1168 11BE;
+C188;C188;1109 1168 11BF;C188;1109 1168 11BF;
+C189;C189;1109 1168 11C0;C189;1109 1168 11C0;
+C18A;C18A;1109 1168 11C1;C18A;1109 1168 11C1;
+C18B;C18B;1109 1168 11C2;C18B;1109 1168 11C2;
+C18C;C18C;1109 1169;C18C;1109 1169;
+C18D;C18D;1109 1169 11A8;C18D;1109 1169 11A8;
+C18E;C18E;1109 1169 11A9;C18E;1109 1169 11A9;
+C18F;C18F;1109 1169 11AA;C18F;1109 1169 11AA;
+C190;C190;1109 1169 11AB;C190;1109 1169 11AB;
+C191;C191;1109 1169 11AC;C191;1109 1169 11AC;
+C192;C192;1109 1169 11AD;C192;1109 1169 11AD;
+C193;C193;1109 1169 11AE;C193;1109 1169 11AE;
+C194;C194;1109 1169 11AF;C194;1109 1169 11AF;
+C195;C195;1109 1169 11B0;C195;1109 1169 11B0;
+C196;C196;1109 1169 11B1;C196;1109 1169 11B1;
+C197;C197;1109 1169 11B2;C197;1109 1169 11B2;
+C198;C198;1109 1169 11B3;C198;1109 1169 11B3;
+C199;C199;1109 1169 11B4;C199;1109 1169 11B4;
+C19A;C19A;1109 1169 11B5;C19A;1109 1169 11B5;
+C19B;C19B;1109 1169 11B6;C19B;1109 1169 11B6;
+C19C;C19C;1109 1169 11B7;C19C;1109 1169 11B7;
+C19D;C19D;1109 1169 11B8;C19D;1109 1169 11B8;
+C19E;C19E;1109 1169 11B9;C19E;1109 1169 11B9;
+C19F;C19F;1109 1169 11BA;C19F;1109 1169 11BA;
+C1A0;C1A0;1109 1169 11BB;C1A0;1109 1169 11BB;
+C1A1;C1A1;1109 1169 11BC;C1A1;1109 1169 11BC;
+C1A2;C1A2;1109 1169 11BD;C1A2;1109 1169 11BD;
+C1A3;C1A3;1109 1169 11BE;C1A3;1109 1169 11BE;
+C1A4;C1A4;1109 1169 11BF;C1A4;1109 1169 11BF;
+C1A5;C1A5;1109 1169 11C0;C1A5;1109 1169 11C0;
+C1A6;C1A6;1109 1169 11C1;C1A6;1109 1169 11C1;
+C1A7;C1A7;1109 1169 11C2;C1A7;1109 1169 11C2;
+C1A8;C1A8;1109 116A;C1A8;1109 116A;
+C1A9;C1A9;1109 116A 11A8;C1A9;1109 116A 11A8;
+C1AA;C1AA;1109 116A 11A9;C1AA;1109 116A 11A9;
+C1AB;C1AB;1109 116A 11AA;C1AB;1109 116A 11AA;
+C1AC;C1AC;1109 116A 11AB;C1AC;1109 116A 11AB;
+C1AD;C1AD;1109 116A 11AC;C1AD;1109 116A 11AC;
+C1AE;C1AE;1109 116A 11AD;C1AE;1109 116A 11AD;
+C1AF;C1AF;1109 116A 11AE;C1AF;1109 116A 11AE;
+C1B0;C1B0;1109 116A 11AF;C1B0;1109 116A 11AF;
+C1B1;C1B1;1109 116A 11B0;C1B1;1109 116A 11B0;
+C1B2;C1B2;1109 116A 11B1;C1B2;1109 116A 11B1;
+C1B3;C1B3;1109 116A 11B2;C1B3;1109 116A 11B2;
+C1B4;C1B4;1109 116A 11B3;C1B4;1109 116A 11B3;
+C1B5;C1B5;1109 116A 11B4;C1B5;1109 116A 11B4;
+C1B6;C1B6;1109 116A 11B5;C1B6;1109 116A 11B5;
+C1B7;C1B7;1109 116A 11B6;C1B7;1109 116A 11B6;
+C1B8;C1B8;1109 116A 11B7;C1B8;1109 116A 11B7;
+C1B9;C1B9;1109 116A 11B8;C1B9;1109 116A 11B8;
+C1BA;C1BA;1109 116A 11B9;C1BA;1109 116A 11B9;
+C1BB;C1BB;1109 116A 11BA;C1BB;1109 116A 11BA;
+C1BC;C1BC;1109 116A 11BB;C1BC;1109 116A 11BB;
+C1BD;C1BD;1109 116A 11BC;C1BD;1109 116A 11BC;
+C1BE;C1BE;1109 116A 11BD;C1BE;1109 116A 11BD;
+C1BF;C1BF;1109 116A 11BE;C1BF;1109 116A 11BE;
+C1C0;C1C0;1109 116A 11BF;C1C0;1109 116A 11BF;
+C1C1;C1C1;1109 116A 11C0;C1C1;1109 116A 11C0;
+C1C2;C1C2;1109 116A 11C1;C1C2;1109 116A 11C1;
+C1C3;C1C3;1109 116A 11C2;C1C3;1109 116A 11C2;
+C1C4;C1C4;1109 116B;C1C4;1109 116B;
+C1C5;C1C5;1109 116B 11A8;C1C5;1109 116B 11A8;
+C1C6;C1C6;1109 116B 11A9;C1C6;1109 116B 11A9;
+C1C7;C1C7;1109 116B 11AA;C1C7;1109 116B 11AA;
+C1C8;C1C8;1109 116B 11AB;C1C8;1109 116B 11AB;
+C1C9;C1C9;1109 116B 11AC;C1C9;1109 116B 11AC;
+C1CA;C1CA;1109 116B 11AD;C1CA;1109 116B 11AD;
+C1CB;C1CB;1109 116B 11AE;C1CB;1109 116B 11AE;
+C1CC;C1CC;1109 116B 11AF;C1CC;1109 116B 11AF;
+C1CD;C1CD;1109 116B 11B0;C1CD;1109 116B 11B0;
+C1CE;C1CE;1109 116B 11B1;C1CE;1109 116B 11B1;
+C1CF;C1CF;1109 116B 11B2;C1CF;1109 116B 11B2;
+C1D0;C1D0;1109 116B 11B3;C1D0;1109 116B 11B3;
+C1D1;C1D1;1109 116B 11B4;C1D1;1109 116B 11B4;
+C1D2;C1D2;1109 116B 11B5;C1D2;1109 116B 11B5;
+C1D3;C1D3;1109 116B 11B6;C1D3;1109 116B 11B6;
+C1D4;C1D4;1109 116B 11B7;C1D4;1109 116B 11B7;
+C1D5;C1D5;1109 116B 11B8;C1D5;1109 116B 11B8;
+C1D6;C1D6;1109 116B 11B9;C1D6;1109 116B 11B9;
+C1D7;C1D7;1109 116B 11BA;C1D7;1109 116B 11BA;
+C1D8;C1D8;1109 116B 11BB;C1D8;1109 116B 11BB;
+C1D9;C1D9;1109 116B 11BC;C1D9;1109 116B 11BC;
+C1DA;C1DA;1109 116B 11BD;C1DA;1109 116B 11BD;
+C1DB;C1DB;1109 116B 11BE;C1DB;1109 116B 11BE;
+C1DC;C1DC;1109 116B 11BF;C1DC;1109 116B 11BF;
+C1DD;C1DD;1109 116B 11C0;C1DD;1109 116B 11C0;
+C1DE;C1DE;1109 116B 11C1;C1DE;1109 116B 11C1;
+C1DF;C1DF;1109 116B 11C2;C1DF;1109 116B 11C2;
+C1E0;C1E0;1109 116C;C1E0;1109 116C;
+C1E1;C1E1;1109 116C 11A8;C1E1;1109 116C 11A8;
+C1E2;C1E2;1109 116C 11A9;C1E2;1109 116C 11A9;
+C1E3;C1E3;1109 116C 11AA;C1E3;1109 116C 11AA;
+C1E4;C1E4;1109 116C 11AB;C1E4;1109 116C 11AB;
+C1E5;C1E5;1109 116C 11AC;C1E5;1109 116C 11AC;
+C1E6;C1E6;1109 116C 11AD;C1E6;1109 116C 11AD;
+C1E7;C1E7;1109 116C 11AE;C1E7;1109 116C 11AE;
+C1E8;C1E8;1109 116C 11AF;C1E8;1109 116C 11AF;
+C1E9;C1E9;1109 116C 11B0;C1E9;1109 116C 11B0;
+C1EA;C1EA;1109 116C 11B1;C1EA;1109 116C 11B1;
+C1EB;C1EB;1109 116C 11B2;C1EB;1109 116C 11B2;
+C1EC;C1EC;1109 116C 11B3;C1EC;1109 116C 11B3;
+C1ED;C1ED;1109 116C 11B4;C1ED;1109 116C 11B4;
+C1EE;C1EE;1109 116C 11B5;C1EE;1109 116C 11B5;
+C1EF;C1EF;1109 116C 11B6;C1EF;1109 116C 11B6;
+C1F0;C1F0;1109 116C 11B7;C1F0;1109 116C 11B7;
+C1F1;C1F1;1109 116C 11B8;C1F1;1109 116C 11B8;
+C1F2;C1F2;1109 116C 11B9;C1F2;1109 116C 11B9;
+C1F3;C1F3;1109 116C 11BA;C1F3;1109 116C 11BA;
+C1F4;C1F4;1109 116C 11BB;C1F4;1109 116C 11BB;
+C1F5;C1F5;1109 116C 11BC;C1F5;1109 116C 11BC;
+C1F6;C1F6;1109 116C 11BD;C1F6;1109 116C 11BD;
+C1F7;C1F7;1109 116C 11BE;C1F7;1109 116C 11BE;
+C1F8;C1F8;1109 116C 11BF;C1F8;1109 116C 11BF;
+C1F9;C1F9;1109 116C 11C0;C1F9;1109 116C 11C0;
+C1FA;C1FA;1109 116C 11C1;C1FA;1109 116C 11C1;
+C1FB;C1FB;1109 116C 11C2;C1FB;1109 116C 11C2;
+C1FC;C1FC;1109 116D;C1FC;1109 116D;
+C1FD;C1FD;1109 116D 11A8;C1FD;1109 116D 11A8;
+C1FE;C1FE;1109 116D 11A9;C1FE;1109 116D 11A9;
+C1FF;C1FF;1109 116D 11AA;C1FF;1109 116D 11AA;
+C200;C200;1109 116D 11AB;C200;1109 116D 11AB;
+C201;C201;1109 116D 11AC;C201;1109 116D 11AC;
+C202;C202;1109 116D 11AD;C202;1109 116D 11AD;
+C203;C203;1109 116D 11AE;C203;1109 116D 11AE;
+C204;C204;1109 116D 11AF;C204;1109 116D 11AF;
+C205;C205;1109 116D 11B0;C205;1109 116D 11B0;
+C206;C206;1109 116D 11B1;C206;1109 116D 11B1;
+C207;C207;1109 116D 11B2;C207;1109 116D 11B2;
+C208;C208;1109 116D 11B3;C208;1109 116D 11B3;
+C209;C209;1109 116D 11B4;C209;1109 116D 11B4;
+C20A;C20A;1109 116D 11B5;C20A;1109 116D 11B5;
+C20B;C20B;1109 116D 11B6;C20B;1109 116D 11B6;
+C20C;C20C;1109 116D 11B7;C20C;1109 116D 11B7;
+C20D;C20D;1109 116D 11B8;C20D;1109 116D 11B8;
+C20E;C20E;1109 116D 11B9;C20E;1109 116D 11B9;
+C20F;C20F;1109 116D 11BA;C20F;1109 116D 11BA;
+C210;C210;1109 116D 11BB;C210;1109 116D 11BB;
+C211;C211;1109 116D 11BC;C211;1109 116D 11BC;
+C212;C212;1109 116D 11BD;C212;1109 116D 11BD;
+C213;C213;1109 116D 11BE;C213;1109 116D 11BE;
+C214;C214;1109 116D 11BF;C214;1109 116D 11BF;
+C215;C215;1109 116D 11C0;C215;1109 116D 11C0;
+C216;C216;1109 116D 11C1;C216;1109 116D 11C1;
+C217;C217;1109 116D 11C2;C217;1109 116D 11C2;
+C218;C218;1109 116E;C218;1109 116E;
+C219;C219;1109 116E 11A8;C219;1109 116E 11A8;
+C21A;C21A;1109 116E 11A9;C21A;1109 116E 11A9;
+C21B;C21B;1109 116E 11AA;C21B;1109 116E 11AA;
+C21C;C21C;1109 116E 11AB;C21C;1109 116E 11AB;
+C21D;C21D;1109 116E 11AC;C21D;1109 116E 11AC;
+C21E;C21E;1109 116E 11AD;C21E;1109 116E 11AD;
+C21F;C21F;1109 116E 11AE;C21F;1109 116E 11AE;
+C220;C220;1109 116E 11AF;C220;1109 116E 11AF;
+C221;C221;1109 116E 11B0;C221;1109 116E 11B0;
+C222;C222;1109 116E 11B1;C222;1109 116E 11B1;
+C223;C223;1109 116E 11B2;C223;1109 116E 11B2;
+C224;C224;1109 116E 11B3;C224;1109 116E 11B3;
+C225;C225;1109 116E 11B4;C225;1109 116E 11B4;
+C226;C226;1109 116E 11B5;C226;1109 116E 11B5;
+C227;C227;1109 116E 11B6;C227;1109 116E 11B6;
+C228;C228;1109 116E 11B7;C228;1109 116E 11B7;
+C229;C229;1109 116E 11B8;C229;1109 116E 11B8;
+C22A;C22A;1109 116E 11B9;C22A;1109 116E 11B9;
+C22B;C22B;1109 116E 11BA;C22B;1109 116E 11BA;
+C22C;C22C;1109 116E 11BB;C22C;1109 116E 11BB;
+C22D;C22D;1109 116E 11BC;C22D;1109 116E 11BC;
+C22E;C22E;1109 116E 11BD;C22E;1109 116E 11BD;
+C22F;C22F;1109 116E 11BE;C22F;1109 116E 11BE;
+C230;C230;1109 116E 11BF;C230;1109 116E 11BF;
+C231;C231;1109 116E 11C0;C231;1109 116E 11C0;
+C232;C232;1109 116E 11C1;C232;1109 116E 11C1;
+C233;C233;1109 116E 11C2;C233;1109 116E 11C2;
+C234;C234;1109 116F;C234;1109 116F;
+C235;C235;1109 116F 11A8;C235;1109 116F 11A8;
+C236;C236;1109 116F 11A9;C236;1109 116F 11A9;
+C237;C237;1109 116F 11AA;C237;1109 116F 11AA;
+C238;C238;1109 116F 11AB;C238;1109 116F 11AB;
+C239;C239;1109 116F 11AC;C239;1109 116F 11AC;
+C23A;C23A;1109 116F 11AD;C23A;1109 116F 11AD;
+C23B;C23B;1109 116F 11AE;C23B;1109 116F 11AE;
+C23C;C23C;1109 116F 11AF;C23C;1109 116F 11AF;
+C23D;C23D;1109 116F 11B0;C23D;1109 116F 11B0;
+C23E;C23E;1109 116F 11B1;C23E;1109 116F 11B1;
+C23F;C23F;1109 116F 11B2;C23F;1109 116F 11B2;
+C240;C240;1109 116F 11B3;C240;1109 116F 11B3;
+C241;C241;1109 116F 11B4;C241;1109 116F 11B4;
+C242;C242;1109 116F 11B5;C242;1109 116F 11B5;
+C243;C243;1109 116F 11B6;C243;1109 116F 11B6;
+C244;C244;1109 116F 11B7;C244;1109 116F 11B7;
+C245;C245;1109 116F 11B8;C245;1109 116F 11B8;
+C246;C246;1109 116F 11B9;C246;1109 116F 11B9;
+C247;C247;1109 116F 11BA;C247;1109 116F 11BA;
+C248;C248;1109 116F 11BB;C248;1109 116F 11BB;
+C249;C249;1109 116F 11BC;C249;1109 116F 11BC;
+C24A;C24A;1109 116F 11BD;C24A;1109 116F 11BD;
+C24B;C24B;1109 116F 11BE;C24B;1109 116F 11BE;
+C24C;C24C;1109 116F 11BF;C24C;1109 116F 11BF;
+C24D;C24D;1109 116F 11C0;C24D;1109 116F 11C0;
+C24E;C24E;1109 116F 11C1;C24E;1109 116F 11C1;
+C24F;C24F;1109 116F 11C2;C24F;1109 116F 11C2;
+C250;C250;1109 1170;C250;1109 1170;
+C251;C251;1109 1170 11A8;C251;1109 1170 11A8;
+C252;C252;1109 1170 11A9;C252;1109 1170 11A9;
+C253;C253;1109 1170 11AA;C253;1109 1170 11AA;
+C254;C254;1109 1170 11AB;C254;1109 1170 11AB;
+C255;C255;1109 1170 11AC;C255;1109 1170 11AC;
+C256;C256;1109 1170 11AD;C256;1109 1170 11AD;
+C257;C257;1109 1170 11AE;C257;1109 1170 11AE;
+C258;C258;1109 1170 11AF;C258;1109 1170 11AF;
+C259;C259;1109 1170 11B0;C259;1109 1170 11B0;
+C25A;C25A;1109 1170 11B1;C25A;1109 1170 11B1;
+C25B;C25B;1109 1170 11B2;C25B;1109 1170 11B2;
+C25C;C25C;1109 1170 11B3;C25C;1109 1170 11B3;
+C25D;C25D;1109 1170 11B4;C25D;1109 1170 11B4;
+C25E;C25E;1109 1170 11B5;C25E;1109 1170 11B5;
+C25F;C25F;1109 1170 11B6;C25F;1109 1170 11B6;
+C260;C260;1109 1170 11B7;C260;1109 1170 11B7;
+C261;C261;1109 1170 11B8;C261;1109 1170 11B8;
+C262;C262;1109 1170 11B9;C262;1109 1170 11B9;
+C263;C263;1109 1170 11BA;C263;1109 1170 11BA;
+C264;C264;1109 1170 11BB;C264;1109 1170 11BB;
+C265;C265;1109 1170 11BC;C265;1109 1170 11BC;
+C266;C266;1109 1170 11BD;C266;1109 1170 11BD;
+C267;C267;1109 1170 11BE;C267;1109 1170 11BE;
+C268;C268;1109 1170 11BF;C268;1109 1170 11BF;
+C269;C269;1109 1170 11C0;C269;1109 1170 11C0;
+C26A;C26A;1109 1170 11C1;C26A;1109 1170 11C1;
+C26B;C26B;1109 1170 11C2;C26B;1109 1170 11C2;
+C26C;C26C;1109 1171;C26C;1109 1171;
+C26D;C26D;1109 1171 11A8;C26D;1109 1171 11A8;
+C26E;C26E;1109 1171 11A9;C26E;1109 1171 11A9;
+C26F;C26F;1109 1171 11AA;C26F;1109 1171 11AA;
+C270;C270;1109 1171 11AB;C270;1109 1171 11AB;
+C271;C271;1109 1171 11AC;C271;1109 1171 11AC;
+C272;C272;1109 1171 11AD;C272;1109 1171 11AD;
+C273;C273;1109 1171 11AE;C273;1109 1171 11AE;
+C274;C274;1109 1171 11AF;C274;1109 1171 11AF;
+C275;C275;1109 1171 11B0;C275;1109 1171 11B0;
+C276;C276;1109 1171 11B1;C276;1109 1171 11B1;
+C277;C277;1109 1171 11B2;C277;1109 1171 11B2;
+C278;C278;1109 1171 11B3;C278;1109 1171 11B3;
+C279;C279;1109 1171 11B4;C279;1109 1171 11B4;
+C27A;C27A;1109 1171 11B5;C27A;1109 1171 11B5;
+C27B;C27B;1109 1171 11B6;C27B;1109 1171 11B6;
+C27C;C27C;1109 1171 11B7;C27C;1109 1171 11B7;
+C27D;C27D;1109 1171 11B8;C27D;1109 1171 11B8;
+C27E;C27E;1109 1171 11B9;C27E;1109 1171 11B9;
+C27F;C27F;1109 1171 11BA;C27F;1109 1171 11BA;
+C280;C280;1109 1171 11BB;C280;1109 1171 11BB;
+C281;C281;1109 1171 11BC;C281;1109 1171 11BC;
+C282;C282;1109 1171 11BD;C282;1109 1171 11BD;
+C283;C283;1109 1171 11BE;C283;1109 1171 11BE;
+C284;C284;1109 1171 11BF;C284;1109 1171 11BF;
+C285;C285;1109 1171 11C0;C285;1109 1171 11C0;
+C286;C286;1109 1171 11C1;C286;1109 1171 11C1;
+C287;C287;1109 1171 11C2;C287;1109 1171 11C2;
+C288;C288;1109 1172;C288;1109 1172;
+C289;C289;1109 1172 11A8;C289;1109 1172 11A8;
+C28A;C28A;1109 1172 11A9;C28A;1109 1172 11A9;
+C28B;C28B;1109 1172 11AA;C28B;1109 1172 11AA;
+C28C;C28C;1109 1172 11AB;C28C;1109 1172 11AB;
+C28D;C28D;1109 1172 11AC;C28D;1109 1172 11AC;
+C28E;C28E;1109 1172 11AD;C28E;1109 1172 11AD;
+C28F;C28F;1109 1172 11AE;C28F;1109 1172 11AE;
+C290;C290;1109 1172 11AF;C290;1109 1172 11AF;
+C291;C291;1109 1172 11B0;C291;1109 1172 11B0;
+C292;C292;1109 1172 11B1;C292;1109 1172 11B1;
+C293;C293;1109 1172 11B2;C293;1109 1172 11B2;
+C294;C294;1109 1172 11B3;C294;1109 1172 11B3;
+C295;C295;1109 1172 11B4;C295;1109 1172 11B4;
+C296;C296;1109 1172 11B5;C296;1109 1172 11B5;
+C297;C297;1109 1172 11B6;C297;1109 1172 11B6;
+C298;C298;1109 1172 11B7;C298;1109 1172 11B7;
+C299;C299;1109 1172 11B8;C299;1109 1172 11B8;
+C29A;C29A;1109 1172 11B9;C29A;1109 1172 11B9;
+C29B;C29B;1109 1172 11BA;C29B;1109 1172 11BA;
+C29C;C29C;1109 1172 11BB;C29C;1109 1172 11BB;
+C29D;C29D;1109 1172 11BC;C29D;1109 1172 11BC;
+C29E;C29E;1109 1172 11BD;C29E;1109 1172 11BD;
+C29F;C29F;1109 1172 11BE;C29F;1109 1172 11BE;
+C2A0;C2A0;1109 1172 11BF;C2A0;1109 1172 11BF;
+C2A1;C2A1;1109 1172 11C0;C2A1;1109 1172 11C0;
+C2A2;C2A2;1109 1172 11C1;C2A2;1109 1172 11C1;
+C2A3;C2A3;1109 1172 11C2;C2A3;1109 1172 11C2;
+C2A4;C2A4;1109 1173;C2A4;1109 1173;
+C2A5;C2A5;1109 1173 11A8;C2A5;1109 1173 11A8;
+C2A6;C2A6;1109 1173 11A9;C2A6;1109 1173 11A9;
+C2A7;C2A7;1109 1173 11AA;C2A7;1109 1173 11AA;
+C2A8;C2A8;1109 1173 11AB;C2A8;1109 1173 11AB;
+C2A9;C2A9;1109 1173 11AC;C2A9;1109 1173 11AC;
+C2AA;C2AA;1109 1173 11AD;C2AA;1109 1173 11AD;
+C2AB;C2AB;1109 1173 11AE;C2AB;1109 1173 11AE;
+C2AC;C2AC;1109 1173 11AF;C2AC;1109 1173 11AF;
+C2AD;C2AD;1109 1173 11B0;C2AD;1109 1173 11B0;
+C2AE;C2AE;1109 1173 11B1;C2AE;1109 1173 11B1;
+C2AF;C2AF;1109 1173 11B2;C2AF;1109 1173 11B2;
+C2B0;C2B0;1109 1173 11B3;C2B0;1109 1173 11B3;
+C2B1;C2B1;1109 1173 11B4;C2B1;1109 1173 11B4;
+C2B2;C2B2;1109 1173 11B5;C2B2;1109 1173 11B5;
+C2B3;C2B3;1109 1173 11B6;C2B3;1109 1173 11B6;
+C2B4;C2B4;1109 1173 11B7;C2B4;1109 1173 11B7;
+C2B5;C2B5;1109 1173 11B8;C2B5;1109 1173 11B8;
+C2B6;C2B6;1109 1173 11B9;C2B6;1109 1173 11B9;
+C2B7;C2B7;1109 1173 11BA;C2B7;1109 1173 11BA;
+C2B8;C2B8;1109 1173 11BB;C2B8;1109 1173 11BB;
+C2B9;C2B9;1109 1173 11BC;C2B9;1109 1173 11BC;
+C2BA;C2BA;1109 1173 11BD;C2BA;1109 1173 11BD;
+C2BB;C2BB;1109 1173 11BE;C2BB;1109 1173 11BE;
+C2BC;C2BC;1109 1173 11BF;C2BC;1109 1173 11BF;
+C2BD;C2BD;1109 1173 11C0;C2BD;1109 1173 11C0;
+C2BE;C2BE;1109 1173 11C1;C2BE;1109 1173 11C1;
+C2BF;C2BF;1109 1173 11C2;C2BF;1109 1173 11C2;
+C2C0;C2C0;1109 1174;C2C0;1109 1174;
+C2C1;C2C1;1109 1174 11A8;C2C1;1109 1174 11A8;
+C2C2;C2C2;1109 1174 11A9;C2C2;1109 1174 11A9;
+C2C3;C2C3;1109 1174 11AA;C2C3;1109 1174 11AA;
+C2C4;C2C4;1109 1174 11AB;C2C4;1109 1174 11AB;
+C2C5;C2C5;1109 1174 11AC;C2C5;1109 1174 11AC;
+C2C6;C2C6;1109 1174 11AD;C2C6;1109 1174 11AD;
+C2C7;C2C7;1109 1174 11AE;C2C7;1109 1174 11AE;
+C2C8;C2C8;1109 1174 11AF;C2C8;1109 1174 11AF;
+C2C9;C2C9;1109 1174 11B0;C2C9;1109 1174 11B0;
+C2CA;C2CA;1109 1174 11B1;C2CA;1109 1174 11B1;
+C2CB;C2CB;1109 1174 11B2;C2CB;1109 1174 11B2;
+C2CC;C2CC;1109 1174 11B3;C2CC;1109 1174 11B3;
+C2CD;C2CD;1109 1174 11B4;C2CD;1109 1174 11B4;
+C2CE;C2CE;1109 1174 11B5;C2CE;1109 1174 11B5;
+C2CF;C2CF;1109 1174 11B6;C2CF;1109 1174 11B6;
+C2D0;C2D0;1109 1174 11B7;C2D0;1109 1174 11B7;
+C2D1;C2D1;1109 1174 11B8;C2D1;1109 1174 11B8;
+C2D2;C2D2;1109 1174 11B9;C2D2;1109 1174 11B9;
+C2D3;C2D3;1109 1174 11BA;C2D3;1109 1174 11BA;
+C2D4;C2D4;1109 1174 11BB;C2D4;1109 1174 11BB;
+C2D5;C2D5;1109 1174 11BC;C2D5;1109 1174 11BC;
+C2D6;C2D6;1109 1174 11BD;C2D6;1109 1174 11BD;
+C2D7;C2D7;1109 1174 11BE;C2D7;1109 1174 11BE;
+C2D8;C2D8;1109 1174 11BF;C2D8;1109 1174 11BF;
+C2D9;C2D9;1109 1174 11C0;C2D9;1109 1174 11C0;
+C2DA;C2DA;1109 1174 11C1;C2DA;1109 1174 11C1;
+C2DB;C2DB;1109 1174 11C2;C2DB;1109 1174 11C2;
+C2DC;C2DC;1109 1175;C2DC;1109 1175;
+C2DD;C2DD;1109 1175 11A8;C2DD;1109 1175 11A8;
+C2DE;C2DE;1109 1175 11A9;C2DE;1109 1175 11A9;
+C2DF;C2DF;1109 1175 11AA;C2DF;1109 1175 11AA;
+C2E0;C2E0;1109 1175 11AB;C2E0;1109 1175 11AB;
+C2E1;C2E1;1109 1175 11AC;C2E1;1109 1175 11AC;
+C2E2;C2E2;1109 1175 11AD;C2E2;1109 1175 11AD;
+C2E3;C2E3;1109 1175 11AE;C2E3;1109 1175 11AE;
+C2E4;C2E4;1109 1175 11AF;C2E4;1109 1175 11AF;
+C2E5;C2E5;1109 1175 11B0;C2E5;1109 1175 11B0;
+C2E6;C2E6;1109 1175 11B1;C2E6;1109 1175 11B1;
+C2E7;C2E7;1109 1175 11B2;C2E7;1109 1175 11B2;
+C2E8;C2E8;1109 1175 11B3;C2E8;1109 1175 11B3;
+C2E9;C2E9;1109 1175 11B4;C2E9;1109 1175 11B4;
+C2EA;C2EA;1109 1175 11B5;C2EA;1109 1175 11B5;
+C2EB;C2EB;1109 1175 11B6;C2EB;1109 1175 11B6;
+C2EC;C2EC;1109 1175 11B7;C2EC;1109 1175 11B7;
+C2ED;C2ED;1109 1175 11B8;C2ED;1109 1175 11B8;
+C2EE;C2EE;1109 1175 11B9;C2EE;1109 1175 11B9;
+C2EF;C2EF;1109 1175 11BA;C2EF;1109 1175 11BA;
+C2F0;C2F0;1109 1175 11BB;C2F0;1109 1175 11BB;
+C2F1;C2F1;1109 1175 11BC;C2F1;1109 1175 11BC;
+C2F2;C2F2;1109 1175 11BD;C2F2;1109 1175 11BD;
+C2F3;C2F3;1109 1175 11BE;C2F3;1109 1175 11BE;
+C2F4;C2F4;1109 1175 11BF;C2F4;1109 1175 11BF;
+C2F5;C2F5;1109 1175 11C0;C2F5;1109 1175 11C0;
+C2F6;C2F6;1109 1175 11C1;C2F6;1109 1175 11C1;
+C2F7;C2F7;1109 1175 11C2;C2F7;1109 1175 11C2;
+C2F8;C2F8;110A 1161;C2F8;110A 1161;
+C2F9;C2F9;110A 1161 11A8;C2F9;110A 1161 11A8;
+C2FA;C2FA;110A 1161 11A9;C2FA;110A 1161 11A9;
+C2FB;C2FB;110A 1161 11AA;C2FB;110A 1161 11AA;
+C2FC;C2FC;110A 1161 11AB;C2FC;110A 1161 11AB;
+C2FD;C2FD;110A 1161 11AC;C2FD;110A 1161 11AC;
+C2FE;C2FE;110A 1161 11AD;C2FE;110A 1161 11AD;
+C2FF;C2FF;110A 1161 11AE;C2FF;110A 1161 11AE;
+C300;C300;110A 1161 11AF;C300;110A 1161 11AF;
+C301;C301;110A 1161 11B0;C301;110A 1161 11B0;
+C302;C302;110A 1161 11B1;C302;110A 1161 11B1;
+C303;C303;110A 1161 11B2;C303;110A 1161 11B2;
+C304;C304;110A 1161 11B3;C304;110A 1161 11B3;
+C305;C305;110A 1161 11B4;C305;110A 1161 11B4;
+C306;C306;110A 1161 11B5;C306;110A 1161 11B5;
+C307;C307;110A 1161 11B6;C307;110A 1161 11B6;
+C308;C308;110A 1161 11B7;C308;110A 1161 11B7;
+C309;C309;110A 1161 11B8;C309;110A 1161 11B8;
+C30A;C30A;110A 1161 11B9;C30A;110A 1161 11B9;
+C30B;C30B;110A 1161 11BA;C30B;110A 1161 11BA;
+C30C;C30C;110A 1161 11BB;C30C;110A 1161 11BB;
+C30D;C30D;110A 1161 11BC;C30D;110A 1161 11BC;
+C30E;C30E;110A 1161 11BD;C30E;110A 1161 11BD;
+C30F;C30F;110A 1161 11BE;C30F;110A 1161 11BE;
+C310;C310;110A 1161 11BF;C310;110A 1161 11BF;
+C311;C311;110A 1161 11C0;C311;110A 1161 11C0;
+C312;C312;110A 1161 11C1;C312;110A 1161 11C1;
+C313;C313;110A 1161 11C2;C313;110A 1161 11C2;
+C314;C314;110A 1162;C314;110A 1162;
+C315;C315;110A 1162 11A8;C315;110A 1162 11A8;
+C316;C316;110A 1162 11A9;C316;110A 1162 11A9;
+C317;C317;110A 1162 11AA;C317;110A 1162 11AA;
+C318;C318;110A 1162 11AB;C318;110A 1162 11AB;
+C319;C319;110A 1162 11AC;C319;110A 1162 11AC;
+C31A;C31A;110A 1162 11AD;C31A;110A 1162 11AD;
+C31B;C31B;110A 1162 11AE;C31B;110A 1162 11AE;
+C31C;C31C;110A 1162 11AF;C31C;110A 1162 11AF;
+C31D;C31D;110A 1162 11B0;C31D;110A 1162 11B0;
+C31E;C31E;110A 1162 11B1;C31E;110A 1162 11B1;
+C31F;C31F;110A 1162 11B2;C31F;110A 1162 11B2;
+C320;C320;110A 1162 11B3;C320;110A 1162 11B3;
+C321;C321;110A 1162 11B4;C321;110A 1162 11B4;
+C322;C322;110A 1162 11B5;C322;110A 1162 11B5;
+C323;C323;110A 1162 11B6;C323;110A 1162 11B6;
+C324;C324;110A 1162 11B7;C324;110A 1162 11B7;
+C325;C325;110A 1162 11B8;C325;110A 1162 11B8;
+C326;C326;110A 1162 11B9;C326;110A 1162 11B9;
+C327;C327;110A 1162 11BA;C327;110A 1162 11BA;
+C328;C328;110A 1162 11BB;C328;110A 1162 11BB;
+C329;C329;110A 1162 11BC;C329;110A 1162 11BC;
+C32A;C32A;110A 1162 11BD;C32A;110A 1162 11BD;
+C32B;C32B;110A 1162 11BE;C32B;110A 1162 11BE;
+C32C;C32C;110A 1162 11BF;C32C;110A 1162 11BF;
+C32D;C32D;110A 1162 11C0;C32D;110A 1162 11C0;
+C32E;C32E;110A 1162 11C1;C32E;110A 1162 11C1;
+C32F;C32F;110A 1162 11C2;C32F;110A 1162 11C2;
+C330;C330;110A 1163;C330;110A 1163;
+C331;C331;110A 1163 11A8;C331;110A 1163 11A8;
+C332;C332;110A 1163 11A9;C332;110A 1163 11A9;
+C333;C333;110A 1163 11AA;C333;110A 1163 11AA;
+C334;C334;110A 1163 11AB;C334;110A 1163 11AB;
+C335;C335;110A 1163 11AC;C335;110A 1163 11AC;
+C336;C336;110A 1163 11AD;C336;110A 1163 11AD;
+C337;C337;110A 1163 11AE;C337;110A 1163 11AE;
+C338;C338;110A 1163 11AF;C338;110A 1163 11AF;
+C339;C339;110A 1163 11B0;C339;110A 1163 11B0;
+C33A;C33A;110A 1163 11B1;C33A;110A 1163 11B1;
+C33B;C33B;110A 1163 11B2;C33B;110A 1163 11B2;
+C33C;C33C;110A 1163 11B3;C33C;110A 1163 11B3;
+C33D;C33D;110A 1163 11B4;C33D;110A 1163 11B4;
+C33E;C33E;110A 1163 11B5;C33E;110A 1163 11B5;
+C33F;C33F;110A 1163 11B6;C33F;110A 1163 11B6;
+C340;C340;110A 1163 11B7;C340;110A 1163 11B7;
+C341;C341;110A 1163 11B8;C341;110A 1163 11B8;
+C342;C342;110A 1163 11B9;C342;110A 1163 11B9;
+C343;C343;110A 1163 11BA;C343;110A 1163 11BA;
+C344;C344;110A 1163 11BB;C344;110A 1163 11BB;
+C345;C345;110A 1163 11BC;C345;110A 1163 11BC;
+C346;C346;110A 1163 11BD;C346;110A 1163 11BD;
+C347;C347;110A 1163 11BE;C347;110A 1163 11BE;
+C348;C348;110A 1163 11BF;C348;110A 1163 11BF;
+C349;C349;110A 1163 11C0;C349;110A 1163 11C0;
+C34A;C34A;110A 1163 11C1;C34A;110A 1163 11C1;
+C34B;C34B;110A 1163 11C2;C34B;110A 1163 11C2;
+C34C;C34C;110A 1164;C34C;110A 1164;
+C34D;C34D;110A 1164 11A8;C34D;110A 1164 11A8;
+C34E;C34E;110A 1164 11A9;C34E;110A 1164 11A9;
+C34F;C34F;110A 1164 11AA;C34F;110A 1164 11AA;
+C350;C350;110A 1164 11AB;C350;110A 1164 11AB;
+C351;C351;110A 1164 11AC;C351;110A 1164 11AC;
+C352;C352;110A 1164 11AD;C352;110A 1164 11AD;
+C353;C353;110A 1164 11AE;C353;110A 1164 11AE;
+C354;C354;110A 1164 11AF;C354;110A 1164 11AF;
+C355;C355;110A 1164 11B0;C355;110A 1164 11B0;
+C356;C356;110A 1164 11B1;C356;110A 1164 11B1;
+C357;C357;110A 1164 11B2;C357;110A 1164 11B2;
+C358;C358;110A 1164 11B3;C358;110A 1164 11B3;
+C359;C359;110A 1164 11B4;C359;110A 1164 11B4;
+C35A;C35A;110A 1164 11B5;C35A;110A 1164 11B5;
+C35B;C35B;110A 1164 11B6;C35B;110A 1164 11B6;
+C35C;C35C;110A 1164 11B7;C35C;110A 1164 11B7;
+C35D;C35D;110A 1164 11B8;C35D;110A 1164 11B8;
+C35E;C35E;110A 1164 11B9;C35E;110A 1164 11B9;
+C35F;C35F;110A 1164 11BA;C35F;110A 1164 11BA;
+C360;C360;110A 1164 11BB;C360;110A 1164 11BB;
+C361;C361;110A 1164 11BC;C361;110A 1164 11BC;
+C362;C362;110A 1164 11BD;C362;110A 1164 11BD;
+C363;C363;110A 1164 11BE;C363;110A 1164 11BE;
+C364;C364;110A 1164 11BF;C364;110A 1164 11BF;
+C365;C365;110A 1164 11C0;C365;110A 1164 11C0;
+C366;C366;110A 1164 11C1;C366;110A 1164 11C1;
+C367;C367;110A 1164 11C2;C367;110A 1164 11C2;
+C368;C368;110A 1165;C368;110A 1165;
+C369;C369;110A 1165 11A8;C369;110A 1165 11A8;
+C36A;C36A;110A 1165 11A9;C36A;110A 1165 11A9;
+C36B;C36B;110A 1165 11AA;C36B;110A 1165 11AA;
+C36C;C36C;110A 1165 11AB;C36C;110A 1165 11AB;
+C36D;C36D;110A 1165 11AC;C36D;110A 1165 11AC;
+C36E;C36E;110A 1165 11AD;C36E;110A 1165 11AD;
+C36F;C36F;110A 1165 11AE;C36F;110A 1165 11AE;
+C370;C370;110A 1165 11AF;C370;110A 1165 11AF;
+C371;C371;110A 1165 11B0;C371;110A 1165 11B0;
+C372;C372;110A 1165 11B1;C372;110A 1165 11B1;
+C373;C373;110A 1165 11B2;C373;110A 1165 11B2;
+C374;C374;110A 1165 11B3;C374;110A 1165 11B3;
+C375;C375;110A 1165 11B4;C375;110A 1165 11B4;
+C376;C376;110A 1165 11B5;C376;110A 1165 11B5;
+C377;C377;110A 1165 11B6;C377;110A 1165 11B6;
+C378;C378;110A 1165 11B7;C378;110A 1165 11B7;
+C379;C379;110A 1165 11B8;C379;110A 1165 11B8;
+C37A;C37A;110A 1165 11B9;C37A;110A 1165 11B9;
+C37B;C37B;110A 1165 11BA;C37B;110A 1165 11BA;
+C37C;C37C;110A 1165 11BB;C37C;110A 1165 11BB;
+C37D;C37D;110A 1165 11BC;C37D;110A 1165 11BC;
+C37E;C37E;110A 1165 11BD;C37E;110A 1165 11BD;
+C37F;C37F;110A 1165 11BE;C37F;110A 1165 11BE;
+C380;C380;110A 1165 11BF;C380;110A 1165 11BF;
+C381;C381;110A 1165 11C0;C381;110A 1165 11C0;
+C382;C382;110A 1165 11C1;C382;110A 1165 11C1;
+C383;C383;110A 1165 11C2;C383;110A 1165 11C2;
+C384;C384;110A 1166;C384;110A 1166;
+C385;C385;110A 1166 11A8;C385;110A 1166 11A8;
+C386;C386;110A 1166 11A9;C386;110A 1166 11A9;
+C387;C387;110A 1166 11AA;C387;110A 1166 11AA;
+C388;C388;110A 1166 11AB;C388;110A 1166 11AB;
+C389;C389;110A 1166 11AC;C389;110A 1166 11AC;
+C38A;C38A;110A 1166 11AD;C38A;110A 1166 11AD;
+C38B;C38B;110A 1166 11AE;C38B;110A 1166 11AE;
+C38C;C38C;110A 1166 11AF;C38C;110A 1166 11AF;
+C38D;C38D;110A 1166 11B0;C38D;110A 1166 11B0;
+C38E;C38E;110A 1166 11B1;C38E;110A 1166 11B1;
+C38F;C38F;110A 1166 11B2;C38F;110A 1166 11B2;
+C390;C390;110A 1166 11B3;C390;110A 1166 11B3;
+C391;C391;110A 1166 11B4;C391;110A 1166 11B4;
+C392;C392;110A 1166 11B5;C392;110A 1166 11B5;
+C393;C393;110A 1166 11B6;C393;110A 1166 11B6;
+C394;C394;110A 1166 11B7;C394;110A 1166 11B7;
+C395;C395;110A 1166 11B8;C395;110A 1166 11B8;
+C396;C396;110A 1166 11B9;C396;110A 1166 11B9;
+C397;C397;110A 1166 11BA;C397;110A 1166 11BA;
+C398;C398;110A 1166 11BB;C398;110A 1166 11BB;
+C399;C399;110A 1166 11BC;C399;110A 1166 11BC;
+C39A;C39A;110A 1166 11BD;C39A;110A 1166 11BD;
+C39B;C39B;110A 1166 11BE;C39B;110A 1166 11BE;
+C39C;C39C;110A 1166 11BF;C39C;110A 1166 11BF;
+C39D;C39D;110A 1166 11C0;C39D;110A 1166 11C0;
+C39E;C39E;110A 1166 11C1;C39E;110A 1166 11C1;
+C39F;C39F;110A 1166 11C2;C39F;110A 1166 11C2;
+C3A0;C3A0;110A 1167;C3A0;110A 1167;
+C3A1;C3A1;110A 1167 11A8;C3A1;110A 1167 11A8;
+C3A2;C3A2;110A 1167 11A9;C3A2;110A 1167 11A9;
+C3A3;C3A3;110A 1167 11AA;C3A3;110A 1167 11AA;
+C3A4;C3A4;110A 1167 11AB;C3A4;110A 1167 11AB;
+C3A5;C3A5;110A 1167 11AC;C3A5;110A 1167 11AC;
+C3A6;C3A6;110A 1167 11AD;C3A6;110A 1167 11AD;
+C3A7;C3A7;110A 1167 11AE;C3A7;110A 1167 11AE;
+C3A8;C3A8;110A 1167 11AF;C3A8;110A 1167 11AF;
+C3A9;C3A9;110A 1167 11B0;C3A9;110A 1167 11B0;
+C3AA;C3AA;110A 1167 11B1;C3AA;110A 1167 11B1;
+C3AB;C3AB;110A 1167 11B2;C3AB;110A 1167 11B2;
+C3AC;C3AC;110A 1167 11B3;C3AC;110A 1167 11B3;
+C3AD;C3AD;110A 1167 11B4;C3AD;110A 1167 11B4;
+C3AE;C3AE;110A 1167 11B5;C3AE;110A 1167 11B5;
+C3AF;C3AF;110A 1167 11B6;C3AF;110A 1167 11B6;
+C3B0;C3B0;110A 1167 11B7;C3B0;110A 1167 11B7;
+C3B1;C3B1;110A 1167 11B8;C3B1;110A 1167 11B8;
+C3B2;C3B2;110A 1167 11B9;C3B2;110A 1167 11B9;
+C3B3;C3B3;110A 1167 11BA;C3B3;110A 1167 11BA;
+C3B4;C3B4;110A 1167 11BB;C3B4;110A 1167 11BB;
+C3B5;C3B5;110A 1167 11BC;C3B5;110A 1167 11BC;
+C3B6;C3B6;110A 1167 11BD;C3B6;110A 1167 11BD;
+C3B7;C3B7;110A 1167 11BE;C3B7;110A 1167 11BE;
+C3B8;C3B8;110A 1167 11BF;C3B8;110A 1167 11BF;
+C3B9;C3B9;110A 1167 11C0;C3B9;110A 1167 11C0;
+C3BA;C3BA;110A 1167 11C1;C3BA;110A 1167 11C1;
+C3BB;C3BB;110A 1167 11C2;C3BB;110A 1167 11C2;
+C3BC;C3BC;110A 1168;C3BC;110A 1168;
+C3BD;C3BD;110A 1168 11A8;C3BD;110A 1168 11A8;
+C3BE;C3BE;110A 1168 11A9;C3BE;110A 1168 11A9;
+C3BF;C3BF;110A 1168 11AA;C3BF;110A 1168 11AA;
+C3C0;C3C0;110A 1168 11AB;C3C0;110A 1168 11AB;
+C3C1;C3C1;110A 1168 11AC;C3C1;110A 1168 11AC;
+C3C2;C3C2;110A 1168 11AD;C3C2;110A 1168 11AD;
+C3C3;C3C3;110A 1168 11AE;C3C3;110A 1168 11AE;
+C3C4;C3C4;110A 1168 11AF;C3C4;110A 1168 11AF;
+C3C5;C3C5;110A 1168 11B0;C3C5;110A 1168 11B0;
+C3C6;C3C6;110A 1168 11B1;C3C6;110A 1168 11B1;
+C3C7;C3C7;110A 1168 11B2;C3C7;110A 1168 11B2;
+C3C8;C3C8;110A 1168 11B3;C3C8;110A 1168 11B3;
+C3C9;C3C9;110A 1168 11B4;C3C9;110A 1168 11B4;
+C3CA;C3CA;110A 1168 11B5;C3CA;110A 1168 11B5;
+C3CB;C3CB;110A 1168 11B6;C3CB;110A 1168 11B6;
+C3CC;C3CC;110A 1168 11B7;C3CC;110A 1168 11B7;
+C3CD;C3CD;110A 1168 11B8;C3CD;110A 1168 11B8;
+C3CE;C3CE;110A 1168 11B9;C3CE;110A 1168 11B9;
+C3CF;C3CF;110A 1168 11BA;C3CF;110A 1168 11BA;
+C3D0;C3D0;110A 1168 11BB;C3D0;110A 1168 11BB;
+C3D1;C3D1;110A 1168 11BC;C3D1;110A 1168 11BC;
+C3D2;C3D2;110A 1168 11BD;C3D2;110A 1168 11BD;
+C3D3;C3D3;110A 1168 11BE;C3D3;110A 1168 11BE;
+C3D4;C3D4;110A 1168 11BF;C3D4;110A 1168 11BF;
+C3D5;C3D5;110A 1168 11C0;C3D5;110A 1168 11C0;
+C3D6;C3D6;110A 1168 11C1;C3D6;110A 1168 11C1;
+C3D7;C3D7;110A 1168 11C2;C3D7;110A 1168 11C2;
+C3D8;C3D8;110A 1169;C3D8;110A 1169;
+C3D9;C3D9;110A 1169 11A8;C3D9;110A 1169 11A8;
+C3DA;C3DA;110A 1169 11A9;C3DA;110A 1169 11A9;
+C3DB;C3DB;110A 1169 11AA;C3DB;110A 1169 11AA;
+C3DC;C3DC;110A 1169 11AB;C3DC;110A 1169 11AB;
+C3DD;C3DD;110A 1169 11AC;C3DD;110A 1169 11AC;
+C3DE;C3DE;110A 1169 11AD;C3DE;110A 1169 11AD;
+C3DF;C3DF;110A 1169 11AE;C3DF;110A 1169 11AE;
+C3E0;C3E0;110A 1169 11AF;C3E0;110A 1169 11AF;
+C3E1;C3E1;110A 1169 11B0;C3E1;110A 1169 11B0;
+C3E2;C3E2;110A 1169 11B1;C3E2;110A 1169 11B1;
+C3E3;C3E3;110A 1169 11B2;C3E3;110A 1169 11B2;
+C3E4;C3E4;110A 1169 11B3;C3E4;110A 1169 11B3;
+C3E5;C3E5;110A 1169 11B4;C3E5;110A 1169 11B4;
+C3E6;C3E6;110A 1169 11B5;C3E6;110A 1169 11B5;
+C3E7;C3E7;110A 1169 11B6;C3E7;110A 1169 11B6;
+C3E8;C3E8;110A 1169 11B7;C3E8;110A 1169 11B7;
+C3E9;C3E9;110A 1169 11B8;C3E9;110A 1169 11B8;
+C3EA;C3EA;110A 1169 11B9;C3EA;110A 1169 11B9;
+C3EB;C3EB;110A 1169 11BA;C3EB;110A 1169 11BA;
+C3EC;C3EC;110A 1169 11BB;C3EC;110A 1169 11BB;
+C3ED;C3ED;110A 1169 11BC;C3ED;110A 1169 11BC;
+C3EE;C3EE;110A 1169 11BD;C3EE;110A 1169 11BD;
+C3EF;C3EF;110A 1169 11BE;C3EF;110A 1169 11BE;
+C3F0;C3F0;110A 1169 11BF;C3F0;110A 1169 11BF;
+C3F1;C3F1;110A 1169 11C0;C3F1;110A 1169 11C0;
+C3F2;C3F2;110A 1169 11C1;C3F2;110A 1169 11C1;
+C3F3;C3F3;110A 1169 11C2;C3F3;110A 1169 11C2;
+C3F4;C3F4;110A 116A;C3F4;110A 116A;
+C3F5;C3F5;110A 116A 11A8;C3F5;110A 116A 11A8;
+C3F6;C3F6;110A 116A 11A9;C3F6;110A 116A 11A9;
+C3F7;C3F7;110A 116A 11AA;C3F7;110A 116A 11AA;
+C3F8;C3F8;110A 116A 11AB;C3F8;110A 116A 11AB;
+C3F9;C3F9;110A 116A 11AC;C3F9;110A 116A 11AC;
+C3FA;C3FA;110A 116A 11AD;C3FA;110A 116A 11AD;
+C3FB;C3FB;110A 116A 11AE;C3FB;110A 116A 11AE;
+C3FC;C3FC;110A 116A 11AF;C3FC;110A 116A 11AF;
+C3FD;C3FD;110A 116A 11B0;C3FD;110A 116A 11B0;
+C3FE;C3FE;110A 116A 11B1;C3FE;110A 116A 11B1;
+C3FF;C3FF;110A 116A 11B2;C3FF;110A 116A 11B2;
+C400;C400;110A 116A 11B3;C400;110A 116A 11B3;
+C401;C401;110A 116A 11B4;C401;110A 116A 11B4;
+C402;C402;110A 116A 11B5;C402;110A 116A 11B5;
+C403;C403;110A 116A 11B6;C403;110A 116A 11B6;
+C404;C404;110A 116A 11B7;C404;110A 116A 11B7;
+C405;C405;110A 116A 11B8;C405;110A 116A 11B8;
+C406;C406;110A 116A 11B9;C406;110A 116A 11B9;
+C407;C407;110A 116A 11BA;C407;110A 116A 11BA;
+C408;C408;110A 116A 11BB;C408;110A 116A 11BB;
+C409;C409;110A 116A 11BC;C409;110A 116A 11BC;
+C40A;C40A;110A 116A 11BD;C40A;110A 116A 11BD;
+C40B;C40B;110A 116A 11BE;C40B;110A 116A 11BE;
+C40C;C40C;110A 116A 11BF;C40C;110A 116A 11BF;
+C40D;C40D;110A 116A 11C0;C40D;110A 116A 11C0;
+C40E;C40E;110A 116A 11C1;C40E;110A 116A 11C1;
+C40F;C40F;110A 116A 11C2;C40F;110A 116A 11C2;
+C410;C410;110A 116B;C410;110A 116B;
+C411;C411;110A 116B 11A8;C411;110A 116B 11A8;
+C412;C412;110A 116B 11A9;C412;110A 116B 11A9;
+C413;C413;110A 116B 11AA;C413;110A 116B 11AA;
+C414;C414;110A 116B 11AB;C414;110A 116B 11AB;
+C415;C415;110A 116B 11AC;C415;110A 116B 11AC;
+C416;C416;110A 116B 11AD;C416;110A 116B 11AD;
+C417;C417;110A 116B 11AE;C417;110A 116B 11AE;
+C418;C418;110A 116B 11AF;C418;110A 116B 11AF;
+C419;C419;110A 116B 11B0;C419;110A 116B 11B0;
+C41A;C41A;110A 116B 11B1;C41A;110A 116B 11B1;
+C41B;C41B;110A 116B 11B2;C41B;110A 116B 11B2;
+C41C;C41C;110A 116B 11B3;C41C;110A 116B 11B3;
+C41D;C41D;110A 116B 11B4;C41D;110A 116B 11B4;
+C41E;C41E;110A 116B 11B5;C41E;110A 116B 11B5;
+C41F;C41F;110A 116B 11B6;C41F;110A 116B 11B6;
+C420;C420;110A 116B 11B7;C420;110A 116B 11B7;
+C421;C421;110A 116B 11B8;C421;110A 116B 11B8;
+C422;C422;110A 116B 11B9;C422;110A 116B 11B9;
+C423;C423;110A 116B 11BA;C423;110A 116B 11BA;
+C424;C424;110A 116B 11BB;C424;110A 116B 11BB;
+C425;C425;110A 116B 11BC;C425;110A 116B 11BC;
+C426;C426;110A 116B 11BD;C426;110A 116B 11BD;
+C427;C427;110A 116B 11BE;C427;110A 116B 11BE;
+C428;C428;110A 116B 11BF;C428;110A 116B 11BF;
+C429;C429;110A 116B 11C0;C429;110A 116B 11C0;
+C42A;C42A;110A 116B 11C1;C42A;110A 116B 11C1;
+C42B;C42B;110A 116B 11C2;C42B;110A 116B 11C2;
+C42C;C42C;110A 116C;C42C;110A 116C;
+C42D;C42D;110A 116C 11A8;C42D;110A 116C 11A8;
+C42E;C42E;110A 116C 11A9;C42E;110A 116C 11A9;
+C42F;C42F;110A 116C 11AA;C42F;110A 116C 11AA;
+C430;C430;110A 116C 11AB;C430;110A 116C 11AB;
+C431;C431;110A 116C 11AC;C431;110A 116C 11AC;
+C432;C432;110A 116C 11AD;C432;110A 116C 11AD;
+C433;C433;110A 116C 11AE;C433;110A 116C 11AE;
+C434;C434;110A 116C 11AF;C434;110A 116C 11AF;
+C435;C435;110A 116C 11B0;C435;110A 116C 11B0;
+C436;C436;110A 116C 11B1;C436;110A 116C 11B1;
+C437;C437;110A 116C 11B2;C437;110A 116C 11B2;
+C438;C438;110A 116C 11B3;C438;110A 116C 11B3;
+C439;C439;110A 116C 11B4;C439;110A 116C 11B4;
+C43A;C43A;110A 116C 11B5;C43A;110A 116C 11B5;
+C43B;C43B;110A 116C 11B6;C43B;110A 116C 11B6;
+C43C;C43C;110A 116C 11B7;C43C;110A 116C 11B7;
+C43D;C43D;110A 116C 11B8;C43D;110A 116C 11B8;
+C43E;C43E;110A 116C 11B9;C43E;110A 116C 11B9;
+C43F;C43F;110A 116C 11BA;C43F;110A 116C 11BA;
+C440;C440;110A 116C 11BB;C440;110A 116C 11BB;
+C441;C441;110A 116C 11BC;C441;110A 116C 11BC;
+C442;C442;110A 116C 11BD;C442;110A 116C 11BD;
+C443;C443;110A 116C 11BE;C443;110A 116C 11BE;
+C444;C444;110A 116C 11BF;C444;110A 116C 11BF;
+C445;C445;110A 116C 11C0;C445;110A 116C 11C0;
+C446;C446;110A 116C 11C1;C446;110A 116C 11C1;
+C447;C447;110A 116C 11C2;C447;110A 116C 11C2;
+C448;C448;110A 116D;C448;110A 116D;
+C449;C449;110A 116D 11A8;C449;110A 116D 11A8;
+C44A;C44A;110A 116D 11A9;C44A;110A 116D 11A9;
+C44B;C44B;110A 116D 11AA;C44B;110A 116D 11AA;
+C44C;C44C;110A 116D 11AB;C44C;110A 116D 11AB;
+C44D;C44D;110A 116D 11AC;C44D;110A 116D 11AC;
+C44E;C44E;110A 116D 11AD;C44E;110A 116D 11AD;
+C44F;C44F;110A 116D 11AE;C44F;110A 116D 11AE;
+C450;C450;110A 116D 11AF;C450;110A 116D 11AF;
+C451;C451;110A 116D 11B0;C451;110A 116D 11B0;
+C452;C452;110A 116D 11B1;C452;110A 116D 11B1;
+C453;C453;110A 116D 11B2;C453;110A 116D 11B2;
+C454;C454;110A 116D 11B3;C454;110A 116D 11B3;
+C455;C455;110A 116D 11B4;C455;110A 116D 11B4;
+C456;C456;110A 116D 11B5;C456;110A 116D 11B5;
+C457;C457;110A 116D 11B6;C457;110A 116D 11B6;
+C458;C458;110A 116D 11B7;C458;110A 116D 11B7;
+C459;C459;110A 116D 11B8;C459;110A 116D 11B8;
+C45A;C45A;110A 116D 11B9;C45A;110A 116D 11B9;
+C45B;C45B;110A 116D 11BA;C45B;110A 116D 11BA;
+C45C;C45C;110A 116D 11BB;C45C;110A 116D 11BB;
+C45D;C45D;110A 116D 11BC;C45D;110A 116D 11BC;
+C45E;C45E;110A 116D 11BD;C45E;110A 116D 11BD;
+C45F;C45F;110A 116D 11BE;C45F;110A 116D 11BE;
+C460;C460;110A 116D 11BF;C460;110A 116D 11BF;
+C461;C461;110A 116D 11C0;C461;110A 116D 11C0;
+C462;C462;110A 116D 11C1;C462;110A 116D 11C1;
+C463;C463;110A 116D 11C2;C463;110A 116D 11C2;
+C464;C464;110A 116E;C464;110A 116E;
+C465;C465;110A 116E 11A8;C465;110A 116E 11A8;
+C466;C466;110A 116E 11A9;C466;110A 116E 11A9;
+C467;C467;110A 116E 11AA;C467;110A 116E 11AA;
+C468;C468;110A 116E 11AB;C468;110A 116E 11AB;
+C469;C469;110A 116E 11AC;C469;110A 116E 11AC;
+C46A;C46A;110A 116E 11AD;C46A;110A 116E 11AD;
+C46B;C46B;110A 116E 11AE;C46B;110A 116E 11AE;
+C46C;C46C;110A 116E 11AF;C46C;110A 116E 11AF;
+C46D;C46D;110A 116E 11B0;C46D;110A 116E 11B0;
+C46E;C46E;110A 116E 11B1;C46E;110A 116E 11B1;
+C46F;C46F;110A 116E 11B2;C46F;110A 116E 11B2;
+C470;C470;110A 116E 11B3;C470;110A 116E 11B3;
+C471;C471;110A 116E 11B4;C471;110A 116E 11B4;
+C472;C472;110A 116E 11B5;C472;110A 116E 11B5;
+C473;C473;110A 116E 11B6;C473;110A 116E 11B6;
+C474;C474;110A 116E 11B7;C474;110A 116E 11B7;
+C475;C475;110A 116E 11B8;C475;110A 116E 11B8;
+C476;C476;110A 116E 11B9;C476;110A 116E 11B9;
+C477;C477;110A 116E 11BA;C477;110A 116E 11BA;
+C478;C478;110A 116E 11BB;C478;110A 116E 11BB;
+C479;C479;110A 116E 11BC;C479;110A 116E 11BC;
+C47A;C47A;110A 116E 11BD;C47A;110A 116E 11BD;
+C47B;C47B;110A 116E 11BE;C47B;110A 116E 11BE;
+C47C;C47C;110A 116E 11BF;C47C;110A 116E 11BF;
+C47D;C47D;110A 116E 11C0;C47D;110A 116E 11C0;
+C47E;C47E;110A 116E 11C1;C47E;110A 116E 11C1;
+C47F;C47F;110A 116E 11C2;C47F;110A 116E 11C2;
+C480;C480;110A 116F;C480;110A 116F;
+C481;C481;110A 116F 11A8;C481;110A 116F 11A8;
+C482;C482;110A 116F 11A9;C482;110A 116F 11A9;
+C483;C483;110A 116F 11AA;C483;110A 116F 11AA;
+C484;C484;110A 116F 11AB;C484;110A 116F 11AB;
+C485;C485;110A 116F 11AC;C485;110A 116F 11AC;
+C486;C486;110A 116F 11AD;C486;110A 116F 11AD;
+C487;C487;110A 116F 11AE;C487;110A 116F 11AE;
+C488;C488;110A 116F 11AF;C488;110A 116F 11AF;
+C489;C489;110A 116F 11B0;C489;110A 116F 11B0;
+C48A;C48A;110A 116F 11B1;C48A;110A 116F 11B1;
+C48B;C48B;110A 116F 11B2;C48B;110A 116F 11B2;
+C48C;C48C;110A 116F 11B3;C48C;110A 116F 11B3;
+C48D;C48D;110A 116F 11B4;C48D;110A 116F 11B4;
+C48E;C48E;110A 116F 11B5;C48E;110A 116F 11B5;
+C48F;C48F;110A 116F 11B6;C48F;110A 116F 11B6;
+C490;C490;110A 116F 11B7;C490;110A 116F 11B7;
+C491;C491;110A 116F 11B8;C491;110A 116F 11B8;
+C492;C492;110A 116F 11B9;C492;110A 116F 11B9;
+C493;C493;110A 116F 11BA;C493;110A 116F 11BA;
+C494;C494;110A 116F 11BB;C494;110A 116F 11BB;
+C495;C495;110A 116F 11BC;C495;110A 116F 11BC;
+C496;C496;110A 116F 11BD;C496;110A 116F 11BD;
+C497;C497;110A 116F 11BE;C497;110A 116F 11BE;
+C498;C498;110A 116F 11BF;C498;110A 116F 11BF;
+C499;C499;110A 116F 11C0;C499;110A 116F 11C0;
+C49A;C49A;110A 116F 11C1;C49A;110A 116F 11C1;
+C49B;C49B;110A 116F 11C2;C49B;110A 116F 11C2;
+C49C;C49C;110A 1170;C49C;110A 1170;
+C49D;C49D;110A 1170 11A8;C49D;110A 1170 11A8;
+C49E;C49E;110A 1170 11A9;C49E;110A 1170 11A9;
+C49F;C49F;110A 1170 11AA;C49F;110A 1170 11AA;
+C4A0;C4A0;110A 1170 11AB;C4A0;110A 1170 11AB;
+C4A1;C4A1;110A 1170 11AC;C4A1;110A 1170 11AC;
+C4A2;C4A2;110A 1170 11AD;C4A2;110A 1170 11AD;
+C4A3;C4A3;110A 1170 11AE;C4A3;110A 1170 11AE;
+C4A4;C4A4;110A 1170 11AF;C4A4;110A 1170 11AF;
+C4A5;C4A5;110A 1170 11B0;C4A5;110A 1170 11B0;
+C4A6;C4A6;110A 1170 11B1;C4A6;110A 1170 11B1;
+C4A7;C4A7;110A 1170 11B2;C4A7;110A 1170 11B2;
+C4A8;C4A8;110A 1170 11B3;C4A8;110A 1170 11B3;
+C4A9;C4A9;110A 1170 11B4;C4A9;110A 1170 11B4;
+C4AA;C4AA;110A 1170 11B5;C4AA;110A 1170 11B5;
+C4AB;C4AB;110A 1170 11B6;C4AB;110A 1170 11B6;
+C4AC;C4AC;110A 1170 11B7;C4AC;110A 1170 11B7;
+C4AD;C4AD;110A 1170 11B8;C4AD;110A 1170 11B8;
+C4AE;C4AE;110A 1170 11B9;C4AE;110A 1170 11B9;
+C4AF;C4AF;110A 1170 11BA;C4AF;110A 1170 11BA;
+C4B0;C4B0;110A 1170 11BB;C4B0;110A 1170 11BB;
+C4B1;C4B1;110A 1170 11BC;C4B1;110A 1170 11BC;
+C4B2;C4B2;110A 1170 11BD;C4B2;110A 1170 11BD;
+C4B3;C4B3;110A 1170 11BE;C4B3;110A 1170 11BE;
+C4B4;C4B4;110A 1170 11BF;C4B4;110A 1170 11BF;
+C4B5;C4B5;110A 1170 11C0;C4B5;110A 1170 11C0;
+C4B6;C4B6;110A 1170 11C1;C4B6;110A 1170 11C1;
+C4B7;C4B7;110A 1170 11C2;C4B7;110A 1170 11C2;
+C4B8;C4B8;110A 1171;C4B8;110A 1171;
+C4B9;C4B9;110A 1171 11A8;C4B9;110A 1171 11A8;
+C4BA;C4BA;110A 1171 11A9;C4BA;110A 1171 11A9;
+C4BB;C4BB;110A 1171 11AA;C4BB;110A 1171 11AA;
+C4BC;C4BC;110A 1171 11AB;C4BC;110A 1171 11AB;
+C4BD;C4BD;110A 1171 11AC;C4BD;110A 1171 11AC;
+C4BE;C4BE;110A 1171 11AD;C4BE;110A 1171 11AD;
+C4BF;C4BF;110A 1171 11AE;C4BF;110A 1171 11AE;
+C4C0;C4C0;110A 1171 11AF;C4C0;110A 1171 11AF;
+C4C1;C4C1;110A 1171 11B0;C4C1;110A 1171 11B0;
+C4C2;C4C2;110A 1171 11B1;C4C2;110A 1171 11B1;
+C4C3;C4C3;110A 1171 11B2;C4C3;110A 1171 11B2;
+C4C4;C4C4;110A 1171 11B3;C4C4;110A 1171 11B3;
+C4C5;C4C5;110A 1171 11B4;C4C5;110A 1171 11B4;
+C4C6;C4C6;110A 1171 11B5;C4C6;110A 1171 11B5;
+C4C7;C4C7;110A 1171 11B6;C4C7;110A 1171 11B6;
+C4C8;C4C8;110A 1171 11B7;C4C8;110A 1171 11B7;
+C4C9;C4C9;110A 1171 11B8;C4C9;110A 1171 11B8;
+C4CA;C4CA;110A 1171 11B9;C4CA;110A 1171 11B9;
+C4CB;C4CB;110A 1171 11BA;C4CB;110A 1171 11BA;
+C4CC;C4CC;110A 1171 11BB;C4CC;110A 1171 11BB;
+C4CD;C4CD;110A 1171 11BC;C4CD;110A 1171 11BC;
+C4CE;C4CE;110A 1171 11BD;C4CE;110A 1171 11BD;
+C4CF;C4CF;110A 1171 11BE;C4CF;110A 1171 11BE;
+C4D0;C4D0;110A 1171 11BF;C4D0;110A 1171 11BF;
+C4D1;C4D1;110A 1171 11C0;C4D1;110A 1171 11C0;
+C4D2;C4D2;110A 1171 11C1;C4D2;110A 1171 11C1;
+C4D3;C4D3;110A 1171 11C2;C4D3;110A 1171 11C2;
+C4D4;C4D4;110A 1172;C4D4;110A 1172;
+C4D5;C4D5;110A 1172 11A8;C4D5;110A 1172 11A8;
+C4D6;C4D6;110A 1172 11A9;C4D6;110A 1172 11A9;
+C4D7;C4D7;110A 1172 11AA;C4D7;110A 1172 11AA;
+C4D8;C4D8;110A 1172 11AB;C4D8;110A 1172 11AB;
+C4D9;C4D9;110A 1172 11AC;C4D9;110A 1172 11AC;
+C4DA;C4DA;110A 1172 11AD;C4DA;110A 1172 11AD;
+C4DB;C4DB;110A 1172 11AE;C4DB;110A 1172 11AE;
+C4DC;C4DC;110A 1172 11AF;C4DC;110A 1172 11AF;
+C4DD;C4DD;110A 1172 11B0;C4DD;110A 1172 11B0;
+C4DE;C4DE;110A 1172 11B1;C4DE;110A 1172 11B1;
+C4DF;C4DF;110A 1172 11B2;C4DF;110A 1172 11B2;
+C4E0;C4E0;110A 1172 11B3;C4E0;110A 1172 11B3;
+C4E1;C4E1;110A 1172 11B4;C4E1;110A 1172 11B4;
+C4E2;C4E2;110A 1172 11B5;C4E2;110A 1172 11B5;
+C4E3;C4E3;110A 1172 11B6;C4E3;110A 1172 11B6;
+C4E4;C4E4;110A 1172 11B7;C4E4;110A 1172 11B7;
+C4E5;C4E5;110A 1172 11B8;C4E5;110A 1172 11B8;
+C4E6;C4E6;110A 1172 11B9;C4E6;110A 1172 11B9;
+C4E7;C4E7;110A 1172 11BA;C4E7;110A 1172 11BA;
+C4E8;C4E8;110A 1172 11BB;C4E8;110A 1172 11BB;
+C4E9;C4E9;110A 1172 11BC;C4E9;110A 1172 11BC;
+C4EA;C4EA;110A 1172 11BD;C4EA;110A 1172 11BD;
+C4EB;C4EB;110A 1172 11BE;C4EB;110A 1172 11BE;
+C4EC;C4EC;110A 1172 11BF;C4EC;110A 1172 11BF;
+C4ED;C4ED;110A 1172 11C0;C4ED;110A 1172 11C0;
+C4EE;C4EE;110A 1172 11C1;C4EE;110A 1172 11C1;
+C4EF;C4EF;110A 1172 11C2;C4EF;110A 1172 11C2;
+C4F0;C4F0;110A 1173;C4F0;110A 1173;
+C4F1;C4F1;110A 1173 11A8;C4F1;110A 1173 11A8;
+C4F2;C4F2;110A 1173 11A9;C4F2;110A 1173 11A9;
+C4F3;C4F3;110A 1173 11AA;C4F3;110A 1173 11AA;
+C4F4;C4F4;110A 1173 11AB;C4F4;110A 1173 11AB;
+C4F5;C4F5;110A 1173 11AC;C4F5;110A 1173 11AC;
+C4F6;C4F6;110A 1173 11AD;C4F6;110A 1173 11AD;
+C4F7;C4F7;110A 1173 11AE;C4F7;110A 1173 11AE;
+C4F8;C4F8;110A 1173 11AF;C4F8;110A 1173 11AF;
+C4F9;C4F9;110A 1173 11B0;C4F9;110A 1173 11B0;
+C4FA;C4FA;110A 1173 11B1;C4FA;110A 1173 11B1;
+C4FB;C4FB;110A 1173 11B2;C4FB;110A 1173 11B2;
+C4FC;C4FC;110A 1173 11B3;C4FC;110A 1173 11B3;
+C4FD;C4FD;110A 1173 11B4;C4FD;110A 1173 11B4;
+C4FE;C4FE;110A 1173 11B5;C4FE;110A 1173 11B5;
+C4FF;C4FF;110A 1173 11B6;C4FF;110A 1173 11B6;
+C500;C500;110A 1173 11B7;C500;110A 1173 11B7;
+C501;C501;110A 1173 11B8;C501;110A 1173 11B8;
+C502;C502;110A 1173 11B9;C502;110A 1173 11B9;
+C503;C503;110A 1173 11BA;C503;110A 1173 11BA;
+C504;C504;110A 1173 11BB;C504;110A 1173 11BB;
+C505;C505;110A 1173 11BC;C505;110A 1173 11BC;
+C506;C506;110A 1173 11BD;C506;110A 1173 11BD;
+C507;C507;110A 1173 11BE;C507;110A 1173 11BE;
+C508;C508;110A 1173 11BF;C508;110A 1173 11BF;
+C509;C509;110A 1173 11C0;C509;110A 1173 11C0;
+C50A;C50A;110A 1173 11C1;C50A;110A 1173 11C1;
+C50B;C50B;110A 1173 11C2;C50B;110A 1173 11C2;
+C50C;C50C;110A 1174;C50C;110A 1174;
+C50D;C50D;110A 1174 11A8;C50D;110A 1174 11A8;
+C50E;C50E;110A 1174 11A9;C50E;110A 1174 11A9;
+C50F;C50F;110A 1174 11AA;C50F;110A 1174 11AA;
+C510;C510;110A 1174 11AB;C510;110A 1174 11AB;
+C511;C511;110A 1174 11AC;C511;110A 1174 11AC;
+C512;C512;110A 1174 11AD;C512;110A 1174 11AD;
+C513;C513;110A 1174 11AE;C513;110A 1174 11AE;
+C514;C514;110A 1174 11AF;C514;110A 1174 11AF;
+C515;C515;110A 1174 11B0;C515;110A 1174 11B0;
+C516;C516;110A 1174 11B1;C516;110A 1174 11B1;
+C517;C517;110A 1174 11B2;C517;110A 1174 11B2;
+C518;C518;110A 1174 11B3;C518;110A 1174 11B3;
+C519;C519;110A 1174 11B4;C519;110A 1174 11B4;
+C51A;C51A;110A 1174 11B5;C51A;110A 1174 11B5;
+C51B;C51B;110A 1174 11B6;C51B;110A 1174 11B6;
+C51C;C51C;110A 1174 11B7;C51C;110A 1174 11B7;
+C51D;C51D;110A 1174 11B8;C51D;110A 1174 11B8;
+C51E;C51E;110A 1174 11B9;C51E;110A 1174 11B9;
+C51F;C51F;110A 1174 11BA;C51F;110A 1174 11BA;
+C520;C520;110A 1174 11BB;C520;110A 1174 11BB;
+C521;C521;110A 1174 11BC;C521;110A 1174 11BC;
+C522;C522;110A 1174 11BD;C522;110A 1174 11BD;
+C523;C523;110A 1174 11BE;C523;110A 1174 11BE;
+C524;C524;110A 1174 11BF;C524;110A 1174 11BF;
+C525;C525;110A 1174 11C0;C525;110A 1174 11C0;
+C526;C526;110A 1174 11C1;C526;110A 1174 11C1;
+C527;C527;110A 1174 11C2;C527;110A 1174 11C2;
+C528;C528;110A 1175;C528;110A 1175;
+C529;C529;110A 1175 11A8;C529;110A 1175 11A8;
+C52A;C52A;110A 1175 11A9;C52A;110A 1175 11A9;
+C52B;C52B;110A 1175 11AA;C52B;110A 1175 11AA;
+C52C;C52C;110A 1175 11AB;C52C;110A 1175 11AB;
+C52D;C52D;110A 1175 11AC;C52D;110A 1175 11AC;
+C52E;C52E;110A 1175 11AD;C52E;110A 1175 11AD;
+C52F;C52F;110A 1175 11AE;C52F;110A 1175 11AE;
+C530;C530;110A 1175 11AF;C530;110A 1175 11AF;
+C531;C531;110A 1175 11B0;C531;110A 1175 11B0;
+C532;C532;110A 1175 11B1;C532;110A 1175 11B1;
+C533;C533;110A 1175 11B2;C533;110A 1175 11B2;
+C534;C534;110A 1175 11B3;C534;110A 1175 11B3;
+C535;C535;110A 1175 11B4;C535;110A 1175 11B4;
+C536;C536;110A 1175 11B5;C536;110A 1175 11B5;
+C537;C537;110A 1175 11B6;C537;110A 1175 11B6;
+C538;C538;110A 1175 11B7;C538;110A 1175 11B7;
+C539;C539;110A 1175 11B8;C539;110A 1175 11B8;
+C53A;C53A;110A 1175 11B9;C53A;110A 1175 11B9;
+C53B;C53B;110A 1175 11BA;C53B;110A 1175 11BA;
+C53C;C53C;110A 1175 11BB;C53C;110A 1175 11BB;
+C53D;C53D;110A 1175 11BC;C53D;110A 1175 11BC;
+C53E;C53E;110A 1175 11BD;C53E;110A 1175 11BD;
+C53F;C53F;110A 1175 11BE;C53F;110A 1175 11BE;
+C540;C540;110A 1175 11BF;C540;110A 1175 11BF;
+C541;C541;110A 1175 11C0;C541;110A 1175 11C0;
+C542;C542;110A 1175 11C1;C542;110A 1175 11C1;
+C543;C543;110A 1175 11C2;C543;110A 1175 11C2;
+C544;C544;110B 1161;C544;110B 1161;
+C545;C545;110B 1161 11A8;C545;110B 1161 11A8;
+C546;C546;110B 1161 11A9;C546;110B 1161 11A9;
+C547;C547;110B 1161 11AA;C547;110B 1161 11AA;
+C548;C548;110B 1161 11AB;C548;110B 1161 11AB;
+C549;C549;110B 1161 11AC;C549;110B 1161 11AC;
+C54A;C54A;110B 1161 11AD;C54A;110B 1161 11AD;
+C54B;C54B;110B 1161 11AE;C54B;110B 1161 11AE;
+C54C;C54C;110B 1161 11AF;C54C;110B 1161 11AF;
+C54D;C54D;110B 1161 11B0;C54D;110B 1161 11B0;
+C54E;C54E;110B 1161 11B1;C54E;110B 1161 11B1;
+C54F;C54F;110B 1161 11B2;C54F;110B 1161 11B2;
+C550;C550;110B 1161 11B3;C550;110B 1161 11B3;
+C551;C551;110B 1161 11B4;C551;110B 1161 11B4;
+C552;C552;110B 1161 11B5;C552;110B 1161 11B5;
+C553;C553;110B 1161 11B6;C553;110B 1161 11B6;
+C554;C554;110B 1161 11B7;C554;110B 1161 11B7;
+C555;C555;110B 1161 11B8;C555;110B 1161 11B8;
+C556;C556;110B 1161 11B9;C556;110B 1161 11B9;
+C557;C557;110B 1161 11BA;C557;110B 1161 11BA;
+C558;C558;110B 1161 11BB;C558;110B 1161 11BB;
+C559;C559;110B 1161 11BC;C559;110B 1161 11BC;
+C55A;C55A;110B 1161 11BD;C55A;110B 1161 11BD;
+C55B;C55B;110B 1161 11BE;C55B;110B 1161 11BE;
+C55C;C55C;110B 1161 11BF;C55C;110B 1161 11BF;
+C55D;C55D;110B 1161 11C0;C55D;110B 1161 11C0;
+C55E;C55E;110B 1161 11C1;C55E;110B 1161 11C1;
+C55F;C55F;110B 1161 11C2;C55F;110B 1161 11C2;
+C560;C560;110B 1162;C560;110B 1162;
+C561;C561;110B 1162 11A8;C561;110B 1162 11A8;
+C562;C562;110B 1162 11A9;C562;110B 1162 11A9;
+C563;C563;110B 1162 11AA;C563;110B 1162 11AA;
+C564;C564;110B 1162 11AB;C564;110B 1162 11AB;
+C565;C565;110B 1162 11AC;C565;110B 1162 11AC;
+C566;C566;110B 1162 11AD;C566;110B 1162 11AD;
+C567;C567;110B 1162 11AE;C567;110B 1162 11AE;
+C568;C568;110B 1162 11AF;C568;110B 1162 11AF;
+C569;C569;110B 1162 11B0;C569;110B 1162 11B0;
+C56A;C56A;110B 1162 11B1;C56A;110B 1162 11B1;
+C56B;C56B;110B 1162 11B2;C56B;110B 1162 11B2;
+C56C;C56C;110B 1162 11B3;C56C;110B 1162 11B3;
+C56D;C56D;110B 1162 11B4;C56D;110B 1162 11B4;
+C56E;C56E;110B 1162 11B5;C56E;110B 1162 11B5;
+C56F;C56F;110B 1162 11B6;C56F;110B 1162 11B6;
+C570;C570;110B 1162 11B7;C570;110B 1162 11B7;
+C571;C571;110B 1162 11B8;C571;110B 1162 11B8;
+C572;C572;110B 1162 11B9;C572;110B 1162 11B9;
+C573;C573;110B 1162 11BA;C573;110B 1162 11BA;
+C574;C574;110B 1162 11BB;C574;110B 1162 11BB;
+C575;C575;110B 1162 11BC;C575;110B 1162 11BC;
+C576;C576;110B 1162 11BD;C576;110B 1162 11BD;
+C577;C577;110B 1162 11BE;C577;110B 1162 11BE;
+C578;C578;110B 1162 11BF;C578;110B 1162 11BF;
+C579;C579;110B 1162 11C0;C579;110B 1162 11C0;
+C57A;C57A;110B 1162 11C1;C57A;110B 1162 11C1;
+C57B;C57B;110B 1162 11C2;C57B;110B 1162 11C2;
+C57C;C57C;110B 1163;C57C;110B 1163;
+C57D;C57D;110B 1163 11A8;C57D;110B 1163 11A8;
+C57E;C57E;110B 1163 11A9;C57E;110B 1163 11A9;
+C57F;C57F;110B 1163 11AA;C57F;110B 1163 11AA;
+C580;C580;110B 1163 11AB;C580;110B 1163 11AB;
+C581;C581;110B 1163 11AC;C581;110B 1163 11AC;
+C582;C582;110B 1163 11AD;C582;110B 1163 11AD;
+C583;C583;110B 1163 11AE;C583;110B 1163 11AE;
+C584;C584;110B 1163 11AF;C584;110B 1163 11AF;
+C585;C585;110B 1163 11B0;C585;110B 1163 11B0;
+C586;C586;110B 1163 11B1;C586;110B 1163 11B1;
+C587;C587;110B 1163 11B2;C587;110B 1163 11B2;
+C588;C588;110B 1163 11B3;C588;110B 1163 11B3;
+C589;C589;110B 1163 11B4;C589;110B 1163 11B4;
+C58A;C58A;110B 1163 11B5;C58A;110B 1163 11B5;
+C58B;C58B;110B 1163 11B6;C58B;110B 1163 11B6;
+C58C;C58C;110B 1163 11B7;C58C;110B 1163 11B7;
+C58D;C58D;110B 1163 11B8;C58D;110B 1163 11B8;
+C58E;C58E;110B 1163 11B9;C58E;110B 1163 11B9;
+C58F;C58F;110B 1163 11BA;C58F;110B 1163 11BA;
+C590;C590;110B 1163 11BB;C590;110B 1163 11BB;
+C591;C591;110B 1163 11BC;C591;110B 1163 11BC;
+C592;C592;110B 1163 11BD;C592;110B 1163 11BD;
+C593;C593;110B 1163 11BE;C593;110B 1163 11BE;
+C594;C594;110B 1163 11BF;C594;110B 1163 11BF;
+C595;C595;110B 1163 11C0;C595;110B 1163 11C0;
+C596;C596;110B 1163 11C1;C596;110B 1163 11C1;
+C597;C597;110B 1163 11C2;C597;110B 1163 11C2;
+C598;C598;110B 1164;C598;110B 1164;
+C599;C599;110B 1164 11A8;C599;110B 1164 11A8;
+C59A;C59A;110B 1164 11A9;C59A;110B 1164 11A9;
+C59B;C59B;110B 1164 11AA;C59B;110B 1164 11AA;
+C59C;C59C;110B 1164 11AB;C59C;110B 1164 11AB;
+C59D;C59D;110B 1164 11AC;C59D;110B 1164 11AC;
+C59E;C59E;110B 1164 11AD;C59E;110B 1164 11AD;
+C59F;C59F;110B 1164 11AE;C59F;110B 1164 11AE;
+C5A0;C5A0;110B 1164 11AF;C5A0;110B 1164 11AF;
+C5A1;C5A1;110B 1164 11B0;C5A1;110B 1164 11B0;
+C5A2;C5A2;110B 1164 11B1;C5A2;110B 1164 11B1;
+C5A3;C5A3;110B 1164 11B2;C5A3;110B 1164 11B2;
+C5A4;C5A4;110B 1164 11B3;C5A4;110B 1164 11B3;
+C5A5;C5A5;110B 1164 11B4;C5A5;110B 1164 11B4;
+C5A6;C5A6;110B 1164 11B5;C5A6;110B 1164 11B5;
+C5A7;C5A7;110B 1164 11B6;C5A7;110B 1164 11B6;
+C5A8;C5A8;110B 1164 11B7;C5A8;110B 1164 11B7;
+C5A9;C5A9;110B 1164 11B8;C5A9;110B 1164 11B8;
+C5AA;C5AA;110B 1164 11B9;C5AA;110B 1164 11B9;
+C5AB;C5AB;110B 1164 11BA;C5AB;110B 1164 11BA;
+C5AC;C5AC;110B 1164 11BB;C5AC;110B 1164 11BB;
+C5AD;C5AD;110B 1164 11BC;C5AD;110B 1164 11BC;
+C5AE;C5AE;110B 1164 11BD;C5AE;110B 1164 11BD;
+C5AF;C5AF;110B 1164 11BE;C5AF;110B 1164 11BE;
+C5B0;C5B0;110B 1164 11BF;C5B0;110B 1164 11BF;
+C5B1;C5B1;110B 1164 11C0;C5B1;110B 1164 11C0;
+C5B2;C5B2;110B 1164 11C1;C5B2;110B 1164 11C1;
+C5B3;C5B3;110B 1164 11C2;C5B3;110B 1164 11C2;
+C5B4;C5B4;110B 1165;C5B4;110B 1165;
+C5B5;C5B5;110B 1165 11A8;C5B5;110B 1165 11A8;
+C5B6;C5B6;110B 1165 11A9;C5B6;110B 1165 11A9;
+C5B7;C5B7;110B 1165 11AA;C5B7;110B 1165 11AA;
+C5B8;C5B8;110B 1165 11AB;C5B8;110B 1165 11AB;
+C5B9;C5B9;110B 1165 11AC;C5B9;110B 1165 11AC;
+C5BA;C5BA;110B 1165 11AD;C5BA;110B 1165 11AD;
+C5BB;C5BB;110B 1165 11AE;C5BB;110B 1165 11AE;
+C5BC;C5BC;110B 1165 11AF;C5BC;110B 1165 11AF;
+C5BD;C5BD;110B 1165 11B0;C5BD;110B 1165 11B0;
+C5BE;C5BE;110B 1165 11B1;C5BE;110B 1165 11B1;
+C5BF;C5BF;110B 1165 11B2;C5BF;110B 1165 11B2;
+C5C0;C5C0;110B 1165 11B3;C5C0;110B 1165 11B3;
+C5C1;C5C1;110B 1165 11B4;C5C1;110B 1165 11B4;
+C5C2;C5C2;110B 1165 11B5;C5C2;110B 1165 11B5;
+C5C3;C5C3;110B 1165 11B6;C5C3;110B 1165 11B6;
+C5C4;C5C4;110B 1165 11B7;C5C4;110B 1165 11B7;
+C5C5;C5C5;110B 1165 11B8;C5C5;110B 1165 11B8;
+C5C6;C5C6;110B 1165 11B9;C5C6;110B 1165 11B9;
+C5C7;C5C7;110B 1165 11BA;C5C7;110B 1165 11BA;
+C5C8;C5C8;110B 1165 11BB;C5C8;110B 1165 11BB;
+C5C9;C5C9;110B 1165 11BC;C5C9;110B 1165 11BC;
+C5CA;C5CA;110B 1165 11BD;C5CA;110B 1165 11BD;
+C5CB;C5CB;110B 1165 11BE;C5CB;110B 1165 11BE;
+C5CC;C5CC;110B 1165 11BF;C5CC;110B 1165 11BF;
+C5CD;C5CD;110B 1165 11C0;C5CD;110B 1165 11C0;
+C5CE;C5CE;110B 1165 11C1;C5CE;110B 1165 11C1;
+C5CF;C5CF;110B 1165 11C2;C5CF;110B 1165 11C2;
+C5D0;C5D0;110B 1166;C5D0;110B 1166;
+C5D1;C5D1;110B 1166 11A8;C5D1;110B 1166 11A8;
+C5D2;C5D2;110B 1166 11A9;C5D2;110B 1166 11A9;
+C5D3;C5D3;110B 1166 11AA;C5D3;110B 1166 11AA;
+C5D4;C5D4;110B 1166 11AB;C5D4;110B 1166 11AB;
+C5D5;C5D5;110B 1166 11AC;C5D5;110B 1166 11AC;
+C5D6;C5D6;110B 1166 11AD;C5D6;110B 1166 11AD;
+C5D7;C5D7;110B 1166 11AE;C5D7;110B 1166 11AE;
+C5D8;C5D8;110B 1166 11AF;C5D8;110B 1166 11AF;
+C5D9;C5D9;110B 1166 11B0;C5D9;110B 1166 11B0;
+C5DA;C5DA;110B 1166 11B1;C5DA;110B 1166 11B1;
+C5DB;C5DB;110B 1166 11B2;C5DB;110B 1166 11B2;
+C5DC;C5DC;110B 1166 11B3;C5DC;110B 1166 11B3;
+C5DD;C5DD;110B 1166 11B4;C5DD;110B 1166 11B4;
+C5DE;C5DE;110B 1166 11B5;C5DE;110B 1166 11B5;
+C5DF;C5DF;110B 1166 11B6;C5DF;110B 1166 11B6;
+C5E0;C5E0;110B 1166 11B7;C5E0;110B 1166 11B7;
+C5E1;C5E1;110B 1166 11B8;C5E1;110B 1166 11B8;
+C5E2;C5E2;110B 1166 11B9;C5E2;110B 1166 11B9;
+C5E3;C5E3;110B 1166 11BA;C5E3;110B 1166 11BA;
+C5E4;C5E4;110B 1166 11BB;C5E4;110B 1166 11BB;
+C5E5;C5E5;110B 1166 11BC;C5E5;110B 1166 11BC;
+C5E6;C5E6;110B 1166 11BD;C5E6;110B 1166 11BD;
+C5E7;C5E7;110B 1166 11BE;C5E7;110B 1166 11BE;
+C5E8;C5E8;110B 1166 11BF;C5E8;110B 1166 11BF;
+C5E9;C5E9;110B 1166 11C0;C5E9;110B 1166 11C0;
+C5EA;C5EA;110B 1166 11C1;C5EA;110B 1166 11C1;
+C5EB;C5EB;110B 1166 11C2;C5EB;110B 1166 11C2;
+C5EC;C5EC;110B 1167;C5EC;110B 1167;
+C5ED;C5ED;110B 1167 11A8;C5ED;110B 1167 11A8;
+C5EE;C5EE;110B 1167 11A9;C5EE;110B 1167 11A9;
+C5EF;C5EF;110B 1167 11AA;C5EF;110B 1167 11AA;
+C5F0;C5F0;110B 1167 11AB;C5F0;110B 1167 11AB;
+C5F1;C5F1;110B 1167 11AC;C5F1;110B 1167 11AC;
+C5F2;C5F2;110B 1167 11AD;C5F2;110B 1167 11AD;
+C5F3;C5F3;110B 1167 11AE;C5F3;110B 1167 11AE;
+C5F4;C5F4;110B 1167 11AF;C5F4;110B 1167 11AF;
+C5F5;C5F5;110B 1167 11B0;C5F5;110B 1167 11B0;
+C5F6;C5F6;110B 1167 11B1;C5F6;110B 1167 11B1;
+C5F7;C5F7;110B 1167 11B2;C5F7;110B 1167 11B2;
+C5F8;C5F8;110B 1167 11B3;C5F8;110B 1167 11B3;
+C5F9;C5F9;110B 1167 11B4;C5F9;110B 1167 11B4;
+C5FA;C5FA;110B 1167 11B5;C5FA;110B 1167 11B5;
+C5FB;C5FB;110B 1167 11B6;C5FB;110B 1167 11B6;
+C5FC;C5FC;110B 1167 11B7;C5FC;110B 1167 11B7;
+C5FD;C5FD;110B 1167 11B8;C5FD;110B 1167 11B8;
+C5FE;C5FE;110B 1167 11B9;C5FE;110B 1167 11B9;
+C5FF;C5FF;110B 1167 11BA;C5FF;110B 1167 11BA;
+C600;C600;110B 1167 11BB;C600;110B 1167 11BB;
+C601;C601;110B 1167 11BC;C601;110B 1167 11BC;
+C602;C602;110B 1167 11BD;C602;110B 1167 11BD;
+C603;C603;110B 1167 11BE;C603;110B 1167 11BE;
+C604;C604;110B 1167 11BF;C604;110B 1167 11BF;
+C605;C605;110B 1167 11C0;C605;110B 1167 11C0;
+C606;C606;110B 1167 11C1;C606;110B 1167 11C1;
+C607;C607;110B 1167 11C2;C607;110B 1167 11C2;
+C608;C608;110B 1168;C608;110B 1168;
+C609;C609;110B 1168 11A8;C609;110B 1168 11A8;
+C60A;C60A;110B 1168 11A9;C60A;110B 1168 11A9;
+C60B;C60B;110B 1168 11AA;C60B;110B 1168 11AA;
+C60C;C60C;110B 1168 11AB;C60C;110B 1168 11AB;
+C60D;C60D;110B 1168 11AC;C60D;110B 1168 11AC;
+C60E;C60E;110B 1168 11AD;C60E;110B 1168 11AD;
+C60F;C60F;110B 1168 11AE;C60F;110B 1168 11AE;
+C610;C610;110B 1168 11AF;C610;110B 1168 11AF;
+C611;C611;110B 1168 11B0;C611;110B 1168 11B0;
+C612;C612;110B 1168 11B1;C612;110B 1168 11B1;
+C613;C613;110B 1168 11B2;C613;110B 1168 11B2;
+C614;C614;110B 1168 11B3;C614;110B 1168 11B3;
+C615;C615;110B 1168 11B4;C615;110B 1168 11B4;
+C616;C616;110B 1168 11B5;C616;110B 1168 11B5;
+C617;C617;110B 1168 11B6;C617;110B 1168 11B6;
+C618;C618;110B 1168 11B7;C618;110B 1168 11B7;
+C619;C619;110B 1168 11B8;C619;110B 1168 11B8;
+C61A;C61A;110B 1168 11B9;C61A;110B 1168 11B9;
+C61B;C61B;110B 1168 11BA;C61B;110B 1168 11BA;
+C61C;C61C;110B 1168 11BB;C61C;110B 1168 11BB;
+C61D;C61D;110B 1168 11BC;C61D;110B 1168 11BC;
+C61E;C61E;110B 1168 11BD;C61E;110B 1168 11BD;
+C61F;C61F;110B 1168 11BE;C61F;110B 1168 11BE;
+C620;C620;110B 1168 11BF;C620;110B 1168 11BF;
+C621;C621;110B 1168 11C0;C621;110B 1168 11C0;
+C622;C622;110B 1168 11C1;C622;110B 1168 11C1;
+C623;C623;110B 1168 11C2;C623;110B 1168 11C2;
+C624;C624;110B 1169;C624;110B 1169;
+C625;C625;110B 1169 11A8;C625;110B 1169 11A8;
+C626;C626;110B 1169 11A9;C626;110B 1169 11A9;
+C627;C627;110B 1169 11AA;C627;110B 1169 11AA;
+C628;C628;110B 1169 11AB;C628;110B 1169 11AB;
+C629;C629;110B 1169 11AC;C629;110B 1169 11AC;
+C62A;C62A;110B 1169 11AD;C62A;110B 1169 11AD;
+C62B;C62B;110B 1169 11AE;C62B;110B 1169 11AE;
+C62C;C62C;110B 1169 11AF;C62C;110B 1169 11AF;
+C62D;C62D;110B 1169 11B0;C62D;110B 1169 11B0;
+C62E;C62E;110B 1169 11B1;C62E;110B 1169 11B1;
+C62F;C62F;110B 1169 11B2;C62F;110B 1169 11B2;
+C630;C630;110B 1169 11B3;C630;110B 1169 11B3;
+C631;C631;110B 1169 11B4;C631;110B 1169 11B4;
+C632;C632;110B 1169 11B5;C632;110B 1169 11B5;
+C633;C633;110B 1169 11B6;C633;110B 1169 11B6;
+C634;C634;110B 1169 11B7;C634;110B 1169 11B7;
+C635;C635;110B 1169 11B8;C635;110B 1169 11B8;
+C636;C636;110B 1169 11B9;C636;110B 1169 11B9;
+C637;C637;110B 1169 11BA;C637;110B 1169 11BA;
+C638;C638;110B 1169 11BB;C638;110B 1169 11BB;
+C639;C639;110B 1169 11BC;C639;110B 1169 11BC;
+C63A;C63A;110B 1169 11BD;C63A;110B 1169 11BD;
+C63B;C63B;110B 1169 11BE;C63B;110B 1169 11BE;
+C63C;C63C;110B 1169 11BF;C63C;110B 1169 11BF;
+C63D;C63D;110B 1169 11C0;C63D;110B 1169 11C0;
+C63E;C63E;110B 1169 11C1;C63E;110B 1169 11C1;
+C63F;C63F;110B 1169 11C2;C63F;110B 1169 11C2;
+C640;C640;110B 116A;C640;110B 116A;
+C641;C641;110B 116A 11A8;C641;110B 116A 11A8;
+C642;C642;110B 116A 11A9;C642;110B 116A 11A9;
+C643;C643;110B 116A 11AA;C643;110B 116A 11AA;
+C644;C644;110B 116A 11AB;C644;110B 116A 11AB;
+C645;C645;110B 116A 11AC;C645;110B 116A 11AC;
+C646;C646;110B 116A 11AD;C646;110B 116A 11AD;
+C647;C647;110B 116A 11AE;C647;110B 116A 11AE;
+C648;C648;110B 116A 11AF;C648;110B 116A 11AF;
+C649;C649;110B 116A 11B0;C649;110B 116A 11B0;
+C64A;C64A;110B 116A 11B1;C64A;110B 116A 11B1;
+C64B;C64B;110B 116A 11B2;C64B;110B 116A 11B2;
+C64C;C64C;110B 116A 11B3;C64C;110B 116A 11B3;
+C64D;C64D;110B 116A 11B4;C64D;110B 116A 11B4;
+C64E;C64E;110B 116A 11B5;C64E;110B 116A 11B5;
+C64F;C64F;110B 116A 11B6;C64F;110B 116A 11B6;
+C650;C650;110B 116A 11B7;C650;110B 116A 11B7;
+C651;C651;110B 116A 11B8;C651;110B 116A 11B8;
+C652;C652;110B 116A 11B9;C652;110B 116A 11B9;
+C653;C653;110B 116A 11BA;C653;110B 116A 11BA;
+C654;C654;110B 116A 11BB;C654;110B 116A 11BB;
+C655;C655;110B 116A 11BC;C655;110B 116A 11BC;
+C656;C656;110B 116A 11BD;C656;110B 116A 11BD;
+C657;C657;110B 116A 11BE;C657;110B 116A 11BE;
+C658;C658;110B 116A 11BF;C658;110B 116A 11BF;
+C659;C659;110B 116A 11C0;C659;110B 116A 11C0;
+C65A;C65A;110B 116A 11C1;C65A;110B 116A 11C1;
+C65B;C65B;110B 116A 11C2;C65B;110B 116A 11C2;
+C65C;C65C;110B 116B;C65C;110B 116B;
+C65D;C65D;110B 116B 11A8;C65D;110B 116B 11A8;
+C65E;C65E;110B 116B 11A9;C65E;110B 116B 11A9;
+C65F;C65F;110B 116B 11AA;C65F;110B 116B 11AA;
+C660;C660;110B 116B 11AB;C660;110B 116B 11AB;
+C661;C661;110B 116B 11AC;C661;110B 116B 11AC;
+C662;C662;110B 116B 11AD;C662;110B 116B 11AD;
+C663;C663;110B 116B 11AE;C663;110B 116B 11AE;
+C664;C664;110B 116B 11AF;C664;110B 116B 11AF;
+C665;C665;110B 116B 11B0;C665;110B 116B 11B0;
+C666;C666;110B 116B 11B1;C666;110B 116B 11B1;
+C667;C667;110B 116B 11B2;C667;110B 116B 11B2;
+C668;C668;110B 116B 11B3;C668;110B 116B 11B3;
+C669;C669;110B 116B 11B4;C669;110B 116B 11B4;
+C66A;C66A;110B 116B 11B5;C66A;110B 116B 11B5;
+C66B;C66B;110B 116B 11B6;C66B;110B 116B 11B6;
+C66C;C66C;110B 116B 11B7;C66C;110B 116B 11B7;
+C66D;C66D;110B 116B 11B8;C66D;110B 116B 11B8;
+C66E;C66E;110B 116B 11B9;C66E;110B 116B 11B9;
+C66F;C66F;110B 116B 11BA;C66F;110B 116B 11BA;
+C670;C670;110B 116B 11BB;C670;110B 116B 11BB;
+C671;C671;110B 116B 11BC;C671;110B 116B 11BC;
+C672;C672;110B 116B 11BD;C672;110B 116B 11BD;
+C673;C673;110B 116B 11BE;C673;110B 116B 11BE;
+C674;C674;110B 116B 11BF;C674;110B 116B 11BF;
+C675;C675;110B 116B 11C0;C675;110B 116B 11C0;
+C676;C676;110B 116B 11C1;C676;110B 116B 11C1;
+C677;C677;110B 116B 11C2;C677;110B 116B 11C2;
+C678;C678;110B 116C;C678;110B 116C;
+C679;C679;110B 116C 11A8;C679;110B 116C 11A8;
+C67A;C67A;110B 116C 11A9;C67A;110B 116C 11A9;
+C67B;C67B;110B 116C 11AA;C67B;110B 116C 11AA;
+C67C;C67C;110B 116C 11AB;C67C;110B 116C 11AB;
+C67D;C67D;110B 116C 11AC;C67D;110B 116C 11AC;
+C67E;C67E;110B 116C 11AD;C67E;110B 116C 11AD;
+C67F;C67F;110B 116C 11AE;C67F;110B 116C 11AE;
+C680;C680;110B 116C 11AF;C680;110B 116C 11AF;
+C681;C681;110B 116C 11B0;C681;110B 116C 11B0;
+C682;C682;110B 116C 11B1;C682;110B 116C 11B1;
+C683;C683;110B 116C 11B2;C683;110B 116C 11B2;
+C684;C684;110B 116C 11B3;C684;110B 116C 11B3;
+C685;C685;110B 116C 11B4;C685;110B 116C 11B4;
+C686;C686;110B 116C 11B5;C686;110B 116C 11B5;
+C687;C687;110B 116C 11B6;C687;110B 116C 11B6;
+C688;C688;110B 116C 11B7;C688;110B 116C 11B7;
+C689;C689;110B 116C 11B8;C689;110B 116C 11B8;
+C68A;C68A;110B 116C 11B9;C68A;110B 116C 11B9;
+C68B;C68B;110B 116C 11BA;C68B;110B 116C 11BA;
+C68C;C68C;110B 116C 11BB;C68C;110B 116C 11BB;
+C68D;C68D;110B 116C 11BC;C68D;110B 116C 11BC;
+C68E;C68E;110B 116C 11BD;C68E;110B 116C 11BD;
+C68F;C68F;110B 116C 11BE;C68F;110B 116C 11BE;
+C690;C690;110B 116C 11BF;C690;110B 116C 11BF;
+C691;C691;110B 116C 11C0;C691;110B 116C 11C0;
+C692;C692;110B 116C 11C1;C692;110B 116C 11C1;
+C693;C693;110B 116C 11C2;C693;110B 116C 11C2;
+C694;C694;110B 116D;C694;110B 116D;
+C695;C695;110B 116D 11A8;C695;110B 116D 11A8;
+C696;C696;110B 116D 11A9;C696;110B 116D 11A9;
+C697;C697;110B 116D 11AA;C697;110B 116D 11AA;
+C698;C698;110B 116D 11AB;C698;110B 116D 11AB;
+C699;C699;110B 116D 11AC;C699;110B 116D 11AC;
+C69A;C69A;110B 116D 11AD;C69A;110B 116D 11AD;
+C69B;C69B;110B 116D 11AE;C69B;110B 116D 11AE;
+C69C;C69C;110B 116D 11AF;C69C;110B 116D 11AF;
+C69D;C69D;110B 116D 11B0;C69D;110B 116D 11B0;
+C69E;C69E;110B 116D 11B1;C69E;110B 116D 11B1;
+C69F;C69F;110B 116D 11B2;C69F;110B 116D 11B2;
+C6A0;C6A0;110B 116D 11B3;C6A0;110B 116D 11B3;
+C6A1;C6A1;110B 116D 11B4;C6A1;110B 116D 11B4;
+C6A2;C6A2;110B 116D 11B5;C6A2;110B 116D 11B5;
+C6A3;C6A3;110B 116D 11B6;C6A3;110B 116D 11B6;
+C6A4;C6A4;110B 116D 11B7;C6A4;110B 116D 11B7;
+C6A5;C6A5;110B 116D 11B8;C6A5;110B 116D 11B8;
+C6A6;C6A6;110B 116D 11B9;C6A6;110B 116D 11B9;
+C6A7;C6A7;110B 116D 11BA;C6A7;110B 116D 11BA;
+C6A8;C6A8;110B 116D 11BB;C6A8;110B 116D 11BB;
+C6A9;C6A9;110B 116D 11BC;C6A9;110B 116D 11BC;
+C6AA;C6AA;110B 116D 11BD;C6AA;110B 116D 11BD;
+C6AB;C6AB;110B 116D 11BE;C6AB;110B 116D 11BE;
+C6AC;C6AC;110B 116D 11BF;C6AC;110B 116D 11BF;
+C6AD;C6AD;110B 116D 11C0;C6AD;110B 116D 11C0;
+C6AE;C6AE;110B 116D 11C1;C6AE;110B 116D 11C1;
+C6AF;C6AF;110B 116D 11C2;C6AF;110B 116D 11C2;
+C6B0;C6B0;110B 116E;C6B0;110B 116E;
+C6B1;C6B1;110B 116E 11A8;C6B1;110B 116E 11A8;
+C6B2;C6B2;110B 116E 11A9;C6B2;110B 116E 11A9;
+C6B3;C6B3;110B 116E 11AA;C6B3;110B 116E 11AA;
+C6B4;C6B4;110B 116E 11AB;C6B4;110B 116E 11AB;
+C6B5;C6B5;110B 116E 11AC;C6B5;110B 116E 11AC;
+C6B6;C6B6;110B 116E 11AD;C6B6;110B 116E 11AD;
+C6B7;C6B7;110B 116E 11AE;C6B7;110B 116E 11AE;
+C6B8;C6B8;110B 116E 11AF;C6B8;110B 116E 11AF;
+C6B9;C6B9;110B 116E 11B0;C6B9;110B 116E 11B0;
+C6BA;C6BA;110B 116E 11B1;C6BA;110B 116E 11B1;
+C6BB;C6BB;110B 116E 11B2;C6BB;110B 116E 11B2;
+C6BC;C6BC;110B 116E 11B3;C6BC;110B 116E 11B3;
+C6BD;C6BD;110B 116E 11B4;C6BD;110B 116E 11B4;
+C6BE;C6BE;110B 116E 11B5;C6BE;110B 116E 11B5;
+C6BF;C6BF;110B 116E 11B6;C6BF;110B 116E 11B6;
+C6C0;C6C0;110B 116E 11B7;C6C0;110B 116E 11B7;
+C6C1;C6C1;110B 116E 11B8;C6C1;110B 116E 11B8;
+C6C2;C6C2;110B 116E 11B9;C6C2;110B 116E 11B9;
+C6C3;C6C3;110B 116E 11BA;C6C3;110B 116E 11BA;
+C6C4;C6C4;110B 116E 11BB;C6C4;110B 116E 11BB;
+C6C5;C6C5;110B 116E 11BC;C6C5;110B 116E 11BC;
+C6C6;C6C6;110B 116E 11BD;C6C6;110B 116E 11BD;
+C6C7;C6C7;110B 116E 11BE;C6C7;110B 116E 11BE;
+C6C8;C6C8;110B 116E 11BF;C6C8;110B 116E 11BF;
+C6C9;C6C9;110B 116E 11C0;C6C9;110B 116E 11C0;
+C6CA;C6CA;110B 116E 11C1;C6CA;110B 116E 11C1;
+C6CB;C6CB;110B 116E 11C2;C6CB;110B 116E 11C2;
+C6CC;C6CC;110B 116F;C6CC;110B 116F;
+C6CD;C6CD;110B 116F 11A8;C6CD;110B 116F 11A8;
+C6CE;C6CE;110B 116F 11A9;C6CE;110B 116F 11A9;
+C6CF;C6CF;110B 116F 11AA;C6CF;110B 116F 11AA;
+C6D0;C6D0;110B 116F 11AB;C6D0;110B 116F 11AB;
+C6D1;C6D1;110B 116F 11AC;C6D1;110B 116F 11AC;
+C6D2;C6D2;110B 116F 11AD;C6D2;110B 116F 11AD;
+C6D3;C6D3;110B 116F 11AE;C6D3;110B 116F 11AE;
+C6D4;C6D4;110B 116F 11AF;C6D4;110B 116F 11AF;
+C6D5;C6D5;110B 116F 11B0;C6D5;110B 116F 11B0;
+C6D6;C6D6;110B 116F 11B1;C6D6;110B 116F 11B1;
+C6D7;C6D7;110B 116F 11B2;C6D7;110B 116F 11B2;
+C6D8;C6D8;110B 116F 11B3;C6D8;110B 116F 11B3;
+C6D9;C6D9;110B 116F 11B4;C6D9;110B 116F 11B4;
+C6DA;C6DA;110B 116F 11B5;C6DA;110B 116F 11B5;
+C6DB;C6DB;110B 116F 11B6;C6DB;110B 116F 11B6;
+C6DC;C6DC;110B 116F 11B7;C6DC;110B 116F 11B7;
+C6DD;C6DD;110B 116F 11B8;C6DD;110B 116F 11B8;
+C6DE;C6DE;110B 116F 11B9;C6DE;110B 116F 11B9;
+C6DF;C6DF;110B 116F 11BA;C6DF;110B 116F 11BA;
+C6E0;C6E0;110B 116F 11BB;C6E0;110B 116F 11BB;
+C6E1;C6E1;110B 116F 11BC;C6E1;110B 116F 11BC;
+C6E2;C6E2;110B 116F 11BD;C6E2;110B 116F 11BD;
+C6E3;C6E3;110B 116F 11BE;C6E3;110B 116F 11BE;
+C6E4;C6E4;110B 116F 11BF;C6E4;110B 116F 11BF;
+C6E5;C6E5;110B 116F 11C0;C6E5;110B 116F 11C0;
+C6E6;C6E6;110B 116F 11C1;C6E6;110B 116F 11C1;
+C6E7;C6E7;110B 116F 11C2;C6E7;110B 116F 11C2;
+C6E8;C6E8;110B 1170;C6E8;110B 1170;
+C6E9;C6E9;110B 1170 11A8;C6E9;110B 1170 11A8;
+C6EA;C6EA;110B 1170 11A9;C6EA;110B 1170 11A9;
+C6EB;C6EB;110B 1170 11AA;C6EB;110B 1170 11AA;
+C6EC;C6EC;110B 1170 11AB;C6EC;110B 1170 11AB;
+C6ED;C6ED;110B 1170 11AC;C6ED;110B 1170 11AC;
+C6EE;C6EE;110B 1170 11AD;C6EE;110B 1170 11AD;
+C6EF;C6EF;110B 1170 11AE;C6EF;110B 1170 11AE;
+C6F0;C6F0;110B 1170 11AF;C6F0;110B 1170 11AF;
+C6F1;C6F1;110B 1170 11B0;C6F1;110B 1170 11B0;
+C6F2;C6F2;110B 1170 11B1;C6F2;110B 1170 11B1;
+C6F3;C6F3;110B 1170 11B2;C6F3;110B 1170 11B2;
+C6F4;C6F4;110B 1170 11B3;C6F4;110B 1170 11B3;
+C6F5;C6F5;110B 1170 11B4;C6F5;110B 1170 11B4;
+C6F6;C6F6;110B 1170 11B5;C6F6;110B 1170 11B5;
+C6F7;C6F7;110B 1170 11B6;C6F7;110B 1170 11B6;
+C6F8;C6F8;110B 1170 11B7;C6F8;110B 1170 11B7;
+C6F9;C6F9;110B 1170 11B8;C6F9;110B 1170 11B8;
+C6FA;C6FA;110B 1170 11B9;C6FA;110B 1170 11B9;
+C6FB;C6FB;110B 1170 11BA;C6FB;110B 1170 11BA;
+C6FC;C6FC;110B 1170 11BB;C6FC;110B 1170 11BB;
+C6FD;C6FD;110B 1170 11BC;C6FD;110B 1170 11BC;
+C6FE;C6FE;110B 1170 11BD;C6FE;110B 1170 11BD;
+C6FF;C6FF;110B 1170 11BE;C6FF;110B 1170 11BE;
+C700;C700;110B 1170 11BF;C700;110B 1170 11BF;
+C701;C701;110B 1170 11C0;C701;110B 1170 11C0;
+C702;C702;110B 1170 11C1;C702;110B 1170 11C1;
+C703;C703;110B 1170 11C2;C703;110B 1170 11C2;
+C704;C704;110B 1171;C704;110B 1171;
+C705;C705;110B 1171 11A8;C705;110B 1171 11A8;
+C706;C706;110B 1171 11A9;C706;110B 1171 11A9;
+C707;C707;110B 1171 11AA;C707;110B 1171 11AA;
+C708;C708;110B 1171 11AB;C708;110B 1171 11AB;
+C709;C709;110B 1171 11AC;C709;110B 1171 11AC;
+C70A;C70A;110B 1171 11AD;C70A;110B 1171 11AD;
+C70B;C70B;110B 1171 11AE;C70B;110B 1171 11AE;
+C70C;C70C;110B 1171 11AF;C70C;110B 1171 11AF;
+C70D;C70D;110B 1171 11B0;C70D;110B 1171 11B0;
+C70E;C70E;110B 1171 11B1;C70E;110B 1171 11B1;
+C70F;C70F;110B 1171 11B2;C70F;110B 1171 11B2;
+C710;C710;110B 1171 11B3;C710;110B 1171 11B3;
+C711;C711;110B 1171 11B4;C711;110B 1171 11B4;
+C712;C712;110B 1171 11B5;C712;110B 1171 11B5;
+C713;C713;110B 1171 11B6;C713;110B 1171 11B6;
+C714;C714;110B 1171 11B7;C714;110B 1171 11B7;
+C715;C715;110B 1171 11B8;C715;110B 1171 11B8;
+C716;C716;110B 1171 11B9;C716;110B 1171 11B9;
+C717;C717;110B 1171 11BA;C717;110B 1171 11BA;
+C718;C718;110B 1171 11BB;C718;110B 1171 11BB;
+C719;C719;110B 1171 11BC;C719;110B 1171 11BC;
+C71A;C71A;110B 1171 11BD;C71A;110B 1171 11BD;
+C71B;C71B;110B 1171 11BE;C71B;110B 1171 11BE;
+C71C;C71C;110B 1171 11BF;C71C;110B 1171 11BF;
+C71D;C71D;110B 1171 11C0;C71D;110B 1171 11C0;
+C71E;C71E;110B 1171 11C1;C71E;110B 1171 11C1;
+C71F;C71F;110B 1171 11C2;C71F;110B 1171 11C2;
+C720;C720;110B 1172;C720;110B 1172;
+C721;C721;110B 1172 11A8;C721;110B 1172 11A8;
+C722;C722;110B 1172 11A9;C722;110B 1172 11A9;
+C723;C723;110B 1172 11AA;C723;110B 1172 11AA;
+C724;C724;110B 1172 11AB;C724;110B 1172 11AB;
+C725;C725;110B 1172 11AC;C725;110B 1172 11AC;
+C726;C726;110B 1172 11AD;C726;110B 1172 11AD;
+C727;C727;110B 1172 11AE;C727;110B 1172 11AE;
+C728;C728;110B 1172 11AF;C728;110B 1172 11AF;
+C729;C729;110B 1172 11B0;C729;110B 1172 11B0;
+C72A;C72A;110B 1172 11B1;C72A;110B 1172 11B1;
+C72B;C72B;110B 1172 11B2;C72B;110B 1172 11B2;
+C72C;C72C;110B 1172 11B3;C72C;110B 1172 11B3;
+C72D;C72D;110B 1172 11B4;C72D;110B 1172 11B4;
+C72E;C72E;110B 1172 11B5;C72E;110B 1172 11B5;
+C72F;C72F;110B 1172 11B6;C72F;110B 1172 11B6;
+C730;C730;110B 1172 11B7;C730;110B 1172 11B7;
+C731;C731;110B 1172 11B8;C731;110B 1172 11B8;
+C732;C732;110B 1172 11B9;C732;110B 1172 11B9;
+C733;C733;110B 1172 11BA;C733;110B 1172 11BA;
+C734;C734;110B 1172 11BB;C734;110B 1172 11BB;
+C735;C735;110B 1172 11BC;C735;110B 1172 11BC;
+C736;C736;110B 1172 11BD;C736;110B 1172 11BD;
+C737;C737;110B 1172 11BE;C737;110B 1172 11BE;
+C738;C738;110B 1172 11BF;C738;110B 1172 11BF;
+C739;C739;110B 1172 11C0;C739;110B 1172 11C0;
+C73A;C73A;110B 1172 11C1;C73A;110B 1172 11C1;
+C73B;C73B;110B 1172 11C2;C73B;110B 1172 11C2;
+C73C;C73C;110B 1173;C73C;110B 1173;
+C73D;C73D;110B 1173 11A8;C73D;110B 1173 11A8;
+C73E;C73E;110B 1173 11A9;C73E;110B 1173 11A9;
+C73F;C73F;110B 1173 11AA;C73F;110B 1173 11AA;
+C740;C740;110B 1173 11AB;C740;110B 1173 11AB;
+C741;C741;110B 1173 11AC;C741;110B 1173 11AC;
+C742;C742;110B 1173 11AD;C742;110B 1173 11AD;
+C743;C743;110B 1173 11AE;C743;110B 1173 11AE;
+C744;C744;110B 1173 11AF;C744;110B 1173 11AF;
+C745;C745;110B 1173 11B0;C745;110B 1173 11B0;
+C746;C746;110B 1173 11B1;C746;110B 1173 11B1;
+C747;C747;110B 1173 11B2;C747;110B 1173 11B2;
+C748;C748;110B 1173 11B3;C748;110B 1173 11B3;
+C749;C749;110B 1173 11B4;C749;110B 1173 11B4;
+C74A;C74A;110B 1173 11B5;C74A;110B 1173 11B5;
+C74B;C74B;110B 1173 11B6;C74B;110B 1173 11B6;
+C74C;C74C;110B 1173 11B7;C74C;110B 1173 11B7;
+C74D;C74D;110B 1173 11B8;C74D;110B 1173 11B8;
+C74E;C74E;110B 1173 11B9;C74E;110B 1173 11B9;
+C74F;C74F;110B 1173 11BA;C74F;110B 1173 11BA;
+C750;C750;110B 1173 11BB;C750;110B 1173 11BB;
+C751;C751;110B 1173 11BC;C751;110B 1173 11BC;
+C752;C752;110B 1173 11BD;C752;110B 1173 11BD;
+C753;C753;110B 1173 11BE;C753;110B 1173 11BE;
+C754;C754;110B 1173 11BF;C754;110B 1173 11BF;
+C755;C755;110B 1173 11C0;C755;110B 1173 11C0;
+C756;C756;110B 1173 11C1;C756;110B 1173 11C1;
+C757;C757;110B 1173 11C2;C757;110B 1173 11C2;
+C758;C758;110B 1174;C758;110B 1174;
+C759;C759;110B 1174 11A8;C759;110B 1174 11A8;
+C75A;C75A;110B 1174 11A9;C75A;110B 1174 11A9;
+C75B;C75B;110B 1174 11AA;C75B;110B 1174 11AA;
+C75C;C75C;110B 1174 11AB;C75C;110B 1174 11AB;
+C75D;C75D;110B 1174 11AC;C75D;110B 1174 11AC;
+C75E;C75E;110B 1174 11AD;C75E;110B 1174 11AD;
+C75F;C75F;110B 1174 11AE;C75F;110B 1174 11AE;
+C760;C760;110B 1174 11AF;C760;110B 1174 11AF;
+C761;C761;110B 1174 11B0;C761;110B 1174 11B0;
+C762;C762;110B 1174 11B1;C762;110B 1174 11B1;
+C763;C763;110B 1174 11B2;C763;110B 1174 11B2;
+C764;C764;110B 1174 11B3;C764;110B 1174 11B3;
+C765;C765;110B 1174 11B4;C765;110B 1174 11B4;
+C766;C766;110B 1174 11B5;C766;110B 1174 11B5;
+C767;C767;110B 1174 11B6;C767;110B 1174 11B6;
+C768;C768;110B 1174 11B7;C768;110B 1174 11B7;
+C769;C769;110B 1174 11B8;C769;110B 1174 11B8;
+C76A;C76A;110B 1174 11B9;C76A;110B 1174 11B9;
+C76B;C76B;110B 1174 11BA;C76B;110B 1174 11BA;
+C76C;C76C;110B 1174 11BB;C76C;110B 1174 11BB;
+C76D;C76D;110B 1174 11BC;C76D;110B 1174 11BC;
+C76E;C76E;110B 1174 11BD;C76E;110B 1174 11BD;
+C76F;C76F;110B 1174 11BE;C76F;110B 1174 11BE;
+C770;C770;110B 1174 11BF;C770;110B 1174 11BF;
+C771;C771;110B 1174 11C0;C771;110B 1174 11C0;
+C772;C772;110B 1174 11C1;C772;110B 1174 11C1;
+C773;C773;110B 1174 11C2;C773;110B 1174 11C2;
+C774;C774;110B 1175;C774;110B 1175;
+C775;C775;110B 1175 11A8;C775;110B 1175 11A8;
+C776;C776;110B 1175 11A9;C776;110B 1175 11A9;
+C777;C777;110B 1175 11AA;C777;110B 1175 11AA;
+C778;C778;110B 1175 11AB;C778;110B 1175 11AB;
+C779;C779;110B 1175 11AC;C779;110B 1175 11AC;
+C77A;C77A;110B 1175 11AD;C77A;110B 1175 11AD;
+C77B;C77B;110B 1175 11AE;C77B;110B 1175 11AE;
+C77C;C77C;110B 1175 11AF;C77C;110B 1175 11AF;
+C77D;C77D;110B 1175 11B0;C77D;110B 1175 11B0;
+C77E;C77E;110B 1175 11B1;C77E;110B 1175 11B1;
+C77F;C77F;110B 1175 11B2;C77F;110B 1175 11B2;
+C780;C780;110B 1175 11B3;C780;110B 1175 11B3;
+C781;C781;110B 1175 11B4;C781;110B 1175 11B4;
+C782;C782;110B 1175 11B5;C782;110B 1175 11B5;
+C783;C783;110B 1175 11B6;C783;110B 1175 11B6;
+C784;C784;110B 1175 11B7;C784;110B 1175 11B7;
+C785;C785;110B 1175 11B8;C785;110B 1175 11B8;
+C786;C786;110B 1175 11B9;C786;110B 1175 11B9;
+C787;C787;110B 1175 11BA;C787;110B 1175 11BA;
+C788;C788;110B 1175 11BB;C788;110B 1175 11BB;
+C789;C789;110B 1175 11BC;C789;110B 1175 11BC;
+C78A;C78A;110B 1175 11BD;C78A;110B 1175 11BD;
+C78B;C78B;110B 1175 11BE;C78B;110B 1175 11BE;
+C78C;C78C;110B 1175 11BF;C78C;110B 1175 11BF;
+C78D;C78D;110B 1175 11C0;C78D;110B 1175 11C0;
+C78E;C78E;110B 1175 11C1;C78E;110B 1175 11C1;
+C78F;C78F;110B 1175 11C2;C78F;110B 1175 11C2;
+C790;C790;110C 1161;C790;110C 1161;
+C791;C791;110C 1161 11A8;C791;110C 1161 11A8;
+C792;C792;110C 1161 11A9;C792;110C 1161 11A9;
+C793;C793;110C 1161 11AA;C793;110C 1161 11AA;
+C794;C794;110C 1161 11AB;C794;110C 1161 11AB;
+C795;C795;110C 1161 11AC;C795;110C 1161 11AC;
+C796;C796;110C 1161 11AD;C796;110C 1161 11AD;
+C797;C797;110C 1161 11AE;C797;110C 1161 11AE;
+C798;C798;110C 1161 11AF;C798;110C 1161 11AF;
+C799;C799;110C 1161 11B0;C799;110C 1161 11B0;
+C79A;C79A;110C 1161 11B1;C79A;110C 1161 11B1;
+C79B;C79B;110C 1161 11B2;C79B;110C 1161 11B2;
+C79C;C79C;110C 1161 11B3;C79C;110C 1161 11B3;
+C79D;C79D;110C 1161 11B4;C79D;110C 1161 11B4;
+C79E;C79E;110C 1161 11B5;C79E;110C 1161 11B5;
+C79F;C79F;110C 1161 11B6;C79F;110C 1161 11B6;
+C7A0;C7A0;110C 1161 11B7;C7A0;110C 1161 11B7;
+C7A1;C7A1;110C 1161 11B8;C7A1;110C 1161 11B8;
+C7A2;C7A2;110C 1161 11B9;C7A2;110C 1161 11B9;
+C7A3;C7A3;110C 1161 11BA;C7A3;110C 1161 11BA;
+C7A4;C7A4;110C 1161 11BB;C7A4;110C 1161 11BB;
+C7A5;C7A5;110C 1161 11BC;C7A5;110C 1161 11BC;
+C7A6;C7A6;110C 1161 11BD;C7A6;110C 1161 11BD;
+C7A7;C7A7;110C 1161 11BE;C7A7;110C 1161 11BE;
+C7A8;C7A8;110C 1161 11BF;C7A8;110C 1161 11BF;
+C7A9;C7A9;110C 1161 11C0;C7A9;110C 1161 11C0;
+C7AA;C7AA;110C 1161 11C1;C7AA;110C 1161 11C1;
+C7AB;C7AB;110C 1161 11C2;C7AB;110C 1161 11C2;
+C7AC;C7AC;110C 1162;C7AC;110C 1162;
+C7AD;C7AD;110C 1162 11A8;C7AD;110C 1162 11A8;
+C7AE;C7AE;110C 1162 11A9;C7AE;110C 1162 11A9;
+C7AF;C7AF;110C 1162 11AA;C7AF;110C 1162 11AA;
+C7B0;C7B0;110C 1162 11AB;C7B0;110C 1162 11AB;
+C7B1;C7B1;110C 1162 11AC;C7B1;110C 1162 11AC;
+C7B2;C7B2;110C 1162 11AD;C7B2;110C 1162 11AD;
+C7B3;C7B3;110C 1162 11AE;C7B3;110C 1162 11AE;
+C7B4;C7B4;110C 1162 11AF;C7B4;110C 1162 11AF;
+C7B5;C7B5;110C 1162 11B0;C7B5;110C 1162 11B0;
+C7B6;C7B6;110C 1162 11B1;C7B6;110C 1162 11B1;
+C7B7;C7B7;110C 1162 11B2;C7B7;110C 1162 11B2;
+C7B8;C7B8;110C 1162 11B3;C7B8;110C 1162 11B3;
+C7B9;C7B9;110C 1162 11B4;C7B9;110C 1162 11B4;
+C7BA;C7BA;110C 1162 11B5;C7BA;110C 1162 11B5;
+C7BB;C7BB;110C 1162 11B6;C7BB;110C 1162 11B6;
+C7BC;C7BC;110C 1162 11B7;C7BC;110C 1162 11B7;
+C7BD;C7BD;110C 1162 11B8;C7BD;110C 1162 11B8;
+C7BE;C7BE;110C 1162 11B9;C7BE;110C 1162 11B9;
+C7BF;C7BF;110C 1162 11BA;C7BF;110C 1162 11BA;
+C7C0;C7C0;110C 1162 11BB;C7C0;110C 1162 11BB;
+C7C1;C7C1;110C 1162 11BC;C7C1;110C 1162 11BC;
+C7C2;C7C2;110C 1162 11BD;C7C2;110C 1162 11BD;
+C7C3;C7C3;110C 1162 11BE;C7C3;110C 1162 11BE;
+C7C4;C7C4;110C 1162 11BF;C7C4;110C 1162 11BF;
+C7C5;C7C5;110C 1162 11C0;C7C5;110C 1162 11C0;
+C7C6;C7C6;110C 1162 11C1;C7C6;110C 1162 11C1;
+C7C7;C7C7;110C 1162 11C2;C7C7;110C 1162 11C2;
+C7C8;C7C8;110C 1163;C7C8;110C 1163;
+C7C9;C7C9;110C 1163 11A8;C7C9;110C 1163 11A8;
+C7CA;C7CA;110C 1163 11A9;C7CA;110C 1163 11A9;
+C7CB;C7CB;110C 1163 11AA;C7CB;110C 1163 11AA;
+C7CC;C7CC;110C 1163 11AB;C7CC;110C 1163 11AB;
+C7CD;C7CD;110C 1163 11AC;C7CD;110C 1163 11AC;
+C7CE;C7CE;110C 1163 11AD;C7CE;110C 1163 11AD;
+C7CF;C7CF;110C 1163 11AE;C7CF;110C 1163 11AE;
+C7D0;C7D0;110C 1163 11AF;C7D0;110C 1163 11AF;
+C7D1;C7D1;110C 1163 11B0;C7D1;110C 1163 11B0;
+C7D2;C7D2;110C 1163 11B1;C7D2;110C 1163 11B1;
+C7D3;C7D3;110C 1163 11B2;C7D3;110C 1163 11B2;
+C7D4;C7D4;110C 1163 11B3;C7D4;110C 1163 11B3;
+C7D5;C7D5;110C 1163 11B4;C7D5;110C 1163 11B4;
+C7D6;C7D6;110C 1163 11B5;C7D6;110C 1163 11B5;
+C7D7;C7D7;110C 1163 11B6;C7D7;110C 1163 11B6;
+C7D8;C7D8;110C 1163 11B7;C7D8;110C 1163 11B7;
+C7D9;C7D9;110C 1163 11B8;C7D9;110C 1163 11B8;
+C7DA;C7DA;110C 1163 11B9;C7DA;110C 1163 11B9;
+C7DB;C7DB;110C 1163 11BA;C7DB;110C 1163 11BA;
+C7DC;C7DC;110C 1163 11BB;C7DC;110C 1163 11BB;
+C7DD;C7DD;110C 1163 11BC;C7DD;110C 1163 11BC;
+C7DE;C7DE;110C 1163 11BD;C7DE;110C 1163 11BD;
+C7DF;C7DF;110C 1163 11BE;C7DF;110C 1163 11BE;
+C7E0;C7E0;110C 1163 11BF;C7E0;110C 1163 11BF;
+C7E1;C7E1;110C 1163 11C0;C7E1;110C 1163 11C0;
+C7E2;C7E2;110C 1163 11C1;C7E2;110C 1163 11C1;
+C7E3;C7E3;110C 1163 11C2;C7E3;110C 1163 11C2;
+C7E4;C7E4;110C 1164;C7E4;110C 1164;
+C7E5;C7E5;110C 1164 11A8;C7E5;110C 1164 11A8;
+C7E6;C7E6;110C 1164 11A9;C7E6;110C 1164 11A9;
+C7E7;C7E7;110C 1164 11AA;C7E7;110C 1164 11AA;
+C7E8;C7E8;110C 1164 11AB;C7E8;110C 1164 11AB;
+C7E9;C7E9;110C 1164 11AC;C7E9;110C 1164 11AC;
+C7EA;C7EA;110C 1164 11AD;C7EA;110C 1164 11AD;
+C7EB;C7EB;110C 1164 11AE;C7EB;110C 1164 11AE;
+C7EC;C7EC;110C 1164 11AF;C7EC;110C 1164 11AF;
+C7ED;C7ED;110C 1164 11B0;C7ED;110C 1164 11B0;
+C7EE;C7EE;110C 1164 11B1;C7EE;110C 1164 11B1;
+C7EF;C7EF;110C 1164 11B2;C7EF;110C 1164 11B2;
+C7F0;C7F0;110C 1164 11B3;C7F0;110C 1164 11B3;
+C7F1;C7F1;110C 1164 11B4;C7F1;110C 1164 11B4;
+C7F2;C7F2;110C 1164 11B5;C7F2;110C 1164 11B5;
+C7F3;C7F3;110C 1164 11B6;C7F3;110C 1164 11B6;
+C7F4;C7F4;110C 1164 11B7;C7F4;110C 1164 11B7;
+C7F5;C7F5;110C 1164 11B8;C7F5;110C 1164 11B8;
+C7F6;C7F6;110C 1164 11B9;C7F6;110C 1164 11B9;
+C7F7;C7F7;110C 1164 11BA;C7F7;110C 1164 11BA;
+C7F8;C7F8;110C 1164 11BB;C7F8;110C 1164 11BB;
+C7F9;C7F9;110C 1164 11BC;C7F9;110C 1164 11BC;
+C7FA;C7FA;110C 1164 11BD;C7FA;110C 1164 11BD;
+C7FB;C7FB;110C 1164 11BE;C7FB;110C 1164 11BE;
+C7FC;C7FC;110C 1164 11BF;C7FC;110C 1164 11BF;
+C7FD;C7FD;110C 1164 11C0;C7FD;110C 1164 11C0;
+C7FE;C7FE;110C 1164 11C1;C7FE;110C 1164 11C1;
+C7FF;C7FF;110C 1164 11C2;C7FF;110C 1164 11C2;
+C800;C800;110C 1165;C800;110C 1165;
+C801;C801;110C 1165 11A8;C801;110C 1165 11A8;
+C802;C802;110C 1165 11A9;C802;110C 1165 11A9;
+C803;C803;110C 1165 11AA;C803;110C 1165 11AA;
+C804;C804;110C 1165 11AB;C804;110C 1165 11AB;
+C805;C805;110C 1165 11AC;C805;110C 1165 11AC;
+C806;C806;110C 1165 11AD;C806;110C 1165 11AD;
+C807;C807;110C 1165 11AE;C807;110C 1165 11AE;
+C808;C808;110C 1165 11AF;C808;110C 1165 11AF;
+C809;C809;110C 1165 11B0;C809;110C 1165 11B0;
+C80A;C80A;110C 1165 11B1;C80A;110C 1165 11B1;
+C80B;C80B;110C 1165 11B2;C80B;110C 1165 11B2;
+C80C;C80C;110C 1165 11B3;C80C;110C 1165 11B3;
+C80D;C80D;110C 1165 11B4;C80D;110C 1165 11B4;
+C80E;C80E;110C 1165 11B5;C80E;110C 1165 11B5;
+C80F;C80F;110C 1165 11B6;C80F;110C 1165 11B6;
+C810;C810;110C 1165 11B7;C810;110C 1165 11B7;
+C811;C811;110C 1165 11B8;C811;110C 1165 11B8;
+C812;C812;110C 1165 11B9;C812;110C 1165 11B9;
+C813;C813;110C 1165 11BA;C813;110C 1165 11BA;
+C814;C814;110C 1165 11BB;C814;110C 1165 11BB;
+C815;C815;110C 1165 11BC;C815;110C 1165 11BC;
+C816;C816;110C 1165 11BD;C816;110C 1165 11BD;
+C817;C817;110C 1165 11BE;C817;110C 1165 11BE;
+C818;C818;110C 1165 11BF;C818;110C 1165 11BF;
+C819;C819;110C 1165 11C0;C819;110C 1165 11C0;
+C81A;C81A;110C 1165 11C1;C81A;110C 1165 11C1;
+C81B;C81B;110C 1165 11C2;C81B;110C 1165 11C2;
+C81C;C81C;110C 1166;C81C;110C 1166;
+C81D;C81D;110C 1166 11A8;C81D;110C 1166 11A8;
+C81E;C81E;110C 1166 11A9;C81E;110C 1166 11A9;
+C81F;C81F;110C 1166 11AA;C81F;110C 1166 11AA;
+C820;C820;110C 1166 11AB;C820;110C 1166 11AB;
+C821;C821;110C 1166 11AC;C821;110C 1166 11AC;
+C822;C822;110C 1166 11AD;C822;110C 1166 11AD;
+C823;C823;110C 1166 11AE;C823;110C 1166 11AE;
+C824;C824;110C 1166 11AF;C824;110C 1166 11AF;
+C825;C825;110C 1166 11B0;C825;110C 1166 11B0;
+C826;C826;110C 1166 11B1;C826;110C 1166 11B1;
+C827;C827;110C 1166 11B2;C827;110C 1166 11B2;
+C828;C828;110C 1166 11B3;C828;110C 1166 11B3;
+C829;C829;110C 1166 11B4;C829;110C 1166 11B4;
+C82A;C82A;110C 1166 11B5;C82A;110C 1166 11B5;
+C82B;C82B;110C 1166 11B6;C82B;110C 1166 11B6;
+C82C;C82C;110C 1166 11B7;C82C;110C 1166 11B7;
+C82D;C82D;110C 1166 11B8;C82D;110C 1166 11B8;
+C82E;C82E;110C 1166 11B9;C82E;110C 1166 11B9;
+C82F;C82F;110C 1166 11BA;C82F;110C 1166 11BA;
+C830;C830;110C 1166 11BB;C830;110C 1166 11BB;
+C831;C831;110C 1166 11BC;C831;110C 1166 11BC;
+C832;C832;110C 1166 11BD;C832;110C 1166 11BD;
+C833;C833;110C 1166 11BE;C833;110C 1166 11BE;
+C834;C834;110C 1166 11BF;C834;110C 1166 11BF;
+C835;C835;110C 1166 11C0;C835;110C 1166 11C0;
+C836;C836;110C 1166 11C1;C836;110C 1166 11C1;
+C837;C837;110C 1166 11C2;C837;110C 1166 11C2;
+C838;C838;110C 1167;C838;110C 1167;
+C839;C839;110C 1167 11A8;C839;110C 1167 11A8;
+C83A;C83A;110C 1167 11A9;C83A;110C 1167 11A9;
+C83B;C83B;110C 1167 11AA;C83B;110C 1167 11AA;
+C83C;C83C;110C 1167 11AB;C83C;110C 1167 11AB;
+C83D;C83D;110C 1167 11AC;C83D;110C 1167 11AC;
+C83E;C83E;110C 1167 11AD;C83E;110C 1167 11AD;
+C83F;C83F;110C 1167 11AE;C83F;110C 1167 11AE;
+C840;C840;110C 1167 11AF;C840;110C 1167 11AF;
+C841;C841;110C 1167 11B0;C841;110C 1167 11B0;
+C842;C842;110C 1167 11B1;C842;110C 1167 11B1;
+C843;C843;110C 1167 11B2;C843;110C 1167 11B2;
+C844;C844;110C 1167 11B3;C844;110C 1167 11B3;
+C845;C845;110C 1167 11B4;C845;110C 1167 11B4;
+C846;C846;110C 1167 11B5;C846;110C 1167 11B5;
+C847;C847;110C 1167 11B6;C847;110C 1167 11B6;
+C848;C848;110C 1167 11B7;C848;110C 1167 11B7;
+C849;C849;110C 1167 11B8;C849;110C 1167 11B8;
+C84A;C84A;110C 1167 11B9;C84A;110C 1167 11B9;
+C84B;C84B;110C 1167 11BA;C84B;110C 1167 11BA;
+C84C;C84C;110C 1167 11BB;C84C;110C 1167 11BB;
+C84D;C84D;110C 1167 11BC;C84D;110C 1167 11BC;
+C84E;C84E;110C 1167 11BD;C84E;110C 1167 11BD;
+C84F;C84F;110C 1167 11BE;C84F;110C 1167 11BE;
+C850;C850;110C 1167 11BF;C850;110C 1167 11BF;
+C851;C851;110C 1167 11C0;C851;110C 1167 11C0;
+C852;C852;110C 1167 11C1;C852;110C 1167 11C1;
+C853;C853;110C 1167 11C2;C853;110C 1167 11C2;
+C854;C854;110C 1168;C854;110C 1168;
+C855;C855;110C 1168 11A8;C855;110C 1168 11A8;
+C856;C856;110C 1168 11A9;C856;110C 1168 11A9;
+C857;C857;110C 1168 11AA;C857;110C 1168 11AA;
+C858;C858;110C 1168 11AB;C858;110C 1168 11AB;
+C859;C859;110C 1168 11AC;C859;110C 1168 11AC;
+C85A;C85A;110C 1168 11AD;C85A;110C 1168 11AD;
+C85B;C85B;110C 1168 11AE;C85B;110C 1168 11AE;
+C85C;C85C;110C 1168 11AF;C85C;110C 1168 11AF;
+C85D;C85D;110C 1168 11B0;C85D;110C 1168 11B0;
+C85E;C85E;110C 1168 11B1;C85E;110C 1168 11B1;
+C85F;C85F;110C 1168 11B2;C85F;110C 1168 11B2;
+C860;C860;110C 1168 11B3;C860;110C 1168 11B3;
+C861;C861;110C 1168 11B4;C861;110C 1168 11B4;
+C862;C862;110C 1168 11B5;C862;110C 1168 11B5;
+C863;C863;110C 1168 11B6;C863;110C 1168 11B6;
+C864;C864;110C 1168 11B7;C864;110C 1168 11B7;
+C865;C865;110C 1168 11B8;C865;110C 1168 11B8;
+C866;C866;110C 1168 11B9;C866;110C 1168 11B9;
+C867;C867;110C 1168 11BA;C867;110C 1168 11BA;
+C868;C868;110C 1168 11BB;C868;110C 1168 11BB;
+C869;C869;110C 1168 11BC;C869;110C 1168 11BC;
+C86A;C86A;110C 1168 11BD;C86A;110C 1168 11BD;
+C86B;C86B;110C 1168 11BE;C86B;110C 1168 11BE;
+C86C;C86C;110C 1168 11BF;C86C;110C 1168 11BF;
+C86D;C86D;110C 1168 11C0;C86D;110C 1168 11C0;
+C86E;C86E;110C 1168 11C1;C86E;110C 1168 11C1;
+C86F;C86F;110C 1168 11C2;C86F;110C 1168 11C2;
+C870;C870;110C 1169;C870;110C 1169;
+C871;C871;110C 1169 11A8;C871;110C 1169 11A8;
+C872;C872;110C 1169 11A9;C872;110C 1169 11A9;
+C873;C873;110C 1169 11AA;C873;110C 1169 11AA;
+C874;C874;110C 1169 11AB;C874;110C 1169 11AB;
+C875;C875;110C 1169 11AC;C875;110C 1169 11AC;
+C876;C876;110C 1169 11AD;C876;110C 1169 11AD;
+C877;C877;110C 1169 11AE;C877;110C 1169 11AE;
+C878;C878;110C 1169 11AF;C878;110C 1169 11AF;
+C879;C879;110C 1169 11B0;C879;110C 1169 11B0;
+C87A;C87A;110C 1169 11B1;C87A;110C 1169 11B1;
+C87B;C87B;110C 1169 11B2;C87B;110C 1169 11B2;
+C87C;C87C;110C 1169 11B3;C87C;110C 1169 11B3;
+C87D;C87D;110C 1169 11B4;C87D;110C 1169 11B4;
+C87E;C87E;110C 1169 11B5;C87E;110C 1169 11B5;
+C87F;C87F;110C 1169 11B6;C87F;110C 1169 11B6;
+C880;C880;110C 1169 11B7;C880;110C 1169 11B7;
+C881;C881;110C 1169 11B8;C881;110C 1169 11B8;
+C882;C882;110C 1169 11B9;C882;110C 1169 11B9;
+C883;C883;110C 1169 11BA;C883;110C 1169 11BA;
+C884;C884;110C 1169 11BB;C884;110C 1169 11BB;
+C885;C885;110C 1169 11BC;C885;110C 1169 11BC;
+C886;C886;110C 1169 11BD;C886;110C 1169 11BD;
+C887;C887;110C 1169 11BE;C887;110C 1169 11BE;
+C888;C888;110C 1169 11BF;C888;110C 1169 11BF;
+C889;C889;110C 1169 11C0;C889;110C 1169 11C0;
+C88A;C88A;110C 1169 11C1;C88A;110C 1169 11C1;
+C88B;C88B;110C 1169 11C2;C88B;110C 1169 11C2;
+C88C;C88C;110C 116A;C88C;110C 116A;
+C88D;C88D;110C 116A 11A8;C88D;110C 116A 11A8;
+C88E;C88E;110C 116A 11A9;C88E;110C 116A 11A9;
+C88F;C88F;110C 116A 11AA;C88F;110C 116A 11AA;
+C890;C890;110C 116A 11AB;C890;110C 116A 11AB;
+C891;C891;110C 116A 11AC;C891;110C 116A 11AC;
+C892;C892;110C 116A 11AD;C892;110C 116A 11AD;
+C893;C893;110C 116A 11AE;C893;110C 116A 11AE;
+C894;C894;110C 116A 11AF;C894;110C 116A 11AF;
+C895;C895;110C 116A 11B0;C895;110C 116A 11B0;
+C896;C896;110C 116A 11B1;C896;110C 116A 11B1;
+C897;C897;110C 116A 11B2;C897;110C 116A 11B2;
+C898;C898;110C 116A 11B3;C898;110C 116A 11B3;
+C899;C899;110C 116A 11B4;C899;110C 116A 11B4;
+C89A;C89A;110C 116A 11B5;C89A;110C 116A 11B5;
+C89B;C89B;110C 116A 11B6;C89B;110C 116A 11B6;
+C89C;C89C;110C 116A 11B7;C89C;110C 116A 11B7;
+C89D;C89D;110C 116A 11B8;C89D;110C 116A 11B8;
+C89E;C89E;110C 116A 11B9;C89E;110C 116A 11B9;
+C89F;C89F;110C 116A 11BA;C89F;110C 116A 11BA;
+C8A0;C8A0;110C 116A 11BB;C8A0;110C 116A 11BB;
+C8A1;C8A1;110C 116A 11BC;C8A1;110C 116A 11BC;
+C8A2;C8A2;110C 116A 11BD;C8A2;110C 116A 11BD;
+C8A3;C8A3;110C 116A 11BE;C8A3;110C 116A 11BE;
+C8A4;C8A4;110C 116A 11BF;C8A4;110C 116A 11BF;
+C8A5;C8A5;110C 116A 11C0;C8A5;110C 116A 11C0;
+C8A6;C8A6;110C 116A 11C1;C8A6;110C 116A 11C1;
+C8A7;C8A7;110C 116A 11C2;C8A7;110C 116A 11C2;
+C8A8;C8A8;110C 116B;C8A8;110C 116B;
+C8A9;C8A9;110C 116B 11A8;C8A9;110C 116B 11A8;
+C8AA;C8AA;110C 116B 11A9;C8AA;110C 116B 11A9;
+C8AB;C8AB;110C 116B 11AA;C8AB;110C 116B 11AA;
+C8AC;C8AC;110C 116B 11AB;C8AC;110C 116B 11AB;
+C8AD;C8AD;110C 116B 11AC;C8AD;110C 116B 11AC;
+C8AE;C8AE;110C 116B 11AD;C8AE;110C 116B 11AD;
+C8AF;C8AF;110C 116B 11AE;C8AF;110C 116B 11AE;
+C8B0;C8B0;110C 116B 11AF;C8B0;110C 116B 11AF;
+C8B1;C8B1;110C 116B 11B0;C8B1;110C 116B 11B0;
+C8B2;C8B2;110C 116B 11B1;C8B2;110C 116B 11B1;
+C8B3;C8B3;110C 116B 11B2;C8B3;110C 116B 11B2;
+C8B4;C8B4;110C 116B 11B3;C8B4;110C 116B 11B3;
+C8B5;C8B5;110C 116B 11B4;C8B5;110C 116B 11B4;
+C8B6;C8B6;110C 116B 11B5;C8B6;110C 116B 11B5;
+C8B7;C8B7;110C 116B 11B6;C8B7;110C 116B 11B6;
+C8B8;C8B8;110C 116B 11B7;C8B8;110C 116B 11B7;
+C8B9;C8B9;110C 116B 11B8;C8B9;110C 116B 11B8;
+C8BA;C8BA;110C 116B 11B9;C8BA;110C 116B 11B9;
+C8BB;C8BB;110C 116B 11BA;C8BB;110C 116B 11BA;
+C8BC;C8BC;110C 116B 11BB;C8BC;110C 116B 11BB;
+C8BD;C8BD;110C 116B 11BC;C8BD;110C 116B 11BC;
+C8BE;C8BE;110C 116B 11BD;C8BE;110C 116B 11BD;
+C8BF;C8BF;110C 116B 11BE;C8BF;110C 116B 11BE;
+C8C0;C8C0;110C 116B 11BF;C8C0;110C 116B 11BF;
+C8C1;C8C1;110C 116B 11C0;C8C1;110C 116B 11C0;
+C8C2;C8C2;110C 116B 11C1;C8C2;110C 116B 11C1;
+C8C3;C8C3;110C 116B 11C2;C8C3;110C 116B 11C2;
+C8C4;C8C4;110C 116C;C8C4;110C 116C;
+C8C5;C8C5;110C 116C 11A8;C8C5;110C 116C 11A8;
+C8C6;C8C6;110C 116C 11A9;C8C6;110C 116C 11A9;
+C8C7;C8C7;110C 116C 11AA;C8C7;110C 116C 11AA;
+C8C8;C8C8;110C 116C 11AB;C8C8;110C 116C 11AB;
+C8C9;C8C9;110C 116C 11AC;C8C9;110C 116C 11AC;
+C8CA;C8CA;110C 116C 11AD;C8CA;110C 116C 11AD;
+C8CB;C8CB;110C 116C 11AE;C8CB;110C 116C 11AE;
+C8CC;C8CC;110C 116C 11AF;C8CC;110C 116C 11AF;
+C8CD;C8CD;110C 116C 11B0;C8CD;110C 116C 11B0;
+C8CE;C8CE;110C 116C 11B1;C8CE;110C 116C 11B1;
+C8CF;C8CF;110C 116C 11B2;C8CF;110C 116C 11B2;
+C8D0;C8D0;110C 116C 11B3;C8D0;110C 116C 11B3;
+C8D1;C8D1;110C 116C 11B4;C8D1;110C 116C 11B4;
+C8D2;C8D2;110C 116C 11B5;C8D2;110C 116C 11B5;
+C8D3;C8D3;110C 116C 11B6;C8D3;110C 116C 11B6;
+C8D4;C8D4;110C 116C 11B7;C8D4;110C 116C 11B7;
+C8D5;C8D5;110C 116C 11B8;C8D5;110C 116C 11B8;
+C8D6;C8D6;110C 116C 11B9;C8D6;110C 116C 11B9;
+C8D7;C8D7;110C 116C 11BA;C8D7;110C 116C 11BA;
+C8D8;C8D8;110C 116C 11BB;C8D8;110C 116C 11BB;
+C8D9;C8D9;110C 116C 11BC;C8D9;110C 116C 11BC;
+C8DA;C8DA;110C 116C 11BD;C8DA;110C 116C 11BD;
+C8DB;C8DB;110C 116C 11BE;C8DB;110C 116C 11BE;
+C8DC;C8DC;110C 116C 11BF;C8DC;110C 116C 11BF;
+C8DD;C8DD;110C 116C 11C0;C8DD;110C 116C 11C0;
+C8DE;C8DE;110C 116C 11C1;C8DE;110C 116C 11C1;
+C8DF;C8DF;110C 116C 11C2;C8DF;110C 116C 11C2;
+C8E0;C8E0;110C 116D;C8E0;110C 116D;
+C8E1;C8E1;110C 116D 11A8;C8E1;110C 116D 11A8;
+C8E2;C8E2;110C 116D 11A9;C8E2;110C 116D 11A9;
+C8E3;C8E3;110C 116D 11AA;C8E3;110C 116D 11AA;
+C8E4;C8E4;110C 116D 11AB;C8E4;110C 116D 11AB;
+C8E5;C8E5;110C 116D 11AC;C8E5;110C 116D 11AC;
+C8E6;C8E6;110C 116D 11AD;C8E6;110C 116D 11AD;
+C8E7;C8E7;110C 116D 11AE;C8E7;110C 116D 11AE;
+C8E8;C8E8;110C 116D 11AF;C8E8;110C 116D 11AF;
+C8E9;C8E9;110C 116D 11B0;C8E9;110C 116D 11B0;
+C8EA;C8EA;110C 116D 11B1;C8EA;110C 116D 11B1;
+C8EB;C8EB;110C 116D 11B2;C8EB;110C 116D 11B2;
+C8EC;C8EC;110C 116D 11B3;C8EC;110C 116D 11B3;
+C8ED;C8ED;110C 116D 11B4;C8ED;110C 116D 11B4;
+C8EE;C8EE;110C 116D 11B5;C8EE;110C 116D 11B5;
+C8EF;C8EF;110C 116D 11B6;C8EF;110C 116D 11B6;
+C8F0;C8F0;110C 116D 11B7;C8F0;110C 116D 11B7;
+C8F1;C8F1;110C 116D 11B8;C8F1;110C 116D 11B8;
+C8F2;C8F2;110C 116D 11B9;C8F2;110C 116D 11B9;
+C8F3;C8F3;110C 116D 11BA;C8F3;110C 116D 11BA;
+C8F4;C8F4;110C 116D 11BB;C8F4;110C 116D 11BB;
+C8F5;C8F5;110C 116D 11BC;C8F5;110C 116D 11BC;
+C8F6;C8F6;110C 116D 11BD;C8F6;110C 116D 11BD;
+C8F7;C8F7;110C 116D 11BE;C8F7;110C 116D 11BE;
+C8F8;C8F8;110C 116D 11BF;C8F8;110C 116D 11BF;
+C8F9;C8F9;110C 116D 11C0;C8F9;110C 116D 11C0;
+C8FA;C8FA;110C 116D 11C1;C8FA;110C 116D 11C1;
+C8FB;C8FB;110C 116D 11C2;C8FB;110C 116D 11C2;
+C8FC;C8FC;110C 116E;C8FC;110C 116E;
+C8FD;C8FD;110C 116E 11A8;C8FD;110C 116E 11A8;
+C8FE;C8FE;110C 116E 11A9;C8FE;110C 116E 11A9;
+C8FF;C8FF;110C 116E 11AA;C8FF;110C 116E 11AA;
+C900;C900;110C 116E 11AB;C900;110C 116E 11AB;
+C901;C901;110C 116E 11AC;C901;110C 116E 11AC;
+C902;C902;110C 116E 11AD;C902;110C 116E 11AD;
+C903;C903;110C 116E 11AE;C903;110C 116E 11AE;
+C904;C904;110C 116E 11AF;C904;110C 116E 11AF;
+C905;C905;110C 116E 11B0;C905;110C 116E 11B0;
+C906;C906;110C 116E 11B1;C906;110C 116E 11B1;
+C907;C907;110C 116E 11B2;C907;110C 116E 11B2;
+C908;C908;110C 116E 11B3;C908;110C 116E 11B3;
+C909;C909;110C 116E 11B4;C909;110C 116E 11B4;
+C90A;C90A;110C 116E 11B5;C90A;110C 116E 11B5;
+C90B;C90B;110C 116E 11B6;C90B;110C 116E 11B6;
+C90C;C90C;110C 116E 11B7;C90C;110C 116E 11B7;
+C90D;C90D;110C 116E 11B8;C90D;110C 116E 11B8;
+C90E;C90E;110C 116E 11B9;C90E;110C 116E 11B9;
+C90F;C90F;110C 116E 11BA;C90F;110C 116E 11BA;
+C910;C910;110C 116E 11BB;C910;110C 116E 11BB;
+C911;C911;110C 116E 11BC;C911;110C 116E 11BC;
+C912;C912;110C 116E 11BD;C912;110C 116E 11BD;
+C913;C913;110C 116E 11BE;C913;110C 116E 11BE;
+C914;C914;110C 116E 11BF;C914;110C 116E 11BF;
+C915;C915;110C 116E 11C0;C915;110C 116E 11C0;
+C916;C916;110C 116E 11C1;C916;110C 116E 11C1;
+C917;C917;110C 116E 11C2;C917;110C 116E 11C2;
+C918;C918;110C 116F;C918;110C 116F;
+C919;C919;110C 116F 11A8;C919;110C 116F 11A8;
+C91A;C91A;110C 116F 11A9;C91A;110C 116F 11A9;
+C91B;C91B;110C 116F 11AA;C91B;110C 116F 11AA;
+C91C;C91C;110C 116F 11AB;C91C;110C 116F 11AB;
+C91D;C91D;110C 116F 11AC;C91D;110C 116F 11AC;
+C91E;C91E;110C 116F 11AD;C91E;110C 116F 11AD;
+C91F;C91F;110C 116F 11AE;C91F;110C 116F 11AE;
+C920;C920;110C 116F 11AF;C920;110C 116F 11AF;
+C921;C921;110C 116F 11B0;C921;110C 116F 11B0;
+C922;C922;110C 116F 11B1;C922;110C 116F 11B1;
+C923;C923;110C 116F 11B2;C923;110C 116F 11B2;
+C924;C924;110C 116F 11B3;C924;110C 116F 11B3;
+C925;C925;110C 116F 11B4;C925;110C 116F 11B4;
+C926;C926;110C 116F 11B5;C926;110C 116F 11B5;
+C927;C927;110C 116F 11B6;C927;110C 116F 11B6;
+C928;C928;110C 116F 11B7;C928;110C 116F 11B7;
+C929;C929;110C 116F 11B8;C929;110C 116F 11B8;
+C92A;C92A;110C 116F 11B9;C92A;110C 116F 11B9;
+C92B;C92B;110C 116F 11BA;C92B;110C 116F 11BA;
+C92C;C92C;110C 116F 11BB;C92C;110C 116F 11BB;
+C92D;C92D;110C 116F 11BC;C92D;110C 116F 11BC;
+C92E;C92E;110C 116F 11BD;C92E;110C 116F 11BD;
+C92F;C92F;110C 116F 11BE;C92F;110C 116F 11BE;
+C930;C930;110C 116F 11BF;C930;110C 116F 11BF;
+C931;C931;110C 116F 11C0;C931;110C 116F 11C0;
+C932;C932;110C 116F 11C1;C932;110C 116F 11C1;
+C933;C933;110C 116F 11C2;C933;110C 116F 11C2;
+C934;C934;110C 1170;C934;110C 1170;
+C935;C935;110C 1170 11A8;C935;110C 1170 11A8;
+C936;C936;110C 1170 11A9;C936;110C 1170 11A9;
+C937;C937;110C 1170 11AA;C937;110C 1170 11AA;
+C938;C938;110C 1170 11AB;C938;110C 1170 11AB;
+C939;C939;110C 1170 11AC;C939;110C 1170 11AC;
+C93A;C93A;110C 1170 11AD;C93A;110C 1170 11AD;
+C93B;C93B;110C 1170 11AE;C93B;110C 1170 11AE;
+C93C;C93C;110C 1170 11AF;C93C;110C 1170 11AF;
+C93D;C93D;110C 1170 11B0;C93D;110C 1170 11B0;
+C93E;C93E;110C 1170 11B1;C93E;110C 1170 11B1;
+C93F;C93F;110C 1170 11B2;C93F;110C 1170 11B2;
+C940;C940;110C 1170 11B3;C940;110C 1170 11B3;
+C941;C941;110C 1170 11B4;C941;110C 1170 11B4;
+C942;C942;110C 1170 11B5;C942;110C 1170 11B5;
+C943;C943;110C 1170 11B6;C943;110C 1170 11B6;
+C944;C944;110C 1170 11B7;C944;110C 1170 11B7;
+C945;C945;110C 1170 11B8;C945;110C 1170 11B8;
+C946;C946;110C 1170 11B9;C946;110C 1170 11B9;
+C947;C947;110C 1170 11BA;C947;110C 1170 11BA;
+C948;C948;110C 1170 11BB;C948;110C 1170 11BB;
+C949;C949;110C 1170 11BC;C949;110C 1170 11BC;
+C94A;C94A;110C 1170 11BD;C94A;110C 1170 11BD;
+C94B;C94B;110C 1170 11BE;C94B;110C 1170 11BE;
+C94C;C94C;110C 1170 11BF;C94C;110C 1170 11BF;
+C94D;C94D;110C 1170 11C0;C94D;110C 1170 11C0;
+C94E;C94E;110C 1170 11C1;C94E;110C 1170 11C1;
+C94F;C94F;110C 1170 11C2;C94F;110C 1170 11C2;
+C950;C950;110C 1171;C950;110C 1171;
+C951;C951;110C 1171 11A8;C951;110C 1171 11A8;
+C952;C952;110C 1171 11A9;C952;110C 1171 11A9;
+C953;C953;110C 1171 11AA;C953;110C 1171 11AA;
+C954;C954;110C 1171 11AB;C954;110C 1171 11AB;
+C955;C955;110C 1171 11AC;C955;110C 1171 11AC;
+C956;C956;110C 1171 11AD;C956;110C 1171 11AD;
+C957;C957;110C 1171 11AE;C957;110C 1171 11AE;
+C958;C958;110C 1171 11AF;C958;110C 1171 11AF;
+C959;C959;110C 1171 11B0;C959;110C 1171 11B0;
+C95A;C95A;110C 1171 11B1;C95A;110C 1171 11B1;
+C95B;C95B;110C 1171 11B2;C95B;110C 1171 11B2;
+C95C;C95C;110C 1171 11B3;C95C;110C 1171 11B3;
+C95D;C95D;110C 1171 11B4;C95D;110C 1171 11B4;
+C95E;C95E;110C 1171 11B5;C95E;110C 1171 11B5;
+C95F;C95F;110C 1171 11B6;C95F;110C 1171 11B6;
+C960;C960;110C 1171 11B7;C960;110C 1171 11B7;
+C961;C961;110C 1171 11B8;C961;110C 1171 11B8;
+C962;C962;110C 1171 11B9;C962;110C 1171 11B9;
+C963;C963;110C 1171 11BA;C963;110C 1171 11BA;
+C964;C964;110C 1171 11BB;C964;110C 1171 11BB;
+C965;C965;110C 1171 11BC;C965;110C 1171 11BC;
+C966;C966;110C 1171 11BD;C966;110C 1171 11BD;
+C967;C967;110C 1171 11BE;C967;110C 1171 11BE;
+C968;C968;110C 1171 11BF;C968;110C 1171 11BF;
+C969;C969;110C 1171 11C0;C969;110C 1171 11C0;
+C96A;C96A;110C 1171 11C1;C96A;110C 1171 11C1;
+C96B;C96B;110C 1171 11C2;C96B;110C 1171 11C2;
+C96C;C96C;110C 1172;C96C;110C 1172;
+C96D;C96D;110C 1172 11A8;C96D;110C 1172 11A8;
+C96E;C96E;110C 1172 11A9;C96E;110C 1172 11A9;
+C96F;C96F;110C 1172 11AA;C96F;110C 1172 11AA;
+C970;C970;110C 1172 11AB;C970;110C 1172 11AB;
+C971;C971;110C 1172 11AC;C971;110C 1172 11AC;
+C972;C972;110C 1172 11AD;C972;110C 1172 11AD;
+C973;C973;110C 1172 11AE;C973;110C 1172 11AE;
+C974;C974;110C 1172 11AF;C974;110C 1172 11AF;
+C975;C975;110C 1172 11B0;C975;110C 1172 11B0;
+C976;C976;110C 1172 11B1;C976;110C 1172 11B1;
+C977;C977;110C 1172 11B2;C977;110C 1172 11B2;
+C978;C978;110C 1172 11B3;C978;110C 1172 11B3;
+C979;C979;110C 1172 11B4;C979;110C 1172 11B4;
+C97A;C97A;110C 1172 11B5;C97A;110C 1172 11B5;
+C97B;C97B;110C 1172 11B6;C97B;110C 1172 11B6;
+C97C;C97C;110C 1172 11B7;C97C;110C 1172 11B7;
+C97D;C97D;110C 1172 11B8;C97D;110C 1172 11B8;
+C97E;C97E;110C 1172 11B9;C97E;110C 1172 11B9;
+C97F;C97F;110C 1172 11BA;C97F;110C 1172 11BA;
+C980;C980;110C 1172 11BB;C980;110C 1172 11BB;
+C981;C981;110C 1172 11BC;C981;110C 1172 11BC;
+C982;C982;110C 1172 11BD;C982;110C 1172 11BD;
+C983;C983;110C 1172 11BE;C983;110C 1172 11BE;
+C984;C984;110C 1172 11BF;C984;110C 1172 11BF;
+C985;C985;110C 1172 11C0;C985;110C 1172 11C0;
+C986;C986;110C 1172 11C1;C986;110C 1172 11C1;
+C987;C987;110C 1172 11C2;C987;110C 1172 11C2;
+C988;C988;110C 1173;C988;110C 1173;
+C989;C989;110C 1173 11A8;C989;110C 1173 11A8;
+C98A;C98A;110C 1173 11A9;C98A;110C 1173 11A9;
+C98B;C98B;110C 1173 11AA;C98B;110C 1173 11AA;
+C98C;C98C;110C 1173 11AB;C98C;110C 1173 11AB;
+C98D;C98D;110C 1173 11AC;C98D;110C 1173 11AC;
+C98E;C98E;110C 1173 11AD;C98E;110C 1173 11AD;
+C98F;C98F;110C 1173 11AE;C98F;110C 1173 11AE;
+C990;C990;110C 1173 11AF;C990;110C 1173 11AF;
+C991;C991;110C 1173 11B0;C991;110C 1173 11B0;
+C992;C992;110C 1173 11B1;C992;110C 1173 11B1;
+C993;C993;110C 1173 11B2;C993;110C 1173 11B2;
+C994;C994;110C 1173 11B3;C994;110C 1173 11B3;
+C995;C995;110C 1173 11B4;C995;110C 1173 11B4;
+C996;C996;110C 1173 11B5;C996;110C 1173 11B5;
+C997;C997;110C 1173 11B6;C997;110C 1173 11B6;
+C998;C998;110C 1173 11B7;C998;110C 1173 11B7;
+C999;C999;110C 1173 11B8;C999;110C 1173 11B8;
+C99A;C99A;110C 1173 11B9;C99A;110C 1173 11B9;
+C99B;C99B;110C 1173 11BA;C99B;110C 1173 11BA;
+C99C;C99C;110C 1173 11BB;C99C;110C 1173 11BB;
+C99D;C99D;110C 1173 11BC;C99D;110C 1173 11BC;
+C99E;C99E;110C 1173 11BD;C99E;110C 1173 11BD;
+C99F;C99F;110C 1173 11BE;C99F;110C 1173 11BE;
+C9A0;C9A0;110C 1173 11BF;C9A0;110C 1173 11BF;
+C9A1;C9A1;110C 1173 11C0;C9A1;110C 1173 11C0;
+C9A2;C9A2;110C 1173 11C1;C9A2;110C 1173 11C1;
+C9A3;C9A3;110C 1173 11C2;C9A3;110C 1173 11C2;
+C9A4;C9A4;110C 1174;C9A4;110C 1174;
+C9A5;C9A5;110C 1174 11A8;C9A5;110C 1174 11A8;
+C9A6;C9A6;110C 1174 11A9;C9A6;110C 1174 11A9;
+C9A7;C9A7;110C 1174 11AA;C9A7;110C 1174 11AA;
+C9A8;C9A8;110C 1174 11AB;C9A8;110C 1174 11AB;
+C9A9;C9A9;110C 1174 11AC;C9A9;110C 1174 11AC;
+C9AA;C9AA;110C 1174 11AD;C9AA;110C 1174 11AD;
+C9AB;C9AB;110C 1174 11AE;C9AB;110C 1174 11AE;
+C9AC;C9AC;110C 1174 11AF;C9AC;110C 1174 11AF;
+C9AD;C9AD;110C 1174 11B0;C9AD;110C 1174 11B0;
+C9AE;C9AE;110C 1174 11B1;C9AE;110C 1174 11B1;
+C9AF;C9AF;110C 1174 11B2;C9AF;110C 1174 11B2;
+C9B0;C9B0;110C 1174 11B3;C9B0;110C 1174 11B3;
+C9B1;C9B1;110C 1174 11B4;C9B1;110C 1174 11B4;
+C9B2;C9B2;110C 1174 11B5;C9B2;110C 1174 11B5;
+C9B3;C9B3;110C 1174 11B6;C9B3;110C 1174 11B6;
+C9B4;C9B4;110C 1174 11B7;C9B4;110C 1174 11B7;
+C9B5;C9B5;110C 1174 11B8;C9B5;110C 1174 11B8;
+C9B6;C9B6;110C 1174 11B9;C9B6;110C 1174 11B9;
+C9B7;C9B7;110C 1174 11BA;C9B7;110C 1174 11BA;
+C9B8;C9B8;110C 1174 11BB;C9B8;110C 1174 11BB;
+C9B9;C9B9;110C 1174 11BC;C9B9;110C 1174 11BC;
+C9BA;C9BA;110C 1174 11BD;C9BA;110C 1174 11BD;
+C9BB;C9BB;110C 1174 11BE;C9BB;110C 1174 11BE;
+C9BC;C9BC;110C 1174 11BF;C9BC;110C 1174 11BF;
+C9BD;C9BD;110C 1174 11C0;C9BD;110C 1174 11C0;
+C9BE;C9BE;110C 1174 11C1;C9BE;110C 1174 11C1;
+C9BF;C9BF;110C 1174 11C2;C9BF;110C 1174 11C2;
+C9C0;C9C0;110C 1175;C9C0;110C 1175;
+C9C1;C9C1;110C 1175 11A8;C9C1;110C 1175 11A8;
+C9C2;C9C2;110C 1175 11A9;C9C2;110C 1175 11A9;
+C9C3;C9C3;110C 1175 11AA;C9C3;110C 1175 11AA;
+C9C4;C9C4;110C 1175 11AB;C9C4;110C 1175 11AB;
+C9C5;C9C5;110C 1175 11AC;C9C5;110C 1175 11AC;
+C9C6;C9C6;110C 1175 11AD;C9C6;110C 1175 11AD;
+C9C7;C9C7;110C 1175 11AE;C9C7;110C 1175 11AE;
+C9C8;C9C8;110C 1175 11AF;C9C8;110C 1175 11AF;
+C9C9;C9C9;110C 1175 11B0;C9C9;110C 1175 11B0;
+C9CA;C9CA;110C 1175 11B1;C9CA;110C 1175 11B1;
+C9CB;C9CB;110C 1175 11B2;C9CB;110C 1175 11B2;
+C9CC;C9CC;110C 1175 11B3;C9CC;110C 1175 11B3;
+C9CD;C9CD;110C 1175 11B4;C9CD;110C 1175 11B4;
+C9CE;C9CE;110C 1175 11B5;C9CE;110C 1175 11B5;
+C9CF;C9CF;110C 1175 11B6;C9CF;110C 1175 11B6;
+C9D0;C9D0;110C 1175 11B7;C9D0;110C 1175 11B7;
+C9D1;C9D1;110C 1175 11B8;C9D1;110C 1175 11B8;
+C9D2;C9D2;110C 1175 11B9;C9D2;110C 1175 11B9;
+C9D3;C9D3;110C 1175 11BA;C9D3;110C 1175 11BA;
+C9D4;C9D4;110C 1175 11BB;C9D4;110C 1175 11BB;
+C9D5;C9D5;110C 1175 11BC;C9D5;110C 1175 11BC;
+C9D6;C9D6;110C 1175 11BD;C9D6;110C 1175 11BD;
+C9D7;C9D7;110C 1175 11BE;C9D7;110C 1175 11BE;
+C9D8;C9D8;110C 1175 11BF;C9D8;110C 1175 11BF;
+C9D9;C9D9;110C 1175 11C0;C9D9;110C 1175 11C0;
+C9DA;C9DA;110C 1175 11C1;C9DA;110C 1175 11C1;
+C9DB;C9DB;110C 1175 11C2;C9DB;110C 1175 11C2;
+C9DC;C9DC;110D 1161;C9DC;110D 1161;
+C9DD;C9DD;110D 1161 11A8;C9DD;110D 1161 11A8;
+C9DE;C9DE;110D 1161 11A9;C9DE;110D 1161 11A9;
+C9DF;C9DF;110D 1161 11AA;C9DF;110D 1161 11AA;
+C9E0;C9E0;110D 1161 11AB;C9E0;110D 1161 11AB;
+C9E1;C9E1;110D 1161 11AC;C9E1;110D 1161 11AC;
+C9E2;C9E2;110D 1161 11AD;C9E2;110D 1161 11AD;
+C9E3;C9E3;110D 1161 11AE;C9E3;110D 1161 11AE;
+C9E4;C9E4;110D 1161 11AF;C9E4;110D 1161 11AF;
+C9E5;C9E5;110D 1161 11B0;C9E5;110D 1161 11B0;
+C9E6;C9E6;110D 1161 11B1;C9E6;110D 1161 11B1;
+C9E7;C9E7;110D 1161 11B2;C9E7;110D 1161 11B2;
+C9E8;C9E8;110D 1161 11B3;C9E8;110D 1161 11B3;
+C9E9;C9E9;110D 1161 11B4;C9E9;110D 1161 11B4;
+C9EA;C9EA;110D 1161 11B5;C9EA;110D 1161 11B5;
+C9EB;C9EB;110D 1161 11B6;C9EB;110D 1161 11B6;
+C9EC;C9EC;110D 1161 11B7;C9EC;110D 1161 11B7;
+C9ED;C9ED;110D 1161 11B8;C9ED;110D 1161 11B8;
+C9EE;C9EE;110D 1161 11B9;C9EE;110D 1161 11B9;
+C9EF;C9EF;110D 1161 11BA;C9EF;110D 1161 11BA;
+C9F0;C9F0;110D 1161 11BB;C9F0;110D 1161 11BB;
+C9F1;C9F1;110D 1161 11BC;C9F1;110D 1161 11BC;
+C9F2;C9F2;110D 1161 11BD;C9F2;110D 1161 11BD;
+C9F3;C9F3;110D 1161 11BE;C9F3;110D 1161 11BE;
+C9F4;C9F4;110D 1161 11BF;C9F4;110D 1161 11BF;
+C9F5;C9F5;110D 1161 11C0;C9F5;110D 1161 11C0;
+C9F6;C9F6;110D 1161 11C1;C9F6;110D 1161 11C1;
+C9F7;C9F7;110D 1161 11C2;C9F7;110D 1161 11C2;
+C9F8;C9F8;110D 1162;C9F8;110D 1162;
+C9F9;C9F9;110D 1162 11A8;C9F9;110D 1162 11A8;
+C9FA;C9FA;110D 1162 11A9;C9FA;110D 1162 11A9;
+C9FB;C9FB;110D 1162 11AA;C9FB;110D 1162 11AA;
+C9FC;C9FC;110D 1162 11AB;C9FC;110D 1162 11AB;
+C9FD;C9FD;110D 1162 11AC;C9FD;110D 1162 11AC;
+C9FE;C9FE;110D 1162 11AD;C9FE;110D 1162 11AD;
+C9FF;C9FF;110D 1162 11AE;C9FF;110D 1162 11AE;
+CA00;CA00;110D 1162 11AF;CA00;110D 1162 11AF;
+CA01;CA01;110D 1162 11B0;CA01;110D 1162 11B0;
+CA02;CA02;110D 1162 11B1;CA02;110D 1162 11B1;
+CA03;CA03;110D 1162 11B2;CA03;110D 1162 11B2;
+CA04;CA04;110D 1162 11B3;CA04;110D 1162 11B3;
+CA05;CA05;110D 1162 11B4;CA05;110D 1162 11B4;
+CA06;CA06;110D 1162 11B5;CA06;110D 1162 11B5;
+CA07;CA07;110D 1162 11B6;CA07;110D 1162 11B6;
+CA08;CA08;110D 1162 11B7;CA08;110D 1162 11B7;
+CA09;CA09;110D 1162 11B8;CA09;110D 1162 11B8;
+CA0A;CA0A;110D 1162 11B9;CA0A;110D 1162 11B9;
+CA0B;CA0B;110D 1162 11BA;CA0B;110D 1162 11BA;
+CA0C;CA0C;110D 1162 11BB;CA0C;110D 1162 11BB;
+CA0D;CA0D;110D 1162 11BC;CA0D;110D 1162 11BC;
+CA0E;CA0E;110D 1162 11BD;CA0E;110D 1162 11BD;
+CA0F;CA0F;110D 1162 11BE;CA0F;110D 1162 11BE;
+CA10;CA10;110D 1162 11BF;CA10;110D 1162 11BF;
+CA11;CA11;110D 1162 11C0;CA11;110D 1162 11C0;
+CA12;CA12;110D 1162 11C1;CA12;110D 1162 11C1;
+CA13;CA13;110D 1162 11C2;CA13;110D 1162 11C2;
+CA14;CA14;110D 1163;CA14;110D 1163;
+CA15;CA15;110D 1163 11A8;CA15;110D 1163 11A8;
+CA16;CA16;110D 1163 11A9;CA16;110D 1163 11A9;
+CA17;CA17;110D 1163 11AA;CA17;110D 1163 11AA;
+CA18;CA18;110D 1163 11AB;CA18;110D 1163 11AB;
+CA19;CA19;110D 1163 11AC;CA19;110D 1163 11AC;
+CA1A;CA1A;110D 1163 11AD;CA1A;110D 1163 11AD;
+CA1B;CA1B;110D 1163 11AE;CA1B;110D 1163 11AE;
+CA1C;CA1C;110D 1163 11AF;CA1C;110D 1163 11AF;
+CA1D;CA1D;110D 1163 11B0;CA1D;110D 1163 11B0;
+CA1E;CA1E;110D 1163 11B1;CA1E;110D 1163 11B1;
+CA1F;CA1F;110D 1163 11B2;CA1F;110D 1163 11B2;
+CA20;CA20;110D 1163 11B3;CA20;110D 1163 11B3;
+CA21;CA21;110D 1163 11B4;CA21;110D 1163 11B4;
+CA22;CA22;110D 1163 11B5;CA22;110D 1163 11B5;
+CA23;CA23;110D 1163 11B6;CA23;110D 1163 11B6;
+CA24;CA24;110D 1163 11B7;CA24;110D 1163 11B7;
+CA25;CA25;110D 1163 11B8;CA25;110D 1163 11B8;
+CA26;CA26;110D 1163 11B9;CA26;110D 1163 11B9;
+CA27;CA27;110D 1163 11BA;CA27;110D 1163 11BA;
+CA28;CA28;110D 1163 11BB;CA28;110D 1163 11BB;
+CA29;CA29;110D 1163 11BC;CA29;110D 1163 11BC;
+CA2A;CA2A;110D 1163 11BD;CA2A;110D 1163 11BD;
+CA2B;CA2B;110D 1163 11BE;CA2B;110D 1163 11BE;
+CA2C;CA2C;110D 1163 11BF;CA2C;110D 1163 11BF;
+CA2D;CA2D;110D 1163 11C0;CA2D;110D 1163 11C0;
+CA2E;CA2E;110D 1163 11C1;CA2E;110D 1163 11C1;
+CA2F;CA2F;110D 1163 11C2;CA2F;110D 1163 11C2;
+CA30;CA30;110D 1164;CA30;110D 1164;
+CA31;CA31;110D 1164 11A8;CA31;110D 1164 11A8;
+CA32;CA32;110D 1164 11A9;CA32;110D 1164 11A9;
+CA33;CA33;110D 1164 11AA;CA33;110D 1164 11AA;
+CA34;CA34;110D 1164 11AB;CA34;110D 1164 11AB;
+CA35;CA35;110D 1164 11AC;CA35;110D 1164 11AC;
+CA36;CA36;110D 1164 11AD;CA36;110D 1164 11AD;
+CA37;CA37;110D 1164 11AE;CA37;110D 1164 11AE;
+CA38;CA38;110D 1164 11AF;CA38;110D 1164 11AF;
+CA39;CA39;110D 1164 11B0;CA39;110D 1164 11B0;
+CA3A;CA3A;110D 1164 11B1;CA3A;110D 1164 11B1;
+CA3B;CA3B;110D 1164 11B2;CA3B;110D 1164 11B2;
+CA3C;CA3C;110D 1164 11B3;CA3C;110D 1164 11B3;
+CA3D;CA3D;110D 1164 11B4;CA3D;110D 1164 11B4;
+CA3E;CA3E;110D 1164 11B5;CA3E;110D 1164 11B5;
+CA3F;CA3F;110D 1164 11B6;CA3F;110D 1164 11B6;
+CA40;CA40;110D 1164 11B7;CA40;110D 1164 11B7;
+CA41;CA41;110D 1164 11B8;CA41;110D 1164 11B8;
+CA42;CA42;110D 1164 11B9;CA42;110D 1164 11B9;
+CA43;CA43;110D 1164 11BA;CA43;110D 1164 11BA;
+CA44;CA44;110D 1164 11BB;CA44;110D 1164 11BB;
+CA45;CA45;110D 1164 11BC;CA45;110D 1164 11BC;
+CA46;CA46;110D 1164 11BD;CA46;110D 1164 11BD;
+CA47;CA47;110D 1164 11BE;CA47;110D 1164 11BE;
+CA48;CA48;110D 1164 11BF;CA48;110D 1164 11BF;
+CA49;CA49;110D 1164 11C0;CA49;110D 1164 11C0;
+CA4A;CA4A;110D 1164 11C1;CA4A;110D 1164 11C1;
+CA4B;CA4B;110D 1164 11C2;CA4B;110D 1164 11C2;
+CA4C;CA4C;110D 1165;CA4C;110D 1165;
+CA4D;CA4D;110D 1165 11A8;CA4D;110D 1165 11A8;
+CA4E;CA4E;110D 1165 11A9;CA4E;110D 1165 11A9;
+CA4F;CA4F;110D 1165 11AA;CA4F;110D 1165 11AA;
+CA50;CA50;110D 1165 11AB;CA50;110D 1165 11AB;
+CA51;CA51;110D 1165 11AC;CA51;110D 1165 11AC;
+CA52;CA52;110D 1165 11AD;CA52;110D 1165 11AD;
+CA53;CA53;110D 1165 11AE;CA53;110D 1165 11AE;
+CA54;CA54;110D 1165 11AF;CA54;110D 1165 11AF;
+CA55;CA55;110D 1165 11B0;CA55;110D 1165 11B0;
+CA56;CA56;110D 1165 11B1;CA56;110D 1165 11B1;
+CA57;CA57;110D 1165 11B2;CA57;110D 1165 11B2;
+CA58;CA58;110D 1165 11B3;CA58;110D 1165 11B3;
+CA59;CA59;110D 1165 11B4;CA59;110D 1165 11B4;
+CA5A;CA5A;110D 1165 11B5;CA5A;110D 1165 11B5;
+CA5B;CA5B;110D 1165 11B6;CA5B;110D 1165 11B6;
+CA5C;CA5C;110D 1165 11B7;CA5C;110D 1165 11B7;
+CA5D;CA5D;110D 1165 11B8;CA5D;110D 1165 11B8;
+CA5E;CA5E;110D 1165 11B9;CA5E;110D 1165 11B9;
+CA5F;CA5F;110D 1165 11BA;CA5F;110D 1165 11BA;
+CA60;CA60;110D 1165 11BB;CA60;110D 1165 11BB;
+CA61;CA61;110D 1165 11BC;CA61;110D 1165 11BC;
+CA62;CA62;110D 1165 11BD;CA62;110D 1165 11BD;
+CA63;CA63;110D 1165 11BE;CA63;110D 1165 11BE;
+CA64;CA64;110D 1165 11BF;CA64;110D 1165 11BF;
+CA65;CA65;110D 1165 11C0;CA65;110D 1165 11C0;
+CA66;CA66;110D 1165 11C1;CA66;110D 1165 11C1;
+CA67;CA67;110D 1165 11C2;CA67;110D 1165 11C2;
+CA68;CA68;110D 1166;CA68;110D 1166;
+CA69;CA69;110D 1166 11A8;CA69;110D 1166 11A8;
+CA6A;CA6A;110D 1166 11A9;CA6A;110D 1166 11A9;
+CA6B;CA6B;110D 1166 11AA;CA6B;110D 1166 11AA;
+CA6C;CA6C;110D 1166 11AB;CA6C;110D 1166 11AB;
+CA6D;CA6D;110D 1166 11AC;CA6D;110D 1166 11AC;
+CA6E;CA6E;110D 1166 11AD;CA6E;110D 1166 11AD;
+CA6F;CA6F;110D 1166 11AE;CA6F;110D 1166 11AE;
+CA70;CA70;110D 1166 11AF;CA70;110D 1166 11AF;
+CA71;CA71;110D 1166 11B0;CA71;110D 1166 11B0;
+CA72;CA72;110D 1166 11B1;CA72;110D 1166 11B1;
+CA73;CA73;110D 1166 11B2;CA73;110D 1166 11B2;
+CA74;CA74;110D 1166 11B3;CA74;110D 1166 11B3;
+CA75;CA75;110D 1166 11B4;CA75;110D 1166 11B4;
+CA76;CA76;110D 1166 11B5;CA76;110D 1166 11B5;
+CA77;CA77;110D 1166 11B6;CA77;110D 1166 11B6;
+CA78;CA78;110D 1166 11B7;CA78;110D 1166 11B7;
+CA79;CA79;110D 1166 11B8;CA79;110D 1166 11B8;
+CA7A;CA7A;110D 1166 11B9;CA7A;110D 1166 11B9;
+CA7B;CA7B;110D 1166 11BA;CA7B;110D 1166 11BA;
+CA7C;CA7C;110D 1166 11BB;CA7C;110D 1166 11BB;
+CA7D;CA7D;110D 1166 11BC;CA7D;110D 1166 11BC;
+CA7E;CA7E;110D 1166 11BD;CA7E;110D 1166 11BD;
+CA7F;CA7F;110D 1166 11BE;CA7F;110D 1166 11BE;
+CA80;CA80;110D 1166 11BF;CA80;110D 1166 11BF;
+CA81;CA81;110D 1166 11C0;CA81;110D 1166 11C0;
+CA82;CA82;110D 1166 11C1;CA82;110D 1166 11C1;
+CA83;CA83;110D 1166 11C2;CA83;110D 1166 11C2;
+CA84;CA84;110D 1167;CA84;110D 1167;
+CA85;CA85;110D 1167 11A8;CA85;110D 1167 11A8;
+CA86;CA86;110D 1167 11A9;CA86;110D 1167 11A9;
+CA87;CA87;110D 1167 11AA;CA87;110D 1167 11AA;
+CA88;CA88;110D 1167 11AB;CA88;110D 1167 11AB;
+CA89;CA89;110D 1167 11AC;CA89;110D 1167 11AC;
+CA8A;CA8A;110D 1167 11AD;CA8A;110D 1167 11AD;
+CA8B;CA8B;110D 1167 11AE;CA8B;110D 1167 11AE;
+CA8C;CA8C;110D 1167 11AF;CA8C;110D 1167 11AF;
+CA8D;CA8D;110D 1167 11B0;CA8D;110D 1167 11B0;
+CA8E;CA8E;110D 1167 11B1;CA8E;110D 1167 11B1;
+CA8F;CA8F;110D 1167 11B2;CA8F;110D 1167 11B2;
+CA90;CA90;110D 1167 11B3;CA90;110D 1167 11B3;
+CA91;CA91;110D 1167 11B4;CA91;110D 1167 11B4;
+CA92;CA92;110D 1167 11B5;CA92;110D 1167 11B5;
+CA93;CA93;110D 1167 11B6;CA93;110D 1167 11B6;
+CA94;CA94;110D 1167 11B7;CA94;110D 1167 11B7;
+CA95;CA95;110D 1167 11B8;CA95;110D 1167 11B8;
+CA96;CA96;110D 1167 11B9;CA96;110D 1167 11B9;
+CA97;CA97;110D 1167 11BA;CA97;110D 1167 11BA;
+CA98;CA98;110D 1167 11BB;CA98;110D 1167 11BB;
+CA99;CA99;110D 1167 11BC;CA99;110D 1167 11BC;
+CA9A;CA9A;110D 1167 11BD;CA9A;110D 1167 11BD;
+CA9B;CA9B;110D 1167 11BE;CA9B;110D 1167 11BE;
+CA9C;CA9C;110D 1167 11BF;CA9C;110D 1167 11BF;
+CA9D;CA9D;110D 1167 11C0;CA9D;110D 1167 11C0;
+CA9E;CA9E;110D 1167 11C1;CA9E;110D 1167 11C1;
+CA9F;CA9F;110D 1167 11C2;CA9F;110D 1167 11C2;
+CAA0;CAA0;110D 1168;CAA0;110D 1168;
+CAA1;CAA1;110D 1168 11A8;CAA1;110D 1168 11A8;
+CAA2;CAA2;110D 1168 11A9;CAA2;110D 1168 11A9;
+CAA3;CAA3;110D 1168 11AA;CAA3;110D 1168 11AA;
+CAA4;CAA4;110D 1168 11AB;CAA4;110D 1168 11AB;
+CAA5;CAA5;110D 1168 11AC;CAA5;110D 1168 11AC;
+CAA6;CAA6;110D 1168 11AD;CAA6;110D 1168 11AD;
+CAA7;CAA7;110D 1168 11AE;CAA7;110D 1168 11AE;
+CAA8;CAA8;110D 1168 11AF;CAA8;110D 1168 11AF;
+CAA9;CAA9;110D 1168 11B0;CAA9;110D 1168 11B0;
+CAAA;CAAA;110D 1168 11B1;CAAA;110D 1168 11B1;
+CAAB;CAAB;110D 1168 11B2;CAAB;110D 1168 11B2;
+CAAC;CAAC;110D 1168 11B3;CAAC;110D 1168 11B3;
+CAAD;CAAD;110D 1168 11B4;CAAD;110D 1168 11B4;
+CAAE;CAAE;110D 1168 11B5;CAAE;110D 1168 11B5;
+CAAF;CAAF;110D 1168 11B6;CAAF;110D 1168 11B6;
+CAB0;CAB0;110D 1168 11B7;CAB0;110D 1168 11B7;
+CAB1;CAB1;110D 1168 11B8;CAB1;110D 1168 11B8;
+CAB2;CAB2;110D 1168 11B9;CAB2;110D 1168 11B9;
+CAB3;CAB3;110D 1168 11BA;CAB3;110D 1168 11BA;
+CAB4;CAB4;110D 1168 11BB;CAB4;110D 1168 11BB;
+CAB5;CAB5;110D 1168 11BC;CAB5;110D 1168 11BC;
+CAB6;CAB6;110D 1168 11BD;CAB6;110D 1168 11BD;
+CAB7;CAB7;110D 1168 11BE;CAB7;110D 1168 11BE;
+CAB8;CAB8;110D 1168 11BF;CAB8;110D 1168 11BF;
+CAB9;CAB9;110D 1168 11C0;CAB9;110D 1168 11C0;
+CABA;CABA;110D 1168 11C1;CABA;110D 1168 11C1;
+CABB;CABB;110D 1168 11C2;CABB;110D 1168 11C2;
+CABC;CABC;110D 1169;CABC;110D 1169;
+CABD;CABD;110D 1169 11A8;CABD;110D 1169 11A8;
+CABE;CABE;110D 1169 11A9;CABE;110D 1169 11A9;
+CABF;CABF;110D 1169 11AA;CABF;110D 1169 11AA;
+CAC0;CAC0;110D 1169 11AB;CAC0;110D 1169 11AB;
+CAC1;CAC1;110D 1169 11AC;CAC1;110D 1169 11AC;
+CAC2;CAC2;110D 1169 11AD;CAC2;110D 1169 11AD;
+CAC3;CAC3;110D 1169 11AE;CAC3;110D 1169 11AE;
+CAC4;CAC4;110D 1169 11AF;CAC4;110D 1169 11AF;
+CAC5;CAC5;110D 1169 11B0;CAC5;110D 1169 11B0;
+CAC6;CAC6;110D 1169 11B1;CAC6;110D 1169 11B1;
+CAC7;CAC7;110D 1169 11B2;CAC7;110D 1169 11B2;
+CAC8;CAC8;110D 1169 11B3;CAC8;110D 1169 11B3;
+CAC9;CAC9;110D 1169 11B4;CAC9;110D 1169 11B4;
+CACA;CACA;110D 1169 11B5;CACA;110D 1169 11B5;
+CACB;CACB;110D 1169 11B6;CACB;110D 1169 11B6;
+CACC;CACC;110D 1169 11B7;CACC;110D 1169 11B7;
+CACD;CACD;110D 1169 11B8;CACD;110D 1169 11B8;
+CACE;CACE;110D 1169 11B9;CACE;110D 1169 11B9;
+CACF;CACF;110D 1169 11BA;CACF;110D 1169 11BA;
+CAD0;CAD0;110D 1169 11BB;CAD0;110D 1169 11BB;
+CAD1;CAD1;110D 1169 11BC;CAD1;110D 1169 11BC;
+CAD2;CAD2;110D 1169 11BD;CAD2;110D 1169 11BD;
+CAD3;CAD3;110D 1169 11BE;CAD3;110D 1169 11BE;
+CAD4;CAD4;110D 1169 11BF;CAD4;110D 1169 11BF;
+CAD5;CAD5;110D 1169 11C0;CAD5;110D 1169 11C0;
+CAD6;CAD6;110D 1169 11C1;CAD6;110D 1169 11C1;
+CAD7;CAD7;110D 1169 11C2;CAD7;110D 1169 11C2;
+CAD8;CAD8;110D 116A;CAD8;110D 116A;
+CAD9;CAD9;110D 116A 11A8;CAD9;110D 116A 11A8;
+CADA;CADA;110D 116A 11A9;CADA;110D 116A 11A9;
+CADB;CADB;110D 116A 11AA;CADB;110D 116A 11AA;
+CADC;CADC;110D 116A 11AB;CADC;110D 116A 11AB;
+CADD;CADD;110D 116A 11AC;CADD;110D 116A 11AC;
+CADE;CADE;110D 116A 11AD;CADE;110D 116A 11AD;
+CADF;CADF;110D 116A 11AE;CADF;110D 116A 11AE;
+CAE0;CAE0;110D 116A 11AF;CAE0;110D 116A 11AF;
+CAE1;CAE1;110D 116A 11B0;CAE1;110D 116A 11B0;
+CAE2;CAE2;110D 116A 11B1;CAE2;110D 116A 11B1;
+CAE3;CAE3;110D 116A 11B2;CAE3;110D 116A 11B2;
+CAE4;CAE4;110D 116A 11B3;CAE4;110D 116A 11B3;
+CAE5;CAE5;110D 116A 11B4;CAE5;110D 116A 11B4;
+CAE6;CAE6;110D 116A 11B5;CAE6;110D 116A 11B5;
+CAE7;CAE7;110D 116A 11B6;CAE7;110D 116A 11B6;
+CAE8;CAE8;110D 116A 11B7;CAE8;110D 116A 11B7;
+CAE9;CAE9;110D 116A 11B8;CAE9;110D 116A 11B8;
+CAEA;CAEA;110D 116A 11B9;CAEA;110D 116A 11B9;
+CAEB;CAEB;110D 116A 11BA;CAEB;110D 116A 11BA;
+CAEC;CAEC;110D 116A 11BB;CAEC;110D 116A 11BB;
+CAED;CAED;110D 116A 11BC;CAED;110D 116A 11BC;
+CAEE;CAEE;110D 116A 11BD;CAEE;110D 116A 11BD;
+CAEF;CAEF;110D 116A 11BE;CAEF;110D 116A 11BE;
+CAF0;CAF0;110D 116A 11BF;CAF0;110D 116A 11BF;
+CAF1;CAF1;110D 116A 11C0;CAF1;110D 116A 11C0;
+CAF2;CAF2;110D 116A 11C1;CAF2;110D 116A 11C1;
+CAF3;CAF3;110D 116A 11C2;CAF3;110D 116A 11C2;
+CAF4;CAF4;110D 116B;CAF4;110D 116B;
+CAF5;CAF5;110D 116B 11A8;CAF5;110D 116B 11A8;
+CAF6;CAF6;110D 116B 11A9;CAF6;110D 116B 11A9;
+CAF7;CAF7;110D 116B 11AA;CAF7;110D 116B 11AA;
+CAF8;CAF8;110D 116B 11AB;CAF8;110D 116B 11AB;
+CAF9;CAF9;110D 116B 11AC;CAF9;110D 116B 11AC;
+CAFA;CAFA;110D 116B 11AD;CAFA;110D 116B 11AD;
+CAFB;CAFB;110D 116B 11AE;CAFB;110D 116B 11AE;
+CAFC;CAFC;110D 116B 11AF;CAFC;110D 116B 11AF;
+CAFD;CAFD;110D 116B 11B0;CAFD;110D 116B 11B0;
+CAFE;CAFE;110D 116B 11B1;CAFE;110D 116B 11B1;
+CAFF;CAFF;110D 116B 11B2;CAFF;110D 116B 11B2;
+CB00;CB00;110D 116B 11B3;CB00;110D 116B 11B3;
+CB01;CB01;110D 116B 11B4;CB01;110D 116B 11B4;
+CB02;CB02;110D 116B 11B5;CB02;110D 116B 11B5;
+CB03;CB03;110D 116B 11B6;CB03;110D 116B 11B6;
+CB04;CB04;110D 116B 11B7;CB04;110D 116B 11B7;
+CB05;CB05;110D 116B 11B8;CB05;110D 116B 11B8;
+CB06;CB06;110D 116B 11B9;CB06;110D 116B 11B9;
+CB07;CB07;110D 116B 11BA;CB07;110D 116B 11BA;
+CB08;CB08;110D 116B 11BB;CB08;110D 116B 11BB;
+CB09;CB09;110D 116B 11BC;CB09;110D 116B 11BC;
+CB0A;CB0A;110D 116B 11BD;CB0A;110D 116B 11BD;
+CB0B;CB0B;110D 116B 11BE;CB0B;110D 116B 11BE;
+CB0C;CB0C;110D 116B 11BF;CB0C;110D 116B 11BF;
+CB0D;CB0D;110D 116B 11C0;CB0D;110D 116B 11C0;
+CB0E;CB0E;110D 116B 11C1;CB0E;110D 116B 11C1;
+CB0F;CB0F;110D 116B 11C2;CB0F;110D 116B 11C2;
+CB10;CB10;110D 116C;CB10;110D 116C;
+CB11;CB11;110D 116C 11A8;CB11;110D 116C 11A8;
+CB12;CB12;110D 116C 11A9;CB12;110D 116C 11A9;
+CB13;CB13;110D 116C 11AA;CB13;110D 116C 11AA;
+CB14;CB14;110D 116C 11AB;CB14;110D 116C 11AB;
+CB15;CB15;110D 116C 11AC;CB15;110D 116C 11AC;
+CB16;CB16;110D 116C 11AD;CB16;110D 116C 11AD;
+CB17;CB17;110D 116C 11AE;CB17;110D 116C 11AE;
+CB18;CB18;110D 116C 11AF;CB18;110D 116C 11AF;
+CB19;CB19;110D 116C 11B0;CB19;110D 116C 11B0;
+CB1A;CB1A;110D 116C 11B1;CB1A;110D 116C 11B1;
+CB1B;CB1B;110D 116C 11B2;CB1B;110D 116C 11B2;
+CB1C;CB1C;110D 116C 11B3;CB1C;110D 116C 11B3;
+CB1D;CB1D;110D 116C 11B4;CB1D;110D 116C 11B4;
+CB1E;CB1E;110D 116C 11B5;CB1E;110D 116C 11B5;
+CB1F;CB1F;110D 116C 11B6;CB1F;110D 116C 11B6;
+CB20;CB20;110D 116C 11B7;CB20;110D 116C 11B7;
+CB21;CB21;110D 116C 11B8;CB21;110D 116C 11B8;
+CB22;CB22;110D 116C 11B9;CB22;110D 116C 11B9;
+CB23;CB23;110D 116C 11BA;CB23;110D 116C 11BA;
+CB24;CB24;110D 116C 11BB;CB24;110D 116C 11BB;
+CB25;CB25;110D 116C 11BC;CB25;110D 116C 11BC;
+CB26;CB26;110D 116C 11BD;CB26;110D 116C 11BD;
+CB27;CB27;110D 116C 11BE;CB27;110D 116C 11BE;
+CB28;CB28;110D 116C 11BF;CB28;110D 116C 11BF;
+CB29;CB29;110D 116C 11C0;CB29;110D 116C 11C0;
+CB2A;CB2A;110D 116C 11C1;CB2A;110D 116C 11C1;
+CB2B;CB2B;110D 116C 11C2;CB2B;110D 116C 11C2;
+CB2C;CB2C;110D 116D;CB2C;110D 116D;
+CB2D;CB2D;110D 116D 11A8;CB2D;110D 116D 11A8;
+CB2E;CB2E;110D 116D 11A9;CB2E;110D 116D 11A9;
+CB2F;CB2F;110D 116D 11AA;CB2F;110D 116D 11AA;
+CB30;CB30;110D 116D 11AB;CB30;110D 116D 11AB;
+CB31;CB31;110D 116D 11AC;CB31;110D 116D 11AC;
+CB32;CB32;110D 116D 11AD;CB32;110D 116D 11AD;
+CB33;CB33;110D 116D 11AE;CB33;110D 116D 11AE;
+CB34;CB34;110D 116D 11AF;CB34;110D 116D 11AF;
+CB35;CB35;110D 116D 11B0;CB35;110D 116D 11B0;
+CB36;CB36;110D 116D 11B1;CB36;110D 116D 11B1;
+CB37;CB37;110D 116D 11B2;CB37;110D 116D 11B2;
+CB38;CB38;110D 116D 11B3;CB38;110D 116D 11B3;
+CB39;CB39;110D 116D 11B4;CB39;110D 116D 11B4;
+CB3A;CB3A;110D 116D 11B5;CB3A;110D 116D 11B5;
+CB3B;CB3B;110D 116D 11B6;CB3B;110D 116D 11B6;
+CB3C;CB3C;110D 116D 11B7;CB3C;110D 116D 11B7;
+CB3D;CB3D;110D 116D 11B8;CB3D;110D 116D 11B8;
+CB3E;CB3E;110D 116D 11B9;CB3E;110D 116D 11B9;
+CB3F;CB3F;110D 116D 11BA;CB3F;110D 116D 11BA;
+CB40;CB40;110D 116D 11BB;CB40;110D 116D 11BB;
+CB41;CB41;110D 116D 11BC;CB41;110D 116D 11BC;
+CB42;CB42;110D 116D 11BD;CB42;110D 116D 11BD;
+CB43;CB43;110D 116D 11BE;CB43;110D 116D 11BE;
+CB44;CB44;110D 116D 11BF;CB44;110D 116D 11BF;
+CB45;CB45;110D 116D 11C0;CB45;110D 116D 11C0;
+CB46;CB46;110D 116D 11C1;CB46;110D 116D 11C1;
+CB47;CB47;110D 116D 11C2;CB47;110D 116D 11C2;
+CB48;CB48;110D 116E;CB48;110D 116E;
+CB49;CB49;110D 116E 11A8;CB49;110D 116E 11A8;
+CB4A;CB4A;110D 116E 11A9;CB4A;110D 116E 11A9;
+CB4B;CB4B;110D 116E 11AA;CB4B;110D 116E 11AA;
+CB4C;CB4C;110D 116E 11AB;CB4C;110D 116E 11AB;
+CB4D;CB4D;110D 116E 11AC;CB4D;110D 116E 11AC;
+CB4E;CB4E;110D 116E 11AD;CB4E;110D 116E 11AD;
+CB4F;CB4F;110D 116E 11AE;CB4F;110D 116E 11AE;
+CB50;CB50;110D 116E 11AF;CB50;110D 116E 11AF;
+CB51;CB51;110D 116E 11B0;CB51;110D 116E 11B0;
+CB52;CB52;110D 116E 11B1;CB52;110D 116E 11B1;
+CB53;CB53;110D 116E 11B2;CB53;110D 116E 11B2;
+CB54;CB54;110D 116E 11B3;CB54;110D 116E 11B3;
+CB55;CB55;110D 116E 11B4;CB55;110D 116E 11B4;
+CB56;CB56;110D 116E 11B5;CB56;110D 116E 11B5;
+CB57;CB57;110D 116E 11B6;CB57;110D 116E 11B6;
+CB58;CB58;110D 116E 11B7;CB58;110D 116E 11B7;
+CB59;CB59;110D 116E 11B8;CB59;110D 116E 11B8;
+CB5A;CB5A;110D 116E 11B9;CB5A;110D 116E 11B9;
+CB5B;CB5B;110D 116E 11BA;CB5B;110D 116E 11BA;
+CB5C;CB5C;110D 116E 11BB;CB5C;110D 116E 11BB;
+CB5D;CB5D;110D 116E 11BC;CB5D;110D 116E 11BC;
+CB5E;CB5E;110D 116E 11BD;CB5E;110D 116E 11BD;
+CB5F;CB5F;110D 116E 11BE;CB5F;110D 116E 11BE;
+CB60;CB60;110D 116E 11BF;CB60;110D 116E 11BF;
+CB61;CB61;110D 116E 11C0;CB61;110D 116E 11C0;
+CB62;CB62;110D 116E 11C1;CB62;110D 116E 11C1;
+CB63;CB63;110D 116E 11C2;CB63;110D 116E 11C2;
+CB64;CB64;110D 116F;CB64;110D 116F;
+CB65;CB65;110D 116F 11A8;CB65;110D 116F 11A8;
+CB66;CB66;110D 116F 11A9;CB66;110D 116F 11A9;
+CB67;CB67;110D 116F 11AA;CB67;110D 116F 11AA;
+CB68;CB68;110D 116F 11AB;CB68;110D 116F 11AB;
+CB69;CB69;110D 116F 11AC;CB69;110D 116F 11AC;
+CB6A;CB6A;110D 116F 11AD;CB6A;110D 116F 11AD;
+CB6B;CB6B;110D 116F 11AE;CB6B;110D 116F 11AE;
+CB6C;CB6C;110D 116F 11AF;CB6C;110D 116F 11AF;
+CB6D;CB6D;110D 116F 11B0;CB6D;110D 116F 11B0;
+CB6E;CB6E;110D 116F 11B1;CB6E;110D 116F 11B1;
+CB6F;CB6F;110D 116F 11B2;CB6F;110D 116F 11B2;
+CB70;CB70;110D 116F 11B3;CB70;110D 116F 11B3;
+CB71;CB71;110D 116F 11B4;CB71;110D 116F 11B4;
+CB72;CB72;110D 116F 11B5;CB72;110D 116F 11B5;
+CB73;CB73;110D 116F 11B6;CB73;110D 116F 11B6;
+CB74;CB74;110D 116F 11B7;CB74;110D 116F 11B7;
+CB75;CB75;110D 116F 11B8;CB75;110D 116F 11B8;
+CB76;CB76;110D 116F 11B9;CB76;110D 116F 11B9;
+CB77;CB77;110D 116F 11BA;CB77;110D 116F 11BA;
+CB78;CB78;110D 116F 11BB;CB78;110D 116F 11BB;
+CB79;CB79;110D 116F 11BC;CB79;110D 116F 11BC;
+CB7A;CB7A;110D 116F 11BD;CB7A;110D 116F 11BD;
+CB7B;CB7B;110D 116F 11BE;CB7B;110D 116F 11BE;
+CB7C;CB7C;110D 116F 11BF;CB7C;110D 116F 11BF;
+CB7D;CB7D;110D 116F 11C0;CB7D;110D 116F 11C0;
+CB7E;CB7E;110D 116F 11C1;CB7E;110D 116F 11C1;
+CB7F;CB7F;110D 116F 11C2;CB7F;110D 116F 11C2;
+CB80;CB80;110D 1170;CB80;110D 1170;
+CB81;CB81;110D 1170 11A8;CB81;110D 1170 11A8;
+CB82;CB82;110D 1170 11A9;CB82;110D 1170 11A9;
+CB83;CB83;110D 1170 11AA;CB83;110D 1170 11AA;
+CB84;CB84;110D 1170 11AB;CB84;110D 1170 11AB;
+CB85;CB85;110D 1170 11AC;CB85;110D 1170 11AC;
+CB86;CB86;110D 1170 11AD;CB86;110D 1170 11AD;
+CB87;CB87;110D 1170 11AE;CB87;110D 1170 11AE;
+CB88;CB88;110D 1170 11AF;CB88;110D 1170 11AF;
+CB89;CB89;110D 1170 11B0;CB89;110D 1170 11B0;
+CB8A;CB8A;110D 1170 11B1;CB8A;110D 1170 11B1;
+CB8B;CB8B;110D 1170 11B2;CB8B;110D 1170 11B2;
+CB8C;CB8C;110D 1170 11B3;CB8C;110D 1170 11B3;
+CB8D;CB8D;110D 1170 11B4;CB8D;110D 1170 11B4;
+CB8E;CB8E;110D 1170 11B5;CB8E;110D 1170 11B5;
+CB8F;CB8F;110D 1170 11B6;CB8F;110D 1170 11B6;
+CB90;CB90;110D 1170 11B7;CB90;110D 1170 11B7;
+CB91;CB91;110D 1170 11B8;CB91;110D 1170 11B8;
+CB92;CB92;110D 1170 11B9;CB92;110D 1170 11B9;
+CB93;CB93;110D 1170 11BA;CB93;110D 1170 11BA;
+CB94;CB94;110D 1170 11BB;CB94;110D 1170 11BB;
+CB95;CB95;110D 1170 11BC;CB95;110D 1170 11BC;
+CB96;CB96;110D 1170 11BD;CB96;110D 1170 11BD;
+CB97;CB97;110D 1170 11BE;CB97;110D 1170 11BE;
+CB98;CB98;110D 1170 11BF;CB98;110D 1170 11BF;
+CB99;CB99;110D 1170 11C0;CB99;110D 1170 11C0;
+CB9A;CB9A;110D 1170 11C1;CB9A;110D 1170 11C1;
+CB9B;CB9B;110D 1170 11C2;CB9B;110D 1170 11C2;
+CB9C;CB9C;110D 1171;CB9C;110D 1171;
+CB9D;CB9D;110D 1171 11A8;CB9D;110D 1171 11A8;
+CB9E;CB9E;110D 1171 11A9;CB9E;110D 1171 11A9;
+CB9F;CB9F;110D 1171 11AA;CB9F;110D 1171 11AA;
+CBA0;CBA0;110D 1171 11AB;CBA0;110D 1171 11AB;
+CBA1;CBA1;110D 1171 11AC;CBA1;110D 1171 11AC;
+CBA2;CBA2;110D 1171 11AD;CBA2;110D 1171 11AD;
+CBA3;CBA3;110D 1171 11AE;CBA3;110D 1171 11AE;
+CBA4;CBA4;110D 1171 11AF;CBA4;110D 1171 11AF;
+CBA5;CBA5;110D 1171 11B0;CBA5;110D 1171 11B0;
+CBA6;CBA6;110D 1171 11B1;CBA6;110D 1171 11B1;
+CBA7;CBA7;110D 1171 11B2;CBA7;110D 1171 11B2;
+CBA8;CBA8;110D 1171 11B3;CBA8;110D 1171 11B3;
+CBA9;CBA9;110D 1171 11B4;CBA9;110D 1171 11B4;
+CBAA;CBAA;110D 1171 11B5;CBAA;110D 1171 11B5;
+CBAB;CBAB;110D 1171 11B6;CBAB;110D 1171 11B6;
+CBAC;CBAC;110D 1171 11B7;CBAC;110D 1171 11B7;
+CBAD;CBAD;110D 1171 11B8;CBAD;110D 1171 11B8;
+CBAE;CBAE;110D 1171 11B9;CBAE;110D 1171 11B9;
+CBAF;CBAF;110D 1171 11BA;CBAF;110D 1171 11BA;
+CBB0;CBB0;110D 1171 11BB;CBB0;110D 1171 11BB;
+CBB1;CBB1;110D 1171 11BC;CBB1;110D 1171 11BC;
+CBB2;CBB2;110D 1171 11BD;CBB2;110D 1171 11BD;
+CBB3;CBB3;110D 1171 11BE;CBB3;110D 1171 11BE;
+CBB4;CBB4;110D 1171 11BF;CBB4;110D 1171 11BF;
+CBB5;CBB5;110D 1171 11C0;CBB5;110D 1171 11C0;
+CBB6;CBB6;110D 1171 11C1;CBB6;110D 1171 11C1;
+CBB7;CBB7;110D 1171 11C2;CBB7;110D 1171 11C2;
+CBB8;CBB8;110D 1172;CBB8;110D 1172;
+CBB9;CBB9;110D 1172 11A8;CBB9;110D 1172 11A8;
+CBBA;CBBA;110D 1172 11A9;CBBA;110D 1172 11A9;
+CBBB;CBBB;110D 1172 11AA;CBBB;110D 1172 11AA;
+CBBC;CBBC;110D 1172 11AB;CBBC;110D 1172 11AB;
+CBBD;CBBD;110D 1172 11AC;CBBD;110D 1172 11AC;
+CBBE;CBBE;110D 1172 11AD;CBBE;110D 1172 11AD;
+CBBF;CBBF;110D 1172 11AE;CBBF;110D 1172 11AE;
+CBC0;CBC0;110D 1172 11AF;CBC0;110D 1172 11AF;
+CBC1;CBC1;110D 1172 11B0;CBC1;110D 1172 11B0;
+CBC2;CBC2;110D 1172 11B1;CBC2;110D 1172 11B1;
+CBC3;CBC3;110D 1172 11B2;CBC3;110D 1172 11B2;
+CBC4;CBC4;110D 1172 11B3;CBC4;110D 1172 11B3;
+CBC5;CBC5;110D 1172 11B4;CBC5;110D 1172 11B4;
+CBC6;CBC6;110D 1172 11B5;CBC6;110D 1172 11B5;
+CBC7;CBC7;110D 1172 11B6;CBC7;110D 1172 11B6;
+CBC8;CBC8;110D 1172 11B7;CBC8;110D 1172 11B7;
+CBC9;CBC9;110D 1172 11B8;CBC9;110D 1172 11B8;
+CBCA;CBCA;110D 1172 11B9;CBCA;110D 1172 11B9;
+CBCB;CBCB;110D 1172 11BA;CBCB;110D 1172 11BA;
+CBCC;CBCC;110D 1172 11BB;CBCC;110D 1172 11BB;
+CBCD;CBCD;110D 1172 11BC;CBCD;110D 1172 11BC;
+CBCE;CBCE;110D 1172 11BD;CBCE;110D 1172 11BD;
+CBCF;CBCF;110D 1172 11BE;CBCF;110D 1172 11BE;
+CBD0;CBD0;110D 1172 11BF;CBD0;110D 1172 11BF;
+CBD1;CBD1;110D 1172 11C0;CBD1;110D 1172 11C0;
+CBD2;CBD2;110D 1172 11C1;CBD2;110D 1172 11C1;
+CBD3;CBD3;110D 1172 11C2;CBD3;110D 1172 11C2;
+CBD4;CBD4;110D 1173;CBD4;110D 1173;
+CBD5;CBD5;110D 1173 11A8;CBD5;110D 1173 11A8;
+CBD6;CBD6;110D 1173 11A9;CBD6;110D 1173 11A9;
+CBD7;CBD7;110D 1173 11AA;CBD7;110D 1173 11AA;
+CBD8;CBD8;110D 1173 11AB;CBD8;110D 1173 11AB;
+CBD9;CBD9;110D 1173 11AC;CBD9;110D 1173 11AC;
+CBDA;CBDA;110D 1173 11AD;CBDA;110D 1173 11AD;
+CBDB;CBDB;110D 1173 11AE;CBDB;110D 1173 11AE;
+CBDC;CBDC;110D 1173 11AF;CBDC;110D 1173 11AF;
+CBDD;CBDD;110D 1173 11B0;CBDD;110D 1173 11B0;
+CBDE;CBDE;110D 1173 11B1;CBDE;110D 1173 11B1;
+CBDF;CBDF;110D 1173 11B2;CBDF;110D 1173 11B2;
+CBE0;CBE0;110D 1173 11B3;CBE0;110D 1173 11B3;
+CBE1;CBE1;110D 1173 11B4;CBE1;110D 1173 11B4;
+CBE2;CBE2;110D 1173 11B5;CBE2;110D 1173 11B5;
+CBE3;CBE3;110D 1173 11B6;CBE3;110D 1173 11B6;
+CBE4;CBE4;110D 1173 11B7;CBE4;110D 1173 11B7;
+CBE5;CBE5;110D 1173 11B8;CBE5;110D 1173 11B8;
+CBE6;CBE6;110D 1173 11B9;CBE6;110D 1173 11B9;
+CBE7;CBE7;110D 1173 11BA;CBE7;110D 1173 11BA;
+CBE8;CBE8;110D 1173 11BB;CBE8;110D 1173 11BB;
+CBE9;CBE9;110D 1173 11BC;CBE9;110D 1173 11BC;
+CBEA;CBEA;110D 1173 11BD;CBEA;110D 1173 11BD;
+CBEB;CBEB;110D 1173 11BE;CBEB;110D 1173 11BE;
+CBEC;CBEC;110D 1173 11BF;CBEC;110D 1173 11BF;
+CBED;CBED;110D 1173 11C0;CBED;110D 1173 11C0;
+CBEE;CBEE;110D 1173 11C1;CBEE;110D 1173 11C1;
+CBEF;CBEF;110D 1173 11C2;CBEF;110D 1173 11C2;
+CBF0;CBF0;110D 1174;CBF0;110D 1174;
+CBF1;CBF1;110D 1174 11A8;CBF1;110D 1174 11A8;
+CBF2;CBF2;110D 1174 11A9;CBF2;110D 1174 11A9;
+CBF3;CBF3;110D 1174 11AA;CBF3;110D 1174 11AA;
+CBF4;CBF4;110D 1174 11AB;CBF4;110D 1174 11AB;
+CBF5;CBF5;110D 1174 11AC;CBF5;110D 1174 11AC;
+CBF6;CBF6;110D 1174 11AD;CBF6;110D 1174 11AD;
+CBF7;CBF7;110D 1174 11AE;CBF7;110D 1174 11AE;
+CBF8;CBF8;110D 1174 11AF;CBF8;110D 1174 11AF;
+CBF9;CBF9;110D 1174 11B0;CBF9;110D 1174 11B0;
+CBFA;CBFA;110D 1174 11B1;CBFA;110D 1174 11B1;
+CBFB;CBFB;110D 1174 11B2;CBFB;110D 1174 11B2;
+CBFC;CBFC;110D 1174 11B3;CBFC;110D 1174 11B3;
+CBFD;CBFD;110D 1174 11B4;CBFD;110D 1174 11B4;
+CBFE;CBFE;110D 1174 11B5;CBFE;110D 1174 11B5;
+CBFF;CBFF;110D 1174 11B6;CBFF;110D 1174 11B6;
+CC00;CC00;110D 1174 11B7;CC00;110D 1174 11B7;
+CC01;CC01;110D 1174 11B8;CC01;110D 1174 11B8;
+CC02;CC02;110D 1174 11B9;CC02;110D 1174 11B9;
+CC03;CC03;110D 1174 11BA;CC03;110D 1174 11BA;
+CC04;CC04;110D 1174 11BB;CC04;110D 1174 11BB;
+CC05;CC05;110D 1174 11BC;CC05;110D 1174 11BC;
+CC06;CC06;110D 1174 11BD;CC06;110D 1174 11BD;
+CC07;CC07;110D 1174 11BE;CC07;110D 1174 11BE;
+CC08;CC08;110D 1174 11BF;CC08;110D 1174 11BF;
+CC09;CC09;110D 1174 11C0;CC09;110D 1174 11C0;
+CC0A;CC0A;110D 1174 11C1;CC0A;110D 1174 11C1;
+CC0B;CC0B;110D 1174 11C2;CC0B;110D 1174 11C2;
+CC0C;CC0C;110D 1175;CC0C;110D 1175;
+CC0D;CC0D;110D 1175 11A8;CC0D;110D 1175 11A8;
+CC0E;CC0E;110D 1175 11A9;CC0E;110D 1175 11A9;
+CC0F;CC0F;110D 1175 11AA;CC0F;110D 1175 11AA;
+CC10;CC10;110D 1175 11AB;CC10;110D 1175 11AB;
+CC11;CC11;110D 1175 11AC;CC11;110D 1175 11AC;
+CC12;CC12;110D 1175 11AD;CC12;110D 1175 11AD;
+CC13;CC13;110D 1175 11AE;CC13;110D 1175 11AE;
+CC14;CC14;110D 1175 11AF;CC14;110D 1175 11AF;
+CC15;CC15;110D 1175 11B0;CC15;110D 1175 11B0;
+CC16;CC16;110D 1175 11B1;CC16;110D 1175 11B1;
+CC17;CC17;110D 1175 11B2;CC17;110D 1175 11B2;
+CC18;CC18;110D 1175 11B3;CC18;110D 1175 11B3;
+CC19;CC19;110D 1175 11B4;CC19;110D 1175 11B4;
+CC1A;CC1A;110D 1175 11B5;CC1A;110D 1175 11B5;
+CC1B;CC1B;110D 1175 11B6;CC1B;110D 1175 11B6;
+CC1C;CC1C;110D 1175 11B7;CC1C;110D 1175 11B7;
+CC1D;CC1D;110D 1175 11B8;CC1D;110D 1175 11B8;
+CC1E;CC1E;110D 1175 11B9;CC1E;110D 1175 11B9;
+CC1F;CC1F;110D 1175 11BA;CC1F;110D 1175 11BA;
+CC20;CC20;110D 1175 11BB;CC20;110D 1175 11BB;
+CC21;CC21;110D 1175 11BC;CC21;110D 1175 11BC;
+CC22;CC22;110D 1175 11BD;CC22;110D 1175 11BD;
+CC23;CC23;110D 1175 11BE;CC23;110D 1175 11BE;
+CC24;CC24;110D 1175 11BF;CC24;110D 1175 11BF;
+CC25;CC25;110D 1175 11C0;CC25;110D 1175 11C0;
+CC26;CC26;110D 1175 11C1;CC26;110D 1175 11C1;
+CC27;CC27;110D 1175 11C2;CC27;110D 1175 11C2;
+CC28;CC28;110E 1161;CC28;110E 1161;
+CC29;CC29;110E 1161 11A8;CC29;110E 1161 11A8;
+CC2A;CC2A;110E 1161 11A9;CC2A;110E 1161 11A9;
+CC2B;CC2B;110E 1161 11AA;CC2B;110E 1161 11AA;
+CC2C;CC2C;110E 1161 11AB;CC2C;110E 1161 11AB;
+CC2D;CC2D;110E 1161 11AC;CC2D;110E 1161 11AC;
+CC2E;CC2E;110E 1161 11AD;CC2E;110E 1161 11AD;
+CC2F;CC2F;110E 1161 11AE;CC2F;110E 1161 11AE;
+CC30;CC30;110E 1161 11AF;CC30;110E 1161 11AF;
+CC31;CC31;110E 1161 11B0;CC31;110E 1161 11B0;
+CC32;CC32;110E 1161 11B1;CC32;110E 1161 11B1;
+CC33;CC33;110E 1161 11B2;CC33;110E 1161 11B2;
+CC34;CC34;110E 1161 11B3;CC34;110E 1161 11B3;
+CC35;CC35;110E 1161 11B4;CC35;110E 1161 11B4;
+CC36;CC36;110E 1161 11B5;CC36;110E 1161 11B5;
+CC37;CC37;110E 1161 11B6;CC37;110E 1161 11B6;
+CC38;CC38;110E 1161 11B7;CC38;110E 1161 11B7;
+CC39;CC39;110E 1161 11B8;CC39;110E 1161 11B8;
+CC3A;CC3A;110E 1161 11B9;CC3A;110E 1161 11B9;
+CC3B;CC3B;110E 1161 11BA;CC3B;110E 1161 11BA;
+CC3C;CC3C;110E 1161 11BB;CC3C;110E 1161 11BB;
+CC3D;CC3D;110E 1161 11BC;CC3D;110E 1161 11BC;
+CC3E;CC3E;110E 1161 11BD;CC3E;110E 1161 11BD;
+CC3F;CC3F;110E 1161 11BE;CC3F;110E 1161 11BE;
+CC40;CC40;110E 1161 11BF;CC40;110E 1161 11BF;
+CC41;CC41;110E 1161 11C0;CC41;110E 1161 11C0;
+CC42;CC42;110E 1161 11C1;CC42;110E 1161 11C1;
+CC43;CC43;110E 1161 11C2;CC43;110E 1161 11C2;
+CC44;CC44;110E 1162;CC44;110E 1162;
+CC45;CC45;110E 1162 11A8;CC45;110E 1162 11A8;
+CC46;CC46;110E 1162 11A9;CC46;110E 1162 11A9;
+CC47;CC47;110E 1162 11AA;CC47;110E 1162 11AA;
+CC48;CC48;110E 1162 11AB;CC48;110E 1162 11AB;
+CC49;CC49;110E 1162 11AC;CC49;110E 1162 11AC;
+CC4A;CC4A;110E 1162 11AD;CC4A;110E 1162 11AD;
+CC4B;CC4B;110E 1162 11AE;CC4B;110E 1162 11AE;
+CC4C;CC4C;110E 1162 11AF;CC4C;110E 1162 11AF;
+CC4D;CC4D;110E 1162 11B0;CC4D;110E 1162 11B0;
+CC4E;CC4E;110E 1162 11B1;CC4E;110E 1162 11B1;
+CC4F;CC4F;110E 1162 11B2;CC4F;110E 1162 11B2;
+CC50;CC50;110E 1162 11B3;CC50;110E 1162 11B3;
+CC51;CC51;110E 1162 11B4;CC51;110E 1162 11B4;
+CC52;CC52;110E 1162 11B5;CC52;110E 1162 11B5;
+CC53;CC53;110E 1162 11B6;CC53;110E 1162 11B6;
+CC54;CC54;110E 1162 11B7;CC54;110E 1162 11B7;
+CC55;CC55;110E 1162 11B8;CC55;110E 1162 11B8;
+CC56;CC56;110E 1162 11B9;CC56;110E 1162 11B9;
+CC57;CC57;110E 1162 11BA;CC57;110E 1162 11BA;
+CC58;CC58;110E 1162 11BB;CC58;110E 1162 11BB;
+CC59;CC59;110E 1162 11BC;CC59;110E 1162 11BC;
+CC5A;CC5A;110E 1162 11BD;CC5A;110E 1162 11BD;
+CC5B;CC5B;110E 1162 11BE;CC5B;110E 1162 11BE;
+CC5C;CC5C;110E 1162 11BF;CC5C;110E 1162 11BF;
+CC5D;CC5D;110E 1162 11C0;CC5D;110E 1162 11C0;
+CC5E;CC5E;110E 1162 11C1;CC5E;110E 1162 11C1;
+CC5F;CC5F;110E 1162 11C2;CC5F;110E 1162 11C2;
+CC60;CC60;110E 1163;CC60;110E 1163;
+CC61;CC61;110E 1163 11A8;CC61;110E 1163 11A8;
+CC62;CC62;110E 1163 11A9;CC62;110E 1163 11A9;
+CC63;CC63;110E 1163 11AA;CC63;110E 1163 11AA;
+CC64;CC64;110E 1163 11AB;CC64;110E 1163 11AB;
+CC65;CC65;110E 1163 11AC;CC65;110E 1163 11AC;
+CC66;CC66;110E 1163 11AD;CC66;110E 1163 11AD;
+CC67;CC67;110E 1163 11AE;CC67;110E 1163 11AE;
+CC68;CC68;110E 1163 11AF;CC68;110E 1163 11AF;
+CC69;CC69;110E 1163 11B0;CC69;110E 1163 11B0;
+CC6A;CC6A;110E 1163 11B1;CC6A;110E 1163 11B1;
+CC6B;CC6B;110E 1163 11B2;CC6B;110E 1163 11B2;
+CC6C;CC6C;110E 1163 11B3;CC6C;110E 1163 11B3;
+CC6D;CC6D;110E 1163 11B4;CC6D;110E 1163 11B4;
+CC6E;CC6E;110E 1163 11B5;CC6E;110E 1163 11B5;
+CC6F;CC6F;110E 1163 11B6;CC6F;110E 1163 11B6;
+CC70;CC70;110E 1163 11B7;CC70;110E 1163 11B7;
+CC71;CC71;110E 1163 11B8;CC71;110E 1163 11B8;
+CC72;CC72;110E 1163 11B9;CC72;110E 1163 11B9;
+CC73;CC73;110E 1163 11BA;CC73;110E 1163 11BA;
+CC74;CC74;110E 1163 11BB;CC74;110E 1163 11BB;
+CC75;CC75;110E 1163 11BC;CC75;110E 1163 11BC;
+CC76;CC76;110E 1163 11BD;CC76;110E 1163 11BD;
+CC77;CC77;110E 1163 11BE;CC77;110E 1163 11BE;
+CC78;CC78;110E 1163 11BF;CC78;110E 1163 11BF;
+CC79;CC79;110E 1163 11C0;CC79;110E 1163 11C0;
+CC7A;CC7A;110E 1163 11C1;CC7A;110E 1163 11C1;
+CC7B;CC7B;110E 1163 11C2;CC7B;110E 1163 11C2;
+CC7C;CC7C;110E 1164;CC7C;110E 1164;
+CC7D;CC7D;110E 1164 11A8;CC7D;110E 1164 11A8;
+CC7E;CC7E;110E 1164 11A9;CC7E;110E 1164 11A9;
+CC7F;CC7F;110E 1164 11AA;CC7F;110E 1164 11AA;
+CC80;CC80;110E 1164 11AB;CC80;110E 1164 11AB;
+CC81;CC81;110E 1164 11AC;CC81;110E 1164 11AC;
+CC82;CC82;110E 1164 11AD;CC82;110E 1164 11AD;
+CC83;CC83;110E 1164 11AE;CC83;110E 1164 11AE;
+CC84;CC84;110E 1164 11AF;CC84;110E 1164 11AF;
+CC85;CC85;110E 1164 11B0;CC85;110E 1164 11B0;
+CC86;CC86;110E 1164 11B1;CC86;110E 1164 11B1;
+CC87;CC87;110E 1164 11B2;CC87;110E 1164 11B2;
+CC88;CC88;110E 1164 11B3;CC88;110E 1164 11B3;
+CC89;CC89;110E 1164 11B4;CC89;110E 1164 11B4;
+CC8A;CC8A;110E 1164 11B5;CC8A;110E 1164 11B5;
+CC8B;CC8B;110E 1164 11B6;CC8B;110E 1164 11B6;
+CC8C;CC8C;110E 1164 11B7;CC8C;110E 1164 11B7;
+CC8D;CC8D;110E 1164 11B8;CC8D;110E 1164 11B8;
+CC8E;CC8E;110E 1164 11B9;CC8E;110E 1164 11B9;
+CC8F;CC8F;110E 1164 11BA;CC8F;110E 1164 11BA;
+CC90;CC90;110E 1164 11BB;CC90;110E 1164 11BB;
+CC91;CC91;110E 1164 11BC;CC91;110E 1164 11BC;
+CC92;CC92;110E 1164 11BD;CC92;110E 1164 11BD;
+CC93;CC93;110E 1164 11BE;CC93;110E 1164 11BE;
+CC94;CC94;110E 1164 11BF;CC94;110E 1164 11BF;
+CC95;CC95;110E 1164 11C0;CC95;110E 1164 11C0;
+CC96;CC96;110E 1164 11C1;CC96;110E 1164 11C1;
+CC97;CC97;110E 1164 11C2;CC97;110E 1164 11C2;
+CC98;CC98;110E 1165;CC98;110E 1165;
+CC99;CC99;110E 1165 11A8;CC99;110E 1165 11A8;
+CC9A;CC9A;110E 1165 11A9;CC9A;110E 1165 11A9;
+CC9B;CC9B;110E 1165 11AA;CC9B;110E 1165 11AA;
+CC9C;CC9C;110E 1165 11AB;CC9C;110E 1165 11AB;
+CC9D;CC9D;110E 1165 11AC;CC9D;110E 1165 11AC;
+CC9E;CC9E;110E 1165 11AD;CC9E;110E 1165 11AD;
+CC9F;CC9F;110E 1165 11AE;CC9F;110E 1165 11AE;
+CCA0;CCA0;110E 1165 11AF;CCA0;110E 1165 11AF;
+CCA1;CCA1;110E 1165 11B0;CCA1;110E 1165 11B0;
+CCA2;CCA2;110E 1165 11B1;CCA2;110E 1165 11B1;
+CCA3;CCA3;110E 1165 11B2;CCA3;110E 1165 11B2;
+CCA4;CCA4;110E 1165 11B3;CCA4;110E 1165 11B3;
+CCA5;CCA5;110E 1165 11B4;CCA5;110E 1165 11B4;
+CCA6;CCA6;110E 1165 11B5;CCA6;110E 1165 11B5;
+CCA7;CCA7;110E 1165 11B6;CCA7;110E 1165 11B6;
+CCA8;CCA8;110E 1165 11B7;CCA8;110E 1165 11B7;
+CCA9;CCA9;110E 1165 11B8;CCA9;110E 1165 11B8;
+CCAA;CCAA;110E 1165 11B9;CCAA;110E 1165 11B9;
+CCAB;CCAB;110E 1165 11BA;CCAB;110E 1165 11BA;
+CCAC;CCAC;110E 1165 11BB;CCAC;110E 1165 11BB;
+CCAD;CCAD;110E 1165 11BC;CCAD;110E 1165 11BC;
+CCAE;CCAE;110E 1165 11BD;CCAE;110E 1165 11BD;
+CCAF;CCAF;110E 1165 11BE;CCAF;110E 1165 11BE;
+CCB0;CCB0;110E 1165 11BF;CCB0;110E 1165 11BF;
+CCB1;CCB1;110E 1165 11C0;CCB1;110E 1165 11C0;
+CCB2;CCB2;110E 1165 11C1;CCB2;110E 1165 11C1;
+CCB3;CCB3;110E 1165 11C2;CCB3;110E 1165 11C2;
+CCB4;CCB4;110E 1166;CCB4;110E 1166;
+CCB5;CCB5;110E 1166 11A8;CCB5;110E 1166 11A8;
+CCB6;CCB6;110E 1166 11A9;CCB6;110E 1166 11A9;
+CCB7;CCB7;110E 1166 11AA;CCB7;110E 1166 11AA;
+CCB8;CCB8;110E 1166 11AB;CCB8;110E 1166 11AB;
+CCB9;CCB9;110E 1166 11AC;CCB9;110E 1166 11AC;
+CCBA;CCBA;110E 1166 11AD;CCBA;110E 1166 11AD;
+CCBB;CCBB;110E 1166 11AE;CCBB;110E 1166 11AE;
+CCBC;CCBC;110E 1166 11AF;CCBC;110E 1166 11AF;
+CCBD;CCBD;110E 1166 11B0;CCBD;110E 1166 11B0;
+CCBE;CCBE;110E 1166 11B1;CCBE;110E 1166 11B1;
+CCBF;CCBF;110E 1166 11B2;CCBF;110E 1166 11B2;
+CCC0;CCC0;110E 1166 11B3;CCC0;110E 1166 11B3;
+CCC1;CCC1;110E 1166 11B4;CCC1;110E 1166 11B4;
+CCC2;CCC2;110E 1166 11B5;CCC2;110E 1166 11B5;
+CCC3;CCC3;110E 1166 11B6;CCC3;110E 1166 11B6;
+CCC4;CCC4;110E 1166 11B7;CCC4;110E 1166 11B7;
+CCC5;CCC5;110E 1166 11B8;CCC5;110E 1166 11B8;
+CCC6;CCC6;110E 1166 11B9;CCC6;110E 1166 11B9;
+CCC7;CCC7;110E 1166 11BA;CCC7;110E 1166 11BA;
+CCC8;CCC8;110E 1166 11BB;CCC8;110E 1166 11BB;
+CCC9;CCC9;110E 1166 11BC;CCC9;110E 1166 11BC;
+CCCA;CCCA;110E 1166 11BD;CCCA;110E 1166 11BD;
+CCCB;CCCB;110E 1166 11BE;CCCB;110E 1166 11BE;
+CCCC;CCCC;110E 1166 11BF;CCCC;110E 1166 11BF;
+CCCD;CCCD;110E 1166 11C0;CCCD;110E 1166 11C0;
+CCCE;CCCE;110E 1166 11C1;CCCE;110E 1166 11C1;
+CCCF;CCCF;110E 1166 11C2;CCCF;110E 1166 11C2;
+CCD0;CCD0;110E 1167;CCD0;110E 1167;
+CCD1;CCD1;110E 1167 11A8;CCD1;110E 1167 11A8;
+CCD2;CCD2;110E 1167 11A9;CCD2;110E 1167 11A9;
+CCD3;CCD3;110E 1167 11AA;CCD3;110E 1167 11AA;
+CCD4;CCD4;110E 1167 11AB;CCD4;110E 1167 11AB;
+CCD5;CCD5;110E 1167 11AC;CCD5;110E 1167 11AC;
+CCD6;CCD6;110E 1167 11AD;CCD6;110E 1167 11AD;
+CCD7;CCD7;110E 1167 11AE;CCD7;110E 1167 11AE;
+CCD8;CCD8;110E 1167 11AF;CCD8;110E 1167 11AF;
+CCD9;CCD9;110E 1167 11B0;CCD9;110E 1167 11B0;
+CCDA;CCDA;110E 1167 11B1;CCDA;110E 1167 11B1;
+CCDB;CCDB;110E 1167 11B2;CCDB;110E 1167 11B2;
+CCDC;CCDC;110E 1167 11B3;CCDC;110E 1167 11B3;
+CCDD;CCDD;110E 1167 11B4;CCDD;110E 1167 11B4;
+CCDE;CCDE;110E 1167 11B5;CCDE;110E 1167 11B5;
+CCDF;CCDF;110E 1167 11B6;CCDF;110E 1167 11B6;
+CCE0;CCE0;110E 1167 11B7;CCE0;110E 1167 11B7;
+CCE1;CCE1;110E 1167 11B8;CCE1;110E 1167 11B8;
+CCE2;CCE2;110E 1167 11B9;CCE2;110E 1167 11B9;
+CCE3;CCE3;110E 1167 11BA;CCE3;110E 1167 11BA;
+CCE4;CCE4;110E 1167 11BB;CCE4;110E 1167 11BB;
+CCE5;CCE5;110E 1167 11BC;CCE5;110E 1167 11BC;
+CCE6;CCE6;110E 1167 11BD;CCE6;110E 1167 11BD;
+CCE7;CCE7;110E 1167 11BE;CCE7;110E 1167 11BE;
+CCE8;CCE8;110E 1167 11BF;CCE8;110E 1167 11BF;
+CCE9;CCE9;110E 1167 11C0;CCE9;110E 1167 11C0;
+CCEA;CCEA;110E 1167 11C1;CCEA;110E 1167 11C1;
+CCEB;CCEB;110E 1167 11C2;CCEB;110E 1167 11C2;
+CCEC;CCEC;110E 1168;CCEC;110E 1168;
+CCED;CCED;110E 1168 11A8;CCED;110E 1168 11A8;
+CCEE;CCEE;110E 1168 11A9;CCEE;110E 1168 11A9;
+CCEF;CCEF;110E 1168 11AA;CCEF;110E 1168 11AA;
+CCF0;CCF0;110E 1168 11AB;CCF0;110E 1168 11AB;
+CCF1;CCF1;110E 1168 11AC;CCF1;110E 1168 11AC;
+CCF2;CCF2;110E 1168 11AD;CCF2;110E 1168 11AD;
+CCF3;CCF3;110E 1168 11AE;CCF3;110E 1168 11AE;
+CCF4;CCF4;110E 1168 11AF;CCF4;110E 1168 11AF;
+CCF5;CCF5;110E 1168 11B0;CCF5;110E 1168 11B0;
+CCF6;CCF6;110E 1168 11B1;CCF6;110E 1168 11B1;
+CCF7;CCF7;110E 1168 11B2;CCF7;110E 1168 11B2;
+CCF8;CCF8;110E 1168 11B3;CCF8;110E 1168 11B3;
+CCF9;CCF9;110E 1168 11B4;CCF9;110E 1168 11B4;
+CCFA;CCFA;110E 1168 11B5;CCFA;110E 1168 11B5;
+CCFB;CCFB;110E 1168 11B6;CCFB;110E 1168 11B6;
+CCFC;CCFC;110E 1168 11B7;CCFC;110E 1168 11B7;
+CCFD;CCFD;110E 1168 11B8;CCFD;110E 1168 11B8;
+CCFE;CCFE;110E 1168 11B9;CCFE;110E 1168 11B9;
+CCFF;CCFF;110E 1168 11BA;CCFF;110E 1168 11BA;
+CD00;CD00;110E 1168 11BB;CD00;110E 1168 11BB;
+CD01;CD01;110E 1168 11BC;CD01;110E 1168 11BC;
+CD02;CD02;110E 1168 11BD;CD02;110E 1168 11BD;
+CD03;CD03;110E 1168 11BE;CD03;110E 1168 11BE;
+CD04;CD04;110E 1168 11BF;CD04;110E 1168 11BF;
+CD05;CD05;110E 1168 11C0;CD05;110E 1168 11C0;
+CD06;CD06;110E 1168 11C1;CD06;110E 1168 11C1;
+CD07;CD07;110E 1168 11C2;CD07;110E 1168 11C2;
+CD08;CD08;110E 1169;CD08;110E 1169;
+CD09;CD09;110E 1169 11A8;CD09;110E 1169 11A8;
+CD0A;CD0A;110E 1169 11A9;CD0A;110E 1169 11A9;
+CD0B;CD0B;110E 1169 11AA;CD0B;110E 1169 11AA;
+CD0C;CD0C;110E 1169 11AB;CD0C;110E 1169 11AB;
+CD0D;CD0D;110E 1169 11AC;CD0D;110E 1169 11AC;
+CD0E;CD0E;110E 1169 11AD;CD0E;110E 1169 11AD;
+CD0F;CD0F;110E 1169 11AE;CD0F;110E 1169 11AE;
+CD10;CD10;110E 1169 11AF;CD10;110E 1169 11AF;
+CD11;CD11;110E 1169 11B0;CD11;110E 1169 11B0;
+CD12;CD12;110E 1169 11B1;CD12;110E 1169 11B1;
+CD13;CD13;110E 1169 11B2;CD13;110E 1169 11B2;
+CD14;CD14;110E 1169 11B3;CD14;110E 1169 11B3;
+CD15;CD15;110E 1169 11B4;CD15;110E 1169 11B4;
+CD16;CD16;110E 1169 11B5;CD16;110E 1169 11B5;
+CD17;CD17;110E 1169 11B6;CD17;110E 1169 11B6;
+CD18;CD18;110E 1169 11B7;CD18;110E 1169 11B7;
+CD19;CD19;110E 1169 11B8;CD19;110E 1169 11B8;
+CD1A;CD1A;110E 1169 11B9;CD1A;110E 1169 11B9;
+CD1B;CD1B;110E 1169 11BA;CD1B;110E 1169 11BA;
+CD1C;CD1C;110E 1169 11BB;CD1C;110E 1169 11BB;
+CD1D;CD1D;110E 1169 11BC;CD1D;110E 1169 11BC;
+CD1E;CD1E;110E 1169 11BD;CD1E;110E 1169 11BD;
+CD1F;CD1F;110E 1169 11BE;CD1F;110E 1169 11BE;
+CD20;CD20;110E 1169 11BF;CD20;110E 1169 11BF;
+CD21;CD21;110E 1169 11C0;CD21;110E 1169 11C0;
+CD22;CD22;110E 1169 11C1;CD22;110E 1169 11C1;
+CD23;CD23;110E 1169 11C2;CD23;110E 1169 11C2;
+CD24;CD24;110E 116A;CD24;110E 116A;
+CD25;CD25;110E 116A 11A8;CD25;110E 116A 11A8;
+CD26;CD26;110E 116A 11A9;CD26;110E 116A 11A9;
+CD27;CD27;110E 116A 11AA;CD27;110E 116A 11AA;
+CD28;CD28;110E 116A 11AB;CD28;110E 116A 11AB;
+CD29;CD29;110E 116A 11AC;CD29;110E 116A 11AC;
+CD2A;CD2A;110E 116A 11AD;CD2A;110E 116A 11AD;
+CD2B;CD2B;110E 116A 11AE;CD2B;110E 116A 11AE;
+CD2C;CD2C;110E 116A 11AF;CD2C;110E 116A 11AF;
+CD2D;CD2D;110E 116A 11B0;CD2D;110E 116A 11B0;
+CD2E;CD2E;110E 116A 11B1;CD2E;110E 116A 11B1;
+CD2F;CD2F;110E 116A 11B2;CD2F;110E 116A 11B2;
+CD30;CD30;110E 116A 11B3;CD30;110E 116A 11B3;
+CD31;CD31;110E 116A 11B4;CD31;110E 116A 11B4;
+CD32;CD32;110E 116A 11B5;CD32;110E 116A 11B5;
+CD33;CD33;110E 116A 11B6;CD33;110E 116A 11B6;
+CD34;CD34;110E 116A 11B7;CD34;110E 116A 11B7;
+CD35;CD35;110E 116A 11B8;CD35;110E 116A 11B8;
+CD36;CD36;110E 116A 11B9;CD36;110E 116A 11B9;
+CD37;CD37;110E 116A 11BA;CD37;110E 116A 11BA;
+CD38;CD38;110E 116A 11BB;CD38;110E 116A 11BB;
+CD39;CD39;110E 116A 11BC;CD39;110E 116A 11BC;
+CD3A;CD3A;110E 116A 11BD;CD3A;110E 116A 11BD;
+CD3B;CD3B;110E 116A 11BE;CD3B;110E 116A 11BE;
+CD3C;CD3C;110E 116A 11BF;CD3C;110E 116A 11BF;
+CD3D;CD3D;110E 116A 11C0;CD3D;110E 116A 11C0;
+CD3E;CD3E;110E 116A 11C1;CD3E;110E 116A 11C1;
+CD3F;CD3F;110E 116A 11C2;CD3F;110E 116A 11C2;
+CD40;CD40;110E 116B;CD40;110E 116B;
+CD41;CD41;110E 116B 11A8;CD41;110E 116B 11A8;
+CD42;CD42;110E 116B 11A9;CD42;110E 116B 11A9;
+CD43;CD43;110E 116B 11AA;CD43;110E 116B 11AA;
+CD44;CD44;110E 116B 11AB;CD44;110E 116B 11AB;
+CD45;CD45;110E 116B 11AC;CD45;110E 116B 11AC;
+CD46;CD46;110E 116B 11AD;CD46;110E 116B 11AD;
+CD47;CD47;110E 116B 11AE;CD47;110E 116B 11AE;
+CD48;CD48;110E 116B 11AF;CD48;110E 116B 11AF;
+CD49;CD49;110E 116B 11B0;CD49;110E 116B 11B0;
+CD4A;CD4A;110E 116B 11B1;CD4A;110E 116B 11B1;
+CD4B;CD4B;110E 116B 11B2;CD4B;110E 116B 11B2;
+CD4C;CD4C;110E 116B 11B3;CD4C;110E 116B 11B3;
+CD4D;CD4D;110E 116B 11B4;CD4D;110E 116B 11B4;
+CD4E;CD4E;110E 116B 11B5;CD4E;110E 116B 11B5;
+CD4F;CD4F;110E 116B 11B6;CD4F;110E 116B 11B6;
+CD50;CD50;110E 116B 11B7;CD50;110E 116B 11B7;
+CD51;CD51;110E 116B 11B8;CD51;110E 116B 11B8;
+CD52;CD52;110E 116B 11B9;CD52;110E 116B 11B9;
+CD53;CD53;110E 116B 11BA;CD53;110E 116B 11BA;
+CD54;CD54;110E 116B 11BB;CD54;110E 116B 11BB;
+CD55;CD55;110E 116B 11BC;CD55;110E 116B 11BC;
+CD56;CD56;110E 116B 11BD;CD56;110E 116B 11BD;
+CD57;CD57;110E 116B 11BE;CD57;110E 116B 11BE;
+CD58;CD58;110E 116B 11BF;CD58;110E 116B 11BF;
+CD59;CD59;110E 116B 11C0;CD59;110E 116B 11C0;
+CD5A;CD5A;110E 116B 11C1;CD5A;110E 116B 11C1;
+CD5B;CD5B;110E 116B 11C2;CD5B;110E 116B 11C2;
+CD5C;CD5C;110E 116C;CD5C;110E 116C;
+CD5D;CD5D;110E 116C 11A8;CD5D;110E 116C 11A8;
+CD5E;CD5E;110E 116C 11A9;CD5E;110E 116C 11A9;
+CD5F;CD5F;110E 116C 11AA;CD5F;110E 116C 11AA;
+CD60;CD60;110E 116C 11AB;CD60;110E 116C 11AB;
+CD61;CD61;110E 116C 11AC;CD61;110E 116C 11AC;
+CD62;CD62;110E 116C 11AD;CD62;110E 116C 11AD;
+CD63;CD63;110E 116C 11AE;CD63;110E 116C 11AE;
+CD64;CD64;110E 116C 11AF;CD64;110E 116C 11AF;
+CD65;CD65;110E 116C 11B0;CD65;110E 116C 11B0;
+CD66;CD66;110E 116C 11B1;CD66;110E 116C 11B1;
+CD67;CD67;110E 116C 11B2;CD67;110E 116C 11B2;
+CD68;CD68;110E 116C 11B3;CD68;110E 116C 11B3;
+CD69;CD69;110E 116C 11B4;CD69;110E 116C 11B4;
+CD6A;CD6A;110E 116C 11B5;CD6A;110E 116C 11B5;
+CD6B;CD6B;110E 116C 11B6;CD6B;110E 116C 11B6;
+CD6C;CD6C;110E 116C 11B7;CD6C;110E 116C 11B7;
+CD6D;CD6D;110E 116C 11B8;CD6D;110E 116C 11B8;
+CD6E;CD6E;110E 116C 11B9;CD6E;110E 116C 11B9;
+CD6F;CD6F;110E 116C 11BA;CD6F;110E 116C 11BA;
+CD70;CD70;110E 116C 11BB;CD70;110E 116C 11BB;
+CD71;CD71;110E 116C 11BC;CD71;110E 116C 11BC;
+CD72;CD72;110E 116C 11BD;CD72;110E 116C 11BD;
+CD73;CD73;110E 116C 11BE;CD73;110E 116C 11BE;
+CD74;CD74;110E 116C 11BF;CD74;110E 116C 11BF;
+CD75;CD75;110E 116C 11C0;CD75;110E 116C 11C0;
+CD76;CD76;110E 116C 11C1;CD76;110E 116C 11C1;
+CD77;CD77;110E 116C 11C2;CD77;110E 116C 11C2;
+CD78;CD78;110E 116D;CD78;110E 116D;
+CD79;CD79;110E 116D 11A8;CD79;110E 116D 11A8;
+CD7A;CD7A;110E 116D 11A9;CD7A;110E 116D 11A9;
+CD7B;CD7B;110E 116D 11AA;CD7B;110E 116D 11AA;
+CD7C;CD7C;110E 116D 11AB;CD7C;110E 116D 11AB;
+CD7D;CD7D;110E 116D 11AC;CD7D;110E 116D 11AC;
+CD7E;CD7E;110E 116D 11AD;CD7E;110E 116D 11AD;
+CD7F;CD7F;110E 116D 11AE;CD7F;110E 116D 11AE;
+CD80;CD80;110E 116D 11AF;CD80;110E 116D 11AF;
+CD81;CD81;110E 116D 11B0;CD81;110E 116D 11B0;
+CD82;CD82;110E 116D 11B1;CD82;110E 116D 11B1;
+CD83;CD83;110E 116D 11B2;CD83;110E 116D 11B2;
+CD84;CD84;110E 116D 11B3;CD84;110E 116D 11B3;
+CD85;CD85;110E 116D 11B4;CD85;110E 116D 11B4;
+CD86;CD86;110E 116D 11B5;CD86;110E 116D 11B5;
+CD87;CD87;110E 116D 11B6;CD87;110E 116D 11B6;
+CD88;CD88;110E 116D 11B7;CD88;110E 116D 11B7;
+CD89;CD89;110E 116D 11B8;CD89;110E 116D 11B8;
+CD8A;CD8A;110E 116D 11B9;CD8A;110E 116D 11B9;
+CD8B;CD8B;110E 116D 11BA;CD8B;110E 116D 11BA;
+CD8C;CD8C;110E 116D 11BB;CD8C;110E 116D 11BB;
+CD8D;CD8D;110E 116D 11BC;CD8D;110E 116D 11BC;
+CD8E;CD8E;110E 116D 11BD;CD8E;110E 116D 11BD;
+CD8F;CD8F;110E 116D 11BE;CD8F;110E 116D 11BE;
+CD90;CD90;110E 116D 11BF;CD90;110E 116D 11BF;
+CD91;CD91;110E 116D 11C0;CD91;110E 116D 11C0;
+CD92;CD92;110E 116D 11C1;CD92;110E 116D 11C1;
+CD93;CD93;110E 116D 11C2;CD93;110E 116D 11C2;
+CD94;CD94;110E 116E;CD94;110E 116E;
+CD95;CD95;110E 116E 11A8;CD95;110E 116E 11A8;
+CD96;CD96;110E 116E 11A9;CD96;110E 116E 11A9;
+CD97;CD97;110E 116E 11AA;CD97;110E 116E 11AA;
+CD98;CD98;110E 116E 11AB;CD98;110E 116E 11AB;
+CD99;CD99;110E 116E 11AC;CD99;110E 116E 11AC;
+CD9A;CD9A;110E 116E 11AD;CD9A;110E 116E 11AD;
+CD9B;CD9B;110E 116E 11AE;CD9B;110E 116E 11AE;
+CD9C;CD9C;110E 116E 11AF;CD9C;110E 116E 11AF;
+CD9D;CD9D;110E 116E 11B0;CD9D;110E 116E 11B0;
+CD9E;CD9E;110E 116E 11B1;CD9E;110E 116E 11B1;
+CD9F;CD9F;110E 116E 11B2;CD9F;110E 116E 11B2;
+CDA0;CDA0;110E 116E 11B3;CDA0;110E 116E 11B3;
+CDA1;CDA1;110E 116E 11B4;CDA1;110E 116E 11B4;
+CDA2;CDA2;110E 116E 11B5;CDA2;110E 116E 11B5;
+CDA3;CDA3;110E 116E 11B6;CDA3;110E 116E 11B6;
+CDA4;CDA4;110E 116E 11B7;CDA4;110E 116E 11B7;
+CDA5;CDA5;110E 116E 11B8;CDA5;110E 116E 11B8;
+CDA6;CDA6;110E 116E 11B9;CDA6;110E 116E 11B9;
+CDA7;CDA7;110E 116E 11BA;CDA7;110E 116E 11BA;
+CDA8;CDA8;110E 116E 11BB;CDA8;110E 116E 11BB;
+CDA9;CDA9;110E 116E 11BC;CDA9;110E 116E 11BC;
+CDAA;CDAA;110E 116E 11BD;CDAA;110E 116E 11BD;
+CDAB;CDAB;110E 116E 11BE;CDAB;110E 116E 11BE;
+CDAC;CDAC;110E 116E 11BF;CDAC;110E 116E 11BF;
+CDAD;CDAD;110E 116E 11C0;CDAD;110E 116E 11C0;
+CDAE;CDAE;110E 116E 11C1;CDAE;110E 116E 11C1;
+CDAF;CDAF;110E 116E 11C2;CDAF;110E 116E 11C2;
+CDB0;CDB0;110E 116F;CDB0;110E 116F;
+CDB1;CDB1;110E 116F 11A8;CDB1;110E 116F 11A8;
+CDB2;CDB2;110E 116F 11A9;CDB2;110E 116F 11A9;
+CDB3;CDB3;110E 116F 11AA;CDB3;110E 116F 11AA;
+CDB4;CDB4;110E 116F 11AB;CDB4;110E 116F 11AB;
+CDB5;CDB5;110E 116F 11AC;CDB5;110E 116F 11AC;
+CDB6;CDB6;110E 116F 11AD;CDB6;110E 116F 11AD;
+CDB7;CDB7;110E 116F 11AE;CDB7;110E 116F 11AE;
+CDB8;CDB8;110E 116F 11AF;CDB8;110E 116F 11AF;
+CDB9;CDB9;110E 116F 11B0;CDB9;110E 116F 11B0;
+CDBA;CDBA;110E 116F 11B1;CDBA;110E 116F 11B1;
+CDBB;CDBB;110E 116F 11B2;CDBB;110E 116F 11B2;
+CDBC;CDBC;110E 116F 11B3;CDBC;110E 116F 11B3;
+CDBD;CDBD;110E 116F 11B4;CDBD;110E 116F 11B4;
+CDBE;CDBE;110E 116F 11B5;CDBE;110E 116F 11B5;
+CDBF;CDBF;110E 116F 11B6;CDBF;110E 116F 11B6;
+CDC0;CDC0;110E 116F 11B7;CDC0;110E 116F 11B7;
+CDC1;CDC1;110E 116F 11B8;CDC1;110E 116F 11B8;
+CDC2;CDC2;110E 116F 11B9;CDC2;110E 116F 11B9;
+CDC3;CDC3;110E 116F 11BA;CDC3;110E 116F 11BA;
+CDC4;CDC4;110E 116F 11BB;CDC4;110E 116F 11BB;
+CDC5;CDC5;110E 116F 11BC;CDC5;110E 116F 11BC;
+CDC6;CDC6;110E 116F 11BD;CDC6;110E 116F 11BD;
+CDC7;CDC7;110E 116F 11BE;CDC7;110E 116F 11BE;
+CDC8;CDC8;110E 116F 11BF;CDC8;110E 116F 11BF;
+CDC9;CDC9;110E 116F 11C0;CDC9;110E 116F 11C0;
+CDCA;CDCA;110E 116F 11C1;CDCA;110E 116F 11C1;
+CDCB;CDCB;110E 116F 11C2;CDCB;110E 116F 11C2;
+CDCC;CDCC;110E 1170;CDCC;110E 1170;
+CDCD;CDCD;110E 1170 11A8;CDCD;110E 1170 11A8;
+CDCE;CDCE;110E 1170 11A9;CDCE;110E 1170 11A9;
+CDCF;CDCF;110E 1170 11AA;CDCF;110E 1170 11AA;
+CDD0;CDD0;110E 1170 11AB;CDD0;110E 1170 11AB;
+CDD1;CDD1;110E 1170 11AC;CDD1;110E 1170 11AC;
+CDD2;CDD2;110E 1170 11AD;CDD2;110E 1170 11AD;
+CDD3;CDD3;110E 1170 11AE;CDD3;110E 1170 11AE;
+CDD4;CDD4;110E 1170 11AF;CDD4;110E 1170 11AF;
+CDD5;CDD5;110E 1170 11B0;CDD5;110E 1170 11B0;
+CDD6;CDD6;110E 1170 11B1;CDD6;110E 1170 11B1;
+CDD7;CDD7;110E 1170 11B2;CDD7;110E 1170 11B2;
+CDD8;CDD8;110E 1170 11B3;CDD8;110E 1170 11B3;
+CDD9;CDD9;110E 1170 11B4;CDD9;110E 1170 11B4;
+CDDA;CDDA;110E 1170 11B5;CDDA;110E 1170 11B5;
+CDDB;CDDB;110E 1170 11B6;CDDB;110E 1170 11B6;
+CDDC;CDDC;110E 1170 11B7;CDDC;110E 1170 11B7;
+CDDD;CDDD;110E 1170 11B8;CDDD;110E 1170 11B8;
+CDDE;CDDE;110E 1170 11B9;CDDE;110E 1170 11B9;
+CDDF;CDDF;110E 1170 11BA;CDDF;110E 1170 11BA;
+CDE0;CDE0;110E 1170 11BB;CDE0;110E 1170 11BB;
+CDE1;CDE1;110E 1170 11BC;CDE1;110E 1170 11BC;
+CDE2;CDE2;110E 1170 11BD;CDE2;110E 1170 11BD;
+CDE3;CDE3;110E 1170 11BE;CDE3;110E 1170 11BE;
+CDE4;CDE4;110E 1170 11BF;CDE4;110E 1170 11BF;
+CDE5;CDE5;110E 1170 11C0;CDE5;110E 1170 11C0;
+CDE6;CDE6;110E 1170 11C1;CDE6;110E 1170 11C1;
+CDE7;CDE7;110E 1170 11C2;CDE7;110E 1170 11C2;
+CDE8;CDE8;110E 1171;CDE8;110E 1171;
+CDE9;CDE9;110E 1171 11A8;CDE9;110E 1171 11A8;
+CDEA;CDEA;110E 1171 11A9;CDEA;110E 1171 11A9;
+CDEB;CDEB;110E 1171 11AA;CDEB;110E 1171 11AA;
+CDEC;CDEC;110E 1171 11AB;CDEC;110E 1171 11AB;
+CDED;CDED;110E 1171 11AC;CDED;110E 1171 11AC;
+CDEE;CDEE;110E 1171 11AD;CDEE;110E 1171 11AD;
+CDEF;CDEF;110E 1171 11AE;CDEF;110E 1171 11AE;
+CDF0;CDF0;110E 1171 11AF;CDF0;110E 1171 11AF;
+CDF1;CDF1;110E 1171 11B0;CDF1;110E 1171 11B0;
+CDF2;CDF2;110E 1171 11B1;CDF2;110E 1171 11B1;
+CDF3;CDF3;110E 1171 11B2;CDF3;110E 1171 11B2;
+CDF4;CDF4;110E 1171 11B3;CDF4;110E 1171 11B3;
+CDF5;CDF5;110E 1171 11B4;CDF5;110E 1171 11B4;
+CDF6;CDF6;110E 1171 11B5;CDF6;110E 1171 11B5;
+CDF7;CDF7;110E 1171 11B6;CDF7;110E 1171 11B6;
+CDF8;CDF8;110E 1171 11B7;CDF8;110E 1171 11B7;
+CDF9;CDF9;110E 1171 11B8;CDF9;110E 1171 11B8;
+CDFA;CDFA;110E 1171 11B9;CDFA;110E 1171 11B9;
+CDFB;CDFB;110E 1171 11BA;CDFB;110E 1171 11BA;
+CDFC;CDFC;110E 1171 11BB;CDFC;110E 1171 11BB;
+CDFD;CDFD;110E 1171 11BC;CDFD;110E 1171 11BC;
+CDFE;CDFE;110E 1171 11BD;CDFE;110E 1171 11BD;
+CDFF;CDFF;110E 1171 11BE;CDFF;110E 1171 11BE;
+CE00;CE00;110E 1171 11BF;CE00;110E 1171 11BF;
+CE01;CE01;110E 1171 11C0;CE01;110E 1171 11C0;
+CE02;CE02;110E 1171 11C1;CE02;110E 1171 11C1;
+CE03;CE03;110E 1171 11C2;CE03;110E 1171 11C2;
+CE04;CE04;110E 1172;CE04;110E 1172;
+CE05;CE05;110E 1172 11A8;CE05;110E 1172 11A8;
+CE06;CE06;110E 1172 11A9;CE06;110E 1172 11A9;
+CE07;CE07;110E 1172 11AA;CE07;110E 1172 11AA;
+CE08;CE08;110E 1172 11AB;CE08;110E 1172 11AB;
+CE09;CE09;110E 1172 11AC;CE09;110E 1172 11AC;
+CE0A;CE0A;110E 1172 11AD;CE0A;110E 1172 11AD;
+CE0B;CE0B;110E 1172 11AE;CE0B;110E 1172 11AE;
+CE0C;CE0C;110E 1172 11AF;CE0C;110E 1172 11AF;
+CE0D;CE0D;110E 1172 11B0;CE0D;110E 1172 11B0;
+CE0E;CE0E;110E 1172 11B1;CE0E;110E 1172 11B1;
+CE0F;CE0F;110E 1172 11B2;CE0F;110E 1172 11B2;
+CE10;CE10;110E 1172 11B3;CE10;110E 1172 11B3;
+CE11;CE11;110E 1172 11B4;CE11;110E 1172 11B4;
+CE12;CE12;110E 1172 11B5;CE12;110E 1172 11B5;
+CE13;CE13;110E 1172 11B6;CE13;110E 1172 11B6;
+CE14;CE14;110E 1172 11B7;CE14;110E 1172 11B7;
+CE15;CE15;110E 1172 11B8;CE15;110E 1172 11B8;
+CE16;CE16;110E 1172 11B9;CE16;110E 1172 11B9;
+CE17;CE17;110E 1172 11BA;CE17;110E 1172 11BA;
+CE18;CE18;110E 1172 11BB;CE18;110E 1172 11BB;
+CE19;CE19;110E 1172 11BC;CE19;110E 1172 11BC;
+CE1A;CE1A;110E 1172 11BD;CE1A;110E 1172 11BD;
+CE1B;CE1B;110E 1172 11BE;CE1B;110E 1172 11BE;
+CE1C;CE1C;110E 1172 11BF;CE1C;110E 1172 11BF;
+CE1D;CE1D;110E 1172 11C0;CE1D;110E 1172 11C0;
+CE1E;CE1E;110E 1172 11C1;CE1E;110E 1172 11C1;
+CE1F;CE1F;110E 1172 11C2;CE1F;110E 1172 11C2;
+CE20;CE20;110E 1173;CE20;110E 1173;
+CE21;CE21;110E 1173 11A8;CE21;110E 1173 11A8;
+CE22;CE22;110E 1173 11A9;CE22;110E 1173 11A9;
+CE23;CE23;110E 1173 11AA;CE23;110E 1173 11AA;
+CE24;CE24;110E 1173 11AB;CE24;110E 1173 11AB;
+CE25;CE25;110E 1173 11AC;CE25;110E 1173 11AC;
+CE26;CE26;110E 1173 11AD;CE26;110E 1173 11AD;
+CE27;CE27;110E 1173 11AE;CE27;110E 1173 11AE;
+CE28;CE28;110E 1173 11AF;CE28;110E 1173 11AF;
+CE29;CE29;110E 1173 11B0;CE29;110E 1173 11B0;
+CE2A;CE2A;110E 1173 11B1;CE2A;110E 1173 11B1;
+CE2B;CE2B;110E 1173 11B2;CE2B;110E 1173 11B2;
+CE2C;CE2C;110E 1173 11B3;CE2C;110E 1173 11B3;
+CE2D;CE2D;110E 1173 11B4;CE2D;110E 1173 11B4;
+CE2E;CE2E;110E 1173 11B5;CE2E;110E 1173 11B5;
+CE2F;CE2F;110E 1173 11B6;CE2F;110E 1173 11B6;
+CE30;CE30;110E 1173 11B7;CE30;110E 1173 11B7;
+CE31;CE31;110E 1173 11B8;CE31;110E 1173 11B8;
+CE32;CE32;110E 1173 11B9;CE32;110E 1173 11B9;
+CE33;CE33;110E 1173 11BA;CE33;110E 1173 11BA;
+CE34;CE34;110E 1173 11BB;CE34;110E 1173 11BB;
+CE35;CE35;110E 1173 11BC;CE35;110E 1173 11BC;
+CE36;CE36;110E 1173 11BD;CE36;110E 1173 11BD;
+CE37;CE37;110E 1173 11BE;CE37;110E 1173 11BE;
+CE38;CE38;110E 1173 11BF;CE38;110E 1173 11BF;
+CE39;CE39;110E 1173 11C0;CE39;110E 1173 11C0;
+CE3A;CE3A;110E 1173 11C1;CE3A;110E 1173 11C1;
+CE3B;CE3B;110E 1173 11C2;CE3B;110E 1173 11C2;
+CE3C;CE3C;110E 1174;CE3C;110E 1174;
+CE3D;CE3D;110E 1174 11A8;CE3D;110E 1174 11A8;
+CE3E;CE3E;110E 1174 11A9;CE3E;110E 1174 11A9;
+CE3F;CE3F;110E 1174 11AA;CE3F;110E 1174 11AA;
+CE40;CE40;110E 1174 11AB;CE40;110E 1174 11AB;
+CE41;CE41;110E 1174 11AC;CE41;110E 1174 11AC;
+CE42;CE42;110E 1174 11AD;CE42;110E 1174 11AD;
+CE43;CE43;110E 1174 11AE;CE43;110E 1174 11AE;
+CE44;CE44;110E 1174 11AF;CE44;110E 1174 11AF;
+CE45;CE45;110E 1174 11B0;CE45;110E 1174 11B0;
+CE46;CE46;110E 1174 11B1;CE46;110E 1174 11B1;
+CE47;CE47;110E 1174 11B2;CE47;110E 1174 11B2;
+CE48;CE48;110E 1174 11B3;CE48;110E 1174 11B3;
+CE49;CE49;110E 1174 11B4;CE49;110E 1174 11B4;
+CE4A;CE4A;110E 1174 11B5;CE4A;110E 1174 11B5;
+CE4B;CE4B;110E 1174 11B6;CE4B;110E 1174 11B6;
+CE4C;CE4C;110E 1174 11B7;CE4C;110E 1174 11B7;
+CE4D;CE4D;110E 1174 11B8;CE4D;110E 1174 11B8;
+CE4E;CE4E;110E 1174 11B9;CE4E;110E 1174 11B9;
+CE4F;CE4F;110E 1174 11BA;CE4F;110E 1174 11BA;
+CE50;CE50;110E 1174 11BB;CE50;110E 1174 11BB;
+CE51;CE51;110E 1174 11BC;CE51;110E 1174 11BC;
+CE52;CE52;110E 1174 11BD;CE52;110E 1174 11BD;
+CE53;CE53;110E 1174 11BE;CE53;110E 1174 11BE;
+CE54;CE54;110E 1174 11BF;CE54;110E 1174 11BF;
+CE55;CE55;110E 1174 11C0;CE55;110E 1174 11C0;
+CE56;CE56;110E 1174 11C1;CE56;110E 1174 11C1;
+CE57;CE57;110E 1174 11C2;CE57;110E 1174 11C2;
+CE58;CE58;110E 1175;CE58;110E 1175;
+CE59;CE59;110E 1175 11A8;CE59;110E 1175 11A8;
+CE5A;CE5A;110E 1175 11A9;CE5A;110E 1175 11A9;
+CE5B;CE5B;110E 1175 11AA;CE5B;110E 1175 11AA;
+CE5C;CE5C;110E 1175 11AB;CE5C;110E 1175 11AB;
+CE5D;CE5D;110E 1175 11AC;CE5D;110E 1175 11AC;
+CE5E;CE5E;110E 1175 11AD;CE5E;110E 1175 11AD;
+CE5F;CE5F;110E 1175 11AE;CE5F;110E 1175 11AE;
+CE60;CE60;110E 1175 11AF;CE60;110E 1175 11AF;
+CE61;CE61;110E 1175 11B0;CE61;110E 1175 11B0;
+CE62;CE62;110E 1175 11B1;CE62;110E 1175 11B1;
+CE63;CE63;110E 1175 11B2;CE63;110E 1175 11B2;
+CE64;CE64;110E 1175 11B3;CE64;110E 1175 11B3;
+CE65;CE65;110E 1175 11B4;CE65;110E 1175 11B4;
+CE66;CE66;110E 1175 11B5;CE66;110E 1175 11B5;
+CE67;CE67;110E 1175 11B6;CE67;110E 1175 11B6;
+CE68;CE68;110E 1175 11B7;CE68;110E 1175 11B7;
+CE69;CE69;110E 1175 11B8;CE69;110E 1175 11B8;
+CE6A;CE6A;110E 1175 11B9;CE6A;110E 1175 11B9;
+CE6B;CE6B;110E 1175 11BA;CE6B;110E 1175 11BA;
+CE6C;CE6C;110E 1175 11BB;CE6C;110E 1175 11BB;
+CE6D;CE6D;110E 1175 11BC;CE6D;110E 1175 11BC;
+CE6E;CE6E;110E 1175 11BD;CE6E;110E 1175 11BD;
+CE6F;CE6F;110E 1175 11BE;CE6F;110E 1175 11BE;
+CE70;CE70;110E 1175 11BF;CE70;110E 1175 11BF;
+CE71;CE71;110E 1175 11C0;CE71;110E 1175 11C0;
+CE72;CE72;110E 1175 11C1;CE72;110E 1175 11C1;
+CE73;CE73;110E 1175 11C2;CE73;110E 1175 11C2;
+CE74;CE74;110F 1161;CE74;110F 1161;
+CE75;CE75;110F 1161 11A8;CE75;110F 1161 11A8;
+CE76;CE76;110F 1161 11A9;CE76;110F 1161 11A9;
+CE77;CE77;110F 1161 11AA;CE77;110F 1161 11AA;
+CE78;CE78;110F 1161 11AB;CE78;110F 1161 11AB;
+CE79;CE79;110F 1161 11AC;CE79;110F 1161 11AC;
+CE7A;CE7A;110F 1161 11AD;CE7A;110F 1161 11AD;
+CE7B;CE7B;110F 1161 11AE;CE7B;110F 1161 11AE;
+CE7C;CE7C;110F 1161 11AF;CE7C;110F 1161 11AF;
+CE7D;CE7D;110F 1161 11B0;CE7D;110F 1161 11B0;
+CE7E;CE7E;110F 1161 11B1;CE7E;110F 1161 11B1;
+CE7F;CE7F;110F 1161 11B2;CE7F;110F 1161 11B2;
+CE80;CE80;110F 1161 11B3;CE80;110F 1161 11B3;
+CE81;CE81;110F 1161 11B4;CE81;110F 1161 11B4;
+CE82;CE82;110F 1161 11B5;CE82;110F 1161 11B5;
+CE83;CE83;110F 1161 11B6;CE83;110F 1161 11B6;
+CE84;CE84;110F 1161 11B7;CE84;110F 1161 11B7;
+CE85;CE85;110F 1161 11B8;CE85;110F 1161 11B8;
+CE86;CE86;110F 1161 11B9;CE86;110F 1161 11B9;
+CE87;CE87;110F 1161 11BA;CE87;110F 1161 11BA;
+CE88;CE88;110F 1161 11BB;CE88;110F 1161 11BB;
+CE89;CE89;110F 1161 11BC;CE89;110F 1161 11BC;
+CE8A;CE8A;110F 1161 11BD;CE8A;110F 1161 11BD;
+CE8B;CE8B;110F 1161 11BE;CE8B;110F 1161 11BE;
+CE8C;CE8C;110F 1161 11BF;CE8C;110F 1161 11BF;
+CE8D;CE8D;110F 1161 11C0;CE8D;110F 1161 11C0;
+CE8E;CE8E;110F 1161 11C1;CE8E;110F 1161 11C1;
+CE8F;CE8F;110F 1161 11C2;CE8F;110F 1161 11C2;
+CE90;CE90;110F 1162;CE90;110F 1162;
+CE91;CE91;110F 1162 11A8;CE91;110F 1162 11A8;
+CE92;CE92;110F 1162 11A9;CE92;110F 1162 11A9;
+CE93;CE93;110F 1162 11AA;CE93;110F 1162 11AA;
+CE94;CE94;110F 1162 11AB;CE94;110F 1162 11AB;
+CE95;CE95;110F 1162 11AC;CE95;110F 1162 11AC;
+CE96;CE96;110F 1162 11AD;CE96;110F 1162 11AD;
+CE97;CE97;110F 1162 11AE;CE97;110F 1162 11AE;
+CE98;CE98;110F 1162 11AF;CE98;110F 1162 11AF;
+CE99;CE99;110F 1162 11B0;CE99;110F 1162 11B0;
+CE9A;CE9A;110F 1162 11B1;CE9A;110F 1162 11B1;
+CE9B;CE9B;110F 1162 11B2;CE9B;110F 1162 11B2;
+CE9C;CE9C;110F 1162 11B3;CE9C;110F 1162 11B3;
+CE9D;CE9D;110F 1162 11B4;CE9D;110F 1162 11B4;
+CE9E;CE9E;110F 1162 11B5;CE9E;110F 1162 11B5;
+CE9F;CE9F;110F 1162 11B6;CE9F;110F 1162 11B6;
+CEA0;CEA0;110F 1162 11B7;CEA0;110F 1162 11B7;
+CEA1;CEA1;110F 1162 11B8;CEA1;110F 1162 11B8;
+CEA2;CEA2;110F 1162 11B9;CEA2;110F 1162 11B9;
+CEA3;CEA3;110F 1162 11BA;CEA3;110F 1162 11BA;
+CEA4;CEA4;110F 1162 11BB;CEA4;110F 1162 11BB;
+CEA5;CEA5;110F 1162 11BC;CEA5;110F 1162 11BC;
+CEA6;CEA6;110F 1162 11BD;CEA6;110F 1162 11BD;
+CEA7;CEA7;110F 1162 11BE;CEA7;110F 1162 11BE;
+CEA8;CEA8;110F 1162 11BF;CEA8;110F 1162 11BF;
+CEA9;CEA9;110F 1162 11C0;CEA9;110F 1162 11C0;
+CEAA;CEAA;110F 1162 11C1;CEAA;110F 1162 11C1;
+CEAB;CEAB;110F 1162 11C2;CEAB;110F 1162 11C2;
+CEAC;CEAC;110F 1163;CEAC;110F 1163;
+CEAD;CEAD;110F 1163 11A8;CEAD;110F 1163 11A8;
+CEAE;CEAE;110F 1163 11A9;CEAE;110F 1163 11A9;
+CEAF;CEAF;110F 1163 11AA;CEAF;110F 1163 11AA;
+CEB0;CEB0;110F 1163 11AB;CEB0;110F 1163 11AB;
+CEB1;CEB1;110F 1163 11AC;CEB1;110F 1163 11AC;
+CEB2;CEB2;110F 1163 11AD;CEB2;110F 1163 11AD;
+CEB3;CEB3;110F 1163 11AE;CEB3;110F 1163 11AE;
+CEB4;CEB4;110F 1163 11AF;CEB4;110F 1163 11AF;
+CEB5;CEB5;110F 1163 11B0;CEB5;110F 1163 11B0;
+CEB6;CEB6;110F 1163 11B1;CEB6;110F 1163 11B1;
+CEB7;CEB7;110F 1163 11B2;CEB7;110F 1163 11B2;
+CEB8;CEB8;110F 1163 11B3;CEB8;110F 1163 11B3;
+CEB9;CEB9;110F 1163 11B4;CEB9;110F 1163 11B4;
+CEBA;CEBA;110F 1163 11B5;CEBA;110F 1163 11B5;
+CEBB;CEBB;110F 1163 11B6;CEBB;110F 1163 11B6;
+CEBC;CEBC;110F 1163 11B7;CEBC;110F 1163 11B7;
+CEBD;CEBD;110F 1163 11B8;CEBD;110F 1163 11B8;
+CEBE;CEBE;110F 1163 11B9;CEBE;110F 1163 11B9;
+CEBF;CEBF;110F 1163 11BA;CEBF;110F 1163 11BA;
+CEC0;CEC0;110F 1163 11BB;CEC0;110F 1163 11BB;
+CEC1;CEC1;110F 1163 11BC;CEC1;110F 1163 11BC;
+CEC2;CEC2;110F 1163 11BD;CEC2;110F 1163 11BD;
+CEC3;CEC3;110F 1163 11BE;CEC3;110F 1163 11BE;
+CEC4;CEC4;110F 1163 11BF;CEC4;110F 1163 11BF;
+CEC5;CEC5;110F 1163 11C0;CEC5;110F 1163 11C0;
+CEC6;CEC6;110F 1163 11C1;CEC6;110F 1163 11C1;
+CEC7;CEC7;110F 1163 11C2;CEC7;110F 1163 11C2;
+CEC8;CEC8;110F 1164;CEC8;110F 1164;
+CEC9;CEC9;110F 1164 11A8;CEC9;110F 1164 11A8;
+CECA;CECA;110F 1164 11A9;CECA;110F 1164 11A9;
+CECB;CECB;110F 1164 11AA;CECB;110F 1164 11AA;
+CECC;CECC;110F 1164 11AB;CECC;110F 1164 11AB;
+CECD;CECD;110F 1164 11AC;CECD;110F 1164 11AC;
+CECE;CECE;110F 1164 11AD;CECE;110F 1164 11AD;
+CECF;CECF;110F 1164 11AE;CECF;110F 1164 11AE;
+CED0;CED0;110F 1164 11AF;CED0;110F 1164 11AF;
+CED1;CED1;110F 1164 11B0;CED1;110F 1164 11B0;
+CED2;CED2;110F 1164 11B1;CED2;110F 1164 11B1;
+CED3;CED3;110F 1164 11B2;CED3;110F 1164 11B2;
+CED4;CED4;110F 1164 11B3;CED4;110F 1164 11B3;
+CED5;CED5;110F 1164 11B4;CED5;110F 1164 11B4;
+CED6;CED6;110F 1164 11B5;CED6;110F 1164 11B5;
+CED7;CED7;110F 1164 11B6;CED7;110F 1164 11B6;
+CED8;CED8;110F 1164 11B7;CED8;110F 1164 11B7;
+CED9;CED9;110F 1164 11B8;CED9;110F 1164 11B8;
+CEDA;CEDA;110F 1164 11B9;CEDA;110F 1164 11B9;
+CEDB;CEDB;110F 1164 11BA;CEDB;110F 1164 11BA;
+CEDC;CEDC;110F 1164 11BB;CEDC;110F 1164 11BB;
+CEDD;CEDD;110F 1164 11BC;CEDD;110F 1164 11BC;
+CEDE;CEDE;110F 1164 11BD;CEDE;110F 1164 11BD;
+CEDF;CEDF;110F 1164 11BE;CEDF;110F 1164 11BE;
+CEE0;CEE0;110F 1164 11BF;CEE0;110F 1164 11BF;
+CEE1;CEE1;110F 1164 11C0;CEE1;110F 1164 11C0;
+CEE2;CEE2;110F 1164 11C1;CEE2;110F 1164 11C1;
+CEE3;CEE3;110F 1164 11C2;CEE3;110F 1164 11C2;
+CEE4;CEE4;110F 1165;CEE4;110F 1165;
+CEE5;CEE5;110F 1165 11A8;CEE5;110F 1165 11A8;
+CEE6;CEE6;110F 1165 11A9;CEE6;110F 1165 11A9;
+CEE7;CEE7;110F 1165 11AA;CEE7;110F 1165 11AA;
+CEE8;CEE8;110F 1165 11AB;CEE8;110F 1165 11AB;
+CEE9;CEE9;110F 1165 11AC;CEE9;110F 1165 11AC;
+CEEA;CEEA;110F 1165 11AD;CEEA;110F 1165 11AD;
+CEEB;CEEB;110F 1165 11AE;CEEB;110F 1165 11AE;
+CEEC;CEEC;110F 1165 11AF;CEEC;110F 1165 11AF;
+CEED;CEED;110F 1165 11B0;CEED;110F 1165 11B0;
+CEEE;CEEE;110F 1165 11B1;CEEE;110F 1165 11B1;
+CEEF;CEEF;110F 1165 11B2;CEEF;110F 1165 11B2;
+CEF0;CEF0;110F 1165 11B3;CEF0;110F 1165 11B3;
+CEF1;CEF1;110F 1165 11B4;CEF1;110F 1165 11B4;
+CEF2;CEF2;110F 1165 11B5;CEF2;110F 1165 11B5;
+CEF3;CEF3;110F 1165 11B6;CEF3;110F 1165 11B6;
+CEF4;CEF4;110F 1165 11B7;CEF4;110F 1165 11B7;
+CEF5;CEF5;110F 1165 11B8;CEF5;110F 1165 11B8;
+CEF6;CEF6;110F 1165 11B9;CEF6;110F 1165 11B9;
+CEF7;CEF7;110F 1165 11BA;CEF7;110F 1165 11BA;
+CEF8;CEF8;110F 1165 11BB;CEF8;110F 1165 11BB;
+CEF9;CEF9;110F 1165 11BC;CEF9;110F 1165 11BC;
+CEFA;CEFA;110F 1165 11BD;CEFA;110F 1165 11BD;
+CEFB;CEFB;110F 1165 11BE;CEFB;110F 1165 11BE;
+CEFC;CEFC;110F 1165 11BF;CEFC;110F 1165 11BF;
+CEFD;CEFD;110F 1165 11C0;CEFD;110F 1165 11C0;
+CEFE;CEFE;110F 1165 11C1;CEFE;110F 1165 11C1;
+CEFF;CEFF;110F 1165 11C2;CEFF;110F 1165 11C2;
+CF00;CF00;110F 1166;CF00;110F 1166;
+CF01;CF01;110F 1166 11A8;CF01;110F 1166 11A8;
+CF02;CF02;110F 1166 11A9;CF02;110F 1166 11A9;
+CF03;CF03;110F 1166 11AA;CF03;110F 1166 11AA;
+CF04;CF04;110F 1166 11AB;CF04;110F 1166 11AB;
+CF05;CF05;110F 1166 11AC;CF05;110F 1166 11AC;
+CF06;CF06;110F 1166 11AD;CF06;110F 1166 11AD;
+CF07;CF07;110F 1166 11AE;CF07;110F 1166 11AE;
+CF08;CF08;110F 1166 11AF;CF08;110F 1166 11AF;
+CF09;CF09;110F 1166 11B0;CF09;110F 1166 11B0;
+CF0A;CF0A;110F 1166 11B1;CF0A;110F 1166 11B1;
+CF0B;CF0B;110F 1166 11B2;CF0B;110F 1166 11B2;
+CF0C;CF0C;110F 1166 11B3;CF0C;110F 1166 11B3;
+CF0D;CF0D;110F 1166 11B4;CF0D;110F 1166 11B4;
+CF0E;CF0E;110F 1166 11B5;CF0E;110F 1166 11B5;
+CF0F;CF0F;110F 1166 11B6;CF0F;110F 1166 11B6;
+CF10;CF10;110F 1166 11B7;CF10;110F 1166 11B7;
+CF11;CF11;110F 1166 11B8;CF11;110F 1166 11B8;
+CF12;CF12;110F 1166 11B9;CF12;110F 1166 11B9;
+CF13;CF13;110F 1166 11BA;CF13;110F 1166 11BA;
+CF14;CF14;110F 1166 11BB;CF14;110F 1166 11BB;
+CF15;CF15;110F 1166 11BC;CF15;110F 1166 11BC;
+CF16;CF16;110F 1166 11BD;CF16;110F 1166 11BD;
+CF17;CF17;110F 1166 11BE;CF17;110F 1166 11BE;
+CF18;CF18;110F 1166 11BF;CF18;110F 1166 11BF;
+CF19;CF19;110F 1166 11C0;CF19;110F 1166 11C0;
+CF1A;CF1A;110F 1166 11C1;CF1A;110F 1166 11C1;
+CF1B;CF1B;110F 1166 11C2;CF1B;110F 1166 11C2;
+CF1C;CF1C;110F 1167;CF1C;110F 1167;
+CF1D;CF1D;110F 1167 11A8;CF1D;110F 1167 11A8;
+CF1E;CF1E;110F 1167 11A9;CF1E;110F 1167 11A9;
+CF1F;CF1F;110F 1167 11AA;CF1F;110F 1167 11AA;
+CF20;CF20;110F 1167 11AB;CF20;110F 1167 11AB;
+CF21;CF21;110F 1167 11AC;CF21;110F 1167 11AC;
+CF22;CF22;110F 1167 11AD;CF22;110F 1167 11AD;
+CF23;CF23;110F 1167 11AE;CF23;110F 1167 11AE;
+CF24;CF24;110F 1167 11AF;CF24;110F 1167 11AF;
+CF25;CF25;110F 1167 11B0;CF25;110F 1167 11B0;
+CF26;CF26;110F 1167 11B1;CF26;110F 1167 11B1;
+CF27;CF27;110F 1167 11B2;CF27;110F 1167 11B2;
+CF28;CF28;110F 1167 11B3;CF28;110F 1167 11B3;
+CF29;CF29;110F 1167 11B4;CF29;110F 1167 11B4;
+CF2A;CF2A;110F 1167 11B5;CF2A;110F 1167 11B5;
+CF2B;CF2B;110F 1167 11B6;CF2B;110F 1167 11B6;
+CF2C;CF2C;110F 1167 11B7;CF2C;110F 1167 11B7;
+CF2D;CF2D;110F 1167 11B8;CF2D;110F 1167 11B8;
+CF2E;CF2E;110F 1167 11B9;CF2E;110F 1167 11B9;
+CF2F;CF2F;110F 1167 11BA;CF2F;110F 1167 11BA;
+CF30;CF30;110F 1167 11BB;CF30;110F 1167 11BB;
+CF31;CF31;110F 1167 11BC;CF31;110F 1167 11BC;
+CF32;CF32;110F 1167 11BD;CF32;110F 1167 11BD;
+CF33;CF33;110F 1167 11BE;CF33;110F 1167 11BE;
+CF34;CF34;110F 1167 11BF;CF34;110F 1167 11BF;
+CF35;CF35;110F 1167 11C0;CF35;110F 1167 11C0;
+CF36;CF36;110F 1167 11C1;CF36;110F 1167 11C1;
+CF37;CF37;110F 1167 11C2;CF37;110F 1167 11C2;
+CF38;CF38;110F 1168;CF38;110F 1168;
+CF39;CF39;110F 1168 11A8;CF39;110F 1168 11A8;
+CF3A;CF3A;110F 1168 11A9;CF3A;110F 1168 11A9;
+CF3B;CF3B;110F 1168 11AA;CF3B;110F 1168 11AA;
+CF3C;CF3C;110F 1168 11AB;CF3C;110F 1168 11AB;
+CF3D;CF3D;110F 1168 11AC;CF3D;110F 1168 11AC;
+CF3E;CF3E;110F 1168 11AD;CF3E;110F 1168 11AD;
+CF3F;CF3F;110F 1168 11AE;CF3F;110F 1168 11AE;
+CF40;CF40;110F 1168 11AF;CF40;110F 1168 11AF;
+CF41;CF41;110F 1168 11B0;CF41;110F 1168 11B0;
+CF42;CF42;110F 1168 11B1;CF42;110F 1168 11B1;
+CF43;CF43;110F 1168 11B2;CF43;110F 1168 11B2;
+CF44;CF44;110F 1168 11B3;CF44;110F 1168 11B3;
+CF45;CF45;110F 1168 11B4;CF45;110F 1168 11B4;
+CF46;CF46;110F 1168 11B5;CF46;110F 1168 11B5;
+CF47;CF47;110F 1168 11B6;CF47;110F 1168 11B6;
+CF48;CF48;110F 1168 11B7;CF48;110F 1168 11B7;
+CF49;CF49;110F 1168 11B8;CF49;110F 1168 11B8;
+CF4A;CF4A;110F 1168 11B9;CF4A;110F 1168 11B9;
+CF4B;CF4B;110F 1168 11BA;CF4B;110F 1168 11BA;
+CF4C;CF4C;110F 1168 11BB;CF4C;110F 1168 11BB;
+CF4D;CF4D;110F 1168 11BC;CF4D;110F 1168 11BC;
+CF4E;CF4E;110F 1168 11BD;CF4E;110F 1168 11BD;
+CF4F;CF4F;110F 1168 11BE;CF4F;110F 1168 11BE;
+CF50;CF50;110F 1168 11BF;CF50;110F 1168 11BF;
+CF51;CF51;110F 1168 11C0;CF51;110F 1168 11C0;
+CF52;CF52;110F 1168 11C1;CF52;110F 1168 11C1;
+CF53;CF53;110F 1168 11C2;CF53;110F 1168 11C2;
+CF54;CF54;110F 1169;CF54;110F 1169;
+CF55;CF55;110F 1169 11A8;CF55;110F 1169 11A8;
+CF56;CF56;110F 1169 11A9;CF56;110F 1169 11A9;
+CF57;CF57;110F 1169 11AA;CF57;110F 1169 11AA;
+CF58;CF58;110F 1169 11AB;CF58;110F 1169 11AB;
+CF59;CF59;110F 1169 11AC;CF59;110F 1169 11AC;
+CF5A;CF5A;110F 1169 11AD;CF5A;110F 1169 11AD;
+CF5B;CF5B;110F 1169 11AE;CF5B;110F 1169 11AE;
+CF5C;CF5C;110F 1169 11AF;CF5C;110F 1169 11AF;
+CF5D;CF5D;110F 1169 11B0;CF5D;110F 1169 11B0;
+CF5E;CF5E;110F 1169 11B1;CF5E;110F 1169 11B1;
+CF5F;CF5F;110F 1169 11B2;CF5F;110F 1169 11B2;
+CF60;CF60;110F 1169 11B3;CF60;110F 1169 11B3;
+CF61;CF61;110F 1169 11B4;CF61;110F 1169 11B4;
+CF62;CF62;110F 1169 11B5;CF62;110F 1169 11B5;
+CF63;CF63;110F 1169 11B6;CF63;110F 1169 11B6;
+CF64;CF64;110F 1169 11B7;CF64;110F 1169 11B7;
+CF65;CF65;110F 1169 11B8;CF65;110F 1169 11B8;
+CF66;CF66;110F 1169 11B9;CF66;110F 1169 11B9;
+CF67;CF67;110F 1169 11BA;CF67;110F 1169 11BA;
+CF68;CF68;110F 1169 11BB;CF68;110F 1169 11BB;
+CF69;CF69;110F 1169 11BC;CF69;110F 1169 11BC;
+CF6A;CF6A;110F 1169 11BD;CF6A;110F 1169 11BD;
+CF6B;CF6B;110F 1169 11BE;CF6B;110F 1169 11BE;
+CF6C;CF6C;110F 1169 11BF;CF6C;110F 1169 11BF;
+CF6D;CF6D;110F 1169 11C0;CF6D;110F 1169 11C0;
+CF6E;CF6E;110F 1169 11C1;CF6E;110F 1169 11C1;
+CF6F;CF6F;110F 1169 11C2;CF6F;110F 1169 11C2;
+CF70;CF70;110F 116A;CF70;110F 116A;
+CF71;CF71;110F 116A 11A8;CF71;110F 116A 11A8;
+CF72;CF72;110F 116A 11A9;CF72;110F 116A 11A9;
+CF73;CF73;110F 116A 11AA;CF73;110F 116A 11AA;
+CF74;CF74;110F 116A 11AB;CF74;110F 116A 11AB;
+CF75;CF75;110F 116A 11AC;CF75;110F 116A 11AC;
+CF76;CF76;110F 116A 11AD;CF76;110F 116A 11AD;
+CF77;CF77;110F 116A 11AE;CF77;110F 116A 11AE;
+CF78;CF78;110F 116A 11AF;CF78;110F 116A 11AF;
+CF79;CF79;110F 116A 11B0;CF79;110F 116A 11B0;
+CF7A;CF7A;110F 116A 11B1;CF7A;110F 116A 11B1;
+CF7B;CF7B;110F 116A 11B2;CF7B;110F 116A 11B2;
+CF7C;CF7C;110F 116A 11B3;CF7C;110F 116A 11B3;
+CF7D;CF7D;110F 116A 11B4;CF7D;110F 116A 11B4;
+CF7E;CF7E;110F 116A 11B5;CF7E;110F 116A 11B5;
+CF7F;CF7F;110F 116A 11B6;CF7F;110F 116A 11B6;
+CF80;CF80;110F 116A 11B7;CF80;110F 116A 11B7;
+CF81;CF81;110F 116A 11B8;CF81;110F 116A 11B8;
+CF82;CF82;110F 116A 11B9;CF82;110F 116A 11B9;
+CF83;CF83;110F 116A 11BA;CF83;110F 116A 11BA;
+CF84;CF84;110F 116A 11BB;CF84;110F 116A 11BB;
+CF85;CF85;110F 116A 11BC;CF85;110F 116A 11BC;
+CF86;CF86;110F 116A 11BD;CF86;110F 116A 11BD;
+CF87;CF87;110F 116A 11BE;CF87;110F 116A 11BE;
+CF88;CF88;110F 116A 11BF;CF88;110F 116A 11BF;
+CF89;CF89;110F 116A 11C0;CF89;110F 116A 11C0;
+CF8A;CF8A;110F 116A 11C1;CF8A;110F 116A 11C1;
+CF8B;CF8B;110F 116A 11C2;CF8B;110F 116A 11C2;
+CF8C;CF8C;110F 116B;CF8C;110F 116B;
+CF8D;CF8D;110F 116B 11A8;CF8D;110F 116B 11A8;
+CF8E;CF8E;110F 116B 11A9;CF8E;110F 116B 11A9;
+CF8F;CF8F;110F 116B 11AA;CF8F;110F 116B 11AA;
+CF90;CF90;110F 116B 11AB;CF90;110F 116B 11AB;
+CF91;CF91;110F 116B 11AC;CF91;110F 116B 11AC;
+CF92;CF92;110F 116B 11AD;CF92;110F 116B 11AD;
+CF93;CF93;110F 116B 11AE;CF93;110F 116B 11AE;
+CF94;CF94;110F 116B 11AF;CF94;110F 116B 11AF;
+CF95;CF95;110F 116B 11B0;CF95;110F 116B 11B0;
+CF96;CF96;110F 116B 11B1;CF96;110F 116B 11B1;
+CF97;CF97;110F 116B 11B2;CF97;110F 116B 11B2;
+CF98;CF98;110F 116B 11B3;CF98;110F 116B 11B3;
+CF99;CF99;110F 116B 11B4;CF99;110F 116B 11B4;
+CF9A;CF9A;110F 116B 11B5;CF9A;110F 116B 11B5;
+CF9B;CF9B;110F 116B 11B6;CF9B;110F 116B 11B6;
+CF9C;CF9C;110F 116B 11B7;CF9C;110F 116B 11B7;
+CF9D;CF9D;110F 116B 11B8;CF9D;110F 116B 11B8;
+CF9E;CF9E;110F 116B 11B9;CF9E;110F 116B 11B9;
+CF9F;CF9F;110F 116B 11BA;CF9F;110F 116B 11BA;
+CFA0;CFA0;110F 116B 11BB;CFA0;110F 116B 11BB;
+CFA1;CFA1;110F 116B 11BC;CFA1;110F 116B 11BC;
+CFA2;CFA2;110F 116B 11BD;CFA2;110F 116B 11BD;
+CFA3;CFA3;110F 116B 11BE;CFA3;110F 116B 11BE;
+CFA4;CFA4;110F 116B 11BF;CFA4;110F 116B 11BF;
+CFA5;CFA5;110F 116B 11C0;CFA5;110F 116B 11C0;
+CFA6;CFA6;110F 116B 11C1;CFA6;110F 116B 11C1;
+CFA7;CFA7;110F 116B 11C2;CFA7;110F 116B 11C2;
+CFA8;CFA8;110F 116C;CFA8;110F 116C;
+CFA9;CFA9;110F 116C 11A8;CFA9;110F 116C 11A8;
+CFAA;CFAA;110F 116C 11A9;CFAA;110F 116C 11A9;
+CFAB;CFAB;110F 116C 11AA;CFAB;110F 116C 11AA;
+CFAC;CFAC;110F 116C 11AB;CFAC;110F 116C 11AB;
+CFAD;CFAD;110F 116C 11AC;CFAD;110F 116C 11AC;
+CFAE;CFAE;110F 116C 11AD;CFAE;110F 116C 11AD;
+CFAF;CFAF;110F 116C 11AE;CFAF;110F 116C 11AE;
+CFB0;CFB0;110F 116C 11AF;CFB0;110F 116C 11AF;
+CFB1;CFB1;110F 116C 11B0;CFB1;110F 116C 11B0;
+CFB2;CFB2;110F 116C 11B1;CFB2;110F 116C 11B1;
+CFB3;CFB3;110F 116C 11B2;CFB3;110F 116C 11B2;
+CFB4;CFB4;110F 116C 11B3;CFB4;110F 116C 11B3;
+CFB5;CFB5;110F 116C 11B4;CFB5;110F 116C 11B4;
+CFB6;CFB6;110F 116C 11B5;CFB6;110F 116C 11B5;
+CFB7;CFB7;110F 116C 11B6;CFB7;110F 116C 11B6;
+CFB8;CFB8;110F 116C 11B7;CFB8;110F 116C 11B7;
+CFB9;CFB9;110F 116C 11B8;CFB9;110F 116C 11B8;
+CFBA;CFBA;110F 116C 11B9;CFBA;110F 116C 11B9;
+CFBB;CFBB;110F 116C 11BA;CFBB;110F 116C 11BA;
+CFBC;CFBC;110F 116C 11BB;CFBC;110F 116C 11BB;
+CFBD;CFBD;110F 116C 11BC;CFBD;110F 116C 11BC;
+CFBE;CFBE;110F 116C 11BD;CFBE;110F 116C 11BD;
+CFBF;CFBF;110F 116C 11BE;CFBF;110F 116C 11BE;
+CFC0;CFC0;110F 116C 11BF;CFC0;110F 116C 11BF;
+CFC1;CFC1;110F 116C 11C0;CFC1;110F 116C 11C0;
+CFC2;CFC2;110F 116C 11C1;CFC2;110F 116C 11C1;
+CFC3;CFC3;110F 116C 11C2;CFC3;110F 116C 11C2;
+CFC4;CFC4;110F 116D;CFC4;110F 116D;
+CFC5;CFC5;110F 116D 11A8;CFC5;110F 116D 11A8;
+CFC6;CFC6;110F 116D 11A9;CFC6;110F 116D 11A9;
+CFC7;CFC7;110F 116D 11AA;CFC7;110F 116D 11AA;
+CFC8;CFC8;110F 116D 11AB;CFC8;110F 116D 11AB;
+CFC9;CFC9;110F 116D 11AC;CFC9;110F 116D 11AC;
+CFCA;CFCA;110F 116D 11AD;CFCA;110F 116D 11AD;
+CFCB;CFCB;110F 116D 11AE;CFCB;110F 116D 11AE;
+CFCC;CFCC;110F 116D 11AF;CFCC;110F 116D 11AF;
+CFCD;CFCD;110F 116D 11B0;CFCD;110F 116D 11B0;
+CFCE;CFCE;110F 116D 11B1;CFCE;110F 116D 11B1;
+CFCF;CFCF;110F 116D 11B2;CFCF;110F 116D 11B2;
+CFD0;CFD0;110F 116D 11B3;CFD0;110F 116D 11B3;
+CFD1;CFD1;110F 116D 11B4;CFD1;110F 116D 11B4;
+CFD2;CFD2;110F 116D 11B5;CFD2;110F 116D 11B5;
+CFD3;CFD3;110F 116D 11B6;CFD3;110F 116D 11B6;
+CFD4;CFD4;110F 116D 11B7;CFD4;110F 116D 11B7;
+CFD5;CFD5;110F 116D 11B8;CFD5;110F 116D 11B8;
+CFD6;CFD6;110F 116D 11B9;CFD6;110F 116D 11B9;
+CFD7;CFD7;110F 116D 11BA;CFD7;110F 116D 11BA;
+CFD8;CFD8;110F 116D 11BB;CFD8;110F 116D 11BB;
+CFD9;CFD9;110F 116D 11BC;CFD9;110F 116D 11BC;
+CFDA;CFDA;110F 116D 11BD;CFDA;110F 116D 11BD;
+CFDB;CFDB;110F 116D 11BE;CFDB;110F 116D 11BE;
+CFDC;CFDC;110F 116D 11BF;CFDC;110F 116D 11BF;
+CFDD;CFDD;110F 116D 11C0;CFDD;110F 116D 11C0;
+CFDE;CFDE;110F 116D 11C1;CFDE;110F 116D 11C1;
+CFDF;CFDF;110F 116D 11C2;CFDF;110F 116D 11C2;
+CFE0;CFE0;110F 116E;CFE0;110F 116E;
+CFE1;CFE1;110F 116E 11A8;CFE1;110F 116E 11A8;
+CFE2;CFE2;110F 116E 11A9;CFE2;110F 116E 11A9;
+CFE3;CFE3;110F 116E 11AA;CFE3;110F 116E 11AA;
+CFE4;CFE4;110F 116E 11AB;CFE4;110F 116E 11AB;
+CFE5;CFE5;110F 116E 11AC;CFE5;110F 116E 11AC;
+CFE6;CFE6;110F 116E 11AD;CFE6;110F 116E 11AD;
+CFE7;CFE7;110F 116E 11AE;CFE7;110F 116E 11AE;
+CFE8;CFE8;110F 116E 11AF;CFE8;110F 116E 11AF;
+CFE9;CFE9;110F 116E 11B0;CFE9;110F 116E 11B0;
+CFEA;CFEA;110F 116E 11B1;CFEA;110F 116E 11B1;
+CFEB;CFEB;110F 116E 11B2;CFEB;110F 116E 11B2;
+CFEC;CFEC;110F 116E 11B3;CFEC;110F 116E 11B3;
+CFED;CFED;110F 116E 11B4;CFED;110F 116E 11B4;
+CFEE;CFEE;110F 116E 11B5;CFEE;110F 116E 11B5;
+CFEF;CFEF;110F 116E 11B6;CFEF;110F 116E 11B6;
+CFF0;CFF0;110F 116E 11B7;CFF0;110F 116E 11B7;
+CFF1;CFF1;110F 116E 11B8;CFF1;110F 116E 11B8;
+CFF2;CFF2;110F 116E 11B9;CFF2;110F 116E 11B9;
+CFF3;CFF3;110F 116E 11BA;CFF3;110F 116E 11BA;
+CFF4;CFF4;110F 116E 11BB;CFF4;110F 116E 11BB;
+CFF5;CFF5;110F 116E 11BC;CFF5;110F 116E 11BC;
+CFF6;CFF6;110F 116E 11BD;CFF6;110F 116E 11BD;
+CFF7;CFF7;110F 116E 11BE;CFF7;110F 116E 11BE;
+CFF8;CFF8;110F 116E 11BF;CFF8;110F 116E 11BF;
+CFF9;CFF9;110F 116E 11C0;CFF9;110F 116E 11C0;
+CFFA;CFFA;110F 116E 11C1;CFFA;110F 116E 11C1;
+CFFB;CFFB;110F 116E 11C2;CFFB;110F 116E 11C2;
+CFFC;CFFC;110F 116F;CFFC;110F 116F;
+CFFD;CFFD;110F 116F 11A8;CFFD;110F 116F 11A8;
+CFFE;CFFE;110F 116F 11A9;CFFE;110F 116F 11A9;
+CFFF;CFFF;110F 116F 11AA;CFFF;110F 116F 11AA;
+D000;D000;110F 116F 11AB;D000;110F 116F 11AB;
+D001;D001;110F 116F 11AC;D001;110F 116F 11AC;
+D002;D002;110F 116F 11AD;D002;110F 116F 11AD;
+D003;D003;110F 116F 11AE;D003;110F 116F 11AE;
+D004;D004;110F 116F 11AF;D004;110F 116F 11AF;
+D005;D005;110F 116F 11B0;D005;110F 116F 11B0;
+D006;D006;110F 116F 11B1;D006;110F 116F 11B1;
+D007;D007;110F 116F 11B2;D007;110F 116F 11B2;
+D008;D008;110F 116F 11B3;D008;110F 116F 11B3;
+D009;D009;110F 116F 11B4;D009;110F 116F 11B4;
+D00A;D00A;110F 116F 11B5;D00A;110F 116F 11B5;
+D00B;D00B;110F 116F 11B6;D00B;110F 116F 11B6;
+D00C;D00C;110F 116F 11B7;D00C;110F 116F 11B7;
+D00D;D00D;110F 116F 11B8;D00D;110F 116F 11B8;
+D00E;D00E;110F 116F 11B9;D00E;110F 116F 11B9;
+D00F;D00F;110F 116F 11BA;D00F;110F 116F 11BA;
+D010;D010;110F 116F 11BB;D010;110F 116F 11BB;
+D011;D011;110F 116F 11BC;D011;110F 116F 11BC;
+D012;D012;110F 116F 11BD;D012;110F 116F 11BD;
+D013;D013;110F 116F 11BE;D013;110F 116F 11BE;
+D014;D014;110F 116F 11BF;D014;110F 116F 11BF;
+D015;D015;110F 116F 11C0;D015;110F 116F 11C0;
+D016;D016;110F 116F 11C1;D016;110F 116F 11C1;
+D017;D017;110F 116F 11C2;D017;110F 116F 11C2;
+D018;D018;110F 1170;D018;110F 1170;
+D019;D019;110F 1170 11A8;D019;110F 1170 11A8;
+D01A;D01A;110F 1170 11A9;D01A;110F 1170 11A9;
+D01B;D01B;110F 1170 11AA;D01B;110F 1170 11AA;
+D01C;D01C;110F 1170 11AB;D01C;110F 1170 11AB;
+D01D;D01D;110F 1170 11AC;D01D;110F 1170 11AC;
+D01E;D01E;110F 1170 11AD;D01E;110F 1170 11AD;
+D01F;D01F;110F 1170 11AE;D01F;110F 1170 11AE;
+D020;D020;110F 1170 11AF;D020;110F 1170 11AF;
+D021;D021;110F 1170 11B0;D021;110F 1170 11B0;
+D022;D022;110F 1170 11B1;D022;110F 1170 11B1;
+D023;D023;110F 1170 11B2;D023;110F 1170 11B2;
+D024;D024;110F 1170 11B3;D024;110F 1170 11B3;
+D025;D025;110F 1170 11B4;D025;110F 1170 11B4;
+D026;D026;110F 1170 11B5;D026;110F 1170 11B5;
+D027;D027;110F 1170 11B6;D027;110F 1170 11B6;
+D028;D028;110F 1170 11B7;D028;110F 1170 11B7;
+D029;D029;110F 1170 11B8;D029;110F 1170 11B8;
+D02A;D02A;110F 1170 11B9;D02A;110F 1170 11B9;
+D02B;D02B;110F 1170 11BA;D02B;110F 1170 11BA;
+D02C;D02C;110F 1170 11BB;D02C;110F 1170 11BB;
+D02D;D02D;110F 1170 11BC;D02D;110F 1170 11BC;
+D02E;D02E;110F 1170 11BD;D02E;110F 1170 11BD;
+D02F;D02F;110F 1170 11BE;D02F;110F 1170 11BE;
+D030;D030;110F 1170 11BF;D030;110F 1170 11BF;
+D031;D031;110F 1170 11C0;D031;110F 1170 11C0;
+D032;D032;110F 1170 11C1;D032;110F 1170 11C1;
+D033;D033;110F 1170 11C2;D033;110F 1170 11C2;
+D034;D034;110F 1171;D034;110F 1171;
+D035;D035;110F 1171 11A8;D035;110F 1171 11A8;
+D036;D036;110F 1171 11A9;D036;110F 1171 11A9;
+D037;D037;110F 1171 11AA;D037;110F 1171 11AA;
+D038;D038;110F 1171 11AB;D038;110F 1171 11AB;
+D039;D039;110F 1171 11AC;D039;110F 1171 11AC;
+D03A;D03A;110F 1171 11AD;D03A;110F 1171 11AD;
+D03B;D03B;110F 1171 11AE;D03B;110F 1171 11AE;
+D03C;D03C;110F 1171 11AF;D03C;110F 1171 11AF;
+D03D;D03D;110F 1171 11B0;D03D;110F 1171 11B0;
+D03E;D03E;110F 1171 11B1;D03E;110F 1171 11B1;
+D03F;D03F;110F 1171 11B2;D03F;110F 1171 11B2;
+D040;D040;110F 1171 11B3;D040;110F 1171 11B3;
+D041;D041;110F 1171 11B4;D041;110F 1171 11B4;
+D042;D042;110F 1171 11B5;D042;110F 1171 11B5;
+D043;D043;110F 1171 11B6;D043;110F 1171 11B6;
+D044;D044;110F 1171 11B7;D044;110F 1171 11B7;
+D045;D045;110F 1171 11B8;D045;110F 1171 11B8;
+D046;D046;110F 1171 11B9;D046;110F 1171 11B9;
+D047;D047;110F 1171 11BA;D047;110F 1171 11BA;
+D048;D048;110F 1171 11BB;D048;110F 1171 11BB;
+D049;D049;110F 1171 11BC;D049;110F 1171 11BC;
+D04A;D04A;110F 1171 11BD;D04A;110F 1171 11BD;
+D04B;D04B;110F 1171 11BE;D04B;110F 1171 11BE;
+D04C;D04C;110F 1171 11BF;D04C;110F 1171 11BF;
+D04D;D04D;110F 1171 11C0;D04D;110F 1171 11C0;
+D04E;D04E;110F 1171 11C1;D04E;110F 1171 11C1;
+D04F;D04F;110F 1171 11C2;D04F;110F 1171 11C2;
+D050;D050;110F 1172;D050;110F 1172;
+D051;D051;110F 1172 11A8;D051;110F 1172 11A8;
+D052;D052;110F 1172 11A9;D052;110F 1172 11A9;
+D053;D053;110F 1172 11AA;D053;110F 1172 11AA;
+D054;D054;110F 1172 11AB;D054;110F 1172 11AB;
+D055;D055;110F 1172 11AC;D055;110F 1172 11AC;
+D056;D056;110F 1172 11AD;D056;110F 1172 11AD;
+D057;D057;110F 1172 11AE;D057;110F 1172 11AE;
+D058;D058;110F 1172 11AF;D058;110F 1172 11AF;
+D059;D059;110F 1172 11B0;D059;110F 1172 11B0;
+D05A;D05A;110F 1172 11B1;D05A;110F 1172 11B1;
+D05B;D05B;110F 1172 11B2;D05B;110F 1172 11B2;
+D05C;D05C;110F 1172 11B3;D05C;110F 1172 11B3;
+D05D;D05D;110F 1172 11B4;D05D;110F 1172 11B4;
+D05E;D05E;110F 1172 11B5;D05E;110F 1172 11B5;
+D05F;D05F;110F 1172 11B6;D05F;110F 1172 11B6;
+D060;D060;110F 1172 11B7;D060;110F 1172 11B7;
+D061;D061;110F 1172 11B8;D061;110F 1172 11B8;
+D062;D062;110F 1172 11B9;D062;110F 1172 11B9;
+D063;D063;110F 1172 11BA;D063;110F 1172 11BA;
+D064;D064;110F 1172 11BB;D064;110F 1172 11BB;
+D065;D065;110F 1172 11BC;D065;110F 1172 11BC;
+D066;D066;110F 1172 11BD;D066;110F 1172 11BD;
+D067;D067;110F 1172 11BE;D067;110F 1172 11BE;
+D068;D068;110F 1172 11BF;D068;110F 1172 11BF;
+D069;D069;110F 1172 11C0;D069;110F 1172 11C0;
+D06A;D06A;110F 1172 11C1;D06A;110F 1172 11C1;
+D06B;D06B;110F 1172 11C2;D06B;110F 1172 11C2;
+D06C;D06C;110F 1173;D06C;110F 1173;
+D06D;D06D;110F 1173 11A8;D06D;110F 1173 11A8;
+D06E;D06E;110F 1173 11A9;D06E;110F 1173 11A9;
+D06F;D06F;110F 1173 11AA;D06F;110F 1173 11AA;
+D070;D070;110F 1173 11AB;D070;110F 1173 11AB;
+D071;D071;110F 1173 11AC;D071;110F 1173 11AC;
+D072;D072;110F 1173 11AD;D072;110F 1173 11AD;
+D073;D073;110F 1173 11AE;D073;110F 1173 11AE;
+D074;D074;110F 1173 11AF;D074;110F 1173 11AF;
+D075;D075;110F 1173 11B0;D075;110F 1173 11B0;
+D076;D076;110F 1173 11B1;D076;110F 1173 11B1;
+D077;D077;110F 1173 11B2;D077;110F 1173 11B2;
+D078;D078;110F 1173 11B3;D078;110F 1173 11B3;
+D079;D079;110F 1173 11B4;D079;110F 1173 11B4;
+D07A;D07A;110F 1173 11B5;D07A;110F 1173 11B5;
+D07B;D07B;110F 1173 11B6;D07B;110F 1173 11B6;
+D07C;D07C;110F 1173 11B7;D07C;110F 1173 11B7;
+D07D;D07D;110F 1173 11B8;D07D;110F 1173 11B8;
+D07E;D07E;110F 1173 11B9;D07E;110F 1173 11B9;
+D07F;D07F;110F 1173 11BA;D07F;110F 1173 11BA;
+D080;D080;110F 1173 11BB;D080;110F 1173 11BB;
+D081;D081;110F 1173 11BC;D081;110F 1173 11BC;
+D082;D082;110F 1173 11BD;D082;110F 1173 11BD;
+D083;D083;110F 1173 11BE;D083;110F 1173 11BE;
+D084;D084;110F 1173 11BF;D084;110F 1173 11BF;
+D085;D085;110F 1173 11C0;D085;110F 1173 11C0;
+D086;D086;110F 1173 11C1;D086;110F 1173 11C1;
+D087;D087;110F 1173 11C2;D087;110F 1173 11C2;
+D088;D088;110F 1174;D088;110F 1174;
+D089;D089;110F 1174 11A8;D089;110F 1174 11A8;
+D08A;D08A;110F 1174 11A9;D08A;110F 1174 11A9;
+D08B;D08B;110F 1174 11AA;D08B;110F 1174 11AA;
+D08C;D08C;110F 1174 11AB;D08C;110F 1174 11AB;
+D08D;D08D;110F 1174 11AC;D08D;110F 1174 11AC;
+D08E;D08E;110F 1174 11AD;D08E;110F 1174 11AD;
+D08F;D08F;110F 1174 11AE;D08F;110F 1174 11AE;
+D090;D090;110F 1174 11AF;D090;110F 1174 11AF;
+D091;D091;110F 1174 11B0;D091;110F 1174 11B0;
+D092;D092;110F 1174 11B1;D092;110F 1174 11B1;
+D093;D093;110F 1174 11B2;D093;110F 1174 11B2;
+D094;D094;110F 1174 11B3;D094;110F 1174 11B3;
+D095;D095;110F 1174 11B4;D095;110F 1174 11B4;
+D096;D096;110F 1174 11B5;D096;110F 1174 11B5;
+D097;D097;110F 1174 11B6;D097;110F 1174 11B6;
+D098;D098;110F 1174 11B7;D098;110F 1174 11B7;
+D099;D099;110F 1174 11B8;D099;110F 1174 11B8;
+D09A;D09A;110F 1174 11B9;D09A;110F 1174 11B9;
+D09B;D09B;110F 1174 11BA;D09B;110F 1174 11BA;
+D09C;D09C;110F 1174 11BB;D09C;110F 1174 11BB;
+D09D;D09D;110F 1174 11BC;D09D;110F 1174 11BC;
+D09E;D09E;110F 1174 11BD;D09E;110F 1174 11BD;
+D09F;D09F;110F 1174 11BE;D09F;110F 1174 11BE;
+D0A0;D0A0;110F 1174 11BF;D0A0;110F 1174 11BF;
+D0A1;D0A1;110F 1174 11C0;D0A1;110F 1174 11C0;
+D0A2;D0A2;110F 1174 11C1;D0A2;110F 1174 11C1;
+D0A3;D0A3;110F 1174 11C2;D0A3;110F 1174 11C2;
+D0A4;D0A4;110F 1175;D0A4;110F 1175;
+D0A5;D0A5;110F 1175 11A8;D0A5;110F 1175 11A8;
+D0A6;D0A6;110F 1175 11A9;D0A6;110F 1175 11A9;
+D0A7;D0A7;110F 1175 11AA;D0A7;110F 1175 11AA;
+D0A8;D0A8;110F 1175 11AB;D0A8;110F 1175 11AB;
+D0A9;D0A9;110F 1175 11AC;D0A9;110F 1175 11AC;
+D0AA;D0AA;110F 1175 11AD;D0AA;110F 1175 11AD;
+D0AB;D0AB;110F 1175 11AE;D0AB;110F 1175 11AE;
+D0AC;D0AC;110F 1175 11AF;D0AC;110F 1175 11AF;
+D0AD;D0AD;110F 1175 11B0;D0AD;110F 1175 11B0;
+D0AE;D0AE;110F 1175 11B1;D0AE;110F 1175 11B1;
+D0AF;D0AF;110F 1175 11B2;D0AF;110F 1175 11B2;
+D0B0;D0B0;110F 1175 11B3;D0B0;110F 1175 11B3;
+D0B1;D0B1;110F 1175 11B4;D0B1;110F 1175 11B4;
+D0B2;D0B2;110F 1175 11B5;D0B2;110F 1175 11B5;
+D0B3;D0B3;110F 1175 11B6;D0B3;110F 1175 11B6;
+D0B4;D0B4;110F 1175 11B7;D0B4;110F 1175 11B7;
+D0B5;D0B5;110F 1175 11B8;D0B5;110F 1175 11B8;
+D0B6;D0B6;110F 1175 11B9;D0B6;110F 1175 11B9;
+D0B7;D0B7;110F 1175 11BA;D0B7;110F 1175 11BA;
+D0B8;D0B8;110F 1175 11BB;D0B8;110F 1175 11BB;
+D0B9;D0B9;110F 1175 11BC;D0B9;110F 1175 11BC;
+D0BA;D0BA;110F 1175 11BD;D0BA;110F 1175 11BD;
+D0BB;D0BB;110F 1175 11BE;D0BB;110F 1175 11BE;
+D0BC;D0BC;110F 1175 11BF;D0BC;110F 1175 11BF;
+D0BD;D0BD;110F 1175 11C0;D0BD;110F 1175 11C0;
+D0BE;D0BE;110F 1175 11C1;D0BE;110F 1175 11C1;
+D0BF;D0BF;110F 1175 11C2;D0BF;110F 1175 11C2;
+D0C0;D0C0;1110 1161;D0C0;1110 1161;
+D0C1;D0C1;1110 1161 11A8;D0C1;1110 1161 11A8;
+D0C2;D0C2;1110 1161 11A9;D0C2;1110 1161 11A9;
+D0C3;D0C3;1110 1161 11AA;D0C3;1110 1161 11AA;
+D0C4;D0C4;1110 1161 11AB;D0C4;1110 1161 11AB;
+D0C5;D0C5;1110 1161 11AC;D0C5;1110 1161 11AC;
+D0C6;D0C6;1110 1161 11AD;D0C6;1110 1161 11AD;
+D0C7;D0C7;1110 1161 11AE;D0C7;1110 1161 11AE;
+D0C8;D0C8;1110 1161 11AF;D0C8;1110 1161 11AF;
+D0C9;D0C9;1110 1161 11B0;D0C9;1110 1161 11B0;
+D0CA;D0CA;1110 1161 11B1;D0CA;1110 1161 11B1;
+D0CB;D0CB;1110 1161 11B2;D0CB;1110 1161 11B2;
+D0CC;D0CC;1110 1161 11B3;D0CC;1110 1161 11B3;
+D0CD;D0CD;1110 1161 11B4;D0CD;1110 1161 11B4;
+D0CE;D0CE;1110 1161 11B5;D0CE;1110 1161 11B5;
+D0CF;D0CF;1110 1161 11B6;D0CF;1110 1161 11B6;
+D0D0;D0D0;1110 1161 11B7;D0D0;1110 1161 11B7;
+D0D1;D0D1;1110 1161 11B8;D0D1;1110 1161 11B8;
+D0D2;D0D2;1110 1161 11B9;D0D2;1110 1161 11B9;
+D0D3;D0D3;1110 1161 11BA;D0D3;1110 1161 11BA;
+D0D4;D0D4;1110 1161 11BB;D0D4;1110 1161 11BB;
+D0D5;D0D5;1110 1161 11BC;D0D5;1110 1161 11BC;
+D0D6;D0D6;1110 1161 11BD;D0D6;1110 1161 11BD;
+D0D7;D0D7;1110 1161 11BE;D0D7;1110 1161 11BE;
+D0D8;D0D8;1110 1161 11BF;D0D8;1110 1161 11BF;
+D0D9;D0D9;1110 1161 11C0;D0D9;1110 1161 11C0;
+D0DA;D0DA;1110 1161 11C1;D0DA;1110 1161 11C1;
+D0DB;D0DB;1110 1161 11C2;D0DB;1110 1161 11C2;
+D0DC;D0DC;1110 1162;D0DC;1110 1162;
+D0DD;D0DD;1110 1162 11A8;D0DD;1110 1162 11A8;
+D0DE;D0DE;1110 1162 11A9;D0DE;1110 1162 11A9;
+D0DF;D0DF;1110 1162 11AA;D0DF;1110 1162 11AA;
+D0E0;D0E0;1110 1162 11AB;D0E0;1110 1162 11AB;
+D0E1;D0E1;1110 1162 11AC;D0E1;1110 1162 11AC;
+D0E2;D0E2;1110 1162 11AD;D0E2;1110 1162 11AD;
+D0E3;D0E3;1110 1162 11AE;D0E3;1110 1162 11AE;
+D0E4;D0E4;1110 1162 11AF;D0E4;1110 1162 11AF;
+D0E5;D0E5;1110 1162 11B0;D0E5;1110 1162 11B0;
+D0E6;D0E6;1110 1162 11B1;D0E6;1110 1162 11B1;
+D0E7;D0E7;1110 1162 11B2;D0E7;1110 1162 11B2;
+D0E8;D0E8;1110 1162 11B3;D0E8;1110 1162 11B3;
+D0E9;D0E9;1110 1162 11B4;D0E9;1110 1162 11B4;
+D0EA;D0EA;1110 1162 11B5;D0EA;1110 1162 11B5;
+D0EB;D0EB;1110 1162 11B6;D0EB;1110 1162 11B6;
+D0EC;D0EC;1110 1162 11B7;D0EC;1110 1162 11B7;
+D0ED;D0ED;1110 1162 11B8;D0ED;1110 1162 11B8;
+D0EE;D0EE;1110 1162 11B9;D0EE;1110 1162 11B9;
+D0EF;D0EF;1110 1162 11BA;D0EF;1110 1162 11BA;
+D0F0;D0F0;1110 1162 11BB;D0F0;1110 1162 11BB;
+D0F1;D0F1;1110 1162 11BC;D0F1;1110 1162 11BC;
+D0F2;D0F2;1110 1162 11BD;D0F2;1110 1162 11BD;
+D0F3;D0F3;1110 1162 11BE;D0F3;1110 1162 11BE;
+D0F4;D0F4;1110 1162 11BF;D0F4;1110 1162 11BF;
+D0F5;D0F5;1110 1162 11C0;D0F5;1110 1162 11C0;
+D0F6;D0F6;1110 1162 11C1;D0F6;1110 1162 11C1;
+D0F7;D0F7;1110 1162 11C2;D0F7;1110 1162 11C2;
+D0F8;D0F8;1110 1163;D0F8;1110 1163;
+D0F9;D0F9;1110 1163 11A8;D0F9;1110 1163 11A8;
+D0FA;D0FA;1110 1163 11A9;D0FA;1110 1163 11A9;
+D0FB;D0FB;1110 1163 11AA;D0FB;1110 1163 11AA;
+D0FC;D0FC;1110 1163 11AB;D0FC;1110 1163 11AB;
+D0FD;D0FD;1110 1163 11AC;D0FD;1110 1163 11AC;
+D0FE;D0FE;1110 1163 11AD;D0FE;1110 1163 11AD;
+D0FF;D0FF;1110 1163 11AE;D0FF;1110 1163 11AE;
+D100;D100;1110 1163 11AF;D100;1110 1163 11AF;
+D101;D101;1110 1163 11B0;D101;1110 1163 11B0;
+D102;D102;1110 1163 11B1;D102;1110 1163 11B1;
+D103;D103;1110 1163 11B2;D103;1110 1163 11B2;
+D104;D104;1110 1163 11B3;D104;1110 1163 11B3;
+D105;D105;1110 1163 11B4;D105;1110 1163 11B4;
+D106;D106;1110 1163 11B5;D106;1110 1163 11B5;
+D107;D107;1110 1163 11B6;D107;1110 1163 11B6;
+D108;D108;1110 1163 11B7;D108;1110 1163 11B7;
+D109;D109;1110 1163 11B8;D109;1110 1163 11B8;
+D10A;D10A;1110 1163 11B9;D10A;1110 1163 11B9;
+D10B;D10B;1110 1163 11BA;D10B;1110 1163 11BA;
+D10C;D10C;1110 1163 11BB;D10C;1110 1163 11BB;
+D10D;D10D;1110 1163 11BC;D10D;1110 1163 11BC;
+D10E;D10E;1110 1163 11BD;D10E;1110 1163 11BD;
+D10F;D10F;1110 1163 11BE;D10F;1110 1163 11BE;
+D110;D110;1110 1163 11BF;D110;1110 1163 11BF;
+D111;D111;1110 1163 11C0;D111;1110 1163 11C0;
+D112;D112;1110 1163 11C1;D112;1110 1163 11C1;
+D113;D113;1110 1163 11C2;D113;1110 1163 11C2;
+D114;D114;1110 1164;D114;1110 1164;
+D115;D115;1110 1164 11A8;D115;1110 1164 11A8;
+D116;D116;1110 1164 11A9;D116;1110 1164 11A9;
+D117;D117;1110 1164 11AA;D117;1110 1164 11AA;
+D118;D118;1110 1164 11AB;D118;1110 1164 11AB;
+D119;D119;1110 1164 11AC;D119;1110 1164 11AC;
+D11A;D11A;1110 1164 11AD;D11A;1110 1164 11AD;
+D11B;D11B;1110 1164 11AE;D11B;1110 1164 11AE;
+D11C;D11C;1110 1164 11AF;D11C;1110 1164 11AF;
+D11D;D11D;1110 1164 11B0;D11D;1110 1164 11B0;
+D11E;D11E;1110 1164 11B1;D11E;1110 1164 11B1;
+D11F;D11F;1110 1164 11B2;D11F;1110 1164 11B2;
+D120;D120;1110 1164 11B3;D120;1110 1164 11B3;
+D121;D121;1110 1164 11B4;D121;1110 1164 11B4;
+D122;D122;1110 1164 11B5;D122;1110 1164 11B5;
+D123;D123;1110 1164 11B6;D123;1110 1164 11B6;
+D124;D124;1110 1164 11B7;D124;1110 1164 11B7;
+D125;D125;1110 1164 11B8;D125;1110 1164 11B8;
+D126;D126;1110 1164 11B9;D126;1110 1164 11B9;
+D127;D127;1110 1164 11BA;D127;1110 1164 11BA;
+D128;D128;1110 1164 11BB;D128;1110 1164 11BB;
+D129;D129;1110 1164 11BC;D129;1110 1164 11BC;
+D12A;D12A;1110 1164 11BD;D12A;1110 1164 11BD;
+D12B;D12B;1110 1164 11BE;D12B;1110 1164 11BE;
+D12C;D12C;1110 1164 11BF;D12C;1110 1164 11BF;
+D12D;D12D;1110 1164 11C0;D12D;1110 1164 11C0;
+D12E;D12E;1110 1164 11C1;D12E;1110 1164 11C1;
+D12F;D12F;1110 1164 11C2;D12F;1110 1164 11C2;
+D130;D130;1110 1165;D130;1110 1165;
+D131;D131;1110 1165 11A8;D131;1110 1165 11A8;
+D132;D132;1110 1165 11A9;D132;1110 1165 11A9;
+D133;D133;1110 1165 11AA;D133;1110 1165 11AA;
+D134;D134;1110 1165 11AB;D134;1110 1165 11AB;
+D135;D135;1110 1165 11AC;D135;1110 1165 11AC;
+D136;D136;1110 1165 11AD;D136;1110 1165 11AD;
+D137;D137;1110 1165 11AE;D137;1110 1165 11AE;
+D138;D138;1110 1165 11AF;D138;1110 1165 11AF;
+D139;D139;1110 1165 11B0;D139;1110 1165 11B0;
+D13A;D13A;1110 1165 11B1;D13A;1110 1165 11B1;
+D13B;D13B;1110 1165 11B2;D13B;1110 1165 11B2;
+D13C;D13C;1110 1165 11B3;D13C;1110 1165 11B3;
+D13D;D13D;1110 1165 11B4;D13D;1110 1165 11B4;
+D13E;D13E;1110 1165 11B5;D13E;1110 1165 11B5;
+D13F;D13F;1110 1165 11B6;D13F;1110 1165 11B6;
+D140;D140;1110 1165 11B7;D140;1110 1165 11B7;
+D141;D141;1110 1165 11B8;D141;1110 1165 11B8;
+D142;D142;1110 1165 11B9;D142;1110 1165 11B9;
+D143;D143;1110 1165 11BA;D143;1110 1165 11BA;
+D144;D144;1110 1165 11BB;D144;1110 1165 11BB;
+D145;D145;1110 1165 11BC;D145;1110 1165 11BC;
+D146;D146;1110 1165 11BD;D146;1110 1165 11BD;
+D147;D147;1110 1165 11BE;D147;1110 1165 11BE;
+D148;D148;1110 1165 11BF;D148;1110 1165 11BF;
+D149;D149;1110 1165 11C0;D149;1110 1165 11C0;
+D14A;D14A;1110 1165 11C1;D14A;1110 1165 11C1;
+D14B;D14B;1110 1165 11C2;D14B;1110 1165 11C2;
+D14C;D14C;1110 1166;D14C;1110 1166;
+D14D;D14D;1110 1166 11A8;D14D;1110 1166 11A8;
+D14E;D14E;1110 1166 11A9;D14E;1110 1166 11A9;
+D14F;D14F;1110 1166 11AA;D14F;1110 1166 11AA;
+D150;D150;1110 1166 11AB;D150;1110 1166 11AB;
+D151;D151;1110 1166 11AC;D151;1110 1166 11AC;
+D152;D152;1110 1166 11AD;D152;1110 1166 11AD;
+D153;D153;1110 1166 11AE;D153;1110 1166 11AE;
+D154;D154;1110 1166 11AF;D154;1110 1166 11AF;
+D155;D155;1110 1166 11B0;D155;1110 1166 11B0;
+D156;D156;1110 1166 11B1;D156;1110 1166 11B1;
+D157;D157;1110 1166 11B2;D157;1110 1166 11B2;
+D158;D158;1110 1166 11B3;D158;1110 1166 11B3;
+D159;D159;1110 1166 11B4;D159;1110 1166 11B4;
+D15A;D15A;1110 1166 11B5;D15A;1110 1166 11B5;
+D15B;D15B;1110 1166 11B6;D15B;1110 1166 11B6;
+D15C;D15C;1110 1166 11B7;D15C;1110 1166 11B7;
+D15D;D15D;1110 1166 11B8;D15D;1110 1166 11B8;
+D15E;D15E;1110 1166 11B9;D15E;1110 1166 11B9;
+D15F;D15F;1110 1166 11BA;D15F;1110 1166 11BA;
+D160;D160;1110 1166 11BB;D160;1110 1166 11BB;
+D161;D161;1110 1166 11BC;D161;1110 1166 11BC;
+D162;D162;1110 1166 11BD;D162;1110 1166 11BD;
+D163;D163;1110 1166 11BE;D163;1110 1166 11BE;
+D164;D164;1110 1166 11BF;D164;1110 1166 11BF;
+D165;D165;1110 1166 11C0;D165;1110 1166 11C0;
+D166;D166;1110 1166 11C1;D166;1110 1166 11C1;
+D167;D167;1110 1166 11C2;D167;1110 1166 11C2;
+D168;D168;1110 1167;D168;1110 1167;
+D169;D169;1110 1167 11A8;D169;1110 1167 11A8;
+D16A;D16A;1110 1167 11A9;D16A;1110 1167 11A9;
+D16B;D16B;1110 1167 11AA;D16B;1110 1167 11AA;
+D16C;D16C;1110 1167 11AB;D16C;1110 1167 11AB;
+D16D;D16D;1110 1167 11AC;D16D;1110 1167 11AC;
+D16E;D16E;1110 1167 11AD;D16E;1110 1167 11AD;
+D16F;D16F;1110 1167 11AE;D16F;1110 1167 11AE;
+D170;D170;1110 1167 11AF;D170;1110 1167 11AF;
+D171;D171;1110 1167 11B0;D171;1110 1167 11B0;
+D172;D172;1110 1167 11B1;D172;1110 1167 11B1;
+D173;D173;1110 1167 11B2;D173;1110 1167 11B2;
+D174;D174;1110 1167 11B3;D174;1110 1167 11B3;
+D175;D175;1110 1167 11B4;D175;1110 1167 11B4;
+D176;D176;1110 1167 11B5;D176;1110 1167 11B5;
+D177;D177;1110 1167 11B6;D177;1110 1167 11B6;
+D178;D178;1110 1167 11B7;D178;1110 1167 11B7;
+D179;D179;1110 1167 11B8;D179;1110 1167 11B8;
+D17A;D17A;1110 1167 11B9;D17A;1110 1167 11B9;
+D17B;D17B;1110 1167 11BA;D17B;1110 1167 11BA;
+D17C;D17C;1110 1167 11BB;D17C;1110 1167 11BB;
+D17D;D17D;1110 1167 11BC;D17D;1110 1167 11BC;
+D17E;D17E;1110 1167 11BD;D17E;1110 1167 11BD;
+D17F;D17F;1110 1167 11BE;D17F;1110 1167 11BE;
+D180;D180;1110 1167 11BF;D180;1110 1167 11BF;
+D181;D181;1110 1167 11C0;D181;1110 1167 11C0;
+D182;D182;1110 1167 11C1;D182;1110 1167 11C1;
+D183;D183;1110 1167 11C2;D183;1110 1167 11C2;
+D184;D184;1110 1168;D184;1110 1168;
+D185;D185;1110 1168 11A8;D185;1110 1168 11A8;
+D186;D186;1110 1168 11A9;D186;1110 1168 11A9;
+D187;D187;1110 1168 11AA;D187;1110 1168 11AA;
+D188;D188;1110 1168 11AB;D188;1110 1168 11AB;
+D189;D189;1110 1168 11AC;D189;1110 1168 11AC;
+D18A;D18A;1110 1168 11AD;D18A;1110 1168 11AD;
+D18B;D18B;1110 1168 11AE;D18B;1110 1168 11AE;
+D18C;D18C;1110 1168 11AF;D18C;1110 1168 11AF;
+D18D;D18D;1110 1168 11B0;D18D;1110 1168 11B0;
+D18E;D18E;1110 1168 11B1;D18E;1110 1168 11B1;
+D18F;D18F;1110 1168 11B2;D18F;1110 1168 11B2;
+D190;D190;1110 1168 11B3;D190;1110 1168 11B3;
+D191;D191;1110 1168 11B4;D191;1110 1168 11B4;
+D192;D192;1110 1168 11B5;D192;1110 1168 11B5;
+D193;D193;1110 1168 11B6;D193;1110 1168 11B6;
+D194;D194;1110 1168 11B7;D194;1110 1168 11B7;
+D195;D195;1110 1168 11B8;D195;1110 1168 11B8;
+D196;D196;1110 1168 11B9;D196;1110 1168 11B9;
+D197;D197;1110 1168 11BA;D197;1110 1168 11BA;
+D198;D198;1110 1168 11BB;D198;1110 1168 11BB;
+D199;D199;1110 1168 11BC;D199;1110 1168 11BC;
+D19A;D19A;1110 1168 11BD;D19A;1110 1168 11BD;
+D19B;D19B;1110 1168 11BE;D19B;1110 1168 11BE;
+D19C;D19C;1110 1168 11BF;D19C;1110 1168 11BF;
+D19D;D19D;1110 1168 11C0;D19D;1110 1168 11C0;
+D19E;D19E;1110 1168 11C1;D19E;1110 1168 11C1;
+D19F;D19F;1110 1168 11C2;D19F;1110 1168 11C2;
+D1A0;D1A0;1110 1169;D1A0;1110 1169;
+D1A1;D1A1;1110 1169 11A8;D1A1;1110 1169 11A8;
+D1A2;D1A2;1110 1169 11A9;D1A2;1110 1169 11A9;
+D1A3;D1A3;1110 1169 11AA;D1A3;1110 1169 11AA;
+D1A4;D1A4;1110 1169 11AB;D1A4;1110 1169 11AB;
+D1A5;D1A5;1110 1169 11AC;D1A5;1110 1169 11AC;
+D1A6;D1A6;1110 1169 11AD;D1A6;1110 1169 11AD;
+D1A7;D1A7;1110 1169 11AE;D1A7;1110 1169 11AE;
+D1A8;D1A8;1110 1169 11AF;D1A8;1110 1169 11AF;
+D1A9;D1A9;1110 1169 11B0;D1A9;1110 1169 11B0;
+D1AA;D1AA;1110 1169 11B1;D1AA;1110 1169 11B1;
+D1AB;D1AB;1110 1169 11B2;D1AB;1110 1169 11B2;
+D1AC;D1AC;1110 1169 11B3;D1AC;1110 1169 11B3;
+D1AD;D1AD;1110 1169 11B4;D1AD;1110 1169 11B4;
+D1AE;D1AE;1110 1169 11B5;D1AE;1110 1169 11B5;
+D1AF;D1AF;1110 1169 11B6;D1AF;1110 1169 11B6;
+D1B0;D1B0;1110 1169 11B7;D1B0;1110 1169 11B7;
+D1B1;D1B1;1110 1169 11B8;D1B1;1110 1169 11B8;
+D1B2;D1B2;1110 1169 11B9;D1B2;1110 1169 11B9;
+D1B3;D1B3;1110 1169 11BA;D1B3;1110 1169 11BA;
+D1B4;D1B4;1110 1169 11BB;D1B4;1110 1169 11BB;
+D1B5;D1B5;1110 1169 11BC;D1B5;1110 1169 11BC;
+D1B6;D1B6;1110 1169 11BD;D1B6;1110 1169 11BD;
+D1B7;D1B7;1110 1169 11BE;D1B7;1110 1169 11BE;
+D1B8;D1B8;1110 1169 11BF;D1B8;1110 1169 11BF;
+D1B9;D1B9;1110 1169 11C0;D1B9;1110 1169 11C0;
+D1BA;D1BA;1110 1169 11C1;D1BA;1110 1169 11C1;
+D1BB;D1BB;1110 1169 11C2;D1BB;1110 1169 11C2;
+D1BC;D1BC;1110 116A;D1BC;1110 116A;
+D1BD;D1BD;1110 116A 11A8;D1BD;1110 116A 11A8;
+D1BE;D1BE;1110 116A 11A9;D1BE;1110 116A 11A9;
+D1BF;D1BF;1110 116A 11AA;D1BF;1110 116A 11AA;
+D1C0;D1C0;1110 116A 11AB;D1C0;1110 116A 11AB;
+D1C1;D1C1;1110 116A 11AC;D1C1;1110 116A 11AC;
+D1C2;D1C2;1110 116A 11AD;D1C2;1110 116A 11AD;
+D1C3;D1C3;1110 116A 11AE;D1C3;1110 116A 11AE;
+D1C4;D1C4;1110 116A 11AF;D1C4;1110 116A 11AF;
+D1C5;D1C5;1110 116A 11B0;D1C5;1110 116A 11B0;
+D1C6;D1C6;1110 116A 11B1;D1C6;1110 116A 11B1;
+D1C7;D1C7;1110 116A 11B2;D1C7;1110 116A 11B2;
+D1C8;D1C8;1110 116A 11B3;D1C8;1110 116A 11B3;
+D1C9;D1C9;1110 116A 11B4;D1C9;1110 116A 11B4;
+D1CA;D1CA;1110 116A 11B5;D1CA;1110 116A 11B5;
+D1CB;D1CB;1110 116A 11B6;D1CB;1110 116A 11B6;
+D1CC;D1CC;1110 116A 11B7;D1CC;1110 116A 11B7;
+D1CD;D1CD;1110 116A 11B8;D1CD;1110 116A 11B8;
+D1CE;D1CE;1110 116A 11B9;D1CE;1110 116A 11B9;
+D1CF;D1CF;1110 116A 11BA;D1CF;1110 116A 11BA;
+D1D0;D1D0;1110 116A 11BB;D1D0;1110 116A 11BB;
+D1D1;D1D1;1110 116A 11BC;D1D1;1110 116A 11BC;
+D1D2;D1D2;1110 116A 11BD;D1D2;1110 116A 11BD;
+D1D3;D1D3;1110 116A 11BE;D1D3;1110 116A 11BE;
+D1D4;D1D4;1110 116A 11BF;D1D4;1110 116A 11BF;
+D1D5;D1D5;1110 116A 11C0;D1D5;1110 116A 11C0;
+D1D6;D1D6;1110 116A 11C1;D1D6;1110 116A 11C1;
+D1D7;D1D7;1110 116A 11C2;D1D7;1110 116A 11C2;
+D1D8;D1D8;1110 116B;D1D8;1110 116B;
+D1D9;D1D9;1110 116B 11A8;D1D9;1110 116B 11A8;
+D1DA;D1DA;1110 116B 11A9;D1DA;1110 116B 11A9;
+D1DB;D1DB;1110 116B 11AA;D1DB;1110 116B 11AA;
+D1DC;D1DC;1110 116B 11AB;D1DC;1110 116B 11AB;
+D1DD;D1DD;1110 116B 11AC;D1DD;1110 116B 11AC;
+D1DE;D1DE;1110 116B 11AD;D1DE;1110 116B 11AD;
+D1DF;D1DF;1110 116B 11AE;D1DF;1110 116B 11AE;
+D1E0;D1E0;1110 116B 11AF;D1E0;1110 116B 11AF;
+D1E1;D1E1;1110 116B 11B0;D1E1;1110 116B 11B0;
+D1E2;D1E2;1110 116B 11B1;D1E2;1110 116B 11B1;
+D1E3;D1E3;1110 116B 11B2;D1E3;1110 116B 11B2;
+D1E4;D1E4;1110 116B 11B3;D1E4;1110 116B 11B3;
+D1E5;D1E5;1110 116B 11B4;D1E5;1110 116B 11B4;
+D1E6;D1E6;1110 116B 11B5;D1E6;1110 116B 11B5;
+D1E7;D1E7;1110 116B 11B6;D1E7;1110 116B 11B6;
+D1E8;D1E8;1110 116B 11B7;D1E8;1110 116B 11B7;
+D1E9;D1E9;1110 116B 11B8;D1E9;1110 116B 11B8;
+D1EA;D1EA;1110 116B 11B9;D1EA;1110 116B 11B9;
+D1EB;D1EB;1110 116B 11BA;D1EB;1110 116B 11BA;
+D1EC;D1EC;1110 116B 11BB;D1EC;1110 116B 11BB;
+D1ED;D1ED;1110 116B 11BC;D1ED;1110 116B 11BC;
+D1EE;D1EE;1110 116B 11BD;D1EE;1110 116B 11BD;
+D1EF;D1EF;1110 116B 11BE;D1EF;1110 116B 11BE;
+D1F0;D1F0;1110 116B 11BF;D1F0;1110 116B 11BF;
+D1F1;D1F1;1110 116B 11C0;D1F1;1110 116B 11C0;
+D1F2;D1F2;1110 116B 11C1;D1F2;1110 116B 11C1;
+D1F3;D1F3;1110 116B 11C2;D1F3;1110 116B 11C2;
+D1F4;D1F4;1110 116C;D1F4;1110 116C;
+D1F5;D1F5;1110 116C 11A8;D1F5;1110 116C 11A8;
+D1F6;D1F6;1110 116C 11A9;D1F6;1110 116C 11A9;
+D1F7;D1F7;1110 116C 11AA;D1F7;1110 116C 11AA;
+D1F8;D1F8;1110 116C 11AB;D1F8;1110 116C 11AB;
+D1F9;D1F9;1110 116C 11AC;D1F9;1110 116C 11AC;
+D1FA;D1FA;1110 116C 11AD;D1FA;1110 116C 11AD;
+D1FB;D1FB;1110 116C 11AE;D1FB;1110 116C 11AE;
+D1FC;D1FC;1110 116C 11AF;D1FC;1110 116C 11AF;
+D1FD;D1FD;1110 116C 11B0;D1FD;1110 116C 11B0;
+D1FE;D1FE;1110 116C 11B1;D1FE;1110 116C 11B1;
+D1FF;D1FF;1110 116C 11B2;D1FF;1110 116C 11B2;
+D200;D200;1110 116C 11B3;D200;1110 116C 11B3;
+D201;D201;1110 116C 11B4;D201;1110 116C 11B4;
+D202;D202;1110 116C 11B5;D202;1110 116C 11B5;
+D203;D203;1110 116C 11B6;D203;1110 116C 11B6;
+D204;D204;1110 116C 11B7;D204;1110 116C 11B7;
+D205;D205;1110 116C 11B8;D205;1110 116C 11B8;
+D206;D206;1110 116C 11B9;D206;1110 116C 11B9;
+D207;D207;1110 116C 11BA;D207;1110 116C 11BA;
+D208;D208;1110 116C 11BB;D208;1110 116C 11BB;
+D209;D209;1110 116C 11BC;D209;1110 116C 11BC;
+D20A;D20A;1110 116C 11BD;D20A;1110 116C 11BD;
+D20B;D20B;1110 116C 11BE;D20B;1110 116C 11BE;
+D20C;D20C;1110 116C 11BF;D20C;1110 116C 11BF;
+D20D;D20D;1110 116C 11C0;D20D;1110 116C 11C0;
+D20E;D20E;1110 116C 11C1;D20E;1110 116C 11C1;
+D20F;D20F;1110 116C 11C2;D20F;1110 116C 11C2;
+D210;D210;1110 116D;D210;1110 116D;
+D211;D211;1110 116D 11A8;D211;1110 116D 11A8;
+D212;D212;1110 116D 11A9;D212;1110 116D 11A9;
+D213;D213;1110 116D 11AA;D213;1110 116D 11AA;
+D214;D214;1110 116D 11AB;D214;1110 116D 11AB;
+D215;D215;1110 116D 11AC;D215;1110 116D 11AC;
+D216;D216;1110 116D 11AD;D216;1110 116D 11AD;
+D217;D217;1110 116D 11AE;D217;1110 116D 11AE;
+D218;D218;1110 116D 11AF;D218;1110 116D 11AF;
+D219;D219;1110 116D 11B0;D219;1110 116D 11B0;
+D21A;D21A;1110 116D 11B1;D21A;1110 116D 11B1;
+D21B;D21B;1110 116D 11B2;D21B;1110 116D 11B2;
+D21C;D21C;1110 116D 11B3;D21C;1110 116D 11B3;
+D21D;D21D;1110 116D 11B4;D21D;1110 116D 11B4;
+D21E;D21E;1110 116D 11B5;D21E;1110 116D 11B5;
+D21F;D21F;1110 116D 11B6;D21F;1110 116D 11B6;
+D220;D220;1110 116D 11B7;D220;1110 116D 11B7;
+D221;D221;1110 116D 11B8;D221;1110 116D 11B8;
+D222;D222;1110 116D 11B9;D222;1110 116D 11B9;
+D223;D223;1110 116D 11BA;D223;1110 116D 11BA;
+D224;D224;1110 116D 11BB;D224;1110 116D 11BB;
+D225;D225;1110 116D 11BC;D225;1110 116D 11BC;
+D226;D226;1110 116D 11BD;D226;1110 116D 11BD;
+D227;D227;1110 116D 11BE;D227;1110 116D 11BE;
+D228;D228;1110 116D 11BF;D228;1110 116D 11BF;
+D229;D229;1110 116D 11C0;D229;1110 116D 11C0;
+D22A;D22A;1110 116D 11C1;D22A;1110 116D 11C1;
+D22B;D22B;1110 116D 11C2;D22B;1110 116D 11C2;
+D22C;D22C;1110 116E;D22C;1110 116E;
+D22D;D22D;1110 116E 11A8;D22D;1110 116E 11A8;
+D22E;D22E;1110 116E 11A9;D22E;1110 116E 11A9;
+D22F;D22F;1110 116E 11AA;D22F;1110 116E 11AA;
+D230;D230;1110 116E 11AB;D230;1110 116E 11AB;
+D231;D231;1110 116E 11AC;D231;1110 116E 11AC;
+D232;D232;1110 116E 11AD;D232;1110 116E 11AD;
+D233;D233;1110 116E 11AE;D233;1110 116E 11AE;
+D234;D234;1110 116E 11AF;D234;1110 116E 11AF;
+D235;D235;1110 116E 11B0;D235;1110 116E 11B0;
+D236;D236;1110 116E 11B1;D236;1110 116E 11B1;
+D237;D237;1110 116E 11B2;D237;1110 116E 11B2;
+D238;D238;1110 116E 11B3;D238;1110 116E 11B3;
+D239;D239;1110 116E 11B4;D239;1110 116E 11B4;
+D23A;D23A;1110 116E 11B5;D23A;1110 116E 11B5;
+D23B;D23B;1110 116E 11B6;D23B;1110 116E 11B6;
+D23C;D23C;1110 116E 11B7;D23C;1110 116E 11B7;
+D23D;D23D;1110 116E 11B8;D23D;1110 116E 11B8;
+D23E;D23E;1110 116E 11B9;D23E;1110 116E 11B9;
+D23F;D23F;1110 116E 11BA;D23F;1110 116E 11BA;
+D240;D240;1110 116E 11BB;D240;1110 116E 11BB;
+D241;D241;1110 116E 11BC;D241;1110 116E 11BC;
+D242;D242;1110 116E 11BD;D242;1110 116E 11BD;
+D243;D243;1110 116E 11BE;D243;1110 116E 11BE;
+D244;D244;1110 116E 11BF;D244;1110 116E 11BF;
+D245;D245;1110 116E 11C0;D245;1110 116E 11C0;
+D246;D246;1110 116E 11C1;D246;1110 116E 11C1;
+D247;D247;1110 116E 11C2;D247;1110 116E 11C2;
+D248;D248;1110 116F;D248;1110 116F;
+D249;D249;1110 116F 11A8;D249;1110 116F 11A8;
+D24A;D24A;1110 116F 11A9;D24A;1110 116F 11A9;
+D24B;D24B;1110 116F 11AA;D24B;1110 116F 11AA;
+D24C;D24C;1110 116F 11AB;D24C;1110 116F 11AB;
+D24D;D24D;1110 116F 11AC;D24D;1110 116F 11AC;
+D24E;D24E;1110 116F 11AD;D24E;1110 116F 11AD;
+D24F;D24F;1110 116F 11AE;D24F;1110 116F 11AE;
+D250;D250;1110 116F 11AF;D250;1110 116F 11AF;
+D251;D251;1110 116F 11B0;D251;1110 116F 11B0;
+D252;D252;1110 116F 11B1;D252;1110 116F 11B1;
+D253;D253;1110 116F 11B2;D253;1110 116F 11B2;
+D254;D254;1110 116F 11B3;D254;1110 116F 11B3;
+D255;D255;1110 116F 11B4;D255;1110 116F 11B4;
+D256;D256;1110 116F 11B5;D256;1110 116F 11B5;
+D257;D257;1110 116F 11B6;D257;1110 116F 11B6;
+D258;D258;1110 116F 11B7;D258;1110 116F 11B7;
+D259;D259;1110 116F 11B8;D259;1110 116F 11B8;
+D25A;D25A;1110 116F 11B9;D25A;1110 116F 11B9;
+D25B;D25B;1110 116F 11BA;D25B;1110 116F 11BA;
+D25C;D25C;1110 116F 11BB;D25C;1110 116F 11BB;
+D25D;D25D;1110 116F 11BC;D25D;1110 116F 11BC;
+D25E;D25E;1110 116F 11BD;D25E;1110 116F 11BD;
+D25F;D25F;1110 116F 11BE;D25F;1110 116F 11BE;
+D260;D260;1110 116F 11BF;D260;1110 116F 11BF;
+D261;D261;1110 116F 11C0;D261;1110 116F 11C0;
+D262;D262;1110 116F 11C1;D262;1110 116F 11C1;
+D263;D263;1110 116F 11C2;D263;1110 116F 11C2;
+D264;D264;1110 1170;D264;1110 1170;
+D265;D265;1110 1170 11A8;D265;1110 1170 11A8;
+D266;D266;1110 1170 11A9;D266;1110 1170 11A9;
+D267;D267;1110 1170 11AA;D267;1110 1170 11AA;
+D268;D268;1110 1170 11AB;D268;1110 1170 11AB;
+D269;D269;1110 1170 11AC;D269;1110 1170 11AC;
+D26A;D26A;1110 1170 11AD;D26A;1110 1170 11AD;
+D26B;D26B;1110 1170 11AE;D26B;1110 1170 11AE;
+D26C;D26C;1110 1170 11AF;D26C;1110 1170 11AF;
+D26D;D26D;1110 1170 11B0;D26D;1110 1170 11B0;
+D26E;D26E;1110 1170 11B1;D26E;1110 1170 11B1;
+D26F;D26F;1110 1170 11B2;D26F;1110 1170 11B2;
+D270;D270;1110 1170 11B3;D270;1110 1170 11B3;
+D271;D271;1110 1170 11B4;D271;1110 1170 11B4;
+D272;D272;1110 1170 11B5;D272;1110 1170 11B5;
+D273;D273;1110 1170 11B6;D273;1110 1170 11B6;
+D274;D274;1110 1170 11B7;D274;1110 1170 11B7;
+D275;D275;1110 1170 11B8;D275;1110 1170 11B8;
+D276;D276;1110 1170 11B9;D276;1110 1170 11B9;
+D277;D277;1110 1170 11BA;D277;1110 1170 11BA;
+D278;D278;1110 1170 11BB;D278;1110 1170 11BB;
+D279;D279;1110 1170 11BC;D279;1110 1170 11BC;
+D27A;D27A;1110 1170 11BD;D27A;1110 1170 11BD;
+D27B;D27B;1110 1170 11BE;D27B;1110 1170 11BE;
+D27C;D27C;1110 1170 11BF;D27C;1110 1170 11BF;
+D27D;D27D;1110 1170 11C0;D27D;1110 1170 11C0;
+D27E;D27E;1110 1170 11C1;D27E;1110 1170 11C1;
+D27F;D27F;1110 1170 11C2;D27F;1110 1170 11C2;
+D280;D280;1110 1171;D280;1110 1171;
+D281;D281;1110 1171 11A8;D281;1110 1171 11A8;
+D282;D282;1110 1171 11A9;D282;1110 1171 11A9;
+D283;D283;1110 1171 11AA;D283;1110 1171 11AA;
+D284;D284;1110 1171 11AB;D284;1110 1171 11AB;
+D285;D285;1110 1171 11AC;D285;1110 1171 11AC;
+D286;D286;1110 1171 11AD;D286;1110 1171 11AD;
+D287;D287;1110 1171 11AE;D287;1110 1171 11AE;
+D288;D288;1110 1171 11AF;D288;1110 1171 11AF;
+D289;D289;1110 1171 11B0;D289;1110 1171 11B0;
+D28A;D28A;1110 1171 11B1;D28A;1110 1171 11B1;
+D28B;D28B;1110 1171 11B2;D28B;1110 1171 11B2;
+D28C;D28C;1110 1171 11B3;D28C;1110 1171 11B3;
+D28D;D28D;1110 1171 11B4;D28D;1110 1171 11B4;
+D28E;D28E;1110 1171 11B5;D28E;1110 1171 11B5;
+D28F;D28F;1110 1171 11B6;D28F;1110 1171 11B6;
+D290;D290;1110 1171 11B7;D290;1110 1171 11B7;
+D291;D291;1110 1171 11B8;D291;1110 1171 11B8;
+D292;D292;1110 1171 11B9;D292;1110 1171 11B9;
+D293;D293;1110 1171 11BA;D293;1110 1171 11BA;
+D294;D294;1110 1171 11BB;D294;1110 1171 11BB;
+D295;D295;1110 1171 11BC;D295;1110 1171 11BC;
+D296;D296;1110 1171 11BD;D296;1110 1171 11BD;
+D297;D297;1110 1171 11BE;D297;1110 1171 11BE;
+D298;D298;1110 1171 11BF;D298;1110 1171 11BF;
+D299;D299;1110 1171 11C0;D299;1110 1171 11C0;
+D29A;D29A;1110 1171 11C1;D29A;1110 1171 11C1;
+D29B;D29B;1110 1171 11C2;D29B;1110 1171 11C2;
+D29C;D29C;1110 1172;D29C;1110 1172;
+D29D;D29D;1110 1172 11A8;D29D;1110 1172 11A8;
+D29E;D29E;1110 1172 11A9;D29E;1110 1172 11A9;
+D29F;D29F;1110 1172 11AA;D29F;1110 1172 11AA;
+D2A0;D2A0;1110 1172 11AB;D2A0;1110 1172 11AB;
+D2A1;D2A1;1110 1172 11AC;D2A1;1110 1172 11AC;
+D2A2;D2A2;1110 1172 11AD;D2A2;1110 1172 11AD;
+D2A3;D2A3;1110 1172 11AE;D2A3;1110 1172 11AE;
+D2A4;D2A4;1110 1172 11AF;D2A4;1110 1172 11AF;
+D2A5;D2A5;1110 1172 11B0;D2A5;1110 1172 11B0;
+D2A6;D2A6;1110 1172 11B1;D2A6;1110 1172 11B1;
+D2A7;D2A7;1110 1172 11B2;D2A7;1110 1172 11B2;
+D2A8;D2A8;1110 1172 11B3;D2A8;1110 1172 11B3;
+D2A9;D2A9;1110 1172 11B4;D2A9;1110 1172 11B4;
+D2AA;D2AA;1110 1172 11B5;D2AA;1110 1172 11B5;
+D2AB;D2AB;1110 1172 11B6;D2AB;1110 1172 11B6;
+D2AC;D2AC;1110 1172 11B7;D2AC;1110 1172 11B7;
+D2AD;D2AD;1110 1172 11B8;D2AD;1110 1172 11B8;
+D2AE;D2AE;1110 1172 11B9;D2AE;1110 1172 11B9;
+D2AF;D2AF;1110 1172 11BA;D2AF;1110 1172 11BA;
+D2B0;D2B0;1110 1172 11BB;D2B0;1110 1172 11BB;
+D2B1;D2B1;1110 1172 11BC;D2B1;1110 1172 11BC;
+D2B2;D2B2;1110 1172 11BD;D2B2;1110 1172 11BD;
+D2B3;D2B3;1110 1172 11BE;D2B3;1110 1172 11BE;
+D2B4;D2B4;1110 1172 11BF;D2B4;1110 1172 11BF;
+D2B5;D2B5;1110 1172 11C0;D2B5;1110 1172 11C0;
+D2B6;D2B6;1110 1172 11C1;D2B6;1110 1172 11C1;
+D2B7;D2B7;1110 1172 11C2;D2B7;1110 1172 11C2;
+D2B8;D2B8;1110 1173;D2B8;1110 1173;
+D2B9;D2B9;1110 1173 11A8;D2B9;1110 1173 11A8;
+D2BA;D2BA;1110 1173 11A9;D2BA;1110 1173 11A9;
+D2BB;D2BB;1110 1173 11AA;D2BB;1110 1173 11AA;
+D2BC;D2BC;1110 1173 11AB;D2BC;1110 1173 11AB;
+D2BD;D2BD;1110 1173 11AC;D2BD;1110 1173 11AC;
+D2BE;D2BE;1110 1173 11AD;D2BE;1110 1173 11AD;
+D2BF;D2BF;1110 1173 11AE;D2BF;1110 1173 11AE;
+D2C0;D2C0;1110 1173 11AF;D2C0;1110 1173 11AF;
+D2C1;D2C1;1110 1173 11B0;D2C1;1110 1173 11B0;
+D2C2;D2C2;1110 1173 11B1;D2C2;1110 1173 11B1;
+D2C3;D2C3;1110 1173 11B2;D2C3;1110 1173 11B2;
+D2C4;D2C4;1110 1173 11B3;D2C4;1110 1173 11B3;
+D2C5;D2C5;1110 1173 11B4;D2C5;1110 1173 11B4;
+D2C6;D2C6;1110 1173 11B5;D2C6;1110 1173 11B5;
+D2C7;D2C7;1110 1173 11B6;D2C7;1110 1173 11B6;
+D2C8;D2C8;1110 1173 11B7;D2C8;1110 1173 11B7;
+D2C9;D2C9;1110 1173 11B8;D2C9;1110 1173 11B8;
+D2CA;D2CA;1110 1173 11B9;D2CA;1110 1173 11B9;
+D2CB;D2CB;1110 1173 11BA;D2CB;1110 1173 11BA;
+D2CC;D2CC;1110 1173 11BB;D2CC;1110 1173 11BB;
+D2CD;D2CD;1110 1173 11BC;D2CD;1110 1173 11BC;
+D2CE;D2CE;1110 1173 11BD;D2CE;1110 1173 11BD;
+D2CF;D2CF;1110 1173 11BE;D2CF;1110 1173 11BE;
+D2D0;D2D0;1110 1173 11BF;D2D0;1110 1173 11BF;
+D2D1;D2D1;1110 1173 11C0;D2D1;1110 1173 11C0;
+D2D2;D2D2;1110 1173 11C1;D2D2;1110 1173 11C1;
+D2D3;D2D3;1110 1173 11C2;D2D3;1110 1173 11C2;
+D2D4;D2D4;1110 1174;D2D4;1110 1174;
+D2D5;D2D5;1110 1174 11A8;D2D5;1110 1174 11A8;
+D2D6;D2D6;1110 1174 11A9;D2D6;1110 1174 11A9;
+D2D7;D2D7;1110 1174 11AA;D2D7;1110 1174 11AA;
+D2D8;D2D8;1110 1174 11AB;D2D8;1110 1174 11AB;
+D2D9;D2D9;1110 1174 11AC;D2D9;1110 1174 11AC;
+D2DA;D2DA;1110 1174 11AD;D2DA;1110 1174 11AD;
+D2DB;D2DB;1110 1174 11AE;D2DB;1110 1174 11AE;
+D2DC;D2DC;1110 1174 11AF;D2DC;1110 1174 11AF;
+D2DD;D2DD;1110 1174 11B0;D2DD;1110 1174 11B0;
+D2DE;D2DE;1110 1174 11B1;D2DE;1110 1174 11B1;
+D2DF;D2DF;1110 1174 11B2;D2DF;1110 1174 11B2;
+D2E0;D2E0;1110 1174 11B3;D2E0;1110 1174 11B3;
+D2E1;D2E1;1110 1174 11B4;D2E1;1110 1174 11B4;
+D2E2;D2E2;1110 1174 11B5;D2E2;1110 1174 11B5;
+D2E3;D2E3;1110 1174 11B6;D2E3;1110 1174 11B6;
+D2E4;D2E4;1110 1174 11B7;D2E4;1110 1174 11B7;
+D2E5;D2E5;1110 1174 11B8;D2E5;1110 1174 11B8;
+D2E6;D2E6;1110 1174 11B9;D2E6;1110 1174 11B9;
+D2E7;D2E7;1110 1174 11BA;D2E7;1110 1174 11BA;
+D2E8;D2E8;1110 1174 11BB;D2E8;1110 1174 11BB;
+D2E9;D2E9;1110 1174 11BC;D2E9;1110 1174 11BC;
+D2EA;D2EA;1110 1174 11BD;D2EA;1110 1174 11BD;
+D2EB;D2EB;1110 1174 11BE;D2EB;1110 1174 11BE;
+D2EC;D2EC;1110 1174 11BF;D2EC;1110 1174 11BF;
+D2ED;D2ED;1110 1174 11C0;D2ED;1110 1174 11C0;
+D2EE;D2EE;1110 1174 11C1;D2EE;1110 1174 11C1;
+D2EF;D2EF;1110 1174 11C2;D2EF;1110 1174 11C2;
+D2F0;D2F0;1110 1175;D2F0;1110 1175;
+D2F1;D2F1;1110 1175 11A8;D2F1;1110 1175 11A8;
+D2F2;D2F2;1110 1175 11A9;D2F2;1110 1175 11A9;
+D2F3;D2F3;1110 1175 11AA;D2F3;1110 1175 11AA;
+D2F4;D2F4;1110 1175 11AB;D2F4;1110 1175 11AB;
+D2F5;D2F5;1110 1175 11AC;D2F5;1110 1175 11AC;
+D2F6;D2F6;1110 1175 11AD;D2F6;1110 1175 11AD;
+D2F7;D2F7;1110 1175 11AE;D2F7;1110 1175 11AE;
+D2F8;D2F8;1110 1175 11AF;D2F8;1110 1175 11AF;
+D2F9;D2F9;1110 1175 11B0;D2F9;1110 1175 11B0;
+D2FA;D2FA;1110 1175 11B1;D2FA;1110 1175 11B1;
+D2FB;D2FB;1110 1175 11B2;D2FB;1110 1175 11B2;
+D2FC;D2FC;1110 1175 11B3;D2FC;1110 1175 11B3;
+D2FD;D2FD;1110 1175 11B4;D2FD;1110 1175 11B4;
+D2FE;D2FE;1110 1175 11B5;D2FE;1110 1175 11B5;
+D2FF;D2FF;1110 1175 11B6;D2FF;1110 1175 11B6;
+D300;D300;1110 1175 11B7;D300;1110 1175 11B7;
+D301;D301;1110 1175 11B8;D301;1110 1175 11B8;
+D302;D302;1110 1175 11B9;D302;1110 1175 11B9;
+D303;D303;1110 1175 11BA;D303;1110 1175 11BA;
+D304;D304;1110 1175 11BB;D304;1110 1175 11BB;
+D305;D305;1110 1175 11BC;D305;1110 1175 11BC;
+D306;D306;1110 1175 11BD;D306;1110 1175 11BD;
+D307;D307;1110 1175 11BE;D307;1110 1175 11BE;
+D308;D308;1110 1175 11BF;D308;1110 1175 11BF;
+D309;D309;1110 1175 11C0;D309;1110 1175 11C0;
+D30A;D30A;1110 1175 11C1;D30A;1110 1175 11C1;
+D30B;D30B;1110 1175 11C2;D30B;1110 1175 11C2;
+D30C;D30C;1111 1161;D30C;1111 1161;
+D30D;D30D;1111 1161 11A8;D30D;1111 1161 11A8;
+D30E;D30E;1111 1161 11A9;D30E;1111 1161 11A9;
+D30F;D30F;1111 1161 11AA;D30F;1111 1161 11AA;
+D310;D310;1111 1161 11AB;D310;1111 1161 11AB;
+D311;D311;1111 1161 11AC;D311;1111 1161 11AC;
+D312;D312;1111 1161 11AD;D312;1111 1161 11AD;
+D313;D313;1111 1161 11AE;D313;1111 1161 11AE;
+D314;D314;1111 1161 11AF;D314;1111 1161 11AF;
+D315;D315;1111 1161 11B0;D315;1111 1161 11B0;
+D316;D316;1111 1161 11B1;D316;1111 1161 11B1;
+D317;D317;1111 1161 11B2;D317;1111 1161 11B2;
+D318;D318;1111 1161 11B3;D318;1111 1161 11B3;
+D319;D319;1111 1161 11B4;D319;1111 1161 11B4;
+D31A;D31A;1111 1161 11B5;D31A;1111 1161 11B5;
+D31B;D31B;1111 1161 11B6;D31B;1111 1161 11B6;
+D31C;D31C;1111 1161 11B7;D31C;1111 1161 11B7;
+D31D;D31D;1111 1161 11B8;D31D;1111 1161 11B8;
+D31E;D31E;1111 1161 11B9;D31E;1111 1161 11B9;
+D31F;D31F;1111 1161 11BA;D31F;1111 1161 11BA;
+D320;D320;1111 1161 11BB;D320;1111 1161 11BB;
+D321;D321;1111 1161 11BC;D321;1111 1161 11BC;
+D322;D322;1111 1161 11BD;D322;1111 1161 11BD;
+D323;D323;1111 1161 11BE;D323;1111 1161 11BE;
+D324;D324;1111 1161 11BF;D324;1111 1161 11BF;
+D325;D325;1111 1161 11C0;D325;1111 1161 11C0;
+D326;D326;1111 1161 11C1;D326;1111 1161 11C1;
+D327;D327;1111 1161 11C2;D327;1111 1161 11C2;
+D328;D328;1111 1162;D328;1111 1162;
+D329;D329;1111 1162 11A8;D329;1111 1162 11A8;
+D32A;D32A;1111 1162 11A9;D32A;1111 1162 11A9;
+D32B;D32B;1111 1162 11AA;D32B;1111 1162 11AA;
+D32C;D32C;1111 1162 11AB;D32C;1111 1162 11AB;
+D32D;D32D;1111 1162 11AC;D32D;1111 1162 11AC;
+D32E;D32E;1111 1162 11AD;D32E;1111 1162 11AD;
+D32F;D32F;1111 1162 11AE;D32F;1111 1162 11AE;
+D330;D330;1111 1162 11AF;D330;1111 1162 11AF;
+D331;D331;1111 1162 11B0;D331;1111 1162 11B0;
+D332;D332;1111 1162 11B1;D332;1111 1162 11B1;
+D333;D333;1111 1162 11B2;D333;1111 1162 11B2;
+D334;D334;1111 1162 11B3;D334;1111 1162 11B3;
+D335;D335;1111 1162 11B4;D335;1111 1162 11B4;
+D336;D336;1111 1162 11B5;D336;1111 1162 11B5;
+D337;D337;1111 1162 11B6;D337;1111 1162 11B6;
+D338;D338;1111 1162 11B7;D338;1111 1162 11B7;
+D339;D339;1111 1162 11B8;D339;1111 1162 11B8;
+D33A;D33A;1111 1162 11B9;D33A;1111 1162 11B9;
+D33B;D33B;1111 1162 11BA;D33B;1111 1162 11BA;
+D33C;D33C;1111 1162 11BB;D33C;1111 1162 11BB;
+D33D;D33D;1111 1162 11BC;D33D;1111 1162 11BC;
+D33E;D33E;1111 1162 11BD;D33E;1111 1162 11BD;
+D33F;D33F;1111 1162 11BE;D33F;1111 1162 11BE;
+D340;D340;1111 1162 11BF;D340;1111 1162 11BF;
+D341;D341;1111 1162 11C0;D341;1111 1162 11C0;
+D342;D342;1111 1162 11C1;D342;1111 1162 11C1;
+D343;D343;1111 1162 11C2;D343;1111 1162 11C2;
+D344;D344;1111 1163;D344;1111 1163;
+D345;D345;1111 1163 11A8;D345;1111 1163 11A8;
+D346;D346;1111 1163 11A9;D346;1111 1163 11A9;
+D347;D347;1111 1163 11AA;D347;1111 1163 11AA;
+D348;D348;1111 1163 11AB;D348;1111 1163 11AB;
+D349;D349;1111 1163 11AC;D349;1111 1163 11AC;
+D34A;D34A;1111 1163 11AD;D34A;1111 1163 11AD;
+D34B;D34B;1111 1163 11AE;D34B;1111 1163 11AE;
+D34C;D34C;1111 1163 11AF;D34C;1111 1163 11AF;
+D34D;D34D;1111 1163 11B0;D34D;1111 1163 11B0;
+D34E;D34E;1111 1163 11B1;D34E;1111 1163 11B1;
+D34F;D34F;1111 1163 11B2;D34F;1111 1163 11B2;
+D350;D350;1111 1163 11B3;D350;1111 1163 11B3;
+D351;D351;1111 1163 11B4;D351;1111 1163 11B4;
+D352;D352;1111 1163 11B5;D352;1111 1163 11B5;
+D353;D353;1111 1163 11B6;D353;1111 1163 11B6;
+D354;D354;1111 1163 11B7;D354;1111 1163 11B7;
+D355;D355;1111 1163 11B8;D355;1111 1163 11B8;
+D356;D356;1111 1163 11B9;D356;1111 1163 11B9;
+D357;D357;1111 1163 11BA;D357;1111 1163 11BA;
+D358;D358;1111 1163 11BB;D358;1111 1163 11BB;
+D359;D359;1111 1163 11BC;D359;1111 1163 11BC;
+D35A;D35A;1111 1163 11BD;D35A;1111 1163 11BD;
+D35B;D35B;1111 1163 11BE;D35B;1111 1163 11BE;
+D35C;D35C;1111 1163 11BF;D35C;1111 1163 11BF;
+D35D;D35D;1111 1163 11C0;D35D;1111 1163 11C0;
+D35E;D35E;1111 1163 11C1;D35E;1111 1163 11C1;
+D35F;D35F;1111 1163 11C2;D35F;1111 1163 11C2;
+D360;D360;1111 1164;D360;1111 1164;
+D361;D361;1111 1164 11A8;D361;1111 1164 11A8;
+D362;D362;1111 1164 11A9;D362;1111 1164 11A9;
+D363;D363;1111 1164 11AA;D363;1111 1164 11AA;
+D364;D364;1111 1164 11AB;D364;1111 1164 11AB;
+D365;D365;1111 1164 11AC;D365;1111 1164 11AC;
+D366;D366;1111 1164 11AD;D366;1111 1164 11AD;
+D367;D367;1111 1164 11AE;D367;1111 1164 11AE;
+D368;D368;1111 1164 11AF;D368;1111 1164 11AF;
+D369;D369;1111 1164 11B0;D369;1111 1164 11B0;
+D36A;D36A;1111 1164 11B1;D36A;1111 1164 11B1;
+D36B;D36B;1111 1164 11B2;D36B;1111 1164 11B2;
+D36C;D36C;1111 1164 11B3;D36C;1111 1164 11B3;
+D36D;D36D;1111 1164 11B4;D36D;1111 1164 11B4;
+D36E;D36E;1111 1164 11B5;D36E;1111 1164 11B5;
+D36F;D36F;1111 1164 11B6;D36F;1111 1164 11B6;
+D370;D370;1111 1164 11B7;D370;1111 1164 11B7;
+D371;D371;1111 1164 11B8;D371;1111 1164 11B8;
+D372;D372;1111 1164 11B9;D372;1111 1164 11B9;
+D373;D373;1111 1164 11BA;D373;1111 1164 11BA;
+D374;D374;1111 1164 11BB;D374;1111 1164 11BB;
+D375;D375;1111 1164 11BC;D375;1111 1164 11BC;
+D376;D376;1111 1164 11BD;D376;1111 1164 11BD;
+D377;D377;1111 1164 11BE;D377;1111 1164 11BE;
+D378;D378;1111 1164 11BF;D378;1111 1164 11BF;
+D379;D379;1111 1164 11C0;D379;1111 1164 11C0;
+D37A;D37A;1111 1164 11C1;D37A;1111 1164 11C1;
+D37B;D37B;1111 1164 11C2;D37B;1111 1164 11C2;
+D37C;D37C;1111 1165;D37C;1111 1165;
+D37D;D37D;1111 1165 11A8;D37D;1111 1165 11A8;
+D37E;D37E;1111 1165 11A9;D37E;1111 1165 11A9;
+D37F;D37F;1111 1165 11AA;D37F;1111 1165 11AA;
+D380;D380;1111 1165 11AB;D380;1111 1165 11AB;
+D381;D381;1111 1165 11AC;D381;1111 1165 11AC;
+D382;D382;1111 1165 11AD;D382;1111 1165 11AD;
+D383;D383;1111 1165 11AE;D383;1111 1165 11AE;
+D384;D384;1111 1165 11AF;D384;1111 1165 11AF;
+D385;D385;1111 1165 11B0;D385;1111 1165 11B0;
+D386;D386;1111 1165 11B1;D386;1111 1165 11B1;
+D387;D387;1111 1165 11B2;D387;1111 1165 11B2;
+D388;D388;1111 1165 11B3;D388;1111 1165 11B3;
+D389;D389;1111 1165 11B4;D389;1111 1165 11B4;
+D38A;D38A;1111 1165 11B5;D38A;1111 1165 11B5;
+D38B;D38B;1111 1165 11B6;D38B;1111 1165 11B6;
+D38C;D38C;1111 1165 11B7;D38C;1111 1165 11B7;
+D38D;D38D;1111 1165 11B8;D38D;1111 1165 11B8;
+D38E;D38E;1111 1165 11B9;D38E;1111 1165 11B9;
+D38F;D38F;1111 1165 11BA;D38F;1111 1165 11BA;
+D390;D390;1111 1165 11BB;D390;1111 1165 11BB;
+D391;D391;1111 1165 11BC;D391;1111 1165 11BC;
+D392;D392;1111 1165 11BD;D392;1111 1165 11BD;
+D393;D393;1111 1165 11BE;D393;1111 1165 11BE;
+D394;D394;1111 1165 11BF;D394;1111 1165 11BF;
+D395;D395;1111 1165 11C0;D395;1111 1165 11C0;
+D396;D396;1111 1165 11C1;D396;1111 1165 11C1;
+D397;D397;1111 1165 11C2;D397;1111 1165 11C2;
+D398;D398;1111 1166;D398;1111 1166;
+D399;D399;1111 1166 11A8;D399;1111 1166 11A8;
+D39A;D39A;1111 1166 11A9;D39A;1111 1166 11A9;
+D39B;D39B;1111 1166 11AA;D39B;1111 1166 11AA;
+D39C;D39C;1111 1166 11AB;D39C;1111 1166 11AB;
+D39D;D39D;1111 1166 11AC;D39D;1111 1166 11AC;
+D39E;D39E;1111 1166 11AD;D39E;1111 1166 11AD;
+D39F;D39F;1111 1166 11AE;D39F;1111 1166 11AE;
+D3A0;D3A0;1111 1166 11AF;D3A0;1111 1166 11AF;
+D3A1;D3A1;1111 1166 11B0;D3A1;1111 1166 11B0;
+D3A2;D3A2;1111 1166 11B1;D3A2;1111 1166 11B1;
+D3A3;D3A3;1111 1166 11B2;D3A3;1111 1166 11B2;
+D3A4;D3A4;1111 1166 11B3;D3A4;1111 1166 11B3;
+D3A5;D3A5;1111 1166 11B4;D3A5;1111 1166 11B4;
+D3A6;D3A6;1111 1166 11B5;D3A6;1111 1166 11B5;
+D3A7;D3A7;1111 1166 11B6;D3A7;1111 1166 11B6;
+D3A8;D3A8;1111 1166 11B7;D3A8;1111 1166 11B7;
+D3A9;D3A9;1111 1166 11B8;D3A9;1111 1166 11B8;
+D3AA;D3AA;1111 1166 11B9;D3AA;1111 1166 11B9;
+D3AB;D3AB;1111 1166 11BA;D3AB;1111 1166 11BA;
+D3AC;D3AC;1111 1166 11BB;D3AC;1111 1166 11BB;
+D3AD;D3AD;1111 1166 11BC;D3AD;1111 1166 11BC;
+D3AE;D3AE;1111 1166 11BD;D3AE;1111 1166 11BD;
+D3AF;D3AF;1111 1166 11BE;D3AF;1111 1166 11BE;
+D3B0;D3B0;1111 1166 11BF;D3B0;1111 1166 11BF;
+D3B1;D3B1;1111 1166 11C0;D3B1;1111 1166 11C0;
+D3B2;D3B2;1111 1166 11C1;D3B2;1111 1166 11C1;
+D3B3;D3B3;1111 1166 11C2;D3B3;1111 1166 11C2;
+D3B4;D3B4;1111 1167;D3B4;1111 1167;
+D3B5;D3B5;1111 1167 11A8;D3B5;1111 1167 11A8;
+D3B6;D3B6;1111 1167 11A9;D3B6;1111 1167 11A9;
+D3B7;D3B7;1111 1167 11AA;D3B7;1111 1167 11AA;
+D3B8;D3B8;1111 1167 11AB;D3B8;1111 1167 11AB;
+D3B9;D3B9;1111 1167 11AC;D3B9;1111 1167 11AC;
+D3BA;D3BA;1111 1167 11AD;D3BA;1111 1167 11AD;
+D3BB;D3BB;1111 1167 11AE;D3BB;1111 1167 11AE;
+D3BC;D3BC;1111 1167 11AF;D3BC;1111 1167 11AF;
+D3BD;D3BD;1111 1167 11B0;D3BD;1111 1167 11B0;
+D3BE;D3BE;1111 1167 11B1;D3BE;1111 1167 11B1;
+D3BF;D3BF;1111 1167 11B2;D3BF;1111 1167 11B2;
+D3C0;D3C0;1111 1167 11B3;D3C0;1111 1167 11B3;
+D3C1;D3C1;1111 1167 11B4;D3C1;1111 1167 11B4;
+D3C2;D3C2;1111 1167 11B5;D3C2;1111 1167 11B5;
+D3C3;D3C3;1111 1167 11B6;D3C3;1111 1167 11B6;
+D3C4;D3C4;1111 1167 11B7;D3C4;1111 1167 11B7;
+D3C5;D3C5;1111 1167 11B8;D3C5;1111 1167 11B8;
+D3C6;D3C6;1111 1167 11B9;D3C6;1111 1167 11B9;
+D3C7;D3C7;1111 1167 11BA;D3C7;1111 1167 11BA;
+D3C8;D3C8;1111 1167 11BB;D3C8;1111 1167 11BB;
+D3C9;D3C9;1111 1167 11BC;D3C9;1111 1167 11BC;
+D3CA;D3CA;1111 1167 11BD;D3CA;1111 1167 11BD;
+D3CB;D3CB;1111 1167 11BE;D3CB;1111 1167 11BE;
+D3CC;D3CC;1111 1167 11BF;D3CC;1111 1167 11BF;
+D3CD;D3CD;1111 1167 11C0;D3CD;1111 1167 11C0;
+D3CE;D3CE;1111 1167 11C1;D3CE;1111 1167 11C1;
+D3CF;D3CF;1111 1167 11C2;D3CF;1111 1167 11C2;
+D3D0;D3D0;1111 1168;D3D0;1111 1168;
+D3D1;D3D1;1111 1168 11A8;D3D1;1111 1168 11A8;
+D3D2;D3D2;1111 1168 11A9;D3D2;1111 1168 11A9;
+D3D3;D3D3;1111 1168 11AA;D3D3;1111 1168 11AA;
+D3D4;D3D4;1111 1168 11AB;D3D4;1111 1168 11AB;
+D3D5;D3D5;1111 1168 11AC;D3D5;1111 1168 11AC;
+D3D6;D3D6;1111 1168 11AD;D3D6;1111 1168 11AD;
+D3D7;D3D7;1111 1168 11AE;D3D7;1111 1168 11AE;
+D3D8;D3D8;1111 1168 11AF;D3D8;1111 1168 11AF;
+D3D9;D3D9;1111 1168 11B0;D3D9;1111 1168 11B0;
+D3DA;D3DA;1111 1168 11B1;D3DA;1111 1168 11B1;
+D3DB;D3DB;1111 1168 11B2;D3DB;1111 1168 11B2;
+D3DC;D3DC;1111 1168 11B3;D3DC;1111 1168 11B3;
+D3DD;D3DD;1111 1168 11B4;D3DD;1111 1168 11B4;
+D3DE;D3DE;1111 1168 11B5;D3DE;1111 1168 11B5;
+D3DF;D3DF;1111 1168 11B6;D3DF;1111 1168 11B6;
+D3E0;D3E0;1111 1168 11B7;D3E0;1111 1168 11B7;
+D3E1;D3E1;1111 1168 11B8;D3E1;1111 1168 11B8;
+D3E2;D3E2;1111 1168 11B9;D3E2;1111 1168 11B9;
+D3E3;D3E3;1111 1168 11BA;D3E3;1111 1168 11BA;
+D3E4;D3E4;1111 1168 11BB;D3E4;1111 1168 11BB;
+D3E5;D3E5;1111 1168 11BC;D3E5;1111 1168 11BC;
+D3E6;D3E6;1111 1168 11BD;D3E6;1111 1168 11BD;
+D3E7;D3E7;1111 1168 11BE;D3E7;1111 1168 11BE;
+D3E8;D3E8;1111 1168 11BF;D3E8;1111 1168 11BF;
+D3E9;D3E9;1111 1168 11C0;D3E9;1111 1168 11C0;
+D3EA;D3EA;1111 1168 11C1;D3EA;1111 1168 11C1;
+D3EB;D3EB;1111 1168 11C2;D3EB;1111 1168 11C2;
+D3EC;D3EC;1111 1169;D3EC;1111 1169;
+D3ED;D3ED;1111 1169 11A8;D3ED;1111 1169 11A8;
+D3EE;D3EE;1111 1169 11A9;D3EE;1111 1169 11A9;
+D3EF;D3EF;1111 1169 11AA;D3EF;1111 1169 11AA;
+D3F0;D3F0;1111 1169 11AB;D3F0;1111 1169 11AB;
+D3F1;D3F1;1111 1169 11AC;D3F1;1111 1169 11AC;
+D3F2;D3F2;1111 1169 11AD;D3F2;1111 1169 11AD;
+D3F3;D3F3;1111 1169 11AE;D3F3;1111 1169 11AE;
+D3F4;D3F4;1111 1169 11AF;D3F4;1111 1169 11AF;
+D3F5;D3F5;1111 1169 11B0;D3F5;1111 1169 11B0;
+D3F6;D3F6;1111 1169 11B1;D3F6;1111 1169 11B1;
+D3F7;D3F7;1111 1169 11B2;D3F7;1111 1169 11B2;
+D3F8;D3F8;1111 1169 11B3;D3F8;1111 1169 11B3;
+D3F9;D3F9;1111 1169 11B4;D3F9;1111 1169 11B4;
+D3FA;D3FA;1111 1169 11B5;D3FA;1111 1169 11B5;
+D3FB;D3FB;1111 1169 11B6;D3FB;1111 1169 11B6;
+D3FC;D3FC;1111 1169 11B7;D3FC;1111 1169 11B7;
+D3FD;D3FD;1111 1169 11B8;D3FD;1111 1169 11B8;
+D3FE;D3FE;1111 1169 11B9;D3FE;1111 1169 11B9;
+D3FF;D3FF;1111 1169 11BA;D3FF;1111 1169 11BA;
+D400;D400;1111 1169 11BB;D400;1111 1169 11BB;
+D401;D401;1111 1169 11BC;D401;1111 1169 11BC;
+D402;D402;1111 1169 11BD;D402;1111 1169 11BD;
+D403;D403;1111 1169 11BE;D403;1111 1169 11BE;
+D404;D404;1111 1169 11BF;D404;1111 1169 11BF;
+D405;D405;1111 1169 11C0;D405;1111 1169 11C0;
+D406;D406;1111 1169 11C1;D406;1111 1169 11C1;
+D407;D407;1111 1169 11C2;D407;1111 1169 11C2;
+D408;D408;1111 116A;D408;1111 116A;
+D409;D409;1111 116A 11A8;D409;1111 116A 11A8;
+D40A;D40A;1111 116A 11A9;D40A;1111 116A 11A9;
+D40B;D40B;1111 116A 11AA;D40B;1111 116A 11AA;
+D40C;D40C;1111 116A 11AB;D40C;1111 116A 11AB;
+D40D;D40D;1111 116A 11AC;D40D;1111 116A 11AC;
+D40E;D40E;1111 116A 11AD;D40E;1111 116A 11AD;
+D40F;D40F;1111 116A 11AE;D40F;1111 116A 11AE;
+D410;D410;1111 116A 11AF;D410;1111 116A 11AF;
+D411;D411;1111 116A 11B0;D411;1111 116A 11B0;
+D412;D412;1111 116A 11B1;D412;1111 116A 11B1;
+D413;D413;1111 116A 11B2;D413;1111 116A 11B2;
+D414;D414;1111 116A 11B3;D414;1111 116A 11B3;
+D415;D415;1111 116A 11B4;D415;1111 116A 11B4;
+D416;D416;1111 116A 11B5;D416;1111 116A 11B5;
+D417;D417;1111 116A 11B6;D417;1111 116A 11B6;
+D418;D418;1111 116A 11B7;D418;1111 116A 11B7;
+D419;D419;1111 116A 11B8;D419;1111 116A 11B8;
+D41A;D41A;1111 116A 11B9;D41A;1111 116A 11B9;
+D41B;D41B;1111 116A 11BA;D41B;1111 116A 11BA;
+D41C;D41C;1111 116A 11BB;D41C;1111 116A 11BB;
+D41D;D41D;1111 116A 11BC;D41D;1111 116A 11BC;
+D41E;D41E;1111 116A 11BD;D41E;1111 116A 11BD;
+D41F;D41F;1111 116A 11BE;D41F;1111 116A 11BE;
+D420;D420;1111 116A 11BF;D420;1111 116A 11BF;
+D421;D421;1111 116A 11C0;D421;1111 116A 11C0;
+D422;D422;1111 116A 11C1;D422;1111 116A 11C1;
+D423;D423;1111 116A 11C2;D423;1111 116A 11C2;
+D424;D424;1111 116B;D424;1111 116B;
+D425;D425;1111 116B 11A8;D425;1111 116B 11A8;
+D426;D426;1111 116B 11A9;D426;1111 116B 11A9;
+D427;D427;1111 116B 11AA;D427;1111 116B 11AA;
+D428;D428;1111 116B 11AB;D428;1111 116B 11AB;
+D429;D429;1111 116B 11AC;D429;1111 116B 11AC;
+D42A;D42A;1111 116B 11AD;D42A;1111 116B 11AD;
+D42B;D42B;1111 116B 11AE;D42B;1111 116B 11AE;
+D42C;D42C;1111 116B 11AF;D42C;1111 116B 11AF;
+D42D;D42D;1111 116B 11B0;D42D;1111 116B 11B0;
+D42E;D42E;1111 116B 11B1;D42E;1111 116B 11B1;
+D42F;D42F;1111 116B 11B2;D42F;1111 116B 11B2;
+D430;D430;1111 116B 11B3;D430;1111 116B 11B3;
+D431;D431;1111 116B 11B4;D431;1111 116B 11B4;
+D432;D432;1111 116B 11B5;D432;1111 116B 11B5;
+D433;D433;1111 116B 11B6;D433;1111 116B 11B6;
+D434;D434;1111 116B 11B7;D434;1111 116B 11B7;
+D435;D435;1111 116B 11B8;D435;1111 116B 11B8;
+D436;D436;1111 116B 11B9;D436;1111 116B 11B9;
+D437;D437;1111 116B 11BA;D437;1111 116B 11BA;
+D438;D438;1111 116B 11BB;D438;1111 116B 11BB;
+D439;D439;1111 116B 11BC;D439;1111 116B 11BC;
+D43A;D43A;1111 116B 11BD;D43A;1111 116B 11BD;
+D43B;D43B;1111 116B 11BE;D43B;1111 116B 11BE;
+D43C;D43C;1111 116B 11BF;D43C;1111 116B 11BF;
+D43D;D43D;1111 116B 11C0;D43D;1111 116B 11C0;
+D43E;D43E;1111 116B 11C1;D43E;1111 116B 11C1;
+D43F;D43F;1111 116B 11C2;D43F;1111 116B 11C2;
+D440;D440;1111 116C;D440;1111 116C;
+D441;D441;1111 116C 11A8;D441;1111 116C 11A8;
+D442;D442;1111 116C 11A9;D442;1111 116C 11A9;
+D443;D443;1111 116C 11AA;D443;1111 116C 11AA;
+D444;D444;1111 116C 11AB;D444;1111 116C 11AB;
+D445;D445;1111 116C 11AC;D445;1111 116C 11AC;
+D446;D446;1111 116C 11AD;D446;1111 116C 11AD;
+D447;D447;1111 116C 11AE;D447;1111 116C 11AE;
+D448;D448;1111 116C 11AF;D448;1111 116C 11AF;
+D449;D449;1111 116C 11B0;D449;1111 116C 11B0;
+D44A;D44A;1111 116C 11B1;D44A;1111 116C 11B1;
+D44B;D44B;1111 116C 11B2;D44B;1111 116C 11B2;
+D44C;D44C;1111 116C 11B3;D44C;1111 116C 11B3;
+D44D;D44D;1111 116C 11B4;D44D;1111 116C 11B4;
+D44E;D44E;1111 116C 11B5;D44E;1111 116C 11B5;
+D44F;D44F;1111 116C 11B6;D44F;1111 116C 11B6;
+D450;D450;1111 116C 11B7;D450;1111 116C 11B7;
+D451;D451;1111 116C 11B8;D451;1111 116C 11B8;
+D452;D452;1111 116C 11B9;D452;1111 116C 11B9;
+D453;D453;1111 116C 11BA;D453;1111 116C 11BA;
+D454;D454;1111 116C 11BB;D454;1111 116C 11BB;
+D455;D455;1111 116C 11BC;D455;1111 116C 11BC;
+D456;D456;1111 116C 11BD;D456;1111 116C 11BD;
+D457;D457;1111 116C 11BE;D457;1111 116C 11BE;
+D458;D458;1111 116C 11BF;D458;1111 116C 11BF;
+D459;D459;1111 116C 11C0;D459;1111 116C 11C0;
+D45A;D45A;1111 116C 11C1;D45A;1111 116C 11C1;
+D45B;D45B;1111 116C 11C2;D45B;1111 116C 11C2;
+D45C;D45C;1111 116D;D45C;1111 116D;
+D45D;D45D;1111 116D 11A8;D45D;1111 116D 11A8;
+D45E;D45E;1111 116D 11A9;D45E;1111 116D 11A9;
+D45F;D45F;1111 116D 11AA;D45F;1111 116D 11AA;
+D460;D460;1111 116D 11AB;D460;1111 116D 11AB;
+D461;D461;1111 116D 11AC;D461;1111 116D 11AC;
+D462;D462;1111 116D 11AD;D462;1111 116D 11AD;
+D463;D463;1111 116D 11AE;D463;1111 116D 11AE;
+D464;D464;1111 116D 11AF;D464;1111 116D 11AF;
+D465;D465;1111 116D 11B0;D465;1111 116D 11B0;
+D466;D466;1111 116D 11B1;D466;1111 116D 11B1;
+D467;D467;1111 116D 11B2;D467;1111 116D 11B2;
+D468;D468;1111 116D 11B3;D468;1111 116D 11B3;
+D469;D469;1111 116D 11B4;D469;1111 116D 11B4;
+D46A;D46A;1111 116D 11B5;D46A;1111 116D 11B5;
+D46B;D46B;1111 116D 11B6;D46B;1111 116D 11B6;
+D46C;D46C;1111 116D 11B7;D46C;1111 116D 11B7;
+D46D;D46D;1111 116D 11B8;D46D;1111 116D 11B8;
+D46E;D46E;1111 116D 11B9;D46E;1111 116D 11B9;
+D46F;D46F;1111 116D 11BA;D46F;1111 116D 11BA;
+D470;D470;1111 116D 11BB;D470;1111 116D 11BB;
+D471;D471;1111 116D 11BC;D471;1111 116D 11BC;
+D472;D472;1111 116D 11BD;D472;1111 116D 11BD;
+D473;D473;1111 116D 11BE;D473;1111 116D 11BE;
+D474;D474;1111 116D 11BF;D474;1111 116D 11BF;
+D475;D475;1111 116D 11C0;D475;1111 116D 11C0;
+D476;D476;1111 116D 11C1;D476;1111 116D 11C1;
+D477;D477;1111 116D 11C2;D477;1111 116D 11C2;
+D478;D478;1111 116E;D478;1111 116E;
+D479;D479;1111 116E 11A8;D479;1111 116E 11A8;
+D47A;D47A;1111 116E 11A9;D47A;1111 116E 11A9;
+D47B;D47B;1111 116E 11AA;D47B;1111 116E 11AA;
+D47C;D47C;1111 116E 11AB;D47C;1111 116E 11AB;
+D47D;D47D;1111 116E 11AC;D47D;1111 116E 11AC;
+D47E;D47E;1111 116E 11AD;D47E;1111 116E 11AD;
+D47F;D47F;1111 116E 11AE;D47F;1111 116E 11AE;
+D480;D480;1111 116E 11AF;D480;1111 116E 11AF;
+D481;D481;1111 116E 11B0;D481;1111 116E 11B0;
+D482;D482;1111 116E 11B1;D482;1111 116E 11B1;
+D483;D483;1111 116E 11B2;D483;1111 116E 11B2;
+D484;D484;1111 116E 11B3;D484;1111 116E 11B3;
+D485;D485;1111 116E 11B4;D485;1111 116E 11B4;
+D486;D486;1111 116E 11B5;D486;1111 116E 11B5;
+D487;D487;1111 116E 11B6;D487;1111 116E 11B6;
+D488;D488;1111 116E 11B7;D488;1111 116E 11B7;
+D489;D489;1111 116E 11B8;D489;1111 116E 11B8;
+D48A;D48A;1111 116E 11B9;D48A;1111 116E 11B9;
+D48B;D48B;1111 116E 11BA;D48B;1111 116E 11BA;
+D48C;D48C;1111 116E 11BB;D48C;1111 116E 11BB;
+D48D;D48D;1111 116E 11BC;D48D;1111 116E 11BC;
+D48E;D48E;1111 116E 11BD;D48E;1111 116E 11BD;
+D48F;D48F;1111 116E 11BE;D48F;1111 116E 11BE;
+D490;D490;1111 116E 11BF;D490;1111 116E 11BF;
+D491;D491;1111 116E 11C0;D491;1111 116E 11C0;
+D492;D492;1111 116E 11C1;D492;1111 116E 11C1;
+D493;D493;1111 116E 11C2;D493;1111 116E 11C2;
+D494;D494;1111 116F;D494;1111 116F;
+D495;D495;1111 116F 11A8;D495;1111 116F 11A8;
+D496;D496;1111 116F 11A9;D496;1111 116F 11A9;
+D497;D497;1111 116F 11AA;D497;1111 116F 11AA;
+D498;D498;1111 116F 11AB;D498;1111 116F 11AB;
+D499;D499;1111 116F 11AC;D499;1111 116F 11AC;
+D49A;D49A;1111 116F 11AD;D49A;1111 116F 11AD;
+D49B;D49B;1111 116F 11AE;D49B;1111 116F 11AE;
+D49C;D49C;1111 116F 11AF;D49C;1111 116F 11AF;
+D49D;D49D;1111 116F 11B0;D49D;1111 116F 11B0;
+D49E;D49E;1111 116F 11B1;D49E;1111 116F 11B1;
+D49F;D49F;1111 116F 11B2;D49F;1111 116F 11B2;
+D4A0;D4A0;1111 116F 11B3;D4A0;1111 116F 11B3;
+D4A1;D4A1;1111 116F 11B4;D4A1;1111 116F 11B4;
+D4A2;D4A2;1111 116F 11B5;D4A2;1111 116F 11B5;
+D4A3;D4A3;1111 116F 11B6;D4A3;1111 116F 11B6;
+D4A4;D4A4;1111 116F 11B7;D4A4;1111 116F 11B7;
+D4A5;D4A5;1111 116F 11B8;D4A5;1111 116F 11B8;
+D4A6;D4A6;1111 116F 11B9;D4A6;1111 116F 11B9;
+D4A7;D4A7;1111 116F 11BA;D4A7;1111 116F 11BA;
+D4A8;D4A8;1111 116F 11BB;D4A8;1111 116F 11BB;
+D4A9;D4A9;1111 116F 11BC;D4A9;1111 116F 11BC;
+D4AA;D4AA;1111 116F 11BD;D4AA;1111 116F 11BD;
+D4AB;D4AB;1111 116F 11BE;D4AB;1111 116F 11BE;
+D4AC;D4AC;1111 116F 11BF;D4AC;1111 116F 11BF;
+D4AD;D4AD;1111 116F 11C0;D4AD;1111 116F 11C0;
+D4AE;D4AE;1111 116F 11C1;D4AE;1111 116F 11C1;
+D4AF;D4AF;1111 116F 11C2;D4AF;1111 116F 11C2;
+D4B0;D4B0;1111 1170;D4B0;1111 1170;
+D4B1;D4B1;1111 1170 11A8;D4B1;1111 1170 11A8;
+D4B2;D4B2;1111 1170 11A9;D4B2;1111 1170 11A9;
+D4B3;D4B3;1111 1170 11AA;D4B3;1111 1170 11AA;
+D4B4;D4B4;1111 1170 11AB;D4B4;1111 1170 11AB;
+D4B5;D4B5;1111 1170 11AC;D4B5;1111 1170 11AC;
+D4B6;D4B6;1111 1170 11AD;D4B6;1111 1170 11AD;
+D4B7;D4B7;1111 1170 11AE;D4B7;1111 1170 11AE;
+D4B8;D4B8;1111 1170 11AF;D4B8;1111 1170 11AF;
+D4B9;D4B9;1111 1170 11B0;D4B9;1111 1170 11B0;
+D4BA;D4BA;1111 1170 11B1;D4BA;1111 1170 11B1;
+D4BB;D4BB;1111 1170 11B2;D4BB;1111 1170 11B2;
+D4BC;D4BC;1111 1170 11B3;D4BC;1111 1170 11B3;
+D4BD;D4BD;1111 1170 11B4;D4BD;1111 1170 11B4;
+D4BE;D4BE;1111 1170 11B5;D4BE;1111 1170 11B5;
+D4BF;D4BF;1111 1170 11B6;D4BF;1111 1170 11B6;
+D4C0;D4C0;1111 1170 11B7;D4C0;1111 1170 11B7;
+D4C1;D4C1;1111 1170 11B8;D4C1;1111 1170 11B8;
+D4C2;D4C2;1111 1170 11B9;D4C2;1111 1170 11B9;
+D4C3;D4C3;1111 1170 11BA;D4C3;1111 1170 11BA;
+D4C4;D4C4;1111 1170 11BB;D4C4;1111 1170 11BB;
+D4C5;D4C5;1111 1170 11BC;D4C5;1111 1170 11BC;
+D4C6;D4C6;1111 1170 11BD;D4C6;1111 1170 11BD;
+D4C7;D4C7;1111 1170 11BE;D4C7;1111 1170 11BE;
+D4C8;D4C8;1111 1170 11BF;D4C8;1111 1170 11BF;
+D4C9;D4C9;1111 1170 11C0;D4C9;1111 1170 11C0;
+D4CA;D4CA;1111 1170 11C1;D4CA;1111 1170 11C1;
+D4CB;D4CB;1111 1170 11C2;D4CB;1111 1170 11C2;
+D4CC;D4CC;1111 1171;D4CC;1111 1171;
+D4CD;D4CD;1111 1171 11A8;D4CD;1111 1171 11A8;
+D4CE;D4CE;1111 1171 11A9;D4CE;1111 1171 11A9;
+D4CF;D4CF;1111 1171 11AA;D4CF;1111 1171 11AA;
+D4D0;D4D0;1111 1171 11AB;D4D0;1111 1171 11AB;
+D4D1;D4D1;1111 1171 11AC;D4D1;1111 1171 11AC;
+D4D2;D4D2;1111 1171 11AD;D4D2;1111 1171 11AD;
+D4D3;D4D3;1111 1171 11AE;D4D3;1111 1171 11AE;
+D4D4;D4D4;1111 1171 11AF;D4D4;1111 1171 11AF;
+D4D5;D4D5;1111 1171 11B0;D4D5;1111 1171 11B0;
+D4D6;D4D6;1111 1171 11B1;D4D6;1111 1171 11B1;
+D4D7;D4D7;1111 1171 11B2;D4D7;1111 1171 11B2;
+D4D8;D4D8;1111 1171 11B3;D4D8;1111 1171 11B3;
+D4D9;D4D9;1111 1171 11B4;D4D9;1111 1171 11B4;
+D4DA;D4DA;1111 1171 11B5;D4DA;1111 1171 11B5;
+D4DB;D4DB;1111 1171 11B6;D4DB;1111 1171 11B6;
+D4DC;D4DC;1111 1171 11B7;D4DC;1111 1171 11B7;
+D4DD;D4DD;1111 1171 11B8;D4DD;1111 1171 11B8;
+D4DE;D4DE;1111 1171 11B9;D4DE;1111 1171 11B9;
+D4DF;D4DF;1111 1171 11BA;D4DF;1111 1171 11BA;
+D4E0;D4E0;1111 1171 11BB;D4E0;1111 1171 11BB;
+D4E1;D4E1;1111 1171 11BC;D4E1;1111 1171 11BC;
+D4E2;D4E2;1111 1171 11BD;D4E2;1111 1171 11BD;
+D4E3;D4E3;1111 1171 11BE;D4E3;1111 1171 11BE;
+D4E4;D4E4;1111 1171 11BF;D4E4;1111 1171 11BF;
+D4E5;D4E5;1111 1171 11C0;D4E5;1111 1171 11C0;
+D4E6;D4E6;1111 1171 11C1;D4E6;1111 1171 11C1;
+D4E7;D4E7;1111 1171 11C2;D4E7;1111 1171 11C2;
+D4E8;D4E8;1111 1172;D4E8;1111 1172;
+D4E9;D4E9;1111 1172 11A8;D4E9;1111 1172 11A8;
+D4EA;D4EA;1111 1172 11A9;D4EA;1111 1172 11A9;
+D4EB;D4EB;1111 1172 11AA;D4EB;1111 1172 11AA;
+D4EC;D4EC;1111 1172 11AB;D4EC;1111 1172 11AB;
+D4ED;D4ED;1111 1172 11AC;D4ED;1111 1172 11AC;
+D4EE;D4EE;1111 1172 11AD;D4EE;1111 1172 11AD;
+D4EF;D4EF;1111 1172 11AE;D4EF;1111 1172 11AE;
+D4F0;D4F0;1111 1172 11AF;D4F0;1111 1172 11AF;
+D4F1;D4F1;1111 1172 11B0;D4F1;1111 1172 11B0;
+D4F2;D4F2;1111 1172 11B1;D4F2;1111 1172 11B1;
+D4F3;D4F3;1111 1172 11B2;D4F3;1111 1172 11B2;
+D4F4;D4F4;1111 1172 11B3;D4F4;1111 1172 11B3;
+D4F5;D4F5;1111 1172 11B4;D4F5;1111 1172 11B4;
+D4F6;D4F6;1111 1172 11B5;D4F6;1111 1172 11B5;
+D4F7;D4F7;1111 1172 11B6;D4F7;1111 1172 11B6;
+D4F8;D4F8;1111 1172 11B7;D4F8;1111 1172 11B7;
+D4F9;D4F9;1111 1172 11B8;D4F9;1111 1172 11B8;
+D4FA;D4FA;1111 1172 11B9;D4FA;1111 1172 11B9;
+D4FB;D4FB;1111 1172 11BA;D4FB;1111 1172 11BA;
+D4FC;D4FC;1111 1172 11BB;D4FC;1111 1172 11BB;
+D4FD;D4FD;1111 1172 11BC;D4FD;1111 1172 11BC;
+D4FE;D4FE;1111 1172 11BD;D4FE;1111 1172 11BD;
+D4FF;D4FF;1111 1172 11BE;D4FF;1111 1172 11BE;
+D500;D500;1111 1172 11BF;D500;1111 1172 11BF;
+D501;D501;1111 1172 11C0;D501;1111 1172 11C0;
+D502;D502;1111 1172 11C1;D502;1111 1172 11C1;
+D503;D503;1111 1172 11C2;D503;1111 1172 11C2;
+D504;D504;1111 1173;D504;1111 1173;
+D505;D505;1111 1173 11A8;D505;1111 1173 11A8;
+D506;D506;1111 1173 11A9;D506;1111 1173 11A9;
+D507;D507;1111 1173 11AA;D507;1111 1173 11AA;
+D508;D508;1111 1173 11AB;D508;1111 1173 11AB;
+D509;D509;1111 1173 11AC;D509;1111 1173 11AC;
+D50A;D50A;1111 1173 11AD;D50A;1111 1173 11AD;
+D50B;D50B;1111 1173 11AE;D50B;1111 1173 11AE;
+D50C;D50C;1111 1173 11AF;D50C;1111 1173 11AF;
+D50D;D50D;1111 1173 11B0;D50D;1111 1173 11B0;
+D50E;D50E;1111 1173 11B1;D50E;1111 1173 11B1;
+D50F;D50F;1111 1173 11B2;D50F;1111 1173 11B2;
+D510;D510;1111 1173 11B3;D510;1111 1173 11B3;
+D511;D511;1111 1173 11B4;D511;1111 1173 11B4;
+D512;D512;1111 1173 11B5;D512;1111 1173 11B5;
+D513;D513;1111 1173 11B6;D513;1111 1173 11B6;
+D514;D514;1111 1173 11B7;D514;1111 1173 11B7;
+D515;D515;1111 1173 11B8;D515;1111 1173 11B8;
+D516;D516;1111 1173 11B9;D516;1111 1173 11B9;
+D517;D517;1111 1173 11BA;D517;1111 1173 11BA;
+D518;D518;1111 1173 11BB;D518;1111 1173 11BB;
+D519;D519;1111 1173 11BC;D519;1111 1173 11BC;
+D51A;D51A;1111 1173 11BD;D51A;1111 1173 11BD;
+D51B;D51B;1111 1173 11BE;D51B;1111 1173 11BE;
+D51C;D51C;1111 1173 11BF;D51C;1111 1173 11BF;
+D51D;D51D;1111 1173 11C0;D51D;1111 1173 11C0;
+D51E;D51E;1111 1173 11C1;D51E;1111 1173 11C1;
+D51F;D51F;1111 1173 11C2;D51F;1111 1173 11C2;
+D520;D520;1111 1174;D520;1111 1174;
+D521;D521;1111 1174 11A8;D521;1111 1174 11A8;
+D522;D522;1111 1174 11A9;D522;1111 1174 11A9;
+D523;D523;1111 1174 11AA;D523;1111 1174 11AA;
+D524;D524;1111 1174 11AB;D524;1111 1174 11AB;
+D525;D525;1111 1174 11AC;D525;1111 1174 11AC;
+D526;D526;1111 1174 11AD;D526;1111 1174 11AD;
+D527;D527;1111 1174 11AE;D527;1111 1174 11AE;
+D528;D528;1111 1174 11AF;D528;1111 1174 11AF;
+D529;D529;1111 1174 11B0;D529;1111 1174 11B0;
+D52A;D52A;1111 1174 11B1;D52A;1111 1174 11B1;
+D52B;D52B;1111 1174 11B2;D52B;1111 1174 11B2;
+D52C;D52C;1111 1174 11B3;D52C;1111 1174 11B3;
+D52D;D52D;1111 1174 11B4;D52D;1111 1174 11B4;
+D52E;D52E;1111 1174 11B5;D52E;1111 1174 11B5;
+D52F;D52F;1111 1174 11B6;D52F;1111 1174 11B6;
+D530;D530;1111 1174 11B7;D530;1111 1174 11B7;
+D531;D531;1111 1174 11B8;D531;1111 1174 11B8;
+D532;D532;1111 1174 11B9;D532;1111 1174 11B9;
+D533;D533;1111 1174 11BA;D533;1111 1174 11BA;
+D534;D534;1111 1174 11BB;D534;1111 1174 11BB;
+D535;D535;1111 1174 11BC;D535;1111 1174 11BC;
+D536;D536;1111 1174 11BD;D536;1111 1174 11BD;
+D537;D537;1111 1174 11BE;D537;1111 1174 11BE;
+D538;D538;1111 1174 11BF;D538;1111 1174 11BF;
+D539;D539;1111 1174 11C0;D539;1111 1174 11C0;
+D53A;D53A;1111 1174 11C1;D53A;1111 1174 11C1;
+D53B;D53B;1111 1174 11C2;D53B;1111 1174 11C2;
+D53C;D53C;1111 1175;D53C;1111 1175;
+D53D;D53D;1111 1175 11A8;D53D;1111 1175 11A8;
+D53E;D53E;1111 1175 11A9;D53E;1111 1175 11A9;
+D53F;D53F;1111 1175 11AA;D53F;1111 1175 11AA;
+D540;D540;1111 1175 11AB;D540;1111 1175 11AB;
+D541;D541;1111 1175 11AC;D541;1111 1175 11AC;
+D542;D542;1111 1175 11AD;D542;1111 1175 11AD;
+D543;D543;1111 1175 11AE;D543;1111 1175 11AE;
+D544;D544;1111 1175 11AF;D544;1111 1175 11AF;
+D545;D545;1111 1175 11B0;D545;1111 1175 11B0;
+D546;D546;1111 1175 11B1;D546;1111 1175 11B1;
+D547;D547;1111 1175 11B2;D547;1111 1175 11B2;
+D548;D548;1111 1175 11B3;D548;1111 1175 11B3;
+D549;D549;1111 1175 11B4;D549;1111 1175 11B4;
+D54A;D54A;1111 1175 11B5;D54A;1111 1175 11B5;
+D54B;D54B;1111 1175 11B6;D54B;1111 1175 11B6;
+D54C;D54C;1111 1175 11B7;D54C;1111 1175 11B7;
+D54D;D54D;1111 1175 11B8;D54D;1111 1175 11B8;
+D54E;D54E;1111 1175 11B9;D54E;1111 1175 11B9;
+D54F;D54F;1111 1175 11BA;D54F;1111 1175 11BA;
+D550;D550;1111 1175 11BB;D550;1111 1175 11BB;
+D551;D551;1111 1175 11BC;D551;1111 1175 11BC;
+D552;D552;1111 1175 11BD;D552;1111 1175 11BD;
+D553;D553;1111 1175 11BE;D553;1111 1175 11BE;
+D554;D554;1111 1175 11BF;D554;1111 1175 11BF;
+D555;D555;1111 1175 11C0;D555;1111 1175 11C0;
+D556;D556;1111 1175 11C1;D556;1111 1175 11C1;
+D557;D557;1111 1175 11C2;D557;1111 1175 11C2;
+D558;D558;1112 1161;D558;1112 1161;
+D559;D559;1112 1161 11A8;D559;1112 1161 11A8;
+D55A;D55A;1112 1161 11A9;D55A;1112 1161 11A9;
+D55B;D55B;1112 1161 11AA;D55B;1112 1161 11AA;
+D55C;D55C;1112 1161 11AB;D55C;1112 1161 11AB;
+D55D;D55D;1112 1161 11AC;D55D;1112 1161 11AC;
+D55E;D55E;1112 1161 11AD;D55E;1112 1161 11AD;
+D55F;D55F;1112 1161 11AE;D55F;1112 1161 11AE;
+D560;D560;1112 1161 11AF;D560;1112 1161 11AF;
+D561;D561;1112 1161 11B0;D561;1112 1161 11B0;
+D562;D562;1112 1161 11B1;D562;1112 1161 11B1;
+D563;D563;1112 1161 11B2;D563;1112 1161 11B2;
+D564;D564;1112 1161 11B3;D564;1112 1161 11B3;
+D565;D565;1112 1161 11B4;D565;1112 1161 11B4;
+D566;D566;1112 1161 11B5;D566;1112 1161 11B5;
+D567;D567;1112 1161 11B6;D567;1112 1161 11B6;
+D568;D568;1112 1161 11B7;D568;1112 1161 11B7;
+D569;D569;1112 1161 11B8;D569;1112 1161 11B8;
+D56A;D56A;1112 1161 11B9;D56A;1112 1161 11B9;
+D56B;D56B;1112 1161 11BA;D56B;1112 1161 11BA;
+D56C;D56C;1112 1161 11BB;D56C;1112 1161 11BB;
+D56D;D56D;1112 1161 11BC;D56D;1112 1161 11BC;
+D56E;D56E;1112 1161 11BD;D56E;1112 1161 11BD;
+D56F;D56F;1112 1161 11BE;D56F;1112 1161 11BE;
+D570;D570;1112 1161 11BF;D570;1112 1161 11BF;
+D571;D571;1112 1161 11C0;D571;1112 1161 11C0;
+D572;D572;1112 1161 11C1;D572;1112 1161 11C1;
+D573;D573;1112 1161 11C2;D573;1112 1161 11C2;
+D574;D574;1112 1162;D574;1112 1162;
+D575;D575;1112 1162 11A8;D575;1112 1162 11A8;
+D576;D576;1112 1162 11A9;D576;1112 1162 11A9;
+D577;D577;1112 1162 11AA;D577;1112 1162 11AA;
+D578;D578;1112 1162 11AB;D578;1112 1162 11AB;
+D579;D579;1112 1162 11AC;D579;1112 1162 11AC;
+D57A;D57A;1112 1162 11AD;D57A;1112 1162 11AD;
+D57B;D57B;1112 1162 11AE;D57B;1112 1162 11AE;
+D57C;D57C;1112 1162 11AF;D57C;1112 1162 11AF;
+D57D;D57D;1112 1162 11B0;D57D;1112 1162 11B0;
+D57E;D57E;1112 1162 11B1;D57E;1112 1162 11B1;
+D57F;D57F;1112 1162 11B2;D57F;1112 1162 11B2;
+D580;D580;1112 1162 11B3;D580;1112 1162 11B3;
+D581;D581;1112 1162 11B4;D581;1112 1162 11B4;
+D582;D582;1112 1162 11B5;D582;1112 1162 11B5;
+D583;D583;1112 1162 11B6;D583;1112 1162 11B6;
+D584;D584;1112 1162 11B7;D584;1112 1162 11B7;
+D585;D585;1112 1162 11B8;D585;1112 1162 11B8;
+D586;D586;1112 1162 11B9;D586;1112 1162 11B9;
+D587;D587;1112 1162 11BA;D587;1112 1162 11BA;
+D588;D588;1112 1162 11BB;D588;1112 1162 11BB;
+D589;D589;1112 1162 11BC;D589;1112 1162 11BC;
+D58A;D58A;1112 1162 11BD;D58A;1112 1162 11BD;
+D58B;D58B;1112 1162 11BE;D58B;1112 1162 11BE;
+D58C;D58C;1112 1162 11BF;D58C;1112 1162 11BF;
+D58D;D58D;1112 1162 11C0;D58D;1112 1162 11C0;
+D58E;D58E;1112 1162 11C1;D58E;1112 1162 11C1;
+D58F;D58F;1112 1162 11C2;D58F;1112 1162 11C2;
+D590;D590;1112 1163;D590;1112 1163;
+D591;D591;1112 1163 11A8;D591;1112 1163 11A8;
+D592;D592;1112 1163 11A9;D592;1112 1163 11A9;
+D593;D593;1112 1163 11AA;D593;1112 1163 11AA;
+D594;D594;1112 1163 11AB;D594;1112 1163 11AB;
+D595;D595;1112 1163 11AC;D595;1112 1163 11AC;
+D596;D596;1112 1163 11AD;D596;1112 1163 11AD;
+D597;D597;1112 1163 11AE;D597;1112 1163 11AE;
+D598;D598;1112 1163 11AF;D598;1112 1163 11AF;
+D599;D599;1112 1163 11B0;D599;1112 1163 11B0;
+D59A;D59A;1112 1163 11B1;D59A;1112 1163 11B1;
+D59B;D59B;1112 1163 11B2;D59B;1112 1163 11B2;
+D59C;D59C;1112 1163 11B3;D59C;1112 1163 11B3;
+D59D;D59D;1112 1163 11B4;D59D;1112 1163 11B4;
+D59E;D59E;1112 1163 11B5;D59E;1112 1163 11B5;
+D59F;D59F;1112 1163 11B6;D59F;1112 1163 11B6;
+D5A0;D5A0;1112 1163 11B7;D5A0;1112 1163 11B7;
+D5A1;D5A1;1112 1163 11B8;D5A1;1112 1163 11B8;
+D5A2;D5A2;1112 1163 11B9;D5A2;1112 1163 11B9;
+D5A3;D5A3;1112 1163 11BA;D5A3;1112 1163 11BA;
+D5A4;D5A4;1112 1163 11BB;D5A4;1112 1163 11BB;
+D5A5;D5A5;1112 1163 11BC;D5A5;1112 1163 11BC;
+D5A6;D5A6;1112 1163 11BD;D5A6;1112 1163 11BD;
+D5A7;D5A7;1112 1163 11BE;D5A7;1112 1163 11BE;
+D5A8;D5A8;1112 1163 11BF;D5A8;1112 1163 11BF;
+D5A9;D5A9;1112 1163 11C0;D5A9;1112 1163 11C0;
+D5AA;D5AA;1112 1163 11C1;D5AA;1112 1163 11C1;
+D5AB;D5AB;1112 1163 11C2;D5AB;1112 1163 11C2;
+D5AC;D5AC;1112 1164;D5AC;1112 1164;
+D5AD;D5AD;1112 1164 11A8;D5AD;1112 1164 11A8;
+D5AE;D5AE;1112 1164 11A9;D5AE;1112 1164 11A9;
+D5AF;D5AF;1112 1164 11AA;D5AF;1112 1164 11AA;
+D5B0;D5B0;1112 1164 11AB;D5B0;1112 1164 11AB;
+D5B1;D5B1;1112 1164 11AC;D5B1;1112 1164 11AC;
+D5B2;D5B2;1112 1164 11AD;D5B2;1112 1164 11AD;
+D5B3;D5B3;1112 1164 11AE;D5B3;1112 1164 11AE;
+D5B4;D5B4;1112 1164 11AF;D5B4;1112 1164 11AF;
+D5B5;D5B5;1112 1164 11B0;D5B5;1112 1164 11B0;
+D5B6;D5B6;1112 1164 11B1;D5B6;1112 1164 11B1;
+D5B7;D5B7;1112 1164 11B2;D5B7;1112 1164 11B2;
+D5B8;D5B8;1112 1164 11B3;D5B8;1112 1164 11B3;
+D5B9;D5B9;1112 1164 11B4;D5B9;1112 1164 11B4;
+D5BA;D5BA;1112 1164 11B5;D5BA;1112 1164 11B5;
+D5BB;D5BB;1112 1164 11B6;D5BB;1112 1164 11B6;
+D5BC;D5BC;1112 1164 11B7;D5BC;1112 1164 11B7;
+D5BD;D5BD;1112 1164 11B8;D5BD;1112 1164 11B8;
+D5BE;D5BE;1112 1164 11B9;D5BE;1112 1164 11B9;
+D5BF;D5BF;1112 1164 11BA;D5BF;1112 1164 11BA;
+D5C0;D5C0;1112 1164 11BB;D5C0;1112 1164 11BB;
+D5C1;D5C1;1112 1164 11BC;D5C1;1112 1164 11BC;
+D5C2;D5C2;1112 1164 11BD;D5C2;1112 1164 11BD;
+D5C3;D5C3;1112 1164 11BE;D5C3;1112 1164 11BE;
+D5C4;D5C4;1112 1164 11BF;D5C4;1112 1164 11BF;
+D5C5;D5C5;1112 1164 11C0;D5C5;1112 1164 11C0;
+D5C6;D5C6;1112 1164 11C1;D5C6;1112 1164 11C1;
+D5C7;D5C7;1112 1164 11C2;D5C7;1112 1164 11C2;
+D5C8;D5C8;1112 1165;D5C8;1112 1165;
+D5C9;D5C9;1112 1165 11A8;D5C9;1112 1165 11A8;
+D5CA;D5CA;1112 1165 11A9;D5CA;1112 1165 11A9;
+D5CB;D5CB;1112 1165 11AA;D5CB;1112 1165 11AA;
+D5CC;D5CC;1112 1165 11AB;D5CC;1112 1165 11AB;
+D5CD;D5CD;1112 1165 11AC;D5CD;1112 1165 11AC;
+D5CE;D5CE;1112 1165 11AD;D5CE;1112 1165 11AD;
+D5CF;D5CF;1112 1165 11AE;D5CF;1112 1165 11AE;
+D5D0;D5D0;1112 1165 11AF;D5D0;1112 1165 11AF;
+D5D1;D5D1;1112 1165 11B0;D5D1;1112 1165 11B0;
+D5D2;D5D2;1112 1165 11B1;D5D2;1112 1165 11B1;
+D5D3;D5D3;1112 1165 11B2;D5D3;1112 1165 11B2;
+D5D4;D5D4;1112 1165 11B3;D5D4;1112 1165 11B3;
+D5D5;D5D5;1112 1165 11B4;D5D5;1112 1165 11B4;
+D5D6;D5D6;1112 1165 11B5;D5D6;1112 1165 11B5;
+D5D7;D5D7;1112 1165 11B6;D5D7;1112 1165 11B6;
+D5D8;D5D8;1112 1165 11B7;D5D8;1112 1165 11B7;
+D5D9;D5D9;1112 1165 11B8;D5D9;1112 1165 11B8;
+D5DA;D5DA;1112 1165 11B9;D5DA;1112 1165 11B9;
+D5DB;D5DB;1112 1165 11BA;D5DB;1112 1165 11BA;
+D5DC;D5DC;1112 1165 11BB;D5DC;1112 1165 11BB;
+D5DD;D5DD;1112 1165 11BC;D5DD;1112 1165 11BC;
+D5DE;D5DE;1112 1165 11BD;D5DE;1112 1165 11BD;
+D5DF;D5DF;1112 1165 11BE;D5DF;1112 1165 11BE;
+D5E0;D5E0;1112 1165 11BF;D5E0;1112 1165 11BF;
+D5E1;D5E1;1112 1165 11C0;D5E1;1112 1165 11C0;
+D5E2;D5E2;1112 1165 11C1;D5E2;1112 1165 11C1;
+D5E3;D5E3;1112 1165 11C2;D5E3;1112 1165 11C2;
+D5E4;D5E4;1112 1166;D5E4;1112 1166;
+D5E5;D5E5;1112 1166 11A8;D5E5;1112 1166 11A8;
+D5E6;D5E6;1112 1166 11A9;D5E6;1112 1166 11A9;
+D5E7;D5E7;1112 1166 11AA;D5E7;1112 1166 11AA;
+D5E8;D5E8;1112 1166 11AB;D5E8;1112 1166 11AB;
+D5E9;D5E9;1112 1166 11AC;D5E9;1112 1166 11AC;
+D5EA;D5EA;1112 1166 11AD;D5EA;1112 1166 11AD;
+D5EB;D5EB;1112 1166 11AE;D5EB;1112 1166 11AE;
+D5EC;D5EC;1112 1166 11AF;D5EC;1112 1166 11AF;
+D5ED;D5ED;1112 1166 11B0;D5ED;1112 1166 11B0;
+D5EE;D5EE;1112 1166 11B1;D5EE;1112 1166 11B1;
+D5EF;D5EF;1112 1166 11B2;D5EF;1112 1166 11B2;
+D5F0;D5F0;1112 1166 11B3;D5F0;1112 1166 11B3;
+D5F1;D5F1;1112 1166 11B4;D5F1;1112 1166 11B4;
+D5F2;D5F2;1112 1166 11B5;D5F2;1112 1166 11B5;
+D5F3;D5F3;1112 1166 11B6;D5F3;1112 1166 11B6;
+D5F4;D5F4;1112 1166 11B7;D5F4;1112 1166 11B7;
+D5F5;D5F5;1112 1166 11B8;D5F5;1112 1166 11B8;
+D5F6;D5F6;1112 1166 11B9;D5F6;1112 1166 11B9;
+D5F7;D5F7;1112 1166 11BA;D5F7;1112 1166 11BA;
+D5F8;D5F8;1112 1166 11BB;D5F8;1112 1166 11BB;
+D5F9;D5F9;1112 1166 11BC;D5F9;1112 1166 11BC;
+D5FA;D5FA;1112 1166 11BD;D5FA;1112 1166 11BD;
+D5FB;D5FB;1112 1166 11BE;D5FB;1112 1166 11BE;
+D5FC;D5FC;1112 1166 11BF;D5FC;1112 1166 11BF;
+D5FD;D5FD;1112 1166 11C0;D5FD;1112 1166 11C0;
+D5FE;D5FE;1112 1166 11C1;D5FE;1112 1166 11C1;
+D5FF;D5FF;1112 1166 11C2;D5FF;1112 1166 11C2;
+D600;D600;1112 1167;D600;1112 1167;
+D601;D601;1112 1167 11A8;D601;1112 1167 11A8;
+D602;D602;1112 1167 11A9;D602;1112 1167 11A9;
+D603;D603;1112 1167 11AA;D603;1112 1167 11AA;
+D604;D604;1112 1167 11AB;D604;1112 1167 11AB;
+D605;D605;1112 1167 11AC;D605;1112 1167 11AC;
+D606;D606;1112 1167 11AD;D606;1112 1167 11AD;
+D607;D607;1112 1167 11AE;D607;1112 1167 11AE;
+D608;D608;1112 1167 11AF;D608;1112 1167 11AF;
+D609;D609;1112 1167 11B0;D609;1112 1167 11B0;
+D60A;D60A;1112 1167 11B1;D60A;1112 1167 11B1;
+D60B;D60B;1112 1167 11B2;D60B;1112 1167 11B2;
+D60C;D60C;1112 1167 11B3;D60C;1112 1167 11B3;
+D60D;D60D;1112 1167 11B4;D60D;1112 1167 11B4;
+D60E;D60E;1112 1167 11B5;D60E;1112 1167 11B5;
+D60F;D60F;1112 1167 11B6;D60F;1112 1167 11B6;
+D610;D610;1112 1167 11B7;D610;1112 1167 11B7;
+D611;D611;1112 1167 11B8;D611;1112 1167 11B8;
+D612;D612;1112 1167 11B9;D612;1112 1167 11B9;
+D613;D613;1112 1167 11BA;D613;1112 1167 11BA;
+D614;D614;1112 1167 11BB;D614;1112 1167 11BB;
+D615;D615;1112 1167 11BC;D615;1112 1167 11BC;
+D616;D616;1112 1167 11BD;D616;1112 1167 11BD;
+D617;D617;1112 1167 11BE;D617;1112 1167 11BE;
+D618;D618;1112 1167 11BF;D618;1112 1167 11BF;
+D619;D619;1112 1167 11C0;D619;1112 1167 11C0;
+D61A;D61A;1112 1167 11C1;D61A;1112 1167 11C1;
+D61B;D61B;1112 1167 11C2;D61B;1112 1167 11C2;
+D61C;D61C;1112 1168;D61C;1112 1168;
+D61D;D61D;1112 1168 11A8;D61D;1112 1168 11A8;
+D61E;D61E;1112 1168 11A9;D61E;1112 1168 11A9;
+D61F;D61F;1112 1168 11AA;D61F;1112 1168 11AA;
+D620;D620;1112 1168 11AB;D620;1112 1168 11AB;
+D621;D621;1112 1168 11AC;D621;1112 1168 11AC;
+D622;D622;1112 1168 11AD;D622;1112 1168 11AD;
+D623;D623;1112 1168 11AE;D623;1112 1168 11AE;
+D624;D624;1112 1168 11AF;D624;1112 1168 11AF;
+D625;D625;1112 1168 11B0;D625;1112 1168 11B0;
+D626;D626;1112 1168 11B1;D626;1112 1168 11B1;
+D627;D627;1112 1168 11B2;D627;1112 1168 11B2;
+D628;D628;1112 1168 11B3;D628;1112 1168 11B3;
+D629;D629;1112 1168 11B4;D629;1112 1168 11B4;
+D62A;D62A;1112 1168 11B5;D62A;1112 1168 11B5;
+D62B;D62B;1112 1168 11B6;D62B;1112 1168 11B6;
+D62C;D62C;1112 1168 11B7;D62C;1112 1168 11B7;
+D62D;D62D;1112 1168 11B8;D62D;1112 1168 11B8;
+D62E;D62E;1112 1168 11B9;D62E;1112 1168 11B9;
+D62F;D62F;1112 1168 11BA;D62F;1112 1168 11BA;
+D630;D630;1112 1168 11BB;D630;1112 1168 11BB;
+D631;D631;1112 1168 11BC;D631;1112 1168 11BC;
+D632;D632;1112 1168 11BD;D632;1112 1168 11BD;
+D633;D633;1112 1168 11BE;D633;1112 1168 11BE;
+D634;D634;1112 1168 11BF;D634;1112 1168 11BF;
+D635;D635;1112 1168 11C0;D635;1112 1168 11C0;
+D636;D636;1112 1168 11C1;D636;1112 1168 11C1;
+D637;D637;1112 1168 11C2;D637;1112 1168 11C2;
+D638;D638;1112 1169;D638;1112 1169;
+D639;D639;1112 1169 11A8;D639;1112 1169 11A8;
+D63A;D63A;1112 1169 11A9;D63A;1112 1169 11A9;
+D63B;D63B;1112 1169 11AA;D63B;1112 1169 11AA;
+D63C;D63C;1112 1169 11AB;D63C;1112 1169 11AB;
+D63D;D63D;1112 1169 11AC;D63D;1112 1169 11AC;
+D63E;D63E;1112 1169 11AD;D63E;1112 1169 11AD;
+D63F;D63F;1112 1169 11AE;D63F;1112 1169 11AE;
+D640;D640;1112 1169 11AF;D640;1112 1169 11AF;
+D641;D641;1112 1169 11B0;D641;1112 1169 11B0;
+D642;D642;1112 1169 11B1;D642;1112 1169 11B1;
+D643;D643;1112 1169 11B2;D643;1112 1169 11B2;
+D644;D644;1112 1169 11B3;D644;1112 1169 11B3;
+D645;D645;1112 1169 11B4;D645;1112 1169 11B4;
+D646;D646;1112 1169 11B5;D646;1112 1169 11B5;
+D647;D647;1112 1169 11B6;D647;1112 1169 11B6;
+D648;D648;1112 1169 11B7;D648;1112 1169 11B7;
+D649;D649;1112 1169 11B8;D649;1112 1169 11B8;
+D64A;D64A;1112 1169 11B9;D64A;1112 1169 11B9;
+D64B;D64B;1112 1169 11BA;D64B;1112 1169 11BA;
+D64C;D64C;1112 1169 11BB;D64C;1112 1169 11BB;
+D64D;D64D;1112 1169 11BC;D64D;1112 1169 11BC;
+D64E;D64E;1112 1169 11BD;D64E;1112 1169 11BD;
+D64F;D64F;1112 1169 11BE;D64F;1112 1169 11BE;
+D650;D650;1112 1169 11BF;D650;1112 1169 11BF;
+D651;D651;1112 1169 11C0;D651;1112 1169 11C0;
+D652;D652;1112 1169 11C1;D652;1112 1169 11C1;
+D653;D653;1112 1169 11C2;D653;1112 1169 11C2;
+D654;D654;1112 116A;D654;1112 116A;
+D655;D655;1112 116A 11A8;D655;1112 116A 11A8;
+D656;D656;1112 116A 11A9;D656;1112 116A 11A9;
+D657;D657;1112 116A 11AA;D657;1112 116A 11AA;
+D658;D658;1112 116A 11AB;D658;1112 116A 11AB;
+D659;D659;1112 116A 11AC;D659;1112 116A 11AC;
+D65A;D65A;1112 116A 11AD;D65A;1112 116A 11AD;
+D65B;D65B;1112 116A 11AE;D65B;1112 116A 11AE;
+D65C;D65C;1112 116A 11AF;D65C;1112 116A 11AF;
+D65D;D65D;1112 116A 11B0;D65D;1112 116A 11B0;
+D65E;D65E;1112 116A 11B1;D65E;1112 116A 11B1;
+D65F;D65F;1112 116A 11B2;D65F;1112 116A 11B2;
+D660;D660;1112 116A 11B3;D660;1112 116A 11B3;
+D661;D661;1112 116A 11B4;D661;1112 116A 11B4;
+D662;D662;1112 116A 11B5;D662;1112 116A 11B5;
+D663;D663;1112 116A 11B6;D663;1112 116A 11B6;
+D664;D664;1112 116A 11B7;D664;1112 116A 11B7;
+D665;D665;1112 116A 11B8;D665;1112 116A 11B8;
+D666;D666;1112 116A 11B9;D666;1112 116A 11B9;
+D667;D667;1112 116A 11BA;D667;1112 116A 11BA;
+D668;D668;1112 116A 11BB;D668;1112 116A 11BB;
+D669;D669;1112 116A 11BC;D669;1112 116A 11BC;
+D66A;D66A;1112 116A 11BD;D66A;1112 116A 11BD;
+D66B;D66B;1112 116A 11BE;D66B;1112 116A 11BE;
+D66C;D66C;1112 116A 11BF;D66C;1112 116A 11BF;
+D66D;D66D;1112 116A 11C0;D66D;1112 116A 11C0;
+D66E;D66E;1112 116A 11C1;D66E;1112 116A 11C1;
+D66F;D66F;1112 116A 11C2;D66F;1112 116A 11C2;
+D670;D670;1112 116B;D670;1112 116B;
+D671;D671;1112 116B 11A8;D671;1112 116B 11A8;
+D672;D672;1112 116B 11A9;D672;1112 116B 11A9;
+D673;D673;1112 116B 11AA;D673;1112 116B 11AA;
+D674;D674;1112 116B 11AB;D674;1112 116B 11AB;
+D675;D675;1112 116B 11AC;D675;1112 116B 11AC;
+D676;D676;1112 116B 11AD;D676;1112 116B 11AD;
+D677;D677;1112 116B 11AE;D677;1112 116B 11AE;
+D678;D678;1112 116B 11AF;D678;1112 116B 11AF;
+D679;D679;1112 116B 11B0;D679;1112 116B 11B0;
+D67A;D67A;1112 116B 11B1;D67A;1112 116B 11B1;
+D67B;D67B;1112 116B 11B2;D67B;1112 116B 11B2;
+D67C;D67C;1112 116B 11B3;D67C;1112 116B 11B3;
+D67D;D67D;1112 116B 11B4;D67D;1112 116B 11B4;
+D67E;D67E;1112 116B 11B5;D67E;1112 116B 11B5;
+D67F;D67F;1112 116B 11B6;D67F;1112 116B 11B6;
+D680;D680;1112 116B 11B7;D680;1112 116B 11B7;
+D681;D681;1112 116B 11B8;D681;1112 116B 11B8;
+D682;D682;1112 116B 11B9;D682;1112 116B 11B9;
+D683;D683;1112 116B 11BA;D683;1112 116B 11BA;
+D684;D684;1112 116B 11BB;D684;1112 116B 11BB;
+D685;D685;1112 116B 11BC;D685;1112 116B 11BC;
+D686;D686;1112 116B 11BD;D686;1112 116B 11BD;
+D687;D687;1112 116B 11BE;D687;1112 116B 11BE;
+D688;D688;1112 116B 11BF;D688;1112 116B 11BF;
+D689;D689;1112 116B 11C0;D689;1112 116B 11C0;
+D68A;D68A;1112 116B 11C1;D68A;1112 116B 11C1;
+D68B;D68B;1112 116B 11C2;D68B;1112 116B 11C2;
+D68C;D68C;1112 116C;D68C;1112 116C;
+D68D;D68D;1112 116C 11A8;D68D;1112 116C 11A8;
+D68E;D68E;1112 116C 11A9;D68E;1112 116C 11A9;
+D68F;D68F;1112 116C 11AA;D68F;1112 116C 11AA;
+D690;D690;1112 116C 11AB;D690;1112 116C 11AB;
+D691;D691;1112 116C 11AC;D691;1112 116C 11AC;
+D692;D692;1112 116C 11AD;D692;1112 116C 11AD;
+D693;D693;1112 116C 11AE;D693;1112 116C 11AE;
+D694;D694;1112 116C 11AF;D694;1112 116C 11AF;
+D695;D695;1112 116C 11B0;D695;1112 116C 11B0;
+D696;D696;1112 116C 11B1;D696;1112 116C 11B1;
+D697;D697;1112 116C 11B2;D697;1112 116C 11B2;
+D698;D698;1112 116C 11B3;D698;1112 116C 11B3;
+D699;D699;1112 116C 11B4;D699;1112 116C 11B4;
+D69A;D69A;1112 116C 11B5;D69A;1112 116C 11B5;
+D69B;D69B;1112 116C 11B6;D69B;1112 116C 11B6;
+D69C;D69C;1112 116C 11B7;D69C;1112 116C 11B7;
+D69D;D69D;1112 116C 11B8;D69D;1112 116C 11B8;
+D69E;D69E;1112 116C 11B9;D69E;1112 116C 11B9;
+D69F;D69F;1112 116C 11BA;D69F;1112 116C 11BA;
+D6A0;D6A0;1112 116C 11BB;D6A0;1112 116C 11BB;
+D6A1;D6A1;1112 116C 11BC;D6A1;1112 116C 11BC;
+D6A2;D6A2;1112 116C 11BD;D6A2;1112 116C 11BD;
+D6A3;D6A3;1112 116C 11BE;D6A3;1112 116C 11BE;
+D6A4;D6A4;1112 116C 11BF;D6A4;1112 116C 11BF;
+D6A5;D6A5;1112 116C 11C0;D6A5;1112 116C 11C0;
+D6A6;D6A6;1112 116C 11C1;D6A6;1112 116C 11C1;
+D6A7;D6A7;1112 116C 11C2;D6A7;1112 116C 11C2;
+D6A8;D6A8;1112 116D;D6A8;1112 116D;
+D6A9;D6A9;1112 116D 11A8;D6A9;1112 116D 11A8;
+D6AA;D6AA;1112 116D 11A9;D6AA;1112 116D 11A9;
+D6AB;D6AB;1112 116D 11AA;D6AB;1112 116D 11AA;
+D6AC;D6AC;1112 116D 11AB;D6AC;1112 116D 11AB;
+D6AD;D6AD;1112 116D 11AC;D6AD;1112 116D 11AC;
+D6AE;D6AE;1112 116D 11AD;D6AE;1112 116D 11AD;
+D6AF;D6AF;1112 116D 11AE;D6AF;1112 116D 11AE;
+D6B0;D6B0;1112 116D 11AF;D6B0;1112 116D 11AF;
+D6B1;D6B1;1112 116D 11B0;D6B1;1112 116D 11B0;
+D6B2;D6B2;1112 116D 11B1;D6B2;1112 116D 11B1;
+D6B3;D6B3;1112 116D 11B2;D6B3;1112 116D 11B2;
+D6B4;D6B4;1112 116D 11B3;D6B4;1112 116D 11B3;
+D6B5;D6B5;1112 116D 11B4;D6B5;1112 116D 11B4;
+D6B6;D6B6;1112 116D 11B5;D6B6;1112 116D 11B5;
+D6B7;D6B7;1112 116D 11B6;D6B7;1112 116D 11B6;
+D6B8;D6B8;1112 116D 11B7;D6B8;1112 116D 11B7;
+D6B9;D6B9;1112 116D 11B8;D6B9;1112 116D 11B8;
+D6BA;D6BA;1112 116D 11B9;D6BA;1112 116D 11B9;
+D6BB;D6BB;1112 116D 11BA;D6BB;1112 116D 11BA;
+D6BC;D6BC;1112 116D 11BB;D6BC;1112 116D 11BB;
+D6BD;D6BD;1112 116D 11BC;D6BD;1112 116D 11BC;
+D6BE;D6BE;1112 116D 11BD;D6BE;1112 116D 11BD;
+D6BF;D6BF;1112 116D 11BE;D6BF;1112 116D 11BE;
+D6C0;D6C0;1112 116D 11BF;D6C0;1112 116D 11BF;
+D6C1;D6C1;1112 116D 11C0;D6C1;1112 116D 11C0;
+D6C2;D6C2;1112 116D 11C1;D6C2;1112 116D 11C1;
+D6C3;D6C3;1112 116D 11C2;D6C3;1112 116D 11C2;
+D6C4;D6C4;1112 116E;D6C4;1112 116E;
+D6C5;D6C5;1112 116E 11A8;D6C5;1112 116E 11A8;
+D6C6;D6C6;1112 116E 11A9;D6C6;1112 116E 11A9;
+D6C7;D6C7;1112 116E 11AA;D6C7;1112 116E 11AA;
+D6C8;D6C8;1112 116E 11AB;D6C8;1112 116E 11AB;
+D6C9;D6C9;1112 116E 11AC;D6C9;1112 116E 11AC;
+D6CA;D6CA;1112 116E 11AD;D6CA;1112 116E 11AD;
+D6CB;D6CB;1112 116E 11AE;D6CB;1112 116E 11AE;
+D6CC;D6CC;1112 116E 11AF;D6CC;1112 116E 11AF;
+D6CD;D6CD;1112 116E 11B0;D6CD;1112 116E 11B0;
+D6CE;D6CE;1112 116E 11B1;D6CE;1112 116E 11B1;
+D6CF;D6CF;1112 116E 11B2;D6CF;1112 116E 11B2;
+D6D0;D6D0;1112 116E 11B3;D6D0;1112 116E 11B3;
+D6D1;D6D1;1112 116E 11B4;D6D1;1112 116E 11B4;
+D6D2;D6D2;1112 116E 11B5;D6D2;1112 116E 11B5;
+D6D3;D6D3;1112 116E 11B6;D6D3;1112 116E 11B6;
+D6D4;D6D4;1112 116E 11B7;D6D4;1112 116E 11B7;
+D6D5;D6D5;1112 116E 11B8;D6D5;1112 116E 11B8;
+D6D6;D6D6;1112 116E 11B9;D6D6;1112 116E 11B9;
+D6D7;D6D7;1112 116E 11BA;D6D7;1112 116E 11BA;
+D6D8;D6D8;1112 116E 11BB;D6D8;1112 116E 11BB;
+D6D9;D6D9;1112 116E 11BC;D6D9;1112 116E 11BC;
+D6DA;D6DA;1112 116E 11BD;D6DA;1112 116E 11BD;
+D6DB;D6DB;1112 116E 11BE;D6DB;1112 116E 11BE;
+D6DC;D6DC;1112 116E 11BF;D6DC;1112 116E 11BF;
+D6DD;D6DD;1112 116E 11C0;D6DD;1112 116E 11C0;
+D6DE;D6DE;1112 116E 11C1;D6DE;1112 116E 11C1;
+D6DF;D6DF;1112 116E 11C2;D6DF;1112 116E 11C2;
+D6E0;D6E0;1112 116F;D6E0;1112 116F;
+D6E1;D6E1;1112 116F 11A8;D6E1;1112 116F 11A8;
+D6E2;D6E2;1112 116F 11A9;D6E2;1112 116F 11A9;
+D6E3;D6E3;1112 116F 11AA;D6E3;1112 116F 11AA;
+D6E4;D6E4;1112 116F 11AB;D6E4;1112 116F 11AB;
+D6E5;D6E5;1112 116F 11AC;D6E5;1112 116F 11AC;
+D6E6;D6E6;1112 116F 11AD;D6E6;1112 116F 11AD;
+D6E7;D6E7;1112 116F 11AE;D6E7;1112 116F 11AE;
+D6E8;D6E8;1112 116F 11AF;D6E8;1112 116F 11AF;
+D6E9;D6E9;1112 116F 11B0;D6E9;1112 116F 11B0;
+D6EA;D6EA;1112 116F 11B1;D6EA;1112 116F 11B1;
+D6EB;D6EB;1112 116F 11B2;D6EB;1112 116F 11B2;
+D6EC;D6EC;1112 116F 11B3;D6EC;1112 116F 11B3;
+D6ED;D6ED;1112 116F 11B4;D6ED;1112 116F 11B4;
+D6EE;D6EE;1112 116F 11B5;D6EE;1112 116F 11B5;
+D6EF;D6EF;1112 116F 11B6;D6EF;1112 116F 11B6;
+D6F0;D6F0;1112 116F 11B7;D6F0;1112 116F 11B7;
+D6F1;D6F1;1112 116F 11B8;D6F1;1112 116F 11B8;
+D6F2;D6F2;1112 116F 11B9;D6F2;1112 116F 11B9;
+D6F3;D6F3;1112 116F 11BA;D6F3;1112 116F 11BA;
+D6F4;D6F4;1112 116F 11BB;D6F4;1112 116F 11BB;
+D6F5;D6F5;1112 116F 11BC;D6F5;1112 116F 11BC;
+D6F6;D6F6;1112 116F 11BD;D6F6;1112 116F 11BD;
+D6F7;D6F7;1112 116F 11BE;D6F7;1112 116F 11BE;
+D6F8;D6F8;1112 116F 11BF;D6F8;1112 116F 11BF;
+D6F9;D6F9;1112 116F 11C0;D6F9;1112 116F 11C0;
+D6FA;D6FA;1112 116F 11C1;D6FA;1112 116F 11C1;
+D6FB;D6FB;1112 116F 11C2;D6FB;1112 116F 11C2;
+D6FC;D6FC;1112 1170;D6FC;1112 1170;
+D6FD;D6FD;1112 1170 11A8;D6FD;1112 1170 11A8;
+D6FE;D6FE;1112 1170 11A9;D6FE;1112 1170 11A9;
+D6FF;D6FF;1112 1170 11AA;D6FF;1112 1170 11AA;
+D700;D700;1112 1170 11AB;D700;1112 1170 11AB;
+D701;D701;1112 1170 11AC;D701;1112 1170 11AC;
+D702;D702;1112 1170 11AD;D702;1112 1170 11AD;
+D703;D703;1112 1170 11AE;D703;1112 1170 11AE;
+D704;D704;1112 1170 11AF;D704;1112 1170 11AF;
+D705;D705;1112 1170 11B0;D705;1112 1170 11B0;
+D706;D706;1112 1170 11B1;D706;1112 1170 11B1;
+D707;D707;1112 1170 11B2;D707;1112 1170 11B2;
+D708;D708;1112 1170 11B3;D708;1112 1170 11B3;
+D709;D709;1112 1170 11B4;D709;1112 1170 11B4;
+D70A;D70A;1112 1170 11B5;D70A;1112 1170 11B5;
+D70B;D70B;1112 1170 11B6;D70B;1112 1170 11B6;
+D70C;D70C;1112 1170 11B7;D70C;1112 1170 11B7;
+D70D;D70D;1112 1170 11B8;D70D;1112 1170 11B8;
+D70E;D70E;1112 1170 11B9;D70E;1112 1170 11B9;
+D70F;D70F;1112 1170 11BA;D70F;1112 1170 11BA;
+D710;D710;1112 1170 11BB;D710;1112 1170 11BB;
+D711;D711;1112 1170 11BC;D711;1112 1170 11BC;
+D712;D712;1112 1170 11BD;D712;1112 1170 11BD;
+D713;D713;1112 1170 11BE;D713;1112 1170 11BE;
+D714;D714;1112 1170 11BF;D714;1112 1170 11BF;
+D715;D715;1112 1170 11C0;D715;1112 1170 11C0;
+D716;D716;1112 1170 11C1;D716;1112 1170 11C1;
+D717;D717;1112 1170 11C2;D717;1112 1170 11C2;
+D718;D718;1112 1171;D718;1112 1171;
+D719;D719;1112 1171 11A8;D719;1112 1171 11A8;
+D71A;D71A;1112 1171 11A9;D71A;1112 1171 11A9;
+D71B;D71B;1112 1171 11AA;D71B;1112 1171 11AA;
+D71C;D71C;1112 1171 11AB;D71C;1112 1171 11AB;
+D71D;D71D;1112 1171 11AC;D71D;1112 1171 11AC;
+D71E;D71E;1112 1171 11AD;D71E;1112 1171 11AD;
+D71F;D71F;1112 1171 11AE;D71F;1112 1171 11AE;
+D720;D720;1112 1171 11AF;D720;1112 1171 11AF;
+D721;D721;1112 1171 11B0;D721;1112 1171 11B0;
+D722;D722;1112 1171 11B1;D722;1112 1171 11B1;
+D723;D723;1112 1171 11B2;D723;1112 1171 11B2;
+D724;D724;1112 1171 11B3;D724;1112 1171 11B3;
+D725;D725;1112 1171 11B4;D725;1112 1171 11B4;
+D726;D726;1112 1171 11B5;D726;1112 1171 11B5;
+D727;D727;1112 1171 11B6;D727;1112 1171 11B6;
+D728;D728;1112 1171 11B7;D728;1112 1171 11B7;
+D729;D729;1112 1171 11B8;D729;1112 1171 11B8;
+D72A;D72A;1112 1171 11B9;D72A;1112 1171 11B9;
+D72B;D72B;1112 1171 11BA;D72B;1112 1171 11BA;
+D72C;D72C;1112 1171 11BB;D72C;1112 1171 11BB;
+D72D;D72D;1112 1171 11BC;D72D;1112 1171 11BC;
+D72E;D72E;1112 1171 11BD;D72E;1112 1171 11BD;
+D72F;D72F;1112 1171 11BE;D72F;1112 1171 11BE;
+D730;D730;1112 1171 11BF;D730;1112 1171 11BF;
+D731;D731;1112 1171 11C0;D731;1112 1171 11C0;
+D732;D732;1112 1171 11C1;D732;1112 1171 11C1;
+D733;D733;1112 1171 11C2;D733;1112 1171 11C2;
+D734;D734;1112 1172;D734;1112 1172;
+D735;D735;1112 1172 11A8;D735;1112 1172 11A8;
+D736;D736;1112 1172 11A9;D736;1112 1172 11A9;
+D737;D737;1112 1172 11AA;D737;1112 1172 11AA;
+D738;D738;1112 1172 11AB;D738;1112 1172 11AB;
+D739;D739;1112 1172 11AC;D739;1112 1172 11AC;
+D73A;D73A;1112 1172 11AD;D73A;1112 1172 11AD;
+D73B;D73B;1112 1172 11AE;D73B;1112 1172 11AE;
+D73C;D73C;1112 1172 11AF;D73C;1112 1172 11AF;
+D73D;D73D;1112 1172 11B0;D73D;1112 1172 11B0;
+D73E;D73E;1112 1172 11B1;D73E;1112 1172 11B1;
+D73F;D73F;1112 1172 11B2;D73F;1112 1172 11B2;
+D740;D740;1112 1172 11B3;D740;1112 1172 11B3;
+D741;D741;1112 1172 11B4;D741;1112 1172 11B4;
+D742;D742;1112 1172 11B5;D742;1112 1172 11B5;
+D743;D743;1112 1172 11B6;D743;1112 1172 11B6;
+D744;D744;1112 1172 11B7;D744;1112 1172 11B7;
+D745;D745;1112 1172 11B8;D745;1112 1172 11B8;
+D746;D746;1112 1172 11B9;D746;1112 1172 11B9;
+D747;D747;1112 1172 11BA;D747;1112 1172 11BA;
+D748;D748;1112 1172 11BB;D748;1112 1172 11BB;
+D749;D749;1112 1172 11BC;D749;1112 1172 11BC;
+D74A;D74A;1112 1172 11BD;D74A;1112 1172 11BD;
+D74B;D74B;1112 1172 11BE;D74B;1112 1172 11BE;
+D74C;D74C;1112 1172 11BF;D74C;1112 1172 11BF;
+D74D;D74D;1112 1172 11C0;D74D;1112 1172 11C0;
+D74E;D74E;1112 1172 11C1;D74E;1112 1172 11C1;
+D74F;D74F;1112 1172 11C2;D74F;1112 1172 11C2;
+D750;D750;1112 1173;D750;1112 1173;
+D751;D751;1112 1173 11A8;D751;1112 1173 11A8;
+D752;D752;1112 1173 11A9;D752;1112 1173 11A9;
+D753;D753;1112 1173 11AA;D753;1112 1173 11AA;
+D754;D754;1112 1173 11AB;D754;1112 1173 11AB;
+D755;D755;1112 1173 11AC;D755;1112 1173 11AC;
+D756;D756;1112 1173 11AD;D756;1112 1173 11AD;
+D757;D757;1112 1173 11AE;D757;1112 1173 11AE;
+D758;D758;1112 1173 11AF;D758;1112 1173 11AF;
+D759;D759;1112 1173 11B0;D759;1112 1173 11B0;
+D75A;D75A;1112 1173 11B1;D75A;1112 1173 11B1;
+D75B;D75B;1112 1173 11B2;D75B;1112 1173 11B2;
+D75C;D75C;1112 1173 11B3;D75C;1112 1173 11B3;
+D75D;D75D;1112 1173 11B4;D75D;1112 1173 11B4;
+D75E;D75E;1112 1173 11B5;D75E;1112 1173 11B5;
+D75F;D75F;1112 1173 11B6;D75F;1112 1173 11B6;
+D760;D760;1112 1173 11B7;D760;1112 1173 11B7;
+D761;D761;1112 1173 11B8;D761;1112 1173 11B8;
+D762;D762;1112 1173 11B9;D762;1112 1173 11B9;
+D763;D763;1112 1173 11BA;D763;1112 1173 11BA;
+D764;D764;1112 1173 11BB;D764;1112 1173 11BB;
+D765;D765;1112 1173 11BC;D765;1112 1173 11BC;
+D766;D766;1112 1173 11BD;D766;1112 1173 11BD;
+D767;D767;1112 1173 11BE;D767;1112 1173 11BE;
+D768;D768;1112 1173 11BF;D768;1112 1173 11BF;
+D769;D769;1112 1173 11C0;D769;1112 1173 11C0;
+D76A;D76A;1112 1173 11C1;D76A;1112 1173 11C1;
+D76B;D76B;1112 1173 11C2;D76B;1112 1173 11C2;
+D76C;D76C;1112 1174;D76C;1112 1174;
+D76D;D76D;1112 1174 11A8;D76D;1112 1174 11A8;
+D76E;D76E;1112 1174 11A9;D76E;1112 1174 11A9;
+D76F;D76F;1112 1174 11AA;D76F;1112 1174 11AA;
+D770;D770;1112 1174 11AB;D770;1112 1174 11AB;
+D771;D771;1112 1174 11AC;D771;1112 1174 11AC;
+D772;D772;1112 1174 11AD;D772;1112 1174 11AD;
+D773;D773;1112 1174 11AE;D773;1112 1174 11AE;
+D774;D774;1112 1174 11AF;D774;1112 1174 11AF;
+D775;D775;1112 1174 11B0;D775;1112 1174 11B0;
+D776;D776;1112 1174 11B1;D776;1112 1174 11B1;
+D777;D777;1112 1174 11B2;D777;1112 1174 11B2;
+D778;D778;1112 1174 11B3;D778;1112 1174 11B3;
+D779;D779;1112 1174 11B4;D779;1112 1174 11B4;
+D77A;D77A;1112 1174 11B5;D77A;1112 1174 11B5;
+D77B;D77B;1112 1174 11B6;D77B;1112 1174 11B6;
+D77C;D77C;1112 1174 11B7;D77C;1112 1174 11B7;
+D77D;D77D;1112 1174 11B8;D77D;1112 1174 11B8;
+D77E;D77E;1112 1174 11B9;D77E;1112 1174 11B9;
+D77F;D77F;1112 1174 11BA;D77F;1112 1174 11BA;
+D780;D780;1112 1174 11BB;D780;1112 1174 11BB;
+D781;D781;1112 1174 11BC;D781;1112 1174 11BC;
+D782;D782;1112 1174 11BD;D782;1112 1174 11BD;
+D783;D783;1112 1174 11BE;D783;1112 1174 11BE;
+D784;D784;1112 1174 11BF;D784;1112 1174 11BF;
+D785;D785;1112 1174 11C0;D785;1112 1174 11C0;
+D786;D786;1112 1174 11C1;D786;1112 1174 11C1;
+D787;D787;1112 1174 11C2;D787;1112 1174 11C2;
+D788;D788;1112 1175;D788;1112 1175;
+D789;D789;1112 1175 11A8;D789;1112 1175 11A8;
+D78A;D78A;1112 1175 11A9;D78A;1112 1175 11A9;
+D78B;D78B;1112 1175 11AA;D78B;1112 1175 11AA;
+D78C;D78C;1112 1175 11AB;D78C;1112 1175 11AB;
+D78D;D78D;1112 1175 11AC;D78D;1112 1175 11AC;
+D78E;D78E;1112 1175 11AD;D78E;1112 1175 11AD;
+D78F;D78F;1112 1175 11AE;D78F;1112 1175 11AE;
+D790;D790;1112 1175 11AF;D790;1112 1175 11AF;
+D791;D791;1112 1175 11B0;D791;1112 1175 11B0;
+D792;D792;1112 1175 11B1;D792;1112 1175 11B1;
+D793;D793;1112 1175 11B2;D793;1112 1175 11B2;
+D794;D794;1112 1175 11B3;D794;1112 1175 11B3;
+D795;D795;1112 1175 11B4;D795;1112 1175 11B4;
+D796;D796;1112 1175 11B5;D796;1112 1175 11B5;
+D797;D797;1112 1175 11B6;D797;1112 1175 11B6;
+D798;D798;1112 1175 11B7;D798;1112 1175 11B7;
+D799;D799;1112 1175 11B8;D799;1112 1175 11B8;
+D79A;D79A;1112 1175 11B9;D79A;1112 1175 11B9;
+D79B;D79B;1112 1175 11BA;D79B;1112 1175 11BA;
+D79C;D79C;1112 1175 11BB;D79C;1112 1175 11BB;
+D79D;D79D;1112 1175 11BC;D79D;1112 1175 11BC;
+D79E;D79E;1112 1175 11BD;D79E;1112 1175 11BD;
+D79F;D79F;1112 1175 11BE;D79F;1112 1175 11BE;
+D7A0;D7A0;1112 1175 11BF;D7A0;1112 1175 11BF;
+D7A1;D7A1;1112 1175 11C0;D7A1;1112 1175 11C0;
+D7A2;D7A2;1112 1175 11C1;D7A2;1112 1175 11C1;
+D7A3;D7A3;1112 1175 11C2;D7A3;1112 1175 11C2;
+F900;8C48;8C48;8C48;8C48;
+F901;66F4;66F4;66F4;66F4;
+F902;8ECA;8ECA;8ECA;8ECA;
+F903;8CC8;8CC8;8CC8;8CC8;
+F904;6ED1;6ED1;6ED1;6ED1;
+F905;4E32;4E32;4E32;4E32;
+F906;53E5;53E5;53E5;53E5;
+F907;9F9C;9F9C;9F9C;9F9C;
+F908;9F9C;9F9C;9F9C;9F9C;
+F909;5951;5951;5951;5951;
+F90A;91D1;91D1;91D1;91D1;
+F90B;5587;5587;5587;5587;
+F90C;5948;5948;5948;5948;
+F90D;61F6;61F6;61F6;61F6;
+F90E;7669;7669;7669;7669;
+F90F;7F85;7F85;7F85;7F85;
+F910;863F;863F;863F;863F;
+F911;87BA;87BA;87BA;87BA;
+F912;88F8;88F8;88F8;88F8;
+F913;908F;908F;908F;908F;
+F914;6A02;6A02;6A02;6A02;
+F915;6D1B;6D1B;6D1B;6D1B;
+F916;70D9;70D9;70D9;70D9;
+F917;73DE;73DE;73DE;73DE;
+F918;843D;843D;843D;843D;
+F919;916A;916A;916A;916A;
+F91A;99F1;99F1;99F1;99F1;
+F91B;4E82;4E82;4E82;4E82;
+F91C;5375;5375;5375;5375;
+F91D;6B04;6B04;6B04;6B04;
+F91E;721B;721B;721B;721B;
+F91F;862D;862D;862D;862D;
+F920;9E1E;9E1E;9E1E;9E1E;
+F921;5D50;5D50;5D50;5D50;
+F922;6FEB;6FEB;6FEB;6FEB;
+F923;85CD;85CD;85CD;85CD;
+F924;8964;8964;8964;8964;
+F925;62C9;62C9;62C9;62C9;
+F926;81D8;81D8;81D8;81D8;
+F927;881F;881F;881F;881F;
+F928;5ECA;5ECA;5ECA;5ECA;
+F929;6717;6717;6717;6717;
+F92A;6D6A;6D6A;6D6A;6D6A;
+F92B;72FC;72FC;72FC;72FC;
+F92C;90CE;90CE;90CE;90CE;
+F92D;4F86;4F86;4F86;4F86;
+F92E;51B7;51B7;51B7;51B7;
+F92F;52DE;52DE;52DE;52DE;
+F930;64C4;64C4;64C4;64C4;
+F931;6AD3;6AD3;6AD3;6AD3;
+F932;7210;7210;7210;7210;
+F933;76E7;76E7;76E7;76E7;
+F934;8001;8001;8001;8001;
+F935;8606;8606;8606;8606;
+F936;865C;865C;865C;865C;
+F937;8DEF;8DEF;8DEF;8DEF;
+F938;9732;9732;9732;9732;
+F939;9B6F;9B6F;9B6F;9B6F;
+F93A;9DFA;9DFA;9DFA;9DFA;
+F93B;788C;788C;788C;788C;
+F93C;797F;797F;797F;797F;
+F93D;7DA0;7DA0;7DA0;7DA0;
+F93E;83C9;83C9;83C9;83C9;
+F93F;9304;9304;9304;9304;
+F940;9E7F;9E7F;9E7F;9E7F;
+F941;8AD6;8AD6;8AD6;8AD6;
+F942;58DF;58DF;58DF;58DF;
+F943;5F04;5F04;5F04;5F04;
+F944;7C60;7C60;7C60;7C60;
+F945;807E;807E;807E;807E;
+F946;7262;7262;7262;7262;
+F947;78CA;78CA;78CA;78CA;
+F948;8CC2;8CC2;8CC2;8CC2;
+F949;96F7;96F7;96F7;96F7;
+F94A;58D8;58D8;58D8;58D8;
+F94B;5C62;5C62;5C62;5C62;
+F94C;6A13;6A13;6A13;6A13;
+F94D;6DDA;6DDA;6DDA;6DDA;
+F94E;6F0F;6F0F;6F0F;6F0F;
+F94F;7D2F;7D2F;7D2F;7D2F;
+F950;7E37;7E37;7E37;7E37;
+F951;964B;964B;964B;964B;
+F952;52D2;52D2;52D2;52D2;
+F953;808B;808B;808B;808B;
+F954;51DC;51DC;51DC;51DC;
+F955;51CC;51CC;51CC;51CC;
+F956;7A1C;7A1C;7A1C;7A1C;
+F957;7DBE;7DBE;7DBE;7DBE;
+F958;83F1;83F1;83F1;83F1;
+F959;9675;9675;9675;9675;
+F95A;8B80;8B80;8B80;8B80;
+F95B;62CF;62CF;62CF;62CF;
+F95C;6A02;6A02;6A02;6A02;
+F95D;8AFE;8AFE;8AFE;8AFE;
+F95E;4E39;4E39;4E39;4E39;
+F95F;5BE7;5BE7;5BE7;5BE7;
+F960;6012;6012;6012;6012;
+F961;7387;7387;7387;7387;
+F962;7570;7570;7570;7570;
+F963;5317;5317;5317;5317;
+F964;78FB;78FB;78FB;78FB;
+F965;4FBF;4FBF;4FBF;4FBF;
+F966;5FA9;5FA9;5FA9;5FA9;
+F967;4E0D;4E0D;4E0D;4E0D;
+F968;6CCC;6CCC;6CCC;6CCC;
+F969;6578;6578;6578;6578;
+F96A;7D22;7D22;7D22;7D22;
+F96B;53C3;53C3;53C3;53C3;
+F96C;585E;585E;585E;585E;
+F96D;7701;7701;7701;7701;
+F96E;8449;8449;8449;8449;
+F96F;8AAA;8AAA;8AAA;8AAA;
+F970;6BBA;6BBA;6BBA;6BBA;
+F971;8FB0;8FB0;8FB0;8FB0;
+F972;6C88;6C88;6C88;6C88;
+F973;62FE;62FE;62FE;62FE;
+F974;82E5;82E5;82E5;82E5;
+F975;63A0;63A0;63A0;63A0;
+F976;7565;7565;7565;7565;
+F977;4EAE;4EAE;4EAE;4EAE;
+F978;5169;5169;5169;5169;
+F979;51C9;51C9;51C9;51C9;
+F97A;6881;6881;6881;6881;
+F97B;7CE7;7CE7;7CE7;7CE7;
+F97C;826F;826F;826F;826F;
+F97D;8AD2;8AD2;8AD2;8AD2;
+F97E;91CF;91CF;91CF;91CF;
+F97F;52F5;52F5;52F5;52F5;
+F980;5442;5442;5442;5442;
+F981;5973;5973;5973;5973;
+F982;5EEC;5EEC;5EEC;5EEC;
+F983;65C5;65C5;65C5;65C5;
+F984;6FFE;6FFE;6FFE;6FFE;
+F985;792A;792A;792A;792A;
+F986;95AD;95AD;95AD;95AD;
+F987;9A6A;9A6A;9A6A;9A6A;
+F988;9E97;9E97;9E97;9E97;
+F989;9ECE;9ECE;9ECE;9ECE;
+F98A;529B;529B;529B;529B;
+F98B;66C6;66C6;66C6;66C6;
+F98C;6B77;6B77;6B77;6B77;
+F98D;8F62;8F62;8F62;8F62;
+F98E;5E74;5E74;5E74;5E74;
+F98F;6190;6190;6190;6190;
+F990;6200;6200;6200;6200;
+F991;649A;649A;649A;649A;
+F992;6F23;6F23;6F23;6F23;
+F993;7149;7149;7149;7149;
+F994;7489;7489;7489;7489;
+F995;79CA;79CA;79CA;79CA;
+F996;7DF4;7DF4;7DF4;7DF4;
+F997;806F;806F;806F;806F;
+F998;8F26;8F26;8F26;8F26;
+F999;84EE;84EE;84EE;84EE;
+F99A;9023;9023;9023;9023;
+F99B;934A;934A;934A;934A;
+F99C;5217;5217;5217;5217;
+F99D;52A3;52A3;52A3;52A3;
+F99E;54BD;54BD;54BD;54BD;
+F99F;70C8;70C8;70C8;70C8;
+F9A0;88C2;88C2;88C2;88C2;
+F9A1;8AAA;8AAA;8AAA;8AAA;
+F9A2;5EC9;5EC9;5EC9;5EC9;
+F9A3;5FF5;5FF5;5FF5;5FF5;
+F9A4;637B;637B;637B;637B;
+F9A5;6BAE;6BAE;6BAE;6BAE;
+F9A6;7C3E;7C3E;7C3E;7C3E;
+F9A7;7375;7375;7375;7375;
+F9A8;4EE4;4EE4;4EE4;4EE4;
+F9A9;56F9;56F9;56F9;56F9;
+F9AA;5BE7;5BE7;5BE7;5BE7;
+F9AB;5DBA;5DBA;5DBA;5DBA;
+F9AC;601C;601C;601C;601C;
+F9AD;73B2;73B2;73B2;73B2;
+F9AE;7469;7469;7469;7469;
+F9AF;7F9A;7F9A;7F9A;7F9A;
+F9B0;8046;8046;8046;8046;
+F9B1;9234;9234;9234;9234;
+F9B2;96F6;96F6;96F6;96F6;
+F9B3;9748;9748;9748;9748;
+F9B4;9818;9818;9818;9818;
+F9B5;4F8B;4F8B;4F8B;4F8B;
+F9B6;79AE;79AE;79AE;79AE;
+F9B7;91B4;91B4;91B4;91B4;
+F9B8;96B8;96B8;96B8;96B8;
+F9B9;60E1;60E1;60E1;60E1;
+F9BA;4E86;4E86;4E86;4E86;
+F9BB;50DA;50DA;50DA;50DA;
+F9BC;5BEE;5BEE;5BEE;5BEE;
+F9BD;5C3F;5C3F;5C3F;5C3F;
+F9BE;6599;6599;6599;6599;
+F9BF;6A02;6A02;6A02;6A02;
+F9C0;71CE;71CE;71CE;71CE;
+F9C1;7642;7642;7642;7642;
+F9C2;84FC;84FC;84FC;84FC;
+F9C3;907C;907C;907C;907C;
+F9C4;9F8D;9F8D;9F8D;9F8D;
+F9C5;6688;6688;6688;6688;
+F9C6;962E;962E;962E;962E;
+F9C7;5289;5289;5289;5289;
+F9C8;677B;677B;677B;677B;
+F9C9;67F3;67F3;67F3;67F3;
+F9CA;6D41;6D41;6D41;6D41;
+F9CB;6E9C;6E9C;6E9C;6E9C;
+F9CC;7409;7409;7409;7409;
+F9CD;7559;7559;7559;7559;
+F9CE;786B;786B;786B;786B;
+F9CF;7D10;7D10;7D10;7D10;
+F9D0;985E;985E;985E;985E;
+F9D1;516D;516D;516D;516D;
+F9D2;622E;622E;622E;622E;
+F9D3;9678;9678;9678;9678;
+F9D4;502B;502B;502B;502B;
+F9D5;5D19;5D19;5D19;5D19;
+F9D6;6DEA;6DEA;6DEA;6DEA;
+F9D7;8F2A;8F2A;8F2A;8F2A;
+F9D8;5F8B;5F8B;5F8B;5F8B;
+F9D9;6144;6144;6144;6144;
+F9DA;6817;6817;6817;6817;
+F9DB;7387;7387;7387;7387;
+F9DC;9686;9686;9686;9686;
+F9DD;5229;5229;5229;5229;
+F9DE;540F;540F;540F;540F;
+F9DF;5C65;5C65;5C65;5C65;
+F9E0;6613;6613;6613;6613;
+F9E1;674E;674E;674E;674E;
+F9E2;68A8;68A8;68A8;68A8;
+F9E3;6CE5;6CE5;6CE5;6CE5;
+F9E4;7406;7406;7406;7406;
+F9E5;75E2;75E2;75E2;75E2;
+F9E6;7F79;7F79;7F79;7F79;
+F9E7;88CF;88CF;88CF;88CF;
+F9E8;88E1;88E1;88E1;88E1;
+F9E9;91CC;91CC;91CC;91CC;
+F9EA;96E2;96E2;96E2;96E2;
+F9EB;533F;533F;533F;533F;
+F9EC;6EBA;6EBA;6EBA;6EBA;
+F9ED;541D;541D;541D;541D;
+F9EE;71D0;71D0;71D0;71D0;
+F9EF;7498;7498;7498;7498;
+F9F0;85FA;85FA;85FA;85FA;
+F9F1;96A3;96A3;96A3;96A3;
+F9F2;9C57;9C57;9C57;9C57;
+F9F3;9E9F;9E9F;9E9F;9E9F;
+F9F4;6797;6797;6797;6797;
+F9F5;6DCB;6DCB;6DCB;6DCB;
+F9F6;81E8;81E8;81E8;81E8;
+F9F7;7ACB;7ACB;7ACB;7ACB;
+F9F8;7B20;7B20;7B20;7B20;
+F9F9;7C92;7C92;7C92;7C92;
+F9FA;72C0;72C0;72C0;72C0;
+F9FB;7099;7099;7099;7099;
+F9FC;8B58;8B58;8B58;8B58;
+F9FD;4EC0;4EC0;4EC0;4EC0;
+F9FE;8336;8336;8336;8336;
+F9FF;523A;523A;523A;523A;
+FA00;5207;5207;5207;5207;
+FA01;5EA6;5EA6;5EA6;5EA6;
+FA02;62D3;62D3;62D3;62D3;
+FA03;7CD6;7CD6;7CD6;7CD6;
+FA04;5B85;5B85;5B85;5B85;
+FA05;6D1E;6D1E;6D1E;6D1E;
+FA06;66B4;66B4;66B4;66B4;
+FA07;8F3B;8F3B;8F3B;8F3B;
+FA08;884C;884C;884C;884C;
+FA09;964D;964D;964D;964D;
+FA0A;898B;898B;898B;898B;
+FA0B;5ED3;5ED3;5ED3;5ED3;
+FA0C;5140;5140;5140;5140;
+FA0D;55C0;55C0;55C0;55C0;
+FA10;585A;585A;585A;585A;
+FA12;6674;6674;6674;6674;
+FA15;51DE;51DE;51DE;51DE;
+FA16;732A;732A;732A;732A;
+FA17;76CA;76CA;76CA;76CA;
+FA18;793C;793C;793C;793C;
+FA19;795E;795E;795E;795E;
+FA1A;7965;7965;7965;7965;
+FA1B;798F;798F;798F;798F;
+FA1C;9756;9756;9756;9756;
+FA1D;7CBE;7CBE;7CBE;7CBE;
+FA1E;7FBD;7FBD;7FBD;7FBD;
+FA20;8612;8612;8612;8612;
+FA22;8AF8;8AF8;8AF8;8AF8;
+FA25;9038;9038;9038;9038;
+FA26;90FD;90FD;90FD;90FD;
+FA2A;98EF;98EF;98EF;98EF;
+FA2B;98FC;98FC;98FC;98FC;
+FA2C;9928;9928;9928;9928;
+FA2D;9DB4;9DB4;9DB4;9DB4;
+FA30;4FAE;4FAE;4FAE;4FAE;
+FA31;50E7;50E7;50E7;50E7;
+FA32;514D;514D;514D;514D;
+FA33;52C9;52C9;52C9;52C9;
+FA34;52E4;52E4;52E4;52E4;
+FA35;5351;5351;5351;5351;
+FA36;559D;559D;559D;559D;
+FA37;5606;5606;5606;5606;
+FA38;5668;5668;5668;5668;
+FA39;5840;5840;5840;5840;
+FA3A;58A8;58A8;58A8;58A8;
+FA3B;5C64;5C64;5C64;5C64;
+FA3C;5C6E;5C6E;5C6E;5C6E;
+FA3D;6094;6094;6094;6094;
+FA3E;6168;6168;6168;6168;
+FA3F;618E;618E;618E;618E;
+FA40;61F2;61F2;61F2;61F2;
+FA41;654F;654F;654F;654F;
+FA42;65E2;65E2;65E2;65E2;
+FA43;6691;6691;6691;6691;
+FA44;6885;6885;6885;6885;
+FA45;6D77;6D77;6D77;6D77;
+FA46;6E1A;6E1A;6E1A;6E1A;
+FA47;6F22;6F22;6F22;6F22;
+FA48;716E;716E;716E;716E;
+FA49;722B;722B;722B;722B;
+FA4A;7422;7422;7422;7422;
+FA4B;7891;7891;7891;7891;
+FA4C;793E;793E;793E;793E;
+FA4D;7949;7949;7949;7949;
+FA4E;7948;7948;7948;7948;
+FA4F;7950;7950;7950;7950;
+FA50;7956;7956;7956;7956;
+FA51;795D;795D;795D;795D;
+FA52;798D;798D;798D;798D;
+FA53;798E;798E;798E;798E;
+FA54;7A40;7A40;7A40;7A40;
+FA55;7A81;7A81;7A81;7A81;
+FA56;7BC0;7BC0;7BC0;7BC0;
+FA57;7DF4;7DF4;7DF4;7DF4;
+FA58;7E09;7E09;7E09;7E09;
+FA59;7E41;7E41;7E41;7E41;
+FA5A;7F72;7F72;7F72;7F72;
+FA5B;8005;8005;8005;8005;
+FA5C;81ED;81ED;81ED;81ED;
+FA5D;8279;8279;8279;8279;
+FA5E;8279;8279;8279;8279;
+FA5F;8457;8457;8457;8457;
+FA60;8910;8910;8910;8910;
+FA61;8996;8996;8996;8996;
+FA62;8B01;8B01;8B01;8B01;
+FA63;8B39;8B39;8B39;8B39;
+FA64;8CD3;8CD3;8CD3;8CD3;
+FA65;8D08;8D08;8D08;8D08;
+FA66;8FB6;8FB6;8FB6;8FB6;
+FA67;9038;9038;9038;9038;
+FA68;96E3;96E3;96E3;96E3;
+FA69;97FF;97FF;97FF;97FF;
+FA6A;983B;983B;983B;983B;
+FB00;FB00;FB00;0066 0066;0066 0066;
+FB01;FB01;FB01;0066 0069;0066 0069;
+FB02;FB02;FB02;0066 006C;0066 006C;
+FB03;FB03;FB03;0066 0066 0069;0066 0066 0069;
+FB04;FB04;FB04;0066 0066 006C;0066 0066 006C;
+FB05;FB05;FB05;0073 0074;0073 0074;
+FB06;FB06;FB06;0073 0074;0073 0074;
+FB13;FB13;FB13;0574 0576;0574 0576;
+FB14;FB14;FB14;0574 0565;0574 0565;
+FB15;FB15;FB15;0574 056B;0574 056B;
+FB16;FB16;FB16;057E 0576;057E 0576;
+FB17;FB17;FB17;0574 056D;0574 056D;
+FB1D;05D9 05B4;05D9 05B4;05D9 05B4;05D9 05B4;
+FB1F;05F2 05B7;05F2 05B7;05F2 05B7;05F2 05B7;
+FB20;FB20;FB20;05E2;05E2;
+FB21;FB21;FB21;05D0;05D0;
+FB22;FB22;FB22;05D3;05D3;
+FB23;FB23;FB23;05D4;05D4;
+FB24;FB24;FB24;05DB;05DB;
+FB25;FB25;FB25;05DC;05DC;
+FB26;FB26;FB26;05DD;05DD;
+FB27;FB27;FB27;05E8;05E8;
+FB28;FB28;FB28;05EA;05EA;
+FB29;FB29;FB29;002B;002B;
+FB2A;05E9 05C1;05E9 05C1;05E9 05C1;05E9 05C1;
+FB2B;05E9 05C2;05E9 05C2;05E9 05C2;05E9 05C2;
+FB2C;05E9 05BC 05C1;05E9 05BC 05C1;05E9 05BC 05C1;05E9 05BC 05C1;
+FB2D;05E9 05BC 05C2;05E9 05BC 05C2;05E9 05BC 05C2;05E9 05BC 05C2;
+FB2E;05D0 05B7;05D0 05B7;05D0 05B7;05D0 05B7;
+FB2F;05D0 05B8;05D0 05B8;05D0 05B8;05D0 05B8;
+FB30;05D0 05BC;05D0 05BC;05D0 05BC;05D0 05BC;
+FB31;05D1 05BC;05D1 05BC;05D1 05BC;05D1 05BC;
+FB32;05D2 05BC;05D2 05BC;05D2 05BC;05D2 05BC;
+FB33;05D3 05BC;05D3 05BC;05D3 05BC;05D3 05BC;
+FB34;05D4 05BC;05D4 05BC;05D4 05BC;05D4 05BC;
+FB35;05D5 05BC;05D5 05BC;05D5 05BC;05D5 05BC;
+FB36;05D6 05BC;05D6 05BC;05D6 05BC;05D6 05BC;
+FB38;05D8 05BC;05D8 05BC;05D8 05BC;05D8 05BC;
+FB39;05D9 05BC;05D9 05BC;05D9 05BC;05D9 05BC;
+FB3A;05DA 05BC;05DA 05BC;05DA 05BC;05DA 05BC;
+FB3B;05DB 05BC;05DB 05BC;05DB 05BC;05DB 05BC;
+FB3C;05DC 05BC;05DC 05BC;05DC 05BC;05DC 05BC;
+FB3E;05DE 05BC;05DE 05BC;05DE 05BC;05DE 05BC;
+FB40;05E0 05BC;05E0 05BC;05E0 05BC;05E0 05BC;
+FB41;05E1 05BC;05E1 05BC;05E1 05BC;05E1 05BC;
+FB43;05E3 05BC;05E3 05BC;05E3 05BC;05E3 05BC;
+FB44;05E4 05BC;05E4 05BC;05E4 05BC;05E4 05BC;
+FB46;05E6 05BC;05E6 05BC;05E6 05BC;05E6 05BC;
+FB47;05E7 05BC;05E7 05BC;05E7 05BC;05E7 05BC;
+FB48;05E8 05BC;05E8 05BC;05E8 05BC;05E8 05BC;
+FB49;05E9 05BC;05E9 05BC;05E9 05BC;05E9 05BC;
+FB4A;05EA 05BC;05EA 05BC;05EA 05BC;05EA 05BC;
+FB4B;05D5 05B9;05D5 05B9;05D5 05B9;05D5 05B9;
+FB4C;05D1 05BF;05D1 05BF;05D1 05BF;05D1 05BF;
+FB4D;05DB 05BF;05DB 05BF;05DB 05BF;05DB 05BF;
+FB4E;05E4 05BF;05E4 05BF;05E4 05BF;05E4 05BF;
+FB4F;FB4F;FB4F;05D0 05DC;05D0 05DC;
+FB50;FB50;FB50;0671;0671;
+FB51;FB51;FB51;0671;0671;
+FB52;FB52;FB52;067B;067B;
+FB53;FB53;FB53;067B;067B;
+FB54;FB54;FB54;067B;067B;
+FB55;FB55;FB55;067B;067B;
+FB56;FB56;FB56;067E;067E;
+FB57;FB57;FB57;067E;067E;
+FB58;FB58;FB58;067E;067E;
+FB59;FB59;FB59;067E;067E;
+FB5A;FB5A;FB5A;0680;0680;
+FB5B;FB5B;FB5B;0680;0680;
+FB5C;FB5C;FB5C;0680;0680;
+FB5D;FB5D;FB5D;0680;0680;
+FB5E;FB5E;FB5E;067A;067A;
+FB5F;FB5F;FB5F;067A;067A;
+FB60;FB60;FB60;067A;067A;
+FB61;FB61;FB61;067A;067A;
+FB62;FB62;FB62;067F;067F;
+FB63;FB63;FB63;067F;067F;
+FB64;FB64;FB64;067F;067F;
+FB65;FB65;FB65;067F;067F;
+FB66;FB66;FB66;0679;0679;
+FB67;FB67;FB67;0679;0679;
+FB68;FB68;FB68;0679;0679;
+FB69;FB69;FB69;0679;0679;
+FB6A;FB6A;FB6A;06A4;06A4;
+FB6B;FB6B;FB6B;06A4;06A4;
+FB6C;FB6C;FB6C;06A4;06A4;
+FB6D;FB6D;FB6D;06A4;06A4;
+FB6E;FB6E;FB6E;06A6;06A6;
+FB6F;FB6F;FB6F;06A6;06A6;
+FB70;FB70;FB70;06A6;06A6;
+FB71;FB71;FB71;06A6;06A6;
+FB72;FB72;FB72;0684;0684;
+FB73;FB73;FB73;0684;0684;
+FB74;FB74;FB74;0684;0684;
+FB75;FB75;FB75;0684;0684;
+FB76;FB76;FB76;0683;0683;
+FB77;FB77;FB77;0683;0683;
+FB78;FB78;FB78;0683;0683;
+FB79;FB79;FB79;0683;0683;
+FB7A;FB7A;FB7A;0686;0686;
+FB7B;FB7B;FB7B;0686;0686;
+FB7C;FB7C;FB7C;0686;0686;
+FB7D;FB7D;FB7D;0686;0686;
+FB7E;FB7E;FB7E;0687;0687;
+FB7F;FB7F;FB7F;0687;0687;
+FB80;FB80;FB80;0687;0687;
+FB81;FB81;FB81;0687;0687;
+FB82;FB82;FB82;068D;068D;
+FB83;FB83;FB83;068D;068D;
+FB84;FB84;FB84;068C;068C;
+FB85;FB85;FB85;068C;068C;
+FB86;FB86;FB86;068E;068E;
+FB87;FB87;FB87;068E;068E;
+FB88;FB88;FB88;0688;0688;
+FB89;FB89;FB89;0688;0688;
+FB8A;FB8A;FB8A;0698;0698;
+FB8B;FB8B;FB8B;0698;0698;
+FB8C;FB8C;FB8C;0691;0691;
+FB8D;FB8D;FB8D;0691;0691;
+FB8E;FB8E;FB8E;06A9;06A9;
+FB8F;FB8F;FB8F;06A9;06A9;
+FB90;FB90;FB90;06A9;06A9;
+FB91;FB91;FB91;06A9;06A9;
+FB92;FB92;FB92;06AF;06AF;
+FB93;FB93;FB93;06AF;06AF;
+FB94;FB94;FB94;06AF;06AF;
+FB95;FB95;FB95;06AF;06AF;
+FB96;FB96;FB96;06B3;06B3;
+FB97;FB97;FB97;06B3;06B3;
+FB98;FB98;FB98;06B3;06B3;
+FB99;FB99;FB99;06B3;06B3;
+FB9A;FB9A;FB9A;06B1;06B1;
+FB9B;FB9B;FB9B;06B1;06B1;
+FB9C;FB9C;FB9C;06B1;06B1;
+FB9D;FB9D;FB9D;06B1;06B1;
+FB9E;FB9E;FB9E;06BA;06BA;
+FB9F;FB9F;FB9F;06BA;06BA;
+FBA0;FBA0;FBA0;06BB;06BB;
+FBA1;FBA1;FBA1;06BB;06BB;
+FBA2;FBA2;FBA2;06BB;06BB;
+FBA3;FBA3;FBA3;06BB;06BB;
+FBA4;FBA4;FBA4;06C0;06D5 0654;
+FBA5;FBA5;FBA5;06C0;06D5 0654;
+FBA6;FBA6;FBA6;06C1;06C1;
+FBA7;FBA7;FBA7;06C1;06C1;
+FBA8;FBA8;FBA8;06C1;06C1;
+FBA9;FBA9;FBA9;06C1;06C1;
+FBAA;FBAA;FBAA;06BE;06BE;
+FBAB;FBAB;FBAB;06BE;06BE;
+FBAC;FBAC;FBAC;06BE;06BE;
+FBAD;FBAD;FBAD;06BE;06BE;
+FBAE;FBAE;FBAE;06D2;06D2;
+FBAF;FBAF;FBAF;06D2;06D2;
+FBB0;FBB0;FBB0;06D3;06D2 0654;
+FBB1;FBB1;FBB1;06D3;06D2 0654;
+FBD3;FBD3;FBD3;06AD;06AD;
+FBD4;FBD4;FBD4;06AD;06AD;
+FBD5;FBD5;FBD5;06AD;06AD;
+FBD6;FBD6;FBD6;06AD;06AD;
+FBD7;FBD7;FBD7;06C7;06C7;
+FBD8;FBD8;FBD8;06C7;06C7;
+FBD9;FBD9;FBD9;06C6;06C6;
+FBDA;FBDA;FBDA;06C6;06C6;
+FBDB;FBDB;FBDB;06C8;06C8;
+FBDC;FBDC;FBDC;06C8;06C8;
+FBDD;FBDD;FBDD;06C7 0674;06C7 0674;
+FBDE;FBDE;FBDE;06CB;06CB;
+FBDF;FBDF;FBDF;06CB;06CB;
+FBE0;FBE0;FBE0;06C5;06C5;
+FBE1;FBE1;FBE1;06C5;06C5;
+FBE2;FBE2;FBE2;06C9;06C9;
+FBE3;FBE3;FBE3;06C9;06C9;
+FBE4;FBE4;FBE4;06D0;06D0;
+FBE5;FBE5;FBE5;06D0;06D0;
+FBE6;FBE6;FBE6;06D0;06D0;
+FBE7;FBE7;FBE7;06D0;06D0;
+FBE8;FBE8;FBE8;0649;0649;
+FBE9;FBE9;FBE9;0649;0649;
+FBEA;FBEA;FBEA;0626 0627;064A 0654 0627;
+FBEB;FBEB;FBEB;0626 0627;064A 0654 0627;
+FBEC;FBEC;FBEC;0626 06D5;064A 0654 06D5;
+FBED;FBED;FBED;0626 06D5;064A 0654 06D5;
+FBEE;FBEE;FBEE;0626 0648;064A 0654 0648;
+FBEF;FBEF;FBEF;0626 0648;064A 0654 0648;
+FBF0;FBF0;FBF0;0626 06C7;064A 0654 06C7;
+FBF1;FBF1;FBF1;0626 06C7;064A 0654 06C7;
+FBF2;FBF2;FBF2;0626 06C6;064A 0654 06C6;
+FBF3;FBF3;FBF3;0626 06C6;064A 0654 06C6;
+FBF4;FBF4;FBF4;0626 06C8;064A 0654 06C8;
+FBF5;FBF5;FBF5;0626 06C8;064A 0654 06C8;
+FBF6;FBF6;FBF6;0626 06D0;064A 0654 06D0;
+FBF7;FBF7;FBF7;0626 06D0;064A 0654 06D0;
+FBF8;FBF8;FBF8;0626 06D0;064A 0654 06D0;
+FBF9;FBF9;FBF9;0626 0649;064A 0654 0649;
+FBFA;FBFA;FBFA;0626 0649;064A 0654 0649;
+FBFB;FBFB;FBFB;0626 0649;064A 0654 0649;
+FBFC;FBFC;FBFC;06CC;06CC;
+FBFD;FBFD;FBFD;06CC;06CC;
+FBFE;FBFE;FBFE;06CC;06CC;
+FBFF;FBFF;FBFF;06CC;06CC;
+FC00;FC00;FC00;0626 062C;064A 0654 062C;
+FC01;FC01;FC01;0626 062D;064A 0654 062D;
+FC02;FC02;FC02;0626 0645;064A 0654 0645;
+FC03;FC03;FC03;0626 0649;064A 0654 0649;
+FC04;FC04;FC04;0626 064A;064A 0654 064A;
+FC05;FC05;FC05;0628 062C;0628 062C;
+FC06;FC06;FC06;0628 062D;0628 062D;
+FC07;FC07;FC07;0628 062E;0628 062E;
+FC08;FC08;FC08;0628 0645;0628 0645;
+FC09;FC09;FC09;0628 0649;0628 0649;
+FC0A;FC0A;FC0A;0628 064A;0628 064A;
+FC0B;FC0B;FC0B;062A 062C;062A 062C;
+FC0C;FC0C;FC0C;062A 062D;062A 062D;
+FC0D;FC0D;FC0D;062A 062E;062A 062E;
+FC0E;FC0E;FC0E;062A 0645;062A 0645;
+FC0F;FC0F;FC0F;062A 0649;062A 0649;
+FC10;FC10;FC10;062A 064A;062A 064A;
+FC11;FC11;FC11;062B 062C;062B 062C;
+FC12;FC12;FC12;062B 0645;062B 0645;
+FC13;FC13;FC13;062B 0649;062B 0649;
+FC14;FC14;FC14;062B 064A;062B 064A;
+FC15;FC15;FC15;062C 062D;062C 062D;
+FC16;FC16;FC16;062C 0645;062C 0645;
+FC17;FC17;FC17;062D 062C;062D 062C;
+FC18;FC18;FC18;062D 0645;062D 0645;
+FC19;FC19;FC19;062E 062C;062E 062C;
+FC1A;FC1A;FC1A;062E 062D;062E 062D;
+FC1B;FC1B;FC1B;062E 0645;062E 0645;
+FC1C;FC1C;FC1C;0633 062C;0633 062C;
+FC1D;FC1D;FC1D;0633 062D;0633 062D;
+FC1E;FC1E;FC1E;0633 062E;0633 062E;
+FC1F;FC1F;FC1F;0633 0645;0633 0645;
+FC20;FC20;FC20;0635 062D;0635 062D;
+FC21;FC21;FC21;0635 0645;0635 0645;
+FC22;FC22;FC22;0636 062C;0636 062C;
+FC23;FC23;FC23;0636 062D;0636 062D;
+FC24;FC24;FC24;0636 062E;0636 062E;
+FC25;FC25;FC25;0636 0645;0636 0645;
+FC26;FC26;FC26;0637 062D;0637 062D;
+FC27;FC27;FC27;0637 0645;0637 0645;
+FC28;FC28;FC28;0638 0645;0638 0645;
+FC29;FC29;FC29;0639 062C;0639 062C;
+FC2A;FC2A;FC2A;0639 0645;0639 0645;
+FC2B;FC2B;FC2B;063A 062C;063A 062C;
+FC2C;FC2C;FC2C;063A 0645;063A 0645;
+FC2D;FC2D;FC2D;0641 062C;0641 062C;
+FC2E;FC2E;FC2E;0641 062D;0641 062D;
+FC2F;FC2F;FC2F;0641 062E;0641 062E;
+FC30;FC30;FC30;0641 0645;0641 0645;
+FC31;FC31;FC31;0641 0649;0641 0649;
+FC32;FC32;FC32;0641 064A;0641 064A;
+FC33;FC33;FC33;0642 062D;0642 062D;
+FC34;FC34;FC34;0642 0645;0642 0645;
+FC35;FC35;FC35;0642 0649;0642 0649;
+FC36;FC36;FC36;0642 064A;0642 064A;
+FC37;FC37;FC37;0643 0627;0643 0627;
+FC38;FC38;FC38;0643 062C;0643 062C;
+FC39;FC39;FC39;0643 062D;0643 062D;
+FC3A;FC3A;FC3A;0643 062E;0643 062E;
+FC3B;FC3B;FC3B;0643 0644;0643 0644;
+FC3C;FC3C;FC3C;0643 0645;0643 0645;
+FC3D;FC3D;FC3D;0643 0649;0643 0649;
+FC3E;FC3E;FC3E;0643 064A;0643 064A;
+FC3F;FC3F;FC3F;0644 062C;0644 062C;
+FC40;FC40;FC40;0644 062D;0644 062D;
+FC41;FC41;FC41;0644 062E;0644 062E;
+FC42;FC42;FC42;0644 0645;0644 0645;
+FC43;FC43;FC43;0644 0649;0644 0649;
+FC44;FC44;FC44;0644 064A;0644 064A;
+FC45;FC45;FC45;0645 062C;0645 062C;
+FC46;FC46;FC46;0645 062D;0645 062D;
+FC47;FC47;FC47;0645 062E;0645 062E;
+FC48;FC48;FC48;0645 0645;0645 0645;
+FC49;FC49;FC49;0645 0649;0645 0649;
+FC4A;FC4A;FC4A;0645 064A;0645 064A;
+FC4B;FC4B;FC4B;0646 062C;0646 062C;
+FC4C;FC4C;FC4C;0646 062D;0646 062D;
+FC4D;FC4D;FC4D;0646 062E;0646 062E;
+FC4E;FC4E;FC4E;0646 0645;0646 0645;
+FC4F;FC4F;FC4F;0646 0649;0646 0649;
+FC50;FC50;FC50;0646 064A;0646 064A;
+FC51;FC51;FC51;0647 062C;0647 062C;
+FC52;FC52;FC52;0647 0645;0647 0645;
+FC53;FC53;FC53;0647 0649;0647 0649;
+FC54;FC54;FC54;0647 064A;0647 064A;
+FC55;FC55;FC55;064A 062C;064A 062C;
+FC56;FC56;FC56;064A 062D;064A 062D;
+FC57;FC57;FC57;064A 062E;064A 062E;
+FC58;FC58;FC58;064A 0645;064A 0645;
+FC59;FC59;FC59;064A 0649;064A 0649;
+FC5A;FC5A;FC5A;064A 064A;064A 064A;
+FC5B;FC5B;FC5B;0630 0670;0630 0670;
+FC5C;FC5C;FC5C;0631 0670;0631 0670;
+FC5D;FC5D;FC5D;0649 0670;0649 0670;
+FC5E;FC5E;FC5E;0020 064C 0651;0020 064C 0651;
+FC5F;FC5F;FC5F;0020 064D 0651;0020 064D 0651;
+FC60;FC60;FC60;0020 064E 0651;0020 064E 0651;
+FC61;FC61;FC61;0020 064F 0651;0020 064F 0651;
+FC62;FC62;FC62;0020 0650 0651;0020 0650 0651;
+FC63;FC63;FC63;0020 0651 0670;0020 0651 0670;
+FC64;FC64;FC64;0626 0631;064A 0654 0631;
+FC65;FC65;FC65;0626 0632;064A 0654 0632;
+FC66;FC66;FC66;0626 0645;064A 0654 0645;
+FC67;FC67;FC67;0626 0646;064A 0654 0646;
+FC68;FC68;FC68;0626 0649;064A 0654 0649;
+FC69;FC69;FC69;0626 064A;064A 0654 064A;
+FC6A;FC6A;FC6A;0628 0631;0628 0631;
+FC6B;FC6B;FC6B;0628 0632;0628 0632;
+FC6C;FC6C;FC6C;0628 0645;0628 0645;
+FC6D;FC6D;FC6D;0628 0646;0628 0646;
+FC6E;FC6E;FC6E;0628 0649;0628 0649;
+FC6F;FC6F;FC6F;0628 064A;0628 064A;
+FC70;FC70;FC70;062A 0631;062A 0631;
+FC71;FC71;FC71;062A 0632;062A 0632;
+FC72;FC72;FC72;062A 0645;062A 0645;
+FC73;FC73;FC73;062A 0646;062A 0646;
+FC74;FC74;FC74;062A 0649;062A 0649;
+FC75;FC75;FC75;062A 064A;062A 064A;
+FC76;FC76;FC76;062B 0631;062B 0631;
+FC77;FC77;FC77;062B 0632;062B 0632;
+FC78;FC78;FC78;062B 0645;062B 0645;
+FC79;FC79;FC79;062B 0646;062B 0646;
+FC7A;FC7A;FC7A;062B 0649;062B 0649;
+FC7B;FC7B;FC7B;062B 064A;062B 064A;
+FC7C;FC7C;FC7C;0641 0649;0641 0649;
+FC7D;FC7D;FC7D;0641 064A;0641 064A;
+FC7E;FC7E;FC7E;0642 0649;0642 0649;
+FC7F;FC7F;FC7F;0642 064A;0642 064A;
+FC80;FC80;FC80;0643 0627;0643 0627;
+FC81;FC81;FC81;0643 0644;0643 0644;
+FC82;FC82;FC82;0643 0645;0643 0645;
+FC83;FC83;FC83;0643 0649;0643 0649;
+FC84;FC84;FC84;0643 064A;0643 064A;
+FC85;FC85;FC85;0644 0645;0644 0645;
+FC86;FC86;FC86;0644 0649;0644 0649;
+FC87;FC87;FC87;0644 064A;0644 064A;
+FC88;FC88;FC88;0645 0627;0645 0627;
+FC89;FC89;FC89;0645 0645;0645 0645;
+FC8A;FC8A;FC8A;0646 0631;0646 0631;
+FC8B;FC8B;FC8B;0646 0632;0646 0632;
+FC8C;FC8C;FC8C;0646 0645;0646 0645;
+FC8D;FC8D;FC8D;0646 0646;0646 0646;
+FC8E;FC8E;FC8E;0646 0649;0646 0649;
+FC8F;FC8F;FC8F;0646 064A;0646 064A;
+FC90;FC90;FC90;0649 0670;0649 0670;
+FC91;FC91;FC91;064A 0631;064A 0631;
+FC92;FC92;FC92;064A 0632;064A 0632;
+FC93;FC93;FC93;064A 0645;064A 0645;
+FC94;FC94;FC94;064A 0646;064A 0646;
+FC95;FC95;FC95;064A 0649;064A 0649;
+FC96;FC96;FC96;064A 064A;064A 064A;
+FC97;FC97;FC97;0626 062C;064A 0654 062C;
+FC98;FC98;FC98;0626 062D;064A 0654 062D;
+FC99;FC99;FC99;0626 062E;064A 0654 062E;
+FC9A;FC9A;FC9A;0626 0645;064A 0654 0645;
+FC9B;FC9B;FC9B;0626 0647;064A 0654 0647;
+FC9C;FC9C;FC9C;0628 062C;0628 062C;
+FC9D;FC9D;FC9D;0628 062D;0628 062D;
+FC9E;FC9E;FC9E;0628 062E;0628 062E;
+FC9F;FC9F;FC9F;0628 0645;0628 0645;
+FCA0;FCA0;FCA0;0628 0647;0628 0647;
+FCA1;FCA1;FCA1;062A 062C;062A 062C;
+FCA2;FCA2;FCA2;062A 062D;062A 062D;
+FCA3;FCA3;FCA3;062A 062E;062A 062E;
+FCA4;FCA4;FCA4;062A 0645;062A 0645;
+FCA5;FCA5;FCA5;062A 0647;062A 0647;
+FCA6;FCA6;FCA6;062B 0645;062B 0645;
+FCA7;FCA7;FCA7;062C 062D;062C 062D;
+FCA8;FCA8;FCA8;062C 0645;062C 0645;
+FCA9;FCA9;FCA9;062D 062C;062D 062C;
+FCAA;FCAA;FCAA;062D 0645;062D 0645;
+FCAB;FCAB;FCAB;062E 062C;062E 062C;
+FCAC;FCAC;FCAC;062E 0645;062E 0645;
+FCAD;FCAD;FCAD;0633 062C;0633 062C;
+FCAE;FCAE;FCAE;0633 062D;0633 062D;
+FCAF;FCAF;FCAF;0633 062E;0633 062E;
+FCB0;FCB0;FCB0;0633 0645;0633 0645;
+FCB1;FCB1;FCB1;0635 062D;0635 062D;
+FCB2;FCB2;FCB2;0635 062E;0635 062E;
+FCB3;FCB3;FCB3;0635 0645;0635 0645;
+FCB4;FCB4;FCB4;0636 062C;0636 062C;
+FCB5;FCB5;FCB5;0636 062D;0636 062D;
+FCB6;FCB6;FCB6;0636 062E;0636 062E;
+FCB7;FCB7;FCB7;0636 0645;0636 0645;
+FCB8;FCB8;FCB8;0637 062D;0637 062D;
+FCB9;FCB9;FCB9;0638 0645;0638 0645;
+FCBA;FCBA;FCBA;0639 062C;0639 062C;
+FCBB;FCBB;FCBB;0639 0645;0639 0645;
+FCBC;FCBC;FCBC;063A 062C;063A 062C;
+FCBD;FCBD;FCBD;063A 0645;063A 0645;
+FCBE;FCBE;FCBE;0641 062C;0641 062C;
+FCBF;FCBF;FCBF;0641 062D;0641 062D;
+FCC0;FCC0;FCC0;0641 062E;0641 062E;
+FCC1;FCC1;FCC1;0641 0645;0641 0645;
+FCC2;FCC2;FCC2;0642 062D;0642 062D;
+FCC3;FCC3;FCC3;0642 0645;0642 0645;
+FCC4;FCC4;FCC4;0643 062C;0643 062C;
+FCC5;FCC5;FCC5;0643 062D;0643 062D;
+FCC6;FCC6;FCC6;0643 062E;0643 062E;
+FCC7;FCC7;FCC7;0643 0644;0643 0644;
+FCC8;FCC8;FCC8;0643 0645;0643 0645;
+FCC9;FCC9;FCC9;0644 062C;0644 062C;
+FCCA;FCCA;FCCA;0644 062D;0644 062D;
+FCCB;FCCB;FCCB;0644 062E;0644 062E;
+FCCC;FCCC;FCCC;0644 0645;0644 0645;
+FCCD;FCCD;FCCD;0644 0647;0644 0647;
+FCCE;FCCE;FCCE;0645 062C;0645 062C;
+FCCF;FCCF;FCCF;0645 062D;0645 062D;
+FCD0;FCD0;FCD0;0645 062E;0645 062E;
+FCD1;FCD1;FCD1;0645 0645;0645 0645;
+FCD2;FCD2;FCD2;0646 062C;0646 062C;
+FCD3;FCD3;FCD3;0646 062D;0646 062D;
+FCD4;FCD4;FCD4;0646 062E;0646 062E;
+FCD5;FCD5;FCD5;0646 0645;0646 0645;
+FCD6;FCD6;FCD6;0646 0647;0646 0647;
+FCD7;FCD7;FCD7;0647 062C;0647 062C;
+FCD8;FCD8;FCD8;0647 0645;0647 0645;
+FCD9;FCD9;FCD9;0647 0670;0647 0670;
+FCDA;FCDA;FCDA;064A 062C;064A 062C;
+FCDB;FCDB;FCDB;064A 062D;064A 062D;
+FCDC;FCDC;FCDC;064A 062E;064A 062E;
+FCDD;FCDD;FCDD;064A 0645;064A 0645;
+FCDE;FCDE;FCDE;064A 0647;064A 0647;
+FCDF;FCDF;FCDF;0626 0645;064A 0654 0645;
+FCE0;FCE0;FCE0;0626 0647;064A 0654 0647;
+FCE1;FCE1;FCE1;0628 0645;0628 0645;
+FCE2;FCE2;FCE2;0628 0647;0628 0647;
+FCE3;FCE3;FCE3;062A 0645;062A 0645;
+FCE4;FCE4;FCE4;062A 0647;062A 0647;
+FCE5;FCE5;FCE5;062B 0645;062B 0645;
+FCE6;FCE6;FCE6;062B 0647;062B 0647;
+FCE7;FCE7;FCE7;0633 0645;0633 0645;
+FCE8;FCE8;FCE8;0633 0647;0633 0647;
+FCE9;FCE9;FCE9;0634 0645;0634 0645;
+FCEA;FCEA;FCEA;0634 0647;0634 0647;
+FCEB;FCEB;FCEB;0643 0644;0643 0644;
+FCEC;FCEC;FCEC;0643 0645;0643 0645;
+FCED;FCED;FCED;0644 0645;0644 0645;
+FCEE;FCEE;FCEE;0646 0645;0646 0645;
+FCEF;FCEF;FCEF;0646 0647;0646 0647;
+FCF0;FCF0;FCF0;064A 0645;064A 0645;
+FCF1;FCF1;FCF1;064A 0647;064A 0647;
+FCF2;FCF2;FCF2;0640 064E 0651;0640 064E 0651;
+FCF3;FCF3;FCF3;0640 064F 0651;0640 064F 0651;
+FCF4;FCF4;FCF4;0640 0650 0651;0640 0650 0651;
+FCF5;FCF5;FCF5;0637 0649;0637 0649;
+FCF6;FCF6;FCF6;0637 064A;0637 064A;
+FCF7;FCF7;FCF7;0639 0649;0639 0649;
+FCF8;FCF8;FCF8;0639 064A;0639 064A;
+FCF9;FCF9;FCF9;063A 0649;063A 0649;
+FCFA;FCFA;FCFA;063A 064A;063A 064A;
+FCFB;FCFB;FCFB;0633 0649;0633 0649;
+FCFC;FCFC;FCFC;0633 064A;0633 064A;
+FCFD;FCFD;FCFD;0634 0649;0634 0649;
+FCFE;FCFE;FCFE;0634 064A;0634 064A;
+FCFF;FCFF;FCFF;062D 0649;062D 0649;
+FD00;FD00;FD00;062D 064A;062D 064A;
+FD01;FD01;FD01;062C 0649;062C 0649;
+FD02;FD02;FD02;062C 064A;062C 064A;
+FD03;FD03;FD03;062E 0649;062E 0649;
+FD04;FD04;FD04;062E 064A;062E 064A;
+FD05;FD05;FD05;0635 0649;0635 0649;
+FD06;FD06;FD06;0635 064A;0635 064A;
+FD07;FD07;FD07;0636 0649;0636 0649;
+FD08;FD08;FD08;0636 064A;0636 064A;
+FD09;FD09;FD09;0634 062C;0634 062C;
+FD0A;FD0A;FD0A;0634 062D;0634 062D;
+FD0B;FD0B;FD0B;0634 062E;0634 062E;
+FD0C;FD0C;FD0C;0634 0645;0634 0645;
+FD0D;FD0D;FD0D;0634 0631;0634 0631;
+FD0E;FD0E;FD0E;0633 0631;0633 0631;
+FD0F;FD0F;FD0F;0635 0631;0635 0631;
+FD10;FD10;FD10;0636 0631;0636 0631;
+FD11;FD11;FD11;0637 0649;0637 0649;
+FD12;FD12;FD12;0637 064A;0637 064A;
+FD13;FD13;FD13;0639 0649;0639 0649;
+FD14;FD14;FD14;0639 064A;0639 064A;
+FD15;FD15;FD15;063A 0649;063A 0649;
+FD16;FD16;FD16;063A 064A;063A 064A;
+FD17;FD17;FD17;0633 0649;0633 0649;
+FD18;FD18;FD18;0633 064A;0633 064A;
+FD19;FD19;FD19;0634 0649;0634 0649;
+FD1A;FD1A;FD1A;0634 064A;0634 064A;
+FD1B;FD1B;FD1B;062D 0649;062D 0649;
+FD1C;FD1C;FD1C;062D 064A;062D 064A;
+FD1D;FD1D;FD1D;062C 0649;062C 0649;
+FD1E;FD1E;FD1E;062C 064A;062C 064A;
+FD1F;FD1F;FD1F;062E 0649;062E 0649;
+FD20;FD20;FD20;062E 064A;062E 064A;
+FD21;FD21;FD21;0635 0649;0635 0649;
+FD22;FD22;FD22;0635 064A;0635 064A;
+FD23;FD23;FD23;0636 0649;0636 0649;
+FD24;FD24;FD24;0636 064A;0636 064A;
+FD25;FD25;FD25;0634 062C;0634 062C;
+FD26;FD26;FD26;0634 062D;0634 062D;
+FD27;FD27;FD27;0634 062E;0634 062E;
+FD28;FD28;FD28;0634 0645;0634 0645;
+FD29;FD29;FD29;0634 0631;0634 0631;
+FD2A;FD2A;FD2A;0633 0631;0633 0631;
+FD2B;FD2B;FD2B;0635 0631;0635 0631;
+FD2C;FD2C;FD2C;0636 0631;0636 0631;
+FD2D;FD2D;FD2D;0634 062C;0634 062C;
+FD2E;FD2E;FD2E;0634 062D;0634 062D;
+FD2F;FD2F;FD2F;0634 062E;0634 062E;
+FD30;FD30;FD30;0634 0645;0634 0645;
+FD31;FD31;FD31;0633 0647;0633 0647;
+FD32;FD32;FD32;0634 0647;0634 0647;
+FD33;FD33;FD33;0637 0645;0637 0645;
+FD34;FD34;FD34;0633 062C;0633 062C;
+FD35;FD35;FD35;0633 062D;0633 062D;
+FD36;FD36;FD36;0633 062E;0633 062E;
+FD37;FD37;FD37;0634 062C;0634 062C;
+FD38;FD38;FD38;0634 062D;0634 062D;
+FD39;FD39;FD39;0634 062E;0634 062E;
+FD3A;FD3A;FD3A;0637 0645;0637 0645;
+FD3B;FD3B;FD3B;0638 0645;0638 0645;
+FD3C;FD3C;FD3C;0627 064B;0627 064B;
+FD3D;FD3D;FD3D;0627 064B;0627 064B;
+FD50;FD50;FD50;062A 062C 0645;062A 062C 0645;
+FD51;FD51;FD51;062A 062D 062C;062A 062D 062C;
+FD52;FD52;FD52;062A 062D 062C;062A 062D 062C;
+FD53;FD53;FD53;062A 062D 0645;062A 062D 0645;
+FD54;FD54;FD54;062A 062E 0645;062A 062E 0645;
+FD55;FD55;FD55;062A 0645 062C;062A 0645 062C;
+FD56;FD56;FD56;062A 0645 062D;062A 0645 062D;
+FD57;FD57;FD57;062A 0645 062E;062A 0645 062E;
+FD58;FD58;FD58;062C 0645 062D;062C 0645 062D;
+FD59;FD59;FD59;062C 0645 062D;062C 0645 062D;
+FD5A;FD5A;FD5A;062D 0645 064A;062D 0645 064A;
+FD5B;FD5B;FD5B;062D 0645 0649;062D 0645 0649;
+FD5C;FD5C;FD5C;0633 062D 062C;0633 062D 062C;
+FD5D;FD5D;FD5D;0633 062C 062D;0633 062C 062D;
+FD5E;FD5E;FD5E;0633 062C 0649;0633 062C 0649;
+FD5F;FD5F;FD5F;0633 0645 062D;0633 0645 062D;
+FD60;FD60;FD60;0633 0645 062D;0633 0645 062D;
+FD61;FD61;FD61;0633 0645 062C;0633 0645 062C;
+FD62;FD62;FD62;0633 0645 0645;0633 0645 0645;
+FD63;FD63;FD63;0633 0645 0645;0633 0645 0645;
+FD64;FD64;FD64;0635 062D 062D;0635 062D 062D;
+FD65;FD65;FD65;0635 062D 062D;0635 062D 062D;
+FD66;FD66;FD66;0635 0645 0645;0635 0645 0645;
+FD67;FD67;FD67;0634 062D 0645;0634 062D 0645;
+FD68;FD68;FD68;0634 062D 0645;0634 062D 0645;
+FD69;FD69;FD69;0634 062C 064A;0634 062C 064A;
+FD6A;FD6A;FD6A;0634 0645 062E;0634 0645 062E;
+FD6B;FD6B;FD6B;0634 0645 062E;0634 0645 062E;
+FD6C;FD6C;FD6C;0634 0645 0645;0634 0645 0645;
+FD6D;FD6D;FD6D;0634 0645 0645;0634 0645 0645;
+FD6E;FD6E;FD6E;0636 062D 0649;0636 062D 0649;
+FD6F;FD6F;FD6F;0636 062E 0645;0636 062E 0645;
+FD70;FD70;FD70;0636 062E 0645;0636 062E 0645;
+FD71;FD71;FD71;0637 0645 062D;0637 0645 062D;
+FD72;FD72;FD72;0637 0645 062D;0637 0645 062D;
+FD73;FD73;FD73;0637 0645 0645;0637 0645 0645;
+FD74;FD74;FD74;0637 0645 064A;0637 0645 064A;
+FD75;FD75;FD75;0639 062C 0645;0639 062C 0645;
+FD76;FD76;FD76;0639 0645 0645;0639 0645 0645;
+FD77;FD77;FD77;0639 0645 0645;0639 0645 0645;
+FD78;FD78;FD78;0639 0645 0649;0639 0645 0649;
+FD79;FD79;FD79;063A 0645 0645;063A 0645 0645;
+FD7A;FD7A;FD7A;063A 0645 064A;063A 0645 064A;
+FD7B;FD7B;FD7B;063A 0645 0649;063A 0645 0649;
+FD7C;FD7C;FD7C;0641 062E 0645;0641 062E 0645;
+FD7D;FD7D;FD7D;0641 062E 0645;0641 062E 0645;
+FD7E;FD7E;FD7E;0642 0645 062D;0642 0645 062D;
+FD7F;FD7F;FD7F;0642 0645 0645;0642 0645 0645;
+FD80;FD80;FD80;0644 062D 0645;0644 062D 0645;
+FD81;FD81;FD81;0644 062D 064A;0644 062D 064A;
+FD82;FD82;FD82;0644 062D 0649;0644 062D 0649;
+FD83;FD83;FD83;0644 062C 062C;0644 062C 062C;
+FD84;FD84;FD84;0644 062C 062C;0644 062C 062C;
+FD85;FD85;FD85;0644 062E 0645;0644 062E 0645;
+FD86;FD86;FD86;0644 062E 0645;0644 062E 0645;
+FD87;FD87;FD87;0644 0645 062D;0644 0645 062D;
+FD88;FD88;FD88;0644 0645 062D;0644 0645 062D;
+FD89;FD89;FD89;0645 062D 062C;0645 062D 062C;
+FD8A;FD8A;FD8A;0645 062D 0645;0645 062D 0645;
+FD8B;FD8B;FD8B;0645 062D 064A;0645 062D 064A;
+FD8C;FD8C;FD8C;0645 062C 062D;0645 062C 062D;
+FD8D;FD8D;FD8D;0645 062C 0645;0645 062C 0645;
+FD8E;FD8E;FD8E;0645 062E 062C;0645 062E 062C;
+FD8F;FD8F;FD8F;0645 062E 0645;0645 062E 0645;
+FD92;FD92;FD92;0645 062C 062E;0645 062C 062E;
+FD93;FD93;FD93;0647 0645 062C;0647 0645 062C;
+FD94;FD94;FD94;0647 0645 0645;0647 0645 0645;
+FD95;FD95;FD95;0646 062D 0645;0646 062D 0645;
+FD96;FD96;FD96;0646 062D 0649;0646 062D 0649;
+FD97;FD97;FD97;0646 062C 0645;0646 062C 0645;
+FD98;FD98;FD98;0646 062C 0645;0646 062C 0645;
+FD99;FD99;FD99;0646 062C 0649;0646 062C 0649;
+FD9A;FD9A;FD9A;0646 0645 064A;0646 0645 064A;
+FD9B;FD9B;FD9B;0646 0645 0649;0646 0645 0649;
+FD9C;FD9C;FD9C;064A 0645 0645;064A 0645 0645;
+FD9D;FD9D;FD9D;064A 0645 0645;064A 0645 0645;
+FD9E;FD9E;FD9E;0628 062E 064A;0628 062E 064A;
+FD9F;FD9F;FD9F;062A 062C 064A;062A 062C 064A;
+FDA0;FDA0;FDA0;062A 062C 0649;062A 062C 0649;
+FDA1;FDA1;FDA1;062A 062E 064A;062A 062E 064A;
+FDA2;FDA2;FDA2;062A 062E 0649;062A 062E 0649;
+FDA3;FDA3;FDA3;062A 0645 064A;062A 0645 064A;
+FDA4;FDA4;FDA4;062A 0645 0649;062A 0645 0649;
+FDA5;FDA5;FDA5;062C 0645 064A;062C 0645 064A;
+FDA6;FDA6;FDA6;062C 062D 0649;062C 062D 0649;
+FDA7;FDA7;FDA7;062C 0645 0649;062C 0645 0649;
+FDA8;FDA8;FDA8;0633 062E 0649;0633 062E 0649;
+FDA9;FDA9;FDA9;0635 062D 064A;0635 062D 064A;
+FDAA;FDAA;FDAA;0634 062D 064A;0634 062D 064A;
+FDAB;FDAB;FDAB;0636 062D 064A;0636 062D 064A;
+FDAC;FDAC;FDAC;0644 062C 064A;0644 062C 064A;
+FDAD;FDAD;FDAD;0644 0645 064A;0644 0645 064A;
+FDAE;FDAE;FDAE;064A 062D 064A;064A 062D 064A;
+FDAF;FDAF;FDAF;064A 062C 064A;064A 062C 064A;
+FDB0;FDB0;FDB0;064A 0645 064A;064A 0645 064A;
+FDB1;FDB1;FDB1;0645 0645 064A;0645 0645 064A;
+FDB2;FDB2;FDB2;0642 0645 064A;0642 0645 064A;
+FDB3;FDB3;FDB3;0646 062D 064A;0646 062D 064A;
+FDB4;FDB4;FDB4;0642 0645 062D;0642 0645 062D;
+FDB5;FDB5;FDB5;0644 062D 0645;0644 062D 0645;
+FDB6;FDB6;FDB6;0639 0645 064A;0639 0645 064A;
+FDB7;FDB7;FDB7;0643 0645 064A;0643 0645 064A;
+FDB8;FDB8;FDB8;0646 062C 062D;0646 062C 062D;
+FDB9;FDB9;FDB9;0645 062E 064A;0645 062E 064A;
+FDBA;FDBA;FDBA;0644 062C 0645;0644 062C 0645;
+FDBB;FDBB;FDBB;0643 0645 0645;0643 0645 0645;
+FDBC;FDBC;FDBC;0644 062C 0645;0644 062C 0645;
+FDBD;FDBD;FDBD;0646 062C 062D;0646 062C 062D;
+FDBE;FDBE;FDBE;062C 062D 064A;062C 062D 064A;
+FDBF;FDBF;FDBF;062D 062C 064A;062D 062C 064A;
+FDC0;FDC0;FDC0;0645 062C 064A;0645 062C 064A;
+FDC1;FDC1;FDC1;0641 0645 064A;0641 0645 064A;
+FDC2;FDC2;FDC2;0628 062D 064A;0628 062D 064A;
+FDC3;FDC3;FDC3;0643 0645 0645;0643 0645 0645;
+FDC4;FDC4;FDC4;0639 062C 0645;0639 062C 0645;
+FDC5;FDC5;FDC5;0635 0645 0645;0635 0645 0645;
+FDC6;FDC6;FDC6;0633 062E 064A;0633 062E 064A;
+FDC7;FDC7;FDC7;0646 062C 064A;0646 062C 064A;
+FDF0;FDF0;FDF0;0635 0644 06D2;0635 0644 06D2;
+FDF1;FDF1;FDF1;0642 0644 06D2;0642 0644 06D2;
+FDF2;FDF2;FDF2;0627 0644 0644 0647;0627 0644 0644 0647;
+FDF3;FDF3;FDF3;0627 0643 0628 0631;0627 0643 0628 0631;
+FDF4;FDF4;FDF4;0645 062D 0645 062F;0645 062D 0645 062F;
+FDF5;FDF5;FDF5;0635 0644 0639 0645;0635 0644 0639 0645;
+FDF6;FDF6;FDF6;0631 0633 0648 0644;0631 0633 0648 0644;
+FDF7;FDF7;FDF7;0639 0644 064A 0647;0639 0644 064A 0647;
+FDF8;FDF8;FDF8;0648 0633 0644 0645;0648 0633 0644 0645;
+FDF9;FDF9;FDF9;0635 0644 0649;0635 0644 0649;
+FDFA;FDFA;FDFA;0635 0644 0649 0020 0627 0644 0644 0647 0020 0639 0644 064A 0647 0020 0648 0633 0644 0645;0635 0644 0649 0020 0627 0644 0644 0647 0020 0639 0644 064A 0647 0020 0648 0633 0644 0645;
+FDFB;FDFB;FDFB;062C 0644 0020 062C 0644 0627 0644 0647;062C 0644 0020 062C 0644 0627 0644 0647;
+FDFC;FDFC;FDFC;0631 06CC 0627 0644;0631 06CC 0627 0644;
+FE30;FE30;FE30;002E 002E;002E 002E;
+FE31;FE31;FE31;2014;2014;
+FE32;FE32;FE32;2013;2013;
+FE33;FE33;FE33;005F;005F;
+FE34;FE34;FE34;005F;005F;
+FE35;FE35;FE35;0028;0028;
+FE36;FE36;FE36;0029;0029;
+FE37;FE37;FE37;007B;007B;
+FE38;FE38;FE38;007D;007D;
+FE39;FE39;FE39;3014;3014;
+FE3A;FE3A;FE3A;3015;3015;
+FE3B;FE3B;FE3B;3010;3010;
+FE3C;FE3C;FE3C;3011;3011;
+FE3D;FE3D;FE3D;300A;300A;
+FE3E;FE3E;FE3E;300B;300B;
+FE3F;FE3F;FE3F;3008;3008;
+FE40;FE40;FE40;3009;3009;
+FE41;FE41;FE41;300C;300C;
+FE42;FE42;FE42;300D;300D;
+FE43;FE43;FE43;300E;300E;
+FE44;FE44;FE44;300F;300F;
+FE49;FE49;FE49;0020 0305;0020 0305;
+FE4A;FE4A;FE4A;0020 0305;0020 0305;
+FE4B;FE4B;FE4B;0020 0305;0020 0305;
+FE4C;FE4C;FE4C;0020 0305;0020 0305;
+FE4D;FE4D;FE4D;005F;005F;
+FE4E;FE4E;FE4E;005F;005F;
+FE4F;FE4F;FE4F;005F;005F;
+FE50;FE50;FE50;002C;002C;
+FE51;FE51;FE51;3001;3001;
+FE52;FE52;FE52;002E;002E;
+FE54;FE54;FE54;003B;003B;
+FE55;FE55;FE55;003A;003A;
+FE56;FE56;FE56;003F;003F;
+FE57;FE57;FE57;0021;0021;
+FE58;FE58;FE58;2014;2014;
+FE59;FE59;FE59;0028;0028;
+FE5A;FE5A;FE5A;0029;0029;
+FE5B;FE5B;FE5B;007B;007B;
+FE5C;FE5C;FE5C;007D;007D;
+FE5D;FE5D;FE5D;3014;3014;
+FE5E;FE5E;FE5E;3015;3015;
+FE5F;FE5F;FE5F;0023;0023;
+FE60;FE60;FE60;0026;0026;
+FE61;FE61;FE61;002A;002A;
+FE62;FE62;FE62;002B;002B;
+FE63;FE63;FE63;002D;002D;
+FE64;FE64;FE64;003C;003C;
+FE65;FE65;FE65;003E;003E;
+FE66;FE66;FE66;003D;003D;
+FE68;FE68;FE68;005C;005C;
+FE69;FE69;FE69;0024;0024;
+FE6A;FE6A;FE6A;0025;0025;
+FE6B;FE6B;FE6B;0040;0040;
+FE70;FE70;FE70;0020 064B;0020 064B;
+FE71;FE71;FE71;0640 064B;0640 064B;
+FE72;FE72;FE72;0020 064C;0020 064C;
+FE74;FE74;FE74;0020 064D;0020 064D;
+FE76;FE76;FE76;0020 064E;0020 064E;
+FE77;FE77;FE77;0640 064E;0640 064E;
+FE78;FE78;FE78;0020 064F;0020 064F;
+FE79;FE79;FE79;0640 064F;0640 064F;
+FE7A;FE7A;FE7A;0020 0650;0020 0650;
+FE7B;FE7B;FE7B;0640 0650;0640 0650;
+FE7C;FE7C;FE7C;0020 0651;0020 0651;
+FE7D;FE7D;FE7D;0640 0651;0640 0651;
+FE7E;FE7E;FE7E;0020 0652;0020 0652;
+FE7F;FE7F;FE7F;0640 0652;0640 0652;
+FE80;FE80;FE80;0621;0621;
+FE81;FE81;FE81;0622;0627 0653;
+FE82;FE82;FE82;0622;0627 0653;
+FE83;FE83;FE83;0623;0627 0654;
+FE84;FE84;FE84;0623;0627 0654;
+FE85;FE85;FE85;0624;0648 0654;
+FE86;FE86;FE86;0624;0648 0654;
+FE87;FE87;FE87;0625;0627 0655;
+FE88;FE88;FE88;0625;0627 0655;
+FE89;FE89;FE89;0626;064A 0654;
+FE8A;FE8A;FE8A;0626;064A 0654;
+FE8B;FE8B;FE8B;0626;064A 0654;
+FE8C;FE8C;FE8C;0626;064A 0654;
+FE8D;FE8D;FE8D;0627;0627;
+FE8E;FE8E;FE8E;0627;0627;
+FE8F;FE8F;FE8F;0628;0628;
+FE90;FE90;FE90;0628;0628;
+FE91;FE91;FE91;0628;0628;
+FE92;FE92;FE92;0628;0628;
+FE93;FE93;FE93;0629;0629;
+FE94;FE94;FE94;0629;0629;
+FE95;FE95;FE95;062A;062A;
+FE96;FE96;FE96;062A;062A;
+FE97;FE97;FE97;062A;062A;
+FE98;FE98;FE98;062A;062A;
+FE99;FE99;FE99;062B;062B;
+FE9A;FE9A;FE9A;062B;062B;
+FE9B;FE9B;FE9B;062B;062B;
+FE9C;FE9C;FE9C;062B;062B;
+FE9D;FE9D;FE9D;062C;062C;
+FE9E;FE9E;FE9E;062C;062C;
+FE9F;FE9F;FE9F;062C;062C;
+FEA0;FEA0;FEA0;062C;062C;
+FEA1;FEA1;FEA1;062D;062D;
+FEA2;FEA2;FEA2;062D;062D;
+FEA3;FEA3;FEA3;062D;062D;
+FEA4;FEA4;FEA4;062D;062D;
+FEA5;FEA5;FEA5;062E;062E;
+FEA6;FEA6;FEA6;062E;062E;
+FEA7;FEA7;FEA7;062E;062E;
+FEA8;FEA8;FEA8;062E;062E;
+FEA9;FEA9;FEA9;062F;062F;
+FEAA;FEAA;FEAA;062F;062F;
+FEAB;FEAB;FEAB;0630;0630;
+FEAC;FEAC;FEAC;0630;0630;
+FEAD;FEAD;FEAD;0631;0631;
+FEAE;FEAE;FEAE;0631;0631;
+FEAF;FEAF;FEAF;0632;0632;
+FEB0;FEB0;FEB0;0632;0632;
+FEB1;FEB1;FEB1;0633;0633;
+FEB2;FEB2;FEB2;0633;0633;
+FEB3;FEB3;FEB3;0633;0633;
+FEB4;FEB4;FEB4;0633;0633;
+FEB5;FEB5;FEB5;0634;0634;
+FEB6;FEB6;FEB6;0634;0634;
+FEB7;FEB7;FEB7;0634;0634;
+FEB8;FEB8;FEB8;0634;0634;
+FEB9;FEB9;FEB9;0635;0635;
+FEBA;FEBA;FEBA;0635;0635;
+FEBB;FEBB;FEBB;0635;0635;
+FEBC;FEBC;FEBC;0635;0635;
+FEBD;FEBD;FEBD;0636;0636;
+FEBE;FEBE;FEBE;0636;0636;
+FEBF;FEBF;FEBF;0636;0636;
+FEC0;FEC0;FEC0;0636;0636;
+FEC1;FEC1;FEC1;0637;0637;
+FEC2;FEC2;FEC2;0637;0637;
+FEC3;FEC3;FEC3;0637;0637;
+FEC4;FEC4;FEC4;0637;0637;
+FEC5;FEC5;FEC5;0638;0638;
+FEC6;FEC6;FEC6;0638;0638;
+FEC7;FEC7;FEC7;0638;0638;
+FEC8;FEC8;FEC8;0638;0638;
+FEC9;FEC9;FEC9;0639;0639;
+FECA;FECA;FECA;0639;0639;
+FECB;FECB;FECB;0639;0639;
+FECC;FECC;FECC;0639;0639;
+FECD;FECD;FECD;063A;063A;
+FECE;FECE;FECE;063A;063A;
+FECF;FECF;FECF;063A;063A;
+FED0;FED0;FED0;063A;063A;
+FED1;FED1;FED1;0641;0641;
+FED2;FED2;FED2;0641;0641;
+FED3;FED3;FED3;0641;0641;
+FED4;FED4;FED4;0641;0641;
+FED5;FED5;FED5;0642;0642;
+FED6;FED6;FED6;0642;0642;
+FED7;FED7;FED7;0642;0642;
+FED8;FED8;FED8;0642;0642;
+FED9;FED9;FED9;0643;0643;
+FEDA;FEDA;FEDA;0643;0643;
+FEDB;FEDB;FEDB;0643;0643;
+FEDC;FEDC;FEDC;0643;0643;
+FEDD;FEDD;FEDD;0644;0644;
+FEDE;FEDE;FEDE;0644;0644;
+FEDF;FEDF;FEDF;0644;0644;
+FEE0;FEE0;FEE0;0644;0644;
+FEE1;FEE1;FEE1;0645;0645;
+FEE2;FEE2;FEE2;0645;0645;
+FEE3;FEE3;FEE3;0645;0645;
+FEE4;FEE4;FEE4;0645;0645;
+FEE5;FEE5;FEE5;0646;0646;
+FEE6;FEE6;FEE6;0646;0646;
+FEE7;FEE7;FEE7;0646;0646;
+FEE8;FEE8;FEE8;0646;0646;
+FEE9;FEE9;FEE9;0647;0647;
+FEEA;FEEA;FEEA;0647;0647;
+FEEB;FEEB;FEEB;0647;0647;
+FEEC;FEEC;FEEC;0647;0647;
+FEED;FEED;FEED;0648;0648;
+FEEE;FEEE;FEEE;0648;0648;
+FEEF;FEEF;FEEF;0649;0649;
+FEF0;FEF0;FEF0;0649;0649;
+FEF1;FEF1;FEF1;064A;064A;
+FEF2;FEF2;FEF2;064A;064A;
+FEF3;FEF3;FEF3;064A;064A;
+FEF4;FEF4;FEF4;064A;064A;
+FEF5;FEF5;FEF5;0644 0622;0644 0627 0653;
+FEF6;FEF6;FEF6;0644 0622;0644 0627 0653;
+FEF7;FEF7;FEF7;0644 0623;0644 0627 0654;
+FEF8;FEF8;FEF8;0644 0623;0644 0627 0654;
+FEF9;FEF9;FEF9;0644 0625;0644 0627 0655;
+FEFA;FEFA;FEFA;0644 0625;0644 0627 0655;
+FEFB;FEFB;FEFB;0644 0627;0644 0627;
+FEFC;FEFC;FEFC;0644 0627;0644 0627;
+FF01;FF01;FF01;0021;0021;
+FF02;FF02;FF02;0022;0022;
+FF03;FF03;FF03;0023;0023;
+FF04;FF04;FF04;0024;0024;
+FF05;FF05;FF05;0025;0025;
+FF06;FF06;FF06;0026;0026;
+FF07;FF07;FF07;0027;0027;
+FF08;FF08;FF08;0028;0028;
+FF09;FF09;FF09;0029;0029;
+FF0A;FF0A;FF0A;002A;002A;
+FF0B;FF0B;FF0B;002B;002B;
+FF0C;FF0C;FF0C;002C;002C;
+FF0D;FF0D;FF0D;002D;002D;
+FF0E;FF0E;FF0E;002E;002E;
+FF0F;FF0F;FF0F;002F;002F;
+FF10;FF10;FF10;0030;0030;
+FF11;FF11;FF11;0031;0031;
+FF12;FF12;FF12;0032;0032;
+FF13;FF13;FF13;0033;0033;
+FF14;FF14;FF14;0034;0034;
+FF15;FF15;FF15;0035;0035;
+FF16;FF16;FF16;0036;0036;
+FF17;FF17;FF17;0037;0037;
+FF18;FF18;FF18;0038;0038;
+FF19;FF19;FF19;0039;0039;
+FF1A;FF1A;FF1A;003A;003A;
+FF1B;FF1B;FF1B;003B;003B;
+FF1C;FF1C;FF1C;003C;003C;
+FF1D;FF1D;FF1D;003D;003D;
+FF1E;FF1E;FF1E;003E;003E;
+FF1F;FF1F;FF1F;003F;003F;
+FF20;FF20;FF20;0040;0040;
+FF21;FF21;FF21;0041;0041;
+FF22;FF22;FF22;0042;0042;
+FF23;FF23;FF23;0043;0043;
+FF24;FF24;FF24;0044;0044;
+FF25;FF25;FF25;0045;0045;
+FF26;FF26;FF26;0046;0046;
+FF27;FF27;FF27;0047;0047;
+FF28;FF28;FF28;0048;0048;
+FF29;FF29;FF29;0049;0049;
+FF2A;FF2A;FF2A;004A;004A;
+FF2B;FF2B;FF2B;004B;004B;
+FF2C;FF2C;FF2C;004C;004C;
+FF2D;FF2D;FF2D;004D;004D;
+FF2E;FF2E;FF2E;004E;004E;
+FF2F;FF2F;FF2F;004F;004F;
+FF30;FF30;FF30;0050;0050;
+FF31;FF31;FF31;0051;0051;
+FF32;FF32;FF32;0052;0052;
+FF33;FF33;FF33;0053;0053;
+FF34;FF34;FF34;0054;0054;
+FF35;FF35;FF35;0055;0055;
+FF36;FF36;FF36;0056;0056;
+FF37;FF37;FF37;0057;0057;
+FF38;FF38;FF38;0058;0058;
+FF39;FF39;FF39;0059;0059;
+FF3A;FF3A;FF3A;005A;005A;
+FF3B;FF3B;FF3B;005B;005B;
+FF3C;FF3C;FF3C;005C;005C;
+FF3D;FF3D;FF3D;005D;005D;
+FF3E;FF3E;FF3E;005E;005E;
+FF3F;FF3F;FF3F;005F;005F;
+FF40;FF40;FF40;0060;0060;
+FF41;FF41;FF41;0061;0061;
+FF42;FF42;FF42;0062;0062;
+FF43;FF43;FF43;0063;0063;
+FF44;FF44;FF44;0064;0064;
+FF45;FF45;FF45;0065;0065;
+FF46;FF46;FF46;0066;0066;
+FF47;FF47;FF47;0067;0067;
+FF48;FF48;FF48;0068;0068;
+FF49;FF49;FF49;0069;0069;
+FF4A;FF4A;FF4A;006A;006A;
+FF4B;FF4B;FF4B;006B;006B;
+FF4C;FF4C;FF4C;006C;006C;
+FF4D;FF4D;FF4D;006D;006D;
+FF4E;FF4E;FF4E;006E;006E;
+FF4F;FF4F;FF4F;006F;006F;
+FF50;FF50;FF50;0070;0070;
+FF51;FF51;FF51;0071;0071;
+FF52;FF52;FF52;0072;0072;
+FF53;FF53;FF53;0073;0073;
+FF54;FF54;FF54;0074;0074;
+FF55;FF55;FF55;0075;0075;
+FF56;FF56;FF56;0076;0076;
+FF57;FF57;FF57;0077;0077;
+FF58;FF58;FF58;0078;0078;
+FF59;FF59;FF59;0079;0079;
+FF5A;FF5A;FF5A;007A;007A;
+FF5B;FF5B;FF5B;007B;007B;
+FF5C;FF5C;FF5C;007C;007C;
+FF5D;FF5D;FF5D;007D;007D;
+FF5E;FF5E;FF5E;007E;007E;
+FF5F;FF5F;FF5F;2985;2985;
+FF60;FF60;FF60;2986;2986;
+FF61;FF61;FF61;3002;3002;
+FF62;FF62;FF62;300C;300C;
+FF63;FF63;FF63;300D;300D;
+FF64;FF64;FF64;3001;3001;
+FF65;FF65;FF65;30FB;30FB;
+FF66;FF66;FF66;30F2;30F2;
+FF67;FF67;FF67;30A1;30A1;
+FF68;FF68;FF68;30A3;30A3;
+FF69;FF69;FF69;30A5;30A5;
+FF6A;FF6A;FF6A;30A7;30A7;
+FF6B;FF6B;FF6B;30A9;30A9;
+FF6C;FF6C;FF6C;30E3;30E3;
+FF6D;FF6D;FF6D;30E5;30E5;
+FF6E;FF6E;FF6E;30E7;30E7;
+FF6F;FF6F;FF6F;30C3;30C3;
+FF70;FF70;FF70;30FC;30FC;
+FF71;FF71;FF71;30A2;30A2;
+FF72;FF72;FF72;30A4;30A4;
+FF73;FF73;FF73;30A6;30A6;
+FF74;FF74;FF74;30A8;30A8;
+FF75;FF75;FF75;30AA;30AA;
+FF76;FF76;FF76;30AB;30AB;
+FF77;FF77;FF77;30AD;30AD;
+FF78;FF78;FF78;30AF;30AF;
+FF79;FF79;FF79;30B1;30B1;
+FF7A;FF7A;FF7A;30B3;30B3;
+FF7B;FF7B;FF7B;30B5;30B5;
+FF7C;FF7C;FF7C;30B7;30B7;
+FF7D;FF7D;FF7D;30B9;30B9;
+FF7E;FF7E;FF7E;30BB;30BB;
+FF7F;FF7F;FF7F;30BD;30BD;
+FF80;FF80;FF80;30BF;30BF;
+FF81;FF81;FF81;30C1;30C1;
+FF82;FF82;FF82;30C4;30C4;
+FF83;FF83;FF83;30C6;30C6;
+FF84;FF84;FF84;30C8;30C8;
+FF85;FF85;FF85;30CA;30CA;
+FF86;FF86;FF86;30CB;30CB;
+FF87;FF87;FF87;30CC;30CC;
+FF88;FF88;FF88;30CD;30CD;
+FF89;FF89;FF89;30CE;30CE;
+FF8A;FF8A;FF8A;30CF;30CF;
+FF8B;FF8B;FF8B;30D2;30D2;
+FF8C;FF8C;FF8C;30D5;30D5;
+FF8D;FF8D;FF8D;30D8;30D8;
+FF8E;FF8E;FF8E;30DB;30DB;
+FF8F;FF8F;FF8F;30DE;30DE;
+FF90;FF90;FF90;30DF;30DF;
+FF91;FF91;FF91;30E0;30E0;
+FF92;FF92;FF92;30E1;30E1;
+FF93;FF93;FF93;30E2;30E2;
+FF94;FF94;FF94;30E4;30E4;
+FF95;FF95;FF95;30E6;30E6;
+FF96;FF96;FF96;30E8;30E8;
+FF97;FF97;FF97;30E9;30E9;
+FF98;FF98;FF98;30EA;30EA;
+FF99;FF99;FF99;30EB;30EB;
+FF9A;FF9A;FF9A;30EC;30EC;
+FF9B;FF9B;FF9B;30ED;30ED;
+FF9C;FF9C;FF9C;30EF;30EF;
+FF9D;FF9D;FF9D;30F3;30F3;
+FF9E;FF9E;FF9E;3099;3099;
+FF9F;FF9F;FF9F;309A;309A;
+FFA0;FFA0;FFA0;1160;1160;
+FFA1;FFA1;FFA1;1100;1100;
+FFA2;FFA2;FFA2;1101;1101;
+FFA3;FFA3;FFA3;11AA;11AA;
+FFA4;FFA4;FFA4;1102;1102;
+FFA5;FFA5;FFA5;11AC;11AC;
+FFA6;FFA6;FFA6;11AD;11AD;
+FFA7;FFA7;FFA7;1103;1103;
+FFA8;FFA8;FFA8;1104;1104;
+FFA9;FFA9;FFA9;1105;1105;
+FFAA;FFAA;FFAA;11B0;11B0;
+FFAB;FFAB;FFAB;11B1;11B1;
+FFAC;FFAC;FFAC;11B2;11B2;
+FFAD;FFAD;FFAD;11B3;11B3;
+FFAE;FFAE;FFAE;11B4;11B4;
+FFAF;FFAF;FFAF;11B5;11B5;
+FFB0;FFB0;FFB0;111A;111A;
+FFB1;FFB1;FFB1;1106;1106;
+FFB2;FFB2;FFB2;1107;1107;
+FFB3;FFB3;FFB3;1108;1108;
+FFB4;FFB4;FFB4;1121;1121;
+FFB5;FFB5;FFB5;1109;1109;
+FFB6;FFB6;FFB6;110A;110A;
+FFB7;FFB7;FFB7;110B;110B;
+FFB8;FFB8;FFB8;110C;110C;
+FFB9;FFB9;FFB9;110D;110D;
+FFBA;FFBA;FFBA;110E;110E;
+FFBB;FFBB;FFBB;110F;110F;
+FFBC;FFBC;FFBC;1110;1110;
+FFBD;FFBD;FFBD;1111;1111;
+FFBE;FFBE;FFBE;1112;1112;
+FFC2;FFC2;FFC2;1161;1161;
+FFC3;FFC3;FFC3;1162;1162;
+FFC4;FFC4;FFC4;1163;1163;
+FFC5;FFC5;FFC5;1164;1164;
+FFC6;FFC6;FFC6;1165;1165;
+FFC7;FFC7;FFC7;1166;1166;
+FFCA;FFCA;FFCA;1167;1167;
+FFCB;FFCB;FFCB;1168;1168;
+FFCC;FFCC;FFCC;1169;1169;
+FFCD;FFCD;FFCD;116A;116A;
+FFCE;FFCE;FFCE;116B;116B;
+FFCF;FFCF;FFCF;116C;116C;
+FFD2;FFD2;FFD2;116D;116D;
+FFD3;FFD3;FFD3;116E;116E;
+FFD4;FFD4;FFD4;116F;116F;
+FFD5;FFD5;FFD5;1170;1170;
+FFD6;FFD6;FFD6;1171;1171;
+FFD7;FFD7;FFD7;1172;1172;
+FFDA;FFDA;FFDA;1173;1173;
+FFDB;FFDB;FFDB;1174;1174;
+FFDC;FFDC;FFDC;1175;1175;
+FFE0;FFE0;FFE0;00A2;00A2;
+FFE1;FFE1;FFE1;00A3;00A3;
+FFE2;FFE2;FFE2;00AC;00AC;
+FFE3;FFE3;FFE3;0020 0304;0020 0304;
+FFE4;FFE4;FFE4;00A6;00A6;
+FFE5;FFE5;FFE5;00A5;00A5;
+FFE6;FFE6;FFE6;20A9;20A9;
+FFE8;FFE8;FFE8;2502;2502;
+FFE9;FFE9;FFE9;2190;2190;
+FFEA;FFEA;FFEA;2191;2191;
+FFEB;FFEB;FFEB;2192;2192;
+FFEC;FFEC;FFEC;2193;2193;
+FFED;FFED;FFED;25A0;25A0;
+FFEE;FFEE;FFEE;25CB;25CB;
+1D15E;1D157 1D165;1D157 1D165;1D157 1D165;1D157 1D165;
+1D15F;1D158 1D165;1D158 1D165;1D158 1D165;1D158 1D165;
+1D160;1D158 1D165 1D16E;1D158 1D165 1D16E;1D158 1D165 1D16E;1D158 1D165 1D16E;
+1D161;1D158 1D165 1D16F;1D158 1D165 1D16F;1D158 1D165 1D16F;1D158 1D165 1D16F;
+1D162;1D158 1D165 1D170;1D158 1D165 1D170;1D158 1D165 1D170;1D158 1D165 1D170;
+1D163;1D158 1D165 1D171;1D158 1D165 1D171;1D158 1D165 1D171;1D158 1D165 1D171;
+1D164;1D158 1D165 1D172;1D158 1D165 1D172;1D158 1D165 1D172;1D158 1D165 1D172;
+1D1BB;1D1B9 1D165;1D1B9 1D165;1D1B9 1D165;1D1B9 1D165;
+1D1BC;1D1BA 1D165;1D1BA 1D165;1D1BA 1D165;1D1BA 1D165;
+1D1BD;1D1B9 1D165 1D16E;1D1B9 1D165 1D16E;1D1B9 1D165 1D16E;1D1B9 1D165 1D16E;
+1D1BE;1D1BA 1D165 1D16E;1D1BA 1D165 1D16E;1D1BA 1D165 1D16E;1D1BA 1D165 1D16E;
+1D1BF;1D1B9 1D165 1D16F;1D1B9 1D165 1D16F;1D1B9 1D165 1D16F;1D1B9 1D165 1D16F;
+1D1C0;1D1BA 1D165 1D16F;1D1BA 1D165 1D16F;1D1BA 1D165 1D16F;1D1BA 1D165 1D16F;
+1D400;1D400;1D400;0041;0041;
+1D401;1D401;1D401;0042;0042;
+1D402;1D402;1D402;0043;0043;
+1D403;1D403;1D403;0044;0044;
+1D404;1D404;1D404;0045;0045;
+1D405;1D405;1D405;0046;0046;
+1D406;1D406;1D406;0047;0047;
+1D407;1D407;1D407;0048;0048;
+1D408;1D408;1D408;0049;0049;
+1D409;1D409;1D409;004A;004A;
+1D40A;1D40A;1D40A;004B;004B;
+1D40B;1D40B;1D40B;004C;004C;
+1D40C;1D40C;1D40C;004D;004D;
+1D40D;1D40D;1D40D;004E;004E;
+1D40E;1D40E;1D40E;004F;004F;
+1D40F;1D40F;1D40F;0050;0050;
+1D410;1D410;1D410;0051;0051;
+1D411;1D411;1D411;0052;0052;
+1D412;1D412;1D412;0053;0053;
+1D413;1D413;1D413;0054;0054;
+1D414;1D414;1D414;0055;0055;
+1D415;1D415;1D415;0056;0056;
+1D416;1D416;1D416;0057;0057;
+1D417;1D417;1D417;0058;0058;
+1D418;1D418;1D418;0059;0059;
+1D419;1D419;1D419;005A;005A;
+1D41A;1D41A;1D41A;0061;0061;
+1D41B;1D41B;1D41B;0062;0062;
+1D41C;1D41C;1D41C;0063;0063;
+1D41D;1D41D;1D41D;0064;0064;
+1D41E;1D41E;1D41E;0065;0065;
+1D41F;1D41F;1D41F;0066;0066;
+1D420;1D420;1D420;0067;0067;
+1D421;1D421;1D421;0068;0068;
+1D422;1D422;1D422;0069;0069;
+1D423;1D423;1D423;006A;006A;
+1D424;1D424;1D424;006B;006B;
+1D425;1D425;1D425;006C;006C;
+1D426;1D426;1D426;006D;006D;
+1D427;1D427;1D427;006E;006E;
+1D428;1D428;1D428;006F;006F;
+1D429;1D429;1D429;0070;0070;
+1D42A;1D42A;1D42A;0071;0071;
+1D42B;1D42B;1D42B;0072;0072;
+1D42C;1D42C;1D42C;0073;0073;
+1D42D;1D42D;1D42D;0074;0074;
+1D42E;1D42E;1D42E;0075;0075;
+1D42F;1D42F;1D42F;0076;0076;
+1D430;1D430;1D430;0077;0077;
+1D431;1D431;1D431;0078;0078;
+1D432;1D432;1D432;0079;0079;
+1D433;1D433;1D433;007A;007A;
+1D434;1D434;1D434;0041;0041;
+1D435;1D435;1D435;0042;0042;
+1D436;1D436;1D436;0043;0043;
+1D437;1D437;1D437;0044;0044;
+1D438;1D438;1D438;0045;0045;
+1D439;1D439;1D439;0046;0046;
+1D43A;1D43A;1D43A;0047;0047;
+1D43B;1D43B;1D43B;0048;0048;
+1D43C;1D43C;1D43C;0049;0049;
+1D43D;1D43D;1D43D;004A;004A;
+1D43E;1D43E;1D43E;004B;004B;
+1D43F;1D43F;1D43F;004C;004C;
+1D440;1D440;1D440;004D;004D;
+1D441;1D441;1D441;004E;004E;
+1D442;1D442;1D442;004F;004F;
+1D443;1D443;1D443;0050;0050;
+1D444;1D444;1D444;0051;0051;
+1D445;1D445;1D445;0052;0052;
+1D446;1D446;1D446;0053;0053;
+1D447;1D447;1D447;0054;0054;
+1D448;1D448;1D448;0055;0055;
+1D449;1D449;1D449;0056;0056;
+1D44A;1D44A;1D44A;0057;0057;
+1D44B;1D44B;1D44B;0058;0058;
+1D44C;1D44C;1D44C;0059;0059;
+1D44D;1D44D;1D44D;005A;005A;
+1D44E;1D44E;1D44E;0061;0061;
+1D44F;1D44F;1D44F;0062;0062;
+1D450;1D450;1D450;0063;0063;
+1D451;1D451;1D451;0064;0064;
+1D452;1D452;1D452;0065;0065;
+1D453;1D453;1D453;0066;0066;
+1D454;1D454;1D454;0067;0067;
+1D456;1D456;1D456;0069;0069;
+1D457;1D457;1D457;006A;006A;
+1D458;1D458;1D458;006B;006B;
+1D459;1D459;1D459;006C;006C;
+1D45A;1D45A;1D45A;006D;006D;
+1D45B;1D45B;1D45B;006E;006E;
+1D45C;1D45C;1D45C;006F;006F;
+1D45D;1D45D;1D45D;0070;0070;
+1D45E;1D45E;1D45E;0071;0071;
+1D45F;1D45F;1D45F;0072;0072;
+1D460;1D460;1D460;0073;0073;
+1D461;1D461;1D461;0074;0074;
+1D462;1D462;1D462;0075;0075;
+1D463;1D463;1D463;0076;0076;
+1D464;1D464;1D464;0077;0077;
+1D465;1D465;1D465;0078;0078;
+1D466;1D466;1D466;0079;0079;
+1D467;1D467;1D467;007A;007A;
+1D468;1D468;1D468;0041;0041;
+1D469;1D469;1D469;0042;0042;
+1D46A;1D46A;1D46A;0043;0043;
+1D46B;1D46B;1D46B;0044;0044;
+1D46C;1D46C;1D46C;0045;0045;
+1D46D;1D46D;1D46D;0046;0046;
+1D46E;1D46E;1D46E;0047;0047;
+1D46F;1D46F;1D46F;0048;0048;
+1D470;1D470;1D470;0049;0049;
+1D471;1D471;1D471;004A;004A;
+1D472;1D472;1D472;004B;004B;
+1D473;1D473;1D473;004C;004C;
+1D474;1D474;1D474;004D;004D;
+1D475;1D475;1D475;004E;004E;
+1D476;1D476;1D476;004F;004F;
+1D477;1D477;1D477;0050;0050;
+1D478;1D478;1D478;0051;0051;
+1D479;1D479;1D479;0052;0052;
+1D47A;1D47A;1D47A;0053;0053;
+1D47B;1D47B;1D47B;0054;0054;
+1D47C;1D47C;1D47C;0055;0055;
+1D47D;1D47D;1D47D;0056;0056;
+1D47E;1D47E;1D47E;0057;0057;
+1D47F;1D47F;1D47F;0058;0058;
+1D480;1D480;1D480;0059;0059;
+1D481;1D481;1D481;005A;005A;
+1D482;1D482;1D482;0061;0061;
+1D483;1D483;1D483;0062;0062;
+1D484;1D484;1D484;0063;0063;
+1D485;1D485;1D485;0064;0064;
+1D486;1D486;1D486;0065;0065;
+1D487;1D487;1D487;0066;0066;
+1D488;1D488;1D488;0067;0067;
+1D489;1D489;1D489;0068;0068;
+1D48A;1D48A;1D48A;0069;0069;
+1D48B;1D48B;1D48B;006A;006A;
+1D48C;1D48C;1D48C;006B;006B;
+1D48D;1D48D;1D48D;006C;006C;
+1D48E;1D48E;1D48E;006D;006D;
+1D48F;1D48F;1D48F;006E;006E;
+1D490;1D490;1D490;006F;006F;
+1D491;1D491;1D491;0070;0070;
+1D492;1D492;1D492;0071;0071;
+1D493;1D493;1D493;0072;0072;
+1D494;1D494;1D494;0073;0073;
+1D495;1D495;1D495;0074;0074;
+1D496;1D496;1D496;0075;0075;
+1D497;1D497;1D497;0076;0076;
+1D498;1D498;1D498;0077;0077;
+1D499;1D499;1D499;0078;0078;
+1D49A;1D49A;1D49A;0079;0079;
+1D49B;1D49B;1D49B;007A;007A;
+1D49C;1D49C;1D49C;0041;0041;
+1D49E;1D49E;1D49E;0043;0043;
+1D49F;1D49F;1D49F;0044;0044;
+1D4A2;1D4A2;1D4A2;0047;0047;
+1D4A5;1D4A5;1D4A5;004A;004A;
+1D4A6;1D4A6;1D4A6;004B;004B;
+1D4A9;1D4A9;1D4A9;004E;004E;
+1D4AA;1D4AA;1D4AA;004F;004F;
+1D4AB;1D4AB;1D4AB;0050;0050;
+1D4AC;1D4AC;1D4AC;0051;0051;
+1D4AE;1D4AE;1D4AE;0053;0053;
+1D4AF;1D4AF;1D4AF;0054;0054;
+1D4B0;1D4B0;1D4B0;0055;0055;
+1D4B1;1D4B1;1D4B1;0056;0056;
+1D4B2;1D4B2;1D4B2;0057;0057;
+1D4B3;1D4B3;1D4B3;0058;0058;
+1D4B4;1D4B4;1D4B4;0059;0059;
+1D4B5;1D4B5;1D4B5;005A;005A;
+1D4B6;1D4B6;1D4B6;0061;0061;
+1D4B7;1D4B7;1D4B7;0062;0062;
+1D4B8;1D4B8;1D4B8;0063;0063;
+1D4B9;1D4B9;1D4B9;0064;0064;
+1D4BB;1D4BB;1D4BB;0066;0066;
+1D4BD;1D4BD;1D4BD;0068;0068;
+1D4BE;1D4BE;1D4BE;0069;0069;
+1D4BF;1D4BF;1D4BF;006A;006A;
+1D4C0;1D4C0;1D4C0;006B;006B;
+1D4C2;1D4C2;1D4C2;006D;006D;
+1D4C3;1D4C3;1D4C3;006E;006E;
+1D4C5;1D4C5;1D4C5;0070;0070;
+1D4C6;1D4C6;1D4C6;0071;0071;
+1D4C7;1D4C7;1D4C7;0072;0072;
+1D4C8;1D4C8;1D4C8;0073;0073;
+1D4C9;1D4C9;1D4C9;0074;0074;
+1D4CA;1D4CA;1D4CA;0075;0075;
+1D4CB;1D4CB;1D4CB;0076;0076;
+1D4CC;1D4CC;1D4CC;0077;0077;
+1D4CD;1D4CD;1D4CD;0078;0078;
+1D4CE;1D4CE;1D4CE;0079;0079;
+1D4CF;1D4CF;1D4CF;007A;007A;
+1D4D0;1D4D0;1D4D0;0041;0041;
+1D4D1;1D4D1;1D4D1;0042;0042;
+1D4D2;1D4D2;1D4D2;0043;0043;
+1D4D3;1D4D3;1D4D3;0044;0044;
+1D4D4;1D4D4;1D4D4;0045;0045;
+1D4D5;1D4D5;1D4D5;0046;0046;
+1D4D6;1D4D6;1D4D6;0047;0047;
+1D4D7;1D4D7;1D4D7;0048;0048;
+1D4D8;1D4D8;1D4D8;0049;0049;
+1D4D9;1D4D9;1D4D9;004A;004A;
+1D4DA;1D4DA;1D4DA;004B;004B;
+1D4DB;1D4DB;1D4DB;004C;004C;
+1D4DC;1D4DC;1D4DC;004D;004D;
+1D4DD;1D4DD;1D4DD;004E;004E;
+1D4DE;1D4DE;1D4DE;004F;004F;
+1D4DF;1D4DF;1D4DF;0050;0050;
+1D4E0;1D4E0;1D4E0;0051;0051;
+1D4E1;1D4E1;1D4E1;0052;0052;
+1D4E2;1D4E2;1D4E2;0053;0053;
+1D4E3;1D4E3;1D4E3;0054;0054;
+1D4E4;1D4E4;1D4E4;0055;0055;
+1D4E5;1D4E5;1D4E5;0056;0056;
+1D4E6;1D4E6;1D4E6;0057;0057;
+1D4E7;1D4E7;1D4E7;0058;0058;
+1D4E8;1D4E8;1D4E8;0059;0059;
+1D4E9;1D4E9;1D4E9;005A;005A;
+1D4EA;1D4EA;1D4EA;0061;0061;
+1D4EB;1D4EB;1D4EB;0062;0062;
+1D4EC;1D4EC;1D4EC;0063;0063;
+1D4ED;1D4ED;1D4ED;0064;0064;
+1D4EE;1D4EE;1D4EE;0065;0065;
+1D4EF;1D4EF;1D4EF;0066;0066;
+1D4F0;1D4F0;1D4F0;0067;0067;
+1D4F1;1D4F1;1D4F1;0068;0068;
+1D4F2;1D4F2;1D4F2;0069;0069;
+1D4F3;1D4F3;1D4F3;006A;006A;
+1D4F4;1D4F4;1D4F4;006B;006B;
+1D4F5;1D4F5;1D4F5;006C;006C;
+1D4F6;1D4F6;1D4F6;006D;006D;
+1D4F7;1D4F7;1D4F7;006E;006E;
+1D4F8;1D4F8;1D4F8;006F;006F;
+1D4F9;1D4F9;1D4F9;0070;0070;
+1D4FA;1D4FA;1D4FA;0071;0071;
+1D4FB;1D4FB;1D4FB;0072;0072;
+1D4FC;1D4FC;1D4FC;0073;0073;
+1D4FD;1D4FD;1D4FD;0074;0074;
+1D4FE;1D4FE;1D4FE;0075;0075;
+1D4FF;1D4FF;1D4FF;0076;0076;
+1D500;1D500;1D500;0077;0077;
+1D501;1D501;1D501;0078;0078;
+1D502;1D502;1D502;0079;0079;
+1D503;1D503;1D503;007A;007A;
+1D504;1D504;1D504;0041;0041;
+1D505;1D505;1D505;0042;0042;
+1D507;1D507;1D507;0044;0044;
+1D508;1D508;1D508;0045;0045;
+1D509;1D509;1D509;0046;0046;
+1D50A;1D50A;1D50A;0047;0047;
+1D50D;1D50D;1D50D;004A;004A;
+1D50E;1D50E;1D50E;004B;004B;
+1D50F;1D50F;1D50F;004C;004C;
+1D510;1D510;1D510;004D;004D;
+1D511;1D511;1D511;004E;004E;
+1D512;1D512;1D512;004F;004F;
+1D513;1D513;1D513;0050;0050;
+1D514;1D514;1D514;0051;0051;
+1D516;1D516;1D516;0053;0053;
+1D517;1D517;1D517;0054;0054;
+1D518;1D518;1D518;0055;0055;
+1D519;1D519;1D519;0056;0056;
+1D51A;1D51A;1D51A;0057;0057;
+1D51B;1D51B;1D51B;0058;0058;
+1D51C;1D51C;1D51C;0059;0059;
+1D51E;1D51E;1D51E;0061;0061;
+1D51F;1D51F;1D51F;0062;0062;
+1D520;1D520;1D520;0063;0063;
+1D521;1D521;1D521;0064;0064;
+1D522;1D522;1D522;0065;0065;
+1D523;1D523;1D523;0066;0066;
+1D524;1D524;1D524;0067;0067;
+1D525;1D525;1D525;0068;0068;
+1D526;1D526;1D526;0069;0069;
+1D527;1D527;1D527;006A;006A;
+1D528;1D528;1D528;006B;006B;
+1D529;1D529;1D529;006C;006C;
+1D52A;1D52A;1D52A;006D;006D;
+1D52B;1D52B;1D52B;006E;006E;
+1D52C;1D52C;1D52C;006F;006F;
+1D52D;1D52D;1D52D;0070;0070;
+1D52E;1D52E;1D52E;0071;0071;
+1D52F;1D52F;1D52F;0072;0072;
+1D530;1D530;1D530;0073;0073;
+1D531;1D531;1D531;0074;0074;
+1D532;1D532;1D532;0075;0075;
+1D533;1D533;1D533;0076;0076;
+1D534;1D534;1D534;0077;0077;
+1D535;1D535;1D535;0078;0078;
+1D536;1D536;1D536;0079;0079;
+1D537;1D537;1D537;007A;007A;
+1D538;1D538;1D538;0041;0041;
+1D539;1D539;1D539;0042;0042;
+1D53B;1D53B;1D53B;0044;0044;
+1D53C;1D53C;1D53C;0045;0045;
+1D53D;1D53D;1D53D;0046;0046;
+1D53E;1D53E;1D53E;0047;0047;
+1D540;1D540;1D540;0049;0049;
+1D541;1D541;1D541;004A;004A;
+1D542;1D542;1D542;004B;004B;
+1D543;1D543;1D543;004C;004C;
+1D544;1D544;1D544;004D;004D;
+1D546;1D546;1D546;004F;004F;
+1D54A;1D54A;1D54A;0053;0053;
+1D54B;1D54B;1D54B;0054;0054;
+1D54C;1D54C;1D54C;0055;0055;
+1D54D;1D54D;1D54D;0056;0056;
+1D54E;1D54E;1D54E;0057;0057;
+1D54F;1D54F;1D54F;0058;0058;
+1D550;1D550;1D550;0059;0059;
+1D552;1D552;1D552;0061;0061;
+1D553;1D553;1D553;0062;0062;
+1D554;1D554;1D554;0063;0063;
+1D555;1D555;1D555;0064;0064;
+1D556;1D556;1D556;0065;0065;
+1D557;1D557;1D557;0066;0066;
+1D558;1D558;1D558;0067;0067;
+1D559;1D559;1D559;0068;0068;
+1D55A;1D55A;1D55A;0069;0069;
+1D55B;1D55B;1D55B;006A;006A;
+1D55C;1D55C;1D55C;006B;006B;
+1D55D;1D55D;1D55D;006C;006C;
+1D55E;1D55E;1D55E;006D;006D;
+1D55F;1D55F;1D55F;006E;006E;
+1D560;1D560;1D560;006F;006F;
+1D561;1D561;1D561;0070;0070;
+1D562;1D562;1D562;0071;0071;
+1D563;1D563;1D563;0072;0072;
+1D564;1D564;1D564;0073;0073;
+1D565;1D565;1D565;0074;0074;
+1D566;1D566;1D566;0075;0075;
+1D567;1D567;1D567;0076;0076;
+1D568;1D568;1D568;0077;0077;
+1D569;1D569;1D569;0078;0078;
+1D56A;1D56A;1D56A;0079;0079;
+1D56B;1D56B;1D56B;007A;007A;
+1D56C;1D56C;1D56C;0041;0041;
+1D56D;1D56D;1D56D;0042;0042;
+1D56E;1D56E;1D56E;0043;0043;
+1D56F;1D56F;1D56F;0044;0044;
+1D570;1D570;1D570;0045;0045;
+1D571;1D571;1D571;0046;0046;
+1D572;1D572;1D572;0047;0047;
+1D573;1D573;1D573;0048;0048;
+1D574;1D574;1D574;0049;0049;
+1D575;1D575;1D575;004A;004A;
+1D576;1D576;1D576;004B;004B;
+1D577;1D577;1D577;004C;004C;
+1D578;1D578;1D578;004D;004D;
+1D579;1D579;1D579;004E;004E;
+1D57A;1D57A;1D57A;004F;004F;
+1D57B;1D57B;1D57B;0050;0050;
+1D57C;1D57C;1D57C;0051;0051;
+1D57D;1D57D;1D57D;0052;0052;
+1D57E;1D57E;1D57E;0053;0053;
+1D57F;1D57F;1D57F;0054;0054;
+1D580;1D580;1D580;0055;0055;
+1D581;1D581;1D581;0056;0056;
+1D582;1D582;1D582;0057;0057;
+1D583;1D583;1D583;0058;0058;
+1D584;1D584;1D584;0059;0059;
+1D585;1D585;1D585;005A;005A;
+1D586;1D586;1D586;0061;0061;
+1D587;1D587;1D587;0062;0062;
+1D588;1D588;1D588;0063;0063;
+1D589;1D589;1D589;0064;0064;
+1D58A;1D58A;1D58A;0065;0065;
+1D58B;1D58B;1D58B;0066;0066;
+1D58C;1D58C;1D58C;0067;0067;
+1D58D;1D58D;1D58D;0068;0068;
+1D58E;1D58E;1D58E;0069;0069;
+1D58F;1D58F;1D58F;006A;006A;
+1D590;1D590;1D590;006B;006B;
+1D591;1D591;1D591;006C;006C;
+1D592;1D592;1D592;006D;006D;
+1D593;1D593;1D593;006E;006E;
+1D594;1D594;1D594;006F;006F;
+1D595;1D595;1D595;0070;0070;
+1D596;1D596;1D596;0071;0071;
+1D597;1D597;1D597;0072;0072;
+1D598;1D598;1D598;0073;0073;
+1D599;1D599;1D599;0074;0074;
+1D59A;1D59A;1D59A;0075;0075;
+1D59B;1D59B;1D59B;0076;0076;
+1D59C;1D59C;1D59C;0077;0077;
+1D59D;1D59D;1D59D;0078;0078;
+1D59E;1D59E;1D59E;0079;0079;
+1D59F;1D59F;1D59F;007A;007A;
+1D5A0;1D5A0;1D5A0;0041;0041;
+1D5A1;1D5A1;1D5A1;0042;0042;
+1D5A2;1D5A2;1D5A2;0043;0043;
+1D5A3;1D5A3;1D5A3;0044;0044;
+1D5A4;1D5A4;1D5A4;0045;0045;
+1D5A5;1D5A5;1D5A5;0046;0046;
+1D5A6;1D5A6;1D5A6;0047;0047;
+1D5A7;1D5A7;1D5A7;0048;0048;
+1D5A8;1D5A8;1D5A8;0049;0049;
+1D5A9;1D5A9;1D5A9;004A;004A;
+1D5AA;1D5AA;1D5AA;004B;004B;
+1D5AB;1D5AB;1D5AB;004C;004C;
+1D5AC;1D5AC;1D5AC;004D;004D;
+1D5AD;1D5AD;1D5AD;004E;004E;
+1D5AE;1D5AE;1D5AE;004F;004F;
+1D5AF;1D5AF;1D5AF;0050;0050;
+1D5B0;1D5B0;1D5B0;0051;0051;
+1D5B1;1D5B1;1D5B1;0052;0052;
+1D5B2;1D5B2;1D5B2;0053;0053;
+1D5B3;1D5B3;1D5B3;0054;0054;
+1D5B4;1D5B4;1D5B4;0055;0055;
+1D5B5;1D5B5;1D5B5;0056;0056;
+1D5B6;1D5B6;1D5B6;0057;0057;
+1D5B7;1D5B7;1D5B7;0058;0058;
+1D5B8;1D5B8;1D5B8;0059;0059;
+1D5B9;1D5B9;1D5B9;005A;005A;
+1D5BA;1D5BA;1D5BA;0061;0061;
+1D5BB;1D5BB;1D5BB;0062;0062;
+1D5BC;1D5BC;1D5BC;0063;0063;
+1D5BD;1D5BD;1D5BD;0064;0064;
+1D5BE;1D5BE;1D5BE;0065;0065;
+1D5BF;1D5BF;1D5BF;0066;0066;
+1D5C0;1D5C0;1D5C0;0067;0067;
+1D5C1;1D5C1;1D5C1;0068;0068;
+1D5C2;1D5C2;1D5C2;0069;0069;
+1D5C3;1D5C3;1D5C3;006A;006A;
+1D5C4;1D5C4;1D5C4;006B;006B;
+1D5C5;1D5C5;1D5C5;006C;006C;
+1D5C6;1D5C6;1D5C6;006D;006D;
+1D5C7;1D5C7;1D5C7;006E;006E;
+1D5C8;1D5C8;1D5C8;006F;006F;
+1D5C9;1D5C9;1D5C9;0070;0070;
+1D5CA;1D5CA;1D5CA;0071;0071;
+1D5CB;1D5CB;1D5CB;0072;0072;
+1D5CC;1D5CC;1D5CC;0073;0073;
+1D5CD;1D5CD;1D5CD;0074;0074;
+1D5CE;1D5CE;1D5CE;0075;0075;
+1D5CF;1D5CF;1D5CF;0076;0076;
+1D5D0;1D5D0;1D5D0;0077;0077;
+1D5D1;1D5D1;1D5D1;0078;0078;
+1D5D2;1D5D2;1D5D2;0079;0079;
+1D5D3;1D5D3;1D5D3;007A;007A;
+1D5D4;1D5D4;1D5D4;0041;0041;
+1D5D5;1D5D5;1D5D5;0042;0042;
+1D5D6;1D5D6;1D5D6;0043;0043;
+1D5D7;1D5D7;1D5D7;0044;0044;
+1D5D8;1D5D8;1D5D8;0045;0045;
+1D5D9;1D5D9;1D5D9;0046;0046;
+1D5DA;1D5DA;1D5DA;0047;0047;
+1D5DB;1D5DB;1D5DB;0048;0048;
+1D5DC;1D5DC;1D5DC;0049;0049;
+1D5DD;1D5DD;1D5DD;004A;004A;
+1D5DE;1D5DE;1D5DE;004B;004B;
+1D5DF;1D5DF;1D5DF;004C;004C;
+1D5E0;1D5E0;1D5E0;004D;004D;
+1D5E1;1D5E1;1D5E1;004E;004E;
+1D5E2;1D5E2;1D5E2;004F;004F;
+1D5E3;1D5E3;1D5E3;0050;0050;
+1D5E4;1D5E4;1D5E4;0051;0051;
+1D5E5;1D5E5;1D5E5;0052;0052;
+1D5E6;1D5E6;1D5E6;0053;0053;
+1D5E7;1D5E7;1D5E7;0054;0054;
+1D5E8;1D5E8;1D5E8;0055;0055;
+1D5E9;1D5E9;1D5E9;0056;0056;
+1D5EA;1D5EA;1D5EA;0057;0057;
+1D5EB;1D5EB;1D5EB;0058;0058;
+1D5EC;1D5EC;1D5EC;0059;0059;
+1D5ED;1D5ED;1D5ED;005A;005A;
+1D5EE;1D5EE;1D5EE;0061;0061;
+1D5EF;1D5EF;1D5EF;0062;0062;
+1D5F0;1D5F0;1D5F0;0063;0063;
+1D5F1;1D5F1;1D5F1;0064;0064;
+1D5F2;1D5F2;1D5F2;0065;0065;
+1D5F3;1D5F3;1D5F3;0066;0066;
+1D5F4;1D5F4;1D5F4;0067;0067;
+1D5F5;1D5F5;1D5F5;0068;0068;
+1D5F6;1D5F6;1D5F6;0069;0069;
+1D5F7;1D5F7;1D5F7;006A;006A;
+1D5F8;1D5F8;1D5F8;006B;006B;
+1D5F9;1D5F9;1D5F9;006C;006C;
+1D5FA;1D5FA;1D5FA;006D;006D;
+1D5FB;1D5FB;1D5FB;006E;006E;
+1D5FC;1D5FC;1D5FC;006F;006F;
+1D5FD;1D5FD;1D5FD;0070;0070;
+1D5FE;1D5FE;1D5FE;0071;0071;
+1D5FF;1D5FF;1D5FF;0072;0072;
+1D600;1D600;1D600;0073;0073;
+1D601;1D601;1D601;0074;0074;
+1D602;1D602;1D602;0075;0075;
+1D603;1D603;1D603;0076;0076;
+1D604;1D604;1D604;0077;0077;
+1D605;1D605;1D605;0078;0078;
+1D606;1D606;1D606;0079;0079;
+1D607;1D607;1D607;007A;007A;
+1D608;1D608;1D608;0041;0041;
+1D609;1D609;1D609;0042;0042;
+1D60A;1D60A;1D60A;0043;0043;
+1D60B;1D60B;1D60B;0044;0044;
+1D60C;1D60C;1D60C;0045;0045;
+1D60D;1D60D;1D60D;0046;0046;
+1D60E;1D60E;1D60E;0047;0047;
+1D60F;1D60F;1D60F;0048;0048;
+1D610;1D610;1D610;0049;0049;
+1D611;1D611;1D611;004A;004A;
+1D612;1D612;1D612;004B;004B;
+1D613;1D613;1D613;004C;004C;
+1D614;1D614;1D614;004D;004D;
+1D615;1D615;1D615;004E;004E;
+1D616;1D616;1D616;004F;004F;
+1D617;1D617;1D617;0050;0050;
+1D618;1D618;1D618;0051;0051;
+1D619;1D619;1D619;0052;0052;
+1D61A;1D61A;1D61A;0053;0053;
+1D61B;1D61B;1D61B;0054;0054;
+1D61C;1D61C;1D61C;0055;0055;
+1D61D;1D61D;1D61D;0056;0056;
+1D61E;1D61E;1D61E;0057;0057;
+1D61F;1D61F;1D61F;0058;0058;
+1D620;1D620;1D620;0059;0059;
+1D621;1D621;1D621;005A;005A;
+1D622;1D622;1D622;0061;0061;
+1D623;1D623;1D623;0062;0062;
+1D624;1D624;1D624;0063;0063;
+1D625;1D625;1D625;0064;0064;
+1D626;1D626;1D626;0065;0065;
+1D627;1D627;1D627;0066;0066;
+1D628;1D628;1D628;0067;0067;
+1D629;1D629;1D629;0068;0068;
+1D62A;1D62A;1D62A;0069;0069;
+1D62B;1D62B;1D62B;006A;006A;
+1D62C;1D62C;1D62C;006B;006B;
+1D62D;1D62D;1D62D;006C;006C;
+1D62E;1D62E;1D62E;006D;006D;
+1D62F;1D62F;1D62F;006E;006E;
+1D630;1D630;1D630;006F;006F;
+1D631;1D631;1D631;0070;0070;
+1D632;1D632;1D632;0071;0071;
+1D633;1D633;1D633;0072;0072;
+1D634;1D634;1D634;0073;0073;
+1D635;1D635;1D635;0074;0074;
+1D636;1D636;1D636;0075;0075;
+1D637;1D637;1D637;0076;0076;
+1D638;1D638;1D638;0077;0077;
+1D639;1D639;1D639;0078;0078;
+1D63A;1D63A;1D63A;0079;0079;
+1D63B;1D63B;1D63B;007A;007A;
+1D63C;1D63C;1D63C;0041;0041;
+1D63D;1D63D;1D63D;0042;0042;
+1D63E;1D63E;1D63E;0043;0043;
+1D63F;1D63F;1D63F;0044;0044;
+1D640;1D640;1D640;0045;0045;
+1D641;1D641;1D641;0046;0046;
+1D642;1D642;1D642;0047;0047;
+1D643;1D643;1D643;0048;0048;
+1D644;1D644;1D644;0049;0049;
+1D645;1D645;1D645;004A;004A;
+1D646;1D646;1D646;004B;004B;
+1D647;1D647;1D647;004C;004C;
+1D648;1D648;1D648;004D;004D;
+1D649;1D649;1D649;004E;004E;
+1D64A;1D64A;1D64A;004F;004F;
+1D64B;1D64B;1D64B;0050;0050;
+1D64C;1D64C;1D64C;0051;0051;
+1D64D;1D64D;1D64D;0052;0052;
+1D64E;1D64E;1D64E;0053;0053;
+1D64F;1D64F;1D64F;0054;0054;
+1D650;1D650;1D650;0055;0055;
+1D651;1D651;1D651;0056;0056;
+1D652;1D652;1D652;0057;0057;
+1D653;1D653;1D653;0058;0058;
+1D654;1D654;1D654;0059;0059;
+1D655;1D655;1D655;005A;005A;
+1D656;1D656;1D656;0061;0061;
+1D657;1D657;1D657;0062;0062;
+1D658;1D658;1D658;0063;0063;
+1D659;1D659;1D659;0064;0064;
+1D65A;1D65A;1D65A;0065;0065;
+1D65B;1D65B;1D65B;0066;0066;
+1D65C;1D65C;1D65C;0067;0067;
+1D65D;1D65D;1D65D;0068;0068;
+1D65E;1D65E;1D65E;0069;0069;
+1D65F;1D65F;1D65F;006A;006A;
+1D660;1D660;1D660;006B;006B;
+1D661;1D661;1D661;006C;006C;
+1D662;1D662;1D662;006D;006D;
+1D663;1D663;1D663;006E;006E;
+1D664;1D664;1D664;006F;006F;
+1D665;1D665;1D665;0070;0070;
+1D666;1D666;1D666;0071;0071;
+1D667;1D667;1D667;0072;0072;
+1D668;1D668;1D668;0073;0073;
+1D669;1D669;1D669;0074;0074;
+1D66A;1D66A;1D66A;0075;0075;
+1D66B;1D66B;1D66B;0076;0076;
+1D66C;1D66C;1D66C;0077;0077;
+1D66D;1D66D;1D66D;0078;0078;
+1D66E;1D66E;1D66E;0079;0079;
+1D66F;1D66F;1D66F;007A;007A;
+1D670;1D670;1D670;0041;0041;
+1D671;1D671;1D671;0042;0042;
+1D672;1D672;1D672;0043;0043;
+1D673;1D673;1D673;0044;0044;
+1D674;1D674;1D674;0045;0045;
+1D675;1D675;1D675;0046;0046;
+1D676;1D676;1D676;0047;0047;
+1D677;1D677;1D677;0048;0048;
+1D678;1D678;1D678;0049;0049;
+1D679;1D679;1D679;004A;004A;
+1D67A;1D67A;1D67A;004B;004B;
+1D67B;1D67B;1D67B;004C;004C;
+1D67C;1D67C;1D67C;004D;004D;
+1D67D;1D67D;1D67D;004E;004E;
+1D67E;1D67E;1D67E;004F;004F;
+1D67F;1D67F;1D67F;0050;0050;
+1D680;1D680;1D680;0051;0051;
+1D681;1D681;1D681;0052;0052;
+1D682;1D682;1D682;0053;0053;
+1D683;1D683;1D683;0054;0054;
+1D684;1D684;1D684;0055;0055;
+1D685;1D685;1D685;0056;0056;
+1D686;1D686;1D686;0057;0057;
+1D687;1D687;1D687;0058;0058;
+1D688;1D688;1D688;0059;0059;
+1D689;1D689;1D689;005A;005A;
+1D68A;1D68A;1D68A;0061;0061;
+1D68B;1D68B;1D68B;0062;0062;
+1D68C;1D68C;1D68C;0063;0063;
+1D68D;1D68D;1D68D;0064;0064;
+1D68E;1D68E;1D68E;0065;0065;
+1D68F;1D68F;1D68F;0066;0066;
+1D690;1D690;1D690;0067;0067;
+1D691;1D691;1D691;0068;0068;
+1D692;1D692;1D692;0069;0069;
+1D693;1D693;1D693;006A;006A;
+1D694;1D694;1D694;006B;006B;
+1D695;1D695;1D695;006C;006C;
+1D696;1D696;1D696;006D;006D;
+1D697;1D697;1D697;006E;006E;
+1D698;1D698;1D698;006F;006F;
+1D699;1D699;1D699;0070;0070;
+1D69A;1D69A;1D69A;0071;0071;
+1D69B;1D69B;1D69B;0072;0072;
+1D69C;1D69C;1D69C;0073;0073;
+1D69D;1D69D;1D69D;0074;0074;
+1D69E;1D69E;1D69E;0075;0075;
+1D69F;1D69F;1D69F;0076;0076;
+1D6A0;1D6A0;1D6A0;0077;0077;
+1D6A1;1D6A1;1D6A1;0078;0078;
+1D6A2;1D6A2;1D6A2;0079;0079;
+1D6A3;1D6A3;1D6A3;007A;007A;
+1D6A8;1D6A8;1D6A8;0391;0391;
+1D6A9;1D6A9;1D6A9;0392;0392;
+1D6AA;1D6AA;1D6AA;0393;0393;
+1D6AB;1D6AB;1D6AB;0394;0394;
+1D6AC;1D6AC;1D6AC;0395;0395;
+1D6AD;1D6AD;1D6AD;0396;0396;
+1D6AE;1D6AE;1D6AE;0397;0397;
+1D6AF;1D6AF;1D6AF;0398;0398;
+1D6B0;1D6B0;1D6B0;0399;0399;
+1D6B1;1D6B1;1D6B1;039A;039A;
+1D6B2;1D6B2;1D6B2;039B;039B;
+1D6B3;1D6B3;1D6B3;039C;039C;
+1D6B4;1D6B4;1D6B4;039D;039D;
+1D6B5;1D6B5;1D6B5;039E;039E;
+1D6B6;1D6B6;1D6B6;039F;039F;
+1D6B7;1D6B7;1D6B7;03A0;03A0;
+1D6B8;1D6B8;1D6B8;03A1;03A1;
+1D6B9;1D6B9;1D6B9;0398;0398;
+1D6BA;1D6BA;1D6BA;03A3;03A3;
+1D6BB;1D6BB;1D6BB;03A4;03A4;
+1D6BC;1D6BC;1D6BC;03A5;03A5;
+1D6BD;1D6BD;1D6BD;03A6;03A6;
+1D6BE;1D6BE;1D6BE;03A7;03A7;
+1D6BF;1D6BF;1D6BF;03A8;03A8;
+1D6C0;1D6C0;1D6C0;03A9;03A9;
+1D6C1;1D6C1;1D6C1;2207;2207;
+1D6C2;1D6C2;1D6C2;03B1;03B1;
+1D6C3;1D6C3;1D6C3;03B2;03B2;
+1D6C4;1D6C4;1D6C4;03B3;03B3;
+1D6C5;1D6C5;1D6C5;03B4;03B4;
+1D6C6;1D6C6;1D6C6;03B5;03B5;
+1D6C7;1D6C7;1D6C7;03B6;03B6;
+1D6C8;1D6C8;1D6C8;03B7;03B7;
+1D6C9;1D6C9;1D6C9;03B8;03B8;
+1D6CA;1D6CA;1D6CA;03B9;03B9;
+1D6CB;1D6CB;1D6CB;03BA;03BA;
+1D6CC;1D6CC;1D6CC;03BB;03BB;
+1D6CD;1D6CD;1D6CD;03BC;03BC;
+1D6CE;1D6CE;1D6CE;03BD;03BD;
+1D6CF;1D6CF;1D6CF;03BE;03BE;
+1D6D0;1D6D0;1D6D0;03BF;03BF;
+1D6D1;1D6D1;1D6D1;03C0;03C0;
+1D6D2;1D6D2;1D6D2;03C1;03C1;
+1D6D3;1D6D3;1D6D3;03C2;03C2;
+1D6D4;1D6D4;1D6D4;03C3;03C3;
+1D6D5;1D6D5;1D6D5;03C4;03C4;
+1D6D6;1D6D6;1D6D6;03C5;03C5;
+1D6D7;1D6D7;1D6D7;03C6;03C6;
+1D6D8;1D6D8;1D6D8;03C7;03C7;
+1D6D9;1D6D9;1D6D9;03C8;03C8;
+1D6DA;1D6DA;1D6DA;03C9;03C9;
+1D6DB;1D6DB;1D6DB;2202;2202;
+1D6DC;1D6DC;1D6DC;03B5;03B5;
+1D6DD;1D6DD;1D6DD;03B8;03B8;
+1D6DE;1D6DE;1D6DE;03BA;03BA;
+1D6DF;1D6DF;1D6DF;03C6;03C6;
+1D6E0;1D6E0;1D6E0;03C1;03C1;
+1D6E1;1D6E1;1D6E1;03C0;03C0;
+1D6E2;1D6E2;1D6E2;0391;0391;
+1D6E3;1D6E3;1D6E3;0392;0392;
+1D6E4;1D6E4;1D6E4;0393;0393;
+1D6E5;1D6E5;1D6E5;0394;0394;
+1D6E6;1D6E6;1D6E6;0395;0395;
+1D6E7;1D6E7;1D6E7;0396;0396;
+1D6E8;1D6E8;1D6E8;0397;0397;
+1D6E9;1D6E9;1D6E9;0398;0398;
+1D6EA;1D6EA;1D6EA;0399;0399;
+1D6EB;1D6EB;1D6EB;039A;039A;
+1D6EC;1D6EC;1D6EC;039B;039B;
+1D6ED;1D6ED;1D6ED;039C;039C;
+1D6EE;1D6EE;1D6EE;039D;039D;
+1D6EF;1D6EF;1D6EF;039E;039E;
+1D6F0;1D6F0;1D6F0;039F;039F;
+1D6F1;1D6F1;1D6F1;03A0;03A0;
+1D6F2;1D6F2;1D6F2;03A1;03A1;
+1D6F3;1D6F3;1D6F3;0398;0398;
+1D6F4;1D6F4;1D6F4;03A3;03A3;
+1D6F5;1D6F5;1D6F5;03A4;03A4;
+1D6F6;1D6F6;1D6F6;03A5;03A5;
+1D6F7;1D6F7;1D6F7;03A6;03A6;
+1D6F8;1D6F8;1D6F8;03A7;03A7;
+1D6F9;1D6F9;1D6F9;03A8;03A8;
+1D6FA;1D6FA;1D6FA;03A9;03A9;
+1D6FB;1D6FB;1D6FB;2207;2207;
+1D6FC;1D6FC;1D6FC;03B1;03B1;
+1D6FD;1D6FD;1D6FD;03B2;03B2;
+1D6FE;1D6FE;1D6FE;03B3;03B3;
+1D6FF;1D6FF;1D6FF;03B4;03B4;
+1D700;1D700;1D700;03B5;03B5;
+1D701;1D701;1D701;03B6;03B6;
+1D702;1D702;1D702;03B7;03B7;
+1D703;1D703;1D703;03B8;03B8;
+1D704;1D704;1D704;03B9;03B9;
+1D705;1D705;1D705;03BA;03BA;
+1D706;1D706;1D706;03BB;03BB;
+1D707;1D707;1D707;03BC;03BC;
+1D708;1D708;1D708;03BD;03BD;
+1D709;1D709;1D709;03BE;03BE;
+1D70A;1D70A;1D70A;03BF;03BF;
+1D70B;1D70B;1D70B;03C0;03C0;
+1D70C;1D70C;1D70C;03C1;03C1;
+1D70D;1D70D;1D70D;03C2;03C2;
+1D70E;1D70E;1D70E;03C3;03C3;
+1D70F;1D70F;1D70F;03C4;03C4;
+1D710;1D710;1D710;03C5;03C5;
+1D711;1D711;1D711;03C6;03C6;
+1D712;1D712;1D712;03C7;03C7;
+1D713;1D713;1D713;03C8;03C8;
+1D714;1D714;1D714;03C9;03C9;
+1D715;1D715;1D715;2202;2202;
+1D716;1D716;1D716;03B5;03B5;
+1D717;1D717;1D717;03B8;03B8;
+1D718;1D718;1D718;03BA;03BA;
+1D719;1D719;1D719;03C6;03C6;
+1D71A;1D71A;1D71A;03C1;03C1;
+1D71B;1D71B;1D71B;03C0;03C0;
+1D71C;1D71C;1D71C;0391;0391;
+1D71D;1D71D;1D71D;0392;0392;
+1D71E;1D71E;1D71E;0393;0393;
+1D71F;1D71F;1D71F;0394;0394;
+1D720;1D720;1D720;0395;0395;
+1D721;1D721;1D721;0396;0396;
+1D722;1D722;1D722;0397;0397;
+1D723;1D723;1D723;0398;0398;
+1D724;1D724;1D724;0399;0399;
+1D725;1D725;1D725;039A;039A;
+1D726;1D726;1D726;039B;039B;
+1D727;1D727;1D727;039C;039C;
+1D728;1D728;1D728;039D;039D;
+1D729;1D729;1D729;039E;039E;
+1D72A;1D72A;1D72A;039F;039F;
+1D72B;1D72B;1D72B;03A0;03A0;
+1D72C;1D72C;1D72C;03A1;03A1;
+1D72D;1D72D;1D72D;0398;0398;
+1D72E;1D72E;1D72E;03A3;03A3;
+1D72F;1D72F;1D72F;03A4;03A4;
+1D730;1D730;1D730;03A5;03A5;
+1D731;1D731;1D731;03A6;03A6;
+1D732;1D732;1D732;03A7;03A7;
+1D733;1D733;1D733;03A8;03A8;
+1D734;1D734;1D734;03A9;03A9;
+1D735;1D735;1D735;2207;2207;
+1D736;1D736;1D736;03B1;03B1;
+1D737;1D737;1D737;03B2;03B2;
+1D738;1D738;1D738;03B3;03B3;
+1D739;1D739;1D739;03B4;03B4;
+1D73A;1D73A;1D73A;03B5;03B5;
+1D73B;1D73B;1D73B;03B6;03B6;
+1D73C;1D73C;1D73C;03B7;03B7;
+1D73D;1D73D;1D73D;03B8;03B8;
+1D73E;1D73E;1D73E;03B9;03B9;
+1D73F;1D73F;1D73F;03BA;03BA;
+1D740;1D740;1D740;03BB;03BB;
+1D741;1D741;1D741;03BC;03BC;
+1D742;1D742;1D742;03BD;03BD;
+1D743;1D743;1D743;03BE;03BE;
+1D744;1D744;1D744;03BF;03BF;
+1D745;1D745;1D745;03C0;03C0;
+1D746;1D746;1D746;03C1;03C1;
+1D747;1D747;1D747;03C2;03C2;
+1D748;1D748;1D748;03C3;03C3;
+1D749;1D749;1D749;03C4;03C4;
+1D74A;1D74A;1D74A;03C5;03C5;
+1D74B;1D74B;1D74B;03C6;03C6;
+1D74C;1D74C;1D74C;03C7;03C7;
+1D74D;1D74D;1D74D;03C8;03C8;
+1D74E;1D74E;1D74E;03C9;03C9;
+1D74F;1D74F;1D74F;2202;2202;
+1D750;1D750;1D750;03B5;03B5;
+1D751;1D751;1D751;03B8;03B8;
+1D752;1D752;1D752;03BA;03BA;
+1D753;1D753;1D753;03C6;03C6;
+1D754;1D754;1D754;03C1;03C1;
+1D755;1D755;1D755;03C0;03C0;
+1D756;1D756;1D756;0391;0391;
+1D757;1D757;1D757;0392;0392;
+1D758;1D758;1D758;0393;0393;
+1D759;1D759;1D759;0394;0394;
+1D75A;1D75A;1D75A;0395;0395;
+1D75B;1D75B;1D75B;0396;0396;
+1D75C;1D75C;1D75C;0397;0397;
+1D75D;1D75D;1D75D;0398;0398;
+1D75E;1D75E;1D75E;0399;0399;
+1D75F;1D75F;1D75F;039A;039A;
+1D760;1D760;1D760;039B;039B;
+1D761;1D761;1D761;039C;039C;
+1D762;1D762;1D762;039D;039D;
+1D763;1D763;1D763;039E;039E;
+1D764;1D764;1D764;039F;039F;
+1D765;1D765;1D765;03A0;03A0;
+1D766;1D766;1D766;03A1;03A1;
+1D767;1D767;1D767;0398;0398;
+1D768;1D768;1D768;03A3;03A3;
+1D769;1D769;1D769;03A4;03A4;
+1D76A;1D76A;1D76A;03A5;03A5;
+1D76B;1D76B;1D76B;03A6;03A6;
+1D76C;1D76C;1D76C;03A7;03A7;
+1D76D;1D76D;1D76D;03A8;03A8;
+1D76E;1D76E;1D76E;03A9;03A9;
+1D76F;1D76F;1D76F;2207;2207;
+1D770;1D770;1D770;03B1;03B1;
+1D771;1D771;1D771;03B2;03B2;
+1D772;1D772;1D772;03B3;03B3;
+1D773;1D773;1D773;03B4;03B4;
+1D774;1D774;1D774;03B5;03B5;
+1D775;1D775;1D775;03B6;03B6;
+1D776;1D776;1D776;03B7;03B7;
+1D777;1D777;1D777;03B8;03B8;
+1D778;1D778;1D778;03B9;03B9;
+1D779;1D779;1D779;03BA;03BA;
+1D77A;1D77A;1D77A;03BB;03BB;
+1D77B;1D77B;1D77B;03BC;03BC;
+1D77C;1D77C;1D77C;03BD;03BD;
+1D77D;1D77D;1D77D;03BE;03BE;
+1D77E;1D77E;1D77E;03BF;03BF;
+1D77F;1D77F;1D77F;03C0;03C0;
+1D780;1D780;1D780;03C1;03C1;
+1D781;1D781;1D781;03C2;03C2;
+1D782;1D782;1D782;03C3;03C3;
+1D783;1D783;1D783;03C4;03C4;
+1D784;1D784;1D784;03C5;03C5;
+1D785;1D785;1D785;03C6;03C6;
+1D786;1D786;1D786;03C7;03C7;
+1D787;1D787;1D787;03C8;03C8;
+1D788;1D788;1D788;03C9;03C9;
+1D789;1D789;1D789;2202;2202;
+1D78A;1D78A;1D78A;03B5;03B5;
+1D78B;1D78B;1D78B;03B8;03B8;
+1D78C;1D78C;1D78C;03BA;03BA;
+1D78D;1D78D;1D78D;03C6;03C6;
+1D78E;1D78E;1D78E;03C1;03C1;
+1D78F;1D78F;1D78F;03C0;03C0;
+1D790;1D790;1D790;0391;0391;
+1D791;1D791;1D791;0392;0392;
+1D792;1D792;1D792;0393;0393;
+1D793;1D793;1D793;0394;0394;
+1D794;1D794;1D794;0395;0395;
+1D795;1D795;1D795;0396;0396;
+1D796;1D796;1D796;0397;0397;
+1D797;1D797;1D797;0398;0398;
+1D798;1D798;1D798;0399;0399;
+1D799;1D799;1D799;039A;039A;
+1D79A;1D79A;1D79A;039B;039B;
+1D79B;1D79B;1D79B;039C;039C;
+1D79C;1D79C;1D79C;039D;039D;
+1D79D;1D79D;1D79D;039E;039E;
+1D79E;1D79E;1D79E;039F;039F;
+1D79F;1D79F;1D79F;03A0;03A0;
+1D7A0;1D7A0;1D7A0;03A1;03A1;
+1D7A1;1D7A1;1D7A1;0398;0398;
+1D7A2;1D7A2;1D7A2;03A3;03A3;
+1D7A3;1D7A3;1D7A3;03A4;03A4;
+1D7A4;1D7A4;1D7A4;03A5;03A5;
+1D7A5;1D7A5;1D7A5;03A6;03A6;
+1D7A6;1D7A6;1D7A6;03A7;03A7;
+1D7A7;1D7A7;1D7A7;03A8;03A8;
+1D7A8;1D7A8;1D7A8;03A9;03A9;
+1D7A9;1D7A9;1D7A9;2207;2207;
+1D7AA;1D7AA;1D7AA;03B1;03B1;
+1D7AB;1D7AB;1D7AB;03B2;03B2;
+1D7AC;1D7AC;1D7AC;03B3;03B3;
+1D7AD;1D7AD;1D7AD;03B4;03B4;
+1D7AE;1D7AE;1D7AE;03B5;03B5;
+1D7AF;1D7AF;1D7AF;03B6;03B6;
+1D7B0;1D7B0;1D7B0;03B7;03B7;
+1D7B1;1D7B1;1D7B1;03B8;03B8;
+1D7B2;1D7B2;1D7B2;03B9;03B9;
+1D7B3;1D7B3;1D7B3;03BA;03BA;
+1D7B4;1D7B4;1D7B4;03BB;03BB;
+1D7B5;1D7B5;1D7B5;03BC;03BC;
+1D7B6;1D7B6;1D7B6;03BD;03BD;
+1D7B7;1D7B7;1D7B7;03BE;03BE;
+1D7B8;1D7B8;1D7B8;03BF;03BF;
+1D7B9;1D7B9;1D7B9;03C0;03C0;
+1D7BA;1D7BA;1D7BA;03C1;03C1;
+1D7BB;1D7BB;1D7BB;03C2;03C2;
+1D7BC;1D7BC;1D7BC;03C3;03C3;
+1D7BD;1D7BD;1D7BD;03C4;03C4;
+1D7BE;1D7BE;1D7BE;03C5;03C5;
+1D7BF;1D7BF;1D7BF;03C6;03C6;
+1D7C0;1D7C0;1D7C0;03C7;03C7;
+1D7C1;1D7C1;1D7C1;03C8;03C8;
+1D7C2;1D7C2;1D7C2;03C9;03C9;
+1D7C3;1D7C3;1D7C3;2202;2202;
+1D7C4;1D7C4;1D7C4;03B5;03B5;
+1D7C5;1D7C5;1D7C5;03B8;03B8;
+1D7C6;1D7C6;1D7C6;03BA;03BA;
+1D7C7;1D7C7;1D7C7;03C6;03C6;
+1D7C8;1D7C8;1D7C8;03C1;03C1;
+1D7C9;1D7C9;1D7C9;03C0;03C0;
+1D7CE;1D7CE;1D7CE;0030;0030;
+1D7CF;1D7CF;1D7CF;0031;0031;
+1D7D0;1D7D0;1D7D0;0032;0032;
+1D7D1;1D7D1;1D7D1;0033;0033;
+1D7D2;1D7D2;1D7D2;0034;0034;
+1D7D3;1D7D3;1D7D3;0035;0035;
+1D7D4;1D7D4;1D7D4;0036;0036;
+1D7D5;1D7D5;1D7D5;0037;0037;
+1D7D6;1D7D6;1D7D6;0038;0038;
+1D7D7;1D7D7;1D7D7;0039;0039;
+1D7D8;1D7D8;1D7D8;0030;0030;
+1D7D9;1D7D9;1D7D9;0031;0031;
+1D7DA;1D7DA;1D7DA;0032;0032;
+1D7DB;1D7DB;1D7DB;0033;0033;
+1D7DC;1D7DC;1D7DC;0034;0034;
+1D7DD;1D7DD;1D7DD;0035;0035;
+1D7DE;1D7DE;1D7DE;0036;0036;
+1D7DF;1D7DF;1D7DF;0037;0037;
+1D7E0;1D7E0;1D7E0;0038;0038;
+1D7E1;1D7E1;1D7E1;0039;0039;
+1D7E2;1D7E2;1D7E2;0030;0030;
+1D7E3;1D7E3;1D7E3;0031;0031;
+1D7E4;1D7E4;1D7E4;0032;0032;
+1D7E5;1D7E5;1D7E5;0033;0033;
+1D7E6;1D7E6;1D7E6;0034;0034;
+1D7E7;1D7E7;1D7E7;0035;0035;
+1D7E8;1D7E8;1D7E8;0036;0036;
+1D7E9;1D7E9;1D7E9;0037;0037;
+1D7EA;1D7EA;1D7EA;0038;0038;
+1D7EB;1D7EB;1D7EB;0039;0039;
+1D7EC;1D7EC;1D7EC;0030;0030;
+1D7ED;1D7ED;1D7ED;0031;0031;
+1D7EE;1D7EE;1D7EE;0032;0032;
+1D7EF;1D7EF;1D7EF;0033;0033;
+1D7F0;1D7F0;1D7F0;0034;0034;
+1D7F1;1D7F1;1D7F1;0035;0035;
+1D7F2;1D7F2;1D7F2;0036;0036;
+1D7F3;1D7F3;1D7F3;0037;0037;
+1D7F4;1D7F4;1D7F4;0038;0038;
+1D7F5;1D7F5;1D7F5;0039;0039;
+1D7F6;1D7F6;1D7F6;0030;0030;
+1D7F7;1D7F7;1D7F7;0031;0031;
+1D7F8;1D7F8;1D7F8;0032;0032;
+1D7F9;1D7F9;1D7F9;0033;0033;
+1D7FA;1D7FA;1D7FA;0034;0034;
+1D7FB;1D7FB;1D7FB;0035;0035;
+1D7FC;1D7FC;1D7FC;0036;0036;
+1D7FD;1D7FD;1D7FD;0037;0037;
+1D7FE;1D7FE;1D7FE;0038;0038;
+1D7FF;1D7FF;1D7FF;0039;0039;
+2F800;4E3D;4E3D;4E3D;4E3D;
+2F801;4E38;4E38;4E38;4E38;
+2F802;4E41;4E41;4E41;4E41;
+2F803;20122;20122;20122;20122;
+2F804;4F60;4F60;4F60;4F60;
+2F805;4FAE;4FAE;4FAE;4FAE;
+2F806;4FBB;4FBB;4FBB;4FBB;
+2F807;5002;5002;5002;5002;
+2F808;507A;507A;507A;507A;
+2F809;5099;5099;5099;5099;
+2F80A;50E7;50E7;50E7;50E7;
+2F80B;50CF;50CF;50CF;50CF;
+2F80C;349E;349E;349E;349E;
+2F80D;2063A;2063A;2063A;2063A;
+2F80E;514D;514D;514D;514D;
+2F80F;5154;5154;5154;5154;
+2F810;5164;5164;5164;5164;
+2F811;5177;5177;5177;5177;
+2F812;2051C;2051C;2051C;2051C;
+2F813;34B9;34B9;34B9;34B9;
+2F814;5167;5167;5167;5167;
+2F815;518D;518D;518D;518D;
+2F816;2054B;2054B;2054B;2054B;
+2F817;5197;5197;5197;5197;
+2F818;51A4;51A4;51A4;51A4;
+2F819;4ECC;4ECC;4ECC;4ECC;
+2F81A;51AC;51AC;51AC;51AC;
+2F81B;51B5;51B5;51B5;51B5;
+2F81C;291DF;291DF;291DF;291DF;
+2F81D;51F5;51F5;51F5;51F5;
+2F81E;5203;5203;5203;5203;
+2F81F;34DF;34DF;34DF;34DF;
+2F820;523B;523B;523B;523B;
+2F821;5246;5246;5246;5246;
+2F822;5272;5272;5272;5272;
+2F823;5277;5277;5277;5277;
+2F824;3515;3515;3515;3515;
+2F825;52C7;52C7;52C7;52C7;
+2F826;52C9;52C9;52C9;52C9;
+2F827;52E4;52E4;52E4;52E4;
+2F828;52FA;52FA;52FA;52FA;
+2F829;5305;5305;5305;5305;
+2F82A;5306;5306;5306;5306;
+2F82B;5317;5317;5317;5317;
+2F82C;5349;5349;5349;5349;
+2F82D;5351;5351;5351;5351;
+2F82E;535A;535A;535A;535A;
+2F82F;5373;5373;5373;5373;
+2F830;537D;537D;537D;537D;
+2F831;537F;537F;537F;537F;
+2F832;537F;537F;537F;537F;
+2F833;537F;537F;537F;537F;
+2F834;20A2C;20A2C;20A2C;20A2C;
+2F835;7070;7070;7070;7070;
+2F836;53CA;53CA;53CA;53CA;
+2F837;53DF;53DF;53DF;53DF;
+2F838;20B63;20B63;20B63;20B63;
+2F839;53EB;53EB;53EB;53EB;
+2F83A;53F1;53F1;53F1;53F1;
+2F83B;5406;5406;5406;5406;
+2F83C;549E;549E;549E;549E;
+2F83D;5438;5438;5438;5438;
+2F83E;5448;5448;5448;5448;
+2F83F;5468;5468;5468;5468;
+2F840;54A2;54A2;54A2;54A2;
+2F841;54F6;54F6;54F6;54F6;
+2F842;5510;5510;5510;5510;
+2F843;5553;5553;5553;5553;
+2F844;5563;5563;5563;5563;
+2F845;5584;5584;5584;5584;
+2F846;5584;5584;5584;5584;
+2F847;5599;5599;5599;5599;
+2F848;55AB;55AB;55AB;55AB;
+2F849;55B3;55B3;55B3;55B3;
+2F84A;55C2;55C2;55C2;55C2;
+2F84B;5716;5716;5716;5716;
+2F84C;5606;5606;5606;5606;
+2F84D;5717;5717;5717;5717;
+2F84E;5651;5651;5651;5651;
+2F84F;5674;5674;5674;5674;
+2F850;5207;5207;5207;5207;
+2F851;58EE;58EE;58EE;58EE;
+2F852;57CE;57CE;57CE;57CE;
+2F853;57F4;57F4;57F4;57F4;
+2F854;580D;580D;580D;580D;
+2F855;578B;578B;578B;578B;
+2F856;5832;5832;5832;5832;
+2F857;5831;5831;5831;5831;
+2F858;58AC;58AC;58AC;58AC;
+2F859;214E4;214E4;214E4;214E4;
+2F85A;58F2;58F2;58F2;58F2;
+2F85B;58F7;58F7;58F7;58F7;
+2F85C;5906;5906;5906;5906;
+2F85D;591A;591A;591A;591A;
+2F85E;5922;5922;5922;5922;
+2F85F;5962;5962;5962;5962;
+2F860;216A8;216A8;216A8;216A8;
+2F861;216EA;216EA;216EA;216EA;
+2F862;59EC;59EC;59EC;59EC;
+2F863;5A1B;5A1B;5A1B;5A1B;
+2F864;5A27;5A27;5A27;5A27;
+2F865;59D8;59D8;59D8;59D8;
+2F866;5A66;5A66;5A66;5A66;
+2F867;36EE;36EE;36EE;36EE;
+# NormalizationCorrections-4.0.0.txt -- 2F868;2136A;2136A;2136A;2136A;
+2F869;5B08;5B08;5B08;5B08;
+2F86A;5B3E;5B3E;5B3E;5B3E;
+2F86B;5B3E;5B3E;5B3E;5B3E;
+2F86C;219C8;219C8;219C8;219C8;
+2F86D;5BC3;5BC3;5BC3;5BC3;
+2F86E;5BD8;5BD8;5BD8;5BD8;
+2F86F;5BE7;5BE7;5BE7;5BE7;
+2F870;5BF3;5BF3;5BF3;5BF3;
+2F871;21B18;21B18;21B18;21B18;
+2F872;5BFF;5BFF;5BFF;5BFF;
+2F873;5C06;5C06;5C06;5C06;
+# NormalizationCorrections-4.0.0.txt -- 2F874;5F33;5F33;5F33;5F33;
+2F875;5C22;5C22;5C22;5C22;
+2F876;3781;3781;3781;3781;
+2F877;5C60;5C60;5C60;5C60;
+2F878;5C6E;5C6E;5C6E;5C6E;
+2F879;5CC0;5CC0;5CC0;5CC0;
+2F87A;5C8D;5C8D;5C8D;5C8D;
+2F87B;21DE4;21DE4;21DE4;21DE4;
+2F87C;5D43;5D43;5D43;5D43;
+2F87D;21DE6;21DE6;21DE6;21DE6;
+2F87E;5D6E;5D6E;5D6E;5D6E;
+2F87F;5D6B;5D6B;5D6B;5D6B;
+2F880;5D7C;5D7C;5D7C;5D7C;
+2F881;5DE1;5DE1;5DE1;5DE1;
+2F882;5DE2;5DE2;5DE2;5DE2;
+2F883;382F;382F;382F;382F;
+2F884;5DFD;5DFD;5DFD;5DFD;
+2F885;5E28;5E28;5E28;5E28;
+2F886;5E3D;5E3D;5E3D;5E3D;
+2F887;5E69;5E69;5E69;5E69;
+2F888;3862;3862;3862;3862;
+2F889;22183;22183;22183;22183;
+2F88A;387C;387C;387C;387C;
+2F88B;5EB0;5EB0;5EB0;5EB0;
+2F88C;5EB3;5EB3;5EB3;5EB3;
+2F88D;5EB6;5EB6;5EB6;5EB6;
+2F88E;5ECA;5ECA;5ECA;5ECA;
+2F88F;2A392;2A392;2A392;2A392;
+2F890;5EFE;5EFE;5EFE;5EFE;
+2F891;22331;22331;22331;22331;
+2F892;22331;22331;22331;22331;
+2F893;8201;8201;8201;8201;
+2F894;5F22;5F22;5F22;5F22;
+2F895;5F22;5F22;5F22;5F22;
+2F896;38C7;38C7;38C7;38C7;
+2F897;232B8;232B8;232B8;232B8;
+2F898;261DA;261DA;261DA;261DA;
+2F899;5F62;5F62;5F62;5F62;
+2F89A;5F6B;5F6B;5F6B;5F6B;
+2F89B;38E3;38E3;38E3;38E3;
+2F89C;5F9A;5F9A;5F9A;5F9A;
+2F89D;5FCD;5FCD;5FCD;5FCD;
+2F89E;5FD7;5FD7;5FD7;5FD7;
+2F89F;5FF9;5FF9;5FF9;5FF9;
+2F8A0;6081;6081;6081;6081;
+2F8A1;393A;393A;393A;393A;
+2F8A2;391C;391C;391C;391C;
+2F8A3;6094;6094;6094;6094;
+2F8A4;226D4;226D4;226D4;226D4;
+2F8A5;60C7;60C7;60C7;60C7;
+2F8A6;6148;6148;6148;6148;
+2F8A7;614C;614C;614C;614C;
+2F8A8;614E;614E;614E;614E;
+2F8A9;614C;614C;614C;614C;
+2F8AA;617A;617A;617A;617A;
+2F8AB;618E;618E;618E;618E;
+2F8AC;61B2;61B2;61B2;61B2;
+2F8AD;61A4;61A4;61A4;61A4;
+2F8AE;61AF;61AF;61AF;61AF;
+2F8AF;61DE;61DE;61DE;61DE;
+2F8B0;61F2;61F2;61F2;61F2;
+2F8B1;61F6;61F6;61F6;61F6;
+2F8B2;6210;6210;6210;6210;
+2F8B3;621B;621B;621B;621B;
+2F8B4;625D;625D;625D;625D;
+2F8B5;62B1;62B1;62B1;62B1;
+2F8B6;62D4;62D4;62D4;62D4;
+2F8B7;6350;6350;6350;6350;
+2F8B8;22B0C;22B0C;22B0C;22B0C;
+2F8B9;633D;633D;633D;633D;
+2F8BA;62FC;62FC;62FC;62FC;
+2F8BB;6368;6368;6368;6368;
+2F8BC;6383;6383;6383;6383;
+2F8BD;63E4;63E4;63E4;63E4;
+2F8BE;22BF1;22BF1;22BF1;22BF1;
+2F8BF;6422;6422;6422;6422;
+2F8C0;63C5;63C5;63C5;63C5;
+2F8C1;63A9;63A9;63A9;63A9;
+2F8C2;3A2E;3A2E;3A2E;3A2E;
+2F8C3;6469;6469;6469;6469;
+2F8C4;647E;647E;647E;647E;
+2F8C5;649D;649D;649D;649D;
+2F8C6;6477;6477;6477;6477;
+2F8C7;3A6C;3A6C;3A6C;3A6C;
+2F8C8;654F;654F;654F;654F;
+2F8C9;656C;656C;656C;656C;
+2F8CA;2300A;2300A;2300A;2300A;
+2F8CB;65E3;65E3;65E3;65E3;
+2F8CC;66F8;66F8;66F8;66F8;
+2F8CD;6649;6649;6649;6649;
+2F8CE;3B19;3B19;3B19;3B19;
+2F8CF;6691;6691;6691;6691;
+2F8D0;3B08;3B08;3B08;3B08;
+2F8D1;3AE4;3AE4;3AE4;3AE4;
+2F8D2;5192;5192;5192;5192;
+2F8D3;5195;5195;5195;5195;
+2F8D4;6700;6700;6700;6700;
+2F8D5;669C;669C;669C;669C;
+2F8D6;80AD;80AD;80AD;80AD;
+2F8D7;43D9;43D9;43D9;43D9;
+2F8D8;6717;6717;6717;6717;
+2F8D9;671B;671B;671B;671B;
+2F8DA;6721;6721;6721;6721;
+2F8DB;675E;675E;675E;675E;
+2F8DC;6753;6753;6753;6753;
+2F8DD;233C3;233C3;233C3;233C3;
+2F8DE;3B49;3B49;3B49;3B49;
+2F8DF;67FA;67FA;67FA;67FA;
+2F8E0;6785;6785;6785;6785;
+2F8E1;6852;6852;6852;6852;
+2F8E2;6885;6885;6885;6885;
+2F8E3;2346D;2346D;2346D;2346D;
+2F8E4;688E;688E;688E;688E;
+2F8E5;681F;681F;681F;681F;
+2F8E6;6914;6914;6914;6914;
+2F8E7;3B9D;3B9D;3B9D;3B9D;
+2F8E8;6942;6942;6942;6942;
+2F8E9;69A3;69A3;69A3;69A3;
+2F8EA;69EA;69EA;69EA;69EA;
+2F8EB;6AA8;6AA8;6AA8;6AA8;
+2F8EC;236A3;236A3;236A3;236A3;
+2F8ED;6ADB;6ADB;6ADB;6ADB;
+2F8EE;3C18;3C18;3C18;3C18;
+2F8EF;6B21;6B21;6B21;6B21;
+2F8F0;238A7;238A7;238A7;238A7;
+2F8F1;6B54;6B54;6B54;6B54;
+2F8F2;3C4E;3C4E;3C4E;3C4E;
+2F8F3;6B72;6B72;6B72;6B72;
+2F8F4;6B9F;6B9F;6B9F;6B9F;
+2F8F5;6BBA;6BBA;6BBA;6BBA;
+2F8F6;6BBB;6BBB;6BBB;6BBB;
+2F8F7;23A8D;23A8D;23A8D;23A8D;
+2F8F8;21D0B;21D0B;21D0B;21D0B;
+2F8F9;23AFA;23AFA;23AFA;23AFA;
+2F8FA;6C4E;6C4E;6C4E;6C4E;
+2F8FB;23CBC;23CBC;23CBC;23CBC;
+2F8FC;6CBF;6CBF;6CBF;6CBF;
+2F8FD;6CCD;6CCD;6CCD;6CCD;
+2F8FE;6C67;6C67;6C67;6C67;
+2F8FF;6D16;6D16;6D16;6D16;
+2F900;6D3E;6D3E;6D3E;6D3E;
+2F901;6D77;6D77;6D77;6D77;
+2F902;6D41;6D41;6D41;6D41;
+2F903;6D69;6D69;6D69;6D69;
+2F904;6D78;6D78;6D78;6D78;
+2F905;6D85;6D85;6D85;6D85;
+2F906;23D1E;23D1E;23D1E;23D1E;
+2F907;6D34;6D34;6D34;6D34;
+2F908;6E2F;6E2F;6E2F;6E2F;
+2F909;6E6E;6E6E;6E6E;6E6E;
+2F90A;3D33;3D33;3D33;3D33;
+2F90B;6ECB;6ECB;6ECB;6ECB;
+2F90C;6EC7;6EC7;6EC7;6EC7;
+2F90D;23ED1;23ED1;23ED1;23ED1;
+2F90E;6DF9;6DF9;6DF9;6DF9;
+2F90F;6F6E;6F6E;6F6E;6F6E;
+2F910;23F5E;23F5E;23F5E;23F5E;
+2F911;23F8E;23F8E;23F8E;23F8E;
+2F912;6FC6;6FC6;6FC6;6FC6;
+2F913;7039;7039;7039;7039;
+2F914;701E;701E;701E;701E;
+2F915;701B;701B;701B;701B;
+2F916;3D96;3D96;3D96;3D96;
+2F917;704A;704A;704A;704A;
+2F918;707D;707D;707D;707D;
+2F919;7077;7077;7077;7077;
+2F91A;70AD;70AD;70AD;70AD;
+2F91B;20525;20525;20525;20525;
+2F91C;7145;7145;7145;7145;
+2F91D;24263;24263;24263;24263;
+2F91E;719C;719C;719C;719C;
+# NormalizationCorrections-4.0.0.txt -- 2F91F;43AB;43AB;43AB;43AB;
+2F920;7228;7228;7228;7228;
+2F921;7235;7235;7235;7235;
+2F922;7250;7250;7250;7250;
+2F923;24608;24608;24608;24608;
+2F924;7280;7280;7280;7280;
+2F925;7295;7295;7295;7295;
+2F926;24735;24735;24735;24735;
+2F927;24814;24814;24814;24814;
+2F928;737A;737A;737A;737A;
+2F929;738B;738B;738B;738B;
+2F92A;3EAC;3EAC;3EAC;3EAC;
+2F92B;73A5;73A5;73A5;73A5;
+2F92C;3EB8;3EB8;3EB8;3EB8;
+2F92D;3EB8;3EB8;3EB8;3EB8;
+2F92E;7447;7447;7447;7447;
+2F92F;745C;745C;745C;745C;
+2F930;7471;7471;7471;7471;
+2F931;7485;7485;7485;7485;
+2F932;74CA;74CA;74CA;74CA;
+2F933;3F1B;3F1B;3F1B;3F1B;
+2F934;7524;7524;7524;7524;
+2F935;24C36;24C36;24C36;24C36;
+2F936;753E;753E;753E;753E;
+2F937;24C92;24C92;24C92;24C92;
+2F938;7570;7570;7570;7570;
+2F939;2219F;2219F;2219F;2219F;
+2F93A;7610;7610;7610;7610;
+2F93B;24FA1;24FA1;24FA1;24FA1;
+2F93C;24FB8;24FB8;24FB8;24FB8;
+2F93D;25044;25044;25044;25044;
+2F93E;3FFC;3FFC;3FFC;3FFC;
+2F93F;4008;4008;4008;4008;
+2F940;76F4;76F4;76F4;76F4;
+2F941;250F3;250F3;250F3;250F3;
+2F942;250F2;250F2;250F2;250F2;
+2F943;25119;25119;25119;25119;
+2F944;25133;25133;25133;25133;
+2F945;771E;771E;771E;771E;
+2F946;771F;771F;771F;771F;
+2F947;771F;771F;771F;771F;
+2F948;774A;774A;774A;774A;
+2F949;4039;4039;4039;4039;
+2F94A;778B;778B;778B;778B;
+2F94B;4046;4046;4046;4046;
+2F94C;4096;4096;4096;4096;
+2F94D;2541D;2541D;2541D;2541D;
+2F94E;784E;784E;784E;784E;
+2F94F;788C;788C;788C;788C;
+2F950;78CC;78CC;78CC;78CC;
+2F951;40E3;40E3;40E3;40E3;
+2F952;25626;25626;25626;25626;
+2F953;7956;7956;7956;7956;
+2F954;2569A;2569A;2569A;2569A;
+2F955;256C5;256C5;256C5;256C5;
+2F956;798F;798F;798F;798F;
+2F957;79EB;79EB;79EB;79EB;
+2F958;412F;412F;412F;412F;
+2F959;7A40;7A40;7A40;7A40;
+2F95A;7A4A;7A4A;7A4A;7A4A;
+2F95B;7A4F;7A4F;7A4F;7A4F;
+2F95C;2597C;2597C;2597C;2597C;
+2F95D;25AA7;25AA7;25AA7;25AA7;
+2F95E;25AA7;25AA7;25AA7;25AA7;
+# NormalizationCorrections-4.0.0.txt -- 2F95F;7AAE;7AAE;7AAE;7AAE;
+2F960;4202;4202;4202;4202;
+2F961;25BAB;25BAB;25BAB;25BAB;
+2F962;7BC6;7BC6;7BC6;7BC6;
+2F963;7BC9;7BC9;7BC9;7BC9;
+2F964;4227;4227;4227;4227;
+2F965;25C80;25C80;25C80;25C80;
+2F966;7CD2;7CD2;7CD2;7CD2;
+2F967;42A0;42A0;42A0;42A0;
+2F968;7CE8;7CE8;7CE8;7CE8;
+2F969;7CE3;7CE3;7CE3;7CE3;
+2F96A;7D00;7D00;7D00;7D00;
+2F96B;25F86;25F86;25F86;25F86;
+2F96C;7D63;7D63;7D63;7D63;
+2F96D;4301;4301;4301;4301;
+2F96E;7DC7;7DC7;7DC7;7DC7;
+2F96F;7E02;7E02;7E02;7E02;
+2F970;7E45;7E45;7E45;7E45;
+2F971;4334;4334;4334;4334;
+2F972;26228;26228;26228;26228;
+2F973;26247;26247;26247;26247;
+2F974;4359;4359;4359;4359;
+2F975;262D9;262D9;262D9;262D9;
+2F976;7F7A;7F7A;7F7A;7F7A;
+2F977;2633E;2633E;2633E;2633E;
+2F978;7F95;7F95;7F95;7F95;
+2F979;7FFA;7FFA;7FFA;7FFA;
+2F97A;8005;8005;8005;8005;
+2F97B;264DA;264DA;264DA;264DA;
+2F97C;26523;26523;26523;26523;
+2F97D;8060;8060;8060;8060;
+2F97E;265A8;265A8;265A8;265A8;
+2F97F;8070;8070;8070;8070;
+2F980;2335F;2335F;2335F;2335F;
+2F981;43D5;43D5;43D5;43D5;
+2F982;80B2;80B2;80B2;80B2;
+2F983;8103;8103;8103;8103;
+2F984;440B;440B;440B;440B;
+2F985;813E;813E;813E;813E;
+2F986;5AB5;5AB5;5AB5;5AB5;
+2F987;267A7;267A7;267A7;267A7;
+2F988;267B5;267B5;267B5;267B5;
+2F989;23393;23393;23393;23393;
+2F98A;2339C;2339C;2339C;2339C;
+2F98B;8201;8201;8201;8201;
+2F98C;8204;8204;8204;8204;
+2F98D;8F9E;8F9E;8F9E;8F9E;
+2F98E;446B;446B;446B;446B;
+2F98F;8291;8291;8291;8291;
+2F990;828B;828B;828B;828B;
+2F991;829D;829D;829D;829D;
+2F992;52B3;52B3;52B3;52B3;
+2F993;82B1;82B1;82B1;82B1;
+2F994;82B3;82B3;82B3;82B3;
+2F995;82BD;82BD;82BD;82BD;
+2F996;82E6;82E6;82E6;82E6;
+2F997;26B3C;26B3C;26B3C;26B3C;
+2F998;82E5;82E5;82E5;82E5;
+2F999;831D;831D;831D;831D;
+2F99A;8363;8363;8363;8363;
+2F99B;83AD;83AD;83AD;83AD;
+2F99C;8323;8323;8323;8323;
+2F99D;83BD;83BD;83BD;83BD;
+2F99E;83E7;83E7;83E7;83E7;
+2F99F;8457;8457;8457;8457;
+2F9A0;8353;8353;8353;8353;
+2F9A1;83CA;83CA;83CA;83CA;
+2F9A2;83CC;83CC;83CC;83CC;
+2F9A3;83DC;83DC;83DC;83DC;
+2F9A4;26C36;26C36;26C36;26C36;
+2F9A5;26D6B;26D6B;26D6B;26D6B;
+2F9A6;26CD5;26CD5;26CD5;26CD5;
+2F9A7;452B;452B;452B;452B;
+2F9A8;84F1;84F1;84F1;84F1;
+2F9A9;84F3;84F3;84F3;84F3;
+2F9AA;8516;8516;8516;8516;
+2F9AB;273CA;273CA;273CA;273CA;
+2F9AC;8564;8564;8564;8564;
+2F9AD;26F2C;26F2C;26F2C;26F2C;
+2F9AE;455D;455D;455D;455D;
+2F9AF;4561;4561;4561;4561;
+2F9B0;26FB1;26FB1;26FB1;26FB1;
+2F9B1;270D2;270D2;270D2;270D2;
+2F9B2;456B;456B;456B;456B;
+2F9B3;8650;8650;8650;8650;
+2F9B4;865C;865C;865C;865C;
+2F9B5;8667;8667;8667;8667;
+2F9B6;8669;8669;8669;8669;
+2F9B7;86A9;86A9;86A9;86A9;
+2F9B8;8688;8688;8688;8688;
+2F9B9;870E;870E;870E;870E;
+2F9BA;86E2;86E2;86E2;86E2;
+2F9BB;8779;8779;8779;8779;
+2F9BC;8728;8728;8728;8728;
+2F9BD;876B;876B;876B;876B;
+2F9BE;8786;8786;8786;8786;
+# NormalizationCorrections-4.0.0.txt -- 2F9BF;4D57;4D57;4D57;4D57;
+2F9C0;87E1;87E1;87E1;87E1;
+2F9C1;8801;8801;8801;8801;
+2F9C2;45F9;45F9;45F9;45F9;
+2F9C3;8860;8860;8860;8860;
+2F9C4;8863;8863;8863;8863;
+2F9C5;27667;27667;27667;27667;
+2F9C6;88D7;88D7;88D7;88D7;
+2F9C7;88DE;88DE;88DE;88DE;
+2F9C8;4635;4635;4635;4635;
+2F9C9;88FA;88FA;88FA;88FA;
+2F9CA;34BB;34BB;34BB;34BB;
+2F9CB;278AE;278AE;278AE;278AE;
+2F9CC;27966;27966;27966;27966;
+2F9CD;46BE;46BE;46BE;46BE;
+2F9CE;46C7;46C7;46C7;46C7;
+2F9CF;8AA0;8AA0;8AA0;8AA0;
+2F9D0;8AED;8AED;8AED;8AED;
+2F9D1;8B8A;8B8A;8B8A;8B8A;
+2F9D2;8C55;8C55;8C55;8C55;
+2F9D3;27CA8;27CA8;27CA8;27CA8;
+2F9D4;8CAB;8CAB;8CAB;8CAB;
+2F9D5;8CC1;8CC1;8CC1;8CC1;
+2F9D6;8D1B;8D1B;8D1B;8D1B;
+2F9D7;8D77;8D77;8D77;8D77;
+2F9D8;27F2F;27F2F;27F2F;27F2F;
+2F9D9;20804;20804;20804;20804;
+2F9DA;8DCB;8DCB;8DCB;8DCB;
+2F9DB;8DBC;8DBC;8DBC;8DBC;
+2F9DC;8DF0;8DF0;8DF0;8DF0;
+2F9DD;208DE;208DE;208DE;208DE;
+2F9DE;8ED4;8ED4;8ED4;8ED4;
+2F9DF;8F38;8F38;8F38;8F38;
+2F9E0;285D2;285D2;285D2;285D2;
+2F9E1;285ED;285ED;285ED;285ED;
+2F9E2;9094;9094;9094;9094;
+2F9E3;90F1;90F1;90F1;90F1;
+2F9E4;9111;9111;9111;9111;
+2F9E5;2872E;2872E;2872E;2872E;
+2F9E6;911B;911B;911B;911B;
+2F9E7;9238;9238;9238;9238;
+2F9E8;92D7;92D7;92D7;92D7;
+2F9E9;92D8;92D8;92D8;92D8;
+2F9EA;927C;927C;927C;927C;
+2F9EB;93F9;93F9;93F9;93F9;
+2F9EC;9415;9415;9415;9415;
+2F9ED;28BFA;28BFA;28BFA;28BFA;
+2F9EE;958B;958B;958B;958B;
+2F9EF;4995;4995;4995;4995;
+2F9F0;95B7;95B7;95B7;95B7;
+2F9F1;28D77;28D77;28D77;28D77;
+2F9F2;49E6;49E6;49E6;49E6;
+2F9F3;96C3;96C3;96C3;96C3;
+2F9F4;5DB2;5DB2;5DB2;5DB2;
+2F9F5;9723;9723;9723;9723;
+2F9F6;29145;29145;29145;29145;
+2F9F7;2921A;2921A;2921A;2921A;
+2F9F8;4A6E;4A6E;4A6E;4A6E;
+2F9F9;4A76;4A76;4A76;4A76;
+2F9FA;97E0;97E0;97E0;97E0;
+2F9FB;2940A;2940A;2940A;2940A;
+2F9FC;4AB2;4AB2;4AB2;4AB2;
+2F9FD;29496;29496;29496;29496;
+2F9FE;980B;980B;980B;980B;
+2F9FF;980B;980B;980B;980B;
+2FA00;9829;9829;9829;9829;
+2FA01;295B6;295B6;295B6;295B6;
+2FA02;98E2;98E2;98E2;98E2;
+2FA03;4B33;4B33;4B33;4B33;
+2FA04;9929;9929;9929;9929;
+2FA05;99A7;99A7;99A7;99A7;
+2FA06;99C2;99C2;99C2;99C2;
+2FA07;99FE;99FE;99FE;99FE;
+2FA08;4BCE;4BCE;4BCE;4BCE;
+2FA09;29B30;29B30;29B30;29B30;
+2FA0A;9B12;9B12;9B12;9B12;
+2FA0B;9C40;9C40;9C40;9C40;
+2FA0C;9CFD;9CFD;9CFD;9CFD;
+2FA0D;4CCE;4CCE;4CCE;4CCE;
+2FA0E;4CED;4CED;4CED;4CED;
+2FA0F;9D67;9D67;9D67;9D67;
+2FA10;2A0CE;2A0CE;2A0CE;2A0CE;
+2FA11;4CF8;4CF8;4CF8;4CF8;
+2FA12;2A105;2A105;2A105;2A105;
+2FA13;2A20E;2A20E;2A20E;2A20E;
+2FA14;2A291;2A291;2A291;2A291;
+2FA15;9EBB;9EBB;9EBB;9EBB;
+2FA16;4D56;4D56;4D56;4D56;
+2FA17;9EF9;9EF9;9EF9;9EF9;
+2FA18;9EFE;9EFE;9EFE;9EFE;
+2FA19;9F05;9F05;9F05;9F05;
+2FA1A;9F0F;9F0F;9F0F;9F0F;
+2FA1B;9F16;9F16;9F16;9F16;
+2FA1C;9F3B;9F3B;9F3B;9F3B;
+2FA1D;2A600;2A600;2A600;2A600;
+#
+@Part2 # Canonical Order Test
+#
+0061 0315 0300 05AE 0300 0062;00E0 05AE 0300 0315 0062;0061 05AE 0300 0300 0315 0062;00E0 05AE 0300 0315 0062;0061 05AE 0300 0300 0315 0062;
+0061 0300 0315 0300 05AE 0062;00E0 05AE 0300 0315 0062;0061 05AE 0300 0300 0315 0062;00E0 05AE 0300 0315 0062;0061 05AE 0300 0300 0315 0062;
+0061 0315 0300 05AE 0301 0062;00E0 05AE 0301 0315 0062;0061 05AE 0300 0301 0315 0062;00E0 05AE 0301 0315 0062;0061 05AE 0300 0301 0315 0062;
+0061 0301 0315 0300 05AE 0062;00E1 05AE 0300 0315 0062;0061 05AE 0301 0300 0315 0062;00E1 05AE 0300 0315 0062;0061 05AE 0301 0300 0315 0062;
+0061 0315 0300 05AE 0302 0062;00E0 05AE 0302 0315 0062;0061 05AE 0300 0302 0315 0062;00E0 05AE 0302 0315 0062;0061 05AE 0300 0302 0315 0062;
+0061 0302 0315 0300 05AE 0062;1EA7 05AE 0315 0062;0061 05AE 0302 0300 0315 0062;1EA7 05AE 0315 0062;0061 05AE 0302 0300 0315 0062;
+0061 0315 0300 05AE 0303 0062;00E0 05AE 0303 0315 0062;0061 05AE 0300 0303 0315 0062;00E0 05AE 0303 0315 0062;0061 05AE 0300 0303 0315 0062;
+0061 0303 0315 0300 05AE 0062;00E3 05AE 0300 0315 0062;0061 05AE 0303 0300 0315 0062;00E3 05AE 0300 0315 0062;0061 05AE 0303 0300 0315 0062;
+0061 0315 0300 05AE 0304 0062;00E0 05AE 0304 0315 0062;0061 05AE 0300 0304 0315 0062;00E0 05AE 0304 0315 0062;0061 05AE 0300 0304 0315 0062;
+0061 0304 0315 0300 05AE 0062;0101 05AE 0300 0315 0062;0061 05AE 0304 0300 0315 0062;0101 05AE 0300 0315 0062;0061 05AE 0304 0300 0315 0062;
+0061 0315 0300 05AE 0305 0062;00E0 05AE 0305 0315 0062;0061 05AE 0300 0305 0315 0062;00E0 05AE 0305 0315 0062;0061 05AE 0300 0305 0315 0062;
+0061 0305 0315 0300 05AE 0062;0061 05AE 0305 0300 0315 0062;0061 05AE 0305 0300 0315 0062;0061 05AE 0305 0300 0315 0062;0061 05AE 0305 0300 0315 0062;
+0061 0315 0300 05AE 0306 0062;00E0 05AE 0306 0315 0062;0061 05AE 0300 0306 0315 0062;00E0 05AE 0306 0315 0062;0061 05AE 0300 0306 0315 0062;
+0061 0306 0315 0300 05AE 0062;1EB1 05AE 0315 0062;0061 05AE 0306 0300 0315 0062;1EB1 05AE 0315 0062;0061 05AE 0306 0300 0315 0062;
+0061 0315 0300 05AE 0307 0062;00E0 05AE 0307 0315 0062;0061 05AE 0300 0307 0315 0062;00E0 05AE 0307 0315 0062;0061 05AE 0300 0307 0315 0062;
+0061 0307 0315 0300 05AE 0062;0227 05AE 0300 0315 0062;0061 05AE 0307 0300 0315 0062;0227 05AE 0300 0315 0062;0061 05AE 0307 0300 0315 0062;
+0061 0315 0300 05AE 0308 0062;00E0 05AE 0308 0315 0062;0061 05AE 0300 0308 0315 0062;00E0 05AE 0308 0315 0062;0061 05AE 0300 0308 0315 0062;
+0061 0308 0315 0300 05AE 0062;00E4 05AE 0300 0315 0062;0061 05AE 0308 0300 0315 0062;00E4 05AE 0300 0315 0062;0061 05AE 0308 0300 0315 0062;
+0061 0315 0300 05AE 0309 0062;00E0 05AE 0309 0315 0062;0061 05AE 0300 0309 0315 0062;00E0 05AE 0309 0315 0062;0061 05AE 0300 0309 0315 0062;
+0061 0309 0315 0300 05AE 0062;1EA3 05AE 0300 0315 0062;0061 05AE 0309 0300 0315 0062;1EA3 05AE 0300 0315 0062;0061 05AE 0309 0300 0315 0062;
+0061 0315 0300 05AE 030A 0062;00E0 05AE 030A 0315 0062;0061 05AE 0300 030A 0315 0062;00E0 05AE 030A 0315 0062;0061 05AE 0300 030A 0315 0062;
+0061 030A 0315 0300 05AE 0062;00E5 05AE 0300 0315 0062;0061 05AE 030A 0300 0315 0062;00E5 05AE 0300 0315 0062;0061 05AE 030A 0300 0315 0062;
+0061 0315 0300 05AE 030B 0062;00E0 05AE 030B 0315 0062;0061 05AE 0300 030B 0315 0062;00E0 05AE 030B 0315 0062;0061 05AE 0300 030B 0315 0062;
+0061 030B 0315 0300 05AE 0062;0061 05AE 030B 0300 0315 0062;0061 05AE 030B 0300 0315 0062;0061 05AE 030B 0300 0315 0062;0061 05AE 030B 0300 0315 0062;
+0061 0315 0300 05AE 030C 0062;00E0 05AE 030C 0315 0062;0061 05AE 0300 030C 0315 0062;00E0 05AE 030C 0315 0062;0061 05AE 0300 030C 0315 0062;
+0061 030C 0315 0300 05AE 0062;01CE 05AE 0300 0315 0062;0061 05AE 030C 0300 0315 0062;01CE 05AE 0300 0315 0062;0061 05AE 030C 0300 0315 0062;
+0061 0315 0300 05AE 030D 0062;00E0 05AE 030D 0315 0062;0061 05AE 0300 030D 0315 0062;00E0 05AE 030D 0315 0062;0061 05AE 0300 030D 0315 0062;
+0061 030D 0315 0300 05AE 0062;0061 05AE 030D 0300 0315 0062;0061 05AE 030D 0300 0315 0062;0061 05AE 030D 0300 0315 0062;0061 05AE 030D 0300 0315 0062;
+0061 0315 0300 05AE 030E 0062;00E0 05AE 030E 0315 0062;0061 05AE 0300 030E 0315 0062;00E0 05AE 030E 0315 0062;0061 05AE 0300 030E 0315 0062;
+0061 030E 0315 0300 05AE 0062;0061 05AE 030E 0300 0315 0062;0061 05AE 030E 0300 0315 0062;0061 05AE 030E 0300 0315 0062;0061 05AE 030E 0300 0315 0062;
+0061 0315 0300 05AE 030F 0062;00E0 05AE 030F 0315 0062;0061 05AE 0300 030F 0315 0062;00E0 05AE 030F 0315 0062;0061 05AE 0300 030F 0315 0062;
+0061 030F 0315 0300 05AE 0062;0201 05AE 0300 0315 0062;0061 05AE 030F 0300 0315 0062;0201 05AE 0300 0315 0062;0061 05AE 030F 0300 0315 0062;
+0061 0315 0300 05AE 0310 0062;00E0 05AE 0310 0315 0062;0061 05AE 0300 0310 0315 0062;00E0 05AE 0310 0315 0062;0061 05AE 0300 0310 0315 0062;
+0061 0310 0315 0300 05AE 0062;0061 05AE 0310 0300 0315 0062;0061 05AE 0310 0300 0315 0062;0061 05AE 0310 0300 0315 0062;0061 05AE 0310 0300 0315 0062;
+0061 0315 0300 05AE 0311 0062;00E0 05AE 0311 0315 0062;0061 05AE 0300 0311 0315 0062;00E0 05AE 0311 0315 0062;0061 05AE 0300 0311 0315 0062;
+0061 0311 0315 0300 05AE 0062;0203 05AE 0300 0315 0062;0061 05AE 0311 0300 0315 0062;0203 05AE 0300 0315 0062;0061 05AE 0311 0300 0315 0062;
+0061 0315 0300 05AE 0312 0062;00E0 05AE 0312 0315 0062;0061 05AE 0300 0312 0315 0062;00E0 05AE 0312 0315 0062;0061 05AE 0300 0312 0315 0062;
+0061 0312 0315 0300 05AE 0062;0061 05AE 0312 0300 0315 0062;0061 05AE 0312 0300 0315 0062;0061 05AE 0312 0300 0315 0062;0061 05AE 0312 0300 0315 0062;
+0061 0315 0300 05AE 0313 0062;00E0 05AE 0313 0315 0062;0061 05AE 0300 0313 0315 0062;00E0 05AE 0313 0315 0062;0061 05AE 0300 0313 0315 0062;
+0061 0313 0315 0300 05AE 0062;0061 05AE 0313 0300 0315 0062;0061 05AE 0313 0300 0315 0062;0061 05AE 0313 0300 0315 0062;0061 05AE 0313 0300 0315 0062;
+0061 0315 0300 05AE 0314 0062;00E0 05AE 0314 0315 0062;0061 05AE 0300 0314 0315 0062;00E0 05AE 0314 0315 0062;0061 05AE 0300 0314 0315 0062;
+0061 0314 0315 0300 05AE 0062;0061 05AE 0314 0300 0315 0062;0061 05AE 0314 0300 0315 0062;0061 05AE 0314 0300 0315 0062;0061 05AE 0314 0300 0315 0062;
+0061 0362 0315 0300 0315 0062;00E0 0315 0315 0362 0062;0061 0300 0315 0315 0362 0062;00E0 0315 0315 0362 0062;0061 0300 0315 0315 0362 0062;
+0061 0315 0362 0315 0300 0062;00E0 0315 0315 0362 0062;0061 0300 0315 0315 0362 0062;00E0 0315 0315 0362 0062;0061 0300 0315 0315 0362 0062;
+0061 059A 0316 302A 0316 0062;0061 302A 0316 0316 059A 0062;0061 302A 0316 0316 059A 0062;0061 302A 0316 0316 059A 0062;0061 302A 0316 0316 059A 0062;
+0061 0316 059A 0316 302A 0062;0061 302A 0316 0316 059A 0062;0061 302A 0316 0316 059A 0062;0061 302A 0316 0316 059A 0062;0061 302A 0316 0316 059A 0062;
+0061 059A 0316 302A 0317 0062;0061 302A 0316 0317 059A 0062;0061 302A 0316 0317 059A 0062;0061 302A 0316 0317 059A 0062;0061 302A 0316 0317 059A 0062;
+0061 0317 059A 0316 302A 0062;0061 302A 0317 0316 059A 0062;0061 302A 0317 0316 059A 0062;0061 302A 0317 0316 059A 0062;0061 302A 0317 0316 059A 0062;
+0061 059A 0316 302A 0318 0062;0061 302A 0316 0318 059A 0062;0061 302A 0316 0318 059A 0062;0061 302A 0316 0318 059A 0062;0061 302A 0316 0318 059A 0062;
+0061 0318 059A 0316 302A 0062;0061 302A 0318 0316 059A 0062;0061 302A 0318 0316 059A 0062;0061 302A 0318 0316 059A 0062;0061 302A 0318 0316 059A 0062;
+0061 059A 0316 302A 0319 0062;0061 302A 0316 0319 059A 0062;0061 302A 0316 0319 059A 0062;0061 302A 0316 0319 059A 0062;0061 302A 0316 0319 059A 0062;
+0061 0319 059A 0316 302A 0062;0061 302A 0319 0316 059A 0062;0061 302A 0319 0316 059A 0062;0061 302A 0319 0316 059A 0062;0061 302A 0319 0316 059A 0062;
+0061 0362 0315 0300 031A 0062;00E0 0315 031A 0362 0062;0061 0300 0315 031A 0362 0062;00E0 0315 031A 0362 0062;0061 0300 0315 031A 0362 0062;
+0061 031A 0362 0315 0300 0062;00E0 031A 0315 0362 0062;0061 0300 031A 0315 0362 0062;00E0 031A 0315 0362 0062;0061 0300 031A 0315 0362 0062;
+0061 302A 031B 0321 031B 0062;0061 0321 031B 031B 302A 0062;0061 0321 031B 031B 302A 0062;0061 0321 031B 031B 302A 0062;0061 0321 031B 031B 302A 0062;
+0061 031B 302A 031B 0321 0062;0061 0321 031B 031B 302A 0062;0061 0321 031B 031B 302A 0062;0061 0321 031B 031B 302A 0062;0061 0321 031B 031B 302A 0062;
+0061 059A 0316 302A 031C 0062;0061 302A 0316 031C 059A 0062;0061 302A 0316 031C 059A 0062;0061 302A 0316 031C 059A 0062;0061 302A 0316 031C 059A 0062;
+0061 031C 059A 0316 302A 0062;0061 302A 031C 0316 059A 0062;0061 302A 031C 0316 059A 0062;0061 302A 031C 0316 059A 0062;0061 302A 031C 0316 059A 0062;
+0061 059A 0316 302A 031D 0062;0061 302A 0316 031D 059A 0062;0061 302A 0316 031D 059A 0062;0061 302A 0316 031D 059A 0062;0061 302A 0316 031D 059A 0062;
+0061 031D 059A 0316 302A 0062;0061 302A 031D 0316 059A 0062;0061 302A 031D 0316 059A 0062;0061 302A 031D 0316 059A 0062;0061 302A 031D 0316 059A 0062;
+0061 059A 0316 302A 031E 0062;0061 302A 0316 031E 059A 0062;0061 302A 0316 031E 059A 0062;0061 302A 0316 031E 059A 0062;0061 302A 0316 031E 059A 0062;
+0061 031E 059A 0316 302A 0062;0061 302A 031E 0316 059A 0062;0061 302A 031E 0316 059A 0062;0061 302A 031E 0316 059A 0062;0061 302A 031E 0316 059A 0062;
+0061 059A 0316 302A 031F 0062;0061 302A 0316 031F 059A 0062;0061 302A 0316 031F 059A 0062;0061 302A 0316 031F 059A 0062;0061 302A 0316 031F 059A 0062;
+0061 031F 059A 0316 302A 0062;0061 302A 031F 0316 059A 0062;0061 302A 031F 0316 059A 0062;0061 302A 031F 0316 059A 0062;0061 302A 031F 0316 059A 0062;
+0061 059A 0316 302A 0320 0062;0061 302A 0316 0320 059A 0062;0061 302A 0316 0320 059A 0062;0061 302A 0316 0320 059A 0062;0061 302A 0316 0320 059A 0062;
+0061 0320 059A 0316 302A 0062;0061 302A 0320 0316 059A 0062;0061 302A 0320 0316 059A 0062;0061 302A 0320 0316 059A 0062;0061 302A 0320 0316 059A 0062;
+0061 031B 0321 0F74 0321 0062;0061 0F74 0321 0321 031B 0062;0061 0F74 0321 0321 031B 0062;0061 0F74 0321 0321 031B 0062;0061 0F74 0321 0321 031B 0062;
+0061 0321 031B 0321 0F74 0062;0061 0F74 0321 0321 031B 0062;0061 0F74 0321 0321 031B 0062;0061 0F74 0321 0321 031B 0062;0061 0F74 0321 0321 031B 0062;
+0061 031B 0321 0F74 0322 0062;0061 0F74 0321 0322 031B 0062;0061 0F74 0321 0322 031B 0062;0061 0F74 0321 0322 031B 0062;0061 0F74 0321 0322 031B 0062;
+0061 0322 031B 0321 0F74 0062;0061 0F74 0322 0321 031B 0062;0061 0F74 0322 0321 031B 0062;0061 0F74 0322 0321 031B 0062;0061 0F74 0322 0321 031B 0062;
+0061 059A 0316 302A 0323 0062;0061 302A 0316 0323 059A 0062;0061 302A 0316 0323 059A 0062;0061 302A 0316 0323 059A 0062;0061 302A 0316 0323 059A 0062;
+0061 0323 059A 0316 302A 0062;1EA1 302A 0316 059A 0062;0061 302A 0323 0316 059A 0062;1EA1 302A 0316 059A 0062;0061 302A 0323 0316 059A 0062;
+0061 059A 0316 302A 0324 0062;0061 302A 0316 0324 059A 0062;0061 302A 0316 0324 059A 0062;0061 302A 0316 0324 059A 0062;0061 302A 0316 0324 059A 0062;
+0061 0324 059A 0316 302A 0062;0061 302A 0324 0316 059A 0062;0061 302A 0324 0316 059A 0062;0061 302A 0324 0316 059A 0062;0061 302A 0324 0316 059A 0062;
+0061 059A 0316 302A 0325 0062;0061 302A 0316 0325 059A 0062;0061 302A 0316 0325 059A 0062;0061 302A 0316 0325 059A 0062;0061 302A 0316 0325 059A 0062;
+0061 0325 059A 0316 302A 0062;1E01 302A 0316 059A 0062;0061 302A 0325 0316 059A 0062;1E01 302A 0316 059A 0062;0061 302A 0325 0316 059A 0062;
+0061 059A 0316 302A 0326 0062;0061 302A 0316 0326 059A 0062;0061 302A 0316 0326 059A 0062;0061 302A 0316 0326 059A 0062;0061 302A 0316 0326 059A 0062;
+0061 0326 059A 0316 302A 0062;0061 302A 0326 0316 059A 0062;0061 302A 0326 0316 059A 0062;0061 302A 0326 0316 059A 0062;0061 302A 0326 0316 059A 0062;
+0061 031B 0321 0F74 0327 0062;0061 0F74 0321 0327 031B 0062;0061 0F74 0321 0327 031B 0062;0061 0F74 0321 0327 031B 0062;0061 0F74 0321 0327 031B 0062;
+0061 0327 031B 0321 0F74 0062;0061 0F74 0327 0321 031B 0062;0061 0F74 0327 0321 031B 0062;0061 0F74 0327 0321 031B 0062;0061 0F74 0327 0321 031B 0062;
+0061 031B 0321 0F74 0328 0062;0061 0F74 0321 0328 031B 0062;0061 0F74 0321 0328 031B 0062;0061 0F74 0321 0328 031B 0062;0061 0F74 0321 0328 031B 0062;
+0061 0328 031B 0321 0F74 0062;0105 0F74 0321 031B 0062;0061 0F74 0328 0321 031B 0062;0105 0F74 0321 031B 0062;0061 0F74 0328 0321 031B 0062;
+0061 059A 0316 302A 0329 0062;0061 302A 0316 0329 059A 0062;0061 302A 0316 0329 059A 0062;0061 302A 0316 0329 059A 0062;0061 302A 0316 0329 059A 0062;
+0061 0329 059A 0316 302A 0062;0061 302A 0329 0316 059A 0062;0061 302A 0329 0316 059A 0062;0061 302A 0329 0316 059A 0062;0061 302A 0329 0316 059A 0062;
+0061 059A 0316 302A 032A 0062;0061 302A 0316 032A 059A 0062;0061 302A 0316 032A 059A 0062;0061 302A 0316 032A 059A 0062;0061 302A 0316 032A 059A 0062;
+0061 032A 059A 0316 302A 0062;0061 302A 032A 0316 059A 0062;0061 302A 032A 0316 059A 0062;0061 302A 032A 0316 059A 0062;0061 302A 032A 0316 059A 0062;
+0061 059A 0316 302A 032B 0062;0061 302A 0316 032B 059A 0062;0061 302A 0316 032B 059A 0062;0061 302A 0316 032B 059A 0062;0061 302A 0316 032B 059A 0062;
+0061 032B 059A 0316 302A 0062;0061 302A 032B 0316 059A 0062;0061 302A 032B 0316 059A 0062;0061 302A 032B 0316 059A 0062;0061 302A 032B 0316 059A 0062;
+0061 059A 0316 302A 032C 0062;0061 302A 0316 032C 059A 0062;0061 302A 0316 032C 059A 0062;0061 302A 0316 032C 059A 0062;0061 302A 0316 032C 059A 0062;
+0061 032C 059A 0316 302A 0062;0061 302A 032C 0316 059A 0062;0061 302A 032C 0316 059A 0062;0061 302A 032C 0316 059A 0062;0061 302A 032C 0316 059A 0062;
+0061 059A 0316 302A 032D 0062;0061 302A 0316 032D 059A 0062;0061 302A 0316 032D 059A 0062;0061 302A 0316 032D 059A 0062;0061 302A 0316 032D 059A 0062;
+0061 032D 059A 0316 302A 0062;0061 302A 032D 0316 059A 0062;0061 302A 032D 0316 059A 0062;0061 302A 032D 0316 059A 0062;0061 302A 032D 0316 059A 0062;
+0061 059A 0316 302A 032E 0062;0061 302A 0316 032E 059A 0062;0061 302A 0316 032E 059A 0062;0061 302A 0316 032E 059A 0062;0061 302A 0316 032E 059A 0062;
+0061 032E 059A 0316 302A 0062;0061 302A 032E 0316 059A 0062;0061 302A 032E 0316 059A 0062;0061 302A 032E 0316 059A 0062;0061 302A 032E 0316 059A 0062;
+0061 059A 0316 302A 032F 0062;0061 302A 0316 032F 059A 0062;0061 302A 0316 032F 059A 0062;0061 302A 0316 032F 059A 0062;0061 302A 0316 032F 059A 0062;
+0061 032F 059A 0316 302A 0062;0061 302A 032F 0316 059A 0062;0061 302A 032F 0316 059A 0062;0061 302A 032F 0316 059A 0062;0061 302A 032F 0316 059A 0062;
+0061 059A 0316 302A 0330 0062;0061 302A 0316 0330 059A 0062;0061 302A 0316 0330 059A 0062;0061 302A 0316 0330 059A 0062;0061 302A 0316 0330 059A 0062;
+0061 0330 059A 0316 302A 0062;0061 302A 0330 0316 059A 0062;0061 302A 0330 0316 059A 0062;0061 302A 0330 0316 059A 0062;0061 302A 0330 0316 059A 0062;
+0061 059A 0316 302A 0331 0062;0061 302A 0316 0331 059A 0062;0061 302A 0316 0331 059A 0062;0061 302A 0316 0331 059A 0062;0061 302A 0316 0331 059A 0062;
+0061 0331 059A 0316 302A 0062;0061 302A 0331 0316 059A 0062;0061 302A 0331 0316 059A 0062;0061 302A 0331 0316 059A 0062;0061 302A 0331 0316 059A 0062;
+0061 059A 0316 302A 0332 0062;0061 302A 0316 0332 059A 0062;0061 302A 0316 0332 059A 0062;0061 302A 0316 0332 059A 0062;0061 302A 0316 0332 059A 0062;
+0061 0332 059A 0316 302A 0062;0061 302A 0332 0316 059A 0062;0061 302A 0332 0316 059A 0062;0061 302A 0332 0316 059A 0062;0061 302A 0332 0316 059A 0062;
+0061 059A 0316 302A 0333 0062;0061 302A 0316 0333 059A 0062;0061 302A 0316 0333 059A 0062;0061 302A 0316 0333 059A 0062;0061 302A 0316 0333 059A 0062;
+0061 0333 059A 0316 302A 0062;0061 302A 0333 0316 059A 0062;0061 302A 0333 0316 059A 0062;0061 302A 0333 0316 059A 0062;0061 302A 0333 0316 059A 0062;
+0061 093C 0334 0334 0062;0061 0334 0334 093C 0062;0061 0334 0334 093C 0062;0061 0334 0334 093C 0062;0061 0334 0334 093C 0062;
+0061 0334 093C 0334 0062;0061 0334 0334 093C 0062;0061 0334 0334 093C 0062;0061 0334 0334 093C 0062;0061 0334 0334 093C 0062;
+0061 093C 0334 0335 0062;0061 0334 0335 093C 0062;0061 0334 0335 093C 0062;0061 0334 0335 093C 0062;0061 0334 0335 093C 0062;
+0061 0335 093C 0334 0062;0061 0335 0334 093C 0062;0061 0335 0334 093C 0062;0061 0335 0334 093C 0062;0061 0335 0334 093C 0062;
+0061 093C 0334 0336 0062;0061 0334 0336 093C 0062;0061 0334 0336 093C 0062;0061 0334 0336 093C 0062;0061 0334 0336 093C 0062;
+0061 0336 093C 0334 0062;0061 0336 0334 093C 0062;0061 0336 0334 093C 0062;0061 0336 0334 093C 0062;0061 0336 0334 093C 0062;
+0061 093C 0334 0337 0062;0061 0334 0337 093C 0062;0061 0334 0337 093C 0062;0061 0334 0337 093C 0062;0061 0334 0337 093C 0062;
+0061 0337 093C 0334 0062;0061 0337 0334 093C 0062;0061 0337 0334 093C 0062;0061 0337 0334 093C 0062;0061 0337 0334 093C 0062;
+0061 093C 0334 0338 0062;0061 0334 0338 093C 0062;0061 0334 0338 093C 0062;0061 0334 0338 093C 0062;0061 0334 0338 093C 0062;
+0061 0338 093C 0334 0062;0061 0338 0334 093C 0062;0061 0338 0334 093C 0062;0061 0338 0334 093C 0062;0061 0338 0334 093C 0062;
+0061 059A 0316 302A 0339 0062;0061 302A 0316 0339 059A 0062;0061 302A 0316 0339 059A 0062;0061 302A 0316 0339 059A 0062;0061 302A 0316 0339 059A 0062;
+0061 0339 059A 0316 302A 0062;0061 302A 0339 0316 059A 0062;0061 302A 0339 0316 059A 0062;0061 302A 0339 0316 059A 0062;0061 302A 0339 0316 059A 0062;
+0061 059A 0316 302A 033A 0062;0061 302A 0316 033A 059A 0062;0061 302A 0316 033A 059A 0062;0061 302A 0316 033A 059A 0062;0061 302A 0316 033A 059A 0062;
+0061 033A 059A 0316 302A 0062;0061 302A 033A 0316 059A 0062;0061 302A 033A 0316 059A 0062;0061 302A 033A 0316 059A 0062;0061 302A 033A 0316 059A 0062;
+0061 059A 0316 302A 033B 0062;0061 302A 0316 033B 059A 0062;0061 302A 0316 033B 059A 0062;0061 302A 0316 033B 059A 0062;0061 302A 0316 033B 059A 0062;
+0061 033B 059A 0316 302A 0062;0061 302A 033B 0316 059A 0062;0061 302A 033B 0316 059A 0062;0061 302A 033B 0316 059A 0062;0061 302A 033B 0316 059A 0062;
+0061 059A 0316 302A 033C 0062;0061 302A 0316 033C 059A 0062;0061 302A 0316 033C 059A 0062;0061 302A 0316 033C 059A 0062;0061 302A 0316 033C 059A 0062;
+0061 033C 059A 0316 302A 0062;0061 302A 033C 0316 059A 0062;0061 302A 033C 0316 059A 0062;0061 302A 033C 0316 059A 0062;0061 302A 033C 0316 059A 0062;
+0061 0315 0300 05AE 033D 0062;00E0 05AE 033D 0315 0062;0061 05AE 0300 033D 0315 0062;00E0 05AE 033D 0315 0062;0061 05AE 0300 033D 0315 0062;
+0061 033D 0315 0300 05AE 0062;0061 05AE 033D 0300 0315 0062;0061 05AE 033D 0300 0315 0062;0061 05AE 033D 0300 0315 0062;0061 05AE 033D 0300 0315 0062;
+0061 0315 0300 05AE 033E 0062;00E0 05AE 033E 0315 0062;0061 05AE 0300 033E 0315 0062;00E0 05AE 033E 0315 0062;0061 05AE 0300 033E 0315 0062;
+0061 033E 0315 0300 05AE 0062;0061 05AE 033E 0300 0315 0062;0061 05AE 033E 0300 0315 0062;0061 05AE 033E 0300 0315 0062;0061 05AE 033E 0300 0315 0062;
+0061 0315 0300 05AE 033F 0062;00E0 05AE 033F 0315 0062;0061 05AE 0300 033F 0315 0062;00E0 05AE 033F 0315 0062;0061 05AE 0300 033F 0315 0062;
+0061 033F 0315 0300 05AE 0062;0061 05AE 033F 0300 0315 0062;0061 05AE 033F 0300 0315 0062;0061 05AE 033F 0300 0315 0062;0061 05AE 033F 0300 0315 0062;
+0061 0315 0300 05AE 0340 0062;00E0 05AE 0300 0315 0062;0061 05AE 0300 0300 0315 0062;00E0 05AE 0300 0315 0062;0061 05AE 0300 0300 0315 0062;
+0061 0340 0315 0300 05AE 0062;00E0 05AE 0300 0315 0062;0061 05AE 0300 0300 0315 0062;00E0 05AE 0300 0315 0062;0061 05AE 0300 0300 0315 0062;
+0061 0315 0300 05AE 0341 0062;00E0 05AE 0301 0315 0062;0061 05AE 0300 0301 0315 0062;00E0 05AE 0301 0315 0062;0061 05AE 0300 0301 0315 0062;
+0061 0341 0315 0300 05AE 0062;00E1 05AE 0300 0315 0062;0061 05AE 0301 0300 0315 0062;00E1 05AE 0300 0315 0062;0061 05AE 0301 0300 0315 0062;
+0061 0315 0300 05AE 0342 0062;00E0 05AE 0342 0315 0062;0061 05AE 0300 0342 0315 0062;00E0 05AE 0342 0315 0062;0061 05AE 0300 0342 0315 0062;
+0061 0342 0315 0300 05AE 0062;0061 05AE 0342 0300 0315 0062;0061 05AE 0342 0300 0315 0062;0061 05AE 0342 0300 0315 0062;0061 05AE 0342 0300 0315 0062;
+0061 0315 0300 05AE 0343 0062;00E0 05AE 0313 0315 0062;0061 05AE 0300 0313 0315 0062;00E0 05AE 0313 0315 0062;0061 05AE 0300 0313 0315 0062;
+0061 0343 0315 0300 05AE 0062;0061 05AE 0313 0300 0315 0062;0061 05AE 0313 0300 0315 0062;0061 05AE 0313 0300 0315 0062;0061 05AE 0313 0300 0315 0062;
+0061 0315 0300 05AE 0344 0062;00E0 05AE 0308 0301 0315 0062;0061 05AE 0300 0308 0301 0315 0062;00E0 05AE 0308 0301 0315 0062;0061 05AE 0300 0308 0301 0315 0062;
+0061 0344 0315 0300 05AE 0062;00E4 05AE 0301 0300 0315 0062;0061 05AE 0308 0301 0300 0315 0062;00E4 05AE 0301 0300 0315 0062;0061 05AE 0308 0301 0300 0315 0062;
+0061 0345 0360 0345 0062;0061 0360 0345 0345 0062;0061 0360 0345 0345 0062;0061 0360 0345 0345 0062;0061 0360 0345 0345 0062;
+0061 0345 0345 0360 0062;0061 0360 0345 0345 0062;0061 0360 0345 0345 0062;0061 0360 0345 0345 0062;0061 0360 0345 0345 0062;
+0061 0315 0300 05AE 0346 0062;00E0 05AE 0346 0315 0062;0061 05AE 0300 0346 0315 0062;00E0 05AE 0346 0315 0062;0061 05AE 0300 0346 0315 0062;
+0061 0346 0315 0300 05AE 0062;0061 05AE 0346 0300 0315 0062;0061 05AE 0346 0300 0315 0062;0061 05AE 0346 0300 0315 0062;0061 05AE 0346 0300 0315 0062;
+0061 059A 0316 302A 0347 0062;0061 302A 0316 0347 059A 0062;0061 302A 0316 0347 059A 0062;0061 302A 0316 0347 059A 0062;0061 302A 0316 0347 059A 0062;
+0061 0347 059A 0316 302A 0062;0061 302A 0347 0316 059A 0062;0061 302A 0347 0316 059A 0062;0061 302A 0347 0316 059A 0062;0061 302A 0347 0316 059A 0062;
+0061 059A 0316 302A 0348 0062;0061 302A 0316 0348 059A 0062;0061 302A 0316 0348 059A 0062;0061 302A 0316 0348 059A 0062;0061 302A 0316 0348 059A 0062;
+0061 0348 059A 0316 302A 0062;0061 302A 0348 0316 059A 0062;0061 302A 0348 0316 059A 0062;0061 302A 0348 0316 059A 0062;0061 302A 0348 0316 059A 0062;
+0061 059A 0316 302A 0349 0062;0061 302A 0316 0349 059A 0062;0061 302A 0316 0349 059A 0062;0061 302A 0316 0349 059A 0062;0061 302A 0316 0349 059A 0062;
+0061 0349 059A 0316 302A 0062;0061 302A 0349 0316 059A 0062;0061 302A 0349 0316 059A 0062;0061 302A 0349 0316 059A 0062;0061 302A 0349 0316 059A 0062;
+0061 0315 0300 05AE 034A 0062;00E0 05AE 034A 0315 0062;0061 05AE 0300 034A 0315 0062;00E0 05AE 034A 0315 0062;0061 05AE 0300 034A 0315 0062;
+0061 034A 0315 0300 05AE 0062;0061 05AE 034A 0300 0315 0062;0061 05AE 034A 0300 0315 0062;0061 05AE 034A 0300 0315 0062;0061 05AE 034A 0300 0315 0062;
+0061 0315 0300 05AE 034B 0062;00E0 05AE 034B 0315 0062;0061 05AE 0300 034B 0315 0062;00E0 05AE 034B 0315 0062;0061 05AE 0300 034B 0315 0062;
+0061 034B 0315 0300 05AE 0062;0061 05AE 034B 0300 0315 0062;0061 05AE 034B 0300 0315 0062;0061 05AE 034B 0300 0315 0062;0061 05AE 034B 0300 0315 0062;
+0061 0315 0300 05AE 034C 0062;00E0 05AE 034C 0315 0062;0061 05AE 0300 034C 0315 0062;00E0 05AE 034C 0315 0062;0061 05AE 0300 034C 0315 0062;
+0061 034C 0315 0300 05AE 0062;0061 05AE 034C 0300 0315 0062;0061 05AE 034C 0300 0315 0062;0061 05AE 034C 0300 0315 0062;0061 05AE 034C 0300 0315 0062;
+0061 059A 0316 302A 034D 0062;0061 302A 0316 034D 059A 0062;0061 302A 0316 034D 059A 0062;0061 302A 0316 034D 059A 0062;0061 302A 0316 034D 059A 0062;
+0061 034D 059A 0316 302A 0062;0061 302A 034D 0316 059A 0062;0061 302A 034D 0316 059A 0062;0061 302A 034D 0316 059A 0062;0061 302A 034D 0316 059A 0062;
+0061 059A 0316 302A 034E 0062;0061 302A 0316 034E 059A 0062;0061 302A 0316 034E 059A 0062;0061 302A 0316 034E 059A 0062;0061 302A 0316 034E 059A 0062;
+0061 034E 059A 0316 302A 0062;0061 302A 034E 0316 059A 0062;0061 302A 034E 0316 059A 0062;0061 302A 034E 0316 059A 0062;0061 302A 034E 0316 059A 0062;
+0061 0345 0360 0362 0360 0062;0061 0362 0360 0360 0345 0062;0061 0362 0360 0360 0345 0062;0061 0362 0360 0360 0345 0062;0061 0362 0360 0360 0345 0062;
+0061 0360 0345 0360 0362 0062;0061 0362 0360 0360 0345 0062;0061 0362 0360 0360 0345 0062;0061 0362 0360 0360 0345 0062;0061 0362 0360 0360 0345 0062;
+0061 0345 0360 0362 0361 0062;0061 0362 0360 0361 0345 0062;0061 0362 0360 0361 0345 0062;0061 0362 0360 0361 0345 0062;0061 0362 0360 0361 0345 0062;
+0061 0361 0345 0360 0362 0062;0061 0362 0361 0360 0345 0062;0061 0362 0361 0360 0345 0062;0061 0362 0361 0360 0345 0062;0061 0362 0361 0360 0345 0062;
+0061 0360 0362 0315 0362 0062;0061 0315 0362 0362 0360 0062;0061 0315 0362 0362 0360 0062;0061 0315 0362 0362 0360 0062;0061 0315 0362 0362 0360 0062;
+0061 0362 0360 0362 0315 0062;0061 0315 0362 0362 0360 0062;0061 0315 0362 0362 0360 0062;0061 0315 0362 0362 0360 0062;0061 0315 0362 0362 0360 0062;
+0061 0315 0300 05AE 0363 0062;00E0 05AE 0363 0315 0062;0061 05AE 0300 0363 0315 0062;00E0 05AE 0363 0315 0062;0061 05AE 0300 0363 0315 0062;
+0061 0363 0315 0300 05AE 0062;0061 05AE 0363 0300 0315 0062;0061 05AE 0363 0300 0315 0062;0061 05AE 0363 0300 0315 0062;0061 05AE 0363 0300 0315 0062;
+0061 0315 0300 05AE 0364 0062;00E0 05AE 0364 0315 0062;0061 05AE 0300 0364 0315 0062;00E0 05AE 0364 0315 0062;0061 05AE 0300 0364 0315 0062;
+0061 0364 0315 0300 05AE 0062;0061 05AE 0364 0300 0315 0062;0061 05AE 0364 0300 0315 0062;0061 05AE 0364 0300 0315 0062;0061 05AE 0364 0300 0315 0062;
+0061 0315 0300 05AE 0365 0062;00E0 05AE 0365 0315 0062;0061 05AE 0300 0365 0315 0062;00E0 05AE 0365 0315 0062;0061 05AE 0300 0365 0315 0062;
+0061 0365 0315 0300 05AE 0062;0061 05AE 0365 0300 0315 0062;0061 05AE 0365 0300 0315 0062;0061 05AE 0365 0300 0315 0062;0061 05AE 0365 0300 0315 0062;
+0061 0315 0300 05AE 0366 0062;00E0 05AE 0366 0315 0062;0061 05AE 0300 0366 0315 0062;00E0 05AE 0366 0315 0062;0061 05AE 0300 0366 0315 0062;
+0061 0366 0315 0300 05AE 0062;0061 05AE 0366 0300 0315 0062;0061 05AE 0366 0300 0315 0062;0061 05AE 0366 0300 0315 0062;0061 05AE 0366 0300 0315 0062;
+0061 0315 0300 05AE 0367 0062;00E0 05AE 0367 0315 0062;0061 05AE 0300 0367 0315 0062;00E0 05AE 0367 0315 0062;0061 05AE 0300 0367 0315 0062;
+0061 0367 0315 0300 05AE 0062;0061 05AE 0367 0300 0315 0062;0061 05AE 0367 0300 0315 0062;0061 05AE 0367 0300 0315 0062;0061 05AE 0367 0300 0315 0062;
+0061 0315 0300 05AE 0368 0062;00E0 05AE 0368 0315 0062;0061 05AE 0300 0368 0315 0062;00E0 05AE 0368 0315 0062;0061 05AE 0300 0368 0315 0062;
+0061 0368 0315 0300 05AE 0062;0061 05AE 0368 0300 0315 0062;0061 05AE 0368 0300 0315 0062;0061 05AE 0368 0300 0315 0062;0061 05AE 0368 0300 0315 0062;
+0061 0315 0300 05AE 0369 0062;00E0 05AE 0369 0315 0062;0061 05AE 0300 0369 0315 0062;00E0 05AE 0369 0315 0062;0061 05AE 0300 0369 0315 0062;
+0061 0369 0315 0300 05AE 0062;0061 05AE 0369 0300 0315 0062;0061 05AE 0369 0300 0315 0062;0061 05AE 0369 0300 0315 0062;0061 05AE 0369 0300 0315 0062;
+0061 0315 0300 05AE 036A 0062;00E0 05AE 036A 0315 0062;0061 05AE 0300 036A 0315 0062;00E0 05AE 036A 0315 0062;0061 05AE 0300 036A 0315 0062;
+0061 036A 0315 0300 05AE 0062;0061 05AE 036A 0300 0315 0062;0061 05AE 036A 0300 0315 0062;0061 05AE 036A 0300 0315 0062;0061 05AE 036A 0300 0315 0062;
+0061 0315 0300 05AE 036B 0062;00E0 05AE 036B 0315 0062;0061 05AE 0300 036B 0315 0062;00E0 05AE 036B 0315 0062;0061 05AE 0300 036B 0315 0062;
+0061 036B 0315 0300 05AE 0062;0061 05AE 036B 0300 0315 0062;0061 05AE 036B 0300 0315 0062;0061 05AE 036B 0300 0315 0062;0061 05AE 036B 0300 0315 0062;
+0061 0315 0300 05AE 036C 0062;00E0 05AE 036C 0315 0062;0061 05AE 0300 036C 0315 0062;00E0 05AE 036C 0315 0062;0061 05AE 0300 036C 0315 0062;
+0061 036C 0315 0300 05AE 0062;0061 05AE 036C 0300 0315 0062;0061 05AE 036C 0300 0315 0062;0061 05AE 036C 0300 0315 0062;0061 05AE 036C 0300 0315 0062;
+0061 0315 0300 05AE 036D 0062;00E0 05AE 036D 0315 0062;0061 05AE 0300 036D 0315 0062;00E0 05AE 036D 0315 0062;0061 05AE 0300 036D 0315 0062;
+0061 036D 0315 0300 05AE 0062;0061 05AE 036D 0300 0315 0062;0061 05AE 036D 0300 0315 0062;0061 05AE 036D 0300 0315 0062;0061 05AE 036D 0300 0315 0062;
+0061 0315 0300 05AE 036E 0062;00E0 05AE 036E 0315 0062;0061 05AE 0300 036E 0315 0062;00E0 05AE 036E 0315 0062;0061 05AE 0300 036E 0315 0062;
+0061 036E 0315 0300 05AE 0062;0061 05AE 036E 0300 0315 0062;0061 05AE 036E 0300 0315 0062;0061 05AE 036E 0300 0315 0062;0061 05AE 036E 0300 0315 0062;
+0061 0315 0300 05AE 036F 0062;00E0 05AE 036F 0315 0062;0061 05AE 0300 036F 0315 0062;00E0 05AE 036F 0315 0062;0061 05AE 0300 036F 0315 0062;
+0061 036F 0315 0300 05AE 0062;0061 05AE 036F 0300 0315 0062;0061 05AE 036F 0300 0315 0062;0061 05AE 036F 0300 0315 0062;0061 05AE 036F 0300 0315 0062;
+0061 0315 0300 05AE 0483 0062;00E0 05AE 0483 0315 0062;0061 05AE 0300 0483 0315 0062;00E0 05AE 0483 0315 0062;0061 05AE 0300 0483 0315 0062;
+0061 0483 0315 0300 05AE 0062;0061 05AE 0483 0300 0315 0062;0061 05AE 0483 0300 0315 0062;0061 05AE 0483 0300 0315 0062;0061 05AE 0483 0300 0315 0062;
+0061 0315 0300 05AE 0484 0062;00E0 05AE 0484 0315 0062;0061 05AE 0300 0484 0315 0062;00E0 05AE 0484 0315 0062;0061 05AE 0300 0484 0315 0062;
+0061 0484 0315 0300 05AE 0062;0061 05AE 0484 0300 0315 0062;0061 05AE 0484 0300 0315 0062;0061 05AE 0484 0300 0315 0062;0061 05AE 0484 0300 0315 0062;
+0061 0315 0300 05AE 0485 0062;00E0 05AE 0485 0315 0062;0061 05AE 0300 0485 0315 0062;00E0 05AE 0485 0315 0062;0061 05AE 0300 0485 0315 0062;
+0061 0485 0315 0300 05AE 0062;0061 05AE 0485 0300 0315 0062;0061 05AE 0485 0300 0315 0062;0061 05AE 0485 0300 0315 0062;0061 05AE 0485 0300 0315 0062;
+0061 0315 0300 05AE 0486 0062;00E0 05AE 0486 0315 0062;0061 05AE 0300 0486 0315 0062;00E0 05AE 0486 0315 0062;0061 05AE 0300 0486 0315 0062;
+0061 0486 0315 0300 05AE 0062;0061 05AE 0486 0300 0315 0062;0061 05AE 0486 0300 0315 0062;0061 05AE 0486 0300 0315 0062;0061 05AE 0486 0300 0315 0062;
+0061 059A 0316 302A 0591 0062;0061 302A 0316 0591 059A 0062;0061 302A 0316 0591 059A 0062;0061 302A 0316 0591 059A 0062;0061 302A 0316 0591 059A 0062;
+0061 0591 059A 0316 302A 0062;0061 302A 0591 0316 059A 0062;0061 302A 0591 0316 059A 0062;0061 302A 0591 0316 059A 0062;0061 302A 0591 0316 059A 0062;
+0061 0315 0300 05AE 0592 0062;00E0 05AE 0592 0315 0062;0061 05AE 0300 0592 0315 0062;00E0 05AE 0592 0315 0062;0061 05AE 0300 0592 0315 0062;
+0061 0592 0315 0300 05AE 0062;0061 05AE 0592 0300 0315 0062;0061 05AE 0592 0300 0315 0062;0061 05AE 0592 0300 0315 0062;0061 05AE 0592 0300 0315 0062;
+0061 0315 0300 05AE 0593 0062;00E0 05AE 0593 0315 0062;0061 05AE 0300 0593 0315 0062;00E0 05AE 0593 0315 0062;0061 05AE 0300 0593 0315 0062;
+0061 0593 0315 0300 05AE 0062;0061 05AE 0593 0300 0315 0062;0061 05AE 0593 0300 0315 0062;0061 05AE 0593 0300 0315 0062;0061 05AE 0593 0300 0315 0062;
+0061 0315 0300 05AE 0594 0062;00E0 05AE 0594 0315 0062;0061 05AE 0300 0594 0315 0062;00E0 05AE 0594 0315 0062;0061 05AE 0300 0594 0315 0062;
+0061 0594 0315 0300 05AE 0062;0061 05AE 0594 0300 0315 0062;0061 05AE 0594 0300 0315 0062;0061 05AE 0594 0300 0315 0062;0061 05AE 0594 0300 0315 0062;
+0061 0315 0300 05AE 0595 0062;00E0 05AE 0595 0315 0062;0061 05AE 0300 0595 0315 0062;00E0 05AE 0595 0315 0062;0061 05AE 0300 0595 0315 0062;
+0061 0595 0315 0300 05AE 0062;0061 05AE 0595 0300 0315 0062;0061 05AE 0595 0300 0315 0062;0061 05AE 0595 0300 0315 0062;0061 05AE 0595 0300 0315 0062;
+0061 059A 0316 302A 0596 0062;0061 302A 0316 0596 059A 0062;0061 302A 0316 0596 059A 0062;0061 302A 0316 0596 059A 0062;0061 302A 0316 0596 059A 0062;
+0061 0596 059A 0316 302A 0062;0061 302A 0596 0316 059A 0062;0061 302A 0596 0316 059A 0062;0061 302A 0596 0316 059A 0062;0061 302A 0596 0316 059A 0062;
+0061 0315 0300 05AE 0597 0062;00E0 05AE 0597 0315 0062;0061 05AE 0300 0597 0315 0062;00E0 05AE 0597 0315 0062;0061 05AE 0300 0597 0315 0062;
+0061 0597 0315 0300 05AE 0062;0061 05AE 0597 0300 0315 0062;0061 05AE 0597 0300 0315 0062;0061 05AE 0597 0300 0315 0062;0061 05AE 0597 0300 0315 0062;
+0061 0315 0300 05AE 0598 0062;00E0 05AE 0598 0315 0062;0061 05AE 0300 0598 0315 0062;00E0 05AE 0598 0315 0062;0061 05AE 0300 0598 0315 0062;
+0061 0598 0315 0300 05AE 0062;0061 05AE 0598 0300 0315 0062;0061 05AE 0598 0300 0315 0062;0061 05AE 0598 0300 0315 0062;0061 05AE 0598 0300 0315 0062;
+0061 0315 0300 05AE 0599 0062;00E0 05AE 0599 0315 0062;0061 05AE 0300 0599 0315 0062;00E0 05AE 0599 0315 0062;0061 05AE 0300 0599 0315 0062;
+0061 0599 0315 0300 05AE 0062;0061 05AE 0599 0300 0315 0062;0061 05AE 0599 0300 0315 0062;0061 05AE 0599 0300 0315 0062;0061 05AE 0599 0300 0315 0062;
+0061 302E 059A 0316 059A 0062;0061 0316 059A 059A 302E 0062;0061 0316 059A 059A 302E 0062;0061 0316 059A 059A 302E 0062;0061 0316 059A 059A 302E 0062;
+0061 059A 302E 059A 0316 0062;0061 0316 059A 059A 302E 0062;0061 0316 059A 059A 302E 0062;0061 0316 059A 059A 302E 0062;0061 0316 059A 059A 302E 0062;
+0061 059A 0316 302A 059B 0062;0061 302A 0316 059B 059A 0062;0061 302A 0316 059B 059A 0062;0061 302A 0316 059B 059A 0062;0061 302A 0316 059B 059A 0062;
+0061 059B 059A 0316 302A 0062;0061 302A 059B 0316 059A 0062;0061 302A 059B 0316 059A 0062;0061 302A 059B 0316 059A 0062;0061 302A 059B 0316 059A 0062;
+0061 0315 0300 05AE 059C 0062;00E0 05AE 059C 0315 0062;0061 05AE 0300 059C 0315 0062;00E0 05AE 059C 0315 0062;0061 05AE 0300 059C 0315 0062;
+0061 059C 0315 0300 05AE 0062;0061 05AE 059C 0300 0315 0062;0061 05AE 059C 0300 0315 0062;0061 05AE 059C 0300 0315 0062;0061 05AE 059C 0300 0315 0062;
+0061 0315 0300 05AE 059D 0062;00E0 05AE 059D 0315 0062;0061 05AE 0300 059D 0315 0062;00E0 05AE 059D 0315 0062;0061 05AE 0300 059D 0315 0062;
+0061 059D 0315 0300 05AE 0062;0061 05AE 059D 0300 0315 0062;0061 05AE 059D 0300 0315 0062;0061 05AE 059D 0300 0315 0062;0061 05AE 059D 0300 0315 0062;
+0061 0315 0300 05AE 059E 0062;00E0 05AE 059E 0315 0062;0061 05AE 0300 059E 0315 0062;00E0 05AE 059E 0315 0062;0061 05AE 0300 059E 0315 0062;
+0061 059E 0315 0300 05AE 0062;0061 05AE 059E 0300 0315 0062;0061 05AE 059E 0300 0315 0062;0061 05AE 059E 0300 0315 0062;0061 05AE 059E 0300 0315 0062;
+0061 0315 0300 05AE 059F 0062;00E0 05AE 059F 0315 0062;0061 05AE 0300 059F 0315 0062;00E0 05AE 059F 0315 0062;0061 05AE 0300 059F 0315 0062;
+0061 059F 0315 0300 05AE 0062;0061 05AE 059F 0300 0315 0062;0061 05AE 059F 0300 0315 0062;0061 05AE 059F 0300 0315 0062;0061 05AE 059F 0300 0315 0062;
+0061 0315 0300 05AE 05A0 0062;00E0 05AE 05A0 0315 0062;0061 05AE 0300 05A0 0315 0062;00E0 05AE 05A0 0315 0062;0061 05AE 0300 05A0 0315 0062;
+0061 05A0 0315 0300 05AE 0062;0061 05AE 05A0 0300 0315 0062;0061 05AE 05A0 0300 0315 0062;0061 05AE 05A0 0300 0315 0062;0061 05AE 05A0 0300 0315 0062;
+0061 0315 0300 05AE 05A1 0062;00E0 05AE 05A1 0315 0062;0061 05AE 0300 05A1 0315 0062;00E0 05AE 05A1 0315 0062;0061 05AE 0300 05A1 0315 0062;
+0061 05A1 0315 0300 05AE 0062;0061 05AE 05A1 0300 0315 0062;0061 05AE 05A1 0300 0315 0062;0061 05AE 05A1 0300 0315 0062;0061 05AE 05A1 0300 0315 0062;
+0061 059A 0316 302A 05A3 0062;0061 302A 0316 05A3 059A 0062;0061 302A 0316 05A3 059A 0062;0061 302A 0316 05A3 059A 0062;0061 302A 0316 05A3 059A 0062;
+0061 05A3 059A 0316 302A 0062;0061 302A 05A3 0316 059A 0062;0061 302A 05A3 0316 059A 0062;0061 302A 05A3 0316 059A 0062;0061 302A 05A3 0316 059A 0062;
+0061 059A 0316 302A 05A4 0062;0061 302A 0316 05A4 059A 0062;0061 302A 0316 05A4 059A 0062;0061 302A 0316 05A4 059A 0062;0061 302A 0316 05A4 059A 0062;
+0061 05A4 059A 0316 302A 0062;0061 302A 05A4 0316 059A 0062;0061 302A 05A4 0316 059A 0062;0061 302A 05A4 0316 059A 0062;0061 302A 05A4 0316 059A 0062;
+0061 059A 0316 302A 05A5 0062;0061 302A 0316 05A5 059A 0062;0061 302A 0316 05A5 059A 0062;0061 302A 0316 05A5 059A 0062;0061 302A 0316 05A5 059A 0062;
+0061 05A5 059A 0316 302A 0062;0061 302A 05A5 0316 059A 0062;0061 302A 05A5 0316 059A 0062;0061 302A 05A5 0316 059A 0062;0061 302A 05A5 0316 059A 0062;
+0061 059A 0316 302A 05A6 0062;0061 302A 0316 05A6 059A 0062;0061 302A 0316 05A6 059A 0062;0061 302A 0316 05A6 059A 0062;0061 302A 0316 05A6 059A 0062;
+0061 05A6 059A 0316 302A 0062;0061 302A 05A6 0316 059A 0062;0061 302A 05A6 0316 059A 0062;0061 302A 05A6 0316 059A 0062;0061 302A 05A6 0316 059A 0062;
+0061 059A 0316 302A 05A7 0062;0061 302A 0316 05A7 059A 0062;0061 302A 0316 05A7 059A 0062;0061 302A 0316 05A7 059A 0062;0061 302A 0316 05A7 059A 0062;
+0061 05A7 059A 0316 302A 0062;0061 302A 05A7 0316 059A 0062;0061 302A 05A7 0316 059A 0062;0061 302A 05A7 0316 059A 0062;0061 302A 05A7 0316 059A 0062;
+0061 0315 0300 05AE 05A8 0062;00E0 05AE 05A8 0315 0062;0061 05AE 0300 05A8 0315 0062;00E0 05AE 05A8 0315 0062;0061 05AE 0300 05A8 0315 0062;
+0061 05A8 0315 0300 05AE 0062;0061 05AE 05A8 0300 0315 0062;0061 05AE 05A8 0300 0315 0062;0061 05AE 05A8 0300 0315 0062;0061 05AE 05A8 0300 0315 0062;
+0061 0315 0300 05AE 05A9 0062;00E0 05AE 05A9 0315 0062;0061 05AE 0300 05A9 0315 0062;00E0 05AE 05A9 0315 0062;0061 05AE 0300 05A9 0315 0062;
+0061 05A9 0315 0300 05AE 0062;0061 05AE 05A9 0300 0315 0062;0061 05AE 05A9 0300 0315 0062;0061 05AE 05A9 0300 0315 0062;0061 05AE 05A9 0300 0315 0062;
+0061 059A 0316 302A 05AA 0062;0061 302A 0316 05AA 059A 0062;0061 302A 0316 05AA 059A 0062;0061 302A 0316 05AA 059A 0062;0061 302A 0316 05AA 059A 0062;
+0061 05AA 059A 0316 302A 0062;0061 302A 05AA 0316 059A 0062;0061 302A 05AA 0316 059A 0062;0061 302A 05AA 0316 059A 0062;0061 302A 05AA 0316 059A 0062;
+0061 0315 0300 05AE 05AB 0062;00E0 05AE 05AB 0315 0062;0061 05AE 0300 05AB 0315 0062;00E0 05AE 05AB 0315 0062;0061 05AE 0300 05AB 0315 0062;
+0061 05AB 0315 0300 05AE 0062;0061 05AE 05AB 0300 0315 0062;0061 05AE 05AB 0300 0315 0062;0061 05AE 05AB 0300 0315 0062;0061 05AE 05AB 0300 0315 0062;
+0061 0315 0300 05AE 05AC 0062;00E0 05AE 05AC 0315 0062;0061 05AE 0300 05AC 0315 0062;00E0 05AE 05AC 0315 0062;0061 05AE 0300 05AC 0315 0062;
+0061 05AC 0315 0300 05AE 0062;0061 05AE 05AC 0300 0315 0062;0061 05AE 05AC 0300 0315 0062;0061 05AE 05AC 0300 0315 0062;0061 05AE 05AC 0300 0315 0062;
+0061 302E 059A 0316 05AD 0062;0061 0316 059A 05AD 302E 0062;0061 0316 059A 05AD 302E 0062;0061 0316 059A 05AD 302E 0062;0061 0316 059A 05AD 302E 0062;
+0061 05AD 302E 059A 0316 0062;0061 0316 05AD 059A 302E 0062;0061 0316 05AD 059A 302E 0062;0061 0316 05AD 059A 302E 0062;0061 0316 05AD 059A 302E 0062;
+0061 0300 05AE 1D16D 05AE 0062;00E0 1D16D 05AE 05AE 0062;0061 1D16D 05AE 05AE 0300 0062;00E0 1D16D 05AE 05AE 0062;0061 1D16D 05AE 05AE 0300 0062;
+0061 05AE 0300 05AE 1D16D 0062;00E0 1D16D 05AE 05AE 0062;0061 1D16D 05AE 05AE 0300 0062;00E0 1D16D 05AE 05AE 0062;0061 1D16D 05AE 05AE 0300 0062;
+0061 0315 0300 05AE 05AF 0062;00E0 05AE 05AF 0315 0062;0061 05AE 0300 05AF 0315 0062;00E0 05AE 05AF 0315 0062;0061 05AE 0300 05AF 0315 0062;
+0061 05AF 0315 0300 05AE 0062;0061 05AE 05AF 0300 0315 0062;0061 05AE 05AF 0300 0315 0062;0061 05AE 05AF 0300 0315 0062;0061 05AE 05AF 0300 0315 0062;
+0061 05B1 05B0 094D 05B0 0062;0061 094D 05B0 05B0 05B1 0062;0061 094D 05B0 05B0 05B1 0062;0061 094D 05B0 05B0 05B1 0062;0061 094D 05B0 05B0 05B1 0062;
+0061 05B0 05B1 05B0 094D 0062;0061 094D 05B0 05B0 05B1 0062;0061 094D 05B0 05B0 05B1 0062;0061 094D 05B0 05B0 05B1 0062;0061 094D 05B0 05B0 05B1 0062;
+0061 05B2 05B1 05B0 05B1 0062;0061 05B0 05B1 05B1 05B2 0062;0061 05B0 05B1 05B1 05B2 0062;0061 05B0 05B1 05B1 05B2 0062;0061 05B0 05B1 05B1 05B2 0062;
+0061 05B1 05B2 05B1 05B0 0062;0061 05B0 05B1 05B1 05B2 0062;0061 05B0 05B1 05B1 05B2 0062;0061 05B0 05B1 05B1 05B2 0062;0061 05B0 05B1 05B1 05B2 0062;
+0061 05B3 05B2 05B1 05B2 0062;0061 05B1 05B2 05B2 05B3 0062;0061 05B1 05B2 05B2 05B3 0062;0061 05B1 05B2 05B2 05B3 0062;0061 05B1 05B2 05B2 05B3 0062;
+0061 05B2 05B3 05B2 05B1 0062;0061 05B1 05B2 05B2 05B3 0062;0061 05B1 05B2 05B2 05B3 0062;0061 05B1 05B2 05B2 05B3 0062;0061 05B1 05B2 05B2 05B3 0062;
+0061 05B4 05B3 05B2 05B3 0062;0061 05B2 05B3 05B3 05B4 0062;0061 05B2 05B3 05B3 05B4 0062;0061 05B2 05B3 05B3 05B4 0062;0061 05B2 05B3 05B3 05B4 0062;
+0061 05B3 05B4 05B3 05B2 0062;0061 05B2 05B3 05B3 05B4 0062;0061 05B2 05B3 05B3 05B4 0062;0061 05B2 05B3 05B3 05B4 0062;0061 05B2 05B3 05B3 05B4 0062;
+0061 05B5 05B4 05B3 05B4 0062;0061 05B3 05B4 05B4 05B5 0062;0061 05B3 05B4 05B4 05B5 0062;0061 05B3 05B4 05B4 05B5 0062;0061 05B3 05B4 05B4 05B5 0062;
+0061 05B4 05B5 05B4 05B3 0062;0061 05B3 05B4 05B4 05B5 0062;0061 05B3 05B4 05B4 05B5 0062;0061 05B3 05B4 05B4 05B5 0062;0061 05B3 05B4 05B4 05B5 0062;
+0061 05B6 05B5 05B4 05B5 0062;0061 05B4 05B5 05B5 05B6 0062;0061 05B4 05B5 05B5 05B6 0062;0061 05B4 05B5 05B5 05B6 0062;0061 05B4 05B5 05B5 05B6 0062;
+0061 05B5 05B6 05B5 05B4 0062;0061 05B4 05B5 05B5 05B6 0062;0061 05B4 05B5 05B5 05B6 0062;0061 05B4 05B5 05B5 05B6 0062;0061 05B4 05B5 05B5 05B6 0062;
+0061 05B7 05B6 05B5 05B6 0062;0061 05B5 05B6 05B6 05B7 0062;0061 05B5 05B6 05B6 05B7 0062;0061 05B5 05B6 05B6 05B7 0062;0061 05B5 05B6 05B6 05B7 0062;
+0061 05B6 05B7 05B6 05B5 0062;0061 05B5 05B6 05B6 05B7 0062;0061 05B5 05B6 05B6 05B7 0062;0061 05B5 05B6 05B6 05B7 0062;0061 05B5 05B6 05B6 05B7 0062;
+0061 05B8 05B7 05B6 05B7 0062;0061 05B6 05B7 05B7 05B8 0062;0061 05B6 05B7 05B7 05B8 0062;0061 05B6 05B7 05B7 05B8 0062;0061 05B6 05B7 05B7 05B8 0062;
+0061 05B7 05B8 05B7 05B6 0062;0061 05B6 05B7 05B7 05B8 0062;0061 05B6 05B7 05B7 05B8 0062;0061 05B6 05B7 05B7 05B8 0062;0061 05B6 05B7 05B7 05B8 0062;
+0061 05B9 05B8 05B7 05B8 0062;0061 05B7 05B8 05B8 05B9 0062;0061 05B7 05B8 05B8 05B9 0062;0061 05B7 05B8 05B8 05B9 0062;0061 05B7 05B8 05B8 05B9 0062;
+0061 05B8 05B9 05B8 05B7 0062;0061 05B7 05B8 05B8 05B9 0062;0061 05B7 05B8 05B8 05B9 0062;0061 05B7 05B8 05B8 05B9 0062;0061 05B7 05B8 05B8 05B9 0062;
+0061 05BB 05B9 05B8 05B9 0062;0061 05B8 05B9 05B9 05BB 0062;0061 05B8 05B9 05B9 05BB 0062;0061 05B8 05B9 05B9 05BB 0062;0061 05B8 05B9 05B9 05BB 0062;
+0061 05B9 05BB 05B9 05B8 0062;0061 05B8 05B9 05B9 05BB 0062;0061 05B8 05B9 05B9 05BB 0062;0061 05B8 05B9 05B9 05BB 0062;0061 05B8 05B9 05B9 05BB 0062;
+0061 05BC 05BB 05B9 05BB 0062;0061 05B9 05BB 05BB 05BC 0062;0061 05B9 05BB 05BB 05BC 0062;0061 05B9 05BB 05BB 05BC 0062;0061 05B9 05BB 05BB 05BC 0062;
+0061 05BB 05BC 05BB 05B9 0062;0061 05B9 05BB 05BB 05BC 0062;0061 05B9 05BB 05BB 05BC 0062;0061 05B9 05BB 05BB 05BC 0062;0061 05B9 05BB 05BB 05BC 0062;
+0061 05BD 05BC 05BB 05BC 0062;0061 05BB 05BC 05BC 05BD 0062;0061 05BB 05BC 05BC 05BD 0062;0061 05BB 05BC 05BC 05BD 0062;0061 05BB 05BC 05BC 05BD 0062;
+0061 05BC 05BD 05BC 05BB 0062;0061 05BB 05BC 05BC 05BD 0062;0061 05BB 05BC 05BC 05BD 0062;0061 05BB 05BC 05BC 05BD 0062;0061 05BB 05BC 05BC 05BD 0062;
+0061 05BF 05BD 05BC 05BD 0062;0061 05BC 05BD 05BD 05BF 0062;0061 05BC 05BD 05BD 05BF 0062;0061 05BC 05BD 05BD 05BF 0062;0061 05BC 05BD 05BD 05BF 0062;
+0061 05BD 05BF 05BD 05BC 0062;0061 05BC 05BD 05BD 05BF 0062;0061 05BC 05BD 05BD 05BF 0062;0061 05BC 05BD 05BD 05BF 0062;0061 05BC 05BD 05BD 05BF 0062;
+0061 05C1 05BF 05BD 05BF 0062;0061 05BD 05BF 05BF 05C1 0062;0061 05BD 05BF 05BF 05C1 0062;0061 05BD 05BF 05BF 05C1 0062;0061 05BD 05BF 05BF 05C1 0062;
+0061 05BF 05C1 05BF 05BD 0062;0061 05BD 05BF 05BF 05C1 0062;0061 05BD 05BF 05BF 05C1 0062;0061 05BD 05BF 05BF 05C1 0062;0061 05BD 05BF 05BF 05C1 0062;
+0061 05C2 05C1 05BF 05C1 0062;0061 05BF 05C1 05C1 05C2 0062;0061 05BF 05C1 05C1 05C2 0062;0061 05BF 05C1 05C1 05C2 0062;0061 05BF 05C1 05C1 05C2 0062;
+0061 05C1 05C2 05C1 05BF 0062;0061 05BF 05C1 05C1 05C2 0062;0061 05BF 05C1 05C1 05C2 0062;0061 05BF 05C1 05C1 05C2 0062;0061 05BF 05C1 05C1 05C2 0062;
+0061 FB1E 05C2 05C1 05C2 0062;0061 05C1 05C2 05C2 FB1E 0062;0061 05C1 05C2 05C2 FB1E 0062;0061 05C1 05C2 05C2 FB1E 0062;0061 05C1 05C2 05C2 FB1E 0062;
+0061 05C2 FB1E 05C2 05C1 0062;0061 05C1 05C2 05C2 FB1E 0062;0061 05C1 05C2 05C2 FB1E 0062;0061 05C1 05C2 05C2 FB1E 0062;0061 05C1 05C2 05C2 FB1E 0062;
+0061 0315 0300 05AE 05C4 0062;00E0 05AE 05C4 0315 0062;0061 05AE 0300 05C4 0315 0062;00E0 05AE 05C4 0315 0062;0061 05AE 0300 05C4 0315 0062;
+0061 05C4 0315 0300 05AE 0062;0061 05AE 05C4 0300 0315 0062;0061 05AE 05C4 0300 0315 0062;0061 05AE 05C4 0300 0315 0062;0061 05AE 05C4 0300 0315 0062;
+0061 064C 064B FB1E 064B 0062;0061 FB1E 064B 064B 064C 0062;0061 FB1E 064B 064B 064C 0062;0061 FB1E 064B 064B 064C 0062;0061 FB1E 064B 064B 064C 0062;
+0061 064B 064C 064B FB1E 0062;0061 FB1E 064B 064B 064C 0062;0061 FB1E 064B 064B 064C 0062;0061 FB1E 064B 064B 064C 0062;0061 FB1E 064B 064B 064C 0062;
+0061 064D 064C 064B 064C 0062;0061 064B 064C 064C 064D 0062;0061 064B 064C 064C 064D 0062;0061 064B 064C 064C 064D 0062;0061 064B 064C 064C 064D 0062;
+0061 064C 064D 064C 064B 0062;0061 064B 064C 064C 064D 0062;0061 064B 064C 064C 064D 0062;0061 064B 064C 064C 064D 0062;0061 064B 064C 064C 064D 0062;
+0061 064E 064D 064C 064D 0062;0061 064C 064D 064D 064E 0062;0061 064C 064D 064D 064E 0062;0061 064C 064D 064D 064E 0062;0061 064C 064D 064D 064E 0062;
+0061 064D 064E 064D 064C 0062;0061 064C 064D 064D 064E 0062;0061 064C 064D 064D 064E 0062;0061 064C 064D 064D 064E 0062;0061 064C 064D 064D 064E 0062;
+0061 064F 064E 064D 064E 0062;0061 064D 064E 064E 064F 0062;0061 064D 064E 064E 064F 0062;0061 064D 064E 064E 064F 0062;0061 064D 064E 064E 064F 0062;
+0061 064E 064F 064E 064D 0062;0061 064D 064E 064E 064F 0062;0061 064D 064E 064E 064F 0062;0061 064D 064E 064E 064F 0062;0061 064D 064E 064E 064F 0062;
+0061 0650 064F 064E 064F 0062;0061 064E 064F 064F 0650 0062;0061 064E 064F 064F 0650 0062;0061 064E 064F 064F 0650 0062;0061 064E 064F 064F 0650 0062;
+0061 064F 0650 064F 064E 0062;0061 064E 064F 064F 0650 0062;0061 064E 064F 064F 0650 0062;0061 064E 064F 064F 0650 0062;0061 064E 064F 064F 0650 0062;
+0061 0651 0650 064F 0650 0062;0061 064F 0650 0650 0651 0062;0061 064F 0650 0650 0651 0062;0061 064F 0650 0650 0651 0062;0061 064F 0650 0650 0651 0062;
+0061 0650 0651 0650 064F 0062;0061 064F 0650 0650 0651 0062;0061 064F 0650 0650 0651 0062;0061 064F 0650 0650 0651 0062;0061 064F 0650 0650 0651 0062;
+0061 0652 0651 0650 0651 0062;0061 0650 0651 0651 0652 0062;0061 0650 0651 0651 0652 0062;0061 0650 0651 0651 0652 0062;0061 0650 0651 0651 0652 0062;
+0061 0651 0652 0651 0650 0062;0061 0650 0651 0651 0652 0062;0061 0650 0651 0651 0652 0062;0061 0650 0651 0651 0652 0062;0061 0650 0651 0651 0652 0062;
+0061 0670 0652 0651 0652 0062;0061 0651 0652 0652 0670 0062;0061 0651 0652 0652 0670 0062;0061 0651 0652 0652 0670 0062;0061 0651 0652 0652 0670 0062;
+0061 0652 0670 0652 0651 0062;0061 0651 0652 0652 0670 0062;0061 0651 0652 0652 0670 0062;0061 0651 0652 0652 0670 0062;0061 0651 0652 0652 0670 0062;
+0061 0315 0300 05AE 0653 0062;00E0 05AE 0653 0315 0062;0061 05AE 0300 0653 0315 0062;00E0 05AE 0653 0315 0062;0061 05AE 0300 0653 0315 0062;
+0061 0653 0315 0300 05AE 0062;0061 05AE 0653 0300 0315 0062;0061 05AE 0653 0300 0315 0062;0061 05AE 0653 0300 0315 0062;0061 05AE 0653 0300 0315 0062;
+0061 0315 0300 05AE 0654 0062;00E0 05AE 0654 0315 0062;0061 05AE 0300 0654 0315 0062;00E0 05AE 0654 0315 0062;0061 05AE 0300 0654 0315 0062;
+0061 0654 0315 0300 05AE 0062;0061 05AE 0654 0300 0315 0062;0061 05AE 0654 0300 0315 0062;0061 05AE 0654 0300 0315 0062;0061 05AE 0654 0300 0315 0062;
+0061 059A 0316 302A 0655 0062;0061 302A 0316 0655 059A 0062;0061 302A 0316 0655 059A 0062;0061 302A 0316 0655 059A 0062;0061 302A 0316 0655 059A 0062;
+0061 0655 059A 0316 302A 0062;0061 302A 0655 0316 059A 0062;0061 302A 0655 0316 059A 0062;0061 302A 0655 0316 059A 0062;0061 302A 0655 0316 059A 0062;
+0061 0711 0670 0652 0670 0062;0061 0652 0670 0670 0711 0062;0061 0652 0670 0670 0711 0062;0061 0652 0670 0670 0711 0062;0061 0652 0670 0670 0711 0062;
+0061 0670 0711 0670 0652 0062;0061 0652 0670 0670 0711 0062;0061 0652 0670 0670 0711 0062;0061 0652 0670 0670 0711 0062;0061 0652 0670 0670 0711 0062;
+0061 0315 0300 05AE 06D6 0062;00E0 05AE 06D6 0315 0062;0061 05AE 0300 06D6 0315 0062;00E0 05AE 06D6 0315 0062;0061 05AE 0300 06D6 0315 0062;
+0061 06D6 0315 0300 05AE 0062;0061 05AE 06D6 0300 0315 0062;0061 05AE 06D6 0300 0315 0062;0061 05AE 06D6 0300 0315 0062;0061 05AE 06D6 0300 0315 0062;
+0061 0315 0300 05AE 06D7 0062;00E0 05AE 06D7 0315 0062;0061 05AE 0300 06D7 0315 0062;00E0 05AE 06D7 0315 0062;0061 05AE 0300 06D7 0315 0062;
+0061 06D7 0315 0300 05AE 0062;0061 05AE 06D7 0300 0315 0062;0061 05AE 06D7 0300 0315 0062;0061 05AE 06D7 0300 0315 0062;0061 05AE 06D7 0300 0315 0062;
+0061 0315 0300 05AE 06D8 0062;00E0 05AE 06D8 0315 0062;0061 05AE 0300 06D8 0315 0062;00E0 05AE 06D8 0315 0062;0061 05AE 0300 06D8 0315 0062;
+0061 06D8 0315 0300 05AE 0062;0061 05AE 06D8 0300 0315 0062;0061 05AE 06D8 0300 0315 0062;0061 05AE 06D8 0300 0315 0062;0061 05AE 06D8 0300 0315 0062;
+0061 0315 0300 05AE 06D9 0062;00E0 05AE 06D9 0315 0062;0061 05AE 0300 06D9 0315 0062;00E0 05AE 06D9 0315 0062;0061 05AE 0300 06D9 0315 0062;
+0061 06D9 0315 0300 05AE 0062;0061 05AE 06D9 0300 0315 0062;0061 05AE 06D9 0300 0315 0062;0061 05AE 06D9 0300 0315 0062;0061 05AE 06D9 0300 0315 0062;
+0061 0315 0300 05AE 06DA 0062;00E0 05AE 06DA 0315 0062;0061 05AE 0300 06DA 0315 0062;00E0 05AE 06DA 0315 0062;0061 05AE 0300 06DA 0315 0062;
+0061 06DA 0315 0300 05AE 0062;0061 05AE 06DA 0300 0315 0062;0061 05AE 06DA 0300 0315 0062;0061 05AE 06DA 0300 0315 0062;0061 05AE 06DA 0300 0315 0062;
+0061 0315 0300 05AE 06DB 0062;00E0 05AE 06DB 0315 0062;0061 05AE 0300 06DB 0315 0062;00E0 05AE 06DB 0315 0062;0061 05AE 0300 06DB 0315 0062;
+0061 06DB 0315 0300 05AE 0062;0061 05AE 06DB 0300 0315 0062;0061 05AE 06DB 0300 0315 0062;0061 05AE 06DB 0300 0315 0062;0061 05AE 06DB 0300 0315 0062;
+0061 0315 0300 05AE 06DC 0062;00E0 05AE 06DC 0315 0062;0061 05AE 0300 06DC 0315 0062;00E0 05AE 06DC 0315 0062;0061 05AE 0300 06DC 0315 0062;
+0061 06DC 0315 0300 05AE 0062;0061 05AE 06DC 0300 0315 0062;0061 05AE 06DC 0300 0315 0062;0061 05AE 06DC 0300 0315 0062;0061 05AE 06DC 0300 0315 0062;
+0061 0315 0300 05AE 06DF 0062;00E0 05AE 06DF 0315 0062;0061 05AE 0300 06DF 0315 0062;00E0 05AE 06DF 0315 0062;0061 05AE 0300 06DF 0315 0062;
+0061 06DF 0315 0300 05AE 0062;0061 05AE 06DF 0300 0315 0062;0061 05AE 06DF 0300 0315 0062;0061 05AE 06DF 0300 0315 0062;0061 05AE 06DF 0300 0315 0062;
+0061 0315 0300 05AE 06E0 0062;00E0 05AE 06E0 0315 0062;0061 05AE 0300 06E0 0315 0062;00E0 05AE 06E0 0315 0062;0061 05AE 0300 06E0 0315 0062;
+0061 06E0 0315 0300 05AE 0062;0061 05AE 06E0 0300 0315 0062;0061 05AE 06E0 0300 0315 0062;0061 05AE 06E0 0300 0315 0062;0061 05AE 06E0 0300 0315 0062;
+0061 0315 0300 05AE 06E1 0062;00E0 05AE 06E1 0315 0062;0061 05AE 0300 06E1 0315 0062;00E0 05AE 06E1 0315 0062;0061 05AE 0300 06E1 0315 0062;
+0061 06E1 0315 0300 05AE 0062;0061 05AE 06E1 0300 0315 0062;0061 05AE 06E1 0300 0315 0062;0061 05AE 06E1 0300 0315 0062;0061 05AE 06E1 0300 0315 0062;
+0061 0315 0300 05AE 06E2 0062;00E0 05AE 06E2 0315 0062;0061 05AE 0300 06E2 0315 0062;00E0 05AE 06E2 0315 0062;0061 05AE 0300 06E2 0315 0062;
+0061 06E2 0315 0300 05AE 0062;0061 05AE 06E2 0300 0315 0062;0061 05AE 06E2 0300 0315 0062;0061 05AE 06E2 0300 0315 0062;0061 05AE 06E2 0300 0315 0062;
+0061 059A 0316 302A 06E3 0062;0061 302A 0316 06E3 059A 0062;0061 302A 0316 06E3 059A 0062;0061 302A 0316 06E3 059A 0062;0061 302A 0316 06E3 059A 0062;
+0061 06E3 059A 0316 302A 0062;0061 302A 06E3 0316 059A 0062;0061 302A 06E3 0316 059A 0062;0061 302A 06E3 0316 059A 0062;0061 302A 06E3 0316 059A 0062;
+0061 0315 0300 05AE 06E4 0062;00E0 05AE 06E4 0315 0062;0061 05AE 0300 06E4 0315 0062;00E0 05AE 06E4 0315 0062;0061 05AE 0300 06E4 0315 0062;
+0061 06E4 0315 0300 05AE 0062;0061 05AE 06E4 0300 0315 0062;0061 05AE 06E4 0300 0315 0062;0061 05AE 06E4 0300 0315 0062;0061 05AE 06E4 0300 0315 0062;
+0061 0315 0300 05AE 06E7 0062;00E0 05AE 06E7 0315 0062;0061 05AE 0300 06E7 0315 0062;00E0 05AE 06E7 0315 0062;0061 05AE 0300 06E7 0315 0062;
+0061 06E7 0315 0300 05AE 0062;0061 05AE 06E7 0300 0315 0062;0061 05AE 06E7 0300 0315 0062;0061 05AE 06E7 0300 0315 0062;0061 05AE 06E7 0300 0315 0062;
+0061 0315 0300 05AE 06E8 0062;00E0 05AE 06E8 0315 0062;0061 05AE 0300 06E8 0315 0062;00E0 05AE 06E8 0315 0062;0061 05AE 0300 06E8 0315 0062;
+0061 06E8 0315 0300 05AE 0062;0061 05AE 06E8 0300 0315 0062;0061 05AE 06E8 0300 0315 0062;0061 05AE 06E8 0300 0315 0062;0061 05AE 06E8 0300 0315 0062;
+0061 059A 0316 302A 06EA 0062;0061 302A 0316 06EA 059A 0062;0061 302A 0316 06EA 059A 0062;0061 302A 0316 06EA 059A 0062;0061 302A 0316 06EA 059A 0062;
+0061 06EA 059A 0316 302A 0062;0061 302A 06EA 0316 059A 0062;0061 302A 06EA 0316 059A 0062;0061 302A 06EA 0316 059A 0062;0061 302A 06EA 0316 059A 0062;
+0061 0315 0300 05AE 06EB 0062;00E0 05AE 06EB 0315 0062;0061 05AE 0300 06EB 0315 0062;00E0 05AE 06EB 0315 0062;0061 05AE 0300 06EB 0315 0062;
+0061 06EB 0315 0300 05AE 0062;0061 05AE 06EB 0300 0315 0062;0061 05AE 06EB 0300 0315 0062;0061 05AE 06EB 0300 0315 0062;0061 05AE 06EB 0300 0315 0062;
+0061 0315 0300 05AE 06EC 0062;00E0 05AE 06EC 0315 0062;0061 05AE 0300 06EC 0315 0062;00E0 05AE 06EC 0315 0062;0061 05AE 0300 06EC 0315 0062;
+0061 06EC 0315 0300 05AE 0062;0061 05AE 06EC 0300 0315 0062;0061 05AE 06EC 0300 0315 0062;0061 05AE 06EC 0300 0315 0062;0061 05AE 06EC 0300 0315 0062;
+0061 059A 0316 302A 06ED 0062;0061 302A 0316 06ED 059A 0062;0061 302A 0316 06ED 059A 0062;0061 302A 0316 06ED 059A 0062;0061 302A 0316 06ED 059A 0062;
+0061 06ED 059A 0316 302A 0062;0061 302A 06ED 0316 059A 0062;0061 302A 06ED 0316 059A 0062;0061 302A 06ED 0316 059A 0062;0061 302A 06ED 0316 059A 0062;
+0061 0C55 0711 0670 0711 0062;0061 0670 0711 0711 0C55 0062;0061 0670 0711 0711 0C55 0062;0061 0670 0711 0711 0C55 0062;0061 0670 0711 0711 0C55 0062;
+0061 0711 0C55 0711 0670 0062;0061 0670 0711 0711 0C55 0062;0061 0670 0711 0711 0C55 0062;0061 0670 0711 0711 0C55 0062;0061 0670 0711 0711 0C55 0062;
+0061 0315 0300 05AE 0730 0062;00E0 05AE 0730 0315 0062;0061 05AE 0300 0730 0315 0062;00E0 05AE 0730 0315 0062;0061 05AE 0300 0730 0315 0062;
+0061 0730 0315 0300 05AE 0062;0061 05AE 0730 0300 0315 0062;0061 05AE 0730 0300 0315 0062;0061 05AE 0730 0300 0315 0062;0061 05AE 0730 0300 0315 0062;
+0061 059A 0316 302A 0731 0062;0061 302A 0316 0731 059A 0062;0061 302A 0316 0731 059A 0062;0061 302A 0316 0731 059A 0062;0061 302A 0316 0731 059A 0062;
+0061 0731 059A 0316 302A 0062;0061 302A 0731 0316 059A 0062;0061 302A 0731 0316 059A 0062;0061 302A 0731 0316 059A 0062;0061 302A 0731 0316 059A 0062;
+0061 0315 0300 05AE 0732 0062;00E0 05AE 0732 0315 0062;0061 05AE 0300 0732 0315 0062;00E0 05AE 0732 0315 0062;0061 05AE 0300 0732 0315 0062;
+0061 0732 0315 0300 05AE 0062;0061 05AE 0732 0300 0315 0062;0061 05AE 0732 0300 0315 0062;0061 05AE 0732 0300 0315 0062;0061 05AE 0732 0300 0315 0062;
+0061 0315 0300 05AE 0733 0062;00E0 05AE 0733 0315 0062;0061 05AE 0300 0733 0315 0062;00E0 05AE 0733 0315 0062;0061 05AE 0300 0733 0315 0062;
+0061 0733 0315 0300 05AE 0062;0061 05AE 0733 0300 0315 0062;0061 05AE 0733 0300 0315 0062;0061 05AE 0733 0300 0315 0062;0061 05AE 0733 0300 0315 0062;
+0061 059A 0316 302A 0734 0062;0061 302A 0316 0734 059A 0062;0061 302A 0316 0734 059A 0062;0061 302A 0316 0734 059A 0062;0061 302A 0316 0734 059A 0062;
+0061 0734 059A 0316 302A 0062;0061 302A 0734 0316 059A 0062;0061 302A 0734 0316 059A 0062;0061 302A 0734 0316 059A 0062;0061 302A 0734 0316 059A 0062;
+0061 0315 0300 05AE 0735 0062;00E0 05AE 0735 0315 0062;0061 05AE 0300 0735 0315 0062;00E0 05AE 0735 0315 0062;0061 05AE 0300 0735 0315 0062;
+0061 0735 0315 0300 05AE 0062;0061 05AE 0735 0300 0315 0062;0061 05AE 0735 0300 0315 0062;0061 05AE 0735 0300 0315 0062;0061 05AE 0735 0300 0315 0062;
+0061 0315 0300 05AE 0736 0062;00E0 05AE 0736 0315 0062;0061 05AE 0300 0736 0315 0062;00E0 05AE 0736 0315 0062;0061 05AE 0300 0736 0315 0062;
+0061 0736 0315 0300 05AE 0062;0061 05AE 0736 0300 0315 0062;0061 05AE 0736 0300 0315 0062;0061 05AE 0736 0300 0315 0062;0061 05AE 0736 0300 0315 0062;
+0061 059A 0316 302A 0737 0062;0061 302A 0316 0737 059A 0062;0061 302A 0316 0737 059A 0062;0061 302A 0316 0737 059A 0062;0061 302A 0316 0737 059A 0062;
+0061 0737 059A 0316 302A 0062;0061 302A 0737 0316 059A 0062;0061 302A 0737 0316 059A 0062;0061 302A 0737 0316 059A 0062;0061 302A 0737 0316 059A 0062;
+0061 059A 0316 302A 0738 0062;0061 302A 0316 0738 059A 0062;0061 302A 0316 0738 059A 0062;0061 302A 0316 0738 059A 0062;0061 302A 0316 0738 059A 0062;
+0061 0738 059A 0316 302A 0062;0061 302A 0738 0316 059A 0062;0061 302A 0738 0316 059A 0062;0061 302A 0738 0316 059A 0062;0061 302A 0738 0316 059A 0062;
+0061 059A 0316 302A 0739 0062;0061 302A 0316 0739 059A 0062;0061 302A 0316 0739 059A 0062;0061 302A 0316 0739 059A 0062;0061 302A 0316 0739 059A 0062;
+0061 0739 059A 0316 302A 0062;0061 302A 0739 0316 059A 0062;0061 302A 0739 0316 059A 0062;0061 302A 0739 0316 059A 0062;0061 302A 0739 0316 059A 0062;
+0061 0315 0300 05AE 073A 0062;00E0 05AE 073A 0315 0062;0061 05AE 0300 073A 0315 0062;00E0 05AE 073A 0315 0062;0061 05AE 0300 073A 0315 0062;
+0061 073A 0315 0300 05AE 0062;0061 05AE 073A 0300 0315 0062;0061 05AE 073A 0300 0315 0062;0061 05AE 073A 0300 0315 0062;0061 05AE 073A 0300 0315 0062;
+0061 059A 0316 302A 073B 0062;0061 302A 0316 073B 059A 0062;0061 302A 0316 073B 059A 0062;0061 302A 0316 073B 059A 0062;0061 302A 0316 073B 059A 0062;
+0061 073B 059A 0316 302A 0062;0061 302A 073B 0316 059A 0062;0061 302A 073B 0316 059A 0062;0061 302A 073B 0316 059A 0062;0061 302A 073B 0316 059A 0062;
+0061 059A 0316 302A 073C 0062;0061 302A 0316 073C 059A 0062;0061 302A 0316 073C 059A 0062;0061 302A 0316 073C 059A 0062;0061 302A 0316 073C 059A 0062;
+0061 073C 059A 0316 302A 0062;0061 302A 073C 0316 059A 0062;0061 302A 073C 0316 059A 0062;0061 302A 073C 0316 059A 0062;0061 302A 073C 0316 059A 0062;
+0061 0315 0300 05AE 073D 0062;00E0 05AE 073D 0315 0062;0061 05AE 0300 073D 0315 0062;00E0 05AE 073D 0315 0062;0061 05AE 0300 073D 0315 0062;
+0061 073D 0315 0300 05AE 0062;0061 05AE 073D 0300 0315 0062;0061 05AE 073D 0300 0315 0062;0061 05AE 073D 0300 0315 0062;0061 05AE 073D 0300 0315 0062;
+0061 059A 0316 302A 073E 0062;0061 302A 0316 073E 059A 0062;0061 302A 0316 073E 059A 0062;0061 302A 0316 073E 059A 0062;0061 302A 0316 073E 059A 0062;
+0061 073E 059A 0316 302A 0062;0061 302A 073E 0316 059A 0062;0061 302A 073E 0316 059A 0062;0061 302A 073E 0316 059A 0062;0061 302A 073E 0316 059A 0062;
+0061 0315 0300 05AE 073F 0062;00E0 05AE 073F 0315 0062;0061 05AE 0300 073F 0315 0062;00E0 05AE 073F 0315 0062;0061 05AE 0300 073F 0315 0062;
+0061 073F 0315 0300 05AE 0062;0061 05AE 073F 0300 0315 0062;0061 05AE 073F 0300 0315 0062;0061 05AE 073F 0300 0315 0062;0061 05AE 073F 0300 0315 0062;
+0061 0315 0300 05AE 0740 0062;00E0 05AE 0740 0315 0062;0061 05AE 0300 0740 0315 0062;00E0 05AE 0740 0315 0062;0061 05AE 0300 0740 0315 0062;
+0061 0740 0315 0300 05AE 0062;0061 05AE 0740 0300 0315 0062;0061 05AE 0740 0300 0315 0062;0061 05AE 0740 0300 0315 0062;0061 05AE 0740 0300 0315 0062;
+0061 0315 0300 05AE 0741 0062;00E0 05AE 0741 0315 0062;0061 05AE 0300 0741 0315 0062;00E0 05AE 0741 0315 0062;0061 05AE 0300 0741 0315 0062;
+0061 0741 0315 0300 05AE 0062;0061 05AE 0741 0300 0315 0062;0061 05AE 0741 0300 0315 0062;0061 05AE 0741 0300 0315 0062;0061 05AE 0741 0300 0315 0062;
+0061 059A 0316 302A 0742 0062;0061 302A 0316 0742 059A 0062;0061 302A 0316 0742 059A 0062;0061 302A 0316 0742 059A 0062;0061 302A 0316 0742 059A 0062;
+0061 0742 059A 0316 302A 0062;0061 302A 0742 0316 059A 0062;0061 302A 0742 0316 059A 0062;0061 302A 0742 0316 059A 0062;0061 302A 0742 0316 059A 0062;
+0061 0315 0300 05AE 0743 0062;00E0 05AE 0743 0315 0062;0061 05AE 0300 0743 0315 0062;00E0 05AE 0743 0315 0062;0061 05AE 0300 0743 0315 0062;
+0061 0743 0315 0300 05AE 0062;0061 05AE 0743 0300 0315 0062;0061 05AE 0743 0300 0315 0062;0061 05AE 0743 0300 0315 0062;0061 05AE 0743 0300 0315 0062;
+0061 059A 0316 302A 0744 0062;0061 302A 0316 0744 059A 0062;0061 302A 0316 0744 059A 0062;0061 302A 0316 0744 059A 0062;0061 302A 0316 0744 059A 0062;
+0061 0744 059A 0316 302A 0062;0061 302A 0744 0316 059A 0062;0061 302A 0744 0316 059A 0062;0061 302A 0744 0316 059A 0062;0061 302A 0744 0316 059A 0062;
+0061 0315 0300 05AE 0745 0062;00E0 05AE 0745 0315 0062;0061 05AE 0300 0745 0315 0062;00E0 05AE 0745 0315 0062;0061 05AE 0300 0745 0315 0062;
+0061 0745 0315 0300 05AE 0062;0061 05AE 0745 0300 0315 0062;0061 05AE 0745 0300 0315 0062;0061 05AE 0745 0300 0315 0062;0061 05AE 0745 0300 0315 0062;
+0061 059A 0316 302A 0746 0062;0061 302A 0316 0746 059A 0062;0061 302A 0316 0746 059A 0062;0061 302A 0316 0746 059A 0062;0061 302A 0316 0746 059A 0062;
+0061 0746 059A 0316 302A 0062;0061 302A 0746 0316 059A 0062;0061 302A 0746 0316 059A 0062;0061 302A 0746 0316 059A 0062;0061 302A 0746 0316 059A 0062;
+0061 0315 0300 05AE 0747 0062;00E0 05AE 0747 0315 0062;0061 05AE 0300 0747 0315 0062;00E0 05AE 0747 0315 0062;0061 05AE 0300 0747 0315 0062;
+0061 0747 0315 0300 05AE 0062;0061 05AE 0747 0300 0315 0062;0061 05AE 0747 0300 0315 0062;0061 05AE 0747 0300 0315 0062;0061 05AE 0747 0300 0315 0062;
+0061 059A 0316 302A 0748 0062;0061 302A 0316 0748 059A 0062;0061 302A 0316 0748 059A 0062;0061 302A 0316 0748 059A 0062;0061 302A 0316 0748 059A 0062;
+0061 0748 059A 0316 302A 0062;0061 302A 0748 0316 059A 0062;0061 302A 0748 0316 059A 0062;0061 302A 0748 0316 059A 0062;0061 302A 0748 0316 059A 0062;
+0061 0315 0300 05AE 0749 0062;00E0 05AE 0749 0315 0062;0061 05AE 0300 0749 0315 0062;00E0 05AE 0749 0315 0062;0061 05AE 0300 0749 0315 0062;
+0061 0749 0315 0300 05AE 0062;0061 05AE 0749 0300 0315 0062;0061 05AE 0749 0300 0315 0062;0061 05AE 0749 0300 0315 0062;0061 05AE 0749 0300 0315 0062;
+0061 0315 0300 05AE 074A 0062;00E0 05AE 074A 0315 0062;0061 05AE 0300 074A 0315 0062;00E0 05AE 074A 0315 0062;0061 05AE 0300 074A 0315 0062;
+0061 074A 0315 0300 05AE 0062;0061 05AE 074A 0300 0315 0062;0061 05AE 074A 0300 0315 0062;0061 05AE 074A 0300 0315 0062;0061 05AE 074A 0300 0315 0062;
+0061 3099 093C 0334 093C 0062;0061 0334 093C 093C 3099 0062;0061 0334 093C 093C 3099 0062;0061 0334 093C 093C 3099 0062;0061 0334 093C 093C 3099 0062;
+0061 093C 3099 093C 0334 0062;0061 0334 093C 093C 3099 0062;0061 0334 093C 093C 3099 0062;0061 0334 093C 093C 3099 0062;0061 0334 093C 093C 3099 0062;
+0061 05B0 094D 3099 094D 0062;0061 3099 094D 094D 05B0 0062;0061 3099 094D 094D 05B0 0062;0061 3099 094D 094D 05B0 0062;0061 3099 094D 094D 05B0 0062;
+0061 094D 05B0 094D 3099 0062;0061 3099 094D 094D 05B0 0062;0061 3099 094D 094D 05B0 0062;0061 3099 094D 094D 05B0 0062;0061 3099 094D 094D 05B0 0062;
+0061 0315 0300 05AE 0951 0062;00E0 05AE 0951 0315 0062;0061 05AE 0300 0951 0315 0062;00E0 05AE 0951 0315 0062;0061 05AE 0300 0951 0315 0062;
+0061 0951 0315 0300 05AE 0062;0061 05AE 0951 0300 0315 0062;0061 05AE 0951 0300 0315 0062;0061 05AE 0951 0300 0315 0062;0061 05AE 0951 0300 0315 0062;
+0061 059A 0316 302A 0952 0062;0061 302A 0316 0952 059A 0062;0061 302A 0316 0952 059A 0062;0061 302A 0316 0952 059A 0062;0061 302A 0316 0952 059A 0062;
+0061 0952 059A 0316 302A 0062;0061 302A 0952 0316 059A 0062;0061 302A 0952 0316 059A 0062;0061 302A 0952 0316 059A 0062;0061 302A 0952 0316 059A 0062;
+0061 0315 0300 05AE 0953 0062;00E0 05AE 0953 0315 0062;0061 05AE 0300 0953 0315 0062;00E0 05AE 0953 0315 0062;0061 05AE 0300 0953 0315 0062;
+0061 0953 0315 0300 05AE 0062;0061 05AE 0953 0300 0315 0062;0061 05AE 0953 0300 0315 0062;0061 05AE 0953 0300 0315 0062;0061 05AE 0953 0300 0315 0062;
+0061 0315 0300 05AE 0954 0062;00E0 05AE 0954 0315 0062;0061 05AE 0300 0954 0315 0062;00E0 05AE 0954 0315 0062;0061 05AE 0300 0954 0315 0062;
+0061 0954 0315 0300 05AE 0062;0061 05AE 0954 0300 0315 0062;0061 05AE 0954 0300 0315 0062;0061 05AE 0954 0300 0315 0062;0061 05AE 0954 0300 0315 0062;
+0061 3099 093C 0334 09BC 0062;0061 0334 093C 09BC 3099 0062;0061 0334 093C 09BC 3099 0062;0061 0334 093C 09BC 3099 0062;0061 0334 093C 09BC 3099 0062;
+0061 09BC 3099 093C 0334 0062;0061 0334 09BC 093C 3099 0062;0061 0334 09BC 093C 3099 0062;0061 0334 09BC 093C 3099 0062;0061 0334 09BC 093C 3099 0062;
+0061 05B0 094D 3099 09CD 0062;0061 3099 094D 09CD 05B0 0062;0061 3099 094D 09CD 05B0 0062;0061 3099 094D 09CD 05B0 0062;0061 3099 094D 09CD 05B0 0062;
+0061 09CD 05B0 094D 3099 0062;0061 3099 09CD 094D 05B0 0062;0061 3099 09CD 094D 05B0 0062;0061 3099 09CD 094D 05B0 0062;0061 3099 09CD 094D 05B0 0062;
+0061 3099 093C 0334 0A3C 0062;0061 0334 093C 0A3C 3099 0062;0061 0334 093C 0A3C 3099 0062;0061 0334 093C 0A3C 3099 0062;0061 0334 093C 0A3C 3099 0062;
+0061 0A3C 3099 093C 0334 0062;0061 0334 0A3C 093C 3099 0062;0061 0334 0A3C 093C 3099 0062;0061 0334 0A3C 093C 3099 0062;0061 0334 0A3C 093C 3099 0062;
+0061 05B0 094D 3099 0A4D 0062;0061 3099 094D 0A4D 05B0 0062;0061 3099 094D 0A4D 05B0 0062;0061 3099 094D 0A4D 05B0 0062;0061 3099 094D 0A4D 05B0 0062;
+0061 0A4D 05B0 094D 3099 0062;0061 3099 0A4D 094D 05B0 0062;0061 3099 0A4D 094D 05B0 0062;0061 3099 0A4D 094D 05B0 0062;0061 3099 0A4D 094D 05B0 0062;
+0061 3099 093C 0334 0ABC 0062;0061 0334 093C 0ABC 3099 0062;0061 0334 093C 0ABC 3099 0062;0061 0334 093C 0ABC 3099 0062;0061 0334 093C 0ABC 3099 0062;
+0061 0ABC 3099 093C 0334 0062;0061 0334 0ABC 093C 3099 0062;0061 0334 0ABC 093C 3099 0062;0061 0334 0ABC 093C 3099 0062;0061 0334 0ABC 093C 3099 0062;
+0061 05B0 094D 3099 0ACD 0062;0061 3099 094D 0ACD 05B0 0062;0061 3099 094D 0ACD 05B0 0062;0061 3099 094D 0ACD 05B0 0062;0061 3099 094D 0ACD 05B0 0062;
+0061 0ACD 05B0 094D 3099 0062;0061 3099 0ACD 094D 05B0 0062;0061 3099 0ACD 094D 05B0 0062;0061 3099 0ACD 094D 05B0 0062;0061 3099 0ACD 094D 05B0 0062;
+0061 3099 093C 0334 0B3C 0062;0061 0334 093C 0B3C 3099 0062;0061 0334 093C 0B3C 3099 0062;0061 0334 093C 0B3C 3099 0062;0061 0334 093C 0B3C 3099 0062;
+0061 0B3C 3099 093C 0334 0062;0061 0334 0B3C 093C 3099 0062;0061 0334 0B3C 093C 3099 0062;0061 0334 0B3C 093C 3099 0062;0061 0334 0B3C 093C 3099 0062;
+0061 05B0 094D 3099 0B4D 0062;0061 3099 094D 0B4D 05B0 0062;0061 3099 094D 0B4D 05B0 0062;0061 3099 094D 0B4D 05B0 0062;0061 3099 094D 0B4D 05B0 0062;
+0061 0B4D 05B0 094D 3099 0062;0061 3099 0B4D 094D 05B0 0062;0061 3099 0B4D 094D 05B0 0062;0061 3099 0B4D 094D 05B0 0062;0061 3099 0B4D 094D 05B0 0062;
+0061 05B0 094D 3099 0BCD 0062;0061 3099 094D 0BCD 05B0 0062;0061 3099 094D 0BCD 05B0 0062;0061 3099 094D 0BCD 05B0 0062;0061 3099 094D 0BCD 05B0 0062;
+0061 0BCD 05B0 094D 3099 0062;0061 3099 0BCD 094D 05B0 0062;0061 3099 0BCD 094D 05B0 0062;0061 3099 0BCD 094D 05B0 0062;0061 3099 0BCD 094D 05B0 0062;
+0061 05B0 094D 3099 0C4D 0062;0061 3099 094D 0C4D 05B0 0062;0061 3099 094D 0C4D 05B0 0062;0061 3099 094D 0C4D 05B0 0062;0061 3099 094D 0C4D 05B0 0062;
+0061 0C4D 05B0 094D 3099 0062;0061 3099 0C4D 094D 05B0 0062;0061 3099 0C4D 094D 05B0 0062;0061 3099 0C4D 094D 05B0 0062;0061 3099 0C4D 094D 05B0 0062;
+0061 0C56 0C55 0711 0C55 0062;0061 0711 0C55 0C55 0C56 0062;0061 0711 0C55 0C55 0C56 0062;0061 0711 0C55 0C55 0C56 0062;0061 0711 0C55 0C55 0C56 0062;
+0061 0C55 0C56 0C55 0711 0062;0061 0711 0C55 0C55 0C56 0062;0061 0711 0C55 0C55 0C56 0062;0061 0711 0C55 0C55 0C56 0062;0061 0711 0C55 0C55 0C56 0062;
+0061 0E38 0C56 0C55 0C56 0062;0061 0C55 0C56 0C56 0E38 0062;0061 0C55 0C56 0C56 0E38 0062;0061 0C55 0C56 0C56 0E38 0062;0061 0C55 0C56 0C56 0E38 0062;
+0061 0C56 0E38 0C56 0C55 0062;0061 0C55 0C56 0C56 0E38 0062;0061 0C55 0C56 0C56 0E38 0062;0061 0C55 0C56 0C56 0E38 0062;0061 0C55 0C56 0C56 0E38 0062;
+0061 05B0 094D 3099 0CCD 0062;0061 3099 094D 0CCD 05B0 0062;0061 3099 094D 0CCD 05B0 0062;0061 3099 094D 0CCD 05B0 0062;0061 3099 094D 0CCD 05B0 0062;
+0061 0CCD 05B0 094D 3099 0062;0061 3099 0CCD 094D 05B0 0062;0061 3099 0CCD 094D 05B0 0062;0061 3099 0CCD 094D 05B0 0062;0061 3099 0CCD 094D 05B0 0062;
+0061 05B0 094D 3099 0D4D 0062;0061 3099 094D 0D4D 05B0 0062;0061 3099 094D 0D4D 05B0 0062;0061 3099 094D 0D4D 05B0 0062;0061 3099 094D 0D4D 05B0 0062;
+0061 0D4D 05B0 094D 3099 0062;0061 3099 0D4D 094D 05B0 0062;0061 3099 0D4D 094D 05B0 0062;0061 3099 0D4D 094D 05B0 0062;0061 3099 0D4D 094D 05B0 0062;
+0061 05B0 094D 3099 0DCA 0062;0061 3099 094D 0DCA 05B0 0062;0061 3099 094D 0DCA 05B0 0062;0061 3099 094D 0DCA 05B0 0062;0061 3099 094D 0DCA 05B0 0062;
+0061 0DCA 05B0 094D 3099 0062;0061 3099 0DCA 094D 05B0 0062;0061 3099 0DCA 094D 05B0 0062;0061 3099 0DCA 094D 05B0 0062;0061 3099 0DCA 094D 05B0 0062;
+0061 0E48 0E38 0C56 0E38 0062;0061 0C56 0E38 0E38 0E48 0062;0061 0C56 0E38 0E38 0E48 0062;0061 0C56 0E38 0E38 0E48 0062;0061 0C56 0E38 0E38 0E48 0062;
+0061 0E38 0E48 0E38 0C56 0062;0061 0C56 0E38 0E38 0E48 0062;0061 0C56 0E38 0E38 0E48 0062;0061 0C56 0E38 0E38 0E48 0062;0061 0C56 0E38 0E38 0E48 0062;
+0061 0E48 0E38 0C56 0E39 0062;0061 0C56 0E38 0E39 0E48 0062;0061 0C56 0E38 0E39 0E48 0062;0061 0C56 0E38 0E39 0E48 0062;0061 0C56 0E38 0E39 0E48 0062;
+0061 0E39 0E48 0E38 0C56 0062;0061 0C56 0E39 0E38 0E48 0062;0061 0C56 0E39 0E38 0E48 0062;0061 0C56 0E39 0E38 0E48 0062;0061 0C56 0E39 0E38 0E48 0062;
+0061 05B0 094D 3099 0E3A 0062;0061 3099 094D 0E3A 05B0 0062;0061 3099 094D 0E3A 05B0 0062;0061 3099 094D 0E3A 05B0 0062;0061 3099 094D 0E3A 05B0 0062;
+0061 0E3A 05B0 094D 3099 0062;0061 3099 0E3A 094D 05B0 0062;0061 3099 0E3A 094D 05B0 0062;0061 3099 0E3A 094D 05B0 0062;0061 3099 0E3A 094D 05B0 0062;
+0061 0EB8 0E48 0E38 0E48 0062;0061 0E38 0E48 0E48 0EB8 0062;0061 0E38 0E48 0E48 0EB8 0062;0061 0E38 0E48 0E48 0EB8 0062;0061 0E38 0E48 0E48 0EB8 0062;
+0061 0E48 0EB8 0E48 0E38 0062;0061 0E38 0E48 0E48 0EB8 0062;0061 0E38 0E48 0E48 0EB8 0062;0061 0E38 0E48 0E48 0EB8 0062;0061 0E38 0E48 0E48 0EB8 0062;
+0061 0EB8 0E48 0E38 0E49 0062;0061 0E38 0E48 0E49 0EB8 0062;0061 0E38 0E48 0E49 0EB8 0062;0061 0E38 0E48 0E49 0EB8 0062;0061 0E38 0E48 0E49 0EB8 0062;
+0061 0E49 0EB8 0E48 0E38 0062;0061 0E38 0E49 0E48 0EB8 0062;0061 0E38 0E49 0E48 0EB8 0062;0061 0E38 0E49 0E48 0EB8 0062;0061 0E38 0E49 0E48 0EB8 0062;
+0061 0EB8 0E48 0E38 0E4A 0062;0061 0E38 0E48 0E4A 0EB8 0062;0061 0E38 0E48 0E4A 0EB8 0062;0061 0E38 0E48 0E4A 0EB8 0062;0061 0E38 0E48 0E4A 0EB8 0062;
+0061 0E4A 0EB8 0E48 0E38 0062;0061 0E38 0E4A 0E48 0EB8 0062;0061 0E38 0E4A 0E48 0EB8 0062;0061 0E38 0E4A 0E48 0EB8 0062;0061 0E38 0E4A 0E48 0EB8 0062;
+0061 0EB8 0E48 0E38 0E4B 0062;0061 0E38 0E48 0E4B 0EB8 0062;0061 0E38 0E48 0E4B 0EB8 0062;0061 0E38 0E48 0E4B 0EB8 0062;0061 0E38 0E48 0E4B 0EB8 0062;
+0061 0E4B 0EB8 0E48 0E38 0062;0061 0E38 0E4B 0E48 0EB8 0062;0061 0E38 0E4B 0E48 0EB8 0062;0061 0E38 0E4B 0E48 0EB8 0062;0061 0E38 0E4B 0E48 0EB8 0062;
+0061 0EC8 0EB8 0E48 0EB8 0062;0061 0E48 0EB8 0EB8 0EC8 0062;0061 0E48 0EB8 0EB8 0EC8 0062;0061 0E48 0EB8 0EB8 0EC8 0062;0061 0E48 0EB8 0EB8 0EC8 0062;
+0061 0EB8 0EC8 0EB8 0E48 0062;0061 0E48 0EB8 0EB8 0EC8 0062;0061 0E48 0EB8 0EB8 0EC8 0062;0061 0E48 0EB8 0EB8 0EC8 0062;0061 0E48 0EB8 0EB8 0EC8 0062;
+0061 0EC8 0EB8 0E48 0EB9 0062;0061 0E48 0EB8 0EB9 0EC8 0062;0061 0E48 0EB8 0EB9 0EC8 0062;0061 0E48 0EB8 0EB9 0EC8 0062;0061 0E48 0EB8 0EB9 0EC8 0062;
+0061 0EB9 0EC8 0EB8 0E48 0062;0061 0E48 0EB9 0EB8 0EC8 0062;0061 0E48 0EB9 0EB8 0EC8 0062;0061 0E48 0EB9 0EB8 0EC8 0062;0061 0E48 0EB9 0EB8 0EC8 0062;
+0061 0F71 0EC8 0EB8 0EC8 0062;0061 0EB8 0EC8 0EC8 0F71 0062;0061 0EB8 0EC8 0EC8 0F71 0062;0061 0EB8 0EC8 0EC8 0F71 0062;0061 0EB8 0EC8 0EC8 0F71 0062;
+0061 0EC8 0F71 0EC8 0EB8 0062;0061 0EB8 0EC8 0EC8 0F71 0062;0061 0EB8 0EC8 0EC8 0F71 0062;0061 0EB8 0EC8 0EC8 0F71 0062;0061 0EB8 0EC8 0EC8 0F71 0062;
+0061 0F71 0EC8 0EB8 0EC9 0062;0061 0EB8 0EC8 0EC9 0F71 0062;0061 0EB8 0EC8 0EC9 0F71 0062;0061 0EB8 0EC8 0EC9 0F71 0062;0061 0EB8 0EC8 0EC9 0F71 0062;
+0061 0EC9 0F71 0EC8 0EB8 0062;0061 0EB8 0EC9 0EC8 0F71 0062;0061 0EB8 0EC9 0EC8 0F71 0062;0061 0EB8 0EC9 0EC8 0F71 0062;0061 0EB8 0EC9 0EC8 0F71 0062;
+0061 0F71 0EC8 0EB8 0ECA 0062;0061 0EB8 0EC8 0ECA 0F71 0062;0061 0EB8 0EC8 0ECA 0F71 0062;0061 0EB8 0EC8 0ECA 0F71 0062;0061 0EB8 0EC8 0ECA 0F71 0062;
+0061 0ECA 0F71 0EC8 0EB8 0062;0061 0EB8 0ECA 0EC8 0F71 0062;0061 0EB8 0ECA 0EC8 0F71 0062;0061 0EB8 0ECA 0EC8 0F71 0062;0061 0EB8 0ECA 0EC8 0F71 0062;
+0061 0F71 0EC8 0EB8 0ECB 0062;0061 0EB8 0EC8 0ECB 0F71 0062;0061 0EB8 0EC8 0ECB 0F71 0062;0061 0EB8 0EC8 0ECB 0F71 0062;0061 0EB8 0EC8 0ECB 0F71 0062;
+0061 0ECB 0F71 0EC8 0EB8 0062;0061 0EB8 0ECB 0EC8 0F71 0062;0061 0EB8 0ECB 0EC8 0F71 0062;0061 0EB8 0ECB 0EC8 0F71 0062;0061 0EB8 0ECB 0EC8 0F71 0062;
+0061 059A 0316 302A 0F18 0062;0061 302A 0316 0F18 059A 0062;0061 302A 0316 0F18 059A 0062;0061 302A 0316 0F18 059A 0062;0061 302A 0316 0F18 059A 0062;
+0061 0F18 059A 0316 302A 0062;0061 302A 0F18 0316 059A 0062;0061 302A 0F18 0316 059A 0062;0061 302A 0F18 0316 059A 0062;0061 302A 0F18 0316 059A 0062;
+0061 059A 0316 302A 0F19 0062;0061 302A 0316 0F19 059A 0062;0061 302A 0316 0F19 059A 0062;0061 302A 0316 0F19 059A 0062;0061 302A 0316 0F19 059A 0062;
+0061 0F19 059A 0316 302A 0062;0061 302A 0F19 0316 059A 0062;0061 302A 0F19 0316 059A 0062;0061 302A 0F19 0316 059A 0062;0061 302A 0F19 0316 059A 0062;
+0061 059A 0316 302A 0F35 0062;0061 302A 0316 0F35 059A 0062;0061 302A 0316 0F35 059A 0062;0061 302A 0316 0F35 059A 0062;0061 302A 0316 0F35 059A 0062;
+0061 0F35 059A 0316 302A 0062;0061 302A 0F35 0316 059A 0062;0061 302A 0F35 0316 059A 0062;0061 302A 0F35 0316 059A 0062;0061 302A 0F35 0316 059A 0062;
+0061 059A 0316 302A 0F37 0062;0061 302A 0316 0F37 059A 0062;0061 302A 0316 0F37 059A 0062;0061 302A 0316 0F37 059A 0062;0061 302A 0316 0F37 059A 0062;
+0061 0F37 059A 0316 302A 0062;0061 302A 0F37 0316 059A 0062;0061 302A 0F37 0316 059A 0062;0061 302A 0F37 0316 059A 0062;0061 302A 0F37 0316 059A 0062;
+0061 302A 031B 0321 0F39 0062;0061 0321 031B 0F39 302A 0062;0061 0321 031B 0F39 302A 0062;0061 0321 031B 0F39 302A 0062;0061 0321 031B 0F39 302A 0062;
+0061 0F39 302A 031B 0321 0062;0061 0321 0F39 031B 302A 0062;0061 0321 0F39 031B 302A 0062;0061 0321 0F39 031B 302A 0062;0061 0321 0F39 031B 302A 0062;
+0061 0F72 0F71 0EC8 0F71 0062;0061 0EC8 0F71 0F71 0F72 0062;0061 0EC8 0F71 0F71 0F72 0062;0061 0EC8 0F71 0F71 0F72 0062;0061 0EC8 0F71 0F71 0F72 0062;
+0061 0F71 0F72 0F71 0EC8 0062;0061 0EC8 0F71 0F71 0F72 0062;0061 0EC8 0F71 0F71 0F72 0062;0061 0EC8 0F71 0F71 0F72 0062;0061 0EC8 0F71 0F71 0F72 0062;
+0061 0F74 0F72 0F71 0F72 0062;0061 0F71 0F72 0F72 0F74 0062;0061 0F71 0F72 0F72 0F74 0062;0061 0F71 0F72 0F72 0F74 0062;0061 0F71 0F72 0F72 0F74 0062;
+0061 0F72 0F74 0F72 0F71 0062;0061 0F71 0F72 0F72 0F74 0062;0061 0F71 0F72 0F72 0F74 0062;0061 0F71 0F72 0F72 0F74 0062;0061 0F71 0F72 0F72 0F74 0062;
+0061 0321 0F74 0F72 0F74 0062;0061 0F72 0F74 0F74 0321 0062;0061 0F72 0F74 0F74 0321 0062;0061 0F72 0F74 0F74 0321 0062;0061 0F72 0F74 0F74 0321 0062;
+0061 0F74 0321 0F74 0F72 0062;0061 0F72 0F74 0F74 0321 0062;0061 0F72 0F74 0F74 0321 0062;0061 0F72 0F74 0F74 0321 0062;0061 0F72 0F74 0F74 0321 0062;
+0061 0F74 0F72 0F71 0F7A 0062;0061 0F71 0F72 0F7A 0F74 0062;0061 0F71 0F72 0F7A 0F74 0062;0061 0F71 0F72 0F7A 0F74 0062;0061 0F71 0F72 0F7A 0F74 0062;
+0061 0F7A 0F74 0F72 0F71 0062;0061 0F71 0F7A 0F72 0F74 0062;0061 0F71 0F7A 0F72 0F74 0062;0061 0F71 0F7A 0F72 0F74 0062;0061 0F71 0F7A 0F72 0F74 0062;
+0061 0F74 0F72 0F71 0F7B 0062;0061 0F71 0F72 0F7B 0F74 0062;0061 0F71 0F72 0F7B 0F74 0062;0061 0F71 0F72 0F7B 0F74 0062;0061 0F71 0F72 0F7B 0F74 0062;
+0061 0F7B 0F74 0F72 0F71 0062;0061 0F71 0F7B 0F72 0F74 0062;0061 0F71 0F7B 0F72 0F74 0062;0061 0F71 0F7B 0F72 0F74 0062;0061 0F71 0F7B 0F72 0F74 0062;
+0061 0F74 0F72 0F71 0F7C 0062;0061 0F71 0F72 0F7C 0F74 0062;0061 0F71 0F72 0F7C 0F74 0062;0061 0F71 0F72 0F7C 0F74 0062;0061 0F71 0F72 0F7C 0F74 0062;
+0061 0F7C 0F74 0F72 0F71 0062;0061 0F71 0F7C 0F72 0F74 0062;0061 0F71 0F7C 0F72 0F74 0062;0061 0F71 0F7C 0F72 0F74 0062;0061 0F71 0F7C 0F72 0F74 0062;
+0061 0F74 0F72 0F71 0F7D 0062;0061 0F71 0F72 0F7D 0F74 0062;0061 0F71 0F72 0F7D 0F74 0062;0061 0F71 0F72 0F7D 0F74 0062;0061 0F71 0F72 0F7D 0F74 0062;
+0061 0F7D 0F74 0F72 0F71 0062;0061 0F71 0F7D 0F72 0F74 0062;0061 0F71 0F7D 0F72 0F74 0062;0061 0F71 0F7D 0F72 0F74 0062;0061 0F71 0F7D 0F72 0F74 0062;
+0061 0F74 0F72 0F71 0F80 0062;0061 0F71 0F72 0F80 0F74 0062;0061 0F71 0F72 0F80 0F74 0062;0061 0F71 0F72 0F80 0F74 0062;0061 0F71 0F72 0F80 0F74 0062;
+0061 0F80 0F74 0F72 0F71 0062;0061 0F71 0F80 0F72 0F74 0062;0061 0F71 0F80 0F72 0F74 0062;0061 0F71 0F80 0F72 0F74 0062;0061 0F71 0F80 0F72 0F74 0062;
+0061 0315 0300 05AE 0F82 0062;00E0 05AE 0F82 0315 0062;0061 05AE 0300 0F82 0315 0062;00E0 05AE 0F82 0315 0062;0061 05AE 0300 0F82 0315 0062;
+0061 0F82 0315 0300 05AE 0062;0061 05AE 0F82 0300 0315 0062;0061 05AE 0F82 0300 0315 0062;0061 05AE 0F82 0300 0315 0062;0061 05AE 0F82 0300 0315 0062;
+0061 0315 0300 05AE 0F83 0062;00E0 05AE 0F83 0315 0062;0061 05AE 0300 0F83 0315 0062;00E0 05AE 0F83 0315 0062;0061 05AE 0300 0F83 0315 0062;
+0061 0F83 0315 0300 05AE 0062;0061 05AE 0F83 0300 0315 0062;0061 05AE 0F83 0300 0315 0062;0061 05AE 0F83 0300 0315 0062;0061 05AE 0F83 0300 0315 0062;
+0061 05B0 094D 3099 0F84 0062;0061 3099 094D 0F84 05B0 0062;0061 3099 094D 0F84 05B0 0062;0061 3099 094D 0F84 05B0 0062;0061 3099 094D 0F84 05B0 0062;
+0061 0F84 05B0 094D 3099 0062;0061 3099 0F84 094D 05B0 0062;0061 3099 0F84 094D 05B0 0062;0061 3099 0F84 094D 05B0 0062;0061 3099 0F84 094D 05B0 0062;
+0061 0315 0300 05AE 0F86 0062;00E0 05AE 0F86 0315 0062;0061 05AE 0300 0F86 0315 0062;00E0 05AE 0F86 0315 0062;0061 05AE 0300 0F86 0315 0062;
+0061 0F86 0315 0300 05AE 0062;0061 05AE 0F86 0300 0315 0062;0061 05AE 0F86 0300 0315 0062;0061 05AE 0F86 0300 0315 0062;0061 05AE 0F86 0300 0315 0062;
+0061 0315 0300 05AE 0F87 0062;00E0 05AE 0F87 0315 0062;0061 05AE 0300 0F87 0315 0062;00E0 05AE 0F87 0315 0062;0061 05AE 0300 0F87 0315 0062;
+0061 0F87 0315 0300 05AE 0062;0061 05AE 0F87 0300 0315 0062;0061 05AE 0F87 0300 0315 0062;0061 05AE 0F87 0300 0315 0062;0061 05AE 0F87 0300 0315 0062;
+0061 059A 0316 302A 0FC6 0062;0061 302A 0316 0FC6 059A 0062;0061 302A 0316 0FC6 059A 0062;0061 302A 0316 0FC6 059A 0062;0061 302A 0316 0FC6 059A 0062;
+0061 0FC6 059A 0316 302A 0062;0061 302A 0FC6 0316 059A 0062;0061 302A 0FC6 0316 059A 0062;0061 302A 0FC6 0316 059A 0062;0061 302A 0FC6 0316 059A 0062;
+0061 3099 093C 0334 1037 0062;0061 0334 093C 1037 3099 0062;0061 0334 093C 1037 3099 0062;0061 0334 093C 1037 3099 0062;0061 0334 093C 1037 3099 0062;
+0061 1037 3099 093C 0334 0062;0061 0334 1037 093C 3099 0062;0061 0334 1037 093C 3099 0062;0061 0334 1037 093C 3099 0062;0061 0334 1037 093C 3099 0062;
+0061 05B0 094D 3099 1039 0062;0061 3099 094D 1039 05B0 0062;0061 3099 094D 1039 05B0 0062;0061 3099 094D 1039 05B0 0062;0061 3099 094D 1039 05B0 0062;
+0061 1039 05B0 094D 3099 0062;0061 3099 1039 094D 05B0 0062;0061 3099 1039 094D 05B0 0062;0061 3099 1039 094D 05B0 0062;0061 3099 1039 094D 05B0 0062;
+0061 05B0 094D 3099 1714 0062;0061 3099 094D 1714 05B0 0062;0061 3099 094D 1714 05B0 0062;0061 3099 094D 1714 05B0 0062;0061 3099 094D 1714 05B0 0062;
+0061 1714 05B0 094D 3099 0062;0061 3099 1714 094D 05B0 0062;0061 3099 1714 094D 05B0 0062;0061 3099 1714 094D 05B0 0062;0061 3099 1714 094D 05B0 0062;
+0061 05B0 094D 3099 1734 0062;0061 3099 094D 1734 05B0 0062;0061 3099 094D 1734 05B0 0062;0061 3099 094D 1734 05B0 0062;0061 3099 094D 1734 05B0 0062;
+0061 1734 05B0 094D 3099 0062;0061 3099 1734 094D 05B0 0062;0061 3099 1734 094D 05B0 0062;0061 3099 1734 094D 05B0 0062;0061 3099 1734 094D 05B0 0062;
+0061 05B0 094D 3099 17D2 0062;0061 3099 094D 17D2 05B0 0062;0061 3099 094D 17D2 05B0 0062;0061 3099 094D 17D2 05B0 0062;0061 3099 094D 17D2 05B0 0062;
+0061 17D2 05B0 094D 3099 0062;0061 3099 17D2 094D 05B0 0062;0061 3099 17D2 094D 05B0 0062;0061 3099 17D2 094D 05B0 0062;0061 3099 17D2 094D 05B0 0062;
+0061 0300 05AE 1D16D 18A9 0062;00E0 1D16D 05AE 18A9 0062;0061 1D16D 05AE 18A9 0300 0062;00E0 1D16D 05AE 18A9 0062;0061 1D16D 05AE 18A9 0300 0062;
+0061 18A9 0300 05AE 1D16D 0062;00E0 1D16D 18A9 05AE 0062;0061 1D16D 18A9 05AE 0300 0062;00E0 1D16D 18A9 05AE 0062;0061 1D16D 18A9 05AE 0300 0062;
+0061 0315 0300 05AE 20D0 0062;00E0 05AE 20D0 0315 0062;0061 05AE 0300 20D0 0315 0062;00E0 05AE 20D0 0315 0062;0061 05AE 0300 20D0 0315 0062;
+0061 20D0 0315 0300 05AE 0062;0061 05AE 20D0 0300 0315 0062;0061 05AE 20D0 0300 0315 0062;0061 05AE 20D0 0300 0315 0062;0061 05AE 20D0 0300 0315 0062;
+0061 0315 0300 05AE 20D1 0062;00E0 05AE 20D1 0315 0062;0061 05AE 0300 20D1 0315 0062;00E0 05AE 20D1 0315 0062;0061 05AE 0300 20D1 0315 0062;
+0061 20D1 0315 0300 05AE 0062;0061 05AE 20D1 0300 0315 0062;0061 05AE 20D1 0300 0315 0062;0061 05AE 20D1 0300 0315 0062;0061 05AE 20D1 0300 0315 0062;
+0061 093C 0334 20D2 0062;0061 0334 20D2 093C 0062;0061 0334 20D2 093C 0062;0061 0334 20D2 093C 0062;0061 0334 20D2 093C 0062;
+0061 20D2 093C 0334 0062;0061 20D2 0334 093C 0062;0061 20D2 0334 093C 0062;0061 20D2 0334 093C 0062;0061 20D2 0334 093C 0062;
+0061 093C 0334 20D3 0062;0061 0334 20D3 093C 0062;0061 0334 20D3 093C 0062;0061 0334 20D3 093C 0062;0061 0334 20D3 093C 0062;
+0061 20D3 093C 0334 0062;0061 20D3 0334 093C 0062;0061 20D3 0334 093C 0062;0061 20D3 0334 093C 0062;0061 20D3 0334 093C 0062;
+0061 0315 0300 05AE 20D4 0062;00E0 05AE 20D4 0315 0062;0061 05AE 0300 20D4 0315 0062;00E0 05AE 20D4 0315 0062;0061 05AE 0300 20D4 0315 0062;
+0061 20D4 0315 0300 05AE 0062;0061 05AE 20D4 0300 0315 0062;0061 05AE 20D4 0300 0315 0062;0061 05AE 20D4 0300 0315 0062;0061 05AE 20D4 0300 0315 0062;
+0061 0315 0300 05AE 20D5 0062;00E0 05AE 20D5 0315 0062;0061 05AE 0300 20D5 0315 0062;00E0 05AE 20D5 0315 0062;0061 05AE 0300 20D5 0315 0062;
+0061 20D5 0315 0300 05AE 0062;0061 05AE 20D5 0300 0315 0062;0061 05AE 20D5 0300 0315 0062;0061 05AE 20D5 0300 0315 0062;0061 05AE 20D5 0300 0315 0062;
+0061 0315 0300 05AE 20D6 0062;00E0 05AE 20D6 0315 0062;0061 05AE 0300 20D6 0315 0062;00E0 05AE 20D6 0315 0062;0061 05AE 0300 20D6 0315 0062;
+0061 20D6 0315 0300 05AE 0062;0061 05AE 20D6 0300 0315 0062;0061 05AE 20D6 0300 0315 0062;0061 05AE 20D6 0300 0315 0062;0061 05AE 20D6 0300 0315 0062;
+0061 0315 0300 05AE 20D7 0062;00E0 05AE 20D7 0315 0062;0061 05AE 0300 20D7 0315 0062;00E0 05AE 20D7 0315 0062;0061 05AE 0300 20D7 0315 0062;
+0061 20D7 0315 0300 05AE 0062;0061 05AE 20D7 0300 0315 0062;0061 05AE 20D7 0300 0315 0062;0061 05AE 20D7 0300 0315 0062;0061 05AE 20D7 0300 0315 0062;
+0061 093C 0334 20D8 0062;0061 0334 20D8 093C 0062;0061 0334 20D8 093C 0062;0061 0334 20D8 093C 0062;0061 0334 20D8 093C 0062;
+0061 20D8 093C 0334 0062;0061 20D8 0334 093C 0062;0061 20D8 0334 093C 0062;0061 20D8 0334 093C 0062;0061 20D8 0334 093C 0062;
+0061 093C 0334 20D9 0062;0061 0334 20D9 093C 0062;0061 0334 20D9 093C 0062;0061 0334 20D9 093C 0062;0061 0334 20D9 093C 0062;
+0061 20D9 093C 0334 0062;0061 20D9 0334 093C 0062;0061 20D9 0334 093C 0062;0061 20D9 0334 093C 0062;0061 20D9 0334 093C 0062;
+0061 093C 0334 20DA 0062;0061 0334 20DA 093C 0062;0061 0334 20DA 093C 0062;0061 0334 20DA 093C 0062;0061 0334 20DA 093C 0062;
+0061 20DA 093C 0334 0062;0061 20DA 0334 093C 0062;0061 20DA 0334 093C 0062;0061 20DA 0334 093C 0062;0061 20DA 0334 093C 0062;
+0061 0315 0300 05AE 20DB 0062;00E0 05AE 20DB 0315 0062;0061 05AE 0300 20DB 0315 0062;00E0 05AE 20DB 0315 0062;0061 05AE 0300 20DB 0315 0062;
+0061 20DB 0315 0300 05AE 0062;0061 05AE 20DB 0300 0315 0062;0061 05AE 20DB 0300 0315 0062;0061 05AE 20DB 0300 0315 0062;0061 05AE 20DB 0300 0315 0062;
+0061 0315 0300 05AE 20DC 0062;00E0 05AE 20DC 0315 0062;0061 05AE 0300 20DC 0315 0062;00E0 05AE 20DC 0315 0062;0061 05AE 0300 20DC 0315 0062;
+0061 20DC 0315 0300 05AE 0062;0061 05AE 20DC 0300 0315 0062;0061 05AE 20DC 0300 0315 0062;0061 05AE 20DC 0300 0315 0062;0061 05AE 20DC 0300 0315 0062;
+0061 0315 0300 05AE 20E1 0062;00E0 05AE 20E1 0315 0062;0061 05AE 0300 20E1 0315 0062;00E0 05AE 20E1 0315 0062;0061 05AE 0300 20E1 0315 0062;
+0061 20E1 0315 0300 05AE 0062;0061 05AE 20E1 0300 0315 0062;0061 05AE 20E1 0300 0315 0062;0061 05AE 20E1 0300 0315 0062;0061 05AE 20E1 0300 0315 0062;
+0061 093C 0334 20E5 0062;0061 0334 20E5 093C 0062;0061 0334 20E5 093C 0062;0061 0334 20E5 093C 0062;0061 0334 20E5 093C 0062;
+0061 20E5 093C 0334 0062;0061 20E5 0334 093C 0062;0061 20E5 0334 093C 0062;0061 20E5 0334 093C 0062;0061 20E5 0334 093C 0062;
+0061 093C 0334 20E6 0062;0061 0334 20E6 093C 0062;0061 0334 20E6 093C 0062;0061 0334 20E6 093C 0062;0061 0334 20E6 093C 0062;
+0061 20E6 093C 0334 0062;0061 20E6 0334 093C 0062;0061 20E6 0334 093C 0062;0061 20E6 0334 093C 0062;0061 20E6 0334 093C 0062;
+0061 0315 0300 05AE 20E7 0062;00E0 05AE 20E7 0315 0062;0061 05AE 0300 20E7 0315 0062;00E0 05AE 20E7 0315 0062;0061 05AE 0300 20E7 0315 0062;
+0061 20E7 0315 0300 05AE 0062;0061 05AE 20E7 0300 0315 0062;0061 05AE 20E7 0300 0315 0062;0061 05AE 20E7 0300 0315 0062;0061 05AE 20E7 0300 0315 0062;
+0061 059A 0316 302A 20E8 0062;0061 302A 0316 20E8 059A 0062;0061 302A 0316 20E8 059A 0062;0061 302A 0316 20E8 059A 0062;0061 302A 0316 20E8 059A 0062;
+0061 20E8 059A 0316 302A 0062;0061 302A 20E8 0316 059A 0062;0061 302A 20E8 0316 059A 0062;0061 302A 20E8 0316 059A 0062;0061 302A 20E8 0316 059A 0062;
+0061 0315 0300 05AE 20E9 0062;00E0 05AE 20E9 0315 0062;0061 05AE 0300 20E9 0315 0062;00E0 05AE 20E9 0315 0062;0061 05AE 0300 20E9 0315 0062;
+0061 20E9 0315 0300 05AE 0062;0061 05AE 20E9 0300 0315 0062;0061 05AE 20E9 0300 0315 0062;0061 05AE 20E9 0300 0315 0062;0061 05AE 20E9 0300 0315 0062;
+0061 093C 0334 20EA 0062;0061 0334 20EA 093C 0062;0061 0334 20EA 093C 0062;0061 0334 20EA 093C 0062;0061 0334 20EA 093C 0062;
+0061 20EA 093C 0334 0062;0061 20EA 0334 093C 0062;0061 20EA 0334 093C 0062;0061 20EA 0334 093C 0062;0061 20EA 0334 093C 0062;
+0061 0316 302A 031B 302A 0062;0061 031B 302A 302A 0316 0062;0061 031B 302A 302A 0316 0062;0061 031B 302A 302A 0316 0062;0061 031B 302A 302A 0316 0062;
+0061 302A 0316 302A 031B 0062;0061 031B 302A 302A 0316 0062;0061 031B 302A 302A 0316 0062;0061 031B 302A 302A 0316 0062;0061 031B 302A 302A 0316 0062;
+0061 0300 05AE 1D16D 302B 0062;00E0 1D16D 05AE 302B 0062;0061 1D16D 05AE 302B 0300 0062;00E0 1D16D 05AE 302B 0062;0061 1D16D 05AE 302B 0300 0062;
+0061 302B 0300 05AE 1D16D 0062;00E0 1D16D 302B 05AE 0062;0061 1D16D 302B 05AE 0300 0062;00E0 1D16D 302B 05AE 0062;0061 1D16D 302B 05AE 0300 0062;
+0061 0362 0315 0300 302C 0062;00E0 0315 302C 0362 0062;0061 0300 0315 302C 0362 0062;00E0 0315 302C 0362 0062;0061 0300 0315 302C 0362 0062;
+0061 302C 0362 0315 0300 0062;00E0 302C 0315 0362 0062;0061 0300 302C 0315 0362 0062;00E0 302C 0315 0362 0062;0061 0300 302C 0315 0362 0062;
+0061 302E 059A 0316 302D 0062;0061 0316 059A 302D 302E 0062;0061 0316 059A 302D 302E 0062;0061 0316 059A 302D 302E 0062;0061 0316 059A 302D 302E 0062;
+0061 302D 302E 059A 0316 0062;0061 0316 302D 059A 302E 0062;0061 0316 302D 059A 302E 0062;0061 0316 302D 059A 302E 0062;0061 0316 302D 059A 302E 0062;
+0061 1D16D 302E 059A 302E 0062;0061 059A 302E 302E 1D16D 0062;0061 059A 302E 302E 1D16D 0062;0061 059A 302E 302E 1D16D 0062;0061 059A 302E 302E 1D16D 0062;
+0061 302E 1D16D 302E 059A 0062;0061 059A 302E 302E 1D16D 0062;0061 059A 302E 302E 1D16D 0062;0061 059A 302E 302E 1D16D 0062;0061 059A 302E 302E 1D16D 0062;
+0061 1D16D 302E 059A 302F 0062;0061 059A 302E 302F 1D16D 0062;0061 059A 302E 302F 1D16D 0062;0061 059A 302E 302F 1D16D 0062;0061 059A 302E 302F 1D16D 0062;
+0061 302F 1D16D 302E 059A 0062;0061 059A 302F 302E 1D16D 0062;0061 059A 302F 302E 1D16D 0062;0061 059A 302F 302E 1D16D 0062;0061 059A 302F 302E 1D16D 0062;
+0061 094D 3099 093C 3099 0062;0061 093C 3099 3099 094D 0062;0061 093C 3099 3099 094D 0062;0061 093C 3099 3099 094D 0062;0061 093C 3099 3099 094D 0062;
+0061 3099 094D 3099 093C 0062;0061 093C 3099 3099 094D 0062;0061 093C 3099 3099 094D 0062;0061 093C 3099 3099 094D 0062;0061 093C 3099 3099 094D 0062;
+0061 094D 3099 093C 309A 0062;0061 093C 3099 309A 094D 0062;0061 093C 3099 309A 094D 0062;0061 093C 3099 309A 094D 0062;0061 093C 3099 309A 094D 0062;
+0061 309A 094D 3099 093C 0062;0061 093C 309A 3099 094D 0062;0061 093C 309A 3099 094D 0062;0061 093C 309A 3099 094D 0062;0061 093C 309A 3099 094D 0062;
+0061 064B FB1E 05C2 FB1E 0062;0061 05C2 FB1E FB1E 064B 0062;0061 05C2 FB1E FB1E 064B 0062;0061 05C2 FB1E FB1E 064B 0062;0061 05C2 FB1E FB1E 064B 0062;
+0061 FB1E 064B FB1E 05C2 0062;0061 05C2 FB1E FB1E 064B 0062;0061 05C2 FB1E FB1E 064B 0062;0061 05C2 FB1E FB1E 064B 0062;0061 05C2 FB1E FB1E 064B 0062;
+0061 0315 0300 05AE FE20 0062;00E0 05AE FE20 0315 0062;0061 05AE 0300 FE20 0315 0062;00E0 05AE FE20 0315 0062;0061 05AE 0300 FE20 0315 0062;
+0061 FE20 0315 0300 05AE 0062;0061 05AE FE20 0300 0315 0062;0061 05AE FE20 0300 0315 0062;0061 05AE FE20 0300 0315 0062;0061 05AE FE20 0300 0315 0062;
+0061 0315 0300 05AE FE21 0062;00E0 05AE FE21 0315 0062;0061 05AE 0300 FE21 0315 0062;00E0 05AE FE21 0315 0062;0061 05AE 0300 FE21 0315 0062;
+0061 FE21 0315 0300 05AE 0062;0061 05AE FE21 0300 0315 0062;0061 05AE FE21 0300 0315 0062;0061 05AE FE21 0300 0315 0062;0061 05AE FE21 0300 0315 0062;
+0061 0315 0300 05AE FE22 0062;00E0 05AE FE22 0315 0062;0061 05AE 0300 FE22 0315 0062;00E0 05AE FE22 0315 0062;0061 05AE 0300 FE22 0315 0062;
+0061 FE22 0315 0300 05AE 0062;0061 05AE FE22 0300 0315 0062;0061 05AE FE22 0300 0315 0062;0061 05AE FE22 0300 0315 0062;0061 05AE FE22 0300 0315 0062;
+0061 0315 0300 05AE FE23 0062;00E0 05AE FE23 0315 0062;0061 05AE 0300 FE23 0315 0062;00E0 05AE FE23 0315 0062;0061 05AE 0300 FE23 0315 0062;
+0061 FE23 0315 0300 05AE 0062;0061 05AE FE23 0300 0315 0062;0061 05AE FE23 0300 0315 0062;0061 05AE FE23 0300 0315 0062;0061 05AE FE23 0300 0315 0062;
+0061 302A 031B 0321 1D165 0062;0061 0321 031B 1D165 302A 0062;0061 0321 031B 1D165 302A 0062;0061 0321 031B 1D165 302A 0062;0061 0321 031B 1D165 302A 0062;
+0061 1D165 302A 031B 0321 0062;0061 0321 1D165 031B 302A 0062;0061 0321 1D165 031B 302A 0062;0061 0321 1D165 031B 302A 0062;0061 0321 1D165 031B 302A 0062;
+0061 302A 031B 0321 1D166 0062;0061 0321 031B 1D166 302A 0062;0061 0321 031B 1D166 302A 0062;0061 0321 031B 1D166 302A 0062;0061 0321 031B 1D166 302A 0062;
+0061 1D166 302A 031B 0321 0062;0061 0321 1D166 031B 302A 0062;0061 0321 1D166 031B 302A 0062;0061 0321 1D166 031B 302A 0062;0061 0321 1D166 031B 302A 0062;
+0061 093C 0334 1D167 0062;0061 0334 1D167 093C 0062;0061 0334 1D167 093C 0062;0061 0334 1D167 093C 0062;0061 0334 1D167 093C 0062;
+0061 1D167 093C 0334 0062;0061 1D167 0334 093C 0062;0061 1D167 0334 093C 0062;0061 1D167 0334 093C 0062;0061 1D167 0334 093C 0062;
+0061 093C 0334 1D168 0062;0061 0334 1D168 093C 0062;0061 0334 1D168 093C 0062;0061 0334 1D168 093C 0062;0061 0334 1D168 093C 0062;
+0061 1D168 093C 0334 0062;0061 1D168 0334 093C 0062;0061 1D168 0334 093C 0062;0061 1D168 0334 093C 0062;0061 1D168 0334 093C 0062;
+0061 093C 0334 1D169 0062;0061 0334 1D169 093C 0062;0061 0334 1D169 093C 0062;0061 0334 1D169 093C 0062;0061 0334 1D169 093C 0062;
+0061 1D169 093C 0334 0062;0061 1D169 0334 093C 0062;0061 1D169 0334 093C 0062;0061 1D169 0334 093C 0062;0061 1D169 0334 093C 0062;
+0061 05AE 1D16D 302E 1D16D 0062;0061 302E 1D16D 1D16D 05AE 0062;0061 302E 1D16D 1D16D 05AE 0062;0061 302E 1D16D 1D16D 05AE 0062;0061 302E 1D16D 1D16D 05AE 0062;
+0061 1D16D 05AE 1D16D 302E 0062;0061 302E 1D16D 1D16D 05AE 0062;0061 302E 1D16D 1D16D 05AE 0062;0061 302E 1D16D 1D16D 05AE 0062;0061 302E 1D16D 1D16D 05AE 0062;
+0061 302A 031B 0321 1D16E 0062;0061 0321 031B 1D16E 302A 0062;0061 0321 031B 1D16E 302A 0062;0061 0321 031B 1D16E 302A 0062;0061 0321 031B 1D16E 302A 0062;
+0061 1D16E 302A 031B 0321 0062;0061 0321 1D16E 031B 302A 0062;0061 0321 1D16E 031B 302A 0062;0061 0321 1D16E 031B 302A 0062;0061 0321 1D16E 031B 302A 0062;
+0061 302A 031B 0321 1D16F 0062;0061 0321 031B 1D16F 302A 0062;0061 0321 031B 1D16F 302A 0062;0061 0321 031B 1D16F 302A 0062;0061 0321 031B 1D16F 302A 0062;
+0061 1D16F 302A 031B 0321 0062;0061 0321 1D16F 031B 302A 0062;0061 0321 1D16F 031B 302A 0062;0061 0321 1D16F 031B 302A 0062;0061 0321 1D16F 031B 302A 0062;
+0061 302A 031B 0321 1D170 0062;0061 0321 031B 1D170 302A 0062;0061 0321 031B 1D170 302A 0062;0061 0321 031B 1D170 302A 0062;0061 0321 031B 1D170 302A 0062;
+0061 1D170 302A 031B 0321 0062;0061 0321 1D170 031B 302A 0062;0061 0321 1D170 031B 302A 0062;0061 0321 1D170 031B 302A 0062;0061 0321 1D170 031B 302A 0062;
+0061 302A 031B 0321 1D171 0062;0061 0321 031B 1D171 302A 0062;0061 0321 031B 1D171 302A 0062;0061 0321 031B 1D171 302A 0062;0061 0321 031B 1D171 302A 0062;
+0061 1D171 302A 031B 0321 0062;0061 0321 1D171 031B 302A 0062;0061 0321 1D171 031B 302A 0062;0061 0321 1D171 031B 302A 0062;0061 0321 1D171 031B 302A 0062;
+0061 302A 031B 0321 1D172 0062;0061 0321 031B 1D172 302A 0062;0061 0321 031B 1D172 302A 0062;0061 0321 031B 1D172 302A 0062;0061 0321 031B 1D172 302A 0062;
+0061 1D172 302A 031B 0321 0062;0061 0321 1D172 031B 302A 0062;0061 0321 1D172 031B 302A 0062;0061 0321 1D172 031B 302A 0062;0061 0321 1D172 031B 302A 0062;
+0061 059A 0316 302A 1D17B 0062;0061 302A 0316 1D17B 059A 0062;0061 302A 0316 1D17B 059A 0062;0061 302A 0316 1D17B 059A 0062;0061 302A 0316 1D17B 059A 0062;
+0061 1D17B 059A 0316 302A 0062;0061 302A 1D17B 0316 059A 0062;0061 302A 1D17B 0316 059A 0062;0061 302A 1D17B 0316 059A 0062;0061 302A 1D17B 0316 059A 0062;
+0061 059A 0316 302A 1D17C 0062;0061 302A 0316 1D17C 059A 0062;0061 302A 0316 1D17C 059A 0062;0061 302A 0316 1D17C 059A 0062;0061 302A 0316 1D17C 059A 0062;
+0061 1D17C 059A 0316 302A 0062;0061 302A 1D17C 0316 059A 0062;0061 302A 1D17C 0316 059A 0062;0061 302A 1D17C 0316 059A 0062;0061 302A 1D17C 0316 059A 0062;
+0061 059A 0316 302A 1D17D 0062;0061 302A 0316 1D17D 059A 0062;0061 302A 0316 1D17D 059A 0062;0061 302A 0316 1D17D 059A 0062;0061 302A 0316 1D17D 059A 0062;
+0061 1D17D 059A 0316 302A 0062;0061 302A 1D17D 0316 059A 0062;0061 302A 1D17D 0316 059A 0062;0061 302A 1D17D 0316 059A 0062;0061 302A 1D17D 0316 059A 0062;
+0061 059A 0316 302A 1D17E 0062;0061 302A 0316 1D17E 059A 0062;0061 302A 0316 1D17E 059A 0062;0061 302A 0316 1D17E 059A 0062;0061 302A 0316 1D17E 059A 0062;
+0061 1D17E 059A 0316 302A 0062;0061 302A 1D17E 0316 059A 0062;0061 302A 1D17E 0316 059A 0062;0061 302A 1D17E 0316 059A 0062;0061 302A 1D17E 0316 059A 0062;
+0061 059A 0316 302A 1D17F 0062;0061 302A 0316 1D17F 059A 0062;0061 302A 0316 1D17F 059A 0062;0061 302A 0316 1D17F 059A 0062;0061 302A 0316 1D17F 059A 0062;
+0061 1D17F 059A 0316 302A 0062;0061 302A 1D17F 0316 059A 0062;0061 302A 1D17F 0316 059A 0062;0061 302A 1D17F 0316 059A 0062;0061 302A 1D17F 0316 059A 0062;
+0061 059A 0316 302A 1D180 0062;0061 302A 0316 1D180 059A 0062;0061 302A 0316 1D180 059A 0062;0061 302A 0316 1D180 059A 0062;0061 302A 0316 1D180 059A 0062;
+0061 1D180 059A 0316 302A 0062;0061 302A 1D180 0316 059A 0062;0061 302A 1D180 0316 059A 0062;0061 302A 1D180 0316 059A 0062;0061 302A 1D180 0316 059A 0062;
+0061 059A 0316 302A 1D181 0062;0061 302A 0316 1D181 059A 0062;0061 302A 0316 1D181 059A 0062;0061 302A 0316 1D181 059A 0062;0061 302A 0316 1D181 059A 0062;
+0061 1D181 059A 0316 302A 0062;0061 302A 1D181 0316 059A 0062;0061 302A 1D181 0316 059A 0062;0061 302A 1D181 0316 059A 0062;0061 302A 1D181 0316 059A 0062;
+0061 059A 0316 302A 1D182 0062;0061 302A 0316 1D182 059A 0062;0061 302A 0316 1D182 059A 0062;0061 302A 0316 1D182 059A 0062;0061 302A 0316 1D182 059A 0062;
+0061 1D182 059A 0316 302A 0062;0061 302A 1D182 0316 059A 0062;0061 302A 1D182 0316 059A 0062;0061 302A 1D182 0316 059A 0062;0061 302A 1D182 0316 059A 0062;
+0061 0315 0300 05AE 1D185 0062;00E0 05AE 1D185 0315 0062;0061 05AE 0300 1D185 0315 0062;00E0 05AE 1D185 0315 0062;0061 05AE 0300 1D185 0315 0062;
+0061 1D185 0315 0300 05AE 0062;0061 05AE 1D185 0300 0315 0062;0061 05AE 1D185 0300 0315 0062;0061 05AE 1D185 0300 0315 0062;0061 05AE 1D185 0300 0315 0062;
+0061 0315 0300 05AE 1D186 0062;00E0 05AE 1D186 0315 0062;0061 05AE 0300 1D186 0315 0062;00E0 05AE 1D186 0315 0062;0061 05AE 0300 1D186 0315 0062;
+0061 1D186 0315 0300 05AE 0062;0061 05AE 1D186 0300 0315 0062;0061 05AE 1D186 0300 0315 0062;0061 05AE 1D186 0300 0315 0062;0061 05AE 1D186 0300 0315 0062;
+0061 0315 0300 05AE 1D187 0062;00E0 05AE 1D187 0315 0062;0061 05AE 0300 1D187 0315 0062;00E0 05AE 1D187 0315 0062;0061 05AE 0300 1D187 0315 0062;
+0061 1D187 0315 0300 05AE 0062;0061 05AE 1D187 0300 0315 0062;0061 05AE 1D187 0300 0315 0062;0061 05AE 1D187 0300 0315 0062;0061 05AE 1D187 0300 0315 0062;
+0061 0315 0300 05AE 1D188 0062;00E0 05AE 1D188 0315 0062;0061 05AE 0300 1D188 0315 0062;00E0 05AE 1D188 0315 0062;0061 05AE 0300 1D188 0315 0062;
+0061 1D188 0315 0300 05AE 0062;0061 05AE 1D188 0300 0315 0062;0061 05AE 1D188 0300 0315 0062;0061 05AE 1D188 0300 0315 0062;0061 05AE 1D188 0300 0315 0062;
+0061 0315 0300 05AE 1D189 0062;00E0 05AE 1D189 0315 0062;0061 05AE 0300 1D189 0315 0062;00E0 05AE 1D189 0315 0062;0061 05AE 0300 1D189 0315 0062;
+0061 1D189 0315 0300 05AE 0062;0061 05AE 1D189 0300 0315 0062;0061 05AE 1D189 0300 0315 0062;0061 05AE 1D189 0300 0315 0062;0061 05AE 1D189 0300 0315 0062;
+0061 059A 0316 302A 1D18A 0062;0061 302A 0316 1D18A 059A 0062;0061 302A 0316 1D18A 059A 0062;0061 302A 0316 1D18A 059A 0062;0061 302A 0316 1D18A 059A 0062;
+0061 1D18A 059A 0316 302A 0062;0061 302A 1D18A 0316 059A 0062;0061 302A 1D18A 0316 059A 0062;0061 302A 1D18A 0316 059A 0062;0061 302A 1D18A 0316 059A 0062;
+0061 059A 0316 302A 1D18B 0062;0061 302A 0316 1D18B 059A 0062;0061 302A 0316 1D18B 059A 0062;0061 302A 0316 1D18B 059A 0062;0061 302A 0316 1D18B 059A 0062;
+0061 1D18B 059A 0316 302A 0062;0061 302A 1D18B 0316 059A 0062;0061 302A 1D18B 0316 059A 0062;0061 302A 1D18B 0316 059A 0062;0061 302A 1D18B 0316 059A 0062;
+0061 0315 0300 05AE 1D1AA 0062;00E0 05AE 1D1AA 0315 0062;0061 05AE 0300 1D1AA 0315 0062;00E0 05AE 1D1AA 0315 0062;0061 05AE 0300 1D1AA 0315 0062;
+0061 1D1AA 0315 0300 05AE 0062;0061 05AE 1D1AA 0300 0315 0062;0061 05AE 1D1AA 0300 0315 0062;0061 05AE 1D1AA 0300 0315 0062;0061 05AE 1D1AA 0300 0315 0062;
+0061 0315 0300 05AE 1D1AB 0062;00E0 05AE 1D1AB 0315 0062;0061 05AE 0300 1D1AB 0315 0062;00E0 05AE 1D1AB 0315 0062;0061 05AE 0300 1D1AB 0315 0062;
+0061 1D1AB 0315 0300 05AE 0062;0061 05AE 1D1AB 0300 0315 0062;0061 05AE 1D1AB 0300 0315 0062;0061 05AE 1D1AB 0300 0315 0062;0061 05AE 1D1AB 0300 0315 0062;
+0061 0315 0300 05AE 1D1AC 0062;00E0 05AE 1D1AC 0315 0062;0061 05AE 0300 1D1AC 0315 0062;00E0 05AE 1D1AC 0315 0062;0061 05AE 0300 1D1AC 0315 0062;
+0061 1D1AC 0315 0300 05AE 0062;0061 05AE 1D1AC 0300 0315 0062;0061 05AE 1D1AC 0300 0315 0062;0061 05AE 1D1AC 0300 0315 0062;0061 05AE 1D1AC 0300 0315 0062;
+0061 0315 0300 05AE 1D1AD 0062;00E0 05AE 1D1AD 0315 0062;0061 05AE 0300 1D1AD 0315 0062;00E0 05AE 1D1AD 0315 0062;0061 05AE 0300 1D1AD 0315 0062;
+0061 1D1AD 0315 0300 05AE 0062;0061 05AE 1D1AD 0300 0315 0062;0061 05AE 1D1AD 0300 0315 0062;0061 05AE 1D1AD 0300 0315 0062;0061 05AE 1D1AD 0300 0315 0062;
+#
+# END OF FILE
diff --git a/src/com/ibm/icu/dev/data/unicode/NormalizationTest.txt b/src/com/ibm/icu/dev/data/unicode/NormalizationTest.txt
new file mode 100644
index 0000000..925e4f6
--- /dev/null
+++ b/src/com/ibm/icu/dev/data/unicode/NormalizationTest.txt
@@ -0,0 +1,17558 @@
+# NormalizationTest-4.1.0.txt
+# Date: 2005-03-26, 00:33:29 GMT [MD]
+#
+# Unicode Character Database
+# Copyright (c) 1991-2005 Unicode, Inc.
+# For terms of use, see http://www.unicode.org/terms_of_use.html
+# For documentation, see UCD.html
+#
+# Normalization Test Suite
+# Format:
+#
+#   Columns (c1, c2,...) are separated by semicolons
+#   Comments are indicated with hash marks
+#
+# CONFORMANCE:
+# 1. The following invariants must be true for all conformant implementations
+#
+#    NFC
+#      c2 ==  NFC(c1) ==  NFC(c2) ==  NFC(c3)
+#      c4 ==  NFC(c4) ==  NFC(c5)
+#
+#    NFD
+#      c3 ==  NFD(c1) ==  NFD(c2) ==  NFD(c3)
+#      c5 ==  NFD(c4) ==  NFD(c5)
+#
+#    NFKC
+#      c4 == NFKC(c1) == NFKC(c2) == NFKC(c3) == NFKC(c4) == NFKC(c5)
+#
+#    NFKD
+#      c5 == NFKD(c1) == NFKD(c2) == NFKD(c3) == NFKD(c4) == NFKD(c5)
+#
+# 2. For every code point X assigned in this version of Unicode that is not specifically
+#    listed in Part 1, the following invariants must be true for all conformant
+#    implementations:
+#
+#      X == NFC(X) == NFD(X) == NFKC(X) == NFKD(X)
+#
+@Part0 # Specific cases
+#
+1E0A;1E0A;0044 0307;1E0A;0044 0307;
+1E0C;1E0C;0044 0323;1E0C;0044 0323;
+1E0A 0323;1E0C 0307;0044 0323 0307;1E0C 0307;0044 0323 0307;
+1E0C 0307;1E0C 0307;0044 0323 0307;1E0C 0307;0044 0323 0307;
+0044 0307 0323;1E0C 0307;0044 0323 0307;1E0C 0307;0044 0323 0307;
+0044 0323 0307;1E0C 0307;0044 0323 0307;1E0C 0307;0044 0323 0307;
+1E0A 031B;1E0A 031B;0044 031B 0307;1E0A 031B;0044 031B 0307;
+1E0C 031B;1E0C 031B;0044 031B 0323;1E0C 031B;0044 031B 0323;
+1E0A 031B 0323;1E0C 031B 0307;0044 031B 0323 0307;1E0C 031B 0307;0044 031B 0323 0307;
+1E0C 031B 0307;1E0C 031B 0307;0044 031B 0323 0307;1E0C 031B 0307;0044 031B 0323 0307;
+0044 031B 0307 0323;1E0C 031B 0307;0044 031B 0323 0307;1E0C 031B 0307;0044 031B 0323 0307;
+0044 031B 0323 0307;1E0C 031B 0307;0044 031B 0323 0307;1E0C 031B 0307;0044 031B 0323 0307;
+00C8;00C8;0045 0300;00C8;0045 0300;
+0112;0112;0045 0304;0112;0045 0304;
+0045 0300;00C8;0045 0300;00C8;0045 0300;
+0045 0304;0112;0045 0304;0112;0045 0304;
+1E14;1E14;0045 0304 0300;1E14;0045 0304 0300;
+0112 0300;1E14;0045 0304 0300;1E14;0045 0304 0300;
+1E14 0304;1E14 0304;0045 0304 0300 0304;1E14 0304;0045 0304 0300 0304;
+0045 0304 0300;1E14;0045 0304 0300;1E14;0045 0304 0300;
+0045 0300 0304;00C8 0304;0045 0300 0304;00C8 0304;0045 0300 0304;
+05B8 05B9 05B1 0591 05C3 05B0 05AC 059F;05B1 05B8 05B9 0591 05C3 05B0 05AC 059F;05B1 05B8 05B9 0591 05C3 05B0 05AC 059F;05B1 05B8 05B9 0591 05C3 05B0 05AC 059F;05B1 05B8 05B9 0591 05C3 05B0 05AC 059F;
+0592 05B7 05BC 05A5 05B0 05C0 05C4 05AD;05B0 05B7 05BC 05A5 0592 05C0 05AD 05C4;05B0 05B7 05BC 05A5 0592 05C0 05AD 05C4;05B0 05B7 05BC 05A5 0592 05C0 05AD 05C4;05B0 05B7 05BC 05A5 0592 05C0 05AD 05C4;
+#
+@Part1 # Character by character test
+# All characters not explicitly occurring in c1 of Part 1 have identical NFC, D, KC, KD forms.
+#
+00A0;00A0;00A0;0020;0020;
+00A8;00A8;00A8;0020 0308;0020 0308;
+00AA;00AA;00AA;0061;0061;
+00AF;00AF;00AF;0020 0304;0020 0304;
+00B2;00B2;00B2;0032;0032;
+00B3;00B3;00B3;0033;0033;
+00B4;00B4;00B4;0020 0301;0020 0301;
+00B5;00B5;00B5;03BC;03BC;
+00B8;00B8;00B8;0020 0327;0020 0327;
+00B9;00B9;00B9;0031;0031;
+00BA;00BA;00BA;006F;006F;
+00BC;00BC;00BC;0031 2044 0034;0031 2044 0034;
+00BD;00BD;00BD;0031 2044 0032;0031 2044 0032;
+00BE;00BE;00BE;0033 2044 0034;0033 2044 0034;
+00C0;00C0;0041 0300;00C0;0041 0300;
+00C1;00C1;0041 0301;00C1;0041 0301;
+00C2;00C2;0041 0302;00C2;0041 0302;
+00C3;00C3;0041 0303;00C3;0041 0303;
+00C4;00C4;0041 0308;00C4;0041 0308;
+00C5;00C5;0041 030A;00C5;0041 030A;
+00C7;00C7;0043 0327;00C7;0043 0327;
+00C8;00C8;0045 0300;00C8;0045 0300;
+00C9;00C9;0045 0301;00C9;0045 0301;
+00CA;00CA;0045 0302;00CA;0045 0302;
+00CB;00CB;0045 0308;00CB;0045 0308;
+00CC;00CC;0049 0300;00CC;0049 0300;
+00CD;00CD;0049 0301;00CD;0049 0301;
+00CE;00CE;0049 0302;00CE;0049 0302;
+00CF;00CF;0049 0308;00CF;0049 0308;
+00D1;00D1;004E 0303;00D1;004E 0303;
+00D2;00D2;004F 0300;00D2;004F 0300;
+00D3;00D3;004F 0301;00D3;004F 0301;
+00D4;00D4;004F 0302;00D4;004F 0302;
+00D5;00D5;004F 0303;00D5;004F 0303;
+00D6;00D6;004F 0308;00D6;004F 0308;
+00D9;00D9;0055 0300;00D9;0055 0300;
+00DA;00DA;0055 0301;00DA;0055 0301;
+00DB;00DB;0055 0302;00DB;0055 0302;
+00DC;00DC;0055 0308;00DC;0055 0308;
+00DD;00DD;0059 0301;00DD;0059 0301;
+00E0;00E0;0061 0300;00E0;0061 0300;
+00E1;00E1;0061 0301;00E1;0061 0301;
+00E2;00E2;0061 0302;00E2;0061 0302;
+00E3;00E3;0061 0303;00E3;0061 0303;
+00E4;00E4;0061 0308;00E4;0061 0308;
+00E5;00E5;0061 030A;00E5;0061 030A;
+00E7;00E7;0063 0327;00E7;0063 0327;
+00E8;00E8;0065 0300;00E8;0065 0300;
+00E9;00E9;0065 0301;00E9;0065 0301;
+00EA;00EA;0065 0302;00EA;0065 0302;
+00EB;00EB;0065 0308;00EB;0065 0308;
+00EC;00EC;0069 0300;00EC;0069 0300;
+00ED;00ED;0069 0301;00ED;0069 0301;
+00EE;00EE;0069 0302;00EE;0069 0302;
+00EF;00EF;0069 0308;00EF;0069 0308;
+00F1;00F1;006E 0303;00F1;006E 0303;
+00F2;00F2;006F 0300;00F2;006F 0300;
+00F3;00F3;006F 0301;00F3;006F 0301;
+00F4;00F4;006F 0302;00F4;006F 0302;
+00F5;00F5;006F 0303;00F5;006F 0303;
+00F6;00F6;006F 0308;00F6;006F 0308;
+00F9;00F9;0075 0300;00F9;0075 0300;
+00FA;00FA;0075 0301;00FA;0075 0301;
+00FB;00FB;0075 0302;00FB;0075 0302;
+00FC;00FC;0075 0308;00FC;0075 0308;
+00FD;00FD;0079 0301;00FD;0079 0301;
+00FF;00FF;0079 0308;00FF;0079 0308;
+0100;0100;0041 0304;0100;0041 0304;
+0101;0101;0061 0304;0101;0061 0304;
+0102;0102;0041 0306;0102;0041 0306;
+0103;0103;0061 0306;0103;0061 0306;
+0104;0104;0041 0328;0104;0041 0328;
+0105;0105;0061 0328;0105;0061 0328;
+0106;0106;0043 0301;0106;0043 0301;
+0107;0107;0063 0301;0107;0063 0301;
+0108;0108;0043 0302;0108;0043 0302;
+0109;0109;0063 0302;0109;0063 0302;
+010A;010A;0043 0307;010A;0043 0307;
+010B;010B;0063 0307;010B;0063 0307;
+010C;010C;0043 030C;010C;0043 030C;
+010D;010D;0063 030C;010D;0063 030C;
+010E;010E;0044 030C;010E;0044 030C;
+010F;010F;0064 030C;010F;0064 030C;
+0112;0112;0045 0304;0112;0045 0304;
+0113;0113;0065 0304;0113;0065 0304;
+0114;0114;0045 0306;0114;0045 0306;
+0115;0115;0065 0306;0115;0065 0306;
+0116;0116;0045 0307;0116;0045 0307;
+0117;0117;0065 0307;0117;0065 0307;
+0118;0118;0045 0328;0118;0045 0328;
+0119;0119;0065 0328;0119;0065 0328;
+011A;011A;0045 030C;011A;0045 030C;
+011B;011B;0065 030C;011B;0065 030C;
+011C;011C;0047 0302;011C;0047 0302;
+011D;011D;0067 0302;011D;0067 0302;
+011E;011E;0047 0306;011E;0047 0306;
+011F;011F;0067 0306;011F;0067 0306;
+0120;0120;0047 0307;0120;0047 0307;
+0121;0121;0067 0307;0121;0067 0307;
+0122;0122;0047 0327;0122;0047 0327;
+0123;0123;0067 0327;0123;0067 0327;
+0124;0124;0048 0302;0124;0048 0302;
+0125;0125;0068 0302;0125;0068 0302;
+0128;0128;0049 0303;0128;0049 0303;
+0129;0129;0069 0303;0129;0069 0303;
+012A;012A;0049 0304;012A;0049 0304;
+012B;012B;0069 0304;012B;0069 0304;
+012C;012C;0049 0306;012C;0049 0306;
+012D;012D;0069 0306;012D;0069 0306;
+012E;012E;0049 0328;012E;0049 0328;
+012F;012F;0069 0328;012F;0069 0328;
+0130;0130;0049 0307;0130;0049 0307;
+0132;0132;0132;0049 004A;0049 004A;
+0133;0133;0133;0069 006A;0069 006A;
+0134;0134;004A 0302;0134;004A 0302;
+0135;0135;006A 0302;0135;006A 0302;
+0136;0136;004B 0327;0136;004B 0327;
+0137;0137;006B 0327;0137;006B 0327;
+0139;0139;004C 0301;0139;004C 0301;
+013A;013A;006C 0301;013A;006C 0301;
+013B;013B;004C 0327;013B;004C 0327;
+013C;013C;006C 0327;013C;006C 0327;
+013D;013D;004C 030C;013D;004C 030C;
+013E;013E;006C 030C;013E;006C 030C;
+013F;013F;013F;004C 00B7;004C 00B7;
+0140;0140;0140;006C 00B7;006C 00B7;
+0143;0143;004E 0301;0143;004E 0301;
+0144;0144;006E 0301;0144;006E 0301;
+0145;0145;004E 0327;0145;004E 0327;
+0146;0146;006E 0327;0146;006E 0327;
+0147;0147;004E 030C;0147;004E 030C;
+0148;0148;006E 030C;0148;006E 030C;
+0149;0149;0149;02BC 006E;02BC 006E;
+014C;014C;004F 0304;014C;004F 0304;
+014D;014D;006F 0304;014D;006F 0304;
+014E;014E;004F 0306;014E;004F 0306;
+014F;014F;006F 0306;014F;006F 0306;
+0150;0150;004F 030B;0150;004F 030B;
+0151;0151;006F 030B;0151;006F 030B;
+0154;0154;0052 0301;0154;0052 0301;
+0155;0155;0072 0301;0155;0072 0301;
+0156;0156;0052 0327;0156;0052 0327;
+0157;0157;0072 0327;0157;0072 0327;
+0158;0158;0052 030C;0158;0052 030C;
+0159;0159;0072 030C;0159;0072 030C;
+015A;015A;0053 0301;015A;0053 0301;
+015B;015B;0073 0301;015B;0073 0301;
+015C;015C;0053 0302;015C;0053 0302;
+015D;015D;0073 0302;015D;0073 0302;
+015E;015E;0053 0327;015E;0053 0327;
+015F;015F;0073 0327;015F;0073 0327;
+0160;0160;0053 030C;0160;0053 030C;
+0161;0161;0073 030C;0161;0073 030C;
+0162;0162;0054 0327;0162;0054 0327;
+0163;0163;0074 0327;0163;0074 0327;
+0164;0164;0054 030C;0164;0054 030C;
+0165;0165;0074 030C;0165;0074 030C;
+0168;0168;0055 0303;0168;0055 0303;
+0169;0169;0075 0303;0169;0075 0303;
+016A;016A;0055 0304;016A;0055 0304;
+016B;016B;0075 0304;016B;0075 0304;
+016C;016C;0055 0306;016C;0055 0306;
+016D;016D;0075 0306;016D;0075 0306;
+016E;016E;0055 030A;016E;0055 030A;
+016F;016F;0075 030A;016F;0075 030A;
+0170;0170;0055 030B;0170;0055 030B;
+0171;0171;0075 030B;0171;0075 030B;
+0172;0172;0055 0328;0172;0055 0328;
+0173;0173;0075 0328;0173;0075 0328;
+0174;0174;0057 0302;0174;0057 0302;
+0175;0175;0077 0302;0175;0077 0302;
+0176;0176;0059 0302;0176;0059 0302;
+0177;0177;0079 0302;0177;0079 0302;
+0178;0178;0059 0308;0178;0059 0308;
+0179;0179;005A 0301;0179;005A 0301;
+017A;017A;007A 0301;017A;007A 0301;
+017B;017B;005A 0307;017B;005A 0307;
+017C;017C;007A 0307;017C;007A 0307;
+017D;017D;005A 030C;017D;005A 030C;
+017E;017E;007A 030C;017E;007A 030C;
+017F;017F;017F;0073;0073;
+01A0;01A0;004F 031B;01A0;004F 031B;
+01A1;01A1;006F 031B;01A1;006F 031B;
+01AF;01AF;0055 031B;01AF;0055 031B;
+01B0;01B0;0075 031B;01B0;0075 031B;
+01C4;01C4;01C4;0044 017D;0044 005A 030C;
+01C5;01C5;01C5;0044 017E;0044 007A 030C;
+01C6;01C6;01C6;0064 017E;0064 007A 030C;
+01C7;01C7;01C7;004C 004A;004C 004A;
+01C8;01C8;01C8;004C 006A;004C 006A;
+01C9;01C9;01C9;006C 006A;006C 006A;
+01CA;01CA;01CA;004E 004A;004E 004A;
+01CB;01CB;01CB;004E 006A;004E 006A;
+01CC;01CC;01CC;006E 006A;006E 006A;
+01CD;01CD;0041 030C;01CD;0041 030C;
+01CE;01CE;0061 030C;01CE;0061 030C;
+01CF;01CF;0049 030C;01CF;0049 030C;
+01D0;01D0;0069 030C;01D0;0069 030C;
+01D1;01D1;004F 030C;01D1;004F 030C;
+01D2;01D2;006F 030C;01D2;006F 030C;
+01D3;01D3;0055 030C;01D3;0055 030C;
+01D4;01D4;0075 030C;01D4;0075 030C;
+01D5;01D5;0055 0308 0304;01D5;0055 0308 0304;
+01D6;01D6;0075 0308 0304;01D6;0075 0308 0304;
+01D7;01D7;0055 0308 0301;01D7;0055 0308 0301;
+01D8;01D8;0075 0308 0301;01D8;0075 0308 0301;
+01D9;01D9;0055 0308 030C;01D9;0055 0308 030C;
+01DA;01DA;0075 0308 030C;01DA;0075 0308 030C;
+01DB;01DB;0055 0308 0300;01DB;0055 0308 0300;
+01DC;01DC;0075 0308 0300;01DC;0075 0308 0300;
+01DE;01DE;0041 0308 0304;01DE;0041 0308 0304;
+01DF;01DF;0061 0308 0304;01DF;0061 0308 0304;
+01E0;01E0;0041 0307 0304;01E0;0041 0307 0304;
+01E1;01E1;0061 0307 0304;01E1;0061 0307 0304;
+01E2;01E2;00C6 0304;01E2;00C6 0304;
+01E3;01E3;00E6 0304;01E3;00E6 0304;
+01E6;01E6;0047 030C;01E6;0047 030C;
+01E7;01E7;0067 030C;01E7;0067 030C;
+01E8;01E8;004B 030C;01E8;004B 030C;
+01E9;01E9;006B 030C;01E9;006B 030C;
+01EA;01EA;004F 0328;01EA;004F 0328;
+01EB;01EB;006F 0328;01EB;006F 0328;
+01EC;01EC;004F 0328 0304;01EC;004F 0328 0304;
+01ED;01ED;006F 0328 0304;01ED;006F 0328 0304;
+01EE;01EE;01B7 030C;01EE;01B7 030C;
+01EF;01EF;0292 030C;01EF;0292 030C;
+01F0;01F0;006A 030C;01F0;006A 030C;
+01F1;01F1;01F1;0044 005A;0044 005A;
+01F2;01F2;01F2;0044 007A;0044 007A;
+01F3;01F3;01F3;0064 007A;0064 007A;
+01F4;01F4;0047 0301;01F4;0047 0301;
+01F5;01F5;0067 0301;01F5;0067 0301;
+01F8;01F8;004E 0300;01F8;004E 0300;
+01F9;01F9;006E 0300;01F9;006E 0300;
+01FA;01FA;0041 030A 0301;01FA;0041 030A 0301;
+01FB;01FB;0061 030A 0301;01FB;0061 030A 0301;
+01FC;01FC;00C6 0301;01FC;00C6 0301;
+01FD;01FD;00E6 0301;01FD;00E6 0301;
+01FE;01FE;00D8 0301;01FE;00D8 0301;
+01FF;01FF;00F8 0301;01FF;00F8 0301;
+0200;0200;0041 030F;0200;0041 030F;
+0201;0201;0061 030F;0201;0061 030F;
+0202;0202;0041 0311;0202;0041 0311;
+0203;0203;0061 0311;0203;0061 0311;
+0204;0204;0045 030F;0204;0045 030F;
+0205;0205;0065 030F;0205;0065 030F;
+0206;0206;0045 0311;0206;0045 0311;
+0207;0207;0065 0311;0207;0065 0311;
+0208;0208;0049 030F;0208;0049 030F;
+0209;0209;0069 030F;0209;0069 030F;
+020A;020A;0049 0311;020A;0049 0311;
+020B;020B;0069 0311;020B;0069 0311;
+020C;020C;004F 030F;020C;004F 030F;
+020D;020D;006F 030F;020D;006F 030F;
+020E;020E;004F 0311;020E;004F 0311;
+020F;020F;006F 0311;020F;006F 0311;
+0210;0210;0052 030F;0210;0052 030F;
+0211;0211;0072 030F;0211;0072 030F;
+0212;0212;0052 0311;0212;0052 0311;
+0213;0213;0072 0311;0213;0072 0311;
+0214;0214;0055 030F;0214;0055 030F;
+0215;0215;0075 030F;0215;0075 030F;
+0216;0216;0055 0311;0216;0055 0311;
+0217;0217;0075 0311;0217;0075 0311;
+0218;0218;0053 0326;0218;0053 0326;
+0219;0219;0073 0326;0219;0073 0326;
+021A;021A;0054 0326;021A;0054 0326;
+021B;021B;0074 0326;021B;0074 0326;
+021E;021E;0048 030C;021E;0048 030C;
+021F;021F;0068 030C;021F;0068 030C;
+0226;0226;0041 0307;0226;0041 0307;
+0227;0227;0061 0307;0227;0061 0307;
+0228;0228;0045 0327;0228;0045 0327;
+0229;0229;0065 0327;0229;0065 0327;
+022A;022A;004F 0308 0304;022A;004F 0308 0304;
+022B;022B;006F 0308 0304;022B;006F 0308 0304;
+022C;022C;004F 0303 0304;022C;004F 0303 0304;
+022D;022D;006F 0303 0304;022D;006F 0303 0304;
+022E;022E;004F 0307;022E;004F 0307;
+022F;022F;006F 0307;022F;006F 0307;
+0230;0230;004F 0307 0304;0230;004F 0307 0304;
+0231;0231;006F 0307 0304;0231;006F 0307 0304;
+0232;0232;0059 0304;0232;0059 0304;
+0233;0233;0079 0304;0233;0079 0304;
+02B0;02B0;02B0;0068;0068;
+02B1;02B1;02B1;0266;0266;
+02B2;02B2;02B2;006A;006A;
+02B3;02B3;02B3;0072;0072;
+02B4;02B4;02B4;0279;0279;
+02B5;02B5;02B5;027B;027B;
+02B6;02B6;02B6;0281;0281;
+02B7;02B7;02B7;0077;0077;
+02B8;02B8;02B8;0079;0079;
+02D8;02D8;02D8;0020 0306;0020 0306;
+02D9;02D9;02D9;0020 0307;0020 0307;
+02DA;02DA;02DA;0020 030A;0020 030A;
+02DB;02DB;02DB;0020 0328;0020 0328;
+02DC;02DC;02DC;0020 0303;0020 0303;
+02DD;02DD;02DD;0020 030B;0020 030B;
+02E0;02E0;02E0;0263;0263;
+02E1;02E1;02E1;006C;006C;
+02E2;02E2;02E2;0073;0073;
+02E3;02E3;02E3;0078;0078;
+02E4;02E4;02E4;0295;0295;
+0340;0300;0300;0300;0300;
+0341;0301;0301;0301;0301;
+0343;0313;0313;0313;0313;
+0344;0308 0301;0308 0301;0308 0301;0308 0301;
+0374;02B9;02B9;02B9;02B9;
+037A;037A;037A;0020 0345;0020 0345;
+037E;003B;003B;003B;003B;
+0384;0384;0384;0020 0301;0020 0301;
+0385;0385;00A8 0301;0020 0308 0301;0020 0308 0301;
+0386;0386;0391 0301;0386;0391 0301;
+0387;00B7;00B7;00B7;00B7;
+0388;0388;0395 0301;0388;0395 0301;
+0389;0389;0397 0301;0389;0397 0301;
+038A;038A;0399 0301;038A;0399 0301;
+038C;038C;039F 0301;038C;039F 0301;
+038E;038E;03A5 0301;038E;03A5 0301;
+038F;038F;03A9 0301;038F;03A9 0301;
+0390;0390;03B9 0308 0301;0390;03B9 0308 0301;
+03AA;03AA;0399 0308;03AA;0399 0308;
+03AB;03AB;03A5 0308;03AB;03A5 0308;
+03AC;03AC;03B1 0301;03AC;03B1 0301;
+03AD;03AD;03B5 0301;03AD;03B5 0301;
+03AE;03AE;03B7 0301;03AE;03B7 0301;
+03AF;03AF;03B9 0301;03AF;03B9 0301;
+03B0;03B0;03C5 0308 0301;03B0;03C5 0308 0301;
+03CA;03CA;03B9 0308;03CA;03B9 0308;
+03CB;03CB;03C5 0308;03CB;03C5 0308;
+03CC;03CC;03BF 0301;03CC;03BF 0301;
+03CD;03CD;03C5 0301;03CD;03C5 0301;
+03CE;03CE;03C9 0301;03CE;03C9 0301;
+03D0;03D0;03D0;03B2;03B2;
+03D1;03D1;03D1;03B8;03B8;
+03D2;03D2;03D2;03A5;03A5;
+03D3;03D3;03D2 0301;038E;03A5 0301;
+03D4;03D4;03D2 0308;03AB;03A5 0308;
+03D5;03D5;03D5;03C6;03C6;
+03D6;03D6;03D6;03C0;03C0;
+03F0;03F0;03F0;03BA;03BA;
+03F1;03F1;03F1;03C1;03C1;
+03F2;03F2;03F2;03C2;03C2;
+03F4;03F4;03F4;0398;0398;
+03F5;03F5;03F5;03B5;03B5;
+03F9;03F9;03F9;03A3;03A3;
+0400;0400;0415 0300;0400;0415 0300;
+0401;0401;0415 0308;0401;0415 0308;
+0403;0403;0413 0301;0403;0413 0301;
+0407;0407;0406 0308;0407;0406 0308;
+040C;040C;041A 0301;040C;041A 0301;
+040D;040D;0418 0300;040D;0418 0300;
+040E;040E;0423 0306;040E;0423 0306;
+0419;0419;0418 0306;0419;0418 0306;
+0439;0439;0438 0306;0439;0438 0306;
+0450;0450;0435 0300;0450;0435 0300;
+0451;0451;0435 0308;0451;0435 0308;
+0453;0453;0433 0301;0453;0433 0301;
+0457;0457;0456 0308;0457;0456 0308;
+045C;045C;043A 0301;045C;043A 0301;
+045D;045D;0438 0300;045D;0438 0300;
+045E;045E;0443 0306;045E;0443 0306;
+0476;0476;0474 030F;0476;0474 030F;
+0477;0477;0475 030F;0477;0475 030F;
+04C1;04C1;0416 0306;04C1;0416 0306;
+04C2;04C2;0436 0306;04C2;0436 0306;
+04D0;04D0;0410 0306;04D0;0410 0306;
+04D1;04D1;0430 0306;04D1;0430 0306;
+04D2;04D2;0410 0308;04D2;0410 0308;
+04D3;04D3;0430 0308;04D3;0430 0308;
+04D6;04D6;0415 0306;04D6;0415 0306;
+04D7;04D7;0435 0306;04D7;0435 0306;
+04DA;04DA;04D8 0308;04DA;04D8 0308;
+04DB;04DB;04D9 0308;04DB;04D9 0308;
+04DC;04DC;0416 0308;04DC;0416 0308;
+04DD;04DD;0436 0308;04DD;0436 0308;
+04DE;04DE;0417 0308;04DE;0417 0308;
+04DF;04DF;0437 0308;04DF;0437 0308;
+04E2;04E2;0418 0304;04E2;0418 0304;
+04E3;04E3;0438 0304;04E3;0438 0304;
+04E4;04E4;0418 0308;04E4;0418 0308;
+04E5;04E5;0438 0308;04E5;0438 0308;
+04E6;04E6;041E 0308;04E6;041E 0308;
+04E7;04E7;043E 0308;04E7;043E 0308;
+04EA;04EA;04E8 0308;04EA;04E8 0308;
+04EB;04EB;04E9 0308;04EB;04E9 0308;
+04EC;04EC;042D 0308;04EC;042D 0308;
+04ED;04ED;044D 0308;04ED;044D 0308;
+04EE;04EE;0423 0304;04EE;0423 0304;
+04EF;04EF;0443 0304;04EF;0443 0304;
+04F0;04F0;0423 0308;04F0;0423 0308;
+04F1;04F1;0443 0308;04F1;0443 0308;
+04F2;04F2;0423 030B;04F2;0423 030B;
+04F3;04F3;0443 030B;04F3;0443 030B;
+04F4;04F4;0427 0308;04F4;0427 0308;
+04F5;04F5;0447 0308;04F5;0447 0308;
+04F8;04F8;042B 0308;04F8;042B 0308;
+04F9;04F9;044B 0308;04F9;044B 0308;
+0587;0587;0587;0565 0582;0565 0582;
+0622;0622;0627 0653;0622;0627 0653;
+0623;0623;0627 0654;0623;0627 0654;
+0624;0624;0648 0654;0624;0648 0654;
+0625;0625;0627 0655;0625;0627 0655;
+0626;0626;064A 0654;0626;064A 0654;
+0675;0675;0675;0627 0674;0627 0674;
+0676;0676;0676;0648 0674;0648 0674;
+0677;0677;0677;06C7 0674;06C7 0674;
+0678;0678;0678;064A 0674;064A 0674;
+06C0;06C0;06D5 0654;06C0;06D5 0654;
+06C2;06C2;06C1 0654;06C2;06C1 0654;
+06D3;06D3;06D2 0654;06D3;06D2 0654;
+0929;0929;0928 093C;0929;0928 093C;
+0931;0931;0930 093C;0931;0930 093C;
+0934;0934;0933 093C;0934;0933 093C;
+0958;0915 093C;0915 093C;0915 093C;0915 093C;
+0959;0916 093C;0916 093C;0916 093C;0916 093C;
+095A;0917 093C;0917 093C;0917 093C;0917 093C;
+095B;091C 093C;091C 093C;091C 093C;091C 093C;
+095C;0921 093C;0921 093C;0921 093C;0921 093C;
+095D;0922 093C;0922 093C;0922 093C;0922 093C;
+095E;092B 093C;092B 093C;092B 093C;092B 093C;
+095F;092F 093C;092F 093C;092F 093C;092F 093C;
+09CB;09CB;09C7 09BE;09CB;09C7 09BE;
+09CC;09CC;09C7 09D7;09CC;09C7 09D7;
+09DC;09A1 09BC;09A1 09BC;09A1 09BC;09A1 09BC;
+09DD;09A2 09BC;09A2 09BC;09A2 09BC;09A2 09BC;
+09DF;09AF 09BC;09AF 09BC;09AF 09BC;09AF 09BC;
+0A33;0A32 0A3C;0A32 0A3C;0A32 0A3C;0A32 0A3C;
+0A36;0A38 0A3C;0A38 0A3C;0A38 0A3C;0A38 0A3C;
+0A59;0A16 0A3C;0A16 0A3C;0A16 0A3C;0A16 0A3C;
+0A5A;0A17 0A3C;0A17 0A3C;0A17 0A3C;0A17 0A3C;
+0A5B;0A1C 0A3C;0A1C 0A3C;0A1C 0A3C;0A1C 0A3C;
+0A5E;0A2B 0A3C;0A2B 0A3C;0A2B 0A3C;0A2B 0A3C;
+0B48;0B48;0B47 0B56;0B48;0B47 0B56;
+0B4B;0B4B;0B47 0B3E;0B4B;0B47 0B3E;
+0B4C;0B4C;0B47 0B57;0B4C;0B47 0B57;
+0B5C;0B21 0B3C;0B21 0B3C;0B21 0B3C;0B21 0B3C;
+0B5D;0B22 0B3C;0B22 0B3C;0B22 0B3C;0B22 0B3C;
+0B94;0B94;0B92 0BD7;0B94;0B92 0BD7;
+0BCA;0BCA;0BC6 0BBE;0BCA;0BC6 0BBE;
+0BCB;0BCB;0BC7 0BBE;0BCB;0BC7 0BBE;
+0BCC;0BCC;0BC6 0BD7;0BCC;0BC6 0BD7;
+0C48;0C48;0C46 0C56;0C48;0C46 0C56;
+0CC0;0CC0;0CBF 0CD5;0CC0;0CBF 0CD5;
+0CC7;0CC7;0CC6 0CD5;0CC7;0CC6 0CD5;
+0CC8;0CC8;0CC6 0CD6;0CC8;0CC6 0CD6;
+0CCA;0CCA;0CC6 0CC2;0CCA;0CC6 0CC2;
+0CCB;0CCB;0CC6 0CC2 0CD5;0CCB;0CC6 0CC2 0CD5;
+0D4A;0D4A;0D46 0D3E;0D4A;0D46 0D3E;
+0D4B;0D4B;0D47 0D3E;0D4B;0D47 0D3E;
+0D4C;0D4C;0D46 0D57;0D4C;0D46 0D57;
+0DDA;0DDA;0DD9 0DCA;0DDA;0DD9 0DCA;
+0DDC;0DDC;0DD9 0DCF;0DDC;0DD9 0DCF;
+0DDD;0DDD;0DD9 0DCF 0DCA;0DDD;0DD9 0DCF 0DCA;
+0DDE;0DDE;0DD9 0DDF;0DDE;0DD9 0DDF;
+0E33;0E33;0E33;0E4D 0E32;0E4D 0E32;
+0EB3;0EB3;0EB3;0ECD 0EB2;0ECD 0EB2;
+0EDC;0EDC;0EDC;0EAB 0E99;0EAB 0E99;
+0EDD;0EDD;0EDD;0EAB 0EA1;0EAB 0EA1;
+0F0C;0F0C;0F0C;0F0B;0F0B;
+0F43;0F42 0FB7;0F42 0FB7;0F42 0FB7;0F42 0FB7;
+0F4D;0F4C 0FB7;0F4C 0FB7;0F4C 0FB7;0F4C 0FB7;
+0F52;0F51 0FB7;0F51 0FB7;0F51 0FB7;0F51 0FB7;
+0F57;0F56 0FB7;0F56 0FB7;0F56 0FB7;0F56 0FB7;
+0F5C;0F5B 0FB7;0F5B 0FB7;0F5B 0FB7;0F5B 0FB7;
+0F69;0F40 0FB5;0F40 0FB5;0F40 0FB5;0F40 0FB5;
+0F73;0F71 0F72;0F71 0F72;0F71 0F72;0F71 0F72;
+0F75;0F71 0F74;0F71 0F74;0F71 0F74;0F71 0F74;
+0F76;0FB2 0F80;0FB2 0F80;0FB2 0F80;0FB2 0F80;
+0F77;0F77;0F77;0FB2 0F71 0F80;0FB2 0F71 0F80;
+0F78;0FB3 0F80;0FB3 0F80;0FB3 0F80;0FB3 0F80;
+0F79;0F79;0F79;0FB3 0F71 0F80;0FB3 0F71 0F80;
+0F81;0F71 0F80;0F71 0F80;0F71 0F80;0F71 0F80;
+0F93;0F92 0FB7;0F92 0FB7;0F92 0FB7;0F92 0FB7;
+0F9D;0F9C 0FB7;0F9C 0FB7;0F9C 0FB7;0F9C 0FB7;
+0FA2;0FA1 0FB7;0FA1 0FB7;0FA1 0FB7;0FA1 0FB7;
+0FA7;0FA6 0FB7;0FA6 0FB7;0FA6 0FB7;0FA6 0FB7;
+0FAC;0FAB 0FB7;0FAB 0FB7;0FAB 0FB7;0FAB 0FB7;
+0FB9;0F90 0FB5;0F90 0FB5;0F90 0FB5;0F90 0FB5;
+1026;1026;1025 102E;1026;1025 102E;
+10FC;10FC;10FC;10DC;10DC;
+1D2C;1D2C;1D2C;0041;0041;
+1D2D;1D2D;1D2D;00C6;00C6;
+1D2E;1D2E;1D2E;0042;0042;
+1D30;1D30;1D30;0044;0044;
+1D31;1D31;1D31;0045;0045;
+1D32;1D32;1D32;018E;018E;
+1D33;1D33;1D33;0047;0047;
+1D34;1D34;1D34;0048;0048;
+1D35;1D35;1D35;0049;0049;
+1D36;1D36;1D36;004A;004A;
+1D37;1D37;1D37;004B;004B;
+1D38;1D38;1D38;004C;004C;
+1D39;1D39;1D39;004D;004D;
+1D3A;1D3A;1D3A;004E;004E;
+1D3C;1D3C;1D3C;004F;004F;
+1D3D;1D3D;1D3D;0222;0222;
+1D3E;1D3E;1D3E;0050;0050;
+1D3F;1D3F;1D3F;0052;0052;
+1D40;1D40;1D40;0054;0054;
+1D41;1D41;1D41;0055;0055;
+1D42;1D42;1D42;0057;0057;
+1D43;1D43;1D43;0061;0061;
+1D44;1D44;1D44;0250;0250;
+1D45;1D45;1D45;0251;0251;
+1D46;1D46;1D46;1D02;1D02;
+1D47;1D47;1D47;0062;0062;
+1D48;1D48;1D48;0064;0064;
+1D49;1D49;1D49;0065;0065;
+1D4A;1D4A;1D4A;0259;0259;
+1D4B;1D4B;1D4B;025B;025B;
+1D4C;1D4C;1D4C;025C;025C;
+1D4D;1D4D;1D4D;0067;0067;
+1D4F;1D4F;1D4F;006B;006B;
+1D50;1D50;1D50;006D;006D;
+1D51;1D51;1D51;014B;014B;
+1D52;1D52;1D52;006F;006F;
+1D53;1D53;1D53;0254;0254;
+1D54;1D54;1D54;1D16;1D16;
+1D55;1D55;1D55;1D17;1D17;
+1D56;1D56;1D56;0070;0070;
+1D57;1D57;1D57;0074;0074;
+1D58;1D58;1D58;0075;0075;
+1D59;1D59;1D59;1D1D;1D1D;
+1D5A;1D5A;1D5A;026F;026F;
+1D5B;1D5B;1D5B;0076;0076;
+1D5C;1D5C;1D5C;1D25;1D25;
+1D5D;1D5D;1D5D;03B2;03B2;
+1D5E;1D5E;1D5E;03B3;03B3;
+1D5F;1D5F;1D5F;03B4;03B4;
+1D60;1D60;1D60;03C6;03C6;
+1D61;1D61;1D61;03C7;03C7;
+1D62;1D62;1D62;0069;0069;
+1D63;1D63;1D63;0072;0072;
+1D64;1D64;1D64;0075;0075;
+1D65;1D65;1D65;0076;0076;
+1D66;1D66;1D66;03B2;03B2;
+1D67;1D67;1D67;03B3;03B3;
+1D68;1D68;1D68;03C1;03C1;
+1D69;1D69;1D69;03C6;03C6;
+1D6A;1D6A;1D6A;03C7;03C7;
+1D78;1D78;1D78;043D;043D;
+1D9B;1D9B;1D9B;0252;0252;
+1D9C;1D9C;1D9C;0063;0063;
+1D9D;1D9D;1D9D;0255;0255;
+1D9E;1D9E;1D9E;00F0;00F0;
+1D9F;1D9F;1D9F;025C;025C;
+1DA0;1DA0;1DA0;0066;0066;
+1DA1;1DA1;1DA1;025F;025F;
+1DA2;1DA2;1DA2;0261;0261;
+1DA3;1DA3;1DA3;0265;0265;
+1DA4;1DA4;1DA4;0268;0268;
+1DA5;1DA5;1DA5;0269;0269;
+1DA6;1DA6;1DA6;026A;026A;
+1DA7;1DA7;1DA7;1D7B;1D7B;
+1DA8;1DA8;1DA8;029D;029D;
+1DA9;1DA9;1DA9;026D;026D;
+1DAA;1DAA;1DAA;1D85;1D85;
+1DAB;1DAB;1DAB;029F;029F;
+1DAC;1DAC;1DAC;0271;0271;
+1DAD;1DAD;1DAD;0270;0270;
+1DAE;1DAE;1DAE;0272;0272;
+1DAF;1DAF;1DAF;0273;0273;
+1DB0;1DB0;1DB0;0274;0274;
+1DB1;1DB1;1DB1;0275;0275;
+1DB2;1DB2;1DB2;0278;0278;
+1DB3;1DB3;1DB3;0282;0282;
+1DB4;1DB4;1DB4;0283;0283;
+1DB5;1DB5;1DB5;01AB;01AB;
+1DB6;1DB6;1DB6;0289;0289;
+1DB7;1DB7;1DB7;028A;028A;
+1DB8;1DB8;1DB8;1D1C;1D1C;
+1DB9;1DB9;1DB9;028B;028B;
+1DBA;1DBA;1DBA;028C;028C;
+1DBB;1DBB;1DBB;007A;007A;
+1DBC;1DBC;1DBC;0290;0290;
+1DBD;1DBD;1DBD;0291;0291;
+1DBE;1DBE;1DBE;0292;0292;
+1DBF;1DBF;1DBF;03B8;03B8;
+1E00;1E00;0041 0325;1E00;0041 0325;
+1E01;1E01;0061 0325;1E01;0061 0325;
+1E02;1E02;0042 0307;1E02;0042 0307;
+1E03;1E03;0062 0307;1E03;0062 0307;
+1E04;1E04;0042 0323;1E04;0042 0323;
+1E05;1E05;0062 0323;1E05;0062 0323;
+1E06;1E06;0042 0331;1E06;0042 0331;
+1E07;1E07;0062 0331;1E07;0062 0331;
+1E08;1E08;0043 0327 0301;1E08;0043 0327 0301;
+1E09;1E09;0063 0327 0301;1E09;0063 0327 0301;
+1E0A;1E0A;0044 0307;1E0A;0044 0307;
+1E0B;1E0B;0064 0307;1E0B;0064 0307;
+1E0C;1E0C;0044 0323;1E0C;0044 0323;
+1E0D;1E0D;0064 0323;1E0D;0064 0323;
+1E0E;1E0E;0044 0331;1E0E;0044 0331;
+1E0F;1E0F;0064 0331;1E0F;0064 0331;
+1E10;1E10;0044 0327;1E10;0044 0327;
+1E11;1E11;0064 0327;1E11;0064 0327;
+1E12;1E12;0044 032D;1E12;0044 032D;
+1E13;1E13;0064 032D;1E13;0064 032D;
+1E14;1E14;0045 0304 0300;1E14;0045 0304 0300;
+1E15;1E15;0065 0304 0300;1E15;0065 0304 0300;
+1E16;1E16;0045 0304 0301;1E16;0045 0304 0301;
+1E17;1E17;0065 0304 0301;1E17;0065 0304 0301;
+1E18;1E18;0045 032D;1E18;0045 032D;
+1E19;1E19;0065 032D;1E19;0065 032D;
+1E1A;1E1A;0045 0330;1E1A;0045 0330;
+1E1B;1E1B;0065 0330;1E1B;0065 0330;
+1E1C;1E1C;0045 0327 0306;1E1C;0045 0327 0306;
+1E1D;1E1D;0065 0327 0306;1E1D;0065 0327 0306;
+1E1E;1E1E;0046 0307;1E1E;0046 0307;
+1E1F;1E1F;0066 0307;1E1F;0066 0307;
+1E20;1E20;0047 0304;1E20;0047 0304;
+1E21;1E21;0067 0304;1E21;0067 0304;
+1E22;1E22;0048 0307;1E22;0048 0307;
+1E23;1E23;0068 0307;1E23;0068 0307;
+1E24;1E24;0048 0323;1E24;0048 0323;
+1E25;1E25;0068 0323;1E25;0068 0323;
+1E26;1E26;0048 0308;1E26;0048 0308;
+1E27;1E27;0068 0308;1E27;0068 0308;
+1E28;1E28;0048 0327;1E28;0048 0327;
+1E29;1E29;0068 0327;1E29;0068 0327;
+1E2A;1E2A;0048 032E;1E2A;0048 032E;
+1E2B;1E2B;0068 032E;1E2B;0068 032E;
+1E2C;1E2C;0049 0330;1E2C;0049 0330;
+1E2D;1E2D;0069 0330;1E2D;0069 0330;
+1E2E;1E2E;0049 0308 0301;1E2E;0049 0308 0301;
+1E2F;1E2F;0069 0308 0301;1E2F;0069 0308 0301;
+1E30;1E30;004B 0301;1E30;004B 0301;
+1E31;1E31;006B 0301;1E31;006B 0301;
+1E32;1E32;004B 0323;1E32;004B 0323;
+1E33;1E33;006B 0323;1E33;006B 0323;
+1E34;1E34;004B 0331;1E34;004B 0331;
+1E35;1E35;006B 0331;1E35;006B 0331;
+1E36;1E36;004C 0323;1E36;004C 0323;
+1E37;1E37;006C 0323;1E37;006C 0323;
+1E38;1E38;004C 0323 0304;1E38;004C 0323 0304;
+1E39;1E39;006C 0323 0304;1E39;006C 0323 0304;
+1E3A;1E3A;004C 0331;1E3A;004C 0331;
+1E3B;1E3B;006C 0331;1E3B;006C 0331;
+1E3C;1E3C;004C 032D;1E3C;004C 032D;
+1E3D;1E3D;006C 032D;1E3D;006C 032D;
+1E3E;1E3E;004D 0301;1E3E;004D 0301;
+1E3F;1E3F;006D 0301;1E3F;006D 0301;
+1E40;1E40;004D 0307;1E40;004D 0307;
+1E41;1E41;006D 0307;1E41;006D 0307;
+1E42;1E42;004D 0323;1E42;004D 0323;
+1E43;1E43;006D 0323;1E43;006D 0323;
+1E44;1E44;004E 0307;1E44;004E 0307;
+1E45;1E45;006E 0307;1E45;006E 0307;
+1E46;1E46;004E 0323;1E46;004E 0323;
+1E47;1E47;006E 0323;1E47;006E 0323;
+1E48;1E48;004E 0331;1E48;004E 0331;
+1E49;1E49;006E 0331;1E49;006E 0331;
+1E4A;1E4A;004E 032D;1E4A;004E 032D;
+1E4B;1E4B;006E 032D;1E4B;006E 032D;
+1E4C;1E4C;004F 0303 0301;1E4C;004F 0303 0301;
+1E4D;1E4D;006F 0303 0301;1E4D;006F 0303 0301;
+1E4E;1E4E;004F 0303 0308;1E4E;004F 0303 0308;
+1E4F;1E4F;006F 0303 0308;1E4F;006F 0303 0308;
+1E50;1E50;004F 0304 0300;1E50;004F 0304 0300;
+1E51;1E51;006F 0304 0300;1E51;006F 0304 0300;
+1E52;1E52;004F 0304 0301;1E52;004F 0304 0301;
+1E53;1E53;006F 0304 0301;1E53;006F 0304 0301;
+1E54;1E54;0050 0301;1E54;0050 0301;
+1E55;1E55;0070 0301;1E55;0070 0301;
+1E56;1E56;0050 0307;1E56;0050 0307;
+1E57;1E57;0070 0307;1E57;0070 0307;
+1E58;1E58;0052 0307;1E58;0052 0307;
+1E59;1E59;0072 0307;1E59;0072 0307;
+1E5A;1E5A;0052 0323;1E5A;0052 0323;
+1E5B;1E5B;0072 0323;1E5B;0072 0323;
+1E5C;1E5C;0052 0323 0304;1E5C;0052 0323 0304;
+1E5D;1E5D;0072 0323 0304;1E5D;0072 0323 0304;
+1E5E;1E5E;0052 0331;1E5E;0052 0331;
+1E5F;1E5F;0072 0331;1E5F;0072 0331;
+1E60;1E60;0053 0307;1E60;0053 0307;
+1E61;1E61;0073 0307;1E61;0073 0307;
+1E62;1E62;0053 0323;1E62;0053 0323;
+1E63;1E63;0073 0323;1E63;0073 0323;
+1E64;1E64;0053 0301 0307;1E64;0053 0301 0307;
+1E65;1E65;0073 0301 0307;1E65;0073 0301 0307;
+1E66;1E66;0053 030C 0307;1E66;0053 030C 0307;
+1E67;1E67;0073 030C 0307;1E67;0073 030C 0307;
+1E68;1E68;0053 0323 0307;1E68;0053 0323 0307;
+1E69;1E69;0073 0323 0307;1E69;0073 0323 0307;
+1E6A;1E6A;0054 0307;1E6A;0054 0307;
+1E6B;1E6B;0074 0307;1E6B;0074 0307;
+1E6C;1E6C;0054 0323;1E6C;0054 0323;
+1E6D;1E6D;0074 0323;1E6D;0074 0323;
+1E6E;1E6E;0054 0331;1E6E;0054 0331;
+1E6F;1E6F;0074 0331;1E6F;0074 0331;
+1E70;1E70;0054 032D;1E70;0054 032D;
+1E71;1E71;0074 032D;1E71;0074 032D;
+1E72;1E72;0055 0324;1E72;0055 0324;
+1E73;1E73;0075 0324;1E73;0075 0324;
+1E74;1E74;0055 0330;1E74;0055 0330;
+1E75;1E75;0075 0330;1E75;0075 0330;
+1E76;1E76;0055 032D;1E76;0055 032D;
+1E77;1E77;0075 032D;1E77;0075 032D;
+1E78;1E78;0055 0303 0301;1E78;0055 0303 0301;
+1E79;1E79;0075 0303 0301;1E79;0075 0303 0301;
+1E7A;1E7A;0055 0304 0308;1E7A;0055 0304 0308;
+1E7B;1E7B;0075 0304 0308;1E7B;0075 0304 0308;
+1E7C;1E7C;0056 0303;1E7C;0056 0303;
+1E7D;1E7D;0076 0303;1E7D;0076 0303;
+1E7E;1E7E;0056 0323;1E7E;0056 0323;
+1E7F;1E7F;0076 0323;1E7F;0076 0323;
+1E80;1E80;0057 0300;1E80;0057 0300;
+1E81;1E81;0077 0300;1E81;0077 0300;
+1E82;1E82;0057 0301;1E82;0057 0301;
+1E83;1E83;0077 0301;1E83;0077 0301;
+1E84;1E84;0057 0308;1E84;0057 0308;
+1E85;1E85;0077 0308;1E85;0077 0308;
+1E86;1E86;0057 0307;1E86;0057 0307;
+1E87;1E87;0077 0307;1E87;0077 0307;
+1E88;1E88;0057 0323;1E88;0057 0323;
+1E89;1E89;0077 0323;1E89;0077 0323;
+1E8A;1E8A;0058 0307;1E8A;0058 0307;
+1E8B;1E8B;0078 0307;1E8B;0078 0307;
+1E8C;1E8C;0058 0308;1E8C;0058 0308;
+1E8D;1E8D;0078 0308;1E8D;0078 0308;
+1E8E;1E8E;0059 0307;1E8E;0059 0307;
+1E8F;1E8F;0079 0307;1E8F;0079 0307;
+1E90;1E90;005A 0302;1E90;005A 0302;
+1E91;1E91;007A 0302;1E91;007A 0302;
+1E92;1E92;005A 0323;1E92;005A 0323;
+1E93;1E93;007A 0323;1E93;007A 0323;
+1E94;1E94;005A 0331;1E94;005A 0331;
+1E95;1E95;007A 0331;1E95;007A 0331;
+1E96;1E96;0068 0331;1E96;0068 0331;
+1E97;1E97;0074 0308;1E97;0074 0308;
+1E98;1E98;0077 030A;1E98;0077 030A;
+1E99;1E99;0079 030A;1E99;0079 030A;
+1E9A;1E9A;1E9A;0061 02BE;0061 02BE;
+1E9B;1E9B;017F 0307;1E61;0073 0307;
+1EA0;1EA0;0041 0323;1EA0;0041 0323;
+1EA1;1EA1;0061 0323;1EA1;0061 0323;
+1EA2;1EA2;0041 0309;1EA2;0041 0309;
+1EA3;1EA3;0061 0309;1EA3;0061 0309;
+1EA4;1EA4;0041 0302 0301;1EA4;0041 0302 0301;
+1EA5;1EA5;0061 0302 0301;1EA5;0061 0302 0301;
+1EA6;1EA6;0041 0302 0300;1EA6;0041 0302 0300;
+1EA7;1EA7;0061 0302 0300;1EA7;0061 0302 0300;
+1EA8;1EA8;0041 0302 0309;1EA8;0041 0302 0309;
+1EA9;1EA9;0061 0302 0309;1EA9;0061 0302 0309;
+1EAA;1EAA;0041 0302 0303;1EAA;0041 0302 0303;
+1EAB;1EAB;0061 0302 0303;1EAB;0061 0302 0303;
+1EAC;1EAC;0041 0323 0302;1EAC;0041 0323 0302;
+1EAD;1EAD;0061 0323 0302;1EAD;0061 0323 0302;
+1EAE;1EAE;0041 0306 0301;1EAE;0041 0306 0301;
+1EAF;1EAF;0061 0306 0301;1EAF;0061 0306 0301;
+1EB0;1EB0;0041 0306 0300;1EB0;0041 0306 0300;
+1EB1;1EB1;0061 0306 0300;1EB1;0061 0306 0300;
+1EB2;1EB2;0041 0306 0309;1EB2;0041 0306 0309;
+1EB3;1EB3;0061 0306 0309;1EB3;0061 0306 0309;
+1EB4;1EB4;0041 0306 0303;1EB4;0041 0306 0303;
+1EB5;1EB5;0061 0306 0303;1EB5;0061 0306 0303;
+1EB6;1EB6;0041 0323 0306;1EB6;0041 0323 0306;
+1EB7;1EB7;0061 0323 0306;1EB7;0061 0323 0306;
+1EB8;1EB8;0045 0323;1EB8;0045 0323;
+1EB9;1EB9;0065 0323;1EB9;0065 0323;
+1EBA;1EBA;0045 0309;1EBA;0045 0309;
+1EBB;1EBB;0065 0309;1EBB;0065 0309;
+1EBC;1EBC;0045 0303;1EBC;0045 0303;
+1EBD;1EBD;0065 0303;1EBD;0065 0303;
+1EBE;1EBE;0045 0302 0301;1EBE;0045 0302 0301;
+1EBF;1EBF;0065 0302 0301;1EBF;0065 0302 0301;
+1EC0;1EC0;0045 0302 0300;1EC0;0045 0302 0300;
+1EC1;1EC1;0065 0302 0300;1EC1;0065 0302 0300;
+1EC2;1EC2;0045 0302 0309;1EC2;0045 0302 0309;
+1EC3;1EC3;0065 0302 0309;1EC3;0065 0302 0309;
+1EC4;1EC4;0045 0302 0303;1EC4;0045 0302 0303;
+1EC5;1EC5;0065 0302 0303;1EC5;0065 0302 0303;
+1EC6;1EC6;0045 0323 0302;1EC6;0045 0323 0302;
+1EC7;1EC7;0065 0323 0302;1EC7;0065 0323 0302;
+1EC8;1EC8;0049 0309;1EC8;0049 0309;
+1EC9;1EC9;0069 0309;1EC9;0069 0309;
+1ECA;1ECA;0049 0323;1ECA;0049 0323;
+1ECB;1ECB;0069 0323;1ECB;0069 0323;
+1ECC;1ECC;004F 0323;1ECC;004F 0323;
+1ECD;1ECD;006F 0323;1ECD;006F 0323;
+1ECE;1ECE;004F 0309;1ECE;004F 0309;
+1ECF;1ECF;006F 0309;1ECF;006F 0309;
+1ED0;1ED0;004F 0302 0301;1ED0;004F 0302 0301;
+1ED1;1ED1;006F 0302 0301;1ED1;006F 0302 0301;
+1ED2;1ED2;004F 0302 0300;1ED2;004F 0302 0300;
+1ED3;1ED3;006F 0302 0300;1ED3;006F 0302 0300;
+1ED4;1ED4;004F 0302 0309;1ED4;004F 0302 0309;
+1ED5;1ED5;006F 0302 0309;1ED5;006F 0302 0309;
+1ED6;1ED6;004F 0302 0303;1ED6;004F 0302 0303;
+1ED7;1ED7;006F 0302 0303;1ED7;006F 0302 0303;
+1ED8;1ED8;004F 0323 0302;1ED8;004F 0323 0302;
+1ED9;1ED9;006F 0323 0302;1ED9;006F 0323 0302;
+1EDA;1EDA;004F 031B 0301;1EDA;004F 031B 0301;
+1EDB;1EDB;006F 031B 0301;1EDB;006F 031B 0301;
+1EDC;1EDC;004F 031B 0300;1EDC;004F 031B 0300;
+1EDD;1EDD;006F 031B 0300;1EDD;006F 031B 0300;
+1EDE;1EDE;004F 031B 0309;1EDE;004F 031B 0309;
+1EDF;1EDF;006F 031B 0309;1EDF;006F 031B 0309;
+1EE0;1EE0;004F 031B 0303;1EE0;004F 031B 0303;
+1EE1;1EE1;006F 031B 0303;1EE1;006F 031B 0303;
+1EE2;1EE2;004F 031B 0323;1EE2;004F 031B 0323;
+1EE3;1EE3;006F 031B 0323;1EE3;006F 031B 0323;
+1EE4;1EE4;0055 0323;1EE4;0055 0323;
+1EE5;1EE5;0075 0323;1EE5;0075 0323;
+1EE6;1EE6;0055 0309;1EE6;0055 0309;
+1EE7;1EE7;0075 0309;1EE7;0075 0309;
+1EE8;1EE8;0055 031B 0301;1EE8;0055 031B 0301;
+1EE9;1EE9;0075 031B 0301;1EE9;0075 031B 0301;
+1EEA;1EEA;0055 031B 0300;1EEA;0055 031B 0300;
+1EEB;1EEB;0075 031B 0300;1EEB;0075 031B 0300;
+1EEC;1EEC;0055 031B 0309;1EEC;0055 031B 0309;
+1EED;1EED;0075 031B 0309;1EED;0075 031B 0309;
+1EEE;1EEE;0055 031B 0303;1EEE;0055 031B 0303;
+1EEF;1EEF;0075 031B 0303;1EEF;0075 031B 0303;
+1EF0;1EF0;0055 031B 0323;1EF0;0055 031B 0323;
+1EF1;1EF1;0075 031B 0323;1EF1;0075 031B 0323;
+1EF2;1EF2;0059 0300;1EF2;0059 0300;
+1EF3;1EF3;0079 0300;1EF3;0079 0300;
+1EF4;1EF4;0059 0323;1EF4;0059 0323;
+1EF5;1EF5;0079 0323;1EF5;0079 0323;
+1EF6;1EF6;0059 0309;1EF6;0059 0309;
+1EF7;1EF7;0079 0309;1EF7;0079 0309;
+1EF8;1EF8;0059 0303;1EF8;0059 0303;
+1EF9;1EF9;0079 0303;1EF9;0079 0303;
+1F00;1F00;03B1 0313;1F00;03B1 0313;
+1F01;1F01;03B1 0314;1F01;03B1 0314;
+1F02;1F02;03B1 0313 0300;1F02;03B1 0313 0300;
+1F03;1F03;03B1 0314 0300;1F03;03B1 0314 0300;
+1F04;1F04;03B1 0313 0301;1F04;03B1 0313 0301;
+1F05;1F05;03B1 0314 0301;1F05;03B1 0314 0301;
+1F06;1F06;03B1 0313 0342;1F06;03B1 0313 0342;
+1F07;1F07;03B1 0314 0342;1F07;03B1 0314 0342;
+1F08;1F08;0391 0313;1F08;0391 0313;
+1F09;1F09;0391 0314;1F09;0391 0314;
+1F0A;1F0A;0391 0313 0300;1F0A;0391 0313 0300;
+1F0B;1F0B;0391 0314 0300;1F0B;0391 0314 0300;
+1F0C;1F0C;0391 0313 0301;1F0C;0391 0313 0301;
+1F0D;1F0D;0391 0314 0301;1F0D;0391 0314 0301;
+1F0E;1F0E;0391 0313 0342;1F0E;0391 0313 0342;
+1F0F;1F0F;0391 0314 0342;1F0F;0391 0314 0342;
+1F10;1F10;03B5 0313;1F10;03B5 0313;
+1F11;1F11;03B5 0314;1F11;03B5 0314;
+1F12;1F12;03B5 0313 0300;1F12;03B5 0313 0300;
+1F13;1F13;03B5 0314 0300;1F13;03B5 0314 0300;
+1F14;1F14;03B5 0313 0301;1F14;03B5 0313 0301;
+1F15;1F15;03B5 0314 0301;1F15;03B5 0314 0301;
+1F18;1F18;0395 0313;1F18;0395 0313;
+1F19;1F19;0395 0314;1F19;0395 0314;
+1F1A;1F1A;0395 0313 0300;1F1A;0395 0313 0300;
+1F1B;1F1B;0395 0314 0300;1F1B;0395 0314 0300;
+1F1C;1F1C;0395 0313 0301;1F1C;0395 0313 0301;
+1F1D;1F1D;0395 0314 0301;1F1D;0395 0314 0301;
+1F20;1F20;03B7 0313;1F20;03B7 0313;
+1F21;1F21;03B7 0314;1F21;03B7 0314;
+1F22;1F22;03B7 0313 0300;1F22;03B7 0313 0300;
+1F23;1F23;03B7 0314 0300;1F23;03B7 0314 0300;
+1F24;1F24;03B7 0313 0301;1F24;03B7 0313 0301;
+1F25;1F25;03B7 0314 0301;1F25;03B7 0314 0301;
+1F26;1F26;03B7 0313 0342;1F26;03B7 0313 0342;
+1F27;1F27;03B7 0314 0342;1F27;03B7 0314 0342;
+1F28;1F28;0397 0313;1F28;0397 0313;
+1F29;1F29;0397 0314;1F29;0397 0314;
+1F2A;1F2A;0397 0313 0300;1F2A;0397 0313 0300;
+1F2B;1F2B;0397 0314 0300;1F2B;0397 0314 0300;
+1F2C;1F2C;0397 0313 0301;1F2C;0397 0313 0301;
+1F2D;1F2D;0397 0314 0301;1F2D;0397 0314 0301;
+1F2E;1F2E;0397 0313 0342;1F2E;0397 0313 0342;
+1F2F;1F2F;0397 0314 0342;1F2F;0397 0314 0342;
+1F30;1F30;03B9 0313;1F30;03B9 0313;
+1F31;1F31;03B9 0314;1F31;03B9 0314;
+1F32;1F32;03B9 0313 0300;1F32;03B9 0313 0300;
+1F33;1F33;03B9 0314 0300;1F33;03B9 0314 0300;
+1F34;1F34;03B9 0313 0301;1F34;03B9 0313 0301;
+1F35;1F35;03B9 0314 0301;1F35;03B9 0314 0301;
+1F36;1F36;03B9 0313 0342;1F36;03B9 0313 0342;
+1F37;1F37;03B9 0314 0342;1F37;03B9 0314 0342;
+1F38;1F38;0399 0313;1F38;0399 0313;
+1F39;1F39;0399 0314;1F39;0399 0314;
+1F3A;1F3A;0399 0313 0300;1F3A;0399 0313 0300;
+1F3B;1F3B;0399 0314 0300;1F3B;0399 0314 0300;
+1F3C;1F3C;0399 0313 0301;1F3C;0399 0313 0301;
+1F3D;1F3D;0399 0314 0301;1F3D;0399 0314 0301;
+1F3E;1F3E;0399 0313 0342;1F3E;0399 0313 0342;
+1F3F;1F3F;0399 0314 0342;1F3F;0399 0314 0342;
+1F40;1F40;03BF 0313;1F40;03BF 0313;
+1F41;1F41;03BF 0314;1F41;03BF 0314;
+1F42;1F42;03BF 0313 0300;1F42;03BF 0313 0300;
+1F43;1F43;03BF 0314 0300;1F43;03BF 0314 0300;
+1F44;1F44;03BF 0313 0301;1F44;03BF 0313 0301;
+1F45;1F45;03BF 0314 0301;1F45;03BF 0314 0301;
+1F48;1F48;039F 0313;1F48;039F 0313;
+1F49;1F49;039F 0314;1F49;039F 0314;
+1F4A;1F4A;039F 0313 0300;1F4A;039F 0313 0300;
+1F4B;1F4B;039F 0314 0300;1F4B;039F 0314 0300;
+1F4C;1F4C;039F 0313 0301;1F4C;039F 0313 0301;
+1F4D;1F4D;039F 0314 0301;1F4D;039F 0314 0301;
+1F50;1F50;03C5 0313;1F50;03C5 0313;
+1F51;1F51;03C5 0314;1F51;03C5 0314;
+1F52;1F52;03C5 0313 0300;1F52;03C5 0313 0300;
+1F53;1F53;03C5 0314 0300;1F53;03C5 0314 0300;
+1F54;1F54;03C5 0313 0301;1F54;03C5 0313 0301;
+1F55;1F55;03C5 0314 0301;1F55;03C5 0314 0301;
+1F56;1F56;03C5 0313 0342;1F56;03C5 0313 0342;
+1F57;1F57;03C5 0314 0342;1F57;03C5 0314 0342;
+1F59;1F59;03A5 0314;1F59;03A5 0314;
+1F5B;1F5B;03A5 0314 0300;1F5B;03A5 0314 0300;
+1F5D;1F5D;03A5 0314 0301;1F5D;03A5 0314 0301;
+1F5F;1F5F;03A5 0314 0342;1F5F;03A5 0314 0342;
+1F60;1F60;03C9 0313;1F60;03C9 0313;
+1F61;1F61;03C9 0314;1F61;03C9 0314;
+1F62;1F62;03C9 0313 0300;1F62;03C9 0313 0300;
+1F63;1F63;03C9 0314 0300;1F63;03C9 0314 0300;
+1F64;1F64;03C9 0313 0301;1F64;03C9 0313 0301;
+1F65;1F65;03C9 0314 0301;1F65;03C9 0314 0301;
+1F66;1F66;03C9 0313 0342;1F66;03C9 0313 0342;
+1F67;1F67;03C9 0314 0342;1F67;03C9 0314 0342;
+1F68;1F68;03A9 0313;1F68;03A9 0313;
+1F69;1F69;03A9 0314;1F69;03A9 0314;
+1F6A;1F6A;03A9 0313 0300;1F6A;03A9 0313 0300;
+1F6B;1F6B;03A9 0314 0300;1F6B;03A9 0314 0300;
+1F6C;1F6C;03A9 0313 0301;1F6C;03A9 0313 0301;
+1F6D;1F6D;03A9 0314 0301;1F6D;03A9 0314 0301;
+1F6E;1F6E;03A9 0313 0342;1F6E;03A9 0313 0342;
+1F6F;1F6F;03A9 0314 0342;1F6F;03A9 0314 0342;
+1F70;1F70;03B1 0300;1F70;03B1 0300;
+1F71;03AC;03B1 0301;03AC;03B1 0301;
+1F72;1F72;03B5 0300;1F72;03B5 0300;
+1F73;03AD;03B5 0301;03AD;03B5 0301;
+1F74;1F74;03B7 0300;1F74;03B7 0300;
+1F75;03AE;03B7 0301;03AE;03B7 0301;
+1F76;1F76;03B9 0300;1F76;03B9 0300;
+1F77;03AF;03B9 0301;03AF;03B9 0301;
+1F78;1F78;03BF 0300;1F78;03BF 0300;
+1F79;03CC;03BF 0301;03CC;03BF 0301;
+1F7A;1F7A;03C5 0300;1F7A;03C5 0300;
+1F7B;03CD;03C5 0301;03CD;03C5 0301;
+1F7C;1F7C;03C9 0300;1F7C;03C9 0300;
+1F7D;03CE;03C9 0301;03CE;03C9 0301;
+1F80;1F80;03B1 0313 0345;1F80;03B1 0313 0345;
+1F81;1F81;03B1 0314 0345;1F81;03B1 0314 0345;
+1F82;1F82;03B1 0313 0300 0345;1F82;03B1 0313 0300 0345;
+1F83;1F83;03B1 0314 0300 0345;1F83;03B1 0314 0300 0345;
+1F84;1F84;03B1 0313 0301 0345;1F84;03B1 0313 0301 0345;
+1F85;1F85;03B1 0314 0301 0345;1F85;03B1 0314 0301 0345;
+1F86;1F86;03B1 0313 0342 0345;1F86;03B1 0313 0342 0345;
+1F87;1F87;03B1 0314 0342 0345;1F87;03B1 0314 0342 0345;
+1F88;1F88;0391 0313 0345;1F88;0391 0313 0345;
+1F89;1F89;0391 0314 0345;1F89;0391 0314 0345;
+1F8A;1F8A;0391 0313 0300 0345;1F8A;0391 0313 0300 0345;
+1F8B;1F8B;0391 0314 0300 0345;1F8B;0391 0314 0300 0345;
+1F8C;1F8C;0391 0313 0301 0345;1F8C;0391 0313 0301 0345;
+1F8D;1F8D;0391 0314 0301 0345;1F8D;0391 0314 0301 0345;
+1F8E;1F8E;0391 0313 0342 0345;1F8E;0391 0313 0342 0345;
+1F8F;1F8F;0391 0314 0342 0345;1F8F;0391 0314 0342 0345;
+1F90;1F90;03B7 0313 0345;1F90;03B7 0313 0345;
+1F91;1F91;03B7 0314 0345;1F91;03B7 0314 0345;
+1F92;1F92;03B7 0313 0300 0345;1F92;03B7 0313 0300 0345;
+1F93;1F93;03B7 0314 0300 0345;1F93;03B7 0314 0300 0345;
+1F94;1F94;03B7 0313 0301 0345;1F94;03B7 0313 0301 0345;
+1F95;1F95;03B7 0314 0301 0345;1F95;03B7 0314 0301 0345;
+1F96;1F96;03B7 0313 0342 0345;1F96;03B7 0313 0342 0345;
+1F97;1F97;03B7 0314 0342 0345;1F97;03B7 0314 0342 0345;
+1F98;1F98;0397 0313 0345;1F98;0397 0313 0345;
+1F99;1F99;0397 0314 0345;1F99;0397 0314 0345;
+1F9A;1F9A;0397 0313 0300 0345;1F9A;0397 0313 0300 0345;
+1F9B;1F9B;0397 0314 0300 0345;1F9B;0397 0314 0300 0345;
+1F9C;1F9C;0397 0313 0301 0345;1F9C;0397 0313 0301 0345;
+1F9D;1F9D;0397 0314 0301 0345;1F9D;0397 0314 0301 0345;
+1F9E;1F9E;0397 0313 0342 0345;1F9E;0397 0313 0342 0345;
+1F9F;1F9F;0397 0314 0342 0345;1F9F;0397 0314 0342 0345;
+1FA0;1FA0;03C9 0313 0345;1FA0;03C9 0313 0345;
+1FA1;1FA1;03C9 0314 0345;1FA1;03C9 0314 0345;
+1FA2;1FA2;03C9 0313 0300 0345;1FA2;03C9 0313 0300 0345;
+1FA3;1FA3;03C9 0314 0300 0345;1FA3;03C9 0314 0300 0345;
+1FA4;1FA4;03C9 0313 0301 0345;1FA4;03C9 0313 0301 0345;
+1FA5;1FA5;03C9 0314 0301 0345;1FA5;03C9 0314 0301 0345;
+1FA6;1FA6;03C9 0313 0342 0345;1FA6;03C9 0313 0342 0345;
+1FA7;1FA7;03C9 0314 0342 0345;1FA7;03C9 0314 0342 0345;
+1FA8;1FA8;03A9 0313 0345;1FA8;03A9 0313 0345;
+1FA9;1FA9;03A9 0314 0345;1FA9;03A9 0314 0345;
+1FAA;1FAA;03A9 0313 0300 0345;1FAA;03A9 0313 0300 0345;
+1FAB;1FAB;03A9 0314 0300 0345;1FAB;03A9 0314 0300 0345;
+1FAC;1FAC;03A9 0313 0301 0345;1FAC;03A9 0313 0301 0345;
+1FAD;1FAD;03A9 0314 0301 0345;1FAD;03A9 0314 0301 0345;
+1FAE;1FAE;03A9 0313 0342 0345;1FAE;03A9 0313 0342 0345;
+1FAF;1FAF;03A9 0314 0342 0345;1FAF;03A9 0314 0342 0345;
+1FB0;1FB0;03B1 0306;1FB0;03B1 0306;
+1FB1;1FB1;03B1 0304;1FB1;03B1 0304;
+1FB2;1FB2;03B1 0300 0345;1FB2;03B1 0300 0345;
+1FB3;1FB3;03B1 0345;1FB3;03B1 0345;
+1FB4;1FB4;03B1 0301 0345;1FB4;03B1 0301 0345;
+1FB6;1FB6;03B1 0342;1FB6;03B1 0342;
+1FB7;1FB7;03B1 0342 0345;1FB7;03B1 0342 0345;
+1FB8;1FB8;0391 0306;1FB8;0391 0306;
+1FB9;1FB9;0391 0304;1FB9;0391 0304;
+1FBA;1FBA;0391 0300;1FBA;0391 0300;
+1FBB;0386;0391 0301;0386;0391 0301;
+1FBC;1FBC;0391 0345;1FBC;0391 0345;
+1FBD;1FBD;1FBD;0020 0313;0020 0313;
+1FBE;03B9;03B9;03B9;03B9;
+1FBF;1FBF;1FBF;0020 0313;0020 0313;
+1FC0;1FC0;1FC0;0020 0342;0020 0342;
+1FC1;1FC1;00A8 0342;0020 0308 0342;0020 0308 0342;
+1FC2;1FC2;03B7 0300 0345;1FC2;03B7 0300 0345;
+1FC3;1FC3;03B7 0345;1FC3;03B7 0345;
+1FC4;1FC4;03B7 0301 0345;1FC4;03B7 0301 0345;
+1FC6;1FC6;03B7 0342;1FC6;03B7 0342;
+1FC7;1FC7;03B7 0342 0345;1FC7;03B7 0342 0345;
+1FC8;1FC8;0395 0300;1FC8;0395 0300;
+1FC9;0388;0395 0301;0388;0395 0301;
+1FCA;1FCA;0397 0300;1FCA;0397 0300;
+1FCB;0389;0397 0301;0389;0397 0301;
+1FCC;1FCC;0397 0345;1FCC;0397 0345;
+1FCD;1FCD;1FBF 0300;0020 0313 0300;0020 0313 0300;
+1FCE;1FCE;1FBF 0301;0020 0313 0301;0020 0313 0301;
+1FCF;1FCF;1FBF 0342;0020 0313 0342;0020 0313 0342;
+1FD0;1FD0;03B9 0306;1FD0;03B9 0306;
+1FD1;1FD1;03B9 0304;1FD1;03B9 0304;
+1FD2;1FD2;03B9 0308 0300;1FD2;03B9 0308 0300;
+1FD3;0390;03B9 0308 0301;0390;03B9 0308 0301;
+1FD6;1FD6;03B9 0342;1FD6;03B9 0342;
+1FD7;1FD7;03B9 0308 0342;1FD7;03B9 0308 0342;
+1FD8;1FD8;0399 0306;1FD8;0399 0306;
+1FD9;1FD9;0399 0304;1FD9;0399 0304;
+1FDA;1FDA;0399 0300;1FDA;0399 0300;
+1FDB;038A;0399 0301;038A;0399 0301;
+1FDD;1FDD;1FFE 0300;0020 0314 0300;0020 0314 0300;
+1FDE;1FDE;1FFE 0301;0020 0314 0301;0020 0314 0301;
+1FDF;1FDF;1FFE 0342;0020 0314 0342;0020 0314 0342;
+1FE0;1FE0;03C5 0306;1FE0;03C5 0306;
+1FE1;1FE1;03C5 0304;1FE1;03C5 0304;
+1FE2;1FE2;03C5 0308 0300;1FE2;03C5 0308 0300;
+1FE3;03B0;03C5 0308 0301;03B0;03C5 0308 0301;
+1FE4;1FE4;03C1 0313;1FE4;03C1 0313;
+1FE5;1FE5;03C1 0314;1FE5;03C1 0314;
+1FE6;1FE6;03C5 0342;1FE6;03C5 0342;
+1FE7;1FE7;03C5 0308 0342;1FE7;03C5 0308 0342;
+1FE8;1FE8;03A5 0306;1FE8;03A5 0306;
+1FE9;1FE9;03A5 0304;1FE9;03A5 0304;
+1FEA;1FEA;03A5 0300;1FEA;03A5 0300;
+1FEB;038E;03A5 0301;038E;03A5 0301;
+1FEC;1FEC;03A1 0314;1FEC;03A1 0314;
+1FED;1FED;00A8 0300;0020 0308 0300;0020 0308 0300;
+1FEE;0385;00A8 0301;0020 0308 0301;0020 0308 0301;
+1FEF;0060;0060;0060;0060;
+1FF2;1FF2;03C9 0300 0345;1FF2;03C9 0300 0345;
+1FF3;1FF3;03C9 0345;1FF3;03C9 0345;
+1FF4;1FF4;03C9 0301 0345;1FF4;03C9 0301 0345;
+1FF6;1FF6;03C9 0342;1FF6;03C9 0342;
+1FF7;1FF7;03C9 0342 0345;1FF7;03C9 0342 0345;
+1FF8;1FF8;039F 0300;1FF8;039F 0300;
+1FF9;038C;039F 0301;038C;039F 0301;
+1FFA;1FFA;03A9 0300;1FFA;03A9 0300;
+1FFB;038F;03A9 0301;038F;03A9 0301;
+1FFC;1FFC;03A9 0345;1FFC;03A9 0345;
+1FFD;00B4;00B4;0020 0301;0020 0301;
+1FFE;1FFE;1FFE;0020 0314;0020 0314;
+2000;2002;2002;0020;0020;
+2001;2003;2003;0020;0020;
+2002;2002;2002;0020;0020;
+2003;2003;2003;0020;0020;
+2004;2004;2004;0020;0020;
+2005;2005;2005;0020;0020;
+2006;2006;2006;0020;0020;
+2007;2007;2007;0020;0020;
+2008;2008;2008;0020;0020;
+2009;2009;2009;0020;0020;
+200A;200A;200A;0020;0020;
+2011;2011;2011;2010;2010;
+2017;2017;2017;0020 0333;0020 0333;
+2024;2024;2024;002E;002E;
+2025;2025;2025;002E 002E;002E 002E;
+2026;2026;2026;002E 002E 002E;002E 002E 002E;
+202F;202F;202F;0020;0020;
+2033;2033;2033;2032 2032;2032 2032;
+2034;2034;2034;2032 2032 2032;2032 2032 2032;
+2036;2036;2036;2035 2035;2035 2035;
+2037;2037;2037;2035 2035 2035;2035 2035 2035;
+203C;203C;203C;0021 0021;0021 0021;
+203E;203E;203E;0020 0305;0020 0305;
+2047;2047;2047;003F 003F;003F 003F;
+2048;2048;2048;003F 0021;003F 0021;
+2049;2049;2049;0021 003F;0021 003F;
+2057;2057;2057;2032 2032 2032 2032;2032 2032 2032 2032;
+205F;205F;205F;0020;0020;
+2070;2070;2070;0030;0030;
+2071;2071;2071;0069;0069;
+2074;2074;2074;0034;0034;
+2075;2075;2075;0035;0035;
+2076;2076;2076;0036;0036;
+2077;2077;2077;0037;0037;
+2078;2078;2078;0038;0038;
+2079;2079;2079;0039;0039;
+207A;207A;207A;002B;002B;
+207B;207B;207B;2212;2212;
+207C;207C;207C;003D;003D;
+207D;207D;207D;0028;0028;
+207E;207E;207E;0029;0029;
+207F;207F;207F;006E;006E;
+2080;2080;2080;0030;0030;
+2081;2081;2081;0031;0031;
+2082;2082;2082;0032;0032;
+2083;2083;2083;0033;0033;
+2084;2084;2084;0034;0034;
+2085;2085;2085;0035;0035;
+2086;2086;2086;0036;0036;
+2087;2087;2087;0037;0037;
+2088;2088;2088;0038;0038;
+2089;2089;2089;0039;0039;
+208A;208A;208A;002B;002B;
+208B;208B;208B;2212;2212;
+208C;208C;208C;003D;003D;
+208D;208D;208D;0028;0028;
+208E;208E;208E;0029;0029;
+2090;2090;2090;0061;0061;
+2091;2091;2091;0065;0065;
+2092;2092;2092;006F;006F;
+2093;2093;2093;0078;0078;
+2094;2094;2094;0259;0259;
+20A8;20A8;20A8;0052 0073;0052 0073;
+2100;2100;2100;0061 002F 0063;0061 002F 0063;
+2101;2101;2101;0061 002F 0073;0061 002F 0073;
+2102;2102;2102;0043;0043;
+2103;2103;2103;00B0 0043;00B0 0043;
+2105;2105;2105;0063 002F 006F;0063 002F 006F;
+2106;2106;2106;0063 002F 0075;0063 002F 0075;
+2107;2107;2107;0190;0190;
+2109;2109;2109;00B0 0046;00B0 0046;
+210A;210A;210A;0067;0067;
+210B;210B;210B;0048;0048;
+210C;210C;210C;0048;0048;
+210D;210D;210D;0048;0048;
+210E;210E;210E;0068;0068;
+210F;210F;210F;0127;0127;
+2110;2110;2110;0049;0049;
+2111;2111;2111;0049;0049;
+2112;2112;2112;004C;004C;
+2113;2113;2113;006C;006C;
+2115;2115;2115;004E;004E;
+2116;2116;2116;004E 006F;004E 006F;
+2119;2119;2119;0050;0050;
+211A;211A;211A;0051;0051;
+211B;211B;211B;0052;0052;
+211C;211C;211C;0052;0052;
+211D;211D;211D;0052;0052;
+2120;2120;2120;0053 004D;0053 004D;
+2121;2121;2121;0054 0045 004C;0054 0045 004C;
+2122;2122;2122;0054 004D;0054 004D;
+2124;2124;2124;005A;005A;
+2126;03A9;03A9;03A9;03A9;
+2128;2128;2128;005A;005A;
+212A;004B;004B;004B;004B;
+212B;00C5;0041 030A;00C5;0041 030A;
+212C;212C;212C;0042;0042;
+212D;212D;212D;0043;0043;
+212F;212F;212F;0065;0065;
+2130;2130;2130;0045;0045;
+2131;2131;2131;0046;0046;
+2133;2133;2133;004D;004D;
+2134;2134;2134;006F;006F;
+2135;2135;2135;05D0;05D0;
+2136;2136;2136;05D1;05D1;
+2137;2137;2137;05D2;05D2;
+2138;2138;2138;05D3;05D3;
+2139;2139;2139;0069;0069;
+213B;213B;213B;0046 0041 0058;0046 0041 0058;
+213C;213C;213C;03C0;03C0;
+213D;213D;213D;03B3;03B3;
+213E;213E;213E;0393;0393;
+213F;213F;213F;03A0;03A0;
+2140;2140;2140;2211;2211;
+2145;2145;2145;0044;0044;
+2146;2146;2146;0064;0064;
+2147;2147;2147;0065;0065;
+2148;2148;2148;0069;0069;
+2149;2149;2149;006A;006A;
+2153;2153;2153;0031 2044 0033;0031 2044 0033;
+2154;2154;2154;0032 2044 0033;0032 2044 0033;
+2155;2155;2155;0031 2044 0035;0031 2044 0035;
+2156;2156;2156;0032 2044 0035;0032 2044 0035;
+2157;2157;2157;0033 2044 0035;0033 2044 0035;
+2158;2158;2158;0034 2044 0035;0034 2044 0035;
+2159;2159;2159;0031 2044 0036;0031 2044 0036;
+215A;215A;215A;0035 2044 0036;0035 2044 0036;
+215B;215B;215B;0031 2044 0038;0031 2044 0038;
+215C;215C;215C;0033 2044 0038;0033 2044 0038;
+215D;215D;215D;0035 2044 0038;0035 2044 0038;
+215E;215E;215E;0037 2044 0038;0037 2044 0038;
+215F;215F;215F;0031 2044;0031 2044;
+2160;2160;2160;0049;0049;
+2161;2161;2161;0049 0049;0049 0049;
+2162;2162;2162;0049 0049 0049;0049 0049 0049;
+2163;2163;2163;0049 0056;0049 0056;
+2164;2164;2164;0056;0056;
+2165;2165;2165;0056 0049;0056 0049;
+2166;2166;2166;0056 0049 0049;0056 0049 0049;
+2167;2167;2167;0056 0049 0049 0049;0056 0049 0049 0049;
+2168;2168;2168;0049 0058;0049 0058;
+2169;2169;2169;0058;0058;
+216A;216A;216A;0058 0049;0058 0049;
+216B;216B;216B;0058 0049 0049;0058 0049 0049;
+216C;216C;216C;004C;004C;
+216D;216D;216D;0043;0043;
+216E;216E;216E;0044;0044;
+216F;216F;216F;004D;004D;
+2170;2170;2170;0069;0069;
+2171;2171;2171;0069 0069;0069 0069;
+2172;2172;2172;0069 0069 0069;0069 0069 0069;
+2173;2173;2173;0069 0076;0069 0076;
+2174;2174;2174;0076;0076;
+2175;2175;2175;0076 0069;0076 0069;
+2176;2176;2176;0076 0069 0069;0076 0069 0069;
+2177;2177;2177;0076 0069 0069 0069;0076 0069 0069 0069;
+2178;2178;2178;0069 0078;0069 0078;
+2179;2179;2179;0078;0078;
+217A;217A;217A;0078 0069;0078 0069;
+217B;217B;217B;0078 0069 0069;0078 0069 0069;
+217C;217C;217C;006C;006C;
+217D;217D;217D;0063;0063;
+217E;217E;217E;0064;0064;
+217F;217F;217F;006D;006D;
+219A;219A;2190 0338;219A;2190 0338;
+219B;219B;2192 0338;219B;2192 0338;
+21AE;21AE;2194 0338;21AE;2194 0338;
+21CD;21CD;21D0 0338;21CD;21D0 0338;
+21CE;21CE;21D4 0338;21CE;21D4 0338;
+21CF;21CF;21D2 0338;21CF;21D2 0338;
+2204;2204;2203 0338;2204;2203 0338;
+2209;2209;2208 0338;2209;2208 0338;
+220C;220C;220B 0338;220C;220B 0338;
+2224;2224;2223 0338;2224;2223 0338;
+2226;2226;2225 0338;2226;2225 0338;
+222C;222C;222C;222B 222B;222B 222B;
+222D;222D;222D;222B 222B 222B;222B 222B 222B;
+222F;222F;222F;222E 222E;222E 222E;
+2230;2230;2230;222E 222E 222E;222E 222E 222E;
+2241;2241;223C 0338;2241;223C 0338;
+2244;2244;2243 0338;2244;2243 0338;
+2247;2247;2245 0338;2247;2245 0338;
+2249;2249;2248 0338;2249;2248 0338;
+2260;2260;003D 0338;2260;003D 0338;
+2262;2262;2261 0338;2262;2261 0338;
+226D;226D;224D 0338;226D;224D 0338;
+226E;226E;003C 0338;226E;003C 0338;
+226F;226F;003E 0338;226F;003E 0338;
+2270;2270;2264 0338;2270;2264 0338;
+2271;2271;2265 0338;2271;2265 0338;
+2274;2274;2272 0338;2274;2272 0338;
+2275;2275;2273 0338;2275;2273 0338;
+2278;2278;2276 0338;2278;2276 0338;
+2279;2279;2277 0338;2279;2277 0338;
+2280;2280;227A 0338;2280;227A 0338;
+2281;2281;227B 0338;2281;227B 0338;
+2284;2284;2282 0338;2284;2282 0338;
+2285;2285;2283 0338;2285;2283 0338;
+2288;2288;2286 0338;2288;2286 0338;
+2289;2289;2287 0338;2289;2287 0338;
+22AC;22AC;22A2 0338;22AC;22A2 0338;
+22AD;22AD;22A8 0338;22AD;22A8 0338;
+22AE;22AE;22A9 0338;22AE;22A9 0338;
+22AF;22AF;22AB 0338;22AF;22AB 0338;
+22E0;22E0;227C 0338;22E0;227C 0338;
+22E1;22E1;227D 0338;22E1;227D 0338;
+22E2;22E2;2291 0338;22E2;2291 0338;
+22E3;22E3;2292 0338;22E3;2292 0338;
+22EA;22EA;22B2 0338;22EA;22B2 0338;
+22EB;22EB;22B3 0338;22EB;22B3 0338;
+22EC;22EC;22B4 0338;22EC;22B4 0338;
+22ED;22ED;22B5 0338;22ED;22B5 0338;
+2329;3008;3008;3008;3008;
+232A;3009;3009;3009;3009;
+2460;2460;2460;0031;0031;
+2461;2461;2461;0032;0032;
+2462;2462;2462;0033;0033;
+2463;2463;2463;0034;0034;
+2464;2464;2464;0035;0035;
+2465;2465;2465;0036;0036;
+2466;2466;2466;0037;0037;
+2467;2467;2467;0038;0038;
+2468;2468;2468;0039;0039;
+2469;2469;2469;0031 0030;0031 0030;
+246A;246A;246A;0031 0031;0031 0031;
+246B;246B;246B;0031 0032;0031 0032;
+246C;246C;246C;0031 0033;0031 0033;
+246D;246D;246D;0031 0034;0031 0034;
+246E;246E;246E;0031 0035;0031 0035;
+246F;246F;246F;0031 0036;0031 0036;
+2470;2470;2470;0031 0037;0031 0037;
+2471;2471;2471;0031 0038;0031 0038;
+2472;2472;2472;0031 0039;0031 0039;
+2473;2473;2473;0032 0030;0032 0030;
+2474;2474;2474;0028 0031 0029;0028 0031 0029;
+2475;2475;2475;0028 0032 0029;0028 0032 0029;
+2476;2476;2476;0028 0033 0029;0028 0033 0029;
+2477;2477;2477;0028 0034 0029;0028 0034 0029;
+2478;2478;2478;0028 0035 0029;0028 0035 0029;
+2479;2479;2479;0028 0036 0029;0028 0036 0029;
+247A;247A;247A;0028 0037 0029;0028 0037 0029;
+247B;247B;247B;0028 0038 0029;0028 0038 0029;
+247C;247C;247C;0028 0039 0029;0028 0039 0029;
+247D;247D;247D;0028 0031 0030 0029;0028 0031 0030 0029;
+247E;247E;247E;0028 0031 0031 0029;0028 0031 0031 0029;
+247F;247F;247F;0028 0031 0032 0029;0028 0031 0032 0029;
+2480;2480;2480;0028 0031 0033 0029;0028 0031 0033 0029;
+2481;2481;2481;0028 0031 0034 0029;0028 0031 0034 0029;
+2482;2482;2482;0028 0031 0035 0029;0028 0031 0035 0029;
+2483;2483;2483;0028 0031 0036 0029;0028 0031 0036 0029;
+2484;2484;2484;0028 0031 0037 0029;0028 0031 0037 0029;
+2485;2485;2485;0028 0031 0038 0029;0028 0031 0038 0029;
+2486;2486;2486;0028 0031 0039 0029;0028 0031 0039 0029;
+2487;2487;2487;0028 0032 0030 0029;0028 0032 0030 0029;
+2488;2488;2488;0031 002E;0031 002E;
+2489;2489;2489;0032 002E;0032 002E;
+248A;248A;248A;0033 002E;0033 002E;
+248B;248B;248B;0034 002E;0034 002E;
+248C;248C;248C;0035 002E;0035 002E;
+248D;248D;248D;0036 002E;0036 002E;
+248E;248E;248E;0037 002E;0037 002E;
+248F;248F;248F;0038 002E;0038 002E;
+2490;2490;2490;0039 002E;0039 002E;
+2491;2491;2491;0031 0030 002E;0031 0030 002E;
+2492;2492;2492;0031 0031 002E;0031 0031 002E;
+2493;2493;2493;0031 0032 002E;0031 0032 002E;
+2494;2494;2494;0031 0033 002E;0031 0033 002E;
+2495;2495;2495;0031 0034 002E;0031 0034 002E;
+2496;2496;2496;0031 0035 002E;0031 0035 002E;
+2497;2497;2497;0031 0036 002E;0031 0036 002E;
+2498;2498;2498;0031 0037 002E;0031 0037 002E;
+2499;2499;2499;0031 0038 002E;0031 0038 002E;
+249A;249A;249A;0031 0039 002E;0031 0039 002E;
+249B;249B;249B;0032 0030 002E;0032 0030 002E;
+249C;249C;249C;0028 0061 0029;0028 0061 0029;
+249D;249D;249D;0028 0062 0029;0028 0062 0029;
+249E;249E;249E;0028 0063 0029;0028 0063 0029;
+249F;249F;249F;0028 0064 0029;0028 0064 0029;
+24A0;24A0;24A0;0028 0065 0029;0028 0065 0029;
+24A1;24A1;24A1;0028 0066 0029;0028 0066 0029;
+24A2;24A2;24A2;0028 0067 0029;0028 0067 0029;
+24A3;24A3;24A3;0028 0068 0029;0028 0068 0029;
+24A4;24A4;24A4;0028 0069 0029;0028 0069 0029;
+24A5;24A5;24A5;0028 006A 0029;0028 006A 0029;
+24A6;24A6;24A6;0028 006B 0029;0028 006B 0029;
+24A7;24A7;24A7;0028 006C 0029;0028 006C 0029;
+24A8;24A8;24A8;0028 006D 0029;0028 006D 0029;
+24A9;24A9;24A9;0028 006E 0029;0028 006E 0029;
+24AA;24AA;24AA;0028 006F 0029;0028 006F 0029;
+24AB;24AB;24AB;0028 0070 0029;0028 0070 0029;
+24AC;24AC;24AC;0028 0071 0029;0028 0071 0029;
+24AD;24AD;24AD;0028 0072 0029;0028 0072 0029;
+24AE;24AE;24AE;0028 0073 0029;0028 0073 0029;
+24AF;24AF;24AF;0028 0074 0029;0028 0074 0029;
+24B0;24B0;24B0;0028 0075 0029;0028 0075 0029;
+24B1;24B1;24B1;0028 0076 0029;0028 0076 0029;
+24B2;24B2;24B2;0028 0077 0029;0028 0077 0029;
+24B3;24B3;24B3;0028 0078 0029;0028 0078 0029;
+24B4;24B4;24B4;0028 0079 0029;0028 0079 0029;
+24B5;24B5;24B5;0028 007A 0029;0028 007A 0029;
+24B6;24B6;24B6;0041;0041;
+24B7;24B7;24B7;0042;0042;
+24B8;24B8;24B8;0043;0043;
+24B9;24B9;24B9;0044;0044;
+24BA;24BA;24BA;0045;0045;
+24BB;24BB;24BB;0046;0046;
+24BC;24BC;24BC;0047;0047;
+24BD;24BD;24BD;0048;0048;
+24BE;24BE;24BE;0049;0049;
+24BF;24BF;24BF;004A;004A;
+24C0;24C0;24C0;004B;004B;
+24C1;24C1;24C1;004C;004C;
+24C2;24C2;24C2;004D;004D;
+24C3;24C3;24C3;004E;004E;
+24C4;24C4;24C4;004F;004F;
+24C5;24C5;24C5;0050;0050;
+24C6;24C6;24C6;0051;0051;
+24C7;24C7;24C7;0052;0052;
+24C8;24C8;24C8;0053;0053;
+24C9;24C9;24C9;0054;0054;
+24CA;24CA;24CA;0055;0055;
+24CB;24CB;24CB;0056;0056;
+24CC;24CC;24CC;0057;0057;
+24CD;24CD;24CD;0058;0058;
+24CE;24CE;24CE;0059;0059;
+24CF;24CF;24CF;005A;005A;
+24D0;24D0;24D0;0061;0061;
+24D1;24D1;24D1;0062;0062;
+24D2;24D2;24D2;0063;0063;
+24D3;24D3;24D3;0064;0064;
+24D4;24D4;24D4;0065;0065;
+24D5;24D5;24D5;0066;0066;
+24D6;24D6;24D6;0067;0067;
+24D7;24D7;24D7;0068;0068;
+24D8;24D8;24D8;0069;0069;
+24D9;24D9;24D9;006A;006A;
+24DA;24DA;24DA;006B;006B;
+24DB;24DB;24DB;006C;006C;
+24DC;24DC;24DC;006D;006D;
+24DD;24DD;24DD;006E;006E;
+24DE;24DE;24DE;006F;006F;
+24DF;24DF;24DF;0070;0070;
+24E0;24E0;24E0;0071;0071;
+24E1;24E1;24E1;0072;0072;
+24E2;24E2;24E2;0073;0073;
+24E3;24E3;24E3;0074;0074;
+24E4;24E4;24E4;0075;0075;
+24E5;24E5;24E5;0076;0076;
+24E6;24E6;24E6;0077;0077;
+24E7;24E7;24E7;0078;0078;
+24E8;24E8;24E8;0079;0079;
+24E9;24E9;24E9;007A;007A;
+24EA;24EA;24EA;0030;0030;
+2A0C;2A0C;2A0C;222B 222B 222B 222B;222B 222B 222B 222B;
+2A74;2A74;2A74;003A 003A 003D;003A 003A 003D;
+2A75;2A75;2A75;003D 003D;003D 003D;
+2A76;2A76;2A76;003D 003D 003D;003D 003D 003D;
+2ADC;2ADD 0338;2ADD 0338;2ADD 0338;2ADD 0338;
+2D6F;2D6F;2D6F;2D61;2D61;
+2E9F;2E9F;2E9F;6BCD;6BCD;
+2EF3;2EF3;2EF3;9F9F;9F9F;
+2F00;2F00;2F00;4E00;4E00;
+2F01;2F01;2F01;4E28;4E28;
+2F02;2F02;2F02;4E36;4E36;
+2F03;2F03;2F03;4E3F;4E3F;
+2F04;2F04;2F04;4E59;4E59;
+2F05;2F05;2F05;4E85;4E85;
+2F06;2F06;2F06;4E8C;4E8C;
+2F07;2F07;2F07;4EA0;4EA0;
+2F08;2F08;2F08;4EBA;4EBA;
+2F09;2F09;2F09;513F;513F;
+2F0A;2F0A;2F0A;5165;5165;
+2F0B;2F0B;2F0B;516B;516B;
+2F0C;2F0C;2F0C;5182;5182;
+2F0D;2F0D;2F0D;5196;5196;
+2F0E;2F0E;2F0E;51AB;51AB;
+2F0F;2F0F;2F0F;51E0;51E0;
+2F10;2F10;2F10;51F5;51F5;
+2F11;2F11;2F11;5200;5200;
+2F12;2F12;2F12;529B;529B;
+2F13;2F13;2F13;52F9;52F9;
+2F14;2F14;2F14;5315;5315;
+2F15;2F15;2F15;531A;531A;
+2F16;2F16;2F16;5338;5338;
+2F17;2F17;2F17;5341;5341;
+2F18;2F18;2F18;535C;535C;
+2F19;2F19;2F19;5369;5369;
+2F1A;2F1A;2F1A;5382;5382;
+2F1B;2F1B;2F1B;53B6;53B6;
+2F1C;2F1C;2F1C;53C8;53C8;
+2F1D;2F1D;2F1D;53E3;53E3;
+2F1E;2F1E;2F1E;56D7;56D7;
+2F1F;2F1F;2F1F;571F;571F;
+2F20;2F20;2F20;58EB;58EB;
+2F21;2F21;2F21;5902;5902;
+2F22;2F22;2F22;590A;590A;
+2F23;2F23;2F23;5915;5915;
+2F24;2F24;2F24;5927;5927;
+2F25;2F25;2F25;5973;5973;
+2F26;2F26;2F26;5B50;5B50;
+2F27;2F27;2F27;5B80;5B80;
+2F28;2F28;2F28;5BF8;5BF8;
+2F29;2F29;2F29;5C0F;5C0F;
+2F2A;2F2A;2F2A;5C22;5C22;
+2F2B;2F2B;2F2B;5C38;5C38;
+2F2C;2F2C;2F2C;5C6E;5C6E;
+2F2D;2F2D;2F2D;5C71;5C71;
+2F2E;2F2E;2F2E;5DDB;5DDB;
+2F2F;2F2F;2F2F;5DE5;5DE5;
+2F30;2F30;2F30;5DF1;5DF1;
+2F31;2F31;2F31;5DFE;5DFE;
+2F32;2F32;2F32;5E72;5E72;
+2F33;2F33;2F33;5E7A;5E7A;
+2F34;2F34;2F34;5E7F;5E7F;
+2F35;2F35;2F35;5EF4;5EF4;
+2F36;2F36;2F36;5EFE;5EFE;
+2F37;2F37;2F37;5F0B;5F0B;
+2F38;2F38;2F38;5F13;5F13;
+2F39;2F39;2F39;5F50;5F50;
+2F3A;2F3A;2F3A;5F61;5F61;
+2F3B;2F3B;2F3B;5F73;5F73;
+2F3C;2F3C;2F3C;5FC3;5FC3;
+2F3D;2F3D;2F3D;6208;6208;
+2F3E;2F3E;2F3E;6236;6236;
+2F3F;2F3F;2F3F;624B;624B;
+2F40;2F40;2F40;652F;652F;
+2F41;2F41;2F41;6534;6534;
+2F42;2F42;2F42;6587;6587;
+2F43;2F43;2F43;6597;6597;
+2F44;2F44;2F44;65A4;65A4;
+2F45;2F45;2F45;65B9;65B9;
+2F46;2F46;2F46;65E0;65E0;
+2F47;2F47;2F47;65E5;65E5;
+2F48;2F48;2F48;66F0;66F0;
+2F49;2F49;2F49;6708;6708;
+2F4A;2F4A;2F4A;6728;6728;
+2F4B;2F4B;2F4B;6B20;6B20;
+2F4C;2F4C;2F4C;6B62;6B62;
+2F4D;2F4D;2F4D;6B79;6B79;
+2F4E;2F4E;2F4E;6BB3;6BB3;
+2F4F;2F4F;2F4F;6BCB;6BCB;
+2F50;2F50;2F50;6BD4;6BD4;
+2F51;2F51;2F51;6BDB;6BDB;
+2F52;2F52;2F52;6C0F;6C0F;
+2F53;2F53;2F53;6C14;6C14;
+2F54;2F54;2F54;6C34;6C34;
+2F55;2F55;2F55;706B;706B;
+2F56;2F56;2F56;722A;722A;
+2F57;2F57;2F57;7236;7236;
+2F58;2F58;2F58;723B;723B;
+2F59;2F59;2F59;723F;723F;
+2F5A;2F5A;2F5A;7247;7247;
+2F5B;2F5B;2F5B;7259;7259;
+2F5C;2F5C;2F5C;725B;725B;
+2F5D;2F5D;2F5D;72AC;72AC;
+2F5E;2F5E;2F5E;7384;7384;
+2F5F;2F5F;2F5F;7389;7389;
+2F60;2F60;2F60;74DC;74DC;
+2F61;2F61;2F61;74E6;74E6;
+2F62;2F62;2F62;7518;7518;
+2F63;2F63;2F63;751F;751F;
+2F64;2F64;2F64;7528;7528;
+2F65;2F65;2F65;7530;7530;
+2F66;2F66;2F66;758B;758B;
+2F67;2F67;2F67;7592;7592;
+2F68;2F68;2F68;7676;7676;
+2F69;2F69;2F69;767D;767D;
+2F6A;2F6A;2F6A;76AE;76AE;
+2F6B;2F6B;2F6B;76BF;76BF;
+2F6C;2F6C;2F6C;76EE;76EE;
+2F6D;2F6D;2F6D;77DB;77DB;
+2F6E;2F6E;2F6E;77E2;77E2;
+2F6F;2F6F;2F6F;77F3;77F3;
+2F70;2F70;2F70;793A;793A;
+2F71;2F71;2F71;79B8;79B8;
+2F72;2F72;2F72;79BE;79BE;
+2F73;2F73;2F73;7A74;7A74;
+2F74;2F74;2F74;7ACB;7ACB;
+2F75;2F75;2F75;7AF9;7AF9;
+2F76;2F76;2F76;7C73;7C73;
+2F77;2F77;2F77;7CF8;7CF8;
+2F78;2F78;2F78;7F36;7F36;
+2F79;2F79;2F79;7F51;7F51;
+2F7A;2F7A;2F7A;7F8A;7F8A;
+2F7B;2F7B;2F7B;7FBD;7FBD;
+2F7C;2F7C;2F7C;8001;8001;
+2F7D;2F7D;2F7D;800C;800C;
+2F7E;2F7E;2F7E;8012;8012;
+2F7F;2F7F;2F7F;8033;8033;
+2F80;2F80;2F80;807F;807F;
+2F81;2F81;2F81;8089;8089;
+2F82;2F82;2F82;81E3;81E3;
+2F83;2F83;2F83;81EA;81EA;
+2F84;2F84;2F84;81F3;81F3;
+2F85;2F85;2F85;81FC;81FC;
+2F86;2F86;2F86;820C;820C;
+2F87;2F87;2F87;821B;821B;
+2F88;2F88;2F88;821F;821F;
+2F89;2F89;2F89;826E;826E;
+2F8A;2F8A;2F8A;8272;8272;
+2F8B;2F8B;2F8B;8278;8278;
+2F8C;2F8C;2F8C;864D;864D;
+2F8D;2F8D;2F8D;866B;866B;
+2F8E;2F8E;2F8E;8840;8840;
+2F8F;2F8F;2F8F;884C;884C;
+2F90;2F90;2F90;8863;8863;
+2F91;2F91;2F91;897E;897E;
+2F92;2F92;2F92;898B;898B;
+2F93;2F93;2F93;89D2;89D2;
+2F94;2F94;2F94;8A00;8A00;
+2F95;2F95;2F95;8C37;8C37;
+2F96;2F96;2F96;8C46;8C46;
+2F97;2F97;2F97;8C55;8C55;
+2F98;2F98;2F98;8C78;8C78;
+2F99;2F99;2F99;8C9D;8C9D;
+2F9A;2F9A;2F9A;8D64;8D64;
+2F9B;2F9B;2F9B;8D70;8D70;
+2F9C;2F9C;2F9C;8DB3;8DB3;
+2F9D;2F9D;2F9D;8EAB;8EAB;
+2F9E;2F9E;2F9E;8ECA;8ECA;
+2F9F;2F9F;2F9F;8F9B;8F9B;
+2FA0;2FA0;2FA0;8FB0;8FB0;
+2FA1;2FA1;2FA1;8FB5;8FB5;
+2FA2;2FA2;2FA2;9091;9091;
+2FA3;2FA3;2FA3;9149;9149;
+2FA4;2FA4;2FA4;91C6;91C6;
+2FA5;2FA5;2FA5;91CC;91CC;
+2FA6;2FA6;2FA6;91D1;91D1;
+2FA7;2FA7;2FA7;9577;9577;
+2FA8;2FA8;2FA8;9580;9580;
+2FA9;2FA9;2FA9;961C;961C;
+2FAA;2FAA;2FAA;96B6;96B6;
+2FAB;2FAB;2FAB;96B9;96B9;
+2FAC;2FAC;2FAC;96E8;96E8;
+2FAD;2FAD;2FAD;9751;9751;
+2FAE;2FAE;2FAE;975E;975E;
+2FAF;2FAF;2FAF;9762;9762;
+2FB0;2FB0;2FB0;9769;9769;
+2FB1;2FB1;2FB1;97CB;97CB;
+2FB2;2FB2;2FB2;97ED;97ED;
+2FB3;2FB3;2FB3;97F3;97F3;
+2FB4;2FB4;2FB4;9801;9801;
+2FB5;2FB5;2FB5;98A8;98A8;
+2FB6;2FB6;2FB6;98DB;98DB;
+2FB7;2FB7;2FB7;98DF;98DF;
+2FB8;2FB8;2FB8;9996;9996;
+2FB9;2FB9;2FB9;9999;9999;
+2FBA;2FBA;2FBA;99AC;99AC;
+2FBB;2FBB;2FBB;9AA8;9AA8;
+2FBC;2FBC;2FBC;9AD8;9AD8;
+2FBD;2FBD;2FBD;9ADF;9ADF;
+2FBE;2FBE;2FBE;9B25;9B25;
+2FBF;2FBF;2FBF;9B2F;9B2F;
+2FC0;2FC0;2FC0;9B32;9B32;
+2FC1;2FC1;2FC1;9B3C;9B3C;
+2FC2;2FC2;2FC2;9B5A;9B5A;
+2FC3;2FC3;2FC3;9CE5;9CE5;
+2FC4;2FC4;2FC4;9E75;9E75;
+2FC5;2FC5;2FC5;9E7F;9E7F;
+2FC6;2FC6;2FC6;9EA5;9EA5;
+2FC7;2FC7;2FC7;9EBB;9EBB;
+2FC8;2FC8;2FC8;9EC3;9EC3;
+2FC9;2FC9;2FC9;9ECD;9ECD;
+2FCA;2FCA;2FCA;9ED1;9ED1;
+2FCB;2FCB;2FCB;9EF9;9EF9;
+2FCC;2FCC;2FCC;9EFD;9EFD;
+2FCD;2FCD;2FCD;9F0E;9F0E;
+2FCE;2FCE;2FCE;9F13;9F13;
+2FCF;2FCF;2FCF;9F20;9F20;
+2FD0;2FD0;2FD0;9F3B;9F3B;
+2FD1;2FD1;2FD1;9F4A;9F4A;
+2FD2;2FD2;2FD2;9F52;9F52;
+2FD3;2FD3;2FD3;9F8D;9F8D;
+2FD4;2FD4;2FD4;9F9C;9F9C;
+2FD5;2FD5;2FD5;9FA0;9FA0;
+3000;3000;3000;0020;0020;
+3036;3036;3036;3012;3012;
+3038;3038;3038;5341;5341;
+3039;3039;3039;5344;5344;
+303A;303A;303A;5345;5345;
+304C;304C;304B 3099;304C;304B 3099;
+304E;304E;304D 3099;304E;304D 3099;
+3050;3050;304F 3099;3050;304F 3099;
+3052;3052;3051 3099;3052;3051 3099;
+3054;3054;3053 3099;3054;3053 3099;
+3056;3056;3055 3099;3056;3055 3099;
+3058;3058;3057 3099;3058;3057 3099;
+305A;305A;3059 3099;305A;3059 3099;
+305C;305C;305B 3099;305C;305B 3099;
+305E;305E;305D 3099;305E;305D 3099;
+3060;3060;305F 3099;3060;305F 3099;
+3062;3062;3061 3099;3062;3061 3099;
+3065;3065;3064 3099;3065;3064 3099;
+3067;3067;3066 3099;3067;3066 3099;
+3069;3069;3068 3099;3069;3068 3099;
+3070;3070;306F 3099;3070;306F 3099;
+3071;3071;306F 309A;3071;306F 309A;
+3073;3073;3072 3099;3073;3072 3099;
+3074;3074;3072 309A;3074;3072 309A;
+3076;3076;3075 3099;3076;3075 3099;
+3077;3077;3075 309A;3077;3075 309A;
+3079;3079;3078 3099;3079;3078 3099;
+307A;307A;3078 309A;307A;3078 309A;
+307C;307C;307B 3099;307C;307B 3099;
+307D;307D;307B 309A;307D;307B 309A;
+3094;3094;3046 3099;3094;3046 3099;
+309B;309B;309B;0020 3099;0020 3099;
+309C;309C;309C;0020 309A;0020 309A;
+309E;309E;309D 3099;309E;309D 3099;
+309F;309F;309F;3088 308A;3088 308A;
+30AC;30AC;30AB 3099;30AC;30AB 3099;
+30AE;30AE;30AD 3099;30AE;30AD 3099;
+30B0;30B0;30AF 3099;30B0;30AF 3099;
+30B2;30B2;30B1 3099;30B2;30B1 3099;
+30B4;30B4;30B3 3099;30B4;30B3 3099;
+30B6;30B6;30B5 3099;30B6;30B5 3099;
+30B8;30B8;30B7 3099;30B8;30B7 3099;
+30BA;30BA;30B9 3099;30BA;30B9 3099;
+30BC;30BC;30BB 3099;30BC;30BB 3099;
+30BE;30BE;30BD 3099;30BE;30BD 3099;
+30C0;30C0;30BF 3099;30C0;30BF 3099;
+30C2;30C2;30C1 3099;30C2;30C1 3099;
+30C5;30C5;30C4 3099;30C5;30C4 3099;
+30C7;30C7;30C6 3099;30C7;30C6 3099;
+30C9;30C9;30C8 3099;30C9;30C8 3099;
+30D0;30D0;30CF 3099;30D0;30CF 3099;
+30D1;30D1;30CF 309A;30D1;30CF 309A;
+30D3;30D3;30D2 3099;30D3;30D2 3099;
+30D4;30D4;30D2 309A;30D4;30D2 309A;
+30D6;30D6;30D5 3099;30D6;30D5 3099;
+30D7;30D7;30D5 309A;30D7;30D5 309A;
+30D9;30D9;30D8 3099;30D9;30D8 3099;
+30DA;30DA;30D8 309A;30DA;30D8 309A;
+30DC;30DC;30DB 3099;30DC;30DB 3099;
+30DD;30DD;30DB 309A;30DD;30DB 309A;
+30F4;30F4;30A6 3099;30F4;30A6 3099;
+30F7;30F7;30EF 3099;30F7;30EF 3099;
+30F8;30F8;30F0 3099;30F8;30F0 3099;
+30F9;30F9;30F1 3099;30F9;30F1 3099;
+30FA;30FA;30F2 3099;30FA;30F2 3099;
+30FE;30FE;30FD 3099;30FE;30FD 3099;
+30FF;30FF;30FF;30B3 30C8;30B3 30C8;
+3131;3131;3131;1100;1100;
+3132;3132;3132;1101;1101;
+3133;3133;3133;11AA;11AA;
+3134;3134;3134;1102;1102;
+3135;3135;3135;11AC;11AC;
+3136;3136;3136;11AD;11AD;
+3137;3137;3137;1103;1103;
+3138;3138;3138;1104;1104;
+3139;3139;3139;1105;1105;
+313A;313A;313A;11B0;11B0;
+313B;313B;313B;11B1;11B1;
+313C;313C;313C;11B2;11B2;
+313D;313D;313D;11B3;11B3;
+313E;313E;313E;11B4;11B4;
+313F;313F;313F;11B5;11B5;
+3140;3140;3140;111A;111A;
+3141;3141;3141;1106;1106;
+3142;3142;3142;1107;1107;
+3143;3143;3143;1108;1108;
+3144;3144;3144;1121;1121;
+3145;3145;3145;1109;1109;
+3146;3146;3146;110A;110A;
+3147;3147;3147;110B;110B;
+3148;3148;3148;110C;110C;
+3149;3149;3149;110D;110D;
+314A;314A;314A;110E;110E;
+314B;314B;314B;110F;110F;
+314C;314C;314C;1110;1110;
+314D;314D;314D;1111;1111;
+314E;314E;314E;1112;1112;
+314F;314F;314F;1161;1161;
+3150;3150;3150;1162;1162;
+3151;3151;3151;1163;1163;
+3152;3152;3152;1164;1164;
+3153;3153;3153;1165;1165;
+3154;3154;3154;1166;1166;
+3155;3155;3155;1167;1167;
+3156;3156;3156;1168;1168;
+3157;3157;3157;1169;1169;
+3158;3158;3158;116A;116A;
+3159;3159;3159;116B;116B;
+315A;315A;315A;116C;116C;
+315B;315B;315B;116D;116D;
+315C;315C;315C;116E;116E;
+315D;315D;315D;116F;116F;
+315E;315E;315E;1170;1170;
+315F;315F;315F;1171;1171;
+3160;3160;3160;1172;1172;
+3161;3161;3161;1173;1173;
+3162;3162;3162;1174;1174;
+3163;3163;3163;1175;1175;
+3164;3164;3164;1160;1160;
+3165;3165;3165;1114;1114;
+3166;3166;3166;1115;1115;
+3167;3167;3167;11C7;11C7;
+3168;3168;3168;11C8;11C8;
+3169;3169;3169;11CC;11CC;
+316A;316A;316A;11CE;11CE;
+316B;316B;316B;11D3;11D3;
+316C;316C;316C;11D7;11D7;
+316D;316D;316D;11D9;11D9;
+316E;316E;316E;111C;111C;
+316F;316F;316F;11DD;11DD;
+3170;3170;3170;11DF;11DF;
+3171;3171;3171;111D;111D;
+3172;3172;3172;111E;111E;
+3173;3173;3173;1120;1120;
+3174;3174;3174;1122;1122;
+3175;3175;3175;1123;1123;
+3176;3176;3176;1127;1127;
+3177;3177;3177;1129;1129;
+3178;3178;3178;112B;112B;
+3179;3179;3179;112C;112C;
+317A;317A;317A;112D;112D;
+317B;317B;317B;112E;112E;
+317C;317C;317C;112F;112F;
+317D;317D;317D;1132;1132;
+317E;317E;317E;1136;1136;
+317F;317F;317F;1140;1140;
+3180;3180;3180;1147;1147;
+3181;3181;3181;114C;114C;
+3182;3182;3182;11F1;11F1;
+3183;3183;3183;11F2;11F2;
+3184;3184;3184;1157;1157;
+3185;3185;3185;1158;1158;
+3186;3186;3186;1159;1159;
+3187;3187;3187;1184;1184;
+3188;3188;3188;1185;1185;
+3189;3189;3189;1188;1188;
+318A;318A;318A;1191;1191;
+318B;318B;318B;1192;1192;
+318C;318C;318C;1194;1194;
+318D;318D;318D;119E;119E;
+318E;318E;318E;11A1;11A1;
+3192;3192;3192;4E00;4E00;
+3193;3193;3193;4E8C;4E8C;
+3194;3194;3194;4E09;4E09;
+3195;3195;3195;56DB;56DB;
+3196;3196;3196;4E0A;4E0A;
+3197;3197;3197;4E2D;4E2D;
+3198;3198;3198;4E0B;4E0B;
+3199;3199;3199;7532;7532;
+319A;319A;319A;4E59;4E59;
+319B;319B;319B;4E19;4E19;
+319C;319C;319C;4E01;4E01;
+319D;319D;319D;5929;5929;
+319E;319E;319E;5730;5730;
+319F;319F;319F;4EBA;4EBA;
+3200;3200;3200;0028 1100 0029;0028 1100 0029;
+3201;3201;3201;0028 1102 0029;0028 1102 0029;
+3202;3202;3202;0028 1103 0029;0028 1103 0029;
+3203;3203;3203;0028 1105 0029;0028 1105 0029;
+3204;3204;3204;0028 1106 0029;0028 1106 0029;
+3205;3205;3205;0028 1107 0029;0028 1107 0029;
+3206;3206;3206;0028 1109 0029;0028 1109 0029;
+3207;3207;3207;0028 110B 0029;0028 110B 0029;
+3208;3208;3208;0028 110C 0029;0028 110C 0029;
+3209;3209;3209;0028 110E 0029;0028 110E 0029;
+320A;320A;320A;0028 110F 0029;0028 110F 0029;
+320B;320B;320B;0028 1110 0029;0028 1110 0029;
+320C;320C;320C;0028 1111 0029;0028 1111 0029;
+320D;320D;320D;0028 1112 0029;0028 1112 0029;
+320E;320E;320E;0028 AC00 0029;0028 1100 1161 0029;
+320F;320F;320F;0028 B098 0029;0028 1102 1161 0029;
+3210;3210;3210;0028 B2E4 0029;0028 1103 1161 0029;
+3211;3211;3211;0028 B77C 0029;0028 1105 1161 0029;
+3212;3212;3212;0028 B9C8 0029;0028 1106 1161 0029;
+3213;3213;3213;0028 BC14 0029;0028 1107 1161 0029;
+3214;3214;3214;0028 C0AC 0029;0028 1109 1161 0029;
+3215;3215;3215;0028 C544 0029;0028 110B 1161 0029;
+3216;3216;3216;0028 C790 0029;0028 110C 1161 0029;
+3217;3217;3217;0028 CC28 0029;0028 110E 1161 0029;
+3218;3218;3218;0028 CE74 0029;0028 110F 1161 0029;
+3219;3219;3219;0028 D0C0 0029;0028 1110 1161 0029;
+321A;321A;321A;0028 D30C 0029;0028 1111 1161 0029;
+321B;321B;321B;0028 D558 0029;0028 1112 1161 0029;
+321C;321C;321C;0028 C8FC 0029;0028 110C 116E 0029;
+321D;321D;321D;0028 C624 C804 0029;0028 110B 1169 110C 1165 11AB 0029;
+321E;321E;321E;0028 C624 D6C4 0029;0028 110B 1169 1112 116E 0029;
+3220;3220;3220;0028 4E00 0029;0028 4E00 0029;
+3221;3221;3221;0028 4E8C 0029;0028 4E8C 0029;
+3222;3222;3222;0028 4E09 0029;0028 4E09 0029;
+3223;3223;3223;0028 56DB 0029;0028 56DB 0029;
+3224;3224;3224;0028 4E94 0029;0028 4E94 0029;
+3225;3225;3225;0028 516D 0029;0028 516D 0029;
+3226;3226;3226;0028 4E03 0029;0028 4E03 0029;
+3227;3227;3227;0028 516B 0029;0028 516B 0029;
+3228;3228;3228;0028 4E5D 0029;0028 4E5D 0029;
+3229;3229;3229;0028 5341 0029;0028 5341 0029;
+322A;322A;322A;0028 6708 0029;0028 6708 0029;
+322B;322B;322B;0028 706B 0029;0028 706B 0029;
+322C;322C;322C;0028 6C34 0029;0028 6C34 0029;
+322D;322D;322D;0028 6728 0029;0028 6728 0029;
+322E;322E;322E;0028 91D1 0029;0028 91D1 0029;
+322F;322F;322F;0028 571F 0029;0028 571F 0029;
+3230;3230;3230;0028 65E5 0029;0028 65E5 0029;
+3231;3231;3231;0028 682A 0029;0028 682A 0029;
+3232;3232;3232;0028 6709 0029;0028 6709 0029;
+3233;3233;3233;0028 793E 0029;0028 793E 0029;
+3234;3234;3234;0028 540D 0029;0028 540D 0029;
+3235;3235;3235;0028 7279 0029;0028 7279 0029;
+3236;3236;3236;0028 8CA1 0029;0028 8CA1 0029;
+3237;3237;3237;0028 795D 0029;0028 795D 0029;
+3238;3238;3238;0028 52B4 0029;0028 52B4 0029;
+3239;3239;3239;0028 4EE3 0029;0028 4EE3 0029;
+323A;323A;323A;0028 547C 0029;0028 547C 0029;
+323B;323B;323B;0028 5B66 0029;0028 5B66 0029;
+323C;323C;323C;0028 76E3 0029;0028 76E3 0029;
+323D;323D;323D;0028 4F01 0029;0028 4F01 0029;
+323E;323E;323E;0028 8CC7 0029;0028 8CC7 0029;
+323F;323F;323F;0028 5354 0029;0028 5354 0029;
+3240;3240;3240;0028 796D 0029;0028 796D 0029;
+3241;3241;3241;0028 4F11 0029;0028 4F11 0029;
+3242;3242;3242;0028 81EA 0029;0028 81EA 0029;
+3243;3243;3243;0028 81F3 0029;0028 81F3 0029;
+3250;3250;3250;0050 0054 0045;0050 0054 0045;
+3251;3251;3251;0032 0031;0032 0031;
+3252;3252;3252;0032 0032;0032 0032;
+3253;3253;3253;0032 0033;0032 0033;
+3254;3254;3254;0032 0034;0032 0034;
+3255;3255;3255;0032 0035;0032 0035;
+3256;3256;3256;0032 0036;0032 0036;
+3257;3257;3257;0032 0037;0032 0037;
+3258;3258;3258;0032 0038;0032 0038;
+3259;3259;3259;0032 0039;0032 0039;
+325A;325A;325A;0033 0030;0033 0030;
+325B;325B;325B;0033 0031;0033 0031;
+325C;325C;325C;0033 0032;0033 0032;
+325D;325D;325D;0033 0033;0033 0033;
+325E;325E;325E;0033 0034;0033 0034;
+325F;325F;325F;0033 0035;0033 0035;
+3260;3260;3260;1100;1100;
+3261;3261;3261;1102;1102;
+3262;3262;3262;1103;1103;
+3263;3263;3263;1105;1105;
+3264;3264;3264;1106;1106;
+3265;3265;3265;1107;1107;
+3266;3266;3266;1109;1109;
+3267;3267;3267;110B;110B;
+3268;3268;3268;110C;110C;
+3269;3269;3269;110E;110E;
+326A;326A;326A;110F;110F;
+326B;326B;326B;1110;1110;
+326C;326C;326C;1111;1111;
+326D;326D;326D;1112;1112;
+326E;326E;326E;AC00;1100 1161;
+326F;326F;326F;B098;1102 1161;
+3270;3270;3270;B2E4;1103 1161;
+3271;3271;3271;B77C;1105 1161;
+3272;3272;3272;B9C8;1106 1161;
+3273;3273;3273;BC14;1107 1161;
+3274;3274;3274;C0AC;1109 1161;
+3275;3275;3275;C544;110B 1161;
+3276;3276;3276;C790;110C 1161;
+3277;3277;3277;CC28;110E 1161;
+3278;3278;3278;CE74;110F 1161;
+3279;3279;3279;D0C0;1110 1161;
+327A;327A;327A;D30C;1111 1161;
+327B;327B;327B;D558;1112 1161;
+327C;327C;327C;CC38 ACE0;110E 1161 11B7 1100 1169;
+327D;327D;327D;C8FC C758;110C 116E 110B 1174;
+327E;327E;327E;C6B0;110B 116E;
+3280;3280;3280;4E00;4E00;
+3281;3281;3281;4E8C;4E8C;
+3282;3282;3282;4E09;4E09;
+3283;3283;3283;56DB;56DB;
+3284;3284;3284;4E94;4E94;
+3285;3285;3285;516D;516D;
+3286;3286;3286;4E03;4E03;
+3287;3287;3287;516B;516B;
+3288;3288;3288;4E5D;4E5D;
+3289;3289;3289;5341;5341;
+328A;328A;328A;6708;6708;
+328B;328B;328B;706B;706B;
+328C;328C;328C;6C34;6C34;
+328D;328D;328D;6728;6728;
+328E;328E;328E;91D1;91D1;
+328F;328F;328F;571F;571F;
+3290;3290;3290;65E5;65E5;
+3291;3291;3291;682A;682A;
+3292;3292;3292;6709;6709;
+3293;3293;3293;793E;793E;
+3294;3294;3294;540D;540D;
+3295;3295;3295;7279;7279;
+3296;3296;3296;8CA1;8CA1;
+3297;3297;3297;795D;795D;
+3298;3298;3298;52B4;52B4;
+3299;3299;3299;79D8;79D8;
+329A;329A;329A;7537;7537;
+329B;329B;329B;5973;5973;
+329C;329C;329C;9069;9069;
+329D;329D;329D;512A;512A;
+329E;329E;329E;5370;5370;
+329F;329F;329F;6CE8;6CE8;
+32A0;32A0;32A0;9805;9805;
+32A1;32A1;32A1;4F11;4F11;
+32A2;32A2;32A2;5199;5199;
+32A3;32A3;32A3;6B63;6B63;
+32A4;32A4;32A4;4E0A;4E0A;
+32A5;32A5;32A5;4E2D;4E2D;
+32A6;32A6;32A6;4E0B;4E0B;
+32A7;32A7;32A7;5DE6;5DE6;
+32A8;32A8;32A8;53F3;53F3;
+32A9;32A9;32A9;533B;533B;
+32AA;32AA;32AA;5B97;5B97;
+32AB;32AB;32AB;5B66;5B66;
+32AC;32AC;32AC;76E3;76E3;
+32AD;32AD;32AD;4F01;4F01;
+32AE;32AE;32AE;8CC7;8CC7;
+32AF;32AF;32AF;5354;5354;
+32B0;32B0;32B0;591C;591C;
+32B1;32B1;32B1;0033 0036;0033 0036;
+32B2;32B2;32B2;0033 0037;0033 0037;
+32B3;32B3;32B3;0033 0038;0033 0038;
+32B4;32B4;32B4;0033 0039;0033 0039;
+32B5;32B5;32B5;0034 0030;0034 0030;
+32B6;32B6;32B6;0034 0031;0034 0031;
+32B7;32B7;32B7;0034 0032;0034 0032;
+32B8;32B8;32B8;0034 0033;0034 0033;
+32B9;32B9;32B9;0034 0034;0034 0034;
+32BA;32BA;32BA;0034 0035;0034 0035;
+32BB;32BB;32BB;0034 0036;0034 0036;
+32BC;32BC;32BC;0034 0037;0034 0037;
+32BD;32BD;32BD;0034 0038;0034 0038;
+32BE;32BE;32BE;0034 0039;0034 0039;
+32BF;32BF;32BF;0035 0030;0035 0030;
+32C0;32C0;32C0;0031 6708;0031 6708;
+32C1;32C1;32C1;0032 6708;0032 6708;
+32C2;32C2;32C2;0033 6708;0033 6708;
+32C3;32C3;32C3;0034 6708;0034 6708;
+32C4;32C4;32C4;0035 6708;0035 6708;
+32C5;32C5;32C5;0036 6708;0036 6708;
+32C6;32C6;32C6;0037 6708;0037 6708;
+32C7;32C7;32C7;0038 6708;0038 6708;
+32C8;32C8;32C8;0039 6708;0039 6708;
+32C9;32C9;32C9;0031 0030 6708;0031 0030 6708;
+32CA;32CA;32CA;0031 0031 6708;0031 0031 6708;
+32CB;32CB;32CB;0031 0032 6708;0031 0032 6708;
+32CC;32CC;32CC;0048 0067;0048 0067;
+32CD;32CD;32CD;0065 0072 0067;0065 0072 0067;
+32CE;32CE;32CE;0065 0056;0065 0056;
+32CF;32CF;32CF;004C 0054 0044;004C 0054 0044;
+32D0;32D0;32D0;30A2;30A2;
+32D1;32D1;32D1;30A4;30A4;
+32D2;32D2;32D2;30A6;30A6;
+32D3;32D3;32D3;30A8;30A8;
+32D4;32D4;32D4;30AA;30AA;
+32D5;32D5;32D5;30AB;30AB;
+32D6;32D6;32D6;30AD;30AD;
+32D7;32D7;32D7;30AF;30AF;
+32D8;32D8;32D8;30B1;30B1;
+32D9;32D9;32D9;30B3;30B3;
+32DA;32DA;32DA;30B5;30B5;
+32DB;32DB;32DB;30B7;30B7;
+32DC;32DC;32DC;30B9;30B9;
+32DD;32DD;32DD;30BB;30BB;
+32DE;32DE;32DE;30BD;30BD;
+32DF;32DF;32DF;30BF;30BF;
+32E0;32E0;32E0;30C1;30C1;
+32E1;32E1;32E1;30C4;30C4;
+32E2;32E2;32E2;30C6;30C6;
+32E3;32E3;32E3;30C8;30C8;
+32E4;32E4;32E4;30CA;30CA;
+32E5;32E5;32E5;30CB;30CB;
+32E6;32E6;32E6;30CC;30CC;
+32E7;32E7;32E7;30CD;30CD;
+32E8;32E8;32E8;30CE;30CE;
+32E9;32E9;32E9;30CF;30CF;
+32EA;32EA;32EA;30D2;30D2;
+32EB;32EB;32EB;30D5;30D5;
+32EC;32EC;32EC;30D8;30D8;
+32ED;32ED;32ED;30DB;30DB;
+32EE;32EE;32EE;30DE;30DE;
+32EF;32EF;32EF;30DF;30DF;
+32F0;32F0;32F0;30E0;30E0;
+32F1;32F1;32F1;30E1;30E1;
+32F2;32F2;32F2;30E2;30E2;
+32F3;32F3;32F3;30E4;30E4;
+32F4;32F4;32F4;30E6;30E6;
+32F5;32F5;32F5;30E8;30E8;
+32F6;32F6;32F6;30E9;30E9;
+32F7;32F7;32F7;30EA;30EA;
+32F8;32F8;32F8;30EB;30EB;
+32F9;32F9;32F9;30EC;30EC;
+32FA;32FA;32FA;30ED;30ED;
+32FB;32FB;32FB;30EF;30EF;
+32FC;32FC;32FC;30F0;30F0;
+32FD;32FD;32FD;30F1;30F1;
+32FE;32FE;32FE;30F2;30F2;
+3300;3300;3300;30A2 30D1 30FC 30C8;30A2 30CF 309A 30FC 30C8;
+3301;3301;3301;30A2 30EB 30D5 30A1;30A2 30EB 30D5 30A1;
+3302;3302;3302;30A2 30F3 30DA 30A2;30A2 30F3 30D8 309A 30A2;
+3303;3303;3303;30A2 30FC 30EB;30A2 30FC 30EB;
+3304;3304;3304;30A4 30CB 30F3 30B0;30A4 30CB 30F3 30AF 3099;
+3305;3305;3305;30A4 30F3 30C1;30A4 30F3 30C1;
+3306;3306;3306;30A6 30A9 30F3;30A6 30A9 30F3;
+3307;3307;3307;30A8 30B9 30AF 30FC 30C9;30A8 30B9 30AF 30FC 30C8 3099;
+3308;3308;3308;30A8 30FC 30AB 30FC;30A8 30FC 30AB 30FC;
+3309;3309;3309;30AA 30F3 30B9;30AA 30F3 30B9;
+330A;330A;330A;30AA 30FC 30E0;30AA 30FC 30E0;
+330B;330B;330B;30AB 30A4 30EA;30AB 30A4 30EA;
+330C;330C;330C;30AB 30E9 30C3 30C8;30AB 30E9 30C3 30C8;
+330D;330D;330D;30AB 30ED 30EA 30FC;30AB 30ED 30EA 30FC;
+330E;330E;330E;30AC 30ED 30F3;30AB 3099 30ED 30F3;
+330F;330F;330F;30AC 30F3 30DE;30AB 3099 30F3 30DE;
+3310;3310;3310;30AE 30AC;30AD 3099 30AB 3099;
+3311;3311;3311;30AE 30CB 30FC;30AD 3099 30CB 30FC;
+3312;3312;3312;30AD 30E5 30EA 30FC;30AD 30E5 30EA 30FC;
+3313;3313;3313;30AE 30EB 30C0 30FC;30AD 3099 30EB 30BF 3099 30FC;
+3314;3314;3314;30AD 30ED;30AD 30ED;
+3315;3315;3315;30AD 30ED 30B0 30E9 30E0;30AD 30ED 30AF 3099 30E9 30E0;
+3316;3316;3316;30AD 30ED 30E1 30FC 30C8 30EB;30AD 30ED 30E1 30FC 30C8 30EB;
+3317;3317;3317;30AD 30ED 30EF 30C3 30C8;30AD 30ED 30EF 30C3 30C8;
+3318;3318;3318;30B0 30E9 30E0;30AF 3099 30E9 30E0;
+3319;3319;3319;30B0 30E9 30E0 30C8 30F3;30AF 3099 30E9 30E0 30C8 30F3;
+331A;331A;331A;30AF 30EB 30BC 30A4 30ED;30AF 30EB 30BB 3099 30A4 30ED;
+331B;331B;331B;30AF 30ED 30FC 30CD;30AF 30ED 30FC 30CD;
+331C;331C;331C;30B1 30FC 30B9;30B1 30FC 30B9;
+331D;331D;331D;30B3 30EB 30CA;30B3 30EB 30CA;
+331E;331E;331E;30B3 30FC 30DD;30B3 30FC 30DB 309A;
+331F;331F;331F;30B5 30A4 30AF 30EB;30B5 30A4 30AF 30EB;
+3320;3320;3320;30B5 30F3 30C1 30FC 30E0;30B5 30F3 30C1 30FC 30E0;
+3321;3321;3321;30B7 30EA 30F3 30B0;30B7 30EA 30F3 30AF 3099;
+3322;3322;3322;30BB 30F3 30C1;30BB 30F3 30C1;
+3323;3323;3323;30BB 30F3 30C8;30BB 30F3 30C8;
+3324;3324;3324;30C0 30FC 30B9;30BF 3099 30FC 30B9;
+3325;3325;3325;30C7 30B7;30C6 3099 30B7;
+3326;3326;3326;30C9 30EB;30C8 3099 30EB;
+3327;3327;3327;30C8 30F3;30C8 30F3;
+3328;3328;3328;30CA 30CE;30CA 30CE;
+3329;3329;3329;30CE 30C3 30C8;30CE 30C3 30C8;
+332A;332A;332A;30CF 30A4 30C4;30CF 30A4 30C4;
+332B;332B;332B;30D1 30FC 30BB 30F3 30C8;30CF 309A 30FC 30BB 30F3 30C8;
+332C;332C;332C;30D1 30FC 30C4;30CF 309A 30FC 30C4;
+332D;332D;332D;30D0 30FC 30EC 30EB;30CF 3099 30FC 30EC 30EB;
+332E;332E;332E;30D4 30A2 30B9 30C8 30EB;30D2 309A 30A2 30B9 30C8 30EB;
+332F;332F;332F;30D4 30AF 30EB;30D2 309A 30AF 30EB;
+3330;3330;3330;30D4 30B3;30D2 309A 30B3;
+3331;3331;3331;30D3 30EB;30D2 3099 30EB;
+3332;3332;3332;30D5 30A1 30E9 30C3 30C9;30D5 30A1 30E9 30C3 30C8 3099;
+3333;3333;3333;30D5 30A3 30FC 30C8;30D5 30A3 30FC 30C8;
+3334;3334;3334;30D6 30C3 30B7 30A7 30EB;30D5 3099 30C3 30B7 30A7 30EB;
+3335;3335;3335;30D5 30E9 30F3;30D5 30E9 30F3;
+3336;3336;3336;30D8 30AF 30BF 30FC 30EB;30D8 30AF 30BF 30FC 30EB;
+3337;3337;3337;30DA 30BD;30D8 309A 30BD;
+3338;3338;3338;30DA 30CB 30D2;30D8 309A 30CB 30D2;
+3339;3339;3339;30D8 30EB 30C4;30D8 30EB 30C4;
+333A;333A;333A;30DA 30F3 30B9;30D8 309A 30F3 30B9;
+333B;333B;333B;30DA 30FC 30B8;30D8 309A 30FC 30B7 3099;
+333C;333C;333C;30D9 30FC 30BF;30D8 3099 30FC 30BF;
+333D;333D;333D;30DD 30A4 30F3 30C8;30DB 309A 30A4 30F3 30C8;
+333E;333E;333E;30DC 30EB 30C8;30DB 3099 30EB 30C8;
+333F;333F;333F;30DB 30F3;30DB 30F3;
+3340;3340;3340;30DD 30F3 30C9;30DB 309A 30F3 30C8 3099;
+3341;3341;3341;30DB 30FC 30EB;30DB 30FC 30EB;
+3342;3342;3342;30DB 30FC 30F3;30DB 30FC 30F3;
+3343;3343;3343;30DE 30A4 30AF 30ED;30DE 30A4 30AF 30ED;
+3344;3344;3344;30DE 30A4 30EB;30DE 30A4 30EB;
+3345;3345;3345;30DE 30C3 30CF;30DE 30C3 30CF;
+3346;3346;3346;30DE 30EB 30AF;30DE 30EB 30AF;
+3347;3347;3347;30DE 30F3 30B7 30E7 30F3;30DE 30F3 30B7 30E7 30F3;
+3348;3348;3348;30DF 30AF 30ED 30F3;30DF 30AF 30ED 30F3;
+3349;3349;3349;30DF 30EA;30DF 30EA;
+334A;334A;334A;30DF 30EA 30D0 30FC 30EB;30DF 30EA 30CF 3099 30FC 30EB;
+334B;334B;334B;30E1 30AC;30E1 30AB 3099;
+334C;334C;334C;30E1 30AC 30C8 30F3;30E1 30AB 3099 30C8 30F3;
+334D;334D;334D;30E1 30FC 30C8 30EB;30E1 30FC 30C8 30EB;
+334E;334E;334E;30E4 30FC 30C9;30E4 30FC 30C8 3099;
+334F;334F;334F;30E4 30FC 30EB;30E4 30FC 30EB;
+3350;3350;3350;30E6 30A2 30F3;30E6 30A2 30F3;
+3351;3351;3351;30EA 30C3 30C8 30EB;30EA 30C3 30C8 30EB;
+3352;3352;3352;30EA 30E9;30EA 30E9;
+3353;3353;3353;30EB 30D4 30FC;30EB 30D2 309A 30FC;
+3354;3354;3354;30EB 30FC 30D6 30EB;30EB 30FC 30D5 3099 30EB;
+3355;3355;3355;30EC 30E0;30EC 30E0;
+3356;3356;3356;30EC 30F3 30C8 30B2 30F3;30EC 30F3 30C8 30B1 3099 30F3;
+3357;3357;3357;30EF 30C3 30C8;30EF 30C3 30C8;
+3358;3358;3358;0030 70B9;0030 70B9;
+3359;3359;3359;0031 70B9;0031 70B9;
+335A;335A;335A;0032 70B9;0032 70B9;
+335B;335B;335B;0033 70B9;0033 70B9;
+335C;335C;335C;0034 70B9;0034 70B9;
+335D;335D;335D;0035 70B9;0035 70B9;
+335E;335E;335E;0036 70B9;0036 70B9;
+335F;335F;335F;0037 70B9;0037 70B9;
+3360;3360;3360;0038 70B9;0038 70B9;
+3361;3361;3361;0039 70B9;0039 70B9;
+3362;3362;3362;0031 0030 70B9;0031 0030 70B9;
+3363;3363;3363;0031 0031 70B9;0031 0031 70B9;
+3364;3364;3364;0031 0032 70B9;0031 0032 70B9;
+3365;3365;3365;0031 0033 70B9;0031 0033 70B9;
+3366;3366;3366;0031 0034 70B9;0031 0034 70B9;
+3367;3367;3367;0031 0035 70B9;0031 0035 70B9;
+3368;3368;3368;0031 0036 70B9;0031 0036 70B9;
+3369;3369;3369;0031 0037 70B9;0031 0037 70B9;
+336A;336A;336A;0031 0038 70B9;0031 0038 70B9;
+336B;336B;336B;0031 0039 70B9;0031 0039 70B9;
+336C;336C;336C;0032 0030 70B9;0032 0030 70B9;
+336D;336D;336D;0032 0031 70B9;0032 0031 70B9;
+336E;336E;336E;0032 0032 70B9;0032 0032 70B9;
+336F;336F;336F;0032 0033 70B9;0032 0033 70B9;
+3370;3370;3370;0032 0034 70B9;0032 0034 70B9;
+3371;3371;3371;0068 0050 0061;0068 0050 0061;
+3372;3372;3372;0064 0061;0064 0061;
+3373;3373;3373;0041 0055;0041 0055;
+3374;3374;3374;0062 0061 0072;0062 0061 0072;
+3375;3375;3375;006F 0056;006F 0056;
+3376;3376;3376;0070 0063;0070 0063;
+3377;3377;3377;0064 006D;0064 006D;
+3378;3378;3378;0064 006D 0032;0064 006D 0032;
+3379;3379;3379;0064 006D 0033;0064 006D 0033;
+337A;337A;337A;0049 0055;0049 0055;
+337B;337B;337B;5E73 6210;5E73 6210;
+337C;337C;337C;662D 548C;662D 548C;
+337D;337D;337D;5927 6B63;5927 6B63;
+337E;337E;337E;660E 6CBB;660E 6CBB;
+337F;337F;337F;682A 5F0F 4F1A 793E;682A 5F0F 4F1A 793E;
+3380;3380;3380;0070 0041;0070 0041;
+3381;3381;3381;006E 0041;006E 0041;
+3382;3382;3382;03BC 0041;03BC 0041;
+3383;3383;3383;006D 0041;006D 0041;
+3384;3384;3384;006B 0041;006B 0041;
+3385;3385;3385;004B 0042;004B 0042;
+3386;3386;3386;004D 0042;004D 0042;
+3387;3387;3387;0047 0042;0047 0042;
+3388;3388;3388;0063 0061 006C;0063 0061 006C;
+3389;3389;3389;006B 0063 0061 006C;006B 0063 0061 006C;
+338A;338A;338A;0070 0046;0070 0046;
+338B;338B;338B;006E 0046;006E 0046;
+338C;338C;338C;03BC 0046;03BC 0046;
+338D;338D;338D;03BC 0067;03BC 0067;
+338E;338E;338E;006D 0067;006D 0067;
+338F;338F;338F;006B 0067;006B 0067;
+3390;3390;3390;0048 007A;0048 007A;
+3391;3391;3391;006B 0048 007A;006B 0048 007A;
+3392;3392;3392;004D 0048 007A;004D 0048 007A;
+3393;3393;3393;0047 0048 007A;0047 0048 007A;
+3394;3394;3394;0054 0048 007A;0054 0048 007A;
+3395;3395;3395;03BC 006C;03BC 006C;
+3396;3396;3396;006D 006C;006D 006C;
+3397;3397;3397;0064 006C;0064 006C;
+3398;3398;3398;006B 006C;006B 006C;
+3399;3399;3399;0066 006D;0066 006D;
+339A;339A;339A;006E 006D;006E 006D;
+339B;339B;339B;03BC 006D;03BC 006D;
+339C;339C;339C;006D 006D;006D 006D;
+339D;339D;339D;0063 006D;0063 006D;
+339E;339E;339E;006B 006D;006B 006D;
+339F;339F;339F;006D 006D 0032;006D 006D 0032;
+33A0;33A0;33A0;0063 006D 0032;0063 006D 0032;
+33A1;33A1;33A1;006D 0032;006D 0032;
+33A2;33A2;33A2;006B 006D 0032;006B 006D 0032;
+33A3;33A3;33A3;006D 006D 0033;006D 006D 0033;
+33A4;33A4;33A4;0063 006D 0033;0063 006D 0033;
+33A5;33A5;33A5;006D 0033;006D 0033;
+33A6;33A6;33A6;006B 006D 0033;006B 006D 0033;
+33A7;33A7;33A7;006D 2215 0073;006D 2215 0073;
+33A8;33A8;33A8;006D 2215 0073 0032;006D 2215 0073 0032;
+33A9;33A9;33A9;0050 0061;0050 0061;
+33AA;33AA;33AA;006B 0050 0061;006B 0050 0061;
+33AB;33AB;33AB;004D 0050 0061;004D 0050 0061;
+33AC;33AC;33AC;0047 0050 0061;0047 0050 0061;
+33AD;33AD;33AD;0072 0061 0064;0072 0061 0064;
+33AE;33AE;33AE;0072 0061 0064 2215 0073;0072 0061 0064 2215 0073;
+33AF;33AF;33AF;0072 0061 0064 2215 0073 0032;0072 0061 0064 2215 0073 0032;
+33B0;33B0;33B0;0070 0073;0070 0073;
+33B1;33B1;33B1;006E 0073;006E 0073;
+33B2;33B2;33B2;03BC 0073;03BC 0073;
+33B3;33B3;33B3;006D 0073;006D 0073;
+33B4;33B4;33B4;0070 0056;0070 0056;
+33B5;33B5;33B5;006E 0056;006E 0056;
+33B6;33B6;33B6;03BC 0056;03BC 0056;
+33B7;33B7;33B7;006D 0056;006D 0056;
+33B8;33B8;33B8;006B 0056;006B 0056;
+33B9;33B9;33B9;004D 0056;004D 0056;
+33BA;33BA;33BA;0070 0057;0070 0057;
+33BB;33BB;33BB;006E 0057;006E 0057;
+33BC;33BC;33BC;03BC 0057;03BC 0057;
+33BD;33BD;33BD;006D 0057;006D 0057;
+33BE;33BE;33BE;006B 0057;006B 0057;
+33BF;33BF;33BF;004D 0057;004D 0057;
+33C0;33C0;33C0;006B 03A9;006B 03A9;
+33C1;33C1;33C1;004D 03A9;004D 03A9;
+33C2;33C2;33C2;0061 002E 006D 002E;0061 002E 006D 002E;
+33C3;33C3;33C3;0042 0071;0042 0071;
+33C4;33C4;33C4;0063 0063;0063 0063;
+33C5;33C5;33C5;0063 0064;0063 0064;
+33C6;33C6;33C6;0043 2215 006B 0067;0043 2215 006B 0067;
+33C7;33C7;33C7;0043 006F 002E;0043 006F 002E;
+33C8;33C8;33C8;0064 0042;0064 0042;
+33C9;33C9;33C9;0047 0079;0047 0079;
+33CA;33CA;33CA;0068 0061;0068 0061;
+33CB;33CB;33CB;0048 0050;0048 0050;
+33CC;33CC;33CC;0069 006E;0069 006E;
+33CD;33CD;33CD;004B 004B;004B 004B;
+33CE;33CE;33CE;004B 004D;004B 004D;
+33CF;33CF;33CF;006B 0074;006B 0074;
+33D0;33D0;33D0;006C 006D;006C 006D;
+33D1;33D1;33D1;006C 006E;006C 006E;
+33D2;33D2;33D2;006C 006F 0067;006C 006F 0067;
+33D3;33D3;33D3;006C 0078;006C 0078;
+33D4;33D4;33D4;006D 0062;006D 0062;
+33D5;33D5;33D5;006D 0069 006C;006D 0069 006C;
+33D6;33D6;33D6;006D 006F 006C;006D 006F 006C;
+33D7;33D7;33D7;0050 0048;0050 0048;
+33D8;33D8;33D8;0070 002E 006D 002E;0070 002E 006D 002E;
+33D9;33D9;33D9;0050 0050 004D;0050 0050 004D;
+33DA;33DA;33DA;0050 0052;0050 0052;
+33DB;33DB;33DB;0073 0072;0073 0072;
+33DC;33DC;33DC;0053 0076;0053 0076;
+33DD;33DD;33DD;0057 0062;0057 0062;
+33DE;33DE;33DE;0056 2215 006D;0056 2215 006D;
+33DF;33DF;33DF;0041 2215 006D;0041 2215 006D;
+33E0;33E0;33E0;0031 65E5;0031 65E5;
+33E1;33E1;33E1;0032 65E5;0032 65E5;
+33E2;33E2;33E2;0033 65E5;0033 65E5;
+33E3;33E3;33E3;0034 65E5;0034 65E5;
+33E4;33E4;33E4;0035 65E5;0035 65E5;
+33E5;33E5;33E5;0036 65E5;0036 65E5;
+33E6;33E6;33E6;0037 65E5;0037 65E5;
+33E7;33E7;33E7;0038 65E5;0038 65E5;
+33E8;33E8;33E8;0039 65E5;0039 65E5;
+33E9;33E9;33E9;0031 0030 65E5;0031 0030 65E5;
+33EA;33EA;33EA;0031 0031 65E5;0031 0031 65E5;
+33EB;33EB;33EB;0031 0032 65E5;0031 0032 65E5;
+33EC;33EC;33EC;0031 0033 65E5;0031 0033 65E5;
+33ED;33ED;33ED;0031 0034 65E5;0031 0034 65E5;
+33EE;33EE;33EE;0031 0035 65E5;0031 0035 65E5;
+33EF;33EF;33EF;0031 0036 65E5;0031 0036 65E5;
+33F0;33F0;33F0;0031 0037 65E5;0031 0037 65E5;
+33F1;33F1;33F1;0031 0038 65E5;0031 0038 65E5;
+33F2;33F2;33F2;0031 0039 65E5;0031 0039 65E5;
+33F3;33F3;33F3;0032 0030 65E5;0032 0030 65E5;
+33F4;33F4;33F4;0032 0031 65E5;0032 0031 65E5;
+33F5;33F5;33F5;0032 0032 65E5;0032 0032 65E5;
+33F6;33F6;33F6;0032 0033 65E5;0032 0033 65E5;
+33F7;33F7;33F7;0032 0034 65E5;0032 0034 65E5;
+33F8;33F8;33F8;0032 0035 65E5;0032 0035 65E5;
+33F9;33F9;33F9;0032 0036 65E5;0032 0036 65E5;
+33FA;33FA;33FA;0032 0037 65E5;0032 0037 65E5;
+33FB;33FB;33FB;0032 0038 65E5;0032 0038 65E5;
+33FC;33FC;33FC;0032 0039 65E5;0032 0039 65E5;
+33FD;33FD;33FD;0033 0030 65E5;0033 0030 65E5;
+33FE;33FE;33FE;0033 0031 65E5;0033 0031 65E5;
+33FF;33FF;33FF;0067 0061 006C;0067 0061 006C;
+AC00;AC00;1100 1161;AC00;1100 1161;
+AC01;AC01;1100 1161 11A8;AC01;1100 1161 11A8;
+AC02;AC02;1100 1161 11A9;AC02;1100 1161 11A9;
+AC03;AC03;1100 1161 11AA;AC03;1100 1161 11AA;
+AC04;AC04;1100 1161 11AB;AC04;1100 1161 11AB;
+AC05;AC05;1100 1161 11AC;AC05;1100 1161 11AC;
+AC06;AC06;1100 1161 11AD;AC06;1100 1161 11AD;
+AC07;AC07;1100 1161 11AE;AC07;1100 1161 11AE;
+AC08;AC08;1100 1161 11AF;AC08;1100 1161 11AF;
+AC09;AC09;1100 1161 11B0;AC09;1100 1161 11B0;
+AC0A;AC0A;1100 1161 11B1;AC0A;1100 1161 11B1;
+AC0B;AC0B;1100 1161 11B2;AC0B;1100 1161 11B2;
+AC0C;AC0C;1100 1161 11B3;AC0C;1100 1161 11B3;
+AC0D;AC0D;1100 1161 11B4;AC0D;1100 1161 11B4;
+AC0E;AC0E;1100 1161 11B5;AC0E;1100 1161 11B5;
+AC0F;AC0F;1100 1161 11B6;AC0F;1100 1161 11B6;
+AC10;AC10;1100 1161 11B7;AC10;1100 1161 11B7;
+AC11;AC11;1100 1161 11B8;AC11;1100 1161 11B8;
+AC12;AC12;1100 1161 11B9;AC12;1100 1161 11B9;
+AC13;AC13;1100 1161 11BA;AC13;1100 1161 11BA;
+AC14;AC14;1100 1161 11BB;AC14;1100 1161 11BB;
+AC15;AC15;1100 1161 11BC;AC15;1100 1161 11BC;
+AC16;AC16;1100 1161 11BD;AC16;1100 1161 11BD;
+AC17;AC17;1100 1161 11BE;AC17;1100 1161 11BE;
+AC18;AC18;1100 1161 11BF;AC18;1100 1161 11BF;
+AC19;AC19;1100 1161 11C0;AC19;1100 1161 11C0;
+AC1A;AC1A;1100 1161 11C1;AC1A;1100 1161 11C1;
+AC1B;AC1B;1100 1161 11C2;AC1B;1100 1161 11C2;
+AC1C;AC1C;1100 1162;AC1C;1100 1162;
+AC1D;AC1D;1100 1162 11A8;AC1D;1100 1162 11A8;
+AC1E;AC1E;1100 1162 11A9;AC1E;1100 1162 11A9;
+AC1F;AC1F;1100 1162 11AA;AC1F;1100 1162 11AA;
+AC20;AC20;1100 1162 11AB;AC20;1100 1162 11AB;
+AC21;AC21;1100 1162 11AC;AC21;1100 1162 11AC;
+AC22;AC22;1100 1162 11AD;AC22;1100 1162 11AD;
+AC23;AC23;1100 1162 11AE;AC23;1100 1162 11AE;
+AC24;AC24;1100 1162 11AF;AC24;1100 1162 11AF;
+AC25;AC25;1100 1162 11B0;AC25;1100 1162 11B0;
+AC26;AC26;1100 1162 11B1;AC26;1100 1162 11B1;
+AC27;AC27;1100 1162 11B2;AC27;1100 1162 11B2;
+AC28;AC28;1100 1162 11B3;AC28;1100 1162 11B3;
+AC29;AC29;1100 1162 11B4;AC29;1100 1162 11B4;
+AC2A;AC2A;1100 1162 11B5;AC2A;1100 1162 11B5;
+AC2B;AC2B;1100 1162 11B6;AC2B;1100 1162 11B6;
+AC2C;AC2C;1100 1162 11B7;AC2C;1100 1162 11B7;
+AC2D;AC2D;1100 1162 11B8;AC2D;1100 1162 11B8;
+AC2E;AC2E;1100 1162 11B9;AC2E;1100 1162 11B9;
+AC2F;AC2F;1100 1162 11BA;AC2F;1100 1162 11BA;
+AC30;AC30;1100 1162 11BB;AC30;1100 1162 11BB;
+AC31;AC31;1100 1162 11BC;AC31;1100 1162 11BC;
+AC32;AC32;1100 1162 11BD;AC32;1100 1162 11BD;
+AC33;AC33;1100 1162 11BE;AC33;1100 1162 11BE;
+AC34;AC34;1100 1162 11BF;AC34;1100 1162 11BF;
+AC35;AC35;1100 1162 11C0;AC35;1100 1162 11C0;
+AC36;AC36;1100 1162 11C1;AC36;1100 1162 11C1;
+AC37;AC37;1100 1162 11C2;AC37;1100 1162 11C2;
+AC38;AC38;1100 1163;AC38;1100 1163;
+AC39;AC39;1100 1163 11A8;AC39;1100 1163 11A8;
+AC3A;AC3A;1100 1163 11A9;AC3A;1100 1163 11A9;
+AC3B;AC3B;1100 1163 11AA;AC3B;1100 1163 11AA;
+AC3C;AC3C;1100 1163 11AB;AC3C;1100 1163 11AB;
+AC3D;AC3D;1100 1163 11AC;AC3D;1100 1163 11AC;
+AC3E;AC3E;1100 1163 11AD;AC3E;1100 1163 11AD;
+AC3F;AC3F;1100 1163 11AE;AC3F;1100 1163 11AE;
+AC40;AC40;1100 1163 11AF;AC40;1100 1163 11AF;
+AC41;AC41;1100 1163 11B0;AC41;1100 1163 11B0;
+AC42;AC42;1100 1163 11B1;AC42;1100 1163 11B1;
+AC43;AC43;1100 1163 11B2;AC43;1100 1163 11B2;
+AC44;AC44;1100 1163 11B3;AC44;1100 1163 11B3;
+AC45;AC45;1100 1163 11B4;AC45;1100 1163 11B4;
+AC46;AC46;1100 1163 11B5;AC46;1100 1163 11B5;
+AC47;AC47;1100 1163 11B6;AC47;1100 1163 11B6;
+AC48;AC48;1100 1163 11B7;AC48;1100 1163 11B7;
+AC49;AC49;1100 1163 11B8;AC49;1100 1163 11B8;
+AC4A;AC4A;1100 1163 11B9;AC4A;1100 1163 11B9;
+AC4B;AC4B;1100 1163 11BA;AC4B;1100 1163 11BA;
+AC4C;AC4C;1100 1163 11BB;AC4C;1100 1163 11BB;
+AC4D;AC4D;1100 1163 11BC;AC4D;1100 1163 11BC;
+AC4E;AC4E;1100 1163 11BD;AC4E;1100 1163 11BD;
+AC4F;AC4F;1100 1163 11BE;AC4F;1100 1163 11BE;
+AC50;AC50;1100 1163 11BF;AC50;1100 1163 11BF;
+AC51;AC51;1100 1163 11C0;AC51;1100 1163 11C0;
+AC52;AC52;1100 1163 11C1;AC52;1100 1163 11C1;
+AC53;AC53;1100 1163 11C2;AC53;1100 1163 11C2;
+AC54;AC54;1100 1164;AC54;1100 1164;
+AC55;AC55;1100 1164 11A8;AC55;1100 1164 11A8;
+AC56;AC56;1100 1164 11A9;AC56;1100 1164 11A9;
+AC57;AC57;1100 1164 11AA;AC57;1100 1164 11AA;
+AC58;AC58;1100 1164 11AB;AC58;1100 1164 11AB;
+AC59;AC59;1100 1164 11AC;AC59;1100 1164 11AC;
+AC5A;AC5A;1100 1164 11AD;AC5A;1100 1164 11AD;
+AC5B;AC5B;1100 1164 11AE;AC5B;1100 1164 11AE;
+AC5C;AC5C;1100 1164 11AF;AC5C;1100 1164 11AF;
+AC5D;AC5D;1100 1164 11B0;AC5D;1100 1164 11B0;
+AC5E;AC5E;1100 1164 11B1;AC5E;1100 1164 11B1;
+AC5F;AC5F;1100 1164 11B2;AC5F;1100 1164 11B2;
+AC60;AC60;1100 1164 11B3;AC60;1100 1164 11B3;
+AC61;AC61;1100 1164 11B4;AC61;1100 1164 11B4;
+AC62;AC62;1100 1164 11B5;AC62;1100 1164 11B5;
+AC63;AC63;1100 1164 11B6;AC63;1100 1164 11B6;
+AC64;AC64;1100 1164 11B7;AC64;1100 1164 11B7;
+AC65;AC65;1100 1164 11B8;AC65;1100 1164 11B8;
+AC66;AC66;1100 1164 11B9;AC66;1100 1164 11B9;
+AC67;AC67;1100 1164 11BA;AC67;1100 1164 11BA;
+AC68;AC68;1100 1164 11BB;AC68;1100 1164 11BB;
+AC69;AC69;1100 1164 11BC;AC69;1100 1164 11BC;
+AC6A;AC6A;1100 1164 11BD;AC6A;1100 1164 11BD;
+AC6B;AC6B;1100 1164 11BE;AC6B;1100 1164 11BE;
+AC6C;AC6C;1100 1164 11BF;AC6C;1100 1164 11BF;
+AC6D;AC6D;1100 1164 11C0;AC6D;1100 1164 11C0;
+AC6E;AC6E;1100 1164 11C1;AC6E;1100 1164 11C1;
+AC6F;AC6F;1100 1164 11C2;AC6F;1100 1164 11C2;
+AC70;AC70;1100 1165;AC70;1100 1165;
+AC71;AC71;1100 1165 11A8;AC71;1100 1165 11A8;
+AC72;AC72;1100 1165 11A9;AC72;1100 1165 11A9;
+AC73;AC73;1100 1165 11AA;AC73;1100 1165 11AA;
+AC74;AC74;1100 1165 11AB;AC74;1100 1165 11AB;
+AC75;AC75;1100 1165 11AC;AC75;1100 1165 11AC;
+AC76;AC76;1100 1165 11AD;AC76;1100 1165 11AD;
+AC77;AC77;1100 1165 11AE;AC77;1100 1165 11AE;
+AC78;AC78;1100 1165 11AF;AC78;1100 1165 11AF;
+AC79;AC79;1100 1165 11B0;AC79;1100 1165 11B0;
+AC7A;AC7A;1100 1165 11B1;AC7A;1100 1165 11B1;
+AC7B;AC7B;1100 1165 11B2;AC7B;1100 1165 11B2;
+AC7C;AC7C;1100 1165 11B3;AC7C;1100 1165 11B3;
+AC7D;AC7D;1100 1165 11B4;AC7D;1100 1165 11B4;
+AC7E;AC7E;1100 1165 11B5;AC7E;1100 1165 11B5;
+AC7F;AC7F;1100 1165 11B6;AC7F;1100 1165 11B6;
+AC80;AC80;1100 1165 11B7;AC80;1100 1165 11B7;
+AC81;AC81;1100 1165 11B8;AC81;1100 1165 11B8;
+AC82;AC82;1100 1165 11B9;AC82;1100 1165 11B9;
+AC83;AC83;1100 1165 11BA;AC83;1100 1165 11BA;
+AC84;AC84;1100 1165 11BB;AC84;1100 1165 11BB;
+AC85;AC85;1100 1165 11BC;AC85;1100 1165 11BC;
+AC86;AC86;1100 1165 11BD;AC86;1100 1165 11BD;
+AC87;AC87;1100 1165 11BE;AC87;1100 1165 11BE;
+AC88;AC88;1100 1165 11BF;AC88;1100 1165 11BF;
+AC89;AC89;1100 1165 11C0;AC89;1100 1165 11C0;
+AC8A;AC8A;1100 1165 11C1;AC8A;1100 1165 11C1;
+AC8B;AC8B;1100 1165 11C2;AC8B;1100 1165 11C2;
+AC8C;AC8C;1100 1166;AC8C;1100 1166;
+AC8D;AC8D;1100 1166 11A8;AC8D;1100 1166 11A8;
+AC8E;AC8E;1100 1166 11A9;AC8E;1100 1166 11A9;
+AC8F;AC8F;1100 1166 11AA;AC8F;1100 1166 11AA;
+AC90;AC90;1100 1166 11AB;AC90;1100 1166 11AB;
+AC91;AC91;1100 1166 11AC;AC91;1100 1166 11AC;
+AC92;AC92;1100 1166 11AD;AC92;1100 1166 11AD;
+AC93;AC93;1100 1166 11AE;AC93;1100 1166 11AE;
+AC94;AC94;1100 1166 11AF;AC94;1100 1166 11AF;
+AC95;AC95;1100 1166 11B0;AC95;1100 1166 11B0;
+AC96;AC96;1100 1166 11B1;AC96;1100 1166 11B1;
+AC97;AC97;1100 1166 11B2;AC97;1100 1166 11B2;
+AC98;AC98;1100 1166 11B3;AC98;1100 1166 11B3;
+AC99;AC99;1100 1166 11B4;AC99;1100 1166 11B4;
+AC9A;AC9A;1100 1166 11B5;AC9A;1100 1166 11B5;
+AC9B;AC9B;1100 1166 11B6;AC9B;1100 1166 11B6;
+AC9C;AC9C;1100 1166 11B7;AC9C;1100 1166 11B7;
+AC9D;AC9D;1100 1166 11B8;AC9D;1100 1166 11B8;
+AC9E;AC9E;1100 1166 11B9;AC9E;1100 1166 11B9;
+AC9F;AC9F;1100 1166 11BA;AC9F;1100 1166 11BA;
+ACA0;ACA0;1100 1166 11BB;ACA0;1100 1166 11BB;
+ACA1;ACA1;1100 1166 11BC;ACA1;1100 1166 11BC;
+ACA2;ACA2;1100 1166 11BD;ACA2;1100 1166 11BD;
+ACA3;ACA3;1100 1166 11BE;ACA3;1100 1166 11BE;
+ACA4;ACA4;1100 1166 11BF;ACA4;1100 1166 11BF;
+ACA5;ACA5;1100 1166 11C0;ACA5;1100 1166 11C0;
+ACA6;ACA6;1100 1166 11C1;ACA6;1100 1166 11C1;
+ACA7;ACA7;1100 1166 11C2;ACA7;1100 1166 11C2;
+ACA8;ACA8;1100 1167;ACA8;1100 1167;
+ACA9;ACA9;1100 1167 11A8;ACA9;1100 1167 11A8;
+ACAA;ACAA;1100 1167 11A9;ACAA;1100 1167 11A9;
+ACAB;ACAB;1100 1167 11AA;ACAB;1100 1167 11AA;
+ACAC;ACAC;1100 1167 11AB;ACAC;1100 1167 11AB;
+ACAD;ACAD;1100 1167 11AC;ACAD;1100 1167 11AC;
+ACAE;ACAE;1100 1167 11AD;ACAE;1100 1167 11AD;
+ACAF;ACAF;1100 1167 11AE;ACAF;1100 1167 11AE;
+ACB0;ACB0;1100 1167 11AF;ACB0;1100 1167 11AF;
+ACB1;ACB1;1100 1167 11B0;ACB1;1100 1167 11B0;
+ACB2;ACB2;1100 1167 11B1;ACB2;1100 1167 11B1;
+ACB3;ACB3;1100 1167 11B2;ACB3;1100 1167 11B2;
+ACB4;ACB4;1100 1167 11B3;ACB4;1100 1167 11B3;
+ACB5;ACB5;1100 1167 11B4;ACB5;1100 1167 11B4;
+ACB6;ACB6;1100 1167 11B5;ACB6;1100 1167 11B5;
+ACB7;ACB7;1100 1167 11B6;ACB7;1100 1167 11B6;
+ACB8;ACB8;1100 1167 11B7;ACB8;1100 1167 11B7;
+ACB9;ACB9;1100 1167 11B8;ACB9;1100 1167 11B8;
+ACBA;ACBA;1100 1167 11B9;ACBA;1100 1167 11B9;
+ACBB;ACBB;1100 1167 11BA;ACBB;1100 1167 11BA;
+ACBC;ACBC;1100 1167 11BB;ACBC;1100 1167 11BB;
+ACBD;ACBD;1100 1167 11BC;ACBD;1100 1167 11BC;
+ACBE;ACBE;1100 1167 11BD;ACBE;1100 1167 11BD;
+ACBF;ACBF;1100 1167 11BE;ACBF;1100 1167 11BE;
+ACC0;ACC0;1100 1167 11BF;ACC0;1100 1167 11BF;
+ACC1;ACC1;1100 1167 11C0;ACC1;1100 1167 11C0;
+ACC2;ACC2;1100 1167 11C1;ACC2;1100 1167 11C1;
+ACC3;ACC3;1100 1167 11C2;ACC3;1100 1167 11C2;
+ACC4;ACC4;1100 1168;ACC4;1100 1168;
+ACC5;ACC5;1100 1168 11A8;ACC5;1100 1168 11A8;
+ACC6;ACC6;1100 1168 11A9;ACC6;1100 1168 11A9;
+ACC7;ACC7;1100 1168 11AA;ACC7;1100 1168 11AA;
+ACC8;ACC8;1100 1168 11AB;ACC8;1100 1168 11AB;
+ACC9;ACC9;1100 1168 11AC;ACC9;1100 1168 11AC;
+ACCA;ACCA;1100 1168 11AD;ACCA;1100 1168 11AD;
+ACCB;ACCB;1100 1168 11AE;ACCB;1100 1168 11AE;
+ACCC;ACCC;1100 1168 11AF;ACCC;1100 1168 11AF;
+ACCD;ACCD;1100 1168 11B0;ACCD;1100 1168 11B0;
+ACCE;ACCE;1100 1168 11B1;ACCE;1100 1168 11B1;
+ACCF;ACCF;1100 1168 11B2;ACCF;1100 1168 11B2;
+ACD0;ACD0;1100 1168 11B3;ACD0;1100 1168 11B3;
+ACD1;ACD1;1100 1168 11B4;ACD1;1100 1168 11B4;
+ACD2;ACD2;1100 1168 11B5;ACD2;1100 1168 11B5;
+ACD3;ACD3;1100 1168 11B6;ACD3;1100 1168 11B6;
+ACD4;ACD4;1100 1168 11B7;ACD4;1100 1168 11B7;
+ACD5;ACD5;1100 1168 11B8;ACD5;1100 1168 11B8;
+ACD6;ACD6;1100 1168 11B9;ACD6;1100 1168 11B9;
+ACD7;ACD7;1100 1168 11BA;ACD7;1100 1168 11BA;
+ACD8;ACD8;1100 1168 11BB;ACD8;1100 1168 11BB;
+ACD9;ACD9;1100 1168 11BC;ACD9;1100 1168 11BC;
+ACDA;ACDA;1100 1168 11BD;ACDA;1100 1168 11BD;
+ACDB;ACDB;1100 1168 11BE;ACDB;1100 1168 11BE;
+ACDC;ACDC;1100 1168 11BF;ACDC;1100 1168 11BF;
+ACDD;ACDD;1100 1168 11C0;ACDD;1100 1168 11C0;
+ACDE;ACDE;1100 1168 11C1;ACDE;1100 1168 11C1;
+ACDF;ACDF;1100 1168 11C2;ACDF;1100 1168 11C2;
+ACE0;ACE0;1100 1169;ACE0;1100 1169;
+ACE1;ACE1;1100 1169 11A8;ACE1;1100 1169 11A8;
+ACE2;ACE2;1100 1169 11A9;ACE2;1100 1169 11A9;
+ACE3;ACE3;1100 1169 11AA;ACE3;1100 1169 11AA;
+ACE4;ACE4;1100 1169 11AB;ACE4;1100 1169 11AB;
+ACE5;ACE5;1100 1169 11AC;ACE5;1100 1169 11AC;
+ACE6;ACE6;1100 1169 11AD;ACE6;1100 1169 11AD;
+ACE7;ACE7;1100 1169 11AE;ACE7;1100 1169 11AE;
+ACE8;ACE8;1100 1169 11AF;ACE8;1100 1169 11AF;
+ACE9;ACE9;1100 1169 11B0;ACE9;1100 1169 11B0;
+ACEA;ACEA;1100 1169 11B1;ACEA;1100 1169 11B1;
+ACEB;ACEB;1100 1169 11B2;ACEB;1100 1169 11B2;
+ACEC;ACEC;1100 1169 11B3;ACEC;1100 1169 11B3;
+ACED;ACED;1100 1169 11B4;ACED;1100 1169 11B4;
+ACEE;ACEE;1100 1169 11B5;ACEE;1100 1169 11B5;
+ACEF;ACEF;1100 1169 11B6;ACEF;1100 1169 11B6;
+ACF0;ACF0;1100 1169 11B7;ACF0;1100 1169 11B7;
+ACF1;ACF1;1100 1169 11B8;ACF1;1100 1169 11B8;
+ACF2;ACF2;1100 1169 11B9;ACF2;1100 1169 11B9;
+ACF3;ACF3;1100 1169 11BA;ACF3;1100 1169 11BA;
+ACF4;ACF4;1100 1169 11BB;ACF4;1100 1169 11BB;
+ACF5;ACF5;1100 1169 11BC;ACF5;1100 1169 11BC;
+ACF6;ACF6;1100 1169 11BD;ACF6;1100 1169 11BD;
+ACF7;ACF7;1100 1169 11BE;ACF7;1100 1169 11BE;
+ACF8;ACF8;1100 1169 11BF;ACF8;1100 1169 11BF;
+ACF9;ACF9;1100 1169 11C0;ACF9;1100 1169 11C0;
+ACFA;ACFA;1100 1169 11C1;ACFA;1100 1169 11C1;
+ACFB;ACFB;1100 1169 11C2;ACFB;1100 1169 11C2;
+ACFC;ACFC;1100 116A;ACFC;1100 116A;
+ACFD;ACFD;1100 116A 11A8;ACFD;1100 116A 11A8;
+ACFE;ACFE;1100 116A 11A9;ACFE;1100 116A 11A9;
+ACFF;ACFF;1100 116A 11AA;ACFF;1100 116A 11AA;
+AD00;AD00;1100 116A 11AB;AD00;1100 116A 11AB;
+AD01;AD01;1100 116A 11AC;AD01;1100 116A 11AC;
+AD02;AD02;1100 116A 11AD;AD02;1100 116A 11AD;
+AD03;AD03;1100 116A 11AE;AD03;1100 116A 11AE;
+AD04;AD04;1100 116A 11AF;AD04;1100 116A 11AF;
+AD05;AD05;1100 116A 11B0;AD05;1100 116A 11B0;
+AD06;AD06;1100 116A 11B1;AD06;1100 116A 11B1;
+AD07;AD07;1100 116A 11B2;AD07;1100 116A 11B2;
+AD08;AD08;1100 116A 11B3;AD08;1100 116A 11B3;
+AD09;AD09;1100 116A 11B4;AD09;1100 116A 11B4;
+AD0A;AD0A;1100 116A 11B5;AD0A;1100 116A 11B5;
+AD0B;AD0B;1100 116A 11B6;AD0B;1100 116A 11B6;
+AD0C;AD0C;1100 116A 11B7;AD0C;1100 116A 11B7;
+AD0D;AD0D;1100 116A 11B8;AD0D;1100 116A 11B8;
+AD0E;AD0E;1100 116A 11B9;AD0E;1100 116A 11B9;
+AD0F;AD0F;1100 116A 11BA;AD0F;1100 116A 11BA;
+AD10;AD10;1100 116A 11BB;AD10;1100 116A 11BB;
+AD11;AD11;1100 116A 11BC;AD11;1100 116A 11BC;
+AD12;AD12;1100 116A 11BD;AD12;1100 116A 11BD;
+AD13;AD13;1100 116A 11BE;AD13;1100 116A 11BE;
+AD14;AD14;1100 116A 11BF;AD14;1100 116A 11BF;
+AD15;AD15;1100 116A 11C0;AD15;1100 116A 11C0;
+AD16;AD16;1100 116A 11C1;AD16;1100 116A 11C1;
+AD17;AD17;1100 116A 11C2;AD17;1100 116A 11C2;
+AD18;AD18;1100 116B;AD18;1100 116B;
+AD19;AD19;1100 116B 11A8;AD19;1100 116B 11A8;
+AD1A;AD1A;1100 116B 11A9;AD1A;1100 116B 11A9;
+AD1B;AD1B;1100 116B 11AA;AD1B;1100 116B 11AA;
+AD1C;AD1C;1100 116B 11AB;AD1C;1100 116B 11AB;
+AD1D;AD1D;1100 116B 11AC;AD1D;1100 116B 11AC;
+AD1E;AD1E;1100 116B 11AD;AD1E;1100 116B 11AD;
+AD1F;AD1F;1100 116B 11AE;AD1F;1100 116B 11AE;
+AD20;AD20;1100 116B 11AF;AD20;1100 116B 11AF;
+AD21;AD21;1100 116B 11B0;AD21;1100 116B 11B0;
+AD22;AD22;1100 116B 11B1;AD22;1100 116B 11B1;
+AD23;AD23;1100 116B 11B2;AD23;1100 116B 11B2;
+AD24;AD24;1100 116B 11B3;AD24;1100 116B 11B3;
+AD25;AD25;1100 116B 11B4;AD25;1100 116B 11B4;
+AD26;AD26;1100 116B 11B5;AD26;1100 116B 11B5;
+AD27;AD27;1100 116B 11B6;AD27;1100 116B 11B6;
+AD28;AD28;1100 116B 11B7;AD28;1100 116B 11B7;
+AD29;AD29;1100 116B 11B8;AD29;1100 116B 11B8;
+AD2A;AD2A;1100 116B 11B9;AD2A;1100 116B 11B9;
+AD2B;AD2B;1100 116B 11BA;AD2B;1100 116B 11BA;
+AD2C;AD2C;1100 116B 11BB;AD2C;1100 116B 11BB;
+AD2D;AD2D;1100 116B 11BC;AD2D;1100 116B 11BC;
+AD2E;AD2E;1100 116B 11BD;AD2E;1100 116B 11BD;
+AD2F;AD2F;1100 116B 11BE;AD2F;1100 116B 11BE;
+AD30;AD30;1100 116B 11BF;AD30;1100 116B 11BF;
+AD31;AD31;1100 116B 11C0;AD31;1100 116B 11C0;
+AD32;AD32;1100 116B 11C1;AD32;1100 116B 11C1;
+AD33;AD33;1100 116B 11C2;AD33;1100 116B 11C2;
+AD34;AD34;1100 116C;AD34;1100 116C;
+AD35;AD35;1100 116C 11A8;AD35;1100 116C 11A8;
+AD36;AD36;1100 116C 11A9;AD36;1100 116C 11A9;
+AD37;AD37;1100 116C 11AA;AD37;1100 116C 11AA;
+AD38;AD38;1100 116C 11AB;AD38;1100 116C 11AB;
+AD39;AD39;1100 116C 11AC;AD39;1100 116C 11AC;
+AD3A;AD3A;1100 116C 11AD;AD3A;1100 116C 11AD;
+AD3B;AD3B;1100 116C 11AE;AD3B;1100 116C 11AE;
+AD3C;AD3C;1100 116C 11AF;AD3C;1100 116C 11AF;
+AD3D;AD3D;1100 116C 11B0;AD3D;1100 116C 11B0;
+AD3E;AD3E;1100 116C 11B1;AD3E;1100 116C 11B1;
+AD3F;AD3F;1100 116C 11B2;AD3F;1100 116C 11B2;
+AD40;AD40;1100 116C 11B3;AD40;1100 116C 11B3;
+AD41;AD41;1100 116C 11B4;AD41;1100 116C 11B4;
+AD42;AD42;1100 116C 11B5;AD42;1100 116C 11B5;
+AD43;AD43;1100 116C 11B6;AD43;1100 116C 11B6;
+AD44;AD44;1100 116C 11B7;AD44;1100 116C 11B7;
+AD45;AD45;1100 116C 11B8;AD45;1100 116C 11B8;
+AD46;AD46;1100 116C 11B9;AD46;1100 116C 11B9;
+AD47;AD47;1100 116C 11BA;AD47;1100 116C 11BA;
+AD48;AD48;1100 116C 11BB;AD48;1100 116C 11BB;
+AD49;AD49;1100 116C 11BC;AD49;1100 116C 11BC;
+AD4A;AD4A;1100 116C 11BD;AD4A;1100 116C 11BD;
+AD4B;AD4B;1100 116C 11BE;AD4B;1100 116C 11BE;
+AD4C;AD4C;1100 116C 11BF;AD4C;1100 116C 11BF;
+AD4D;AD4D;1100 116C 11C0;AD4D;1100 116C 11C0;
+AD4E;AD4E;1100 116C 11C1;AD4E;1100 116C 11C1;
+AD4F;AD4F;1100 116C 11C2;AD4F;1100 116C 11C2;
+AD50;AD50;1100 116D;AD50;1100 116D;
+AD51;AD51;1100 116D 11A8;AD51;1100 116D 11A8;
+AD52;AD52;1100 116D 11A9;AD52;1100 116D 11A9;
+AD53;AD53;1100 116D 11AA;AD53;1100 116D 11AA;
+AD54;AD54;1100 116D 11AB;AD54;1100 116D 11AB;
+AD55;AD55;1100 116D 11AC;AD55;1100 116D 11AC;
+AD56;AD56;1100 116D 11AD;AD56;1100 116D 11AD;
+AD57;AD57;1100 116D 11AE;AD57;1100 116D 11AE;
+AD58;AD58;1100 116D 11AF;AD58;1100 116D 11AF;
+AD59;AD59;1100 116D 11B0;AD59;1100 116D 11B0;
+AD5A;AD5A;1100 116D 11B1;AD5A;1100 116D 11B1;
+AD5B;AD5B;1100 116D 11B2;AD5B;1100 116D 11B2;
+AD5C;AD5C;1100 116D 11B3;AD5C;1100 116D 11B3;
+AD5D;AD5D;1100 116D 11B4;AD5D;1100 116D 11B4;
+AD5E;AD5E;1100 116D 11B5;AD5E;1100 116D 11B5;
+AD5F;AD5F;1100 116D 11B6;AD5F;1100 116D 11B6;
+AD60;AD60;1100 116D 11B7;AD60;1100 116D 11B7;
+AD61;AD61;1100 116D 11B8;AD61;1100 116D 11B8;
+AD62;AD62;1100 116D 11B9;AD62;1100 116D 11B9;
+AD63;AD63;1100 116D 11BA;AD63;1100 116D 11BA;
+AD64;AD64;1100 116D 11BB;AD64;1100 116D 11BB;
+AD65;AD65;1100 116D 11BC;AD65;1100 116D 11BC;
+AD66;AD66;1100 116D 11BD;AD66;1100 116D 11BD;
+AD67;AD67;1100 116D 11BE;AD67;1100 116D 11BE;
+AD68;AD68;1100 116D 11BF;AD68;1100 116D 11BF;
+AD69;AD69;1100 116D 11C0;AD69;1100 116D 11C0;
+AD6A;AD6A;1100 116D 11C1;AD6A;1100 116D 11C1;
+AD6B;AD6B;1100 116D 11C2;AD6B;1100 116D 11C2;
+AD6C;AD6C;1100 116E;AD6C;1100 116E;
+AD6D;AD6D;1100 116E 11A8;AD6D;1100 116E 11A8;
+AD6E;AD6E;1100 116E 11A9;AD6E;1100 116E 11A9;
+AD6F;AD6F;1100 116E 11AA;AD6F;1100 116E 11AA;
+AD70;AD70;1100 116E 11AB;AD70;1100 116E 11AB;
+AD71;AD71;1100 116E 11AC;AD71;1100 116E 11AC;
+AD72;AD72;1100 116E 11AD;AD72;1100 116E 11AD;
+AD73;AD73;1100 116E 11AE;AD73;1100 116E 11AE;
+AD74;AD74;1100 116E 11AF;AD74;1100 116E 11AF;
+AD75;AD75;1100 116E 11B0;AD75;1100 116E 11B0;
+AD76;AD76;1100 116E 11B1;AD76;1100 116E 11B1;
+AD77;AD77;1100 116E 11B2;AD77;1100 116E 11B2;
+AD78;AD78;1100 116E 11B3;AD78;1100 116E 11B3;
+AD79;AD79;1100 116E 11B4;AD79;1100 116E 11B4;
+AD7A;AD7A;1100 116E 11B5;AD7A;1100 116E 11B5;
+AD7B;AD7B;1100 116E 11B6;AD7B;1100 116E 11B6;
+AD7C;AD7C;1100 116E 11B7;AD7C;1100 116E 11B7;
+AD7D;AD7D;1100 116E 11B8;AD7D;1100 116E 11B8;
+AD7E;AD7E;1100 116E 11B9;AD7E;1100 116E 11B9;
+AD7F;AD7F;1100 116E 11BA;AD7F;1100 116E 11BA;
+AD80;AD80;1100 116E 11BB;AD80;1100 116E 11BB;
+AD81;AD81;1100 116E 11BC;AD81;1100 116E 11BC;
+AD82;AD82;1100 116E 11BD;AD82;1100 116E 11BD;
+AD83;AD83;1100 116E 11BE;AD83;1100 116E 11BE;
+AD84;AD84;1100 116E 11BF;AD84;1100 116E 11BF;
+AD85;AD85;1100 116E 11C0;AD85;1100 116E 11C0;
+AD86;AD86;1100 116E 11C1;AD86;1100 116E 11C1;
+AD87;AD87;1100 116E 11C2;AD87;1100 116E 11C2;
+AD88;AD88;1100 116F;AD88;1100 116F;
+AD89;AD89;1100 116F 11A8;AD89;1100 116F 11A8;
+AD8A;AD8A;1100 116F 11A9;AD8A;1100 116F 11A9;
+AD8B;AD8B;1100 116F 11AA;AD8B;1100 116F 11AA;
+AD8C;AD8C;1100 116F 11AB;AD8C;1100 116F 11AB;
+AD8D;AD8D;1100 116F 11AC;AD8D;1100 116F 11AC;
+AD8E;AD8E;1100 116F 11AD;AD8E;1100 116F 11AD;
+AD8F;AD8F;1100 116F 11AE;AD8F;1100 116F 11AE;
+AD90;AD90;1100 116F 11AF;AD90;1100 116F 11AF;
+AD91;AD91;1100 116F 11B0;AD91;1100 116F 11B0;
+AD92;AD92;1100 116F 11B1;AD92;1100 116F 11B1;
+AD93;AD93;1100 116F 11B2;AD93;1100 116F 11B2;
+AD94;AD94;1100 116F 11B3;AD94;1100 116F 11B3;
+AD95;AD95;1100 116F 11B4;AD95;1100 116F 11B4;
+AD96;AD96;1100 116F 11B5;AD96;1100 116F 11B5;
+AD97;AD97;1100 116F 11B6;AD97;1100 116F 11B6;
+AD98;AD98;1100 116F 11B7;AD98;1100 116F 11B7;
+AD99;AD99;1100 116F 11B8;AD99;1100 116F 11B8;
+AD9A;AD9A;1100 116F 11B9;AD9A;1100 116F 11B9;
+AD9B;AD9B;1100 116F 11BA;AD9B;1100 116F 11BA;
+AD9C;AD9C;1100 116F 11BB;AD9C;1100 116F 11BB;
+AD9D;AD9D;1100 116F 11BC;AD9D;1100 116F 11BC;
+AD9E;AD9E;1100 116F 11BD;AD9E;1100 116F 11BD;
+AD9F;AD9F;1100 116F 11BE;AD9F;1100 116F 11BE;
+ADA0;ADA0;1100 116F 11BF;ADA0;1100 116F 11BF;
+ADA1;ADA1;1100 116F 11C0;ADA1;1100 116F 11C0;
+ADA2;ADA2;1100 116F 11C1;ADA2;1100 116F 11C1;
+ADA3;ADA3;1100 116F 11C2;ADA3;1100 116F 11C2;
+ADA4;ADA4;1100 1170;ADA4;1100 1170;
+ADA5;ADA5;1100 1170 11A8;ADA5;1100 1170 11A8;
+ADA6;ADA6;1100 1170 11A9;ADA6;1100 1170 11A9;
+ADA7;ADA7;1100 1170 11AA;ADA7;1100 1170 11AA;
+ADA8;ADA8;1100 1170 11AB;ADA8;1100 1170 11AB;
+ADA9;ADA9;1100 1170 11AC;ADA9;1100 1170 11AC;
+ADAA;ADAA;1100 1170 11AD;ADAA;1100 1170 11AD;
+ADAB;ADAB;1100 1170 11AE;ADAB;1100 1170 11AE;
+ADAC;ADAC;1100 1170 11AF;ADAC;1100 1170 11AF;
+ADAD;ADAD;1100 1170 11B0;ADAD;1100 1170 11B0;
+ADAE;ADAE;1100 1170 11B1;ADAE;1100 1170 11B1;
+ADAF;ADAF;1100 1170 11B2;ADAF;1100 1170 11B2;
+ADB0;ADB0;1100 1170 11B3;ADB0;1100 1170 11B3;
+ADB1;ADB1;1100 1170 11B4;ADB1;1100 1170 11B4;
+ADB2;ADB2;1100 1170 11B5;ADB2;1100 1170 11B5;
+ADB3;ADB3;1100 1170 11B6;ADB3;1100 1170 11B6;
+ADB4;ADB4;1100 1170 11B7;ADB4;1100 1170 11B7;
+ADB5;ADB5;1100 1170 11B8;ADB5;1100 1170 11B8;
+ADB6;ADB6;1100 1170 11B9;ADB6;1100 1170 11B9;
+ADB7;ADB7;1100 1170 11BA;ADB7;1100 1170 11BA;
+ADB8;ADB8;1100 1170 11BB;ADB8;1100 1170 11BB;
+ADB9;ADB9;1100 1170 11BC;ADB9;1100 1170 11BC;
+ADBA;ADBA;1100 1170 11BD;ADBA;1100 1170 11BD;
+ADBB;ADBB;1100 1170 11BE;ADBB;1100 1170 11BE;
+ADBC;ADBC;1100 1170 11BF;ADBC;1100 1170 11BF;
+ADBD;ADBD;1100 1170 11C0;ADBD;1100 1170 11C0;
+ADBE;ADBE;1100 1170 11C1;ADBE;1100 1170 11C1;
+ADBF;ADBF;1100 1170 11C2;ADBF;1100 1170 11C2;
+ADC0;ADC0;1100 1171;ADC0;1100 1171;
+ADC1;ADC1;1100 1171 11A8;ADC1;1100 1171 11A8;
+ADC2;ADC2;1100 1171 11A9;ADC2;1100 1171 11A9;
+ADC3;ADC3;1100 1171 11AA;ADC3;1100 1171 11AA;
+ADC4;ADC4;1100 1171 11AB;ADC4;1100 1171 11AB;
+ADC5;ADC5;1100 1171 11AC;ADC5;1100 1171 11AC;
+ADC6;ADC6;1100 1171 11AD;ADC6;1100 1171 11AD;
+ADC7;ADC7;1100 1171 11AE;ADC7;1100 1171 11AE;
+ADC8;ADC8;1100 1171 11AF;ADC8;1100 1171 11AF;
+ADC9;ADC9;1100 1171 11B0;ADC9;1100 1171 11B0;
+ADCA;ADCA;1100 1171 11B1;ADCA;1100 1171 11B1;
+ADCB;ADCB;1100 1171 11B2;ADCB;1100 1171 11B2;
+ADCC;ADCC;1100 1171 11B3;ADCC;1100 1171 11B3;
+ADCD;ADCD;1100 1171 11B4;ADCD;1100 1171 11B4;
+ADCE;ADCE;1100 1171 11B5;ADCE;1100 1171 11B5;
+ADCF;ADCF;1100 1171 11B6;ADCF;1100 1171 11B6;
+ADD0;ADD0;1100 1171 11B7;ADD0;1100 1171 11B7;
+ADD1;ADD1;1100 1171 11B8;ADD1;1100 1171 11B8;
+ADD2;ADD2;1100 1171 11B9;ADD2;1100 1171 11B9;
+ADD3;ADD3;1100 1171 11BA;ADD3;1100 1171 11BA;
+ADD4;ADD4;1100 1171 11BB;ADD4;1100 1171 11BB;
+ADD5;ADD5;1100 1171 11BC;ADD5;1100 1171 11BC;
+ADD6;ADD6;1100 1171 11BD;ADD6;1100 1171 11BD;
+ADD7;ADD7;1100 1171 11BE;ADD7;1100 1171 11BE;
+ADD8;ADD8;1100 1171 11BF;ADD8;1100 1171 11BF;
+ADD9;ADD9;1100 1171 11C0;ADD9;1100 1171 11C0;
+ADDA;ADDA;1100 1171 11C1;ADDA;1100 1171 11C1;
+ADDB;ADDB;1100 1171 11C2;ADDB;1100 1171 11C2;
+ADDC;ADDC;1100 1172;ADDC;1100 1172;
+ADDD;ADDD;1100 1172 11A8;ADDD;1100 1172 11A8;
+ADDE;ADDE;1100 1172 11A9;ADDE;1100 1172 11A9;
+ADDF;ADDF;1100 1172 11AA;ADDF;1100 1172 11AA;
+ADE0;ADE0;1100 1172 11AB;ADE0;1100 1172 11AB;
+ADE1;ADE1;1100 1172 11AC;ADE1;1100 1172 11AC;
+ADE2;ADE2;1100 1172 11AD;ADE2;1100 1172 11AD;
+ADE3;ADE3;1100 1172 11AE;ADE3;1100 1172 11AE;
+ADE4;ADE4;1100 1172 11AF;ADE4;1100 1172 11AF;
+ADE5;ADE5;1100 1172 11B0;ADE5;1100 1172 11B0;
+ADE6;ADE6;1100 1172 11B1;ADE6;1100 1172 11B1;
+ADE7;ADE7;1100 1172 11B2;ADE7;1100 1172 11B2;
+ADE8;ADE8;1100 1172 11B3;ADE8;1100 1172 11B3;
+ADE9;ADE9;1100 1172 11B4;ADE9;1100 1172 11B4;
+ADEA;ADEA;1100 1172 11B5;ADEA;1100 1172 11B5;
+ADEB;ADEB;1100 1172 11B6;ADEB;1100 1172 11B6;
+ADEC;ADEC;1100 1172 11B7;ADEC;1100 1172 11B7;
+ADED;ADED;1100 1172 11B8;ADED;1100 1172 11B8;
+ADEE;ADEE;1100 1172 11B9;ADEE;1100 1172 11B9;
+ADEF;ADEF;1100 1172 11BA;ADEF;1100 1172 11BA;
+ADF0;ADF0;1100 1172 11BB;ADF0;1100 1172 11BB;
+ADF1;ADF1;1100 1172 11BC;ADF1;1100 1172 11BC;
+ADF2;ADF2;1100 1172 11BD;ADF2;1100 1172 11BD;
+ADF3;ADF3;1100 1172 11BE;ADF3;1100 1172 11BE;
+ADF4;ADF4;1100 1172 11BF;ADF4;1100 1172 11BF;
+ADF5;ADF5;1100 1172 11C0;ADF5;1100 1172 11C0;
+ADF6;ADF6;1100 1172 11C1;ADF6;1100 1172 11C1;
+ADF7;ADF7;1100 1172 11C2;ADF7;1100 1172 11C2;
+ADF8;ADF8;1100 1173;ADF8;1100 1173;
+ADF9;ADF9;1100 1173 11A8;ADF9;1100 1173 11A8;
+ADFA;ADFA;1100 1173 11A9;ADFA;1100 1173 11A9;
+ADFB;ADFB;1100 1173 11AA;ADFB;1100 1173 11AA;
+ADFC;ADFC;1100 1173 11AB;ADFC;1100 1173 11AB;
+ADFD;ADFD;1100 1173 11AC;ADFD;1100 1173 11AC;
+ADFE;ADFE;1100 1173 11AD;ADFE;1100 1173 11AD;
+ADFF;ADFF;1100 1173 11AE;ADFF;1100 1173 11AE;
+AE00;AE00;1100 1173 11AF;AE00;1100 1173 11AF;
+AE01;AE01;1100 1173 11B0;AE01;1100 1173 11B0;
+AE02;AE02;1100 1173 11B1;AE02;1100 1173 11B1;
+AE03;AE03;1100 1173 11B2;AE03;1100 1173 11B2;
+AE04;AE04;1100 1173 11B3;AE04;1100 1173 11B3;
+AE05;AE05;1100 1173 11B4;AE05;1100 1173 11B4;
+AE06;AE06;1100 1173 11B5;AE06;1100 1173 11B5;
+AE07;AE07;1100 1173 11B6;AE07;1100 1173 11B6;
+AE08;AE08;1100 1173 11B7;AE08;1100 1173 11B7;
+AE09;AE09;1100 1173 11B8;AE09;1100 1173 11B8;
+AE0A;AE0A;1100 1173 11B9;AE0A;1100 1173 11B9;
+AE0B;AE0B;1100 1173 11BA;AE0B;1100 1173 11BA;
+AE0C;AE0C;1100 1173 11BB;AE0C;1100 1173 11BB;
+AE0D;AE0D;1100 1173 11BC;AE0D;1100 1173 11BC;
+AE0E;AE0E;1100 1173 11BD;AE0E;1100 1173 11BD;
+AE0F;AE0F;1100 1173 11BE;AE0F;1100 1173 11BE;
+AE10;AE10;1100 1173 11BF;AE10;1100 1173 11BF;
+AE11;AE11;1100 1173 11C0;AE11;1100 1173 11C0;
+AE12;AE12;1100 1173 11C1;AE12;1100 1173 11C1;
+AE13;AE13;1100 1173 11C2;AE13;1100 1173 11C2;
+AE14;AE14;1100 1174;AE14;1100 1174;
+AE15;AE15;1100 1174 11A8;AE15;1100 1174 11A8;
+AE16;AE16;1100 1174 11A9;AE16;1100 1174 11A9;
+AE17;AE17;1100 1174 11AA;AE17;1100 1174 11AA;
+AE18;AE18;1100 1174 11AB;AE18;1100 1174 11AB;
+AE19;AE19;1100 1174 11AC;AE19;1100 1174 11AC;
+AE1A;AE1A;1100 1174 11AD;AE1A;1100 1174 11AD;
+AE1B;AE1B;1100 1174 11AE;AE1B;1100 1174 11AE;
+AE1C;AE1C;1100 1174 11AF;AE1C;1100 1174 11AF;
+AE1D;AE1D;1100 1174 11B0;AE1D;1100 1174 11B0;
+AE1E;AE1E;1100 1174 11B1;AE1E;1100 1174 11B1;
+AE1F;AE1F;1100 1174 11B2;AE1F;1100 1174 11B2;
+AE20;AE20;1100 1174 11B3;AE20;1100 1174 11B3;
+AE21;AE21;1100 1174 11B4;AE21;1100 1174 11B4;
+AE22;AE22;1100 1174 11B5;AE22;1100 1174 11B5;
+AE23;AE23;1100 1174 11B6;AE23;1100 1174 11B6;
+AE24;AE24;1100 1174 11B7;AE24;1100 1174 11B7;
+AE25;AE25;1100 1174 11B8;AE25;1100 1174 11B8;
+AE26;AE26;1100 1174 11B9;AE26;1100 1174 11B9;
+AE27;AE27;1100 1174 11BA;AE27;1100 1174 11BA;
+AE28;AE28;1100 1174 11BB;AE28;1100 1174 11BB;
+AE29;AE29;1100 1174 11BC;AE29;1100 1174 11BC;
+AE2A;AE2A;1100 1174 11BD;AE2A;1100 1174 11BD;
+AE2B;AE2B;1100 1174 11BE;AE2B;1100 1174 11BE;
+AE2C;AE2C;1100 1174 11BF;AE2C;1100 1174 11BF;
+AE2D;AE2D;1100 1174 11C0;AE2D;1100 1174 11C0;
+AE2E;AE2E;1100 1174 11C1;AE2E;1100 1174 11C1;
+AE2F;AE2F;1100 1174 11C2;AE2F;1100 1174 11C2;
+AE30;AE30;1100 1175;AE30;1100 1175;
+AE31;AE31;1100 1175 11A8;AE31;1100 1175 11A8;
+AE32;AE32;1100 1175 11A9;AE32;1100 1175 11A9;
+AE33;AE33;1100 1175 11AA;AE33;1100 1175 11AA;
+AE34;AE34;1100 1175 11AB;AE34;1100 1175 11AB;
+AE35;AE35;1100 1175 11AC;AE35;1100 1175 11AC;
+AE36;AE36;1100 1175 11AD;AE36;1100 1175 11AD;
+AE37;AE37;1100 1175 11AE;AE37;1100 1175 11AE;
+AE38;AE38;1100 1175 11AF;AE38;1100 1175 11AF;
+AE39;AE39;1100 1175 11B0;AE39;1100 1175 11B0;
+AE3A;AE3A;1100 1175 11B1;AE3A;1100 1175 11B1;
+AE3B;AE3B;1100 1175 11B2;AE3B;1100 1175 11B2;
+AE3C;AE3C;1100 1175 11B3;AE3C;1100 1175 11B3;
+AE3D;AE3D;1100 1175 11B4;AE3D;1100 1175 11B4;
+AE3E;AE3E;1100 1175 11B5;AE3E;1100 1175 11B5;
+AE3F;AE3F;1100 1175 11B6;AE3F;1100 1175 11B6;
+AE40;AE40;1100 1175 11B7;AE40;1100 1175 11B7;
+AE41;AE41;1100 1175 11B8;AE41;1100 1175 11B8;
+AE42;AE42;1100 1175 11B9;AE42;1100 1175 11B9;
+AE43;AE43;1100 1175 11BA;AE43;1100 1175 11BA;
+AE44;AE44;1100 1175 11BB;AE44;1100 1175 11BB;
+AE45;AE45;1100 1175 11BC;AE45;1100 1175 11BC;
+AE46;AE46;1100 1175 11BD;AE46;1100 1175 11BD;
+AE47;AE47;1100 1175 11BE;AE47;1100 1175 11BE;
+AE48;AE48;1100 1175 11BF;AE48;1100 1175 11BF;
+AE49;AE49;1100 1175 11C0;AE49;1100 1175 11C0;
+AE4A;AE4A;1100 1175 11C1;AE4A;1100 1175 11C1;
+AE4B;AE4B;1100 1175 11C2;AE4B;1100 1175 11C2;
+AE4C;AE4C;1101 1161;AE4C;1101 1161;
+AE4D;AE4D;1101 1161 11A8;AE4D;1101 1161 11A8;
+AE4E;AE4E;1101 1161 11A9;AE4E;1101 1161 11A9;
+AE4F;AE4F;1101 1161 11AA;AE4F;1101 1161 11AA;
+AE50;AE50;1101 1161 11AB;AE50;1101 1161 11AB;
+AE51;AE51;1101 1161 11AC;AE51;1101 1161 11AC;
+AE52;AE52;1101 1161 11AD;AE52;1101 1161 11AD;
+AE53;AE53;1101 1161 11AE;AE53;1101 1161 11AE;
+AE54;AE54;1101 1161 11AF;AE54;1101 1161 11AF;
+AE55;AE55;1101 1161 11B0;AE55;1101 1161 11B0;
+AE56;AE56;1101 1161 11B1;AE56;1101 1161 11B1;
+AE57;AE57;1101 1161 11B2;AE57;1101 1161 11B2;
+AE58;AE58;1101 1161 11B3;AE58;1101 1161 11B3;
+AE59;AE59;1101 1161 11B4;AE59;1101 1161 11B4;
+AE5A;AE5A;1101 1161 11B5;AE5A;1101 1161 11B5;
+AE5B;AE5B;1101 1161 11B6;AE5B;1101 1161 11B6;
+AE5C;AE5C;1101 1161 11B7;AE5C;1101 1161 11B7;
+AE5D;AE5D;1101 1161 11B8;AE5D;1101 1161 11B8;
+AE5E;AE5E;1101 1161 11B9;AE5E;1101 1161 11B9;
+AE5F;AE5F;1101 1161 11BA;AE5F;1101 1161 11BA;
+AE60;AE60;1101 1161 11BB;AE60;1101 1161 11BB;
+AE61;AE61;1101 1161 11BC;AE61;1101 1161 11BC;
+AE62;AE62;1101 1161 11BD;AE62;1101 1161 11BD;
+AE63;AE63;1101 1161 11BE;AE63;1101 1161 11BE;
+AE64;AE64;1101 1161 11BF;AE64;1101 1161 11BF;
+AE65;AE65;1101 1161 11C0;AE65;1101 1161 11C0;
+AE66;AE66;1101 1161 11C1;AE66;1101 1161 11C1;
+AE67;AE67;1101 1161 11C2;AE67;1101 1161 11C2;
+AE68;AE68;1101 1162;AE68;1101 1162;
+AE69;AE69;1101 1162 11A8;AE69;1101 1162 11A8;
+AE6A;AE6A;1101 1162 11A9;AE6A;1101 1162 11A9;
+AE6B;AE6B;1101 1162 11AA;AE6B;1101 1162 11AA;
+AE6C;AE6C;1101 1162 11AB;AE6C;1101 1162 11AB;
+AE6D;AE6D;1101 1162 11AC;AE6D;1101 1162 11AC;
+AE6E;AE6E;1101 1162 11AD;AE6E;1101 1162 11AD;
+AE6F;AE6F;1101 1162 11AE;AE6F;1101 1162 11AE;
+AE70;AE70;1101 1162 11AF;AE70;1101 1162 11AF;
+AE71;AE71;1101 1162 11B0;AE71;1101 1162 11B0;
+AE72;AE72;1101 1162 11B1;AE72;1101 1162 11B1;
+AE73;AE73;1101 1162 11B2;AE73;1101 1162 11B2;
+AE74;AE74;1101 1162 11B3;AE74;1101 1162 11B3;
+AE75;AE75;1101 1162 11B4;AE75;1101 1162 11B4;
+AE76;AE76;1101 1162 11B5;AE76;1101 1162 11B5;
+AE77;AE77;1101 1162 11B6;AE77;1101 1162 11B6;
+AE78;AE78;1101 1162 11B7;AE78;1101 1162 11B7;
+AE79;AE79;1101 1162 11B8;AE79;1101 1162 11B8;
+AE7A;AE7A;1101 1162 11B9;AE7A;1101 1162 11B9;
+AE7B;AE7B;1101 1162 11BA;AE7B;1101 1162 11BA;
+AE7C;AE7C;1101 1162 11BB;AE7C;1101 1162 11BB;
+AE7D;AE7D;1101 1162 11BC;AE7D;1101 1162 11BC;
+AE7E;AE7E;1101 1162 11BD;AE7E;1101 1162 11BD;
+AE7F;AE7F;1101 1162 11BE;AE7F;1101 1162 11BE;
+AE80;AE80;1101 1162 11BF;AE80;1101 1162 11BF;
+AE81;AE81;1101 1162 11C0;AE81;1101 1162 11C0;
+AE82;AE82;1101 1162 11C1;AE82;1101 1162 11C1;
+AE83;AE83;1101 1162 11C2;AE83;1101 1162 11C2;
+AE84;AE84;1101 1163;AE84;1101 1163;
+AE85;AE85;1101 1163 11A8;AE85;1101 1163 11A8;
+AE86;AE86;1101 1163 11A9;AE86;1101 1163 11A9;
+AE87;AE87;1101 1163 11AA;AE87;1101 1163 11AA;
+AE88;AE88;1101 1163 11AB;AE88;1101 1163 11AB;
+AE89;AE89;1101 1163 11AC;AE89;1101 1163 11AC;
+AE8A;AE8A;1101 1163 11AD;AE8A;1101 1163 11AD;
+AE8B;AE8B;1101 1163 11AE;AE8B;1101 1163 11AE;
+AE8C;AE8C;1101 1163 11AF;AE8C;1101 1163 11AF;
+AE8D;AE8D;1101 1163 11B0;AE8D;1101 1163 11B0;
+AE8E;AE8E;1101 1163 11B1;AE8E;1101 1163 11B1;
+AE8F;AE8F;1101 1163 11B2;AE8F;1101 1163 11B2;
+AE90;AE90;1101 1163 11B3;AE90;1101 1163 11B3;
+AE91;AE91;1101 1163 11B4;AE91;1101 1163 11B4;
+AE92;AE92;1101 1163 11B5;AE92;1101 1163 11B5;
+AE93;AE93;1101 1163 11B6;AE93;1101 1163 11B6;
+AE94;AE94;1101 1163 11B7;AE94;1101 1163 11B7;
+AE95;AE95;1101 1163 11B8;AE95;1101 1163 11B8;
+AE96;AE96;1101 1163 11B9;AE96;1101 1163 11B9;
+AE97;AE97;1101 1163 11BA;AE97;1101 1163 11BA;
+AE98;AE98;1101 1163 11BB;AE98;1101 1163 11BB;
+AE99;AE99;1101 1163 11BC;AE99;1101 1163 11BC;
+AE9A;AE9A;1101 1163 11BD;AE9A;1101 1163 11BD;
+AE9B;AE9B;1101 1163 11BE;AE9B;1101 1163 11BE;
+AE9C;AE9C;1101 1163 11BF;AE9C;1101 1163 11BF;
+AE9D;AE9D;1101 1163 11C0;AE9D;1101 1163 11C0;
+AE9E;AE9E;1101 1163 11C1;AE9E;1101 1163 11C1;
+AE9F;AE9F;1101 1163 11C2;AE9F;1101 1163 11C2;
+AEA0;AEA0;1101 1164;AEA0;1101 1164;
+AEA1;AEA1;1101 1164 11A8;AEA1;1101 1164 11A8;
+AEA2;AEA2;1101 1164 11A9;AEA2;1101 1164 11A9;
+AEA3;AEA3;1101 1164 11AA;AEA3;1101 1164 11AA;
+AEA4;AEA4;1101 1164 11AB;AEA4;1101 1164 11AB;
+AEA5;AEA5;1101 1164 11AC;AEA5;1101 1164 11AC;
+AEA6;AEA6;1101 1164 11AD;AEA6;1101 1164 11AD;
+AEA7;AEA7;1101 1164 11AE;AEA7;1101 1164 11AE;
+AEA8;AEA8;1101 1164 11AF;AEA8;1101 1164 11AF;
+AEA9;AEA9;1101 1164 11B0;AEA9;1101 1164 11B0;
+AEAA;AEAA;1101 1164 11B1;AEAA;1101 1164 11B1;
+AEAB;AEAB;1101 1164 11B2;AEAB;1101 1164 11B2;
+AEAC;AEAC;1101 1164 11B3;AEAC;1101 1164 11B3;
+AEAD;AEAD;1101 1164 11B4;AEAD;1101 1164 11B4;
+AEAE;AEAE;1101 1164 11B5;AEAE;1101 1164 11B5;
+AEAF;AEAF;1101 1164 11B6;AEAF;1101 1164 11B6;
+AEB0;AEB0;1101 1164 11B7;AEB0;1101 1164 11B7;
+AEB1;AEB1;1101 1164 11B8;AEB1;1101 1164 11B8;
+AEB2;AEB2;1101 1164 11B9;AEB2;1101 1164 11B9;
+AEB3;AEB3;1101 1164 11BA;AEB3;1101 1164 11BA;
+AEB4;AEB4;1101 1164 11BB;AEB4;1101 1164 11BB;
+AEB5;AEB5;1101 1164 11BC;AEB5;1101 1164 11BC;
+AEB6;AEB6;1101 1164 11BD;AEB6;1101 1164 11BD;
+AEB7;AEB7;1101 1164 11BE;AEB7;1101 1164 11BE;
+AEB8;AEB8;1101 1164 11BF;AEB8;1101 1164 11BF;
+AEB9;AEB9;1101 1164 11C0;AEB9;1101 1164 11C0;
+AEBA;AEBA;1101 1164 11C1;AEBA;1101 1164 11C1;
+AEBB;AEBB;1101 1164 11C2;AEBB;1101 1164 11C2;
+AEBC;AEBC;1101 1165;AEBC;1101 1165;
+AEBD;AEBD;1101 1165 11A8;AEBD;1101 1165 11A8;
+AEBE;AEBE;1101 1165 11A9;AEBE;1101 1165 11A9;
+AEBF;AEBF;1101 1165 11AA;AEBF;1101 1165 11AA;
+AEC0;AEC0;1101 1165 11AB;AEC0;1101 1165 11AB;
+AEC1;AEC1;1101 1165 11AC;AEC1;1101 1165 11AC;
+AEC2;AEC2;1101 1165 11AD;AEC2;1101 1165 11AD;
+AEC3;AEC3;1101 1165 11AE;AEC3;1101 1165 11AE;
+AEC4;AEC4;1101 1165 11AF;AEC4;1101 1165 11AF;
+AEC5;AEC5;1101 1165 11B0;AEC5;1101 1165 11B0;
+AEC6;AEC6;1101 1165 11B1;AEC6;1101 1165 11B1;
+AEC7;AEC7;1101 1165 11B2;AEC7;1101 1165 11B2;
+AEC8;AEC8;1101 1165 11B3;AEC8;1101 1165 11B3;
+AEC9;AEC9;1101 1165 11B4;AEC9;1101 1165 11B4;
+AECA;AECA;1101 1165 11B5;AECA;1101 1165 11B5;
+AECB;AECB;1101 1165 11B6;AECB;1101 1165 11B6;
+AECC;AECC;1101 1165 11B7;AECC;1101 1165 11B7;
+AECD;AECD;1101 1165 11B8;AECD;1101 1165 11B8;
+AECE;AECE;1101 1165 11B9;AECE;1101 1165 11B9;
+AECF;AECF;1101 1165 11BA;AECF;1101 1165 11BA;
+AED0;AED0;1101 1165 11BB;AED0;1101 1165 11BB;
+AED1;AED1;1101 1165 11BC;AED1;1101 1165 11BC;
+AED2;AED2;1101 1165 11BD;AED2;1101 1165 11BD;
+AED3;AED3;1101 1165 11BE;AED3;1101 1165 11BE;
+AED4;AED4;1101 1165 11BF;AED4;1101 1165 11BF;
+AED5;AED5;1101 1165 11C0;AED5;1101 1165 11C0;
+AED6;AED6;1101 1165 11C1;AED6;1101 1165 11C1;
+AED7;AED7;1101 1165 11C2;AED7;1101 1165 11C2;
+AED8;AED8;1101 1166;AED8;1101 1166;
+AED9;AED9;1101 1166 11A8;AED9;1101 1166 11A8;
+AEDA;AEDA;1101 1166 11A9;AEDA;1101 1166 11A9;
+AEDB;AEDB;1101 1166 11AA;AEDB;1101 1166 11AA;
+AEDC;AEDC;1101 1166 11AB;AEDC;1101 1166 11AB;
+AEDD;AEDD;1101 1166 11AC;AEDD;1101 1166 11AC;
+AEDE;AEDE;1101 1166 11AD;AEDE;1101 1166 11AD;
+AEDF;AEDF;1101 1166 11AE;AEDF;1101 1166 11AE;
+AEE0;AEE0;1101 1166 11AF;AEE0;1101 1166 11AF;
+AEE1;AEE1;1101 1166 11B0;AEE1;1101 1166 11B0;
+AEE2;AEE2;1101 1166 11B1;AEE2;1101 1166 11B1;
+AEE3;AEE3;1101 1166 11B2;AEE3;1101 1166 11B2;
+AEE4;AEE4;1101 1166 11B3;AEE4;1101 1166 11B3;
+AEE5;AEE5;1101 1166 11B4;AEE5;1101 1166 11B4;
+AEE6;AEE6;1101 1166 11B5;AEE6;1101 1166 11B5;
+AEE7;AEE7;1101 1166 11B6;AEE7;1101 1166 11B6;
+AEE8;AEE8;1101 1166 11B7;AEE8;1101 1166 11B7;
+AEE9;AEE9;1101 1166 11B8;AEE9;1101 1166 11B8;
+AEEA;AEEA;1101 1166 11B9;AEEA;1101 1166 11B9;
+AEEB;AEEB;1101 1166 11BA;AEEB;1101 1166 11BA;
+AEEC;AEEC;1101 1166 11BB;AEEC;1101 1166 11BB;
+AEED;AEED;1101 1166 11BC;AEED;1101 1166 11BC;
+AEEE;AEEE;1101 1166 11BD;AEEE;1101 1166 11BD;
+AEEF;AEEF;1101 1166 11BE;AEEF;1101 1166 11BE;
+AEF0;AEF0;1101 1166 11BF;AEF0;1101 1166 11BF;
+AEF1;AEF1;1101 1166 11C0;AEF1;1101 1166 11C0;
+AEF2;AEF2;1101 1166 11C1;AEF2;1101 1166 11C1;
+AEF3;AEF3;1101 1166 11C2;AEF3;1101 1166 11C2;
+AEF4;AEF4;1101 1167;AEF4;1101 1167;
+AEF5;AEF5;1101 1167 11A8;AEF5;1101 1167 11A8;
+AEF6;AEF6;1101 1167 11A9;AEF6;1101 1167 11A9;
+AEF7;AEF7;1101 1167 11AA;AEF7;1101 1167 11AA;
+AEF8;AEF8;1101 1167 11AB;AEF8;1101 1167 11AB;
+AEF9;AEF9;1101 1167 11AC;AEF9;1101 1167 11AC;
+AEFA;AEFA;1101 1167 11AD;AEFA;1101 1167 11AD;
+AEFB;AEFB;1101 1167 11AE;AEFB;1101 1167 11AE;
+AEFC;AEFC;1101 1167 11AF;AEFC;1101 1167 11AF;
+AEFD;AEFD;1101 1167 11B0;AEFD;1101 1167 11B0;
+AEFE;AEFE;1101 1167 11B1;AEFE;1101 1167 11B1;
+AEFF;AEFF;1101 1167 11B2;AEFF;1101 1167 11B2;
+AF00;AF00;1101 1167 11B3;AF00;1101 1167 11B3;
+AF01;AF01;1101 1167 11B4;AF01;1101 1167 11B4;
+AF02;AF02;1101 1167 11B5;AF02;1101 1167 11B5;
+AF03;AF03;1101 1167 11B6;AF03;1101 1167 11B6;
+AF04;AF04;1101 1167 11B7;AF04;1101 1167 11B7;
+AF05;AF05;1101 1167 11B8;AF05;1101 1167 11B8;
+AF06;AF06;1101 1167 11B9;AF06;1101 1167 11B9;
+AF07;AF07;1101 1167 11BA;AF07;1101 1167 11BA;
+AF08;AF08;1101 1167 11BB;AF08;1101 1167 11BB;
+AF09;AF09;1101 1167 11BC;AF09;1101 1167 11BC;
+AF0A;AF0A;1101 1167 11BD;AF0A;1101 1167 11BD;
+AF0B;AF0B;1101 1167 11BE;AF0B;1101 1167 11BE;
+AF0C;AF0C;1101 1167 11BF;AF0C;1101 1167 11BF;
+AF0D;AF0D;1101 1167 11C0;AF0D;1101 1167 11C0;
+AF0E;AF0E;1101 1167 11C1;AF0E;1101 1167 11C1;
+AF0F;AF0F;1101 1167 11C2;AF0F;1101 1167 11C2;
+AF10;AF10;1101 1168;AF10;1101 1168;
+AF11;AF11;1101 1168 11A8;AF11;1101 1168 11A8;
+AF12;AF12;1101 1168 11A9;AF12;1101 1168 11A9;
+AF13;AF13;1101 1168 11AA;AF13;1101 1168 11AA;
+AF14;AF14;1101 1168 11AB;AF14;1101 1168 11AB;
+AF15;AF15;1101 1168 11AC;AF15;1101 1168 11AC;
+AF16;AF16;1101 1168 11AD;AF16;1101 1168 11AD;
+AF17;AF17;1101 1168 11AE;AF17;1101 1168 11AE;
+AF18;AF18;1101 1168 11AF;AF18;1101 1168 11AF;
+AF19;AF19;1101 1168 11B0;AF19;1101 1168 11B0;
+AF1A;AF1A;1101 1168 11B1;AF1A;1101 1168 11B1;
+AF1B;AF1B;1101 1168 11B2;AF1B;1101 1168 11B2;
+AF1C;AF1C;1101 1168 11B3;AF1C;1101 1168 11B3;
+AF1D;AF1D;1101 1168 11B4;AF1D;1101 1168 11B4;
+AF1E;AF1E;1101 1168 11B5;AF1E;1101 1168 11B5;
+AF1F;AF1F;1101 1168 11B6;AF1F;1101 1168 11B6;
+AF20;AF20;1101 1168 11B7;AF20;1101 1168 11B7;
+AF21;AF21;1101 1168 11B8;AF21;1101 1168 11B8;
+AF22;AF22;1101 1168 11B9;AF22;1101 1168 11B9;
+AF23;AF23;1101 1168 11BA;AF23;1101 1168 11BA;
+AF24;AF24;1101 1168 11BB;AF24;1101 1168 11BB;
+AF25;AF25;1101 1168 11BC;AF25;1101 1168 11BC;
+AF26;AF26;1101 1168 11BD;AF26;1101 1168 11BD;
+AF27;AF27;1101 1168 11BE;AF27;1101 1168 11BE;
+AF28;AF28;1101 1168 11BF;AF28;1101 1168 11BF;
+AF29;AF29;1101 1168 11C0;AF29;1101 1168 11C0;
+AF2A;AF2A;1101 1168 11C1;AF2A;1101 1168 11C1;
+AF2B;AF2B;1101 1168 11C2;AF2B;1101 1168 11C2;
+AF2C;AF2C;1101 1169;AF2C;1101 1169;
+AF2D;AF2D;1101 1169 11A8;AF2D;1101 1169 11A8;
+AF2E;AF2E;1101 1169 11A9;AF2E;1101 1169 11A9;
+AF2F;AF2F;1101 1169 11AA;AF2F;1101 1169 11AA;
+AF30;AF30;1101 1169 11AB;AF30;1101 1169 11AB;
+AF31;AF31;1101 1169 11AC;AF31;1101 1169 11AC;
+AF32;AF32;1101 1169 11AD;AF32;1101 1169 11AD;
+AF33;AF33;1101 1169 11AE;AF33;1101 1169 11AE;
+AF34;AF34;1101 1169 11AF;AF34;1101 1169 11AF;
+AF35;AF35;1101 1169 11B0;AF35;1101 1169 11B0;
+AF36;AF36;1101 1169 11B1;AF36;1101 1169 11B1;
+AF37;AF37;1101 1169 11B2;AF37;1101 1169 11B2;
+AF38;AF38;1101 1169 11B3;AF38;1101 1169 11B3;
+AF39;AF39;1101 1169 11B4;AF39;1101 1169 11B4;
+AF3A;AF3A;1101 1169 11B5;AF3A;1101 1169 11B5;
+AF3B;AF3B;1101 1169 11B6;AF3B;1101 1169 11B6;
+AF3C;AF3C;1101 1169 11B7;AF3C;1101 1169 11B7;
+AF3D;AF3D;1101 1169 11B8;AF3D;1101 1169 11B8;
+AF3E;AF3E;1101 1169 11B9;AF3E;1101 1169 11B9;
+AF3F;AF3F;1101 1169 11BA;AF3F;1101 1169 11BA;
+AF40;AF40;1101 1169 11BB;AF40;1101 1169 11BB;
+AF41;AF41;1101 1169 11BC;AF41;1101 1169 11BC;
+AF42;AF42;1101 1169 11BD;AF42;1101 1169 11BD;
+AF43;AF43;1101 1169 11BE;AF43;1101 1169 11BE;
+AF44;AF44;1101 1169 11BF;AF44;1101 1169 11BF;
+AF45;AF45;1101 1169 11C0;AF45;1101 1169 11C0;
+AF46;AF46;1101 1169 11C1;AF46;1101 1169 11C1;
+AF47;AF47;1101 1169 11C2;AF47;1101 1169 11C2;
+AF48;AF48;1101 116A;AF48;1101 116A;
+AF49;AF49;1101 116A 11A8;AF49;1101 116A 11A8;
+AF4A;AF4A;1101 116A 11A9;AF4A;1101 116A 11A9;
+AF4B;AF4B;1101 116A 11AA;AF4B;1101 116A 11AA;
+AF4C;AF4C;1101 116A 11AB;AF4C;1101 116A 11AB;
+AF4D;AF4D;1101 116A 11AC;AF4D;1101 116A 11AC;
+AF4E;AF4E;1101 116A 11AD;AF4E;1101 116A 11AD;
+AF4F;AF4F;1101 116A 11AE;AF4F;1101 116A 11AE;
+AF50;AF50;1101 116A 11AF;AF50;1101 116A 11AF;
+AF51;AF51;1101 116A 11B0;AF51;1101 116A 11B0;
+AF52;AF52;1101 116A 11B1;AF52;1101 116A 11B1;
+AF53;AF53;1101 116A 11B2;AF53;1101 116A 11B2;
+AF54;AF54;1101 116A 11B3;AF54;1101 116A 11B3;
+AF55;AF55;1101 116A 11B4;AF55;1101 116A 11B4;
+AF56;AF56;1101 116A 11B5;AF56;1101 116A 11B5;
+AF57;AF57;1101 116A 11B6;AF57;1101 116A 11B6;
+AF58;AF58;1101 116A 11B7;AF58;1101 116A 11B7;
+AF59;AF59;1101 116A 11B8;AF59;1101 116A 11B8;
+AF5A;AF5A;1101 116A 11B9;AF5A;1101 116A 11B9;
+AF5B;AF5B;1101 116A 11BA;AF5B;1101 116A 11BA;
+AF5C;AF5C;1101 116A 11BB;AF5C;1101 116A 11BB;
+AF5D;AF5D;1101 116A 11BC;AF5D;1101 116A 11BC;
+AF5E;AF5E;1101 116A 11BD;AF5E;1101 116A 11BD;
+AF5F;AF5F;1101 116A 11BE;AF5F;1101 116A 11BE;
+AF60;AF60;1101 116A 11BF;AF60;1101 116A 11BF;
+AF61;AF61;1101 116A 11C0;AF61;1101 116A 11C0;
+AF62;AF62;1101 116A 11C1;AF62;1101 116A 11C1;
+AF63;AF63;1101 116A 11C2;AF63;1101 116A 11C2;
+AF64;AF64;1101 116B;AF64;1101 116B;
+AF65;AF65;1101 116B 11A8;AF65;1101 116B 11A8;
+AF66;AF66;1101 116B 11A9;AF66;1101 116B 11A9;
+AF67;AF67;1101 116B 11AA;AF67;1101 116B 11AA;
+AF68;AF68;1101 116B 11AB;AF68;1101 116B 11AB;
+AF69;AF69;1101 116B 11AC;AF69;1101 116B 11AC;
+AF6A;AF6A;1101 116B 11AD;AF6A;1101 116B 11AD;
+AF6B;AF6B;1101 116B 11AE;AF6B;1101 116B 11AE;
+AF6C;AF6C;1101 116B 11AF;AF6C;1101 116B 11AF;
+AF6D;AF6D;1101 116B 11B0;AF6D;1101 116B 11B0;
+AF6E;AF6E;1101 116B 11B1;AF6E;1101 116B 11B1;
+AF6F;AF6F;1101 116B 11B2;AF6F;1101 116B 11B2;
+AF70;AF70;1101 116B 11B3;AF70;1101 116B 11B3;
+AF71;AF71;1101 116B 11B4;AF71;1101 116B 11B4;
+AF72;AF72;1101 116B 11B5;AF72;1101 116B 11B5;
+AF73;AF73;1101 116B 11B6;AF73;1101 116B 11B6;
+AF74;AF74;1101 116B 11B7;AF74;1101 116B 11B7;
+AF75;AF75;1101 116B 11B8;AF75;1101 116B 11B8;
+AF76;AF76;1101 116B 11B9;AF76;1101 116B 11B9;
+AF77;AF77;1101 116B 11BA;AF77;1101 116B 11BA;
+AF78;AF78;1101 116B 11BB;AF78;1101 116B 11BB;
+AF79;AF79;1101 116B 11BC;AF79;1101 116B 11BC;
+AF7A;AF7A;1101 116B 11BD;AF7A;1101 116B 11BD;
+AF7B;AF7B;1101 116B 11BE;AF7B;1101 116B 11BE;
+AF7C;AF7C;1101 116B 11BF;AF7C;1101 116B 11BF;
+AF7D;AF7D;1101 116B 11C0;AF7D;1101 116B 11C0;
+AF7E;AF7E;1101 116B 11C1;AF7E;1101 116B 11C1;
+AF7F;AF7F;1101 116B 11C2;AF7F;1101 116B 11C2;
+AF80;AF80;1101 116C;AF80;1101 116C;
+AF81;AF81;1101 116C 11A8;AF81;1101 116C 11A8;
+AF82;AF82;1101 116C 11A9;AF82;1101 116C 11A9;
+AF83;AF83;1101 116C 11AA;AF83;1101 116C 11AA;
+AF84;AF84;1101 116C 11AB;AF84;1101 116C 11AB;
+AF85;AF85;1101 116C 11AC;AF85;1101 116C 11AC;
+AF86;AF86;1101 116C 11AD;AF86;1101 116C 11AD;
+AF87;AF87;1101 116C 11AE;AF87;1101 116C 11AE;
+AF88;AF88;1101 116C 11AF;AF88;1101 116C 11AF;
+AF89;AF89;1101 116C 11B0;AF89;1101 116C 11B0;
+AF8A;AF8A;1101 116C 11B1;AF8A;1101 116C 11B1;
+AF8B;AF8B;1101 116C 11B2;AF8B;1101 116C 11B2;
+AF8C;AF8C;1101 116C 11B3;AF8C;1101 116C 11B3;
+AF8D;AF8D;1101 116C 11B4;AF8D;1101 116C 11B4;
+AF8E;AF8E;1101 116C 11B5;AF8E;1101 116C 11B5;
+AF8F;AF8F;1101 116C 11B6;AF8F;1101 116C 11B6;
+AF90;AF90;1101 116C 11B7;AF90;1101 116C 11B7;
+AF91;AF91;1101 116C 11B8;AF91;1101 116C 11B8;
+AF92;AF92;1101 116C 11B9;AF92;1101 116C 11B9;
+AF93;AF93;1101 116C 11BA;AF93;1101 116C 11BA;
+AF94;AF94;1101 116C 11BB;AF94;1101 116C 11BB;
+AF95;AF95;1101 116C 11BC;AF95;1101 116C 11BC;
+AF96;AF96;1101 116C 11BD;AF96;1101 116C 11BD;
+AF97;AF97;1101 116C 11BE;AF97;1101 116C 11BE;
+AF98;AF98;1101 116C 11BF;AF98;1101 116C 11BF;
+AF99;AF99;1101 116C 11C0;AF99;1101 116C 11C0;
+AF9A;AF9A;1101 116C 11C1;AF9A;1101 116C 11C1;
+AF9B;AF9B;1101 116C 11C2;AF9B;1101 116C 11C2;
+AF9C;AF9C;1101 116D;AF9C;1101 116D;
+AF9D;AF9D;1101 116D 11A8;AF9D;1101 116D 11A8;
+AF9E;AF9E;1101 116D 11A9;AF9E;1101 116D 11A9;
+AF9F;AF9F;1101 116D 11AA;AF9F;1101 116D 11AA;
+AFA0;AFA0;1101 116D 11AB;AFA0;1101 116D 11AB;
+AFA1;AFA1;1101 116D 11AC;AFA1;1101 116D 11AC;
+AFA2;AFA2;1101 116D 11AD;AFA2;1101 116D 11AD;
+AFA3;AFA3;1101 116D 11AE;AFA3;1101 116D 11AE;
+AFA4;AFA4;1101 116D 11AF;AFA4;1101 116D 11AF;
+AFA5;AFA5;1101 116D 11B0;AFA5;1101 116D 11B0;
+AFA6;AFA6;1101 116D 11B1;AFA6;1101 116D 11B1;
+AFA7;AFA7;1101 116D 11B2;AFA7;1101 116D 11B2;
+AFA8;AFA8;1101 116D 11B3;AFA8;1101 116D 11B3;
+AFA9;AFA9;1101 116D 11B4;AFA9;1101 116D 11B4;
+AFAA;AFAA;1101 116D 11B5;AFAA;1101 116D 11B5;
+AFAB;AFAB;1101 116D 11B6;AFAB;1101 116D 11B6;
+AFAC;AFAC;1101 116D 11B7;AFAC;1101 116D 11B7;
+AFAD;AFAD;1101 116D 11B8;AFAD;1101 116D 11B8;
+AFAE;AFAE;1101 116D 11B9;AFAE;1101 116D 11B9;
+AFAF;AFAF;1101 116D 11BA;AFAF;1101 116D 11BA;
+AFB0;AFB0;1101 116D 11BB;AFB0;1101 116D 11BB;
+AFB1;AFB1;1101 116D 11BC;AFB1;1101 116D 11BC;
+AFB2;AFB2;1101 116D 11BD;AFB2;1101 116D 11BD;
+AFB3;AFB3;1101 116D 11BE;AFB3;1101 116D 11BE;
+AFB4;AFB4;1101 116D 11BF;AFB4;1101 116D 11BF;
+AFB5;AFB5;1101 116D 11C0;AFB5;1101 116D 11C0;
+AFB6;AFB6;1101 116D 11C1;AFB6;1101 116D 11C1;
+AFB7;AFB7;1101 116D 11C2;AFB7;1101 116D 11C2;
+AFB8;AFB8;1101 116E;AFB8;1101 116E;
+AFB9;AFB9;1101 116E 11A8;AFB9;1101 116E 11A8;
+AFBA;AFBA;1101 116E 11A9;AFBA;1101 116E 11A9;
+AFBB;AFBB;1101 116E 11AA;AFBB;1101 116E 11AA;
+AFBC;AFBC;1101 116E 11AB;AFBC;1101 116E 11AB;
+AFBD;AFBD;1101 116E 11AC;AFBD;1101 116E 11AC;
+AFBE;AFBE;1101 116E 11AD;AFBE;1101 116E 11AD;
+AFBF;AFBF;1101 116E 11AE;AFBF;1101 116E 11AE;
+AFC0;AFC0;1101 116E 11AF;AFC0;1101 116E 11AF;
+AFC1;AFC1;1101 116E 11B0;AFC1;1101 116E 11B0;
+AFC2;AFC2;1101 116E 11B1;AFC2;1101 116E 11B1;
+AFC3;AFC3;1101 116E 11B2;AFC3;1101 116E 11B2;
+AFC4;AFC4;1101 116E 11B3;AFC4;1101 116E 11B3;
+AFC5;AFC5;1101 116E 11B4;AFC5;1101 116E 11B4;
+AFC6;AFC6;1101 116E 11B5;AFC6;1101 116E 11B5;
+AFC7;AFC7;1101 116E 11B6;AFC7;1101 116E 11B6;
+AFC8;AFC8;1101 116E 11B7;AFC8;1101 116E 11B7;
+AFC9;AFC9;1101 116E 11B8;AFC9;1101 116E 11B8;
+AFCA;AFCA;1101 116E 11B9;AFCA;1101 116E 11B9;
+AFCB;AFCB;1101 116E 11BA;AFCB;1101 116E 11BA;
+AFCC;AFCC;1101 116E 11BB;AFCC;1101 116E 11BB;
+AFCD;AFCD;1101 116E 11BC;AFCD;1101 116E 11BC;
+AFCE;AFCE;1101 116E 11BD;AFCE;1101 116E 11BD;
+AFCF;AFCF;1101 116E 11BE;AFCF;1101 116E 11BE;
+AFD0;AFD0;1101 116E 11BF;AFD0;1101 116E 11BF;
+AFD1;AFD1;1101 116E 11C0;AFD1;1101 116E 11C0;
+AFD2;AFD2;1101 116E 11C1;AFD2;1101 116E 11C1;
+AFD3;AFD3;1101 116E 11C2;AFD3;1101 116E 11C2;
+AFD4;AFD4;1101 116F;AFD4;1101 116F;
+AFD5;AFD5;1101 116F 11A8;AFD5;1101 116F 11A8;
+AFD6;AFD6;1101 116F 11A9;AFD6;1101 116F 11A9;
+AFD7;AFD7;1101 116F 11AA;AFD7;1101 116F 11AA;
+AFD8;AFD8;1101 116F 11AB;AFD8;1101 116F 11AB;
+AFD9;AFD9;1101 116F 11AC;AFD9;1101 116F 11AC;
+AFDA;AFDA;1101 116F 11AD;AFDA;1101 116F 11AD;
+AFDB;AFDB;1101 116F 11AE;AFDB;1101 116F 11AE;
+AFDC;AFDC;1101 116F 11AF;AFDC;1101 116F 11AF;
+AFDD;AFDD;1101 116F 11B0;AFDD;1101 116F 11B0;
+AFDE;AFDE;1101 116F 11B1;AFDE;1101 116F 11B1;
+AFDF;AFDF;1101 116F 11B2;AFDF;1101 116F 11B2;
+AFE0;AFE0;1101 116F 11B3;AFE0;1101 116F 11B3;
+AFE1;AFE1;1101 116F 11B4;AFE1;1101 116F 11B4;
+AFE2;AFE2;1101 116F 11B5;AFE2;1101 116F 11B5;
+AFE3;AFE3;1101 116F 11B6;AFE3;1101 116F 11B6;
+AFE4;AFE4;1101 116F 11B7;AFE4;1101 116F 11B7;
+AFE5;AFE5;1101 116F 11B8;AFE5;1101 116F 11B8;
+AFE6;AFE6;1101 116F 11B9;AFE6;1101 116F 11B9;
+AFE7;AFE7;1101 116F 11BA;AFE7;1101 116F 11BA;
+AFE8;AFE8;1101 116F 11BB;AFE8;1101 116F 11BB;
+AFE9;AFE9;1101 116F 11BC;AFE9;1101 116F 11BC;
+AFEA;AFEA;1101 116F 11BD;AFEA;1101 116F 11BD;
+AFEB;AFEB;1101 116F 11BE;AFEB;1101 116F 11BE;
+AFEC;AFEC;1101 116F 11BF;AFEC;1101 116F 11BF;
+AFED;AFED;1101 116F 11C0;AFED;1101 116F 11C0;
+AFEE;AFEE;1101 116F 11C1;AFEE;1101 116F 11C1;
+AFEF;AFEF;1101 116F 11C2;AFEF;1101 116F 11C2;
+AFF0;AFF0;1101 1170;AFF0;1101 1170;
+AFF1;AFF1;1101 1170 11A8;AFF1;1101 1170 11A8;
+AFF2;AFF2;1101 1170 11A9;AFF2;1101 1170 11A9;
+AFF3;AFF3;1101 1170 11AA;AFF3;1101 1170 11AA;
+AFF4;AFF4;1101 1170 11AB;AFF4;1101 1170 11AB;
+AFF5;AFF5;1101 1170 11AC;AFF5;1101 1170 11AC;
+AFF6;AFF6;1101 1170 11AD;AFF6;1101 1170 11AD;
+AFF7;AFF7;1101 1170 11AE;AFF7;1101 1170 11AE;
+AFF8;AFF8;1101 1170 11AF;AFF8;1101 1170 11AF;
+AFF9;AFF9;1101 1170 11B0;AFF9;1101 1170 11B0;
+AFFA;AFFA;1101 1170 11B1;AFFA;1101 1170 11B1;
+AFFB;AFFB;1101 1170 11B2;AFFB;1101 1170 11B2;
+AFFC;AFFC;1101 1170 11B3;AFFC;1101 1170 11B3;
+AFFD;AFFD;1101 1170 11B4;AFFD;1101 1170 11B4;
+AFFE;AFFE;1101 1170 11B5;AFFE;1101 1170 11B5;
+AFFF;AFFF;1101 1170 11B6;AFFF;1101 1170 11B6;
+B000;B000;1101 1170 11B7;B000;1101 1170 11B7;
+B001;B001;1101 1170 11B8;B001;1101 1170 11B8;
+B002;B002;1101 1170 11B9;B002;1101 1170 11B9;
+B003;B003;1101 1170 11BA;B003;1101 1170 11BA;
+B004;B004;1101 1170 11BB;B004;1101 1170 11BB;
+B005;B005;1101 1170 11BC;B005;1101 1170 11BC;
+B006;B006;1101 1170 11BD;B006;1101 1170 11BD;
+B007;B007;1101 1170 11BE;B007;1101 1170 11BE;
+B008;B008;1101 1170 11BF;B008;1101 1170 11BF;
+B009;B009;1101 1170 11C0;B009;1101 1170 11C0;
+B00A;B00A;1101 1170 11C1;B00A;1101 1170 11C1;
+B00B;B00B;1101 1170 11C2;B00B;1101 1170 11C2;
+B00C;B00C;1101 1171;B00C;1101 1171;
+B00D;B00D;1101 1171 11A8;B00D;1101 1171 11A8;
+B00E;B00E;1101 1171 11A9;B00E;1101 1171 11A9;
+B00F;B00F;1101 1171 11AA;B00F;1101 1171 11AA;
+B010;B010;1101 1171 11AB;B010;1101 1171 11AB;
+B011;B011;1101 1171 11AC;B011;1101 1171 11AC;
+B012;B012;1101 1171 11AD;B012;1101 1171 11AD;
+B013;B013;1101 1171 11AE;B013;1101 1171 11AE;
+B014;B014;1101 1171 11AF;B014;1101 1171 11AF;
+B015;B015;1101 1171 11B0;B015;1101 1171 11B0;
+B016;B016;1101 1171 11B1;B016;1101 1171 11B1;
+B017;B017;1101 1171 11B2;B017;1101 1171 11B2;
+B018;B018;1101 1171 11B3;B018;1101 1171 11B3;
+B019;B019;1101 1171 11B4;B019;1101 1171 11B4;
+B01A;B01A;1101 1171 11B5;B01A;1101 1171 11B5;
+B01B;B01B;1101 1171 11B6;B01B;1101 1171 11B6;
+B01C;B01C;1101 1171 11B7;B01C;1101 1171 11B7;
+B01D;B01D;1101 1171 11B8;B01D;1101 1171 11B8;
+B01E;B01E;1101 1171 11B9;B01E;1101 1171 11B9;
+B01F;B01F;1101 1171 11BA;B01F;1101 1171 11BA;
+B020;B020;1101 1171 11BB;B020;1101 1171 11BB;
+B021;B021;1101 1171 11BC;B021;1101 1171 11BC;
+B022;B022;1101 1171 11BD;B022;1101 1171 11BD;
+B023;B023;1101 1171 11BE;B023;1101 1171 11BE;
+B024;B024;1101 1171 11BF;B024;1101 1171 11BF;
+B025;B025;1101 1171 11C0;B025;1101 1171 11C0;
+B026;B026;1101 1171 11C1;B026;1101 1171 11C1;
+B027;B027;1101 1171 11C2;B027;1101 1171 11C2;
+B028;B028;1101 1172;B028;1101 1172;
+B029;B029;1101 1172 11A8;B029;1101 1172 11A8;
+B02A;B02A;1101 1172 11A9;B02A;1101 1172 11A9;
+B02B;B02B;1101 1172 11AA;B02B;1101 1172 11AA;
+B02C;B02C;1101 1172 11AB;B02C;1101 1172 11AB;
+B02D;B02D;1101 1172 11AC;B02D;1101 1172 11AC;
+B02E;B02E;1101 1172 11AD;B02E;1101 1172 11AD;
+B02F;B02F;1101 1172 11AE;B02F;1101 1172 11AE;
+B030;B030;1101 1172 11AF;B030;1101 1172 11AF;
+B031;B031;1101 1172 11B0;B031;1101 1172 11B0;
+B032;B032;1101 1172 11B1;B032;1101 1172 11B1;
+B033;B033;1101 1172 11B2;B033;1101 1172 11B2;
+B034;B034;1101 1172 11B3;B034;1101 1172 11B3;
+B035;B035;1101 1172 11B4;B035;1101 1172 11B4;
+B036;B036;1101 1172 11B5;B036;1101 1172 11B5;
+B037;B037;1101 1172 11B6;B037;1101 1172 11B6;
+B038;B038;1101 1172 11B7;B038;1101 1172 11B7;
+B039;B039;1101 1172 11B8;B039;1101 1172 11B8;
+B03A;B03A;1101 1172 11B9;B03A;1101 1172 11B9;
+B03B;B03B;1101 1172 11BA;B03B;1101 1172 11BA;
+B03C;B03C;1101 1172 11BB;B03C;1101 1172 11BB;
+B03D;B03D;1101 1172 11BC;B03D;1101 1172 11BC;
+B03E;B03E;1101 1172 11BD;B03E;1101 1172 11BD;
+B03F;B03F;1101 1172 11BE;B03F;1101 1172 11BE;
+B040;B040;1101 1172 11BF;B040;1101 1172 11BF;
+B041;B041;1101 1172 11C0;B041;1101 1172 11C0;
+B042;B042;1101 1172 11C1;B042;1101 1172 11C1;
+B043;B043;1101 1172 11C2;B043;1101 1172 11C2;
+B044;B044;1101 1173;B044;1101 1173;
+B045;B045;1101 1173 11A8;B045;1101 1173 11A8;
+B046;B046;1101 1173 11A9;B046;1101 1173 11A9;
+B047;B047;1101 1173 11AA;B047;1101 1173 11AA;
+B048;B048;1101 1173 11AB;B048;1101 1173 11AB;
+B049;B049;1101 1173 11AC;B049;1101 1173 11AC;
+B04A;B04A;1101 1173 11AD;B04A;1101 1173 11AD;
+B04B;B04B;1101 1173 11AE;B04B;1101 1173 11AE;
+B04C;B04C;1101 1173 11AF;B04C;1101 1173 11AF;
+B04D;B04D;1101 1173 11B0;B04D;1101 1173 11B0;
+B04E;B04E;1101 1173 11B1;B04E;1101 1173 11B1;
+B04F;B04F;1101 1173 11B2;B04F;1101 1173 11B2;
+B050;B050;1101 1173 11B3;B050;1101 1173 11B3;
+B051;B051;1101 1173 11B4;B051;1101 1173 11B4;
+B052;B052;1101 1173 11B5;B052;1101 1173 11B5;
+B053;B053;1101 1173 11B6;B053;1101 1173 11B6;
+B054;B054;1101 1173 11B7;B054;1101 1173 11B7;
+B055;B055;1101 1173 11B8;B055;1101 1173 11B8;
+B056;B056;1101 1173 11B9;B056;1101 1173 11B9;
+B057;B057;1101 1173 11BA;B057;1101 1173 11BA;
+B058;B058;1101 1173 11BB;B058;1101 1173 11BB;
+B059;B059;1101 1173 11BC;B059;1101 1173 11BC;
+B05A;B05A;1101 1173 11BD;B05A;1101 1173 11BD;
+B05B;B05B;1101 1173 11BE;B05B;1101 1173 11BE;
+B05C;B05C;1101 1173 11BF;B05C;1101 1173 11BF;
+B05D;B05D;1101 1173 11C0;B05D;1101 1173 11C0;
+B05E;B05E;1101 1173 11C1;B05E;1101 1173 11C1;
+B05F;B05F;1101 1173 11C2;B05F;1101 1173 11C2;
+B060;B060;1101 1174;B060;1101 1174;
+B061;B061;1101 1174 11A8;B061;1101 1174 11A8;
+B062;B062;1101 1174 11A9;B062;1101 1174 11A9;
+B063;B063;1101 1174 11AA;B063;1101 1174 11AA;
+B064;B064;1101 1174 11AB;B064;1101 1174 11AB;
+B065;B065;1101 1174 11AC;B065;1101 1174 11AC;
+B066;B066;1101 1174 11AD;B066;1101 1174 11AD;
+B067;B067;1101 1174 11AE;B067;1101 1174 11AE;
+B068;B068;1101 1174 11AF;B068;1101 1174 11AF;
+B069;B069;1101 1174 11B0;B069;1101 1174 11B0;
+B06A;B06A;1101 1174 11B1;B06A;1101 1174 11B1;
+B06B;B06B;1101 1174 11B2;B06B;1101 1174 11B2;
+B06C;B06C;1101 1174 11B3;B06C;1101 1174 11B3;
+B06D;B06D;1101 1174 11B4;B06D;1101 1174 11B4;
+B06E;B06E;1101 1174 11B5;B06E;1101 1174 11B5;
+B06F;B06F;1101 1174 11B6;B06F;1101 1174 11B6;
+B070;B070;1101 1174 11B7;B070;1101 1174 11B7;
+B071;B071;1101 1174 11B8;B071;1101 1174 11B8;
+B072;B072;1101 1174 11B9;B072;1101 1174 11B9;
+B073;B073;1101 1174 11BA;B073;1101 1174 11BA;
+B074;B074;1101 1174 11BB;B074;1101 1174 11BB;
+B075;B075;1101 1174 11BC;B075;1101 1174 11BC;
+B076;B076;1101 1174 11BD;B076;1101 1174 11BD;
+B077;B077;1101 1174 11BE;B077;1101 1174 11BE;
+B078;B078;1101 1174 11BF;B078;1101 1174 11BF;
+B079;B079;1101 1174 11C0;B079;1101 1174 11C0;
+B07A;B07A;1101 1174 11C1;B07A;1101 1174 11C1;
+B07B;B07B;1101 1174 11C2;B07B;1101 1174 11C2;
+B07C;B07C;1101 1175;B07C;1101 1175;
+B07D;B07D;1101 1175 11A8;B07D;1101 1175 11A8;
+B07E;B07E;1101 1175 11A9;B07E;1101 1175 11A9;
+B07F;B07F;1101 1175 11AA;B07F;1101 1175 11AA;
+B080;B080;1101 1175 11AB;B080;1101 1175 11AB;
+B081;B081;1101 1175 11AC;B081;1101 1175 11AC;
+B082;B082;1101 1175 11AD;B082;1101 1175 11AD;
+B083;B083;1101 1175 11AE;B083;1101 1175 11AE;
+B084;B084;1101 1175 11AF;B084;1101 1175 11AF;
+B085;B085;1101 1175 11B0;B085;1101 1175 11B0;
+B086;B086;1101 1175 11B1;B086;1101 1175 11B1;
+B087;B087;1101 1175 11B2;B087;1101 1175 11B2;
+B088;B088;1101 1175 11B3;B088;1101 1175 11B3;
+B089;B089;1101 1175 11B4;B089;1101 1175 11B4;
+B08A;B08A;1101 1175 11B5;B08A;1101 1175 11B5;
+B08B;B08B;1101 1175 11B6;B08B;1101 1175 11B6;
+B08C;B08C;1101 1175 11B7;B08C;1101 1175 11B7;
+B08D;B08D;1101 1175 11B8;B08D;1101 1175 11B8;
+B08E;B08E;1101 1175 11B9;B08E;1101 1175 11B9;
+B08F;B08F;1101 1175 11BA;B08F;1101 1175 11BA;
+B090;B090;1101 1175 11BB;B090;1101 1175 11BB;
+B091;B091;1101 1175 11BC;B091;1101 1175 11BC;
+B092;B092;1101 1175 11BD;B092;1101 1175 11BD;
+B093;B093;1101 1175 11BE;B093;1101 1175 11BE;
+B094;B094;1101 1175 11BF;B094;1101 1175 11BF;
+B095;B095;1101 1175 11C0;B095;1101 1175 11C0;
+B096;B096;1101 1175 11C1;B096;1101 1175 11C1;
+B097;B097;1101 1175 11C2;B097;1101 1175 11C2;
+B098;B098;1102 1161;B098;1102 1161;
+B099;B099;1102 1161 11A8;B099;1102 1161 11A8;
+B09A;B09A;1102 1161 11A9;B09A;1102 1161 11A9;
+B09B;B09B;1102 1161 11AA;B09B;1102 1161 11AA;
+B09C;B09C;1102 1161 11AB;B09C;1102 1161 11AB;
+B09D;B09D;1102 1161 11AC;B09D;1102 1161 11AC;
+B09E;B09E;1102 1161 11AD;B09E;1102 1161 11AD;
+B09F;B09F;1102 1161 11AE;B09F;1102 1161 11AE;
+B0A0;B0A0;1102 1161 11AF;B0A0;1102 1161 11AF;
+B0A1;B0A1;1102 1161 11B0;B0A1;1102 1161 11B0;
+B0A2;B0A2;1102 1161 11B1;B0A2;1102 1161 11B1;
+B0A3;B0A3;1102 1161 11B2;B0A3;1102 1161 11B2;
+B0A4;B0A4;1102 1161 11B3;B0A4;1102 1161 11B3;
+B0A5;B0A5;1102 1161 11B4;B0A5;1102 1161 11B4;
+B0A6;B0A6;1102 1161 11B5;B0A6;1102 1161 11B5;
+B0A7;B0A7;1102 1161 11B6;B0A7;1102 1161 11B6;
+B0A8;B0A8;1102 1161 11B7;B0A8;1102 1161 11B7;
+B0A9;B0A9;1102 1161 11B8;B0A9;1102 1161 11B8;
+B0AA;B0AA;1102 1161 11B9;B0AA;1102 1161 11B9;
+B0AB;B0AB;1102 1161 11BA;B0AB;1102 1161 11BA;
+B0AC;B0AC;1102 1161 11BB;B0AC;1102 1161 11BB;
+B0AD;B0AD;1102 1161 11BC;B0AD;1102 1161 11BC;
+B0AE;B0AE;1102 1161 11BD;B0AE;1102 1161 11BD;
+B0AF;B0AF;1102 1161 11BE;B0AF;1102 1161 11BE;
+B0B0;B0B0;1102 1161 11BF;B0B0;1102 1161 11BF;
+B0B1;B0B1;1102 1161 11C0;B0B1;1102 1161 11C0;
+B0B2;B0B2;1102 1161 11C1;B0B2;1102 1161 11C1;
+B0B3;B0B3;1102 1161 11C2;B0B3;1102 1161 11C2;
+B0B4;B0B4;1102 1162;B0B4;1102 1162;
+B0B5;B0B5;1102 1162 11A8;B0B5;1102 1162 11A8;
+B0B6;B0B6;1102 1162 11A9;B0B6;1102 1162 11A9;
+B0B7;B0B7;1102 1162 11AA;B0B7;1102 1162 11AA;
+B0B8;B0B8;1102 1162 11AB;B0B8;1102 1162 11AB;
+B0B9;B0B9;1102 1162 11AC;B0B9;1102 1162 11AC;
+B0BA;B0BA;1102 1162 11AD;B0BA;1102 1162 11AD;
+B0BB;B0BB;1102 1162 11AE;B0BB;1102 1162 11AE;
+B0BC;B0BC;1102 1162 11AF;B0BC;1102 1162 11AF;
+B0BD;B0BD;1102 1162 11B0;B0BD;1102 1162 11B0;
+B0BE;B0BE;1102 1162 11B1;B0BE;1102 1162 11B1;
+B0BF;B0BF;1102 1162 11B2;B0BF;1102 1162 11B2;
+B0C0;B0C0;1102 1162 11B3;B0C0;1102 1162 11B3;
+B0C1;B0C1;1102 1162 11B4;B0C1;1102 1162 11B4;
+B0C2;B0C2;1102 1162 11B5;B0C2;1102 1162 11B5;
+B0C3;B0C3;1102 1162 11B6;B0C3;1102 1162 11B6;
+B0C4;B0C4;1102 1162 11B7;B0C4;1102 1162 11B7;
+B0C5;B0C5;1102 1162 11B8;B0C5;1102 1162 11B8;
+B0C6;B0C6;1102 1162 11B9;B0C6;1102 1162 11B9;
+B0C7;B0C7;1102 1162 11BA;B0C7;1102 1162 11BA;
+B0C8;B0C8;1102 1162 11BB;B0C8;1102 1162 11BB;
+B0C9;B0C9;1102 1162 11BC;B0C9;1102 1162 11BC;
+B0CA;B0CA;1102 1162 11BD;B0CA;1102 1162 11BD;
+B0CB;B0CB;1102 1162 11BE;B0CB;1102 1162 11BE;
+B0CC;B0CC;1102 1162 11BF;B0CC;1102 1162 11BF;
+B0CD;B0CD;1102 1162 11C0;B0CD;1102 1162 11C0;
+B0CE;B0CE;1102 1162 11C1;B0CE;1102 1162 11C1;
+B0CF;B0CF;1102 1162 11C2;B0CF;1102 1162 11C2;
+B0D0;B0D0;1102 1163;B0D0;1102 1163;
+B0D1;B0D1;1102 1163 11A8;B0D1;1102 1163 11A8;
+B0D2;B0D2;1102 1163 11A9;B0D2;1102 1163 11A9;
+B0D3;B0D3;1102 1163 11AA;B0D3;1102 1163 11AA;
+B0D4;B0D4;1102 1163 11AB;B0D4;1102 1163 11AB;
+B0D5;B0D5;1102 1163 11AC;B0D5;1102 1163 11AC;
+B0D6;B0D6;1102 1163 11AD;B0D6;1102 1163 11AD;
+B0D7;B0D7;1102 1163 11AE;B0D7;1102 1163 11AE;
+B0D8;B0D8;1102 1163 11AF;B0D8;1102 1163 11AF;
+B0D9;B0D9;1102 1163 11B0;B0D9;1102 1163 11B0;
+B0DA;B0DA;1102 1163 11B1;B0DA;1102 1163 11B1;
+B0DB;B0DB;1102 1163 11B2;B0DB;1102 1163 11B2;
+B0DC;B0DC;1102 1163 11B3;B0DC;1102 1163 11B3;
+B0DD;B0DD;1102 1163 11B4;B0DD;1102 1163 11B4;
+B0DE;B0DE;1102 1163 11B5;B0DE;1102 1163 11B5;
+B0DF;B0DF;1102 1163 11B6;B0DF;1102 1163 11B6;
+B0E0;B0E0;1102 1163 11B7;B0E0;1102 1163 11B7;
+B0E1;B0E1;1102 1163 11B8;B0E1;1102 1163 11B8;
+B0E2;B0E2;1102 1163 11B9;B0E2;1102 1163 11B9;
+B0E3;B0E3;1102 1163 11BA;B0E3;1102 1163 11BA;
+B0E4;B0E4;1102 1163 11BB;B0E4;1102 1163 11BB;
+B0E5;B0E5;1102 1163 11BC;B0E5;1102 1163 11BC;
+B0E6;B0E6;1102 1163 11BD;B0E6;1102 1163 11BD;
+B0E7;B0E7;1102 1163 11BE;B0E7;1102 1163 11BE;
+B0E8;B0E8;1102 1163 11BF;B0E8;1102 1163 11BF;
+B0E9;B0E9;1102 1163 11C0;B0E9;1102 1163 11C0;
+B0EA;B0EA;1102 1163 11C1;B0EA;1102 1163 11C1;
+B0EB;B0EB;1102 1163 11C2;B0EB;1102 1163 11C2;
+B0EC;B0EC;1102 1164;B0EC;1102 1164;
+B0ED;B0ED;1102 1164 11A8;B0ED;1102 1164 11A8;
+B0EE;B0EE;1102 1164 11A9;B0EE;1102 1164 11A9;
+B0EF;B0EF;1102 1164 11AA;B0EF;1102 1164 11AA;
+B0F0;B0F0;1102 1164 11AB;B0F0;1102 1164 11AB;
+B0F1;B0F1;1102 1164 11AC;B0F1;1102 1164 11AC;
+B0F2;B0F2;1102 1164 11AD;B0F2;1102 1164 11AD;
+B0F3;B0F3;1102 1164 11AE;B0F3;1102 1164 11AE;
+B0F4;B0F4;1102 1164 11AF;B0F4;1102 1164 11AF;
+B0F5;B0F5;1102 1164 11B0;B0F5;1102 1164 11B0;
+B0F6;B0F6;1102 1164 11B1;B0F6;1102 1164 11B1;
+B0F7;B0F7;1102 1164 11B2;B0F7;1102 1164 11B2;
+B0F8;B0F8;1102 1164 11B3;B0F8;1102 1164 11B3;
+B0F9;B0F9;1102 1164 11B4;B0F9;1102 1164 11B4;
+B0FA;B0FA;1102 1164 11B5;B0FA;1102 1164 11B5;
+B0FB;B0FB;1102 1164 11B6;B0FB;1102 1164 11B6;
+B0FC;B0FC;1102 1164 11B7;B0FC;1102 1164 11B7;
+B0FD;B0FD;1102 1164 11B8;B0FD;1102 1164 11B8;
+B0FE;B0FE;1102 1164 11B9;B0FE;1102 1164 11B9;
+B0FF;B0FF;1102 1164 11BA;B0FF;1102 1164 11BA;
+B100;B100;1102 1164 11BB;B100;1102 1164 11BB;
+B101;B101;1102 1164 11BC;B101;1102 1164 11BC;
+B102;B102;1102 1164 11BD;B102;1102 1164 11BD;
+B103;B103;1102 1164 11BE;B103;1102 1164 11BE;
+B104;B104;1102 1164 11BF;B104;1102 1164 11BF;
+B105;B105;1102 1164 11C0;B105;1102 1164 11C0;
+B106;B106;1102 1164 11C1;B106;1102 1164 11C1;
+B107;B107;1102 1164 11C2;B107;1102 1164 11C2;
+B108;B108;1102 1165;B108;1102 1165;
+B109;B109;1102 1165 11A8;B109;1102 1165 11A8;
+B10A;B10A;1102 1165 11A9;B10A;1102 1165 11A9;
+B10B;B10B;1102 1165 11AA;B10B;1102 1165 11AA;
+B10C;B10C;1102 1165 11AB;B10C;1102 1165 11AB;
+B10D;B10D;1102 1165 11AC;B10D;1102 1165 11AC;
+B10E;B10E;1102 1165 11AD;B10E;1102 1165 11AD;
+B10F;B10F;1102 1165 11AE;B10F;1102 1165 11AE;
+B110;B110;1102 1165 11AF;B110;1102 1165 11AF;
+B111;B111;1102 1165 11B0;B111;1102 1165 11B0;
+B112;B112;1102 1165 11B1;B112;1102 1165 11B1;
+B113;B113;1102 1165 11B2;B113;1102 1165 11B2;
+B114;B114;1102 1165 11B3;B114;1102 1165 11B3;
+B115;B115;1102 1165 11B4;B115;1102 1165 11B4;
+B116;B116;1102 1165 11B5;B116;1102 1165 11B5;
+B117;B117;1102 1165 11B6;B117;1102 1165 11B6;
+B118;B118;1102 1165 11B7;B118;1102 1165 11B7;
+B119;B119;1102 1165 11B8;B119;1102 1165 11B8;
+B11A;B11A;1102 1165 11B9;B11A;1102 1165 11B9;
+B11B;B11B;1102 1165 11BA;B11B;1102 1165 11BA;
+B11C;B11C;1102 1165 11BB;B11C;1102 1165 11BB;
+B11D;B11D;1102 1165 11BC;B11D;1102 1165 11BC;
+B11E;B11E;1102 1165 11BD;B11E;1102 1165 11BD;
+B11F;B11F;1102 1165 11BE;B11F;1102 1165 11BE;
+B120;B120;1102 1165 11BF;B120;1102 1165 11BF;
+B121;B121;1102 1165 11C0;B121;1102 1165 11C0;
+B122;B122;1102 1165 11C1;B122;1102 1165 11C1;
+B123;B123;1102 1165 11C2;B123;1102 1165 11C2;
+B124;B124;1102 1166;B124;1102 1166;
+B125;B125;1102 1166 11A8;B125;1102 1166 11A8;
+B126;B126;1102 1166 11A9;B126;1102 1166 11A9;
+B127;B127;1102 1166 11AA;B127;1102 1166 11AA;
+B128;B128;1102 1166 11AB;B128;1102 1166 11AB;
+B129;B129;1102 1166 11AC;B129;1102 1166 11AC;
+B12A;B12A;1102 1166 11AD;B12A;1102 1166 11AD;
+B12B;B12B;1102 1166 11AE;B12B;1102 1166 11AE;
+B12C;B12C;1102 1166 11AF;B12C;1102 1166 11AF;
+B12D;B12D;1102 1166 11B0;B12D;1102 1166 11B0;
+B12E;B12E;1102 1166 11B1;B12E;1102 1166 11B1;
+B12F;B12F;1102 1166 11B2;B12F;1102 1166 11B2;
+B130;B130;1102 1166 11B3;B130;1102 1166 11B3;
+B131;B131;1102 1166 11B4;B131;1102 1166 11B4;
+B132;B132;1102 1166 11B5;B132;1102 1166 11B5;
+B133;B133;1102 1166 11B6;B133;1102 1166 11B6;
+B134;B134;1102 1166 11B7;B134;1102 1166 11B7;
+B135;B135;1102 1166 11B8;B135;1102 1166 11B8;
+B136;B136;1102 1166 11B9;B136;1102 1166 11B9;
+B137;B137;1102 1166 11BA;B137;1102 1166 11BA;
+B138;B138;1102 1166 11BB;B138;1102 1166 11BB;
+B139;B139;1102 1166 11BC;B139;1102 1166 11BC;
+B13A;B13A;1102 1166 11BD;B13A;1102 1166 11BD;
+B13B;B13B;1102 1166 11BE;B13B;1102 1166 11BE;
+B13C;B13C;1102 1166 11BF;B13C;1102 1166 11BF;
+B13D;B13D;1102 1166 11C0;B13D;1102 1166 11C0;
+B13E;B13E;1102 1166 11C1;B13E;1102 1166 11C1;
+B13F;B13F;1102 1166 11C2;B13F;1102 1166 11C2;
+B140;B140;1102 1167;B140;1102 1167;
+B141;B141;1102 1167 11A8;B141;1102 1167 11A8;
+B142;B142;1102 1167 11A9;B142;1102 1167 11A9;
+B143;B143;1102 1167 11AA;B143;1102 1167 11AA;
+B144;B144;1102 1167 11AB;B144;1102 1167 11AB;
+B145;B145;1102 1167 11AC;B145;1102 1167 11AC;
+B146;B146;1102 1167 11AD;B146;1102 1167 11AD;
+B147;B147;1102 1167 11AE;B147;1102 1167 11AE;
+B148;B148;1102 1167 11AF;B148;1102 1167 11AF;
+B149;B149;1102 1167 11B0;B149;1102 1167 11B0;
+B14A;B14A;1102 1167 11B1;B14A;1102 1167 11B1;
+B14B;B14B;1102 1167 11B2;B14B;1102 1167 11B2;
+B14C;B14C;1102 1167 11B3;B14C;1102 1167 11B3;
+B14D;B14D;1102 1167 11B4;B14D;1102 1167 11B4;
+B14E;B14E;1102 1167 11B5;B14E;1102 1167 11B5;
+B14F;B14F;1102 1167 11B6;B14F;1102 1167 11B6;
+B150;B150;1102 1167 11B7;B150;1102 1167 11B7;
+B151;B151;1102 1167 11B8;B151;1102 1167 11B8;
+B152;B152;1102 1167 11B9;B152;1102 1167 11B9;
+B153;B153;1102 1167 11BA;B153;1102 1167 11BA;
+B154;B154;1102 1167 11BB;B154;1102 1167 11BB;
+B155;B155;1102 1167 11BC;B155;1102 1167 11BC;
+B156;B156;1102 1167 11BD;B156;1102 1167 11BD;
+B157;B157;1102 1167 11BE;B157;1102 1167 11BE;
+B158;B158;1102 1167 11BF;B158;1102 1167 11BF;
+B159;B159;1102 1167 11C0;B159;1102 1167 11C0;
+B15A;B15A;1102 1167 11C1;B15A;1102 1167 11C1;
+B15B;B15B;1102 1167 11C2;B15B;1102 1167 11C2;
+B15C;B15C;1102 1168;B15C;1102 1168;
+B15D;B15D;1102 1168 11A8;B15D;1102 1168 11A8;
+B15E;B15E;1102 1168 11A9;B15E;1102 1168 11A9;
+B15F;B15F;1102 1168 11AA;B15F;1102 1168 11AA;
+B160;B160;1102 1168 11AB;B160;1102 1168 11AB;
+B161;B161;1102 1168 11AC;B161;1102 1168 11AC;
+B162;B162;1102 1168 11AD;B162;1102 1168 11AD;
+B163;B163;1102 1168 11AE;B163;1102 1168 11AE;
+B164;B164;1102 1168 11AF;B164;1102 1168 11AF;
+B165;B165;1102 1168 11B0;B165;1102 1168 11B0;
+B166;B166;1102 1168 11B1;B166;1102 1168 11B1;
+B167;B167;1102 1168 11B2;B167;1102 1168 11B2;
+B168;B168;1102 1168 11B3;B168;1102 1168 11B3;
+B169;B169;1102 1168 11B4;B169;1102 1168 11B4;
+B16A;B16A;1102 1168 11B5;B16A;1102 1168 11B5;
+B16B;B16B;1102 1168 11B6;B16B;1102 1168 11B6;
+B16C;B16C;1102 1168 11B7;B16C;1102 1168 11B7;
+B16D;B16D;1102 1168 11B8;B16D;1102 1168 11B8;
+B16E;B16E;1102 1168 11B9;B16E;1102 1168 11B9;
+B16F;B16F;1102 1168 11BA;B16F;1102 1168 11BA;
+B170;B170;1102 1168 11BB;B170;1102 1168 11BB;
+B171;B171;1102 1168 11BC;B171;1102 1168 11BC;
+B172;B172;1102 1168 11BD;B172;1102 1168 11BD;
+B173;B173;1102 1168 11BE;B173;1102 1168 11BE;
+B174;B174;1102 1168 11BF;B174;1102 1168 11BF;
+B175;B175;1102 1168 11C0;B175;1102 1168 11C0;
+B176;B176;1102 1168 11C1;B176;1102 1168 11C1;
+B177;B177;1102 1168 11C2;B177;1102 1168 11C2;
+B178;B178;1102 1169;B178;1102 1169;
+B179;B179;1102 1169 11A8;B179;1102 1169 11A8;
+B17A;B17A;1102 1169 11A9;B17A;1102 1169 11A9;
+B17B;B17B;1102 1169 11AA;B17B;1102 1169 11AA;
+B17C;B17C;1102 1169 11AB;B17C;1102 1169 11AB;
+B17D;B17D;1102 1169 11AC;B17D;1102 1169 11AC;
+B17E;B17E;1102 1169 11AD;B17E;1102 1169 11AD;
+B17F;B17F;1102 1169 11AE;B17F;1102 1169 11AE;
+B180;B180;1102 1169 11AF;B180;1102 1169 11AF;
+B181;B181;1102 1169 11B0;B181;1102 1169 11B0;
+B182;B182;1102 1169 11B1;B182;1102 1169 11B1;
+B183;B183;1102 1169 11B2;B183;1102 1169 11B2;
+B184;B184;1102 1169 11B3;B184;1102 1169 11B3;
+B185;B185;1102 1169 11B4;B185;1102 1169 11B4;
+B186;B186;1102 1169 11B5;B186;1102 1169 11B5;
+B187;B187;1102 1169 11B6;B187;1102 1169 11B6;
+B188;B188;1102 1169 11B7;B188;1102 1169 11B7;
+B189;B189;1102 1169 11B8;B189;1102 1169 11B8;
+B18A;B18A;1102 1169 11B9;B18A;1102 1169 11B9;
+B18B;B18B;1102 1169 11BA;B18B;1102 1169 11BA;
+B18C;B18C;1102 1169 11BB;B18C;1102 1169 11BB;
+B18D;B18D;1102 1169 11BC;B18D;1102 1169 11BC;
+B18E;B18E;1102 1169 11BD;B18E;1102 1169 11BD;
+B18F;B18F;1102 1169 11BE;B18F;1102 1169 11BE;
+B190;B190;1102 1169 11BF;B190;1102 1169 11BF;
+B191;B191;1102 1169 11C0;B191;1102 1169 11C0;
+B192;B192;1102 1169 11C1;B192;1102 1169 11C1;
+B193;B193;1102 1169 11C2;B193;1102 1169 11C2;
+B194;B194;1102 116A;B194;1102 116A;
+B195;B195;1102 116A 11A8;B195;1102 116A 11A8;
+B196;B196;1102 116A 11A9;B196;1102 116A 11A9;
+B197;B197;1102 116A 11AA;B197;1102 116A 11AA;
+B198;B198;1102 116A 11AB;B198;1102 116A 11AB;
+B199;B199;1102 116A 11AC;B199;1102 116A 11AC;
+B19A;B19A;1102 116A 11AD;B19A;1102 116A 11AD;
+B19B;B19B;1102 116A 11AE;B19B;1102 116A 11AE;
+B19C;B19C;1102 116A 11AF;B19C;1102 116A 11AF;
+B19D;B19D;1102 116A 11B0;B19D;1102 116A 11B0;
+B19E;B19E;1102 116A 11B1;B19E;1102 116A 11B1;
+B19F;B19F;1102 116A 11B2;B19F;1102 116A 11B2;
+B1A0;B1A0;1102 116A 11B3;B1A0;1102 116A 11B3;
+B1A1;B1A1;1102 116A 11B4;B1A1;1102 116A 11B4;
+B1A2;B1A2;1102 116A 11B5;B1A2;1102 116A 11B5;
+B1A3;B1A3;1102 116A 11B6;B1A3;1102 116A 11B6;
+B1A4;B1A4;1102 116A 11B7;B1A4;1102 116A 11B7;
+B1A5;B1A5;1102 116A 11B8;B1A5;1102 116A 11B8;
+B1A6;B1A6;1102 116A 11B9;B1A6;1102 116A 11B9;
+B1A7;B1A7;1102 116A 11BA;B1A7;1102 116A 11BA;
+B1A8;B1A8;1102 116A 11BB;B1A8;1102 116A 11BB;
+B1A9;B1A9;1102 116A 11BC;B1A9;1102 116A 11BC;
+B1AA;B1AA;1102 116A 11BD;B1AA;1102 116A 11BD;
+B1AB;B1AB;1102 116A 11BE;B1AB;1102 116A 11BE;
+B1AC;B1AC;1102 116A 11BF;B1AC;1102 116A 11BF;
+B1AD;B1AD;1102 116A 11C0;B1AD;1102 116A 11C0;
+B1AE;B1AE;1102 116A 11C1;B1AE;1102 116A 11C1;
+B1AF;B1AF;1102 116A 11C2;B1AF;1102 116A 11C2;
+B1B0;B1B0;1102 116B;B1B0;1102 116B;
+B1B1;B1B1;1102 116B 11A8;B1B1;1102 116B 11A8;
+B1B2;B1B2;1102 116B 11A9;B1B2;1102 116B 11A9;
+B1B3;B1B3;1102 116B 11AA;B1B3;1102 116B 11AA;
+B1B4;B1B4;1102 116B 11AB;B1B4;1102 116B 11AB;
+B1B5;B1B5;1102 116B 11AC;B1B5;1102 116B 11AC;
+B1B6;B1B6;1102 116B 11AD;B1B6;1102 116B 11AD;
+B1B7;B1B7;1102 116B 11AE;B1B7;1102 116B 11AE;
+B1B8;B1B8;1102 116B 11AF;B1B8;1102 116B 11AF;
+B1B9;B1B9;1102 116B 11B0;B1B9;1102 116B 11B0;
+B1BA;B1BA;1102 116B 11B1;B1BA;1102 116B 11B1;
+B1BB;B1BB;1102 116B 11B2;B1BB;1102 116B 11B2;
+B1BC;B1BC;1102 116B 11B3;B1BC;1102 116B 11B3;
+B1BD;B1BD;1102 116B 11B4;B1BD;1102 116B 11B4;
+B1BE;B1BE;1102 116B 11B5;B1BE;1102 116B 11B5;
+B1BF;B1BF;1102 116B 11B6;B1BF;1102 116B 11B6;
+B1C0;B1C0;1102 116B 11B7;B1C0;1102 116B 11B7;
+B1C1;B1C1;1102 116B 11B8;B1C1;1102 116B 11B8;
+B1C2;B1C2;1102 116B 11B9;B1C2;1102 116B 11B9;
+B1C3;B1C3;1102 116B 11BA;B1C3;1102 116B 11BA;
+B1C4;B1C4;1102 116B 11BB;B1C4;1102 116B 11BB;
+B1C5;B1C5;1102 116B 11BC;B1C5;1102 116B 11BC;
+B1C6;B1C6;1102 116B 11BD;B1C6;1102 116B 11BD;
+B1C7;B1C7;1102 116B 11BE;B1C7;1102 116B 11BE;
+B1C8;B1C8;1102 116B 11BF;B1C8;1102 116B 11BF;
+B1C9;B1C9;1102 116B 11C0;B1C9;1102 116B 11C0;
+B1CA;B1CA;1102 116B 11C1;B1CA;1102 116B 11C1;
+B1CB;B1CB;1102 116B 11C2;B1CB;1102 116B 11C2;
+B1CC;B1CC;1102 116C;B1CC;1102 116C;
+B1CD;B1CD;1102 116C 11A8;B1CD;1102 116C 11A8;
+B1CE;B1CE;1102 116C 11A9;B1CE;1102 116C 11A9;
+B1CF;B1CF;1102 116C 11AA;B1CF;1102 116C 11AA;
+B1D0;B1D0;1102 116C 11AB;B1D0;1102 116C 11AB;
+B1D1;B1D1;1102 116C 11AC;B1D1;1102 116C 11AC;
+B1D2;B1D2;1102 116C 11AD;B1D2;1102 116C 11AD;
+B1D3;B1D3;1102 116C 11AE;B1D3;1102 116C 11AE;
+B1D4;B1D4;1102 116C 11AF;B1D4;1102 116C 11AF;
+B1D5;B1D5;1102 116C 11B0;B1D5;1102 116C 11B0;
+B1D6;B1D6;1102 116C 11B1;B1D6;1102 116C 11B1;
+B1D7;B1D7;1102 116C 11B2;B1D7;1102 116C 11B2;
+B1D8;B1D8;1102 116C 11B3;B1D8;1102 116C 11B3;
+B1D9;B1D9;1102 116C 11B4;B1D9;1102 116C 11B4;
+B1DA;B1DA;1102 116C 11B5;B1DA;1102 116C 11B5;
+B1DB;B1DB;1102 116C 11B6;B1DB;1102 116C 11B6;
+B1DC;B1DC;1102 116C 11B7;B1DC;1102 116C 11B7;
+B1DD;B1DD;1102 116C 11B8;B1DD;1102 116C 11B8;
+B1DE;B1DE;1102 116C 11B9;B1DE;1102 116C 11B9;
+B1DF;B1DF;1102 116C 11BA;B1DF;1102 116C 11BA;
+B1E0;B1E0;1102 116C 11BB;B1E0;1102 116C 11BB;
+B1E1;B1E1;1102 116C 11BC;B1E1;1102 116C 11BC;
+B1E2;B1E2;1102 116C 11BD;B1E2;1102 116C 11BD;
+B1E3;B1E3;1102 116C 11BE;B1E3;1102 116C 11BE;
+B1E4;B1E4;1102 116C 11BF;B1E4;1102 116C 11BF;
+B1E5;B1E5;1102 116C 11C0;B1E5;1102 116C 11C0;
+B1E6;B1E6;1102 116C 11C1;B1E6;1102 116C 11C1;
+B1E7;B1E7;1102 116C 11C2;B1E7;1102 116C 11C2;
+B1E8;B1E8;1102 116D;B1E8;1102 116D;
+B1E9;B1E9;1102 116D 11A8;B1E9;1102 116D 11A8;
+B1EA;B1EA;1102 116D 11A9;B1EA;1102 116D 11A9;
+B1EB;B1EB;1102 116D 11AA;B1EB;1102 116D 11AA;
+B1EC;B1EC;1102 116D 11AB;B1EC;1102 116D 11AB;
+B1ED;B1ED;1102 116D 11AC;B1ED;1102 116D 11AC;
+B1EE;B1EE;1102 116D 11AD;B1EE;1102 116D 11AD;
+B1EF;B1EF;1102 116D 11AE;B1EF;1102 116D 11AE;
+B1F0;B1F0;1102 116D 11AF;B1F0;1102 116D 11AF;
+B1F1;B1F1;1102 116D 11B0;B1F1;1102 116D 11B0;
+B1F2;B1F2;1102 116D 11B1;B1F2;1102 116D 11B1;
+B1F3;B1F3;1102 116D 11B2;B1F3;1102 116D 11B2;
+B1F4;B1F4;1102 116D 11B3;B1F4;1102 116D 11B3;
+B1F5;B1F5;1102 116D 11B4;B1F5;1102 116D 11B4;
+B1F6;B1F6;1102 116D 11B5;B1F6;1102 116D 11B5;
+B1F7;B1F7;1102 116D 11B6;B1F7;1102 116D 11B6;
+B1F8;B1F8;1102 116D 11B7;B1F8;1102 116D 11B7;
+B1F9;B1F9;1102 116D 11B8;B1F9;1102 116D 11B8;
+B1FA;B1FA;1102 116D 11B9;B1FA;1102 116D 11B9;
+B1FB;B1FB;1102 116D 11BA;B1FB;1102 116D 11BA;
+B1FC;B1FC;1102 116D 11BB;B1FC;1102 116D 11BB;
+B1FD;B1FD;1102 116D 11BC;B1FD;1102 116D 11BC;
+B1FE;B1FE;1102 116D 11BD;B1FE;1102 116D 11BD;
+B1FF;B1FF;1102 116D 11BE;B1FF;1102 116D 11BE;
+B200;B200;1102 116D 11BF;B200;1102 116D 11BF;
+B201;B201;1102 116D 11C0;B201;1102 116D 11C0;
+B202;B202;1102 116D 11C1;B202;1102 116D 11C1;
+B203;B203;1102 116D 11C2;B203;1102 116D 11C2;
+B204;B204;1102 116E;B204;1102 116E;
+B205;B205;1102 116E 11A8;B205;1102 116E 11A8;
+B206;B206;1102 116E 11A9;B206;1102 116E 11A9;
+B207;B207;1102 116E 11AA;B207;1102 116E 11AA;
+B208;B208;1102 116E 11AB;B208;1102 116E 11AB;
+B209;B209;1102 116E 11AC;B209;1102 116E 11AC;
+B20A;B20A;1102 116E 11AD;B20A;1102 116E 11AD;
+B20B;B20B;1102 116E 11AE;B20B;1102 116E 11AE;
+B20C;B20C;1102 116E 11AF;B20C;1102 116E 11AF;
+B20D;B20D;1102 116E 11B0;B20D;1102 116E 11B0;
+B20E;B20E;1102 116E 11B1;B20E;1102 116E 11B1;
+B20F;B20F;1102 116E 11B2;B20F;1102 116E 11B2;
+B210;B210;1102 116E 11B3;B210;1102 116E 11B3;
+B211;B211;1102 116E 11B4;B211;1102 116E 11B4;
+B212;B212;1102 116E 11B5;B212;1102 116E 11B5;
+B213;B213;1102 116E 11B6;B213;1102 116E 11B6;
+B214;B214;1102 116E 11B7;B214;1102 116E 11B7;
+B215;B215;1102 116E 11B8;B215;1102 116E 11B8;
+B216;B216;1102 116E 11B9;B216;1102 116E 11B9;
+B217;B217;1102 116E 11BA;B217;1102 116E 11BA;
+B218;B218;1102 116E 11BB;B218;1102 116E 11BB;
+B219;B219;1102 116E 11BC;B219;1102 116E 11BC;
+B21A;B21A;1102 116E 11BD;B21A;1102 116E 11BD;
+B21B;B21B;1102 116E 11BE;B21B;1102 116E 11BE;
+B21C;B21C;1102 116E 11BF;B21C;1102 116E 11BF;
+B21D;B21D;1102 116E 11C0;B21D;1102 116E 11C0;
+B21E;B21E;1102 116E 11C1;B21E;1102 116E 11C1;
+B21F;B21F;1102 116E 11C2;B21F;1102 116E 11C2;
+B220;B220;1102 116F;B220;1102 116F;
+B221;B221;1102 116F 11A8;B221;1102 116F 11A8;
+B222;B222;1102 116F 11A9;B222;1102 116F 11A9;
+B223;B223;1102 116F 11AA;B223;1102 116F 11AA;
+B224;B224;1102 116F 11AB;B224;1102 116F 11AB;
+B225;B225;1102 116F 11AC;B225;1102 116F 11AC;
+B226;B226;1102 116F 11AD;B226;1102 116F 11AD;
+B227;B227;1102 116F 11AE;B227;1102 116F 11AE;
+B228;B228;1102 116F 11AF;B228;1102 116F 11AF;
+B229;B229;1102 116F 11B0;B229;1102 116F 11B0;
+B22A;B22A;1102 116F 11B1;B22A;1102 116F 11B1;
+B22B;B22B;1102 116F 11B2;B22B;1102 116F 11B2;
+B22C;B22C;1102 116F 11B3;B22C;1102 116F 11B3;
+B22D;B22D;1102 116F 11B4;B22D;1102 116F 11B4;
+B22E;B22E;1102 116F 11B5;B22E;1102 116F 11B5;
+B22F;B22F;1102 116F 11B6;B22F;1102 116F 11B6;
+B230;B230;1102 116F 11B7;B230;1102 116F 11B7;
+B231;B231;1102 116F 11B8;B231;1102 116F 11B8;
+B232;B232;1102 116F 11B9;B232;1102 116F 11B9;
+B233;B233;1102 116F 11BA;B233;1102 116F 11BA;
+B234;B234;1102 116F 11BB;B234;1102 116F 11BB;
+B235;B235;1102 116F 11BC;B235;1102 116F 11BC;
+B236;B236;1102 116F 11BD;B236;1102 116F 11BD;
+B237;B237;1102 116F 11BE;B237;1102 116F 11BE;
+B238;B238;1102 116F 11BF;B238;1102 116F 11BF;
+B239;B239;1102 116F 11C0;B239;1102 116F 11C0;
+B23A;B23A;1102 116F 11C1;B23A;1102 116F 11C1;
+B23B;B23B;1102 116F 11C2;B23B;1102 116F 11C2;
+B23C;B23C;1102 1170;B23C;1102 1170;
+B23D;B23D;1102 1170 11A8;B23D;1102 1170 11A8;
+B23E;B23E;1102 1170 11A9;B23E;1102 1170 11A9;
+B23F;B23F;1102 1170 11AA;B23F;1102 1170 11AA;
+B240;B240;1102 1170 11AB;B240;1102 1170 11AB;
+B241;B241;1102 1170 11AC;B241;1102 1170 11AC;
+B242;B242;1102 1170 11AD;B242;1102 1170 11AD;
+B243;B243;1102 1170 11AE;B243;1102 1170 11AE;
+B244;B244;1102 1170 11AF;B244;1102 1170 11AF;
+B245;B245;1102 1170 11B0;B245;1102 1170 11B0;
+B246;B246;1102 1170 11B1;B246;1102 1170 11B1;
+B247;B247;1102 1170 11B2;B247;1102 1170 11B2;
+B248;B248;1102 1170 11B3;B248;1102 1170 11B3;
+B249;B249;1102 1170 11B4;B249;1102 1170 11B4;
+B24A;B24A;1102 1170 11B5;B24A;1102 1170 11B5;
+B24B;B24B;1102 1170 11B6;B24B;1102 1170 11B6;
+B24C;B24C;1102 1170 11B7;B24C;1102 1170 11B7;
+B24D;B24D;1102 1170 11B8;B24D;1102 1170 11B8;
+B24E;B24E;1102 1170 11B9;B24E;1102 1170 11B9;
+B24F;B24F;1102 1170 11BA;B24F;1102 1170 11BA;
+B250;B250;1102 1170 11BB;B250;1102 1170 11BB;
+B251;B251;1102 1170 11BC;B251;1102 1170 11BC;
+B252;B252;1102 1170 11BD;B252;1102 1170 11BD;
+B253;B253;1102 1170 11BE;B253;1102 1170 11BE;
+B254;B254;1102 1170 11BF;B254;1102 1170 11BF;
+B255;B255;1102 1170 11C0;B255;1102 1170 11C0;
+B256;B256;1102 1170 11C1;B256;1102 1170 11C1;
+B257;B257;1102 1170 11C2;B257;1102 1170 11C2;
+B258;B258;1102 1171;B258;1102 1171;
+B259;B259;1102 1171 11A8;B259;1102 1171 11A8;
+B25A;B25A;1102 1171 11A9;B25A;1102 1171 11A9;
+B25B;B25B;1102 1171 11AA;B25B;1102 1171 11AA;
+B25C;B25C;1102 1171 11AB;B25C;1102 1171 11AB;
+B25D;B25D;1102 1171 11AC;B25D;1102 1171 11AC;
+B25E;B25E;1102 1171 11AD;B25E;1102 1171 11AD;
+B25F;B25F;1102 1171 11AE;B25F;1102 1171 11AE;
+B260;B260;1102 1171 11AF;B260;1102 1171 11AF;
+B261;B261;1102 1171 11B0;B261;1102 1171 11B0;
+B262;B262;1102 1171 11B1;B262;1102 1171 11B1;
+B263;B263;1102 1171 11B2;B263;1102 1171 11B2;
+B264;B264;1102 1171 11B3;B264;1102 1171 11B3;
+B265;B265;1102 1171 11B4;B265;1102 1171 11B4;
+B266;B266;1102 1171 11B5;B266;1102 1171 11B5;
+B267;B267;1102 1171 11B6;B267;1102 1171 11B6;
+B268;B268;1102 1171 11B7;B268;1102 1171 11B7;
+B269;B269;1102 1171 11B8;B269;1102 1171 11B8;
+B26A;B26A;1102 1171 11B9;B26A;1102 1171 11B9;
+B26B;B26B;1102 1171 11BA;B26B;1102 1171 11BA;
+B26C;B26C;1102 1171 11BB;B26C;1102 1171 11BB;
+B26D;B26D;1102 1171 11BC;B26D;1102 1171 11BC;
+B26E;B26E;1102 1171 11BD;B26E;1102 1171 11BD;
+B26F;B26F;1102 1171 11BE;B26F;1102 1171 11BE;
+B270;B270;1102 1171 11BF;B270;1102 1171 11BF;
+B271;B271;1102 1171 11C0;B271;1102 1171 11C0;
+B272;B272;1102 1171 11C1;B272;1102 1171 11C1;
+B273;B273;1102 1171 11C2;B273;1102 1171 11C2;
+B274;B274;1102 1172;B274;1102 1172;
+B275;B275;1102 1172 11A8;B275;1102 1172 11A8;
+B276;B276;1102 1172 11A9;B276;1102 1172 11A9;
+B277;B277;1102 1172 11AA;B277;1102 1172 11AA;
+B278;B278;1102 1172 11AB;B278;1102 1172 11AB;
+B279;B279;1102 1172 11AC;B279;1102 1172 11AC;
+B27A;B27A;1102 1172 11AD;B27A;1102 1172 11AD;
+B27B;B27B;1102 1172 11AE;B27B;1102 1172 11AE;
+B27C;B27C;1102 1172 11AF;B27C;1102 1172 11AF;
+B27D;B27D;1102 1172 11B0;B27D;1102 1172 11B0;
+B27E;B27E;1102 1172 11B1;B27E;1102 1172 11B1;
+B27F;B27F;1102 1172 11B2;B27F;1102 1172 11B2;
+B280;B280;1102 1172 11B3;B280;1102 1172 11B3;
+B281;B281;1102 1172 11B4;B281;1102 1172 11B4;
+B282;B282;1102 1172 11B5;B282;1102 1172 11B5;
+B283;B283;1102 1172 11B6;B283;1102 1172 11B6;
+B284;B284;1102 1172 11B7;B284;1102 1172 11B7;
+B285;B285;1102 1172 11B8;B285;1102 1172 11B8;
+B286;B286;1102 1172 11B9;B286;1102 1172 11B9;
+B287;B287;1102 1172 11BA;B287;1102 1172 11BA;
+B288;B288;1102 1172 11BB;B288;1102 1172 11BB;
+B289;B289;1102 1172 11BC;B289;1102 1172 11BC;
+B28A;B28A;1102 1172 11BD;B28A;1102 1172 11BD;
+B28B;B28B;1102 1172 11BE;B28B;1102 1172 11BE;
+B28C;B28C;1102 1172 11BF;B28C;1102 1172 11BF;
+B28D;B28D;1102 1172 11C0;B28D;1102 1172 11C0;
+B28E;B28E;1102 1172 11C1;B28E;1102 1172 11C1;
+B28F;B28F;1102 1172 11C2;B28F;1102 1172 11C2;
+B290;B290;1102 1173;B290;1102 1173;
+B291;B291;1102 1173 11A8;B291;1102 1173 11A8;
+B292;B292;1102 1173 11A9;B292;1102 1173 11A9;
+B293;B293;1102 1173 11AA;B293;1102 1173 11AA;
+B294;B294;1102 1173 11AB;B294;1102 1173 11AB;
+B295;B295;1102 1173 11AC;B295;1102 1173 11AC;
+B296;B296;1102 1173 11AD;B296;1102 1173 11AD;
+B297;B297;1102 1173 11AE;B297;1102 1173 11AE;
+B298;B298;1102 1173 11AF;B298;1102 1173 11AF;
+B299;B299;1102 1173 11B0;B299;1102 1173 11B0;
+B29A;B29A;1102 1173 11B1;B29A;1102 1173 11B1;
+B29B;B29B;1102 1173 11B2;B29B;1102 1173 11B2;
+B29C;B29C;1102 1173 11B3;B29C;1102 1173 11B3;
+B29D;B29D;1102 1173 11B4;B29D;1102 1173 11B4;
+B29E;B29E;1102 1173 11B5;B29E;1102 1173 11B5;
+B29F;B29F;1102 1173 11B6;B29F;1102 1173 11B6;
+B2A0;B2A0;1102 1173 11B7;B2A0;1102 1173 11B7;
+B2A1;B2A1;1102 1173 11B8;B2A1;1102 1173 11B8;
+B2A2;B2A2;1102 1173 11B9;B2A2;1102 1173 11B9;
+B2A3;B2A3;1102 1173 11BA;B2A3;1102 1173 11BA;
+B2A4;B2A4;1102 1173 11BB;B2A4;1102 1173 11BB;
+B2A5;B2A5;1102 1173 11BC;B2A5;1102 1173 11BC;
+B2A6;B2A6;1102 1173 11BD;B2A6;1102 1173 11BD;
+B2A7;B2A7;1102 1173 11BE;B2A7;1102 1173 11BE;
+B2A8;B2A8;1102 1173 11BF;B2A8;1102 1173 11BF;
+B2A9;B2A9;1102 1173 11C0;B2A9;1102 1173 11C0;
+B2AA;B2AA;1102 1173 11C1;B2AA;1102 1173 11C1;
+B2AB;B2AB;1102 1173 11C2;B2AB;1102 1173 11C2;
+B2AC;B2AC;1102 1174;B2AC;1102 1174;
+B2AD;B2AD;1102 1174 11A8;B2AD;1102 1174 11A8;
+B2AE;B2AE;1102 1174 11A9;B2AE;1102 1174 11A9;
+B2AF;B2AF;1102 1174 11AA;B2AF;1102 1174 11AA;
+B2B0;B2B0;1102 1174 11AB;B2B0;1102 1174 11AB;
+B2B1;B2B1;1102 1174 11AC;B2B1;1102 1174 11AC;
+B2B2;B2B2;1102 1174 11AD;B2B2;1102 1174 11AD;
+B2B3;B2B3;1102 1174 11AE;B2B3;1102 1174 11AE;
+B2B4;B2B4;1102 1174 11AF;B2B4;1102 1174 11AF;
+B2B5;B2B5;1102 1174 11B0;B2B5;1102 1174 11B0;
+B2B6;B2B6;1102 1174 11B1;B2B6;1102 1174 11B1;
+B2B7;B2B7;1102 1174 11B2;B2B7;1102 1174 11B2;
+B2B8;B2B8;1102 1174 11B3;B2B8;1102 1174 11B3;
+B2B9;B2B9;1102 1174 11B4;B2B9;1102 1174 11B4;
+B2BA;B2BA;1102 1174 11B5;B2BA;1102 1174 11B5;
+B2BB;B2BB;1102 1174 11B6;B2BB;1102 1174 11B6;
+B2BC;B2BC;1102 1174 11B7;B2BC;1102 1174 11B7;
+B2BD;B2BD;1102 1174 11B8;B2BD;1102 1174 11B8;
+B2BE;B2BE;1102 1174 11B9;B2BE;1102 1174 11B9;
+B2BF;B2BF;1102 1174 11BA;B2BF;1102 1174 11BA;
+B2C0;B2C0;1102 1174 11BB;B2C0;1102 1174 11BB;
+B2C1;B2C1;1102 1174 11BC;B2C1;1102 1174 11BC;
+B2C2;B2C2;1102 1174 11BD;B2C2;1102 1174 11BD;
+B2C3;B2C3;1102 1174 11BE;B2C3;1102 1174 11BE;
+B2C4;B2C4;1102 1174 11BF;B2C4;1102 1174 11BF;
+B2C5;B2C5;1102 1174 11C0;B2C5;1102 1174 11C0;
+B2C6;B2C6;1102 1174 11C1;B2C6;1102 1174 11C1;
+B2C7;B2C7;1102 1174 11C2;B2C7;1102 1174 11C2;
+B2C8;B2C8;1102 1175;B2C8;1102 1175;
+B2C9;B2C9;1102 1175 11A8;B2C9;1102 1175 11A8;
+B2CA;B2CA;1102 1175 11A9;B2CA;1102 1175 11A9;
+B2CB;B2CB;1102 1175 11AA;B2CB;1102 1175 11AA;
+B2CC;B2CC;1102 1175 11AB;B2CC;1102 1175 11AB;
+B2CD;B2CD;1102 1175 11AC;B2CD;1102 1175 11AC;
+B2CE;B2CE;1102 1175 11AD;B2CE;1102 1175 11AD;
+B2CF;B2CF;1102 1175 11AE;B2CF;1102 1175 11AE;
+B2D0;B2D0;1102 1175 11AF;B2D0;1102 1175 11AF;
+B2D1;B2D1;1102 1175 11B0;B2D1;1102 1175 11B0;
+B2D2;B2D2;1102 1175 11B1;B2D2;1102 1175 11B1;
+B2D3;B2D3;1102 1175 11B2;B2D3;1102 1175 11B2;
+B2D4;B2D4;1102 1175 11B3;B2D4;1102 1175 11B3;
+B2D5;B2D5;1102 1175 11B4;B2D5;1102 1175 11B4;
+B2D6;B2D6;1102 1175 11B5;B2D6;1102 1175 11B5;
+B2D7;B2D7;1102 1175 11B6;B2D7;1102 1175 11B6;
+B2D8;B2D8;1102 1175 11B7;B2D8;1102 1175 11B7;
+B2D9;B2D9;1102 1175 11B8;B2D9;1102 1175 11B8;
+B2DA;B2DA;1102 1175 11B9;B2DA;1102 1175 11B9;
+B2DB;B2DB;1102 1175 11BA;B2DB;1102 1175 11BA;
+B2DC;B2DC;1102 1175 11BB;B2DC;1102 1175 11BB;
+B2DD;B2DD;1102 1175 11BC;B2DD;1102 1175 11BC;
+B2DE;B2DE;1102 1175 11BD;B2DE;1102 1175 11BD;
+B2DF;B2DF;1102 1175 11BE;B2DF;1102 1175 11BE;
+B2E0;B2E0;1102 1175 11BF;B2E0;1102 1175 11BF;
+B2E1;B2E1;1102 1175 11C0;B2E1;1102 1175 11C0;
+B2E2;B2E2;1102 1175 11C1;B2E2;1102 1175 11C1;
+B2E3;B2E3;1102 1175 11C2;B2E3;1102 1175 11C2;
+B2E4;B2E4;1103 1161;B2E4;1103 1161;
+B2E5;B2E5;1103 1161 11A8;B2E5;1103 1161 11A8;
+B2E6;B2E6;1103 1161 11A9;B2E6;1103 1161 11A9;
+B2E7;B2E7;1103 1161 11AA;B2E7;1103 1161 11AA;
+B2E8;B2E8;1103 1161 11AB;B2E8;1103 1161 11AB;
+B2E9;B2E9;1103 1161 11AC;B2E9;1103 1161 11AC;
+B2EA;B2EA;1103 1161 11AD;B2EA;1103 1161 11AD;
+B2EB;B2EB;1103 1161 11AE;B2EB;1103 1161 11AE;
+B2EC;B2EC;1103 1161 11AF;B2EC;1103 1161 11AF;
+B2ED;B2ED;1103 1161 11B0;B2ED;1103 1161 11B0;
+B2EE;B2EE;1103 1161 11B1;B2EE;1103 1161 11B1;
+B2EF;B2EF;1103 1161 11B2;B2EF;1103 1161 11B2;
+B2F0;B2F0;1103 1161 11B3;B2F0;1103 1161 11B3;
+B2F1;B2F1;1103 1161 11B4;B2F1;1103 1161 11B4;
+B2F2;B2F2;1103 1161 11B5;B2F2;1103 1161 11B5;
+B2F3;B2F3;1103 1161 11B6;B2F3;1103 1161 11B6;
+B2F4;B2F4;1103 1161 11B7;B2F4;1103 1161 11B7;
+B2F5;B2F5;1103 1161 11B8;B2F5;1103 1161 11B8;
+B2F6;B2F6;1103 1161 11B9;B2F6;1103 1161 11B9;
+B2F7;B2F7;1103 1161 11BA;B2F7;1103 1161 11BA;
+B2F8;B2F8;1103 1161 11BB;B2F8;1103 1161 11BB;
+B2F9;B2F9;1103 1161 11BC;B2F9;1103 1161 11BC;
+B2FA;B2FA;1103 1161 11BD;B2FA;1103 1161 11BD;
+B2FB;B2FB;1103 1161 11BE;B2FB;1103 1161 11BE;
+B2FC;B2FC;1103 1161 11BF;B2FC;1103 1161 11BF;
+B2FD;B2FD;1103 1161 11C0;B2FD;1103 1161 11C0;
+B2FE;B2FE;1103 1161 11C1;B2FE;1103 1161 11C1;
+B2FF;B2FF;1103 1161 11C2;B2FF;1103 1161 11C2;
+B300;B300;1103 1162;B300;1103 1162;
+B301;B301;1103 1162 11A8;B301;1103 1162 11A8;
+B302;B302;1103 1162 11A9;B302;1103 1162 11A9;
+B303;B303;1103 1162 11AA;B303;1103 1162 11AA;
+B304;B304;1103 1162 11AB;B304;1103 1162 11AB;
+B305;B305;1103 1162 11AC;B305;1103 1162 11AC;
+B306;B306;1103 1162 11AD;B306;1103 1162 11AD;
+B307;B307;1103 1162 11AE;B307;1103 1162 11AE;
+B308;B308;1103 1162 11AF;B308;1103 1162 11AF;
+B309;B309;1103 1162 11B0;B309;1103 1162 11B0;
+B30A;B30A;1103 1162 11B1;B30A;1103 1162 11B1;
+B30B;B30B;1103 1162 11B2;B30B;1103 1162 11B2;
+B30C;B30C;1103 1162 11B3;B30C;1103 1162 11B3;
+B30D;B30D;1103 1162 11B4;B30D;1103 1162 11B4;
+B30E;B30E;1103 1162 11B5;B30E;1103 1162 11B5;
+B30F;B30F;1103 1162 11B6;B30F;1103 1162 11B6;
+B310;B310;1103 1162 11B7;B310;1103 1162 11B7;
+B311;B311;1103 1162 11B8;B311;1103 1162 11B8;
+B312;B312;1103 1162 11B9;B312;1103 1162 11B9;
+B313;B313;1103 1162 11BA;B313;1103 1162 11BA;
+B314;B314;1103 1162 11BB;B314;1103 1162 11BB;
+B315;B315;1103 1162 11BC;B315;1103 1162 11BC;
+B316;B316;1103 1162 11BD;B316;1103 1162 11BD;
+B317;B317;1103 1162 11BE;B317;1103 1162 11BE;
+B318;B318;1103 1162 11BF;B318;1103 1162 11BF;
+B319;B319;1103 1162 11C0;B319;1103 1162 11C0;
+B31A;B31A;1103 1162 11C1;B31A;1103 1162 11C1;
+B31B;B31B;1103 1162 11C2;B31B;1103 1162 11C2;
+B31C;B31C;1103 1163;B31C;1103 1163;
+B31D;B31D;1103 1163 11A8;B31D;1103 1163 11A8;
+B31E;B31E;1103 1163 11A9;B31E;1103 1163 11A9;
+B31F;B31F;1103 1163 11AA;B31F;1103 1163 11AA;
+B320;B320;1103 1163 11AB;B320;1103 1163 11AB;
+B321;B321;1103 1163 11AC;B321;1103 1163 11AC;
+B322;B322;1103 1163 11AD;B322;1103 1163 11AD;
+B323;B323;1103 1163 11AE;B323;1103 1163 11AE;
+B324;B324;1103 1163 11AF;B324;1103 1163 11AF;
+B325;B325;1103 1163 11B0;B325;1103 1163 11B0;
+B326;B326;1103 1163 11B1;B326;1103 1163 11B1;
+B327;B327;1103 1163 11B2;B327;1103 1163 11B2;
+B328;B328;1103 1163 11B3;B328;1103 1163 11B3;
+B329;B329;1103 1163 11B4;B329;1103 1163 11B4;
+B32A;B32A;1103 1163 11B5;B32A;1103 1163 11B5;
+B32B;B32B;1103 1163 11B6;B32B;1103 1163 11B6;
+B32C;B32C;1103 1163 11B7;B32C;1103 1163 11B7;
+B32D;B32D;1103 1163 11B8;B32D;1103 1163 11B8;
+B32E;B32E;1103 1163 11B9;B32E;1103 1163 11B9;
+B32F;B32F;1103 1163 11BA;B32F;1103 1163 11BA;
+B330;B330;1103 1163 11BB;B330;1103 1163 11BB;
+B331;B331;1103 1163 11BC;B331;1103 1163 11BC;
+B332;B332;1103 1163 11BD;B332;1103 1163 11BD;
+B333;B333;1103 1163 11BE;B333;1103 1163 11BE;
+B334;B334;1103 1163 11BF;B334;1103 1163 11BF;
+B335;B335;1103 1163 11C0;B335;1103 1163 11C0;
+B336;B336;1103 1163 11C1;B336;1103 1163 11C1;
+B337;B337;1103 1163 11C2;B337;1103 1163 11C2;
+B338;B338;1103 1164;B338;1103 1164;
+B339;B339;1103 1164 11A8;B339;1103 1164 11A8;
+B33A;B33A;1103 1164 11A9;B33A;1103 1164 11A9;
+B33B;B33B;1103 1164 11AA;B33B;1103 1164 11AA;
+B33C;B33C;1103 1164 11AB;B33C;1103 1164 11AB;
+B33D;B33D;1103 1164 11AC;B33D;1103 1164 11AC;
+B33E;B33E;1103 1164 11AD;B33E;1103 1164 11AD;
+B33F;B33F;1103 1164 11AE;B33F;1103 1164 11AE;
+B340;B340;1103 1164 11AF;B340;1103 1164 11AF;
+B341;B341;1103 1164 11B0;B341;1103 1164 11B0;
+B342;B342;1103 1164 11B1;B342;1103 1164 11B1;
+B343;B343;1103 1164 11B2;B343;1103 1164 11B2;
+B344;B344;1103 1164 11B3;B344;1103 1164 11B3;
+B345;B345;1103 1164 11B4;B345;1103 1164 11B4;
+B346;B346;1103 1164 11B5;B346;1103 1164 11B5;
+B347;B347;1103 1164 11B6;B347;1103 1164 11B6;
+B348;B348;1103 1164 11B7;B348;1103 1164 11B7;
+B349;B349;1103 1164 11B8;B349;1103 1164 11B8;
+B34A;B34A;1103 1164 11B9;B34A;1103 1164 11B9;
+B34B;B34B;1103 1164 11BA;B34B;1103 1164 11BA;
+B34C;B34C;1103 1164 11BB;B34C;1103 1164 11BB;
+B34D;B34D;1103 1164 11BC;B34D;1103 1164 11BC;
+B34E;B34E;1103 1164 11BD;B34E;1103 1164 11BD;
+B34F;B34F;1103 1164 11BE;B34F;1103 1164 11BE;
+B350;B350;1103 1164 11BF;B350;1103 1164 11BF;
+B351;B351;1103 1164 11C0;B351;1103 1164 11C0;
+B352;B352;1103 1164 11C1;B352;1103 1164 11C1;
+B353;B353;1103 1164 11C2;B353;1103 1164 11C2;
+B354;B354;1103 1165;B354;1103 1165;
+B355;B355;1103 1165 11A8;B355;1103 1165 11A8;
+B356;B356;1103 1165 11A9;B356;1103 1165 11A9;
+B357;B357;1103 1165 11AA;B357;1103 1165 11AA;
+B358;B358;1103 1165 11AB;B358;1103 1165 11AB;
+B359;B359;1103 1165 11AC;B359;1103 1165 11AC;
+B35A;B35A;1103 1165 11AD;B35A;1103 1165 11AD;
+B35B;B35B;1103 1165 11AE;B35B;1103 1165 11AE;
+B35C;B35C;1103 1165 11AF;B35C;1103 1165 11AF;
+B35D;B35D;1103 1165 11B0;B35D;1103 1165 11B0;
+B35E;B35E;1103 1165 11B1;B35E;1103 1165 11B1;
+B35F;B35F;1103 1165 11B2;B35F;1103 1165 11B2;
+B360;B360;1103 1165 11B3;B360;1103 1165 11B3;
+B361;B361;1103 1165 11B4;B361;1103 1165 11B4;
+B362;B362;1103 1165 11B5;B362;1103 1165 11B5;
+B363;B363;1103 1165 11B6;B363;1103 1165 11B6;
+B364;B364;1103 1165 11B7;B364;1103 1165 11B7;
+B365;B365;1103 1165 11B8;B365;1103 1165 11B8;
+B366;B366;1103 1165 11B9;B366;1103 1165 11B9;
+B367;B367;1103 1165 11BA;B367;1103 1165 11BA;
+B368;B368;1103 1165 11BB;B368;1103 1165 11BB;
+B369;B369;1103 1165 11BC;B369;1103 1165 11BC;
+B36A;B36A;1103 1165 11BD;B36A;1103 1165 11BD;
+B36B;B36B;1103 1165 11BE;B36B;1103 1165 11BE;
+B36C;B36C;1103 1165 11BF;B36C;1103 1165 11BF;
+B36D;B36D;1103 1165 11C0;B36D;1103 1165 11C0;
+B36E;B36E;1103 1165 11C1;B36E;1103 1165 11C1;
+B36F;B36F;1103 1165 11C2;B36F;1103 1165 11C2;
+B370;B370;1103 1166;B370;1103 1166;
+B371;B371;1103 1166 11A8;B371;1103 1166 11A8;
+B372;B372;1103 1166 11A9;B372;1103 1166 11A9;
+B373;B373;1103 1166 11AA;B373;1103 1166 11AA;
+B374;B374;1103 1166 11AB;B374;1103 1166 11AB;
+B375;B375;1103 1166 11AC;B375;1103 1166 11AC;
+B376;B376;1103 1166 11AD;B376;1103 1166 11AD;
+B377;B377;1103 1166 11AE;B377;1103 1166 11AE;
+B378;B378;1103 1166 11AF;B378;1103 1166 11AF;
+B379;B379;1103 1166 11B0;B379;1103 1166 11B0;
+B37A;B37A;1103 1166 11B1;B37A;1103 1166 11B1;
+B37B;B37B;1103 1166 11B2;B37B;1103 1166 11B2;
+B37C;B37C;1103 1166 11B3;B37C;1103 1166 11B3;
+B37D;B37D;1103 1166 11B4;B37D;1103 1166 11B4;
+B37E;B37E;1103 1166 11B5;B37E;1103 1166 11B5;
+B37F;B37F;1103 1166 11B6;B37F;1103 1166 11B6;
+B380;B380;1103 1166 11B7;B380;1103 1166 11B7;
+B381;B381;1103 1166 11B8;B381;1103 1166 11B8;
+B382;B382;1103 1166 11B9;B382;1103 1166 11B9;
+B383;B383;1103 1166 11BA;B383;1103 1166 11BA;
+B384;B384;1103 1166 11BB;B384;1103 1166 11BB;
+B385;B385;1103 1166 11BC;B385;1103 1166 11BC;
+B386;B386;1103 1166 11BD;B386;1103 1166 11BD;
+B387;B387;1103 1166 11BE;B387;1103 1166 11BE;
+B388;B388;1103 1166 11BF;B388;1103 1166 11BF;
+B389;B389;1103 1166 11C0;B389;1103 1166 11C0;
+B38A;B38A;1103 1166 11C1;B38A;1103 1166 11C1;
+B38B;B38B;1103 1166 11C2;B38B;1103 1166 11C2;
+B38C;B38C;1103 1167;B38C;1103 1167;
+B38D;B38D;1103 1167 11A8;B38D;1103 1167 11A8;
+B38E;B38E;1103 1167 11A9;B38E;1103 1167 11A9;
+B38F;B38F;1103 1167 11AA;B38F;1103 1167 11AA;
+B390;B390;1103 1167 11AB;B390;1103 1167 11AB;
+B391;B391;1103 1167 11AC;B391;1103 1167 11AC;
+B392;B392;1103 1167 11AD;B392;1103 1167 11AD;
+B393;B393;1103 1167 11AE;B393;1103 1167 11AE;
+B394;B394;1103 1167 11AF;B394;1103 1167 11AF;
+B395;B395;1103 1167 11B0;B395;1103 1167 11B0;
+B396;B396;1103 1167 11B1;B396;1103 1167 11B1;
+B397;B397;1103 1167 11B2;B397;1103 1167 11B2;
+B398;B398;1103 1167 11B3;B398;1103 1167 11B3;
+B399;B399;1103 1167 11B4;B399;1103 1167 11B4;
+B39A;B39A;1103 1167 11B5;B39A;1103 1167 11B5;
+B39B;B39B;1103 1167 11B6;B39B;1103 1167 11B6;
+B39C;B39C;1103 1167 11B7;B39C;1103 1167 11B7;
+B39D;B39D;1103 1167 11B8;B39D;1103 1167 11B8;
+B39E;B39E;1103 1167 11B9;B39E;1103 1167 11B9;
+B39F;B39F;1103 1167 11BA;B39F;1103 1167 11BA;
+B3A0;B3A0;1103 1167 11BB;B3A0;1103 1167 11BB;
+B3A1;B3A1;1103 1167 11BC;B3A1;1103 1167 11BC;
+B3A2;B3A2;1103 1167 11BD;B3A2;1103 1167 11BD;
+B3A3;B3A3;1103 1167 11BE;B3A3;1103 1167 11BE;
+B3A4;B3A4;1103 1167 11BF;B3A4;1103 1167 11BF;
+B3A5;B3A5;1103 1167 11C0;B3A5;1103 1167 11C0;
+B3A6;B3A6;1103 1167 11C1;B3A6;1103 1167 11C1;
+B3A7;B3A7;1103 1167 11C2;B3A7;1103 1167 11C2;
+B3A8;B3A8;1103 1168;B3A8;1103 1168;
+B3A9;B3A9;1103 1168 11A8;B3A9;1103 1168 11A8;
+B3AA;B3AA;1103 1168 11A9;B3AA;1103 1168 11A9;
+B3AB;B3AB;1103 1168 11AA;B3AB;1103 1168 11AA;
+B3AC;B3AC;1103 1168 11AB;B3AC;1103 1168 11AB;
+B3AD;B3AD;1103 1168 11AC;B3AD;1103 1168 11AC;
+B3AE;B3AE;1103 1168 11AD;B3AE;1103 1168 11AD;
+B3AF;B3AF;1103 1168 11AE;B3AF;1103 1168 11AE;
+B3B0;B3B0;1103 1168 11AF;B3B0;1103 1168 11AF;
+B3B1;B3B1;1103 1168 11B0;B3B1;1103 1168 11B0;
+B3B2;B3B2;1103 1168 11B1;B3B2;1103 1168 11B1;
+B3B3;B3B3;1103 1168 11B2;B3B3;1103 1168 11B2;
+B3B4;B3B4;1103 1168 11B3;B3B4;1103 1168 11B3;
+B3B5;B3B5;1103 1168 11B4;B3B5;1103 1168 11B4;
+B3B6;B3B6;1103 1168 11B5;B3B6;1103 1168 11B5;
+B3B7;B3B7;1103 1168 11B6;B3B7;1103 1168 11B6;
+B3B8;B3B8;1103 1168 11B7;B3B8;1103 1168 11B7;
+B3B9;B3B9;1103 1168 11B8;B3B9;1103 1168 11B8;
+B3BA;B3BA;1103 1168 11B9;B3BA;1103 1168 11B9;
+B3BB;B3BB;1103 1168 11BA;B3BB;1103 1168 11BA;
+B3BC;B3BC;1103 1168 11BB;B3BC;1103 1168 11BB;
+B3BD;B3BD;1103 1168 11BC;B3BD;1103 1168 11BC;
+B3BE;B3BE;1103 1168 11BD;B3BE;1103 1168 11BD;
+B3BF;B3BF;1103 1168 11BE;B3BF;1103 1168 11BE;
+B3C0;B3C0;1103 1168 11BF;B3C0;1103 1168 11BF;
+B3C1;B3C1;1103 1168 11C0;B3C1;1103 1168 11C0;
+B3C2;B3C2;1103 1168 11C1;B3C2;1103 1168 11C1;
+B3C3;B3C3;1103 1168 11C2;B3C3;1103 1168 11C2;
+B3C4;B3C4;1103 1169;B3C4;1103 1169;
+B3C5;B3C5;1103 1169 11A8;B3C5;1103 1169 11A8;
+B3C6;B3C6;1103 1169 11A9;B3C6;1103 1169 11A9;
+B3C7;B3C7;1103 1169 11AA;B3C7;1103 1169 11AA;
+B3C8;B3C8;1103 1169 11AB;B3C8;1103 1169 11AB;
+B3C9;B3C9;1103 1169 11AC;B3C9;1103 1169 11AC;
+B3CA;B3CA;1103 1169 11AD;B3CA;1103 1169 11AD;
+B3CB;B3CB;1103 1169 11AE;B3CB;1103 1169 11AE;
+B3CC;B3CC;1103 1169 11AF;B3CC;1103 1169 11AF;
+B3CD;B3CD;1103 1169 11B0;B3CD;1103 1169 11B0;
+B3CE;B3CE;1103 1169 11B1;B3CE;1103 1169 11B1;
+B3CF;B3CF;1103 1169 11B2;B3CF;1103 1169 11B2;
+B3D0;B3D0;1103 1169 11B3;B3D0;1103 1169 11B3;
+B3D1;B3D1;1103 1169 11B4;B3D1;1103 1169 11B4;
+B3D2;B3D2;1103 1169 11B5;B3D2;1103 1169 11B5;
+B3D3;B3D3;1103 1169 11B6;B3D3;1103 1169 11B6;
+B3D4;B3D4;1103 1169 11B7;B3D4;1103 1169 11B7;
+B3D5;B3D5;1103 1169 11B8;B3D5;1103 1169 11B8;
+B3D6;B3D6;1103 1169 11B9;B3D6;1103 1169 11B9;
+B3D7;B3D7;1103 1169 11BA;B3D7;1103 1169 11BA;
+B3D8;B3D8;1103 1169 11BB;B3D8;1103 1169 11BB;
+B3D9;B3D9;1103 1169 11BC;B3D9;1103 1169 11BC;
+B3DA;B3DA;1103 1169 11BD;B3DA;1103 1169 11BD;
+B3DB;B3DB;1103 1169 11BE;B3DB;1103 1169 11BE;
+B3DC;B3DC;1103 1169 11BF;B3DC;1103 1169 11BF;
+B3DD;B3DD;1103 1169 11C0;B3DD;1103 1169 11C0;
+B3DE;B3DE;1103 1169 11C1;B3DE;1103 1169 11C1;
+B3DF;B3DF;1103 1169 11C2;B3DF;1103 1169 11C2;
+B3E0;B3E0;1103 116A;B3E0;1103 116A;
+B3E1;B3E1;1103 116A 11A8;B3E1;1103 116A 11A8;
+B3E2;B3E2;1103 116A 11A9;B3E2;1103 116A 11A9;
+B3E3;B3E3;1103 116A 11AA;B3E3;1103 116A 11AA;
+B3E4;B3E4;1103 116A 11AB;B3E4;1103 116A 11AB;
+B3E5;B3E5;1103 116A 11AC;B3E5;1103 116A 11AC;
+B3E6;B3E6;1103 116A 11AD;B3E6;1103 116A 11AD;
+B3E7;B3E7;1103 116A 11AE;B3E7;1103 116A 11AE;
+B3E8;B3E8;1103 116A 11AF;B3E8;1103 116A 11AF;
+B3E9;B3E9;1103 116A 11B0;B3E9;1103 116A 11B0;
+B3EA;B3EA;1103 116A 11B1;B3EA;1103 116A 11B1;
+B3EB;B3EB;1103 116A 11B2;B3EB;1103 116A 11B2;
+B3EC;B3EC;1103 116A 11B3;B3EC;1103 116A 11B3;
+B3ED;B3ED;1103 116A 11B4;B3ED;1103 116A 11B4;
+B3EE;B3EE;1103 116A 11B5;B3EE;1103 116A 11B5;
+B3EF;B3EF;1103 116A 11B6;B3EF;1103 116A 11B6;
+B3F0;B3F0;1103 116A 11B7;B3F0;1103 116A 11B7;
+B3F1;B3F1;1103 116A 11B8;B3F1;1103 116A 11B8;
+B3F2;B3F2;1103 116A 11B9;B3F2;1103 116A 11B9;
+B3F3;B3F3;1103 116A 11BA;B3F3;1103 116A 11BA;
+B3F4;B3F4;1103 116A 11BB;B3F4;1103 116A 11BB;
+B3F5;B3F5;1103 116A 11BC;B3F5;1103 116A 11BC;
+B3F6;B3F6;1103 116A 11BD;B3F6;1103 116A 11BD;
+B3F7;B3F7;1103 116A 11BE;B3F7;1103 116A 11BE;
+B3F8;B3F8;1103 116A 11BF;B3F8;1103 116A 11BF;
+B3F9;B3F9;1103 116A 11C0;B3F9;1103 116A 11C0;
+B3FA;B3FA;1103 116A 11C1;B3FA;1103 116A 11C1;
+B3FB;B3FB;1103 116A 11C2;B3FB;1103 116A 11C2;
+B3FC;B3FC;1103 116B;B3FC;1103 116B;
+B3FD;B3FD;1103 116B 11A8;B3FD;1103 116B 11A8;
+B3FE;B3FE;1103 116B 11A9;B3FE;1103 116B 11A9;
+B3FF;B3FF;1103 116B 11AA;B3FF;1103 116B 11AA;
+B400;B400;1103 116B 11AB;B400;1103 116B 11AB;
+B401;B401;1103 116B 11AC;B401;1103 116B 11AC;
+B402;B402;1103 116B 11AD;B402;1103 116B 11AD;
+B403;B403;1103 116B 11AE;B403;1103 116B 11AE;
+B404;B404;1103 116B 11AF;B404;1103 116B 11AF;
+B405;B405;1103 116B 11B0;B405;1103 116B 11B0;
+B406;B406;1103 116B 11B1;B406;1103 116B 11B1;
+B407;B407;1103 116B 11B2;B407;1103 116B 11B2;
+B408;B408;1103 116B 11B3;B408;1103 116B 11B3;
+B409;B409;1103 116B 11B4;B409;1103 116B 11B4;
+B40A;B40A;1103 116B 11B5;B40A;1103 116B 11B5;
+B40B;B40B;1103 116B 11B6;B40B;1103 116B 11B6;
+B40C;B40C;1103 116B 11B7;B40C;1103 116B 11B7;
+B40D;B40D;1103 116B 11B8;B40D;1103 116B 11B8;
+B40E;B40E;1103 116B 11B9;B40E;1103 116B 11B9;
+B40F;B40F;1103 116B 11BA;B40F;1103 116B 11BA;
+B410;B410;1103 116B 11BB;B410;1103 116B 11BB;
+B411;B411;1103 116B 11BC;B411;1103 116B 11BC;
+B412;B412;1103 116B 11BD;B412;1103 116B 11BD;
+B413;B413;1103 116B 11BE;B413;1103 116B 11BE;
+B414;B414;1103 116B 11BF;B414;1103 116B 11BF;
+B415;B415;1103 116B 11C0;B415;1103 116B 11C0;
+B416;B416;1103 116B 11C1;B416;1103 116B 11C1;
+B417;B417;1103 116B 11C2;B417;1103 116B 11C2;
+B418;B418;1103 116C;B418;1103 116C;
+B419;B419;1103 116C 11A8;B419;1103 116C 11A8;
+B41A;B41A;1103 116C 11A9;B41A;1103 116C 11A9;
+B41B;B41B;1103 116C 11AA;B41B;1103 116C 11AA;
+B41C;B41C;1103 116C 11AB;B41C;1103 116C 11AB;
+B41D;B41D;1103 116C 11AC;B41D;1103 116C 11AC;
+B41E;B41E;1103 116C 11AD;B41E;1103 116C 11AD;
+B41F;B41F;1103 116C 11AE;B41F;1103 116C 11AE;
+B420;B420;1103 116C 11AF;B420;1103 116C 11AF;
+B421;B421;1103 116C 11B0;B421;1103 116C 11B0;
+B422;B422;1103 116C 11B1;B422;1103 116C 11B1;
+B423;B423;1103 116C 11B2;B423;1103 116C 11B2;
+B424;B424;1103 116C 11B3;B424;1103 116C 11B3;
+B425;B425;1103 116C 11B4;B425;1103 116C 11B4;
+B426;B426;1103 116C 11B5;B426;1103 116C 11B5;
+B427;B427;1103 116C 11B6;B427;1103 116C 11B6;
+B428;B428;1103 116C 11B7;B428;1103 116C 11B7;
+B429;B429;1103 116C 11B8;B429;1103 116C 11B8;
+B42A;B42A;1103 116C 11B9;B42A;1103 116C 11B9;
+B42B;B42B;1103 116C 11BA;B42B;1103 116C 11BA;
+B42C;B42C;1103 116C 11BB;B42C;1103 116C 11BB;
+B42D;B42D;1103 116C 11BC;B42D;1103 116C 11BC;
+B42E;B42E;1103 116C 11BD;B42E;1103 116C 11BD;
+B42F;B42F;1103 116C 11BE;B42F;1103 116C 11BE;
+B430;B430;1103 116C 11BF;B430;1103 116C 11BF;
+B431;B431;1103 116C 11C0;B431;1103 116C 11C0;
+B432;B432;1103 116C 11C1;B432;1103 116C 11C1;
+B433;B433;1103 116C 11C2;B433;1103 116C 11C2;
+B434;B434;1103 116D;B434;1103 116D;
+B435;B435;1103 116D 11A8;B435;1103 116D 11A8;
+B436;B436;1103 116D 11A9;B436;1103 116D 11A9;
+B437;B437;1103 116D 11AA;B437;1103 116D 11AA;
+B438;B438;1103 116D 11AB;B438;1103 116D 11AB;
+B439;B439;1103 116D 11AC;B439;1103 116D 11AC;
+B43A;B43A;1103 116D 11AD;B43A;1103 116D 11AD;
+B43B;B43B;1103 116D 11AE;B43B;1103 116D 11AE;
+B43C;B43C;1103 116D 11AF;B43C;1103 116D 11AF;
+B43D;B43D;1103 116D 11B0;B43D;1103 116D 11B0;
+B43E;B43E;1103 116D 11B1;B43E;1103 116D 11B1;
+B43F;B43F;1103 116D 11B2;B43F;1103 116D 11B2;
+B440;B440;1103 116D 11B3;B440;1103 116D 11B3;
+B441;B441;1103 116D 11B4;B441;1103 116D 11B4;
+B442;B442;1103 116D 11B5;B442;1103 116D 11B5;
+B443;B443;1103 116D 11B6;B443;1103 116D 11B6;
+B444;B444;1103 116D 11B7;B444;1103 116D 11B7;
+B445;B445;1103 116D 11B8;B445;1103 116D 11B8;
+B446;B446;1103 116D 11B9;B446;1103 116D 11B9;
+B447;B447;1103 116D 11BA;B447;1103 116D 11BA;
+B448;B448;1103 116D 11BB;B448;1103 116D 11BB;
+B449;B449;1103 116D 11BC;B449;1103 116D 11BC;
+B44A;B44A;1103 116D 11BD;B44A;1103 116D 11BD;
+B44B;B44B;1103 116D 11BE;B44B;1103 116D 11BE;
+B44C;B44C;1103 116D 11BF;B44C;1103 116D 11BF;
+B44D;B44D;1103 116D 11C0;B44D;1103 116D 11C0;
+B44E;B44E;1103 116D 11C1;B44E;1103 116D 11C1;
+B44F;B44F;1103 116D 11C2;B44F;1103 116D 11C2;
+B450;B450;1103 116E;B450;1103 116E;
+B451;B451;1103 116E 11A8;B451;1103 116E 11A8;
+B452;B452;1103 116E 11A9;B452;1103 116E 11A9;
+B453;B453;1103 116E 11AA;B453;1103 116E 11AA;
+B454;B454;1103 116E 11AB;B454;1103 116E 11AB;
+B455;B455;1103 116E 11AC;B455;1103 116E 11AC;
+B456;B456;1103 116E 11AD;B456;1103 116E 11AD;
+B457;B457;1103 116E 11AE;B457;1103 116E 11AE;
+B458;B458;1103 116E 11AF;B458;1103 116E 11AF;
+B459;B459;1103 116E 11B0;B459;1103 116E 11B0;
+B45A;B45A;1103 116E 11B1;B45A;1103 116E 11B1;
+B45B;B45B;1103 116E 11B2;B45B;1103 116E 11B2;
+B45C;B45C;1103 116E 11B3;B45C;1103 116E 11B3;
+B45D;B45D;1103 116E 11B4;B45D;1103 116E 11B4;
+B45E;B45E;1103 116E 11B5;B45E;1103 116E 11B5;
+B45F;B45F;1103 116E 11B6;B45F;1103 116E 11B6;
+B460;B460;1103 116E 11B7;B460;1103 116E 11B7;
+B461;B461;1103 116E 11B8;B461;1103 116E 11B8;
+B462;B462;1103 116E 11B9;B462;1103 116E 11B9;
+B463;B463;1103 116E 11BA;B463;1103 116E 11BA;
+B464;B464;1103 116E 11BB;B464;1103 116E 11BB;
+B465;B465;1103 116E 11BC;B465;1103 116E 11BC;
+B466;B466;1103 116E 11BD;B466;1103 116E 11BD;
+B467;B467;1103 116E 11BE;B467;1103 116E 11BE;
+B468;B468;1103 116E 11BF;B468;1103 116E 11BF;
+B469;B469;1103 116E 11C0;B469;1103 116E 11C0;
+B46A;B46A;1103 116E 11C1;B46A;1103 116E 11C1;
+B46B;B46B;1103 116E 11C2;B46B;1103 116E 11C2;
+B46C;B46C;1103 116F;B46C;1103 116F;
+B46D;B46D;1103 116F 11A8;B46D;1103 116F 11A8;
+B46E;B46E;1103 116F 11A9;B46E;1103 116F 11A9;
+B46F;B46F;1103 116F 11AA;B46F;1103 116F 11AA;
+B470;B470;1103 116F 11AB;B470;1103 116F 11AB;
+B471;B471;1103 116F 11AC;B471;1103 116F 11AC;
+B472;B472;1103 116F 11AD;B472;1103 116F 11AD;
+B473;B473;1103 116F 11AE;B473;1103 116F 11AE;
+B474;B474;1103 116F 11AF;B474;1103 116F 11AF;
+B475;B475;1103 116F 11B0;B475;1103 116F 11B0;
+B476;B476;1103 116F 11B1;B476;1103 116F 11B1;
+B477;B477;1103 116F 11B2;B477;1103 116F 11B2;
+B478;B478;1103 116F 11B3;B478;1103 116F 11B3;
+B479;B479;1103 116F 11B4;B479;1103 116F 11B4;
+B47A;B47A;1103 116F 11B5;B47A;1103 116F 11B5;
+B47B;B47B;1103 116F 11B6;B47B;1103 116F 11B6;
+B47C;B47C;1103 116F 11B7;B47C;1103 116F 11B7;
+B47D;B47D;1103 116F 11B8;B47D;1103 116F 11B8;
+B47E;B47E;1103 116F 11B9;B47E;1103 116F 11B9;
+B47F;B47F;1103 116F 11BA;B47F;1103 116F 11BA;
+B480;B480;1103 116F 11BB;B480;1103 116F 11BB;
+B481;B481;1103 116F 11BC;B481;1103 116F 11BC;
+B482;B482;1103 116F 11BD;B482;1103 116F 11BD;
+B483;B483;1103 116F 11BE;B483;1103 116F 11BE;
+B484;B484;1103 116F 11BF;B484;1103 116F 11BF;
+B485;B485;1103 116F 11C0;B485;1103 116F 11C0;
+B486;B486;1103 116F 11C1;B486;1103 116F 11C1;
+B487;B487;1103 116F 11C2;B487;1103 116F 11C2;
+B488;B488;1103 1170;B488;1103 1170;
+B489;B489;1103 1170 11A8;B489;1103 1170 11A8;
+B48A;B48A;1103 1170 11A9;B48A;1103 1170 11A9;
+B48B;B48B;1103 1170 11AA;B48B;1103 1170 11AA;
+B48C;B48C;1103 1170 11AB;B48C;1103 1170 11AB;
+B48D;B48D;1103 1170 11AC;B48D;1103 1170 11AC;
+B48E;B48E;1103 1170 11AD;B48E;1103 1170 11AD;
+B48F;B48F;1103 1170 11AE;B48F;1103 1170 11AE;
+B490;B490;1103 1170 11AF;B490;1103 1170 11AF;
+B491;B491;1103 1170 11B0;B491;1103 1170 11B0;
+B492;B492;1103 1170 11B1;B492;1103 1170 11B1;
+B493;B493;1103 1170 11B2;B493;1103 1170 11B2;
+B494;B494;1103 1170 11B3;B494;1103 1170 11B3;
+B495;B495;1103 1170 11B4;B495;1103 1170 11B4;
+B496;B496;1103 1170 11B5;B496;1103 1170 11B5;
+B497;B497;1103 1170 11B6;B497;1103 1170 11B6;
+B498;B498;1103 1170 11B7;B498;1103 1170 11B7;
+B499;B499;1103 1170 11B8;B499;1103 1170 11B8;
+B49A;B49A;1103 1170 11B9;B49A;1103 1170 11B9;
+B49B;B49B;1103 1170 11BA;B49B;1103 1170 11BA;
+B49C;B49C;1103 1170 11BB;B49C;1103 1170 11BB;
+B49D;B49D;1103 1170 11BC;B49D;1103 1170 11BC;
+B49E;B49E;1103 1170 11BD;B49E;1103 1170 11BD;
+B49F;B49F;1103 1170 11BE;B49F;1103 1170 11BE;
+B4A0;B4A0;1103 1170 11BF;B4A0;1103 1170 11BF;
+B4A1;B4A1;1103 1170 11C0;B4A1;1103 1170 11C0;
+B4A2;B4A2;1103 1170 11C1;B4A2;1103 1170 11C1;
+B4A3;B4A3;1103 1170 11C2;B4A3;1103 1170 11C2;
+B4A4;B4A4;1103 1171;B4A4;1103 1171;
+B4A5;B4A5;1103 1171 11A8;B4A5;1103 1171 11A8;
+B4A6;B4A6;1103 1171 11A9;B4A6;1103 1171 11A9;
+B4A7;B4A7;1103 1171 11AA;B4A7;1103 1171 11AA;
+B4A8;B4A8;1103 1171 11AB;B4A8;1103 1171 11AB;
+B4A9;B4A9;1103 1171 11AC;B4A9;1103 1171 11AC;
+B4AA;B4AA;1103 1171 11AD;B4AA;1103 1171 11AD;
+B4AB;B4AB;1103 1171 11AE;B4AB;1103 1171 11AE;
+B4AC;B4AC;1103 1171 11AF;B4AC;1103 1171 11AF;
+B4AD;B4AD;1103 1171 11B0;B4AD;1103 1171 11B0;
+B4AE;B4AE;1103 1171 11B1;B4AE;1103 1171 11B1;
+B4AF;B4AF;1103 1171 11B2;B4AF;1103 1171 11B2;
+B4B0;B4B0;1103 1171 11B3;B4B0;1103 1171 11B3;
+B4B1;B4B1;1103 1171 11B4;B4B1;1103 1171 11B4;
+B4B2;B4B2;1103 1171 11B5;B4B2;1103 1171 11B5;
+B4B3;B4B3;1103 1171 11B6;B4B3;1103 1171 11B6;
+B4B4;B4B4;1103 1171 11B7;B4B4;1103 1171 11B7;
+B4B5;B4B5;1103 1171 11B8;B4B5;1103 1171 11B8;
+B4B6;B4B6;1103 1171 11B9;B4B6;1103 1171 11B9;
+B4B7;B4B7;1103 1171 11BA;B4B7;1103 1171 11BA;
+B4B8;B4B8;1103 1171 11BB;B4B8;1103 1171 11BB;
+B4B9;B4B9;1103 1171 11BC;B4B9;1103 1171 11BC;
+B4BA;B4BA;1103 1171 11BD;B4BA;1103 1171 11BD;
+B4BB;B4BB;1103 1171 11BE;B4BB;1103 1171 11BE;
+B4BC;B4BC;1103 1171 11BF;B4BC;1103 1171 11BF;
+B4BD;B4BD;1103 1171 11C0;B4BD;1103 1171 11C0;
+B4BE;B4BE;1103 1171 11C1;B4BE;1103 1171 11C1;
+B4BF;B4BF;1103 1171 11C2;B4BF;1103 1171 11C2;
+B4C0;B4C0;1103 1172;B4C0;1103 1172;
+B4C1;B4C1;1103 1172 11A8;B4C1;1103 1172 11A8;
+B4C2;B4C2;1103 1172 11A9;B4C2;1103 1172 11A9;
+B4C3;B4C3;1103 1172 11AA;B4C3;1103 1172 11AA;
+B4C4;B4C4;1103 1172 11AB;B4C4;1103 1172 11AB;
+B4C5;B4C5;1103 1172 11AC;B4C5;1103 1172 11AC;
+B4C6;B4C6;1103 1172 11AD;B4C6;1103 1172 11AD;
+B4C7;B4C7;1103 1172 11AE;B4C7;1103 1172 11AE;
+B4C8;B4C8;1103 1172 11AF;B4C8;1103 1172 11AF;
+B4C9;B4C9;1103 1172 11B0;B4C9;1103 1172 11B0;
+B4CA;B4CA;1103 1172 11B1;B4CA;1103 1172 11B1;
+B4CB;B4CB;1103 1172 11B2;B4CB;1103 1172 11B2;
+B4CC;B4CC;1103 1172 11B3;B4CC;1103 1172 11B3;
+B4CD;B4CD;1103 1172 11B4;B4CD;1103 1172 11B4;
+B4CE;B4CE;1103 1172 11B5;B4CE;1103 1172 11B5;
+B4CF;B4CF;1103 1172 11B6;B4CF;1103 1172 11B6;
+B4D0;B4D0;1103 1172 11B7;B4D0;1103 1172 11B7;
+B4D1;B4D1;1103 1172 11B8;B4D1;1103 1172 11B8;
+B4D2;B4D2;1103 1172 11B9;B4D2;1103 1172 11B9;
+B4D3;B4D3;1103 1172 11BA;B4D3;1103 1172 11BA;
+B4D4;B4D4;1103 1172 11BB;B4D4;1103 1172 11BB;
+B4D5;B4D5;1103 1172 11BC;B4D5;1103 1172 11BC;
+B4D6;B4D6;1103 1172 11BD;B4D6;1103 1172 11BD;
+B4D7;B4D7;1103 1172 11BE;B4D7;1103 1172 11BE;
+B4D8;B4D8;1103 1172 11BF;B4D8;1103 1172 11BF;
+B4D9;B4D9;1103 1172 11C0;B4D9;1103 1172 11C0;
+B4DA;B4DA;1103 1172 11C1;B4DA;1103 1172 11C1;
+B4DB;B4DB;1103 1172 11C2;B4DB;1103 1172 11C2;
+B4DC;B4DC;1103 1173;B4DC;1103 1173;
+B4DD;B4DD;1103 1173 11A8;B4DD;1103 1173 11A8;
+B4DE;B4DE;1103 1173 11A9;B4DE;1103 1173 11A9;
+B4DF;B4DF;1103 1173 11AA;B4DF;1103 1173 11AA;
+B4E0;B4E0;1103 1173 11AB;B4E0;1103 1173 11AB;
+B4E1;B4E1;1103 1173 11AC;B4E1;1103 1173 11AC;
+B4E2;B4E2;1103 1173 11AD;B4E2;1103 1173 11AD;
+B4E3;B4E3;1103 1173 11AE;B4E3;1103 1173 11AE;
+B4E4;B4E4;1103 1173 11AF;B4E4;1103 1173 11AF;
+B4E5;B4E5;1103 1173 11B0;B4E5;1103 1173 11B0;
+B4E6;B4E6;1103 1173 11B1;B4E6;1103 1173 11B1;
+B4E7;B4E7;1103 1173 11B2;B4E7;1103 1173 11B2;
+B4E8;B4E8;1103 1173 11B3;B4E8;1103 1173 11B3;
+B4E9;B4E9;1103 1173 11B4;B4E9;1103 1173 11B4;
+B4EA;B4EA;1103 1173 11B5;B4EA;1103 1173 11B5;
+B4EB;B4EB;1103 1173 11B6;B4EB;1103 1173 11B6;
+B4EC;B4EC;1103 1173 11B7;B4EC;1103 1173 11B7;
+B4ED;B4ED;1103 1173 11B8;B4ED;1103 1173 11B8;
+B4EE;B4EE;1103 1173 11B9;B4EE;1103 1173 11B9;
+B4EF;B4EF;1103 1173 11BA;B4EF;1103 1173 11BA;
+B4F0;B4F0;1103 1173 11BB;B4F0;1103 1173 11BB;
+B4F1;B4F1;1103 1173 11BC;B4F1;1103 1173 11BC;
+B4F2;B4F2;1103 1173 11BD;B4F2;1103 1173 11BD;
+B4F3;B4F3;1103 1173 11BE;B4F3;1103 1173 11BE;
+B4F4;B4F4;1103 1173 11BF;B4F4;1103 1173 11BF;
+B4F5;B4F5;1103 1173 11C0;B4F5;1103 1173 11C0;
+B4F6;B4F6;1103 1173 11C1;B4F6;1103 1173 11C1;
+B4F7;B4F7;1103 1173 11C2;B4F7;1103 1173 11C2;
+B4F8;B4F8;1103 1174;B4F8;1103 1174;
+B4F9;B4F9;1103 1174 11A8;B4F9;1103 1174 11A8;
+B4FA;B4FA;1103 1174 11A9;B4FA;1103 1174 11A9;
+B4FB;B4FB;1103 1174 11AA;B4FB;1103 1174 11AA;
+B4FC;B4FC;1103 1174 11AB;B4FC;1103 1174 11AB;
+B4FD;B4FD;1103 1174 11AC;B4FD;1103 1174 11AC;
+B4FE;B4FE;1103 1174 11AD;B4FE;1103 1174 11AD;
+B4FF;B4FF;1103 1174 11AE;B4FF;1103 1174 11AE;
+B500;B500;1103 1174 11AF;B500;1103 1174 11AF;
+B501;B501;1103 1174 11B0;B501;1103 1174 11B0;
+B502;B502;1103 1174 11B1;B502;1103 1174 11B1;
+B503;B503;1103 1174 11B2;B503;1103 1174 11B2;
+B504;B504;1103 1174 11B3;B504;1103 1174 11B3;
+B505;B505;1103 1174 11B4;B505;1103 1174 11B4;
+B506;B506;1103 1174 11B5;B506;1103 1174 11B5;
+B507;B507;1103 1174 11B6;B507;1103 1174 11B6;
+B508;B508;1103 1174 11B7;B508;1103 1174 11B7;
+B509;B509;1103 1174 11B8;B509;1103 1174 11B8;
+B50A;B50A;1103 1174 11B9;B50A;1103 1174 11B9;
+B50B;B50B;1103 1174 11BA;B50B;1103 1174 11BA;
+B50C;B50C;1103 1174 11BB;B50C;1103 1174 11BB;
+B50D;B50D;1103 1174 11BC;B50D;1103 1174 11BC;
+B50E;B50E;1103 1174 11BD;B50E;1103 1174 11BD;
+B50F;B50F;1103 1174 11BE;B50F;1103 1174 11BE;
+B510;B510;1103 1174 11BF;B510;1103 1174 11BF;
+B511;B511;1103 1174 11C0;B511;1103 1174 11C0;
+B512;B512;1103 1174 11C1;B512;1103 1174 11C1;
+B513;B513;1103 1174 11C2;B513;1103 1174 11C2;
+B514;B514;1103 1175;B514;1103 1175;
+B515;B515;1103 1175 11A8;B515;1103 1175 11A8;
+B516;B516;1103 1175 11A9;B516;1103 1175 11A9;
+B517;B517;1103 1175 11AA;B517;1103 1175 11AA;
+B518;B518;1103 1175 11AB;B518;1103 1175 11AB;
+B519;B519;1103 1175 11AC;B519;1103 1175 11AC;
+B51A;B51A;1103 1175 11AD;B51A;1103 1175 11AD;
+B51B;B51B;1103 1175 11AE;B51B;1103 1175 11AE;
+B51C;B51C;1103 1175 11AF;B51C;1103 1175 11AF;
+B51D;B51D;1103 1175 11B0;B51D;1103 1175 11B0;
+B51E;B51E;1103 1175 11B1;B51E;1103 1175 11B1;
+B51F;B51F;1103 1175 11B2;B51F;1103 1175 11B2;
+B520;B520;1103 1175 11B3;B520;1103 1175 11B3;
+B521;B521;1103 1175 11B4;B521;1103 1175 11B4;
+B522;B522;1103 1175 11B5;B522;1103 1175 11B5;
+B523;B523;1103 1175 11B6;B523;1103 1175 11B6;
+B524;B524;1103 1175 11B7;B524;1103 1175 11B7;
+B525;B525;1103 1175 11B8;B525;1103 1175 11B8;
+B526;B526;1103 1175 11B9;B526;1103 1175 11B9;
+B527;B527;1103 1175 11BA;B527;1103 1175 11BA;
+B528;B528;1103 1175 11BB;B528;1103 1175 11BB;
+B529;B529;1103 1175 11BC;B529;1103 1175 11BC;
+B52A;B52A;1103 1175 11BD;B52A;1103 1175 11BD;
+B52B;B52B;1103 1175 11BE;B52B;1103 1175 11BE;
+B52C;B52C;1103 1175 11BF;B52C;1103 1175 11BF;
+B52D;B52D;1103 1175 11C0;B52D;1103 1175 11C0;
+B52E;B52E;1103 1175 11C1;B52E;1103 1175 11C1;
+B52F;B52F;1103 1175 11C2;B52F;1103 1175 11C2;
+B530;B530;1104 1161;B530;1104 1161;
+B531;B531;1104 1161 11A8;B531;1104 1161 11A8;
+B532;B532;1104 1161 11A9;B532;1104 1161 11A9;
+B533;B533;1104 1161 11AA;B533;1104 1161 11AA;
+B534;B534;1104 1161 11AB;B534;1104 1161 11AB;
+B535;B535;1104 1161 11AC;B535;1104 1161 11AC;
+B536;B536;1104 1161 11AD;B536;1104 1161 11AD;
+B537;B537;1104 1161 11AE;B537;1104 1161 11AE;
+B538;B538;1104 1161 11AF;B538;1104 1161 11AF;
+B539;B539;1104 1161 11B0;B539;1104 1161 11B0;
+B53A;B53A;1104 1161 11B1;B53A;1104 1161 11B1;
+B53B;B53B;1104 1161 11B2;B53B;1104 1161 11B2;
+B53C;B53C;1104 1161 11B3;B53C;1104 1161 11B3;
+B53D;B53D;1104 1161 11B4;B53D;1104 1161 11B4;
+B53E;B53E;1104 1161 11B5;B53E;1104 1161 11B5;
+B53F;B53F;1104 1161 11B6;B53F;1104 1161 11B6;
+B540;B540;1104 1161 11B7;B540;1104 1161 11B7;
+B541;B541;1104 1161 11B8;B541;1104 1161 11B8;
+B542;B542;1104 1161 11B9;B542;1104 1161 11B9;
+B543;B543;1104 1161 11BA;B543;1104 1161 11BA;
+B544;B544;1104 1161 11BB;B544;1104 1161 11BB;
+B545;B545;1104 1161 11BC;B545;1104 1161 11BC;
+B546;B546;1104 1161 11BD;B546;1104 1161 11BD;
+B547;B547;1104 1161 11BE;B547;1104 1161 11BE;
+B548;B548;1104 1161 11BF;B548;1104 1161 11BF;
+B549;B549;1104 1161 11C0;B549;1104 1161 11C0;
+B54A;B54A;1104 1161 11C1;B54A;1104 1161 11C1;
+B54B;B54B;1104 1161 11C2;B54B;1104 1161 11C2;
+B54C;B54C;1104 1162;B54C;1104 1162;
+B54D;B54D;1104 1162 11A8;B54D;1104 1162 11A8;
+B54E;B54E;1104 1162 11A9;B54E;1104 1162 11A9;
+B54F;B54F;1104 1162 11AA;B54F;1104 1162 11AA;
+B550;B550;1104 1162 11AB;B550;1104 1162 11AB;
+B551;B551;1104 1162 11AC;B551;1104 1162 11AC;
+B552;B552;1104 1162 11AD;B552;1104 1162 11AD;
+B553;B553;1104 1162 11AE;B553;1104 1162 11AE;
+B554;B554;1104 1162 11AF;B554;1104 1162 11AF;
+B555;B555;1104 1162 11B0;B555;1104 1162 11B0;
+B556;B556;1104 1162 11B1;B556;1104 1162 11B1;
+B557;B557;1104 1162 11B2;B557;1104 1162 11B2;
+B558;B558;1104 1162 11B3;B558;1104 1162 11B3;
+B559;B559;1104 1162 11B4;B559;1104 1162 11B4;
+B55A;B55A;1104 1162 11B5;B55A;1104 1162 11B5;
+B55B;B55B;1104 1162 11B6;B55B;1104 1162 11B6;
+B55C;B55C;1104 1162 11B7;B55C;1104 1162 11B7;
+B55D;B55D;1104 1162 11B8;B55D;1104 1162 11B8;
+B55E;B55E;1104 1162 11B9;B55E;1104 1162 11B9;
+B55F;B55F;1104 1162 11BA;B55F;1104 1162 11BA;
+B560;B560;1104 1162 11BB;B560;1104 1162 11BB;
+B561;B561;1104 1162 11BC;B561;1104 1162 11BC;
+B562;B562;1104 1162 11BD;B562;1104 1162 11BD;
+B563;B563;1104 1162 11BE;B563;1104 1162 11BE;
+B564;B564;1104 1162 11BF;B564;1104 1162 11BF;
+B565;B565;1104 1162 11C0;B565;1104 1162 11C0;
+B566;B566;1104 1162 11C1;B566;1104 1162 11C1;
+B567;B567;1104 1162 11C2;B567;1104 1162 11C2;
+B568;B568;1104 1163;B568;1104 1163;
+B569;B569;1104 1163 11A8;B569;1104 1163 11A8;
+B56A;B56A;1104 1163 11A9;B56A;1104 1163 11A9;
+B56B;B56B;1104 1163 11AA;B56B;1104 1163 11AA;
+B56C;B56C;1104 1163 11AB;B56C;1104 1163 11AB;
+B56D;B56D;1104 1163 11AC;B56D;1104 1163 11AC;
+B56E;B56E;1104 1163 11AD;B56E;1104 1163 11AD;
+B56F;B56F;1104 1163 11AE;B56F;1104 1163 11AE;
+B570;B570;1104 1163 11AF;B570;1104 1163 11AF;
+B571;B571;1104 1163 11B0;B571;1104 1163 11B0;
+B572;B572;1104 1163 11B1;B572;1104 1163 11B1;
+B573;B573;1104 1163 11B2;B573;1104 1163 11B2;
+B574;B574;1104 1163 11B3;B574;1104 1163 11B3;
+B575;B575;1104 1163 11B4;B575;1104 1163 11B4;
+B576;B576;1104 1163 11B5;B576;1104 1163 11B5;
+B577;B577;1104 1163 11B6;B577;1104 1163 11B6;
+B578;B578;1104 1163 11B7;B578;1104 1163 11B7;
+B579;B579;1104 1163 11B8;B579;1104 1163 11B8;
+B57A;B57A;1104 1163 11B9;B57A;1104 1163 11B9;
+B57B;B57B;1104 1163 11BA;B57B;1104 1163 11BA;
+B57C;B57C;1104 1163 11BB;B57C;1104 1163 11BB;
+B57D;B57D;1104 1163 11BC;B57D;1104 1163 11BC;
+B57E;B57E;1104 1163 11BD;B57E;1104 1163 11BD;
+B57F;B57F;1104 1163 11BE;B57F;1104 1163 11BE;
+B580;B580;1104 1163 11BF;B580;1104 1163 11BF;
+B581;B581;1104 1163 11C0;B581;1104 1163 11C0;
+B582;B582;1104 1163 11C1;B582;1104 1163 11C1;
+B583;B583;1104 1163 11C2;B583;1104 1163 11C2;
+B584;B584;1104 1164;B584;1104 1164;
+B585;B585;1104 1164 11A8;B585;1104 1164 11A8;
+B586;B586;1104 1164 11A9;B586;1104 1164 11A9;
+B587;B587;1104 1164 11AA;B587;1104 1164 11AA;
+B588;B588;1104 1164 11AB;B588;1104 1164 11AB;
+B589;B589;1104 1164 11AC;B589;1104 1164 11AC;
+B58A;B58A;1104 1164 11AD;B58A;1104 1164 11AD;
+B58B;B58B;1104 1164 11AE;B58B;1104 1164 11AE;
+B58C;B58C;1104 1164 11AF;B58C;1104 1164 11AF;
+B58D;B58D;1104 1164 11B0;B58D;1104 1164 11B0;
+B58E;B58E;1104 1164 11B1;B58E;1104 1164 11B1;
+B58F;B58F;1104 1164 11B2;B58F;1104 1164 11B2;
+B590;B590;1104 1164 11B3;B590;1104 1164 11B3;
+B591;B591;1104 1164 11B4;B591;1104 1164 11B4;
+B592;B592;1104 1164 11B5;B592;1104 1164 11B5;
+B593;B593;1104 1164 11B6;B593;1104 1164 11B6;
+B594;B594;1104 1164 11B7;B594;1104 1164 11B7;
+B595;B595;1104 1164 11B8;B595;1104 1164 11B8;
+B596;B596;1104 1164 11B9;B596;1104 1164 11B9;
+B597;B597;1104 1164 11BA;B597;1104 1164 11BA;
+B598;B598;1104 1164 11BB;B598;1104 1164 11BB;
+B599;B599;1104 1164 11BC;B599;1104 1164 11BC;
+B59A;B59A;1104 1164 11BD;B59A;1104 1164 11BD;
+B59B;B59B;1104 1164 11BE;B59B;1104 1164 11BE;
+B59C;B59C;1104 1164 11BF;B59C;1104 1164 11BF;
+B59D;B59D;1104 1164 11C0;B59D;1104 1164 11C0;
+B59E;B59E;1104 1164 11C1;B59E;1104 1164 11C1;
+B59F;B59F;1104 1164 11C2;B59F;1104 1164 11C2;
+B5A0;B5A0;1104 1165;B5A0;1104 1165;
+B5A1;B5A1;1104 1165 11A8;B5A1;1104 1165 11A8;
+B5A2;B5A2;1104 1165 11A9;B5A2;1104 1165 11A9;
+B5A3;B5A3;1104 1165 11AA;B5A3;1104 1165 11AA;
+B5A4;B5A4;1104 1165 11AB;B5A4;1104 1165 11AB;
+B5A5;B5A5;1104 1165 11AC;B5A5;1104 1165 11AC;
+B5A6;B5A6;1104 1165 11AD;B5A6;1104 1165 11AD;
+B5A7;B5A7;1104 1165 11AE;B5A7;1104 1165 11AE;
+B5A8;B5A8;1104 1165 11AF;B5A8;1104 1165 11AF;
+B5A9;B5A9;1104 1165 11B0;B5A9;1104 1165 11B0;
+B5AA;B5AA;1104 1165 11B1;B5AA;1104 1165 11B1;
+B5AB;B5AB;1104 1165 11B2;B5AB;1104 1165 11B2;
+B5AC;B5AC;1104 1165 11B3;B5AC;1104 1165 11B3;
+B5AD;B5AD;1104 1165 11B4;B5AD;1104 1165 11B4;
+B5AE;B5AE;1104 1165 11B5;B5AE;1104 1165 11B5;
+B5AF;B5AF;1104 1165 11B6;B5AF;1104 1165 11B6;
+B5B0;B5B0;1104 1165 11B7;B5B0;1104 1165 11B7;
+B5B1;B5B1;1104 1165 11B8;B5B1;1104 1165 11B8;
+B5B2;B5B2;1104 1165 11B9;B5B2;1104 1165 11B9;
+B5B3;B5B3;1104 1165 11BA;B5B3;1104 1165 11BA;
+B5B4;B5B4;1104 1165 11BB;B5B4;1104 1165 11BB;
+B5B5;B5B5;1104 1165 11BC;B5B5;1104 1165 11BC;
+B5B6;B5B6;1104 1165 11BD;B5B6;1104 1165 11BD;
+B5B7;B5B7;1104 1165 11BE;B5B7;1104 1165 11BE;
+B5B8;B5B8;1104 1165 11BF;B5B8;1104 1165 11BF;
+B5B9;B5B9;1104 1165 11C0;B5B9;1104 1165 11C0;
+B5BA;B5BA;1104 1165 11C1;B5BA;1104 1165 11C1;
+B5BB;B5BB;1104 1165 11C2;B5BB;1104 1165 11C2;
+B5BC;B5BC;1104 1166;B5BC;1104 1166;
+B5BD;B5BD;1104 1166 11A8;B5BD;1104 1166 11A8;
+B5BE;B5BE;1104 1166 11A9;B5BE;1104 1166 11A9;
+B5BF;B5BF;1104 1166 11AA;B5BF;1104 1166 11AA;
+B5C0;B5C0;1104 1166 11AB;B5C0;1104 1166 11AB;
+B5C1;B5C1;1104 1166 11AC;B5C1;1104 1166 11AC;
+B5C2;B5C2;1104 1166 11AD;B5C2;1104 1166 11AD;
+B5C3;B5C3;1104 1166 11AE;B5C3;1104 1166 11AE;
+B5C4;B5C4;1104 1166 11AF;B5C4;1104 1166 11AF;
+B5C5;B5C5;1104 1166 11B0;B5C5;1104 1166 11B0;
+B5C6;B5C6;1104 1166 11B1;B5C6;1104 1166 11B1;
+B5C7;B5C7;1104 1166 11B2;B5C7;1104 1166 11B2;
+B5C8;B5C8;1104 1166 11B3;B5C8;1104 1166 11B3;
+B5C9;B5C9;1104 1166 11B4;B5C9;1104 1166 11B4;
+B5CA;B5CA;1104 1166 11B5;B5CA;1104 1166 11B5;
+B5CB;B5CB;1104 1166 11B6;B5CB;1104 1166 11B6;
+B5CC;B5CC;1104 1166 11B7;B5CC;1104 1166 11B7;
+B5CD;B5CD;1104 1166 11B8;B5CD;1104 1166 11B8;
+B5CE;B5CE;1104 1166 11B9;B5CE;1104 1166 11B9;
+B5CF;B5CF;1104 1166 11BA;B5CF;1104 1166 11BA;
+B5D0;B5D0;1104 1166 11BB;B5D0;1104 1166 11BB;
+B5D1;B5D1;1104 1166 11BC;B5D1;1104 1166 11BC;
+B5D2;B5D2;1104 1166 11BD;B5D2;1104 1166 11BD;
+B5D3;B5D3;1104 1166 11BE;B5D3;1104 1166 11BE;
+B5D4;B5D4;1104 1166 11BF;B5D4;1104 1166 11BF;
+B5D5;B5D5;1104 1166 11C0;B5D5;1104 1166 11C0;
+B5D6;B5D6;1104 1166 11C1;B5D6;1104 1166 11C1;
+B5D7;B5D7;1104 1166 11C2;B5D7;1104 1166 11C2;
+B5D8;B5D8;1104 1167;B5D8;1104 1167;
+B5D9;B5D9;1104 1167 11A8;B5D9;1104 1167 11A8;
+B5DA;B5DA;1104 1167 11A9;B5DA;1104 1167 11A9;
+B5DB;B5DB;1104 1167 11AA;B5DB;1104 1167 11AA;
+B5DC;B5DC;1104 1167 11AB;B5DC;1104 1167 11AB;
+B5DD;B5DD;1104 1167 11AC;B5DD;1104 1167 11AC;
+B5DE;B5DE;1104 1167 11AD;B5DE;1104 1167 11AD;
+B5DF;B5DF;1104 1167 11AE;B5DF;1104 1167 11AE;
+B5E0;B5E0;1104 1167 11AF;B5E0;1104 1167 11AF;
+B5E1;B5E1;1104 1167 11B0;B5E1;1104 1167 11B0;
+B5E2;B5E2;1104 1167 11B1;B5E2;1104 1167 11B1;
+B5E3;B5E3;1104 1167 11B2;B5E3;1104 1167 11B2;
+B5E4;B5E4;1104 1167 11B3;B5E4;1104 1167 11B3;
+B5E5;B5E5;1104 1167 11B4;B5E5;1104 1167 11B4;
+B5E6;B5E6;1104 1167 11B5;B5E6;1104 1167 11B5;
+B5E7;B5E7;1104 1167 11B6;B5E7;1104 1167 11B6;
+B5E8;B5E8;1104 1167 11B7;B5E8;1104 1167 11B7;
+B5E9;B5E9;1104 1167 11B8;B5E9;1104 1167 11B8;
+B5EA;B5EA;1104 1167 11B9;B5EA;1104 1167 11B9;
+B5EB;B5EB;1104 1167 11BA;B5EB;1104 1167 11BA;
+B5EC;B5EC;1104 1167 11BB;B5EC;1104 1167 11BB;
+B5ED;B5ED;1104 1167 11BC;B5ED;1104 1167 11BC;
+B5EE;B5EE;1104 1167 11BD;B5EE;1104 1167 11BD;
+B5EF;B5EF;1104 1167 11BE;B5EF;1104 1167 11BE;
+B5F0;B5F0;1104 1167 11BF;B5F0;1104 1167 11BF;
+B5F1;B5F1;1104 1167 11C0;B5F1;1104 1167 11C0;
+B5F2;B5F2;1104 1167 11C1;B5F2;1104 1167 11C1;
+B5F3;B5F3;1104 1167 11C2;B5F3;1104 1167 11C2;
+B5F4;B5F4;1104 1168;B5F4;1104 1168;
+B5F5;B5F5;1104 1168 11A8;B5F5;1104 1168 11A8;
+B5F6;B5F6;1104 1168 11A9;B5F6;1104 1168 11A9;
+B5F7;B5F7;1104 1168 11AA;B5F7;1104 1168 11AA;
+B5F8;B5F8;1104 1168 11AB;B5F8;1104 1168 11AB;
+B5F9;B5F9;1104 1168 11AC;B5F9;1104 1168 11AC;
+B5FA;B5FA;1104 1168 11AD;B5FA;1104 1168 11AD;
+B5FB;B5FB;1104 1168 11AE;B5FB;1104 1168 11AE;
+B5FC;B5FC;1104 1168 11AF;B5FC;1104 1168 11AF;
+B5FD;B5FD;1104 1168 11B0;B5FD;1104 1168 11B0;
+B5FE;B5FE;1104 1168 11B1;B5FE;1104 1168 11B1;
+B5FF;B5FF;1104 1168 11B2;B5FF;1104 1168 11B2;
+B600;B600;1104 1168 11B3;B600;1104 1168 11B3;
+B601;B601;1104 1168 11B4;B601;1104 1168 11B4;
+B602;B602;1104 1168 11B5;B602;1104 1168 11B5;
+B603;B603;1104 1168 11B6;B603;1104 1168 11B6;
+B604;B604;1104 1168 11B7;B604;1104 1168 11B7;
+B605;B605;1104 1168 11B8;B605;1104 1168 11B8;
+B606;B606;1104 1168 11B9;B606;1104 1168 11B9;
+B607;B607;1104 1168 11BA;B607;1104 1168 11BA;
+B608;B608;1104 1168 11BB;B608;1104 1168 11BB;
+B609;B609;1104 1168 11BC;B609;1104 1168 11BC;
+B60A;B60A;1104 1168 11BD;B60A;1104 1168 11BD;
+B60B;B60B;1104 1168 11BE;B60B;1104 1168 11BE;
+B60C;B60C;1104 1168 11BF;B60C;1104 1168 11BF;
+B60D;B60D;1104 1168 11C0;B60D;1104 1168 11C0;
+B60E;B60E;1104 1168 11C1;B60E;1104 1168 11C1;
+B60F;B60F;1104 1168 11C2;B60F;1104 1168 11C2;
+B610;B610;1104 1169;B610;1104 1169;
+B611;B611;1104 1169 11A8;B611;1104 1169 11A8;
+B612;B612;1104 1169 11A9;B612;1104 1169 11A9;
+B613;B613;1104 1169 11AA;B613;1104 1169 11AA;
+B614;B614;1104 1169 11AB;B614;1104 1169 11AB;
+B615;B615;1104 1169 11AC;B615;1104 1169 11AC;
+B616;B616;1104 1169 11AD;B616;1104 1169 11AD;
+B617;B617;1104 1169 11AE;B617;1104 1169 11AE;
+B618;B618;1104 1169 11AF;B618;1104 1169 11AF;
+B619;B619;1104 1169 11B0;B619;1104 1169 11B0;
+B61A;B61A;1104 1169 11B1;B61A;1104 1169 11B1;
+B61B;B61B;1104 1169 11B2;B61B;1104 1169 11B2;
+B61C;B61C;1104 1169 11B3;B61C;1104 1169 11B3;
+B61D;B61D;1104 1169 11B4;B61D;1104 1169 11B4;
+B61E;B61E;1104 1169 11B5;B61E;1104 1169 11B5;
+B61F;B61F;1104 1169 11B6;B61F;1104 1169 11B6;
+B620;B620;1104 1169 11B7;B620;1104 1169 11B7;
+B621;B621;1104 1169 11B8;B621;1104 1169 11B8;
+B622;B622;1104 1169 11B9;B622;1104 1169 11B9;
+B623;B623;1104 1169 11BA;B623;1104 1169 11BA;
+B624;B624;1104 1169 11BB;B624;1104 1169 11BB;
+B625;B625;1104 1169 11BC;B625;1104 1169 11BC;
+B626;B626;1104 1169 11BD;B626;1104 1169 11BD;
+B627;B627;1104 1169 11BE;B627;1104 1169 11BE;
+B628;B628;1104 1169 11BF;B628;1104 1169 11BF;
+B629;B629;1104 1169 11C0;B629;1104 1169 11C0;
+B62A;B62A;1104 1169 11C1;B62A;1104 1169 11C1;
+B62B;B62B;1104 1169 11C2;B62B;1104 1169 11C2;
+B62C;B62C;1104 116A;B62C;1104 116A;
+B62D;B62D;1104 116A 11A8;B62D;1104 116A 11A8;
+B62E;B62E;1104 116A 11A9;B62E;1104 116A 11A9;
+B62F;B62F;1104 116A 11AA;B62F;1104 116A 11AA;
+B630;B630;1104 116A 11AB;B630;1104 116A 11AB;
+B631;B631;1104 116A 11AC;B631;1104 116A 11AC;
+B632;B632;1104 116A 11AD;B632;1104 116A 11AD;
+B633;B633;1104 116A 11AE;B633;1104 116A 11AE;
+B634;B634;1104 116A 11AF;B634;1104 116A 11AF;
+B635;B635;1104 116A 11B0;B635;1104 116A 11B0;
+B636;B636;1104 116A 11B1;B636;1104 116A 11B1;
+B637;B637;1104 116A 11B2;B637;1104 116A 11B2;
+B638;B638;1104 116A 11B3;B638;1104 116A 11B3;
+B639;B639;1104 116A 11B4;B639;1104 116A 11B4;
+B63A;B63A;1104 116A 11B5;B63A;1104 116A 11B5;
+B63B;B63B;1104 116A 11B6;B63B;1104 116A 11B6;
+B63C;B63C;1104 116A 11B7;B63C;1104 116A 11B7;
+B63D;B63D;1104 116A 11B8;B63D;1104 116A 11B8;
+B63E;B63E;1104 116A 11B9;B63E;1104 116A 11B9;
+B63F;B63F;1104 116A 11BA;B63F;1104 116A 11BA;
+B640;B640;1104 116A 11BB;B640;1104 116A 11BB;
+B641;B641;1104 116A 11BC;B641;1104 116A 11BC;
+B642;B642;1104 116A 11BD;B642;1104 116A 11BD;
+B643;B643;1104 116A 11BE;B643;1104 116A 11BE;
+B644;B644;1104 116A 11BF;B644;1104 116A 11BF;
+B645;B645;1104 116A 11C0;B645;1104 116A 11C0;
+B646;B646;1104 116A 11C1;B646;1104 116A 11C1;
+B647;B647;1104 116A 11C2;B647;1104 116A 11C2;
+B648;B648;1104 116B;B648;1104 116B;
+B649;B649;1104 116B 11A8;B649;1104 116B 11A8;
+B64A;B64A;1104 116B 11A9;B64A;1104 116B 11A9;
+B64B;B64B;1104 116B 11AA;B64B;1104 116B 11AA;
+B64C;B64C;1104 116B 11AB;B64C;1104 116B 11AB;
+B64D;B64D;1104 116B 11AC;B64D;1104 116B 11AC;
+B64E;B64E;1104 116B 11AD;B64E;1104 116B 11AD;
+B64F;B64F;1104 116B 11AE;B64F;1104 116B 11AE;
+B650;B650;1104 116B 11AF;B650;1104 116B 11AF;
+B651;B651;1104 116B 11B0;B651;1104 116B 11B0;
+B652;B652;1104 116B 11B1;B652;1104 116B 11B1;
+B653;B653;1104 116B 11B2;B653;1104 116B 11B2;
+B654;B654;1104 116B 11B3;B654;1104 116B 11B3;
+B655;B655;1104 116B 11B4;B655;1104 116B 11B4;
+B656;B656;1104 116B 11B5;B656;1104 116B 11B5;
+B657;B657;1104 116B 11B6;B657;1104 116B 11B6;
+B658;B658;1104 116B 11B7;B658;1104 116B 11B7;
+B659;B659;1104 116B 11B8;B659;1104 116B 11B8;
+B65A;B65A;1104 116B 11B9;B65A;1104 116B 11B9;
+B65B;B65B;1104 116B 11BA;B65B;1104 116B 11BA;
+B65C;B65C;1104 116B 11BB;B65C;1104 116B 11BB;
+B65D;B65D;1104 116B 11BC;B65D;1104 116B 11BC;
+B65E;B65E;1104 116B 11BD;B65E;1104 116B 11BD;
+B65F;B65F;1104 116B 11BE;B65F;1104 116B 11BE;
+B660;B660;1104 116B 11BF;B660;1104 116B 11BF;
+B661;B661;1104 116B 11C0;B661;1104 116B 11C0;
+B662;B662;1104 116B 11C1;B662;1104 116B 11C1;
+B663;B663;1104 116B 11C2;B663;1104 116B 11C2;
+B664;B664;1104 116C;B664;1104 116C;
+B665;B665;1104 116C 11A8;B665;1104 116C 11A8;
+B666;B666;1104 116C 11A9;B666;1104 116C 11A9;
+B667;B667;1104 116C 11AA;B667;1104 116C 11AA;
+B668;B668;1104 116C 11AB;B668;1104 116C 11AB;
+B669;B669;1104 116C 11AC;B669;1104 116C 11AC;
+B66A;B66A;1104 116C 11AD;B66A;1104 116C 11AD;
+B66B;B66B;1104 116C 11AE;B66B;1104 116C 11AE;
+B66C;B66C;1104 116C 11AF;B66C;1104 116C 11AF;
+B66D;B66D;1104 116C 11B0;B66D;1104 116C 11B0;
+B66E;B66E;1104 116C 11B1;B66E;1104 116C 11B1;
+B66F;B66F;1104 116C 11B2;B66F;1104 116C 11B2;
+B670;B670;1104 116C 11B3;B670;1104 116C 11B3;
+B671;B671;1104 116C 11B4;B671;1104 116C 11B4;
+B672;B672;1104 116C 11B5;B672;1104 116C 11B5;
+B673;B673;1104 116C 11B6;B673;1104 116C 11B6;
+B674;B674;1104 116C 11B7;B674;1104 116C 11B7;
+B675;B675;1104 116C 11B8;B675;1104 116C 11B8;
+B676;B676;1104 116C 11B9;B676;1104 116C 11B9;
+B677;B677;1104 116C 11BA;B677;1104 116C 11BA;
+B678;B678;1104 116C 11BB;B678;1104 116C 11BB;
+B679;B679;1104 116C 11BC;B679;1104 116C 11BC;
+B67A;B67A;1104 116C 11BD;B67A;1104 116C 11BD;
+B67B;B67B;1104 116C 11BE;B67B;1104 116C 11BE;
+B67C;B67C;1104 116C 11BF;B67C;1104 116C 11BF;
+B67D;B67D;1104 116C 11C0;B67D;1104 116C 11C0;
+B67E;B67E;1104 116C 11C1;B67E;1104 116C 11C1;
+B67F;B67F;1104 116C 11C2;B67F;1104 116C 11C2;
+B680;B680;1104 116D;B680;1104 116D;
+B681;B681;1104 116D 11A8;B681;1104 116D 11A8;
+B682;B682;1104 116D 11A9;B682;1104 116D 11A9;
+B683;B683;1104 116D 11AA;B683;1104 116D 11AA;
+B684;B684;1104 116D 11AB;B684;1104 116D 11AB;
+B685;B685;1104 116D 11AC;B685;1104 116D 11AC;
+B686;B686;1104 116D 11AD;B686;1104 116D 11AD;
+B687;B687;1104 116D 11AE;B687;1104 116D 11AE;
+B688;B688;1104 116D 11AF;B688;1104 116D 11AF;
+B689;B689;1104 116D 11B0;B689;1104 116D 11B0;
+B68A;B68A;1104 116D 11B1;B68A;1104 116D 11B1;
+B68B;B68B;1104 116D 11B2;B68B;1104 116D 11B2;
+B68C;B68C;1104 116D 11B3;B68C;1104 116D 11B3;
+B68D;B68D;1104 116D 11B4;B68D;1104 116D 11B4;
+B68E;B68E;1104 116D 11B5;B68E;1104 116D 11B5;
+B68F;B68F;1104 116D 11B6;B68F;1104 116D 11B6;
+B690;B690;1104 116D 11B7;B690;1104 116D 11B7;
+B691;B691;1104 116D 11B8;B691;1104 116D 11B8;
+B692;B692;1104 116D 11B9;B692;1104 116D 11B9;
+B693;B693;1104 116D 11BA;B693;1104 116D 11BA;
+B694;B694;1104 116D 11BB;B694;1104 116D 11BB;
+B695;B695;1104 116D 11BC;B695;1104 116D 11BC;
+B696;B696;1104 116D 11BD;B696;1104 116D 11BD;
+B697;B697;1104 116D 11BE;B697;1104 116D 11BE;
+B698;B698;1104 116D 11BF;B698;1104 116D 11BF;
+B699;B699;1104 116D 11C0;B699;1104 116D 11C0;
+B69A;B69A;1104 116D 11C1;B69A;1104 116D 11C1;
+B69B;B69B;1104 116D 11C2;B69B;1104 116D 11C2;
+B69C;B69C;1104 116E;B69C;1104 116E;
+B69D;B69D;1104 116E 11A8;B69D;1104 116E 11A8;
+B69E;B69E;1104 116E 11A9;B69E;1104 116E 11A9;
+B69F;B69F;1104 116E 11AA;B69F;1104 116E 11AA;
+B6A0;B6A0;1104 116E 11AB;B6A0;1104 116E 11AB;
+B6A1;B6A1;1104 116E 11AC;B6A1;1104 116E 11AC;
+B6A2;B6A2;1104 116E 11AD;B6A2;1104 116E 11AD;
+B6A3;B6A3;1104 116E 11AE;B6A3;1104 116E 11AE;
+B6A4;B6A4;1104 116E 11AF;B6A4;1104 116E 11AF;
+B6A5;B6A5;1104 116E 11B0;B6A5;1104 116E 11B0;
+B6A6;B6A6;1104 116E 11B1;B6A6;1104 116E 11B1;
+B6A7;B6A7;1104 116E 11B2;B6A7;1104 116E 11B2;
+B6A8;B6A8;1104 116E 11B3;B6A8;1104 116E 11B3;
+B6A9;B6A9;1104 116E 11B4;B6A9;1104 116E 11B4;
+B6AA;B6AA;1104 116E 11B5;B6AA;1104 116E 11B5;
+B6AB;B6AB;1104 116E 11B6;B6AB;1104 116E 11B6;
+B6AC;B6AC;1104 116E 11B7;B6AC;1104 116E 11B7;
+B6AD;B6AD;1104 116E 11B8;B6AD;1104 116E 11B8;
+B6AE;B6AE;1104 116E 11B9;B6AE;1104 116E 11B9;
+B6AF;B6AF;1104 116E 11BA;B6AF;1104 116E 11BA;
+B6B0;B6B0;1104 116E 11BB;B6B0;1104 116E 11BB;
+B6B1;B6B1;1104 116E 11BC;B6B1;1104 116E 11BC;
+B6B2;B6B2;1104 116E 11BD;B6B2;1104 116E 11BD;
+B6B3;B6B3;1104 116E 11BE;B6B3;1104 116E 11BE;
+B6B4;B6B4;1104 116E 11BF;B6B4;1104 116E 11BF;
+B6B5;B6B5;1104 116E 11C0;B6B5;1104 116E 11C0;
+B6B6;B6B6;1104 116E 11C1;B6B6;1104 116E 11C1;
+B6B7;B6B7;1104 116E 11C2;B6B7;1104 116E 11C2;
+B6B8;B6B8;1104 116F;B6B8;1104 116F;
+B6B9;B6B9;1104 116F 11A8;B6B9;1104 116F 11A8;
+B6BA;B6BA;1104 116F 11A9;B6BA;1104 116F 11A9;
+B6BB;B6BB;1104 116F 11AA;B6BB;1104 116F 11AA;
+B6BC;B6BC;1104 116F 11AB;B6BC;1104 116F 11AB;
+B6BD;B6BD;1104 116F 11AC;B6BD;1104 116F 11AC;
+B6BE;B6BE;1104 116F 11AD;B6BE;1104 116F 11AD;
+B6BF;B6BF;1104 116F 11AE;B6BF;1104 116F 11AE;
+B6C0;B6C0;1104 116F 11AF;B6C0;1104 116F 11AF;
+B6C1;B6C1;1104 116F 11B0;B6C1;1104 116F 11B0;
+B6C2;B6C2;1104 116F 11B1;B6C2;1104 116F 11B1;
+B6C3;B6C3;1104 116F 11B2;B6C3;1104 116F 11B2;
+B6C4;B6C4;1104 116F 11B3;B6C4;1104 116F 11B3;
+B6C5;B6C5;1104 116F 11B4;B6C5;1104 116F 11B4;
+B6C6;B6C6;1104 116F 11B5;B6C6;1104 116F 11B5;
+B6C7;B6C7;1104 116F 11B6;B6C7;1104 116F 11B6;
+B6C8;B6C8;1104 116F 11B7;B6C8;1104 116F 11B7;
+B6C9;B6C9;1104 116F 11B8;B6C9;1104 116F 11B8;
+B6CA;B6CA;1104 116F 11B9;B6CA;1104 116F 11B9;
+B6CB;B6CB;1104 116F 11BA;B6CB;1104 116F 11BA;
+B6CC;B6CC;1104 116F 11BB;B6CC;1104 116F 11BB;
+B6CD;B6CD;1104 116F 11BC;B6CD;1104 116F 11BC;
+B6CE;B6CE;1104 116F 11BD;B6CE;1104 116F 11BD;
+B6CF;B6CF;1104 116F 11BE;B6CF;1104 116F 11BE;
+B6D0;B6D0;1104 116F 11BF;B6D0;1104 116F 11BF;
+B6D1;B6D1;1104 116F 11C0;B6D1;1104 116F 11C0;
+B6D2;B6D2;1104 116F 11C1;B6D2;1104 116F 11C1;
+B6D3;B6D3;1104 116F 11C2;B6D3;1104 116F 11C2;
+B6D4;B6D4;1104 1170;B6D4;1104 1170;
+B6D5;B6D5;1104 1170 11A8;B6D5;1104 1170 11A8;
+B6D6;B6D6;1104 1170 11A9;B6D6;1104 1170 11A9;
+B6D7;B6D7;1104 1170 11AA;B6D7;1104 1170 11AA;
+B6D8;B6D8;1104 1170 11AB;B6D8;1104 1170 11AB;
+B6D9;B6D9;1104 1170 11AC;B6D9;1104 1170 11AC;
+B6DA;B6DA;1104 1170 11AD;B6DA;1104 1170 11AD;
+B6DB;B6DB;1104 1170 11AE;B6DB;1104 1170 11AE;
+B6DC;B6DC;1104 1170 11AF;B6DC;1104 1170 11AF;
+B6DD;B6DD;1104 1170 11B0;B6DD;1104 1170 11B0;
+B6DE;B6DE;1104 1170 11B1;B6DE;1104 1170 11B1;
+B6DF;B6DF;1104 1170 11B2;B6DF;1104 1170 11B2;
+B6E0;B6E0;1104 1170 11B3;B6E0;1104 1170 11B3;
+B6E1;B6E1;1104 1170 11B4;B6E1;1104 1170 11B4;
+B6E2;B6E2;1104 1170 11B5;B6E2;1104 1170 11B5;
+B6E3;B6E3;1104 1170 11B6;B6E3;1104 1170 11B6;
+B6E4;B6E4;1104 1170 11B7;B6E4;1104 1170 11B7;
+B6E5;B6E5;1104 1170 11B8;B6E5;1104 1170 11B8;
+B6E6;B6E6;1104 1170 11B9;B6E6;1104 1170 11B9;
+B6E7;B6E7;1104 1170 11BA;B6E7;1104 1170 11BA;
+B6E8;B6E8;1104 1170 11BB;B6E8;1104 1170 11BB;
+B6E9;B6E9;1104 1170 11BC;B6E9;1104 1170 11BC;
+B6EA;B6EA;1104 1170 11BD;B6EA;1104 1170 11BD;
+B6EB;B6EB;1104 1170 11BE;B6EB;1104 1170 11BE;
+B6EC;B6EC;1104 1170 11BF;B6EC;1104 1170 11BF;
+B6ED;B6ED;1104 1170 11C0;B6ED;1104 1170 11C0;
+B6EE;B6EE;1104 1170 11C1;B6EE;1104 1170 11C1;
+B6EF;B6EF;1104 1170 11C2;B6EF;1104 1170 11C2;
+B6F0;B6F0;1104 1171;B6F0;1104 1171;
+B6F1;B6F1;1104 1171 11A8;B6F1;1104 1171 11A8;
+B6F2;B6F2;1104 1171 11A9;B6F2;1104 1171 11A9;
+B6F3;B6F3;1104 1171 11AA;B6F3;1104 1171 11AA;
+B6F4;B6F4;1104 1171 11AB;B6F4;1104 1171 11AB;
+B6F5;B6F5;1104 1171 11AC;B6F5;1104 1171 11AC;
+B6F6;B6F6;1104 1171 11AD;B6F6;1104 1171 11AD;
+B6F7;B6F7;1104 1171 11AE;B6F7;1104 1171 11AE;
+B6F8;B6F8;1104 1171 11AF;B6F8;1104 1171 11AF;
+B6F9;B6F9;1104 1171 11B0;B6F9;1104 1171 11B0;
+B6FA;B6FA;1104 1171 11B1;B6FA;1104 1171 11B1;
+B6FB;B6FB;1104 1171 11B2;B6FB;1104 1171 11B2;
+B6FC;B6FC;1104 1171 11B3;B6FC;1104 1171 11B3;
+B6FD;B6FD;1104 1171 11B4;B6FD;1104 1171 11B4;
+B6FE;B6FE;1104 1171 11B5;B6FE;1104 1171 11B5;
+B6FF;B6FF;1104 1171 11B6;B6FF;1104 1171 11B6;
+B700;B700;1104 1171 11B7;B700;1104 1171 11B7;
+B701;B701;1104 1171 11B8;B701;1104 1171 11B8;
+B702;B702;1104 1171 11B9;B702;1104 1171 11B9;
+B703;B703;1104 1171 11BA;B703;1104 1171 11BA;
+B704;B704;1104 1171 11BB;B704;1104 1171 11BB;
+B705;B705;1104 1171 11BC;B705;1104 1171 11BC;
+B706;B706;1104 1171 11BD;B706;1104 1171 11BD;
+B707;B707;1104 1171 11BE;B707;1104 1171 11BE;
+B708;B708;1104 1171 11BF;B708;1104 1171 11BF;
+B709;B709;1104 1171 11C0;B709;1104 1171 11C0;
+B70A;B70A;1104 1171 11C1;B70A;1104 1171 11C1;
+B70B;B70B;1104 1171 11C2;B70B;1104 1171 11C2;
+B70C;B70C;1104 1172;B70C;1104 1172;
+B70D;B70D;1104 1172 11A8;B70D;1104 1172 11A8;
+B70E;B70E;1104 1172 11A9;B70E;1104 1172 11A9;
+B70F;B70F;1104 1172 11AA;B70F;1104 1172 11AA;
+B710;B710;1104 1172 11AB;B710;1104 1172 11AB;
+B711;B711;1104 1172 11AC;B711;1104 1172 11AC;
+B712;B712;1104 1172 11AD;B712;1104 1172 11AD;
+B713;B713;1104 1172 11AE;B713;1104 1172 11AE;
+B714;B714;1104 1172 11AF;B714;1104 1172 11AF;
+B715;B715;1104 1172 11B0;B715;1104 1172 11B0;
+B716;B716;1104 1172 11B1;B716;1104 1172 11B1;
+B717;B717;1104 1172 11B2;B717;1104 1172 11B2;
+B718;B718;1104 1172 11B3;B718;1104 1172 11B3;
+B719;B719;1104 1172 11B4;B719;1104 1172 11B4;
+B71A;B71A;1104 1172 11B5;B71A;1104 1172 11B5;
+B71B;B71B;1104 1172 11B6;B71B;1104 1172 11B6;
+B71C;B71C;1104 1172 11B7;B71C;1104 1172 11B7;
+B71D;B71D;1104 1172 11B8;B71D;1104 1172 11B8;
+B71E;B71E;1104 1172 11B9;B71E;1104 1172 11B9;
+B71F;B71F;1104 1172 11BA;B71F;1104 1172 11BA;
+B720;B720;1104 1172 11BB;B720;1104 1172 11BB;
+B721;B721;1104 1172 11BC;B721;1104 1172 11BC;
+B722;B722;1104 1172 11BD;B722;1104 1172 11BD;
+B723;B723;1104 1172 11BE;B723;1104 1172 11BE;
+B724;B724;1104 1172 11BF;B724;1104 1172 11BF;
+B725;B725;1104 1172 11C0;B725;1104 1172 11C0;
+B726;B726;1104 1172 11C1;B726;1104 1172 11C1;
+B727;B727;1104 1172 11C2;B727;1104 1172 11C2;
+B728;B728;1104 1173;B728;1104 1173;
+B729;B729;1104 1173 11A8;B729;1104 1173 11A8;
+B72A;B72A;1104 1173 11A9;B72A;1104 1173 11A9;
+B72B;B72B;1104 1173 11AA;B72B;1104 1173 11AA;
+B72C;B72C;1104 1173 11AB;B72C;1104 1173 11AB;
+B72D;B72D;1104 1173 11AC;B72D;1104 1173 11AC;
+B72E;B72E;1104 1173 11AD;B72E;1104 1173 11AD;
+B72F;B72F;1104 1173 11AE;B72F;1104 1173 11AE;
+B730;B730;1104 1173 11AF;B730;1104 1173 11AF;
+B731;B731;1104 1173 11B0;B731;1104 1173 11B0;
+B732;B732;1104 1173 11B1;B732;1104 1173 11B1;
+B733;B733;1104 1173 11B2;B733;1104 1173 11B2;
+B734;B734;1104 1173 11B3;B734;1104 1173 11B3;
+B735;B735;1104 1173 11B4;B735;1104 1173 11B4;
+B736;B736;1104 1173 11B5;B736;1104 1173 11B5;
+B737;B737;1104 1173 11B6;B737;1104 1173 11B6;
+B738;B738;1104 1173 11B7;B738;1104 1173 11B7;
+B739;B739;1104 1173 11B8;B739;1104 1173 11B8;
+B73A;B73A;1104 1173 11B9;B73A;1104 1173 11B9;
+B73B;B73B;1104 1173 11BA;B73B;1104 1173 11BA;
+B73C;B73C;1104 1173 11BB;B73C;1104 1173 11BB;
+B73D;B73D;1104 1173 11BC;B73D;1104 1173 11BC;
+B73E;B73E;1104 1173 11BD;B73E;1104 1173 11BD;
+B73F;B73F;1104 1173 11BE;B73F;1104 1173 11BE;
+B740;B740;1104 1173 11BF;B740;1104 1173 11BF;
+B741;B741;1104 1173 11C0;B741;1104 1173 11C0;
+B742;B742;1104 1173 11C1;B742;1104 1173 11C1;
+B743;B743;1104 1173 11C2;B743;1104 1173 11C2;
+B744;B744;1104 1174;B744;1104 1174;
+B745;B745;1104 1174 11A8;B745;1104 1174 11A8;
+B746;B746;1104 1174 11A9;B746;1104 1174 11A9;
+B747;B747;1104 1174 11AA;B747;1104 1174 11AA;
+B748;B748;1104 1174 11AB;B748;1104 1174 11AB;
+B749;B749;1104 1174 11AC;B749;1104 1174 11AC;
+B74A;B74A;1104 1174 11AD;B74A;1104 1174 11AD;
+B74B;B74B;1104 1174 11AE;B74B;1104 1174 11AE;
+B74C;B74C;1104 1174 11AF;B74C;1104 1174 11AF;
+B74D;B74D;1104 1174 11B0;B74D;1104 1174 11B0;
+B74E;B74E;1104 1174 11B1;B74E;1104 1174 11B1;
+B74F;B74F;1104 1174 11B2;B74F;1104 1174 11B2;
+B750;B750;1104 1174 11B3;B750;1104 1174 11B3;
+B751;B751;1104 1174 11B4;B751;1104 1174 11B4;
+B752;B752;1104 1174 11B5;B752;1104 1174 11B5;
+B753;B753;1104 1174 11B6;B753;1104 1174 11B6;
+B754;B754;1104 1174 11B7;B754;1104 1174 11B7;
+B755;B755;1104 1174 11B8;B755;1104 1174 11B8;
+B756;B756;1104 1174 11B9;B756;1104 1174 11B9;
+B757;B757;1104 1174 11BA;B757;1104 1174 11BA;
+B758;B758;1104 1174 11BB;B758;1104 1174 11BB;
+B759;B759;1104 1174 11BC;B759;1104 1174 11BC;
+B75A;B75A;1104 1174 11BD;B75A;1104 1174 11BD;
+B75B;B75B;1104 1174 11BE;B75B;1104 1174 11BE;
+B75C;B75C;1104 1174 11BF;B75C;1104 1174 11BF;
+B75D;B75D;1104 1174 11C0;B75D;1104 1174 11C0;
+B75E;B75E;1104 1174 11C1;B75E;1104 1174 11C1;
+B75F;B75F;1104 1174 11C2;B75F;1104 1174 11C2;
+B760;B760;1104 1175;B760;1104 1175;
+B761;B761;1104 1175 11A8;B761;1104 1175 11A8;
+B762;B762;1104 1175 11A9;B762;1104 1175 11A9;
+B763;B763;1104 1175 11AA;B763;1104 1175 11AA;
+B764;B764;1104 1175 11AB;B764;1104 1175 11AB;
+B765;B765;1104 1175 11AC;B765;1104 1175 11AC;
+B766;B766;1104 1175 11AD;B766;1104 1175 11AD;
+B767;B767;1104 1175 11AE;B767;1104 1175 11AE;
+B768;B768;1104 1175 11AF;B768;1104 1175 11AF;
+B769;B769;1104 1175 11B0;B769;1104 1175 11B0;
+B76A;B76A;1104 1175 11B1;B76A;1104 1175 11B1;
+B76B;B76B;1104 1175 11B2;B76B;1104 1175 11B2;
+B76C;B76C;1104 1175 11B3;B76C;1104 1175 11B3;
+B76D;B76D;1104 1175 11B4;B76D;1104 1175 11B4;
+B76E;B76E;1104 1175 11B5;B76E;1104 1175 11B5;
+B76F;B76F;1104 1175 11B6;B76F;1104 1175 11B6;
+B770;B770;1104 1175 11B7;B770;1104 1175 11B7;
+B771;B771;1104 1175 11B8;B771;1104 1175 11B8;
+B772;B772;1104 1175 11B9;B772;1104 1175 11B9;
+B773;B773;1104 1175 11BA;B773;1104 1175 11BA;
+B774;B774;1104 1175 11BB;B774;1104 1175 11BB;
+B775;B775;1104 1175 11BC;B775;1104 1175 11BC;
+B776;B776;1104 1175 11BD;B776;1104 1175 11BD;
+B777;B777;1104 1175 11BE;B777;1104 1175 11BE;
+B778;B778;1104 1175 11BF;B778;1104 1175 11BF;
+B779;B779;1104 1175 11C0;B779;1104 1175 11C0;
+B77A;B77A;1104 1175 11C1;B77A;1104 1175 11C1;
+B77B;B77B;1104 1175 11C2;B77B;1104 1175 11C2;
+B77C;B77C;1105 1161;B77C;1105 1161;
+B77D;B77D;1105 1161 11A8;B77D;1105 1161 11A8;
+B77E;B77E;1105 1161 11A9;B77E;1105 1161 11A9;
+B77F;B77F;1105 1161 11AA;B77F;1105 1161 11AA;
+B780;B780;1105 1161 11AB;B780;1105 1161 11AB;
+B781;B781;1105 1161 11AC;B781;1105 1161 11AC;
+B782;B782;1105 1161 11AD;B782;1105 1161 11AD;
+B783;B783;1105 1161 11AE;B783;1105 1161 11AE;
+B784;B784;1105 1161 11AF;B784;1105 1161 11AF;
+B785;B785;1105 1161 11B0;B785;1105 1161 11B0;
+B786;B786;1105 1161 11B1;B786;1105 1161 11B1;
+B787;B787;1105 1161 11B2;B787;1105 1161 11B2;
+B788;B788;1105 1161 11B3;B788;1105 1161 11B3;
+B789;B789;1105 1161 11B4;B789;1105 1161 11B4;
+B78A;B78A;1105 1161 11B5;B78A;1105 1161 11B5;
+B78B;B78B;1105 1161 11B6;B78B;1105 1161 11B6;
+B78C;B78C;1105 1161 11B7;B78C;1105 1161 11B7;
+B78D;B78D;1105 1161 11B8;B78D;1105 1161 11B8;
+B78E;B78E;1105 1161 11B9;B78E;1105 1161 11B9;
+B78F;B78F;1105 1161 11BA;B78F;1105 1161 11BA;
+B790;B790;1105 1161 11BB;B790;1105 1161 11BB;
+B791;B791;1105 1161 11BC;B791;1105 1161 11BC;
+B792;B792;1105 1161 11BD;B792;1105 1161 11BD;
+B793;B793;1105 1161 11BE;B793;1105 1161 11BE;
+B794;B794;1105 1161 11BF;B794;1105 1161 11BF;
+B795;B795;1105 1161 11C0;B795;1105 1161 11C0;
+B796;B796;1105 1161 11C1;B796;1105 1161 11C1;
+B797;B797;1105 1161 11C2;B797;1105 1161 11C2;
+B798;B798;1105 1162;B798;1105 1162;
+B799;B799;1105 1162 11A8;B799;1105 1162 11A8;
+B79A;B79A;1105 1162 11A9;B79A;1105 1162 11A9;
+B79B;B79B;1105 1162 11AA;B79B;1105 1162 11AA;
+B79C;B79C;1105 1162 11AB;B79C;1105 1162 11AB;
+B79D;B79D;1105 1162 11AC;B79D;1105 1162 11AC;
+B79E;B79E;1105 1162 11AD;B79E;1105 1162 11AD;
+B79F;B79F;1105 1162 11AE;B79F;1105 1162 11AE;
+B7A0;B7A0;1105 1162 11AF;B7A0;1105 1162 11AF;
+B7A1;B7A1;1105 1162 11B0;B7A1;1105 1162 11B0;
+B7A2;B7A2;1105 1162 11B1;B7A2;1105 1162 11B1;
+B7A3;B7A3;1105 1162 11B2;B7A3;1105 1162 11B2;
+B7A4;B7A4;1105 1162 11B3;B7A4;1105 1162 11B3;
+B7A5;B7A5;1105 1162 11B4;B7A5;1105 1162 11B4;
+B7A6;B7A6;1105 1162 11B5;B7A6;1105 1162 11B5;
+B7A7;B7A7;1105 1162 11B6;B7A7;1105 1162 11B6;
+B7A8;B7A8;1105 1162 11B7;B7A8;1105 1162 11B7;
+B7A9;B7A9;1105 1162 11B8;B7A9;1105 1162 11B8;
+B7AA;B7AA;1105 1162 11B9;B7AA;1105 1162 11B9;
+B7AB;B7AB;1105 1162 11BA;B7AB;1105 1162 11BA;
+B7AC;B7AC;1105 1162 11BB;B7AC;1105 1162 11BB;
+B7AD;B7AD;1105 1162 11BC;B7AD;1105 1162 11BC;
+B7AE;B7AE;1105 1162 11BD;B7AE;1105 1162 11BD;
+B7AF;B7AF;1105 1162 11BE;B7AF;1105 1162 11BE;
+B7B0;B7B0;1105 1162 11BF;B7B0;1105 1162 11BF;
+B7B1;B7B1;1105 1162 11C0;B7B1;1105 1162 11C0;
+B7B2;B7B2;1105 1162 11C1;B7B2;1105 1162 11C1;
+B7B3;B7B3;1105 1162 11C2;B7B3;1105 1162 11C2;
+B7B4;B7B4;1105 1163;B7B4;1105 1163;
+B7B5;B7B5;1105 1163 11A8;B7B5;1105 1163 11A8;
+B7B6;B7B6;1105 1163 11A9;B7B6;1105 1163 11A9;
+B7B7;B7B7;1105 1163 11AA;B7B7;1105 1163 11AA;
+B7B8;B7B8;1105 1163 11AB;B7B8;1105 1163 11AB;
+B7B9;B7B9;1105 1163 11AC;B7B9;1105 1163 11AC;
+B7BA;B7BA;1105 1163 11AD;B7BA;1105 1163 11AD;
+B7BB;B7BB;1105 1163 11AE;B7BB;1105 1163 11AE;
+B7BC;B7BC;1105 1163 11AF;B7BC;1105 1163 11AF;
+B7BD;B7BD;1105 1163 11B0;B7BD;1105 1163 11B0;
+B7BE;B7BE;1105 1163 11B1;B7BE;1105 1163 11B1;
+B7BF;B7BF;1105 1163 11B2;B7BF;1105 1163 11B2;
+B7C0;B7C0;1105 1163 11B3;B7C0;1105 1163 11B3;
+B7C1;B7C1;1105 1163 11B4;B7C1;1105 1163 11B4;
+B7C2;B7C2;1105 1163 11B5;B7C2;1105 1163 11B5;
+B7C3;B7C3;1105 1163 11B6;B7C3;1105 1163 11B6;
+B7C4;B7C4;1105 1163 11B7;B7C4;1105 1163 11B7;
+B7C5;B7C5;1105 1163 11B8;B7C5;1105 1163 11B8;
+B7C6;B7C6;1105 1163 11B9;B7C6;1105 1163 11B9;
+B7C7;B7C7;1105 1163 11BA;B7C7;1105 1163 11BA;
+B7C8;B7C8;1105 1163 11BB;B7C8;1105 1163 11BB;
+B7C9;B7C9;1105 1163 11BC;B7C9;1105 1163 11BC;
+B7CA;B7CA;1105 1163 11BD;B7CA;1105 1163 11BD;
+B7CB;B7CB;1105 1163 11BE;B7CB;1105 1163 11BE;
+B7CC;B7CC;1105 1163 11BF;B7CC;1105 1163 11BF;
+B7CD;B7CD;1105 1163 11C0;B7CD;1105 1163 11C0;
+B7CE;B7CE;1105 1163 11C1;B7CE;1105 1163 11C1;
+B7CF;B7CF;1105 1163 11C2;B7CF;1105 1163 11C2;
+B7D0;B7D0;1105 1164;B7D0;1105 1164;
+B7D1;B7D1;1105 1164 11A8;B7D1;1105 1164 11A8;
+B7D2;B7D2;1105 1164 11A9;B7D2;1105 1164 11A9;
+B7D3;B7D3;1105 1164 11AA;B7D3;1105 1164 11AA;
+B7D4;B7D4;1105 1164 11AB;B7D4;1105 1164 11AB;
+B7D5;B7D5;1105 1164 11AC;B7D5;1105 1164 11AC;
+B7D6;B7D6;1105 1164 11AD;B7D6;1105 1164 11AD;
+B7D7;B7D7;1105 1164 11AE;B7D7;1105 1164 11AE;
+B7D8;B7D8;1105 1164 11AF;B7D8;1105 1164 11AF;
+B7D9;B7D9;1105 1164 11B0;B7D9;1105 1164 11B0;
+B7DA;B7DA;1105 1164 11B1;B7DA;1105 1164 11B1;
+B7DB;B7DB;1105 1164 11B2;B7DB;1105 1164 11B2;
+B7DC;B7DC;1105 1164 11B3;B7DC;1105 1164 11B3;
+B7DD;B7DD;1105 1164 11B4;B7DD;1105 1164 11B4;
+B7DE;B7DE;1105 1164 11B5;B7DE;1105 1164 11B5;
+B7DF;B7DF;1105 1164 11B6;B7DF;1105 1164 11B6;
+B7E0;B7E0;1105 1164 11B7;B7E0;1105 1164 11B7;
+B7E1;B7E1;1105 1164 11B8;B7E1;1105 1164 11B8;
+B7E2;B7E2;1105 1164 11B9;B7E2;1105 1164 11B9;
+B7E3;B7E3;1105 1164 11BA;B7E3;1105 1164 11BA;
+B7E4;B7E4;1105 1164 11BB;B7E4;1105 1164 11BB;
+B7E5;B7E5;1105 1164 11BC;B7E5;1105 1164 11BC;
+B7E6;B7E6;1105 1164 11BD;B7E6;1105 1164 11BD;
+B7E7;B7E7;1105 1164 11BE;B7E7;1105 1164 11BE;
+B7E8;B7E8;1105 1164 11BF;B7E8;1105 1164 11BF;
+B7E9;B7E9;1105 1164 11C0;B7E9;1105 1164 11C0;
+B7EA;B7EA;1105 1164 11C1;B7EA;1105 1164 11C1;
+B7EB;B7EB;1105 1164 11C2;B7EB;1105 1164 11C2;
+B7EC;B7EC;1105 1165;B7EC;1105 1165;
+B7ED;B7ED;1105 1165 11A8;B7ED;1105 1165 11A8;
+B7EE;B7EE;1105 1165 11A9;B7EE;1105 1165 11A9;
+B7EF;B7EF;1105 1165 11AA;B7EF;1105 1165 11AA;
+B7F0;B7F0;1105 1165 11AB;B7F0;1105 1165 11AB;
+B7F1;B7F1;1105 1165 11AC;B7F1;1105 1165 11AC;
+B7F2;B7F2;1105 1165 11AD;B7F2;1105 1165 11AD;
+B7F3;B7F3;1105 1165 11AE;B7F3;1105 1165 11AE;
+B7F4;B7F4;1105 1165 11AF;B7F4;1105 1165 11AF;
+B7F5;B7F5;1105 1165 11B0;B7F5;1105 1165 11B0;
+B7F6;B7F6;1105 1165 11B1;B7F6;1105 1165 11B1;
+B7F7;B7F7;1105 1165 11B2;B7F7;1105 1165 11B2;
+B7F8;B7F8;1105 1165 11B3;B7F8;1105 1165 11B3;
+B7F9;B7F9;1105 1165 11B4;B7F9;1105 1165 11B4;
+B7FA;B7FA;1105 1165 11B5;B7FA;1105 1165 11B5;
+B7FB;B7FB;1105 1165 11B6;B7FB;1105 1165 11B6;
+B7FC;B7FC;1105 1165 11B7;B7FC;1105 1165 11B7;
+B7FD;B7FD;1105 1165 11B8;B7FD;1105 1165 11B8;
+B7FE;B7FE;1105 1165 11B9;B7FE;1105 1165 11B9;
+B7FF;B7FF;1105 1165 11BA;B7FF;1105 1165 11BA;
+B800;B800;1105 1165 11BB;B800;1105 1165 11BB;
+B801;B801;1105 1165 11BC;B801;1105 1165 11BC;
+B802;B802;1105 1165 11BD;B802;1105 1165 11BD;
+B803;B803;1105 1165 11BE;B803;1105 1165 11BE;
+B804;B804;1105 1165 11BF;B804;1105 1165 11BF;
+B805;B805;1105 1165 11C0;B805;1105 1165 11C0;
+B806;B806;1105 1165 11C1;B806;1105 1165 11C1;
+B807;B807;1105 1165 11C2;B807;1105 1165 11C2;
+B808;B808;1105 1166;B808;1105 1166;
+B809;B809;1105 1166 11A8;B809;1105 1166 11A8;
+B80A;B80A;1105 1166 11A9;B80A;1105 1166 11A9;
+B80B;B80B;1105 1166 11AA;B80B;1105 1166 11AA;
+B80C;B80C;1105 1166 11AB;B80C;1105 1166 11AB;
+B80D;B80D;1105 1166 11AC;B80D;1105 1166 11AC;
+B80E;B80E;1105 1166 11AD;B80E;1105 1166 11AD;
+B80F;B80F;1105 1166 11AE;B80F;1105 1166 11AE;
+B810;B810;1105 1166 11AF;B810;1105 1166 11AF;
+B811;B811;1105 1166 11B0;B811;1105 1166 11B0;
+B812;B812;1105 1166 11B1;B812;1105 1166 11B1;
+B813;B813;1105 1166 11B2;B813;1105 1166 11B2;
+B814;B814;1105 1166 11B3;B814;1105 1166 11B3;
+B815;B815;1105 1166 11B4;B815;1105 1166 11B4;
+B816;B816;1105 1166 11B5;B816;1105 1166 11B5;
+B817;B817;1105 1166 11B6;B817;1105 1166 11B6;
+B818;B818;1105 1166 11B7;B818;1105 1166 11B7;
+B819;B819;1105 1166 11B8;B819;1105 1166 11B8;
+B81A;B81A;1105 1166 11B9;B81A;1105 1166 11B9;
+B81B;B81B;1105 1166 11BA;B81B;1105 1166 11BA;
+B81C;B81C;1105 1166 11BB;B81C;1105 1166 11BB;
+B81D;B81D;1105 1166 11BC;B81D;1105 1166 11BC;
+B81E;B81E;1105 1166 11BD;B81E;1105 1166 11BD;
+B81F;B81F;1105 1166 11BE;B81F;1105 1166 11BE;
+B820;B820;1105 1166 11BF;B820;1105 1166 11BF;
+B821;B821;1105 1166 11C0;B821;1105 1166 11C0;
+B822;B822;1105 1166 11C1;B822;1105 1166 11C1;
+B823;B823;1105 1166 11C2;B823;1105 1166 11C2;
+B824;B824;1105 1167;B824;1105 1167;
+B825;B825;1105 1167 11A8;B825;1105 1167 11A8;
+B826;B826;1105 1167 11A9;B826;1105 1167 11A9;
+B827;B827;1105 1167 11AA;B827;1105 1167 11AA;
+B828;B828;1105 1167 11AB;B828;1105 1167 11AB;
+B829;B829;1105 1167 11AC;B829;1105 1167 11AC;
+B82A;B82A;1105 1167 11AD;B82A;1105 1167 11AD;
+B82B;B82B;1105 1167 11AE;B82B;1105 1167 11AE;
+B82C;B82C;1105 1167 11AF;B82C;1105 1167 11AF;
+B82D;B82D;1105 1167 11B0;B82D;1105 1167 11B0;
+B82E;B82E;1105 1167 11B1;B82E;1105 1167 11B1;
+B82F;B82F;1105 1167 11B2;B82F;1105 1167 11B2;
+B830;B830;1105 1167 11B3;B830;1105 1167 11B3;
+B831;B831;1105 1167 11B4;B831;1105 1167 11B4;
+B832;B832;1105 1167 11B5;B832;1105 1167 11B5;
+B833;B833;1105 1167 11B6;B833;1105 1167 11B6;
+B834;B834;1105 1167 11B7;B834;1105 1167 11B7;
+B835;B835;1105 1167 11B8;B835;1105 1167 11B8;
+B836;B836;1105 1167 11B9;B836;1105 1167 11B9;
+B837;B837;1105 1167 11BA;B837;1105 1167 11BA;
+B838;B838;1105 1167 11BB;B838;1105 1167 11BB;
+B839;B839;1105 1167 11BC;B839;1105 1167 11BC;
+B83A;B83A;1105 1167 11BD;B83A;1105 1167 11BD;
+B83B;B83B;1105 1167 11BE;B83B;1105 1167 11BE;
+B83C;B83C;1105 1167 11BF;B83C;1105 1167 11BF;
+B83D;B83D;1105 1167 11C0;B83D;1105 1167 11C0;
+B83E;B83E;1105 1167 11C1;B83E;1105 1167 11C1;
+B83F;B83F;1105 1167 11C2;B83F;1105 1167 11C2;
+B840;B840;1105 1168;B840;1105 1168;
+B841;B841;1105 1168 11A8;B841;1105 1168 11A8;
+B842;B842;1105 1168 11A9;B842;1105 1168 11A9;
+B843;B843;1105 1168 11AA;B843;1105 1168 11AA;
+B844;B844;1105 1168 11AB;B844;1105 1168 11AB;
+B845;B845;1105 1168 11AC;B845;1105 1168 11AC;
+B846;B846;1105 1168 11AD;B846;1105 1168 11AD;
+B847;B847;1105 1168 11AE;B847;1105 1168 11AE;
+B848;B848;1105 1168 11AF;B848;1105 1168 11AF;
+B849;B849;1105 1168 11B0;B849;1105 1168 11B0;
+B84A;B84A;1105 1168 11B1;B84A;1105 1168 11B1;
+B84B;B84B;1105 1168 11B2;B84B;1105 1168 11B2;
+B84C;B84C;1105 1168 11B3;B84C;1105 1168 11B3;
+B84D;B84D;1105 1168 11B4;B84D;1105 1168 11B4;
+B84E;B84E;1105 1168 11B5;B84E;1105 1168 11B5;
+B84F;B84F;1105 1168 11B6;B84F;1105 1168 11B6;
+B850;B850;1105 1168 11B7;B850;1105 1168 11B7;
+B851;B851;1105 1168 11B8;B851;1105 1168 11B8;
+B852;B852;1105 1168 11B9;B852;1105 1168 11B9;
+B853;B853;1105 1168 11BA;B853;1105 1168 11BA;
+B854;B854;1105 1168 11BB;B854;1105 1168 11BB;
+B855;B855;1105 1168 11BC;B855;1105 1168 11BC;
+B856;B856;1105 1168 11BD;B856;1105 1168 11BD;
+B857;B857;1105 1168 11BE;B857;1105 1168 11BE;
+B858;B858;1105 1168 11BF;B858;1105 1168 11BF;
+B859;B859;1105 1168 11C0;B859;1105 1168 11C0;
+B85A;B85A;1105 1168 11C1;B85A;1105 1168 11C1;
+B85B;B85B;1105 1168 11C2;B85B;1105 1168 11C2;
+B85C;B85C;1105 1169;B85C;1105 1169;
+B85D;B85D;1105 1169 11A8;B85D;1105 1169 11A8;
+B85E;B85E;1105 1169 11A9;B85E;1105 1169 11A9;
+B85F;B85F;1105 1169 11AA;B85F;1105 1169 11AA;
+B860;B860;1105 1169 11AB;B860;1105 1169 11AB;
+B861;B861;1105 1169 11AC;B861;1105 1169 11AC;
+B862;B862;1105 1169 11AD;B862;1105 1169 11AD;
+B863;B863;1105 1169 11AE;B863;1105 1169 11AE;
+B864;B864;1105 1169 11AF;B864;1105 1169 11AF;
+B865;B865;1105 1169 11B0;B865;1105 1169 11B0;
+B866;B866;1105 1169 11B1;B866;1105 1169 11B1;
+B867;B867;1105 1169 11B2;B867;1105 1169 11B2;
+B868;B868;1105 1169 11B3;B868;1105 1169 11B3;
+B869;B869;1105 1169 11B4;B869;1105 1169 11B4;
+B86A;B86A;1105 1169 11B5;B86A;1105 1169 11B5;
+B86B;B86B;1105 1169 11B6;B86B;1105 1169 11B6;
+B86C;B86C;1105 1169 11B7;B86C;1105 1169 11B7;
+B86D;B86D;1105 1169 11B8;B86D;1105 1169 11B8;
+B86E;B86E;1105 1169 11B9;B86E;1105 1169 11B9;
+B86F;B86F;1105 1169 11BA;B86F;1105 1169 11BA;
+B870;B870;1105 1169 11BB;B870;1105 1169 11BB;
+B871;B871;1105 1169 11BC;B871;1105 1169 11BC;
+B872;B872;1105 1169 11BD;B872;1105 1169 11BD;
+B873;B873;1105 1169 11BE;B873;1105 1169 11BE;
+B874;B874;1105 1169 11BF;B874;1105 1169 11BF;
+B875;B875;1105 1169 11C0;B875;1105 1169 11C0;
+B876;B876;1105 1169 11C1;B876;1105 1169 11C1;
+B877;B877;1105 1169 11C2;B877;1105 1169 11C2;
+B878;B878;1105 116A;B878;1105 116A;
+B879;B879;1105 116A 11A8;B879;1105 116A 11A8;
+B87A;B87A;1105 116A 11A9;B87A;1105 116A 11A9;
+B87B;B87B;1105 116A 11AA;B87B;1105 116A 11AA;
+B87C;B87C;1105 116A 11AB;B87C;1105 116A 11AB;
+B87D;B87D;1105 116A 11AC;B87D;1105 116A 11AC;
+B87E;B87E;1105 116A 11AD;B87E;1105 116A 11AD;
+B87F;B87F;1105 116A 11AE;B87F;1105 116A 11AE;
+B880;B880;1105 116A 11AF;B880;1105 116A 11AF;
+B881;B881;1105 116A 11B0;B881;1105 116A 11B0;
+B882;B882;1105 116A 11B1;B882;1105 116A 11B1;
+B883;B883;1105 116A 11B2;B883;1105 116A 11B2;
+B884;B884;1105 116A 11B3;B884;1105 116A 11B3;
+B885;B885;1105 116A 11B4;B885;1105 116A 11B4;
+B886;B886;1105 116A 11B5;B886;1105 116A 11B5;
+B887;B887;1105 116A 11B6;B887;1105 116A 11B6;
+B888;B888;1105 116A 11B7;B888;1105 116A 11B7;
+B889;B889;1105 116A 11B8;B889;1105 116A 11B8;
+B88A;B88A;1105 116A 11B9;B88A;1105 116A 11B9;
+B88B;B88B;1105 116A 11BA;B88B;1105 116A 11BA;
+B88C;B88C;1105 116A 11BB;B88C;1105 116A 11BB;
+B88D;B88D;1105 116A 11BC;B88D;1105 116A 11BC;
+B88E;B88E;1105 116A 11BD;B88E;1105 116A 11BD;
+B88F;B88F;1105 116A 11BE;B88F;1105 116A 11BE;
+B890;B890;1105 116A 11BF;B890;1105 116A 11BF;
+B891;B891;1105 116A 11C0;B891;1105 116A 11C0;
+B892;B892;1105 116A 11C1;B892;1105 116A 11C1;
+B893;B893;1105 116A 11C2;B893;1105 116A 11C2;
+B894;B894;1105 116B;B894;1105 116B;
+B895;B895;1105 116B 11A8;B895;1105 116B 11A8;
+B896;B896;1105 116B 11A9;B896;1105 116B 11A9;
+B897;B897;1105 116B 11AA;B897;1105 116B 11AA;
+B898;B898;1105 116B 11AB;B898;1105 116B 11AB;
+B899;B899;1105 116B 11AC;B899;1105 116B 11AC;
+B89A;B89A;1105 116B 11AD;B89A;1105 116B 11AD;
+B89B;B89B;1105 116B 11AE;B89B;1105 116B 11AE;
+B89C;B89C;1105 116B 11AF;B89C;1105 116B 11AF;
+B89D;B89D;1105 116B 11B0;B89D;1105 116B 11B0;
+B89E;B89E;1105 116B 11B1;B89E;1105 116B 11B1;
+B89F;B89F;1105 116B 11B2;B89F;1105 116B 11B2;
+B8A0;B8A0;1105 116B 11B3;B8A0;1105 116B 11B3;
+B8A1;B8A1;1105 116B 11B4;B8A1;1105 116B 11B4;
+B8A2;B8A2;1105 116B 11B5;B8A2;1105 116B 11B5;
+B8A3;B8A3;1105 116B 11B6;B8A3;1105 116B 11B6;
+B8A4;B8A4;1105 116B 11B7;B8A4;1105 116B 11B7;
+B8A5;B8A5;1105 116B 11B8;B8A5;1105 116B 11B8;
+B8A6;B8A6;1105 116B 11B9;B8A6;1105 116B 11B9;
+B8A7;B8A7;1105 116B 11BA;B8A7;1105 116B 11BA;
+B8A8;B8A8;1105 116B 11BB;B8A8;1105 116B 11BB;
+B8A9;B8A9;1105 116B 11BC;B8A9;1105 116B 11BC;
+B8AA;B8AA;1105 116B 11BD;B8AA;1105 116B 11BD;
+B8AB;B8AB;1105 116B 11BE;B8AB;1105 116B 11BE;
+B8AC;B8AC;1105 116B 11BF;B8AC;1105 116B 11BF;
+B8AD;B8AD;1105 116B 11C0;B8AD;1105 116B 11C0;
+B8AE;B8AE;1105 116B 11C1;B8AE;1105 116B 11C1;
+B8AF;B8AF;1105 116B 11C2;B8AF;1105 116B 11C2;
+B8B0;B8B0;1105 116C;B8B0;1105 116C;
+B8B1;B8B1;1105 116C 11A8;B8B1;1105 116C 11A8;
+B8B2;B8B2;1105 116C 11A9;B8B2;1105 116C 11A9;
+B8B3;B8B3;1105 116C 11AA;B8B3;1105 116C 11AA;
+B8B4;B8B4;1105 116C 11AB;B8B4;1105 116C 11AB;
+B8B5;B8B5;1105 116C 11AC;B8B5;1105 116C 11AC;
+B8B6;B8B6;1105 116C 11AD;B8B6;1105 116C 11AD;
+B8B7;B8B7;1105 116C 11AE;B8B7;1105 116C 11AE;
+B8B8;B8B8;1105 116C 11AF;B8B8;1105 116C 11AF;
+B8B9;B8B9;1105 116C 11B0;B8B9;1105 116C 11B0;
+B8BA;B8BA;1105 116C 11B1;B8BA;1105 116C 11B1;
+B8BB;B8BB;1105 116C 11B2;B8BB;1105 116C 11B2;
+B8BC;B8BC;1105 116C 11B3;B8BC;1105 116C 11B3;
+B8BD;B8BD;1105 116C 11B4;B8BD;1105 116C 11B4;
+B8BE;B8BE;1105 116C 11B5;B8BE;1105 116C 11B5;
+B8BF;B8BF;1105 116C 11B6;B8BF;1105 116C 11B6;
+B8C0;B8C0;1105 116C 11B7;B8C0;1105 116C 11B7;
+B8C1;B8C1;1105 116C 11B8;B8C1;1105 116C 11B8;
+B8C2;B8C2;1105 116C 11B9;B8C2;1105 116C 11B9;
+B8C3;B8C3;1105 116C 11BA;B8C3;1105 116C 11BA;
+B8C4;B8C4;1105 116C 11BB;B8C4;1105 116C 11BB;
+B8C5;B8C5;1105 116C 11BC;B8C5;1105 116C 11BC;
+B8C6;B8C6;1105 116C 11BD;B8C6;1105 116C 11BD;
+B8C7;B8C7;1105 116C 11BE;B8C7;1105 116C 11BE;
+B8C8;B8C8;1105 116C 11BF;B8C8;1105 116C 11BF;
+B8C9;B8C9;1105 116C 11C0;B8C9;1105 116C 11C0;
+B8CA;B8CA;1105 116C 11C1;B8CA;1105 116C 11C1;
+B8CB;B8CB;1105 116C 11C2;B8CB;1105 116C 11C2;
+B8CC;B8CC;1105 116D;B8CC;1105 116D;
+B8CD;B8CD;1105 116D 11A8;B8CD;1105 116D 11A8;
+B8CE;B8CE;1105 116D 11A9;B8CE;1105 116D 11A9;
+B8CF;B8CF;1105 116D 11AA;B8CF;1105 116D 11AA;
+B8D0;B8D0;1105 116D 11AB;B8D0;1105 116D 11AB;
+B8D1;B8D1;1105 116D 11AC;B8D1;1105 116D 11AC;
+B8D2;B8D2;1105 116D 11AD;B8D2;1105 116D 11AD;
+B8D3;B8D3;1105 116D 11AE;B8D3;1105 116D 11AE;
+B8D4;B8D4;1105 116D 11AF;B8D4;1105 116D 11AF;
+B8D5;B8D5;1105 116D 11B0;B8D5;1105 116D 11B0;
+B8D6;B8D6;1105 116D 11B1;B8D6;1105 116D 11B1;
+B8D7;B8D7;1105 116D 11B2;B8D7;1105 116D 11B2;
+B8D8;B8D8;1105 116D 11B3;B8D8;1105 116D 11B3;
+B8D9;B8D9;1105 116D 11B4;B8D9;1105 116D 11B4;
+B8DA;B8DA;1105 116D 11B5;B8DA;1105 116D 11B5;
+B8DB;B8DB;1105 116D 11B6;B8DB;1105 116D 11B6;
+B8DC;B8DC;1105 116D 11B7;B8DC;1105 116D 11B7;
+B8DD;B8DD;1105 116D 11B8;B8DD;1105 116D 11B8;
+B8DE;B8DE;1105 116D 11B9;B8DE;1105 116D 11B9;
+B8DF;B8DF;1105 116D 11BA;B8DF;1105 116D 11BA;
+B8E0;B8E0;1105 116D 11BB;B8E0;1105 116D 11BB;
+B8E1;B8E1;1105 116D 11BC;B8E1;1105 116D 11BC;
+B8E2;B8E2;1105 116D 11BD;B8E2;1105 116D 11BD;
+B8E3;B8E3;1105 116D 11BE;B8E3;1105 116D 11BE;
+B8E4;B8E4;1105 116D 11BF;B8E4;1105 116D 11BF;
+B8E5;B8E5;1105 116D 11C0;B8E5;1105 116D 11C0;
+B8E6;B8E6;1105 116D 11C1;B8E6;1105 116D 11C1;
+B8E7;B8E7;1105 116D 11C2;B8E7;1105 116D 11C2;
+B8E8;B8E8;1105 116E;B8E8;1105 116E;
+B8E9;B8E9;1105 116E 11A8;B8E9;1105 116E 11A8;
+B8EA;B8EA;1105 116E 11A9;B8EA;1105 116E 11A9;
+B8EB;B8EB;1105 116E 11AA;B8EB;1105 116E 11AA;
+B8EC;B8EC;1105 116E 11AB;B8EC;1105 116E 11AB;
+B8ED;B8ED;1105 116E 11AC;B8ED;1105 116E 11AC;
+B8EE;B8EE;1105 116E 11AD;B8EE;1105 116E 11AD;
+B8EF;B8EF;1105 116E 11AE;B8EF;1105 116E 11AE;
+B8F0;B8F0;1105 116E 11AF;B8F0;1105 116E 11AF;
+B8F1;B8F1;1105 116E 11B0;B8F1;1105 116E 11B0;
+B8F2;B8F2;1105 116E 11B1;B8F2;1105 116E 11B1;
+B8F3;B8F3;1105 116E 11B2;B8F3;1105 116E 11B2;
+B8F4;B8F4;1105 116E 11B3;B8F4;1105 116E 11B3;
+B8F5;B8F5;1105 116E 11B4;B8F5;1105 116E 11B4;
+B8F6;B8F6;1105 116E 11B5;B8F6;1105 116E 11B5;
+B8F7;B8F7;1105 116E 11B6;B8F7;1105 116E 11B6;
+B8F8;B8F8;1105 116E 11B7;B8F8;1105 116E 11B7;
+B8F9;B8F9;1105 116E 11B8;B8F9;1105 116E 11B8;
+B8FA;B8FA;1105 116E 11B9;B8FA;1105 116E 11B9;
+B8FB;B8FB;1105 116E 11BA;B8FB;1105 116E 11BA;
+B8FC;B8FC;1105 116E 11BB;B8FC;1105 116E 11BB;
+B8FD;B8FD;1105 116E 11BC;B8FD;1105 116E 11BC;
+B8FE;B8FE;1105 116E 11BD;B8FE;1105 116E 11BD;
+B8FF;B8FF;1105 116E 11BE;B8FF;1105 116E 11BE;
+B900;B900;1105 116E 11BF;B900;1105 116E 11BF;
+B901;B901;1105 116E 11C0;B901;1105 116E 11C0;
+B902;B902;1105 116E 11C1;B902;1105 116E 11C1;
+B903;B903;1105 116E 11C2;B903;1105 116E 11C2;
+B904;B904;1105 116F;B904;1105 116F;
+B905;B905;1105 116F 11A8;B905;1105 116F 11A8;
+B906;B906;1105 116F 11A9;B906;1105 116F 11A9;
+B907;B907;1105 116F 11AA;B907;1105 116F 11AA;
+B908;B908;1105 116F 11AB;B908;1105 116F 11AB;
+B909;B909;1105 116F 11AC;B909;1105 116F 11AC;
+B90A;B90A;1105 116F 11AD;B90A;1105 116F 11AD;
+B90B;B90B;1105 116F 11AE;B90B;1105 116F 11AE;
+B90C;B90C;1105 116F 11AF;B90C;1105 116F 11AF;
+B90D;B90D;1105 116F 11B0;B90D;1105 116F 11B0;
+B90E;B90E;1105 116F 11B1;B90E;1105 116F 11B1;
+B90F;B90F;1105 116F 11B2;B90F;1105 116F 11B2;
+B910;B910;1105 116F 11B3;B910;1105 116F 11B3;
+B911;B911;1105 116F 11B4;B911;1105 116F 11B4;
+B912;B912;1105 116F 11B5;B912;1105 116F 11B5;
+B913;B913;1105 116F 11B6;B913;1105 116F 11B6;
+B914;B914;1105 116F 11B7;B914;1105 116F 11B7;
+B915;B915;1105 116F 11B8;B915;1105 116F 11B8;
+B916;B916;1105 116F 11B9;B916;1105 116F 11B9;
+B917;B917;1105 116F 11BA;B917;1105 116F 11BA;
+B918;B918;1105 116F 11BB;B918;1105 116F 11BB;
+B919;B919;1105 116F 11BC;B919;1105 116F 11BC;
+B91A;B91A;1105 116F 11BD;B91A;1105 116F 11BD;
+B91B;B91B;1105 116F 11BE;B91B;1105 116F 11BE;
+B91C;B91C;1105 116F 11BF;B91C;1105 116F 11BF;
+B91D;B91D;1105 116F 11C0;B91D;1105 116F 11C0;
+B91E;B91E;1105 116F 11C1;B91E;1105 116F 11C1;
+B91F;B91F;1105 116F 11C2;B91F;1105 116F 11C2;
+B920;B920;1105 1170;B920;1105 1170;
+B921;B921;1105 1170 11A8;B921;1105 1170 11A8;
+B922;B922;1105 1170 11A9;B922;1105 1170 11A9;
+B923;B923;1105 1170 11AA;B923;1105 1170 11AA;
+B924;B924;1105 1170 11AB;B924;1105 1170 11AB;
+B925;B925;1105 1170 11AC;B925;1105 1170 11AC;
+B926;B926;1105 1170 11AD;B926;1105 1170 11AD;
+B927;B927;1105 1170 11AE;B927;1105 1170 11AE;
+B928;B928;1105 1170 11AF;B928;1105 1170 11AF;
+B929;B929;1105 1170 11B0;B929;1105 1170 11B0;
+B92A;B92A;1105 1170 11B1;B92A;1105 1170 11B1;
+B92B;B92B;1105 1170 11B2;B92B;1105 1170 11B2;
+B92C;B92C;1105 1170 11B3;B92C;1105 1170 11B3;
+B92D;B92D;1105 1170 11B4;B92D;1105 1170 11B4;
+B92E;B92E;1105 1170 11B5;B92E;1105 1170 11B5;
+B92F;B92F;1105 1170 11B6;B92F;1105 1170 11B6;
+B930;B930;1105 1170 11B7;B930;1105 1170 11B7;
+B931;B931;1105 1170 11B8;B931;1105 1170 11B8;
+B932;B932;1105 1170 11B9;B932;1105 1170 11B9;
+B933;B933;1105 1170 11BA;B933;1105 1170 11BA;
+B934;B934;1105 1170 11BB;B934;1105 1170 11BB;
+B935;B935;1105 1170 11BC;B935;1105 1170 11BC;
+B936;B936;1105 1170 11BD;B936;1105 1170 11BD;
+B937;B937;1105 1170 11BE;B937;1105 1170 11BE;
+B938;B938;1105 1170 11BF;B938;1105 1170 11BF;
+B939;B939;1105 1170 11C0;B939;1105 1170 11C0;
+B93A;B93A;1105 1170 11C1;B93A;1105 1170 11C1;
+B93B;B93B;1105 1170 11C2;B93B;1105 1170 11C2;
+B93C;B93C;1105 1171;B93C;1105 1171;
+B93D;B93D;1105 1171 11A8;B93D;1105 1171 11A8;
+B93E;B93E;1105 1171 11A9;B93E;1105 1171 11A9;
+B93F;B93F;1105 1171 11AA;B93F;1105 1171 11AA;
+B940;B940;1105 1171 11AB;B940;1105 1171 11AB;
+B941;B941;1105 1171 11AC;B941;1105 1171 11AC;
+B942;B942;1105 1171 11AD;B942;1105 1171 11AD;
+B943;B943;1105 1171 11AE;B943;1105 1171 11AE;
+B944;B944;1105 1171 11AF;B944;1105 1171 11AF;
+B945;B945;1105 1171 11B0;B945;1105 1171 11B0;
+B946;B946;1105 1171 11B1;B946;1105 1171 11B1;
+B947;B947;1105 1171 11B2;B947;1105 1171 11B2;
+B948;B948;1105 1171 11B3;B948;1105 1171 11B3;
+B949;B949;1105 1171 11B4;B949;1105 1171 11B4;
+B94A;B94A;1105 1171 11B5;B94A;1105 1171 11B5;
+B94B;B94B;1105 1171 11B6;B94B;1105 1171 11B6;
+B94C;B94C;1105 1171 11B7;B94C;1105 1171 11B7;
+B94D;B94D;1105 1171 11B8;B94D;1105 1171 11B8;
+B94E;B94E;1105 1171 11B9;B94E;1105 1171 11B9;
+B94F;B94F;1105 1171 11BA;B94F;1105 1171 11BA;
+B950;B950;1105 1171 11BB;B950;1105 1171 11BB;
+B951;B951;1105 1171 11BC;B951;1105 1171 11BC;
+B952;B952;1105 1171 11BD;B952;1105 1171 11BD;
+B953;B953;1105 1171 11BE;B953;1105 1171 11BE;
+B954;B954;1105 1171 11BF;B954;1105 1171 11BF;
+B955;B955;1105 1171 11C0;B955;1105 1171 11C0;
+B956;B956;1105 1171 11C1;B956;1105 1171 11C1;
+B957;B957;1105 1171 11C2;B957;1105 1171 11C2;
+B958;B958;1105 1172;B958;1105 1172;
+B959;B959;1105 1172 11A8;B959;1105 1172 11A8;
+B95A;B95A;1105 1172 11A9;B95A;1105 1172 11A9;
+B95B;B95B;1105 1172 11AA;B95B;1105 1172 11AA;
+B95C;B95C;1105 1172 11AB;B95C;1105 1172 11AB;
+B95D;B95D;1105 1172 11AC;B95D;1105 1172 11AC;
+B95E;B95E;1105 1172 11AD;B95E;1105 1172 11AD;
+B95F;B95F;1105 1172 11AE;B95F;1105 1172 11AE;
+B960;B960;1105 1172 11AF;B960;1105 1172 11AF;
+B961;B961;1105 1172 11B0;B961;1105 1172 11B0;
+B962;B962;1105 1172 11B1;B962;1105 1172 11B1;
+B963;B963;1105 1172 11B2;B963;1105 1172 11B2;
+B964;B964;1105 1172 11B3;B964;1105 1172 11B3;
+B965;B965;1105 1172 11B4;B965;1105 1172 11B4;
+B966;B966;1105 1172 11B5;B966;1105 1172 11B5;
+B967;B967;1105 1172 11B6;B967;1105 1172 11B6;
+B968;B968;1105 1172 11B7;B968;1105 1172 11B7;
+B969;B969;1105 1172 11B8;B969;1105 1172 11B8;
+B96A;B96A;1105 1172 11B9;B96A;1105 1172 11B9;
+B96B;B96B;1105 1172 11BA;B96B;1105 1172 11BA;
+B96C;B96C;1105 1172 11BB;B96C;1105 1172 11BB;
+B96D;B96D;1105 1172 11BC;B96D;1105 1172 11BC;
+B96E;B96E;1105 1172 11BD;B96E;1105 1172 11BD;
+B96F;B96F;1105 1172 11BE;B96F;1105 1172 11BE;
+B970;B970;1105 1172 11BF;B970;1105 1172 11BF;
+B971;B971;1105 1172 11C0;B971;1105 1172 11C0;
+B972;B972;1105 1172 11C1;B972;1105 1172 11C1;
+B973;B973;1105 1172 11C2;B973;1105 1172 11C2;
+B974;B974;1105 1173;B974;1105 1173;
+B975;B975;1105 1173 11A8;B975;1105 1173 11A8;
+B976;B976;1105 1173 11A9;B976;1105 1173 11A9;
+B977;B977;1105 1173 11AA;B977;1105 1173 11AA;
+B978;B978;1105 1173 11AB;B978;1105 1173 11AB;
+B979;B979;1105 1173 11AC;B979;1105 1173 11AC;
+B97A;B97A;1105 1173 11AD;B97A;1105 1173 11AD;
+B97B;B97B;1105 1173 11AE;B97B;1105 1173 11AE;
+B97C;B97C;1105 1173 11AF;B97C;1105 1173 11AF;
+B97D;B97D;1105 1173 11B0;B97D;1105 1173 11B0;
+B97E;B97E;1105 1173 11B1;B97E;1105 1173 11B1;
+B97F;B97F;1105 1173 11B2;B97F;1105 1173 11B2;
+B980;B980;1105 1173 11B3;B980;1105 1173 11B3;
+B981;B981;1105 1173 11B4;B981;1105 1173 11B4;
+B982;B982;1105 1173 11B5;B982;1105 1173 11B5;
+B983;B983;1105 1173 11B6;B983;1105 1173 11B6;
+B984;B984;1105 1173 11B7;B984;1105 1173 11B7;
+B985;B985;1105 1173 11B8;B985;1105 1173 11B8;
+B986;B986;1105 1173 11B9;B986;1105 1173 11B9;
+B987;B987;1105 1173 11BA;B987;1105 1173 11BA;
+B988;B988;1105 1173 11BB;B988;1105 1173 11BB;
+B989;B989;1105 1173 11BC;B989;1105 1173 11BC;
+B98A;B98A;1105 1173 11BD;B98A;1105 1173 11BD;
+B98B;B98B;1105 1173 11BE;B98B;1105 1173 11BE;
+B98C;B98C;1105 1173 11BF;B98C;1105 1173 11BF;
+B98D;B98D;1105 1173 11C0;B98D;1105 1173 11C0;
+B98E;B98E;1105 1173 11C1;B98E;1105 1173 11C1;
+B98F;B98F;1105 1173 11C2;B98F;1105 1173 11C2;
+B990;B990;1105 1174;B990;1105 1174;
+B991;B991;1105 1174 11A8;B991;1105 1174 11A8;
+B992;B992;1105 1174 11A9;B992;1105 1174 11A9;
+B993;B993;1105 1174 11AA;B993;1105 1174 11AA;
+B994;B994;1105 1174 11AB;B994;1105 1174 11AB;
+B995;B995;1105 1174 11AC;B995;1105 1174 11AC;
+B996;B996;1105 1174 11AD;B996;1105 1174 11AD;
+B997;B997;1105 1174 11AE;B997;1105 1174 11AE;
+B998;B998;1105 1174 11AF;B998;1105 1174 11AF;
+B999;B999;1105 1174 11B0;B999;1105 1174 11B0;
+B99A;B99A;1105 1174 11B1;B99A;1105 1174 11B1;
+B99B;B99B;1105 1174 11B2;B99B;1105 1174 11B2;
+B99C;B99C;1105 1174 11B3;B99C;1105 1174 11B3;
+B99D;B99D;1105 1174 11B4;B99D;1105 1174 11B4;
+B99E;B99E;1105 1174 11B5;B99E;1105 1174 11B5;
+B99F;B99F;1105 1174 11B6;B99F;1105 1174 11B6;
+B9A0;B9A0;1105 1174 11B7;B9A0;1105 1174 11B7;
+B9A1;B9A1;1105 1174 11B8;B9A1;1105 1174 11B8;
+B9A2;B9A2;1105 1174 11B9;B9A2;1105 1174 11B9;
+B9A3;B9A3;1105 1174 11BA;B9A3;1105 1174 11BA;
+B9A4;B9A4;1105 1174 11BB;B9A4;1105 1174 11BB;
+B9A5;B9A5;1105 1174 11BC;B9A5;1105 1174 11BC;
+B9A6;B9A6;1105 1174 11BD;B9A6;1105 1174 11BD;
+B9A7;B9A7;1105 1174 11BE;B9A7;1105 1174 11BE;
+B9A8;B9A8;1105 1174 11BF;B9A8;1105 1174 11BF;
+B9A9;B9A9;1105 1174 11C0;B9A9;1105 1174 11C0;
+B9AA;B9AA;1105 1174 11C1;B9AA;1105 1174 11C1;
+B9AB;B9AB;1105 1174 11C2;B9AB;1105 1174 11C2;
+B9AC;B9AC;1105 1175;B9AC;1105 1175;
+B9AD;B9AD;1105 1175 11A8;B9AD;1105 1175 11A8;
+B9AE;B9AE;1105 1175 11A9;B9AE;1105 1175 11A9;
+B9AF;B9AF;1105 1175 11AA;B9AF;1105 1175 11AA;
+B9B0;B9B0;1105 1175 11AB;B9B0;1105 1175 11AB;
+B9B1;B9B1;1105 1175 11AC;B9B1;1105 1175 11AC;
+B9B2;B9B2;1105 1175 11AD;B9B2;1105 1175 11AD;
+B9B3;B9B3;1105 1175 11AE;B9B3;1105 1175 11AE;
+B9B4;B9B4;1105 1175 11AF;B9B4;1105 1175 11AF;
+B9B5;B9B5;1105 1175 11B0;B9B5;1105 1175 11B0;
+B9B6;B9B6;1105 1175 11B1;B9B6;1105 1175 11B1;
+B9B7;B9B7;1105 1175 11B2;B9B7;1105 1175 11B2;
+B9B8;B9B8;1105 1175 11B3;B9B8;1105 1175 11B3;
+B9B9;B9B9;1105 1175 11B4;B9B9;1105 1175 11B4;
+B9BA;B9BA;1105 1175 11B5;B9BA;1105 1175 11B5;
+B9BB;B9BB;1105 1175 11B6;B9BB;1105 1175 11B6;
+B9BC;B9BC;1105 1175 11B7;B9BC;1105 1175 11B7;
+B9BD;B9BD;1105 1175 11B8;B9BD;1105 1175 11B8;
+B9BE;B9BE;1105 1175 11B9;B9BE;1105 1175 11B9;
+B9BF;B9BF;1105 1175 11BA;B9BF;1105 1175 11BA;
+B9C0;B9C0;1105 1175 11BB;B9C0;1105 1175 11BB;
+B9C1;B9C1;1105 1175 11BC;B9C1;1105 1175 11BC;
+B9C2;B9C2;1105 1175 11BD;B9C2;1105 1175 11BD;
+B9C3;B9C3;1105 1175 11BE;B9C3;1105 1175 11BE;
+B9C4;B9C4;1105 1175 11BF;B9C4;1105 1175 11BF;
+B9C5;B9C5;1105 1175 11C0;B9C5;1105 1175 11C0;
+B9C6;B9C6;1105 1175 11C1;B9C6;1105 1175 11C1;
+B9C7;B9C7;1105 1175 11C2;B9C7;1105 1175 11C2;
+B9C8;B9C8;1106 1161;B9C8;1106 1161;
+B9C9;B9C9;1106 1161 11A8;B9C9;1106 1161 11A8;
+B9CA;B9CA;1106 1161 11A9;B9CA;1106 1161 11A9;
+B9CB;B9CB;1106 1161 11AA;B9CB;1106 1161 11AA;
+B9CC;B9CC;1106 1161 11AB;B9CC;1106 1161 11AB;
+B9CD;B9CD;1106 1161 11AC;B9CD;1106 1161 11AC;
+B9CE;B9CE;1106 1161 11AD;B9CE;1106 1161 11AD;
+B9CF;B9CF;1106 1161 11AE;B9CF;1106 1161 11AE;
+B9D0;B9D0;1106 1161 11AF;B9D0;1106 1161 11AF;
+B9D1;B9D1;1106 1161 11B0;B9D1;1106 1161 11B0;
+B9D2;B9D2;1106 1161 11B1;B9D2;1106 1161 11B1;
+B9D3;B9D3;1106 1161 11B2;B9D3;1106 1161 11B2;
+B9D4;B9D4;1106 1161 11B3;B9D4;1106 1161 11B3;
+B9D5;B9D5;1106 1161 11B4;B9D5;1106 1161 11B4;
+B9D6;B9D6;1106 1161 11B5;B9D6;1106 1161 11B5;
+B9D7;B9D7;1106 1161 11B6;B9D7;1106 1161 11B6;
+B9D8;B9D8;1106 1161 11B7;B9D8;1106 1161 11B7;
+B9D9;B9D9;1106 1161 11B8;B9D9;1106 1161 11B8;
+B9DA;B9DA;1106 1161 11B9;B9DA;1106 1161 11B9;
+B9DB;B9DB;1106 1161 11BA;B9DB;1106 1161 11BA;
+B9DC;B9DC;1106 1161 11BB;B9DC;1106 1161 11BB;
+B9DD;B9DD;1106 1161 11BC;B9DD;1106 1161 11BC;
+B9DE;B9DE;1106 1161 11BD;B9DE;1106 1161 11BD;
+B9DF;B9DF;1106 1161 11BE;B9DF;1106 1161 11BE;
+B9E0;B9E0;1106 1161 11BF;B9E0;1106 1161 11BF;
+B9E1;B9E1;1106 1161 11C0;B9E1;1106 1161 11C0;
+B9E2;B9E2;1106 1161 11C1;B9E2;1106 1161 11C1;
+B9E3;B9E3;1106 1161 11C2;B9E3;1106 1161 11C2;
+B9E4;B9E4;1106 1162;B9E4;1106 1162;
+B9E5;B9E5;1106 1162 11A8;B9E5;1106 1162 11A8;
+B9E6;B9E6;1106 1162 11A9;B9E6;1106 1162 11A9;
+B9E7;B9E7;1106 1162 11AA;B9E7;1106 1162 11AA;
+B9E8;B9E8;1106 1162 11AB;B9E8;1106 1162 11AB;
+B9E9;B9E9;1106 1162 11AC;B9E9;1106 1162 11AC;
+B9EA;B9EA;1106 1162 11AD;B9EA;1106 1162 11AD;
+B9EB;B9EB;1106 1162 11AE;B9EB;1106 1162 11AE;
+B9EC;B9EC;1106 1162 11AF;B9EC;1106 1162 11AF;
+B9ED;B9ED;1106 1162 11B0;B9ED;1106 1162 11B0;
+B9EE;B9EE;1106 1162 11B1;B9EE;1106 1162 11B1;
+B9EF;B9EF;1106 1162 11B2;B9EF;1106 1162 11B2;
+B9F0;B9F0;1106 1162 11B3;B9F0;1106 1162 11B3;
+B9F1;B9F1;1106 1162 11B4;B9F1;1106 1162 11B4;
+B9F2;B9F2;1106 1162 11B5;B9F2;1106 1162 11B5;
+B9F3;B9F3;1106 1162 11B6;B9F3;1106 1162 11B6;
+B9F4;B9F4;1106 1162 11B7;B9F4;1106 1162 11B7;
+B9F5;B9F5;1106 1162 11B8;B9F5;1106 1162 11B8;
+B9F6;B9F6;1106 1162 11B9;B9F6;1106 1162 11B9;
+B9F7;B9F7;1106 1162 11BA;B9F7;1106 1162 11BA;
+B9F8;B9F8;1106 1162 11BB;B9F8;1106 1162 11BB;
+B9F9;B9F9;1106 1162 11BC;B9F9;1106 1162 11BC;
+B9FA;B9FA;1106 1162 11BD;B9FA;1106 1162 11BD;
+B9FB;B9FB;1106 1162 11BE;B9FB;1106 1162 11BE;
+B9FC;B9FC;1106 1162 11BF;B9FC;1106 1162 11BF;
+B9FD;B9FD;1106 1162 11C0;B9FD;1106 1162 11C0;
+B9FE;B9FE;1106 1162 11C1;B9FE;1106 1162 11C1;
+B9FF;B9FF;1106 1162 11C2;B9FF;1106 1162 11C2;
+BA00;BA00;1106 1163;BA00;1106 1163;
+BA01;BA01;1106 1163 11A8;BA01;1106 1163 11A8;
+BA02;BA02;1106 1163 11A9;BA02;1106 1163 11A9;
+BA03;BA03;1106 1163 11AA;BA03;1106 1163 11AA;
+BA04;BA04;1106 1163 11AB;BA04;1106 1163 11AB;
+BA05;BA05;1106 1163 11AC;BA05;1106 1163 11AC;
+BA06;BA06;1106 1163 11AD;BA06;1106 1163 11AD;
+BA07;BA07;1106 1163 11AE;BA07;1106 1163 11AE;
+BA08;BA08;1106 1163 11AF;BA08;1106 1163 11AF;
+BA09;BA09;1106 1163 11B0;BA09;1106 1163 11B0;
+BA0A;BA0A;1106 1163 11B1;BA0A;1106 1163 11B1;
+BA0B;BA0B;1106 1163 11B2;BA0B;1106 1163 11B2;
+BA0C;BA0C;1106 1163 11B3;BA0C;1106 1163 11B3;
+BA0D;BA0D;1106 1163 11B4;BA0D;1106 1163 11B4;
+BA0E;BA0E;1106 1163 11B5;BA0E;1106 1163 11B5;
+BA0F;BA0F;1106 1163 11B6;BA0F;1106 1163 11B6;
+BA10;BA10;1106 1163 11B7;BA10;1106 1163 11B7;
+BA11;BA11;1106 1163 11B8;BA11;1106 1163 11B8;
+BA12;BA12;1106 1163 11B9;BA12;1106 1163 11B9;
+BA13;BA13;1106 1163 11BA;BA13;1106 1163 11BA;
+BA14;BA14;1106 1163 11BB;BA14;1106 1163 11BB;
+BA15;BA15;1106 1163 11BC;BA15;1106 1163 11BC;
+BA16;BA16;1106 1163 11BD;BA16;1106 1163 11BD;
+BA17;BA17;1106 1163 11BE;BA17;1106 1163 11BE;
+BA18;BA18;1106 1163 11BF;BA18;1106 1163 11BF;
+BA19;BA19;1106 1163 11C0;BA19;1106 1163 11C0;
+BA1A;BA1A;1106 1163 11C1;BA1A;1106 1163 11C1;
+BA1B;BA1B;1106 1163 11C2;BA1B;1106 1163 11C2;
+BA1C;BA1C;1106 1164;BA1C;1106 1164;
+BA1D;BA1D;1106 1164 11A8;BA1D;1106 1164 11A8;
+BA1E;BA1E;1106 1164 11A9;BA1E;1106 1164 11A9;
+BA1F;BA1F;1106 1164 11AA;BA1F;1106 1164 11AA;
+BA20;BA20;1106 1164 11AB;BA20;1106 1164 11AB;
+BA21;BA21;1106 1164 11AC;BA21;1106 1164 11AC;
+BA22;BA22;1106 1164 11AD;BA22;1106 1164 11AD;
+BA23;BA23;1106 1164 11AE;BA23;1106 1164 11AE;
+BA24;BA24;1106 1164 11AF;BA24;1106 1164 11AF;
+BA25;BA25;1106 1164 11B0;BA25;1106 1164 11B0;
+BA26;BA26;1106 1164 11B1;BA26;1106 1164 11B1;
+BA27;BA27;1106 1164 11B2;BA27;1106 1164 11B2;
+BA28;BA28;1106 1164 11B3;BA28;1106 1164 11B3;
+BA29;BA29;1106 1164 11B4;BA29;1106 1164 11B4;
+BA2A;BA2A;1106 1164 11B5;BA2A;1106 1164 11B5;
+BA2B;BA2B;1106 1164 11B6;BA2B;1106 1164 11B6;
+BA2C;BA2C;1106 1164 11B7;BA2C;1106 1164 11B7;
+BA2D;BA2D;1106 1164 11B8;BA2D;1106 1164 11B8;
+BA2E;BA2E;1106 1164 11B9;BA2E;1106 1164 11B9;
+BA2F;BA2F;1106 1164 11BA;BA2F;1106 1164 11BA;
+BA30;BA30;1106 1164 11BB;BA30;1106 1164 11BB;
+BA31;BA31;1106 1164 11BC;BA31;1106 1164 11BC;
+BA32;BA32;1106 1164 11BD;BA32;1106 1164 11BD;
+BA33;BA33;1106 1164 11BE;BA33;1106 1164 11BE;
+BA34;BA34;1106 1164 11BF;BA34;1106 1164 11BF;
+BA35;BA35;1106 1164 11C0;BA35;1106 1164 11C0;
+BA36;BA36;1106 1164 11C1;BA36;1106 1164 11C1;
+BA37;BA37;1106 1164 11C2;BA37;1106 1164 11C2;
+BA38;BA38;1106 1165;BA38;1106 1165;
+BA39;BA39;1106 1165 11A8;BA39;1106 1165 11A8;
+BA3A;BA3A;1106 1165 11A9;BA3A;1106 1165 11A9;
+BA3B;BA3B;1106 1165 11AA;BA3B;1106 1165 11AA;
+BA3C;BA3C;1106 1165 11AB;BA3C;1106 1165 11AB;
+BA3D;BA3D;1106 1165 11AC;BA3D;1106 1165 11AC;
+BA3E;BA3E;1106 1165 11AD;BA3E;1106 1165 11AD;
+BA3F;BA3F;1106 1165 11AE;BA3F;1106 1165 11AE;
+BA40;BA40;1106 1165 11AF;BA40;1106 1165 11AF;
+BA41;BA41;1106 1165 11B0;BA41;1106 1165 11B0;
+BA42;BA42;1106 1165 11B1;BA42;1106 1165 11B1;
+BA43;BA43;1106 1165 11B2;BA43;1106 1165 11B2;
+BA44;BA44;1106 1165 11B3;BA44;1106 1165 11B3;
+BA45;BA45;1106 1165 11B4;BA45;1106 1165 11B4;
+BA46;BA46;1106 1165 11B5;BA46;1106 1165 11B5;
+BA47;BA47;1106 1165 11B6;BA47;1106 1165 11B6;
+BA48;BA48;1106 1165 11B7;BA48;1106 1165 11B7;
+BA49;BA49;1106 1165 11B8;BA49;1106 1165 11B8;
+BA4A;BA4A;1106 1165 11B9;BA4A;1106 1165 11B9;
+BA4B;BA4B;1106 1165 11BA;BA4B;1106 1165 11BA;
+BA4C;BA4C;1106 1165 11BB;BA4C;1106 1165 11BB;
+BA4D;BA4D;1106 1165 11BC;BA4D;1106 1165 11BC;
+BA4E;BA4E;1106 1165 11BD;BA4E;1106 1165 11BD;
+BA4F;BA4F;1106 1165 11BE;BA4F;1106 1165 11BE;
+BA50;BA50;1106 1165 11BF;BA50;1106 1165 11BF;
+BA51;BA51;1106 1165 11C0;BA51;1106 1165 11C0;
+BA52;BA52;1106 1165 11C1;BA52;1106 1165 11C1;
+BA53;BA53;1106 1165 11C2;BA53;1106 1165 11C2;
+BA54;BA54;1106 1166;BA54;1106 1166;
+BA55;BA55;1106 1166 11A8;BA55;1106 1166 11A8;
+BA56;BA56;1106 1166 11A9;BA56;1106 1166 11A9;
+BA57;BA57;1106 1166 11AA;BA57;1106 1166 11AA;
+BA58;BA58;1106 1166 11AB;BA58;1106 1166 11AB;
+BA59;BA59;1106 1166 11AC;BA59;1106 1166 11AC;
+BA5A;BA5A;1106 1166 11AD;BA5A;1106 1166 11AD;
+BA5B;BA5B;1106 1166 11AE;BA5B;1106 1166 11AE;
+BA5C;BA5C;1106 1166 11AF;BA5C;1106 1166 11AF;
+BA5D;BA5D;1106 1166 11B0;BA5D;1106 1166 11B0;
+BA5E;BA5E;1106 1166 11B1;BA5E;1106 1166 11B1;
+BA5F;BA5F;1106 1166 11B2;BA5F;1106 1166 11B2;
+BA60;BA60;1106 1166 11B3;BA60;1106 1166 11B3;
+BA61;BA61;1106 1166 11B4;BA61;1106 1166 11B4;
+BA62;BA62;1106 1166 11B5;BA62;1106 1166 11B5;
+BA63;BA63;1106 1166 11B6;BA63;1106 1166 11B6;
+BA64;BA64;1106 1166 11B7;BA64;1106 1166 11B7;
+BA65;BA65;1106 1166 11B8;BA65;1106 1166 11B8;
+BA66;BA66;1106 1166 11B9;BA66;1106 1166 11B9;
+BA67;BA67;1106 1166 11BA;BA67;1106 1166 11BA;
+BA68;BA68;1106 1166 11BB;BA68;1106 1166 11BB;
+BA69;BA69;1106 1166 11BC;BA69;1106 1166 11BC;
+BA6A;BA6A;1106 1166 11BD;BA6A;1106 1166 11BD;
+BA6B;BA6B;1106 1166 11BE;BA6B;1106 1166 11BE;
+BA6C;BA6C;1106 1166 11BF;BA6C;1106 1166 11BF;
+BA6D;BA6D;1106 1166 11C0;BA6D;1106 1166 11C0;
+BA6E;BA6E;1106 1166 11C1;BA6E;1106 1166 11C1;
+BA6F;BA6F;1106 1166 11C2;BA6F;1106 1166 11C2;
+BA70;BA70;1106 1167;BA70;1106 1167;
+BA71;BA71;1106 1167 11A8;BA71;1106 1167 11A8;
+BA72;BA72;1106 1167 11A9;BA72;1106 1167 11A9;
+BA73;BA73;1106 1167 11AA;BA73;1106 1167 11AA;
+BA74;BA74;1106 1167 11AB;BA74;1106 1167 11AB;
+BA75;BA75;1106 1167 11AC;BA75;1106 1167 11AC;
+BA76;BA76;1106 1167 11AD;BA76;1106 1167 11AD;
+BA77;BA77;1106 1167 11AE;BA77;1106 1167 11AE;
+BA78;BA78;1106 1167 11AF;BA78;1106 1167 11AF;
+BA79;BA79;1106 1167 11B0;BA79;1106 1167 11B0;
+BA7A;BA7A;1106 1167 11B1;BA7A;1106 1167 11B1;
+BA7B;BA7B;1106 1167 11B2;BA7B;1106 1167 11B2;
+BA7C;BA7C;1106 1167 11B3;BA7C;1106 1167 11B3;
+BA7D;BA7D;1106 1167 11B4;BA7D;1106 1167 11B4;
+BA7E;BA7E;1106 1167 11B5;BA7E;1106 1167 11B5;
+BA7F;BA7F;1106 1167 11B6;BA7F;1106 1167 11B6;
+BA80;BA80;1106 1167 11B7;BA80;1106 1167 11B7;
+BA81;BA81;1106 1167 11B8;BA81;1106 1167 11B8;
+BA82;BA82;1106 1167 11B9;BA82;1106 1167 11B9;
+BA83;BA83;1106 1167 11BA;BA83;1106 1167 11BA;
+BA84;BA84;1106 1167 11BB;BA84;1106 1167 11BB;
+BA85;BA85;1106 1167 11BC;BA85;1106 1167 11BC;
+BA86;BA86;1106 1167 11BD;BA86;1106 1167 11BD;
+BA87;BA87;1106 1167 11BE;BA87;1106 1167 11BE;
+BA88;BA88;1106 1167 11BF;BA88;1106 1167 11BF;
+BA89;BA89;1106 1167 11C0;BA89;1106 1167 11C0;
+BA8A;BA8A;1106 1167 11C1;BA8A;1106 1167 11C1;
+BA8B;BA8B;1106 1167 11C2;BA8B;1106 1167 11C2;
+BA8C;BA8C;1106 1168;BA8C;1106 1168;
+BA8D;BA8D;1106 1168 11A8;BA8D;1106 1168 11A8;
+BA8E;BA8E;1106 1168 11A9;BA8E;1106 1168 11A9;
+BA8F;BA8F;1106 1168 11AA;BA8F;1106 1168 11AA;
+BA90;BA90;1106 1168 11AB;BA90;1106 1168 11AB;
+BA91;BA91;1106 1168 11AC;BA91;1106 1168 11AC;
+BA92;BA92;1106 1168 11AD;BA92;1106 1168 11AD;
+BA93;BA93;1106 1168 11AE;BA93;1106 1168 11AE;
+BA94;BA94;1106 1168 11AF;BA94;1106 1168 11AF;
+BA95;BA95;1106 1168 11B0;BA95;1106 1168 11B0;
+BA96;BA96;1106 1168 11B1;BA96;1106 1168 11B1;
+BA97;BA97;1106 1168 11B2;BA97;1106 1168 11B2;
+BA98;BA98;1106 1168 11B3;BA98;1106 1168 11B3;
+BA99;BA99;1106 1168 11B4;BA99;1106 1168 11B4;
+BA9A;BA9A;1106 1168 11B5;BA9A;1106 1168 11B5;
+BA9B;BA9B;1106 1168 11B6;BA9B;1106 1168 11B6;
+BA9C;BA9C;1106 1168 11B7;BA9C;1106 1168 11B7;
+BA9D;BA9D;1106 1168 11B8;BA9D;1106 1168 11B8;
+BA9E;BA9E;1106 1168 11B9;BA9E;1106 1168 11B9;
+BA9F;BA9F;1106 1168 11BA;BA9F;1106 1168 11BA;
+BAA0;BAA0;1106 1168 11BB;BAA0;1106 1168 11BB;
+BAA1;BAA1;1106 1168 11BC;BAA1;1106 1168 11BC;
+BAA2;BAA2;1106 1168 11BD;BAA2;1106 1168 11BD;
+BAA3;BAA3;1106 1168 11BE;BAA3;1106 1168 11BE;
+BAA4;BAA4;1106 1168 11BF;BAA4;1106 1168 11BF;
+BAA5;BAA5;1106 1168 11C0;BAA5;1106 1168 11C0;
+BAA6;BAA6;1106 1168 11C1;BAA6;1106 1168 11C1;
+BAA7;BAA7;1106 1168 11C2;BAA7;1106 1168 11C2;
+BAA8;BAA8;1106 1169;BAA8;1106 1169;
+BAA9;BAA9;1106 1169 11A8;BAA9;1106 1169 11A8;
+BAAA;BAAA;1106 1169 11A9;BAAA;1106 1169 11A9;
+BAAB;BAAB;1106 1169 11AA;BAAB;1106 1169 11AA;
+BAAC;BAAC;1106 1169 11AB;BAAC;1106 1169 11AB;
+BAAD;BAAD;1106 1169 11AC;BAAD;1106 1169 11AC;
+BAAE;BAAE;1106 1169 11AD;BAAE;1106 1169 11AD;
+BAAF;BAAF;1106 1169 11AE;BAAF;1106 1169 11AE;
+BAB0;BAB0;1106 1169 11AF;BAB0;1106 1169 11AF;
+BAB1;BAB1;1106 1169 11B0;BAB1;1106 1169 11B0;
+BAB2;BAB2;1106 1169 11B1;BAB2;1106 1169 11B1;
+BAB3;BAB3;1106 1169 11B2;BAB3;1106 1169 11B2;
+BAB4;BAB4;1106 1169 11B3;BAB4;1106 1169 11B3;
+BAB5;BAB5;1106 1169 11B4;BAB5;1106 1169 11B4;
+BAB6;BAB6;1106 1169 11B5;BAB6;1106 1169 11B5;
+BAB7;BAB7;1106 1169 11B6;BAB7;1106 1169 11B6;
+BAB8;BAB8;1106 1169 11B7;BAB8;1106 1169 11B7;
+BAB9;BAB9;1106 1169 11B8;BAB9;1106 1169 11B8;
+BABA;BABA;1106 1169 11B9;BABA;1106 1169 11B9;
+BABB;BABB;1106 1169 11BA;BABB;1106 1169 11BA;
+BABC;BABC;1106 1169 11BB;BABC;1106 1169 11BB;
+BABD;BABD;1106 1169 11BC;BABD;1106 1169 11BC;
+BABE;BABE;1106 1169 11BD;BABE;1106 1169 11BD;
+BABF;BABF;1106 1169 11BE;BABF;1106 1169 11BE;
+BAC0;BAC0;1106 1169 11BF;BAC0;1106 1169 11BF;
+BAC1;BAC1;1106 1169 11C0;BAC1;1106 1169 11C0;
+BAC2;BAC2;1106 1169 11C1;BAC2;1106 1169 11C1;
+BAC3;BAC3;1106 1169 11C2;BAC3;1106 1169 11C2;
+BAC4;BAC4;1106 116A;BAC4;1106 116A;
+BAC5;BAC5;1106 116A 11A8;BAC5;1106 116A 11A8;
+BAC6;BAC6;1106 116A 11A9;BAC6;1106 116A 11A9;
+BAC7;BAC7;1106 116A 11AA;BAC7;1106 116A 11AA;
+BAC8;BAC8;1106 116A 11AB;BAC8;1106 116A 11AB;
+BAC9;BAC9;1106 116A 11AC;BAC9;1106 116A 11AC;
+BACA;BACA;1106 116A 11AD;BACA;1106 116A 11AD;
+BACB;BACB;1106 116A 11AE;BACB;1106 116A 11AE;
+BACC;BACC;1106 116A 11AF;BACC;1106 116A 11AF;
+BACD;BACD;1106 116A 11B0;BACD;1106 116A 11B0;
+BACE;BACE;1106 116A 11B1;BACE;1106 116A 11B1;
+BACF;BACF;1106 116A 11B2;BACF;1106 116A 11B2;
+BAD0;BAD0;1106 116A 11B3;BAD0;1106 116A 11B3;
+BAD1;BAD1;1106 116A 11B4;BAD1;1106 116A 11B4;
+BAD2;BAD2;1106 116A 11B5;BAD2;1106 116A 11B5;
+BAD3;BAD3;1106 116A 11B6;BAD3;1106 116A 11B6;
+BAD4;BAD4;1106 116A 11B7;BAD4;1106 116A 11B7;
+BAD5;BAD5;1106 116A 11B8;BAD5;1106 116A 11B8;
+BAD6;BAD6;1106 116A 11B9;BAD6;1106 116A 11B9;
+BAD7;BAD7;1106 116A 11BA;BAD7;1106 116A 11BA;
+BAD8;BAD8;1106 116A 11BB;BAD8;1106 116A 11BB;
+BAD9;BAD9;1106 116A 11BC;BAD9;1106 116A 11BC;
+BADA;BADA;1106 116A 11BD;BADA;1106 116A 11BD;
+BADB;BADB;1106 116A 11BE;BADB;1106 116A 11BE;
+BADC;BADC;1106 116A 11BF;BADC;1106 116A 11BF;
+BADD;BADD;1106 116A 11C0;BADD;1106 116A 11C0;
+BADE;BADE;1106 116A 11C1;BADE;1106 116A 11C1;
+BADF;BADF;1106 116A 11C2;BADF;1106 116A 11C2;
+BAE0;BAE0;1106 116B;BAE0;1106 116B;
+BAE1;BAE1;1106 116B 11A8;BAE1;1106 116B 11A8;
+BAE2;BAE2;1106 116B 11A9;BAE2;1106 116B 11A9;
+BAE3;BAE3;1106 116B 11AA;BAE3;1106 116B 11AA;
+BAE4;BAE4;1106 116B 11AB;BAE4;1106 116B 11AB;
+BAE5;BAE5;1106 116B 11AC;BAE5;1106 116B 11AC;
+BAE6;BAE6;1106 116B 11AD;BAE6;1106 116B 11AD;
+BAE7;BAE7;1106 116B 11AE;BAE7;1106 116B 11AE;
+BAE8;BAE8;1106 116B 11AF;BAE8;1106 116B 11AF;
+BAE9;BAE9;1106 116B 11B0;BAE9;1106 116B 11B0;
+BAEA;BAEA;1106 116B 11B1;BAEA;1106 116B 11B1;
+BAEB;BAEB;1106 116B 11B2;BAEB;1106 116B 11B2;
+BAEC;BAEC;1106 116B 11B3;BAEC;1106 116B 11B3;
+BAED;BAED;1106 116B 11B4;BAED;1106 116B 11B4;
+BAEE;BAEE;1106 116B 11B5;BAEE;1106 116B 11B5;
+BAEF;BAEF;1106 116B 11B6;BAEF;1106 116B 11B6;
+BAF0;BAF0;1106 116B 11B7;BAF0;1106 116B 11B7;
+BAF1;BAF1;1106 116B 11B8;BAF1;1106 116B 11B8;
+BAF2;BAF2;1106 116B 11B9;BAF2;1106 116B 11B9;
+BAF3;BAF3;1106 116B 11BA;BAF3;1106 116B 11BA;
+BAF4;BAF4;1106 116B 11BB;BAF4;1106 116B 11BB;
+BAF5;BAF5;1106 116B 11BC;BAF5;1106 116B 11BC;
+BAF6;BAF6;1106 116B 11BD;BAF6;1106 116B 11BD;
+BAF7;BAF7;1106 116B 11BE;BAF7;1106 116B 11BE;
+BAF8;BAF8;1106 116B 11BF;BAF8;1106 116B 11BF;
+BAF9;BAF9;1106 116B 11C0;BAF9;1106 116B 11C0;
+BAFA;BAFA;1106 116B 11C1;BAFA;1106 116B 11C1;
+BAFB;BAFB;1106 116B 11C2;BAFB;1106 116B 11C2;
+BAFC;BAFC;1106 116C;BAFC;1106 116C;
+BAFD;BAFD;1106 116C 11A8;BAFD;1106 116C 11A8;
+BAFE;BAFE;1106 116C 11A9;BAFE;1106 116C 11A9;
+BAFF;BAFF;1106 116C 11AA;BAFF;1106 116C 11AA;
+BB00;BB00;1106 116C 11AB;BB00;1106 116C 11AB;
+BB01;BB01;1106 116C 11AC;BB01;1106 116C 11AC;
+BB02;BB02;1106 116C 11AD;BB02;1106 116C 11AD;
+BB03;BB03;1106 116C 11AE;BB03;1106 116C 11AE;
+BB04;BB04;1106 116C 11AF;BB04;1106 116C 11AF;
+BB05;BB05;1106 116C 11B0;BB05;1106 116C 11B0;
+BB06;BB06;1106 116C 11B1;BB06;1106 116C 11B1;
+BB07;BB07;1106 116C 11B2;BB07;1106 116C 11B2;
+BB08;BB08;1106 116C 11B3;BB08;1106 116C 11B3;
+BB09;BB09;1106 116C 11B4;BB09;1106 116C 11B4;
+BB0A;BB0A;1106 116C 11B5;BB0A;1106 116C 11B5;
+BB0B;BB0B;1106 116C 11B6;BB0B;1106 116C 11B6;
+BB0C;BB0C;1106 116C 11B7;BB0C;1106 116C 11B7;
+BB0D;BB0D;1106 116C 11B8;BB0D;1106 116C 11B8;
+BB0E;BB0E;1106 116C 11B9;BB0E;1106 116C 11B9;
+BB0F;BB0F;1106 116C 11BA;BB0F;1106 116C 11BA;
+BB10;BB10;1106 116C 11BB;BB10;1106 116C 11BB;
+BB11;BB11;1106 116C 11BC;BB11;1106 116C 11BC;
+BB12;BB12;1106 116C 11BD;BB12;1106 116C 11BD;
+BB13;BB13;1106 116C 11BE;BB13;1106 116C 11BE;
+BB14;BB14;1106 116C 11BF;BB14;1106 116C 11BF;
+BB15;BB15;1106 116C 11C0;BB15;1106 116C 11C0;
+BB16;BB16;1106 116C 11C1;BB16;1106 116C 11C1;
+BB17;BB17;1106 116C 11C2;BB17;1106 116C 11C2;
+BB18;BB18;1106 116D;BB18;1106 116D;
+BB19;BB19;1106 116D 11A8;BB19;1106 116D 11A8;
+BB1A;BB1A;1106 116D 11A9;BB1A;1106 116D 11A9;
+BB1B;BB1B;1106 116D 11AA;BB1B;1106 116D 11AA;
+BB1C;BB1C;1106 116D 11AB;BB1C;1106 116D 11AB;
+BB1D;BB1D;1106 116D 11AC;BB1D;1106 116D 11AC;
+BB1E;BB1E;1106 116D 11AD;BB1E;1106 116D 11AD;
+BB1F;BB1F;1106 116D 11AE;BB1F;1106 116D 11AE;
+BB20;BB20;1106 116D 11AF;BB20;1106 116D 11AF;
+BB21;BB21;1106 116D 11B0;BB21;1106 116D 11B0;
+BB22;BB22;1106 116D 11B1;BB22;1106 116D 11B1;
+BB23;BB23;1106 116D 11B2;BB23;1106 116D 11B2;
+BB24;BB24;1106 116D 11B3;BB24;1106 116D 11B3;
+BB25;BB25;1106 116D 11B4;BB25;1106 116D 11B4;
+BB26;BB26;1106 116D 11B5;BB26;1106 116D 11B5;
+BB27;BB27;1106 116D 11B6;BB27;1106 116D 11B6;
+BB28;BB28;1106 116D 11B7;BB28;1106 116D 11B7;
+BB29;BB29;1106 116D 11B8;BB29;1106 116D 11B8;
+BB2A;BB2A;1106 116D 11B9;BB2A;1106 116D 11B9;
+BB2B;BB2B;1106 116D 11BA;BB2B;1106 116D 11BA;
+BB2C;BB2C;1106 116D 11BB;BB2C;1106 116D 11BB;
+BB2D;BB2D;1106 116D 11BC;BB2D;1106 116D 11BC;
+BB2E;BB2E;1106 116D 11BD;BB2E;1106 116D 11BD;
+BB2F;BB2F;1106 116D 11BE;BB2F;1106 116D 11BE;
+BB30;BB30;1106 116D 11BF;BB30;1106 116D 11BF;
+BB31;BB31;1106 116D 11C0;BB31;1106 116D 11C0;
+BB32;BB32;1106 116D 11C1;BB32;1106 116D 11C1;
+BB33;BB33;1106 116D 11C2;BB33;1106 116D 11C2;
+BB34;BB34;1106 116E;BB34;1106 116E;
+BB35;BB35;1106 116E 11A8;BB35;1106 116E 11A8;
+BB36;BB36;1106 116E 11A9;BB36;1106 116E 11A9;
+BB37;BB37;1106 116E 11AA;BB37;1106 116E 11AA;
+BB38;BB38;1106 116E 11AB;BB38;1106 116E 11AB;
+BB39;BB39;1106 116E 11AC;BB39;1106 116E 11AC;
+BB3A;BB3A;1106 116E 11AD;BB3A;1106 116E 11AD;
+BB3B;BB3B;1106 116E 11AE;BB3B;1106 116E 11AE;
+BB3C;BB3C;1106 116E 11AF;BB3C;1106 116E 11AF;
+BB3D;BB3D;1106 116E 11B0;BB3D;1106 116E 11B0;
+BB3E;BB3E;1106 116E 11B1;BB3E;1106 116E 11B1;
+BB3F;BB3F;1106 116E 11B2;BB3F;1106 116E 11B2;
+BB40;BB40;1106 116E 11B3;BB40;1106 116E 11B3;
+BB41;BB41;1106 116E 11B4;BB41;1106 116E 11B4;
+BB42;BB42;1106 116E 11B5;BB42;1106 116E 11B5;
+BB43;BB43;1106 116E 11B6;BB43;1106 116E 11B6;
+BB44;BB44;1106 116E 11B7;BB44;1106 116E 11B7;
+BB45;BB45;1106 116E 11B8;BB45;1106 116E 11B8;
+BB46;BB46;1106 116E 11B9;BB46;1106 116E 11B9;
+BB47;BB47;1106 116E 11BA;BB47;1106 116E 11BA;
+BB48;BB48;1106 116E 11BB;BB48;1106 116E 11BB;
+BB49;BB49;1106 116E 11BC;BB49;1106 116E 11BC;
+BB4A;BB4A;1106 116E 11BD;BB4A;1106 116E 11BD;
+BB4B;BB4B;1106 116E 11BE;BB4B;1106 116E 11BE;
+BB4C;BB4C;1106 116E 11BF;BB4C;1106 116E 11BF;
+BB4D;BB4D;1106 116E 11C0;BB4D;1106 116E 11C0;
+BB4E;BB4E;1106 116E 11C1;BB4E;1106 116E 11C1;
+BB4F;BB4F;1106 116E 11C2;BB4F;1106 116E 11C2;
+BB50;BB50;1106 116F;BB50;1106 116F;
+BB51;BB51;1106 116F 11A8;BB51;1106 116F 11A8;
+BB52;BB52;1106 116F 11A9;BB52;1106 116F 11A9;
+BB53;BB53;1106 116F 11AA;BB53;1106 116F 11AA;
+BB54;BB54;1106 116F 11AB;BB54;1106 116F 11AB;
+BB55;BB55;1106 116F 11AC;BB55;1106 116F 11AC;
+BB56;BB56;1106 116F 11AD;BB56;1106 116F 11AD;
+BB57;BB57;1106 116F 11AE;BB57;1106 116F 11AE;
+BB58;BB58;1106 116F 11AF;BB58;1106 116F 11AF;
+BB59;BB59;1106 116F 11B0;BB59;1106 116F 11B0;
+BB5A;BB5A;1106 116F 11B1;BB5A;1106 116F 11B1;
+BB5B;BB5B;1106 116F 11B2;BB5B;1106 116F 11B2;
+BB5C;BB5C;1106 116F 11B3;BB5C;1106 116F 11B3;
+BB5D;BB5D;1106 116F 11B4;BB5D;1106 116F 11B4;
+BB5E;BB5E;1106 116F 11B5;BB5E;1106 116F 11B5;
+BB5F;BB5F;1106 116F 11B6;BB5F;1106 116F 11B6;
+BB60;BB60;1106 116F 11B7;BB60;1106 116F 11B7;
+BB61;BB61;1106 116F 11B8;BB61;1106 116F 11B8;
+BB62;BB62;1106 116F 11B9;BB62;1106 116F 11B9;
+BB63;BB63;1106 116F 11BA;BB63;1106 116F 11BA;
+BB64;BB64;1106 116F 11BB;BB64;1106 116F 11BB;
+BB65;BB65;1106 116F 11BC;BB65;1106 116F 11BC;
+BB66;BB66;1106 116F 11BD;BB66;1106 116F 11BD;
+BB67;BB67;1106 116F 11BE;BB67;1106 116F 11BE;
+BB68;BB68;1106 116F 11BF;BB68;1106 116F 11BF;
+BB69;BB69;1106 116F 11C0;BB69;1106 116F 11C0;
+BB6A;BB6A;1106 116F 11C1;BB6A;1106 116F 11C1;
+BB6B;BB6B;1106 116F 11C2;BB6B;1106 116F 11C2;
+BB6C;BB6C;1106 1170;BB6C;1106 1170;
+BB6D;BB6D;1106 1170 11A8;BB6D;1106 1170 11A8;
+BB6E;BB6E;1106 1170 11A9;BB6E;1106 1170 11A9;
+BB6F;BB6F;1106 1170 11AA;BB6F;1106 1170 11AA;
+BB70;BB70;1106 1170 11AB;BB70;1106 1170 11AB;
+BB71;BB71;1106 1170 11AC;BB71;1106 1170 11AC;
+BB72;BB72;1106 1170 11AD;BB72;1106 1170 11AD;
+BB73;BB73;1106 1170 11AE;BB73;1106 1170 11AE;
+BB74;BB74;1106 1170 11AF;BB74;1106 1170 11AF;
+BB75;BB75;1106 1170 11B0;BB75;1106 1170 11B0;
+BB76;BB76;1106 1170 11B1;BB76;1106 1170 11B1;
+BB77;BB77;1106 1170 11B2;BB77;1106 1170 11B2;
+BB78;BB78;1106 1170 11B3;BB78;1106 1170 11B3;
+BB79;BB79;1106 1170 11B4;BB79;1106 1170 11B4;
+BB7A;BB7A;1106 1170 11B5;BB7A;1106 1170 11B5;
+BB7B;BB7B;1106 1170 11B6;BB7B;1106 1170 11B6;
+BB7C;BB7C;1106 1170 11B7;BB7C;1106 1170 11B7;
+BB7D;BB7D;1106 1170 11B8;BB7D;1106 1170 11B8;
+BB7E;BB7E;1106 1170 11B9;BB7E;1106 1170 11B9;
+BB7F;BB7F;1106 1170 11BA;BB7F;1106 1170 11BA;
+BB80;BB80;1106 1170 11BB;BB80;1106 1170 11BB;
+BB81;BB81;1106 1170 11BC;BB81;1106 1170 11BC;
+BB82;BB82;1106 1170 11BD;BB82;1106 1170 11BD;
+BB83;BB83;1106 1170 11BE;BB83;1106 1170 11BE;
+BB84;BB84;1106 1170 11BF;BB84;1106 1170 11BF;
+BB85;BB85;1106 1170 11C0;BB85;1106 1170 11C0;
+BB86;BB86;1106 1170 11C1;BB86;1106 1170 11C1;
+BB87;BB87;1106 1170 11C2;BB87;1106 1170 11C2;
+BB88;BB88;1106 1171;BB88;1106 1171;
+BB89;BB89;1106 1171 11A8;BB89;1106 1171 11A8;
+BB8A;BB8A;1106 1171 11A9;BB8A;1106 1171 11A9;
+BB8B;BB8B;1106 1171 11AA;BB8B;1106 1171 11AA;
+BB8C;BB8C;1106 1171 11AB;BB8C;1106 1171 11AB;
+BB8D;BB8D;1106 1171 11AC;BB8D;1106 1171 11AC;
+BB8E;BB8E;1106 1171 11AD;BB8E;1106 1171 11AD;
+BB8F;BB8F;1106 1171 11AE;BB8F;1106 1171 11AE;
+BB90;BB90;1106 1171 11AF;BB90;1106 1171 11AF;
+BB91;BB91;1106 1171 11B0;BB91;1106 1171 11B0;
+BB92;BB92;1106 1171 11B1;BB92;1106 1171 11B1;
+BB93;BB93;1106 1171 11B2;BB93;1106 1171 11B2;
+BB94;BB94;1106 1171 11B3;BB94;1106 1171 11B3;
+BB95;BB95;1106 1171 11B4;BB95;1106 1171 11B4;
+BB96;BB96;1106 1171 11B5;BB96;1106 1171 11B5;
+BB97;BB97;1106 1171 11B6;BB97;1106 1171 11B6;
+BB98;BB98;1106 1171 11B7;BB98;1106 1171 11B7;
+BB99;BB99;1106 1171 11B8;BB99;1106 1171 11B8;
+BB9A;BB9A;1106 1171 11B9;BB9A;1106 1171 11B9;
+BB9B;BB9B;1106 1171 11BA;BB9B;1106 1171 11BA;
+BB9C;BB9C;1106 1171 11BB;BB9C;1106 1171 11BB;
+BB9D;BB9D;1106 1171 11BC;BB9D;1106 1171 11BC;
+BB9E;BB9E;1106 1171 11BD;BB9E;1106 1171 11BD;
+BB9F;BB9F;1106 1171 11BE;BB9F;1106 1171 11BE;
+BBA0;BBA0;1106 1171 11BF;BBA0;1106 1171 11BF;
+BBA1;BBA1;1106 1171 11C0;BBA1;1106 1171 11C0;
+BBA2;BBA2;1106 1171 11C1;BBA2;1106 1171 11C1;
+BBA3;BBA3;1106 1171 11C2;BBA3;1106 1171 11C2;
+BBA4;BBA4;1106 1172;BBA4;1106 1172;
+BBA5;BBA5;1106 1172 11A8;BBA5;1106 1172 11A8;
+BBA6;BBA6;1106 1172 11A9;BBA6;1106 1172 11A9;
+BBA7;BBA7;1106 1172 11AA;BBA7;1106 1172 11AA;
+BBA8;BBA8;1106 1172 11AB;BBA8;1106 1172 11AB;
+BBA9;BBA9;1106 1172 11AC;BBA9;1106 1172 11AC;
+BBAA;BBAA;1106 1172 11AD;BBAA;1106 1172 11AD;
+BBAB;BBAB;1106 1172 11AE;BBAB;1106 1172 11AE;
+BBAC;BBAC;1106 1172 11AF;BBAC;1106 1172 11AF;
+BBAD;BBAD;1106 1172 11B0;BBAD;1106 1172 11B0;
+BBAE;BBAE;1106 1172 11B1;BBAE;1106 1172 11B1;
+BBAF;BBAF;1106 1172 11B2;BBAF;1106 1172 11B2;
+BBB0;BBB0;1106 1172 11B3;BBB0;1106 1172 11B3;
+BBB1;BBB1;1106 1172 11B4;BBB1;1106 1172 11B4;
+BBB2;BBB2;1106 1172 11B5;BBB2;1106 1172 11B5;
+BBB3;BBB3;1106 1172 11B6;BBB3;1106 1172 11B6;
+BBB4;BBB4;1106 1172 11B7;BBB4;1106 1172 11B7;
+BBB5;BBB5;1106 1172 11B8;BBB5;1106 1172 11B8;
+BBB6;BBB6;1106 1172 11B9;BBB6;1106 1172 11B9;
+BBB7;BBB7;1106 1172 11BA;BBB7;1106 1172 11BA;
+BBB8;BBB8;1106 1172 11BB;BBB8;1106 1172 11BB;
+BBB9;BBB9;1106 1172 11BC;BBB9;1106 1172 11BC;
+BBBA;BBBA;1106 1172 11BD;BBBA;1106 1172 11BD;
+BBBB;BBBB;1106 1172 11BE;BBBB;1106 1172 11BE;
+BBBC;BBBC;1106 1172 11BF;BBBC;1106 1172 11BF;
+BBBD;BBBD;1106 1172 11C0;BBBD;1106 1172 11C0;
+BBBE;BBBE;1106 1172 11C1;BBBE;1106 1172 11C1;
+BBBF;BBBF;1106 1172 11C2;BBBF;1106 1172 11C2;
+BBC0;BBC0;1106 1173;BBC0;1106 1173;
+BBC1;BBC1;1106 1173 11A8;BBC1;1106 1173 11A8;
+BBC2;BBC2;1106 1173 11A9;BBC2;1106 1173 11A9;
+BBC3;BBC3;1106 1173 11AA;BBC3;1106 1173 11AA;
+BBC4;BBC4;1106 1173 11AB;BBC4;1106 1173 11AB;
+BBC5;BBC5;1106 1173 11AC;BBC5;1106 1173 11AC;
+BBC6;BBC6;1106 1173 11AD;BBC6;1106 1173 11AD;
+BBC7;BBC7;1106 1173 11AE;BBC7;1106 1173 11AE;
+BBC8;BBC8;1106 1173 11AF;BBC8;1106 1173 11AF;
+BBC9;BBC9;1106 1173 11B0;BBC9;1106 1173 11B0;
+BBCA;BBCA;1106 1173 11B1;BBCA;1106 1173 11B1;
+BBCB;BBCB;1106 1173 11B2;BBCB;1106 1173 11B2;
+BBCC;BBCC;1106 1173 11B3;BBCC;1106 1173 11B3;
+BBCD;BBCD;1106 1173 11B4;BBCD;1106 1173 11B4;
+BBCE;BBCE;1106 1173 11B5;BBCE;1106 1173 11B5;
+BBCF;BBCF;1106 1173 11B6;BBCF;1106 1173 11B6;
+BBD0;BBD0;1106 1173 11B7;BBD0;1106 1173 11B7;
+BBD1;BBD1;1106 1173 11B8;BBD1;1106 1173 11B8;
+BBD2;BBD2;1106 1173 11B9;BBD2;1106 1173 11B9;
+BBD3;BBD3;1106 1173 11BA;BBD3;1106 1173 11BA;
+BBD4;BBD4;1106 1173 11BB;BBD4;1106 1173 11BB;
+BBD5;BBD5;1106 1173 11BC;BBD5;1106 1173 11BC;
+BBD6;BBD6;1106 1173 11BD;BBD6;1106 1173 11BD;
+BBD7;BBD7;1106 1173 11BE;BBD7;1106 1173 11BE;
+BBD8;BBD8;1106 1173 11BF;BBD8;1106 1173 11BF;
+BBD9;BBD9;1106 1173 11C0;BBD9;1106 1173 11C0;
+BBDA;BBDA;1106 1173 11C1;BBDA;1106 1173 11C1;
+BBDB;BBDB;1106 1173 11C2;BBDB;1106 1173 11C2;
+BBDC;BBDC;1106 1174;BBDC;1106 1174;
+BBDD;BBDD;1106 1174 11A8;BBDD;1106 1174 11A8;
+BBDE;BBDE;1106 1174 11A9;BBDE;1106 1174 11A9;
+BBDF;BBDF;1106 1174 11AA;BBDF;1106 1174 11AA;
+BBE0;BBE0;1106 1174 11AB;BBE0;1106 1174 11AB;
+BBE1;BBE1;1106 1174 11AC;BBE1;1106 1174 11AC;
+BBE2;BBE2;1106 1174 11AD;BBE2;1106 1174 11AD;
+BBE3;BBE3;1106 1174 11AE;BBE3;1106 1174 11AE;
+BBE4;BBE4;1106 1174 11AF;BBE4;1106 1174 11AF;
+BBE5;BBE5;1106 1174 11B0;BBE5;1106 1174 11B0;
+BBE6;BBE6;1106 1174 11B1;BBE6;1106 1174 11B1;
+BBE7;BBE7;1106 1174 11B2;BBE7;1106 1174 11B2;
+BBE8;BBE8;1106 1174 11B3;BBE8;1106 1174 11B3;
+BBE9;BBE9;1106 1174 11B4;BBE9;1106 1174 11B4;
+BBEA;BBEA;1106 1174 11B5;BBEA;1106 1174 11B5;
+BBEB;BBEB;1106 1174 11B6;BBEB;1106 1174 11B6;
+BBEC;BBEC;1106 1174 11B7;BBEC;1106 1174 11B7;
+BBED;BBED;1106 1174 11B8;BBED;1106 1174 11B8;
+BBEE;BBEE;1106 1174 11B9;BBEE;1106 1174 11B9;
+BBEF;BBEF;1106 1174 11BA;BBEF;1106 1174 11BA;
+BBF0;BBF0;1106 1174 11BB;BBF0;1106 1174 11BB;
+BBF1;BBF1;1106 1174 11BC;BBF1;1106 1174 11BC;
+BBF2;BBF2;1106 1174 11BD;BBF2;1106 1174 11BD;
+BBF3;BBF3;1106 1174 11BE;BBF3;1106 1174 11BE;
+BBF4;BBF4;1106 1174 11BF;BBF4;1106 1174 11BF;
+BBF5;BBF5;1106 1174 11C0;BBF5;1106 1174 11C0;
+BBF6;BBF6;1106 1174 11C1;BBF6;1106 1174 11C1;
+BBF7;BBF7;1106 1174 11C2;BBF7;1106 1174 11C2;
+BBF8;BBF8;1106 1175;BBF8;1106 1175;
+BBF9;BBF9;1106 1175 11A8;BBF9;1106 1175 11A8;
+BBFA;BBFA;1106 1175 11A9;BBFA;1106 1175 11A9;
+BBFB;BBFB;1106 1175 11AA;BBFB;1106 1175 11AA;
+BBFC;BBFC;1106 1175 11AB;BBFC;1106 1175 11AB;
+BBFD;BBFD;1106 1175 11AC;BBFD;1106 1175 11AC;
+BBFE;BBFE;1106 1175 11AD;BBFE;1106 1175 11AD;
+BBFF;BBFF;1106 1175 11AE;BBFF;1106 1175 11AE;
+BC00;BC00;1106 1175 11AF;BC00;1106 1175 11AF;
+BC01;BC01;1106 1175 11B0;BC01;1106 1175 11B0;
+BC02;BC02;1106 1175 11B1;BC02;1106 1175 11B1;
+BC03;BC03;1106 1175 11B2;BC03;1106 1175 11B2;
+BC04;BC04;1106 1175 11B3;BC04;1106 1175 11B3;
+BC05;BC05;1106 1175 11B4;BC05;1106 1175 11B4;
+BC06;BC06;1106 1175 11B5;BC06;1106 1175 11B5;
+BC07;BC07;1106 1175 11B6;BC07;1106 1175 11B6;
+BC08;BC08;1106 1175 11B7;BC08;1106 1175 11B7;
+BC09;BC09;1106 1175 11B8;BC09;1106 1175 11B8;
+BC0A;BC0A;1106 1175 11B9;BC0A;1106 1175 11B9;
+BC0B;BC0B;1106 1175 11BA;BC0B;1106 1175 11BA;
+BC0C;BC0C;1106 1175 11BB;BC0C;1106 1175 11BB;
+BC0D;BC0D;1106 1175 11BC;BC0D;1106 1175 11BC;
+BC0E;BC0E;1106 1175 11BD;BC0E;1106 1175 11BD;
+BC0F;BC0F;1106 1175 11BE;BC0F;1106 1175 11BE;
+BC10;BC10;1106 1175 11BF;BC10;1106 1175 11BF;
+BC11;BC11;1106 1175 11C0;BC11;1106 1175 11C0;
+BC12;BC12;1106 1175 11C1;BC12;1106 1175 11C1;
+BC13;BC13;1106 1175 11C2;BC13;1106 1175 11C2;
+BC14;BC14;1107 1161;BC14;1107 1161;
+BC15;BC15;1107 1161 11A8;BC15;1107 1161 11A8;
+BC16;BC16;1107 1161 11A9;BC16;1107 1161 11A9;
+BC17;BC17;1107 1161 11AA;BC17;1107 1161 11AA;
+BC18;BC18;1107 1161 11AB;BC18;1107 1161 11AB;
+BC19;BC19;1107 1161 11AC;BC19;1107 1161 11AC;
+BC1A;BC1A;1107 1161 11AD;BC1A;1107 1161 11AD;
+BC1B;BC1B;1107 1161 11AE;BC1B;1107 1161 11AE;
+BC1C;BC1C;1107 1161 11AF;BC1C;1107 1161 11AF;
+BC1D;BC1D;1107 1161 11B0;BC1D;1107 1161 11B0;
+BC1E;BC1E;1107 1161 11B1;BC1E;1107 1161 11B1;
+BC1F;BC1F;1107 1161 11B2;BC1F;1107 1161 11B2;
+BC20;BC20;1107 1161 11B3;BC20;1107 1161 11B3;
+BC21;BC21;1107 1161 11B4;BC21;1107 1161 11B4;
+BC22;BC22;1107 1161 11B5;BC22;1107 1161 11B5;
+BC23;BC23;1107 1161 11B6;BC23;1107 1161 11B6;
+BC24;BC24;1107 1161 11B7;BC24;1107 1161 11B7;
+BC25;BC25;1107 1161 11B8;BC25;1107 1161 11B8;
+BC26;BC26;1107 1161 11B9;BC26;1107 1161 11B9;
+BC27;BC27;1107 1161 11BA;BC27;1107 1161 11BA;
+BC28;BC28;1107 1161 11BB;BC28;1107 1161 11BB;
+BC29;BC29;1107 1161 11BC;BC29;1107 1161 11BC;
+BC2A;BC2A;1107 1161 11BD;BC2A;1107 1161 11BD;
+BC2B;BC2B;1107 1161 11BE;BC2B;1107 1161 11BE;
+BC2C;BC2C;1107 1161 11BF;BC2C;1107 1161 11BF;
+BC2D;BC2D;1107 1161 11C0;BC2D;1107 1161 11C0;
+BC2E;BC2E;1107 1161 11C1;BC2E;1107 1161 11C1;
+BC2F;BC2F;1107 1161 11C2;BC2F;1107 1161 11C2;
+BC30;BC30;1107 1162;BC30;1107 1162;
+BC31;BC31;1107 1162 11A8;BC31;1107 1162 11A8;
+BC32;BC32;1107 1162 11A9;BC32;1107 1162 11A9;
+BC33;BC33;1107 1162 11AA;BC33;1107 1162 11AA;
+BC34;BC34;1107 1162 11AB;BC34;1107 1162 11AB;
+BC35;BC35;1107 1162 11AC;BC35;1107 1162 11AC;
+BC36;BC36;1107 1162 11AD;BC36;1107 1162 11AD;
+BC37;BC37;1107 1162 11AE;BC37;1107 1162 11AE;
+BC38;BC38;1107 1162 11AF;BC38;1107 1162 11AF;
+BC39;BC39;1107 1162 11B0;BC39;1107 1162 11B0;
+BC3A;BC3A;1107 1162 11B1;BC3A;1107 1162 11B1;
+BC3B;BC3B;1107 1162 11B2;BC3B;1107 1162 11B2;
+BC3C;BC3C;1107 1162 11B3;BC3C;1107 1162 11B3;
+BC3D;BC3D;1107 1162 11B4;BC3D;1107 1162 11B4;
+BC3E;BC3E;1107 1162 11B5;BC3E;1107 1162 11B5;
+BC3F;BC3F;1107 1162 11B6;BC3F;1107 1162 11B6;
+BC40;BC40;1107 1162 11B7;BC40;1107 1162 11B7;
+BC41;BC41;1107 1162 11B8;BC41;1107 1162 11B8;
+BC42;BC42;1107 1162 11B9;BC42;1107 1162 11B9;
+BC43;BC43;1107 1162 11BA;BC43;1107 1162 11BA;
+BC44;BC44;1107 1162 11BB;BC44;1107 1162 11BB;
+BC45;BC45;1107 1162 11BC;BC45;1107 1162 11BC;
+BC46;BC46;1107 1162 11BD;BC46;1107 1162 11BD;
+BC47;BC47;1107 1162 11BE;BC47;1107 1162 11BE;
+BC48;BC48;1107 1162 11BF;BC48;1107 1162 11BF;
+BC49;BC49;1107 1162 11C0;BC49;1107 1162 11C0;
+BC4A;BC4A;1107 1162 11C1;BC4A;1107 1162 11C1;
+BC4B;BC4B;1107 1162 11C2;BC4B;1107 1162 11C2;
+BC4C;BC4C;1107 1163;BC4C;1107 1163;
+BC4D;BC4D;1107 1163 11A8;BC4D;1107 1163 11A8;
+BC4E;BC4E;1107 1163 11A9;BC4E;1107 1163 11A9;
+BC4F;BC4F;1107 1163 11AA;BC4F;1107 1163 11AA;
+BC50;BC50;1107 1163 11AB;BC50;1107 1163 11AB;
+BC51;BC51;1107 1163 11AC;BC51;1107 1163 11AC;
+BC52;BC52;1107 1163 11AD;BC52;1107 1163 11AD;
+BC53;BC53;1107 1163 11AE;BC53;1107 1163 11AE;
+BC54;BC54;1107 1163 11AF;BC54;1107 1163 11AF;
+BC55;BC55;1107 1163 11B0;BC55;1107 1163 11B0;
+BC56;BC56;1107 1163 11B1;BC56;1107 1163 11B1;
+BC57;BC57;1107 1163 11B2;BC57;1107 1163 11B2;
+BC58;BC58;1107 1163 11B3;BC58;1107 1163 11B3;
+BC59;BC59;1107 1163 11B4;BC59;1107 1163 11B4;
+BC5A;BC5A;1107 1163 11B5;BC5A;1107 1163 11B5;
+BC5B;BC5B;1107 1163 11B6;BC5B;1107 1163 11B6;
+BC5C;BC5C;1107 1163 11B7;BC5C;1107 1163 11B7;
+BC5D;BC5D;1107 1163 11B8;BC5D;1107 1163 11B8;
+BC5E;BC5E;1107 1163 11B9;BC5E;1107 1163 11B9;
+BC5F;BC5F;1107 1163 11BA;BC5F;1107 1163 11BA;
+BC60;BC60;1107 1163 11BB;BC60;1107 1163 11BB;
+BC61;BC61;1107 1163 11BC;BC61;1107 1163 11BC;
+BC62;BC62;1107 1163 11BD;BC62;1107 1163 11BD;
+BC63;BC63;1107 1163 11BE;BC63;1107 1163 11BE;
+BC64;BC64;1107 1163 11BF;BC64;1107 1163 11BF;
+BC65;BC65;1107 1163 11C0;BC65;1107 1163 11C0;
+BC66;BC66;1107 1163 11C1;BC66;1107 1163 11C1;
+BC67;BC67;1107 1163 11C2;BC67;1107 1163 11C2;
+BC68;BC68;1107 1164;BC68;1107 1164;
+BC69;BC69;1107 1164 11A8;BC69;1107 1164 11A8;
+BC6A;BC6A;1107 1164 11A9;BC6A;1107 1164 11A9;
+BC6B;BC6B;1107 1164 11AA;BC6B;1107 1164 11AA;
+BC6C;BC6C;1107 1164 11AB;BC6C;1107 1164 11AB;
+BC6D;BC6D;1107 1164 11AC;BC6D;1107 1164 11AC;
+BC6E;BC6E;1107 1164 11AD;BC6E;1107 1164 11AD;
+BC6F;BC6F;1107 1164 11AE;BC6F;1107 1164 11AE;
+BC70;BC70;1107 1164 11AF;BC70;1107 1164 11AF;
+BC71;BC71;1107 1164 11B0;BC71;1107 1164 11B0;
+BC72;BC72;1107 1164 11B1;BC72;1107 1164 11B1;
+BC73;BC73;1107 1164 11B2;BC73;1107 1164 11B2;
+BC74;BC74;1107 1164 11B3;BC74;1107 1164 11B3;
+BC75;BC75;1107 1164 11B4;BC75;1107 1164 11B4;
+BC76;BC76;1107 1164 11B5;BC76;1107 1164 11B5;
+BC77;BC77;1107 1164 11B6;BC77;1107 1164 11B6;
+BC78;BC78;1107 1164 11B7;BC78;1107 1164 11B7;
+BC79;BC79;1107 1164 11B8;BC79;1107 1164 11B8;
+BC7A;BC7A;1107 1164 11B9;BC7A;1107 1164 11B9;
+BC7B;BC7B;1107 1164 11BA;BC7B;1107 1164 11BA;
+BC7C;BC7C;1107 1164 11BB;BC7C;1107 1164 11BB;
+BC7D;BC7D;1107 1164 11BC;BC7D;1107 1164 11BC;
+BC7E;BC7E;1107 1164 11BD;BC7E;1107 1164 11BD;
+BC7F;BC7F;1107 1164 11BE;BC7F;1107 1164 11BE;
+BC80;BC80;1107 1164 11BF;BC80;1107 1164 11BF;
+BC81;BC81;1107 1164 11C0;BC81;1107 1164 11C0;
+BC82;BC82;1107 1164 11C1;BC82;1107 1164 11C1;
+BC83;BC83;1107 1164 11C2;BC83;1107 1164 11C2;
+BC84;BC84;1107 1165;BC84;1107 1165;
+BC85;BC85;1107 1165 11A8;BC85;1107 1165 11A8;
+BC86;BC86;1107 1165 11A9;BC86;1107 1165 11A9;
+BC87;BC87;1107 1165 11AA;BC87;1107 1165 11AA;
+BC88;BC88;1107 1165 11AB;BC88;1107 1165 11AB;
+BC89;BC89;1107 1165 11AC;BC89;1107 1165 11AC;
+BC8A;BC8A;1107 1165 11AD;BC8A;1107 1165 11AD;
+BC8B;BC8B;1107 1165 11AE;BC8B;1107 1165 11AE;
+BC8C;BC8C;1107 1165 11AF;BC8C;1107 1165 11AF;
+BC8D;BC8D;1107 1165 11B0;BC8D;1107 1165 11B0;
+BC8E;BC8E;1107 1165 11B1;BC8E;1107 1165 11B1;
+BC8F;BC8F;1107 1165 11B2;BC8F;1107 1165 11B2;
+BC90;BC90;1107 1165 11B3;BC90;1107 1165 11B3;
+BC91;BC91;1107 1165 11B4;BC91;1107 1165 11B4;
+BC92;BC92;1107 1165 11B5;BC92;1107 1165 11B5;
+BC93;BC93;1107 1165 11B6;BC93;1107 1165 11B6;
+BC94;BC94;1107 1165 11B7;BC94;1107 1165 11B7;
+BC95;BC95;1107 1165 11B8;BC95;1107 1165 11B8;
+BC96;BC96;1107 1165 11B9;BC96;1107 1165 11B9;
+BC97;BC97;1107 1165 11BA;BC97;1107 1165 11BA;
+BC98;BC98;1107 1165 11BB;BC98;1107 1165 11BB;
+BC99;BC99;1107 1165 11BC;BC99;1107 1165 11BC;
+BC9A;BC9A;1107 1165 11BD;BC9A;1107 1165 11BD;
+BC9B;BC9B;1107 1165 11BE;BC9B;1107 1165 11BE;
+BC9C;BC9C;1107 1165 11BF;BC9C;1107 1165 11BF;
+BC9D;BC9D;1107 1165 11C0;BC9D;1107 1165 11C0;
+BC9E;BC9E;1107 1165 11C1;BC9E;1107 1165 11C1;
+BC9F;BC9F;1107 1165 11C2;BC9F;1107 1165 11C2;
+BCA0;BCA0;1107 1166;BCA0;1107 1166;
+BCA1;BCA1;1107 1166 11A8;BCA1;1107 1166 11A8;
+BCA2;BCA2;1107 1166 11A9;BCA2;1107 1166 11A9;
+BCA3;BCA3;1107 1166 11AA;BCA3;1107 1166 11AA;
+BCA4;BCA4;1107 1166 11AB;BCA4;1107 1166 11AB;
+BCA5;BCA5;1107 1166 11AC;BCA5;1107 1166 11AC;
+BCA6;BCA6;1107 1166 11AD;BCA6;1107 1166 11AD;
+BCA7;BCA7;1107 1166 11AE;BCA7;1107 1166 11AE;
+BCA8;BCA8;1107 1166 11AF;BCA8;1107 1166 11AF;
+BCA9;BCA9;1107 1166 11B0;BCA9;1107 1166 11B0;
+BCAA;BCAA;1107 1166 11B1;BCAA;1107 1166 11B1;
+BCAB;BCAB;1107 1166 11B2;BCAB;1107 1166 11B2;
+BCAC;BCAC;1107 1166 11B3;BCAC;1107 1166 11B3;
+BCAD;BCAD;1107 1166 11B4;BCAD;1107 1166 11B4;
+BCAE;BCAE;1107 1166 11B5;BCAE;1107 1166 11B5;
+BCAF;BCAF;1107 1166 11B6;BCAF;1107 1166 11B6;
+BCB0;BCB0;1107 1166 11B7;BCB0;1107 1166 11B7;
+BCB1;BCB1;1107 1166 11B8;BCB1;1107 1166 11B8;
+BCB2;BCB2;1107 1166 11B9;BCB2;1107 1166 11B9;
+BCB3;BCB3;1107 1166 11BA;BCB3;1107 1166 11BA;
+BCB4;BCB4;1107 1166 11BB;BCB4;1107 1166 11BB;
+BCB5;BCB5;1107 1166 11BC;BCB5;1107 1166 11BC;
+BCB6;BCB6;1107 1166 11BD;BCB6;1107 1166 11BD;
+BCB7;BCB7;1107 1166 11BE;BCB7;1107 1166 11BE;
+BCB8;BCB8;1107 1166 11BF;BCB8;1107 1166 11BF;
+BCB9;BCB9;1107 1166 11C0;BCB9;1107 1166 11C0;
+BCBA;BCBA;1107 1166 11C1;BCBA;1107 1166 11C1;
+BCBB;BCBB;1107 1166 11C2;BCBB;1107 1166 11C2;
+BCBC;BCBC;1107 1167;BCBC;1107 1167;
+BCBD;BCBD;1107 1167 11A8;BCBD;1107 1167 11A8;
+BCBE;BCBE;1107 1167 11A9;BCBE;1107 1167 11A9;
+BCBF;BCBF;1107 1167 11AA;BCBF;1107 1167 11AA;
+BCC0;BCC0;1107 1167 11AB;BCC0;1107 1167 11AB;
+BCC1;BCC1;1107 1167 11AC;BCC1;1107 1167 11AC;
+BCC2;BCC2;1107 1167 11AD;BCC2;1107 1167 11AD;
+BCC3;BCC3;1107 1167 11AE;BCC3;1107 1167 11AE;
+BCC4;BCC4;1107 1167 11AF;BCC4;1107 1167 11AF;
+BCC5;BCC5;1107 1167 11B0;BCC5;1107 1167 11B0;
+BCC6;BCC6;1107 1167 11B1;BCC6;1107 1167 11B1;
+BCC7;BCC7;1107 1167 11B2;BCC7;1107 1167 11B2;
+BCC8;BCC8;1107 1167 11B3;BCC8;1107 1167 11B3;
+BCC9;BCC9;1107 1167 11B4;BCC9;1107 1167 11B4;
+BCCA;BCCA;1107 1167 11B5;BCCA;1107 1167 11B5;
+BCCB;BCCB;1107 1167 11B6;BCCB;1107 1167 11B6;
+BCCC;BCCC;1107 1167 11B7;BCCC;1107 1167 11B7;
+BCCD;BCCD;1107 1167 11B8;BCCD;1107 1167 11B8;
+BCCE;BCCE;1107 1167 11B9;BCCE;1107 1167 11B9;
+BCCF;BCCF;1107 1167 11BA;BCCF;1107 1167 11BA;
+BCD0;BCD0;1107 1167 11BB;BCD0;1107 1167 11BB;
+BCD1;BCD1;1107 1167 11BC;BCD1;1107 1167 11BC;
+BCD2;BCD2;1107 1167 11BD;BCD2;1107 1167 11BD;
+BCD3;BCD3;1107 1167 11BE;BCD3;1107 1167 11BE;
+BCD4;BCD4;1107 1167 11BF;BCD4;1107 1167 11BF;
+BCD5;BCD5;1107 1167 11C0;BCD5;1107 1167 11C0;
+BCD6;BCD6;1107 1167 11C1;BCD6;1107 1167 11C1;
+BCD7;BCD7;1107 1167 11C2;BCD7;1107 1167 11C2;
+BCD8;BCD8;1107 1168;BCD8;1107 1168;
+BCD9;BCD9;1107 1168 11A8;BCD9;1107 1168 11A8;
+BCDA;BCDA;1107 1168 11A9;BCDA;1107 1168 11A9;
+BCDB;BCDB;1107 1168 11AA;BCDB;1107 1168 11AA;
+BCDC;BCDC;1107 1168 11AB;BCDC;1107 1168 11AB;
+BCDD;BCDD;1107 1168 11AC;BCDD;1107 1168 11AC;
+BCDE;BCDE;1107 1168 11AD;BCDE;1107 1168 11AD;
+BCDF;BCDF;1107 1168 11AE;BCDF;1107 1168 11AE;
+BCE0;BCE0;1107 1168 11AF;BCE0;1107 1168 11AF;
+BCE1;BCE1;1107 1168 11B0;BCE1;1107 1168 11B0;
+BCE2;BCE2;1107 1168 11B1;BCE2;1107 1168 11B1;
+BCE3;BCE3;1107 1168 11B2;BCE3;1107 1168 11B2;
+BCE4;BCE4;1107 1168 11B3;BCE4;1107 1168 11B3;
+BCE5;BCE5;1107 1168 11B4;BCE5;1107 1168 11B4;
+BCE6;BCE6;1107 1168 11B5;BCE6;1107 1168 11B5;
+BCE7;BCE7;1107 1168 11B6;BCE7;1107 1168 11B6;
+BCE8;BCE8;1107 1168 11B7;BCE8;1107 1168 11B7;
+BCE9;BCE9;1107 1168 11B8;BCE9;1107 1168 11B8;
+BCEA;BCEA;1107 1168 11B9;BCEA;1107 1168 11B9;
+BCEB;BCEB;1107 1168 11BA;BCEB;1107 1168 11BA;
+BCEC;BCEC;1107 1168 11BB;BCEC;1107 1168 11BB;
+BCED;BCED;1107 1168 11BC;BCED;1107 1168 11BC;
+BCEE;BCEE;1107 1168 11BD;BCEE;1107 1168 11BD;
+BCEF;BCEF;1107 1168 11BE;BCEF;1107 1168 11BE;
+BCF0;BCF0;1107 1168 11BF;BCF0;1107 1168 11BF;
+BCF1;BCF1;1107 1168 11C0;BCF1;1107 1168 11C0;
+BCF2;BCF2;1107 1168 11C1;BCF2;1107 1168 11C1;
+BCF3;BCF3;1107 1168 11C2;BCF3;1107 1168 11C2;
+BCF4;BCF4;1107 1169;BCF4;1107 1169;
+BCF5;BCF5;1107 1169 11A8;BCF5;1107 1169 11A8;
+BCF6;BCF6;1107 1169 11A9;BCF6;1107 1169 11A9;
+BCF7;BCF7;1107 1169 11AA;BCF7;1107 1169 11AA;
+BCF8;BCF8;1107 1169 11AB;BCF8;1107 1169 11AB;
+BCF9;BCF9;1107 1169 11AC;BCF9;1107 1169 11AC;
+BCFA;BCFA;1107 1169 11AD;BCFA;1107 1169 11AD;
+BCFB;BCFB;1107 1169 11AE;BCFB;1107 1169 11AE;
+BCFC;BCFC;1107 1169 11AF;BCFC;1107 1169 11AF;
+BCFD;BCFD;1107 1169 11B0;BCFD;1107 1169 11B0;
+BCFE;BCFE;1107 1169 11B1;BCFE;1107 1169 11B1;
+BCFF;BCFF;1107 1169 11B2;BCFF;1107 1169 11B2;
+BD00;BD00;1107 1169 11B3;BD00;1107 1169 11B3;
+BD01;BD01;1107 1169 11B4;BD01;1107 1169 11B4;
+BD02;BD02;1107 1169 11B5;BD02;1107 1169 11B5;
+BD03;BD03;1107 1169 11B6;BD03;1107 1169 11B6;
+BD04;BD04;1107 1169 11B7;BD04;1107 1169 11B7;
+BD05;BD05;1107 1169 11B8;BD05;1107 1169 11B8;
+BD06;BD06;1107 1169 11B9;BD06;1107 1169 11B9;
+BD07;BD07;1107 1169 11BA;BD07;1107 1169 11BA;
+BD08;BD08;1107 1169 11BB;BD08;1107 1169 11BB;
+BD09;BD09;1107 1169 11BC;BD09;1107 1169 11BC;
+BD0A;BD0A;1107 1169 11BD;BD0A;1107 1169 11BD;
+BD0B;BD0B;1107 1169 11BE;BD0B;1107 1169 11BE;
+BD0C;BD0C;1107 1169 11BF;BD0C;1107 1169 11BF;
+BD0D;BD0D;1107 1169 11C0;BD0D;1107 1169 11C0;
+BD0E;BD0E;1107 1169 11C1;BD0E;1107 1169 11C1;
+BD0F;BD0F;1107 1169 11C2;BD0F;1107 1169 11C2;
+BD10;BD10;1107 116A;BD10;1107 116A;
+BD11;BD11;1107 116A 11A8;BD11;1107 116A 11A8;
+BD12;BD12;1107 116A 11A9;BD12;1107 116A 11A9;
+BD13;BD13;1107 116A 11AA;BD13;1107 116A 11AA;
+BD14;BD14;1107 116A 11AB;BD14;1107 116A 11AB;
+BD15;BD15;1107 116A 11AC;BD15;1107 116A 11AC;
+BD16;BD16;1107 116A 11AD;BD16;1107 116A 11AD;
+BD17;BD17;1107 116A 11AE;BD17;1107 116A 11AE;
+BD18;BD18;1107 116A 11AF;BD18;1107 116A 11AF;
+BD19;BD19;1107 116A 11B0;BD19;1107 116A 11B0;
+BD1A;BD1A;1107 116A 11B1;BD1A;1107 116A 11B1;
+BD1B;BD1B;1107 116A 11B2;BD1B;1107 116A 11B2;
+BD1C;BD1C;1107 116A 11B3;BD1C;1107 116A 11B3;
+BD1D;BD1D;1107 116A 11B4;BD1D;1107 116A 11B4;
+BD1E;BD1E;1107 116A 11B5;BD1E;1107 116A 11B5;
+BD1F;BD1F;1107 116A 11B6;BD1F;1107 116A 11B6;
+BD20;BD20;1107 116A 11B7;BD20;1107 116A 11B7;
+BD21;BD21;1107 116A 11B8;BD21;1107 116A 11B8;
+BD22;BD22;1107 116A 11B9;BD22;1107 116A 11B9;
+BD23;BD23;1107 116A 11BA;BD23;1107 116A 11BA;
+BD24;BD24;1107 116A 11BB;BD24;1107 116A 11BB;
+BD25;BD25;1107 116A 11BC;BD25;1107 116A 11BC;
+BD26;BD26;1107 116A 11BD;BD26;1107 116A 11BD;
+BD27;BD27;1107 116A 11BE;BD27;1107 116A 11BE;
+BD28;BD28;1107 116A 11BF;BD28;1107 116A 11BF;
+BD29;BD29;1107 116A 11C0;BD29;1107 116A 11C0;
+BD2A;BD2A;1107 116A 11C1;BD2A;1107 116A 11C1;
+BD2B;BD2B;1107 116A 11C2;BD2B;1107 116A 11C2;
+BD2C;BD2C;1107 116B;BD2C;1107 116B;
+BD2D;BD2D;1107 116B 11A8;BD2D;1107 116B 11A8;
+BD2E;BD2E;1107 116B 11A9;BD2E;1107 116B 11A9;
+BD2F;BD2F;1107 116B 11AA;BD2F;1107 116B 11AA;
+BD30;BD30;1107 116B 11AB;BD30;1107 116B 11AB;
+BD31;BD31;1107 116B 11AC;BD31;1107 116B 11AC;
+BD32;BD32;1107 116B 11AD;BD32;1107 116B 11AD;
+BD33;BD33;1107 116B 11AE;BD33;1107 116B 11AE;
+BD34;BD34;1107 116B 11AF;BD34;1107 116B 11AF;
+BD35;BD35;1107 116B 11B0;BD35;1107 116B 11B0;
+BD36;BD36;1107 116B 11B1;BD36;1107 116B 11B1;
+BD37;BD37;1107 116B 11B2;BD37;1107 116B 11B2;
+BD38;BD38;1107 116B 11B3;BD38;1107 116B 11B3;
+BD39;BD39;1107 116B 11B4;BD39;1107 116B 11B4;
+BD3A;BD3A;1107 116B 11B5;BD3A;1107 116B 11B5;
+BD3B;BD3B;1107 116B 11B6;BD3B;1107 116B 11B6;
+BD3C;BD3C;1107 116B 11B7;BD3C;1107 116B 11B7;
+BD3D;BD3D;1107 116B 11B8;BD3D;1107 116B 11B8;
+BD3E;BD3E;1107 116B 11B9;BD3E;1107 116B 11B9;
+BD3F;BD3F;1107 116B 11BA;BD3F;1107 116B 11BA;
+BD40;BD40;1107 116B 11BB;BD40;1107 116B 11BB;
+BD41;BD41;1107 116B 11BC;BD41;1107 116B 11BC;
+BD42;BD42;1107 116B 11BD;BD42;1107 116B 11BD;
+BD43;BD43;1107 116B 11BE;BD43;1107 116B 11BE;
+BD44;BD44;1107 116B 11BF;BD44;1107 116B 11BF;
+BD45;BD45;1107 116B 11C0;BD45;1107 116B 11C0;
+BD46;BD46;1107 116B 11C1;BD46;1107 116B 11C1;
+BD47;BD47;1107 116B 11C2;BD47;1107 116B 11C2;
+BD48;BD48;1107 116C;BD48;1107 116C;
+BD49;BD49;1107 116C 11A8;BD49;1107 116C 11A8;
+BD4A;BD4A;1107 116C 11A9;BD4A;1107 116C 11A9;
+BD4B;BD4B;1107 116C 11AA;BD4B;1107 116C 11AA;
+BD4C;BD4C;1107 116C 11AB;BD4C;1107 116C 11AB;
+BD4D;BD4D;1107 116C 11AC;BD4D;1107 116C 11AC;
+BD4E;BD4E;1107 116C 11AD;BD4E;1107 116C 11AD;
+BD4F;BD4F;1107 116C 11AE;BD4F;1107 116C 11AE;
+BD50;BD50;1107 116C 11AF;BD50;1107 116C 11AF;
+BD51;BD51;1107 116C 11B0;BD51;1107 116C 11B0;
+BD52;BD52;1107 116C 11B1;BD52;1107 116C 11B1;
+BD53;BD53;1107 116C 11B2;BD53;1107 116C 11B2;
+BD54;BD54;1107 116C 11B3;BD54;1107 116C 11B3;
+BD55;BD55;1107 116C 11B4;BD55;1107 116C 11B4;
+BD56;BD56;1107 116C 11B5;BD56;1107 116C 11B5;
+BD57;BD57;1107 116C 11B6;BD57;1107 116C 11B6;
+BD58;BD58;1107 116C 11B7;BD58;1107 116C 11B7;
+BD59;BD59;1107 116C 11B8;BD59;1107 116C 11B8;
+BD5A;BD5A;1107 116C 11B9;BD5A;1107 116C 11B9;
+BD5B;BD5B;1107 116C 11BA;BD5B;1107 116C 11BA;
+BD5C;BD5C;1107 116C 11BB;BD5C;1107 116C 11BB;
+BD5D;BD5D;1107 116C 11BC;BD5D;1107 116C 11BC;
+BD5E;BD5E;1107 116C 11BD;BD5E;1107 116C 11BD;
+BD5F;BD5F;1107 116C 11BE;BD5F;1107 116C 11BE;
+BD60;BD60;1107 116C 11BF;BD60;1107 116C 11BF;
+BD61;BD61;1107 116C 11C0;BD61;1107 116C 11C0;
+BD62;BD62;1107 116C 11C1;BD62;1107 116C 11C1;
+BD63;BD63;1107 116C 11C2;BD63;1107 116C 11C2;
+BD64;BD64;1107 116D;BD64;1107 116D;
+BD65;BD65;1107 116D 11A8;BD65;1107 116D 11A8;
+BD66;BD66;1107 116D 11A9;BD66;1107 116D 11A9;
+BD67;BD67;1107 116D 11AA;BD67;1107 116D 11AA;
+BD68;BD68;1107 116D 11AB;BD68;1107 116D 11AB;
+BD69;BD69;1107 116D 11AC;BD69;1107 116D 11AC;
+BD6A;BD6A;1107 116D 11AD;BD6A;1107 116D 11AD;
+BD6B;BD6B;1107 116D 11AE;BD6B;1107 116D 11AE;
+BD6C;BD6C;1107 116D 11AF;BD6C;1107 116D 11AF;
+BD6D;BD6D;1107 116D 11B0;BD6D;1107 116D 11B0;
+BD6E;BD6E;1107 116D 11B1;BD6E;1107 116D 11B1;
+BD6F;BD6F;1107 116D 11B2;BD6F;1107 116D 11B2;
+BD70;BD70;1107 116D 11B3;BD70;1107 116D 11B3;
+BD71;BD71;1107 116D 11B4;BD71;1107 116D 11B4;
+BD72;BD72;1107 116D 11B5;BD72;1107 116D 11B5;
+BD73;BD73;1107 116D 11B6;BD73;1107 116D 11B6;
+BD74;BD74;1107 116D 11B7;BD74;1107 116D 11B7;
+BD75;BD75;1107 116D 11B8;BD75;1107 116D 11B8;
+BD76;BD76;1107 116D 11B9;BD76;1107 116D 11B9;
+BD77;BD77;1107 116D 11BA;BD77;1107 116D 11BA;
+BD78;BD78;1107 116D 11BB;BD78;1107 116D 11BB;
+BD79;BD79;1107 116D 11BC;BD79;1107 116D 11BC;
+BD7A;BD7A;1107 116D 11BD;BD7A;1107 116D 11BD;
+BD7B;BD7B;1107 116D 11BE;BD7B;1107 116D 11BE;
+BD7C;BD7C;1107 116D 11BF;BD7C;1107 116D 11BF;
+BD7D;BD7D;1107 116D 11C0;BD7D;1107 116D 11C0;
+BD7E;BD7E;1107 116D 11C1;BD7E;1107 116D 11C1;
+BD7F;BD7F;1107 116D 11C2;BD7F;1107 116D 11C2;
+BD80;BD80;1107 116E;BD80;1107 116E;
+BD81;BD81;1107 116E 11A8;BD81;1107 116E 11A8;
+BD82;BD82;1107 116E 11A9;BD82;1107 116E 11A9;
+BD83;BD83;1107 116E 11AA;BD83;1107 116E 11AA;
+BD84;BD84;1107 116E 11AB;BD84;1107 116E 11AB;
+BD85;BD85;1107 116E 11AC;BD85;1107 116E 11AC;
+BD86;BD86;1107 116E 11AD;BD86;1107 116E 11AD;
+BD87;BD87;1107 116E 11AE;BD87;1107 116E 11AE;
+BD88;BD88;1107 116E 11AF;BD88;1107 116E 11AF;
+BD89;BD89;1107 116E 11B0;BD89;1107 116E 11B0;
+BD8A;BD8A;1107 116E 11B1;BD8A;1107 116E 11B1;
+BD8B;BD8B;1107 116E 11B2;BD8B;1107 116E 11B2;
+BD8C;BD8C;1107 116E 11B3;BD8C;1107 116E 11B3;
+BD8D;BD8D;1107 116E 11B4;BD8D;1107 116E 11B4;
+BD8E;BD8E;1107 116E 11B5;BD8E;1107 116E 11B5;
+BD8F;BD8F;1107 116E 11B6;BD8F;1107 116E 11B6;
+BD90;BD90;1107 116E 11B7;BD90;1107 116E 11B7;
+BD91;BD91;1107 116E 11B8;BD91;1107 116E 11B8;
+BD92;BD92;1107 116E 11B9;BD92;1107 116E 11B9;
+BD93;BD93;1107 116E 11BA;BD93;1107 116E 11BA;
+BD94;BD94;1107 116E 11BB;BD94;1107 116E 11BB;
+BD95;BD95;1107 116E 11BC;BD95;1107 116E 11BC;
+BD96;BD96;1107 116E 11BD;BD96;1107 116E 11BD;
+BD97;BD97;1107 116E 11BE;BD97;1107 116E 11BE;
+BD98;BD98;1107 116E 11BF;BD98;1107 116E 11BF;
+BD99;BD99;1107 116E 11C0;BD99;1107 116E 11C0;
+BD9A;BD9A;1107 116E 11C1;BD9A;1107 116E 11C1;
+BD9B;BD9B;1107 116E 11C2;BD9B;1107 116E 11C2;
+BD9C;BD9C;1107 116F;BD9C;1107 116F;
+BD9D;BD9D;1107 116F 11A8;BD9D;1107 116F 11A8;
+BD9E;BD9E;1107 116F 11A9;BD9E;1107 116F 11A9;
+BD9F;BD9F;1107 116F 11AA;BD9F;1107 116F 11AA;
+BDA0;BDA0;1107 116F 11AB;BDA0;1107 116F 11AB;
+BDA1;BDA1;1107 116F 11AC;BDA1;1107 116F 11AC;
+BDA2;BDA2;1107 116F 11AD;BDA2;1107 116F 11AD;
+BDA3;BDA3;1107 116F 11AE;BDA3;1107 116F 11AE;
+BDA4;BDA4;1107 116F 11AF;BDA4;1107 116F 11AF;
+BDA5;BDA5;1107 116F 11B0;BDA5;1107 116F 11B0;
+BDA6;BDA6;1107 116F 11B1;BDA6;1107 116F 11B1;
+BDA7;BDA7;1107 116F 11B2;BDA7;1107 116F 11B2;
+BDA8;BDA8;1107 116F 11B3;BDA8;1107 116F 11B3;
+BDA9;BDA9;1107 116F 11B4;BDA9;1107 116F 11B4;
+BDAA;BDAA;1107 116F 11B5;BDAA;1107 116F 11B5;
+BDAB;BDAB;1107 116F 11B6;BDAB;1107 116F 11B6;
+BDAC;BDAC;1107 116F 11B7;BDAC;1107 116F 11B7;
+BDAD;BDAD;1107 116F 11B8;BDAD;1107 116F 11B8;
+BDAE;BDAE;1107 116F 11B9;BDAE;1107 116F 11B9;
+BDAF;BDAF;1107 116F 11BA;BDAF;1107 116F 11BA;
+BDB0;BDB0;1107 116F 11BB;BDB0;1107 116F 11BB;
+BDB1;BDB1;1107 116F 11BC;BDB1;1107 116F 11BC;
+BDB2;BDB2;1107 116F 11BD;BDB2;1107 116F 11BD;
+BDB3;BDB3;1107 116F 11BE;BDB3;1107 116F 11BE;
+BDB4;BDB4;1107 116F 11BF;BDB4;1107 116F 11BF;
+BDB5;BDB5;1107 116F 11C0;BDB5;1107 116F 11C0;
+BDB6;BDB6;1107 116F 11C1;BDB6;1107 116F 11C1;
+BDB7;BDB7;1107 116F 11C2;BDB7;1107 116F 11C2;
+BDB8;BDB8;1107 1170;BDB8;1107 1170;
+BDB9;BDB9;1107 1170 11A8;BDB9;1107 1170 11A8;
+BDBA;BDBA;1107 1170 11A9;BDBA;1107 1170 11A9;
+BDBB;BDBB;1107 1170 11AA;BDBB;1107 1170 11AA;
+BDBC;BDBC;1107 1170 11AB;BDBC;1107 1170 11AB;
+BDBD;BDBD;1107 1170 11AC;BDBD;1107 1170 11AC;
+BDBE;BDBE;1107 1170 11AD;BDBE;1107 1170 11AD;
+BDBF;BDBF;1107 1170 11AE;BDBF;1107 1170 11AE;
+BDC0;BDC0;1107 1170 11AF;BDC0;1107 1170 11AF;
+BDC1;BDC1;1107 1170 11B0;BDC1;1107 1170 11B0;
+BDC2;BDC2;1107 1170 11B1;BDC2;1107 1170 11B1;
+BDC3;BDC3;1107 1170 11B2;BDC3;1107 1170 11B2;
+BDC4;BDC4;1107 1170 11B3;BDC4;1107 1170 11B3;
+BDC5;BDC5;1107 1170 11B4;BDC5;1107 1170 11B4;
+BDC6;BDC6;1107 1170 11B5;BDC6;1107 1170 11B5;
+BDC7;BDC7;1107 1170 11B6;BDC7;1107 1170 11B6;
+BDC8;BDC8;1107 1170 11B7;BDC8;1107 1170 11B7;
+BDC9;BDC9;1107 1170 11B8;BDC9;1107 1170 11B8;
+BDCA;BDCA;1107 1170 11B9;BDCA;1107 1170 11B9;
+BDCB;BDCB;1107 1170 11BA;BDCB;1107 1170 11BA;
+BDCC;BDCC;1107 1170 11BB;BDCC;1107 1170 11BB;
+BDCD;BDCD;1107 1170 11BC;BDCD;1107 1170 11BC;
+BDCE;BDCE;1107 1170 11BD;BDCE;1107 1170 11BD;
+BDCF;BDCF;1107 1170 11BE;BDCF;1107 1170 11BE;
+BDD0;BDD0;1107 1170 11BF;BDD0;1107 1170 11BF;
+BDD1;BDD1;1107 1170 11C0;BDD1;1107 1170 11C0;
+BDD2;BDD2;1107 1170 11C1;BDD2;1107 1170 11C1;
+BDD3;BDD3;1107 1170 11C2;BDD3;1107 1170 11C2;
+BDD4;BDD4;1107 1171;BDD4;1107 1171;
+BDD5;BDD5;1107 1171 11A8;BDD5;1107 1171 11A8;
+BDD6;BDD6;1107 1171 11A9;BDD6;1107 1171 11A9;
+BDD7;BDD7;1107 1171 11AA;BDD7;1107 1171 11AA;
+BDD8;BDD8;1107 1171 11AB;BDD8;1107 1171 11AB;
+BDD9;BDD9;1107 1171 11AC;BDD9;1107 1171 11AC;
+BDDA;BDDA;1107 1171 11AD;BDDA;1107 1171 11AD;
+BDDB;BDDB;1107 1171 11AE;BDDB;1107 1171 11AE;
+BDDC;BDDC;1107 1171 11AF;BDDC;1107 1171 11AF;
+BDDD;BDDD;1107 1171 11B0;BDDD;1107 1171 11B0;
+BDDE;BDDE;1107 1171 11B1;BDDE;1107 1171 11B1;
+BDDF;BDDF;1107 1171 11B2;BDDF;1107 1171 11B2;
+BDE0;BDE0;1107 1171 11B3;BDE0;1107 1171 11B3;
+BDE1;BDE1;1107 1171 11B4;BDE1;1107 1171 11B4;
+BDE2;BDE2;1107 1171 11B5;BDE2;1107 1171 11B5;
+BDE3;BDE3;1107 1171 11B6;BDE3;1107 1171 11B6;
+BDE4;BDE4;1107 1171 11B7;BDE4;1107 1171 11B7;
+BDE5;BDE5;1107 1171 11B8;BDE5;1107 1171 11B8;
+BDE6;BDE6;1107 1171 11B9;BDE6;1107 1171 11B9;
+BDE7;BDE7;1107 1171 11BA;BDE7;1107 1171 11BA;
+BDE8;BDE8;1107 1171 11BB;BDE8;1107 1171 11BB;
+BDE9;BDE9;1107 1171 11BC;BDE9;1107 1171 11BC;
+BDEA;BDEA;1107 1171 11BD;BDEA;1107 1171 11BD;
+BDEB;BDEB;1107 1171 11BE;BDEB;1107 1171 11BE;
+BDEC;BDEC;1107 1171 11BF;BDEC;1107 1171 11BF;
+BDED;BDED;1107 1171 11C0;BDED;1107 1171 11C0;
+BDEE;BDEE;1107 1171 11C1;BDEE;1107 1171 11C1;
+BDEF;BDEF;1107 1171 11C2;BDEF;1107 1171 11C2;
+BDF0;BDF0;1107 1172;BDF0;1107 1172;
+BDF1;BDF1;1107 1172 11A8;BDF1;1107 1172 11A8;
+BDF2;BDF2;1107 1172 11A9;BDF2;1107 1172 11A9;
+BDF3;BDF3;1107 1172 11AA;BDF3;1107 1172 11AA;
+BDF4;BDF4;1107 1172 11AB;BDF4;1107 1172 11AB;
+BDF5;BDF5;1107 1172 11AC;BDF5;1107 1172 11AC;
+BDF6;BDF6;1107 1172 11AD;BDF6;1107 1172 11AD;
+BDF7;BDF7;1107 1172 11AE;BDF7;1107 1172 11AE;
+BDF8;BDF8;1107 1172 11AF;BDF8;1107 1172 11AF;
+BDF9;BDF9;1107 1172 11B0;BDF9;1107 1172 11B0;
+BDFA;BDFA;1107 1172 11B1;BDFA;1107 1172 11B1;
+BDFB;BDFB;1107 1172 11B2;BDFB;1107 1172 11B2;
+BDFC;BDFC;1107 1172 11B3;BDFC;1107 1172 11B3;
+BDFD;BDFD;1107 1172 11B4;BDFD;1107 1172 11B4;
+BDFE;BDFE;1107 1172 11B5;BDFE;1107 1172 11B5;
+BDFF;BDFF;1107 1172 11B6;BDFF;1107 1172 11B6;
+BE00;BE00;1107 1172 11B7;BE00;1107 1172 11B7;
+BE01;BE01;1107 1172 11B8;BE01;1107 1172 11B8;
+BE02;BE02;1107 1172 11B9;BE02;1107 1172 11B9;
+BE03;BE03;1107 1172 11BA;BE03;1107 1172 11BA;
+BE04;BE04;1107 1172 11BB;BE04;1107 1172 11BB;
+BE05;BE05;1107 1172 11BC;BE05;1107 1172 11BC;
+BE06;BE06;1107 1172 11BD;BE06;1107 1172 11BD;
+BE07;BE07;1107 1172 11BE;BE07;1107 1172 11BE;
+BE08;BE08;1107 1172 11BF;BE08;1107 1172 11BF;
+BE09;BE09;1107 1172 11C0;BE09;1107 1172 11C0;
+BE0A;BE0A;1107 1172 11C1;BE0A;1107 1172 11C1;
+BE0B;BE0B;1107 1172 11C2;BE0B;1107 1172 11C2;
+BE0C;BE0C;1107 1173;BE0C;1107 1173;
+BE0D;BE0D;1107 1173 11A8;BE0D;1107 1173 11A8;
+BE0E;BE0E;1107 1173 11A9;BE0E;1107 1173 11A9;
+BE0F;BE0F;1107 1173 11AA;BE0F;1107 1173 11AA;
+BE10;BE10;1107 1173 11AB;BE10;1107 1173 11AB;
+BE11;BE11;1107 1173 11AC;BE11;1107 1173 11AC;
+BE12;BE12;1107 1173 11AD;BE12;1107 1173 11AD;
+BE13;BE13;1107 1173 11AE;BE13;1107 1173 11AE;
+BE14;BE14;1107 1173 11AF;BE14;1107 1173 11AF;
+BE15;BE15;1107 1173 11B0;BE15;1107 1173 11B0;
+BE16;BE16;1107 1173 11B1;BE16;1107 1173 11B1;
+BE17;BE17;1107 1173 11B2;BE17;1107 1173 11B2;
+BE18;BE18;1107 1173 11B3;BE18;1107 1173 11B3;
+BE19;BE19;1107 1173 11B4;BE19;1107 1173 11B4;
+BE1A;BE1A;1107 1173 11B5;BE1A;1107 1173 11B5;
+BE1B;BE1B;1107 1173 11B6;BE1B;1107 1173 11B6;
+BE1C;BE1C;1107 1173 11B7;BE1C;1107 1173 11B7;
+BE1D;BE1D;1107 1173 11B8;BE1D;1107 1173 11B8;
+BE1E;BE1E;1107 1173 11B9;BE1E;1107 1173 11B9;
+BE1F;BE1F;1107 1173 11BA;BE1F;1107 1173 11BA;
+BE20;BE20;1107 1173 11BB;BE20;1107 1173 11BB;
+BE21;BE21;1107 1173 11BC;BE21;1107 1173 11BC;
+BE22;BE22;1107 1173 11BD;BE22;1107 1173 11BD;
+BE23;BE23;1107 1173 11BE;BE23;1107 1173 11BE;
+BE24;BE24;1107 1173 11BF;BE24;1107 1173 11BF;
+BE25;BE25;1107 1173 11C0;BE25;1107 1173 11C0;
+BE26;BE26;1107 1173 11C1;BE26;1107 1173 11C1;
+BE27;BE27;1107 1173 11C2;BE27;1107 1173 11C2;
+BE28;BE28;1107 1174;BE28;1107 1174;
+BE29;BE29;1107 1174 11A8;BE29;1107 1174 11A8;
+BE2A;BE2A;1107 1174 11A9;BE2A;1107 1174 11A9;
+BE2B;BE2B;1107 1174 11AA;BE2B;1107 1174 11AA;
+BE2C;BE2C;1107 1174 11AB;BE2C;1107 1174 11AB;
+BE2D;BE2D;1107 1174 11AC;BE2D;1107 1174 11AC;
+BE2E;BE2E;1107 1174 11AD;BE2E;1107 1174 11AD;
+BE2F;BE2F;1107 1174 11AE;BE2F;1107 1174 11AE;
+BE30;BE30;1107 1174 11AF;BE30;1107 1174 11AF;
+BE31;BE31;1107 1174 11B0;BE31;1107 1174 11B0;
+BE32;BE32;1107 1174 11B1;BE32;1107 1174 11B1;
+BE33;BE33;1107 1174 11B2;BE33;1107 1174 11B2;
+BE34;BE34;1107 1174 11B3;BE34;1107 1174 11B3;
+BE35;BE35;1107 1174 11B4;BE35;1107 1174 11B4;
+BE36;BE36;1107 1174 11B5;BE36;1107 1174 11B5;
+BE37;BE37;1107 1174 11B6;BE37;1107 1174 11B6;
+BE38;BE38;1107 1174 11B7;BE38;1107 1174 11B7;
+BE39;BE39;1107 1174 11B8;BE39;1107 1174 11B8;
+BE3A;BE3A;1107 1174 11B9;BE3A;1107 1174 11B9;
+BE3B;BE3B;1107 1174 11BA;BE3B;1107 1174 11BA;
+BE3C;BE3C;1107 1174 11BB;BE3C;1107 1174 11BB;
+BE3D;BE3D;1107 1174 11BC;BE3D;1107 1174 11BC;
+BE3E;BE3E;1107 1174 11BD;BE3E;1107 1174 11BD;
+BE3F;BE3F;1107 1174 11BE;BE3F;1107 1174 11BE;
+BE40;BE40;1107 1174 11BF;BE40;1107 1174 11BF;
+BE41;BE41;1107 1174 11C0;BE41;1107 1174 11C0;
+BE42;BE42;1107 1174 11C1;BE42;1107 1174 11C1;
+BE43;BE43;1107 1174 11C2;BE43;1107 1174 11C2;
+BE44;BE44;1107 1175;BE44;1107 1175;
+BE45;BE45;1107 1175 11A8;BE45;1107 1175 11A8;
+BE46;BE46;1107 1175 11A9;BE46;1107 1175 11A9;
+BE47;BE47;1107 1175 11AA;BE47;1107 1175 11AA;
+BE48;BE48;1107 1175 11AB;BE48;1107 1175 11AB;
+BE49;BE49;1107 1175 11AC;BE49;1107 1175 11AC;
+BE4A;BE4A;1107 1175 11AD;BE4A;1107 1175 11AD;
+BE4B;BE4B;1107 1175 11AE;BE4B;1107 1175 11AE;
+BE4C;BE4C;1107 1175 11AF;BE4C;1107 1175 11AF;
+BE4D;BE4D;1107 1175 11B0;BE4D;1107 1175 11B0;
+BE4E;BE4E;1107 1175 11B1;BE4E;1107 1175 11B1;
+BE4F;BE4F;1107 1175 11B2;BE4F;1107 1175 11B2;
+BE50;BE50;1107 1175 11B3;BE50;1107 1175 11B3;
+BE51;BE51;1107 1175 11B4;BE51;1107 1175 11B4;
+BE52;BE52;1107 1175 11B5;BE52;1107 1175 11B5;
+BE53;BE53;1107 1175 11B6;BE53;1107 1175 11B6;
+BE54;BE54;1107 1175 11B7;BE54;1107 1175 11B7;
+BE55;BE55;1107 1175 11B8;BE55;1107 1175 11B8;
+BE56;BE56;1107 1175 11B9;BE56;1107 1175 11B9;
+BE57;BE57;1107 1175 11BA;BE57;1107 1175 11BA;
+BE58;BE58;1107 1175 11BB;BE58;1107 1175 11BB;
+BE59;BE59;1107 1175 11BC;BE59;1107 1175 11BC;
+BE5A;BE5A;1107 1175 11BD;BE5A;1107 1175 11BD;
+BE5B;BE5B;1107 1175 11BE;BE5B;1107 1175 11BE;
+BE5C;BE5C;1107 1175 11BF;BE5C;1107 1175 11BF;
+BE5D;BE5D;1107 1175 11C0;BE5D;1107 1175 11C0;
+BE5E;BE5E;1107 1175 11C1;BE5E;1107 1175 11C1;
+BE5F;BE5F;1107 1175 11C2;BE5F;1107 1175 11C2;
+BE60;BE60;1108 1161;BE60;1108 1161;
+BE61;BE61;1108 1161 11A8;BE61;1108 1161 11A8;
+BE62;BE62;1108 1161 11A9;BE62;1108 1161 11A9;
+BE63;BE63;1108 1161 11AA;BE63;1108 1161 11AA;
+BE64;BE64;1108 1161 11AB;BE64;1108 1161 11AB;
+BE65;BE65;1108 1161 11AC;BE65;1108 1161 11AC;
+BE66;BE66;1108 1161 11AD;BE66;1108 1161 11AD;
+BE67;BE67;1108 1161 11AE;BE67;1108 1161 11AE;
+BE68;BE68;1108 1161 11AF;BE68;1108 1161 11AF;
+BE69;BE69;1108 1161 11B0;BE69;1108 1161 11B0;
+BE6A;BE6A;1108 1161 11B1;BE6A;1108 1161 11B1;
+BE6B;BE6B;1108 1161 11B2;BE6B;1108 1161 11B2;
+BE6C;BE6C;1108 1161 11B3;BE6C;1108 1161 11B3;
+BE6D;BE6D;1108 1161 11B4;BE6D;1108 1161 11B4;
+BE6E;BE6E;1108 1161 11B5;BE6E;1108 1161 11B5;
+BE6F;BE6F;1108 1161 11B6;BE6F;1108 1161 11B6;
+BE70;BE70;1108 1161 11B7;BE70;1108 1161 11B7;
+BE71;BE71;1108 1161 11B8;BE71;1108 1161 11B8;
+BE72;BE72;1108 1161 11B9;BE72;1108 1161 11B9;
+BE73;BE73;1108 1161 11BA;BE73;1108 1161 11BA;
+BE74;BE74;1108 1161 11BB;BE74;1108 1161 11BB;
+BE75;BE75;1108 1161 11BC;BE75;1108 1161 11BC;
+BE76;BE76;1108 1161 11BD;BE76;1108 1161 11BD;
+BE77;BE77;1108 1161 11BE;BE77;1108 1161 11BE;
+BE78;BE78;1108 1161 11BF;BE78;1108 1161 11BF;
+BE79;BE79;1108 1161 11C0;BE79;1108 1161 11C0;
+BE7A;BE7A;1108 1161 11C1;BE7A;1108 1161 11C1;
+BE7B;BE7B;1108 1161 11C2;BE7B;1108 1161 11C2;
+BE7C;BE7C;1108 1162;BE7C;1108 1162;
+BE7D;BE7D;1108 1162 11A8;BE7D;1108 1162 11A8;
+BE7E;BE7E;1108 1162 11A9;BE7E;1108 1162 11A9;
+BE7F;BE7F;1108 1162 11AA;BE7F;1108 1162 11AA;
+BE80;BE80;1108 1162 11AB;BE80;1108 1162 11AB;
+BE81;BE81;1108 1162 11AC;BE81;1108 1162 11AC;
+BE82;BE82;1108 1162 11AD;BE82;1108 1162 11AD;
+BE83;BE83;1108 1162 11AE;BE83;1108 1162 11AE;
+BE84;BE84;1108 1162 11AF;BE84;1108 1162 11AF;
+BE85;BE85;1108 1162 11B0;BE85;1108 1162 11B0;
+BE86;BE86;1108 1162 11B1;BE86;1108 1162 11B1;
+BE87;BE87;1108 1162 11B2;BE87;1108 1162 11B2;
+BE88;BE88;1108 1162 11B3;BE88;1108 1162 11B3;
+BE89;BE89;1108 1162 11B4;BE89;1108 1162 11B4;
+BE8A;BE8A;1108 1162 11B5;BE8A;1108 1162 11B5;
+BE8B;BE8B;1108 1162 11B6;BE8B;1108 1162 11B6;
+BE8C;BE8C;1108 1162 11B7;BE8C;1108 1162 11B7;
+BE8D;BE8D;1108 1162 11B8;BE8D;1108 1162 11B8;
+BE8E;BE8E;1108 1162 11B9;BE8E;1108 1162 11B9;
+BE8F;BE8F;1108 1162 11BA;BE8F;1108 1162 11BA;
+BE90;BE90;1108 1162 11BB;BE90;1108 1162 11BB;
+BE91;BE91;1108 1162 11BC;BE91;1108 1162 11BC;
+BE92;BE92;1108 1162 11BD;BE92;1108 1162 11BD;
+BE93;BE93;1108 1162 11BE;BE93;1108 1162 11BE;
+BE94;BE94;1108 1162 11BF;BE94;1108 1162 11BF;
+BE95;BE95;1108 1162 11C0;BE95;1108 1162 11C0;
+BE96;BE96;1108 1162 11C1;BE96;1108 1162 11C1;
+BE97;BE97;1108 1162 11C2;BE97;1108 1162 11C2;
+BE98;BE98;1108 1163;BE98;1108 1163;
+BE99;BE99;1108 1163 11A8;BE99;1108 1163 11A8;
+BE9A;BE9A;1108 1163 11A9;BE9A;1108 1163 11A9;
+BE9B;BE9B;1108 1163 11AA;BE9B;1108 1163 11AA;
+BE9C;BE9C;1108 1163 11AB;BE9C;1108 1163 11AB;
+BE9D;BE9D;1108 1163 11AC;BE9D;1108 1163 11AC;
+BE9E;BE9E;1108 1163 11AD;BE9E;1108 1163 11AD;
+BE9F;BE9F;1108 1163 11AE;BE9F;1108 1163 11AE;
+BEA0;BEA0;1108 1163 11AF;BEA0;1108 1163 11AF;
+BEA1;BEA1;1108 1163 11B0;BEA1;1108 1163 11B0;
+BEA2;BEA2;1108 1163 11B1;BEA2;1108 1163 11B1;
+BEA3;BEA3;1108 1163 11B2;BEA3;1108 1163 11B2;
+BEA4;BEA4;1108 1163 11B3;BEA4;1108 1163 11B3;
+BEA5;BEA5;1108 1163 11B4;BEA5;1108 1163 11B4;
+BEA6;BEA6;1108 1163 11B5;BEA6;1108 1163 11B5;
+BEA7;BEA7;1108 1163 11B6;BEA7;1108 1163 11B6;
+BEA8;BEA8;1108 1163 11B7;BEA8;1108 1163 11B7;
+BEA9;BEA9;1108 1163 11B8;BEA9;1108 1163 11B8;
+BEAA;BEAA;1108 1163 11B9;BEAA;1108 1163 11B9;
+BEAB;BEAB;1108 1163 11BA;BEAB;1108 1163 11BA;
+BEAC;BEAC;1108 1163 11BB;BEAC;1108 1163 11BB;
+BEAD;BEAD;1108 1163 11BC;BEAD;1108 1163 11BC;
+BEAE;BEAE;1108 1163 11BD;BEAE;1108 1163 11BD;
+BEAF;BEAF;1108 1163 11BE;BEAF;1108 1163 11BE;
+BEB0;BEB0;1108 1163 11BF;BEB0;1108 1163 11BF;
+BEB1;BEB1;1108 1163 11C0;BEB1;1108 1163 11C0;
+BEB2;BEB2;1108 1163 11C1;BEB2;1108 1163 11C1;
+BEB3;BEB3;1108 1163 11C2;BEB3;1108 1163 11C2;
+BEB4;BEB4;1108 1164;BEB4;1108 1164;
+BEB5;BEB5;1108 1164 11A8;BEB5;1108 1164 11A8;
+BEB6;BEB6;1108 1164 11A9;BEB6;1108 1164 11A9;
+BEB7;BEB7;1108 1164 11AA;BEB7;1108 1164 11AA;
+BEB8;BEB8;1108 1164 11AB;BEB8;1108 1164 11AB;
+BEB9;BEB9;1108 1164 11AC;BEB9;1108 1164 11AC;
+BEBA;BEBA;1108 1164 11AD;BEBA;1108 1164 11AD;
+BEBB;BEBB;1108 1164 11AE;BEBB;1108 1164 11AE;
+BEBC;BEBC;1108 1164 11AF;BEBC;1108 1164 11AF;
+BEBD;BEBD;1108 1164 11B0;BEBD;1108 1164 11B0;
+BEBE;BEBE;1108 1164 11B1;BEBE;1108 1164 11B1;
+BEBF;BEBF;1108 1164 11B2;BEBF;1108 1164 11B2;
+BEC0;BEC0;1108 1164 11B3;BEC0;1108 1164 11B3;
+BEC1;BEC1;1108 1164 11B4;BEC1;1108 1164 11B4;
+BEC2;BEC2;1108 1164 11B5;BEC2;1108 1164 11B5;
+BEC3;BEC3;1108 1164 11B6;BEC3;1108 1164 11B6;
+BEC4;BEC4;1108 1164 11B7;BEC4;1108 1164 11B7;
+BEC5;BEC5;1108 1164 11B8;BEC5;1108 1164 11B8;
+BEC6;BEC6;1108 1164 11B9;BEC6;1108 1164 11B9;
+BEC7;BEC7;1108 1164 11BA;BEC7;1108 1164 11BA;
+BEC8;BEC8;1108 1164 11BB;BEC8;1108 1164 11BB;
+BEC9;BEC9;1108 1164 11BC;BEC9;1108 1164 11BC;
+BECA;BECA;1108 1164 11BD;BECA;1108 1164 11BD;
+BECB;BECB;1108 1164 11BE;BECB;1108 1164 11BE;
+BECC;BECC;1108 1164 11BF;BECC;1108 1164 11BF;
+BECD;BECD;1108 1164 11C0;BECD;1108 1164 11C0;
+BECE;BECE;1108 1164 11C1;BECE;1108 1164 11C1;
+BECF;BECF;1108 1164 11C2;BECF;1108 1164 11C2;
+BED0;BED0;1108 1165;BED0;1108 1165;
+BED1;BED1;1108 1165 11A8;BED1;1108 1165 11A8;
+BED2;BED2;1108 1165 11A9;BED2;1108 1165 11A9;
+BED3;BED3;1108 1165 11AA;BED3;1108 1165 11AA;
+BED4;BED4;1108 1165 11AB;BED4;1108 1165 11AB;
+BED5;BED5;1108 1165 11AC;BED5;1108 1165 11AC;
+BED6;BED6;1108 1165 11AD;BED6;1108 1165 11AD;
+BED7;BED7;1108 1165 11AE;BED7;1108 1165 11AE;
+BED8;BED8;1108 1165 11AF;BED8;1108 1165 11AF;
+BED9;BED9;1108 1165 11B0;BED9;1108 1165 11B0;
+BEDA;BEDA;1108 1165 11B1;BEDA;1108 1165 11B1;
+BEDB;BEDB;1108 1165 11B2;BEDB;1108 1165 11B2;
+BEDC;BEDC;1108 1165 11B3;BEDC;1108 1165 11B3;
+BEDD;BEDD;1108 1165 11B4;BEDD;1108 1165 11B4;
+BEDE;BEDE;1108 1165 11B5;BEDE;1108 1165 11B5;
+BEDF;BEDF;1108 1165 11B6;BEDF;1108 1165 11B6;
+BEE0;BEE0;1108 1165 11B7;BEE0;1108 1165 11B7;
+BEE1;BEE1;1108 1165 11B8;BEE1;1108 1165 11B8;
+BEE2;BEE2;1108 1165 11B9;BEE2;1108 1165 11B9;
+BEE3;BEE3;1108 1165 11BA;BEE3;1108 1165 11BA;
+BEE4;BEE4;1108 1165 11BB;BEE4;1108 1165 11BB;
+BEE5;BEE5;1108 1165 11BC;BEE5;1108 1165 11BC;
+BEE6;BEE6;1108 1165 11BD;BEE6;1108 1165 11BD;
+BEE7;BEE7;1108 1165 11BE;BEE7;1108 1165 11BE;
+BEE8;BEE8;1108 1165 11BF;BEE8;1108 1165 11BF;
+BEE9;BEE9;1108 1165 11C0;BEE9;1108 1165 11C0;
+BEEA;BEEA;1108 1165 11C1;BEEA;1108 1165 11C1;
+BEEB;BEEB;1108 1165 11C2;BEEB;1108 1165 11C2;
+BEEC;BEEC;1108 1166;BEEC;1108 1166;
+BEED;BEED;1108 1166 11A8;BEED;1108 1166 11A8;
+BEEE;BEEE;1108 1166 11A9;BEEE;1108 1166 11A9;
+BEEF;BEEF;1108 1166 11AA;BEEF;1108 1166 11AA;
+BEF0;BEF0;1108 1166 11AB;BEF0;1108 1166 11AB;
+BEF1;BEF1;1108 1166 11AC;BEF1;1108 1166 11AC;
+BEF2;BEF2;1108 1166 11AD;BEF2;1108 1166 11AD;
+BEF3;BEF3;1108 1166 11AE;BEF3;1108 1166 11AE;
+BEF4;BEF4;1108 1166 11AF;BEF4;1108 1166 11AF;
+BEF5;BEF5;1108 1166 11B0;BEF5;1108 1166 11B0;
+BEF6;BEF6;1108 1166 11B1;BEF6;1108 1166 11B1;
+BEF7;BEF7;1108 1166 11B2;BEF7;1108 1166 11B2;
+BEF8;BEF8;1108 1166 11B3;BEF8;1108 1166 11B3;
+BEF9;BEF9;1108 1166 11B4;BEF9;1108 1166 11B4;
+BEFA;BEFA;1108 1166 11B5;BEFA;1108 1166 11B5;
+BEFB;BEFB;1108 1166 11B6;BEFB;1108 1166 11B6;
+BEFC;BEFC;1108 1166 11B7;BEFC;1108 1166 11B7;
+BEFD;BEFD;1108 1166 11B8;BEFD;1108 1166 11B8;
+BEFE;BEFE;1108 1166 11B9;BEFE;1108 1166 11B9;
+BEFF;BEFF;1108 1166 11BA;BEFF;1108 1166 11BA;
+BF00;BF00;1108 1166 11BB;BF00;1108 1166 11BB;
+BF01;BF01;1108 1166 11BC;BF01;1108 1166 11BC;
+BF02;BF02;1108 1166 11BD;BF02;1108 1166 11BD;
+BF03;BF03;1108 1166 11BE;BF03;1108 1166 11BE;
+BF04;BF04;1108 1166 11BF;BF04;1108 1166 11BF;
+BF05;BF05;1108 1166 11C0;BF05;1108 1166 11C0;
+BF06;BF06;1108 1166 11C1;BF06;1108 1166 11C1;
+BF07;BF07;1108 1166 11C2;BF07;1108 1166 11C2;
+BF08;BF08;1108 1167;BF08;1108 1167;
+BF09;BF09;1108 1167 11A8;BF09;1108 1167 11A8;
+BF0A;BF0A;1108 1167 11A9;BF0A;1108 1167 11A9;
+BF0B;BF0B;1108 1167 11AA;BF0B;1108 1167 11AA;
+BF0C;BF0C;1108 1167 11AB;BF0C;1108 1167 11AB;
+BF0D;BF0D;1108 1167 11AC;BF0D;1108 1167 11AC;
+BF0E;BF0E;1108 1167 11AD;BF0E;1108 1167 11AD;
+BF0F;BF0F;1108 1167 11AE;BF0F;1108 1167 11AE;
+BF10;BF10;1108 1167 11AF;BF10;1108 1167 11AF;
+BF11;BF11;1108 1167 11B0;BF11;1108 1167 11B0;
+BF12;BF12;1108 1167 11B1;BF12;1108 1167 11B1;
+BF13;BF13;1108 1167 11B2;BF13;1108 1167 11B2;
+BF14;BF14;1108 1167 11B3;BF14;1108 1167 11B3;
+BF15;BF15;1108 1167 11B4;BF15;1108 1167 11B4;
+BF16;BF16;1108 1167 11B5;BF16;1108 1167 11B5;
+BF17;BF17;1108 1167 11B6;BF17;1108 1167 11B6;
+BF18;BF18;1108 1167 11B7;BF18;1108 1167 11B7;
+BF19;BF19;1108 1167 11B8;BF19;1108 1167 11B8;
+BF1A;BF1A;1108 1167 11B9;BF1A;1108 1167 11B9;
+BF1B;BF1B;1108 1167 11BA;BF1B;1108 1167 11BA;
+BF1C;BF1C;1108 1167 11BB;BF1C;1108 1167 11BB;
+BF1D;BF1D;1108 1167 11BC;BF1D;1108 1167 11BC;
+BF1E;BF1E;1108 1167 11BD;BF1E;1108 1167 11BD;
+BF1F;BF1F;1108 1167 11BE;BF1F;1108 1167 11BE;
+BF20;BF20;1108 1167 11BF;BF20;1108 1167 11BF;
+BF21;BF21;1108 1167 11C0;BF21;1108 1167 11C0;
+BF22;BF22;1108 1167 11C1;BF22;1108 1167 11C1;
+BF23;BF23;1108 1167 11C2;BF23;1108 1167 11C2;
+BF24;BF24;1108 1168;BF24;1108 1168;
+BF25;BF25;1108 1168 11A8;BF25;1108 1168 11A8;
+BF26;BF26;1108 1168 11A9;BF26;1108 1168 11A9;
+BF27;BF27;1108 1168 11AA;BF27;1108 1168 11AA;
+BF28;BF28;1108 1168 11AB;BF28;1108 1168 11AB;
+BF29;BF29;1108 1168 11AC;BF29;1108 1168 11AC;
+BF2A;BF2A;1108 1168 11AD;BF2A;1108 1168 11AD;
+BF2B;BF2B;1108 1168 11AE;BF2B;1108 1168 11AE;
+BF2C;BF2C;1108 1168 11AF;BF2C;1108 1168 11AF;
+BF2D;BF2D;1108 1168 11B0;BF2D;1108 1168 11B0;
+BF2E;BF2E;1108 1168 11B1;BF2E;1108 1168 11B1;
+BF2F;BF2F;1108 1168 11B2;BF2F;1108 1168 11B2;
+BF30;BF30;1108 1168 11B3;BF30;1108 1168 11B3;
+BF31;BF31;1108 1168 11B4;BF31;1108 1168 11B4;
+BF32;BF32;1108 1168 11B5;BF32;1108 1168 11B5;
+BF33;BF33;1108 1168 11B6;BF33;1108 1168 11B6;
+BF34;BF34;1108 1168 11B7;BF34;1108 1168 11B7;
+BF35;BF35;1108 1168 11B8;BF35;1108 1168 11B8;
+BF36;BF36;1108 1168 11B9;BF36;1108 1168 11B9;
+BF37;BF37;1108 1168 11BA;BF37;1108 1168 11BA;
+BF38;BF38;1108 1168 11BB;BF38;1108 1168 11BB;
+BF39;BF39;1108 1168 11BC;BF39;1108 1168 11BC;
+BF3A;BF3A;1108 1168 11BD;BF3A;1108 1168 11BD;
+BF3B;BF3B;1108 1168 11BE;BF3B;1108 1168 11BE;
+BF3C;BF3C;1108 1168 11BF;BF3C;1108 1168 11BF;
+BF3D;BF3D;1108 1168 11C0;BF3D;1108 1168 11C0;
+BF3E;BF3E;1108 1168 11C1;BF3E;1108 1168 11C1;
+BF3F;BF3F;1108 1168 11C2;BF3F;1108 1168 11C2;
+BF40;BF40;1108 1169;BF40;1108 1169;
+BF41;BF41;1108 1169 11A8;BF41;1108 1169 11A8;
+BF42;BF42;1108 1169 11A9;BF42;1108 1169 11A9;
+BF43;BF43;1108 1169 11AA;BF43;1108 1169 11AA;
+BF44;BF44;1108 1169 11AB;BF44;1108 1169 11AB;
+BF45;BF45;1108 1169 11AC;BF45;1108 1169 11AC;
+BF46;BF46;1108 1169 11AD;BF46;1108 1169 11AD;
+BF47;BF47;1108 1169 11AE;BF47;1108 1169 11AE;
+BF48;BF48;1108 1169 11AF;BF48;1108 1169 11AF;
+BF49;BF49;1108 1169 11B0;BF49;1108 1169 11B0;
+BF4A;BF4A;1108 1169 11B1;BF4A;1108 1169 11B1;
+BF4B;BF4B;1108 1169 11B2;BF4B;1108 1169 11B2;
+BF4C;BF4C;1108 1169 11B3;BF4C;1108 1169 11B3;
+BF4D;BF4D;1108 1169 11B4;BF4D;1108 1169 11B4;
+BF4E;BF4E;1108 1169 11B5;BF4E;1108 1169 11B5;
+BF4F;BF4F;1108 1169 11B6;BF4F;1108 1169 11B6;
+BF50;BF50;1108 1169 11B7;BF50;1108 1169 11B7;
+BF51;BF51;1108 1169 11B8;BF51;1108 1169 11B8;
+BF52;BF52;1108 1169 11B9;BF52;1108 1169 11B9;
+BF53;BF53;1108 1169 11BA;BF53;1108 1169 11BA;
+BF54;BF54;1108 1169 11BB;BF54;1108 1169 11BB;
+BF55;BF55;1108 1169 11BC;BF55;1108 1169 11BC;
+BF56;BF56;1108 1169 11BD;BF56;1108 1169 11BD;
+BF57;BF57;1108 1169 11BE;BF57;1108 1169 11BE;
+BF58;BF58;1108 1169 11BF;BF58;1108 1169 11BF;
+BF59;BF59;1108 1169 11C0;BF59;1108 1169 11C0;
+BF5A;BF5A;1108 1169 11C1;BF5A;1108 1169 11C1;
+BF5B;BF5B;1108 1169 11C2;BF5B;1108 1169 11C2;
+BF5C;BF5C;1108 116A;BF5C;1108 116A;
+BF5D;BF5D;1108 116A 11A8;BF5D;1108 116A 11A8;
+BF5E;BF5E;1108 116A 11A9;BF5E;1108 116A 11A9;
+BF5F;BF5F;1108 116A 11AA;BF5F;1108 116A 11AA;
+BF60;BF60;1108 116A 11AB;BF60;1108 116A 11AB;
+BF61;BF61;1108 116A 11AC;BF61;1108 116A 11AC;
+BF62;BF62;1108 116A 11AD;BF62;1108 116A 11AD;
+BF63;BF63;1108 116A 11AE;BF63;1108 116A 11AE;
+BF64;BF64;1108 116A 11AF;BF64;1108 116A 11AF;
+BF65;BF65;1108 116A 11B0;BF65;1108 116A 11B0;
+BF66;BF66;1108 116A 11B1;BF66;1108 116A 11B1;
+BF67;BF67;1108 116A 11B2;BF67;1108 116A 11B2;
+BF68;BF68;1108 116A 11B3;BF68;1108 116A 11B3;
+BF69;BF69;1108 116A 11B4;BF69;1108 116A 11B4;
+BF6A;BF6A;1108 116A 11B5;BF6A;1108 116A 11B5;
+BF6B;BF6B;1108 116A 11B6;BF6B;1108 116A 11B6;
+BF6C;BF6C;1108 116A 11B7;BF6C;1108 116A 11B7;
+BF6D;BF6D;1108 116A 11B8;BF6D;1108 116A 11B8;
+BF6E;BF6E;1108 116A 11B9;BF6E;1108 116A 11B9;
+BF6F;BF6F;1108 116A 11BA;BF6F;1108 116A 11BA;
+BF70;BF70;1108 116A 11BB;BF70;1108 116A 11BB;
+BF71;BF71;1108 116A 11BC;BF71;1108 116A 11BC;
+BF72;BF72;1108 116A 11BD;BF72;1108 116A 11BD;
+BF73;BF73;1108 116A 11BE;BF73;1108 116A 11BE;
+BF74;BF74;1108 116A 11BF;BF74;1108 116A 11BF;
+BF75;BF75;1108 116A 11C0;BF75;1108 116A 11C0;
+BF76;BF76;1108 116A 11C1;BF76;1108 116A 11C1;
+BF77;BF77;1108 116A 11C2;BF77;1108 116A 11C2;
+BF78;BF78;1108 116B;BF78;1108 116B;
+BF79;BF79;1108 116B 11A8;BF79;1108 116B 11A8;
+BF7A;BF7A;1108 116B 11A9;BF7A;1108 116B 11A9;
+BF7B;BF7B;1108 116B 11AA;BF7B;1108 116B 11AA;
+BF7C;BF7C;1108 116B 11AB;BF7C;1108 116B 11AB;
+BF7D;BF7D;1108 116B 11AC;BF7D;1108 116B 11AC;
+BF7E;BF7E;1108 116B 11AD;BF7E;1108 116B 11AD;
+BF7F;BF7F;1108 116B 11AE;BF7F;1108 116B 11AE;
+BF80;BF80;1108 116B 11AF;BF80;1108 116B 11AF;
+BF81;BF81;1108 116B 11B0;BF81;1108 116B 11B0;
+BF82;BF82;1108 116B 11B1;BF82;1108 116B 11B1;
+BF83;BF83;1108 116B 11B2;BF83;1108 116B 11B2;
+BF84;BF84;1108 116B 11B3;BF84;1108 116B 11B3;
+BF85;BF85;1108 116B 11B4;BF85;1108 116B 11B4;
+BF86;BF86;1108 116B 11B5;BF86;1108 116B 11B5;
+BF87;BF87;1108 116B 11B6;BF87;1108 116B 11B6;
+BF88;BF88;1108 116B 11B7;BF88;1108 116B 11B7;
+BF89;BF89;1108 116B 11B8;BF89;1108 116B 11B8;
+BF8A;BF8A;1108 116B 11B9;BF8A;1108 116B 11B9;
+BF8B;BF8B;1108 116B 11BA;BF8B;1108 116B 11BA;
+BF8C;BF8C;1108 116B 11BB;BF8C;1108 116B 11BB;
+BF8D;BF8D;1108 116B 11BC;BF8D;1108 116B 11BC;
+BF8E;BF8E;1108 116B 11BD;BF8E;1108 116B 11BD;
+BF8F;BF8F;1108 116B 11BE;BF8F;1108 116B 11BE;
+BF90;BF90;1108 116B 11BF;BF90;1108 116B 11BF;
+BF91;BF91;1108 116B 11C0;BF91;1108 116B 11C0;
+BF92;BF92;1108 116B 11C1;BF92;1108 116B 11C1;
+BF93;BF93;1108 116B 11C2;BF93;1108 116B 11C2;
+BF94;BF94;1108 116C;BF94;1108 116C;
+BF95;BF95;1108 116C 11A8;BF95;1108 116C 11A8;
+BF96;BF96;1108 116C 11A9;BF96;1108 116C 11A9;
+BF97;BF97;1108 116C 11AA;BF97;1108 116C 11AA;
+BF98;BF98;1108 116C 11AB;BF98;1108 116C 11AB;
+BF99;BF99;1108 116C 11AC;BF99;1108 116C 11AC;
+BF9A;BF9A;1108 116C 11AD;BF9A;1108 116C 11AD;
+BF9B;BF9B;1108 116C 11AE;BF9B;1108 116C 11AE;
+BF9C;BF9C;1108 116C 11AF;BF9C;1108 116C 11AF;
+BF9D;BF9D;1108 116C 11B0;BF9D;1108 116C 11B0;
+BF9E;BF9E;1108 116C 11B1;BF9E;1108 116C 11B1;
+BF9F;BF9F;1108 116C 11B2;BF9F;1108 116C 11B2;
+BFA0;BFA0;1108 116C 11B3;BFA0;1108 116C 11B3;
+BFA1;BFA1;1108 116C 11B4;BFA1;1108 116C 11B4;
+BFA2;BFA2;1108 116C 11B5;BFA2;1108 116C 11B5;
+BFA3;BFA3;1108 116C 11B6;BFA3;1108 116C 11B6;
+BFA4;BFA4;1108 116C 11B7;BFA4;1108 116C 11B7;
+BFA5;BFA5;1108 116C 11B8;BFA5;1108 116C 11B8;
+BFA6;BFA6;1108 116C 11B9;BFA6;1108 116C 11B9;
+BFA7;BFA7;1108 116C 11BA;BFA7;1108 116C 11BA;
+BFA8;BFA8;1108 116C 11BB;BFA8;1108 116C 11BB;
+BFA9;BFA9;1108 116C 11BC;BFA9;1108 116C 11BC;
+BFAA;BFAA;1108 116C 11BD;BFAA;1108 116C 11BD;
+BFAB;BFAB;1108 116C 11BE;BFAB;1108 116C 11BE;
+BFAC;BFAC;1108 116C 11BF;BFAC;1108 116C 11BF;
+BFAD;BFAD;1108 116C 11C0;BFAD;1108 116C 11C0;
+BFAE;BFAE;1108 116C 11C1;BFAE;1108 116C 11C1;
+BFAF;BFAF;1108 116C 11C2;BFAF;1108 116C 11C2;
+BFB0;BFB0;1108 116D;BFB0;1108 116D;
+BFB1;BFB1;1108 116D 11A8;BFB1;1108 116D 11A8;
+BFB2;BFB2;1108 116D 11A9;BFB2;1108 116D 11A9;
+BFB3;BFB3;1108 116D 11AA;BFB3;1108 116D 11AA;
+BFB4;BFB4;1108 116D 11AB;BFB4;1108 116D 11AB;
+BFB5;BFB5;1108 116D 11AC;BFB5;1108 116D 11AC;
+BFB6;BFB6;1108 116D 11AD;BFB6;1108 116D 11AD;
+BFB7;BFB7;1108 116D 11AE;BFB7;1108 116D 11AE;
+BFB8;BFB8;1108 116D 11AF;BFB8;1108 116D 11AF;
+BFB9;BFB9;1108 116D 11B0;BFB9;1108 116D 11B0;
+BFBA;BFBA;1108 116D 11B1;BFBA;1108 116D 11B1;
+BFBB;BFBB;1108 116D 11B2;BFBB;1108 116D 11B2;
+BFBC;BFBC;1108 116D 11B3;BFBC;1108 116D 11B3;
+BFBD;BFBD;1108 116D 11B4;BFBD;1108 116D 11B4;
+BFBE;BFBE;1108 116D 11B5;BFBE;1108 116D 11B5;
+BFBF;BFBF;1108 116D 11B6;BFBF;1108 116D 11B6;
+BFC0;BFC0;1108 116D 11B7;BFC0;1108 116D 11B7;
+BFC1;BFC1;1108 116D 11B8;BFC1;1108 116D 11B8;
+BFC2;BFC2;1108 116D 11B9;BFC2;1108 116D 11B9;
+BFC3;BFC3;1108 116D 11BA;BFC3;1108 116D 11BA;
+BFC4;BFC4;1108 116D 11BB;BFC4;1108 116D 11BB;
+BFC5;BFC5;1108 116D 11BC;BFC5;1108 116D 11BC;
+BFC6;BFC6;1108 116D 11BD;BFC6;1108 116D 11BD;
+BFC7;BFC7;1108 116D 11BE;BFC7;1108 116D 11BE;
+BFC8;BFC8;1108 116D 11BF;BFC8;1108 116D 11BF;
+BFC9;BFC9;1108 116D 11C0;BFC9;1108 116D 11C0;
+BFCA;BFCA;1108 116D 11C1;BFCA;1108 116D 11C1;
+BFCB;BFCB;1108 116D 11C2;BFCB;1108 116D 11C2;
+BFCC;BFCC;1108 116E;BFCC;1108 116E;
+BFCD;BFCD;1108 116E 11A8;BFCD;1108 116E 11A8;
+BFCE;BFCE;1108 116E 11A9;BFCE;1108 116E 11A9;
+BFCF;BFCF;1108 116E 11AA;BFCF;1108 116E 11AA;
+BFD0;BFD0;1108 116E 11AB;BFD0;1108 116E 11AB;
+BFD1;BFD1;1108 116E 11AC;BFD1;1108 116E 11AC;
+BFD2;BFD2;1108 116E 11AD;BFD2;1108 116E 11AD;
+BFD3;BFD3;1108 116E 11AE;BFD3;1108 116E 11AE;
+BFD4;BFD4;1108 116E 11AF;BFD4;1108 116E 11AF;
+BFD5;BFD5;1108 116E 11B0;BFD5;1108 116E 11B0;
+BFD6;BFD6;1108 116E 11B1;BFD6;1108 116E 11B1;
+BFD7;BFD7;1108 116E 11B2;BFD7;1108 116E 11B2;
+BFD8;BFD8;1108 116E 11B3;BFD8;1108 116E 11B3;
+BFD9;BFD9;1108 116E 11B4;BFD9;1108 116E 11B4;
+BFDA;BFDA;1108 116E 11B5;BFDA;1108 116E 11B5;
+BFDB;BFDB;1108 116E 11B6;BFDB;1108 116E 11B6;
+BFDC;BFDC;1108 116E 11B7;BFDC;1108 116E 11B7;
+BFDD;BFDD;1108 116E 11B8;BFDD;1108 116E 11B8;
+BFDE;BFDE;1108 116E 11B9;BFDE;1108 116E 11B9;
+BFDF;BFDF;1108 116E 11BA;BFDF;1108 116E 11BA;
+BFE0;BFE0;1108 116E 11BB;BFE0;1108 116E 11BB;
+BFE1;BFE1;1108 116E 11BC;BFE1;1108 116E 11BC;
+BFE2;BFE2;1108 116E 11BD;BFE2;1108 116E 11BD;
+BFE3;BFE3;1108 116E 11BE;BFE3;1108 116E 11BE;
+BFE4;BFE4;1108 116E 11BF;BFE4;1108 116E 11BF;
+BFE5;BFE5;1108 116E 11C0;BFE5;1108 116E 11C0;
+BFE6;BFE6;1108 116E 11C1;BFE6;1108 116E 11C1;
+BFE7;BFE7;1108 116E 11C2;BFE7;1108 116E 11C2;
+BFE8;BFE8;1108 116F;BFE8;1108 116F;
+BFE9;BFE9;1108 116F 11A8;BFE9;1108 116F 11A8;
+BFEA;BFEA;1108 116F 11A9;BFEA;1108 116F 11A9;
+BFEB;BFEB;1108 116F 11AA;BFEB;1108 116F 11AA;
+BFEC;BFEC;1108 116F 11AB;BFEC;1108 116F 11AB;
+BFED;BFED;1108 116F 11AC;BFED;1108 116F 11AC;
+BFEE;BFEE;1108 116F 11AD;BFEE;1108 116F 11AD;
+BFEF;BFEF;1108 116F 11AE;BFEF;1108 116F 11AE;
+BFF0;BFF0;1108 116F 11AF;BFF0;1108 116F 11AF;
+BFF1;BFF1;1108 116F 11B0;BFF1;1108 116F 11B0;
+BFF2;BFF2;1108 116F 11B1;BFF2;1108 116F 11B1;
+BFF3;BFF3;1108 116F 11B2;BFF3;1108 116F 11B2;
+BFF4;BFF4;1108 116F 11B3;BFF4;1108 116F 11B3;
+BFF5;BFF5;1108 116F 11B4;BFF5;1108 116F 11B4;
+BFF6;BFF6;1108 116F 11B5;BFF6;1108 116F 11B5;
+BFF7;BFF7;1108 116F 11B6;BFF7;1108 116F 11B6;
+BFF8;BFF8;1108 116F 11B7;BFF8;1108 116F 11B7;
+BFF9;BFF9;1108 116F 11B8;BFF9;1108 116F 11B8;
+BFFA;BFFA;1108 116F 11B9;BFFA;1108 116F 11B9;
+BFFB;BFFB;1108 116F 11BA;BFFB;1108 116F 11BA;
+BFFC;BFFC;1108 116F 11BB;BFFC;1108 116F 11BB;
+BFFD;BFFD;1108 116F 11BC;BFFD;1108 116F 11BC;
+BFFE;BFFE;1108 116F 11BD;BFFE;1108 116F 11BD;
+BFFF;BFFF;1108 116F 11BE;BFFF;1108 116F 11BE;
+C000;C000;1108 116F 11BF;C000;1108 116F 11BF;
+C001;C001;1108 116F 11C0;C001;1108 116F 11C0;
+C002;C002;1108 116F 11C1;C002;1108 116F 11C1;
+C003;C003;1108 116F 11C2;C003;1108 116F 11C2;
+C004;C004;1108 1170;C004;1108 1170;
+C005;C005;1108 1170 11A8;C005;1108 1170 11A8;
+C006;C006;1108 1170 11A9;C006;1108 1170 11A9;
+C007;C007;1108 1170 11AA;C007;1108 1170 11AA;
+C008;C008;1108 1170 11AB;C008;1108 1170 11AB;
+C009;C009;1108 1170 11AC;C009;1108 1170 11AC;
+C00A;C00A;1108 1170 11AD;C00A;1108 1170 11AD;
+C00B;C00B;1108 1170 11AE;C00B;1108 1170 11AE;
+C00C;C00C;1108 1170 11AF;C00C;1108 1170 11AF;
+C00D;C00D;1108 1170 11B0;C00D;1108 1170 11B0;
+C00E;C00E;1108 1170 11B1;C00E;1108 1170 11B1;
+C00F;C00F;1108 1170 11B2;C00F;1108 1170 11B2;
+C010;C010;1108 1170 11B3;C010;1108 1170 11B3;
+C011;C011;1108 1170 11B4;C011;1108 1170 11B4;
+C012;C012;1108 1170 11B5;C012;1108 1170 11B5;
+C013;C013;1108 1170 11B6;C013;1108 1170 11B6;
+C014;C014;1108 1170 11B7;C014;1108 1170 11B7;
+C015;C015;1108 1170 11B8;C015;1108 1170 11B8;
+C016;C016;1108 1170 11B9;C016;1108 1170 11B9;
+C017;C017;1108 1170 11BA;C017;1108 1170 11BA;
+C018;C018;1108 1170 11BB;C018;1108 1170 11BB;
+C019;C019;1108 1170 11BC;C019;1108 1170 11BC;
+C01A;C01A;1108 1170 11BD;C01A;1108 1170 11BD;
+C01B;C01B;1108 1170 11BE;C01B;1108 1170 11BE;
+C01C;C01C;1108 1170 11BF;C01C;1108 1170 11BF;
+C01D;C01D;1108 1170 11C0;C01D;1108 1170 11C0;
+C01E;C01E;1108 1170 11C1;C01E;1108 1170 11C1;
+C01F;C01F;1108 1170 11C2;C01F;1108 1170 11C2;
+C020;C020;1108 1171;C020;1108 1171;
+C021;C021;1108 1171 11A8;C021;1108 1171 11A8;
+C022;C022;1108 1171 11A9;C022;1108 1171 11A9;
+C023;C023;1108 1171 11AA;C023;1108 1171 11AA;
+C024;C024;1108 1171 11AB;C024;1108 1171 11AB;
+C025;C025;1108 1171 11AC;C025;1108 1171 11AC;
+C026;C026;1108 1171 11AD;C026;1108 1171 11AD;
+C027;C027;1108 1171 11AE;C027;1108 1171 11AE;
+C028;C028;1108 1171 11AF;C028;1108 1171 11AF;
+C029;C029;1108 1171 11B0;C029;1108 1171 11B0;
+C02A;C02A;1108 1171 11B1;C02A;1108 1171 11B1;
+C02B;C02B;1108 1171 11B2;C02B;1108 1171 11B2;
+C02C;C02C;1108 1171 11B3;C02C;1108 1171 11B3;
+C02D;C02D;1108 1171 11B4;C02D;1108 1171 11B4;
+C02E;C02E;1108 1171 11B5;C02E;1108 1171 11B5;
+C02F;C02F;1108 1171 11B6;C02F;1108 1171 11B6;
+C030;C030;1108 1171 11B7;C030;1108 1171 11B7;
+C031;C031;1108 1171 11B8;C031;1108 1171 11B8;
+C032;C032;1108 1171 11B9;C032;1108 1171 11B9;
+C033;C033;1108 1171 11BA;C033;1108 1171 11BA;
+C034;C034;1108 1171 11BB;C034;1108 1171 11BB;
+C035;C035;1108 1171 11BC;C035;1108 1171 11BC;
+C036;C036;1108 1171 11BD;C036;1108 1171 11BD;
+C037;C037;1108 1171 11BE;C037;1108 1171 11BE;
+C038;C038;1108 1171 11BF;C038;1108 1171 11BF;
+C039;C039;1108 1171 11C0;C039;1108 1171 11C0;
+C03A;C03A;1108 1171 11C1;C03A;1108 1171 11C1;
+C03B;C03B;1108 1171 11C2;C03B;1108 1171 11C2;
+C03C;C03C;1108 1172;C03C;1108 1172;
+C03D;C03D;1108 1172 11A8;C03D;1108 1172 11A8;
+C03E;C03E;1108 1172 11A9;C03E;1108 1172 11A9;
+C03F;C03F;1108 1172 11AA;C03F;1108 1172 11AA;
+C040;C040;1108 1172 11AB;C040;1108 1172 11AB;
+C041;C041;1108 1172 11AC;C041;1108 1172 11AC;
+C042;C042;1108 1172 11AD;C042;1108 1172 11AD;
+C043;C043;1108 1172 11AE;C043;1108 1172 11AE;
+C044;C044;1108 1172 11AF;C044;1108 1172 11AF;
+C045;C045;1108 1172 11B0;C045;1108 1172 11B0;
+C046;C046;1108 1172 11B1;C046;1108 1172 11B1;
+C047;C047;1108 1172 11B2;C047;1108 1172 11B2;
+C048;C048;1108 1172 11B3;C048;1108 1172 11B3;
+C049;C049;1108 1172 11B4;C049;1108 1172 11B4;
+C04A;C04A;1108 1172 11B5;C04A;1108 1172 11B5;
+C04B;C04B;1108 1172 11B6;C04B;1108 1172 11B6;
+C04C;C04C;1108 1172 11B7;C04C;1108 1172 11B7;
+C04D;C04D;1108 1172 11B8;C04D;1108 1172 11B8;
+C04E;C04E;1108 1172 11B9;C04E;1108 1172 11B9;
+C04F;C04F;1108 1172 11BA;C04F;1108 1172 11BA;
+C050;C050;1108 1172 11BB;C050;1108 1172 11BB;
+C051;C051;1108 1172 11BC;C051;1108 1172 11BC;
+C052;C052;1108 1172 11BD;C052;1108 1172 11BD;
+C053;C053;1108 1172 11BE;C053;1108 1172 11BE;
+C054;C054;1108 1172 11BF;C054;1108 1172 11BF;
+C055;C055;1108 1172 11C0;C055;1108 1172 11C0;
+C056;C056;1108 1172 11C1;C056;1108 1172 11C1;
+C057;C057;1108 1172 11C2;C057;1108 1172 11C2;
+C058;C058;1108 1173;C058;1108 1173;
+C059;C059;1108 1173 11A8;C059;1108 1173 11A8;
+C05A;C05A;1108 1173 11A9;C05A;1108 1173 11A9;
+C05B;C05B;1108 1173 11AA;C05B;1108 1173 11AA;
+C05C;C05C;1108 1173 11AB;C05C;1108 1173 11AB;
+C05D;C05D;1108 1173 11AC;C05D;1108 1173 11AC;
+C05E;C05E;1108 1173 11AD;C05E;1108 1173 11AD;
+C05F;C05F;1108 1173 11AE;C05F;1108 1173 11AE;
+C060;C060;1108 1173 11AF;C060;1108 1173 11AF;
+C061;C061;1108 1173 11B0;C061;1108 1173 11B0;
+C062;C062;1108 1173 11B1;C062;1108 1173 11B1;
+C063;C063;1108 1173 11B2;C063;1108 1173 11B2;
+C064;C064;1108 1173 11B3;C064;1108 1173 11B3;
+C065;C065;1108 1173 11B4;C065;1108 1173 11B4;
+C066;C066;1108 1173 11B5;C066;1108 1173 11B5;
+C067;C067;1108 1173 11B6;C067;1108 1173 11B6;
+C068;C068;1108 1173 11B7;C068;1108 1173 11B7;
+C069;C069;1108 1173 11B8;C069;1108 1173 11B8;
+C06A;C06A;1108 1173 11B9;C06A;1108 1173 11B9;
+C06B;C06B;1108 1173 11BA;C06B;1108 1173 11BA;
+C06C;C06C;1108 1173 11BB;C06C;1108 1173 11BB;
+C06D;C06D;1108 1173 11BC;C06D;1108 1173 11BC;
+C06E;C06E;1108 1173 11BD;C06E;1108 1173 11BD;
+C06F;C06F;1108 1173 11BE;C06F;1108 1173 11BE;
+C070;C070;1108 1173 11BF;C070;1108 1173 11BF;
+C071;C071;1108 1173 11C0;C071;1108 1173 11C0;
+C072;C072;1108 1173 11C1;C072;1108 1173 11C1;
+C073;C073;1108 1173 11C2;C073;1108 1173 11C2;
+C074;C074;1108 1174;C074;1108 1174;
+C075;C075;1108 1174 11A8;C075;1108 1174 11A8;
+C076;C076;1108 1174 11A9;C076;1108 1174 11A9;
+C077;C077;1108 1174 11AA;C077;1108 1174 11AA;
+C078;C078;1108 1174 11AB;C078;1108 1174 11AB;
+C079;C079;1108 1174 11AC;C079;1108 1174 11AC;
+C07A;C07A;1108 1174 11AD;C07A;1108 1174 11AD;
+C07B;C07B;1108 1174 11AE;C07B;1108 1174 11AE;
+C07C;C07C;1108 1174 11AF;C07C;1108 1174 11AF;
+C07D;C07D;1108 1174 11B0;C07D;1108 1174 11B0;
+C07E;C07E;1108 1174 11B1;C07E;1108 1174 11B1;
+C07F;C07F;1108 1174 11B2;C07F;1108 1174 11B2;
+C080;C080;1108 1174 11B3;C080;1108 1174 11B3;
+C081;C081;1108 1174 11B4;C081;1108 1174 11B4;
+C082;C082;1108 1174 11B5;C082;1108 1174 11B5;
+C083;C083;1108 1174 11B6;C083;1108 1174 11B6;
+C084;C084;1108 1174 11B7;C084;1108 1174 11B7;
+C085;C085;1108 1174 11B8;C085;1108 1174 11B8;
+C086;C086;1108 1174 11B9;C086;1108 1174 11B9;
+C087;C087;1108 1174 11BA;C087;1108 1174 11BA;
+C088;C088;1108 1174 11BB;C088;1108 1174 11BB;
+C089;C089;1108 1174 11BC;C089;1108 1174 11BC;
+C08A;C08A;1108 1174 11BD;C08A;1108 1174 11BD;
+C08B;C08B;1108 1174 11BE;C08B;1108 1174 11BE;
+C08C;C08C;1108 1174 11BF;C08C;1108 1174 11BF;
+C08D;C08D;1108 1174 11C0;C08D;1108 1174 11C0;
+C08E;C08E;1108 1174 11C1;C08E;1108 1174 11C1;
+C08F;C08F;1108 1174 11C2;C08F;1108 1174 11C2;
+C090;C090;1108 1175;C090;1108 1175;
+C091;C091;1108 1175 11A8;C091;1108 1175 11A8;
+C092;C092;1108 1175 11A9;C092;1108 1175 11A9;
+C093;C093;1108 1175 11AA;C093;1108 1175 11AA;
+C094;C094;1108 1175 11AB;C094;1108 1175 11AB;
+C095;C095;1108 1175 11AC;C095;1108 1175 11AC;
+C096;C096;1108 1175 11AD;C096;1108 1175 11AD;
+C097;C097;1108 1175 11AE;C097;1108 1175 11AE;
+C098;C098;1108 1175 11AF;C098;1108 1175 11AF;
+C099;C099;1108 1175 11B0;C099;1108 1175 11B0;
+C09A;C09A;1108 1175 11B1;C09A;1108 1175 11B1;
+C09B;C09B;1108 1175 11B2;C09B;1108 1175 11B2;
+C09C;C09C;1108 1175 11B3;C09C;1108 1175 11B3;
+C09D;C09D;1108 1175 11B4;C09D;1108 1175 11B4;
+C09E;C09E;1108 1175 11B5;C09E;1108 1175 11B5;
+C09F;C09F;1108 1175 11B6;C09F;1108 1175 11B6;
+C0A0;C0A0;1108 1175 11B7;C0A0;1108 1175 11B7;
+C0A1;C0A1;1108 1175 11B8;C0A1;1108 1175 11B8;
+C0A2;C0A2;1108 1175 11B9;C0A2;1108 1175 11B9;
+C0A3;C0A3;1108 1175 11BA;C0A3;1108 1175 11BA;
+C0A4;C0A4;1108 1175 11BB;C0A4;1108 1175 11BB;
+C0A5;C0A5;1108 1175 11BC;C0A5;1108 1175 11BC;
+C0A6;C0A6;1108 1175 11BD;C0A6;1108 1175 11BD;
+C0A7;C0A7;1108 1175 11BE;C0A7;1108 1175 11BE;
+C0A8;C0A8;1108 1175 11BF;C0A8;1108 1175 11BF;
+C0A9;C0A9;1108 1175 11C0;C0A9;1108 1175 11C0;
+C0AA;C0AA;1108 1175 11C1;C0AA;1108 1175 11C1;
+C0AB;C0AB;1108 1175 11C2;C0AB;1108 1175 11C2;
+C0AC;C0AC;1109 1161;C0AC;1109 1161;
+C0AD;C0AD;1109 1161 11A8;C0AD;1109 1161 11A8;
+C0AE;C0AE;1109 1161 11A9;C0AE;1109 1161 11A9;
+C0AF;C0AF;1109 1161 11AA;C0AF;1109 1161 11AA;
+C0B0;C0B0;1109 1161 11AB;C0B0;1109 1161 11AB;
+C0B1;C0B1;1109 1161 11AC;C0B1;1109 1161 11AC;
+C0B2;C0B2;1109 1161 11AD;C0B2;1109 1161 11AD;
+C0B3;C0B3;1109 1161 11AE;C0B3;1109 1161 11AE;
+C0B4;C0B4;1109 1161 11AF;C0B4;1109 1161 11AF;
+C0B5;C0B5;1109 1161 11B0;C0B5;1109 1161 11B0;
+C0B6;C0B6;1109 1161 11B1;C0B6;1109 1161 11B1;
+C0B7;C0B7;1109 1161 11B2;C0B7;1109 1161 11B2;
+C0B8;C0B8;1109 1161 11B3;C0B8;1109 1161 11B3;
+C0B9;C0B9;1109 1161 11B4;C0B9;1109 1161 11B4;
+C0BA;C0BA;1109 1161 11B5;C0BA;1109 1161 11B5;
+C0BB;C0BB;1109 1161 11B6;C0BB;1109 1161 11B6;
+C0BC;C0BC;1109 1161 11B7;C0BC;1109 1161 11B7;
+C0BD;C0BD;1109 1161 11B8;C0BD;1109 1161 11B8;
+C0BE;C0BE;1109 1161 11B9;C0BE;1109 1161 11B9;
+C0BF;C0BF;1109 1161 11BA;C0BF;1109 1161 11BA;
+C0C0;C0C0;1109 1161 11BB;C0C0;1109 1161 11BB;
+C0C1;C0C1;1109 1161 11BC;C0C1;1109 1161 11BC;
+C0C2;C0C2;1109 1161 11BD;C0C2;1109 1161 11BD;
+C0C3;C0C3;1109 1161 11BE;C0C3;1109 1161 11BE;
+C0C4;C0C4;1109 1161 11BF;C0C4;1109 1161 11BF;
+C0C5;C0C5;1109 1161 11C0;C0C5;1109 1161 11C0;
+C0C6;C0C6;1109 1161 11C1;C0C6;1109 1161 11C1;
+C0C7;C0C7;1109 1161 11C2;C0C7;1109 1161 11C2;
+C0C8;C0C8;1109 1162;C0C8;1109 1162;
+C0C9;C0C9;1109 1162 11A8;C0C9;1109 1162 11A8;
+C0CA;C0CA;1109 1162 11A9;C0CA;1109 1162 11A9;
+C0CB;C0CB;1109 1162 11AA;C0CB;1109 1162 11AA;
+C0CC;C0CC;1109 1162 11AB;C0CC;1109 1162 11AB;
+C0CD;C0CD;1109 1162 11AC;C0CD;1109 1162 11AC;
+C0CE;C0CE;1109 1162 11AD;C0CE;1109 1162 11AD;
+C0CF;C0CF;1109 1162 11AE;C0CF;1109 1162 11AE;
+C0D0;C0D0;1109 1162 11AF;C0D0;1109 1162 11AF;
+C0D1;C0D1;1109 1162 11B0;C0D1;1109 1162 11B0;
+C0D2;C0D2;1109 1162 11B1;C0D2;1109 1162 11B1;
+C0D3;C0D3;1109 1162 11B2;C0D3;1109 1162 11B2;
+C0D4;C0D4;1109 1162 11B3;C0D4;1109 1162 11B3;
+C0D5;C0D5;1109 1162 11B4;C0D5;1109 1162 11B4;
+C0D6;C0D6;1109 1162 11B5;C0D6;1109 1162 11B5;
+C0D7;C0D7;1109 1162 11B6;C0D7;1109 1162 11B6;
+C0D8;C0D8;1109 1162 11B7;C0D8;1109 1162 11B7;
+C0D9;C0D9;1109 1162 11B8;C0D9;1109 1162 11B8;
+C0DA;C0DA;1109 1162 11B9;C0DA;1109 1162 11B9;
+C0DB;C0DB;1109 1162 11BA;C0DB;1109 1162 11BA;
+C0DC;C0DC;1109 1162 11BB;C0DC;1109 1162 11BB;
+C0DD;C0DD;1109 1162 11BC;C0DD;1109 1162 11BC;
+C0DE;C0DE;1109 1162 11BD;C0DE;1109 1162 11BD;
+C0DF;C0DF;1109 1162 11BE;C0DF;1109 1162 11BE;
+C0E0;C0E0;1109 1162 11BF;C0E0;1109 1162 11BF;
+C0E1;C0E1;1109 1162 11C0;C0E1;1109 1162 11C0;
+C0E2;C0E2;1109 1162 11C1;C0E2;1109 1162 11C1;
+C0E3;C0E3;1109 1162 11C2;C0E3;1109 1162 11C2;
+C0E4;C0E4;1109 1163;C0E4;1109 1163;
+C0E5;C0E5;1109 1163 11A8;C0E5;1109 1163 11A8;
+C0E6;C0E6;1109 1163 11A9;C0E6;1109 1163 11A9;
+C0E7;C0E7;1109 1163 11AA;C0E7;1109 1163 11AA;
+C0E8;C0E8;1109 1163 11AB;C0E8;1109 1163 11AB;
+C0E9;C0E9;1109 1163 11AC;C0E9;1109 1163 11AC;
+C0EA;C0EA;1109 1163 11AD;C0EA;1109 1163 11AD;
+C0EB;C0EB;1109 1163 11AE;C0EB;1109 1163 11AE;
+C0EC;C0EC;1109 1163 11AF;C0EC;1109 1163 11AF;
+C0ED;C0ED;1109 1163 11B0;C0ED;1109 1163 11B0;
+C0EE;C0EE;1109 1163 11B1;C0EE;1109 1163 11B1;
+C0EF;C0EF;1109 1163 11B2;C0EF;1109 1163 11B2;
+C0F0;C0F0;1109 1163 11B3;C0F0;1109 1163 11B3;
+C0F1;C0F1;1109 1163 11B4;C0F1;1109 1163 11B4;
+C0F2;C0F2;1109 1163 11B5;C0F2;1109 1163 11B5;
+C0F3;C0F3;1109 1163 11B6;C0F3;1109 1163 11B6;
+C0F4;C0F4;1109 1163 11B7;C0F4;1109 1163 11B7;
+C0F5;C0F5;1109 1163 11B8;C0F5;1109 1163 11B8;
+C0F6;C0F6;1109 1163 11B9;C0F6;1109 1163 11B9;
+C0F7;C0F7;1109 1163 11BA;C0F7;1109 1163 11BA;
+C0F8;C0F8;1109 1163 11BB;C0F8;1109 1163 11BB;
+C0F9;C0F9;1109 1163 11BC;C0F9;1109 1163 11BC;
+C0FA;C0FA;1109 1163 11BD;C0FA;1109 1163 11BD;
+C0FB;C0FB;1109 1163 11BE;C0FB;1109 1163 11BE;
+C0FC;C0FC;1109 1163 11BF;C0FC;1109 1163 11BF;
+C0FD;C0FD;1109 1163 11C0;C0FD;1109 1163 11C0;
+C0FE;C0FE;1109 1163 11C1;C0FE;1109 1163 11C1;
+C0FF;C0FF;1109 1163 11C2;C0FF;1109 1163 11C2;
+C100;C100;1109 1164;C100;1109 1164;
+C101;C101;1109 1164 11A8;C101;1109 1164 11A8;
+C102;C102;1109 1164 11A9;C102;1109 1164 11A9;
+C103;C103;1109 1164 11AA;C103;1109 1164 11AA;
+C104;C104;1109 1164 11AB;C104;1109 1164 11AB;
+C105;C105;1109 1164 11AC;C105;1109 1164 11AC;
+C106;C106;1109 1164 11AD;C106;1109 1164 11AD;
+C107;C107;1109 1164 11AE;C107;1109 1164 11AE;
+C108;C108;1109 1164 11AF;C108;1109 1164 11AF;
+C109;C109;1109 1164 11B0;C109;1109 1164 11B0;
+C10A;C10A;1109 1164 11B1;C10A;1109 1164 11B1;
+C10B;C10B;1109 1164 11B2;C10B;1109 1164 11B2;
+C10C;C10C;1109 1164 11B3;C10C;1109 1164 11B3;
+C10D;C10D;1109 1164 11B4;C10D;1109 1164 11B4;
+C10E;C10E;1109 1164 11B5;C10E;1109 1164 11B5;
+C10F;C10F;1109 1164 11B6;C10F;1109 1164 11B6;
+C110;C110;1109 1164 11B7;C110;1109 1164 11B7;
+C111;C111;1109 1164 11B8;C111;1109 1164 11B8;
+C112;C112;1109 1164 11B9;C112;1109 1164 11B9;
+C113;C113;1109 1164 11BA;C113;1109 1164 11BA;
+C114;C114;1109 1164 11BB;C114;1109 1164 11BB;
+C115;C115;1109 1164 11BC;C115;1109 1164 11BC;
+C116;C116;1109 1164 11BD;C116;1109 1164 11BD;
+C117;C117;1109 1164 11BE;C117;1109 1164 11BE;
+C118;C118;1109 1164 11BF;C118;1109 1164 11BF;
+C119;C119;1109 1164 11C0;C119;1109 1164 11C0;
+C11A;C11A;1109 1164 11C1;C11A;1109 1164 11C1;
+C11B;C11B;1109 1164 11C2;C11B;1109 1164 11C2;
+C11C;C11C;1109 1165;C11C;1109 1165;
+C11D;C11D;1109 1165 11A8;C11D;1109 1165 11A8;
+C11E;C11E;1109 1165 11A9;C11E;1109 1165 11A9;
+C11F;C11F;1109 1165 11AA;C11F;1109 1165 11AA;
+C120;C120;1109 1165 11AB;C120;1109 1165 11AB;
+C121;C121;1109 1165 11AC;C121;1109 1165 11AC;
+C122;C122;1109 1165 11AD;C122;1109 1165 11AD;
+C123;C123;1109 1165 11AE;C123;1109 1165 11AE;
+C124;C124;1109 1165 11AF;C124;1109 1165 11AF;
+C125;C125;1109 1165 11B0;C125;1109 1165 11B0;
+C126;C126;1109 1165 11B1;C126;1109 1165 11B1;
+C127;C127;1109 1165 11B2;C127;1109 1165 11B2;
+C128;C128;1109 1165 11B3;C128;1109 1165 11B3;
+C129;C129;1109 1165 11B4;C129;1109 1165 11B4;
+C12A;C12A;1109 1165 11B5;C12A;1109 1165 11B5;
+C12B;C12B;1109 1165 11B6;C12B;1109 1165 11B6;
+C12C;C12C;1109 1165 11B7;C12C;1109 1165 11B7;
+C12D;C12D;1109 1165 11B8;C12D;1109 1165 11B8;
+C12E;C12E;1109 1165 11B9;C12E;1109 1165 11B9;
+C12F;C12F;1109 1165 11BA;C12F;1109 1165 11BA;
+C130;C130;1109 1165 11BB;C130;1109 1165 11BB;
+C131;C131;1109 1165 11BC;C131;1109 1165 11BC;
+C132;C132;1109 1165 11BD;C132;1109 1165 11BD;
+C133;C133;1109 1165 11BE;C133;1109 1165 11BE;
+C134;C134;1109 1165 11BF;C134;1109 1165 11BF;
+C135;C135;1109 1165 11C0;C135;1109 1165 11C0;
+C136;C136;1109 1165 11C1;C136;1109 1165 11C1;
+C137;C137;1109 1165 11C2;C137;1109 1165 11C2;
+C138;C138;1109 1166;C138;1109 1166;
+C139;C139;1109 1166 11A8;C139;1109 1166 11A8;
+C13A;C13A;1109 1166 11A9;C13A;1109 1166 11A9;
+C13B;C13B;1109 1166 11AA;C13B;1109 1166 11AA;
+C13C;C13C;1109 1166 11AB;C13C;1109 1166 11AB;
+C13D;C13D;1109 1166 11AC;C13D;1109 1166 11AC;
+C13E;C13E;1109 1166 11AD;C13E;1109 1166 11AD;
+C13F;C13F;1109 1166 11AE;C13F;1109 1166 11AE;
+C140;C140;1109 1166 11AF;C140;1109 1166 11AF;
+C141;C141;1109 1166 11B0;C141;1109 1166 11B0;
+C142;C142;1109 1166 11B1;C142;1109 1166 11B1;
+C143;C143;1109 1166 11B2;C143;1109 1166 11B2;
+C144;C144;1109 1166 11B3;C144;1109 1166 11B3;
+C145;C145;1109 1166 11B4;C145;1109 1166 11B4;
+C146;C146;1109 1166 11B5;C146;1109 1166 11B5;
+C147;C147;1109 1166 11B6;C147;1109 1166 11B6;
+C148;C148;1109 1166 11B7;C148;1109 1166 11B7;
+C149;C149;1109 1166 11B8;C149;1109 1166 11B8;
+C14A;C14A;1109 1166 11B9;C14A;1109 1166 11B9;
+C14B;C14B;1109 1166 11BA;C14B;1109 1166 11BA;
+C14C;C14C;1109 1166 11BB;C14C;1109 1166 11BB;
+C14D;C14D;1109 1166 11BC;C14D;1109 1166 11BC;
+C14E;C14E;1109 1166 11BD;C14E;1109 1166 11BD;
+C14F;C14F;1109 1166 11BE;C14F;1109 1166 11BE;
+C150;C150;1109 1166 11BF;C150;1109 1166 11BF;
+C151;C151;1109 1166 11C0;C151;1109 1166 11C0;
+C152;C152;1109 1166 11C1;C152;1109 1166 11C1;
+C153;C153;1109 1166 11C2;C153;1109 1166 11C2;
+C154;C154;1109 1167;C154;1109 1167;
+C155;C155;1109 1167 11A8;C155;1109 1167 11A8;
+C156;C156;1109 1167 11A9;C156;1109 1167 11A9;
+C157;C157;1109 1167 11AA;C157;1109 1167 11AA;
+C158;C158;1109 1167 11AB;C158;1109 1167 11AB;
+C159;C159;1109 1167 11AC;C159;1109 1167 11AC;
+C15A;C15A;1109 1167 11AD;C15A;1109 1167 11AD;
+C15B;C15B;1109 1167 11AE;C15B;1109 1167 11AE;
+C15C;C15C;1109 1167 11AF;C15C;1109 1167 11AF;
+C15D;C15D;1109 1167 11B0;C15D;1109 1167 11B0;
+C15E;C15E;1109 1167 11B1;C15E;1109 1167 11B1;
+C15F;C15F;1109 1167 11B2;C15F;1109 1167 11B2;
+C160;C160;1109 1167 11B3;C160;1109 1167 11B3;
+C161;C161;1109 1167 11B4;C161;1109 1167 11B4;
+C162;C162;1109 1167 11B5;C162;1109 1167 11B5;
+C163;C163;1109 1167 11B6;C163;1109 1167 11B6;
+C164;C164;1109 1167 11B7;C164;1109 1167 11B7;
+C165;C165;1109 1167 11B8;C165;1109 1167 11B8;
+C166;C166;1109 1167 11B9;C166;1109 1167 11B9;
+C167;C167;1109 1167 11BA;C167;1109 1167 11BA;
+C168;C168;1109 1167 11BB;C168;1109 1167 11BB;
+C169;C169;1109 1167 11BC;C169;1109 1167 11BC;
+C16A;C16A;1109 1167 11BD;C16A;1109 1167 11BD;
+C16B;C16B;1109 1167 11BE;C16B;1109 1167 11BE;
+C16C;C16C;1109 1167 11BF;C16C;1109 1167 11BF;
+C16D;C16D;1109 1167 11C0;C16D;1109 1167 11C0;
+C16E;C16E;1109 1167 11C1;C16E;1109 1167 11C1;
+C16F;C16F;1109 1167 11C2;C16F;1109 1167 11C2;
+C170;C170;1109 1168;C170;1109 1168;
+C171;C171;1109 1168 11A8;C171;1109 1168 11A8;
+C172;C172;1109 1168 11A9;C172;1109 1168 11A9;
+C173;C173;1109 1168 11AA;C173;1109 1168 11AA;
+C174;C174;1109 1168 11AB;C174;1109 1168 11AB;
+C175;C175;1109 1168 11AC;C175;1109 1168 11AC;
+C176;C176;1109 1168 11AD;C176;1109 1168 11AD;
+C177;C177;1109 1168 11AE;C177;1109 1168 11AE;
+C178;C178;1109 1168 11AF;C178;1109 1168 11AF;
+C179;C179;1109 1168 11B0;C179;1109 1168 11B0;
+C17A;C17A;1109 1168 11B1;C17A;1109 1168 11B1;
+C17B;C17B;1109 1168 11B2;C17B;1109 1168 11B2;
+C17C;C17C;1109 1168 11B3;C17C;1109 1168 11B3;
+C17D;C17D;1109 1168 11B4;C17D;1109 1168 11B4;
+C17E;C17E;1109 1168 11B5;C17E;1109 1168 11B5;
+C17F;C17F;1109 1168 11B6;C17F;1109 1168 11B6;
+C180;C180;1109 1168 11B7;C180;1109 1168 11B7;
+C181;C181;1109 1168 11B8;C181;1109 1168 11B8;
+C182;C182;1109 1168 11B9;C182;1109 1168 11B9;
+C183;C183;1109 1168 11BA;C183;1109 1168 11BA;
+C184;C184;1109 1168 11BB;C184;1109 1168 11BB;
+C185;C185;1109 1168 11BC;C185;1109 1168 11BC;
+C186;C186;1109 1168 11BD;C186;1109 1168 11BD;
+C187;C187;1109 1168 11BE;C187;1109 1168 11BE;
+C188;C188;1109 1168 11BF;C188;1109 1168 11BF;
+C189;C189;1109 1168 11C0;C189;1109 1168 11C0;
+C18A;C18A;1109 1168 11C1;C18A;1109 1168 11C1;
+C18B;C18B;1109 1168 11C2;C18B;1109 1168 11C2;
+C18C;C18C;1109 1169;C18C;1109 1169;
+C18D;C18D;1109 1169 11A8;C18D;1109 1169 11A8;
+C18E;C18E;1109 1169 11A9;C18E;1109 1169 11A9;
+C18F;C18F;1109 1169 11AA;C18F;1109 1169 11AA;
+C190;C190;1109 1169 11AB;C190;1109 1169 11AB;
+C191;C191;1109 1169 11AC;C191;1109 1169 11AC;
+C192;C192;1109 1169 11AD;C192;1109 1169 11AD;
+C193;C193;1109 1169 11AE;C193;1109 1169 11AE;
+C194;C194;1109 1169 11AF;C194;1109 1169 11AF;
+C195;C195;1109 1169 11B0;C195;1109 1169 11B0;
+C196;C196;1109 1169 11B1;C196;1109 1169 11B1;
+C197;C197;1109 1169 11B2;C197;1109 1169 11B2;
+C198;C198;1109 1169 11B3;C198;1109 1169 11B3;
+C199;C199;1109 1169 11B4;C199;1109 1169 11B4;
+C19A;C19A;1109 1169 11B5;C19A;1109 1169 11B5;
+C19B;C19B;1109 1169 11B6;C19B;1109 1169 11B6;
+C19C;C19C;1109 1169 11B7;C19C;1109 1169 11B7;
+C19D;C19D;1109 1169 11B8;C19D;1109 1169 11B8;
+C19E;C19E;1109 1169 11B9;C19E;1109 1169 11B9;
+C19F;C19F;1109 1169 11BA;C19F;1109 1169 11BA;
+C1A0;C1A0;1109 1169 11BB;C1A0;1109 1169 11BB;
+C1A1;C1A1;1109 1169 11BC;C1A1;1109 1169 11BC;
+C1A2;C1A2;1109 1169 11BD;C1A2;1109 1169 11BD;
+C1A3;C1A3;1109 1169 11BE;C1A3;1109 1169 11BE;
+C1A4;C1A4;1109 1169 11BF;C1A4;1109 1169 11BF;
+C1A5;C1A5;1109 1169 11C0;C1A5;1109 1169 11C0;
+C1A6;C1A6;1109 1169 11C1;C1A6;1109 1169 11C1;
+C1A7;C1A7;1109 1169 11C2;C1A7;1109 1169 11C2;
+C1A8;C1A8;1109 116A;C1A8;1109 116A;
+C1A9;C1A9;1109 116A 11A8;C1A9;1109 116A 11A8;
+C1AA;C1AA;1109 116A 11A9;C1AA;1109 116A 11A9;
+C1AB;C1AB;1109 116A 11AA;C1AB;1109 116A 11AA;
+C1AC;C1AC;1109 116A 11AB;C1AC;1109 116A 11AB;
+C1AD;C1AD;1109 116A 11AC;C1AD;1109 116A 11AC;
+C1AE;C1AE;1109 116A 11AD;C1AE;1109 116A 11AD;
+C1AF;C1AF;1109 116A 11AE;C1AF;1109 116A 11AE;
+C1B0;C1B0;1109 116A 11AF;C1B0;1109 116A 11AF;
+C1B1;C1B1;1109 116A 11B0;C1B1;1109 116A 11B0;
+C1B2;C1B2;1109 116A 11B1;C1B2;1109 116A 11B1;
+C1B3;C1B3;1109 116A 11B2;C1B3;1109 116A 11B2;
+C1B4;C1B4;1109 116A 11B3;C1B4;1109 116A 11B3;
+C1B5;C1B5;1109 116A 11B4;C1B5;1109 116A 11B4;
+C1B6;C1B6;1109 116A 11B5;C1B6;1109 116A 11B5;
+C1B7;C1B7;1109 116A 11B6;C1B7;1109 116A 11B6;
+C1B8;C1B8;1109 116A 11B7;C1B8;1109 116A 11B7;
+C1B9;C1B9;1109 116A 11B8;C1B9;1109 116A 11B8;
+C1BA;C1BA;1109 116A 11B9;C1BA;1109 116A 11B9;
+C1BB;C1BB;1109 116A 11BA;C1BB;1109 116A 11BA;
+C1BC;C1BC;1109 116A 11BB;C1BC;1109 116A 11BB;
+C1BD;C1BD;1109 116A 11BC;C1BD;1109 116A 11BC;
+C1BE;C1BE;1109 116A 11BD;C1BE;1109 116A 11BD;
+C1BF;C1BF;1109 116A 11BE;C1BF;1109 116A 11BE;
+C1C0;C1C0;1109 116A 11BF;C1C0;1109 116A 11BF;
+C1C1;C1C1;1109 116A 11C0;C1C1;1109 116A 11C0;
+C1C2;C1C2;1109 116A 11C1;C1C2;1109 116A 11C1;
+C1C3;C1C3;1109 116A 11C2;C1C3;1109 116A 11C2;
+C1C4;C1C4;1109 116B;C1C4;1109 116B;
+C1C5;C1C5;1109 116B 11A8;C1C5;1109 116B 11A8;
+C1C6;C1C6;1109 116B 11A9;C1C6;1109 116B 11A9;
+C1C7;C1C7;1109 116B 11AA;C1C7;1109 116B 11AA;
+C1C8;C1C8;1109 116B 11AB;C1C8;1109 116B 11AB;
+C1C9;C1C9;1109 116B 11AC;C1C9;1109 116B 11AC;
+C1CA;C1CA;1109 116B 11AD;C1CA;1109 116B 11AD;
+C1CB;C1CB;1109 116B 11AE;C1CB;1109 116B 11AE;
+C1CC;C1CC;1109 116B 11AF;C1CC;1109 116B 11AF;
+C1CD;C1CD;1109 116B 11B0;C1CD;1109 116B 11B0;
+C1CE;C1CE;1109 116B 11B1;C1CE;1109 116B 11B1;
+C1CF;C1CF;1109 116B 11B2;C1CF;1109 116B 11B2;
+C1D0;C1D0;1109 116B 11B3;C1D0;1109 116B 11B3;
+C1D1;C1D1;1109 116B 11B4;C1D1;1109 116B 11B4;
+C1D2;C1D2;1109 116B 11B5;C1D2;1109 116B 11B5;
+C1D3;C1D3;1109 116B 11B6;C1D3;1109 116B 11B6;
+C1D4;C1D4;1109 116B 11B7;C1D4;1109 116B 11B7;
+C1D5;C1D5;1109 116B 11B8;C1D5;1109 116B 11B8;
+C1D6;C1D6;1109 116B 11B9;C1D6;1109 116B 11B9;
+C1D7;C1D7;1109 116B 11BA;C1D7;1109 116B 11BA;
+C1D8;C1D8;1109 116B 11BB;C1D8;1109 116B 11BB;
+C1D9;C1D9;1109 116B 11BC;C1D9;1109 116B 11BC;
+C1DA;C1DA;1109 116B 11BD;C1DA;1109 116B 11BD;
+C1DB;C1DB;1109 116B 11BE;C1DB;1109 116B 11BE;
+C1DC;C1DC;1109 116B 11BF;C1DC;1109 116B 11BF;
+C1DD;C1DD;1109 116B 11C0;C1DD;1109 116B 11C0;
+C1DE;C1DE;1109 116B 11C1;C1DE;1109 116B 11C1;
+C1DF;C1DF;1109 116B 11C2;C1DF;1109 116B 11C2;
+C1E0;C1E0;1109 116C;C1E0;1109 116C;
+C1E1;C1E1;1109 116C 11A8;C1E1;1109 116C 11A8;
+C1E2;C1E2;1109 116C 11A9;C1E2;1109 116C 11A9;
+C1E3;C1E3;1109 116C 11AA;C1E3;1109 116C 11AA;
+C1E4;C1E4;1109 116C 11AB;C1E4;1109 116C 11AB;
+C1E5;C1E5;1109 116C 11AC;C1E5;1109 116C 11AC;
+C1E6;C1E6;1109 116C 11AD;C1E6;1109 116C 11AD;
+C1E7;C1E7;1109 116C 11AE;C1E7;1109 116C 11AE;
+C1E8;C1E8;1109 116C 11AF;C1E8;1109 116C 11AF;
+C1E9;C1E9;1109 116C 11B0;C1E9;1109 116C 11B0;
+C1EA;C1EA;1109 116C 11B1;C1EA;1109 116C 11B1;
+C1EB;C1EB;1109 116C 11B2;C1EB;1109 116C 11B2;
+C1EC;C1EC;1109 116C 11B3;C1EC;1109 116C 11B3;
+C1ED;C1ED;1109 116C 11B4;C1ED;1109 116C 11B4;
+C1EE;C1EE;1109 116C 11B5;C1EE;1109 116C 11B5;
+C1EF;C1EF;1109 116C 11B6;C1EF;1109 116C 11B6;
+C1F0;C1F0;1109 116C 11B7;C1F0;1109 116C 11B7;
+C1F1;C1F1;1109 116C 11B8;C1F1;1109 116C 11B8;
+C1F2;C1F2;1109 116C 11B9;C1F2;1109 116C 11B9;
+C1F3;C1F3;1109 116C 11BA;C1F3;1109 116C 11BA;
+C1F4;C1F4;1109 116C 11BB;C1F4;1109 116C 11BB;
+C1F5;C1F5;1109 116C 11BC;C1F5;1109 116C 11BC;
+C1F6;C1F6;1109 116C 11BD;C1F6;1109 116C 11BD;
+C1F7;C1F7;1109 116C 11BE;C1F7;1109 116C 11BE;
+C1F8;C1F8;1109 116C 11BF;C1F8;1109 116C 11BF;
+C1F9;C1F9;1109 116C 11C0;C1F9;1109 116C 11C0;
+C1FA;C1FA;1109 116C 11C1;C1FA;1109 116C 11C1;
+C1FB;C1FB;1109 116C 11C2;C1FB;1109 116C 11C2;
+C1FC;C1FC;1109 116D;C1FC;1109 116D;
+C1FD;C1FD;1109 116D 11A8;C1FD;1109 116D 11A8;
+C1FE;C1FE;1109 116D 11A9;C1FE;1109 116D 11A9;
+C1FF;C1FF;1109 116D 11AA;C1FF;1109 116D 11AA;
+C200;C200;1109 116D 11AB;C200;1109 116D 11AB;
+C201;C201;1109 116D 11AC;C201;1109 116D 11AC;
+C202;C202;1109 116D 11AD;C202;1109 116D 11AD;
+C203;C203;1109 116D 11AE;C203;1109 116D 11AE;
+C204;C204;1109 116D 11AF;C204;1109 116D 11AF;
+C205;C205;1109 116D 11B0;C205;1109 116D 11B0;
+C206;C206;1109 116D 11B1;C206;1109 116D 11B1;
+C207;C207;1109 116D 11B2;C207;1109 116D 11B2;
+C208;C208;1109 116D 11B3;C208;1109 116D 11B3;
+C209;C209;1109 116D 11B4;C209;1109 116D 11B4;
+C20A;C20A;1109 116D 11B5;C20A;1109 116D 11B5;
+C20B;C20B;1109 116D 11B6;C20B;1109 116D 11B6;
+C20C;C20C;1109 116D 11B7;C20C;1109 116D 11B7;
+C20D;C20D;1109 116D 11B8;C20D;1109 116D 11B8;
+C20E;C20E;1109 116D 11B9;C20E;1109 116D 11B9;
+C20F;C20F;1109 116D 11BA;C20F;1109 116D 11BA;
+C210;C210;1109 116D 11BB;C210;1109 116D 11BB;
+C211;C211;1109 116D 11BC;C211;1109 116D 11BC;
+C212;C212;1109 116D 11BD;C212;1109 116D 11BD;
+C213;C213;1109 116D 11BE;C213;1109 116D 11BE;
+C214;C214;1109 116D 11BF;C214;1109 116D 11BF;
+C215;C215;1109 116D 11C0;C215;1109 116D 11C0;
+C216;C216;1109 116D 11C1;C216;1109 116D 11C1;
+C217;C217;1109 116D 11C2;C217;1109 116D 11C2;
+C218;C218;1109 116E;C218;1109 116E;
+C219;C219;1109 116E 11A8;C219;1109 116E 11A8;
+C21A;C21A;1109 116E 11A9;C21A;1109 116E 11A9;
+C21B;C21B;1109 116E 11AA;C21B;1109 116E 11AA;
+C21C;C21C;1109 116E 11AB;C21C;1109 116E 11AB;
+C21D;C21D;1109 116E 11AC;C21D;1109 116E 11AC;
+C21E;C21E;1109 116E 11AD;C21E;1109 116E 11AD;
+C21F;C21F;1109 116E 11AE;C21F;1109 116E 11AE;
+C220;C220;1109 116E 11AF;C220;1109 116E 11AF;
+C221;C221;1109 116E 11B0;C221;1109 116E 11B0;
+C222;C222;1109 116E 11B1;C222;1109 116E 11B1;
+C223;C223;1109 116E 11B2;C223;1109 116E 11B2;
+C224;C224;1109 116E 11B3;C224;1109 116E 11B3;
+C225;C225;1109 116E 11B4;C225;1109 116E 11B4;
+C226;C226;1109 116E 11B5;C226;1109 116E 11B5;
+C227;C227;1109 116E 11B6;C227;1109 116E 11B6;
+C228;C228;1109 116E 11B7;C228;1109 116E 11B7;
+C229;C229;1109 116E 11B8;C229;1109 116E 11B8;
+C22A;C22A;1109 116E 11B9;C22A;1109 116E 11B9;
+C22B;C22B;1109 116E 11BA;C22B;1109 116E 11BA;
+C22C;C22C;1109 116E 11BB;C22C;1109 116E 11BB;
+C22D;C22D;1109 116E 11BC;C22D;1109 116E 11BC;
+C22E;C22E;1109 116E 11BD;C22E;1109 116E 11BD;
+C22F;C22F;1109 116E 11BE;C22F;1109 116E 11BE;
+C230;C230;1109 116E 11BF;C230;1109 116E 11BF;
+C231;C231;1109 116E 11C0;C231;1109 116E 11C0;
+C232;C232;1109 116E 11C1;C232;1109 116E 11C1;
+C233;C233;1109 116E 11C2;C233;1109 116E 11C2;
+C234;C234;1109 116F;C234;1109 116F;
+C235;C235;1109 116F 11A8;C235;1109 116F 11A8;
+C236;C236;1109 116F 11A9;C236;1109 116F 11A9;
+C237;C237;1109 116F 11AA;C237;1109 116F 11AA;
+C238;C238;1109 116F 11AB;C238;1109 116F 11AB;
+C239;C239;1109 116F 11AC;C239;1109 116F 11AC;
+C23A;C23A;1109 116F 11AD;C23A;1109 116F 11AD;
+C23B;C23B;1109 116F 11AE;C23B;1109 116F 11AE;
+C23C;C23C;1109 116F 11AF;C23C;1109 116F 11AF;
+C23D;C23D;1109 116F 11B0;C23D;1109 116F 11B0;
+C23E;C23E;1109 116F 11B1;C23E;1109 116F 11B1;
+C23F;C23F;1109 116F 11B2;C23F;1109 116F 11B2;
+C240;C240;1109 116F 11B3;C240;1109 116F 11B3;
+C241;C241;1109 116F 11B4;C241;1109 116F 11B4;
+C242;C242;1109 116F 11B5;C242;1109 116F 11B5;
+C243;C243;1109 116F 11B6;C243;1109 116F 11B6;
+C244;C244;1109 116F 11B7;C244;1109 116F 11B7;
+C245;C245;1109 116F 11B8;C245;1109 116F 11B8;
+C246;C246;1109 116F 11B9;C246;1109 116F 11B9;
+C247;C247;1109 116F 11BA;C247;1109 116F 11BA;
+C248;C248;1109 116F 11BB;C248;1109 116F 11BB;
+C249;C249;1109 116F 11BC;C249;1109 116F 11BC;
+C24A;C24A;1109 116F 11BD;C24A;1109 116F 11BD;
+C24B;C24B;1109 116F 11BE;C24B;1109 116F 11BE;
+C24C;C24C;1109 116F 11BF;C24C;1109 116F 11BF;
+C24D;C24D;1109 116F 11C0;C24D;1109 116F 11C0;
+C24E;C24E;1109 116F 11C1;C24E;1109 116F 11C1;
+C24F;C24F;1109 116F 11C2;C24F;1109 116F 11C2;
+C250;C250;1109 1170;C250;1109 1170;
+C251;C251;1109 1170 11A8;C251;1109 1170 11A8;
+C252;C252;1109 1170 11A9;C252;1109 1170 11A9;
+C253;C253;1109 1170 11AA;C253;1109 1170 11AA;
+C254;C254;1109 1170 11AB;C254;1109 1170 11AB;
+C255;C255;1109 1170 11AC;C255;1109 1170 11AC;
+C256;C256;1109 1170 11AD;C256;1109 1170 11AD;
+C257;C257;1109 1170 11AE;C257;1109 1170 11AE;
+C258;C258;1109 1170 11AF;C258;1109 1170 11AF;
+C259;C259;1109 1170 11B0;C259;1109 1170 11B0;
+C25A;C25A;1109 1170 11B1;C25A;1109 1170 11B1;
+C25B;C25B;1109 1170 11B2;C25B;1109 1170 11B2;
+C25C;C25C;1109 1170 11B3;C25C;1109 1170 11B3;
+C25D;C25D;1109 1170 11B4;C25D;1109 1170 11B4;
+C25E;C25E;1109 1170 11B5;C25E;1109 1170 11B5;
+C25F;C25F;1109 1170 11B6;C25F;1109 1170 11B6;
+C260;C260;1109 1170 11B7;C260;1109 1170 11B7;
+C261;C261;1109 1170 11B8;C261;1109 1170 11B8;
+C262;C262;1109 1170 11B9;C262;1109 1170 11B9;
+C263;C263;1109 1170 11BA;C263;1109 1170 11BA;
+C264;C264;1109 1170 11BB;C264;1109 1170 11BB;
+C265;C265;1109 1170 11BC;C265;1109 1170 11BC;
+C266;C266;1109 1170 11BD;C266;1109 1170 11BD;
+C267;C267;1109 1170 11BE;C267;1109 1170 11BE;
+C268;C268;1109 1170 11BF;C268;1109 1170 11BF;
+C269;C269;1109 1170 11C0;C269;1109 1170 11C0;
+C26A;C26A;1109 1170 11C1;C26A;1109 1170 11C1;
+C26B;C26B;1109 1170 11C2;C26B;1109 1170 11C2;
+C26C;C26C;1109 1171;C26C;1109 1171;
+C26D;C26D;1109 1171 11A8;C26D;1109 1171 11A8;
+C26E;C26E;1109 1171 11A9;C26E;1109 1171 11A9;
+C26F;C26F;1109 1171 11AA;C26F;1109 1171 11AA;
+C270;C270;1109 1171 11AB;C270;1109 1171 11AB;
+C271;C271;1109 1171 11AC;C271;1109 1171 11AC;
+C272;C272;1109 1171 11AD;C272;1109 1171 11AD;
+C273;C273;1109 1171 11AE;C273;1109 1171 11AE;
+C274;C274;1109 1171 11AF;C274;1109 1171 11AF;
+C275;C275;1109 1171 11B0;C275;1109 1171 11B0;
+C276;C276;1109 1171 11B1;C276;1109 1171 11B1;
+C277;C277;1109 1171 11B2;C277;1109 1171 11B2;
+C278;C278;1109 1171 11B3;C278;1109 1171 11B3;
+C279;C279;1109 1171 11B4;C279;1109 1171 11B4;
+C27A;C27A;1109 1171 11B5;C27A;1109 1171 11B5;
+C27B;C27B;1109 1171 11B6;C27B;1109 1171 11B6;
+C27C;C27C;1109 1171 11B7;C27C;1109 1171 11B7;
+C27D;C27D;1109 1171 11B8;C27D;1109 1171 11B8;
+C27E;C27E;1109 1171 11B9;C27E;1109 1171 11B9;
+C27F;C27F;1109 1171 11BA;C27F;1109 1171 11BA;
+C280;C280;1109 1171 11BB;C280;1109 1171 11BB;
+C281;C281;1109 1171 11BC;C281;1109 1171 11BC;
+C282;C282;1109 1171 11BD;C282;1109 1171 11BD;
+C283;C283;1109 1171 11BE;C283;1109 1171 11BE;
+C284;C284;1109 1171 11BF;C284;1109 1171 11BF;
+C285;C285;1109 1171 11C0;C285;1109 1171 11C0;
+C286;C286;1109 1171 11C1;C286;1109 1171 11C1;
+C287;C287;1109 1171 11C2;C287;1109 1171 11C2;
+C288;C288;1109 1172;C288;1109 1172;
+C289;C289;1109 1172 11A8;C289;1109 1172 11A8;
+C28A;C28A;1109 1172 11A9;C28A;1109 1172 11A9;
+C28B;C28B;1109 1172 11AA;C28B;1109 1172 11AA;
+C28C;C28C;1109 1172 11AB;C28C;1109 1172 11AB;
+C28D;C28D;1109 1172 11AC;C28D;1109 1172 11AC;
+C28E;C28E;1109 1172 11AD;C28E;1109 1172 11AD;
+C28F;C28F;1109 1172 11AE;C28F;1109 1172 11AE;
+C290;C290;1109 1172 11AF;C290;1109 1172 11AF;
+C291;C291;1109 1172 11B0;C291;1109 1172 11B0;
+C292;C292;1109 1172 11B1;C292;1109 1172 11B1;
+C293;C293;1109 1172 11B2;C293;1109 1172 11B2;
+C294;C294;1109 1172 11B3;C294;1109 1172 11B3;
+C295;C295;1109 1172 11B4;C295;1109 1172 11B4;
+C296;C296;1109 1172 11B5;C296;1109 1172 11B5;
+C297;C297;1109 1172 11B6;C297;1109 1172 11B6;
+C298;C298;1109 1172 11B7;C298;1109 1172 11B7;
+C299;C299;1109 1172 11B8;C299;1109 1172 11B8;
+C29A;C29A;1109 1172 11B9;C29A;1109 1172 11B9;
+C29B;C29B;1109 1172 11BA;C29B;1109 1172 11BA;
+C29C;C29C;1109 1172 11BB;C29C;1109 1172 11BB;
+C29D;C29D;1109 1172 11BC;C29D;1109 1172 11BC;
+C29E;C29E;1109 1172 11BD;C29E;1109 1172 11BD;
+C29F;C29F;1109 1172 11BE;C29F;1109 1172 11BE;
+C2A0;C2A0;1109 1172 11BF;C2A0;1109 1172 11BF;
+C2A1;C2A1;1109 1172 11C0;C2A1;1109 1172 11C0;
+C2A2;C2A2;1109 1172 11C1;C2A2;1109 1172 11C1;
+C2A3;C2A3;1109 1172 11C2;C2A3;1109 1172 11C2;
+C2A4;C2A4;1109 1173;C2A4;1109 1173;
+C2A5;C2A5;1109 1173 11A8;C2A5;1109 1173 11A8;
+C2A6;C2A6;1109 1173 11A9;C2A6;1109 1173 11A9;
+C2A7;C2A7;1109 1173 11AA;C2A7;1109 1173 11AA;
+C2A8;C2A8;1109 1173 11AB;C2A8;1109 1173 11AB;
+C2A9;C2A9;1109 1173 11AC;C2A9;1109 1173 11AC;
+C2AA;C2AA;1109 1173 11AD;C2AA;1109 1173 11AD;
+C2AB;C2AB;1109 1173 11AE;C2AB;1109 1173 11AE;
+C2AC;C2AC;1109 1173 11AF;C2AC;1109 1173 11AF;
+C2AD;C2AD;1109 1173 11B0;C2AD;1109 1173 11B0;
+C2AE;C2AE;1109 1173 11B1;C2AE;1109 1173 11B1;
+C2AF;C2AF;1109 1173 11B2;C2AF;1109 1173 11B2;
+C2B0;C2B0;1109 1173 11B3;C2B0;1109 1173 11B3;
+C2B1;C2B1;1109 1173 11B4;C2B1;1109 1173 11B4;
+C2B2;C2B2;1109 1173 11B5;C2B2;1109 1173 11B5;
+C2B3;C2B3;1109 1173 11B6;C2B3;1109 1173 11B6;
+C2B4;C2B4;1109 1173 11B7;C2B4;1109 1173 11B7;
+C2B5;C2B5;1109 1173 11B8;C2B5;1109 1173 11B8;
+C2B6;C2B6;1109 1173 11B9;C2B6;1109 1173 11B9;
+C2B7;C2B7;1109 1173 11BA;C2B7;1109 1173 11BA;
+C2B8;C2B8;1109 1173 11BB;C2B8;1109 1173 11BB;
+C2B9;C2B9;1109 1173 11BC;C2B9;1109 1173 11BC;
+C2BA;C2BA;1109 1173 11BD;C2BA;1109 1173 11BD;
+C2BB;C2BB;1109 1173 11BE;C2BB;1109 1173 11BE;
+C2BC;C2BC;1109 1173 11BF;C2BC;1109 1173 11BF;
+C2BD;C2BD;1109 1173 11C0;C2BD;1109 1173 11C0;
+C2BE;C2BE;1109 1173 11C1;C2BE;1109 1173 11C1;
+C2BF;C2BF;1109 1173 11C2;C2BF;1109 1173 11C2;
+C2C0;C2C0;1109 1174;C2C0;1109 1174;
+C2C1;C2C1;1109 1174 11A8;C2C1;1109 1174 11A8;
+C2C2;C2C2;1109 1174 11A9;C2C2;1109 1174 11A9;
+C2C3;C2C3;1109 1174 11AA;C2C3;1109 1174 11AA;
+C2C4;C2C4;1109 1174 11AB;C2C4;1109 1174 11AB;
+C2C5;C2C5;1109 1174 11AC;C2C5;1109 1174 11AC;
+C2C6;C2C6;1109 1174 11AD;C2C6;1109 1174 11AD;
+C2C7;C2C7;1109 1174 11AE;C2C7;1109 1174 11AE;
+C2C8;C2C8;1109 1174 11AF;C2C8;1109 1174 11AF;
+C2C9;C2C9;1109 1174 11B0;C2C9;1109 1174 11B0;
+C2CA;C2CA;1109 1174 11B1;C2CA;1109 1174 11B1;
+C2CB;C2CB;1109 1174 11B2;C2CB;1109 1174 11B2;
+C2CC;C2CC;1109 1174 11B3;C2CC;1109 1174 11B3;
+C2CD;C2CD;1109 1174 11B4;C2CD;1109 1174 11B4;
+C2CE;C2CE;1109 1174 11B5;C2CE;1109 1174 11B5;
+C2CF;C2CF;1109 1174 11B6;C2CF;1109 1174 11B6;
+C2D0;C2D0;1109 1174 11B7;C2D0;1109 1174 11B7;
+C2D1;C2D1;1109 1174 11B8;C2D1;1109 1174 11B8;
+C2D2;C2D2;1109 1174 11B9;C2D2;1109 1174 11B9;
+C2D3;C2D3;1109 1174 11BA;C2D3;1109 1174 11BA;
+C2D4;C2D4;1109 1174 11BB;C2D4;1109 1174 11BB;
+C2D5;C2D5;1109 1174 11BC;C2D5;1109 1174 11BC;
+C2D6;C2D6;1109 1174 11BD;C2D6;1109 1174 11BD;
+C2D7;C2D7;1109 1174 11BE;C2D7;1109 1174 11BE;
+C2D8;C2D8;1109 1174 11BF;C2D8;1109 1174 11BF;
+C2D9;C2D9;1109 1174 11C0;C2D9;1109 1174 11C0;
+C2DA;C2DA;1109 1174 11C1;C2DA;1109 1174 11C1;
+C2DB;C2DB;1109 1174 11C2;C2DB;1109 1174 11C2;
+C2DC;C2DC;1109 1175;C2DC;1109 1175;
+C2DD;C2DD;1109 1175 11A8;C2DD;1109 1175 11A8;
+C2DE;C2DE;1109 1175 11A9;C2DE;1109 1175 11A9;
+C2DF;C2DF;1109 1175 11AA;C2DF;1109 1175 11AA;
+C2E0;C2E0;1109 1175 11AB;C2E0;1109 1175 11AB;
+C2E1;C2E1;1109 1175 11AC;C2E1;1109 1175 11AC;
+C2E2;C2E2;1109 1175 11AD;C2E2;1109 1175 11AD;
+C2E3;C2E3;1109 1175 11AE;C2E3;1109 1175 11AE;
+C2E4;C2E4;1109 1175 11AF;C2E4;1109 1175 11AF;
+C2E5;C2E5;1109 1175 11B0;C2E5;1109 1175 11B0;
+C2E6;C2E6;1109 1175 11B1;C2E6;1109 1175 11B1;
+C2E7;C2E7;1109 1175 11B2;C2E7;1109 1175 11B2;
+C2E8;C2E8;1109 1175 11B3;C2E8;1109 1175 11B3;
+C2E9;C2E9;1109 1175 11B4;C2E9;1109 1175 11B4;
+C2EA;C2EA;1109 1175 11B5;C2EA;1109 1175 11B5;
+C2EB;C2EB;1109 1175 11B6;C2EB;1109 1175 11B6;
+C2EC;C2EC;1109 1175 11B7;C2EC;1109 1175 11B7;
+C2ED;C2ED;1109 1175 11B8;C2ED;1109 1175 11B8;
+C2EE;C2EE;1109 1175 11B9;C2EE;1109 1175 11B9;
+C2EF;C2EF;1109 1175 11BA;C2EF;1109 1175 11BA;
+C2F0;C2F0;1109 1175 11BB;C2F0;1109 1175 11BB;
+C2F1;C2F1;1109 1175 11BC;C2F1;1109 1175 11BC;
+C2F2;C2F2;1109 1175 11BD;C2F2;1109 1175 11BD;
+C2F3;C2F3;1109 1175 11BE;C2F3;1109 1175 11BE;
+C2F4;C2F4;1109 1175 11BF;C2F4;1109 1175 11BF;
+C2F5;C2F5;1109 1175 11C0;C2F5;1109 1175 11C0;
+C2F6;C2F6;1109 1175 11C1;C2F6;1109 1175 11C1;
+C2F7;C2F7;1109 1175 11C2;C2F7;1109 1175 11C2;
+C2F8;C2F8;110A 1161;C2F8;110A 1161;
+C2F9;C2F9;110A 1161 11A8;C2F9;110A 1161 11A8;
+C2FA;C2FA;110A 1161 11A9;C2FA;110A 1161 11A9;
+C2FB;C2FB;110A 1161 11AA;C2FB;110A 1161 11AA;
+C2FC;C2FC;110A 1161 11AB;C2FC;110A 1161 11AB;
+C2FD;C2FD;110A 1161 11AC;C2FD;110A 1161 11AC;
+C2FE;C2FE;110A 1161 11AD;C2FE;110A 1161 11AD;
+C2FF;C2FF;110A 1161 11AE;C2FF;110A 1161 11AE;
+C300;C300;110A 1161 11AF;C300;110A 1161 11AF;
+C301;C301;110A 1161 11B0;C301;110A 1161 11B0;
+C302;C302;110A 1161 11B1;C302;110A 1161 11B1;
+C303;C303;110A 1161 11B2;C303;110A 1161 11B2;
+C304;C304;110A 1161 11B3;C304;110A 1161 11B3;
+C305;C305;110A 1161 11B4;C305;110A 1161 11B4;
+C306;C306;110A 1161 11B5;C306;110A 1161 11B5;
+C307;C307;110A 1161 11B6;C307;110A 1161 11B6;
+C308;C308;110A 1161 11B7;C308;110A 1161 11B7;
+C309;C309;110A 1161 11B8;C309;110A 1161 11B8;
+C30A;C30A;110A 1161 11B9;C30A;110A 1161 11B9;
+C30B;C30B;110A 1161 11BA;C30B;110A 1161 11BA;
+C30C;C30C;110A 1161 11BB;C30C;110A 1161 11BB;
+C30D;C30D;110A 1161 11BC;C30D;110A 1161 11BC;
+C30E;C30E;110A 1161 11BD;C30E;110A 1161 11BD;
+C30F;C30F;110A 1161 11BE;C30F;110A 1161 11BE;
+C310;C310;110A 1161 11BF;C310;110A 1161 11BF;
+C311;C311;110A 1161 11C0;C311;110A 1161 11C0;
+C312;C312;110A 1161 11C1;C312;110A 1161 11C1;
+C313;C313;110A 1161 11C2;C313;110A 1161 11C2;
+C314;C314;110A 1162;C314;110A 1162;
+C315;C315;110A 1162 11A8;C315;110A 1162 11A8;
+C316;C316;110A 1162 11A9;C316;110A 1162 11A9;
+C317;C317;110A 1162 11AA;C317;110A 1162 11AA;
+C318;C318;110A 1162 11AB;C318;110A 1162 11AB;
+C319;C319;110A 1162 11AC;C319;110A 1162 11AC;
+C31A;C31A;110A 1162 11AD;C31A;110A 1162 11AD;
+C31B;C31B;110A 1162 11AE;C31B;110A 1162 11AE;
+C31C;C31C;110A 1162 11AF;C31C;110A 1162 11AF;
+C31D;C31D;110A 1162 11B0;C31D;110A 1162 11B0;
+C31E;C31E;110A 1162 11B1;C31E;110A 1162 11B1;
+C31F;C31F;110A 1162 11B2;C31F;110A 1162 11B2;
+C320;C320;110A 1162 11B3;C320;110A 1162 11B3;
+C321;C321;110A 1162 11B4;C321;110A 1162 11B4;
+C322;C322;110A 1162 11B5;C322;110A 1162 11B5;
+C323;C323;110A 1162 11B6;C323;110A 1162 11B6;
+C324;C324;110A 1162 11B7;C324;110A 1162 11B7;
+C325;C325;110A 1162 11B8;C325;110A 1162 11B8;
+C326;C326;110A 1162 11B9;C326;110A 1162 11B9;
+C327;C327;110A 1162 11BA;C327;110A 1162 11BA;
+C328;C328;110A 1162 11BB;C328;110A 1162 11BB;
+C329;C329;110A 1162 11BC;C329;110A 1162 11BC;
+C32A;C32A;110A 1162 11BD;C32A;110A 1162 11BD;
+C32B;C32B;110A 1162 11BE;C32B;110A 1162 11BE;
+C32C;C32C;110A 1162 11BF;C32C;110A 1162 11BF;
+C32D;C32D;110A 1162 11C0;C32D;110A 1162 11C0;
+C32E;C32E;110A 1162 11C1;C32E;110A 1162 11C1;
+C32F;C32F;110A 1162 11C2;C32F;110A 1162 11C2;
+C330;C330;110A 1163;C330;110A 1163;
+C331;C331;110A 1163 11A8;C331;110A 1163 11A8;
+C332;C332;110A 1163 11A9;C332;110A 1163 11A9;
+C333;C333;110A 1163 11AA;C333;110A 1163 11AA;
+C334;C334;110A 1163 11AB;C334;110A 1163 11AB;
+C335;C335;110A 1163 11AC;C335;110A 1163 11AC;
+C336;C336;110A 1163 11AD;C336;110A 1163 11AD;
+C337;C337;110A 1163 11AE;C337;110A 1163 11AE;
+C338;C338;110A 1163 11AF;C338;110A 1163 11AF;
+C339;C339;110A 1163 11B0;C339;110A 1163 11B0;
+C33A;C33A;110A 1163 11B1;C33A;110A 1163 11B1;
+C33B;C33B;110A 1163 11B2;C33B;110A 1163 11B2;
+C33C;C33C;110A 1163 11B3;C33C;110A 1163 11B3;
+C33D;C33D;110A 1163 11B4;C33D;110A 1163 11B4;
+C33E;C33E;110A 1163 11B5;C33E;110A 1163 11B5;
+C33F;C33F;110A 1163 11B6;C33F;110A 1163 11B6;
+C340;C340;110A 1163 11B7;C340;110A 1163 11B7;
+C341;C341;110A 1163 11B8;C341;110A 1163 11B8;
+C342;C342;110A 1163 11B9;C342;110A 1163 11B9;
+C343;C343;110A 1163 11BA;C343;110A 1163 11BA;
+C344;C344;110A 1163 11BB;C344;110A 1163 11BB;
+C345;C345;110A 1163 11BC;C345;110A 1163 11BC;
+C346;C346;110A 1163 11BD;C346;110A 1163 11BD;
+C347;C347;110A 1163 11BE;C347;110A 1163 11BE;
+C348;C348;110A 1163 11BF;C348;110A 1163 11BF;
+C349;C349;110A 1163 11C0;C349;110A 1163 11C0;
+C34A;C34A;110A 1163 11C1;C34A;110A 1163 11C1;
+C34B;C34B;110A 1163 11C2;C34B;110A 1163 11C2;
+C34C;C34C;110A 1164;C34C;110A 1164;
+C34D;C34D;110A 1164 11A8;C34D;110A 1164 11A8;
+C34E;C34E;110A 1164 11A9;C34E;110A 1164 11A9;
+C34F;C34F;110A 1164 11AA;C34F;110A 1164 11AA;
+C350;C350;110A 1164 11AB;C350;110A 1164 11AB;
+C351;C351;110A 1164 11AC;C351;110A 1164 11AC;
+C352;C352;110A 1164 11AD;C352;110A 1164 11AD;
+C353;C353;110A 1164 11AE;C353;110A 1164 11AE;
+C354;C354;110A 1164 11AF;C354;110A 1164 11AF;
+C355;C355;110A 1164 11B0;C355;110A 1164 11B0;
+C356;C356;110A 1164 11B1;C356;110A 1164 11B1;
+C357;C357;110A 1164 11B2;C357;110A 1164 11B2;
+C358;C358;110A 1164 11B3;C358;110A 1164 11B3;
+C359;C359;110A 1164 11B4;C359;110A 1164 11B4;
+C35A;C35A;110A 1164 11B5;C35A;110A 1164 11B5;
+C35B;C35B;110A 1164 11B6;C35B;110A 1164 11B6;
+C35C;C35C;110A 1164 11B7;C35C;110A 1164 11B7;
+C35D;C35D;110A 1164 11B8;C35D;110A 1164 11B8;
+C35E;C35E;110A 1164 11B9;C35E;110A 1164 11B9;
+C35F;C35F;110A 1164 11BA;C35F;110A 1164 11BA;
+C360;C360;110A 1164 11BB;C360;110A 1164 11BB;
+C361;C361;110A 1164 11BC;C361;110A 1164 11BC;
+C362;C362;110A 1164 11BD;C362;110A 1164 11BD;
+C363;C363;110A 1164 11BE;C363;110A 1164 11BE;
+C364;C364;110A 1164 11BF;C364;110A 1164 11BF;
+C365;C365;110A 1164 11C0;C365;110A 1164 11C0;
+C366;C366;110A 1164 11C1;C366;110A 1164 11C1;
+C367;C367;110A 1164 11C2;C367;110A 1164 11C2;
+C368;C368;110A 1165;C368;110A 1165;
+C369;C369;110A 1165 11A8;C369;110A 1165 11A8;
+C36A;C36A;110A 1165 11A9;C36A;110A 1165 11A9;
+C36B;C36B;110A 1165 11AA;C36B;110A 1165 11AA;
+C36C;C36C;110A 1165 11AB;C36C;110A 1165 11AB;
+C36D;C36D;110A 1165 11AC;C36D;110A 1165 11AC;
+C36E;C36E;110A 1165 11AD;C36E;110A 1165 11AD;
+C36F;C36F;110A 1165 11AE;C36F;110A 1165 11AE;
+C370;C370;110A 1165 11AF;C370;110A 1165 11AF;
+C371;C371;110A 1165 11B0;C371;110A 1165 11B0;
+C372;C372;110A 1165 11B1;C372;110A 1165 11B1;
+C373;C373;110A 1165 11B2;C373;110A 1165 11B2;
+C374;C374;110A 1165 11B3;C374;110A 1165 11B3;
+C375;C375;110A 1165 11B4;C375;110A 1165 11B4;
+C376;C376;110A 1165 11B5;C376;110A 1165 11B5;
+C377;C377;110A 1165 11B6;C377;110A 1165 11B6;
+C378;C378;110A 1165 11B7;C378;110A 1165 11B7;
+C379;C379;110A 1165 11B8;C379;110A 1165 11B8;
+C37A;C37A;110A 1165 11B9;C37A;110A 1165 11B9;
+C37B;C37B;110A 1165 11BA;C37B;110A 1165 11BA;
+C37C;C37C;110A 1165 11BB;C37C;110A 1165 11BB;
+C37D;C37D;110A 1165 11BC;C37D;110A 1165 11BC;
+C37E;C37E;110A 1165 11BD;C37E;110A 1165 11BD;
+C37F;C37F;110A 1165 11BE;C37F;110A 1165 11BE;
+C380;C380;110A 1165 11BF;C380;110A 1165 11BF;
+C381;C381;110A 1165 11C0;C381;110A 1165 11C0;
+C382;C382;110A 1165 11C1;C382;110A 1165 11C1;
+C383;C383;110A 1165 11C2;C383;110A 1165 11C2;
+C384;C384;110A 1166;C384;110A 1166;
+C385;C385;110A 1166 11A8;C385;110A 1166 11A8;
+C386;C386;110A 1166 11A9;C386;110A 1166 11A9;
+C387;C387;110A 1166 11AA;C387;110A 1166 11AA;
+C388;C388;110A 1166 11AB;C388;110A 1166 11AB;
+C389;C389;110A 1166 11AC;C389;110A 1166 11AC;
+C38A;C38A;110A 1166 11AD;C38A;110A 1166 11AD;
+C38B;C38B;110A 1166 11AE;C38B;110A 1166 11AE;
+C38C;C38C;110A 1166 11AF;C38C;110A 1166 11AF;
+C38D;C38D;110A 1166 11B0;C38D;110A 1166 11B0;
+C38E;C38E;110A 1166 11B1;C38E;110A 1166 11B1;
+C38F;C38F;110A 1166 11B2;C38F;110A 1166 11B2;
+C390;C390;110A 1166 11B3;C390;110A 1166 11B3;
+C391;C391;110A 1166 11B4;C391;110A 1166 11B4;
+C392;C392;110A 1166 11B5;C392;110A 1166 11B5;
+C393;C393;110A 1166 11B6;C393;110A 1166 11B6;
+C394;C394;110A 1166 11B7;C394;110A 1166 11B7;
+C395;C395;110A 1166 11B8;C395;110A 1166 11B8;
+C396;C396;110A 1166 11B9;C396;110A 1166 11B9;
+C397;C397;110A 1166 11BA;C397;110A 1166 11BA;
+C398;C398;110A 1166 11BB;C398;110A 1166 11BB;
+C399;C399;110A 1166 11BC;C399;110A 1166 11BC;
+C39A;C39A;110A 1166 11BD;C39A;110A 1166 11BD;
+C39B;C39B;110A 1166 11BE;C39B;110A 1166 11BE;
+C39C;C39C;110A 1166 11BF;C39C;110A 1166 11BF;
+C39D;C39D;110A 1166 11C0;C39D;110A 1166 11C0;
+C39E;C39E;110A 1166 11C1;C39E;110A 1166 11C1;
+C39F;C39F;110A 1166 11C2;C39F;110A 1166 11C2;
+C3A0;C3A0;110A 1167;C3A0;110A 1167;
+C3A1;C3A1;110A 1167 11A8;C3A1;110A 1167 11A8;
+C3A2;C3A2;110A 1167 11A9;C3A2;110A 1167 11A9;
+C3A3;C3A3;110A 1167 11AA;C3A3;110A 1167 11AA;
+C3A4;C3A4;110A 1167 11AB;C3A4;110A 1167 11AB;
+C3A5;C3A5;110A 1167 11AC;C3A5;110A 1167 11AC;
+C3A6;C3A6;110A 1167 11AD;C3A6;110A 1167 11AD;
+C3A7;C3A7;110A 1167 11AE;C3A7;110A 1167 11AE;
+C3A8;C3A8;110A 1167 11AF;C3A8;110A 1167 11AF;
+C3A9;C3A9;110A 1167 11B0;C3A9;110A 1167 11B0;
+C3AA;C3AA;110A 1167 11B1;C3AA;110A 1167 11B1;
+C3AB;C3AB;110A 1167 11B2;C3AB;110A 1167 11B2;
+C3AC;C3AC;110A 1167 11B3;C3AC;110A 1167 11B3;
+C3AD;C3AD;110A 1167 11B4;C3AD;110A 1167 11B4;
+C3AE;C3AE;110A 1167 11B5;C3AE;110A 1167 11B5;
+C3AF;C3AF;110A 1167 11B6;C3AF;110A 1167 11B6;
+C3B0;C3B0;110A 1167 11B7;C3B0;110A 1167 11B7;
+C3B1;C3B1;110A 1167 11B8;C3B1;110A 1167 11B8;
+C3B2;C3B2;110A 1167 11B9;C3B2;110A 1167 11B9;
+C3B3;C3B3;110A 1167 11BA;C3B3;110A 1167 11BA;
+C3B4;C3B4;110A 1167 11BB;C3B4;110A 1167 11BB;
+C3B5;C3B5;110A 1167 11BC;C3B5;110A 1167 11BC;
+C3B6;C3B6;110A 1167 11BD;C3B6;110A 1167 11BD;
+C3B7;C3B7;110A 1167 11BE;C3B7;110A 1167 11BE;
+C3B8;C3B8;110A 1167 11BF;C3B8;110A 1167 11BF;
+C3B9;C3B9;110A 1167 11C0;C3B9;110A 1167 11C0;
+C3BA;C3BA;110A 1167 11C1;C3BA;110A 1167 11C1;
+C3BB;C3BB;110A 1167 11C2;C3BB;110A 1167 11C2;
+C3BC;C3BC;110A 1168;C3BC;110A 1168;
+C3BD;C3BD;110A 1168 11A8;C3BD;110A 1168 11A8;
+C3BE;C3BE;110A 1168 11A9;C3BE;110A 1168 11A9;
+C3BF;C3BF;110A 1168 11AA;C3BF;110A 1168 11AA;
+C3C0;C3C0;110A 1168 11AB;C3C0;110A 1168 11AB;
+C3C1;C3C1;110A 1168 11AC;C3C1;110A 1168 11AC;
+C3C2;C3C2;110A 1168 11AD;C3C2;110A 1168 11AD;
+C3C3;C3C3;110A 1168 11AE;C3C3;110A 1168 11AE;
+C3C4;C3C4;110A 1168 11AF;C3C4;110A 1168 11AF;
+C3C5;C3C5;110A 1168 11B0;C3C5;110A 1168 11B0;
+C3C6;C3C6;110A 1168 11B1;C3C6;110A 1168 11B1;
+C3C7;C3C7;110A 1168 11B2;C3C7;110A 1168 11B2;
+C3C8;C3C8;110A 1168 11B3;C3C8;110A 1168 11B3;
+C3C9;C3C9;110A 1168 11B4;C3C9;110A 1168 11B4;
+C3CA;C3CA;110A 1168 11B5;C3CA;110A 1168 11B5;
+C3CB;C3CB;110A 1168 11B6;C3CB;110A 1168 11B6;
+C3CC;C3CC;110A 1168 11B7;C3CC;110A 1168 11B7;
+C3CD;C3CD;110A 1168 11B8;C3CD;110A 1168 11B8;
+C3CE;C3CE;110A 1168 11B9;C3CE;110A 1168 11B9;
+C3CF;C3CF;110A 1168 11BA;C3CF;110A 1168 11BA;
+C3D0;C3D0;110A 1168 11BB;C3D0;110A 1168 11BB;
+C3D1;C3D1;110A 1168 11BC;C3D1;110A 1168 11BC;
+C3D2;C3D2;110A 1168 11BD;C3D2;110A 1168 11BD;
+C3D3;C3D3;110A 1168 11BE;C3D3;110A 1168 11BE;
+C3D4;C3D4;110A 1168 11BF;C3D4;110A 1168 11BF;
+C3D5;C3D5;110A 1168 11C0;C3D5;110A 1168 11C0;
+C3D6;C3D6;110A 1168 11C1;C3D6;110A 1168 11C1;
+C3D7;C3D7;110A 1168 11C2;C3D7;110A 1168 11C2;
+C3D8;C3D8;110A 1169;C3D8;110A 1169;
+C3D9;C3D9;110A 1169 11A8;C3D9;110A 1169 11A8;
+C3DA;C3DA;110A 1169 11A9;C3DA;110A 1169 11A9;
+C3DB;C3DB;110A 1169 11AA;C3DB;110A 1169 11AA;
+C3DC;C3DC;110A 1169 11AB;C3DC;110A 1169 11AB;
+C3DD;C3DD;110A 1169 11AC;C3DD;110A 1169 11AC;
+C3DE;C3DE;110A 1169 11AD;C3DE;110A 1169 11AD;
+C3DF;C3DF;110A 1169 11AE;C3DF;110A 1169 11AE;
+C3E0;C3E0;110A 1169 11AF;C3E0;110A 1169 11AF;
+C3E1;C3E1;110A 1169 11B0;C3E1;110A 1169 11B0;
+C3E2;C3E2;110A 1169 11B1;C3E2;110A 1169 11B1;
+C3E3;C3E3;110A 1169 11B2;C3E3;110A 1169 11B2;
+C3E4;C3E4;110A 1169 11B3;C3E4;110A 1169 11B3;
+C3E5;C3E5;110A 1169 11B4;C3E5;110A 1169 11B4;
+C3E6;C3E6;110A 1169 11B5;C3E6;110A 1169 11B5;
+C3E7;C3E7;110A 1169 11B6;C3E7;110A 1169 11B6;
+C3E8;C3E8;110A 1169 11B7;C3E8;110A 1169 11B7;
+C3E9;C3E9;110A 1169 11B8;C3E9;110A 1169 11B8;
+C3EA;C3EA;110A 1169 11B9;C3EA;110A 1169 11B9;
+C3EB;C3EB;110A 1169 11BA;C3EB;110A 1169 11BA;
+C3EC;C3EC;110A 1169 11BB;C3EC;110A 1169 11BB;
+C3ED;C3ED;110A 1169 11BC;C3ED;110A 1169 11BC;
+C3EE;C3EE;110A 1169 11BD;C3EE;110A 1169 11BD;
+C3EF;C3EF;110A 1169 11BE;C3EF;110A 1169 11BE;
+C3F0;C3F0;110A 1169 11BF;C3F0;110A 1169 11BF;
+C3F1;C3F1;110A 1169 11C0;C3F1;110A 1169 11C0;
+C3F2;C3F2;110A 1169 11C1;C3F2;110A 1169 11C1;
+C3F3;C3F3;110A 1169 11C2;C3F3;110A 1169 11C2;
+C3F4;C3F4;110A 116A;C3F4;110A 116A;
+C3F5;C3F5;110A 116A 11A8;C3F5;110A 116A 11A8;
+C3F6;C3F6;110A 116A 11A9;C3F6;110A 116A 11A9;
+C3F7;C3F7;110A 116A 11AA;C3F7;110A 116A 11AA;
+C3F8;C3F8;110A 116A 11AB;C3F8;110A 116A 11AB;
+C3F9;C3F9;110A 116A 11AC;C3F9;110A 116A 11AC;
+C3FA;C3FA;110A 116A 11AD;C3FA;110A 116A 11AD;
+C3FB;C3FB;110A 116A 11AE;C3FB;110A 116A 11AE;
+C3FC;C3FC;110A 116A 11AF;C3FC;110A 116A 11AF;
+C3FD;C3FD;110A 116A 11B0;C3FD;110A 116A 11B0;
+C3FE;C3FE;110A 116A 11B1;C3FE;110A 116A 11B1;
+C3FF;C3FF;110A 116A 11B2;C3FF;110A 116A 11B2;
+C400;C400;110A 116A 11B3;C400;110A 116A 11B3;
+C401;C401;110A 116A 11B4;C401;110A 116A 11B4;
+C402;C402;110A 116A 11B5;C402;110A 116A 11B5;
+C403;C403;110A 116A 11B6;C403;110A 116A 11B6;
+C404;C404;110A 116A 11B7;C404;110A 116A 11B7;
+C405;C405;110A 116A 11B8;C405;110A 116A 11B8;
+C406;C406;110A 116A 11B9;C406;110A 116A 11B9;
+C407;C407;110A 116A 11BA;C407;110A 116A 11BA;
+C408;C408;110A 116A 11BB;C408;110A 116A 11BB;
+C409;C409;110A 116A 11BC;C409;110A 116A 11BC;
+C40A;C40A;110A 116A 11BD;C40A;110A 116A 11BD;
+C40B;C40B;110A 116A 11BE;C40B;110A 116A 11BE;
+C40C;C40C;110A 116A 11BF;C40C;110A 116A 11BF;
+C40D;C40D;110A 116A 11C0;C40D;110A 116A 11C0;
+C40E;C40E;110A 116A 11C1;C40E;110A 116A 11C1;
+C40F;C40F;110A 116A 11C2;C40F;110A 116A 11C2;
+C410;C410;110A 116B;C410;110A 116B;
+C411;C411;110A 116B 11A8;C411;110A 116B 11A8;
+C412;C412;110A 116B 11A9;C412;110A 116B 11A9;
+C413;C413;110A 116B 11AA;C413;110A 116B 11AA;
+C414;C414;110A 116B 11AB;C414;110A 116B 11AB;
+C415;C415;110A 116B 11AC;C415;110A 116B 11AC;
+C416;C416;110A 116B 11AD;C416;110A 116B 11AD;
+C417;C417;110A 116B 11AE;C417;110A 116B 11AE;
+C418;C418;110A 116B 11AF;C418;110A 116B 11AF;
+C419;C419;110A 116B 11B0;C419;110A 116B 11B0;
+C41A;C41A;110A 116B 11B1;C41A;110A 116B 11B1;
+C41B;C41B;110A 116B 11B2;C41B;110A 116B 11B2;
+C41C;C41C;110A 116B 11B3;C41C;110A 116B 11B3;
+C41D;C41D;110A 116B 11B4;C41D;110A 116B 11B4;
+C41E;C41E;110A 116B 11B5;C41E;110A 116B 11B5;
+C41F;C41F;110A 116B 11B6;C41F;110A 116B 11B6;
+C420;C420;110A 116B 11B7;C420;110A 116B 11B7;
+C421;C421;110A 116B 11B8;C421;110A 116B 11B8;
+C422;C422;110A 116B 11B9;C422;110A 116B 11B9;
+C423;C423;110A 116B 11BA;C423;110A 116B 11BA;
+C424;C424;110A 116B 11BB;C424;110A 116B 11BB;
+C425;C425;110A 116B 11BC;C425;110A 116B 11BC;
+C426;C426;110A 116B 11BD;C426;110A 116B 11BD;
+C427;C427;110A 116B 11BE;C427;110A 116B 11BE;
+C428;C428;110A 116B 11BF;C428;110A 116B 11BF;
+C429;C429;110A 116B 11C0;C429;110A 116B 11C0;
+C42A;C42A;110A 116B 11C1;C42A;110A 116B 11C1;
+C42B;C42B;110A 116B 11C2;C42B;110A 116B 11C2;
+C42C;C42C;110A 116C;C42C;110A 116C;
+C42D;C42D;110A 116C 11A8;C42D;110A 116C 11A8;
+C42E;C42E;110A 116C 11A9;C42E;110A 116C 11A9;
+C42F;C42F;110A 116C 11AA;C42F;110A 116C 11AA;
+C430;C430;110A 116C 11AB;C430;110A 116C 11AB;
+C431;C431;110A 116C 11AC;C431;110A 116C 11AC;
+C432;C432;110A 116C 11AD;C432;110A 116C 11AD;
+C433;C433;110A 116C 11AE;C433;110A 116C 11AE;
+C434;C434;110A 116C 11AF;C434;110A 116C 11AF;
+C435;C435;110A 116C 11B0;C435;110A 116C 11B0;
+C436;C436;110A 116C 11B1;C436;110A 116C 11B1;
+C437;C437;110A 116C 11B2;C437;110A 116C 11B2;
+C438;C438;110A 116C 11B3;C438;110A 116C 11B3;
+C439;C439;110A 116C 11B4;C439;110A 116C 11B4;
+C43A;C43A;110A 116C 11B5;C43A;110A 116C 11B5;
+C43B;C43B;110A 116C 11B6;C43B;110A 116C 11B6;
+C43C;C43C;110A 116C 11B7;C43C;110A 116C 11B7;
+C43D;C43D;110A 116C 11B8;C43D;110A 116C 11B8;
+C43E;C43E;110A 116C 11B9;C43E;110A 116C 11B9;
+C43F;C43F;110A 116C 11BA;C43F;110A 116C 11BA;
+C440;C440;110A 116C 11BB;C440;110A 116C 11BB;
+C441;C441;110A 116C 11BC;C441;110A 116C 11BC;
+C442;C442;110A 116C 11BD;C442;110A 116C 11BD;
+C443;C443;110A 116C 11BE;C443;110A 116C 11BE;
+C444;C444;110A 116C 11BF;C444;110A 116C 11BF;
+C445;C445;110A 116C 11C0;C445;110A 116C 11C0;
+C446;C446;110A 116C 11C1;C446;110A 116C 11C1;
+C447;C447;110A 116C 11C2;C447;110A 116C 11C2;
+C448;C448;110A 116D;C448;110A 116D;
+C449;C449;110A 116D 11A8;C449;110A 116D 11A8;
+C44A;C44A;110A 116D 11A9;C44A;110A 116D 11A9;
+C44B;C44B;110A 116D 11AA;C44B;110A 116D 11AA;
+C44C;C44C;110A 116D 11AB;C44C;110A 116D 11AB;
+C44D;C44D;110A 116D 11AC;C44D;110A 116D 11AC;
+C44E;C44E;110A 116D 11AD;C44E;110A 116D 11AD;
+C44F;C44F;110A 116D 11AE;C44F;110A 116D 11AE;
+C450;C450;110A 116D 11AF;C450;110A 116D 11AF;
+C451;C451;110A 116D 11B0;C451;110A 116D 11B0;
+C452;C452;110A 116D 11B1;C452;110A 116D 11B1;
+C453;C453;110A 116D 11B2;C453;110A 116D 11B2;
+C454;C454;110A 116D 11B3;C454;110A 116D 11B3;
+C455;C455;110A 116D 11B4;C455;110A 116D 11B4;
+C456;C456;110A 116D 11B5;C456;110A 116D 11B5;
+C457;C457;110A 116D 11B6;C457;110A 116D 11B6;
+C458;C458;110A 116D 11B7;C458;110A 116D 11B7;
+C459;C459;110A 116D 11B8;C459;110A 116D 11B8;
+C45A;C45A;110A 116D 11B9;C45A;110A 116D 11B9;
+C45B;C45B;110A 116D 11BA;C45B;110A 116D 11BA;
+C45C;C45C;110A 116D 11BB;C45C;110A 116D 11BB;
+C45D;C45D;110A 116D 11BC;C45D;110A 116D 11BC;
+C45E;C45E;110A 116D 11BD;C45E;110A 116D 11BD;
+C45F;C45F;110A 116D 11BE;C45F;110A 116D 11BE;
+C460;C460;110A 116D 11BF;C460;110A 116D 11BF;
+C461;C461;110A 116D 11C0;C461;110A 116D 11C0;
+C462;C462;110A 116D 11C1;C462;110A 116D 11C1;
+C463;C463;110A 116D 11C2;C463;110A 116D 11C2;
+C464;C464;110A 116E;C464;110A 116E;
+C465;C465;110A 116E 11A8;C465;110A 116E 11A8;
+C466;C466;110A 116E 11A9;C466;110A 116E 11A9;
+C467;C467;110A 116E 11AA;C467;110A 116E 11AA;
+C468;C468;110A 116E 11AB;C468;110A 116E 11AB;
+C469;C469;110A 116E 11AC;C469;110A 116E 11AC;
+C46A;C46A;110A 116E 11AD;C46A;110A 116E 11AD;
+C46B;C46B;110A 116E 11AE;C46B;110A 116E 11AE;
+C46C;C46C;110A 116E 11AF;C46C;110A 116E 11AF;
+C46D;C46D;110A 116E 11B0;C46D;110A 116E 11B0;
+C46E;C46E;110A 116E 11B1;C46E;110A 116E 11B1;
+C46F;C46F;110A 116E 11B2;C46F;110A 116E 11B2;
+C470;C470;110A 116E 11B3;C470;110A 116E 11B3;
+C471;C471;110A 116E 11B4;C471;110A 116E 11B4;
+C472;C472;110A 116E 11B5;C472;110A 116E 11B5;
+C473;C473;110A 116E 11B6;C473;110A 116E 11B6;
+C474;C474;110A 116E 11B7;C474;110A 116E 11B7;
+C475;C475;110A 116E 11B8;C475;110A 116E 11B8;
+C476;C476;110A 116E 11B9;C476;110A 116E 11B9;
+C477;C477;110A 116E 11BA;C477;110A 116E 11BA;
+C478;C478;110A 116E 11BB;C478;110A 116E 11BB;
+C479;C479;110A 116E 11BC;C479;110A 116E 11BC;
+C47A;C47A;110A 116E 11BD;C47A;110A 116E 11BD;
+C47B;C47B;110A 116E 11BE;C47B;110A 116E 11BE;
+C47C;C47C;110A 116E 11BF;C47C;110A 116E 11BF;
+C47D;C47D;110A 116E 11C0;C47D;110A 116E 11C0;
+C47E;C47E;110A 116E 11C1;C47E;110A 116E 11C1;
+C47F;C47F;110A 116E 11C2;C47F;110A 116E 11C2;
+C480;C480;110A 116F;C480;110A 116F;
+C481;C481;110A 116F 11A8;C481;110A 116F 11A8;
+C482;C482;110A 116F 11A9;C482;110A 116F 11A9;
+C483;C483;110A 116F 11AA;C483;110A 116F 11AA;
+C484;C484;110A 116F 11AB;C484;110A 116F 11AB;
+C485;C485;110A 116F 11AC;C485;110A 116F 11AC;
+C486;C486;110A 116F 11AD;C486;110A 116F 11AD;
+C487;C487;110A 116F 11AE;C487;110A 116F 11AE;
+C488;C488;110A 116F 11AF;C488;110A 116F 11AF;
+C489;C489;110A 116F 11B0;C489;110A 116F 11B0;
+C48A;C48A;110A 116F 11B1;C48A;110A 116F 11B1;
+C48B;C48B;110A 116F 11B2;C48B;110A 116F 11B2;
+C48C;C48C;110A 116F 11B3;C48C;110A 116F 11B3;
+C48D;C48D;110A 116F 11B4;C48D;110A 116F 11B4;
+C48E;C48E;110A 116F 11B5;C48E;110A 116F 11B5;
+C48F;C48F;110A 116F 11B6;C48F;110A 116F 11B6;
+C490;C490;110A 116F 11B7;C490;110A 116F 11B7;
+C491;C491;110A 116F 11B8;C491;110A 116F 11B8;
+C492;C492;110A 116F 11B9;C492;110A 116F 11B9;
+C493;C493;110A 116F 11BA;C493;110A 116F 11BA;
+C494;C494;110A 116F 11BB;C494;110A 116F 11BB;
+C495;C495;110A 116F 11BC;C495;110A 116F 11BC;
+C496;C496;110A 116F 11BD;C496;110A 116F 11BD;
+C497;C497;110A 116F 11BE;C497;110A 116F 11BE;
+C498;C498;110A 116F 11BF;C498;110A 116F 11BF;
+C499;C499;110A 116F 11C0;C499;110A 116F 11C0;
+C49A;C49A;110A 116F 11C1;C49A;110A 116F 11C1;
+C49B;C49B;110A 116F 11C2;C49B;110A 116F 11C2;
+C49C;C49C;110A 1170;C49C;110A 1170;
+C49D;C49D;110A 1170 11A8;C49D;110A 1170 11A8;
+C49E;C49E;110A 1170 11A9;C49E;110A 1170 11A9;
+C49F;C49F;110A 1170 11AA;C49F;110A 1170 11AA;
+C4A0;C4A0;110A 1170 11AB;C4A0;110A 1170 11AB;
+C4A1;C4A1;110A 1170 11AC;C4A1;110A 1170 11AC;
+C4A2;C4A2;110A 1170 11AD;C4A2;110A 1170 11AD;
+C4A3;C4A3;110A 1170 11AE;C4A3;110A 1170 11AE;
+C4A4;C4A4;110A 1170 11AF;C4A4;110A 1170 11AF;
+C4A5;C4A5;110A 1170 11B0;C4A5;110A 1170 11B0;
+C4A6;C4A6;110A 1170 11B1;C4A6;110A 1170 11B1;
+C4A7;C4A7;110A 1170 11B2;C4A7;110A 1170 11B2;
+C4A8;C4A8;110A 1170 11B3;C4A8;110A 1170 11B3;
+C4A9;C4A9;110A 1170 11B4;C4A9;110A 1170 11B4;
+C4AA;C4AA;110A 1170 11B5;C4AA;110A 1170 11B5;
+C4AB;C4AB;110A 1170 11B6;C4AB;110A 1170 11B6;
+C4AC;C4AC;110A 1170 11B7;C4AC;110A 1170 11B7;
+C4AD;C4AD;110A 1170 11B8;C4AD;110A 1170 11B8;
+C4AE;C4AE;110A 1170 11B9;C4AE;110A 1170 11B9;
+C4AF;C4AF;110A 1170 11BA;C4AF;110A 1170 11BA;
+C4B0;C4B0;110A 1170 11BB;C4B0;110A 1170 11BB;
+C4B1;C4B1;110A 1170 11BC;C4B1;110A 1170 11BC;
+C4B2;C4B2;110A 1170 11BD;C4B2;110A 1170 11BD;
+C4B3;C4B3;110A 1170 11BE;C4B3;110A 1170 11BE;
+C4B4;C4B4;110A 1170 11BF;C4B4;110A 1170 11BF;
+C4B5;C4B5;110A 1170 11C0;C4B5;110A 1170 11C0;
+C4B6;C4B6;110A 1170 11C1;C4B6;110A 1170 11C1;
+C4B7;C4B7;110A 1170 11C2;C4B7;110A 1170 11C2;
+C4B8;C4B8;110A 1171;C4B8;110A 1171;
+C4B9;C4B9;110A 1171 11A8;C4B9;110A 1171 11A8;
+C4BA;C4BA;110A 1171 11A9;C4BA;110A 1171 11A9;
+C4BB;C4BB;110A 1171 11AA;C4BB;110A 1171 11AA;
+C4BC;C4BC;110A 1171 11AB;C4BC;110A 1171 11AB;
+C4BD;C4BD;110A 1171 11AC;C4BD;110A 1171 11AC;
+C4BE;C4BE;110A 1171 11AD;C4BE;110A 1171 11AD;
+C4BF;C4BF;110A 1171 11AE;C4BF;110A 1171 11AE;
+C4C0;C4C0;110A 1171 11AF;C4C0;110A 1171 11AF;
+C4C1;C4C1;110A 1171 11B0;C4C1;110A 1171 11B0;
+C4C2;C4C2;110A 1171 11B1;C4C2;110A 1171 11B1;
+C4C3;C4C3;110A 1171 11B2;C4C3;110A 1171 11B2;
+C4C4;C4C4;110A 1171 11B3;C4C4;110A 1171 11B3;
+C4C5;C4C5;110A 1171 11B4;C4C5;110A 1171 11B4;
+C4C6;C4C6;110A 1171 11B5;C4C6;110A 1171 11B5;
+C4C7;C4C7;110A 1171 11B6;C4C7;110A 1171 11B6;
+C4C8;C4C8;110A 1171 11B7;C4C8;110A 1171 11B7;
+C4C9;C4C9;110A 1171 11B8;C4C9;110A 1171 11B8;
+C4CA;C4CA;110A 1171 11B9;C4CA;110A 1171 11B9;
+C4CB;C4CB;110A 1171 11BA;C4CB;110A 1171 11BA;
+C4CC;C4CC;110A 1171 11BB;C4CC;110A 1171 11BB;
+C4CD;C4CD;110A 1171 11BC;C4CD;110A 1171 11BC;
+C4CE;C4CE;110A 1171 11BD;C4CE;110A 1171 11BD;
+C4CF;C4CF;110A 1171 11BE;C4CF;110A 1171 11BE;
+C4D0;C4D0;110A 1171 11BF;C4D0;110A 1171 11BF;
+C4D1;C4D1;110A 1171 11C0;C4D1;110A 1171 11C0;
+C4D2;C4D2;110A 1171 11C1;C4D2;110A 1171 11C1;
+C4D3;C4D3;110A 1171 11C2;C4D3;110A 1171 11C2;
+C4D4;C4D4;110A 1172;C4D4;110A 1172;
+C4D5;C4D5;110A 1172 11A8;C4D5;110A 1172 11A8;
+C4D6;C4D6;110A 1172 11A9;C4D6;110A 1172 11A9;
+C4D7;C4D7;110A 1172 11AA;C4D7;110A 1172 11AA;
+C4D8;C4D8;110A 1172 11AB;C4D8;110A 1172 11AB;
+C4D9;C4D9;110A 1172 11AC;C4D9;110A 1172 11AC;
+C4DA;C4DA;110A 1172 11AD;C4DA;110A 1172 11AD;
+C4DB;C4DB;110A 1172 11AE;C4DB;110A 1172 11AE;
+C4DC;C4DC;110A 1172 11AF;C4DC;110A 1172 11AF;
+C4DD;C4DD;110A 1172 11B0;C4DD;110A 1172 11B0;
+C4DE;C4DE;110A 1172 11B1;C4DE;110A 1172 11B1;
+C4DF;C4DF;110A 1172 11B2;C4DF;110A 1172 11B2;
+C4E0;C4E0;110A 1172 11B3;C4E0;110A 1172 11B3;
+C4E1;C4E1;110A 1172 11B4;C4E1;110A 1172 11B4;
+C4E2;C4E2;110A 1172 11B5;C4E2;110A 1172 11B5;
+C4E3;C4E3;110A 1172 11B6;C4E3;110A 1172 11B6;
+C4E4;C4E4;110A 1172 11B7;C4E4;110A 1172 11B7;
+C4E5;C4E5;110A 1172 11B8;C4E5;110A 1172 11B8;
+C4E6;C4E6;110A 1172 11B9;C4E6;110A 1172 11B9;
+C4E7;C4E7;110A 1172 11BA;C4E7;110A 1172 11BA;
+C4E8;C4E8;110A 1172 11BB;C4E8;110A 1172 11BB;
+C4E9;C4E9;110A 1172 11BC;C4E9;110A 1172 11BC;
+C4EA;C4EA;110A 1172 11BD;C4EA;110A 1172 11BD;
+C4EB;C4EB;110A 1172 11BE;C4EB;110A 1172 11BE;
+C4EC;C4EC;110A 1172 11BF;C4EC;110A 1172 11BF;
+C4ED;C4ED;110A 1172 11C0;C4ED;110A 1172 11C0;
+C4EE;C4EE;110A 1172 11C1;C4EE;110A 1172 11C1;
+C4EF;C4EF;110A 1172 11C2;C4EF;110A 1172 11C2;
+C4F0;C4F0;110A 1173;C4F0;110A 1173;
+C4F1;C4F1;110A 1173 11A8;C4F1;110A 1173 11A8;
+C4F2;C4F2;110A 1173 11A9;C4F2;110A 1173 11A9;
+C4F3;C4F3;110A 1173 11AA;C4F3;110A 1173 11AA;
+C4F4;C4F4;110A 1173 11AB;C4F4;110A 1173 11AB;
+C4F5;C4F5;110A 1173 11AC;C4F5;110A 1173 11AC;
+C4F6;C4F6;110A 1173 11AD;C4F6;110A 1173 11AD;
+C4F7;C4F7;110A 1173 11AE;C4F7;110A 1173 11AE;
+C4F8;C4F8;110A 1173 11AF;C4F8;110A 1173 11AF;
+C4F9;C4F9;110A 1173 11B0;C4F9;110A 1173 11B0;
+C4FA;C4FA;110A 1173 11B1;C4FA;110A 1173 11B1;
+C4FB;C4FB;110A 1173 11B2;C4FB;110A 1173 11B2;
+C4FC;C4FC;110A 1173 11B3;C4FC;110A 1173 11B3;
+C4FD;C4FD;110A 1173 11B4;C4FD;110A 1173 11B4;
+C4FE;C4FE;110A 1173 11B5;C4FE;110A 1173 11B5;
+C4FF;C4FF;110A 1173 11B6;C4FF;110A 1173 11B6;
+C500;C500;110A 1173 11B7;C500;110A 1173 11B7;
+C501;C501;110A 1173 11B8;C501;110A 1173 11B8;
+C502;C502;110A 1173 11B9;C502;110A 1173 11B9;
+C503;C503;110A 1173 11BA;C503;110A 1173 11BA;
+C504;C504;110A 1173 11BB;C504;110A 1173 11BB;
+C505;C505;110A 1173 11BC;C505;110A 1173 11BC;
+C506;C506;110A 1173 11BD;C506;110A 1173 11BD;
+C507;C507;110A 1173 11BE;C507;110A 1173 11BE;
+C508;C508;110A 1173 11BF;C508;110A 1173 11BF;
+C509;C509;110A 1173 11C0;C509;110A 1173 11C0;
+C50A;C50A;110A 1173 11C1;C50A;110A 1173 11C1;
+C50B;C50B;110A 1173 11C2;C50B;110A 1173 11C2;
+C50C;C50C;110A 1174;C50C;110A 1174;
+C50D;C50D;110A 1174 11A8;C50D;110A 1174 11A8;
+C50E;C50E;110A 1174 11A9;C50E;110A 1174 11A9;
+C50F;C50F;110A 1174 11AA;C50F;110A 1174 11AA;
+C510;C510;110A 1174 11AB;C510;110A 1174 11AB;
+C511;C511;110A 1174 11AC;C511;110A 1174 11AC;
+C512;C512;110A 1174 11AD;C512;110A 1174 11AD;
+C513;C513;110A 1174 11AE;C513;110A 1174 11AE;
+C514;C514;110A 1174 11AF;C514;110A 1174 11AF;
+C515;C515;110A 1174 11B0;C515;110A 1174 11B0;
+C516;C516;110A 1174 11B1;C516;110A 1174 11B1;
+C517;C517;110A 1174 11B2;C517;110A 1174 11B2;
+C518;C518;110A 1174 11B3;C518;110A 1174 11B3;
+C519;C519;110A 1174 11B4;C519;110A 1174 11B4;
+C51A;C51A;110A 1174 11B5;C51A;110A 1174 11B5;
+C51B;C51B;110A 1174 11B6;C51B;110A 1174 11B6;
+C51C;C51C;110A 1174 11B7;C51C;110A 1174 11B7;
+C51D;C51D;110A 1174 11B8;C51D;110A 1174 11B8;
+C51E;C51E;110A 1174 11B9;C51E;110A 1174 11B9;
+C51F;C51F;110A 1174 11BA;C51F;110A 1174 11BA;
+C520;C520;110A 1174 11BB;C520;110A 1174 11BB;
+C521;C521;110A 1174 11BC;C521;110A 1174 11BC;
+C522;C522;110A 1174 11BD;C522;110A 1174 11BD;
+C523;C523;110A 1174 11BE;C523;110A 1174 11BE;
+C524;C524;110A 1174 11BF;C524;110A 1174 11BF;
+C525;C525;110A 1174 11C0;C525;110A 1174 11C0;
+C526;C526;110A 1174 11C1;C526;110A 1174 11C1;
+C527;C527;110A 1174 11C2;C527;110A 1174 11C2;
+C528;C528;110A 1175;C528;110A 1175;
+C529;C529;110A 1175 11A8;C529;110A 1175 11A8;
+C52A;C52A;110A 1175 11A9;C52A;110A 1175 11A9;
+C52B;C52B;110A 1175 11AA;C52B;110A 1175 11AA;
+C52C;C52C;110A 1175 11AB;C52C;110A 1175 11AB;
+C52D;C52D;110A 1175 11AC;C52D;110A 1175 11AC;
+C52E;C52E;110A 1175 11AD;C52E;110A 1175 11AD;
+C52F;C52F;110A 1175 11AE;C52F;110A 1175 11AE;
+C530;C530;110A 1175 11AF;C530;110A 1175 11AF;
+C531;C531;110A 1175 11B0;C531;110A 1175 11B0;
+C532;C532;110A 1175 11B1;C532;110A 1175 11B1;
+C533;C533;110A 1175 11B2;C533;110A 1175 11B2;
+C534;C534;110A 1175 11B3;C534;110A 1175 11B3;
+C535;C535;110A 1175 11B4;C535;110A 1175 11B4;
+C536;C536;110A 1175 11B5;C536;110A 1175 11B5;
+C537;C537;110A 1175 11B6;C537;110A 1175 11B6;
+C538;C538;110A 1175 11B7;C538;110A 1175 11B7;
+C539;C539;110A 1175 11B8;C539;110A 1175 11B8;
+C53A;C53A;110A 1175 11B9;C53A;110A 1175 11B9;
+C53B;C53B;110A 1175 11BA;C53B;110A 1175 11BA;
+C53C;C53C;110A 1175 11BB;C53C;110A 1175 11BB;
+C53D;C53D;110A 1175 11BC;C53D;110A 1175 11BC;
+C53E;C53E;110A 1175 11BD;C53E;110A 1175 11BD;
+C53F;C53F;110A 1175 11BE;C53F;110A 1175 11BE;
+C540;C540;110A 1175 11BF;C540;110A 1175 11BF;
+C541;C541;110A 1175 11C0;C541;110A 1175 11C0;
+C542;C542;110A 1175 11C1;C542;110A 1175 11C1;
+C543;C543;110A 1175 11C2;C543;110A 1175 11C2;
+C544;C544;110B 1161;C544;110B 1161;
+C545;C545;110B 1161 11A8;C545;110B 1161 11A8;
+C546;C546;110B 1161 11A9;C546;110B 1161 11A9;
+C547;C547;110B 1161 11AA;C547;110B 1161 11AA;
+C548;C548;110B 1161 11AB;C548;110B 1161 11AB;
+C549;C549;110B 1161 11AC;C549;110B 1161 11AC;
+C54A;C54A;110B 1161 11AD;C54A;110B 1161 11AD;
+C54B;C54B;110B 1161 11AE;C54B;110B 1161 11AE;
+C54C;C54C;110B 1161 11AF;C54C;110B 1161 11AF;
+C54D;C54D;110B 1161 11B0;C54D;110B 1161 11B0;
+C54E;C54E;110B 1161 11B1;C54E;110B 1161 11B1;
+C54F;C54F;110B 1161 11B2;C54F;110B 1161 11B2;
+C550;C550;110B 1161 11B3;C550;110B 1161 11B3;
+C551;C551;110B 1161 11B4;C551;110B 1161 11B4;
+C552;C552;110B 1161 11B5;C552;110B 1161 11B5;
+C553;C553;110B 1161 11B6;C553;110B 1161 11B6;
+C554;C554;110B 1161 11B7;C554;110B 1161 11B7;
+C555;C555;110B 1161 11B8;C555;110B 1161 11B8;
+C556;C556;110B 1161 11B9;C556;110B 1161 11B9;
+C557;C557;110B 1161 11BA;C557;110B 1161 11BA;
+C558;C558;110B 1161 11BB;C558;110B 1161 11BB;
+C559;C559;110B 1161 11BC;C559;110B 1161 11BC;
+C55A;C55A;110B 1161 11BD;C55A;110B 1161 11BD;
+C55B;C55B;110B 1161 11BE;C55B;110B 1161 11BE;
+C55C;C55C;110B 1161 11BF;C55C;110B 1161 11BF;
+C55D;C55D;110B 1161 11C0;C55D;110B 1161 11C0;
+C55E;C55E;110B 1161 11C1;C55E;110B 1161 11C1;
+C55F;C55F;110B 1161 11C2;C55F;110B 1161 11C2;
+C560;C560;110B 1162;C560;110B 1162;
+C561;C561;110B 1162 11A8;C561;110B 1162 11A8;
+C562;C562;110B 1162 11A9;C562;110B 1162 11A9;
+C563;C563;110B 1162 11AA;C563;110B 1162 11AA;
+C564;C564;110B 1162 11AB;C564;110B 1162 11AB;
+C565;C565;110B 1162 11AC;C565;110B 1162 11AC;
+C566;C566;110B 1162 11AD;C566;110B 1162 11AD;
+C567;C567;110B 1162 11AE;C567;110B 1162 11AE;
+C568;C568;110B 1162 11AF;C568;110B 1162 11AF;
+C569;C569;110B 1162 11B0;C569;110B 1162 11B0;
+C56A;C56A;110B 1162 11B1;C56A;110B 1162 11B1;
+C56B;C56B;110B 1162 11B2;C56B;110B 1162 11B2;
+C56C;C56C;110B 1162 11B3;C56C;110B 1162 11B3;
+C56D;C56D;110B 1162 11B4;C56D;110B 1162 11B4;
+C56E;C56E;110B 1162 11B5;C56E;110B 1162 11B5;
+C56F;C56F;110B 1162 11B6;C56F;110B 1162 11B6;
+C570;C570;110B 1162 11B7;C570;110B 1162 11B7;
+C571;C571;110B 1162 11B8;C571;110B 1162 11B8;
+C572;C572;110B 1162 11B9;C572;110B 1162 11B9;
+C573;C573;110B 1162 11BA;C573;110B 1162 11BA;
+C574;C574;110B 1162 11BB;C574;110B 1162 11BB;
+C575;C575;110B 1162 11BC;C575;110B 1162 11BC;
+C576;C576;110B 1162 11BD;C576;110B 1162 11BD;
+C577;C577;110B 1162 11BE;C577;110B 1162 11BE;
+C578;C578;110B 1162 11BF;C578;110B 1162 11BF;
+C579;C579;110B 1162 11C0;C579;110B 1162 11C0;
+C57A;C57A;110B 1162 11C1;C57A;110B 1162 11C1;
+C57B;C57B;110B 1162 11C2;C57B;110B 1162 11C2;
+C57C;C57C;110B 1163;C57C;110B 1163;
+C57D;C57D;110B 1163 11A8;C57D;110B 1163 11A8;
+C57E;C57E;110B 1163 11A9;C57E;110B 1163 11A9;
+C57F;C57F;110B 1163 11AA;C57F;110B 1163 11AA;
+C580;C580;110B 1163 11AB;C580;110B 1163 11AB;
+C581;C581;110B 1163 11AC;C581;110B 1163 11AC;
+C582;C582;110B 1163 11AD;C582;110B 1163 11AD;
+C583;C583;110B 1163 11AE;C583;110B 1163 11AE;
+C584;C584;110B 1163 11AF;C584;110B 1163 11AF;
+C585;C585;110B 1163 11B0;C585;110B 1163 11B0;
+C586;C586;110B 1163 11B1;C586;110B 1163 11B1;
+C587;C587;110B 1163 11B2;C587;110B 1163 11B2;
+C588;C588;110B 1163 11B3;C588;110B 1163 11B3;
+C589;C589;110B 1163 11B4;C589;110B 1163 11B4;
+C58A;C58A;110B 1163 11B5;C58A;110B 1163 11B5;
+C58B;C58B;110B 1163 11B6;C58B;110B 1163 11B6;
+C58C;C58C;110B 1163 11B7;C58C;110B 1163 11B7;
+C58D;C58D;110B 1163 11B8;C58D;110B 1163 11B8;
+C58E;C58E;110B 1163 11B9;C58E;110B 1163 11B9;
+C58F;C58F;110B 1163 11BA;C58F;110B 1163 11BA;
+C590;C590;110B 1163 11BB;C590;110B 1163 11BB;
+C591;C591;110B 1163 11BC;C591;110B 1163 11BC;
+C592;C592;110B 1163 11BD;C592;110B 1163 11BD;
+C593;C593;110B 1163 11BE;C593;110B 1163 11BE;
+C594;C594;110B 1163 11BF;C594;110B 1163 11BF;
+C595;C595;110B 1163 11C0;C595;110B 1163 11C0;
+C596;C596;110B 1163 11C1;C596;110B 1163 11C1;
+C597;C597;110B 1163 11C2;C597;110B 1163 11C2;
+C598;C598;110B 1164;C598;110B 1164;
+C599;C599;110B 1164 11A8;C599;110B 1164 11A8;
+C59A;C59A;110B 1164 11A9;C59A;110B 1164 11A9;
+C59B;C59B;110B 1164 11AA;C59B;110B 1164 11AA;
+C59C;C59C;110B 1164 11AB;C59C;110B 1164 11AB;
+C59D;C59D;110B 1164 11AC;C59D;110B 1164 11AC;
+C59E;C59E;110B 1164 11AD;C59E;110B 1164 11AD;
+C59F;C59F;110B 1164 11AE;C59F;110B 1164 11AE;
+C5A0;C5A0;110B 1164 11AF;C5A0;110B 1164 11AF;
+C5A1;C5A1;110B 1164 11B0;C5A1;110B 1164 11B0;
+C5A2;C5A2;110B 1164 11B1;C5A2;110B 1164 11B1;
+C5A3;C5A3;110B 1164 11B2;C5A3;110B 1164 11B2;
+C5A4;C5A4;110B 1164 11B3;C5A4;110B 1164 11B3;
+C5A5;C5A5;110B 1164 11B4;C5A5;110B 1164 11B4;
+C5A6;C5A6;110B 1164 11B5;C5A6;110B 1164 11B5;
+C5A7;C5A7;110B 1164 11B6;C5A7;110B 1164 11B6;
+C5A8;C5A8;110B 1164 11B7;C5A8;110B 1164 11B7;
+C5A9;C5A9;110B 1164 11B8;C5A9;110B 1164 11B8;
+C5AA;C5AA;110B 1164 11B9;C5AA;110B 1164 11B9;
+C5AB;C5AB;110B 1164 11BA;C5AB;110B 1164 11BA;
+C5AC;C5AC;110B 1164 11BB;C5AC;110B 1164 11BB;
+C5AD;C5AD;110B 1164 11BC;C5AD;110B 1164 11BC;
+C5AE;C5AE;110B 1164 11BD;C5AE;110B 1164 11BD;
+C5AF;C5AF;110B 1164 11BE;C5AF;110B 1164 11BE;
+C5B0;C5B0;110B 1164 11BF;C5B0;110B 1164 11BF;
+C5B1;C5B1;110B 1164 11C0;C5B1;110B 1164 11C0;
+C5B2;C5B2;110B 1164 11C1;C5B2;110B 1164 11C1;
+C5B3;C5B3;110B 1164 11C2;C5B3;110B 1164 11C2;
+C5B4;C5B4;110B 1165;C5B4;110B 1165;
+C5B5;C5B5;110B 1165 11A8;C5B5;110B 1165 11A8;
+C5B6;C5B6;110B 1165 11A9;C5B6;110B 1165 11A9;
+C5B7;C5B7;110B 1165 11AA;C5B7;110B 1165 11AA;
+C5B8;C5B8;110B 1165 11AB;C5B8;110B 1165 11AB;
+C5B9;C5B9;110B 1165 11AC;C5B9;110B 1165 11AC;
+C5BA;C5BA;110B 1165 11AD;C5BA;110B 1165 11AD;
+C5BB;C5BB;110B 1165 11AE;C5BB;110B 1165 11AE;
+C5BC;C5BC;110B 1165 11AF;C5BC;110B 1165 11AF;
+C5BD;C5BD;110B 1165 11B0;C5BD;110B 1165 11B0;
+C5BE;C5BE;110B 1165 11B1;C5BE;110B 1165 11B1;
+C5BF;C5BF;110B 1165 11B2;C5BF;110B 1165 11B2;
+C5C0;C5C0;110B 1165 11B3;C5C0;110B 1165 11B3;
+C5C1;C5C1;110B 1165 11B4;C5C1;110B 1165 11B4;
+C5C2;C5C2;110B 1165 11B5;C5C2;110B 1165 11B5;
+C5C3;C5C3;110B 1165 11B6;C5C3;110B 1165 11B6;
+C5C4;C5C4;110B 1165 11B7;C5C4;110B 1165 11B7;
+C5C5;C5C5;110B 1165 11B8;C5C5;110B 1165 11B8;
+C5C6;C5C6;110B 1165 11B9;C5C6;110B 1165 11B9;
+C5C7;C5C7;110B 1165 11BA;C5C7;110B 1165 11BA;
+C5C8;C5C8;110B 1165 11BB;C5C8;110B 1165 11BB;
+C5C9;C5C9;110B 1165 11BC;C5C9;110B 1165 11BC;
+C5CA;C5CA;110B 1165 11BD;C5CA;110B 1165 11BD;
+C5CB;C5CB;110B 1165 11BE;C5CB;110B 1165 11BE;
+C5CC;C5CC;110B 1165 11BF;C5CC;110B 1165 11BF;
+C5CD;C5CD;110B 1165 11C0;C5CD;110B 1165 11C0;
+C5CE;C5CE;110B 1165 11C1;C5CE;110B 1165 11C1;
+C5CF;C5CF;110B 1165 11C2;C5CF;110B 1165 11C2;
+C5D0;C5D0;110B 1166;C5D0;110B 1166;
+C5D1;C5D1;110B 1166 11A8;C5D1;110B 1166 11A8;
+C5D2;C5D2;110B 1166 11A9;C5D2;110B 1166 11A9;
+C5D3;C5D3;110B 1166 11AA;C5D3;110B 1166 11AA;
+C5D4;C5D4;110B 1166 11AB;C5D4;110B 1166 11AB;
+C5D5;C5D5;110B 1166 11AC;C5D5;110B 1166 11AC;
+C5D6;C5D6;110B 1166 11AD;C5D6;110B 1166 11AD;
+C5D7;C5D7;110B 1166 11AE;C5D7;110B 1166 11AE;
+C5D8;C5D8;110B 1166 11AF;C5D8;110B 1166 11AF;
+C5D9;C5D9;110B 1166 11B0;C5D9;110B 1166 11B0;
+C5DA;C5DA;110B 1166 11B1;C5DA;110B 1166 11B1;
+C5DB;C5DB;110B 1166 11B2;C5DB;110B 1166 11B2;
+C5DC;C5DC;110B 1166 11B3;C5DC;110B 1166 11B3;
+C5DD;C5DD;110B 1166 11B4;C5DD;110B 1166 11B4;
+C5DE;C5DE;110B 1166 11B5;C5DE;110B 1166 11B5;
+C5DF;C5DF;110B 1166 11B6;C5DF;110B 1166 11B6;
+C5E0;C5E0;110B 1166 11B7;C5E0;110B 1166 11B7;
+C5E1;C5E1;110B 1166 11B8;C5E1;110B 1166 11B8;
+C5E2;C5E2;110B 1166 11B9;C5E2;110B 1166 11B9;
+C5E3;C5E3;110B 1166 11BA;C5E3;110B 1166 11BA;
+C5E4;C5E4;110B 1166 11BB;C5E4;110B 1166 11BB;
+C5E5;C5E5;110B 1166 11BC;C5E5;110B 1166 11BC;
+C5E6;C5E6;110B 1166 11BD;C5E6;110B 1166 11BD;
+C5E7;C5E7;110B 1166 11BE;C5E7;110B 1166 11BE;
+C5E8;C5E8;110B 1166 11BF;C5E8;110B 1166 11BF;
+C5E9;C5E9;110B 1166 11C0;C5E9;110B 1166 11C0;
+C5EA;C5EA;110B 1166 11C1;C5EA;110B 1166 11C1;
+C5EB;C5EB;110B 1166 11C2;C5EB;110B 1166 11C2;
+C5EC;C5EC;110B 1167;C5EC;110B 1167;
+C5ED;C5ED;110B 1167 11A8;C5ED;110B 1167 11A8;
+C5EE;C5EE;110B 1167 11A9;C5EE;110B 1167 11A9;
+C5EF;C5EF;110B 1167 11AA;C5EF;110B 1167 11AA;
+C5F0;C5F0;110B 1167 11AB;C5F0;110B 1167 11AB;
+C5F1;C5F1;110B 1167 11AC;C5F1;110B 1167 11AC;
+C5F2;C5F2;110B 1167 11AD;C5F2;110B 1167 11AD;
+C5F3;C5F3;110B 1167 11AE;C5F3;110B 1167 11AE;
+C5F4;C5F4;110B 1167 11AF;C5F4;110B 1167 11AF;
+C5F5;C5F5;110B 1167 11B0;C5F5;110B 1167 11B0;
+C5F6;C5F6;110B 1167 11B1;C5F6;110B 1167 11B1;
+C5F7;C5F7;110B 1167 11B2;C5F7;110B 1167 11B2;
+C5F8;C5F8;110B 1167 11B3;C5F8;110B 1167 11B3;
+C5F9;C5F9;110B 1167 11B4;C5F9;110B 1167 11B4;
+C5FA;C5FA;110B 1167 11B5;C5FA;110B 1167 11B5;
+C5FB;C5FB;110B 1167 11B6;C5FB;110B 1167 11B6;
+C5FC;C5FC;110B 1167 11B7;C5FC;110B 1167 11B7;
+C5FD;C5FD;110B 1167 11B8;C5FD;110B 1167 11B8;
+C5FE;C5FE;110B 1167 11B9;C5FE;110B 1167 11B9;
+C5FF;C5FF;110B 1167 11BA;C5FF;110B 1167 11BA;
+C600;C600;110B 1167 11BB;C600;110B 1167 11BB;
+C601;C601;110B 1167 11BC;C601;110B 1167 11BC;
+C602;C602;110B 1167 11BD;C602;110B 1167 11BD;
+C603;C603;110B 1167 11BE;C603;110B 1167 11BE;
+C604;C604;110B 1167 11BF;C604;110B 1167 11BF;
+C605;C605;110B 1167 11C0;C605;110B 1167 11C0;
+C606;C606;110B 1167 11C1;C606;110B 1167 11C1;
+C607;C607;110B 1167 11C2;C607;110B 1167 11C2;
+C608;C608;110B 1168;C608;110B 1168;
+C609;C609;110B 1168 11A8;C609;110B 1168 11A8;
+C60A;C60A;110B 1168 11A9;C60A;110B 1168 11A9;
+C60B;C60B;110B 1168 11AA;C60B;110B 1168 11AA;
+C60C;C60C;110B 1168 11AB;C60C;110B 1168 11AB;
+C60D;C60D;110B 1168 11AC;C60D;110B 1168 11AC;
+C60E;C60E;110B 1168 11AD;C60E;110B 1168 11AD;
+C60F;C60F;110B 1168 11AE;C60F;110B 1168 11AE;
+C610;C610;110B 1168 11AF;C610;110B 1168 11AF;
+C611;C611;110B 1168 11B0;C611;110B 1168 11B0;
+C612;C612;110B 1168 11B1;C612;110B 1168 11B1;
+C613;C613;110B 1168 11B2;C613;110B 1168 11B2;
+C614;C614;110B 1168 11B3;C614;110B 1168 11B3;
+C615;C615;110B 1168 11B4;C615;110B 1168 11B4;
+C616;C616;110B 1168 11B5;C616;110B 1168 11B5;
+C617;C617;110B 1168 11B6;C617;110B 1168 11B6;
+C618;C618;110B 1168 11B7;C618;110B 1168 11B7;
+C619;C619;110B 1168 11B8;C619;110B 1168 11B8;
+C61A;C61A;110B 1168 11B9;C61A;110B 1168 11B9;
+C61B;C61B;110B 1168 11BA;C61B;110B 1168 11BA;
+C61C;C61C;110B 1168 11BB;C61C;110B 1168 11BB;
+C61D;C61D;110B 1168 11BC;C61D;110B 1168 11BC;
+C61E;C61E;110B 1168 11BD;C61E;110B 1168 11BD;
+C61F;C61F;110B 1168 11BE;C61F;110B 1168 11BE;
+C620;C620;110B 1168 11BF;C620;110B 1168 11BF;
+C621;C621;110B 1168 11C0;C621;110B 1168 11C0;
+C622;C622;110B 1168 11C1;C622;110B 1168 11C1;
+C623;C623;110B 1168 11C2;C623;110B 1168 11C2;
+C624;C624;110B 1169;C624;110B 1169;
+C625;C625;110B 1169 11A8;C625;110B 1169 11A8;
+C626;C626;110B 1169 11A9;C626;110B 1169 11A9;
+C627;C627;110B 1169 11AA;C627;110B 1169 11AA;
+C628;C628;110B 1169 11AB;C628;110B 1169 11AB;
+C629;C629;110B 1169 11AC;C629;110B 1169 11AC;
+C62A;C62A;110B 1169 11AD;C62A;110B 1169 11AD;
+C62B;C62B;110B 1169 11AE;C62B;110B 1169 11AE;
+C62C;C62C;110B 1169 11AF;C62C;110B 1169 11AF;
+C62D;C62D;110B 1169 11B0;C62D;110B 1169 11B0;
+C62E;C62E;110B 1169 11B1;C62E;110B 1169 11B1;
+C62F;C62F;110B 1169 11B2;C62F;110B 1169 11B2;
+C630;C630;110B 1169 11B3;C630;110B 1169 11B3;
+C631;C631;110B 1169 11B4;C631;110B 1169 11B4;
+C632;C632;110B 1169 11B5;C632;110B 1169 11B5;
+C633;C633;110B 1169 11B6;C633;110B 1169 11B6;
+C634;C634;110B 1169 11B7;C634;110B 1169 11B7;
+C635;C635;110B 1169 11B8;C635;110B 1169 11B8;
+C636;C636;110B 1169 11B9;C636;110B 1169 11B9;
+C637;C637;110B 1169 11BA;C637;110B 1169 11BA;
+C638;C638;110B 1169 11BB;C638;110B 1169 11BB;
+C639;C639;110B 1169 11BC;C639;110B 1169 11BC;
+C63A;C63A;110B 1169 11BD;C63A;110B 1169 11BD;
+C63B;C63B;110B 1169 11BE;C63B;110B 1169 11BE;
+C63C;C63C;110B 1169 11BF;C63C;110B 1169 11BF;
+C63D;C63D;110B 1169 11C0;C63D;110B 1169 11C0;
+C63E;C63E;110B 1169 11C1;C63E;110B 1169 11C1;
+C63F;C63F;110B 1169 11C2;C63F;110B 1169 11C2;
+C640;C640;110B 116A;C640;110B 116A;
+C641;C641;110B 116A 11A8;C641;110B 116A 11A8;
+C642;C642;110B 116A 11A9;C642;110B 116A 11A9;
+C643;C643;110B 116A 11AA;C643;110B 116A 11AA;
+C644;C644;110B 116A 11AB;C644;110B 116A 11AB;
+C645;C645;110B 116A 11AC;C645;110B 116A 11AC;
+C646;C646;110B 116A 11AD;C646;110B 116A 11AD;
+C647;C647;110B 116A 11AE;C647;110B 116A 11AE;
+C648;C648;110B 116A 11AF;C648;110B 116A 11AF;
+C649;C649;110B 116A 11B0;C649;110B 116A 11B0;
+C64A;C64A;110B 116A 11B1;C64A;110B 116A 11B1;
+C64B;C64B;110B 116A 11B2;C64B;110B 116A 11B2;
+C64C;C64C;110B 116A 11B3;C64C;110B 116A 11B3;
+C64D;C64D;110B 116A 11B4;C64D;110B 116A 11B4;
+C64E;C64E;110B 116A 11B5;C64E;110B 116A 11B5;
+C64F;C64F;110B 116A 11B6;C64F;110B 116A 11B6;
+C650;C650;110B 116A 11B7;C650;110B 116A 11B7;
+C651;C651;110B 116A 11B8;C651;110B 116A 11B8;
+C652;C652;110B 116A 11B9;C652;110B 116A 11B9;
+C653;C653;110B 116A 11BA;C653;110B 116A 11BA;
+C654;C654;110B 116A 11BB;C654;110B 116A 11BB;
+C655;C655;110B 116A 11BC;C655;110B 116A 11BC;
+C656;C656;110B 116A 11BD;C656;110B 116A 11BD;
+C657;C657;110B 116A 11BE;C657;110B 116A 11BE;
+C658;C658;110B 116A 11BF;C658;110B 116A 11BF;
+C659;C659;110B 116A 11C0;C659;110B 116A 11C0;
+C65A;C65A;110B 116A 11C1;C65A;110B 116A 11C1;
+C65B;C65B;110B 116A 11C2;C65B;110B 116A 11C2;
+C65C;C65C;110B 116B;C65C;110B 116B;
+C65D;C65D;110B 116B 11A8;C65D;110B 116B 11A8;
+C65E;C65E;110B 116B 11A9;C65E;110B 116B 11A9;
+C65F;C65F;110B 116B 11AA;C65F;110B 116B 11AA;
+C660;C660;110B 116B 11AB;C660;110B 116B 11AB;
+C661;C661;110B 116B 11AC;C661;110B 116B 11AC;
+C662;C662;110B 116B 11AD;C662;110B 116B 11AD;
+C663;C663;110B 116B 11AE;C663;110B 116B 11AE;
+C664;C664;110B 116B 11AF;C664;110B 116B 11AF;
+C665;C665;110B 116B 11B0;C665;110B 116B 11B0;
+C666;C666;110B 116B 11B1;C666;110B 116B 11B1;
+C667;C667;110B 116B 11B2;C667;110B 116B 11B2;
+C668;C668;110B 116B 11B3;C668;110B 116B 11B3;
+C669;C669;110B 116B 11B4;C669;110B 116B 11B4;
+C66A;C66A;110B 116B 11B5;C66A;110B 116B 11B5;
+C66B;C66B;110B 116B 11B6;C66B;110B 116B 11B6;
+C66C;C66C;110B 116B 11B7;C66C;110B 116B 11B7;
+C66D;C66D;110B 116B 11B8;C66D;110B 116B 11B8;
+C66E;C66E;110B 116B 11B9;C66E;110B 116B 11B9;
+C66F;C66F;110B 116B 11BA;C66F;110B 116B 11BA;
+C670;C670;110B 116B 11BB;C670;110B 116B 11BB;
+C671;C671;110B 116B 11BC;C671;110B 116B 11BC;
+C672;C672;110B 116B 11BD;C672;110B 116B 11BD;
+C673;C673;110B 116B 11BE;C673;110B 116B 11BE;
+C674;C674;110B 116B 11BF;C674;110B 116B 11BF;
+C675;C675;110B 116B 11C0;C675;110B 116B 11C0;
+C676;C676;110B 116B 11C1;C676;110B 116B 11C1;
+C677;C677;110B 116B 11C2;C677;110B 116B 11C2;
+C678;C678;110B 116C;C678;110B 116C;
+C679;C679;110B 116C 11A8;C679;110B 116C 11A8;
+C67A;C67A;110B 116C 11A9;C67A;110B 116C 11A9;
+C67B;C67B;110B 116C 11AA;C67B;110B 116C 11AA;
+C67C;C67C;110B 116C 11AB;C67C;110B 116C 11AB;
+C67D;C67D;110B 116C 11AC;C67D;110B 116C 11AC;
+C67E;C67E;110B 116C 11AD;C67E;110B 116C 11AD;
+C67F;C67F;110B 116C 11AE;C67F;110B 116C 11AE;
+C680;C680;110B 116C 11AF;C680;110B 116C 11AF;
+C681;C681;110B 116C 11B0;C681;110B 116C 11B0;
+C682;C682;110B 116C 11B1;C682;110B 116C 11B1;
+C683;C683;110B 116C 11B2;C683;110B 116C 11B2;
+C684;C684;110B 116C 11B3;C684;110B 116C 11B3;
+C685;C685;110B 116C 11B4;C685;110B 116C 11B4;
+C686;C686;110B 116C 11B5;C686;110B 116C 11B5;
+C687;C687;110B 116C 11B6;C687;110B 116C 11B6;
+C688;C688;110B 116C 11B7;C688;110B 116C 11B7;
+C689;C689;110B 116C 11B8;C689;110B 116C 11B8;
+C68A;C68A;110B 116C 11B9;C68A;110B 116C 11B9;
+C68B;C68B;110B 116C 11BA;C68B;110B 116C 11BA;
+C68C;C68C;110B 116C 11BB;C68C;110B 116C 11BB;
+C68D;C68D;110B 116C 11BC;C68D;110B 116C 11BC;
+C68E;C68E;110B 116C 11BD;C68E;110B 116C 11BD;
+C68F;C68F;110B 116C 11BE;C68F;110B 116C 11BE;
+C690;C690;110B 116C 11BF;C690;110B 116C 11BF;
+C691;C691;110B 116C 11C0;C691;110B 116C 11C0;
+C692;C692;110B 116C 11C1;C692;110B 116C 11C1;
+C693;C693;110B 116C 11C2;C693;110B 116C 11C2;
+C694;C694;110B 116D;C694;110B 116D;
+C695;C695;110B 116D 11A8;C695;110B 116D 11A8;
+C696;C696;110B 116D 11A9;C696;110B 116D 11A9;
+C697;C697;110B 116D 11AA;C697;110B 116D 11AA;
+C698;C698;110B 116D 11AB;C698;110B 116D 11AB;
+C699;C699;110B 116D 11AC;C699;110B 116D 11AC;
+C69A;C69A;110B 116D 11AD;C69A;110B 116D 11AD;
+C69B;C69B;110B 116D 11AE;C69B;110B 116D 11AE;
+C69C;C69C;110B 116D 11AF;C69C;110B 116D 11AF;
+C69D;C69D;110B 116D 11B0;C69D;110B 116D 11B0;
+C69E;C69E;110B 116D 11B1;C69E;110B 116D 11B1;
+C69F;C69F;110B 116D 11B2;C69F;110B 116D 11B2;
+C6A0;C6A0;110B 116D 11B3;C6A0;110B 116D 11B3;
+C6A1;C6A1;110B 116D 11B4;C6A1;110B 116D 11B4;
+C6A2;C6A2;110B 116D 11B5;C6A2;110B 116D 11B5;
+C6A3;C6A3;110B 116D 11B6;C6A3;110B 116D 11B6;
+C6A4;C6A4;110B 116D 11B7;C6A4;110B 116D 11B7;
+C6A5;C6A5;110B 116D 11B8;C6A5;110B 116D 11B8;
+C6A6;C6A6;110B 116D 11B9;C6A6;110B 116D 11B9;
+C6A7;C6A7;110B 116D 11BA;C6A7;110B 116D 11BA;
+C6A8;C6A8;110B 116D 11BB;C6A8;110B 116D 11BB;
+C6A9;C6A9;110B 116D 11BC;C6A9;110B 116D 11BC;
+C6AA;C6AA;110B 116D 11BD;C6AA;110B 116D 11BD;
+C6AB;C6AB;110B 116D 11BE;C6AB;110B 116D 11BE;
+C6AC;C6AC;110B 116D 11BF;C6AC;110B 116D 11BF;
+C6AD;C6AD;110B 116D 11C0;C6AD;110B 116D 11C0;
+C6AE;C6AE;110B 116D 11C1;C6AE;110B 116D 11C1;
+C6AF;C6AF;110B 116D 11C2;C6AF;110B 116D 11C2;
+C6B0;C6B0;110B 116E;C6B0;110B 116E;
+C6B1;C6B1;110B 116E 11A8;C6B1;110B 116E 11A8;
+C6B2;C6B2;110B 116E 11A9;C6B2;110B 116E 11A9;
+C6B3;C6B3;110B 116E 11AA;C6B3;110B 116E 11AA;
+C6B4;C6B4;110B 116E 11AB;C6B4;110B 116E 11AB;
+C6B5;C6B5;110B 116E 11AC;C6B5;110B 116E 11AC;
+C6B6;C6B6;110B 116E 11AD;C6B6;110B 116E 11AD;
+C6B7;C6B7;110B 116E 11AE;C6B7;110B 116E 11AE;
+C6B8;C6B8;110B 116E 11AF;C6B8;110B 116E 11AF;
+C6B9;C6B9;110B 116E 11B0;C6B9;110B 116E 11B0;
+C6BA;C6BA;110B 116E 11B1;C6BA;110B 116E 11B1;
+C6BB;C6BB;110B 116E 11B2;C6BB;110B 116E 11B2;
+C6BC;C6BC;110B 116E 11B3;C6BC;110B 116E 11B3;
+C6BD;C6BD;110B 116E 11B4;C6BD;110B 116E 11B4;
+C6BE;C6BE;110B 116E 11B5;C6BE;110B 116E 11B5;
+C6BF;C6BF;110B 116E 11B6;C6BF;110B 116E 11B6;
+C6C0;C6C0;110B 116E 11B7;C6C0;110B 116E 11B7;
+C6C1;C6C1;110B 116E 11B8;C6C1;110B 116E 11B8;
+C6C2;C6C2;110B 116E 11B9;C6C2;110B 116E 11B9;
+C6C3;C6C3;110B 116E 11BA;C6C3;110B 116E 11BA;
+C6C4;C6C4;110B 116E 11BB;C6C4;110B 116E 11BB;
+C6C5;C6C5;110B 116E 11BC;C6C5;110B 116E 11BC;
+C6C6;C6C6;110B 116E 11BD;C6C6;110B 116E 11BD;
+C6C7;C6C7;110B 116E 11BE;C6C7;110B 116E 11BE;
+C6C8;C6C8;110B 116E 11BF;C6C8;110B 116E 11BF;
+C6C9;C6C9;110B 116E 11C0;C6C9;110B 116E 11C0;
+C6CA;C6CA;110B 116E 11C1;C6CA;110B 116E 11C1;
+C6CB;C6CB;110B 116E 11C2;C6CB;110B 116E 11C2;
+C6CC;C6CC;110B 116F;C6CC;110B 116F;
+C6CD;C6CD;110B 116F 11A8;C6CD;110B 116F 11A8;
+C6CE;C6CE;110B 116F 11A9;C6CE;110B 116F 11A9;
+C6CF;C6CF;110B 116F 11AA;C6CF;110B 116F 11AA;
+C6D0;C6D0;110B 116F 11AB;C6D0;110B 116F 11AB;
+C6D1;C6D1;110B 116F 11AC;C6D1;110B 116F 11AC;
+C6D2;C6D2;110B 116F 11AD;C6D2;110B 116F 11AD;
+C6D3;C6D3;110B 116F 11AE;C6D3;110B 116F 11AE;
+C6D4;C6D4;110B 116F 11AF;C6D4;110B 116F 11AF;
+C6D5;C6D5;110B 116F 11B0;C6D5;110B 116F 11B0;
+C6D6;C6D6;110B 116F 11B1;C6D6;110B 116F 11B1;
+C6D7;C6D7;110B 116F 11B2;C6D7;110B 116F 11B2;
+C6D8;C6D8;110B 116F 11B3;C6D8;110B 116F 11B3;
+C6D9;C6D9;110B 116F 11B4;C6D9;110B 116F 11B4;
+C6DA;C6DA;110B 116F 11B5;C6DA;110B 116F 11B5;
+C6DB;C6DB;110B 116F 11B6;C6DB;110B 116F 11B6;
+C6DC;C6DC;110B 116F 11B7;C6DC;110B 116F 11B7;
+C6DD;C6DD;110B 116F 11B8;C6DD;110B 116F 11B8;
+C6DE;C6DE;110B 116F 11B9;C6DE;110B 116F 11B9;
+C6DF;C6DF;110B 116F 11BA;C6DF;110B 116F 11BA;
+C6E0;C6E0;110B 116F 11BB;C6E0;110B 116F 11BB;
+C6E1;C6E1;110B 116F 11BC;C6E1;110B 116F 11BC;
+C6E2;C6E2;110B 116F 11BD;C6E2;110B 116F 11BD;
+C6E3;C6E3;110B 116F 11BE;C6E3;110B 116F 11BE;
+C6E4;C6E4;110B 116F 11BF;C6E4;110B 116F 11BF;
+C6E5;C6E5;110B 116F 11C0;C6E5;110B 116F 11C0;
+C6E6;C6E6;110B 116F 11C1;C6E6;110B 116F 11C1;
+C6E7;C6E7;110B 116F 11C2;C6E7;110B 116F 11C2;
+C6E8;C6E8;110B 1170;C6E8;110B 1170;
+C6E9;C6E9;110B 1170 11A8;C6E9;110B 1170 11A8;
+C6EA;C6EA;110B 1170 11A9;C6EA;110B 1170 11A9;
+C6EB;C6EB;110B 1170 11AA;C6EB;110B 1170 11AA;
+C6EC;C6EC;110B 1170 11AB;C6EC;110B 1170 11AB;
+C6ED;C6ED;110B 1170 11AC;C6ED;110B 1170 11AC;
+C6EE;C6EE;110B 1170 11AD;C6EE;110B 1170 11AD;
+C6EF;C6EF;110B 1170 11AE;C6EF;110B 1170 11AE;
+C6F0;C6F0;110B 1170 11AF;C6F0;110B 1170 11AF;
+C6F1;C6F1;110B 1170 11B0;C6F1;110B 1170 11B0;
+C6F2;C6F2;110B 1170 11B1;C6F2;110B 1170 11B1;
+C6F3;C6F3;110B 1170 11B2;C6F3;110B 1170 11B2;
+C6F4;C6F4;110B 1170 11B3;C6F4;110B 1170 11B3;
+C6F5;C6F5;110B 1170 11B4;C6F5;110B 1170 11B4;
+C6F6;C6F6;110B 1170 11B5;C6F6;110B 1170 11B5;
+C6F7;C6F7;110B 1170 11B6;C6F7;110B 1170 11B6;
+C6F8;C6F8;110B 1170 11B7;C6F8;110B 1170 11B7;
+C6F9;C6F9;110B 1170 11B8;C6F9;110B 1170 11B8;
+C6FA;C6FA;110B 1170 11B9;C6FA;110B 1170 11B9;
+C6FB;C6FB;110B 1170 11BA;C6FB;110B 1170 11BA;
+C6FC;C6FC;110B 1170 11BB;C6FC;110B 1170 11BB;
+C6FD;C6FD;110B 1170 11BC;C6FD;110B 1170 11BC;
+C6FE;C6FE;110B 1170 11BD;C6FE;110B 1170 11BD;
+C6FF;C6FF;110B 1170 11BE;C6FF;110B 1170 11BE;
+C700;C700;110B 1170 11BF;C700;110B 1170 11BF;
+C701;C701;110B 1170 11C0;C701;110B 1170 11C0;
+C702;C702;110B 1170 11C1;C702;110B 1170 11C1;
+C703;C703;110B 1170 11C2;C703;110B 1170 11C2;
+C704;C704;110B 1171;C704;110B 1171;
+C705;C705;110B 1171 11A8;C705;110B 1171 11A8;
+C706;C706;110B 1171 11A9;C706;110B 1171 11A9;
+C707;C707;110B 1171 11AA;C707;110B 1171 11AA;
+C708;C708;110B 1171 11AB;C708;110B 1171 11AB;
+C709;C709;110B 1171 11AC;C709;110B 1171 11AC;
+C70A;C70A;110B 1171 11AD;C70A;110B 1171 11AD;
+C70B;C70B;110B 1171 11AE;C70B;110B 1171 11AE;
+C70C;C70C;110B 1171 11AF;C70C;110B 1171 11AF;
+C70D;C70D;110B 1171 11B0;C70D;110B 1171 11B0;
+C70E;C70E;110B 1171 11B1;C70E;110B 1171 11B1;
+C70F;C70F;110B 1171 11B2;C70F;110B 1171 11B2;
+C710;C710;110B 1171 11B3;C710;110B 1171 11B3;
+C711;C711;110B 1171 11B4;C711;110B 1171 11B4;
+C712;C712;110B 1171 11B5;C712;110B 1171 11B5;
+C713;C713;110B 1171 11B6;C713;110B 1171 11B6;
+C714;C714;110B 1171 11B7;C714;110B 1171 11B7;
+C715;C715;110B 1171 11B8;C715;110B 1171 11B8;
+C716;C716;110B 1171 11B9;C716;110B 1171 11B9;
+C717;C717;110B 1171 11BA;C717;110B 1171 11BA;
+C718;C718;110B 1171 11BB;C718;110B 1171 11BB;
+C719;C719;110B 1171 11BC;C719;110B 1171 11BC;
+C71A;C71A;110B 1171 11BD;C71A;110B 1171 11BD;
+C71B;C71B;110B 1171 11BE;C71B;110B 1171 11BE;
+C71C;C71C;110B 1171 11BF;C71C;110B 1171 11BF;
+C71D;C71D;110B 1171 11C0;C71D;110B 1171 11C0;
+C71E;C71E;110B 1171 11C1;C71E;110B 1171 11C1;
+C71F;C71F;110B 1171 11C2;C71F;110B 1171 11C2;
+C720;C720;110B 1172;C720;110B 1172;
+C721;C721;110B 1172 11A8;C721;110B 1172 11A8;
+C722;C722;110B 1172 11A9;C722;110B 1172 11A9;
+C723;C723;110B 1172 11AA;C723;110B 1172 11AA;
+C724;C724;110B 1172 11AB;C724;110B 1172 11AB;
+C725;C725;110B 1172 11AC;C725;110B 1172 11AC;
+C726;C726;110B 1172 11AD;C726;110B 1172 11AD;
+C727;C727;110B 1172 11AE;C727;110B 1172 11AE;
+C728;C728;110B 1172 11AF;C728;110B 1172 11AF;
+C729;C729;110B 1172 11B0;C729;110B 1172 11B0;
+C72A;C72A;110B 1172 11B1;C72A;110B 1172 11B1;
+C72B;C72B;110B 1172 11B2;C72B;110B 1172 11B2;
+C72C;C72C;110B 1172 11B3;C72C;110B 1172 11B3;
+C72D;C72D;110B 1172 11B4;C72D;110B 1172 11B4;
+C72E;C72E;110B 1172 11B5;C72E;110B 1172 11B5;
+C72F;C72F;110B 1172 11B6;C72F;110B 1172 11B6;
+C730;C730;110B 1172 11B7;C730;110B 1172 11B7;
+C731;C731;110B 1172 11B8;C731;110B 1172 11B8;
+C732;C732;110B 1172 11B9;C732;110B 1172 11B9;
+C733;C733;110B 1172 11BA;C733;110B 1172 11BA;
+C734;C734;110B 1172 11BB;C734;110B 1172 11BB;
+C735;C735;110B 1172 11BC;C735;110B 1172 11BC;
+C736;C736;110B 1172 11BD;C736;110B 1172 11BD;
+C737;C737;110B 1172 11BE;C737;110B 1172 11BE;
+C738;C738;110B 1172 11BF;C738;110B 1172 11BF;
+C739;C739;110B 1172 11C0;C739;110B 1172 11C0;
+C73A;C73A;110B 1172 11C1;C73A;110B 1172 11C1;
+C73B;C73B;110B 1172 11C2;C73B;110B 1172 11C2;
+C73C;C73C;110B 1173;C73C;110B 1173;
+C73D;C73D;110B 1173 11A8;C73D;110B 1173 11A8;
+C73E;C73E;110B 1173 11A9;C73E;110B 1173 11A9;
+C73F;C73F;110B 1173 11AA;C73F;110B 1173 11AA;
+C740;C740;110B 1173 11AB;C740;110B 1173 11AB;
+C741;C741;110B 1173 11AC;C741;110B 1173 11AC;
+C742;C742;110B 1173 11AD;C742;110B 1173 11AD;
+C743;C743;110B 1173 11AE;C743;110B 1173 11AE;
+C744;C744;110B 1173 11AF;C744;110B 1173 11AF;
+C745;C745;110B 1173 11B0;C745;110B 1173 11B0;
+C746;C746;110B 1173 11B1;C746;110B 1173 11B1;
+C747;C747;110B 1173 11B2;C747;110B 1173 11B2;
+C748;C748;110B 1173 11B3;C748;110B 1173 11B3;
+C749;C749;110B 1173 11B4;C749;110B 1173 11B4;
+C74A;C74A;110B 1173 11B5;C74A;110B 1173 11B5;
+C74B;C74B;110B 1173 11B6;C74B;110B 1173 11B6;
+C74C;C74C;110B 1173 11B7;C74C;110B 1173 11B7;
+C74D;C74D;110B 1173 11B8;C74D;110B 1173 11B8;
+C74E;C74E;110B 1173 11B9;C74E;110B 1173 11B9;
+C74F;C74F;110B 1173 11BA;C74F;110B 1173 11BA;
+C750;C750;110B 1173 11BB;C750;110B 1173 11BB;
+C751;C751;110B 1173 11BC;C751;110B 1173 11BC;
+C752;C752;110B 1173 11BD;C752;110B 1173 11BD;
+C753;C753;110B 1173 11BE;C753;110B 1173 11BE;
+C754;C754;110B 1173 11BF;C754;110B 1173 11BF;
+C755;C755;110B 1173 11C0;C755;110B 1173 11C0;
+C756;C756;110B 1173 11C1;C756;110B 1173 11C1;
+C757;C757;110B 1173 11C2;C757;110B 1173 11C2;
+C758;C758;110B 1174;C758;110B 1174;
+C759;C759;110B 1174 11A8;C759;110B 1174 11A8;
+C75A;C75A;110B 1174 11A9;C75A;110B 1174 11A9;
+C75B;C75B;110B 1174 11AA;C75B;110B 1174 11AA;
+C75C;C75C;110B 1174 11AB;C75C;110B 1174 11AB;
+C75D;C75D;110B 1174 11AC;C75D;110B 1174 11AC;
+C75E;C75E;110B 1174 11AD;C75E;110B 1174 11AD;
+C75F;C75F;110B 1174 11AE;C75F;110B 1174 11AE;
+C760;C760;110B 1174 11AF;C760;110B 1174 11AF;
+C761;C761;110B 1174 11B0;C761;110B 1174 11B0;
+C762;C762;110B 1174 11B1;C762;110B 1174 11B1;
+C763;C763;110B 1174 11B2;C763;110B 1174 11B2;
+C764;C764;110B 1174 11B3;C764;110B 1174 11B3;
+C765;C765;110B 1174 11B4;C765;110B 1174 11B4;
+C766;C766;110B 1174 11B5;C766;110B 1174 11B5;
+C767;C767;110B 1174 11B6;C767;110B 1174 11B6;
+C768;C768;110B 1174 11B7;C768;110B 1174 11B7;
+C769;C769;110B 1174 11B8;C769;110B 1174 11B8;
+C76A;C76A;110B 1174 11B9;C76A;110B 1174 11B9;
+C76B;C76B;110B 1174 11BA;C76B;110B 1174 11BA;
+C76C;C76C;110B 1174 11BB;C76C;110B 1174 11BB;
+C76D;C76D;110B 1174 11BC;C76D;110B 1174 11BC;
+C76E;C76E;110B 1174 11BD;C76E;110B 1174 11BD;
+C76F;C76F;110B 1174 11BE;C76F;110B 1174 11BE;
+C770;C770;110B 1174 11BF;C770;110B 1174 11BF;
+C771;C771;110B 1174 11C0;C771;110B 1174 11C0;
+C772;C772;110B 1174 11C1;C772;110B 1174 11C1;
+C773;C773;110B 1174 11C2;C773;110B 1174 11C2;
+C774;C774;110B 1175;C774;110B 1175;
+C775;C775;110B 1175 11A8;C775;110B 1175 11A8;
+C776;C776;110B 1175 11A9;C776;110B 1175 11A9;
+C777;C777;110B 1175 11AA;C777;110B 1175 11AA;
+C778;C778;110B 1175 11AB;C778;110B 1175 11AB;
+C779;C779;110B 1175 11AC;C779;110B 1175 11AC;
+C77A;C77A;110B 1175 11AD;C77A;110B 1175 11AD;
+C77B;C77B;110B 1175 11AE;C77B;110B 1175 11AE;
+C77C;C77C;110B 1175 11AF;C77C;110B 1175 11AF;
+C77D;C77D;110B 1175 11B0;C77D;110B 1175 11B0;
+C77E;C77E;110B 1175 11B1;C77E;110B 1175 11B1;
+C77F;C77F;110B 1175 11B2;C77F;110B 1175 11B2;
+C780;C780;110B 1175 11B3;C780;110B 1175 11B3;
+C781;C781;110B 1175 11B4;C781;110B 1175 11B4;
+C782;C782;110B 1175 11B5;C782;110B 1175 11B5;
+C783;C783;110B 1175 11B6;C783;110B 1175 11B6;
+C784;C784;110B 1175 11B7;C784;110B 1175 11B7;
+C785;C785;110B 1175 11B8;C785;110B 1175 11B8;
+C786;C786;110B 1175 11B9;C786;110B 1175 11B9;
+C787;C787;110B 1175 11BA;C787;110B 1175 11BA;
+C788;C788;110B 1175 11BB;C788;110B 1175 11BB;
+C789;C789;110B 1175 11BC;C789;110B 1175 11BC;
+C78A;C78A;110B 1175 11BD;C78A;110B 1175 11BD;
+C78B;C78B;110B 1175 11BE;C78B;110B 1175 11BE;
+C78C;C78C;110B 1175 11BF;C78C;110B 1175 11BF;
+C78D;C78D;110B 1175 11C0;C78D;110B 1175 11C0;
+C78E;C78E;110B 1175 11C1;C78E;110B 1175 11C1;
+C78F;C78F;110B 1175 11C2;C78F;110B 1175 11C2;
+C790;C790;110C 1161;C790;110C 1161;
+C791;C791;110C 1161 11A8;C791;110C 1161 11A8;
+C792;C792;110C 1161 11A9;C792;110C 1161 11A9;
+C793;C793;110C 1161 11AA;C793;110C 1161 11AA;
+C794;C794;110C 1161 11AB;C794;110C 1161 11AB;
+C795;C795;110C 1161 11AC;C795;110C 1161 11AC;
+C796;C796;110C 1161 11AD;C796;110C 1161 11AD;
+C797;C797;110C 1161 11AE;C797;110C 1161 11AE;
+C798;C798;110C 1161 11AF;C798;110C 1161 11AF;
+C799;C799;110C 1161 11B0;C799;110C 1161 11B0;
+C79A;C79A;110C 1161 11B1;C79A;110C 1161 11B1;
+C79B;C79B;110C 1161 11B2;C79B;110C 1161 11B2;
+C79C;C79C;110C 1161 11B3;C79C;110C 1161 11B3;
+C79D;C79D;110C 1161 11B4;C79D;110C 1161 11B4;
+C79E;C79E;110C 1161 11B5;C79E;110C 1161 11B5;
+C79F;C79F;110C 1161 11B6;C79F;110C 1161 11B6;
+C7A0;C7A0;110C 1161 11B7;C7A0;110C 1161 11B7;
+C7A1;C7A1;110C 1161 11B8;C7A1;110C 1161 11B8;
+C7A2;C7A2;110C 1161 11B9;C7A2;110C 1161 11B9;
+C7A3;C7A3;110C 1161 11BA;C7A3;110C 1161 11BA;
+C7A4;C7A4;110C 1161 11BB;C7A4;110C 1161 11BB;
+C7A5;C7A5;110C 1161 11BC;C7A5;110C 1161 11BC;
+C7A6;C7A6;110C 1161 11BD;C7A6;110C 1161 11BD;
+C7A7;C7A7;110C 1161 11BE;C7A7;110C 1161 11BE;
+C7A8;C7A8;110C 1161 11BF;C7A8;110C 1161 11BF;
+C7A9;C7A9;110C 1161 11C0;C7A9;110C 1161 11C0;
+C7AA;C7AA;110C 1161 11C1;C7AA;110C 1161 11C1;
+C7AB;C7AB;110C 1161 11C2;C7AB;110C 1161 11C2;
+C7AC;C7AC;110C 1162;C7AC;110C 1162;
+C7AD;C7AD;110C 1162 11A8;C7AD;110C 1162 11A8;
+C7AE;C7AE;110C 1162 11A9;C7AE;110C 1162 11A9;
+C7AF;C7AF;110C 1162 11AA;C7AF;110C 1162 11AA;
+C7B0;C7B0;110C 1162 11AB;C7B0;110C 1162 11AB;
+C7B1;C7B1;110C 1162 11AC;C7B1;110C 1162 11AC;
+C7B2;C7B2;110C 1162 11AD;C7B2;110C 1162 11AD;
+C7B3;C7B3;110C 1162 11AE;C7B3;110C 1162 11AE;
+C7B4;C7B4;110C 1162 11AF;C7B4;110C 1162 11AF;
+C7B5;C7B5;110C 1162 11B0;C7B5;110C 1162 11B0;
+C7B6;C7B6;110C 1162 11B1;C7B6;110C 1162 11B1;
+C7B7;C7B7;110C 1162 11B2;C7B7;110C 1162 11B2;
+C7B8;C7B8;110C 1162 11B3;C7B8;110C 1162 11B3;
+C7B9;C7B9;110C 1162 11B4;C7B9;110C 1162 11B4;
+C7BA;C7BA;110C 1162 11B5;C7BA;110C 1162 11B5;
+C7BB;C7BB;110C 1162 11B6;C7BB;110C 1162 11B6;
+C7BC;C7BC;110C 1162 11B7;C7BC;110C 1162 11B7;
+C7BD;C7BD;110C 1162 11B8;C7BD;110C 1162 11B8;
+C7BE;C7BE;110C 1162 11B9;C7BE;110C 1162 11B9;
+C7BF;C7BF;110C 1162 11BA;C7BF;110C 1162 11BA;
+C7C0;C7C0;110C 1162 11BB;C7C0;110C 1162 11BB;
+C7C1;C7C1;110C 1162 11BC;C7C1;110C 1162 11BC;
+C7C2;C7C2;110C 1162 11BD;C7C2;110C 1162 11BD;
+C7C3;C7C3;110C 1162 11BE;C7C3;110C 1162 11BE;
+C7C4;C7C4;110C 1162 11BF;C7C4;110C 1162 11BF;
+C7C5;C7C5;110C 1162 11C0;C7C5;110C 1162 11C0;
+C7C6;C7C6;110C 1162 11C1;C7C6;110C 1162 11C1;
+C7C7;C7C7;110C 1162 11C2;C7C7;110C 1162 11C2;
+C7C8;C7C8;110C 1163;C7C8;110C 1163;
+C7C9;C7C9;110C 1163 11A8;C7C9;110C 1163 11A8;
+C7CA;C7CA;110C 1163 11A9;C7CA;110C 1163 11A9;
+C7CB;C7CB;110C 1163 11AA;C7CB;110C 1163 11AA;
+C7CC;C7CC;110C 1163 11AB;C7CC;110C 1163 11AB;
+C7CD;C7CD;110C 1163 11AC;C7CD;110C 1163 11AC;
+C7CE;C7CE;110C 1163 11AD;C7CE;110C 1163 11AD;
+C7CF;C7CF;110C 1163 11AE;C7CF;110C 1163 11AE;
+C7D0;C7D0;110C 1163 11AF;C7D0;110C 1163 11AF;
+C7D1;C7D1;110C 1163 11B0;C7D1;110C 1163 11B0;
+C7D2;C7D2;110C 1163 11B1;C7D2;110C 1163 11B1;
+C7D3;C7D3;110C 1163 11B2;C7D3;110C 1163 11B2;
+C7D4;C7D4;110C 1163 11B3;C7D4;110C 1163 11B3;
+C7D5;C7D5;110C 1163 11B4;C7D5;110C 1163 11B4;
+C7D6;C7D6;110C 1163 11B5;C7D6;110C 1163 11B5;
+C7D7;C7D7;110C 1163 11B6;C7D7;110C 1163 11B6;
+C7D8;C7D8;110C 1163 11B7;C7D8;110C 1163 11B7;
+C7D9;C7D9;110C 1163 11B8;C7D9;110C 1163 11B8;
+C7DA;C7DA;110C 1163 11B9;C7DA;110C 1163 11B9;
+C7DB;C7DB;110C 1163 11BA;C7DB;110C 1163 11BA;
+C7DC;C7DC;110C 1163 11BB;C7DC;110C 1163 11BB;
+C7DD;C7DD;110C 1163 11BC;C7DD;110C 1163 11BC;
+C7DE;C7DE;110C 1163 11BD;C7DE;110C 1163 11BD;
+C7DF;C7DF;110C 1163 11BE;C7DF;110C 1163 11BE;
+C7E0;C7E0;110C 1163 11BF;C7E0;110C 1163 11BF;
+C7E1;C7E1;110C 1163 11C0;C7E1;110C 1163 11C0;
+C7E2;C7E2;110C 1163 11C1;C7E2;110C 1163 11C1;
+C7E3;C7E3;110C 1163 11C2;C7E3;110C 1163 11C2;
+C7E4;C7E4;110C 1164;C7E4;110C 1164;
+C7E5;C7E5;110C 1164 11A8;C7E5;110C 1164 11A8;
+C7E6;C7E6;110C 1164 11A9;C7E6;110C 1164 11A9;
+C7E7;C7E7;110C 1164 11AA;C7E7;110C 1164 11AA;
+C7E8;C7E8;110C 1164 11AB;C7E8;110C 1164 11AB;
+C7E9;C7E9;110C 1164 11AC;C7E9;110C 1164 11AC;
+C7EA;C7EA;110C 1164 11AD;C7EA;110C 1164 11AD;
+C7EB;C7EB;110C 1164 11AE;C7EB;110C 1164 11AE;
+C7EC;C7EC;110C 1164 11AF;C7EC;110C 1164 11AF;
+C7ED;C7ED;110C 1164 11B0;C7ED;110C 1164 11B0;
+C7EE;C7EE;110C 1164 11B1;C7EE;110C 1164 11B1;
+C7EF;C7EF;110C 1164 11B2;C7EF;110C 1164 11B2;
+C7F0;C7F0;110C 1164 11B3;C7F0;110C 1164 11B3;
+C7F1;C7F1;110C 1164 11B4;C7F1;110C 1164 11B4;
+C7F2;C7F2;110C 1164 11B5;C7F2;110C 1164 11B5;
+C7F3;C7F3;110C 1164 11B6;C7F3;110C 1164 11B6;
+C7F4;C7F4;110C 1164 11B7;C7F4;110C 1164 11B7;
+C7F5;C7F5;110C 1164 11B8;C7F5;110C 1164 11B8;
+C7F6;C7F6;110C 1164 11B9;C7F6;110C 1164 11B9;
+C7F7;C7F7;110C 1164 11BA;C7F7;110C 1164 11BA;
+C7F8;C7F8;110C 1164 11BB;C7F8;110C 1164 11BB;
+C7F9;C7F9;110C 1164 11BC;C7F9;110C 1164 11BC;
+C7FA;C7FA;110C 1164 11BD;C7FA;110C 1164 11BD;
+C7FB;C7FB;110C 1164 11BE;C7FB;110C 1164 11BE;
+C7FC;C7FC;110C 1164 11BF;C7FC;110C 1164 11BF;
+C7FD;C7FD;110C 1164 11C0;C7FD;110C 1164 11C0;
+C7FE;C7FE;110C 1164 11C1;C7FE;110C 1164 11C1;
+C7FF;C7FF;110C 1164 11C2;C7FF;110C 1164 11C2;
+C800;C800;110C 1165;C800;110C 1165;
+C801;C801;110C 1165 11A8;C801;110C 1165 11A8;
+C802;C802;110C 1165 11A9;C802;110C 1165 11A9;
+C803;C803;110C 1165 11AA;C803;110C 1165 11AA;
+C804;C804;110C 1165 11AB;C804;110C 1165 11AB;
+C805;C805;110C 1165 11AC;C805;110C 1165 11AC;
+C806;C806;110C 1165 11AD;C806;110C 1165 11AD;
+C807;C807;110C 1165 11AE;C807;110C 1165 11AE;
+C808;C808;110C 1165 11AF;C808;110C 1165 11AF;
+C809;C809;110C 1165 11B0;C809;110C 1165 11B0;
+C80A;C80A;110C 1165 11B1;C80A;110C 1165 11B1;
+C80B;C80B;110C 1165 11B2;C80B;110C 1165 11B2;
+C80C;C80C;110C 1165 11B3;C80C;110C 1165 11B3;
+C80D;C80D;110C 1165 11B4;C80D;110C 1165 11B4;
+C80E;C80E;110C 1165 11B5;C80E;110C 1165 11B5;
+C80F;C80F;110C 1165 11B6;C80F;110C 1165 11B6;
+C810;C810;110C 1165 11B7;C810;110C 1165 11B7;
+C811;C811;110C 1165 11B8;C811;110C 1165 11B8;
+C812;C812;110C 1165 11B9;C812;110C 1165 11B9;
+C813;C813;110C 1165 11BA;C813;110C 1165 11BA;
+C814;C814;110C 1165 11BB;C814;110C 1165 11BB;
+C815;C815;110C 1165 11BC;C815;110C 1165 11BC;
+C816;C816;110C 1165 11BD;C816;110C 1165 11BD;
+C817;C817;110C 1165 11BE;C817;110C 1165 11BE;
+C818;C818;110C 1165 11BF;C818;110C 1165 11BF;
+C819;C819;110C 1165 11C0;C819;110C 1165 11C0;
+C81A;C81A;110C 1165 11C1;C81A;110C 1165 11C1;
+C81B;C81B;110C 1165 11C2;C81B;110C 1165 11C2;
+C81C;C81C;110C 1166;C81C;110C 1166;
+C81D;C81D;110C 1166 11A8;C81D;110C 1166 11A8;
+C81E;C81E;110C 1166 11A9;C81E;110C 1166 11A9;
+C81F;C81F;110C 1166 11AA;C81F;110C 1166 11AA;
+C820;C820;110C 1166 11AB;C820;110C 1166 11AB;
+C821;C821;110C 1166 11AC;C821;110C 1166 11AC;
+C822;C822;110C 1166 11AD;C822;110C 1166 11AD;
+C823;C823;110C 1166 11AE;C823;110C 1166 11AE;
+C824;C824;110C 1166 11AF;C824;110C 1166 11AF;
+C825;C825;110C 1166 11B0;C825;110C 1166 11B0;
+C826;C826;110C 1166 11B1;C826;110C 1166 11B1;
+C827;C827;110C 1166 11B2;C827;110C 1166 11B2;
+C828;C828;110C 1166 11B3;C828;110C 1166 11B3;
+C829;C829;110C 1166 11B4;C829;110C 1166 11B4;
+C82A;C82A;110C 1166 11B5;C82A;110C 1166 11B5;
+C82B;C82B;110C 1166 11B6;C82B;110C 1166 11B6;
+C82C;C82C;110C 1166 11B7;C82C;110C 1166 11B7;
+C82D;C82D;110C 1166 11B8;C82D;110C 1166 11B8;
+C82E;C82E;110C 1166 11B9;C82E;110C 1166 11B9;
+C82F;C82F;110C 1166 11BA;C82F;110C 1166 11BA;
+C830;C830;110C 1166 11BB;C830;110C 1166 11BB;
+C831;C831;110C 1166 11BC;C831;110C 1166 11BC;
+C832;C832;110C 1166 11BD;C832;110C 1166 11BD;
+C833;C833;110C 1166 11BE;C833;110C 1166 11BE;
+C834;C834;110C 1166 11BF;C834;110C 1166 11BF;
+C835;C835;110C 1166 11C0;C835;110C 1166 11C0;
+C836;C836;110C 1166 11C1;C836;110C 1166 11C1;
+C837;C837;110C 1166 11C2;C837;110C 1166 11C2;
+C838;C838;110C 1167;C838;110C 1167;
+C839;C839;110C 1167 11A8;C839;110C 1167 11A8;
+C83A;C83A;110C 1167 11A9;C83A;110C 1167 11A9;
+C83B;C83B;110C 1167 11AA;C83B;110C 1167 11AA;
+C83C;C83C;110C 1167 11AB;C83C;110C 1167 11AB;
+C83D;C83D;110C 1167 11AC;C83D;110C 1167 11AC;
+C83E;C83E;110C 1167 11AD;C83E;110C 1167 11AD;
+C83F;C83F;110C 1167 11AE;C83F;110C 1167 11AE;
+C840;C840;110C 1167 11AF;C840;110C 1167 11AF;
+C841;C841;110C 1167 11B0;C841;110C 1167 11B0;
+C842;C842;110C 1167 11B1;C842;110C 1167 11B1;
+C843;C843;110C 1167 11B2;C843;110C 1167 11B2;
+C844;C844;110C 1167 11B3;C844;110C 1167 11B3;
+C845;C845;110C 1167 11B4;C845;110C 1167 11B4;
+C846;C846;110C 1167 11B5;C846;110C 1167 11B5;
+C847;C847;110C 1167 11B6;C847;110C 1167 11B6;
+C848;C848;110C 1167 11B7;C848;110C 1167 11B7;
+C849;C849;110C 1167 11B8;C849;110C 1167 11B8;
+C84A;C84A;110C 1167 11B9;C84A;110C 1167 11B9;
+C84B;C84B;110C 1167 11BA;C84B;110C 1167 11BA;
+C84C;C84C;110C 1167 11BB;C84C;110C 1167 11BB;
+C84D;C84D;110C 1167 11BC;C84D;110C 1167 11BC;
+C84E;C84E;110C 1167 11BD;C84E;110C 1167 11BD;
+C84F;C84F;110C 1167 11BE;C84F;110C 1167 11BE;
+C850;C850;110C 1167 11BF;C850;110C 1167 11BF;
+C851;C851;110C 1167 11C0;C851;110C 1167 11C0;
+C852;C852;110C 1167 11C1;C852;110C 1167 11C1;
+C853;C853;110C 1167 11C2;C853;110C 1167 11C2;
+C854;C854;110C 1168;C854;110C 1168;
+C855;C855;110C 1168 11A8;C855;110C 1168 11A8;
+C856;C856;110C 1168 11A9;C856;110C 1168 11A9;
+C857;C857;110C 1168 11AA;C857;110C 1168 11AA;
+C858;C858;110C 1168 11AB;C858;110C 1168 11AB;
+C859;C859;110C 1168 11AC;C859;110C 1168 11AC;
+C85A;C85A;110C 1168 11AD;C85A;110C 1168 11AD;
+C85B;C85B;110C 1168 11AE;C85B;110C 1168 11AE;
+C85C;C85C;110C 1168 11AF;C85C;110C 1168 11AF;
+C85D;C85D;110C 1168 11B0;C85D;110C 1168 11B0;
+C85E;C85E;110C 1168 11B1;C85E;110C 1168 11B1;
+C85F;C85F;110C 1168 11B2;C85F;110C 1168 11B2;
+C860;C860;110C 1168 11B3;C860;110C 1168 11B3;
+C861;C861;110C 1168 11B4;C861;110C 1168 11B4;
+C862;C862;110C 1168 11B5;C862;110C 1168 11B5;
+C863;C863;110C 1168 11B6;C863;110C 1168 11B6;
+C864;C864;110C 1168 11B7;C864;110C 1168 11B7;
+C865;C865;110C 1168 11B8;C865;110C 1168 11B8;
+C866;C866;110C 1168 11B9;C866;110C 1168 11B9;
+C867;C867;110C 1168 11BA;C867;110C 1168 11BA;
+C868;C868;110C 1168 11BB;C868;110C 1168 11BB;
+C869;C869;110C 1168 11BC;C869;110C 1168 11BC;
+C86A;C86A;110C 1168 11BD;C86A;110C 1168 11BD;
+C86B;C86B;110C 1168 11BE;C86B;110C 1168 11BE;
+C86C;C86C;110C 1168 11BF;C86C;110C 1168 11BF;
+C86D;C86D;110C 1168 11C0;C86D;110C 1168 11C0;
+C86E;C86E;110C 1168 11C1;C86E;110C 1168 11C1;
+C86F;C86F;110C 1168 11C2;C86F;110C 1168 11C2;
+C870;C870;110C 1169;C870;110C 1169;
+C871;C871;110C 1169 11A8;C871;110C 1169 11A8;
+C872;C872;110C 1169 11A9;C872;110C 1169 11A9;
+C873;C873;110C 1169 11AA;C873;110C 1169 11AA;
+C874;C874;110C 1169 11AB;C874;110C 1169 11AB;
+C875;C875;110C 1169 11AC;C875;110C 1169 11AC;
+C876;C876;110C 1169 11AD;C876;110C 1169 11AD;
+C877;C877;110C 1169 11AE;C877;110C 1169 11AE;
+C878;C878;110C 1169 11AF;C878;110C 1169 11AF;
+C879;C879;110C 1169 11B0;C879;110C 1169 11B0;
+C87A;C87A;110C 1169 11B1;C87A;110C 1169 11B1;
+C87B;C87B;110C 1169 11B2;C87B;110C 1169 11B2;
+C87C;C87C;110C 1169 11B3;C87C;110C 1169 11B3;
+C87D;C87D;110C 1169 11B4;C87D;110C 1169 11B4;
+C87E;C87E;110C 1169 11B5;C87E;110C 1169 11B5;
+C87F;C87F;110C 1169 11B6;C87F;110C 1169 11B6;
+C880;C880;110C 1169 11B7;C880;110C 1169 11B7;
+C881;C881;110C 1169 11B8;C881;110C 1169 11B8;
+C882;C882;110C 1169 11B9;C882;110C 1169 11B9;
+C883;C883;110C 1169 11BA;C883;110C 1169 11BA;
+C884;C884;110C 1169 11BB;C884;110C 1169 11BB;
+C885;C885;110C 1169 11BC;C885;110C 1169 11BC;
+C886;C886;110C 1169 11BD;C886;110C 1169 11BD;
+C887;C887;110C 1169 11BE;C887;110C 1169 11BE;
+C888;C888;110C 1169 11BF;C888;110C 1169 11BF;
+C889;C889;110C 1169 11C0;C889;110C 1169 11C0;
+C88A;C88A;110C 1169 11C1;C88A;110C 1169 11C1;
+C88B;C88B;110C 1169 11C2;C88B;110C 1169 11C2;
+C88C;C88C;110C 116A;C88C;110C 116A;
+C88D;C88D;110C 116A 11A8;C88D;110C 116A 11A8;
+C88E;C88E;110C 116A 11A9;C88E;110C 116A 11A9;
+C88F;C88F;110C 116A 11AA;C88F;110C 116A 11AA;
+C890;C890;110C 116A 11AB;C890;110C 116A 11AB;
+C891;C891;110C 116A 11AC;C891;110C 116A 11AC;
+C892;C892;110C 116A 11AD;C892;110C 116A 11AD;
+C893;C893;110C 116A 11AE;C893;110C 116A 11AE;
+C894;C894;110C 116A 11AF;C894;110C 116A 11AF;
+C895;C895;110C 116A 11B0;C895;110C 116A 11B0;
+C896;C896;110C 116A 11B1;C896;110C 116A 11B1;
+C897;C897;110C 116A 11B2;C897;110C 116A 11B2;
+C898;C898;110C 116A 11B3;C898;110C 116A 11B3;
+C899;C899;110C 116A 11B4;C899;110C 116A 11B4;
+C89A;C89A;110C 116A 11B5;C89A;110C 116A 11B5;
+C89B;C89B;110C 116A 11B6;C89B;110C 116A 11B6;
+C89C;C89C;110C 116A 11B7;C89C;110C 116A 11B7;
+C89D;C89D;110C 116A 11B8;C89D;110C 116A 11B8;
+C89E;C89E;110C 116A 11B9;C89E;110C 116A 11B9;
+C89F;C89F;110C 116A 11BA;C89F;110C 116A 11BA;
+C8A0;C8A0;110C 116A 11BB;C8A0;110C 116A 11BB;
+C8A1;C8A1;110C 116A 11BC;C8A1;110C 116A 11BC;
+C8A2;C8A2;110C 116A 11BD;C8A2;110C 116A 11BD;
+C8A3;C8A3;110C 116A 11BE;C8A3;110C 116A 11BE;
+C8A4;C8A4;110C 116A 11BF;C8A4;110C 116A 11BF;
+C8A5;C8A5;110C 116A 11C0;C8A5;110C 116A 11C0;
+C8A6;C8A6;110C 116A 11C1;C8A6;110C 116A 11C1;
+C8A7;C8A7;110C 116A 11C2;C8A7;110C 116A 11C2;
+C8A8;C8A8;110C 116B;C8A8;110C 116B;
+C8A9;C8A9;110C 116B 11A8;C8A9;110C 116B 11A8;
+C8AA;C8AA;110C 116B 11A9;C8AA;110C 116B 11A9;
+C8AB;C8AB;110C 116B 11AA;C8AB;110C 116B 11AA;
+C8AC;C8AC;110C 116B 11AB;C8AC;110C 116B 11AB;
+C8AD;C8AD;110C 116B 11AC;C8AD;110C 116B 11AC;
+C8AE;C8AE;110C 116B 11AD;C8AE;110C 116B 11AD;
+C8AF;C8AF;110C 116B 11AE;C8AF;110C 116B 11AE;
+C8B0;C8B0;110C 116B 11AF;C8B0;110C 116B 11AF;
+C8B1;C8B1;110C 116B 11B0;C8B1;110C 116B 11B0;
+C8B2;C8B2;110C 116B 11B1;C8B2;110C 116B 11B1;
+C8B3;C8B3;110C 116B 11B2;C8B3;110C 116B 11B2;
+C8B4;C8B4;110C 116B 11B3;C8B4;110C 116B 11B3;
+C8B5;C8B5;110C 116B 11B4;C8B5;110C 116B 11B4;
+C8B6;C8B6;110C 116B 11B5;C8B6;110C 116B 11B5;
+C8B7;C8B7;110C 116B 11B6;C8B7;110C 116B 11B6;
+C8B8;C8B8;110C 116B 11B7;C8B8;110C 116B 11B7;
+C8B9;C8B9;110C 116B 11B8;C8B9;110C 116B 11B8;
+C8BA;C8BA;110C 116B 11B9;C8BA;110C 116B 11B9;
+C8BB;C8BB;110C 116B 11BA;C8BB;110C 116B 11BA;
+C8BC;C8BC;110C 116B 11BB;C8BC;110C 116B 11BB;
+C8BD;C8BD;110C 116B 11BC;C8BD;110C 116B 11BC;
+C8BE;C8BE;110C 116B 11BD;C8BE;110C 116B 11BD;
+C8BF;C8BF;110C 116B 11BE;C8BF;110C 116B 11BE;
+C8C0;C8C0;110C 116B 11BF;C8C0;110C 116B 11BF;
+C8C1;C8C1;110C 116B 11C0;C8C1;110C 116B 11C0;
+C8C2;C8C2;110C 116B 11C1;C8C2;110C 116B 11C1;
+C8C3;C8C3;110C 116B 11C2;C8C3;110C 116B 11C2;
+C8C4;C8C4;110C 116C;C8C4;110C 116C;
+C8C5;C8C5;110C 116C 11A8;C8C5;110C 116C 11A8;
+C8C6;C8C6;110C 116C 11A9;C8C6;110C 116C 11A9;
+C8C7;C8C7;110C 116C 11AA;C8C7;110C 116C 11AA;
+C8C8;C8C8;110C 116C 11AB;C8C8;110C 116C 11AB;
+C8C9;C8C9;110C 116C 11AC;C8C9;110C 116C 11AC;
+C8CA;C8CA;110C 116C 11AD;C8CA;110C 116C 11AD;
+C8CB;C8CB;110C 116C 11AE;C8CB;110C 116C 11AE;
+C8CC;C8CC;110C 116C 11AF;C8CC;110C 116C 11AF;
+C8CD;C8CD;110C 116C 11B0;C8CD;110C 116C 11B0;
+C8CE;C8CE;110C 116C 11B1;C8CE;110C 116C 11B1;
+C8CF;C8CF;110C 116C 11B2;C8CF;110C 116C 11B2;
+C8D0;C8D0;110C 116C 11B3;C8D0;110C 116C 11B3;
+C8D1;C8D1;110C 116C 11B4;C8D1;110C 116C 11B4;
+C8D2;C8D2;110C 116C 11B5;C8D2;110C 116C 11B5;
+C8D3;C8D3;110C 116C 11B6;C8D3;110C 116C 11B6;
+C8D4;C8D4;110C 116C 11B7;C8D4;110C 116C 11B7;
+C8D5;C8D5;110C 116C 11B8;C8D5;110C 116C 11B8;
+C8D6;C8D6;110C 116C 11B9;C8D6;110C 116C 11B9;
+C8D7;C8D7;110C 116C 11BA;C8D7;110C 116C 11BA;
+C8D8;C8D8;110C 116C 11BB;C8D8;110C 116C 11BB;
+C8D9;C8D9;110C 116C 11BC;C8D9;110C 116C 11BC;
+C8DA;C8DA;110C 116C 11BD;C8DA;110C 116C 11BD;
+C8DB;C8DB;110C 116C 11BE;C8DB;110C 116C 11BE;
+C8DC;C8DC;110C 116C 11BF;C8DC;110C 116C 11BF;
+C8DD;C8DD;110C 116C 11C0;C8DD;110C 116C 11C0;
+C8DE;C8DE;110C 116C 11C1;C8DE;110C 116C 11C1;
+C8DF;C8DF;110C 116C 11C2;C8DF;110C 116C 11C2;
+C8E0;C8E0;110C 116D;C8E0;110C 116D;
+C8E1;C8E1;110C 116D 11A8;C8E1;110C 116D 11A8;
+C8E2;C8E2;110C 116D 11A9;C8E2;110C 116D 11A9;
+C8E3;C8E3;110C 116D 11AA;C8E3;110C 116D 11AA;
+C8E4;C8E4;110C 116D 11AB;C8E4;110C 116D 11AB;
+C8E5;C8E5;110C 116D 11AC;C8E5;110C 116D 11AC;
+C8E6;C8E6;110C 116D 11AD;C8E6;110C 116D 11AD;
+C8E7;C8E7;110C 116D 11AE;C8E7;110C 116D 11AE;
+C8E8;C8E8;110C 116D 11AF;C8E8;110C 116D 11AF;
+C8E9;C8E9;110C 116D 11B0;C8E9;110C 116D 11B0;
+C8EA;C8EA;110C 116D 11B1;C8EA;110C 116D 11B1;
+C8EB;C8EB;110C 116D 11B2;C8EB;110C 116D 11B2;
+C8EC;C8EC;110C 116D 11B3;C8EC;110C 116D 11B3;
+C8ED;C8ED;110C 116D 11B4;C8ED;110C 116D 11B4;
+C8EE;C8EE;110C 116D 11B5;C8EE;110C 116D 11B5;
+C8EF;C8EF;110C 116D 11B6;C8EF;110C 116D 11B6;
+C8F0;C8F0;110C 116D 11B7;C8F0;110C 116D 11B7;
+C8F1;C8F1;110C 116D 11B8;C8F1;110C 116D 11B8;
+C8F2;C8F2;110C 116D 11B9;C8F2;110C 116D 11B9;
+C8F3;C8F3;110C 116D 11BA;C8F3;110C 116D 11BA;
+C8F4;C8F4;110C 116D 11BB;C8F4;110C 116D 11BB;
+C8F5;C8F5;110C 116D 11BC;C8F5;110C 116D 11BC;
+C8F6;C8F6;110C 116D 11BD;C8F6;110C 116D 11BD;
+C8F7;C8F7;110C 116D 11BE;C8F7;110C 116D 11BE;
+C8F8;C8F8;110C 116D 11BF;C8F8;110C 116D 11BF;
+C8F9;C8F9;110C 116D 11C0;C8F9;110C 116D 11C0;
+C8FA;C8FA;110C 116D 11C1;C8FA;110C 116D 11C1;
+C8FB;C8FB;110C 116D 11C2;C8FB;110C 116D 11C2;
+C8FC;C8FC;110C 116E;C8FC;110C 116E;
+C8FD;C8FD;110C 116E 11A8;C8FD;110C 116E 11A8;
+C8FE;C8FE;110C 116E 11A9;C8FE;110C 116E 11A9;
+C8FF;C8FF;110C 116E 11AA;C8FF;110C 116E 11AA;
+C900;C900;110C 116E 11AB;C900;110C 116E 11AB;
+C901;C901;110C 116E 11AC;C901;110C 116E 11AC;
+C902;C902;110C 116E 11AD;C902;110C 116E 11AD;
+C903;C903;110C 116E 11AE;C903;110C 116E 11AE;
+C904;C904;110C 116E 11AF;C904;110C 116E 11AF;
+C905;C905;110C 116E 11B0;C905;110C 116E 11B0;
+C906;C906;110C 116E 11B1;C906;110C 116E 11B1;
+C907;C907;110C 116E 11B2;C907;110C 116E 11B2;
+C908;C908;110C 116E 11B3;C908;110C 116E 11B3;
+C909;C909;110C 116E 11B4;C909;110C 116E 11B4;
+C90A;C90A;110C 116E 11B5;C90A;110C 116E 11B5;
+C90B;C90B;110C 116E 11B6;C90B;110C 116E 11B6;
+C90C;C90C;110C 116E 11B7;C90C;110C 116E 11B7;
+C90D;C90D;110C 116E 11B8;C90D;110C 116E 11B8;
+C90E;C90E;110C 116E 11B9;C90E;110C 116E 11B9;
+C90F;C90F;110C 116E 11BA;C90F;110C 116E 11BA;
+C910;C910;110C 116E 11BB;C910;110C 116E 11BB;
+C911;C911;110C 116E 11BC;C911;110C 116E 11BC;
+C912;C912;110C 116E 11BD;C912;110C 116E 11BD;
+C913;C913;110C 116E 11BE;C913;110C 116E 11BE;
+C914;C914;110C 116E 11BF;C914;110C 116E 11BF;
+C915;C915;110C 116E 11C0;C915;110C 116E 11C0;
+C916;C916;110C 116E 11C1;C916;110C 116E 11C1;
+C917;C917;110C 116E 11C2;C917;110C 116E 11C2;
+C918;C918;110C 116F;C918;110C 116F;
+C919;C919;110C 116F 11A8;C919;110C 116F 11A8;
+C91A;C91A;110C 116F 11A9;C91A;110C 116F 11A9;
+C91B;C91B;110C 116F 11AA;C91B;110C 116F 11AA;
+C91C;C91C;110C 116F 11AB;C91C;110C 116F 11AB;
+C91D;C91D;110C 116F 11AC;C91D;110C 116F 11AC;
+C91E;C91E;110C 116F 11AD;C91E;110C 116F 11AD;
+C91F;C91F;110C 116F 11AE;C91F;110C 116F 11AE;
+C920;C920;110C 116F 11AF;C920;110C 116F 11AF;
+C921;C921;110C 116F 11B0;C921;110C 116F 11B0;
+C922;C922;110C 116F 11B1;C922;110C 116F 11B1;
+C923;C923;110C 116F 11B2;C923;110C 116F 11B2;
+C924;C924;110C 116F 11B3;C924;110C 116F 11B3;
+C925;C925;110C 116F 11B4;C925;110C 116F 11B4;
+C926;C926;110C 116F 11B5;C926;110C 116F 11B5;
+C927;C927;110C 116F 11B6;C927;110C 116F 11B6;
+C928;C928;110C 116F 11B7;C928;110C 116F 11B7;
+C929;C929;110C 116F 11B8;C929;110C 116F 11B8;
+C92A;C92A;110C 116F 11B9;C92A;110C 116F 11B9;
+C92B;C92B;110C 116F 11BA;C92B;110C 116F 11BA;
+C92C;C92C;110C 116F 11BB;C92C;110C 116F 11BB;
+C92D;C92D;110C 116F 11BC;C92D;110C 116F 11BC;
+C92E;C92E;110C 116F 11BD;C92E;110C 116F 11BD;
+C92F;C92F;110C 116F 11BE;C92F;110C 116F 11BE;
+C930;C930;110C 116F 11BF;C930;110C 116F 11BF;
+C931;C931;110C 116F 11C0;C931;110C 116F 11C0;
+C932;C932;110C 116F 11C1;C932;110C 116F 11C1;
+C933;C933;110C 116F 11C2;C933;110C 116F 11C2;
+C934;C934;110C 1170;C934;110C 1170;
+C935;C935;110C 1170 11A8;C935;110C 1170 11A8;
+C936;C936;110C 1170 11A9;C936;110C 1170 11A9;
+C937;C937;110C 1170 11AA;C937;110C 1170 11AA;
+C938;C938;110C 1170 11AB;C938;110C 1170 11AB;
+C939;C939;110C 1170 11AC;C939;110C 1170 11AC;
+C93A;C93A;110C 1170 11AD;C93A;110C 1170 11AD;
+C93B;C93B;110C 1170 11AE;C93B;110C 1170 11AE;
+C93C;C93C;110C 1170 11AF;C93C;110C 1170 11AF;
+C93D;C93D;110C 1170 11B0;C93D;110C 1170 11B0;
+C93E;C93E;110C 1170 11B1;C93E;110C 1170 11B1;
+C93F;C93F;110C 1170 11B2;C93F;110C 1170 11B2;
+C940;C940;110C 1170 11B3;C940;110C 1170 11B3;
+C941;C941;110C 1170 11B4;C941;110C 1170 11B4;
+C942;C942;110C 1170 11B5;C942;110C 1170 11B5;
+C943;C943;110C 1170 11B6;C943;110C 1170 11B6;
+C944;C944;110C 1170 11B7;C944;110C 1170 11B7;
+C945;C945;110C 1170 11B8;C945;110C 1170 11B8;
+C946;C946;110C 1170 11B9;C946;110C 1170 11B9;
+C947;C947;110C 1170 11BA;C947;110C 1170 11BA;
+C948;C948;110C 1170 11BB;C948;110C 1170 11BB;
+C949;C949;110C 1170 11BC;C949;110C 1170 11BC;
+C94A;C94A;110C 1170 11BD;C94A;110C 1170 11BD;
+C94B;C94B;110C 1170 11BE;C94B;110C 1170 11BE;
+C94C;C94C;110C 1170 11BF;C94C;110C 1170 11BF;
+C94D;C94D;110C 1170 11C0;C94D;110C 1170 11C0;
+C94E;C94E;110C 1170 11C1;C94E;110C 1170 11C1;
+C94F;C94F;110C 1170 11C2;C94F;110C 1170 11C2;
+C950;C950;110C 1171;C950;110C 1171;
+C951;C951;110C 1171 11A8;C951;110C 1171 11A8;
+C952;C952;110C 1171 11A9;C952;110C 1171 11A9;
+C953;C953;110C 1171 11AA;C953;110C 1171 11AA;
+C954;C954;110C 1171 11AB;C954;110C 1171 11AB;
+C955;C955;110C 1171 11AC;C955;110C 1171 11AC;
+C956;C956;110C 1171 11AD;C956;110C 1171 11AD;
+C957;C957;110C 1171 11AE;C957;110C 1171 11AE;
+C958;C958;110C 1171 11AF;C958;110C 1171 11AF;
+C959;C959;110C 1171 11B0;C959;110C 1171 11B0;
+C95A;C95A;110C 1171 11B1;C95A;110C 1171 11B1;
+C95B;C95B;110C 1171 11B2;C95B;110C 1171 11B2;
+C95C;C95C;110C 1171 11B3;C95C;110C 1171 11B3;
+C95D;C95D;110C 1171 11B4;C95D;110C 1171 11B4;
+C95E;C95E;110C 1171 11B5;C95E;110C 1171 11B5;
+C95F;C95F;110C 1171 11B6;C95F;110C 1171 11B6;
+C960;C960;110C 1171 11B7;C960;110C 1171 11B7;
+C961;C961;110C 1171 11B8;C961;110C 1171 11B8;
+C962;C962;110C 1171 11B9;C962;110C 1171 11B9;
+C963;C963;110C 1171 11BA;C963;110C 1171 11BA;
+C964;C964;110C 1171 11BB;C964;110C 1171 11BB;
+C965;C965;110C 1171 11BC;C965;110C 1171 11BC;
+C966;C966;110C 1171 11BD;C966;110C 1171 11BD;
+C967;C967;110C 1171 11BE;C967;110C 1171 11BE;
+C968;C968;110C 1171 11BF;C968;110C 1171 11BF;
+C969;C969;110C 1171 11C0;C969;110C 1171 11C0;
+C96A;C96A;110C 1171 11C1;C96A;110C 1171 11C1;
+C96B;C96B;110C 1171 11C2;C96B;110C 1171 11C2;
+C96C;C96C;110C 1172;C96C;110C 1172;
+C96D;C96D;110C 1172 11A8;C96D;110C 1172 11A8;
+C96E;C96E;110C 1172 11A9;C96E;110C 1172 11A9;
+C96F;C96F;110C 1172 11AA;C96F;110C 1172 11AA;
+C970;C970;110C 1172 11AB;C970;110C 1172 11AB;
+C971;C971;110C 1172 11AC;C971;110C 1172 11AC;
+C972;C972;110C 1172 11AD;C972;110C 1172 11AD;
+C973;C973;110C 1172 11AE;C973;110C 1172 11AE;
+C974;C974;110C 1172 11AF;C974;110C 1172 11AF;
+C975;C975;110C 1172 11B0;C975;110C 1172 11B0;
+C976;C976;110C 1172 11B1;C976;110C 1172 11B1;
+C977;C977;110C 1172 11B2;C977;110C 1172 11B2;
+C978;C978;110C 1172 11B3;C978;110C 1172 11B3;
+C979;C979;110C 1172 11B4;C979;110C 1172 11B4;
+C97A;C97A;110C 1172 11B5;C97A;110C 1172 11B5;
+C97B;C97B;110C 1172 11B6;C97B;110C 1172 11B6;
+C97C;C97C;110C 1172 11B7;C97C;110C 1172 11B7;
+C97D;C97D;110C 1172 11B8;C97D;110C 1172 11B8;
+C97E;C97E;110C 1172 11B9;C97E;110C 1172 11B9;
+C97F;C97F;110C 1172 11BA;C97F;110C 1172 11BA;
+C980;C980;110C 1172 11BB;C980;110C 1172 11BB;
+C981;C981;110C 1172 11BC;C981;110C 1172 11BC;
+C982;C982;110C 1172 11BD;C982;110C 1172 11BD;
+C983;C983;110C 1172 11BE;C983;110C 1172 11BE;
+C984;C984;110C 1172 11BF;C984;110C 1172 11BF;
+C985;C985;110C 1172 11C0;C985;110C 1172 11C0;
+C986;C986;110C 1172 11C1;C986;110C 1172 11C1;
+C987;C987;110C 1172 11C2;C987;110C 1172 11C2;
+C988;C988;110C 1173;C988;110C 1173;
+C989;C989;110C 1173 11A8;C989;110C 1173 11A8;
+C98A;C98A;110C 1173 11A9;C98A;110C 1173 11A9;
+C98B;C98B;110C 1173 11AA;C98B;110C 1173 11AA;
+C98C;C98C;110C 1173 11AB;C98C;110C 1173 11AB;
+C98D;C98D;110C 1173 11AC;C98D;110C 1173 11AC;
+C98E;C98E;110C 1173 11AD;C98E;110C 1173 11AD;
+C98F;C98F;110C 1173 11AE;C98F;110C 1173 11AE;
+C990;C990;110C 1173 11AF;C990;110C 1173 11AF;
+C991;C991;110C 1173 11B0;C991;110C 1173 11B0;
+C992;C992;110C 1173 11B1;C992;110C 1173 11B1;
+C993;C993;110C 1173 11B2;C993;110C 1173 11B2;
+C994;C994;110C 1173 11B3;C994;110C 1173 11B3;
+C995;C995;110C 1173 11B4;C995;110C 1173 11B4;
+C996;C996;110C 1173 11B5;C996;110C 1173 11B5;
+C997;C997;110C 1173 11B6;C997;110C 1173 11B6;
+C998;C998;110C 1173 11B7;C998;110C 1173 11B7;
+C999;C999;110C 1173 11B8;C999;110C 1173 11B8;
+C99A;C99A;110C 1173 11B9;C99A;110C 1173 11B9;
+C99B;C99B;110C 1173 11BA;C99B;110C 1173 11BA;
+C99C;C99C;110C 1173 11BB;C99C;110C 1173 11BB;
+C99D;C99D;110C 1173 11BC;C99D;110C 1173 11BC;
+C99E;C99E;110C 1173 11BD;C99E;110C 1173 11BD;
+C99F;C99F;110C 1173 11BE;C99F;110C 1173 11BE;
+C9A0;C9A0;110C 1173 11BF;C9A0;110C 1173 11BF;
+C9A1;C9A1;110C 1173 11C0;C9A1;110C 1173 11C0;
+C9A2;C9A2;110C 1173 11C1;C9A2;110C 1173 11C1;
+C9A3;C9A3;110C 1173 11C2;C9A3;110C 1173 11C2;
+C9A4;C9A4;110C 1174;C9A4;110C 1174;
+C9A5;C9A5;110C 1174 11A8;C9A5;110C 1174 11A8;
+C9A6;C9A6;110C 1174 11A9;C9A6;110C 1174 11A9;
+C9A7;C9A7;110C 1174 11AA;C9A7;110C 1174 11AA;
+C9A8;C9A8;110C 1174 11AB;C9A8;110C 1174 11AB;
+C9A9;C9A9;110C 1174 11AC;C9A9;110C 1174 11AC;
+C9AA;C9AA;110C 1174 11AD;C9AA;110C 1174 11AD;
+C9AB;C9AB;110C 1174 11AE;C9AB;110C 1174 11AE;
+C9AC;C9AC;110C 1174 11AF;C9AC;110C 1174 11AF;
+C9AD;C9AD;110C 1174 11B0;C9AD;110C 1174 11B0;
+C9AE;C9AE;110C 1174 11B1;C9AE;110C 1174 11B1;
+C9AF;C9AF;110C 1174 11B2;C9AF;110C 1174 11B2;
+C9B0;C9B0;110C 1174 11B3;C9B0;110C 1174 11B3;
+C9B1;C9B1;110C 1174 11B4;C9B1;110C 1174 11B4;
+C9B2;C9B2;110C 1174 11B5;C9B2;110C 1174 11B5;
+C9B3;C9B3;110C 1174 11B6;C9B3;110C 1174 11B6;
+C9B4;C9B4;110C 1174 11B7;C9B4;110C 1174 11B7;
+C9B5;C9B5;110C 1174 11B8;C9B5;110C 1174 11B8;
+C9B6;C9B6;110C 1174 11B9;C9B6;110C 1174 11B9;
+C9B7;C9B7;110C 1174 11BA;C9B7;110C 1174 11BA;
+C9B8;C9B8;110C 1174 11BB;C9B8;110C 1174 11BB;
+C9B9;C9B9;110C 1174 11BC;C9B9;110C 1174 11BC;
+C9BA;C9BA;110C 1174 11BD;C9BA;110C 1174 11BD;
+C9BB;C9BB;110C 1174 11BE;C9BB;110C 1174 11BE;
+C9BC;C9BC;110C 1174 11BF;C9BC;110C 1174 11BF;
+C9BD;C9BD;110C 1174 11C0;C9BD;110C 1174 11C0;
+C9BE;C9BE;110C 1174 11C1;C9BE;110C 1174 11C1;
+C9BF;C9BF;110C 1174 11C2;C9BF;110C 1174 11C2;
+C9C0;C9C0;110C 1175;C9C0;110C 1175;
+C9C1;C9C1;110C 1175 11A8;C9C1;110C 1175 11A8;
+C9C2;C9C2;110C 1175 11A9;C9C2;110C 1175 11A9;
+C9C3;C9C3;110C 1175 11AA;C9C3;110C 1175 11AA;
+C9C4;C9C4;110C 1175 11AB;C9C4;110C 1175 11AB;
+C9C5;C9C5;110C 1175 11AC;C9C5;110C 1175 11AC;
+C9C6;C9C6;110C 1175 11AD;C9C6;110C 1175 11AD;
+C9C7;C9C7;110C 1175 11AE;C9C7;110C 1175 11AE;
+C9C8;C9C8;110C 1175 11AF;C9C8;110C 1175 11AF;
+C9C9;C9C9;110C 1175 11B0;C9C9;110C 1175 11B0;
+C9CA;C9CA;110C 1175 11B1;C9CA;110C 1175 11B1;
+C9CB;C9CB;110C 1175 11B2;C9CB;110C 1175 11B2;
+C9CC;C9CC;110C 1175 11B3;C9CC;110C 1175 11B3;
+C9CD;C9CD;110C 1175 11B4;C9CD;110C 1175 11B4;
+C9CE;C9CE;110C 1175 11B5;C9CE;110C 1175 11B5;
+C9CF;C9CF;110C 1175 11B6;C9CF;110C 1175 11B6;
+C9D0;C9D0;110C 1175 11B7;C9D0;110C 1175 11B7;
+C9D1;C9D1;110C 1175 11B8;C9D1;110C 1175 11B8;
+C9D2;C9D2;110C 1175 11B9;C9D2;110C 1175 11B9;
+C9D3;C9D3;110C 1175 11BA;C9D3;110C 1175 11BA;
+C9D4;C9D4;110C 1175 11BB;C9D4;110C 1175 11BB;
+C9D5;C9D5;110C 1175 11BC;C9D5;110C 1175 11BC;
+C9D6;C9D6;110C 1175 11BD;C9D6;110C 1175 11BD;
+C9D7;C9D7;110C 1175 11BE;C9D7;110C 1175 11BE;
+C9D8;C9D8;110C 1175 11BF;C9D8;110C 1175 11BF;
+C9D9;C9D9;110C 1175 11C0;C9D9;110C 1175 11C0;
+C9DA;C9DA;110C 1175 11C1;C9DA;110C 1175 11C1;
+C9DB;C9DB;110C 1175 11C2;C9DB;110C 1175 11C2;
+C9DC;C9DC;110D 1161;C9DC;110D 1161;
+C9DD;C9DD;110D 1161 11A8;C9DD;110D 1161 11A8;
+C9DE;C9DE;110D 1161 11A9;C9DE;110D 1161 11A9;
+C9DF;C9DF;110D 1161 11AA;C9DF;110D 1161 11AA;
+C9E0;C9E0;110D 1161 11AB;C9E0;110D 1161 11AB;
+C9E1;C9E1;110D 1161 11AC;C9E1;110D 1161 11AC;
+C9E2;C9E2;110D 1161 11AD;C9E2;110D 1161 11AD;
+C9E3;C9E3;110D 1161 11AE;C9E3;110D 1161 11AE;
+C9E4;C9E4;110D 1161 11AF;C9E4;110D 1161 11AF;
+C9E5;C9E5;110D 1161 11B0;C9E5;110D 1161 11B0;
+C9E6;C9E6;110D 1161 11B1;C9E6;110D 1161 11B1;
+C9E7;C9E7;110D 1161 11B2;C9E7;110D 1161 11B2;
+C9E8;C9E8;110D 1161 11B3;C9E8;110D 1161 11B3;
+C9E9;C9E9;110D 1161 11B4;C9E9;110D 1161 11B4;
+C9EA;C9EA;110D 1161 11B5;C9EA;110D 1161 11B5;
+C9EB;C9EB;110D 1161 11B6;C9EB;110D 1161 11B6;
+C9EC;C9EC;110D 1161 11B7;C9EC;110D 1161 11B7;
+C9ED;C9ED;110D 1161 11B8;C9ED;110D 1161 11B8;
+C9EE;C9EE;110D 1161 11B9;C9EE;110D 1161 11B9;
+C9EF;C9EF;110D 1161 11BA;C9EF;110D 1161 11BA;
+C9F0;C9F0;110D 1161 11BB;C9F0;110D 1161 11BB;
+C9F1;C9F1;110D 1161 11BC;C9F1;110D 1161 11BC;
+C9F2;C9F2;110D 1161 11BD;C9F2;110D 1161 11BD;
+C9F3;C9F3;110D 1161 11BE;C9F3;110D 1161 11BE;
+C9F4;C9F4;110D 1161 11BF;C9F4;110D 1161 11BF;
+C9F5;C9F5;110D 1161 11C0;C9F5;110D 1161 11C0;
+C9F6;C9F6;110D 1161 11C1;C9F6;110D 1161 11C1;
+C9F7;C9F7;110D 1161 11C2;C9F7;110D 1161 11C2;
+C9F8;C9F8;110D 1162;C9F8;110D 1162;
+C9F9;C9F9;110D 1162 11A8;C9F9;110D 1162 11A8;
+C9FA;C9FA;110D 1162 11A9;C9FA;110D 1162 11A9;
+C9FB;C9FB;110D 1162 11AA;C9FB;110D 1162 11AA;
+C9FC;C9FC;110D 1162 11AB;C9FC;110D 1162 11AB;
+C9FD;C9FD;110D 1162 11AC;C9FD;110D 1162 11AC;
+C9FE;C9FE;110D 1162 11AD;C9FE;110D 1162 11AD;
+C9FF;C9FF;110D 1162 11AE;C9FF;110D 1162 11AE;
+CA00;CA00;110D 1162 11AF;CA00;110D 1162 11AF;
+CA01;CA01;110D 1162 11B0;CA01;110D 1162 11B0;
+CA02;CA02;110D 1162 11B1;CA02;110D 1162 11B1;
+CA03;CA03;110D 1162 11B2;CA03;110D 1162 11B2;
+CA04;CA04;110D 1162 11B3;CA04;110D 1162 11B3;
+CA05;CA05;110D 1162 11B4;CA05;110D 1162 11B4;
+CA06;CA06;110D 1162 11B5;CA06;110D 1162 11B5;
+CA07;CA07;110D 1162 11B6;CA07;110D 1162 11B6;
+CA08;CA08;110D 1162 11B7;CA08;110D 1162 11B7;
+CA09;CA09;110D 1162 11B8;CA09;110D 1162 11B8;
+CA0A;CA0A;110D 1162 11B9;CA0A;110D 1162 11B9;
+CA0B;CA0B;110D 1162 11BA;CA0B;110D 1162 11BA;
+CA0C;CA0C;110D 1162 11BB;CA0C;110D 1162 11BB;
+CA0D;CA0D;110D 1162 11BC;CA0D;110D 1162 11BC;
+CA0E;CA0E;110D 1162 11BD;CA0E;110D 1162 11BD;
+CA0F;CA0F;110D 1162 11BE;CA0F;110D 1162 11BE;
+CA10;CA10;110D 1162 11BF;CA10;110D 1162 11BF;
+CA11;CA11;110D 1162 11C0;CA11;110D 1162 11C0;
+CA12;CA12;110D 1162 11C1;CA12;110D 1162 11C1;
+CA13;CA13;110D 1162 11C2;CA13;110D 1162 11C2;
+CA14;CA14;110D 1163;CA14;110D 1163;
+CA15;CA15;110D 1163 11A8;CA15;110D 1163 11A8;
+CA16;CA16;110D 1163 11A9;CA16;110D 1163 11A9;
+CA17;CA17;110D 1163 11AA;CA17;110D 1163 11AA;
+CA18;CA18;110D 1163 11AB;CA18;110D 1163 11AB;
+CA19;CA19;110D 1163 11AC;CA19;110D 1163 11AC;
+CA1A;CA1A;110D 1163 11AD;CA1A;110D 1163 11AD;
+CA1B;CA1B;110D 1163 11AE;CA1B;110D 1163 11AE;
+CA1C;CA1C;110D 1163 11AF;CA1C;110D 1163 11AF;
+CA1D;CA1D;110D 1163 11B0;CA1D;110D 1163 11B0;
+CA1E;CA1E;110D 1163 11B1;CA1E;110D 1163 11B1;
+CA1F;CA1F;110D 1163 11B2;CA1F;110D 1163 11B2;
+CA20;CA20;110D 1163 11B3;CA20;110D 1163 11B3;
+CA21;CA21;110D 1163 11B4;CA21;110D 1163 11B4;
+CA22;CA22;110D 1163 11B5;CA22;110D 1163 11B5;
+CA23;CA23;110D 1163 11B6;CA23;110D 1163 11B6;
+CA24;CA24;110D 1163 11B7;CA24;110D 1163 11B7;
+CA25;CA25;110D 1163 11B8;CA25;110D 1163 11B8;
+CA26;CA26;110D 1163 11B9;CA26;110D 1163 11B9;
+CA27;CA27;110D 1163 11BA;CA27;110D 1163 11BA;
+CA28;CA28;110D 1163 11BB;CA28;110D 1163 11BB;
+CA29;CA29;110D 1163 11BC;CA29;110D 1163 11BC;
+CA2A;CA2A;110D 1163 11BD;CA2A;110D 1163 11BD;
+CA2B;CA2B;110D 1163 11BE;CA2B;110D 1163 11BE;
+CA2C;CA2C;110D 1163 11BF;CA2C;110D 1163 11BF;
+CA2D;CA2D;110D 1163 11C0;CA2D;110D 1163 11C0;
+CA2E;CA2E;110D 1163 11C1;CA2E;110D 1163 11C1;
+CA2F;CA2F;110D 1163 11C2;CA2F;110D 1163 11C2;
+CA30;CA30;110D 1164;CA30;110D 1164;
+CA31;CA31;110D 1164 11A8;CA31;110D 1164 11A8;
+CA32;CA32;110D 1164 11A9;CA32;110D 1164 11A9;
+CA33;CA33;110D 1164 11AA;CA33;110D 1164 11AA;
+CA34;CA34;110D 1164 11AB;CA34;110D 1164 11AB;
+CA35;CA35;110D 1164 11AC;CA35;110D 1164 11AC;
+CA36;CA36;110D 1164 11AD;CA36;110D 1164 11AD;
+CA37;CA37;110D 1164 11AE;CA37;110D 1164 11AE;
+CA38;CA38;110D 1164 11AF;CA38;110D 1164 11AF;
+CA39;CA39;110D 1164 11B0;CA39;110D 1164 11B0;
+CA3A;CA3A;110D 1164 11B1;CA3A;110D 1164 11B1;
+CA3B;CA3B;110D 1164 11B2;CA3B;110D 1164 11B2;
+CA3C;CA3C;110D 1164 11B3;CA3C;110D 1164 11B3;
+CA3D;CA3D;110D 1164 11B4;CA3D;110D 1164 11B4;
+CA3E;CA3E;110D 1164 11B5;CA3E;110D 1164 11B5;
+CA3F;CA3F;110D 1164 11B6;CA3F;110D 1164 11B6;
+CA40;CA40;110D 1164 11B7;CA40;110D 1164 11B7;
+CA41;CA41;110D 1164 11B8;CA41;110D 1164 11B8;
+CA42;CA42;110D 1164 11B9;CA42;110D 1164 11B9;
+CA43;CA43;110D 1164 11BA;CA43;110D 1164 11BA;
+CA44;CA44;110D 1164 11BB;CA44;110D 1164 11BB;
+CA45;CA45;110D 1164 11BC;CA45;110D 1164 11BC;
+CA46;CA46;110D 1164 11BD;CA46;110D 1164 11BD;
+CA47;CA47;110D 1164 11BE;CA47;110D 1164 11BE;
+CA48;CA48;110D 1164 11BF;CA48;110D 1164 11BF;
+CA49;CA49;110D 1164 11C0;CA49;110D 1164 11C0;
+CA4A;CA4A;110D 1164 11C1;CA4A;110D 1164 11C1;
+CA4B;CA4B;110D 1164 11C2;CA4B;110D 1164 11C2;
+CA4C;CA4C;110D 1165;CA4C;110D 1165;
+CA4D;CA4D;110D 1165 11A8;CA4D;110D 1165 11A8;
+CA4E;CA4E;110D 1165 11A9;CA4E;110D 1165 11A9;
+CA4F;CA4F;110D 1165 11AA;CA4F;110D 1165 11AA;
+CA50;CA50;110D 1165 11AB;CA50;110D 1165 11AB;
+CA51;CA51;110D 1165 11AC;CA51;110D 1165 11AC;
+CA52;CA52;110D 1165 11AD;CA52;110D 1165 11AD;
+CA53;CA53;110D 1165 11AE;CA53;110D 1165 11AE;
+CA54;CA54;110D 1165 11AF;CA54;110D 1165 11AF;
+CA55;CA55;110D 1165 11B0;CA55;110D 1165 11B0;
+CA56;CA56;110D 1165 11B1;CA56;110D 1165 11B1;
+CA57;CA57;110D 1165 11B2;CA57;110D 1165 11B2;
+CA58;CA58;110D 1165 11B3;CA58;110D 1165 11B3;
+CA59;CA59;110D 1165 11B4;CA59;110D 1165 11B4;
+CA5A;CA5A;110D 1165 11B5;CA5A;110D 1165 11B5;
+CA5B;CA5B;110D 1165 11B6;CA5B;110D 1165 11B6;
+CA5C;CA5C;110D 1165 11B7;CA5C;110D 1165 11B7;
+CA5D;CA5D;110D 1165 11B8;CA5D;110D 1165 11B8;
+CA5E;CA5E;110D 1165 11B9;CA5E;110D 1165 11B9;
+CA5F;CA5F;110D 1165 11BA;CA5F;110D 1165 11BA;
+CA60;CA60;110D 1165 11BB;CA60;110D 1165 11BB;
+CA61;CA61;110D 1165 11BC;CA61;110D 1165 11BC;
+CA62;CA62;110D 1165 11BD;CA62;110D 1165 11BD;
+CA63;CA63;110D 1165 11BE;CA63;110D 1165 11BE;
+CA64;CA64;110D 1165 11BF;CA64;110D 1165 11BF;
+CA65;CA65;110D 1165 11C0;CA65;110D 1165 11C0;
+CA66;CA66;110D 1165 11C1;CA66;110D 1165 11C1;
+CA67;CA67;110D 1165 11C2;CA67;110D 1165 11C2;
+CA68;CA68;110D 1166;CA68;110D 1166;
+CA69;CA69;110D 1166 11A8;CA69;110D 1166 11A8;
+CA6A;CA6A;110D 1166 11A9;CA6A;110D 1166 11A9;
+CA6B;CA6B;110D 1166 11AA;CA6B;110D 1166 11AA;
+CA6C;CA6C;110D 1166 11AB;CA6C;110D 1166 11AB;
+CA6D;CA6D;110D 1166 11AC;CA6D;110D 1166 11AC;
+CA6E;CA6E;110D 1166 11AD;CA6E;110D 1166 11AD;
+CA6F;CA6F;110D 1166 11AE;CA6F;110D 1166 11AE;
+CA70;CA70;110D 1166 11AF;CA70;110D 1166 11AF;
+CA71;CA71;110D 1166 11B0;CA71;110D 1166 11B0;
+CA72;CA72;110D 1166 11B1;CA72;110D 1166 11B1;
+CA73;CA73;110D 1166 11B2;CA73;110D 1166 11B2;
+CA74;CA74;110D 1166 11B3;CA74;110D 1166 11B3;
+CA75;CA75;110D 1166 11B4;CA75;110D 1166 11B4;
+CA76;CA76;110D 1166 11B5;CA76;110D 1166 11B5;
+CA77;CA77;110D 1166 11B6;CA77;110D 1166 11B6;
+CA78;CA78;110D 1166 11B7;CA78;110D 1166 11B7;
+CA79;CA79;110D 1166 11B8;CA79;110D 1166 11B8;
+CA7A;CA7A;110D 1166 11B9;CA7A;110D 1166 11B9;
+CA7B;CA7B;110D 1166 11BA;CA7B;110D 1166 11BA;
+CA7C;CA7C;110D 1166 11BB;CA7C;110D 1166 11BB;
+CA7D;CA7D;110D 1166 11BC;CA7D;110D 1166 11BC;
+CA7E;CA7E;110D 1166 11BD;CA7E;110D 1166 11BD;
+CA7F;CA7F;110D 1166 11BE;CA7F;110D 1166 11BE;
+CA80;CA80;110D 1166 11BF;CA80;110D 1166 11BF;
+CA81;CA81;110D 1166 11C0;CA81;110D 1166 11C0;
+CA82;CA82;110D 1166 11C1;CA82;110D 1166 11C1;
+CA83;CA83;110D 1166 11C2;CA83;110D 1166 11C2;
+CA84;CA84;110D 1167;CA84;110D 1167;
+CA85;CA85;110D 1167 11A8;CA85;110D 1167 11A8;
+CA86;CA86;110D 1167 11A9;CA86;110D 1167 11A9;
+CA87;CA87;110D 1167 11AA;CA87;110D 1167 11AA;
+CA88;CA88;110D 1167 11AB;CA88;110D 1167 11AB;
+CA89;CA89;110D 1167 11AC;CA89;110D 1167 11AC;
+CA8A;CA8A;110D 1167 11AD;CA8A;110D 1167 11AD;
+CA8B;CA8B;110D 1167 11AE;CA8B;110D 1167 11AE;
+CA8C;CA8C;110D 1167 11AF;CA8C;110D 1167 11AF;
+CA8D;CA8D;110D 1167 11B0;CA8D;110D 1167 11B0;
+CA8E;CA8E;110D 1167 11B1;CA8E;110D 1167 11B1;
+CA8F;CA8F;110D 1167 11B2;CA8F;110D 1167 11B2;
+CA90;CA90;110D 1167 11B3;CA90;110D 1167 11B3;
+CA91;CA91;110D 1167 11B4;CA91;110D 1167 11B4;
+CA92;CA92;110D 1167 11B5;CA92;110D 1167 11B5;
+CA93;CA93;110D 1167 11B6;CA93;110D 1167 11B6;
+CA94;CA94;110D 1167 11B7;CA94;110D 1167 11B7;
+CA95;CA95;110D 1167 11B8;CA95;110D 1167 11B8;
+CA96;CA96;110D 1167 11B9;CA96;110D 1167 11B9;
+CA97;CA97;110D 1167 11BA;CA97;110D 1167 11BA;
+CA98;CA98;110D 1167 11BB;CA98;110D 1167 11BB;
+CA99;CA99;110D 1167 11BC;CA99;110D 1167 11BC;
+CA9A;CA9A;110D 1167 11BD;CA9A;110D 1167 11BD;
+CA9B;CA9B;110D 1167 11BE;CA9B;110D 1167 11BE;
+CA9C;CA9C;110D 1167 11BF;CA9C;110D 1167 11BF;
+CA9D;CA9D;110D 1167 11C0;CA9D;110D 1167 11C0;
+CA9E;CA9E;110D 1167 11C1;CA9E;110D 1167 11C1;
+CA9F;CA9F;110D 1167 11C2;CA9F;110D 1167 11C2;
+CAA0;CAA0;110D 1168;CAA0;110D 1168;
+CAA1;CAA1;110D 1168 11A8;CAA1;110D 1168 11A8;
+CAA2;CAA2;110D 1168 11A9;CAA2;110D 1168 11A9;
+CAA3;CAA3;110D 1168 11AA;CAA3;110D 1168 11AA;
+CAA4;CAA4;110D 1168 11AB;CAA4;110D 1168 11AB;
+CAA5;CAA5;110D 1168 11AC;CAA5;110D 1168 11AC;
+CAA6;CAA6;110D 1168 11AD;CAA6;110D 1168 11AD;
+CAA7;CAA7;110D 1168 11AE;CAA7;110D 1168 11AE;
+CAA8;CAA8;110D 1168 11AF;CAA8;110D 1168 11AF;
+CAA9;CAA9;110D 1168 11B0;CAA9;110D 1168 11B0;
+CAAA;CAAA;110D 1168 11B1;CAAA;110D 1168 11B1;
+CAAB;CAAB;110D 1168 11B2;CAAB;110D 1168 11B2;
+CAAC;CAAC;110D 1168 11B3;CAAC;110D 1168 11B3;
+CAAD;CAAD;110D 1168 11B4;CAAD;110D 1168 11B4;
+CAAE;CAAE;110D 1168 11B5;CAAE;110D 1168 11B5;
+CAAF;CAAF;110D 1168 11B6;CAAF;110D 1168 11B6;
+CAB0;CAB0;110D 1168 11B7;CAB0;110D 1168 11B7;
+CAB1;CAB1;110D 1168 11B8;CAB1;110D 1168 11B8;
+CAB2;CAB2;110D 1168 11B9;CAB2;110D 1168 11B9;
+CAB3;CAB3;110D 1168 11BA;CAB3;110D 1168 11BA;
+CAB4;CAB4;110D 1168 11BB;CAB4;110D 1168 11BB;
+CAB5;CAB5;110D 1168 11BC;CAB5;110D 1168 11BC;
+CAB6;CAB6;110D 1168 11BD;CAB6;110D 1168 11BD;
+CAB7;CAB7;110D 1168 11BE;CAB7;110D 1168 11BE;
+CAB8;CAB8;110D 1168 11BF;CAB8;110D 1168 11BF;
+CAB9;CAB9;110D 1168 11C0;CAB9;110D 1168 11C0;
+CABA;CABA;110D 1168 11C1;CABA;110D 1168 11C1;
+CABB;CABB;110D 1168 11C2;CABB;110D 1168 11C2;
+CABC;CABC;110D 1169;CABC;110D 1169;
+CABD;CABD;110D 1169 11A8;CABD;110D 1169 11A8;
+CABE;CABE;110D 1169 11A9;CABE;110D 1169 11A9;
+CABF;CABF;110D 1169 11AA;CABF;110D 1169 11AA;
+CAC0;CAC0;110D 1169 11AB;CAC0;110D 1169 11AB;
+CAC1;CAC1;110D 1169 11AC;CAC1;110D 1169 11AC;
+CAC2;CAC2;110D 1169 11AD;CAC2;110D 1169 11AD;
+CAC3;CAC3;110D 1169 11AE;CAC3;110D 1169 11AE;
+CAC4;CAC4;110D 1169 11AF;CAC4;110D 1169 11AF;
+CAC5;CAC5;110D 1169 11B0;CAC5;110D 1169 11B0;
+CAC6;CAC6;110D 1169 11B1;CAC6;110D 1169 11B1;
+CAC7;CAC7;110D 1169 11B2;CAC7;110D 1169 11B2;
+CAC8;CAC8;110D 1169 11B3;CAC8;110D 1169 11B3;
+CAC9;CAC9;110D 1169 11B4;CAC9;110D 1169 11B4;
+CACA;CACA;110D 1169 11B5;CACA;110D 1169 11B5;
+CACB;CACB;110D 1169 11B6;CACB;110D 1169 11B6;
+CACC;CACC;110D 1169 11B7;CACC;110D 1169 11B7;
+CACD;CACD;110D 1169 11B8;CACD;110D 1169 11B8;
+CACE;CACE;110D 1169 11B9;CACE;110D 1169 11B9;
+CACF;CACF;110D 1169 11BA;CACF;110D 1169 11BA;
+CAD0;CAD0;110D 1169 11BB;CAD0;110D 1169 11BB;
+CAD1;CAD1;110D 1169 11BC;CAD1;110D 1169 11BC;
+CAD2;CAD2;110D 1169 11BD;CAD2;110D 1169 11BD;
+CAD3;CAD3;110D 1169 11BE;CAD3;110D 1169 11BE;
+CAD4;CAD4;110D 1169 11BF;CAD4;110D 1169 11BF;
+CAD5;CAD5;110D 1169 11C0;CAD5;110D 1169 11C0;
+CAD6;CAD6;110D 1169 11C1;CAD6;110D 1169 11C1;
+CAD7;CAD7;110D 1169 11C2;CAD7;110D 1169 11C2;
+CAD8;CAD8;110D 116A;CAD8;110D 116A;
+CAD9;CAD9;110D 116A 11A8;CAD9;110D 116A 11A8;
+CADA;CADA;110D 116A 11A9;CADA;110D 116A 11A9;
+CADB;CADB;110D 116A 11AA;CADB;110D 116A 11AA;
+CADC;CADC;110D 116A 11AB;CADC;110D 116A 11AB;
+CADD;CADD;110D 116A 11AC;CADD;110D 116A 11AC;
+CADE;CADE;110D 116A 11AD;CADE;110D 116A 11AD;
+CADF;CADF;110D 116A 11AE;CADF;110D 116A 11AE;
+CAE0;CAE0;110D 116A 11AF;CAE0;110D 116A 11AF;
+CAE1;CAE1;110D 116A 11B0;CAE1;110D 116A 11B0;
+CAE2;CAE2;110D 116A 11B1;CAE2;110D 116A 11B1;
+CAE3;CAE3;110D 116A 11B2;CAE3;110D 116A 11B2;
+CAE4;CAE4;110D 116A 11B3;CAE4;110D 116A 11B3;
+CAE5;CAE5;110D 116A 11B4;CAE5;110D 116A 11B4;
+CAE6;CAE6;110D 116A 11B5;CAE6;110D 116A 11B5;
+CAE7;CAE7;110D 116A 11B6;CAE7;110D 116A 11B6;
+CAE8;CAE8;110D 116A 11B7;CAE8;110D 116A 11B7;
+CAE9;CAE9;110D 116A 11B8;CAE9;110D 116A 11B8;
+CAEA;CAEA;110D 116A 11B9;CAEA;110D 116A 11B9;
+CAEB;CAEB;110D 116A 11BA;CAEB;110D 116A 11BA;
+CAEC;CAEC;110D 116A 11BB;CAEC;110D 116A 11BB;
+CAED;CAED;110D 116A 11BC;CAED;110D 116A 11BC;
+CAEE;CAEE;110D 116A 11BD;CAEE;110D 116A 11BD;
+CAEF;CAEF;110D 116A 11BE;CAEF;110D 116A 11BE;
+CAF0;CAF0;110D 116A 11BF;CAF0;110D 116A 11BF;
+CAF1;CAF1;110D 116A 11C0;CAF1;110D 116A 11C0;
+CAF2;CAF2;110D 116A 11C1;CAF2;110D 116A 11C1;
+CAF3;CAF3;110D 116A 11C2;CAF3;110D 116A 11C2;
+CAF4;CAF4;110D 116B;CAF4;110D 116B;
+CAF5;CAF5;110D 116B 11A8;CAF5;110D 116B 11A8;
+CAF6;CAF6;110D 116B 11A9;CAF6;110D 116B 11A9;
+CAF7;CAF7;110D 116B 11AA;CAF7;110D 116B 11AA;
+CAF8;CAF8;110D 116B 11AB;CAF8;110D 116B 11AB;
+CAF9;CAF9;110D 116B 11AC;CAF9;110D 116B 11AC;
+CAFA;CAFA;110D 116B 11AD;CAFA;110D 116B 11AD;
+CAFB;CAFB;110D 116B 11AE;CAFB;110D 116B 11AE;
+CAFC;CAFC;110D 116B 11AF;CAFC;110D 116B 11AF;
+CAFD;CAFD;110D 116B 11B0;CAFD;110D 116B 11B0;
+CAFE;CAFE;110D 116B 11B1;CAFE;110D 116B 11B1;
+CAFF;CAFF;110D 116B 11B2;CAFF;110D 116B 11B2;
+CB00;CB00;110D 116B 11B3;CB00;110D 116B 11B3;
+CB01;CB01;110D 116B 11B4;CB01;110D 116B 11B4;
+CB02;CB02;110D 116B 11B5;CB02;110D 116B 11B5;
+CB03;CB03;110D 116B 11B6;CB03;110D 116B 11B6;
+CB04;CB04;110D 116B 11B7;CB04;110D 116B 11B7;
+CB05;CB05;110D 116B 11B8;CB05;110D 116B 11B8;
+CB06;CB06;110D 116B 11B9;CB06;110D 116B 11B9;
+CB07;CB07;110D 116B 11BA;CB07;110D 116B 11BA;
+CB08;CB08;110D 116B 11BB;CB08;110D 116B 11BB;
+CB09;CB09;110D 116B 11BC;CB09;110D 116B 11BC;
+CB0A;CB0A;110D 116B 11BD;CB0A;110D 116B 11BD;
+CB0B;CB0B;110D 116B 11BE;CB0B;110D 116B 11BE;
+CB0C;CB0C;110D 116B 11BF;CB0C;110D 116B 11BF;
+CB0D;CB0D;110D 116B 11C0;CB0D;110D 116B 11C0;
+CB0E;CB0E;110D 116B 11C1;CB0E;110D 116B 11C1;
+CB0F;CB0F;110D 116B 11C2;CB0F;110D 116B 11C2;
+CB10;CB10;110D 116C;CB10;110D 116C;
+CB11;CB11;110D 116C 11A8;CB11;110D 116C 11A8;
+CB12;CB12;110D 116C 11A9;CB12;110D 116C 11A9;
+CB13;CB13;110D 116C 11AA;CB13;110D 116C 11AA;
+CB14;CB14;110D 116C 11AB;CB14;110D 116C 11AB;
+CB15;CB15;110D 116C 11AC;CB15;110D 116C 11AC;
+CB16;CB16;110D 116C 11AD;CB16;110D 116C 11AD;
+CB17;CB17;110D 116C 11AE;CB17;110D 116C 11AE;
+CB18;CB18;110D 116C 11AF;CB18;110D 116C 11AF;
+CB19;CB19;110D 116C 11B0;CB19;110D 116C 11B0;
+CB1A;CB1A;110D 116C 11B1;CB1A;110D 116C 11B1;
+CB1B;CB1B;110D 116C 11B2;CB1B;110D 116C 11B2;
+CB1C;CB1C;110D 116C 11B3;CB1C;110D 116C 11B3;
+CB1D;CB1D;110D 116C 11B4;CB1D;110D 116C 11B4;
+CB1E;CB1E;110D 116C 11B5;CB1E;110D 116C 11B5;
+CB1F;CB1F;110D 116C 11B6;CB1F;110D 116C 11B6;
+CB20;CB20;110D 116C 11B7;CB20;110D 116C 11B7;
+CB21;CB21;110D 116C 11B8;CB21;110D 116C 11B8;
+CB22;CB22;110D 116C 11B9;CB22;110D 116C 11B9;
+CB23;CB23;110D 116C 11BA;CB23;110D 116C 11BA;
+CB24;CB24;110D 116C 11BB;CB24;110D 116C 11BB;
+CB25;CB25;110D 116C 11BC;CB25;110D 116C 11BC;
+CB26;CB26;110D 116C 11BD;CB26;110D 116C 11BD;
+CB27;CB27;110D 116C 11BE;CB27;110D 116C 11BE;
+CB28;CB28;110D 116C 11BF;CB28;110D 116C 11BF;
+CB29;CB29;110D 116C 11C0;CB29;110D 116C 11C0;
+CB2A;CB2A;110D 116C 11C1;CB2A;110D 116C 11C1;
+CB2B;CB2B;110D 116C 11C2;CB2B;110D 116C 11C2;
+CB2C;CB2C;110D 116D;CB2C;110D 116D;
+CB2D;CB2D;110D 116D 11A8;CB2D;110D 116D 11A8;
+CB2E;CB2E;110D 116D 11A9;CB2E;110D 116D 11A9;
+CB2F;CB2F;110D 116D 11AA;CB2F;110D 116D 11AA;
+CB30;CB30;110D 116D 11AB;CB30;110D 116D 11AB;
+CB31;CB31;110D 116D 11AC;CB31;110D 116D 11AC;
+CB32;CB32;110D 116D 11AD;CB32;110D 116D 11AD;
+CB33;CB33;110D 116D 11AE;CB33;110D 116D 11AE;
+CB34;CB34;110D 116D 11AF;CB34;110D 116D 11AF;
+CB35;CB35;110D 116D 11B0;CB35;110D 116D 11B0;
+CB36;CB36;110D 116D 11B1;CB36;110D 116D 11B1;
+CB37;CB37;110D 116D 11B2;CB37;110D 116D 11B2;
+CB38;CB38;110D 116D 11B3;CB38;110D 116D 11B3;
+CB39;CB39;110D 116D 11B4;CB39;110D 116D 11B4;
+CB3A;CB3A;110D 116D 11B5;CB3A;110D 116D 11B5;
+CB3B;CB3B;110D 116D 11B6;CB3B;110D 116D 11B6;
+CB3C;CB3C;110D 116D 11B7;CB3C;110D 116D 11B7;
+CB3D;CB3D;110D 116D 11B8;CB3D;110D 116D 11B8;
+CB3E;CB3E;110D 116D 11B9;CB3E;110D 116D 11B9;
+CB3F;CB3F;110D 116D 11BA;CB3F;110D 116D 11BA;
+CB40;CB40;110D 116D 11BB;CB40;110D 116D 11BB;
+CB41;CB41;110D 116D 11BC;CB41;110D 116D 11BC;
+CB42;CB42;110D 116D 11BD;CB42;110D 116D 11BD;
+CB43;CB43;110D 116D 11BE;CB43;110D 116D 11BE;
+CB44;CB44;110D 116D 11BF;CB44;110D 116D 11BF;
+CB45;CB45;110D 116D 11C0;CB45;110D 116D 11C0;
+CB46;CB46;110D 116D 11C1;CB46;110D 116D 11C1;
+CB47;CB47;110D 116D 11C2;CB47;110D 116D 11C2;
+CB48;CB48;110D 116E;CB48;110D 116E;
+CB49;CB49;110D 116E 11A8;CB49;110D 116E 11A8;
+CB4A;CB4A;110D 116E 11A9;CB4A;110D 116E 11A9;
+CB4B;CB4B;110D 116E 11AA;CB4B;110D 116E 11AA;
+CB4C;CB4C;110D 116E 11AB;CB4C;110D 116E 11AB;
+CB4D;CB4D;110D 116E 11AC;CB4D;110D 116E 11AC;
+CB4E;CB4E;110D 116E 11AD;CB4E;110D 116E 11AD;
+CB4F;CB4F;110D 116E 11AE;CB4F;110D 116E 11AE;
+CB50;CB50;110D 116E 11AF;CB50;110D 116E 11AF;
+CB51;CB51;110D 116E 11B0;CB51;110D 116E 11B0;
+CB52;CB52;110D 116E 11B1;CB52;110D 116E 11B1;
+CB53;CB53;110D 116E 11B2;CB53;110D 116E 11B2;
+CB54;CB54;110D 116E 11B3;CB54;110D 116E 11B3;
+CB55;CB55;110D 116E 11B4;CB55;110D 116E 11B4;
+CB56;CB56;110D 116E 11B5;CB56;110D 116E 11B5;
+CB57;CB57;110D 116E 11B6;CB57;110D 116E 11B6;
+CB58;CB58;110D 116E 11B7;CB58;110D 116E 11B7;
+CB59;CB59;110D 116E 11B8;CB59;110D 116E 11B8;
+CB5A;CB5A;110D 116E 11B9;CB5A;110D 116E 11B9;
+CB5B;CB5B;110D 116E 11BA;CB5B;110D 116E 11BA;
+CB5C;CB5C;110D 116E 11BB;CB5C;110D 116E 11BB;
+CB5D;CB5D;110D 116E 11BC;CB5D;110D 116E 11BC;
+CB5E;CB5E;110D 116E 11BD;CB5E;110D 116E 11BD;
+CB5F;CB5F;110D 116E 11BE;CB5F;110D 116E 11BE;
+CB60;CB60;110D 116E 11BF;CB60;110D 116E 11BF;
+CB61;CB61;110D 116E 11C0;CB61;110D 116E 11C0;
+CB62;CB62;110D 116E 11C1;CB62;110D 116E 11C1;
+CB63;CB63;110D 116E 11C2;CB63;110D 116E 11C2;
+CB64;CB64;110D 116F;CB64;110D 116F;
+CB65;CB65;110D 116F 11A8;CB65;110D 116F 11A8;
+CB66;CB66;110D 116F 11A9;CB66;110D 116F 11A9;
+CB67;CB67;110D 116F 11AA;CB67;110D 116F 11AA;
+CB68;CB68;110D 116F 11AB;CB68;110D 116F 11AB;
+CB69;CB69;110D 116F 11AC;CB69;110D 116F 11AC;
+CB6A;CB6A;110D 116F 11AD;CB6A;110D 116F 11AD;
+CB6B;CB6B;110D 116F 11AE;CB6B;110D 116F 11AE;
+CB6C;CB6C;110D 116F 11AF;CB6C;110D 116F 11AF;
+CB6D;CB6D;110D 116F 11B0;CB6D;110D 116F 11B0;
+CB6E;CB6E;110D 116F 11B1;CB6E;110D 116F 11B1;
+CB6F;CB6F;110D 116F 11B2;CB6F;110D 116F 11B2;
+CB70;CB70;110D 116F 11B3;CB70;110D 116F 11B3;
+CB71;CB71;110D 116F 11B4;CB71;110D 116F 11B4;
+CB72;CB72;110D 116F 11B5;CB72;110D 116F 11B5;
+CB73;CB73;110D 116F 11B6;CB73;110D 116F 11B6;
+CB74;CB74;110D 116F 11B7;CB74;110D 116F 11B7;
+CB75;CB75;110D 116F 11B8;CB75;110D 116F 11B8;
+CB76;CB76;110D 116F 11B9;CB76;110D 116F 11B9;
+CB77;CB77;110D 116F 11BA;CB77;110D 116F 11BA;
+CB78;CB78;110D 116F 11BB;CB78;110D 116F 11BB;
+CB79;CB79;110D 116F 11BC;CB79;110D 116F 11BC;
+CB7A;CB7A;110D 116F 11BD;CB7A;110D 116F 11BD;
+CB7B;CB7B;110D 116F 11BE;CB7B;110D 116F 11BE;
+CB7C;CB7C;110D 116F 11BF;CB7C;110D 116F 11BF;
+CB7D;CB7D;110D 116F 11C0;CB7D;110D 116F 11C0;
+CB7E;CB7E;110D 116F 11C1;CB7E;110D 116F 11C1;
+CB7F;CB7F;110D 116F 11C2;CB7F;110D 116F 11C2;
+CB80;CB80;110D 1170;CB80;110D 1170;
+CB81;CB81;110D 1170 11A8;CB81;110D 1170 11A8;
+CB82;CB82;110D 1170 11A9;CB82;110D 1170 11A9;
+CB83;CB83;110D 1170 11AA;CB83;110D 1170 11AA;
+CB84;CB84;110D 1170 11AB;CB84;110D 1170 11AB;
+CB85;CB85;110D 1170 11AC;CB85;110D 1170 11AC;
+CB86;CB86;110D 1170 11AD;CB86;110D 1170 11AD;
+CB87;CB87;110D 1170 11AE;CB87;110D 1170 11AE;
+CB88;CB88;110D 1170 11AF;CB88;110D 1170 11AF;
+CB89;CB89;110D 1170 11B0;CB89;110D 1170 11B0;
+CB8A;CB8A;110D 1170 11B1;CB8A;110D 1170 11B1;
+CB8B;CB8B;110D 1170 11B2;CB8B;110D 1170 11B2;
+CB8C;CB8C;110D 1170 11B3;CB8C;110D 1170 11B3;
+CB8D;CB8D;110D 1170 11B4;CB8D;110D 1170 11B4;
+CB8E;CB8E;110D 1170 11B5;CB8E;110D 1170 11B5;
+CB8F;CB8F;110D 1170 11B6;CB8F;110D 1170 11B6;
+CB90;CB90;110D 1170 11B7;CB90;110D 1170 11B7;
+CB91;CB91;110D 1170 11B8;CB91;110D 1170 11B8;
+CB92;CB92;110D 1170 11B9;CB92;110D 1170 11B9;
+CB93;CB93;110D 1170 11BA;CB93;110D 1170 11BA;
+CB94;CB94;110D 1170 11BB;CB94;110D 1170 11BB;
+CB95;CB95;110D 1170 11BC;CB95;110D 1170 11BC;
+CB96;CB96;110D 1170 11BD;CB96;110D 1170 11BD;
+CB97;CB97;110D 1170 11BE;CB97;110D 1170 11BE;
+CB98;CB98;110D 1170 11BF;CB98;110D 1170 11BF;
+CB99;CB99;110D 1170 11C0;CB99;110D 1170 11C0;
+CB9A;CB9A;110D 1170 11C1;CB9A;110D 1170 11C1;
+CB9B;CB9B;110D 1170 11C2;CB9B;110D 1170 11C2;
+CB9C;CB9C;110D 1171;CB9C;110D 1171;
+CB9D;CB9D;110D 1171 11A8;CB9D;110D 1171 11A8;
+CB9E;CB9E;110D 1171 11A9;CB9E;110D 1171 11A9;
+CB9F;CB9F;110D 1171 11AA;CB9F;110D 1171 11AA;
+CBA0;CBA0;110D 1171 11AB;CBA0;110D 1171 11AB;
+CBA1;CBA1;110D 1171 11AC;CBA1;110D 1171 11AC;
+CBA2;CBA2;110D 1171 11AD;CBA2;110D 1171 11AD;
+CBA3;CBA3;110D 1171 11AE;CBA3;110D 1171 11AE;
+CBA4;CBA4;110D 1171 11AF;CBA4;110D 1171 11AF;
+CBA5;CBA5;110D 1171 11B0;CBA5;110D 1171 11B0;
+CBA6;CBA6;110D 1171 11B1;CBA6;110D 1171 11B1;
+CBA7;CBA7;110D 1171 11B2;CBA7;110D 1171 11B2;
+CBA8;CBA8;110D 1171 11B3;CBA8;110D 1171 11B3;
+CBA9;CBA9;110D 1171 11B4;CBA9;110D 1171 11B4;
+CBAA;CBAA;110D 1171 11B5;CBAA;110D 1171 11B5;
+CBAB;CBAB;110D 1171 11B6;CBAB;110D 1171 11B6;
+CBAC;CBAC;110D 1171 11B7;CBAC;110D 1171 11B7;
+CBAD;CBAD;110D 1171 11B8;CBAD;110D 1171 11B8;
+CBAE;CBAE;110D 1171 11B9;CBAE;110D 1171 11B9;
+CBAF;CBAF;110D 1171 11BA;CBAF;110D 1171 11BA;
+CBB0;CBB0;110D 1171 11BB;CBB0;110D 1171 11BB;
+CBB1;CBB1;110D 1171 11BC;CBB1;110D 1171 11BC;
+CBB2;CBB2;110D 1171 11BD;CBB2;110D 1171 11BD;
+CBB3;CBB3;110D 1171 11BE;CBB3;110D 1171 11BE;
+CBB4;CBB4;110D 1171 11BF;CBB4;110D 1171 11BF;
+CBB5;CBB5;110D 1171 11C0;CBB5;110D 1171 11C0;
+CBB6;CBB6;110D 1171 11C1;CBB6;110D 1171 11C1;
+CBB7;CBB7;110D 1171 11C2;CBB7;110D 1171 11C2;
+CBB8;CBB8;110D 1172;CBB8;110D 1172;
+CBB9;CBB9;110D 1172 11A8;CBB9;110D 1172 11A8;
+CBBA;CBBA;110D 1172 11A9;CBBA;110D 1172 11A9;
+CBBB;CBBB;110D 1172 11AA;CBBB;110D 1172 11AA;
+CBBC;CBBC;110D 1172 11AB;CBBC;110D 1172 11AB;
+CBBD;CBBD;110D 1172 11AC;CBBD;110D 1172 11AC;
+CBBE;CBBE;110D 1172 11AD;CBBE;110D 1172 11AD;
+CBBF;CBBF;110D 1172 11AE;CBBF;110D 1172 11AE;
+CBC0;CBC0;110D 1172 11AF;CBC0;110D 1172 11AF;
+CBC1;CBC1;110D 1172 11B0;CBC1;110D 1172 11B0;
+CBC2;CBC2;110D 1172 11B1;CBC2;110D 1172 11B1;
+CBC3;CBC3;110D 1172 11B2;CBC3;110D 1172 11B2;
+CBC4;CBC4;110D 1172 11B3;CBC4;110D 1172 11B3;
+CBC5;CBC5;110D 1172 11B4;CBC5;110D 1172 11B4;
+CBC6;CBC6;110D 1172 11B5;CBC6;110D 1172 11B5;
+CBC7;CBC7;110D 1172 11B6;CBC7;110D 1172 11B6;
+CBC8;CBC8;110D 1172 11B7;CBC8;110D 1172 11B7;
+CBC9;CBC9;110D 1172 11B8;CBC9;110D 1172 11B8;
+CBCA;CBCA;110D 1172 11B9;CBCA;110D 1172 11B9;
+CBCB;CBCB;110D 1172 11BA;CBCB;110D 1172 11BA;
+CBCC;CBCC;110D 1172 11BB;CBCC;110D 1172 11BB;
+CBCD;CBCD;110D 1172 11BC;CBCD;110D 1172 11BC;
+CBCE;CBCE;110D 1172 11BD;CBCE;110D 1172 11BD;
+CBCF;CBCF;110D 1172 11BE;CBCF;110D 1172 11BE;
+CBD0;CBD0;110D 1172 11BF;CBD0;110D 1172 11BF;
+CBD1;CBD1;110D 1172 11C0;CBD1;110D 1172 11C0;
+CBD2;CBD2;110D 1172 11C1;CBD2;110D 1172 11C1;
+CBD3;CBD3;110D 1172 11C2;CBD3;110D 1172 11C2;
+CBD4;CBD4;110D 1173;CBD4;110D 1173;
+CBD5;CBD5;110D 1173 11A8;CBD5;110D 1173 11A8;
+CBD6;CBD6;110D 1173 11A9;CBD6;110D 1173 11A9;
+CBD7;CBD7;110D 1173 11AA;CBD7;110D 1173 11AA;
+CBD8;CBD8;110D 1173 11AB;CBD8;110D 1173 11AB;
+CBD9;CBD9;110D 1173 11AC;CBD9;110D 1173 11AC;
+CBDA;CBDA;110D 1173 11AD;CBDA;110D 1173 11AD;
+CBDB;CBDB;110D 1173 11AE;CBDB;110D 1173 11AE;
+CBDC;CBDC;110D 1173 11AF;CBDC;110D 1173 11AF;
+CBDD;CBDD;110D 1173 11B0;CBDD;110D 1173 11B0;
+CBDE;CBDE;110D 1173 11B1;CBDE;110D 1173 11B1;
+CBDF;CBDF;110D 1173 11B2;CBDF;110D 1173 11B2;
+CBE0;CBE0;110D 1173 11B3;CBE0;110D 1173 11B3;
+CBE1;CBE1;110D 1173 11B4;CBE1;110D 1173 11B4;
+CBE2;CBE2;110D 1173 11B5;CBE2;110D 1173 11B5;
+CBE3;CBE3;110D 1173 11B6;CBE3;110D 1173 11B6;
+CBE4;CBE4;110D 1173 11B7;CBE4;110D 1173 11B7;
+CBE5;CBE5;110D 1173 11B8;CBE5;110D 1173 11B8;
+CBE6;CBE6;110D 1173 11B9;CBE6;110D 1173 11B9;
+CBE7;CBE7;110D 1173 11BA;CBE7;110D 1173 11BA;
+CBE8;CBE8;110D 1173 11BB;CBE8;110D 1173 11BB;
+CBE9;CBE9;110D 1173 11BC;CBE9;110D 1173 11BC;
+CBEA;CBEA;110D 1173 11BD;CBEA;110D 1173 11BD;
+CBEB;CBEB;110D 1173 11BE;CBEB;110D 1173 11BE;
+CBEC;CBEC;110D 1173 11BF;CBEC;110D 1173 11BF;
+CBED;CBED;110D 1173 11C0;CBED;110D 1173 11C0;
+CBEE;CBEE;110D 1173 11C1;CBEE;110D 1173 11C1;
+CBEF;CBEF;110D 1173 11C2;CBEF;110D 1173 11C2;
+CBF0;CBF0;110D 1174;CBF0;110D 1174;
+CBF1;CBF1;110D 1174 11A8;CBF1;110D 1174 11A8;
+CBF2;CBF2;110D 1174 11A9;CBF2;110D 1174 11A9;
+CBF3;CBF3;110D 1174 11AA;CBF3;110D 1174 11AA;
+CBF4;CBF4;110D 1174 11AB;CBF4;110D 1174 11AB;
+CBF5;CBF5;110D 1174 11AC;CBF5;110D 1174 11AC;
+CBF6;CBF6;110D 1174 11AD;CBF6;110D 1174 11AD;
+CBF7;CBF7;110D 1174 11AE;CBF7;110D 1174 11AE;
+CBF8;CBF8;110D 1174 11AF;CBF8;110D 1174 11AF;
+CBF9;CBF9;110D 1174 11B0;CBF9;110D 1174 11B0;
+CBFA;CBFA;110D 1174 11B1;CBFA;110D 1174 11B1;
+CBFB;CBFB;110D 1174 11B2;CBFB;110D 1174 11B2;
+CBFC;CBFC;110D 1174 11B3;CBFC;110D 1174 11B3;
+CBFD;CBFD;110D 1174 11B4;CBFD;110D 1174 11B4;
+CBFE;CBFE;110D 1174 11B5;CBFE;110D 1174 11B5;
+CBFF;CBFF;110D 1174 11B6;CBFF;110D 1174 11B6;
+CC00;CC00;110D 1174 11B7;CC00;110D 1174 11B7;
+CC01;CC01;110D 1174 11B8;CC01;110D 1174 11B8;
+CC02;CC02;110D 1174 11B9;CC02;110D 1174 11B9;
+CC03;CC03;110D 1174 11BA;CC03;110D 1174 11BA;
+CC04;CC04;110D 1174 11BB;CC04;110D 1174 11BB;
+CC05;CC05;110D 1174 11BC;CC05;110D 1174 11BC;
+CC06;CC06;110D 1174 11BD;CC06;110D 1174 11BD;
+CC07;CC07;110D 1174 11BE;CC07;110D 1174 11BE;
+CC08;CC08;110D 1174 11BF;CC08;110D 1174 11BF;
+CC09;CC09;110D 1174 11C0;CC09;110D 1174 11C0;
+CC0A;CC0A;110D 1174 11C1;CC0A;110D 1174 11C1;
+CC0B;CC0B;110D 1174 11C2;CC0B;110D 1174 11C2;
+CC0C;CC0C;110D 1175;CC0C;110D 1175;
+CC0D;CC0D;110D 1175 11A8;CC0D;110D 1175 11A8;
+CC0E;CC0E;110D 1175 11A9;CC0E;110D 1175 11A9;
+CC0F;CC0F;110D 1175 11AA;CC0F;110D 1175 11AA;
+CC10;CC10;110D 1175 11AB;CC10;110D 1175 11AB;
+CC11;CC11;110D 1175 11AC;CC11;110D 1175 11AC;
+CC12;CC12;110D 1175 11AD;CC12;110D 1175 11AD;
+CC13;CC13;110D 1175 11AE;CC13;110D 1175 11AE;
+CC14;CC14;110D 1175 11AF;CC14;110D 1175 11AF;
+CC15;CC15;110D 1175 11B0;CC15;110D 1175 11B0;
+CC16;CC16;110D 1175 11B1;CC16;110D 1175 11B1;
+CC17;CC17;110D 1175 11B2;CC17;110D 1175 11B2;
+CC18;CC18;110D 1175 11B3;CC18;110D 1175 11B3;
+CC19;CC19;110D 1175 11B4;CC19;110D 1175 11B4;
+CC1A;CC1A;110D 1175 11B5;CC1A;110D 1175 11B5;
+CC1B;CC1B;110D 1175 11B6;CC1B;110D 1175 11B6;
+CC1C;CC1C;110D 1175 11B7;CC1C;110D 1175 11B7;
+CC1D;CC1D;110D 1175 11B8;CC1D;110D 1175 11B8;
+CC1E;CC1E;110D 1175 11B9;CC1E;110D 1175 11B9;
+CC1F;CC1F;110D 1175 11BA;CC1F;110D 1175 11BA;
+CC20;CC20;110D 1175 11BB;CC20;110D 1175 11BB;
+CC21;CC21;110D 1175 11BC;CC21;110D 1175 11BC;
+CC22;CC22;110D 1175 11BD;CC22;110D 1175 11BD;
+CC23;CC23;110D 1175 11BE;CC23;110D 1175 11BE;
+CC24;CC24;110D 1175 11BF;CC24;110D 1175 11BF;
+CC25;CC25;110D 1175 11C0;CC25;110D 1175 11C0;
+CC26;CC26;110D 1175 11C1;CC26;110D 1175 11C1;
+CC27;CC27;110D 1175 11C2;CC27;110D 1175 11C2;
+CC28;CC28;110E 1161;CC28;110E 1161;
+CC29;CC29;110E 1161 11A8;CC29;110E 1161 11A8;
+CC2A;CC2A;110E 1161 11A9;CC2A;110E 1161 11A9;
+CC2B;CC2B;110E 1161 11AA;CC2B;110E 1161 11AA;
+CC2C;CC2C;110E 1161 11AB;CC2C;110E 1161 11AB;
+CC2D;CC2D;110E 1161 11AC;CC2D;110E 1161 11AC;
+CC2E;CC2E;110E 1161 11AD;CC2E;110E 1161 11AD;
+CC2F;CC2F;110E 1161 11AE;CC2F;110E 1161 11AE;
+CC30;CC30;110E 1161 11AF;CC30;110E 1161 11AF;
+CC31;CC31;110E 1161 11B0;CC31;110E 1161 11B0;
+CC32;CC32;110E 1161 11B1;CC32;110E 1161 11B1;
+CC33;CC33;110E 1161 11B2;CC33;110E 1161 11B2;
+CC34;CC34;110E 1161 11B3;CC34;110E 1161 11B3;
+CC35;CC35;110E 1161 11B4;CC35;110E 1161 11B4;
+CC36;CC36;110E 1161 11B5;CC36;110E 1161 11B5;
+CC37;CC37;110E 1161 11B6;CC37;110E 1161 11B6;
+CC38;CC38;110E 1161 11B7;CC38;110E 1161 11B7;
+CC39;CC39;110E 1161 11B8;CC39;110E 1161 11B8;
+CC3A;CC3A;110E 1161 11B9;CC3A;110E 1161 11B9;
+CC3B;CC3B;110E 1161 11BA;CC3B;110E 1161 11BA;
+CC3C;CC3C;110E 1161 11BB;CC3C;110E 1161 11BB;
+CC3D;CC3D;110E 1161 11BC;CC3D;110E 1161 11BC;
+CC3E;CC3E;110E 1161 11BD;CC3E;110E 1161 11BD;
+CC3F;CC3F;110E 1161 11BE;CC3F;110E 1161 11BE;
+CC40;CC40;110E 1161 11BF;CC40;110E 1161 11BF;
+CC41;CC41;110E 1161 11C0;CC41;110E 1161 11C0;
+CC42;CC42;110E 1161 11C1;CC42;110E 1161 11C1;
+CC43;CC43;110E 1161 11C2;CC43;110E 1161 11C2;
+CC44;CC44;110E 1162;CC44;110E 1162;
+CC45;CC45;110E 1162 11A8;CC45;110E 1162 11A8;
+CC46;CC46;110E 1162 11A9;CC46;110E 1162 11A9;
+CC47;CC47;110E 1162 11AA;CC47;110E 1162 11AA;
+CC48;CC48;110E 1162 11AB;CC48;110E 1162 11AB;
+CC49;CC49;110E 1162 11AC;CC49;110E 1162 11AC;
+CC4A;CC4A;110E 1162 11AD;CC4A;110E 1162 11AD;
+CC4B;CC4B;110E 1162 11AE;CC4B;110E 1162 11AE;
+CC4C;CC4C;110E 1162 11AF;CC4C;110E 1162 11AF;
+CC4D;CC4D;110E 1162 11B0;CC4D;110E 1162 11B0;
+CC4E;CC4E;110E 1162 11B1;CC4E;110E 1162 11B1;
+CC4F;CC4F;110E 1162 11B2;CC4F;110E 1162 11B2;
+CC50;CC50;110E 1162 11B3;CC50;110E 1162 11B3;
+CC51;CC51;110E 1162 11B4;CC51;110E 1162 11B4;
+CC52;CC52;110E 1162 11B5;CC52;110E 1162 11B5;
+CC53;CC53;110E 1162 11B6;CC53;110E 1162 11B6;
+CC54;CC54;110E 1162 11B7;CC54;110E 1162 11B7;
+CC55;CC55;110E 1162 11B8;CC55;110E 1162 11B8;
+CC56;CC56;110E 1162 11B9;CC56;110E 1162 11B9;
+CC57;CC57;110E 1162 11BA;CC57;110E 1162 11BA;
+CC58;CC58;110E 1162 11BB;CC58;110E 1162 11BB;
+CC59;CC59;110E 1162 11BC;CC59;110E 1162 11BC;
+CC5A;CC5A;110E 1162 11BD;CC5A;110E 1162 11BD;
+CC5B;CC5B;110E 1162 11BE;CC5B;110E 1162 11BE;
+CC5C;CC5C;110E 1162 11BF;CC5C;110E 1162 11BF;
+CC5D;CC5D;110E 1162 11C0;CC5D;110E 1162 11C0;
+CC5E;CC5E;110E 1162 11C1;CC5E;110E 1162 11C1;
+CC5F;CC5F;110E 1162 11C2;CC5F;110E 1162 11C2;
+CC60;CC60;110E 1163;CC60;110E 1163;
+CC61;CC61;110E 1163 11A8;CC61;110E 1163 11A8;
+CC62;CC62;110E 1163 11A9;CC62;110E 1163 11A9;
+CC63;CC63;110E 1163 11AA;CC63;110E 1163 11AA;
+CC64;CC64;110E 1163 11AB;CC64;110E 1163 11AB;
+CC65;CC65;110E 1163 11AC;CC65;110E 1163 11AC;
+CC66;CC66;110E 1163 11AD;CC66;110E 1163 11AD;
+CC67;CC67;110E 1163 11AE;CC67;110E 1163 11AE;
+CC68;CC68;110E 1163 11AF;CC68;110E 1163 11AF;
+CC69;CC69;110E 1163 11B0;CC69;110E 1163 11B0;
+CC6A;CC6A;110E 1163 11B1;CC6A;110E 1163 11B1;
+CC6B;CC6B;110E 1163 11B2;CC6B;110E 1163 11B2;
+CC6C;CC6C;110E 1163 11B3;CC6C;110E 1163 11B3;
+CC6D;CC6D;110E 1163 11B4;CC6D;110E 1163 11B4;
+CC6E;CC6E;110E 1163 11B5;CC6E;110E 1163 11B5;
+CC6F;CC6F;110E 1163 11B6;CC6F;110E 1163 11B6;
+CC70;CC70;110E 1163 11B7;CC70;110E 1163 11B7;
+CC71;CC71;110E 1163 11B8;CC71;110E 1163 11B8;
+CC72;CC72;110E 1163 11B9;CC72;110E 1163 11B9;
+CC73;CC73;110E 1163 11BA;CC73;110E 1163 11BA;
+CC74;CC74;110E 1163 11BB;CC74;110E 1163 11BB;
+CC75;CC75;110E 1163 11BC;CC75;110E 1163 11BC;
+CC76;CC76;110E 1163 11BD;CC76;110E 1163 11BD;
+CC77;CC77;110E 1163 11BE;CC77;110E 1163 11BE;
+CC78;CC78;110E 1163 11BF;CC78;110E 1163 11BF;
+CC79;CC79;110E 1163 11C0;CC79;110E 1163 11C0;
+CC7A;CC7A;110E 1163 11C1;CC7A;110E 1163 11C1;
+CC7B;CC7B;110E 1163 11C2;CC7B;110E 1163 11C2;
+CC7C;CC7C;110E 1164;CC7C;110E 1164;
+CC7D;CC7D;110E 1164 11A8;CC7D;110E 1164 11A8;
+CC7E;CC7E;110E 1164 11A9;CC7E;110E 1164 11A9;
+CC7F;CC7F;110E 1164 11AA;CC7F;110E 1164 11AA;
+CC80;CC80;110E 1164 11AB;CC80;110E 1164 11AB;
+CC81;CC81;110E 1164 11AC;CC81;110E 1164 11AC;
+CC82;CC82;110E 1164 11AD;CC82;110E 1164 11AD;
+CC83;CC83;110E 1164 11AE;CC83;110E 1164 11AE;
+CC84;CC84;110E 1164 11AF;CC84;110E 1164 11AF;
+CC85;CC85;110E 1164 11B0;CC85;110E 1164 11B0;
+CC86;CC86;110E 1164 11B1;CC86;110E 1164 11B1;
+CC87;CC87;110E 1164 11B2;CC87;110E 1164 11B2;
+CC88;CC88;110E 1164 11B3;CC88;110E 1164 11B3;
+CC89;CC89;110E 1164 11B4;CC89;110E 1164 11B4;
+CC8A;CC8A;110E 1164 11B5;CC8A;110E 1164 11B5;
+CC8B;CC8B;110E 1164 11B6;CC8B;110E 1164 11B6;
+CC8C;CC8C;110E 1164 11B7;CC8C;110E 1164 11B7;
+CC8D;CC8D;110E 1164 11B8;CC8D;110E 1164 11B8;
+CC8E;CC8E;110E 1164 11B9;CC8E;110E 1164 11B9;
+CC8F;CC8F;110E 1164 11BA;CC8F;110E 1164 11BA;
+CC90;CC90;110E 1164 11BB;CC90;110E 1164 11BB;
+CC91;CC91;110E 1164 11BC;CC91;110E 1164 11BC;
+CC92;CC92;110E 1164 11BD;CC92;110E 1164 11BD;
+CC93;CC93;110E 1164 11BE;CC93;110E 1164 11BE;
+CC94;CC94;110E 1164 11BF;CC94;110E 1164 11BF;
+CC95;CC95;110E 1164 11C0;CC95;110E 1164 11C0;
+CC96;CC96;110E 1164 11C1;CC96;110E 1164 11C1;
+CC97;CC97;110E 1164 11C2;CC97;110E 1164 11C2;
+CC98;CC98;110E 1165;CC98;110E 1165;
+CC99;CC99;110E 1165 11A8;CC99;110E 1165 11A8;
+CC9A;CC9A;110E 1165 11A9;CC9A;110E 1165 11A9;
+CC9B;CC9B;110E 1165 11AA;CC9B;110E 1165 11AA;
+CC9C;CC9C;110E 1165 11AB;CC9C;110E 1165 11AB;
+CC9D;CC9D;110E 1165 11AC;CC9D;110E 1165 11AC;
+CC9E;CC9E;110E 1165 11AD;CC9E;110E 1165 11AD;
+CC9F;CC9F;110E 1165 11AE;CC9F;110E 1165 11AE;
+CCA0;CCA0;110E 1165 11AF;CCA0;110E 1165 11AF;
+CCA1;CCA1;110E 1165 11B0;CCA1;110E 1165 11B0;
+CCA2;CCA2;110E 1165 11B1;CCA2;110E 1165 11B1;
+CCA3;CCA3;110E 1165 11B2;CCA3;110E 1165 11B2;
+CCA4;CCA4;110E 1165 11B3;CCA4;110E 1165 11B3;
+CCA5;CCA5;110E 1165 11B4;CCA5;110E 1165 11B4;
+CCA6;CCA6;110E 1165 11B5;CCA6;110E 1165 11B5;
+CCA7;CCA7;110E 1165 11B6;CCA7;110E 1165 11B6;
+CCA8;CCA8;110E 1165 11B7;CCA8;110E 1165 11B7;
+CCA9;CCA9;110E 1165 11B8;CCA9;110E 1165 11B8;
+CCAA;CCAA;110E 1165 11B9;CCAA;110E 1165 11B9;
+CCAB;CCAB;110E 1165 11BA;CCAB;110E 1165 11BA;
+CCAC;CCAC;110E 1165 11BB;CCAC;110E 1165 11BB;
+CCAD;CCAD;110E 1165 11BC;CCAD;110E 1165 11BC;
+CCAE;CCAE;110E 1165 11BD;CCAE;110E 1165 11BD;
+CCAF;CCAF;110E 1165 11BE;CCAF;110E 1165 11BE;
+CCB0;CCB0;110E 1165 11BF;CCB0;110E 1165 11BF;
+CCB1;CCB1;110E 1165 11C0;CCB1;110E 1165 11C0;
+CCB2;CCB2;110E 1165 11C1;CCB2;110E 1165 11C1;
+CCB3;CCB3;110E 1165 11C2;CCB3;110E 1165 11C2;
+CCB4;CCB4;110E 1166;CCB4;110E 1166;
+CCB5;CCB5;110E 1166 11A8;CCB5;110E 1166 11A8;
+CCB6;CCB6;110E 1166 11A9;CCB6;110E 1166 11A9;
+CCB7;CCB7;110E 1166 11AA;CCB7;110E 1166 11AA;
+CCB8;CCB8;110E 1166 11AB;CCB8;110E 1166 11AB;
+CCB9;CCB9;110E 1166 11AC;CCB9;110E 1166 11AC;
+CCBA;CCBA;110E 1166 11AD;CCBA;110E 1166 11AD;
+CCBB;CCBB;110E 1166 11AE;CCBB;110E 1166 11AE;
+CCBC;CCBC;110E 1166 11AF;CCBC;110E 1166 11AF;
+CCBD;CCBD;110E 1166 11B0;CCBD;110E 1166 11B0;
+CCBE;CCBE;110E 1166 11B1;CCBE;110E 1166 11B1;
+CCBF;CCBF;110E 1166 11B2;CCBF;110E 1166 11B2;
+CCC0;CCC0;110E 1166 11B3;CCC0;110E 1166 11B3;
+CCC1;CCC1;110E 1166 11B4;CCC1;110E 1166 11B4;
+CCC2;CCC2;110E 1166 11B5;CCC2;110E 1166 11B5;
+CCC3;CCC3;110E 1166 11B6;CCC3;110E 1166 11B6;
+CCC4;CCC4;110E 1166 11B7;CCC4;110E 1166 11B7;
+CCC5;CCC5;110E 1166 11B8;CCC5;110E 1166 11B8;
+CCC6;CCC6;110E 1166 11B9;CCC6;110E 1166 11B9;
+CCC7;CCC7;110E 1166 11BA;CCC7;110E 1166 11BA;
+CCC8;CCC8;110E 1166 11BB;CCC8;110E 1166 11BB;
+CCC9;CCC9;110E 1166 11BC;CCC9;110E 1166 11BC;
+CCCA;CCCA;110E 1166 11BD;CCCA;110E 1166 11BD;
+CCCB;CCCB;110E 1166 11BE;CCCB;110E 1166 11BE;
+CCCC;CCCC;110E 1166 11BF;CCCC;110E 1166 11BF;
+CCCD;CCCD;110E 1166 11C0;CCCD;110E 1166 11C0;
+CCCE;CCCE;110E 1166 11C1;CCCE;110E 1166 11C1;
+CCCF;CCCF;110E 1166 11C2;CCCF;110E 1166 11C2;
+CCD0;CCD0;110E 1167;CCD0;110E 1167;
+CCD1;CCD1;110E 1167 11A8;CCD1;110E 1167 11A8;
+CCD2;CCD2;110E 1167 11A9;CCD2;110E 1167 11A9;
+CCD3;CCD3;110E 1167 11AA;CCD3;110E 1167 11AA;
+CCD4;CCD4;110E 1167 11AB;CCD4;110E 1167 11AB;
+CCD5;CCD5;110E 1167 11AC;CCD5;110E 1167 11AC;
+CCD6;CCD6;110E 1167 11AD;CCD6;110E 1167 11AD;
+CCD7;CCD7;110E 1167 11AE;CCD7;110E 1167 11AE;
+CCD8;CCD8;110E 1167 11AF;CCD8;110E 1167 11AF;
+CCD9;CCD9;110E 1167 11B0;CCD9;110E 1167 11B0;
+CCDA;CCDA;110E 1167 11B1;CCDA;110E 1167 11B1;
+CCDB;CCDB;110E 1167 11B2;CCDB;110E 1167 11B2;
+CCDC;CCDC;110E 1167 11B3;CCDC;110E 1167 11B3;
+CCDD;CCDD;110E 1167 11B4;CCDD;110E 1167 11B4;
+CCDE;CCDE;110E 1167 11B5;CCDE;110E 1167 11B5;
+CCDF;CCDF;110E 1167 11B6;CCDF;110E 1167 11B6;
+CCE0;CCE0;110E 1167 11B7;CCE0;110E 1167 11B7;
+CCE1;CCE1;110E 1167 11B8;CCE1;110E 1167 11B8;
+CCE2;CCE2;110E 1167 11B9;CCE2;110E 1167 11B9;
+CCE3;CCE3;110E 1167 11BA;CCE3;110E 1167 11BA;
+CCE4;CCE4;110E 1167 11BB;CCE4;110E 1167 11BB;
+CCE5;CCE5;110E 1167 11BC;CCE5;110E 1167 11BC;
+CCE6;CCE6;110E 1167 11BD;CCE6;110E 1167 11BD;
+CCE7;CCE7;110E 1167 11BE;CCE7;110E 1167 11BE;
+CCE8;CCE8;110E 1167 11BF;CCE8;110E 1167 11BF;
+CCE9;CCE9;110E 1167 11C0;CCE9;110E 1167 11C0;
+CCEA;CCEA;110E 1167 11C1;CCEA;110E 1167 11C1;
+CCEB;CCEB;110E 1167 11C2;CCEB;110E 1167 11C2;
+CCEC;CCEC;110E 1168;CCEC;110E 1168;
+CCED;CCED;110E 1168 11A8;CCED;110E 1168 11A8;
+CCEE;CCEE;110E 1168 11A9;CCEE;110E 1168 11A9;
+CCEF;CCEF;110E 1168 11AA;CCEF;110E 1168 11AA;
+CCF0;CCF0;110E 1168 11AB;CCF0;110E 1168 11AB;
+CCF1;CCF1;110E 1168 11AC;CCF1;110E 1168 11AC;
+CCF2;CCF2;110E 1168 11AD;CCF2;110E 1168 11AD;
+CCF3;CCF3;110E 1168 11AE;CCF3;110E 1168 11AE;
+CCF4;CCF4;110E 1168 11AF;CCF4;110E 1168 11AF;
+CCF5;CCF5;110E 1168 11B0;CCF5;110E 1168 11B0;
+CCF6;CCF6;110E 1168 11B1;CCF6;110E 1168 11B1;
+CCF7;CCF7;110E 1168 11B2;CCF7;110E 1168 11B2;
+CCF8;CCF8;110E 1168 11B3;CCF8;110E 1168 11B3;
+CCF9;CCF9;110E 1168 11B4;CCF9;110E 1168 11B4;
+CCFA;CCFA;110E 1168 11B5;CCFA;110E 1168 11B5;
+CCFB;CCFB;110E 1168 11B6;CCFB;110E 1168 11B6;
+CCFC;CCFC;110E 1168 11B7;CCFC;110E 1168 11B7;
+CCFD;CCFD;110E 1168 11B8;CCFD;110E 1168 11B8;
+CCFE;CCFE;110E 1168 11B9;CCFE;110E 1168 11B9;
+CCFF;CCFF;110E 1168 11BA;CCFF;110E 1168 11BA;
+CD00;CD00;110E 1168 11BB;CD00;110E 1168 11BB;
+CD01;CD01;110E 1168 11BC;CD01;110E 1168 11BC;
+CD02;CD02;110E 1168 11BD;CD02;110E 1168 11BD;
+CD03;CD03;110E 1168 11BE;CD03;110E 1168 11BE;
+CD04;CD04;110E 1168 11BF;CD04;110E 1168 11BF;
+CD05;CD05;110E 1168 11C0;CD05;110E 1168 11C0;
+CD06;CD06;110E 1168 11C1;CD06;110E 1168 11C1;
+CD07;CD07;110E 1168 11C2;CD07;110E 1168 11C2;
+CD08;CD08;110E 1169;CD08;110E 1169;
+CD09;CD09;110E 1169 11A8;CD09;110E 1169 11A8;
+CD0A;CD0A;110E 1169 11A9;CD0A;110E 1169 11A9;
+CD0B;CD0B;110E 1169 11AA;CD0B;110E 1169 11AA;
+CD0C;CD0C;110E 1169 11AB;CD0C;110E 1169 11AB;
+CD0D;CD0D;110E 1169 11AC;CD0D;110E 1169 11AC;
+CD0E;CD0E;110E 1169 11AD;CD0E;110E 1169 11AD;
+CD0F;CD0F;110E 1169 11AE;CD0F;110E 1169 11AE;
+CD10;CD10;110E 1169 11AF;CD10;110E 1169 11AF;
+CD11;CD11;110E 1169 11B0;CD11;110E 1169 11B0;
+CD12;CD12;110E 1169 11B1;CD12;110E 1169 11B1;
+CD13;CD13;110E 1169 11B2;CD13;110E 1169 11B2;
+CD14;CD14;110E 1169 11B3;CD14;110E 1169 11B3;
+CD15;CD15;110E 1169 11B4;CD15;110E 1169 11B4;
+CD16;CD16;110E 1169 11B5;CD16;110E 1169 11B5;
+CD17;CD17;110E 1169 11B6;CD17;110E 1169 11B6;
+CD18;CD18;110E 1169 11B7;CD18;110E 1169 11B7;
+CD19;CD19;110E 1169 11B8;CD19;110E 1169 11B8;
+CD1A;CD1A;110E 1169 11B9;CD1A;110E 1169 11B9;
+CD1B;CD1B;110E 1169 11BA;CD1B;110E 1169 11BA;
+CD1C;CD1C;110E 1169 11BB;CD1C;110E 1169 11BB;
+CD1D;CD1D;110E 1169 11BC;CD1D;110E 1169 11BC;
+CD1E;CD1E;110E 1169 11BD;CD1E;110E 1169 11BD;
+CD1F;CD1F;110E 1169 11BE;CD1F;110E 1169 11BE;
+CD20;CD20;110E 1169 11BF;CD20;110E 1169 11BF;
+CD21;CD21;110E 1169 11C0;CD21;110E 1169 11C0;
+CD22;CD22;110E 1169 11C1;CD22;110E 1169 11C1;
+CD23;CD23;110E 1169 11C2;CD23;110E 1169 11C2;
+CD24;CD24;110E 116A;CD24;110E 116A;
+CD25;CD25;110E 116A 11A8;CD25;110E 116A 11A8;
+CD26;CD26;110E 116A 11A9;CD26;110E 116A 11A9;
+CD27;CD27;110E 116A 11AA;CD27;110E 116A 11AA;
+CD28;CD28;110E 116A 11AB;CD28;110E 116A 11AB;
+CD29;CD29;110E 116A 11AC;CD29;110E 116A 11AC;
+CD2A;CD2A;110E 116A 11AD;CD2A;110E 116A 11AD;
+CD2B;CD2B;110E 116A 11AE;CD2B;110E 116A 11AE;
+CD2C;CD2C;110E 116A 11AF;CD2C;110E 116A 11AF;
+CD2D;CD2D;110E 116A 11B0;CD2D;110E 116A 11B0;
+CD2E;CD2E;110E 116A 11B1;CD2E;110E 116A 11B1;
+CD2F;CD2F;110E 116A 11B2;CD2F;110E 116A 11B2;
+CD30;CD30;110E 116A 11B3;CD30;110E 116A 11B3;
+CD31;CD31;110E 116A 11B4;CD31;110E 116A 11B4;
+CD32;CD32;110E 116A 11B5;CD32;110E 116A 11B5;
+CD33;CD33;110E 116A 11B6;CD33;110E 116A 11B6;
+CD34;CD34;110E 116A 11B7;CD34;110E 116A 11B7;
+CD35;CD35;110E 116A 11B8;CD35;110E 116A 11B8;
+CD36;CD36;110E 116A 11B9;CD36;110E 116A 11B9;
+CD37;CD37;110E 116A 11BA;CD37;110E 116A 11BA;
+CD38;CD38;110E 116A 11BB;CD38;110E 116A 11BB;
+CD39;CD39;110E 116A 11BC;CD39;110E 116A 11BC;
+CD3A;CD3A;110E 116A 11BD;CD3A;110E 116A 11BD;
+CD3B;CD3B;110E 116A 11BE;CD3B;110E 116A 11BE;
+CD3C;CD3C;110E 116A 11BF;CD3C;110E 116A 11BF;
+CD3D;CD3D;110E 116A 11C0;CD3D;110E 116A 11C0;
+CD3E;CD3E;110E 116A 11C1;CD3E;110E 116A 11C1;
+CD3F;CD3F;110E 116A 11C2;CD3F;110E 116A 11C2;
+CD40;CD40;110E 116B;CD40;110E 116B;
+CD41;CD41;110E 116B 11A8;CD41;110E 116B 11A8;
+CD42;CD42;110E 116B 11A9;CD42;110E 116B 11A9;
+CD43;CD43;110E 116B 11AA;CD43;110E 116B 11AA;
+CD44;CD44;110E 116B 11AB;CD44;110E 116B 11AB;
+CD45;CD45;110E 116B 11AC;CD45;110E 116B 11AC;
+CD46;CD46;110E 116B 11AD;CD46;110E 116B 11AD;
+CD47;CD47;110E 116B 11AE;CD47;110E 116B 11AE;
+CD48;CD48;110E 116B 11AF;CD48;110E 116B 11AF;
+CD49;CD49;110E 116B 11B0;CD49;110E 116B 11B0;
+CD4A;CD4A;110E 116B 11B1;CD4A;110E 116B 11B1;
+CD4B;CD4B;110E 116B 11B2;CD4B;110E 116B 11B2;
+CD4C;CD4C;110E 116B 11B3;CD4C;110E 116B 11B3;
+CD4D;CD4D;110E 116B 11B4;CD4D;110E 116B 11B4;
+CD4E;CD4E;110E 116B 11B5;CD4E;110E 116B 11B5;
+CD4F;CD4F;110E 116B 11B6;CD4F;110E 116B 11B6;
+CD50;CD50;110E 116B 11B7;CD50;110E 116B 11B7;
+CD51;CD51;110E 116B 11B8;CD51;110E 116B 11B8;
+CD52;CD52;110E 116B 11B9;CD52;110E 116B 11B9;
+CD53;CD53;110E 116B 11BA;CD53;110E 116B 11BA;
+CD54;CD54;110E 116B 11BB;CD54;110E 116B 11BB;
+CD55;CD55;110E 116B 11BC;CD55;110E 116B 11BC;
+CD56;CD56;110E 116B 11BD;CD56;110E 116B 11BD;
+CD57;CD57;110E 116B 11BE;CD57;110E 116B 11BE;
+CD58;CD58;110E 116B 11BF;CD58;110E 116B 11BF;
+CD59;CD59;110E 116B 11C0;CD59;110E 116B 11C0;
+CD5A;CD5A;110E 116B 11C1;CD5A;110E 116B 11C1;
+CD5B;CD5B;110E 116B 11C2;CD5B;110E 116B 11C2;
+CD5C;CD5C;110E 116C;CD5C;110E 116C;
+CD5D;CD5D;110E 116C 11A8;CD5D;110E 116C 11A8;
+CD5E;CD5E;110E 116C 11A9;CD5E;110E 116C 11A9;
+CD5F;CD5F;110E 116C 11AA;CD5F;110E 116C 11AA;
+CD60;CD60;110E 116C 11AB;CD60;110E 116C 11AB;
+CD61;CD61;110E 116C 11AC;CD61;110E 116C 11AC;
+CD62;CD62;110E 116C 11AD;CD62;110E 116C 11AD;
+CD63;CD63;110E 116C 11AE;CD63;110E 116C 11AE;
+CD64;CD64;110E 116C 11AF;CD64;110E 116C 11AF;
+CD65;CD65;110E 116C 11B0;CD65;110E 116C 11B0;
+CD66;CD66;110E 116C 11B1;CD66;110E 116C 11B1;
+CD67;CD67;110E 116C 11B2;CD67;110E 116C 11B2;
+CD68;CD68;110E 116C 11B3;CD68;110E 116C 11B3;
+CD69;CD69;110E 116C 11B4;CD69;110E 116C 11B4;
+CD6A;CD6A;110E 116C 11B5;CD6A;110E 116C 11B5;
+CD6B;CD6B;110E 116C 11B6;CD6B;110E 116C 11B6;
+CD6C;CD6C;110E 116C 11B7;CD6C;110E 116C 11B7;
+CD6D;CD6D;110E 116C 11B8;CD6D;110E 116C 11B8;
+CD6E;CD6E;110E 116C 11B9;CD6E;110E 116C 11B9;
+CD6F;CD6F;110E 116C 11BA;CD6F;110E 116C 11BA;
+CD70;CD70;110E 116C 11BB;CD70;110E 116C 11BB;
+CD71;CD71;110E 116C 11BC;CD71;110E 116C 11BC;
+CD72;CD72;110E 116C 11BD;CD72;110E 116C 11BD;
+CD73;CD73;110E 116C 11BE;CD73;110E 116C 11BE;
+CD74;CD74;110E 116C 11BF;CD74;110E 116C 11BF;
+CD75;CD75;110E 116C 11C0;CD75;110E 116C 11C0;
+CD76;CD76;110E 116C 11C1;CD76;110E 116C 11C1;
+CD77;CD77;110E 116C 11C2;CD77;110E 116C 11C2;
+CD78;CD78;110E 116D;CD78;110E 116D;
+CD79;CD79;110E 116D 11A8;CD79;110E 116D 11A8;
+CD7A;CD7A;110E 116D 11A9;CD7A;110E 116D 11A9;
+CD7B;CD7B;110E 116D 11AA;CD7B;110E 116D 11AA;
+CD7C;CD7C;110E 116D 11AB;CD7C;110E 116D 11AB;
+CD7D;CD7D;110E 116D 11AC;CD7D;110E 116D 11AC;
+CD7E;CD7E;110E 116D 11AD;CD7E;110E 116D 11AD;
+CD7F;CD7F;110E 116D 11AE;CD7F;110E 116D 11AE;
+CD80;CD80;110E 116D 11AF;CD80;110E 116D 11AF;
+CD81;CD81;110E 116D 11B0;CD81;110E 116D 11B0;
+CD82;CD82;110E 116D 11B1;CD82;110E 116D 11B1;
+CD83;CD83;110E 116D 11B2;CD83;110E 116D 11B2;
+CD84;CD84;110E 116D 11B3;CD84;110E 116D 11B3;
+CD85;CD85;110E 116D 11B4;CD85;110E 116D 11B4;
+CD86;CD86;110E 116D 11B5;CD86;110E 116D 11B5;
+CD87;CD87;110E 116D 11B6;CD87;110E 116D 11B6;
+CD88;CD88;110E 116D 11B7;CD88;110E 116D 11B7;
+CD89;CD89;110E 116D 11B8;CD89;110E 116D 11B8;
+CD8A;CD8A;110E 116D 11B9;CD8A;110E 116D 11B9;
+CD8B;CD8B;110E 116D 11BA;CD8B;110E 116D 11BA;
+CD8C;CD8C;110E 116D 11BB;CD8C;110E 116D 11BB;
+CD8D;CD8D;110E 116D 11BC;CD8D;110E 116D 11BC;
+CD8E;CD8E;110E 116D 11BD;CD8E;110E 116D 11BD;
+CD8F;CD8F;110E 116D 11BE;CD8F;110E 116D 11BE;
+CD90;CD90;110E 116D 11BF;CD90;110E 116D 11BF;
+CD91;CD91;110E 116D 11C0;CD91;110E 116D 11C0;
+CD92;CD92;110E 116D 11C1;CD92;110E 116D 11C1;
+CD93;CD93;110E 116D 11C2;CD93;110E 116D 11C2;
+CD94;CD94;110E 116E;CD94;110E 116E;
+CD95;CD95;110E 116E 11A8;CD95;110E 116E 11A8;
+CD96;CD96;110E 116E 11A9;CD96;110E 116E 11A9;
+CD97;CD97;110E 116E 11AA;CD97;110E 116E 11AA;
+CD98;CD98;110E 116E 11AB;CD98;110E 116E 11AB;
+CD99;CD99;110E 116E 11AC;CD99;110E 116E 11AC;
+CD9A;CD9A;110E 116E 11AD;CD9A;110E 116E 11AD;
+CD9B;CD9B;110E 116E 11AE;CD9B;110E 116E 11AE;
+CD9C;CD9C;110E 116E 11AF;CD9C;110E 116E 11AF;
+CD9D;CD9D;110E 116E 11B0;CD9D;110E 116E 11B0;
+CD9E;CD9E;110E 116E 11B1;CD9E;110E 116E 11B1;
+CD9F;CD9F;110E 116E 11B2;CD9F;110E 116E 11B2;
+CDA0;CDA0;110E 116E 11B3;CDA0;110E 116E 11B3;
+CDA1;CDA1;110E 116E 11B4;CDA1;110E 116E 11B4;
+CDA2;CDA2;110E 116E 11B5;CDA2;110E 116E 11B5;
+CDA3;CDA3;110E 116E 11B6;CDA3;110E 116E 11B6;
+CDA4;CDA4;110E 116E 11B7;CDA4;110E 116E 11B7;
+CDA5;CDA5;110E 116E 11B8;CDA5;110E 116E 11B8;
+CDA6;CDA6;110E 116E 11B9;CDA6;110E 116E 11B9;
+CDA7;CDA7;110E 116E 11BA;CDA7;110E 116E 11BA;
+CDA8;CDA8;110E 116E 11BB;CDA8;110E 116E 11BB;
+CDA9;CDA9;110E 116E 11BC;CDA9;110E 116E 11BC;
+CDAA;CDAA;110E 116E 11BD;CDAA;110E 116E 11BD;
+CDAB;CDAB;110E 116E 11BE;CDAB;110E 116E 11BE;
+CDAC;CDAC;110E 116E 11BF;CDAC;110E 116E 11BF;
+CDAD;CDAD;110E 116E 11C0;CDAD;110E 116E 11C0;
+CDAE;CDAE;110E 116E 11C1;CDAE;110E 116E 11C1;
+CDAF;CDAF;110E 116E 11C2;CDAF;110E 116E 11C2;
+CDB0;CDB0;110E 116F;CDB0;110E 116F;
+CDB1;CDB1;110E 116F 11A8;CDB1;110E 116F 11A8;
+CDB2;CDB2;110E 116F 11A9;CDB2;110E 116F 11A9;
+CDB3;CDB3;110E 116F 11AA;CDB3;110E 116F 11AA;
+CDB4;CDB4;110E 116F 11AB;CDB4;110E 116F 11AB;
+CDB5;CDB5;110E 116F 11AC;CDB5;110E 116F 11AC;
+CDB6;CDB6;110E 116F 11AD;CDB6;110E 116F 11AD;
+CDB7;CDB7;110E 116F 11AE;CDB7;110E 116F 11AE;
+CDB8;CDB8;110E 116F 11AF;CDB8;110E 116F 11AF;
+CDB9;CDB9;110E 116F 11B0;CDB9;110E 116F 11B0;
+CDBA;CDBA;110E 116F 11B1;CDBA;110E 116F 11B1;
+CDBB;CDBB;110E 116F 11B2;CDBB;110E 116F 11B2;
+CDBC;CDBC;110E 116F 11B3;CDBC;110E 116F 11B3;
+CDBD;CDBD;110E 116F 11B4;CDBD;110E 116F 11B4;
+CDBE;CDBE;110E 116F 11B5;CDBE;110E 116F 11B5;
+CDBF;CDBF;110E 116F 11B6;CDBF;110E 116F 11B6;
+CDC0;CDC0;110E 116F 11B7;CDC0;110E 116F 11B7;
+CDC1;CDC1;110E 116F 11B8;CDC1;110E 116F 11B8;
+CDC2;CDC2;110E 116F 11B9;CDC2;110E 116F 11B9;
+CDC3;CDC3;110E 116F 11BA;CDC3;110E 116F 11BA;
+CDC4;CDC4;110E 116F 11BB;CDC4;110E 116F 11BB;
+CDC5;CDC5;110E 116F 11BC;CDC5;110E 116F 11BC;
+CDC6;CDC6;110E 116F 11BD;CDC6;110E 116F 11BD;
+CDC7;CDC7;110E 116F 11BE;CDC7;110E 116F 11BE;
+CDC8;CDC8;110E 116F 11BF;CDC8;110E 116F 11BF;
+CDC9;CDC9;110E 116F 11C0;CDC9;110E 116F 11C0;
+CDCA;CDCA;110E 116F 11C1;CDCA;110E 116F 11C1;
+CDCB;CDCB;110E 116F 11C2;CDCB;110E 116F 11C2;
+CDCC;CDCC;110E 1170;CDCC;110E 1170;
+CDCD;CDCD;110E 1170 11A8;CDCD;110E 1170 11A8;
+CDCE;CDCE;110E 1170 11A9;CDCE;110E 1170 11A9;
+CDCF;CDCF;110E 1170 11AA;CDCF;110E 1170 11AA;
+CDD0;CDD0;110E 1170 11AB;CDD0;110E 1170 11AB;
+CDD1;CDD1;110E 1170 11AC;CDD1;110E 1170 11AC;
+CDD2;CDD2;110E 1170 11AD;CDD2;110E 1170 11AD;
+CDD3;CDD3;110E 1170 11AE;CDD3;110E 1170 11AE;
+CDD4;CDD4;110E 1170 11AF;CDD4;110E 1170 11AF;
+CDD5;CDD5;110E 1170 11B0;CDD5;110E 1170 11B0;
+CDD6;CDD6;110E 1170 11B1;CDD6;110E 1170 11B1;
+CDD7;CDD7;110E 1170 11B2;CDD7;110E 1170 11B2;
+CDD8;CDD8;110E 1170 11B3;CDD8;110E 1170 11B3;
+CDD9;CDD9;110E 1170 11B4;CDD9;110E 1170 11B4;
+CDDA;CDDA;110E 1170 11B5;CDDA;110E 1170 11B5;
+CDDB;CDDB;110E 1170 11B6;CDDB;110E 1170 11B6;
+CDDC;CDDC;110E 1170 11B7;CDDC;110E 1170 11B7;
+CDDD;CDDD;110E 1170 11B8;CDDD;110E 1170 11B8;
+CDDE;CDDE;110E 1170 11B9;CDDE;110E 1170 11B9;
+CDDF;CDDF;110E 1170 11BA;CDDF;110E 1170 11BA;
+CDE0;CDE0;110E 1170 11BB;CDE0;110E 1170 11BB;
+CDE1;CDE1;110E 1170 11BC;CDE1;110E 1170 11BC;
+CDE2;CDE2;110E 1170 11BD;CDE2;110E 1170 11BD;
+CDE3;CDE3;110E 1170 11BE;CDE3;110E 1170 11BE;
+CDE4;CDE4;110E 1170 11BF;CDE4;110E 1170 11BF;
+CDE5;CDE5;110E 1170 11C0;CDE5;110E 1170 11C0;
+CDE6;CDE6;110E 1170 11C1;CDE6;110E 1170 11C1;
+CDE7;CDE7;110E 1170 11C2;CDE7;110E 1170 11C2;
+CDE8;CDE8;110E 1171;CDE8;110E 1171;
+CDE9;CDE9;110E 1171 11A8;CDE9;110E 1171 11A8;
+CDEA;CDEA;110E 1171 11A9;CDEA;110E 1171 11A9;
+CDEB;CDEB;110E 1171 11AA;CDEB;110E 1171 11AA;
+CDEC;CDEC;110E 1171 11AB;CDEC;110E 1171 11AB;
+CDED;CDED;110E 1171 11AC;CDED;110E 1171 11AC;
+CDEE;CDEE;110E 1171 11AD;CDEE;110E 1171 11AD;
+CDEF;CDEF;110E 1171 11AE;CDEF;110E 1171 11AE;
+CDF0;CDF0;110E 1171 11AF;CDF0;110E 1171 11AF;
+CDF1;CDF1;110E 1171 11B0;CDF1;110E 1171 11B0;
+CDF2;CDF2;110E 1171 11B1;CDF2;110E 1171 11B1;
+CDF3;CDF3;110E 1171 11B2;CDF3;110E 1171 11B2;
+CDF4;CDF4;110E 1171 11B3;CDF4;110E 1171 11B3;
+CDF5;CDF5;110E 1171 11B4;CDF5;110E 1171 11B4;
+CDF6;CDF6;110E 1171 11B5;CDF6;110E 1171 11B5;
+CDF7;CDF7;110E 1171 11B6;CDF7;110E 1171 11B6;
+CDF8;CDF8;110E 1171 11B7;CDF8;110E 1171 11B7;
+CDF9;CDF9;110E 1171 11B8;CDF9;110E 1171 11B8;
+CDFA;CDFA;110E 1171 11B9;CDFA;110E 1171 11B9;
+CDFB;CDFB;110E 1171 11BA;CDFB;110E 1171 11BA;
+CDFC;CDFC;110E 1171 11BB;CDFC;110E 1171 11BB;
+CDFD;CDFD;110E 1171 11BC;CDFD;110E 1171 11BC;
+CDFE;CDFE;110E 1171 11BD;CDFE;110E 1171 11BD;
+CDFF;CDFF;110E 1171 11BE;CDFF;110E 1171 11BE;
+CE00;CE00;110E 1171 11BF;CE00;110E 1171 11BF;
+CE01;CE01;110E 1171 11C0;CE01;110E 1171 11C0;
+CE02;CE02;110E 1171 11C1;CE02;110E 1171 11C1;
+CE03;CE03;110E 1171 11C2;CE03;110E 1171 11C2;
+CE04;CE04;110E 1172;CE04;110E 1172;
+CE05;CE05;110E 1172 11A8;CE05;110E 1172 11A8;
+CE06;CE06;110E 1172 11A9;CE06;110E 1172 11A9;
+CE07;CE07;110E 1172 11AA;CE07;110E 1172 11AA;
+CE08;CE08;110E 1172 11AB;CE08;110E 1172 11AB;
+CE09;CE09;110E 1172 11AC;CE09;110E 1172 11AC;
+CE0A;CE0A;110E 1172 11AD;CE0A;110E 1172 11AD;
+CE0B;CE0B;110E 1172 11AE;CE0B;110E 1172 11AE;
+CE0C;CE0C;110E 1172 11AF;CE0C;110E 1172 11AF;
+CE0D;CE0D;110E 1172 11B0;CE0D;110E 1172 11B0;
+CE0E;CE0E;110E 1172 11B1;CE0E;110E 1172 11B1;
+CE0F;CE0F;110E 1172 11B2;CE0F;110E 1172 11B2;
+CE10;CE10;110E 1172 11B3;CE10;110E 1172 11B3;
+CE11;CE11;110E 1172 11B4;CE11;110E 1172 11B4;
+CE12;CE12;110E 1172 11B5;CE12;110E 1172 11B5;
+CE13;CE13;110E 1172 11B6;CE13;110E 1172 11B6;
+CE14;CE14;110E 1172 11B7;CE14;110E 1172 11B7;
+CE15;CE15;110E 1172 11B8;CE15;110E 1172 11B8;
+CE16;CE16;110E 1172 11B9;CE16;110E 1172 11B9;
+CE17;CE17;110E 1172 11BA;CE17;110E 1172 11BA;
+CE18;CE18;110E 1172 11BB;CE18;110E 1172 11BB;
+CE19;CE19;110E 1172 11BC;CE19;110E 1172 11BC;
+CE1A;CE1A;110E 1172 11BD;CE1A;110E 1172 11BD;
+CE1B;CE1B;110E 1172 11BE;CE1B;110E 1172 11BE;
+CE1C;CE1C;110E 1172 11BF;CE1C;110E 1172 11BF;
+CE1D;CE1D;110E 1172 11C0;CE1D;110E 1172 11C0;
+CE1E;CE1E;110E 1172 11C1;CE1E;110E 1172 11C1;
+CE1F;CE1F;110E 1172 11C2;CE1F;110E 1172 11C2;
+CE20;CE20;110E 1173;CE20;110E 1173;
+CE21;CE21;110E 1173 11A8;CE21;110E 1173 11A8;
+CE22;CE22;110E 1173 11A9;CE22;110E 1173 11A9;
+CE23;CE23;110E 1173 11AA;CE23;110E 1173 11AA;
+CE24;CE24;110E 1173 11AB;CE24;110E 1173 11AB;
+CE25;CE25;110E 1173 11AC;CE25;110E 1173 11AC;
+CE26;CE26;110E 1173 11AD;CE26;110E 1173 11AD;
+CE27;CE27;110E 1173 11AE;CE27;110E 1173 11AE;
+CE28;CE28;110E 1173 11AF;CE28;110E 1173 11AF;
+CE29;CE29;110E 1173 11B0;CE29;110E 1173 11B0;
+CE2A;CE2A;110E 1173 11B1;CE2A;110E 1173 11B1;
+CE2B;CE2B;110E 1173 11B2;CE2B;110E 1173 11B2;
+CE2C;CE2C;110E 1173 11B3;CE2C;110E 1173 11B3;
+CE2D;CE2D;110E 1173 11B4;CE2D;110E 1173 11B4;
+CE2E;CE2E;110E 1173 11B5;CE2E;110E 1173 11B5;
+CE2F;CE2F;110E 1173 11B6;CE2F;110E 1173 11B6;
+CE30;CE30;110E 1173 11B7;CE30;110E 1173 11B7;
+CE31;CE31;110E 1173 11B8;CE31;110E 1173 11B8;
+CE32;CE32;110E 1173 11B9;CE32;110E 1173 11B9;
+CE33;CE33;110E 1173 11BA;CE33;110E 1173 11BA;
+CE34;CE34;110E 1173 11BB;CE34;110E 1173 11BB;
+CE35;CE35;110E 1173 11BC;CE35;110E 1173 11BC;
+CE36;CE36;110E 1173 11BD;CE36;110E 1173 11BD;
+CE37;CE37;110E 1173 11BE;CE37;110E 1173 11BE;
+CE38;CE38;110E 1173 11BF;CE38;110E 1173 11BF;
+CE39;CE39;110E 1173 11C0;CE39;110E 1173 11C0;
+CE3A;CE3A;110E 1173 11C1;CE3A;110E 1173 11C1;
+CE3B;CE3B;110E 1173 11C2;CE3B;110E 1173 11C2;
+CE3C;CE3C;110E 1174;CE3C;110E 1174;
+CE3D;CE3D;110E 1174 11A8;CE3D;110E 1174 11A8;
+CE3E;CE3E;110E 1174 11A9;CE3E;110E 1174 11A9;
+CE3F;CE3F;110E 1174 11AA;CE3F;110E 1174 11AA;
+CE40;CE40;110E 1174 11AB;CE40;110E 1174 11AB;
+CE41;CE41;110E 1174 11AC;CE41;110E 1174 11AC;
+CE42;CE42;110E 1174 11AD;CE42;110E 1174 11AD;
+CE43;CE43;110E 1174 11AE;CE43;110E 1174 11AE;
+CE44;CE44;110E 1174 11AF;CE44;110E 1174 11AF;
+CE45;CE45;110E 1174 11B0;CE45;110E 1174 11B0;
+CE46;CE46;110E 1174 11B1;CE46;110E 1174 11B1;
+CE47;CE47;110E 1174 11B2;CE47;110E 1174 11B2;
+CE48;CE48;110E 1174 11B3;CE48;110E 1174 11B3;
+CE49;CE49;110E 1174 11B4;CE49;110E 1174 11B4;
+CE4A;CE4A;110E 1174 11B5;CE4A;110E 1174 11B5;
+CE4B;CE4B;110E 1174 11B6;CE4B;110E 1174 11B6;
+CE4C;CE4C;110E 1174 11B7;CE4C;110E 1174 11B7;
+CE4D;CE4D;110E 1174 11B8;CE4D;110E 1174 11B8;
+CE4E;CE4E;110E 1174 11B9;CE4E;110E 1174 11B9;
+CE4F;CE4F;110E 1174 11BA;CE4F;110E 1174 11BA;
+CE50;CE50;110E 1174 11BB;CE50;110E 1174 11BB;
+CE51;CE51;110E 1174 11BC;CE51;110E 1174 11BC;
+CE52;CE52;110E 1174 11BD;CE52;110E 1174 11BD;
+CE53;CE53;110E 1174 11BE;CE53;110E 1174 11BE;
+CE54;CE54;110E 1174 11BF;CE54;110E 1174 11BF;
+CE55;CE55;110E 1174 11C0;CE55;110E 1174 11C0;
+CE56;CE56;110E 1174 11C1;CE56;110E 1174 11C1;
+CE57;CE57;110E 1174 11C2;CE57;110E 1174 11C2;
+CE58;CE58;110E 1175;CE58;110E 1175;
+CE59;CE59;110E 1175 11A8;CE59;110E 1175 11A8;
+CE5A;CE5A;110E 1175 11A9;CE5A;110E 1175 11A9;
+CE5B;CE5B;110E 1175 11AA;CE5B;110E 1175 11AA;
+CE5C;CE5C;110E 1175 11AB;CE5C;110E 1175 11AB;
+CE5D;CE5D;110E 1175 11AC;CE5D;110E 1175 11AC;
+CE5E;CE5E;110E 1175 11AD;CE5E;110E 1175 11AD;
+CE5F;CE5F;110E 1175 11AE;CE5F;110E 1175 11AE;
+CE60;CE60;110E 1175 11AF;CE60;110E 1175 11AF;
+CE61;CE61;110E 1175 11B0;CE61;110E 1175 11B0;
+CE62;CE62;110E 1175 11B1;CE62;110E 1175 11B1;
+CE63;CE63;110E 1175 11B2;CE63;110E 1175 11B2;
+CE64;CE64;110E 1175 11B3;CE64;110E 1175 11B3;
+CE65;CE65;110E 1175 11B4;CE65;110E 1175 11B4;
+CE66;CE66;110E 1175 11B5;CE66;110E 1175 11B5;
+CE67;CE67;110E 1175 11B6;CE67;110E 1175 11B6;
+CE68;CE68;110E 1175 11B7;CE68;110E 1175 11B7;
+CE69;CE69;110E 1175 11B8;CE69;110E 1175 11B8;
+CE6A;CE6A;110E 1175 11B9;CE6A;110E 1175 11B9;
+CE6B;CE6B;110E 1175 11BA;CE6B;110E 1175 11BA;
+CE6C;CE6C;110E 1175 11BB;CE6C;110E 1175 11BB;
+CE6D;CE6D;110E 1175 11BC;CE6D;110E 1175 11BC;
+CE6E;CE6E;110E 1175 11BD;CE6E;110E 1175 11BD;
+CE6F;CE6F;110E 1175 11BE;CE6F;110E 1175 11BE;
+CE70;CE70;110E 1175 11BF;CE70;110E 1175 11BF;
+CE71;CE71;110E 1175 11C0;CE71;110E 1175 11C0;
+CE72;CE72;110E 1175 11C1;CE72;110E 1175 11C1;
+CE73;CE73;110E 1175 11C2;CE73;110E 1175 11C2;
+CE74;CE74;110F 1161;CE74;110F 1161;
+CE75;CE75;110F 1161 11A8;CE75;110F 1161 11A8;
+CE76;CE76;110F 1161 11A9;CE76;110F 1161 11A9;
+CE77;CE77;110F 1161 11AA;CE77;110F 1161 11AA;
+CE78;CE78;110F 1161 11AB;CE78;110F 1161 11AB;
+CE79;CE79;110F 1161 11AC;CE79;110F 1161 11AC;
+CE7A;CE7A;110F 1161 11AD;CE7A;110F 1161 11AD;
+CE7B;CE7B;110F 1161 11AE;CE7B;110F 1161 11AE;
+CE7C;CE7C;110F 1161 11AF;CE7C;110F 1161 11AF;
+CE7D;CE7D;110F 1161 11B0;CE7D;110F 1161 11B0;
+CE7E;CE7E;110F 1161 11B1;CE7E;110F 1161 11B1;
+CE7F;CE7F;110F 1161 11B2;CE7F;110F 1161 11B2;
+CE80;CE80;110F 1161 11B3;CE80;110F 1161 11B3;
+CE81;CE81;110F 1161 11B4;CE81;110F 1161 11B4;
+CE82;CE82;110F 1161 11B5;CE82;110F 1161 11B5;
+CE83;CE83;110F 1161 11B6;CE83;110F 1161 11B6;
+CE84;CE84;110F 1161 11B7;CE84;110F 1161 11B7;
+CE85;CE85;110F 1161 11B8;CE85;110F 1161 11B8;
+CE86;CE86;110F 1161 11B9;CE86;110F 1161 11B9;
+CE87;CE87;110F 1161 11BA;CE87;110F 1161 11BA;
+CE88;CE88;110F 1161 11BB;CE88;110F 1161 11BB;
+CE89;CE89;110F 1161 11BC;CE89;110F 1161 11BC;
+CE8A;CE8A;110F 1161 11BD;CE8A;110F 1161 11BD;
+CE8B;CE8B;110F 1161 11BE;CE8B;110F 1161 11BE;
+CE8C;CE8C;110F 1161 11BF;CE8C;110F 1161 11BF;
+CE8D;CE8D;110F 1161 11C0;CE8D;110F 1161 11C0;
+CE8E;CE8E;110F 1161 11C1;CE8E;110F 1161 11C1;
+CE8F;CE8F;110F 1161 11C2;CE8F;110F 1161 11C2;
+CE90;CE90;110F 1162;CE90;110F 1162;
+CE91;CE91;110F 1162 11A8;CE91;110F 1162 11A8;
+CE92;CE92;110F 1162 11A9;CE92;110F 1162 11A9;
+CE93;CE93;110F 1162 11AA;CE93;110F 1162 11AA;
+CE94;CE94;110F 1162 11AB;CE94;110F 1162 11AB;
+CE95;CE95;110F 1162 11AC;CE95;110F 1162 11AC;
+CE96;CE96;110F 1162 11AD;CE96;110F 1162 11AD;
+CE97;CE97;110F 1162 11AE;CE97;110F 1162 11AE;
+CE98;CE98;110F 1162 11AF;CE98;110F 1162 11AF;
+CE99;CE99;110F 1162 11B0;CE99;110F 1162 11B0;
+CE9A;CE9A;110F 1162 11B1;CE9A;110F 1162 11B1;
+CE9B;CE9B;110F 1162 11B2;CE9B;110F 1162 11B2;
+CE9C;CE9C;110F 1162 11B3;CE9C;110F 1162 11B3;
+CE9D;CE9D;110F 1162 11B4;CE9D;110F 1162 11B4;
+CE9E;CE9E;110F 1162 11B5;CE9E;110F 1162 11B5;
+CE9F;CE9F;110F 1162 11B6;CE9F;110F 1162 11B6;
+CEA0;CEA0;110F 1162 11B7;CEA0;110F 1162 11B7;
+CEA1;CEA1;110F 1162 11B8;CEA1;110F 1162 11B8;
+CEA2;CEA2;110F 1162 11B9;CEA2;110F 1162 11B9;
+CEA3;CEA3;110F 1162 11BA;CEA3;110F 1162 11BA;
+CEA4;CEA4;110F 1162 11BB;CEA4;110F 1162 11BB;
+CEA5;CEA5;110F 1162 11BC;CEA5;110F 1162 11BC;
+CEA6;CEA6;110F 1162 11BD;CEA6;110F 1162 11BD;
+CEA7;CEA7;110F 1162 11BE;CEA7;110F 1162 11BE;
+CEA8;CEA8;110F 1162 11BF;CEA8;110F 1162 11BF;
+CEA9;CEA9;110F 1162 11C0;CEA9;110F 1162 11C0;
+CEAA;CEAA;110F 1162 11C1;CEAA;110F 1162 11C1;
+CEAB;CEAB;110F 1162 11C2;CEAB;110F 1162 11C2;
+CEAC;CEAC;110F 1163;CEAC;110F 1163;
+CEAD;CEAD;110F 1163 11A8;CEAD;110F 1163 11A8;
+CEAE;CEAE;110F 1163 11A9;CEAE;110F 1163 11A9;
+CEAF;CEAF;110F 1163 11AA;CEAF;110F 1163 11AA;
+CEB0;CEB0;110F 1163 11AB;CEB0;110F 1163 11AB;
+CEB1;CEB1;110F 1163 11AC;CEB1;110F 1163 11AC;
+CEB2;CEB2;110F 1163 11AD;CEB2;110F 1163 11AD;
+CEB3;CEB3;110F 1163 11AE;CEB3;110F 1163 11AE;
+CEB4;CEB4;110F 1163 11AF;CEB4;110F 1163 11AF;
+CEB5;CEB5;110F 1163 11B0;CEB5;110F 1163 11B0;
+CEB6;CEB6;110F 1163 11B1;CEB6;110F 1163 11B1;
+CEB7;CEB7;110F 1163 11B2;CEB7;110F 1163 11B2;
+CEB8;CEB8;110F 1163 11B3;CEB8;110F 1163 11B3;
+CEB9;CEB9;110F 1163 11B4;CEB9;110F 1163 11B4;
+CEBA;CEBA;110F 1163 11B5;CEBA;110F 1163 11B5;
+CEBB;CEBB;110F 1163 11B6;CEBB;110F 1163 11B6;
+CEBC;CEBC;110F 1163 11B7;CEBC;110F 1163 11B7;
+CEBD;CEBD;110F 1163 11B8;CEBD;110F 1163 11B8;
+CEBE;CEBE;110F 1163 11B9;CEBE;110F 1163 11B9;
+CEBF;CEBF;110F 1163 11BA;CEBF;110F 1163 11BA;
+CEC0;CEC0;110F 1163 11BB;CEC0;110F 1163 11BB;
+CEC1;CEC1;110F 1163 11BC;CEC1;110F 1163 11BC;
+CEC2;CEC2;110F 1163 11BD;CEC2;110F 1163 11BD;
+CEC3;CEC3;110F 1163 11BE;CEC3;110F 1163 11BE;
+CEC4;CEC4;110F 1163 11BF;CEC4;110F 1163 11BF;
+CEC5;CEC5;110F 1163 11C0;CEC5;110F 1163 11C0;
+CEC6;CEC6;110F 1163 11C1;CEC6;110F 1163 11C1;
+CEC7;CEC7;110F 1163 11C2;CEC7;110F 1163 11C2;
+CEC8;CEC8;110F 1164;CEC8;110F 1164;
+CEC9;CEC9;110F 1164 11A8;CEC9;110F 1164 11A8;
+CECA;CECA;110F 1164 11A9;CECA;110F 1164 11A9;
+CECB;CECB;110F 1164 11AA;CECB;110F 1164 11AA;
+CECC;CECC;110F 1164 11AB;CECC;110F 1164 11AB;
+CECD;CECD;110F 1164 11AC;CECD;110F 1164 11AC;
+CECE;CECE;110F 1164 11AD;CECE;110F 1164 11AD;
+CECF;CECF;110F 1164 11AE;CECF;110F 1164 11AE;
+CED0;CED0;110F 1164 11AF;CED0;110F 1164 11AF;
+CED1;CED1;110F 1164 11B0;CED1;110F 1164 11B0;
+CED2;CED2;110F 1164 11B1;CED2;110F 1164 11B1;
+CED3;CED3;110F 1164 11B2;CED3;110F 1164 11B2;
+CED4;CED4;110F 1164 11B3;CED4;110F 1164 11B3;
+CED5;CED5;110F 1164 11B4;CED5;110F 1164 11B4;
+CED6;CED6;110F 1164 11B5;CED6;110F 1164 11B5;
+CED7;CED7;110F 1164 11B6;CED7;110F 1164 11B6;
+CED8;CED8;110F 1164 11B7;CED8;110F 1164 11B7;
+CED9;CED9;110F 1164 11B8;CED9;110F 1164 11B8;
+CEDA;CEDA;110F 1164 11B9;CEDA;110F 1164 11B9;
+CEDB;CEDB;110F 1164 11BA;CEDB;110F 1164 11BA;
+CEDC;CEDC;110F 1164 11BB;CEDC;110F 1164 11BB;
+CEDD;CEDD;110F 1164 11BC;CEDD;110F 1164 11BC;
+CEDE;CEDE;110F 1164 11BD;CEDE;110F 1164 11BD;
+CEDF;CEDF;110F 1164 11BE;CEDF;110F 1164 11BE;
+CEE0;CEE0;110F 1164 11BF;CEE0;110F 1164 11BF;
+CEE1;CEE1;110F 1164 11C0;CEE1;110F 1164 11C0;
+CEE2;CEE2;110F 1164 11C1;CEE2;110F 1164 11C1;
+CEE3;CEE3;110F 1164 11C2;CEE3;110F 1164 11C2;
+CEE4;CEE4;110F 1165;CEE4;110F 1165;
+CEE5;CEE5;110F 1165 11A8;CEE5;110F 1165 11A8;
+CEE6;CEE6;110F 1165 11A9;CEE6;110F 1165 11A9;
+CEE7;CEE7;110F 1165 11AA;CEE7;110F 1165 11AA;
+CEE8;CEE8;110F 1165 11AB;CEE8;110F 1165 11AB;
+CEE9;CEE9;110F 1165 11AC;CEE9;110F 1165 11AC;
+CEEA;CEEA;110F 1165 11AD;CEEA;110F 1165 11AD;
+CEEB;CEEB;110F 1165 11AE;CEEB;110F 1165 11AE;
+CEEC;CEEC;110F 1165 11AF;CEEC;110F 1165 11AF;
+CEED;CEED;110F 1165 11B0;CEED;110F 1165 11B0;
+CEEE;CEEE;110F 1165 11B1;CEEE;110F 1165 11B1;
+CEEF;CEEF;110F 1165 11B2;CEEF;110F 1165 11B2;
+CEF0;CEF0;110F 1165 11B3;CEF0;110F 1165 11B3;
+CEF1;CEF1;110F 1165 11B4;CEF1;110F 1165 11B4;
+CEF2;CEF2;110F 1165 11B5;CEF2;110F 1165 11B5;
+CEF3;CEF3;110F 1165 11B6;CEF3;110F 1165 11B6;
+CEF4;CEF4;110F 1165 11B7;CEF4;110F 1165 11B7;
+CEF5;CEF5;110F 1165 11B8;CEF5;110F 1165 11B8;
+CEF6;CEF6;110F 1165 11B9;CEF6;110F 1165 11B9;
+CEF7;CEF7;110F 1165 11BA;CEF7;110F 1165 11BA;
+CEF8;CEF8;110F 1165 11BB;CEF8;110F 1165 11BB;
+CEF9;CEF9;110F 1165 11BC;CEF9;110F 1165 11BC;
+CEFA;CEFA;110F 1165 11BD;CEFA;110F 1165 11BD;
+CEFB;CEFB;110F 1165 11BE;CEFB;110F 1165 11BE;
+CEFC;CEFC;110F 1165 11BF;CEFC;110F 1165 11BF;
+CEFD;CEFD;110F 1165 11C0;CEFD;110F 1165 11C0;
+CEFE;CEFE;110F 1165 11C1;CEFE;110F 1165 11C1;
+CEFF;CEFF;110F 1165 11C2;CEFF;110F 1165 11C2;
+CF00;CF00;110F 1166;CF00;110F 1166;
+CF01;CF01;110F 1166 11A8;CF01;110F 1166 11A8;
+CF02;CF02;110F 1166 11A9;CF02;110F 1166 11A9;
+CF03;CF03;110F 1166 11AA;CF03;110F 1166 11AA;
+CF04;CF04;110F 1166 11AB;CF04;110F 1166 11AB;
+CF05;CF05;110F 1166 11AC;CF05;110F 1166 11AC;
+CF06;CF06;110F 1166 11AD;CF06;110F 1166 11AD;
+CF07;CF07;110F 1166 11AE;CF07;110F 1166 11AE;
+CF08;CF08;110F 1166 11AF;CF08;110F 1166 11AF;
+CF09;CF09;110F 1166 11B0;CF09;110F 1166 11B0;
+CF0A;CF0A;110F 1166 11B1;CF0A;110F 1166 11B1;
+CF0B;CF0B;110F 1166 11B2;CF0B;110F 1166 11B2;
+CF0C;CF0C;110F 1166 11B3;CF0C;110F 1166 11B3;
+CF0D;CF0D;110F 1166 11B4;CF0D;110F 1166 11B4;
+CF0E;CF0E;110F 1166 11B5;CF0E;110F 1166 11B5;
+CF0F;CF0F;110F 1166 11B6;CF0F;110F 1166 11B6;
+CF10;CF10;110F 1166 11B7;CF10;110F 1166 11B7;
+CF11;CF11;110F 1166 11B8;CF11;110F 1166 11B8;
+CF12;CF12;110F 1166 11B9;CF12;110F 1166 11B9;
+CF13;CF13;110F 1166 11BA;CF13;110F 1166 11BA;
+CF14;CF14;110F 1166 11BB;CF14;110F 1166 11BB;
+CF15;CF15;110F 1166 11BC;CF15;110F 1166 11BC;
+CF16;CF16;110F 1166 11BD;CF16;110F 1166 11BD;
+CF17;CF17;110F 1166 11BE;CF17;110F 1166 11BE;
+CF18;CF18;110F 1166 11BF;CF18;110F 1166 11BF;
+CF19;CF19;110F 1166 11C0;CF19;110F 1166 11C0;
+CF1A;CF1A;110F 1166 11C1;CF1A;110F 1166 11C1;
+CF1B;CF1B;110F 1166 11C2;CF1B;110F 1166 11C2;
+CF1C;CF1C;110F 1167;CF1C;110F 1167;
+CF1D;CF1D;110F 1167 11A8;CF1D;110F 1167 11A8;
+CF1E;CF1E;110F 1167 11A9;CF1E;110F 1167 11A9;
+CF1F;CF1F;110F 1167 11AA;CF1F;110F 1167 11AA;
+CF20;CF20;110F 1167 11AB;CF20;110F 1167 11AB;
+CF21;CF21;110F 1167 11AC;CF21;110F 1167 11AC;
+CF22;CF22;110F 1167 11AD;CF22;110F 1167 11AD;
+CF23;CF23;110F 1167 11AE;CF23;110F 1167 11AE;
+CF24;CF24;110F 1167 11AF;CF24;110F 1167 11AF;
+CF25;CF25;110F 1167 11B0;CF25;110F 1167 11B0;
+CF26;CF26;110F 1167 11B1;CF26;110F 1167 11B1;
+CF27;CF27;110F 1167 11B2;CF27;110F 1167 11B2;
+CF28;CF28;110F 1167 11B3;CF28;110F 1167 11B3;
+CF29;CF29;110F 1167 11B4;CF29;110F 1167 11B4;
+CF2A;CF2A;110F 1167 11B5;CF2A;110F 1167 11B5;
+CF2B;CF2B;110F 1167 11B6;CF2B;110F 1167 11B6;
+CF2C;CF2C;110F 1167 11B7;CF2C;110F 1167 11B7;
+CF2D;CF2D;110F 1167 11B8;CF2D;110F 1167 11B8;
+CF2E;CF2E;110F 1167 11B9;CF2E;110F 1167 11B9;
+CF2F;CF2F;110F 1167 11BA;CF2F;110F 1167 11BA;
+CF30;CF30;110F 1167 11BB;CF30;110F 1167 11BB;
+CF31;CF31;110F 1167 11BC;CF31;110F 1167 11BC;
+CF32;CF32;110F 1167 11BD;CF32;110F 1167 11BD;
+CF33;CF33;110F 1167 11BE;CF33;110F 1167 11BE;
+CF34;CF34;110F 1167 11BF;CF34;110F 1167 11BF;
+CF35;CF35;110F 1167 11C0;CF35;110F 1167 11C0;
+CF36;CF36;110F 1167 11C1;CF36;110F 1167 11C1;
+CF37;CF37;110F 1167 11C2;CF37;110F 1167 11C2;
+CF38;CF38;110F 1168;CF38;110F 1168;
+CF39;CF39;110F 1168 11A8;CF39;110F 1168 11A8;
+CF3A;CF3A;110F 1168 11A9;CF3A;110F 1168 11A9;
+CF3B;CF3B;110F 1168 11AA;CF3B;110F 1168 11AA;
+CF3C;CF3C;110F 1168 11AB;CF3C;110F 1168 11AB;
+CF3D;CF3D;110F 1168 11AC;CF3D;110F 1168 11AC;
+CF3E;CF3E;110F 1168 11AD;CF3E;110F 1168 11AD;
+CF3F;CF3F;110F 1168 11AE;CF3F;110F 1168 11AE;
+CF40;CF40;110F 1168 11AF;CF40;110F 1168 11AF;
+CF41;CF41;110F 1168 11B0;CF41;110F 1168 11B0;
+CF42;CF42;110F 1168 11B1;CF42;110F 1168 11B1;
+CF43;CF43;110F 1168 11B2;CF43;110F 1168 11B2;
+CF44;CF44;110F 1168 11B3;CF44;110F 1168 11B3;
+CF45;CF45;110F 1168 11B4;CF45;110F 1168 11B4;
+CF46;CF46;110F 1168 11B5;CF46;110F 1168 11B5;
+CF47;CF47;110F 1168 11B6;CF47;110F 1168 11B6;
+CF48;CF48;110F 1168 11B7;CF48;110F 1168 11B7;
+CF49;CF49;110F 1168 11B8;CF49;110F 1168 11B8;
+CF4A;CF4A;110F 1168 11B9;CF4A;110F 1168 11B9;
+CF4B;CF4B;110F 1168 11BA;CF4B;110F 1168 11BA;
+CF4C;CF4C;110F 1168 11BB;CF4C;110F 1168 11BB;
+CF4D;CF4D;110F 1168 11BC;CF4D;110F 1168 11BC;
+CF4E;CF4E;110F 1168 11BD;CF4E;110F 1168 11BD;
+CF4F;CF4F;110F 1168 11BE;CF4F;110F 1168 11BE;
+CF50;CF50;110F 1168 11BF;CF50;110F 1168 11BF;
+CF51;CF51;110F 1168 11C0;CF51;110F 1168 11C0;
+CF52;CF52;110F 1168 11C1;CF52;110F 1168 11C1;
+CF53;CF53;110F 1168 11C2;CF53;110F 1168 11C2;
+CF54;CF54;110F 1169;CF54;110F 1169;
+CF55;CF55;110F 1169 11A8;CF55;110F 1169 11A8;
+CF56;CF56;110F 1169 11A9;CF56;110F 1169 11A9;
+CF57;CF57;110F 1169 11AA;CF57;110F 1169 11AA;
+CF58;CF58;110F 1169 11AB;CF58;110F 1169 11AB;
+CF59;CF59;110F 1169 11AC;CF59;110F 1169 11AC;
+CF5A;CF5A;110F 1169 11AD;CF5A;110F 1169 11AD;
+CF5B;CF5B;110F 1169 11AE;CF5B;110F 1169 11AE;
+CF5C;CF5C;110F 1169 11AF;CF5C;110F 1169 11AF;
+CF5D;CF5D;110F 1169 11B0;CF5D;110F 1169 11B0;
+CF5E;CF5E;110F 1169 11B1;CF5E;110F 1169 11B1;
+CF5F;CF5F;110F 1169 11B2;CF5F;110F 1169 11B2;
+CF60;CF60;110F 1169 11B3;CF60;110F 1169 11B3;
+CF61;CF61;110F 1169 11B4;CF61;110F 1169 11B4;
+CF62;CF62;110F 1169 11B5;CF62;110F 1169 11B5;
+CF63;CF63;110F 1169 11B6;CF63;110F 1169 11B6;
+CF64;CF64;110F 1169 11B7;CF64;110F 1169 11B7;
+CF65;CF65;110F 1169 11B8;CF65;110F 1169 11B8;
+CF66;CF66;110F 1169 11B9;CF66;110F 1169 11B9;
+CF67;CF67;110F 1169 11BA;CF67;110F 1169 11BA;
+CF68;CF68;110F 1169 11BB;CF68;110F 1169 11BB;
+CF69;CF69;110F 1169 11BC;CF69;110F 1169 11BC;
+CF6A;CF6A;110F 1169 11BD;CF6A;110F 1169 11BD;
+CF6B;CF6B;110F 1169 11BE;CF6B;110F 1169 11BE;
+CF6C;CF6C;110F 1169 11BF;CF6C;110F 1169 11BF;
+CF6D;CF6D;110F 1169 11C0;CF6D;110F 1169 11C0;
+CF6E;CF6E;110F 1169 11C1;CF6E;110F 1169 11C1;
+CF6F;CF6F;110F 1169 11C2;CF6F;110F 1169 11C2;
+CF70;CF70;110F 116A;CF70;110F 116A;
+CF71;CF71;110F 116A 11A8;CF71;110F 116A 11A8;
+CF72;CF72;110F 116A 11A9;CF72;110F 116A 11A9;
+CF73;CF73;110F 116A 11AA;CF73;110F 116A 11AA;
+CF74;CF74;110F 116A 11AB;CF74;110F 116A 11AB;
+CF75;CF75;110F 116A 11AC;CF75;110F 116A 11AC;
+CF76;CF76;110F 116A 11AD;CF76;110F 116A 11AD;
+CF77;CF77;110F 116A 11AE;CF77;110F 116A 11AE;
+CF78;CF78;110F 116A 11AF;CF78;110F 116A 11AF;
+CF79;CF79;110F 116A 11B0;CF79;110F 116A 11B0;
+CF7A;CF7A;110F 116A 11B1;CF7A;110F 116A 11B1;
+CF7B;CF7B;110F 116A 11B2;CF7B;110F 116A 11B2;
+CF7C;CF7C;110F 116A 11B3;CF7C;110F 116A 11B3;
+CF7D;CF7D;110F 116A 11B4;CF7D;110F 116A 11B4;
+CF7E;CF7E;110F 116A 11B5;CF7E;110F 116A 11B5;
+CF7F;CF7F;110F 116A 11B6;CF7F;110F 116A 11B6;
+CF80;CF80;110F 116A 11B7;CF80;110F 116A 11B7;
+CF81;CF81;110F 116A 11B8;CF81;110F 116A 11B8;
+CF82;CF82;110F 116A 11B9;CF82;110F 116A 11B9;
+CF83;CF83;110F 116A 11BA;CF83;110F 116A 11BA;
+CF84;CF84;110F 116A 11BB;CF84;110F 116A 11BB;
+CF85;CF85;110F 116A 11BC;CF85;110F 116A 11BC;
+CF86;CF86;110F 116A 11BD;CF86;110F 116A 11BD;
+CF87;CF87;110F 116A 11BE;CF87;110F 116A 11BE;
+CF88;CF88;110F 116A 11BF;CF88;110F 116A 11BF;
+CF89;CF89;110F 116A 11C0;CF89;110F 116A 11C0;
+CF8A;CF8A;110F 116A 11C1;CF8A;110F 116A 11C1;
+CF8B;CF8B;110F 116A 11C2;CF8B;110F 116A 11C2;
+CF8C;CF8C;110F 116B;CF8C;110F 116B;
+CF8D;CF8D;110F 116B 11A8;CF8D;110F 116B 11A8;
+CF8E;CF8E;110F 116B 11A9;CF8E;110F 116B 11A9;
+CF8F;CF8F;110F 116B 11AA;CF8F;110F 116B 11AA;
+CF90;CF90;110F 116B 11AB;CF90;110F 116B 11AB;
+CF91;CF91;110F 116B 11AC;CF91;110F 116B 11AC;
+CF92;CF92;110F 116B 11AD;CF92;110F 116B 11AD;
+CF93;CF93;110F 116B 11AE;CF93;110F 116B 11AE;
+CF94;CF94;110F 116B 11AF;CF94;110F 116B 11AF;
+CF95;CF95;110F 116B 11B0;CF95;110F 116B 11B0;
+CF96;CF96;110F 116B 11B1;CF96;110F 116B 11B1;
+CF97;CF97;110F 116B 11B2;CF97;110F 116B 11B2;
+CF98;CF98;110F 116B 11B3;CF98;110F 116B 11B3;
+CF99;CF99;110F 116B 11B4;CF99;110F 116B 11B4;
+CF9A;CF9A;110F 116B 11B5;CF9A;110F 116B 11B5;
+CF9B;CF9B;110F 116B 11B6;CF9B;110F 116B 11B6;
+CF9C;CF9C;110F 116B 11B7;CF9C;110F 116B 11B7;
+CF9D;CF9D;110F 116B 11B8;CF9D;110F 116B 11B8;
+CF9E;CF9E;110F 116B 11B9;CF9E;110F 116B 11B9;
+CF9F;CF9F;110F 116B 11BA;CF9F;110F 116B 11BA;
+CFA0;CFA0;110F 116B 11BB;CFA0;110F 116B 11BB;
+CFA1;CFA1;110F 116B 11BC;CFA1;110F 116B 11BC;
+CFA2;CFA2;110F 116B 11BD;CFA2;110F 116B 11BD;
+CFA3;CFA3;110F 116B 11BE;CFA3;110F 116B 11BE;
+CFA4;CFA4;110F 116B 11BF;CFA4;110F 116B 11BF;
+CFA5;CFA5;110F 116B 11C0;CFA5;110F 116B 11C0;
+CFA6;CFA6;110F 116B 11C1;CFA6;110F 116B 11C1;
+CFA7;CFA7;110F 116B 11C2;CFA7;110F 116B 11C2;
+CFA8;CFA8;110F 116C;CFA8;110F 116C;
+CFA9;CFA9;110F 116C 11A8;CFA9;110F 116C 11A8;
+CFAA;CFAA;110F 116C 11A9;CFAA;110F 116C 11A9;
+CFAB;CFAB;110F 116C 11AA;CFAB;110F 116C 11AA;
+CFAC;CFAC;110F 116C 11AB;CFAC;110F 116C 11AB;
+CFAD;CFAD;110F 116C 11AC;CFAD;110F 116C 11AC;
+CFAE;CFAE;110F 116C 11AD;CFAE;110F 116C 11AD;
+CFAF;CFAF;110F 116C 11AE;CFAF;110F 116C 11AE;
+CFB0;CFB0;110F 116C 11AF;CFB0;110F 116C 11AF;
+CFB1;CFB1;110F 116C 11B0;CFB1;110F 116C 11B0;
+CFB2;CFB2;110F 116C 11B1;CFB2;110F 116C 11B1;
+CFB3;CFB3;110F 116C 11B2;CFB3;110F 116C 11B2;
+CFB4;CFB4;110F 116C 11B3;CFB4;110F 116C 11B3;
+CFB5;CFB5;110F 116C 11B4;CFB5;110F 116C 11B4;
+CFB6;CFB6;110F 116C 11B5;CFB6;110F 116C 11B5;
+CFB7;CFB7;110F 116C 11B6;CFB7;110F 116C 11B6;
+CFB8;CFB8;110F 116C 11B7;CFB8;110F 116C 11B7;
+CFB9;CFB9;110F 116C 11B8;CFB9;110F 116C 11B8;
+CFBA;CFBA;110F 116C 11B9;CFBA;110F 116C 11B9;
+CFBB;CFBB;110F 116C 11BA;CFBB;110F 116C 11BA;
+CFBC;CFBC;110F 116C 11BB;CFBC;110F 116C 11BB;
+CFBD;CFBD;110F 116C 11BC;CFBD;110F 116C 11BC;
+CFBE;CFBE;110F 116C 11BD;CFBE;110F 116C 11BD;
+CFBF;CFBF;110F 116C 11BE;CFBF;110F 116C 11BE;
+CFC0;CFC0;110F 116C 11BF;CFC0;110F 116C 11BF;
+CFC1;CFC1;110F 116C 11C0;CFC1;110F 116C 11C0;
+CFC2;CFC2;110F 116C 11C1;CFC2;110F 116C 11C1;
+CFC3;CFC3;110F 116C 11C2;CFC3;110F 116C 11C2;
+CFC4;CFC4;110F 116D;CFC4;110F 116D;
+CFC5;CFC5;110F 116D 11A8;CFC5;110F 116D 11A8;
+CFC6;CFC6;110F 116D 11A9;CFC6;110F 116D 11A9;
+CFC7;CFC7;110F 116D 11AA;CFC7;110F 116D 11AA;
+CFC8;CFC8;110F 116D 11AB;CFC8;110F 116D 11AB;
+CFC9;CFC9;110F 116D 11AC;CFC9;110F 116D 11AC;
+CFCA;CFCA;110F 116D 11AD;CFCA;110F 116D 11AD;
+CFCB;CFCB;110F 116D 11AE;CFCB;110F 116D 11AE;
+CFCC;CFCC;110F 116D 11AF;CFCC;110F 116D 11AF;
+CFCD;CFCD;110F 116D 11B0;CFCD;110F 116D 11B0;
+CFCE;CFCE;110F 116D 11B1;CFCE;110F 116D 11B1;
+CFCF;CFCF;110F 116D 11B2;CFCF;110F 116D 11B2;
+CFD0;CFD0;110F 116D 11B3;CFD0;110F 116D 11B3;
+CFD1;CFD1;110F 116D 11B4;CFD1;110F 116D 11B4;
+CFD2;CFD2;110F 116D 11B5;CFD2;110F 116D 11B5;
+CFD3;CFD3;110F 116D 11B6;CFD3;110F 116D 11B6;
+CFD4;CFD4;110F 116D 11B7;CFD4;110F 116D 11B7;
+CFD5;CFD5;110F 116D 11B8;CFD5;110F 116D 11B8;
+CFD6;CFD6;110F 116D 11B9;CFD6;110F 116D 11B9;
+CFD7;CFD7;110F 116D 11BA;CFD7;110F 116D 11BA;
+CFD8;CFD8;110F 116D 11BB;CFD8;110F 116D 11BB;
+CFD9;CFD9;110F 116D 11BC;CFD9;110F 116D 11BC;
+CFDA;CFDA;110F 116D 11BD;CFDA;110F 116D 11BD;
+CFDB;CFDB;110F 116D 11BE;CFDB;110F 116D 11BE;
+CFDC;CFDC;110F 116D 11BF;CFDC;110F 116D 11BF;
+CFDD;CFDD;110F 116D 11C0;CFDD;110F 116D 11C0;
+CFDE;CFDE;110F 116D 11C1;CFDE;110F 116D 11C1;
+CFDF;CFDF;110F 116D 11C2;CFDF;110F 116D 11C2;
+CFE0;CFE0;110F 116E;CFE0;110F 116E;
+CFE1;CFE1;110F 116E 11A8;CFE1;110F 116E 11A8;
+CFE2;CFE2;110F 116E 11A9;CFE2;110F 116E 11A9;
+CFE3;CFE3;110F 116E 11AA;CFE3;110F 116E 11AA;
+CFE4;CFE4;110F 116E 11AB;CFE4;110F 116E 11AB;
+CFE5;CFE5;110F 116E 11AC;CFE5;110F 116E 11AC;
+CFE6;CFE6;110F 116E 11AD;CFE6;110F 116E 11AD;
+CFE7;CFE7;110F 116E 11AE;CFE7;110F 116E 11AE;
+CFE8;CFE8;110F 116E 11AF;CFE8;110F 116E 11AF;
+CFE9;CFE9;110F 116E 11B0;CFE9;110F 116E 11B0;
+CFEA;CFEA;110F 116E 11B1;CFEA;110F 116E 11B1;
+CFEB;CFEB;110F 116E 11B2;CFEB;110F 116E 11B2;
+CFEC;CFEC;110F 116E 11B3;CFEC;110F 116E 11B3;
+CFED;CFED;110F 116E 11B4;CFED;110F 116E 11B4;
+CFEE;CFEE;110F 116E 11B5;CFEE;110F 116E 11B5;
+CFEF;CFEF;110F 116E 11B6;CFEF;110F 116E 11B6;
+CFF0;CFF0;110F 116E 11B7;CFF0;110F 116E 11B7;
+CFF1;CFF1;110F 116E 11B8;CFF1;110F 116E 11B8;
+CFF2;CFF2;110F 116E 11B9;CFF2;110F 116E 11B9;
+CFF3;CFF3;110F 116E 11BA;CFF3;110F 116E 11BA;
+CFF4;CFF4;110F 116E 11BB;CFF4;110F 116E 11BB;
+CFF5;CFF5;110F 116E 11BC;CFF5;110F 116E 11BC;
+CFF6;CFF6;110F 116E 11BD;CFF6;110F 116E 11BD;
+CFF7;CFF7;110F 116E 11BE;CFF7;110F 116E 11BE;
+CFF8;CFF8;110F 116E 11BF;CFF8;110F 116E 11BF;
+CFF9;CFF9;110F 116E 11C0;CFF9;110F 116E 11C0;
+CFFA;CFFA;110F 116E 11C1;CFFA;110F 116E 11C1;
+CFFB;CFFB;110F 116E 11C2;CFFB;110F 116E 11C2;
+CFFC;CFFC;110F 116F;CFFC;110F 116F;
+CFFD;CFFD;110F 116F 11A8;CFFD;110F 116F 11A8;
+CFFE;CFFE;110F 116F 11A9;CFFE;110F 116F 11A9;
+CFFF;CFFF;110F 116F 11AA;CFFF;110F 116F 11AA;
+D000;D000;110F 116F 11AB;D000;110F 116F 11AB;
+D001;D001;110F 116F 11AC;D001;110F 116F 11AC;
+D002;D002;110F 116F 11AD;D002;110F 116F 11AD;
+D003;D003;110F 116F 11AE;D003;110F 116F 11AE;
+D004;D004;110F 116F 11AF;D004;110F 116F 11AF;
+D005;D005;110F 116F 11B0;D005;110F 116F 11B0;
+D006;D006;110F 116F 11B1;D006;110F 116F 11B1;
+D007;D007;110F 116F 11B2;D007;110F 116F 11B2;
+D008;D008;110F 116F 11B3;D008;110F 116F 11B3;
+D009;D009;110F 116F 11B4;D009;110F 116F 11B4;
+D00A;D00A;110F 116F 11B5;D00A;110F 116F 11B5;
+D00B;D00B;110F 116F 11B6;D00B;110F 116F 11B6;
+D00C;D00C;110F 116F 11B7;D00C;110F 116F 11B7;
+D00D;D00D;110F 116F 11B8;D00D;110F 116F 11B8;
+D00E;D00E;110F 116F 11B9;D00E;110F 116F 11B9;
+D00F;D00F;110F 116F 11BA;D00F;110F 116F 11BA;
+D010;D010;110F 116F 11BB;D010;110F 116F 11BB;
+D011;D011;110F 116F 11BC;D011;110F 116F 11BC;
+D012;D012;110F 116F 11BD;D012;110F 116F 11BD;
+D013;D013;110F 116F 11BE;D013;110F 116F 11BE;
+D014;D014;110F 116F 11BF;D014;110F 116F 11BF;
+D015;D015;110F 116F 11C0;D015;110F 116F 11C0;
+D016;D016;110F 116F 11C1;D016;110F 116F 11C1;
+D017;D017;110F 116F 11C2;D017;110F 116F 11C2;
+D018;D018;110F 1170;D018;110F 1170;
+D019;D019;110F 1170 11A8;D019;110F 1170 11A8;
+D01A;D01A;110F 1170 11A9;D01A;110F 1170 11A9;
+D01B;D01B;110F 1170 11AA;D01B;110F 1170 11AA;
+D01C;D01C;110F 1170 11AB;D01C;110F 1170 11AB;
+D01D;D01D;110F 1170 11AC;D01D;110F 1170 11AC;
+D01E;D01E;110F 1170 11AD;D01E;110F 1170 11AD;
+D01F;D01F;110F 1170 11AE;D01F;110F 1170 11AE;
+D020;D020;110F 1170 11AF;D020;110F 1170 11AF;
+D021;D021;110F 1170 11B0;D021;110F 1170 11B0;
+D022;D022;110F 1170 11B1;D022;110F 1170 11B1;
+D023;D023;110F 1170 11B2;D023;110F 1170 11B2;
+D024;D024;110F 1170 11B3;D024;110F 1170 11B3;
+D025;D025;110F 1170 11B4;D025;110F 1170 11B4;
+D026;D026;110F 1170 11B5;D026;110F 1170 11B5;
+D027;D027;110F 1170 11B6;D027;110F 1170 11B6;
+D028;D028;110F 1170 11B7;D028;110F 1170 11B7;
+D029;D029;110F 1170 11B8;D029;110F 1170 11B8;
+D02A;D02A;110F 1170 11B9;D02A;110F 1170 11B9;
+D02B;D02B;110F 1170 11BA;D02B;110F 1170 11BA;
+D02C;D02C;110F 1170 11BB;D02C;110F 1170 11BB;
+D02D;D02D;110F 1170 11BC;D02D;110F 1170 11BC;
+D02E;D02E;110F 1170 11BD;D02E;110F 1170 11BD;
+D02F;D02F;110F 1170 11BE;D02F;110F 1170 11BE;
+D030;D030;110F 1170 11BF;D030;110F 1170 11BF;
+D031;D031;110F 1170 11C0;D031;110F 1170 11C0;
+D032;D032;110F 1170 11C1;D032;110F 1170 11C1;
+D033;D033;110F 1170 11C2;D033;110F 1170 11C2;
+D034;D034;110F 1171;D034;110F 1171;
+D035;D035;110F 1171 11A8;D035;110F 1171 11A8;
+D036;D036;110F 1171 11A9;D036;110F 1171 11A9;
+D037;D037;110F 1171 11AA;D037;110F 1171 11AA;
+D038;D038;110F 1171 11AB;D038;110F 1171 11AB;
+D039;D039;110F 1171 11AC;D039;110F 1171 11AC;
+D03A;D03A;110F 1171 11AD;D03A;110F 1171 11AD;
+D03B;D03B;110F 1171 11AE;D03B;110F 1171 11AE;
+D03C;D03C;110F 1171 11AF;D03C;110F 1171 11AF;
+D03D;D03D;110F 1171 11B0;D03D;110F 1171 11B0;
+D03E;D03E;110F 1171 11B1;D03E;110F 1171 11B1;
+D03F;D03F;110F 1171 11B2;D03F;110F 1171 11B2;
+D040;D040;110F 1171 11B3;D040;110F 1171 11B3;
+D041;D041;110F 1171 11B4;D041;110F 1171 11B4;
+D042;D042;110F 1171 11B5;D042;110F 1171 11B5;
+D043;D043;110F 1171 11B6;D043;110F 1171 11B6;
+D044;D044;110F 1171 11B7;D044;110F 1171 11B7;
+D045;D045;110F 1171 11B8;D045;110F 1171 11B8;
+D046;D046;110F 1171 11B9;D046;110F 1171 11B9;
+D047;D047;110F 1171 11BA;D047;110F 1171 11BA;
+D048;D048;110F 1171 11BB;D048;110F 1171 11BB;
+D049;D049;110F 1171 11BC;D049;110F 1171 11BC;
+D04A;D04A;110F 1171 11BD;D04A;110F 1171 11BD;
+D04B;D04B;110F 1171 11BE;D04B;110F 1171 11BE;
+D04C;D04C;110F 1171 11BF;D04C;110F 1171 11BF;
+D04D;D04D;110F 1171 11C0;D04D;110F 1171 11C0;
+D04E;D04E;110F 1171 11C1;D04E;110F 1171 11C1;
+D04F;D04F;110F 1171 11C2;D04F;110F 1171 11C2;
+D050;D050;110F 1172;D050;110F 1172;
+D051;D051;110F 1172 11A8;D051;110F 1172 11A8;
+D052;D052;110F 1172 11A9;D052;110F 1172 11A9;
+D053;D053;110F 1172 11AA;D053;110F 1172 11AA;
+D054;D054;110F 1172 11AB;D054;110F 1172 11AB;
+D055;D055;110F 1172 11AC;D055;110F 1172 11AC;
+D056;D056;110F 1172 11AD;D056;110F 1172 11AD;
+D057;D057;110F 1172 11AE;D057;110F 1172 11AE;
+D058;D058;110F 1172 11AF;D058;110F 1172 11AF;
+D059;D059;110F 1172 11B0;D059;110F 1172 11B0;
+D05A;D05A;110F 1172 11B1;D05A;110F 1172 11B1;
+D05B;D05B;110F 1172 11B2;D05B;110F 1172 11B2;
+D05C;D05C;110F 1172 11B3;D05C;110F 1172 11B3;
+D05D;D05D;110F 1172 11B4;D05D;110F 1172 11B4;
+D05E;D05E;110F 1172 11B5;D05E;110F 1172 11B5;
+D05F;D05F;110F 1172 11B6;D05F;110F 1172 11B6;
+D060;D060;110F 1172 11B7;D060;110F 1172 11B7;
+D061;D061;110F 1172 11B8;D061;110F 1172 11B8;
+D062;D062;110F 1172 11B9;D062;110F 1172 11B9;
+D063;D063;110F 1172 11BA;D063;110F 1172 11BA;
+D064;D064;110F 1172 11BB;D064;110F 1172 11BB;
+D065;D065;110F 1172 11BC;D065;110F 1172 11BC;
+D066;D066;110F 1172 11BD;D066;110F 1172 11BD;
+D067;D067;110F 1172 11BE;D067;110F 1172 11BE;
+D068;D068;110F 1172 11BF;D068;110F 1172 11BF;
+D069;D069;110F 1172 11C0;D069;110F 1172 11C0;
+D06A;D06A;110F 1172 11C1;D06A;110F 1172 11C1;
+D06B;D06B;110F 1172 11C2;D06B;110F 1172 11C2;
+D06C;D06C;110F 1173;D06C;110F 1173;
+D06D;D06D;110F 1173 11A8;D06D;110F 1173 11A8;
+D06E;D06E;110F 1173 11A9;D06E;110F 1173 11A9;
+D06F;D06F;110F 1173 11AA;D06F;110F 1173 11AA;
+D070;D070;110F 1173 11AB;D070;110F 1173 11AB;
+D071;D071;110F 1173 11AC;D071;110F 1173 11AC;
+D072;D072;110F 1173 11AD;D072;110F 1173 11AD;
+D073;D073;110F 1173 11AE;D073;110F 1173 11AE;
+D074;D074;110F 1173 11AF;D074;110F 1173 11AF;
+D075;D075;110F 1173 11B0;D075;110F 1173 11B0;
+D076;D076;110F 1173 11B1;D076;110F 1173 11B1;
+D077;D077;110F 1173 11B2;D077;110F 1173 11B2;
+D078;D078;110F 1173 11B3;D078;110F 1173 11B3;
+D079;D079;110F 1173 11B4;D079;110F 1173 11B4;
+D07A;D07A;110F 1173 11B5;D07A;110F 1173 11B5;
+D07B;D07B;110F 1173 11B6;D07B;110F 1173 11B6;
+D07C;D07C;110F 1173 11B7;D07C;110F 1173 11B7;
+D07D;D07D;110F 1173 11B8;D07D;110F 1173 11B8;
+D07E;D07E;110F 1173 11B9;D07E;110F 1173 11B9;
+D07F;D07F;110F 1173 11BA;D07F;110F 1173 11BA;
+D080;D080;110F 1173 11BB;D080;110F 1173 11BB;
+D081;D081;110F 1173 11BC;D081;110F 1173 11BC;
+D082;D082;110F 1173 11BD;D082;110F 1173 11BD;
+D083;D083;110F 1173 11BE;D083;110F 1173 11BE;
+D084;D084;110F 1173 11BF;D084;110F 1173 11BF;
+D085;D085;110F 1173 11C0;D085;110F 1173 11C0;
+D086;D086;110F 1173 11C1;D086;110F 1173 11C1;
+D087;D087;110F 1173 11C2;D087;110F 1173 11C2;
+D088;D088;110F 1174;D088;110F 1174;
+D089;D089;110F 1174 11A8;D089;110F 1174 11A8;
+D08A;D08A;110F 1174 11A9;D08A;110F 1174 11A9;
+D08B;D08B;110F 1174 11AA;D08B;110F 1174 11AA;
+D08C;D08C;110F 1174 11AB;D08C;110F 1174 11AB;
+D08D;D08D;110F 1174 11AC;D08D;110F 1174 11AC;
+D08E;D08E;110F 1174 11AD;D08E;110F 1174 11AD;
+D08F;D08F;110F 1174 11AE;D08F;110F 1174 11AE;
+D090;D090;110F 1174 11AF;D090;110F 1174 11AF;
+D091;D091;110F 1174 11B0;D091;110F 1174 11B0;
+D092;D092;110F 1174 11B1;D092;110F 1174 11B1;
+D093;D093;110F 1174 11B2;D093;110F 1174 11B2;
+D094;D094;110F 1174 11B3;D094;110F 1174 11B3;
+D095;D095;110F 1174 11B4;D095;110F 1174 11B4;
+D096;D096;110F 1174 11B5;D096;110F 1174 11B5;
+D097;D097;110F 1174 11B6;D097;110F 1174 11B6;
+D098;D098;110F 1174 11B7;D098;110F 1174 11B7;
+D099;D099;110F 1174 11B8;D099;110F 1174 11B8;
+D09A;D09A;110F 1174 11B9;D09A;110F 1174 11B9;
+D09B;D09B;110F 1174 11BA;D09B;110F 1174 11BA;
+D09C;D09C;110F 1174 11BB;D09C;110F 1174 11BB;
+D09D;D09D;110F 1174 11BC;D09D;110F 1174 11BC;
+D09E;D09E;110F 1174 11BD;D09E;110F 1174 11BD;
+D09F;D09F;110F 1174 11BE;D09F;110F 1174 11BE;
+D0A0;D0A0;110F 1174 11BF;D0A0;110F 1174 11BF;
+D0A1;D0A1;110F 1174 11C0;D0A1;110F 1174 11C0;
+D0A2;D0A2;110F 1174 11C1;D0A2;110F 1174 11C1;
+D0A3;D0A3;110F 1174 11C2;D0A3;110F 1174 11C2;
+D0A4;D0A4;110F 1175;D0A4;110F 1175;
+D0A5;D0A5;110F 1175 11A8;D0A5;110F 1175 11A8;
+D0A6;D0A6;110F 1175 11A9;D0A6;110F 1175 11A9;
+D0A7;D0A7;110F 1175 11AA;D0A7;110F 1175 11AA;
+D0A8;D0A8;110F 1175 11AB;D0A8;110F 1175 11AB;
+D0A9;D0A9;110F 1175 11AC;D0A9;110F 1175 11AC;
+D0AA;D0AA;110F 1175 11AD;D0AA;110F 1175 11AD;
+D0AB;D0AB;110F 1175 11AE;D0AB;110F 1175 11AE;
+D0AC;D0AC;110F 1175 11AF;D0AC;110F 1175 11AF;
+D0AD;D0AD;110F 1175 11B0;D0AD;110F 1175 11B0;
+D0AE;D0AE;110F 1175 11B1;D0AE;110F 1175 11B1;
+D0AF;D0AF;110F 1175 11B2;D0AF;110F 1175 11B2;
+D0B0;D0B0;110F 1175 11B3;D0B0;110F 1175 11B3;
+D0B1;D0B1;110F 1175 11B4;D0B1;110F 1175 11B4;
+D0B2;D0B2;110F 1175 11B5;D0B2;110F 1175 11B5;
+D0B3;D0B3;110F 1175 11B6;D0B3;110F 1175 11B6;
+D0B4;D0B4;110F 1175 11B7;D0B4;110F 1175 11B7;
+D0B5;D0B5;110F 1175 11B8;D0B5;110F 1175 11B8;
+D0B6;D0B6;110F 1175 11B9;D0B6;110F 1175 11B9;
+D0B7;D0B7;110F 1175 11BA;D0B7;110F 1175 11BA;
+D0B8;D0B8;110F 1175 11BB;D0B8;110F 1175 11BB;
+D0B9;D0B9;110F 1175 11BC;D0B9;110F 1175 11BC;
+D0BA;D0BA;110F 1175 11BD;D0BA;110F 1175 11BD;
+D0BB;D0BB;110F 1175 11BE;D0BB;110F 1175 11BE;
+D0BC;D0BC;110F 1175 11BF;D0BC;110F 1175 11BF;
+D0BD;D0BD;110F 1175 11C0;D0BD;110F 1175 11C0;
+D0BE;D0BE;110F 1175 11C1;D0BE;110F 1175 11C1;
+D0BF;D0BF;110F 1175 11C2;D0BF;110F 1175 11C2;
+D0C0;D0C0;1110 1161;D0C0;1110 1161;
+D0C1;D0C1;1110 1161 11A8;D0C1;1110 1161 11A8;
+D0C2;D0C2;1110 1161 11A9;D0C2;1110 1161 11A9;
+D0C3;D0C3;1110 1161 11AA;D0C3;1110 1161 11AA;
+D0C4;D0C4;1110 1161 11AB;D0C4;1110 1161 11AB;
+D0C5;D0C5;1110 1161 11AC;D0C5;1110 1161 11AC;
+D0C6;D0C6;1110 1161 11AD;D0C6;1110 1161 11AD;
+D0C7;D0C7;1110 1161 11AE;D0C7;1110 1161 11AE;
+D0C8;D0C8;1110 1161 11AF;D0C8;1110 1161 11AF;
+D0C9;D0C9;1110 1161 11B0;D0C9;1110 1161 11B0;
+D0CA;D0CA;1110 1161 11B1;D0CA;1110 1161 11B1;
+D0CB;D0CB;1110 1161 11B2;D0CB;1110 1161 11B2;
+D0CC;D0CC;1110 1161 11B3;D0CC;1110 1161 11B3;
+D0CD;D0CD;1110 1161 11B4;D0CD;1110 1161 11B4;
+D0CE;D0CE;1110 1161 11B5;D0CE;1110 1161 11B5;
+D0CF;D0CF;1110 1161 11B6;D0CF;1110 1161 11B6;
+D0D0;D0D0;1110 1161 11B7;D0D0;1110 1161 11B7;
+D0D1;D0D1;1110 1161 11B8;D0D1;1110 1161 11B8;
+D0D2;D0D2;1110 1161 11B9;D0D2;1110 1161 11B9;
+D0D3;D0D3;1110 1161 11BA;D0D3;1110 1161 11BA;
+D0D4;D0D4;1110 1161 11BB;D0D4;1110 1161 11BB;
+D0D5;D0D5;1110 1161 11BC;D0D5;1110 1161 11BC;
+D0D6;D0D6;1110 1161 11BD;D0D6;1110 1161 11BD;
+D0D7;D0D7;1110 1161 11BE;D0D7;1110 1161 11BE;
+D0D8;D0D8;1110 1161 11BF;D0D8;1110 1161 11BF;
+D0D9;D0D9;1110 1161 11C0;D0D9;1110 1161 11C0;
+D0DA;D0DA;1110 1161 11C1;D0DA;1110 1161 11C1;
+D0DB;D0DB;1110 1161 11C2;D0DB;1110 1161 11C2;
+D0DC;D0DC;1110 1162;D0DC;1110 1162;
+D0DD;D0DD;1110 1162 11A8;D0DD;1110 1162 11A8;
+D0DE;D0DE;1110 1162 11A9;D0DE;1110 1162 11A9;
+D0DF;D0DF;1110 1162 11AA;D0DF;1110 1162 11AA;
+D0E0;D0E0;1110 1162 11AB;D0E0;1110 1162 11AB;
+D0E1;D0E1;1110 1162 11AC;D0E1;1110 1162 11AC;
+D0E2;D0E2;1110 1162 11AD;D0E2;1110 1162 11AD;
+D0E3;D0E3;1110 1162 11AE;D0E3;1110 1162 11AE;
+D0E4;D0E4;1110 1162 11AF;D0E4;1110 1162 11AF;
+D0E5;D0E5;1110 1162 11B0;D0E5;1110 1162 11B0;
+D0E6;D0E6;1110 1162 11B1;D0E6;1110 1162 11B1;
+D0E7;D0E7;1110 1162 11B2;D0E7;1110 1162 11B2;
+D0E8;D0E8;1110 1162 11B3;D0E8;1110 1162 11B3;
+D0E9;D0E9;1110 1162 11B4;D0E9;1110 1162 11B4;
+D0EA;D0EA;1110 1162 11B5;D0EA;1110 1162 11B5;
+D0EB;D0EB;1110 1162 11B6;D0EB;1110 1162 11B6;
+D0EC;D0EC;1110 1162 11B7;D0EC;1110 1162 11B7;
+D0ED;D0ED;1110 1162 11B8;D0ED;1110 1162 11B8;
+D0EE;D0EE;1110 1162 11B9;D0EE;1110 1162 11B9;
+D0EF;D0EF;1110 1162 11BA;D0EF;1110 1162 11BA;
+D0F0;D0F0;1110 1162 11BB;D0F0;1110 1162 11BB;
+D0F1;D0F1;1110 1162 11BC;D0F1;1110 1162 11BC;
+D0F2;D0F2;1110 1162 11BD;D0F2;1110 1162 11BD;
+D0F3;D0F3;1110 1162 11BE;D0F3;1110 1162 11BE;
+D0F4;D0F4;1110 1162 11BF;D0F4;1110 1162 11BF;
+D0F5;D0F5;1110 1162 11C0;D0F5;1110 1162 11C0;
+D0F6;D0F6;1110 1162 11C1;D0F6;1110 1162 11C1;
+D0F7;D0F7;1110 1162 11C2;D0F7;1110 1162 11C2;
+D0F8;D0F8;1110 1163;D0F8;1110 1163;
+D0F9;D0F9;1110 1163 11A8;D0F9;1110 1163 11A8;
+D0FA;D0FA;1110 1163 11A9;D0FA;1110 1163 11A9;
+D0FB;D0FB;1110 1163 11AA;D0FB;1110 1163 11AA;
+D0FC;D0FC;1110 1163 11AB;D0FC;1110 1163 11AB;
+D0FD;D0FD;1110 1163 11AC;D0FD;1110 1163 11AC;
+D0FE;D0FE;1110 1163 11AD;D0FE;1110 1163 11AD;
+D0FF;D0FF;1110 1163 11AE;D0FF;1110 1163 11AE;
+D100;D100;1110 1163 11AF;D100;1110 1163 11AF;
+D101;D101;1110 1163 11B0;D101;1110 1163 11B0;
+D102;D102;1110 1163 11B1;D102;1110 1163 11B1;
+D103;D103;1110 1163 11B2;D103;1110 1163 11B2;
+D104;D104;1110 1163 11B3;D104;1110 1163 11B3;
+D105;D105;1110 1163 11B4;D105;1110 1163 11B4;
+D106;D106;1110 1163 11B5;D106;1110 1163 11B5;
+D107;D107;1110 1163 11B6;D107;1110 1163 11B6;
+D108;D108;1110 1163 11B7;D108;1110 1163 11B7;
+D109;D109;1110 1163 11B8;D109;1110 1163 11B8;
+D10A;D10A;1110 1163 11B9;D10A;1110 1163 11B9;
+D10B;D10B;1110 1163 11BA;D10B;1110 1163 11BA;
+D10C;D10C;1110 1163 11BB;D10C;1110 1163 11BB;
+D10D;D10D;1110 1163 11BC;D10D;1110 1163 11BC;
+D10E;D10E;1110 1163 11BD;D10E;1110 1163 11BD;
+D10F;D10F;1110 1163 11BE;D10F;1110 1163 11BE;
+D110;D110;1110 1163 11BF;D110;1110 1163 11BF;
+D111;D111;1110 1163 11C0;D111;1110 1163 11C0;
+D112;D112;1110 1163 11C1;D112;1110 1163 11C1;
+D113;D113;1110 1163 11C2;D113;1110 1163 11C2;
+D114;D114;1110 1164;D114;1110 1164;
+D115;D115;1110 1164 11A8;D115;1110 1164 11A8;
+D116;D116;1110 1164 11A9;D116;1110 1164 11A9;
+D117;D117;1110 1164 11AA;D117;1110 1164 11AA;
+D118;D118;1110 1164 11AB;D118;1110 1164 11AB;
+D119;D119;1110 1164 11AC;D119;1110 1164 11AC;
+D11A;D11A;1110 1164 11AD;D11A;1110 1164 11AD;
+D11B;D11B;1110 1164 11AE;D11B;1110 1164 11AE;
+D11C;D11C;1110 1164 11AF;D11C;1110 1164 11AF;
+D11D;D11D;1110 1164 11B0;D11D;1110 1164 11B0;
+D11E;D11E;1110 1164 11B1;D11E;1110 1164 11B1;
+D11F;D11F;1110 1164 11B2;D11F;1110 1164 11B2;
+D120;D120;1110 1164 11B3;D120;1110 1164 11B3;
+D121;D121;1110 1164 11B4;D121;1110 1164 11B4;
+D122;D122;1110 1164 11B5;D122;1110 1164 11B5;
+D123;D123;1110 1164 11B6;D123;1110 1164 11B6;
+D124;D124;1110 1164 11B7;D124;1110 1164 11B7;
+D125;D125;1110 1164 11B8;D125;1110 1164 11B8;
+D126;D126;1110 1164 11B9;D126;1110 1164 11B9;
+D127;D127;1110 1164 11BA;D127;1110 1164 11BA;
+D128;D128;1110 1164 11BB;D128;1110 1164 11BB;
+D129;D129;1110 1164 11BC;D129;1110 1164 11BC;
+D12A;D12A;1110 1164 11BD;D12A;1110 1164 11BD;
+D12B;D12B;1110 1164 11BE;D12B;1110 1164 11BE;
+D12C;D12C;1110 1164 11BF;D12C;1110 1164 11BF;
+D12D;D12D;1110 1164 11C0;D12D;1110 1164 11C0;
+D12E;D12E;1110 1164 11C1;D12E;1110 1164 11C1;
+D12F;D12F;1110 1164 11C2;D12F;1110 1164 11C2;
+D130;D130;1110 1165;D130;1110 1165;
+D131;D131;1110 1165 11A8;D131;1110 1165 11A8;
+D132;D132;1110 1165 11A9;D132;1110 1165 11A9;
+D133;D133;1110 1165 11AA;D133;1110 1165 11AA;
+D134;D134;1110 1165 11AB;D134;1110 1165 11AB;
+D135;D135;1110 1165 11AC;D135;1110 1165 11AC;
+D136;D136;1110 1165 11AD;D136;1110 1165 11AD;
+D137;D137;1110 1165 11AE;D137;1110 1165 11AE;
+D138;D138;1110 1165 11AF;D138;1110 1165 11AF;
+D139;D139;1110 1165 11B0;D139;1110 1165 11B0;
+D13A;D13A;1110 1165 11B1;D13A;1110 1165 11B1;
+D13B;D13B;1110 1165 11B2;D13B;1110 1165 11B2;
+D13C;D13C;1110 1165 11B3;D13C;1110 1165 11B3;
+D13D;D13D;1110 1165 11B4;D13D;1110 1165 11B4;
+D13E;D13E;1110 1165 11B5;D13E;1110 1165 11B5;
+D13F;D13F;1110 1165 11B6;D13F;1110 1165 11B6;
+D140;D140;1110 1165 11B7;D140;1110 1165 11B7;
+D141;D141;1110 1165 11B8;D141;1110 1165 11B8;
+D142;D142;1110 1165 11B9;D142;1110 1165 11B9;
+D143;D143;1110 1165 11BA;D143;1110 1165 11BA;
+D144;D144;1110 1165 11BB;D144;1110 1165 11BB;
+D145;D145;1110 1165 11BC;D145;1110 1165 11BC;
+D146;D146;1110 1165 11BD;D146;1110 1165 11BD;
+D147;D147;1110 1165 11BE;D147;1110 1165 11BE;
+D148;D148;1110 1165 11BF;D148;1110 1165 11BF;
+D149;D149;1110 1165 11C0;D149;1110 1165 11C0;
+D14A;D14A;1110 1165 11C1;D14A;1110 1165 11C1;
+D14B;D14B;1110 1165 11C2;D14B;1110 1165 11C2;
+D14C;D14C;1110 1166;D14C;1110 1166;
+D14D;D14D;1110 1166 11A8;D14D;1110 1166 11A8;
+D14E;D14E;1110 1166 11A9;D14E;1110 1166 11A9;
+D14F;D14F;1110 1166 11AA;D14F;1110 1166 11AA;
+D150;D150;1110 1166 11AB;D150;1110 1166 11AB;
+D151;D151;1110 1166 11AC;D151;1110 1166 11AC;
+D152;D152;1110 1166 11AD;D152;1110 1166 11AD;
+D153;D153;1110 1166 11AE;D153;1110 1166 11AE;
+D154;D154;1110 1166 11AF;D154;1110 1166 11AF;
+D155;D155;1110 1166 11B0;D155;1110 1166 11B0;
+D156;D156;1110 1166 11B1;D156;1110 1166 11B1;
+D157;D157;1110 1166 11B2;D157;1110 1166 11B2;
+D158;D158;1110 1166 11B3;D158;1110 1166 11B3;
+D159;D159;1110 1166 11B4;D159;1110 1166 11B4;
+D15A;D15A;1110 1166 11B5;D15A;1110 1166 11B5;
+D15B;D15B;1110 1166 11B6;D15B;1110 1166 11B6;
+D15C;D15C;1110 1166 11B7;D15C;1110 1166 11B7;
+D15D;D15D;1110 1166 11B8;D15D;1110 1166 11B8;
+D15E;D15E;1110 1166 11B9;D15E;1110 1166 11B9;
+D15F;D15F;1110 1166 11BA;D15F;1110 1166 11BA;
+D160;D160;1110 1166 11BB;D160;1110 1166 11BB;
+D161;D161;1110 1166 11BC;D161;1110 1166 11BC;
+D162;D162;1110 1166 11BD;D162;1110 1166 11BD;
+D163;D163;1110 1166 11BE;D163;1110 1166 11BE;
+D164;D164;1110 1166 11BF;D164;1110 1166 11BF;
+D165;D165;1110 1166 11C0;D165;1110 1166 11C0;
+D166;D166;1110 1166 11C1;D166;1110 1166 11C1;
+D167;D167;1110 1166 11C2;D167;1110 1166 11C2;
+D168;D168;1110 1167;D168;1110 1167;
+D169;D169;1110 1167 11A8;D169;1110 1167 11A8;
+D16A;D16A;1110 1167 11A9;D16A;1110 1167 11A9;
+D16B;D16B;1110 1167 11AA;D16B;1110 1167 11AA;
+D16C;D16C;1110 1167 11AB;D16C;1110 1167 11AB;
+D16D;D16D;1110 1167 11AC;D16D;1110 1167 11AC;
+D16E;D16E;1110 1167 11AD;D16E;1110 1167 11AD;
+D16F;D16F;1110 1167 11AE;D16F;1110 1167 11AE;
+D170;D170;1110 1167 11AF;D170;1110 1167 11AF;
+D171;D171;1110 1167 11B0;D171;1110 1167 11B0;
+D172;D172;1110 1167 11B1;D172;1110 1167 11B1;
+D173;D173;1110 1167 11B2;D173;1110 1167 11B2;
+D174;D174;1110 1167 11B3;D174;1110 1167 11B3;
+D175;D175;1110 1167 11B4;D175;1110 1167 11B4;
+D176;D176;1110 1167 11B5;D176;1110 1167 11B5;
+D177;D177;1110 1167 11B6;D177;1110 1167 11B6;
+D178;D178;1110 1167 11B7;D178;1110 1167 11B7;
+D179;D179;1110 1167 11B8;D179;1110 1167 11B8;
+D17A;D17A;1110 1167 11B9;D17A;1110 1167 11B9;
+D17B;D17B;1110 1167 11BA;D17B;1110 1167 11BA;
+D17C;D17C;1110 1167 11BB;D17C;1110 1167 11BB;
+D17D;D17D;1110 1167 11BC;D17D;1110 1167 11BC;
+D17E;D17E;1110 1167 11BD;D17E;1110 1167 11BD;
+D17F;D17F;1110 1167 11BE;D17F;1110 1167 11BE;
+D180;D180;1110 1167 11BF;D180;1110 1167 11BF;
+D181;D181;1110 1167 11C0;D181;1110 1167 11C0;
+D182;D182;1110 1167 11C1;D182;1110 1167 11C1;
+D183;D183;1110 1167 11C2;D183;1110 1167 11C2;
+D184;D184;1110 1168;D184;1110 1168;
+D185;D185;1110 1168 11A8;D185;1110 1168 11A8;
+D186;D186;1110 1168 11A9;D186;1110 1168 11A9;
+D187;D187;1110 1168 11AA;D187;1110 1168 11AA;
+D188;D188;1110 1168 11AB;D188;1110 1168 11AB;
+D189;D189;1110 1168 11AC;D189;1110 1168 11AC;
+D18A;D18A;1110 1168 11AD;D18A;1110 1168 11AD;
+D18B;D18B;1110 1168 11AE;D18B;1110 1168 11AE;
+D18C;D18C;1110 1168 11AF;D18C;1110 1168 11AF;
+D18D;D18D;1110 1168 11B0;D18D;1110 1168 11B0;
+D18E;D18E;1110 1168 11B1;D18E;1110 1168 11B1;
+D18F;D18F;1110 1168 11B2;D18F;1110 1168 11B2;
+D190;D190;1110 1168 11B3;D190;1110 1168 11B3;
+D191;D191;1110 1168 11B4;D191;1110 1168 11B4;
+D192;D192;1110 1168 11B5;D192;1110 1168 11B5;
+D193;D193;1110 1168 11B6;D193;1110 1168 11B6;
+D194;D194;1110 1168 11B7;D194;1110 1168 11B7;
+D195;D195;1110 1168 11B8;D195;1110 1168 11B8;
+D196;D196;1110 1168 11B9;D196;1110 1168 11B9;
+D197;D197;1110 1168 11BA;D197;1110 1168 11BA;
+D198;D198;1110 1168 11BB;D198;1110 1168 11BB;
+D199;D199;1110 1168 11BC;D199;1110 1168 11BC;
+D19A;D19A;1110 1168 11BD;D19A;1110 1168 11BD;
+D19B;D19B;1110 1168 11BE;D19B;1110 1168 11BE;
+D19C;D19C;1110 1168 11BF;D19C;1110 1168 11BF;
+D19D;D19D;1110 1168 11C0;D19D;1110 1168 11C0;
+D19E;D19E;1110 1168 11C1;D19E;1110 1168 11C1;
+D19F;D19F;1110 1168 11C2;D19F;1110 1168 11C2;
+D1A0;D1A0;1110 1169;D1A0;1110 1169;
+D1A1;D1A1;1110 1169 11A8;D1A1;1110 1169 11A8;
+D1A2;D1A2;1110 1169 11A9;D1A2;1110 1169 11A9;
+D1A3;D1A3;1110 1169 11AA;D1A3;1110 1169 11AA;
+D1A4;D1A4;1110 1169 11AB;D1A4;1110 1169 11AB;
+D1A5;D1A5;1110 1169 11AC;D1A5;1110 1169 11AC;
+D1A6;D1A6;1110 1169 11AD;D1A6;1110 1169 11AD;
+D1A7;D1A7;1110 1169 11AE;D1A7;1110 1169 11AE;
+D1A8;D1A8;1110 1169 11AF;D1A8;1110 1169 11AF;
+D1A9;D1A9;1110 1169 11B0;D1A9;1110 1169 11B0;
+D1AA;D1AA;1110 1169 11B1;D1AA;1110 1169 11B1;
+D1AB;D1AB;1110 1169 11B2;D1AB;1110 1169 11B2;
+D1AC;D1AC;1110 1169 11B3;D1AC;1110 1169 11B3;
+D1AD;D1AD;1110 1169 11B4;D1AD;1110 1169 11B4;
+D1AE;D1AE;1110 1169 11B5;D1AE;1110 1169 11B5;
+D1AF;D1AF;1110 1169 11B6;D1AF;1110 1169 11B6;
+D1B0;D1B0;1110 1169 11B7;D1B0;1110 1169 11B7;
+D1B1;D1B1;1110 1169 11B8;D1B1;1110 1169 11B8;
+D1B2;D1B2;1110 1169 11B9;D1B2;1110 1169 11B9;
+D1B3;D1B3;1110 1169 11BA;D1B3;1110 1169 11BA;
+D1B4;D1B4;1110 1169 11BB;D1B4;1110 1169 11BB;
+D1B5;D1B5;1110 1169 11BC;D1B5;1110 1169 11BC;
+D1B6;D1B6;1110 1169 11BD;D1B6;1110 1169 11BD;
+D1B7;D1B7;1110 1169 11BE;D1B7;1110 1169 11BE;
+D1B8;D1B8;1110 1169 11BF;D1B8;1110 1169 11BF;
+D1B9;D1B9;1110 1169 11C0;D1B9;1110 1169 11C0;
+D1BA;D1BA;1110 1169 11C1;D1BA;1110 1169 11C1;
+D1BB;D1BB;1110 1169 11C2;D1BB;1110 1169 11C2;
+D1BC;D1BC;1110 116A;D1BC;1110 116A;
+D1BD;D1BD;1110 116A 11A8;D1BD;1110 116A 11A8;
+D1BE;D1BE;1110 116A 11A9;D1BE;1110 116A 11A9;
+D1BF;D1BF;1110 116A 11AA;D1BF;1110 116A 11AA;
+D1C0;D1C0;1110 116A 11AB;D1C0;1110 116A 11AB;
+D1C1;D1C1;1110 116A 11AC;D1C1;1110 116A 11AC;
+D1C2;D1C2;1110 116A 11AD;D1C2;1110 116A 11AD;
+D1C3;D1C3;1110 116A 11AE;D1C3;1110 116A 11AE;
+D1C4;D1C4;1110 116A 11AF;D1C4;1110 116A 11AF;
+D1C5;D1C5;1110 116A 11B0;D1C5;1110 116A 11B0;
+D1C6;D1C6;1110 116A 11B1;D1C6;1110 116A 11B1;
+D1C7;D1C7;1110 116A 11B2;D1C7;1110 116A 11B2;
+D1C8;D1C8;1110 116A 11B3;D1C8;1110 116A 11B3;
+D1C9;D1C9;1110 116A 11B4;D1C9;1110 116A 11B4;
+D1CA;D1CA;1110 116A 11B5;D1CA;1110 116A 11B5;
+D1CB;D1CB;1110 116A 11B6;D1CB;1110 116A 11B6;
+D1CC;D1CC;1110 116A 11B7;D1CC;1110 116A 11B7;
+D1CD;D1CD;1110 116A 11B8;D1CD;1110 116A 11B8;
+D1CE;D1CE;1110 116A 11B9;D1CE;1110 116A 11B9;
+D1CF;D1CF;1110 116A 11BA;D1CF;1110 116A 11BA;
+D1D0;D1D0;1110 116A 11BB;D1D0;1110 116A 11BB;
+D1D1;D1D1;1110 116A 11BC;D1D1;1110 116A 11BC;
+D1D2;D1D2;1110 116A 11BD;D1D2;1110 116A 11BD;
+D1D3;D1D3;1110 116A 11BE;D1D3;1110 116A 11BE;
+D1D4;D1D4;1110 116A 11BF;D1D4;1110 116A 11BF;
+D1D5;D1D5;1110 116A 11C0;D1D5;1110 116A 11C0;
+D1D6;D1D6;1110 116A 11C1;D1D6;1110 116A 11C1;
+D1D7;D1D7;1110 116A 11C2;D1D7;1110 116A 11C2;
+D1D8;D1D8;1110 116B;D1D8;1110 116B;
+D1D9;D1D9;1110 116B 11A8;D1D9;1110 116B 11A8;
+D1DA;D1DA;1110 116B 11A9;D1DA;1110 116B 11A9;
+D1DB;D1DB;1110 116B 11AA;D1DB;1110 116B 11AA;
+D1DC;D1DC;1110 116B 11AB;D1DC;1110 116B 11AB;
+D1DD;D1DD;1110 116B 11AC;D1DD;1110 116B 11AC;
+D1DE;D1DE;1110 116B 11AD;D1DE;1110 116B 11AD;
+D1DF;D1DF;1110 116B 11AE;D1DF;1110 116B 11AE;
+D1E0;D1E0;1110 116B 11AF;D1E0;1110 116B 11AF;
+D1E1;D1E1;1110 116B 11B0;D1E1;1110 116B 11B0;
+D1E2;D1E2;1110 116B 11B1;D1E2;1110 116B 11B1;
+D1E3;D1E3;1110 116B 11B2;D1E3;1110 116B 11B2;
+D1E4;D1E4;1110 116B 11B3;D1E4;1110 116B 11B3;
+D1E5;D1E5;1110 116B 11B4;D1E5;1110 116B 11B4;
+D1E6;D1E6;1110 116B 11B5;D1E6;1110 116B 11B5;
+D1E7;D1E7;1110 116B 11B6;D1E7;1110 116B 11B6;
+D1E8;D1E8;1110 116B 11B7;D1E8;1110 116B 11B7;
+D1E9;D1E9;1110 116B 11B8;D1E9;1110 116B 11B8;
+D1EA;D1EA;1110 116B 11B9;D1EA;1110 116B 11B9;
+D1EB;D1EB;1110 116B 11BA;D1EB;1110 116B 11BA;
+D1EC;D1EC;1110 116B 11BB;D1EC;1110 116B 11BB;
+D1ED;D1ED;1110 116B 11BC;D1ED;1110 116B 11BC;
+D1EE;D1EE;1110 116B 11BD;D1EE;1110 116B 11BD;
+D1EF;D1EF;1110 116B 11BE;D1EF;1110 116B 11BE;
+D1F0;D1F0;1110 116B 11BF;D1F0;1110 116B 11BF;
+D1F1;D1F1;1110 116B 11C0;D1F1;1110 116B 11C0;
+D1F2;D1F2;1110 116B 11C1;D1F2;1110 116B 11C1;
+D1F3;D1F3;1110 116B 11C2;D1F3;1110 116B 11C2;
+D1F4;D1F4;1110 116C;D1F4;1110 116C;
+D1F5;D1F5;1110 116C 11A8;D1F5;1110 116C 11A8;
+D1F6;D1F6;1110 116C 11A9;D1F6;1110 116C 11A9;
+D1F7;D1F7;1110 116C 11AA;D1F7;1110 116C 11AA;
+D1F8;D1F8;1110 116C 11AB;D1F8;1110 116C 11AB;
+D1F9;D1F9;1110 116C 11AC;D1F9;1110 116C 11AC;
+D1FA;D1FA;1110 116C 11AD;D1FA;1110 116C 11AD;
+D1FB;D1FB;1110 116C 11AE;D1FB;1110 116C 11AE;
+D1FC;D1FC;1110 116C 11AF;D1FC;1110 116C 11AF;
+D1FD;D1FD;1110 116C 11B0;D1FD;1110 116C 11B0;
+D1FE;D1FE;1110 116C 11B1;D1FE;1110 116C 11B1;
+D1FF;D1FF;1110 116C 11B2;D1FF;1110 116C 11B2;
+D200;D200;1110 116C 11B3;D200;1110 116C 11B3;
+D201;D201;1110 116C 11B4;D201;1110 116C 11B4;
+D202;D202;1110 116C 11B5;D202;1110 116C 11B5;
+D203;D203;1110 116C 11B6;D203;1110 116C 11B6;
+D204;D204;1110 116C 11B7;D204;1110 116C 11B7;
+D205;D205;1110 116C 11B8;D205;1110 116C 11B8;
+D206;D206;1110 116C 11B9;D206;1110 116C 11B9;
+D207;D207;1110 116C 11BA;D207;1110 116C 11BA;
+D208;D208;1110 116C 11BB;D208;1110 116C 11BB;
+D209;D209;1110 116C 11BC;D209;1110 116C 11BC;
+D20A;D20A;1110 116C 11BD;D20A;1110 116C 11BD;
+D20B;D20B;1110 116C 11BE;D20B;1110 116C 11BE;
+D20C;D20C;1110 116C 11BF;D20C;1110 116C 11BF;
+D20D;D20D;1110 116C 11C0;D20D;1110 116C 11C0;
+D20E;D20E;1110 116C 11C1;D20E;1110 116C 11C1;
+D20F;D20F;1110 116C 11C2;D20F;1110 116C 11C2;
+D210;D210;1110 116D;D210;1110 116D;
+D211;D211;1110 116D 11A8;D211;1110 116D 11A8;
+D212;D212;1110 116D 11A9;D212;1110 116D 11A9;
+D213;D213;1110 116D 11AA;D213;1110 116D 11AA;
+D214;D214;1110 116D 11AB;D214;1110 116D 11AB;
+D215;D215;1110 116D 11AC;D215;1110 116D 11AC;
+D216;D216;1110 116D 11AD;D216;1110 116D 11AD;
+D217;D217;1110 116D 11AE;D217;1110 116D 11AE;
+D218;D218;1110 116D 11AF;D218;1110 116D 11AF;
+D219;D219;1110 116D 11B0;D219;1110 116D 11B0;
+D21A;D21A;1110 116D 11B1;D21A;1110 116D 11B1;
+D21B;D21B;1110 116D 11B2;D21B;1110 116D 11B2;
+D21C;D21C;1110 116D 11B3;D21C;1110 116D 11B3;
+D21D;D21D;1110 116D 11B4;D21D;1110 116D 11B4;
+D21E;D21E;1110 116D 11B5;D21E;1110 116D 11B5;
+D21F;D21F;1110 116D 11B6;D21F;1110 116D 11B6;
+D220;D220;1110 116D 11B7;D220;1110 116D 11B7;
+D221;D221;1110 116D 11B8;D221;1110 116D 11B8;
+D222;D222;1110 116D 11B9;D222;1110 116D 11B9;
+D223;D223;1110 116D 11BA;D223;1110 116D 11BA;
+D224;D224;1110 116D 11BB;D224;1110 116D 11BB;
+D225;D225;1110 116D 11BC;D225;1110 116D 11BC;
+D226;D226;1110 116D 11BD;D226;1110 116D 11BD;
+D227;D227;1110 116D 11BE;D227;1110 116D 11BE;
+D228;D228;1110 116D 11BF;D228;1110 116D 11BF;
+D229;D229;1110 116D 11C0;D229;1110 116D 11C0;
+D22A;D22A;1110 116D 11C1;D22A;1110 116D 11C1;
+D22B;D22B;1110 116D 11C2;D22B;1110 116D 11C2;
+D22C;D22C;1110 116E;D22C;1110 116E;
+D22D;D22D;1110 116E 11A8;D22D;1110 116E 11A8;
+D22E;D22E;1110 116E 11A9;D22E;1110 116E 11A9;
+D22F;D22F;1110 116E 11AA;D22F;1110 116E 11AA;
+D230;D230;1110 116E 11AB;D230;1110 116E 11AB;
+D231;D231;1110 116E 11AC;D231;1110 116E 11AC;
+D232;D232;1110 116E 11AD;D232;1110 116E 11AD;
+D233;D233;1110 116E 11AE;D233;1110 116E 11AE;
+D234;D234;1110 116E 11AF;D234;1110 116E 11AF;
+D235;D235;1110 116E 11B0;D235;1110 116E 11B0;
+D236;D236;1110 116E 11B1;D236;1110 116E 11B1;
+D237;D237;1110 116E 11B2;D237;1110 116E 11B2;
+D238;D238;1110 116E 11B3;D238;1110 116E 11B3;
+D239;D239;1110 116E 11B4;D239;1110 116E 11B4;
+D23A;D23A;1110 116E 11B5;D23A;1110 116E 11B5;
+D23B;D23B;1110 116E 11B6;D23B;1110 116E 11B6;
+D23C;D23C;1110 116E 11B7;D23C;1110 116E 11B7;
+D23D;D23D;1110 116E 11B8;D23D;1110 116E 11B8;
+D23E;D23E;1110 116E 11B9;D23E;1110 116E 11B9;
+D23F;D23F;1110 116E 11BA;D23F;1110 116E 11BA;
+D240;D240;1110 116E 11BB;D240;1110 116E 11BB;
+D241;D241;1110 116E 11BC;D241;1110 116E 11BC;
+D242;D242;1110 116E 11BD;D242;1110 116E 11BD;
+D243;D243;1110 116E 11BE;D243;1110 116E 11BE;
+D244;D244;1110 116E 11BF;D244;1110 116E 11BF;
+D245;D245;1110 116E 11C0;D245;1110 116E 11C0;
+D246;D246;1110 116E 11C1;D246;1110 116E 11C1;
+D247;D247;1110 116E 11C2;D247;1110 116E 11C2;
+D248;D248;1110 116F;D248;1110 116F;
+D249;D249;1110 116F 11A8;D249;1110 116F 11A8;
+D24A;D24A;1110 116F 11A9;D24A;1110 116F 11A9;
+D24B;D24B;1110 116F 11AA;D24B;1110 116F 11AA;
+D24C;D24C;1110 116F 11AB;D24C;1110 116F 11AB;
+D24D;D24D;1110 116F 11AC;D24D;1110 116F 11AC;
+D24E;D24E;1110 116F 11AD;D24E;1110 116F 11AD;
+D24F;D24F;1110 116F 11AE;D24F;1110 116F 11AE;
+D250;D250;1110 116F 11AF;D250;1110 116F 11AF;
+D251;D251;1110 116F 11B0;D251;1110 116F 11B0;
+D252;D252;1110 116F 11B1;D252;1110 116F 11B1;
+D253;D253;1110 116F 11B2;D253;1110 116F 11B2;
+D254;D254;1110 116F 11B3;D254;1110 116F 11B3;
+D255;D255;1110 116F 11B4;D255;1110 116F 11B4;
+D256;D256;1110 116F 11B5;D256;1110 116F 11B5;
+D257;D257;1110 116F 11B6;D257;1110 116F 11B6;
+D258;D258;1110 116F 11B7;D258;1110 116F 11B7;
+D259;D259;1110 116F 11B8;D259;1110 116F 11B8;
+D25A;D25A;1110 116F 11B9;D25A;1110 116F 11B9;
+D25B;D25B;1110 116F 11BA;D25B;1110 116F 11BA;
+D25C;D25C;1110 116F 11BB;D25C;1110 116F 11BB;
+D25D;D25D;1110 116F 11BC;D25D;1110 116F 11BC;
+D25E;D25E;1110 116F 11BD;D25E;1110 116F 11BD;
+D25F;D25F;1110 116F 11BE;D25F;1110 116F 11BE;
+D260;D260;1110 116F 11BF;D260;1110 116F 11BF;
+D261;D261;1110 116F 11C0;D261;1110 116F 11C0;
+D262;D262;1110 116F 11C1;D262;1110 116F 11C1;
+D263;D263;1110 116F 11C2;D263;1110 116F 11C2;
+D264;D264;1110 1170;D264;1110 1170;
+D265;D265;1110 1170 11A8;D265;1110 1170 11A8;
+D266;D266;1110 1170 11A9;D266;1110 1170 11A9;
+D267;D267;1110 1170 11AA;D267;1110 1170 11AA;
+D268;D268;1110 1170 11AB;D268;1110 1170 11AB;
+D269;D269;1110 1170 11AC;D269;1110 1170 11AC;
+D26A;D26A;1110 1170 11AD;D26A;1110 1170 11AD;
+D26B;D26B;1110 1170 11AE;D26B;1110 1170 11AE;
+D26C;D26C;1110 1170 11AF;D26C;1110 1170 11AF;
+D26D;D26D;1110 1170 11B0;D26D;1110 1170 11B0;
+D26E;D26E;1110 1170 11B1;D26E;1110 1170 11B1;
+D26F;D26F;1110 1170 11B2;D26F;1110 1170 11B2;
+D270;D270;1110 1170 11B3;D270;1110 1170 11B3;
+D271;D271;1110 1170 11B4;D271;1110 1170 11B4;
+D272;D272;1110 1170 11B5;D272;1110 1170 11B5;
+D273;D273;1110 1170 11B6;D273;1110 1170 11B6;
+D274;D274;1110 1170 11B7;D274;1110 1170 11B7;
+D275;D275;1110 1170 11B8;D275;1110 1170 11B8;
+D276;D276;1110 1170 11B9;D276;1110 1170 11B9;
+D277;D277;1110 1170 11BA;D277;1110 1170 11BA;
+D278;D278;1110 1170 11BB;D278;1110 1170 11BB;
+D279;D279;1110 1170 11BC;D279;1110 1170 11BC;
+D27A;D27A;1110 1170 11BD;D27A;1110 1170 11BD;
+D27B;D27B;1110 1170 11BE;D27B;1110 1170 11BE;
+D27C;D27C;1110 1170 11BF;D27C;1110 1170 11BF;
+D27D;D27D;1110 1170 11C0;D27D;1110 1170 11C0;
+D27E;D27E;1110 1170 11C1;D27E;1110 1170 11C1;
+D27F;D27F;1110 1170 11C2;D27F;1110 1170 11C2;
+D280;D280;1110 1171;D280;1110 1171;
+D281;D281;1110 1171 11A8;D281;1110 1171 11A8;
+D282;D282;1110 1171 11A9;D282;1110 1171 11A9;
+D283;D283;1110 1171 11AA;D283;1110 1171 11AA;
+D284;D284;1110 1171 11AB;D284;1110 1171 11AB;
+D285;D285;1110 1171 11AC;D285;1110 1171 11AC;
+D286;D286;1110 1171 11AD;D286;1110 1171 11AD;
+D287;D287;1110 1171 11AE;D287;1110 1171 11AE;
+D288;D288;1110 1171 11AF;D288;1110 1171 11AF;
+D289;D289;1110 1171 11B0;D289;1110 1171 11B0;
+D28A;D28A;1110 1171 11B1;D28A;1110 1171 11B1;
+D28B;D28B;1110 1171 11B2;D28B;1110 1171 11B2;
+D28C;D28C;1110 1171 11B3;D28C;1110 1171 11B3;
+D28D;D28D;1110 1171 11B4;D28D;1110 1171 11B4;
+D28E;D28E;1110 1171 11B5;D28E;1110 1171 11B5;
+D28F;D28F;1110 1171 11B6;D28F;1110 1171 11B6;
+D290;D290;1110 1171 11B7;D290;1110 1171 11B7;
+D291;D291;1110 1171 11B8;D291;1110 1171 11B8;
+D292;D292;1110 1171 11B9;D292;1110 1171 11B9;
+D293;D293;1110 1171 11BA;D293;1110 1171 11BA;
+D294;D294;1110 1171 11BB;D294;1110 1171 11BB;
+D295;D295;1110 1171 11BC;D295;1110 1171 11BC;
+D296;D296;1110 1171 11BD;D296;1110 1171 11BD;
+D297;D297;1110 1171 11BE;D297;1110 1171 11BE;
+D298;D298;1110 1171 11BF;D298;1110 1171 11BF;
+D299;D299;1110 1171 11C0;D299;1110 1171 11C0;
+D29A;D29A;1110 1171 11C1;D29A;1110 1171 11C1;
+D29B;D29B;1110 1171 11C2;D29B;1110 1171 11C2;
+D29C;D29C;1110 1172;D29C;1110 1172;
+D29D;D29D;1110 1172 11A8;D29D;1110 1172 11A8;
+D29E;D29E;1110 1172 11A9;D29E;1110 1172 11A9;
+D29F;D29F;1110 1172 11AA;D29F;1110 1172 11AA;
+D2A0;D2A0;1110 1172 11AB;D2A0;1110 1172 11AB;
+D2A1;D2A1;1110 1172 11AC;D2A1;1110 1172 11AC;
+D2A2;D2A2;1110 1172 11AD;D2A2;1110 1172 11AD;
+D2A3;D2A3;1110 1172 11AE;D2A3;1110 1172 11AE;
+D2A4;D2A4;1110 1172 11AF;D2A4;1110 1172 11AF;
+D2A5;D2A5;1110 1172 11B0;D2A5;1110 1172 11B0;
+D2A6;D2A6;1110 1172 11B1;D2A6;1110 1172 11B1;
+D2A7;D2A7;1110 1172 11B2;D2A7;1110 1172 11B2;
+D2A8;D2A8;1110 1172 11B3;D2A8;1110 1172 11B3;
+D2A9;D2A9;1110 1172 11B4;D2A9;1110 1172 11B4;
+D2AA;D2AA;1110 1172 11B5;D2AA;1110 1172 11B5;
+D2AB;D2AB;1110 1172 11B6;D2AB;1110 1172 11B6;
+D2AC;D2AC;1110 1172 11B7;D2AC;1110 1172 11B7;
+D2AD;D2AD;1110 1172 11B8;D2AD;1110 1172 11B8;
+D2AE;D2AE;1110 1172 11B9;D2AE;1110 1172 11B9;
+D2AF;D2AF;1110 1172 11BA;D2AF;1110 1172 11BA;
+D2B0;D2B0;1110 1172 11BB;D2B0;1110 1172 11BB;
+D2B1;D2B1;1110 1172 11BC;D2B1;1110 1172 11BC;
+D2B2;D2B2;1110 1172 11BD;D2B2;1110 1172 11BD;
+D2B3;D2B3;1110 1172 11BE;D2B3;1110 1172 11BE;
+D2B4;D2B4;1110 1172 11BF;D2B4;1110 1172 11BF;
+D2B5;D2B5;1110 1172 11C0;D2B5;1110 1172 11C0;
+D2B6;D2B6;1110 1172 11C1;D2B6;1110 1172 11C1;
+D2B7;D2B7;1110 1172 11C2;D2B7;1110 1172 11C2;
+D2B8;D2B8;1110 1173;D2B8;1110 1173;
+D2B9;D2B9;1110 1173 11A8;D2B9;1110 1173 11A8;
+D2BA;D2BA;1110 1173 11A9;D2BA;1110 1173 11A9;
+D2BB;D2BB;1110 1173 11AA;D2BB;1110 1173 11AA;
+D2BC;D2BC;1110 1173 11AB;D2BC;1110 1173 11AB;
+D2BD;D2BD;1110 1173 11AC;D2BD;1110 1173 11AC;
+D2BE;D2BE;1110 1173 11AD;D2BE;1110 1173 11AD;
+D2BF;D2BF;1110 1173 11AE;D2BF;1110 1173 11AE;
+D2C0;D2C0;1110 1173 11AF;D2C0;1110 1173 11AF;
+D2C1;D2C1;1110 1173 11B0;D2C1;1110 1173 11B0;
+D2C2;D2C2;1110 1173 11B1;D2C2;1110 1173 11B1;
+D2C3;D2C3;1110 1173 11B2;D2C3;1110 1173 11B2;
+D2C4;D2C4;1110 1173 11B3;D2C4;1110 1173 11B3;
+D2C5;D2C5;1110 1173 11B4;D2C5;1110 1173 11B4;
+D2C6;D2C6;1110 1173 11B5;D2C6;1110 1173 11B5;
+D2C7;D2C7;1110 1173 11B6;D2C7;1110 1173 11B6;
+D2C8;D2C8;1110 1173 11B7;D2C8;1110 1173 11B7;
+D2C9;D2C9;1110 1173 11B8;D2C9;1110 1173 11B8;
+D2CA;D2CA;1110 1173 11B9;D2CA;1110 1173 11B9;
+D2CB;D2CB;1110 1173 11BA;D2CB;1110 1173 11BA;
+D2CC;D2CC;1110 1173 11BB;D2CC;1110 1173 11BB;
+D2CD;D2CD;1110 1173 11BC;D2CD;1110 1173 11BC;
+D2CE;D2CE;1110 1173 11BD;D2CE;1110 1173 11BD;
+D2CF;D2CF;1110 1173 11BE;D2CF;1110 1173 11BE;
+D2D0;D2D0;1110 1173 11BF;D2D0;1110 1173 11BF;
+D2D1;D2D1;1110 1173 11C0;D2D1;1110 1173 11C0;
+D2D2;D2D2;1110 1173 11C1;D2D2;1110 1173 11C1;
+D2D3;D2D3;1110 1173 11C2;D2D3;1110 1173 11C2;
+D2D4;D2D4;1110 1174;D2D4;1110 1174;
+D2D5;D2D5;1110 1174 11A8;D2D5;1110 1174 11A8;
+D2D6;D2D6;1110 1174 11A9;D2D6;1110 1174 11A9;
+D2D7;D2D7;1110 1174 11AA;D2D7;1110 1174 11AA;
+D2D8;D2D8;1110 1174 11AB;D2D8;1110 1174 11AB;
+D2D9;D2D9;1110 1174 11AC;D2D9;1110 1174 11AC;
+D2DA;D2DA;1110 1174 11AD;D2DA;1110 1174 11AD;
+D2DB;D2DB;1110 1174 11AE;D2DB;1110 1174 11AE;
+D2DC;D2DC;1110 1174 11AF;D2DC;1110 1174 11AF;
+D2DD;D2DD;1110 1174 11B0;D2DD;1110 1174 11B0;
+D2DE;D2DE;1110 1174 11B1;D2DE;1110 1174 11B1;
+D2DF;D2DF;1110 1174 11B2;D2DF;1110 1174 11B2;
+D2E0;D2E0;1110 1174 11B3;D2E0;1110 1174 11B3;
+D2E1;D2E1;1110 1174 11B4;D2E1;1110 1174 11B4;
+D2E2;D2E2;1110 1174 11B5;D2E2;1110 1174 11B5;
+D2E3;D2E3;1110 1174 11B6;D2E3;1110 1174 11B6;
+D2E4;D2E4;1110 1174 11B7;D2E4;1110 1174 11B7;
+D2E5;D2E5;1110 1174 11B8;D2E5;1110 1174 11B8;
+D2E6;D2E6;1110 1174 11B9;D2E6;1110 1174 11B9;
+D2E7;D2E7;1110 1174 11BA;D2E7;1110 1174 11BA;
+D2E8;D2E8;1110 1174 11BB;D2E8;1110 1174 11BB;
+D2E9;D2E9;1110 1174 11BC;D2E9;1110 1174 11BC;
+D2EA;D2EA;1110 1174 11BD;D2EA;1110 1174 11BD;
+D2EB;D2EB;1110 1174 11BE;D2EB;1110 1174 11BE;
+D2EC;D2EC;1110 1174 11BF;D2EC;1110 1174 11BF;
+D2ED;D2ED;1110 1174 11C0;D2ED;1110 1174 11C0;
+D2EE;D2EE;1110 1174 11C1;D2EE;1110 1174 11C1;
+D2EF;D2EF;1110 1174 11C2;D2EF;1110 1174 11C2;
+D2F0;D2F0;1110 1175;D2F0;1110 1175;
+D2F1;D2F1;1110 1175 11A8;D2F1;1110 1175 11A8;
+D2F2;D2F2;1110 1175 11A9;D2F2;1110 1175 11A9;
+D2F3;D2F3;1110 1175 11AA;D2F3;1110 1175 11AA;
+D2F4;D2F4;1110 1175 11AB;D2F4;1110 1175 11AB;
+D2F5;D2F5;1110 1175 11AC;D2F5;1110 1175 11AC;
+D2F6;D2F6;1110 1175 11AD;D2F6;1110 1175 11AD;
+D2F7;D2F7;1110 1175 11AE;D2F7;1110 1175 11AE;
+D2F8;D2F8;1110 1175 11AF;D2F8;1110 1175 11AF;
+D2F9;D2F9;1110 1175 11B0;D2F9;1110 1175 11B0;
+D2FA;D2FA;1110 1175 11B1;D2FA;1110 1175 11B1;
+D2FB;D2FB;1110 1175 11B2;D2FB;1110 1175 11B2;
+D2FC;D2FC;1110 1175 11B3;D2FC;1110 1175 11B3;
+D2FD;D2FD;1110 1175 11B4;D2FD;1110 1175 11B4;
+D2FE;D2FE;1110 1175 11B5;D2FE;1110 1175 11B5;
+D2FF;D2FF;1110 1175 11B6;D2FF;1110 1175 11B6;
+D300;D300;1110 1175 11B7;D300;1110 1175 11B7;
+D301;D301;1110 1175 11B8;D301;1110 1175 11B8;
+D302;D302;1110 1175 11B9;D302;1110 1175 11B9;
+D303;D303;1110 1175 11BA;D303;1110 1175 11BA;
+D304;D304;1110 1175 11BB;D304;1110 1175 11BB;
+D305;D305;1110 1175 11BC;D305;1110 1175 11BC;
+D306;D306;1110 1175 11BD;D306;1110 1175 11BD;
+D307;D307;1110 1175 11BE;D307;1110 1175 11BE;
+D308;D308;1110 1175 11BF;D308;1110 1175 11BF;
+D309;D309;1110 1175 11C0;D309;1110 1175 11C0;
+D30A;D30A;1110 1175 11C1;D30A;1110 1175 11C1;
+D30B;D30B;1110 1175 11C2;D30B;1110 1175 11C2;
+D30C;D30C;1111 1161;D30C;1111 1161;
+D30D;D30D;1111 1161 11A8;D30D;1111 1161 11A8;
+D30E;D30E;1111 1161 11A9;D30E;1111 1161 11A9;
+D30F;D30F;1111 1161 11AA;D30F;1111 1161 11AA;
+D310;D310;1111 1161 11AB;D310;1111 1161 11AB;
+D311;D311;1111 1161 11AC;D311;1111 1161 11AC;
+D312;D312;1111 1161 11AD;D312;1111 1161 11AD;
+D313;D313;1111 1161 11AE;D313;1111 1161 11AE;
+D314;D314;1111 1161 11AF;D314;1111 1161 11AF;
+D315;D315;1111 1161 11B0;D315;1111 1161 11B0;
+D316;D316;1111 1161 11B1;D316;1111 1161 11B1;
+D317;D317;1111 1161 11B2;D317;1111 1161 11B2;
+D318;D318;1111 1161 11B3;D318;1111 1161 11B3;
+D319;D319;1111 1161 11B4;D319;1111 1161 11B4;
+D31A;D31A;1111 1161 11B5;D31A;1111 1161 11B5;
+D31B;D31B;1111 1161 11B6;D31B;1111 1161 11B6;
+D31C;D31C;1111 1161 11B7;D31C;1111 1161 11B7;
+D31D;D31D;1111 1161 11B8;D31D;1111 1161 11B8;
+D31E;D31E;1111 1161 11B9;D31E;1111 1161 11B9;
+D31F;D31F;1111 1161 11BA;D31F;1111 1161 11BA;
+D320;D320;1111 1161 11BB;D320;1111 1161 11BB;
+D321;D321;1111 1161 11BC;D321;1111 1161 11BC;
+D322;D322;1111 1161 11BD;D322;1111 1161 11BD;
+D323;D323;1111 1161 11BE;D323;1111 1161 11BE;
+D324;D324;1111 1161 11BF;D324;1111 1161 11BF;
+D325;D325;1111 1161 11C0;D325;1111 1161 11C0;
+D326;D326;1111 1161 11C1;D326;1111 1161 11C1;
+D327;D327;1111 1161 11C2;D327;1111 1161 11C2;
+D328;D328;1111 1162;D328;1111 1162;
+D329;D329;1111 1162 11A8;D329;1111 1162 11A8;
+D32A;D32A;1111 1162 11A9;D32A;1111 1162 11A9;
+D32B;D32B;1111 1162 11AA;D32B;1111 1162 11AA;
+D32C;D32C;1111 1162 11AB;D32C;1111 1162 11AB;
+D32D;D32D;1111 1162 11AC;D32D;1111 1162 11AC;
+D32E;D32E;1111 1162 11AD;D32E;1111 1162 11AD;
+D32F;D32F;1111 1162 11AE;D32F;1111 1162 11AE;
+D330;D330;1111 1162 11AF;D330;1111 1162 11AF;
+D331;D331;1111 1162 11B0;D331;1111 1162 11B0;
+D332;D332;1111 1162 11B1;D332;1111 1162 11B1;
+D333;D333;1111 1162 11B2;D333;1111 1162 11B2;
+D334;D334;1111 1162 11B3;D334;1111 1162 11B3;
+D335;D335;1111 1162 11B4;D335;1111 1162 11B4;
+D336;D336;1111 1162 11B5;D336;1111 1162 11B5;
+D337;D337;1111 1162 11B6;D337;1111 1162 11B6;
+D338;D338;1111 1162 11B7;D338;1111 1162 11B7;
+D339;D339;1111 1162 11B8;D339;1111 1162 11B8;
+D33A;D33A;1111 1162 11B9;D33A;1111 1162 11B9;
+D33B;D33B;1111 1162 11BA;D33B;1111 1162 11BA;
+D33C;D33C;1111 1162 11BB;D33C;1111 1162 11BB;
+D33D;D33D;1111 1162 11BC;D33D;1111 1162 11BC;
+D33E;D33E;1111 1162 11BD;D33E;1111 1162 11BD;
+D33F;D33F;1111 1162 11BE;D33F;1111 1162 11BE;
+D340;D340;1111 1162 11BF;D340;1111 1162 11BF;
+D341;D341;1111 1162 11C0;D341;1111 1162 11C0;
+D342;D342;1111 1162 11C1;D342;1111 1162 11C1;
+D343;D343;1111 1162 11C2;D343;1111 1162 11C2;
+D344;D344;1111 1163;D344;1111 1163;
+D345;D345;1111 1163 11A8;D345;1111 1163 11A8;
+D346;D346;1111 1163 11A9;D346;1111 1163 11A9;
+D347;D347;1111 1163 11AA;D347;1111 1163 11AA;
+D348;D348;1111 1163 11AB;D348;1111 1163 11AB;
+D349;D349;1111 1163 11AC;D349;1111 1163 11AC;
+D34A;D34A;1111 1163 11AD;D34A;1111 1163 11AD;
+D34B;D34B;1111 1163 11AE;D34B;1111 1163 11AE;
+D34C;D34C;1111 1163 11AF;D34C;1111 1163 11AF;
+D34D;D34D;1111 1163 11B0;D34D;1111 1163 11B0;
+D34E;D34E;1111 1163 11B1;D34E;1111 1163 11B1;
+D34F;D34F;1111 1163 11B2;D34F;1111 1163 11B2;
+D350;D350;1111 1163 11B3;D350;1111 1163 11B3;
+D351;D351;1111 1163 11B4;D351;1111 1163 11B4;
+D352;D352;1111 1163 11B5;D352;1111 1163 11B5;
+D353;D353;1111 1163 11B6;D353;1111 1163 11B6;
+D354;D354;1111 1163 11B7;D354;1111 1163 11B7;
+D355;D355;1111 1163 11B8;D355;1111 1163 11B8;
+D356;D356;1111 1163 11B9;D356;1111 1163 11B9;
+D357;D357;1111 1163 11BA;D357;1111 1163 11BA;
+D358;D358;1111 1163 11BB;D358;1111 1163 11BB;
+D359;D359;1111 1163 11BC;D359;1111 1163 11BC;
+D35A;D35A;1111 1163 11BD;D35A;1111 1163 11BD;
+D35B;D35B;1111 1163 11BE;D35B;1111 1163 11BE;
+D35C;D35C;1111 1163 11BF;D35C;1111 1163 11BF;
+D35D;D35D;1111 1163 11C0;D35D;1111 1163 11C0;
+D35E;D35E;1111 1163 11C1;D35E;1111 1163 11C1;
+D35F;D35F;1111 1163 11C2;D35F;1111 1163 11C2;
+D360;D360;1111 1164;D360;1111 1164;
+D361;D361;1111 1164 11A8;D361;1111 1164 11A8;
+D362;D362;1111 1164 11A9;D362;1111 1164 11A9;
+D363;D363;1111 1164 11AA;D363;1111 1164 11AA;
+D364;D364;1111 1164 11AB;D364;1111 1164 11AB;
+D365;D365;1111 1164 11AC;D365;1111 1164 11AC;
+D366;D366;1111 1164 11AD;D366;1111 1164 11AD;
+D367;D367;1111 1164 11AE;D367;1111 1164 11AE;
+D368;D368;1111 1164 11AF;D368;1111 1164 11AF;
+D369;D369;1111 1164 11B0;D369;1111 1164 11B0;
+D36A;D36A;1111 1164 11B1;D36A;1111 1164 11B1;
+D36B;D36B;1111 1164 11B2;D36B;1111 1164 11B2;
+D36C;D36C;1111 1164 11B3;D36C;1111 1164 11B3;
+D36D;D36D;1111 1164 11B4;D36D;1111 1164 11B4;
+D36E;D36E;1111 1164 11B5;D36E;1111 1164 11B5;
+D36F;D36F;1111 1164 11B6;D36F;1111 1164 11B6;
+D370;D370;1111 1164 11B7;D370;1111 1164 11B7;
+D371;D371;1111 1164 11B8;D371;1111 1164 11B8;
+D372;D372;1111 1164 11B9;D372;1111 1164 11B9;
+D373;D373;1111 1164 11BA;D373;1111 1164 11BA;
+D374;D374;1111 1164 11BB;D374;1111 1164 11BB;
+D375;D375;1111 1164 11BC;D375;1111 1164 11BC;
+D376;D376;1111 1164 11BD;D376;1111 1164 11BD;
+D377;D377;1111 1164 11BE;D377;1111 1164 11BE;
+D378;D378;1111 1164 11BF;D378;1111 1164 11BF;
+D379;D379;1111 1164 11C0;D379;1111 1164 11C0;
+D37A;D37A;1111 1164 11C1;D37A;1111 1164 11C1;
+D37B;D37B;1111 1164 11C2;D37B;1111 1164 11C2;
+D37C;D37C;1111 1165;D37C;1111 1165;
+D37D;D37D;1111 1165 11A8;D37D;1111 1165 11A8;
+D37E;D37E;1111 1165 11A9;D37E;1111 1165 11A9;
+D37F;D37F;1111 1165 11AA;D37F;1111 1165 11AA;
+D380;D380;1111 1165 11AB;D380;1111 1165 11AB;
+D381;D381;1111 1165 11AC;D381;1111 1165 11AC;
+D382;D382;1111 1165 11AD;D382;1111 1165 11AD;
+D383;D383;1111 1165 11AE;D383;1111 1165 11AE;
+D384;D384;1111 1165 11AF;D384;1111 1165 11AF;
+D385;D385;1111 1165 11B0;D385;1111 1165 11B0;
+D386;D386;1111 1165 11B1;D386;1111 1165 11B1;
+D387;D387;1111 1165 11B2;D387;1111 1165 11B2;
+D388;D388;1111 1165 11B3;D388;1111 1165 11B3;
+D389;D389;1111 1165 11B4;D389;1111 1165 11B4;
+D38A;D38A;1111 1165 11B5;D38A;1111 1165 11B5;
+D38B;D38B;1111 1165 11B6;D38B;1111 1165 11B6;
+D38C;D38C;1111 1165 11B7;D38C;1111 1165 11B7;
+D38D;D38D;1111 1165 11B8;D38D;1111 1165 11B8;
+D38E;D38E;1111 1165 11B9;D38E;1111 1165 11B9;
+D38F;D38F;1111 1165 11BA;D38F;1111 1165 11BA;
+D390;D390;1111 1165 11BB;D390;1111 1165 11BB;
+D391;D391;1111 1165 11BC;D391;1111 1165 11BC;
+D392;D392;1111 1165 11BD;D392;1111 1165 11BD;
+D393;D393;1111 1165 11BE;D393;1111 1165 11BE;
+D394;D394;1111 1165 11BF;D394;1111 1165 11BF;
+D395;D395;1111 1165 11C0;D395;1111 1165 11C0;
+D396;D396;1111 1165 11C1;D396;1111 1165 11C1;
+D397;D397;1111 1165 11C2;D397;1111 1165 11C2;
+D398;D398;1111 1166;D398;1111 1166;
+D399;D399;1111 1166 11A8;D399;1111 1166 11A8;
+D39A;D39A;1111 1166 11A9;D39A;1111 1166 11A9;
+D39B;D39B;1111 1166 11AA;D39B;1111 1166 11AA;
+D39C;D39C;1111 1166 11AB;D39C;1111 1166 11AB;
+D39D;D39D;1111 1166 11AC;D39D;1111 1166 11AC;
+D39E;D39E;1111 1166 11AD;D39E;1111 1166 11AD;
+D39F;D39F;1111 1166 11AE;D39F;1111 1166 11AE;
+D3A0;D3A0;1111 1166 11AF;D3A0;1111 1166 11AF;
+D3A1;D3A1;1111 1166 11B0;D3A1;1111 1166 11B0;
+D3A2;D3A2;1111 1166 11B1;D3A2;1111 1166 11B1;
+D3A3;D3A3;1111 1166 11B2;D3A3;1111 1166 11B2;
+D3A4;D3A4;1111 1166 11B3;D3A4;1111 1166 11B3;
+D3A5;D3A5;1111 1166 11B4;D3A5;1111 1166 11B4;
+D3A6;D3A6;1111 1166 11B5;D3A6;1111 1166 11B5;
+D3A7;D3A7;1111 1166 11B6;D3A7;1111 1166 11B6;
+D3A8;D3A8;1111 1166 11B7;D3A8;1111 1166 11B7;
+D3A9;D3A9;1111 1166 11B8;D3A9;1111 1166 11B8;
+D3AA;D3AA;1111 1166 11B9;D3AA;1111 1166 11B9;
+D3AB;D3AB;1111 1166 11BA;D3AB;1111 1166 11BA;
+D3AC;D3AC;1111 1166 11BB;D3AC;1111 1166 11BB;
+D3AD;D3AD;1111 1166 11BC;D3AD;1111 1166 11BC;
+D3AE;D3AE;1111 1166 11BD;D3AE;1111 1166 11BD;
+D3AF;D3AF;1111 1166 11BE;D3AF;1111 1166 11BE;
+D3B0;D3B0;1111 1166 11BF;D3B0;1111 1166 11BF;
+D3B1;D3B1;1111 1166 11C0;D3B1;1111 1166 11C0;
+D3B2;D3B2;1111 1166 11C1;D3B2;1111 1166 11C1;
+D3B3;D3B3;1111 1166 11C2;D3B3;1111 1166 11C2;
+D3B4;D3B4;1111 1167;D3B4;1111 1167;
+D3B5;D3B5;1111 1167 11A8;D3B5;1111 1167 11A8;
+D3B6;D3B6;1111 1167 11A9;D3B6;1111 1167 11A9;
+D3B7;D3B7;1111 1167 11AA;D3B7;1111 1167 11AA;
+D3B8;D3B8;1111 1167 11AB;D3B8;1111 1167 11AB;
+D3B9;D3B9;1111 1167 11AC;D3B9;1111 1167 11AC;
+D3BA;D3BA;1111 1167 11AD;D3BA;1111 1167 11AD;
+D3BB;D3BB;1111 1167 11AE;D3BB;1111 1167 11AE;
+D3BC;D3BC;1111 1167 11AF;D3BC;1111 1167 11AF;
+D3BD;D3BD;1111 1167 11B0;D3BD;1111 1167 11B0;
+D3BE;D3BE;1111 1167 11B1;D3BE;1111 1167 11B1;
+D3BF;D3BF;1111 1167 11B2;D3BF;1111 1167 11B2;
+D3C0;D3C0;1111 1167 11B3;D3C0;1111 1167 11B3;
+D3C1;D3C1;1111 1167 11B4;D3C1;1111 1167 11B4;
+D3C2;D3C2;1111 1167 11B5;D3C2;1111 1167 11B5;
+D3C3;D3C3;1111 1167 11B6;D3C3;1111 1167 11B6;
+D3C4;D3C4;1111 1167 11B7;D3C4;1111 1167 11B7;
+D3C5;D3C5;1111 1167 11B8;D3C5;1111 1167 11B8;
+D3C6;D3C6;1111 1167 11B9;D3C6;1111 1167 11B9;
+D3C7;D3C7;1111 1167 11BA;D3C7;1111 1167 11BA;
+D3C8;D3C8;1111 1167 11BB;D3C8;1111 1167 11BB;
+D3C9;D3C9;1111 1167 11BC;D3C9;1111 1167 11BC;
+D3CA;D3CA;1111 1167 11BD;D3CA;1111 1167 11BD;
+D3CB;D3CB;1111 1167 11BE;D3CB;1111 1167 11BE;
+D3CC;D3CC;1111 1167 11BF;D3CC;1111 1167 11BF;
+D3CD;D3CD;1111 1167 11C0;D3CD;1111 1167 11C0;
+D3CE;D3CE;1111 1167 11C1;D3CE;1111 1167 11C1;
+D3CF;D3CF;1111 1167 11C2;D3CF;1111 1167 11C2;
+D3D0;D3D0;1111 1168;D3D0;1111 1168;
+D3D1;D3D1;1111 1168 11A8;D3D1;1111 1168 11A8;
+D3D2;D3D2;1111 1168 11A9;D3D2;1111 1168 11A9;
+D3D3;D3D3;1111 1168 11AA;D3D3;1111 1168 11AA;
+D3D4;D3D4;1111 1168 11AB;D3D4;1111 1168 11AB;
+D3D5;D3D5;1111 1168 11AC;D3D5;1111 1168 11AC;
+D3D6;D3D6;1111 1168 11AD;D3D6;1111 1168 11AD;
+D3D7;D3D7;1111 1168 11AE;D3D7;1111 1168 11AE;
+D3D8;D3D8;1111 1168 11AF;D3D8;1111 1168 11AF;
+D3D9;D3D9;1111 1168 11B0;D3D9;1111 1168 11B0;
+D3DA;D3DA;1111 1168 11B1;D3DA;1111 1168 11B1;
+D3DB;D3DB;1111 1168 11B2;D3DB;1111 1168 11B2;
+D3DC;D3DC;1111 1168 11B3;D3DC;1111 1168 11B3;
+D3DD;D3DD;1111 1168 11B4;D3DD;1111 1168 11B4;
+D3DE;D3DE;1111 1168 11B5;D3DE;1111 1168 11B5;
+D3DF;D3DF;1111 1168 11B6;D3DF;1111 1168 11B6;
+D3E0;D3E0;1111 1168 11B7;D3E0;1111 1168 11B7;
+D3E1;D3E1;1111 1168 11B8;D3E1;1111 1168 11B8;
+D3E2;D3E2;1111 1168 11B9;D3E2;1111 1168 11B9;
+D3E3;D3E3;1111 1168 11BA;D3E3;1111 1168 11BA;
+D3E4;D3E4;1111 1168 11BB;D3E4;1111 1168 11BB;
+D3E5;D3E5;1111 1168 11BC;D3E5;1111 1168 11BC;
+D3E6;D3E6;1111 1168 11BD;D3E6;1111 1168 11BD;
+D3E7;D3E7;1111 1168 11BE;D3E7;1111 1168 11BE;
+D3E8;D3E8;1111 1168 11BF;D3E8;1111 1168 11BF;
+D3E9;D3E9;1111 1168 11C0;D3E9;1111 1168 11C0;
+D3EA;D3EA;1111 1168 11C1;D3EA;1111 1168 11C1;
+D3EB;D3EB;1111 1168 11C2;D3EB;1111 1168 11C2;
+D3EC;D3EC;1111 1169;D3EC;1111 1169;
+D3ED;D3ED;1111 1169 11A8;D3ED;1111 1169 11A8;
+D3EE;D3EE;1111 1169 11A9;D3EE;1111 1169 11A9;
+D3EF;D3EF;1111 1169 11AA;D3EF;1111 1169 11AA;
+D3F0;D3F0;1111 1169 11AB;D3F0;1111 1169 11AB;
+D3F1;D3F1;1111 1169 11AC;D3F1;1111 1169 11AC;
+D3F2;D3F2;1111 1169 11AD;D3F2;1111 1169 11AD;
+D3F3;D3F3;1111 1169 11AE;D3F3;1111 1169 11AE;
+D3F4;D3F4;1111 1169 11AF;D3F4;1111 1169 11AF;
+D3F5;D3F5;1111 1169 11B0;D3F5;1111 1169 11B0;
+D3F6;D3F6;1111 1169 11B1;D3F6;1111 1169 11B1;
+D3F7;D3F7;1111 1169 11B2;D3F7;1111 1169 11B2;
+D3F8;D3F8;1111 1169 11B3;D3F8;1111 1169 11B3;
+D3F9;D3F9;1111 1169 11B4;D3F9;1111 1169 11B4;
+D3FA;D3FA;1111 1169 11B5;D3FA;1111 1169 11B5;
+D3FB;D3FB;1111 1169 11B6;D3FB;1111 1169 11B6;
+D3FC;D3FC;1111 1169 11B7;D3FC;1111 1169 11B7;
+D3FD;D3FD;1111 1169 11B8;D3FD;1111 1169 11B8;
+D3FE;D3FE;1111 1169 11B9;D3FE;1111 1169 11B9;
+D3FF;D3FF;1111 1169 11BA;D3FF;1111 1169 11BA;
+D400;D400;1111 1169 11BB;D400;1111 1169 11BB;
+D401;D401;1111 1169 11BC;D401;1111 1169 11BC;
+D402;D402;1111 1169 11BD;D402;1111 1169 11BD;
+D403;D403;1111 1169 11BE;D403;1111 1169 11BE;
+D404;D404;1111 1169 11BF;D404;1111 1169 11BF;
+D405;D405;1111 1169 11C0;D405;1111 1169 11C0;
+D406;D406;1111 1169 11C1;D406;1111 1169 11C1;
+D407;D407;1111 1169 11C2;D407;1111 1169 11C2;
+D408;D408;1111 116A;D408;1111 116A;
+D409;D409;1111 116A 11A8;D409;1111 116A 11A8;
+D40A;D40A;1111 116A 11A9;D40A;1111 116A 11A9;
+D40B;D40B;1111 116A 11AA;D40B;1111 116A 11AA;
+D40C;D40C;1111 116A 11AB;D40C;1111 116A 11AB;
+D40D;D40D;1111 116A 11AC;D40D;1111 116A 11AC;
+D40E;D40E;1111 116A 11AD;D40E;1111 116A 11AD;
+D40F;D40F;1111 116A 11AE;D40F;1111 116A 11AE;
+D410;D410;1111 116A 11AF;D410;1111 116A 11AF;
+D411;D411;1111 116A 11B0;D411;1111 116A 11B0;
+D412;D412;1111 116A 11B1;D412;1111 116A 11B1;
+D413;D413;1111 116A 11B2;D413;1111 116A 11B2;
+D414;D414;1111 116A 11B3;D414;1111 116A 11B3;
+D415;D415;1111 116A 11B4;D415;1111 116A 11B4;
+D416;D416;1111 116A 11B5;D416;1111 116A 11B5;
+D417;D417;1111 116A 11B6;D417;1111 116A 11B6;
+D418;D418;1111 116A 11B7;D418;1111 116A 11B7;
+D419;D419;1111 116A 11B8;D419;1111 116A 11B8;
+D41A;D41A;1111 116A 11B9;D41A;1111 116A 11B9;
+D41B;D41B;1111 116A 11BA;D41B;1111 116A 11BA;
+D41C;D41C;1111 116A 11BB;D41C;1111 116A 11BB;
+D41D;D41D;1111 116A 11BC;D41D;1111 116A 11BC;
+D41E;D41E;1111 116A 11BD;D41E;1111 116A 11BD;
+D41F;D41F;1111 116A 11BE;D41F;1111 116A 11BE;
+D420;D420;1111 116A 11BF;D420;1111 116A 11BF;
+D421;D421;1111 116A 11C0;D421;1111 116A 11C0;
+D422;D422;1111 116A 11C1;D422;1111 116A 11C1;
+D423;D423;1111 116A 11C2;D423;1111 116A 11C2;
+D424;D424;1111 116B;D424;1111 116B;
+D425;D425;1111 116B 11A8;D425;1111 116B 11A8;
+D426;D426;1111 116B 11A9;D426;1111 116B 11A9;
+D427;D427;1111 116B 11AA;D427;1111 116B 11AA;
+D428;D428;1111 116B 11AB;D428;1111 116B 11AB;
+D429;D429;1111 116B 11AC;D429;1111 116B 11AC;
+D42A;D42A;1111 116B 11AD;D42A;1111 116B 11AD;
+D42B;D42B;1111 116B 11AE;D42B;1111 116B 11AE;
+D42C;D42C;1111 116B 11AF;D42C;1111 116B 11AF;
+D42D;D42D;1111 116B 11B0;D42D;1111 116B 11B0;
+D42E;D42E;1111 116B 11B1;D42E;1111 116B 11B1;
+D42F;D42F;1111 116B 11B2;D42F;1111 116B 11B2;
+D430;D430;1111 116B 11B3;D430;1111 116B 11B3;
+D431;D431;1111 116B 11B4;D431;1111 116B 11B4;
+D432;D432;1111 116B 11B5;D432;1111 116B 11B5;
+D433;D433;1111 116B 11B6;D433;1111 116B 11B6;
+D434;D434;1111 116B 11B7;D434;1111 116B 11B7;
+D435;D435;1111 116B 11B8;D435;1111 116B 11B8;
+D436;D436;1111 116B 11B9;D436;1111 116B 11B9;
+D437;D437;1111 116B 11BA;D437;1111 116B 11BA;
+D438;D438;1111 116B 11BB;D438;1111 116B 11BB;
+D439;D439;1111 116B 11BC;D439;1111 116B 11BC;
+D43A;D43A;1111 116B 11BD;D43A;1111 116B 11BD;
+D43B;D43B;1111 116B 11BE;D43B;1111 116B 11BE;
+D43C;D43C;1111 116B 11BF;D43C;1111 116B 11BF;
+D43D;D43D;1111 116B 11C0;D43D;1111 116B 11C0;
+D43E;D43E;1111 116B 11C1;D43E;1111 116B 11C1;
+D43F;D43F;1111 116B 11C2;D43F;1111 116B 11C2;
+D440;D440;1111 116C;D440;1111 116C;
+D441;D441;1111 116C 11A8;D441;1111 116C 11A8;
+D442;D442;1111 116C 11A9;D442;1111 116C 11A9;
+D443;D443;1111 116C 11AA;D443;1111 116C 11AA;
+D444;D444;1111 116C 11AB;D444;1111 116C 11AB;
+D445;D445;1111 116C 11AC;D445;1111 116C 11AC;
+D446;D446;1111 116C 11AD;D446;1111 116C 11AD;
+D447;D447;1111 116C 11AE;D447;1111 116C 11AE;
+D448;D448;1111 116C 11AF;D448;1111 116C 11AF;
+D449;D449;1111 116C 11B0;D449;1111 116C 11B0;
+D44A;D44A;1111 116C 11B1;D44A;1111 116C 11B1;
+D44B;D44B;1111 116C 11B2;D44B;1111 116C 11B2;
+D44C;D44C;1111 116C 11B3;D44C;1111 116C 11B3;
+D44D;D44D;1111 116C 11B4;D44D;1111 116C 11B4;
+D44E;D44E;1111 116C 11B5;D44E;1111 116C 11B5;
+D44F;D44F;1111 116C 11B6;D44F;1111 116C 11B6;
+D450;D450;1111 116C 11B7;D450;1111 116C 11B7;
+D451;D451;1111 116C 11B8;D451;1111 116C 11B8;
+D452;D452;1111 116C 11B9;D452;1111 116C 11B9;
+D453;D453;1111 116C 11BA;D453;1111 116C 11BA;
+D454;D454;1111 116C 11BB;D454;1111 116C 11BB;
+D455;D455;1111 116C 11BC;D455;1111 116C 11BC;
+D456;D456;1111 116C 11BD;D456;1111 116C 11BD;
+D457;D457;1111 116C 11BE;D457;1111 116C 11BE;
+D458;D458;1111 116C 11BF;D458;1111 116C 11BF;
+D459;D459;1111 116C 11C0;D459;1111 116C 11C0;
+D45A;D45A;1111 116C 11C1;D45A;1111 116C 11C1;
+D45B;D45B;1111 116C 11C2;D45B;1111 116C 11C2;
+D45C;D45C;1111 116D;D45C;1111 116D;
+D45D;D45D;1111 116D 11A8;D45D;1111 116D 11A8;
+D45E;D45E;1111 116D 11A9;D45E;1111 116D 11A9;
+D45F;D45F;1111 116D 11AA;D45F;1111 116D 11AA;
+D460;D460;1111 116D 11AB;D460;1111 116D 11AB;
+D461;D461;1111 116D 11AC;D461;1111 116D 11AC;
+D462;D462;1111 116D 11AD;D462;1111 116D 11AD;
+D463;D463;1111 116D 11AE;D463;1111 116D 11AE;
+D464;D464;1111 116D 11AF;D464;1111 116D 11AF;
+D465;D465;1111 116D 11B0;D465;1111 116D 11B0;
+D466;D466;1111 116D 11B1;D466;1111 116D 11B1;
+D467;D467;1111 116D 11B2;D467;1111 116D 11B2;
+D468;D468;1111 116D 11B3;D468;1111 116D 11B3;
+D469;D469;1111 116D 11B4;D469;1111 116D 11B4;
+D46A;D46A;1111 116D 11B5;D46A;1111 116D 11B5;
+D46B;D46B;1111 116D 11B6;D46B;1111 116D 11B6;
+D46C;D46C;1111 116D 11B7;D46C;1111 116D 11B7;
+D46D;D46D;1111 116D 11B8;D46D;1111 116D 11B8;
+D46E;D46E;1111 116D 11B9;D46E;1111 116D 11B9;
+D46F;D46F;1111 116D 11BA;D46F;1111 116D 11BA;
+D470;D470;1111 116D 11BB;D470;1111 116D 11BB;
+D471;D471;1111 116D 11BC;D471;1111 116D 11BC;
+D472;D472;1111 116D 11BD;D472;1111 116D 11BD;
+D473;D473;1111 116D 11BE;D473;1111 116D 11BE;
+D474;D474;1111 116D 11BF;D474;1111 116D 11BF;
+D475;D475;1111 116D 11C0;D475;1111 116D 11C0;
+D476;D476;1111 116D 11C1;D476;1111 116D 11C1;
+D477;D477;1111 116D 11C2;D477;1111 116D 11C2;
+D478;D478;1111 116E;D478;1111 116E;
+D479;D479;1111 116E 11A8;D479;1111 116E 11A8;
+D47A;D47A;1111 116E 11A9;D47A;1111 116E 11A9;
+D47B;D47B;1111 116E 11AA;D47B;1111 116E 11AA;
+D47C;D47C;1111 116E 11AB;D47C;1111 116E 11AB;
+D47D;D47D;1111 116E 11AC;D47D;1111 116E 11AC;
+D47E;D47E;1111 116E 11AD;D47E;1111 116E 11AD;
+D47F;D47F;1111 116E 11AE;D47F;1111 116E 11AE;
+D480;D480;1111 116E 11AF;D480;1111 116E 11AF;
+D481;D481;1111 116E 11B0;D481;1111 116E 11B0;
+D482;D482;1111 116E 11B1;D482;1111 116E 11B1;
+D483;D483;1111 116E 11B2;D483;1111 116E 11B2;
+D484;D484;1111 116E 11B3;D484;1111 116E 11B3;
+D485;D485;1111 116E 11B4;D485;1111 116E 11B4;
+D486;D486;1111 116E 11B5;D486;1111 116E 11B5;
+D487;D487;1111 116E 11B6;D487;1111 116E 11B6;
+D488;D488;1111 116E 11B7;D488;1111 116E 11B7;
+D489;D489;1111 116E 11B8;D489;1111 116E 11B8;
+D48A;D48A;1111 116E 11B9;D48A;1111 116E 11B9;
+D48B;D48B;1111 116E 11BA;D48B;1111 116E 11BA;
+D48C;D48C;1111 116E 11BB;D48C;1111 116E 11BB;
+D48D;D48D;1111 116E 11BC;D48D;1111 116E 11BC;
+D48E;D48E;1111 116E 11BD;D48E;1111 116E 11BD;
+D48F;D48F;1111 116E 11BE;D48F;1111 116E 11BE;
+D490;D490;1111 116E 11BF;D490;1111 116E 11BF;
+D491;D491;1111 116E 11C0;D491;1111 116E 11C0;
+D492;D492;1111 116E 11C1;D492;1111 116E 11C1;
+D493;D493;1111 116E 11C2;D493;1111 116E 11C2;
+D494;D494;1111 116F;D494;1111 116F;
+D495;D495;1111 116F 11A8;D495;1111 116F 11A8;
+D496;D496;1111 116F 11A9;D496;1111 116F 11A9;
+D497;D497;1111 116F 11AA;D497;1111 116F 11AA;
+D498;D498;1111 116F 11AB;D498;1111 116F 11AB;
+D499;D499;1111 116F 11AC;D499;1111 116F 11AC;
+D49A;D49A;1111 116F 11AD;D49A;1111 116F 11AD;
+D49B;D49B;1111 116F 11AE;D49B;1111 116F 11AE;
+D49C;D49C;1111 116F 11AF;D49C;1111 116F 11AF;
+D49D;D49D;1111 116F 11B0;D49D;1111 116F 11B0;
+D49E;D49E;1111 116F 11B1;D49E;1111 116F 11B1;
+D49F;D49F;1111 116F 11B2;D49F;1111 116F 11B2;
+D4A0;D4A0;1111 116F 11B3;D4A0;1111 116F 11B3;
+D4A1;D4A1;1111 116F 11B4;D4A1;1111 116F 11B4;
+D4A2;D4A2;1111 116F 11B5;D4A2;1111 116F 11B5;
+D4A3;D4A3;1111 116F 11B6;D4A3;1111 116F 11B6;
+D4A4;D4A4;1111 116F 11B7;D4A4;1111 116F 11B7;
+D4A5;D4A5;1111 116F 11B8;D4A5;1111 116F 11B8;
+D4A6;D4A6;1111 116F 11B9;D4A6;1111 116F 11B9;
+D4A7;D4A7;1111 116F 11BA;D4A7;1111 116F 11BA;
+D4A8;D4A8;1111 116F 11BB;D4A8;1111 116F 11BB;
+D4A9;D4A9;1111 116F 11BC;D4A9;1111 116F 11BC;
+D4AA;D4AA;1111 116F 11BD;D4AA;1111 116F 11BD;
+D4AB;D4AB;1111 116F 11BE;D4AB;1111 116F 11BE;
+D4AC;D4AC;1111 116F 11BF;D4AC;1111 116F 11BF;
+D4AD;D4AD;1111 116F 11C0;D4AD;1111 116F 11C0;
+D4AE;D4AE;1111 116F 11C1;D4AE;1111 116F 11C1;
+D4AF;D4AF;1111 116F 11C2;D4AF;1111 116F 11C2;
+D4B0;D4B0;1111 1170;D4B0;1111 1170;
+D4B1;D4B1;1111 1170 11A8;D4B1;1111 1170 11A8;
+D4B2;D4B2;1111 1170 11A9;D4B2;1111 1170 11A9;
+D4B3;D4B3;1111 1170 11AA;D4B3;1111 1170 11AA;
+D4B4;D4B4;1111 1170 11AB;D4B4;1111 1170 11AB;
+D4B5;D4B5;1111 1170 11AC;D4B5;1111 1170 11AC;
+D4B6;D4B6;1111 1170 11AD;D4B6;1111 1170 11AD;
+D4B7;D4B7;1111 1170 11AE;D4B7;1111 1170 11AE;
+D4B8;D4B8;1111 1170 11AF;D4B8;1111 1170 11AF;
+D4B9;D4B9;1111 1170 11B0;D4B9;1111 1170 11B0;
+D4BA;D4BA;1111 1170 11B1;D4BA;1111 1170 11B1;
+D4BB;D4BB;1111 1170 11B2;D4BB;1111 1170 11B2;
+D4BC;D4BC;1111 1170 11B3;D4BC;1111 1170 11B3;
+D4BD;D4BD;1111 1170 11B4;D4BD;1111 1170 11B4;
+D4BE;D4BE;1111 1170 11B5;D4BE;1111 1170 11B5;
+D4BF;D4BF;1111 1170 11B6;D4BF;1111 1170 11B6;
+D4C0;D4C0;1111 1170 11B7;D4C0;1111 1170 11B7;
+D4C1;D4C1;1111 1170 11B8;D4C1;1111 1170 11B8;
+D4C2;D4C2;1111 1170 11B9;D4C2;1111 1170 11B9;
+D4C3;D4C3;1111 1170 11BA;D4C3;1111 1170 11BA;
+D4C4;D4C4;1111 1170 11BB;D4C4;1111 1170 11BB;
+D4C5;D4C5;1111 1170 11BC;D4C5;1111 1170 11BC;
+D4C6;D4C6;1111 1170 11BD;D4C6;1111 1170 11BD;
+D4C7;D4C7;1111 1170 11BE;D4C7;1111 1170 11BE;
+D4C8;D4C8;1111 1170 11BF;D4C8;1111 1170 11BF;
+D4C9;D4C9;1111 1170 11C0;D4C9;1111 1170 11C0;
+D4CA;D4CA;1111 1170 11C1;D4CA;1111 1170 11C1;
+D4CB;D4CB;1111 1170 11C2;D4CB;1111 1170 11C2;
+D4CC;D4CC;1111 1171;D4CC;1111 1171;
+D4CD;D4CD;1111 1171 11A8;D4CD;1111 1171 11A8;
+D4CE;D4CE;1111 1171 11A9;D4CE;1111 1171 11A9;
+D4CF;D4CF;1111 1171 11AA;D4CF;1111 1171 11AA;
+D4D0;D4D0;1111 1171 11AB;D4D0;1111 1171 11AB;
+D4D1;D4D1;1111 1171 11AC;D4D1;1111 1171 11AC;
+D4D2;D4D2;1111 1171 11AD;D4D2;1111 1171 11AD;
+D4D3;D4D3;1111 1171 11AE;D4D3;1111 1171 11AE;
+D4D4;D4D4;1111 1171 11AF;D4D4;1111 1171 11AF;
+D4D5;D4D5;1111 1171 11B0;D4D5;1111 1171 11B0;
+D4D6;D4D6;1111 1171 11B1;D4D6;1111 1171 11B1;
+D4D7;D4D7;1111 1171 11B2;D4D7;1111 1171 11B2;
+D4D8;D4D8;1111 1171 11B3;D4D8;1111 1171 11B3;
+D4D9;D4D9;1111 1171 11B4;D4D9;1111 1171 11B4;
+D4DA;D4DA;1111 1171 11B5;D4DA;1111 1171 11B5;
+D4DB;D4DB;1111 1171 11B6;D4DB;1111 1171 11B6;
+D4DC;D4DC;1111 1171 11B7;D4DC;1111 1171 11B7;
+D4DD;D4DD;1111 1171 11B8;D4DD;1111 1171 11B8;
+D4DE;D4DE;1111 1171 11B9;D4DE;1111 1171 11B9;
+D4DF;D4DF;1111 1171 11BA;D4DF;1111 1171 11BA;
+D4E0;D4E0;1111 1171 11BB;D4E0;1111 1171 11BB;
+D4E1;D4E1;1111 1171 11BC;D4E1;1111 1171 11BC;
+D4E2;D4E2;1111 1171 11BD;D4E2;1111 1171 11BD;
+D4E3;D4E3;1111 1171 11BE;D4E3;1111 1171 11BE;
+D4E4;D4E4;1111 1171 11BF;D4E4;1111 1171 11BF;
+D4E5;D4E5;1111 1171 11C0;D4E5;1111 1171 11C0;
+D4E6;D4E6;1111 1171 11C1;D4E6;1111 1171 11C1;
+D4E7;D4E7;1111 1171 11C2;D4E7;1111 1171 11C2;
+D4E8;D4E8;1111 1172;D4E8;1111 1172;
+D4E9;D4E9;1111 1172 11A8;D4E9;1111 1172 11A8;
+D4EA;D4EA;1111 1172 11A9;D4EA;1111 1172 11A9;
+D4EB;D4EB;1111 1172 11AA;D4EB;1111 1172 11AA;
+D4EC;D4EC;1111 1172 11AB;D4EC;1111 1172 11AB;
+D4ED;D4ED;1111 1172 11AC;D4ED;1111 1172 11AC;
+D4EE;D4EE;1111 1172 11AD;D4EE;1111 1172 11AD;
+D4EF;D4EF;1111 1172 11AE;D4EF;1111 1172 11AE;
+D4F0;D4F0;1111 1172 11AF;D4F0;1111 1172 11AF;
+D4F1;D4F1;1111 1172 11B0;D4F1;1111 1172 11B0;
+D4F2;D4F2;1111 1172 11B1;D4F2;1111 1172 11B1;
+D4F3;D4F3;1111 1172 11B2;D4F3;1111 1172 11B2;
+D4F4;D4F4;1111 1172 11B3;D4F4;1111 1172 11B3;
+D4F5;D4F5;1111 1172 11B4;D4F5;1111 1172 11B4;
+D4F6;D4F6;1111 1172 11B5;D4F6;1111 1172 11B5;
+D4F7;D4F7;1111 1172 11B6;D4F7;1111 1172 11B6;
+D4F8;D4F8;1111 1172 11B7;D4F8;1111 1172 11B7;
+D4F9;D4F9;1111 1172 11B8;D4F9;1111 1172 11B8;
+D4FA;D4FA;1111 1172 11B9;D4FA;1111 1172 11B9;
+D4FB;D4FB;1111 1172 11BA;D4FB;1111 1172 11BA;
+D4FC;D4FC;1111 1172 11BB;D4FC;1111 1172 11BB;
+D4FD;D4FD;1111 1172 11BC;D4FD;1111 1172 11BC;
+D4FE;D4FE;1111 1172 11BD;D4FE;1111 1172 11BD;
+D4FF;D4FF;1111 1172 11BE;D4FF;1111 1172 11BE;
+D500;D500;1111 1172 11BF;D500;1111 1172 11BF;
+D501;D501;1111 1172 11C0;D501;1111 1172 11C0;
+D502;D502;1111 1172 11C1;D502;1111 1172 11C1;
+D503;D503;1111 1172 11C2;D503;1111 1172 11C2;
+D504;D504;1111 1173;D504;1111 1173;
+D505;D505;1111 1173 11A8;D505;1111 1173 11A8;
+D506;D506;1111 1173 11A9;D506;1111 1173 11A9;
+D507;D507;1111 1173 11AA;D507;1111 1173 11AA;
+D508;D508;1111 1173 11AB;D508;1111 1173 11AB;
+D509;D509;1111 1173 11AC;D509;1111 1173 11AC;
+D50A;D50A;1111 1173 11AD;D50A;1111 1173 11AD;
+D50B;D50B;1111 1173 11AE;D50B;1111 1173 11AE;
+D50C;D50C;1111 1173 11AF;D50C;1111 1173 11AF;
+D50D;D50D;1111 1173 11B0;D50D;1111 1173 11B0;
+D50E;D50E;1111 1173 11B1;D50E;1111 1173 11B1;
+D50F;D50F;1111 1173 11B2;D50F;1111 1173 11B2;
+D510;D510;1111 1173 11B3;D510;1111 1173 11B3;
+D511;D511;1111 1173 11B4;D511;1111 1173 11B4;
+D512;D512;1111 1173 11B5;D512;1111 1173 11B5;
+D513;D513;1111 1173 11B6;D513;1111 1173 11B6;
+D514;D514;1111 1173 11B7;D514;1111 1173 11B7;
+D515;D515;1111 1173 11B8;D515;1111 1173 11B8;
+D516;D516;1111 1173 11B9;D516;1111 1173 11B9;
+D517;D517;1111 1173 11BA;D517;1111 1173 11BA;
+D518;D518;1111 1173 11BB;D518;1111 1173 11BB;
+D519;D519;1111 1173 11BC;D519;1111 1173 11BC;
+D51A;D51A;1111 1173 11BD;D51A;1111 1173 11BD;
+D51B;D51B;1111 1173 11BE;D51B;1111 1173 11BE;
+D51C;D51C;1111 1173 11BF;D51C;1111 1173 11BF;
+D51D;D51D;1111 1173 11C0;D51D;1111 1173 11C0;
+D51E;D51E;1111 1173 11C1;D51E;1111 1173 11C1;
+D51F;D51F;1111 1173 11C2;D51F;1111 1173 11C2;
+D520;D520;1111 1174;D520;1111 1174;
+D521;D521;1111 1174 11A8;D521;1111 1174 11A8;
+D522;D522;1111 1174 11A9;D522;1111 1174 11A9;
+D523;D523;1111 1174 11AA;D523;1111 1174 11AA;
+D524;D524;1111 1174 11AB;D524;1111 1174 11AB;
+D525;D525;1111 1174 11AC;D525;1111 1174 11AC;
+D526;D526;1111 1174 11AD;D526;1111 1174 11AD;
+D527;D527;1111 1174 11AE;D527;1111 1174 11AE;
+D528;D528;1111 1174 11AF;D528;1111 1174 11AF;
+D529;D529;1111 1174 11B0;D529;1111 1174 11B0;
+D52A;D52A;1111 1174 11B1;D52A;1111 1174 11B1;
+D52B;D52B;1111 1174 11B2;D52B;1111 1174 11B2;
+D52C;D52C;1111 1174 11B3;D52C;1111 1174 11B3;
+D52D;D52D;1111 1174 11B4;D52D;1111 1174 11B4;
+D52E;D52E;1111 1174 11B5;D52E;1111 1174 11B5;
+D52F;D52F;1111 1174 11B6;D52F;1111 1174 11B6;
+D530;D530;1111 1174 11B7;D530;1111 1174 11B7;
+D531;D531;1111 1174 11B8;D531;1111 1174 11B8;
+D532;D532;1111 1174 11B9;D532;1111 1174 11B9;
+D533;D533;1111 1174 11BA;D533;1111 1174 11BA;
+D534;D534;1111 1174 11BB;D534;1111 1174 11BB;
+D535;D535;1111 1174 11BC;D535;1111 1174 11BC;
+D536;D536;1111 1174 11BD;D536;1111 1174 11BD;
+D537;D537;1111 1174 11BE;D537;1111 1174 11BE;
+D538;D538;1111 1174 11BF;D538;1111 1174 11BF;
+D539;D539;1111 1174 11C0;D539;1111 1174 11C0;
+D53A;D53A;1111 1174 11C1;D53A;1111 1174 11C1;
+D53B;D53B;1111 1174 11C2;D53B;1111 1174 11C2;
+D53C;D53C;1111 1175;D53C;1111 1175;
+D53D;D53D;1111 1175 11A8;D53D;1111 1175 11A8;
+D53E;D53E;1111 1175 11A9;D53E;1111 1175 11A9;
+D53F;D53F;1111 1175 11AA;D53F;1111 1175 11AA;
+D540;D540;1111 1175 11AB;D540;1111 1175 11AB;
+D541;D541;1111 1175 11AC;D541;1111 1175 11AC;
+D542;D542;1111 1175 11AD;D542;1111 1175 11AD;
+D543;D543;1111 1175 11AE;D543;1111 1175 11AE;
+D544;D544;1111 1175 11AF;D544;1111 1175 11AF;
+D545;D545;1111 1175 11B0;D545;1111 1175 11B0;
+D546;D546;1111 1175 11B1;D546;1111 1175 11B1;
+D547;D547;1111 1175 11B2;D547;1111 1175 11B2;
+D548;D548;1111 1175 11B3;D548;1111 1175 11B3;
+D549;D549;1111 1175 11B4;D549;1111 1175 11B4;
+D54A;D54A;1111 1175 11B5;D54A;1111 1175 11B5;
+D54B;D54B;1111 1175 11B6;D54B;1111 1175 11B6;
+D54C;D54C;1111 1175 11B7;D54C;1111 1175 11B7;
+D54D;D54D;1111 1175 11B8;D54D;1111 1175 11B8;
+D54E;D54E;1111 1175 11B9;D54E;1111 1175 11B9;
+D54F;D54F;1111 1175 11BA;D54F;1111 1175 11BA;
+D550;D550;1111 1175 11BB;D550;1111 1175 11BB;
+D551;D551;1111 1175 11BC;D551;1111 1175 11BC;
+D552;D552;1111 1175 11BD;D552;1111 1175 11BD;
+D553;D553;1111 1175 11BE;D553;1111 1175 11BE;
+D554;D554;1111 1175 11BF;D554;1111 1175 11BF;
+D555;D555;1111 1175 11C0;D555;1111 1175 11C0;
+D556;D556;1111 1175 11C1;D556;1111 1175 11C1;
+D557;D557;1111 1175 11C2;D557;1111 1175 11C2;
+D558;D558;1112 1161;D558;1112 1161;
+D559;D559;1112 1161 11A8;D559;1112 1161 11A8;
+D55A;D55A;1112 1161 11A9;D55A;1112 1161 11A9;
+D55B;D55B;1112 1161 11AA;D55B;1112 1161 11AA;
+D55C;D55C;1112 1161 11AB;D55C;1112 1161 11AB;
+D55D;D55D;1112 1161 11AC;D55D;1112 1161 11AC;
+D55E;D55E;1112 1161 11AD;D55E;1112 1161 11AD;
+D55F;D55F;1112 1161 11AE;D55F;1112 1161 11AE;
+D560;D560;1112 1161 11AF;D560;1112 1161 11AF;
+D561;D561;1112 1161 11B0;D561;1112 1161 11B0;
+D562;D562;1112 1161 11B1;D562;1112 1161 11B1;
+D563;D563;1112 1161 11B2;D563;1112 1161 11B2;
+D564;D564;1112 1161 11B3;D564;1112 1161 11B3;
+D565;D565;1112 1161 11B4;D565;1112 1161 11B4;
+D566;D566;1112 1161 11B5;D566;1112 1161 11B5;
+D567;D567;1112 1161 11B6;D567;1112 1161 11B6;
+D568;D568;1112 1161 11B7;D568;1112 1161 11B7;
+D569;D569;1112 1161 11B8;D569;1112 1161 11B8;
+D56A;D56A;1112 1161 11B9;D56A;1112 1161 11B9;
+D56B;D56B;1112 1161 11BA;D56B;1112 1161 11BA;
+D56C;D56C;1112 1161 11BB;D56C;1112 1161 11BB;
+D56D;D56D;1112 1161 11BC;D56D;1112 1161 11BC;
+D56E;D56E;1112 1161 11BD;D56E;1112 1161 11BD;
+D56F;D56F;1112 1161 11BE;D56F;1112 1161 11BE;
+D570;D570;1112 1161 11BF;D570;1112 1161 11BF;
+D571;D571;1112 1161 11C0;D571;1112 1161 11C0;
+D572;D572;1112 1161 11C1;D572;1112 1161 11C1;
+D573;D573;1112 1161 11C2;D573;1112 1161 11C2;
+D574;D574;1112 1162;D574;1112 1162;
+D575;D575;1112 1162 11A8;D575;1112 1162 11A8;
+D576;D576;1112 1162 11A9;D576;1112 1162 11A9;
+D577;D577;1112 1162 11AA;D577;1112 1162 11AA;
+D578;D578;1112 1162 11AB;D578;1112 1162 11AB;
+D579;D579;1112 1162 11AC;D579;1112 1162 11AC;
+D57A;D57A;1112 1162 11AD;D57A;1112 1162 11AD;
+D57B;D57B;1112 1162 11AE;D57B;1112 1162 11AE;
+D57C;D57C;1112 1162 11AF;D57C;1112 1162 11AF;
+D57D;D57D;1112 1162 11B0;D57D;1112 1162 11B0;
+D57E;D57E;1112 1162 11B1;D57E;1112 1162 11B1;
+D57F;D57F;1112 1162 11B2;D57F;1112 1162 11B2;
+D580;D580;1112 1162 11B3;D580;1112 1162 11B3;
+D581;D581;1112 1162 11B4;D581;1112 1162 11B4;
+D582;D582;1112 1162 11B5;D582;1112 1162 11B5;
+D583;D583;1112 1162 11B6;D583;1112 1162 11B6;
+D584;D584;1112 1162 11B7;D584;1112 1162 11B7;
+D585;D585;1112 1162 11B8;D585;1112 1162 11B8;
+D586;D586;1112 1162 11B9;D586;1112 1162 11B9;
+D587;D587;1112 1162 11BA;D587;1112 1162 11BA;
+D588;D588;1112 1162 11BB;D588;1112 1162 11BB;
+D589;D589;1112 1162 11BC;D589;1112 1162 11BC;
+D58A;D58A;1112 1162 11BD;D58A;1112 1162 11BD;
+D58B;D58B;1112 1162 11BE;D58B;1112 1162 11BE;
+D58C;D58C;1112 1162 11BF;D58C;1112 1162 11BF;
+D58D;D58D;1112 1162 11C0;D58D;1112 1162 11C0;
+D58E;D58E;1112 1162 11C1;D58E;1112 1162 11C1;
+D58F;D58F;1112 1162 11C2;D58F;1112 1162 11C2;
+D590;D590;1112 1163;D590;1112 1163;
+D591;D591;1112 1163 11A8;D591;1112 1163 11A8;
+D592;D592;1112 1163 11A9;D592;1112 1163 11A9;
+D593;D593;1112 1163 11AA;D593;1112 1163 11AA;
+D594;D594;1112 1163 11AB;D594;1112 1163 11AB;
+D595;D595;1112 1163 11AC;D595;1112 1163 11AC;
+D596;D596;1112 1163 11AD;D596;1112 1163 11AD;
+D597;D597;1112 1163 11AE;D597;1112 1163 11AE;
+D598;D598;1112 1163 11AF;D598;1112 1163 11AF;
+D599;D599;1112 1163 11B0;D599;1112 1163 11B0;
+D59A;D59A;1112 1163 11B1;D59A;1112 1163 11B1;
+D59B;D59B;1112 1163 11B2;D59B;1112 1163 11B2;
+D59C;D59C;1112 1163 11B3;D59C;1112 1163 11B3;
+D59D;D59D;1112 1163 11B4;D59D;1112 1163 11B4;
+D59E;D59E;1112 1163 11B5;D59E;1112 1163 11B5;
+D59F;D59F;1112 1163 11B6;D59F;1112 1163 11B6;
+D5A0;D5A0;1112 1163 11B7;D5A0;1112 1163 11B7;
+D5A1;D5A1;1112 1163 11B8;D5A1;1112 1163 11B8;
+D5A2;D5A2;1112 1163 11B9;D5A2;1112 1163 11B9;
+D5A3;D5A3;1112 1163 11BA;D5A3;1112 1163 11BA;
+D5A4;D5A4;1112 1163 11BB;D5A4;1112 1163 11BB;
+D5A5;D5A5;1112 1163 11BC;D5A5;1112 1163 11BC;
+D5A6;D5A6;1112 1163 11BD;D5A6;1112 1163 11BD;
+D5A7;D5A7;1112 1163 11BE;D5A7;1112 1163 11BE;
+D5A8;D5A8;1112 1163 11BF;D5A8;1112 1163 11BF;
+D5A9;D5A9;1112 1163 11C0;D5A9;1112 1163 11C0;
+D5AA;D5AA;1112 1163 11C1;D5AA;1112 1163 11C1;
+D5AB;D5AB;1112 1163 11C2;D5AB;1112 1163 11C2;
+D5AC;D5AC;1112 1164;D5AC;1112 1164;
+D5AD;D5AD;1112 1164 11A8;D5AD;1112 1164 11A8;
+D5AE;D5AE;1112 1164 11A9;D5AE;1112 1164 11A9;
+D5AF;D5AF;1112 1164 11AA;D5AF;1112 1164 11AA;
+D5B0;D5B0;1112 1164 11AB;D5B0;1112 1164 11AB;
+D5B1;D5B1;1112 1164 11AC;D5B1;1112 1164 11AC;
+D5B2;D5B2;1112 1164 11AD;D5B2;1112 1164 11AD;
+D5B3;D5B3;1112 1164 11AE;D5B3;1112 1164 11AE;
+D5B4;D5B4;1112 1164 11AF;D5B4;1112 1164 11AF;
+D5B5;D5B5;1112 1164 11B0;D5B5;1112 1164 11B0;
+D5B6;D5B6;1112 1164 11B1;D5B6;1112 1164 11B1;
+D5B7;D5B7;1112 1164 11B2;D5B7;1112 1164 11B2;
+D5B8;D5B8;1112 1164 11B3;D5B8;1112 1164 11B3;
+D5B9;D5B9;1112 1164 11B4;D5B9;1112 1164 11B4;
+D5BA;D5BA;1112 1164 11B5;D5BA;1112 1164 11B5;
+D5BB;D5BB;1112 1164 11B6;D5BB;1112 1164 11B6;
+D5BC;D5BC;1112 1164 11B7;D5BC;1112 1164 11B7;
+D5BD;D5BD;1112 1164 11B8;D5BD;1112 1164 11B8;
+D5BE;D5BE;1112 1164 11B9;D5BE;1112 1164 11B9;
+D5BF;D5BF;1112 1164 11BA;D5BF;1112 1164 11BA;
+D5C0;D5C0;1112 1164 11BB;D5C0;1112 1164 11BB;
+D5C1;D5C1;1112 1164 11BC;D5C1;1112 1164 11BC;
+D5C2;D5C2;1112 1164 11BD;D5C2;1112 1164 11BD;
+D5C3;D5C3;1112 1164 11BE;D5C3;1112 1164 11BE;
+D5C4;D5C4;1112 1164 11BF;D5C4;1112 1164 11BF;
+D5C5;D5C5;1112 1164 11C0;D5C5;1112 1164 11C0;
+D5C6;D5C6;1112 1164 11C1;D5C6;1112 1164 11C1;
+D5C7;D5C7;1112 1164 11C2;D5C7;1112 1164 11C2;
+D5C8;D5C8;1112 1165;D5C8;1112 1165;
+D5C9;D5C9;1112 1165 11A8;D5C9;1112 1165 11A8;
+D5CA;D5CA;1112 1165 11A9;D5CA;1112 1165 11A9;
+D5CB;D5CB;1112 1165 11AA;D5CB;1112 1165 11AA;
+D5CC;D5CC;1112 1165 11AB;D5CC;1112 1165 11AB;
+D5CD;D5CD;1112 1165 11AC;D5CD;1112 1165 11AC;
+D5CE;D5CE;1112 1165 11AD;D5CE;1112 1165 11AD;
+D5CF;D5CF;1112 1165 11AE;D5CF;1112 1165 11AE;
+D5D0;D5D0;1112 1165 11AF;D5D0;1112 1165 11AF;
+D5D1;D5D1;1112 1165 11B0;D5D1;1112 1165 11B0;
+D5D2;D5D2;1112 1165 11B1;D5D2;1112 1165 11B1;
+D5D3;D5D3;1112 1165 11B2;D5D3;1112 1165 11B2;
+D5D4;D5D4;1112 1165 11B3;D5D4;1112 1165 11B3;
+D5D5;D5D5;1112 1165 11B4;D5D5;1112 1165 11B4;
+D5D6;D5D6;1112 1165 11B5;D5D6;1112 1165 11B5;
+D5D7;D5D7;1112 1165 11B6;D5D7;1112 1165 11B6;
+D5D8;D5D8;1112 1165 11B7;D5D8;1112 1165 11B7;
+D5D9;D5D9;1112 1165 11B8;D5D9;1112 1165 11B8;
+D5DA;D5DA;1112 1165 11B9;D5DA;1112 1165 11B9;
+D5DB;D5DB;1112 1165 11BA;D5DB;1112 1165 11BA;
+D5DC;D5DC;1112 1165 11BB;D5DC;1112 1165 11BB;
+D5DD;D5DD;1112 1165 11BC;D5DD;1112 1165 11BC;
+D5DE;D5DE;1112 1165 11BD;D5DE;1112 1165 11BD;
+D5DF;D5DF;1112 1165 11BE;D5DF;1112 1165 11BE;
+D5E0;D5E0;1112 1165 11BF;D5E0;1112 1165 11BF;
+D5E1;D5E1;1112 1165 11C0;D5E1;1112 1165 11C0;
+D5E2;D5E2;1112 1165 11C1;D5E2;1112 1165 11C1;
+D5E3;D5E3;1112 1165 11C2;D5E3;1112 1165 11C2;
+D5E4;D5E4;1112 1166;D5E4;1112 1166;
+D5E5;D5E5;1112 1166 11A8;D5E5;1112 1166 11A8;
+D5E6;D5E6;1112 1166 11A9;D5E6;1112 1166 11A9;
+D5E7;D5E7;1112 1166 11AA;D5E7;1112 1166 11AA;
+D5E8;D5E8;1112 1166 11AB;D5E8;1112 1166 11AB;
+D5E9;D5E9;1112 1166 11AC;D5E9;1112 1166 11AC;
+D5EA;D5EA;1112 1166 11AD;D5EA;1112 1166 11AD;
+D5EB;D5EB;1112 1166 11AE;D5EB;1112 1166 11AE;
+D5EC;D5EC;1112 1166 11AF;D5EC;1112 1166 11AF;
+D5ED;D5ED;1112 1166 11B0;D5ED;1112 1166 11B0;
+D5EE;D5EE;1112 1166 11B1;D5EE;1112 1166 11B1;
+D5EF;D5EF;1112 1166 11B2;D5EF;1112 1166 11B2;
+D5F0;D5F0;1112 1166 11B3;D5F0;1112 1166 11B3;
+D5F1;D5F1;1112 1166 11B4;D5F1;1112 1166 11B4;
+D5F2;D5F2;1112 1166 11B5;D5F2;1112 1166 11B5;
+D5F3;D5F3;1112 1166 11B6;D5F3;1112 1166 11B6;
+D5F4;D5F4;1112 1166 11B7;D5F4;1112 1166 11B7;
+D5F5;D5F5;1112 1166 11B8;D5F5;1112 1166 11B8;
+D5F6;D5F6;1112 1166 11B9;D5F6;1112 1166 11B9;
+D5F7;D5F7;1112 1166 11BA;D5F7;1112 1166 11BA;
+D5F8;D5F8;1112 1166 11BB;D5F8;1112 1166 11BB;
+D5F9;D5F9;1112 1166 11BC;D5F9;1112 1166 11BC;
+D5FA;D5FA;1112 1166 11BD;D5FA;1112 1166 11BD;
+D5FB;D5FB;1112 1166 11BE;D5FB;1112 1166 11BE;
+D5FC;D5FC;1112 1166 11BF;D5FC;1112 1166 11BF;
+D5FD;D5FD;1112 1166 11C0;D5FD;1112 1166 11C0;
+D5FE;D5FE;1112 1166 11C1;D5FE;1112 1166 11C1;
+D5FF;D5FF;1112 1166 11C2;D5FF;1112 1166 11C2;
+D600;D600;1112 1167;D600;1112 1167;
+D601;D601;1112 1167 11A8;D601;1112 1167 11A8;
+D602;D602;1112 1167 11A9;D602;1112 1167 11A9;
+D603;D603;1112 1167 11AA;D603;1112 1167 11AA;
+D604;D604;1112 1167 11AB;D604;1112 1167 11AB;
+D605;D605;1112 1167 11AC;D605;1112 1167 11AC;
+D606;D606;1112 1167 11AD;D606;1112 1167 11AD;
+D607;D607;1112 1167 11AE;D607;1112 1167 11AE;
+D608;D608;1112 1167 11AF;D608;1112 1167 11AF;
+D609;D609;1112 1167 11B0;D609;1112 1167 11B0;
+D60A;D60A;1112 1167 11B1;D60A;1112 1167 11B1;
+D60B;D60B;1112 1167 11B2;D60B;1112 1167 11B2;
+D60C;D60C;1112 1167 11B3;D60C;1112 1167 11B3;
+D60D;D60D;1112 1167 11B4;D60D;1112 1167 11B4;
+D60E;D60E;1112 1167 11B5;D60E;1112 1167 11B5;
+D60F;D60F;1112 1167 11B6;D60F;1112 1167 11B6;
+D610;D610;1112 1167 11B7;D610;1112 1167 11B7;
+D611;D611;1112 1167 11B8;D611;1112 1167 11B8;
+D612;D612;1112 1167 11B9;D612;1112 1167 11B9;
+D613;D613;1112 1167 11BA;D613;1112 1167 11BA;
+D614;D614;1112 1167 11BB;D614;1112 1167 11BB;
+D615;D615;1112 1167 11BC;D615;1112 1167 11BC;
+D616;D616;1112 1167 11BD;D616;1112 1167 11BD;
+D617;D617;1112 1167 11BE;D617;1112 1167 11BE;
+D618;D618;1112 1167 11BF;D618;1112 1167 11BF;
+D619;D619;1112 1167 11C0;D619;1112 1167 11C0;
+D61A;D61A;1112 1167 11C1;D61A;1112 1167 11C1;
+D61B;D61B;1112 1167 11C2;D61B;1112 1167 11C2;
+D61C;D61C;1112 1168;D61C;1112 1168;
+D61D;D61D;1112 1168 11A8;D61D;1112 1168 11A8;
+D61E;D61E;1112 1168 11A9;D61E;1112 1168 11A9;
+D61F;D61F;1112 1168 11AA;D61F;1112 1168 11AA;
+D620;D620;1112 1168 11AB;D620;1112 1168 11AB;
+D621;D621;1112 1168 11AC;D621;1112 1168 11AC;
+D622;D622;1112 1168 11AD;D622;1112 1168 11AD;
+D623;D623;1112 1168 11AE;D623;1112 1168 11AE;
+D624;D624;1112 1168 11AF;D624;1112 1168 11AF;
+D625;D625;1112 1168 11B0;D625;1112 1168 11B0;
+D626;D626;1112 1168 11B1;D626;1112 1168 11B1;
+D627;D627;1112 1168 11B2;D627;1112 1168 11B2;
+D628;D628;1112 1168 11B3;D628;1112 1168 11B3;
+D629;D629;1112 1168 11B4;D629;1112 1168 11B4;
+D62A;D62A;1112 1168 11B5;D62A;1112 1168 11B5;
+D62B;D62B;1112 1168 11B6;D62B;1112 1168 11B6;
+D62C;D62C;1112 1168 11B7;D62C;1112 1168 11B7;
+D62D;D62D;1112 1168 11B8;D62D;1112 1168 11B8;
+D62E;D62E;1112 1168 11B9;D62E;1112 1168 11B9;
+D62F;D62F;1112 1168 11BA;D62F;1112 1168 11BA;
+D630;D630;1112 1168 11BB;D630;1112 1168 11BB;
+D631;D631;1112 1168 11BC;D631;1112 1168 11BC;
+D632;D632;1112 1168 11BD;D632;1112 1168 11BD;
+D633;D633;1112 1168 11BE;D633;1112 1168 11BE;
+D634;D634;1112 1168 11BF;D634;1112 1168 11BF;
+D635;D635;1112 1168 11C0;D635;1112 1168 11C0;
+D636;D636;1112 1168 11C1;D636;1112 1168 11C1;
+D637;D637;1112 1168 11C2;D637;1112 1168 11C2;
+D638;D638;1112 1169;D638;1112 1169;
+D639;D639;1112 1169 11A8;D639;1112 1169 11A8;
+D63A;D63A;1112 1169 11A9;D63A;1112 1169 11A9;
+D63B;D63B;1112 1169 11AA;D63B;1112 1169 11AA;
+D63C;D63C;1112 1169 11AB;D63C;1112 1169 11AB;
+D63D;D63D;1112 1169 11AC;D63D;1112 1169 11AC;
+D63E;D63E;1112 1169 11AD;D63E;1112 1169 11AD;
+D63F;D63F;1112 1169 11AE;D63F;1112 1169 11AE;
+D640;D640;1112 1169 11AF;D640;1112 1169 11AF;
+D641;D641;1112 1169 11B0;D641;1112 1169 11B0;
+D642;D642;1112 1169 11B1;D642;1112 1169 11B1;
+D643;D643;1112 1169 11B2;D643;1112 1169 11B2;
+D644;D644;1112 1169 11B3;D644;1112 1169 11B3;
+D645;D645;1112 1169 11B4;D645;1112 1169 11B4;
+D646;D646;1112 1169 11B5;D646;1112 1169 11B5;
+D647;D647;1112 1169 11B6;D647;1112 1169 11B6;
+D648;D648;1112 1169 11B7;D648;1112 1169 11B7;
+D649;D649;1112 1169 11B8;D649;1112 1169 11B8;
+D64A;D64A;1112 1169 11B9;D64A;1112 1169 11B9;
+D64B;D64B;1112 1169 11BA;D64B;1112 1169 11BA;
+D64C;D64C;1112 1169 11BB;D64C;1112 1169 11BB;
+D64D;D64D;1112 1169 11BC;D64D;1112 1169 11BC;
+D64E;D64E;1112 1169 11BD;D64E;1112 1169 11BD;
+D64F;D64F;1112 1169 11BE;D64F;1112 1169 11BE;
+D650;D650;1112 1169 11BF;D650;1112 1169 11BF;
+D651;D651;1112 1169 11C0;D651;1112 1169 11C0;
+D652;D652;1112 1169 11C1;D652;1112 1169 11C1;
+D653;D653;1112 1169 11C2;D653;1112 1169 11C2;
+D654;D654;1112 116A;D654;1112 116A;
+D655;D655;1112 116A 11A8;D655;1112 116A 11A8;
+D656;D656;1112 116A 11A9;D656;1112 116A 11A9;
+D657;D657;1112 116A 11AA;D657;1112 116A 11AA;
+D658;D658;1112 116A 11AB;D658;1112 116A 11AB;
+D659;D659;1112 116A 11AC;D659;1112 116A 11AC;
+D65A;D65A;1112 116A 11AD;D65A;1112 116A 11AD;
+D65B;D65B;1112 116A 11AE;D65B;1112 116A 11AE;
+D65C;D65C;1112 116A 11AF;D65C;1112 116A 11AF;
+D65D;D65D;1112 116A 11B0;D65D;1112 116A 11B0;
+D65E;D65E;1112 116A 11B1;D65E;1112 116A 11B1;
+D65F;D65F;1112 116A 11B2;D65F;1112 116A 11B2;
+D660;D660;1112 116A 11B3;D660;1112 116A 11B3;
+D661;D661;1112 116A 11B4;D661;1112 116A 11B4;
+D662;D662;1112 116A 11B5;D662;1112 116A 11B5;
+D663;D663;1112 116A 11B6;D663;1112 116A 11B6;
+D664;D664;1112 116A 11B7;D664;1112 116A 11B7;
+D665;D665;1112 116A 11B8;D665;1112 116A 11B8;
+D666;D666;1112 116A 11B9;D666;1112 116A 11B9;
+D667;D667;1112 116A 11BA;D667;1112 116A 11BA;
+D668;D668;1112 116A 11BB;D668;1112 116A 11BB;
+D669;D669;1112 116A 11BC;D669;1112 116A 11BC;
+D66A;D66A;1112 116A 11BD;D66A;1112 116A 11BD;
+D66B;D66B;1112 116A 11BE;D66B;1112 116A 11BE;
+D66C;D66C;1112 116A 11BF;D66C;1112 116A 11BF;
+D66D;D66D;1112 116A 11C0;D66D;1112 116A 11C0;
+D66E;D66E;1112 116A 11C1;D66E;1112 116A 11C1;
+D66F;D66F;1112 116A 11C2;D66F;1112 116A 11C2;
+D670;D670;1112 116B;D670;1112 116B;
+D671;D671;1112 116B 11A8;D671;1112 116B 11A8;
+D672;D672;1112 116B 11A9;D672;1112 116B 11A9;
+D673;D673;1112 116B 11AA;D673;1112 116B 11AA;
+D674;D674;1112 116B 11AB;D674;1112 116B 11AB;
+D675;D675;1112 116B 11AC;D675;1112 116B 11AC;
+D676;D676;1112 116B 11AD;D676;1112 116B 11AD;
+D677;D677;1112 116B 11AE;D677;1112 116B 11AE;
+D678;D678;1112 116B 11AF;D678;1112 116B 11AF;
+D679;D679;1112 116B 11B0;D679;1112 116B 11B0;
+D67A;D67A;1112 116B 11B1;D67A;1112 116B 11B1;
+D67B;D67B;1112 116B 11B2;D67B;1112 116B 11B2;
+D67C;D67C;1112 116B 11B3;D67C;1112 116B 11B3;
+D67D;D67D;1112 116B 11B4;D67D;1112 116B 11B4;
+D67E;D67E;1112 116B 11B5;D67E;1112 116B 11B5;
+D67F;D67F;1112 116B 11B6;D67F;1112 116B 11B6;
+D680;D680;1112 116B 11B7;D680;1112 116B 11B7;
+D681;D681;1112 116B 11B8;D681;1112 116B 11B8;
+D682;D682;1112 116B 11B9;D682;1112 116B 11B9;
+D683;D683;1112 116B 11BA;D683;1112 116B 11BA;
+D684;D684;1112 116B 11BB;D684;1112 116B 11BB;
+D685;D685;1112 116B 11BC;D685;1112 116B 11BC;
+D686;D686;1112 116B 11BD;D686;1112 116B 11BD;
+D687;D687;1112 116B 11BE;D687;1112 116B 11BE;
+D688;D688;1112 116B 11BF;D688;1112 116B 11BF;
+D689;D689;1112 116B 11C0;D689;1112 116B 11C0;
+D68A;D68A;1112 116B 11C1;D68A;1112 116B 11C1;
+D68B;D68B;1112 116B 11C2;D68B;1112 116B 11C2;
+D68C;D68C;1112 116C;D68C;1112 116C;
+D68D;D68D;1112 116C 11A8;D68D;1112 116C 11A8;
+D68E;D68E;1112 116C 11A9;D68E;1112 116C 11A9;
+D68F;D68F;1112 116C 11AA;D68F;1112 116C 11AA;
+D690;D690;1112 116C 11AB;D690;1112 116C 11AB;
+D691;D691;1112 116C 11AC;D691;1112 116C 11AC;
+D692;D692;1112 116C 11AD;D692;1112 116C 11AD;
+D693;D693;1112 116C 11AE;D693;1112 116C 11AE;
+D694;D694;1112 116C 11AF;D694;1112 116C 11AF;
+D695;D695;1112 116C 11B0;D695;1112 116C 11B0;
+D696;D696;1112 116C 11B1;D696;1112 116C 11B1;
+D697;D697;1112 116C 11B2;D697;1112 116C 11B2;
+D698;D698;1112 116C 11B3;D698;1112 116C 11B3;
+D699;D699;1112 116C 11B4;D699;1112 116C 11B4;
+D69A;D69A;1112 116C 11B5;D69A;1112 116C 11B5;
+D69B;D69B;1112 116C 11B6;D69B;1112 116C 11B6;
+D69C;D69C;1112 116C 11B7;D69C;1112 116C 11B7;
+D69D;D69D;1112 116C 11B8;D69D;1112 116C 11B8;
+D69E;D69E;1112 116C 11B9;D69E;1112 116C 11B9;
+D69F;D69F;1112 116C 11BA;D69F;1112 116C 11BA;
+D6A0;D6A0;1112 116C 11BB;D6A0;1112 116C 11BB;
+D6A1;D6A1;1112 116C 11BC;D6A1;1112 116C 11BC;
+D6A2;D6A2;1112 116C 11BD;D6A2;1112 116C 11BD;
+D6A3;D6A3;1112 116C 11BE;D6A3;1112 116C 11BE;
+D6A4;D6A4;1112 116C 11BF;D6A4;1112 116C 11BF;
+D6A5;D6A5;1112 116C 11C0;D6A5;1112 116C 11C0;
+D6A6;D6A6;1112 116C 11C1;D6A6;1112 116C 11C1;
+D6A7;D6A7;1112 116C 11C2;D6A7;1112 116C 11C2;
+D6A8;D6A8;1112 116D;D6A8;1112 116D;
+D6A9;D6A9;1112 116D 11A8;D6A9;1112 116D 11A8;
+D6AA;D6AA;1112 116D 11A9;D6AA;1112 116D 11A9;
+D6AB;D6AB;1112 116D 11AA;D6AB;1112 116D 11AA;
+D6AC;D6AC;1112 116D 11AB;D6AC;1112 116D 11AB;
+D6AD;D6AD;1112 116D 11AC;D6AD;1112 116D 11AC;
+D6AE;D6AE;1112 116D 11AD;D6AE;1112 116D 11AD;
+D6AF;D6AF;1112 116D 11AE;D6AF;1112 116D 11AE;
+D6B0;D6B0;1112 116D 11AF;D6B0;1112 116D 11AF;
+D6B1;D6B1;1112 116D 11B0;D6B1;1112 116D 11B0;
+D6B2;D6B2;1112 116D 11B1;D6B2;1112 116D 11B1;
+D6B3;D6B3;1112 116D 11B2;D6B3;1112 116D 11B2;
+D6B4;D6B4;1112 116D 11B3;D6B4;1112 116D 11B3;
+D6B5;D6B5;1112 116D 11B4;D6B5;1112 116D 11B4;
+D6B6;D6B6;1112 116D 11B5;D6B6;1112 116D 11B5;
+D6B7;D6B7;1112 116D 11B6;D6B7;1112 116D 11B6;
+D6B8;D6B8;1112 116D 11B7;D6B8;1112 116D 11B7;
+D6B9;D6B9;1112 116D 11B8;D6B9;1112 116D 11B8;
+D6BA;D6BA;1112 116D 11B9;D6BA;1112 116D 11B9;
+D6BB;D6BB;1112 116D 11BA;D6BB;1112 116D 11BA;
+D6BC;D6BC;1112 116D 11BB;D6BC;1112 116D 11BB;
+D6BD;D6BD;1112 116D 11BC;D6BD;1112 116D 11BC;
+D6BE;D6BE;1112 116D 11BD;D6BE;1112 116D 11BD;
+D6BF;D6BF;1112 116D 11BE;D6BF;1112 116D 11BE;
+D6C0;D6C0;1112 116D 11BF;D6C0;1112 116D 11BF;
+D6C1;D6C1;1112 116D 11C0;D6C1;1112 116D 11C0;
+D6C2;D6C2;1112 116D 11C1;D6C2;1112 116D 11C1;
+D6C3;D6C3;1112 116D 11C2;D6C3;1112 116D 11C2;
+D6C4;D6C4;1112 116E;D6C4;1112 116E;
+D6C5;D6C5;1112 116E 11A8;D6C5;1112 116E 11A8;
+D6C6;D6C6;1112 116E 11A9;D6C6;1112 116E 11A9;
+D6C7;D6C7;1112 116E 11AA;D6C7;1112 116E 11AA;
+D6C8;D6C8;1112 116E 11AB;D6C8;1112 116E 11AB;
+D6C9;D6C9;1112 116E 11AC;D6C9;1112 116E 11AC;
+D6CA;D6CA;1112 116E 11AD;D6CA;1112 116E 11AD;
+D6CB;D6CB;1112 116E 11AE;D6CB;1112 116E 11AE;
+D6CC;D6CC;1112 116E 11AF;D6CC;1112 116E 11AF;
+D6CD;D6CD;1112 116E 11B0;D6CD;1112 116E 11B0;
+D6CE;D6CE;1112 116E 11B1;D6CE;1112 116E 11B1;
+D6CF;D6CF;1112 116E 11B2;D6CF;1112 116E 11B2;
+D6D0;D6D0;1112 116E 11B3;D6D0;1112 116E 11B3;
+D6D1;D6D1;1112 116E 11B4;D6D1;1112 116E 11B4;
+D6D2;D6D2;1112 116E 11B5;D6D2;1112 116E 11B5;
+D6D3;D6D3;1112 116E 11B6;D6D3;1112 116E 11B6;
+D6D4;D6D4;1112 116E 11B7;D6D4;1112 116E 11B7;
+D6D5;D6D5;1112 116E 11B8;D6D5;1112 116E 11B8;
+D6D6;D6D6;1112 116E 11B9;D6D6;1112 116E 11B9;
+D6D7;D6D7;1112 116E 11BA;D6D7;1112 116E 11BA;
+D6D8;D6D8;1112 116E 11BB;D6D8;1112 116E 11BB;
+D6D9;D6D9;1112 116E 11BC;D6D9;1112 116E 11BC;
+D6DA;D6DA;1112 116E 11BD;D6DA;1112 116E 11BD;
+D6DB;D6DB;1112 116E 11BE;D6DB;1112 116E 11BE;
+D6DC;D6DC;1112 116E 11BF;D6DC;1112 116E 11BF;
+D6DD;D6DD;1112 116E 11C0;D6DD;1112 116E 11C0;
+D6DE;D6DE;1112 116E 11C1;D6DE;1112 116E 11C1;
+D6DF;D6DF;1112 116E 11C2;D6DF;1112 116E 11C2;
+D6E0;D6E0;1112 116F;D6E0;1112 116F;
+D6E1;D6E1;1112 116F 11A8;D6E1;1112 116F 11A8;
+D6E2;D6E2;1112 116F 11A9;D6E2;1112 116F 11A9;
+D6E3;D6E3;1112 116F 11AA;D6E3;1112 116F 11AA;
+D6E4;D6E4;1112 116F 11AB;D6E4;1112 116F 11AB;
+D6E5;D6E5;1112 116F 11AC;D6E5;1112 116F 11AC;
+D6E6;D6E6;1112 116F 11AD;D6E6;1112 116F 11AD;
+D6E7;D6E7;1112 116F 11AE;D6E7;1112 116F 11AE;
+D6E8;D6E8;1112 116F 11AF;D6E8;1112 116F 11AF;
+D6E9;D6E9;1112 116F 11B0;D6E9;1112 116F 11B0;
+D6EA;D6EA;1112 116F 11B1;D6EA;1112 116F 11B1;
+D6EB;D6EB;1112 116F 11B2;D6EB;1112 116F 11B2;
+D6EC;D6EC;1112 116F 11B3;D6EC;1112 116F 11B3;
+D6ED;D6ED;1112 116F 11B4;D6ED;1112 116F 11B4;
+D6EE;D6EE;1112 116F 11B5;D6EE;1112 116F 11B5;
+D6EF;D6EF;1112 116F 11B6;D6EF;1112 116F 11B6;
+D6F0;D6F0;1112 116F 11B7;D6F0;1112 116F 11B7;
+D6F1;D6F1;1112 116F 11B8;D6F1;1112 116F 11B8;
+D6F2;D6F2;1112 116F 11B9;D6F2;1112 116F 11B9;
+D6F3;D6F3;1112 116F 11BA;D6F3;1112 116F 11BA;
+D6F4;D6F4;1112 116F 11BB;D6F4;1112 116F 11BB;
+D6F5;D6F5;1112 116F 11BC;D6F5;1112 116F 11BC;
+D6F6;D6F6;1112 116F 11BD;D6F6;1112 116F 11BD;
+D6F7;D6F7;1112 116F 11BE;D6F7;1112 116F 11BE;
+D6F8;D6F8;1112 116F 11BF;D6F8;1112 116F 11BF;
+D6F9;D6F9;1112 116F 11C0;D6F9;1112 116F 11C0;
+D6FA;D6FA;1112 116F 11C1;D6FA;1112 116F 11C1;
+D6FB;D6FB;1112 116F 11C2;D6FB;1112 116F 11C2;
+D6FC;D6FC;1112 1170;D6FC;1112 1170;
+D6FD;D6FD;1112 1170 11A8;D6FD;1112 1170 11A8;
+D6FE;D6FE;1112 1170 11A9;D6FE;1112 1170 11A9;
+D6FF;D6FF;1112 1170 11AA;D6FF;1112 1170 11AA;
+D700;D700;1112 1170 11AB;D700;1112 1170 11AB;
+D701;D701;1112 1170 11AC;D701;1112 1170 11AC;
+D702;D702;1112 1170 11AD;D702;1112 1170 11AD;
+D703;D703;1112 1170 11AE;D703;1112 1170 11AE;
+D704;D704;1112 1170 11AF;D704;1112 1170 11AF;
+D705;D705;1112 1170 11B0;D705;1112 1170 11B0;
+D706;D706;1112 1170 11B1;D706;1112 1170 11B1;
+D707;D707;1112 1170 11B2;D707;1112 1170 11B2;
+D708;D708;1112 1170 11B3;D708;1112 1170 11B3;
+D709;D709;1112 1170 11B4;D709;1112 1170 11B4;
+D70A;D70A;1112 1170 11B5;D70A;1112 1170 11B5;
+D70B;D70B;1112 1170 11B6;D70B;1112 1170 11B6;
+D70C;D70C;1112 1170 11B7;D70C;1112 1170 11B7;
+D70D;D70D;1112 1170 11B8;D70D;1112 1170 11B8;
+D70E;D70E;1112 1170 11B9;D70E;1112 1170 11B9;
+D70F;D70F;1112 1170 11BA;D70F;1112 1170 11BA;
+D710;D710;1112 1170 11BB;D710;1112 1170 11BB;
+D711;D711;1112 1170 11BC;D711;1112 1170 11BC;
+D712;D712;1112 1170 11BD;D712;1112 1170 11BD;
+D713;D713;1112 1170 11BE;D713;1112 1170 11BE;
+D714;D714;1112 1170 11BF;D714;1112 1170 11BF;
+D715;D715;1112 1170 11C0;D715;1112 1170 11C0;
+D716;D716;1112 1170 11C1;D716;1112 1170 11C1;
+D717;D717;1112 1170 11C2;D717;1112 1170 11C2;
+D718;D718;1112 1171;D718;1112 1171;
+D719;D719;1112 1171 11A8;D719;1112 1171 11A8;
+D71A;D71A;1112 1171 11A9;D71A;1112 1171 11A9;
+D71B;D71B;1112 1171 11AA;D71B;1112 1171 11AA;
+D71C;D71C;1112 1171 11AB;D71C;1112 1171 11AB;
+D71D;D71D;1112 1171 11AC;D71D;1112 1171 11AC;
+D71E;D71E;1112 1171 11AD;D71E;1112 1171 11AD;
+D71F;D71F;1112 1171 11AE;D71F;1112 1171 11AE;
+D720;D720;1112 1171 11AF;D720;1112 1171 11AF;
+D721;D721;1112 1171 11B0;D721;1112 1171 11B0;
+D722;D722;1112 1171 11B1;D722;1112 1171 11B1;
+D723;D723;1112 1171 11B2;D723;1112 1171 11B2;
+D724;D724;1112 1171 11B3;D724;1112 1171 11B3;
+D725;D725;1112 1171 11B4;D725;1112 1171 11B4;
+D726;D726;1112 1171 11B5;D726;1112 1171 11B5;
+D727;D727;1112 1171 11B6;D727;1112 1171 11B6;
+D728;D728;1112 1171 11B7;D728;1112 1171 11B7;
+D729;D729;1112 1171 11B8;D729;1112 1171 11B8;
+D72A;D72A;1112 1171 11B9;D72A;1112 1171 11B9;
+D72B;D72B;1112 1171 11BA;D72B;1112 1171 11BA;
+D72C;D72C;1112 1171 11BB;D72C;1112 1171 11BB;
+D72D;D72D;1112 1171 11BC;D72D;1112 1171 11BC;
+D72E;D72E;1112 1171 11BD;D72E;1112 1171 11BD;
+D72F;D72F;1112 1171 11BE;D72F;1112 1171 11BE;
+D730;D730;1112 1171 11BF;D730;1112 1171 11BF;
+D731;D731;1112 1171 11C0;D731;1112 1171 11C0;
+D732;D732;1112 1171 11C1;D732;1112 1171 11C1;
+D733;D733;1112 1171 11C2;D733;1112 1171 11C2;
+D734;D734;1112 1172;D734;1112 1172;
+D735;D735;1112 1172 11A8;D735;1112 1172 11A8;
+D736;D736;1112 1172 11A9;D736;1112 1172 11A9;
+D737;D737;1112 1172 11AA;D737;1112 1172 11AA;
+D738;D738;1112 1172 11AB;D738;1112 1172 11AB;
+D739;D739;1112 1172 11AC;D739;1112 1172 11AC;
+D73A;D73A;1112 1172 11AD;D73A;1112 1172 11AD;
+D73B;D73B;1112 1172 11AE;D73B;1112 1172 11AE;
+D73C;D73C;1112 1172 11AF;D73C;1112 1172 11AF;
+D73D;D73D;1112 1172 11B0;D73D;1112 1172 11B0;
+D73E;D73E;1112 1172 11B1;D73E;1112 1172 11B1;
+D73F;D73F;1112 1172 11B2;D73F;1112 1172 11B2;
+D740;D740;1112 1172 11B3;D740;1112 1172 11B3;
+D741;D741;1112 1172 11B4;D741;1112 1172 11B4;
+D742;D742;1112 1172 11B5;D742;1112 1172 11B5;
+D743;D743;1112 1172 11B6;D743;1112 1172 11B6;
+D744;D744;1112 1172 11B7;D744;1112 1172 11B7;
+D745;D745;1112 1172 11B8;D745;1112 1172 11B8;
+D746;D746;1112 1172 11B9;D746;1112 1172 11B9;
+D747;D747;1112 1172 11BA;D747;1112 1172 11BA;
+D748;D748;1112 1172 11BB;D748;1112 1172 11BB;
+D749;D749;1112 1172 11BC;D749;1112 1172 11BC;
+D74A;D74A;1112 1172 11BD;D74A;1112 1172 11BD;
+D74B;D74B;1112 1172 11BE;D74B;1112 1172 11BE;
+D74C;D74C;1112 1172 11BF;D74C;1112 1172 11BF;
+D74D;D74D;1112 1172 11C0;D74D;1112 1172 11C0;
+D74E;D74E;1112 1172 11C1;D74E;1112 1172 11C1;
+D74F;D74F;1112 1172 11C2;D74F;1112 1172 11C2;
+D750;D750;1112 1173;D750;1112 1173;
+D751;D751;1112 1173 11A8;D751;1112 1173 11A8;
+D752;D752;1112 1173 11A9;D752;1112 1173 11A9;
+D753;D753;1112 1173 11AA;D753;1112 1173 11AA;
+D754;D754;1112 1173 11AB;D754;1112 1173 11AB;
+D755;D755;1112 1173 11AC;D755;1112 1173 11AC;
+D756;D756;1112 1173 11AD;D756;1112 1173 11AD;
+D757;D757;1112 1173 11AE;D757;1112 1173 11AE;
+D758;D758;1112 1173 11AF;D758;1112 1173 11AF;
+D759;D759;1112 1173 11B0;D759;1112 1173 11B0;
+D75A;D75A;1112 1173 11B1;D75A;1112 1173 11B1;
+D75B;D75B;1112 1173 11B2;D75B;1112 1173 11B2;
+D75C;D75C;1112 1173 11B3;D75C;1112 1173 11B3;
+D75D;D75D;1112 1173 11B4;D75D;1112 1173 11B4;
+D75E;D75E;1112 1173 11B5;D75E;1112 1173 11B5;
+D75F;D75F;1112 1173 11B6;D75F;1112 1173 11B6;
+D760;D760;1112 1173 11B7;D760;1112 1173 11B7;
+D761;D761;1112 1173 11B8;D761;1112 1173 11B8;
+D762;D762;1112 1173 11B9;D762;1112 1173 11B9;
+D763;D763;1112 1173 11BA;D763;1112 1173 11BA;
+D764;D764;1112 1173 11BB;D764;1112 1173 11BB;
+D765;D765;1112 1173 11BC;D765;1112 1173 11BC;
+D766;D766;1112 1173 11BD;D766;1112 1173 11BD;
+D767;D767;1112 1173 11BE;D767;1112 1173 11BE;
+D768;D768;1112 1173 11BF;D768;1112 1173 11BF;
+D769;D769;1112 1173 11C0;D769;1112 1173 11C0;
+D76A;D76A;1112 1173 11C1;D76A;1112 1173 11C1;
+D76B;D76B;1112 1173 11C2;D76B;1112 1173 11C2;
+D76C;D76C;1112 1174;D76C;1112 1174;
+D76D;D76D;1112 1174 11A8;D76D;1112 1174 11A8;
+D76E;D76E;1112 1174 11A9;D76E;1112 1174 11A9;
+D76F;D76F;1112 1174 11AA;D76F;1112 1174 11AA;
+D770;D770;1112 1174 11AB;D770;1112 1174 11AB;
+D771;D771;1112 1174 11AC;D771;1112 1174 11AC;
+D772;D772;1112 1174 11AD;D772;1112 1174 11AD;
+D773;D773;1112 1174 11AE;D773;1112 1174 11AE;
+D774;D774;1112 1174 11AF;D774;1112 1174 11AF;
+D775;D775;1112 1174 11B0;D775;1112 1174 11B0;
+D776;D776;1112 1174 11B1;D776;1112 1174 11B1;
+D777;D777;1112 1174 11B2;D777;1112 1174 11B2;
+D778;D778;1112 1174 11B3;D778;1112 1174 11B3;
+D779;D779;1112 1174 11B4;D779;1112 1174 11B4;
+D77A;D77A;1112 1174 11B5;D77A;1112 1174 11B5;
+D77B;D77B;1112 1174 11B6;D77B;1112 1174 11B6;
+D77C;D77C;1112 1174 11B7;D77C;1112 1174 11B7;
+D77D;D77D;1112 1174 11B8;D77D;1112 1174 11B8;
+D77E;D77E;1112 1174 11B9;D77E;1112 1174 11B9;
+D77F;D77F;1112 1174 11BA;D77F;1112 1174 11BA;
+D780;D780;1112 1174 11BB;D780;1112 1174 11BB;
+D781;D781;1112 1174 11BC;D781;1112 1174 11BC;
+D782;D782;1112 1174 11BD;D782;1112 1174 11BD;
+D783;D783;1112 1174 11BE;D783;1112 1174 11BE;
+D784;D784;1112 1174 11BF;D784;1112 1174 11BF;
+D785;D785;1112 1174 11C0;D785;1112 1174 11C0;
+D786;D786;1112 1174 11C1;D786;1112 1174 11C1;
+D787;D787;1112 1174 11C2;D787;1112 1174 11C2;
+D788;D788;1112 1175;D788;1112 1175;
+D789;D789;1112 1175 11A8;D789;1112 1175 11A8;
+D78A;D78A;1112 1175 11A9;D78A;1112 1175 11A9;
+D78B;D78B;1112 1175 11AA;D78B;1112 1175 11AA;
+D78C;D78C;1112 1175 11AB;D78C;1112 1175 11AB;
+D78D;D78D;1112 1175 11AC;D78D;1112 1175 11AC;
+D78E;D78E;1112 1175 11AD;D78E;1112 1175 11AD;
+D78F;D78F;1112 1175 11AE;D78F;1112 1175 11AE;
+D790;D790;1112 1175 11AF;D790;1112 1175 11AF;
+D791;D791;1112 1175 11B0;D791;1112 1175 11B0;
+D792;D792;1112 1175 11B1;D792;1112 1175 11B1;
+D793;D793;1112 1175 11B2;D793;1112 1175 11B2;
+D794;D794;1112 1175 11B3;D794;1112 1175 11B3;
+D795;D795;1112 1175 11B4;D795;1112 1175 11B4;
+D796;D796;1112 1175 11B5;D796;1112 1175 11B5;
+D797;D797;1112 1175 11B6;D797;1112 1175 11B6;
+D798;D798;1112 1175 11B7;D798;1112 1175 11B7;
+D799;D799;1112 1175 11B8;D799;1112 1175 11B8;
+D79A;D79A;1112 1175 11B9;D79A;1112 1175 11B9;
+D79B;D79B;1112 1175 11BA;D79B;1112 1175 11BA;
+D79C;D79C;1112 1175 11BB;D79C;1112 1175 11BB;
+D79D;D79D;1112 1175 11BC;D79D;1112 1175 11BC;
+D79E;D79E;1112 1175 11BD;D79E;1112 1175 11BD;
+D79F;D79F;1112 1175 11BE;D79F;1112 1175 11BE;
+D7A0;D7A0;1112 1175 11BF;D7A0;1112 1175 11BF;
+D7A1;D7A1;1112 1175 11C0;D7A1;1112 1175 11C0;
+D7A2;D7A2;1112 1175 11C1;D7A2;1112 1175 11C1;
+D7A3;D7A3;1112 1175 11C2;D7A3;1112 1175 11C2;
+F900;8C48;8C48;8C48;8C48;
+F901;66F4;66F4;66F4;66F4;
+F902;8ECA;8ECA;8ECA;8ECA;
+F903;8CC8;8CC8;8CC8;8CC8;
+F904;6ED1;6ED1;6ED1;6ED1;
+F905;4E32;4E32;4E32;4E32;
+F906;53E5;53E5;53E5;53E5;
+F907;9F9C;9F9C;9F9C;9F9C;
+F908;9F9C;9F9C;9F9C;9F9C;
+F909;5951;5951;5951;5951;
+F90A;91D1;91D1;91D1;91D1;
+F90B;5587;5587;5587;5587;
+F90C;5948;5948;5948;5948;
+F90D;61F6;61F6;61F6;61F6;
+F90E;7669;7669;7669;7669;
+F90F;7F85;7F85;7F85;7F85;
+F910;863F;863F;863F;863F;
+F911;87BA;87BA;87BA;87BA;
+F912;88F8;88F8;88F8;88F8;
+F913;908F;908F;908F;908F;
+F914;6A02;6A02;6A02;6A02;
+F915;6D1B;6D1B;6D1B;6D1B;
+F916;70D9;70D9;70D9;70D9;
+F917;73DE;73DE;73DE;73DE;
+F918;843D;843D;843D;843D;
+F919;916A;916A;916A;916A;
+F91A;99F1;99F1;99F1;99F1;
+F91B;4E82;4E82;4E82;4E82;
+F91C;5375;5375;5375;5375;
+F91D;6B04;6B04;6B04;6B04;
+F91E;721B;721B;721B;721B;
+F91F;862D;862D;862D;862D;
+F920;9E1E;9E1E;9E1E;9E1E;
+F921;5D50;5D50;5D50;5D50;
+F922;6FEB;6FEB;6FEB;6FEB;
+F923;85CD;85CD;85CD;85CD;
+F924;8964;8964;8964;8964;
+F925;62C9;62C9;62C9;62C9;
+F926;81D8;81D8;81D8;81D8;
+F927;881F;881F;881F;881F;
+F928;5ECA;5ECA;5ECA;5ECA;
+F929;6717;6717;6717;6717;
+F92A;6D6A;6D6A;6D6A;6D6A;
+F92B;72FC;72FC;72FC;72FC;
+F92C;90CE;90CE;90CE;90CE;
+F92D;4F86;4F86;4F86;4F86;
+F92E;51B7;51B7;51B7;51B7;
+F92F;52DE;52DE;52DE;52DE;
+F930;64C4;64C4;64C4;64C4;
+F931;6AD3;6AD3;6AD3;6AD3;
+F932;7210;7210;7210;7210;
+F933;76E7;76E7;76E7;76E7;
+F934;8001;8001;8001;8001;
+F935;8606;8606;8606;8606;
+F936;865C;865C;865C;865C;
+F937;8DEF;8DEF;8DEF;8DEF;
+F938;9732;9732;9732;9732;
+F939;9B6F;9B6F;9B6F;9B6F;
+F93A;9DFA;9DFA;9DFA;9DFA;
+F93B;788C;788C;788C;788C;
+F93C;797F;797F;797F;797F;
+F93D;7DA0;7DA0;7DA0;7DA0;
+F93E;83C9;83C9;83C9;83C9;
+F93F;9304;9304;9304;9304;
+F940;9E7F;9E7F;9E7F;9E7F;
+F941;8AD6;8AD6;8AD6;8AD6;
+F942;58DF;58DF;58DF;58DF;
+F943;5F04;5F04;5F04;5F04;
+F944;7C60;7C60;7C60;7C60;
+F945;807E;807E;807E;807E;
+F946;7262;7262;7262;7262;
+F947;78CA;78CA;78CA;78CA;
+F948;8CC2;8CC2;8CC2;8CC2;
+F949;96F7;96F7;96F7;96F7;
+F94A;58D8;58D8;58D8;58D8;
+F94B;5C62;5C62;5C62;5C62;
+F94C;6A13;6A13;6A13;6A13;
+F94D;6DDA;6DDA;6DDA;6DDA;
+F94E;6F0F;6F0F;6F0F;6F0F;
+F94F;7D2F;7D2F;7D2F;7D2F;
+F950;7E37;7E37;7E37;7E37;
+F951;964B;964B;964B;964B;
+F952;52D2;52D2;52D2;52D2;
+F953;808B;808B;808B;808B;
+F954;51DC;51DC;51DC;51DC;
+F955;51CC;51CC;51CC;51CC;
+F956;7A1C;7A1C;7A1C;7A1C;
+F957;7DBE;7DBE;7DBE;7DBE;
+F958;83F1;83F1;83F1;83F1;
+F959;9675;9675;9675;9675;
+F95A;8B80;8B80;8B80;8B80;
+F95B;62CF;62CF;62CF;62CF;
+F95C;6A02;6A02;6A02;6A02;
+F95D;8AFE;8AFE;8AFE;8AFE;
+F95E;4E39;4E39;4E39;4E39;
+F95F;5BE7;5BE7;5BE7;5BE7;
+F960;6012;6012;6012;6012;
+F961;7387;7387;7387;7387;
+F962;7570;7570;7570;7570;
+F963;5317;5317;5317;5317;
+F964;78FB;78FB;78FB;78FB;
+F965;4FBF;4FBF;4FBF;4FBF;
+F966;5FA9;5FA9;5FA9;5FA9;
+F967;4E0D;4E0D;4E0D;4E0D;
+F968;6CCC;6CCC;6CCC;6CCC;
+F969;6578;6578;6578;6578;
+F96A;7D22;7D22;7D22;7D22;
+F96B;53C3;53C3;53C3;53C3;
+F96C;585E;585E;585E;585E;
+F96D;7701;7701;7701;7701;
+F96E;8449;8449;8449;8449;
+F96F;8AAA;8AAA;8AAA;8AAA;
+F970;6BBA;6BBA;6BBA;6BBA;
+F971;8FB0;8FB0;8FB0;8FB0;
+F972;6C88;6C88;6C88;6C88;
+F973;62FE;62FE;62FE;62FE;
+F974;82E5;82E5;82E5;82E5;
+F975;63A0;63A0;63A0;63A0;
+F976;7565;7565;7565;7565;
+F977;4EAE;4EAE;4EAE;4EAE;
+F978;5169;5169;5169;5169;
+F979;51C9;51C9;51C9;51C9;
+F97A;6881;6881;6881;6881;
+F97B;7CE7;7CE7;7CE7;7CE7;
+F97C;826F;826F;826F;826F;
+F97D;8AD2;8AD2;8AD2;8AD2;
+F97E;91CF;91CF;91CF;91CF;
+F97F;52F5;52F5;52F5;52F5;
+F980;5442;5442;5442;5442;
+F981;5973;5973;5973;5973;
+F982;5EEC;5EEC;5EEC;5EEC;
+F983;65C5;65C5;65C5;65C5;
+F984;6FFE;6FFE;6FFE;6FFE;
+F985;792A;792A;792A;792A;
+F986;95AD;95AD;95AD;95AD;
+F987;9A6A;9A6A;9A6A;9A6A;
+F988;9E97;9E97;9E97;9E97;
+F989;9ECE;9ECE;9ECE;9ECE;
+F98A;529B;529B;529B;529B;
+F98B;66C6;66C6;66C6;66C6;
+F98C;6B77;6B77;6B77;6B77;
+F98D;8F62;8F62;8F62;8F62;
+F98E;5E74;5E74;5E74;5E74;
+F98F;6190;6190;6190;6190;
+F990;6200;6200;6200;6200;
+F991;649A;649A;649A;649A;
+F992;6F23;6F23;6F23;6F23;
+F993;7149;7149;7149;7149;
+F994;7489;7489;7489;7489;
+F995;79CA;79CA;79CA;79CA;
+F996;7DF4;7DF4;7DF4;7DF4;
+F997;806F;806F;806F;806F;
+F998;8F26;8F26;8F26;8F26;
+F999;84EE;84EE;84EE;84EE;
+F99A;9023;9023;9023;9023;
+F99B;934A;934A;934A;934A;
+F99C;5217;5217;5217;5217;
+F99D;52A3;52A3;52A3;52A3;
+F99E;54BD;54BD;54BD;54BD;
+F99F;70C8;70C8;70C8;70C8;
+F9A0;88C2;88C2;88C2;88C2;
+F9A1;8AAA;8AAA;8AAA;8AAA;
+F9A2;5EC9;5EC9;5EC9;5EC9;
+F9A3;5FF5;5FF5;5FF5;5FF5;
+F9A4;637B;637B;637B;637B;
+F9A5;6BAE;6BAE;6BAE;6BAE;
+F9A6;7C3E;7C3E;7C3E;7C3E;
+F9A7;7375;7375;7375;7375;
+F9A8;4EE4;4EE4;4EE4;4EE4;
+F9A9;56F9;56F9;56F9;56F9;
+F9AA;5BE7;5BE7;5BE7;5BE7;
+F9AB;5DBA;5DBA;5DBA;5DBA;
+F9AC;601C;601C;601C;601C;
+F9AD;73B2;73B2;73B2;73B2;
+F9AE;7469;7469;7469;7469;
+F9AF;7F9A;7F9A;7F9A;7F9A;
+F9B0;8046;8046;8046;8046;
+F9B1;9234;9234;9234;9234;
+F9B2;96F6;96F6;96F6;96F6;
+F9B3;9748;9748;9748;9748;
+F9B4;9818;9818;9818;9818;
+F9B5;4F8B;4F8B;4F8B;4F8B;
+F9B6;79AE;79AE;79AE;79AE;
+F9B7;91B4;91B4;91B4;91B4;
+F9B8;96B8;96B8;96B8;96B8;
+F9B9;60E1;60E1;60E1;60E1;
+F9BA;4E86;4E86;4E86;4E86;
+F9BB;50DA;50DA;50DA;50DA;
+F9BC;5BEE;5BEE;5BEE;5BEE;
+F9BD;5C3F;5C3F;5C3F;5C3F;
+F9BE;6599;6599;6599;6599;
+F9BF;6A02;6A02;6A02;6A02;
+F9C0;71CE;71CE;71CE;71CE;
+F9C1;7642;7642;7642;7642;
+F9C2;84FC;84FC;84FC;84FC;
+F9C3;907C;907C;907C;907C;
+F9C4;9F8D;9F8D;9F8D;9F8D;
+F9C5;6688;6688;6688;6688;
+F9C6;962E;962E;962E;962E;
+F9C7;5289;5289;5289;5289;
+F9C8;677B;677B;677B;677B;
+F9C9;67F3;67F3;67F3;67F3;
+F9CA;6D41;6D41;6D41;6D41;
+F9CB;6E9C;6E9C;6E9C;6E9C;
+F9CC;7409;7409;7409;7409;
+F9CD;7559;7559;7559;7559;
+F9CE;786B;786B;786B;786B;
+F9CF;7D10;7D10;7D10;7D10;
+F9D0;985E;985E;985E;985E;
+F9D1;516D;516D;516D;516D;
+F9D2;622E;622E;622E;622E;
+F9D3;9678;9678;9678;9678;
+F9D4;502B;502B;502B;502B;
+F9D5;5D19;5D19;5D19;5D19;
+F9D6;6DEA;6DEA;6DEA;6DEA;
+F9D7;8F2A;8F2A;8F2A;8F2A;
+F9D8;5F8B;5F8B;5F8B;5F8B;
+F9D9;6144;6144;6144;6144;
+F9DA;6817;6817;6817;6817;
+F9DB;7387;7387;7387;7387;
+F9DC;9686;9686;9686;9686;
+F9DD;5229;5229;5229;5229;
+F9DE;540F;540F;540F;540F;
+F9DF;5C65;5C65;5C65;5C65;
+F9E0;6613;6613;6613;6613;
+F9E1;674E;674E;674E;674E;
+F9E2;68A8;68A8;68A8;68A8;
+F9E3;6CE5;6CE5;6CE5;6CE5;
+F9E4;7406;7406;7406;7406;
+F9E5;75E2;75E2;75E2;75E2;
+F9E6;7F79;7F79;7F79;7F79;
+F9E7;88CF;88CF;88CF;88CF;
+F9E8;88E1;88E1;88E1;88E1;
+F9E9;91CC;91CC;91CC;91CC;
+F9EA;96E2;96E2;96E2;96E2;
+F9EB;533F;533F;533F;533F;
+F9EC;6EBA;6EBA;6EBA;6EBA;
+F9ED;541D;541D;541D;541D;
+F9EE;71D0;71D0;71D0;71D0;
+F9EF;7498;7498;7498;7498;
+F9F0;85FA;85FA;85FA;85FA;
+F9F1;96A3;96A3;96A3;96A3;
+F9F2;9C57;9C57;9C57;9C57;
+F9F3;9E9F;9E9F;9E9F;9E9F;
+F9F4;6797;6797;6797;6797;
+F9F5;6DCB;6DCB;6DCB;6DCB;
+F9F6;81E8;81E8;81E8;81E8;
+F9F7;7ACB;7ACB;7ACB;7ACB;
+F9F8;7B20;7B20;7B20;7B20;
+F9F9;7C92;7C92;7C92;7C92;
+F9FA;72C0;72C0;72C0;72C0;
+F9FB;7099;7099;7099;7099;
+F9FC;8B58;8B58;8B58;8B58;
+F9FD;4EC0;4EC0;4EC0;4EC0;
+F9FE;8336;8336;8336;8336;
+F9FF;523A;523A;523A;523A;
+FA00;5207;5207;5207;5207;
+FA01;5EA6;5EA6;5EA6;5EA6;
+FA02;62D3;62D3;62D3;62D3;
+FA03;7CD6;7CD6;7CD6;7CD6;
+FA04;5B85;5B85;5B85;5B85;
+FA05;6D1E;6D1E;6D1E;6D1E;
+FA06;66B4;66B4;66B4;66B4;
+FA07;8F3B;8F3B;8F3B;8F3B;
+FA08;884C;884C;884C;884C;
+FA09;964D;964D;964D;964D;
+FA0A;898B;898B;898B;898B;
+FA0B;5ED3;5ED3;5ED3;5ED3;
+FA0C;5140;5140;5140;5140;
+FA0D;55C0;55C0;55C0;55C0;
+FA10;585A;585A;585A;585A;
+FA12;6674;6674;6674;6674;
+FA15;51DE;51DE;51DE;51DE;
+FA16;732A;732A;732A;732A;
+FA17;76CA;76CA;76CA;76CA;
+FA18;793C;793C;793C;793C;
+FA19;795E;795E;795E;795E;
+FA1A;7965;7965;7965;7965;
+FA1B;798F;798F;798F;798F;
+FA1C;9756;9756;9756;9756;
+FA1D;7CBE;7CBE;7CBE;7CBE;
+FA1E;7FBD;7FBD;7FBD;7FBD;
+FA20;8612;8612;8612;8612;
+FA22;8AF8;8AF8;8AF8;8AF8;
+FA25;9038;9038;9038;9038;
+FA26;90FD;90FD;90FD;90FD;
+FA2A;98EF;98EF;98EF;98EF;
+FA2B;98FC;98FC;98FC;98FC;
+FA2C;9928;9928;9928;9928;
+FA2D;9DB4;9DB4;9DB4;9DB4;
+FA30;4FAE;4FAE;4FAE;4FAE;
+FA31;50E7;50E7;50E7;50E7;
+FA32;514D;514D;514D;514D;
+FA33;52C9;52C9;52C9;52C9;
+FA34;52E4;52E4;52E4;52E4;
+FA35;5351;5351;5351;5351;
+FA36;559D;559D;559D;559D;
+FA37;5606;5606;5606;5606;
+FA38;5668;5668;5668;5668;
+FA39;5840;5840;5840;5840;
+FA3A;58A8;58A8;58A8;58A8;
+FA3B;5C64;5C64;5C64;5C64;
+FA3C;5C6E;5C6E;5C6E;5C6E;
+FA3D;6094;6094;6094;6094;
+FA3E;6168;6168;6168;6168;
+FA3F;618E;618E;618E;618E;
+FA40;61F2;61F2;61F2;61F2;
+FA41;654F;654F;654F;654F;
+FA42;65E2;65E2;65E2;65E2;
+FA43;6691;6691;6691;6691;
+FA44;6885;6885;6885;6885;
+FA45;6D77;6D77;6D77;6D77;
+FA46;6E1A;6E1A;6E1A;6E1A;
+FA47;6F22;6F22;6F22;6F22;
+FA48;716E;716E;716E;716E;
+FA49;722B;722B;722B;722B;
+FA4A;7422;7422;7422;7422;
+FA4B;7891;7891;7891;7891;
+FA4C;793E;793E;793E;793E;
+FA4D;7949;7949;7949;7949;
+FA4E;7948;7948;7948;7948;
+FA4F;7950;7950;7950;7950;
+FA50;7956;7956;7956;7956;
+FA51;795D;795D;795D;795D;
+FA52;798D;798D;798D;798D;
+FA53;798E;798E;798E;798E;
+FA54;7A40;7A40;7A40;7A40;
+FA55;7A81;7A81;7A81;7A81;
+FA56;7BC0;7BC0;7BC0;7BC0;
+FA57;7DF4;7DF4;7DF4;7DF4;
+FA58;7E09;7E09;7E09;7E09;
+FA59;7E41;7E41;7E41;7E41;
+FA5A;7F72;7F72;7F72;7F72;
+FA5B;8005;8005;8005;8005;
+FA5C;81ED;81ED;81ED;81ED;
+FA5D;8279;8279;8279;8279;
+FA5E;8279;8279;8279;8279;
+FA5F;8457;8457;8457;8457;
+FA60;8910;8910;8910;8910;
+FA61;8996;8996;8996;8996;
+FA62;8B01;8B01;8B01;8B01;
+FA63;8B39;8B39;8B39;8B39;
+FA64;8CD3;8CD3;8CD3;8CD3;
+FA65;8D08;8D08;8D08;8D08;
+FA66;8FB6;8FB6;8FB6;8FB6;
+FA67;9038;9038;9038;9038;
+FA68;96E3;96E3;96E3;96E3;
+FA69;97FF;97FF;97FF;97FF;
+FA6A;983B;983B;983B;983B;
+FA70;4E26;4E26;4E26;4E26;
+FA71;51B5;51B5;51B5;51B5;
+FA72;5168;5168;5168;5168;
+FA73;4F80;4F80;4F80;4F80;
+FA74;5145;5145;5145;5145;
+FA75;5180;5180;5180;5180;
+FA76;52C7;52C7;52C7;52C7;
+FA77;52FA;52FA;52FA;52FA;
+FA78;559D;559D;559D;559D;
+FA79;5555;5555;5555;5555;
+FA7A;5599;5599;5599;5599;
+FA7B;55E2;55E2;55E2;55E2;
+FA7C;585A;585A;585A;585A;
+FA7D;58B3;58B3;58B3;58B3;
+FA7E;5944;5944;5944;5944;
+FA7F;5954;5954;5954;5954;
+FA80;5A62;5A62;5A62;5A62;
+FA81;5B28;5B28;5B28;5B28;
+FA82;5ED2;5ED2;5ED2;5ED2;
+FA83;5ED9;5ED9;5ED9;5ED9;
+FA84;5F69;5F69;5F69;5F69;
+FA85;5FAD;5FAD;5FAD;5FAD;
+FA86;60D8;60D8;60D8;60D8;
+FA87;614E;614E;614E;614E;
+FA88;6108;6108;6108;6108;
+FA89;618E;618E;618E;618E;
+FA8A;6160;6160;6160;6160;
+FA8B;61F2;61F2;61F2;61F2;
+FA8C;6234;6234;6234;6234;
+FA8D;63C4;63C4;63C4;63C4;
+FA8E;641C;641C;641C;641C;
+FA8F;6452;6452;6452;6452;
+FA90;6556;6556;6556;6556;
+FA91;6674;6674;6674;6674;
+FA92;6717;6717;6717;6717;
+FA93;671B;671B;671B;671B;
+FA94;6756;6756;6756;6756;
+FA95;6B79;6B79;6B79;6B79;
+FA96;6BBA;6BBA;6BBA;6BBA;
+FA97;6D41;6D41;6D41;6D41;
+FA98;6EDB;6EDB;6EDB;6EDB;
+FA99;6ECB;6ECB;6ECB;6ECB;
+FA9A;6F22;6F22;6F22;6F22;
+FA9B;701E;701E;701E;701E;
+FA9C;716E;716E;716E;716E;
+FA9D;77A7;77A7;77A7;77A7;
+FA9E;7235;7235;7235;7235;
+FA9F;72AF;72AF;72AF;72AF;
+FAA0;732A;732A;732A;732A;
+FAA1;7471;7471;7471;7471;
+FAA2;7506;7506;7506;7506;
+FAA3;753B;753B;753B;753B;
+FAA4;761D;761D;761D;761D;
+FAA5;761F;761F;761F;761F;
+FAA6;76CA;76CA;76CA;76CA;
+FAA7;76DB;76DB;76DB;76DB;
+FAA8;76F4;76F4;76F4;76F4;
+FAA9;774A;774A;774A;774A;
+FAAA;7740;7740;7740;7740;
+FAAB;78CC;78CC;78CC;78CC;
+FAAC;7AB1;7AB1;7AB1;7AB1;
+FAAD;7BC0;7BC0;7BC0;7BC0;
+FAAE;7C7B;7C7B;7C7B;7C7B;
+FAAF;7D5B;7D5B;7D5B;7D5B;
+FAB0;7DF4;7DF4;7DF4;7DF4;
+FAB1;7F3E;7F3E;7F3E;7F3E;
+FAB2;8005;8005;8005;8005;
+FAB3;8352;8352;8352;8352;
+FAB4;83EF;83EF;83EF;83EF;
+FAB5;8779;8779;8779;8779;
+FAB6;8941;8941;8941;8941;
+FAB7;8986;8986;8986;8986;
+FAB8;8996;8996;8996;8996;
+FAB9;8ABF;8ABF;8ABF;8ABF;
+FABA;8AF8;8AF8;8AF8;8AF8;
+FABB;8ACB;8ACB;8ACB;8ACB;
+FABC;8B01;8B01;8B01;8B01;
+FABD;8AFE;8AFE;8AFE;8AFE;
+FABE;8AED;8AED;8AED;8AED;
+FABF;8B39;8B39;8B39;8B39;
+FAC0;8B8A;8B8A;8B8A;8B8A;
+FAC1;8D08;8D08;8D08;8D08;
+FAC2;8F38;8F38;8F38;8F38;
+FAC3;9072;9072;9072;9072;
+FAC4;9199;9199;9199;9199;
+FAC5;9276;9276;9276;9276;
+FAC6;967C;967C;967C;967C;
+FAC7;96E3;96E3;96E3;96E3;
+FAC8;9756;9756;9756;9756;
+FAC9;97DB;97DB;97DB;97DB;
+FACA;97FF;97FF;97FF;97FF;
+FACB;980B;980B;980B;980B;
+FACC;983B;983B;983B;983B;
+FACD;9B12;9B12;9B12;9B12;
+FACE;9F9C;9F9C;9F9C;9F9C;
+FACF;2284A;2284A;2284A;2284A;
+FAD0;22844;22844;22844;22844;
+FAD1;233D5;233D5;233D5;233D5;
+FAD2;3B9D;3B9D;3B9D;3B9D;
+FAD3;4018;4018;4018;4018;
+FAD4;4039;4039;4039;4039;
+FAD5;25249;25249;25249;25249;
+FAD6;25CD0;25CD0;25CD0;25CD0;
+FAD7;27ED3;27ED3;27ED3;27ED3;
+FAD8;9F43;9F43;9F43;9F43;
+FAD9;9F8E;9F8E;9F8E;9F8E;
+FB00;FB00;FB00;0066 0066;0066 0066;
+FB01;FB01;FB01;0066 0069;0066 0069;
+FB02;FB02;FB02;0066 006C;0066 006C;
+FB03;FB03;FB03;0066 0066 0069;0066 0066 0069;
+FB04;FB04;FB04;0066 0066 006C;0066 0066 006C;
+FB05;FB05;FB05;0073 0074;0073 0074;
+FB06;FB06;FB06;0073 0074;0073 0074;
+FB13;FB13;FB13;0574 0576;0574 0576;
+FB14;FB14;FB14;0574 0565;0574 0565;
+FB15;FB15;FB15;0574 056B;0574 056B;
+FB16;FB16;FB16;057E 0576;057E 0576;
+FB17;FB17;FB17;0574 056D;0574 056D;
+FB1D;05D9 05B4;05D9 05B4;05D9 05B4;05D9 05B4;
+FB1F;05F2 05B7;05F2 05B7;05F2 05B7;05F2 05B7;
+FB20;FB20;FB20;05E2;05E2;
+FB21;FB21;FB21;05D0;05D0;
+FB22;FB22;FB22;05D3;05D3;
+FB23;FB23;FB23;05D4;05D4;
+FB24;FB24;FB24;05DB;05DB;
+FB25;FB25;FB25;05DC;05DC;
+FB26;FB26;FB26;05DD;05DD;
+FB27;FB27;FB27;05E8;05E8;
+FB28;FB28;FB28;05EA;05EA;
+FB29;FB29;FB29;002B;002B;
+FB2A;05E9 05C1;05E9 05C1;05E9 05C1;05E9 05C1;
+FB2B;05E9 05C2;05E9 05C2;05E9 05C2;05E9 05C2;
+FB2C;05E9 05BC 05C1;05E9 05BC 05C1;05E9 05BC 05C1;05E9 05BC 05C1;
+FB2D;05E9 05BC 05C2;05E9 05BC 05C2;05E9 05BC 05C2;05E9 05BC 05C2;
+FB2E;05D0 05B7;05D0 05B7;05D0 05B7;05D0 05B7;
+FB2F;05D0 05B8;05D0 05B8;05D0 05B8;05D0 05B8;
+FB30;05D0 05BC;05D0 05BC;05D0 05BC;05D0 05BC;
+FB31;05D1 05BC;05D1 05BC;05D1 05BC;05D1 05BC;
+FB32;05D2 05BC;05D2 05BC;05D2 05BC;05D2 05BC;
+FB33;05D3 05BC;05D3 05BC;05D3 05BC;05D3 05BC;
+FB34;05D4 05BC;05D4 05BC;05D4 05BC;05D4 05BC;
+FB35;05D5 05BC;05D5 05BC;05D5 05BC;05D5 05BC;
+FB36;05D6 05BC;05D6 05BC;05D6 05BC;05D6 05BC;
+FB38;05D8 05BC;05D8 05BC;05D8 05BC;05D8 05BC;
+FB39;05D9 05BC;05D9 05BC;05D9 05BC;05D9 05BC;
+FB3A;05DA 05BC;05DA 05BC;05DA 05BC;05DA 05BC;
+FB3B;05DB 05BC;05DB 05BC;05DB 05BC;05DB 05BC;
+FB3C;05DC 05BC;05DC 05BC;05DC 05BC;05DC 05BC;
+FB3E;05DE 05BC;05DE 05BC;05DE 05BC;05DE 05BC;
+FB40;05E0 05BC;05E0 05BC;05E0 05BC;05E0 05BC;
+FB41;05E1 05BC;05E1 05BC;05E1 05BC;05E1 05BC;
+FB43;05E3 05BC;05E3 05BC;05E3 05BC;05E3 05BC;
+FB44;05E4 05BC;05E4 05BC;05E4 05BC;05E4 05BC;
+FB46;05E6 05BC;05E6 05BC;05E6 05BC;05E6 05BC;
+FB47;05E7 05BC;05E7 05BC;05E7 05BC;05E7 05BC;
+FB48;05E8 05BC;05E8 05BC;05E8 05BC;05E8 05BC;
+FB49;05E9 05BC;05E9 05BC;05E9 05BC;05E9 05BC;
+FB4A;05EA 05BC;05EA 05BC;05EA 05BC;05EA 05BC;
+FB4B;05D5 05B9;05D5 05B9;05D5 05B9;05D5 05B9;
+FB4C;05D1 05BF;05D1 05BF;05D1 05BF;05D1 05BF;
+FB4D;05DB 05BF;05DB 05BF;05DB 05BF;05DB 05BF;
+FB4E;05E4 05BF;05E4 05BF;05E4 05BF;05E4 05BF;
+FB4F;FB4F;FB4F;05D0 05DC;05D0 05DC;
+FB50;FB50;FB50;0671;0671;
+FB51;FB51;FB51;0671;0671;
+FB52;FB52;FB52;067B;067B;
+FB53;FB53;FB53;067B;067B;
+FB54;FB54;FB54;067B;067B;
+FB55;FB55;FB55;067B;067B;
+FB56;FB56;FB56;067E;067E;
+FB57;FB57;FB57;067E;067E;
+FB58;FB58;FB58;067E;067E;
+FB59;FB59;FB59;067E;067E;
+FB5A;FB5A;FB5A;0680;0680;
+FB5B;FB5B;FB5B;0680;0680;
+FB5C;FB5C;FB5C;0680;0680;
+FB5D;FB5D;FB5D;0680;0680;
+FB5E;FB5E;FB5E;067A;067A;
+FB5F;FB5F;FB5F;067A;067A;
+FB60;FB60;FB60;067A;067A;
+FB61;FB61;FB61;067A;067A;
+FB62;FB62;FB62;067F;067F;
+FB63;FB63;FB63;067F;067F;
+FB64;FB64;FB64;067F;067F;
+FB65;FB65;FB65;067F;067F;
+FB66;FB66;FB66;0679;0679;
+FB67;FB67;FB67;0679;0679;
+FB68;FB68;FB68;0679;0679;
+FB69;FB69;FB69;0679;0679;
+FB6A;FB6A;FB6A;06A4;06A4;
+FB6B;FB6B;FB6B;06A4;06A4;
+FB6C;FB6C;FB6C;06A4;06A4;
+FB6D;FB6D;FB6D;06A4;06A4;
+FB6E;FB6E;FB6E;06A6;06A6;
+FB6F;FB6F;FB6F;06A6;06A6;
+FB70;FB70;FB70;06A6;06A6;
+FB71;FB71;FB71;06A6;06A6;
+FB72;FB72;FB72;0684;0684;
+FB73;FB73;FB73;0684;0684;
+FB74;FB74;FB74;0684;0684;
+FB75;FB75;FB75;0684;0684;
+FB76;FB76;FB76;0683;0683;
+FB77;FB77;FB77;0683;0683;
+FB78;FB78;FB78;0683;0683;
+FB79;FB79;FB79;0683;0683;
+FB7A;FB7A;FB7A;0686;0686;
+FB7B;FB7B;FB7B;0686;0686;
+FB7C;FB7C;FB7C;0686;0686;
+FB7D;FB7D;FB7D;0686;0686;
+FB7E;FB7E;FB7E;0687;0687;
+FB7F;FB7F;FB7F;0687;0687;
+FB80;FB80;FB80;0687;0687;
+FB81;FB81;FB81;0687;0687;
+FB82;FB82;FB82;068D;068D;
+FB83;FB83;FB83;068D;068D;
+FB84;FB84;FB84;068C;068C;
+FB85;FB85;FB85;068C;068C;
+FB86;FB86;FB86;068E;068E;
+FB87;FB87;FB87;068E;068E;
+FB88;FB88;FB88;0688;0688;
+FB89;FB89;FB89;0688;0688;
+FB8A;FB8A;FB8A;0698;0698;
+FB8B;FB8B;FB8B;0698;0698;
+FB8C;FB8C;FB8C;0691;0691;
+FB8D;FB8D;FB8D;0691;0691;
+FB8E;FB8E;FB8E;06A9;06A9;
+FB8F;FB8F;FB8F;06A9;06A9;
+FB90;FB90;FB90;06A9;06A9;
+FB91;FB91;FB91;06A9;06A9;
+FB92;FB92;FB92;06AF;06AF;
+FB93;FB93;FB93;06AF;06AF;
+FB94;FB94;FB94;06AF;06AF;
+FB95;FB95;FB95;06AF;06AF;
+FB96;FB96;FB96;06B3;06B3;
+FB97;FB97;FB97;06B3;06B3;
+FB98;FB98;FB98;06B3;06B3;
+FB99;FB99;FB99;06B3;06B3;
+FB9A;FB9A;FB9A;06B1;06B1;
+FB9B;FB9B;FB9B;06B1;06B1;
+FB9C;FB9C;FB9C;06B1;06B1;
+FB9D;FB9D;FB9D;06B1;06B1;
+FB9E;FB9E;FB9E;06BA;06BA;
+FB9F;FB9F;FB9F;06BA;06BA;
+FBA0;FBA0;FBA0;06BB;06BB;
+FBA1;FBA1;FBA1;06BB;06BB;
+FBA2;FBA2;FBA2;06BB;06BB;
+FBA3;FBA3;FBA3;06BB;06BB;
+FBA4;FBA4;FBA4;06C0;06D5 0654;
+FBA5;FBA5;FBA5;06C0;06D5 0654;
+FBA6;FBA6;FBA6;06C1;06C1;
+FBA7;FBA7;FBA7;06C1;06C1;
+FBA8;FBA8;FBA8;06C1;06C1;
+FBA9;FBA9;FBA9;06C1;06C1;
+FBAA;FBAA;FBAA;06BE;06BE;
+FBAB;FBAB;FBAB;06BE;06BE;
+FBAC;FBAC;FBAC;06BE;06BE;
+FBAD;FBAD;FBAD;06BE;06BE;
+FBAE;FBAE;FBAE;06D2;06D2;
+FBAF;FBAF;FBAF;06D2;06D2;
+FBB0;FBB0;FBB0;06D3;06D2 0654;
+FBB1;FBB1;FBB1;06D3;06D2 0654;
+FBD3;FBD3;FBD3;06AD;06AD;
+FBD4;FBD4;FBD4;06AD;06AD;
+FBD5;FBD5;FBD5;06AD;06AD;
+FBD6;FBD6;FBD6;06AD;06AD;
+FBD7;FBD7;FBD7;06C7;06C7;
+FBD8;FBD8;FBD8;06C7;06C7;
+FBD9;FBD9;FBD9;06C6;06C6;
+FBDA;FBDA;FBDA;06C6;06C6;
+FBDB;FBDB;FBDB;06C8;06C8;
+FBDC;FBDC;FBDC;06C8;06C8;
+FBDD;FBDD;FBDD;06C7 0674;06C7 0674;
+FBDE;FBDE;FBDE;06CB;06CB;
+FBDF;FBDF;FBDF;06CB;06CB;
+FBE0;FBE0;FBE0;06C5;06C5;
+FBE1;FBE1;FBE1;06C5;06C5;
+FBE2;FBE2;FBE2;06C9;06C9;
+FBE3;FBE3;FBE3;06C9;06C9;
+FBE4;FBE4;FBE4;06D0;06D0;
+FBE5;FBE5;FBE5;06D0;06D0;
+FBE6;FBE6;FBE6;06D0;06D0;
+FBE7;FBE7;FBE7;06D0;06D0;
+FBE8;FBE8;FBE8;0649;0649;
+FBE9;FBE9;FBE9;0649;0649;
+FBEA;FBEA;FBEA;0626 0627;064A 0654 0627;
+FBEB;FBEB;FBEB;0626 0627;064A 0654 0627;
+FBEC;FBEC;FBEC;0626 06D5;064A 0654 06D5;
+FBED;FBED;FBED;0626 06D5;064A 0654 06D5;
+FBEE;FBEE;FBEE;0626 0648;064A 0654 0648;
+FBEF;FBEF;FBEF;0626 0648;064A 0654 0648;
+FBF0;FBF0;FBF0;0626 06C7;064A 0654 06C7;
+FBF1;FBF1;FBF1;0626 06C7;064A 0654 06C7;
+FBF2;FBF2;FBF2;0626 06C6;064A 0654 06C6;
+FBF3;FBF3;FBF3;0626 06C6;064A 0654 06C6;
+FBF4;FBF4;FBF4;0626 06C8;064A 0654 06C8;
+FBF5;FBF5;FBF5;0626 06C8;064A 0654 06C8;
+FBF6;FBF6;FBF6;0626 06D0;064A 0654 06D0;
+FBF7;FBF7;FBF7;0626 06D0;064A 0654 06D0;
+FBF8;FBF8;FBF8;0626 06D0;064A 0654 06D0;
+FBF9;FBF9;FBF9;0626 0649;064A 0654 0649;
+FBFA;FBFA;FBFA;0626 0649;064A 0654 0649;
+FBFB;FBFB;FBFB;0626 0649;064A 0654 0649;
+FBFC;FBFC;FBFC;06CC;06CC;
+FBFD;FBFD;FBFD;06CC;06CC;
+FBFE;FBFE;FBFE;06CC;06CC;
+FBFF;FBFF;FBFF;06CC;06CC;
+FC00;FC00;FC00;0626 062C;064A 0654 062C;
+FC01;FC01;FC01;0626 062D;064A 0654 062D;
+FC02;FC02;FC02;0626 0645;064A 0654 0645;
+FC03;FC03;FC03;0626 0649;064A 0654 0649;
+FC04;FC04;FC04;0626 064A;064A 0654 064A;
+FC05;FC05;FC05;0628 062C;0628 062C;
+FC06;FC06;FC06;0628 062D;0628 062D;
+FC07;FC07;FC07;0628 062E;0628 062E;
+FC08;FC08;FC08;0628 0645;0628 0645;
+FC09;FC09;FC09;0628 0649;0628 0649;
+FC0A;FC0A;FC0A;0628 064A;0628 064A;
+FC0B;FC0B;FC0B;062A 062C;062A 062C;
+FC0C;FC0C;FC0C;062A 062D;062A 062D;
+FC0D;FC0D;FC0D;062A 062E;062A 062E;
+FC0E;FC0E;FC0E;062A 0645;062A 0645;
+FC0F;FC0F;FC0F;062A 0649;062A 0649;
+FC10;FC10;FC10;062A 064A;062A 064A;
+FC11;FC11;FC11;062B 062C;062B 062C;
+FC12;FC12;FC12;062B 0645;062B 0645;
+FC13;FC13;FC13;062B 0649;062B 0649;
+FC14;FC14;FC14;062B 064A;062B 064A;
+FC15;FC15;FC15;062C 062D;062C 062D;
+FC16;FC16;FC16;062C 0645;062C 0645;
+FC17;FC17;FC17;062D 062C;062D 062C;
+FC18;FC18;FC18;062D 0645;062D 0645;
+FC19;FC19;FC19;062E 062C;062E 062C;
+FC1A;FC1A;FC1A;062E 062D;062E 062D;
+FC1B;FC1B;FC1B;062E 0645;062E 0645;
+FC1C;FC1C;FC1C;0633 062C;0633 062C;
+FC1D;FC1D;FC1D;0633 062D;0633 062D;
+FC1E;FC1E;FC1E;0633 062E;0633 062E;
+FC1F;FC1F;FC1F;0633 0645;0633 0645;
+FC20;FC20;FC20;0635 062D;0635 062D;
+FC21;FC21;FC21;0635 0645;0635 0645;
+FC22;FC22;FC22;0636 062C;0636 062C;
+FC23;FC23;FC23;0636 062D;0636 062D;
+FC24;FC24;FC24;0636 062E;0636 062E;
+FC25;FC25;FC25;0636 0645;0636 0645;
+FC26;FC26;FC26;0637 062D;0637 062D;
+FC27;FC27;FC27;0637 0645;0637 0645;
+FC28;FC28;FC28;0638 0645;0638 0645;
+FC29;FC29;FC29;0639 062C;0639 062C;
+FC2A;FC2A;FC2A;0639 0645;0639 0645;
+FC2B;FC2B;FC2B;063A 062C;063A 062C;
+FC2C;FC2C;FC2C;063A 0645;063A 0645;
+FC2D;FC2D;FC2D;0641 062C;0641 062C;
+FC2E;FC2E;FC2E;0641 062D;0641 062D;
+FC2F;FC2F;FC2F;0641 062E;0641 062E;
+FC30;FC30;FC30;0641 0645;0641 0645;
+FC31;FC31;FC31;0641 0649;0641 0649;
+FC32;FC32;FC32;0641 064A;0641 064A;
+FC33;FC33;FC33;0642 062D;0642 062D;
+FC34;FC34;FC34;0642 0645;0642 0645;
+FC35;FC35;FC35;0642 0649;0642 0649;
+FC36;FC36;FC36;0642 064A;0642 064A;
+FC37;FC37;FC37;0643 0627;0643 0627;
+FC38;FC38;FC38;0643 062C;0643 062C;
+FC39;FC39;FC39;0643 062D;0643 062D;
+FC3A;FC3A;FC3A;0643 062E;0643 062E;
+FC3B;FC3B;FC3B;0643 0644;0643 0644;
+FC3C;FC3C;FC3C;0643 0645;0643 0645;
+FC3D;FC3D;FC3D;0643 0649;0643 0649;
+FC3E;FC3E;FC3E;0643 064A;0643 064A;
+FC3F;FC3F;FC3F;0644 062C;0644 062C;
+FC40;FC40;FC40;0644 062D;0644 062D;
+FC41;FC41;FC41;0644 062E;0644 062E;
+FC42;FC42;FC42;0644 0645;0644 0645;
+FC43;FC43;FC43;0644 0649;0644 0649;
+FC44;FC44;FC44;0644 064A;0644 064A;
+FC45;FC45;FC45;0645 062C;0645 062C;
+FC46;FC46;FC46;0645 062D;0645 062D;
+FC47;FC47;FC47;0645 062E;0645 062E;
+FC48;FC48;FC48;0645 0645;0645 0645;
+FC49;FC49;FC49;0645 0649;0645 0649;
+FC4A;FC4A;FC4A;0645 064A;0645 064A;
+FC4B;FC4B;FC4B;0646 062C;0646 062C;
+FC4C;FC4C;FC4C;0646 062D;0646 062D;
+FC4D;FC4D;FC4D;0646 062E;0646 062E;
+FC4E;FC4E;FC4E;0646 0645;0646 0645;
+FC4F;FC4F;FC4F;0646 0649;0646 0649;
+FC50;FC50;FC50;0646 064A;0646 064A;
+FC51;FC51;FC51;0647 062C;0647 062C;
+FC52;FC52;FC52;0647 0645;0647 0645;
+FC53;FC53;FC53;0647 0649;0647 0649;
+FC54;FC54;FC54;0647 064A;0647 064A;
+FC55;FC55;FC55;064A 062C;064A 062C;
+FC56;FC56;FC56;064A 062D;064A 062D;
+FC57;FC57;FC57;064A 062E;064A 062E;
+FC58;FC58;FC58;064A 0645;064A 0645;
+FC59;FC59;FC59;064A 0649;064A 0649;
+FC5A;FC5A;FC5A;064A 064A;064A 064A;
+FC5B;FC5B;FC5B;0630 0670;0630 0670;
+FC5C;FC5C;FC5C;0631 0670;0631 0670;
+FC5D;FC5D;FC5D;0649 0670;0649 0670;
+FC5E;FC5E;FC5E;0020 064C 0651;0020 064C 0651;
+FC5F;FC5F;FC5F;0020 064D 0651;0020 064D 0651;
+FC60;FC60;FC60;0020 064E 0651;0020 064E 0651;
+FC61;FC61;FC61;0020 064F 0651;0020 064F 0651;
+FC62;FC62;FC62;0020 0650 0651;0020 0650 0651;
+FC63;FC63;FC63;0020 0651 0670;0020 0651 0670;
+FC64;FC64;FC64;0626 0631;064A 0654 0631;
+FC65;FC65;FC65;0626 0632;064A 0654 0632;
+FC66;FC66;FC66;0626 0645;064A 0654 0645;
+FC67;FC67;FC67;0626 0646;064A 0654 0646;
+FC68;FC68;FC68;0626 0649;064A 0654 0649;
+FC69;FC69;FC69;0626 064A;064A 0654 064A;
+FC6A;FC6A;FC6A;0628 0631;0628 0631;
+FC6B;FC6B;FC6B;0628 0632;0628 0632;
+FC6C;FC6C;FC6C;0628 0645;0628 0645;
+FC6D;FC6D;FC6D;0628 0646;0628 0646;
+FC6E;FC6E;FC6E;0628 0649;0628 0649;
+FC6F;FC6F;FC6F;0628 064A;0628 064A;
+FC70;FC70;FC70;062A 0631;062A 0631;
+FC71;FC71;FC71;062A 0632;062A 0632;
+FC72;FC72;FC72;062A 0645;062A 0645;
+FC73;FC73;FC73;062A 0646;062A 0646;
+FC74;FC74;FC74;062A 0649;062A 0649;
+FC75;FC75;FC75;062A 064A;062A 064A;
+FC76;FC76;FC76;062B 0631;062B 0631;
+FC77;FC77;FC77;062B 0632;062B 0632;
+FC78;FC78;FC78;062B 0645;062B 0645;
+FC79;FC79;FC79;062B 0646;062B 0646;
+FC7A;FC7A;FC7A;062B 0649;062B 0649;
+FC7B;FC7B;FC7B;062B 064A;062B 064A;
+FC7C;FC7C;FC7C;0641 0649;0641 0649;
+FC7D;FC7D;FC7D;0641 064A;0641 064A;
+FC7E;FC7E;FC7E;0642 0649;0642 0649;
+FC7F;FC7F;FC7F;0642 064A;0642 064A;
+FC80;FC80;FC80;0643 0627;0643 0627;
+FC81;FC81;FC81;0643 0644;0643 0644;
+FC82;FC82;FC82;0643 0645;0643 0645;
+FC83;FC83;FC83;0643 0649;0643 0649;
+FC84;FC84;FC84;0643 064A;0643 064A;
+FC85;FC85;FC85;0644 0645;0644 0645;
+FC86;FC86;FC86;0644 0649;0644 0649;
+FC87;FC87;FC87;0644 064A;0644 064A;
+FC88;FC88;FC88;0645 0627;0645 0627;
+FC89;FC89;FC89;0645 0645;0645 0645;
+FC8A;FC8A;FC8A;0646 0631;0646 0631;
+FC8B;FC8B;FC8B;0646 0632;0646 0632;
+FC8C;FC8C;FC8C;0646 0645;0646 0645;
+FC8D;FC8D;FC8D;0646 0646;0646 0646;
+FC8E;FC8E;FC8E;0646 0649;0646 0649;
+FC8F;FC8F;FC8F;0646 064A;0646 064A;
+FC90;FC90;FC90;0649 0670;0649 0670;
+FC91;FC91;FC91;064A 0631;064A 0631;
+FC92;FC92;FC92;064A 0632;064A 0632;
+FC93;FC93;FC93;064A 0645;064A 0645;
+FC94;FC94;FC94;064A 0646;064A 0646;
+FC95;FC95;FC95;064A 0649;064A 0649;
+FC96;FC96;FC96;064A 064A;064A 064A;
+FC97;FC97;FC97;0626 062C;064A 0654 062C;
+FC98;FC98;FC98;0626 062D;064A 0654 062D;
+FC99;FC99;FC99;0626 062E;064A 0654 062E;
+FC9A;FC9A;FC9A;0626 0645;064A 0654 0645;
+FC9B;FC9B;FC9B;0626 0647;064A 0654 0647;
+FC9C;FC9C;FC9C;0628 062C;0628 062C;
+FC9D;FC9D;FC9D;0628 062D;0628 062D;
+FC9E;FC9E;FC9E;0628 062E;0628 062E;
+FC9F;FC9F;FC9F;0628 0645;0628 0645;
+FCA0;FCA0;FCA0;0628 0647;0628 0647;
+FCA1;FCA1;FCA1;062A 062C;062A 062C;
+FCA2;FCA2;FCA2;062A 062D;062A 062D;
+FCA3;FCA3;FCA3;062A 062E;062A 062E;
+FCA4;FCA4;FCA4;062A 0645;062A 0645;
+FCA5;FCA5;FCA5;062A 0647;062A 0647;
+FCA6;FCA6;FCA6;062B 0645;062B 0645;
+FCA7;FCA7;FCA7;062C 062D;062C 062D;
+FCA8;FCA8;FCA8;062C 0645;062C 0645;
+FCA9;FCA9;FCA9;062D 062C;062D 062C;
+FCAA;FCAA;FCAA;062D 0645;062D 0645;
+FCAB;FCAB;FCAB;062E 062C;062E 062C;
+FCAC;FCAC;FCAC;062E 0645;062E 0645;
+FCAD;FCAD;FCAD;0633 062C;0633 062C;
+FCAE;FCAE;FCAE;0633 062D;0633 062D;
+FCAF;FCAF;FCAF;0633 062E;0633 062E;
+FCB0;FCB0;FCB0;0633 0645;0633 0645;
+FCB1;FCB1;FCB1;0635 062D;0635 062D;
+FCB2;FCB2;FCB2;0635 062E;0635 062E;
+FCB3;FCB3;FCB3;0635 0645;0635 0645;
+FCB4;FCB4;FCB4;0636 062C;0636 062C;
+FCB5;FCB5;FCB5;0636 062D;0636 062D;
+FCB6;FCB6;FCB6;0636 062E;0636 062E;
+FCB7;FCB7;FCB7;0636 0645;0636 0645;
+FCB8;FCB8;FCB8;0637 062D;0637 062D;
+FCB9;FCB9;FCB9;0638 0645;0638 0645;
+FCBA;FCBA;FCBA;0639 062C;0639 062C;
+FCBB;FCBB;FCBB;0639 0645;0639 0645;
+FCBC;FCBC;FCBC;063A 062C;063A 062C;
+FCBD;FCBD;FCBD;063A 0645;063A 0645;
+FCBE;FCBE;FCBE;0641 062C;0641 062C;
+FCBF;FCBF;FCBF;0641 062D;0641 062D;
+FCC0;FCC0;FCC0;0641 062E;0641 062E;
+FCC1;FCC1;FCC1;0641 0645;0641 0645;
+FCC2;FCC2;FCC2;0642 062D;0642 062D;
+FCC3;FCC3;FCC3;0642 0645;0642 0645;
+FCC4;FCC4;FCC4;0643 062C;0643 062C;
+FCC5;FCC5;FCC5;0643 062D;0643 062D;
+FCC6;FCC6;FCC6;0643 062E;0643 062E;
+FCC7;FCC7;FCC7;0643 0644;0643 0644;
+FCC8;FCC8;FCC8;0643 0645;0643 0645;
+FCC9;FCC9;FCC9;0644 062C;0644 062C;
+FCCA;FCCA;FCCA;0644 062D;0644 062D;
+FCCB;FCCB;FCCB;0644 062E;0644 062E;
+FCCC;FCCC;FCCC;0644 0645;0644 0645;
+FCCD;FCCD;FCCD;0644 0647;0644 0647;
+FCCE;FCCE;FCCE;0645 062C;0645 062C;
+FCCF;FCCF;FCCF;0645 062D;0645 062D;
+FCD0;FCD0;FCD0;0645 062E;0645 062E;
+FCD1;FCD1;FCD1;0645 0645;0645 0645;
+FCD2;FCD2;FCD2;0646 062C;0646 062C;
+FCD3;FCD3;FCD3;0646 062D;0646 062D;
+FCD4;FCD4;FCD4;0646 062E;0646 062E;
+FCD5;FCD5;FCD5;0646 0645;0646 0645;
+FCD6;FCD6;FCD6;0646 0647;0646 0647;
+FCD7;FCD7;FCD7;0647 062C;0647 062C;
+FCD8;FCD8;FCD8;0647 0645;0647 0645;
+FCD9;FCD9;FCD9;0647 0670;0647 0670;
+FCDA;FCDA;FCDA;064A 062C;064A 062C;
+FCDB;FCDB;FCDB;064A 062D;064A 062D;
+FCDC;FCDC;FCDC;064A 062E;064A 062E;
+FCDD;FCDD;FCDD;064A 0645;064A 0645;
+FCDE;FCDE;FCDE;064A 0647;064A 0647;
+FCDF;FCDF;FCDF;0626 0645;064A 0654 0645;
+FCE0;FCE0;FCE0;0626 0647;064A 0654 0647;
+FCE1;FCE1;FCE1;0628 0645;0628 0645;
+FCE2;FCE2;FCE2;0628 0647;0628 0647;
+FCE3;FCE3;FCE3;062A 0645;062A 0645;
+FCE4;FCE4;FCE4;062A 0647;062A 0647;
+FCE5;FCE5;FCE5;062B 0645;062B 0645;
+FCE6;FCE6;FCE6;062B 0647;062B 0647;
+FCE7;FCE7;FCE7;0633 0645;0633 0645;
+FCE8;FCE8;FCE8;0633 0647;0633 0647;
+FCE9;FCE9;FCE9;0634 0645;0634 0645;
+FCEA;FCEA;FCEA;0634 0647;0634 0647;
+FCEB;FCEB;FCEB;0643 0644;0643 0644;
+FCEC;FCEC;FCEC;0643 0645;0643 0645;
+FCED;FCED;FCED;0644 0645;0644 0645;
+FCEE;FCEE;FCEE;0646 0645;0646 0645;
+FCEF;FCEF;FCEF;0646 0647;0646 0647;
+FCF0;FCF0;FCF0;064A 0645;064A 0645;
+FCF1;FCF1;FCF1;064A 0647;064A 0647;
+FCF2;FCF2;FCF2;0640 064E 0651;0640 064E 0651;
+FCF3;FCF3;FCF3;0640 064F 0651;0640 064F 0651;
+FCF4;FCF4;FCF4;0640 0650 0651;0640 0650 0651;
+FCF5;FCF5;FCF5;0637 0649;0637 0649;
+FCF6;FCF6;FCF6;0637 064A;0637 064A;
+FCF7;FCF7;FCF7;0639 0649;0639 0649;
+FCF8;FCF8;FCF8;0639 064A;0639 064A;
+FCF9;FCF9;FCF9;063A 0649;063A 0649;
+FCFA;FCFA;FCFA;063A 064A;063A 064A;
+FCFB;FCFB;FCFB;0633 0649;0633 0649;
+FCFC;FCFC;FCFC;0633 064A;0633 064A;
+FCFD;FCFD;FCFD;0634 0649;0634 0649;
+FCFE;FCFE;FCFE;0634 064A;0634 064A;
+FCFF;FCFF;FCFF;062D 0649;062D 0649;
+FD00;FD00;FD00;062D 064A;062D 064A;
+FD01;FD01;FD01;062C 0649;062C 0649;
+FD02;FD02;FD02;062C 064A;062C 064A;
+FD03;FD03;FD03;062E 0649;062E 0649;
+FD04;FD04;FD04;062E 064A;062E 064A;
+FD05;FD05;FD05;0635 0649;0635 0649;
+FD06;FD06;FD06;0635 064A;0635 064A;
+FD07;FD07;FD07;0636 0649;0636 0649;
+FD08;FD08;FD08;0636 064A;0636 064A;
+FD09;FD09;FD09;0634 062C;0634 062C;
+FD0A;FD0A;FD0A;0634 062D;0634 062D;
+FD0B;FD0B;FD0B;0634 062E;0634 062E;
+FD0C;FD0C;FD0C;0634 0645;0634 0645;
+FD0D;FD0D;FD0D;0634 0631;0634 0631;
+FD0E;FD0E;FD0E;0633 0631;0633 0631;
+FD0F;FD0F;FD0F;0635 0631;0635 0631;
+FD10;FD10;FD10;0636 0631;0636 0631;
+FD11;FD11;FD11;0637 0649;0637 0649;
+FD12;FD12;FD12;0637 064A;0637 064A;
+FD13;FD13;FD13;0639 0649;0639 0649;
+FD14;FD14;FD14;0639 064A;0639 064A;
+FD15;FD15;FD15;063A 0649;063A 0649;
+FD16;FD16;FD16;063A 064A;063A 064A;
+FD17;FD17;FD17;0633 0649;0633 0649;
+FD18;FD18;FD18;0633 064A;0633 064A;
+FD19;FD19;FD19;0634 0649;0634 0649;
+FD1A;FD1A;FD1A;0634 064A;0634 064A;
+FD1B;FD1B;FD1B;062D 0649;062D 0649;
+FD1C;FD1C;FD1C;062D 064A;062D 064A;
+FD1D;FD1D;FD1D;062C 0649;062C 0649;
+FD1E;FD1E;FD1E;062C 064A;062C 064A;
+FD1F;FD1F;FD1F;062E 0649;062E 0649;
+FD20;FD20;FD20;062E 064A;062E 064A;
+FD21;FD21;FD21;0635 0649;0635 0649;
+FD22;FD22;FD22;0635 064A;0635 064A;
+FD23;FD23;FD23;0636 0649;0636 0649;
+FD24;FD24;FD24;0636 064A;0636 064A;
+FD25;FD25;FD25;0634 062C;0634 062C;
+FD26;FD26;FD26;0634 062D;0634 062D;
+FD27;FD27;FD27;0634 062E;0634 062E;
+FD28;FD28;FD28;0634 0645;0634 0645;
+FD29;FD29;FD29;0634 0631;0634 0631;
+FD2A;FD2A;FD2A;0633 0631;0633 0631;
+FD2B;FD2B;FD2B;0635 0631;0635 0631;
+FD2C;FD2C;FD2C;0636 0631;0636 0631;
+FD2D;FD2D;FD2D;0634 062C;0634 062C;
+FD2E;FD2E;FD2E;0634 062D;0634 062D;
+FD2F;FD2F;FD2F;0634 062E;0634 062E;
+FD30;FD30;FD30;0634 0645;0634 0645;
+FD31;FD31;FD31;0633 0647;0633 0647;
+FD32;FD32;FD32;0634 0647;0634 0647;
+FD33;FD33;FD33;0637 0645;0637 0645;
+FD34;FD34;FD34;0633 062C;0633 062C;
+FD35;FD35;FD35;0633 062D;0633 062D;
+FD36;FD36;FD36;0633 062E;0633 062E;
+FD37;FD37;FD37;0634 062C;0634 062C;
+FD38;FD38;FD38;0634 062D;0634 062D;
+FD39;FD39;FD39;0634 062E;0634 062E;
+FD3A;FD3A;FD3A;0637 0645;0637 0645;
+FD3B;FD3B;FD3B;0638 0645;0638 0645;
+FD3C;FD3C;FD3C;0627 064B;0627 064B;
+FD3D;FD3D;FD3D;0627 064B;0627 064B;
+FD50;FD50;FD50;062A 062C 0645;062A 062C 0645;
+FD51;FD51;FD51;062A 062D 062C;062A 062D 062C;
+FD52;FD52;FD52;062A 062D 062C;062A 062D 062C;
+FD53;FD53;FD53;062A 062D 0645;062A 062D 0645;
+FD54;FD54;FD54;062A 062E 0645;062A 062E 0645;
+FD55;FD55;FD55;062A 0645 062C;062A 0645 062C;
+FD56;FD56;FD56;062A 0645 062D;062A 0645 062D;
+FD57;FD57;FD57;062A 0645 062E;062A 0645 062E;
+FD58;FD58;FD58;062C 0645 062D;062C 0645 062D;
+FD59;FD59;FD59;062C 0645 062D;062C 0645 062D;
+FD5A;FD5A;FD5A;062D 0645 064A;062D 0645 064A;
+FD5B;FD5B;FD5B;062D 0645 0649;062D 0645 0649;
+FD5C;FD5C;FD5C;0633 062D 062C;0633 062D 062C;
+FD5D;FD5D;FD5D;0633 062C 062D;0633 062C 062D;
+FD5E;FD5E;FD5E;0633 062C 0649;0633 062C 0649;
+FD5F;FD5F;FD5F;0633 0645 062D;0633 0645 062D;
+FD60;FD60;FD60;0633 0645 062D;0633 0645 062D;
+FD61;FD61;FD61;0633 0645 062C;0633 0645 062C;
+FD62;FD62;FD62;0633 0645 0645;0633 0645 0645;
+FD63;FD63;FD63;0633 0645 0645;0633 0645 0645;
+FD64;FD64;FD64;0635 062D 062D;0635 062D 062D;
+FD65;FD65;FD65;0635 062D 062D;0635 062D 062D;
+FD66;FD66;FD66;0635 0645 0645;0635 0645 0645;
+FD67;FD67;FD67;0634 062D 0645;0634 062D 0645;
+FD68;FD68;FD68;0634 062D 0645;0634 062D 0645;
+FD69;FD69;FD69;0634 062C 064A;0634 062C 064A;
+FD6A;FD6A;FD6A;0634 0645 062E;0634 0645 062E;
+FD6B;FD6B;FD6B;0634 0645 062E;0634 0645 062E;
+FD6C;FD6C;FD6C;0634 0645 0645;0634 0645 0645;
+FD6D;FD6D;FD6D;0634 0645 0645;0634 0645 0645;
+FD6E;FD6E;FD6E;0636 062D 0649;0636 062D 0649;
+FD6F;FD6F;FD6F;0636 062E 0645;0636 062E 0645;
+FD70;FD70;FD70;0636 062E 0645;0636 062E 0645;
+FD71;FD71;FD71;0637 0645 062D;0637 0645 062D;
+FD72;FD72;FD72;0637 0645 062D;0637 0645 062D;
+FD73;FD73;FD73;0637 0645 0645;0637 0645 0645;
+FD74;FD74;FD74;0637 0645 064A;0637 0645 064A;
+FD75;FD75;FD75;0639 062C 0645;0639 062C 0645;
+FD76;FD76;FD76;0639 0645 0645;0639 0645 0645;
+FD77;FD77;FD77;0639 0645 0645;0639 0645 0645;
+FD78;FD78;FD78;0639 0645 0649;0639 0645 0649;
+FD79;FD79;FD79;063A 0645 0645;063A 0645 0645;
+FD7A;FD7A;FD7A;063A 0645 064A;063A 0645 064A;
+FD7B;FD7B;FD7B;063A 0645 0649;063A 0645 0649;
+FD7C;FD7C;FD7C;0641 062E 0645;0641 062E 0645;
+FD7D;FD7D;FD7D;0641 062E 0645;0641 062E 0645;
+FD7E;FD7E;FD7E;0642 0645 062D;0642 0645 062D;
+FD7F;FD7F;FD7F;0642 0645 0645;0642 0645 0645;
+FD80;FD80;FD80;0644 062D 0645;0644 062D 0645;
+FD81;FD81;FD81;0644 062D 064A;0644 062D 064A;
+FD82;FD82;FD82;0644 062D 0649;0644 062D 0649;
+FD83;FD83;FD83;0644 062C 062C;0644 062C 062C;
+FD84;FD84;FD84;0644 062C 062C;0644 062C 062C;
+FD85;FD85;FD85;0644 062E 0645;0644 062E 0645;
+FD86;FD86;FD86;0644 062E 0645;0644 062E 0645;
+FD87;FD87;FD87;0644 0645 062D;0644 0645 062D;
+FD88;FD88;FD88;0644 0645 062D;0644 0645 062D;
+FD89;FD89;FD89;0645 062D 062C;0645 062D 062C;
+FD8A;FD8A;FD8A;0645 062D 0645;0645 062D 0645;
+FD8B;FD8B;FD8B;0645 062D 064A;0645 062D 064A;
+FD8C;FD8C;FD8C;0645 062C 062D;0645 062C 062D;
+FD8D;FD8D;FD8D;0645 062C 0645;0645 062C 0645;
+FD8E;FD8E;FD8E;0645 062E 062C;0645 062E 062C;
+FD8F;FD8F;FD8F;0645 062E 0645;0645 062E 0645;
+FD92;FD92;FD92;0645 062C 062E;0645 062C 062E;
+FD93;FD93;FD93;0647 0645 062C;0647 0645 062C;
+FD94;FD94;FD94;0647 0645 0645;0647 0645 0645;
+FD95;FD95;FD95;0646 062D 0645;0646 062D 0645;
+FD96;FD96;FD96;0646 062D 0649;0646 062D 0649;
+FD97;FD97;FD97;0646 062C 0645;0646 062C 0645;
+FD98;FD98;FD98;0646 062C 0645;0646 062C 0645;
+FD99;FD99;FD99;0646 062C 0649;0646 062C 0649;
+FD9A;FD9A;FD9A;0646 0645 064A;0646 0645 064A;
+FD9B;FD9B;FD9B;0646 0645 0649;0646 0645 0649;
+FD9C;FD9C;FD9C;064A 0645 0645;064A 0645 0645;
+FD9D;FD9D;FD9D;064A 0645 0645;064A 0645 0645;
+FD9E;FD9E;FD9E;0628 062E 064A;0628 062E 064A;
+FD9F;FD9F;FD9F;062A 062C 064A;062A 062C 064A;
+FDA0;FDA0;FDA0;062A 062C 0649;062A 062C 0649;
+FDA1;FDA1;FDA1;062A 062E 064A;062A 062E 064A;
+FDA2;FDA2;FDA2;062A 062E 0649;062A 062E 0649;
+FDA3;FDA3;FDA3;062A 0645 064A;062A 0645 064A;
+FDA4;FDA4;FDA4;062A 0645 0649;062A 0645 0649;
+FDA5;FDA5;FDA5;062C 0645 064A;062C 0645 064A;
+FDA6;FDA6;FDA6;062C 062D 0649;062C 062D 0649;
+FDA7;FDA7;FDA7;062C 0645 0649;062C 0645 0649;
+FDA8;FDA8;FDA8;0633 062E 0649;0633 062E 0649;
+FDA9;FDA9;FDA9;0635 062D 064A;0635 062D 064A;
+FDAA;FDAA;FDAA;0634 062D 064A;0634 062D 064A;
+FDAB;FDAB;FDAB;0636 062D 064A;0636 062D 064A;
+FDAC;FDAC;FDAC;0644 062C 064A;0644 062C 064A;
+FDAD;FDAD;FDAD;0644 0645 064A;0644 0645 064A;
+FDAE;FDAE;FDAE;064A 062D 064A;064A 062D 064A;
+FDAF;FDAF;FDAF;064A 062C 064A;064A 062C 064A;
+FDB0;FDB0;FDB0;064A 0645 064A;064A 0645 064A;
+FDB1;FDB1;FDB1;0645 0645 064A;0645 0645 064A;
+FDB2;FDB2;FDB2;0642 0645 064A;0642 0645 064A;
+FDB3;FDB3;FDB3;0646 062D 064A;0646 062D 064A;
+FDB4;FDB4;FDB4;0642 0645 062D;0642 0645 062D;
+FDB5;FDB5;FDB5;0644 062D 0645;0644 062D 0645;
+FDB6;FDB6;FDB6;0639 0645 064A;0639 0645 064A;
+FDB7;FDB7;FDB7;0643 0645 064A;0643 0645 064A;
+FDB8;FDB8;FDB8;0646 062C 062D;0646 062C 062D;
+FDB9;FDB9;FDB9;0645 062E 064A;0645 062E 064A;
+FDBA;FDBA;FDBA;0644 062C 0645;0644 062C 0645;
+FDBB;FDBB;FDBB;0643 0645 0645;0643 0645 0645;
+FDBC;FDBC;FDBC;0644 062C 0645;0644 062C 0645;
+FDBD;FDBD;FDBD;0646 062C 062D;0646 062C 062D;
+FDBE;FDBE;FDBE;062C 062D 064A;062C 062D 064A;
+FDBF;FDBF;FDBF;062D 062C 064A;062D 062C 064A;
+FDC0;FDC0;FDC0;0645 062C 064A;0645 062C 064A;
+FDC1;FDC1;FDC1;0641 0645 064A;0641 0645 064A;
+FDC2;FDC2;FDC2;0628 062D 064A;0628 062D 064A;
+FDC3;FDC3;FDC3;0643 0645 0645;0643 0645 0645;
+FDC4;FDC4;FDC4;0639 062C 0645;0639 062C 0645;
+FDC5;FDC5;FDC5;0635 0645 0645;0635 0645 0645;
+FDC6;FDC6;FDC6;0633 062E 064A;0633 062E 064A;
+FDC7;FDC7;FDC7;0646 062C 064A;0646 062C 064A;
+FDF0;FDF0;FDF0;0635 0644 06D2;0635 0644 06D2;
+FDF1;FDF1;FDF1;0642 0644 06D2;0642 0644 06D2;
+FDF2;FDF2;FDF2;0627 0644 0644 0647;0627 0644 0644 0647;
+FDF3;FDF3;FDF3;0627 0643 0628 0631;0627 0643 0628 0631;
+FDF4;FDF4;FDF4;0645 062D 0645 062F;0645 062D 0645 062F;
+FDF5;FDF5;FDF5;0635 0644 0639 0645;0635 0644 0639 0645;
+FDF6;FDF6;FDF6;0631 0633 0648 0644;0631 0633 0648 0644;
+FDF7;FDF7;FDF7;0639 0644 064A 0647;0639 0644 064A 0647;
+FDF8;FDF8;FDF8;0648 0633 0644 0645;0648 0633 0644 0645;
+FDF9;FDF9;FDF9;0635 0644 0649;0635 0644 0649;
+FDFA;FDFA;FDFA;0635 0644 0649 0020 0627 0644 0644 0647 0020 0639 0644 064A 0647 0020 0648 0633 0644 0645;0635 0644 0649 0020 0627 0644 0644 0647 0020 0639 0644 064A 0647 0020 0648 0633 0644 0645;
+FDFB;FDFB;FDFB;062C 0644 0020 062C 0644 0627 0644 0647;062C 0644 0020 062C 0644 0627 0644 0647;
+FDFC;FDFC;FDFC;0631 06CC 0627 0644;0631 06CC 0627 0644;
+FE10;FE10;FE10;002C;002C;
+FE11;FE11;FE11;3001;3001;
+FE12;FE12;FE12;3002;3002;
+FE13;FE13;FE13;003A;003A;
+FE14;FE14;FE14;003B;003B;
+FE15;FE15;FE15;0021;0021;
+FE16;FE16;FE16;003F;003F;
+FE17;FE17;FE17;3016;3016;
+FE18;FE18;FE18;3017;3017;
+FE19;FE19;FE19;002E 002E 002E;002E 002E 002E;
+FE30;FE30;FE30;002E 002E;002E 002E;
+FE31;FE31;FE31;2014;2014;
+FE32;FE32;FE32;2013;2013;
+FE33;FE33;FE33;005F;005F;
+FE34;FE34;FE34;005F;005F;
+FE35;FE35;FE35;0028;0028;
+FE36;FE36;FE36;0029;0029;
+FE37;FE37;FE37;007B;007B;
+FE38;FE38;FE38;007D;007D;
+FE39;FE39;FE39;3014;3014;
+FE3A;FE3A;FE3A;3015;3015;
+FE3B;FE3B;FE3B;3010;3010;
+FE3C;FE3C;FE3C;3011;3011;
+FE3D;FE3D;FE3D;300A;300A;
+FE3E;FE3E;FE3E;300B;300B;
+FE3F;FE3F;FE3F;3008;3008;
+FE40;FE40;FE40;3009;3009;
+FE41;FE41;FE41;300C;300C;
+FE42;FE42;FE42;300D;300D;
+FE43;FE43;FE43;300E;300E;
+FE44;FE44;FE44;300F;300F;
+FE47;FE47;FE47;005B;005B;
+FE48;FE48;FE48;005D;005D;
+FE49;FE49;FE49;0020 0305;0020 0305;
+FE4A;FE4A;FE4A;0020 0305;0020 0305;
+FE4B;FE4B;FE4B;0020 0305;0020 0305;
+FE4C;FE4C;FE4C;0020 0305;0020 0305;
+FE4D;FE4D;FE4D;005F;005F;
+FE4E;FE4E;FE4E;005F;005F;
+FE4F;FE4F;FE4F;005F;005F;
+FE50;FE50;FE50;002C;002C;
+FE51;FE51;FE51;3001;3001;
+FE52;FE52;FE52;002E;002E;
+FE54;FE54;FE54;003B;003B;
+FE55;FE55;FE55;003A;003A;
+FE56;FE56;FE56;003F;003F;
+FE57;FE57;FE57;0021;0021;
+FE58;FE58;FE58;2014;2014;
+FE59;FE59;FE59;0028;0028;
+FE5A;FE5A;FE5A;0029;0029;
+FE5B;FE5B;FE5B;007B;007B;
+FE5C;FE5C;FE5C;007D;007D;
+FE5D;FE5D;FE5D;3014;3014;
+FE5E;FE5E;FE5E;3015;3015;
+FE5F;FE5F;FE5F;0023;0023;
+FE60;FE60;FE60;0026;0026;
+FE61;FE61;FE61;002A;002A;
+FE62;FE62;FE62;002B;002B;
+FE63;FE63;FE63;002D;002D;
+FE64;FE64;FE64;003C;003C;
+FE65;FE65;FE65;003E;003E;
+FE66;FE66;FE66;003D;003D;
+FE68;FE68;FE68;005C;005C;
+FE69;FE69;FE69;0024;0024;
+FE6A;FE6A;FE6A;0025;0025;
+FE6B;FE6B;FE6B;0040;0040;
+FE70;FE70;FE70;0020 064B;0020 064B;
+FE71;FE71;FE71;0640 064B;0640 064B;
+FE72;FE72;FE72;0020 064C;0020 064C;
+FE74;FE74;FE74;0020 064D;0020 064D;
+FE76;FE76;FE76;0020 064E;0020 064E;
+FE77;FE77;FE77;0640 064E;0640 064E;
+FE78;FE78;FE78;0020 064F;0020 064F;
+FE79;FE79;FE79;0640 064F;0640 064F;
+FE7A;FE7A;FE7A;0020 0650;0020 0650;
+FE7B;FE7B;FE7B;0640 0650;0640 0650;
+FE7C;FE7C;FE7C;0020 0651;0020 0651;
+FE7D;FE7D;FE7D;0640 0651;0640 0651;
+FE7E;FE7E;FE7E;0020 0652;0020 0652;
+FE7F;FE7F;FE7F;0640 0652;0640 0652;
+FE80;FE80;FE80;0621;0621;
+FE81;FE81;FE81;0622;0627 0653;
+FE82;FE82;FE82;0622;0627 0653;
+FE83;FE83;FE83;0623;0627 0654;
+FE84;FE84;FE84;0623;0627 0654;
+FE85;FE85;FE85;0624;0648 0654;
+FE86;FE86;FE86;0624;0648 0654;
+FE87;FE87;FE87;0625;0627 0655;
+FE88;FE88;FE88;0625;0627 0655;
+FE89;FE89;FE89;0626;064A 0654;
+FE8A;FE8A;FE8A;0626;064A 0654;
+FE8B;FE8B;FE8B;0626;064A 0654;
+FE8C;FE8C;FE8C;0626;064A 0654;
+FE8D;FE8D;FE8D;0627;0627;
+FE8E;FE8E;FE8E;0627;0627;
+FE8F;FE8F;FE8F;0628;0628;
+FE90;FE90;FE90;0628;0628;
+FE91;FE91;FE91;0628;0628;
+FE92;FE92;FE92;0628;0628;
+FE93;FE93;FE93;0629;0629;
+FE94;FE94;FE94;0629;0629;
+FE95;FE95;FE95;062A;062A;
+FE96;FE96;FE96;062A;062A;
+FE97;FE97;FE97;062A;062A;
+FE98;FE98;FE98;062A;062A;
+FE99;FE99;FE99;062B;062B;
+FE9A;FE9A;FE9A;062B;062B;
+FE9B;FE9B;FE9B;062B;062B;
+FE9C;FE9C;FE9C;062B;062B;
+FE9D;FE9D;FE9D;062C;062C;
+FE9E;FE9E;FE9E;062C;062C;
+FE9F;FE9F;FE9F;062C;062C;
+FEA0;FEA0;FEA0;062C;062C;
+FEA1;FEA1;FEA1;062D;062D;
+FEA2;FEA2;FEA2;062D;062D;
+FEA3;FEA3;FEA3;062D;062D;
+FEA4;FEA4;FEA4;062D;062D;
+FEA5;FEA5;FEA5;062E;062E;
+FEA6;FEA6;FEA6;062E;062E;
+FEA7;FEA7;FEA7;062E;062E;
+FEA8;FEA8;FEA8;062E;062E;
+FEA9;FEA9;FEA9;062F;062F;
+FEAA;FEAA;FEAA;062F;062F;
+FEAB;FEAB;FEAB;0630;0630;
+FEAC;FEAC;FEAC;0630;0630;
+FEAD;FEAD;FEAD;0631;0631;
+FEAE;FEAE;FEAE;0631;0631;
+FEAF;FEAF;FEAF;0632;0632;
+FEB0;FEB0;FEB0;0632;0632;
+FEB1;FEB1;FEB1;0633;0633;
+FEB2;FEB2;FEB2;0633;0633;
+FEB3;FEB3;FEB3;0633;0633;
+FEB4;FEB4;FEB4;0633;0633;
+FEB5;FEB5;FEB5;0634;0634;
+FEB6;FEB6;FEB6;0634;0634;
+FEB7;FEB7;FEB7;0634;0634;
+FEB8;FEB8;FEB8;0634;0634;
+FEB9;FEB9;FEB9;0635;0635;
+FEBA;FEBA;FEBA;0635;0635;
+FEBB;FEBB;FEBB;0635;0635;
+FEBC;FEBC;FEBC;0635;0635;
+FEBD;FEBD;FEBD;0636;0636;
+FEBE;FEBE;FEBE;0636;0636;
+FEBF;FEBF;FEBF;0636;0636;
+FEC0;FEC0;FEC0;0636;0636;
+FEC1;FEC1;FEC1;0637;0637;
+FEC2;FEC2;FEC2;0637;0637;
+FEC3;FEC3;FEC3;0637;0637;
+FEC4;FEC4;FEC4;0637;0637;
+FEC5;FEC5;FEC5;0638;0638;
+FEC6;FEC6;FEC6;0638;0638;
+FEC7;FEC7;FEC7;0638;0638;
+FEC8;FEC8;FEC8;0638;0638;
+FEC9;FEC9;FEC9;0639;0639;
+FECA;FECA;FECA;0639;0639;
+FECB;FECB;FECB;0639;0639;
+FECC;FECC;FECC;0639;0639;
+FECD;FECD;FECD;063A;063A;
+FECE;FECE;FECE;063A;063A;
+FECF;FECF;FECF;063A;063A;
+FED0;FED0;FED0;063A;063A;
+FED1;FED1;FED1;0641;0641;
+FED2;FED2;FED2;0641;0641;
+FED3;FED3;FED3;0641;0641;
+FED4;FED4;FED4;0641;0641;
+FED5;FED5;FED5;0642;0642;
+FED6;FED6;FED6;0642;0642;
+FED7;FED7;FED7;0642;0642;
+FED8;FED8;FED8;0642;0642;
+FED9;FED9;FED9;0643;0643;
+FEDA;FEDA;FEDA;0643;0643;
+FEDB;FEDB;FEDB;0643;0643;
+FEDC;FEDC;FEDC;0643;0643;
+FEDD;FEDD;FEDD;0644;0644;
+FEDE;FEDE;FEDE;0644;0644;
+FEDF;FEDF;FEDF;0644;0644;
+FEE0;FEE0;FEE0;0644;0644;
+FEE1;FEE1;FEE1;0645;0645;
+FEE2;FEE2;FEE2;0645;0645;
+FEE3;FEE3;FEE3;0645;0645;
+FEE4;FEE4;FEE4;0645;0645;
+FEE5;FEE5;FEE5;0646;0646;
+FEE6;FEE6;FEE6;0646;0646;
+FEE7;FEE7;FEE7;0646;0646;
+FEE8;FEE8;FEE8;0646;0646;
+FEE9;FEE9;FEE9;0647;0647;
+FEEA;FEEA;FEEA;0647;0647;
+FEEB;FEEB;FEEB;0647;0647;
+FEEC;FEEC;FEEC;0647;0647;
+FEED;FEED;FEED;0648;0648;
+FEEE;FEEE;FEEE;0648;0648;
+FEEF;FEEF;FEEF;0649;0649;
+FEF0;FEF0;FEF0;0649;0649;
+FEF1;FEF1;FEF1;064A;064A;
+FEF2;FEF2;FEF2;064A;064A;
+FEF3;FEF3;FEF3;064A;064A;
+FEF4;FEF4;FEF4;064A;064A;
+FEF5;FEF5;FEF5;0644 0622;0644 0627 0653;
+FEF6;FEF6;FEF6;0644 0622;0644 0627 0653;
+FEF7;FEF7;FEF7;0644 0623;0644 0627 0654;
+FEF8;FEF8;FEF8;0644 0623;0644 0627 0654;
+FEF9;FEF9;FEF9;0644 0625;0644 0627 0655;
+FEFA;FEFA;FEFA;0644 0625;0644 0627 0655;
+FEFB;FEFB;FEFB;0644 0627;0644 0627;
+FEFC;FEFC;FEFC;0644 0627;0644 0627;
+FF01;FF01;FF01;0021;0021;
+FF02;FF02;FF02;0022;0022;
+FF03;FF03;FF03;0023;0023;
+FF04;FF04;FF04;0024;0024;
+FF05;FF05;FF05;0025;0025;
+FF06;FF06;FF06;0026;0026;
+FF07;FF07;FF07;0027;0027;
+FF08;FF08;FF08;0028;0028;
+FF09;FF09;FF09;0029;0029;
+FF0A;FF0A;FF0A;002A;002A;
+FF0B;FF0B;FF0B;002B;002B;
+FF0C;FF0C;FF0C;002C;002C;
+FF0D;FF0D;FF0D;002D;002D;
+FF0E;FF0E;FF0E;002E;002E;
+FF0F;FF0F;FF0F;002F;002F;
+FF10;FF10;FF10;0030;0030;
+FF11;FF11;FF11;0031;0031;
+FF12;FF12;FF12;0032;0032;
+FF13;FF13;FF13;0033;0033;
+FF14;FF14;FF14;0034;0034;
+FF15;FF15;FF15;0035;0035;
+FF16;FF16;FF16;0036;0036;
+FF17;FF17;FF17;0037;0037;
+FF18;FF18;FF18;0038;0038;
+FF19;FF19;FF19;0039;0039;
+FF1A;FF1A;FF1A;003A;003A;
+FF1B;FF1B;FF1B;003B;003B;
+FF1C;FF1C;FF1C;003C;003C;
+FF1D;FF1D;FF1D;003D;003D;
+FF1E;FF1E;FF1E;003E;003E;
+FF1F;FF1F;FF1F;003F;003F;
+FF20;FF20;FF20;0040;0040;
+FF21;FF21;FF21;0041;0041;
+FF22;FF22;FF22;0042;0042;
+FF23;FF23;FF23;0043;0043;
+FF24;FF24;FF24;0044;0044;
+FF25;FF25;FF25;0045;0045;
+FF26;FF26;FF26;0046;0046;
+FF27;FF27;FF27;0047;0047;
+FF28;FF28;FF28;0048;0048;
+FF29;FF29;FF29;0049;0049;
+FF2A;FF2A;FF2A;004A;004A;
+FF2B;FF2B;FF2B;004B;004B;
+FF2C;FF2C;FF2C;004C;004C;
+FF2D;FF2D;FF2D;004D;004D;
+FF2E;FF2E;FF2E;004E;004E;
+FF2F;FF2F;FF2F;004F;004F;
+FF30;FF30;FF30;0050;0050;
+FF31;FF31;FF31;0051;0051;
+FF32;FF32;FF32;0052;0052;
+FF33;FF33;FF33;0053;0053;
+FF34;FF34;FF34;0054;0054;
+FF35;FF35;FF35;0055;0055;
+FF36;FF36;FF36;0056;0056;
+FF37;FF37;FF37;0057;0057;
+FF38;FF38;FF38;0058;0058;
+FF39;FF39;FF39;0059;0059;
+FF3A;FF3A;FF3A;005A;005A;
+FF3B;FF3B;FF3B;005B;005B;
+FF3C;FF3C;FF3C;005C;005C;
+FF3D;FF3D;FF3D;005D;005D;
+FF3E;FF3E;FF3E;005E;005E;
+FF3F;FF3F;FF3F;005F;005F;
+FF40;FF40;FF40;0060;0060;
+FF41;FF41;FF41;0061;0061;
+FF42;FF42;FF42;0062;0062;
+FF43;FF43;FF43;0063;0063;
+FF44;FF44;FF44;0064;0064;
+FF45;FF45;FF45;0065;0065;
+FF46;FF46;FF46;0066;0066;
+FF47;FF47;FF47;0067;0067;
+FF48;FF48;FF48;0068;0068;
+FF49;FF49;FF49;0069;0069;
+FF4A;FF4A;FF4A;006A;006A;
+FF4B;FF4B;FF4B;006B;006B;
+FF4C;FF4C;FF4C;006C;006C;
+FF4D;FF4D;FF4D;006D;006D;
+FF4E;FF4E;FF4E;006E;006E;
+FF4F;FF4F;FF4F;006F;006F;
+FF50;FF50;FF50;0070;0070;
+FF51;FF51;FF51;0071;0071;
+FF52;FF52;FF52;0072;0072;
+FF53;FF53;FF53;0073;0073;
+FF54;FF54;FF54;0074;0074;
+FF55;FF55;FF55;0075;0075;
+FF56;FF56;FF56;0076;0076;
+FF57;FF57;FF57;0077;0077;
+FF58;FF58;FF58;0078;0078;
+FF59;FF59;FF59;0079;0079;
+FF5A;FF5A;FF5A;007A;007A;
+FF5B;FF5B;FF5B;007B;007B;
+FF5C;FF5C;FF5C;007C;007C;
+FF5D;FF5D;FF5D;007D;007D;
+FF5E;FF5E;FF5E;007E;007E;
+FF5F;FF5F;FF5F;2985;2985;
+FF60;FF60;FF60;2986;2986;
+FF61;FF61;FF61;3002;3002;
+FF62;FF62;FF62;300C;300C;
+FF63;FF63;FF63;300D;300D;
+FF64;FF64;FF64;3001;3001;
+FF65;FF65;FF65;30FB;30FB;
+FF66;FF66;FF66;30F2;30F2;
+FF67;FF67;FF67;30A1;30A1;
+FF68;FF68;FF68;30A3;30A3;
+FF69;FF69;FF69;30A5;30A5;
+FF6A;FF6A;FF6A;30A7;30A7;
+FF6B;FF6B;FF6B;30A9;30A9;
+FF6C;FF6C;FF6C;30E3;30E3;
+FF6D;FF6D;FF6D;30E5;30E5;
+FF6E;FF6E;FF6E;30E7;30E7;
+FF6F;FF6F;FF6F;30C3;30C3;
+FF70;FF70;FF70;30FC;30FC;
+FF71;FF71;FF71;30A2;30A2;
+FF72;FF72;FF72;30A4;30A4;
+FF73;FF73;FF73;30A6;30A6;
+FF74;FF74;FF74;30A8;30A8;
+FF75;FF75;FF75;30AA;30AA;
+FF76;FF76;FF76;30AB;30AB;
+FF77;FF77;FF77;30AD;30AD;
+FF78;FF78;FF78;30AF;30AF;
+FF79;FF79;FF79;30B1;30B1;
+FF7A;FF7A;FF7A;30B3;30B3;
+FF7B;FF7B;FF7B;30B5;30B5;
+FF7C;FF7C;FF7C;30B7;30B7;
+FF7D;FF7D;FF7D;30B9;30B9;
+FF7E;FF7E;FF7E;30BB;30BB;
+FF7F;FF7F;FF7F;30BD;30BD;
+FF80;FF80;FF80;30BF;30BF;
+FF81;FF81;FF81;30C1;30C1;
+FF82;FF82;FF82;30C4;30C4;
+FF83;FF83;FF83;30C6;30C6;
+FF84;FF84;FF84;30C8;30C8;
+FF85;FF85;FF85;30CA;30CA;
+FF86;FF86;FF86;30CB;30CB;
+FF87;FF87;FF87;30CC;30CC;
+FF88;FF88;FF88;30CD;30CD;
+FF89;FF89;FF89;30CE;30CE;
+FF8A;FF8A;FF8A;30CF;30CF;
+FF8B;FF8B;FF8B;30D2;30D2;
+FF8C;FF8C;FF8C;30D5;30D5;
+FF8D;FF8D;FF8D;30D8;30D8;
+FF8E;FF8E;FF8E;30DB;30DB;
+FF8F;FF8F;FF8F;30DE;30DE;
+FF90;FF90;FF90;30DF;30DF;
+FF91;FF91;FF91;30E0;30E0;
+FF92;FF92;FF92;30E1;30E1;
+FF93;FF93;FF93;30E2;30E2;
+FF94;FF94;FF94;30E4;30E4;
+FF95;FF95;FF95;30E6;30E6;
+FF96;FF96;FF96;30E8;30E8;
+FF97;FF97;FF97;30E9;30E9;
+FF98;FF98;FF98;30EA;30EA;
+FF99;FF99;FF99;30EB;30EB;
+FF9A;FF9A;FF9A;30EC;30EC;
+FF9B;FF9B;FF9B;30ED;30ED;
+FF9C;FF9C;FF9C;30EF;30EF;
+FF9D;FF9D;FF9D;30F3;30F3;
+FF9E;FF9E;FF9E;3099;3099;
+FF9F;FF9F;FF9F;309A;309A;
+FFA0;FFA0;FFA0;1160;1160;
+FFA1;FFA1;FFA1;1100;1100;
+FFA2;FFA2;FFA2;1101;1101;
+FFA3;FFA3;FFA3;11AA;11AA;
+FFA4;FFA4;FFA4;1102;1102;
+FFA5;FFA5;FFA5;11AC;11AC;
+FFA6;FFA6;FFA6;11AD;11AD;
+FFA7;FFA7;FFA7;1103;1103;
+FFA8;FFA8;FFA8;1104;1104;
+FFA9;FFA9;FFA9;1105;1105;
+FFAA;FFAA;FFAA;11B0;11B0;
+FFAB;FFAB;FFAB;11B1;11B1;
+FFAC;FFAC;FFAC;11B2;11B2;
+FFAD;FFAD;FFAD;11B3;11B3;
+FFAE;FFAE;FFAE;11B4;11B4;
+FFAF;FFAF;FFAF;11B5;11B5;
+FFB0;FFB0;FFB0;111A;111A;
+FFB1;FFB1;FFB1;1106;1106;
+FFB2;FFB2;FFB2;1107;1107;
+FFB3;FFB3;FFB3;1108;1108;
+FFB4;FFB4;FFB4;1121;1121;
+FFB5;FFB5;FFB5;1109;1109;
+FFB6;FFB6;FFB6;110A;110A;
+FFB7;FFB7;FFB7;110B;110B;
+FFB8;FFB8;FFB8;110C;110C;
+FFB9;FFB9;FFB9;110D;110D;
+FFBA;FFBA;FFBA;110E;110E;
+FFBB;FFBB;FFBB;110F;110F;
+FFBC;FFBC;FFBC;1110;1110;
+FFBD;FFBD;FFBD;1111;1111;
+FFBE;FFBE;FFBE;1112;1112;
+FFC2;FFC2;FFC2;1161;1161;
+FFC3;FFC3;FFC3;1162;1162;
+FFC4;FFC4;FFC4;1163;1163;
+FFC5;FFC5;FFC5;1164;1164;
+FFC6;FFC6;FFC6;1165;1165;
+FFC7;FFC7;FFC7;1166;1166;
+FFCA;FFCA;FFCA;1167;1167;
+FFCB;FFCB;FFCB;1168;1168;
+FFCC;FFCC;FFCC;1169;1169;
+FFCD;FFCD;FFCD;116A;116A;
+FFCE;FFCE;FFCE;116B;116B;
+FFCF;FFCF;FFCF;116C;116C;
+FFD2;FFD2;FFD2;116D;116D;
+FFD3;FFD3;FFD3;116E;116E;
+FFD4;FFD4;FFD4;116F;116F;
+FFD5;FFD5;FFD5;1170;1170;
+FFD6;FFD6;FFD6;1171;1171;
+FFD7;FFD7;FFD7;1172;1172;
+FFDA;FFDA;FFDA;1173;1173;
+FFDB;FFDB;FFDB;1174;1174;
+FFDC;FFDC;FFDC;1175;1175;
+FFE0;FFE0;FFE0;00A2;00A2;
+FFE1;FFE1;FFE1;00A3;00A3;
+FFE2;FFE2;FFE2;00AC;00AC;
+FFE3;FFE3;FFE3;0020 0304;0020 0304;
+FFE4;FFE4;FFE4;00A6;00A6;
+FFE5;FFE5;FFE5;00A5;00A5;
+FFE6;FFE6;FFE6;20A9;20A9;
+FFE8;FFE8;FFE8;2502;2502;
+FFE9;FFE9;FFE9;2190;2190;
+FFEA;FFEA;FFEA;2191;2191;
+FFEB;FFEB;FFEB;2192;2192;
+FFEC;FFEC;FFEC;2193;2193;
+FFED;FFED;FFED;25A0;25A0;
+FFEE;FFEE;FFEE;25CB;25CB;
+1D15E;1D157 1D165;1D157 1D165;1D157 1D165;1D157 1D165;
+1D15F;1D158 1D165;1D158 1D165;1D158 1D165;1D158 1D165;
+1D160;1D158 1D165 1D16E;1D158 1D165 1D16E;1D158 1D165 1D16E;1D158 1D165 1D16E;
+1D161;1D158 1D165 1D16F;1D158 1D165 1D16F;1D158 1D165 1D16F;1D158 1D165 1D16F;
+1D162;1D158 1D165 1D170;1D158 1D165 1D170;1D158 1D165 1D170;1D158 1D165 1D170;
+1D163;1D158 1D165 1D171;1D158 1D165 1D171;1D158 1D165 1D171;1D158 1D165 1D171;
+1D164;1D158 1D165 1D172;1D158 1D165 1D172;1D158 1D165 1D172;1D158 1D165 1D172;
+1D1BB;1D1B9 1D165;1D1B9 1D165;1D1B9 1D165;1D1B9 1D165;
+1D1BC;1D1BA 1D165;1D1BA 1D165;1D1BA 1D165;1D1BA 1D165;
+1D1BD;1D1B9 1D165 1D16E;1D1B9 1D165 1D16E;1D1B9 1D165 1D16E;1D1B9 1D165 1D16E;
+1D1BE;1D1BA 1D165 1D16E;1D1BA 1D165 1D16E;1D1BA 1D165 1D16E;1D1BA 1D165 1D16E;
+1D1BF;1D1B9 1D165 1D16F;1D1B9 1D165 1D16F;1D1B9 1D165 1D16F;1D1B9 1D165 1D16F;
+1D1C0;1D1BA 1D165 1D16F;1D1BA 1D165 1D16F;1D1BA 1D165 1D16F;1D1BA 1D165 1D16F;
+1D400;1D400;1D400;0041;0041;
+1D401;1D401;1D401;0042;0042;
+1D402;1D402;1D402;0043;0043;
+1D403;1D403;1D403;0044;0044;
+1D404;1D404;1D404;0045;0045;
+1D405;1D405;1D405;0046;0046;
+1D406;1D406;1D406;0047;0047;
+1D407;1D407;1D407;0048;0048;
+1D408;1D408;1D408;0049;0049;
+1D409;1D409;1D409;004A;004A;
+1D40A;1D40A;1D40A;004B;004B;
+1D40B;1D40B;1D40B;004C;004C;
+1D40C;1D40C;1D40C;004D;004D;
+1D40D;1D40D;1D40D;004E;004E;
+1D40E;1D40E;1D40E;004F;004F;
+1D40F;1D40F;1D40F;0050;0050;
+1D410;1D410;1D410;0051;0051;
+1D411;1D411;1D411;0052;0052;
+1D412;1D412;1D412;0053;0053;
+1D413;1D413;1D413;0054;0054;
+1D414;1D414;1D414;0055;0055;
+1D415;1D415;1D415;0056;0056;
+1D416;1D416;1D416;0057;0057;
+1D417;1D417;1D417;0058;0058;
+1D418;1D418;1D418;0059;0059;
+1D419;1D419;1D419;005A;005A;
+1D41A;1D41A;1D41A;0061;0061;
+1D41B;1D41B;1D41B;0062;0062;
+1D41C;1D41C;1D41C;0063;0063;
+1D41D;1D41D;1D41D;0064;0064;
+1D41E;1D41E;1D41E;0065;0065;
+1D41F;1D41F;1D41F;0066;0066;
+1D420;1D420;1D420;0067;0067;
+1D421;1D421;1D421;0068;0068;
+1D422;1D422;1D422;0069;0069;
+1D423;1D423;1D423;006A;006A;
+1D424;1D424;1D424;006B;006B;
+1D425;1D425;1D425;006C;006C;
+1D426;1D426;1D426;006D;006D;
+1D427;1D427;1D427;006E;006E;
+1D428;1D428;1D428;006F;006F;
+1D429;1D429;1D429;0070;0070;
+1D42A;1D42A;1D42A;0071;0071;
+1D42B;1D42B;1D42B;0072;0072;
+1D42C;1D42C;1D42C;0073;0073;
+1D42D;1D42D;1D42D;0074;0074;
+1D42E;1D42E;1D42E;0075;0075;
+1D42F;1D42F;1D42F;0076;0076;
+1D430;1D430;1D430;0077;0077;
+1D431;1D431;1D431;0078;0078;
+1D432;1D432;1D432;0079;0079;
+1D433;1D433;1D433;007A;007A;
+1D434;1D434;1D434;0041;0041;
+1D435;1D435;1D435;0042;0042;
+1D436;1D436;1D436;0043;0043;
+1D437;1D437;1D437;0044;0044;
+1D438;1D438;1D438;0045;0045;
+1D439;1D439;1D439;0046;0046;
+1D43A;1D43A;1D43A;0047;0047;
+1D43B;1D43B;1D43B;0048;0048;
+1D43C;1D43C;1D43C;0049;0049;
+1D43D;1D43D;1D43D;004A;004A;
+1D43E;1D43E;1D43E;004B;004B;
+1D43F;1D43F;1D43F;004C;004C;
+1D440;1D440;1D440;004D;004D;
+1D441;1D441;1D441;004E;004E;
+1D442;1D442;1D442;004F;004F;
+1D443;1D443;1D443;0050;0050;
+1D444;1D444;1D444;0051;0051;
+1D445;1D445;1D445;0052;0052;
+1D446;1D446;1D446;0053;0053;
+1D447;1D447;1D447;0054;0054;
+1D448;1D448;1D448;0055;0055;
+1D449;1D449;1D449;0056;0056;
+1D44A;1D44A;1D44A;0057;0057;
+1D44B;1D44B;1D44B;0058;0058;
+1D44C;1D44C;1D44C;0059;0059;
+1D44D;1D44D;1D44D;005A;005A;
+1D44E;1D44E;1D44E;0061;0061;
+1D44F;1D44F;1D44F;0062;0062;
+1D450;1D450;1D450;0063;0063;
+1D451;1D451;1D451;0064;0064;
+1D452;1D452;1D452;0065;0065;
+1D453;1D453;1D453;0066;0066;
+1D454;1D454;1D454;0067;0067;
+1D456;1D456;1D456;0069;0069;
+1D457;1D457;1D457;006A;006A;
+1D458;1D458;1D458;006B;006B;
+1D459;1D459;1D459;006C;006C;
+1D45A;1D45A;1D45A;006D;006D;
+1D45B;1D45B;1D45B;006E;006E;
+1D45C;1D45C;1D45C;006F;006F;
+1D45D;1D45D;1D45D;0070;0070;
+1D45E;1D45E;1D45E;0071;0071;
+1D45F;1D45F;1D45F;0072;0072;
+1D460;1D460;1D460;0073;0073;
+1D461;1D461;1D461;0074;0074;
+1D462;1D462;1D462;0075;0075;
+1D463;1D463;1D463;0076;0076;
+1D464;1D464;1D464;0077;0077;
+1D465;1D465;1D465;0078;0078;
+1D466;1D466;1D466;0079;0079;
+1D467;1D467;1D467;007A;007A;
+1D468;1D468;1D468;0041;0041;
+1D469;1D469;1D469;0042;0042;
+1D46A;1D46A;1D46A;0043;0043;
+1D46B;1D46B;1D46B;0044;0044;
+1D46C;1D46C;1D46C;0045;0045;
+1D46D;1D46D;1D46D;0046;0046;
+1D46E;1D46E;1D46E;0047;0047;
+1D46F;1D46F;1D46F;0048;0048;
+1D470;1D470;1D470;0049;0049;
+1D471;1D471;1D471;004A;004A;
+1D472;1D472;1D472;004B;004B;
+1D473;1D473;1D473;004C;004C;
+1D474;1D474;1D474;004D;004D;
+1D475;1D475;1D475;004E;004E;
+1D476;1D476;1D476;004F;004F;
+1D477;1D477;1D477;0050;0050;
+1D478;1D478;1D478;0051;0051;
+1D479;1D479;1D479;0052;0052;
+1D47A;1D47A;1D47A;0053;0053;
+1D47B;1D47B;1D47B;0054;0054;
+1D47C;1D47C;1D47C;0055;0055;
+1D47D;1D47D;1D47D;0056;0056;
+1D47E;1D47E;1D47E;0057;0057;
+1D47F;1D47F;1D47F;0058;0058;
+1D480;1D480;1D480;0059;0059;
+1D481;1D481;1D481;005A;005A;
+1D482;1D482;1D482;0061;0061;
+1D483;1D483;1D483;0062;0062;
+1D484;1D484;1D484;0063;0063;
+1D485;1D485;1D485;0064;0064;
+1D486;1D486;1D486;0065;0065;
+1D487;1D487;1D487;0066;0066;
+1D488;1D488;1D488;0067;0067;
+1D489;1D489;1D489;0068;0068;
+1D48A;1D48A;1D48A;0069;0069;
+1D48B;1D48B;1D48B;006A;006A;
+1D48C;1D48C;1D48C;006B;006B;
+1D48D;1D48D;1D48D;006C;006C;
+1D48E;1D48E;1D48E;006D;006D;
+1D48F;1D48F;1D48F;006E;006E;
+1D490;1D490;1D490;006F;006F;
+1D491;1D491;1D491;0070;0070;
+1D492;1D492;1D492;0071;0071;
+1D493;1D493;1D493;0072;0072;
+1D494;1D494;1D494;0073;0073;
+1D495;1D495;1D495;0074;0074;
+1D496;1D496;1D496;0075;0075;
+1D497;1D497;1D497;0076;0076;
+1D498;1D498;1D498;0077;0077;
+1D499;1D499;1D499;0078;0078;
+1D49A;1D49A;1D49A;0079;0079;
+1D49B;1D49B;1D49B;007A;007A;
+1D49C;1D49C;1D49C;0041;0041;
+1D49E;1D49E;1D49E;0043;0043;
+1D49F;1D49F;1D49F;0044;0044;
+1D4A2;1D4A2;1D4A2;0047;0047;
+1D4A5;1D4A5;1D4A5;004A;004A;
+1D4A6;1D4A6;1D4A6;004B;004B;
+1D4A9;1D4A9;1D4A9;004E;004E;
+1D4AA;1D4AA;1D4AA;004F;004F;
+1D4AB;1D4AB;1D4AB;0050;0050;
+1D4AC;1D4AC;1D4AC;0051;0051;
+1D4AE;1D4AE;1D4AE;0053;0053;
+1D4AF;1D4AF;1D4AF;0054;0054;
+1D4B0;1D4B0;1D4B0;0055;0055;
+1D4B1;1D4B1;1D4B1;0056;0056;
+1D4B2;1D4B2;1D4B2;0057;0057;
+1D4B3;1D4B3;1D4B3;0058;0058;
+1D4B4;1D4B4;1D4B4;0059;0059;
+1D4B5;1D4B5;1D4B5;005A;005A;
+1D4B6;1D4B6;1D4B6;0061;0061;
+1D4B7;1D4B7;1D4B7;0062;0062;
+1D4B8;1D4B8;1D4B8;0063;0063;
+1D4B9;1D4B9;1D4B9;0064;0064;
+1D4BB;1D4BB;1D4BB;0066;0066;
+1D4BD;1D4BD;1D4BD;0068;0068;
+1D4BE;1D4BE;1D4BE;0069;0069;
+1D4BF;1D4BF;1D4BF;006A;006A;
+1D4C0;1D4C0;1D4C0;006B;006B;
+1D4C1;1D4C1;1D4C1;006C;006C;
+1D4C2;1D4C2;1D4C2;006D;006D;
+1D4C3;1D4C3;1D4C3;006E;006E;
+1D4C5;1D4C5;1D4C5;0070;0070;
+1D4C6;1D4C6;1D4C6;0071;0071;
+1D4C7;1D4C7;1D4C7;0072;0072;
+1D4C8;1D4C8;1D4C8;0073;0073;
+1D4C9;1D4C9;1D4C9;0074;0074;
+1D4CA;1D4CA;1D4CA;0075;0075;
+1D4CB;1D4CB;1D4CB;0076;0076;
+1D4CC;1D4CC;1D4CC;0077;0077;
+1D4CD;1D4CD;1D4CD;0078;0078;
+1D4CE;1D4CE;1D4CE;0079;0079;
+1D4CF;1D4CF;1D4CF;007A;007A;
+1D4D0;1D4D0;1D4D0;0041;0041;
+1D4D1;1D4D1;1D4D1;0042;0042;
+1D4D2;1D4D2;1D4D2;0043;0043;
+1D4D3;1D4D3;1D4D3;0044;0044;
+1D4D4;1D4D4;1D4D4;0045;0045;
+1D4D5;1D4D5;1D4D5;0046;0046;
+1D4D6;1D4D6;1D4D6;0047;0047;
+1D4D7;1D4D7;1D4D7;0048;0048;
+1D4D8;1D4D8;1D4D8;0049;0049;
+1D4D9;1D4D9;1D4D9;004A;004A;
+1D4DA;1D4DA;1D4DA;004B;004B;
+1D4DB;1D4DB;1D4DB;004C;004C;
+1D4DC;1D4DC;1D4DC;004D;004D;
+1D4DD;1D4DD;1D4DD;004E;004E;
+1D4DE;1D4DE;1D4DE;004F;004F;
+1D4DF;1D4DF;1D4DF;0050;0050;
+1D4E0;1D4E0;1D4E0;0051;0051;
+1D4E1;1D4E1;1D4E1;0052;0052;
+1D4E2;1D4E2;1D4E2;0053;0053;
+1D4E3;1D4E3;1D4E3;0054;0054;
+1D4E4;1D4E4;1D4E4;0055;0055;
+1D4E5;1D4E5;1D4E5;0056;0056;
+1D4E6;1D4E6;1D4E6;0057;0057;
+1D4E7;1D4E7;1D4E7;0058;0058;
+1D4E8;1D4E8;1D4E8;0059;0059;
+1D4E9;1D4E9;1D4E9;005A;005A;
+1D4EA;1D4EA;1D4EA;0061;0061;
+1D4EB;1D4EB;1D4EB;0062;0062;
+1D4EC;1D4EC;1D4EC;0063;0063;
+1D4ED;1D4ED;1D4ED;0064;0064;
+1D4EE;1D4EE;1D4EE;0065;0065;
+1D4EF;1D4EF;1D4EF;0066;0066;
+1D4F0;1D4F0;1D4F0;0067;0067;
+1D4F1;1D4F1;1D4F1;0068;0068;
+1D4F2;1D4F2;1D4F2;0069;0069;
+1D4F3;1D4F3;1D4F3;006A;006A;
+1D4F4;1D4F4;1D4F4;006B;006B;
+1D4F5;1D4F5;1D4F5;006C;006C;
+1D4F6;1D4F6;1D4F6;006D;006D;
+1D4F7;1D4F7;1D4F7;006E;006E;
+1D4F8;1D4F8;1D4F8;006F;006F;
+1D4F9;1D4F9;1D4F9;0070;0070;
+1D4FA;1D4FA;1D4FA;0071;0071;
+1D4FB;1D4FB;1D4FB;0072;0072;
+1D4FC;1D4FC;1D4FC;0073;0073;
+1D4FD;1D4FD;1D4FD;0074;0074;
+1D4FE;1D4FE;1D4FE;0075;0075;
+1D4FF;1D4FF;1D4FF;0076;0076;
+1D500;1D500;1D500;0077;0077;
+1D501;1D501;1D501;0078;0078;
+1D502;1D502;1D502;0079;0079;
+1D503;1D503;1D503;007A;007A;
+1D504;1D504;1D504;0041;0041;
+1D505;1D505;1D505;0042;0042;
+1D507;1D507;1D507;0044;0044;
+1D508;1D508;1D508;0045;0045;
+1D509;1D509;1D509;0046;0046;
+1D50A;1D50A;1D50A;0047;0047;
+1D50D;1D50D;1D50D;004A;004A;
+1D50E;1D50E;1D50E;004B;004B;
+1D50F;1D50F;1D50F;004C;004C;
+1D510;1D510;1D510;004D;004D;
+1D511;1D511;1D511;004E;004E;
+1D512;1D512;1D512;004F;004F;
+1D513;1D513;1D513;0050;0050;
+1D514;1D514;1D514;0051;0051;
+1D516;1D516;1D516;0053;0053;
+1D517;1D517;1D517;0054;0054;
+1D518;1D518;1D518;0055;0055;
+1D519;1D519;1D519;0056;0056;
+1D51A;1D51A;1D51A;0057;0057;
+1D51B;1D51B;1D51B;0058;0058;
+1D51C;1D51C;1D51C;0059;0059;
+1D51E;1D51E;1D51E;0061;0061;
+1D51F;1D51F;1D51F;0062;0062;
+1D520;1D520;1D520;0063;0063;
+1D521;1D521;1D521;0064;0064;
+1D522;1D522;1D522;0065;0065;
+1D523;1D523;1D523;0066;0066;
+1D524;1D524;1D524;0067;0067;
+1D525;1D525;1D525;0068;0068;
+1D526;1D526;1D526;0069;0069;
+1D527;1D527;1D527;006A;006A;
+1D528;1D528;1D528;006B;006B;
+1D529;1D529;1D529;006C;006C;
+1D52A;1D52A;1D52A;006D;006D;
+1D52B;1D52B;1D52B;006E;006E;
+1D52C;1D52C;1D52C;006F;006F;
+1D52D;1D52D;1D52D;0070;0070;
+1D52E;1D52E;1D52E;0071;0071;
+1D52F;1D52F;1D52F;0072;0072;
+1D530;1D530;1D530;0073;0073;
+1D531;1D531;1D531;0074;0074;
+1D532;1D532;1D532;0075;0075;
+1D533;1D533;1D533;0076;0076;
+1D534;1D534;1D534;0077;0077;
+1D535;1D535;1D535;0078;0078;
+1D536;1D536;1D536;0079;0079;
+1D537;1D537;1D537;007A;007A;
+1D538;1D538;1D538;0041;0041;
+1D539;1D539;1D539;0042;0042;
+1D53B;1D53B;1D53B;0044;0044;
+1D53C;1D53C;1D53C;0045;0045;
+1D53D;1D53D;1D53D;0046;0046;
+1D53E;1D53E;1D53E;0047;0047;
+1D540;1D540;1D540;0049;0049;
+1D541;1D541;1D541;004A;004A;
+1D542;1D542;1D542;004B;004B;
+1D543;1D543;1D543;004C;004C;
+1D544;1D544;1D544;004D;004D;
+1D546;1D546;1D546;004F;004F;
+1D54A;1D54A;1D54A;0053;0053;
+1D54B;1D54B;1D54B;0054;0054;
+1D54C;1D54C;1D54C;0055;0055;
+1D54D;1D54D;1D54D;0056;0056;
+1D54E;1D54E;1D54E;0057;0057;
+1D54F;1D54F;1D54F;0058;0058;
+1D550;1D550;1D550;0059;0059;
+1D552;1D552;1D552;0061;0061;
+1D553;1D553;1D553;0062;0062;
+1D554;1D554;1D554;0063;0063;
+1D555;1D555;1D555;0064;0064;
+1D556;1D556;1D556;0065;0065;
+1D557;1D557;1D557;0066;0066;
+1D558;1D558;1D558;0067;0067;
+1D559;1D559;1D559;0068;0068;
+1D55A;1D55A;1D55A;0069;0069;
+1D55B;1D55B;1D55B;006A;006A;
+1D55C;1D55C;1D55C;006B;006B;
+1D55D;1D55D;1D55D;006C;006C;
+1D55E;1D55E;1D55E;006D;006D;
+1D55F;1D55F;1D55F;006E;006E;
+1D560;1D560;1D560;006F;006F;
+1D561;1D561;1D561;0070;0070;
+1D562;1D562;1D562;0071;0071;
+1D563;1D563;1D563;0072;0072;
+1D564;1D564;1D564;0073;0073;
+1D565;1D565;1D565;0074;0074;
+1D566;1D566;1D566;0075;0075;
+1D567;1D567;1D567;0076;0076;
+1D568;1D568;1D568;0077;0077;
+1D569;1D569;1D569;0078;0078;
+1D56A;1D56A;1D56A;0079;0079;
+1D56B;1D56B;1D56B;007A;007A;
+1D56C;1D56C;1D56C;0041;0041;
+1D56D;1D56D;1D56D;0042;0042;
+1D56E;1D56E;1D56E;0043;0043;
+1D56F;1D56F;1D56F;0044;0044;
+1D570;1D570;1D570;0045;0045;
+1D571;1D571;1D571;0046;0046;
+1D572;1D572;1D572;0047;0047;
+1D573;1D573;1D573;0048;0048;
+1D574;1D574;1D574;0049;0049;
+1D575;1D575;1D575;004A;004A;
+1D576;1D576;1D576;004B;004B;
+1D577;1D577;1D577;004C;004C;
+1D578;1D578;1D578;004D;004D;
+1D579;1D579;1D579;004E;004E;
+1D57A;1D57A;1D57A;004F;004F;
+1D57B;1D57B;1D57B;0050;0050;
+1D57C;1D57C;1D57C;0051;0051;
+1D57D;1D57D;1D57D;0052;0052;
+1D57E;1D57E;1D57E;0053;0053;
+1D57F;1D57F;1D57F;0054;0054;
+1D580;1D580;1D580;0055;0055;
+1D581;1D581;1D581;0056;0056;
+1D582;1D582;1D582;0057;0057;
+1D583;1D583;1D583;0058;0058;
+1D584;1D584;1D584;0059;0059;
+1D585;1D585;1D585;005A;005A;
+1D586;1D586;1D586;0061;0061;
+1D587;1D587;1D587;0062;0062;
+1D588;1D588;1D588;0063;0063;
+1D589;1D589;1D589;0064;0064;
+1D58A;1D58A;1D58A;0065;0065;
+1D58B;1D58B;1D58B;0066;0066;
+1D58C;1D58C;1D58C;0067;0067;
+1D58D;1D58D;1D58D;0068;0068;
+1D58E;1D58E;1D58E;0069;0069;
+1D58F;1D58F;1D58F;006A;006A;
+1D590;1D590;1D590;006B;006B;
+1D591;1D591;1D591;006C;006C;
+1D592;1D592;1D592;006D;006D;
+1D593;1D593;1D593;006E;006E;
+1D594;1D594;1D594;006F;006F;
+1D595;1D595;1D595;0070;0070;
+1D596;1D596;1D596;0071;0071;
+1D597;1D597;1D597;0072;0072;
+1D598;1D598;1D598;0073;0073;
+1D599;1D599;1D599;0074;0074;
+1D59A;1D59A;1D59A;0075;0075;
+1D59B;1D59B;1D59B;0076;0076;
+1D59C;1D59C;1D59C;0077;0077;
+1D59D;1D59D;1D59D;0078;0078;
+1D59E;1D59E;1D59E;0079;0079;
+1D59F;1D59F;1D59F;007A;007A;
+1D5A0;1D5A0;1D5A0;0041;0041;
+1D5A1;1D5A1;1D5A1;0042;0042;
+1D5A2;1D5A2;1D5A2;0043;0043;
+1D5A3;1D5A3;1D5A3;0044;0044;
+1D5A4;1D5A4;1D5A4;0045;0045;
+1D5A5;1D5A5;1D5A5;0046;0046;
+1D5A6;1D5A6;1D5A6;0047;0047;
+1D5A7;1D5A7;1D5A7;0048;0048;
+1D5A8;1D5A8;1D5A8;0049;0049;
+1D5A9;1D5A9;1D5A9;004A;004A;
+1D5AA;1D5AA;1D5AA;004B;004B;
+1D5AB;1D5AB;1D5AB;004C;004C;
+1D5AC;1D5AC;1D5AC;004D;004D;
+1D5AD;1D5AD;1D5AD;004E;004E;
+1D5AE;1D5AE;1D5AE;004F;004F;
+1D5AF;1D5AF;1D5AF;0050;0050;
+1D5B0;1D5B0;1D5B0;0051;0051;
+1D5B1;1D5B1;1D5B1;0052;0052;
+1D5B2;1D5B2;1D5B2;0053;0053;
+1D5B3;1D5B3;1D5B3;0054;0054;
+1D5B4;1D5B4;1D5B4;0055;0055;
+1D5B5;1D5B5;1D5B5;0056;0056;
+1D5B6;1D5B6;1D5B6;0057;0057;
+1D5B7;1D5B7;1D5B7;0058;0058;
+1D5B8;1D5B8;1D5B8;0059;0059;
+1D5B9;1D5B9;1D5B9;005A;005A;
+1D5BA;1D5BA;1D5BA;0061;0061;
+1D5BB;1D5BB;1D5BB;0062;0062;
+1D5BC;1D5BC;1D5BC;0063;0063;
+1D5BD;1D5BD;1D5BD;0064;0064;
+1D5BE;1D5BE;1D5BE;0065;0065;
+1D5BF;1D5BF;1D5BF;0066;0066;
+1D5C0;1D5C0;1D5C0;0067;0067;
+1D5C1;1D5C1;1D5C1;0068;0068;
+1D5C2;1D5C2;1D5C2;0069;0069;
+1D5C3;1D5C3;1D5C3;006A;006A;
+1D5C4;1D5C4;1D5C4;006B;006B;
+1D5C5;1D5C5;1D5C5;006C;006C;
+1D5C6;1D5C6;1D5C6;006D;006D;
+1D5C7;1D5C7;1D5C7;006E;006E;
+1D5C8;1D5C8;1D5C8;006F;006F;
+1D5C9;1D5C9;1D5C9;0070;0070;
+1D5CA;1D5CA;1D5CA;0071;0071;
+1D5CB;1D5CB;1D5CB;0072;0072;
+1D5CC;1D5CC;1D5CC;0073;0073;
+1D5CD;1D5CD;1D5CD;0074;0074;
+1D5CE;1D5CE;1D5CE;0075;0075;
+1D5CF;1D5CF;1D5CF;0076;0076;
+1D5D0;1D5D0;1D5D0;0077;0077;
+1D5D1;1D5D1;1D5D1;0078;0078;
+1D5D2;1D5D2;1D5D2;0079;0079;
+1D5D3;1D5D3;1D5D3;007A;007A;
+1D5D4;1D5D4;1D5D4;0041;0041;
+1D5D5;1D5D5;1D5D5;0042;0042;
+1D5D6;1D5D6;1D5D6;0043;0043;
+1D5D7;1D5D7;1D5D7;0044;0044;
+1D5D8;1D5D8;1D5D8;0045;0045;
+1D5D9;1D5D9;1D5D9;0046;0046;
+1D5DA;1D5DA;1D5DA;0047;0047;
+1D5DB;1D5DB;1D5DB;0048;0048;
+1D5DC;1D5DC;1D5DC;0049;0049;
+1D5DD;1D5DD;1D5DD;004A;004A;
+1D5DE;1D5DE;1D5DE;004B;004B;
+1D5DF;1D5DF;1D5DF;004C;004C;
+1D5E0;1D5E0;1D5E0;004D;004D;
+1D5E1;1D5E1;1D5E1;004E;004E;
+1D5E2;1D5E2;1D5E2;004F;004F;
+1D5E3;1D5E3;1D5E3;0050;0050;
+1D5E4;1D5E4;1D5E4;0051;0051;
+1D5E5;1D5E5;1D5E5;0052;0052;
+1D5E6;1D5E6;1D5E6;0053;0053;
+1D5E7;1D5E7;1D5E7;0054;0054;
+1D5E8;1D5E8;1D5E8;0055;0055;
+1D5E9;1D5E9;1D5E9;0056;0056;
+1D5EA;1D5EA;1D5EA;0057;0057;
+1D5EB;1D5EB;1D5EB;0058;0058;
+1D5EC;1D5EC;1D5EC;0059;0059;
+1D5ED;1D5ED;1D5ED;005A;005A;
+1D5EE;1D5EE;1D5EE;0061;0061;
+1D5EF;1D5EF;1D5EF;0062;0062;
+1D5F0;1D5F0;1D5F0;0063;0063;
+1D5F1;1D5F1;1D5F1;0064;0064;
+1D5F2;1D5F2;1D5F2;0065;0065;
+1D5F3;1D5F3;1D5F3;0066;0066;
+1D5F4;1D5F4;1D5F4;0067;0067;
+1D5F5;1D5F5;1D5F5;0068;0068;
+1D5F6;1D5F6;1D5F6;0069;0069;
+1D5F7;1D5F7;1D5F7;006A;006A;
+1D5F8;1D5F8;1D5F8;006B;006B;
+1D5F9;1D5F9;1D5F9;006C;006C;
+1D5FA;1D5FA;1D5FA;006D;006D;
+1D5FB;1D5FB;1D5FB;006E;006E;
+1D5FC;1D5FC;1D5FC;006F;006F;
+1D5FD;1D5FD;1D5FD;0070;0070;
+1D5FE;1D5FE;1D5FE;0071;0071;
+1D5FF;1D5FF;1D5FF;0072;0072;
+1D600;1D600;1D600;0073;0073;
+1D601;1D601;1D601;0074;0074;
+1D602;1D602;1D602;0075;0075;
+1D603;1D603;1D603;0076;0076;
+1D604;1D604;1D604;0077;0077;
+1D605;1D605;1D605;0078;0078;
+1D606;1D606;1D606;0079;0079;
+1D607;1D607;1D607;007A;007A;
+1D608;1D608;1D608;0041;0041;
+1D609;1D609;1D609;0042;0042;
+1D60A;1D60A;1D60A;0043;0043;
+1D60B;1D60B;1D60B;0044;0044;
+1D60C;1D60C;1D60C;0045;0045;
+1D60D;1D60D;1D60D;0046;0046;
+1D60E;1D60E;1D60E;0047;0047;
+1D60F;1D60F;1D60F;0048;0048;
+1D610;1D610;1D610;0049;0049;
+1D611;1D611;1D611;004A;004A;
+1D612;1D612;1D612;004B;004B;
+1D613;1D613;1D613;004C;004C;
+1D614;1D614;1D614;004D;004D;
+1D615;1D615;1D615;004E;004E;
+1D616;1D616;1D616;004F;004F;
+1D617;1D617;1D617;0050;0050;
+1D618;1D618;1D618;0051;0051;
+1D619;1D619;1D619;0052;0052;
+1D61A;1D61A;1D61A;0053;0053;
+1D61B;1D61B;1D61B;0054;0054;
+1D61C;1D61C;1D61C;0055;0055;
+1D61D;1D61D;1D61D;0056;0056;
+1D61E;1D61E;1D61E;0057;0057;
+1D61F;1D61F;1D61F;0058;0058;
+1D620;1D620;1D620;0059;0059;
+1D621;1D621;1D621;005A;005A;
+1D622;1D622;1D622;0061;0061;
+1D623;1D623;1D623;0062;0062;
+1D624;1D624;1D624;0063;0063;
+1D625;1D625;1D625;0064;0064;
+1D626;1D626;1D626;0065;0065;
+1D627;1D627;1D627;0066;0066;
+1D628;1D628;1D628;0067;0067;
+1D629;1D629;1D629;0068;0068;
+1D62A;1D62A;1D62A;0069;0069;
+1D62B;1D62B;1D62B;006A;006A;
+1D62C;1D62C;1D62C;006B;006B;
+1D62D;1D62D;1D62D;006C;006C;
+1D62E;1D62E;1D62E;006D;006D;
+1D62F;1D62F;1D62F;006E;006E;
+1D630;1D630;1D630;006F;006F;
+1D631;1D631;1D631;0070;0070;
+1D632;1D632;1D632;0071;0071;
+1D633;1D633;1D633;0072;0072;
+1D634;1D634;1D634;0073;0073;
+1D635;1D635;1D635;0074;0074;
+1D636;1D636;1D636;0075;0075;
+1D637;1D637;1D637;0076;0076;
+1D638;1D638;1D638;0077;0077;
+1D639;1D639;1D639;0078;0078;
+1D63A;1D63A;1D63A;0079;0079;
+1D63B;1D63B;1D63B;007A;007A;
+1D63C;1D63C;1D63C;0041;0041;
+1D63D;1D63D;1D63D;0042;0042;
+1D63E;1D63E;1D63E;0043;0043;
+1D63F;1D63F;1D63F;0044;0044;
+1D640;1D640;1D640;0045;0045;
+1D641;1D641;1D641;0046;0046;
+1D642;1D642;1D642;0047;0047;
+1D643;1D643;1D643;0048;0048;
+1D644;1D644;1D644;0049;0049;
+1D645;1D645;1D645;004A;004A;
+1D646;1D646;1D646;004B;004B;
+1D647;1D647;1D647;004C;004C;
+1D648;1D648;1D648;004D;004D;
+1D649;1D649;1D649;004E;004E;
+1D64A;1D64A;1D64A;004F;004F;
+1D64B;1D64B;1D64B;0050;0050;
+1D64C;1D64C;1D64C;0051;0051;
+1D64D;1D64D;1D64D;0052;0052;
+1D64E;1D64E;1D64E;0053;0053;
+1D64F;1D64F;1D64F;0054;0054;
+1D650;1D650;1D650;0055;0055;
+1D651;1D651;1D651;0056;0056;
+1D652;1D652;1D652;0057;0057;
+1D653;1D653;1D653;0058;0058;
+1D654;1D654;1D654;0059;0059;
+1D655;1D655;1D655;005A;005A;
+1D656;1D656;1D656;0061;0061;
+1D657;1D657;1D657;0062;0062;
+1D658;1D658;1D658;0063;0063;
+1D659;1D659;1D659;0064;0064;
+1D65A;1D65A;1D65A;0065;0065;
+1D65B;1D65B;1D65B;0066;0066;
+1D65C;1D65C;1D65C;0067;0067;
+1D65D;1D65D;1D65D;0068;0068;
+1D65E;1D65E;1D65E;0069;0069;
+1D65F;1D65F;1D65F;006A;006A;
+1D660;1D660;1D660;006B;006B;
+1D661;1D661;1D661;006C;006C;
+1D662;1D662;1D662;006D;006D;
+1D663;1D663;1D663;006E;006E;
+1D664;1D664;1D664;006F;006F;
+1D665;1D665;1D665;0070;0070;
+1D666;1D666;1D666;0071;0071;
+1D667;1D667;1D667;0072;0072;
+1D668;1D668;1D668;0073;0073;
+1D669;1D669;1D669;0074;0074;
+1D66A;1D66A;1D66A;0075;0075;
+1D66B;1D66B;1D66B;0076;0076;
+1D66C;1D66C;1D66C;0077;0077;
+1D66D;1D66D;1D66D;0078;0078;
+1D66E;1D66E;1D66E;0079;0079;
+1D66F;1D66F;1D66F;007A;007A;
+1D670;1D670;1D670;0041;0041;
+1D671;1D671;1D671;0042;0042;
+1D672;1D672;1D672;0043;0043;
+1D673;1D673;1D673;0044;0044;
+1D674;1D674;1D674;0045;0045;
+1D675;1D675;1D675;0046;0046;
+1D676;1D676;1D676;0047;0047;
+1D677;1D677;1D677;0048;0048;
+1D678;1D678;1D678;0049;0049;
+1D679;1D679;1D679;004A;004A;
+1D67A;1D67A;1D67A;004B;004B;
+1D67B;1D67B;1D67B;004C;004C;
+1D67C;1D67C;1D67C;004D;004D;
+1D67D;1D67D;1D67D;004E;004E;
+1D67E;1D67E;1D67E;004F;004F;
+1D67F;1D67F;1D67F;0050;0050;
+1D680;1D680;1D680;0051;0051;
+1D681;1D681;1D681;0052;0052;
+1D682;1D682;1D682;0053;0053;
+1D683;1D683;1D683;0054;0054;
+1D684;1D684;1D684;0055;0055;
+1D685;1D685;1D685;0056;0056;
+1D686;1D686;1D686;0057;0057;
+1D687;1D687;1D687;0058;0058;
+1D688;1D688;1D688;0059;0059;
+1D689;1D689;1D689;005A;005A;
+1D68A;1D68A;1D68A;0061;0061;
+1D68B;1D68B;1D68B;0062;0062;
+1D68C;1D68C;1D68C;0063;0063;
+1D68D;1D68D;1D68D;0064;0064;
+1D68E;1D68E;1D68E;0065;0065;
+1D68F;1D68F;1D68F;0066;0066;
+1D690;1D690;1D690;0067;0067;
+1D691;1D691;1D691;0068;0068;
+1D692;1D692;1D692;0069;0069;
+1D693;1D693;1D693;006A;006A;
+1D694;1D694;1D694;006B;006B;
+1D695;1D695;1D695;006C;006C;
+1D696;1D696;1D696;006D;006D;
+1D697;1D697;1D697;006E;006E;
+1D698;1D698;1D698;006F;006F;
+1D699;1D699;1D699;0070;0070;
+1D69A;1D69A;1D69A;0071;0071;
+1D69B;1D69B;1D69B;0072;0072;
+1D69C;1D69C;1D69C;0073;0073;
+1D69D;1D69D;1D69D;0074;0074;
+1D69E;1D69E;1D69E;0075;0075;
+1D69F;1D69F;1D69F;0076;0076;
+1D6A0;1D6A0;1D6A0;0077;0077;
+1D6A1;1D6A1;1D6A1;0078;0078;
+1D6A2;1D6A2;1D6A2;0079;0079;
+1D6A3;1D6A3;1D6A3;007A;007A;
+1D6A4;1D6A4;1D6A4;0131;0131;
+1D6A5;1D6A5;1D6A5;0237;0237;
+1D6A8;1D6A8;1D6A8;0391;0391;
+1D6A9;1D6A9;1D6A9;0392;0392;
+1D6AA;1D6AA;1D6AA;0393;0393;
+1D6AB;1D6AB;1D6AB;0394;0394;
+1D6AC;1D6AC;1D6AC;0395;0395;
+1D6AD;1D6AD;1D6AD;0396;0396;
+1D6AE;1D6AE;1D6AE;0397;0397;
+1D6AF;1D6AF;1D6AF;0398;0398;
+1D6B0;1D6B0;1D6B0;0399;0399;
+1D6B1;1D6B1;1D6B1;039A;039A;
+1D6B2;1D6B2;1D6B2;039B;039B;
+1D6B3;1D6B3;1D6B3;039C;039C;
+1D6B4;1D6B4;1D6B4;039D;039D;
+1D6B5;1D6B5;1D6B5;039E;039E;
+1D6B6;1D6B6;1D6B6;039F;039F;
+1D6B7;1D6B7;1D6B7;03A0;03A0;
+1D6B8;1D6B8;1D6B8;03A1;03A1;
+1D6B9;1D6B9;1D6B9;0398;0398;
+1D6BA;1D6BA;1D6BA;03A3;03A3;
+1D6BB;1D6BB;1D6BB;03A4;03A4;
+1D6BC;1D6BC;1D6BC;03A5;03A5;
+1D6BD;1D6BD;1D6BD;03A6;03A6;
+1D6BE;1D6BE;1D6BE;03A7;03A7;
+1D6BF;1D6BF;1D6BF;03A8;03A8;
+1D6C0;1D6C0;1D6C0;03A9;03A9;
+1D6C1;1D6C1;1D6C1;2207;2207;
+1D6C2;1D6C2;1D6C2;03B1;03B1;
+1D6C3;1D6C3;1D6C3;03B2;03B2;
+1D6C4;1D6C4;1D6C4;03B3;03B3;
+1D6C5;1D6C5;1D6C5;03B4;03B4;
+1D6C6;1D6C6;1D6C6;03B5;03B5;
+1D6C7;1D6C7;1D6C7;03B6;03B6;
+1D6C8;1D6C8;1D6C8;03B7;03B7;
+1D6C9;1D6C9;1D6C9;03B8;03B8;
+1D6CA;1D6CA;1D6CA;03B9;03B9;
+1D6CB;1D6CB;1D6CB;03BA;03BA;
+1D6CC;1D6CC;1D6CC;03BB;03BB;
+1D6CD;1D6CD;1D6CD;03BC;03BC;
+1D6CE;1D6CE;1D6CE;03BD;03BD;
+1D6CF;1D6CF;1D6CF;03BE;03BE;
+1D6D0;1D6D0;1D6D0;03BF;03BF;
+1D6D1;1D6D1;1D6D1;03C0;03C0;
+1D6D2;1D6D2;1D6D2;03C1;03C1;
+1D6D3;1D6D3;1D6D3;03C2;03C2;
+1D6D4;1D6D4;1D6D4;03C3;03C3;
+1D6D5;1D6D5;1D6D5;03C4;03C4;
+1D6D6;1D6D6;1D6D6;03C5;03C5;
+1D6D7;1D6D7;1D6D7;03C6;03C6;
+1D6D8;1D6D8;1D6D8;03C7;03C7;
+1D6D9;1D6D9;1D6D9;03C8;03C8;
+1D6DA;1D6DA;1D6DA;03C9;03C9;
+1D6DB;1D6DB;1D6DB;2202;2202;
+1D6DC;1D6DC;1D6DC;03B5;03B5;
+1D6DD;1D6DD;1D6DD;03B8;03B8;
+1D6DE;1D6DE;1D6DE;03BA;03BA;
+1D6DF;1D6DF;1D6DF;03C6;03C6;
+1D6E0;1D6E0;1D6E0;03C1;03C1;
+1D6E1;1D6E1;1D6E1;03C0;03C0;
+1D6E2;1D6E2;1D6E2;0391;0391;
+1D6E3;1D6E3;1D6E3;0392;0392;
+1D6E4;1D6E4;1D6E4;0393;0393;
+1D6E5;1D6E5;1D6E5;0394;0394;
+1D6E6;1D6E6;1D6E6;0395;0395;
+1D6E7;1D6E7;1D6E7;0396;0396;
+1D6E8;1D6E8;1D6E8;0397;0397;
+1D6E9;1D6E9;1D6E9;0398;0398;
+1D6EA;1D6EA;1D6EA;0399;0399;
+1D6EB;1D6EB;1D6EB;039A;039A;
+1D6EC;1D6EC;1D6EC;039B;039B;
+1D6ED;1D6ED;1D6ED;039C;039C;
+1D6EE;1D6EE;1D6EE;039D;039D;
+1D6EF;1D6EF;1D6EF;039E;039E;
+1D6F0;1D6F0;1D6F0;039F;039F;
+1D6F1;1D6F1;1D6F1;03A0;03A0;
+1D6F2;1D6F2;1D6F2;03A1;03A1;
+1D6F3;1D6F3;1D6F3;0398;0398;
+1D6F4;1D6F4;1D6F4;03A3;03A3;
+1D6F5;1D6F5;1D6F5;03A4;03A4;
+1D6F6;1D6F6;1D6F6;03A5;03A5;
+1D6F7;1D6F7;1D6F7;03A6;03A6;
+1D6F8;1D6F8;1D6F8;03A7;03A7;
+1D6F9;1D6F9;1D6F9;03A8;03A8;
+1D6FA;1D6FA;1D6FA;03A9;03A9;
+1D6FB;1D6FB;1D6FB;2207;2207;
+1D6FC;1D6FC;1D6FC;03B1;03B1;
+1D6FD;1D6FD;1D6FD;03B2;03B2;
+1D6FE;1D6FE;1D6FE;03B3;03B3;
+1D6FF;1D6FF;1D6FF;03B4;03B4;
+1D700;1D700;1D700;03B5;03B5;
+1D701;1D701;1D701;03B6;03B6;
+1D702;1D702;1D702;03B7;03B7;
+1D703;1D703;1D703;03B8;03B8;
+1D704;1D704;1D704;03B9;03B9;
+1D705;1D705;1D705;03BA;03BA;
+1D706;1D706;1D706;03BB;03BB;
+1D707;1D707;1D707;03BC;03BC;
+1D708;1D708;1D708;03BD;03BD;
+1D709;1D709;1D709;03BE;03BE;
+1D70A;1D70A;1D70A;03BF;03BF;
+1D70B;1D70B;1D70B;03C0;03C0;
+1D70C;1D70C;1D70C;03C1;03C1;
+1D70D;1D70D;1D70D;03C2;03C2;
+1D70E;1D70E;1D70E;03C3;03C3;
+1D70F;1D70F;1D70F;03C4;03C4;
+1D710;1D710;1D710;03C5;03C5;
+1D711;1D711;1D711;03C6;03C6;
+1D712;1D712;1D712;03C7;03C7;
+1D713;1D713;1D713;03C8;03C8;
+1D714;1D714;1D714;03C9;03C9;
+1D715;1D715;1D715;2202;2202;
+1D716;1D716;1D716;03B5;03B5;
+1D717;1D717;1D717;03B8;03B8;
+1D718;1D718;1D718;03BA;03BA;
+1D719;1D719;1D719;03C6;03C6;
+1D71A;1D71A;1D71A;03C1;03C1;
+1D71B;1D71B;1D71B;03C0;03C0;
+1D71C;1D71C;1D71C;0391;0391;
+1D71D;1D71D;1D71D;0392;0392;
+1D71E;1D71E;1D71E;0393;0393;
+1D71F;1D71F;1D71F;0394;0394;
+1D720;1D720;1D720;0395;0395;
+1D721;1D721;1D721;0396;0396;
+1D722;1D722;1D722;0397;0397;
+1D723;1D723;1D723;0398;0398;
+1D724;1D724;1D724;0399;0399;
+1D725;1D725;1D725;039A;039A;
+1D726;1D726;1D726;039B;039B;
+1D727;1D727;1D727;039C;039C;
+1D728;1D728;1D728;039D;039D;
+1D729;1D729;1D729;039E;039E;
+1D72A;1D72A;1D72A;039F;039F;
+1D72B;1D72B;1D72B;03A0;03A0;
+1D72C;1D72C;1D72C;03A1;03A1;
+1D72D;1D72D;1D72D;0398;0398;
+1D72E;1D72E;1D72E;03A3;03A3;
+1D72F;1D72F;1D72F;03A4;03A4;
+1D730;1D730;1D730;03A5;03A5;
+1D731;1D731;1D731;03A6;03A6;
+1D732;1D732;1D732;03A7;03A7;
+1D733;1D733;1D733;03A8;03A8;
+1D734;1D734;1D734;03A9;03A9;
+1D735;1D735;1D735;2207;2207;
+1D736;1D736;1D736;03B1;03B1;
+1D737;1D737;1D737;03B2;03B2;
+1D738;1D738;1D738;03B3;03B3;
+1D739;1D739;1D739;03B4;03B4;
+1D73A;1D73A;1D73A;03B5;03B5;
+1D73B;1D73B;1D73B;03B6;03B6;
+1D73C;1D73C;1D73C;03B7;03B7;
+1D73D;1D73D;1D73D;03B8;03B8;
+1D73E;1D73E;1D73E;03B9;03B9;
+1D73F;1D73F;1D73F;03BA;03BA;
+1D740;1D740;1D740;03BB;03BB;
+1D741;1D741;1D741;03BC;03BC;
+1D742;1D742;1D742;03BD;03BD;
+1D743;1D743;1D743;03BE;03BE;
+1D744;1D744;1D744;03BF;03BF;
+1D745;1D745;1D745;03C0;03C0;
+1D746;1D746;1D746;03C1;03C1;
+1D747;1D747;1D747;03C2;03C2;
+1D748;1D748;1D748;03C3;03C3;
+1D749;1D749;1D749;03C4;03C4;
+1D74A;1D74A;1D74A;03C5;03C5;
+1D74B;1D74B;1D74B;03C6;03C6;
+1D74C;1D74C;1D74C;03C7;03C7;
+1D74D;1D74D;1D74D;03C8;03C8;
+1D74E;1D74E;1D74E;03C9;03C9;
+1D74F;1D74F;1D74F;2202;2202;
+1D750;1D750;1D750;03B5;03B5;
+1D751;1D751;1D751;03B8;03B8;
+1D752;1D752;1D752;03BA;03BA;
+1D753;1D753;1D753;03C6;03C6;
+1D754;1D754;1D754;03C1;03C1;
+1D755;1D755;1D755;03C0;03C0;
+1D756;1D756;1D756;0391;0391;
+1D757;1D757;1D757;0392;0392;
+1D758;1D758;1D758;0393;0393;
+1D759;1D759;1D759;0394;0394;
+1D75A;1D75A;1D75A;0395;0395;
+1D75B;1D75B;1D75B;0396;0396;
+1D75C;1D75C;1D75C;0397;0397;
+1D75D;1D75D;1D75D;0398;0398;
+1D75E;1D75E;1D75E;0399;0399;
+1D75F;1D75F;1D75F;039A;039A;
+1D760;1D760;1D760;039B;039B;
+1D761;1D761;1D761;039C;039C;
+1D762;1D762;1D762;039D;039D;
+1D763;1D763;1D763;039E;039E;
+1D764;1D764;1D764;039F;039F;
+1D765;1D765;1D765;03A0;03A0;
+1D766;1D766;1D766;03A1;03A1;
+1D767;1D767;1D767;0398;0398;
+1D768;1D768;1D768;03A3;03A3;
+1D769;1D769;1D769;03A4;03A4;
+1D76A;1D76A;1D76A;03A5;03A5;
+1D76B;1D76B;1D76B;03A6;03A6;
+1D76C;1D76C;1D76C;03A7;03A7;
+1D76D;1D76D;1D76D;03A8;03A8;
+1D76E;1D76E;1D76E;03A9;03A9;
+1D76F;1D76F;1D76F;2207;2207;
+1D770;1D770;1D770;03B1;03B1;
+1D771;1D771;1D771;03B2;03B2;
+1D772;1D772;1D772;03B3;03B3;
+1D773;1D773;1D773;03B4;03B4;
+1D774;1D774;1D774;03B5;03B5;
+1D775;1D775;1D775;03B6;03B6;
+1D776;1D776;1D776;03B7;03B7;
+1D777;1D777;1D777;03B8;03B8;
+1D778;1D778;1D778;03B9;03B9;
+1D779;1D779;1D779;03BA;03BA;
+1D77A;1D77A;1D77A;03BB;03BB;
+1D77B;1D77B;1D77B;03BC;03BC;
+1D77C;1D77C;1D77C;03BD;03BD;
+1D77D;1D77D;1D77D;03BE;03BE;
+1D77E;1D77E;1D77E;03BF;03BF;
+1D77F;1D77F;1D77F;03C0;03C0;
+1D780;1D780;1D780;03C1;03C1;
+1D781;1D781;1D781;03C2;03C2;
+1D782;1D782;1D782;03C3;03C3;
+1D783;1D783;1D783;03C4;03C4;
+1D784;1D784;1D784;03C5;03C5;
+1D785;1D785;1D785;03C6;03C6;
+1D786;1D786;1D786;03C7;03C7;
+1D787;1D787;1D787;03C8;03C8;
+1D788;1D788;1D788;03C9;03C9;
+1D789;1D789;1D789;2202;2202;
+1D78A;1D78A;1D78A;03B5;03B5;
+1D78B;1D78B;1D78B;03B8;03B8;
+1D78C;1D78C;1D78C;03BA;03BA;
+1D78D;1D78D;1D78D;03C6;03C6;
+1D78E;1D78E;1D78E;03C1;03C1;
+1D78F;1D78F;1D78F;03C0;03C0;
+1D790;1D790;1D790;0391;0391;
+1D791;1D791;1D791;0392;0392;
+1D792;1D792;1D792;0393;0393;
+1D793;1D793;1D793;0394;0394;
+1D794;1D794;1D794;0395;0395;
+1D795;1D795;1D795;0396;0396;
+1D796;1D796;1D796;0397;0397;
+1D797;1D797;1D797;0398;0398;
+1D798;1D798;1D798;0399;0399;
+1D799;1D799;1D799;039A;039A;
+1D79A;1D79A;1D79A;039B;039B;
+1D79B;1D79B;1D79B;039C;039C;
+1D79C;1D79C;1D79C;039D;039D;
+1D79D;1D79D;1D79D;039E;039E;
+1D79E;1D79E;1D79E;039F;039F;
+1D79F;1D79F;1D79F;03A0;03A0;
+1D7A0;1D7A0;1D7A0;03A1;03A1;
+1D7A1;1D7A1;1D7A1;0398;0398;
+1D7A2;1D7A2;1D7A2;03A3;03A3;
+1D7A3;1D7A3;1D7A3;03A4;03A4;
+1D7A4;1D7A4;1D7A4;03A5;03A5;
+1D7A5;1D7A5;1D7A5;03A6;03A6;
+1D7A6;1D7A6;1D7A6;03A7;03A7;
+1D7A7;1D7A7;1D7A7;03A8;03A8;
+1D7A8;1D7A8;1D7A8;03A9;03A9;
+1D7A9;1D7A9;1D7A9;2207;2207;
+1D7AA;1D7AA;1D7AA;03B1;03B1;
+1D7AB;1D7AB;1D7AB;03B2;03B2;
+1D7AC;1D7AC;1D7AC;03B3;03B3;
+1D7AD;1D7AD;1D7AD;03B4;03B4;
+1D7AE;1D7AE;1D7AE;03B5;03B5;
+1D7AF;1D7AF;1D7AF;03B6;03B6;
+1D7B0;1D7B0;1D7B0;03B7;03B7;
+1D7B1;1D7B1;1D7B1;03B8;03B8;
+1D7B2;1D7B2;1D7B2;03B9;03B9;
+1D7B3;1D7B3;1D7B3;03BA;03BA;
+1D7B4;1D7B4;1D7B4;03BB;03BB;
+1D7B5;1D7B5;1D7B5;03BC;03BC;
+1D7B6;1D7B6;1D7B6;03BD;03BD;
+1D7B7;1D7B7;1D7B7;03BE;03BE;
+1D7B8;1D7B8;1D7B8;03BF;03BF;
+1D7B9;1D7B9;1D7B9;03C0;03C0;
+1D7BA;1D7BA;1D7BA;03C1;03C1;
+1D7BB;1D7BB;1D7BB;03C2;03C2;
+1D7BC;1D7BC;1D7BC;03C3;03C3;
+1D7BD;1D7BD;1D7BD;03C4;03C4;
+1D7BE;1D7BE;1D7BE;03C5;03C5;
+1D7BF;1D7BF;1D7BF;03C6;03C6;
+1D7C0;1D7C0;1D7C0;03C7;03C7;
+1D7C1;1D7C1;1D7C1;03C8;03C8;
+1D7C2;1D7C2;1D7C2;03C9;03C9;
+1D7C3;1D7C3;1D7C3;2202;2202;
+1D7C4;1D7C4;1D7C4;03B5;03B5;
+1D7C5;1D7C5;1D7C5;03B8;03B8;
+1D7C6;1D7C6;1D7C6;03BA;03BA;
+1D7C7;1D7C7;1D7C7;03C6;03C6;
+1D7C8;1D7C8;1D7C8;03C1;03C1;
+1D7C9;1D7C9;1D7C9;03C0;03C0;
+1D7CE;1D7CE;1D7CE;0030;0030;
+1D7CF;1D7CF;1D7CF;0031;0031;
+1D7D0;1D7D0;1D7D0;0032;0032;
+1D7D1;1D7D1;1D7D1;0033;0033;
+1D7D2;1D7D2;1D7D2;0034;0034;
+1D7D3;1D7D3;1D7D3;0035;0035;
+1D7D4;1D7D4;1D7D4;0036;0036;
+1D7D5;1D7D5;1D7D5;0037;0037;
+1D7D6;1D7D6;1D7D6;0038;0038;
+1D7D7;1D7D7;1D7D7;0039;0039;
+1D7D8;1D7D8;1D7D8;0030;0030;
+1D7D9;1D7D9;1D7D9;0031;0031;
+1D7DA;1D7DA;1D7DA;0032;0032;
+1D7DB;1D7DB;1D7DB;0033;0033;
+1D7DC;1D7DC;1D7DC;0034;0034;
+1D7DD;1D7DD;1D7DD;0035;0035;
+1D7DE;1D7DE;1D7DE;0036;0036;
+1D7DF;1D7DF;1D7DF;0037;0037;
+1D7E0;1D7E0;1D7E0;0038;0038;
+1D7E1;1D7E1;1D7E1;0039;0039;
+1D7E2;1D7E2;1D7E2;0030;0030;
+1D7E3;1D7E3;1D7E3;0031;0031;
+1D7E4;1D7E4;1D7E4;0032;0032;
+1D7E5;1D7E5;1D7E5;0033;0033;
+1D7E6;1D7E6;1D7E6;0034;0034;
+1D7E7;1D7E7;1D7E7;0035;0035;
+1D7E8;1D7E8;1D7E8;0036;0036;
+1D7E9;1D7E9;1D7E9;0037;0037;
+1D7EA;1D7EA;1D7EA;0038;0038;
+1D7EB;1D7EB;1D7EB;0039;0039;
+1D7EC;1D7EC;1D7EC;0030;0030;
+1D7ED;1D7ED;1D7ED;0031;0031;
+1D7EE;1D7EE;1D7EE;0032;0032;
+1D7EF;1D7EF;1D7EF;0033;0033;
+1D7F0;1D7F0;1D7F0;0034;0034;
+1D7F1;1D7F1;1D7F1;0035;0035;
+1D7F2;1D7F2;1D7F2;0036;0036;
+1D7F3;1D7F3;1D7F3;0037;0037;
+1D7F4;1D7F4;1D7F4;0038;0038;
+1D7F5;1D7F5;1D7F5;0039;0039;
+1D7F6;1D7F6;1D7F6;0030;0030;
+1D7F7;1D7F7;1D7F7;0031;0031;
+1D7F8;1D7F8;1D7F8;0032;0032;
+1D7F9;1D7F9;1D7F9;0033;0033;
+1D7FA;1D7FA;1D7FA;0034;0034;
+1D7FB;1D7FB;1D7FB;0035;0035;
+1D7FC;1D7FC;1D7FC;0036;0036;
+1D7FD;1D7FD;1D7FD;0037;0037;
+1D7FE;1D7FE;1D7FE;0038;0038;
+1D7FF;1D7FF;1D7FF;0039;0039;
+2F800;4E3D;4E3D;4E3D;4E3D;
+2F801;4E38;4E38;4E38;4E38;
+2F802;4E41;4E41;4E41;4E41;
+2F803;20122;20122;20122;20122;
+2F804;4F60;4F60;4F60;4F60;
+2F805;4FAE;4FAE;4FAE;4FAE;
+2F806;4FBB;4FBB;4FBB;4FBB;
+2F807;5002;5002;5002;5002;
+2F808;507A;507A;507A;507A;
+2F809;5099;5099;5099;5099;
+2F80A;50E7;50E7;50E7;50E7;
+2F80B;50CF;50CF;50CF;50CF;
+2F80C;349E;349E;349E;349E;
+2F80D;2063A;2063A;2063A;2063A;
+2F80E;514D;514D;514D;514D;
+2F80F;5154;5154;5154;5154;
+2F810;5164;5164;5164;5164;
+2F811;5177;5177;5177;5177;
+2F812;2051C;2051C;2051C;2051C;
+2F813;34B9;34B9;34B9;34B9;
+2F814;5167;5167;5167;5167;
+2F815;518D;518D;518D;518D;
+2F816;2054B;2054B;2054B;2054B;
+2F817;5197;5197;5197;5197;
+2F818;51A4;51A4;51A4;51A4;
+2F819;4ECC;4ECC;4ECC;4ECC;
+2F81A;51AC;51AC;51AC;51AC;
+2F81B;51B5;51B5;51B5;51B5;
+2F81C;291DF;291DF;291DF;291DF;
+2F81D;51F5;51F5;51F5;51F5;
+2F81E;5203;5203;5203;5203;
+2F81F;34DF;34DF;34DF;34DF;
+2F820;523B;523B;523B;523B;
+2F821;5246;5246;5246;5246;
+2F822;5272;5272;5272;5272;
+2F823;5277;5277;5277;5277;
+2F824;3515;3515;3515;3515;
+2F825;52C7;52C7;52C7;52C7;
+2F826;52C9;52C9;52C9;52C9;
+2F827;52E4;52E4;52E4;52E4;
+2F828;52FA;52FA;52FA;52FA;
+2F829;5305;5305;5305;5305;
+2F82A;5306;5306;5306;5306;
+2F82B;5317;5317;5317;5317;
+2F82C;5349;5349;5349;5349;
+2F82D;5351;5351;5351;5351;
+2F82E;535A;535A;535A;535A;
+2F82F;5373;5373;5373;5373;
+2F830;537D;537D;537D;537D;
+2F831;537F;537F;537F;537F;
+2F832;537F;537F;537F;537F;
+2F833;537F;537F;537F;537F;
+2F834;20A2C;20A2C;20A2C;20A2C;
+2F835;7070;7070;7070;7070;
+2F836;53CA;53CA;53CA;53CA;
+2F837;53DF;53DF;53DF;53DF;
+2F838;20B63;20B63;20B63;20B63;
+2F839;53EB;53EB;53EB;53EB;
+2F83A;53F1;53F1;53F1;53F1;
+2F83B;5406;5406;5406;5406;
+2F83C;549E;549E;549E;549E;
+2F83D;5438;5438;5438;5438;
+2F83E;5448;5448;5448;5448;
+2F83F;5468;5468;5468;5468;
+2F840;54A2;54A2;54A2;54A2;
+2F841;54F6;54F6;54F6;54F6;
+2F842;5510;5510;5510;5510;
+2F843;5553;5553;5553;5553;
+2F844;5563;5563;5563;5563;
+2F845;5584;5584;5584;5584;
+2F846;5584;5584;5584;5584;
+2F847;5599;5599;5599;5599;
+2F848;55AB;55AB;55AB;55AB;
+2F849;55B3;55B3;55B3;55B3;
+2F84A;55C2;55C2;55C2;55C2;
+2F84B;5716;5716;5716;5716;
+2F84C;5606;5606;5606;5606;
+2F84D;5717;5717;5717;5717;
+2F84E;5651;5651;5651;5651;
+2F84F;5674;5674;5674;5674;
+2F850;5207;5207;5207;5207;
+2F851;58EE;58EE;58EE;58EE;
+2F852;57CE;57CE;57CE;57CE;
+2F853;57F4;57F4;57F4;57F4;
+2F854;580D;580D;580D;580D;
+2F855;578B;578B;578B;578B;
+2F856;5832;5832;5832;5832;
+2F857;5831;5831;5831;5831;
+2F858;58AC;58AC;58AC;58AC;
+2F859;214E4;214E4;214E4;214E4;
+2F85A;58F2;58F2;58F2;58F2;
+2F85B;58F7;58F7;58F7;58F7;
+2F85C;5906;5906;5906;5906;
+2F85D;591A;591A;591A;591A;
+2F85E;5922;5922;5922;5922;
+2F85F;5962;5962;5962;5962;
+2F860;216A8;216A8;216A8;216A8;
+2F861;216EA;216EA;216EA;216EA;
+2F862;59EC;59EC;59EC;59EC;
+2F863;5A1B;5A1B;5A1B;5A1B;
+2F864;5A27;5A27;5A27;5A27;
+2F865;59D8;59D8;59D8;59D8;
+2F866;5A66;5A66;5A66;5A66;
+2F867;36EE;36EE;36EE;36EE;
+2F868;36FC;36FC;36FC;36FC;
+2F869;5B08;5B08;5B08;5B08;
+2F86A;5B3E;5B3E;5B3E;5B3E;
+2F86B;5B3E;5B3E;5B3E;5B3E;
+2F86C;219C8;219C8;219C8;219C8;
+2F86D;5BC3;5BC3;5BC3;5BC3;
+2F86E;5BD8;5BD8;5BD8;5BD8;
+2F86F;5BE7;5BE7;5BE7;5BE7;
+2F870;5BF3;5BF3;5BF3;5BF3;
+2F871;21B18;21B18;21B18;21B18;
+2F872;5BFF;5BFF;5BFF;5BFF;
+2F873;5C06;5C06;5C06;5C06;
+2F874;5F53;5F53;5F53;5F53;
+2F875;5C22;5C22;5C22;5C22;
+2F876;3781;3781;3781;3781;
+2F877;5C60;5C60;5C60;5C60;
+2F878;5C6E;5C6E;5C6E;5C6E;
+2F879;5CC0;5CC0;5CC0;5CC0;
+2F87A;5C8D;5C8D;5C8D;5C8D;
+2F87B;21DE4;21DE4;21DE4;21DE4;
+2F87C;5D43;5D43;5D43;5D43;
+2F87D;21DE6;21DE6;21DE6;21DE6;
+2F87E;5D6E;5D6E;5D6E;5D6E;
+2F87F;5D6B;5D6B;5D6B;5D6B;
+2F880;5D7C;5D7C;5D7C;5D7C;
+2F881;5DE1;5DE1;5DE1;5DE1;
+2F882;5DE2;5DE2;5DE2;5DE2;
+2F883;382F;382F;382F;382F;
+2F884;5DFD;5DFD;5DFD;5DFD;
+2F885;5E28;5E28;5E28;5E28;
+2F886;5E3D;5E3D;5E3D;5E3D;
+2F887;5E69;5E69;5E69;5E69;
+2F888;3862;3862;3862;3862;
+2F889;22183;22183;22183;22183;
+2F88A;387C;387C;387C;387C;
+2F88B;5EB0;5EB0;5EB0;5EB0;
+2F88C;5EB3;5EB3;5EB3;5EB3;
+2F88D;5EB6;5EB6;5EB6;5EB6;
+2F88E;5ECA;5ECA;5ECA;5ECA;
+2F88F;2A392;2A392;2A392;2A392;
+2F890;5EFE;5EFE;5EFE;5EFE;
+2F891;22331;22331;22331;22331;
+2F892;22331;22331;22331;22331;
+2F893;8201;8201;8201;8201;
+2F894;5F22;5F22;5F22;5F22;
+2F895;5F22;5F22;5F22;5F22;
+2F896;38C7;38C7;38C7;38C7;
+2F897;232B8;232B8;232B8;232B8;
+2F898;261DA;261DA;261DA;261DA;
+2F899;5F62;5F62;5F62;5F62;
+2F89A;5F6B;5F6B;5F6B;5F6B;
+2F89B;38E3;38E3;38E3;38E3;
+2F89C;5F9A;5F9A;5F9A;5F9A;
+2F89D;5FCD;5FCD;5FCD;5FCD;
+2F89E;5FD7;5FD7;5FD7;5FD7;
+2F89F;5FF9;5FF9;5FF9;5FF9;
+2F8A0;6081;6081;6081;6081;
+2F8A1;393A;393A;393A;393A;
+2F8A2;391C;391C;391C;391C;
+2F8A3;6094;6094;6094;6094;
+2F8A4;226D4;226D4;226D4;226D4;
+2F8A5;60C7;60C7;60C7;60C7;
+2F8A6;6148;6148;6148;6148;
+2F8A7;614C;614C;614C;614C;
+2F8A8;614E;614E;614E;614E;
+2F8A9;614C;614C;614C;614C;
+2F8AA;617A;617A;617A;617A;
+2F8AB;618E;618E;618E;618E;
+2F8AC;61B2;61B2;61B2;61B2;
+2F8AD;61A4;61A4;61A4;61A4;
+2F8AE;61AF;61AF;61AF;61AF;
+2F8AF;61DE;61DE;61DE;61DE;
+2F8B0;61F2;61F2;61F2;61F2;
+2F8B1;61F6;61F6;61F6;61F6;
+2F8B2;6210;6210;6210;6210;
+2F8B3;621B;621B;621B;621B;
+2F8B4;625D;625D;625D;625D;
+2F8B5;62B1;62B1;62B1;62B1;
+2F8B6;62D4;62D4;62D4;62D4;
+2F8B7;6350;6350;6350;6350;
+2F8B8;22B0C;22B0C;22B0C;22B0C;
+2F8B9;633D;633D;633D;633D;
+2F8BA;62FC;62FC;62FC;62FC;
+2F8BB;6368;6368;6368;6368;
+2F8BC;6383;6383;6383;6383;
+2F8BD;63E4;63E4;63E4;63E4;
+2F8BE;22BF1;22BF1;22BF1;22BF1;
+2F8BF;6422;6422;6422;6422;
+2F8C0;63C5;63C5;63C5;63C5;
+2F8C1;63A9;63A9;63A9;63A9;
+2F8C2;3A2E;3A2E;3A2E;3A2E;
+2F8C3;6469;6469;6469;6469;
+2F8C4;647E;647E;647E;647E;
+2F8C5;649D;649D;649D;649D;
+2F8C6;6477;6477;6477;6477;
+2F8C7;3A6C;3A6C;3A6C;3A6C;
+2F8C8;654F;654F;654F;654F;
+2F8C9;656C;656C;656C;656C;
+2F8CA;2300A;2300A;2300A;2300A;
+2F8CB;65E3;65E3;65E3;65E3;
+2F8CC;66F8;66F8;66F8;66F8;
+2F8CD;6649;6649;6649;6649;
+2F8CE;3B19;3B19;3B19;3B19;
+2F8CF;6691;6691;6691;6691;
+2F8D0;3B08;3B08;3B08;3B08;
+2F8D1;3AE4;3AE4;3AE4;3AE4;
+2F8D2;5192;5192;5192;5192;
+2F8D3;5195;5195;5195;5195;
+2F8D4;6700;6700;6700;6700;
+2F8D5;669C;669C;669C;669C;
+2F8D6;80AD;80AD;80AD;80AD;
+2F8D7;43D9;43D9;43D9;43D9;
+2F8D8;6717;6717;6717;6717;
+2F8D9;671B;671B;671B;671B;
+2F8DA;6721;6721;6721;6721;
+2F8DB;675E;675E;675E;675E;
+2F8DC;6753;6753;6753;6753;
+2F8DD;233C3;233C3;233C3;233C3;
+2F8DE;3B49;3B49;3B49;3B49;
+2F8DF;67FA;67FA;67FA;67FA;
+2F8E0;6785;6785;6785;6785;
+2F8E1;6852;6852;6852;6852;
+2F8E2;6885;6885;6885;6885;
+2F8E3;2346D;2346D;2346D;2346D;
+2F8E4;688E;688E;688E;688E;
+2F8E5;681F;681F;681F;681F;
+2F8E6;6914;6914;6914;6914;
+2F8E7;3B9D;3B9D;3B9D;3B9D;
+2F8E8;6942;6942;6942;6942;
+2F8E9;69A3;69A3;69A3;69A3;
+2F8EA;69EA;69EA;69EA;69EA;
+2F8EB;6AA8;6AA8;6AA8;6AA8;
+2F8EC;236A3;236A3;236A3;236A3;
+2F8ED;6ADB;6ADB;6ADB;6ADB;
+2F8EE;3C18;3C18;3C18;3C18;
+2F8EF;6B21;6B21;6B21;6B21;
+2F8F0;238A7;238A7;238A7;238A7;
+2F8F1;6B54;6B54;6B54;6B54;
+2F8F2;3C4E;3C4E;3C4E;3C4E;
+2F8F3;6B72;6B72;6B72;6B72;
+2F8F4;6B9F;6B9F;6B9F;6B9F;
+2F8F5;6BBA;6BBA;6BBA;6BBA;
+2F8F6;6BBB;6BBB;6BBB;6BBB;
+2F8F7;23A8D;23A8D;23A8D;23A8D;
+2F8F8;21D0B;21D0B;21D0B;21D0B;
+2F8F9;23AFA;23AFA;23AFA;23AFA;
+2F8FA;6C4E;6C4E;6C4E;6C4E;
+2F8FB;23CBC;23CBC;23CBC;23CBC;
+2F8FC;6CBF;6CBF;6CBF;6CBF;
+2F8FD;6CCD;6CCD;6CCD;6CCD;
+2F8FE;6C67;6C67;6C67;6C67;
+2F8FF;6D16;6D16;6D16;6D16;
+2F900;6D3E;6D3E;6D3E;6D3E;
+2F901;6D77;6D77;6D77;6D77;
+2F902;6D41;6D41;6D41;6D41;
+2F903;6D69;6D69;6D69;6D69;
+2F904;6D78;6D78;6D78;6D78;
+2F905;6D85;6D85;6D85;6D85;
+2F906;23D1E;23D1E;23D1E;23D1E;
+2F907;6D34;6D34;6D34;6D34;
+2F908;6E2F;6E2F;6E2F;6E2F;
+2F909;6E6E;6E6E;6E6E;6E6E;
+2F90A;3D33;3D33;3D33;3D33;
+2F90B;6ECB;6ECB;6ECB;6ECB;
+2F90C;6EC7;6EC7;6EC7;6EC7;
+2F90D;23ED1;23ED1;23ED1;23ED1;
+2F90E;6DF9;6DF9;6DF9;6DF9;
+2F90F;6F6E;6F6E;6F6E;6F6E;
+2F910;23F5E;23F5E;23F5E;23F5E;
+2F911;23F8E;23F8E;23F8E;23F8E;
+2F912;6FC6;6FC6;6FC6;6FC6;
+2F913;7039;7039;7039;7039;
+2F914;701E;701E;701E;701E;
+2F915;701B;701B;701B;701B;
+2F916;3D96;3D96;3D96;3D96;
+2F917;704A;704A;704A;704A;
+2F918;707D;707D;707D;707D;
+2F919;7077;7077;7077;7077;
+2F91A;70AD;70AD;70AD;70AD;
+2F91B;20525;20525;20525;20525;
+2F91C;7145;7145;7145;7145;
+2F91D;24263;24263;24263;24263;
+2F91E;719C;719C;719C;719C;
+2F91F;243AB;243AB;243AB;243AB;
+2F920;7228;7228;7228;7228;
+2F921;7235;7235;7235;7235;
+2F922;7250;7250;7250;7250;
+2F923;24608;24608;24608;24608;
+2F924;7280;7280;7280;7280;
+2F925;7295;7295;7295;7295;
+2F926;24735;24735;24735;24735;
+2F927;24814;24814;24814;24814;
+2F928;737A;737A;737A;737A;
+2F929;738B;738B;738B;738B;
+2F92A;3EAC;3EAC;3EAC;3EAC;
+2F92B;73A5;73A5;73A5;73A5;
+2F92C;3EB8;3EB8;3EB8;3EB8;
+2F92D;3EB8;3EB8;3EB8;3EB8;
+2F92E;7447;7447;7447;7447;
+2F92F;745C;745C;745C;745C;
+2F930;7471;7471;7471;7471;
+2F931;7485;7485;7485;7485;
+2F932;74CA;74CA;74CA;74CA;
+2F933;3F1B;3F1B;3F1B;3F1B;
+2F934;7524;7524;7524;7524;
+2F935;24C36;24C36;24C36;24C36;
+2F936;753E;753E;753E;753E;
+2F937;24C92;24C92;24C92;24C92;
+2F938;7570;7570;7570;7570;
+2F939;2219F;2219F;2219F;2219F;
+2F93A;7610;7610;7610;7610;
+2F93B;24FA1;24FA1;24FA1;24FA1;
+2F93C;24FB8;24FB8;24FB8;24FB8;
+2F93D;25044;25044;25044;25044;
+2F93E;3FFC;3FFC;3FFC;3FFC;
+2F93F;4008;4008;4008;4008;
+2F940;76F4;76F4;76F4;76F4;
+2F941;250F3;250F3;250F3;250F3;
+2F942;250F2;250F2;250F2;250F2;
+2F943;25119;25119;25119;25119;
+2F944;25133;25133;25133;25133;
+2F945;771E;771E;771E;771E;
+2F946;771F;771F;771F;771F;
+2F947;771F;771F;771F;771F;
+2F948;774A;774A;774A;774A;
+2F949;4039;4039;4039;4039;
+2F94A;778B;778B;778B;778B;
+2F94B;4046;4046;4046;4046;
+2F94C;4096;4096;4096;4096;
+2F94D;2541D;2541D;2541D;2541D;
+2F94E;784E;784E;784E;784E;
+2F94F;788C;788C;788C;788C;
+2F950;78CC;78CC;78CC;78CC;
+2F951;40E3;40E3;40E3;40E3;
+2F952;25626;25626;25626;25626;
+2F953;7956;7956;7956;7956;
+2F954;2569A;2569A;2569A;2569A;
+2F955;256C5;256C5;256C5;256C5;
+2F956;798F;798F;798F;798F;
+2F957;79EB;79EB;79EB;79EB;
+2F958;412F;412F;412F;412F;
+2F959;7A40;7A40;7A40;7A40;
+2F95A;7A4A;7A4A;7A4A;7A4A;
+2F95B;7A4F;7A4F;7A4F;7A4F;
+2F95C;2597C;2597C;2597C;2597C;
+2F95D;25AA7;25AA7;25AA7;25AA7;
+2F95E;25AA7;25AA7;25AA7;25AA7;
+2F95F;7AEE;7AEE;7AEE;7AEE;
+2F960;4202;4202;4202;4202;
+2F961;25BAB;25BAB;25BAB;25BAB;
+2F962;7BC6;7BC6;7BC6;7BC6;
+2F963;7BC9;7BC9;7BC9;7BC9;
+2F964;4227;4227;4227;4227;
+2F965;25C80;25C80;25C80;25C80;
+2F966;7CD2;7CD2;7CD2;7CD2;
+2F967;42A0;42A0;42A0;42A0;
+2F968;7CE8;7CE8;7CE8;7CE8;
+2F969;7CE3;7CE3;7CE3;7CE3;
+2F96A;7D00;7D00;7D00;7D00;
+2F96B;25F86;25F86;25F86;25F86;
+2F96C;7D63;7D63;7D63;7D63;
+2F96D;4301;4301;4301;4301;
+2F96E;7DC7;7DC7;7DC7;7DC7;
+2F96F;7E02;7E02;7E02;7E02;
+2F970;7E45;7E45;7E45;7E45;
+2F971;4334;4334;4334;4334;
+2F972;26228;26228;26228;26228;
+2F973;26247;26247;26247;26247;
+2F974;4359;4359;4359;4359;
+2F975;262D9;262D9;262D9;262D9;
+2F976;7F7A;7F7A;7F7A;7F7A;
+2F977;2633E;2633E;2633E;2633E;
+2F978;7F95;7F95;7F95;7F95;
+2F979;7FFA;7FFA;7FFA;7FFA;
+2F97A;8005;8005;8005;8005;
+2F97B;264DA;264DA;264DA;264DA;
+2F97C;26523;26523;26523;26523;
+2F97D;8060;8060;8060;8060;
+2F97E;265A8;265A8;265A8;265A8;
+2F97F;8070;8070;8070;8070;
+2F980;2335F;2335F;2335F;2335F;
+2F981;43D5;43D5;43D5;43D5;
+2F982;80B2;80B2;80B2;80B2;
+2F983;8103;8103;8103;8103;
+2F984;440B;440B;440B;440B;
+2F985;813E;813E;813E;813E;
+2F986;5AB5;5AB5;5AB5;5AB5;
+2F987;267A7;267A7;267A7;267A7;
+2F988;267B5;267B5;267B5;267B5;
+2F989;23393;23393;23393;23393;
+2F98A;2339C;2339C;2339C;2339C;
+2F98B;8201;8201;8201;8201;
+2F98C;8204;8204;8204;8204;
+2F98D;8F9E;8F9E;8F9E;8F9E;
+2F98E;446B;446B;446B;446B;
+2F98F;8291;8291;8291;8291;
+2F990;828B;828B;828B;828B;
+2F991;829D;829D;829D;829D;
+2F992;52B3;52B3;52B3;52B3;
+2F993;82B1;82B1;82B1;82B1;
+2F994;82B3;82B3;82B3;82B3;
+2F995;82BD;82BD;82BD;82BD;
+2F996;82E6;82E6;82E6;82E6;
+2F997;26B3C;26B3C;26B3C;26B3C;
+2F998;82E5;82E5;82E5;82E5;
+2F999;831D;831D;831D;831D;
+2F99A;8363;8363;8363;8363;
+2F99B;83AD;83AD;83AD;83AD;
+2F99C;8323;8323;8323;8323;
+2F99D;83BD;83BD;83BD;83BD;
+2F99E;83E7;83E7;83E7;83E7;
+2F99F;8457;8457;8457;8457;
+2F9A0;8353;8353;8353;8353;
+2F9A1;83CA;83CA;83CA;83CA;
+2F9A2;83CC;83CC;83CC;83CC;
+2F9A3;83DC;83DC;83DC;83DC;
+2F9A4;26C36;26C36;26C36;26C36;
+2F9A5;26D6B;26D6B;26D6B;26D6B;
+2F9A6;26CD5;26CD5;26CD5;26CD5;
+2F9A7;452B;452B;452B;452B;
+2F9A8;84F1;84F1;84F1;84F1;
+2F9A9;84F3;84F3;84F3;84F3;
+2F9AA;8516;8516;8516;8516;
+2F9AB;273CA;273CA;273CA;273CA;
+2F9AC;8564;8564;8564;8564;
+2F9AD;26F2C;26F2C;26F2C;26F2C;
+2F9AE;455D;455D;455D;455D;
+2F9AF;4561;4561;4561;4561;
+2F9B0;26FB1;26FB1;26FB1;26FB1;
+2F9B1;270D2;270D2;270D2;270D2;
+2F9B2;456B;456B;456B;456B;
+2F9B3;8650;8650;8650;8650;
+2F9B4;865C;865C;865C;865C;
+2F9B5;8667;8667;8667;8667;
+2F9B6;8669;8669;8669;8669;
+2F9B7;86A9;86A9;86A9;86A9;
+2F9B8;8688;8688;8688;8688;
+2F9B9;870E;870E;870E;870E;
+2F9BA;86E2;86E2;86E2;86E2;
+2F9BB;8779;8779;8779;8779;
+2F9BC;8728;8728;8728;8728;
+2F9BD;876B;876B;876B;876B;
+2F9BE;8786;8786;8786;8786;
+2F9BF;45D7;45D7;45D7;45D7;
+2F9C0;87E1;87E1;87E1;87E1;
+2F9C1;8801;8801;8801;8801;
+2F9C2;45F9;45F9;45F9;45F9;
+2F9C3;8860;8860;8860;8860;
+2F9C4;8863;8863;8863;8863;
+2F9C5;27667;27667;27667;27667;
+2F9C6;88D7;88D7;88D7;88D7;
+2F9C7;88DE;88DE;88DE;88DE;
+2F9C8;4635;4635;4635;4635;
+2F9C9;88FA;88FA;88FA;88FA;
+2F9CA;34BB;34BB;34BB;34BB;
+2F9CB;278AE;278AE;278AE;278AE;
+2F9CC;27966;27966;27966;27966;
+2F9CD;46BE;46BE;46BE;46BE;
+2F9CE;46C7;46C7;46C7;46C7;
+2F9CF;8AA0;8AA0;8AA0;8AA0;
+2F9D0;8AED;8AED;8AED;8AED;
+2F9D1;8B8A;8B8A;8B8A;8B8A;
+2F9D2;8C55;8C55;8C55;8C55;
+2F9D3;27CA8;27CA8;27CA8;27CA8;
+2F9D4;8CAB;8CAB;8CAB;8CAB;
+2F9D5;8CC1;8CC1;8CC1;8CC1;
+2F9D6;8D1B;8D1B;8D1B;8D1B;
+2F9D7;8D77;8D77;8D77;8D77;
+2F9D8;27F2F;27F2F;27F2F;27F2F;
+2F9D9;20804;20804;20804;20804;
+2F9DA;8DCB;8DCB;8DCB;8DCB;
+2F9DB;8DBC;8DBC;8DBC;8DBC;
+2F9DC;8DF0;8DF0;8DF0;8DF0;
+2F9DD;208DE;208DE;208DE;208DE;
+2F9DE;8ED4;8ED4;8ED4;8ED4;
+2F9DF;8F38;8F38;8F38;8F38;
+2F9E0;285D2;285D2;285D2;285D2;
+2F9E1;285ED;285ED;285ED;285ED;
+2F9E2;9094;9094;9094;9094;
+2F9E3;90F1;90F1;90F1;90F1;
+2F9E4;9111;9111;9111;9111;
+2F9E5;2872E;2872E;2872E;2872E;
+2F9E6;911B;911B;911B;911B;
+2F9E7;9238;9238;9238;9238;
+2F9E8;92D7;92D7;92D7;92D7;
+2F9E9;92D8;92D8;92D8;92D8;
+2F9EA;927C;927C;927C;927C;
+2F9EB;93F9;93F9;93F9;93F9;
+2F9EC;9415;9415;9415;9415;
+2F9ED;28BFA;28BFA;28BFA;28BFA;
+2F9EE;958B;958B;958B;958B;
+2F9EF;4995;4995;4995;4995;
+2F9F0;95B7;95B7;95B7;95B7;
+2F9F1;28D77;28D77;28D77;28D77;
+2F9F2;49E6;49E6;49E6;49E6;
+2F9F3;96C3;96C3;96C3;96C3;
+2F9F4;5DB2;5DB2;5DB2;5DB2;
+2F9F5;9723;9723;9723;9723;
+2F9F6;29145;29145;29145;29145;
+2F9F7;2921A;2921A;2921A;2921A;
+2F9F8;4A6E;4A6E;4A6E;4A6E;
+2F9F9;4A76;4A76;4A76;4A76;
+2F9FA;97E0;97E0;97E0;97E0;
+2F9FB;2940A;2940A;2940A;2940A;
+2F9FC;4AB2;4AB2;4AB2;4AB2;
+2F9FD;29496;29496;29496;29496;
+2F9FE;980B;980B;980B;980B;
+2F9FF;980B;980B;980B;980B;
+2FA00;9829;9829;9829;9829;
+2FA01;295B6;295B6;295B6;295B6;
+2FA02;98E2;98E2;98E2;98E2;
+2FA03;4B33;4B33;4B33;4B33;
+2FA04;9929;9929;9929;9929;
+2FA05;99A7;99A7;99A7;99A7;
+2FA06;99C2;99C2;99C2;99C2;
+2FA07;99FE;99FE;99FE;99FE;
+2FA08;4BCE;4BCE;4BCE;4BCE;
+2FA09;29B30;29B30;29B30;29B30;
+2FA0A;9B12;9B12;9B12;9B12;
+2FA0B;9C40;9C40;9C40;9C40;
+2FA0C;9CFD;9CFD;9CFD;9CFD;
+2FA0D;4CCE;4CCE;4CCE;4CCE;
+2FA0E;4CED;4CED;4CED;4CED;
+2FA0F;9D67;9D67;9D67;9D67;
+2FA10;2A0CE;2A0CE;2A0CE;2A0CE;
+2FA11;4CF8;4CF8;4CF8;4CF8;
+2FA12;2A105;2A105;2A105;2A105;
+2FA13;2A20E;2A20E;2A20E;2A20E;
+2FA14;2A291;2A291;2A291;2A291;
+2FA15;9EBB;9EBB;9EBB;9EBB;
+2FA16;4D56;4D56;4D56;4D56;
+2FA17;9EF9;9EF9;9EF9;9EF9;
+2FA18;9EFE;9EFE;9EFE;9EFE;
+2FA19;9F05;9F05;9F05;9F05;
+2FA1A;9F0F;9F0F;9F0F;9F0F;
+2FA1B;9F16;9F16;9F16;9F16;
+2FA1C;9F3B;9F3B;9F3B;9F3B;
+2FA1D;2A600;2A600;2A600;2A600;
+#
+@Part2 # Canonical Order Test
+#
+0061 0315 0300 05AE 0300 0062;00E0 05AE 0300 0315 0062;0061 05AE 0300 0300 0315 0062;00E0 05AE 0300 0315 0062;0061 05AE 0300 0300 0315 0062;
+0061 0300 0315 0300 05AE 0062;00E0 05AE 0300 0315 0062;0061 05AE 0300 0300 0315 0062;00E0 05AE 0300 0315 0062;0061 05AE 0300 0300 0315 0062;
+0061 0315 0300 05AE 0301 0062;00E0 05AE 0301 0315 0062;0061 05AE 0300 0301 0315 0062;00E0 05AE 0301 0315 0062;0061 05AE 0300 0301 0315 0062;
+0061 0301 0315 0300 05AE 0062;00E1 05AE 0300 0315 0062;0061 05AE 0301 0300 0315 0062;00E1 05AE 0300 0315 0062;0061 05AE 0301 0300 0315 0062;
+0061 0315 0300 05AE 0302 0062;00E0 05AE 0302 0315 0062;0061 05AE 0300 0302 0315 0062;00E0 05AE 0302 0315 0062;0061 05AE 0300 0302 0315 0062;
+0061 0302 0315 0300 05AE 0062;1EA7 05AE 0315 0062;0061 05AE 0302 0300 0315 0062;1EA7 05AE 0315 0062;0061 05AE 0302 0300 0315 0062;
+0061 0315 0300 05AE 0303 0062;00E0 05AE 0303 0315 0062;0061 05AE 0300 0303 0315 0062;00E0 05AE 0303 0315 0062;0061 05AE 0300 0303 0315 0062;
+0061 0303 0315 0300 05AE 0062;00E3 05AE 0300 0315 0062;0061 05AE 0303 0300 0315 0062;00E3 05AE 0300 0315 0062;0061 05AE 0303 0300 0315 0062;
+0061 0315 0300 05AE 0304 0062;00E0 05AE 0304 0315 0062;0061 05AE 0300 0304 0315 0062;00E0 05AE 0304 0315 0062;0061 05AE 0300 0304 0315 0062;
+0061 0304 0315 0300 05AE 0062;0101 05AE 0300 0315 0062;0061 05AE 0304 0300 0315 0062;0101 05AE 0300 0315 0062;0061 05AE 0304 0300 0315 0062;
+0061 0315 0300 05AE 0305 0062;00E0 05AE 0305 0315 0062;0061 05AE 0300 0305 0315 0062;00E0 05AE 0305 0315 0062;0061 05AE 0300 0305 0315 0062;
+0061 0305 0315 0300 05AE 0062;0061 05AE 0305 0300 0315 0062;0061 05AE 0305 0300 0315 0062;0061 05AE 0305 0300 0315 0062;0061 05AE 0305 0300 0315 0062;
+0061 0315 0300 05AE 0306 0062;00E0 05AE 0306 0315 0062;0061 05AE 0300 0306 0315 0062;00E0 05AE 0306 0315 0062;0061 05AE 0300 0306 0315 0062;
+0061 0306 0315 0300 05AE 0062;1EB1 05AE 0315 0062;0061 05AE 0306 0300 0315 0062;1EB1 05AE 0315 0062;0061 05AE 0306 0300 0315 0062;
+0061 0315 0300 05AE 0307 0062;00E0 05AE 0307 0315 0062;0061 05AE 0300 0307 0315 0062;00E0 05AE 0307 0315 0062;0061 05AE 0300 0307 0315 0062;
+0061 0307 0315 0300 05AE 0062;0227 05AE 0300 0315 0062;0061 05AE 0307 0300 0315 0062;0227 05AE 0300 0315 0062;0061 05AE 0307 0300 0315 0062;
+0061 0315 0300 05AE 0308 0062;00E0 05AE 0308 0315 0062;0061 05AE 0300 0308 0315 0062;00E0 05AE 0308 0315 0062;0061 05AE 0300 0308 0315 0062;
+0061 0308 0315 0300 05AE 0062;00E4 05AE 0300 0315 0062;0061 05AE 0308 0300 0315 0062;00E4 05AE 0300 0315 0062;0061 05AE 0308 0300 0315 0062;
+0061 0315 0300 05AE 0309 0062;00E0 05AE 0309 0315 0062;0061 05AE 0300 0309 0315 0062;00E0 05AE 0309 0315 0062;0061 05AE 0300 0309 0315 0062;
+0061 0309 0315 0300 05AE 0062;1EA3 05AE 0300 0315 0062;0061 05AE 0309 0300 0315 0062;1EA3 05AE 0300 0315 0062;0061 05AE 0309 0300 0315 0062;
+0061 0315 0300 05AE 030A 0062;00E0 05AE 030A 0315 0062;0061 05AE 0300 030A 0315 0062;00E0 05AE 030A 0315 0062;0061 05AE 0300 030A 0315 0062;
+0061 030A 0315 0300 05AE 0062;00E5 05AE 0300 0315 0062;0061 05AE 030A 0300 0315 0062;00E5 05AE 0300 0315 0062;0061 05AE 030A 0300 0315 0062;
+0061 0315 0300 05AE 030B 0062;00E0 05AE 030B 0315 0062;0061 05AE 0300 030B 0315 0062;00E0 05AE 030B 0315 0062;0061 05AE 0300 030B 0315 0062;
+0061 030B 0315 0300 05AE 0062;0061 05AE 030B 0300 0315 0062;0061 05AE 030B 0300 0315 0062;0061 05AE 030B 0300 0315 0062;0061 05AE 030B 0300 0315 0062;
+0061 0315 0300 05AE 030C 0062;00E0 05AE 030C 0315 0062;0061 05AE 0300 030C 0315 0062;00E0 05AE 030C 0315 0062;0061 05AE 0300 030C 0315 0062;
+0061 030C 0315 0300 05AE 0062;01CE 05AE 0300 0315 0062;0061 05AE 030C 0300 0315 0062;01CE 05AE 0300 0315 0062;0061 05AE 030C 0300 0315 0062;
+0061 0315 0300 05AE 030D 0062;00E0 05AE 030D 0315 0062;0061 05AE 0300 030D 0315 0062;00E0 05AE 030D 0315 0062;0061 05AE 0300 030D 0315 0062;
+0061 030D 0315 0300 05AE 0062;0061 05AE 030D 0300 0315 0062;0061 05AE 030D 0300 0315 0062;0061 05AE 030D 0300 0315 0062;0061 05AE 030D 0300 0315 0062;
+0061 0315 0300 05AE 030E 0062;00E0 05AE 030E 0315 0062;0061 05AE 0300 030E 0315 0062;00E0 05AE 030E 0315 0062;0061 05AE 0300 030E 0315 0062;
+0061 030E 0315 0300 05AE 0062;0061 05AE 030E 0300 0315 0062;0061 05AE 030E 0300 0315 0062;0061 05AE 030E 0300 0315 0062;0061 05AE 030E 0300 0315 0062;
+0061 0315 0300 05AE 030F 0062;00E0 05AE 030F 0315 0062;0061 05AE 0300 030F 0315 0062;00E0 05AE 030F 0315 0062;0061 05AE 0300 030F 0315 0062;
+0061 030F 0315 0300 05AE 0062;0201 05AE 0300 0315 0062;0061 05AE 030F 0300 0315 0062;0201 05AE 0300 0315 0062;0061 05AE 030F 0300 0315 0062;
+0061 0315 0300 05AE 0310 0062;00E0 05AE 0310 0315 0062;0061 05AE 0300 0310 0315 0062;00E0 05AE 0310 0315 0062;0061 05AE 0300 0310 0315 0062;
+0061 0310 0315 0300 05AE 0062;0061 05AE 0310 0300 0315 0062;0061 05AE 0310 0300 0315 0062;0061 05AE 0310 0300 0315 0062;0061 05AE 0310 0300 0315 0062;
+0061 0315 0300 05AE 0311 0062;00E0 05AE 0311 0315 0062;0061 05AE 0300 0311 0315 0062;00E0 05AE 0311 0315 0062;0061 05AE 0300 0311 0315 0062;
+0061 0311 0315 0300 05AE 0062;0203 05AE 0300 0315 0062;0061 05AE 0311 0300 0315 0062;0203 05AE 0300 0315 0062;0061 05AE 0311 0300 0315 0062;
+0061 0315 0300 05AE 0312 0062;00E0 05AE 0312 0315 0062;0061 05AE 0300 0312 0315 0062;00E0 05AE 0312 0315 0062;0061 05AE 0300 0312 0315 0062;
+0061 0312 0315 0300 05AE 0062;0061 05AE 0312 0300 0315 0062;0061 05AE 0312 0300 0315 0062;0061 05AE 0312 0300 0315 0062;0061 05AE 0312 0300 0315 0062;
+0061 0315 0300 05AE 0313 0062;00E0 05AE 0313 0315 0062;0061 05AE 0300 0313 0315 0062;00E0 05AE 0313 0315 0062;0061 05AE 0300 0313 0315 0062;
+0061 0313 0315 0300 05AE 0062;0061 05AE 0313 0300 0315 0062;0061 05AE 0313 0300 0315 0062;0061 05AE 0313 0300 0315 0062;0061 05AE 0313 0300 0315 0062;
+0061 0315 0300 05AE 0314 0062;00E0 05AE 0314 0315 0062;0061 05AE 0300 0314 0315 0062;00E0 05AE 0314 0315 0062;0061 05AE 0300 0314 0315 0062;
+0061 0314 0315 0300 05AE 0062;0061 05AE 0314 0300 0315 0062;0061 05AE 0314 0300 0315 0062;0061 05AE 0314 0300 0315 0062;0061 05AE 0314 0300 0315 0062;
+0061 035C 0315 0300 0315 0062;00E0 0315 0315 035C 0062;0061 0300 0315 0315 035C 0062;00E0 0315 0315 035C 0062;0061 0300 0315 0315 035C 0062;
+0061 0315 035C 0315 0300 0062;00E0 0315 0315 035C 0062;0061 0300 0315 0315 035C 0062;00E0 0315 0315 035C 0062;0061 0300 0315 0315 035C 0062;
+0061 059A 0316 302A 0316 0062;0061 302A 0316 0316 059A 0062;0061 302A 0316 0316 059A 0062;0061 302A 0316 0316 059A 0062;0061 302A 0316 0316 059A 0062;
+0061 0316 059A 0316 302A 0062;0061 302A 0316 0316 059A 0062;0061 302A 0316 0316 059A 0062;0061 302A 0316 0316 059A 0062;0061 302A 0316 0316 059A 0062;
+0061 059A 0316 302A 0317 0062;0061 302A 0316 0317 059A 0062;0061 302A 0316 0317 059A 0062;0061 302A 0316 0317 059A 0062;0061 302A 0316 0317 059A 0062;
+0061 0317 059A 0316 302A 0062;0061 302A 0317 0316 059A 0062;0061 302A 0317 0316 059A 0062;0061 302A 0317 0316 059A 0062;0061 302A 0317 0316 059A 0062;
+0061 059A 0316 302A 0318 0062;0061 302A 0316 0318 059A 0062;0061 302A 0316 0318 059A 0062;0061 302A 0316 0318 059A 0062;0061 302A 0316 0318 059A 0062;
+0061 0318 059A 0316 302A 0062;0061 302A 0318 0316 059A 0062;0061 302A 0318 0316 059A 0062;0061 302A 0318 0316 059A 0062;0061 302A 0318 0316 059A 0062;
+0061 059A 0316 302A 0319 0062;0061 302A 0316 0319 059A 0062;0061 302A 0316 0319 059A 0062;0061 302A 0316 0319 059A 0062;0061 302A 0316 0319 059A 0062;
+0061 0319 059A 0316 302A 0062;0061 302A 0319 0316 059A 0062;0061 302A 0319 0316 059A 0062;0061 302A 0319 0316 059A 0062;0061 302A 0319 0316 059A 0062;
+0061 035C 0315 0300 031A 0062;00E0 0315 031A 035C 0062;0061 0300 0315 031A 035C 0062;00E0 0315 031A 035C 0062;0061 0300 0315 031A 035C 0062;
+0061 031A 035C 0315 0300 0062;00E0 031A 0315 035C 0062;0061 0300 031A 0315 035C 0062;00E0 031A 0315 035C 0062;0061 0300 031A 0315 035C 0062;
+0061 302A 031B 0321 031B 0062;0061 0321 031B 031B 302A 0062;0061 0321 031B 031B 302A 0062;0061 0321 031B 031B 302A 0062;0061 0321 031B 031B 302A 0062;
+0061 031B 302A 031B 0321 0062;0061 0321 031B 031B 302A 0062;0061 0321 031B 031B 302A 0062;0061 0321 031B 031B 302A 0062;0061 0321 031B 031B 302A 0062;
+0061 059A 0316 302A 031C 0062;0061 302A 0316 031C 059A 0062;0061 302A 0316 031C 059A 0062;0061 302A 0316 031C 059A 0062;0061 302A 0316 031C 059A 0062;
+0061 031C 059A 0316 302A 0062;0061 302A 031C 0316 059A 0062;0061 302A 031C 0316 059A 0062;0061 302A 031C 0316 059A 0062;0061 302A 031C 0316 059A 0062;
+0061 059A 0316 302A 031D 0062;0061 302A 0316 031D 059A 0062;0061 302A 0316 031D 059A 0062;0061 302A 0316 031D 059A 0062;0061 302A 0316 031D 059A 0062;
+0061 031D 059A 0316 302A 0062;0061 302A 031D 0316 059A 0062;0061 302A 031D 0316 059A 0062;0061 302A 031D 0316 059A 0062;0061 302A 031D 0316 059A 0062;
+0061 059A 0316 302A 031E 0062;0061 302A 0316 031E 059A 0062;0061 302A 0316 031E 059A 0062;0061 302A 0316 031E 059A 0062;0061 302A 0316 031E 059A 0062;
+0061 031E 059A 0316 302A 0062;0061 302A 031E 0316 059A 0062;0061 302A 031E 0316 059A 0062;0061 302A 031E 0316 059A 0062;0061 302A 031E 0316 059A 0062;
+0061 059A 0316 302A 031F 0062;0061 302A 0316 031F 059A 0062;0061 302A 0316 031F 059A 0062;0061 302A 0316 031F 059A 0062;0061 302A 0316 031F 059A 0062;
+0061 031F 059A 0316 302A 0062;0061 302A 031F 0316 059A 0062;0061 302A 031F 0316 059A 0062;0061 302A 031F 0316 059A 0062;0061 302A 031F 0316 059A 0062;
+0061 059A 0316 302A 0320 0062;0061 302A 0316 0320 059A 0062;0061 302A 0316 0320 059A 0062;0061 302A 0316 0320 059A 0062;0061 302A 0316 0320 059A 0062;
+0061 0320 059A 0316 302A 0062;0061 302A 0320 0316 059A 0062;0061 302A 0320 0316 059A 0062;0061 302A 0320 0316 059A 0062;0061 302A 0320 0316 059A 0062;
+0061 031B 0321 0F74 0321 0062;0061 0F74 0321 0321 031B 0062;0061 0F74 0321 0321 031B 0062;0061 0F74 0321 0321 031B 0062;0061 0F74 0321 0321 031B 0062;
+0061 0321 031B 0321 0F74 0062;0061 0F74 0321 0321 031B 0062;0061 0F74 0321 0321 031B 0062;0061 0F74 0321 0321 031B 0062;0061 0F74 0321 0321 031B 0062;
+0061 031B 0321 0F74 0322 0062;0061 0F74 0321 0322 031B 0062;0061 0F74 0321 0322 031B 0062;0061 0F74 0321 0322 031B 0062;0061 0F74 0321 0322 031B 0062;
+0061 0322 031B 0321 0F74 0062;0061 0F74 0322 0321 031B 0062;0061 0F74 0322 0321 031B 0062;0061 0F74 0322 0321 031B 0062;0061 0F74 0322 0321 031B 0062;
+0061 059A 0316 302A 0323 0062;0061 302A 0316 0323 059A 0062;0061 302A 0316 0323 059A 0062;0061 302A 0316 0323 059A 0062;0061 302A 0316 0323 059A 0062;
+0061 0323 059A 0316 302A 0062;1EA1 302A 0316 059A 0062;0061 302A 0323 0316 059A 0062;1EA1 302A 0316 059A 0062;0061 302A 0323 0316 059A 0062;
+0061 059A 0316 302A 0324 0062;0061 302A 0316 0324 059A 0062;0061 302A 0316 0324 059A 0062;0061 302A 0316 0324 059A 0062;0061 302A 0316 0324 059A 0062;
+0061 0324 059A 0316 302A 0062;0061 302A 0324 0316 059A 0062;0061 302A 0324 0316 059A 0062;0061 302A 0324 0316 059A 0062;0061 302A 0324 0316 059A 0062;
+0061 059A 0316 302A 0325 0062;0061 302A 0316 0325 059A 0062;0061 302A 0316 0325 059A 0062;0061 302A 0316 0325 059A 0062;0061 302A 0316 0325 059A 0062;
+0061 0325 059A 0316 302A 0062;1E01 302A 0316 059A 0062;0061 302A 0325 0316 059A 0062;1E01 302A 0316 059A 0062;0061 302A 0325 0316 059A 0062;
+0061 059A 0316 302A 0326 0062;0061 302A 0316 0326 059A 0062;0061 302A 0316 0326 059A 0062;0061 302A 0316 0326 059A 0062;0061 302A 0316 0326 059A 0062;
+0061 0326 059A 0316 302A 0062;0061 302A 0326 0316 059A 0062;0061 302A 0326 0316 059A 0062;0061 302A 0326 0316 059A 0062;0061 302A 0326 0316 059A 0062;
+0061 031B 0321 0F74 0327 0062;0061 0F74 0321 0327 031B 0062;0061 0F74 0321 0327 031B 0062;0061 0F74 0321 0327 031B 0062;0061 0F74 0321 0327 031B 0062;
+0061 0327 031B 0321 0F74 0062;0061 0F74 0327 0321 031B 0062;0061 0F74 0327 0321 031B 0062;0061 0F74 0327 0321 031B 0062;0061 0F74 0327 0321 031B 0062;
+0061 031B 0321 0F74 0328 0062;0061 0F74 0321 0328 031B 0062;0061 0F74 0321 0328 031B 0062;0061 0F74 0321 0328 031B 0062;0061 0F74 0321 0328 031B 0062;
+0061 0328 031B 0321 0F74 0062;0105 0F74 0321 031B 0062;0061 0F74 0328 0321 031B 0062;0105 0F74 0321 031B 0062;0061 0F74 0328 0321 031B 0062;
+0061 059A 0316 302A 0329 0062;0061 302A 0316 0329 059A 0062;0061 302A 0316 0329 059A 0062;0061 302A 0316 0329 059A 0062;0061 302A 0316 0329 059A 0062;
+0061 0329 059A 0316 302A 0062;0061 302A 0329 0316 059A 0062;0061 302A 0329 0316 059A 0062;0061 302A 0329 0316 059A 0062;0061 302A 0329 0316 059A 0062;
+0061 059A 0316 302A 032A 0062;0061 302A 0316 032A 059A 0062;0061 302A 0316 032A 059A 0062;0061 302A 0316 032A 059A 0062;0061 302A 0316 032A 059A 0062;
+0061 032A 059A 0316 302A 0062;0061 302A 032A 0316 059A 0062;0061 302A 032A 0316 059A 0062;0061 302A 032A 0316 059A 0062;0061 302A 032A 0316 059A 0062;
+0061 059A 0316 302A 032B 0062;0061 302A 0316 032B 059A 0062;0061 302A 0316 032B 059A 0062;0061 302A 0316 032B 059A 0062;0061 302A 0316 032B 059A 0062;
+0061 032B 059A 0316 302A 0062;0061 302A 032B 0316 059A 0062;0061 302A 032B 0316 059A 0062;0061 302A 032B 0316 059A 0062;0061 302A 032B 0316 059A 0062;
+0061 059A 0316 302A 032C 0062;0061 302A 0316 032C 059A 0062;0061 302A 0316 032C 059A 0062;0061 302A 0316 032C 059A 0062;0061 302A 0316 032C 059A 0062;
+0061 032C 059A 0316 302A 0062;0061 302A 032C 0316 059A 0062;0061 302A 032C 0316 059A 0062;0061 302A 032C 0316 059A 0062;0061 302A 032C 0316 059A 0062;
+0061 059A 0316 302A 032D 0062;0061 302A 0316 032D 059A 0062;0061 302A 0316 032D 059A 0062;0061 302A 0316 032D 059A 0062;0061 302A 0316 032D 059A 0062;
+0061 032D 059A 0316 302A 0062;0061 302A 032D 0316 059A 0062;0061 302A 032D 0316 059A 0062;0061 302A 032D 0316 059A 0062;0061 302A 032D 0316 059A 0062;
+0061 059A 0316 302A 032E 0062;0061 302A 0316 032E 059A 0062;0061 302A 0316 032E 059A 0062;0061 302A 0316 032E 059A 0062;0061 302A 0316 032E 059A 0062;
+0061 032E 059A 0316 302A 0062;0061 302A 032E 0316 059A 0062;0061 302A 032E 0316 059A 0062;0061 302A 032E 0316 059A 0062;0061 302A 032E 0316 059A 0062;
+0061 059A 0316 302A 032F 0062;0061 302A 0316 032F 059A 0062;0061 302A 0316 032F 059A 0062;0061 302A 0316 032F 059A 0062;0061 302A 0316 032F 059A 0062;
+0061 032F 059A 0316 302A 0062;0061 302A 032F 0316 059A 0062;0061 302A 032F 0316 059A 0062;0061 302A 032F 0316 059A 0062;0061 302A 032F 0316 059A 0062;
+0061 059A 0316 302A 0330 0062;0061 302A 0316 0330 059A 0062;0061 302A 0316 0330 059A 0062;0061 302A 0316 0330 059A 0062;0061 302A 0316 0330 059A 0062;
+0061 0330 059A 0316 302A 0062;0061 302A 0330 0316 059A 0062;0061 302A 0330 0316 059A 0062;0061 302A 0330 0316 059A 0062;0061 302A 0330 0316 059A 0062;
+0061 059A 0316 302A 0331 0062;0061 302A 0316 0331 059A 0062;0061 302A 0316 0331 059A 0062;0061 302A 0316 0331 059A 0062;0061 302A 0316 0331 059A 0062;
+0061 0331 059A 0316 302A 0062;0061 302A 0331 0316 059A 0062;0061 302A 0331 0316 059A 0062;0061 302A 0331 0316 059A 0062;0061 302A 0331 0316 059A 0062;
+0061 059A 0316 302A 0332 0062;0061 302A 0316 0332 059A 0062;0061 302A 0316 0332 059A 0062;0061 302A 0316 0332 059A 0062;0061 302A 0316 0332 059A 0062;
+0061 0332 059A 0316 302A 0062;0061 302A 0332 0316 059A 0062;0061 302A 0332 0316 059A 0062;0061 302A 0332 0316 059A 0062;0061 302A 0332 0316 059A 0062;
+0061 059A 0316 302A 0333 0062;0061 302A 0316 0333 059A 0062;0061 302A 0316 0333 059A 0062;0061 302A 0316 0333 059A 0062;0061 302A 0316 0333 059A 0062;
+0061 0333 059A 0316 302A 0062;0061 302A 0333 0316 059A 0062;0061 302A 0333 0316 059A 0062;0061 302A 0333 0316 059A 0062;0061 302A 0333 0316 059A 0062;
+0061 093C 0334 0334 0062;0061 0334 0334 093C 0062;0061 0334 0334 093C 0062;0061 0334 0334 093C 0062;0061 0334 0334 093C 0062;
+0061 0334 093C 0334 0062;0061 0334 0334 093C 0062;0061 0334 0334 093C 0062;0061 0334 0334 093C 0062;0061 0334 0334 093C 0062;
+0061 093C 0334 0335 0062;0061 0334 0335 093C 0062;0061 0334 0335 093C 0062;0061 0334 0335 093C 0062;0061 0334 0335 093C 0062;
+0061 0335 093C 0334 0062;0061 0335 0334 093C 0062;0061 0335 0334 093C 0062;0061 0335 0334 093C 0062;0061 0335 0334 093C 0062;
+0061 093C 0334 0336 0062;0061 0334 0336 093C 0062;0061 0334 0336 093C 0062;0061 0334 0336 093C 0062;0061 0334 0336 093C 0062;
+0061 0336 093C 0334 0062;0061 0336 0334 093C 0062;0061 0336 0334 093C 0062;0061 0336 0334 093C 0062;0061 0336 0334 093C 0062;
+0061 093C 0334 0337 0062;0061 0334 0337 093C 0062;0061 0334 0337 093C 0062;0061 0334 0337 093C 0062;0061 0334 0337 093C 0062;
+0061 0337 093C 0334 0062;0061 0337 0334 093C 0062;0061 0337 0334 093C 0062;0061 0337 0334 093C 0062;0061 0337 0334 093C 0062;
+0061 093C 0334 0338 0062;0061 0334 0338 093C 0062;0061 0334 0338 093C 0062;0061 0334 0338 093C 0062;0061 0334 0338 093C 0062;
+0061 0338 093C 0334 0062;0061 0338 0334 093C 0062;0061 0338 0334 093C 0062;0061 0338 0334 093C 0062;0061 0338 0334 093C 0062;
+0061 059A 0316 302A 0339 0062;0061 302A 0316 0339 059A 0062;0061 302A 0316 0339 059A 0062;0061 302A 0316 0339 059A 0062;0061 302A 0316 0339 059A 0062;
+0061 0339 059A 0316 302A 0062;0061 302A 0339 0316 059A 0062;0061 302A 0339 0316 059A 0062;0061 302A 0339 0316 059A 0062;0061 302A 0339 0316 059A 0062;
+0061 059A 0316 302A 033A 0062;0061 302A 0316 033A 059A 0062;0061 302A 0316 033A 059A 0062;0061 302A 0316 033A 059A 0062;0061 302A 0316 033A 059A 0062;
+0061 033A 059A 0316 302A 0062;0061 302A 033A 0316 059A 0062;0061 302A 033A 0316 059A 0062;0061 302A 033A 0316 059A 0062;0061 302A 033A 0316 059A 0062;
+0061 059A 0316 302A 033B 0062;0061 302A 0316 033B 059A 0062;0061 302A 0316 033B 059A 0062;0061 302A 0316 033B 059A 0062;0061 302A 0316 033B 059A 0062;
+0061 033B 059A 0316 302A 0062;0061 302A 033B 0316 059A 0062;0061 302A 033B 0316 059A 0062;0061 302A 033B 0316 059A 0062;0061 302A 033B 0316 059A 0062;
+0061 059A 0316 302A 033C 0062;0061 302A 0316 033C 059A 0062;0061 302A 0316 033C 059A 0062;0061 302A 0316 033C 059A 0062;0061 302A 0316 033C 059A 0062;
+0061 033C 059A 0316 302A 0062;0061 302A 033C 0316 059A 0062;0061 302A 033C 0316 059A 0062;0061 302A 033C 0316 059A 0062;0061 302A 033C 0316 059A 0062;
+0061 0315 0300 05AE 033D 0062;00E0 05AE 033D 0315 0062;0061 05AE 0300 033D 0315 0062;00E0 05AE 033D 0315 0062;0061 05AE 0300 033D 0315 0062;
+0061 033D 0315 0300 05AE 0062;0061 05AE 033D 0300 0315 0062;0061 05AE 033D 0300 0315 0062;0061 05AE 033D 0300 0315 0062;0061 05AE 033D 0300 0315 0062;
+0061 0315 0300 05AE 033E 0062;00E0 05AE 033E 0315 0062;0061 05AE 0300 033E 0315 0062;00E0 05AE 033E 0315 0062;0061 05AE 0300 033E 0315 0062;
+0061 033E 0315 0300 05AE 0062;0061 05AE 033E 0300 0315 0062;0061 05AE 033E 0300 0315 0062;0061 05AE 033E 0300 0315 0062;0061 05AE 033E 0300 0315 0062;
+0061 0315 0300 05AE 033F 0062;00E0 05AE 033F 0315 0062;0061 05AE 0300 033F 0315 0062;00E0 05AE 033F 0315 0062;0061 05AE 0300 033F 0315 0062;
+0061 033F 0315 0300 05AE 0062;0061 05AE 033F 0300 0315 0062;0061 05AE 033F 0300 0315 0062;0061 05AE 033F 0300 0315 0062;0061 05AE 033F 0300 0315 0062;
+0061 0315 0300 05AE 0340 0062;00E0 05AE 0300 0315 0062;0061 05AE 0300 0300 0315 0062;00E0 05AE 0300 0315 0062;0061 05AE 0300 0300 0315 0062;
+0061 0340 0315 0300 05AE 0062;00E0 05AE 0300 0315 0062;0061 05AE 0300 0300 0315 0062;00E0 05AE 0300 0315 0062;0061 05AE 0300 0300 0315 0062;
+0061 0315 0300 05AE 0341 0062;00E0 05AE 0301 0315 0062;0061 05AE 0300 0301 0315 0062;00E0 05AE 0301 0315 0062;0061 05AE 0300 0301 0315 0062;
+0061 0341 0315 0300 05AE 0062;00E1 05AE 0300 0315 0062;0061 05AE 0301 0300 0315 0062;00E1 05AE 0300 0315 0062;0061 05AE 0301 0300 0315 0062;
+0061 0315 0300 05AE 0342 0062;00E0 05AE 0342 0315 0062;0061 05AE 0300 0342 0315 0062;00E0 05AE 0342 0315 0062;0061 05AE 0300 0342 0315 0062;
+0061 0342 0315 0300 05AE 0062;0061 05AE 0342 0300 0315 0062;0061 05AE 0342 0300 0315 0062;0061 05AE 0342 0300 0315 0062;0061 05AE 0342 0300 0315 0062;
+0061 0315 0300 05AE 0343 0062;00E0 05AE 0313 0315 0062;0061 05AE 0300 0313 0315 0062;00E0 05AE 0313 0315 0062;0061 05AE 0300 0313 0315 0062;
+0061 0343 0315 0300 05AE 0062;0061 05AE 0313 0300 0315 0062;0061 05AE 0313 0300 0315 0062;0061 05AE 0313 0300 0315 0062;0061 05AE 0313 0300 0315 0062;
+0061 0315 0300 05AE 0344 0062;00E0 05AE 0308 0301 0315 0062;0061 05AE 0300 0308 0301 0315 0062;00E0 05AE 0308 0301 0315 0062;0061 05AE 0300 0308 0301 0315 0062;
+0061 0344 0315 0300 05AE 0062;00E4 05AE 0301 0300 0315 0062;0061 05AE 0308 0301 0300 0315 0062;00E4 05AE 0301 0300 0315 0062;0061 05AE 0308 0301 0300 0315 0062;
+0061 0345 035D 0345 0062;0061 035D 0345 0345 0062;0061 035D 0345 0345 0062;0061 035D 0345 0345 0062;0061 035D 0345 0345 0062;
+0061 0345 0345 035D 0062;0061 035D 0345 0345 0062;0061 035D 0345 0345 0062;0061 035D 0345 0345 0062;0061 035D 0345 0345 0062;
+0061 0315 0300 05AE 0346 0062;00E0 05AE 0346 0315 0062;0061 05AE 0300 0346 0315 0062;00E0 05AE 0346 0315 0062;0061 05AE 0300 0346 0315 0062;
+0061 0346 0315 0300 05AE 0062;0061 05AE 0346 0300 0315 0062;0061 05AE 0346 0300 0315 0062;0061 05AE 0346 0300 0315 0062;0061 05AE 0346 0300 0315 0062;
+0061 059A 0316 302A 0347 0062;0061 302A 0316 0347 059A 0062;0061 302A 0316 0347 059A 0062;0061 302A 0316 0347 059A 0062;0061 302A 0316 0347 059A 0062;
+0061 0347 059A 0316 302A 0062;0061 302A 0347 0316 059A 0062;0061 302A 0347 0316 059A 0062;0061 302A 0347 0316 059A 0062;0061 302A 0347 0316 059A 0062;
+0061 059A 0316 302A 0348 0062;0061 302A 0316 0348 059A 0062;0061 302A 0316 0348 059A 0062;0061 302A 0316 0348 059A 0062;0061 302A 0316 0348 059A 0062;
+0061 0348 059A 0316 302A 0062;0061 302A 0348 0316 059A 0062;0061 302A 0348 0316 059A 0062;0061 302A 0348 0316 059A 0062;0061 302A 0348 0316 059A 0062;
+0061 059A 0316 302A 0349 0062;0061 302A 0316 0349 059A 0062;0061 302A 0316 0349 059A 0062;0061 302A 0316 0349 059A 0062;0061 302A 0316 0349 059A 0062;
+0061 0349 059A 0316 302A 0062;0061 302A 0349 0316 059A 0062;0061 302A 0349 0316 059A 0062;0061 302A 0349 0316 059A 0062;0061 302A 0349 0316 059A 0062;
+0061 0315 0300 05AE 034A 0062;00E0 05AE 034A 0315 0062;0061 05AE 0300 034A 0315 0062;00E0 05AE 034A 0315 0062;0061 05AE 0300 034A 0315 0062;
+0061 034A 0315 0300 05AE 0062;0061 05AE 034A 0300 0315 0062;0061 05AE 034A 0300 0315 0062;0061 05AE 034A 0300 0315 0062;0061 05AE 034A 0300 0315 0062;
+0061 0315 0300 05AE 034B 0062;00E0 05AE 034B 0315 0062;0061 05AE 0300 034B 0315 0062;00E0 05AE 034B 0315 0062;0061 05AE 0300 034B 0315 0062;
+0061 034B 0315 0300 05AE 0062;0061 05AE 034B 0300 0315 0062;0061 05AE 034B 0300 0315 0062;0061 05AE 034B 0300 0315 0062;0061 05AE 034B 0300 0315 0062;
+0061 0315 0300 05AE 034C 0062;00E0 05AE 034C 0315 0062;0061 05AE 0300 034C 0315 0062;00E0 05AE 034C 0315 0062;0061 05AE 0300 034C 0315 0062;
+0061 034C 0315 0300 05AE 0062;0061 05AE 034C 0300 0315 0062;0061 05AE 034C 0300 0315 0062;0061 05AE 034C 0300 0315 0062;0061 05AE 034C 0300 0315 0062;
+0061 059A 0316 302A 034D 0062;0061 302A 0316 034D 059A 0062;0061 302A 0316 034D 059A 0062;0061 302A 0316 034D 059A 0062;0061 302A 0316 034D 059A 0062;
+0061 034D 059A 0316 302A 0062;0061 302A 034D 0316 059A 0062;0061 302A 034D 0316 059A 0062;0061 302A 034D 0316 059A 0062;0061 302A 034D 0316 059A 0062;
+0061 059A 0316 302A 034E 0062;0061 302A 0316 034E 059A 0062;0061 302A 0316 034E 059A 0062;0061 302A 0316 034E 059A 0062;0061 302A 0316 034E 059A 0062;
+0061 034E 059A 0316 302A 0062;0061 302A 034E 0316 059A 0062;0061 302A 034E 0316 059A 0062;0061 302A 034E 0316 059A 0062;0061 302A 034E 0316 059A 0062;
+0061 0315 0300 05AE 0350 0062;00E0 05AE 0350 0315 0062;0061 05AE 0300 0350 0315 0062;00E0 05AE 0350 0315 0062;0061 05AE 0300 0350 0315 0062;
+0061 0350 0315 0300 05AE 0062;0061 05AE 0350 0300 0315 0062;0061 05AE 0350 0300 0315 0062;0061 05AE 0350 0300 0315 0062;0061 05AE 0350 0300 0315 0062;
+0061 0315 0300 05AE 0351 0062;00E0 05AE 0351 0315 0062;0061 05AE 0300 0351 0315 0062;00E0 05AE 0351 0315 0062;0061 05AE 0300 0351 0315 0062;
+0061 0351 0315 0300 05AE 0062;0061 05AE 0351 0300 0315 0062;0061 05AE 0351 0300 0315 0062;0061 05AE 0351 0300 0315 0062;0061 05AE 0351 0300 0315 0062;
+0061 0315 0300 05AE 0352 0062;00E0 05AE 0352 0315 0062;0061 05AE 0300 0352 0315 0062;00E0 05AE 0352 0315 0062;0061 05AE 0300 0352 0315 0062;
+0061 0352 0315 0300 05AE 0062;0061 05AE 0352 0300 0315 0062;0061 05AE 0352 0300 0315 0062;0061 05AE 0352 0300 0315 0062;0061 05AE 0352 0300 0315 0062;
+0061 059A 0316 302A 0353 0062;0061 302A 0316 0353 059A 0062;0061 302A 0316 0353 059A 0062;0061 302A 0316 0353 059A 0062;0061 302A 0316 0353 059A 0062;
+0061 0353 059A 0316 302A 0062;0061 302A 0353 0316 059A 0062;0061 302A 0353 0316 059A 0062;0061 302A 0353 0316 059A 0062;0061 302A 0353 0316 059A 0062;
+0061 059A 0316 302A 0354 0062;0061 302A 0316 0354 059A 0062;0061 302A 0316 0354 059A 0062;0061 302A 0316 0354 059A 0062;0061 302A 0316 0354 059A 0062;
+0061 0354 059A 0316 302A 0062;0061 302A 0354 0316 059A 0062;0061 302A 0354 0316 059A 0062;0061 302A 0354 0316 059A 0062;0061 302A 0354 0316 059A 0062;
+0061 059A 0316 302A 0355 0062;0061 302A 0316 0355 059A 0062;0061 302A 0316 0355 059A 0062;0061 302A 0316 0355 059A 0062;0061 302A 0316 0355 059A 0062;
+0061 0355 059A 0316 302A 0062;0061 302A 0355 0316 059A 0062;0061 302A 0355 0316 059A 0062;0061 302A 0355 0316 059A 0062;0061 302A 0355 0316 059A 0062;
+0061 059A 0316 302A 0356 0062;0061 302A 0316 0356 059A 0062;0061 302A 0316 0356 059A 0062;0061 302A 0316 0356 059A 0062;0061 302A 0316 0356 059A 0062;
+0061 0356 059A 0316 302A 0062;0061 302A 0356 0316 059A 0062;0061 302A 0356 0316 059A 0062;0061 302A 0356 0316 059A 0062;0061 302A 0356 0316 059A 0062;
+0061 0315 0300 05AE 0357 0062;00E0 05AE 0357 0315 0062;0061 05AE 0300 0357 0315 0062;00E0 05AE 0357 0315 0062;0061 05AE 0300 0357 0315 0062;
+0061 0357 0315 0300 05AE 0062;0061 05AE 0357 0300 0315 0062;0061 05AE 0357 0300 0315 0062;0061 05AE 0357 0300 0315 0062;0061 05AE 0357 0300 0315 0062;
+0061 035C 0315 0300 0358 0062;00E0 0315 0358 035C 0062;0061 0300 0315 0358 035C 0062;00E0 0315 0358 035C 0062;0061 0300 0315 0358 035C 0062;
+0061 0358 035C 0315 0300 0062;00E0 0358 0315 035C 0062;0061 0300 0358 0315 035C 0062;00E0 0358 0315 035C 0062;0061 0300 0358 0315 035C 0062;
+0061 059A 0316 302A 0359 0062;0061 302A 0316 0359 059A 0062;0061 302A 0316 0359 059A 0062;0061 302A 0316 0359 059A 0062;0061 302A 0316 0359 059A 0062;
+0061 0359 059A 0316 302A 0062;0061 302A 0359 0316 059A 0062;0061 302A 0359 0316 059A 0062;0061 302A 0359 0316 059A 0062;0061 302A 0359 0316 059A 0062;
+0061 059A 0316 302A 035A 0062;0061 302A 0316 035A 059A 0062;0061 302A 0316 035A 059A 0062;0061 302A 0316 035A 059A 0062;0061 302A 0316 035A 059A 0062;
+0061 035A 059A 0316 302A 0062;0061 302A 035A 0316 059A 0062;0061 302A 035A 0316 059A 0062;0061 302A 035A 0316 059A 0062;0061 302A 035A 0316 059A 0062;
+0061 0315 0300 05AE 035B 0062;00E0 05AE 035B 0315 0062;0061 05AE 0300 035B 0315 0062;00E0 05AE 035B 0315 0062;0061 05AE 0300 035B 0315 0062;
+0061 035B 0315 0300 05AE 0062;0061 05AE 035B 0300 0315 0062;0061 05AE 035B 0300 0315 0062;0061 05AE 035B 0300 0315 0062;0061 05AE 035B 0300 0315 0062;
+0061 035D 035C 0315 035C 0062;0061 0315 035C 035C 035D 0062;0061 0315 035C 035C 035D 0062;0061 0315 035C 035C 035D 0062;0061 0315 035C 035C 035D 0062;
+0061 035C 035D 035C 0315 0062;0061 0315 035C 035C 035D 0062;0061 0315 035C 035C 035D 0062;0061 0315 035C 035C 035D 0062;0061 0315 035C 035C 035D 0062;
+0061 0345 035D 035C 035D 0062;0061 035C 035D 035D 0345 0062;0061 035C 035D 035D 0345 0062;0061 035C 035D 035D 0345 0062;0061 035C 035D 035D 0345 0062;
+0061 035D 0345 035D 035C 0062;0061 035C 035D 035D 0345 0062;0061 035C 035D 035D 0345 0062;0061 035C 035D 035D 0345 0062;0061 035C 035D 035D 0345 0062;
+0061 0345 035D 035C 035E 0062;0061 035C 035D 035E 0345 0062;0061 035C 035D 035E 0345 0062;0061 035C 035D 035E 0345 0062;0061 035C 035D 035E 0345 0062;
+0061 035E 0345 035D 035C 0062;0061 035C 035E 035D 0345 0062;0061 035C 035E 035D 0345 0062;0061 035C 035E 035D 0345 0062;0061 035C 035E 035D 0345 0062;
+0061 035D 035C 0315 035F 0062;0061 0315 035C 035F 035D 0062;0061 0315 035C 035F 035D 0062;0061 0315 035C 035F 035D 0062;0061 0315 035C 035F 035D 0062;
+0061 035F 035D 035C 0315 0062;0061 0315 035F 035C 035D 0062;0061 0315 035F 035C 035D 0062;0061 0315 035F 035C 035D 0062;0061 0315 035F 035C 035D 0062;
+0061 0345 035D 035C 0360 0062;0061 035C 035D 0360 0345 0062;0061 035C 035D 0360 0345 0062;0061 035C 035D 0360 0345 0062;0061 035C 035D 0360 0345 0062;
+0061 0360 0345 035D 035C 0062;0061 035C 0360 035D 0345 0062;0061 035C 0360 035D 0345 0062;0061 035C 0360 035D 0345 0062;0061 035C 0360 035D 0345 0062;
+0061 0345 035D 035C 0361 0062;0061 035C 035D 0361 0345 0062;0061 035C 035D 0361 0345 0062;0061 035C 035D 0361 0345 0062;0061 035C 035D 0361 0345 0062;
+0061 0361 0345 035D 035C 0062;0061 035C 0361 035D 0345 0062;0061 035C 0361 035D 0345 0062;0061 035C 0361 035D 0345 0062;0061 035C 0361 035D 0345 0062;
+0061 035D 035C 0315 0362 0062;0061 0315 035C 0362 035D 0062;0061 0315 035C 0362 035D 0062;0061 0315 035C 0362 035D 0062;0061 0315 035C 0362 035D 0062;
+0061 0362 035D 035C 0315 0062;0061 0315 0362 035C 035D 0062;0061 0315 0362 035C 035D 0062;0061 0315 0362 035C 035D 0062;0061 0315 0362 035C 035D 0062;
+0061 0315 0300 05AE 0363 0062;00E0 05AE 0363 0315 0062;0061 05AE 0300 0363 0315 0062;00E0 05AE 0363 0315 0062;0061 05AE 0300 0363 0315 0062;
+0061 0363 0315 0300 05AE 0062;0061 05AE 0363 0300 0315 0062;0061 05AE 0363 0300 0315 0062;0061 05AE 0363 0300 0315 0062;0061 05AE 0363 0300 0315 0062;
+0061 0315 0300 05AE 0364 0062;00E0 05AE 0364 0315 0062;0061 05AE 0300 0364 0315 0062;00E0 05AE 0364 0315 0062;0061 05AE 0300 0364 0315 0062;
+0061 0364 0315 0300 05AE 0062;0061 05AE 0364 0300 0315 0062;0061 05AE 0364 0300 0315 0062;0061 05AE 0364 0300 0315 0062;0061 05AE 0364 0300 0315 0062;
+0061 0315 0300 05AE 0365 0062;00E0 05AE 0365 0315 0062;0061 05AE 0300 0365 0315 0062;00E0 05AE 0365 0315 0062;0061 05AE 0300 0365 0315 0062;
+0061 0365 0315 0300 05AE 0062;0061 05AE 0365 0300 0315 0062;0061 05AE 0365 0300 0315 0062;0061 05AE 0365 0300 0315 0062;0061 05AE 0365 0300 0315 0062;
+0061 0315 0300 05AE 0366 0062;00E0 05AE 0366 0315 0062;0061 05AE 0300 0366 0315 0062;00E0 05AE 0366 0315 0062;0061 05AE 0300 0366 0315 0062;
+0061 0366 0315 0300 05AE 0062;0061 05AE 0366 0300 0315 0062;0061 05AE 0366 0300 0315 0062;0061 05AE 0366 0300 0315 0062;0061 05AE 0366 0300 0315 0062;
+0061 0315 0300 05AE 0367 0062;00E0 05AE 0367 0315 0062;0061 05AE 0300 0367 0315 0062;00E0 05AE 0367 0315 0062;0061 05AE 0300 0367 0315 0062;
+0061 0367 0315 0300 05AE 0062;0061 05AE 0367 0300 0315 0062;0061 05AE 0367 0300 0315 0062;0061 05AE 0367 0300 0315 0062;0061 05AE 0367 0300 0315 0062;
+0061 0315 0300 05AE 0368 0062;00E0 05AE 0368 0315 0062;0061 05AE 0300 0368 0315 0062;00E0 05AE 0368 0315 0062;0061 05AE 0300 0368 0315 0062;
+0061 0368 0315 0300 05AE 0062;0061 05AE 0368 0300 0315 0062;0061 05AE 0368 0300 0315 0062;0061 05AE 0368 0300 0315 0062;0061 05AE 0368 0300 0315 0062;
+0061 0315 0300 05AE 0369 0062;00E0 05AE 0369 0315 0062;0061 05AE 0300 0369 0315 0062;00E0 05AE 0369 0315 0062;0061 05AE 0300 0369 0315 0062;
+0061 0369 0315 0300 05AE 0062;0061 05AE 0369 0300 0315 0062;0061 05AE 0369 0300 0315 0062;0061 05AE 0369 0300 0315 0062;0061 05AE 0369 0300 0315 0062;
+0061 0315 0300 05AE 036A 0062;00E0 05AE 036A 0315 0062;0061 05AE 0300 036A 0315 0062;00E0 05AE 036A 0315 0062;0061 05AE 0300 036A 0315 0062;
+0061 036A 0315 0300 05AE 0062;0061 05AE 036A 0300 0315 0062;0061 05AE 036A 0300 0315 0062;0061 05AE 036A 0300 0315 0062;0061 05AE 036A 0300 0315 0062;
+0061 0315 0300 05AE 036B 0062;00E0 05AE 036B 0315 0062;0061 05AE 0300 036B 0315 0062;00E0 05AE 036B 0315 0062;0061 05AE 0300 036B 0315 0062;
+0061 036B 0315 0300 05AE 0062;0061 05AE 036B 0300 0315 0062;0061 05AE 036B 0300 0315 0062;0061 05AE 036B 0300 0315 0062;0061 05AE 036B 0300 0315 0062;
+0061 0315 0300 05AE 036C 0062;00E0 05AE 036C 0315 0062;0061 05AE 0300 036C 0315 0062;00E0 05AE 036C 0315 0062;0061 05AE 0300 036C 0315 0062;
+0061 036C 0315 0300 05AE 0062;0061 05AE 036C 0300 0315 0062;0061 05AE 036C 0300 0315 0062;0061 05AE 036C 0300 0315 0062;0061 05AE 036C 0300 0315 0062;
+0061 0315 0300 05AE 036D 0062;00E0 05AE 036D 0315 0062;0061 05AE 0300 036D 0315 0062;00E0 05AE 036D 0315 0062;0061 05AE 0300 036D 0315 0062;
+0061 036D 0315 0300 05AE 0062;0061 05AE 036D 0300 0315 0062;0061 05AE 036D 0300 0315 0062;0061 05AE 036D 0300 0315 0062;0061 05AE 036D 0300 0315 0062;
+0061 0315 0300 05AE 036E 0062;00E0 05AE 036E 0315 0062;0061 05AE 0300 036E 0315 0062;00E0 05AE 036E 0315 0062;0061 05AE 0300 036E 0315 0062;
+0061 036E 0315 0300 05AE 0062;0061 05AE 036E 0300 0315 0062;0061 05AE 036E 0300 0315 0062;0061 05AE 036E 0300 0315 0062;0061 05AE 036E 0300 0315 0062;
+0061 0315 0300 05AE 036F 0062;00E0 05AE 036F 0315 0062;0061 05AE 0300 036F 0315 0062;00E0 05AE 036F 0315 0062;0061 05AE 0300 036F 0315 0062;
+0061 036F 0315 0300 05AE 0062;0061 05AE 036F 0300 0315 0062;0061 05AE 036F 0300 0315 0062;0061 05AE 036F 0300 0315 0062;0061 05AE 036F 0300 0315 0062;
+0061 0315 0300 05AE 0483 0062;00E0 05AE 0483 0315 0062;0061 05AE 0300 0483 0315 0062;00E0 05AE 0483 0315 0062;0061 05AE 0300 0483 0315 0062;
+0061 0483 0315 0300 05AE 0062;0061 05AE 0483 0300 0315 0062;0061 05AE 0483 0300 0315 0062;0061 05AE 0483 0300 0315 0062;0061 05AE 0483 0300 0315 0062;
+0061 0315 0300 05AE 0484 0062;00E0 05AE 0484 0315 0062;0061 05AE 0300 0484 0315 0062;00E0 05AE 0484 0315 0062;0061 05AE 0300 0484 0315 0062;
+0061 0484 0315 0300 05AE 0062;0061 05AE 0484 0300 0315 0062;0061 05AE 0484 0300 0315 0062;0061 05AE 0484 0300 0315 0062;0061 05AE 0484 0300 0315 0062;
+0061 0315 0300 05AE 0485 0062;00E0 05AE 0485 0315 0062;0061 05AE 0300 0485 0315 0062;00E0 05AE 0485 0315 0062;0061 05AE 0300 0485 0315 0062;
+0061 0485 0315 0300 05AE 0062;0061 05AE 0485 0300 0315 0062;0061 05AE 0485 0300 0315 0062;0061 05AE 0485 0300 0315 0062;0061 05AE 0485 0300 0315 0062;
+0061 0315 0300 05AE 0486 0062;00E0 05AE 0486 0315 0062;0061 05AE 0300 0486 0315 0062;00E0 05AE 0486 0315 0062;0061 05AE 0300 0486 0315 0062;
+0061 0486 0315 0300 05AE 0062;0061 05AE 0486 0300 0315 0062;0061 05AE 0486 0300 0315 0062;0061 05AE 0486 0300 0315 0062;0061 05AE 0486 0300 0315 0062;
+0061 059A 0316 302A 0591 0062;0061 302A 0316 0591 059A 0062;0061 302A 0316 0591 059A 0062;0061 302A 0316 0591 059A 0062;0061 302A 0316 0591 059A 0062;
+0061 0591 059A 0316 302A 0062;0061 302A 0591 0316 059A 0062;0061 302A 0591 0316 059A 0062;0061 302A 0591 0316 059A 0062;0061 302A 0591 0316 059A 0062;
+0061 0315 0300 05AE 0592 0062;00E0 05AE 0592 0315 0062;0061 05AE 0300 0592 0315 0062;00E0 05AE 0592 0315 0062;0061 05AE 0300 0592 0315 0062;
+0061 0592 0315 0300 05AE 0062;0061 05AE 0592 0300 0315 0062;0061 05AE 0592 0300 0315 0062;0061 05AE 0592 0300 0315 0062;0061 05AE 0592 0300 0315 0062;
+0061 0315 0300 05AE 0593 0062;00E0 05AE 0593 0315 0062;0061 05AE 0300 0593 0315 0062;00E0 05AE 0593 0315 0062;0061 05AE 0300 0593 0315 0062;
+0061 0593 0315 0300 05AE 0062;0061 05AE 0593 0300 0315 0062;0061 05AE 0593 0300 0315 0062;0061 05AE 0593 0300 0315 0062;0061 05AE 0593 0300 0315 0062;
+0061 0315 0300 05AE 0594 0062;00E0 05AE 0594 0315 0062;0061 05AE 0300 0594 0315 0062;00E0 05AE 0594 0315 0062;0061 05AE 0300 0594 0315 0062;
+0061 0594 0315 0300 05AE 0062;0061 05AE 0594 0300 0315 0062;0061 05AE 0594 0300 0315 0062;0061 05AE 0594 0300 0315 0062;0061 05AE 0594 0300 0315 0062;
+0061 0315 0300 05AE 0595 0062;00E0 05AE 0595 0315 0062;0061 05AE 0300 0595 0315 0062;00E0 05AE 0595 0315 0062;0061 05AE 0300 0595 0315 0062;
+0061 0595 0315 0300 05AE 0062;0061 05AE 0595 0300 0315 0062;0061 05AE 0595 0300 0315 0062;0061 05AE 0595 0300 0315 0062;0061 05AE 0595 0300 0315 0062;
+0061 059A 0316 302A 0596 0062;0061 302A 0316 0596 059A 0062;0061 302A 0316 0596 059A 0062;0061 302A 0316 0596 059A 0062;0061 302A 0316 0596 059A 0062;
+0061 0596 059A 0316 302A 0062;0061 302A 0596 0316 059A 0062;0061 302A 0596 0316 059A 0062;0061 302A 0596 0316 059A 0062;0061 302A 0596 0316 059A 0062;
+0061 0315 0300 05AE 0597 0062;00E0 05AE 0597 0315 0062;0061 05AE 0300 0597 0315 0062;00E0 05AE 0597 0315 0062;0061 05AE 0300 0597 0315 0062;
+0061 0597 0315 0300 05AE 0062;0061 05AE 0597 0300 0315 0062;0061 05AE 0597 0300 0315 0062;0061 05AE 0597 0300 0315 0062;0061 05AE 0597 0300 0315 0062;
+0061 0315 0300 05AE 0598 0062;00E0 05AE 0598 0315 0062;0061 05AE 0300 0598 0315 0062;00E0 05AE 0598 0315 0062;0061 05AE 0300 0598 0315 0062;
+0061 0598 0315 0300 05AE 0062;0061 05AE 0598 0300 0315 0062;0061 05AE 0598 0300 0315 0062;0061 05AE 0598 0300 0315 0062;0061 05AE 0598 0300 0315 0062;
+0061 0315 0300 05AE 0599 0062;00E0 05AE 0599 0315 0062;0061 05AE 0300 0599 0315 0062;00E0 05AE 0599 0315 0062;0061 05AE 0300 0599 0315 0062;
+0061 0599 0315 0300 05AE 0062;0061 05AE 0599 0300 0315 0062;0061 05AE 0599 0300 0315 0062;0061 05AE 0599 0300 0315 0062;0061 05AE 0599 0300 0315 0062;
+0061 302E 059A 0316 059A 0062;0061 0316 059A 059A 302E 0062;0061 0316 059A 059A 302E 0062;0061 0316 059A 059A 302E 0062;0061 0316 059A 059A 302E 0062;
+0061 059A 302E 059A 0316 0062;0061 0316 059A 059A 302E 0062;0061 0316 059A 059A 302E 0062;0061 0316 059A 059A 302E 0062;0061 0316 059A 059A 302E 0062;
+0061 059A 0316 302A 059B 0062;0061 302A 0316 059B 059A 0062;0061 302A 0316 059B 059A 0062;0061 302A 0316 059B 059A 0062;0061 302A 0316 059B 059A 0062;
+0061 059B 059A 0316 302A 0062;0061 302A 059B 0316 059A 0062;0061 302A 059B 0316 059A 0062;0061 302A 059B 0316 059A 0062;0061 302A 059B 0316 059A 0062;
+0061 0315 0300 05AE 059C 0062;00E0 05AE 059C 0315 0062;0061 05AE 0300 059C 0315 0062;00E0 05AE 059C 0315 0062;0061 05AE 0300 059C 0315 0062;
+0061 059C 0315 0300 05AE 0062;0061 05AE 059C 0300 0315 0062;0061 05AE 059C 0300 0315 0062;0061 05AE 059C 0300 0315 0062;0061 05AE 059C 0300 0315 0062;
+0061 0315 0300 05AE 059D 0062;00E0 05AE 059D 0315 0062;0061 05AE 0300 059D 0315 0062;00E0 05AE 059D 0315 0062;0061 05AE 0300 059D 0315 0062;
+0061 059D 0315 0300 05AE 0062;0061 05AE 059D 0300 0315 0062;0061 05AE 059D 0300 0315 0062;0061 05AE 059D 0300 0315 0062;0061 05AE 059D 0300 0315 0062;
+0061 0315 0300 05AE 059E 0062;00E0 05AE 059E 0315 0062;0061 05AE 0300 059E 0315 0062;00E0 05AE 059E 0315 0062;0061 05AE 0300 059E 0315 0062;
+0061 059E 0315 0300 05AE 0062;0061 05AE 059E 0300 0315 0062;0061 05AE 059E 0300 0315 0062;0061 05AE 059E 0300 0315 0062;0061 05AE 059E 0300 0315 0062;
+0061 0315 0300 05AE 059F 0062;00E0 05AE 059F 0315 0062;0061 05AE 0300 059F 0315 0062;00E0 05AE 059F 0315 0062;0061 05AE 0300 059F 0315 0062;
+0061 059F 0315 0300 05AE 0062;0061 05AE 059F 0300 0315 0062;0061 05AE 059F 0300 0315 0062;0061 05AE 059F 0300 0315 0062;0061 05AE 059F 0300 0315 0062;
+0061 0315 0300 05AE 05A0 0062;00E0 05AE 05A0 0315 0062;0061 05AE 0300 05A0 0315 0062;00E0 05AE 05A0 0315 0062;0061 05AE 0300 05A0 0315 0062;
+0061 05A0 0315 0300 05AE 0062;0061 05AE 05A0 0300 0315 0062;0061 05AE 05A0 0300 0315 0062;0061 05AE 05A0 0300 0315 0062;0061 05AE 05A0 0300 0315 0062;
+0061 0315 0300 05AE 05A1 0062;00E0 05AE 05A1 0315 0062;0061 05AE 0300 05A1 0315 0062;00E0 05AE 05A1 0315 0062;0061 05AE 0300 05A1 0315 0062;
+0061 05A1 0315 0300 05AE 0062;0061 05AE 05A1 0300 0315 0062;0061 05AE 05A1 0300 0315 0062;0061 05AE 05A1 0300 0315 0062;0061 05AE 05A1 0300 0315 0062;
+0061 059A 0316 302A 05A2 0062;0061 302A 0316 05A2 059A 0062;0061 302A 0316 05A2 059A 0062;0061 302A 0316 05A2 059A 0062;0061 302A 0316 05A2 059A 0062;
+0061 05A2 059A 0316 302A 0062;0061 302A 05A2 0316 059A 0062;0061 302A 05A2 0316 059A 0062;0061 302A 05A2 0316 059A 0062;0061 302A 05A2 0316 059A 0062;
+0061 059A 0316 302A 05A3 0062;0061 302A 0316 05A3 059A 0062;0061 302A 0316 05A3 059A 0062;0061 302A 0316 05A3 059A 0062;0061 302A 0316 05A3 059A 0062;
+0061 05A3 059A 0316 302A 0062;0061 302A 05A3 0316 059A 0062;0061 302A 05A3 0316 059A 0062;0061 302A 05A3 0316 059A 0062;0061 302A 05A3 0316 059A 0062;
+0061 059A 0316 302A 05A4 0062;0061 302A 0316 05A4 059A 0062;0061 302A 0316 05A4 059A 0062;0061 302A 0316 05A4 059A 0062;0061 302A 0316 05A4 059A 0062;
+0061 05A4 059A 0316 302A 0062;0061 302A 05A4 0316 059A 0062;0061 302A 05A4 0316 059A 0062;0061 302A 05A4 0316 059A 0062;0061 302A 05A4 0316 059A 0062;
+0061 059A 0316 302A 05A5 0062;0061 302A 0316 05A5 059A 0062;0061 302A 0316 05A5 059A 0062;0061 302A 0316 05A5 059A 0062;0061 302A 0316 05A5 059A 0062;
+0061 05A5 059A 0316 302A 0062;0061 302A 05A5 0316 059A 0062;0061 302A 05A5 0316 059A 0062;0061 302A 05A5 0316 059A 0062;0061 302A 05A5 0316 059A 0062;
+0061 059A 0316 302A 05A6 0062;0061 302A 0316 05A6 059A 0062;0061 302A 0316 05A6 059A 0062;0061 302A 0316 05A6 059A 0062;0061 302A 0316 05A6 059A 0062;
+0061 05A6 059A 0316 302A 0062;0061 302A 05A6 0316 059A 0062;0061 302A 05A6 0316 059A 0062;0061 302A 05A6 0316 059A 0062;0061 302A 05A6 0316 059A 0062;
+0061 059A 0316 302A 05A7 0062;0061 302A 0316 05A7 059A 0062;0061 302A 0316 05A7 059A 0062;0061 302A 0316 05A7 059A 0062;0061 302A 0316 05A7 059A 0062;
+0061 05A7 059A 0316 302A 0062;0061 302A 05A7 0316 059A 0062;0061 302A 05A7 0316 059A 0062;0061 302A 05A7 0316 059A 0062;0061 302A 05A7 0316 059A 0062;
+0061 0315 0300 05AE 05A8 0062;00E0 05AE 05A8 0315 0062;0061 05AE 0300 05A8 0315 0062;00E0 05AE 05A8 0315 0062;0061 05AE 0300 05A8 0315 0062;
+0061 05A8 0315 0300 05AE 0062;0061 05AE 05A8 0300 0315 0062;0061 05AE 05A8 0300 0315 0062;0061 05AE 05A8 0300 0315 0062;0061 05AE 05A8 0300 0315 0062;
+0061 0315 0300 05AE 05A9 0062;00E0 05AE 05A9 0315 0062;0061 05AE 0300 05A9 0315 0062;00E0 05AE 05A9 0315 0062;0061 05AE 0300 05A9 0315 0062;
+0061 05A9 0315 0300 05AE 0062;0061 05AE 05A9 0300 0315 0062;0061 05AE 05A9 0300 0315 0062;0061 05AE 05A9 0300 0315 0062;0061 05AE 05A9 0300 0315 0062;
+0061 059A 0316 302A 05AA 0062;0061 302A 0316 05AA 059A 0062;0061 302A 0316 05AA 059A 0062;0061 302A 0316 05AA 059A 0062;0061 302A 0316 05AA 059A 0062;
+0061 05AA 059A 0316 302A 0062;0061 302A 05AA 0316 059A 0062;0061 302A 05AA 0316 059A 0062;0061 302A 05AA 0316 059A 0062;0061 302A 05AA 0316 059A 0062;
+0061 0315 0300 05AE 05AB 0062;00E0 05AE 05AB 0315 0062;0061 05AE 0300 05AB 0315 0062;00E0 05AE 05AB 0315 0062;0061 05AE 0300 05AB 0315 0062;
+0061 05AB 0315 0300 05AE 0062;0061 05AE 05AB 0300 0315 0062;0061 05AE 05AB 0300 0315 0062;0061 05AE 05AB 0300 0315 0062;0061 05AE 05AB 0300 0315 0062;
+0061 0315 0300 05AE 05AC 0062;00E0 05AE 05AC 0315 0062;0061 05AE 0300 05AC 0315 0062;00E0 05AE 05AC 0315 0062;0061 05AE 0300 05AC 0315 0062;
+0061 05AC 0315 0300 05AE 0062;0061 05AE 05AC 0300 0315 0062;0061 05AE 05AC 0300 0315 0062;0061 05AE 05AC 0300 0315 0062;0061 05AE 05AC 0300 0315 0062;
+0061 302E 059A 0316 05AD 0062;0061 0316 059A 05AD 302E 0062;0061 0316 059A 05AD 302E 0062;0061 0316 059A 05AD 302E 0062;0061 0316 059A 05AD 302E 0062;
+0061 05AD 302E 059A 0316 0062;0061 0316 05AD 059A 302E 0062;0061 0316 05AD 059A 302E 0062;0061 0316 05AD 059A 302E 0062;0061 0316 05AD 059A 302E 0062;
+0061 0300 05AE 1D16D 05AE 0062;00E0 1D16D 05AE 05AE 0062;0061 1D16D 05AE 05AE 0300 0062;00E0 1D16D 05AE 05AE 0062;0061 1D16D 05AE 05AE 0300 0062;
+0061 05AE 0300 05AE 1D16D 0062;00E0 1D16D 05AE 05AE 0062;0061 1D16D 05AE 05AE 0300 0062;00E0 1D16D 05AE 05AE 0062;0061 1D16D 05AE 05AE 0300 0062;
+0061 0315 0300 05AE 05AF 0062;00E0 05AE 05AF 0315 0062;0061 05AE 0300 05AF 0315 0062;00E0 05AE 05AF 0315 0062;0061 05AE 0300 05AF 0315 0062;
+0061 05AF 0315 0300 05AE 0062;0061 05AE 05AF 0300 0315 0062;0061 05AE 05AF 0300 0315 0062;0061 05AE 05AF 0300 0315 0062;0061 05AE 05AF 0300 0315 0062;
+0061 05B1 05B0 094D 05B0 0062;0061 094D 05B0 05B0 05B1 0062;0061 094D 05B0 05B0 05B1 0062;0061 094D 05B0 05B0 05B1 0062;0061 094D 05B0 05B0 05B1 0062;
+0061 05B0 05B1 05B0 094D 0062;0061 094D 05B0 05B0 05B1 0062;0061 094D 05B0 05B0 05B1 0062;0061 094D 05B0 05B0 05B1 0062;0061 094D 05B0 05B0 05B1 0062;
+0061 05B2 05B1 05B0 05B1 0062;0061 05B0 05B1 05B1 05B2 0062;0061 05B0 05B1 05B1 05B2 0062;0061 05B0 05B1 05B1 05B2 0062;0061 05B0 05B1 05B1 05B2 0062;
+0061 05B1 05B2 05B1 05B0 0062;0061 05B0 05B1 05B1 05B2 0062;0061 05B0 05B1 05B1 05B2 0062;0061 05B0 05B1 05B1 05B2 0062;0061 05B0 05B1 05B1 05B2 0062;
+0061 05B3 05B2 05B1 05B2 0062;0061 05B1 05B2 05B2 05B3 0062;0061 05B1 05B2 05B2 05B3 0062;0061 05B1 05B2 05B2 05B3 0062;0061 05B1 05B2 05B2 05B3 0062;
+0061 05B2 05B3 05B2 05B1 0062;0061 05B1 05B2 05B2 05B3 0062;0061 05B1 05B2 05B2 05B3 0062;0061 05B1 05B2 05B2 05B3 0062;0061 05B1 05B2 05B2 05B3 0062;
+0061 05B4 05B3 05B2 05B3 0062;0061 05B2 05B3 05B3 05B4 0062;0061 05B2 05B3 05B3 05B4 0062;0061 05B2 05B3 05B3 05B4 0062;0061 05B2 05B3 05B3 05B4 0062;
+0061 05B3 05B4 05B3 05B2 0062;0061 05B2 05B3 05B3 05B4 0062;0061 05B2 05B3 05B3 05B4 0062;0061 05B2 05B3 05B3 05B4 0062;0061 05B2 05B3 05B3 05B4 0062;
+0061 05B5 05B4 05B3 05B4 0062;0061 05B3 05B4 05B4 05B5 0062;0061 05B3 05B4 05B4 05B5 0062;0061 05B3 05B4 05B4 05B5 0062;0061 05B3 05B4 05B4 05B5 0062;
+0061 05B4 05B5 05B4 05B3 0062;0061 05B3 05B4 05B4 05B5 0062;0061 05B3 05B4 05B4 05B5 0062;0061 05B3 05B4 05B4 05B5 0062;0061 05B3 05B4 05B4 05B5 0062;
+0061 05B6 05B5 05B4 05B5 0062;0061 05B4 05B5 05B5 05B6 0062;0061 05B4 05B5 05B5 05B6 0062;0061 05B4 05B5 05B5 05B6 0062;0061 05B4 05B5 05B5 05B6 0062;
+0061 05B5 05B6 05B5 05B4 0062;0061 05B4 05B5 05B5 05B6 0062;0061 05B4 05B5 05B5 05B6 0062;0061 05B4 05B5 05B5 05B6 0062;0061 05B4 05B5 05B5 05B6 0062;
+0061 05B7 05B6 05B5 05B6 0062;0061 05B5 05B6 05B6 05B7 0062;0061 05B5 05B6 05B6 05B7 0062;0061 05B5 05B6 05B6 05B7 0062;0061 05B5 05B6 05B6 05B7 0062;
+0061 05B6 05B7 05B6 05B5 0062;0061 05B5 05B6 05B6 05B7 0062;0061 05B5 05B6 05B6 05B7 0062;0061 05B5 05B6 05B6 05B7 0062;0061 05B5 05B6 05B6 05B7 0062;
+0061 05B8 05B7 05B6 05B7 0062;0061 05B6 05B7 05B7 05B8 0062;0061 05B6 05B7 05B7 05B8 0062;0061 05B6 05B7 05B7 05B8 0062;0061 05B6 05B7 05B7 05B8 0062;
+0061 05B7 05B8 05B7 05B6 0062;0061 05B6 05B7 05B7 05B8 0062;0061 05B6 05B7 05B7 05B8 0062;0061 05B6 05B7 05B7 05B8 0062;0061 05B6 05B7 05B7 05B8 0062;
+0061 05B9 05B8 05B7 05B8 0062;0061 05B7 05B8 05B8 05B9 0062;0061 05B7 05B8 05B8 05B9 0062;0061 05B7 05B8 05B8 05B9 0062;0061 05B7 05B8 05B8 05B9 0062;
+0061 05B8 05B9 05B8 05B7 0062;0061 05B7 05B8 05B8 05B9 0062;0061 05B7 05B8 05B8 05B9 0062;0061 05B7 05B8 05B8 05B9 0062;0061 05B7 05B8 05B8 05B9 0062;
+0061 05BB 05B9 05B8 05B9 0062;0061 05B8 05B9 05B9 05BB 0062;0061 05B8 05B9 05B9 05BB 0062;0061 05B8 05B9 05B9 05BB 0062;0061 05B8 05B9 05B9 05BB 0062;
+0061 05B9 05BB 05B9 05B8 0062;0061 05B8 05B9 05B9 05BB 0062;0061 05B8 05B9 05B9 05BB 0062;0061 05B8 05B9 05B9 05BB 0062;0061 05B8 05B9 05B9 05BB 0062;
+0061 05BC 05BB 05B9 05BB 0062;0061 05B9 05BB 05BB 05BC 0062;0061 05B9 05BB 05BB 05BC 0062;0061 05B9 05BB 05BB 05BC 0062;0061 05B9 05BB 05BB 05BC 0062;
+0061 05BB 05BC 05BB 05B9 0062;0061 05B9 05BB 05BB 05BC 0062;0061 05B9 05BB 05BB 05BC 0062;0061 05B9 05BB 05BB 05BC 0062;0061 05B9 05BB 05BB 05BC 0062;
+0061 05BD 05BC 05BB 05BC 0062;0061 05BB 05BC 05BC 05BD 0062;0061 05BB 05BC 05BC 05BD 0062;0061 05BB 05BC 05BC 05BD 0062;0061 05BB 05BC 05BC 05BD 0062;
+0061 05BC 05BD 05BC 05BB 0062;0061 05BB 05BC 05BC 05BD 0062;0061 05BB 05BC 05BC 05BD 0062;0061 05BB 05BC 05BC 05BD 0062;0061 05BB 05BC 05BC 05BD 0062;
+0061 05BF 05BD 05BC 05BD 0062;0061 05BC 05BD 05BD 05BF 0062;0061 05BC 05BD 05BD 05BF 0062;0061 05BC 05BD 05BD 05BF 0062;0061 05BC 05BD 05BD 05BF 0062;
+0061 05BD 05BF 05BD 05BC 0062;0061 05BC 05BD 05BD 05BF 0062;0061 05BC 05BD 05BD 05BF 0062;0061 05BC 05BD 05BD 05BF 0062;0061 05BC 05BD 05BD 05BF 0062;
+0061 05C1 05BF 05BD 05BF 0062;0061 05BD 05BF 05BF 05C1 0062;0061 05BD 05BF 05BF 05C1 0062;0061 05BD 05BF 05BF 05C1 0062;0061 05BD 05BF 05BF 05C1 0062;
+0061 05BF 05C1 05BF 05BD 0062;0061 05BD 05BF 05BF 05C1 0062;0061 05BD 05BF 05BF 05C1 0062;0061 05BD 05BF 05BF 05C1 0062;0061 05BD 05BF 05BF 05C1 0062;
+0061 05C2 05C1 05BF 05C1 0062;0061 05BF 05C1 05C1 05C2 0062;0061 05BF 05C1 05C1 05C2 0062;0061 05BF 05C1 05C1 05C2 0062;0061 05BF 05C1 05C1 05C2 0062;
+0061 05C1 05C2 05C1 05BF 0062;0061 05BF 05C1 05C1 05C2 0062;0061 05BF 05C1 05C1 05C2 0062;0061 05BF 05C1 05C1 05C2 0062;0061 05BF 05C1 05C1 05C2 0062;
+0061 FB1E 05C2 05C1 05C2 0062;0061 05C1 05C2 05C2 FB1E 0062;0061 05C1 05C2 05C2 FB1E 0062;0061 05C1 05C2 05C2 FB1E 0062;0061 05C1 05C2 05C2 FB1E 0062;
+0061 05C2 FB1E 05C2 05C1 0062;0061 05C1 05C2 05C2 FB1E 0062;0061 05C1 05C2 05C2 FB1E 0062;0061 05C1 05C2 05C2 FB1E 0062;0061 05C1 05C2 05C2 FB1E 0062;
+0061 0315 0300 05AE 05C4 0062;00E0 05AE 05C4 0315 0062;0061 05AE 0300 05C4 0315 0062;00E0 05AE 05C4 0315 0062;0061 05AE 0300 05C4 0315 0062;
+0061 05C4 0315 0300 05AE 0062;0061 05AE 05C4 0300 0315 0062;0061 05AE 05C4 0300 0315 0062;0061 05AE 05C4 0300 0315 0062;0061 05AE 05C4 0300 0315 0062;
+0061 059A 0316 302A 05C5 0062;0061 302A 0316 05C5 059A 0062;0061 302A 0316 05C5 059A 0062;0061 302A 0316 05C5 059A 0062;0061 302A 0316 05C5 059A 0062;
+0061 05C5 059A 0316 302A 0062;0061 302A 05C5 0316 059A 0062;0061 302A 05C5 0316 059A 0062;0061 302A 05C5 0316 059A 0062;0061 302A 05C5 0316 059A 0062;
+0061 05B9 05B8 05B7 05C7 0062;0061 05B7 05B8 05C7 05B9 0062;0061 05B7 05B8 05C7 05B9 0062;0061 05B7 05B8 05C7 05B9 0062;0061 05B7 05B8 05C7 05B9 0062;
+0061 05C7 05B9 05B8 05B7 0062;0061 05B7 05C7 05B8 05B9 0062;0061 05B7 05C7 05B8 05B9 0062;0061 05B7 05C7 05B8 05B9 0062;0061 05B7 05C7 05B8 05B9 0062;
+0061 0315 0300 05AE 0610 0062;00E0 05AE 0610 0315 0062;0061 05AE 0300 0610 0315 0062;00E0 05AE 0610 0315 0062;0061 05AE 0300 0610 0315 0062;
+0061 0610 0315 0300 05AE 0062;0061 05AE 0610 0300 0315 0062;0061 05AE 0610 0300 0315 0062;0061 05AE 0610 0300 0315 0062;0061 05AE 0610 0300 0315 0062;
+0061 0315 0300 05AE 0611 0062;00E0 05AE 0611 0315 0062;0061 05AE 0300 0611 0315 0062;00E0 05AE 0611 0315 0062;0061 05AE 0300 0611 0315 0062;
+0061 0611 0315 0300 05AE 0062;0061 05AE 0611 0300 0315 0062;0061 05AE 0611 0300 0315 0062;0061 05AE 0611 0300 0315 0062;0061 05AE 0611 0300 0315 0062;
+0061 0315 0300 05AE 0612 0062;00E0 05AE 0612 0315 0062;0061 05AE 0300 0612 0315 0062;00E0 05AE 0612 0315 0062;0061 05AE 0300 0612 0315 0062;
+0061 0612 0315 0300 05AE 0062;0061 05AE 0612 0300 0315 0062;0061 05AE 0612 0300 0315 0062;0061 05AE 0612 0300 0315 0062;0061 05AE 0612 0300 0315 0062;
+0061 0315 0300 05AE 0613 0062;00E0 05AE 0613 0315 0062;0061 05AE 0300 0613 0315 0062;00E0 05AE 0613 0315 0062;0061 05AE 0300 0613 0315 0062;
+0061 0613 0315 0300 05AE 0062;0061 05AE 0613 0300 0315 0062;0061 05AE 0613 0300 0315 0062;0061 05AE 0613 0300 0315 0062;0061 05AE 0613 0300 0315 0062;
+0061 0315 0300 05AE 0614 0062;00E0 05AE 0614 0315 0062;0061 05AE 0300 0614 0315 0062;00E0 05AE 0614 0315 0062;0061 05AE 0300 0614 0315 0062;
+0061 0614 0315 0300 05AE 0062;0061 05AE 0614 0300 0315 0062;0061 05AE 0614 0300 0315 0062;0061 05AE 0614 0300 0315 0062;0061 05AE 0614 0300 0315 0062;
+0061 0315 0300 05AE 0615 0062;00E0 05AE 0615 0315 0062;0061 05AE 0300 0615 0315 0062;00E0 05AE 0615 0315 0062;0061 05AE 0300 0615 0315 0062;
+0061 0615 0315 0300 05AE 0062;0061 05AE 0615 0300 0315 0062;0061 05AE 0615 0300 0315 0062;0061 05AE 0615 0300 0315 0062;0061 05AE 0615 0300 0315 0062;
+0061 064C 064B FB1E 064B 0062;0061 FB1E 064B 064B 064C 0062;0061 FB1E 064B 064B 064C 0062;0061 FB1E 064B 064B 064C 0062;0061 FB1E 064B 064B 064C 0062;
+0061 064B 064C 064B FB1E 0062;0061 FB1E 064B 064B 064C 0062;0061 FB1E 064B 064B 064C 0062;0061 FB1E 064B 064B 064C 0062;0061 FB1E 064B 064B 064C 0062;
+0061 064D 064C 064B 064C 0062;0061 064B 064C 064C 064D 0062;0061 064B 064C 064C 064D 0062;0061 064B 064C 064C 064D 0062;0061 064B 064C 064C 064D 0062;
+0061 064C 064D 064C 064B 0062;0061 064B 064C 064C 064D 0062;0061 064B 064C 064C 064D 0062;0061 064B 064C 064C 064D 0062;0061 064B 064C 064C 064D 0062;
+0061 064E 064D 064C 064D 0062;0061 064C 064D 064D 064E 0062;0061 064C 064D 064D 064E 0062;0061 064C 064D 064D 064E 0062;0061 064C 064D 064D 064E 0062;
+0061 064D 064E 064D 064C 0062;0061 064C 064D 064D 064E 0062;0061 064C 064D 064D 064E 0062;0061 064C 064D 064D 064E 0062;0061 064C 064D 064D 064E 0062;
+0061 064F 064E 064D 064E 0062;0061 064D 064E 064E 064F 0062;0061 064D 064E 064E 064F 0062;0061 064D 064E 064E 064F 0062;0061 064D 064E 064E 064F 0062;
+0061 064E 064F 064E 064D 0062;0061 064D 064E 064E 064F 0062;0061 064D 064E 064E 064F 0062;0061 064D 064E 064E 064F 0062;0061 064D 064E 064E 064F 0062;
+0061 0650 064F 064E 064F 0062;0061 064E 064F 064F 0650 0062;0061 064E 064F 064F 0650 0062;0061 064E 064F 064F 0650 0062;0061 064E 064F 064F 0650 0062;
+0061 064F 0650 064F 064E 0062;0061 064E 064F 064F 0650 0062;0061 064E 064F 064F 0650 0062;0061 064E 064F 064F 0650 0062;0061 064E 064F 064F 0650 0062;
+0061 0651 0650 064F 0650 0062;0061 064F 0650 0650 0651 0062;0061 064F 0650 0650 0651 0062;0061 064F 0650 0650 0651 0062;0061 064F 0650 0650 0651 0062;
+0061 0650 0651 0650 064F 0062;0061 064F 0650 0650 0651 0062;0061 064F 0650 0650 0651 0062;0061 064F 0650 0650 0651 0062;0061 064F 0650 0650 0651 0062;
+0061 0652 0651 0650 0651 0062;0061 0650 0651 0651 0652 0062;0061 0650 0651 0651 0652 0062;0061 0650 0651 0651 0652 0062;0061 0650 0651 0651 0652 0062;
+0061 0651 0652 0651 0650 0062;0061 0650 0651 0651 0652 0062;0061 0650 0651 0651 0652 0062;0061 0650 0651 0651 0652 0062;0061 0650 0651 0651 0652 0062;
+0061 0670 0652 0651 0652 0062;0061 0651 0652 0652 0670 0062;0061 0651 0652 0652 0670 0062;0061 0651 0652 0652 0670 0062;0061 0651 0652 0652 0670 0062;
+0061 0652 0670 0652 0651 0062;0061 0651 0652 0652 0670 0062;0061 0651 0652 0652 0670 0062;0061 0651 0652 0652 0670 0062;0061 0651 0652 0652 0670 0062;
+0061 0315 0300 05AE 0653 0062;00E0 05AE 0653 0315 0062;0061 05AE 0300 0653 0315 0062;00E0 05AE 0653 0315 0062;0061 05AE 0300 0653 0315 0062;
+0061 0653 0315 0300 05AE 0062;0061 05AE 0653 0300 0315 0062;0061 05AE 0653 0300 0315 0062;0061 05AE 0653 0300 0315 0062;0061 05AE 0653 0300 0315 0062;
+0061 0315 0300 05AE 0654 0062;00E0 05AE 0654 0315 0062;0061 05AE 0300 0654 0315 0062;00E0 05AE 0654 0315 0062;0061 05AE 0300 0654 0315 0062;
+0061 0654 0315 0300 05AE 0062;0061 05AE 0654 0300 0315 0062;0061 05AE 0654 0300 0315 0062;0061 05AE 0654 0300 0315 0062;0061 05AE 0654 0300 0315 0062;
+0061 059A 0316 302A 0655 0062;0061 302A 0316 0655 059A 0062;0061 302A 0316 0655 059A 0062;0061 302A 0316 0655 059A 0062;0061 302A 0316 0655 059A 0062;
+0061 0655 059A 0316 302A 0062;0061 302A 0655 0316 059A 0062;0061 302A 0655 0316 059A 0062;0061 302A 0655 0316 059A 0062;0061 302A 0655 0316 059A 0062;
+0061 059A 0316 302A 0656 0062;0061 302A 0316 0656 059A 0062;0061 302A 0316 0656 059A 0062;0061 302A 0316 0656 059A 0062;0061 302A 0316 0656 059A 0062;
+0061 0656 059A 0316 302A 0062;0061 302A 0656 0316 059A 0062;0061 302A 0656 0316 059A 0062;0061 302A 0656 0316 059A 0062;0061 302A 0656 0316 059A 0062;
+0061 0315 0300 05AE 0657 0062;00E0 05AE 0657 0315 0062;0061 05AE 0300 0657 0315 0062;00E0 05AE 0657 0315 0062;0061 05AE 0300 0657 0315 0062;
+0061 0657 0315 0300 05AE 0062;0061 05AE 0657 0300 0315 0062;0061 05AE 0657 0300 0315 0062;0061 05AE 0657 0300 0315 0062;0061 05AE 0657 0300 0315 0062;
+0061 0315 0300 05AE 0658 0062;00E0 05AE 0658 0315 0062;0061 05AE 0300 0658 0315 0062;00E0 05AE 0658 0315 0062;0061 05AE 0300 0658 0315 0062;
+0061 0658 0315 0300 05AE 0062;0061 05AE 0658 0300 0315 0062;0061 05AE 0658 0300 0315 0062;0061 05AE 0658 0300 0315 0062;0061 05AE 0658 0300 0315 0062;
+0061 0315 0300 05AE 0659 0062;00E0 05AE 0659 0315 0062;0061 05AE 0300 0659 0315 0062;00E0 05AE 0659 0315 0062;0061 05AE 0300 0659 0315 0062;
+0061 0659 0315 0300 05AE 0062;0061 05AE 0659 0300 0315 0062;0061 05AE 0659 0300 0315 0062;0061 05AE 0659 0300 0315 0062;0061 05AE 0659 0300 0315 0062;
+0061 0315 0300 05AE 065A 0062;00E0 05AE 065A 0315 0062;0061 05AE 0300 065A 0315 0062;00E0 05AE 065A 0315 0062;0061 05AE 0300 065A 0315 0062;
+0061 065A 0315 0300 05AE 0062;0061 05AE 065A 0300 0315 0062;0061 05AE 065A 0300 0315 0062;0061 05AE 065A 0300 0315 0062;0061 05AE 065A 0300 0315 0062;
+0061 0315 0300 05AE 065B 0062;00E0 05AE 065B 0315 0062;0061 05AE 0300 065B 0315 0062;00E0 05AE 065B 0315 0062;0061 05AE 0300 065B 0315 0062;
+0061 065B 0315 0300 05AE 0062;0061 05AE 065B 0300 0315 0062;0061 05AE 065B 0300 0315 0062;0061 05AE 065B 0300 0315 0062;0061 05AE 065B 0300 0315 0062;
+0061 059A 0316 302A 065C 0062;0061 302A 0316 065C 059A 0062;0061 302A 0316 065C 059A 0062;0061 302A 0316 065C 059A 0062;0061 302A 0316 065C 059A 0062;
+0061 065C 059A 0316 302A 0062;0061 302A 065C 0316 059A 0062;0061 302A 065C 0316 059A 0062;0061 302A 065C 0316 059A 0062;0061 302A 065C 0316 059A 0062;
+0061 0315 0300 05AE 065D 0062;00E0 05AE 065D 0315 0062;0061 05AE 0300 065D 0315 0062;00E0 05AE 065D 0315 0062;0061 05AE 0300 065D 0315 0062;
+0061 065D 0315 0300 05AE 0062;0061 05AE 065D 0300 0315 0062;0061 05AE 065D 0300 0315 0062;0061 05AE 065D 0300 0315 0062;0061 05AE 065D 0300 0315 0062;
+0061 0315 0300 05AE 065E 0062;00E0 05AE 065E 0315 0062;0061 05AE 0300 065E 0315 0062;00E0 05AE 065E 0315 0062;0061 05AE 0300 065E 0315 0062;
+0061 065E 0315 0300 05AE 0062;0061 05AE 065E 0300 0315 0062;0061 05AE 065E 0300 0315 0062;0061 05AE 065E 0300 0315 0062;0061 05AE 065E 0300 0315 0062;
+0061 0711 0670 0652 0670 0062;0061 0652 0670 0670 0711 0062;0061 0652 0670 0670 0711 0062;0061 0652 0670 0670 0711 0062;0061 0652 0670 0670 0711 0062;
+0061 0670 0711 0670 0652 0062;0061 0652 0670 0670 0711 0062;0061 0652 0670 0670 0711 0062;0061 0652 0670 0670 0711 0062;0061 0652 0670 0670 0711 0062;
+0061 0315 0300 05AE 06D6 0062;00E0 05AE 06D6 0315 0062;0061 05AE 0300 06D6 0315 0062;00E0 05AE 06D6 0315 0062;0061 05AE 0300 06D6 0315 0062;
+0061 06D6 0315 0300 05AE 0062;0061 05AE 06D6 0300 0315 0062;0061 05AE 06D6 0300 0315 0062;0061 05AE 06D6 0300 0315 0062;0061 05AE 06D6 0300 0315 0062;
+0061 0315 0300 05AE 06D7 0062;00E0 05AE 06D7 0315 0062;0061 05AE 0300 06D7 0315 0062;00E0 05AE 06D7 0315 0062;0061 05AE 0300 06D7 0315 0062;
+0061 06D7 0315 0300 05AE 0062;0061 05AE 06D7 0300 0315 0062;0061 05AE 06D7 0300 0315 0062;0061 05AE 06D7 0300 0315 0062;0061 05AE 06D7 0300 0315 0062;
+0061 0315 0300 05AE 06D8 0062;00E0 05AE 06D8 0315 0062;0061 05AE 0300 06D8 0315 0062;00E0 05AE 06D8 0315 0062;0061 05AE 0300 06D8 0315 0062;
+0061 06D8 0315 0300 05AE 0062;0061 05AE 06D8 0300 0315 0062;0061 05AE 06D8 0300 0315 0062;0061 05AE 06D8 0300 0315 0062;0061 05AE 06D8 0300 0315 0062;
+0061 0315 0300 05AE 06D9 0062;00E0 05AE 06D9 0315 0062;0061 05AE 0300 06D9 0315 0062;00E0 05AE 06D9 0315 0062;0061 05AE 0300 06D9 0315 0062;
+0061 06D9 0315 0300 05AE 0062;0061 05AE 06D9 0300 0315 0062;0061 05AE 06D9 0300 0315 0062;0061 05AE 06D9 0300 0315 0062;0061 05AE 06D9 0300 0315 0062;
+0061 0315 0300 05AE 06DA 0062;00E0 05AE 06DA 0315 0062;0061 05AE 0300 06DA 0315 0062;00E0 05AE 06DA 0315 0062;0061 05AE 0300 06DA 0315 0062;
+0061 06DA 0315 0300 05AE 0062;0061 05AE 06DA 0300 0315 0062;0061 05AE 06DA 0300 0315 0062;0061 05AE 06DA 0300 0315 0062;0061 05AE 06DA 0300 0315 0062;
+0061 0315 0300 05AE 06DB 0062;00E0 05AE 06DB 0315 0062;0061 05AE 0300 06DB 0315 0062;00E0 05AE 06DB 0315 0062;0061 05AE 0300 06DB 0315 0062;
+0061 06DB 0315 0300 05AE 0062;0061 05AE 06DB 0300 0315 0062;0061 05AE 06DB 0300 0315 0062;0061 05AE 06DB 0300 0315 0062;0061 05AE 06DB 0300 0315 0062;
+0061 0315 0300 05AE 06DC 0062;00E0 05AE 06DC 0315 0062;0061 05AE 0300 06DC 0315 0062;00E0 05AE 06DC 0315 0062;0061 05AE 0300 06DC 0315 0062;
+0061 06DC 0315 0300 05AE 0062;0061 05AE 06DC 0300 0315 0062;0061 05AE 06DC 0300 0315 0062;0061 05AE 06DC 0300 0315 0062;0061 05AE 06DC 0300 0315 0062;
+0061 0315 0300 05AE 06DF 0062;00E0 05AE 06DF 0315 0062;0061 05AE 0300 06DF 0315 0062;00E0 05AE 06DF 0315 0062;0061 05AE 0300 06DF 0315 0062;
+0061 06DF 0315 0300 05AE 0062;0061 05AE 06DF 0300 0315 0062;0061 05AE 06DF 0300 0315 0062;0061 05AE 06DF 0300 0315 0062;0061 05AE 06DF 0300 0315 0062;
+0061 0315 0300 05AE 06E0 0062;00E0 05AE 06E0 0315 0062;0061 05AE 0300 06E0 0315 0062;00E0 05AE 06E0 0315 0062;0061 05AE 0300 06E0 0315 0062;
+0061 06E0 0315 0300 05AE 0062;0061 05AE 06E0 0300 0315 0062;0061 05AE 06E0 0300 0315 0062;0061 05AE 06E0 0300 0315 0062;0061 05AE 06E0 0300 0315 0062;
+0061 0315 0300 05AE 06E1 0062;00E0 05AE 06E1 0315 0062;0061 05AE 0300 06E1 0315 0062;00E0 05AE 06E1 0315 0062;0061 05AE 0300 06E1 0315 0062;
+0061 06E1 0315 0300 05AE 0062;0061 05AE 06E1 0300 0315 0062;0061 05AE 06E1 0300 0315 0062;0061 05AE 06E1 0300 0315 0062;0061 05AE 06E1 0300 0315 0062;
+0061 0315 0300 05AE 06E2 0062;00E0 05AE 06E2 0315 0062;0061 05AE 0300 06E2 0315 0062;00E0 05AE 06E2 0315 0062;0061 05AE 0300 06E2 0315 0062;
+0061 06E2 0315 0300 05AE 0062;0061 05AE 06E2 0300 0315 0062;0061 05AE 06E2 0300 0315 0062;0061 05AE 06E2 0300 0315 0062;0061 05AE 06E2 0300 0315 0062;
+0061 059A 0316 302A 06E3 0062;0061 302A 0316 06E3 059A 0062;0061 302A 0316 06E3 059A 0062;0061 302A 0316 06E3 059A 0062;0061 302A 0316 06E3 059A 0062;
+0061 06E3 059A 0316 302A 0062;0061 302A 06E3 0316 059A 0062;0061 302A 06E3 0316 059A 0062;0061 302A 06E3 0316 059A 0062;0061 302A 06E3 0316 059A 0062;
+0061 0315 0300 05AE 06E4 0062;00E0 05AE 06E4 0315 0062;0061 05AE 0300 06E4 0315 0062;00E0 05AE 06E4 0315 0062;0061 05AE 0300 06E4 0315 0062;
+0061 06E4 0315 0300 05AE 0062;0061 05AE 06E4 0300 0315 0062;0061 05AE 06E4 0300 0315 0062;0061 05AE 06E4 0300 0315 0062;0061 05AE 06E4 0300 0315 0062;
+0061 0315 0300 05AE 06E7 0062;00E0 05AE 06E7 0315 0062;0061 05AE 0300 06E7 0315 0062;00E0 05AE 06E7 0315 0062;0061 05AE 0300 06E7 0315 0062;
+0061 06E7 0315 0300 05AE 0062;0061 05AE 06E7 0300 0315 0062;0061 05AE 06E7 0300 0315 0062;0061 05AE 06E7 0300 0315 0062;0061 05AE 06E7 0300 0315 0062;
+0061 0315 0300 05AE 06E8 0062;00E0 05AE 06E8 0315 0062;0061 05AE 0300 06E8 0315 0062;00E0 05AE 06E8 0315 0062;0061 05AE 0300 06E8 0315 0062;
+0061 06E8 0315 0300 05AE 0062;0061 05AE 06E8 0300 0315 0062;0061 05AE 06E8 0300 0315 0062;0061 05AE 06E8 0300 0315 0062;0061 05AE 06E8 0300 0315 0062;
+0061 059A 0316 302A 06EA 0062;0061 302A 0316 06EA 059A 0062;0061 302A 0316 06EA 059A 0062;0061 302A 0316 06EA 059A 0062;0061 302A 0316 06EA 059A 0062;
+0061 06EA 059A 0316 302A 0062;0061 302A 06EA 0316 059A 0062;0061 302A 06EA 0316 059A 0062;0061 302A 06EA 0316 059A 0062;0061 302A 06EA 0316 059A 0062;
+0061 0315 0300 05AE 06EB 0062;00E0 05AE 06EB 0315 0062;0061 05AE 0300 06EB 0315 0062;00E0 05AE 06EB 0315 0062;0061 05AE 0300 06EB 0315 0062;
+0061 06EB 0315 0300 05AE 0062;0061 05AE 06EB 0300 0315 0062;0061 05AE 06EB 0300 0315 0062;0061 05AE 06EB 0300 0315 0062;0061 05AE 06EB 0300 0315 0062;
+0061 0315 0300 05AE 06EC 0062;00E0 05AE 06EC 0315 0062;0061 05AE 0300 06EC 0315 0062;00E0 05AE 06EC 0315 0062;0061 05AE 0300 06EC 0315 0062;
+0061 06EC 0315 0300 05AE 0062;0061 05AE 06EC 0300 0315 0062;0061 05AE 06EC 0300 0315 0062;0061 05AE 06EC 0300 0315 0062;0061 05AE 06EC 0300 0315 0062;
+0061 059A 0316 302A 06ED 0062;0061 302A 0316 06ED 059A 0062;0061 302A 0316 06ED 059A 0062;0061 302A 0316 06ED 059A 0062;0061 302A 0316 06ED 059A 0062;
+0061 06ED 059A 0316 302A 0062;0061 302A 06ED 0316 059A 0062;0061 302A 06ED 0316 059A 0062;0061 302A 06ED 0316 059A 0062;0061 302A 06ED 0316 059A 0062;
+0061 0C55 0711 0670 0711 0062;0061 0670 0711 0711 0C55 0062;0061 0670 0711 0711 0C55 0062;0061 0670 0711 0711 0C55 0062;0061 0670 0711 0711 0C55 0062;
+0061 0711 0C55 0711 0670 0062;0061 0670 0711 0711 0C55 0062;0061 0670 0711 0711 0C55 0062;0061 0670 0711 0711 0C55 0062;0061 0670 0711 0711 0C55 0062;
+0061 0315 0300 05AE 0730 0062;00E0 05AE 0730 0315 0062;0061 05AE 0300 0730 0315 0062;00E0 05AE 0730 0315 0062;0061 05AE 0300 0730 0315 0062;
+0061 0730 0315 0300 05AE 0062;0061 05AE 0730 0300 0315 0062;0061 05AE 0730 0300 0315 0062;0061 05AE 0730 0300 0315 0062;0061 05AE 0730 0300 0315 0062;
+0061 059A 0316 302A 0731 0062;0061 302A 0316 0731 059A 0062;0061 302A 0316 0731 059A 0062;0061 302A 0316 0731 059A 0062;0061 302A 0316 0731 059A 0062;
+0061 0731 059A 0316 302A 0062;0061 302A 0731 0316 059A 0062;0061 302A 0731 0316 059A 0062;0061 302A 0731 0316 059A 0062;0061 302A 0731 0316 059A 0062;
+0061 0315 0300 05AE 0732 0062;00E0 05AE 0732 0315 0062;0061 05AE 0300 0732 0315 0062;00E0 05AE 0732 0315 0062;0061 05AE 0300 0732 0315 0062;
+0061 0732 0315 0300 05AE 0062;0061 05AE 0732 0300 0315 0062;0061 05AE 0732 0300 0315 0062;0061 05AE 0732 0300 0315 0062;0061 05AE 0732 0300 0315 0062;
+0061 0315 0300 05AE 0733 0062;00E0 05AE 0733 0315 0062;0061 05AE 0300 0733 0315 0062;00E0 05AE 0733 0315 0062;0061 05AE 0300 0733 0315 0062;
+0061 0733 0315 0300 05AE 0062;0061 05AE 0733 0300 0315 0062;0061 05AE 0733 0300 0315 0062;0061 05AE 0733 0300 0315 0062;0061 05AE 0733 0300 0315 0062;
+0061 059A 0316 302A 0734 0062;0061 302A 0316 0734 059A 0062;0061 302A 0316 0734 059A 0062;0061 302A 0316 0734 059A 0062;0061 302A 0316 0734 059A 0062;
+0061 0734 059A 0316 302A 0062;0061 302A 0734 0316 059A 0062;0061 302A 0734 0316 059A 0062;0061 302A 0734 0316 059A 0062;0061 302A 0734 0316 059A 0062;
+0061 0315 0300 05AE 0735 0062;00E0 05AE 0735 0315 0062;0061 05AE 0300 0735 0315 0062;00E0 05AE 0735 0315 0062;0061 05AE 0300 0735 0315 0062;
+0061 0735 0315 0300 05AE 0062;0061 05AE 0735 0300 0315 0062;0061 05AE 0735 0300 0315 0062;0061 05AE 0735 0300 0315 0062;0061 05AE 0735 0300 0315 0062;
+0061 0315 0300 05AE 0736 0062;00E0 05AE 0736 0315 0062;0061 05AE 0300 0736 0315 0062;00E0 05AE 0736 0315 0062;0061 05AE 0300 0736 0315 0062;
+0061 0736 0315 0300 05AE 0062;0061 05AE 0736 0300 0315 0062;0061 05AE 0736 0300 0315 0062;0061 05AE 0736 0300 0315 0062;0061 05AE 0736 0300 0315 0062;
+0061 059A 0316 302A 0737 0062;0061 302A 0316 0737 059A 0062;0061 302A 0316 0737 059A 0062;0061 302A 0316 0737 059A 0062;0061 302A 0316 0737 059A 0062;
+0061 0737 059A 0316 302A 0062;0061 302A 0737 0316 059A 0062;0061 302A 0737 0316 059A 0062;0061 302A 0737 0316 059A 0062;0061 302A 0737 0316 059A 0062;
+0061 059A 0316 302A 0738 0062;0061 302A 0316 0738 059A 0062;0061 302A 0316 0738 059A 0062;0061 302A 0316 0738 059A 0062;0061 302A 0316 0738 059A 0062;
+0061 0738 059A 0316 302A 0062;0061 302A 0738 0316 059A 0062;0061 302A 0738 0316 059A 0062;0061 302A 0738 0316 059A 0062;0061 302A 0738 0316 059A 0062;
+0061 059A 0316 302A 0739 0062;0061 302A 0316 0739 059A 0062;0061 302A 0316 0739 059A 0062;0061 302A 0316 0739 059A 0062;0061 302A 0316 0739 059A 0062;
+0061 0739 059A 0316 302A 0062;0061 302A 0739 0316 059A 0062;0061 302A 0739 0316 059A 0062;0061 302A 0739 0316 059A 0062;0061 302A 0739 0316 059A 0062;
+0061 0315 0300 05AE 073A 0062;00E0 05AE 073A 0315 0062;0061 05AE 0300 073A 0315 0062;00E0 05AE 073A 0315 0062;0061 05AE 0300 073A 0315 0062;
+0061 073A 0315 0300 05AE 0062;0061 05AE 073A 0300 0315 0062;0061 05AE 073A 0300 0315 0062;0061 05AE 073A 0300 0315 0062;0061 05AE 073A 0300 0315 0062;
+0061 059A 0316 302A 073B 0062;0061 302A 0316 073B 059A 0062;0061 302A 0316 073B 059A 0062;0061 302A 0316 073B 059A 0062;0061 302A 0316 073B 059A 0062;
+0061 073B 059A 0316 302A 0062;0061 302A 073B 0316 059A 0062;0061 302A 073B 0316 059A 0062;0061 302A 073B 0316 059A 0062;0061 302A 073B 0316 059A 0062;
+0061 059A 0316 302A 073C 0062;0061 302A 0316 073C 059A 0062;0061 302A 0316 073C 059A 0062;0061 302A 0316 073C 059A 0062;0061 302A 0316 073C 059A 0062;
+0061 073C 059A 0316 302A 0062;0061 302A 073C 0316 059A 0062;0061 302A 073C 0316 059A 0062;0061 302A 073C 0316 059A 0062;0061 302A 073C 0316 059A 0062;
+0061 0315 0300 05AE 073D 0062;00E0 05AE 073D 0315 0062;0061 05AE 0300 073D 0315 0062;00E0 05AE 073D 0315 0062;0061 05AE 0300 073D 0315 0062;
+0061 073D 0315 0300 05AE 0062;0061 05AE 073D 0300 0315 0062;0061 05AE 073D 0300 0315 0062;0061 05AE 073D 0300 0315 0062;0061 05AE 073D 0300 0315 0062;
+0061 059A 0316 302A 073E 0062;0061 302A 0316 073E 059A 0062;0061 302A 0316 073E 059A 0062;0061 302A 0316 073E 059A 0062;0061 302A 0316 073E 059A 0062;
+0061 073E 059A 0316 302A 0062;0061 302A 073E 0316 059A 0062;0061 302A 073E 0316 059A 0062;0061 302A 073E 0316 059A 0062;0061 302A 073E 0316 059A 0062;
+0061 0315 0300 05AE 073F 0062;00E0 05AE 073F 0315 0062;0061 05AE 0300 073F 0315 0062;00E0 05AE 073F 0315 0062;0061 05AE 0300 073F 0315 0062;
+0061 073F 0315 0300 05AE 0062;0061 05AE 073F 0300 0315 0062;0061 05AE 073F 0300 0315 0062;0061 05AE 073F 0300 0315 0062;0061 05AE 073F 0300 0315 0062;
+0061 0315 0300 05AE 0740 0062;00E0 05AE 0740 0315 0062;0061 05AE 0300 0740 0315 0062;00E0 05AE 0740 0315 0062;0061 05AE 0300 0740 0315 0062;
+0061 0740 0315 0300 05AE 0062;0061 05AE 0740 0300 0315 0062;0061 05AE 0740 0300 0315 0062;0061 05AE 0740 0300 0315 0062;0061 05AE 0740 0300 0315 0062;
+0061 0315 0300 05AE 0741 0062;00E0 05AE 0741 0315 0062;0061 05AE 0300 0741 0315 0062;00E0 05AE 0741 0315 0062;0061 05AE 0300 0741 0315 0062;
+0061 0741 0315 0300 05AE 0062;0061 05AE 0741 0300 0315 0062;0061 05AE 0741 0300 0315 0062;0061 05AE 0741 0300 0315 0062;0061 05AE 0741 0300 0315 0062;
+0061 059A 0316 302A 0742 0062;0061 302A 0316 0742 059A 0062;0061 302A 0316 0742 059A 0062;0061 302A 0316 0742 059A 0062;0061 302A 0316 0742 059A 0062;
+0061 0742 059A 0316 302A 0062;0061 302A 0742 0316 059A 0062;0061 302A 0742 0316 059A 0062;0061 302A 0742 0316 059A 0062;0061 302A 0742 0316 059A 0062;
+0061 0315 0300 05AE 0743 0062;00E0 05AE 0743 0315 0062;0061 05AE 0300 0743 0315 0062;00E0 05AE 0743 0315 0062;0061 05AE 0300 0743 0315 0062;
+0061 0743 0315 0300 05AE 0062;0061 05AE 0743 0300 0315 0062;0061 05AE 0743 0300 0315 0062;0061 05AE 0743 0300 0315 0062;0061 05AE 0743 0300 0315 0062;
+0061 059A 0316 302A 0744 0062;0061 302A 0316 0744 059A 0062;0061 302A 0316 0744 059A 0062;0061 302A 0316 0744 059A 0062;0061 302A 0316 0744 059A 0062;
+0061 0744 059A 0316 302A 0062;0061 302A 0744 0316 059A 0062;0061 302A 0744 0316 059A 0062;0061 302A 0744 0316 059A 0062;0061 302A 0744 0316 059A 0062;
+0061 0315 0300 05AE 0745 0062;00E0 05AE 0745 0315 0062;0061 05AE 0300 0745 0315 0062;00E0 05AE 0745 0315 0062;0061 05AE 0300 0745 0315 0062;
+0061 0745 0315 0300 05AE 0062;0061 05AE 0745 0300 0315 0062;0061 05AE 0745 0300 0315 0062;0061 05AE 0745 0300 0315 0062;0061 05AE 0745 0300 0315 0062;
+0061 059A 0316 302A 0746 0062;0061 302A 0316 0746 059A 0062;0061 302A 0316 0746 059A 0062;0061 302A 0316 0746 059A 0062;0061 302A 0316 0746 059A 0062;
+0061 0746 059A 0316 302A 0062;0061 302A 0746 0316 059A 0062;0061 302A 0746 0316 059A 0062;0061 302A 0746 0316 059A 0062;0061 302A 0746 0316 059A 0062;
+0061 0315 0300 05AE 0747 0062;00E0 05AE 0747 0315 0062;0061 05AE 0300 0747 0315 0062;00E0 05AE 0747 0315 0062;0061 05AE 0300 0747 0315 0062;
+0061 0747 0315 0300 05AE 0062;0061 05AE 0747 0300 0315 0062;0061 05AE 0747 0300 0315 0062;0061 05AE 0747 0300 0315 0062;0061 05AE 0747 0300 0315 0062;
+0061 059A 0316 302A 0748 0062;0061 302A 0316 0748 059A 0062;0061 302A 0316 0748 059A 0062;0061 302A 0316 0748 059A 0062;0061 302A 0316 0748 059A 0062;
+0061 0748 059A 0316 302A 0062;0061 302A 0748 0316 059A 0062;0061 302A 0748 0316 059A 0062;0061 302A 0748 0316 059A 0062;0061 302A 0748 0316 059A 0062;
+0061 0315 0300 05AE 0749 0062;00E0 05AE 0749 0315 0062;0061 05AE 0300 0749 0315 0062;00E0 05AE 0749 0315 0062;0061 05AE 0300 0749 0315 0062;
+0061 0749 0315 0300 05AE 0062;0061 05AE 0749 0300 0315 0062;0061 05AE 0749 0300 0315 0062;0061 05AE 0749 0300 0315 0062;0061 05AE 0749 0300 0315 0062;
+0061 0315 0300 05AE 074A 0062;00E0 05AE 074A 0315 0062;0061 05AE 0300 074A 0315 0062;00E0 05AE 074A 0315 0062;0061 05AE 0300 074A 0315 0062;
+0061 074A 0315 0300 05AE 0062;0061 05AE 074A 0300 0315 0062;0061 05AE 074A 0300 0315 0062;0061 05AE 074A 0300 0315 0062;0061 05AE 074A 0300 0315 0062;
+0061 3099 093C 0334 093C 0062;0061 0334 093C 093C 3099 0062;0061 0334 093C 093C 3099 0062;0061 0334 093C 093C 3099 0062;0061 0334 093C 093C 3099 0062;
+0061 093C 3099 093C 0334 0062;0061 0334 093C 093C 3099 0062;0061 0334 093C 093C 3099 0062;0061 0334 093C 093C 3099 0062;0061 0334 093C 093C 3099 0062;
+0061 05B0 094D 3099 094D 0062;0061 3099 094D 094D 05B0 0062;0061 3099 094D 094D 05B0 0062;0061 3099 094D 094D 05B0 0062;0061 3099 094D 094D 05B0 0062;
+0061 094D 05B0 094D 3099 0062;0061 3099 094D 094D 05B0 0062;0061 3099 094D 094D 05B0 0062;0061 3099 094D 094D 05B0 0062;0061 3099 094D 094D 05B0 0062;
+0061 0315 0300 05AE 0951 0062;00E0 05AE 0951 0315 0062;0061 05AE 0300 0951 0315 0062;00E0 05AE 0951 0315 0062;0061 05AE 0300 0951 0315 0062;
+0061 0951 0315 0300 05AE 0062;0061 05AE 0951 0300 0315 0062;0061 05AE 0951 0300 0315 0062;0061 05AE 0951 0300 0315 0062;0061 05AE 0951 0300 0315 0062;
+0061 059A 0316 302A 0952 0062;0061 302A 0316 0952 059A 0062;0061 302A 0316 0952 059A 0062;0061 302A 0316 0952 059A 0062;0061 302A 0316 0952 059A 0062;
+0061 0952 059A 0316 302A 0062;0061 302A 0952 0316 059A 0062;0061 302A 0952 0316 059A 0062;0061 302A 0952 0316 059A 0062;0061 302A 0952 0316 059A 0062;
+0061 0315 0300 05AE 0953 0062;00E0 05AE 0953 0315 0062;0061 05AE 0300 0953 0315 0062;00E0 05AE 0953 0315 0062;0061 05AE 0300 0953 0315 0062;
+0061 0953 0315 0300 05AE 0062;0061 05AE 0953 0300 0315 0062;0061 05AE 0953 0300 0315 0062;0061 05AE 0953 0300 0315 0062;0061 05AE 0953 0300 0315 0062;
+0061 0315 0300 05AE 0954 0062;00E0 05AE 0954 0315 0062;0061 05AE 0300 0954 0315 0062;00E0 05AE 0954 0315 0062;0061 05AE 0300 0954 0315 0062;
+0061 0954 0315 0300 05AE 0062;0061 05AE 0954 0300 0315 0062;0061 05AE 0954 0300 0315 0062;0061 05AE 0954 0300 0315 0062;0061 05AE 0954 0300 0315 0062;
+0061 3099 093C 0334 09BC 0062;0061 0334 093C 09BC 3099 0062;0061 0334 093C 09BC 3099 0062;0061 0334 093C 09BC 3099 0062;0061 0334 093C 09BC 3099 0062;
+0061 09BC 3099 093C 0334 0062;0061 0334 09BC 093C 3099 0062;0061 0334 09BC 093C 3099 0062;0061 0334 09BC 093C 3099 0062;0061 0334 09BC 093C 3099 0062;
+0061 05B0 094D 3099 09CD 0062;0061 3099 094D 09CD 05B0 0062;0061 3099 094D 09CD 05B0 0062;0061 3099 094D 09CD 05B0 0062;0061 3099 094D 09CD 05B0 0062;
+0061 09CD 05B0 094D 3099 0062;0061 3099 09CD 094D 05B0 0062;0061 3099 09CD 094D 05B0 0062;0061 3099 09CD 094D 05B0 0062;0061 3099 09CD 094D 05B0 0062;
+0061 3099 093C 0334 0A3C 0062;0061 0334 093C 0A3C 3099 0062;0061 0334 093C 0A3C 3099 0062;0061 0334 093C 0A3C 3099 0062;0061 0334 093C 0A3C 3099 0062;
+0061 0A3C 3099 093C 0334 0062;0061 0334 0A3C 093C 3099 0062;0061 0334 0A3C 093C 3099 0062;0061 0334 0A3C 093C 3099 0062;0061 0334 0A3C 093C 3099 0062;
+0061 05B0 094D 3099 0A4D 0062;0061 3099 094D 0A4D 05B0 0062;0061 3099 094D 0A4D 05B0 0062;0061 3099 094D 0A4D 05B0 0062;0061 3099 094D 0A4D 05B0 0062;
+0061 0A4D 05B0 094D 3099 0062;0061 3099 0A4D 094D 05B0 0062;0061 3099 0A4D 094D 05B0 0062;0061 3099 0A4D 094D 05B0 0062;0061 3099 0A4D 094D 05B0 0062;
+0061 3099 093C 0334 0ABC 0062;0061 0334 093C 0ABC 3099 0062;0061 0334 093C 0ABC 3099 0062;0061 0334 093C 0ABC 3099 0062;0061 0334 093C 0ABC 3099 0062;
+0061 0ABC 3099 093C 0334 0062;0061 0334 0ABC 093C 3099 0062;0061 0334 0ABC 093C 3099 0062;0061 0334 0ABC 093C 3099 0062;0061 0334 0ABC 093C 3099 0062;
+0061 05B0 094D 3099 0ACD 0062;0061 3099 094D 0ACD 05B0 0062;0061 3099 094D 0ACD 05B0 0062;0061 3099 094D 0ACD 05B0 0062;0061 3099 094D 0ACD 05B0 0062;
+0061 0ACD 05B0 094D 3099 0062;0061 3099 0ACD 094D 05B0 0062;0061 3099 0ACD 094D 05B0 0062;0061 3099 0ACD 094D 05B0 0062;0061 3099 0ACD 094D 05B0 0062;
+0061 3099 093C 0334 0B3C 0062;0061 0334 093C 0B3C 3099 0062;0061 0334 093C 0B3C 3099 0062;0061 0334 093C 0B3C 3099 0062;0061 0334 093C 0B3C 3099 0062;
+0061 0B3C 3099 093C 0334 0062;0061 0334 0B3C 093C 3099 0062;0061 0334 0B3C 093C 3099 0062;0061 0334 0B3C 093C 3099 0062;0061 0334 0B3C 093C 3099 0062;
+0061 05B0 094D 3099 0B4D 0062;0061 3099 094D 0B4D 05B0 0062;0061 3099 094D 0B4D 05B0 0062;0061 3099 094D 0B4D 05B0 0062;0061 3099 094D 0B4D 05B0 0062;
+0061 0B4D 05B0 094D 3099 0062;0061 3099 0B4D 094D 05B0 0062;0061 3099 0B4D 094D 05B0 0062;0061 3099 0B4D 094D 05B0 0062;0061 3099 0B4D 094D 05B0 0062;
+0061 05B0 094D 3099 0BCD 0062;0061 3099 094D 0BCD 05B0 0062;0061 3099 094D 0BCD 05B0 0062;0061 3099 094D 0BCD 05B0 0062;0061 3099 094D 0BCD 05B0 0062;
+0061 0BCD 05B0 094D 3099 0062;0061 3099 0BCD 094D 05B0 0062;0061 3099 0BCD 094D 05B0 0062;0061 3099 0BCD 094D 05B0 0062;0061 3099 0BCD 094D 05B0 0062;
+0061 05B0 094D 3099 0C4D 0062;0061 3099 094D 0C4D 05B0 0062;0061 3099 094D 0C4D 05B0 0062;0061 3099 094D 0C4D 05B0 0062;0061 3099 094D 0C4D 05B0 0062;
+0061 0C4D 05B0 094D 3099 0062;0061 3099 0C4D 094D 05B0 0062;0061 3099 0C4D 094D 05B0 0062;0061 3099 0C4D 094D 05B0 0062;0061 3099 0C4D 094D 05B0 0062;
+0061 0C56 0C55 0711 0C55 0062;0061 0711 0C55 0C55 0C56 0062;0061 0711 0C55 0C55 0C56 0062;0061 0711 0C55 0C55 0C56 0062;0061 0711 0C55 0C55 0C56 0062;
+0061 0C55 0C56 0C55 0711 0062;0061 0711 0C55 0C55 0C56 0062;0061 0711 0C55 0C55 0C56 0062;0061 0711 0C55 0C55 0C56 0062;0061 0711 0C55 0C55 0C56 0062;
+0061 0E38 0C56 0C55 0C56 0062;0061 0C55 0C56 0C56 0E38 0062;0061 0C55 0C56 0C56 0E38 0062;0061 0C55 0C56 0C56 0E38 0062;0061 0C55 0C56 0C56 0E38 0062;
+0061 0C56 0E38 0C56 0C55 0062;0061 0C55 0C56 0C56 0E38 0062;0061 0C55 0C56 0C56 0E38 0062;0061 0C55 0C56 0C56 0E38 0062;0061 0C55 0C56 0C56 0E38 0062;
+0061 3099 093C 0334 0CBC 0062;0061 0334 093C 0CBC 3099 0062;0061 0334 093C 0CBC 3099 0062;0061 0334 093C 0CBC 3099 0062;0061 0334 093C 0CBC 3099 0062;
+0061 0CBC 3099 093C 0334 0062;0061 0334 0CBC 093C 3099 0062;0061 0334 0CBC 093C 3099 0062;0061 0334 0CBC 093C 3099 0062;0061 0334 0CBC 093C 3099 0062;
+0061 05B0 094D 3099 0CCD 0062;0061 3099 094D 0CCD 05B0 0062;0061 3099 094D 0CCD 05B0 0062;0061 3099 094D 0CCD 05B0 0062;0061 3099 094D 0CCD 05B0 0062;
+0061 0CCD 05B0 094D 3099 0062;0061 3099 0CCD 094D 05B0 0062;0061 3099 0CCD 094D 05B0 0062;0061 3099 0CCD 094D 05B0 0062;0061 3099 0CCD 094D 05B0 0062;
+0061 05B0 094D 3099 0D4D 0062;0061 3099 094D 0D4D 05B0 0062;0061 3099 094D 0D4D 05B0 0062;0061 3099 094D 0D4D 05B0 0062;0061 3099 094D 0D4D 05B0 0062;
+0061 0D4D 05B0 094D 3099 0062;0061 3099 0D4D 094D 05B0 0062;0061 3099 0D4D 094D 05B0 0062;0061 3099 0D4D 094D 05B0 0062;0061 3099 0D4D 094D 05B0 0062;
+0061 05B0 094D 3099 0DCA 0062;0061 3099 094D 0DCA 05B0 0062;0061 3099 094D 0DCA 05B0 0062;0061 3099 094D 0DCA 05B0 0062;0061 3099 094D 0DCA 05B0 0062;
+0061 0DCA 05B0 094D 3099 0062;0061 3099 0DCA 094D 05B0 0062;0061 3099 0DCA 094D 05B0 0062;0061 3099 0DCA 094D 05B0 0062;0061 3099 0DCA 094D 05B0 0062;
+0061 0E48 0E38 0C56 0E38 0062;0061 0C56 0E38 0E38 0E48 0062;0061 0C56 0E38 0E38 0E48 0062;0061 0C56 0E38 0E38 0E48 0062;0061 0C56 0E38 0E38 0E48 0062;
+0061 0E38 0E48 0E38 0C56 0062;0061 0C56 0E38 0E38 0E48 0062;0061 0C56 0E38 0E38 0E48 0062;0061 0C56 0E38 0E38 0E48 0062;0061 0C56 0E38 0E38 0E48 0062;
+0061 0E48 0E38 0C56 0E39 0062;0061 0C56 0E38 0E39 0E48 0062;0061 0C56 0E38 0E39 0E48 0062;0061 0C56 0E38 0E39 0E48 0062;0061 0C56 0E38 0E39 0E48 0062;
+0061 0E39 0E48 0E38 0C56 0062;0061 0C56 0E39 0E38 0E48 0062;0061 0C56 0E39 0E38 0E48 0062;0061 0C56 0E39 0E38 0E48 0062;0061 0C56 0E39 0E38 0E48 0062;
+0061 05B0 094D 3099 0E3A 0062;0061 3099 094D 0E3A 05B0 0062;0061 3099 094D 0E3A 05B0 0062;0061 3099 094D 0E3A 05B0 0062;0061 3099 094D 0E3A 05B0 0062;
+0061 0E3A 05B0 094D 3099 0062;0061 3099 0E3A 094D 05B0 0062;0061 3099 0E3A 094D 05B0 0062;0061 3099 0E3A 094D 05B0 0062;0061 3099 0E3A 094D 05B0 0062;
+0061 0EB8 0E48 0E38 0E48 0062;0061 0E38 0E48 0E48 0EB8 0062;0061 0E38 0E48 0E48 0EB8 0062;0061 0E38 0E48 0E48 0EB8 0062;0061 0E38 0E48 0E48 0EB8 0062;
+0061 0E48 0EB8 0E48 0E38 0062;0061 0E38 0E48 0E48 0EB8 0062;0061 0E38 0E48 0E48 0EB8 0062;0061 0E38 0E48 0E48 0EB8 0062;0061 0E38 0E48 0E48 0EB8 0062;
+0061 0EB8 0E48 0E38 0E49 0062;0061 0E38 0E48 0E49 0EB8 0062;0061 0E38 0E48 0E49 0EB8 0062;0061 0E38 0E48 0E49 0EB8 0062;0061 0E38 0E48 0E49 0EB8 0062;
+0061 0E49 0EB8 0E48 0E38 0062;0061 0E38 0E49 0E48 0EB8 0062;0061 0E38 0E49 0E48 0EB8 0062;0061 0E38 0E49 0E48 0EB8 0062;0061 0E38 0E49 0E48 0EB8 0062;
+0061 0EB8 0E48 0E38 0E4A 0062;0061 0E38 0E48 0E4A 0EB8 0062;0061 0E38 0E48 0E4A 0EB8 0062;0061 0E38 0E48 0E4A 0EB8 0062;0061 0E38 0E48 0E4A 0EB8 0062;
+0061 0E4A 0EB8 0E48 0E38 0062;0061 0E38 0E4A 0E48 0EB8 0062;0061 0E38 0E4A 0E48 0EB8 0062;0061 0E38 0E4A 0E48 0EB8 0062;0061 0E38 0E4A 0E48 0EB8 0062;
+0061 0EB8 0E48 0E38 0E4B 0062;0061 0E38 0E48 0E4B 0EB8 0062;0061 0E38 0E48 0E4B 0EB8 0062;0061 0E38 0E48 0E4B 0EB8 0062;0061 0E38 0E48 0E4B 0EB8 0062;
+0061 0E4B 0EB8 0E48 0E38 0062;0061 0E38 0E4B 0E48 0EB8 0062;0061 0E38 0E4B 0E48 0EB8 0062;0061 0E38 0E4B 0E48 0EB8 0062;0061 0E38 0E4B 0E48 0EB8 0062;
+0061 0EC8 0EB8 0E48 0EB8 0062;0061 0E48 0EB8 0EB8 0EC8 0062;0061 0E48 0EB8 0EB8 0EC8 0062;0061 0E48 0EB8 0EB8 0EC8 0062;0061 0E48 0EB8 0EB8 0EC8 0062;
+0061 0EB8 0EC8 0EB8 0E48 0062;0061 0E48 0EB8 0EB8 0EC8 0062;0061 0E48 0EB8 0EB8 0EC8 0062;0061 0E48 0EB8 0EB8 0EC8 0062;0061 0E48 0EB8 0EB8 0EC8 0062;
+0061 0EC8 0EB8 0E48 0EB9 0062;0061 0E48 0EB8 0EB9 0EC8 0062;0061 0E48 0EB8 0EB9 0EC8 0062;0061 0E48 0EB8 0EB9 0EC8 0062;0061 0E48 0EB8 0EB9 0EC8 0062;
+0061 0EB9 0EC8 0EB8 0E48 0062;0061 0E48 0EB9 0EB8 0EC8 0062;0061 0E48 0EB9 0EB8 0EC8 0062;0061 0E48 0EB9 0EB8 0EC8 0062;0061 0E48 0EB9 0EB8 0EC8 0062;
+0061 0F71 0EC8 0EB8 0EC8 0062;0061 0EB8 0EC8 0EC8 0F71 0062;0061 0EB8 0EC8 0EC8 0F71 0062;0061 0EB8 0EC8 0EC8 0F71 0062;0061 0EB8 0EC8 0EC8 0F71 0062;
+0061 0EC8 0F71 0EC8 0EB8 0062;0061 0EB8 0EC8 0EC8 0F71 0062;0061 0EB8 0EC8 0EC8 0F71 0062;0061 0EB8 0EC8 0EC8 0F71 0062;0061 0EB8 0EC8 0EC8 0F71 0062;
+0061 0F71 0EC8 0EB8 0EC9 0062;0061 0EB8 0EC8 0EC9 0F71 0062;0061 0EB8 0EC8 0EC9 0F71 0062;0061 0EB8 0EC8 0EC9 0F71 0062;0061 0EB8 0EC8 0EC9 0F71 0062;
+0061 0EC9 0F71 0EC8 0EB8 0062;0061 0EB8 0EC9 0EC8 0F71 0062;0061 0EB8 0EC9 0EC8 0F71 0062;0061 0EB8 0EC9 0EC8 0F71 0062;0061 0EB8 0EC9 0EC8 0F71 0062;
+0061 0F71 0EC8 0EB8 0ECA 0062;0061 0EB8 0EC8 0ECA 0F71 0062;0061 0EB8 0EC8 0ECA 0F71 0062;0061 0EB8 0EC8 0ECA 0F71 0062;0061 0EB8 0EC8 0ECA 0F71 0062;
+0061 0ECA 0F71 0EC8 0EB8 0062;0061 0EB8 0ECA 0EC8 0F71 0062;0061 0EB8 0ECA 0EC8 0F71 0062;0061 0EB8 0ECA 0EC8 0F71 0062;0061 0EB8 0ECA 0EC8 0F71 0062;
+0061 0F71 0EC8 0EB8 0ECB 0062;0061 0EB8 0EC8 0ECB 0F71 0062;0061 0EB8 0EC8 0ECB 0F71 0062;0061 0EB8 0EC8 0ECB 0F71 0062;0061 0EB8 0EC8 0ECB 0F71 0062;
+0061 0ECB 0F71 0EC8 0EB8 0062;0061 0EB8 0ECB 0EC8 0F71 0062;0061 0EB8 0ECB 0EC8 0F71 0062;0061 0EB8 0ECB 0EC8 0F71 0062;0061 0EB8 0ECB 0EC8 0F71 0062;
+0061 059A 0316 302A 0F18 0062;0061 302A 0316 0F18 059A 0062;0061 302A 0316 0F18 059A 0062;0061 302A 0316 0F18 059A 0062;0061 302A 0316 0F18 059A 0062;
+0061 0F18 059A 0316 302A 0062;0061 302A 0F18 0316 059A 0062;0061 302A 0F18 0316 059A 0062;0061 302A 0F18 0316 059A 0062;0061 302A 0F18 0316 059A 0062;
+0061 059A 0316 302A 0F19 0062;0061 302A 0316 0F19 059A 0062;0061 302A 0316 0F19 059A 0062;0061 302A 0316 0F19 059A 0062;0061 302A 0316 0F19 059A 0062;
+0061 0F19 059A 0316 302A 0062;0061 302A 0F19 0316 059A 0062;0061 302A 0F19 0316 059A 0062;0061 302A 0F19 0316 059A 0062;0061 302A 0F19 0316 059A 0062;
+0061 059A 0316 302A 0F35 0062;0061 302A 0316 0F35 059A 0062;0061 302A 0316 0F35 059A 0062;0061 302A 0316 0F35 059A 0062;0061 302A 0316 0F35 059A 0062;
+0061 0F35 059A 0316 302A 0062;0061 302A 0F35 0316 059A 0062;0061 302A 0F35 0316 059A 0062;0061 302A 0F35 0316 059A 0062;0061 302A 0F35 0316 059A 0062;
+0061 059A 0316 302A 0F37 0062;0061 302A 0316 0F37 059A 0062;0061 302A 0316 0F37 059A 0062;0061 302A 0316 0F37 059A 0062;0061 302A 0316 0F37 059A 0062;
+0061 0F37 059A 0316 302A 0062;0061 302A 0F37 0316 059A 0062;0061 302A 0F37 0316 059A 0062;0061 302A 0F37 0316 059A 0062;0061 302A 0F37 0316 059A 0062;
+0061 302A 031B 0321 0F39 0062;0061 0321 031B 0F39 302A 0062;0061 0321 031B 0F39 302A 0062;0061 0321 031B 0F39 302A 0062;0061 0321 031B 0F39 302A 0062;
+0061 0F39 302A 031B 0321 0062;0061 0321 0F39 031B 302A 0062;0061 0321 0F39 031B 302A 0062;0061 0321 0F39 031B 302A 0062;0061 0321 0F39 031B 302A 0062;
+0061 0F72 0F71 0EC8 0F71 0062;0061 0EC8 0F71 0F71 0F72 0062;0061 0EC8 0F71 0F71 0F72 0062;0061 0EC8 0F71 0F71 0F72 0062;0061 0EC8 0F71 0F71 0F72 0062;
+0061 0F71 0F72 0F71 0EC8 0062;0061 0EC8 0F71 0F71 0F72 0062;0061 0EC8 0F71 0F71 0F72 0062;0061 0EC8 0F71 0F71 0F72 0062;0061 0EC8 0F71 0F71 0F72 0062;
+0061 0F74 0F72 0F71 0F72 0062;0061 0F71 0F72 0F72 0F74 0062;0061 0F71 0F72 0F72 0F74 0062;0061 0F71 0F72 0F72 0F74 0062;0061 0F71 0F72 0F72 0F74 0062;
+0061 0F72 0F74 0F72 0F71 0062;0061 0F71 0F72 0F72 0F74 0062;0061 0F71 0F72 0F72 0F74 0062;0061 0F71 0F72 0F72 0F74 0062;0061 0F71 0F72 0F72 0F74 0062;
+0061 0321 0F74 0F72 0F74 0062;0061 0F72 0F74 0F74 0321 0062;0061 0F72 0F74 0F74 0321 0062;0061 0F72 0F74 0F74 0321 0062;0061 0F72 0F74 0F74 0321 0062;
+0061 0F74 0321 0F74 0F72 0062;0061 0F72 0F74 0F74 0321 0062;0061 0F72 0F74 0F74 0321 0062;0061 0F72 0F74 0F74 0321 0062;0061 0F72 0F74 0F74 0321 0062;
+0061 0F74 0F72 0F71 0F7A 0062;0061 0F71 0F72 0F7A 0F74 0062;0061 0F71 0F72 0F7A 0F74 0062;0061 0F71 0F72 0F7A 0F74 0062;0061 0F71 0F72 0F7A 0F74 0062;
+0061 0F7A 0F74 0F72 0F71 0062;0061 0F71 0F7A 0F72 0F74 0062;0061 0F71 0F7A 0F72 0F74 0062;0061 0F71 0F7A 0F72 0F74 0062;0061 0F71 0F7A 0F72 0F74 0062;
+0061 0F74 0F72 0F71 0F7B 0062;0061 0F71 0F72 0F7B 0F74 0062;0061 0F71 0F72 0F7B 0F74 0062;0061 0F71 0F72 0F7B 0F74 0062;0061 0F71 0F72 0F7B 0F74 0062;
+0061 0F7B 0F74 0F72 0F71 0062;0061 0F71 0F7B 0F72 0F74 0062;0061 0F71 0F7B 0F72 0F74 0062;0061 0F71 0F7B 0F72 0F74 0062;0061 0F71 0F7B 0F72 0F74 0062;
+0061 0F74 0F72 0F71 0F7C 0062;0061 0F71 0F72 0F7C 0F74 0062;0061 0F71 0F72 0F7C 0F74 0062;0061 0F71 0F72 0F7C 0F74 0062;0061 0F71 0F72 0F7C 0F74 0062;
+0061 0F7C 0F74 0F72 0F71 0062;0061 0F71 0F7C 0F72 0F74 0062;0061 0F71 0F7C 0F72 0F74 0062;0061 0F71 0F7C 0F72 0F74 0062;0061 0F71 0F7C 0F72 0F74 0062;
+0061 0F74 0F72 0F71 0F7D 0062;0061 0F71 0F72 0F7D 0F74 0062;0061 0F71 0F72 0F7D 0F74 0062;0061 0F71 0F72 0F7D 0F74 0062;0061 0F71 0F72 0F7D 0F74 0062;
+0061 0F7D 0F74 0F72 0F71 0062;0061 0F71 0F7D 0F72 0F74 0062;0061 0F71 0F7D 0F72 0F74 0062;0061 0F71 0F7D 0F72 0F74 0062;0061 0F71 0F7D 0F72 0F74 0062;
+0061 0F74 0F72 0F71 0F80 0062;0061 0F71 0F72 0F80 0F74 0062;0061 0F71 0F72 0F80 0F74 0062;0061 0F71 0F72 0F80 0F74 0062;0061 0F71 0F72 0F80 0F74 0062;
+0061 0F80 0F74 0F72 0F71 0062;0061 0F71 0F80 0F72 0F74 0062;0061 0F71 0F80 0F72 0F74 0062;0061 0F71 0F80 0F72 0F74 0062;0061 0F71 0F80 0F72 0F74 0062;
+0061 0315 0300 05AE 0F82 0062;00E0 05AE 0F82 0315 0062;0061 05AE 0300 0F82 0315 0062;00E0 05AE 0F82 0315 0062;0061 05AE 0300 0F82 0315 0062;
+0061 0F82 0315 0300 05AE 0062;0061 05AE 0F82 0300 0315 0062;0061 05AE 0F82 0300 0315 0062;0061 05AE 0F82 0300 0315 0062;0061 05AE 0F82 0300 0315 0062;
+0061 0315 0300 05AE 0F83 0062;00E0 05AE 0F83 0315 0062;0061 05AE 0300 0F83 0315 0062;00E0 05AE 0F83 0315 0062;0061 05AE 0300 0F83 0315 0062;
+0061 0F83 0315 0300 05AE 0062;0061 05AE 0F83 0300 0315 0062;0061 05AE 0F83 0300 0315 0062;0061 05AE 0F83 0300 0315 0062;0061 05AE 0F83 0300 0315 0062;
+0061 05B0 094D 3099 0F84 0062;0061 3099 094D 0F84 05B0 0062;0061 3099 094D 0F84 05B0 0062;0061 3099 094D 0F84 05B0 0062;0061 3099 094D 0F84 05B0 0062;
+0061 0F84 05B0 094D 3099 0062;0061 3099 0F84 094D 05B0 0062;0061 3099 0F84 094D 05B0 0062;0061 3099 0F84 094D 05B0 0062;0061 3099 0F84 094D 05B0 0062;
+0061 0315 0300 05AE 0F86 0062;00E0 05AE 0F86 0315 0062;0061 05AE 0300 0F86 0315 0062;00E0 05AE 0F86 0315 0062;0061 05AE 0300 0F86 0315 0062;
+0061 0F86 0315 0300 05AE 0062;0061 05AE 0F86 0300 0315 0062;0061 05AE 0F86 0300 0315 0062;0061 05AE 0F86 0300 0315 0062;0061 05AE 0F86 0300 0315 0062;
+0061 0315 0300 05AE 0F87 0062;00E0 05AE 0F87 0315 0062;0061 05AE 0300 0F87 0315 0062;00E0 05AE 0F87 0315 0062;0061 05AE 0300 0F87 0315 0062;
+0061 0F87 0315 0300 05AE 0062;0061 05AE 0F87 0300 0315 0062;0061 05AE 0F87 0300 0315 0062;0061 05AE 0F87 0300 0315 0062;0061 05AE 0F87 0300 0315 0062;
+0061 059A 0316 302A 0FC6 0062;0061 302A 0316 0FC6 059A 0062;0061 302A 0316 0FC6 059A 0062;0061 302A 0316 0FC6 059A 0062;0061 302A 0316 0FC6 059A 0062;
+0061 0FC6 059A 0316 302A 0062;0061 302A 0FC6 0316 059A 0062;0061 302A 0FC6 0316 059A 0062;0061 302A 0FC6 0316 059A 0062;0061 302A 0FC6 0316 059A 0062;
+0061 3099 093C 0334 1037 0062;0061 0334 093C 1037 3099 0062;0061 0334 093C 1037 3099 0062;0061 0334 093C 1037 3099 0062;0061 0334 093C 1037 3099 0062;
+0061 1037 3099 093C 0334 0062;0061 0334 1037 093C 3099 0062;0061 0334 1037 093C 3099 0062;0061 0334 1037 093C 3099 0062;0061 0334 1037 093C 3099 0062;
+0061 05B0 094D 3099 1039 0062;0061 3099 094D 1039 05B0 0062;0061 3099 094D 1039 05B0 0062;0061 3099 094D 1039 05B0 0062;0061 3099 094D 1039 05B0 0062;
+0061 1039 05B0 094D 3099 0062;0061 3099 1039 094D 05B0 0062;0061 3099 1039 094D 05B0 0062;0061 3099 1039 094D 05B0 0062;0061 3099 1039 094D 05B0 0062;
+0061 0315 0300 05AE 135F 0062;00E0 05AE 135F 0315 0062;0061 05AE 0300 135F 0315 0062;00E0 05AE 135F 0315 0062;0061 05AE 0300 135F 0315 0062;
+0061 135F 0315 0300 05AE 0062;0061 05AE 135F 0300 0315 0062;0061 05AE 135F 0300 0315 0062;0061 05AE 135F 0300 0315 0062;0061 05AE 135F 0300 0315 0062;
+0061 05B0 094D 3099 1714 0062;0061 3099 094D 1714 05B0 0062;0061 3099 094D 1714 05B0 0062;0061 3099 094D 1714 05B0 0062;0061 3099 094D 1714 05B0 0062;
+0061 1714 05B0 094D 3099 0062;0061 3099 1714 094D 05B0 0062;0061 3099 1714 094D 05B0 0062;0061 3099 1714 094D 05B0 0062;0061 3099 1714 094D 05B0 0062;
+0061 05B0 094D 3099 1734 0062;0061 3099 094D 1734 05B0 0062;0061 3099 094D 1734 05B0 0062;0061 3099 094D 1734 05B0 0062;0061 3099 094D 1734 05B0 0062;
+0061 1734 05B0 094D 3099 0062;0061 3099 1734 094D 05B0 0062;0061 3099 1734 094D 05B0 0062;0061 3099 1734 094D 05B0 0062;0061 3099 1734 094D 05B0 0062;
+0061 05B0 094D 3099 17D2 0062;0061 3099 094D 17D2 05B0 0062;0061 3099 094D 17D2 05B0 0062;0061 3099 094D 17D2 05B0 0062;0061 3099 094D 17D2 05B0 0062;
+0061 17D2 05B0 094D 3099 0062;0061 3099 17D2 094D 05B0 0062;0061 3099 17D2 094D 05B0 0062;0061 3099 17D2 094D 05B0 0062;0061 3099 17D2 094D 05B0 0062;
+0061 0315 0300 05AE 17DD 0062;00E0 05AE 17DD 0315 0062;0061 05AE 0300 17DD 0315 0062;00E0 05AE 17DD 0315 0062;0061 05AE 0300 17DD 0315 0062;
+0061 17DD 0315 0300 05AE 0062;0061 05AE 17DD 0300 0315 0062;0061 05AE 17DD 0300 0315 0062;0061 05AE 17DD 0300 0315 0062;0061 05AE 17DD 0300 0315 0062;
+0061 0300 05AE 1D16D 18A9 0062;00E0 1D16D 05AE 18A9 0062;0061 1D16D 05AE 18A9 0300 0062;00E0 1D16D 05AE 18A9 0062;0061 1D16D 05AE 18A9 0300 0062;
+0061 18A9 0300 05AE 1D16D 0062;00E0 1D16D 18A9 05AE 0062;0061 1D16D 18A9 05AE 0300 0062;00E0 1D16D 18A9 05AE 0062;0061 1D16D 18A9 05AE 0300 0062;
+0061 302E 059A 0316 1939 0062;0061 0316 059A 1939 302E 0062;0061 0316 059A 1939 302E 0062;0061 0316 059A 1939 302E 0062;0061 0316 059A 1939 302E 0062;
+0061 1939 302E 059A 0316 0062;0061 0316 1939 059A 302E 0062;0061 0316 1939 059A 302E 0062;0061 0316 1939 059A 302E 0062;0061 0316 1939 059A 302E 0062;
+0061 0315 0300 05AE 193A 0062;00E0 05AE 193A 0315 0062;0061 05AE 0300 193A 0315 0062;00E0 05AE 193A 0315 0062;0061 05AE 0300 193A 0315 0062;
+0061 193A 0315 0300 05AE 0062;0061 05AE 193A 0300 0315 0062;0061 05AE 193A 0300 0315 0062;0061 05AE 193A 0300 0315 0062;0061 05AE 193A 0300 0315 0062;
+0061 059A 0316 302A 193B 0062;0061 302A 0316 193B 059A 0062;0061 302A 0316 193B 059A 0062;0061 302A 0316 193B 059A 0062;0061 302A 0316 193B 059A 0062;
+0061 193B 059A 0316 302A 0062;0061 302A 193B 0316 059A 0062;0061 302A 193B 0316 059A 0062;0061 302A 193B 0316 059A 0062;0061 302A 193B 0316 059A 0062;
+0061 0315 0300 05AE 1A17 0062;00E0 05AE 1A17 0315 0062;0061 05AE 0300 1A17 0315 0062;00E0 05AE 1A17 0315 0062;0061 05AE 0300 1A17 0315 0062;
+0061 1A17 0315 0300 05AE 0062;0061 05AE 1A17 0300 0315 0062;0061 05AE 1A17 0300 0315 0062;0061 05AE 1A17 0300 0315 0062;0061 05AE 1A17 0300 0315 0062;
+0061 059A 0316 302A 1A18 0062;0061 302A 0316 1A18 059A 0062;0061 302A 0316 1A18 059A 0062;0061 302A 0316 1A18 059A 0062;0061 302A 0316 1A18 059A 0062;
+0061 1A18 059A 0316 302A 0062;0061 302A 1A18 0316 059A 0062;0061 302A 1A18 0316 059A 0062;0061 302A 1A18 0316 059A 0062;0061 302A 1A18 0316 059A 0062;
+0061 0315 0300 05AE 1DC0 0062;00E0 05AE 1DC0 0315 0062;0061 05AE 0300 1DC0 0315 0062;00E0 05AE 1DC0 0315 0062;0061 05AE 0300 1DC0 0315 0062;
+0061 1DC0 0315 0300 05AE 0062;0061 05AE 1DC0 0300 0315 0062;0061 05AE 1DC0 0300 0315 0062;0061 05AE 1DC0 0300 0315 0062;0061 05AE 1DC0 0300 0315 0062;
+0061 0315 0300 05AE 1DC1 0062;00E0 05AE 1DC1 0315 0062;0061 05AE 0300 1DC1 0315 0062;00E0 05AE 1DC1 0315 0062;0061 05AE 0300 1DC1 0315 0062;
+0061 1DC1 0315 0300 05AE 0062;0061 05AE 1DC1 0300 0315 0062;0061 05AE 1DC1 0300 0315 0062;0061 05AE 1DC1 0300 0315 0062;0061 05AE 1DC1 0300 0315 0062;
+0061 059A 0316 302A 1DC2 0062;0061 302A 0316 1DC2 059A 0062;0061 302A 0316 1DC2 059A 0062;0061 302A 0316 1DC2 059A 0062;0061 302A 0316 1DC2 059A 0062;
+0061 1DC2 059A 0316 302A 0062;0061 302A 1DC2 0316 059A 0062;0061 302A 1DC2 0316 059A 0062;0061 302A 1DC2 0316 059A 0062;0061 302A 1DC2 0316 059A 0062;
+0061 0315 0300 05AE 1DC3 0062;00E0 05AE 1DC3 0315 0062;0061 05AE 0300 1DC3 0315 0062;00E0 05AE 1DC3 0315 0062;0061 05AE 0300 1DC3 0315 0062;
+0061 1DC3 0315 0300 05AE 0062;0061 05AE 1DC3 0300 0315 0062;0061 05AE 1DC3 0300 0315 0062;0061 05AE 1DC3 0300 0315 0062;0061 05AE 1DC3 0300 0315 0062;
+0061 0315 0300 05AE 20D0 0062;00E0 05AE 20D0 0315 0062;0061 05AE 0300 20D0 0315 0062;00E0 05AE 20D0 0315 0062;0061 05AE 0300 20D0 0315 0062;
+0061 20D0 0315 0300 05AE 0062;0061 05AE 20D0 0300 0315 0062;0061 05AE 20D0 0300 0315 0062;0061 05AE 20D0 0300 0315 0062;0061 05AE 20D0 0300 0315 0062;
+0061 0315 0300 05AE 20D1 0062;00E0 05AE 20D1 0315 0062;0061 05AE 0300 20D1 0315 0062;00E0 05AE 20D1 0315 0062;0061 05AE 0300 20D1 0315 0062;
+0061 20D1 0315 0300 05AE 0062;0061 05AE 20D1 0300 0315 0062;0061 05AE 20D1 0300 0315 0062;0061 05AE 20D1 0300 0315 0062;0061 05AE 20D1 0300 0315 0062;
+0061 093C 0334 20D2 0062;0061 0334 20D2 093C 0062;0061 0334 20D2 093C 0062;0061 0334 20D2 093C 0062;0061 0334 20D2 093C 0062;
+0061 20D2 093C 0334 0062;0061 20D2 0334 093C 0062;0061 20D2 0334 093C 0062;0061 20D2 0334 093C 0062;0061 20D2 0334 093C 0062;
+0061 093C 0334 20D3 0062;0061 0334 20D3 093C 0062;0061 0334 20D3 093C 0062;0061 0334 20D3 093C 0062;0061 0334 20D3 093C 0062;
+0061 20D3 093C 0334 0062;0061 20D3 0334 093C 0062;0061 20D3 0334 093C 0062;0061 20D3 0334 093C 0062;0061 20D3 0334 093C 0062;
+0061 0315 0300 05AE 20D4 0062;00E0 05AE 20D4 0315 0062;0061 05AE 0300 20D4 0315 0062;00E0 05AE 20D4 0315 0062;0061 05AE 0300 20D4 0315 0062;
+0061 20D4 0315 0300 05AE 0062;0061 05AE 20D4 0300 0315 0062;0061 05AE 20D4 0300 0315 0062;0061 05AE 20D4 0300 0315 0062;0061 05AE 20D4 0300 0315 0062;
+0061 0315 0300 05AE 20D5 0062;00E0 05AE 20D5 0315 0062;0061 05AE 0300 20D5 0315 0062;00E0 05AE 20D5 0315 0062;0061 05AE 0300 20D5 0315 0062;
+0061 20D5 0315 0300 05AE 0062;0061 05AE 20D5 0300 0315 0062;0061 05AE 20D5 0300 0315 0062;0061 05AE 20D5 0300 0315 0062;0061 05AE 20D5 0300 0315 0062;
+0061 0315 0300 05AE 20D6 0062;00E0 05AE 20D6 0315 0062;0061 05AE 0300 20D6 0315 0062;00E0 05AE 20D6 0315 0062;0061 05AE 0300 20D6 0315 0062;
+0061 20D6 0315 0300 05AE 0062;0061 05AE 20D6 0300 0315 0062;0061 05AE 20D6 0300 0315 0062;0061 05AE 20D6 0300 0315 0062;0061 05AE 20D6 0300 0315 0062;
+0061 0315 0300 05AE 20D7 0062;00E0 05AE 20D7 0315 0062;0061 05AE 0300 20D7 0315 0062;00E0 05AE 20D7 0315 0062;0061 05AE 0300 20D7 0315 0062;
+0061 20D7 0315 0300 05AE 0062;0061 05AE 20D7 0300 0315 0062;0061 05AE 20D7 0300 0315 0062;0061 05AE 20D7 0300 0315 0062;0061 05AE 20D7 0300 0315 0062;
+0061 093C 0334 20D8 0062;0061 0334 20D8 093C 0062;0061 0334 20D8 093C 0062;0061 0334 20D8 093C 0062;0061 0334 20D8 093C 0062;
+0061 20D8 093C 0334 0062;0061 20D8 0334 093C 0062;0061 20D8 0334 093C 0062;0061 20D8 0334 093C 0062;0061 20D8 0334 093C 0062;
+0061 093C 0334 20D9 0062;0061 0334 20D9 093C 0062;0061 0334 20D9 093C 0062;0061 0334 20D9 093C 0062;0061 0334 20D9 093C 0062;
+0061 20D9 093C 0334 0062;0061 20D9 0334 093C 0062;0061 20D9 0334 093C 0062;0061 20D9 0334 093C 0062;0061 20D9 0334 093C 0062;
+0061 093C 0334 20DA 0062;0061 0334 20DA 093C 0062;0061 0334 20DA 093C 0062;0061 0334 20DA 093C 0062;0061 0334 20DA 093C 0062;
+0061 20DA 093C 0334 0062;0061 20DA 0334 093C 0062;0061 20DA 0334 093C 0062;0061 20DA 0334 093C 0062;0061 20DA 0334 093C 0062;
+0061 0315 0300 05AE 20DB 0062;00E0 05AE 20DB 0315 0062;0061 05AE 0300 20DB 0315 0062;00E0 05AE 20DB 0315 0062;0061 05AE 0300 20DB 0315 0062;
+0061 20DB 0315 0300 05AE 0062;0061 05AE 20DB 0300 0315 0062;0061 05AE 20DB 0300 0315 0062;0061 05AE 20DB 0300 0315 0062;0061 05AE 20DB 0300 0315 0062;
+0061 0315 0300 05AE 20DC 0062;00E0 05AE 20DC 0315 0062;0061 05AE 0300 20DC 0315 0062;00E0 05AE 20DC 0315 0062;0061 05AE 0300 20DC 0315 0062;
+0061 20DC 0315 0300 05AE 0062;0061 05AE 20DC 0300 0315 0062;0061 05AE 20DC 0300 0315 0062;0061 05AE 20DC 0300 0315 0062;0061 05AE 20DC 0300 0315 0062;
+0061 0315 0300 05AE 20E1 0062;00E0 05AE 20E1 0315 0062;0061 05AE 0300 20E1 0315 0062;00E0 05AE 20E1 0315 0062;0061 05AE 0300 20E1 0315 0062;
+0061 20E1 0315 0300 05AE 0062;0061 05AE 20E1 0300 0315 0062;0061 05AE 20E1 0300 0315 0062;0061 05AE 20E1 0300 0315 0062;0061 05AE 20E1 0300 0315 0062;
+0061 093C 0334 20E5 0062;0061 0334 20E5 093C 0062;0061 0334 20E5 093C 0062;0061 0334 20E5 093C 0062;0061 0334 20E5 093C 0062;
+0061 20E5 093C 0334 0062;0061 20E5 0334 093C 0062;0061 20E5 0334 093C 0062;0061 20E5 0334 093C 0062;0061 20E5 0334 093C 0062;
+0061 093C 0334 20E6 0062;0061 0334 20E6 093C 0062;0061 0334 20E6 093C 0062;0061 0334 20E6 093C 0062;0061 0334 20E6 093C 0062;
+0061 20E6 093C 0334 0062;0061 20E6 0334 093C 0062;0061 20E6 0334 093C 0062;0061 20E6 0334 093C 0062;0061 20E6 0334 093C 0062;
+0061 0315 0300 05AE 20E7 0062;00E0 05AE 20E7 0315 0062;0061 05AE 0300 20E7 0315 0062;00E0 05AE 20E7 0315 0062;0061 05AE 0300 20E7 0315 0062;
+0061 20E7 0315 0300 05AE 0062;0061 05AE 20E7 0300 0315 0062;0061 05AE 20E7 0300 0315 0062;0061 05AE 20E7 0300 0315 0062;0061 05AE 20E7 0300 0315 0062;
+0061 059A 0316 302A 20E8 0062;0061 302A 0316 20E8 059A 0062;0061 302A 0316 20E8 059A 0062;0061 302A 0316 20E8 059A 0062;0061 302A 0316 20E8 059A 0062;
+0061 20E8 059A 0316 302A 0062;0061 302A 20E8 0316 059A 0062;0061 302A 20E8 0316 059A 0062;0061 302A 20E8 0316 059A 0062;0061 302A 20E8 0316 059A 0062;
+0061 0315 0300 05AE 20E9 0062;00E0 05AE 20E9 0315 0062;0061 05AE 0300 20E9 0315 0062;00E0 05AE 20E9 0315 0062;0061 05AE 0300 20E9 0315 0062;
+0061 20E9 0315 0300 05AE 0062;0061 05AE 20E9 0300 0315 0062;0061 05AE 20E9 0300 0315 0062;0061 05AE 20E9 0300 0315 0062;0061 05AE 20E9 0300 0315 0062;
+0061 093C 0334 20EA 0062;0061 0334 20EA 093C 0062;0061 0334 20EA 093C 0062;0061 0334 20EA 093C 0062;0061 0334 20EA 093C 0062;
+0061 20EA 093C 0334 0062;0061 20EA 0334 093C 0062;0061 20EA 0334 093C 0062;0061 20EA 0334 093C 0062;0061 20EA 0334 093C 0062;
+0061 093C 0334 20EB 0062;0061 0334 20EB 093C 0062;0061 0334 20EB 093C 0062;0061 0334 20EB 093C 0062;0061 0334 20EB 093C 0062;
+0061 20EB 093C 0334 0062;0061 20EB 0334 093C 0062;0061 20EB 0334 093C 0062;0061 20EB 0334 093C 0062;0061 20EB 0334 093C 0062;
+0061 0316 302A 031B 302A 0062;0061 031B 302A 302A 0316 0062;0061 031B 302A 302A 0316 0062;0061 031B 302A 302A 0316 0062;0061 031B 302A 302A 0316 0062;
+0061 302A 0316 302A 031B 0062;0061 031B 302A 302A 0316 0062;0061 031B 302A 302A 0316 0062;0061 031B 302A 302A 0316 0062;0061 031B 302A 302A 0316 0062;
+0061 0300 05AE 1D16D 302B 0062;00E0 1D16D 05AE 302B 0062;0061 1D16D 05AE 302B 0300 0062;00E0 1D16D 05AE 302B 0062;0061 1D16D 05AE 302B 0300 0062;
+0061 302B 0300 05AE 1D16D 0062;00E0 1D16D 302B 05AE 0062;0061 1D16D 302B 05AE 0300 0062;00E0 1D16D 302B 05AE 0062;0061 1D16D 302B 05AE 0300 0062;
+0061 035C 0315 0300 302C 0062;00E0 0315 302C 035C 0062;0061 0300 0315 302C 035C 0062;00E0 0315 302C 035C 0062;0061 0300 0315 302C 035C 0062;
+0061 302C 035C 0315 0300 0062;00E0 302C 0315 035C 0062;0061 0300 302C 0315 035C 0062;00E0 302C 0315 035C 0062;0061 0300 302C 0315 035C 0062;
+0061 302E 059A 0316 302D 0062;0061 0316 059A 302D 302E 0062;0061 0316 059A 302D 302E 0062;0061 0316 059A 302D 302E 0062;0061 0316 059A 302D 302E 0062;
+0061 302D 302E 059A 0316 0062;0061 0316 302D 059A 302E 0062;0061 0316 302D 059A 302E 0062;0061 0316 302D 059A 302E 0062;0061 0316 302D 059A 302E 0062;
+0061 1D16D 302E 059A 302E 0062;0061 059A 302E 302E 1D16D 0062;0061 059A 302E 302E 1D16D 0062;0061 059A 302E 302E 1D16D 0062;0061 059A 302E 302E 1D16D 0062;
+0061 302E 1D16D 302E 059A 0062;0061 059A 302E 302E 1D16D 0062;0061 059A 302E 302E 1D16D 0062;0061 059A 302E 302E 1D16D 0062;0061 059A 302E 302E 1D16D 0062;
+0061 1D16D 302E 059A 302F 0062;0061 059A 302E 302F 1D16D 0062;0061 059A 302E 302F 1D16D 0062;0061 059A 302E 302F 1D16D 0062;0061 059A 302E 302F 1D16D 0062;
+0061 302F 1D16D 302E 059A 0062;0061 059A 302F 302E 1D16D 0062;0061 059A 302F 302E 1D16D 0062;0061 059A 302F 302E 1D16D 0062;0061 059A 302F 302E 1D16D 0062;
+0061 094D 3099 093C 3099 0062;0061 093C 3099 3099 094D 0062;0061 093C 3099 3099 094D 0062;0061 093C 3099 3099 094D 0062;0061 093C 3099 3099 094D 0062;
+0061 3099 094D 3099 093C 0062;0061 093C 3099 3099 094D 0062;0061 093C 3099 3099 094D 0062;0061 093C 3099 3099 094D 0062;0061 093C 3099 3099 094D 0062;
+0061 094D 3099 093C 309A 0062;0061 093C 3099 309A 094D 0062;0061 093C 3099 309A 094D 0062;0061 093C 3099 309A 094D 0062;0061 093C 3099 309A 094D 0062;
+0061 309A 094D 3099 093C 0062;0061 093C 309A 3099 094D 0062;0061 093C 309A 3099 094D 0062;0061 093C 309A 3099 094D 0062;0061 093C 309A 3099 094D 0062;
+0061 05B0 094D 3099 A806 0062;0061 3099 094D A806 05B0 0062;0061 3099 094D A806 05B0 0062;0061 3099 094D A806 05B0 0062;0061 3099 094D A806 05B0 0062;
+0061 A806 05B0 094D 3099 0062;0061 3099 A806 094D 05B0 0062;0061 3099 A806 094D 05B0 0062;0061 3099 A806 094D 05B0 0062;0061 3099 A806 094D 05B0 0062;
+0061 064B FB1E 05C2 FB1E 0062;0061 05C2 FB1E FB1E 064B 0062;0061 05C2 FB1E FB1E 064B 0062;0061 05C2 FB1E FB1E 064B 0062;0061 05C2 FB1E FB1E 064B 0062;
+0061 FB1E 064B FB1E 05C2 0062;0061 05C2 FB1E FB1E 064B 0062;0061 05C2 FB1E FB1E 064B 0062;0061 05C2 FB1E FB1E 064B 0062;0061 05C2 FB1E FB1E 064B 0062;
+0061 0315 0300 05AE FE20 0062;00E0 05AE FE20 0315 0062;0061 05AE 0300 FE20 0315 0062;00E0 05AE FE20 0315 0062;0061 05AE 0300 FE20 0315 0062;
+0061 FE20 0315 0300 05AE 0062;0061 05AE FE20 0300 0315 0062;0061 05AE FE20 0300 0315 0062;0061 05AE FE20 0300 0315 0062;0061 05AE FE20 0300 0315 0062;
+0061 0315 0300 05AE FE21 0062;00E0 05AE FE21 0315 0062;0061 05AE 0300 FE21 0315 0062;00E0 05AE FE21 0315 0062;0061 05AE 0300 FE21 0315 0062;
+0061 FE21 0315 0300 05AE 0062;0061 05AE FE21 0300 0315 0062;0061 05AE FE21 0300 0315 0062;0061 05AE FE21 0300 0315 0062;0061 05AE FE21 0300 0315 0062;
+0061 0315 0300 05AE FE22 0062;00E0 05AE FE22 0315 0062;0061 05AE 0300 FE22 0315 0062;00E0 05AE FE22 0315 0062;0061 05AE 0300 FE22 0315 0062;
+0061 FE22 0315 0300 05AE 0062;0061 05AE FE22 0300 0315 0062;0061 05AE FE22 0300 0315 0062;0061 05AE FE22 0300 0315 0062;0061 05AE FE22 0300 0315 0062;
+0061 0315 0300 05AE FE23 0062;00E0 05AE FE23 0315 0062;0061 05AE 0300 FE23 0315 0062;00E0 05AE FE23 0315 0062;0061 05AE 0300 FE23 0315 0062;
+0061 FE23 0315 0300 05AE 0062;0061 05AE FE23 0300 0315 0062;0061 05AE FE23 0300 0315 0062;0061 05AE FE23 0300 0315 0062;0061 05AE FE23 0300 0315 0062;
+0061 059A 0316 302A 10A0D 0062;0061 302A 0316 10A0D 059A 0062;0061 302A 0316 10A0D 059A 0062;0061 302A 0316 10A0D 059A 0062;0061 302A 0316 10A0D 059A 0062;
+0061 10A0D 059A 0316 302A 0062;0061 302A 10A0D 0316 059A 0062;0061 302A 10A0D 0316 059A 0062;0061 302A 10A0D 0316 059A 0062;0061 302A 10A0D 0316 059A 0062;
+0061 0315 0300 05AE 10A0F 0062;00E0 05AE 10A0F 0315 0062;0061 05AE 0300 10A0F 0315 0062;00E0 05AE 10A0F 0315 0062;0061 05AE 0300 10A0F 0315 0062;
+0061 10A0F 0315 0300 05AE 0062;0061 05AE 10A0F 0300 0315 0062;0061 05AE 10A0F 0300 0315 0062;0061 05AE 10A0F 0300 0315 0062;0061 05AE 10A0F 0300 0315 0062;
+0061 0315 0300 05AE 10A38 0062;00E0 05AE 10A38 0315 0062;0061 05AE 0300 10A38 0315 0062;00E0 05AE 10A38 0315 0062;0061 05AE 0300 10A38 0315 0062;
+0061 10A38 0315 0300 05AE 0062;0061 05AE 10A38 0300 0315 0062;0061 05AE 10A38 0300 0315 0062;0061 05AE 10A38 0300 0315 0062;0061 05AE 10A38 0300 0315 0062;
+0061 093C 0334 10A39 0062;0061 0334 10A39 093C 0062;0061 0334 10A39 093C 0062;0061 0334 10A39 093C 0062;0061 0334 10A39 093C 0062;
+0061 10A39 093C 0334 0062;0061 10A39 0334 093C 0062;0061 10A39 0334 093C 0062;0061 10A39 0334 093C 0062;0061 10A39 0334 093C 0062;
+0061 059A 0316 302A 10A3A 0062;0061 302A 0316 10A3A 059A 0062;0061 302A 0316 10A3A 059A 0062;0061 302A 0316 10A3A 059A 0062;0061 302A 0316 10A3A 059A 0062;
+0061 10A3A 059A 0316 302A 0062;0061 302A 10A3A 0316 059A 0062;0061 302A 10A3A 0316 059A 0062;0061 302A 10A3A 0316 059A 0062;0061 302A 10A3A 0316 059A 0062;
+0061 05B0 094D 3099 10A3F 0062;0061 3099 094D 10A3F 05B0 0062;0061 3099 094D 10A3F 05B0 0062;0061 3099 094D 10A3F 05B0 0062;0061 3099 094D 10A3F 05B0 0062;
+0061 10A3F 05B0 094D 3099 0062;0061 3099 10A3F 094D 05B0 0062;0061 3099 10A3F 094D 05B0 0062;0061 3099 10A3F 094D 05B0 0062;0061 3099 10A3F 094D 05B0 0062;
+0061 302A 031B 0321 1D165 0062;0061 0321 031B 1D165 302A 0062;0061 0321 031B 1D165 302A 0062;0061 0321 031B 1D165 302A 0062;0061 0321 031B 1D165 302A 0062;
+0061 1D165 302A 031B 0321 0062;0061 0321 1D165 031B 302A 0062;0061 0321 1D165 031B 302A 0062;0061 0321 1D165 031B 302A 0062;0061 0321 1D165 031B 302A 0062;
+0061 302A 031B 0321 1D166 0062;0061 0321 031B 1D166 302A 0062;0061 0321 031B 1D166 302A 0062;0061 0321 031B 1D166 302A 0062;0061 0321 031B 1D166 302A 0062;
+0061 1D166 302A 031B 0321 0062;0061 0321 1D166 031B 302A 0062;0061 0321 1D166 031B 302A 0062;0061 0321 1D166 031B 302A 0062;0061 0321 1D166 031B 302A 0062;
+0061 093C 0334 1D167 0062;0061 0334 1D167 093C 0062;0061 0334 1D167 093C 0062;0061 0334 1D167 093C 0062;0061 0334 1D167 093C 0062;
+0061 1D167 093C 0334 0062;0061 1D167 0334 093C 0062;0061 1D167 0334 093C 0062;0061 1D167 0334 093C 0062;0061 1D167 0334 093C 0062;
+0061 093C 0334 1D168 0062;0061 0334 1D168 093C 0062;0061 0334 1D168 093C 0062;0061 0334 1D168 093C 0062;0061 0334 1D168 093C 0062;
+0061 1D168 093C 0334 0062;0061 1D168 0334 093C 0062;0061 1D168 0334 093C 0062;0061 1D168 0334 093C 0062;0061 1D168 0334 093C 0062;
+0061 093C 0334 1D169 0062;0061 0334 1D169 093C 0062;0061 0334 1D169 093C 0062;0061 0334 1D169 093C 0062;0061 0334 1D169 093C 0062;
+0061 1D169 093C 0334 0062;0061 1D169 0334 093C 0062;0061 1D169 0334 093C 0062;0061 1D169 0334 093C 0062;0061 1D169 0334 093C 0062;
+0061 05AE 1D16D 302E 1D16D 0062;0061 302E 1D16D 1D16D 05AE 0062;0061 302E 1D16D 1D16D 05AE 0062;0061 302E 1D16D 1D16D 05AE 0062;0061 302E 1D16D 1D16D 05AE 0062;
+0061 1D16D 05AE 1D16D 302E 0062;0061 302E 1D16D 1D16D 05AE 0062;0061 302E 1D16D 1D16D 05AE 0062;0061 302E 1D16D 1D16D 05AE 0062;0061 302E 1D16D 1D16D 05AE 0062;
+0061 302A 031B 0321 1D16E 0062;0061 0321 031B 1D16E 302A 0062;0061 0321 031B 1D16E 302A 0062;0061 0321 031B 1D16E 302A 0062;0061 0321 031B 1D16E 302A 0062;
+0061 1D16E 302A 031B 0321 0062;0061 0321 1D16E 031B 302A 0062;0061 0321 1D16E 031B 302A 0062;0061 0321 1D16E 031B 302A 0062;0061 0321 1D16E 031B 302A 0062;
+0061 302A 031B 0321 1D16F 0062;0061 0321 031B 1D16F 302A 0062;0061 0321 031B 1D16F 302A 0062;0061 0321 031B 1D16F 302A 0062;0061 0321 031B 1D16F 302A 0062;
+0061 1D16F 302A 031B 0321 0062;0061 0321 1D16F 031B 302A 0062;0061 0321 1D16F 031B 302A 0062;0061 0321 1D16F 031B 302A 0062;0061 0321 1D16F 031B 302A 0062;
+0061 302A 031B 0321 1D170 0062;0061 0321 031B 1D170 302A 0062;0061 0321 031B 1D170 302A 0062;0061 0321 031B 1D170 302A 0062;0061 0321 031B 1D170 302A 0062;
+0061 1D170 302A 031B 0321 0062;0061 0321 1D170 031B 302A 0062;0061 0321 1D170 031B 302A 0062;0061 0321 1D170 031B 302A 0062;0061 0321 1D170 031B 302A 0062;
+0061 302A 031B 0321 1D171 0062;0061 0321 031B 1D171 302A 0062;0061 0321 031B 1D171 302A 0062;0061 0321 031B 1D171 302A 0062;0061 0321 031B 1D171 302A 0062;
+0061 1D171 302A 031B 0321 0062;0061 0321 1D171 031B 302A 0062;0061 0321 1D171 031B 302A 0062;0061 0321 1D171 031B 302A 0062;0061 0321 1D171 031B 302A 0062;
+0061 302A 031B 0321 1D172 0062;0061 0321 031B 1D172 302A 0062;0061 0321 031B 1D172 302A 0062;0061 0321 031B 1D172 302A 0062;0061 0321 031B 1D172 302A 0062;
+0061 1D172 302A 031B 0321 0062;0061 0321 1D172 031B 302A 0062;0061 0321 1D172 031B 302A 0062;0061 0321 1D172 031B 302A 0062;0061 0321 1D172 031B 302A 0062;
+0061 059A 0316 302A 1D17B 0062;0061 302A 0316 1D17B 059A 0062;0061 302A 0316 1D17B 059A 0062;0061 302A 0316 1D17B 059A 0062;0061 302A 0316 1D17B 059A 0062;
+0061 1D17B 059A 0316 302A 0062;0061 302A 1D17B 0316 059A 0062;0061 302A 1D17B 0316 059A 0062;0061 302A 1D17B 0316 059A 0062;0061 302A 1D17B 0316 059A 0062;
+0061 059A 0316 302A 1D17C 0062;0061 302A 0316 1D17C 059A 0062;0061 302A 0316 1D17C 059A 0062;0061 302A 0316 1D17C 059A 0062;0061 302A 0316 1D17C 059A 0062;
+0061 1D17C 059A 0316 302A 0062;0061 302A 1D17C 0316 059A 0062;0061 302A 1D17C 0316 059A 0062;0061 302A 1D17C 0316 059A 0062;0061 302A 1D17C 0316 059A 0062;
+0061 059A 0316 302A 1D17D 0062;0061 302A 0316 1D17D 059A 0062;0061 302A 0316 1D17D 059A 0062;0061 302A 0316 1D17D 059A 0062;0061 302A 0316 1D17D 059A 0062;
+0061 1D17D 059A 0316 302A 0062;0061 302A 1D17D 0316 059A 0062;0061 302A 1D17D 0316 059A 0062;0061 302A 1D17D 0316 059A 0062;0061 302A 1D17D 0316 059A 0062;
+0061 059A 0316 302A 1D17E 0062;0061 302A 0316 1D17E 059A 0062;0061 302A 0316 1D17E 059A 0062;0061 302A 0316 1D17E 059A 0062;0061 302A 0316 1D17E 059A 0062;
+0061 1D17E 059A 0316 302A 0062;0061 302A 1D17E 0316 059A 0062;0061 302A 1D17E 0316 059A 0062;0061 302A 1D17E 0316 059A 0062;0061 302A 1D17E 0316 059A 0062;
+0061 059A 0316 302A 1D17F 0062;0061 302A 0316 1D17F 059A 0062;0061 302A 0316 1D17F 059A 0062;0061 302A 0316 1D17F 059A 0062;0061 302A 0316 1D17F 059A 0062;
+0061 1D17F 059A 0316 302A 0062;0061 302A 1D17F 0316 059A 0062;0061 302A 1D17F 0316 059A 0062;0061 302A 1D17F 0316 059A 0062;0061 302A 1D17F 0316 059A 0062;
+0061 059A 0316 302A 1D180 0062;0061 302A 0316 1D180 059A 0062;0061 302A 0316 1D180 059A 0062;0061 302A 0316 1D180 059A 0062;0061 302A 0316 1D180 059A 0062;
+0061 1D180 059A 0316 302A 0062;0061 302A 1D180 0316 059A 0062;0061 302A 1D180 0316 059A 0062;0061 302A 1D180 0316 059A 0062;0061 302A 1D180 0316 059A 0062;
+0061 059A 0316 302A 1D181 0062;0061 302A 0316 1D181 059A 0062;0061 302A 0316 1D181 059A 0062;0061 302A 0316 1D181 059A 0062;0061 302A 0316 1D181 059A 0062;
+0061 1D181 059A 0316 302A 0062;0061 302A 1D181 0316 059A 0062;0061 302A 1D181 0316 059A 0062;0061 302A 1D181 0316 059A 0062;0061 302A 1D181 0316 059A 0062;
+0061 059A 0316 302A 1D182 0062;0061 302A 0316 1D182 059A 0062;0061 302A 0316 1D182 059A 0062;0061 302A 0316 1D182 059A 0062;0061 302A 0316 1D182 059A 0062;
+0061 1D182 059A 0316 302A 0062;0061 302A 1D182 0316 059A 0062;0061 302A 1D182 0316 059A 0062;0061 302A 1D182 0316 059A 0062;0061 302A 1D182 0316 059A 0062;
+0061 0315 0300 05AE 1D185 0062;00E0 05AE 1D185 0315 0062;0061 05AE 0300 1D185 0315 0062;00E0 05AE 1D185 0315 0062;0061 05AE 0300 1D185 0315 0062;
+0061 1D185 0315 0300 05AE 0062;0061 05AE 1D185 0300 0315 0062;0061 05AE 1D185 0300 0315 0062;0061 05AE 1D185 0300 0315 0062;0061 05AE 1D185 0300 0315 0062;
+0061 0315 0300 05AE 1D186 0062;00E0 05AE 1D186 0315 0062;0061 05AE 0300 1D186 0315 0062;00E0 05AE 1D186 0315 0062;0061 05AE 0300 1D186 0315 0062;
+0061 1D186 0315 0300 05AE 0062;0061 05AE 1D186 0300 0315 0062;0061 05AE 1D186 0300 0315 0062;0061 05AE 1D186 0300 0315 0062;0061 05AE 1D186 0300 0315 0062;
+0061 0315 0300 05AE 1D187 0062;00E0 05AE 1D187 0315 0062;0061 05AE 0300 1D187 0315 0062;00E0 05AE 1D187 0315 0062;0061 05AE 0300 1D187 0315 0062;
+0061 1D187 0315 0300 05AE 0062;0061 05AE 1D187 0300 0315 0062;0061 05AE 1D187 0300 0315 0062;0061 05AE 1D187 0300 0315 0062;0061 05AE 1D187 0300 0315 0062;
+0061 0315 0300 05AE 1D188 0062;00E0 05AE 1D188 0315 0062;0061 05AE 0300 1D188 0315 0062;00E0 05AE 1D188 0315 0062;0061 05AE 0300 1D188 0315 0062;
+0061 1D188 0315 0300 05AE 0062;0061 05AE 1D188 0300 0315 0062;0061 05AE 1D188 0300 0315 0062;0061 05AE 1D188 0300 0315 0062;0061 05AE 1D188 0300 0315 0062;
+0061 0315 0300 05AE 1D189 0062;00E0 05AE 1D189 0315 0062;0061 05AE 0300 1D189 0315 0062;00E0 05AE 1D189 0315 0062;0061 05AE 0300 1D189 0315 0062;
+0061 1D189 0315 0300 05AE 0062;0061 05AE 1D189 0300 0315 0062;0061 05AE 1D189 0300 0315 0062;0061 05AE 1D189 0300 0315 0062;0061 05AE 1D189 0300 0315 0062;
+0061 059A 0316 302A 1D18A 0062;0061 302A 0316 1D18A 059A 0062;0061 302A 0316 1D18A 059A 0062;0061 302A 0316 1D18A 059A 0062;0061 302A 0316 1D18A 059A 0062;
+0061 1D18A 059A 0316 302A 0062;0061 302A 1D18A 0316 059A 0062;0061 302A 1D18A 0316 059A 0062;0061 302A 1D18A 0316 059A 0062;0061 302A 1D18A 0316 059A 0062;
+0061 059A 0316 302A 1D18B 0062;0061 302A 0316 1D18B 059A 0062;0061 302A 0316 1D18B 059A 0062;0061 302A 0316 1D18B 059A 0062;0061 302A 0316 1D18B 059A 0062;
+0061 1D18B 059A 0316 302A 0062;0061 302A 1D18B 0316 059A 0062;0061 302A 1D18B 0316 059A 0062;0061 302A 1D18B 0316 059A 0062;0061 302A 1D18B 0316 059A 0062;
+0061 0315 0300 05AE 1D1AA 0062;00E0 05AE 1D1AA 0315 0062;0061 05AE 0300 1D1AA 0315 0062;00E0 05AE 1D1AA 0315 0062;0061 05AE 0300 1D1AA 0315 0062;
+0061 1D1AA 0315 0300 05AE 0062;0061 05AE 1D1AA 0300 0315 0062;0061 05AE 1D1AA 0300 0315 0062;0061 05AE 1D1AA 0300 0315 0062;0061 05AE 1D1AA 0300 0315 0062;
+0061 0315 0300 05AE 1D1AB 0062;00E0 05AE 1D1AB 0315 0062;0061 05AE 0300 1D1AB 0315 0062;00E0 05AE 1D1AB 0315 0062;0061 05AE 0300 1D1AB 0315 0062;
+0061 1D1AB 0315 0300 05AE 0062;0061 05AE 1D1AB 0300 0315 0062;0061 05AE 1D1AB 0300 0315 0062;0061 05AE 1D1AB 0300 0315 0062;0061 05AE 1D1AB 0300 0315 0062;
+0061 0315 0300 05AE 1D1AC 0062;00E0 05AE 1D1AC 0315 0062;0061 05AE 0300 1D1AC 0315 0062;00E0 05AE 1D1AC 0315 0062;0061 05AE 0300 1D1AC 0315 0062;
+0061 1D1AC 0315 0300 05AE 0062;0061 05AE 1D1AC 0300 0315 0062;0061 05AE 1D1AC 0300 0315 0062;0061 05AE 1D1AC 0300 0315 0062;0061 05AE 1D1AC 0300 0315 0062;
+0061 0315 0300 05AE 1D1AD 0062;00E0 05AE 1D1AD 0315 0062;0061 05AE 0300 1D1AD 0315 0062;00E0 05AE 1D1AD 0315 0062;0061 05AE 0300 1D1AD 0315 0062;
+0061 1D1AD 0315 0300 05AE 0062;0061 05AE 1D1AD 0300 0315 0062;0061 05AE 1D1AD 0300 0315 0062;0061 05AE 1D1AD 0300 0315 0062;0061 05AE 1D1AD 0300 0315 0062;
+0061 0315 0300 05AE 1D242 0062;00E0 05AE 1D242 0315 0062;0061 05AE 0300 1D242 0315 0062;00E0 05AE 1D242 0315 0062;0061 05AE 0300 1D242 0315 0062;
+0061 1D242 0315 0300 05AE 0062;0061 05AE 1D242 0300 0315 0062;0061 05AE 1D242 0300 0315 0062;0061 05AE 1D242 0300 0315 0062;0061 05AE 1D242 0300 0315 0062;
+0061 0315 0300 05AE 1D243 0062;00E0 05AE 1D243 0315 0062;0061 05AE 0300 1D243 0315 0062;00E0 05AE 1D243 0315 0062;0061 05AE 0300 1D243 0315 0062;
+0061 1D243 0315 0300 05AE 0062;0061 05AE 1D243 0300 0315 0062;0061 05AE 1D243 0300 0315 0062;0061 05AE 1D243 0300 0315 0062;0061 05AE 1D243 0300 0315 0062;
+0061 0315 0300 05AE 1D244 0062;00E0 05AE 1D244 0315 0062;0061 05AE 0300 1D244 0315 0062;00E0 05AE 1D244 0315 0062;0061 05AE 0300 1D244 0315 0062;
+0061 1D244 0315 0300 05AE 0062;0061 05AE 1D244 0300 0315 0062;0061 05AE 1D244 0300 0315 0062;0061 05AE 1D244 0300 0315 0062;0061 05AE 1D244 0300 0315 0062;
+#
+@Part3 # PRI #29 Test
+#
+09C7 0334 09BE;09C7 0334 09BE;09C7 0334 09BE;09C7 0334 09BE;09C7 0334 09BE;
+09C7 0334 09D7;09C7 0334 09D7;09C7 0334 09D7;09C7 0334 09D7;09C7 0334 09D7;
+0B47 0334 0B3E;0B47 0334 0B3E;0B47 0334 0B3E;0B47 0334 0B3E;0B47 0334 0B3E;
+0B47 0334 0B56;0B47 0334 0B56;0B47 0334 0B56;0B47 0334 0B56;0B47 0334 0B56;
+0B47 0334 0B57;0B47 0334 0B57;0B47 0334 0B57;0B47 0334 0B57;0B47 0334 0B57;
+0B92 0334 0BD7;0B92 0334 0BD7;0B92 0334 0BD7;0B92 0334 0BD7;0B92 0334 0BD7;
+0BC6 0334 0BBE;0BC6 0334 0BBE;0BC6 0334 0BBE;0BC6 0334 0BBE;0BC6 0334 0BBE;
+0BC6 0334 0BD7;0BC6 0334 0BD7;0BC6 0334 0BD7;0BC6 0334 0BD7;0BC6 0334 0BD7;
+0BC7 0334 0BBE;0BC7 0334 0BBE;0BC7 0334 0BBE;0BC7 0334 0BBE;0BC7 0334 0BBE;
+0CBF 0334 0CD5;0CBF 0334 0CD5;0CBF 0334 0CD5;0CBF 0334 0CD5;0CBF 0334 0CD5;
+0CC6 0334 0CC2;0CC6 0334 0CC2;0CC6 0334 0CC2;0CC6 0334 0CC2;0CC6 0334 0CC2;
+0CC6 0334 0CD5;0CC6 0334 0CD5;0CC6 0334 0CD5;0CC6 0334 0CD5;0CC6 0334 0CD5;
+0CC6 0334 0CD6;0CC6 0334 0CD6;0CC6 0334 0CD6;0CC6 0334 0CD6;0CC6 0334 0CD6;
+0CCA 0334 0CD5;0CCA 0334 0CD5;0CC6 0CC2 0334 0CD5;0CCA 0334 0CD5;0CC6 0CC2 0334 0CD5;
+0D46 0334 0D3E;0D46 0334 0D3E;0D46 0334 0D3E;0D46 0334 0D3E;0D46 0334 0D3E;
+0D46 0334 0D57;0D46 0334 0D57;0D46 0334 0D57;0D46 0334 0D57;0D46 0334 0D57;
+0D47 0334 0D3E;0D47 0334 0D3E;0D47 0334 0D3E;0D47 0334 0D3E;0D47 0334 0D3E;
+0DD9 0334 0DCF;0DD9 0334 0DCF;0DD9 0334 0DCF;0DD9 0334 0DCF;0DD9 0334 0DCF;
+0DD9 0334 0DDF;0DD9 0334 0DDF;0DD9 0334 0DDF;0DD9 0334 0DDF;0DD9 0334 0DDF;
+0F40 0334 0FB5;0F40 0334 0FB5;0F40 0334 0FB5;0F40 0334 0FB5;0F40 0334 0FB5;
+0F42 0334 0FB7;0F42 0334 0FB7;0F42 0334 0FB7;0F42 0334 0FB7;0F42 0334 0FB7;
+0F4C 0334 0FB7;0F4C 0334 0FB7;0F4C 0334 0FB7;0F4C 0334 0FB7;0F4C 0334 0FB7;
+0F51 0334 0FB7;0F51 0334 0FB7;0F51 0334 0FB7;0F51 0334 0FB7;0F51 0334 0FB7;
+0F56 0334 0FB7;0F56 0334 0FB7;0F56 0334 0FB7;0F56 0334 0FB7;0F56 0334 0FB7;
+0F5B 0334 0FB7;0F5B 0334 0FB7;0F5B 0334 0FB7;0F5B 0334 0FB7;0F5B 0334 0FB7;
+0F90 0334 0FB5;0F90 0334 0FB5;0F90 0334 0FB5;0F90 0334 0FB5;0F90 0334 0FB5;
+0F92 0334 0FB7;0F92 0334 0FB7;0F92 0334 0FB7;0F92 0334 0FB7;0F92 0334 0FB7;
+0F9C 0334 0FB7;0F9C 0334 0FB7;0F9C 0334 0FB7;0F9C 0334 0FB7;0F9C 0334 0FB7;
+0FA1 0334 0FB7;0FA1 0334 0FB7;0FA1 0334 0FB7;0FA1 0334 0FB7;0FA1 0334 0FB7;
+0FA6 0334 0FB7;0FA6 0334 0FB7;0FA6 0334 0FB7;0FA6 0334 0FB7;0FA6 0334 0FB7;
+0FAB 0334 0FB7;0FAB 0334 0FB7;0FAB 0334 0FB7;0FAB 0334 0FB7;0FAB 0334 0FB7;
+1025 0334 102E;1025 0334 102E;1025 0334 102E;1025 0334 102E;1025 0334 102E;
+1100 0334 1161;1100 0334 1161;1100 0334 1161;1100 0334 1161;1100 0334 1161;
+1100 0334 116E;1100 0334 116E;1100 0334 116E;1100 0334 116E;1100 0334 116E;
+1101 0334 1166;1101 0334 1166;1101 0334 1166;1101 0334 1166;1101 0334 1166;
+1101 0334 1173;1101 0334 1173;1101 0334 1173;1101 0334 1173;1101 0334 1173;
+1102 0334 116B;1102 0334 116B;1102 0334 116B;1102 0334 116B;1102 0334 116B;
+1103 0334 1163;1103 0334 1163;1103 0334 1163;1103 0334 1163;1103 0334 1163;
+1103 0334 1170;1103 0334 1170;1103 0334 1170;1103 0334 1170;1103 0334 1170;
+1104 0334 1168;1104 0334 1168;1104 0334 1168;1104 0334 1168;1104 0334 1168;
+1104 0334 1175;1104 0334 1175;1104 0334 1175;1104 0334 1175;1104 0334 1175;
+1105 0334 116D;1105 0334 116D;1105 0334 116D;1105 0334 116D;1105 0334 116D;
+1106 0334 1165;1106 0334 1165;1106 0334 1165;1106 0334 1165;1106 0334 1165;
+1106 0334 1172;1106 0334 1172;1106 0334 1172;1106 0334 1172;1106 0334 1172;
+1107 0334 116A;1107 0334 116A;1107 0334 116A;1107 0334 116A;1107 0334 116A;
+1108 0334 1162;1108 0334 1162;1108 0334 1162;1108 0334 1162;1108 0334 1162;
+1108 0334 116F;1108 0334 116F;1108 0334 116F;1108 0334 116F;1108 0334 116F;
+1109 0334 1167;1109 0334 1167;1109 0334 1167;1109 0334 1167;1109 0334 1167;
+1109 0334 1174;1109 0334 1174;1109 0334 1174;1109 0334 1174;1109 0334 1174;
+110A 0334 116C;110A 0334 116C;110A 0334 116C;110A 0334 116C;110A 0334 116C;
+110B 0334 1164;110B 0334 1164;110B 0334 1164;110B 0334 1164;110B 0334 1164;
+110B 0334 1171;110B 0334 1171;110B 0334 1171;110B 0334 1171;110B 0334 1171;
+110C 0334 1169;110C 0334 1169;110C 0334 1169;110C 0334 1169;110C 0334 1169;
+110D 0334 1161;110D 0334 1161;110D 0334 1161;110D 0334 1161;110D 0334 1161;
+110D 0334 116E;110D 0334 116E;110D 0334 116E;110D 0334 116E;110D 0334 116E;
+110E 0334 1166;110E 0334 1166;110E 0334 1166;110E 0334 1166;110E 0334 1166;
+110E 0334 1173;110E 0334 1173;110E 0334 1173;110E 0334 1173;110E 0334 1173;
+110F 0334 116B;110F 0334 116B;110F 0334 116B;110F 0334 116B;110F 0334 116B;
+1110 0334 1163;1110 0334 1163;1110 0334 1163;1110 0334 1163;1110 0334 1163;
+1110 0334 1170;1110 0334 1170;1110 0334 1170;1110 0334 1170;1110 0334 1170;
+1111 0334 1168;1111 0334 1168;1111 0334 1168;1111 0334 1168;1111 0334 1168;
+1111 0334 1175;1111 0334 1175;1111 0334 1175;1111 0334 1175;1111 0334 1175;
+1112 0334 116D;1112 0334 116D;1112 0334 116D;1112 0334 116D;1112 0334 116D;
+AC54 0334 11AE;AC54 0334 11AE;1100 1164 0334 11AE;AC54 0334 11AE;1100 1164 0334 11AE;
+ACA8 0334 11B5;ACA8 0334 11B5;1100 1167 0334 11B5;ACA8 0334 11B5;1100 1167 0334 11B5;
+ACFC 0334 11BC;ACFC 0334 11BC;1100 116A 0334 11BC;ACFC 0334 11BC;1100 116A 0334 11BC;
+ADC0 0334 11AE;ADC0 0334 11AE;1100 1171 0334 11AE;ADC0 0334 11AE;1100 1171 0334 11AE;
+AE14 0334 11B5;AE14 0334 11B5;1100 1174 0334 11B5;AE14 0334 11B5;1100 1174 0334 11B5;
+AE68 0334 11BC;AE68 0334 11BC;1101 1162 0334 11BC;AE68 0334 11BC;1101 1162 0334 11BC;
+AF2C 0334 11AE;AF2C 0334 11AE;1101 1169 0334 11AE;AF2C 0334 11AE;1101 1169 0334 11AE;
+AF80 0334 11B5;AF80 0334 11B5;1101 116C 0334 11B5;AF80 0334 11B5;1101 116C 0334 11B5;
+AFD4 0334 11BC;AFD4 0334 11BC;1101 116F 0334 11BC;AFD4 0334 11BC;1101 116F 0334 11BC;
+B098 0334 11AE;B098 0334 11AE;1102 1161 0334 11AE;B098 0334 11AE;1102 1161 0334 11AE;
+B0EC 0334 11B5;B0EC 0334 11B5;1102 1164 0334 11B5;B0EC 0334 11B5;1102 1164 0334 11B5;
+B140 0334 11BC;B140 0334 11BC;1102 1167 0334 11BC;B140 0334 11BC;1102 1167 0334 11BC;
+B204 0334 11AE;B204 0334 11AE;1102 116E 0334 11AE;B204 0334 11AE;1102 116E 0334 11AE;
+B258 0334 11B5;B258 0334 11B5;1102 1171 0334 11B5;B258 0334 11B5;1102 1171 0334 11B5;
+B2AC 0334 11BC;B2AC 0334 11BC;1102 1174 0334 11BC;B2AC 0334 11BC;1102 1174 0334 11BC;
+B370 0334 11AE;B370 0334 11AE;1103 1166 0334 11AE;B370 0334 11AE;1103 1166 0334 11AE;
+B3C4 0334 11B5;B3C4 0334 11B5;1103 1169 0334 11B5;B3C4 0334 11B5;1103 1169 0334 11B5;
+B418 0334 11BC;B418 0334 11BC;1103 116C 0334 11BC;B418 0334 11BC;1103 116C 0334 11BC;
+B4DC 0334 11AE;B4DC 0334 11AE;1103 1173 0334 11AE;B4DC 0334 11AE;1103 1173 0334 11AE;
+B530 0334 11B5;B530 0334 11B5;1104 1161 0334 11B5;B530 0334 11B5;1104 1161 0334 11B5;
+B584 0334 11BC;B584 0334 11BC;1104 1164 0334 11BC;B584 0334 11BC;1104 1164 0334 11BC;
+B648 0334 11AE;B648 0334 11AE;1104 116B 0334 11AE;B648 0334 11AE;1104 116B 0334 11AE;
+B69C 0334 11B5;B69C 0334 11B5;1104 116E 0334 11B5;B69C 0334 11B5;1104 116E 0334 11B5;
+B6F0 0334 11BC;B6F0 0334 11BC;1104 1171 0334 11BC;B6F0 0334 11BC;1104 1171 0334 11BC;
+B7B4 0334 11AE;B7B4 0334 11AE;1105 1163 0334 11AE;B7B4 0334 11AE;1105 1163 0334 11AE;
+B808 0334 11B5;B808 0334 11B5;1105 1166 0334 11B5;B808 0334 11B5;1105 1166 0334 11B5;
+B85C 0334 11BC;B85C 0334 11BC;1105 1169 0334 11BC;B85C 0334 11BC;1105 1169 0334 11BC;
+B920 0334 11AE;B920 0334 11AE;1105 1170 0334 11AE;B920 0334 11AE;1105 1170 0334 11AE;
+B974 0334 11B5;B974 0334 11B5;1105 1173 0334 11B5;B974 0334 11B5;1105 1173 0334 11B5;
+B9C8 0334 11BC;B9C8 0334 11BC;1106 1161 0334 11BC;B9C8 0334 11BC;1106 1161 0334 11BC;
+BA8C 0334 11AE;BA8C 0334 11AE;1106 1168 0334 11AE;BA8C 0334 11AE;1106 1168 0334 11AE;
+BAE0 0334 11B5;BAE0 0334 11B5;1106 116B 0334 11B5;BAE0 0334 11B5;1106 116B 0334 11B5;
+BB34 0334 11BC;BB34 0334 11BC;1106 116E 0334 11BC;BB34 0334 11BC;1106 116E 0334 11BC;
+BBF8 0334 11AE;BBF8 0334 11AE;1106 1175 0334 11AE;BBF8 0334 11AE;1106 1175 0334 11AE;
+BC4C 0334 11B5;BC4C 0334 11B5;1107 1163 0334 11B5;BC4C 0334 11B5;1107 1163 0334 11B5;
+BCA0 0334 11BC;BCA0 0334 11BC;1107 1166 0334 11BC;BCA0 0334 11BC;1107 1166 0334 11BC;
+BD64 0334 11AE;BD64 0334 11AE;1107 116D 0334 11AE;BD64 0334 11AE;1107 116D 0334 11AE;
+BDB8 0334 11B5;BDB8 0334 11B5;1107 1170 0334 11B5;BDB8 0334 11B5;1107 1170 0334 11B5;
+BE0C 0334 11BC;BE0C 0334 11BC;1107 1173 0334 11BC;BE0C 0334 11BC;1107 1173 0334 11BC;
+BED0 0334 11AE;BED0 0334 11AE;1108 1165 0334 11AE;BED0 0334 11AE;1108 1165 0334 11AE;
+BF24 0334 11B5;BF24 0334 11B5;1108 1168 0334 11B5;BF24 0334 11B5;1108 1168 0334 11B5;
+BF78 0334 11BC;BF78 0334 11BC;1108 116B 0334 11BC;BF78 0334 11BC;1108 116B 0334 11BC;
+C03C 0334 11AE;C03C 0334 11AE;1108 1172 0334 11AE;C03C 0334 11AE;1108 1172 0334 11AE;
+C090 0334 11B5;C090 0334 11B5;1108 1175 0334 11B5;C090 0334 11B5;1108 1175 0334 11B5;
+C0E4 0334 11BC;C0E4 0334 11BC;1109 1163 0334 11BC;C0E4 0334 11BC;1109 1163 0334 11BC;
+C1A8 0334 11AE;C1A8 0334 11AE;1109 116A 0334 11AE;C1A8 0334 11AE;1109 116A 0334 11AE;
+C1FC 0334 11B5;C1FC 0334 11B5;1109 116D 0334 11B5;C1FC 0334 11B5;1109 116D 0334 11B5;
+C250 0334 11BC;C250 0334 11BC;1109 1170 0334 11BC;C250 0334 11BC;1109 1170 0334 11BC;
+C314 0334 11AE;C314 0334 11AE;110A 1162 0334 11AE;C314 0334 11AE;110A 1162 0334 11AE;
+C368 0334 11B5;C368 0334 11B5;110A 1165 0334 11B5;C368 0334 11B5;110A 1165 0334 11B5;
+C3BC 0334 11BC;C3BC 0334 11BC;110A 1168 0334 11BC;C3BC 0334 11BC;110A 1168 0334 11BC;
+C480 0334 11AE;C480 0334 11AE;110A 116F 0334 11AE;C480 0334 11AE;110A 116F 0334 11AE;
+C4D4 0334 11B5;C4D4 0334 11B5;110A 1172 0334 11B5;C4D4 0334 11B5;110A 1172 0334 11B5;
+C528 0334 11BC;C528 0334 11BC;110A 1175 0334 11BC;C528 0334 11BC;110A 1175 0334 11BC;
+C5EC 0334 11AE;C5EC 0334 11AE;110B 1167 0334 11AE;C5EC 0334 11AE;110B 1167 0334 11AE;
+C640 0334 11B5;C640 0334 11B5;110B 116A 0334 11B5;C640 0334 11B5;110B 116A 0334 11B5;
+C694 0334 11BC;C694 0334 11BC;110B 116D 0334 11BC;C694 0334 11BC;110B 116D 0334 11BC;
+C758 0334 11AE;C758 0334 11AE;110B 1174 0334 11AE;C758 0334 11AE;110B 1174 0334 11AE;
+C7AC 0334 11B5;C7AC 0334 11B5;110C 1162 0334 11B5;C7AC 0334 11B5;110C 1162 0334 11B5;
+C800 0334 11BC;C800 0334 11BC;110C 1165 0334 11BC;C800 0334 11BC;110C 1165 0334 11BC;
+C8C4 0334 11AE;C8C4 0334 11AE;110C 116C 0334 11AE;C8C4 0334 11AE;110C 116C 0334 11AE;
+C918 0334 11B5;C918 0334 11B5;110C 116F 0334 11B5;C918 0334 11B5;110C 116F 0334 11B5;
+C96C 0334 11BC;C96C 0334 11BC;110C 1172 0334 11BC;C96C 0334 11BC;110C 1172 0334 11BC;
+CA30 0334 11AE;CA30 0334 11AE;110D 1164 0334 11AE;CA30 0334 11AE;110D 1164 0334 11AE;
+CA84 0334 11B5;CA84 0334 11B5;110D 1167 0334 11B5;CA84 0334 11B5;110D 1167 0334 11B5;
+CAD8 0334 11BC;CAD8 0334 11BC;110D 116A 0334 11BC;CAD8 0334 11BC;110D 116A 0334 11BC;
+CB9C 0334 11AE;CB9C 0334 11AE;110D 1171 0334 11AE;CB9C 0334 11AE;110D 1171 0334 11AE;
+CBF0 0334 11B5;CBF0 0334 11B5;110D 1174 0334 11B5;CBF0 0334 11B5;110D 1174 0334 11B5;
+CC44 0334 11BC;CC44 0334 11BC;110E 1162 0334 11BC;CC44 0334 11BC;110E 1162 0334 11BC;
+CD08 0334 11AE;CD08 0334 11AE;110E 1169 0334 11AE;CD08 0334 11AE;110E 1169 0334 11AE;
+CD5C 0334 11B5;CD5C 0334 11B5;110E 116C 0334 11B5;CD5C 0334 11B5;110E 116C 0334 11B5;
+CDB0 0334 11BC;CDB0 0334 11BC;110E 116F 0334 11BC;CDB0 0334 11BC;110E 116F 0334 11BC;
+CE74 0334 11AE;CE74 0334 11AE;110F 1161 0334 11AE;CE74 0334 11AE;110F 1161 0334 11AE;
+CEC8 0334 11B5;CEC8 0334 11B5;110F 1164 0334 11B5;CEC8 0334 11B5;110F 1164 0334 11B5;
+CF1C 0334 11BC;CF1C 0334 11BC;110F 1167 0334 11BC;CF1C 0334 11BC;110F 1167 0334 11BC;
+CFE0 0334 11AE;CFE0 0334 11AE;110F 116E 0334 11AE;CFE0 0334 11AE;110F 116E 0334 11AE;
+D034 0334 11B5;D034 0334 11B5;110F 1171 0334 11B5;D034 0334 11B5;110F 1171 0334 11B5;
+D088 0334 11BC;D088 0334 11BC;110F 1174 0334 11BC;D088 0334 11BC;110F 1174 0334 11BC;
+D14C 0334 11AE;D14C 0334 11AE;1110 1166 0334 11AE;D14C 0334 11AE;1110 1166 0334 11AE;
+D1A0 0334 11B5;D1A0 0334 11B5;1110 1169 0334 11B5;D1A0 0334 11B5;1110 1169 0334 11B5;
+D1F4 0334 11BC;D1F4 0334 11BC;1110 116C 0334 11BC;D1F4 0334 11BC;1110 116C 0334 11BC;
+D2B8 0334 11AE;D2B8 0334 11AE;1110 1173 0334 11AE;D2B8 0334 11AE;1110 1173 0334 11AE;
+D30C 0334 11B5;D30C 0334 11B5;1111 1161 0334 11B5;D30C 0334 11B5;1111 1161 0334 11B5;
+D360 0334 11BC;D360 0334 11BC;1111 1164 0334 11BC;D360 0334 11BC;1111 1164 0334 11BC;
+D424 0334 11AE;D424 0334 11AE;1111 116B 0334 11AE;D424 0334 11AE;1111 116B 0334 11AE;
+D478 0334 11B5;D478 0334 11B5;1111 116E 0334 11B5;D478 0334 11B5;1111 116E 0334 11B5;
+D4CC 0334 11BC;D4CC 0334 11BC;1111 1171 0334 11BC;D4CC 0334 11BC;1111 1171 0334 11BC;
+D590 0334 11AE;D590 0334 11AE;1112 1163 0334 11AE;D590 0334 11AE;1112 1163 0334 11AE;
+D5E4 0334 11B5;D5E4 0334 11B5;1112 1166 0334 11B5;D5E4 0334 11B5;1112 1166 0334 11B5;
+D638 0334 11BC;D638 0334 11BC;1112 1169 0334 11BC;D638 0334 11BC;1112 1169 0334 11BC;
+D6FC 0334 11AE;D6FC 0334 11AE;1112 1170 0334 11AE;D6FC 0334 11AE;1112 1170 0334 11AE;
+D750 0334 11B5;D750 0334 11B5;1112 1173 0334 11B5;D750 0334 11B5;1112 1173 0334 11B5;
+#
+# END OF FILE
diff --git a/src/com/ibm/icu/dev/data/unicode/SpecialCasing.txt b/src/com/ibm/icu/dev/data/unicode/SpecialCasing.txt
new file mode 100755
index 0000000..11a5b1d
--- /dev/null
+++ b/src/com/ibm/icu/dev/data/unicode/SpecialCasing.txt
@@ -0,0 +1,260 @@
+# SpecialCasing-4.1.0.txt
+# Date: 2005-03-26, 00:35:45 GMT [MD]
+#
+# Unicode Character Database
+# Copyright (c) 1991-2005 Unicode, Inc.
+# For terms of use, see http://www.unicode.org/terms_of_use.html
+# For documentation, see UCD.html
+#
+# Special Casing Properties
+#
+# This file is a supplement to the UnicodeData file.
+# It contains additional information about the casing of Unicode characters.
+# (For compatibility, the UnicodeData.txt file only contains case mappings for
+# characters where they are 1-1, and does not have locale-specific mappings.)
+# For more information, see the discussion of Case Mappings in the Unicode Standard.
+#
+# All code points not listed in this file that do not have a simple case mappings
+# in UnicodeData.txt map to themselves.
+# ================================================================================
+# Format
+# ================================================================================
+# The entries in this file are in the following machine-readable format:
+#
+# <code>; <lower> ; <title> ; <upper> ; (<condition_list> ;)? # <comment>
+#
+# <code>, <lower>, <title>, and <upper> provide character values in hex. If there is more
+# than one character, they are separated by spaces. Other than as used to separate 
+# elements, spaces are to be ignored.
+#
+# The <condition_list> is optional. Where present, it consists of one or more locale IDs
+# or contexts, separated by spaces. In these conditions:
+# - A condition list overrides the normal behavior if all of the listed conditions are true.
+# - The context is always the context of the characters in the original string,
+#   NOT in the resulting string.
+# - Case distinctions in the condition list are not significant.
+# - Conditions preceded by "Not_" represent the negation of the condition.
+#
+# A locale ID is defined by taking any language tag as defined by
+# RFC 3066 (or its successor), and replacing '-' by '_'.
+#
+# A context for a character C is defined by Section 3.13 Default Case Operations,
+# on p. 89-90 of The Unicode Standard, Version 4.0, as amended by Unicode 4.1.0,
+# as specified in http://www.unicode.org/versions/Unicode4.1.0/
+#
+# Parsers of this file must be prepared to deal with future additions to this format:
+#  * Additional contexts
+#  * Additional fields
+# ================================================================================
+
+# ================================================================================
+# Unconditional mappings
+# ================================================================================
+
+# The German es-zed is special--the normal mapping is to SS.
+# Note: the titlecase should never occur in practice. It is equal to titlecase(uppercase(<es-zed>))
+
+00DF; 00DF; 0053 0073; 0053 0053; # LATIN SMALL LETTER SHARP S
+
+# Preserve canonical equivalence for I with dot. Turkic is handled below.
+
+0130; 0069 0307; 0130; 0130; # LATIN CAPITAL LETTER I WITH DOT ABOVE
+
+# Ligatures
+
+FB00; FB00; 0046 0066; 0046 0046; # LATIN SMALL LIGATURE FF
+FB01; FB01; 0046 0069; 0046 0049; # LATIN SMALL LIGATURE FI
+FB02; FB02; 0046 006C; 0046 004C; # LATIN SMALL LIGATURE FL
+FB03; FB03; 0046 0066 0069; 0046 0046 0049; # LATIN SMALL LIGATURE FFI
+FB04; FB04; 0046 0066 006C; 0046 0046 004C; # LATIN SMALL LIGATURE FFL
+FB05; FB05; 0053 0074; 0053 0054; # LATIN SMALL LIGATURE LONG S T
+FB06; FB06; 0053 0074; 0053 0054; # LATIN SMALL LIGATURE ST
+
+0587; 0587; 0535 0582; 0535 0552; # ARMENIAN SMALL LIGATURE ECH YIWN
+FB13; FB13; 0544 0576; 0544 0546; # ARMENIAN SMALL LIGATURE MEN NOW
+FB14; FB14; 0544 0565; 0544 0535; # ARMENIAN SMALL LIGATURE MEN ECH
+FB15; FB15; 0544 056B; 0544 053B; # ARMENIAN SMALL LIGATURE MEN INI
+FB16; FB16; 054E 0576; 054E 0546; # ARMENIAN SMALL LIGATURE VEW NOW
+FB17; FB17; 0544 056D; 0544 053D; # ARMENIAN SMALL LIGATURE MEN XEH
+
+# No corresponding uppercase precomposed character
+
+0149; 0149; 02BC 004E; 02BC 004E; # LATIN SMALL LETTER N PRECEDED BY APOSTROPHE
+0390; 0390; 0399 0308 0301; 0399 0308 0301; # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
+03B0; 03B0; 03A5 0308 0301; 03A5 0308 0301; # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS
+01F0; 01F0; 004A 030C; 004A 030C; # LATIN SMALL LETTER J WITH CARON
+1E96; 1E96; 0048 0331; 0048 0331; # LATIN SMALL LETTER H WITH LINE BELOW
+1E97; 1E97; 0054 0308; 0054 0308; # LATIN SMALL LETTER T WITH DIAERESIS
+1E98; 1E98; 0057 030A; 0057 030A; # LATIN SMALL LETTER W WITH RING ABOVE
+1E99; 1E99; 0059 030A; 0059 030A; # LATIN SMALL LETTER Y WITH RING ABOVE
+1E9A; 1E9A; 0041 02BE; 0041 02BE; # LATIN SMALL LETTER A WITH RIGHT HALF RING
+1F50; 1F50; 03A5 0313; 03A5 0313; # GREEK SMALL LETTER UPSILON WITH PSILI
+1F52; 1F52; 03A5 0313 0300; 03A5 0313 0300; # GREEK SMALL LETTER UPSILON WITH PSILI AND VARIA
+1F54; 1F54; 03A5 0313 0301; 03A5 0313 0301; # GREEK SMALL LETTER UPSILON WITH PSILI AND OXIA
+1F56; 1F56; 03A5 0313 0342; 03A5 0313 0342; # GREEK SMALL LETTER UPSILON WITH PSILI AND PERISPOMENI
+1FB6; 1FB6; 0391 0342; 0391 0342; # GREEK SMALL LETTER ALPHA WITH PERISPOMENI
+1FC6; 1FC6; 0397 0342; 0397 0342; # GREEK SMALL LETTER ETA WITH PERISPOMENI
+1FD2; 1FD2; 0399 0308 0300; 0399 0308 0300; # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND VARIA
+1FD3; 1FD3; 0399 0308 0301; 0399 0308 0301; # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND OXIA
+1FD6; 1FD6; 0399 0342; 0399 0342; # GREEK SMALL LETTER IOTA WITH PERISPOMENI
+1FD7; 1FD7; 0399 0308 0342; 0399 0308 0342; # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND PERISPOMENI
+1FE2; 1FE2; 03A5 0308 0300; 03A5 0308 0300; # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND VARIA
+1FE3; 1FE3; 03A5 0308 0301; 03A5 0308 0301; # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND OXIA
+1FE4; 1FE4; 03A1 0313; 03A1 0313; # GREEK SMALL LETTER RHO WITH PSILI
+1FE6; 1FE6; 03A5 0342; 03A5 0342; # GREEK SMALL LETTER UPSILON WITH PERISPOMENI
+1FE7; 1FE7; 03A5 0308 0342; 03A5 0308 0342; # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND PERISPOMENI
+1FF6; 1FF6; 03A9 0342; 03A9 0342; # GREEK SMALL LETTER OMEGA WITH PERISPOMENI
+
+# IMPORTANT-when capitalizing iota-subscript (0345)
+#  It MUST be in normalized form--moved to the end of any sequence of combining marks.
+#  This is because logically it represents a following base character!
+#  E.g. <iota_subscript> (<Mn> | <Mc> | <Me>)+ => (<Mn> | <Mc> | <Me>)+ <iota_subscript>
+# It should never be the first character in a word, so in titlecasing it can be left as is.
+
+# The following cases are already in the UnicodeData file, so are only commented here.
+
+# 0345; 0345; 0345; 0399; # COMBINING GREEK YPOGEGRAMMENI
+
+# All letters with YPOGEGRAMMENI (iota-subscript) or PROSGEGRAMMENI (iota adscript)
+# have special uppercases.
+# Note: characters with PROSGEGRAMMENI are actually titlecase, not uppercase!
+
+1F80; 1F80; 1F88; 1F08 0399; # GREEK SMALL LETTER ALPHA WITH PSILI AND YPOGEGRAMMENI
+1F81; 1F81; 1F89; 1F09 0399; # GREEK SMALL LETTER ALPHA WITH DASIA AND YPOGEGRAMMENI
+1F82; 1F82; 1F8A; 1F0A 0399; # GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA AND YPOGEGRAMMENI
+1F83; 1F83; 1F8B; 1F0B 0399; # GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA AND YPOGEGRAMMENI
+1F84; 1F84; 1F8C; 1F0C 0399; # GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA AND YPOGEGRAMMENI
+1F85; 1F85; 1F8D; 1F0D 0399; # GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA AND YPOGEGRAMMENI
+1F86; 1F86; 1F8E; 1F0E 0399; # GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI
+1F87; 1F87; 1F8F; 1F0F 0399; # GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI
+1F88; 1F80; 1F88; 1F08 0399; # GREEK CAPITAL LETTER ALPHA WITH PSILI AND PROSGEGRAMMENI
+1F89; 1F81; 1F89; 1F09 0399; # GREEK CAPITAL LETTER ALPHA WITH DASIA AND PROSGEGRAMMENI
+1F8A; 1F82; 1F8A; 1F0A 0399; # GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA AND PROSGEGRAMMENI
+1F8B; 1F83; 1F8B; 1F0B 0399; # GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA AND PROSGEGRAMMENI
+1F8C; 1F84; 1F8C; 1F0C 0399; # GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA AND PROSGEGRAMMENI
+1F8D; 1F85; 1F8D; 1F0D 0399; # GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA AND PROSGEGRAMMENI
+1F8E; 1F86; 1F8E; 1F0E 0399; # GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI
+1F8F; 1F87; 1F8F; 1F0F 0399; # GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI
+1F90; 1F90; 1F98; 1F28 0399; # GREEK SMALL LETTER ETA WITH PSILI AND YPOGEGRAMMENI
+1F91; 1F91; 1F99; 1F29 0399; # GREEK SMALL LETTER ETA WITH DASIA AND YPOGEGRAMMENI
+1F92; 1F92; 1F9A; 1F2A 0399; # GREEK SMALL LETTER ETA WITH PSILI AND VARIA AND YPOGEGRAMMENI
+1F93; 1F93; 1F9B; 1F2B 0399; # GREEK SMALL LETTER ETA WITH DASIA AND VARIA AND YPOGEGRAMMENI
+1F94; 1F94; 1F9C; 1F2C 0399; # GREEK SMALL LETTER ETA WITH PSILI AND OXIA AND YPOGEGRAMMENI
+1F95; 1F95; 1F9D; 1F2D 0399; # GREEK SMALL LETTER ETA WITH DASIA AND OXIA AND YPOGEGRAMMENI
+1F96; 1F96; 1F9E; 1F2E 0399; # GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI
+1F97; 1F97; 1F9F; 1F2F 0399; # GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI
+1F98; 1F90; 1F98; 1F28 0399; # GREEK CAPITAL LETTER ETA WITH PSILI AND PROSGEGRAMMENI
+1F99; 1F91; 1F99; 1F29 0399; # GREEK CAPITAL LETTER ETA WITH DASIA AND PROSGEGRAMMENI
+1F9A; 1F92; 1F9A; 1F2A 0399; # GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA AND PROSGEGRAMMENI
+1F9B; 1F93; 1F9B; 1F2B 0399; # GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA AND PROSGEGRAMMENI
+1F9C; 1F94; 1F9C; 1F2C 0399; # GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA AND PROSGEGRAMMENI
+1F9D; 1F95; 1F9D; 1F2D 0399; # GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA AND PROSGEGRAMMENI
+1F9E; 1F96; 1F9E; 1F2E 0399; # GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI
+1F9F; 1F97; 1F9F; 1F2F 0399; # GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI
+1FA0; 1FA0; 1FA8; 1F68 0399; # GREEK SMALL LETTER OMEGA WITH PSILI AND YPOGEGRAMMENI
+1FA1; 1FA1; 1FA9; 1F69 0399; # GREEK SMALL LETTER OMEGA WITH DASIA AND YPOGEGRAMMENI
+1FA2; 1FA2; 1FAA; 1F6A 0399; # GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA AND YPOGEGRAMMENI
+1FA3; 1FA3; 1FAB; 1F6B 0399; # GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA AND YPOGEGRAMMENI
+1FA4; 1FA4; 1FAC; 1F6C 0399; # GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA AND YPOGEGRAMMENI
+1FA5; 1FA5; 1FAD; 1F6D 0399; # GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA AND YPOGEGRAMMENI
+1FA6; 1FA6; 1FAE; 1F6E 0399; # GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI
+1FA7; 1FA7; 1FAF; 1F6F 0399; # GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI
+1FA8; 1FA0; 1FA8; 1F68 0399; # GREEK CAPITAL LETTER OMEGA WITH PSILI AND PROSGEGRAMMENI
+1FA9; 1FA1; 1FA9; 1F69 0399; # GREEK CAPITAL LETTER OMEGA WITH DASIA AND PROSGEGRAMMENI
+1FAA; 1FA2; 1FAA; 1F6A 0399; # GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA AND PROSGEGRAMMENI
+1FAB; 1FA3; 1FAB; 1F6B 0399; # GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA AND PROSGEGRAMMENI
+1FAC; 1FA4; 1FAC; 1F6C 0399; # GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA AND PROSGEGRAMMENI
+1FAD; 1FA5; 1FAD; 1F6D 0399; # GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA AND PROSGEGRAMMENI
+1FAE; 1FA6; 1FAE; 1F6E 0399; # GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI
+1FAF; 1FA7; 1FAF; 1F6F 0399; # GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI
+1FB3; 1FB3; 1FBC; 0391 0399; # GREEK SMALL LETTER ALPHA WITH YPOGEGRAMMENI
+1FBC; 1FB3; 1FBC; 0391 0399; # GREEK CAPITAL LETTER ALPHA WITH PROSGEGRAMMENI
+1FC3; 1FC3; 1FCC; 0397 0399; # GREEK SMALL LETTER ETA WITH YPOGEGRAMMENI
+1FCC; 1FC3; 1FCC; 0397 0399; # GREEK CAPITAL LETTER ETA WITH PROSGEGRAMMENI
+1FF3; 1FF3; 1FFC; 03A9 0399; # GREEK SMALL LETTER OMEGA WITH YPOGEGRAMMENI
+1FFC; 1FF3; 1FFC; 03A9 0399; # GREEK CAPITAL LETTER OMEGA WITH PROSGEGRAMMENI
+
+# Some characters with YPOGEGRAMMENI also have no corresponding titlecases
+
+1FB2; 1FB2; 1FBA 0345; 1FBA 0399; # GREEK SMALL LETTER ALPHA WITH VARIA AND YPOGEGRAMMENI
+1FB4; 1FB4; 0386 0345; 0386 0399; # GREEK SMALL LETTER ALPHA WITH OXIA AND YPOGEGRAMMENI
+1FC2; 1FC2; 1FCA 0345; 1FCA 0399; # GREEK SMALL LETTER ETA WITH VARIA AND YPOGEGRAMMENI
+1FC4; 1FC4; 0389 0345; 0389 0399; # GREEK SMALL LETTER ETA WITH OXIA AND YPOGEGRAMMENI
+1FF2; 1FF2; 1FFA 0345; 1FFA 0399; # GREEK SMALL LETTER OMEGA WITH VARIA AND YPOGEGRAMMENI
+1FF4; 1FF4; 038F 0345; 038F 0399; # GREEK SMALL LETTER OMEGA WITH OXIA AND YPOGEGRAMMENI
+
+1FB7; 1FB7; 0391 0342 0345; 0391 0342 0399; # GREEK SMALL LETTER ALPHA WITH PERISPOMENI AND YPOGEGRAMMENI
+1FC7; 1FC7; 0397 0342 0345; 0397 0342 0399; # GREEK SMALL LETTER ETA WITH PERISPOMENI AND YPOGEGRAMMENI
+1FF7; 1FF7; 03A9 0342 0345; 03A9 0342 0399; # GREEK SMALL LETTER OMEGA WITH PERISPOMENI AND YPOGEGRAMMENI
+
+# ================================================================================
+# Conditional mappings
+# ================================================================================
+
+# Special case for final form of sigma
+
+03A3; 03C2; 03A3; 03A3; Final_Sigma; # GREEK CAPITAL LETTER SIGMA
+
+# Note: the following cases for non-final are already in the UnicodeData file.
+
+# 03A3; 03C3; 03A3; 03A3; # GREEK CAPITAL LETTER SIGMA
+# 03C3; 03C3; 03A3; 03A3; # GREEK SMALL LETTER SIGMA
+# 03C2; 03C2; 03A3; 03A3; # GREEK SMALL LETTER FINAL SIGMA
+
+# Note: the following cases are not included, since they would case-fold in lowercasing
+
+# 03C3; 03C2; 03A3; 03A3; Final_Sigma; # GREEK SMALL LETTER SIGMA
+# 03C2; 03C3; 03A3; 03A3; Not_Final_Sigma; # GREEK SMALL LETTER FINAL SIGMA
+
+# ================================================================================
+# Locale-sensitive mappings
+# ================================================================================
+
+# Lithuanian
+
+# Lithuanian retains the dot in a lowercase i when followed by accents.
+
+# Remove DOT ABOVE after "i" with upper or titlecase
+
+0307; 0307; ; ; lt After_Soft_Dotted; # COMBINING DOT ABOVE
+
+# Introduce an explicit dot above when lowercasing capital I's and J's
+# whenever there are more accents above.
+# (of the accents used in Lithuanian: grave, acute, tilde above, and ogonek)
+
+0049; 0069 0307; 0049; 0049; lt More_Above; # LATIN CAPITAL LETTER I
+004A; 006A 0307; 004A; 004A; lt More_Above; # LATIN CAPITAL LETTER J
+012E; 012F 0307; 012E; 012E; lt More_Above; # LATIN CAPITAL LETTER I WITH OGONEK
+00CC; 0069 0307 0300; 00CC; 00CC; lt; # LATIN CAPITAL LETTER I WITH GRAVE
+00CD; 0069 0307 0301; 00CD; 00CD; lt; # LATIN CAPITAL LETTER I WITH ACUTE
+0128; 0069 0307 0303; 0128; 0128; lt; # LATIN CAPITAL LETTER I WITH TILDE
+
+# ================================================================================
+
+# Turkish and Azeri
+
+# I and i-dotless; I-dot and i are case pairs in Turkish and Azeri
+# The following rules handle those cases.
+
+0130; 0069; 0130; 0130; tr; # LATIN CAPITAL LETTER I WITH DOT ABOVE
+0130; 0069; 0130; 0130; az; # LATIN CAPITAL LETTER I WITH DOT ABOVE
+
+# When lowercasing, remove dot_above in the sequence I + dot_above, which will turn into i.
+# This matches the behavior of the canonically equivalent I-dot_above
+
+0307; ; 0307; 0307; tr After_I; # COMBINING DOT ABOVE
+0307; ; 0307; 0307; az After_I; # COMBINING DOT ABOVE
+
+# When lowercasing, unless an I is before a dot_above, it turns into a dotless i.
+
+0049; 0131; 0049; 0049; tr Not_Before_Dot; # LATIN CAPITAL LETTER I
+0049; 0131; 0049; 0049; az Not_Before_Dot; # LATIN CAPITAL LETTER I
+
+# When uppercasing, i turns into a dotted capital I
+
+0069; 0069; 0130; 0130; tr; # LATIN SMALL LETTER I
+0069; 0069; 0130; 0130; az; # LATIN SMALL LETTER I
+
+# Note: the following case is already in the UnicodeData file.
+
+# 0131; 0131; 0049; 0049; tr; # LATIN SMALL LETTER DOTLESS I
diff --git a/src/com/ibm/icu/dev/data/unicode/UnicodeData.txt b/src/com/ibm/icu/dev/data/unicode/UnicodeData.txt
new file mode 100755
index 0000000..f314186
--- /dev/null
+++ b/src/com/ibm/icu/dev/data/unicode/UnicodeData.txt
@@ -0,0 +1,16351 @@
+0000;<control>;Cc;0;BN;;;;;N;NULL;;;;
+0001;<control>;Cc;0;BN;;;;;N;START OF HEADING;;;;
+0002;<control>;Cc;0;BN;;;;;N;START OF TEXT;;;;
+0003;<control>;Cc;0;BN;;;;;N;END OF TEXT;;;;
+0004;<control>;Cc;0;BN;;;;;N;END OF TRANSMISSION;;;;
+0005;<control>;Cc;0;BN;;;;;N;ENQUIRY;;;;
+0006;<control>;Cc;0;BN;;;;;N;ACKNOWLEDGE;;;;
+0007;<control>;Cc;0;BN;;;;;N;BELL;;;;
+0008;<control>;Cc;0;BN;;;;;N;BACKSPACE;;;;
+0009;<control>;Cc;0;S;;;;;N;CHARACTER TABULATION;;;;
+000A;<control>;Cc;0;B;;;;;N;LINE FEED (LF);;;;
+000B;<control>;Cc;0;S;;;;;N;LINE TABULATION;;;;
+000C;<control>;Cc;0;WS;;;;;N;FORM FEED (FF);;;;
+000D;<control>;Cc;0;B;;;;;N;CARRIAGE RETURN (CR);;;;
+000E;<control>;Cc;0;BN;;;;;N;SHIFT OUT;;;;
+000F;<control>;Cc;0;BN;;;;;N;SHIFT IN;;;;
+0010;<control>;Cc;0;BN;;;;;N;DATA LINK ESCAPE;;;;
+0011;<control>;Cc;0;BN;;;;;N;DEVICE CONTROL ONE;;;;
+0012;<control>;Cc;0;BN;;;;;N;DEVICE CONTROL TWO;;;;
+0013;<control>;Cc;0;BN;;;;;N;DEVICE CONTROL THREE;;;;
+0014;<control>;Cc;0;BN;;;;;N;DEVICE CONTROL FOUR;;;;
+0015;<control>;Cc;0;BN;;;;;N;NEGATIVE ACKNOWLEDGE;;;;
+0016;<control>;Cc;0;BN;;;;;N;SYNCHRONOUS IDLE;;;;
+0017;<control>;Cc;0;BN;;;;;N;END OF TRANSMISSION BLOCK;;;;
+0018;<control>;Cc;0;BN;;;;;N;CANCEL;;;;
+0019;<control>;Cc;0;BN;;;;;N;END OF MEDIUM;;;;
+001A;<control>;Cc;0;BN;;;;;N;SUBSTITUTE;;;;
+001B;<control>;Cc;0;BN;;;;;N;ESCAPE;;;;
+001C;<control>;Cc;0;B;;;;;N;INFORMATION SEPARATOR FOUR;;;;
+001D;<control>;Cc;0;B;;;;;N;INFORMATION SEPARATOR THREE;;;;
+001E;<control>;Cc;0;B;;;;;N;INFORMATION SEPARATOR TWO;;;;
+001F;<control>;Cc;0;S;;;;;N;INFORMATION SEPARATOR ONE;;;;
+0020;SPACE;Zs;0;WS;;;;;N;;;;;
+0021;EXCLAMATION MARK;Po;0;ON;;;;;N;;;;;
+0022;QUOTATION MARK;Po;0;ON;;;;;N;;;;;
+0023;NUMBER SIGN;Po;0;ET;;;;;N;;;;;
+0024;DOLLAR SIGN;Sc;0;ET;;;;;N;;;;;
+0025;PERCENT SIGN;Po;0;ET;;;;;N;;;;;
+0026;AMPERSAND;Po;0;ON;;;;;N;;;;;
+0027;APOSTROPHE;Po;0;ON;;;;;N;APOSTROPHE-QUOTE;;;;
+0028;LEFT PARENTHESIS;Ps;0;ON;;;;;Y;OPENING PARENTHESIS;;;;
+0029;RIGHT PARENTHESIS;Pe;0;ON;;;;;Y;CLOSING PARENTHESIS;;;;
+002A;ASTERISK;Po;0;ON;;;;;N;;;;;
+002B;PLUS SIGN;Sm;0;ES;;;;;N;;;;;
+002C;COMMA;Po;0;CS;;;;;N;;;;;
+002D;HYPHEN-MINUS;Pd;0;ES;;;;;N;;;;;
+002E;FULL STOP;Po;0;CS;;;;;N;PERIOD;;;;
+002F;SOLIDUS;Po;0;CS;;;;;N;SLASH;;;;
+0030;DIGIT ZERO;Nd;0;EN;;0;0;0;N;;;;;
+0031;DIGIT ONE;Nd;0;EN;;1;1;1;N;;;;;
+0032;DIGIT TWO;Nd;0;EN;;2;2;2;N;;;;;
+0033;DIGIT THREE;Nd;0;EN;;3;3;3;N;;;;;
+0034;DIGIT FOUR;Nd;0;EN;;4;4;4;N;;;;;
+0035;DIGIT FIVE;Nd;0;EN;;5;5;5;N;;;;;
+0036;DIGIT SIX;Nd;0;EN;;6;6;6;N;;;;;
+0037;DIGIT SEVEN;Nd;0;EN;;7;7;7;N;;;;;
+0038;DIGIT EIGHT;Nd;0;EN;;8;8;8;N;;;;;
+0039;DIGIT NINE;Nd;0;EN;;9;9;9;N;;;;;
+003A;COLON;Po;0;CS;;;;;N;;;;;
+003B;SEMICOLON;Po;0;ON;;;;;N;;;;;
+003C;LESS-THAN SIGN;Sm;0;ON;;;;;Y;;;;;
+003D;EQUALS SIGN;Sm;0;ON;;;;;N;;;;;
+003E;GREATER-THAN SIGN;Sm;0;ON;;;;;Y;;;;;
+003F;QUESTION MARK;Po;0;ON;;;;;N;;;;;
+0040;COMMERCIAL AT;Po;0;ON;;;;;N;;;;;
+0041;LATIN CAPITAL LETTER A;Lu;0;L;;;;;N;;;;0061;
+0042;LATIN CAPITAL LETTER B;Lu;0;L;;;;;N;;;;0062;
+0043;LATIN CAPITAL LETTER C;Lu;0;L;;;;;N;;;;0063;
+0044;LATIN CAPITAL LETTER D;Lu;0;L;;;;;N;;;;0064;
+0045;LATIN CAPITAL LETTER E;Lu;0;L;;;;;N;;;;0065;
+0046;LATIN CAPITAL LETTER F;Lu;0;L;;;;;N;;;;0066;
+0047;LATIN CAPITAL LETTER G;Lu;0;L;;;;;N;;;;0067;
+0048;LATIN CAPITAL LETTER H;Lu;0;L;;;;;N;;;;0068;
+0049;LATIN CAPITAL LETTER I;Lu;0;L;;;;;N;;;;0069;
+004A;LATIN CAPITAL LETTER J;Lu;0;L;;;;;N;;;;006A;
+004B;LATIN CAPITAL LETTER K;Lu;0;L;;;;;N;;;;006B;
+004C;LATIN CAPITAL LETTER L;Lu;0;L;;;;;N;;;;006C;
+004D;LATIN CAPITAL LETTER M;Lu;0;L;;;;;N;;;;006D;
+004E;LATIN CAPITAL LETTER N;Lu;0;L;;;;;N;;;;006E;
+004F;LATIN CAPITAL LETTER O;Lu;0;L;;;;;N;;;;006F;
+0050;LATIN CAPITAL LETTER P;Lu;0;L;;;;;N;;;;0070;
+0051;LATIN CAPITAL LETTER Q;Lu;0;L;;;;;N;;;;0071;
+0052;LATIN CAPITAL LETTER R;Lu;0;L;;;;;N;;;;0072;
+0053;LATIN CAPITAL LETTER S;Lu;0;L;;;;;N;;;;0073;
+0054;LATIN CAPITAL LETTER T;Lu;0;L;;;;;N;;;;0074;
+0055;LATIN CAPITAL LETTER U;Lu;0;L;;;;;N;;;;0075;
+0056;LATIN CAPITAL LETTER V;Lu;0;L;;;;;N;;;;0076;
+0057;LATIN CAPITAL LETTER W;Lu;0;L;;;;;N;;;;0077;
+0058;LATIN CAPITAL LETTER X;Lu;0;L;;;;;N;;;;0078;
+0059;LATIN CAPITAL LETTER Y;Lu;0;L;;;;;N;;;;0079;
+005A;LATIN CAPITAL LETTER Z;Lu;0;L;;;;;N;;;;007A;
+005B;LEFT SQUARE BRACKET;Ps;0;ON;;;;;Y;OPENING SQUARE BRACKET;;;;
+005C;REVERSE SOLIDUS;Po;0;ON;;;;;N;BACKSLASH;;;;
+005D;RIGHT SQUARE BRACKET;Pe;0;ON;;;;;Y;CLOSING SQUARE BRACKET;;;;
+005E;CIRCUMFLEX ACCENT;Sk;0;ON;;;;;N;SPACING CIRCUMFLEX;;;;
+005F;LOW LINE;Pc;0;ON;;;;;N;SPACING UNDERSCORE;;;;
+0060;GRAVE ACCENT;Sk;0;ON;;;;;N;SPACING GRAVE;;;;
+0061;LATIN SMALL LETTER A;Ll;0;L;;;;;N;;;0041;;0041
+0062;LATIN SMALL LETTER B;Ll;0;L;;;;;N;;;0042;;0042
+0063;LATIN SMALL LETTER C;Ll;0;L;;;;;N;;;0043;;0043
+0064;LATIN SMALL LETTER D;Ll;0;L;;;;;N;;;0044;;0044
+0065;LATIN SMALL LETTER E;Ll;0;L;;;;;N;;;0045;;0045
+0066;LATIN SMALL LETTER F;Ll;0;L;;;;;N;;;0046;;0046
+0067;LATIN SMALL LETTER G;Ll;0;L;;;;;N;;;0047;;0047
+0068;LATIN SMALL LETTER H;Ll;0;L;;;;;N;;;0048;;0048
+0069;LATIN SMALL LETTER I;Ll;0;L;;;;;N;;;0049;;0049
+006A;LATIN SMALL LETTER J;Ll;0;L;;;;;N;;;004A;;004A
+006B;LATIN SMALL LETTER K;Ll;0;L;;;;;N;;;004B;;004B
+006C;LATIN SMALL LETTER L;Ll;0;L;;;;;N;;;004C;;004C
+006D;LATIN SMALL LETTER M;Ll;0;L;;;;;N;;;004D;;004D
+006E;LATIN SMALL LETTER N;Ll;0;L;;;;;N;;;004E;;004E
+006F;LATIN SMALL LETTER O;Ll;0;L;;;;;N;;;004F;;004F
+0070;LATIN SMALL LETTER P;Ll;0;L;;;;;N;;;0050;;0050
+0071;LATIN SMALL LETTER Q;Ll;0;L;;;;;N;;;0051;;0051
+0072;LATIN SMALL LETTER R;Ll;0;L;;;;;N;;;0052;;0052
+0073;LATIN SMALL LETTER S;Ll;0;L;;;;;N;;;0053;;0053
+0074;LATIN SMALL LETTER T;Ll;0;L;;;;;N;;;0054;;0054
+0075;LATIN SMALL LETTER U;Ll;0;L;;;;;N;;;0055;;0055
+0076;LATIN SMALL LETTER V;Ll;0;L;;;;;N;;;0056;;0056
+0077;LATIN SMALL LETTER W;Ll;0;L;;;;;N;;;0057;;0057
+0078;LATIN SMALL LETTER X;Ll;0;L;;;;;N;;;0058;;0058
+0079;LATIN SMALL LETTER Y;Ll;0;L;;;;;N;;;0059;;0059
+007A;LATIN SMALL LETTER Z;Ll;0;L;;;;;N;;;005A;;005A
+007B;LEFT CURLY BRACKET;Ps;0;ON;;;;;Y;OPENING CURLY BRACKET;;;;
+007C;VERTICAL LINE;Sm;0;ON;;;;;N;VERTICAL BAR;;;;
+007D;RIGHT CURLY BRACKET;Pe;0;ON;;;;;Y;CLOSING CURLY BRACKET;;;;
+007E;TILDE;Sm;0;ON;;;;;N;;;;;
+007F;<control>;Cc;0;BN;;;;;N;DELETE;;;;
+0080;<control>;Cc;0;BN;;;;;N;;;;;
+0081;<control>;Cc;0;BN;;;;;N;;;;;
+0082;<control>;Cc;0;BN;;;;;N;BREAK PERMITTED HERE;;;;
+0083;<control>;Cc;0;BN;;;;;N;NO BREAK HERE;;;;
+0084;<control>;Cc;0;BN;;;;;N;;;;;
+0085;<control>;Cc;0;B;;;;;N;NEXT LINE (NEL);;;;
+0086;<control>;Cc;0;BN;;;;;N;START OF SELECTED AREA;;;;
+0087;<control>;Cc;0;BN;;;;;N;END OF SELECTED AREA;;;;
+0088;<control>;Cc;0;BN;;;;;N;CHARACTER TABULATION SET;;;;
+0089;<control>;Cc;0;BN;;;;;N;CHARACTER TABULATION WITH JUSTIFICATION;;;;
+008A;<control>;Cc;0;BN;;;;;N;LINE TABULATION SET;;;;
+008B;<control>;Cc;0;BN;;;;;N;PARTIAL LINE FORWARD;;;;
+008C;<control>;Cc;0;BN;;;;;N;PARTIAL LINE BACKWARD;;;;
+008D;<control>;Cc;0;BN;;;;;N;REVERSE LINE FEED;;;;
+008E;<control>;Cc;0;BN;;;;;N;SINGLE SHIFT TWO;;;;
+008F;<control>;Cc;0;BN;;;;;N;SINGLE SHIFT THREE;;;;
+0090;<control>;Cc;0;BN;;;;;N;DEVICE CONTROL STRING;;;;
+0091;<control>;Cc;0;BN;;;;;N;PRIVATE USE ONE;;;;
+0092;<control>;Cc;0;BN;;;;;N;PRIVATE USE TWO;;;;
+0093;<control>;Cc;0;BN;;;;;N;SET TRANSMIT STATE;;;;
+0094;<control>;Cc;0;BN;;;;;N;CANCEL CHARACTER;;;;
+0095;<control>;Cc;0;BN;;;;;N;MESSAGE WAITING;;;;
+0096;<control>;Cc;0;BN;;;;;N;START OF GUARDED AREA;;;;
+0097;<control>;Cc;0;BN;;;;;N;END OF GUARDED AREA;;;;
+0098;<control>;Cc;0;BN;;;;;N;START OF STRING;;;;
+0099;<control>;Cc;0;BN;;;;;N;;;;;
+009A;<control>;Cc;0;BN;;;;;N;SINGLE CHARACTER INTRODUCER;;;;
+009B;<control>;Cc;0;BN;;;;;N;CONTROL SEQUENCE INTRODUCER;;;;
+009C;<control>;Cc;0;BN;;;;;N;STRING TERMINATOR;;;;
+009D;<control>;Cc;0;BN;;;;;N;OPERATING SYSTEM COMMAND;;;;
+009E;<control>;Cc;0;BN;;;;;N;PRIVACY MESSAGE;;;;
+009F;<control>;Cc;0;BN;;;;;N;APPLICATION PROGRAM COMMAND;;;;
+00A0;NO-BREAK SPACE;Zs;0;CS;<noBreak> 0020;;;;N;NON-BREAKING SPACE;;;;
+00A1;INVERTED EXCLAMATION MARK;Po;0;ON;;;;;N;;;;;
+00A2;CENT SIGN;Sc;0;ET;;;;;N;;;;;
+00A3;POUND SIGN;Sc;0;ET;;;;;N;;;;;
+00A4;CURRENCY SIGN;Sc;0;ET;;;;;N;;;;;
+00A5;YEN SIGN;Sc;0;ET;;;;;N;;;;;
+00A6;BROKEN BAR;So;0;ON;;;;;N;BROKEN VERTICAL BAR;;;;
+00A7;SECTION SIGN;So;0;ON;;;;;N;;;;;
+00A8;DIAERESIS;Sk;0;ON;<compat> 0020 0308;;;;N;SPACING DIAERESIS;;;;
+00A9;COPYRIGHT SIGN;So;0;ON;;;;;N;;;;;
+00AA;FEMININE ORDINAL INDICATOR;Ll;0;L;<super> 0061;;;;N;;;;;
+00AB;LEFT-POINTING DOUBLE ANGLE QUOTATION MARK;Pi;0;ON;;;;;Y;LEFT POINTING GUILLEMET;*;;;
+00AC;NOT SIGN;Sm;0;ON;;;;;N;;;;;
+00AD;SOFT HYPHEN;Cf;0;BN;;;;;N;;;;;
+00AE;REGISTERED SIGN;So;0;ON;;;;;N;REGISTERED TRADE MARK SIGN;;;;
+00AF;MACRON;Sk;0;ON;<compat> 0020 0304;;;;N;SPACING MACRON;;;;
+00B0;DEGREE SIGN;So;0;ET;;;;;N;;;;;
+00B1;PLUS-MINUS SIGN;Sm;0;ET;;;;;N;PLUS-OR-MINUS SIGN;;;;
+00B2;SUPERSCRIPT TWO;No;0;EN;<super> 0032;;2;2;N;SUPERSCRIPT DIGIT TWO;;;;
+00B3;SUPERSCRIPT THREE;No;0;EN;<super> 0033;;3;3;N;SUPERSCRIPT DIGIT THREE;;;;
+00B4;ACUTE ACCENT;Sk;0;ON;<compat> 0020 0301;;;;N;SPACING ACUTE;;;;
+00B5;MICRO SIGN;Ll;0;L;<compat> 03BC;;;;N;;;039C;;039C
+00B6;PILCROW SIGN;So;0;ON;;;;;N;PARAGRAPH SIGN;;;;
+00B7;MIDDLE DOT;Po;0;ON;;;;;N;;;;;
+00B8;CEDILLA;Sk;0;ON;<compat> 0020 0327;;;;N;SPACING CEDILLA;;;;
+00B9;SUPERSCRIPT ONE;No;0;EN;<super> 0031;;1;1;N;SUPERSCRIPT DIGIT ONE;;;;
+00BA;MASCULINE ORDINAL INDICATOR;Ll;0;L;<super> 006F;;;;N;;;;;
+00BB;RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK;Pf;0;ON;;;;;Y;RIGHT POINTING GUILLEMET;*;;;
+00BC;VULGAR FRACTION ONE QUARTER;No;0;ON;<fraction> 0031 2044 0034;;;1/4;N;FRACTION ONE QUARTER;;;;
+00BD;VULGAR FRACTION ONE HALF;No;0;ON;<fraction> 0031 2044 0032;;;1/2;N;FRACTION ONE HALF;;;;
+00BE;VULGAR FRACTION THREE QUARTERS;No;0;ON;<fraction> 0033 2044 0034;;;3/4;N;FRACTION THREE QUARTERS;;;;
+00BF;INVERTED QUESTION MARK;Po;0;ON;;;;;N;;;;;
+00C0;LATIN CAPITAL LETTER A WITH GRAVE;Lu;0;L;0041 0300;;;;N;LATIN CAPITAL LETTER A GRAVE;;;00E0;
+00C1;LATIN CAPITAL LETTER A WITH ACUTE;Lu;0;L;0041 0301;;;;N;LATIN CAPITAL LETTER A ACUTE;;;00E1;
+00C2;LATIN CAPITAL LETTER A WITH CIRCUMFLEX;Lu;0;L;0041 0302;;;;N;LATIN CAPITAL LETTER A CIRCUMFLEX;;;00E2;
+00C3;LATIN CAPITAL LETTER A WITH TILDE;Lu;0;L;0041 0303;;;;N;LATIN CAPITAL LETTER A TILDE;;;00E3;
+00C4;LATIN CAPITAL LETTER A WITH DIAERESIS;Lu;0;L;0041 0308;;;;N;LATIN CAPITAL LETTER A DIAERESIS;;;00E4;
+00C5;LATIN CAPITAL LETTER A WITH RING ABOVE;Lu;0;L;0041 030A;;;;N;LATIN CAPITAL LETTER A RING;;;00E5;
+00C6;LATIN CAPITAL LETTER AE;Lu;0;L;;;;;N;LATIN CAPITAL LETTER A E;ash *;;00E6;
+00C7;LATIN CAPITAL LETTER C WITH CEDILLA;Lu;0;L;0043 0327;;;;N;LATIN CAPITAL LETTER C CEDILLA;;;00E7;
+00C8;LATIN CAPITAL LETTER E WITH GRAVE;Lu;0;L;0045 0300;;;;N;LATIN CAPITAL LETTER E GRAVE;;;00E8;
+00C9;LATIN CAPITAL LETTER E WITH ACUTE;Lu;0;L;0045 0301;;;;N;LATIN CAPITAL LETTER E ACUTE;;;00E9;
+00CA;LATIN CAPITAL LETTER E WITH CIRCUMFLEX;Lu;0;L;0045 0302;;;;N;LATIN CAPITAL LETTER E CIRCUMFLEX;;;00EA;
+00CB;LATIN CAPITAL LETTER E WITH DIAERESIS;Lu;0;L;0045 0308;;;;N;LATIN CAPITAL LETTER E DIAERESIS;;;00EB;
+00CC;LATIN CAPITAL LETTER I WITH GRAVE;Lu;0;L;0049 0300;;;;N;LATIN CAPITAL LETTER I GRAVE;;;00EC;
+00CD;LATIN CAPITAL LETTER I WITH ACUTE;Lu;0;L;0049 0301;;;;N;LATIN CAPITAL LETTER I ACUTE;;;00ED;
+00CE;LATIN CAPITAL LETTER I WITH CIRCUMFLEX;Lu;0;L;0049 0302;;;;N;LATIN CAPITAL LETTER I CIRCUMFLEX;;;00EE;
+00CF;LATIN CAPITAL LETTER I WITH DIAERESIS;Lu;0;L;0049 0308;;;;N;LATIN CAPITAL LETTER I DIAERESIS;;;00EF;
+00D0;LATIN CAPITAL LETTER ETH;Lu;0;L;;;;;N;;Icelandic;;00F0;
+00D1;LATIN CAPITAL LETTER N WITH TILDE;Lu;0;L;004E 0303;;;;N;LATIN CAPITAL LETTER N TILDE;;;00F1;
+00D2;LATIN CAPITAL LETTER O WITH GRAVE;Lu;0;L;004F 0300;;;;N;LATIN CAPITAL LETTER O GRAVE;;;00F2;
+00D3;LATIN CAPITAL LETTER O WITH ACUTE;Lu;0;L;004F 0301;;;;N;LATIN CAPITAL LETTER O ACUTE;;;00F3;
+00D4;LATIN CAPITAL LETTER O WITH CIRCUMFLEX;Lu;0;L;004F 0302;;;;N;LATIN CAPITAL LETTER O CIRCUMFLEX;;;00F4;
+00D5;LATIN CAPITAL LETTER O WITH TILDE;Lu;0;L;004F 0303;;;;N;LATIN CAPITAL LETTER O TILDE;;;00F5;
+00D6;LATIN CAPITAL LETTER O WITH DIAERESIS;Lu;0;L;004F 0308;;;;N;LATIN CAPITAL LETTER O DIAERESIS;;;00F6;
+00D7;MULTIPLICATION SIGN;Sm;0;ON;;;;;N;;;;;
+00D8;LATIN CAPITAL LETTER O WITH STROKE;Lu;0;L;;;;;N;LATIN CAPITAL LETTER O SLASH;;;00F8;
+00D9;LATIN CAPITAL LETTER U WITH GRAVE;Lu;0;L;0055 0300;;;;N;LATIN CAPITAL LETTER U GRAVE;;;00F9;
+00DA;LATIN CAPITAL LETTER U WITH ACUTE;Lu;0;L;0055 0301;;;;N;LATIN CAPITAL LETTER U ACUTE;;;00FA;
+00DB;LATIN CAPITAL LETTER U WITH CIRCUMFLEX;Lu;0;L;0055 0302;;;;N;LATIN CAPITAL LETTER U CIRCUMFLEX;;;00FB;
+00DC;LATIN CAPITAL LETTER U WITH DIAERESIS;Lu;0;L;0055 0308;;;;N;LATIN CAPITAL LETTER U DIAERESIS;;;00FC;
+00DD;LATIN CAPITAL LETTER Y WITH ACUTE;Lu;0;L;0059 0301;;;;N;LATIN CAPITAL LETTER Y ACUTE;;;00FD;
+00DE;LATIN CAPITAL LETTER THORN;Lu;0;L;;;;;N;;Icelandic;;00FE;
+00DF;LATIN SMALL LETTER SHARP S;Ll;0;L;;;;;N;;German;;;
+00E0;LATIN SMALL LETTER A WITH GRAVE;Ll;0;L;0061 0300;;;;N;LATIN SMALL LETTER A GRAVE;;00C0;;00C0
+00E1;LATIN SMALL LETTER A WITH ACUTE;Ll;0;L;0061 0301;;;;N;LATIN SMALL LETTER A ACUTE;;00C1;;00C1
+00E2;LATIN SMALL LETTER A WITH CIRCUMFLEX;Ll;0;L;0061 0302;;;;N;LATIN SMALL LETTER A CIRCUMFLEX;;00C2;;00C2
+00E3;LATIN SMALL LETTER A WITH TILDE;Ll;0;L;0061 0303;;;;N;LATIN SMALL LETTER A TILDE;;00C3;;00C3
+00E4;LATIN SMALL LETTER A WITH DIAERESIS;Ll;0;L;0061 0308;;;;N;LATIN SMALL LETTER A DIAERESIS;;00C4;;00C4
+00E5;LATIN SMALL LETTER A WITH RING ABOVE;Ll;0;L;0061 030A;;;;N;LATIN SMALL LETTER A RING;;00C5;;00C5
+00E6;LATIN SMALL LETTER AE;Ll;0;L;;;;;N;LATIN SMALL LETTER A E;ash *;00C6;;00C6
+00E7;LATIN SMALL LETTER C WITH CEDILLA;Ll;0;L;0063 0327;;;;N;LATIN SMALL LETTER C CEDILLA;;00C7;;00C7
+00E8;LATIN SMALL LETTER E WITH GRAVE;Ll;0;L;0065 0300;;;;N;LATIN SMALL LETTER E GRAVE;;00C8;;00C8
+00E9;LATIN SMALL LETTER E WITH ACUTE;Ll;0;L;0065 0301;;;;N;LATIN SMALL LETTER E ACUTE;;00C9;;00C9
+00EA;LATIN SMALL LETTER E WITH CIRCUMFLEX;Ll;0;L;0065 0302;;;;N;LATIN SMALL LETTER E CIRCUMFLEX;;00CA;;00CA
+00EB;LATIN SMALL LETTER E WITH DIAERESIS;Ll;0;L;0065 0308;;;;N;LATIN SMALL LETTER E DIAERESIS;;00CB;;00CB
+00EC;LATIN SMALL LETTER I WITH GRAVE;Ll;0;L;0069 0300;;;;N;LATIN SMALL LETTER I GRAVE;;00CC;;00CC
+00ED;LATIN SMALL LETTER I WITH ACUTE;Ll;0;L;0069 0301;;;;N;LATIN SMALL LETTER I ACUTE;;00CD;;00CD
+00EE;LATIN SMALL LETTER I WITH CIRCUMFLEX;Ll;0;L;0069 0302;;;;N;LATIN SMALL LETTER I CIRCUMFLEX;;00CE;;00CE
+00EF;LATIN SMALL LETTER I WITH DIAERESIS;Ll;0;L;0069 0308;;;;N;LATIN SMALL LETTER I DIAERESIS;;00CF;;00CF
+00F0;LATIN SMALL LETTER ETH;Ll;0;L;;;;;N;;Icelandic;00D0;;00D0
+00F1;LATIN SMALL LETTER N WITH TILDE;Ll;0;L;006E 0303;;;;N;LATIN SMALL LETTER N TILDE;;00D1;;00D1
+00F2;LATIN SMALL LETTER O WITH GRAVE;Ll;0;L;006F 0300;;;;N;LATIN SMALL LETTER O GRAVE;;00D2;;00D2
+00F3;LATIN SMALL LETTER O WITH ACUTE;Ll;0;L;006F 0301;;;;N;LATIN SMALL LETTER O ACUTE;;00D3;;00D3
+00F4;LATIN SMALL LETTER O WITH CIRCUMFLEX;Ll;0;L;006F 0302;;;;N;LATIN SMALL LETTER O CIRCUMFLEX;;00D4;;00D4
+00F5;LATIN SMALL LETTER O WITH TILDE;Ll;0;L;006F 0303;;;;N;LATIN SMALL LETTER O TILDE;;00D5;;00D5
+00F6;LATIN SMALL LETTER O WITH DIAERESIS;Ll;0;L;006F 0308;;;;N;LATIN SMALL LETTER O DIAERESIS;;00D6;;00D6
+00F7;DIVISION SIGN;Sm;0;ON;;;;;N;;;;;
+00F8;LATIN SMALL LETTER O WITH STROKE;Ll;0;L;;;;;N;LATIN SMALL LETTER O SLASH;;00D8;;00D8
+00F9;LATIN SMALL LETTER U WITH GRAVE;Ll;0;L;0075 0300;;;;N;LATIN SMALL LETTER U GRAVE;;00D9;;00D9
+00FA;LATIN SMALL LETTER U WITH ACUTE;Ll;0;L;0075 0301;;;;N;LATIN SMALL LETTER U ACUTE;;00DA;;00DA
+00FB;LATIN SMALL LETTER U WITH CIRCUMFLEX;Ll;0;L;0075 0302;;;;N;LATIN SMALL LETTER U CIRCUMFLEX;;00DB;;00DB
+00FC;LATIN SMALL LETTER U WITH DIAERESIS;Ll;0;L;0075 0308;;;;N;LATIN SMALL LETTER U DIAERESIS;;00DC;;00DC
+00FD;LATIN SMALL LETTER Y WITH ACUTE;Ll;0;L;0079 0301;;;;N;LATIN SMALL LETTER Y ACUTE;;00DD;;00DD
+00FE;LATIN SMALL LETTER THORN;Ll;0;L;;;;;N;;Icelandic;00DE;;00DE
+00FF;LATIN SMALL LETTER Y WITH DIAERESIS;Ll;0;L;0079 0308;;;;N;LATIN SMALL LETTER Y DIAERESIS;;0178;;0178
+0100;LATIN CAPITAL LETTER A WITH MACRON;Lu;0;L;0041 0304;;;;N;LATIN CAPITAL LETTER A MACRON;;;0101;
+0101;LATIN SMALL LETTER A WITH MACRON;Ll;0;L;0061 0304;;;;N;LATIN SMALL LETTER A MACRON;;0100;;0100
+0102;LATIN CAPITAL LETTER A WITH BREVE;Lu;0;L;0041 0306;;;;N;LATIN CAPITAL LETTER A BREVE;;;0103;
+0103;LATIN SMALL LETTER A WITH BREVE;Ll;0;L;0061 0306;;;;N;LATIN SMALL LETTER A BREVE;;0102;;0102
+0104;LATIN CAPITAL LETTER A WITH OGONEK;Lu;0;L;0041 0328;;;;N;LATIN CAPITAL LETTER A OGONEK;;;0105;
+0105;LATIN SMALL LETTER A WITH OGONEK;Ll;0;L;0061 0328;;;;N;LATIN SMALL LETTER A OGONEK;;0104;;0104
+0106;LATIN CAPITAL LETTER C WITH ACUTE;Lu;0;L;0043 0301;;;;N;LATIN CAPITAL LETTER C ACUTE;;;0107;
+0107;LATIN SMALL LETTER C WITH ACUTE;Ll;0;L;0063 0301;;;;N;LATIN SMALL LETTER C ACUTE;;0106;;0106
+0108;LATIN CAPITAL LETTER C WITH CIRCUMFLEX;Lu;0;L;0043 0302;;;;N;LATIN CAPITAL LETTER C CIRCUMFLEX;;;0109;
+0109;LATIN SMALL LETTER C WITH CIRCUMFLEX;Ll;0;L;0063 0302;;;;N;LATIN SMALL LETTER C CIRCUMFLEX;;0108;;0108
+010A;LATIN CAPITAL LETTER C WITH DOT ABOVE;Lu;0;L;0043 0307;;;;N;LATIN CAPITAL LETTER C DOT;;;010B;
+010B;LATIN SMALL LETTER C WITH DOT ABOVE;Ll;0;L;0063 0307;;;;N;LATIN SMALL LETTER C DOT;;010A;;010A
+010C;LATIN CAPITAL LETTER C WITH CARON;Lu;0;L;0043 030C;;;;N;LATIN CAPITAL LETTER C HACEK;;;010D;
+010D;LATIN SMALL LETTER C WITH CARON;Ll;0;L;0063 030C;;;;N;LATIN SMALL LETTER C HACEK;;010C;;010C
+010E;LATIN CAPITAL LETTER D WITH CARON;Lu;0;L;0044 030C;;;;N;LATIN CAPITAL LETTER D HACEK;;;010F;
+010F;LATIN SMALL LETTER D WITH CARON;Ll;0;L;0064 030C;;;;N;LATIN SMALL LETTER D HACEK;;010E;;010E
+0110;LATIN CAPITAL LETTER D WITH STROKE;Lu;0;L;;;;;N;LATIN CAPITAL LETTER D BAR;;;0111;
+0111;LATIN SMALL LETTER D WITH STROKE;Ll;0;L;;;;;N;LATIN SMALL LETTER D BAR;;0110;;0110
+0112;LATIN CAPITAL LETTER E WITH MACRON;Lu;0;L;0045 0304;;;;N;LATIN CAPITAL LETTER E MACRON;;;0113;
+0113;LATIN SMALL LETTER E WITH MACRON;Ll;0;L;0065 0304;;;;N;LATIN SMALL LETTER E MACRON;;0112;;0112
+0114;LATIN CAPITAL LETTER E WITH BREVE;Lu;0;L;0045 0306;;;;N;LATIN CAPITAL LETTER E BREVE;;;0115;
+0115;LATIN SMALL LETTER E WITH BREVE;Ll;0;L;0065 0306;;;;N;LATIN SMALL LETTER E BREVE;;0114;;0114
+0116;LATIN CAPITAL LETTER E WITH DOT ABOVE;Lu;0;L;0045 0307;;;;N;LATIN CAPITAL LETTER E DOT;;;0117;
+0117;LATIN SMALL LETTER E WITH DOT ABOVE;Ll;0;L;0065 0307;;;;N;LATIN SMALL LETTER E DOT;;0116;;0116
+0118;LATIN CAPITAL LETTER E WITH OGONEK;Lu;0;L;0045 0328;;;;N;LATIN CAPITAL LETTER E OGONEK;;;0119;
+0119;LATIN SMALL LETTER E WITH OGONEK;Ll;0;L;0065 0328;;;;N;LATIN SMALL LETTER E OGONEK;;0118;;0118
+011A;LATIN CAPITAL LETTER E WITH CARON;Lu;0;L;0045 030C;;;;N;LATIN CAPITAL LETTER E HACEK;;;011B;
+011B;LATIN SMALL LETTER E WITH CARON;Ll;0;L;0065 030C;;;;N;LATIN SMALL LETTER E HACEK;;011A;;011A
+011C;LATIN CAPITAL LETTER G WITH CIRCUMFLEX;Lu;0;L;0047 0302;;;;N;LATIN CAPITAL LETTER G CIRCUMFLEX;;;011D;
+011D;LATIN SMALL LETTER G WITH CIRCUMFLEX;Ll;0;L;0067 0302;;;;N;LATIN SMALL LETTER G CIRCUMFLEX;;011C;;011C
+011E;LATIN CAPITAL LETTER G WITH BREVE;Lu;0;L;0047 0306;;;;N;LATIN CAPITAL LETTER G BREVE;;;011F;
+011F;LATIN SMALL LETTER G WITH BREVE;Ll;0;L;0067 0306;;;;N;LATIN SMALL LETTER G BREVE;;011E;;011E
+0120;LATIN CAPITAL LETTER G WITH DOT ABOVE;Lu;0;L;0047 0307;;;;N;LATIN CAPITAL LETTER G DOT;;;0121;
+0121;LATIN SMALL LETTER G WITH DOT ABOVE;Ll;0;L;0067 0307;;;;N;LATIN SMALL LETTER G DOT;;0120;;0120
+0122;LATIN CAPITAL LETTER G WITH CEDILLA;Lu;0;L;0047 0327;;;;N;LATIN CAPITAL LETTER G CEDILLA;;;0123;
+0123;LATIN SMALL LETTER G WITH CEDILLA;Ll;0;L;0067 0327;;;;N;LATIN SMALL LETTER G CEDILLA;;0122;;0122
+0124;LATIN CAPITAL LETTER H WITH CIRCUMFLEX;Lu;0;L;0048 0302;;;;N;LATIN CAPITAL LETTER H CIRCUMFLEX;;;0125;
+0125;LATIN SMALL LETTER H WITH CIRCUMFLEX;Ll;0;L;0068 0302;;;;N;LATIN SMALL LETTER H CIRCUMFLEX;;0124;;0124
+0126;LATIN CAPITAL LETTER H WITH STROKE;Lu;0;L;;;;;N;LATIN CAPITAL LETTER H BAR;;;0127;
+0127;LATIN SMALL LETTER H WITH STROKE;Ll;0;L;;;;;N;LATIN SMALL LETTER H BAR;;0126;;0126
+0128;LATIN CAPITAL LETTER I WITH TILDE;Lu;0;L;0049 0303;;;;N;LATIN CAPITAL LETTER I TILDE;;;0129;
+0129;LATIN SMALL LETTER I WITH TILDE;Ll;0;L;0069 0303;;;;N;LATIN SMALL LETTER I TILDE;;0128;;0128
+012A;LATIN CAPITAL LETTER I WITH MACRON;Lu;0;L;0049 0304;;;;N;LATIN CAPITAL LETTER I MACRON;;;012B;
+012B;LATIN SMALL LETTER I WITH MACRON;Ll;0;L;0069 0304;;;;N;LATIN SMALL LETTER I MACRON;;012A;;012A
+012C;LATIN CAPITAL LETTER I WITH BREVE;Lu;0;L;0049 0306;;;;N;LATIN CAPITAL LETTER I BREVE;;;012D;
+012D;LATIN SMALL LETTER I WITH BREVE;Ll;0;L;0069 0306;;;;N;LATIN SMALL LETTER I BREVE;;012C;;012C
+012E;LATIN CAPITAL LETTER I WITH OGONEK;Lu;0;L;0049 0328;;;;N;LATIN CAPITAL LETTER I OGONEK;;;012F;
+012F;LATIN SMALL LETTER I WITH OGONEK;Ll;0;L;0069 0328;;;;N;LATIN SMALL LETTER I OGONEK;;012E;;012E
+0130;LATIN CAPITAL LETTER I WITH DOT ABOVE;Lu;0;L;0049 0307;;;;N;LATIN CAPITAL LETTER I DOT;;;0069;
+0131;LATIN SMALL LETTER DOTLESS I;Ll;0;L;;;;;N;;;0049;;0049
+0132;LATIN CAPITAL LIGATURE IJ;Lu;0;L;<compat> 0049 004A;;;;N;LATIN CAPITAL LETTER I J;;;0133;
+0133;LATIN SMALL LIGATURE IJ;Ll;0;L;<compat> 0069 006A;;;;N;LATIN SMALL LETTER I J;;0132;;0132
+0134;LATIN CAPITAL LETTER J WITH CIRCUMFLEX;Lu;0;L;004A 0302;;;;N;LATIN CAPITAL LETTER J CIRCUMFLEX;;;0135;
+0135;LATIN SMALL LETTER J WITH CIRCUMFLEX;Ll;0;L;006A 0302;;;;N;LATIN SMALL LETTER J CIRCUMFLEX;;0134;;0134
+0136;LATIN CAPITAL LETTER K WITH CEDILLA;Lu;0;L;004B 0327;;;;N;LATIN CAPITAL LETTER K CEDILLA;;;0137;
+0137;LATIN SMALL LETTER K WITH CEDILLA;Ll;0;L;006B 0327;;;;N;LATIN SMALL LETTER K CEDILLA;;0136;;0136
+0138;LATIN SMALL LETTER KRA;Ll;0;L;;;;;N;;Greenlandic;;;
+0139;LATIN CAPITAL LETTER L WITH ACUTE;Lu;0;L;004C 0301;;;;N;LATIN CAPITAL LETTER L ACUTE;;;013A;
+013A;LATIN SMALL LETTER L WITH ACUTE;Ll;0;L;006C 0301;;;;N;LATIN SMALL LETTER L ACUTE;;0139;;0139
+013B;LATIN CAPITAL LETTER L WITH CEDILLA;Lu;0;L;004C 0327;;;;N;LATIN CAPITAL LETTER L CEDILLA;;;013C;
+013C;LATIN SMALL LETTER L WITH CEDILLA;Ll;0;L;006C 0327;;;;N;LATIN SMALL LETTER L CEDILLA;;013B;;013B
+013D;LATIN CAPITAL LETTER L WITH CARON;Lu;0;L;004C 030C;;;;N;LATIN CAPITAL LETTER L HACEK;;;013E;
+013E;LATIN SMALL LETTER L WITH CARON;Ll;0;L;006C 030C;;;;N;LATIN SMALL LETTER L HACEK;;013D;;013D
+013F;LATIN CAPITAL LETTER L WITH MIDDLE DOT;Lu;0;L;<compat> 004C 00B7;;;;N;;;;0140;
+0140;LATIN SMALL LETTER L WITH MIDDLE DOT;Ll;0;L;<compat> 006C 00B7;;;;N;;;013F;;013F
+0141;LATIN CAPITAL LETTER L WITH STROKE;Lu;0;L;;;;;N;LATIN CAPITAL LETTER L SLASH;;;0142;
+0142;LATIN SMALL LETTER L WITH STROKE;Ll;0;L;;;;;N;LATIN SMALL LETTER L SLASH;;0141;;0141
+0143;LATIN CAPITAL LETTER N WITH ACUTE;Lu;0;L;004E 0301;;;;N;LATIN CAPITAL LETTER N ACUTE;;;0144;
+0144;LATIN SMALL LETTER N WITH ACUTE;Ll;0;L;006E 0301;;;;N;LATIN SMALL LETTER N ACUTE;;0143;;0143
+0145;LATIN CAPITAL LETTER N WITH CEDILLA;Lu;0;L;004E 0327;;;;N;LATIN CAPITAL LETTER N CEDILLA;;;0146;
+0146;LATIN SMALL LETTER N WITH CEDILLA;Ll;0;L;006E 0327;;;;N;LATIN SMALL LETTER N CEDILLA;;0145;;0145
+0147;LATIN CAPITAL LETTER N WITH CARON;Lu;0;L;004E 030C;;;;N;LATIN CAPITAL LETTER N HACEK;;;0148;
+0148;LATIN SMALL LETTER N WITH CARON;Ll;0;L;006E 030C;;;;N;LATIN SMALL LETTER N HACEK;;0147;;0147
+0149;LATIN SMALL LETTER N PRECEDED BY APOSTROPHE;Ll;0;L;<compat> 02BC 006E;;;;N;LATIN SMALL LETTER APOSTROPHE N;;;;
+014A;LATIN CAPITAL LETTER ENG;Lu;0;L;;;;;N;;Sami;;014B;
+014B;LATIN SMALL LETTER ENG;Ll;0;L;;;;;N;;Sami;014A;;014A
+014C;LATIN CAPITAL LETTER O WITH MACRON;Lu;0;L;004F 0304;;;;N;LATIN CAPITAL LETTER O MACRON;;;014D;
+014D;LATIN SMALL LETTER O WITH MACRON;Ll;0;L;006F 0304;;;;N;LATIN SMALL LETTER O MACRON;;014C;;014C
+014E;LATIN CAPITAL LETTER O WITH BREVE;Lu;0;L;004F 0306;;;;N;LATIN CAPITAL LETTER O BREVE;;;014F;
+014F;LATIN SMALL LETTER O WITH BREVE;Ll;0;L;006F 0306;;;;N;LATIN SMALL LETTER O BREVE;;014E;;014E
+0150;LATIN CAPITAL LETTER O WITH DOUBLE ACUTE;Lu;0;L;004F 030B;;;;N;LATIN CAPITAL LETTER O DOUBLE ACUTE;;;0151;
+0151;LATIN SMALL LETTER O WITH DOUBLE ACUTE;Ll;0;L;006F 030B;;;;N;LATIN SMALL LETTER O DOUBLE ACUTE;;0150;;0150
+0152;LATIN CAPITAL LIGATURE OE;Lu;0;L;;;;;N;LATIN CAPITAL LETTER O E;;;0153;
+0153;LATIN SMALL LIGATURE OE;Ll;0;L;;;;;N;LATIN SMALL LETTER O E;;0152;;0152
+0154;LATIN CAPITAL LETTER R WITH ACUTE;Lu;0;L;0052 0301;;;;N;LATIN CAPITAL LETTER R ACUTE;;;0155;
+0155;LATIN SMALL LETTER R WITH ACUTE;Ll;0;L;0072 0301;;;;N;LATIN SMALL LETTER R ACUTE;;0154;;0154
+0156;LATIN CAPITAL LETTER R WITH CEDILLA;Lu;0;L;0052 0327;;;;N;LATIN CAPITAL LETTER R CEDILLA;;;0157;
+0157;LATIN SMALL LETTER R WITH CEDILLA;Ll;0;L;0072 0327;;;;N;LATIN SMALL LETTER R CEDILLA;;0156;;0156
+0158;LATIN CAPITAL LETTER R WITH CARON;Lu;0;L;0052 030C;;;;N;LATIN CAPITAL LETTER R HACEK;;;0159;
+0159;LATIN SMALL LETTER R WITH CARON;Ll;0;L;0072 030C;;;;N;LATIN SMALL LETTER R HACEK;;0158;;0158
+015A;LATIN CAPITAL LETTER S WITH ACUTE;Lu;0;L;0053 0301;;;;N;LATIN CAPITAL LETTER S ACUTE;;;015B;
+015B;LATIN SMALL LETTER S WITH ACUTE;Ll;0;L;0073 0301;;;;N;LATIN SMALL LETTER S ACUTE;;015A;;015A
+015C;LATIN CAPITAL LETTER S WITH CIRCUMFLEX;Lu;0;L;0053 0302;;;;N;LATIN CAPITAL LETTER S CIRCUMFLEX;;;015D;
+015D;LATIN SMALL LETTER S WITH CIRCUMFLEX;Ll;0;L;0073 0302;;;;N;LATIN SMALL LETTER S CIRCUMFLEX;;015C;;015C
+015E;LATIN CAPITAL LETTER S WITH CEDILLA;Lu;0;L;0053 0327;;;;N;LATIN CAPITAL LETTER S CEDILLA;*;;015F;
+015F;LATIN SMALL LETTER S WITH CEDILLA;Ll;0;L;0073 0327;;;;N;LATIN SMALL LETTER S CEDILLA;*;015E;;015E
+0160;LATIN CAPITAL LETTER S WITH CARON;Lu;0;L;0053 030C;;;;N;LATIN CAPITAL LETTER S HACEK;;;0161;
+0161;LATIN SMALL LETTER S WITH CARON;Ll;0;L;0073 030C;;;;N;LATIN SMALL LETTER S HACEK;;0160;;0160
+0162;LATIN CAPITAL LETTER T WITH CEDILLA;Lu;0;L;0054 0327;;;;N;LATIN CAPITAL LETTER T CEDILLA;*;;0163;
+0163;LATIN SMALL LETTER T WITH CEDILLA;Ll;0;L;0074 0327;;;;N;LATIN SMALL LETTER T CEDILLA;*;0162;;0162
+0164;LATIN CAPITAL LETTER T WITH CARON;Lu;0;L;0054 030C;;;;N;LATIN CAPITAL LETTER T HACEK;;;0165;
+0165;LATIN SMALL LETTER T WITH CARON;Ll;0;L;0074 030C;;;;N;LATIN SMALL LETTER T HACEK;;0164;;0164
+0166;LATIN CAPITAL LETTER T WITH STROKE;Lu;0;L;;;;;N;LATIN CAPITAL LETTER T BAR;;;0167;
+0167;LATIN SMALL LETTER T WITH STROKE;Ll;0;L;;;;;N;LATIN SMALL LETTER T BAR;;0166;;0166
+0168;LATIN CAPITAL LETTER U WITH TILDE;Lu;0;L;0055 0303;;;;N;LATIN CAPITAL LETTER U TILDE;;;0169;
+0169;LATIN SMALL LETTER U WITH TILDE;Ll;0;L;0075 0303;;;;N;LATIN SMALL LETTER U TILDE;;0168;;0168
+016A;LATIN CAPITAL LETTER U WITH MACRON;Lu;0;L;0055 0304;;;;N;LATIN CAPITAL LETTER U MACRON;;;016B;
+016B;LATIN SMALL LETTER U WITH MACRON;Ll;0;L;0075 0304;;;;N;LATIN SMALL LETTER U MACRON;;016A;;016A
+016C;LATIN CAPITAL LETTER U WITH BREVE;Lu;0;L;0055 0306;;;;N;LATIN CAPITAL LETTER U BREVE;;;016D;
+016D;LATIN SMALL LETTER U WITH BREVE;Ll;0;L;0075 0306;;;;N;LATIN SMALL LETTER U BREVE;;016C;;016C
+016E;LATIN CAPITAL LETTER U WITH RING ABOVE;Lu;0;L;0055 030A;;;;N;LATIN CAPITAL LETTER U RING;;;016F;
+016F;LATIN SMALL LETTER U WITH RING ABOVE;Ll;0;L;0075 030A;;;;N;LATIN SMALL LETTER U RING;;016E;;016E
+0170;LATIN CAPITAL LETTER U WITH DOUBLE ACUTE;Lu;0;L;0055 030B;;;;N;LATIN CAPITAL LETTER U DOUBLE ACUTE;;;0171;
+0171;LATIN SMALL LETTER U WITH DOUBLE ACUTE;Ll;0;L;0075 030B;;;;N;LATIN SMALL LETTER U DOUBLE ACUTE;;0170;;0170
+0172;LATIN CAPITAL LETTER U WITH OGONEK;Lu;0;L;0055 0328;;;;N;LATIN CAPITAL LETTER U OGONEK;;;0173;
+0173;LATIN SMALL LETTER U WITH OGONEK;Ll;0;L;0075 0328;;;;N;LATIN SMALL LETTER U OGONEK;;0172;;0172
+0174;LATIN CAPITAL LETTER W WITH CIRCUMFLEX;Lu;0;L;0057 0302;;;;N;LATIN CAPITAL LETTER W CIRCUMFLEX;;;0175;
+0175;LATIN SMALL LETTER W WITH CIRCUMFLEX;Ll;0;L;0077 0302;;;;N;LATIN SMALL LETTER W CIRCUMFLEX;;0174;;0174
+0176;LATIN CAPITAL LETTER Y WITH CIRCUMFLEX;Lu;0;L;0059 0302;;;;N;LATIN CAPITAL LETTER Y CIRCUMFLEX;;;0177;
+0177;LATIN SMALL LETTER Y WITH CIRCUMFLEX;Ll;0;L;0079 0302;;;;N;LATIN SMALL LETTER Y CIRCUMFLEX;;0176;;0176
+0178;LATIN CAPITAL LETTER Y WITH DIAERESIS;Lu;0;L;0059 0308;;;;N;LATIN CAPITAL LETTER Y DIAERESIS;;;00FF;
+0179;LATIN CAPITAL LETTER Z WITH ACUTE;Lu;0;L;005A 0301;;;;N;LATIN CAPITAL LETTER Z ACUTE;;;017A;
+017A;LATIN SMALL LETTER Z WITH ACUTE;Ll;0;L;007A 0301;;;;N;LATIN SMALL LETTER Z ACUTE;;0179;;0179
+017B;LATIN CAPITAL LETTER Z WITH DOT ABOVE;Lu;0;L;005A 0307;;;;N;LATIN CAPITAL LETTER Z DOT;;;017C;
+017C;LATIN SMALL LETTER Z WITH DOT ABOVE;Ll;0;L;007A 0307;;;;N;LATIN SMALL LETTER Z DOT;;017B;;017B
+017D;LATIN CAPITAL LETTER Z WITH CARON;Lu;0;L;005A 030C;;;;N;LATIN CAPITAL LETTER Z HACEK;;;017E;
+017E;LATIN SMALL LETTER Z WITH CARON;Ll;0;L;007A 030C;;;;N;LATIN SMALL LETTER Z HACEK;;017D;;017D
+017F;LATIN SMALL LETTER LONG S;Ll;0;L;<compat> 0073;;;;N;;;0053;;0053
+0180;LATIN SMALL LETTER B WITH STROKE;Ll;0;L;;;;;N;LATIN SMALL LETTER B BAR;;;;
+0181;LATIN CAPITAL LETTER B WITH HOOK;Lu;0;L;;;;;N;LATIN CAPITAL LETTER B HOOK;;;0253;
+0182;LATIN CAPITAL LETTER B WITH TOPBAR;Lu;0;L;;;;;N;LATIN CAPITAL LETTER B TOPBAR;;;0183;
+0183;LATIN SMALL LETTER B WITH TOPBAR;Ll;0;L;;;;;N;LATIN SMALL LETTER B TOPBAR;;0182;;0182
+0184;LATIN CAPITAL LETTER TONE SIX;Lu;0;L;;;;;N;;;;0185;
+0185;LATIN SMALL LETTER TONE SIX;Ll;0;L;;;;;N;;;0184;;0184
+0186;LATIN CAPITAL LETTER OPEN O;Lu;0;L;;;;;N;;;;0254;
+0187;LATIN CAPITAL LETTER C WITH HOOK;Lu;0;L;;;;;N;LATIN CAPITAL LETTER C HOOK;;;0188;
+0188;LATIN SMALL LETTER C WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER C HOOK;;0187;;0187
+0189;LATIN CAPITAL LETTER AFRICAN D;Lu;0;L;;;;;N;;*;;0256;
+018A;LATIN CAPITAL LETTER D WITH HOOK;Lu;0;L;;;;;N;LATIN CAPITAL LETTER D HOOK;;;0257;
+018B;LATIN CAPITAL LETTER D WITH TOPBAR;Lu;0;L;;;;;N;LATIN CAPITAL LETTER D TOPBAR;;;018C;
+018C;LATIN SMALL LETTER D WITH TOPBAR;Ll;0;L;;;;;N;LATIN SMALL LETTER D TOPBAR;;018B;;018B
+018D;LATIN SMALL LETTER TURNED DELTA;Ll;0;L;;;;;N;;;;;
+018E;LATIN CAPITAL LETTER REVERSED E;Lu;0;L;;;;;N;LATIN CAPITAL LETTER TURNED E;;;01DD;
+018F;LATIN CAPITAL LETTER SCHWA;Lu;0;L;;;;;N;;;;0259;
+0190;LATIN CAPITAL LETTER OPEN E;Lu;0;L;;;;;N;LATIN CAPITAL LETTER EPSILON;;;025B;
+0191;LATIN CAPITAL LETTER F WITH HOOK;Lu;0;L;;;;;N;LATIN CAPITAL LETTER F HOOK;;;0192;
+0192;LATIN SMALL LETTER F WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER SCRIPT F;;0191;;0191
+0193;LATIN CAPITAL LETTER G WITH HOOK;Lu;0;L;;;;;N;LATIN CAPITAL LETTER G HOOK;;;0260;
+0194;LATIN CAPITAL LETTER GAMMA;Lu;0;L;;;;;N;;;;0263;
+0195;LATIN SMALL LETTER HV;Ll;0;L;;;;;N;LATIN SMALL LETTER H V;hwair;01F6;;01F6
+0196;LATIN CAPITAL LETTER IOTA;Lu;0;L;;;;;N;;;;0269;
+0197;LATIN CAPITAL LETTER I WITH STROKE;Lu;0;L;;;;;N;LATIN CAPITAL LETTER BARRED I;;;0268;
+0198;LATIN CAPITAL LETTER K WITH HOOK;Lu;0;L;;;;;N;LATIN CAPITAL LETTER K HOOK;;;0199;
+0199;LATIN SMALL LETTER K WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER K HOOK;;0198;;0198
+019A;LATIN SMALL LETTER L WITH BAR;Ll;0;L;;;;;N;LATIN SMALL LETTER BARRED L;;023D;;023D
+019B;LATIN SMALL LETTER LAMBDA WITH STROKE;Ll;0;L;;;;;N;LATIN SMALL LETTER BARRED LAMBDA;;;;
+019C;LATIN CAPITAL LETTER TURNED M;Lu;0;L;;;;;N;;;;026F;
+019D;LATIN CAPITAL LETTER N WITH LEFT HOOK;Lu;0;L;;;;;N;LATIN CAPITAL LETTER N HOOK;;;0272;
+019E;LATIN SMALL LETTER N WITH LONG RIGHT LEG;Ll;0;L;;;;;N;;;0220;;0220
+019F;LATIN CAPITAL LETTER O WITH MIDDLE TILDE;Lu;0;L;;;;;N;LATIN CAPITAL LETTER BARRED O;*;;0275;
+01A0;LATIN CAPITAL LETTER O WITH HORN;Lu;0;L;004F 031B;;;;N;LATIN CAPITAL LETTER O HORN;;;01A1;
+01A1;LATIN SMALL LETTER O WITH HORN;Ll;0;L;006F 031B;;;;N;LATIN SMALL LETTER O HORN;;01A0;;01A0
+01A2;LATIN CAPITAL LETTER OI;Lu;0;L;;;;;N;LATIN CAPITAL LETTER O I;gha;;01A3;
+01A3;LATIN SMALL LETTER OI;Ll;0;L;;;;;N;LATIN SMALL LETTER O I;gha;01A2;;01A2
+01A4;LATIN CAPITAL LETTER P WITH HOOK;Lu;0;L;;;;;N;LATIN CAPITAL LETTER P HOOK;;;01A5;
+01A5;LATIN SMALL LETTER P WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER P HOOK;;01A4;;01A4
+01A6;LATIN LETTER YR;Lu;0;L;;;;;N;LATIN LETTER Y R;*;;0280;
+01A7;LATIN CAPITAL LETTER TONE TWO;Lu;0;L;;;;;N;;;;01A8;
+01A8;LATIN SMALL LETTER TONE TWO;Ll;0;L;;;;;N;;;01A7;;01A7
+01A9;LATIN CAPITAL LETTER ESH;Lu;0;L;;;;;N;;;;0283;
+01AA;LATIN LETTER REVERSED ESH LOOP;Ll;0;L;;;;;N;;;;;
+01AB;LATIN SMALL LETTER T WITH PALATAL HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER T PALATAL HOOK;;;;
+01AC;LATIN CAPITAL LETTER T WITH HOOK;Lu;0;L;;;;;N;LATIN CAPITAL LETTER T HOOK;;;01AD;
+01AD;LATIN SMALL LETTER T WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER T HOOK;;01AC;;01AC
+01AE;LATIN CAPITAL LETTER T WITH RETROFLEX HOOK;Lu;0;L;;;;;N;LATIN CAPITAL LETTER T RETROFLEX HOOK;;;0288;
+01AF;LATIN CAPITAL LETTER U WITH HORN;Lu;0;L;0055 031B;;;;N;LATIN CAPITAL LETTER U HORN;;;01B0;
+01B0;LATIN SMALL LETTER U WITH HORN;Ll;0;L;0075 031B;;;;N;LATIN SMALL LETTER U HORN;;01AF;;01AF
+01B1;LATIN CAPITAL LETTER UPSILON;Lu;0;L;;;;;N;;;;028A;
+01B2;LATIN CAPITAL LETTER V WITH HOOK;Lu;0;L;;;;;N;LATIN CAPITAL LETTER SCRIPT V;;;028B;
+01B3;LATIN CAPITAL LETTER Y WITH HOOK;Lu;0;L;;;;;N;LATIN CAPITAL LETTER Y HOOK;;;01B4;
+01B4;LATIN SMALL LETTER Y WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER Y HOOK;;01B3;;01B3
+01B5;LATIN CAPITAL LETTER Z WITH STROKE;Lu;0;L;;;;;N;LATIN CAPITAL LETTER Z BAR;;;01B6;
+01B6;LATIN SMALL LETTER Z WITH STROKE;Ll;0;L;;;;;N;LATIN SMALL LETTER Z BAR;;01B5;;01B5
+01B7;LATIN CAPITAL LETTER EZH;Lu;0;L;;;;;N;LATIN CAPITAL LETTER YOGH;;;0292;
+01B8;LATIN CAPITAL LETTER EZH REVERSED;Lu;0;L;;;;;N;LATIN CAPITAL LETTER REVERSED YOGH;;;01B9;
+01B9;LATIN SMALL LETTER EZH REVERSED;Ll;0;L;;;;;N;LATIN SMALL LETTER REVERSED YOGH;;01B8;;01B8
+01BA;LATIN SMALL LETTER EZH WITH TAIL;Ll;0;L;;;;;N;LATIN SMALL LETTER YOGH WITH TAIL;;;;
+01BB;LATIN LETTER TWO WITH STROKE;Lo;0;L;;;;;N;LATIN LETTER TWO BAR;;;;
+01BC;LATIN CAPITAL LETTER TONE FIVE;Lu;0;L;;;;;N;;;;01BD;
+01BD;LATIN SMALL LETTER TONE FIVE;Ll;0;L;;;;;N;;;01BC;;01BC
+01BE;LATIN LETTER INVERTED GLOTTAL STOP WITH STROKE;Ll;0;L;;;;;N;LATIN LETTER INVERTED GLOTTAL STOP BAR;;;;
+01BF;LATIN LETTER WYNN;Ll;0;L;;;;;N;;;01F7;;01F7
+01C0;LATIN LETTER DENTAL CLICK;Lo;0;L;;;;;N;LATIN LETTER PIPE;;;;
+01C1;LATIN LETTER LATERAL CLICK;Lo;0;L;;;;;N;LATIN LETTER DOUBLE PIPE;;;;
+01C2;LATIN LETTER ALVEOLAR CLICK;Lo;0;L;;;;;N;LATIN LETTER PIPE DOUBLE BAR;;;;
+01C3;LATIN LETTER RETROFLEX CLICK;Lo;0;L;;;;;N;LATIN LETTER EXCLAMATION MARK;;;;
+01C4;LATIN CAPITAL LETTER DZ WITH CARON;Lu;0;L;<compat> 0044 017D;;;;N;LATIN CAPITAL LETTER D Z HACEK;;;01C6;01C5
+01C5;LATIN CAPITAL LETTER D WITH SMALL LETTER Z WITH CARON;Lt;0;L;<compat> 0044 017E;;;;N;LATIN LETTER CAPITAL D SMALL Z HACEK;;01C4;01C6;01C5
+01C6;LATIN SMALL LETTER DZ WITH CARON;Ll;0;L;<compat> 0064 017E;;;;N;LATIN SMALL LETTER D Z HACEK;;01C4;;01C5
+01C7;LATIN CAPITAL LETTER LJ;Lu;0;L;<compat> 004C 004A;;;;N;LATIN CAPITAL LETTER L J;;;01C9;01C8
+01C8;LATIN CAPITAL LETTER L WITH SMALL LETTER J;Lt;0;L;<compat> 004C 006A;;;;N;LATIN LETTER CAPITAL L SMALL J;;01C7;01C9;01C8
+01C9;LATIN SMALL LETTER LJ;Ll;0;L;<compat> 006C 006A;;;;N;LATIN SMALL LETTER L J;;01C7;;01C8
+01CA;LATIN CAPITAL LETTER NJ;Lu;0;L;<compat> 004E 004A;;;;N;LATIN CAPITAL LETTER N J;;;01CC;01CB
+01CB;LATIN CAPITAL LETTER N WITH SMALL LETTER J;Lt;0;L;<compat> 004E 006A;;;;N;LATIN LETTER CAPITAL N SMALL J;;01CA;01CC;01CB
+01CC;LATIN SMALL LETTER NJ;Ll;0;L;<compat> 006E 006A;;;;N;LATIN SMALL LETTER N J;;01CA;;01CB
+01CD;LATIN CAPITAL LETTER A WITH CARON;Lu;0;L;0041 030C;;;;N;LATIN CAPITAL LETTER A HACEK;;;01CE;
+01CE;LATIN SMALL LETTER A WITH CARON;Ll;0;L;0061 030C;;;;N;LATIN SMALL LETTER A HACEK;;01CD;;01CD
+01CF;LATIN CAPITAL LETTER I WITH CARON;Lu;0;L;0049 030C;;;;N;LATIN CAPITAL LETTER I HACEK;;;01D0;
+01D0;LATIN SMALL LETTER I WITH CARON;Ll;0;L;0069 030C;;;;N;LATIN SMALL LETTER I HACEK;;01CF;;01CF
+01D1;LATIN CAPITAL LETTER O WITH CARON;Lu;0;L;004F 030C;;;;N;LATIN CAPITAL LETTER O HACEK;;;01D2;
+01D2;LATIN SMALL LETTER O WITH CARON;Ll;0;L;006F 030C;;;;N;LATIN SMALL LETTER O HACEK;;01D1;;01D1
+01D3;LATIN CAPITAL LETTER U WITH CARON;Lu;0;L;0055 030C;;;;N;LATIN CAPITAL LETTER U HACEK;;;01D4;
+01D4;LATIN SMALL LETTER U WITH CARON;Ll;0;L;0075 030C;;;;N;LATIN SMALL LETTER U HACEK;;01D3;;01D3
+01D5;LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON;Lu;0;L;00DC 0304;;;;N;LATIN CAPITAL LETTER U DIAERESIS MACRON;;;01D6;
+01D6;LATIN SMALL LETTER U WITH DIAERESIS AND MACRON;Ll;0;L;00FC 0304;;;;N;LATIN SMALL LETTER U DIAERESIS MACRON;;01D5;;01D5
+01D7;LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE;Lu;0;L;00DC 0301;;;;N;LATIN CAPITAL LETTER U DIAERESIS ACUTE;;;01D8;
+01D8;LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE;Ll;0;L;00FC 0301;;;;N;LATIN SMALL LETTER U DIAERESIS ACUTE;;01D7;;01D7
+01D9;LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON;Lu;0;L;00DC 030C;;;;N;LATIN CAPITAL LETTER U DIAERESIS HACEK;;;01DA;
+01DA;LATIN SMALL LETTER U WITH DIAERESIS AND CARON;Ll;0;L;00FC 030C;;;;N;LATIN SMALL LETTER U DIAERESIS HACEK;;01D9;;01D9
+01DB;LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE;Lu;0;L;00DC 0300;;;;N;LATIN CAPITAL LETTER U DIAERESIS GRAVE;;;01DC;
+01DC;LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE;Ll;0;L;00FC 0300;;;;N;LATIN SMALL LETTER U DIAERESIS GRAVE;;01DB;;01DB
+01DD;LATIN SMALL LETTER TURNED E;Ll;0;L;;;;;N;;;018E;;018E
+01DE;LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON;Lu;0;L;00C4 0304;;;;N;LATIN CAPITAL LETTER A DIAERESIS MACRON;;;01DF;
+01DF;LATIN SMALL LETTER A WITH DIAERESIS AND MACRON;Ll;0;L;00E4 0304;;;;N;LATIN SMALL LETTER A DIAERESIS MACRON;;01DE;;01DE
+01E0;LATIN CAPITAL LETTER A WITH DOT ABOVE AND MACRON;Lu;0;L;0226 0304;;;;N;LATIN CAPITAL LETTER A DOT MACRON;;;01E1;
+01E1;LATIN SMALL LETTER A WITH DOT ABOVE AND MACRON;Ll;0;L;0227 0304;;;;N;LATIN SMALL LETTER A DOT MACRON;;01E0;;01E0
+01E2;LATIN CAPITAL LETTER AE WITH MACRON;Lu;0;L;00C6 0304;;;;N;LATIN CAPITAL LETTER A E MACRON;ash *;;01E3;
+01E3;LATIN SMALL LETTER AE WITH MACRON;Ll;0;L;00E6 0304;;;;N;LATIN SMALL LETTER A E MACRON;ash *;01E2;;01E2
+01E4;LATIN CAPITAL LETTER G WITH STROKE;Lu;0;L;;;;;N;LATIN CAPITAL LETTER G BAR;;;01E5;
+01E5;LATIN SMALL LETTER G WITH STROKE;Ll;0;L;;;;;N;LATIN SMALL LETTER G BAR;;01E4;;01E4
+01E6;LATIN CAPITAL LETTER G WITH CARON;Lu;0;L;0047 030C;;;;N;LATIN CAPITAL LETTER G HACEK;;;01E7;
+01E7;LATIN SMALL LETTER G WITH CARON;Ll;0;L;0067 030C;;;;N;LATIN SMALL LETTER G HACEK;;01E6;;01E6
+01E8;LATIN CAPITAL LETTER K WITH CARON;Lu;0;L;004B 030C;;;;N;LATIN CAPITAL LETTER K HACEK;;;01E9;
+01E9;LATIN SMALL LETTER K WITH CARON;Ll;0;L;006B 030C;;;;N;LATIN SMALL LETTER K HACEK;;01E8;;01E8
+01EA;LATIN CAPITAL LETTER O WITH OGONEK;Lu;0;L;004F 0328;;;;N;LATIN CAPITAL LETTER O OGONEK;;;01EB;
+01EB;LATIN SMALL LETTER O WITH OGONEK;Ll;0;L;006F 0328;;;;N;LATIN SMALL LETTER O OGONEK;;01EA;;01EA
+01EC;LATIN CAPITAL LETTER O WITH OGONEK AND MACRON;Lu;0;L;01EA 0304;;;;N;LATIN CAPITAL LETTER O OGONEK MACRON;;;01ED;
+01ED;LATIN SMALL LETTER O WITH OGONEK AND MACRON;Ll;0;L;01EB 0304;;;;N;LATIN SMALL LETTER O OGONEK MACRON;;01EC;;01EC
+01EE;LATIN CAPITAL LETTER EZH WITH CARON;Lu;0;L;01B7 030C;;;;N;LATIN CAPITAL LETTER YOGH HACEK;;;01EF;
+01EF;LATIN SMALL LETTER EZH WITH CARON;Ll;0;L;0292 030C;;;;N;LATIN SMALL LETTER YOGH HACEK;;01EE;;01EE
+01F0;LATIN SMALL LETTER J WITH CARON;Ll;0;L;006A 030C;;;;N;LATIN SMALL LETTER J HACEK;;;;
+01F1;LATIN CAPITAL LETTER DZ;Lu;0;L;<compat> 0044 005A;;;;N;;;;01F3;01F2
+01F2;LATIN CAPITAL LETTER D WITH SMALL LETTER Z;Lt;0;L;<compat> 0044 007A;;;;N;;;01F1;01F3;01F2
+01F3;LATIN SMALL LETTER DZ;Ll;0;L;<compat> 0064 007A;;;;N;;;01F1;;01F2
+01F4;LATIN CAPITAL LETTER G WITH ACUTE;Lu;0;L;0047 0301;;;;N;;;;01F5;
+01F5;LATIN SMALL LETTER G WITH ACUTE;Ll;0;L;0067 0301;;;;N;;;01F4;;01F4
+01F6;LATIN CAPITAL LETTER HWAIR;Lu;0;L;;;;;N;;;;0195;
+01F7;LATIN CAPITAL LETTER WYNN;Lu;0;L;;;;;N;;;;01BF;
+01F8;LATIN CAPITAL LETTER N WITH GRAVE;Lu;0;L;004E 0300;;;;N;;;;01F9;
+01F9;LATIN SMALL LETTER N WITH GRAVE;Ll;0;L;006E 0300;;;;N;;;01F8;;01F8
+01FA;LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE;Lu;0;L;00C5 0301;;;;N;;;;01FB;
+01FB;LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE;Ll;0;L;00E5 0301;;;;N;;;01FA;;01FA
+01FC;LATIN CAPITAL LETTER AE WITH ACUTE;Lu;0;L;00C6 0301;;;;N;;ash *;;01FD;
+01FD;LATIN SMALL LETTER AE WITH ACUTE;Ll;0;L;00E6 0301;;;;N;;ash *;01FC;;01FC
+01FE;LATIN CAPITAL LETTER O WITH STROKE AND ACUTE;Lu;0;L;00D8 0301;;;;N;;;;01FF;
+01FF;LATIN SMALL LETTER O WITH STROKE AND ACUTE;Ll;0;L;00F8 0301;;;;N;;;01FE;;01FE
+0200;LATIN CAPITAL LETTER A WITH DOUBLE GRAVE;Lu;0;L;0041 030F;;;;N;;;;0201;
+0201;LATIN SMALL LETTER A WITH DOUBLE GRAVE;Ll;0;L;0061 030F;;;;N;;;0200;;0200
+0202;LATIN CAPITAL LETTER A WITH INVERTED BREVE;Lu;0;L;0041 0311;;;;N;;;;0203;
+0203;LATIN SMALL LETTER A WITH INVERTED BREVE;Ll;0;L;0061 0311;;;;N;;;0202;;0202
+0204;LATIN CAPITAL LETTER E WITH DOUBLE GRAVE;Lu;0;L;0045 030F;;;;N;;;;0205;
+0205;LATIN SMALL LETTER E WITH DOUBLE GRAVE;Ll;0;L;0065 030F;;;;N;;;0204;;0204
+0206;LATIN CAPITAL LETTER E WITH INVERTED BREVE;Lu;0;L;0045 0311;;;;N;;;;0207;
+0207;LATIN SMALL LETTER E WITH INVERTED BREVE;Ll;0;L;0065 0311;;;;N;;;0206;;0206
+0208;LATIN CAPITAL LETTER I WITH DOUBLE GRAVE;Lu;0;L;0049 030F;;;;N;;;;0209;
+0209;LATIN SMALL LETTER I WITH DOUBLE GRAVE;Ll;0;L;0069 030F;;;;N;;;0208;;0208
+020A;LATIN CAPITAL LETTER I WITH INVERTED BREVE;Lu;0;L;0049 0311;;;;N;;;;020B;
+020B;LATIN SMALL LETTER I WITH INVERTED BREVE;Ll;0;L;0069 0311;;;;N;;;020A;;020A
+020C;LATIN CAPITAL LETTER O WITH DOUBLE GRAVE;Lu;0;L;004F 030F;;;;N;;;;020D;
+020D;LATIN SMALL LETTER O WITH DOUBLE GRAVE;Ll;0;L;006F 030F;;;;N;;;020C;;020C
+020E;LATIN CAPITAL LETTER O WITH INVERTED BREVE;Lu;0;L;004F 0311;;;;N;;;;020F;
+020F;LATIN SMALL LETTER O WITH INVERTED BREVE;Ll;0;L;006F 0311;;;;N;;;020E;;020E
+0210;LATIN CAPITAL LETTER R WITH DOUBLE GRAVE;Lu;0;L;0052 030F;;;;N;;;;0211;
+0211;LATIN SMALL LETTER R WITH DOUBLE GRAVE;Ll;0;L;0072 030F;;;;N;;;0210;;0210
+0212;LATIN CAPITAL LETTER R WITH INVERTED BREVE;Lu;0;L;0052 0311;;;;N;;;;0213;
+0213;LATIN SMALL LETTER R WITH INVERTED BREVE;Ll;0;L;0072 0311;;;;N;;;0212;;0212
+0214;LATIN CAPITAL LETTER U WITH DOUBLE GRAVE;Lu;0;L;0055 030F;;;;N;;;;0215;
+0215;LATIN SMALL LETTER U WITH DOUBLE GRAVE;Ll;0;L;0075 030F;;;;N;;;0214;;0214
+0216;LATIN CAPITAL LETTER U WITH INVERTED BREVE;Lu;0;L;0055 0311;;;;N;;;;0217;
+0217;LATIN SMALL LETTER U WITH INVERTED BREVE;Ll;0;L;0075 0311;;;;N;;;0216;;0216
+0218;LATIN CAPITAL LETTER S WITH COMMA BELOW;Lu;0;L;0053 0326;;;;N;;*;;0219;
+0219;LATIN SMALL LETTER S WITH COMMA BELOW;Ll;0;L;0073 0326;;;;N;;*;0218;;0218
+021A;LATIN CAPITAL LETTER T WITH COMMA BELOW;Lu;0;L;0054 0326;;;;N;;*;;021B;
+021B;LATIN SMALL LETTER T WITH COMMA BELOW;Ll;0;L;0074 0326;;;;N;;*;021A;;021A
+021C;LATIN CAPITAL LETTER YOGH;Lu;0;L;;;;;N;;;;021D;
+021D;LATIN SMALL LETTER YOGH;Ll;0;L;;;;;N;;;021C;;021C
+021E;LATIN CAPITAL LETTER H WITH CARON;Lu;0;L;0048 030C;;;;N;;;;021F;
+021F;LATIN SMALL LETTER H WITH CARON;Ll;0;L;0068 030C;;;;N;;;021E;;021E
+0220;LATIN CAPITAL LETTER N WITH LONG RIGHT LEG;Lu;0;L;;;;;N;;;;019E;
+0221;LATIN SMALL LETTER D WITH CURL;Ll;0;L;;;;;N;;;;;
+0222;LATIN CAPITAL LETTER OU;Lu;0;L;;;;;N;;;;0223;
+0223;LATIN SMALL LETTER OU;Ll;0;L;;;;;N;;;0222;;0222
+0224;LATIN CAPITAL LETTER Z WITH HOOK;Lu;0;L;;;;;N;;;;0225;
+0225;LATIN SMALL LETTER Z WITH HOOK;Ll;0;L;;;;;N;;;0224;;0224
+0226;LATIN CAPITAL LETTER A WITH DOT ABOVE;Lu;0;L;0041 0307;;;;N;;;;0227;
+0227;LATIN SMALL LETTER A WITH DOT ABOVE;Ll;0;L;0061 0307;;;;N;;;0226;;0226
+0228;LATIN CAPITAL LETTER E WITH CEDILLA;Lu;0;L;0045 0327;;;;N;;;;0229;
+0229;LATIN SMALL LETTER E WITH CEDILLA;Ll;0;L;0065 0327;;;;N;;;0228;;0228
+022A;LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON;Lu;0;L;00D6 0304;;;;N;;;;022B;
+022B;LATIN SMALL LETTER O WITH DIAERESIS AND MACRON;Ll;0;L;00F6 0304;;;;N;;;022A;;022A
+022C;LATIN CAPITAL LETTER O WITH TILDE AND MACRON;Lu;0;L;00D5 0304;;;;N;;;;022D;
+022D;LATIN SMALL LETTER O WITH TILDE AND MACRON;Ll;0;L;00F5 0304;;;;N;;;022C;;022C
+022E;LATIN CAPITAL LETTER O WITH DOT ABOVE;Lu;0;L;004F 0307;;;;N;;;;022F;
+022F;LATIN SMALL LETTER O WITH DOT ABOVE;Ll;0;L;006F 0307;;;;N;;;022E;;022E
+0230;LATIN CAPITAL LETTER O WITH DOT ABOVE AND MACRON;Lu;0;L;022E 0304;;;;N;;;;0231;
+0231;LATIN SMALL LETTER O WITH DOT ABOVE AND MACRON;Ll;0;L;022F 0304;;;;N;;;0230;;0230
+0232;LATIN CAPITAL LETTER Y WITH MACRON;Lu;0;L;0059 0304;;;;N;;;;0233;
+0233;LATIN SMALL LETTER Y WITH MACRON;Ll;0;L;0079 0304;;;;N;;;0232;;0232
+0234;LATIN SMALL LETTER L WITH CURL;Ll;0;L;;;;;N;;;;;
+0235;LATIN SMALL LETTER N WITH CURL;Ll;0;L;;;;;N;;;;;
+0236;LATIN SMALL LETTER T WITH CURL;Ll;0;L;;;;;N;;;;;
+0237;LATIN SMALL LETTER DOTLESS J;Ll;0;L;;;;;N;;;;;
+0238;LATIN SMALL LETTER DB DIGRAPH;Ll;0;L;;;;;N;;;;;
+0239;LATIN SMALL LETTER QP DIGRAPH;Ll;0;L;;;;;N;;;;;
+023A;LATIN CAPITAL LETTER A WITH STROKE;Lu;0;L;;;;;N;;;;;
+023B;LATIN CAPITAL LETTER C WITH STROKE;Lu;0;L;;;;;N;;;;023C;
+023C;LATIN SMALL LETTER C WITH STROKE;Ll;0;L;;;;;N;;;023B;;023B
+023D;LATIN CAPITAL LETTER L WITH BAR;Lu;0;L;;;;;N;;;;019A;
+023E;LATIN CAPITAL LETTER T WITH DIAGONAL STROKE;Lu;0;L;;;;;N;;;;;
+023F;LATIN SMALL LETTER S WITH SWASH TAIL;Ll;0;L;;;;;N;;;;;
+0240;LATIN SMALL LETTER Z WITH SWASH TAIL;Ll;0;L;;;;;N;;;;;
+0241;LATIN CAPITAL LETTER GLOTTAL STOP;Lu;0;L;;;;;N;;;;0294;
+0250;LATIN SMALL LETTER TURNED A;Ll;0;L;;;;;N;;;;;
+0251;LATIN SMALL LETTER ALPHA;Ll;0;L;;;;;N;LATIN SMALL LETTER SCRIPT A;;;;
+0252;LATIN SMALL LETTER TURNED ALPHA;Ll;0;L;;;;;N;LATIN SMALL LETTER TURNED SCRIPT A;;;;
+0253;LATIN SMALL LETTER B WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER B HOOK;;0181;;0181
+0254;LATIN SMALL LETTER OPEN O;Ll;0;L;;;;;N;;;0186;;0186
+0255;LATIN SMALL LETTER C WITH CURL;Ll;0;L;;;;;N;LATIN SMALL LETTER C CURL;;;;
+0256;LATIN SMALL LETTER D WITH TAIL;Ll;0;L;;;;;N;LATIN SMALL LETTER D RETROFLEX HOOK;;0189;;0189
+0257;LATIN SMALL LETTER D WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER D HOOK;;018A;;018A
+0258;LATIN SMALL LETTER REVERSED E;Ll;0;L;;;;;N;;;;;
+0259;LATIN SMALL LETTER SCHWA;Ll;0;L;;;;;N;;;018F;;018F
+025A;LATIN SMALL LETTER SCHWA WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER SCHWA HOOK;;;;
+025B;LATIN SMALL LETTER OPEN E;Ll;0;L;;;;;N;LATIN SMALL LETTER EPSILON;;0190;;0190
+025C;LATIN SMALL LETTER REVERSED OPEN E;Ll;0;L;;;;;N;LATIN SMALL LETTER REVERSED EPSILON;;;;
+025D;LATIN SMALL LETTER REVERSED OPEN E WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER REVERSED EPSILON HOOK;;;;
+025E;LATIN SMALL LETTER CLOSED REVERSED OPEN E;Ll;0;L;;;;;N;LATIN SMALL LETTER CLOSED REVERSED EPSILON;;;;
+025F;LATIN SMALL LETTER DOTLESS J WITH STROKE;Ll;0;L;;;;;N;LATIN SMALL LETTER DOTLESS J BAR;;;;
+0260;LATIN SMALL LETTER G WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER G HOOK;;0193;;0193
+0261;LATIN SMALL LETTER SCRIPT G;Ll;0;L;;;;;N;;;;;
+0262;LATIN LETTER SMALL CAPITAL G;Ll;0;L;;;;;N;;;;;
+0263;LATIN SMALL LETTER GAMMA;Ll;0;L;;;;;N;;;0194;;0194
+0264;LATIN SMALL LETTER RAMS HORN;Ll;0;L;;;;;N;LATIN SMALL LETTER BABY GAMMA;;;;
+0265;LATIN SMALL LETTER TURNED H;Ll;0;L;;;;;N;;;;;
+0266;LATIN SMALL LETTER H WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER H HOOK;;;;
+0267;LATIN SMALL LETTER HENG WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER HENG HOOK;;;;
+0268;LATIN SMALL LETTER I WITH STROKE;Ll;0;L;;;;;N;LATIN SMALL LETTER BARRED I;;0197;;0197
+0269;LATIN SMALL LETTER IOTA;Ll;0;L;;;;;N;;;0196;;0196
+026A;LATIN LETTER SMALL CAPITAL I;Ll;0;L;;;;;N;;;;;
+026B;LATIN SMALL LETTER L WITH MIDDLE TILDE;Ll;0;L;;;;;N;;;;;
+026C;LATIN SMALL LETTER L WITH BELT;Ll;0;L;;;;;N;LATIN SMALL LETTER L BELT;;;;
+026D;LATIN SMALL LETTER L WITH RETROFLEX HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER L RETROFLEX HOOK;;;;
+026E;LATIN SMALL LETTER LEZH;Ll;0;L;;;;;N;LATIN SMALL LETTER L YOGH;;;;
+026F;LATIN SMALL LETTER TURNED M;Ll;0;L;;;;;N;;;019C;;019C
+0270;LATIN SMALL LETTER TURNED M WITH LONG LEG;Ll;0;L;;;;;N;;;;;
+0271;LATIN SMALL LETTER M WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER M HOOK;;;;
+0272;LATIN SMALL LETTER N WITH LEFT HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER N HOOK;;019D;;019D
+0273;LATIN SMALL LETTER N WITH RETROFLEX HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER N RETROFLEX HOOK;;;;
+0274;LATIN LETTER SMALL CAPITAL N;Ll;0;L;;;;;N;;;;;
+0275;LATIN SMALL LETTER BARRED O;Ll;0;L;;;;;N;;;019F;;019F
+0276;LATIN LETTER SMALL CAPITAL OE;Ll;0;L;;;;;N;LATIN LETTER SMALL CAPITAL O E;;;;
+0277;LATIN SMALL LETTER CLOSED OMEGA;Ll;0;L;;;;;N;;;;;
+0278;LATIN SMALL LETTER PHI;Ll;0;L;;;;;N;;;;;
+0279;LATIN SMALL LETTER TURNED R;Ll;0;L;;;;;N;;;;;
+027A;LATIN SMALL LETTER TURNED R WITH LONG LEG;Ll;0;L;;;;;N;;;;;
+027B;LATIN SMALL LETTER TURNED R WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER TURNED R HOOK;;;;
+027C;LATIN SMALL LETTER R WITH LONG LEG;Ll;0;L;;;;;N;;;;;
+027D;LATIN SMALL LETTER R WITH TAIL;Ll;0;L;;;;;N;LATIN SMALL LETTER R HOOK;;;;
+027E;LATIN SMALL LETTER R WITH FISHHOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER FISHHOOK R;;;;
+027F;LATIN SMALL LETTER REVERSED R WITH FISHHOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER REVERSED FISHHOOK R;;;;
+0280;LATIN LETTER SMALL CAPITAL R;Ll;0;L;;;;;N;;*;01A6;;01A6
+0281;LATIN LETTER SMALL CAPITAL INVERTED R;Ll;0;L;;;;;N;;;;;
+0282;LATIN SMALL LETTER S WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER S HOOK;;;;
+0283;LATIN SMALL LETTER ESH;Ll;0;L;;;;;N;;;01A9;;01A9
+0284;LATIN SMALL LETTER DOTLESS J WITH STROKE AND HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER DOTLESS J BAR HOOK;;;;
+0285;LATIN SMALL LETTER SQUAT REVERSED ESH;Ll;0;L;;;;;N;;;;;
+0286;LATIN SMALL LETTER ESH WITH CURL;Ll;0;L;;;;;N;LATIN SMALL LETTER ESH CURL;;;;
+0287;LATIN SMALL LETTER TURNED T;Ll;0;L;;;;;N;;;;;
+0288;LATIN SMALL LETTER T WITH RETROFLEX HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER T RETROFLEX HOOK;;01AE;;01AE
+0289;LATIN SMALL LETTER U BAR;Ll;0;L;;;;;N;;;;;
+028A;LATIN SMALL LETTER UPSILON;Ll;0;L;;;;;N;;;01B1;;01B1
+028B;LATIN SMALL LETTER V WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER SCRIPT V;;01B2;;01B2
+028C;LATIN SMALL LETTER TURNED V;Ll;0;L;;;;;N;;;;;
+028D;LATIN SMALL LETTER TURNED W;Ll;0;L;;;;;N;;;;;
+028E;LATIN SMALL LETTER TURNED Y;Ll;0;L;;;;;N;;;;;
+028F;LATIN LETTER SMALL CAPITAL Y;Ll;0;L;;;;;N;;;;;
+0290;LATIN SMALL LETTER Z WITH RETROFLEX HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER Z RETROFLEX HOOK;;;;
+0291;LATIN SMALL LETTER Z WITH CURL;Ll;0;L;;;;;N;LATIN SMALL LETTER Z CURL;;;;
+0292;LATIN SMALL LETTER EZH;Ll;0;L;;;;;N;LATIN SMALL LETTER YOGH;;01B7;;01B7
+0293;LATIN SMALL LETTER EZH WITH CURL;Ll;0;L;;;;;N;LATIN SMALL LETTER YOGH CURL;;;;
+0294;LATIN LETTER GLOTTAL STOP;Ll;0;L;;;;;N;;;0241;;0241
+0295;LATIN LETTER PHARYNGEAL VOICED FRICATIVE;Ll;0;L;;;;;N;LATIN LETTER REVERSED GLOTTAL STOP;;;;
+0296;LATIN LETTER INVERTED GLOTTAL STOP;Ll;0;L;;;;;N;;;;;
+0297;LATIN LETTER STRETCHED C;Ll;0;L;;;;;N;;;;;
+0298;LATIN LETTER BILABIAL CLICK;Ll;0;L;;;;;N;LATIN LETTER BULLSEYE;;;;
+0299;LATIN LETTER SMALL CAPITAL B;Ll;0;L;;;;;N;;;;;
+029A;LATIN SMALL LETTER CLOSED OPEN E;Ll;0;L;;;;;N;LATIN SMALL LETTER CLOSED EPSILON;;;;
+029B;LATIN LETTER SMALL CAPITAL G WITH HOOK;Ll;0;L;;;;;N;LATIN LETTER SMALL CAPITAL G HOOK;;;;
+029C;LATIN LETTER SMALL CAPITAL H;Ll;0;L;;;;;N;;;;;
+029D;LATIN SMALL LETTER J WITH CROSSED-TAIL;Ll;0;L;;;;;N;LATIN SMALL LETTER CROSSED-TAIL J;;;;
+029E;LATIN SMALL LETTER TURNED K;Ll;0;L;;;;;N;;;;;
+029F;LATIN LETTER SMALL CAPITAL L;Ll;0;L;;;;;N;;;;;
+02A0;LATIN SMALL LETTER Q WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER Q HOOK;;;;
+02A1;LATIN LETTER GLOTTAL STOP WITH STROKE;Ll;0;L;;;;;N;LATIN LETTER GLOTTAL STOP BAR;;;;
+02A2;LATIN LETTER REVERSED GLOTTAL STOP WITH STROKE;Ll;0;L;;;;;N;LATIN LETTER REVERSED GLOTTAL STOP BAR;;;;
+02A3;LATIN SMALL LETTER DZ DIGRAPH;Ll;0;L;;;;;N;LATIN SMALL LETTER D Z;;;;
+02A4;LATIN SMALL LETTER DEZH DIGRAPH;Ll;0;L;;;;;N;LATIN SMALL LETTER D YOGH;;;;
+02A5;LATIN SMALL LETTER DZ DIGRAPH WITH CURL;Ll;0;L;;;;;N;LATIN SMALL LETTER D Z CURL;;;;
+02A6;LATIN SMALL LETTER TS DIGRAPH;Ll;0;L;;;;;N;LATIN SMALL LETTER T S;;;;
+02A7;LATIN SMALL LETTER TESH DIGRAPH;Ll;0;L;;;;;N;LATIN SMALL LETTER T ESH;;;;
+02A8;LATIN SMALL LETTER TC DIGRAPH WITH CURL;Ll;0;L;;;;;N;LATIN SMALL LETTER T C CURL;;;;
+02A9;LATIN SMALL LETTER FENG DIGRAPH;Ll;0;L;;;;;N;;;;;
+02AA;LATIN SMALL LETTER LS DIGRAPH;Ll;0;L;;;;;N;;;;;
+02AB;LATIN SMALL LETTER LZ DIGRAPH;Ll;0;L;;;;;N;;;;;
+02AC;LATIN LETTER BILABIAL PERCUSSIVE;Ll;0;L;;;;;N;;;;;
+02AD;LATIN LETTER BIDENTAL PERCUSSIVE;Ll;0;L;;;;;N;;;;;
+02AE;LATIN SMALL LETTER TURNED H WITH FISHHOOK;Ll;0;L;;;;;N;;;;;
+02AF;LATIN SMALL LETTER TURNED H WITH FISHHOOK AND TAIL;Ll;0;L;;;;;N;;;;;
+02B0;MODIFIER LETTER SMALL H;Lm;0;L;<super> 0068;;;;N;;;;;
+02B1;MODIFIER LETTER SMALL H WITH HOOK;Lm;0;L;<super> 0266;;;;N;MODIFIER LETTER SMALL H HOOK;;;;
+02B2;MODIFIER LETTER SMALL J;Lm;0;L;<super> 006A;;;;N;;;;;
+02B3;MODIFIER LETTER SMALL R;Lm;0;L;<super> 0072;;;;N;;;;;
+02B4;MODIFIER LETTER SMALL TURNED R;Lm;0;L;<super> 0279;;;;N;;;;;
+02B5;MODIFIER LETTER SMALL TURNED R WITH HOOK;Lm;0;L;<super> 027B;;;;N;MODIFIER LETTER SMALL TURNED R HOOK;;;;
+02B6;MODIFIER LETTER SMALL CAPITAL INVERTED R;Lm;0;L;<super> 0281;;;;N;;;;;
+02B7;MODIFIER LETTER SMALL W;Lm;0;L;<super> 0077;;;;N;;;;;
+02B8;MODIFIER LETTER SMALL Y;Lm;0;L;<super> 0079;;;;N;;;;;
+02B9;MODIFIER LETTER PRIME;Lm;0;ON;;;;;N;;;;;
+02BA;MODIFIER LETTER DOUBLE PRIME;Lm;0;ON;;;;;N;;;;;
+02BB;MODIFIER LETTER TURNED COMMA;Lm;0;L;;;;;N;;;;;
+02BC;MODIFIER LETTER APOSTROPHE;Lm;0;L;;;;;N;;;;;
+02BD;MODIFIER LETTER REVERSED COMMA;Lm;0;L;;;;;N;;;;;
+02BE;MODIFIER LETTER RIGHT HALF RING;Lm;0;L;;;;;N;;;;;
+02BF;MODIFIER LETTER LEFT HALF RING;Lm;0;L;;;;;N;;;;;
+02C0;MODIFIER LETTER GLOTTAL STOP;Lm;0;L;;;;;N;;;;;
+02C1;MODIFIER LETTER REVERSED GLOTTAL STOP;Lm;0;L;;;;;N;;;;;
+02C2;MODIFIER LETTER LEFT ARROWHEAD;Sk;0;ON;;;;;N;;;;;
+02C3;MODIFIER LETTER RIGHT ARROWHEAD;Sk;0;ON;;;;;N;;;;;
+02C4;MODIFIER LETTER UP ARROWHEAD;Sk;0;ON;;;;;N;;;;;
+02C5;MODIFIER LETTER DOWN ARROWHEAD;Sk;0;ON;;;;;N;;;;;
+02C6;MODIFIER LETTER CIRCUMFLEX ACCENT;Lm;0;ON;;;;;N;MODIFIER LETTER CIRCUMFLEX;;;;
+02C7;CARON;Lm;0;ON;;;;;N;MODIFIER LETTER HACEK;Mandarin Chinese third tone;;;
+02C8;MODIFIER LETTER VERTICAL LINE;Lm;0;ON;;;;;N;;;;;
+02C9;MODIFIER LETTER MACRON;Lm;0;ON;;;;;N;;Mandarin Chinese first tone;;;
+02CA;MODIFIER LETTER ACUTE ACCENT;Lm;0;ON;;;;;N;MODIFIER LETTER ACUTE;Mandarin Chinese second tone;;;
+02CB;MODIFIER LETTER GRAVE ACCENT;Lm;0;ON;;;;;N;MODIFIER LETTER GRAVE;Mandarin Chinese fourth tone;;;
+02CC;MODIFIER LETTER LOW VERTICAL LINE;Lm;0;ON;;;;;N;;;;;
+02CD;MODIFIER LETTER LOW MACRON;Lm;0;ON;;;;;N;;;;;
+02CE;MODIFIER LETTER LOW GRAVE ACCENT;Lm;0;ON;;;;;N;MODIFIER LETTER LOW GRAVE;;;;
+02CF;MODIFIER LETTER LOW ACUTE ACCENT;Lm;0;ON;;;;;N;MODIFIER LETTER LOW ACUTE;;;;
+02D0;MODIFIER LETTER TRIANGULAR COLON;Lm;0;L;;;;;N;;;;;
+02D1;MODIFIER LETTER HALF TRIANGULAR COLON;Lm;0;L;;;;;N;;;;;
+02D2;MODIFIER LETTER CENTRED RIGHT HALF RING;Sk;0;ON;;;;;N;MODIFIER LETTER CENTERED RIGHT HALF RING;;;;
+02D3;MODIFIER LETTER CENTRED LEFT HALF RING;Sk;0;ON;;;;;N;MODIFIER LETTER CENTERED LEFT HALF RING;;;;
+02D4;MODIFIER LETTER UP TACK;Sk;0;ON;;;;;N;;;;;
+02D5;MODIFIER LETTER DOWN TACK;Sk;0;ON;;;;;N;;;;;
+02D6;MODIFIER LETTER PLUS SIGN;Sk;0;ON;;;;;N;;;;;
+02D7;MODIFIER LETTER MINUS SIGN;Sk;0;ON;;;;;N;;;;;
+02D8;BREVE;Sk;0;ON;<compat> 0020 0306;;;;N;SPACING BREVE;;;;
+02D9;DOT ABOVE;Sk;0;ON;<compat> 0020 0307;;;;N;SPACING DOT ABOVE;Mandarin Chinese light tone;;;
+02DA;RING ABOVE;Sk;0;ON;<compat> 0020 030A;;;;N;SPACING RING ABOVE;;;;
+02DB;OGONEK;Sk;0;ON;<compat> 0020 0328;;;;N;SPACING OGONEK;;;;
+02DC;SMALL TILDE;Sk;0;ON;<compat> 0020 0303;;;;N;SPACING TILDE;;;;
+02DD;DOUBLE ACUTE ACCENT;Sk;0;ON;<compat> 0020 030B;;;;N;SPACING DOUBLE ACUTE;;;;
+02DE;MODIFIER LETTER RHOTIC HOOK;Sk;0;ON;;;;;N;;;;;
+02DF;MODIFIER LETTER CROSS ACCENT;Sk;0;ON;;;;;N;;;;;
+02E0;MODIFIER LETTER SMALL GAMMA;Lm;0;L;<super> 0263;;;;N;;;;;
+02E1;MODIFIER LETTER SMALL L;Lm;0;L;<super> 006C;;;;N;;;;;
+02E2;MODIFIER LETTER SMALL S;Lm;0;L;<super> 0073;;;;N;;;;;
+02E3;MODIFIER LETTER SMALL X;Lm;0;L;<super> 0078;;;;N;;;;;
+02E4;MODIFIER LETTER SMALL REVERSED GLOTTAL STOP;Lm;0;L;<super> 0295;;;;N;;;;;
+02E5;MODIFIER LETTER EXTRA-HIGH TONE BAR;Sk;0;ON;;;;;N;;;;;
+02E6;MODIFIER LETTER HIGH TONE BAR;Sk;0;ON;;;;;N;;;;;
+02E7;MODIFIER LETTER MID TONE BAR;Sk;0;ON;;;;;N;;;;;
+02E8;MODIFIER LETTER LOW TONE BAR;Sk;0;ON;;;;;N;;;;;
+02E9;MODIFIER LETTER EXTRA-LOW TONE BAR;Sk;0;ON;;;;;N;;;;;
+02EA;MODIFIER LETTER YIN DEPARTING TONE MARK;Sk;0;ON;;;;;N;;;;;
+02EB;MODIFIER LETTER YANG DEPARTING TONE MARK;Sk;0;ON;;;;;N;;;;;
+02EC;MODIFIER LETTER VOICING;Sk;0;ON;;;;;N;;;;;
+02ED;MODIFIER LETTER UNASPIRATED;Sk;0;ON;;;;;N;;;;;
+02EE;MODIFIER LETTER DOUBLE APOSTROPHE;Lm;0;L;;;;;N;;;;;
+02EF;MODIFIER LETTER LOW DOWN ARROWHEAD;Sk;0;ON;;;;;N;;;;;
+02F0;MODIFIER LETTER LOW UP ARROWHEAD;Sk;0;ON;;;;;N;;;;;
+02F1;MODIFIER LETTER LOW LEFT ARROWHEAD;Sk;0;ON;;;;;N;;;;;
+02F2;MODIFIER LETTER LOW RIGHT ARROWHEAD;Sk;0;ON;;;;;N;;;;;
+02F3;MODIFIER LETTER LOW RING;Sk;0;ON;;;;;N;;;;;
+02F4;MODIFIER LETTER MIDDLE GRAVE ACCENT;Sk;0;ON;;;;;N;;;;;
+02F5;MODIFIER LETTER MIDDLE DOUBLE GRAVE ACCENT;Sk;0;ON;;;;;N;;;;;
+02F6;MODIFIER LETTER MIDDLE DOUBLE ACUTE ACCENT;Sk;0;ON;;;;;N;;;;;
+02F7;MODIFIER LETTER LOW TILDE;Sk;0;ON;;;;;N;;;;;
+02F8;MODIFIER LETTER RAISED COLON;Sk;0;ON;;;;;N;;;;;
+02F9;MODIFIER LETTER BEGIN HIGH TONE;Sk;0;ON;;;;;N;;;;;
+02FA;MODIFIER LETTER END HIGH TONE;Sk;0;ON;;;;;N;;;;;
+02FB;MODIFIER LETTER BEGIN LOW TONE;Sk;0;ON;;;;;N;;;;;
+02FC;MODIFIER LETTER END LOW TONE;Sk;0;ON;;;;;N;;;;;
+02FD;MODIFIER LETTER SHELF;Sk;0;ON;;;;;N;;;;;
+02FE;MODIFIER LETTER OPEN SHELF;Sk;0;ON;;;;;N;;;;;
+02FF;MODIFIER LETTER LOW LEFT ARROW;Sk;0;ON;;;;;N;;;;;
+0300;COMBINING GRAVE ACCENT;Mn;230;NSM;;;;;N;NON-SPACING GRAVE;Varia;;;
+0301;COMBINING ACUTE ACCENT;Mn;230;NSM;;;;;N;NON-SPACING ACUTE;Oxia, Tonos;;;
+0302;COMBINING CIRCUMFLEX ACCENT;Mn;230;NSM;;;;;N;NON-SPACING CIRCUMFLEX;;;;
+0303;COMBINING TILDE;Mn;230;NSM;;;;;N;NON-SPACING TILDE;;;;
+0304;COMBINING MACRON;Mn;230;NSM;;;;;N;NON-SPACING MACRON;;;;
+0305;COMBINING OVERLINE;Mn;230;NSM;;;;;N;NON-SPACING OVERSCORE;;;;
+0306;COMBINING BREVE;Mn;230;NSM;;;;;N;NON-SPACING BREVE;Vrachy;;;
+0307;COMBINING DOT ABOVE;Mn;230;NSM;;;;;N;NON-SPACING DOT ABOVE;;;;
+0308;COMBINING DIAERESIS;Mn;230;NSM;;;;;N;NON-SPACING DIAERESIS;Dialytika;;;
+0309;COMBINING HOOK ABOVE;Mn;230;NSM;;;;;N;NON-SPACING HOOK ABOVE;;;;
+030A;COMBINING RING ABOVE;Mn;230;NSM;;;;;N;NON-SPACING RING ABOVE;;;;
+030B;COMBINING DOUBLE ACUTE ACCENT;Mn;230;NSM;;;;;N;NON-SPACING DOUBLE ACUTE;;;;
+030C;COMBINING CARON;Mn;230;NSM;;;;;N;NON-SPACING HACEK;;;;
+030D;COMBINING VERTICAL LINE ABOVE;Mn;230;NSM;;;;;N;NON-SPACING VERTICAL LINE ABOVE;;;;
+030E;COMBINING DOUBLE VERTICAL LINE ABOVE;Mn;230;NSM;;;;;N;NON-SPACING DOUBLE VERTICAL LINE ABOVE;;;;
+030F;COMBINING DOUBLE GRAVE ACCENT;Mn;230;NSM;;;;;N;NON-SPACING DOUBLE GRAVE;;;;
+0310;COMBINING CANDRABINDU;Mn;230;NSM;;;;;N;NON-SPACING CANDRABINDU;;;;
+0311;COMBINING INVERTED BREVE;Mn;230;NSM;;;;;N;NON-SPACING INVERTED BREVE;;;;
+0312;COMBINING TURNED COMMA ABOVE;Mn;230;NSM;;;;;N;NON-SPACING TURNED COMMA ABOVE;;;;
+0313;COMBINING COMMA ABOVE;Mn;230;NSM;;;;;N;NON-SPACING COMMA ABOVE;Psili;;;
+0314;COMBINING REVERSED COMMA ABOVE;Mn;230;NSM;;;;;N;NON-SPACING REVERSED COMMA ABOVE;Dasia;;;
+0315;COMBINING COMMA ABOVE RIGHT;Mn;232;NSM;;;;;N;NON-SPACING COMMA ABOVE RIGHT;;;;
+0316;COMBINING GRAVE ACCENT BELOW;Mn;220;NSM;;;;;N;NON-SPACING GRAVE BELOW;;;;
+0317;COMBINING ACUTE ACCENT BELOW;Mn;220;NSM;;;;;N;NON-SPACING ACUTE BELOW;;;;
+0318;COMBINING LEFT TACK BELOW;Mn;220;NSM;;;;;N;NON-SPACING LEFT TACK BELOW;;;;
+0319;COMBINING RIGHT TACK BELOW;Mn;220;NSM;;;;;N;NON-SPACING RIGHT TACK BELOW;;;;
+031A;COMBINING LEFT ANGLE ABOVE;Mn;232;NSM;;;;;N;NON-SPACING LEFT ANGLE ABOVE;;;;
+031B;COMBINING HORN;Mn;216;NSM;;;;;N;NON-SPACING HORN;;;;
+031C;COMBINING LEFT HALF RING BELOW;Mn;220;NSM;;;;;N;NON-SPACING LEFT HALF RING BELOW;;;;
+031D;COMBINING UP TACK BELOW;Mn;220;NSM;;;;;N;NON-SPACING UP TACK BELOW;;;;
+031E;COMBINING DOWN TACK BELOW;Mn;220;NSM;;;;;N;NON-SPACING DOWN TACK BELOW;;;;
+031F;COMBINING PLUS SIGN BELOW;Mn;220;NSM;;;;;N;NON-SPACING PLUS SIGN BELOW;;;;
+0320;COMBINING MINUS SIGN BELOW;Mn;220;NSM;;;;;N;NON-SPACING MINUS SIGN BELOW;;;;
+0321;COMBINING PALATALIZED HOOK BELOW;Mn;202;NSM;;;;;N;NON-SPACING PALATALIZED HOOK BELOW;;;;
+0322;COMBINING RETROFLEX HOOK BELOW;Mn;202;NSM;;;;;N;NON-SPACING RETROFLEX HOOK BELOW;;;;
+0323;COMBINING DOT BELOW;Mn;220;NSM;;;;;N;NON-SPACING DOT BELOW;;;;
+0324;COMBINING DIAERESIS BELOW;Mn;220;NSM;;;;;N;NON-SPACING DOUBLE DOT BELOW;;;;
+0325;COMBINING RING BELOW;Mn;220;NSM;;;;;N;NON-SPACING RING BELOW;;;;
+0326;COMBINING COMMA BELOW;Mn;220;NSM;;;;;N;NON-SPACING COMMA BELOW;;;;
+0327;COMBINING CEDILLA;Mn;202;NSM;;;;;N;NON-SPACING CEDILLA;;;;
+0328;COMBINING OGONEK;Mn;202;NSM;;;;;N;NON-SPACING OGONEK;;;;
+0329;COMBINING VERTICAL LINE BELOW;Mn;220;NSM;;;;;N;NON-SPACING VERTICAL LINE BELOW;;;;
+032A;COMBINING BRIDGE BELOW;Mn;220;NSM;;;;;N;NON-SPACING BRIDGE BELOW;;;;
+032B;COMBINING INVERTED DOUBLE ARCH BELOW;Mn;220;NSM;;;;;N;NON-SPACING INVERTED DOUBLE ARCH BELOW;;;;
+032C;COMBINING CARON BELOW;Mn;220;NSM;;;;;N;NON-SPACING HACEK BELOW;;;;
+032D;COMBINING CIRCUMFLEX ACCENT BELOW;Mn;220;NSM;;;;;N;NON-SPACING CIRCUMFLEX BELOW;;;;
+032E;COMBINING BREVE BELOW;Mn;220;NSM;;;;;N;NON-SPACING BREVE BELOW;;;;
+032F;COMBINING INVERTED BREVE BELOW;Mn;220;NSM;;;;;N;NON-SPACING INVERTED BREVE BELOW;;;;
+0330;COMBINING TILDE BELOW;Mn;220;NSM;;;;;N;NON-SPACING TILDE BELOW;;;;
+0331;COMBINING MACRON BELOW;Mn;220;NSM;;;;;N;NON-SPACING MACRON BELOW;;;;
+0332;COMBINING LOW LINE;Mn;220;NSM;;;;;N;NON-SPACING UNDERSCORE;;;;
+0333;COMBINING DOUBLE LOW LINE;Mn;220;NSM;;;;;N;NON-SPACING DOUBLE UNDERSCORE;;;;
+0334;COMBINING TILDE OVERLAY;Mn;1;NSM;;;;;N;NON-SPACING TILDE OVERLAY;;;;
+0335;COMBINING SHORT STROKE OVERLAY;Mn;1;NSM;;;;;N;NON-SPACING SHORT BAR OVERLAY;;;;
+0336;COMBINING LONG STROKE OVERLAY;Mn;1;NSM;;;;;N;NON-SPACING LONG BAR OVERLAY;;;;
+0337;COMBINING SHORT SOLIDUS OVERLAY;Mn;1;NSM;;;;;N;NON-SPACING SHORT SLASH OVERLAY;;;;
+0338;COMBINING LONG SOLIDUS OVERLAY;Mn;1;NSM;;;;;N;NON-SPACING LONG SLASH OVERLAY;;;;
+0339;COMBINING RIGHT HALF RING BELOW;Mn;220;NSM;;;;;N;NON-SPACING RIGHT HALF RING BELOW;;;;
+033A;COMBINING INVERTED BRIDGE BELOW;Mn;220;NSM;;;;;N;NON-SPACING INVERTED BRIDGE BELOW;;;;
+033B;COMBINING SQUARE BELOW;Mn;220;NSM;;;;;N;NON-SPACING SQUARE BELOW;;;;
+033C;COMBINING SEAGULL BELOW;Mn;220;NSM;;;;;N;NON-SPACING SEAGULL BELOW;;;;
+033D;COMBINING X ABOVE;Mn;230;NSM;;;;;N;NON-SPACING X ABOVE;;;;
+033E;COMBINING VERTICAL TILDE;Mn;230;NSM;;;;;N;NON-SPACING VERTICAL TILDE;;;;
+033F;COMBINING DOUBLE OVERLINE;Mn;230;NSM;;;;;N;NON-SPACING DOUBLE OVERSCORE;;;;
+0340;COMBINING GRAVE TONE MARK;Mn;230;NSM;0300;;;;N;NON-SPACING GRAVE TONE MARK;Vietnamese;;;
+0341;COMBINING ACUTE TONE MARK;Mn;230;NSM;0301;;;;N;NON-SPACING ACUTE TONE MARK;Vietnamese;;;
+0342;COMBINING GREEK PERISPOMENI;Mn;230;NSM;;;;;N;;;;;
+0343;COMBINING GREEK KORONIS;Mn;230;NSM;0313;;;;N;;;;;
+0344;COMBINING GREEK DIALYTIKA TONOS;Mn;230;NSM;0308 0301;;;;N;GREEK NON-SPACING DIAERESIS TONOS;;;;
+0345;COMBINING GREEK YPOGEGRAMMENI;Mn;240;NSM;;;;;N;GREEK NON-SPACING IOTA BELOW;;0399;;0399
+0346;COMBINING BRIDGE ABOVE;Mn;230;NSM;;;;;N;;;;;
+0347;COMBINING EQUALS SIGN BELOW;Mn;220;NSM;;;;;N;;;;;
+0348;COMBINING DOUBLE VERTICAL LINE BELOW;Mn;220;NSM;;;;;N;;;;;
+0349;COMBINING LEFT ANGLE BELOW;Mn;220;NSM;;;;;N;;;;;
+034A;COMBINING NOT TILDE ABOVE;Mn;230;NSM;;;;;N;;;;;
+034B;COMBINING HOMOTHETIC ABOVE;Mn;230;NSM;;;;;N;;;;;
+034C;COMBINING ALMOST EQUAL TO ABOVE;Mn;230;NSM;;;;;N;;;;;
+034D;COMBINING LEFT RIGHT ARROW BELOW;Mn;220;NSM;;;;;N;;;;;
+034E;COMBINING UPWARDS ARROW BELOW;Mn;220;NSM;;;;;N;;;;;
+034F;COMBINING GRAPHEME JOINER;Mn;0;NSM;;;;;N;;;;;
+0350;COMBINING RIGHT ARROWHEAD ABOVE;Mn;230;NSM;;;;;N;;;;;
+0351;COMBINING LEFT HALF RING ABOVE;Mn;230;NSM;;;;;N;;;;;
+0352;COMBINING FERMATA;Mn;230;NSM;;;;;N;;;;;
+0353;COMBINING X BELOW;Mn;220;NSM;;;;;N;;;;;
+0354;COMBINING LEFT ARROWHEAD BELOW;Mn;220;NSM;;;;;N;;;;;
+0355;COMBINING RIGHT ARROWHEAD BELOW;Mn;220;NSM;;;;;N;;;;;
+0356;COMBINING RIGHT ARROWHEAD AND UP ARROWHEAD BELOW;Mn;220;NSM;;;;;N;;;;;
+0357;COMBINING RIGHT HALF RING ABOVE;Mn;230;NSM;;;;;N;;;;;
+0358;COMBINING DOT ABOVE RIGHT;Mn;232;NSM;;;;;N;;;;;
+0359;COMBINING ASTERISK BELOW;Mn;220;NSM;;;;;N;;;;;
+035A;COMBINING DOUBLE RING BELOW;Mn;220;NSM;;;;;N;;;;;
+035B;COMBINING ZIGZAG ABOVE;Mn;230;NSM;;;;;N;;;;;
+035C;COMBINING DOUBLE BREVE BELOW;Mn;233;NSM;;;;;N;;;;;
+035D;COMBINING DOUBLE BREVE;Mn;234;NSM;;;;;N;;;;;
+035E;COMBINING DOUBLE MACRON;Mn;234;NSM;;;;;N;;;;;
+035F;COMBINING DOUBLE MACRON BELOW;Mn;233;NSM;;;;;N;;;;;
+0360;COMBINING DOUBLE TILDE;Mn;234;NSM;;;;;N;;;;;
+0361;COMBINING DOUBLE INVERTED BREVE;Mn;234;NSM;;;;;N;;;;;
+0362;COMBINING DOUBLE RIGHTWARDS ARROW BELOW;Mn;233;NSM;;;;;N;;;;;
+0363;COMBINING LATIN SMALL LETTER A;Mn;230;NSM;;;;;N;;;;;
+0364;COMBINING LATIN SMALL LETTER E;Mn;230;NSM;;;;;N;;;;;
+0365;COMBINING LATIN SMALL LETTER I;Mn;230;NSM;;;;;N;;;;;
+0366;COMBINING LATIN SMALL LETTER O;Mn;230;NSM;;;;;N;;;;;
+0367;COMBINING LATIN SMALL LETTER U;Mn;230;NSM;;;;;N;;;;;
+0368;COMBINING LATIN SMALL LETTER C;Mn;230;NSM;;;;;N;;;;;
+0369;COMBINING LATIN SMALL LETTER D;Mn;230;NSM;;;;;N;;;;;
+036A;COMBINING LATIN SMALL LETTER H;Mn;230;NSM;;;;;N;;;;;
+036B;COMBINING LATIN SMALL LETTER M;Mn;230;NSM;;;;;N;;;;;
+036C;COMBINING LATIN SMALL LETTER R;Mn;230;NSM;;;;;N;;;;;
+036D;COMBINING LATIN SMALL LETTER T;Mn;230;NSM;;;;;N;;;;;
+036E;COMBINING LATIN SMALL LETTER V;Mn;230;NSM;;;;;N;;;;;
+036F;COMBINING LATIN SMALL LETTER X;Mn;230;NSM;;;;;N;;;;;
+0374;GREEK NUMERAL SIGN;Sk;0;ON;02B9;;;;N;GREEK UPPER NUMERAL SIGN;Dexia keraia;;;
+0375;GREEK LOWER NUMERAL SIGN;Sk;0;ON;;;;;N;;Aristeri keraia;;;
+037A;GREEK YPOGEGRAMMENI;Lm;0;L;<compat> 0020 0345;;;;N;GREEK SPACING IOTA BELOW;;;;
+037E;GREEK QUESTION MARK;Po;0;ON;003B;;;;N;;Erotimatiko;;;
+0384;GREEK TONOS;Sk;0;ON;<compat> 0020 0301;;;;N;GREEK SPACING TONOS;;;;
+0385;GREEK DIALYTIKA TONOS;Sk;0;ON;00A8 0301;;;;N;GREEK SPACING DIAERESIS TONOS;;;;
+0386;GREEK CAPITAL LETTER ALPHA WITH TONOS;Lu;0;L;0391 0301;;;;N;GREEK CAPITAL LETTER ALPHA TONOS;;;03AC;
+0387;GREEK ANO TELEIA;Po;0;ON;00B7;;;;N;;;;;
+0388;GREEK CAPITAL LETTER EPSILON WITH TONOS;Lu;0;L;0395 0301;;;;N;GREEK CAPITAL LETTER EPSILON TONOS;;;03AD;
+0389;GREEK CAPITAL LETTER ETA WITH TONOS;Lu;0;L;0397 0301;;;;N;GREEK CAPITAL LETTER ETA TONOS;;;03AE;
+038A;GREEK CAPITAL LETTER IOTA WITH TONOS;Lu;0;L;0399 0301;;;;N;GREEK CAPITAL LETTER IOTA TONOS;;;03AF;
+038C;GREEK CAPITAL LETTER OMICRON WITH TONOS;Lu;0;L;039F 0301;;;;N;GREEK CAPITAL LETTER OMICRON TONOS;;;03CC;
+038E;GREEK CAPITAL LETTER UPSILON WITH TONOS;Lu;0;L;03A5 0301;;;;N;GREEK CAPITAL LETTER UPSILON TONOS;;;03CD;
+038F;GREEK CAPITAL LETTER OMEGA WITH TONOS;Lu;0;L;03A9 0301;;;;N;GREEK CAPITAL LETTER OMEGA TONOS;;;03CE;
+0390;GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS;Ll;0;L;03CA 0301;;;;N;GREEK SMALL LETTER IOTA DIAERESIS TONOS;;;;
+0391;GREEK CAPITAL LETTER ALPHA;Lu;0;L;;;;;N;;;;03B1;
+0392;GREEK CAPITAL LETTER BETA;Lu;0;L;;;;;N;;;;03B2;
+0393;GREEK CAPITAL LETTER GAMMA;Lu;0;L;;;;;N;;;;03B3;
+0394;GREEK CAPITAL LETTER DELTA;Lu;0;L;;;;;N;;;;03B4;
+0395;GREEK CAPITAL LETTER EPSILON;Lu;0;L;;;;;N;;;;03B5;
+0396;GREEK CAPITAL LETTER ZETA;Lu;0;L;;;;;N;;;;03B6;
+0397;GREEK CAPITAL LETTER ETA;Lu;0;L;;;;;N;;;;03B7;
+0398;GREEK CAPITAL LETTER THETA;Lu;0;L;;;;;N;;;;03B8;
+0399;GREEK CAPITAL LETTER IOTA;Lu;0;L;;;;;N;;;;03B9;
+039A;GREEK CAPITAL LETTER KAPPA;Lu;0;L;;;;;N;;;;03BA;
+039B;GREEK CAPITAL LETTER LAMDA;Lu;0;L;;;;;N;GREEK CAPITAL LETTER LAMBDA;;;03BB;
+039C;GREEK CAPITAL LETTER MU;Lu;0;L;;;;;N;;;;03BC;
+039D;GREEK CAPITAL LETTER NU;Lu;0;L;;;;;N;;;;03BD;
+039E;GREEK CAPITAL LETTER XI;Lu;0;L;;;;;N;;;;03BE;
+039F;GREEK CAPITAL LETTER OMICRON;Lu;0;L;;;;;N;;;;03BF;
+03A0;GREEK CAPITAL LETTER PI;Lu;0;L;;;;;N;;;;03C0;
+03A1;GREEK CAPITAL LETTER RHO;Lu;0;L;;;;;N;;;;03C1;
+03A3;GREEK CAPITAL LETTER SIGMA;Lu;0;L;;;;;N;;;;03C3;
+03A4;GREEK CAPITAL LETTER TAU;Lu;0;L;;;;;N;;;;03C4;
+03A5;GREEK CAPITAL LETTER UPSILON;Lu;0;L;;;;;N;;;;03C5;
+03A6;GREEK CAPITAL LETTER PHI;Lu;0;L;;;;;N;;;;03C6;
+03A7;GREEK CAPITAL LETTER CHI;Lu;0;L;;;;;N;;;;03C7;
+03A8;GREEK CAPITAL LETTER PSI;Lu;0;L;;;;;N;;;;03C8;
+03A9;GREEK CAPITAL LETTER OMEGA;Lu;0;L;;;;;N;;;;03C9;
+03AA;GREEK CAPITAL LETTER IOTA WITH DIALYTIKA;Lu;0;L;0399 0308;;;;N;GREEK CAPITAL LETTER IOTA DIAERESIS;;;03CA;
+03AB;GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA;Lu;0;L;03A5 0308;;;;N;GREEK CAPITAL LETTER UPSILON DIAERESIS;;;03CB;
+03AC;GREEK SMALL LETTER ALPHA WITH TONOS;Ll;0;L;03B1 0301;;;;N;GREEK SMALL LETTER ALPHA TONOS;;0386;;0386
+03AD;GREEK SMALL LETTER EPSILON WITH TONOS;Ll;0;L;03B5 0301;;;;N;GREEK SMALL LETTER EPSILON TONOS;;0388;;0388
+03AE;GREEK SMALL LETTER ETA WITH TONOS;Ll;0;L;03B7 0301;;;;N;GREEK SMALL LETTER ETA TONOS;;0389;;0389
+03AF;GREEK SMALL LETTER IOTA WITH TONOS;Ll;0;L;03B9 0301;;;;N;GREEK SMALL LETTER IOTA TONOS;;038A;;038A
+03B0;GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS;Ll;0;L;03CB 0301;;;;N;GREEK SMALL LETTER UPSILON DIAERESIS TONOS;;;;
+03B1;GREEK SMALL LETTER ALPHA;Ll;0;L;;;;;N;;;0391;;0391
+03B2;GREEK SMALL LETTER BETA;Ll;0;L;;;;;N;;;0392;;0392
+03B3;GREEK SMALL LETTER GAMMA;Ll;0;L;;;;;N;;;0393;;0393
+03B4;GREEK SMALL LETTER DELTA;Ll;0;L;;;;;N;;;0394;;0394
+03B5;GREEK SMALL LETTER EPSILON;Ll;0;L;;;;;N;;;0395;;0395
+03B6;GREEK SMALL LETTER ZETA;Ll;0;L;;;;;N;;;0396;;0396
+03B7;GREEK SMALL LETTER ETA;Ll;0;L;;;;;N;;;0397;;0397
+03B8;GREEK SMALL LETTER THETA;Ll;0;L;;;;;N;;;0398;;0398
+03B9;GREEK SMALL LETTER IOTA;Ll;0;L;;;;;N;;;0399;;0399
+03BA;GREEK SMALL LETTER KAPPA;Ll;0;L;;;;;N;;;039A;;039A
+03BB;GREEK SMALL LETTER LAMDA;Ll;0;L;;;;;N;GREEK SMALL LETTER LAMBDA;;039B;;039B
+03BC;GREEK SMALL LETTER MU;Ll;0;L;;;;;N;;;039C;;039C
+03BD;GREEK SMALL LETTER NU;Ll;0;L;;;;;N;;;039D;;039D
+03BE;GREEK SMALL LETTER XI;Ll;0;L;;;;;N;;;039E;;039E
+03BF;GREEK SMALL LETTER OMICRON;Ll;0;L;;;;;N;;;039F;;039F
+03C0;GREEK SMALL LETTER PI;Ll;0;L;;;;;N;;;03A0;;03A0
+03C1;GREEK SMALL LETTER RHO;Ll;0;L;;;;;N;;;03A1;;03A1
+03C2;GREEK SMALL LETTER FINAL SIGMA;Ll;0;L;;;;;N;;;03A3;;03A3
+03C3;GREEK SMALL LETTER SIGMA;Ll;0;L;;;;;N;;;03A3;;03A3
+03C4;GREEK SMALL LETTER TAU;Ll;0;L;;;;;N;;;03A4;;03A4
+03C5;GREEK SMALL LETTER UPSILON;Ll;0;L;;;;;N;;;03A5;;03A5
+03C6;GREEK SMALL LETTER PHI;Ll;0;L;;;;;N;;;03A6;;03A6
+03C7;GREEK SMALL LETTER CHI;Ll;0;L;;;;;N;;;03A7;;03A7
+03C8;GREEK SMALL LETTER PSI;Ll;0;L;;;;;N;;;03A8;;03A8
+03C9;GREEK SMALL LETTER OMEGA;Ll;0;L;;;;;N;;;03A9;;03A9
+03CA;GREEK SMALL LETTER IOTA WITH DIALYTIKA;Ll;0;L;03B9 0308;;;;N;GREEK SMALL LETTER IOTA DIAERESIS;;03AA;;03AA
+03CB;GREEK SMALL LETTER UPSILON WITH DIALYTIKA;Ll;0;L;03C5 0308;;;;N;GREEK SMALL LETTER UPSILON DIAERESIS;;03AB;;03AB
+03CC;GREEK SMALL LETTER OMICRON WITH TONOS;Ll;0;L;03BF 0301;;;;N;GREEK SMALL LETTER OMICRON TONOS;;038C;;038C
+03CD;GREEK SMALL LETTER UPSILON WITH TONOS;Ll;0;L;03C5 0301;;;;N;GREEK SMALL LETTER UPSILON TONOS;;038E;;038E
+03CE;GREEK SMALL LETTER OMEGA WITH TONOS;Ll;0;L;03C9 0301;;;;N;GREEK SMALL LETTER OMEGA TONOS;;038F;;038F
+03D0;GREEK BETA SYMBOL;Ll;0;L;<compat> 03B2;;;;N;GREEK SMALL LETTER CURLED BETA;;0392;;0392
+03D1;GREEK THETA SYMBOL;Ll;0;L;<compat> 03B8;;;;N;GREEK SMALL LETTER SCRIPT THETA;;0398;;0398
+03D2;GREEK UPSILON WITH HOOK SYMBOL;Lu;0;L;<compat> 03A5;;;;N;GREEK CAPITAL LETTER UPSILON HOOK;;;;
+03D3;GREEK UPSILON WITH ACUTE AND HOOK SYMBOL;Lu;0;L;03D2 0301;;;;N;GREEK CAPITAL LETTER UPSILON HOOK TONOS;;;;
+03D4;GREEK UPSILON WITH DIAERESIS AND HOOK SYMBOL;Lu;0;L;03D2 0308;;;;N;GREEK CAPITAL LETTER UPSILON HOOK DIAERESIS;;;;
+03D5;GREEK PHI SYMBOL;Ll;0;L;<compat> 03C6;;;;N;GREEK SMALL LETTER SCRIPT PHI;;03A6;;03A6
+03D6;GREEK PI SYMBOL;Ll;0;L;<compat> 03C0;;;;N;GREEK SMALL LETTER OMEGA PI;;03A0;;03A0
+03D7;GREEK KAI SYMBOL;Ll;0;L;;;;;N;;;;;
+03D8;GREEK LETTER ARCHAIC KOPPA;Lu;0;L;;;;;N;;*;;03D9;
+03D9;GREEK SMALL LETTER ARCHAIC KOPPA;Ll;0;L;;;;;N;;*;03D8;;03D8
+03DA;GREEK LETTER STIGMA;Lu;0;L;;;;;N;GREEK CAPITAL LETTER STIGMA;;;03DB;
+03DB;GREEK SMALL LETTER STIGMA;Ll;0;L;;;;;N;;;03DA;;03DA
+03DC;GREEK LETTER DIGAMMA;Lu;0;L;;;;;N;GREEK CAPITAL LETTER DIGAMMA;;;03DD;
+03DD;GREEK SMALL LETTER DIGAMMA;Ll;0;L;;;;;N;;;03DC;;03DC
+03DE;GREEK LETTER KOPPA;Lu;0;L;;;;;N;GREEK CAPITAL LETTER KOPPA;;;03DF;
+03DF;GREEK SMALL LETTER KOPPA;Ll;0;L;;;;;N;;;03DE;;03DE
+03E0;GREEK LETTER SAMPI;Lu;0;L;;;;;N;GREEK CAPITAL LETTER SAMPI;;;03E1;
+03E1;GREEK SMALL LETTER SAMPI;Ll;0;L;;;;;N;;;03E0;;03E0
+03E2;COPTIC CAPITAL LETTER SHEI;Lu;0;L;;;;;N;GREEK CAPITAL LETTER SHEI;;;03E3;
+03E3;COPTIC SMALL LETTER SHEI;Ll;0;L;;;;;N;GREEK SMALL LETTER SHEI;;03E2;;03E2
+03E4;COPTIC CAPITAL LETTER FEI;Lu;0;L;;;;;N;GREEK CAPITAL LETTER FEI;;;03E5;
+03E5;COPTIC SMALL LETTER FEI;Ll;0;L;;;;;N;GREEK SMALL LETTER FEI;;03E4;;03E4
+03E6;COPTIC CAPITAL LETTER KHEI;Lu;0;L;;;;;N;GREEK CAPITAL LETTER KHEI;;;03E7;
+03E7;COPTIC SMALL LETTER KHEI;Ll;0;L;;;;;N;GREEK SMALL LETTER KHEI;;03E6;;03E6
+03E8;COPTIC CAPITAL LETTER HORI;Lu;0;L;;;;;N;GREEK CAPITAL LETTER HORI;;;03E9;
+03E9;COPTIC SMALL LETTER HORI;Ll;0;L;;;;;N;GREEK SMALL LETTER HORI;;03E8;;03E8
+03EA;COPTIC CAPITAL LETTER GANGIA;Lu;0;L;;;;;N;GREEK CAPITAL LETTER GANGIA;;;03EB;
+03EB;COPTIC SMALL LETTER GANGIA;Ll;0;L;;;;;N;GREEK SMALL LETTER GANGIA;;03EA;;03EA
+03EC;COPTIC CAPITAL LETTER SHIMA;Lu;0;L;;;;;N;GREEK CAPITAL LETTER SHIMA;;;03ED;
+03ED;COPTIC SMALL LETTER SHIMA;Ll;0;L;;;;;N;GREEK SMALL LETTER SHIMA;;03EC;;03EC
+03EE;COPTIC CAPITAL LETTER DEI;Lu;0;L;;;;;N;GREEK CAPITAL LETTER DEI;;;03EF;
+03EF;COPTIC SMALL LETTER DEI;Ll;0;L;;;;;N;GREEK SMALL LETTER DEI;;03EE;;03EE
+03F0;GREEK KAPPA SYMBOL;Ll;0;L;<compat> 03BA;;;;N;GREEK SMALL LETTER SCRIPT KAPPA;;039A;;039A
+03F1;GREEK RHO SYMBOL;Ll;0;L;<compat> 03C1;;;;N;GREEK SMALL LETTER TAILED RHO;;03A1;;03A1
+03F2;GREEK LUNATE SIGMA SYMBOL;Ll;0;L;<compat> 03C2;;;;N;GREEK SMALL LETTER LUNATE SIGMA;;03F9;;03F9
+03F3;GREEK LETTER YOT;Ll;0;L;;;;;N;;;;;
+03F4;GREEK CAPITAL THETA SYMBOL;Lu;0;L;<compat> 0398;;;;N;;;;03B8;
+03F5;GREEK LUNATE EPSILON SYMBOL;Ll;0;L;<compat> 03B5;;;;N;;;0395;;0395
+03F6;GREEK REVERSED LUNATE EPSILON SYMBOL;Sm;0;ON;;;;;N;;;;;
+03F7;GREEK CAPITAL LETTER SHO;Lu;0;L;;;;;N;;;;03F8;
+03F8;GREEK SMALL LETTER SHO;Ll;0;L;;;;;N;;;03F7;;03F7
+03F9;GREEK CAPITAL LUNATE SIGMA SYMBOL;Lu;0;L;<compat> 03A3;;;;N;;;;03F2;
+03FA;GREEK CAPITAL LETTER SAN;Lu;0;L;;;;;N;;;;03FB;
+03FB;GREEK SMALL LETTER SAN;Ll;0;L;;;;;N;;;03FA;;03FA
+03FC;GREEK RHO WITH STROKE SYMBOL;Ll;0;L;;;;;N;;;;;
+03FD;GREEK CAPITAL REVERSED LUNATE SIGMA SYMBOL;Lu;0;L;;;;;N;;;;;
+03FE;GREEK CAPITAL DOTTED LUNATE SIGMA SYMBOL;Lu;0;L;;;;;N;;;;;
+03FF;GREEK CAPITAL REVERSED DOTTED LUNATE SIGMA SYMBOL;Lu;0;L;;;;;N;;;;;
+0400;CYRILLIC CAPITAL LETTER IE WITH GRAVE;Lu;0;L;0415 0300;;;;N;;;;0450;
+0401;CYRILLIC CAPITAL LETTER IO;Lu;0;L;0415 0308;;;;N;;;;0451;
+0402;CYRILLIC CAPITAL LETTER DJE;Lu;0;L;;;;;N;;Serbocroatian;;0452;
+0403;CYRILLIC CAPITAL LETTER GJE;Lu;0;L;0413 0301;;;;N;;;;0453;
+0404;CYRILLIC CAPITAL LETTER UKRAINIAN IE;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER E;;;0454;
+0405;CYRILLIC CAPITAL LETTER DZE;Lu;0;L;;;;;N;;;;0455;
+0406;CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER I;;;0456;
+0407;CYRILLIC CAPITAL LETTER YI;Lu;0;L;0406 0308;;;;N;;Ukrainian;;0457;
+0408;CYRILLIC CAPITAL LETTER JE;Lu;0;L;;;;;N;;;;0458;
+0409;CYRILLIC CAPITAL LETTER LJE;Lu;0;L;;;;;N;;;;0459;
+040A;CYRILLIC CAPITAL LETTER NJE;Lu;0;L;;;;;N;;;;045A;
+040B;CYRILLIC CAPITAL LETTER TSHE;Lu;0;L;;;;;N;;Serbocroatian;;045B;
+040C;CYRILLIC CAPITAL LETTER KJE;Lu;0;L;041A 0301;;;;N;;;;045C;
+040D;CYRILLIC CAPITAL LETTER I WITH GRAVE;Lu;0;L;0418 0300;;;;N;;;;045D;
+040E;CYRILLIC CAPITAL LETTER SHORT U;Lu;0;L;0423 0306;;;;N;;Byelorussian;;045E;
+040F;CYRILLIC CAPITAL LETTER DZHE;Lu;0;L;;;;;N;;;;045F;
+0410;CYRILLIC CAPITAL LETTER A;Lu;0;L;;;;;N;;;;0430;
+0411;CYRILLIC CAPITAL LETTER BE;Lu;0;L;;;;;N;;;;0431;
+0412;CYRILLIC CAPITAL LETTER VE;Lu;0;L;;;;;N;;;;0432;
+0413;CYRILLIC CAPITAL LETTER GHE;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER GE;;;0433;
+0414;CYRILLIC CAPITAL LETTER DE;Lu;0;L;;;;;N;;;;0434;
+0415;CYRILLIC CAPITAL LETTER IE;Lu;0;L;;;;;N;;;;0435;
+0416;CYRILLIC CAPITAL LETTER ZHE;Lu;0;L;;;;;N;;;;0436;
+0417;CYRILLIC CAPITAL LETTER ZE;Lu;0;L;;;;;N;;;;0437;
+0418;CYRILLIC CAPITAL LETTER I;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER II;;;0438;
+0419;CYRILLIC CAPITAL LETTER SHORT I;Lu;0;L;0418 0306;;;;N;CYRILLIC CAPITAL LETTER SHORT II;;;0439;
+041A;CYRILLIC CAPITAL LETTER KA;Lu;0;L;;;;;N;;;;043A;
+041B;CYRILLIC CAPITAL LETTER EL;Lu;0;L;;;;;N;;;;043B;
+041C;CYRILLIC CAPITAL LETTER EM;Lu;0;L;;;;;N;;;;043C;
+041D;CYRILLIC CAPITAL LETTER EN;Lu;0;L;;;;;N;;;;043D;
+041E;CYRILLIC CAPITAL LETTER O;Lu;0;L;;;;;N;;;;043E;
+041F;CYRILLIC CAPITAL LETTER PE;Lu;0;L;;;;;N;;;;043F;
+0420;CYRILLIC CAPITAL LETTER ER;Lu;0;L;;;;;N;;;;0440;
+0421;CYRILLIC CAPITAL LETTER ES;Lu;0;L;;;;;N;;;;0441;
+0422;CYRILLIC CAPITAL LETTER TE;Lu;0;L;;;;;N;;;;0442;
+0423;CYRILLIC CAPITAL LETTER U;Lu;0;L;;;;;N;;;;0443;
+0424;CYRILLIC CAPITAL LETTER EF;Lu;0;L;;;;;N;;;;0444;
+0425;CYRILLIC CAPITAL LETTER HA;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER KHA;;;0445;
+0426;CYRILLIC CAPITAL LETTER TSE;Lu;0;L;;;;;N;;;;0446;
+0427;CYRILLIC CAPITAL LETTER CHE;Lu;0;L;;;;;N;;;;0447;
+0428;CYRILLIC CAPITAL LETTER SHA;Lu;0;L;;;;;N;;;;0448;
+0429;CYRILLIC CAPITAL LETTER SHCHA;Lu;0;L;;;;;N;;;;0449;
+042A;CYRILLIC CAPITAL LETTER HARD SIGN;Lu;0;L;;;;;N;;;;044A;
+042B;CYRILLIC CAPITAL LETTER YERU;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER YERI;;;044B;
+042C;CYRILLIC CAPITAL LETTER SOFT SIGN;Lu;0;L;;;;;N;;;;044C;
+042D;CYRILLIC CAPITAL LETTER E;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER REVERSED E;;;044D;
+042E;CYRILLIC CAPITAL LETTER YU;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER IU;;;044E;
+042F;CYRILLIC CAPITAL LETTER YA;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER IA;;;044F;
+0430;CYRILLIC SMALL LETTER A;Ll;0;L;;;;;N;;;0410;;0410
+0431;CYRILLIC SMALL LETTER BE;Ll;0;L;;;;;N;;;0411;;0411
+0432;CYRILLIC SMALL LETTER VE;Ll;0;L;;;;;N;;;0412;;0412
+0433;CYRILLIC SMALL LETTER GHE;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER GE;;0413;;0413
+0434;CYRILLIC SMALL LETTER DE;Ll;0;L;;;;;N;;;0414;;0414
+0435;CYRILLIC SMALL LETTER IE;Ll;0;L;;;;;N;;;0415;;0415
+0436;CYRILLIC SMALL LETTER ZHE;Ll;0;L;;;;;N;;;0416;;0416
+0437;CYRILLIC SMALL LETTER ZE;Ll;0;L;;;;;N;;;0417;;0417
+0438;CYRILLIC SMALL LETTER I;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER II;;0418;;0418
+0439;CYRILLIC SMALL LETTER SHORT I;Ll;0;L;0438 0306;;;;N;CYRILLIC SMALL LETTER SHORT II;;0419;;0419
+043A;CYRILLIC SMALL LETTER KA;Ll;0;L;;;;;N;;;041A;;041A
+043B;CYRILLIC SMALL LETTER EL;Ll;0;L;;;;;N;;;041B;;041B
+043C;CYRILLIC SMALL LETTER EM;Ll;0;L;;;;;N;;;041C;;041C
+043D;CYRILLIC SMALL LETTER EN;Ll;0;L;;;;;N;;;041D;;041D
+043E;CYRILLIC SMALL LETTER O;Ll;0;L;;;;;N;;;041E;;041E
+043F;CYRILLIC SMALL LETTER PE;Ll;0;L;;;;;N;;;041F;;041F
+0440;CYRILLIC SMALL LETTER ER;Ll;0;L;;;;;N;;;0420;;0420
+0441;CYRILLIC SMALL LETTER ES;Ll;0;L;;;;;N;;;0421;;0421
+0442;CYRILLIC SMALL LETTER TE;Ll;0;L;;;;;N;;;0422;;0422
+0443;CYRILLIC SMALL LETTER U;Ll;0;L;;;;;N;;;0423;;0423
+0444;CYRILLIC SMALL LETTER EF;Ll;0;L;;;;;N;;;0424;;0424
+0445;CYRILLIC SMALL LETTER HA;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER KHA;;0425;;0425
+0446;CYRILLIC SMALL LETTER TSE;Ll;0;L;;;;;N;;;0426;;0426
+0447;CYRILLIC SMALL LETTER CHE;Ll;0;L;;;;;N;;;0427;;0427
+0448;CYRILLIC SMALL LETTER SHA;Ll;0;L;;;;;N;;;0428;;0428
+0449;CYRILLIC SMALL LETTER SHCHA;Ll;0;L;;;;;N;;;0429;;0429
+044A;CYRILLIC SMALL LETTER HARD SIGN;Ll;0;L;;;;;N;;;042A;;042A
+044B;CYRILLIC SMALL LETTER YERU;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER YERI;;042B;;042B
+044C;CYRILLIC SMALL LETTER SOFT SIGN;Ll;0;L;;;;;N;;;042C;;042C
+044D;CYRILLIC SMALL LETTER E;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER REVERSED E;;042D;;042D
+044E;CYRILLIC SMALL LETTER YU;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER IU;;042E;;042E
+044F;CYRILLIC SMALL LETTER YA;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER IA;;042F;;042F
+0450;CYRILLIC SMALL LETTER IE WITH GRAVE;Ll;0;L;0435 0300;;;;N;;;0400;;0400
+0451;CYRILLIC SMALL LETTER IO;Ll;0;L;0435 0308;;;;N;;;0401;;0401
+0452;CYRILLIC SMALL LETTER DJE;Ll;0;L;;;;;N;;Serbocroatian;0402;;0402
+0453;CYRILLIC SMALL LETTER GJE;Ll;0;L;0433 0301;;;;N;;;0403;;0403
+0454;CYRILLIC SMALL LETTER UKRAINIAN IE;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER E;;0404;;0404
+0455;CYRILLIC SMALL LETTER DZE;Ll;0;L;;;;;N;;;0405;;0405
+0456;CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER I;;0406;;0406
+0457;CYRILLIC SMALL LETTER YI;Ll;0;L;0456 0308;;;;N;;Ukrainian;0407;;0407
+0458;CYRILLIC SMALL LETTER JE;Ll;0;L;;;;;N;;;0408;;0408
+0459;CYRILLIC SMALL LETTER LJE;Ll;0;L;;;;;N;;;0409;;0409
+045A;CYRILLIC SMALL LETTER NJE;Ll;0;L;;;;;N;;;040A;;040A
+045B;CYRILLIC SMALL LETTER TSHE;Ll;0;L;;;;;N;;Serbocroatian;040B;;040B
+045C;CYRILLIC SMALL LETTER KJE;Ll;0;L;043A 0301;;;;N;;;040C;;040C
+045D;CYRILLIC SMALL LETTER I WITH GRAVE;Ll;0;L;0438 0300;;;;N;;;040D;;040D
+045E;CYRILLIC SMALL LETTER SHORT U;Ll;0;L;0443 0306;;;;N;;Byelorussian;040E;;040E
+045F;CYRILLIC SMALL LETTER DZHE;Ll;0;L;;;;;N;;;040F;;040F
+0460;CYRILLIC CAPITAL LETTER OMEGA;Lu;0;L;;;;;N;;;;0461;
+0461;CYRILLIC SMALL LETTER OMEGA;Ll;0;L;;;;;N;;;0460;;0460
+0462;CYRILLIC CAPITAL LETTER YAT;Lu;0;L;;;;;N;;;;0463;
+0463;CYRILLIC SMALL LETTER YAT;Ll;0;L;;;;;N;;;0462;;0462
+0464;CYRILLIC CAPITAL LETTER IOTIFIED E;Lu;0;L;;;;;N;;;;0465;
+0465;CYRILLIC SMALL LETTER IOTIFIED E;Ll;0;L;;;;;N;;;0464;;0464
+0466;CYRILLIC CAPITAL LETTER LITTLE YUS;Lu;0;L;;;;;N;;;;0467;
+0467;CYRILLIC SMALL LETTER LITTLE YUS;Ll;0;L;;;;;N;;;0466;;0466
+0468;CYRILLIC CAPITAL LETTER IOTIFIED LITTLE YUS;Lu;0;L;;;;;N;;;;0469;
+0469;CYRILLIC SMALL LETTER IOTIFIED LITTLE YUS;Ll;0;L;;;;;N;;;0468;;0468
+046A;CYRILLIC CAPITAL LETTER BIG YUS;Lu;0;L;;;;;N;;;;046B;
+046B;CYRILLIC SMALL LETTER BIG YUS;Ll;0;L;;;;;N;;;046A;;046A
+046C;CYRILLIC CAPITAL LETTER IOTIFIED BIG YUS;Lu;0;L;;;;;N;;;;046D;
+046D;CYRILLIC SMALL LETTER IOTIFIED BIG YUS;Ll;0;L;;;;;N;;;046C;;046C
+046E;CYRILLIC CAPITAL LETTER KSI;Lu;0;L;;;;;N;;;;046F;
+046F;CYRILLIC SMALL LETTER KSI;Ll;0;L;;;;;N;;;046E;;046E
+0470;CYRILLIC CAPITAL LETTER PSI;Lu;0;L;;;;;N;;;;0471;
+0471;CYRILLIC SMALL LETTER PSI;Ll;0;L;;;;;N;;;0470;;0470
+0472;CYRILLIC CAPITAL LETTER FITA;Lu;0;L;;;;;N;;;;0473;
+0473;CYRILLIC SMALL LETTER FITA;Ll;0;L;;;;;N;;;0472;;0472
+0474;CYRILLIC CAPITAL LETTER IZHITSA;Lu;0;L;;;;;N;;;;0475;
+0475;CYRILLIC SMALL LETTER IZHITSA;Ll;0;L;;;;;N;;;0474;;0474
+0476;CYRILLIC CAPITAL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT;Lu;0;L;0474 030F;;;;N;CYRILLIC CAPITAL LETTER IZHITSA DOUBLE GRAVE;;;0477;
+0477;CYRILLIC SMALL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT;Ll;0;L;0475 030F;;;;N;CYRILLIC SMALL LETTER IZHITSA DOUBLE GRAVE;;0476;;0476
+0478;CYRILLIC CAPITAL LETTER UK;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER UK DIGRAPH;;;0479;
+0479;CYRILLIC SMALL LETTER UK;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER UK DIGRAPH;;0478;;0478
+047A;CYRILLIC CAPITAL LETTER ROUND OMEGA;Lu;0;L;;;;;N;;;;047B;
+047B;CYRILLIC SMALL LETTER ROUND OMEGA;Ll;0;L;;;;;N;;;047A;;047A
+047C;CYRILLIC CAPITAL LETTER OMEGA WITH TITLO;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER OMEGA TITLO;;;047D;
+047D;CYRILLIC SMALL LETTER OMEGA WITH TITLO;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER OMEGA TITLO;;047C;;047C
+047E;CYRILLIC CAPITAL LETTER OT;Lu;0;L;;;;;N;;;;047F;
+047F;CYRILLIC SMALL LETTER OT;Ll;0;L;;;;;N;;;047E;;047E
+0480;CYRILLIC CAPITAL LETTER KOPPA;Lu;0;L;;;;;N;;;;0481;
+0481;CYRILLIC SMALL LETTER KOPPA;Ll;0;L;;;;;N;;;0480;;0480
+0482;CYRILLIC THOUSANDS SIGN;So;0;L;;;;;N;;;;;
+0483;COMBINING CYRILLIC TITLO;Mn;230;NSM;;;;;N;CYRILLIC NON-SPACING TITLO;;;;
+0484;COMBINING CYRILLIC PALATALIZATION;Mn;230;NSM;;;;;N;CYRILLIC NON-SPACING PALATALIZATION;;;;
+0485;COMBINING CYRILLIC DASIA PNEUMATA;Mn;230;NSM;;;;;N;CYRILLIC NON-SPACING DASIA PNEUMATA;;;;
+0486;COMBINING CYRILLIC PSILI PNEUMATA;Mn;230;NSM;;;;;N;CYRILLIC NON-SPACING PSILI PNEUMATA;;;;
+0488;COMBINING CYRILLIC HUNDRED THOUSANDS SIGN;Me;0;NSM;;;;;N;;;;;
+0489;COMBINING CYRILLIC MILLIONS SIGN;Me;0;NSM;;;;;N;;;;;
+048A;CYRILLIC CAPITAL LETTER SHORT I WITH TAIL;Lu;0;L;;;;;N;;;;048B;
+048B;CYRILLIC SMALL LETTER SHORT I WITH TAIL;Ll;0;L;;;;;N;;;048A;;048A
+048C;CYRILLIC CAPITAL LETTER SEMISOFT SIGN;Lu;0;L;;;;;N;;;;048D;
+048D;CYRILLIC SMALL LETTER SEMISOFT SIGN;Ll;0;L;;;;;N;;;048C;;048C
+048E;CYRILLIC CAPITAL LETTER ER WITH TICK;Lu;0;L;;;;;N;;;;048F;
+048F;CYRILLIC SMALL LETTER ER WITH TICK;Ll;0;L;;;;;N;;;048E;;048E
+0490;CYRILLIC CAPITAL LETTER GHE WITH UPTURN;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER GE WITH UPTURN;;;0491;
+0491;CYRILLIC SMALL LETTER GHE WITH UPTURN;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER GE WITH UPTURN;;0490;;0490
+0492;CYRILLIC CAPITAL LETTER GHE WITH STROKE;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER GE BAR;;;0493;
+0493;CYRILLIC SMALL LETTER GHE WITH STROKE;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER GE BAR;;0492;;0492
+0494;CYRILLIC CAPITAL LETTER GHE WITH MIDDLE HOOK;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER GE HOOK;;;0495;
+0495;CYRILLIC SMALL LETTER GHE WITH MIDDLE HOOK;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER GE HOOK;;0494;;0494
+0496;CYRILLIC CAPITAL LETTER ZHE WITH DESCENDER;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER ZHE WITH RIGHT DESCENDER;;;0497;
+0497;CYRILLIC SMALL LETTER ZHE WITH DESCENDER;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER ZHE WITH RIGHT DESCENDER;;0496;;0496
+0498;CYRILLIC CAPITAL LETTER ZE WITH DESCENDER;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER ZE CEDILLA;;;0499;
+0499;CYRILLIC SMALL LETTER ZE WITH DESCENDER;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER ZE CEDILLA;;0498;;0498
+049A;CYRILLIC CAPITAL LETTER KA WITH DESCENDER;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER KA WITH RIGHT DESCENDER;;;049B;
+049B;CYRILLIC SMALL LETTER KA WITH DESCENDER;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER KA WITH RIGHT DESCENDER;;049A;;049A
+049C;CYRILLIC CAPITAL LETTER KA WITH VERTICAL STROKE;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER KA VERTICAL BAR;;;049D;
+049D;CYRILLIC SMALL LETTER KA WITH VERTICAL STROKE;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER KA VERTICAL BAR;;049C;;049C
+049E;CYRILLIC CAPITAL LETTER KA WITH STROKE;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER KA BAR;;;049F;
+049F;CYRILLIC SMALL LETTER KA WITH STROKE;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER KA BAR;;049E;;049E
+04A0;CYRILLIC CAPITAL LETTER BASHKIR KA;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER REVERSED GE KA;;;04A1;
+04A1;CYRILLIC SMALL LETTER BASHKIR KA;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER REVERSED GE KA;;04A0;;04A0
+04A2;CYRILLIC CAPITAL LETTER EN WITH DESCENDER;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER EN WITH RIGHT DESCENDER;;;04A3;
+04A3;CYRILLIC SMALL LETTER EN WITH DESCENDER;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER EN WITH RIGHT DESCENDER;;04A2;;04A2
+04A4;CYRILLIC CAPITAL LIGATURE EN GHE;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER EN GE;;;04A5;
+04A5;CYRILLIC SMALL LIGATURE EN GHE;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER EN GE;;04A4;;04A4
+04A6;CYRILLIC CAPITAL LETTER PE WITH MIDDLE HOOK;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER PE HOOK;Abkhasian;;04A7;
+04A7;CYRILLIC SMALL LETTER PE WITH MIDDLE HOOK;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER PE HOOK;Abkhasian;04A6;;04A6
+04A8;CYRILLIC CAPITAL LETTER ABKHASIAN HA;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER O HOOK;;;04A9;
+04A9;CYRILLIC SMALL LETTER ABKHASIAN HA;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER O HOOK;;04A8;;04A8
+04AA;CYRILLIC CAPITAL LETTER ES WITH DESCENDER;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER ES CEDILLA;;;04AB;
+04AB;CYRILLIC SMALL LETTER ES WITH DESCENDER;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER ES CEDILLA;;04AA;;04AA
+04AC;CYRILLIC CAPITAL LETTER TE WITH DESCENDER;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER TE WITH RIGHT DESCENDER;;;04AD;
+04AD;CYRILLIC SMALL LETTER TE WITH DESCENDER;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER TE WITH RIGHT DESCENDER;;04AC;;04AC
+04AE;CYRILLIC CAPITAL LETTER STRAIGHT U;Lu;0;L;;;;;N;;;;04AF;
+04AF;CYRILLIC SMALL LETTER STRAIGHT U;Ll;0;L;;;;;N;;;04AE;;04AE
+04B0;CYRILLIC CAPITAL LETTER STRAIGHT U WITH STROKE;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER STRAIGHT U BAR;;;04B1;
+04B1;CYRILLIC SMALL LETTER STRAIGHT U WITH STROKE;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER STRAIGHT U BAR;;04B0;;04B0
+04B2;CYRILLIC CAPITAL LETTER HA WITH DESCENDER;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER KHA WITH RIGHT DESCENDER;;;04B3;
+04B3;CYRILLIC SMALL LETTER HA WITH DESCENDER;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER KHA WITH RIGHT DESCENDER;;04B2;;04B2
+04B4;CYRILLIC CAPITAL LIGATURE TE TSE;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER TE TSE;Abkhasian;;04B5;
+04B5;CYRILLIC SMALL LIGATURE TE TSE;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER TE TSE;Abkhasian;04B4;;04B4
+04B6;CYRILLIC CAPITAL LETTER CHE WITH DESCENDER;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER CHE WITH RIGHT DESCENDER;;;04B7;
+04B7;CYRILLIC SMALL LETTER CHE WITH DESCENDER;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER CHE WITH RIGHT DESCENDER;;04B6;;04B6
+04B8;CYRILLIC CAPITAL LETTER CHE WITH VERTICAL STROKE;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER CHE VERTICAL BAR;;;04B9;
+04B9;CYRILLIC SMALL LETTER CHE WITH VERTICAL STROKE;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER CHE VERTICAL BAR;;04B8;;04B8
+04BA;CYRILLIC CAPITAL LETTER SHHA;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER H;;;04BB;
+04BB;CYRILLIC SMALL LETTER SHHA;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER H;;04BA;;04BA
+04BC;CYRILLIC CAPITAL LETTER ABKHASIAN CHE;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER IE HOOK;;;04BD;
+04BD;CYRILLIC SMALL LETTER ABKHASIAN CHE;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER IE HOOK;;04BC;;04BC
+04BE;CYRILLIC CAPITAL LETTER ABKHASIAN CHE WITH DESCENDER;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER IE HOOK OGONEK;;;04BF;
+04BF;CYRILLIC SMALL LETTER ABKHASIAN CHE WITH DESCENDER;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER IE HOOK OGONEK;;04BE;;04BE
+04C0;CYRILLIC LETTER PALOCHKA;Lu;0;L;;;;;N;CYRILLIC LETTER I;;;;
+04C1;CYRILLIC CAPITAL LETTER ZHE WITH BREVE;Lu;0;L;0416 0306;;;;N;CYRILLIC CAPITAL LETTER SHORT ZHE;;;04C2;
+04C2;CYRILLIC SMALL LETTER ZHE WITH BREVE;Ll;0;L;0436 0306;;;;N;CYRILLIC SMALL LETTER SHORT ZHE;;04C1;;04C1
+04C3;CYRILLIC CAPITAL LETTER KA WITH HOOK;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER KA HOOK;;;04C4;
+04C4;CYRILLIC SMALL LETTER KA WITH HOOK;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER KA HOOK;;04C3;;04C3
+04C5;CYRILLIC CAPITAL LETTER EL WITH TAIL;Lu;0;L;;;;;N;;;;04C6;
+04C6;CYRILLIC SMALL LETTER EL WITH TAIL;Ll;0;L;;;;;N;;;04C5;;04C5
+04C7;CYRILLIC CAPITAL LETTER EN WITH HOOK;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER EN HOOK;;;04C8;
+04C8;CYRILLIC SMALL LETTER EN WITH HOOK;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER EN HOOK;;04C7;;04C7
+04C9;CYRILLIC CAPITAL LETTER EN WITH TAIL;Lu;0;L;;;;;N;;;;04CA;
+04CA;CYRILLIC SMALL LETTER EN WITH TAIL;Ll;0;L;;;;;N;;;04C9;;04C9
+04CB;CYRILLIC CAPITAL LETTER KHAKASSIAN CHE;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER CHE WITH LEFT DESCENDER;;;04CC;
+04CC;CYRILLIC SMALL LETTER KHAKASSIAN CHE;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER CHE WITH LEFT DESCENDER;;04CB;;04CB
+04CD;CYRILLIC CAPITAL LETTER EM WITH TAIL;Lu;0;L;;;;;N;;;;04CE;
+04CE;CYRILLIC SMALL LETTER EM WITH TAIL;Ll;0;L;;;;;N;;;04CD;;04CD
+04D0;CYRILLIC CAPITAL LETTER A WITH BREVE;Lu;0;L;0410 0306;;;;N;;;;04D1;
+04D1;CYRILLIC SMALL LETTER A WITH BREVE;Ll;0;L;0430 0306;;;;N;;;04D0;;04D0
+04D2;CYRILLIC CAPITAL LETTER A WITH DIAERESIS;Lu;0;L;0410 0308;;;;N;;;;04D3;
+04D3;CYRILLIC SMALL LETTER A WITH DIAERESIS;Ll;0;L;0430 0308;;;;N;;;04D2;;04D2
+04D4;CYRILLIC CAPITAL LIGATURE A IE;Lu;0;L;;;;;N;;;;04D5;
+04D5;CYRILLIC SMALL LIGATURE A IE;Ll;0;L;;;;;N;;;04D4;;04D4
+04D6;CYRILLIC CAPITAL LETTER IE WITH BREVE;Lu;0;L;0415 0306;;;;N;;;;04D7;
+04D7;CYRILLIC SMALL LETTER IE WITH BREVE;Ll;0;L;0435 0306;;;;N;;;04D6;;04D6
+04D8;CYRILLIC CAPITAL LETTER SCHWA;Lu;0;L;;;;;N;;;;04D9;
+04D9;CYRILLIC SMALL LETTER SCHWA;Ll;0;L;;;;;N;;;04D8;;04D8
+04DA;CYRILLIC CAPITAL LETTER SCHWA WITH DIAERESIS;Lu;0;L;04D8 0308;;;;N;;;;04DB;
+04DB;CYRILLIC SMALL LETTER SCHWA WITH DIAERESIS;Ll;0;L;04D9 0308;;;;N;;;04DA;;04DA
+04DC;CYRILLIC CAPITAL LETTER ZHE WITH DIAERESIS;Lu;0;L;0416 0308;;;;N;;;;04DD;
+04DD;CYRILLIC SMALL LETTER ZHE WITH DIAERESIS;Ll;0;L;0436 0308;;;;N;;;04DC;;04DC
+04DE;CYRILLIC CAPITAL LETTER ZE WITH DIAERESIS;Lu;0;L;0417 0308;;;;N;;;;04DF;
+04DF;CYRILLIC SMALL LETTER ZE WITH DIAERESIS;Ll;0;L;0437 0308;;;;N;;;04DE;;04DE
+04E0;CYRILLIC CAPITAL LETTER ABKHASIAN DZE;Lu;0;L;;;;;N;;;;04E1;
+04E1;CYRILLIC SMALL LETTER ABKHASIAN DZE;Ll;0;L;;;;;N;;;04E0;;04E0
+04E2;CYRILLIC CAPITAL LETTER I WITH MACRON;Lu;0;L;0418 0304;;;;N;;;;04E3;
+04E3;CYRILLIC SMALL LETTER I WITH MACRON;Ll;0;L;0438 0304;;;;N;;;04E2;;04E2
+04E4;CYRILLIC CAPITAL LETTER I WITH DIAERESIS;Lu;0;L;0418 0308;;;;N;;;;04E5;
+04E5;CYRILLIC SMALL LETTER I WITH DIAERESIS;Ll;0;L;0438 0308;;;;N;;;04E4;;04E4
+04E6;CYRILLIC CAPITAL LETTER O WITH DIAERESIS;Lu;0;L;041E 0308;;;;N;;;;04E7;
+04E7;CYRILLIC SMALL LETTER O WITH DIAERESIS;Ll;0;L;043E 0308;;;;N;;;04E6;;04E6
+04E8;CYRILLIC CAPITAL LETTER BARRED O;Lu;0;L;;;;;N;;;;04E9;
+04E9;CYRILLIC SMALL LETTER BARRED O;Ll;0;L;;;;;N;;;04E8;;04E8
+04EA;CYRILLIC CAPITAL LETTER BARRED O WITH DIAERESIS;Lu;0;L;04E8 0308;;;;N;;;;04EB;
+04EB;CYRILLIC SMALL LETTER BARRED O WITH DIAERESIS;Ll;0;L;04E9 0308;;;;N;;;04EA;;04EA
+04EC;CYRILLIC CAPITAL LETTER E WITH DIAERESIS;Lu;0;L;042D 0308;;;;N;;;;04ED;
+04ED;CYRILLIC SMALL LETTER E WITH DIAERESIS;Ll;0;L;044D 0308;;;;N;;;04EC;;04EC
+04EE;CYRILLIC CAPITAL LETTER U WITH MACRON;Lu;0;L;0423 0304;;;;N;;;;04EF;
+04EF;CYRILLIC SMALL LETTER U WITH MACRON;Ll;0;L;0443 0304;;;;N;;;04EE;;04EE
+04F0;CYRILLIC CAPITAL LETTER U WITH DIAERESIS;Lu;0;L;0423 0308;;;;N;;;;04F1;
+04F1;CYRILLIC SMALL LETTER U WITH DIAERESIS;Ll;0;L;0443 0308;;;;N;;;04F0;;04F0
+04F2;CYRILLIC CAPITAL LETTER U WITH DOUBLE ACUTE;Lu;0;L;0423 030B;;;;N;;;;04F3;
+04F3;CYRILLIC SMALL LETTER U WITH DOUBLE ACUTE;Ll;0;L;0443 030B;;;;N;;;04F2;;04F2
+04F4;CYRILLIC CAPITAL LETTER CHE WITH DIAERESIS;Lu;0;L;0427 0308;;;;N;;;;04F5;
+04F5;CYRILLIC SMALL LETTER CHE WITH DIAERESIS;Ll;0;L;0447 0308;;;;N;;;04F4;;04F4
+04F6;CYRILLIC CAPITAL LETTER GHE WITH DESCENDER;Lu;0;L;;;;;N;;;;04F7;
+04F7;CYRILLIC SMALL LETTER GHE WITH DESCENDER;Ll;0;L;;;;;N;;;04F6;;04F6
+04F8;CYRILLIC CAPITAL LETTER YERU WITH DIAERESIS;Lu;0;L;042B 0308;;;;N;;;;04F9;
+04F9;CYRILLIC SMALL LETTER YERU WITH DIAERESIS;Ll;0;L;044B 0308;;;;N;;;04F8;;04F8
+0500;CYRILLIC CAPITAL LETTER KOMI DE;Lu;0;L;;;;;N;;;;0501;
+0501;CYRILLIC SMALL LETTER KOMI DE;Ll;0;L;;;;;N;;;0500;;0500
+0502;CYRILLIC CAPITAL LETTER KOMI DJE;Lu;0;L;;;;;N;;;;0503;
+0503;CYRILLIC SMALL LETTER KOMI DJE;Ll;0;L;;;;;N;;;0502;;0502
+0504;CYRILLIC CAPITAL LETTER KOMI ZJE;Lu;0;L;;;;;N;;;;0505;
+0505;CYRILLIC SMALL LETTER KOMI ZJE;Ll;0;L;;;;;N;;;0504;;0504
+0506;CYRILLIC CAPITAL LETTER KOMI DZJE;Lu;0;L;;;;;N;;;;0507;
+0507;CYRILLIC SMALL LETTER KOMI DZJE;Ll;0;L;;;;;N;;;0506;;0506
+0508;CYRILLIC CAPITAL LETTER KOMI LJE;Lu;0;L;;;;;N;;;;0509;
+0509;CYRILLIC SMALL LETTER KOMI LJE;Ll;0;L;;;;;N;;;0508;;0508
+050A;CYRILLIC CAPITAL LETTER KOMI NJE;Lu;0;L;;;;;N;;;;050B;
+050B;CYRILLIC SMALL LETTER KOMI NJE;Ll;0;L;;;;;N;;;050A;;050A
+050C;CYRILLIC CAPITAL LETTER KOMI SJE;Lu;0;L;;;;;N;;;;050D;
+050D;CYRILLIC SMALL LETTER KOMI SJE;Ll;0;L;;;;;N;;;050C;;050C
+050E;CYRILLIC CAPITAL LETTER KOMI TJE;Lu;0;L;;;;;N;;;;050F;
+050F;CYRILLIC SMALL LETTER KOMI TJE;Ll;0;L;;;;;N;;;050E;;050E
+0531;ARMENIAN CAPITAL LETTER AYB;Lu;0;L;;;;;N;;;;0561;
+0532;ARMENIAN CAPITAL LETTER BEN;Lu;0;L;;;;;N;;;;0562;
+0533;ARMENIAN CAPITAL LETTER GIM;Lu;0;L;;;;;N;;;;0563;
+0534;ARMENIAN CAPITAL LETTER DA;Lu;0;L;;;;;N;;;;0564;
+0535;ARMENIAN CAPITAL LETTER ECH;Lu;0;L;;;;;N;;;;0565;
+0536;ARMENIAN CAPITAL LETTER ZA;Lu;0;L;;;;;N;;;;0566;
+0537;ARMENIAN CAPITAL LETTER EH;Lu;0;L;;;;;N;;;;0567;
+0538;ARMENIAN CAPITAL LETTER ET;Lu;0;L;;;;;N;;;;0568;
+0539;ARMENIAN CAPITAL LETTER TO;Lu;0;L;;;;;N;;;;0569;
+053A;ARMENIAN CAPITAL LETTER ZHE;Lu;0;L;;;;;N;;;;056A;
+053B;ARMENIAN CAPITAL LETTER INI;Lu;0;L;;;;;N;;;;056B;
+053C;ARMENIAN CAPITAL LETTER LIWN;Lu;0;L;;;;;N;;;;056C;
+053D;ARMENIAN CAPITAL LETTER XEH;Lu;0;L;;;;;N;;;;056D;
+053E;ARMENIAN CAPITAL LETTER CA;Lu;0;L;;;;;N;;;;056E;
+053F;ARMENIAN CAPITAL LETTER KEN;Lu;0;L;;;;;N;;;;056F;
+0540;ARMENIAN CAPITAL LETTER HO;Lu;0;L;;;;;N;;;;0570;
+0541;ARMENIAN CAPITAL LETTER JA;Lu;0;L;;;;;N;;;;0571;
+0542;ARMENIAN CAPITAL LETTER GHAD;Lu;0;L;;;;;N;ARMENIAN CAPITAL LETTER LAD;;;0572;
+0543;ARMENIAN CAPITAL LETTER CHEH;Lu;0;L;;;;;N;;;;0573;
+0544;ARMENIAN CAPITAL LETTER MEN;Lu;0;L;;;;;N;;;;0574;
+0545;ARMENIAN CAPITAL LETTER YI;Lu;0;L;;;;;N;;;;0575;
+0546;ARMENIAN CAPITAL LETTER NOW;Lu;0;L;;;;;N;;;;0576;
+0547;ARMENIAN CAPITAL LETTER SHA;Lu;0;L;;;;;N;;;;0577;
+0548;ARMENIAN CAPITAL LETTER VO;Lu;0;L;;;;;N;;;;0578;
+0549;ARMENIAN CAPITAL LETTER CHA;Lu;0;L;;;;;N;;;;0579;
+054A;ARMENIAN CAPITAL LETTER PEH;Lu;0;L;;;;;N;;;;057A;
+054B;ARMENIAN CAPITAL LETTER JHEH;Lu;0;L;;;;;N;;;;057B;
+054C;ARMENIAN CAPITAL LETTER RA;Lu;0;L;;;;;N;;;;057C;
+054D;ARMENIAN CAPITAL LETTER SEH;Lu;0;L;;;;;N;;;;057D;
+054E;ARMENIAN CAPITAL LETTER VEW;Lu;0;L;;;;;N;;;;057E;
+054F;ARMENIAN CAPITAL LETTER TIWN;Lu;0;L;;;;;N;;;;057F;
+0550;ARMENIAN CAPITAL LETTER REH;Lu;0;L;;;;;N;;;;0580;
+0551;ARMENIAN CAPITAL LETTER CO;Lu;0;L;;;;;N;;;;0581;
+0552;ARMENIAN CAPITAL LETTER YIWN;Lu;0;L;;;;;N;;;;0582;
+0553;ARMENIAN CAPITAL LETTER PIWR;Lu;0;L;;;;;N;;;;0583;
+0554;ARMENIAN CAPITAL LETTER KEH;Lu;0;L;;;;;N;;;;0584;
+0555;ARMENIAN CAPITAL LETTER OH;Lu;0;L;;;;;N;;;;0585;
+0556;ARMENIAN CAPITAL LETTER FEH;Lu;0;L;;;;;N;;;;0586;
+0559;ARMENIAN MODIFIER LETTER LEFT HALF RING;Lm;0;L;;;;;N;;;;;
+055A;ARMENIAN APOSTROPHE;Po;0;L;;;;;N;ARMENIAN MODIFIER LETTER RIGHT HALF RING;;;;
+055B;ARMENIAN EMPHASIS MARK;Po;0;L;;;;;N;;;;;
+055C;ARMENIAN EXCLAMATION MARK;Po;0;L;;;;;N;;;;;
+055D;ARMENIAN COMMA;Po;0;L;;;;;N;;;;;
+055E;ARMENIAN QUESTION MARK;Po;0;L;;;;;N;;;;;
+055F;ARMENIAN ABBREVIATION MARK;Po;0;L;;;;;N;;;;;
+0561;ARMENIAN SMALL LETTER AYB;Ll;0;L;;;;;N;;;0531;;0531
+0562;ARMENIAN SMALL LETTER BEN;Ll;0;L;;;;;N;;;0532;;0532
+0563;ARMENIAN SMALL LETTER GIM;Ll;0;L;;;;;N;;;0533;;0533
+0564;ARMENIAN SMALL LETTER DA;Ll;0;L;;;;;N;;;0534;;0534
+0565;ARMENIAN SMALL LETTER ECH;Ll;0;L;;;;;N;;;0535;;0535
+0566;ARMENIAN SMALL LETTER ZA;Ll;0;L;;;;;N;;;0536;;0536
+0567;ARMENIAN SMALL LETTER EH;Ll;0;L;;;;;N;;;0537;;0537
+0568;ARMENIAN SMALL LETTER ET;Ll;0;L;;;;;N;;;0538;;0538
+0569;ARMENIAN SMALL LETTER TO;Ll;0;L;;;;;N;;;0539;;0539
+056A;ARMENIAN SMALL LETTER ZHE;Ll;0;L;;;;;N;;;053A;;053A
+056B;ARMENIAN SMALL LETTER INI;Ll;0;L;;;;;N;;;053B;;053B
+056C;ARMENIAN SMALL LETTER LIWN;Ll;0;L;;;;;N;;;053C;;053C
+056D;ARMENIAN SMALL LETTER XEH;Ll;0;L;;;;;N;;;053D;;053D
+056E;ARMENIAN SMALL LETTER CA;Ll;0;L;;;;;N;;;053E;;053E
+056F;ARMENIAN SMALL LETTER KEN;Ll;0;L;;;;;N;;;053F;;053F
+0570;ARMENIAN SMALL LETTER HO;Ll;0;L;;;;;N;;;0540;;0540
+0571;ARMENIAN SMALL LETTER JA;Ll;0;L;;;;;N;;;0541;;0541
+0572;ARMENIAN SMALL LETTER GHAD;Ll;0;L;;;;;N;ARMENIAN SMALL LETTER LAD;;0542;;0542
+0573;ARMENIAN SMALL LETTER CHEH;Ll;0;L;;;;;N;;;0543;;0543
+0574;ARMENIAN SMALL LETTER MEN;Ll;0;L;;;;;N;;;0544;;0544
+0575;ARMENIAN SMALL LETTER YI;Ll;0;L;;;;;N;;;0545;;0545
+0576;ARMENIAN SMALL LETTER NOW;Ll;0;L;;;;;N;;;0546;;0546
+0577;ARMENIAN SMALL LETTER SHA;Ll;0;L;;;;;N;;;0547;;0547
+0578;ARMENIAN SMALL LETTER VO;Ll;0;L;;;;;N;;;0548;;0548
+0579;ARMENIAN SMALL LETTER CHA;Ll;0;L;;;;;N;;;0549;;0549
+057A;ARMENIAN SMALL LETTER PEH;Ll;0;L;;;;;N;;;054A;;054A
+057B;ARMENIAN SMALL LETTER JHEH;Ll;0;L;;;;;N;;;054B;;054B
+057C;ARMENIAN SMALL LETTER RA;Ll;0;L;;;;;N;;;054C;;054C
+057D;ARMENIAN SMALL LETTER SEH;Ll;0;L;;;;;N;;;054D;;054D
+057E;ARMENIAN SMALL LETTER VEW;Ll;0;L;;;;;N;;;054E;;054E
+057F;ARMENIAN SMALL LETTER TIWN;Ll;0;L;;;;;N;;;054F;;054F
+0580;ARMENIAN SMALL LETTER REH;Ll;0;L;;;;;N;;;0550;;0550
+0581;ARMENIAN SMALL LETTER CO;Ll;0;L;;;;;N;;;0551;;0551
+0582;ARMENIAN SMALL LETTER YIWN;Ll;0;L;;;;;N;;;0552;;0552
+0583;ARMENIAN SMALL LETTER PIWR;Ll;0;L;;;;;N;;;0553;;0553
+0584;ARMENIAN SMALL LETTER KEH;Ll;0;L;;;;;N;;;0554;;0554
+0585;ARMENIAN SMALL LETTER OH;Ll;0;L;;;;;N;;;0555;;0555
+0586;ARMENIAN SMALL LETTER FEH;Ll;0;L;;;;;N;;;0556;;0556
+0587;ARMENIAN SMALL LIGATURE ECH YIWN;Ll;0;L;<compat> 0565 0582;;;;N;;;;;
+0589;ARMENIAN FULL STOP;Po;0;L;;;;;N;ARMENIAN PERIOD;;;;
+058A;ARMENIAN HYPHEN;Pd;0;ON;;;;;N;;;;;
+0591;HEBREW ACCENT ETNAHTA;Mn;220;NSM;;;;;N;;;;;
+0592;HEBREW ACCENT SEGOL;Mn;230;NSM;;;;;N;;;;;
+0593;HEBREW ACCENT SHALSHELET;Mn;230;NSM;;;;;N;;;;;
+0594;HEBREW ACCENT ZAQEF QATAN;Mn;230;NSM;;;;;N;;;;;
+0595;HEBREW ACCENT ZAQEF GADOL;Mn;230;NSM;;;;;N;;;;;
+0596;HEBREW ACCENT TIPEHA;Mn;220;NSM;;;;;N;;*;;;
+0597;HEBREW ACCENT REVIA;Mn;230;NSM;;;;;N;;;;;
+0598;HEBREW ACCENT ZARQA;Mn;230;NSM;;;;;N;;*;;;
+0599;HEBREW ACCENT PASHTA;Mn;230;NSM;;;;;N;;;;;
+059A;HEBREW ACCENT YETIV;Mn;222;NSM;;;;;N;;;;;
+059B;HEBREW ACCENT TEVIR;Mn;220;NSM;;;;;N;;;;;
+059C;HEBREW ACCENT GERESH;Mn;230;NSM;;;;;N;;;;;
+059D;HEBREW ACCENT GERESH MUQDAM;Mn;230;NSM;;;;;N;;;;;
+059E;HEBREW ACCENT GERSHAYIM;Mn;230;NSM;;;;;N;;;;;
+059F;HEBREW ACCENT QARNEY PARA;Mn;230;NSM;;;;;N;;;;;
+05A0;HEBREW ACCENT TELISHA GEDOLA;Mn;230;NSM;;;;;N;;;;;
+05A1;HEBREW ACCENT PAZER;Mn;230;NSM;;;;;N;;;;;
+05A2;HEBREW ACCENT ATNAH HAFUKH;Mn;220;NSM;;;;;N;;;;;
+05A3;HEBREW ACCENT MUNAH;Mn;220;NSM;;;;;N;;;;;
+05A4;HEBREW ACCENT MAHAPAKH;Mn;220;NSM;;;;;N;;;;;
+05A5;HEBREW ACCENT MERKHA;Mn;220;NSM;;;;;N;;*;;;
+05A6;HEBREW ACCENT MERKHA KEFULA;Mn;220;NSM;;;;;N;;;;;
+05A7;HEBREW ACCENT DARGA;Mn;220;NSM;;;;;N;;;;;
+05A8;HEBREW ACCENT QADMA;Mn;230;NSM;;;;;N;;*;;;
+05A9;HEBREW ACCENT TELISHA QETANA;Mn;230;NSM;;;;;N;;;;;
+05AA;HEBREW ACCENT YERAH BEN YOMO;Mn;220;NSM;;;;;N;;*;;;
+05AB;HEBREW ACCENT OLE;Mn;230;NSM;;;;;N;;;;;
+05AC;HEBREW ACCENT ILUY;Mn;230;NSM;;;;;N;;;;;
+05AD;HEBREW ACCENT DEHI;Mn;222;NSM;;;;;N;;;;;
+05AE;HEBREW ACCENT ZINOR;Mn;228;NSM;;;;;N;;;;;
+05AF;HEBREW MARK MASORA CIRCLE;Mn;230;NSM;;;;;N;;;;;
+05B0;HEBREW POINT SHEVA;Mn;10;NSM;;;;;N;;;;;
+05B1;HEBREW POINT HATAF SEGOL;Mn;11;NSM;;;;;N;;;;;
+05B2;HEBREW POINT HATAF PATAH;Mn;12;NSM;;;;;N;;;;;
+05B3;HEBREW POINT HATAF QAMATS;Mn;13;NSM;;;;;N;;;;;
+05B4;HEBREW POINT HIRIQ;Mn;14;NSM;;;;;N;;;;;
+05B5;HEBREW POINT TSERE;Mn;15;NSM;;;;;N;;;;;
+05B6;HEBREW POINT SEGOL;Mn;16;NSM;;;;;N;;;;;
+05B7;HEBREW POINT PATAH;Mn;17;NSM;;;;;N;;;;;
+05B8;HEBREW POINT QAMATS;Mn;18;NSM;;;;;N;;;;;
+05B9;HEBREW POINT HOLAM;Mn;19;NSM;;;;;N;;;;;
+05BB;HEBREW POINT QUBUTS;Mn;20;NSM;;;;;N;;;;;
+05BC;HEBREW POINT DAGESH OR MAPIQ;Mn;21;NSM;;;;;N;HEBREW POINT DAGESH;or shuruq;;;
+05BD;HEBREW POINT METEG;Mn;22;NSM;;;;;N;;*;;;
+05BE;HEBREW PUNCTUATION MAQAF;Po;0;R;;;;;N;;;;;
+05BF;HEBREW POINT RAFE;Mn;23;NSM;;;;;N;;;;;
+05C0;HEBREW PUNCTUATION PASEQ;Po;0;R;;;;;N;HEBREW POINT PASEQ;*;;;
+05C1;HEBREW POINT SHIN DOT;Mn;24;NSM;;;;;N;;;;;
+05C2;HEBREW POINT SIN DOT;Mn;25;NSM;;;;;N;;;;;
+05C3;HEBREW PUNCTUATION SOF PASUQ;Po;0;R;;;;;N;;*;;;
+05C4;HEBREW MARK UPPER DOT;Mn;230;NSM;;;;;N;;;;;
+05C5;HEBREW MARK LOWER DOT;Mn;220;NSM;;;;;N;;;;;
+05C6;HEBREW PUNCTUATION NUN HAFUKHA;Po;0;R;;;;;N;;;;;
+05C7;HEBREW POINT QAMATS QATAN;Mn;18;NSM;;;;;N;;;;;
+05D0;HEBREW LETTER ALEF;Lo;0;R;;;;;N;;;;;
+05D1;HEBREW LETTER BET;Lo;0;R;;;;;N;;;;;
+05D2;HEBREW LETTER GIMEL;Lo;0;R;;;;;N;;;;;
+05D3;HEBREW LETTER DALET;Lo;0;R;;;;;N;;;;;
+05D4;HEBREW LETTER HE;Lo;0;R;;;;;N;;;;;
+05D5;HEBREW LETTER VAV;Lo;0;R;;;;;N;;;;;
+05D6;HEBREW LETTER ZAYIN;Lo;0;R;;;;;N;;;;;
+05D7;HEBREW LETTER HET;Lo;0;R;;;;;N;;;;;
+05D8;HEBREW LETTER TET;Lo;0;R;;;;;N;;;;;
+05D9;HEBREW LETTER YOD;Lo;0;R;;;;;N;;;;;
+05DA;HEBREW LETTER FINAL KAF;Lo;0;R;;;;;N;;;;;
+05DB;HEBREW LETTER KAF;Lo;0;R;;;;;N;;;;;
+05DC;HEBREW LETTER LAMED;Lo;0;R;;;;;N;;;;;
+05DD;HEBREW LETTER FINAL MEM;Lo;0;R;;;;;N;;;;;
+05DE;HEBREW LETTER MEM;Lo;0;R;;;;;N;;;;;
+05DF;HEBREW LETTER FINAL NUN;Lo;0;R;;;;;N;;;;;
+05E0;HEBREW LETTER NUN;Lo;0;R;;;;;N;;;;;
+05E1;HEBREW LETTER SAMEKH;Lo;0;R;;;;;N;;;;;
+05E2;HEBREW LETTER AYIN;Lo;0;R;;;;;N;;;;;
+05E3;HEBREW LETTER FINAL PE;Lo;0;R;;;;;N;;;;;
+05E4;HEBREW LETTER PE;Lo;0;R;;;;;N;;;;;
+05E5;HEBREW LETTER FINAL TSADI;Lo;0;R;;;;;N;;;;;
+05E6;HEBREW LETTER TSADI;Lo;0;R;;;;;N;;;;;
+05E7;HEBREW LETTER QOF;Lo;0;R;;;;;N;;;;;
+05E8;HEBREW LETTER RESH;Lo;0;R;;;;;N;;;;;
+05E9;HEBREW LETTER SHIN;Lo;0;R;;;;;N;;;;;
+05EA;HEBREW LETTER TAV;Lo;0;R;;;;;N;;;;;
+05F0;HEBREW LIGATURE YIDDISH DOUBLE VAV;Lo;0;R;;;;;N;HEBREW LETTER DOUBLE VAV;;;;
+05F1;HEBREW LIGATURE YIDDISH VAV YOD;Lo;0;R;;;;;N;HEBREW LETTER VAV YOD;;;;
+05F2;HEBREW LIGATURE YIDDISH DOUBLE YOD;Lo;0;R;;;;;N;HEBREW LETTER DOUBLE YOD;;;;
+05F3;HEBREW PUNCTUATION GERESH;Po;0;R;;;;;N;;;;;
+05F4;HEBREW PUNCTUATION GERSHAYIM;Po;0;R;;;;;N;;;;;
+0600;ARABIC NUMBER SIGN;Cf;0;AL;;;;;N;;;;;
+0601;ARABIC SIGN SANAH;Cf;0;AL;;;;;N;;;;;
+0602;ARABIC FOOTNOTE MARKER;Cf;0;AL;;;;;N;;;;;
+0603;ARABIC SIGN SAFHA;Cf;0;AL;;;;;N;;;;;
+060B;AFGHANI SIGN;Sc;0;AL;;;;;N;;;;;
+060C;ARABIC COMMA;Po;0;CS;;;;;N;;;;;
+060D;ARABIC DATE SEPARATOR;Po;0;AL;;;;;N;;;;;
+060E;ARABIC POETIC VERSE SIGN;So;0;ON;;;;;N;;;;;
+060F;ARABIC SIGN MISRA;So;0;ON;;;;;N;;;;;
+0610;ARABIC SIGN SALLALLAHOU ALAYHE WASSALLAM;Mn;230;NSM;;;;;N;;;;;
+0611;ARABIC SIGN ALAYHE ASSALLAM;Mn;230;NSM;;;;;N;;;;;
+0612;ARABIC SIGN RAHMATULLAH ALAYHE;Mn;230;NSM;;;;;N;;;;;
+0613;ARABIC SIGN RADI ALLAHOU ANHU;Mn;230;NSM;;;;;N;;;;;
+0614;ARABIC SIGN TAKHALLUS;Mn;230;NSM;;;;;N;;;;;
+0615;ARABIC SMALL HIGH TAH;Mn;230;NSM;;;;;N;;;;;
+061B;ARABIC SEMICOLON;Po;0;AL;;;;;N;;;;;
+061E;ARABIC TRIPLE DOT PUNCTUATION MARK;Po;0;AL;;;;;N;;;;;
+061F;ARABIC QUESTION MARK;Po;0;AL;;;;;N;;;;;
+0621;ARABIC LETTER HAMZA;Lo;0;AL;;;;;N;ARABIC LETTER HAMZAH;;;;
+0622;ARABIC LETTER ALEF WITH MADDA ABOVE;Lo;0;AL;0627 0653;;;;N;ARABIC LETTER MADDAH ON ALEF;;;;
+0623;ARABIC LETTER ALEF WITH HAMZA ABOVE;Lo;0;AL;0627 0654;;;;N;ARABIC LETTER HAMZAH ON ALEF;;;;
+0624;ARABIC LETTER WAW WITH HAMZA ABOVE;Lo;0;AL;0648 0654;;;;N;ARABIC LETTER HAMZAH ON WAW;;;;
+0625;ARABIC LETTER ALEF WITH HAMZA BELOW;Lo;0;AL;0627 0655;;;;N;ARABIC LETTER HAMZAH UNDER ALEF;;;;
+0626;ARABIC LETTER YEH WITH HAMZA ABOVE;Lo;0;AL;064A 0654;;;;N;ARABIC LETTER HAMZAH ON YA;;;;
+0627;ARABIC LETTER ALEF;Lo;0;AL;;;;;N;;;;;
+0628;ARABIC LETTER BEH;Lo;0;AL;;;;;N;ARABIC LETTER BAA;;;;
+0629;ARABIC LETTER TEH MARBUTA;Lo;0;AL;;;;;N;ARABIC LETTER TAA MARBUTAH;;;;
+062A;ARABIC LETTER TEH;Lo;0;AL;;;;;N;ARABIC LETTER TAA;;;;
+062B;ARABIC LETTER THEH;Lo;0;AL;;;;;N;ARABIC LETTER THAA;;;;
+062C;ARABIC LETTER JEEM;Lo;0;AL;;;;;N;;;;;
+062D;ARABIC LETTER HAH;Lo;0;AL;;;;;N;ARABIC LETTER HAA;;;;
+062E;ARABIC LETTER KHAH;Lo;0;AL;;;;;N;ARABIC LETTER KHAA;;;;
+062F;ARABIC LETTER DAL;Lo;0;AL;;;;;N;;;;;
+0630;ARABIC LETTER THAL;Lo;0;AL;;;;;N;;;;;
+0631;ARABIC LETTER REH;Lo;0;AL;;;;;N;ARABIC LETTER RA;;;;
+0632;ARABIC LETTER ZAIN;Lo;0;AL;;;;;N;;;;;
+0633;ARABIC LETTER SEEN;Lo;0;AL;;;;;N;;;;;
+0634;ARABIC LETTER SHEEN;Lo;0;AL;;;;;N;;;;;
+0635;ARABIC LETTER SAD;Lo;0;AL;;;;;N;;;;;
+0636;ARABIC LETTER DAD;Lo;0;AL;;;;;N;;;;;
+0637;ARABIC LETTER TAH;Lo;0;AL;;;;;N;;;;;
+0638;ARABIC LETTER ZAH;Lo;0;AL;;;;;N;ARABIC LETTER DHAH;;;;
+0639;ARABIC LETTER AIN;Lo;0;AL;;;;;N;;;;;
+063A;ARABIC LETTER GHAIN;Lo;0;AL;;;;;N;;;;;
+0640;ARABIC TATWEEL;Lm;0;AL;;;;;N;;;;;
+0641;ARABIC LETTER FEH;Lo;0;AL;;;;;N;ARABIC LETTER FA;;;;
+0642;ARABIC LETTER QAF;Lo;0;AL;;;;;N;;;;;
+0643;ARABIC LETTER KAF;Lo;0;AL;;;;;N;ARABIC LETTER CAF;;;;
+0644;ARABIC LETTER LAM;Lo;0;AL;;;;;N;;;;;
+0645;ARABIC LETTER MEEM;Lo;0;AL;;;;;N;;;;;
+0646;ARABIC LETTER NOON;Lo;0;AL;;;;;N;;;;;
+0647;ARABIC LETTER HEH;Lo;0;AL;;;;;N;ARABIC LETTER HA;;;;
+0648;ARABIC LETTER WAW;Lo;0;AL;;;;;N;;;;;
+0649;ARABIC LETTER ALEF MAKSURA;Lo;0;AL;;;;;N;ARABIC LETTER ALEF MAQSURAH;;;;
+064A;ARABIC LETTER YEH;Lo;0;AL;;;;;N;ARABIC LETTER YA;;;;
+064B;ARABIC FATHATAN;Mn;27;NSM;;;;;N;;;;;
+064C;ARABIC DAMMATAN;Mn;28;NSM;;;;;N;;;;;
+064D;ARABIC KASRATAN;Mn;29;NSM;;;;;N;;;;;
+064E;ARABIC FATHA;Mn;30;NSM;;;;;N;ARABIC FATHAH;;;;
+064F;ARABIC DAMMA;Mn;31;NSM;;;;;N;ARABIC DAMMAH;;;;
+0650;ARABIC KASRA;Mn;32;NSM;;;;;N;ARABIC KASRAH;;;;
+0651;ARABIC SHADDA;Mn;33;NSM;;;;;N;ARABIC SHADDAH;;;;
+0652;ARABIC SUKUN;Mn;34;NSM;;;;;N;;;;;
+0653;ARABIC MADDAH ABOVE;Mn;230;NSM;;;;;N;;;;;
+0654;ARABIC HAMZA ABOVE;Mn;230;NSM;;;;;N;;;;;
+0655;ARABIC HAMZA BELOW;Mn;220;NSM;;;;;N;;;;;
+0656;ARABIC SUBSCRIPT ALEF;Mn;220;NSM;;;;;N;;;;;
+0657;ARABIC INVERTED DAMMA;Mn;230;NSM;;;;;N;;;;;
+0658;ARABIC MARK NOON GHUNNA;Mn;230;NSM;;;;;N;;;;;
+0659;ARABIC ZWARAKAY;Mn;230;NSM;;;;;N;;;;;
+065A;ARABIC VOWEL SIGN SMALL V ABOVE;Mn;230;NSM;;;;;N;;;;;
+065B;ARABIC VOWEL SIGN INVERTED SMALL V ABOVE;Mn;230;NSM;;;;;N;;;;;
+065C;ARABIC VOWEL SIGN DOT BELOW;Mn;220;NSM;;;;;N;;;;;
+065D;ARABIC REVERSED DAMMA;Mn;230;NSM;;;;;N;;;;;
+065E;ARABIC FATHA WITH TWO DOTS;Mn;230;NSM;;;;;N;;;;;
+0660;ARABIC-INDIC DIGIT ZERO;Nd;0;AN;;0;0;0;N;;;;;
+0661;ARABIC-INDIC DIGIT ONE;Nd;0;AN;;1;1;1;N;;;;;
+0662;ARABIC-INDIC DIGIT TWO;Nd;0;AN;;2;2;2;N;;;;;
+0663;ARABIC-INDIC DIGIT THREE;Nd;0;AN;;3;3;3;N;;;;;
+0664;ARABIC-INDIC DIGIT FOUR;Nd;0;AN;;4;4;4;N;;;;;
+0665;ARABIC-INDIC DIGIT FIVE;Nd;0;AN;;5;5;5;N;;;;;
+0666;ARABIC-INDIC DIGIT SIX;Nd;0;AN;;6;6;6;N;;;;;
+0667;ARABIC-INDIC DIGIT SEVEN;Nd;0;AN;;7;7;7;N;;;;;
+0668;ARABIC-INDIC DIGIT EIGHT;Nd;0;AN;;8;8;8;N;;;;;
+0669;ARABIC-INDIC DIGIT NINE;Nd;0;AN;;9;9;9;N;;;;;
+066A;ARABIC PERCENT SIGN;Po;0;ET;;;;;N;;;;;
+066B;ARABIC DECIMAL SEPARATOR;Po;0;AN;;;;;N;;;;;
+066C;ARABIC THOUSANDS SEPARATOR;Po;0;AN;;;;;N;;;;;
+066D;ARABIC FIVE POINTED STAR;Po;0;AL;;;;;N;;;;;
+066E;ARABIC LETTER DOTLESS BEH;Lo;0;AL;;;;;N;;;;;
+066F;ARABIC LETTER DOTLESS QAF;Lo;0;AL;;;;;N;;;;;
+0670;ARABIC LETTER SUPERSCRIPT ALEF;Mn;35;NSM;;;;;N;ARABIC ALEF ABOVE;;;;
+0671;ARABIC LETTER ALEF WASLA;Lo;0;AL;;;;;N;ARABIC LETTER HAMZAT WASL ON ALEF;;;;
+0672;ARABIC LETTER ALEF WITH WAVY HAMZA ABOVE;Lo;0;AL;;;;;N;ARABIC LETTER WAVY HAMZAH ON ALEF;;;;
+0673;ARABIC LETTER ALEF WITH WAVY HAMZA BELOW;Lo;0;AL;;;;;N;ARABIC LETTER WAVY HAMZAH UNDER ALEF;;;;
+0674;ARABIC LETTER HIGH HAMZA;Lo;0;AL;;;;;N;ARABIC LETTER HIGH HAMZAH;;;;
+0675;ARABIC LETTER HIGH HAMZA ALEF;Lo;0;AL;<compat> 0627 0674;;;;N;ARABIC LETTER HIGH HAMZAH ALEF;;;;
+0676;ARABIC LETTER HIGH HAMZA WAW;Lo;0;AL;<compat> 0648 0674;;;;N;ARABIC LETTER HIGH HAMZAH WAW;;;;
+0677;ARABIC LETTER U WITH HAMZA ABOVE;Lo;0;AL;<compat> 06C7 0674;;;;N;ARABIC LETTER HIGH HAMZAH WAW WITH DAMMAH;;;;
+0678;ARABIC LETTER HIGH HAMZA YEH;Lo;0;AL;<compat> 064A 0674;;;;N;ARABIC LETTER HIGH HAMZAH YA;;;;
+0679;ARABIC LETTER TTEH;Lo;0;AL;;;;;N;ARABIC LETTER TAA WITH SMALL TAH;;;;
+067A;ARABIC LETTER TTEHEH;Lo;0;AL;;;;;N;ARABIC LETTER TAA WITH TWO DOTS VERTICAL ABOVE;;;;
+067B;ARABIC LETTER BEEH;Lo;0;AL;;;;;N;ARABIC LETTER BAA WITH TWO DOTS VERTICAL BELOW;;;;
+067C;ARABIC LETTER TEH WITH RING;Lo;0;AL;;;;;N;ARABIC LETTER TAA WITH RING;;;;
+067D;ARABIC LETTER TEH WITH THREE DOTS ABOVE DOWNWARDS;Lo;0;AL;;;;;N;ARABIC LETTER TAA WITH THREE DOTS ABOVE DOWNWARD;;;;
+067E;ARABIC LETTER PEH;Lo;0;AL;;;;;N;ARABIC LETTER TAA WITH THREE DOTS BELOW;;;;
+067F;ARABIC LETTER TEHEH;Lo;0;AL;;;;;N;ARABIC LETTER TAA WITH FOUR DOTS ABOVE;;;;
+0680;ARABIC LETTER BEHEH;Lo;0;AL;;;;;N;ARABIC LETTER BAA WITH FOUR DOTS BELOW;;;;
+0681;ARABIC LETTER HAH WITH HAMZA ABOVE;Lo;0;AL;;;;;N;ARABIC LETTER HAMZAH ON HAA;;;;
+0682;ARABIC LETTER HAH WITH TWO DOTS VERTICAL ABOVE;Lo;0;AL;;;;;N;ARABIC LETTER HAA WITH TWO DOTS VERTICAL ABOVE;;;;
+0683;ARABIC LETTER NYEH;Lo;0;AL;;;;;N;ARABIC LETTER HAA WITH MIDDLE TWO DOTS;;;;
+0684;ARABIC LETTER DYEH;Lo;0;AL;;;;;N;ARABIC LETTER HAA WITH MIDDLE TWO DOTS VERTICAL;;;;
+0685;ARABIC LETTER HAH WITH THREE DOTS ABOVE;Lo;0;AL;;;;;N;ARABIC LETTER HAA WITH THREE DOTS ABOVE;;;;
+0686;ARABIC LETTER TCHEH;Lo;0;AL;;;;;N;ARABIC LETTER HAA WITH MIDDLE THREE DOTS DOWNWARD;;;;
+0687;ARABIC LETTER TCHEHEH;Lo;0;AL;;;;;N;ARABIC LETTER HAA WITH MIDDLE FOUR DOTS;;;;
+0688;ARABIC LETTER DDAL;Lo;0;AL;;;;;N;ARABIC LETTER DAL WITH SMALL TAH;;;;
+0689;ARABIC LETTER DAL WITH RING;Lo;0;AL;;;;;N;;;;;
+068A;ARABIC LETTER DAL WITH DOT BELOW;Lo;0;AL;;;;;N;;;;;
+068B;ARABIC LETTER DAL WITH DOT BELOW AND SMALL TAH;Lo;0;AL;;;;;N;;;;;
+068C;ARABIC LETTER DAHAL;Lo;0;AL;;;;;N;ARABIC LETTER DAL WITH TWO DOTS ABOVE;;;;
+068D;ARABIC LETTER DDAHAL;Lo;0;AL;;;;;N;ARABIC LETTER DAL WITH TWO DOTS BELOW;;;;
+068E;ARABIC LETTER DUL;Lo;0;AL;;;;;N;ARABIC LETTER DAL WITH THREE DOTS ABOVE;;;;
+068F;ARABIC LETTER DAL WITH THREE DOTS ABOVE DOWNWARDS;Lo;0;AL;;;;;N;ARABIC LETTER DAL WITH THREE DOTS ABOVE DOWNWARD;;;;
+0690;ARABIC LETTER DAL WITH FOUR DOTS ABOVE;Lo;0;AL;;;;;N;;;;;
+0691;ARABIC LETTER RREH;Lo;0;AL;;;;;N;ARABIC LETTER RA WITH SMALL TAH;;;;
+0692;ARABIC LETTER REH WITH SMALL V;Lo;0;AL;;;;;N;ARABIC LETTER RA WITH SMALL V;;;;
+0693;ARABIC LETTER REH WITH RING;Lo;0;AL;;;;;N;ARABIC LETTER RA WITH RING;;;;
+0694;ARABIC LETTER REH WITH DOT BELOW;Lo;0;AL;;;;;N;ARABIC LETTER RA WITH DOT BELOW;;;;
+0695;ARABIC LETTER REH WITH SMALL V BELOW;Lo;0;AL;;;;;N;ARABIC LETTER RA WITH SMALL V BELOW;;;;
+0696;ARABIC LETTER REH WITH DOT BELOW AND DOT ABOVE;Lo;0;AL;;;;;N;ARABIC LETTER RA WITH DOT BELOW AND DOT ABOVE;;;;
+0697;ARABIC LETTER REH WITH TWO DOTS ABOVE;Lo;0;AL;;;;;N;ARABIC LETTER RA WITH TWO DOTS ABOVE;;;;
+0698;ARABIC LETTER JEH;Lo;0;AL;;;;;N;ARABIC LETTER RA WITH THREE DOTS ABOVE;;;;
+0699;ARABIC LETTER REH WITH FOUR DOTS ABOVE;Lo;0;AL;;;;;N;ARABIC LETTER RA WITH FOUR DOTS ABOVE;;;;
+069A;ARABIC LETTER SEEN WITH DOT BELOW AND DOT ABOVE;Lo;0;AL;;;;;N;;;;;
+069B;ARABIC LETTER SEEN WITH THREE DOTS BELOW;Lo;0;AL;;;;;N;;;;;
+069C;ARABIC LETTER SEEN WITH THREE DOTS BELOW AND THREE DOTS ABOVE;Lo;0;AL;;;;;N;;;;;
+069D;ARABIC LETTER SAD WITH TWO DOTS BELOW;Lo;0;AL;;;;;N;;;;;
+069E;ARABIC LETTER SAD WITH THREE DOTS ABOVE;Lo;0;AL;;;;;N;;;;;
+069F;ARABIC LETTER TAH WITH THREE DOTS ABOVE;Lo;0;AL;;;;;N;;;;;
+06A0;ARABIC LETTER AIN WITH THREE DOTS ABOVE;Lo;0;AL;;;;;N;;;;;
+06A1;ARABIC LETTER DOTLESS FEH;Lo;0;AL;;;;;N;ARABIC LETTER DOTLESS FA;;;;
+06A2;ARABIC LETTER FEH WITH DOT MOVED BELOW;Lo;0;AL;;;;;N;ARABIC LETTER FA WITH DOT MOVED BELOW;;;;
+06A3;ARABIC LETTER FEH WITH DOT BELOW;Lo;0;AL;;;;;N;ARABIC LETTER FA WITH DOT BELOW;;;;
+06A4;ARABIC LETTER VEH;Lo;0;AL;;;;;N;ARABIC LETTER FA WITH THREE DOTS ABOVE;;;;
+06A5;ARABIC LETTER FEH WITH THREE DOTS BELOW;Lo;0;AL;;;;;N;ARABIC LETTER FA WITH THREE DOTS BELOW;;;;
+06A6;ARABIC LETTER PEHEH;Lo;0;AL;;;;;N;ARABIC LETTER FA WITH FOUR DOTS ABOVE;;;;
+06A7;ARABIC LETTER QAF WITH DOT ABOVE;Lo;0;AL;;;;;N;;;;;
+06A8;ARABIC LETTER QAF WITH THREE DOTS ABOVE;Lo;0;AL;;;;;N;;;;;
+06A9;ARABIC LETTER KEHEH;Lo;0;AL;;;;;N;ARABIC LETTER OPEN CAF;;;;
+06AA;ARABIC LETTER SWASH KAF;Lo;0;AL;;;;;N;ARABIC LETTER SWASH CAF;;;;
+06AB;ARABIC LETTER KAF WITH RING;Lo;0;AL;;;;;N;ARABIC LETTER CAF WITH RING;;;;
+06AC;ARABIC LETTER KAF WITH DOT ABOVE;Lo;0;AL;;;;;N;ARABIC LETTER CAF WITH DOT ABOVE;;;;
+06AD;ARABIC LETTER NG;Lo;0;AL;;;;;N;ARABIC LETTER CAF WITH THREE DOTS ABOVE;;;;
+06AE;ARABIC LETTER KAF WITH THREE DOTS BELOW;Lo;0;AL;;;;;N;ARABIC LETTER CAF WITH THREE DOTS BELOW;;;;
+06AF;ARABIC LETTER GAF;Lo;0;AL;;;;;N;;*;;;
+06B0;ARABIC LETTER GAF WITH RING;Lo;0;AL;;;;;N;;;;;
+06B1;ARABIC LETTER NGOEH;Lo;0;AL;;;;;N;ARABIC LETTER GAF WITH TWO DOTS ABOVE;;;;
+06B2;ARABIC LETTER GAF WITH TWO DOTS BELOW;Lo;0;AL;;;;;N;;;;;
+06B3;ARABIC LETTER GUEH;Lo;0;AL;;;;;N;ARABIC LETTER GAF WITH TWO DOTS VERTICAL BELOW;;;;
+06B4;ARABIC LETTER GAF WITH THREE DOTS ABOVE;Lo;0;AL;;;;;N;;;;;
+06B5;ARABIC LETTER LAM WITH SMALL V;Lo;0;AL;;;;;N;;;;;
+06B6;ARABIC LETTER LAM WITH DOT ABOVE;Lo;0;AL;;;;;N;;;;;
+06B7;ARABIC LETTER LAM WITH THREE DOTS ABOVE;Lo;0;AL;;;;;N;;;;;
+06B8;ARABIC LETTER LAM WITH THREE DOTS BELOW;Lo;0;AL;;;;;N;;;;;
+06B9;ARABIC LETTER NOON WITH DOT BELOW;Lo;0;AL;;;;;N;;;;;
+06BA;ARABIC LETTER NOON GHUNNA;Lo;0;AL;;;;;N;ARABIC LETTER DOTLESS NOON;;;;
+06BB;ARABIC LETTER RNOON;Lo;0;AL;;;;;N;ARABIC LETTER DOTLESS NOON WITH SMALL TAH;;;;
+06BC;ARABIC LETTER NOON WITH RING;Lo;0;AL;;;;;N;;;;;
+06BD;ARABIC LETTER NOON WITH THREE DOTS ABOVE;Lo;0;AL;;;;;N;;;;;
+06BE;ARABIC LETTER HEH DOACHASHMEE;Lo;0;AL;;;;;N;ARABIC LETTER KNOTTED HA;;;;
+06BF;ARABIC LETTER TCHEH WITH DOT ABOVE;Lo;0;AL;;;;;N;;;;;
+06C0;ARABIC LETTER HEH WITH YEH ABOVE;Lo;0;AL;06D5 0654;;;;N;ARABIC LETTER HAMZAH ON HA;;;;
+06C1;ARABIC LETTER HEH GOAL;Lo;0;AL;;;;;N;ARABIC LETTER HA GOAL;;;;
+06C2;ARABIC LETTER HEH GOAL WITH HAMZA ABOVE;Lo;0;AL;06C1 0654;;;;N;ARABIC LETTER HAMZAH ON HA GOAL;;;;
+06C3;ARABIC LETTER TEH MARBUTA GOAL;Lo;0;AL;;;;;N;ARABIC LETTER TAA MARBUTAH GOAL;;;;
+06C4;ARABIC LETTER WAW WITH RING;Lo;0;AL;;;;;N;;;;;
+06C5;ARABIC LETTER KIRGHIZ OE;Lo;0;AL;;;;;N;ARABIC LETTER WAW WITH BAR;;;;
+06C6;ARABIC LETTER OE;Lo;0;AL;;;;;N;ARABIC LETTER WAW WITH SMALL V;;;;
+06C7;ARABIC LETTER U;Lo;0;AL;;;;;N;ARABIC LETTER WAW WITH DAMMAH;;;;
+06C8;ARABIC LETTER YU;Lo;0;AL;;;;;N;ARABIC LETTER WAW WITH ALEF ABOVE;;;;
+06C9;ARABIC LETTER KIRGHIZ YU;Lo;0;AL;;;;;N;ARABIC LETTER WAW WITH INVERTED SMALL V;;;;
+06CA;ARABIC LETTER WAW WITH TWO DOTS ABOVE;Lo;0;AL;;;;;N;;;;;
+06CB;ARABIC LETTER VE;Lo;0;AL;;;;;N;ARABIC LETTER WAW WITH THREE DOTS ABOVE;;;;
+06CC;ARABIC LETTER FARSI YEH;Lo;0;AL;;;;;N;ARABIC LETTER DOTLESS YA;;;;
+06CD;ARABIC LETTER YEH WITH TAIL;Lo;0;AL;;;;;N;ARABIC LETTER YA WITH TAIL;;;;
+06CE;ARABIC LETTER YEH WITH SMALL V;Lo;0;AL;;;;;N;ARABIC LETTER YA WITH SMALL V;;;;
+06CF;ARABIC LETTER WAW WITH DOT ABOVE;Lo;0;AL;;;;;N;;;;;
+06D0;ARABIC LETTER E;Lo;0;AL;;;;;N;ARABIC LETTER YA WITH TWO DOTS VERTICAL BELOW;*;;;
+06D1;ARABIC LETTER YEH WITH THREE DOTS BELOW;Lo;0;AL;;;;;N;ARABIC LETTER YA WITH THREE DOTS BELOW;;;;
+06D2;ARABIC LETTER YEH BARREE;Lo;0;AL;;;;;N;ARABIC LETTER YA BARREE;;;;
+06D3;ARABIC LETTER YEH BARREE WITH HAMZA ABOVE;Lo;0;AL;06D2 0654;;;;N;ARABIC LETTER HAMZAH ON YA BARREE;;;;
+06D4;ARABIC FULL STOP;Po;0;AL;;;;;N;ARABIC PERIOD;;;;
+06D5;ARABIC LETTER AE;Lo;0;AL;;;;;N;;;;;
+06D6;ARABIC SMALL HIGH LIGATURE SAD WITH LAM WITH ALEF MAKSURA;Mn;230;NSM;;;;;N;;;;;
+06D7;ARABIC SMALL HIGH LIGATURE QAF WITH LAM WITH ALEF MAKSURA;Mn;230;NSM;;;;;N;;;;;
+06D8;ARABIC SMALL HIGH MEEM INITIAL FORM;Mn;230;NSM;;;;;N;;;;;
+06D9;ARABIC SMALL HIGH LAM ALEF;Mn;230;NSM;;;;;N;;;;;
+06DA;ARABIC SMALL HIGH JEEM;Mn;230;NSM;;;;;N;;;;;
+06DB;ARABIC SMALL HIGH THREE DOTS;Mn;230;NSM;;;;;N;;;;;
+06DC;ARABIC SMALL HIGH SEEN;Mn;230;NSM;;;;;N;;;;;
+06DD;ARABIC END OF AYAH;Cf;0;AL;;;;;N;;;;;
+06DE;ARABIC START OF RUB EL HIZB;Me;0;NSM;;;;;N;;;;;
+06DF;ARABIC SMALL HIGH ROUNDED ZERO;Mn;230;NSM;;;;;N;;;;;
+06E0;ARABIC SMALL HIGH UPRIGHT RECTANGULAR ZERO;Mn;230;NSM;;;;;N;;;;;
+06E1;ARABIC SMALL HIGH DOTLESS HEAD OF KHAH;Mn;230;NSM;;;;;N;;;;;
+06E2;ARABIC SMALL HIGH MEEM ISOLATED FORM;Mn;230;NSM;;;;;N;;;;;
+06E3;ARABIC SMALL LOW SEEN;Mn;220;NSM;;;;;N;;;;;
+06E4;ARABIC SMALL HIGH MADDA;Mn;230;NSM;;;;;N;;;;;
+06E5;ARABIC SMALL WAW;Lm;0;AL;;;;;N;;;;;
+06E6;ARABIC SMALL YEH;Lm;0;AL;;;;;N;;;;;
+06E7;ARABIC SMALL HIGH YEH;Mn;230;NSM;;;;;N;;;;;
+06E8;ARABIC SMALL HIGH NOON;Mn;230;NSM;;;;;N;;;;;
+06E9;ARABIC PLACE OF SAJDAH;So;0;ON;;;;;N;;;;;
+06EA;ARABIC EMPTY CENTRE LOW STOP;Mn;220;NSM;;;;;N;;;;;
+06EB;ARABIC EMPTY CENTRE HIGH STOP;Mn;230;NSM;;;;;N;;;;;
+06EC;ARABIC ROUNDED HIGH STOP WITH FILLED CENTRE;Mn;230;NSM;;;;;N;;;;;
+06ED;ARABIC SMALL LOW MEEM;Mn;220;NSM;;;;;N;;;;;
+06EE;ARABIC LETTER DAL WITH INVERTED V;Lo;0;AL;;;;;N;;;;;
+06EF;ARABIC LETTER REH WITH INVERTED V;Lo;0;AL;;;;;N;;;;;
+06F0;EXTENDED ARABIC-INDIC DIGIT ZERO;Nd;0;EN;;0;0;0;N;EASTERN ARABIC-INDIC DIGIT ZERO;;;;
+06F1;EXTENDED ARABIC-INDIC DIGIT ONE;Nd;0;EN;;1;1;1;N;EASTERN ARABIC-INDIC DIGIT ONE;;;;
+06F2;EXTENDED ARABIC-INDIC DIGIT TWO;Nd;0;EN;;2;2;2;N;EASTERN ARABIC-INDIC DIGIT TWO;;;;
+06F3;EXTENDED ARABIC-INDIC DIGIT THREE;Nd;0;EN;;3;3;3;N;EASTERN ARABIC-INDIC DIGIT THREE;;;;
+06F4;EXTENDED ARABIC-INDIC DIGIT FOUR;Nd;0;EN;;4;4;4;N;EASTERN ARABIC-INDIC DIGIT FOUR;;;;
+06F5;EXTENDED ARABIC-INDIC DIGIT FIVE;Nd;0;EN;;5;5;5;N;EASTERN ARABIC-INDIC DIGIT FIVE;;;;
+06F6;EXTENDED ARABIC-INDIC DIGIT SIX;Nd;0;EN;;6;6;6;N;EASTERN ARABIC-INDIC DIGIT SIX;;;;
+06F7;EXTENDED ARABIC-INDIC DIGIT SEVEN;Nd;0;EN;;7;7;7;N;EASTERN ARABIC-INDIC DIGIT SEVEN;;;;
+06F8;EXTENDED ARABIC-INDIC DIGIT EIGHT;Nd;0;EN;;8;8;8;N;EASTERN ARABIC-INDIC DIGIT EIGHT;;;;
+06F9;EXTENDED ARABIC-INDIC DIGIT NINE;Nd;0;EN;;9;9;9;N;EASTERN ARABIC-INDIC DIGIT NINE;;;;
+06FA;ARABIC LETTER SHEEN WITH DOT BELOW;Lo;0;AL;;;;;N;;;;;
+06FB;ARABIC LETTER DAD WITH DOT BELOW;Lo;0;AL;;;;;N;;;;;
+06FC;ARABIC LETTER GHAIN WITH DOT BELOW;Lo;0;AL;;;;;N;;;;;
+06FD;ARABIC SIGN SINDHI AMPERSAND;So;0;AL;;;;;N;;;;;
+06FE;ARABIC SIGN SINDHI POSTPOSITION MEN;So;0;AL;;;;;N;;;;;
+06FF;ARABIC LETTER HEH WITH INVERTED V;Lo;0;AL;;;;;N;;;;;
+0700;SYRIAC END OF PARAGRAPH;Po;0;AL;;;;;N;;;;;
+0701;SYRIAC SUPRALINEAR FULL STOP;Po;0;AL;;;;;N;;;;;
+0702;SYRIAC SUBLINEAR FULL STOP;Po;0;AL;;;;;N;;;;;
+0703;SYRIAC SUPRALINEAR COLON;Po;0;AL;;;;;N;;;;;
+0704;SYRIAC SUBLINEAR COLON;Po;0;AL;;;;;N;;;;;
+0705;SYRIAC HORIZONTAL COLON;Po;0;AL;;;;;N;;;;;
+0706;SYRIAC COLON SKEWED LEFT;Po;0;AL;;;;;N;;;;;
+0707;SYRIAC COLON SKEWED RIGHT;Po;0;AL;;;;;N;;;;;
+0708;SYRIAC SUPRALINEAR COLON SKEWED LEFT;Po;0;AL;;;;;N;;;;;
+0709;SYRIAC SUBLINEAR COLON SKEWED RIGHT;Po;0;AL;;;;;N;;;;;
+070A;SYRIAC CONTRACTION;Po;0;AL;;;;;N;;;;;
+070B;SYRIAC HARKLEAN OBELUS;Po;0;AL;;;;;N;;;;;
+070C;SYRIAC HARKLEAN METOBELUS;Po;0;AL;;;;;N;;;;;
+070D;SYRIAC HARKLEAN ASTERISCUS;Po;0;AL;;;;;N;;;;;
+070F;SYRIAC ABBREVIATION MARK;Cf;0;BN;;;;;N;;;;;
+0710;SYRIAC LETTER ALAPH;Lo;0;AL;;;;;N;;;;;
+0711;SYRIAC LETTER SUPERSCRIPT ALAPH;Mn;36;NSM;;;;;N;;;;;
+0712;SYRIAC LETTER BETH;Lo;0;AL;;;;;N;;;;;
+0713;SYRIAC LETTER GAMAL;Lo;0;AL;;;;;N;;;;;
+0714;SYRIAC LETTER GAMAL GARSHUNI;Lo;0;AL;;;;;N;;;;;
+0715;SYRIAC LETTER DALATH;Lo;0;AL;;;;;N;;;;;
+0716;SYRIAC LETTER DOTLESS DALATH RISH;Lo;0;AL;;;;;N;;;;;
+0717;SYRIAC LETTER HE;Lo;0;AL;;;;;N;;;;;
+0718;SYRIAC LETTER WAW;Lo;0;AL;;;;;N;;;;;
+0719;SYRIAC LETTER ZAIN;Lo;0;AL;;;;;N;;;;;
+071A;SYRIAC LETTER HETH;Lo;0;AL;;;;;N;;;;;
+071B;SYRIAC LETTER TETH;Lo;0;AL;;;;;N;;;;;
+071C;SYRIAC LETTER TETH GARSHUNI;Lo;0;AL;;;;;N;;;;;
+071D;SYRIAC LETTER YUDH;Lo;0;AL;;;;;N;;;;;
+071E;SYRIAC LETTER YUDH HE;Lo;0;AL;;;;;N;;;;;
+071F;SYRIAC LETTER KAPH;Lo;0;AL;;;;;N;;;;;
+0720;SYRIAC LETTER LAMADH;Lo;0;AL;;;;;N;;;;;
+0721;SYRIAC LETTER MIM;Lo;0;AL;;;;;N;;;;;
+0722;SYRIAC LETTER NUN;Lo;0;AL;;;;;N;;;;;
+0723;SYRIAC LETTER SEMKATH;Lo;0;AL;;;;;N;;;;;
+0724;SYRIAC LETTER FINAL SEMKATH;Lo;0;AL;;;;;N;;;;;
+0725;SYRIAC LETTER E;Lo;0;AL;;;;;N;;;;;
+0726;SYRIAC LETTER PE;Lo;0;AL;;;;;N;;;;;
+0727;SYRIAC LETTER REVERSED PE;Lo;0;AL;;;;;N;;;;;
+0728;SYRIAC LETTER SADHE;Lo;0;AL;;;;;N;;;;;
+0729;SYRIAC LETTER QAPH;Lo;0;AL;;;;;N;;;;;
+072A;SYRIAC LETTER RISH;Lo;0;AL;;;;;N;;;;;
+072B;SYRIAC LETTER SHIN;Lo;0;AL;;;;;N;;;;;
+072C;SYRIAC LETTER TAW;Lo;0;AL;;;;;N;;;;;
+072D;SYRIAC LETTER PERSIAN BHETH;Lo;0;AL;;;;;N;;;;;
+072E;SYRIAC LETTER PERSIAN GHAMAL;Lo;0;AL;;;;;N;;;;;
+072F;SYRIAC LETTER PERSIAN DHALATH;Lo;0;AL;;;;;N;;;;;
+0730;SYRIAC PTHAHA ABOVE;Mn;230;NSM;;;;;N;;;;;
+0731;SYRIAC PTHAHA BELOW;Mn;220;NSM;;;;;N;;;;;
+0732;SYRIAC PTHAHA DOTTED;Mn;230;NSM;;;;;N;;;;;
+0733;SYRIAC ZQAPHA ABOVE;Mn;230;NSM;;;;;N;;;;;
+0734;SYRIAC ZQAPHA BELOW;Mn;220;NSM;;;;;N;;;;;
+0735;SYRIAC ZQAPHA DOTTED;Mn;230;NSM;;;;;N;;;;;
+0736;SYRIAC RBASA ABOVE;Mn;230;NSM;;;;;N;;;;;
+0737;SYRIAC RBASA BELOW;Mn;220;NSM;;;;;N;;;;;
+0738;SYRIAC DOTTED ZLAMA HORIZONTAL;Mn;220;NSM;;;;;N;;;;;
+0739;SYRIAC DOTTED ZLAMA ANGULAR;Mn;220;NSM;;;;;N;;;;;
+073A;SYRIAC HBASA ABOVE;Mn;230;NSM;;;;;N;;;;;
+073B;SYRIAC HBASA BELOW;Mn;220;NSM;;;;;N;;;;;
+073C;SYRIAC HBASA-ESASA DOTTED;Mn;220;NSM;;;;;N;;;;;
+073D;SYRIAC ESASA ABOVE;Mn;230;NSM;;;;;N;;;;;
+073E;SYRIAC ESASA BELOW;Mn;220;NSM;;;;;N;;;;;
+073F;SYRIAC RWAHA;Mn;230;NSM;;;;;N;;;;;
+0740;SYRIAC FEMININE DOT;Mn;230;NSM;;;;;N;;;;;
+0741;SYRIAC QUSHSHAYA;Mn;230;NSM;;;;;N;;;;;
+0742;SYRIAC RUKKAKHA;Mn;220;NSM;;;;;N;;;;;
+0743;SYRIAC TWO VERTICAL DOTS ABOVE;Mn;230;NSM;;;;;N;;;;;
+0744;SYRIAC TWO VERTICAL DOTS BELOW;Mn;220;NSM;;;;;N;;;;;
+0745;SYRIAC THREE DOTS ABOVE;Mn;230;NSM;;;;;N;;;;;
+0746;SYRIAC THREE DOTS BELOW;Mn;220;NSM;;;;;N;;;;;
+0747;SYRIAC OBLIQUE LINE ABOVE;Mn;230;NSM;;;;;N;;;;;
+0748;SYRIAC OBLIQUE LINE BELOW;Mn;220;NSM;;;;;N;;;;;
+0749;SYRIAC MUSIC;Mn;230;NSM;;;;;N;;;;;
+074A;SYRIAC BARREKH;Mn;230;NSM;;;;;N;;;;;
+074D;SYRIAC LETTER SOGDIAN ZHAIN;Lo;0;AL;;;;;N;;;;;
+074E;SYRIAC LETTER SOGDIAN KHAPH;Lo;0;AL;;;;;N;;;;;
+074F;SYRIAC LETTER SOGDIAN FE;Lo;0;AL;;;;;N;;;;;
+0750;ARABIC LETTER BEH WITH THREE DOTS HORIZONTALLY BELOW;Lo;0;AL;;;;;N;;;;;
+0751;ARABIC LETTER BEH WITH DOT BELOW AND THREE DOTS ABOVE;Lo;0;AL;;;;;N;;;;;
+0752;ARABIC LETTER BEH WITH THREE DOTS POINTING UPWARDS BELOW;Lo;0;AL;;;;;N;;;;;
+0753;ARABIC LETTER BEH WITH THREE DOTS POINTING UPWARDS BELOW AND TWO DOTS ABOVE;Lo;0;AL;;;;;N;;;;;
+0754;ARABIC LETTER BEH WITH TWO DOTS BELOW AND DOT ABOVE;Lo;0;AL;;;;;N;;;;;
+0755;ARABIC LETTER BEH WITH INVERTED SMALL V BELOW;Lo;0;AL;;;;;N;;;;;
+0756;ARABIC LETTER BEH WITH SMALL V;Lo;0;AL;;;;;N;;;;;
+0757;ARABIC LETTER HAH WITH TWO DOTS ABOVE;Lo;0;AL;;;;;N;;;;;
+0758;ARABIC LETTER HAH WITH THREE DOTS POINTING UPWARDS BELOW;Lo;0;AL;;;;;N;;;;;
+0759;ARABIC LETTER DAL WITH TWO DOTS VERTICALLY BELOW AND SMALL TAH;Lo;0;AL;;;;;N;;;;;
+075A;ARABIC LETTER DAL WITH INVERTED SMALL V BELOW;Lo;0;AL;;;;;N;;;;;
+075B;ARABIC LETTER REH WITH STROKE;Lo;0;AL;;;;;N;;;;;
+075C;ARABIC LETTER SEEN WITH FOUR DOTS ABOVE;Lo;0;AL;;;;;N;;;;;
+075D;ARABIC LETTER AIN WITH TWO DOTS ABOVE;Lo;0;AL;;;;;N;;;;;
+075E;ARABIC LETTER AIN WITH THREE DOTS POINTING DOWNWARDS ABOVE;Lo;0;AL;;;;;N;;;;;
+075F;ARABIC LETTER AIN WITH TWO DOTS VERTICALLY ABOVE;Lo;0;AL;;;;;N;;;;;
+0760;ARABIC LETTER FEH WITH TWO DOTS BELOW;Lo;0;AL;;;;;N;;;;;
+0761;ARABIC LETTER FEH WITH THREE DOTS POINTING UPWARDS BELOW;Lo;0;AL;;;;;N;;;;;
+0762;ARABIC LETTER KEHEH WITH DOT ABOVE;Lo;0;AL;;;;;N;;;;;
+0763;ARABIC LETTER KEHEH WITH THREE DOTS ABOVE;Lo;0;AL;;;;;N;;;;;
+0764;ARABIC LETTER KEHEH WITH THREE DOTS POINTING UPWARDS BELOW;Lo;0;AL;;;;;N;;;;;
+0765;ARABIC LETTER MEEM WITH DOT ABOVE;Lo;0;AL;;;;;N;;;;;
+0766;ARABIC LETTER MEEM WITH DOT BELOW;Lo;0;AL;;;;;N;;;;;
+0767;ARABIC LETTER NOON WITH TWO DOTS BELOW;Lo;0;AL;;;;;N;;;;;
+0768;ARABIC LETTER NOON WITH SMALL TAH;Lo;0;AL;;;;;N;;;;;
+0769;ARABIC LETTER NOON WITH SMALL V;Lo;0;AL;;;;;N;;;;;
+076A;ARABIC LETTER LAM WITH BAR;Lo;0;AL;;;;;N;;;;;
+076B;ARABIC LETTER REH WITH TWO DOTS VERTICALLY ABOVE;Lo;0;AL;;;;;N;;;;;
+076C;ARABIC LETTER REH WITH HAMZA ABOVE;Lo;0;AL;;;;;N;;;;;
+076D;ARABIC LETTER SEEN WITH TWO DOTS VERTICALLY ABOVE;Lo;0;AL;;;;;N;;;;;
+0780;THAANA LETTER HAA;Lo;0;AL;;;;;N;;;;;
+0781;THAANA LETTER SHAVIYANI;Lo;0;AL;;;;;N;;;;;
+0782;THAANA LETTER NOONU;Lo;0;AL;;;;;N;;;;;
+0783;THAANA LETTER RAA;Lo;0;AL;;;;;N;;;;;
+0784;THAANA LETTER BAA;Lo;0;AL;;;;;N;;;;;
+0785;THAANA LETTER LHAVIYANI;Lo;0;AL;;;;;N;;;;;
+0786;THAANA LETTER KAAFU;Lo;0;AL;;;;;N;;;;;
+0787;THAANA LETTER ALIFU;Lo;0;AL;;;;;N;;;;;
+0788;THAANA LETTER VAAVU;Lo;0;AL;;;;;N;;;;;
+0789;THAANA LETTER MEEMU;Lo;0;AL;;;;;N;;;;;
+078A;THAANA LETTER FAAFU;Lo;0;AL;;;;;N;;;;;
+078B;THAANA LETTER DHAALU;Lo;0;AL;;;;;N;;;;;
+078C;THAANA LETTER THAA;Lo;0;AL;;;;;N;;;;;
+078D;THAANA LETTER LAAMU;Lo;0;AL;;;;;N;;;;;
+078E;THAANA LETTER GAAFU;Lo;0;AL;;;;;N;;;;;
+078F;THAANA LETTER GNAVIYANI;Lo;0;AL;;;;;N;;;;;
+0790;THAANA LETTER SEENU;Lo;0;AL;;;;;N;;;;;
+0791;THAANA LETTER DAVIYANI;Lo;0;AL;;;;;N;;;;;
+0792;THAANA LETTER ZAVIYANI;Lo;0;AL;;;;;N;;;;;
+0793;THAANA LETTER TAVIYANI;Lo;0;AL;;;;;N;;;;;
+0794;THAANA LETTER YAA;Lo;0;AL;;;;;N;;;;;
+0795;THAANA LETTER PAVIYANI;Lo;0;AL;;;;;N;;;;;
+0796;THAANA LETTER JAVIYANI;Lo;0;AL;;;;;N;;;;;
+0797;THAANA LETTER CHAVIYANI;Lo;0;AL;;;;;N;;;;;
+0798;THAANA LETTER TTAA;Lo;0;AL;;;;;N;;;;;
+0799;THAANA LETTER HHAA;Lo;0;AL;;;;;N;;;;;
+079A;THAANA LETTER KHAA;Lo;0;AL;;;;;N;;;;;
+079B;THAANA LETTER THAALU;Lo;0;AL;;;;;N;;;;;
+079C;THAANA LETTER ZAA;Lo;0;AL;;;;;N;;;;;
+079D;THAANA LETTER SHEENU;Lo;0;AL;;;;;N;;;;;
+079E;THAANA LETTER SAADHU;Lo;0;AL;;;;;N;;;;;
+079F;THAANA LETTER DAADHU;Lo;0;AL;;;;;N;;;;;
+07A0;THAANA LETTER TO;Lo;0;AL;;;;;N;;;;;
+07A1;THAANA LETTER ZO;Lo;0;AL;;;;;N;;;;;
+07A2;THAANA LETTER AINU;Lo;0;AL;;;;;N;;;;;
+07A3;THAANA LETTER GHAINU;Lo;0;AL;;;;;N;;;;;
+07A4;THAANA LETTER QAAFU;Lo;0;AL;;;;;N;;;;;
+07A5;THAANA LETTER WAAVU;Lo;0;AL;;;;;N;;;;;
+07A6;THAANA ABAFILI;Mn;0;NSM;;;;;N;;;;;
+07A7;THAANA AABAAFILI;Mn;0;NSM;;;;;N;;;;;
+07A8;THAANA IBIFILI;Mn;0;NSM;;;;;N;;;;;
+07A9;THAANA EEBEEFILI;Mn;0;NSM;;;;;N;;;;;
+07AA;THAANA UBUFILI;Mn;0;NSM;;;;;N;;;;;
+07AB;THAANA OOBOOFILI;Mn;0;NSM;;;;;N;;;;;
+07AC;THAANA EBEFILI;Mn;0;NSM;;;;;N;;;;;
+07AD;THAANA EYBEYFILI;Mn;0;NSM;;;;;N;;;;;
+07AE;THAANA OBOFILI;Mn;0;NSM;;;;;N;;;;;
+07AF;THAANA OABOAFILI;Mn;0;NSM;;;;;N;;;;;
+07B0;THAANA SUKUN;Mn;0;NSM;;;;;N;;;;;
+07B1;THAANA LETTER NAA;Lo;0;AL;;;;;N;;;;;
+0901;DEVANAGARI SIGN CANDRABINDU;Mn;0;NSM;;;;;N;;;;;
+0902;DEVANAGARI SIGN ANUSVARA;Mn;0;NSM;;;;;N;;;;;
+0903;DEVANAGARI SIGN VISARGA;Mc;0;L;;;;;N;;;;;
+0904;DEVANAGARI LETTER SHORT A;Lo;0;L;;;;;N;;;;;
+0905;DEVANAGARI LETTER A;Lo;0;L;;;;;N;;;;;
+0906;DEVANAGARI LETTER AA;Lo;0;L;;;;;N;;;;;
+0907;DEVANAGARI LETTER I;Lo;0;L;;;;;N;;;;;
+0908;DEVANAGARI LETTER II;Lo;0;L;;;;;N;;;;;
+0909;DEVANAGARI LETTER U;Lo;0;L;;;;;N;;;;;
+090A;DEVANAGARI LETTER UU;Lo;0;L;;;;;N;;;;;
+090B;DEVANAGARI LETTER VOCALIC R;Lo;0;L;;;;;N;;;;;
+090C;DEVANAGARI LETTER VOCALIC L;Lo;0;L;;;;;N;;;;;
+090D;DEVANAGARI LETTER CANDRA E;Lo;0;L;;;;;N;;;;;
+090E;DEVANAGARI LETTER SHORT E;Lo;0;L;;;;;N;;;;;
+090F;DEVANAGARI LETTER E;Lo;0;L;;;;;N;;;;;
+0910;DEVANAGARI LETTER AI;Lo;0;L;;;;;N;;;;;
+0911;DEVANAGARI LETTER CANDRA O;Lo;0;L;;;;;N;;;;;
+0912;DEVANAGARI LETTER SHORT O;Lo;0;L;;;;;N;;;;;
+0913;DEVANAGARI LETTER O;Lo;0;L;;;;;N;;;;;
+0914;DEVANAGARI LETTER AU;Lo;0;L;;;;;N;;;;;
+0915;DEVANAGARI LETTER KA;Lo;0;L;;;;;N;;;;;
+0916;DEVANAGARI LETTER KHA;Lo;0;L;;;;;N;;;;;
+0917;DEVANAGARI LETTER GA;Lo;0;L;;;;;N;;;;;
+0918;DEVANAGARI LETTER GHA;Lo;0;L;;;;;N;;;;;
+0919;DEVANAGARI LETTER NGA;Lo;0;L;;;;;N;;;;;
+091A;DEVANAGARI LETTER CA;Lo;0;L;;;;;N;;;;;
+091B;DEVANAGARI LETTER CHA;Lo;0;L;;;;;N;;;;;
+091C;DEVANAGARI LETTER JA;Lo;0;L;;;;;N;;;;;
+091D;DEVANAGARI LETTER JHA;Lo;0;L;;;;;N;;;;;
+091E;DEVANAGARI LETTER NYA;Lo;0;L;;;;;N;;;;;
+091F;DEVANAGARI LETTER TTA;Lo;0;L;;;;;N;;;;;
+0920;DEVANAGARI LETTER TTHA;Lo;0;L;;;;;N;;;;;
+0921;DEVANAGARI LETTER DDA;Lo;0;L;;;;;N;;;;;
+0922;DEVANAGARI LETTER DDHA;Lo;0;L;;;;;N;;;;;
+0923;DEVANAGARI LETTER NNA;Lo;0;L;;;;;N;;;;;
+0924;DEVANAGARI LETTER TA;Lo;0;L;;;;;N;;;;;
+0925;DEVANAGARI LETTER THA;Lo;0;L;;;;;N;;;;;
+0926;DEVANAGARI LETTER DA;Lo;0;L;;;;;N;;;;;
+0927;DEVANAGARI LETTER DHA;Lo;0;L;;;;;N;;;;;
+0928;DEVANAGARI LETTER NA;Lo;0;L;;;;;N;;;;;
+0929;DEVANAGARI LETTER NNNA;Lo;0;L;0928 093C;;;;N;;;;;
+092A;DEVANAGARI LETTER PA;Lo;0;L;;;;;N;;;;;
+092B;DEVANAGARI LETTER PHA;Lo;0;L;;;;;N;;;;;
+092C;DEVANAGARI LETTER BA;Lo;0;L;;;;;N;;;;;
+092D;DEVANAGARI LETTER BHA;Lo;0;L;;;;;N;;;;;
+092E;DEVANAGARI LETTER MA;Lo;0;L;;;;;N;;;;;
+092F;DEVANAGARI LETTER YA;Lo;0;L;;;;;N;;;;;
+0930;DEVANAGARI LETTER RA;Lo;0;L;;;;;N;;;;;
+0931;DEVANAGARI LETTER RRA;Lo;0;L;0930 093C;;;;N;;;;;
+0932;DEVANAGARI LETTER LA;Lo;0;L;;;;;N;;;;;
+0933;DEVANAGARI LETTER LLA;Lo;0;L;;;;;N;;;;;
+0934;DEVANAGARI LETTER LLLA;Lo;0;L;0933 093C;;;;N;;;;;
+0935;DEVANAGARI LETTER VA;Lo;0;L;;;;;N;;;;;
+0936;DEVANAGARI LETTER SHA;Lo;0;L;;;;;N;;;;;
+0937;DEVANAGARI LETTER SSA;Lo;0;L;;;;;N;;;;;
+0938;DEVANAGARI LETTER SA;Lo;0;L;;;;;N;;;;;
+0939;DEVANAGARI LETTER HA;Lo;0;L;;;;;N;;;;;
+093C;DEVANAGARI SIGN NUKTA;Mn;7;NSM;;;;;N;;;;;
+093D;DEVANAGARI SIGN AVAGRAHA;Lo;0;L;;;;;N;;;;;
+093E;DEVANAGARI VOWEL SIGN AA;Mc;0;L;;;;;N;;;;;
+093F;DEVANAGARI VOWEL SIGN I;Mc;0;L;;;;;N;;;;;
+0940;DEVANAGARI VOWEL SIGN II;Mc;0;L;;;;;N;;;;;
+0941;DEVANAGARI VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;;
+0942;DEVANAGARI VOWEL SIGN UU;Mn;0;NSM;;;;;N;;;;;
+0943;DEVANAGARI VOWEL SIGN VOCALIC R;Mn;0;NSM;;;;;N;;;;;
+0944;DEVANAGARI VOWEL SIGN VOCALIC RR;Mn;0;NSM;;;;;N;;;;;
+0945;DEVANAGARI VOWEL SIGN CANDRA E;Mn;0;NSM;;;;;N;;;;;
+0946;DEVANAGARI VOWEL SIGN SHORT E;Mn;0;NSM;;;;;N;;;;;
+0947;DEVANAGARI VOWEL SIGN E;Mn;0;NSM;;;;;N;;;;;
+0948;DEVANAGARI VOWEL SIGN AI;Mn;0;NSM;;;;;N;;;;;
+0949;DEVANAGARI VOWEL SIGN CANDRA O;Mc;0;L;;;;;N;;;;;
+094A;DEVANAGARI VOWEL SIGN SHORT O;Mc;0;L;;;;;N;;;;;
+094B;DEVANAGARI VOWEL SIGN O;Mc;0;L;;;;;N;;;;;
+094C;DEVANAGARI VOWEL SIGN AU;Mc;0;L;;;;;N;;;;;
+094D;DEVANAGARI SIGN VIRAMA;Mn;9;NSM;;;;;N;;;;;
+0950;DEVANAGARI OM;Lo;0;L;;;;;N;;;;;
+0951;DEVANAGARI STRESS SIGN UDATTA;Mn;230;NSM;;;;;N;;;;;
+0952;DEVANAGARI STRESS SIGN ANUDATTA;Mn;220;NSM;;;;;N;;;;;
+0953;DEVANAGARI GRAVE ACCENT;Mn;230;NSM;;;;;N;;;;;
+0954;DEVANAGARI ACUTE ACCENT;Mn;230;NSM;;;;;N;;;;;
+0958;DEVANAGARI LETTER QA;Lo;0;L;0915 093C;;;;N;;;;;
+0959;DEVANAGARI LETTER KHHA;Lo;0;L;0916 093C;;;;N;;;;;
+095A;DEVANAGARI LETTER GHHA;Lo;0;L;0917 093C;;;;N;;;;;
+095B;DEVANAGARI LETTER ZA;Lo;0;L;091C 093C;;;;N;;;;;
+095C;DEVANAGARI LETTER DDDHA;Lo;0;L;0921 093C;;;;N;;;;;
+095D;DEVANAGARI LETTER RHA;Lo;0;L;0922 093C;;;;N;;;;;
+095E;DEVANAGARI LETTER FA;Lo;0;L;092B 093C;;;;N;;;;;
+095F;DEVANAGARI LETTER YYA;Lo;0;L;092F 093C;;;;N;;;;;
+0960;DEVANAGARI LETTER VOCALIC RR;Lo;0;L;;;;;N;;;;;
+0961;DEVANAGARI LETTER VOCALIC LL;Lo;0;L;;;;;N;;;;;
+0962;DEVANAGARI VOWEL SIGN VOCALIC L;Mn;0;NSM;;;;;N;;;;;
+0963;DEVANAGARI VOWEL SIGN VOCALIC LL;Mn;0;NSM;;;;;N;;;;;
+0964;DEVANAGARI DANDA;Po;0;L;;;;;N;;;;;
+0965;DEVANAGARI DOUBLE DANDA;Po;0;L;;;;;N;;;;;
+0966;DEVANAGARI DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
+0967;DEVANAGARI DIGIT ONE;Nd;0;L;;1;1;1;N;;;;;
+0968;DEVANAGARI DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
+0969;DEVANAGARI DIGIT THREE;Nd;0;L;;3;3;3;N;;;;;
+096A;DEVANAGARI DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;;
+096B;DEVANAGARI DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;;
+096C;DEVANAGARI DIGIT SIX;Nd;0;L;;6;6;6;N;;;;;
+096D;DEVANAGARI DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
+096E;DEVANAGARI DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
+096F;DEVANAGARI DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
+0970;DEVANAGARI ABBREVIATION SIGN;Po;0;L;;;;;N;;;;;
+097D;DEVANAGARI LETTER GLOTTAL STOP;Lo;0;L;;;;;N;;;;;
+0981;BENGALI SIGN CANDRABINDU;Mn;0;NSM;;;;;N;;;;;
+0982;BENGALI SIGN ANUSVARA;Mc;0;L;;;;;N;;;;;
+0983;BENGALI SIGN VISARGA;Mc;0;L;;;;;N;;;;;
+0985;BENGALI LETTER A;Lo;0;L;;;;;N;;;;;
+0986;BENGALI LETTER AA;Lo;0;L;;;;;N;;;;;
+0987;BENGALI LETTER I;Lo;0;L;;;;;N;;;;;
+0988;BENGALI LETTER II;Lo;0;L;;;;;N;;;;;
+0989;BENGALI LETTER U;Lo;0;L;;;;;N;;;;;
+098A;BENGALI LETTER UU;Lo;0;L;;;;;N;;;;;
+098B;BENGALI LETTER VOCALIC R;Lo;0;L;;;;;N;;;;;
+098C;BENGALI LETTER VOCALIC L;Lo;0;L;;;;;N;;;;;
+098F;BENGALI LETTER E;Lo;0;L;;;;;N;;;;;
+0990;BENGALI LETTER AI;Lo;0;L;;;;;N;;;;;
+0993;BENGALI LETTER O;Lo;0;L;;;;;N;;;;;
+0994;BENGALI LETTER AU;Lo;0;L;;;;;N;;;;;
+0995;BENGALI LETTER KA;Lo;0;L;;;;;N;;;;;
+0996;BENGALI LETTER KHA;Lo;0;L;;;;;N;;;;;
+0997;BENGALI LETTER GA;Lo;0;L;;;;;N;;;;;
+0998;BENGALI LETTER GHA;Lo;0;L;;;;;N;;;;;
+0999;BENGALI LETTER NGA;Lo;0;L;;;;;N;;;;;
+099A;BENGALI LETTER CA;Lo;0;L;;;;;N;;;;;
+099B;BENGALI LETTER CHA;Lo;0;L;;;;;N;;;;;
+099C;BENGALI LETTER JA;Lo;0;L;;;;;N;;;;;
+099D;BENGALI LETTER JHA;Lo;0;L;;;;;N;;;;;
+099E;BENGALI LETTER NYA;Lo;0;L;;;;;N;;;;;
+099F;BENGALI LETTER TTA;Lo;0;L;;;;;N;;;;;
+09A0;BENGALI LETTER TTHA;Lo;0;L;;;;;N;;;;;
+09A1;BENGALI LETTER DDA;Lo;0;L;;;;;N;;;;;
+09A2;BENGALI LETTER DDHA;Lo;0;L;;;;;N;;;;;
+09A3;BENGALI LETTER NNA;Lo;0;L;;;;;N;;;;;
+09A4;BENGALI LETTER TA;Lo;0;L;;;;;N;;;;;
+09A5;BENGALI LETTER THA;Lo;0;L;;;;;N;;;;;
+09A6;BENGALI LETTER DA;Lo;0;L;;;;;N;;;;;
+09A7;BENGALI LETTER DHA;Lo;0;L;;;;;N;;;;;
+09A8;BENGALI LETTER NA;Lo;0;L;;;;;N;;;;;
+09AA;BENGALI LETTER PA;Lo;0;L;;;;;N;;;;;
+09AB;BENGALI LETTER PHA;Lo;0;L;;;;;N;;;;;
+09AC;BENGALI LETTER BA;Lo;0;L;;;;;N;;;;;
+09AD;BENGALI LETTER BHA;Lo;0;L;;;;;N;;;;;
+09AE;BENGALI LETTER MA;Lo;0;L;;;;;N;;;;;
+09AF;BENGALI LETTER YA;Lo;0;L;;;;;N;;;;;
+09B0;BENGALI LETTER RA;Lo;0;L;;;;;N;;;;;
+09B2;BENGALI LETTER LA;Lo;0;L;;;;;N;;;;;
+09B6;BENGALI LETTER SHA;Lo;0;L;;;;;N;;;;;
+09B7;BENGALI LETTER SSA;Lo;0;L;;;;;N;;;;;
+09B8;BENGALI LETTER SA;Lo;0;L;;;;;N;;;;;
+09B9;BENGALI LETTER HA;Lo;0;L;;;;;N;;;;;
+09BC;BENGALI SIGN NUKTA;Mn;7;NSM;;;;;N;;;;;
+09BD;BENGALI SIGN AVAGRAHA;Lo;0;L;;;;;N;;;;;
+09BE;BENGALI VOWEL SIGN AA;Mc;0;L;;;;;N;;;;;
+09BF;BENGALI VOWEL SIGN I;Mc;0;L;;;;;N;;;;;
+09C0;BENGALI VOWEL SIGN II;Mc;0;L;;;;;N;;;;;
+09C1;BENGALI VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;;
+09C2;BENGALI VOWEL SIGN UU;Mn;0;NSM;;;;;N;;;;;
+09C3;BENGALI VOWEL SIGN VOCALIC R;Mn;0;NSM;;;;;N;;;;;
+09C4;BENGALI VOWEL SIGN VOCALIC RR;Mn;0;NSM;;;;;N;;;;;
+09C7;BENGALI VOWEL SIGN E;Mc;0;L;;;;;N;;;;;
+09C8;BENGALI VOWEL SIGN AI;Mc;0;L;;;;;N;;;;;
+09CB;BENGALI VOWEL SIGN O;Mc;0;L;09C7 09BE;;;;N;;;;;
+09CC;BENGALI VOWEL SIGN AU;Mc;0;L;09C7 09D7;;;;N;;;;;
+09CD;BENGALI SIGN VIRAMA;Mn;9;NSM;;;;;N;;;;;
+09CE;BENGALI LETTER KHANDA TA;Lo;0;L;;;;;N;;;;;
+09D7;BENGALI AU LENGTH MARK;Mc;0;L;;;;;N;;;;;
+09DC;BENGALI LETTER RRA;Lo;0;L;09A1 09BC;;;;N;;;;;
+09DD;BENGALI LETTER RHA;Lo;0;L;09A2 09BC;;;;N;;;;;
+09DF;BENGALI LETTER YYA;Lo;0;L;09AF 09BC;;;;N;;;;;
+09E0;BENGALI LETTER VOCALIC RR;Lo;0;L;;;;;N;;;;;
+09E1;BENGALI LETTER VOCALIC LL;Lo;0;L;;;;;N;;;;;
+09E2;BENGALI VOWEL SIGN VOCALIC L;Mn;0;NSM;;;;;N;;;;;
+09E3;BENGALI VOWEL SIGN VOCALIC LL;Mn;0;NSM;;;;;N;;;;;
+09E6;BENGALI DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
+09E7;BENGALI DIGIT ONE;Nd;0;L;;1;1;1;N;;;;;
+09E8;BENGALI DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
+09E9;BENGALI DIGIT THREE;Nd;0;L;;3;3;3;N;;;;;
+09EA;BENGALI DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;;
+09EB;BENGALI DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;;
+09EC;BENGALI DIGIT SIX;Nd;0;L;;6;6;6;N;;;;;
+09ED;BENGALI DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
+09EE;BENGALI DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
+09EF;BENGALI DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
+09F0;BENGALI LETTER RA WITH MIDDLE DIAGONAL;Lo;0;L;;;;;N;;Assamese;;;
+09F1;BENGALI LETTER RA WITH LOWER DIAGONAL;Lo;0;L;;;;;N;BENGALI LETTER VA WITH LOWER DIAGONAL;Assamese;;;
+09F2;BENGALI RUPEE MARK;Sc;0;ET;;;;;N;;;;;
+09F3;BENGALI RUPEE SIGN;Sc;0;ET;;;;;N;;;;;
+09F4;BENGALI CURRENCY NUMERATOR ONE;No;0;L;;;;1;N;;;;;
+09F5;BENGALI CURRENCY NUMERATOR TWO;No;0;L;;;;2;N;;;;;
+09F6;BENGALI CURRENCY NUMERATOR THREE;No;0;L;;;;3;N;;;;;
+09F7;BENGALI CURRENCY NUMERATOR FOUR;No;0;L;;;;4;N;;;;;
+09F8;BENGALI CURRENCY NUMERATOR ONE LESS THAN THE DENOMINATOR;No;0;L;;;;;N;;;;;
+09F9;BENGALI CURRENCY DENOMINATOR SIXTEEN;No;0;L;;;;16;N;;;;;
+09FA;BENGALI ISSHAR;So;0;L;;;;;N;;;;;
+0A01;GURMUKHI SIGN ADAK BINDI;Mn;0;NSM;;;;;N;;;;;
+0A02;GURMUKHI SIGN BINDI;Mn;0;NSM;;;;;N;;;;;
+0A03;GURMUKHI SIGN VISARGA;Mc;0;L;;;;;N;;;;;
+0A05;GURMUKHI LETTER A;Lo;0;L;;;;;N;;;;;
+0A06;GURMUKHI LETTER AA;Lo;0;L;;;;;N;;;;;
+0A07;GURMUKHI LETTER I;Lo;0;L;;;;;N;;;;;
+0A08;GURMUKHI LETTER II;Lo;0;L;;;;;N;;;;;
+0A09;GURMUKHI LETTER U;Lo;0;L;;;;;N;;;;;
+0A0A;GURMUKHI LETTER UU;Lo;0;L;;;;;N;;;;;
+0A0F;GURMUKHI LETTER EE;Lo;0;L;;;;;N;;;;;
+0A10;GURMUKHI LETTER AI;Lo;0;L;;;;;N;;;;;
+0A13;GURMUKHI LETTER OO;Lo;0;L;;;;;N;;;;;
+0A14;GURMUKHI LETTER AU;Lo;0;L;;;;;N;;;;;
+0A15;GURMUKHI LETTER KA;Lo;0;L;;;;;N;;;;;
+0A16;GURMUKHI LETTER KHA;Lo;0;L;;;;;N;;;;;
+0A17;GURMUKHI LETTER GA;Lo;0;L;;;;;N;;;;;
+0A18;GURMUKHI LETTER GHA;Lo;0;L;;;;;N;;;;;
+0A19;GURMUKHI LETTER NGA;Lo;0;L;;;;;N;;;;;
+0A1A;GURMUKHI LETTER CA;Lo;0;L;;;;;N;;;;;
+0A1B;GURMUKHI LETTER CHA;Lo;0;L;;;;;N;;;;;
+0A1C;GURMUKHI LETTER JA;Lo;0;L;;;;;N;;;;;
+0A1D;GURMUKHI LETTER JHA;Lo;0;L;;;;;N;;;;;
+0A1E;GURMUKHI LETTER NYA;Lo;0;L;;;;;N;;;;;
+0A1F;GURMUKHI LETTER TTA;Lo;0;L;;;;;N;;;;;
+0A20;GURMUKHI LETTER TTHA;Lo;0;L;;;;;N;;;;;
+0A21;GURMUKHI LETTER DDA;Lo;0;L;;;;;N;;;;;
+0A22;GURMUKHI LETTER DDHA;Lo;0;L;;;;;N;;;;;
+0A23;GURMUKHI LETTER NNA;Lo;0;L;;;;;N;;;;;
+0A24;GURMUKHI LETTER TA;Lo;0;L;;;;;N;;;;;
+0A25;GURMUKHI LETTER THA;Lo;0;L;;;;;N;;;;;
+0A26;GURMUKHI LETTER DA;Lo;0;L;;;;;N;;;;;
+0A27;GURMUKHI LETTER DHA;Lo;0;L;;;;;N;;;;;
+0A28;GURMUKHI LETTER NA;Lo;0;L;;;;;N;;;;;
+0A2A;GURMUKHI LETTER PA;Lo;0;L;;;;;N;;;;;
+0A2B;GURMUKHI LETTER PHA;Lo;0;L;;;;;N;;;;;
+0A2C;GURMUKHI LETTER BA;Lo;0;L;;;;;N;;;;;
+0A2D;GURMUKHI LETTER BHA;Lo;0;L;;;;;N;;;;;
+0A2E;GURMUKHI LETTER MA;Lo;0;L;;;;;N;;;;;
+0A2F;GURMUKHI LETTER YA;Lo;0;L;;;;;N;;;;;
+0A30;GURMUKHI LETTER RA;Lo;0;L;;;;;N;;;;;
+0A32;GURMUKHI LETTER LA;Lo;0;L;;;;;N;;;;;
+0A33;GURMUKHI LETTER LLA;Lo;0;L;0A32 0A3C;;;;N;;;;;
+0A35;GURMUKHI LETTER VA;Lo;0;L;;;;;N;;;;;
+0A36;GURMUKHI LETTER SHA;Lo;0;L;0A38 0A3C;;;;N;;;;;
+0A38;GURMUKHI LETTER SA;Lo;0;L;;;;;N;;;;;
+0A39;GURMUKHI LETTER HA;Lo;0;L;;;;;N;;;;;
+0A3C;GURMUKHI SIGN NUKTA;Mn;7;NSM;;;;;N;;;;;
+0A3E;GURMUKHI VOWEL SIGN AA;Mc;0;L;;;;;N;;;;;
+0A3F;GURMUKHI VOWEL SIGN I;Mc;0;L;;;;;N;;;;;
+0A40;GURMUKHI VOWEL SIGN II;Mc;0;L;;;;;N;;;;;
+0A41;GURMUKHI VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;;
+0A42;GURMUKHI VOWEL SIGN UU;Mn;0;NSM;;;;;N;;;;;
+0A47;GURMUKHI VOWEL SIGN EE;Mn;0;NSM;;;;;N;;;;;
+0A48;GURMUKHI VOWEL SIGN AI;Mn;0;NSM;;;;;N;;;;;
+0A4B;GURMUKHI VOWEL SIGN OO;Mn;0;NSM;;;;;N;;;;;
+0A4C;GURMUKHI VOWEL SIGN AU;Mn;0;NSM;;;;;N;;;;;
+0A4D;GURMUKHI SIGN VIRAMA;Mn;9;NSM;;;;;N;;;;;
+0A59;GURMUKHI LETTER KHHA;Lo;0;L;0A16 0A3C;;;;N;;;;;
+0A5A;GURMUKHI LETTER GHHA;Lo;0;L;0A17 0A3C;;;;N;;;;;
+0A5B;GURMUKHI LETTER ZA;Lo;0;L;0A1C 0A3C;;;;N;;;;;
+0A5C;GURMUKHI LETTER RRA;Lo;0;L;;;;;N;;;;;
+0A5E;GURMUKHI LETTER FA;Lo;0;L;0A2B 0A3C;;;;N;;;;;
+0A66;GURMUKHI DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
+0A67;GURMUKHI DIGIT ONE;Nd;0;L;;1;1;1;N;;;;;
+0A68;GURMUKHI DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
+0A69;GURMUKHI DIGIT THREE;Nd;0;L;;3;3;3;N;;;;;
+0A6A;GURMUKHI DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;;
+0A6B;GURMUKHI DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;;
+0A6C;GURMUKHI DIGIT SIX;Nd;0;L;;6;6;6;N;;;;;
+0A6D;GURMUKHI DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
+0A6E;GURMUKHI DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
+0A6F;GURMUKHI DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
+0A70;GURMUKHI TIPPI;Mn;0;NSM;;;;;N;;;;;
+0A71;GURMUKHI ADDAK;Mn;0;NSM;;;;;N;;;;;
+0A72;GURMUKHI IRI;Lo;0;L;;;;;N;;;;;
+0A73;GURMUKHI URA;Lo;0;L;;;;;N;;;;;
+0A74;GURMUKHI EK ONKAR;Lo;0;L;;;;;N;;;;;
+0A81;GUJARATI SIGN CANDRABINDU;Mn;0;NSM;;;;;N;;;;;
+0A82;GUJARATI SIGN ANUSVARA;Mn;0;NSM;;;;;N;;;;;
+0A83;GUJARATI SIGN VISARGA;Mc;0;L;;;;;N;;;;;
+0A85;GUJARATI LETTER A;Lo;0;L;;;;;N;;;;;
+0A86;GUJARATI LETTER AA;Lo;0;L;;;;;N;;;;;
+0A87;GUJARATI LETTER I;Lo;0;L;;;;;N;;;;;
+0A88;GUJARATI LETTER II;Lo;0;L;;;;;N;;;;;
+0A89;GUJARATI LETTER U;Lo;0;L;;;;;N;;;;;
+0A8A;GUJARATI LETTER UU;Lo;0;L;;;;;N;;;;;
+0A8B;GUJARATI LETTER VOCALIC R;Lo;0;L;;;;;N;;;;;
+0A8C;GUJARATI LETTER VOCALIC L;Lo;0;L;;;;;N;;;;;
+0A8D;GUJARATI VOWEL CANDRA E;Lo;0;L;;;;;N;;;;;
+0A8F;GUJARATI LETTER E;Lo;0;L;;;;;N;;;;;
+0A90;GUJARATI LETTER AI;Lo;0;L;;;;;N;;;;;
+0A91;GUJARATI VOWEL CANDRA O;Lo;0;L;;;;;N;;;;;
+0A93;GUJARATI LETTER O;Lo;0;L;;;;;N;;;;;
+0A94;GUJARATI LETTER AU;Lo;0;L;;;;;N;;;;;
+0A95;GUJARATI LETTER KA;Lo;0;L;;;;;N;;;;;
+0A96;GUJARATI LETTER KHA;Lo;0;L;;;;;N;;;;;
+0A97;GUJARATI LETTER GA;Lo;0;L;;;;;N;;;;;
+0A98;GUJARATI LETTER GHA;Lo;0;L;;;;;N;;;;;
+0A99;GUJARATI LETTER NGA;Lo;0;L;;;;;N;;;;;
+0A9A;GUJARATI LETTER CA;Lo;0;L;;;;;N;;;;;
+0A9B;GUJARATI LETTER CHA;Lo;0;L;;;;;N;;;;;
+0A9C;GUJARATI LETTER JA;Lo;0;L;;;;;N;;;;;
+0A9D;GUJARATI LETTER JHA;Lo;0;L;;;;;N;;;;;
+0A9E;GUJARATI LETTER NYA;Lo;0;L;;;;;N;;;;;
+0A9F;GUJARATI LETTER TTA;Lo;0;L;;;;;N;;;;;
+0AA0;GUJARATI LETTER TTHA;Lo;0;L;;;;;N;;;;;
+0AA1;GUJARATI LETTER DDA;Lo;0;L;;;;;N;;;;;
+0AA2;GUJARATI LETTER DDHA;Lo;0;L;;;;;N;;;;;
+0AA3;GUJARATI LETTER NNA;Lo;0;L;;;;;N;;;;;
+0AA4;GUJARATI LETTER TA;Lo;0;L;;;;;N;;;;;
+0AA5;GUJARATI LETTER THA;Lo;0;L;;;;;N;;;;;
+0AA6;GUJARATI LETTER DA;Lo;0;L;;;;;N;;;;;
+0AA7;GUJARATI LETTER DHA;Lo;0;L;;;;;N;;;;;
+0AA8;GUJARATI LETTER NA;Lo;0;L;;;;;N;;;;;
+0AAA;GUJARATI LETTER PA;Lo;0;L;;;;;N;;;;;
+0AAB;GUJARATI LETTER PHA;Lo;0;L;;;;;N;;;;;
+0AAC;GUJARATI LETTER BA;Lo;0;L;;;;;N;;;;;
+0AAD;GUJARATI LETTER BHA;Lo;0;L;;;;;N;;;;;
+0AAE;GUJARATI LETTER MA;Lo;0;L;;;;;N;;;;;
+0AAF;GUJARATI LETTER YA;Lo;0;L;;;;;N;;;;;
+0AB0;GUJARATI LETTER RA;Lo;0;L;;;;;N;;;;;
+0AB2;GUJARATI LETTER LA;Lo;0;L;;;;;N;;;;;
+0AB3;GUJARATI LETTER LLA;Lo;0;L;;;;;N;;;;;
+0AB5;GUJARATI LETTER VA;Lo;0;L;;;;;N;;;;;
+0AB6;GUJARATI LETTER SHA;Lo;0;L;;;;;N;;;;;
+0AB7;GUJARATI LETTER SSA;Lo;0;L;;;;;N;;;;;
+0AB8;GUJARATI LETTER SA;Lo;0;L;;;;;N;;;;;
+0AB9;GUJARATI LETTER HA;Lo;0;L;;;;;N;;;;;
+0ABC;GUJARATI SIGN NUKTA;Mn;7;NSM;;;;;N;;;;;
+0ABD;GUJARATI SIGN AVAGRAHA;Lo;0;L;;;;;N;;;;;
+0ABE;GUJARATI VOWEL SIGN AA;Mc;0;L;;;;;N;;;;;
+0ABF;GUJARATI VOWEL SIGN I;Mc;0;L;;;;;N;;;;;
+0AC0;GUJARATI VOWEL SIGN II;Mc;0;L;;;;;N;;;;;
+0AC1;GUJARATI VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;;
+0AC2;GUJARATI VOWEL SIGN UU;Mn;0;NSM;;;;;N;;;;;
+0AC3;GUJARATI VOWEL SIGN VOCALIC R;Mn;0;NSM;;;;;N;;;;;
+0AC4;GUJARATI VOWEL SIGN VOCALIC RR;Mn;0;NSM;;;;;N;;;;;
+0AC5;GUJARATI VOWEL SIGN CANDRA E;Mn;0;NSM;;;;;N;;;;;
+0AC7;GUJARATI VOWEL SIGN E;Mn;0;NSM;;;;;N;;;;;
+0AC8;GUJARATI VOWEL SIGN AI;Mn;0;NSM;;;;;N;;;;;
+0AC9;GUJARATI VOWEL SIGN CANDRA O;Mc;0;L;;;;;N;;;;;
+0ACB;GUJARATI VOWEL SIGN O;Mc;0;L;;;;;N;;;;;
+0ACC;GUJARATI VOWEL SIGN AU;Mc;0;L;;;;;N;;;;;
+0ACD;GUJARATI SIGN VIRAMA;Mn;9;NSM;;;;;N;;;;;
+0AD0;GUJARATI OM;Lo;0;L;;;;;N;;;;;
+0AE0;GUJARATI LETTER VOCALIC RR;Lo;0;L;;;;;N;;;;;
+0AE1;GUJARATI LETTER VOCALIC LL;Lo;0;L;;;;;N;;;;;
+0AE2;GUJARATI VOWEL SIGN VOCALIC L;Mn;0;NSM;;;;;N;;;;;
+0AE3;GUJARATI VOWEL SIGN VOCALIC LL;Mn;0;NSM;;;;;N;;;;;
+0AE6;GUJARATI DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
+0AE7;GUJARATI DIGIT ONE;Nd;0;L;;1;1;1;N;;;;;
+0AE8;GUJARATI DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
+0AE9;GUJARATI DIGIT THREE;Nd;0;L;;3;3;3;N;;;;;
+0AEA;GUJARATI DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;;
+0AEB;GUJARATI DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;;
+0AEC;GUJARATI DIGIT SIX;Nd;0;L;;6;6;6;N;;;;;
+0AED;GUJARATI DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
+0AEE;GUJARATI DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
+0AEF;GUJARATI DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
+0AF1;GUJARATI RUPEE SIGN;Sc;0;ET;;;;;N;;;;;
+0B01;ORIYA SIGN CANDRABINDU;Mn;0;NSM;;;;;N;;;;;
+0B02;ORIYA SIGN ANUSVARA;Mc;0;L;;;;;N;;;;;
+0B03;ORIYA SIGN VISARGA;Mc;0;L;;;;;N;;;;;
+0B05;ORIYA LETTER A;Lo;0;L;;;;;N;;;;;
+0B06;ORIYA LETTER AA;Lo;0;L;;;;;N;;;;;
+0B07;ORIYA LETTER I;Lo;0;L;;;;;N;;;;;
+0B08;ORIYA LETTER II;Lo;0;L;;;;;N;;;;;
+0B09;ORIYA LETTER U;Lo;0;L;;;;;N;;;;;
+0B0A;ORIYA LETTER UU;Lo;0;L;;;;;N;;;;;
+0B0B;ORIYA LETTER VOCALIC R;Lo;0;L;;;;;N;;;;;
+0B0C;ORIYA LETTER VOCALIC L;Lo;0;L;;;;;N;;;;;
+0B0F;ORIYA LETTER E;Lo;0;L;;;;;N;;;;;
+0B10;ORIYA LETTER AI;Lo;0;L;;;;;N;;;;;
+0B13;ORIYA LETTER O;Lo;0;L;;;;;N;;;;;
+0B14;ORIYA LETTER AU;Lo;0;L;;;;;N;;;;;
+0B15;ORIYA LETTER KA;Lo;0;L;;;;;N;;;;;
+0B16;ORIYA LETTER KHA;Lo;0;L;;;;;N;;;;;
+0B17;ORIYA LETTER GA;Lo;0;L;;;;;N;;;;;
+0B18;ORIYA LETTER GHA;Lo;0;L;;;;;N;;;;;
+0B19;ORIYA LETTER NGA;Lo;0;L;;;;;N;;;;;
+0B1A;ORIYA LETTER CA;Lo;0;L;;;;;N;;;;;
+0B1B;ORIYA LETTER CHA;Lo;0;L;;;;;N;;;;;
+0B1C;ORIYA LETTER JA;Lo;0;L;;;;;N;;;;;
+0B1D;ORIYA LETTER JHA;Lo;0;L;;;;;N;;;;;
+0B1E;ORIYA LETTER NYA;Lo;0;L;;;;;N;;;;;
+0B1F;ORIYA LETTER TTA;Lo;0;L;;;;;N;;;;;
+0B20;ORIYA LETTER TTHA;Lo;0;L;;;;;N;;;;;
+0B21;ORIYA LETTER DDA;Lo;0;L;;;;;N;;;;;
+0B22;ORIYA LETTER DDHA;Lo;0;L;;;;;N;;;;;
+0B23;ORIYA LETTER NNA;Lo;0;L;;;;;N;;;;;
+0B24;ORIYA LETTER TA;Lo;0;L;;;;;N;;;;;
+0B25;ORIYA LETTER THA;Lo;0;L;;;;;N;;;;;
+0B26;ORIYA LETTER DA;Lo;0;L;;;;;N;;;;;
+0B27;ORIYA LETTER DHA;Lo;0;L;;;;;N;;;;;
+0B28;ORIYA LETTER NA;Lo;0;L;;;;;N;;;;;
+0B2A;ORIYA LETTER PA;Lo;0;L;;;;;N;;;;;
+0B2B;ORIYA LETTER PHA;Lo;0;L;;;;;N;;;;;
+0B2C;ORIYA LETTER BA;Lo;0;L;;;;;N;;;;;
+0B2D;ORIYA LETTER BHA;Lo;0;L;;;;;N;;;;;
+0B2E;ORIYA LETTER MA;Lo;0;L;;;;;N;;;;;
+0B2F;ORIYA LETTER YA;Lo;0;L;;;;;N;;;;;
+0B30;ORIYA LETTER RA;Lo;0;L;;;;;N;;;;;
+0B32;ORIYA LETTER LA;Lo;0;L;;;;;N;;;;;
+0B33;ORIYA LETTER LLA;Lo;0;L;;;;;N;;;;;
+0B35;ORIYA LETTER VA;Lo;0;L;;;;;N;;;;;
+0B36;ORIYA LETTER SHA;Lo;0;L;;;;;N;;;;;
+0B37;ORIYA LETTER SSA;Lo;0;L;;;;;N;;;;;
+0B38;ORIYA LETTER SA;Lo;0;L;;;;;N;;;;;
+0B39;ORIYA LETTER HA;Lo;0;L;;;;;N;;;;;
+0B3C;ORIYA SIGN NUKTA;Mn;7;NSM;;;;;N;;;;;
+0B3D;ORIYA SIGN AVAGRAHA;Lo;0;L;;;;;N;;;;;
+0B3E;ORIYA VOWEL SIGN AA;Mc;0;L;;;;;N;;;;;
+0B3F;ORIYA VOWEL SIGN I;Mn;0;NSM;;;;;N;;;;;
+0B40;ORIYA VOWEL SIGN II;Mc;0;L;;;;;N;;;;;
+0B41;ORIYA VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;;
+0B42;ORIYA VOWEL SIGN UU;Mn;0;NSM;;;;;N;;;;;
+0B43;ORIYA VOWEL SIGN VOCALIC R;Mn;0;NSM;;;;;N;;;;;
+0B47;ORIYA VOWEL SIGN E;Mc;0;L;;;;;N;;;;;
+0B48;ORIYA VOWEL SIGN AI;Mc;0;L;0B47 0B56;;;;N;;;;;
+0B4B;ORIYA VOWEL SIGN O;Mc;0;L;0B47 0B3E;;;;N;;;;;
+0B4C;ORIYA VOWEL SIGN AU;Mc;0;L;0B47 0B57;;;;N;;;;;
+0B4D;ORIYA SIGN VIRAMA;Mn;9;NSM;;;;;N;;;;;
+0B56;ORIYA AI LENGTH MARK;Mn;0;NSM;;;;;N;;;;;
+0B57;ORIYA AU LENGTH MARK;Mc;0;L;;;;;N;;;;;
+0B5C;ORIYA LETTER RRA;Lo;0;L;0B21 0B3C;;;;N;;;;;
+0B5D;ORIYA LETTER RHA;Lo;0;L;0B22 0B3C;;;;N;;;;;
+0B5F;ORIYA LETTER YYA;Lo;0;L;;;;;N;;;;;
+0B60;ORIYA LETTER VOCALIC RR;Lo;0;L;;;;;N;;;;;
+0B61;ORIYA LETTER VOCALIC LL;Lo;0;L;;;;;N;;;;;
+0B66;ORIYA DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
+0B67;ORIYA DIGIT ONE;Nd;0;L;;1;1;1;N;;;;;
+0B68;ORIYA DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
+0B69;ORIYA DIGIT THREE;Nd;0;L;;3;3;3;N;;;;;
+0B6A;ORIYA DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;;
+0B6B;ORIYA DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;;
+0B6C;ORIYA DIGIT SIX;Nd;0;L;;6;6;6;N;;;;;
+0B6D;ORIYA DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
+0B6E;ORIYA DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
+0B6F;ORIYA DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
+0B70;ORIYA ISSHAR;So;0;L;;;;;N;;;;;
+0B71;ORIYA LETTER WA;Lo;0;L;;;;;N;;;;;
+0B82;TAMIL SIGN ANUSVARA;Mn;0;NSM;;;;;N;;;;;
+0B83;TAMIL SIGN VISARGA;Lo;0;L;;;;;N;;;;;
+0B85;TAMIL LETTER A;Lo;0;L;;;;;N;;;;;
+0B86;TAMIL LETTER AA;Lo;0;L;;;;;N;;;;;
+0B87;TAMIL LETTER I;Lo;0;L;;;;;N;;;;;
+0B88;TAMIL LETTER II;Lo;0;L;;;;;N;;;;;
+0B89;TAMIL LETTER U;Lo;0;L;;;;;N;;;;;
+0B8A;TAMIL LETTER UU;Lo;0;L;;;;;N;;;;;
+0B8E;TAMIL LETTER E;Lo;0;L;;;;;N;;;;;
+0B8F;TAMIL LETTER EE;Lo;0;L;;;;;N;;;;;
+0B90;TAMIL LETTER AI;Lo;0;L;;;;;N;;;;;
+0B92;TAMIL LETTER O;Lo;0;L;;;;;N;;;;;
+0B93;TAMIL LETTER OO;Lo;0;L;;;;;N;;;;;
+0B94;TAMIL LETTER AU;Lo;0;L;0B92 0BD7;;;;N;;;;;
+0B95;TAMIL LETTER KA;Lo;0;L;;;;;N;;;;;
+0B99;TAMIL LETTER NGA;Lo;0;L;;;;;N;;;;;
+0B9A;TAMIL LETTER CA;Lo;0;L;;;;;N;;;;;
+0B9C;TAMIL LETTER JA;Lo;0;L;;;;;N;;;;;
+0B9E;TAMIL LETTER NYA;Lo;0;L;;;;;N;;;;;
+0B9F;TAMIL LETTER TTA;Lo;0;L;;;;;N;;;;;
+0BA3;TAMIL LETTER NNA;Lo;0;L;;;;;N;;;;;
+0BA4;TAMIL LETTER TA;Lo;0;L;;;;;N;;;;;
+0BA8;TAMIL LETTER NA;Lo;0;L;;;;;N;;;;;
+0BA9;TAMIL LETTER NNNA;Lo;0;L;;;;;N;;;;;
+0BAA;TAMIL LETTER PA;Lo;0;L;;;;;N;;;;;
+0BAE;TAMIL LETTER MA;Lo;0;L;;;;;N;;;;;
+0BAF;TAMIL LETTER YA;Lo;0;L;;;;;N;;;;;
+0BB0;TAMIL LETTER RA;Lo;0;L;;;;;N;;;;;
+0BB1;TAMIL LETTER RRA;Lo;0;L;;;;;N;;;;;
+0BB2;TAMIL LETTER LA;Lo;0;L;;;;;N;;;;;
+0BB3;TAMIL LETTER LLA;Lo;0;L;;;;;N;;;;;
+0BB4;TAMIL LETTER LLLA;Lo;0;L;;;;;N;;;;;
+0BB5;TAMIL LETTER VA;Lo;0;L;;;;;N;;;;;
+0BB6;TAMIL LETTER SHA;Lo;0;L;;;;;N;;;;;
+0BB7;TAMIL LETTER SSA;Lo;0;L;;;;;N;;;;;
+0BB8;TAMIL LETTER SA;Lo;0;L;;;;;N;;;;;
+0BB9;TAMIL LETTER HA;Lo;0;L;;;;;N;;;;;
+0BBE;TAMIL VOWEL SIGN AA;Mc;0;L;;;;;N;;;;;
+0BBF;TAMIL VOWEL SIGN I;Mc;0;L;;;;;N;;;;;
+0BC0;TAMIL VOWEL SIGN II;Mn;0;NSM;;;;;N;;;;;
+0BC1;TAMIL VOWEL SIGN U;Mc;0;L;;;;;N;;;;;
+0BC2;TAMIL VOWEL SIGN UU;Mc;0;L;;;;;N;;;;;
+0BC6;TAMIL VOWEL SIGN E;Mc;0;L;;;;;N;;;;;
+0BC7;TAMIL VOWEL SIGN EE;Mc;0;L;;;;;N;;;;;
+0BC8;TAMIL VOWEL SIGN AI;Mc;0;L;;;;;N;;;;;
+0BCA;TAMIL VOWEL SIGN O;Mc;0;L;0BC6 0BBE;;;;N;;;;;
+0BCB;TAMIL VOWEL SIGN OO;Mc;0;L;0BC7 0BBE;;;;N;;;;;
+0BCC;TAMIL VOWEL SIGN AU;Mc;0;L;0BC6 0BD7;;;;N;;;;;
+0BCD;TAMIL SIGN VIRAMA;Mn;9;NSM;;;;;N;;;;;
+0BD7;TAMIL AU LENGTH MARK;Mc;0;L;;;;;N;;;;;
+0BE6;TAMIL DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
+0BE7;TAMIL DIGIT ONE;Nd;0;L;;1;1;1;N;;;;;
+0BE8;TAMIL DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
+0BE9;TAMIL DIGIT THREE;Nd;0;L;;3;3;3;N;;;;;
+0BEA;TAMIL DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;;
+0BEB;TAMIL DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;;
+0BEC;TAMIL DIGIT SIX;Nd;0;L;;6;6;6;N;;;;;
+0BED;TAMIL DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
+0BEE;TAMIL DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
+0BEF;TAMIL DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
+0BF0;TAMIL NUMBER TEN;No;0;L;;;;10;N;;;;;
+0BF1;TAMIL NUMBER ONE HUNDRED;No;0;L;;;;100;N;;;;;
+0BF2;TAMIL NUMBER ONE THOUSAND;No;0;L;;;;1000;N;;;;;
+0BF3;TAMIL DAY SIGN;So;0;ON;;;;;N;;Naal;;;
+0BF4;TAMIL MONTH SIGN;So;0;ON;;;;;N;;Maatham;;;
+0BF5;TAMIL YEAR SIGN;So;0;ON;;;;;N;;Varudam;;;
+0BF6;TAMIL DEBIT SIGN;So;0;ON;;;;;N;;Patru;;;
+0BF7;TAMIL CREDIT SIGN;So;0;ON;;;;;N;;Varavu;;;
+0BF8;TAMIL AS ABOVE SIGN;So;0;ON;;;;;N;;Merpadi;;;
+0BF9;TAMIL RUPEE SIGN;Sc;0;ET;;;;;N;;Rupai;;;
+0BFA;TAMIL NUMBER SIGN;So;0;ON;;;;;N;;Enn;;;
+0C01;TELUGU SIGN CANDRABINDU;Mc;0;L;;;;;N;;;;;
+0C02;TELUGU SIGN ANUSVARA;Mc;0;L;;;;;N;;;;;
+0C03;TELUGU SIGN VISARGA;Mc;0;L;;;;;N;;;;;
+0C05;TELUGU LETTER A;Lo;0;L;;;;;N;;;;;
+0C06;TELUGU LETTER AA;Lo;0;L;;;;;N;;;;;
+0C07;TELUGU LETTER I;Lo;0;L;;;;;N;;;;;
+0C08;TELUGU LETTER II;Lo;0;L;;;;;N;;;;;
+0C09;TELUGU LETTER U;Lo;0;L;;;;;N;;;;;
+0C0A;TELUGU LETTER UU;Lo;0;L;;;;;N;;;;;
+0C0B;TELUGU LETTER VOCALIC R;Lo;0;L;;;;;N;;;;;
+0C0C;TELUGU LETTER VOCALIC L;Lo;0;L;;;;;N;;;;;
+0C0E;TELUGU LETTER E;Lo;0;L;;;;;N;;;;;
+0C0F;TELUGU LETTER EE;Lo;0;L;;;;;N;;;;;
+0C10;TELUGU LETTER AI;Lo;0;L;;;;;N;;;;;
+0C12;TELUGU LETTER O;Lo;0;L;;;;;N;;;;;
+0C13;TELUGU LETTER OO;Lo;0;L;;;;;N;;;;;
+0C14;TELUGU LETTER AU;Lo;0;L;;;;;N;;;;;
+0C15;TELUGU LETTER KA;Lo;0;L;;;;;N;;;;;
+0C16;TELUGU LETTER KHA;Lo;0;L;;;;;N;;;;;
+0C17;TELUGU LETTER GA;Lo;0;L;;;;;N;;;;;
+0C18;TELUGU LETTER GHA;Lo;0;L;;;;;N;;;;;
+0C19;TELUGU LETTER NGA;Lo;0;L;;;;;N;;;;;
+0C1A;TELUGU LETTER CA;Lo;0;L;;;;;N;;;;;
+0C1B;TELUGU LETTER CHA;Lo;0;L;;;;;N;;;;;
+0C1C;TELUGU LETTER JA;Lo;0;L;;;;;N;;;;;
+0C1D;TELUGU LETTER JHA;Lo;0;L;;;;;N;;;;;
+0C1E;TELUGU LETTER NYA;Lo;0;L;;;;;N;;;;;
+0C1F;TELUGU LETTER TTA;Lo;0;L;;;;;N;;;;;
+0C20;TELUGU LETTER TTHA;Lo;0;L;;;;;N;;;;;
+0C21;TELUGU LETTER DDA;Lo;0;L;;;;;N;;;;;
+0C22;TELUGU LETTER DDHA;Lo;0;L;;;;;N;;;;;
+0C23;TELUGU LETTER NNA;Lo;0;L;;;;;N;;;;;
+0C24;TELUGU LETTER TA;Lo;0;L;;;;;N;;;;;
+0C25;TELUGU LETTER THA;Lo;0;L;;;;;N;;;;;
+0C26;TELUGU LETTER DA;Lo;0;L;;;;;N;;;;;
+0C27;TELUGU LETTER DHA;Lo;0;L;;;;;N;;;;;
+0C28;TELUGU LETTER NA;Lo;0;L;;;;;N;;;;;
+0C2A;TELUGU LETTER PA;Lo;0;L;;;;;N;;;;;
+0C2B;TELUGU LETTER PHA;Lo;0;L;;;;;N;;;;;
+0C2C;TELUGU LETTER BA;Lo;0;L;;;;;N;;;;;
+0C2D;TELUGU LETTER BHA;Lo;0;L;;;;;N;;;;;
+0C2E;TELUGU LETTER MA;Lo;0;L;;;;;N;;;;;
+0C2F;TELUGU LETTER YA;Lo;0;L;;;;;N;;;;;
+0C30;TELUGU LETTER RA;Lo;0;L;;;;;N;;;;;
+0C31;TELUGU LETTER RRA;Lo;0;L;;;;;N;;;;;
+0C32;TELUGU LETTER LA;Lo;0;L;;;;;N;;;;;
+0C33;TELUGU LETTER LLA;Lo;0;L;;;;;N;;;;;
+0C35;TELUGU LETTER VA;Lo;0;L;;;;;N;;;;;
+0C36;TELUGU LETTER SHA;Lo;0;L;;;;;N;;;;;
+0C37;TELUGU LETTER SSA;Lo;0;L;;;;;N;;;;;
+0C38;TELUGU LETTER SA;Lo;0;L;;;;;N;;;;;
+0C39;TELUGU LETTER HA;Lo;0;L;;;;;N;;;;;
+0C3E;TELUGU VOWEL SIGN AA;Mn;0;NSM;;;;;N;;;;;
+0C3F;TELUGU VOWEL SIGN I;Mn;0;NSM;;;;;N;;;;;
+0C40;TELUGU VOWEL SIGN II;Mn;0;NSM;;;;;N;;;;;
+0C41;TELUGU VOWEL SIGN U;Mc;0;L;;;;;N;;;;;
+0C42;TELUGU VOWEL SIGN UU;Mc;0;L;;;;;N;;;;;
+0C43;TELUGU VOWEL SIGN VOCALIC R;Mc;0;L;;;;;N;;;;;
+0C44;TELUGU VOWEL SIGN VOCALIC RR;Mc;0;L;;;;;N;;;;;
+0C46;TELUGU VOWEL SIGN E;Mn;0;NSM;;;;;N;;;;;
+0C47;TELUGU VOWEL SIGN EE;Mn;0;NSM;;;;;N;;;;;
+0C48;TELUGU VOWEL SIGN AI;Mn;0;NSM;0C46 0C56;;;;N;;;;;
+0C4A;TELUGU VOWEL SIGN O;Mn;0;NSM;;;;;N;;;;;
+0C4B;TELUGU VOWEL SIGN OO;Mn;0;NSM;;;;;N;;;;;
+0C4C;TELUGU VOWEL SIGN AU;Mn;0;NSM;;;;;N;;;;;
+0C4D;TELUGU SIGN VIRAMA;Mn;9;NSM;;;;;N;;;;;
+0C55;TELUGU LENGTH MARK;Mn;84;NSM;;;;;N;;;;;
+0C56;TELUGU AI LENGTH MARK;Mn;91;NSM;;;;;N;;;;;
+0C60;TELUGU LETTER VOCALIC RR;Lo;0;L;;;;;N;;;;;
+0C61;TELUGU LETTER VOCALIC LL;Lo;0;L;;;;;N;;;;;
+0C66;TELUGU DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
+0C67;TELUGU DIGIT ONE;Nd;0;L;;1;1;1;N;;;;;
+0C68;TELUGU DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
+0C69;TELUGU DIGIT THREE;Nd;0;L;;3;3;3;N;;;;;
+0C6A;TELUGU DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;;
+0C6B;TELUGU DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;;
+0C6C;TELUGU DIGIT SIX;Nd;0;L;;6;6;6;N;;;;;
+0C6D;TELUGU DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
+0C6E;TELUGU DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
+0C6F;TELUGU DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
+0C82;KANNADA SIGN ANUSVARA;Mc;0;L;;;;;N;;;;;
+0C83;KANNADA SIGN VISARGA;Mc;0;L;;;;;N;;;;;
+0C85;KANNADA LETTER A;Lo;0;L;;;;;N;;;;;
+0C86;KANNADA LETTER AA;Lo;0;L;;;;;N;;;;;
+0C87;KANNADA LETTER I;Lo;0;L;;;;;N;;;;;
+0C88;KANNADA LETTER II;Lo;0;L;;;;;N;;;;;
+0C89;KANNADA LETTER U;Lo;0;L;;;;;N;;;;;
+0C8A;KANNADA LETTER UU;Lo;0;L;;;;;N;;;;;
+0C8B;KANNADA LETTER VOCALIC R;Lo;0;L;;;;;N;;;;;
+0C8C;KANNADA LETTER VOCALIC L;Lo;0;L;;;;;N;;;;;
+0C8E;KANNADA LETTER E;Lo;0;L;;;;;N;;;;;
+0C8F;KANNADA LETTER EE;Lo;0;L;;;;;N;;;;;
+0C90;KANNADA LETTER AI;Lo;0;L;;;;;N;;;;;
+0C92;KANNADA LETTER O;Lo;0;L;;;;;N;;;;;
+0C93;KANNADA LETTER OO;Lo;0;L;;;;;N;;;;;
+0C94;KANNADA LETTER AU;Lo;0;L;;;;;N;;;;;
+0C95;KANNADA LETTER KA;Lo;0;L;;;;;N;;;;;
+0C96;KANNADA LETTER KHA;Lo;0;L;;;;;N;;;;;
+0C97;KANNADA LETTER GA;Lo;0;L;;;;;N;;;;;
+0C98;KANNADA LETTER GHA;Lo;0;L;;;;;N;;;;;
+0C99;KANNADA LETTER NGA;Lo;0;L;;;;;N;;;;;
+0C9A;KANNADA LETTER CA;Lo;0;L;;;;;N;;;;;
+0C9B;KANNADA LETTER CHA;Lo;0;L;;;;;N;;;;;
+0C9C;KANNADA LETTER JA;Lo;0;L;;;;;N;;;;;
+0C9D;KANNADA LETTER JHA;Lo;0;L;;;;;N;;;;;
+0C9E;KANNADA LETTER NYA;Lo;0;L;;;;;N;;;;;
+0C9F;KANNADA LETTER TTA;Lo;0;L;;;;;N;;;;;
+0CA0;KANNADA LETTER TTHA;Lo;0;L;;;;;N;;;;;
+0CA1;KANNADA LETTER DDA;Lo;0;L;;;;;N;;;;;
+0CA2;KANNADA LETTER DDHA;Lo;0;L;;;;;N;;;;;
+0CA3;KANNADA LETTER NNA;Lo;0;L;;;;;N;;;;;
+0CA4;KANNADA LETTER TA;Lo;0;L;;;;;N;;;;;
+0CA5;KANNADA LETTER THA;Lo;0;L;;;;;N;;;;;
+0CA6;KANNADA LETTER DA;Lo;0;L;;;;;N;;;;;
+0CA7;KANNADA LETTER DHA;Lo;0;L;;;;;N;;;;;
+0CA8;KANNADA LETTER NA;Lo;0;L;;;;;N;;;;;
+0CAA;KANNADA LETTER PA;Lo;0;L;;;;;N;;;;;
+0CAB;KANNADA LETTER PHA;Lo;0;L;;;;;N;;;;;
+0CAC;KANNADA LETTER BA;Lo;0;L;;;;;N;;;;;
+0CAD;KANNADA LETTER BHA;Lo;0;L;;;;;N;;;;;
+0CAE;KANNADA LETTER MA;Lo;0;L;;;;;N;;;;;
+0CAF;KANNADA LETTER YA;Lo;0;L;;;;;N;;;;;
+0CB0;KANNADA LETTER RA;Lo;0;L;;;;;N;;;;;
+0CB1;KANNADA LETTER RRA;Lo;0;L;;;;;N;;;;;
+0CB2;KANNADA LETTER LA;Lo;0;L;;;;;N;;;;;
+0CB3;KANNADA LETTER LLA;Lo;0;L;;;;;N;;;;;
+0CB5;KANNADA LETTER VA;Lo;0;L;;;;;N;;;;;
+0CB6;KANNADA LETTER SHA;Lo;0;L;;;;;N;;;;;
+0CB7;KANNADA LETTER SSA;Lo;0;L;;;;;N;;;;;
+0CB8;KANNADA LETTER SA;Lo;0;L;;;;;N;;;;;
+0CB9;KANNADA LETTER HA;Lo;0;L;;;;;N;;;;;
+0CBC;KANNADA SIGN NUKTA;Mn;7;NSM;;;;;N;;;;;
+0CBD;KANNADA SIGN AVAGRAHA;Lo;0;L;;;;;N;;;;;
+0CBE;KANNADA VOWEL SIGN AA;Mc;0;L;;;;;N;;;;;
+0CBF;KANNADA VOWEL SIGN I;Mn;0;L;;;;;N;;;;;
+0CC0;KANNADA VOWEL SIGN II;Mc;0;L;0CBF 0CD5;;;;N;;;;;
+0CC1;KANNADA VOWEL SIGN U;Mc;0;L;;;;;N;;;;;
+0CC2;KANNADA VOWEL SIGN UU;Mc;0;L;;;;;N;;;;;
+0CC3;KANNADA VOWEL SIGN VOCALIC R;Mc;0;L;;;;;N;;;;;
+0CC4;KANNADA VOWEL SIGN VOCALIC RR;Mc;0;L;;;;;N;;;;;
+0CC6;KANNADA VOWEL SIGN E;Mn;0;L;;;;;N;;;;;
+0CC7;KANNADA VOWEL SIGN EE;Mc;0;L;0CC6 0CD5;;;;N;;;;;
+0CC8;KANNADA VOWEL SIGN AI;Mc;0;L;0CC6 0CD6;;;;N;;;;;
+0CCA;KANNADA VOWEL SIGN O;Mc;0;L;0CC6 0CC2;;;;N;;;;;
+0CCB;KANNADA VOWEL SIGN OO;Mc;0;L;0CCA 0CD5;;;;N;;;;;
+0CCC;KANNADA VOWEL SIGN AU;Mn;0;NSM;;;;;N;;;;;
+0CCD;KANNADA SIGN VIRAMA;Mn;9;NSM;;;;;N;;;;;
+0CD5;KANNADA LENGTH MARK;Mc;0;L;;;;;N;;;;;
+0CD6;KANNADA AI LENGTH MARK;Mc;0;L;;;;;N;;;;;
+0CDE;KANNADA LETTER FA;Lo;0;L;;;;;N;;;;;
+0CE0;KANNADA LETTER VOCALIC RR;Lo;0;L;;;;;N;;;;;
+0CE1;KANNADA LETTER VOCALIC LL;Lo;0;L;;;;;N;;;;;
+0CE6;KANNADA DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
+0CE7;KANNADA DIGIT ONE;Nd;0;L;;1;1;1;N;;;;;
+0CE8;KANNADA DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
+0CE9;KANNADA DIGIT THREE;Nd;0;L;;3;3;3;N;;;;;
+0CEA;KANNADA DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;;
+0CEB;KANNADA DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;;
+0CEC;KANNADA DIGIT SIX;Nd;0;L;;6;6;6;N;;;;;
+0CED;KANNADA DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
+0CEE;KANNADA DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
+0CEF;KANNADA DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
+0D02;MALAYALAM SIGN ANUSVARA;Mc;0;L;;;;;N;;;;;
+0D03;MALAYALAM SIGN VISARGA;Mc;0;L;;;;;N;;;;;
+0D05;MALAYALAM LETTER A;Lo;0;L;;;;;N;;;;;
+0D06;MALAYALAM LETTER AA;Lo;0;L;;;;;N;;;;;
+0D07;MALAYALAM LETTER I;Lo;0;L;;;;;N;;;;;
+0D08;MALAYALAM LETTER II;Lo;0;L;;;;;N;;;;;
+0D09;MALAYALAM LETTER U;Lo;0;L;;;;;N;;;;;
+0D0A;MALAYALAM LETTER UU;Lo;0;L;;;;;N;;;;;
+0D0B;MALAYALAM LETTER VOCALIC R;Lo;0;L;;;;;N;;;;;
+0D0C;MALAYALAM LETTER VOCALIC L;Lo;0;L;;;;;N;;;;;
+0D0E;MALAYALAM LETTER E;Lo;0;L;;;;;N;;;;;
+0D0F;MALAYALAM LETTER EE;Lo;0;L;;;;;N;;;;;
+0D10;MALAYALAM LETTER AI;Lo;0;L;;;;;N;;;;;
+0D12;MALAYALAM LETTER O;Lo;0;L;;;;;N;;;;;
+0D13;MALAYALAM LETTER OO;Lo;0;L;;;;;N;;;;;
+0D14;MALAYALAM LETTER AU;Lo;0;L;;;;;N;;;;;
+0D15;MALAYALAM LETTER KA;Lo;0;L;;;;;N;;;;;
+0D16;MALAYALAM LETTER KHA;Lo;0;L;;;;;N;;;;;
+0D17;MALAYALAM LETTER GA;Lo;0;L;;;;;N;;;;;
+0D18;MALAYALAM LETTER GHA;Lo;0;L;;;;;N;;;;;
+0D19;MALAYALAM LETTER NGA;Lo;0;L;;;;;N;;;;;
+0D1A;MALAYALAM LETTER CA;Lo;0;L;;;;;N;;;;;
+0D1B;MALAYALAM LETTER CHA;Lo;0;L;;;;;N;;;;;
+0D1C;MALAYALAM LETTER JA;Lo;0;L;;;;;N;;;;;
+0D1D;MALAYALAM LETTER JHA;Lo;0;L;;;;;N;;;;;
+0D1E;MALAYALAM LETTER NYA;Lo;0;L;;;;;N;;;;;
+0D1F;MALAYALAM LETTER TTA;Lo;0;L;;;;;N;;;;;
+0D20;MALAYALAM LETTER TTHA;Lo;0;L;;;;;N;;;;;
+0D21;MALAYALAM LETTER DDA;Lo;0;L;;;;;N;;;;;
+0D22;MALAYALAM LETTER DDHA;Lo;0;L;;;;;N;;;;;
+0D23;MALAYALAM LETTER NNA;Lo;0;L;;;;;N;;;;;
+0D24;MALAYALAM LETTER TA;Lo;0;L;;;;;N;;;;;
+0D25;MALAYALAM LETTER THA;Lo;0;L;;;;;N;;;;;
+0D26;MALAYALAM LETTER DA;Lo;0;L;;;;;N;;;;;
+0D27;MALAYALAM LETTER DHA;Lo;0;L;;;;;N;;;;;
+0D28;MALAYALAM LETTER NA;Lo;0;L;;;;;N;;;;;
+0D2A;MALAYALAM LETTER PA;Lo;0;L;;;;;N;;;;;
+0D2B;MALAYALAM LETTER PHA;Lo;0;L;;;;;N;;;;;
+0D2C;MALAYALAM LETTER BA;Lo;0;L;;;;;N;;;;;
+0D2D;MALAYALAM LETTER BHA;Lo;0;L;;;;;N;;;;;
+0D2E;MALAYALAM LETTER MA;Lo;0;L;;;;;N;;;;;
+0D2F;MALAYALAM LETTER YA;Lo;0;L;;;;;N;;;;;
+0D30;MALAYALAM LETTER RA;Lo;0;L;;;;;N;;;;;
+0D31;MALAYALAM LETTER RRA;Lo;0;L;;;;;N;;;;;
+0D32;MALAYALAM LETTER LA;Lo;0;L;;;;;N;;;;;
+0D33;MALAYALAM LETTER LLA;Lo;0;L;;;;;N;;;;;
+0D34;MALAYALAM LETTER LLLA;Lo;0;L;;;;;N;;;;;
+0D35;MALAYALAM LETTER VA;Lo;0;L;;;;;N;;;;;
+0D36;MALAYALAM LETTER SHA;Lo;0;L;;;;;N;;;;;
+0D37;MALAYALAM LETTER SSA;Lo;0;L;;;;;N;;;;;
+0D38;MALAYALAM LETTER SA;Lo;0;L;;;;;N;;;;;
+0D39;MALAYALAM LETTER HA;Lo;0;L;;;;;N;;;;;
+0D3E;MALAYALAM VOWEL SIGN AA;Mc;0;L;;;;;N;;;;;
+0D3F;MALAYALAM VOWEL SIGN I;Mc;0;L;;;;;N;;;;;
+0D40;MALAYALAM VOWEL SIGN II;Mc;0;L;;;;;N;;;;;
+0D41;MALAYALAM VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;;
+0D42;MALAYALAM VOWEL SIGN UU;Mn;0;NSM;;;;;N;;;;;
+0D43;MALAYALAM VOWEL SIGN VOCALIC R;Mn;0;NSM;;;;;N;;;;;
+0D46;MALAYALAM VOWEL SIGN E;Mc;0;L;;;;;N;;;;;
+0D47;MALAYALAM VOWEL SIGN EE;Mc;0;L;;;;;N;;;;;
+0D48;MALAYALAM VOWEL SIGN AI;Mc;0;L;;;;;N;;;;;
+0D4A;MALAYALAM VOWEL SIGN O;Mc;0;L;0D46 0D3E;;;;N;;;;;
+0D4B;MALAYALAM VOWEL SIGN OO;Mc;0;L;0D47 0D3E;;;;N;;;;;
+0D4C;MALAYALAM VOWEL SIGN AU;Mc;0;L;0D46 0D57;;;;N;;;;;
+0D4D;MALAYALAM SIGN VIRAMA;Mn;9;NSM;;;;;N;;;;;
+0D57;MALAYALAM AU LENGTH MARK;Mc;0;L;;;;;N;;;;;
+0D60;MALAYALAM LETTER VOCALIC RR;Lo;0;L;;;;;N;;;;;
+0D61;MALAYALAM LETTER VOCALIC LL;Lo;0;L;;;;;N;;;;;
+0D66;MALAYALAM DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
+0D67;MALAYALAM DIGIT ONE;Nd;0;L;;1;1;1;N;;;;;
+0D68;MALAYALAM DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
+0D69;MALAYALAM DIGIT THREE;Nd;0;L;;3;3;3;N;;;;;
+0D6A;MALAYALAM DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;;
+0D6B;MALAYALAM DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;;
+0D6C;MALAYALAM DIGIT SIX;Nd;0;L;;6;6;6;N;;;;;
+0D6D;MALAYALAM DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
+0D6E;MALAYALAM DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
+0D6F;MALAYALAM DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
+0D82;SINHALA SIGN ANUSVARAYA;Mc;0;L;;;;;N;;;;;
+0D83;SINHALA SIGN VISARGAYA;Mc;0;L;;;;;N;;;;;
+0D85;SINHALA LETTER AYANNA;Lo;0;L;;;;;N;;;;;
+0D86;SINHALA LETTER AAYANNA;Lo;0;L;;;;;N;;;;;
+0D87;SINHALA LETTER AEYANNA;Lo;0;L;;;;;N;;;;;
+0D88;SINHALA LETTER AEEYANNA;Lo;0;L;;;;;N;;;;;
+0D89;SINHALA LETTER IYANNA;Lo;0;L;;;;;N;;;;;
+0D8A;SINHALA LETTER IIYANNA;Lo;0;L;;;;;N;;;;;
+0D8B;SINHALA LETTER UYANNA;Lo;0;L;;;;;N;;;;;
+0D8C;SINHALA LETTER UUYANNA;Lo;0;L;;;;;N;;;;;
+0D8D;SINHALA LETTER IRUYANNA;Lo;0;L;;;;;N;;;;;
+0D8E;SINHALA LETTER IRUUYANNA;Lo;0;L;;;;;N;;;;;
+0D8F;SINHALA LETTER ILUYANNA;Lo;0;L;;;;;N;;;;;
+0D90;SINHALA LETTER ILUUYANNA;Lo;0;L;;;;;N;;;;;
+0D91;SINHALA LETTER EYANNA;Lo;0;L;;;;;N;;;;;
+0D92;SINHALA LETTER EEYANNA;Lo;0;L;;;;;N;;;;;
+0D93;SINHALA LETTER AIYANNA;Lo;0;L;;;;;N;;;;;
+0D94;SINHALA LETTER OYANNA;Lo;0;L;;;;;N;;;;;
+0D95;SINHALA LETTER OOYANNA;Lo;0;L;;;;;N;;;;;
+0D96;SINHALA LETTER AUYANNA;Lo;0;L;;;;;N;;;;;
+0D9A;SINHALA LETTER ALPAPRAANA KAYANNA;Lo;0;L;;;;;N;;;;;
+0D9B;SINHALA LETTER MAHAAPRAANA KAYANNA;Lo;0;L;;;;;N;;;;;
+0D9C;SINHALA LETTER ALPAPRAANA GAYANNA;Lo;0;L;;;;;N;;;;;
+0D9D;SINHALA LETTER MAHAAPRAANA GAYANNA;Lo;0;L;;;;;N;;;;;
+0D9E;SINHALA LETTER KANTAJA NAASIKYAYA;Lo;0;L;;;;;N;;;;;
+0D9F;SINHALA LETTER SANYAKA GAYANNA;Lo;0;L;;;;;N;;;;;
+0DA0;SINHALA LETTER ALPAPRAANA CAYANNA;Lo;0;L;;;;;N;;;;;
+0DA1;SINHALA LETTER MAHAAPRAANA CAYANNA;Lo;0;L;;;;;N;;;;;
+0DA2;SINHALA LETTER ALPAPRAANA JAYANNA;Lo;0;L;;;;;N;;;;;
+0DA3;SINHALA LETTER MAHAAPRAANA JAYANNA;Lo;0;L;;;;;N;;;;;
+0DA4;SINHALA LETTER TAALUJA NAASIKYAYA;Lo;0;L;;;;;N;;;;;
+0DA5;SINHALA LETTER TAALUJA SANYOOGA NAAKSIKYAYA;Lo;0;L;;;;;N;;;;;
+0DA6;SINHALA LETTER SANYAKA JAYANNA;Lo;0;L;;;;;N;;;;;
+0DA7;SINHALA LETTER ALPAPRAANA TTAYANNA;Lo;0;L;;;;;N;;;;;
+0DA8;SINHALA LETTER MAHAAPRAANA TTAYANNA;Lo;0;L;;;;;N;;;;;
+0DA9;SINHALA LETTER ALPAPRAANA DDAYANNA;Lo;0;L;;;;;N;;;;;
+0DAA;SINHALA LETTER MAHAAPRAANA DDAYANNA;Lo;0;L;;;;;N;;;;;
+0DAB;SINHALA LETTER MUURDHAJA NAYANNA;Lo;0;L;;;;;N;;;;;
+0DAC;SINHALA LETTER SANYAKA DDAYANNA;Lo;0;L;;;;;N;;;;;
+0DAD;SINHALA LETTER ALPAPRAANA TAYANNA;Lo;0;L;;;;;N;;;;;
+0DAE;SINHALA LETTER MAHAAPRAANA TAYANNA;Lo;0;L;;;;;N;;;;;
+0DAF;SINHALA LETTER ALPAPRAANA DAYANNA;Lo;0;L;;;;;N;;;;;
+0DB0;SINHALA LETTER MAHAAPRAANA DAYANNA;Lo;0;L;;;;;N;;;;;
+0DB1;SINHALA LETTER DANTAJA NAYANNA;Lo;0;L;;;;;N;;;;;
+0DB3;SINHALA LETTER SANYAKA DAYANNA;Lo;0;L;;;;;N;;;;;
+0DB4;SINHALA LETTER ALPAPRAANA PAYANNA;Lo;0;L;;;;;N;;;;;
+0DB5;SINHALA LETTER MAHAAPRAANA PAYANNA;Lo;0;L;;;;;N;;;;;
+0DB6;SINHALA LETTER ALPAPRAANA BAYANNA;Lo;0;L;;;;;N;;;;;
+0DB7;SINHALA LETTER MAHAAPRAANA BAYANNA;Lo;0;L;;;;;N;;;;;
+0DB8;SINHALA LETTER MAYANNA;Lo;0;L;;;;;N;;;;;
+0DB9;SINHALA LETTER AMBA BAYANNA;Lo;0;L;;;;;N;;;;;
+0DBA;SINHALA LETTER YAYANNA;Lo;0;L;;;;;N;;;;;
+0DBB;SINHALA LETTER RAYANNA;Lo;0;L;;;;;N;;;;;
+0DBD;SINHALA LETTER DANTAJA LAYANNA;Lo;0;L;;;;;N;;;;;
+0DC0;SINHALA LETTER VAYANNA;Lo;0;L;;;;;N;;;;;
+0DC1;SINHALA LETTER TAALUJA SAYANNA;Lo;0;L;;;;;N;;;;;
+0DC2;SINHALA LETTER MUURDHAJA SAYANNA;Lo;0;L;;;;;N;;;;;
+0DC3;SINHALA LETTER DANTAJA SAYANNA;Lo;0;L;;;;;N;;;;;
+0DC4;SINHALA LETTER HAYANNA;Lo;0;L;;;;;N;;;;;
+0DC5;SINHALA LETTER MUURDHAJA LAYANNA;Lo;0;L;;;;;N;;;;;
+0DC6;SINHALA LETTER FAYANNA;Lo;0;L;;;;;N;;;;;
+0DCA;SINHALA SIGN AL-LAKUNA;Mn;9;NSM;;;;;N;;;;;
+0DCF;SINHALA VOWEL SIGN AELA-PILLA;Mc;0;L;;;;;N;;;;;
+0DD0;SINHALA VOWEL SIGN KETTI AEDA-PILLA;Mc;0;L;;;;;N;;;;;
+0DD1;SINHALA VOWEL SIGN DIGA AEDA-PILLA;Mc;0;L;;;;;N;;;;;
+0DD2;SINHALA VOWEL SIGN KETTI IS-PILLA;Mn;0;NSM;;;;;N;;;;;
+0DD3;SINHALA VOWEL SIGN DIGA IS-PILLA;Mn;0;NSM;;;;;N;;;;;
+0DD4;SINHALA VOWEL SIGN KETTI PAA-PILLA;Mn;0;NSM;;;;;N;;;;;
+0DD6;SINHALA VOWEL SIGN DIGA PAA-PILLA;Mn;0;NSM;;;;;N;;;;;
+0DD8;SINHALA VOWEL SIGN GAETTA-PILLA;Mc;0;L;;;;;N;;;;;
+0DD9;SINHALA VOWEL SIGN KOMBUVA;Mc;0;L;;;;;N;;;;;
+0DDA;SINHALA VOWEL SIGN DIGA KOMBUVA;Mc;0;L;0DD9 0DCA;;;;N;;;;;
+0DDB;SINHALA VOWEL SIGN KOMBU DEKA;Mc;0;L;;;;;N;;;;;
+0DDC;SINHALA VOWEL SIGN KOMBUVA HAA AELA-PILLA;Mc;0;L;0DD9 0DCF;;;;N;;;;;
+0DDD;SINHALA VOWEL SIGN KOMBUVA HAA DIGA AELA-PILLA;Mc;0;L;0DDC 0DCA;;;;N;;;;;
+0DDE;SINHALA VOWEL SIGN KOMBUVA HAA GAYANUKITTA;Mc;0;L;0DD9 0DDF;;;;N;;;;;
+0DDF;SINHALA VOWEL SIGN GAYANUKITTA;Mc;0;L;;;;;N;;;;;
+0DF2;SINHALA VOWEL SIGN DIGA GAETTA-PILLA;Mc;0;L;;;;;N;;;;;
+0DF3;SINHALA VOWEL SIGN DIGA GAYANUKITTA;Mc;0;L;;;;;N;;;;;
+0DF4;SINHALA PUNCTUATION KUNDDALIYA;Po;0;L;;;;;N;;;;;
+0E01;THAI CHARACTER KO KAI;Lo;0;L;;;;;N;THAI LETTER KO KAI;;;;
+0E02;THAI CHARACTER KHO KHAI;Lo;0;L;;;;;N;THAI LETTER KHO KHAI;;;;
+0E03;THAI CHARACTER KHO KHUAT;Lo;0;L;;;;;N;THAI LETTER KHO KHUAT;;;;
+0E04;THAI CHARACTER KHO KHWAI;Lo;0;L;;;;;N;THAI LETTER KHO KHWAI;;;;
+0E05;THAI CHARACTER KHO KHON;Lo;0;L;;;;;N;THAI LETTER KHO KHON;;;;
+0E06;THAI CHARACTER KHO RAKHANG;Lo;0;L;;;;;N;THAI LETTER KHO RAKHANG;;;;
+0E07;THAI CHARACTER NGO NGU;Lo;0;L;;;;;N;THAI LETTER NGO NGU;;;;
+0E08;THAI CHARACTER CHO CHAN;Lo;0;L;;;;;N;THAI LETTER CHO CHAN;;;;
+0E09;THAI CHARACTER CHO CHING;Lo;0;L;;;;;N;THAI LETTER CHO CHING;;;;
+0E0A;THAI CHARACTER CHO CHANG;Lo;0;L;;;;;N;THAI LETTER CHO CHANG;;;;
+0E0B;THAI CHARACTER SO SO;Lo;0;L;;;;;N;THAI LETTER SO SO;;;;
+0E0C;THAI CHARACTER CHO CHOE;Lo;0;L;;;;;N;THAI LETTER CHO CHOE;;;;
+0E0D;THAI CHARACTER YO YING;Lo;0;L;;;;;N;THAI LETTER YO YING;;;;
+0E0E;THAI CHARACTER DO CHADA;Lo;0;L;;;;;N;THAI LETTER DO CHADA;;;;
+0E0F;THAI CHARACTER TO PATAK;Lo;0;L;;;;;N;THAI LETTER TO PATAK;;;;
+0E10;THAI CHARACTER THO THAN;Lo;0;L;;;;;N;THAI LETTER THO THAN;;;;
+0E11;THAI CHARACTER THO NANGMONTHO;Lo;0;L;;;;;N;THAI LETTER THO NANGMONTHO;;;;
+0E12;THAI CHARACTER THO PHUTHAO;Lo;0;L;;;;;N;THAI LETTER THO PHUTHAO;;;;
+0E13;THAI CHARACTER NO NEN;Lo;0;L;;;;;N;THAI LETTER NO NEN;;;;
+0E14;THAI CHARACTER DO DEK;Lo;0;L;;;;;N;THAI LETTER DO DEK;;;;
+0E15;THAI CHARACTER TO TAO;Lo;0;L;;;;;N;THAI LETTER TO TAO;;;;
+0E16;THAI CHARACTER THO THUNG;Lo;0;L;;;;;N;THAI LETTER THO THUNG;;;;
+0E17;THAI CHARACTER THO THAHAN;Lo;0;L;;;;;N;THAI LETTER THO THAHAN;;;;
+0E18;THAI CHARACTER THO THONG;Lo;0;L;;;;;N;THAI LETTER THO THONG;;;;
+0E19;THAI CHARACTER NO NU;Lo;0;L;;;;;N;THAI LETTER NO NU;;;;
+0E1A;THAI CHARACTER BO BAIMAI;Lo;0;L;;;;;N;THAI LETTER BO BAIMAI;;;;
+0E1B;THAI CHARACTER PO PLA;Lo;0;L;;;;;N;THAI LETTER PO PLA;;;;
+0E1C;THAI CHARACTER PHO PHUNG;Lo;0;L;;;;;N;THAI LETTER PHO PHUNG;;;;
+0E1D;THAI CHARACTER FO FA;Lo;0;L;;;;;N;THAI LETTER FO FA;;;;
+0E1E;THAI CHARACTER PHO PHAN;Lo;0;L;;;;;N;THAI LETTER PHO PHAN;;;;
+0E1F;THAI CHARACTER FO FAN;Lo;0;L;;;;;N;THAI LETTER FO FAN;;;;
+0E20;THAI CHARACTER PHO SAMPHAO;Lo;0;L;;;;;N;THAI LETTER PHO SAMPHAO;;;;
+0E21;THAI CHARACTER MO MA;Lo;0;L;;;;;N;THAI LETTER MO MA;;;;
+0E22;THAI CHARACTER YO YAK;Lo;0;L;;;;;N;THAI LETTER YO YAK;;;;
+0E23;THAI CHARACTER RO RUA;Lo;0;L;;;;;N;THAI LETTER RO RUA;;;;
+0E24;THAI CHARACTER RU;Lo;0;L;;;;;N;THAI LETTER RU;;;;
+0E25;THAI CHARACTER LO LING;Lo;0;L;;;;;N;THAI LETTER LO LING;;;;
+0E26;THAI CHARACTER LU;Lo;0;L;;;;;N;THAI LETTER LU;;;;
+0E27;THAI CHARACTER WO WAEN;Lo;0;L;;;;;N;THAI LETTER WO WAEN;;;;
+0E28;THAI CHARACTER SO SALA;Lo;0;L;;;;;N;THAI LETTER SO SALA;;;;
+0E29;THAI CHARACTER SO RUSI;Lo;0;L;;;;;N;THAI LETTER SO RUSI;;;;
+0E2A;THAI CHARACTER SO SUA;Lo;0;L;;;;;N;THAI LETTER SO SUA;;;;
+0E2B;THAI CHARACTER HO HIP;Lo;0;L;;;;;N;THAI LETTER HO HIP;;;;
+0E2C;THAI CHARACTER LO CHULA;Lo;0;L;;;;;N;THAI LETTER LO CHULA;;;;
+0E2D;THAI CHARACTER O ANG;Lo;0;L;;;;;N;THAI LETTER O ANG;;;;
+0E2E;THAI CHARACTER HO NOKHUK;Lo;0;L;;;;;N;THAI LETTER HO NOK HUK;;;;
+0E2F;THAI CHARACTER PAIYANNOI;Lo;0;L;;;;;N;THAI PAI YAN NOI;paiyan noi;;;
+0E30;THAI CHARACTER SARA A;Lo;0;L;;;;;N;THAI VOWEL SIGN SARA A;;;;
+0E31;THAI CHARACTER MAI HAN-AKAT;Mn;0;NSM;;;;;N;THAI VOWEL SIGN MAI HAN-AKAT;;;;
+0E32;THAI CHARACTER SARA AA;Lo;0;L;;;;;N;THAI VOWEL SIGN SARA AA;;;;
+0E33;THAI CHARACTER SARA AM;Lo;0;L;<compat> 0E4D 0E32;;;;N;THAI VOWEL SIGN SARA AM;;;;
+0E34;THAI CHARACTER SARA I;Mn;0;NSM;;;;;N;THAI VOWEL SIGN SARA I;;;;
+0E35;THAI CHARACTER SARA II;Mn;0;NSM;;;;;N;THAI VOWEL SIGN SARA II;;;;
+0E36;THAI CHARACTER SARA UE;Mn;0;NSM;;;;;N;THAI VOWEL SIGN SARA UE;;;;
+0E37;THAI CHARACTER SARA UEE;Mn;0;NSM;;;;;N;THAI VOWEL SIGN SARA UEE;sara uue;;;
+0E38;THAI CHARACTER SARA U;Mn;103;NSM;;;;;N;THAI VOWEL SIGN SARA U;;;;
+0E39;THAI CHARACTER SARA UU;Mn;103;NSM;;;;;N;THAI VOWEL SIGN SARA UU;;;;
+0E3A;THAI CHARACTER PHINTHU;Mn;9;NSM;;;;;N;THAI VOWEL SIGN PHINTHU;;;;
+0E3F;THAI CURRENCY SYMBOL BAHT;Sc;0;ET;;;;;N;THAI BAHT SIGN;;;;
+0E40;THAI CHARACTER SARA E;Lo;0;L;;;;;N;THAI VOWEL SIGN SARA E;;;;
+0E41;THAI CHARACTER SARA AE;Lo;0;L;;;;;N;THAI VOWEL SIGN SARA AE;;;;
+0E42;THAI CHARACTER SARA O;Lo;0;L;;;;;N;THAI VOWEL SIGN SARA O;;;;
+0E43;THAI CHARACTER SARA AI MAIMUAN;Lo;0;L;;;;;N;THAI VOWEL SIGN SARA MAI MUAN;sara ai mai muan;;;
+0E44;THAI CHARACTER SARA AI MAIMALAI;Lo;0;L;;;;;N;THAI VOWEL SIGN SARA MAI MALAI;sara ai mai malai;;;
+0E45;THAI CHARACTER LAKKHANGYAO;Lo;0;L;;;;;N;THAI LAK KHANG YAO;lakkhang yao;;;
+0E46;THAI CHARACTER MAIYAMOK;Lm;0;L;;;;;N;THAI MAI YAMOK;mai yamok;;;
+0E47;THAI CHARACTER MAITAIKHU;Mn;0;NSM;;;;;N;THAI VOWEL SIGN MAI TAI KHU;mai taikhu;;;
+0E48;THAI CHARACTER MAI EK;Mn;107;NSM;;;;;N;THAI TONE MAI EK;;;;
+0E49;THAI CHARACTER MAI THO;Mn;107;NSM;;;;;N;THAI TONE MAI THO;;;;
+0E4A;THAI CHARACTER MAI TRI;Mn;107;NSM;;;;;N;THAI TONE MAI TRI;;;;
+0E4B;THAI CHARACTER MAI CHATTAWA;Mn;107;NSM;;;;;N;THAI TONE MAI CHATTAWA;;;;
+0E4C;THAI CHARACTER THANTHAKHAT;Mn;0;NSM;;;;;N;THAI THANTHAKHAT;;;;
+0E4D;THAI CHARACTER NIKHAHIT;Mn;0;NSM;;;;;N;THAI NIKKHAHIT;nikkhahit;;;
+0E4E;THAI CHARACTER YAMAKKAN;Mn;0;NSM;;;;;N;THAI YAMAKKAN;;;;
+0E4F;THAI CHARACTER FONGMAN;Po;0;L;;;;;N;THAI FONGMAN;;;;
+0E50;THAI DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
+0E51;THAI DIGIT ONE;Nd;0;L;;1;1;1;N;;;;;
+0E52;THAI DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
+0E53;THAI DIGIT THREE;Nd;0;L;;3;3;3;N;;;;;
+0E54;THAI DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;;
+0E55;THAI DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;;
+0E56;THAI DIGIT SIX;Nd;0;L;;6;6;6;N;;;;;
+0E57;THAI DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
+0E58;THAI DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
+0E59;THAI DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
+0E5A;THAI CHARACTER ANGKHANKHU;Po;0;L;;;;;N;THAI ANGKHANKHU;;;;
+0E5B;THAI CHARACTER KHOMUT;Po;0;L;;;;;N;THAI KHOMUT;;;;
+0E81;LAO LETTER KO;Lo;0;L;;;;;N;;;;;
+0E82;LAO LETTER KHO SUNG;Lo;0;L;;;;;N;;;;;
+0E84;LAO LETTER KHO TAM;Lo;0;L;;;;;N;;;;;
+0E87;LAO LETTER NGO;Lo;0;L;;;;;N;;;;;
+0E88;LAO LETTER CO;Lo;0;L;;;;;N;;;;;
+0E8A;LAO LETTER SO TAM;Lo;0;L;;;;;N;;;;;
+0E8D;LAO LETTER NYO;Lo;0;L;;;;;N;;;;;
+0E94;LAO LETTER DO;Lo;0;L;;;;;N;;;;;
+0E95;LAO LETTER TO;Lo;0;L;;;;;N;;;;;
+0E96;LAO LETTER THO SUNG;Lo;0;L;;;;;N;;;;;
+0E97;LAO LETTER THO TAM;Lo;0;L;;;;;N;;;;;
+0E99;LAO LETTER NO;Lo;0;L;;;;;N;;;;;
+0E9A;LAO LETTER BO;Lo;0;L;;;;;N;;;;;
+0E9B;LAO LETTER PO;Lo;0;L;;;;;N;;;;;
+0E9C;LAO LETTER PHO SUNG;Lo;0;L;;;;;N;;;;;
+0E9D;LAO LETTER FO TAM;Lo;0;L;;;;;N;;;;;
+0E9E;LAO LETTER PHO TAM;Lo;0;L;;;;;N;;;;;
+0E9F;LAO LETTER FO SUNG;Lo;0;L;;;;;N;;;;;
+0EA1;LAO LETTER MO;Lo;0;L;;;;;N;;;;;
+0EA2;LAO LETTER YO;Lo;0;L;;;;;N;;;;;
+0EA3;LAO LETTER LO LING;Lo;0;L;;;;;N;;;;;
+0EA5;LAO LETTER LO LOOT;Lo;0;L;;;;;N;;;;;
+0EA7;LAO LETTER WO;Lo;0;L;;;;;N;;;;;
+0EAA;LAO LETTER SO SUNG;Lo;0;L;;;;;N;;;;;
+0EAB;LAO LETTER HO SUNG;Lo;0;L;;;;;N;;;;;
+0EAD;LAO LETTER O;Lo;0;L;;;;;N;;;;;
+0EAE;LAO LETTER HO TAM;Lo;0;L;;;;;N;;;;;
+0EAF;LAO ELLIPSIS;Lo;0;L;;;;;N;;;;;
+0EB0;LAO VOWEL SIGN A;Lo;0;L;;;;;N;;;;;
+0EB1;LAO VOWEL SIGN MAI KAN;Mn;0;NSM;;;;;N;;;;;
+0EB2;LAO VOWEL SIGN AA;Lo;0;L;;;;;N;;;;;
+0EB3;LAO VOWEL SIGN AM;Lo;0;L;<compat> 0ECD 0EB2;;;;N;;;;;
+0EB4;LAO VOWEL SIGN I;Mn;0;NSM;;;;;N;;;;;
+0EB5;LAO VOWEL SIGN II;Mn;0;NSM;;;;;N;;;;;
+0EB6;LAO VOWEL SIGN Y;Mn;0;NSM;;;;;N;;;;;
+0EB7;LAO VOWEL SIGN YY;Mn;0;NSM;;;;;N;;;;;
+0EB8;LAO VOWEL SIGN U;Mn;118;NSM;;;;;N;;;;;
+0EB9;LAO VOWEL SIGN UU;Mn;118;NSM;;;;;N;;;;;
+0EBB;LAO VOWEL SIGN MAI KON;Mn;0;NSM;;;;;N;;;;;
+0EBC;LAO SEMIVOWEL SIGN LO;Mn;0;NSM;;;;;N;;;;;
+0EBD;LAO SEMIVOWEL SIGN NYO;Lo;0;L;;;;;N;;;;;
+0EC0;LAO VOWEL SIGN E;Lo;0;L;;;;;N;;;;;
+0EC1;LAO VOWEL SIGN EI;Lo;0;L;;;;;N;;;;;
+0EC2;LAO VOWEL SIGN O;Lo;0;L;;;;;N;;;;;
+0EC3;LAO VOWEL SIGN AY;Lo;0;L;;;;;N;;;;;
+0EC4;LAO VOWEL SIGN AI;Lo;0;L;;;;;N;;;;;
+0EC6;LAO KO LA;Lm;0;L;;;;;N;;;;;
+0EC8;LAO TONE MAI EK;Mn;122;NSM;;;;;N;;;;;
+0EC9;LAO TONE MAI THO;Mn;122;NSM;;;;;N;;;;;
+0ECA;LAO TONE MAI TI;Mn;122;NSM;;;;;N;;;;;
+0ECB;LAO TONE MAI CATAWA;Mn;122;NSM;;;;;N;;;;;
+0ECC;LAO CANCELLATION MARK;Mn;0;NSM;;;;;N;;;;;
+0ECD;LAO NIGGAHITA;Mn;0;NSM;;;;;N;;;;;
+0ED0;LAO DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
+0ED1;LAO DIGIT ONE;Nd;0;L;;1;1;1;N;;;;;
+0ED2;LAO DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
+0ED3;LAO DIGIT THREE;Nd;0;L;;3;3;3;N;;;;;
+0ED4;LAO DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;;
+0ED5;LAO DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;;
+0ED6;LAO DIGIT SIX;Nd;0;L;;6;6;6;N;;;;;
+0ED7;LAO DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
+0ED8;LAO DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
+0ED9;LAO DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
+0EDC;LAO HO NO;Lo;0;L;<compat> 0EAB 0E99;;;;N;;;;;
+0EDD;LAO HO MO;Lo;0;L;<compat> 0EAB 0EA1;;;;N;;;;;
+0F00;TIBETAN SYLLABLE OM;Lo;0;L;;;;;N;;;;;
+0F01;TIBETAN MARK GTER YIG MGO TRUNCATED A;So;0;L;;;;;N;;ter yik go a thung;;;
+0F02;TIBETAN MARK GTER YIG MGO -UM RNAM BCAD MA;So;0;L;;;;;N;;ter yik go wum nam chey ma;;;
+0F03;TIBETAN MARK GTER YIG MGO -UM GTER TSHEG MA;So;0;L;;;;;N;;ter yik go wum ter tsek ma;;;
+0F04;TIBETAN MARK INITIAL YIG MGO MDUN MA;Po;0;L;;;;;N;TIBETAN SINGLE ORNAMENT;yik go dun ma;;;
+0F05;TIBETAN MARK CLOSING YIG MGO SGAB MA;Po;0;L;;;;;N;;yik go kab ma;;;
+0F06;TIBETAN MARK CARET YIG MGO PHUR SHAD MA;Po;0;L;;;;;N;;yik go pur shey ma;;;
+0F07;TIBETAN MARK YIG MGO TSHEG SHAD MA;Po;0;L;;;;;N;;yik go tsek shey ma;;;
+0F08;TIBETAN MARK SBRUL SHAD;Po;0;L;;;;;N;TIBETAN RGYANSHAD;drul shey;;;
+0F09;TIBETAN MARK BSKUR YIG MGO;Po;0;L;;;;;N;;kur yik go;;;
+0F0A;TIBETAN MARK BKA- SHOG YIG MGO;Po;0;L;;;;;N;;ka sho yik go;;;
+0F0B;TIBETAN MARK INTERSYLLABIC TSHEG;Po;0;L;;;;;N;TIBETAN TSEG;tsek;;;
+0F0C;TIBETAN MARK DELIMITER TSHEG BSTAR;Po;0;L;<noBreak> 0F0B;;;;N;;tsek tar;;;
+0F0D;TIBETAN MARK SHAD;Po;0;L;;;;;N;TIBETAN SHAD;shey;;;
+0F0E;TIBETAN MARK NYIS SHAD;Po;0;L;;;;;N;TIBETAN DOUBLE SHAD;nyi shey;;;
+0F0F;TIBETAN MARK TSHEG SHAD;Po;0;L;;;;;N;;tsek shey;;;
+0F10;TIBETAN MARK NYIS TSHEG SHAD;Po;0;L;;;;;N;;nyi tsek shey;;;
+0F11;TIBETAN MARK RIN CHEN SPUNGS SHAD;Po;0;L;;;;;N;TIBETAN RINCHANPHUNGSHAD;rinchen pung shey;;;
+0F12;TIBETAN MARK RGYA GRAM SHAD;Po;0;L;;;;;N;;gya tram shey;;;
+0F13;TIBETAN MARK CARET -DZUD RTAGS ME LONG CAN;So;0;L;;;;;N;;dzu ta me long chen;;;
+0F14;TIBETAN MARK GTER TSHEG;So;0;L;;;;;N;TIBETAN COMMA;ter tsek;;;
+0F15;TIBETAN LOGOTYPE SIGN CHAD RTAGS;So;0;L;;;;;N;;che ta;;;
+0F16;TIBETAN LOGOTYPE SIGN LHAG RTAGS;So;0;L;;;;;N;;hlak ta;;;
+0F17;TIBETAN ASTROLOGICAL SIGN SGRA GCAN -CHAR RTAGS;So;0;L;;;;;N;;trachen char ta;;;
+0F18;TIBETAN ASTROLOGICAL SIGN -KHYUD PA;Mn;220;NSM;;;;;N;;kyu pa;;;
+0F19;TIBETAN ASTROLOGICAL SIGN SDONG TSHUGS;Mn;220;NSM;;;;;N;;dong tsu;;;
+0F1A;TIBETAN SIGN RDEL DKAR GCIG;So;0;L;;;;;N;;deka chig;;;
+0F1B;TIBETAN SIGN RDEL DKAR GNYIS;So;0;L;;;;;N;;deka nyi;;;
+0F1C;TIBETAN SIGN RDEL DKAR GSUM;So;0;L;;;;;N;;deka sum;;;
+0F1D;TIBETAN SIGN RDEL NAG GCIG;So;0;L;;;;;N;;dena chig;;;
+0F1E;TIBETAN SIGN RDEL NAG GNYIS;So;0;L;;;;;N;;dena nyi;;;
+0F1F;TIBETAN SIGN RDEL DKAR RDEL NAG;So;0;L;;;;;N;;deka dena;;;
+0F20;TIBETAN DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
+0F21;TIBETAN DIGIT ONE;Nd;0;L;;1;1;1;N;;;;;
+0F22;TIBETAN DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
+0F23;TIBETAN DIGIT THREE;Nd;0;L;;3;3;3;N;;;;;
+0F24;TIBETAN DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;;
+0F25;TIBETAN DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;;
+0F26;TIBETAN DIGIT SIX;Nd;0;L;;6;6;6;N;;;;;
+0F27;TIBETAN DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
+0F28;TIBETAN DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
+0F29;TIBETAN DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
+0F2A;TIBETAN DIGIT HALF ONE;No;0;L;;;;1/2;N;;;;;
+0F2B;TIBETAN DIGIT HALF TWO;No;0;L;;;;3/2;N;;;;;
+0F2C;TIBETAN DIGIT HALF THREE;No;0;L;;;;5/2;N;;;;;
+0F2D;TIBETAN DIGIT HALF FOUR;No;0;L;;;;7/2;N;;;;;
+0F2E;TIBETAN DIGIT HALF FIVE;No;0;L;;;;9/2;N;;;;;
+0F2F;TIBETAN DIGIT HALF SIX;No;0;L;;;;11/2;N;;;;;
+0F30;TIBETAN DIGIT HALF SEVEN;No;0;L;;;;13/2;N;;;;;
+0F31;TIBETAN DIGIT HALF EIGHT;No;0;L;;;;15/2;N;;;;;
+0F32;TIBETAN DIGIT HALF NINE;No;0;L;;;;17/2;N;;;;;
+0F33;TIBETAN DIGIT HALF ZERO;No;0;L;;;;-1/2;N;;;;;
+0F34;TIBETAN MARK BSDUS RTAGS;So;0;L;;;;;N;;du ta;;;
+0F35;TIBETAN MARK NGAS BZUNG NYI ZLA;Mn;220;NSM;;;;;N;TIBETAN HONORIFIC UNDER RING;nge zung nyi da;;;
+0F36;TIBETAN MARK CARET -DZUD RTAGS BZHI MIG CAN;So;0;L;;;;;N;;dzu ta shi mig chen;;;
+0F37;TIBETAN MARK NGAS BZUNG SGOR RTAGS;Mn;220;NSM;;;;;N;TIBETAN UNDER RING;nge zung gor ta;;;
+0F38;TIBETAN MARK CHE MGO;So;0;L;;;;;N;;che go;;;
+0F39;TIBETAN MARK TSA -PHRU;Mn;216;NSM;;;;;N;TIBETAN LENITION MARK;tsa tru;;;
+0F3A;TIBETAN MARK GUG RTAGS GYON;Ps;0;ON;;;;;N;;gug ta yun;;;
+0F3B;TIBETAN MARK GUG RTAGS GYAS;Pe;0;ON;;;;;N;;gug ta ye;;;
+0F3C;TIBETAN MARK ANG KHANG GYON;Ps;0;ON;;;;;N;TIBETAN LEFT BRACE;ang kang yun;;;
+0F3D;TIBETAN MARK ANG KHANG GYAS;Pe;0;ON;;;;;N;TIBETAN RIGHT BRACE;ang kang ye;;;
+0F3E;TIBETAN SIGN YAR TSHES;Mc;0;L;;;;;N;;yar tse;;;
+0F3F;TIBETAN SIGN MAR TSHES;Mc;0;L;;;;;N;;mar tse;;;
+0F40;TIBETAN LETTER KA;Lo;0;L;;;;;N;;;;;
+0F41;TIBETAN LETTER KHA;Lo;0;L;;;;;N;;;;;
+0F42;TIBETAN LETTER GA;Lo;0;L;;;;;N;;;;;
+0F43;TIBETAN LETTER GHA;Lo;0;L;0F42 0FB7;;;;N;;;;;
+0F44;TIBETAN LETTER NGA;Lo;0;L;;;;;N;;;;;
+0F45;TIBETAN LETTER CA;Lo;0;L;;;;;N;;;;;
+0F46;TIBETAN LETTER CHA;Lo;0;L;;;;;N;;;;;
+0F47;TIBETAN LETTER JA;Lo;0;L;;;;;N;;;;;
+0F49;TIBETAN LETTER NYA;Lo;0;L;;;;;N;;;;;
+0F4A;TIBETAN LETTER TTA;Lo;0;L;;;;;N;TIBETAN LETTER REVERSED TA;;;;
+0F4B;TIBETAN LETTER TTHA;Lo;0;L;;;;;N;TIBETAN LETTER REVERSED THA;;;;
+0F4C;TIBETAN LETTER DDA;Lo;0;L;;;;;N;TIBETAN LETTER REVERSED DA;;;;
+0F4D;TIBETAN LETTER DDHA;Lo;0;L;0F4C 0FB7;;;;N;;;;;
+0F4E;TIBETAN LETTER NNA;Lo;0;L;;;;;N;TIBETAN LETTER REVERSED NA;;;;
+0F4F;TIBETAN LETTER TA;Lo;0;L;;;;;N;;;;;
+0F50;TIBETAN LETTER THA;Lo;0;L;;;;;N;;;;;
+0F51;TIBETAN LETTER DA;Lo;0;L;;;;;N;;;;;
+0F52;TIBETAN LETTER DHA;Lo;0;L;0F51 0FB7;;;;N;;;;;
+0F53;TIBETAN LETTER NA;Lo;0;L;;;;;N;;;;;
+0F54;TIBETAN LETTER PA;Lo;0;L;;;;;N;;;;;
+0F55;TIBETAN LETTER PHA;Lo;0;L;;;;;N;;;;;
+0F56;TIBETAN LETTER BA;Lo;0;L;;;;;N;;;;;
+0F57;TIBETAN LETTER BHA;Lo;0;L;0F56 0FB7;;;;N;;;;;
+0F58;TIBETAN LETTER MA;Lo;0;L;;;;;N;;;;;
+0F59;TIBETAN LETTER TSA;Lo;0;L;;;;;N;;;;;
+0F5A;TIBETAN LETTER TSHA;Lo;0;L;;;;;N;;;;;
+0F5B;TIBETAN LETTER DZA;Lo;0;L;;;;;N;;;;;
+0F5C;TIBETAN LETTER DZHA;Lo;0;L;0F5B 0FB7;;;;N;;;;;
+0F5D;TIBETAN LETTER WA;Lo;0;L;;;;;N;;;;;
+0F5E;TIBETAN LETTER ZHA;Lo;0;L;;;;;N;;;;;
+0F5F;TIBETAN LETTER ZA;Lo;0;L;;;;;N;;;;;
+0F60;TIBETAN LETTER -A;Lo;0;L;;;;;N;TIBETAN LETTER AA;;;;
+0F61;TIBETAN LETTER YA;Lo;0;L;;;;;N;;;;;
+0F62;TIBETAN LETTER RA;Lo;0;L;;;;;N;;*;;;
+0F63;TIBETAN LETTER LA;Lo;0;L;;;;;N;;;;;
+0F64;TIBETAN LETTER SHA;Lo;0;L;;;;;N;;;;;
+0F65;TIBETAN LETTER SSA;Lo;0;L;;;;;N;TIBETAN LETTER REVERSED SHA;;;;
+0F66;TIBETAN LETTER SA;Lo;0;L;;;;;N;;;;;
+0F67;TIBETAN LETTER HA;Lo;0;L;;;;;N;;;;;
+0F68;TIBETAN LETTER A;Lo;0;L;;;;;N;;;;;
+0F69;TIBETAN LETTER KSSA;Lo;0;L;0F40 0FB5;;;;N;;;;;
+0F6A;TIBETAN LETTER FIXED-FORM RA;Lo;0;L;;;;;N;;*;;;
+0F71;TIBETAN VOWEL SIGN AA;Mn;129;NSM;;;;;N;;;;;
+0F72;TIBETAN VOWEL SIGN I;Mn;130;NSM;;;;;N;;;;;
+0F73;TIBETAN VOWEL SIGN II;Mn;0;NSM;0F71 0F72;;;;N;;;;;
+0F74;TIBETAN VOWEL SIGN U;Mn;132;NSM;;;;;N;;;;;
+0F75;TIBETAN VOWEL SIGN UU;Mn;0;NSM;0F71 0F74;;;;N;;;;;
+0F76;TIBETAN VOWEL SIGN VOCALIC R;Mn;0;NSM;0FB2 0F80;;;;N;;;;;
+0F77;TIBETAN VOWEL SIGN VOCALIC RR;Mn;0;NSM;<compat> 0FB2 0F81;;;;N;;;;;
+0F78;TIBETAN VOWEL SIGN VOCALIC L;Mn;0;NSM;0FB3 0F80;;;;N;;;;;
+0F79;TIBETAN VOWEL SIGN VOCALIC LL;Mn;0;NSM;<compat> 0FB3 0F81;;;;N;;;;;
+0F7A;TIBETAN VOWEL SIGN E;Mn;130;NSM;;;;;N;;;;;
+0F7B;TIBETAN VOWEL SIGN EE;Mn;130;NSM;;;;;N;TIBETAN VOWEL SIGN AI;;;;
+0F7C;TIBETAN VOWEL SIGN O;Mn;130;NSM;;;;;N;;;;;
+0F7D;TIBETAN VOWEL SIGN OO;Mn;130;NSM;;;;;N;TIBETAN VOWEL SIGN AU;;;;
+0F7E;TIBETAN SIGN RJES SU NGA RO;Mn;0;NSM;;;;;N;TIBETAN ANUSVARA;je su nga ro;;;
+0F7F;TIBETAN SIGN RNAM BCAD;Mc;0;L;;;;;N;TIBETAN VISARGA;nam chey;;;
+0F80;TIBETAN VOWEL SIGN REVERSED I;Mn;130;NSM;;;;;N;TIBETAN VOWEL SIGN SHORT I;;;;
+0F81;TIBETAN VOWEL SIGN REVERSED II;Mn;0;NSM;0F71 0F80;;;;N;;;;;
+0F82;TIBETAN SIGN NYI ZLA NAA DA;Mn;230;NSM;;;;;N;TIBETAN CANDRABINDU WITH ORNAMENT;nyi da na da;;;
+0F83;TIBETAN SIGN SNA LDAN;Mn;230;NSM;;;;;N;TIBETAN CANDRABINDU;nan de;;;
+0F84;TIBETAN MARK HALANTA;Mn;9;NSM;;;;;N;TIBETAN VIRAMA;;;;
+0F85;TIBETAN MARK PALUTA;Po;0;L;;;;;N;TIBETAN CHUCHENYIGE;;;;
+0F86;TIBETAN SIGN LCI RTAGS;Mn;230;NSM;;;;;N;;ji ta;;;
+0F87;TIBETAN SIGN YANG RTAGS;Mn;230;NSM;;;;;N;;yang ta;;;
+0F88;TIBETAN SIGN LCE TSA CAN;Lo;0;L;;;;;N;;che tsa chen;;;
+0F89;TIBETAN SIGN MCHU CAN;Lo;0;L;;;;;N;;chu chen;;;
+0F8A;TIBETAN SIGN GRU CAN RGYINGS;Lo;0;L;;;;;N;;tru chen ging;;;
+0F8B;TIBETAN SIGN GRU MED RGYINGS;Lo;0;L;;;;;N;;tru me ging;;;
+0F90;TIBETAN SUBJOINED LETTER KA;Mn;0;NSM;;;;;N;;;;;
+0F91;TIBETAN SUBJOINED LETTER KHA;Mn;0;NSM;;;;;N;;;;;
+0F92;TIBETAN SUBJOINED LETTER GA;Mn;0;NSM;;;;;N;;;;;
+0F93;TIBETAN SUBJOINED LETTER GHA;Mn;0;NSM;0F92 0FB7;;;;N;;;;;
+0F94;TIBETAN SUBJOINED LETTER NGA;Mn;0;NSM;;;;;N;;;;;
+0F95;TIBETAN SUBJOINED LETTER CA;Mn;0;NSM;;;;;N;;;;;
+0F96;TIBETAN SUBJOINED LETTER CHA;Mn;0;NSM;;;;;N;;;;;
+0F97;TIBETAN SUBJOINED LETTER JA;Mn;0;NSM;;;;;N;;;;;
+0F99;TIBETAN SUBJOINED LETTER NYA;Mn;0;NSM;;;;;N;;;;;
+0F9A;TIBETAN SUBJOINED LETTER TTA;Mn;0;NSM;;;;;N;;;;;
+0F9B;TIBETAN SUBJOINED LETTER TTHA;Mn;0;NSM;;;;;N;;;;;
+0F9C;TIBETAN SUBJOINED LETTER DDA;Mn;0;NSM;;;;;N;;;;;
+0F9D;TIBETAN SUBJOINED LETTER DDHA;Mn;0;NSM;0F9C 0FB7;;;;N;;;;;
+0F9E;TIBETAN SUBJOINED LETTER NNA;Mn;0;NSM;;;;;N;;;;;
+0F9F;TIBETAN SUBJOINED LETTER TA;Mn;0;NSM;;;;;N;;;;;
+0FA0;TIBETAN SUBJOINED LETTER THA;Mn;0;NSM;;;;;N;;;;;
+0FA1;TIBETAN SUBJOINED LETTER DA;Mn;0;NSM;;;;;N;;;;;
+0FA2;TIBETAN SUBJOINED LETTER DHA;Mn;0;NSM;0FA1 0FB7;;;;N;;;;;
+0FA3;TIBETAN SUBJOINED LETTER NA;Mn;0;NSM;;;;;N;;;;;
+0FA4;TIBETAN SUBJOINED LETTER PA;Mn;0;NSM;;;;;N;;;;;
+0FA5;TIBETAN SUBJOINED LETTER PHA;Mn;0;NSM;;;;;N;;;;;
+0FA6;TIBETAN SUBJOINED LETTER BA;Mn;0;NSM;;;;;N;;;;;
+0FA7;TIBETAN SUBJOINED LETTER BHA;Mn;0;NSM;0FA6 0FB7;;;;N;;;;;
+0FA8;TIBETAN SUBJOINED LETTER MA;Mn;0;NSM;;;;;N;;;;;
+0FA9;TIBETAN SUBJOINED LETTER TSA;Mn;0;NSM;;;;;N;;;;;
+0FAA;TIBETAN SUBJOINED LETTER TSHA;Mn;0;NSM;;;;;N;;;;;
+0FAB;TIBETAN SUBJOINED LETTER DZA;Mn;0;NSM;;;;;N;;;;;
+0FAC;TIBETAN SUBJOINED LETTER DZHA;Mn;0;NSM;0FAB 0FB7;;;;N;;;;;
+0FAD;TIBETAN SUBJOINED LETTER WA;Mn;0;NSM;;;;;N;;*;;;
+0FAE;TIBETAN SUBJOINED LETTER ZHA;Mn;0;NSM;;;;;N;;;;;
+0FAF;TIBETAN SUBJOINED LETTER ZA;Mn;0;NSM;;;;;N;;;;;
+0FB0;TIBETAN SUBJOINED LETTER -A;Mn;0;NSM;;;;;N;;;;;
+0FB1;TIBETAN SUBJOINED LETTER YA;Mn;0;NSM;;;;;N;;*;;;
+0FB2;TIBETAN SUBJOINED LETTER RA;Mn;0;NSM;;;;;N;;*;;;
+0FB3;TIBETAN SUBJOINED LETTER LA;Mn;0;NSM;;;;;N;;;;;
+0FB4;TIBETAN SUBJOINED LETTER SHA;Mn;0;NSM;;;;;N;;;;;
+0FB5;TIBETAN SUBJOINED LETTER SSA;Mn;0;NSM;;;;;N;;;;;
+0FB6;TIBETAN SUBJOINED LETTER SA;Mn;0;NSM;;;;;N;;;;;
+0FB7;TIBETAN SUBJOINED LETTER HA;Mn;0;NSM;;;;;N;;;;;
+0FB8;TIBETAN SUBJOINED LETTER A;Mn;0;NSM;;;;;N;;;;;
+0FB9;TIBETAN SUBJOINED LETTER KSSA;Mn;0;NSM;0F90 0FB5;;;;N;;;;;
+0FBA;TIBETAN SUBJOINED LETTER FIXED-FORM WA;Mn;0;NSM;;;;;N;;*;;;
+0FBB;TIBETAN SUBJOINED LETTER FIXED-FORM YA;Mn;0;NSM;;;;;N;;*;;;
+0FBC;TIBETAN SUBJOINED LETTER FIXED-FORM RA;Mn;0;NSM;;;;;N;;*;;;
+0FBE;TIBETAN KU RU KHA;So;0;L;;;;;N;;kuruka;;;
+0FBF;TIBETAN KU RU KHA BZHI MIG CAN;So;0;L;;;;;N;;kuruka shi mik chen;;;
+0FC0;TIBETAN CANTILLATION SIGN HEAVY BEAT;So;0;L;;;;;N;;;;;
+0FC1;TIBETAN CANTILLATION SIGN LIGHT BEAT;So;0;L;;;;;N;;;;;
+0FC2;TIBETAN CANTILLATION SIGN CANG TE-U;So;0;L;;;;;N;;chang tyu;;;
+0FC3;TIBETAN CANTILLATION SIGN SBUB -CHAL;So;0;L;;;;;N;;bub chey;;;
+0FC4;TIBETAN SYMBOL DRIL BU;So;0;L;;;;;N;;drilbu;;;
+0FC5;TIBETAN SYMBOL RDO RJE;So;0;L;;;;;N;;dorje;;;
+0FC6;TIBETAN SYMBOL PADMA GDAN;Mn;220;NSM;;;;;N;;pema den;;;
+0FC7;TIBETAN SYMBOL RDO RJE RGYA GRAM;So;0;L;;;;;N;;dorje gya dram;;;
+0FC8;TIBETAN SYMBOL PHUR PA;So;0;L;;;;;N;;phurba;;;
+0FC9;TIBETAN SYMBOL NOR BU;So;0;L;;;;;N;;norbu;;;
+0FCA;TIBETAN SYMBOL NOR BU NYIS -KHYIL;So;0;L;;;;;N;;norbu nyi khyi;;;
+0FCB;TIBETAN SYMBOL NOR BU GSUM -KHYIL;So;0;L;;;;;N;;norbu sum khyi;;;
+0FCC;TIBETAN SYMBOL NOR BU BZHI -KHYIL;So;0;L;;;;;N;;norbu shi khyi;;;
+0FCF;TIBETAN SIGN RDEL NAG GSUM;So;0;L;;;;;N;;dena sum;;;
+0FD0;TIBETAN MARK BSKA- SHOG GI MGO RGYAN;Po;0;L;;;;;N;;ka shog gi go gyen;;;
+0FD1;TIBETAN MARK MNYAM YIG GI MGO RGYAN;Po;0;L;;;;;N;;nyam yig gi go gyen;;;
+1000;MYANMAR LETTER KA;Lo;0;L;;;;;N;;;;;
+1001;MYANMAR LETTER KHA;Lo;0;L;;;;;N;;;;;
+1002;MYANMAR LETTER GA;Lo;0;L;;;;;N;;;;;
+1003;MYANMAR LETTER GHA;Lo;0;L;;;;;N;;;;;
+1004;MYANMAR LETTER NGA;Lo;0;L;;;;;N;;;;;
+1005;MYANMAR LETTER CA;Lo;0;L;;;;;N;;;;;
+1006;MYANMAR LETTER CHA;Lo;0;L;;;;;N;;;;;
+1007;MYANMAR LETTER JA;Lo;0;L;;;;;N;;;;;
+1008;MYANMAR LETTER JHA;Lo;0;L;;;;;N;;;;;
+1009;MYANMAR LETTER NYA;Lo;0;L;;;;;N;;;;;
+100A;MYANMAR LETTER NNYA;Lo;0;L;;;;;N;;;;;
+100B;MYANMAR LETTER TTA;Lo;0;L;;;;;N;;;;;
+100C;MYANMAR LETTER TTHA;Lo;0;L;;;;;N;;;;;
+100D;MYANMAR LETTER DDA;Lo;0;L;;;;;N;;;;;
+100E;MYANMAR LETTER DDHA;Lo;0;L;;;;;N;;;;;
+100F;MYANMAR LETTER NNA;Lo;0;L;;;;;N;;;;;
+1010;MYANMAR LETTER TA;Lo;0;L;;;;;N;;;;;
+1011;MYANMAR LETTER THA;Lo;0;L;;;;;N;;;;;
+1012;MYANMAR LETTER DA;Lo;0;L;;;;;N;;;;;
+1013;MYANMAR LETTER DHA;Lo;0;L;;;;;N;;;;;
+1014;MYANMAR LETTER NA;Lo;0;L;;;;;N;;;;;
+1015;MYANMAR LETTER PA;Lo;0;L;;;;;N;;;;;
+1016;MYANMAR LETTER PHA;Lo;0;L;;;;;N;;;;;
+1017;MYANMAR LETTER BA;Lo;0;L;;;;;N;;;;;
+1018;MYANMAR LETTER BHA;Lo;0;L;;;;;N;;;;;
+1019;MYANMAR LETTER MA;Lo;0;L;;;;;N;;;;;
+101A;MYANMAR LETTER YA;Lo;0;L;;;;;N;;;;;
+101B;MYANMAR LETTER RA;Lo;0;L;;;;;N;;;;;
+101C;MYANMAR LETTER LA;Lo;0;L;;;;;N;;;;;
+101D;MYANMAR LETTER WA;Lo;0;L;;;;;N;;;;;
+101E;MYANMAR LETTER SA;Lo;0;L;;;;;N;;;;;
+101F;MYANMAR LETTER HA;Lo;0;L;;;;;N;;;;;
+1020;MYANMAR LETTER LLA;Lo;0;L;;;;;N;;;;;
+1021;MYANMAR LETTER A;Lo;0;L;;;;;N;;;;;
+1023;MYANMAR LETTER I;Lo;0;L;;;;;N;;;;;
+1024;MYANMAR LETTER II;Lo;0;L;;;;;N;;;;;
+1025;MYANMAR LETTER U;Lo;0;L;;;;;N;;;;;
+1026;MYANMAR LETTER UU;Lo;0;L;1025 102E;;;;N;;;;;
+1027;MYANMAR LETTER E;Lo;0;L;;;;;N;;;;;
+1029;MYANMAR LETTER O;Lo;0;L;;;;;N;;;;;
+102A;MYANMAR LETTER AU;Lo;0;L;;;;;N;;;;;
+102C;MYANMAR VOWEL SIGN AA;Mc;0;L;;;;;N;;;;;
+102D;MYANMAR VOWEL SIGN I;Mn;0;NSM;;;;;N;;;;;
+102E;MYANMAR VOWEL SIGN II;Mn;0;NSM;;;;;N;;;;;
+102F;MYANMAR VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;;
+1030;MYANMAR VOWEL SIGN UU;Mn;0;NSM;;;;;N;;;;;
+1031;MYANMAR VOWEL SIGN E;Mc;0;L;;;;;N;;;;;
+1032;MYANMAR VOWEL SIGN AI;Mn;0;NSM;;;;;N;;;;;
+1036;MYANMAR SIGN ANUSVARA;Mn;0;NSM;;;;;N;;;;;
+1037;MYANMAR SIGN DOT BELOW;Mn;7;NSM;;;;;N;;;;;
+1038;MYANMAR SIGN VISARGA;Mc;0;L;;;;;N;;;;;
+1039;MYANMAR SIGN VIRAMA;Mn;9;NSM;;;;;N;;;;;
+1040;MYANMAR DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
+1041;MYANMAR DIGIT ONE;Nd;0;L;;1;1;1;N;;;;;
+1042;MYANMAR DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
+1043;MYANMAR DIGIT THREE;Nd;0;L;;3;3;3;N;;;;;
+1044;MYANMAR DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;;
+1045;MYANMAR DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;;
+1046;MYANMAR DIGIT SIX;Nd;0;L;;6;6;6;N;;;;;
+1047;MYANMAR DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
+1048;MYANMAR DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
+1049;MYANMAR DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
+104A;MYANMAR SIGN LITTLE SECTION;Po;0;L;;;;;N;;;;;
+104B;MYANMAR SIGN SECTION;Po;0;L;;;;;N;;;;;
+104C;MYANMAR SYMBOL LOCATIVE;Po;0;L;;;;;N;;;;;
+104D;MYANMAR SYMBOL COMPLETED;Po;0;L;;;;;N;;;;;
+104E;MYANMAR SYMBOL AFOREMENTIONED;Po;0;L;;;;;N;;;;;
+104F;MYANMAR SYMBOL GENITIVE;Po;0;L;;;;;N;;;;;
+1050;MYANMAR LETTER SHA;Lo;0;L;;;;;N;;;;;
+1051;MYANMAR LETTER SSA;Lo;0;L;;;;;N;;;;;
+1052;MYANMAR LETTER VOCALIC R;Lo;0;L;;;;;N;;;;;
+1053;MYANMAR LETTER VOCALIC RR;Lo;0;L;;;;;N;;;;;
+1054;MYANMAR LETTER VOCALIC L;Lo;0;L;;;;;N;;;;;
+1055;MYANMAR LETTER VOCALIC LL;Lo;0;L;;;;;N;;;;;
+1056;MYANMAR VOWEL SIGN VOCALIC R;Mc;0;L;;;;;N;;;;;
+1057;MYANMAR VOWEL SIGN VOCALIC RR;Mc;0;L;;;;;N;;;;;
+1058;MYANMAR VOWEL SIGN VOCALIC L;Mn;0;NSM;;;;;N;;;;;
+1059;MYANMAR VOWEL SIGN VOCALIC LL;Mn;0;NSM;;;;;N;;;;;
+10A0;GEORGIAN CAPITAL LETTER AN;Lu;0;L;;;;;N;;Khutsuri;;2D00;
+10A1;GEORGIAN CAPITAL LETTER BAN;Lu;0;L;;;;;N;;Khutsuri;;2D01;
+10A2;GEORGIAN CAPITAL LETTER GAN;Lu;0;L;;;;;N;;Khutsuri;;2D02;
+10A3;GEORGIAN CAPITAL LETTER DON;Lu;0;L;;;;;N;;Khutsuri;;2D03;
+10A4;GEORGIAN CAPITAL LETTER EN;Lu;0;L;;;;;N;;Khutsuri;;2D04;
+10A5;GEORGIAN CAPITAL LETTER VIN;Lu;0;L;;;;;N;;Khutsuri;;2D05;
+10A6;GEORGIAN CAPITAL LETTER ZEN;Lu;0;L;;;;;N;;Khutsuri;;2D06;
+10A7;GEORGIAN CAPITAL LETTER TAN;Lu;0;L;;;;;N;;Khutsuri;;2D07;
+10A8;GEORGIAN CAPITAL LETTER IN;Lu;0;L;;;;;N;;Khutsuri;;2D08;
+10A9;GEORGIAN CAPITAL LETTER KAN;Lu;0;L;;;;;N;;Khutsuri;;2D09;
+10AA;GEORGIAN CAPITAL LETTER LAS;Lu;0;L;;;;;N;;Khutsuri;;2D0A;
+10AB;GEORGIAN CAPITAL LETTER MAN;Lu;0;L;;;;;N;;Khutsuri;;2D0B;
+10AC;GEORGIAN CAPITAL LETTER NAR;Lu;0;L;;;;;N;;Khutsuri;;2D0C;
+10AD;GEORGIAN CAPITAL LETTER ON;Lu;0;L;;;;;N;;Khutsuri;;2D0D;
+10AE;GEORGIAN CAPITAL LETTER PAR;Lu;0;L;;;;;N;;Khutsuri;;2D0E;
+10AF;GEORGIAN CAPITAL LETTER ZHAR;Lu;0;L;;;;;N;;Khutsuri;;2D0F;
+10B0;GEORGIAN CAPITAL LETTER RAE;Lu;0;L;;;;;N;;Khutsuri;;2D10;
+10B1;GEORGIAN CAPITAL LETTER SAN;Lu;0;L;;;;;N;;Khutsuri;;2D11;
+10B2;GEORGIAN CAPITAL LETTER TAR;Lu;0;L;;;;;N;;Khutsuri;;2D12;
+10B3;GEORGIAN CAPITAL LETTER UN;Lu;0;L;;;;;N;;Khutsuri;;2D13;
+10B4;GEORGIAN CAPITAL LETTER PHAR;Lu;0;L;;;;;N;;Khutsuri;;2D14;
+10B5;GEORGIAN CAPITAL LETTER KHAR;Lu;0;L;;;;;N;;Khutsuri;;2D15;
+10B6;GEORGIAN CAPITAL LETTER GHAN;Lu;0;L;;;;;N;;Khutsuri;;2D16;
+10B7;GEORGIAN CAPITAL LETTER QAR;Lu;0;L;;;;;N;;Khutsuri;;2D17;
+10B8;GEORGIAN CAPITAL LETTER SHIN;Lu;0;L;;;;;N;;Khutsuri;;2D18;
+10B9;GEORGIAN CAPITAL LETTER CHIN;Lu;0;L;;;;;N;;Khutsuri;;2D19;
+10BA;GEORGIAN CAPITAL LETTER CAN;Lu;0;L;;;;;N;;Khutsuri;;2D1A;
+10BB;GEORGIAN CAPITAL LETTER JIL;Lu;0;L;;;;;N;;Khutsuri;;2D1B;
+10BC;GEORGIAN CAPITAL LETTER CIL;Lu;0;L;;;;;N;;Khutsuri;;2D1C;
+10BD;GEORGIAN CAPITAL LETTER CHAR;Lu;0;L;;;;;N;;Khutsuri;;2D1D;
+10BE;GEORGIAN CAPITAL LETTER XAN;Lu;0;L;;;;;N;;Khutsuri;;2D1E;
+10BF;GEORGIAN CAPITAL LETTER JHAN;Lu;0;L;;;;;N;;Khutsuri;;2D1F;
+10C0;GEORGIAN CAPITAL LETTER HAE;Lu;0;L;;;;;N;;Khutsuri;;2D20;
+10C1;GEORGIAN CAPITAL LETTER HE;Lu;0;L;;;;;N;;Khutsuri;;2D21;
+10C2;GEORGIAN CAPITAL LETTER HIE;Lu;0;L;;;;;N;;Khutsuri;;2D22;
+10C3;GEORGIAN CAPITAL LETTER WE;Lu;0;L;;;;;N;;Khutsuri;;2D23;
+10C4;GEORGIAN CAPITAL LETTER HAR;Lu;0;L;;;;;N;;Khutsuri;;2D24;
+10C5;GEORGIAN CAPITAL LETTER HOE;Lu;0;L;;;;;N;;Khutsuri;;2D25;
+10D0;GEORGIAN LETTER AN;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER AN;;;;
+10D1;GEORGIAN LETTER BAN;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER BAN;;;;
+10D2;GEORGIAN LETTER GAN;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER GAN;;;;
+10D3;GEORGIAN LETTER DON;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER DON;;;;
+10D4;GEORGIAN LETTER EN;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER EN;;;;
+10D5;GEORGIAN LETTER VIN;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER VIN;;;;
+10D6;GEORGIAN LETTER ZEN;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER ZEN;;;;
+10D7;GEORGIAN LETTER TAN;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER TAN;;;;
+10D8;GEORGIAN LETTER IN;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER IN;;;;
+10D9;GEORGIAN LETTER KAN;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER KAN;;;;
+10DA;GEORGIAN LETTER LAS;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER LAS;;;;
+10DB;GEORGIAN LETTER MAN;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER MAN;;;;
+10DC;GEORGIAN LETTER NAR;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER NAR;;;;
+10DD;GEORGIAN LETTER ON;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER ON;;;;
+10DE;GEORGIAN LETTER PAR;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER PAR;;;;
+10DF;GEORGIAN LETTER ZHAR;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER ZHAR;;;;
+10E0;GEORGIAN LETTER RAE;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER RAE;;;;
+10E1;GEORGIAN LETTER SAN;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER SAN;;;;
+10E2;GEORGIAN LETTER TAR;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER TAR;;;;
+10E3;GEORGIAN LETTER UN;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER UN;;;;
+10E4;GEORGIAN LETTER PHAR;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER PHAR;;;;
+10E5;GEORGIAN LETTER KHAR;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER KHAR;;;;
+10E6;GEORGIAN LETTER GHAN;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER GHAN;;;;
+10E7;GEORGIAN LETTER QAR;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER QAR;;;;
+10E8;GEORGIAN LETTER SHIN;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER SHIN;;;;
+10E9;GEORGIAN LETTER CHIN;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER CHIN;;;;
+10EA;GEORGIAN LETTER CAN;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER CAN;;;;
+10EB;GEORGIAN LETTER JIL;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER JIL;;;;
+10EC;GEORGIAN LETTER CIL;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER CIL;;;;
+10ED;GEORGIAN LETTER CHAR;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER CHAR;;;;
+10EE;GEORGIAN LETTER XAN;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER XAN;;;;
+10EF;GEORGIAN LETTER JHAN;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER JHAN;;;;
+10F0;GEORGIAN LETTER HAE;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER HAE;;;;
+10F1;GEORGIAN LETTER HE;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER HE;;;;
+10F2;GEORGIAN LETTER HIE;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER HIE;;;;
+10F3;GEORGIAN LETTER WE;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER WE;;;;
+10F4;GEORGIAN LETTER HAR;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER HAR;;;;
+10F5;GEORGIAN LETTER HOE;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER HOE;;;;
+10F6;GEORGIAN LETTER FI;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER FI;;;;
+10F7;GEORGIAN LETTER YN;Lo;0;L;;;;;N;;;;;
+10F8;GEORGIAN LETTER ELIFI;Lo;0;L;;;;;N;;;;;
+10F9;GEORGIAN LETTER TURNED GAN;Lo;0;L;;;;;N;;;;;
+10FA;GEORGIAN LETTER AIN;Lo;0;L;;;;;N;;;;;
+10FB;GEORGIAN PARAGRAPH SEPARATOR;Po;0;L;;;;;N;;;;;
+10FC;MODIFIER LETTER GEORGIAN NAR;Lm;0;L;<super> 10DC;;;;N;;;;;
+1100;HANGUL CHOSEONG KIYEOK;Lo;0;L;;;;;N;;g *;;;
+1101;HANGUL CHOSEONG SSANGKIYEOK;Lo;0;L;;;;;N;;gg *;;;
+1102;HANGUL CHOSEONG NIEUN;Lo;0;L;;;;;N;;n *;;;
+1103;HANGUL CHOSEONG TIKEUT;Lo;0;L;;;;;N;;d *;;;
+1104;HANGUL CHOSEONG SSANGTIKEUT;Lo;0;L;;;;;N;;dd *;;;
+1105;HANGUL CHOSEONG RIEUL;Lo;0;L;;;;;N;;r *;;;
+1106;HANGUL CHOSEONG MIEUM;Lo;0;L;;;;;N;;m *;;;
+1107;HANGUL CHOSEONG PIEUP;Lo;0;L;;;;;N;;b *;;;
+1108;HANGUL CHOSEONG SSANGPIEUP;Lo;0;L;;;;;N;;bb *;;;
+1109;HANGUL CHOSEONG SIOS;Lo;0;L;;;;;N;;s *;;;
+110A;HANGUL CHOSEONG SSANGSIOS;Lo;0;L;;;;;N;;ss *;;;
+110B;HANGUL CHOSEONG IEUNG;Lo;0;L;;;;;N;;;;;
+110C;HANGUL CHOSEONG CIEUC;Lo;0;L;;;;;N;;j *;;;
+110D;HANGUL CHOSEONG SSANGCIEUC;Lo;0;L;;;;;N;;jj *;;;
+110E;HANGUL CHOSEONG CHIEUCH;Lo;0;L;;;;;N;;c *;;;
+110F;HANGUL CHOSEONG KHIEUKH;Lo;0;L;;;;;N;;k *;;;
+1110;HANGUL CHOSEONG THIEUTH;Lo;0;L;;;;;N;;t *;;;
+1111;HANGUL CHOSEONG PHIEUPH;Lo;0;L;;;;;N;;p *;;;
+1112;HANGUL CHOSEONG HIEUH;Lo;0;L;;;;;N;;h *;;;
+1113;HANGUL CHOSEONG NIEUN-KIYEOK;Lo;0;L;;;;;N;;;;;
+1114;HANGUL CHOSEONG SSANGNIEUN;Lo;0;L;;;;;N;;;;;
+1115;HANGUL CHOSEONG NIEUN-TIKEUT;Lo;0;L;;;;;N;;;;;
+1116;HANGUL CHOSEONG NIEUN-PIEUP;Lo;0;L;;;;;N;;;;;
+1117;HANGUL CHOSEONG TIKEUT-KIYEOK;Lo;0;L;;;;;N;;;;;
+1118;HANGUL CHOSEONG RIEUL-NIEUN;Lo;0;L;;;;;N;;;;;
+1119;HANGUL CHOSEONG SSANGRIEUL;Lo;0;L;;;;;N;;;;;
+111A;HANGUL CHOSEONG RIEUL-HIEUH;Lo;0;L;;;;;N;;;;;
+111B;HANGUL CHOSEONG KAPYEOUNRIEUL;Lo;0;L;;;;;N;;;;;
+111C;HANGUL CHOSEONG MIEUM-PIEUP;Lo;0;L;;;;;N;;;;;
+111D;HANGUL CHOSEONG KAPYEOUNMIEUM;Lo;0;L;;;;;N;;;;;
+111E;HANGUL CHOSEONG PIEUP-KIYEOK;Lo;0;L;;;;;N;;;;;
+111F;HANGUL CHOSEONG PIEUP-NIEUN;Lo;0;L;;;;;N;;;;;
+1120;HANGUL CHOSEONG PIEUP-TIKEUT;Lo;0;L;;;;;N;;;;;
+1121;HANGUL CHOSEONG PIEUP-SIOS;Lo;0;L;;;;;N;;;;;
+1122;HANGUL CHOSEONG PIEUP-SIOS-KIYEOK;Lo;0;L;;;;;N;;;;;
+1123;HANGUL CHOSEONG PIEUP-SIOS-TIKEUT;Lo;0;L;;;;;N;;;;;
+1124;HANGUL CHOSEONG PIEUP-SIOS-PIEUP;Lo;0;L;;;;;N;;;;;
+1125;HANGUL CHOSEONG PIEUP-SSANGSIOS;Lo;0;L;;;;;N;;;;;
+1126;HANGUL CHOSEONG PIEUP-SIOS-CIEUC;Lo;0;L;;;;;N;;;;;
+1127;HANGUL CHOSEONG PIEUP-CIEUC;Lo;0;L;;;;;N;;;;;
+1128;HANGUL CHOSEONG PIEUP-CHIEUCH;Lo;0;L;;;;;N;;;;;
+1129;HANGUL CHOSEONG PIEUP-THIEUTH;Lo;0;L;;;;;N;;;;;
+112A;HANGUL CHOSEONG PIEUP-PHIEUPH;Lo;0;L;;;;;N;;;;;
+112B;HANGUL CHOSEONG KAPYEOUNPIEUP;Lo;0;L;;;;;N;;;;;
+112C;HANGUL CHOSEONG KAPYEOUNSSANGPIEUP;Lo;0;L;;;;;N;;;;;
+112D;HANGUL CHOSEONG SIOS-KIYEOK;Lo;0;L;;;;;N;;;;;
+112E;HANGUL CHOSEONG SIOS-NIEUN;Lo;0;L;;;;;N;;;;;
+112F;HANGUL CHOSEONG SIOS-TIKEUT;Lo;0;L;;;;;N;;;;;
+1130;HANGUL CHOSEONG SIOS-RIEUL;Lo;0;L;;;;;N;;;;;
+1131;HANGUL CHOSEONG SIOS-MIEUM;Lo;0;L;;;;;N;;;;;
+1132;HANGUL CHOSEONG SIOS-PIEUP;Lo;0;L;;;;;N;;;;;
+1133;HANGUL CHOSEONG SIOS-PIEUP-KIYEOK;Lo;0;L;;;;;N;;;;;
+1134;HANGUL CHOSEONG SIOS-SSANGSIOS;Lo;0;L;;;;;N;;;;;
+1135;HANGUL CHOSEONG SIOS-IEUNG;Lo;0;L;;;;;N;;;;;
+1136;HANGUL CHOSEONG SIOS-CIEUC;Lo;0;L;;;;;N;;;;;
+1137;HANGUL CHOSEONG SIOS-CHIEUCH;Lo;0;L;;;;;N;;;;;
+1138;HANGUL CHOSEONG SIOS-KHIEUKH;Lo;0;L;;;;;N;;;;;
+1139;HANGUL CHOSEONG SIOS-THIEUTH;Lo;0;L;;;;;N;;;;;
+113A;HANGUL CHOSEONG SIOS-PHIEUPH;Lo;0;L;;;;;N;;;;;
+113B;HANGUL CHOSEONG SIOS-HIEUH;Lo;0;L;;;;;N;;;;;
+113C;HANGUL CHOSEONG CHITUEUMSIOS;Lo;0;L;;;;;N;;;;;
+113D;HANGUL CHOSEONG CHITUEUMSSANGSIOS;Lo;0;L;;;;;N;;;;;
+113E;HANGUL CHOSEONG CEONGCHIEUMSIOS;Lo;0;L;;;;;N;;;;;
+113F;HANGUL CHOSEONG CEONGCHIEUMSSANGSIOS;Lo;0;L;;;;;N;;;;;
+1140;HANGUL CHOSEONG PANSIOS;Lo;0;L;;;;;N;;;;;
+1141;HANGUL CHOSEONG IEUNG-KIYEOK;Lo;0;L;;;;;N;;;;;
+1142;HANGUL CHOSEONG IEUNG-TIKEUT;Lo;0;L;;;;;N;;;;;
+1143;HANGUL CHOSEONG IEUNG-MIEUM;Lo;0;L;;;;;N;;;;;
+1144;HANGUL CHOSEONG IEUNG-PIEUP;Lo;0;L;;;;;N;;;;;
+1145;HANGUL CHOSEONG IEUNG-SIOS;Lo;0;L;;;;;N;;;;;
+1146;HANGUL CHOSEONG IEUNG-PANSIOS;Lo;0;L;;;;;N;;;;;
+1147;HANGUL CHOSEONG SSANGIEUNG;Lo;0;L;;;;;N;;;;;
+1148;HANGUL CHOSEONG IEUNG-CIEUC;Lo;0;L;;;;;N;;;;;
+1149;HANGUL CHOSEONG IEUNG-CHIEUCH;Lo;0;L;;;;;N;;;;;
+114A;HANGUL CHOSEONG IEUNG-THIEUTH;Lo;0;L;;;;;N;;;;;
+114B;HANGUL CHOSEONG IEUNG-PHIEUPH;Lo;0;L;;;;;N;;;;;
+114C;HANGUL CHOSEONG YESIEUNG;Lo;0;L;;;;;N;;;;;
+114D;HANGUL CHOSEONG CIEUC-IEUNG;Lo;0;L;;;;;N;;;;;
+114E;HANGUL CHOSEONG CHITUEUMCIEUC;Lo;0;L;;;;;N;;;;;
+114F;HANGUL CHOSEONG CHITUEUMSSANGCIEUC;Lo;0;L;;;;;N;;;;;
+1150;HANGUL CHOSEONG CEONGCHIEUMCIEUC;Lo;0;L;;;;;N;;;;;
+1151;HANGUL CHOSEONG CEONGCHIEUMSSANGCIEUC;Lo;0;L;;;;;N;;;;;
+1152;HANGUL CHOSEONG CHIEUCH-KHIEUKH;Lo;0;L;;;;;N;;;;;
+1153;HANGUL CHOSEONG CHIEUCH-HIEUH;Lo;0;L;;;;;N;;;;;
+1154;HANGUL CHOSEONG CHITUEUMCHIEUCH;Lo;0;L;;;;;N;;;;;
+1155;HANGUL CHOSEONG CEONGCHIEUMCHIEUCH;Lo;0;L;;;;;N;;;;;
+1156;HANGUL CHOSEONG PHIEUPH-PIEUP;Lo;0;L;;;;;N;;;;;
+1157;HANGUL CHOSEONG KAPYEOUNPHIEUPH;Lo;0;L;;;;;N;;;;;
+1158;HANGUL CHOSEONG SSANGHIEUH;Lo;0;L;;;;;N;;;;;
+1159;HANGUL CHOSEONG YEORINHIEUH;Lo;0;L;;;;;N;;;;;
+115F;HANGUL CHOSEONG FILLER;Lo;0;L;;;;;N;;;;;
+1160;HANGUL JUNGSEONG FILLER;Lo;0;L;;;;;N;;;;;
+1161;HANGUL JUNGSEONG A;Lo;0;L;;;;;N;;;;;
+1162;HANGUL JUNGSEONG AE;Lo;0;L;;;;;N;;;;;
+1163;HANGUL JUNGSEONG YA;Lo;0;L;;;;;N;;;;;
+1164;HANGUL JUNGSEONG YAE;Lo;0;L;;;;;N;;;;;
+1165;HANGUL JUNGSEONG EO;Lo;0;L;;;;;N;;;;;
+1166;HANGUL JUNGSEONG E;Lo;0;L;;;;;N;;;;;
+1167;HANGUL JUNGSEONG YEO;Lo;0;L;;;;;N;;;;;
+1168;HANGUL JUNGSEONG YE;Lo;0;L;;;;;N;;;;;
+1169;HANGUL JUNGSEONG O;Lo;0;L;;;;;N;;;;;
+116A;HANGUL JUNGSEONG WA;Lo;0;L;;;;;N;;;;;
+116B;HANGUL JUNGSEONG WAE;Lo;0;L;;;;;N;;;;;
+116C;HANGUL JUNGSEONG OE;Lo;0;L;;;;;N;;;;;
+116D;HANGUL JUNGSEONG YO;Lo;0;L;;;;;N;;;;;
+116E;HANGUL JUNGSEONG U;Lo;0;L;;;;;N;;;;;
+116F;HANGUL JUNGSEONG WEO;Lo;0;L;;;;;N;;;;;
+1170;HANGUL JUNGSEONG WE;Lo;0;L;;;;;N;;;;;
+1171;HANGUL JUNGSEONG WI;Lo;0;L;;;;;N;;;;;
+1172;HANGUL JUNGSEONG YU;Lo;0;L;;;;;N;;;;;
+1173;HANGUL JUNGSEONG EU;Lo;0;L;;;;;N;;;;;
+1174;HANGUL JUNGSEONG YI;Lo;0;L;;;;;N;;;;;
+1175;HANGUL JUNGSEONG I;Lo;0;L;;;;;N;;;;;
+1176;HANGUL JUNGSEONG A-O;Lo;0;L;;;;;N;;;;;
+1177;HANGUL JUNGSEONG A-U;Lo;0;L;;;;;N;;;;;
+1178;HANGUL JUNGSEONG YA-O;Lo;0;L;;;;;N;;;;;
+1179;HANGUL JUNGSEONG YA-YO;Lo;0;L;;;;;N;;;;;
+117A;HANGUL JUNGSEONG EO-O;Lo;0;L;;;;;N;;;;;
+117B;HANGUL JUNGSEONG EO-U;Lo;0;L;;;;;N;;;;;
+117C;HANGUL JUNGSEONG EO-EU;Lo;0;L;;;;;N;;;;;
+117D;HANGUL JUNGSEONG YEO-O;Lo;0;L;;;;;N;;;;;
+117E;HANGUL JUNGSEONG YEO-U;Lo;0;L;;;;;N;;;;;
+117F;HANGUL JUNGSEONG O-EO;Lo;0;L;;;;;N;;;;;
+1180;HANGUL JUNGSEONG O-E;Lo;0;L;;;;;N;;;;;
+1181;HANGUL JUNGSEONG O-YE;Lo;0;L;;;;;N;;;;;
+1182;HANGUL JUNGSEONG O-O;Lo;0;L;;;;;N;;;;;
+1183;HANGUL JUNGSEONG O-U;Lo;0;L;;;;;N;;;;;
+1184;HANGUL JUNGSEONG YO-YA;Lo;0;L;;;;;N;;;;;
+1185;HANGUL JUNGSEONG YO-YAE;Lo;0;L;;;;;N;;;;;
+1186;HANGUL JUNGSEONG YO-YEO;Lo;0;L;;;;;N;;;;;
+1187;HANGUL JUNGSEONG YO-O;Lo;0;L;;;;;N;;;;;
+1188;HANGUL JUNGSEONG YO-I;Lo;0;L;;;;;N;;;;;
+1189;HANGUL JUNGSEONG U-A;Lo;0;L;;;;;N;;;;;
+118A;HANGUL JUNGSEONG U-AE;Lo;0;L;;;;;N;;;;;
+118B;HANGUL JUNGSEONG U-EO-EU;Lo;0;L;;;;;N;;;;;
+118C;HANGUL JUNGSEONG U-YE;Lo;0;L;;;;;N;;;;;
+118D;HANGUL JUNGSEONG U-U;Lo;0;L;;;;;N;;;;;
+118E;HANGUL JUNGSEONG YU-A;Lo;0;L;;;;;N;;;;;
+118F;HANGUL JUNGSEONG YU-EO;Lo;0;L;;;;;N;;;;;
+1190;HANGUL JUNGSEONG YU-E;Lo;0;L;;;;;N;;;;;
+1191;HANGUL JUNGSEONG YU-YEO;Lo;0;L;;;;;N;;;;;
+1192;HANGUL JUNGSEONG YU-YE;Lo;0;L;;;;;N;;;;;
+1193;HANGUL JUNGSEONG YU-U;Lo;0;L;;;;;N;;;;;
+1194;HANGUL JUNGSEONG YU-I;Lo;0;L;;;;;N;;;;;
+1195;HANGUL JUNGSEONG EU-U;Lo;0;L;;;;;N;;;;;
+1196;HANGUL JUNGSEONG EU-EU;Lo;0;L;;;;;N;;;;;
+1197;HANGUL JUNGSEONG YI-U;Lo;0;L;;;;;N;;;;;
+1198;HANGUL JUNGSEONG I-A;Lo;0;L;;;;;N;;;;;
+1199;HANGUL JUNGSEONG I-YA;Lo;0;L;;;;;N;;;;;
+119A;HANGUL JUNGSEONG I-O;Lo;0;L;;;;;N;;;;;
+119B;HANGUL JUNGSEONG I-U;Lo;0;L;;;;;N;;;;;
+119C;HANGUL JUNGSEONG I-EU;Lo;0;L;;;;;N;;;;;
+119D;HANGUL JUNGSEONG I-ARAEA;Lo;0;L;;;;;N;;;;;
+119E;HANGUL JUNGSEONG ARAEA;Lo;0;L;;;;;N;;;;;
+119F;HANGUL JUNGSEONG ARAEA-EO;Lo;0;L;;;;;N;;;;;
+11A0;HANGUL JUNGSEONG ARAEA-U;Lo;0;L;;;;;N;;;;;
+11A1;HANGUL JUNGSEONG ARAEA-I;Lo;0;L;;;;;N;;;;;
+11A2;HANGUL JUNGSEONG SSANGARAEA;Lo;0;L;;;;;N;;;;;
+11A8;HANGUL JONGSEONG KIYEOK;Lo;0;L;;;;;N;;g *;;;
+11A9;HANGUL JONGSEONG SSANGKIYEOK;Lo;0;L;;;;;N;;gg *;;;
+11AA;HANGUL JONGSEONG KIYEOK-SIOS;Lo;0;L;;;;;N;;gs *;;;
+11AB;HANGUL JONGSEONG NIEUN;Lo;0;L;;;;;N;;n *;;;
+11AC;HANGUL JONGSEONG NIEUN-CIEUC;Lo;0;L;;;;;N;;nj *;;;
+11AD;HANGUL JONGSEONG NIEUN-HIEUH;Lo;0;L;;;;;N;;nh *;;;
+11AE;HANGUL JONGSEONG TIKEUT;Lo;0;L;;;;;N;;d *;;;
+11AF;HANGUL JONGSEONG RIEUL;Lo;0;L;;;;;N;;l *;;;
+11B0;HANGUL JONGSEONG RIEUL-KIYEOK;Lo;0;L;;;;;N;;lg *;;;
+11B1;HANGUL JONGSEONG RIEUL-MIEUM;Lo;0;L;;;;;N;;lm *;;;
+11B2;HANGUL JONGSEONG RIEUL-PIEUP;Lo;0;L;;;;;N;;lb *;;;
+11B3;HANGUL JONGSEONG RIEUL-SIOS;Lo;0;L;;;;;N;;ls *;;;
+11B4;HANGUL JONGSEONG RIEUL-THIEUTH;Lo;0;L;;;;;N;;lt *;;;
+11B5;HANGUL JONGSEONG RIEUL-PHIEUPH;Lo;0;L;;;;;N;;lp *;;;
+11B6;HANGUL JONGSEONG RIEUL-HIEUH;Lo;0;L;;;;;N;;lh *;;;
+11B7;HANGUL JONGSEONG MIEUM;Lo;0;L;;;;;N;;m *;;;
+11B8;HANGUL JONGSEONG PIEUP;Lo;0;L;;;;;N;;b *;;;
+11B9;HANGUL JONGSEONG PIEUP-SIOS;Lo;0;L;;;;;N;;bs *;;;
+11BA;HANGUL JONGSEONG SIOS;Lo;0;L;;;;;N;;s *;;;
+11BB;HANGUL JONGSEONG SSANGSIOS;Lo;0;L;;;;;N;;ss *;;;
+11BC;HANGUL JONGSEONG IEUNG;Lo;0;L;;;;;N;;ng *;;;
+11BD;HANGUL JONGSEONG CIEUC;Lo;0;L;;;;;N;;j *;;;
+11BE;HANGUL JONGSEONG CHIEUCH;Lo;0;L;;;;;N;;c *;;;
+11BF;HANGUL JONGSEONG KHIEUKH;Lo;0;L;;;;;N;;k *;;;
+11C0;HANGUL JONGSEONG THIEUTH;Lo;0;L;;;;;N;;t *;;;
+11C1;HANGUL JONGSEONG PHIEUPH;Lo;0;L;;;;;N;;p *;;;
+11C2;HANGUL JONGSEONG HIEUH;Lo;0;L;;;;;N;;h *;;;
+11C3;HANGUL JONGSEONG KIYEOK-RIEUL;Lo;0;L;;;;;N;;;;;
+11C4;HANGUL JONGSEONG KIYEOK-SIOS-KIYEOK;Lo;0;L;;;;;N;;;;;
+11C5;HANGUL JONGSEONG NIEUN-KIYEOK;Lo;0;L;;;;;N;;;;;
+11C6;HANGUL JONGSEONG NIEUN-TIKEUT;Lo;0;L;;;;;N;;;;;
+11C7;HANGUL JONGSEONG NIEUN-SIOS;Lo;0;L;;;;;N;;;;;
+11C8;HANGUL JONGSEONG NIEUN-PANSIOS;Lo;0;L;;;;;N;;;;;
+11C9;HANGUL JONGSEONG NIEUN-THIEUTH;Lo;0;L;;;;;N;;;;;
+11CA;HANGUL JONGSEONG TIKEUT-KIYEOK;Lo;0;L;;;;;N;;;;;
+11CB;HANGUL JONGSEONG TIKEUT-RIEUL;Lo;0;L;;;;;N;;;;;
+11CC;HANGUL JONGSEONG RIEUL-KIYEOK-SIOS;Lo;0;L;;;;;N;;;;;
+11CD;HANGUL JONGSEONG RIEUL-NIEUN;Lo;0;L;;;;;N;;;;;
+11CE;HANGUL JONGSEONG RIEUL-TIKEUT;Lo;0;L;;;;;N;;;;;
+11CF;HANGUL JONGSEONG RIEUL-TIKEUT-HIEUH;Lo;0;L;;;;;N;;;;;
+11D0;HANGUL JONGSEONG SSANGRIEUL;Lo;0;L;;;;;N;;;;;
+11D1;HANGUL JONGSEONG RIEUL-MIEUM-KIYEOK;Lo;0;L;;;;;N;;;;;
+11D2;HANGUL JONGSEONG RIEUL-MIEUM-SIOS;Lo;0;L;;;;;N;;;;;
+11D3;HANGUL JONGSEONG RIEUL-PIEUP-SIOS;Lo;0;L;;;;;N;;;;;
+11D4;HANGUL JONGSEONG RIEUL-PIEUP-HIEUH;Lo;0;L;;;;;N;;;;;
+11D5;HANGUL JONGSEONG RIEUL-KAPYEOUNPIEUP;Lo;0;L;;;;;N;;;;;
+11D6;HANGUL JONGSEONG RIEUL-SSANGSIOS;Lo;0;L;;;;;N;;;;;
+11D7;HANGUL JONGSEONG RIEUL-PANSIOS;Lo;0;L;;;;;N;;;;;
+11D8;HANGUL JONGSEONG RIEUL-KHIEUKH;Lo;0;L;;;;;N;;;;;
+11D9;HANGUL JONGSEONG RIEUL-YEORINHIEUH;Lo;0;L;;;;;N;;;;;
+11DA;HANGUL JONGSEONG MIEUM-KIYEOK;Lo;0;L;;;;;N;;;;;
+11DB;HANGUL JONGSEONG MIEUM-RIEUL;Lo;0;L;;;;;N;;;;;
+11DC;HANGUL JONGSEONG MIEUM-PIEUP;Lo;0;L;;;;;N;;;;;
+11DD;HANGUL JONGSEONG MIEUM-SIOS;Lo;0;L;;;;;N;;;;;
+11DE;HANGUL JONGSEONG MIEUM-SSANGSIOS;Lo;0;L;;;;;N;;;;;
+11DF;HANGUL JONGSEONG MIEUM-PANSIOS;Lo;0;L;;;;;N;;;;;
+11E0;HANGUL JONGSEONG MIEUM-CHIEUCH;Lo;0;L;;;;;N;;;;;
+11E1;HANGUL JONGSEONG MIEUM-HIEUH;Lo;0;L;;;;;N;;;;;
+11E2;HANGUL JONGSEONG KAPYEOUNMIEUM;Lo;0;L;;;;;N;;;;;
+11E3;HANGUL JONGSEONG PIEUP-RIEUL;Lo;0;L;;;;;N;;;;;
+11E4;HANGUL JONGSEONG PIEUP-PHIEUPH;Lo;0;L;;;;;N;;;;;
+11E5;HANGUL JONGSEONG PIEUP-HIEUH;Lo;0;L;;;;;N;;;;;
+11E6;HANGUL JONGSEONG KAPYEOUNPIEUP;Lo;0;L;;;;;N;;;;;
+11E7;HANGUL JONGSEONG SIOS-KIYEOK;Lo;0;L;;;;;N;;;;;
+11E8;HANGUL JONGSEONG SIOS-TIKEUT;Lo;0;L;;;;;N;;;;;
+11E9;HANGUL JONGSEONG SIOS-RIEUL;Lo;0;L;;;;;N;;;;;
+11EA;HANGUL JONGSEONG SIOS-PIEUP;Lo;0;L;;;;;N;;;;;
+11EB;HANGUL JONGSEONG PANSIOS;Lo;0;L;;;;;N;;;;;
+11EC;HANGUL JONGSEONG IEUNG-KIYEOK;Lo;0;L;;;;;N;;;;;
+11ED;HANGUL JONGSEONG IEUNG-SSANGKIYEOK;Lo;0;L;;;;;N;;;;;
+11EE;HANGUL JONGSEONG SSANGIEUNG;Lo;0;L;;;;;N;;;;;
+11EF;HANGUL JONGSEONG IEUNG-KHIEUKH;Lo;0;L;;;;;N;;;;;
+11F0;HANGUL JONGSEONG YESIEUNG;Lo;0;L;;;;;N;;;;;
+11F1;HANGUL JONGSEONG YESIEUNG-SIOS;Lo;0;L;;;;;N;;;;;
+11F2;HANGUL JONGSEONG YESIEUNG-PANSIOS;Lo;0;L;;;;;N;;;;;
+11F3;HANGUL JONGSEONG PHIEUPH-PIEUP;Lo;0;L;;;;;N;;;;;
+11F4;HANGUL JONGSEONG KAPYEOUNPHIEUPH;Lo;0;L;;;;;N;;;;;
+11F5;HANGUL JONGSEONG HIEUH-NIEUN;Lo;0;L;;;;;N;;;;;
+11F6;HANGUL JONGSEONG HIEUH-RIEUL;Lo;0;L;;;;;N;;;;;
+11F7;HANGUL JONGSEONG HIEUH-MIEUM;Lo;0;L;;;;;N;;;;;
+11F8;HANGUL JONGSEONG HIEUH-PIEUP;Lo;0;L;;;;;N;;;;;
+11F9;HANGUL JONGSEONG YEORINHIEUH;Lo;0;L;;;;;N;;;;;
+1200;ETHIOPIC SYLLABLE HA;Lo;0;L;;;;;N;;;;;
+1201;ETHIOPIC SYLLABLE HU;Lo;0;L;;;;;N;;;;;
+1202;ETHIOPIC SYLLABLE HI;Lo;0;L;;;;;N;;;;;
+1203;ETHIOPIC SYLLABLE HAA;Lo;0;L;;;;;N;;;;;
+1204;ETHIOPIC SYLLABLE HEE;Lo;0;L;;;;;N;;;;;
+1205;ETHIOPIC SYLLABLE HE;Lo;0;L;;;;;N;;;;;
+1206;ETHIOPIC SYLLABLE HO;Lo;0;L;;;;;N;;;;;
+1207;ETHIOPIC SYLLABLE HOA;Lo;0;L;;;;;N;;;;;
+1208;ETHIOPIC SYLLABLE LA;Lo;0;L;;;;;N;;;;;
+1209;ETHIOPIC SYLLABLE LU;Lo;0;L;;;;;N;;;;;
+120A;ETHIOPIC SYLLABLE LI;Lo;0;L;;;;;N;;;;;
+120B;ETHIOPIC SYLLABLE LAA;Lo;0;L;;;;;N;;;;;
+120C;ETHIOPIC SYLLABLE LEE;Lo;0;L;;;;;N;;;;;
+120D;ETHIOPIC SYLLABLE LE;Lo;0;L;;;;;N;;;;;
+120E;ETHIOPIC SYLLABLE LO;Lo;0;L;;;;;N;;;;;
+120F;ETHIOPIC SYLLABLE LWA;Lo;0;L;;;;;N;;;;;
+1210;ETHIOPIC SYLLABLE HHA;Lo;0;L;;;;;N;;;;;
+1211;ETHIOPIC SYLLABLE HHU;Lo;0;L;;;;;N;;;;;
+1212;ETHIOPIC SYLLABLE HHI;Lo;0;L;;;;;N;;;;;
+1213;ETHIOPIC SYLLABLE HHAA;Lo;0;L;;;;;N;;;;;
+1214;ETHIOPIC SYLLABLE HHEE;Lo;0;L;;;;;N;;;;;
+1215;ETHIOPIC SYLLABLE HHE;Lo;0;L;;;;;N;;;;;
+1216;ETHIOPIC SYLLABLE HHO;Lo;0;L;;;;;N;;;;;
+1217;ETHIOPIC SYLLABLE HHWA;Lo;0;L;;;;;N;;;;;
+1218;ETHIOPIC SYLLABLE MA;Lo;0;L;;;;;N;;;;;
+1219;ETHIOPIC SYLLABLE MU;Lo;0;L;;;;;N;;;;;
+121A;ETHIOPIC SYLLABLE MI;Lo;0;L;;;;;N;;;;;
+121B;ETHIOPIC SYLLABLE MAA;Lo;0;L;;;;;N;;;;;
+121C;ETHIOPIC SYLLABLE MEE;Lo;0;L;;;;;N;;;;;
+121D;ETHIOPIC SYLLABLE ME;Lo;0;L;;;;;N;;;;;
+121E;ETHIOPIC SYLLABLE MO;Lo;0;L;;;;;N;;;;;
+121F;ETHIOPIC SYLLABLE MWA;Lo;0;L;;;;;N;;;;;
+1220;ETHIOPIC SYLLABLE SZA;Lo;0;L;;;;;N;;;;;
+1221;ETHIOPIC SYLLABLE SZU;Lo;0;L;;;;;N;;;;;
+1222;ETHIOPIC SYLLABLE SZI;Lo;0;L;;;;;N;;;;;
+1223;ETHIOPIC SYLLABLE SZAA;Lo;0;L;;;;;N;;;;;
+1224;ETHIOPIC SYLLABLE SZEE;Lo;0;L;;;;;N;;;;;
+1225;ETHIOPIC SYLLABLE SZE;Lo;0;L;;;;;N;;;;;
+1226;ETHIOPIC SYLLABLE SZO;Lo;0;L;;;;;N;;;;;
+1227;ETHIOPIC SYLLABLE SZWA;Lo;0;L;;;;;N;;;;;
+1228;ETHIOPIC SYLLABLE RA;Lo;0;L;;;;;N;;;;;
+1229;ETHIOPIC SYLLABLE RU;Lo;0;L;;;;;N;;;;;
+122A;ETHIOPIC SYLLABLE RI;Lo;0;L;;;;;N;;;;;
+122B;ETHIOPIC SYLLABLE RAA;Lo;0;L;;;;;N;;;;;
+122C;ETHIOPIC SYLLABLE REE;Lo;0;L;;;;;N;;;;;
+122D;ETHIOPIC SYLLABLE RE;Lo;0;L;;;;;N;;;;;
+122E;ETHIOPIC SYLLABLE RO;Lo;0;L;;;;;N;;;;;
+122F;ETHIOPIC SYLLABLE RWA;Lo;0;L;;;;;N;;;;;
+1230;ETHIOPIC SYLLABLE SA;Lo;0;L;;;;;N;;;;;
+1231;ETHIOPIC SYLLABLE SU;Lo;0;L;;;;;N;;;;;
+1232;ETHIOPIC SYLLABLE SI;Lo;0;L;;;;;N;;;;;
+1233;ETHIOPIC SYLLABLE SAA;Lo;0;L;;;;;N;;;;;
+1234;ETHIOPIC SYLLABLE SEE;Lo;0;L;;;;;N;;;;;
+1235;ETHIOPIC SYLLABLE SE;Lo;0;L;;;;;N;;;;;
+1236;ETHIOPIC SYLLABLE SO;Lo;0;L;;;;;N;;;;;
+1237;ETHIOPIC SYLLABLE SWA;Lo;0;L;;;;;N;;;;;
+1238;ETHIOPIC SYLLABLE SHA;Lo;0;L;;;;;N;;;;;
+1239;ETHIOPIC SYLLABLE SHU;Lo;0;L;;;;;N;;;;;
+123A;ETHIOPIC SYLLABLE SHI;Lo;0;L;;;;;N;;;;;
+123B;ETHIOPIC SYLLABLE SHAA;Lo;0;L;;;;;N;;;;;
+123C;ETHIOPIC SYLLABLE SHEE;Lo;0;L;;;;;N;;;;;
+123D;ETHIOPIC SYLLABLE SHE;Lo;0;L;;;;;N;;;;;
+123E;ETHIOPIC SYLLABLE SHO;Lo;0;L;;;;;N;;;;;
+123F;ETHIOPIC SYLLABLE SHWA;Lo;0;L;;;;;N;;;;;
+1240;ETHIOPIC SYLLABLE QA;Lo;0;L;;;;;N;;;;;
+1241;ETHIOPIC SYLLABLE QU;Lo;0;L;;;;;N;;;;;
+1242;ETHIOPIC SYLLABLE QI;Lo;0;L;;;;;N;;;;;
+1243;ETHIOPIC SYLLABLE QAA;Lo;0;L;;;;;N;;;;;
+1244;ETHIOPIC SYLLABLE QEE;Lo;0;L;;;;;N;;;;;
+1245;ETHIOPIC SYLLABLE QE;Lo;0;L;;;;;N;;;;;
+1246;ETHIOPIC SYLLABLE QO;Lo;0;L;;;;;N;;;;;
+1247;ETHIOPIC SYLLABLE QOA;Lo;0;L;;;;;N;;;;;
+1248;ETHIOPIC SYLLABLE QWA;Lo;0;L;;;;;N;;;;;
+124A;ETHIOPIC SYLLABLE QWI;Lo;0;L;;;;;N;;;;;
+124B;ETHIOPIC SYLLABLE QWAA;Lo;0;L;;;;;N;;;;;
+124C;ETHIOPIC SYLLABLE QWEE;Lo;0;L;;;;;N;;;;;
+124D;ETHIOPIC SYLLABLE QWE;Lo;0;L;;;;;N;;;;;
+1250;ETHIOPIC SYLLABLE QHA;Lo;0;L;;;;;N;;;;;
+1251;ETHIOPIC SYLLABLE QHU;Lo;0;L;;;;;N;;;;;
+1252;ETHIOPIC SYLLABLE QHI;Lo;0;L;;;;;N;;;;;
+1253;ETHIOPIC SYLLABLE QHAA;Lo;0;L;;;;;N;;;;;
+1254;ETHIOPIC SYLLABLE QHEE;Lo;0;L;;;;;N;;;;;
+1255;ETHIOPIC SYLLABLE QHE;Lo;0;L;;;;;N;;;;;
+1256;ETHIOPIC SYLLABLE QHO;Lo;0;L;;;;;N;;;;;
+1258;ETHIOPIC SYLLABLE QHWA;Lo;0;L;;;;;N;;;;;
+125A;ETHIOPIC SYLLABLE QHWI;Lo;0;L;;;;;N;;;;;
+125B;ETHIOPIC SYLLABLE QHWAA;Lo;0;L;;;;;N;;;;;
+125C;ETHIOPIC SYLLABLE QHWEE;Lo;0;L;;;;;N;;;;;
+125D;ETHIOPIC SYLLABLE QHWE;Lo;0;L;;;;;N;;;;;
+1260;ETHIOPIC SYLLABLE BA;Lo;0;L;;;;;N;;;;;
+1261;ETHIOPIC SYLLABLE BU;Lo;0;L;;;;;N;;;;;
+1262;ETHIOPIC SYLLABLE BI;Lo;0;L;;;;;N;;;;;
+1263;ETHIOPIC SYLLABLE BAA;Lo;0;L;;;;;N;;;;;
+1264;ETHIOPIC SYLLABLE BEE;Lo;0;L;;;;;N;;;;;
+1265;ETHIOPIC SYLLABLE BE;Lo;0;L;;;;;N;;;;;
+1266;ETHIOPIC SYLLABLE BO;Lo;0;L;;;;;N;;;;;
+1267;ETHIOPIC SYLLABLE BWA;Lo;0;L;;;;;N;;;;;
+1268;ETHIOPIC SYLLABLE VA;Lo;0;L;;;;;N;;;;;
+1269;ETHIOPIC SYLLABLE VU;Lo;0;L;;;;;N;;;;;
+126A;ETHIOPIC SYLLABLE VI;Lo;0;L;;;;;N;;;;;
+126B;ETHIOPIC SYLLABLE VAA;Lo;0;L;;;;;N;;;;;
+126C;ETHIOPIC SYLLABLE VEE;Lo;0;L;;;;;N;;;;;
+126D;ETHIOPIC SYLLABLE VE;Lo;0;L;;;;;N;;;;;
+126E;ETHIOPIC SYLLABLE VO;Lo;0;L;;;;;N;;;;;
+126F;ETHIOPIC SYLLABLE VWA;Lo;0;L;;;;;N;;;;;
+1270;ETHIOPIC SYLLABLE TA;Lo;0;L;;;;;N;;;;;
+1271;ETHIOPIC SYLLABLE TU;Lo;0;L;;;;;N;;;;;
+1272;ETHIOPIC SYLLABLE TI;Lo;0;L;;;;;N;;;;;
+1273;ETHIOPIC SYLLABLE TAA;Lo;0;L;;;;;N;;;;;
+1274;ETHIOPIC SYLLABLE TEE;Lo;0;L;;;;;N;;;;;
+1275;ETHIOPIC SYLLABLE TE;Lo;0;L;;;;;N;;;;;
+1276;ETHIOPIC SYLLABLE TO;Lo;0;L;;;;;N;;;;;
+1277;ETHIOPIC SYLLABLE TWA;Lo;0;L;;;;;N;;;;;
+1278;ETHIOPIC SYLLABLE CA;Lo;0;L;;;;;N;;;;;
+1279;ETHIOPIC SYLLABLE CU;Lo;0;L;;;;;N;;;;;
+127A;ETHIOPIC SYLLABLE CI;Lo;0;L;;;;;N;;;;;
+127B;ETHIOPIC SYLLABLE CAA;Lo;0;L;;;;;N;;;;;
+127C;ETHIOPIC SYLLABLE CEE;Lo;0;L;;;;;N;;;;;
+127D;ETHIOPIC SYLLABLE CE;Lo;0;L;;;;;N;;;;;
+127E;ETHIOPIC SYLLABLE CO;Lo;0;L;;;;;N;;;;;
+127F;ETHIOPIC SYLLABLE CWA;Lo;0;L;;;;;N;;;;;
+1280;ETHIOPIC SYLLABLE XA;Lo;0;L;;;;;N;;;;;
+1281;ETHIOPIC SYLLABLE XU;Lo;0;L;;;;;N;;;;;
+1282;ETHIOPIC SYLLABLE XI;Lo;0;L;;;;;N;;;;;
+1283;ETHIOPIC SYLLABLE XAA;Lo;0;L;;;;;N;;;;;
+1284;ETHIOPIC SYLLABLE XEE;Lo;0;L;;;;;N;;;;;
+1285;ETHIOPIC SYLLABLE XE;Lo;0;L;;;;;N;;;;;
+1286;ETHIOPIC SYLLABLE XO;Lo;0;L;;;;;N;;;;;
+1287;ETHIOPIC SYLLABLE XOA;Lo;0;L;;;;;N;;;;;
+1288;ETHIOPIC SYLLABLE XWA;Lo;0;L;;;;;N;;;;;
+128A;ETHIOPIC SYLLABLE XWI;Lo;0;L;;;;;N;;;;;
+128B;ETHIOPIC SYLLABLE XWAA;Lo;0;L;;;;;N;;;;;
+128C;ETHIOPIC SYLLABLE XWEE;Lo;0;L;;;;;N;;;;;
+128D;ETHIOPIC SYLLABLE XWE;Lo;0;L;;;;;N;;;;;
+1290;ETHIOPIC SYLLABLE NA;Lo;0;L;;;;;N;;;;;
+1291;ETHIOPIC SYLLABLE NU;Lo;0;L;;;;;N;;;;;
+1292;ETHIOPIC SYLLABLE NI;Lo;0;L;;;;;N;;;;;
+1293;ETHIOPIC SYLLABLE NAA;Lo;0;L;;;;;N;;;;;
+1294;ETHIOPIC SYLLABLE NEE;Lo;0;L;;;;;N;;;;;
+1295;ETHIOPIC SYLLABLE NE;Lo;0;L;;;;;N;;;;;
+1296;ETHIOPIC SYLLABLE NO;Lo;0;L;;;;;N;;;;;
+1297;ETHIOPIC SYLLABLE NWA;Lo;0;L;;;;;N;;;;;
+1298;ETHIOPIC SYLLABLE NYA;Lo;0;L;;;;;N;;;;;
+1299;ETHIOPIC SYLLABLE NYU;Lo;0;L;;;;;N;;;;;
+129A;ETHIOPIC SYLLABLE NYI;Lo;0;L;;;;;N;;;;;
+129B;ETHIOPIC SYLLABLE NYAA;Lo;0;L;;;;;N;;;;;
+129C;ETHIOPIC SYLLABLE NYEE;Lo;0;L;;;;;N;;;;;
+129D;ETHIOPIC SYLLABLE NYE;Lo;0;L;;;;;N;;;;;
+129E;ETHIOPIC SYLLABLE NYO;Lo;0;L;;;;;N;;;;;
+129F;ETHIOPIC SYLLABLE NYWA;Lo;0;L;;;;;N;;;;;
+12A0;ETHIOPIC SYLLABLE GLOTTAL A;Lo;0;L;;;;;N;;;;;
+12A1;ETHIOPIC SYLLABLE GLOTTAL U;Lo;0;L;;;;;N;;;;;
+12A2;ETHIOPIC SYLLABLE GLOTTAL I;Lo;0;L;;;;;N;;;;;
+12A3;ETHIOPIC SYLLABLE GLOTTAL AA;Lo;0;L;;;;;N;;;;;
+12A4;ETHIOPIC SYLLABLE GLOTTAL EE;Lo;0;L;;;;;N;;;;;
+12A5;ETHIOPIC SYLLABLE GLOTTAL E;Lo;0;L;;;;;N;;;;;
+12A6;ETHIOPIC SYLLABLE GLOTTAL O;Lo;0;L;;;;;N;;;;;
+12A7;ETHIOPIC SYLLABLE GLOTTAL WA;Lo;0;L;;;;;N;;;;;
+12A8;ETHIOPIC SYLLABLE KA;Lo;0;L;;;;;N;;;;;
+12A9;ETHIOPIC SYLLABLE KU;Lo;0;L;;;;;N;;;;;
+12AA;ETHIOPIC SYLLABLE KI;Lo;0;L;;;;;N;;;;;
+12AB;ETHIOPIC SYLLABLE KAA;Lo;0;L;;;;;N;;;;;
+12AC;ETHIOPIC SYLLABLE KEE;Lo;0;L;;;;;N;;;;;
+12AD;ETHIOPIC SYLLABLE KE;Lo;0;L;;;;;N;;;;;
+12AE;ETHIOPIC SYLLABLE KO;Lo;0;L;;;;;N;;;;;
+12AF;ETHIOPIC SYLLABLE KOA;Lo;0;L;;;;;N;;;;;
+12B0;ETHIOPIC SYLLABLE KWA;Lo;0;L;;;;;N;;;;;
+12B2;ETHIOPIC SYLLABLE KWI;Lo;0;L;;;;;N;;;;;
+12B3;ETHIOPIC SYLLABLE KWAA;Lo;0;L;;;;;N;;;;;
+12B4;ETHIOPIC SYLLABLE KWEE;Lo;0;L;;;;;N;;;;;
+12B5;ETHIOPIC SYLLABLE KWE;Lo;0;L;;;;;N;;;;;
+12B8;ETHIOPIC SYLLABLE KXA;Lo;0;L;;;;;N;;;;;
+12B9;ETHIOPIC SYLLABLE KXU;Lo;0;L;;;;;N;;;;;
+12BA;ETHIOPIC SYLLABLE KXI;Lo;0;L;;;;;N;;;;;
+12BB;ETHIOPIC SYLLABLE KXAA;Lo;0;L;;;;;N;;;;;
+12BC;ETHIOPIC SYLLABLE KXEE;Lo;0;L;;;;;N;;;;;
+12BD;ETHIOPIC SYLLABLE KXE;Lo;0;L;;;;;N;;;;;
+12BE;ETHIOPIC SYLLABLE KXO;Lo;0;L;;;;;N;;;;;
+12C0;ETHIOPIC SYLLABLE KXWA;Lo;0;L;;;;;N;;;;;
+12C2;ETHIOPIC SYLLABLE KXWI;Lo;0;L;;;;;N;;;;;
+12C3;ETHIOPIC SYLLABLE KXWAA;Lo;0;L;;;;;N;;;;;
+12C4;ETHIOPIC SYLLABLE KXWEE;Lo;0;L;;;;;N;;;;;
+12C5;ETHIOPIC SYLLABLE KXWE;Lo;0;L;;;;;N;;;;;
+12C8;ETHIOPIC SYLLABLE WA;Lo;0;L;;;;;N;;;;;
+12C9;ETHIOPIC SYLLABLE WU;Lo;0;L;;;;;N;;;;;
+12CA;ETHIOPIC SYLLABLE WI;Lo;0;L;;;;;N;;;;;
+12CB;ETHIOPIC SYLLABLE WAA;Lo;0;L;;;;;N;;;;;
+12CC;ETHIOPIC SYLLABLE WEE;Lo;0;L;;;;;N;;;;;
+12CD;ETHIOPIC SYLLABLE WE;Lo;0;L;;;;;N;;;;;
+12CE;ETHIOPIC SYLLABLE WO;Lo;0;L;;;;;N;;;;;
+12CF;ETHIOPIC SYLLABLE WOA;Lo;0;L;;;;;N;;;;;
+12D0;ETHIOPIC SYLLABLE PHARYNGEAL A;Lo;0;L;;;;;N;;;;;
+12D1;ETHIOPIC SYLLABLE PHARYNGEAL U;Lo;0;L;;;;;N;;;;;
+12D2;ETHIOPIC SYLLABLE PHARYNGEAL I;Lo;0;L;;;;;N;;;;;
+12D3;ETHIOPIC SYLLABLE PHARYNGEAL AA;Lo;0;L;;;;;N;;;;;
+12D4;ETHIOPIC SYLLABLE PHARYNGEAL EE;Lo;0;L;;;;;N;;;;;
+12D5;ETHIOPIC SYLLABLE PHARYNGEAL E;Lo;0;L;;;;;N;;;;;
+12D6;ETHIOPIC SYLLABLE PHARYNGEAL O;Lo;0;L;;;;;N;;;;;
+12D8;ETHIOPIC SYLLABLE ZA;Lo;0;L;;;;;N;;;;;
+12D9;ETHIOPIC SYLLABLE ZU;Lo;0;L;;;;;N;;;;;
+12DA;ETHIOPIC SYLLABLE ZI;Lo;0;L;;;;;N;;;;;
+12DB;ETHIOPIC SYLLABLE ZAA;Lo;0;L;;;;;N;;;;;
+12DC;ETHIOPIC SYLLABLE ZEE;Lo;0;L;;;;;N;;;;;
+12DD;ETHIOPIC SYLLABLE ZE;Lo;0;L;;;;;N;;;;;
+12DE;ETHIOPIC SYLLABLE ZO;Lo;0;L;;;;;N;;;;;
+12DF;ETHIOPIC SYLLABLE ZWA;Lo;0;L;;;;;N;;;;;
+12E0;ETHIOPIC SYLLABLE ZHA;Lo;0;L;;;;;N;;;;;
+12E1;ETHIOPIC SYLLABLE ZHU;Lo;0;L;;;;;N;;;;;
+12E2;ETHIOPIC SYLLABLE ZHI;Lo;0;L;;;;;N;;;;;
+12E3;ETHIOPIC SYLLABLE ZHAA;Lo;0;L;;;;;N;;;;;
+12E4;ETHIOPIC SYLLABLE ZHEE;Lo;0;L;;;;;N;;;;;
+12E5;ETHIOPIC SYLLABLE ZHE;Lo;0;L;;;;;N;;;;;
+12E6;ETHIOPIC SYLLABLE ZHO;Lo;0;L;;;;;N;;;;;
+12E7;ETHIOPIC SYLLABLE ZHWA;Lo;0;L;;;;;N;;;;;
+12E8;ETHIOPIC SYLLABLE YA;Lo;0;L;;;;;N;;;;;
+12E9;ETHIOPIC SYLLABLE YU;Lo;0;L;;;;;N;;;;;
+12EA;ETHIOPIC SYLLABLE YI;Lo;0;L;;;;;N;;;;;
+12EB;ETHIOPIC SYLLABLE YAA;Lo;0;L;;;;;N;;;;;
+12EC;ETHIOPIC SYLLABLE YEE;Lo;0;L;;;;;N;;;;;
+12ED;ETHIOPIC SYLLABLE YE;Lo;0;L;;;;;N;;;;;
+12EE;ETHIOPIC SYLLABLE YO;Lo;0;L;;;;;N;;;;;
+12EF;ETHIOPIC SYLLABLE YOA;Lo;0;L;;;;;N;;;;;
+12F0;ETHIOPIC SYLLABLE DA;Lo;0;L;;;;;N;;;;;
+12F1;ETHIOPIC SYLLABLE DU;Lo;0;L;;;;;N;;;;;
+12F2;ETHIOPIC SYLLABLE DI;Lo;0;L;;;;;N;;;;;
+12F3;ETHIOPIC SYLLABLE DAA;Lo;0;L;;;;;N;;;;;
+12F4;ETHIOPIC SYLLABLE DEE;Lo;0;L;;;;;N;;;;;
+12F5;ETHIOPIC SYLLABLE DE;Lo;0;L;;;;;N;;;;;
+12F6;ETHIOPIC SYLLABLE DO;Lo;0;L;;;;;N;;;;;
+12F7;ETHIOPIC SYLLABLE DWA;Lo;0;L;;;;;N;;;;;
+12F8;ETHIOPIC SYLLABLE DDA;Lo;0;L;;;;;N;;;;;
+12F9;ETHIOPIC SYLLABLE DDU;Lo;0;L;;;;;N;;;;;
+12FA;ETHIOPIC SYLLABLE DDI;Lo;0;L;;;;;N;;;;;
+12FB;ETHIOPIC SYLLABLE DDAA;Lo;0;L;;;;;N;;;;;
+12FC;ETHIOPIC SYLLABLE DDEE;Lo;0;L;;;;;N;;;;;
+12FD;ETHIOPIC SYLLABLE DDE;Lo;0;L;;;;;N;;;;;
+12FE;ETHIOPIC SYLLABLE DDO;Lo;0;L;;;;;N;;;;;
+12FF;ETHIOPIC SYLLABLE DDWA;Lo;0;L;;;;;N;;;;;
+1300;ETHIOPIC SYLLABLE JA;Lo;0;L;;;;;N;;;;;
+1301;ETHIOPIC SYLLABLE JU;Lo;0;L;;;;;N;;;;;
+1302;ETHIOPIC SYLLABLE JI;Lo;0;L;;;;;N;;;;;
+1303;ETHIOPIC SYLLABLE JAA;Lo;0;L;;;;;N;;;;;
+1304;ETHIOPIC SYLLABLE JEE;Lo;0;L;;;;;N;;;;;
+1305;ETHIOPIC SYLLABLE JE;Lo;0;L;;;;;N;;;;;
+1306;ETHIOPIC SYLLABLE JO;Lo;0;L;;;;;N;;;;;
+1307;ETHIOPIC SYLLABLE JWA;Lo;0;L;;;;;N;;;;;
+1308;ETHIOPIC SYLLABLE GA;Lo;0;L;;;;;N;;;;;
+1309;ETHIOPIC SYLLABLE GU;Lo;0;L;;;;;N;;;;;
+130A;ETHIOPIC SYLLABLE GI;Lo;0;L;;;;;N;;;;;
+130B;ETHIOPIC SYLLABLE GAA;Lo;0;L;;;;;N;;;;;
+130C;ETHIOPIC SYLLABLE GEE;Lo;0;L;;;;;N;;;;;
+130D;ETHIOPIC SYLLABLE GE;Lo;0;L;;;;;N;;;;;
+130E;ETHIOPIC SYLLABLE GO;Lo;0;L;;;;;N;;;;;
+130F;ETHIOPIC SYLLABLE GOA;Lo;0;L;;;;;N;;;;;
+1310;ETHIOPIC SYLLABLE GWA;Lo;0;L;;;;;N;;;;;
+1312;ETHIOPIC SYLLABLE GWI;Lo;0;L;;;;;N;;;;;
+1313;ETHIOPIC SYLLABLE GWAA;Lo;0;L;;;;;N;;;;;
+1314;ETHIOPIC SYLLABLE GWEE;Lo;0;L;;;;;N;;;;;
+1315;ETHIOPIC SYLLABLE GWE;Lo;0;L;;;;;N;;;;;
+1318;ETHIOPIC SYLLABLE GGA;Lo;0;L;;;;;N;;;;;
+1319;ETHIOPIC SYLLABLE GGU;Lo;0;L;;;;;N;;;;;
+131A;ETHIOPIC SYLLABLE GGI;Lo;0;L;;;;;N;;;;;
+131B;ETHIOPIC SYLLABLE GGAA;Lo;0;L;;;;;N;;;;;
+131C;ETHIOPIC SYLLABLE GGEE;Lo;0;L;;;;;N;;;;;
+131D;ETHIOPIC SYLLABLE GGE;Lo;0;L;;;;;N;;;;;
+131E;ETHIOPIC SYLLABLE GGO;Lo;0;L;;;;;N;;;;;
+131F;ETHIOPIC SYLLABLE GGWAA;Lo;0;L;;;;;N;;;;;
+1320;ETHIOPIC SYLLABLE THA;Lo;0;L;;;;;N;;;;;
+1321;ETHIOPIC SYLLABLE THU;Lo;0;L;;;;;N;;;;;
+1322;ETHIOPIC SYLLABLE THI;Lo;0;L;;;;;N;;;;;
+1323;ETHIOPIC SYLLABLE THAA;Lo;0;L;;;;;N;;;;;
+1324;ETHIOPIC SYLLABLE THEE;Lo;0;L;;;;;N;;;;;
+1325;ETHIOPIC SYLLABLE THE;Lo;0;L;;;;;N;;;;;
+1326;ETHIOPIC SYLLABLE THO;Lo;0;L;;;;;N;;;;;
+1327;ETHIOPIC SYLLABLE THWA;Lo;0;L;;;;;N;;;;;
+1328;ETHIOPIC SYLLABLE CHA;Lo;0;L;;;;;N;;;;;
+1329;ETHIOPIC SYLLABLE CHU;Lo;0;L;;;;;N;;;;;
+132A;ETHIOPIC SYLLABLE CHI;Lo;0;L;;;;;N;;;;;
+132B;ETHIOPIC SYLLABLE CHAA;Lo;0;L;;;;;N;;;;;
+132C;ETHIOPIC SYLLABLE CHEE;Lo;0;L;;;;;N;;;;;
+132D;ETHIOPIC SYLLABLE CHE;Lo;0;L;;;;;N;;;;;
+132E;ETHIOPIC SYLLABLE CHO;Lo;0;L;;;;;N;;;;;
+132F;ETHIOPIC SYLLABLE CHWA;Lo;0;L;;;;;N;;;;;
+1330;ETHIOPIC SYLLABLE PHA;Lo;0;L;;;;;N;;;;;
+1331;ETHIOPIC SYLLABLE PHU;Lo;0;L;;;;;N;;;;;
+1332;ETHIOPIC SYLLABLE PHI;Lo;0;L;;;;;N;;;;;
+1333;ETHIOPIC SYLLABLE PHAA;Lo;0;L;;;;;N;;;;;
+1334;ETHIOPIC SYLLABLE PHEE;Lo;0;L;;;;;N;;;;;
+1335;ETHIOPIC SYLLABLE PHE;Lo;0;L;;;;;N;;;;;
+1336;ETHIOPIC SYLLABLE PHO;Lo;0;L;;;;;N;;;;;
+1337;ETHIOPIC SYLLABLE PHWA;Lo;0;L;;;;;N;;;;;
+1338;ETHIOPIC SYLLABLE TSA;Lo;0;L;;;;;N;;;;;
+1339;ETHIOPIC SYLLABLE TSU;Lo;0;L;;;;;N;;;;;
+133A;ETHIOPIC SYLLABLE TSI;Lo;0;L;;;;;N;;;;;
+133B;ETHIOPIC SYLLABLE TSAA;Lo;0;L;;;;;N;;;;;
+133C;ETHIOPIC SYLLABLE TSEE;Lo;0;L;;;;;N;;;;;
+133D;ETHIOPIC SYLLABLE TSE;Lo;0;L;;;;;N;;;;;
+133E;ETHIOPIC SYLLABLE TSO;Lo;0;L;;;;;N;;;;;
+133F;ETHIOPIC SYLLABLE TSWA;Lo;0;L;;;;;N;;;;;
+1340;ETHIOPIC SYLLABLE TZA;Lo;0;L;;;;;N;;;;;
+1341;ETHIOPIC SYLLABLE TZU;Lo;0;L;;;;;N;;;;;
+1342;ETHIOPIC SYLLABLE TZI;Lo;0;L;;;;;N;;;;;
+1343;ETHIOPIC SYLLABLE TZAA;Lo;0;L;;;;;N;;;;;
+1344;ETHIOPIC SYLLABLE TZEE;Lo;0;L;;;;;N;;;;;
+1345;ETHIOPIC SYLLABLE TZE;Lo;0;L;;;;;N;;;;;
+1346;ETHIOPIC SYLLABLE TZO;Lo;0;L;;;;;N;;;;;
+1347;ETHIOPIC SYLLABLE TZOA;Lo;0;L;;;;;N;;;;;
+1348;ETHIOPIC SYLLABLE FA;Lo;0;L;;;;;N;;;;;
+1349;ETHIOPIC SYLLABLE FU;Lo;0;L;;;;;N;;;;;
+134A;ETHIOPIC SYLLABLE FI;Lo;0;L;;;;;N;;;;;
+134B;ETHIOPIC SYLLABLE FAA;Lo;0;L;;;;;N;;;;;
+134C;ETHIOPIC SYLLABLE FEE;Lo;0;L;;;;;N;;;;;
+134D;ETHIOPIC SYLLABLE FE;Lo;0;L;;;;;N;;;;;
+134E;ETHIOPIC SYLLABLE FO;Lo;0;L;;;;;N;;;;;
+134F;ETHIOPIC SYLLABLE FWA;Lo;0;L;;;;;N;;;;;
+1350;ETHIOPIC SYLLABLE PA;Lo;0;L;;;;;N;;;;;
+1351;ETHIOPIC SYLLABLE PU;Lo;0;L;;;;;N;;;;;
+1352;ETHIOPIC SYLLABLE PI;Lo;0;L;;;;;N;;;;;
+1353;ETHIOPIC SYLLABLE PAA;Lo;0;L;;;;;N;;;;;
+1354;ETHIOPIC SYLLABLE PEE;Lo;0;L;;;;;N;;;;;
+1355;ETHIOPIC SYLLABLE PE;Lo;0;L;;;;;N;;;;;
+1356;ETHIOPIC SYLLABLE PO;Lo;0;L;;;;;N;;;;;
+1357;ETHIOPIC SYLLABLE PWA;Lo;0;L;;;;;N;;;;;
+1358;ETHIOPIC SYLLABLE RYA;Lo;0;L;;;;;N;;;;;
+1359;ETHIOPIC SYLLABLE MYA;Lo;0;L;;;;;N;;;;;
+135A;ETHIOPIC SYLLABLE FYA;Lo;0;L;;;;;N;;;;;
+135F;ETHIOPIC COMBINING GEMINATION MARK;Mn;230;NSM;;;;;N;;;;;
+1360;ETHIOPIC SECTION MARK;So;0;L;;;;;N;;;;;
+1361;ETHIOPIC WORDSPACE;Po;0;L;;;;;N;;;;;
+1362;ETHIOPIC FULL STOP;Po;0;L;;;;;N;;;;;
+1363;ETHIOPIC COMMA;Po;0;L;;;;;N;;;;;
+1364;ETHIOPIC SEMICOLON;Po;0;L;;;;;N;;;;;
+1365;ETHIOPIC COLON;Po;0;L;;;;;N;;;;;
+1366;ETHIOPIC PREFACE COLON;Po;0;L;;;;;N;;;;;
+1367;ETHIOPIC QUESTION MARK;Po;0;L;;;;;N;;;;;
+1368;ETHIOPIC PARAGRAPH SEPARATOR;Po;0;L;;;;;N;;;;;
+1369;ETHIOPIC DIGIT ONE;No;0;L;;;1;1;N;;;;;
+136A;ETHIOPIC DIGIT TWO;No;0;L;;;2;2;N;;;;;
+136B;ETHIOPIC DIGIT THREE;No;0;L;;;3;3;N;;;;;
+136C;ETHIOPIC DIGIT FOUR;No;0;L;;;4;4;N;;;;;
+136D;ETHIOPIC DIGIT FIVE;No;0;L;;;5;5;N;;;;;
+136E;ETHIOPIC DIGIT SIX;No;0;L;;;6;6;N;;;;;
+136F;ETHIOPIC DIGIT SEVEN;No;0;L;;;7;7;N;;;;;
+1370;ETHIOPIC DIGIT EIGHT;No;0;L;;;8;8;N;;;;;
+1371;ETHIOPIC DIGIT NINE;No;0;L;;;9;9;N;;;;;
+1372;ETHIOPIC NUMBER TEN;No;0;L;;;;10;N;;;;;
+1373;ETHIOPIC NUMBER TWENTY;No;0;L;;;;20;N;;;;;
+1374;ETHIOPIC NUMBER THIRTY;No;0;L;;;;30;N;;;;;
+1375;ETHIOPIC NUMBER FORTY;No;0;L;;;;40;N;;;;;
+1376;ETHIOPIC NUMBER FIFTY;No;0;L;;;;50;N;;;;;
+1377;ETHIOPIC NUMBER SIXTY;No;0;L;;;;60;N;;;;;
+1378;ETHIOPIC NUMBER SEVENTY;No;0;L;;;;70;N;;;;;
+1379;ETHIOPIC NUMBER EIGHTY;No;0;L;;;;80;N;;;;;
+137A;ETHIOPIC NUMBER NINETY;No;0;L;;;;90;N;;;;;
+137B;ETHIOPIC NUMBER HUNDRED;No;0;L;;;;100;N;;;;;
+137C;ETHIOPIC NUMBER TEN THOUSAND;No;0;L;;;;10000;N;;;;;
+1380;ETHIOPIC SYLLABLE SEBATBEIT MWA;Lo;0;L;;;;;N;;;;;
+1381;ETHIOPIC SYLLABLE MWI;Lo;0;L;;;;;N;;;;;
+1382;ETHIOPIC SYLLABLE MWEE;Lo;0;L;;;;;N;;;;;
+1383;ETHIOPIC SYLLABLE MWE;Lo;0;L;;;;;N;;;;;
+1384;ETHIOPIC SYLLABLE SEBATBEIT BWA;Lo;0;L;;;;;N;;;;;
+1385;ETHIOPIC SYLLABLE BWI;Lo;0;L;;;;;N;;;;;
+1386;ETHIOPIC SYLLABLE BWEE;Lo;0;L;;;;;N;;;;;
+1387;ETHIOPIC SYLLABLE BWE;Lo;0;L;;;;;N;;;;;
+1388;ETHIOPIC SYLLABLE SEBATBEIT FWA;Lo;0;L;;;;;N;;;;;
+1389;ETHIOPIC SYLLABLE FWI;Lo;0;L;;;;;N;;;;;
+138A;ETHIOPIC SYLLABLE FWEE;Lo;0;L;;;;;N;;;;;
+138B;ETHIOPIC SYLLABLE FWE;Lo;0;L;;;;;N;;;;;
+138C;ETHIOPIC SYLLABLE SEBATBEIT PWA;Lo;0;L;;;;;N;;;;;
+138D;ETHIOPIC SYLLABLE PWI;Lo;0;L;;;;;N;;;;;
+138E;ETHIOPIC SYLLABLE PWEE;Lo;0;L;;;;;N;;;;;
+138F;ETHIOPIC SYLLABLE PWE;Lo;0;L;;;;;N;;;;;
+1390;ETHIOPIC TONAL MARK YIZET;So;0;ON;;;;;N;;;;;
+1391;ETHIOPIC TONAL MARK DERET;So;0;ON;;;;;N;;;;;
+1392;ETHIOPIC TONAL MARK RIKRIK;So;0;ON;;;;;N;;;;;
+1393;ETHIOPIC TONAL MARK SHORT RIKRIK;So;0;ON;;;;;N;;;;;
+1394;ETHIOPIC TONAL MARK DIFAT;So;0;ON;;;;;N;;;;;
+1395;ETHIOPIC TONAL MARK KENAT;So;0;ON;;;;;N;;;;;
+1396;ETHIOPIC TONAL MARK CHIRET;So;0;ON;;;;;N;;;;;
+1397;ETHIOPIC TONAL MARK HIDET;So;0;ON;;;;;N;;;;;
+1398;ETHIOPIC TONAL MARK DERET-HIDET;So;0;ON;;;;;N;;;;;
+1399;ETHIOPIC TONAL MARK KURT;So;0;ON;;;;;N;;;;;
+13A0;CHEROKEE LETTER A;Lo;0;L;;;;;N;;;;;
+13A1;CHEROKEE LETTER E;Lo;0;L;;;;;N;;;;;
+13A2;CHEROKEE LETTER I;Lo;0;L;;;;;N;;;;;
+13A3;CHEROKEE LETTER O;Lo;0;L;;;;;N;;;;;
+13A4;CHEROKEE LETTER U;Lo;0;L;;;;;N;;;;;
+13A5;CHEROKEE LETTER V;Lo;0;L;;;;;N;;;;;
+13A6;CHEROKEE LETTER GA;Lo;0;L;;;;;N;;;;;
+13A7;CHEROKEE LETTER KA;Lo;0;L;;;;;N;;;;;
+13A8;CHEROKEE LETTER GE;Lo;0;L;;;;;N;;;;;
+13A9;CHEROKEE LETTER GI;Lo;0;L;;;;;N;;;;;
+13AA;CHEROKEE LETTER GO;Lo;0;L;;;;;N;;;;;
+13AB;CHEROKEE LETTER GU;Lo;0;L;;;;;N;;;;;
+13AC;CHEROKEE LETTER GV;Lo;0;L;;;;;N;;;;;
+13AD;CHEROKEE LETTER HA;Lo;0;L;;;;;N;;;;;
+13AE;CHEROKEE LETTER HE;Lo;0;L;;;;;N;;;;;
+13AF;CHEROKEE LETTER HI;Lo;0;L;;;;;N;;;;;
+13B0;CHEROKEE LETTER HO;Lo;0;L;;;;;N;;;;;
+13B1;CHEROKEE LETTER HU;Lo;0;L;;;;;N;;;;;
+13B2;CHEROKEE LETTER HV;Lo;0;L;;;;;N;;;;;
+13B3;CHEROKEE LETTER LA;Lo;0;L;;;;;N;;;;;
+13B4;CHEROKEE LETTER LE;Lo;0;L;;;;;N;;;;;
+13B5;CHEROKEE LETTER LI;Lo;0;L;;;;;N;;;;;
+13B6;CHEROKEE LETTER LO;Lo;0;L;;;;;N;;;;;
+13B7;CHEROKEE LETTER LU;Lo;0;L;;;;;N;;;;;
+13B8;CHEROKEE LETTER LV;Lo;0;L;;;;;N;;;;;
+13B9;CHEROKEE LETTER MA;Lo;0;L;;;;;N;;;;;
+13BA;CHEROKEE LETTER ME;Lo;0;L;;;;;N;;;;;
+13BB;CHEROKEE LETTER MI;Lo;0;L;;;;;N;;;;;
+13BC;CHEROKEE LETTER MO;Lo;0;L;;;;;N;;;;;
+13BD;CHEROKEE LETTER MU;Lo;0;L;;;;;N;;;;;
+13BE;CHEROKEE LETTER NA;Lo;0;L;;;;;N;;;;;
+13BF;CHEROKEE LETTER HNA;Lo;0;L;;;;;N;;;;;
+13C0;CHEROKEE LETTER NAH;Lo;0;L;;;;;N;;;;;
+13C1;CHEROKEE LETTER NE;Lo;0;L;;;;;N;;;;;
+13C2;CHEROKEE LETTER NI;Lo;0;L;;;;;N;;;;;
+13C3;CHEROKEE LETTER NO;Lo;0;L;;;;;N;;;;;
+13C4;CHEROKEE LETTER NU;Lo;0;L;;;;;N;;;;;
+13C5;CHEROKEE LETTER NV;Lo;0;L;;;;;N;;;;;
+13C6;CHEROKEE LETTER QUA;Lo;0;L;;;;;N;;;;;
+13C7;CHEROKEE LETTER QUE;Lo;0;L;;;;;N;;;;;
+13C8;CHEROKEE LETTER QUI;Lo;0;L;;;;;N;;;;;
+13C9;CHEROKEE LETTER QUO;Lo;0;L;;;;;N;;;;;
+13CA;CHEROKEE LETTER QUU;Lo;0;L;;;;;N;;;;;
+13CB;CHEROKEE LETTER QUV;Lo;0;L;;;;;N;;;;;
+13CC;CHEROKEE LETTER SA;Lo;0;L;;;;;N;;;;;
+13CD;CHEROKEE LETTER S;Lo;0;L;;;;;N;;;;;
+13CE;CHEROKEE LETTER SE;Lo;0;L;;;;;N;;;;;
+13CF;CHEROKEE LETTER SI;Lo;0;L;;;;;N;;;;;
+13D0;CHEROKEE LETTER SO;Lo;0;L;;;;;N;;;;;
+13D1;CHEROKEE LETTER SU;Lo;0;L;;;;;N;;;;;
+13D2;CHEROKEE LETTER SV;Lo;0;L;;;;;N;;;;;
+13D3;CHEROKEE LETTER DA;Lo;0;L;;;;;N;;;;;
+13D4;CHEROKEE LETTER TA;Lo;0;L;;;;;N;;;;;
+13D5;CHEROKEE LETTER DE;Lo;0;L;;;;;N;;;;;
+13D6;CHEROKEE LETTER TE;Lo;0;L;;;;;N;;;;;
+13D7;CHEROKEE LETTER DI;Lo;0;L;;;;;N;;;;;
+13D8;CHEROKEE LETTER TI;Lo;0;L;;;;;N;;;;;
+13D9;CHEROKEE LETTER DO;Lo;0;L;;;;;N;;;;;
+13DA;CHEROKEE LETTER DU;Lo;0;L;;;;;N;;;;;
+13DB;CHEROKEE LETTER DV;Lo;0;L;;;;;N;;;;;
+13DC;CHEROKEE LETTER DLA;Lo;0;L;;;;;N;;;;;
+13DD;CHEROKEE LETTER TLA;Lo;0;L;;;;;N;;;;;
+13DE;CHEROKEE LETTER TLE;Lo;0;L;;;;;N;;;;;
+13DF;CHEROKEE LETTER TLI;Lo;0;L;;;;;N;;;;;
+13E0;CHEROKEE LETTER TLO;Lo;0;L;;;;;N;;;;;
+13E1;CHEROKEE LETTER TLU;Lo;0;L;;;;;N;;;;;
+13E2;CHEROKEE LETTER TLV;Lo;0;L;;;;;N;;;;;
+13E3;CHEROKEE LETTER TSA;Lo;0;L;;;;;N;;;;;
+13E4;CHEROKEE LETTER TSE;Lo;0;L;;;;;N;;;;;
+13E5;CHEROKEE LETTER TSI;Lo;0;L;;;;;N;;;;;
+13E6;CHEROKEE LETTER TSO;Lo;0;L;;;;;N;;;;;
+13E7;CHEROKEE LETTER TSU;Lo;0;L;;;;;N;;;;;
+13E8;CHEROKEE LETTER TSV;Lo;0;L;;;;;N;;;;;
+13E9;CHEROKEE LETTER WA;Lo;0;L;;;;;N;;;;;
+13EA;CHEROKEE LETTER WE;Lo;0;L;;;;;N;;;;;
+13EB;CHEROKEE LETTER WI;Lo;0;L;;;;;N;;;;;
+13EC;CHEROKEE LETTER WO;Lo;0;L;;;;;N;;;;;
+13ED;CHEROKEE LETTER WU;Lo;0;L;;;;;N;;;;;
+13EE;CHEROKEE LETTER WV;Lo;0;L;;;;;N;;;;;
+13EF;CHEROKEE LETTER YA;Lo;0;L;;;;;N;;;;;
+13F0;CHEROKEE LETTER YE;Lo;0;L;;;;;N;;;;;
+13F1;CHEROKEE LETTER YI;Lo;0;L;;;;;N;;;;;
+13F2;CHEROKEE LETTER YO;Lo;0;L;;;;;N;;;;;
+13F3;CHEROKEE LETTER YU;Lo;0;L;;;;;N;;;;;
+13F4;CHEROKEE LETTER YV;Lo;0;L;;;;;N;;;;;
+1401;CANADIAN SYLLABICS E;Lo;0;L;;;;;N;;;;;
+1402;CANADIAN SYLLABICS AAI;Lo;0;L;;;;;N;;;;;
+1403;CANADIAN SYLLABICS I;Lo;0;L;;;;;N;;;;;
+1404;CANADIAN SYLLABICS II;Lo;0;L;;;;;N;;;;;
+1405;CANADIAN SYLLABICS O;Lo;0;L;;;;;N;;;;;
+1406;CANADIAN SYLLABICS OO;Lo;0;L;;;;;N;;;;;
+1407;CANADIAN SYLLABICS Y-CREE OO;Lo;0;L;;;;;N;;;;;
+1408;CANADIAN SYLLABICS CARRIER EE;Lo;0;L;;;;;N;;;;;
+1409;CANADIAN SYLLABICS CARRIER I;Lo;0;L;;;;;N;;;;;
+140A;CANADIAN SYLLABICS A;Lo;0;L;;;;;N;;;;;
+140B;CANADIAN SYLLABICS AA;Lo;0;L;;;;;N;;;;;
+140C;CANADIAN SYLLABICS WE;Lo;0;L;;;;;N;;;;;
+140D;CANADIAN SYLLABICS WEST-CREE WE;Lo;0;L;;;;;N;;;;;
+140E;CANADIAN SYLLABICS WI;Lo;0;L;;;;;N;;;;;
+140F;CANADIAN SYLLABICS WEST-CREE WI;Lo;0;L;;;;;N;;;;;
+1410;CANADIAN SYLLABICS WII;Lo;0;L;;;;;N;;;;;
+1411;CANADIAN SYLLABICS WEST-CREE WII;Lo;0;L;;;;;N;;;;;
+1412;CANADIAN SYLLABICS WO;Lo;0;L;;;;;N;;;;;
+1413;CANADIAN SYLLABICS WEST-CREE WO;Lo;0;L;;;;;N;;;;;
+1414;CANADIAN SYLLABICS WOO;Lo;0;L;;;;;N;;;;;
+1415;CANADIAN SYLLABICS WEST-CREE WOO;Lo;0;L;;;;;N;;;;;
+1416;CANADIAN SYLLABICS NASKAPI WOO;Lo;0;L;;;;;N;;;;;
+1417;CANADIAN SYLLABICS WA;Lo;0;L;;;;;N;;;;;
+1418;CANADIAN SYLLABICS WEST-CREE WA;Lo;0;L;;;;;N;;;;;
+1419;CANADIAN SYLLABICS WAA;Lo;0;L;;;;;N;;;;;
+141A;CANADIAN SYLLABICS WEST-CREE WAA;Lo;0;L;;;;;N;;;;;
+141B;CANADIAN SYLLABICS NASKAPI WAA;Lo;0;L;;;;;N;;;;;
+141C;CANADIAN SYLLABICS AI;Lo;0;L;;;;;N;;;;;
+141D;CANADIAN SYLLABICS Y-CREE W;Lo;0;L;;;;;N;;;;;
+141E;CANADIAN SYLLABICS GLOTTAL STOP;Lo;0;L;;;;;N;;;;;
+141F;CANADIAN SYLLABICS FINAL ACUTE;Lo;0;L;;;;;N;;;;;
+1420;CANADIAN SYLLABICS FINAL GRAVE;Lo;0;L;;;;;N;;;;;
+1421;CANADIAN SYLLABICS FINAL BOTTOM HALF RING;Lo;0;L;;;;;N;;;;;
+1422;CANADIAN SYLLABICS FINAL TOP HALF RING;Lo;0;L;;;;;N;;;;;
+1423;CANADIAN SYLLABICS FINAL RIGHT HALF RING;Lo;0;L;;;;;N;;;;;
+1424;CANADIAN SYLLABICS FINAL RING;Lo;0;L;;;;;N;;;;;
+1425;CANADIAN SYLLABICS FINAL DOUBLE ACUTE;Lo;0;L;;;;;N;;;;;
+1426;CANADIAN SYLLABICS FINAL DOUBLE SHORT VERTICAL STROKES;Lo;0;L;;;;;N;;;;;
+1427;CANADIAN SYLLABICS FINAL MIDDLE DOT;Lo;0;L;;;;;N;;;;;
+1428;CANADIAN SYLLABICS FINAL SHORT HORIZONTAL STROKE;Lo;0;L;;;;;N;;;;;
+1429;CANADIAN SYLLABICS FINAL PLUS;Lo;0;L;;;;;N;;;;;
+142A;CANADIAN SYLLABICS FINAL DOWN TACK;Lo;0;L;;;;;N;;;;;
+142B;CANADIAN SYLLABICS EN;Lo;0;L;;;;;N;;;;;
+142C;CANADIAN SYLLABICS IN;Lo;0;L;;;;;N;;;;;
+142D;CANADIAN SYLLABICS ON;Lo;0;L;;;;;N;;;;;
+142E;CANADIAN SYLLABICS AN;Lo;0;L;;;;;N;;;;;
+142F;CANADIAN SYLLABICS PE;Lo;0;L;;;;;N;;;;;
+1430;CANADIAN SYLLABICS PAAI;Lo;0;L;;;;;N;;;;;
+1431;CANADIAN SYLLABICS PI;Lo;0;L;;;;;N;;;;;
+1432;CANADIAN SYLLABICS PII;Lo;0;L;;;;;N;;;;;
+1433;CANADIAN SYLLABICS PO;Lo;0;L;;;;;N;;;;;
+1434;CANADIAN SYLLABICS POO;Lo;0;L;;;;;N;;;;;
+1435;CANADIAN SYLLABICS Y-CREE POO;Lo;0;L;;;;;N;;;;;
+1436;CANADIAN SYLLABICS CARRIER HEE;Lo;0;L;;;;;N;;;;;
+1437;CANADIAN SYLLABICS CARRIER HI;Lo;0;L;;;;;N;;;;;
+1438;CANADIAN SYLLABICS PA;Lo;0;L;;;;;N;;;;;
+1439;CANADIAN SYLLABICS PAA;Lo;0;L;;;;;N;;;;;
+143A;CANADIAN SYLLABICS PWE;Lo;0;L;;;;;N;;;;;
+143B;CANADIAN SYLLABICS WEST-CREE PWE;Lo;0;L;;;;;N;;;;;
+143C;CANADIAN SYLLABICS PWI;Lo;0;L;;;;;N;;;;;
+143D;CANADIAN SYLLABICS WEST-CREE PWI;Lo;0;L;;;;;N;;;;;
+143E;CANADIAN SYLLABICS PWII;Lo;0;L;;;;;N;;;;;
+143F;CANADIAN SYLLABICS WEST-CREE PWII;Lo;0;L;;;;;N;;;;;
+1440;CANADIAN SYLLABICS PWO;Lo;0;L;;;;;N;;;;;
+1441;CANADIAN SYLLABICS WEST-CREE PWO;Lo;0;L;;;;;N;;;;;
+1442;CANADIAN SYLLABICS PWOO;Lo;0;L;;;;;N;;;;;
+1443;CANADIAN SYLLABICS WEST-CREE PWOO;Lo;0;L;;;;;N;;;;;
+1444;CANADIAN SYLLABICS PWA;Lo;0;L;;;;;N;;;;;
+1445;CANADIAN SYLLABICS WEST-CREE PWA;Lo;0;L;;;;;N;;;;;
+1446;CANADIAN SYLLABICS PWAA;Lo;0;L;;;;;N;;;;;
+1447;CANADIAN SYLLABICS WEST-CREE PWAA;Lo;0;L;;;;;N;;;;;
+1448;CANADIAN SYLLABICS Y-CREE PWAA;Lo;0;L;;;;;N;;;;;
+1449;CANADIAN SYLLABICS P;Lo;0;L;;;;;N;;;;;
+144A;CANADIAN SYLLABICS WEST-CREE P;Lo;0;L;;;;;N;;;;;
+144B;CANADIAN SYLLABICS CARRIER H;Lo;0;L;;;;;N;;;;;
+144C;CANADIAN SYLLABICS TE;Lo;0;L;;;;;N;;;;;
+144D;CANADIAN SYLLABICS TAAI;Lo;0;L;;;;;N;;;;;
+144E;CANADIAN SYLLABICS TI;Lo;0;L;;;;;N;;;;;
+144F;CANADIAN SYLLABICS TII;Lo;0;L;;;;;N;;;;;
+1450;CANADIAN SYLLABICS TO;Lo;0;L;;;;;N;;;;;
+1451;CANADIAN SYLLABICS TOO;Lo;0;L;;;;;N;;;;;
+1452;CANADIAN SYLLABICS Y-CREE TOO;Lo;0;L;;;;;N;;;;;
+1453;CANADIAN SYLLABICS CARRIER DEE;Lo;0;L;;;;;N;;;;;
+1454;CANADIAN SYLLABICS CARRIER DI;Lo;0;L;;;;;N;;;;;
+1455;CANADIAN SYLLABICS TA;Lo;0;L;;;;;N;;;;;
+1456;CANADIAN SYLLABICS TAA;Lo;0;L;;;;;N;;;;;
+1457;CANADIAN SYLLABICS TWE;Lo;0;L;;;;;N;;;;;
+1458;CANADIAN SYLLABICS WEST-CREE TWE;Lo;0;L;;;;;N;;;;;
+1459;CANADIAN SYLLABICS TWI;Lo;0;L;;;;;N;;;;;
+145A;CANADIAN SYLLABICS WEST-CREE TWI;Lo;0;L;;;;;N;;;;;
+145B;CANADIAN SYLLABICS TWII;Lo;0;L;;;;;N;;;;;
+145C;CANADIAN SYLLABICS WEST-CREE TWII;Lo;0;L;;;;;N;;;;;
+145D;CANADIAN SYLLABICS TWO;Lo;0;L;;;;;N;;;;;
+145E;CANADIAN SYLLABICS WEST-CREE TWO;Lo;0;L;;;;;N;;;;;
+145F;CANADIAN SYLLABICS TWOO;Lo;0;L;;;;;N;;;;;
+1460;CANADIAN SYLLABICS WEST-CREE TWOO;Lo;0;L;;;;;N;;;;;
+1461;CANADIAN SYLLABICS TWA;Lo;0;L;;;;;N;;;;;
+1462;CANADIAN SYLLABICS WEST-CREE TWA;Lo;0;L;;;;;N;;;;;
+1463;CANADIAN SYLLABICS TWAA;Lo;0;L;;;;;N;;;;;
+1464;CANADIAN SYLLABICS WEST-CREE TWAA;Lo;0;L;;;;;N;;;;;
+1465;CANADIAN SYLLABICS NASKAPI TWAA;Lo;0;L;;;;;N;;;;;
+1466;CANADIAN SYLLABICS T;Lo;0;L;;;;;N;;;;;
+1467;CANADIAN SYLLABICS TTE;Lo;0;L;;;;;N;;;;;
+1468;CANADIAN SYLLABICS TTI;Lo;0;L;;;;;N;;;;;
+1469;CANADIAN SYLLABICS TTO;Lo;0;L;;;;;N;;;;;
+146A;CANADIAN SYLLABICS TTA;Lo;0;L;;;;;N;;;;;
+146B;CANADIAN SYLLABICS KE;Lo;0;L;;;;;N;;;;;
+146C;CANADIAN SYLLABICS KAAI;Lo;0;L;;;;;N;;;;;
+146D;CANADIAN SYLLABICS KI;Lo;0;L;;;;;N;;;;;
+146E;CANADIAN SYLLABICS KII;Lo;0;L;;;;;N;;;;;
+146F;CANADIAN SYLLABICS KO;Lo;0;L;;;;;N;;;;;
+1470;CANADIAN SYLLABICS KOO;Lo;0;L;;;;;N;;;;;
+1471;CANADIAN SYLLABICS Y-CREE KOO;Lo;0;L;;;;;N;;;;;
+1472;CANADIAN SYLLABICS KA;Lo;0;L;;;;;N;;;;;
+1473;CANADIAN SYLLABICS KAA;Lo;0;L;;;;;N;;;;;
+1474;CANADIAN SYLLABICS KWE;Lo;0;L;;;;;N;;;;;
+1475;CANADIAN SYLLABICS WEST-CREE KWE;Lo;0;L;;;;;N;;;;;
+1476;CANADIAN SYLLABICS KWI;Lo;0;L;;;;;N;;;;;
+1477;CANADIAN SYLLABICS WEST-CREE KWI;Lo;0;L;;;;;N;;;;;
+1478;CANADIAN SYLLABICS KWII;Lo;0;L;;;;;N;;;;;
+1479;CANADIAN SYLLABICS WEST-CREE KWII;Lo;0;L;;;;;N;;;;;
+147A;CANADIAN SYLLABICS KWO;Lo;0;L;;;;;N;;;;;
+147B;CANADIAN SYLLABICS WEST-CREE KWO;Lo;0;L;;;;;N;;;;;
+147C;CANADIAN SYLLABICS KWOO;Lo;0;L;;;;;N;;;;;
+147D;CANADIAN SYLLABICS WEST-CREE KWOO;Lo;0;L;;;;;N;;;;;
+147E;CANADIAN SYLLABICS KWA;Lo;0;L;;;;;N;;;;;
+147F;CANADIAN SYLLABICS WEST-CREE KWA;Lo;0;L;;;;;N;;;;;
+1480;CANADIAN SYLLABICS KWAA;Lo;0;L;;;;;N;;;;;
+1481;CANADIAN SYLLABICS WEST-CREE KWAA;Lo;0;L;;;;;N;;;;;
+1482;CANADIAN SYLLABICS NASKAPI KWAA;Lo;0;L;;;;;N;;;;;
+1483;CANADIAN SYLLABICS K;Lo;0;L;;;;;N;;;;;
+1484;CANADIAN SYLLABICS KW;Lo;0;L;;;;;N;;;;;
+1485;CANADIAN SYLLABICS SOUTH-SLAVEY KEH;Lo;0;L;;;;;N;;;;;
+1486;CANADIAN SYLLABICS SOUTH-SLAVEY KIH;Lo;0;L;;;;;N;;;;;
+1487;CANADIAN SYLLABICS SOUTH-SLAVEY KOH;Lo;0;L;;;;;N;;;;;
+1488;CANADIAN SYLLABICS SOUTH-SLAVEY KAH;Lo;0;L;;;;;N;;;;;
+1489;CANADIAN SYLLABICS CE;Lo;0;L;;;;;N;;;;;
+148A;CANADIAN SYLLABICS CAAI;Lo;0;L;;;;;N;;;;;
+148B;CANADIAN SYLLABICS CI;Lo;0;L;;;;;N;;;;;
+148C;CANADIAN SYLLABICS CII;Lo;0;L;;;;;N;;;;;
+148D;CANADIAN SYLLABICS CO;Lo;0;L;;;;;N;;;;;
+148E;CANADIAN SYLLABICS COO;Lo;0;L;;;;;N;;;;;
+148F;CANADIAN SYLLABICS Y-CREE COO;Lo;0;L;;;;;N;;;;;
+1490;CANADIAN SYLLABICS CA;Lo;0;L;;;;;N;;;;;
+1491;CANADIAN SYLLABICS CAA;Lo;0;L;;;;;N;;;;;
+1492;CANADIAN SYLLABICS CWE;Lo;0;L;;;;;N;;;;;
+1493;CANADIAN SYLLABICS WEST-CREE CWE;Lo;0;L;;;;;N;;;;;
+1494;CANADIAN SYLLABICS CWI;Lo;0;L;;;;;N;;;;;
+1495;CANADIAN SYLLABICS WEST-CREE CWI;Lo;0;L;;;;;N;;;;;
+1496;CANADIAN SYLLABICS CWII;Lo;0;L;;;;;N;;;;;
+1497;CANADIAN SYLLABICS WEST-CREE CWII;Lo;0;L;;;;;N;;;;;
+1498;CANADIAN SYLLABICS CWO;Lo;0;L;;;;;N;;;;;
+1499;CANADIAN SYLLABICS WEST-CREE CWO;Lo;0;L;;;;;N;;;;;
+149A;CANADIAN SYLLABICS CWOO;Lo;0;L;;;;;N;;;;;
+149B;CANADIAN SYLLABICS WEST-CREE CWOO;Lo;0;L;;;;;N;;;;;
+149C;CANADIAN SYLLABICS CWA;Lo;0;L;;;;;N;;;;;
+149D;CANADIAN SYLLABICS WEST-CREE CWA;Lo;0;L;;;;;N;;;;;
+149E;CANADIAN SYLLABICS CWAA;Lo;0;L;;;;;N;;;;;
+149F;CANADIAN SYLLABICS WEST-CREE CWAA;Lo;0;L;;;;;N;;;;;
+14A0;CANADIAN SYLLABICS NASKAPI CWAA;Lo;0;L;;;;;N;;;;;
+14A1;CANADIAN SYLLABICS C;Lo;0;L;;;;;N;;;;;
+14A2;CANADIAN SYLLABICS SAYISI TH;Lo;0;L;;;;;N;;;;;
+14A3;CANADIAN SYLLABICS ME;Lo;0;L;;;;;N;;;;;
+14A4;CANADIAN SYLLABICS MAAI;Lo;0;L;;;;;N;;;;;
+14A5;CANADIAN SYLLABICS MI;Lo;0;L;;;;;N;;;;;
+14A6;CANADIAN SYLLABICS MII;Lo;0;L;;;;;N;;;;;
+14A7;CANADIAN SYLLABICS MO;Lo;0;L;;;;;N;;;;;
+14A8;CANADIAN SYLLABICS MOO;Lo;0;L;;;;;N;;;;;
+14A9;CANADIAN SYLLABICS Y-CREE MOO;Lo;0;L;;;;;N;;;;;
+14AA;CANADIAN SYLLABICS MA;Lo;0;L;;;;;N;;;;;
+14AB;CANADIAN SYLLABICS MAA;Lo;0;L;;;;;N;;;;;
+14AC;CANADIAN SYLLABICS MWE;Lo;0;L;;;;;N;;;;;
+14AD;CANADIAN SYLLABICS WEST-CREE MWE;Lo;0;L;;;;;N;;;;;
+14AE;CANADIAN SYLLABICS MWI;Lo;0;L;;;;;N;;;;;
+14AF;CANADIAN SYLLABICS WEST-CREE MWI;Lo;0;L;;;;;N;;;;;
+14B0;CANADIAN SYLLABICS MWII;Lo;0;L;;;;;N;;;;;
+14B1;CANADIAN SYLLABICS WEST-CREE MWII;Lo;0;L;;;;;N;;;;;
+14B2;CANADIAN SYLLABICS MWO;Lo;0;L;;;;;N;;;;;
+14B3;CANADIAN SYLLABICS WEST-CREE MWO;Lo;0;L;;;;;N;;;;;
+14B4;CANADIAN SYLLABICS MWOO;Lo;0;L;;;;;N;;;;;
+14B5;CANADIAN SYLLABICS WEST-CREE MWOO;Lo;0;L;;;;;N;;;;;
+14B6;CANADIAN SYLLABICS MWA;Lo;0;L;;;;;N;;;;;
+14B7;CANADIAN SYLLABICS WEST-CREE MWA;Lo;0;L;;;;;N;;;;;
+14B8;CANADIAN SYLLABICS MWAA;Lo;0;L;;;;;N;;;;;
+14B9;CANADIAN SYLLABICS WEST-CREE MWAA;Lo;0;L;;;;;N;;;;;
+14BA;CANADIAN SYLLABICS NASKAPI MWAA;Lo;0;L;;;;;N;;;;;
+14BB;CANADIAN SYLLABICS M;Lo;0;L;;;;;N;;;;;
+14BC;CANADIAN SYLLABICS WEST-CREE M;Lo;0;L;;;;;N;;;;;
+14BD;CANADIAN SYLLABICS MH;Lo;0;L;;;;;N;;;;;
+14BE;CANADIAN SYLLABICS ATHAPASCAN M;Lo;0;L;;;;;N;;;;;
+14BF;CANADIAN SYLLABICS SAYISI M;Lo;0;L;;;;;N;;;;;
+14C0;CANADIAN SYLLABICS NE;Lo;0;L;;;;;N;;;;;
+14C1;CANADIAN SYLLABICS NAAI;Lo;0;L;;;;;N;;;;;
+14C2;CANADIAN SYLLABICS NI;Lo;0;L;;;;;N;;;;;
+14C3;CANADIAN SYLLABICS NII;Lo;0;L;;;;;N;;;;;
+14C4;CANADIAN SYLLABICS NO;Lo;0;L;;;;;N;;;;;
+14C5;CANADIAN SYLLABICS NOO;Lo;0;L;;;;;N;;;;;
+14C6;CANADIAN SYLLABICS Y-CREE NOO;Lo;0;L;;;;;N;;;;;
+14C7;CANADIAN SYLLABICS NA;Lo;0;L;;;;;N;;;;;
+14C8;CANADIAN SYLLABICS NAA;Lo;0;L;;;;;N;;;;;
+14C9;CANADIAN SYLLABICS NWE;Lo;0;L;;;;;N;;;;;
+14CA;CANADIAN SYLLABICS WEST-CREE NWE;Lo;0;L;;;;;N;;;;;
+14CB;CANADIAN SYLLABICS NWA;Lo;0;L;;;;;N;;;;;
+14CC;CANADIAN SYLLABICS WEST-CREE NWA;Lo;0;L;;;;;N;;;;;
+14CD;CANADIAN SYLLABICS NWAA;Lo;0;L;;;;;N;;;;;
+14CE;CANADIAN SYLLABICS WEST-CREE NWAA;Lo;0;L;;;;;N;;;;;
+14CF;CANADIAN SYLLABICS NASKAPI NWAA;Lo;0;L;;;;;N;;;;;
+14D0;CANADIAN SYLLABICS N;Lo;0;L;;;;;N;;;;;
+14D1;CANADIAN SYLLABICS CARRIER NG;Lo;0;L;;;;;N;;;;;
+14D2;CANADIAN SYLLABICS NH;Lo;0;L;;;;;N;;;;;
+14D3;CANADIAN SYLLABICS LE;Lo;0;L;;;;;N;;;;;
+14D4;CANADIAN SYLLABICS LAAI;Lo;0;L;;;;;N;;;;;
+14D5;CANADIAN SYLLABICS LI;Lo;0;L;;;;;N;;;;;
+14D6;CANADIAN SYLLABICS LII;Lo;0;L;;;;;N;;;;;
+14D7;CANADIAN SYLLABICS LO;Lo;0;L;;;;;N;;;;;
+14D8;CANADIAN SYLLABICS LOO;Lo;0;L;;;;;N;;;;;
+14D9;CANADIAN SYLLABICS Y-CREE LOO;Lo;0;L;;;;;N;;;;;
+14DA;CANADIAN SYLLABICS LA;Lo;0;L;;;;;N;;;;;
+14DB;CANADIAN SYLLABICS LAA;Lo;0;L;;;;;N;;;;;
+14DC;CANADIAN SYLLABICS LWE;Lo;0;L;;;;;N;;;;;
+14DD;CANADIAN SYLLABICS WEST-CREE LWE;Lo;0;L;;;;;N;;;;;
+14DE;CANADIAN SYLLABICS LWI;Lo;0;L;;;;;N;;;;;
+14DF;CANADIAN SYLLABICS WEST-CREE LWI;Lo;0;L;;;;;N;;;;;
+14E0;CANADIAN SYLLABICS LWII;Lo;0;L;;;;;N;;;;;
+14E1;CANADIAN SYLLABICS WEST-CREE LWII;Lo;0;L;;;;;N;;;;;
+14E2;CANADIAN SYLLABICS LWO;Lo;0;L;;;;;N;;;;;
+14E3;CANADIAN SYLLABICS WEST-CREE LWO;Lo;0;L;;;;;N;;;;;
+14E4;CANADIAN SYLLABICS LWOO;Lo;0;L;;;;;N;;;;;
+14E5;CANADIAN SYLLABICS WEST-CREE LWOO;Lo;0;L;;;;;N;;;;;
+14E6;CANADIAN SYLLABICS LWA;Lo;0;L;;;;;N;;;;;
+14E7;CANADIAN SYLLABICS WEST-CREE LWA;Lo;0;L;;;;;N;;;;;
+14E8;CANADIAN SYLLABICS LWAA;Lo;0;L;;;;;N;;;;;
+14E9;CANADIAN SYLLABICS WEST-CREE LWAA;Lo;0;L;;;;;N;;;;;
+14EA;CANADIAN SYLLABICS L;Lo;0;L;;;;;N;;;;;
+14EB;CANADIAN SYLLABICS WEST-CREE L;Lo;0;L;;;;;N;;;;;
+14EC;CANADIAN SYLLABICS MEDIAL L;Lo;0;L;;;;;N;;;;;
+14ED;CANADIAN SYLLABICS SE;Lo;0;L;;;;;N;;;;;
+14EE;CANADIAN SYLLABICS SAAI;Lo;0;L;;;;;N;;;;;
+14EF;CANADIAN SYLLABICS SI;Lo;0;L;;;;;N;;;;;
+14F0;CANADIAN SYLLABICS SII;Lo;0;L;;;;;N;;;;;
+14F1;CANADIAN SYLLABICS SO;Lo;0;L;;;;;N;;;;;
+14F2;CANADIAN SYLLABICS SOO;Lo;0;L;;;;;N;;;;;
+14F3;CANADIAN SYLLABICS Y-CREE SOO;Lo;0;L;;;;;N;;;;;
+14F4;CANADIAN SYLLABICS SA;Lo;0;L;;;;;N;;;;;
+14F5;CANADIAN SYLLABICS SAA;Lo;0;L;;;;;N;;;;;
+14F6;CANADIAN SYLLABICS SWE;Lo;0;L;;;;;N;;;;;
+14F7;CANADIAN SYLLABICS WEST-CREE SWE;Lo;0;L;;;;;N;;;;;
+14F8;CANADIAN SYLLABICS SWI;Lo;0;L;;;;;N;;;;;
+14F9;CANADIAN SYLLABICS WEST-CREE SWI;Lo;0;L;;;;;N;;;;;
+14FA;CANADIAN SYLLABICS SWII;Lo;0;L;;;;;N;;;;;
+14FB;CANADIAN SYLLABICS WEST-CREE SWII;Lo;0;L;;;;;N;;;;;
+14FC;CANADIAN SYLLABICS SWO;Lo;0;L;;;;;N;;;;;
+14FD;CANADIAN SYLLABICS WEST-CREE SWO;Lo;0;L;;;;;N;;;;;
+14FE;CANADIAN SYLLABICS SWOO;Lo;0;L;;;;;N;;;;;
+14FF;CANADIAN SYLLABICS WEST-CREE SWOO;Lo;0;L;;;;;N;;;;;
+1500;CANADIAN SYLLABICS SWA;Lo;0;L;;;;;N;;;;;
+1501;CANADIAN SYLLABICS WEST-CREE SWA;Lo;0;L;;;;;N;;;;;
+1502;CANADIAN SYLLABICS SWAA;Lo;0;L;;;;;N;;;;;
+1503;CANADIAN SYLLABICS WEST-CREE SWAA;Lo;0;L;;;;;N;;;;;
+1504;CANADIAN SYLLABICS NASKAPI SWAA;Lo;0;L;;;;;N;;;;;
+1505;CANADIAN SYLLABICS S;Lo;0;L;;;;;N;;;;;
+1506;CANADIAN SYLLABICS ATHAPASCAN S;Lo;0;L;;;;;N;;;;;
+1507;CANADIAN SYLLABICS SW;Lo;0;L;;;;;N;;;;;
+1508;CANADIAN SYLLABICS BLACKFOOT S;Lo;0;L;;;;;N;;;;;
+1509;CANADIAN SYLLABICS MOOSE-CREE SK;Lo;0;L;;;;;N;;;;;
+150A;CANADIAN SYLLABICS NASKAPI SKW;Lo;0;L;;;;;N;;;;;
+150B;CANADIAN SYLLABICS NASKAPI S-W;Lo;0;L;;;;;N;;;;;
+150C;CANADIAN SYLLABICS NASKAPI SPWA;Lo;0;L;;;;;N;;;;;
+150D;CANADIAN SYLLABICS NASKAPI STWA;Lo;0;L;;;;;N;;;;;
+150E;CANADIAN SYLLABICS NASKAPI SKWA;Lo;0;L;;;;;N;;;;;
+150F;CANADIAN SYLLABICS NASKAPI SCWA;Lo;0;L;;;;;N;;;;;
+1510;CANADIAN SYLLABICS SHE;Lo;0;L;;;;;N;;;;;
+1511;CANADIAN SYLLABICS SHI;Lo;0;L;;;;;N;;;;;
+1512;CANADIAN SYLLABICS SHII;Lo;0;L;;;;;N;;;;;
+1513;CANADIAN SYLLABICS SHO;Lo;0;L;;;;;N;;;;;
+1514;CANADIAN SYLLABICS SHOO;Lo;0;L;;;;;N;;;;;
+1515;CANADIAN SYLLABICS SHA;Lo;0;L;;;;;N;;;;;
+1516;CANADIAN SYLLABICS SHAA;Lo;0;L;;;;;N;;;;;
+1517;CANADIAN SYLLABICS SHWE;Lo;0;L;;;;;N;;;;;
+1518;CANADIAN SYLLABICS WEST-CREE SHWE;Lo;0;L;;;;;N;;;;;
+1519;CANADIAN SYLLABICS SHWI;Lo;0;L;;;;;N;;;;;
+151A;CANADIAN SYLLABICS WEST-CREE SHWI;Lo;0;L;;;;;N;;;;;
+151B;CANADIAN SYLLABICS SHWII;Lo;0;L;;;;;N;;;;;
+151C;CANADIAN SYLLABICS WEST-CREE SHWII;Lo;0;L;;;;;N;;;;;
+151D;CANADIAN SYLLABICS SHWO;Lo;0;L;;;;;N;;;;;
+151E;CANADIAN SYLLABICS WEST-CREE SHWO;Lo;0;L;;;;;N;;;;;
+151F;CANADIAN SYLLABICS SHWOO;Lo;0;L;;;;;N;;;;;
+1520;CANADIAN SYLLABICS WEST-CREE SHWOO;Lo;0;L;;;;;N;;;;;
+1521;CANADIAN SYLLABICS SHWA;Lo;0;L;;;;;N;;;;;
+1522;CANADIAN SYLLABICS WEST-CREE SHWA;Lo;0;L;;;;;N;;;;;
+1523;CANADIAN SYLLABICS SHWAA;Lo;0;L;;;;;N;;;;;
+1524;CANADIAN SYLLABICS WEST-CREE SHWAA;Lo;0;L;;;;;N;;;;;
+1525;CANADIAN SYLLABICS SH;Lo;0;L;;;;;N;;;;;
+1526;CANADIAN SYLLABICS YE;Lo;0;L;;;;;N;;;;;
+1527;CANADIAN SYLLABICS YAAI;Lo;0;L;;;;;N;;;;;
+1528;CANADIAN SYLLABICS YI;Lo;0;L;;;;;N;;;;;
+1529;CANADIAN SYLLABICS YII;Lo;0;L;;;;;N;;;;;
+152A;CANADIAN SYLLABICS YO;Lo;0;L;;;;;N;;;;;
+152B;CANADIAN SYLLABICS YOO;Lo;0;L;;;;;N;;;;;
+152C;CANADIAN SYLLABICS Y-CREE YOO;Lo;0;L;;;;;N;;;;;
+152D;CANADIAN SYLLABICS YA;Lo;0;L;;;;;N;;;;;
+152E;CANADIAN SYLLABICS YAA;Lo;0;L;;;;;N;;;;;
+152F;CANADIAN SYLLABICS YWE;Lo;0;L;;;;;N;;;;;
+1530;CANADIAN SYLLABICS WEST-CREE YWE;Lo;0;L;;;;;N;;;;;
+1531;CANADIAN SYLLABICS YWI;Lo;0;L;;;;;N;;;;;
+1532;CANADIAN SYLLABICS WEST-CREE YWI;Lo;0;L;;;;;N;;;;;
+1533;CANADIAN SYLLABICS YWII;Lo;0;L;;;;;N;;;;;
+1534;CANADIAN SYLLABICS WEST-CREE YWII;Lo;0;L;;;;;N;;;;;
+1535;CANADIAN SYLLABICS YWO;Lo;0;L;;;;;N;;;;;
+1536;CANADIAN SYLLABICS WEST-CREE YWO;Lo;0;L;;;;;N;;;;;
+1537;CANADIAN SYLLABICS YWOO;Lo;0;L;;;;;N;;;;;
+1538;CANADIAN SYLLABICS WEST-CREE YWOO;Lo;0;L;;;;;N;;;;;
+1539;CANADIAN SYLLABICS YWA;Lo;0;L;;;;;N;;;;;
+153A;CANADIAN SYLLABICS WEST-CREE YWA;Lo;0;L;;;;;N;;;;;
+153B;CANADIAN SYLLABICS YWAA;Lo;0;L;;;;;N;;;;;
+153C;CANADIAN SYLLABICS WEST-CREE YWAA;Lo;0;L;;;;;N;;;;;
+153D;CANADIAN SYLLABICS NASKAPI YWAA;Lo;0;L;;;;;N;;;;;
+153E;CANADIAN SYLLABICS Y;Lo;0;L;;;;;N;;;;;
+153F;CANADIAN SYLLABICS BIBLE-CREE Y;Lo;0;L;;;;;N;;;;;
+1540;CANADIAN SYLLABICS WEST-CREE Y;Lo;0;L;;;;;N;;;;;
+1541;CANADIAN SYLLABICS SAYISI YI;Lo;0;L;;;;;N;;;;;
+1542;CANADIAN SYLLABICS RE;Lo;0;L;;;;;N;;;;;
+1543;CANADIAN SYLLABICS R-CREE RE;Lo;0;L;;;;;N;;;;;
+1544;CANADIAN SYLLABICS WEST-CREE LE;Lo;0;L;;;;;N;;;;;
+1545;CANADIAN SYLLABICS RAAI;Lo;0;L;;;;;N;;;;;
+1546;CANADIAN SYLLABICS RI;Lo;0;L;;;;;N;;;;;
+1547;CANADIAN SYLLABICS RII;Lo;0;L;;;;;N;;;;;
+1548;CANADIAN SYLLABICS RO;Lo;0;L;;;;;N;;;;;
+1549;CANADIAN SYLLABICS ROO;Lo;0;L;;;;;N;;;;;
+154A;CANADIAN SYLLABICS WEST-CREE LO;Lo;0;L;;;;;N;;;;;
+154B;CANADIAN SYLLABICS RA;Lo;0;L;;;;;N;;;;;
+154C;CANADIAN SYLLABICS RAA;Lo;0;L;;;;;N;;;;;
+154D;CANADIAN SYLLABICS WEST-CREE LA;Lo;0;L;;;;;N;;;;;
+154E;CANADIAN SYLLABICS RWAA;Lo;0;L;;;;;N;;;;;
+154F;CANADIAN SYLLABICS WEST-CREE RWAA;Lo;0;L;;;;;N;;;;;
+1550;CANADIAN SYLLABICS R;Lo;0;L;;;;;N;;;;;
+1551;CANADIAN SYLLABICS WEST-CREE R;Lo;0;L;;;;;N;;;;;
+1552;CANADIAN SYLLABICS MEDIAL R;Lo;0;L;;;;;N;;;;;
+1553;CANADIAN SYLLABICS FE;Lo;0;L;;;;;N;;;;;
+1554;CANADIAN SYLLABICS FAAI;Lo;0;L;;;;;N;;;;;
+1555;CANADIAN SYLLABICS FI;Lo;0;L;;;;;N;;;;;
+1556;CANADIAN SYLLABICS FII;Lo;0;L;;;;;N;;;;;
+1557;CANADIAN SYLLABICS FO;Lo;0;L;;;;;N;;;;;
+1558;CANADIAN SYLLABICS FOO;Lo;0;L;;;;;N;;;;;
+1559;CANADIAN SYLLABICS FA;Lo;0;L;;;;;N;;;;;
+155A;CANADIAN SYLLABICS FAA;Lo;0;L;;;;;N;;;;;
+155B;CANADIAN SYLLABICS FWAA;Lo;0;L;;;;;N;;;;;
+155C;CANADIAN SYLLABICS WEST-CREE FWAA;Lo;0;L;;;;;N;;;;;
+155D;CANADIAN SYLLABICS F;Lo;0;L;;;;;N;;;;;
+155E;CANADIAN SYLLABICS THE;Lo;0;L;;;;;N;;;;;
+155F;CANADIAN SYLLABICS N-CREE THE;Lo;0;L;;;;;N;;;;;
+1560;CANADIAN SYLLABICS THI;Lo;0;L;;;;;N;;;;;
+1561;CANADIAN SYLLABICS N-CREE THI;Lo;0;L;;;;;N;;;;;
+1562;CANADIAN SYLLABICS THII;Lo;0;L;;;;;N;;;;;
+1563;CANADIAN SYLLABICS N-CREE THII;Lo;0;L;;;;;N;;;;;
+1564;CANADIAN SYLLABICS THO;Lo;0;L;;;;;N;;;;;
+1565;CANADIAN SYLLABICS THOO;Lo;0;L;;;;;N;;;;;
+1566;CANADIAN SYLLABICS THA;Lo;0;L;;;;;N;;;;;
+1567;CANADIAN SYLLABICS THAA;Lo;0;L;;;;;N;;;;;
+1568;CANADIAN SYLLABICS THWAA;Lo;0;L;;;;;N;;;;;
+1569;CANADIAN SYLLABICS WEST-CREE THWAA;Lo;0;L;;;;;N;;;;;
+156A;CANADIAN SYLLABICS TH;Lo;0;L;;;;;N;;;;;
+156B;CANADIAN SYLLABICS TTHE;Lo;0;L;;;;;N;;;;;
+156C;CANADIAN SYLLABICS TTHI;Lo;0;L;;;;;N;;;;;
+156D;CANADIAN SYLLABICS TTHO;Lo;0;L;;;;;N;;;;;
+156E;CANADIAN SYLLABICS TTHA;Lo;0;L;;;;;N;;;;;
+156F;CANADIAN SYLLABICS TTH;Lo;0;L;;;;;N;;;;;
+1570;CANADIAN SYLLABICS TYE;Lo;0;L;;;;;N;;;;;
+1571;CANADIAN SYLLABICS TYI;Lo;0;L;;;;;N;;;;;
+1572;CANADIAN SYLLABICS TYO;Lo;0;L;;;;;N;;;;;
+1573;CANADIAN SYLLABICS TYA;Lo;0;L;;;;;N;;;;;
+1574;CANADIAN SYLLABICS NUNAVIK HE;Lo;0;L;;;;;N;;;;;
+1575;CANADIAN SYLLABICS NUNAVIK HI;Lo;0;L;;;;;N;;;;;
+1576;CANADIAN SYLLABICS NUNAVIK HII;Lo;0;L;;;;;N;;;;;
+1577;CANADIAN SYLLABICS NUNAVIK HO;Lo;0;L;;;;;N;;;;;
+1578;CANADIAN SYLLABICS NUNAVIK HOO;Lo;0;L;;;;;N;;;;;
+1579;CANADIAN SYLLABICS NUNAVIK HA;Lo;0;L;;;;;N;;;;;
+157A;CANADIAN SYLLABICS NUNAVIK HAA;Lo;0;L;;;;;N;;;;;
+157B;CANADIAN SYLLABICS NUNAVIK H;Lo;0;L;;;;;N;;;;;
+157C;CANADIAN SYLLABICS NUNAVUT H;Lo;0;L;;;;;N;;;;;
+157D;CANADIAN SYLLABICS HK;Lo;0;L;;;;;N;;;;;
+157E;CANADIAN SYLLABICS QAAI;Lo;0;L;;;;;N;;;;;
+157F;CANADIAN SYLLABICS QI;Lo;0;L;;;;;N;;;;;
+1580;CANADIAN SYLLABICS QII;Lo;0;L;;;;;N;;;;;
+1581;CANADIAN SYLLABICS QO;Lo;0;L;;;;;N;;;;;
+1582;CANADIAN SYLLABICS QOO;Lo;0;L;;;;;N;;;;;
+1583;CANADIAN SYLLABICS QA;Lo;0;L;;;;;N;;;;;
+1584;CANADIAN SYLLABICS QAA;Lo;0;L;;;;;N;;;;;
+1585;CANADIAN SYLLABICS Q;Lo;0;L;;;;;N;;;;;
+1586;CANADIAN SYLLABICS TLHE;Lo;0;L;;;;;N;;;;;
+1587;CANADIAN SYLLABICS TLHI;Lo;0;L;;;;;N;;;;;
+1588;CANADIAN SYLLABICS TLHO;Lo;0;L;;;;;N;;;;;
+1589;CANADIAN SYLLABICS TLHA;Lo;0;L;;;;;N;;;;;
+158A;CANADIAN SYLLABICS WEST-CREE RE;Lo;0;L;;;;;N;;;;;
+158B;CANADIAN SYLLABICS WEST-CREE RI;Lo;0;L;;;;;N;;;;;
+158C;CANADIAN SYLLABICS WEST-CREE RO;Lo;0;L;;;;;N;;;;;
+158D;CANADIAN SYLLABICS WEST-CREE RA;Lo;0;L;;;;;N;;;;;
+158E;CANADIAN SYLLABICS NGAAI;Lo;0;L;;;;;N;;;;;
+158F;CANADIAN SYLLABICS NGI;Lo;0;L;;;;;N;;;;;
+1590;CANADIAN SYLLABICS NGII;Lo;0;L;;;;;N;;;;;
+1591;CANADIAN SYLLABICS NGO;Lo;0;L;;;;;N;;;;;
+1592;CANADIAN SYLLABICS NGOO;Lo;0;L;;;;;N;;;;;
+1593;CANADIAN SYLLABICS NGA;Lo;0;L;;;;;N;;;;;
+1594;CANADIAN SYLLABICS NGAA;Lo;0;L;;;;;N;;;;;
+1595;CANADIAN SYLLABICS NG;Lo;0;L;;;;;N;;;;;
+1596;CANADIAN SYLLABICS NNG;Lo;0;L;;;;;N;;;;;
+1597;CANADIAN SYLLABICS SAYISI SHE;Lo;0;L;;;;;N;;;;;
+1598;CANADIAN SYLLABICS SAYISI SHI;Lo;0;L;;;;;N;;;;;
+1599;CANADIAN SYLLABICS SAYISI SHO;Lo;0;L;;;;;N;;;;;
+159A;CANADIAN SYLLABICS SAYISI SHA;Lo;0;L;;;;;N;;;;;
+159B;CANADIAN SYLLABICS WOODS-CREE THE;Lo;0;L;;;;;N;;;;;
+159C;CANADIAN SYLLABICS WOODS-CREE THI;Lo;0;L;;;;;N;;;;;
+159D;CANADIAN SYLLABICS WOODS-CREE THO;Lo;0;L;;;;;N;;;;;
+159E;CANADIAN SYLLABICS WOODS-CREE THA;Lo;0;L;;;;;N;;;;;
+159F;CANADIAN SYLLABICS WOODS-CREE TH;Lo;0;L;;;;;N;;;;;
+15A0;CANADIAN SYLLABICS LHI;Lo;0;L;;;;;N;;;;;
+15A1;CANADIAN SYLLABICS LHII;Lo;0;L;;;;;N;;;;;
+15A2;CANADIAN SYLLABICS LHO;Lo;0;L;;;;;N;;;;;
+15A3;CANADIAN SYLLABICS LHOO;Lo;0;L;;;;;N;;;;;
+15A4;CANADIAN SYLLABICS LHA;Lo;0;L;;;;;N;;;;;
+15A5;CANADIAN SYLLABICS LHAA;Lo;0;L;;;;;N;;;;;
+15A6;CANADIAN SYLLABICS LH;Lo;0;L;;;;;N;;;;;
+15A7;CANADIAN SYLLABICS TH-CREE THE;Lo;0;L;;;;;N;;;;;
+15A8;CANADIAN SYLLABICS TH-CREE THI;Lo;0;L;;;;;N;;;;;
+15A9;CANADIAN SYLLABICS TH-CREE THII;Lo;0;L;;;;;N;;;;;
+15AA;CANADIAN SYLLABICS TH-CREE THO;Lo;0;L;;;;;N;;;;;
+15AB;CANADIAN SYLLABICS TH-CREE THOO;Lo;0;L;;;;;N;;;;;
+15AC;CANADIAN SYLLABICS TH-CREE THA;Lo;0;L;;;;;N;;;;;
+15AD;CANADIAN SYLLABICS TH-CREE THAA;Lo;0;L;;;;;N;;;;;
+15AE;CANADIAN SYLLABICS TH-CREE TH;Lo;0;L;;;;;N;;;;;
+15AF;CANADIAN SYLLABICS AIVILIK B;Lo;0;L;;;;;N;;;;;
+15B0;CANADIAN SYLLABICS BLACKFOOT E;Lo;0;L;;;;;N;;;;;
+15B1;CANADIAN SYLLABICS BLACKFOOT I;Lo;0;L;;;;;N;;;;;
+15B2;CANADIAN SYLLABICS BLACKFOOT O;Lo;0;L;;;;;N;;;;;
+15B3;CANADIAN SYLLABICS BLACKFOOT A;Lo;0;L;;;;;N;;;;;
+15B4;CANADIAN SYLLABICS BLACKFOOT WE;Lo;0;L;;;;;N;;;;;
+15B5;CANADIAN SYLLABICS BLACKFOOT WI;Lo;0;L;;;;;N;;;;;
+15B6;CANADIAN SYLLABICS BLACKFOOT WO;Lo;0;L;;;;;N;;;;;
+15B7;CANADIAN SYLLABICS BLACKFOOT WA;Lo;0;L;;;;;N;;;;;
+15B8;CANADIAN SYLLABICS BLACKFOOT NE;Lo;0;L;;;;;N;;;;;
+15B9;CANADIAN SYLLABICS BLACKFOOT NI;Lo;0;L;;;;;N;;;;;
+15BA;CANADIAN SYLLABICS BLACKFOOT NO;Lo;0;L;;;;;N;;;;;
+15BB;CANADIAN SYLLABICS BLACKFOOT NA;Lo;0;L;;;;;N;;;;;
+15BC;CANADIAN SYLLABICS BLACKFOOT KE;Lo;0;L;;;;;N;;;;;
+15BD;CANADIAN SYLLABICS BLACKFOOT KI;Lo;0;L;;;;;N;;;;;
+15BE;CANADIAN SYLLABICS BLACKFOOT KO;Lo;0;L;;;;;N;;;;;
+15BF;CANADIAN SYLLABICS BLACKFOOT KA;Lo;0;L;;;;;N;;;;;
+15C0;CANADIAN SYLLABICS SAYISI HE;Lo;0;L;;;;;N;;;;;
+15C1;CANADIAN SYLLABICS SAYISI HI;Lo;0;L;;;;;N;;;;;
+15C2;CANADIAN SYLLABICS SAYISI HO;Lo;0;L;;;;;N;;;;;
+15C3;CANADIAN SYLLABICS SAYISI HA;Lo;0;L;;;;;N;;;;;
+15C4;CANADIAN SYLLABICS CARRIER GHU;Lo;0;L;;;;;N;;;;;
+15C5;CANADIAN SYLLABICS CARRIER GHO;Lo;0;L;;;;;N;;;;;
+15C6;CANADIAN SYLLABICS CARRIER GHE;Lo;0;L;;;;;N;;;;;
+15C7;CANADIAN SYLLABICS CARRIER GHEE;Lo;0;L;;;;;N;;;;;
+15C8;CANADIAN SYLLABICS CARRIER GHI;Lo;0;L;;;;;N;;;;;
+15C9;CANADIAN SYLLABICS CARRIER GHA;Lo;0;L;;;;;N;;;;;
+15CA;CANADIAN SYLLABICS CARRIER RU;Lo;0;L;;;;;N;;;;;
+15CB;CANADIAN SYLLABICS CARRIER RO;Lo;0;L;;;;;N;;;;;
+15CC;CANADIAN SYLLABICS CARRIER RE;Lo;0;L;;;;;N;;;;;
+15CD;CANADIAN SYLLABICS CARRIER REE;Lo;0;L;;;;;N;;;;;
+15CE;CANADIAN SYLLABICS CARRIER RI;Lo;0;L;;;;;N;;;;;
+15CF;CANADIAN SYLLABICS CARRIER RA;Lo;0;L;;;;;N;;;;;
+15D0;CANADIAN SYLLABICS CARRIER WU;Lo;0;L;;;;;N;;;;;
+15D1;CANADIAN SYLLABICS CARRIER WO;Lo;0;L;;;;;N;;;;;
+15D2;CANADIAN SYLLABICS CARRIER WE;Lo;0;L;;;;;N;;;;;
+15D3;CANADIAN SYLLABICS CARRIER WEE;Lo;0;L;;;;;N;;;;;
+15D4;CANADIAN SYLLABICS CARRIER WI;Lo;0;L;;;;;N;;;;;
+15D5;CANADIAN SYLLABICS CARRIER WA;Lo;0;L;;;;;N;;;;;
+15D6;CANADIAN SYLLABICS CARRIER HWU;Lo;0;L;;;;;N;;;;;
+15D7;CANADIAN SYLLABICS CARRIER HWO;Lo;0;L;;;;;N;;;;;
+15D8;CANADIAN SYLLABICS CARRIER HWE;Lo;0;L;;;;;N;;;;;
+15D9;CANADIAN SYLLABICS CARRIER HWEE;Lo;0;L;;;;;N;;;;;
+15DA;CANADIAN SYLLABICS CARRIER HWI;Lo;0;L;;;;;N;;;;;
+15DB;CANADIAN SYLLABICS CARRIER HWA;Lo;0;L;;;;;N;;;;;
+15DC;CANADIAN SYLLABICS CARRIER THU;Lo;0;L;;;;;N;;;;;
+15DD;CANADIAN SYLLABICS CARRIER THO;Lo;0;L;;;;;N;;;;;
+15DE;CANADIAN SYLLABICS CARRIER THE;Lo;0;L;;;;;N;;;;;
+15DF;CANADIAN SYLLABICS CARRIER THEE;Lo;0;L;;;;;N;;;;;
+15E0;CANADIAN SYLLABICS CARRIER THI;Lo;0;L;;;;;N;;;;;
+15E1;CANADIAN SYLLABICS CARRIER THA;Lo;0;L;;;;;N;;;;;
+15E2;CANADIAN SYLLABICS CARRIER TTU;Lo;0;L;;;;;N;;;;;
+15E3;CANADIAN SYLLABICS CARRIER TTO;Lo;0;L;;;;;N;;;;;
+15E4;CANADIAN SYLLABICS CARRIER TTE;Lo;0;L;;;;;N;;;;;
+15E5;CANADIAN SYLLABICS CARRIER TTEE;Lo;0;L;;;;;N;;;;;
+15E6;CANADIAN SYLLABICS CARRIER TTI;Lo;0;L;;;;;N;;;;;
+15E7;CANADIAN SYLLABICS CARRIER TTA;Lo;0;L;;;;;N;;;;;
+15E8;CANADIAN SYLLABICS CARRIER PU;Lo;0;L;;;;;N;;;;;
+15E9;CANADIAN SYLLABICS CARRIER PO;Lo;0;L;;;;;N;;;;;
+15EA;CANADIAN SYLLABICS CARRIER PE;Lo;0;L;;;;;N;;;;;
+15EB;CANADIAN SYLLABICS CARRIER PEE;Lo;0;L;;;;;N;;;;;
+15EC;CANADIAN SYLLABICS CARRIER PI;Lo;0;L;;;;;N;;;;;
+15ED;CANADIAN SYLLABICS CARRIER PA;Lo;0;L;;;;;N;;;;;
+15EE;CANADIAN SYLLABICS CARRIER P;Lo;0;L;;;;;N;;;;;
+15EF;CANADIAN SYLLABICS CARRIER GU;Lo;0;L;;;;;N;;;;;
+15F0;CANADIAN SYLLABICS CARRIER GO;Lo;0;L;;;;;N;;;;;
+15F1;CANADIAN SYLLABICS CARRIER GE;Lo;0;L;;;;;N;;;;;
+15F2;CANADIAN SYLLABICS CARRIER GEE;Lo;0;L;;;;;N;;;;;
+15F3;CANADIAN SYLLABICS CARRIER GI;Lo;0;L;;;;;N;;;;;
+15F4;CANADIAN SYLLABICS CARRIER GA;Lo;0;L;;;;;N;;;;;
+15F5;CANADIAN SYLLABICS CARRIER KHU;Lo;0;L;;;;;N;;;;;
+15F6;CANADIAN SYLLABICS CARRIER KHO;Lo;0;L;;;;;N;;;;;
+15F7;CANADIAN SYLLABICS CARRIER KHE;Lo;0;L;;;;;N;;;;;
+15F8;CANADIAN SYLLABICS CARRIER KHEE;Lo;0;L;;;;;N;;;;;
+15F9;CANADIAN SYLLABICS CARRIER KHI;Lo;0;L;;;;;N;;;;;
+15FA;CANADIAN SYLLABICS CARRIER KHA;Lo;0;L;;;;;N;;;;;
+15FB;CANADIAN SYLLABICS CARRIER KKU;Lo;0;L;;;;;N;;;;;
+15FC;CANADIAN SYLLABICS CARRIER KKO;Lo;0;L;;;;;N;;;;;
+15FD;CANADIAN SYLLABICS CARRIER KKE;Lo;0;L;;;;;N;;;;;
+15FE;CANADIAN SYLLABICS CARRIER KKEE;Lo;0;L;;;;;N;;;;;
+15FF;CANADIAN SYLLABICS CARRIER KKI;Lo;0;L;;;;;N;;;;;
+1600;CANADIAN SYLLABICS CARRIER KKA;Lo;0;L;;;;;N;;;;;
+1601;CANADIAN SYLLABICS CARRIER KK;Lo;0;L;;;;;N;;;;;
+1602;CANADIAN SYLLABICS CARRIER NU;Lo;0;L;;;;;N;;;;;
+1603;CANADIAN SYLLABICS CARRIER NO;Lo;0;L;;;;;N;;;;;
+1604;CANADIAN SYLLABICS CARRIER NE;Lo;0;L;;;;;N;;;;;
+1605;CANADIAN SYLLABICS CARRIER NEE;Lo;0;L;;;;;N;;;;;
+1606;CANADIAN SYLLABICS CARRIER NI;Lo;0;L;;;;;N;;;;;
+1607;CANADIAN SYLLABICS CARRIER NA;Lo;0;L;;;;;N;;;;;
+1608;CANADIAN SYLLABICS CARRIER MU;Lo;0;L;;;;;N;;;;;
+1609;CANADIAN SYLLABICS CARRIER MO;Lo;0;L;;;;;N;;;;;
+160A;CANADIAN SYLLABICS CARRIER ME;Lo;0;L;;;;;N;;;;;
+160B;CANADIAN SYLLABICS CARRIER MEE;Lo;0;L;;;;;N;;;;;
+160C;CANADIAN SYLLABICS CARRIER MI;Lo;0;L;;;;;N;;;;;
+160D;CANADIAN SYLLABICS CARRIER MA;Lo;0;L;;;;;N;;;;;
+160E;CANADIAN SYLLABICS CARRIER YU;Lo;0;L;;;;;N;;;;;
+160F;CANADIAN SYLLABICS CARRIER YO;Lo;0;L;;;;;N;;;;;
+1610;CANADIAN SYLLABICS CARRIER YE;Lo;0;L;;;;;N;;;;;
+1611;CANADIAN SYLLABICS CARRIER YEE;Lo;0;L;;;;;N;;;;;
+1612;CANADIAN SYLLABICS CARRIER YI;Lo;0;L;;;;;N;;;;;
+1613;CANADIAN SYLLABICS CARRIER YA;Lo;0;L;;;;;N;;;;;
+1614;CANADIAN SYLLABICS CARRIER JU;Lo;0;L;;;;;N;;;;;
+1615;CANADIAN SYLLABICS SAYISI JU;Lo;0;L;;;;;N;;;;;
+1616;CANADIAN SYLLABICS CARRIER JO;Lo;0;L;;;;;N;;;;;
+1617;CANADIAN SYLLABICS CARRIER JE;Lo;0;L;;;;;N;;;;;
+1618;CANADIAN SYLLABICS CARRIER JEE;Lo;0;L;;;;;N;;;;;
+1619;CANADIAN SYLLABICS CARRIER JI;Lo;0;L;;;;;N;;;;;
+161A;CANADIAN SYLLABICS SAYISI JI;Lo;0;L;;;;;N;;;;;
+161B;CANADIAN SYLLABICS CARRIER JA;Lo;0;L;;;;;N;;;;;
+161C;CANADIAN SYLLABICS CARRIER JJU;Lo;0;L;;;;;N;;;;;
+161D;CANADIAN SYLLABICS CARRIER JJO;Lo;0;L;;;;;N;;;;;
+161E;CANADIAN SYLLABICS CARRIER JJE;Lo;0;L;;;;;N;;;;;
+161F;CANADIAN SYLLABICS CARRIER JJEE;Lo;0;L;;;;;N;;;;;
+1620;CANADIAN SYLLABICS CARRIER JJI;Lo;0;L;;;;;N;;;;;
+1621;CANADIAN SYLLABICS CARRIER JJA;Lo;0;L;;;;;N;;;;;
+1622;CANADIAN SYLLABICS CARRIER LU;Lo;0;L;;;;;N;;;;;
+1623;CANADIAN SYLLABICS CARRIER LO;Lo;0;L;;;;;N;;;;;
+1624;CANADIAN SYLLABICS CARRIER LE;Lo;0;L;;;;;N;;;;;
+1625;CANADIAN SYLLABICS CARRIER LEE;Lo;0;L;;;;;N;;;;;
+1626;CANADIAN SYLLABICS CARRIER LI;Lo;0;L;;;;;N;;;;;
+1627;CANADIAN SYLLABICS CARRIER LA;Lo;0;L;;;;;N;;;;;
+1628;CANADIAN SYLLABICS CARRIER DLU;Lo;0;L;;;;;N;;;;;
+1629;CANADIAN SYLLABICS CARRIER DLO;Lo;0;L;;;;;N;;;;;
+162A;CANADIAN SYLLABICS CARRIER DLE;Lo;0;L;;;;;N;;;;;
+162B;CANADIAN SYLLABICS CARRIER DLEE;Lo;0;L;;;;;N;;;;;
+162C;CANADIAN SYLLABICS CARRIER DLI;Lo;0;L;;;;;N;;;;;
+162D;CANADIAN SYLLABICS CARRIER DLA;Lo;0;L;;;;;N;;;;;
+162E;CANADIAN SYLLABICS CARRIER LHU;Lo;0;L;;;;;N;;;;;
+162F;CANADIAN SYLLABICS CARRIER LHO;Lo;0;L;;;;;N;;;;;
+1630;CANADIAN SYLLABICS CARRIER LHE;Lo;0;L;;;;;N;;;;;
+1631;CANADIAN SYLLABICS CARRIER LHEE;Lo;0;L;;;;;N;;;;;
+1632;CANADIAN SYLLABICS CARRIER LHI;Lo;0;L;;;;;N;;;;;
+1633;CANADIAN SYLLABICS CARRIER LHA;Lo;0;L;;;;;N;;;;;
+1634;CANADIAN SYLLABICS CARRIER TLHU;Lo;0;L;;;;;N;;;;;
+1635;CANADIAN SYLLABICS CARRIER TLHO;Lo;0;L;;;;;N;;;;;
+1636;CANADIAN SYLLABICS CARRIER TLHE;Lo;0;L;;;;;N;;;;;
+1637;CANADIAN SYLLABICS CARRIER TLHEE;Lo;0;L;;;;;N;;;;;
+1638;CANADIAN SYLLABICS CARRIER TLHI;Lo;0;L;;;;;N;;;;;
+1639;CANADIAN SYLLABICS CARRIER TLHA;Lo;0;L;;;;;N;;;;;
+163A;CANADIAN SYLLABICS CARRIER TLU;Lo;0;L;;;;;N;;;;;
+163B;CANADIAN SYLLABICS CARRIER TLO;Lo;0;L;;;;;N;;;;;
+163C;CANADIAN SYLLABICS CARRIER TLE;Lo;0;L;;;;;N;;;;;
+163D;CANADIAN SYLLABICS CARRIER TLEE;Lo;0;L;;;;;N;;;;;
+163E;CANADIAN SYLLABICS CARRIER TLI;Lo;0;L;;;;;N;;;;;
+163F;CANADIAN SYLLABICS CARRIER TLA;Lo;0;L;;;;;N;;;;;
+1640;CANADIAN SYLLABICS CARRIER ZU;Lo;0;L;;;;;N;;;;;
+1641;CANADIAN SYLLABICS CARRIER ZO;Lo;0;L;;;;;N;;;;;
+1642;CANADIAN SYLLABICS CARRIER ZE;Lo;0;L;;;;;N;;;;;
+1643;CANADIAN SYLLABICS CARRIER ZEE;Lo;0;L;;;;;N;;;;;
+1644;CANADIAN SYLLABICS CARRIER ZI;Lo;0;L;;;;;N;;;;;
+1645;CANADIAN SYLLABICS CARRIER ZA;Lo;0;L;;;;;N;;;;;
+1646;CANADIAN SYLLABICS CARRIER Z;Lo;0;L;;;;;N;;;;;
+1647;CANADIAN SYLLABICS CARRIER INITIAL Z;Lo;0;L;;;;;N;;;;;
+1648;CANADIAN SYLLABICS CARRIER DZU;Lo;0;L;;;;;N;;;;;
+1649;CANADIAN SYLLABICS CARRIER DZO;Lo;0;L;;;;;N;;;;;
+164A;CANADIAN SYLLABICS CARRIER DZE;Lo;0;L;;;;;N;;;;;
+164B;CANADIAN SYLLABICS CARRIER DZEE;Lo;0;L;;;;;N;;;;;
+164C;CANADIAN SYLLABICS CARRIER DZI;Lo;0;L;;;;;N;;;;;
+164D;CANADIAN SYLLABICS CARRIER DZA;Lo;0;L;;;;;N;;;;;
+164E;CANADIAN SYLLABICS CARRIER SU;Lo;0;L;;;;;N;;;;;
+164F;CANADIAN SYLLABICS CARRIER SO;Lo;0;L;;;;;N;;;;;
+1650;CANADIAN SYLLABICS CARRIER SE;Lo;0;L;;;;;N;;;;;
+1651;CANADIAN SYLLABICS CARRIER SEE;Lo;0;L;;;;;N;;;;;
+1652;CANADIAN SYLLABICS CARRIER SI;Lo;0;L;;;;;N;;;;;
+1653;CANADIAN SYLLABICS CARRIER SA;Lo;0;L;;;;;N;;;;;
+1654;CANADIAN SYLLABICS CARRIER SHU;Lo;0;L;;;;;N;;;;;
+1655;CANADIAN SYLLABICS CARRIER SHO;Lo;0;L;;;;;N;;;;;
+1656;CANADIAN SYLLABICS CARRIER SHE;Lo;0;L;;;;;N;;;;;
+1657;CANADIAN SYLLABICS CARRIER SHEE;Lo;0;L;;;;;N;;;;;
+1658;CANADIAN SYLLABICS CARRIER SHI;Lo;0;L;;;;;N;;;;;
+1659;CANADIAN SYLLABICS CARRIER SHA;Lo;0;L;;;;;N;;;;;
+165A;CANADIAN SYLLABICS CARRIER SH;Lo;0;L;;;;;N;;;;;
+165B;CANADIAN SYLLABICS CARRIER TSU;Lo;0;L;;;;;N;;;;;
+165C;CANADIAN SYLLABICS CARRIER TSO;Lo;0;L;;;;;N;;;;;
+165D;CANADIAN SYLLABICS CARRIER TSE;Lo;0;L;;;;;N;;;;;
+165E;CANADIAN SYLLABICS CARRIER TSEE;Lo;0;L;;;;;N;;;;;
+165F;CANADIAN SYLLABICS CARRIER TSI;Lo;0;L;;;;;N;;;;;
+1660;CANADIAN SYLLABICS CARRIER TSA;Lo;0;L;;;;;N;;;;;
+1661;CANADIAN SYLLABICS CARRIER CHU;Lo;0;L;;;;;N;;;;;
+1662;CANADIAN SYLLABICS CARRIER CHO;Lo;0;L;;;;;N;;;;;
+1663;CANADIAN SYLLABICS CARRIER CHE;Lo;0;L;;;;;N;;;;;
+1664;CANADIAN SYLLABICS CARRIER CHEE;Lo;0;L;;;;;N;;;;;
+1665;CANADIAN SYLLABICS CARRIER CHI;Lo;0;L;;;;;N;;;;;
+1666;CANADIAN SYLLABICS CARRIER CHA;Lo;0;L;;;;;N;;;;;
+1667;CANADIAN SYLLABICS CARRIER TTSU;Lo;0;L;;;;;N;;;;;
+1668;CANADIAN SYLLABICS CARRIER TTSO;Lo;0;L;;;;;N;;;;;
+1669;CANADIAN SYLLABICS CARRIER TTSE;Lo;0;L;;;;;N;;;;;
+166A;CANADIAN SYLLABICS CARRIER TTSEE;Lo;0;L;;;;;N;;;;;
+166B;CANADIAN SYLLABICS CARRIER TTSI;Lo;0;L;;;;;N;;;;;
+166C;CANADIAN SYLLABICS CARRIER TTSA;Lo;0;L;;;;;N;;;;;
+166D;CANADIAN SYLLABICS CHI SIGN;Po;0;L;;;;;N;;;;;
+166E;CANADIAN SYLLABICS FULL STOP;Po;0;L;;;;;N;;;;;
+166F;CANADIAN SYLLABICS QAI;Lo;0;L;;;;;N;;;;;
+1670;CANADIAN SYLLABICS NGAI;Lo;0;L;;;;;N;;;;;
+1671;CANADIAN SYLLABICS NNGI;Lo;0;L;;;;;N;;;;;
+1672;CANADIAN SYLLABICS NNGII;Lo;0;L;;;;;N;;;;;
+1673;CANADIAN SYLLABICS NNGO;Lo;0;L;;;;;N;;;;;
+1674;CANADIAN SYLLABICS NNGOO;Lo;0;L;;;;;N;;;;;
+1675;CANADIAN SYLLABICS NNGA;Lo;0;L;;;;;N;;;;;
+1676;CANADIAN SYLLABICS NNGAA;Lo;0;L;;;;;N;;;;;
+1680;OGHAM SPACE MARK;Zs;0;WS;;;;;N;;;;;
+1681;OGHAM LETTER BEITH;Lo;0;L;;;;;N;;;;;
+1682;OGHAM LETTER LUIS;Lo;0;L;;;;;N;;;;;
+1683;OGHAM LETTER FEARN;Lo;0;L;;;;;N;;;;;
+1684;OGHAM LETTER SAIL;Lo;0;L;;;;;N;;;;;
+1685;OGHAM LETTER NION;Lo;0;L;;;;;N;;;;;
+1686;OGHAM LETTER UATH;Lo;0;L;;;;;N;;;;;
+1687;OGHAM LETTER DAIR;Lo;0;L;;;;;N;;;;;
+1688;OGHAM LETTER TINNE;Lo;0;L;;;;;N;;;;;
+1689;OGHAM LETTER COLL;Lo;0;L;;;;;N;;;;;
+168A;OGHAM LETTER CEIRT;Lo;0;L;;;;;N;;;;;
+168B;OGHAM LETTER MUIN;Lo;0;L;;;;;N;;;;;
+168C;OGHAM LETTER GORT;Lo;0;L;;;;;N;;;;;
+168D;OGHAM LETTER NGEADAL;Lo;0;L;;;;;N;;;;;
+168E;OGHAM LETTER STRAIF;Lo;0;L;;;;;N;;;;;
+168F;OGHAM LETTER RUIS;Lo;0;L;;;;;N;;;;;
+1690;OGHAM LETTER AILM;Lo;0;L;;;;;N;;;;;
+1691;OGHAM LETTER ONN;Lo;0;L;;;;;N;;;;;
+1692;OGHAM LETTER UR;Lo;0;L;;;;;N;;;;;
+1693;OGHAM LETTER EADHADH;Lo;0;L;;;;;N;;;;;
+1694;OGHAM LETTER IODHADH;Lo;0;L;;;;;N;;;;;
+1695;OGHAM LETTER EABHADH;Lo;0;L;;;;;N;;;;;
+1696;OGHAM LETTER OR;Lo;0;L;;;;;N;;;;;
+1697;OGHAM LETTER UILLEANN;Lo;0;L;;;;;N;;;;;
+1698;OGHAM LETTER IFIN;Lo;0;L;;;;;N;;;;;
+1699;OGHAM LETTER EAMHANCHOLL;Lo;0;L;;;;;N;;;;;
+169A;OGHAM LETTER PEITH;Lo;0;L;;;;;N;;;;;
+169B;OGHAM FEATHER MARK;Ps;0;ON;;;;;N;;;;;
+169C;OGHAM REVERSED FEATHER MARK;Pe;0;ON;;;;;N;;;;;
+16A0;RUNIC LETTER FEHU FEOH FE F;Lo;0;L;;;;;N;;;;;
+16A1;RUNIC LETTER V;Lo;0;L;;;;;N;;;;;
+16A2;RUNIC LETTER URUZ UR U;Lo;0;L;;;;;N;;;;;
+16A3;RUNIC LETTER YR;Lo;0;L;;;;;N;;;;;
+16A4;RUNIC LETTER Y;Lo;0;L;;;;;N;;;;;
+16A5;RUNIC LETTER W;Lo;0;L;;;;;N;;;;;
+16A6;RUNIC LETTER THURISAZ THURS THORN;Lo;0;L;;;;;N;;;;;
+16A7;RUNIC LETTER ETH;Lo;0;L;;;;;N;;;;;
+16A8;RUNIC LETTER ANSUZ A;Lo;0;L;;;;;N;;;;;
+16A9;RUNIC LETTER OS O;Lo;0;L;;;;;N;;;;;
+16AA;RUNIC LETTER AC A;Lo;0;L;;;;;N;;;;;
+16AB;RUNIC LETTER AESC;Lo;0;L;;;;;N;;;;;
+16AC;RUNIC LETTER LONG-BRANCH-OSS O;Lo;0;L;;;;;N;;;;;
+16AD;RUNIC LETTER SHORT-TWIG-OSS O;Lo;0;L;;;;;N;;;;;
+16AE;RUNIC LETTER O;Lo;0;L;;;;;N;;;;;
+16AF;RUNIC LETTER OE;Lo;0;L;;;;;N;;;;;
+16B0;RUNIC LETTER ON;Lo;0;L;;;;;N;;;;;
+16B1;RUNIC LETTER RAIDO RAD REID R;Lo;0;L;;;;;N;;;;;
+16B2;RUNIC LETTER KAUNA;Lo;0;L;;;;;N;;;;;
+16B3;RUNIC LETTER CEN;Lo;0;L;;;;;N;;;;;
+16B4;RUNIC LETTER KAUN K;Lo;0;L;;;;;N;;;;;
+16B5;RUNIC LETTER G;Lo;0;L;;;;;N;;;;;
+16B6;RUNIC LETTER ENG;Lo;0;L;;;;;N;;;;;
+16B7;RUNIC LETTER GEBO GYFU G;Lo;0;L;;;;;N;;;;;
+16B8;RUNIC LETTER GAR;Lo;0;L;;;;;N;;;;;
+16B9;RUNIC LETTER WUNJO WYNN W;Lo;0;L;;;;;N;;;;;
+16BA;RUNIC LETTER HAGLAZ H;Lo;0;L;;;;;N;;;;;
+16BB;RUNIC LETTER HAEGL H;Lo;0;L;;;;;N;;;;;
+16BC;RUNIC LETTER LONG-BRANCH-HAGALL H;Lo;0;L;;;;;N;;;;;
+16BD;RUNIC LETTER SHORT-TWIG-HAGALL H;Lo;0;L;;;;;N;;;;;
+16BE;RUNIC LETTER NAUDIZ NYD NAUD N;Lo;0;L;;;;;N;;;;;
+16BF;RUNIC LETTER SHORT-TWIG-NAUD N;Lo;0;L;;;;;N;;;;;
+16C0;RUNIC LETTER DOTTED-N;Lo;0;L;;;;;N;;;;;
+16C1;RUNIC LETTER ISAZ IS ISS I;Lo;0;L;;;;;N;;;;;
+16C2;RUNIC LETTER E;Lo;0;L;;;;;N;;;;;
+16C3;RUNIC LETTER JERAN J;Lo;0;L;;;;;N;;;;;
+16C4;RUNIC LETTER GER;Lo;0;L;;;;;N;;;;;
+16C5;RUNIC LETTER LONG-BRANCH-AR AE;Lo;0;L;;;;;N;;;;;
+16C6;RUNIC LETTER SHORT-TWIG-AR A;Lo;0;L;;;;;N;;;;;
+16C7;RUNIC LETTER IWAZ EOH;Lo;0;L;;;;;N;;;;;
+16C8;RUNIC LETTER PERTHO PEORTH P;Lo;0;L;;;;;N;;;;;
+16C9;RUNIC LETTER ALGIZ EOLHX;Lo;0;L;;;;;N;;;;;
+16CA;RUNIC LETTER SOWILO S;Lo;0;L;;;;;N;;;;;
+16CB;RUNIC LETTER SIGEL LONG-BRANCH-SOL S;Lo;0;L;;;;;N;;;;;
+16CC;RUNIC LETTER SHORT-TWIG-SOL S;Lo;0;L;;;;;N;;;;;
+16CD;RUNIC LETTER C;Lo;0;L;;;;;N;;;;;
+16CE;RUNIC LETTER Z;Lo;0;L;;;;;N;;;;;
+16CF;RUNIC LETTER TIWAZ TIR TYR T;Lo;0;L;;;;;N;;;;;
+16D0;RUNIC LETTER SHORT-TWIG-TYR T;Lo;0;L;;;;;N;;;;;
+16D1;RUNIC LETTER D;Lo;0;L;;;;;N;;;;;
+16D2;RUNIC LETTER BERKANAN BEORC BJARKAN B;Lo;0;L;;;;;N;;;;;
+16D3;RUNIC LETTER SHORT-TWIG-BJARKAN B;Lo;0;L;;;;;N;;;;;
+16D4;RUNIC LETTER DOTTED-P;Lo;0;L;;;;;N;;;;;
+16D5;RUNIC LETTER OPEN-P;Lo;0;L;;;;;N;;;;;
+16D6;RUNIC LETTER EHWAZ EH E;Lo;0;L;;;;;N;;;;;
+16D7;RUNIC LETTER MANNAZ MAN M;Lo;0;L;;;;;N;;;;;
+16D8;RUNIC LETTER LONG-BRANCH-MADR M;Lo;0;L;;;;;N;;;;;
+16D9;RUNIC LETTER SHORT-TWIG-MADR M;Lo;0;L;;;;;N;;;;;
+16DA;RUNIC LETTER LAUKAZ LAGU LOGR L;Lo;0;L;;;;;N;;;;;
+16DB;RUNIC LETTER DOTTED-L;Lo;0;L;;;;;N;;;;;
+16DC;RUNIC LETTER INGWAZ;Lo;0;L;;;;;N;;;;;
+16DD;RUNIC LETTER ING;Lo;0;L;;;;;N;;;;;
+16DE;RUNIC LETTER DAGAZ DAEG D;Lo;0;L;;;;;N;;;;;
+16DF;RUNIC LETTER OTHALAN ETHEL O;Lo;0;L;;;;;N;;;;;
+16E0;RUNIC LETTER EAR;Lo;0;L;;;;;N;;;;;
+16E1;RUNIC LETTER IOR;Lo;0;L;;;;;N;;;;;
+16E2;RUNIC LETTER CWEORTH;Lo;0;L;;;;;N;;;;;
+16E3;RUNIC LETTER CALC;Lo;0;L;;;;;N;;;;;
+16E4;RUNIC LETTER CEALC;Lo;0;L;;;;;N;;;;;
+16E5;RUNIC LETTER STAN;Lo;0;L;;;;;N;;;;;
+16E6;RUNIC LETTER LONG-BRANCH-YR;Lo;0;L;;;;;N;;;;;
+16E7;RUNIC LETTER SHORT-TWIG-YR;Lo;0;L;;;;;N;;;;;
+16E8;RUNIC LETTER ICELANDIC-YR;Lo;0;L;;;;;N;;;;;
+16E9;RUNIC LETTER Q;Lo;0;L;;;;;N;;;;;
+16EA;RUNIC LETTER X;Lo;0;L;;;;;N;;;;;
+16EB;RUNIC SINGLE PUNCTUATION;Po;0;L;;;;;N;;;;;
+16EC;RUNIC MULTIPLE PUNCTUATION;Po;0;L;;;;;N;;;;;
+16ED;RUNIC CROSS PUNCTUATION;Po;0;L;;;;;N;;;;;
+16EE;RUNIC ARLAUG SYMBOL;Nl;0;L;;;;17;N;;golden number 17;;;
+16EF;RUNIC TVIMADUR SYMBOL;Nl;0;L;;;;18;N;;golden number 18;;;
+16F0;RUNIC BELGTHOR SYMBOL;Nl;0;L;;;;19;N;;golden number 19;;;
+1700;TAGALOG LETTER A;Lo;0;L;;;;;N;;;;;
+1701;TAGALOG LETTER I;Lo;0;L;;;;;N;;;;;
+1702;TAGALOG LETTER U;Lo;0;L;;;;;N;;;;;
+1703;TAGALOG LETTER KA;Lo;0;L;;;;;N;;;;;
+1704;TAGALOG LETTER GA;Lo;0;L;;;;;N;;;;;
+1705;TAGALOG LETTER NGA;Lo;0;L;;;;;N;;;;;
+1706;TAGALOG LETTER TA;Lo;0;L;;;;;N;;;;;
+1707;TAGALOG LETTER DA;Lo;0;L;;;;;N;;;;;
+1708;TAGALOG LETTER NA;Lo;0;L;;;;;N;;;;;
+1709;TAGALOG LETTER PA;Lo;0;L;;;;;N;;;;;
+170A;TAGALOG LETTER BA;Lo;0;L;;;;;N;;;;;
+170B;TAGALOG LETTER MA;Lo;0;L;;;;;N;;;;;
+170C;TAGALOG LETTER YA;Lo;0;L;;;;;N;;;;;
+170E;TAGALOG LETTER LA;Lo;0;L;;;;;N;;;;;
+170F;TAGALOG LETTER WA;Lo;0;L;;;;;N;;;;;
+1710;TAGALOG LETTER SA;Lo;0;L;;;;;N;;;;;
+1711;TAGALOG LETTER HA;Lo;0;L;;;;;N;;;;;
+1712;TAGALOG VOWEL SIGN I;Mn;0;NSM;;;;;N;;;;;
+1713;TAGALOG VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;;
+1714;TAGALOG SIGN VIRAMA;Mn;9;NSM;;;;;N;;;;;
+1720;HANUNOO LETTER A;Lo;0;L;;;;;N;;;;;
+1721;HANUNOO LETTER I;Lo;0;L;;;;;N;;;;;
+1722;HANUNOO LETTER U;Lo;0;L;;;;;N;;;;;
+1723;HANUNOO LETTER KA;Lo;0;L;;;;;N;;;;;
+1724;HANUNOO LETTER GA;Lo;0;L;;;;;N;;;;;
+1725;HANUNOO LETTER NGA;Lo;0;L;;;;;N;;;;;
+1726;HANUNOO LETTER TA;Lo;0;L;;;;;N;;;;;
+1727;HANUNOO LETTER DA;Lo;0;L;;;;;N;;;;;
+1728;HANUNOO LETTER NA;Lo;0;L;;;;;N;;;;;
+1729;HANUNOO LETTER PA;Lo;0;L;;;;;N;;;;;
+172A;HANUNOO LETTER BA;Lo;0;L;;;;;N;;;;;
+172B;HANUNOO LETTER MA;Lo;0;L;;;;;N;;;;;
+172C;HANUNOO LETTER YA;Lo;0;L;;;;;N;;;;;
+172D;HANUNOO LETTER RA;Lo;0;L;;;;;N;;;;;
+172E;HANUNOO LETTER LA;Lo;0;L;;;;;N;;;;;
+172F;HANUNOO LETTER WA;Lo;0;L;;;;;N;;;;;
+1730;HANUNOO LETTER SA;Lo;0;L;;;;;N;;;;;
+1731;HANUNOO LETTER HA;Lo;0;L;;;;;N;;;;;
+1732;HANUNOO VOWEL SIGN I;Mn;0;NSM;;;;;N;;;;;
+1733;HANUNOO VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;;
+1734;HANUNOO SIGN PAMUDPOD;Mn;9;NSM;;;;;N;;;;;
+1735;PHILIPPINE SINGLE PUNCTUATION;Po;0;L;;;;;N;;;;;
+1736;PHILIPPINE DOUBLE PUNCTUATION;Po;0;L;;;;;N;;;;;
+1740;BUHID LETTER A;Lo;0;L;;;;;N;;;;;
+1741;BUHID LETTER I;Lo;0;L;;;;;N;;;;;
+1742;BUHID LETTER U;Lo;0;L;;;;;N;;;;;
+1743;BUHID LETTER KA;Lo;0;L;;;;;N;;;;;
+1744;BUHID LETTER GA;Lo;0;L;;;;;N;;;;;
+1745;BUHID LETTER NGA;Lo;0;L;;;;;N;;;;;
+1746;BUHID LETTER TA;Lo;0;L;;;;;N;;;;;
+1747;BUHID LETTER DA;Lo;0;L;;;;;N;;;;;
+1748;BUHID LETTER NA;Lo;0;L;;;;;N;;;;;
+1749;BUHID LETTER PA;Lo;0;L;;;;;N;;;;;
+174A;BUHID LETTER BA;Lo;0;L;;;;;N;;;;;
+174B;BUHID LETTER MA;Lo;0;L;;;;;N;;;;;
+174C;BUHID LETTER YA;Lo;0;L;;;;;N;;;;;
+174D;BUHID LETTER RA;Lo;0;L;;;;;N;;;;;
+174E;BUHID LETTER LA;Lo;0;L;;;;;N;;;;;
+174F;BUHID LETTER WA;Lo;0;L;;;;;N;;;;;
+1750;BUHID LETTER SA;Lo;0;L;;;;;N;;;;;
+1751;BUHID LETTER HA;Lo;0;L;;;;;N;;;;;
+1752;BUHID VOWEL SIGN I;Mn;0;NSM;;;;;N;;;;;
+1753;BUHID VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;;
+1760;TAGBANWA LETTER A;Lo;0;L;;;;;N;;;;;
+1761;TAGBANWA LETTER I;Lo;0;L;;;;;N;;;;;
+1762;TAGBANWA LETTER U;Lo;0;L;;;;;N;;;;;
+1763;TAGBANWA LETTER KA;Lo;0;L;;;;;N;;;;;
+1764;TAGBANWA LETTER GA;Lo;0;L;;;;;N;;;;;
+1765;TAGBANWA LETTER NGA;Lo;0;L;;;;;N;;;;;
+1766;TAGBANWA LETTER TA;Lo;0;L;;;;;N;;;;;
+1767;TAGBANWA LETTER DA;Lo;0;L;;;;;N;;;;;
+1768;TAGBANWA LETTER NA;Lo;0;L;;;;;N;;;;;
+1769;TAGBANWA LETTER PA;Lo;0;L;;;;;N;;;;;
+176A;TAGBANWA LETTER BA;Lo;0;L;;;;;N;;;;;
+176B;TAGBANWA LETTER MA;Lo;0;L;;;;;N;;;;;
+176C;TAGBANWA LETTER YA;Lo;0;L;;;;;N;;;;;
+176E;TAGBANWA LETTER LA;Lo;0;L;;;;;N;;;;;
+176F;TAGBANWA LETTER WA;Lo;0;L;;;;;N;;;;;
+1770;TAGBANWA LETTER SA;Lo;0;L;;;;;N;;;;;
+1772;TAGBANWA VOWEL SIGN I;Mn;0;NSM;;;;;N;;;;;
+1773;TAGBANWA VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;;
+1780;KHMER LETTER KA;Lo;0;L;;;;;N;;;;;
+1781;KHMER LETTER KHA;Lo;0;L;;;;;N;;;;;
+1782;KHMER LETTER KO;Lo;0;L;;;;;N;;;;;
+1783;KHMER LETTER KHO;Lo;0;L;;;;;N;;;;;
+1784;KHMER LETTER NGO;Lo;0;L;;;;;N;;;;;
+1785;KHMER LETTER CA;Lo;0;L;;;;;N;;;;;
+1786;KHMER LETTER CHA;Lo;0;L;;;;;N;;;;;
+1787;KHMER LETTER CO;Lo;0;L;;;;;N;;;;;
+1788;KHMER LETTER CHO;Lo;0;L;;;;;N;;;;;
+1789;KHMER LETTER NYO;Lo;0;L;;;;;N;;;;;
+178A;KHMER LETTER DA;Lo;0;L;;;;;N;;;;;
+178B;KHMER LETTER TTHA;Lo;0;L;;;;;N;;;;;
+178C;KHMER LETTER DO;Lo;0;L;;;;;N;;;;;
+178D;KHMER LETTER TTHO;Lo;0;L;;;;;N;;;;;
+178E;KHMER LETTER NNO;Lo;0;L;;;;;N;;;;;
+178F;KHMER LETTER TA;Lo;0;L;;;;;N;;;;;
+1790;KHMER LETTER THA;Lo;0;L;;;;;N;;;;;
+1791;KHMER LETTER TO;Lo;0;L;;;;;N;;;;;
+1792;KHMER LETTER THO;Lo;0;L;;;;;N;;;;;
+1793;KHMER LETTER NO;Lo;0;L;;;;;N;;;;;
+1794;KHMER LETTER BA;Lo;0;L;;;;;N;;;;;
+1795;KHMER LETTER PHA;Lo;0;L;;;;;N;;;;;
+1796;KHMER LETTER PO;Lo;0;L;;;;;N;;;;;
+1797;KHMER LETTER PHO;Lo;0;L;;;;;N;;;;;
+1798;KHMER LETTER MO;Lo;0;L;;;;;N;;;;;
+1799;KHMER LETTER YO;Lo;0;L;;;;;N;;;;;
+179A;KHMER LETTER RO;Lo;0;L;;;;;N;;;;;
+179B;KHMER LETTER LO;Lo;0;L;;;;;N;;;;;
+179C;KHMER LETTER VO;Lo;0;L;;;;;N;;;;;
+179D;KHMER LETTER SHA;Lo;0;L;;;;;N;;;;;
+179E;KHMER LETTER SSO;Lo;0;L;;;;;N;;;;;
+179F;KHMER LETTER SA;Lo;0;L;;;;;N;;;;;
+17A0;KHMER LETTER HA;Lo;0;L;;;;;N;;;;;
+17A1;KHMER LETTER LA;Lo;0;L;;;;;N;;;;;
+17A2;KHMER LETTER QA;Lo;0;L;;;;;N;;;;;
+17A3;KHMER INDEPENDENT VOWEL QAQ;Lo;0;L;;;;;N;;*;;;
+17A4;KHMER INDEPENDENT VOWEL QAA;Lo;0;L;;;;;N;;*;;;
+17A5;KHMER INDEPENDENT VOWEL QI;Lo;0;L;;;;;N;;;;;
+17A6;KHMER INDEPENDENT VOWEL QII;Lo;0;L;;;;;N;;;;;
+17A7;KHMER INDEPENDENT VOWEL QU;Lo;0;L;;;;;N;;;;;
+17A8;KHMER INDEPENDENT VOWEL QUK;Lo;0;L;;;;;N;;;;;
+17A9;KHMER INDEPENDENT VOWEL QUU;Lo;0;L;;;;;N;;;;;
+17AA;KHMER INDEPENDENT VOWEL QUUV;Lo;0;L;;;;;N;;;;;
+17AB;KHMER INDEPENDENT VOWEL RY;Lo;0;L;;;;;N;;;;;
+17AC;KHMER INDEPENDENT VOWEL RYY;Lo;0;L;;;;;N;;;;;
+17AD;KHMER INDEPENDENT VOWEL LY;Lo;0;L;;;;;N;;;;;
+17AE;KHMER INDEPENDENT VOWEL LYY;Lo;0;L;;;;;N;;;;;
+17AF;KHMER INDEPENDENT VOWEL QE;Lo;0;L;;;;;N;;;;;
+17B0;KHMER INDEPENDENT VOWEL QAI;Lo;0;L;;;;;N;;;;;
+17B1;KHMER INDEPENDENT VOWEL QOO TYPE ONE;Lo;0;L;;;;;N;;;;;
+17B2;KHMER INDEPENDENT VOWEL QOO TYPE TWO;Lo;0;L;;;;;N;;;;;
+17B3;KHMER INDEPENDENT VOWEL QAU;Lo;0;L;;;;;N;;;;;
+17B4;KHMER VOWEL INHERENT AQ;Cf;0;L;;;;;N;;*;;;
+17B5;KHMER VOWEL INHERENT AA;Cf;0;L;;;;;N;;*;;;
+17B6;KHMER VOWEL SIGN AA;Mc;0;L;;;;;N;;;;;
+17B7;KHMER VOWEL SIGN I;Mn;0;NSM;;;;;N;;;;;
+17B8;KHMER VOWEL SIGN II;Mn;0;NSM;;;;;N;;;;;
+17B9;KHMER VOWEL SIGN Y;Mn;0;NSM;;;;;N;;;;;
+17BA;KHMER VOWEL SIGN YY;Mn;0;NSM;;;;;N;;;;;
+17BB;KHMER VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;;
+17BC;KHMER VOWEL SIGN UU;Mn;0;NSM;;;;;N;;;;;
+17BD;KHMER VOWEL SIGN UA;Mn;0;NSM;;;;;N;;;;;
+17BE;KHMER VOWEL SIGN OE;Mc;0;L;;;;;N;;;;;
+17BF;KHMER VOWEL SIGN YA;Mc;0;L;;;;;N;;;;;
+17C0;KHMER VOWEL SIGN IE;Mc;0;L;;;;;N;;;;;
+17C1;KHMER VOWEL SIGN E;Mc;0;L;;;;;N;;;;;
+17C2;KHMER VOWEL SIGN AE;Mc;0;L;;;;;N;;;;;
+17C3;KHMER VOWEL SIGN AI;Mc;0;L;;;;;N;;;;;
+17C4;KHMER VOWEL SIGN OO;Mc;0;L;;;;;N;;;;;
+17C5;KHMER VOWEL SIGN AU;Mc;0;L;;;;;N;;;;;
+17C6;KHMER SIGN NIKAHIT;Mn;0;NSM;;;;;N;;;;;
+17C7;KHMER SIGN REAHMUK;Mc;0;L;;;;;N;;;;;
+17C8;KHMER SIGN YUUKALEAPINTU;Mc;0;L;;;;;N;;;;;
+17C9;KHMER SIGN MUUSIKATOAN;Mn;0;NSM;;;;;N;;;;;
+17CA;KHMER SIGN TRIISAP;Mn;0;NSM;;;;;N;;;;;
+17CB;KHMER SIGN BANTOC;Mn;0;NSM;;;;;N;;;;;
+17CC;KHMER SIGN ROBAT;Mn;0;NSM;;;;;N;;;;;
+17CD;KHMER SIGN TOANDAKHIAT;Mn;0;NSM;;;;;N;;;;;
+17CE;KHMER SIGN KAKABAT;Mn;0;NSM;;;;;N;;;;;
+17CF;KHMER SIGN AHSDA;Mn;0;NSM;;;;;N;;;;;
+17D0;KHMER SIGN SAMYOK SANNYA;Mn;0;NSM;;;;;N;;;;;
+17D1;KHMER SIGN VIRIAM;Mn;0;NSM;;;;;N;;;;;
+17D2;KHMER SIGN COENG;Mn;9;NSM;;;;;N;;;;;
+17D3;KHMER SIGN BATHAMASAT;Mn;0;NSM;;;;;N;;*;;;
+17D4;KHMER SIGN KHAN;Po;0;L;;;;;N;;;;;
+17D5;KHMER SIGN BARIYOOSAN;Po;0;L;;;;;N;;;;;
+17D6;KHMER SIGN CAMNUC PII KUUH;Po;0;L;;;;;N;;;;;
+17D7;KHMER SIGN LEK TOO;Lm;0;L;;;;;N;;;;;
+17D8;KHMER SIGN BEYYAL;Po;0;L;;;;;N;;*;;;
+17D9;KHMER SIGN PHNAEK MUAN;Po;0;L;;;;;N;;;;;
+17DA;KHMER SIGN KOOMUUT;Po;0;L;;;;;N;;;;;
+17DB;KHMER CURRENCY SYMBOL RIEL;Sc;0;ET;;;;;N;;;;;
+17DC;KHMER SIGN AVAKRAHASANYA;Lo;0;L;;;;;N;;;;;
+17DD;KHMER SIGN ATTHACAN;Mn;230;NSM;;;;;N;;;;;
+17E0;KHMER DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
+17E1;KHMER DIGIT ONE;Nd;0;L;;1;1;1;N;;;;;
+17E2;KHMER DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
+17E3;KHMER DIGIT THREE;Nd;0;L;;3;3;3;N;;;;;
+17E4;KHMER DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;;
+17E5;KHMER DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;;
+17E6;KHMER DIGIT SIX;Nd;0;L;;6;6;6;N;;;;;
+17E7;KHMER DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
+17E8;KHMER DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
+17E9;KHMER DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
+17F0;KHMER SYMBOL LEK ATTAK SON;No;0;ON;;;;0;N;;;;;
+17F1;KHMER SYMBOL LEK ATTAK MUOY;No;0;ON;;;;1;N;;;;;
+17F2;KHMER SYMBOL LEK ATTAK PII;No;0;ON;;;;2;N;;;;;
+17F3;KHMER SYMBOL LEK ATTAK BEI;No;0;ON;;;;3;N;;;;;
+17F4;KHMER SYMBOL LEK ATTAK BUON;No;0;ON;;;;4;N;;;;;
+17F5;KHMER SYMBOL LEK ATTAK PRAM;No;0;ON;;;;5;N;;;;;
+17F6;KHMER SYMBOL LEK ATTAK PRAM-MUOY;No;0;ON;;;;6;N;;;;;
+17F7;KHMER SYMBOL LEK ATTAK PRAM-PII;No;0;ON;;;;7;N;;;;;
+17F8;KHMER SYMBOL LEK ATTAK PRAM-BEI;No;0;ON;;;;8;N;;;;;
+17F9;KHMER SYMBOL LEK ATTAK PRAM-BUON;No;0;ON;;;;9;N;;;;;
+1800;MONGOLIAN BIRGA;Po;0;ON;;;;;N;;;;;
+1801;MONGOLIAN ELLIPSIS;Po;0;ON;;;;;N;;;;;
+1802;MONGOLIAN COMMA;Po;0;ON;;;;;N;;;;;
+1803;MONGOLIAN FULL STOP;Po;0;ON;;;;;N;;;;;
+1804;MONGOLIAN COLON;Po;0;ON;;;;;N;;;;;
+1805;MONGOLIAN FOUR DOTS;Po;0;ON;;;;;N;;;;;
+1806;MONGOLIAN TODO SOFT HYPHEN;Pd;0;ON;;;;;N;;;;;
+1807;MONGOLIAN SIBE SYLLABLE BOUNDARY MARKER;Po;0;ON;;;;;N;;;;;
+1808;MONGOLIAN MANCHU COMMA;Po;0;ON;;;;;N;;;;;
+1809;MONGOLIAN MANCHU FULL STOP;Po;0;ON;;;;;N;;;;;
+180A;MONGOLIAN NIRUGU;Po;0;ON;;;;;N;;;;;
+180B;MONGOLIAN FREE VARIATION SELECTOR ONE;Mn;0;NSM;;;;;N;;;;;
+180C;MONGOLIAN FREE VARIATION SELECTOR TWO;Mn;0;NSM;;;;;N;;;;;
+180D;MONGOLIAN FREE VARIATION SELECTOR THREE;Mn;0;NSM;;;;;N;;;;;
+180E;MONGOLIAN VOWEL SEPARATOR;Zs;0;WS;;;;;N;;;;;
+1810;MONGOLIAN DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
+1811;MONGOLIAN DIGIT ONE;Nd;0;L;;1;1;1;N;;;;;
+1812;MONGOLIAN DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
+1813;MONGOLIAN DIGIT THREE;Nd;0;L;;3;3;3;N;;;;;
+1814;MONGOLIAN DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;;
+1815;MONGOLIAN DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;;
+1816;MONGOLIAN DIGIT SIX;Nd;0;L;;6;6;6;N;;;;;
+1817;MONGOLIAN DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
+1818;MONGOLIAN DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
+1819;MONGOLIAN DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
+1820;MONGOLIAN LETTER A;Lo;0;L;;;;;N;;;;;
+1821;MONGOLIAN LETTER E;Lo;0;L;;;;;N;;;;;
+1822;MONGOLIAN LETTER I;Lo;0;L;;;;;N;;;;;
+1823;MONGOLIAN LETTER O;Lo;0;L;;;;;N;;;;;
+1824;MONGOLIAN LETTER U;Lo;0;L;;;;;N;;;;;
+1825;MONGOLIAN LETTER OE;Lo;0;L;;;;;N;;;;;
+1826;MONGOLIAN LETTER UE;Lo;0;L;;;;;N;;;;;
+1827;MONGOLIAN LETTER EE;Lo;0;L;;;;;N;;;;;
+1828;MONGOLIAN LETTER NA;Lo;0;L;;;;;N;;;;;
+1829;MONGOLIAN LETTER ANG;Lo;0;L;;;;;N;;;;;
+182A;MONGOLIAN LETTER BA;Lo;0;L;;;;;N;;;;;
+182B;MONGOLIAN LETTER PA;Lo;0;L;;;;;N;;;;;
+182C;MONGOLIAN LETTER QA;Lo;0;L;;;;;N;;;;;
+182D;MONGOLIAN LETTER GA;Lo;0;L;;;;;N;;;;;
+182E;MONGOLIAN LETTER MA;Lo;0;L;;;;;N;;;;;
+182F;MONGOLIAN LETTER LA;Lo;0;L;;;;;N;;;;;
+1830;MONGOLIAN LETTER SA;Lo;0;L;;;;;N;;;;;
+1831;MONGOLIAN LETTER SHA;Lo;0;L;;;;;N;;;;;
+1832;MONGOLIAN LETTER TA;Lo;0;L;;;;;N;;;;;
+1833;MONGOLIAN LETTER DA;Lo;0;L;;;;;N;;;;;
+1834;MONGOLIAN LETTER CHA;Lo;0;L;;;;;N;;;;;
+1835;MONGOLIAN LETTER JA;Lo;0;L;;;;;N;;;;;
+1836;MONGOLIAN LETTER YA;Lo;0;L;;;;;N;;;;;
+1837;MONGOLIAN LETTER RA;Lo;0;L;;;;;N;;;;;
+1838;MONGOLIAN LETTER WA;Lo;0;L;;;;;N;;;;;
+1839;MONGOLIAN LETTER FA;Lo;0;L;;;;;N;;;;;
+183A;MONGOLIAN LETTER KA;Lo;0;L;;;;;N;;;;;
+183B;MONGOLIAN LETTER KHA;Lo;0;L;;;;;N;;;;;
+183C;MONGOLIAN LETTER TSA;Lo;0;L;;;;;N;;;;;
+183D;MONGOLIAN LETTER ZA;Lo;0;L;;;;;N;;;;;
+183E;MONGOLIAN LETTER HAA;Lo;0;L;;;;;N;;;;;
+183F;MONGOLIAN LETTER ZRA;Lo;0;L;;;;;N;;;;;
+1840;MONGOLIAN LETTER LHA;Lo;0;L;;;;;N;;;;;
+1841;MONGOLIAN LETTER ZHI;Lo;0;L;;;;;N;;;;;
+1842;MONGOLIAN LETTER CHI;Lo;0;L;;;;;N;;;;;
+1843;MONGOLIAN LETTER TODO LONG VOWEL SIGN;Lm;0;L;;;;;N;;;;;
+1844;MONGOLIAN LETTER TODO E;Lo;0;L;;;;;N;;;;;
+1845;MONGOLIAN LETTER TODO I;Lo;0;L;;;;;N;;;;;
+1846;MONGOLIAN LETTER TODO O;Lo;0;L;;;;;N;;;;;
+1847;MONGOLIAN LETTER TODO U;Lo;0;L;;;;;N;;;;;
+1848;MONGOLIAN LETTER TODO OE;Lo;0;L;;;;;N;;;;;
+1849;MONGOLIAN LETTER TODO UE;Lo;0;L;;;;;N;;;;;
+184A;MONGOLIAN LETTER TODO ANG;Lo;0;L;;;;;N;;;;;
+184B;MONGOLIAN LETTER TODO BA;Lo;0;L;;;;;N;;;;;
+184C;MONGOLIAN LETTER TODO PA;Lo;0;L;;;;;N;;;;;
+184D;MONGOLIAN LETTER TODO QA;Lo;0;L;;;;;N;;;;;
+184E;MONGOLIAN LETTER TODO GA;Lo;0;L;;;;;N;;;;;
+184F;MONGOLIAN LETTER TODO MA;Lo;0;L;;;;;N;;;;;
+1850;MONGOLIAN LETTER TODO TA;Lo;0;L;;;;;N;;;;;
+1851;MONGOLIAN LETTER TODO DA;Lo;0;L;;;;;N;;;;;
+1852;MONGOLIAN LETTER TODO CHA;Lo;0;L;;;;;N;;;;;
+1853;MONGOLIAN LETTER TODO JA;Lo;0;L;;;;;N;;;;;
+1854;MONGOLIAN LETTER TODO TSA;Lo;0;L;;;;;N;;;;;
+1855;MONGOLIAN LETTER TODO YA;Lo;0;L;;;;;N;;;;;
+1856;MONGOLIAN LETTER TODO WA;Lo;0;L;;;;;N;;;;;
+1857;MONGOLIAN LETTER TODO KA;Lo;0;L;;;;;N;;;;;
+1858;MONGOLIAN LETTER TODO GAA;Lo;0;L;;;;;N;;;;;
+1859;MONGOLIAN LETTER TODO HAA;Lo;0;L;;;;;N;;;;;
+185A;MONGOLIAN LETTER TODO JIA;Lo;0;L;;;;;N;;;;;
+185B;MONGOLIAN LETTER TODO NIA;Lo;0;L;;;;;N;;;;;
+185C;MONGOLIAN LETTER TODO DZA;Lo;0;L;;;;;N;;;;;
+185D;MONGOLIAN LETTER SIBE E;Lo;0;L;;;;;N;;;;;
+185E;MONGOLIAN LETTER SIBE I;Lo;0;L;;;;;N;;;;;
+185F;MONGOLIAN LETTER SIBE IY;Lo;0;L;;;;;N;;;;;
+1860;MONGOLIAN LETTER SIBE UE;Lo;0;L;;;;;N;;;;;
+1861;MONGOLIAN LETTER SIBE U;Lo;0;L;;;;;N;;;;;
+1862;MONGOLIAN LETTER SIBE ANG;Lo;0;L;;;;;N;;;;;
+1863;MONGOLIAN LETTER SIBE KA;Lo;0;L;;;;;N;;;;;
+1864;MONGOLIAN LETTER SIBE GA;Lo;0;L;;;;;N;;;;;
+1865;MONGOLIAN LETTER SIBE HA;Lo;0;L;;;;;N;;;;;
+1866;MONGOLIAN LETTER SIBE PA;Lo;0;L;;;;;N;;;;;
+1867;MONGOLIAN LETTER SIBE SHA;Lo;0;L;;;;;N;;;;;
+1868;MONGOLIAN LETTER SIBE TA;Lo;0;L;;;;;N;;;;;
+1869;MONGOLIAN LETTER SIBE DA;Lo;0;L;;;;;N;;;;;
+186A;MONGOLIAN LETTER SIBE JA;Lo;0;L;;;;;N;;;;;
+186B;MONGOLIAN LETTER SIBE FA;Lo;0;L;;;;;N;;;;;
+186C;MONGOLIAN LETTER SIBE GAA;Lo;0;L;;;;;N;;;;;
+186D;MONGOLIAN LETTER SIBE HAA;Lo;0;L;;;;;N;;;;;
+186E;MONGOLIAN LETTER SIBE TSA;Lo;0;L;;;;;N;;;;;
+186F;MONGOLIAN LETTER SIBE ZA;Lo;0;L;;;;;N;;;;;
+1870;MONGOLIAN LETTER SIBE RAA;Lo;0;L;;;;;N;;;;;
+1871;MONGOLIAN LETTER SIBE CHA;Lo;0;L;;;;;N;;;;;
+1872;MONGOLIAN LETTER SIBE ZHA;Lo;0;L;;;;;N;;;;;
+1873;MONGOLIAN LETTER MANCHU I;Lo;0;L;;;;;N;;;;;
+1874;MONGOLIAN LETTER MANCHU KA;Lo;0;L;;;;;N;;;;;
+1875;MONGOLIAN LETTER MANCHU RA;Lo;0;L;;;;;N;;;;;
+1876;MONGOLIAN LETTER MANCHU FA;Lo;0;L;;;;;N;;;;;
+1877;MONGOLIAN LETTER MANCHU ZHA;Lo;0;L;;;;;N;;;;;
+1880;MONGOLIAN LETTER ALI GALI ANUSVARA ONE;Lo;0;L;;;;;N;;;;;
+1881;MONGOLIAN LETTER ALI GALI VISARGA ONE;Lo;0;L;;;;;N;;;;;
+1882;MONGOLIAN LETTER ALI GALI DAMARU;Lo;0;L;;;;;N;;;;;
+1883;MONGOLIAN LETTER ALI GALI UBADAMA;Lo;0;L;;;;;N;;;;;
+1884;MONGOLIAN LETTER ALI GALI INVERTED UBADAMA;Lo;0;L;;;;;N;;;;;
+1885;MONGOLIAN LETTER ALI GALI BALUDA;Lo;0;L;;;;;N;;;;;
+1886;MONGOLIAN LETTER ALI GALI THREE BALUDA;Lo;0;L;;;;;N;;;;;
+1887;MONGOLIAN LETTER ALI GALI A;Lo;0;L;;;;;N;;;;;
+1888;MONGOLIAN LETTER ALI GALI I;Lo;0;L;;;;;N;;;;;
+1889;MONGOLIAN LETTER ALI GALI KA;Lo;0;L;;;;;N;;;;;
+188A;MONGOLIAN LETTER ALI GALI NGA;Lo;0;L;;;;;N;;;;;
+188B;MONGOLIAN LETTER ALI GALI CA;Lo;0;L;;;;;N;;;;;
+188C;MONGOLIAN LETTER ALI GALI TTA;Lo;0;L;;;;;N;;;;;
+188D;MONGOLIAN LETTER ALI GALI TTHA;Lo;0;L;;;;;N;;;;;
+188E;MONGOLIAN LETTER ALI GALI DDA;Lo;0;L;;;;;N;;;;;
+188F;MONGOLIAN LETTER ALI GALI NNA;Lo;0;L;;;;;N;;;;;
+1890;MONGOLIAN LETTER ALI GALI TA;Lo;0;L;;;;;N;;;;;
+1891;MONGOLIAN LETTER ALI GALI DA;Lo;0;L;;;;;N;;;;;
+1892;MONGOLIAN LETTER ALI GALI PA;Lo;0;L;;;;;N;;;;;
+1893;MONGOLIAN LETTER ALI GALI PHA;Lo;0;L;;;;;N;;;;;
+1894;MONGOLIAN LETTER ALI GALI SSA;Lo;0;L;;;;;N;;;;;
+1895;MONGOLIAN LETTER ALI GALI ZHA;Lo;0;L;;;;;N;;;;;
+1896;MONGOLIAN LETTER ALI GALI ZA;Lo;0;L;;;;;N;;;;;
+1897;MONGOLIAN LETTER ALI GALI AH;Lo;0;L;;;;;N;;;;;
+1898;MONGOLIAN LETTER TODO ALI GALI TA;Lo;0;L;;;;;N;;;;;
+1899;MONGOLIAN LETTER TODO ALI GALI ZHA;Lo;0;L;;;;;N;;;;;
+189A;MONGOLIAN LETTER MANCHU ALI GALI GHA;Lo;0;L;;;;;N;;;;;
+189B;MONGOLIAN LETTER MANCHU ALI GALI NGA;Lo;0;L;;;;;N;;;;;
+189C;MONGOLIAN LETTER MANCHU ALI GALI CA;Lo;0;L;;;;;N;;;;;
+189D;MONGOLIAN LETTER MANCHU ALI GALI JHA;Lo;0;L;;;;;N;;;;;
+189E;MONGOLIAN LETTER MANCHU ALI GALI TTA;Lo;0;L;;;;;N;;;;;
+189F;MONGOLIAN LETTER MANCHU ALI GALI DDHA;Lo;0;L;;;;;N;;;;;
+18A0;MONGOLIAN LETTER MANCHU ALI GALI TA;Lo;0;L;;;;;N;;;;;
+18A1;MONGOLIAN LETTER MANCHU ALI GALI DHA;Lo;0;L;;;;;N;;;;;
+18A2;MONGOLIAN LETTER MANCHU ALI GALI SSA;Lo;0;L;;;;;N;;;;;
+18A3;MONGOLIAN LETTER MANCHU ALI GALI CYA;Lo;0;L;;;;;N;;;;;
+18A4;MONGOLIAN LETTER MANCHU ALI GALI ZHA;Lo;0;L;;;;;N;;;;;
+18A5;MONGOLIAN LETTER MANCHU ALI GALI ZA;Lo;0;L;;;;;N;;;;;
+18A6;MONGOLIAN LETTER ALI GALI HALF U;Lo;0;L;;;;;N;;;;;
+18A7;MONGOLIAN LETTER ALI GALI HALF YA;Lo;0;L;;;;;N;;;;;
+18A8;MONGOLIAN LETTER MANCHU ALI GALI BHA;Lo;0;L;;;;;N;;;;;
+18A9;MONGOLIAN LETTER ALI GALI DAGALGA;Mn;228;NSM;;;;;N;;;;;
+1900;LIMBU VOWEL-CARRIER LETTER;Lo;0;L;;;;;N;;;;;
+1901;LIMBU LETTER KA;Lo;0;L;;;;;N;;;;;
+1902;LIMBU LETTER KHA;Lo;0;L;;;;;N;;;;;
+1903;LIMBU LETTER GA;Lo;0;L;;;;;N;;;;;
+1904;LIMBU LETTER GHA;Lo;0;L;;;;;N;;;;;
+1905;LIMBU LETTER NGA;Lo;0;L;;;;;N;;;;;
+1906;LIMBU LETTER CA;Lo;0;L;;;;;N;;;;;
+1907;LIMBU LETTER CHA;Lo;0;L;;;;;N;;;;;
+1908;LIMBU LETTER JA;Lo;0;L;;;;;N;;;;;
+1909;LIMBU LETTER JHA;Lo;0;L;;;;;N;;;;;
+190A;LIMBU LETTER YAN;Lo;0;L;;;;;N;;;;;
+190B;LIMBU LETTER TA;Lo;0;L;;;;;N;;;;;
+190C;LIMBU LETTER THA;Lo;0;L;;;;;N;;;;;
+190D;LIMBU LETTER DA;Lo;0;L;;;;;N;;;;;
+190E;LIMBU LETTER DHA;Lo;0;L;;;;;N;;;;;
+190F;LIMBU LETTER NA;Lo;0;L;;;;;N;;;;;
+1910;LIMBU LETTER PA;Lo;0;L;;;;;N;;;;;
+1911;LIMBU LETTER PHA;Lo;0;L;;;;;N;;;;;
+1912;LIMBU LETTER BA;Lo;0;L;;;;;N;;;;;
+1913;LIMBU LETTER BHA;Lo;0;L;;;;;N;;;;;
+1914;LIMBU LETTER MA;Lo;0;L;;;;;N;;;;;
+1915;LIMBU LETTER YA;Lo;0;L;;;;;N;;;;;
+1916;LIMBU LETTER RA;Lo;0;L;;;;;N;;;;;
+1917;LIMBU LETTER LA;Lo;0;L;;;;;N;;;;;
+1918;LIMBU LETTER WA;Lo;0;L;;;;;N;;;;;
+1919;LIMBU LETTER SHA;Lo;0;L;;;;;N;;;;;
+191A;LIMBU LETTER SSA;Lo;0;L;;;;;N;;;;;
+191B;LIMBU LETTER SA;Lo;0;L;;;;;N;;;;;
+191C;LIMBU LETTER HA;Lo;0;L;;;;;N;;;;;
+1920;LIMBU VOWEL SIGN A;Mn;0;NSM;;;;;N;;;;;
+1921;LIMBU VOWEL SIGN I;Mn;0;NSM;;;;;N;;;;;
+1922;LIMBU VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;;
+1923;LIMBU VOWEL SIGN EE;Mc;0;L;;;;;N;;;;;
+1924;LIMBU VOWEL SIGN AI;Mc;0;L;;;;;N;;;;;
+1925;LIMBU VOWEL SIGN OO;Mc;0;L;;;;;N;;;;;
+1926;LIMBU VOWEL SIGN AU;Mc;0;L;;;;;N;;;;;
+1927;LIMBU VOWEL SIGN E;Mn;0;NSM;;;;;N;;;;;
+1928;LIMBU VOWEL SIGN O;Mn;0;NSM;;;;;N;;;;;
+1929;LIMBU SUBJOINED LETTER YA;Mc;0;NSM;;;;;N;;;;;
+192A;LIMBU SUBJOINED LETTER RA;Mc;0;NSM;;;;;N;;;;;
+192B;LIMBU SUBJOINED LETTER WA;Mc;0;NSM;;;;;N;;;;;
+1930;LIMBU SMALL LETTER KA;Mc;0;L;;;;;N;;;;;
+1931;LIMBU SMALL LETTER NGA;Mc;0;L;;;;;N;;;;;
+1932;LIMBU SMALL LETTER ANUSVARA;Mn;0;NSM;;;;;N;;;;;
+1933;LIMBU SMALL LETTER TA;Mc;0;L;;;;;N;;;;;
+1934;LIMBU SMALL LETTER NA;Mc;0;L;;;;;N;;;;;
+1935;LIMBU SMALL LETTER PA;Mc;0;L;;;;;N;;;;;
+1936;LIMBU SMALL LETTER MA;Mc;0;L;;;;;N;;;;;
+1937;LIMBU SMALL LETTER RA;Mc;0;L;;;;;N;;;;;
+1938;LIMBU SMALL LETTER LA;Mc;0;L;;;;;N;;;;;
+1939;LIMBU SIGN MUKPHRENG;Mn;222;NSM;;;;;N;;;;;
+193A;LIMBU SIGN KEMPHRENG;Mn;230;NSM;;;;;N;;;;;
+193B;LIMBU SIGN SA-I;Mn;220;NSM;;;;;N;;;;;
+1940;LIMBU SIGN LOO;So;0;ON;;;;;N;;;;;
+1944;LIMBU EXCLAMATION MARK;Po;0;ON;;;;;N;;;;;
+1945;LIMBU QUESTION MARK;Po;0;ON;;;;;N;;;;;
+1946;LIMBU DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
+1947;LIMBU DIGIT ONE;Nd;0;L;;1;1;1;N;;;;;
+1948;LIMBU DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
+1949;LIMBU DIGIT THREE;Nd;0;L;;3;3;3;N;;;;;
+194A;LIMBU DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;;
+194B;LIMBU DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;;
+194C;LIMBU DIGIT SIX;Nd;0;L;;6;6;6;N;;;;;
+194D;LIMBU DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
+194E;LIMBU DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
+194F;LIMBU DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
+1950;TAI LE LETTER KA;Lo;0;L;;;;;N;;;;;
+1951;TAI LE LETTER XA;Lo;0;L;;;;;N;;;;;
+1952;TAI LE LETTER NGA;Lo;0;L;;;;;N;;;;;
+1953;TAI LE LETTER TSA;Lo;0;L;;;;;N;;;;;
+1954;TAI LE LETTER SA;Lo;0;L;;;;;N;;;;;
+1955;TAI LE LETTER YA;Lo;0;L;;;;;N;;;;;
+1956;TAI LE LETTER TA;Lo;0;L;;;;;N;;;;;
+1957;TAI LE LETTER THA;Lo;0;L;;;;;N;;;;;
+1958;TAI LE LETTER LA;Lo;0;L;;;;;N;;;;;
+1959;TAI LE LETTER PA;Lo;0;L;;;;;N;;;;;
+195A;TAI LE LETTER PHA;Lo;0;L;;;;;N;;;;;
+195B;TAI LE LETTER MA;Lo;0;L;;;;;N;;;;;
+195C;TAI LE LETTER FA;Lo;0;L;;;;;N;;;;;
+195D;TAI LE LETTER VA;Lo;0;L;;;;;N;;;;;
+195E;TAI LE LETTER HA;Lo;0;L;;;;;N;;;;;
+195F;TAI LE LETTER QA;Lo;0;L;;;;;N;;;;;
+1960;TAI LE LETTER KHA;Lo;0;L;;;;;N;;;;;
+1961;TAI LE LETTER TSHA;Lo;0;L;;;;;N;;;;;
+1962;TAI LE LETTER NA;Lo;0;L;;;;;N;;;;;
+1963;TAI LE LETTER A;Lo;0;L;;;;;N;;;;;
+1964;TAI LE LETTER I;Lo;0;L;;;;;N;;;;;
+1965;TAI LE LETTER EE;Lo;0;L;;;;;N;;;;;
+1966;TAI LE LETTER EH;Lo;0;L;;;;;N;;;;;
+1967;TAI LE LETTER U;Lo;0;L;;;;;N;;;;;
+1968;TAI LE LETTER OO;Lo;0;L;;;;;N;;;;;
+1969;TAI LE LETTER O;Lo;0;L;;;;;N;;;;;
+196A;TAI LE LETTER UE;Lo;0;L;;;;;N;;;;;
+196B;TAI LE LETTER E;Lo;0;L;;;;;N;;;;;
+196C;TAI LE LETTER AUE;Lo;0;L;;;;;N;;;;;
+196D;TAI LE LETTER AI;Lo;0;L;;;;;N;;;;;
+1970;TAI LE LETTER TONE-2;Lo;0;L;;;;;N;;;;;
+1971;TAI LE LETTER TONE-3;Lo;0;L;;;;;N;;;;;
+1972;TAI LE LETTER TONE-4;Lo;0;L;;;;;N;;;;;
+1973;TAI LE LETTER TONE-5;Lo;0;L;;;;;N;;;;;
+1974;TAI LE LETTER TONE-6;Lo;0;L;;;;;N;;;;;
+1980;NEW TAI LUE LETTER HIGH QA;Lo;0;L;;;;;N;;;;;
+1981;NEW TAI LUE LETTER LOW QA;Lo;0;L;;;;;N;;;;;
+1982;NEW TAI LUE LETTER HIGH KA;Lo;0;L;;;;;N;;;;;
+1983;NEW TAI LUE LETTER HIGH XA;Lo;0;L;;;;;N;;;;;
+1984;NEW TAI LUE LETTER HIGH NGA;Lo;0;L;;;;;N;;;;;
+1985;NEW TAI LUE LETTER LOW KA;Lo;0;L;;;;;N;;;;;
+1986;NEW TAI LUE LETTER LOW XA;Lo;0;L;;;;;N;;;;;
+1987;NEW TAI LUE LETTER LOW NGA;Lo;0;L;;;;;N;;;;;
+1988;NEW TAI LUE LETTER HIGH TSA;Lo;0;L;;;;;N;;;;;
+1989;NEW TAI LUE LETTER HIGH SA;Lo;0;L;;;;;N;;;;;
+198A;NEW TAI LUE LETTER HIGH YA;Lo;0;L;;;;;N;;;;;
+198B;NEW TAI LUE LETTER LOW TSA;Lo;0;L;;;;;N;;;;;
+198C;NEW TAI LUE LETTER LOW SA;Lo;0;L;;;;;N;;;;;
+198D;NEW TAI LUE LETTER LOW YA;Lo;0;L;;;;;N;;;;;
+198E;NEW TAI LUE LETTER HIGH TA;Lo;0;L;;;;;N;;;;;
+198F;NEW TAI LUE LETTER HIGH THA;Lo;0;L;;;;;N;;;;;
+1990;NEW TAI LUE LETTER HIGH NA;Lo;0;L;;;;;N;;;;;
+1991;NEW TAI LUE LETTER LOW TA;Lo;0;L;;;;;N;;;;;
+1992;NEW TAI LUE LETTER LOW THA;Lo;0;L;;;;;N;;;;;
+1993;NEW TAI LUE LETTER LOW NA;Lo;0;L;;;;;N;;;;;
+1994;NEW TAI LUE LETTER HIGH PA;Lo;0;L;;;;;N;;;;;
+1995;NEW TAI LUE LETTER HIGH PHA;Lo;0;L;;;;;N;;;;;
+1996;NEW TAI LUE LETTER HIGH MA;Lo;0;L;;;;;N;;;;;
+1997;NEW TAI LUE LETTER LOW PA;Lo;0;L;;;;;N;;;;;
+1998;NEW TAI LUE LETTER LOW PHA;Lo;0;L;;;;;N;;;;;
+1999;NEW TAI LUE LETTER LOW MA;Lo;0;L;;;;;N;;;;;
+199A;NEW TAI LUE LETTER HIGH FA;Lo;0;L;;;;;N;;;;;
+199B;NEW TAI LUE LETTER HIGH VA;Lo;0;L;;;;;N;;;;;
+199C;NEW TAI LUE LETTER HIGH LA;Lo;0;L;;;;;N;;;;;
+199D;NEW TAI LUE LETTER LOW FA;Lo;0;L;;;;;N;;;;;
+199E;NEW TAI LUE LETTER LOW VA;Lo;0;L;;;;;N;;;;;
+199F;NEW TAI LUE LETTER LOW LA;Lo;0;L;;;;;N;;;;;
+19A0;NEW TAI LUE LETTER HIGH HA;Lo;0;L;;;;;N;;;;;
+19A1;NEW TAI LUE LETTER HIGH DA;Lo;0;L;;;;;N;;;;;
+19A2;NEW TAI LUE LETTER HIGH BA;Lo;0;L;;;;;N;;;;;
+19A3;NEW TAI LUE LETTER LOW HA;Lo;0;L;;;;;N;;;;;
+19A4;NEW TAI LUE LETTER LOW DA;Lo;0;L;;;;;N;;;;;
+19A5;NEW TAI LUE LETTER LOW BA;Lo;0;L;;;;;N;;;;;
+19A6;NEW TAI LUE LETTER HIGH KVA;Lo;0;L;;;;;N;;;;;
+19A7;NEW TAI LUE LETTER HIGH XVA;Lo;0;L;;;;;N;;;;;
+19A8;NEW TAI LUE LETTER LOW KVA;Lo;0;L;;;;;N;;;;;
+19A9;NEW TAI LUE LETTER LOW XVA;Lo;0;L;;;;;N;;;;;
+19B0;NEW TAI LUE VOWEL SIGN VOWEL SHORTENER;Mc;0;L;;;;;N;;;;;
+19B1;NEW TAI LUE VOWEL SIGN AA;Mc;0;L;;;;;N;;;;;
+19B2;NEW TAI LUE VOWEL SIGN II;Mc;0;L;;;;;N;;;;;
+19B3;NEW TAI LUE VOWEL SIGN U;Mc;0;L;;;;;N;;;;;
+19B4;NEW TAI LUE VOWEL SIGN UU;Mc;0;L;;;;;N;;;;;
+19B5;NEW TAI LUE VOWEL SIGN E;Mc;0;L;;;;;N;;;;;
+19B6;NEW TAI LUE VOWEL SIGN AE;Mc;0;L;;;;;N;;;;;
+19B7;NEW TAI LUE VOWEL SIGN O;Mc;0;L;;;;;N;;;;;
+19B8;NEW TAI LUE VOWEL SIGN OA;Mc;0;L;;;;;N;;;;;
+19B9;NEW TAI LUE VOWEL SIGN UE;Mc;0;L;;;;;N;;;;;
+19BA;NEW TAI LUE VOWEL SIGN AY;Mc;0;L;;;;;N;;;;;
+19BB;NEW TAI LUE VOWEL SIGN AAY;Mc;0;L;;;;;N;;;;;
+19BC;NEW TAI LUE VOWEL SIGN UY;Mc;0;L;;;;;N;;;;;
+19BD;NEW TAI LUE VOWEL SIGN OY;Mc;0;L;;;;;N;;;;;
+19BE;NEW TAI LUE VOWEL SIGN OAY;Mc;0;L;;;;;N;;;;;
+19BF;NEW TAI LUE VOWEL SIGN UEY;Mc;0;L;;;;;N;;;;;
+19C0;NEW TAI LUE VOWEL SIGN IY;Mc;0;L;;;;;N;;;;;
+19C1;NEW TAI LUE LETTER FINAL V;Lo;0;L;;;;;N;;;;;
+19C2;NEW TAI LUE LETTER FINAL NG;Lo;0;L;;;;;N;;;;;
+19C3;NEW TAI LUE LETTER FINAL N;Lo;0;L;;;;;N;;;;;
+19C4;NEW TAI LUE LETTER FINAL M;Lo;0;L;;;;;N;;;;;
+19C5;NEW TAI LUE LETTER FINAL K;Lo;0;L;;;;;N;;;;;
+19C6;NEW TAI LUE LETTER FINAL D;Lo;0;L;;;;;N;;;;;
+19C7;NEW TAI LUE LETTER FINAL B;Lo;0;L;;;;;N;;;;;
+19C8;NEW TAI LUE TONE MARK-1;Mc;0;L;;;;;N;;;;;
+19C9;NEW TAI LUE TONE MARK-2;Mc;0;L;;;;;N;;;;;
+19D0;NEW TAI LUE DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
+19D1;NEW TAI LUE DIGIT ONE;Nd;0;L;;1;1;1;N;;;;;
+19D2;NEW TAI LUE DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
+19D3;NEW TAI LUE DIGIT THREE;Nd;0;L;;3;3;3;N;;;;;
+19D4;NEW TAI LUE DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;;
+19D5;NEW TAI LUE DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;;
+19D6;NEW TAI LUE DIGIT SIX;Nd;0;L;;6;6;6;N;;;;;
+19D7;NEW TAI LUE DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
+19D8;NEW TAI LUE DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
+19D9;NEW TAI LUE DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
+19DE;NEW TAI LUE SIGN LAE;Po;0;ON;;;;;N;;;;;
+19DF;NEW TAI LUE SIGN LAEV;Po;0;ON;;;;;N;;;;;
+19E0;KHMER SYMBOL PATHAMASAT;So;0;ON;;;;;N;;;;;
+19E1;KHMER SYMBOL MUOY KOET;So;0;ON;;;;;N;;;;;
+19E2;KHMER SYMBOL PII KOET;So;0;ON;;;;;N;;;;;
+19E3;KHMER SYMBOL BEI KOET;So;0;ON;;;;;N;;;;;
+19E4;KHMER SYMBOL BUON KOET;So;0;ON;;;;;N;;;;;
+19E5;KHMER SYMBOL PRAM KOET;So;0;ON;;;;;N;;;;;
+19E6;KHMER SYMBOL PRAM-MUOY KOET;So;0;ON;;;;;N;;;;;
+19E7;KHMER SYMBOL PRAM-PII KOET;So;0;ON;;;;;N;;;;;
+19E8;KHMER SYMBOL PRAM-BEI KOET;So;0;ON;;;;;N;;;;;
+19E9;KHMER SYMBOL PRAM-BUON KOET;So;0;ON;;;;;N;;;;;
+19EA;KHMER SYMBOL DAP KOET;So;0;ON;;;;;N;;;;;
+19EB;KHMER SYMBOL DAP-MUOY KOET;So;0;ON;;;;;N;;;;;
+19EC;KHMER SYMBOL DAP-PII KOET;So;0;ON;;;;;N;;;;;
+19ED;KHMER SYMBOL DAP-BEI KOET;So;0;ON;;;;;N;;;;;
+19EE;KHMER SYMBOL DAP-BUON KOET;So;0;ON;;;;;N;;;;;
+19EF;KHMER SYMBOL DAP-PRAM KOET;So;0;ON;;;;;N;;;;;
+19F0;KHMER SYMBOL TUTEYASAT;So;0;ON;;;;;N;;;;;
+19F1;KHMER SYMBOL MUOY ROC;So;0;ON;;;;;N;;;;;
+19F2;KHMER SYMBOL PII ROC;So;0;ON;;;;;N;;;;;
+19F3;KHMER SYMBOL BEI ROC;So;0;ON;;;;;N;;;;;
+19F4;KHMER SYMBOL BUON ROC;So;0;ON;;;;;N;;;;;
+19F5;KHMER SYMBOL PRAM ROC;So;0;ON;;;;;N;;;;;
+19F6;KHMER SYMBOL PRAM-MUOY ROC;So;0;ON;;;;;N;;;;;
+19F7;KHMER SYMBOL PRAM-PII ROC;So;0;ON;;;;;N;;;;;
+19F8;KHMER SYMBOL PRAM-BEI ROC;So;0;ON;;;;;N;;;;;
+19F9;KHMER SYMBOL PRAM-BUON ROC;So;0;ON;;;;;N;;;;;
+19FA;KHMER SYMBOL DAP ROC;So;0;ON;;;;;N;;;;;
+19FB;KHMER SYMBOL DAP-MUOY ROC;So;0;ON;;;;;N;;;;;
+19FC;KHMER SYMBOL DAP-PII ROC;So;0;ON;;;;;N;;;;;
+19FD;KHMER SYMBOL DAP-BEI ROC;So;0;ON;;;;;N;;;;;
+19FE;KHMER SYMBOL DAP-BUON ROC;So;0;ON;;;;;N;;;;;
+19FF;KHMER SYMBOL DAP-PRAM ROC;So;0;ON;;;;;N;;;;;
+1A00;BUGINESE LETTER KA;Lo;0;L;;;;;N;;;;;
+1A01;BUGINESE LETTER GA;Lo;0;L;;;;;N;;;;;
+1A02;BUGINESE LETTER NGA;Lo;0;L;;;;;N;;;;;
+1A03;BUGINESE LETTER NGKA;Lo;0;L;;;;;N;;;;;
+1A04;BUGINESE LETTER PA;Lo;0;L;;;;;N;;;;;
+1A05;BUGINESE LETTER BA;Lo;0;L;;;;;N;;;;;
+1A06;BUGINESE LETTER MA;Lo;0;L;;;;;N;;;;;
+1A07;BUGINESE LETTER MPA;Lo;0;L;;;;;N;;;;;
+1A08;BUGINESE LETTER TA;Lo;0;L;;;;;N;;;;;
+1A09;BUGINESE LETTER DA;Lo;0;L;;;;;N;;;;;
+1A0A;BUGINESE LETTER NA;Lo;0;L;;;;;N;;;;;
+1A0B;BUGINESE LETTER NRA;Lo;0;L;;;;;N;;;;;
+1A0C;BUGINESE LETTER CA;Lo;0;L;;;;;N;;;;;
+1A0D;BUGINESE LETTER JA;Lo;0;L;;;;;N;;;;;
+1A0E;BUGINESE LETTER NYA;Lo;0;L;;;;;N;;;;;
+1A0F;BUGINESE LETTER NYCA;Lo;0;L;;;;;N;;;;;
+1A10;BUGINESE LETTER YA;Lo;0;L;;;;;N;;;;;
+1A11;BUGINESE LETTER RA;Lo;0;L;;;;;N;;;;;
+1A12;BUGINESE LETTER LA;Lo;0;L;;;;;N;;;;;
+1A13;BUGINESE LETTER VA;Lo;0;L;;;;;N;;;;;
+1A14;BUGINESE LETTER SA;Lo;0;L;;;;;N;;;;;
+1A15;BUGINESE LETTER A;Lo;0;L;;;;;N;;;;;
+1A16;BUGINESE LETTER HA;Lo;0;L;;;;;N;;;;;
+1A17;BUGINESE VOWEL SIGN I;Mn;230;NSM;;;;;N;;;;;
+1A18;BUGINESE VOWEL SIGN U;Mn;220;NSM;;;;;N;;;;;
+1A19;BUGINESE VOWEL SIGN E;Mc;0;L;;;;;N;;;;;
+1A1A;BUGINESE VOWEL SIGN O;Mc;0;L;;;;;N;;;;;
+1A1B;BUGINESE VOWEL SIGN AE;Mc;0;L;;;;;N;;;;;
+1A1E;BUGINESE PALLAWA;Po;0;L;;;;;N;;;;;
+1A1F;BUGINESE END OF SECTION;Po;0;L;;;;;N;;;;;
+1D00;LATIN LETTER SMALL CAPITAL A;Ll;0;L;;;;;N;;;;;
+1D01;LATIN LETTER SMALL CAPITAL AE;Ll;0;L;;;;;N;;;;;
+1D02;LATIN SMALL LETTER TURNED AE;Ll;0;L;;;;;N;;;;;
+1D03;LATIN LETTER SMALL CAPITAL BARRED B;Ll;0;L;;;;;N;;;;;
+1D04;LATIN LETTER SMALL CAPITAL C;Ll;0;L;;;;;N;;;;;
+1D05;LATIN LETTER SMALL CAPITAL D;Ll;0;L;;;;;N;;;;;
+1D06;LATIN LETTER SMALL CAPITAL ETH;Ll;0;L;;;;;N;;;;;
+1D07;LATIN LETTER SMALL CAPITAL E;Ll;0;L;;;;;N;;;;;
+1D08;LATIN SMALL LETTER TURNED OPEN E;Ll;0;L;;;;;N;;;;;
+1D09;LATIN SMALL LETTER TURNED I;Ll;0;L;;;;;N;;;;;
+1D0A;LATIN LETTER SMALL CAPITAL J;Ll;0;L;;;;;N;;;;;
+1D0B;LATIN LETTER SMALL CAPITAL K;Ll;0;L;;;;;N;;;;;
+1D0C;LATIN LETTER SMALL CAPITAL L WITH STROKE;Ll;0;L;;;;;N;;;;;
+1D0D;LATIN LETTER SMALL CAPITAL M;Ll;0;L;;;;;N;;;;;
+1D0E;LATIN LETTER SMALL CAPITAL REVERSED N;Ll;0;L;;;;;N;;;;;
+1D0F;LATIN LETTER SMALL CAPITAL O;Ll;0;L;;;;;N;;;;;
+1D10;LATIN LETTER SMALL CAPITAL OPEN O;Ll;0;L;;;;;N;;;;;
+1D11;LATIN SMALL LETTER SIDEWAYS O;Ll;0;L;;;;;N;;;;;
+1D12;LATIN SMALL LETTER SIDEWAYS OPEN O;Ll;0;L;;;;;N;;;;;
+1D13;LATIN SMALL LETTER SIDEWAYS O WITH STROKE;Ll;0;L;;;;;N;;;;;
+1D14;LATIN SMALL LETTER TURNED OE;Ll;0;L;;;;;N;;;;;
+1D15;LATIN LETTER SMALL CAPITAL OU;Ll;0;L;;;;;N;;;;;
+1D16;LATIN SMALL LETTER TOP HALF O;Ll;0;L;;;;;N;;;;;
+1D17;LATIN SMALL LETTER BOTTOM HALF O;Ll;0;L;;;;;N;;;;;
+1D18;LATIN LETTER SMALL CAPITAL P;Ll;0;L;;;;;N;;;;;
+1D19;LATIN LETTER SMALL CAPITAL REVERSED R;Ll;0;L;;;;;N;;;;;
+1D1A;LATIN LETTER SMALL CAPITAL TURNED R;Ll;0;L;;;;;N;;;;;
+1D1B;LATIN LETTER SMALL CAPITAL T;Ll;0;L;;;;;N;;;;;
+1D1C;LATIN LETTER SMALL CAPITAL U;Ll;0;L;;;;;N;;;;;
+1D1D;LATIN SMALL LETTER SIDEWAYS U;Ll;0;L;;;;;N;;;;;
+1D1E;LATIN SMALL LETTER SIDEWAYS DIAERESIZED U;Ll;0;L;;;;;N;;;;;
+1D1F;LATIN SMALL LETTER SIDEWAYS TURNED M;Ll;0;L;;;;;N;;;;;
+1D20;LATIN LETTER SMALL CAPITAL V;Ll;0;L;;;;;N;;;;;
+1D21;LATIN LETTER SMALL CAPITAL W;Ll;0;L;;;;;N;;;;;
+1D22;LATIN LETTER SMALL CAPITAL Z;Ll;0;L;;;;;N;;;;;
+1D23;LATIN LETTER SMALL CAPITAL EZH;Ll;0;L;;;;;N;;;;;
+1D24;LATIN LETTER VOICED LARYNGEAL SPIRANT;Ll;0;L;;;;;N;;;;;
+1D25;LATIN LETTER AIN;Ll;0;L;;;;;N;;;;;
+1D26;GREEK LETTER SMALL CAPITAL GAMMA;Ll;0;L;;;;;N;;;;;
+1D27;GREEK LETTER SMALL CAPITAL LAMDA;Ll;0;L;;;;;N;;;;;
+1D28;GREEK LETTER SMALL CAPITAL PI;Ll;0;L;;;;;N;;;;;
+1D29;GREEK LETTER SMALL CAPITAL RHO;Ll;0;L;;;;;N;;;;;
+1D2A;GREEK LETTER SMALL CAPITAL PSI;Ll;0;L;;;;;N;;;;;
+1D2B;CYRILLIC LETTER SMALL CAPITAL EL;Ll;0;L;;;;;N;;;;;
+1D2C;MODIFIER LETTER CAPITAL A;Lm;0;L;<super> 0041;;;;N;;;;;
+1D2D;MODIFIER LETTER CAPITAL AE;Lm;0;L;<super> 00C6;;;;N;;;;;
+1D2E;MODIFIER LETTER CAPITAL B;Lm;0;L;<super> 0042;;;;N;;;;;
+1D2F;MODIFIER LETTER CAPITAL BARRED B;Lm;0;L;;;;;N;;;;;
+1D30;MODIFIER LETTER CAPITAL D;Lm;0;L;<super> 0044;;;;N;;;;;
+1D31;MODIFIER LETTER CAPITAL E;Lm;0;L;<super> 0045;;;;N;;;;;
+1D32;MODIFIER LETTER CAPITAL REVERSED E;Lm;0;L;<super> 018E;;;;N;;;;;
+1D33;MODIFIER LETTER CAPITAL G;Lm;0;L;<super> 0047;;;;N;;;;;
+1D34;MODIFIER LETTER CAPITAL H;Lm;0;L;<super> 0048;;;;N;;;;;
+1D35;MODIFIER LETTER CAPITAL I;Lm;0;L;<super> 0049;;;;N;;;;;
+1D36;MODIFIER LETTER CAPITAL J;Lm;0;L;<super> 004A;;;;N;;;;;
+1D37;MODIFIER LETTER CAPITAL K;Lm;0;L;<super> 004B;;;;N;;;;;
+1D38;MODIFIER LETTER CAPITAL L;Lm;0;L;<super> 004C;;;;N;;;;;
+1D39;MODIFIER LETTER CAPITAL M;Lm;0;L;<super> 004D;;;;N;;;;;
+1D3A;MODIFIER LETTER CAPITAL N;Lm;0;L;<super> 004E;;;;N;;;;;
+1D3B;MODIFIER LETTER CAPITAL REVERSED N;Lm;0;L;;;;;N;;;;;
+1D3C;MODIFIER LETTER CAPITAL O;Lm;0;L;<super> 004F;;;;N;;;;;
+1D3D;MODIFIER LETTER CAPITAL OU;Lm;0;L;<super> 0222;;;;N;;;;;
+1D3E;MODIFIER LETTER CAPITAL P;Lm;0;L;<super> 0050;;;;N;;;;;
+1D3F;MODIFIER LETTER CAPITAL R;Lm;0;L;<super> 0052;;;;N;;;;;
+1D40;MODIFIER LETTER CAPITAL T;Lm;0;L;<super> 0054;;;;N;;;;;
+1D41;MODIFIER LETTER CAPITAL U;Lm;0;L;<super> 0055;;;;N;;;;;
+1D42;MODIFIER LETTER CAPITAL W;Lm;0;L;<super> 0057;;;;N;;;;;
+1D43;MODIFIER LETTER SMALL A;Lm;0;L;<super> 0061;;;;N;;;;;
+1D44;MODIFIER LETTER SMALL TURNED A;Lm;0;L;<super> 0250;;;;N;;;;;
+1D45;MODIFIER LETTER SMALL ALPHA;Lm;0;L;<super> 0251;;;;N;;;;;
+1D46;MODIFIER LETTER SMALL TURNED AE;Lm;0;L;<super> 1D02;;;;N;;;;;
+1D47;MODIFIER LETTER SMALL B;Lm;0;L;<super> 0062;;;;N;;;;;
+1D48;MODIFIER LETTER SMALL D;Lm;0;L;<super> 0064;;;;N;;;;;
+1D49;MODIFIER LETTER SMALL E;Lm;0;L;<super> 0065;;;;N;;;;;
+1D4A;MODIFIER LETTER SMALL SCHWA;Lm;0;L;<super> 0259;;;;N;;;;;
+1D4B;MODIFIER LETTER SMALL OPEN E;Lm;0;L;<super> 025B;;;;N;;;;;
+1D4C;MODIFIER LETTER SMALL TURNED OPEN E;Lm;0;L;<super> 025C;;;;N;;;;;
+1D4D;MODIFIER LETTER SMALL G;Lm;0;L;<super> 0067;;;;N;;;;;
+1D4E;MODIFIER LETTER SMALL TURNED I;Lm;0;L;;;;;N;;;;;
+1D4F;MODIFIER LETTER SMALL K;Lm;0;L;<super> 006B;;;;N;;;;;
+1D50;MODIFIER LETTER SMALL M;Lm;0;L;<super> 006D;;;;N;;;;;
+1D51;MODIFIER LETTER SMALL ENG;Lm;0;L;<super> 014B;;;;N;;;;;
+1D52;MODIFIER LETTER SMALL O;Lm;0;L;<super> 006F;;;;N;;;;;
+1D53;MODIFIER LETTER SMALL OPEN O;Lm;0;L;<super> 0254;;;;N;;;;;
+1D54;MODIFIER LETTER SMALL TOP HALF O;Lm;0;L;<super> 1D16;;;;N;;;;;
+1D55;MODIFIER LETTER SMALL BOTTOM HALF O;Lm;0;L;<super> 1D17;;;;N;;;;;
+1D56;MODIFIER LETTER SMALL P;Lm;0;L;<super> 0070;;;;N;;;;;
+1D57;MODIFIER LETTER SMALL T;Lm;0;L;<super> 0074;;;;N;;;;;
+1D58;MODIFIER LETTER SMALL U;Lm;0;L;<super> 0075;;;;N;;;;;
+1D59;MODIFIER LETTER SMALL SIDEWAYS U;Lm;0;L;<super> 1D1D;;;;N;;;;;
+1D5A;MODIFIER LETTER SMALL TURNED M;Lm;0;L;<super> 026F;;;;N;;;;;
+1D5B;MODIFIER LETTER SMALL V;Lm;0;L;<super> 0076;;;;N;;;;;
+1D5C;MODIFIER LETTER SMALL AIN;Lm;0;L;<super> 1D25;;;;N;;;;;
+1D5D;MODIFIER LETTER SMALL BETA;Lm;0;L;<super> 03B2;;;;N;;;;;
+1D5E;MODIFIER LETTER SMALL GREEK GAMMA;Lm;0;L;<super> 03B3;;;;N;;;;;
+1D5F;MODIFIER LETTER SMALL DELTA;Lm;0;L;<super> 03B4;;;;N;;;;;
+1D60;MODIFIER LETTER SMALL GREEK PHI;Lm;0;L;<super> 03C6;;;;N;;;;;
+1D61;MODIFIER LETTER SMALL CHI;Lm;0;L;<super> 03C7;;;;N;;;;;
+1D62;LATIN SUBSCRIPT SMALL LETTER I;Ll;0;L;<sub> 0069;;;;N;;;;;
+1D63;LATIN SUBSCRIPT SMALL LETTER R;Ll;0;L;<sub> 0072;;;;N;;;;;
+1D64;LATIN SUBSCRIPT SMALL LETTER U;Ll;0;L;<sub> 0075;;;;N;;;;;
+1D65;LATIN SUBSCRIPT SMALL LETTER V;Ll;0;L;<sub> 0076;;;;N;;;;;
+1D66;GREEK SUBSCRIPT SMALL LETTER BETA;Ll;0;L;<sub> 03B2;;;;N;;;;;
+1D67;GREEK SUBSCRIPT SMALL LETTER GAMMA;Ll;0;L;<sub> 03B3;;;;N;;;;;
+1D68;GREEK SUBSCRIPT SMALL LETTER RHO;Ll;0;L;<sub> 03C1;;;;N;;;;;
+1D69;GREEK SUBSCRIPT SMALL LETTER PHI;Ll;0;L;<sub> 03C6;;;;N;;;;;
+1D6A;GREEK SUBSCRIPT SMALL LETTER CHI;Ll;0;L;<sub> 03C7;;;;N;;;;;
+1D6B;LATIN SMALL LETTER UE;Ll;0;L;;;;;N;;;;;
+1D6C;LATIN SMALL LETTER B WITH MIDDLE TILDE;Ll;0;L;;;;;N;;;;;
+1D6D;LATIN SMALL LETTER D WITH MIDDLE TILDE;Ll;0;L;;;;;N;;;;;
+1D6E;LATIN SMALL LETTER F WITH MIDDLE TILDE;Ll;0;L;;;;;N;;;;;
+1D6F;LATIN SMALL LETTER M WITH MIDDLE TILDE;Ll;0;L;;;;;N;;;;;
+1D70;LATIN SMALL LETTER N WITH MIDDLE TILDE;Ll;0;L;;;;;N;;;;;
+1D71;LATIN SMALL LETTER P WITH MIDDLE TILDE;Ll;0;L;;;;;N;;;;;
+1D72;LATIN SMALL LETTER R WITH MIDDLE TILDE;Ll;0;L;;;;;N;;;;;
+1D73;LATIN SMALL LETTER R WITH FISHHOOK AND MIDDLE TILDE;Ll;0;L;;;;;N;;;;;
+1D74;LATIN SMALL LETTER S WITH MIDDLE TILDE;Ll;0;L;;;;;N;;;;;
+1D75;LATIN SMALL LETTER T WITH MIDDLE TILDE;Ll;0;L;;;;;N;;;;;
+1D76;LATIN SMALL LETTER Z WITH MIDDLE TILDE;Ll;0;L;;;;;N;;;;;
+1D77;LATIN SMALL LETTER TURNED G;Ll;0;L;;;;;N;;;;;
+1D78;MODIFIER LETTER CYRILLIC EN;Lm;0;L;<super> 043D;;;;N;;;;;
+1D79;LATIN SMALL LETTER INSULAR G;Ll;0;L;;;;;N;;;;;
+1D7A;LATIN SMALL LETTER TH WITH STRIKETHROUGH;Ll;0;L;;;;;N;;;;;
+1D7B;LATIN SMALL CAPITAL LETTER I WITH STROKE;Ll;0;L;;;;;N;;;;;
+1D7C;LATIN SMALL LETTER IOTA WITH STROKE;Ll;0;L;;;;;N;;;;;
+1D7D;LATIN SMALL LETTER P WITH STROKE;Ll;0;L;;;;;N;;;;;
+1D7E;LATIN SMALL CAPITAL LETTER U WITH STROKE;Ll;0;L;;;;;N;;;;;
+1D7F;LATIN SMALL LETTER UPSILON WITH STROKE;Ll;0;L;;;;;N;;;;;
+1D80;LATIN SMALL LETTER B WITH PALATAL HOOK;Ll;0;L;;;;;N;;;;;
+1D81;LATIN SMALL LETTER D WITH PALATAL HOOK;Ll;0;L;;;;;N;;;;;
+1D82;LATIN SMALL LETTER F WITH PALATAL HOOK;Ll;0;L;;;;;N;;;;;
+1D83;LATIN SMALL LETTER G WITH PALATAL HOOK;Ll;0;L;;;;;N;;;;;
+1D84;LATIN SMALL LETTER K WITH PALATAL HOOK;Ll;0;L;;;;;N;;;;;
+1D85;LATIN SMALL LETTER L WITH PALATAL HOOK;Ll;0;L;;;;;N;;;;;
+1D86;LATIN SMALL LETTER M WITH PALATAL HOOK;Ll;0;L;;;;;N;;;;;
+1D87;LATIN SMALL LETTER N WITH PALATAL HOOK;Ll;0;L;;;;;N;;;;;
+1D88;LATIN SMALL LETTER P WITH PALATAL HOOK;Ll;0;L;;;;;N;;;;;
+1D89;LATIN SMALL LETTER R WITH PALATAL HOOK;Ll;0;L;;;;;N;;;;;
+1D8A;LATIN SMALL LETTER S WITH PALATAL HOOK;Ll;0;L;;;;;N;;;;;
+1D8B;LATIN SMALL LETTER ESH WITH PALATAL HOOK;Ll;0;L;;;;;N;;;;;
+1D8C;LATIN SMALL LETTER V WITH PALATAL HOOK;Ll;0;L;;;;;N;;;;;
+1D8D;LATIN SMALL LETTER X WITH PALATAL HOOK;Ll;0;L;;;;;N;;;;;
+1D8E;LATIN SMALL LETTER Z WITH PALATAL HOOK;Ll;0;L;;;;;N;;;;;
+1D8F;LATIN SMALL LETTER A WITH RETROFLEX HOOK;Ll;0;L;;;;;N;;;;;
+1D90;LATIN SMALL LETTER ALPHA WITH RETROFLEX HOOK;Ll;0;L;;;;;N;;;;;
+1D91;LATIN SMALL LETTER D WITH HOOK AND TAIL;Ll;0;L;;;;;N;;;;;
+1D92;LATIN SMALL LETTER E WITH RETROFLEX HOOK;Ll;0;L;;;;;N;;;;;
+1D93;LATIN SMALL LETTER OPEN E WITH RETROFLEX HOOK;Ll;0;L;;;;;N;;;;;
+1D94;LATIN SMALL LETTER REVERSED OPEN E WITH RETROFLEX HOOK;Ll;0;L;;;;;N;;;;;
+1D95;LATIN SMALL LETTER SCHWA WITH RETROFLEX HOOK;Ll;0;L;;;;;N;;;;;
+1D96;LATIN SMALL LETTER I WITH RETROFLEX HOOK;Ll;0;L;;;;;N;;;;;
+1D97;LATIN SMALL LETTER OPEN O WITH RETROFLEX HOOK;Ll;0;L;;;;;N;;;;;
+1D98;LATIN SMALL LETTER ESH WITH RETROFLEX HOOK;Ll;0;L;;;;;N;;;;;
+1D99;LATIN SMALL LETTER U WITH RETROFLEX HOOK;Ll;0;L;;;;;N;;;;;
+1D9A;LATIN SMALL LETTER EZH WITH RETROFLEX HOOK;Ll;0;L;;;;;N;;;;;
+1D9B;MODIFIER LETTER SMALL TURNED ALPHA;Lm;0;L;<super> 0252;;;;N;;;;;
+1D9C;MODIFIER LETTER SMALL C;Lm;0;L;<super> 0063;;;;N;;;;;
+1D9D;MODIFIER LETTER SMALL C WITH CURL;Lm;0;L;<super> 0255;;;;N;;;;;
+1D9E;MODIFIER LETTER SMALL ETH;Lm;0;L;<super> 00F0;;;;N;;;;;
+1D9F;MODIFIER LETTER SMALL REVERSED OPEN E;Lm;0;L;<super> 025C;;;;N;;;;;
+1DA0;MODIFIER LETTER SMALL F;Lm;0;L;<super> 0066;;;;N;;;;;
+1DA1;MODIFIER LETTER SMALL DOTLESS J WITH STROKE;Lm;0;L;<super> 025F;;;;N;;;;;
+1DA2;MODIFIER LETTER SMALL SCRIPT G;Lm;0;L;<super> 0261;;;;N;;;;;
+1DA3;MODIFIER LETTER SMALL TURNED H;Lm;0;L;<super> 0265;;;;N;;;;;
+1DA4;MODIFIER LETTER SMALL I WITH STROKE;Lm;0;L;<super> 0268;;;;N;;;;;
+1DA5;MODIFIER LETTER SMALL IOTA;Lm;0;L;<super> 0269;;;;N;;;;;
+1DA6;MODIFIER LETTER SMALL CAPITAL I;Lm;0;L;<super> 026A;;;;N;;;;;
+1DA7;MODIFIER LETTER SMALL CAPITAL I WITH STROKE;Lm;0;L;<super> 1D7B;;;;N;;;;;
+1DA8;MODIFIER LETTER SMALL J WITH CROSSED-TAIL;Lm;0;L;<super> 029D;;;;N;;;;;
+1DA9;MODIFIER LETTER SMALL L WITH RETROFLEX HOOK;Lm;0;L;<super> 026D;;;;N;;;;;
+1DAA;MODIFIER LETTER SMALL L WITH PALATAL HOOK;Lm;0;L;<super> 1D85;;;;N;;;;;
+1DAB;MODIFIER LETTER SMALL CAPITAL L;Lm;0;L;<super> 029F;;;;N;;;;;
+1DAC;MODIFIER LETTER SMALL M WITH HOOK;Lm;0;L;<super> 0271;;;;N;;;;;
+1DAD;MODIFIER LETTER SMALL TURNED M WITH LONG LEG;Lm;0;L;<super> 0270;;;;N;;;;;
+1DAE;MODIFIER LETTER SMALL N WITH LEFT HOOK;Lm;0;L;<super> 0272;;;;N;;;;;
+1DAF;MODIFIER LETTER SMALL N WITH RETROFLEX HOOK;Lm;0;L;<super> 0273;;;;N;;;;;
+1DB0;MODIFIER LETTER SMALL CAPITAL N;Lm;0;L;<super> 0274;;;;N;;;;;
+1DB1;MODIFIER LETTER SMALL BARRED O;Lm;0;L;<super> 0275;;;;N;;;;;
+1DB2;MODIFIER LETTER SMALL PHI;Lm;0;L;<super> 0278;;;;N;;;;;
+1DB3;MODIFIER LETTER SMALL S WITH HOOK;Lm;0;L;<super> 0282;;;;N;;;;;
+1DB4;MODIFIER LETTER SMALL ESH;Lm;0;L;<super> 0283;;;;N;;;;;
+1DB5;MODIFIER LETTER SMALL T WITH PALATAL HOOK;Lm;0;L;<super> 01AB;;;;N;;;;;
+1DB6;MODIFIER LETTER SMALL U BAR;Lm;0;L;<super> 0289;;;;N;;;;;
+1DB7;MODIFIER LETTER SMALL UPSILON;Lm;0;L;<super> 028A;;;;N;;;;;
+1DB8;MODIFIER LETTER SMALL CAPITAL U;Lm;0;L;<super> 1D1C;;;;N;;;;;
+1DB9;MODIFIER LETTER SMALL V WITH HOOK;Lm;0;L;<super> 028B;;;;N;;;;;
+1DBA;MODIFIER LETTER SMALL TURNED V;Lm;0;L;<super> 028C;;;;N;;;;;
+1DBB;MODIFIER LETTER SMALL Z;Lm;0;L;<super> 007A;;;;N;;;;;
+1DBC;MODIFIER LETTER SMALL Z WITH RETROFLEX HOOK;Lm;0;L;<super> 0290;;;;N;;;;;
+1DBD;MODIFIER LETTER SMALL Z WITH CURL;Lm;0;L;<super> 0291;;;;N;;;;;
+1DBE;MODIFIER LETTER SMALL EZH;Lm;0;L;<super> 0292;;;;N;;;;;
+1DBF;MODIFIER LETTER SMALL THETA;Lm;0;L;<super> 03B8;;;;N;;;;;
+1DC0;COMBINING DOTTED GRAVE ACCENT;Mn;230;NSM;;;;;N;;;;;
+1DC1;COMBINING DOTTED ACUTE ACCENT;Mn;230;NSM;;;;;N;;;;;
+1DC2;COMBINING SNAKE BELOW;Mn;220;NSM;;;;;N;;;;;
+1DC3;COMBINING SUSPENSION MARK;Mn;230;NSM;;;;;N;;;;;
+1E00;LATIN CAPITAL LETTER A WITH RING BELOW;Lu;0;L;0041 0325;;;;N;;;;1E01;
+1E01;LATIN SMALL LETTER A WITH RING BELOW;Ll;0;L;0061 0325;;;;N;;;1E00;;1E00
+1E02;LATIN CAPITAL LETTER B WITH DOT ABOVE;Lu;0;L;0042 0307;;;;N;;;;1E03;
+1E03;LATIN SMALL LETTER B WITH DOT ABOVE;Ll;0;L;0062 0307;;;;N;;;1E02;;1E02
+1E04;LATIN CAPITAL LETTER B WITH DOT BELOW;Lu;0;L;0042 0323;;;;N;;;;1E05;
+1E05;LATIN SMALL LETTER B WITH DOT BELOW;Ll;0;L;0062 0323;;;;N;;;1E04;;1E04
+1E06;LATIN CAPITAL LETTER B WITH LINE BELOW;Lu;0;L;0042 0331;;;;N;;;;1E07;
+1E07;LATIN SMALL LETTER B WITH LINE BELOW;Ll;0;L;0062 0331;;;;N;;;1E06;;1E06
+1E08;LATIN CAPITAL LETTER C WITH CEDILLA AND ACUTE;Lu;0;L;00C7 0301;;;;N;;;;1E09;
+1E09;LATIN SMALL LETTER C WITH CEDILLA AND ACUTE;Ll;0;L;00E7 0301;;;;N;;;1E08;;1E08
+1E0A;LATIN CAPITAL LETTER D WITH DOT ABOVE;Lu;0;L;0044 0307;;;;N;;;;1E0B;
+1E0B;LATIN SMALL LETTER D WITH DOT ABOVE;Ll;0;L;0064 0307;;;;N;;;1E0A;;1E0A
+1E0C;LATIN CAPITAL LETTER D WITH DOT BELOW;Lu;0;L;0044 0323;;;;N;;;;1E0D;
+1E0D;LATIN SMALL LETTER D WITH DOT BELOW;Ll;0;L;0064 0323;;;;N;;;1E0C;;1E0C
+1E0E;LATIN CAPITAL LETTER D WITH LINE BELOW;Lu;0;L;0044 0331;;;;N;;;;1E0F;
+1E0F;LATIN SMALL LETTER D WITH LINE BELOW;Ll;0;L;0064 0331;;;;N;;;1E0E;;1E0E
+1E10;LATIN CAPITAL LETTER D WITH CEDILLA;Lu;0;L;0044 0327;;;;N;;;;1E11;
+1E11;LATIN SMALL LETTER D WITH CEDILLA;Ll;0;L;0064 0327;;;;N;;;1E10;;1E10
+1E12;LATIN CAPITAL LETTER D WITH CIRCUMFLEX BELOW;Lu;0;L;0044 032D;;;;N;;;;1E13;
+1E13;LATIN SMALL LETTER D WITH CIRCUMFLEX BELOW;Ll;0;L;0064 032D;;;;N;;;1E12;;1E12
+1E14;LATIN CAPITAL LETTER E WITH MACRON AND GRAVE;Lu;0;L;0112 0300;;;;N;;;;1E15;
+1E15;LATIN SMALL LETTER E WITH MACRON AND GRAVE;Ll;0;L;0113 0300;;;;N;;;1E14;;1E14
+1E16;LATIN CAPITAL LETTER E WITH MACRON AND ACUTE;Lu;0;L;0112 0301;;;;N;;;;1E17;
+1E17;LATIN SMALL LETTER E WITH MACRON AND ACUTE;Ll;0;L;0113 0301;;;;N;;;1E16;;1E16
+1E18;LATIN CAPITAL LETTER E WITH CIRCUMFLEX BELOW;Lu;0;L;0045 032D;;;;N;;;;1E19;
+1E19;LATIN SMALL LETTER E WITH CIRCUMFLEX BELOW;Ll;0;L;0065 032D;;;;N;;;1E18;;1E18
+1E1A;LATIN CAPITAL LETTER E WITH TILDE BELOW;Lu;0;L;0045 0330;;;;N;;;;1E1B;
+1E1B;LATIN SMALL LETTER E WITH TILDE BELOW;Ll;0;L;0065 0330;;;;N;;;1E1A;;1E1A
+1E1C;LATIN CAPITAL LETTER E WITH CEDILLA AND BREVE;Lu;0;L;0228 0306;;;;N;;;;1E1D;
+1E1D;LATIN SMALL LETTER E WITH CEDILLA AND BREVE;Ll;0;L;0229 0306;;;;N;;;1E1C;;1E1C
+1E1E;LATIN CAPITAL LETTER F WITH DOT ABOVE;Lu;0;L;0046 0307;;;;N;;;;1E1F;
+1E1F;LATIN SMALL LETTER F WITH DOT ABOVE;Ll;0;L;0066 0307;;;;N;;;1E1E;;1E1E
+1E20;LATIN CAPITAL LETTER G WITH MACRON;Lu;0;L;0047 0304;;;;N;;;;1E21;
+1E21;LATIN SMALL LETTER G WITH MACRON;Ll;0;L;0067 0304;;;;N;;;1E20;;1E20
+1E22;LATIN CAPITAL LETTER H WITH DOT ABOVE;Lu;0;L;0048 0307;;;;N;;;;1E23;
+1E23;LATIN SMALL LETTER H WITH DOT ABOVE;Ll;0;L;0068 0307;;;;N;;;1E22;;1E22
+1E24;LATIN CAPITAL LETTER H WITH DOT BELOW;Lu;0;L;0048 0323;;;;N;;;;1E25;
+1E25;LATIN SMALL LETTER H WITH DOT BELOW;Ll;0;L;0068 0323;;;;N;;;1E24;;1E24
+1E26;LATIN CAPITAL LETTER H WITH DIAERESIS;Lu;0;L;0048 0308;;;;N;;;;1E27;
+1E27;LATIN SMALL LETTER H WITH DIAERESIS;Ll;0;L;0068 0308;;;;N;;;1E26;;1E26
+1E28;LATIN CAPITAL LETTER H WITH CEDILLA;Lu;0;L;0048 0327;;;;N;;;;1E29;
+1E29;LATIN SMALL LETTER H WITH CEDILLA;Ll;0;L;0068 0327;;;;N;;;1E28;;1E28
+1E2A;LATIN CAPITAL LETTER H WITH BREVE BELOW;Lu;0;L;0048 032E;;;;N;;;;1E2B;
+1E2B;LATIN SMALL LETTER H WITH BREVE BELOW;Ll;0;L;0068 032E;;;;N;;;1E2A;;1E2A
+1E2C;LATIN CAPITAL LETTER I WITH TILDE BELOW;Lu;0;L;0049 0330;;;;N;;;;1E2D;
+1E2D;LATIN SMALL LETTER I WITH TILDE BELOW;Ll;0;L;0069 0330;;;;N;;;1E2C;;1E2C
+1E2E;LATIN CAPITAL LETTER I WITH DIAERESIS AND ACUTE;Lu;0;L;00CF 0301;;;;N;;;;1E2F;
+1E2F;LATIN SMALL LETTER I WITH DIAERESIS AND ACUTE;Ll;0;L;00EF 0301;;;;N;;;1E2E;;1E2E
+1E30;LATIN CAPITAL LETTER K WITH ACUTE;Lu;0;L;004B 0301;;;;N;;;;1E31;
+1E31;LATIN SMALL LETTER K WITH ACUTE;Ll;0;L;006B 0301;;;;N;;;1E30;;1E30
+1E32;LATIN CAPITAL LETTER K WITH DOT BELOW;Lu;0;L;004B 0323;;;;N;;;;1E33;
+1E33;LATIN SMALL LETTER K WITH DOT BELOW;Ll;0;L;006B 0323;;;;N;;;1E32;;1E32
+1E34;LATIN CAPITAL LETTER K WITH LINE BELOW;Lu;0;L;004B 0331;;;;N;;;;1E35;
+1E35;LATIN SMALL LETTER K WITH LINE BELOW;Ll;0;L;006B 0331;;;;N;;;1E34;;1E34
+1E36;LATIN CAPITAL LETTER L WITH DOT BELOW;Lu;0;L;004C 0323;;;;N;;;;1E37;
+1E37;LATIN SMALL LETTER L WITH DOT BELOW;Ll;0;L;006C 0323;;;;N;;;1E36;;1E36
+1E38;LATIN CAPITAL LETTER L WITH DOT BELOW AND MACRON;Lu;0;L;1E36 0304;;;;N;;;;1E39;
+1E39;LATIN SMALL LETTER L WITH DOT BELOW AND MACRON;Ll;0;L;1E37 0304;;;;N;;;1E38;;1E38
+1E3A;LATIN CAPITAL LETTER L WITH LINE BELOW;Lu;0;L;004C 0331;;;;N;;;;1E3B;
+1E3B;LATIN SMALL LETTER L WITH LINE BELOW;Ll;0;L;006C 0331;;;;N;;;1E3A;;1E3A
+1E3C;LATIN CAPITAL LETTER L WITH CIRCUMFLEX BELOW;Lu;0;L;004C 032D;;;;N;;;;1E3D;
+1E3D;LATIN SMALL LETTER L WITH CIRCUMFLEX BELOW;Ll;0;L;006C 032D;;;;N;;;1E3C;;1E3C
+1E3E;LATIN CAPITAL LETTER M WITH ACUTE;Lu;0;L;004D 0301;;;;N;;;;1E3F;
+1E3F;LATIN SMALL LETTER M WITH ACUTE;Ll;0;L;006D 0301;;;;N;;;1E3E;;1E3E
+1E40;LATIN CAPITAL LETTER M WITH DOT ABOVE;Lu;0;L;004D 0307;;;;N;;;;1E41;
+1E41;LATIN SMALL LETTER M WITH DOT ABOVE;Ll;0;L;006D 0307;;;;N;;;1E40;;1E40
+1E42;LATIN CAPITAL LETTER M WITH DOT BELOW;Lu;0;L;004D 0323;;;;N;;;;1E43;
+1E43;LATIN SMALL LETTER M WITH DOT BELOW;Ll;0;L;006D 0323;;;;N;;;1E42;;1E42
+1E44;LATIN CAPITAL LETTER N WITH DOT ABOVE;Lu;0;L;004E 0307;;;;N;;;;1E45;
+1E45;LATIN SMALL LETTER N WITH DOT ABOVE;Ll;0;L;006E 0307;;;;N;;;1E44;;1E44
+1E46;LATIN CAPITAL LETTER N WITH DOT BELOW;Lu;0;L;004E 0323;;;;N;;;;1E47;
+1E47;LATIN SMALL LETTER N WITH DOT BELOW;Ll;0;L;006E 0323;;;;N;;;1E46;;1E46
+1E48;LATIN CAPITAL LETTER N WITH LINE BELOW;Lu;0;L;004E 0331;;;;N;;;;1E49;
+1E49;LATIN SMALL LETTER N WITH LINE BELOW;Ll;0;L;006E 0331;;;;N;;;1E48;;1E48
+1E4A;LATIN CAPITAL LETTER N WITH CIRCUMFLEX BELOW;Lu;0;L;004E 032D;;;;N;;;;1E4B;
+1E4B;LATIN SMALL LETTER N WITH CIRCUMFLEX BELOW;Ll;0;L;006E 032D;;;;N;;;1E4A;;1E4A
+1E4C;LATIN CAPITAL LETTER O WITH TILDE AND ACUTE;Lu;0;L;00D5 0301;;;;N;;;;1E4D;
+1E4D;LATIN SMALL LETTER O WITH TILDE AND ACUTE;Ll;0;L;00F5 0301;;;;N;;;1E4C;;1E4C
+1E4E;LATIN CAPITAL LETTER O WITH TILDE AND DIAERESIS;Lu;0;L;00D5 0308;;;;N;;;;1E4F;
+1E4F;LATIN SMALL LETTER O WITH TILDE AND DIAERESIS;Ll;0;L;00F5 0308;;;;N;;;1E4E;;1E4E
+1E50;LATIN CAPITAL LETTER O WITH MACRON AND GRAVE;Lu;0;L;014C 0300;;;;N;;;;1E51;
+1E51;LATIN SMALL LETTER O WITH MACRON AND GRAVE;Ll;0;L;014D 0300;;;;N;;;1E50;;1E50
+1E52;LATIN CAPITAL LETTER O WITH MACRON AND ACUTE;Lu;0;L;014C 0301;;;;N;;;;1E53;
+1E53;LATIN SMALL LETTER O WITH MACRON AND ACUTE;Ll;0;L;014D 0301;;;;N;;;1E52;;1E52
+1E54;LATIN CAPITAL LETTER P WITH ACUTE;Lu;0;L;0050 0301;;;;N;;;;1E55;
+1E55;LATIN SMALL LETTER P WITH ACUTE;Ll;0;L;0070 0301;;;;N;;;1E54;;1E54
+1E56;LATIN CAPITAL LETTER P WITH DOT ABOVE;Lu;0;L;0050 0307;;;;N;;;;1E57;
+1E57;LATIN SMALL LETTER P WITH DOT ABOVE;Ll;0;L;0070 0307;;;;N;;;1E56;;1E56
+1E58;LATIN CAPITAL LETTER R WITH DOT ABOVE;Lu;0;L;0052 0307;;;;N;;;;1E59;
+1E59;LATIN SMALL LETTER R WITH DOT ABOVE;Ll;0;L;0072 0307;;;;N;;;1E58;;1E58
+1E5A;LATIN CAPITAL LETTER R WITH DOT BELOW;Lu;0;L;0052 0323;;;;N;;;;1E5B;
+1E5B;LATIN SMALL LETTER R WITH DOT BELOW;Ll;0;L;0072 0323;;;;N;;;1E5A;;1E5A
+1E5C;LATIN CAPITAL LETTER R WITH DOT BELOW AND MACRON;Lu;0;L;1E5A 0304;;;;N;;;;1E5D;
+1E5D;LATIN SMALL LETTER R WITH DOT BELOW AND MACRON;Ll;0;L;1E5B 0304;;;;N;;;1E5C;;1E5C
+1E5E;LATIN CAPITAL LETTER R WITH LINE BELOW;Lu;0;L;0052 0331;;;;N;;;;1E5F;
+1E5F;LATIN SMALL LETTER R WITH LINE BELOW;Ll;0;L;0072 0331;;;;N;;;1E5E;;1E5E
+1E60;LATIN CAPITAL LETTER S WITH DOT ABOVE;Lu;0;L;0053 0307;;;;N;;;;1E61;
+1E61;LATIN SMALL LETTER S WITH DOT ABOVE;Ll;0;L;0073 0307;;;;N;;;1E60;;1E60
+1E62;LATIN CAPITAL LETTER S WITH DOT BELOW;Lu;0;L;0053 0323;;;;N;;;;1E63;
+1E63;LATIN SMALL LETTER S WITH DOT BELOW;Ll;0;L;0073 0323;;;;N;;;1E62;;1E62
+1E64;LATIN CAPITAL LETTER S WITH ACUTE AND DOT ABOVE;Lu;0;L;015A 0307;;;;N;;;;1E65;
+1E65;LATIN SMALL LETTER S WITH ACUTE AND DOT ABOVE;Ll;0;L;015B 0307;;;;N;;;1E64;;1E64
+1E66;LATIN CAPITAL LETTER S WITH CARON AND DOT ABOVE;Lu;0;L;0160 0307;;;;N;;;;1E67;
+1E67;LATIN SMALL LETTER S WITH CARON AND DOT ABOVE;Ll;0;L;0161 0307;;;;N;;;1E66;;1E66
+1E68;LATIN CAPITAL LETTER S WITH DOT BELOW AND DOT ABOVE;Lu;0;L;1E62 0307;;;;N;;;;1E69;
+1E69;LATIN SMALL LETTER S WITH DOT BELOW AND DOT ABOVE;Ll;0;L;1E63 0307;;;;N;;;1E68;;1E68
+1E6A;LATIN CAPITAL LETTER T WITH DOT ABOVE;Lu;0;L;0054 0307;;;;N;;;;1E6B;
+1E6B;LATIN SMALL LETTER T WITH DOT ABOVE;Ll;0;L;0074 0307;;;;N;;;1E6A;;1E6A
+1E6C;LATIN CAPITAL LETTER T WITH DOT BELOW;Lu;0;L;0054 0323;;;;N;;;;1E6D;
+1E6D;LATIN SMALL LETTER T WITH DOT BELOW;Ll;0;L;0074 0323;;;;N;;;1E6C;;1E6C
+1E6E;LATIN CAPITAL LETTER T WITH LINE BELOW;Lu;0;L;0054 0331;;;;N;;;;1E6F;
+1E6F;LATIN SMALL LETTER T WITH LINE BELOW;Ll;0;L;0074 0331;;;;N;;;1E6E;;1E6E
+1E70;LATIN CAPITAL LETTER T WITH CIRCUMFLEX BELOW;Lu;0;L;0054 032D;;;;N;;;;1E71;
+1E71;LATIN SMALL LETTER T WITH CIRCUMFLEX BELOW;Ll;0;L;0074 032D;;;;N;;;1E70;;1E70
+1E72;LATIN CAPITAL LETTER U WITH DIAERESIS BELOW;Lu;0;L;0055 0324;;;;N;;;;1E73;
+1E73;LATIN SMALL LETTER U WITH DIAERESIS BELOW;Ll;0;L;0075 0324;;;;N;;;1E72;;1E72
+1E74;LATIN CAPITAL LETTER U WITH TILDE BELOW;Lu;0;L;0055 0330;;;;N;;;;1E75;
+1E75;LATIN SMALL LETTER U WITH TILDE BELOW;Ll;0;L;0075 0330;;;;N;;;1E74;;1E74
+1E76;LATIN CAPITAL LETTER U WITH CIRCUMFLEX BELOW;Lu;0;L;0055 032D;;;;N;;;;1E77;
+1E77;LATIN SMALL LETTER U WITH CIRCUMFLEX BELOW;Ll;0;L;0075 032D;;;;N;;;1E76;;1E76
+1E78;LATIN CAPITAL LETTER U WITH TILDE AND ACUTE;Lu;0;L;0168 0301;;;;N;;;;1E79;
+1E79;LATIN SMALL LETTER U WITH TILDE AND ACUTE;Ll;0;L;0169 0301;;;;N;;;1E78;;1E78
+1E7A;LATIN CAPITAL LETTER U WITH MACRON AND DIAERESIS;Lu;0;L;016A 0308;;;;N;;;;1E7B;
+1E7B;LATIN SMALL LETTER U WITH MACRON AND DIAERESIS;Ll;0;L;016B 0308;;;;N;;;1E7A;;1E7A
+1E7C;LATIN CAPITAL LETTER V WITH TILDE;Lu;0;L;0056 0303;;;;N;;;;1E7D;
+1E7D;LATIN SMALL LETTER V WITH TILDE;Ll;0;L;0076 0303;;;;N;;;1E7C;;1E7C
+1E7E;LATIN CAPITAL LETTER V WITH DOT BELOW;Lu;0;L;0056 0323;;;;N;;;;1E7F;
+1E7F;LATIN SMALL LETTER V WITH DOT BELOW;Ll;0;L;0076 0323;;;;N;;;1E7E;;1E7E
+1E80;LATIN CAPITAL LETTER W WITH GRAVE;Lu;0;L;0057 0300;;;;N;;;;1E81;
+1E81;LATIN SMALL LETTER W WITH GRAVE;Ll;0;L;0077 0300;;;;N;;;1E80;;1E80
+1E82;LATIN CAPITAL LETTER W WITH ACUTE;Lu;0;L;0057 0301;;;;N;;;;1E83;
+1E83;LATIN SMALL LETTER W WITH ACUTE;Ll;0;L;0077 0301;;;;N;;;1E82;;1E82
+1E84;LATIN CAPITAL LETTER W WITH DIAERESIS;Lu;0;L;0057 0308;;;;N;;;;1E85;
+1E85;LATIN SMALL LETTER W WITH DIAERESIS;Ll;0;L;0077 0308;;;;N;;;1E84;;1E84
+1E86;LATIN CAPITAL LETTER W WITH DOT ABOVE;Lu;0;L;0057 0307;;;;N;;;;1E87;
+1E87;LATIN SMALL LETTER W WITH DOT ABOVE;Ll;0;L;0077 0307;;;;N;;;1E86;;1E86
+1E88;LATIN CAPITAL LETTER W WITH DOT BELOW;Lu;0;L;0057 0323;;;;N;;;;1E89;
+1E89;LATIN SMALL LETTER W WITH DOT BELOW;Ll;0;L;0077 0323;;;;N;;;1E88;;1E88
+1E8A;LATIN CAPITAL LETTER X WITH DOT ABOVE;Lu;0;L;0058 0307;;;;N;;;;1E8B;
+1E8B;LATIN SMALL LETTER X WITH DOT ABOVE;Ll;0;L;0078 0307;;;;N;;;1E8A;;1E8A
+1E8C;LATIN CAPITAL LETTER X WITH DIAERESIS;Lu;0;L;0058 0308;;;;N;;;;1E8D;
+1E8D;LATIN SMALL LETTER X WITH DIAERESIS;Ll;0;L;0078 0308;;;;N;;;1E8C;;1E8C
+1E8E;LATIN CAPITAL LETTER Y WITH DOT ABOVE;Lu;0;L;0059 0307;;;;N;;;;1E8F;
+1E8F;LATIN SMALL LETTER Y WITH DOT ABOVE;Ll;0;L;0079 0307;;;;N;;;1E8E;;1E8E
+1E90;LATIN CAPITAL LETTER Z WITH CIRCUMFLEX;Lu;0;L;005A 0302;;;;N;;;;1E91;
+1E91;LATIN SMALL LETTER Z WITH CIRCUMFLEX;Ll;0;L;007A 0302;;;;N;;;1E90;;1E90
+1E92;LATIN CAPITAL LETTER Z WITH DOT BELOW;Lu;0;L;005A 0323;;;;N;;;;1E93;
+1E93;LATIN SMALL LETTER Z WITH DOT BELOW;Ll;0;L;007A 0323;;;;N;;;1E92;;1E92
+1E94;LATIN CAPITAL LETTER Z WITH LINE BELOW;Lu;0;L;005A 0331;;;;N;;;;1E95;
+1E95;LATIN SMALL LETTER Z WITH LINE BELOW;Ll;0;L;007A 0331;;;;N;;;1E94;;1E94
+1E96;LATIN SMALL LETTER H WITH LINE BELOW;Ll;0;L;0068 0331;;;;N;;;;;
+1E97;LATIN SMALL LETTER T WITH DIAERESIS;Ll;0;L;0074 0308;;;;N;;;;;
+1E98;LATIN SMALL LETTER W WITH RING ABOVE;Ll;0;L;0077 030A;;;;N;;;;;
+1E99;LATIN SMALL LETTER Y WITH RING ABOVE;Ll;0;L;0079 030A;;;;N;;;;;
+1E9A;LATIN SMALL LETTER A WITH RIGHT HALF RING;Ll;0;L;<compat> 0061 02BE;;;;N;;;;;
+1E9B;LATIN SMALL LETTER LONG S WITH DOT ABOVE;Ll;0;L;017F 0307;;;;N;;;1E60;;1E60
+1EA0;LATIN CAPITAL LETTER A WITH DOT BELOW;Lu;0;L;0041 0323;;;;N;;;;1EA1;
+1EA1;LATIN SMALL LETTER A WITH DOT BELOW;Ll;0;L;0061 0323;;;;N;;;1EA0;;1EA0
+1EA2;LATIN CAPITAL LETTER A WITH HOOK ABOVE;Lu;0;L;0041 0309;;;;N;;;;1EA3;
+1EA3;LATIN SMALL LETTER A WITH HOOK ABOVE;Ll;0;L;0061 0309;;;;N;;;1EA2;;1EA2
+1EA4;LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND ACUTE;Lu;0;L;00C2 0301;;;;N;;;;1EA5;
+1EA5;LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE;Ll;0;L;00E2 0301;;;;N;;;1EA4;;1EA4
+1EA6;LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND GRAVE;Lu;0;L;00C2 0300;;;;N;;;;1EA7;
+1EA7;LATIN SMALL LETTER A WITH CIRCUMFLEX AND GRAVE;Ll;0;L;00E2 0300;;;;N;;;1EA6;;1EA6
+1EA8;LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE;Lu;0;L;00C2 0309;;;;N;;;;1EA9;
+1EA9;LATIN SMALL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE;Ll;0;L;00E2 0309;;;;N;;;1EA8;;1EA8
+1EAA;LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND TILDE;Lu;0;L;00C2 0303;;;;N;;;;1EAB;
+1EAB;LATIN SMALL LETTER A WITH CIRCUMFLEX AND TILDE;Ll;0;L;00E2 0303;;;;N;;;1EAA;;1EAA
+1EAC;LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND DOT BELOW;Lu;0;L;1EA0 0302;;;;N;;;;1EAD;
+1EAD;LATIN SMALL LETTER A WITH CIRCUMFLEX AND DOT BELOW;Ll;0;L;1EA1 0302;;;;N;;;1EAC;;1EAC
+1EAE;LATIN CAPITAL LETTER A WITH BREVE AND ACUTE;Lu;0;L;0102 0301;;;;N;;;;1EAF;
+1EAF;LATIN SMALL LETTER A WITH BREVE AND ACUTE;Ll;0;L;0103 0301;;;;N;;;1EAE;;1EAE
+1EB0;LATIN CAPITAL LETTER A WITH BREVE AND GRAVE;Lu;0;L;0102 0300;;;;N;;;;1EB1;
+1EB1;LATIN SMALL LETTER A WITH BREVE AND GRAVE;Ll;0;L;0103 0300;;;;N;;;1EB0;;1EB0
+1EB2;LATIN CAPITAL LETTER A WITH BREVE AND HOOK ABOVE;Lu;0;L;0102 0309;;;;N;;;;1EB3;
+1EB3;LATIN SMALL LETTER A WITH BREVE AND HOOK ABOVE;Ll;0;L;0103 0309;;;;N;;;1EB2;;1EB2
+1EB4;LATIN CAPITAL LETTER A WITH BREVE AND TILDE;Lu;0;L;0102 0303;;;;N;;;;1EB5;
+1EB5;LATIN SMALL LETTER A WITH BREVE AND TILDE;Ll;0;L;0103 0303;;;;N;;;1EB4;;1EB4
+1EB6;LATIN CAPITAL LETTER A WITH BREVE AND DOT BELOW;Lu;0;L;1EA0 0306;;;;N;;;;1EB7;
+1EB7;LATIN SMALL LETTER A WITH BREVE AND DOT BELOW;Ll;0;L;1EA1 0306;;;;N;;;1EB6;;1EB6
+1EB8;LATIN CAPITAL LETTER E WITH DOT BELOW;Lu;0;L;0045 0323;;;;N;;;;1EB9;
+1EB9;LATIN SMALL LETTER E WITH DOT BELOW;Ll;0;L;0065 0323;;;;N;;;1EB8;;1EB8
+1EBA;LATIN CAPITAL LETTER E WITH HOOK ABOVE;Lu;0;L;0045 0309;;;;N;;;;1EBB;
+1EBB;LATIN SMALL LETTER E WITH HOOK ABOVE;Ll;0;L;0065 0309;;;;N;;;1EBA;;1EBA
+1EBC;LATIN CAPITAL LETTER E WITH TILDE;Lu;0;L;0045 0303;;;;N;;;;1EBD;
+1EBD;LATIN SMALL LETTER E WITH TILDE;Ll;0;L;0065 0303;;;;N;;;1EBC;;1EBC
+1EBE;LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE;Lu;0;L;00CA 0301;;;;N;;;;1EBF;
+1EBF;LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE;Ll;0;L;00EA 0301;;;;N;;;1EBE;;1EBE
+1EC0;LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE;Lu;0;L;00CA 0300;;;;N;;;;1EC1;
+1EC1;LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE;Ll;0;L;00EA 0300;;;;N;;;1EC0;;1EC0
+1EC2;LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE;Lu;0;L;00CA 0309;;;;N;;;;1EC3;
+1EC3;LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE;Ll;0;L;00EA 0309;;;;N;;;1EC2;;1EC2
+1EC4;LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE;Lu;0;L;00CA 0303;;;;N;;;;1EC5;
+1EC5;LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE;Ll;0;L;00EA 0303;;;;N;;;1EC4;;1EC4
+1EC6;LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW;Lu;0;L;1EB8 0302;;;;N;;;;1EC7;
+1EC7;LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW;Ll;0;L;1EB9 0302;;;;N;;;1EC6;;1EC6
+1EC8;LATIN CAPITAL LETTER I WITH HOOK ABOVE;Lu;0;L;0049 0309;;;;N;;;;1EC9;
+1EC9;LATIN SMALL LETTER I WITH HOOK ABOVE;Ll;0;L;0069 0309;;;;N;;;1EC8;;1EC8
+1ECA;LATIN CAPITAL LETTER I WITH DOT BELOW;Lu;0;L;0049 0323;;;;N;;;;1ECB;
+1ECB;LATIN SMALL LETTER I WITH DOT BELOW;Ll;0;L;0069 0323;;;;N;;;1ECA;;1ECA
+1ECC;LATIN CAPITAL LETTER O WITH DOT BELOW;Lu;0;L;004F 0323;;;;N;;;;1ECD;
+1ECD;LATIN SMALL LETTER O WITH DOT BELOW;Ll;0;L;006F 0323;;;;N;;;1ECC;;1ECC
+1ECE;LATIN CAPITAL LETTER O WITH HOOK ABOVE;Lu;0;L;004F 0309;;;;N;;;;1ECF;
+1ECF;LATIN SMALL LETTER O WITH HOOK ABOVE;Ll;0;L;006F 0309;;;;N;;;1ECE;;1ECE
+1ED0;LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE;Lu;0;L;00D4 0301;;;;N;;;;1ED1;
+1ED1;LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE;Ll;0;L;00F4 0301;;;;N;;;1ED0;;1ED0
+1ED2;LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE;Lu;0;L;00D4 0300;;;;N;;;;1ED3;
+1ED3;LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE;Ll;0;L;00F4 0300;;;;N;;;1ED2;;1ED2
+1ED4;LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE;Lu;0;L;00D4 0309;;;;N;;;;1ED5;
+1ED5;LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE;Ll;0;L;00F4 0309;;;;N;;;1ED4;;1ED4
+1ED6;LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE;Lu;0;L;00D4 0303;;;;N;;;;1ED7;
+1ED7;LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE;Ll;0;L;00F4 0303;;;;N;;;1ED6;;1ED6
+1ED8;LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW;Lu;0;L;1ECC 0302;;;;N;;;;1ED9;
+1ED9;LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW;Ll;0;L;1ECD 0302;;;;N;;;1ED8;;1ED8
+1EDA;LATIN CAPITAL LETTER O WITH HORN AND ACUTE;Lu;0;L;01A0 0301;;;;N;;;;1EDB;
+1EDB;LATIN SMALL LETTER O WITH HORN AND ACUTE;Ll;0;L;01A1 0301;;;;N;;;1EDA;;1EDA
+1EDC;LATIN CAPITAL LETTER O WITH HORN AND GRAVE;Lu;0;L;01A0 0300;;;;N;;;;1EDD;
+1EDD;LATIN SMALL LETTER O WITH HORN AND GRAVE;Ll;0;L;01A1 0300;;;;N;;;1EDC;;1EDC
+1EDE;LATIN CAPITAL LETTER O WITH HORN AND HOOK ABOVE;Lu;0;L;01A0 0309;;;;N;;;;1EDF;
+1EDF;LATIN SMALL LETTER O WITH HORN AND HOOK ABOVE;Ll;0;L;01A1 0309;;;;N;;;1EDE;;1EDE
+1EE0;LATIN CAPITAL LETTER O WITH HORN AND TILDE;Lu;0;L;01A0 0303;;;;N;;;;1EE1;
+1EE1;LATIN SMALL LETTER O WITH HORN AND TILDE;Ll;0;L;01A1 0303;;;;N;;;1EE0;;1EE0
+1EE2;LATIN CAPITAL LETTER O WITH HORN AND DOT BELOW;Lu;0;L;01A0 0323;;;;N;;;;1EE3;
+1EE3;LATIN SMALL LETTER O WITH HORN AND DOT BELOW;Ll;0;L;01A1 0323;;;;N;;;1EE2;;1EE2
+1EE4;LATIN CAPITAL LETTER U WITH DOT BELOW;Lu;0;L;0055 0323;;;;N;;;;1EE5;
+1EE5;LATIN SMALL LETTER U WITH DOT BELOW;Ll;0;L;0075 0323;;;;N;;;1EE4;;1EE4
+1EE6;LATIN CAPITAL LETTER U WITH HOOK ABOVE;Lu;0;L;0055 0309;;;;N;;;;1EE7;
+1EE7;LATIN SMALL LETTER U WITH HOOK ABOVE;Ll;0;L;0075 0309;;;;N;;;1EE6;;1EE6
+1EE8;LATIN CAPITAL LETTER U WITH HORN AND ACUTE;Lu;0;L;01AF 0301;;;;N;;;;1EE9;
+1EE9;LATIN SMALL LETTER U WITH HORN AND ACUTE;Ll;0;L;01B0 0301;;;;N;;;1EE8;;1EE8
+1EEA;LATIN CAPITAL LETTER U WITH HORN AND GRAVE;Lu;0;L;01AF 0300;;;;N;;;;1EEB;
+1EEB;LATIN SMALL LETTER U WITH HORN AND GRAVE;Ll;0;L;01B0 0300;;;;N;;;1EEA;;1EEA
+1EEC;LATIN CAPITAL LETTER U WITH HORN AND HOOK ABOVE;Lu;0;L;01AF 0309;;;;N;;;;1EED;
+1EED;LATIN SMALL LETTER U WITH HORN AND HOOK ABOVE;Ll;0;L;01B0 0309;;;;N;;;1EEC;;1EEC
+1EEE;LATIN CAPITAL LETTER U WITH HORN AND TILDE;Lu;0;L;01AF 0303;;;;N;;;;1EEF;
+1EEF;LATIN SMALL LETTER U WITH HORN AND TILDE;Ll;0;L;01B0 0303;;;;N;;;1EEE;;1EEE
+1EF0;LATIN CAPITAL LETTER U WITH HORN AND DOT BELOW;Lu;0;L;01AF 0323;;;;N;;;;1EF1;
+1EF1;LATIN SMALL LETTER U WITH HORN AND DOT BELOW;Ll;0;L;01B0 0323;;;;N;;;1EF0;;1EF0
+1EF2;LATIN CAPITAL LETTER Y WITH GRAVE;Lu;0;L;0059 0300;;;;N;;;;1EF3;
+1EF3;LATIN SMALL LETTER Y WITH GRAVE;Ll;0;L;0079 0300;;;;N;;;1EF2;;1EF2
+1EF4;LATIN CAPITAL LETTER Y WITH DOT BELOW;Lu;0;L;0059 0323;;;;N;;;;1EF5;
+1EF5;LATIN SMALL LETTER Y WITH DOT BELOW;Ll;0;L;0079 0323;;;;N;;;1EF4;;1EF4
+1EF6;LATIN CAPITAL LETTER Y WITH HOOK ABOVE;Lu;0;L;0059 0309;;;;N;;;;1EF7;
+1EF7;LATIN SMALL LETTER Y WITH HOOK ABOVE;Ll;0;L;0079 0309;;;;N;;;1EF6;;1EF6
+1EF8;LATIN CAPITAL LETTER Y WITH TILDE;Lu;0;L;0059 0303;;;;N;;;;1EF9;
+1EF9;LATIN SMALL LETTER Y WITH TILDE;Ll;0;L;0079 0303;;;;N;;;1EF8;;1EF8
+1F00;GREEK SMALL LETTER ALPHA WITH PSILI;Ll;0;L;03B1 0313;;;;N;;;1F08;;1F08
+1F01;GREEK SMALL LETTER ALPHA WITH DASIA;Ll;0;L;03B1 0314;;;;N;;;1F09;;1F09
+1F02;GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA;Ll;0;L;1F00 0300;;;;N;;;1F0A;;1F0A
+1F03;GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA;Ll;0;L;1F01 0300;;;;N;;;1F0B;;1F0B
+1F04;GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA;Ll;0;L;1F00 0301;;;;N;;;1F0C;;1F0C
+1F05;GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA;Ll;0;L;1F01 0301;;;;N;;;1F0D;;1F0D
+1F06;GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI;Ll;0;L;1F00 0342;;;;N;;;1F0E;;1F0E
+1F07;GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI;Ll;0;L;1F01 0342;;;;N;;;1F0F;;1F0F
+1F08;GREEK CAPITAL LETTER ALPHA WITH PSILI;Lu;0;L;0391 0313;;;;N;;;;1F00;
+1F09;GREEK CAPITAL LETTER ALPHA WITH DASIA;Lu;0;L;0391 0314;;;;N;;;;1F01;
+1F0A;GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA;Lu;0;L;1F08 0300;;;;N;;;;1F02;
+1F0B;GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA;Lu;0;L;1F09 0300;;;;N;;;;1F03;
+1F0C;GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA;Lu;0;L;1F08 0301;;;;N;;;;1F04;
+1F0D;GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA;Lu;0;L;1F09 0301;;;;N;;;;1F05;
+1F0E;GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI;Lu;0;L;1F08 0342;;;;N;;;;1F06;
+1F0F;GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI;Lu;0;L;1F09 0342;;;;N;;;;1F07;
+1F10;GREEK SMALL LETTER EPSILON WITH PSILI;Ll;0;L;03B5 0313;;;;N;;;1F18;;1F18
+1F11;GREEK SMALL LETTER EPSILON WITH DASIA;Ll;0;L;03B5 0314;;;;N;;;1F19;;1F19
+1F12;GREEK SMALL LETTER EPSILON WITH PSILI AND VARIA;Ll;0;L;1F10 0300;;;;N;;;1F1A;;1F1A
+1F13;GREEK SMALL LETTER EPSILON WITH DASIA AND VARIA;Ll;0;L;1F11 0300;;;;N;;;1F1B;;1F1B
+1F14;GREEK SMALL LETTER EPSILON WITH PSILI AND OXIA;Ll;0;L;1F10 0301;;;;N;;;1F1C;;1F1C
+1F15;GREEK SMALL LETTER EPSILON WITH DASIA AND OXIA;Ll;0;L;1F11 0301;;;;N;;;1F1D;;1F1D
+1F18;GREEK CAPITAL LETTER EPSILON WITH PSILI;Lu;0;L;0395 0313;;;;N;;;;1F10;
+1F19;GREEK CAPITAL LETTER EPSILON WITH DASIA;Lu;0;L;0395 0314;;;;N;;;;1F11;
+1F1A;GREEK CAPITAL LETTER EPSILON WITH PSILI AND VARIA;Lu;0;L;1F18 0300;;;;N;;;;1F12;
+1F1B;GREEK CAPITAL LETTER EPSILON WITH DASIA AND VARIA;Lu;0;L;1F19 0300;;;;N;;;;1F13;
+1F1C;GREEK CAPITAL LETTER EPSILON WITH PSILI AND OXIA;Lu;0;L;1F18 0301;;;;N;;;;1F14;
+1F1D;GREEK CAPITAL LETTER EPSILON WITH DASIA AND OXIA;Lu;0;L;1F19 0301;;;;N;;;;1F15;
+1F20;GREEK SMALL LETTER ETA WITH PSILI;Ll;0;L;03B7 0313;;;;N;;;1F28;;1F28
+1F21;GREEK SMALL LETTER ETA WITH DASIA;Ll;0;L;03B7 0314;;;;N;;;1F29;;1F29
+1F22;GREEK SMALL LETTER ETA WITH PSILI AND VARIA;Ll;0;L;1F20 0300;;;;N;;;1F2A;;1F2A
+1F23;GREEK SMALL LETTER ETA WITH DASIA AND VARIA;Ll;0;L;1F21 0300;;;;N;;;1F2B;;1F2B
+1F24;GREEK SMALL LETTER ETA WITH PSILI AND OXIA;Ll;0;L;1F20 0301;;;;N;;;1F2C;;1F2C
+1F25;GREEK SMALL LETTER ETA WITH DASIA AND OXIA;Ll;0;L;1F21 0301;;;;N;;;1F2D;;1F2D
+1F26;GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI;Ll;0;L;1F20 0342;;;;N;;;1F2E;;1F2E
+1F27;GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI;Ll;0;L;1F21 0342;;;;N;;;1F2F;;1F2F
+1F28;GREEK CAPITAL LETTER ETA WITH PSILI;Lu;0;L;0397 0313;;;;N;;;;1F20;
+1F29;GREEK CAPITAL LETTER ETA WITH DASIA;Lu;0;L;0397 0314;;;;N;;;;1F21;
+1F2A;GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA;Lu;0;L;1F28 0300;;;;N;;;;1F22;
+1F2B;GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA;Lu;0;L;1F29 0300;;;;N;;;;1F23;
+1F2C;GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA;Lu;0;L;1F28 0301;;;;N;;;;1F24;
+1F2D;GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA;Lu;0;L;1F29 0301;;;;N;;;;1F25;
+1F2E;GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI;Lu;0;L;1F28 0342;;;;N;;;;1F26;
+1F2F;GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI;Lu;0;L;1F29 0342;;;;N;;;;1F27;
+1F30;GREEK SMALL LETTER IOTA WITH PSILI;Ll;0;L;03B9 0313;;;;N;;;1F38;;1F38
+1F31;GREEK SMALL LETTER IOTA WITH DASIA;Ll;0;L;03B9 0314;;;;N;;;1F39;;1F39
+1F32;GREEK SMALL LETTER IOTA WITH PSILI AND VARIA;Ll;0;L;1F30 0300;;;;N;;;1F3A;;1F3A
+1F33;GREEK SMALL LETTER IOTA WITH DASIA AND VARIA;Ll;0;L;1F31 0300;;;;N;;;1F3B;;1F3B
+1F34;GREEK SMALL LETTER IOTA WITH PSILI AND OXIA;Ll;0;L;1F30 0301;;;;N;;;1F3C;;1F3C
+1F35;GREEK SMALL LETTER IOTA WITH DASIA AND OXIA;Ll;0;L;1F31 0301;;;;N;;;1F3D;;1F3D
+1F36;GREEK SMALL LETTER IOTA WITH PSILI AND PERISPOMENI;Ll;0;L;1F30 0342;;;;N;;;1F3E;;1F3E
+1F37;GREEK SMALL LETTER IOTA WITH DASIA AND PERISPOMENI;Ll;0;L;1F31 0342;;;;N;;;1F3F;;1F3F
+1F38;GREEK CAPITAL LETTER IOTA WITH PSILI;Lu;0;L;0399 0313;;;;N;;;;1F30;
+1F39;GREEK CAPITAL LETTER IOTA WITH DASIA;Lu;0;L;0399 0314;;;;N;;;;1F31;
+1F3A;GREEK CAPITAL LETTER IOTA WITH PSILI AND VARIA;Lu;0;L;1F38 0300;;;;N;;;;1F32;
+1F3B;GREEK CAPITAL LETTER IOTA WITH DASIA AND VARIA;Lu;0;L;1F39 0300;;;;N;;;;1F33;
+1F3C;GREEK CAPITAL LETTER IOTA WITH PSILI AND OXIA;Lu;0;L;1F38 0301;;;;N;;;;1F34;
+1F3D;GREEK CAPITAL LETTER IOTA WITH DASIA AND OXIA;Lu;0;L;1F39 0301;;;;N;;;;1F35;
+1F3E;GREEK CAPITAL LETTER IOTA WITH PSILI AND PERISPOMENI;Lu;0;L;1F38 0342;;;;N;;;;1F36;
+1F3F;GREEK CAPITAL LETTER IOTA WITH DASIA AND PERISPOMENI;Lu;0;L;1F39 0342;;;;N;;;;1F37;
+1F40;GREEK SMALL LETTER OMICRON WITH PSILI;Ll;0;L;03BF 0313;;;;N;;;1F48;;1F48
+1F41;GREEK SMALL LETTER OMICRON WITH DASIA;Ll;0;L;03BF 0314;;;;N;;;1F49;;1F49
+1F42;GREEK SMALL LETTER OMICRON WITH PSILI AND VARIA;Ll;0;L;1F40 0300;;;;N;;;1F4A;;1F4A
+1F43;GREEK SMALL LETTER OMICRON WITH DASIA AND VARIA;Ll;0;L;1F41 0300;;;;N;;;1F4B;;1F4B
+1F44;GREEK SMALL LETTER OMICRON WITH PSILI AND OXIA;Ll;0;L;1F40 0301;;;;N;;;1F4C;;1F4C
+1F45;GREEK SMALL LETTER OMICRON WITH DASIA AND OXIA;Ll;0;L;1F41 0301;;;;N;;;1F4D;;1F4D
+1F48;GREEK CAPITAL LETTER OMICRON WITH PSILI;Lu;0;L;039F 0313;;;;N;;;;1F40;
+1F49;GREEK CAPITAL LETTER OMICRON WITH DASIA;Lu;0;L;039F 0314;;;;N;;;;1F41;
+1F4A;GREEK CAPITAL LETTER OMICRON WITH PSILI AND VARIA;Lu;0;L;1F48 0300;;;;N;;;;1F42;
+1F4B;GREEK CAPITAL LETTER OMICRON WITH DASIA AND VARIA;Lu;0;L;1F49 0300;;;;N;;;;1F43;
+1F4C;GREEK CAPITAL LETTER OMICRON WITH PSILI AND OXIA;Lu;0;L;1F48 0301;;;;N;;;;1F44;
+1F4D;GREEK CAPITAL LETTER OMICRON WITH DASIA AND OXIA;Lu;0;L;1F49 0301;;;;N;;;;1F45;
+1F50;GREEK SMALL LETTER UPSILON WITH PSILI;Ll;0;L;03C5 0313;;;;N;;;;;
+1F51;GREEK SMALL LETTER UPSILON WITH DASIA;Ll;0;L;03C5 0314;;;;N;;;1F59;;1F59
+1F52;GREEK SMALL LETTER UPSILON WITH PSILI AND VARIA;Ll;0;L;1F50 0300;;;;N;;;;;
+1F53;GREEK SMALL LETTER UPSILON WITH DASIA AND VARIA;Ll;0;L;1F51 0300;;;;N;;;1F5B;;1F5B
+1F54;GREEK SMALL LETTER UPSILON WITH PSILI AND OXIA;Ll;0;L;1F50 0301;;;;N;;;;;
+1F55;GREEK SMALL LETTER UPSILON WITH DASIA AND OXIA;Ll;0;L;1F51 0301;;;;N;;;1F5D;;1F5D
+1F56;GREEK SMALL LETTER UPSILON WITH PSILI AND PERISPOMENI;Ll;0;L;1F50 0342;;;;N;;;;;
+1F57;GREEK SMALL LETTER UPSILON WITH DASIA AND PERISPOMENI;Ll;0;L;1F51 0342;;;;N;;;1F5F;;1F5F
+1F59;GREEK CAPITAL LETTER UPSILON WITH DASIA;Lu;0;L;03A5 0314;;;;N;;;;1F51;
+1F5B;GREEK CAPITAL LETTER UPSILON WITH DASIA AND VARIA;Lu;0;L;1F59 0300;;;;N;;;;1F53;
+1F5D;GREEK CAPITAL LETTER UPSILON WITH DASIA AND OXIA;Lu;0;L;1F59 0301;;;;N;;;;1F55;
+1F5F;GREEK CAPITAL LETTER UPSILON WITH DASIA AND PERISPOMENI;Lu;0;L;1F59 0342;;;;N;;;;1F57;
+1F60;GREEK SMALL LETTER OMEGA WITH PSILI;Ll;0;L;03C9 0313;;;;N;;;1F68;;1F68
+1F61;GREEK SMALL LETTER OMEGA WITH DASIA;Ll;0;L;03C9 0314;;;;N;;;1F69;;1F69
+1F62;GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA;Ll;0;L;1F60 0300;;;;N;;;1F6A;;1F6A
+1F63;GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA;Ll;0;L;1F61 0300;;;;N;;;1F6B;;1F6B
+1F64;GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA;Ll;0;L;1F60 0301;;;;N;;;1F6C;;1F6C
+1F65;GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA;Ll;0;L;1F61 0301;;;;N;;;1F6D;;1F6D
+1F66;GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI;Ll;0;L;1F60 0342;;;;N;;;1F6E;;1F6E
+1F67;GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI;Ll;0;L;1F61 0342;;;;N;;;1F6F;;1F6F
+1F68;GREEK CAPITAL LETTER OMEGA WITH PSILI;Lu;0;L;03A9 0313;;;;N;;;;1F60;
+1F69;GREEK CAPITAL LETTER OMEGA WITH DASIA;Lu;0;L;03A9 0314;;;;N;;;;1F61;
+1F6A;GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA;Lu;0;L;1F68 0300;;;;N;;;;1F62;
+1F6B;GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA;Lu;0;L;1F69 0300;;;;N;;;;1F63;
+1F6C;GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA;Lu;0;L;1F68 0301;;;;N;;;;1F64;
+1F6D;GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA;Lu;0;L;1F69 0301;;;;N;;;;1F65;
+1F6E;GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI;Lu;0;L;1F68 0342;;;;N;;;;1F66;
+1F6F;GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI;Lu;0;L;1F69 0342;;;;N;;;;1F67;
+1F70;GREEK SMALL LETTER ALPHA WITH VARIA;Ll;0;L;03B1 0300;;;;N;;;1FBA;;1FBA
+1F71;GREEK SMALL LETTER ALPHA WITH OXIA;Ll;0;L;03AC;;;;N;;;1FBB;;1FBB
+1F72;GREEK SMALL LETTER EPSILON WITH VARIA;Ll;0;L;03B5 0300;;;;N;;;1FC8;;1FC8
+1F73;GREEK SMALL LETTER EPSILON WITH OXIA;Ll;0;L;03AD;;;;N;;;1FC9;;1FC9
+1F74;GREEK SMALL LETTER ETA WITH VARIA;Ll;0;L;03B7 0300;;;;N;;;1FCA;;1FCA
+1F75;GREEK SMALL LETTER ETA WITH OXIA;Ll;0;L;03AE;;;;N;;;1FCB;;1FCB
+1F76;GREEK SMALL LETTER IOTA WITH VARIA;Ll;0;L;03B9 0300;;;;N;;;1FDA;;1FDA
+1F77;GREEK SMALL LETTER IOTA WITH OXIA;Ll;0;L;03AF;;;;N;;;1FDB;;1FDB
+1F78;GREEK SMALL LETTER OMICRON WITH VARIA;Ll;0;L;03BF 0300;;;;N;;;1FF8;;1FF8
+1F79;GREEK SMALL LETTER OMICRON WITH OXIA;Ll;0;L;03CC;;;;N;;;1FF9;;1FF9
+1F7A;GREEK SMALL LETTER UPSILON WITH VARIA;Ll;0;L;03C5 0300;;;;N;;;1FEA;;1FEA
+1F7B;GREEK SMALL LETTER UPSILON WITH OXIA;Ll;0;L;03CD;;;;N;;;1FEB;;1FEB
+1F7C;GREEK SMALL LETTER OMEGA WITH VARIA;Ll;0;L;03C9 0300;;;;N;;;1FFA;;1FFA
+1F7D;GREEK SMALL LETTER OMEGA WITH OXIA;Ll;0;L;03CE;;;;N;;;1FFB;;1FFB
+1F80;GREEK SMALL LETTER ALPHA WITH PSILI AND YPOGEGRAMMENI;Ll;0;L;1F00 0345;;;;N;;;1F88;;1F88
+1F81;GREEK SMALL LETTER ALPHA WITH DASIA AND YPOGEGRAMMENI;Ll;0;L;1F01 0345;;;;N;;;1F89;;1F89
+1F82;GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA AND YPOGEGRAMMENI;Ll;0;L;1F02 0345;;;;N;;;1F8A;;1F8A
+1F83;GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA AND YPOGEGRAMMENI;Ll;0;L;1F03 0345;;;;N;;;1F8B;;1F8B
+1F84;GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA AND YPOGEGRAMMENI;Ll;0;L;1F04 0345;;;;N;;;1F8C;;1F8C
+1F85;GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA AND YPOGEGRAMMENI;Ll;0;L;1F05 0345;;;;N;;;1F8D;;1F8D
+1F86;GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI;Ll;0;L;1F06 0345;;;;N;;;1F8E;;1F8E
+1F87;GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI;Ll;0;L;1F07 0345;;;;N;;;1F8F;;1F8F
+1F88;GREEK CAPITAL LETTER ALPHA WITH PSILI AND PROSGEGRAMMENI;Lt;0;L;1F08 0345;;;;N;;;;1F80;
+1F89;GREEK CAPITAL LETTER ALPHA WITH DASIA AND PROSGEGRAMMENI;Lt;0;L;1F09 0345;;;;N;;;;1F81;
+1F8A;GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA AND PROSGEGRAMMENI;Lt;0;L;1F0A 0345;;;;N;;;;1F82;
+1F8B;GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA AND PROSGEGRAMMENI;Lt;0;L;1F0B 0345;;;;N;;;;1F83;
+1F8C;GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA AND PROSGEGRAMMENI;Lt;0;L;1F0C 0345;;;;N;;;;1F84;
+1F8D;GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA AND PROSGEGRAMMENI;Lt;0;L;1F0D 0345;;;;N;;;;1F85;
+1F8E;GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI;Lt;0;L;1F0E 0345;;;;N;;;;1F86;
+1F8F;GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI;Lt;0;L;1F0F 0345;;;;N;;;;1F87;
+1F90;GREEK SMALL LETTER ETA WITH PSILI AND YPOGEGRAMMENI;Ll;0;L;1F20 0345;;;;N;;;1F98;;1F98
+1F91;GREEK SMALL LETTER ETA WITH DASIA AND YPOGEGRAMMENI;Ll;0;L;1F21 0345;;;;N;;;1F99;;1F99
+1F92;GREEK SMALL LETTER ETA WITH PSILI AND VARIA AND YPOGEGRAMMENI;Ll;0;L;1F22 0345;;;;N;;;1F9A;;1F9A
+1F93;GREEK SMALL LETTER ETA WITH DASIA AND VARIA AND YPOGEGRAMMENI;Ll;0;L;1F23 0345;;;;N;;;1F9B;;1F9B
+1F94;GREEK SMALL LETTER ETA WITH PSILI AND OXIA AND YPOGEGRAMMENI;Ll;0;L;1F24 0345;;;;N;;;1F9C;;1F9C
+1F95;GREEK SMALL LETTER ETA WITH DASIA AND OXIA AND YPOGEGRAMMENI;Ll;0;L;1F25 0345;;;;N;;;1F9D;;1F9D
+1F96;GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI;Ll;0;L;1F26 0345;;;;N;;;1F9E;;1F9E
+1F97;GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI;Ll;0;L;1F27 0345;;;;N;;;1F9F;;1F9F
+1F98;GREEK CAPITAL LETTER ETA WITH PSILI AND PROSGEGRAMMENI;Lt;0;L;1F28 0345;;;;N;;;;1F90;
+1F99;GREEK CAPITAL LETTER ETA WITH DASIA AND PROSGEGRAMMENI;Lt;0;L;1F29 0345;;;;N;;;;1F91;
+1F9A;GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA AND PROSGEGRAMMENI;Lt;0;L;1F2A 0345;;;;N;;;;1F92;
+1F9B;GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA AND PROSGEGRAMMENI;Lt;0;L;1F2B 0345;;;;N;;;;1F93;
+1F9C;GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA AND PROSGEGRAMMENI;Lt;0;L;1F2C 0345;;;;N;;;;1F94;
+1F9D;GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA AND PROSGEGRAMMENI;Lt;0;L;1F2D 0345;;;;N;;;;1F95;
+1F9E;GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI;Lt;0;L;1F2E 0345;;;;N;;;;1F96;
+1F9F;GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI;Lt;0;L;1F2F 0345;;;;N;;;;1F97;
+1FA0;GREEK SMALL LETTER OMEGA WITH PSILI AND YPOGEGRAMMENI;Ll;0;L;1F60 0345;;;;N;;;1FA8;;1FA8
+1FA1;GREEK SMALL LETTER OMEGA WITH DASIA AND YPOGEGRAMMENI;Ll;0;L;1F61 0345;;;;N;;;1FA9;;1FA9
+1FA2;GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA AND YPOGEGRAMMENI;Ll;0;L;1F62 0345;;;;N;;;1FAA;;1FAA
+1FA3;GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA AND YPOGEGRAMMENI;Ll;0;L;1F63 0345;;;;N;;;1FAB;;1FAB
+1FA4;GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA AND YPOGEGRAMMENI;Ll;0;L;1F64 0345;;;;N;;;1FAC;;1FAC
+1FA5;GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA AND YPOGEGRAMMENI;Ll;0;L;1F65 0345;;;;N;;;1FAD;;1FAD
+1FA6;GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI;Ll;0;L;1F66 0345;;;;N;;;1FAE;;1FAE
+1FA7;GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI;Ll;0;L;1F67 0345;;;;N;;;1FAF;;1FAF
+1FA8;GREEK CAPITAL LETTER OMEGA WITH PSILI AND PROSGEGRAMMENI;Lt;0;L;1F68 0345;;;;N;;;;1FA0;
+1FA9;GREEK CAPITAL LETTER OMEGA WITH DASIA AND PROSGEGRAMMENI;Lt;0;L;1F69 0345;;;;N;;;;1FA1;
+1FAA;GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA AND PROSGEGRAMMENI;Lt;0;L;1F6A 0345;;;;N;;;;1FA2;
+1FAB;GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA AND PROSGEGRAMMENI;Lt;0;L;1F6B 0345;;;;N;;;;1FA3;
+1FAC;GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA AND PROSGEGRAMMENI;Lt;0;L;1F6C 0345;;;;N;;;;1FA4;
+1FAD;GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA AND PROSGEGRAMMENI;Lt;0;L;1F6D 0345;;;;N;;;;1FA5;
+1FAE;GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI;Lt;0;L;1F6E 0345;;;;N;;;;1FA6;
+1FAF;GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI;Lt;0;L;1F6F 0345;;;;N;;;;1FA7;
+1FB0;GREEK SMALL LETTER ALPHA WITH VRACHY;Ll;0;L;03B1 0306;;;;N;;;1FB8;;1FB8
+1FB1;GREEK SMALL LETTER ALPHA WITH MACRON;Ll;0;L;03B1 0304;;;;N;;;1FB9;;1FB9
+1FB2;GREEK SMALL LETTER ALPHA WITH VARIA AND YPOGEGRAMMENI;Ll;0;L;1F70 0345;;;;N;;;;;
+1FB3;GREEK SMALL LETTER ALPHA WITH YPOGEGRAMMENI;Ll;0;L;03B1 0345;;;;N;;;1FBC;;1FBC
+1FB4;GREEK SMALL LETTER ALPHA WITH OXIA AND YPOGEGRAMMENI;Ll;0;L;03AC 0345;;;;N;;;;;
+1FB6;GREEK SMALL LETTER ALPHA WITH PERISPOMENI;Ll;0;L;03B1 0342;;;;N;;;;;
+1FB7;GREEK SMALL LETTER ALPHA WITH PERISPOMENI AND YPOGEGRAMMENI;Ll;0;L;1FB6 0345;;;;N;;;;;
+1FB8;GREEK CAPITAL LETTER ALPHA WITH VRACHY;Lu;0;L;0391 0306;;;;N;;;;1FB0;
+1FB9;GREEK CAPITAL LETTER ALPHA WITH MACRON;Lu;0;L;0391 0304;;;;N;;;;1FB1;
+1FBA;GREEK CAPITAL LETTER ALPHA WITH VARIA;Lu;0;L;0391 0300;;;;N;;;;1F70;
+1FBB;GREEK CAPITAL LETTER ALPHA WITH OXIA;Lu;0;L;0386;;;;N;;;;1F71;
+1FBC;GREEK CAPITAL LETTER ALPHA WITH PROSGEGRAMMENI;Lt;0;L;0391 0345;;;;N;;;;1FB3;
+1FBD;GREEK KORONIS;Sk;0;ON;<compat> 0020 0313;;;;N;;;;;
+1FBE;GREEK PROSGEGRAMMENI;Ll;0;L;03B9;;;;N;;;0399;;0399
+1FBF;GREEK PSILI;Sk;0;ON;<compat> 0020 0313;;;;N;;;;;
+1FC0;GREEK PERISPOMENI;Sk;0;ON;<compat> 0020 0342;;;;N;;;;;
+1FC1;GREEK DIALYTIKA AND PERISPOMENI;Sk;0;ON;00A8 0342;;;;N;;;;;
+1FC2;GREEK SMALL LETTER ETA WITH VARIA AND YPOGEGRAMMENI;Ll;0;L;1F74 0345;;;;N;;;;;
+1FC3;GREEK SMALL LETTER ETA WITH YPOGEGRAMMENI;Ll;0;L;03B7 0345;;;;N;;;1FCC;;1FCC
+1FC4;GREEK SMALL LETTER ETA WITH OXIA AND YPOGEGRAMMENI;Ll;0;L;03AE 0345;;;;N;;;;;
+1FC6;GREEK SMALL LETTER ETA WITH PERISPOMENI;Ll;0;L;03B7 0342;;;;N;;;;;
+1FC7;GREEK SMALL LETTER ETA WITH PERISPOMENI AND YPOGEGRAMMENI;Ll;0;L;1FC6 0345;;;;N;;;;;
+1FC8;GREEK CAPITAL LETTER EPSILON WITH VARIA;Lu;0;L;0395 0300;;;;N;;;;1F72;
+1FC9;GREEK CAPITAL LETTER EPSILON WITH OXIA;Lu;0;L;0388;;;;N;;;;1F73;
+1FCA;GREEK CAPITAL LETTER ETA WITH VARIA;Lu;0;L;0397 0300;;;;N;;;;1F74;
+1FCB;GREEK CAPITAL LETTER ETA WITH OXIA;Lu;0;L;0389;;;;N;;;;1F75;
+1FCC;GREEK CAPITAL LETTER ETA WITH PROSGEGRAMMENI;Lt;0;L;0397 0345;;;;N;;;;1FC3;
+1FCD;GREEK PSILI AND VARIA;Sk;0;ON;1FBF 0300;;;;N;;;;;
+1FCE;GREEK PSILI AND OXIA;Sk;0;ON;1FBF 0301;;;;N;;;;;
+1FCF;GREEK PSILI AND PERISPOMENI;Sk;0;ON;1FBF 0342;;;;N;;;;;
+1FD0;GREEK SMALL LETTER IOTA WITH VRACHY;Ll;0;L;03B9 0306;;;;N;;;1FD8;;1FD8
+1FD1;GREEK SMALL LETTER IOTA WITH MACRON;Ll;0;L;03B9 0304;;;;N;;;1FD9;;1FD9
+1FD2;GREEK SMALL LETTER IOTA WITH DIALYTIKA AND VARIA;Ll;0;L;03CA 0300;;;;N;;;;;
+1FD3;GREEK SMALL LETTER IOTA WITH DIALYTIKA AND OXIA;Ll;0;L;0390;;;;N;;;;;
+1FD6;GREEK SMALL LETTER IOTA WITH PERISPOMENI;Ll;0;L;03B9 0342;;;;N;;;;;
+1FD7;GREEK SMALL LETTER IOTA WITH DIALYTIKA AND PERISPOMENI;Ll;0;L;03CA 0342;;;;N;;;;;
+1FD8;GREEK CAPITAL LETTER IOTA WITH VRACHY;Lu;0;L;0399 0306;;;;N;;;;1FD0;
+1FD9;GREEK CAPITAL LETTER IOTA WITH MACRON;Lu;0;L;0399 0304;;;;N;;;;1FD1;
+1FDA;GREEK CAPITAL LETTER IOTA WITH VARIA;Lu;0;L;0399 0300;;;;N;;;;1F76;
+1FDB;GREEK CAPITAL LETTER IOTA WITH OXIA;Lu;0;L;038A;;;;N;;;;1F77;
+1FDD;GREEK DASIA AND VARIA;Sk;0;ON;1FFE 0300;;;;N;;;;;
+1FDE;GREEK DASIA AND OXIA;Sk;0;ON;1FFE 0301;;;;N;;;;;
+1FDF;GREEK DASIA AND PERISPOMENI;Sk;0;ON;1FFE 0342;;;;N;;;;;
+1FE0;GREEK SMALL LETTER UPSILON WITH VRACHY;Ll;0;L;03C5 0306;;;;N;;;1FE8;;1FE8
+1FE1;GREEK SMALL LETTER UPSILON WITH MACRON;Ll;0;L;03C5 0304;;;;N;;;1FE9;;1FE9
+1FE2;GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND VARIA;Ll;0;L;03CB 0300;;;;N;;;;;
+1FE3;GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND OXIA;Ll;0;L;03B0;;;;N;;;;;
+1FE4;GREEK SMALL LETTER RHO WITH PSILI;Ll;0;L;03C1 0313;;;;N;;;;;
+1FE5;GREEK SMALL LETTER RHO WITH DASIA;Ll;0;L;03C1 0314;;;;N;;;1FEC;;1FEC
+1FE6;GREEK SMALL LETTER UPSILON WITH PERISPOMENI;Ll;0;L;03C5 0342;;;;N;;;;;
+1FE7;GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND PERISPOMENI;Ll;0;L;03CB 0342;;;;N;;;;;
+1FE8;GREEK CAPITAL LETTER UPSILON WITH VRACHY;Lu;0;L;03A5 0306;;;;N;;;;1FE0;
+1FE9;GREEK CAPITAL LETTER UPSILON WITH MACRON;Lu;0;L;03A5 0304;;;;N;;;;1FE1;
+1FEA;GREEK CAPITAL LETTER UPSILON WITH VARIA;Lu;0;L;03A5 0300;;;;N;;;;1F7A;
+1FEB;GREEK CAPITAL LETTER UPSILON WITH OXIA;Lu;0;L;038E;;;;N;;;;1F7B;
+1FEC;GREEK CAPITAL LETTER RHO WITH DASIA;Lu;0;L;03A1 0314;;;;N;;;;1FE5;
+1FED;GREEK DIALYTIKA AND VARIA;Sk;0;ON;00A8 0300;;;;N;;;;;
+1FEE;GREEK DIALYTIKA AND OXIA;Sk;0;ON;0385;;;;N;;;;;
+1FEF;GREEK VARIA;Sk;0;ON;0060;;;;N;;;;;
+1FF2;GREEK SMALL LETTER OMEGA WITH VARIA AND YPOGEGRAMMENI;Ll;0;L;1F7C 0345;;;;N;;;;;
+1FF3;GREEK SMALL LETTER OMEGA WITH YPOGEGRAMMENI;Ll;0;L;03C9 0345;;;;N;;;1FFC;;1FFC
+1FF4;GREEK SMALL LETTER OMEGA WITH OXIA AND YPOGEGRAMMENI;Ll;0;L;03CE 0345;;;;N;;;;;
+1FF6;GREEK SMALL LETTER OMEGA WITH PERISPOMENI;Ll;0;L;03C9 0342;;;;N;;;;;
+1FF7;GREEK SMALL LETTER OMEGA WITH PERISPOMENI AND YPOGEGRAMMENI;Ll;0;L;1FF6 0345;;;;N;;;;;
+1FF8;GREEK CAPITAL LETTER OMICRON WITH VARIA;Lu;0;L;039F 0300;;;;N;;;;1F78;
+1FF9;GREEK CAPITAL LETTER OMICRON WITH OXIA;Lu;0;L;038C;;;;N;;;;1F79;
+1FFA;GREEK CAPITAL LETTER OMEGA WITH VARIA;Lu;0;L;03A9 0300;;;;N;;;;1F7C;
+1FFB;GREEK CAPITAL LETTER OMEGA WITH OXIA;Lu;0;L;038F;;;;N;;;;1F7D;
+1FFC;GREEK CAPITAL LETTER OMEGA WITH PROSGEGRAMMENI;Lt;0;L;03A9 0345;;;;N;;;;1FF3;
+1FFD;GREEK OXIA;Sk;0;ON;00B4;;;;N;;;;;
+1FFE;GREEK DASIA;Sk;0;ON;<compat> 0020 0314;;;;N;;;;;
+2000;EN QUAD;Zs;0;WS;2002;;;;N;;;;;
+2001;EM QUAD;Zs;0;WS;2003;;;;N;;;;;
+2002;EN SPACE;Zs;0;WS;<compat> 0020;;;;N;;;;;
+2003;EM SPACE;Zs;0;WS;<compat> 0020;;;;N;;;;;
+2004;THREE-PER-EM SPACE;Zs;0;WS;<compat> 0020;;;;N;;;;;
+2005;FOUR-PER-EM SPACE;Zs;0;WS;<compat> 0020;;;;N;;;;;
+2006;SIX-PER-EM SPACE;Zs;0;WS;<compat> 0020;;;;N;;;;;
+2007;FIGURE SPACE;Zs;0;WS;<noBreak> 0020;;;;N;;;;;
+2008;PUNCTUATION SPACE;Zs;0;WS;<compat> 0020;;;;N;;;;;
+2009;THIN SPACE;Zs;0;WS;<compat> 0020;;;;N;;;;;
+200A;HAIR SPACE;Zs;0;WS;<compat> 0020;;;;N;;;;;
+200B;ZERO WIDTH SPACE;Cf;0;BN;;;;;N;;;;;
+200C;ZERO WIDTH NON-JOINER;Cf;0;BN;;;;;N;;;;;
+200D;ZERO WIDTH JOINER;Cf;0;BN;;;;;N;;;;;
+200E;LEFT-TO-RIGHT MARK;Cf;0;L;;;;;N;;;;;
+200F;RIGHT-TO-LEFT MARK;Cf;0;R;;;;;N;;;;;
+2010;HYPHEN;Pd;0;ON;;;;;N;;;;;
+2011;NON-BREAKING HYPHEN;Pd;0;ON;<noBreak> 2010;;;;N;;;;;
+2012;FIGURE DASH;Pd;0;ON;;;;;N;;;;;
+2013;EN DASH;Pd;0;ON;;;;;N;;;;;
+2014;EM DASH;Pd;0;ON;;;;;N;;;;;
+2015;HORIZONTAL BAR;Pd;0;ON;;;;;N;QUOTATION DASH;;;;
+2016;DOUBLE VERTICAL LINE;Po;0;ON;;;;;N;DOUBLE VERTICAL BAR;;;;
+2017;DOUBLE LOW LINE;Po;0;ON;<compat> 0020 0333;;;;N;SPACING DOUBLE UNDERSCORE;;;;
+2018;LEFT SINGLE QUOTATION MARK;Pi;0;ON;;;;;N;SINGLE TURNED COMMA QUOTATION MARK;;;;
+2019;RIGHT SINGLE QUOTATION MARK;Pf;0;ON;;;;;N;SINGLE COMMA QUOTATION MARK;;;;
+201A;SINGLE LOW-9 QUOTATION MARK;Ps;0;ON;;;;;N;LOW SINGLE COMMA QUOTATION MARK;;;;
+201B;SINGLE HIGH-REVERSED-9 QUOTATION MARK;Pi;0;ON;;;;;N;SINGLE REVERSED COMMA QUOTATION MARK;;;;
+201C;LEFT DOUBLE QUOTATION MARK;Pi;0;ON;;;;;N;DOUBLE TURNED COMMA QUOTATION MARK;;;;
+201D;RIGHT DOUBLE QUOTATION MARK;Pf;0;ON;;;;;N;DOUBLE COMMA QUOTATION MARK;;;;
+201E;DOUBLE LOW-9 QUOTATION MARK;Ps;0;ON;;;;;N;LOW DOUBLE COMMA QUOTATION MARK;;;;
+201F;DOUBLE HIGH-REVERSED-9 QUOTATION MARK;Pi;0;ON;;;;;N;DOUBLE REVERSED COMMA QUOTATION MARK;;;;
+2020;DAGGER;Po;0;ON;;;;;N;;;;;
+2021;DOUBLE DAGGER;Po;0;ON;;;;;N;;;;;
+2022;BULLET;Po;0;ON;;;;;N;;;;;
+2023;TRIANGULAR BULLET;Po;0;ON;;;;;N;;;;;
+2024;ONE DOT LEADER;Po;0;ON;<compat> 002E;;;;N;;;;;
+2025;TWO DOT LEADER;Po;0;ON;<compat> 002E 002E;;;;N;;;;;
+2026;HORIZONTAL ELLIPSIS;Po;0;ON;<compat> 002E 002E 002E;;;;N;;;;;
+2027;HYPHENATION POINT;Po;0;ON;;;;;N;;;;;
+2028;LINE SEPARATOR;Zl;0;WS;;;;;N;;;;;
+2029;PARAGRAPH SEPARATOR;Zp;0;B;;;;;N;;;;;
+202A;LEFT-TO-RIGHT EMBEDDING;Cf;0;LRE;;;;;N;;;;;
+202B;RIGHT-TO-LEFT EMBEDDING;Cf;0;RLE;;;;;N;;;;;
+202C;POP DIRECTIONAL FORMATTING;Cf;0;PDF;;;;;N;;;;;
+202D;LEFT-TO-RIGHT OVERRIDE;Cf;0;LRO;;;;;N;;;;;
+202E;RIGHT-TO-LEFT OVERRIDE;Cf;0;RLO;;;;;N;;;;;
+202F;NARROW NO-BREAK SPACE;Zs;0;CS;<noBreak> 0020;;;;N;;;;;
+2030;PER MILLE SIGN;Po;0;ET;;;;;N;;;;;
+2031;PER TEN THOUSAND SIGN;Po;0;ET;;;;;N;;;;;
+2032;PRIME;Po;0;ET;;;;;N;;;;;
+2033;DOUBLE PRIME;Po;0;ET;<compat> 2032 2032;;;;N;;;;;
+2034;TRIPLE PRIME;Po;0;ET;<compat> 2032 2032 2032;;;;N;;;;;
+2035;REVERSED PRIME;Po;0;ON;;;;;N;;;;;
+2036;REVERSED DOUBLE PRIME;Po;0;ON;<compat> 2035 2035;;;;N;;;;;
+2037;REVERSED TRIPLE PRIME;Po;0;ON;<compat> 2035 2035 2035;;;;N;;;;;
+2038;CARET;Po;0;ON;;;;;N;;;;;
+2039;SINGLE LEFT-POINTING ANGLE QUOTATION MARK;Pi;0;ON;;;;;Y;LEFT POINTING SINGLE GUILLEMET;;;;
+203A;SINGLE RIGHT-POINTING ANGLE QUOTATION MARK;Pf;0;ON;;;;;Y;RIGHT POINTING SINGLE GUILLEMET;;;;
+203B;REFERENCE MARK;Po;0;ON;;;;;N;;;;;
+203C;DOUBLE EXCLAMATION MARK;Po;0;ON;<compat> 0021 0021;;;;N;;;;;
+203D;INTERROBANG;Po;0;ON;;;;;N;;;;;
+203E;OVERLINE;Po;0;ON;<compat> 0020 0305;;;;N;SPACING OVERSCORE;;;;
+203F;UNDERTIE;Pc;0;ON;;;;;N;;Enotikon;;;
+2040;CHARACTER TIE;Pc;0;ON;;;;;N;;;;;
+2041;CARET INSERTION POINT;Po;0;ON;;;;;N;;;;;
+2042;ASTERISM;Po;0;ON;;;;;N;;;;;
+2043;HYPHEN BULLET;Po;0;ON;;;;;N;;;;;
+2044;FRACTION SLASH;Sm;0;CS;;;;;N;;;;;
+2045;LEFT SQUARE BRACKET WITH QUILL;Ps;0;ON;;;;;Y;;;;;
+2046;RIGHT SQUARE BRACKET WITH QUILL;Pe;0;ON;;;;;Y;;;;;
+2047;DOUBLE QUESTION MARK;Po;0;ON;<compat> 003F 003F;;;;N;;;;;
+2048;QUESTION EXCLAMATION MARK;Po;0;ON;<compat> 003F 0021;;;;N;;;;;
+2049;EXCLAMATION QUESTION MARK;Po;0;ON;<compat> 0021 003F;;;;N;;;;;
+204A;TIRONIAN SIGN ET;Po;0;ON;;;;;N;;;;;
+204B;REVERSED PILCROW SIGN;Po;0;ON;;;;;N;;;;;
+204C;BLACK LEFTWARDS BULLET;Po;0;ON;;;;;N;;;;;
+204D;BLACK RIGHTWARDS BULLET;Po;0;ON;;;;;N;;;;;
+204E;LOW ASTERISK;Po;0;ON;;;;;N;;;;;
+204F;REVERSED SEMICOLON;Po;0;ON;;;;;N;;;;;
+2050;CLOSE UP;Po;0;ON;;;;;N;;;;;
+2051;TWO ASTERISKS ALIGNED VERTICALLY;Po;0;ON;;;;;N;;;;;
+2052;COMMERCIAL MINUS SIGN;Sm;0;ON;;;;;N;;;;;
+2053;SWUNG DASH;Po;0;ON;;;;;N;;;;;
+2054;INVERTED UNDERTIE;Pc;0;ON;;;;;N;;;;;
+2055;FLOWER PUNCTUATION MARK;Po;0;ON;;;;;N;;;;;
+2056;THREE DOT PUNCTUATION;Po;0;ON;;;;;N;;;;;
+2057;QUADRUPLE PRIME;Po;0;ON;<compat> 2032 2032 2032 2032;;;;N;;;;;
+2058;FOUR DOT PUNCTUATION;Po;0;ON;;;;;N;;;;;
+2059;FIVE DOT PUNCTUATION;Po;0;ON;;;;;N;;;;;
+205A;TWO DOT PUNCTUATION;Po;0;ON;;;;;N;;;;;
+205B;FOUR DOT MARK;Po;0;ON;;;;;N;;;;;
+205C;DOTTED CROSS;Po;0;ON;;;;;N;;;;;
+205D;TRICOLON;Po;0;ON;;;;;N;;;;;
+205E;VERTICAL FOUR DOTS;Po;0;ON;;;;;N;;;;;
+205F;MEDIUM MATHEMATICAL SPACE;Zs;0;WS;<compat> 0020;;;;N;;;;;
+2060;WORD JOINER;Cf;0;BN;;;;;N;;;;;
+2061;FUNCTION APPLICATION;Cf;0;BN;;;;;N;;;;;
+2062;INVISIBLE TIMES;Cf;0;BN;;;;;N;;;;;
+2063;INVISIBLE SEPARATOR;Cf;0;BN;;;;;N;;;;;
+206A;INHIBIT SYMMETRIC SWAPPING;Cf;0;BN;;;;;N;;;;;
+206B;ACTIVATE SYMMETRIC SWAPPING;Cf;0;BN;;;;;N;;;;;
+206C;INHIBIT ARABIC FORM SHAPING;Cf;0;BN;;;;;N;;;;;
+206D;ACTIVATE ARABIC FORM SHAPING;Cf;0;BN;;;;;N;;;;;
+206E;NATIONAL DIGIT SHAPES;Cf;0;BN;;;;;N;;;;;
+206F;NOMINAL DIGIT SHAPES;Cf;0;BN;;;;;N;;;;;
+2070;SUPERSCRIPT ZERO;No;0;EN;<super> 0030;;0;0;N;SUPERSCRIPT DIGIT ZERO;;;;
+2071;SUPERSCRIPT LATIN SMALL LETTER I;Ll;0;L;<super> 0069;;;;N;;;;;
+2074;SUPERSCRIPT FOUR;No;0;EN;<super> 0034;;4;4;N;SUPERSCRIPT DIGIT FOUR;;;;
+2075;SUPERSCRIPT FIVE;No;0;EN;<super> 0035;;5;5;N;SUPERSCRIPT DIGIT FIVE;;;;
+2076;SUPERSCRIPT SIX;No;0;EN;<super> 0036;;6;6;N;SUPERSCRIPT DIGIT SIX;;;;
+2077;SUPERSCRIPT SEVEN;No;0;EN;<super> 0037;;7;7;N;SUPERSCRIPT DIGIT SEVEN;;;;
+2078;SUPERSCRIPT EIGHT;No;0;EN;<super> 0038;;8;8;N;SUPERSCRIPT DIGIT EIGHT;;;;
+2079;SUPERSCRIPT NINE;No;0;EN;<super> 0039;;9;9;N;SUPERSCRIPT DIGIT NINE;;;;
+207A;SUPERSCRIPT PLUS SIGN;Sm;0;ES;<super> 002B;;;;N;;;;;
+207B;SUPERSCRIPT MINUS;Sm;0;ES;<super> 2212;;;;N;SUPERSCRIPT HYPHEN-MINUS;;;;
+207C;SUPERSCRIPT EQUALS SIGN;Sm;0;ON;<super> 003D;;;;N;;;;;
+207D;SUPERSCRIPT LEFT PARENTHESIS;Ps;0;ON;<super> 0028;;;;Y;SUPERSCRIPT OPENING PARENTHESIS;;;;
+207E;SUPERSCRIPT RIGHT PARENTHESIS;Pe;0;ON;<super> 0029;;;;Y;SUPERSCRIPT CLOSING PARENTHESIS;;;;
+207F;SUPERSCRIPT LATIN SMALL LETTER N;Ll;0;L;<super> 006E;;;;N;;;;;
+2080;SUBSCRIPT ZERO;No;0;EN;<sub> 0030;;0;0;N;SUBSCRIPT DIGIT ZERO;;;;
+2081;SUBSCRIPT ONE;No;0;EN;<sub> 0031;;1;1;N;SUBSCRIPT DIGIT ONE;;;;
+2082;SUBSCRIPT TWO;No;0;EN;<sub> 0032;;2;2;N;SUBSCRIPT DIGIT TWO;;;;
+2083;SUBSCRIPT THREE;No;0;EN;<sub> 0033;;3;3;N;SUBSCRIPT DIGIT THREE;;;;
+2084;SUBSCRIPT FOUR;No;0;EN;<sub> 0034;;4;4;N;SUBSCRIPT DIGIT FOUR;;;;
+2085;SUBSCRIPT FIVE;No;0;EN;<sub> 0035;;5;5;N;SUBSCRIPT DIGIT FIVE;;;;
+2086;SUBSCRIPT SIX;No;0;EN;<sub> 0036;;6;6;N;SUBSCRIPT DIGIT SIX;;;;
+2087;SUBSCRIPT SEVEN;No;0;EN;<sub> 0037;;7;7;N;SUBSCRIPT DIGIT SEVEN;;;;
+2088;SUBSCRIPT EIGHT;No;0;EN;<sub> 0038;;8;8;N;SUBSCRIPT DIGIT EIGHT;;;;
+2089;SUBSCRIPT NINE;No;0;EN;<sub> 0039;;9;9;N;SUBSCRIPT DIGIT NINE;;;;
+208A;SUBSCRIPT PLUS SIGN;Sm;0;ES;<sub> 002B;;;;N;;;;;
+208B;SUBSCRIPT MINUS;Sm;0;ES;<sub> 2212;;;;N;SUBSCRIPT HYPHEN-MINUS;;;;
+208C;SUBSCRIPT EQUALS SIGN;Sm;0;ON;<sub> 003D;;;;N;;;;;
+208D;SUBSCRIPT LEFT PARENTHESIS;Ps;0;ON;<sub> 0028;;;;Y;SUBSCRIPT OPENING PARENTHESIS;;;;
+208E;SUBSCRIPT RIGHT PARENTHESIS;Pe;0;ON;<sub> 0029;;;;Y;SUBSCRIPT CLOSING PARENTHESIS;;;;
+2090;LATIN SUBSCRIPT SMALL LETTER A;Lm;0;L;<sub> 0061;;;;N;;;;;
+2091;LATIN SUBSCRIPT SMALL LETTER E;Lm;0;L;<sub> 0065;;;;N;;;;;
+2092;LATIN SUBSCRIPT SMALL LETTER O;Lm;0;L;<sub> 006F;;;;N;;;;;
+2093;LATIN SUBSCRIPT SMALL LETTER X;Lm;0;L;<sub> 0078;;;;N;;;;;
+2094;LATIN SUBSCRIPT SMALL LETTER SCHWA;Lm;0;L;<sub> 0259;;;;N;;;;;
+20A0;EURO-CURRENCY SIGN;Sc;0;ET;;;;;N;;;;;
+20A1;COLON SIGN;Sc;0;ET;;;;;N;;;;;
+20A2;CRUZEIRO SIGN;Sc;0;ET;;;;;N;;;;;
+20A3;FRENCH FRANC SIGN;Sc;0;ET;;;;;N;;;;;
+20A4;LIRA SIGN;Sc;0;ET;;;;;N;;;;;
+20A5;MILL SIGN;Sc;0;ET;;;;;N;;;;;
+20A6;NAIRA SIGN;Sc;0;ET;;;;;N;;;;;
+20A7;PESETA SIGN;Sc;0;ET;;;;;N;;;;;
+20A8;RUPEE SIGN;Sc;0;ET;<compat> 0052 0073;;;;N;;;;;
+20A9;WON SIGN;Sc;0;ET;;;;;N;;;;;
+20AA;NEW SHEQEL SIGN;Sc;0;ET;;;;;N;;;;;
+20AB;DONG SIGN;Sc;0;ET;;;;;N;;;;;
+20AC;EURO SIGN;Sc;0;ET;;;;;N;;;;;
+20AD;KIP SIGN;Sc;0;ET;;;;;N;;;;;
+20AE;TUGRIK SIGN;Sc;0;ET;;;;;N;;;;;
+20AF;DRACHMA SIGN;Sc;0;ET;;;;;N;;;;;
+20B0;GERMAN PENNY SIGN;Sc;0;ET;;;;;N;;;;;
+20B1;PESO SIGN;Sc;0;ET;;;;;N;;;;;
+20B2;GUARANI SIGN;Sc;0;ET;;;;;N;;;;;
+20B3;AUSTRAL SIGN;Sc;0;ET;;;;;N;;;;;
+20B4;HRYVNIA SIGN;Sc;0;ET;;;;;N;;;;;
+20B5;CEDI SIGN;Sc;0;ET;;;;;N;;;;;
+20D0;COMBINING LEFT HARPOON ABOVE;Mn;230;NSM;;;;;N;NON-SPACING LEFT HARPOON ABOVE;;;;
+20D1;COMBINING RIGHT HARPOON ABOVE;Mn;230;NSM;;;;;N;NON-SPACING RIGHT HARPOON ABOVE;;;;
+20D2;COMBINING LONG VERTICAL LINE OVERLAY;Mn;1;NSM;;;;;N;NON-SPACING LONG VERTICAL BAR OVERLAY;;;;
+20D3;COMBINING SHORT VERTICAL LINE OVERLAY;Mn;1;NSM;;;;;N;NON-SPACING SHORT VERTICAL BAR OVERLAY;;;;
+20D4;COMBINING ANTICLOCKWISE ARROW ABOVE;Mn;230;NSM;;;;;N;NON-SPACING ANTICLOCKWISE ARROW ABOVE;;;;
+20D5;COMBINING CLOCKWISE ARROW ABOVE;Mn;230;NSM;;;;;N;NON-SPACING CLOCKWISE ARROW ABOVE;;;;
+20D6;COMBINING LEFT ARROW ABOVE;Mn;230;NSM;;;;;N;NON-SPACING LEFT ARROW ABOVE;;;;
+20D7;COMBINING RIGHT ARROW ABOVE;Mn;230;NSM;;;;;N;NON-SPACING RIGHT ARROW ABOVE;;;;
+20D8;COMBINING RING OVERLAY;Mn;1;NSM;;;;;N;NON-SPACING RING OVERLAY;;;;
+20D9;COMBINING CLOCKWISE RING OVERLAY;Mn;1;NSM;;;;;N;NON-SPACING CLOCKWISE RING OVERLAY;;;;
+20DA;COMBINING ANTICLOCKWISE RING OVERLAY;Mn;1;NSM;;;;;N;NON-SPACING ANTICLOCKWISE RING OVERLAY;;;;
+20DB;COMBINING THREE DOTS ABOVE;Mn;230;NSM;;;;;N;NON-SPACING THREE DOTS ABOVE;;;;
+20DC;COMBINING FOUR DOTS ABOVE;Mn;230;NSM;;;;;N;NON-SPACING FOUR DOTS ABOVE;;;;
+20DD;COMBINING ENCLOSING CIRCLE;Me;0;NSM;;;;;N;ENCLOSING CIRCLE;;;;
+20DE;COMBINING ENCLOSING SQUARE;Me;0;NSM;;;;;N;ENCLOSING SQUARE;;;;
+20DF;COMBINING ENCLOSING DIAMOND;Me;0;NSM;;;;;N;ENCLOSING DIAMOND;;;;
+20E0;COMBINING ENCLOSING CIRCLE BACKSLASH;Me;0;NSM;;;;;N;ENCLOSING CIRCLE SLASH;;;;
+20E1;COMBINING LEFT RIGHT ARROW ABOVE;Mn;230;NSM;;;;;N;NON-SPACING LEFT RIGHT ARROW ABOVE;;;;
+20E2;COMBINING ENCLOSING SCREEN;Me;0;NSM;;;;;N;;;;;
+20E3;COMBINING ENCLOSING KEYCAP;Me;0;NSM;;;;;N;;;;;
+20E4;COMBINING ENCLOSING UPWARD POINTING TRIANGLE;Me;0;NSM;;;;;N;;;;;
+20E5;COMBINING REVERSE SOLIDUS OVERLAY;Mn;1;NSM;;;;;N;;;;;
+20E6;COMBINING DOUBLE VERTICAL STROKE OVERLAY;Mn;1;NSM;;;;;N;;;;;
+20E7;COMBINING ANNUITY SYMBOL;Mn;230;NSM;;;;;N;;;;;
+20E8;COMBINING TRIPLE UNDERDOT;Mn;220;NSM;;;;;N;;;;;
+20E9;COMBINING WIDE BRIDGE ABOVE;Mn;230;NSM;;;;;N;;;;;
+20EA;COMBINING LEFTWARDS ARROW OVERLAY;Mn;1;NSM;;;;;N;;;;;
+20EB;COMBINING LONG DOUBLE SOLIDUS OVERLAY;Mn;1;NSM;;;;;N;;;;;
+2100;ACCOUNT OF;So;0;ON;<compat> 0061 002F 0063;;;;N;;;;;
+2101;ADDRESSED TO THE SUBJECT;So;0;ON;<compat> 0061 002F 0073;;;;N;;;;;
+2102;DOUBLE-STRUCK CAPITAL C;Lu;0;L;<font> 0043;;;;N;DOUBLE-STRUCK C;;;;
+2103;DEGREE CELSIUS;So;0;ON;<compat> 00B0 0043;;;;N;DEGREES CENTIGRADE;;;;
+2104;CENTRE LINE SYMBOL;So;0;ON;;;;;N;C L SYMBOL;;;;
+2105;CARE OF;So;0;ON;<compat> 0063 002F 006F;;;;N;;;;;
+2106;CADA UNA;So;0;ON;<compat> 0063 002F 0075;;;;N;;;;;
+2107;EULER CONSTANT;Lu;0;L;<compat> 0190;;;;N;EULERS;;;;
+2108;SCRUPLE;So;0;ON;;;;;N;;;;;
+2109;DEGREE FAHRENHEIT;So;0;ON;<compat> 00B0 0046;;;;N;DEGREES FAHRENHEIT;;;;
+210A;SCRIPT SMALL G;Ll;0;L;<font> 0067;;;;N;;;;;
+210B;SCRIPT CAPITAL H;Lu;0;L;<font> 0048;;;;N;SCRIPT H;;;;
+210C;BLACK-LETTER CAPITAL H;Lu;0;L;<font> 0048;;;;N;BLACK-LETTER H;;;;
+210D;DOUBLE-STRUCK CAPITAL H;Lu;0;L;<font> 0048;;;;N;DOUBLE-STRUCK H;;;;
+210E;PLANCK CONSTANT;Ll;0;L;<font> 0068;;;;N;;;;;
+210F;PLANCK CONSTANT OVER TWO PI;Ll;0;L;<font> 0127;;;;N;PLANCK CONSTANT OVER 2 PI;;;;
+2110;SCRIPT CAPITAL I;Lu;0;L;<font> 0049;;;;N;SCRIPT I;;;;
+2111;BLACK-LETTER CAPITAL I;Lu;0;L;<font> 0049;;;;N;BLACK-LETTER I;;;;
+2112;SCRIPT CAPITAL L;Lu;0;L;<font> 004C;;;;N;SCRIPT L;;;;
+2113;SCRIPT SMALL L;Ll;0;L;<font> 006C;;;;N;;;;;
+2114;L B BAR SYMBOL;So;0;ON;;;;;N;;;;;
+2115;DOUBLE-STRUCK CAPITAL N;Lu;0;L;<font> 004E;;;;N;DOUBLE-STRUCK N;;;;
+2116;NUMERO SIGN;So;0;ON;<compat> 004E 006F;;;;N;NUMERO;;;;
+2117;SOUND RECORDING COPYRIGHT;So;0;ON;;;;;N;;;;;
+2118;SCRIPT CAPITAL P;So;0;ON;;;;;N;SCRIPT P;;;;
+2119;DOUBLE-STRUCK CAPITAL P;Lu;0;L;<font> 0050;;;;N;DOUBLE-STRUCK P;;;;
+211A;DOUBLE-STRUCK CAPITAL Q;Lu;0;L;<font> 0051;;;;N;DOUBLE-STRUCK Q;;;;
+211B;SCRIPT CAPITAL R;Lu;0;L;<font> 0052;;;;N;SCRIPT R;;;;
+211C;BLACK-LETTER CAPITAL R;Lu;0;L;<font> 0052;;;;N;BLACK-LETTER R;;;;
+211D;DOUBLE-STRUCK CAPITAL R;Lu;0;L;<font> 0052;;;;N;DOUBLE-STRUCK R;;;;
+211E;PRESCRIPTION TAKE;So;0;ON;;;;;N;;;;;
+211F;RESPONSE;So;0;ON;;;;;N;;;;;
+2120;SERVICE MARK;So;0;ON;<super> 0053 004D;;;;N;;;;;
+2121;TELEPHONE SIGN;So;0;ON;<compat> 0054 0045 004C;;;;N;T E L SYMBOL;;;;
+2122;TRADE MARK SIGN;So;0;ON;<super> 0054 004D;;;;N;TRADEMARK;;;;
+2123;VERSICLE;So;0;ON;;;;;N;;;;;
+2124;DOUBLE-STRUCK CAPITAL Z;Lu;0;L;<font> 005A;;;;N;DOUBLE-STRUCK Z;;;;
+2125;OUNCE SIGN;So;0;ON;;;;;N;OUNCE;;;;
+2126;OHM SIGN;Lu;0;L;03A9;;;;N;OHM;;;03C9;
+2127;INVERTED OHM SIGN;So;0;ON;;;;;N;MHO;;;;
+2128;BLACK-LETTER CAPITAL Z;Lu;0;L;<font> 005A;;;;N;BLACK-LETTER Z;;;;
+2129;TURNED GREEK SMALL LETTER IOTA;So;0;ON;;;;;N;;;;;
+212A;KELVIN SIGN;Lu;0;L;004B;;;;N;DEGREES KELVIN;;;006B;
+212B;ANGSTROM SIGN;Lu;0;L;00C5;;;;N;ANGSTROM UNIT;;;00E5;
+212C;SCRIPT CAPITAL B;Lu;0;L;<font> 0042;;;;N;SCRIPT B;;;;
+212D;BLACK-LETTER CAPITAL C;Lu;0;L;<font> 0043;;;;N;BLACK-LETTER C;;;;
+212E;ESTIMATED SYMBOL;So;0;ET;;;;;N;;;;;
+212F;SCRIPT SMALL E;Ll;0;L;<font> 0065;;;;N;;;;;
+2130;SCRIPT CAPITAL E;Lu;0;L;<font> 0045;;;;N;SCRIPT E;;;;
+2131;SCRIPT CAPITAL F;Lu;0;L;<font> 0046;;;;N;SCRIPT F;;;;
+2132;TURNED CAPITAL F;So;0;ON;;;;;N;TURNED F;;;;
+2133;SCRIPT CAPITAL M;Lu;0;L;<font> 004D;;;;N;SCRIPT M;;;;
+2134;SCRIPT SMALL O;Ll;0;L;<font> 006F;;;;N;;;;;
+2135;ALEF SYMBOL;Lo;0;L;<compat> 05D0;;;;N;FIRST TRANSFINITE CARDINAL;;;;
+2136;BET SYMBOL;Lo;0;L;<compat> 05D1;;;;N;SECOND TRANSFINITE CARDINAL;;;;
+2137;GIMEL SYMBOL;Lo;0;L;<compat> 05D2;;;;N;THIRD TRANSFINITE CARDINAL;;;;
+2138;DALET SYMBOL;Lo;0;L;<compat> 05D3;;;;N;FOURTH TRANSFINITE CARDINAL;;;;
+2139;INFORMATION SOURCE;Ll;0;L;<font> 0069;;;;N;;;;;
+213A;ROTATED CAPITAL Q;So;0;ON;;;;;N;;;;;
+213B;FACSIMILE SIGN;So;0;ON;<compat> 0046 0041 0058;;;;N;;;;;
+213C;DOUBLE-STRUCK SMALL PI;Ll;0;L;<font> 03C0;;;;N;;;;;
+213D;DOUBLE-STRUCK SMALL GAMMA;Ll;0;L;<font> 03B3;;;;N;;;;;
+213E;DOUBLE-STRUCK CAPITAL GAMMA;Lu;0;L;<font> 0393;;;;N;;;;;
+213F;DOUBLE-STRUCK CAPITAL PI;Lu;0;L;<font> 03A0;;;;N;;;;;
+2140;DOUBLE-STRUCK N-ARY SUMMATION;Sm;0;ON;<font> 2211;;;;Y;;;;;
+2141;TURNED SANS-SERIF CAPITAL G;Sm;0;ON;;;;;N;;;;;
+2142;TURNED SANS-SERIF CAPITAL L;Sm;0;ON;;;;;N;;;;;
+2143;REVERSED SANS-SERIF CAPITAL L;Sm;0;ON;;;;;N;;;;;
+2144;TURNED SANS-SERIF CAPITAL Y;Sm;0;ON;;;;;N;;;;;
+2145;DOUBLE-STRUCK ITALIC CAPITAL D;Lu;0;L;<font> 0044;;;;N;;;;;
+2146;DOUBLE-STRUCK ITALIC SMALL D;Ll;0;L;<font> 0064;;;;N;;;;;
+2147;DOUBLE-STRUCK ITALIC SMALL E;Ll;0;L;<font> 0065;;;;N;;;;;
+2148;DOUBLE-STRUCK ITALIC SMALL I;Ll;0;L;<font> 0069;;;;N;;;;;
+2149;DOUBLE-STRUCK ITALIC SMALL J;Ll;0;L;<font> 006A;;;;N;;;;;
+214A;PROPERTY LINE;So;0;ON;;;;;N;;;;;
+214B;TURNED AMPERSAND;Sm;0;ON;;;;;N;;;;;
+214C;PER SIGN;So;0;ON;;;;;N;;;;;
+2153;VULGAR FRACTION ONE THIRD;No;0;ON;<fraction> 0031 2044 0033;;;1/3;N;FRACTION ONE THIRD;;;;
+2154;VULGAR FRACTION TWO THIRDS;No;0;ON;<fraction> 0032 2044 0033;;;2/3;N;FRACTION TWO THIRDS;;;;
+2155;VULGAR FRACTION ONE FIFTH;No;0;ON;<fraction> 0031 2044 0035;;;1/5;N;FRACTION ONE FIFTH;;;;
+2156;VULGAR FRACTION TWO FIFTHS;No;0;ON;<fraction> 0032 2044 0035;;;2/5;N;FRACTION TWO FIFTHS;;;;
+2157;VULGAR FRACTION THREE FIFTHS;No;0;ON;<fraction> 0033 2044 0035;;;3/5;N;FRACTION THREE FIFTHS;;;;
+2158;VULGAR FRACTION FOUR FIFTHS;No;0;ON;<fraction> 0034 2044 0035;;;4/5;N;FRACTION FOUR FIFTHS;;;;
+2159;VULGAR FRACTION ONE SIXTH;No;0;ON;<fraction> 0031 2044 0036;;;1/6;N;FRACTION ONE SIXTH;;;;
+215A;VULGAR FRACTION FIVE SIXTHS;No;0;ON;<fraction> 0035 2044 0036;;;5/6;N;FRACTION FIVE SIXTHS;;;;
+215B;VULGAR FRACTION ONE EIGHTH;No;0;ON;<fraction> 0031 2044 0038;;;1/8;N;FRACTION ONE EIGHTH;;;;
+215C;VULGAR FRACTION THREE EIGHTHS;No;0;ON;<fraction> 0033 2044 0038;;;3/8;N;FRACTION THREE EIGHTHS;;;;
+215D;VULGAR FRACTION FIVE EIGHTHS;No;0;ON;<fraction> 0035 2044 0038;;;5/8;N;FRACTION FIVE EIGHTHS;;;;
+215E;VULGAR FRACTION SEVEN EIGHTHS;No;0;ON;<fraction> 0037 2044 0038;;;7/8;N;FRACTION SEVEN EIGHTHS;;;;
+215F;FRACTION NUMERATOR ONE;No;0;ON;<fraction> 0031 2044;;;1;N;;;;;
+2160;ROMAN NUMERAL ONE;Nl;0;L;<compat> 0049;;;1;N;;;;2170;
+2161;ROMAN NUMERAL TWO;Nl;0;L;<compat> 0049 0049;;;2;N;;;;2171;
+2162;ROMAN NUMERAL THREE;Nl;0;L;<compat> 0049 0049 0049;;;3;N;;;;2172;
+2163;ROMAN NUMERAL FOUR;Nl;0;L;<compat> 0049 0056;;;4;N;;;;2173;
+2164;ROMAN NUMERAL FIVE;Nl;0;L;<compat> 0056;;;5;N;;;;2174;
+2165;ROMAN NUMERAL SIX;Nl;0;L;<compat> 0056 0049;;;6;N;;;;2175;
+2166;ROMAN NUMERAL SEVEN;Nl;0;L;<compat> 0056 0049 0049;;;7;N;;;;2176;
+2167;ROMAN NUMERAL EIGHT;Nl;0;L;<compat> 0056 0049 0049 0049;;;8;N;;;;2177;
+2168;ROMAN NUMERAL NINE;Nl;0;L;<compat> 0049 0058;;;9;N;;;;2178;
+2169;ROMAN NUMERAL TEN;Nl;0;L;<compat> 0058;;;10;N;;;;2179;
+216A;ROMAN NUMERAL ELEVEN;Nl;0;L;<compat> 0058 0049;;;11;N;;;;217A;
+216B;ROMAN NUMERAL TWELVE;Nl;0;L;<compat> 0058 0049 0049;;;12;N;;;;217B;
+216C;ROMAN NUMERAL FIFTY;Nl;0;L;<compat> 004C;;;50;N;;;;217C;
+216D;ROMAN NUMERAL ONE HUNDRED;Nl;0;L;<compat> 0043;;;100;N;;;;217D;
+216E;ROMAN NUMERAL FIVE HUNDRED;Nl;0;L;<compat> 0044;;;500;N;;;;217E;
+216F;ROMAN NUMERAL ONE THOUSAND;Nl;0;L;<compat> 004D;;;1000;N;;;;217F;
+2170;SMALL ROMAN NUMERAL ONE;Nl;0;L;<compat> 0069;;;1;N;;;2160;;2160
+2171;SMALL ROMAN NUMERAL TWO;Nl;0;L;<compat> 0069 0069;;;2;N;;;2161;;2161
+2172;SMALL ROMAN NUMERAL THREE;Nl;0;L;<compat> 0069 0069 0069;;;3;N;;;2162;;2162
+2173;SMALL ROMAN NUMERAL FOUR;Nl;0;L;<compat> 0069 0076;;;4;N;;;2163;;2163
+2174;SMALL ROMAN NUMERAL FIVE;Nl;0;L;<compat> 0076;;;5;N;;;2164;;2164
+2175;SMALL ROMAN NUMERAL SIX;Nl;0;L;<compat> 0076 0069;;;6;N;;;2165;;2165
+2176;SMALL ROMAN NUMERAL SEVEN;Nl;0;L;<compat> 0076 0069 0069;;;7;N;;;2166;;2166
+2177;SMALL ROMAN NUMERAL EIGHT;Nl;0;L;<compat> 0076 0069 0069 0069;;;8;N;;;2167;;2167
+2178;SMALL ROMAN NUMERAL NINE;Nl;0;L;<compat> 0069 0078;;;9;N;;;2168;;2168
+2179;SMALL ROMAN NUMERAL TEN;Nl;0;L;<compat> 0078;;;10;N;;;2169;;2169
+217A;SMALL ROMAN NUMERAL ELEVEN;Nl;0;L;<compat> 0078 0069;;;11;N;;;216A;;216A
+217B;SMALL ROMAN NUMERAL TWELVE;Nl;0;L;<compat> 0078 0069 0069;;;12;N;;;216B;;216B
+217C;SMALL ROMAN NUMERAL FIFTY;Nl;0;L;<compat> 006C;;;50;N;;;216C;;216C
+217D;SMALL ROMAN NUMERAL ONE HUNDRED;Nl;0;L;<compat> 0063;;;100;N;;;216D;;216D
+217E;SMALL ROMAN NUMERAL FIVE HUNDRED;Nl;0;L;<compat> 0064;;;500;N;;;216E;;216E
+217F;SMALL ROMAN NUMERAL ONE THOUSAND;Nl;0;L;<compat> 006D;;;1000;N;;;216F;;216F
+2180;ROMAN NUMERAL ONE THOUSAND C D;Nl;0;L;;;;1000;N;;;;;
+2181;ROMAN NUMERAL FIVE THOUSAND;Nl;0;L;;;;5000;N;;;;;
+2182;ROMAN NUMERAL TEN THOUSAND;Nl;0;L;;;;10000;N;;;;;
+2183;ROMAN NUMERAL REVERSED ONE HUNDRED;Nl;0;L;;;;;N;;;;;
+2190;LEFTWARDS ARROW;Sm;0;ON;;;;;N;LEFT ARROW;;;;
+2191;UPWARDS ARROW;Sm;0;ON;;;;;N;UP ARROW;;;;
+2192;RIGHTWARDS ARROW;Sm;0;ON;;;;;N;RIGHT ARROW;;;;
+2193;DOWNWARDS ARROW;Sm;0;ON;;;;;N;DOWN ARROW;;;;
+2194;LEFT RIGHT ARROW;Sm;0;ON;;;;;N;;;;;
+2195;UP DOWN ARROW;So;0;ON;;;;;N;;;;;
+2196;NORTH WEST ARROW;So;0;ON;;;;;N;UPPER LEFT ARROW;;;;
+2197;NORTH EAST ARROW;So;0;ON;;;;;N;UPPER RIGHT ARROW;;;;
+2198;SOUTH EAST ARROW;So;0;ON;;;;;N;LOWER RIGHT ARROW;;;;
+2199;SOUTH WEST ARROW;So;0;ON;;;;;N;LOWER LEFT ARROW;;;;
+219A;LEFTWARDS ARROW WITH STROKE;Sm;0;ON;2190 0338;;;;N;LEFT ARROW WITH STROKE;;;;
+219B;RIGHTWARDS ARROW WITH STROKE;Sm;0;ON;2192 0338;;;;N;RIGHT ARROW WITH STROKE;;;;
+219C;LEFTWARDS WAVE ARROW;So;0;ON;;;;;N;LEFT WAVE ARROW;;;;
+219D;RIGHTWARDS WAVE ARROW;So;0;ON;;;;;N;RIGHT WAVE ARROW;;;;
+219E;LEFTWARDS TWO HEADED ARROW;So;0;ON;;;;;N;LEFT TWO HEADED ARROW;;;;
+219F;UPWARDS TWO HEADED ARROW;So;0;ON;;;;;N;UP TWO HEADED ARROW;;;;
+21A0;RIGHTWARDS TWO HEADED ARROW;Sm;0;ON;;;;;N;RIGHT TWO HEADED ARROW;;;;
+21A1;DOWNWARDS TWO HEADED ARROW;So;0;ON;;;;;N;DOWN TWO HEADED ARROW;;;;
+21A2;LEFTWARDS ARROW WITH TAIL;So;0;ON;;;;;N;LEFT ARROW WITH TAIL;;;;
+21A3;RIGHTWARDS ARROW WITH TAIL;Sm;0;ON;;;;;N;RIGHT ARROW WITH TAIL;;;;
+21A4;LEFTWARDS ARROW FROM BAR;So;0;ON;;;;;N;LEFT ARROW FROM BAR;;;;
+21A5;UPWARDS ARROW FROM BAR;So;0;ON;;;;;N;UP ARROW FROM BAR;;;;
+21A6;RIGHTWARDS ARROW FROM BAR;Sm;0;ON;;;;;N;RIGHT ARROW FROM BAR;;;;
+21A7;DOWNWARDS ARROW FROM BAR;So;0;ON;;;;;N;DOWN ARROW FROM BAR;;;;
+21A8;UP DOWN ARROW WITH BASE;So;0;ON;;;;;N;;;;;
+21A9;LEFTWARDS ARROW WITH HOOK;So;0;ON;;;;;N;LEFT ARROW WITH HOOK;;;;
+21AA;RIGHTWARDS ARROW WITH HOOK;So;0;ON;;;;;N;RIGHT ARROW WITH HOOK;;;;
+21AB;LEFTWARDS ARROW WITH LOOP;So;0;ON;;;;;N;LEFT ARROW WITH LOOP;;;;
+21AC;RIGHTWARDS ARROW WITH LOOP;So;0;ON;;;;;N;RIGHT ARROW WITH LOOP;;;;
+21AD;LEFT RIGHT WAVE ARROW;So;0;ON;;;;;N;;;;;
+21AE;LEFT RIGHT ARROW WITH STROKE;Sm;0;ON;2194 0338;;;;N;;;;;
+21AF;DOWNWARDS ZIGZAG ARROW;So;0;ON;;;;;N;DOWN ZIGZAG ARROW;;;;
+21B0;UPWARDS ARROW WITH TIP LEFTWARDS;So;0;ON;;;;;N;UP ARROW WITH TIP LEFT;;;;
+21B1;UPWARDS ARROW WITH TIP RIGHTWARDS;So;0;ON;;;;;N;UP ARROW WITH TIP RIGHT;;;;
+21B2;DOWNWARDS ARROW WITH TIP LEFTWARDS;So;0;ON;;;;;N;DOWN ARROW WITH TIP LEFT;;;;
+21B3;DOWNWARDS ARROW WITH TIP RIGHTWARDS;So;0;ON;;;;;N;DOWN ARROW WITH TIP RIGHT;;;;
+21B4;RIGHTWARDS ARROW WITH CORNER DOWNWARDS;So;0;ON;;;;;N;RIGHT ARROW WITH CORNER DOWN;;;;
+21B5;DOWNWARDS ARROW WITH CORNER LEFTWARDS;So;0;ON;;;;;N;DOWN ARROW WITH CORNER LEFT;;;;
+21B6;ANTICLOCKWISE TOP SEMICIRCLE ARROW;So;0;ON;;;;;N;;;;;
+21B7;CLOCKWISE TOP SEMICIRCLE ARROW;So;0;ON;;;;;N;;;;;
+21B8;NORTH WEST ARROW TO LONG BAR;So;0;ON;;;;;N;UPPER LEFT ARROW TO LONG BAR;;;;
+21B9;LEFTWARDS ARROW TO BAR OVER RIGHTWARDS ARROW TO BAR;So;0;ON;;;;;N;LEFT ARROW TO BAR OVER RIGHT ARROW TO BAR;;;;
+21BA;ANTICLOCKWISE OPEN CIRCLE ARROW;So;0;ON;;;;;N;;;;;
+21BB;CLOCKWISE OPEN CIRCLE ARROW;So;0;ON;;;;;N;;;;;
+21BC;LEFTWARDS HARPOON WITH BARB UPWARDS;So;0;ON;;;;;N;LEFT HARPOON WITH BARB UP;;;;
+21BD;LEFTWARDS HARPOON WITH BARB DOWNWARDS;So;0;ON;;;;;N;LEFT HARPOON WITH BARB DOWN;;;;
+21BE;UPWARDS HARPOON WITH BARB RIGHTWARDS;So;0;ON;;;;;N;UP HARPOON WITH BARB RIGHT;;;;
+21BF;UPWARDS HARPOON WITH BARB LEFTWARDS;So;0;ON;;;;;N;UP HARPOON WITH BARB LEFT;;;;
+21C0;RIGHTWARDS HARPOON WITH BARB UPWARDS;So;0;ON;;;;;N;RIGHT HARPOON WITH BARB UP;;;;
+21C1;RIGHTWARDS HARPOON WITH BARB DOWNWARDS;So;0;ON;;;;;N;RIGHT HARPOON WITH BARB DOWN;;;;
+21C2;DOWNWARDS HARPOON WITH BARB RIGHTWARDS;So;0;ON;;;;;N;DOWN HARPOON WITH BARB RIGHT;;;;
+21C3;DOWNWARDS HARPOON WITH BARB LEFTWARDS;So;0;ON;;;;;N;DOWN HARPOON WITH BARB LEFT;;;;
+21C4;RIGHTWARDS ARROW OVER LEFTWARDS ARROW;So;0;ON;;;;;N;RIGHT ARROW OVER LEFT ARROW;;;;
+21C5;UPWARDS ARROW LEFTWARDS OF DOWNWARDS ARROW;So;0;ON;;;;;N;UP ARROW LEFT OF DOWN ARROW;;;;
+21C6;LEFTWARDS ARROW OVER RIGHTWARDS ARROW;So;0;ON;;;;;N;LEFT ARROW OVER RIGHT ARROW;;;;
+21C7;LEFTWARDS PAIRED ARROWS;So;0;ON;;;;;N;LEFT PAIRED ARROWS;;;;
+21C8;UPWARDS PAIRED ARROWS;So;0;ON;;;;;N;UP PAIRED ARROWS;;;;
+21C9;RIGHTWARDS PAIRED ARROWS;So;0;ON;;;;;N;RIGHT PAIRED ARROWS;;;;
+21CA;DOWNWARDS PAIRED ARROWS;So;0;ON;;;;;N;DOWN PAIRED ARROWS;;;;
+21CB;LEFTWARDS HARPOON OVER RIGHTWARDS HARPOON;So;0;ON;;;;;N;LEFT HARPOON OVER RIGHT HARPOON;;;;
+21CC;RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON;So;0;ON;;;;;N;RIGHT HARPOON OVER LEFT HARPOON;;;;
+21CD;LEFTWARDS DOUBLE ARROW WITH STROKE;So;0;ON;21D0 0338;;;;N;LEFT DOUBLE ARROW WITH STROKE;;;;
+21CE;LEFT RIGHT DOUBLE ARROW WITH STROKE;Sm;0;ON;21D4 0338;;;;N;;;;;
+21CF;RIGHTWARDS DOUBLE ARROW WITH STROKE;Sm;0;ON;21D2 0338;;;;N;RIGHT DOUBLE ARROW WITH STROKE;;;;
+21D0;LEFTWARDS DOUBLE ARROW;So;0;ON;;;;;N;LEFT DOUBLE ARROW;;;;
+21D1;UPWARDS DOUBLE ARROW;So;0;ON;;;;;N;UP DOUBLE ARROW;;;;
+21D2;RIGHTWARDS DOUBLE ARROW;Sm;0;ON;;;;;N;RIGHT DOUBLE ARROW;;;;
+21D3;DOWNWARDS DOUBLE ARROW;So;0;ON;;;;;N;DOWN DOUBLE ARROW;;;;
+21D4;LEFT RIGHT DOUBLE ARROW;Sm;0;ON;;;;;N;;;;;
+21D5;UP DOWN DOUBLE ARROW;So;0;ON;;;;;N;;;;;
+21D6;NORTH WEST DOUBLE ARROW;So;0;ON;;;;;N;UPPER LEFT DOUBLE ARROW;;;;
+21D7;NORTH EAST DOUBLE ARROW;So;0;ON;;;;;N;UPPER RIGHT DOUBLE ARROW;;;;
+21D8;SOUTH EAST DOUBLE ARROW;So;0;ON;;;;;N;LOWER RIGHT DOUBLE ARROW;;;;
+21D9;SOUTH WEST DOUBLE ARROW;So;0;ON;;;;;N;LOWER LEFT DOUBLE ARROW;;;;
+21DA;LEFTWARDS TRIPLE ARROW;So;0;ON;;;;;N;LEFT TRIPLE ARROW;;;;
+21DB;RIGHTWARDS TRIPLE ARROW;So;0;ON;;;;;N;RIGHT TRIPLE ARROW;;;;
+21DC;LEFTWARDS SQUIGGLE ARROW;So;0;ON;;;;;N;LEFT SQUIGGLE ARROW;;;;
+21DD;RIGHTWARDS SQUIGGLE ARROW;So;0;ON;;;;;N;RIGHT SQUIGGLE ARROW;;;;
+21DE;UPWARDS ARROW WITH DOUBLE STROKE;So;0;ON;;;;;N;UP ARROW WITH DOUBLE STROKE;;;;
+21DF;DOWNWARDS ARROW WITH DOUBLE STROKE;So;0;ON;;;;;N;DOWN ARROW WITH DOUBLE STROKE;;;;
+21E0;LEFTWARDS DASHED ARROW;So;0;ON;;;;;N;LEFT DASHED ARROW;;;;
+21E1;UPWARDS DASHED ARROW;So;0;ON;;;;;N;UP DASHED ARROW;;;;
+21E2;RIGHTWARDS DASHED ARROW;So;0;ON;;;;;N;RIGHT DASHED ARROW;;;;
+21E3;DOWNWARDS DASHED ARROW;So;0;ON;;;;;N;DOWN DASHED ARROW;;;;
+21E4;LEFTWARDS ARROW TO BAR;So;0;ON;;;;;N;LEFT ARROW TO BAR;;;;
+21E5;RIGHTWARDS ARROW TO BAR;So;0;ON;;;;;N;RIGHT ARROW TO BAR;;;;
+21E6;LEFTWARDS WHITE ARROW;So;0;ON;;;;;N;WHITE LEFT ARROW;;;;
+21E7;UPWARDS WHITE ARROW;So;0;ON;;;;;N;WHITE UP ARROW;;;;
+21E8;RIGHTWARDS WHITE ARROW;So;0;ON;;;;;N;WHITE RIGHT ARROW;;;;
+21E9;DOWNWARDS WHITE ARROW;So;0;ON;;;;;N;WHITE DOWN ARROW;;;;
+21EA;UPWARDS WHITE ARROW FROM BAR;So;0;ON;;;;;N;WHITE UP ARROW FROM BAR;;;;
+21EB;UPWARDS WHITE ARROW ON PEDESTAL;So;0;ON;;;;;N;;;;;
+21EC;UPWARDS WHITE ARROW ON PEDESTAL WITH HORIZONTAL BAR;So;0;ON;;;;;N;;;;;
+21ED;UPWARDS WHITE ARROW ON PEDESTAL WITH VERTICAL BAR;So;0;ON;;;;;N;;;;;
+21EE;UPWARDS WHITE DOUBLE ARROW;So;0;ON;;;;;N;;;;;
+21EF;UPWARDS WHITE DOUBLE ARROW ON PEDESTAL;So;0;ON;;;;;N;;;;;
+21F0;RIGHTWARDS WHITE ARROW FROM WALL;So;0;ON;;;;;N;;;;;
+21F1;NORTH WEST ARROW TO CORNER;So;0;ON;;;;;N;;;;;
+21F2;SOUTH EAST ARROW TO CORNER;So;0;ON;;;;;N;;;;;
+21F3;UP DOWN WHITE ARROW;So;0;ON;;;;;N;;;;;
+21F4;RIGHT ARROW WITH SMALL CIRCLE;Sm;0;ON;;;;;N;;;;;
+21F5;DOWNWARDS ARROW LEFTWARDS OF UPWARDS ARROW;Sm;0;ON;;;;;N;;;;;
+21F6;THREE RIGHTWARDS ARROWS;Sm;0;ON;;;;;N;;;;;
+21F7;LEFTWARDS ARROW WITH VERTICAL STROKE;Sm;0;ON;;;;;N;;;;;
+21F8;RIGHTWARDS ARROW WITH VERTICAL STROKE;Sm;0;ON;;;;;N;;;;;
+21F9;LEFT RIGHT ARROW WITH VERTICAL STROKE;Sm;0;ON;;;;;N;;;;;
+21FA;LEFTWARDS ARROW WITH DOUBLE VERTICAL STROKE;Sm;0;ON;;;;;N;;;;;
+21FB;RIGHTWARDS ARROW WITH DOUBLE VERTICAL STROKE;Sm;0;ON;;;;;N;;;;;
+21FC;LEFT RIGHT ARROW WITH DOUBLE VERTICAL STROKE;Sm;0;ON;;;;;N;;;;;
+21FD;LEFTWARDS OPEN-HEADED ARROW;Sm;0;ON;;;;;N;;;;;
+21FE;RIGHTWARDS OPEN-HEADED ARROW;Sm;0;ON;;;;;N;;;;;
+21FF;LEFT RIGHT OPEN-HEADED ARROW;Sm;0;ON;;;;;N;;;;;
+2200;FOR ALL;Sm;0;ON;;;;;N;;;;;
+2201;COMPLEMENT;Sm;0;ON;;;;;Y;;;;;
+2202;PARTIAL DIFFERENTIAL;Sm;0;ON;;;;;Y;;;;;
+2203;THERE EXISTS;Sm;0;ON;;;;;Y;;;;;
+2204;THERE DOES NOT EXIST;Sm;0;ON;2203 0338;;;;Y;;;;;
+2205;EMPTY SET;Sm;0;ON;;;;;N;;;;;
+2206;INCREMENT;Sm;0;ON;;;;;N;;;;;
+2207;NABLA;Sm;0;ON;;;;;N;;;;;
+2208;ELEMENT OF;Sm;0;ON;;;;;Y;;;;;
+2209;NOT AN ELEMENT OF;Sm;0;ON;2208 0338;;;;Y;;;;;
+220A;SMALL ELEMENT OF;Sm;0;ON;;;;;Y;;;;;
+220B;CONTAINS AS MEMBER;Sm;0;ON;;;;;Y;;;;;
+220C;DOES NOT CONTAIN AS MEMBER;Sm;0;ON;220B 0338;;;;Y;;;;;
+220D;SMALL CONTAINS AS MEMBER;Sm;0;ON;;;;;Y;;;;;
+220E;END OF PROOF;Sm;0;ON;;;;;N;;;;;
+220F;N-ARY PRODUCT;Sm;0;ON;;;;;N;;;;;
+2210;N-ARY COPRODUCT;Sm;0;ON;;;;;N;;;;;
+2211;N-ARY SUMMATION;Sm;0;ON;;;;;Y;;;;;
+2212;MINUS SIGN;Sm;0;ES;;;;;N;;;;;
+2213;MINUS-OR-PLUS SIGN;Sm;0;ET;;;;;N;;;;;
+2214;DOT PLUS;Sm;0;ON;;;;;N;;;;;
+2215;DIVISION SLASH;Sm;0;ON;;;;;Y;;;;;
+2216;SET MINUS;Sm;0;ON;;;;;Y;;;;;
+2217;ASTERISK OPERATOR;Sm;0;ON;;;;;N;;;;;
+2218;RING OPERATOR;Sm;0;ON;;;;;N;;;;;
+2219;BULLET OPERATOR;Sm;0;ON;;;;;N;;;;;
+221A;SQUARE ROOT;Sm;0;ON;;;;;Y;;;;;
+221B;CUBE ROOT;Sm;0;ON;;;;;Y;;;;;
+221C;FOURTH ROOT;Sm;0;ON;;;;;Y;;;;;
+221D;PROPORTIONAL TO;Sm;0;ON;;;;;Y;;;;;
+221E;INFINITY;Sm;0;ON;;;;;N;;;;;
+221F;RIGHT ANGLE;Sm;0;ON;;;;;Y;;;;;
+2220;ANGLE;Sm;0;ON;;;;;Y;;;;;
+2221;MEASURED ANGLE;Sm;0;ON;;;;;Y;;;;;
+2222;SPHERICAL ANGLE;Sm;0;ON;;;;;Y;;;;;
+2223;DIVIDES;Sm;0;ON;;;;;N;;;;;
+2224;DOES NOT DIVIDE;Sm;0;ON;2223 0338;;;;Y;;;;;
+2225;PARALLEL TO;Sm;0;ON;;;;;N;;;;;
+2226;NOT PARALLEL TO;Sm;0;ON;2225 0338;;;;Y;;;;;
+2227;LOGICAL AND;Sm;0;ON;;;;;N;;;;;
+2228;LOGICAL OR;Sm;0;ON;;;;;N;;;;;
+2229;INTERSECTION;Sm;0;ON;;;;;N;;;;;
+222A;UNION;Sm;0;ON;;;;;N;;;;;
+222B;INTEGRAL;Sm;0;ON;;;;;Y;;;;;
+222C;DOUBLE INTEGRAL;Sm;0;ON;<compat> 222B 222B;;;;Y;;;;;
+222D;TRIPLE INTEGRAL;Sm;0;ON;<compat> 222B 222B 222B;;;;Y;;;;;
+222E;CONTOUR INTEGRAL;Sm;0;ON;;;;;Y;;;;;
+222F;SURFACE INTEGRAL;Sm;0;ON;<compat> 222E 222E;;;;Y;;;;;
+2230;VOLUME INTEGRAL;Sm;0;ON;<compat> 222E 222E 222E;;;;Y;;;;;
+2231;CLOCKWISE INTEGRAL;Sm;0;ON;;;;;Y;;;;;
+2232;CLOCKWISE CONTOUR INTEGRAL;Sm;0;ON;;;;;Y;;;;;
+2233;ANTICLOCKWISE CONTOUR INTEGRAL;Sm;0;ON;;;;;Y;;;;;
+2234;THEREFORE;Sm;0;ON;;;;;N;;;;;
+2235;BECAUSE;Sm;0;ON;;;;;N;;;;;
+2236;RATIO;Sm;0;ON;;;;;N;;;;;
+2237;PROPORTION;Sm;0;ON;;;;;N;;;;;
+2238;DOT MINUS;Sm;0;ON;;;;;N;;;;;
+2239;EXCESS;Sm;0;ON;;;;;Y;;;;;
+223A;GEOMETRIC PROPORTION;Sm;0;ON;;;;;N;;;;;
+223B;HOMOTHETIC;Sm;0;ON;;;;;Y;;;;;
+223C;TILDE OPERATOR;Sm;0;ON;;;;;Y;;;;;
+223D;REVERSED TILDE;Sm;0;ON;;;;;Y;;lazy S;;;
+223E;INVERTED LAZY S;Sm;0;ON;;;;;Y;;;;;
+223F;SINE WAVE;Sm;0;ON;;;;;Y;;;;;
+2240;WREATH PRODUCT;Sm;0;ON;;;;;Y;;;;;
+2241;NOT TILDE;Sm;0;ON;223C 0338;;;;Y;;;;;
+2242;MINUS TILDE;Sm;0;ON;;;;;Y;;;;;
+2243;ASYMPTOTICALLY EQUAL TO;Sm;0;ON;;;;;Y;;;;;
+2244;NOT ASYMPTOTICALLY EQUAL TO;Sm;0;ON;2243 0338;;;;Y;;;;;
+2245;APPROXIMATELY EQUAL TO;Sm;0;ON;;;;;Y;;;;;
+2246;APPROXIMATELY BUT NOT ACTUALLY EQUAL TO;Sm;0;ON;;;;;Y;;;;;
+2247;NEITHER APPROXIMATELY NOR ACTUALLY EQUAL TO;Sm;0;ON;2245 0338;;;;Y;;;;;
+2248;ALMOST EQUAL TO;Sm;0;ON;;;;;Y;;;;;
+2249;NOT ALMOST EQUAL TO;Sm;0;ON;2248 0338;;;;Y;;;;;
+224A;ALMOST EQUAL OR EQUAL TO;Sm;0;ON;;;;;Y;;;;;
+224B;TRIPLE TILDE;Sm;0;ON;;;;;Y;;;;;
+224C;ALL EQUAL TO;Sm;0;ON;;;;;Y;;;;;
+224D;EQUIVALENT TO;Sm;0;ON;;;;;N;;;;;
+224E;GEOMETRICALLY EQUIVALENT TO;Sm;0;ON;;;;;N;;;;;
+224F;DIFFERENCE BETWEEN;Sm;0;ON;;;;;N;;;;;
+2250;APPROACHES THE LIMIT;Sm;0;ON;;;;;N;;;;;
+2251;GEOMETRICALLY EQUAL TO;Sm;0;ON;;;;;N;;;;;
+2252;APPROXIMATELY EQUAL TO OR THE IMAGE OF;Sm;0;ON;;;;;Y;;;;;
+2253;IMAGE OF OR APPROXIMATELY EQUAL TO;Sm;0;ON;;;;;Y;;;;;
+2254;COLON EQUALS;Sm;0;ON;;;;;Y;COLON EQUAL;;;;
+2255;EQUALS COLON;Sm;0;ON;;;;;Y;EQUAL COLON;;;;
+2256;RING IN EQUAL TO;Sm;0;ON;;;;;N;;;;;
+2257;RING EQUAL TO;Sm;0;ON;;;;;N;;;;;
+2258;CORRESPONDS TO;Sm;0;ON;;;;;N;;;;;
+2259;ESTIMATES;Sm;0;ON;;;;;N;;;;;
+225A;EQUIANGULAR TO;Sm;0;ON;;;;;N;;;;;
+225B;STAR EQUALS;Sm;0;ON;;;;;N;;;;;
+225C;DELTA EQUAL TO;Sm;0;ON;;;;;N;;;;;
+225D;EQUAL TO BY DEFINITION;Sm;0;ON;;;;;N;;;;;
+225E;MEASURED BY;Sm;0;ON;;;;;N;;;;;
+225F;QUESTIONED EQUAL TO;Sm;0;ON;;;;;Y;;;;;
+2260;NOT EQUAL TO;Sm;0;ON;003D 0338;;;;Y;;;;;
+2261;IDENTICAL TO;Sm;0;ON;;;;;N;;;;;
+2262;NOT IDENTICAL TO;Sm;0;ON;2261 0338;;;;Y;;;;;
+2263;STRICTLY EQUIVALENT TO;Sm;0;ON;;;;;N;;;;;
+2264;LESS-THAN OR EQUAL TO;Sm;0;ON;;;;;Y;LESS THAN OR EQUAL TO;;;;
+2265;GREATER-THAN OR EQUAL TO;Sm;0;ON;;;;;Y;GREATER THAN OR EQUAL TO;;;;
+2266;LESS-THAN OVER EQUAL TO;Sm;0;ON;;;;;Y;LESS THAN OVER EQUAL TO;;;;
+2267;GREATER-THAN OVER EQUAL TO;Sm;0;ON;;;;;Y;GREATER THAN OVER EQUAL TO;;;;
+2268;LESS-THAN BUT NOT EQUAL TO;Sm;0;ON;;;;;Y;LESS THAN BUT NOT EQUAL TO;;;;
+2269;GREATER-THAN BUT NOT EQUAL TO;Sm;0;ON;;;;;Y;GREATER THAN BUT NOT EQUAL TO;;;;
+226A;MUCH LESS-THAN;Sm;0;ON;;;;;Y;MUCH LESS THAN;;;;
+226B;MUCH GREATER-THAN;Sm;0;ON;;;;;Y;MUCH GREATER THAN;;;;
+226C;BETWEEN;Sm;0;ON;;;;;N;;;;;
+226D;NOT EQUIVALENT TO;Sm;0;ON;224D 0338;;;;N;;;;;
+226E;NOT LESS-THAN;Sm;0;ON;003C 0338;;;;Y;NOT LESS THAN;;;;
+226F;NOT GREATER-THAN;Sm;0;ON;003E 0338;;;;Y;NOT GREATER THAN;;;;
+2270;NEITHER LESS-THAN NOR EQUAL TO;Sm;0;ON;2264 0338;;;;Y;NEITHER LESS THAN NOR EQUAL TO;;;;
+2271;NEITHER GREATER-THAN NOR EQUAL TO;Sm;0;ON;2265 0338;;;;Y;NEITHER GREATER THAN NOR EQUAL TO;;;;
+2272;LESS-THAN OR EQUIVALENT TO;Sm;0;ON;;;;;Y;LESS THAN OR EQUIVALENT TO;;;;
+2273;GREATER-THAN OR EQUIVALENT TO;Sm;0;ON;;;;;Y;GREATER THAN OR EQUIVALENT TO;;;;
+2274;NEITHER LESS-THAN NOR EQUIVALENT TO;Sm;0;ON;2272 0338;;;;Y;NEITHER LESS THAN NOR EQUIVALENT TO;;;;
+2275;NEITHER GREATER-THAN NOR EQUIVALENT TO;Sm;0;ON;2273 0338;;;;Y;NEITHER GREATER THAN NOR EQUIVALENT TO;;;;
+2276;LESS-THAN OR GREATER-THAN;Sm;0;ON;;;;;Y;LESS THAN OR GREATER THAN;;;;
+2277;GREATER-THAN OR LESS-THAN;Sm;0;ON;;;;;Y;GREATER THAN OR LESS THAN;;;;
+2278;NEITHER LESS-THAN NOR GREATER-THAN;Sm;0;ON;2276 0338;;;;Y;NEITHER LESS THAN NOR GREATER THAN;;;;
+2279;NEITHER GREATER-THAN NOR LESS-THAN;Sm;0;ON;2277 0338;;;;Y;NEITHER GREATER THAN NOR LESS THAN;;;;
+227A;PRECEDES;Sm;0;ON;;;;;Y;;;;;
+227B;SUCCEEDS;Sm;0;ON;;;;;Y;;;;;
+227C;PRECEDES OR EQUAL TO;Sm;0;ON;;;;;Y;;;;;
+227D;SUCCEEDS OR EQUAL TO;Sm;0;ON;;;;;Y;;;;;
+227E;PRECEDES OR EQUIVALENT TO;Sm;0;ON;;;;;Y;;;;;
+227F;SUCCEEDS OR EQUIVALENT TO;Sm;0;ON;;;;;Y;;;;;
+2280;DOES NOT PRECEDE;Sm;0;ON;227A 0338;;;;Y;;;;;
+2281;DOES NOT SUCCEED;Sm;0;ON;227B 0338;;;;Y;;;;;
+2282;SUBSET OF;Sm;0;ON;;;;;Y;;;;;
+2283;SUPERSET OF;Sm;0;ON;;;;;Y;;;;;
+2284;NOT A SUBSET OF;Sm;0;ON;2282 0338;;;;Y;;;;;
+2285;NOT A SUPERSET OF;Sm;0;ON;2283 0338;;;;Y;;;;;
+2286;SUBSET OF OR EQUAL TO;Sm;0;ON;;;;;Y;;;;;
+2287;SUPERSET OF OR EQUAL TO;Sm;0;ON;;;;;Y;;;;;
+2288;NEITHER A SUBSET OF NOR EQUAL TO;Sm;0;ON;2286 0338;;;;Y;;;;;
+2289;NEITHER A SUPERSET OF NOR EQUAL TO;Sm;0;ON;2287 0338;;;;Y;;;;;
+228A;SUBSET OF WITH NOT EQUAL TO;Sm;0;ON;;;;;Y;SUBSET OF OR NOT EQUAL TO;;;;
+228B;SUPERSET OF WITH NOT EQUAL TO;Sm;0;ON;;;;;Y;SUPERSET OF OR NOT EQUAL TO;;;;
+228C;MULTISET;Sm;0;ON;;;;;Y;;;;;
+228D;MULTISET MULTIPLICATION;Sm;0;ON;;;;;N;;;;;
+228E;MULTISET UNION;Sm;0;ON;;;;;N;;;;;
+228F;SQUARE IMAGE OF;Sm;0;ON;;;;;Y;;;;;
+2290;SQUARE ORIGINAL OF;Sm;0;ON;;;;;Y;;;;;
+2291;SQUARE IMAGE OF OR EQUAL TO;Sm;0;ON;;;;;Y;;;;;
+2292;SQUARE ORIGINAL OF OR EQUAL TO;Sm;0;ON;;;;;Y;;;;;
+2293;SQUARE CAP;Sm;0;ON;;;;;N;;;;;
+2294;SQUARE CUP;Sm;0;ON;;;;;N;;;;;
+2295;CIRCLED PLUS;Sm;0;ON;;;;;N;;;;;
+2296;CIRCLED MINUS;Sm;0;ON;;;;;N;;;;;
+2297;CIRCLED TIMES;Sm;0;ON;;;;;N;;;;;
+2298;CIRCLED DIVISION SLASH;Sm;0;ON;;;;;Y;;;;;
+2299;CIRCLED DOT OPERATOR;Sm;0;ON;;;;;N;;;;;
+229A;CIRCLED RING OPERATOR;Sm;0;ON;;;;;N;;;;;
+229B;CIRCLED ASTERISK OPERATOR;Sm;0;ON;;;;;N;;;;;
+229C;CIRCLED EQUALS;Sm;0;ON;;;;;N;;;;;
+229D;CIRCLED DASH;Sm;0;ON;;;;;N;;;;;
+229E;SQUARED PLUS;Sm;0;ON;;;;;N;;;;;
+229F;SQUARED MINUS;Sm;0;ON;;;;;N;;;;;
+22A0;SQUARED TIMES;Sm;0;ON;;;;;N;;;;;
+22A1;SQUARED DOT OPERATOR;Sm;0;ON;;;;;N;;;;;
+22A2;RIGHT TACK;Sm;0;ON;;;;;Y;;;;;
+22A3;LEFT TACK;Sm;0;ON;;;;;Y;;;;;
+22A4;DOWN TACK;Sm;0;ON;;;;;N;;;;;
+22A5;UP TACK;Sm;0;ON;;;;;N;;;;;
+22A6;ASSERTION;Sm;0;ON;;;;;Y;;;;;
+22A7;MODELS;Sm;0;ON;;;;;Y;;;;;
+22A8;TRUE;Sm;0;ON;;;;;Y;;;;;
+22A9;FORCES;Sm;0;ON;;;;;Y;;;;;
+22AA;TRIPLE VERTICAL BAR RIGHT TURNSTILE;Sm;0;ON;;;;;Y;;;;;
+22AB;DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE;Sm;0;ON;;;;;Y;;;;;
+22AC;DOES NOT PROVE;Sm;0;ON;22A2 0338;;;;Y;;;;;
+22AD;NOT TRUE;Sm;0;ON;22A8 0338;;;;Y;;;;;
+22AE;DOES NOT FORCE;Sm;0;ON;22A9 0338;;;;Y;;;;;
+22AF;NEGATED DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE;Sm;0;ON;22AB 0338;;;;Y;;;;;
+22B0;PRECEDES UNDER RELATION;Sm;0;ON;;;;;Y;;;;;
+22B1;SUCCEEDS UNDER RELATION;Sm;0;ON;;;;;Y;;;;;
+22B2;NORMAL SUBGROUP OF;Sm;0;ON;;;;;Y;;;;;
+22B3;CONTAINS AS NORMAL SUBGROUP;Sm;0;ON;;;;;Y;;;;;
+22B4;NORMAL SUBGROUP OF OR EQUAL TO;Sm;0;ON;;;;;Y;;;;;
+22B5;CONTAINS AS NORMAL SUBGROUP OR EQUAL TO;Sm;0;ON;;;;;Y;;;;;
+22B6;ORIGINAL OF;Sm;0;ON;;;;;Y;;;;;
+22B7;IMAGE OF;Sm;0;ON;;;;;Y;;;;;
+22B8;MULTIMAP;Sm;0;ON;;;;;Y;;;;;
+22B9;HERMITIAN CONJUGATE MATRIX;Sm;0;ON;;;;;N;;;;;
+22BA;INTERCALATE;Sm;0;ON;;;;;N;;;;;
+22BB;XOR;Sm;0;ON;;;;;N;;;;;
+22BC;NAND;Sm;0;ON;;;;;N;;;;;
+22BD;NOR;Sm;0;ON;;;;;N;;;;;
+22BE;RIGHT ANGLE WITH ARC;Sm;0;ON;;;;;Y;;;;;
+22BF;RIGHT TRIANGLE;Sm;0;ON;;;;;Y;;;;;
+22C0;N-ARY LOGICAL AND;Sm;0;ON;;;;;N;;;;;
+22C1;N-ARY LOGICAL OR;Sm;0;ON;;;;;N;;;;;
+22C2;N-ARY INTERSECTION;Sm;0;ON;;;;;N;;;;;
+22C3;N-ARY UNION;Sm;0;ON;;;;;N;;;;;
+22C4;DIAMOND OPERATOR;Sm;0;ON;;;;;N;;;;;
+22C5;DOT OPERATOR;Sm;0;ON;;;;;N;;;;;
+22C6;STAR OPERATOR;Sm;0;ON;;;;;N;;;;;
+22C7;DIVISION TIMES;Sm;0;ON;;;;;N;;;;;
+22C8;BOWTIE;Sm;0;ON;;;;;N;;;;;
+22C9;LEFT NORMAL FACTOR SEMIDIRECT PRODUCT;Sm;0;ON;;;;;Y;;;;;
+22CA;RIGHT NORMAL FACTOR SEMIDIRECT PRODUCT;Sm;0;ON;;;;;Y;;;;;
+22CB;LEFT SEMIDIRECT PRODUCT;Sm;0;ON;;;;;Y;;;;;
+22CC;RIGHT SEMIDIRECT PRODUCT;Sm;0;ON;;;;;Y;;;;;
+22CD;REVERSED TILDE EQUALS;Sm;0;ON;;;;;Y;;;;;
+22CE;CURLY LOGICAL OR;Sm;0;ON;;;;;N;;;;;
+22CF;CURLY LOGICAL AND;Sm;0;ON;;;;;N;;;;;
+22D0;DOUBLE SUBSET;Sm;0;ON;;;;;Y;;;;;
+22D1;DOUBLE SUPERSET;Sm;0;ON;;;;;Y;;;;;
+22D2;DOUBLE INTERSECTION;Sm;0;ON;;;;;N;;;;;
+22D3;DOUBLE UNION;Sm;0;ON;;;;;N;;;;;
+22D4;PITCHFORK;Sm;0;ON;;;;;N;;;;;
+22D5;EQUAL AND PARALLEL TO;Sm;0;ON;;;;;N;;;;;
+22D6;LESS-THAN WITH DOT;Sm;0;ON;;;;;Y;LESS THAN WITH DOT;;;;
+22D7;GREATER-THAN WITH DOT;Sm;0;ON;;;;;Y;GREATER THAN WITH DOT;;;;
+22D8;VERY MUCH LESS-THAN;Sm;0;ON;;;;;Y;VERY MUCH LESS THAN;;;;
+22D9;VERY MUCH GREATER-THAN;Sm;0;ON;;;;;Y;VERY MUCH GREATER THAN;;;;
+22DA;LESS-THAN EQUAL TO OR GREATER-THAN;Sm;0;ON;;;;;Y;LESS THAN EQUAL TO OR GREATER THAN;;;;
+22DB;GREATER-THAN EQUAL TO OR LESS-THAN;Sm;0;ON;;;;;Y;GREATER THAN EQUAL TO OR LESS THAN;;;;
+22DC;EQUAL TO OR LESS-THAN;Sm;0;ON;;;;;Y;EQUAL TO OR LESS THAN;;;;
+22DD;EQUAL TO OR GREATER-THAN;Sm;0;ON;;;;;Y;EQUAL TO OR GREATER THAN;;;;
+22DE;EQUAL TO OR PRECEDES;Sm;0;ON;;;;;Y;;;;;
+22DF;EQUAL TO OR SUCCEEDS;Sm;0;ON;;;;;Y;;;;;
+22E0;DOES NOT PRECEDE OR EQUAL;Sm;0;ON;227C 0338;;;;Y;;;;;
+22E1;DOES NOT SUCCEED OR EQUAL;Sm;0;ON;227D 0338;;;;Y;;;;;
+22E2;NOT SQUARE IMAGE OF OR EQUAL TO;Sm;0;ON;2291 0338;;;;Y;;;;;
+22E3;NOT SQUARE ORIGINAL OF OR EQUAL TO;Sm;0;ON;2292 0338;;;;Y;;;;;
+22E4;SQUARE IMAGE OF OR NOT EQUAL TO;Sm;0;ON;;;;;Y;;;;;
+22E5;SQUARE ORIGINAL OF OR NOT EQUAL TO;Sm;0;ON;;;;;Y;;;;;
+22E6;LESS-THAN BUT NOT EQUIVALENT TO;Sm;0;ON;;;;;Y;LESS THAN BUT NOT EQUIVALENT TO;;;;
+22E7;GREATER-THAN BUT NOT EQUIVALENT TO;Sm;0;ON;;;;;Y;GREATER THAN BUT NOT EQUIVALENT TO;;;;
+22E8;PRECEDES BUT NOT EQUIVALENT TO;Sm;0;ON;;;;;Y;;;;;
+22E9;SUCCEEDS BUT NOT EQUIVALENT TO;Sm;0;ON;;;;;Y;;;;;
+22EA;NOT NORMAL SUBGROUP OF;Sm;0;ON;22B2 0338;;;;Y;;;;;
+22EB;DOES NOT CONTAIN AS NORMAL SUBGROUP;Sm;0;ON;22B3 0338;;;;Y;;;;;
+22EC;NOT NORMAL SUBGROUP OF OR EQUAL TO;Sm;0;ON;22B4 0338;;;;Y;;;;;
+22ED;DOES NOT CONTAIN AS NORMAL SUBGROUP OR EQUAL;Sm;0;ON;22B5 0338;;;;Y;;;;;
+22EE;VERTICAL ELLIPSIS;Sm;0;ON;;;;;N;;;;;
+22EF;MIDLINE HORIZONTAL ELLIPSIS;Sm;0;ON;;;;;N;;;;;
+22F0;UP RIGHT DIAGONAL ELLIPSIS;Sm;0;ON;;;;;Y;;;;;
+22F1;DOWN RIGHT DIAGONAL ELLIPSIS;Sm;0;ON;;;;;Y;;;;;
+22F2;ELEMENT OF WITH LONG HORIZONTAL STROKE;Sm;0;ON;;;;;Y;;;;;
+22F3;ELEMENT OF WITH VERTICAL BAR AT END OF HORIZONTAL STROKE;Sm;0;ON;;;;;Y;;;;;
+22F4;SMALL ELEMENT OF WITH VERTICAL BAR AT END OF HORIZONTAL STROKE;Sm;0;ON;;;;;Y;;;;;
+22F5;ELEMENT OF WITH DOT ABOVE;Sm;0;ON;;;;;Y;;;;;
+22F6;ELEMENT OF WITH OVERBAR;Sm;0;ON;;;;;Y;;;;;
+22F7;SMALL ELEMENT OF WITH OVERBAR;Sm;0;ON;;;;;Y;;;;;
+22F8;ELEMENT OF WITH UNDERBAR;Sm;0;ON;;;;;Y;;;;;
+22F9;ELEMENT OF WITH TWO HORIZONTAL STROKES;Sm;0;ON;;;;;Y;;;;;
+22FA;CONTAINS WITH LONG HORIZONTAL STROKE;Sm;0;ON;;;;;Y;;;;;
+22FB;CONTAINS WITH VERTICAL BAR AT END OF HORIZONTAL STROKE;Sm;0;ON;;;;;Y;;;;;
+22FC;SMALL CONTAINS WITH VERTICAL BAR AT END OF HORIZONTAL STROKE;Sm;0;ON;;;;;Y;;;;;
+22FD;CONTAINS WITH OVERBAR;Sm;0;ON;;;;;Y;;;;;
+22FE;SMALL CONTAINS WITH OVERBAR;Sm;0;ON;;;;;Y;;;;;
+22FF;Z NOTATION BAG MEMBERSHIP;Sm;0;ON;;;;;Y;;;;;
+2300;DIAMETER SIGN;So;0;ON;;;;;N;;;;;
+2301;ELECTRIC ARROW;So;0;ON;;;;;N;;;;;
+2302;HOUSE;So;0;ON;;;;;N;;;;;
+2303;UP ARROWHEAD;So;0;ON;;;;;N;;;;;
+2304;DOWN ARROWHEAD;So;0;ON;;;;;N;;;;;
+2305;PROJECTIVE;So;0;ON;;;;;N;;;;;
+2306;PERSPECTIVE;So;0;ON;;;;;N;;;;;
+2307;WAVY LINE;So;0;ON;;;;;N;;;;;
+2308;LEFT CEILING;Sm;0;ON;;;;;Y;;;;;
+2309;RIGHT CEILING;Sm;0;ON;;;;;Y;;;;;
+230A;LEFT FLOOR;Sm;0;ON;;;;;Y;;;;;
+230B;RIGHT FLOOR;Sm;0;ON;;;;;Y;;;;;
+230C;BOTTOM RIGHT CROP;So;0;ON;;;;;N;;;;;
+230D;BOTTOM LEFT CROP;So;0;ON;;;;;N;;;;;
+230E;TOP RIGHT CROP;So;0;ON;;;;;N;;;;;
+230F;TOP LEFT CROP;So;0;ON;;;;;N;;;;;
+2310;REVERSED NOT SIGN;So;0;ON;;;;;N;;;;;
+2311;SQUARE LOZENGE;So;0;ON;;;;;N;;;;;
+2312;ARC;So;0;ON;;;;;N;;;;;
+2313;SEGMENT;So;0;ON;;;;;N;;;;;
+2314;SECTOR;So;0;ON;;;;;N;;;;;
+2315;TELEPHONE RECORDER;So;0;ON;;;;;N;;;;;
+2316;POSITION INDICATOR;So;0;ON;;;;;N;;;;;
+2317;VIEWDATA SQUARE;So;0;ON;;;;;N;;;;;
+2318;PLACE OF INTEREST SIGN;So;0;ON;;;;;N;COMMAND KEY;;;;
+2319;TURNED NOT SIGN;So;0;ON;;;;;N;;;;;
+231A;WATCH;So;0;ON;;;;;N;;;;;
+231B;HOURGLASS;So;0;ON;;;;;N;;;;;
+231C;TOP LEFT CORNER;So;0;ON;;;;;N;;;;;
+231D;TOP RIGHT CORNER;So;0;ON;;;;;N;;;;;
+231E;BOTTOM LEFT CORNER;So;0;ON;;;;;N;;;;;
+231F;BOTTOM RIGHT CORNER;So;0;ON;;;;;N;;;;;
+2320;TOP HALF INTEGRAL;Sm;0;ON;;;;;Y;;;;;
+2321;BOTTOM HALF INTEGRAL;Sm;0;ON;;;;;Y;;;;;
+2322;FROWN;So;0;ON;;;;;N;;;;;
+2323;SMILE;So;0;ON;;;;;N;;;;;
+2324;UP ARROWHEAD BETWEEN TWO HORIZONTAL BARS;So;0;ON;;;;;N;ENTER KEY;;;;
+2325;OPTION KEY;So;0;ON;;;;;N;;;;;
+2326;ERASE TO THE RIGHT;So;0;ON;;;;;N;DELETE TO THE RIGHT KEY;;;;
+2327;X IN A RECTANGLE BOX;So;0;ON;;;;;N;CLEAR KEY;;;;
+2328;KEYBOARD;So;0;ON;;;;;N;;;;;
+2329;LEFT-POINTING ANGLE BRACKET;Ps;0;ON;3008;;;;Y;BRA;;;;
+232A;RIGHT-POINTING ANGLE BRACKET;Pe;0;ON;3009;;;;Y;KET;;;;
+232B;ERASE TO THE LEFT;So;0;ON;;;;;N;DELETE TO THE LEFT KEY;;;;
+232C;BENZENE RING;So;0;ON;;;;;N;;;;;
+232D;CYLINDRICITY;So;0;ON;;;;;N;;;;;
+232E;ALL AROUND-PROFILE;So;0;ON;;;;;N;;;;;
+232F;SYMMETRY;So;0;ON;;;;;N;;;;;
+2330;TOTAL RUNOUT;So;0;ON;;;;;N;;;;;
+2331;DIMENSION ORIGIN;So;0;ON;;;;;N;;;;;
+2332;CONICAL TAPER;So;0;ON;;;;;N;;;;;
+2333;SLOPE;So;0;ON;;;;;N;;;;;
+2334;COUNTERBORE;So;0;ON;;;;;N;;;;;
+2335;COUNTERSINK;So;0;ON;;;;;N;;;;;
+2336;APL FUNCTIONAL SYMBOL I-BEAM;So;0;L;;;;;N;;;;;
+2337;APL FUNCTIONAL SYMBOL SQUISH QUAD;So;0;L;;;;;N;;;;;
+2338;APL FUNCTIONAL SYMBOL QUAD EQUAL;So;0;L;;;;;N;;;;;
+2339;APL FUNCTIONAL SYMBOL QUAD DIVIDE;So;0;L;;;;;N;;;;;
+233A;APL FUNCTIONAL SYMBOL QUAD DIAMOND;So;0;L;;;;;N;;;;;
+233B;APL FUNCTIONAL SYMBOL QUAD JOT;So;0;L;;;;;N;;;;;
+233C;APL FUNCTIONAL SYMBOL QUAD CIRCLE;So;0;L;;;;;N;;;;;
+233D;APL FUNCTIONAL SYMBOL CIRCLE STILE;So;0;L;;;;;N;;;;;
+233E;APL FUNCTIONAL SYMBOL CIRCLE JOT;So;0;L;;;;;N;;;;;
+233F;APL FUNCTIONAL SYMBOL SLASH BAR;So;0;L;;;;;N;;;;;
+2340;APL FUNCTIONAL SYMBOL BACKSLASH BAR;So;0;L;;;;;N;;;;;
+2341;APL FUNCTIONAL SYMBOL QUAD SLASH;So;0;L;;;;;N;;;;;
+2342;APL FUNCTIONAL SYMBOL QUAD BACKSLASH;So;0;L;;;;;N;;;;;
+2343;APL FUNCTIONAL SYMBOL QUAD LESS-THAN;So;0;L;;;;;N;;;;;
+2344;APL FUNCTIONAL SYMBOL QUAD GREATER-THAN;So;0;L;;;;;N;;;;;
+2345;APL FUNCTIONAL SYMBOL LEFTWARDS VANE;So;0;L;;;;;N;;;;;
+2346;APL FUNCTIONAL SYMBOL RIGHTWARDS VANE;So;0;L;;;;;N;;;;;
+2347;APL FUNCTIONAL SYMBOL QUAD LEFTWARDS ARROW;So;0;L;;;;;N;;;;;
+2348;APL FUNCTIONAL SYMBOL QUAD RIGHTWARDS ARROW;So;0;L;;;;;N;;;;;
+2349;APL FUNCTIONAL SYMBOL CIRCLE BACKSLASH;So;0;L;;;;;N;;;;;
+234A;APL FUNCTIONAL SYMBOL DOWN TACK UNDERBAR;So;0;L;;;;;N;;*;;;
+234B;APL FUNCTIONAL SYMBOL DELTA STILE;So;0;L;;;;;N;;;;;
+234C;APL FUNCTIONAL SYMBOL QUAD DOWN CARET;So;0;L;;;;;N;;;;;
+234D;APL FUNCTIONAL SYMBOL QUAD DELTA;So;0;L;;;;;N;;;;;
+234E;APL FUNCTIONAL SYMBOL DOWN TACK JOT;So;0;L;;;;;N;;*;;;
+234F;APL FUNCTIONAL SYMBOL UPWARDS VANE;So;0;L;;;;;N;;;;;
+2350;APL FUNCTIONAL SYMBOL QUAD UPWARDS ARROW;So;0;L;;;;;N;;;;;
+2351;APL FUNCTIONAL SYMBOL UP TACK OVERBAR;So;0;L;;;;;N;;*;;;
+2352;APL FUNCTIONAL SYMBOL DEL STILE;So;0;L;;;;;N;;;;;
+2353;APL FUNCTIONAL SYMBOL QUAD UP CARET;So;0;L;;;;;N;;;;;
+2354;APL FUNCTIONAL SYMBOL QUAD DEL;So;0;L;;;;;N;;;;;
+2355;APL FUNCTIONAL SYMBOL UP TACK JOT;So;0;L;;;;;N;;*;;;
+2356;APL FUNCTIONAL SYMBOL DOWNWARDS VANE;So;0;L;;;;;N;;;;;
+2357;APL FUNCTIONAL SYMBOL QUAD DOWNWARDS ARROW;So;0;L;;;;;N;;;;;
+2358;APL FUNCTIONAL SYMBOL QUOTE UNDERBAR;So;0;L;;;;;N;;;;;
+2359;APL FUNCTIONAL SYMBOL DELTA UNDERBAR;So;0;L;;;;;N;;;;;
+235A;APL FUNCTIONAL SYMBOL DIAMOND UNDERBAR;So;0;L;;;;;N;;;;;
+235B;APL FUNCTIONAL SYMBOL JOT UNDERBAR;So;0;L;;;;;N;;;;;
+235C;APL FUNCTIONAL SYMBOL CIRCLE UNDERBAR;So;0;L;;;;;N;;;;;
+235D;APL FUNCTIONAL SYMBOL UP SHOE JOT;So;0;L;;;;;N;;;;;
+235E;APL FUNCTIONAL SYMBOL QUOTE QUAD;So;0;L;;;;;N;;;;;
+235F;APL FUNCTIONAL SYMBOL CIRCLE STAR;So;0;L;;;;;N;;;;;
+2360;APL FUNCTIONAL SYMBOL QUAD COLON;So;0;L;;;;;N;;;;;
+2361;APL FUNCTIONAL SYMBOL UP TACK DIAERESIS;So;0;L;;;;;N;;*;;;
+2362;APL FUNCTIONAL SYMBOL DEL DIAERESIS;So;0;L;;;;;N;;;;;
+2363;APL FUNCTIONAL SYMBOL STAR DIAERESIS;So;0;L;;;;;N;;;;;
+2364;APL FUNCTIONAL SYMBOL JOT DIAERESIS;So;0;L;;;;;N;;;;;
+2365;APL FUNCTIONAL SYMBOL CIRCLE DIAERESIS;So;0;L;;;;;N;;;;;
+2366;APL FUNCTIONAL SYMBOL DOWN SHOE STILE;So;0;L;;;;;N;;;;;
+2367;APL FUNCTIONAL SYMBOL LEFT SHOE STILE;So;0;L;;;;;N;;;;;
+2368;APL FUNCTIONAL SYMBOL TILDE DIAERESIS;So;0;L;;;;;N;;;;;
+2369;APL FUNCTIONAL SYMBOL GREATER-THAN DIAERESIS;So;0;L;;;;;N;;;;;
+236A;APL FUNCTIONAL SYMBOL COMMA BAR;So;0;L;;;;;N;;;;;
+236B;APL FUNCTIONAL SYMBOL DEL TILDE;So;0;L;;;;;N;;;;;
+236C;APL FUNCTIONAL SYMBOL ZILDE;So;0;L;;;;;N;;;;;
+236D;APL FUNCTIONAL SYMBOL STILE TILDE;So;0;L;;;;;N;;;;;
+236E;APL FUNCTIONAL SYMBOL SEMICOLON UNDERBAR;So;0;L;;;;;N;;;;;
+236F;APL FUNCTIONAL SYMBOL QUAD NOT EQUAL;So;0;L;;;;;N;;;;;
+2370;APL FUNCTIONAL SYMBOL QUAD QUESTION;So;0;L;;;;;N;;;;;
+2371;APL FUNCTIONAL SYMBOL DOWN CARET TILDE;So;0;L;;;;;N;;;;;
+2372;APL FUNCTIONAL SYMBOL UP CARET TILDE;So;0;L;;;;;N;;;;;
+2373;APL FUNCTIONAL SYMBOL IOTA;So;0;L;;;;;N;;;;;
+2374;APL FUNCTIONAL SYMBOL RHO;So;0;L;;;;;N;;;;;
+2375;APL FUNCTIONAL SYMBOL OMEGA;So;0;L;;;;;N;;;;;
+2376;APL FUNCTIONAL SYMBOL ALPHA UNDERBAR;So;0;L;;;;;N;;;;;
+2377;APL FUNCTIONAL SYMBOL EPSILON UNDERBAR;So;0;L;;;;;N;;;;;
+2378;APL FUNCTIONAL SYMBOL IOTA UNDERBAR;So;0;L;;;;;N;;;;;
+2379;APL FUNCTIONAL SYMBOL OMEGA UNDERBAR;So;0;L;;;;;N;;;;;
+237A;APL FUNCTIONAL SYMBOL ALPHA;So;0;L;;;;;N;;;;;
+237B;NOT CHECK MARK;So;0;ON;;;;;N;;;;;
+237C;RIGHT ANGLE WITH DOWNWARDS ZIGZAG ARROW;Sm;0;ON;;;;;N;;;;;
+237D;SHOULDERED OPEN BOX;So;0;ON;;;;;N;;;;;
+237E;BELL SYMBOL;So;0;ON;;;;;N;;;;;
+237F;VERTICAL LINE WITH MIDDLE DOT;So;0;ON;;;;;N;;;;;
+2380;INSERTION SYMBOL;So;0;ON;;;;;N;;;;;
+2381;CONTINUOUS UNDERLINE SYMBOL;So;0;ON;;;;;N;;;;;
+2382;DISCONTINUOUS UNDERLINE SYMBOL;So;0;ON;;;;;N;;;;;
+2383;EMPHASIS SYMBOL;So;0;ON;;;;;N;;;;;
+2384;COMPOSITION SYMBOL;So;0;ON;;;;;N;;;;;
+2385;WHITE SQUARE WITH CENTRE VERTICAL LINE;So;0;ON;;;;;N;;;;;
+2386;ENTER SYMBOL;So;0;ON;;;;;N;;;;;
+2387;ALTERNATIVE KEY SYMBOL;So;0;ON;;;;;N;;;;;
+2388;HELM SYMBOL;So;0;ON;;;;;N;;;;;
+2389;CIRCLED HORIZONTAL BAR WITH NOTCH;So;0;ON;;;;;N;;pause;;;
+238A;CIRCLED TRIANGLE DOWN;So;0;ON;;;;;N;;break;;;
+238B;BROKEN CIRCLE WITH NORTHWEST ARROW;So;0;ON;;;;;N;;escape;;;
+238C;UNDO SYMBOL;So;0;ON;;;;;N;;;;;
+238D;MONOSTABLE SYMBOL;So;0;ON;;;;;N;;;;;
+238E;HYSTERESIS SYMBOL;So;0;ON;;;;;N;;;;;
+238F;OPEN-CIRCUIT-OUTPUT H-TYPE SYMBOL;So;0;ON;;;;;N;;;;;
+2390;OPEN-CIRCUIT-OUTPUT L-TYPE SYMBOL;So;0;ON;;;;;N;;;;;
+2391;PASSIVE-PULL-DOWN-OUTPUT SYMBOL;So;0;ON;;;;;N;;;;;
+2392;PASSIVE-PULL-UP-OUTPUT SYMBOL;So;0;ON;;;;;N;;;;;
+2393;DIRECT CURRENT SYMBOL FORM TWO;So;0;ON;;;;;N;;;;;
+2394;SOFTWARE-FUNCTION SYMBOL;So;0;ON;;;;;N;;;;;
+2395;APL FUNCTIONAL SYMBOL QUAD;So;0;L;;;;;N;;;;;
+2396;DECIMAL SEPARATOR KEY SYMBOL;So;0;ON;;;;;N;;;;;
+2397;PREVIOUS PAGE;So;0;ON;;;;;N;;;;;
+2398;NEXT PAGE;So;0;ON;;;;;N;;;;;
+2399;PRINT SCREEN SYMBOL;So;0;ON;;;;;N;;;;;
+239A;CLEAR SCREEN SYMBOL;So;0;ON;;;;;N;;;;;
+239B;LEFT PARENTHESIS UPPER HOOK;Sm;0;ON;;;;;N;;;;;
+239C;LEFT PARENTHESIS EXTENSION;Sm;0;ON;;;;;N;;;;;
+239D;LEFT PARENTHESIS LOWER HOOK;Sm;0;ON;;;;;N;;;;;
+239E;RIGHT PARENTHESIS UPPER HOOK;Sm;0;ON;;;;;N;;;;;
+239F;RIGHT PARENTHESIS EXTENSION;Sm;0;ON;;;;;N;;;;;
+23A0;RIGHT PARENTHESIS LOWER HOOK;Sm;0;ON;;;;;N;;;;;
+23A1;LEFT SQUARE BRACKET UPPER CORNER;Sm;0;ON;;;;;N;;;;;
+23A2;LEFT SQUARE BRACKET EXTENSION;Sm;0;ON;;;;;N;;;;;
+23A3;LEFT SQUARE BRACKET LOWER CORNER;Sm;0;ON;;;;;N;;;;;
+23A4;RIGHT SQUARE BRACKET UPPER CORNER;Sm;0;ON;;;;;N;;;;;
+23A5;RIGHT SQUARE BRACKET EXTENSION;Sm;0;ON;;;;;N;;;;;
+23A6;RIGHT SQUARE BRACKET LOWER CORNER;Sm;0;ON;;;;;N;;;;;
+23A7;LEFT CURLY BRACKET UPPER HOOK;Sm;0;ON;;;;;N;;;;;
+23A8;LEFT CURLY BRACKET MIDDLE PIECE;Sm;0;ON;;;;;N;;;;;
+23A9;LEFT CURLY BRACKET LOWER HOOK;Sm;0;ON;;;;;N;;;;;
+23AA;CURLY BRACKET EXTENSION;Sm;0;ON;;;;;N;;;;;
+23AB;RIGHT CURLY BRACKET UPPER HOOK;Sm;0;ON;;;;;N;;;;;
+23AC;RIGHT CURLY BRACKET MIDDLE PIECE;Sm;0;ON;;;;;N;;;;;
+23AD;RIGHT CURLY BRACKET LOWER HOOK;Sm;0;ON;;;;;N;;;;;
+23AE;INTEGRAL EXTENSION;Sm;0;ON;;;;;N;;;;;
+23AF;HORIZONTAL LINE EXTENSION;Sm;0;ON;;;;;N;;;;;
+23B0;UPPER LEFT OR LOWER RIGHT CURLY BRACKET SECTION;Sm;0;ON;;;;;N;;;;;
+23B1;UPPER RIGHT OR LOWER LEFT CURLY BRACKET SECTION;Sm;0;ON;;;;;N;;;;;
+23B2;SUMMATION TOP;Sm;0;ON;;;;;N;;;;;
+23B3;SUMMATION BOTTOM;Sm;0;ON;;;;;N;;;;;
+23B4;TOP SQUARE BRACKET;Ps;0;ON;;;;;N;;;;;
+23B5;BOTTOM SQUARE BRACKET;Pe;0;ON;;;;;N;;;;;
+23B6;BOTTOM SQUARE BRACKET OVER TOP SQUARE BRACKET;Po;0;ON;;;;;N;;;;;
+23B7;RADICAL SYMBOL BOTTOM;So;0;ON;;;;;N;;;;;
+23B8;LEFT VERTICAL BOX LINE;So;0;ON;;;;;N;;;;;
+23B9;RIGHT VERTICAL BOX LINE;So;0;ON;;;;;N;;;;;
+23BA;HORIZONTAL SCAN LINE-1;So;0;ON;;;;;N;;;;;
+23BB;HORIZONTAL SCAN LINE-3;So;0;ON;;;;;N;;;;;
+23BC;HORIZONTAL SCAN LINE-7;So;0;ON;;;;;N;;;;;
+23BD;HORIZONTAL SCAN LINE-9;So;0;ON;;;;;N;;;;;
+23BE;DENTISTRY SYMBOL LIGHT VERTICAL AND TOP RIGHT;So;0;ON;;;;;N;;;;;
+23BF;DENTISTRY SYMBOL LIGHT VERTICAL AND BOTTOM RIGHT;So;0;ON;;;;;N;;;;;
+23C0;DENTISTRY SYMBOL LIGHT VERTICAL WITH CIRCLE;So;0;ON;;;;;N;;;;;
+23C1;DENTISTRY SYMBOL LIGHT DOWN AND HORIZONTAL WITH CIRCLE;So;0;ON;;;;;N;;;;;
+23C2;DENTISTRY SYMBOL LIGHT UP AND HORIZONTAL WITH CIRCLE;So;0;ON;;;;;N;;;;;
+23C3;DENTISTRY SYMBOL LIGHT VERTICAL WITH TRIANGLE;So;0;ON;;;;;N;;;;;
+23C4;DENTISTRY SYMBOL LIGHT DOWN AND HORIZONTAL WITH TRIANGLE;So;0;ON;;;;;N;;;;;
+23C5;DENTISTRY SYMBOL LIGHT UP AND HORIZONTAL WITH TRIANGLE;So;0;ON;;;;;N;;;;;
+23C6;DENTISTRY SYMBOL LIGHT VERTICAL AND WAVE;So;0;ON;;;;;N;;;;;
+23C7;DENTISTRY SYMBOL LIGHT DOWN AND HORIZONTAL WITH WAVE;So;0;ON;;;;;N;;;;;
+23C8;DENTISTRY SYMBOL LIGHT UP AND HORIZONTAL WITH WAVE;So;0;ON;;;;;N;;;;;
+23C9;DENTISTRY SYMBOL LIGHT DOWN AND HORIZONTAL;So;0;ON;;;;;N;;;;;
+23CA;DENTISTRY SYMBOL LIGHT UP AND HORIZONTAL;So;0;ON;;;;;N;;;;;
+23CB;DENTISTRY SYMBOL LIGHT VERTICAL AND TOP LEFT;So;0;ON;;;;;N;;;;;
+23CC;DENTISTRY SYMBOL LIGHT VERTICAL AND BOTTOM LEFT;So;0;ON;;;;;N;;;;;
+23CD;SQUARE FOOT;So;0;ON;;;;;N;;;;;
+23CE;RETURN SYMBOL;So;0;ON;;;;;N;;;;;
+23CF;EJECT SYMBOL;So;0;ON;;;;;N;;;;;
+23D0;VERTICAL LINE EXTENSION;So;0;ON;;;;;N;;;;;
+23D1;METRICAL BREVE;So;0;ON;;;;;N;;;;;
+23D2;METRICAL LONG OVER SHORT;So;0;ON;;;;;N;;;;;
+23D3;METRICAL SHORT OVER LONG;So;0;ON;;;;;N;;;;;
+23D4;METRICAL LONG OVER TWO SHORTS;So;0;ON;;;;;N;;;;;
+23D5;METRICAL TWO SHORTS OVER LONG;So;0;ON;;;;;N;;;;;
+23D6;METRICAL TWO SHORTS JOINED;So;0;ON;;;;;N;;;;;
+23D7;METRICAL TRISEME;So;0;ON;;;;;N;;;;;
+23D8;METRICAL TETRASEME;So;0;ON;;;;;N;;;;;
+23D9;METRICAL PENTASEME;So;0;ON;;;;;N;;;;;
+23DA;EARTH GROUND;So;0;ON;;;;;N;;;;;
+23DB;FUSE;So;0;ON;;;;;N;;;;;
+2400;SYMBOL FOR NULL;So;0;ON;;;;;N;GRAPHIC FOR NULL;;;;
+2401;SYMBOL FOR START OF HEADING;So;0;ON;;;;;N;GRAPHIC FOR START OF HEADING;;;;
+2402;SYMBOL FOR START OF TEXT;So;0;ON;;;;;N;GRAPHIC FOR START OF TEXT;;;;
+2403;SYMBOL FOR END OF TEXT;So;0;ON;;;;;N;GRAPHIC FOR END OF TEXT;;;;
+2404;SYMBOL FOR END OF TRANSMISSION;So;0;ON;;;;;N;GRAPHIC FOR END OF TRANSMISSION;;;;
+2405;SYMBOL FOR ENQUIRY;So;0;ON;;;;;N;GRAPHIC FOR ENQUIRY;;;;
+2406;SYMBOL FOR ACKNOWLEDGE;So;0;ON;;;;;N;GRAPHIC FOR ACKNOWLEDGE;;;;
+2407;SYMBOL FOR BELL;So;0;ON;;;;;N;GRAPHIC FOR BELL;;;;
+2408;SYMBOL FOR BACKSPACE;So;0;ON;;;;;N;GRAPHIC FOR BACKSPACE;;;;
+2409;SYMBOL FOR HORIZONTAL TABULATION;So;0;ON;;;;;N;GRAPHIC FOR HORIZONTAL TABULATION;;;;
+240A;SYMBOL FOR LINE FEED;So;0;ON;;;;;N;GRAPHIC FOR LINE FEED;;;;
+240B;SYMBOL FOR VERTICAL TABULATION;So;0;ON;;;;;N;GRAPHIC FOR VERTICAL TABULATION;;;;
+240C;SYMBOL FOR FORM FEED;So;0;ON;;;;;N;GRAPHIC FOR FORM FEED;;;;
+240D;SYMBOL FOR CARRIAGE RETURN;So;0;ON;;;;;N;GRAPHIC FOR CARRIAGE RETURN;;;;
+240E;SYMBOL FOR SHIFT OUT;So;0;ON;;;;;N;GRAPHIC FOR SHIFT OUT;;;;
+240F;SYMBOL FOR SHIFT IN;So;0;ON;;;;;N;GRAPHIC FOR SHIFT IN;;;;
+2410;SYMBOL FOR DATA LINK ESCAPE;So;0;ON;;;;;N;GRAPHIC FOR DATA LINK ESCAPE;;;;
+2411;SYMBOL FOR DEVICE CONTROL ONE;So;0;ON;;;;;N;GRAPHIC FOR DEVICE CONTROL ONE;;;;
+2412;SYMBOL FOR DEVICE CONTROL TWO;So;0;ON;;;;;N;GRAPHIC FOR DEVICE CONTROL TWO;;;;
+2413;SYMBOL FOR DEVICE CONTROL THREE;So;0;ON;;;;;N;GRAPHIC FOR DEVICE CONTROL THREE;;;;
+2414;SYMBOL FOR DEVICE CONTROL FOUR;So;0;ON;;;;;N;GRAPHIC FOR DEVICE CONTROL FOUR;;;;
+2415;SYMBOL FOR NEGATIVE ACKNOWLEDGE;So;0;ON;;;;;N;GRAPHIC FOR NEGATIVE ACKNOWLEDGE;;;;
+2416;SYMBOL FOR SYNCHRONOUS IDLE;So;0;ON;;;;;N;GRAPHIC FOR SYNCHRONOUS IDLE;;;;
+2417;SYMBOL FOR END OF TRANSMISSION BLOCK;So;0;ON;;;;;N;GRAPHIC FOR END OF TRANSMISSION BLOCK;;;;
+2418;SYMBOL FOR CANCEL;So;0;ON;;;;;N;GRAPHIC FOR CANCEL;;;;
+2419;SYMBOL FOR END OF MEDIUM;So;0;ON;;;;;N;GRAPHIC FOR END OF MEDIUM;;;;
+241A;SYMBOL FOR SUBSTITUTE;So;0;ON;;;;;N;GRAPHIC FOR SUBSTITUTE;;;;
+241B;SYMBOL FOR ESCAPE;So;0;ON;;;;;N;GRAPHIC FOR ESCAPE;;;;
+241C;SYMBOL FOR FILE SEPARATOR;So;0;ON;;;;;N;GRAPHIC FOR FILE SEPARATOR;;;;
+241D;SYMBOL FOR GROUP SEPARATOR;So;0;ON;;;;;N;GRAPHIC FOR GROUP SEPARATOR;;;;
+241E;SYMBOL FOR RECORD SEPARATOR;So;0;ON;;;;;N;GRAPHIC FOR RECORD SEPARATOR;;;;
+241F;SYMBOL FOR UNIT SEPARATOR;So;0;ON;;;;;N;GRAPHIC FOR UNIT SEPARATOR;;;;
+2420;SYMBOL FOR SPACE;So;0;ON;;;;;N;GRAPHIC FOR SPACE;;;;
+2421;SYMBOL FOR DELETE;So;0;ON;;;;;N;GRAPHIC FOR DELETE;;;;
+2422;BLANK SYMBOL;So;0;ON;;;;;N;BLANK;;;;
+2423;OPEN BOX;So;0;ON;;;;;N;;;;;
+2424;SYMBOL FOR NEWLINE;So;0;ON;;;;;N;GRAPHIC FOR NEWLINE;;;;
+2425;SYMBOL FOR DELETE FORM TWO;So;0;ON;;;;;N;;;;;
+2426;SYMBOL FOR SUBSTITUTE FORM TWO;So;0;ON;;;;;N;;;;;
+2440;OCR HOOK;So;0;ON;;;;;N;;;;;
+2441;OCR CHAIR;So;0;ON;;;;;N;;;;;
+2442;OCR FORK;So;0;ON;;;;;N;;;;;
+2443;OCR INVERTED FORK;So;0;ON;;;;;N;;;;;
+2444;OCR BELT BUCKLE;So;0;ON;;;;;N;;;;;
+2445;OCR BOW TIE;So;0;ON;;;;;N;;;;;
+2446;OCR BRANCH BANK IDENTIFICATION;So;0;ON;;;;;N;;;;;
+2447;OCR AMOUNT OF CHECK;So;0;ON;;;;;N;;;;;
+2448;OCR DASH;So;0;ON;;;;;N;;;;;
+2449;OCR CUSTOMER ACCOUNT NUMBER;So;0;ON;;;;;N;;;;;
+244A;OCR DOUBLE BACKSLASH;So;0;ON;;;;;N;;;;;
+2460;CIRCLED DIGIT ONE;No;0;ON;<circle> 0031;;1;1;N;;;;;
+2461;CIRCLED DIGIT TWO;No;0;ON;<circle> 0032;;2;2;N;;;;;
+2462;CIRCLED DIGIT THREE;No;0;ON;<circle> 0033;;3;3;N;;;;;
+2463;CIRCLED DIGIT FOUR;No;0;ON;<circle> 0034;;4;4;N;;;;;
+2464;CIRCLED DIGIT FIVE;No;0;ON;<circle> 0035;;5;5;N;;;;;
+2465;CIRCLED DIGIT SIX;No;0;ON;<circle> 0036;;6;6;N;;;;;
+2466;CIRCLED DIGIT SEVEN;No;0;ON;<circle> 0037;;7;7;N;;;;;
+2467;CIRCLED DIGIT EIGHT;No;0;ON;<circle> 0038;;8;8;N;;;;;
+2468;CIRCLED DIGIT NINE;No;0;ON;<circle> 0039;;9;9;N;;;;;
+2469;CIRCLED NUMBER TEN;No;0;ON;<circle> 0031 0030;;;10;N;;;;;
+246A;CIRCLED NUMBER ELEVEN;No;0;ON;<circle> 0031 0031;;;11;N;;;;;
+246B;CIRCLED NUMBER TWELVE;No;0;ON;<circle> 0031 0032;;;12;N;;;;;
+246C;CIRCLED NUMBER THIRTEEN;No;0;ON;<circle> 0031 0033;;;13;N;;;;;
+246D;CIRCLED NUMBER FOURTEEN;No;0;ON;<circle> 0031 0034;;;14;N;;;;;
+246E;CIRCLED NUMBER FIFTEEN;No;0;ON;<circle> 0031 0035;;;15;N;;;;;
+246F;CIRCLED NUMBER SIXTEEN;No;0;ON;<circle> 0031 0036;;;16;N;;;;;
+2470;CIRCLED NUMBER SEVENTEEN;No;0;ON;<circle> 0031 0037;;;17;N;;;;;
+2471;CIRCLED NUMBER EIGHTEEN;No;0;ON;<circle> 0031 0038;;;18;N;;;;;
+2472;CIRCLED NUMBER NINETEEN;No;0;ON;<circle> 0031 0039;;;19;N;;;;;
+2473;CIRCLED NUMBER TWENTY;No;0;ON;<circle> 0032 0030;;;20;N;;;;;
+2474;PARENTHESIZED DIGIT ONE;No;0;ON;<compat> 0028 0031 0029;;1;1;N;;;;;
+2475;PARENTHESIZED DIGIT TWO;No;0;ON;<compat> 0028 0032 0029;;2;2;N;;;;;
+2476;PARENTHESIZED DIGIT THREE;No;0;ON;<compat> 0028 0033 0029;;3;3;N;;;;;
+2477;PARENTHESIZED DIGIT FOUR;No;0;ON;<compat> 0028 0034 0029;;4;4;N;;;;;
+2478;PARENTHESIZED DIGIT FIVE;No;0;ON;<compat> 0028 0035 0029;;5;5;N;;;;;
+2479;PARENTHESIZED DIGIT SIX;No;0;ON;<compat> 0028 0036 0029;;6;6;N;;;;;
+247A;PARENTHESIZED DIGIT SEVEN;No;0;ON;<compat> 0028 0037 0029;;7;7;N;;;;;
+247B;PARENTHESIZED DIGIT EIGHT;No;0;ON;<compat> 0028 0038 0029;;8;8;N;;;;;
+247C;PARENTHESIZED DIGIT NINE;No;0;ON;<compat> 0028 0039 0029;;9;9;N;;;;;
+247D;PARENTHESIZED NUMBER TEN;No;0;ON;<compat> 0028 0031 0030 0029;;;10;N;;;;;
+247E;PARENTHESIZED NUMBER ELEVEN;No;0;ON;<compat> 0028 0031 0031 0029;;;11;N;;;;;
+247F;PARENTHESIZED NUMBER TWELVE;No;0;ON;<compat> 0028 0031 0032 0029;;;12;N;;;;;
+2480;PARENTHESIZED NUMBER THIRTEEN;No;0;ON;<compat> 0028 0031 0033 0029;;;13;N;;;;;
+2481;PARENTHESIZED NUMBER FOURTEEN;No;0;ON;<compat> 0028 0031 0034 0029;;;14;N;;;;;
+2482;PARENTHESIZED NUMBER FIFTEEN;No;0;ON;<compat> 0028 0031 0035 0029;;;15;N;;;;;
+2483;PARENTHESIZED NUMBER SIXTEEN;No;0;ON;<compat> 0028 0031 0036 0029;;;16;N;;;;;
+2484;PARENTHESIZED NUMBER SEVENTEEN;No;0;ON;<compat> 0028 0031 0037 0029;;;17;N;;;;;
+2485;PARENTHESIZED NUMBER EIGHTEEN;No;0;ON;<compat> 0028 0031 0038 0029;;;18;N;;;;;
+2486;PARENTHESIZED NUMBER NINETEEN;No;0;ON;<compat> 0028 0031 0039 0029;;;19;N;;;;;
+2487;PARENTHESIZED NUMBER TWENTY;No;0;ON;<compat> 0028 0032 0030 0029;;;20;N;;;;;
+2488;DIGIT ONE FULL STOP;No;0;EN;<compat> 0031 002E;;1;1;N;DIGIT ONE PERIOD;;;;
+2489;DIGIT TWO FULL STOP;No;0;EN;<compat> 0032 002E;;2;2;N;DIGIT TWO PERIOD;;;;
+248A;DIGIT THREE FULL STOP;No;0;EN;<compat> 0033 002E;;3;3;N;DIGIT THREE PERIOD;;;;
+248B;DIGIT FOUR FULL STOP;No;0;EN;<compat> 0034 002E;;4;4;N;DIGIT FOUR PERIOD;;;;
+248C;DIGIT FIVE FULL STOP;No;0;EN;<compat> 0035 002E;;5;5;N;DIGIT FIVE PERIOD;;;;
+248D;DIGIT SIX FULL STOP;No;0;EN;<compat> 0036 002E;;6;6;N;DIGIT SIX PERIOD;;;;
+248E;DIGIT SEVEN FULL STOP;No;0;EN;<compat> 0037 002E;;7;7;N;DIGIT SEVEN PERIOD;;;;
+248F;DIGIT EIGHT FULL STOP;No;0;EN;<compat> 0038 002E;;8;8;N;DIGIT EIGHT PERIOD;;;;
+2490;DIGIT NINE FULL STOP;No;0;EN;<compat> 0039 002E;;9;9;N;DIGIT NINE PERIOD;;;;
+2491;NUMBER TEN FULL STOP;No;0;EN;<compat> 0031 0030 002E;;;10;N;NUMBER TEN PERIOD;;;;
+2492;NUMBER ELEVEN FULL STOP;No;0;EN;<compat> 0031 0031 002E;;;11;N;NUMBER ELEVEN PERIOD;;;;
+2493;NUMBER TWELVE FULL STOP;No;0;EN;<compat> 0031 0032 002E;;;12;N;NUMBER TWELVE PERIOD;;;;
+2494;NUMBER THIRTEEN FULL STOP;No;0;EN;<compat> 0031 0033 002E;;;13;N;NUMBER THIRTEEN PERIOD;;;;
+2495;NUMBER FOURTEEN FULL STOP;No;0;EN;<compat> 0031 0034 002E;;;14;N;NUMBER FOURTEEN PERIOD;;;;
+2496;NUMBER FIFTEEN FULL STOP;No;0;EN;<compat> 0031 0035 002E;;;15;N;NUMBER FIFTEEN PERIOD;;;;
+2497;NUMBER SIXTEEN FULL STOP;No;0;EN;<compat> 0031 0036 002E;;;16;N;NUMBER SIXTEEN PERIOD;;;;
+2498;NUMBER SEVENTEEN FULL STOP;No;0;EN;<compat> 0031 0037 002E;;;17;N;NUMBER SEVENTEEN PERIOD;;;;
+2499;NUMBER EIGHTEEN FULL STOP;No;0;EN;<compat> 0031 0038 002E;;;18;N;NUMBER EIGHTEEN PERIOD;;;;
+249A;NUMBER NINETEEN FULL STOP;No;0;EN;<compat> 0031 0039 002E;;;19;N;NUMBER NINETEEN PERIOD;;;;
+249B;NUMBER TWENTY FULL STOP;No;0;EN;<compat> 0032 0030 002E;;;20;N;NUMBER TWENTY PERIOD;;;;
+249C;PARENTHESIZED LATIN SMALL LETTER A;So;0;L;<compat> 0028 0061 0029;;;;N;;;;;
+249D;PARENTHESIZED LATIN SMALL LETTER B;So;0;L;<compat> 0028 0062 0029;;;;N;;;;;
+249E;PARENTHESIZED LATIN SMALL LETTER C;So;0;L;<compat> 0028 0063 0029;;;;N;;;;;
+249F;PARENTHESIZED LATIN SMALL LETTER D;So;0;L;<compat> 0028 0064 0029;;;;N;;;;;
+24A0;PARENTHESIZED LATIN SMALL LETTER E;So;0;L;<compat> 0028 0065 0029;;;;N;;;;;
+24A1;PARENTHESIZED LATIN SMALL LETTER F;So;0;L;<compat> 0028 0066 0029;;;;N;;;;;
+24A2;PARENTHESIZED LATIN SMALL LETTER G;So;0;L;<compat> 0028 0067 0029;;;;N;;;;;
+24A3;PARENTHESIZED LATIN SMALL LETTER H;So;0;L;<compat> 0028 0068 0029;;;;N;;;;;
+24A4;PARENTHESIZED LATIN SMALL LETTER I;So;0;L;<compat> 0028 0069 0029;;;;N;;;;;
+24A5;PARENTHESIZED LATIN SMALL LETTER J;So;0;L;<compat> 0028 006A 0029;;;;N;;;;;
+24A6;PARENTHESIZED LATIN SMALL LETTER K;So;0;L;<compat> 0028 006B 0029;;;;N;;;;;
+24A7;PARENTHESIZED LATIN SMALL LETTER L;So;0;L;<compat> 0028 006C 0029;;;;N;;;;;
+24A8;PARENTHESIZED LATIN SMALL LETTER M;So;0;L;<compat> 0028 006D 0029;;;;N;;;;;
+24A9;PARENTHESIZED LATIN SMALL LETTER N;So;0;L;<compat> 0028 006E 0029;;;;N;;;;;
+24AA;PARENTHESIZED LATIN SMALL LETTER O;So;0;L;<compat> 0028 006F 0029;;;;N;;;;;
+24AB;PARENTHESIZED LATIN SMALL LETTER P;So;0;L;<compat> 0028 0070 0029;;;;N;;;;;
+24AC;PARENTHESIZED LATIN SMALL LETTER Q;So;0;L;<compat> 0028 0071 0029;;;;N;;;;;
+24AD;PARENTHESIZED LATIN SMALL LETTER R;So;0;L;<compat> 0028 0072 0029;;;;N;;;;;
+24AE;PARENTHESIZED LATIN SMALL LETTER S;So;0;L;<compat> 0028 0073 0029;;;;N;;;;;
+24AF;PARENTHESIZED LATIN SMALL LETTER T;So;0;L;<compat> 0028 0074 0029;;;;N;;;;;
+24B0;PARENTHESIZED LATIN SMALL LETTER U;So;0;L;<compat> 0028 0075 0029;;;;N;;;;;
+24B1;PARENTHESIZED LATIN SMALL LETTER V;So;0;L;<compat> 0028 0076 0029;;;;N;;;;;
+24B2;PARENTHESIZED LATIN SMALL LETTER W;So;0;L;<compat> 0028 0077 0029;;;;N;;;;;
+24B3;PARENTHESIZED LATIN SMALL LETTER X;So;0;L;<compat> 0028 0078 0029;;;;N;;;;;
+24B4;PARENTHESIZED LATIN SMALL LETTER Y;So;0;L;<compat> 0028 0079 0029;;;;N;;;;;
+24B5;PARENTHESIZED LATIN SMALL LETTER Z;So;0;L;<compat> 0028 007A 0029;;;;N;;;;;
+24B6;CIRCLED LATIN CAPITAL LETTER A;So;0;L;<circle> 0041;;;;N;;;;24D0;
+24B7;CIRCLED LATIN CAPITAL LETTER B;So;0;L;<circle> 0042;;;;N;;;;24D1;
+24B8;CIRCLED LATIN CAPITAL LETTER C;So;0;L;<circle> 0043;;;;N;;;;24D2;
+24B9;CIRCLED LATIN CAPITAL LETTER D;So;0;L;<circle> 0044;;;;N;;;;24D3;
+24BA;CIRCLED LATIN CAPITAL LETTER E;So;0;L;<circle> 0045;;;;N;;;;24D4;
+24BB;CIRCLED LATIN CAPITAL LETTER F;So;0;L;<circle> 0046;;;;N;;;;24D5;
+24BC;CIRCLED LATIN CAPITAL LETTER G;So;0;L;<circle> 0047;;;;N;;;;24D6;
+24BD;CIRCLED LATIN CAPITAL LETTER H;So;0;L;<circle> 0048;;;;N;;;;24D7;
+24BE;CIRCLED LATIN CAPITAL LETTER I;So;0;L;<circle> 0049;;;;N;;;;24D8;
+24BF;CIRCLED LATIN CAPITAL LETTER J;So;0;L;<circle> 004A;;;;N;;;;24D9;
+24C0;CIRCLED LATIN CAPITAL LETTER K;So;0;L;<circle> 004B;;;;N;;;;24DA;
+24C1;CIRCLED LATIN CAPITAL LETTER L;So;0;L;<circle> 004C;;;;N;;;;24DB;
+24C2;CIRCLED LATIN CAPITAL LETTER M;So;0;L;<circle> 004D;;;;N;;;;24DC;
+24C3;CIRCLED LATIN CAPITAL LETTER N;So;0;L;<circle> 004E;;;;N;;;;24DD;
+24C4;CIRCLED LATIN CAPITAL LETTER O;So;0;L;<circle> 004F;;;;N;;;;24DE;
+24C5;CIRCLED LATIN CAPITAL LETTER P;So;0;L;<circle> 0050;;;;N;;;;24DF;
+24C6;CIRCLED LATIN CAPITAL LETTER Q;So;0;L;<circle> 0051;;;;N;;;;24E0;
+24C7;CIRCLED LATIN CAPITAL LETTER R;So;0;L;<circle> 0052;;;;N;;;;24E1;
+24C8;CIRCLED LATIN CAPITAL LETTER S;So;0;L;<circle> 0053;;;;N;;;;24E2;
+24C9;CIRCLED LATIN CAPITAL LETTER T;So;0;L;<circle> 0054;;;;N;;;;24E3;
+24CA;CIRCLED LATIN CAPITAL LETTER U;So;0;L;<circle> 0055;;;;N;;;;24E4;
+24CB;CIRCLED LATIN CAPITAL LETTER V;So;0;L;<circle> 0056;;;;N;;;;24E5;
+24CC;CIRCLED LATIN CAPITAL LETTER W;So;0;L;<circle> 0057;;;;N;;;;24E6;
+24CD;CIRCLED LATIN CAPITAL LETTER X;So;0;L;<circle> 0058;;;;N;;;;24E7;
+24CE;CIRCLED LATIN CAPITAL LETTER Y;So;0;L;<circle> 0059;;;;N;;;;24E8;
+24CF;CIRCLED LATIN CAPITAL LETTER Z;So;0;L;<circle> 005A;;;;N;;;;24E9;
+24D0;CIRCLED LATIN SMALL LETTER A;So;0;L;<circle> 0061;;;;N;;;24B6;;24B6
+24D1;CIRCLED LATIN SMALL LETTER B;So;0;L;<circle> 0062;;;;N;;;24B7;;24B7
+24D2;CIRCLED LATIN SMALL LETTER C;So;0;L;<circle> 0063;;;;N;;;24B8;;24B8
+24D3;CIRCLED LATIN SMALL LETTER D;So;0;L;<circle> 0064;;;;N;;;24B9;;24B9
+24D4;CIRCLED LATIN SMALL LETTER E;So;0;L;<circle> 0065;;;;N;;;24BA;;24BA
+24D5;CIRCLED LATIN SMALL LETTER F;So;0;L;<circle> 0066;;;;N;;;24BB;;24BB
+24D6;CIRCLED LATIN SMALL LETTER G;So;0;L;<circle> 0067;;;;N;;;24BC;;24BC
+24D7;CIRCLED LATIN SMALL LETTER H;So;0;L;<circle> 0068;;;;N;;;24BD;;24BD
+24D8;CIRCLED LATIN SMALL LETTER I;So;0;L;<circle> 0069;;;;N;;;24BE;;24BE
+24D9;CIRCLED LATIN SMALL LETTER J;So;0;L;<circle> 006A;;;;N;;;24BF;;24BF
+24DA;CIRCLED LATIN SMALL LETTER K;So;0;L;<circle> 006B;;;;N;;;24C0;;24C0
+24DB;CIRCLED LATIN SMALL LETTER L;So;0;L;<circle> 006C;;;;N;;;24C1;;24C1
+24DC;CIRCLED LATIN SMALL LETTER M;So;0;L;<circle> 006D;;;;N;;;24C2;;24C2
+24DD;CIRCLED LATIN SMALL LETTER N;So;0;L;<circle> 006E;;;;N;;;24C3;;24C3
+24DE;CIRCLED LATIN SMALL LETTER O;So;0;L;<circle> 006F;;;;N;;;24C4;;24C4
+24DF;CIRCLED LATIN SMALL LETTER P;So;0;L;<circle> 0070;;;;N;;;24C5;;24C5
+24E0;CIRCLED LATIN SMALL LETTER Q;So;0;L;<circle> 0071;;;;N;;;24C6;;24C6
+24E1;CIRCLED LATIN SMALL LETTER R;So;0;L;<circle> 0072;;;;N;;;24C7;;24C7
+24E2;CIRCLED LATIN SMALL LETTER S;So;0;L;<circle> 0073;;;;N;;;24C8;;24C8
+24E3;CIRCLED LATIN SMALL LETTER T;So;0;L;<circle> 0074;;;;N;;;24C9;;24C9
+24E4;CIRCLED LATIN SMALL LETTER U;So;0;L;<circle> 0075;;;;N;;;24CA;;24CA
+24E5;CIRCLED LATIN SMALL LETTER V;So;0;L;<circle> 0076;;;;N;;;24CB;;24CB
+24E6;CIRCLED LATIN SMALL LETTER W;So;0;L;<circle> 0077;;;;N;;;24CC;;24CC
+24E7;CIRCLED LATIN SMALL LETTER X;So;0;L;<circle> 0078;;;;N;;;24CD;;24CD
+24E8;CIRCLED LATIN SMALL LETTER Y;So;0;L;<circle> 0079;;;;N;;;24CE;;24CE
+24E9;CIRCLED LATIN SMALL LETTER Z;So;0;L;<circle> 007A;;;;N;;;24CF;;24CF
+24EA;CIRCLED DIGIT ZERO;No;0;ON;<circle> 0030;;0;0;N;;;;;
+24EB;NEGATIVE CIRCLED NUMBER ELEVEN;No;0;ON;;;;11;N;;;;;
+24EC;NEGATIVE CIRCLED NUMBER TWELVE;No;0;ON;;;;12;N;;;;;
+24ED;NEGATIVE CIRCLED NUMBER THIRTEEN;No;0;ON;;;;13;N;;;;;
+24EE;NEGATIVE CIRCLED NUMBER FOURTEEN;No;0;ON;;;;14;N;;;;;
+24EF;NEGATIVE CIRCLED NUMBER FIFTEEN;No;0;ON;;;;15;N;;;;;
+24F0;NEGATIVE CIRCLED NUMBER SIXTEEN;No;0;ON;;;;16;N;;;;;
+24F1;NEGATIVE CIRCLED NUMBER SEVENTEEN;No;0;ON;;;;17;N;;;;;
+24F2;NEGATIVE CIRCLED NUMBER EIGHTEEN;No;0;ON;;;;18;N;;;;;
+24F3;NEGATIVE CIRCLED NUMBER NINETEEN;No;0;ON;;;;19;N;;;;;
+24F4;NEGATIVE CIRCLED NUMBER TWENTY;No;0;ON;;;;20;N;;;;;
+24F5;DOUBLE CIRCLED DIGIT ONE;No;0;ON;;;1;1;N;;;;;
+24F6;DOUBLE CIRCLED DIGIT TWO;No;0;ON;;;2;2;N;;;;;
+24F7;DOUBLE CIRCLED DIGIT THREE;No;0;ON;;;3;3;N;;;;;
+24F8;DOUBLE CIRCLED DIGIT FOUR;No;0;ON;;;4;4;N;;;;;
+24F9;DOUBLE CIRCLED DIGIT FIVE;No;0;ON;;;5;5;N;;;;;
+24FA;DOUBLE CIRCLED DIGIT SIX;No;0;ON;;;6;6;N;;;;;
+24FB;DOUBLE CIRCLED DIGIT SEVEN;No;0;ON;;;7;7;N;;;;;
+24FC;DOUBLE CIRCLED DIGIT EIGHT;No;0;ON;;;8;8;N;;;;;
+24FD;DOUBLE CIRCLED DIGIT NINE;No;0;ON;;;9;9;N;;;;;
+24FE;DOUBLE CIRCLED NUMBER TEN;No;0;ON;;;;10;N;;;;;
+24FF;NEGATIVE CIRCLED DIGIT ZERO;No;0;ON;;;0;0;N;;;;;
+2500;BOX DRAWINGS LIGHT HORIZONTAL;So;0;ON;;;;;N;FORMS LIGHT HORIZONTAL;;;;
+2501;BOX DRAWINGS HEAVY HORIZONTAL;So;0;ON;;;;;N;FORMS HEAVY HORIZONTAL;;;;
+2502;BOX DRAWINGS LIGHT VERTICAL;So;0;ON;;;;;N;FORMS LIGHT VERTICAL;;;;
+2503;BOX DRAWINGS HEAVY VERTICAL;So;0;ON;;;;;N;FORMS HEAVY VERTICAL;;;;
+2504;BOX DRAWINGS LIGHT TRIPLE DASH HORIZONTAL;So;0;ON;;;;;N;FORMS LIGHT TRIPLE DASH HORIZONTAL;;;;
+2505;BOX DRAWINGS HEAVY TRIPLE DASH HORIZONTAL;So;0;ON;;;;;N;FORMS HEAVY TRIPLE DASH HORIZONTAL;;;;
+2506;BOX DRAWINGS LIGHT TRIPLE DASH VERTICAL;So;0;ON;;;;;N;FORMS LIGHT TRIPLE DASH VERTICAL;;;;
+2507;BOX DRAWINGS HEAVY TRIPLE DASH VERTICAL;So;0;ON;;;;;N;FORMS HEAVY TRIPLE DASH VERTICAL;;;;
+2508;BOX DRAWINGS LIGHT QUADRUPLE DASH HORIZONTAL;So;0;ON;;;;;N;FORMS LIGHT QUADRUPLE DASH HORIZONTAL;;;;
+2509;BOX DRAWINGS HEAVY QUADRUPLE DASH HORIZONTAL;So;0;ON;;;;;N;FORMS HEAVY QUADRUPLE DASH HORIZONTAL;;;;
+250A;BOX DRAWINGS LIGHT QUADRUPLE DASH VERTICAL;So;0;ON;;;;;N;FORMS LIGHT QUADRUPLE DASH VERTICAL;;;;
+250B;BOX DRAWINGS HEAVY QUADRUPLE DASH VERTICAL;So;0;ON;;;;;N;FORMS HEAVY QUADRUPLE DASH VERTICAL;;;;
+250C;BOX DRAWINGS LIGHT DOWN AND RIGHT;So;0;ON;;;;;N;FORMS LIGHT DOWN AND RIGHT;;;;
+250D;BOX DRAWINGS DOWN LIGHT AND RIGHT HEAVY;So;0;ON;;;;;N;FORMS DOWN LIGHT AND RIGHT HEAVY;;;;
+250E;BOX DRAWINGS DOWN HEAVY AND RIGHT LIGHT;So;0;ON;;;;;N;FORMS DOWN HEAVY AND RIGHT LIGHT;;;;
+250F;BOX DRAWINGS HEAVY DOWN AND RIGHT;So;0;ON;;;;;N;FORMS HEAVY DOWN AND RIGHT;;;;
+2510;BOX DRAWINGS LIGHT DOWN AND LEFT;So;0;ON;;;;;N;FORMS LIGHT DOWN AND LEFT;;;;
+2511;BOX DRAWINGS DOWN LIGHT AND LEFT HEAVY;So;0;ON;;;;;N;FORMS DOWN LIGHT AND LEFT HEAVY;;;;
+2512;BOX DRAWINGS DOWN HEAVY AND LEFT LIGHT;So;0;ON;;;;;N;FORMS DOWN HEAVY AND LEFT LIGHT;;;;
+2513;BOX DRAWINGS HEAVY DOWN AND LEFT;So;0;ON;;;;;N;FORMS HEAVY DOWN AND LEFT;;;;
+2514;BOX DRAWINGS LIGHT UP AND RIGHT;So;0;ON;;;;;N;FORMS LIGHT UP AND RIGHT;;;;
+2515;BOX DRAWINGS UP LIGHT AND RIGHT HEAVY;So;0;ON;;;;;N;FORMS UP LIGHT AND RIGHT HEAVY;;;;
+2516;BOX DRAWINGS UP HEAVY AND RIGHT LIGHT;So;0;ON;;;;;N;FORMS UP HEAVY AND RIGHT LIGHT;;;;
+2517;BOX DRAWINGS HEAVY UP AND RIGHT;So;0;ON;;;;;N;FORMS HEAVY UP AND RIGHT;;;;
+2518;BOX DRAWINGS LIGHT UP AND LEFT;So;0;ON;;;;;N;FORMS LIGHT UP AND LEFT;;;;
+2519;BOX DRAWINGS UP LIGHT AND LEFT HEAVY;So;0;ON;;;;;N;FORMS UP LIGHT AND LEFT HEAVY;;;;
+251A;BOX DRAWINGS UP HEAVY AND LEFT LIGHT;So;0;ON;;;;;N;FORMS UP HEAVY AND LEFT LIGHT;;;;
+251B;BOX DRAWINGS HEAVY UP AND LEFT;So;0;ON;;;;;N;FORMS HEAVY UP AND LEFT;;;;
+251C;BOX DRAWINGS LIGHT VERTICAL AND RIGHT;So;0;ON;;;;;N;FORMS LIGHT VERTICAL AND RIGHT;;;;
+251D;BOX DRAWINGS VERTICAL LIGHT AND RIGHT HEAVY;So;0;ON;;;;;N;FORMS VERTICAL LIGHT AND RIGHT HEAVY;;;;
+251E;BOX DRAWINGS UP HEAVY AND RIGHT DOWN LIGHT;So;0;ON;;;;;N;FORMS UP HEAVY AND RIGHT DOWN LIGHT;;;;
+251F;BOX DRAWINGS DOWN HEAVY AND RIGHT UP LIGHT;So;0;ON;;;;;N;FORMS DOWN HEAVY AND RIGHT UP LIGHT;;;;
+2520;BOX DRAWINGS VERTICAL HEAVY AND RIGHT LIGHT;So;0;ON;;;;;N;FORMS VERTICAL HEAVY AND RIGHT LIGHT;;;;
+2521;BOX DRAWINGS DOWN LIGHT AND RIGHT UP HEAVY;So;0;ON;;;;;N;FORMS DOWN LIGHT AND RIGHT UP HEAVY;;;;
+2522;BOX DRAWINGS UP LIGHT AND RIGHT DOWN HEAVY;So;0;ON;;;;;N;FORMS UP LIGHT AND RIGHT DOWN HEAVY;;;;
+2523;BOX DRAWINGS HEAVY VERTICAL AND RIGHT;So;0;ON;;;;;N;FORMS HEAVY VERTICAL AND RIGHT;;;;
+2524;BOX DRAWINGS LIGHT VERTICAL AND LEFT;So;0;ON;;;;;N;FORMS LIGHT VERTICAL AND LEFT;;;;
+2525;BOX DRAWINGS VERTICAL LIGHT AND LEFT HEAVY;So;0;ON;;;;;N;FORMS VERTICAL LIGHT AND LEFT HEAVY;;;;
+2526;BOX DRAWINGS UP HEAVY AND LEFT DOWN LIGHT;So;0;ON;;;;;N;FORMS UP HEAVY AND LEFT DOWN LIGHT;;;;
+2527;BOX DRAWINGS DOWN HEAVY AND LEFT UP LIGHT;So;0;ON;;;;;N;FORMS DOWN HEAVY AND LEFT UP LIGHT;;;;
+2528;BOX DRAWINGS VERTICAL HEAVY AND LEFT LIGHT;So;0;ON;;;;;N;FORMS VERTICAL HEAVY AND LEFT LIGHT;;;;
+2529;BOX DRAWINGS DOWN LIGHT AND LEFT UP HEAVY;So;0;ON;;;;;N;FORMS DOWN LIGHT AND LEFT UP HEAVY;;;;
+252A;BOX DRAWINGS UP LIGHT AND LEFT DOWN HEAVY;So;0;ON;;;;;N;FORMS UP LIGHT AND LEFT DOWN HEAVY;;;;
+252B;BOX DRAWINGS HEAVY VERTICAL AND LEFT;So;0;ON;;;;;N;FORMS HEAVY VERTICAL AND LEFT;;;;
+252C;BOX DRAWINGS LIGHT DOWN AND HORIZONTAL;So;0;ON;;;;;N;FORMS LIGHT DOWN AND HORIZONTAL;;;;
+252D;BOX DRAWINGS LEFT HEAVY AND RIGHT DOWN LIGHT;So;0;ON;;;;;N;FORMS LEFT HEAVY AND RIGHT DOWN LIGHT;;;;
+252E;BOX DRAWINGS RIGHT HEAVY AND LEFT DOWN LIGHT;So;0;ON;;;;;N;FORMS RIGHT HEAVY AND LEFT DOWN LIGHT;;;;
+252F;BOX DRAWINGS DOWN LIGHT AND HORIZONTAL HEAVY;So;0;ON;;;;;N;FORMS DOWN LIGHT AND HORIZONTAL HEAVY;;;;
+2530;BOX DRAWINGS DOWN HEAVY AND HORIZONTAL LIGHT;So;0;ON;;;;;N;FORMS DOWN HEAVY AND HORIZONTAL LIGHT;;;;
+2531;BOX DRAWINGS RIGHT LIGHT AND LEFT DOWN HEAVY;So;0;ON;;;;;N;FORMS RIGHT LIGHT AND LEFT DOWN HEAVY;;;;
+2532;BOX DRAWINGS LEFT LIGHT AND RIGHT DOWN HEAVY;So;0;ON;;;;;N;FORMS LEFT LIGHT AND RIGHT DOWN HEAVY;;;;
+2533;BOX DRAWINGS HEAVY DOWN AND HORIZONTAL;So;0;ON;;;;;N;FORMS HEAVY DOWN AND HORIZONTAL;;;;
+2534;BOX DRAWINGS LIGHT UP AND HORIZONTAL;So;0;ON;;;;;N;FORMS LIGHT UP AND HORIZONTAL;;;;
+2535;BOX DRAWINGS LEFT HEAVY AND RIGHT UP LIGHT;So;0;ON;;;;;N;FORMS LEFT HEAVY AND RIGHT UP LIGHT;;;;
+2536;BOX DRAWINGS RIGHT HEAVY AND LEFT UP LIGHT;So;0;ON;;;;;N;FORMS RIGHT HEAVY AND LEFT UP LIGHT;;;;
+2537;BOX DRAWINGS UP LIGHT AND HORIZONTAL HEAVY;So;0;ON;;;;;N;FORMS UP LIGHT AND HORIZONTAL HEAVY;;;;
+2538;BOX DRAWINGS UP HEAVY AND HORIZONTAL LIGHT;So;0;ON;;;;;N;FORMS UP HEAVY AND HORIZONTAL LIGHT;;;;
+2539;BOX DRAWINGS RIGHT LIGHT AND LEFT UP HEAVY;So;0;ON;;;;;N;FORMS RIGHT LIGHT AND LEFT UP HEAVY;;;;
+253A;BOX DRAWINGS LEFT LIGHT AND RIGHT UP HEAVY;So;0;ON;;;;;N;FORMS LEFT LIGHT AND RIGHT UP HEAVY;;;;
+253B;BOX DRAWINGS HEAVY UP AND HORIZONTAL;So;0;ON;;;;;N;FORMS HEAVY UP AND HORIZONTAL;;;;
+253C;BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL;So;0;ON;;;;;N;FORMS LIGHT VERTICAL AND HORIZONTAL;;;;
+253D;BOX DRAWINGS LEFT HEAVY AND RIGHT VERTICAL LIGHT;So;0;ON;;;;;N;FORMS LEFT HEAVY AND RIGHT VERTICAL LIGHT;;;;
+253E;BOX DRAWINGS RIGHT HEAVY AND LEFT VERTICAL LIGHT;So;0;ON;;;;;N;FORMS RIGHT HEAVY AND LEFT VERTICAL LIGHT;;;;
+253F;BOX DRAWINGS VERTICAL LIGHT AND HORIZONTAL HEAVY;So;0;ON;;;;;N;FORMS VERTICAL LIGHT AND HORIZONTAL HEAVY;;;;
+2540;BOX DRAWINGS UP HEAVY AND DOWN HORIZONTAL LIGHT;So;0;ON;;;;;N;FORMS UP HEAVY AND DOWN HORIZONTAL LIGHT;;;;
+2541;BOX DRAWINGS DOWN HEAVY AND UP HORIZONTAL LIGHT;So;0;ON;;;;;N;FORMS DOWN HEAVY AND UP HORIZONTAL LIGHT;;;;
+2542;BOX DRAWINGS VERTICAL HEAVY AND HORIZONTAL LIGHT;So;0;ON;;;;;N;FORMS VERTICAL HEAVY AND HORIZONTAL LIGHT;;;;
+2543;BOX DRAWINGS LEFT UP HEAVY AND RIGHT DOWN LIGHT;So;0;ON;;;;;N;FORMS LEFT UP HEAVY AND RIGHT DOWN LIGHT;;;;
+2544;BOX DRAWINGS RIGHT UP HEAVY AND LEFT DOWN LIGHT;So;0;ON;;;;;N;FORMS RIGHT UP HEAVY AND LEFT DOWN LIGHT;;;;
+2545;BOX DRAWINGS LEFT DOWN HEAVY AND RIGHT UP LIGHT;So;0;ON;;;;;N;FORMS LEFT DOWN HEAVY AND RIGHT UP LIGHT;;;;
+2546;BOX DRAWINGS RIGHT DOWN HEAVY AND LEFT UP LIGHT;So;0;ON;;;;;N;FORMS RIGHT DOWN HEAVY AND LEFT UP LIGHT;;;;
+2547;BOX DRAWINGS DOWN LIGHT AND UP HORIZONTAL HEAVY;So;0;ON;;;;;N;FORMS DOWN LIGHT AND UP HORIZONTAL HEAVY;;;;
+2548;BOX DRAWINGS UP LIGHT AND DOWN HORIZONTAL HEAVY;So;0;ON;;;;;N;FORMS UP LIGHT AND DOWN HORIZONTAL HEAVY;;;;
+2549;BOX DRAWINGS RIGHT LIGHT AND LEFT VERTICAL HEAVY;So;0;ON;;;;;N;FORMS RIGHT LIGHT AND LEFT VERTICAL HEAVY;;;;
+254A;BOX DRAWINGS LEFT LIGHT AND RIGHT VERTICAL HEAVY;So;0;ON;;;;;N;FORMS LEFT LIGHT AND RIGHT VERTICAL HEAVY;;;;
+254B;BOX DRAWINGS HEAVY VERTICAL AND HORIZONTAL;So;0;ON;;;;;N;FORMS HEAVY VERTICAL AND HORIZONTAL;;;;
+254C;BOX DRAWINGS LIGHT DOUBLE DASH HORIZONTAL;So;0;ON;;;;;N;FORMS LIGHT DOUBLE DASH HORIZONTAL;;;;
+254D;BOX DRAWINGS HEAVY DOUBLE DASH HORIZONTAL;So;0;ON;;;;;N;FORMS HEAVY DOUBLE DASH HORIZONTAL;;;;
+254E;BOX DRAWINGS LIGHT DOUBLE DASH VERTICAL;So;0;ON;;;;;N;FORMS LIGHT DOUBLE DASH VERTICAL;;;;
+254F;BOX DRAWINGS HEAVY DOUBLE DASH VERTICAL;So;0;ON;;;;;N;FORMS HEAVY DOUBLE DASH VERTICAL;;;;
+2550;BOX DRAWINGS DOUBLE HORIZONTAL;So;0;ON;;;;;N;FORMS DOUBLE HORIZONTAL;;;;
+2551;BOX DRAWINGS DOUBLE VERTICAL;So;0;ON;;;;;N;FORMS DOUBLE VERTICAL;;;;
+2552;BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE;So;0;ON;;;;;N;FORMS DOWN SINGLE AND RIGHT DOUBLE;;;;
+2553;BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE;So;0;ON;;;;;N;FORMS DOWN DOUBLE AND RIGHT SINGLE;;;;
+2554;BOX DRAWINGS DOUBLE DOWN AND RIGHT;So;0;ON;;;;;N;FORMS DOUBLE DOWN AND RIGHT;;;;
+2555;BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE;So;0;ON;;;;;N;FORMS DOWN SINGLE AND LEFT DOUBLE;;;;
+2556;BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE;So;0;ON;;;;;N;FORMS DOWN DOUBLE AND LEFT SINGLE;;;;
+2557;BOX DRAWINGS DOUBLE DOWN AND LEFT;So;0;ON;;;;;N;FORMS DOUBLE DOWN AND LEFT;;;;
+2558;BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE;So;0;ON;;;;;N;FORMS UP SINGLE AND RIGHT DOUBLE;;;;
+2559;BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE;So;0;ON;;;;;N;FORMS UP DOUBLE AND RIGHT SINGLE;;;;
+255A;BOX DRAWINGS DOUBLE UP AND RIGHT;So;0;ON;;;;;N;FORMS DOUBLE UP AND RIGHT;;;;
+255B;BOX DRAWINGS UP SINGLE AND LEFT DOUBLE;So;0;ON;;;;;N;FORMS UP SINGLE AND LEFT DOUBLE;;;;
+255C;BOX DRAWINGS UP DOUBLE AND LEFT SINGLE;So;0;ON;;;;;N;FORMS UP DOUBLE AND LEFT SINGLE;;;;
+255D;BOX DRAWINGS DOUBLE UP AND LEFT;So;0;ON;;;;;N;FORMS DOUBLE UP AND LEFT;;;;
+255E;BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE;So;0;ON;;;;;N;FORMS VERTICAL SINGLE AND RIGHT DOUBLE;;;;
+255F;BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE;So;0;ON;;;;;N;FORMS VERTICAL DOUBLE AND RIGHT SINGLE;;;;
+2560;BOX DRAWINGS DOUBLE VERTICAL AND RIGHT;So;0;ON;;;;;N;FORMS DOUBLE VERTICAL AND RIGHT;;;;
+2561;BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE;So;0;ON;;;;;N;FORMS VERTICAL SINGLE AND LEFT DOUBLE;;;;
+2562;BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE;So;0;ON;;;;;N;FORMS VERTICAL DOUBLE AND LEFT SINGLE;;;;
+2563;BOX DRAWINGS DOUBLE VERTICAL AND LEFT;So;0;ON;;;;;N;FORMS DOUBLE VERTICAL AND LEFT;;;;
+2564;BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE;So;0;ON;;;;;N;FORMS DOWN SINGLE AND HORIZONTAL DOUBLE;;;;
+2565;BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE;So;0;ON;;;;;N;FORMS DOWN DOUBLE AND HORIZONTAL SINGLE;;;;
+2566;BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL;So;0;ON;;;;;N;FORMS DOUBLE DOWN AND HORIZONTAL;;;;
+2567;BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE;So;0;ON;;;;;N;FORMS UP SINGLE AND HORIZONTAL DOUBLE;;;;
+2568;BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE;So;0;ON;;;;;N;FORMS UP DOUBLE AND HORIZONTAL SINGLE;;;;
+2569;BOX DRAWINGS DOUBLE UP AND HORIZONTAL;So;0;ON;;;;;N;FORMS DOUBLE UP AND HORIZONTAL;;;;
+256A;BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE;So;0;ON;;;;;N;FORMS VERTICAL SINGLE AND HORIZONTAL DOUBLE;;;;
+256B;BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE;So;0;ON;;;;;N;FORMS VERTICAL DOUBLE AND HORIZONTAL SINGLE;;;;
+256C;BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL;So;0;ON;;;;;N;FORMS DOUBLE VERTICAL AND HORIZONTAL;;;;
+256D;BOX DRAWINGS LIGHT ARC DOWN AND RIGHT;So;0;ON;;;;;N;FORMS LIGHT ARC DOWN AND RIGHT;;;;
+256E;BOX DRAWINGS LIGHT ARC DOWN AND LEFT;So;0;ON;;;;;N;FORMS LIGHT ARC DOWN AND LEFT;;;;
+256F;BOX DRAWINGS LIGHT ARC UP AND LEFT;So;0;ON;;;;;N;FORMS LIGHT ARC UP AND LEFT;;;;
+2570;BOX DRAWINGS LIGHT ARC UP AND RIGHT;So;0;ON;;;;;N;FORMS LIGHT ARC UP AND RIGHT;;;;
+2571;BOX DRAWINGS LIGHT DIAGONAL UPPER RIGHT TO LOWER LEFT;So;0;ON;;;;;N;FORMS LIGHT DIAGONAL UPPER RIGHT TO LOWER LEFT;;;;
+2572;BOX DRAWINGS LIGHT DIAGONAL UPPER LEFT TO LOWER RIGHT;So;0;ON;;;;;N;FORMS LIGHT DIAGONAL UPPER LEFT TO LOWER RIGHT;;;;
+2573;BOX DRAWINGS LIGHT DIAGONAL CROSS;So;0;ON;;;;;N;FORMS LIGHT DIAGONAL CROSS;;;;
+2574;BOX DRAWINGS LIGHT LEFT;So;0;ON;;;;;N;FORMS LIGHT LEFT;;;;
+2575;BOX DRAWINGS LIGHT UP;So;0;ON;;;;;N;FORMS LIGHT UP;;;;
+2576;BOX DRAWINGS LIGHT RIGHT;So;0;ON;;;;;N;FORMS LIGHT RIGHT;;;;
+2577;BOX DRAWINGS LIGHT DOWN;So;0;ON;;;;;N;FORMS LIGHT DOWN;;;;
+2578;BOX DRAWINGS HEAVY LEFT;So;0;ON;;;;;N;FORMS HEAVY LEFT;;;;
+2579;BOX DRAWINGS HEAVY UP;So;0;ON;;;;;N;FORMS HEAVY UP;;;;
+257A;BOX DRAWINGS HEAVY RIGHT;So;0;ON;;;;;N;FORMS HEAVY RIGHT;;;;
+257B;BOX DRAWINGS HEAVY DOWN;So;0;ON;;;;;N;FORMS HEAVY DOWN;;;;
+257C;BOX DRAWINGS LIGHT LEFT AND HEAVY RIGHT;So;0;ON;;;;;N;FORMS LIGHT LEFT AND HEAVY RIGHT;;;;
+257D;BOX DRAWINGS LIGHT UP AND HEAVY DOWN;So;0;ON;;;;;N;FORMS LIGHT UP AND HEAVY DOWN;;;;
+257E;BOX DRAWINGS HEAVY LEFT AND LIGHT RIGHT;So;0;ON;;;;;N;FORMS HEAVY LEFT AND LIGHT RIGHT;;;;
+257F;BOX DRAWINGS HEAVY UP AND LIGHT DOWN;So;0;ON;;;;;N;FORMS HEAVY UP AND LIGHT DOWN;;;;
+2580;UPPER HALF BLOCK;So;0;ON;;;;;N;;;;;
+2581;LOWER ONE EIGHTH BLOCK;So;0;ON;;;;;N;;;;;
+2582;LOWER ONE QUARTER BLOCK;So;0;ON;;;;;N;;;;;
+2583;LOWER THREE EIGHTHS BLOCK;So;0;ON;;;;;N;;;;;
+2584;LOWER HALF BLOCK;So;0;ON;;;;;N;;;;;
+2585;LOWER FIVE EIGHTHS BLOCK;So;0;ON;;;;;N;;;;;
+2586;LOWER THREE QUARTERS BLOCK;So;0;ON;;;;;N;LOWER THREE QUARTER BLOCK;;;;
+2587;LOWER SEVEN EIGHTHS BLOCK;So;0;ON;;;;;N;;;;;
+2588;FULL BLOCK;So;0;ON;;;;;N;;;;;
+2589;LEFT SEVEN EIGHTHS BLOCK;So;0;ON;;;;;N;;;;;
+258A;LEFT THREE QUARTERS BLOCK;So;0;ON;;;;;N;LEFT THREE QUARTER BLOCK;;;;
+258B;LEFT FIVE EIGHTHS BLOCK;So;0;ON;;;;;N;;;;;
+258C;LEFT HALF BLOCK;So;0;ON;;;;;N;;;;;
+258D;LEFT THREE EIGHTHS BLOCK;So;0;ON;;;;;N;;;;;
+258E;LEFT ONE QUARTER BLOCK;So;0;ON;;;;;N;;;;;
+258F;LEFT ONE EIGHTH BLOCK;So;0;ON;;;;;N;;;;;
+2590;RIGHT HALF BLOCK;So;0;ON;;;;;N;;;;;
+2591;LIGHT SHADE;So;0;ON;;;;;N;;;;;
+2592;MEDIUM SHADE;So;0;ON;;;;;N;;;;;
+2593;DARK SHADE;So;0;ON;;;;;N;;;;;
+2594;UPPER ONE EIGHTH BLOCK;So;0;ON;;;;;N;;;;;
+2595;RIGHT ONE EIGHTH BLOCK;So;0;ON;;;;;N;;;;;
+2596;QUADRANT LOWER LEFT;So;0;ON;;;;;N;;;;;
+2597;QUADRANT LOWER RIGHT;So;0;ON;;;;;N;;;;;
+2598;QUADRANT UPPER LEFT;So;0;ON;;;;;N;;;;;
+2599;QUADRANT UPPER LEFT AND LOWER LEFT AND LOWER RIGHT;So;0;ON;;;;;N;;;;;
+259A;QUADRANT UPPER LEFT AND LOWER RIGHT;So;0;ON;;;;;N;;;;;
+259B;QUADRANT UPPER LEFT AND UPPER RIGHT AND LOWER LEFT;So;0;ON;;;;;N;;;;;
+259C;QUADRANT UPPER LEFT AND UPPER RIGHT AND LOWER RIGHT;So;0;ON;;;;;N;;;;;
+259D;QUADRANT UPPER RIGHT;So;0;ON;;;;;N;;;;;
+259E;QUADRANT UPPER RIGHT AND LOWER LEFT;So;0;ON;;;;;N;;;;;
+259F;QUADRANT UPPER RIGHT AND LOWER LEFT AND LOWER RIGHT;So;0;ON;;;;;N;;;;;
+25A0;BLACK SQUARE;So;0;ON;;;;;N;;;;;
+25A1;WHITE SQUARE;So;0;ON;;;;;N;;;;;
+25A2;WHITE SQUARE WITH ROUNDED CORNERS;So;0;ON;;;;;N;;;;;
+25A3;WHITE SQUARE CONTAINING BLACK SMALL SQUARE;So;0;ON;;;;;N;;;;;
+25A4;SQUARE WITH HORIZONTAL FILL;So;0;ON;;;;;N;;;;;
+25A5;SQUARE WITH VERTICAL FILL;So;0;ON;;;;;N;;;;;
+25A6;SQUARE WITH ORTHOGONAL CROSSHATCH FILL;So;0;ON;;;;;N;;;;;
+25A7;SQUARE WITH UPPER LEFT TO LOWER RIGHT FILL;So;0;ON;;;;;N;;;;;
+25A8;SQUARE WITH UPPER RIGHT TO LOWER LEFT FILL;So;0;ON;;;;;N;;;;;
+25A9;SQUARE WITH DIAGONAL CROSSHATCH FILL;So;0;ON;;;;;N;;;;;
+25AA;BLACK SMALL SQUARE;So;0;ON;;;;;N;;;;;
+25AB;WHITE SMALL SQUARE;So;0;ON;;;;;N;;;;;
+25AC;BLACK RECTANGLE;So;0;ON;;;;;N;;;;;
+25AD;WHITE RECTANGLE;So;0;ON;;;;;N;;;;;
+25AE;BLACK VERTICAL RECTANGLE;So;0;ON;;;;;N;;;;;
+25AF;WHITE VERTICAL RECTANGLE;So;0;ON;;;;;N;;;;;
+25B0;BLACK PARALLELOGRAM;So;0;ON;;;;;N;;;;;
+25B1;WHITE PARALLELOGRAM;So;0;ON;;;;;N;;;;;
+25B2;BLACK UP-POINTING TRIANGLE;So;0;ON;;;;;N;BLACK UP POINTING TRIANGLE;;;;
+25B3;WHITE UP-POINTING TRIANGLE;So;0;ON;;;;;N;WHITE UP POINTING TRIANGLE;;;;
+25B4;BLACK UP-POINTING SMALL TRIANGLE;So;0;ON;;;;;N;BLACK UP POINTING SMALL TRIANGLE;;;;
+25B5;WHITE UP-POINTING SMALL TRIANGLE;So;0;ON;;;;;N;WHITE UP POINTING SMALL TRIANGLE;;;;
+25B6;BLACK RIGHT-POINTING TRIANGLE;So;0;ON;;;;;N;BLACK RIGHT POINTING TRIANGLE;;;;
+25B7;WHITE RIGHT-POINTING TRIANGLE;Sm;0;ON;;;;;N;WHITE RIGHT POINTING TRIANGLE;;;;
+25B8;BLACK RIGHT-POINTING SMALL TRIANGLE;So;0;ON;;;;;N;BLACK RIGHT POINTING SMALL TRIANGLE;;;;
+25B9;WHITE RIGHT-POINTING SMALL TRIANGLE;So;0;ON;;;;;N;WHITE RIGHT POINTING SMALL TRIANGLE;;;;
+25BA;BLACK RIGHT-POINTING POINTER;So;0;ON;;;;;N;BLACK RIGHT POINTING POINTER;;;;
+25BB;WHITE RIGHT-POINTING POINTER;So;0;ON;;;;;N;WHITE RIGHT POINTING POINTER;;;;
+25BC;BLACK DOWN-POINTING TRIANGLE;So;0;ON;;;;;N;BLACK DOWN POINTING TRIANGLE;;;;
+25BD;WHITE DOWN-POINTING TRIANGLE;So;0;ON;;;;;N;WHITE DOWN POINTING TRIANGLE;;;;
+25BE;BLACK DOWN-POINTING SMALL TRIANGLE;So;0;ON;;;;;N;BLACK DOWN POINTING SMALL TRIANGLE;;;;
+25BF;WHITE DOWN-POINTING SMALL TRIANGLE;So;0;ON;;;;;N;WHITE DOWN POINTING SMALL TRIANGLE;;;;
+25C0;BLACK LEFT-POINTING TRIANGLE;So;0;ON;;;;;N;BLACK LEFT POINTING TRIANGLE;;;;
+25C1;WHITE LEFT-POINTING TRIANGLE;Sm;0;ON;;;;;N;WHITE LEFT POINTING TRIANGLE;;;;
+25C2;BLACK LEFT-POINTING SMALL TRIANGLE;So;0;ON;;;;;N;BLACK LEFT POINTING SMALL TRIANGLE;;;;
+25C3;WHITE LEFT-POINTING SMALL TRIANGLE;So;0;ON;;;;;N;WHITE LEFT POINTING SMALL TRIANGLE;;;;
+25C4;BLACK LEFT-POINTING POINTER;So;0;ON;;;;;N;BLACK LEFT POINTING POINTER;;;;
+25C5;WHITE LEFT-POINTING POINTER;So;0;ON;;;;;N;WHITE LEFT POINTING POINTER;;;;
+25C6;BLACK DIAMOND;So;0;ON;;;;;N;;;;;
+25C7;WHITE DIAMOND;So;0;ON;;;;;N;;;;;
+25C8;WHITE DIAMOND CONTAINING BLACK SMALL DIAMOND;So;0;ON;;;;;N;;;;;
+25C9;FISHEYE;So;0;ON;;;;;N;;;;;
+25CA;LOZENGE;So;0;ON;;;;;N;;;;;
+25CB;WHITE CIRCLE;So;0;ON;;;;;N;;;;;
+25CC;DOTTED CIRCLE;So;0;ON;;;;;N;;;;;
+25CD;CIRCLE WITH VERTICAL FILL;So;0;ON;;;;;N;;;;;
+25CE;BULLSEYE;So;0;ON;;;;;N;;;;;
+25CF;BLACK CIRCLE;So;0;ON;;;;;N;;;;;
+25D0;CIRCLE WITH LEFT HALF BLACK;So;0;ON;;;;;N;;;;;
+25D1;CIRCLE WITH RIGHT HALF BLACK;So;0;ON;;;;;N;;;;;
+25D2;CIRCLE WITH LOWER HALF BLACK;So;0;ON;;;;;N;;;;;
+25D3;CIRCLE WITH UPPER HALF BLACK;So;0;ON;;;;;N;;;;;
+25D4;CIRCLE WITH UPPER RIGHT QUADRANT BLACK;So;0;ON;;;;;N;;;;;
+25D5;CIRCLE WITH ALL BUT UPPER LEFT QUADRANT BLACK;So;0;ON;;;;;N;;;;;
+25D6;LEFT HALF BLACK CIRCLE;So;0;ON;;;;;N;;;;;
+25D7;RIGHT HALF BLACK CIRCLE;So;0;ON;;;;;N;;;;;
+25D8;INVERSE BULLET;So;0;ON;;;;;N;;;;;
+25D9;INVERSE WHITE CIRCLE;So;0;ON;;;;;N;;;;;
+25DA;UPPER HALF INVERSE WHITE CIRCLE;So;0;ON;;;;;N;;;;;
+25DB;LOWER HALF INVERSE WHITE CIRCLE;So;0;ON;;;;;N;;;;;
+25DC;UPPER LEFT QUADRANT CIRCULAR ARC;So;0;ON;;;;;N;;;;;
+25DD;UPPER RIGHT QUADRANT CIRCULAR ARC;So;0;ON;;;;;N;;;;;
+25DE;LOWER RIGHT QUADRANT CIRCULAR ARC;So;0;ON;;;;;N;;;;;
+25DF;LOWER LEFT QUADRANT CIRCULAR ARC;So;0;ON;;;;;N;;;;;
+25E0;UPPER HALF CIRCLE;So;0;ON;;;;;N;;;;;
+25E1;LOWER HALF CIRCLE;So;0;ON;;;;;N;;;;;
+25E2;BLACK LOWER RIGHT TRIANGLE;So;0;ON;;;;;N;;;;;
+25E3;BLACK LOWER LEFT TRIANGLE;So;0;ON;;;;;N;;;;;
+25E4;BLACK UPPER LEFT TRIANGLE;So;0;ON;;;;;N;;;;;
+25E5;BLACK UPPER RIGHT TRIANGLE;So;0;ON;;;;;N;;;;;
+25E6;WHITE BULLET;So;0;ON;;;;;N;;;;;
+25E7;SQUARE WITH LEFT HALF BLACK;So;0;ON;;;;;N;;;;;
+25E8;SQUARE WITH RIGHT HALF BLACK;So;0;ON;;;;;N;;;;;
+25E9;SQUARE WITH UPPER LEFT DIAGONAL HALF BLACK;So;0;ON;;;;;N;;;;;
+25EA;SQUARE WITH LOWER RIGHT DIAGONAL HALF BLACK;So;0;ON;;;;;N;;;;;
+25EB;WHITE SQUARE WITH VERTICAL BISECTING LINE;So;0;ON;;;;;N;;;;;
+25EC;WHITE UP-POINTING TRIANGLE WITH DOT;So;0;ON;;;;;N;WHITE UP POINTING TRIANGLE WITH DOT;;;;
+25ED;UP-POINTING TRIANGLE WITH LEFT HALF BLACK;So;0;ON;;;;;N;UP POINTING TRIANGLE WITH LEFT HALF BLACK;;;;
+25EE;UP-POINTING TRIANGLE WITH RIGHT HALF BLACK;So;0;ON;;;;;N;UP POINTING TRIANGLE WITH RIGHT HALF BLACK;;;;
+25EF;LARGE CIRCLE;So;0;ON;;;;;N;;;;;
+25F0;WHITE SQUARE WITH UPPER LEFT QUADRANT;So;0;ON;;;;;N;;;;;
+25F1;WHITE SQUARE WITH LOWER LEFT QUADRANT;So;0;ON;;;;;N;;;;;
+25F2;WHITE SQUARE WITH LOWER RIGHT QUADRANT;So;0;ON;;;;;N;;;;;
+25F3;WHITE SQUARE WITH UPPER RIGHT QUADRANT;So;0;ON;;;;;N;;;;;
+25F4;WHITE CIRCLE WITH UPPER LEFT QUADRANT;So;0;ON;;;;;N;;;;;
+25F5;WHITE CIRCLE WITH LOWER LEFT QUADRANT;So;0;ON;;;;;N;;;;;
+25F6;WHITE CIRCLE WITH LOWER RIGHT QUADRANT;So;0;ON;;;;;N;;;;;
+25F7;WHITE CIRCLE WITH UPPER RIGHT QUADRANT;So;0;ON;;;;;N;;;;;
+25F8;UPPER LEFT TRIANGLE;Sm;0;ON;;;;;N;;;;;
+25F9;UPPER RIGHT TRIANGLE;Sm;0;ON;;;;;N;;;;;
+25FA;LOWER LEFT TRIANGLE;Sm;0;ON;;;;;N;;;;;
+25FB;WHITE MEDIUM SQUARE;Sm;0;ON;;;;;N;;;;;
+25FC;BLACK MEDIUM SQUARE;Sm;0;ON;;;;;N;;;;;
+25FD;WHITE MEDIUM SMALL SQUARE;Sm;0;ON;;;;;N;;;;;
+25FE;BLACK MEDIUM SMALL SQUARE;Sm;0;ON;;;;;N;;;;;
+25FF;LOWER RIGHT TRIANGLE;Sm;0;ON;;;;;N;;;;;
+2600;BLACK SUN WITH RAYS;So;0;ON;;;;;N;;;;;
+2601;CLOUD;So;0;ON;;;;;N;;;;;
+2602;UMBRELLA;So;0;ON;;;;;N;;;;;
+2603;SNOWMAN;So;0;ON;;;;;N;;;;;
+2604;COMET;So;0;ON;;;;;N;;;;;
+2605;BLACK STAR;So;0;ON;;;;;N;;;;;
+2606;WHITE STAR;So;0;ON;;;;;N;;;;;
+2607;LIGHTNING;So;0;ON;;;;;N;;;;;
+2608;THUNDERSTORM;So;0;ON;;;;;N;;;;;
+2609;SUN;So;0;ON;;;;;N;;;;;
+260A;ASCENDING NODE;So;0;ON;;;;;N;;;;;
+260B;DESCENDING NODE;So;0;ON;;;;;N;;;;;
+260C;CONJUNCTION;So;0;ON;;;;;N;;;;;
+260D;OPPOSITION;So;0;ON;;;;;N;;;;;
+260E;BLACK TELEPHONE;So;0;ON;;;;;N;;;;;
+260F;WHITE TELEPHONE;So;0;ON;;;;;N;;;;;
+2610;BALLOT BOX;So;0;ON;;;;;N;;;;;
+2611;BALLOT BOX WITH CHECK;So;0;ON;;;;;N;;;;;
+2612;BALLOT BOX WITH X;So;0;ON;;;;;N;;;;;
+2613;SALTIRE;So;0;ON;;;;;N;;;;;
+2614;UMBRELLA WITH RAIN DROPS;So;0;ON;;;;;N;;;;;
+2615;HOT BEVERAGE;So;0;ON;;;;;N;;;;;
+2616;WHITE SHOGI PIECE;So;0;ON;;;;;N;;;;;
+2617;BLACK SHOGI PIECE;So;0;ON;;;;;N;;;;;
+2618;SHAMROCK;So;0;ON;;;;;N;;;;;
+2619;REVERSED ROTATED FLORAL HEART BULLET;So;0;ON;;;;;N;;;;;
+261A;BLACK LEFT POINTING INDEX;So;0;ON;;;;;N;;;;;
+261B;BLACK RIGHT POINTING INDEX;So;0;ON;;;;;N;;;;;
+261C;WHITE LEFT POINTING INDEX;So;0;ON;;;;;N;;;;;
+261D;WHITE UP POINTING INDEX;So;0;ON;;;;;N;;;;;
+261E;WHITE RIGHT POINTING INDEX;So;0;ON;;;;;N;;;;;
+261F;WHITE DOWN POINTING INDEX;So;0;ON;;;;;N;;;;;
+2620;SKULL AND CROSSBONES;So;0;ON;;;;;N;;;;;
+2621;CAUTION SIGN;So;0;ON;;;;;N;;;;;
+2622;RADIOACTIVE SIGN;So;0;ON;;;;;N;;;;;
+2623;BIOHAZARD SIGN;So;0;ON;;;;;N;;;;;
+2624;CADUCEUS;So;0;ON;;;;;N;;;;;
+2625;ANKH;So;0;ON;;;;;N;;;;;
+2626;ORTHODOX CROSS;So;0;ON;;;;;N;;;;;
+2627;CHI RHO;So;0;ON;;;;;N;;;;;
+2628;CROSS OF LORRAINE;So;0;ON;;;;;N;;;;;
+2629;CROSS OF JERUSALEM;So;0;ON;;;;;N;;;;;
+262A;STAR AND CRESCENT;So;0;ON;;;;;N;;;;;
+262B;FARSI SYMBOL;So;0;ON;;;;;N;SYMBOL OF IRAN;;;;
+262C;ADI SHAKTI;So;0;ON;;;;;N;;;;;
+262D;HAMMER AND SICKLE;So;0;ON;;;;;N;;;;;
+262E;PEACE SYMBOL;So;0;ON;;;;;N;;;;;
+262F;YIN YANG;So;0;ON;;;;;N;;;;;
+2630;TRIGRAM FOR HEAVEN;So;0;ON;;;;;N;;;;;
+2631;TRIGRAM FOR LAKE;So;0;ON;;;;;N;;;;;
+2632;TRIGRAM FOR FIRE;So;0;ON;;;;;N;;;;;
+2633;TRIGRAM FOR THUNDER;So;0;ON;;;;;N;;;;;
+2634;TRIGRAM FOR WIND;So;0;ON;;;;;N;;;;;
+2635;TRIGRAM FOR WATER;So;0;ON;;;;;N;;;;;
+2636;TRIGRAM FOR MOUNTAIN;So;0;ON;;;;;N;;;;;
+2637;TRIGRAM FOR EARTH;So;0;ON;;;;;N;;;;;
+2638;WHEEL OF DHARMA;So;0;ON;;;;;N;;;;;
+2639;WHITE FROWNING FACE;So;0;ON;;;;;N;;;;;
+263A;WHITE SMILING FACE;So;0;ON;;;;;N;;;;;
+263B;BLACK SMILING FACE;So;0;ON;;;;;N;;;;;
+263C;WHITE SUN WITH RAYS;So;0;ON;;;;;N;;;;;
+263D;FIRST QUARTER MOON;So;0;ON;;;;;N;;;;;
+263E;LAST QUARTER MOON;So;0;ON;;;;;N;;;;;
+263F;MERCURY;So;0;ON;;;;;N;;;;;
+2640;FEMALE SIGN;So;0;ON;;;;;N;;;;;
+2641;EARTH;So;0;ON;;;;;N;;;;;
+2642;MALE SIGN;So;0;ON;;;;;N;;;;;
+2643;JUPITER;So;0;ON;;;;;N;;;;;
+2644;SATURN;So;0;ON;;;;;N;;;;;
+2645;URANUS;So;0;ON;;;;;N;;;;;
+2646;NEPTUNE;So;0;ON;;;;;N;;;;;
+2647;PLUTO;So;0;ON;;;;;N;;;;;
+2648;ARIES;So;0;ON;;;;;N;;;;;
+2649;TAURUS;So;0;ON;;;;;N;;;;;
+264A;GEMINI;So;0;ON;;;;;N;;;;;
+264B;CANCER;So;0;ON;;;;;N;;;;;
+264C;LEO;So;0;ON;;;;;N;;;;;
+264D;VIRGO;So;0;ON;;;;;N;;;;;
+264E;LIBRA;So;0;ON;;;;;N;;;;;
+264F;SCORPIUS;So;0;ON;;;;;N;;;;;
+2650;SAGITTARIUS;So;0;ON;;;;;N;;;;;
+2651;CAPRICORN;So;0;ON;;;;;N;;;;;
+2652;AQUARIUS;So;0;ON;;;;;N;;;;;
+2653;PISCES;So;0;ON;;;;;N;;;;;
+2654;WHITE CHESS KING;So;0;ON;;;;;N;;;;;
+2655;WHITE CHESS QUEEN;So;0;ON;;;;;N;;;;;
+2656;WHITE CHESS ROOK;So;0;ON;;;;;N;;;;;
+2657;WHITE CHESS BISHOP;So;0;ON;;;;;N;;;;;
+2658;WHITE CHESS KNIGHT;So;0;ON;;;;;N;;;;;
+2659;WHITE CHESS PAWN;So;0;ON;;;;;N;;;;;
+265A;BLACK CHESS KING;So;0;ON;;;;;N;;;;;
+265B;BLACK CHESS QUEEN;So;0;ON;;;;;N;;;;;
+265C;BLACK CHESS ROOK;So;0;ON;;;;;N;;;;;
+265D;BLACK CHESS BISHOP;So;0;ON;;;;;N;;;;;
+265E;BLACK CHESS KNIGHT;So;0;ON;;;;;N;;;;;
+265F;BLACK CHESS PAWN;So;0;ON;;;;;N;;;;;
+2660;BLACK SPADE SUIT;So;0;ON;;;;;N;;;;;
+2661;WHITE HEART SUIT;So;0;ON;;;;;N;;;;;
+2662;WHITE DIAMOND SUIT;So;0;ON;;;;;N;;;;;
+2663;BLACK CLUB SUIT;So;0;ON;;;;;N;;;;;
+2664;WHITE SPADE SUIT;So;0;ON;;;;;N;;;;;
+2665;BLACK HEART SUIT;So;0;ON;;;;;N;;;;;
+2666;BLACK DIAMOND SUIT;So;0;ON;;;;;N;;;;;
+2667;WHITE CLUB SUIT;So;0;ON;;;;;N;;;;;
+2668;HOT SPRINGS;So;0;ON;;;;;N;;;;;
+2669;QUARTER NOTE;So;0;ON;;;;;N;;;;;
+266A;EIGHTH NOTE;So;0;ON;;;;;N;;;;;
+266B;BEAMED EIGHTH NOTES;So;0;ON;;;;;N;BARRED EIGHTH NOTES;;;;
+266C;BEAMED SIXTEENTH NOTES;So;0;ON;;;;;N;BARRED SIXTEENTH NOTES;;;;
+266D;MUSIC FLAT SIGN;So;0;ON;;;;;N;FLAT;;;;
+266E;MUSIC NATURAL SIGN;So;0;ON;;;;;N;NATURAL;;;;
+266F;MUSIC SHARP SIGN;Sm;0;ON;;;;;N;SHARP;;;;
+2670;WEST SYRIAC CROSS;So;0;ON;;;;;N;;;;;
+2671;EAST SYRIAC CROSS;So;0;ON;;;;;N;;;;;
+2672;UNIVERSAL RECYCLING SYMBOL;So;0;ON;;;;;N;;;;;
+2673;RECYCLING SYMBOL FOR TYPE-1 PLASTICS;So;0;ON;;;;;N;;pete;;;
+2674;RECYCLING SYMBOL FOR TYPE-2 PLASTICS;So;0;ON;;;;;N;;hdpe;;;
+2675;RECYCLING SYMBOL FOR TYPE-3 PLASTICS;So;0;ON;;;;;N;;pvc;;;
+2676;RECYCLING SYMBOL FOR TYPE-4 PLASTICS;So;0;ON;;;;;N;;ldpe;;;
+2677;RECYCLING SYMBOL FOR TYPE-5 PLASTICS;So;0;ON;;;;;N;;pp;;;
+2678;RECYCLING SYMBOL FOR TYPE-6 PLASTICS;So;0;ON;;;;;N;;ps;;;
+2679;RECYCLING SYMBOL FOR TYPE-7 PLASTICS;So;0;ON;;;;;N;;other;;;
+267A;RECYCLING SYMBOL FOR GENERIC MATERIALS;So;0;ON;;;;;N;;;;;
+267B;BLACK UNIVERSAL RECYCLING SYMBOL;So;0;ON;;;;;N;;;;;
+267C;RECYCLED PAPER SYMBOL;So;0;ON;;;;;N;;;;;
+267D;PARTIALLY-RECYCLED PAPER SYMBOL;So;0;ON;;;;;N;;;;;
+267E;PERMANENT PAPER SIGN;So;0;ON;;;;;N;;;;;
+267F;WHEELCHAIR SYMBOL;So;0;ON;;;;;N;;;;;
+2680;DIE FACE-1;So;0;ON;;;;;N;;;;;
+2681;DIE FACE-2;So;0;ON;;;;;N;;;;;
+2682;DIE FACE-3;So;0;ON;;;;;N;;;;;
+2683;DIE FACE-4;So;0;ON;;;;;N;;;;;
+2684;DIE FACE-5;So;0;ON;;;;;N;;;;;
+2685;DIE FACE-6;So;0;ON;;;;;N;;;;;
+2686;WHITE CIRCLE WITH DOT RIGHT;So;0;ON;;;;;N;;;;;
+2687;WHITE CIRCLE WITH TWO DOTS;So;0;ON;;;;;N;;;;;
+2688;BLACK CIRCLE WITH WHITE DOT RIGHT;So;0;ON;;;;;N;;;;;
+2689;BLACK CIRCLE WITH TWO WHITE DOTS;So;0;ON;;;;;N;;;;;
+268A;MONOGRAM FOR YANG;So;0;ON;;;;;N;;;;;
+268B;MONOGRAM FOR YIN;So;0;ON;;;;;N;;;;;
+268C;DIGRAM FOR GREATER YANG;So;0;ON;;;;;N;;;;;
+268D;DIGRAM FOR LESSER YIN;So;0;ON;;;;;N;;;;;
+268E;DIGRAM FOR LESSER YANG;So;0;ON;;;;;N;;;;;
+268F;DIGRAM FOR GREATER YIN;So;0;ON;;;;;N;;;;;
+2690;WHITE FLAG;So;0;ON;;;;;N;;;;;
+2691;BLACK FLAG;So;0;ON;;;;;N;;;;;
+2692;HAMMER AND PICK;So;0;ON;;;;;N;;;;;
+2693;ANCHOR;So;0;ON;;;;;N;;;;;
+2694;CROSSED SWORDS;So;0;ON;;;;;N;;;;;
+2695;STAFF OF AESCULAPIUS;So;0;ON;;;;;N;;;;;
+2696;SCALES;So;0;ON;;;;;N;;;;;
+2697;ALEMBIC;So;0;ON;;;;;N;;;;;
+2698;FLOWER;So;0;ON;;;;;N;;;;;
+2699;GEAR;So;0;ON;;;;;N;;;;;
+269A;STAFF OF HERMES;So;0;ON;;;;;N;;;;;
+269B;ATOM SYMBOL;So;0;ON;;;;;N;;;;;
+269C;FLEUR-DE-LIS;So;0;ON;;;;;N;;;;;
+26A0;WARNING SIGN;So;0;ON;;;;;N;;;;;
+26A1;HIGH VOLTAGE SIGN;So;0;ON;;;;;N;;;;;
+26A2;DOUBLED FEMALE SIGN;So;0;ON;;;;;N;;;;;
+26A3;DOUBLED MALE SIGN;So;0;ON;;;;;N;;;;;
+26A4;INTERLOCKED FEMALE AND MALE SIGN;So;0;ON;;;;;N;;;;;
+26A5;MALE AND FEMALE SIGN;So;0;ON;;;;;N;;;;;
+26A6;MALE WITH STROKE SIGN;So;0;ON;;;;;N;;;;;
+26A7;MALE WITH STROKE AND MALE AND FEMALE SIGN;So;0;ON;;;;;N;;;;;
+26A8;VERTICAL MALE WITH STROKE SIGN;So;0;ON;;;;;N;;;;;
+26A9;HORIZONTAL MALE WITH STROKE SIGN;So;0;ON;;;;;N;;;;;
+26AA;MEDIUM WHITE CIRCLE;So;0;ON;;;;;N;;;;;
+26AB;MEDIUM BLACK CIRCLE;So;0;ON;;;;;N;;;;;
+26AC;MEDIUM SMALL WHITE CIRCLE;So;0;L;;;;;N;;;;;
+26AD;MARRIAGE SYMBOL;So;0;ON;;;;;N;;;;;
+26AE;DIVORCE SYMBOL;So;0;ON;;;;;N;;;;;
+26AF;UNMARRIED PARTNERSHIP SYMBOL;So;0;ON;;;;;N;;;;;
+26B0;COFFIN;So;0;ON;;;;;N;;;;;
+26B1;FUNERAL URN;So;0;ON;;;;;N;;;;;
+2701;UPPER BLADE SCISSORS;So;0;ON;;;;;N;;;;;
+2702;BLACK SCISSORS;So;0;ON;;;;;N;;;;;
+2703;LOWER BLADE SCISSORS;So;0;ON;;;;;N;;;;;
+2704;WHITE SCISSORS;So;0;ON;;;;;N;;;;;
+2706;TELEPHONE LOCATION SIGN;So;0;ON;;;;;N;;;;;
+2707;TAPE DRIVE;So;0;ON;;;;;N;;;;;
+2708;AIRPLANE;So;0;ON;;;;;N;;;;;
+2709;ENVELOPE;So;0;ON;;;;;N;;;;;
+270C;VICTORY HAND;So;0;ON;;;;;N;;;;;
+270D;WRITING HAND;So;0;ON;;;;;N;;;;;
+270E;LOWER RIGHT PENCIL;So;0;ON;;;;;N;;;;;
+270F;PENCIL;So;0;ON;;;;;N;;;;;
+2710;UPPER RIGHT PENCIL;So;0;ON;;;;;N;;;;;
+2711;WHITE NIB;So;0;ON;;;;;N;;;;;
+2712;BLACK NIB;So;0;ON;;;;;N;;;;;
+2713;CHECK MARK;So;0;ON;;;;;N;;;;;
+2714;HEAVY CHECK MARK;So;0;ON;;;;;N;;;;;
+2715;MULTIPLICATION X;So;0;ON;;;;;N;;;;;
+2716;HEAVY MULTIPLICATION X;So;0;ON;;;;;N;;;;;
+2717;BALLOT X;So;0;ON;;;;;N;;;;;
+2718;HEAVY BALLOT X;So;0;ON;;;;;N;;;;;
+2719;OUTLINED GREEK CROSS;So;0;ON;;;;;N;;;;;
+271A;HEAVY GREEK CROSS;So;0;ON;;;;;N;;;;;
+271B;OPEN CENTRE CROSS;So;0;ON;;;;;N;OPEN CENTER CROSS;;;;
+271C;HEAVY OPEN CENTRE CROSS;So;0;ON;;;;;N;HEAVY OPEN CENTER CROSS;;;;
+271D;LATIN CROSS;So;0;ON;;;;;N;;;;;
+271E;SHADOWED WHITE LATIN CROSS;So;0;ON;;;;;N;;;;;
+271F;OUTLINED LATIN CROSS;So;0;ON;;;;;N;;;;;
+2720;MALTESE CROSS;So;0;ON;;;;;N;;;;;
+2721;STAR OF DAVID;So;0;ON;;;;;N;;;;;
+2722;FOUR TEARDROP-SPOKED ASTERISK;So;0;ON;;;;;N;;;;;
+2723;FOUR BALLOON-SPOKED ASTERISK;So;0;ON;;;;;N;;;;;
+2724;HEAVY FOUR BALLOON-SPOKED ASTERISK;So;0;ON;;;;;N;;;;;
+2725;FOUR CLUB-SPOKED ASTERISK;So;0;ON;;;;;N;;;;;
+2726;BLACK FOUR POINTED STAR;So;0;ON;;;;;N;;;;;
+2727;WHITE FOUR POINTED STAR;So;0;ON;;;;;N;;;;;
+2729;STRESS OUTLINED WHITE STAR;So;0;ON;;;;;N;;;;;
+272A;CIRCLED WHITE STAR;So;0;ON;;;;;N;;;;;
+272B;OPEN CENTRE BLACK STAR;So;0;ON;;;;;N;OPEN CENTER BLACK STAR;;;;
+272C;BLACK CENTRE WHITE STAR;So;0;ON;;;;;N;BLACK CENTER WHITE STAR;;;;
+272D;OUTLINED BLACK STAR;So;0;ON;;;;;N;;;;;
+272E;HEAVY OUTLINED BLACK STAR;So;0;ON;;;;;N;;;;;
+272F;PINWHEEL STAR;So;0;ON;;;;;N;;;;;
+2730;SHADOWED WHITE STAR;So;0;ON;;;;;N;;;;;
+2731;HEAVY ASTERISK;So;0;ON;;;;;N;;;;;
+2732;OPEN CENTRE ASTERISK;So;0;ON;;;;;N;OPEN CENTER ASTERISK;;;;
+2733;EIGHT SPOKED ASTERISK;So;0;ON;;;;;N;;;;;
+2734;EIGHT POINTED BLACK STAR;So;0;ON;;;;;N;;;;;
+2735;EIGHT POINTED PINWHEEL STAR;So;0;ON;;;;;N;;;;;
+2736;SIX POINTED BLACK STAR;So;0;ON;;;;;N;;;;;
+2737;EIGHT POINTED RECTILINEAR BLACK STAR;So;0;ON;;;;;N;;;;;
+2738;HEAVY EIGHT POINTED RECTILINEAR BLACK STAR;So;0;ON;;;;;N;;;;;
+2739;TWELVE POINTED BLACK STAR;So;0;ON;;;;;N;;;;;
+273A;SIXTEEN POINTED ASTERISK;So;0;ON;;;;;N;;;;;
+273B;TEARDROP-SPOKED ASTERISK;So;0;ON;;;;;N;;;;;
+273C;OPEN CENTRE TEARDROP-SPOKED ASTERISK;So;0;ON;;;;;N;OPEN CENTER TEARDROP-SPOKED ASTERISK;;;;
+273D;HEAVY TEARDROP-SPOKED ASTERISK;So;0;ON;;;;;N;;;;;
+273E;SIX PETALLED BLACK AND WHITE FLORETTE;So;0;ON;;;;;N;;;;;
+273F;BLACK FLORETTE;So;0;ON;;;;;N;;;;;
+2740;WHITE FLORETTE;So;0;ON;;;;;N;;;;;
+2741;EIGHT PETALLED OUTLINED BLACK FLORETTE;So;0;ON;;;;;N;;;;;
+2742;CIRCLED OPEN CENTRE EIGHT POINTED STAR;So;0;ON;;;;;N;CIRCLED OPEN CENTER EIGHT POINTED STAR;;;;
+2743;HEAVY TEARDROP-SPOKED PINWHEEL ASTERISK;So;0;ON;;;;;N;;;;;
+2744;SNOWFLAKE;So;0;ON;;;;;N;;;;;
+2745;TIGHT TRIFOLIATE SNOWFLAKE;So;0;ON;;;;;N;;;;;
+2746;HEAVY CHEVRON SNOWFLAKE;So;0;ON;;;;;N;;;;;
+2747;SPARKLE;So;0;ON;;;;;N;;;;;
+2748;HEAVY SPARKLE;So;0;ON;;;;;N;;;;;
+2749;BALLOON-SPOKED ASTERISK;So;0;ON;;;;;N;;;;;
+274A;EIGHT TEARDROP-SPOKED PROPELLER ASTERISK;So;0;ON;;;;;N;;;;;
+274B;HEAVY EIGHT TEARDROP-SPOKED PROPELLER ASTERISK;So;0;ON;;;;;N;;;;;
+274D;SHADOWED WHITE CIRCLE;So;0;ON;;;;;N;;;;;
+274F;LOWER RIGHT DROP-SHADOWED WHITE SQUARE;So;0;ON;;;;;N;;;;;
+2750;UPPER RIGHT DROP-SHADOWED WHITE SQUARE;So;0;ON;;;;;N;;;;;
+2751;LOWER RIGHT SHADOWED WHITE SQUARE;So;0;ON;;;;;N;;;;;
+2752;UPPER RIGHT SHADOWED WHITE SQUARE;So;0;ON;;;;;N;;;;;
+2756;BLACK DIAMOND MINUS WHITE X;So;0;ON;;;;;N;;;;;
+2758;LIGHT VERTICAL BAR;So;0;ON;;;;;N;;;;;
+2759;MEDIUM VERTICAL BAR;So;0;ON;;;;;N;;;;;
+275A;HEAVY VERTICAL BAR;So;0;ON;;;;;N;;;;;
+275B;HEAVY SINGLE TURNED COMMA QUOTATION MARK ORNAMENT;So;0;ON;;;;;N;;;;;
+275C;HEAVY SINGLE COMMA QUOTATION MARK ORNAMENT;So;0;ON;;;;;N;;;;;
+275D;HEAVY DOUBLE TURNED COMMA QUOTATION MARK ORNAMENT;So;0;ON;;;;;N;;;;;
+275E;HEAVY DOUBLE COMMA QUOTATION MARK ORNAMENT;So;0;ON;;;;;N;;;;;
+2761;CURVED STEM PARAGRAPH SIGN ORNAMENT;So;0;ON;;;;;N;;;;;
+2762;HEAVY EXCLAMATION MARK ORNAMENT;So;0;ON;;;;;N;;;;;
+2763;HEAVY HEART EXCLAMATION MARK ORNAMENT;So;0;ON;;;;;N;;;;;
+2764;HEAVY BLACK HEART;So;0;ON;;;;;N;;;;;
+2765;ROTATED HEAVY BLACK HEART BULLET;So;0;ON;;;;;N;;;;;
+2766;FLORAL HEART;So;0;ON;;;;;N;;;;;
+2767;ROTATED FLORAL HEART BULLET;So;0;ON;;;;;N;;;;;
+2768;MEDIUM LEFT PARENTHESIS ORNAMENT;Ps;0;ON;;;;;Y;;;;;
+2769;MEDIUM RIGHT PARENTHESIS ORNAMENT;Pe;0;ON;;;;;Y;;;;;
+276A;MEDIUM FLATTENED LEFT PARENTHESIS ORNAMENT;Ps;0;ON;;;;;Y;;;;;
+276B;MEDIUM FLATTENED RIGHT PARENTHESIS ORNAMENT;Pe;0;ON;;;;;Y;;;;;
+276C;MEDIUM LEFT-POINTING ANGLE BRACKET ORNAMENT;Ps;0;ON;;;;;Y;;;;;
+276D;MEDIUM RIGHT-POINTING ANGLE BRACKET ORNAMENT;Pe;0;ON;;;;;Y;;;;;
+276E;HEAVY LEFT-POINTING ANGLE QUOTATION MARK ORNAMENT;Ps;0;ON;;;;;Y;;;;;
+276F;HEAVY RIGHT-POINTING ANGLE QUOTATION MARK ORNAMENT;Pe;0;ON;;;;;Y;;;;;
+2770;HEAVY LEFT-POINTING ANGLE BRACKET ORNAMENT;Ps;0;ON;;;;;Y;;;;;
+2771;HEAVY RIGHT-POINTING ANGLE BRACKET ORNAMENT;Pe;0;ON;;;;;Y;;;;;
+2772;LIGHT LEFT TORTOISE SHELL BRACKET ORNAMENT;Ps;0;ON;;;;;Y;;;;;
+2773;LIGHT RIGHT TORTOISE SHELL BRACKET ORNAMENT;Pe;0;ON;;;;;Y;;;;;
+2774;MEDIUM LEFT CURLY BRACKET ORNAMENT;Ps;0;ON;;;;;Y;;;;;
+2775;MEDIUM RIGHT CURLY BRACKET ORNAMENT;Pe;0;ON;;;;;Y;;;;;
+2776;DINGBAT NEGATIVE CIRCLED DIGIT ONE;No;0;ON;;;1;1;N;INVERSE CIRCLED DIGIT ONE;;;;
+2777;DINGBAT NEGATIVE CIRCLED DIGIT TWO;No;0;ON;;;2;2;N;INVERSE CIRCLED DIGIT TWO;;;;
+2778;DINGBAT NEGATIVE CIRCLED DIGIT THREE;No;0;ON;;;3;3;N;INVERSE CIRCLED DIGIT THREE;;;;
+2779;DINGBAT NEGATIVE CIRCLED DIGIT FOUR;No;0;ON;;;4;4;N;INVERSE CIRCLED DIGIT FOUR;;;;
+277A;DINGBAT NEGATIVE CIRCLED DIGIT FIVE;No;0;ON;;;5;5;N;INVERSE CIRCLED DIGIT FIVE;;;;
+277B;DINGBAT NEGATIVE CIRCLED DIGIT SIX;No;0;ON;;;6;6;N;INVERSE CIRCLED DIGIT SIX;;;;
+277C;DINGBAT NEGATIVE CIRCLED DIGIT SEVEN;No;0;ON;;;7;7;N;INVERSE CIRCLED DIGIT SEVEN;;;;
+277D;DINGBAT NEGATIVE CIRCLED DIGIT EIGHT;No;0;ON;;;8;8;N;INVERSE CIRCLED DIGIT EIGHT;;;;
+277E;DINGBAT NEGATIVE CIRCLED DIGIT NINE;No;0;ON;;;9;9;N;INVERSE CIRCLED DIGIT NINE;;;;
+277F;DINGBAT NEGATIVE CIRCLED NUMBER TEN;No;0;ON;;;;10;N;INVERSE CIRCLED NUMBER TEN;;;;
+2780;DINGBAT CIRCLED SANS-SERIF DIGIT ONE;No;0;ON;;;1;1;N;CIRCLED SANS-SERIF DIGIT ONE;;;;
+2781;DINGBAT CIRCLED SANS-SERIF DIGIT TWO;No;0;ON;;;2;2;N;CIRCLED SANS-SERIF DIGIT TWO;;;;
+2782;DINGBAT CIRCLED SANS-SERIF DIGIT THREE;No;0;ON;;;3;3;N;CIRCLED SANS-SERIF DIGIT THREE;;;;
+2783;DINGBAT CIRCLED SANS-SERIF DIGIT FOUR;No;0;ON;;;4;4;N;CIRCLED SANS-SERIF DIGIT FOUR;;;;
+2784;DINGBAT CIRCLED SANS-SERIF DIGIT FIVE;No;0;ON;;;5;5;N;CIRCLED SANS-SERIF DIGIT FIVE;;;;
+2785;DINGBAT CIRCLED SANS-SERIF DIGIT SIX;No;0;ON;;;6;6;N;CIRCLED SANS-SERIF DIGIT SIX;;;;
+2786;DINGBAT CIRCLED SANS-SERIF DIGIT SEVEN;No;0;ON;;;7;7;N;CIRCLED SANS-SERIF DIGIT SEVEN;;;;
+2787;DINGBAT CIRCLED SANS-SERIF DIGIT EIGHT;No;0;ON;;;8;8;N;CIRCLED SANS-SERIF DIGIT EIGHT;;;;
+2788;DINGBAT CIRCLED SANS-SERIF DIGIT NINE;No;0;ON;;;9;9;N;CIRCLED SANS-SERIF DIGIT NINE;;;;
+2789;DINGBAT CIRCLED SANS-SERIF NUMBER TEN;No;0;ON;;;;10;N;CIRCLED SANS-SERIF NUMBER TEN;;;;
+278A;DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT ONE;No;0;ON;;;1;1;N;INVERSE CIRCLED SANS-SERIF DIGIT ONE;;;;
+278B;DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT TWO;No;0;ON;;;2;2;N;INVERSE CIRCLED SANS-SERIF DIGIT TWO;;;;
+278C;DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT THREE;No;0;ON;;;3;3;N;INVERSE CIRCLED SANS-SERIF DIGIT THREE;;;;
+278D;DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT FOUR;No;0;ON;;;4;4;N;INVERSE CIRCLED SANS-SERIF DIGIT FOUR;;;;
+278E;DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT FIVE;No;0;ON;;;5;5;N;INVERSE CIRCLED SANS-SERIF DIGIT FIVE;;;;
+278F;DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT SIX;No;0;ON;;;6;6;N;INVERSE CIRCLED SANS-SERIF DIGIT SIX;;;;
+2790;DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT SEVEN;No;0;ON;;;7;7;N;INVERSE CIRCLED SANS-SERIF DIGIT SEVEN;;;;
+2791;DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT EIGHT;No;0;ON;;;8;8;N;INVERSE CIRCLED SANS-SERIF DIGIT EIGHT;;;;
+2792;DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT NINE;No;0;ON;;;9;9;N;INVERSE CIRCLED SANS-SERIF DIGIT NINE;;;;
+2793;DINGBAT NEGATIVE CIRCLED SANS-SERIF NUMBER TEN;No;0;ON;;;;10;N;INVERSE CIRCLED SANS-SERIF NUMBER TEN;;;;
+2794;HEAVY WIDE-HEADED RIGHTWARDS ARROW;So;0;ON;;;;;N;HEAVY WIDE-HEADED RIGHT ARROW;;;;
+2798;HEAVY SOUTH EAST ARROW;So;0;ON;;;;;N;HEAVY LOWER RIGHT ARROW;;;;
+2799;HEAVY RIGHTWARDS ARROW;So;0;ON;;;;;N;HEAVY RIGHT ARROW;;;;
+279A;HEAVY NORTH EAST ARROW;So;0;ON;;;;;N;HEAVY UPPER RIGHT ARROW;;;;
+279B;DRAFTING POINT RIGHTWARDS ARROW;So;0;ON;;;;;N;DRAFTING POINT RIGHT ARROW;;;;
+279C;HEAVY ROUND-TIPPED RIGHTWARDS ARROW;So;0;ON;;;;;N;HEAVY ROUND-TIPPED RIGHT ARROW;;;;
+279D;TRIANGLE-HEADED RIGHTWARDS ARROW;So;0;ON;;;;;N;TRIANGLE-HEADED RIGHT ARROW;;;;
+279E;HEAVY TRIANGLE-HEADED RIGHTWARDS ARROW;So;0;ON;;;;;N;HEAVY TRIANGLE-HEADED RIGHT ARROW;;;;
+279F;DASHED TRIANGLE-HEADED RIGHTWARDS ARROW;So;0;ON;;;;;N;DASHED TRIANGLE-HEADED RIGHT ARROW;;;;
+27A0;HEAVY DASHED TRIANGLE-HEADED RIGHTWARDS ARROW;So;0;ON;;;;;N;HEAVY DASHED TRIANGLE-HEADED RIGHT ARROW;;;;
+27A1;BLACK RIGHTWARDS ARROW;So;0;ON;;;;;N;BLACK RIGHT ARROW;;;;
+27A2;THREE-D TOP-LIGHTED RIGHTWARDS ARROWHEAD;So;0;ON;;;;;N;THREE-D TOP-LIGHTED RIGHT ARROWHEAD;;;;
+27A3;THREE-D BOTTOM-LIGHTED RIGHTWARDS ARROWHEAD;So;0;ON;;;;;N;THREE-D BOTTOM-LIGHTED RIGHT ARROWHEAD;;;;
+27A4;BLACK RIGHTWARDS ARROWHEAD;So;0;ON;;;;;N;BLACK RIGHT ARROWHEAD;;;;
+27A5;HEAVY BLACK CURVED DOWNWARDS AND RIGHTWARDS ARROW;So;0;ON;;;;;N;HEAVY BLACK CURVED DOWN AND RIGHT ARROW;;;;
+27A6;HEAVY BLACK CURVED UPWARDS AND RIGHTWARDS ARROW;So;0;ON;;;;;N;HEAVY BLACK CURVED UP AND RIGHT ARROW;;;;
+27A7;SQUAT BLACK RIGHTWARDS ARROW;So;0;ON;;;;;N;SQUAT BLACK RIGHT ARROW;;;;
+27A8;HEAVY CONCAVE-POINTED BLACK RIGHTWARDS ARROW;So;0;ON;;;;;N;HEAVY CONCAVE-POINTED BLACK RIGHT ARROW;;;;
+27A9;RIGHT-SHADED WHITE RIGHTWARDS ARROW;So;0;ON;;;;;N;RIGHT-SHADED WHITE RIGHT ARROW;;;;
+27AA;LEFT-SHADED WHITE RIGHTWARDS ARROW;So;0;ON;;;;;N;LEFT-SHADED WHITE RIGHT ARROW;;;;
+27AB;BACK-TILTED SHADOWED WHITE RIGHTWARDS ARROW;So;0;ON;;;;;N;BACK-TILTED SHADOWED WHITE RIGHT ARROW;;;;
+27AC;FRONT-TILTED SHADOWED WHITE RIGHTWARDS ARROW;So;0;ON;;;;;N;FRONT-TILTED SHADOWED WHITE RIGHT ARROW;;;;
+27AD;HEAVY LOWER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW;So;0;ON;;;;;N;HEAVY LOWER RIGHT-SHADOWED WHITE RIGHT ARROW;;;;
+27AE;HEAVY UPPER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW;So;0;ON;;;;;N;HEAVY UPPER RIGHT-SHADOWED WHITE RIGHT ARROW;;;;
+27AF;NOTCHED LOWER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW;So;0;ON;;;;;N;NOTCHED LOWER RIGHT-SHADOWED WHITE RIGHT ARROW;;;;
+27B1;NOTCHED UPPER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW;So;0;ON;;;;;N;NOTCHED UPPER RIGHT-SHADOWED WHITE RIGHT ARROW;;;;
+27B2;CIRCLED HEAVY WHITE RIGHTWARDS ARROW;So;0;ON;;;;;N;CIRCLED HEAVY WHITE RIGHT ARROW;;;;
+27B3;WHITE-FEATHERED RIGHTWARDS ARROW;So;0;ON;;;;;N;WHITE-FEATHERED RIGHT ARROW;;;;
+27B4;BLACK-FEATHERED SOUTH EAST ARROW;So;0;ON;;;;;N;BLACK-FEATHERED LOWER RIGHT ARROW;;;;
+27B5;BLACK-FEATHERED RIGHTWARDS ARROW;So;0;ON;;;;;N;BLACK-FEATHERED RIGHT ARROW;;;;
+27B6;BLACK-FEATHERED NORTH EAST ARROW;So;0;ON;;;;;N;BLACK-FEATHERED UPPER RIGHT ARROW;;;;
+27B7;HEAVY BLACK-FEATHERED SOUTH EAST ARROW;So;0;ON;;;;;N;HEAVY BLACK-FEATHERED LOWER RIGHT ARROW;;;;
+27B8;HEAVY BLACK-FEATHERED RIGHTWARDS ARROW;So;0;ON;;;;;N;HEAVY BLACK-FEATHERED RIGHT ARROW;;;;
+27B9;HEAVY BLACK-FEATHERED NORTH EAST ARROW;So;0;ON;;;;;N;HEAVY BLACK-FEATHERED UPPER RIGHT ARROW;;;;
+27BA;TEARDROP-BARBED RIGHTWARDS ARROW;So;0;ON;;;;;N;TEARDROP-BARBED RIGHT ARROW;;;;
+27BB;HEAVY TEARDROP-SHANKED RIGHTWARDS ARROW;So;0;ON;;;;;N;HEAVY TEARDROP-SHANKED RIGHT ARROW;;;;
+27BC;WEDGE-TAILED RIGHTWARDS ARROW;So;0;ON;;;;;N;WEDGE-TAILED RIGHT ARROW;;;;
+27BD;HEAVY WEDGE-TAILED RIGHTWARDS ARROW;So;0;ON;;;;;N;HEAVY WEDGE-TAILED RIGHT ARROW;;;;
+27BE;OPEN-OUTLINED RIGHTWARDS ARROW;So;0;ON;;;;;N;OPEN-OUTLINED RIGHT ARROW;;;;
+27C0;THREE DIMENSIONAL ANGLE;Sm;0;ON;;;;;Y;;;;;
+27C1;WHITE TRIANGLE CONTAINING SMALL WHITE TRIANGLE;Sm;0;ON;;;;;N;;;;;
+27C2;PERPENDICULAR;Sm;0;ON;;;;;N;;;;;
+27C3;OPEN SUBSET;Sm;0;ON;;;;;Y;;;;;
+27C4;OPEN SUPERSET;Sm;0;ON;;;;;Y;;;;;
+27C5;LEFT S-SHAPED BAG DELIMITER;Ps;0;ON;;;;;Y;;;;;
+27C6;RIGHT S-SHAPED BAG DELIMITER;Pe;0;ON;;;;;Y;;;;;
+27D0;WHITE DIAMOND WITH CENTRED DOT;Sm;0;ON;;;;;N;;;;;
+27D1;AND WITH DOT;Sm;0;ON;;;;;N;;;;;
+27D2;ELEMENT OF OPENING UPWARDS;Sm;0;ON;;;;;N;;;;;
+27D3;LOWER RIGHT CORNER WITH DOT;Sm;0;ON;;;;;Y;;;;;
+27D4;UPPER LEFT CORNER WITH DOT;Sm;0;ON;;;;;Y;;;;;
+27D5;LEFT OUTER JOIN;Sm;0;ON;;;;;Y;;;;;
+27D6;RIGHT OUTER JOIN;Sm;0;ON;;;;;Y;;;;;
+27D7;FULL OUTER JOIN;Sm;0;ON;;;;;N;;;;;
+27D8;LARGE UP TACK;Sm;0;ON;;;;;N;;;;;
+27D9;LARGE DOWN TACK;Sm;0;ON;;;;;N;;;;;
+27DA;LEFT AND RIGHT DOUBLE TURNSTILE;Sm;0;ON;;;;;N;;;;;
+27DB;LEFT AND RIGHT TACK;Sm;0;ON;;;;;N;;;;;
+27DC;LEFT MULTIMAP;Sm;0;ON;;;;;Y;;;;;
+27DD;LONG RIGHT TACK;Sm;0;ON;;;;;Y;;;;;
+27DE;LONG LEFT TACK;Sm;0;ON;;;;;Y;;;;;
+27DF;UP TACK WITH CIRCLE ABOVE;Sm;0;ON;;;;;N;;;;;
+27E0;LOZENGE DIVIDED BY HORIZONTAL RULE;Sm;0;ON;;;;;N;;;;;
+27E1;WHITE CONCAVE-SIDED DIAMOND;Sm;0;ON;;;;;N;;;;;
+27E2;WHITE CONCAVE-SIDED DIAMOND WITH LEFTWARDS TICK;Sm;0;ON;;;;;Y;;;;;
+27E3;WHITE CONCAVE-SIDED DIAMOND WITH RIGHTWARDS TICK;Sm;0;ON;;;;;Y;;;;;
+27E4;WHITE SQUARE WITH LEFTWARDS TICK;Sm;0;ON;;;;;Y;;;;;
+27E5;WHITE SQUARE WITH RIGHTWARDS TICK;Sm;0;ON;;;;;Y;;;;;
+27E6;MATHEMATICAL LEFT WHITE SQUARE BRACKET;Ps;0;ON;;;;;Y;;;;;
+27E7;MATHEMATICAL RIGHT WHITE SQUARE BRACKET;Pe;0;ON;;;;;Y;;;;;
+27E8;MATHEMATICAL LEFT ANGLE BRACKET;Ps;0;ON;;;;;Y;;;;;
+27E9;MATHEMATICAL RIGHT ANGLE BRACKET;Pe;0;ON;;;;;Y;;;;;
+27EA;MATHEMATICAL LEFT DOUBLE ANGLE BRACKET;Ps;0;ON;;;;;Y;;;;;
+27EB;MATHEMATICAL RIGHT DOUBLE ANGLE BRACKET;Pe;0;ON;;;;;Y;;;;;
+27F0;UPWARDS QUADRUPLE ARROW;Sm;0;ON;;;;;N;;;;;
+27F1;DOWNWARDS QUADRUPLE ARROW;Sm;0;ON;;;;;N;;;;;
+27F2;ANTICLOCKWISE GAPPED CIRCLE ARROW;Sm;0;ON;;;;;N;;;;;
+27F3;CLOCKWISE GAPPED CIRCLE ARROW;Sm;0;ON;;;;;N;;;;;
+27F4;RIGHT ARROW WITH CIRCLED PLUS;Sm;0;ON;;;;;N;;;;;
+27F5;LONG LEFTWARDS ARROW;Sm;0;ON;;;;;N;;;;;
+27F6;LONG RIGHTWARDS ARROW;Sm;0;ON;;;;;N;;;;;
+27F7;LONG LEFT RIGHT ARROW;Sm;0;ON;;;;;N;;;;;
+27F8;LONG LEFTWARDS DOUBLE ARROW;Sm;0;ON;;;;;N;;;;;
+27F9;LONG RIGHTWARDS DOUBLE ARROW;Sm;0;ON;;;;;N;;;;;
+27FA;LONG LEFT RIGHT DOUBLE ARROW;Sm;0;ON;;;;;N;;;;;
+27FB;LONG LEFTWARDS ARROW FROM BAR;Sm;0;ON;;;;;N;;;;;
+27FC;LONG RIGHTWARDS ARROW FROM BAR;Sm;0;ON;;;;;N;;;;;
+27FD;LONG LEFTWARDS DOUBLE ARROW FROM BAR;Sm;0;ON;;;;;N;;;;;
+27FE;LONG RIGHTWARDS DOUBLE ARROW FROM BAR;Sm;0;ON;;;;;N;;;;;
+27FF;LONG RIGHTWARDS SQUIGGLE ARROW;Sm;0;ON;;;;;N;;;;;
+2800;BRAILLE PATTERN BLANK;So;0;L;;;;;N;;;;;
+2801;BRAILLE PATTERN DOTS-1;So;0;L;;;;;N;;;;;
+2802;BRAILLE PATTERN DOTS-2;So;0;L;;;;;N;;;;;
+2803;BRAILLE PATTERN DOTS-12;So;0;L;;;;;N;;;;;
+2804;BRAILLE PATTERN DOTS-3;So;0;L;;;;;N;;;;;
+2805;BRAILLE PATTERN DOTS-13;So;0;L;;;;;N;;;;;
+2806;BRAILLE PATTERN DOTS-23;So;0;L;;;;;N;;;;;
+2807;BRAILLE PATTERN DOTS-123;So;0;L;;;;;N;;;;;
+2808;BRAILLE PATTERN DOTS-4;So;0;L;;;;;N;;;;;
+2809;BRAILLE PATTERN DOTS-14;So;0;L;;;;;N;;;;;
+280A;BRAILLE PATTERN DOTS-24;So;0;L;;;;;N;;;;;
+280B;BRAILLE PATTERN DOTS-124;So;0;L;;;;;N;;;;;
+280C;BRAILLE PATTERN DOTS-34;So;0;L;;;;;N;;;;;
+280D;BRAILLE PATTERN DOTS-134;So;0;L;;;;;N;;;;;
+280E;BRAILLE PATTERN DOTS-234;So;0;L;;;;;N;;;;;
+280F;BRAILLE PATTERN DOTS-1234;So;0;L;;;;;N;;;;;
+2810;BRAILLE PATTERN DOTS-5;So;0;L;;;;;N;;;;;
+2811;BRAILLE PATTERN DOTS-15;So;0;L;;;;;N;;;;;
+2812;BRAILLE PATTERN DOTS-25;So;0;L;;;;;N;;;;;
+2813;BRAILLE PATTERN DOTS-125;So;0;L;;;;;N;;;;;
+2814;BRAILLE PATTERN DOTS-35;So;0;L;;;;;N;;;;;
+2815;BRAILLE PATTERN DOTS-135;So;0;L;;;;;N;;;;;
+2816;BRAILLE PATTERN DOTS-235;So;0;L;;;;;N;;;;;
+2817;BRAILLE PATTERN DOTS-1235;So;0;L;;;;;N;;;;;
+2818;BRAILLE PATTERN DOTS-45;So;0;L;;;;;N;;;;;
+2819;BRAILLE PATTERN DOTS-145;So;0;L;;;;;N;;;;;
+281A;BRAILLE PATTERN DOTS-245;So;0;L;;;;;N;;;;;
+281B;BRAILLE PATTERN DOTS-1245;So;0;L;;;;;N;;;;;
+281C;BRAILLE PATTERN DOTS-345;So;0;L;;;;;N;;;;;
+281D;BRAILLE PATTERN DOTS-1345;So;0;L;;;;;N;;;;;
+281E;BRAILLE PATTERN DOTS-2345;So;0;L;;;;;N;;;;;
+281F;BRAILLE PATTERN DOTS-12345;So;0;L;;;;;N;;;;;
+2820;BRAILLE PATTERN DOTS-6;So;0;L;;;;;N;;;;;
+2821;BRAILLE PATTERN DOTS-16;So;0;L;;;;;N;;;;;
+2822;BRAILLE PATTERN DOTS-26;So;0;L;;;;;N;;;;;
+2823;BRAILLE PATTERN DOTS-126;So;0;L;;;;;N;;;;;
+2824;BRAILLE PATTERN DOTS-36;So;0;L;;;;;N;;;;;
+2825;BRAILLE PATTERN DOTS-136;So;0;L;;;;;N;;;;;
+2826;BRAILLE PATTERN DOTS-236;So;0;L;;;;;N;;;;;
+2827;BRAILLE PATTERN DOTS-1236;So;0;L;;;;;N;;;;;
+2828;BRAILLE PATTERN DOTS-46;So;0;L;;;;;N;;;;;
+2829;BRAILLE PATTERN DOTS-146;So;0;L;;;;;N;;;;;
+282A;BRAILLE PATTERN DOTS-246;So;0;L;;;;;N;;;;;
+282B;BRAILLE PATTERN DOTS-1246;So;0;L;;;;;N;;;;;
+282C;BRAILLE PATTERN DOTS-346;So;0;L;;;;;N;;;;;
+282D;BRAILLE PATTERN DOTS-1346;So;0;L;;;;;N;;;;;
+282E;BRAILLE PATTERN DOTS-2346;So;0;L;;;;;N;;;;;
+282F;BRAILLE PATTERN DOTS-12346;So;0;L;;;;;N;;;;;
+2830;BRAILLE PATTERN DOTS-56;So;0;L;;;;;N;;;;;
+2831;BRAILLE PATTERN DOTS-156;So;0;L;;;;;N;;;;;
+2832;BRAILLE PATTERN DOTS-256;So;0;L;;;;;N;;;;;
+2833;BRAILLE PATTERN DOTS-1256;So;0;L;;;;;N;;;;;
+2834;BRAILLE PATTERN DOTS-356;So;0;L;;;;;N;;;;;
+2835;BRAILLE PATTERN DOTS-1356;So;0;L;;;;;N;;;;;
+2836;BRAILLE PATTERN DOTS-2356;So;0;L;;;;;N;;;;;
+2837;BRAILLE PATTERN DOTS-12356;So;0;L;;;;;N;;;;;
+2838;BRAILLE PATTERN DOTS-456;So;0;L;;;;;N;;;;;
+2839;BRAILLE PATTERN DOTS-1456;So;0;L;;;;;N;;;;;
+283A;BRAILLE PATTERN DOTS-2456;So;0;L;;;;;N;;;;;
+283B;BRAILLE PATTERN DOTS-12456;So;0;L;;;;;N;;;;;
+283C;BRAILLE PATTERN DOTS-3456;So;0;L;;;;;N;;;;;
+283D;BRAILLE PATTERN DOTS-13456;So;0;L;;;;;N;;;;;
+283E;BRAILLE PATTERN DOTS-23456;So;0;L;;;;;N;;;;;
+283F;BRAILLE PATTERN DOTS-123456;So;0;L;;;;;N;;;;;
+2840;BRAILLE PATTERN DOTS-7;So;0;L;;;;;N;;;;;
+2841;BRAILLE PATTERN DOTS-17;So;0;L;;;;;N;;;;;
+2842;BRAILLE PATTERN DOTS-27;So;0;L;;;;;N;;;;;
+2843;BRAILLE PATTERN DOTS-127;So;0;L;;;;;N;;;;;
+2844;BRAILLE PATTERN DOTS-37;So;0;L;;;;;N;;;;;
+2845;BRAILLE PATTERN DOTS-137;So;0;L;;;;;N;;;;;
+2846;BRAILLE PATTERN DOTS-237;So;0;L;;;;;N;;;;;
+2847;BRAILLE PATTERN DOTS-1237;So;0;L;;;;;N;;;;;
+2848;BRAILLE PATTERN DOTS-47;So;0;L;;;;;N;;;;;
+2849;BRAILLE PATTERN DOTS-147;So;0;L;;;;;N;;;;;
+284A;BRAILLE PATTERN DOTS-247;So;0;L;;;;;N;;;;;
+284B;BRAILLE PATTERN DOTS-1247;So;0;L;;;;;N;;;;;
+284C;BRAILLE PATTERN DOTS-347;So;0;L;;;;;N;;;;;
+284D;BRAILLE PATTERN DOTS-1347;So;0;L;;;;;N;;;;;
+284E;BRAILLE PATTERN DOTS-2347;So;0;L;;;;;N;;;;;
+284F;BRAILLE PATTERN DOTS-12347;So;0;L;;;;;N;;;;;
+2850;BRAILLE PATTERN DOTS-57;So;0;L;;;;;N;;;;;
+2851;BRAILLE PATTERN DOTS-157;So;0;L;;;;;N;;;;;
+2852;BRAILLE PATTERN DOTS-257;So;0;L;;;;;N;;;;;
+2853;BRAILLE PATTERN DOTS-1257;So;0;L;;;;;N;;;;;
+2854;BRAILLE PATTERN DOTS-357;So;0;L;;;;;N;;;;;
+2855;BRAILLE PATTERN DOTS-1357;So;0;L;;;;;N;;;;;
+2856;BRAILLE PATTERN DOTS-2357;So;0;L;;;;;N;;;;;
+2857;BRAILLE PATTERN DOTS-12357;So;0;L;;;;;N;;;;;
+2858;BRAILLE PATTERN DOTS-457;So;0;L;;;;;N;;;;;
+2859;BRAILLE PATTERN DOTS-1457;So;0;L;;;;;N;;;;;
+285A;BRAILLE PATTERN DOTS-2457;So;0;L;;;;;N;;;;;
+285B;BRAILLE PATTERN DOTS-12457;So;0;L;;;;;N;;;;;
+285C;BRAILLE PATTERN DOTS-3457;So;0;L;;;;;N;;;;;
+285D;BRAILLE PATTERN DOTS-13457;So;0;L;;;;;N;;;;;
+285E;BRAILLE PATTERN DOTS-23457;So;0;L;;;;;N;;;;;
+285F;BRAILLE PATTERN DOTS-123457;So;0;L;;;;;N;;;;;
+2860;BRAILLE PATTERN DOTS-67;So;0;L;;;;;N;;;;;
+2861;BRAILLE PATTERN DOTS-167;So;0;L;;;;;N;;;;;
+2862;BRAILLE PATTERN DOTS-267;So;0;L;;;;;N;;;;;
+2863;BRAILLE PATTERN DOTS-1267;So;0;L;;;;;N;;;;;
+2864;BRAILLE PATTERN DOTS-367;So;0;L;;;;;N;;;;;
+2865;BRAILLE PATTERN DOTS-1367;So;0;L;;;;;N;;;;;
+2866;BRAILLE PATTERN DOTS-2367;So;0;L;;;;;N;;;;;
+2867;BRAILLE PATTERN DOTS-12367;So;0;L;;;;;N;;;;;
+2868;BRAILLE PATTERN DOTS-467;So;0;L;;;;;N;;;;;
+2869;BRAILLE PATTERN DOTS-1467;So;0;L;;;;;N;;;;;
+286A;BRAILLE PATTERN DOTS-2467;So;0;L;;;;;N;;;;;
+286B;BRAILLE PATTERN DOTS-12467;So;0;L;;;;;N;;;;;
+286C;BRAILLE PATTERN DOTS-3467;So;0;L;;;;;N;;;;;
+286D;BRAILLE PATTERN DOTS-13467;So;0;L;;;;;N;;;;;
+286E;BRAILLE PATTERN DOTS-23467;So;0;L;;;;;N;;;;;
+286F;BRAILLE PATTERN DOTS-123467;So;0;L;;;;;N;;;;;
+2870;BRAILLE PATTERN DOTS-567;So;0;L;;;;;N;;;;;
+2871;BRAILLE PATTERN DOTS-1567;So;0;L;;;;;N;;;;;
+2872;BRAILLE PATTERN DOTS-2567;So;0;L;;;;;N;;;;;
+2873;BRAILLE PATTERN DOTS-12567;So;0;L;;;;;N;;;;;
+2874;BRAILLE PATTERN DOTS-3567;So;0;L;;;;;N;;;;;
+2875;BRAILLE PATTERN DOTS-13567;So;0;L;;;;;N;;;;;
+2876;BRAILLE PATTERN DOTS-23567;So;0;L;;;;;N;;;;;
+2877;BRAILLE PATTERN DOTS-123567;So;0;L;;;;;N;;;;;
+2878;BRAILLE PATTERN DOTS-4567;So;0;L;;;;;N;;;;;
+2879;BRAILLE PATTERN DOTS-14567;So;0;L;;;;;N;;;;;
+287A;BRAILLE PATTERN DOTS-24567;So;0;L;;;;;N;;;;;
+287B;BRAILLE PATTERN DOTS-124567;So;0;L;;;;;N;;;;;
+287C;BRAILLE PATTERN DOTS-34567;So;0;L;;;;;N;;;;;
+287D;BRAILLE PATTERN DOTS-134567;So;0;L;;;;;N;;;;;
+287E;BRAILLE PATTERN DOTS-234567;So;0;L;;;;;N;;;;;
+287F;BRAILLE PATTERN DOTS-1234567;So;0;L;;;;;N;;;;;
+2880;BRAILLE PATTERN DOTS-8;So;0;L;;;;;N;;;;;
+2881;BRAILLE PATTERN DOTS-18;So;0;L;;;;;N;;;;;
+2882;BRAILLE PATTERN DOTS-28;So;0;L;;;;;N;;;;;
+2883;BRAILLE PATTERN DOTS-128;So;0;L;;;;;N;;;;;
+2884;BRAILLE PATTERN DOTS-38;So;0;L;;;;;N;;;;;
+2885;BRAILLE PATTERN DOTS-138;So;0;L;;;;;N;;;;;
+2886;BRAILLE PATTERN DOTS-238;So;0;L;;;;;N;;;;;
+2887;BRAILLE PATTERN DOTS-1238;So;0;L;;;;;N;;;;;
+2888;BRAILLE PATTERN DOTS-48;So;0;L;;;;;N;;;;;
+2889;BRAILLE PATTERN DOTS-148;So;0;L;;;;;N;;;;;
+288A;BRAILLE PATTERN DOTS-248;So;0;L;;;;;N;;;;;
+288B;BRAILLE PATTERN DOTS-1248;So;0;L;;;;;N;;;;;
+288C;BRAILLE PATTERN DOTS-348;So;0;L;;;;;N;;;;;
+288D;BRAILLE PATTERN DOTS-1348;So;0;L;;;;;N;;;;;
+288E;BRAILLE PATTERN DOTS-2348;So;0;L;;;;;N;;;;;
+288F;BRAILLE PATTERN DOTS-12348;So;0;L;;;;;N;;;;;
+2890;BRAILLE PATTERN DOTS-58;So;0;L;;;;;N;;;;;
+2891;BRAILLE PATTERN DOTS-158;So;0;L;;;;;N;;;;;
+2892;BRAILLE PATTERN DOTS-258;So;0;L;;;;;N;;;;;
+2893;BRAILLE PATTERN DOTS-1258;So;0;L;;;;;N;;;;;
+2894;BRAILLE PATTERN DOTS-358;So;0;L;;;;;N;;;;;
+2895;BRAILLE PATTERN DOTS-1358;So;0;L;;;;;N;;;;;
+2896;BRAILLE PATTERN DOTS-2358;So;0;L;;;;;N;;;;;
+2897;BRAILLE PATTERN DOTS-12358;So;0;L;;;;;N;;;;;
+2898;BRAILLE PATTERN DOTS-458;So;0;L;;;;;N;;;;;
+2899;BRAILLE PATTERN DOTS-1458;So;0;L;;;;;N;;;;;
+289A;BRAILLE PATTERN DOTS-2458;So;0;L;;;;;N;;;;;
+289B;BRAILLE PATTERN DOTS-12458;So;0;L;;;;;N;;;;;
+289C;BRAILLE PATTERN DOTS-3458;So;0;L;;;;;N;;;;;
+289D;BRAILLE PATTERN DOTS-13458;So;0;L;;;;;N;;;;;
+289E;BRAILLE PATTERN DOTS-23458;So;0;L;;;;;N;;;;;
+289F;BRAILLE PATTERN DOTS-123458;So;0;L;;;;;N;;;;;
+28A0;BRAILLE PATTERN DOTS-68;So;0;L;;;;;N;;;;;
+28A1;BRAILLE PATTERN DOTS-168;So;0;L;;;;;N;;;;;
+28A2;BRAILLE PATTERN DOTS-268;So;0;L;;;;;N;;;;;
+28A3;BRAILLE PATTERN DOTS-1268;So;0;L;;;;;N;;;;;
+28A4;BRAILLE PATTERN DOTS-368;So;0;L;;;;;N;;;;;
+28A5;BRAILLE PATTERN DOTS-1368;So;0;L;;;;;N;;;;;
+28A6;BRAILLE PATTERN DOTS-2368;So;0;L;;;;;N;;;;;
+28A7;BRAILLE PATTERN DOTS-12368;So;0;L;;;;;N;;;;;
+28A8;BRAILLE PATTERN DOTS-468;So;0;L;;;;;N;;;;;
+28A9;BRAILLE PATTERN DOTS-1468;So;0;L;;;;;N;;;;;
+28AA;BRAILLE PATTERN DOTS-2468;So;0;L;;;;;N;;;;;
+28AB;BRAILLE PATTERN DOTS-12468;So;0;L;;;;;N;;;;;
+28AC;BRAILLE PATTERN DOTS-3468;So;0;L;;;;;N;;;;;
+28AD;BRAILLE PATTERN DOTS-13468;So;0;L;;;;;N;;;;;
+28AE;BRAILLE PATTERN DOTS-23468;So;0;L;;;;;N;;;;;
+28AF;BRAILLE PATTERN DOTS-123468;So;0;L;;;;;N;;;;;
+28B0;BRAILLE PATTERN DOTS-568;So;0;L;;;;;N;;;;;
+28B1;BRAILLE PATTERN DOTS-1568;So;0;L;;;;;N;;;;;
+28B2;BRAILLE PATTERN DOTS-2568;So;0;L;;;;;N;;;;;
+28B3;BRAILLE PATTERN DOTS-12568;So;0;L;;;;;N;;;;;
+28B4;BRAILLE PATTERN DOTS-3568;So;0;L;;;;;N;;;;;
+28B5;BRAILLE PATTERN DOTS-13568;So;0;L;;;;;N;;;;;
+28B6;BRAILLE PATTERN DOTS-23568;So;0;L;;;;;N;;;;;
+28B7;BRAILLE PATTERN DOTS-123568;So;0;L;;;;;N;;;;;
+28B8;BRAILLE PATTERN DOTS-4568;So;0;L;;;;;N;;;;;
+28B9;BRAILLE PATTERN DOTS-14568;So;0;L;;;;;N;;;;;
+28BA;BRAILLE PATTERN DOTS-24568;So;0;L;;;;;N;;;;;
+28BB;BRAILLE PATTERN DOTS-124568;So;0;L;;;;;N;;;;;
+28BC;BRAILLE PATTERN DOTS-34568;So;0;L;;;;;N;;;;;
+28BD;BRAILLE PATTERN DOTS-134568;So;0;L;;;;;N;;;;;
+28BE;BRAILLE PATTERN DOTS-234568;So;0;L;;;;;N;;;;;
+28BF;BRAILLE PATTERN DOTS-1234568;So;0;L;;;;;N;;;;;
+28C0;BRAILLE PATTERN DOTS-78;So;0;L;;;;;N;;;;;
+28C1;BRAILLE PATTERN DOTS-178;So;0;L;;;;;N;;;;;
+28C2;BRAILLE PATTERN DOTS-278;So;0;L;;;;;N;;;;;
+28C3;BRAILLE PATTERN DOTS-1278;So;0;L;;;;;N;;;;;
+28C4;BRAILLE PATTERN DOTS-378;So;0;L;;;;;N;;;;;
+28C5;BRAILLE PATTERN DOTS-1378;So;0;L;;;;;N;;;;;
+28C6;BRAILLE PATTERN DOTS-2378;So;0;L;;;;;N;;;;;
+28C7;BRAILLE PATTERN DOTS-12378;So;0;L;;;;;N;;;;;
+28C8;BRAILLE PATTERN DOTS-478;So;0;L;;;;;N;;;;;
+28C9;BRAILLE PATTERN DOTS-1478;So;0;L;;;;;N;;;;;
+28CA;BRAILLE PATTERN DOTS-2478;So;0;L;;;;;N;;;;;
+28CB;BRAILLE PATTERN DOTS-12478;So;0;L;;;;;N;;;;;
+28CC;BRAILLE PATTERN DOTS-3478;So;0;L;;;;;N;;;;;
+28CD;BRAILLE PATTERN DOTS-13478;So;0;L;;;;;N;;;;;
+28CE;BRAILLE PATTERN DOTS-23478;So;0;L;;;;;N;;;;;
+28CF;BRAILLE PATTERN DOTS-123478;So;0;L;;;;;N;;;;;
+28D0;BRAILLE PATTERN DOTS-578;So;0;L;;;;;N;;;;;
+28D1;BRAILLE PATTERN DOTS-1578;So;0;L;;;;;N;;;;;
+28D2;BRAILLE PATTERN DOTS-2578;So;0;L;;;;;N;;;;;
+28D3;BRAILLE PATTERN DOTS-12578;So;0;L;;;;;N;;;;;
+28D4;BRAILLE PATTERN DOTS-3578;So;0;L;;;;;N;;;;;
+28D5;BRAILLE PATTERN DOTS-13578;So;0;L;;;;;N;;;;;
+28D6;BRAILLE PATTERN DOTS-23578;So;0;L;;;;;N;;;;;
+28D7;BRAILLE PATTERN DOTS-123578;So;0;L;;;;;N;;;;;
+28D8;BRAILLE PATTERN DOTS-4578;So;0;L;;;;;N;;;;;
+28D9;BRAILLE PATTERN DOTS-14578;So;0;L;;;;;N;;;;;
+28DA;BRAILLE PATTERN DOTS-24578;So;0;L;;;;;N;;;;;
+28DB;BRAILLE PATTERN DOTS-124578;So;0;L;;;;;N;;;;;
+28DC;BRAILLE PATTERN DOTS-34578;So;0;L;;;;;N;;;;;
+28DD;BRAILLE PATTERN DOTS-134578;So;0;L;;;;;N;;;;;
+28DE;BRAILLE PATTERN DOTS-234578;So;0;L;;;;;N;;;;;
+28DF;BRAILLE PATTERN DOTS-1234578;So;0;L;;;;;N;;;;;
+28E0;BRAILLE PATTERN DOTS-678;So;0;L;;;;;N;;;;;
+28E1;BRAILLE PATTERN DOTS-1678;So;0;L;;;;;N;;;;;
+28E2;BRAILLE PATTERN DOTS-2678;So;0;L;;;;;N;;;;;
+28E3;BRAILLE PATTERN DOTS-12678;So;0;L;;;;;N;;;;;
+28E4;BRAILLE PATTERN DOTS-3678;So;0;L;;;;;N;;;;;
+28E5;BRAILLE PATTERN DOTS-13678;So;0;L;;;;;N;;;;;
+28E6;BRAILLE PATTERN DOTS-23678;So;0;L;;;;;N;;;;;
+28E7;BRAILLE PATTERN DOTS-123678;So;0;L;;;;;N;;;;;
+28E8;BRAILLE PATTERN DOTS-4678;So;0;L;;;;;N;;;;;
+28E9;BRAILLE PATTERN DOTS-14678;So;0;L;;;;;N;;;;;
+28EA;BRAILLE PATTERN DOTS-24678;So;0;L;;;;;N;;;;;
+28EB;BRAILLE PATTERN DOTS-124678;So;0;L;;;;;N;;;;;
+28EC;BRAILLE PATTERN DOTS-34678;So;0;L;;;;;N;;;;;
+28ED;BRAILLE PATTERN DOTS-134678;So;0;L;;;;;N;;;;;
+28EE;BRAILLE PATTERN DOTS-234678;So;0;L;;;;;N;;;;;
+28EF;BRAILLE PATTERN DOTS-1234678;So;0;L;;;;;N;;;;;
+28F0;BRAILLE PATTERN DOTS-5678;So;0;L;;;;;N;;;;;
+28F1;BRAILLE PATTERN DOTS-15678;So;0;L;;;;;N;;;;;
+28F2;BRAILLE PATTERN DOTS-25678;So;0;L;;;;;N;;;;;
+28F3;BRAILLE PATTERN DOTS-125678;So;0;L;;;;;N;;;;;
+28F4;BRAILLE PATTERN DOTS-35678;So;0;L;;;;;N;;;;;
+28F5;BRAILLE PATTERN DOTS-135678;So;0;L;;;;;N;;;;;
+28F6;BRAILLE PATTERN DOTS-235678;So;0;L;;;;;N;;;;;
+28F7;BRAILLE PATTERN DOTS-1235678;So;0;L;;;;;N;;;;;
+28F8;BRAILLE PATTERN DOTS-45678;So;0;L;;;;;N;;;;;
+28F9;BRAILLE PATTERN DOTS-145678;So;0;L;;;;;N;;;;;
+28FA;BRAILLE PATTERN DOTS-245678;So;0;L;;;;;N;;;;;
+28FB;BRAILLE PATTERN DOTS-1245678;So;0;L;;;;;N;;;;;
+28FC;BRAILLE PATTERN DOTS-345678;So;0;L;;;;;N;;;;;
+28FD;BRAILLE PATTERN DOTS-1345678;So;0;L;;;;;N;;;;;
+28FE;BRAILLE PATTERN DOTS-2345678;So;0;L;;;;;N;;;;;
+28FF;BRAILLE PATTERN DOTS-12345678;So;0;L;;;;;N;;;;;
+2900;RIGHTWARDS TWO-HEADED ARROW WITH VERTICAL STROKE;Sm;0;ON;;;;;N;;;;;
+2901;RIGHTWARDS TWO-HEADED ARROW WITH DOUBLE VERTICAL STROKE;Sm;0;ON;;;;;N;;;;;
+2902;LEFTWARDS DOUBLE ARROW WITH VERTICAL STROKE;Sm;0;ON;;;;;N;;;;;
+2903;RIGHTWARDS DOUBLE ARROW WITH VERTICAL STROKE;Sm;0;ON;;;;;N;;;;;
+2904;LEFT RIGHT DOUBLE ARROW WITH VERTICAL STROKE;Sm;0;ON;;;;;N;;;;;
+2905;RIGHTWARDS TWO-HEADED ARROW FROM BAR;Sm;0;ON;;;;;N;;;;;
+2906;LEFTWARDS DOUBLE ARROW FROM BAR;Sm;0;ON;;;;;N;;;;;
+2907;RIGHTWARDS DOUBLE ARROW FROM BAR;Sm;0;ON;;;;;N;;;;;
+2908;DOWNWARDS ARROW WITH HORIZONTAL STROKE;Sm;0;ON;;;;;N;;;;;
+2909;UPWARDS ARROW WITH HORIZONTAL STROKE;Sm;0;ON;;;;;N;;;;;
+290A;UPWARDS TRIPLE ARROW;Sm;0;ON;;;;;N;;;;;
+290B;DOWNWARDS TRIPLE ARROW;Sm;0;ON;;;;;N;;;;;
+290C;LEFTWARDS DOUBLE DASH ARROW;Sm;0;ON;;;;;N;;;;;
+290D;RIGHTWARDS DOUBLE DASH ARROW;Sm;0;ON;;;;;N;;;;;
+290E;LEFTWARDS TRIPLE DASH ARROW;Sm;0;ON;;;;;N;;;;;
+290F;RIGHTWARDS TRIPLE DASH ARROW;Sm;0;ON;;;;;N;;;;;
+2910;RIGHTWARDS TWO-HEADED TRIPLE DASH ARROW;Sm;0;ON;;;;;N;;;;;
+2911;RIGHTWARDS ARROW WITH DOTTED STEM;Sm;0;ON;;;;;N;;;;;
+2912;UPWARDS ARROW TO BAR;Sm;0;ON;;;;;N;;;;;
+2913;DOWNWARDS ARROW TO BAR;Sm;0;ON;;;;;N;;;;;
+2914;RIGHTWARDS ARROW WITH TAIL WITH VERTICAL STROKE;Sm;0;ON;;;;;N;;;;;
+2915;RIGHTWARDS ARROW WITH TAIL WITH DOUBLE VERTICAL STROKE;Sm;0;ON;;;;;N;;;;;
+2916;RIGHTWARDS TWO-HEADED ARROW WITH TAIL;Sm;0;ON;;;;;N;;;;;
+2917;RIGHTWARDS TWO-HEADED ARROW WITH TAIL WITH VERTICAL STROKE;Sm;0;ON;;;;;N;;;;;
+2918;RIGHTWARDS TWO-HEADED ARROW WITH TAIL WITH DOUBLE VERTICAL STROKE;Sm;0;ON;;;;;N;;;;;
+2919;LEFTWARDS ARROW-TAIL;Sm;0;ON;;;;;N;;;;;
+291A;RIGHTWARDS ARROW-TAIL;Sm;0;ON;;;;;N;;;;;
+291B;LEFTWARDS DOUBLE ARROW-TAIL;Sm;0;ON;;;;;N;;;;;
+291C;RIGHTWARDS DOUBLE ARROW-TAIL;Sm;0;ON;;;;;N;;;;;
+291D;LEFTWARDS ARROW TO BLACK DIAMOND;Sm;0;ON;;;;;N;;;;;
+291E;RIGHTWARDS ARROW TO BLACK DIAMOND;Sm;0;ON;;;;;N;;;;;
+291F;LEFTWARDS ARROW FROM BAR TO BLACK DIAMOND;Sm;0;ON;;;;;N;;;;;
+2920;RIGHTWARDS ARROW FROM BAR TO BLACK DIAMOND;Sm;0;ON;;;;;N;;;;;
+2921;NORTH WEST AND SOUTH EAST ARROW;Sm;0;ON;;;;;N;;;;;
+2922;NORTH EAST AND SOUTH WEST ARROW;Sm;0;ON;;;;;N;;;;;
+2923;NORTH WEST ARROW WITH HOOK;Sm;0;ON;;;;;N;;;;;
+2924;NORTH EAST ARROW WITH HOOK;Sm;0;ON;;;;;N;;;;;
+2925;SOUTH EAST ARROW WITH HOOK;Sm;0;ON;;;;;N;;;;;
+2926;SOUTH WEST ARROW WITH HOOK;Sm;0;ON;;;;;N;;;;;
+2927;NORTH WEST ARROW AND NORTH EAST ARROW;Sm;0;ON;;;;;N;;;;;
+2928;NORTH EAST ARROW AND SOUTH EAST ARROW;Sm;0;ON;;;;;N;;;;;
+2929;SOUTH EAST ARROW AND SOUTH WEST ARROW;Sm;0;ON;;;;;N;;;;;
+292A;SOUTH WEST ARROW AND NORTH WEST ARROW;Sm;0;ON;;;;;N;;;;;
+292B;RISING DIAGONAL CROSSING FALLING DIAGONAL;Sm;0;ON;;;;;N;;;;;
+292C;FALLING DIAGONAL CROSSING RISING DIAGONAL;Sm;0;ON;;;;;N;;;;;
+292D;SOUTH EAST ARROW CROSSING NORTH EAST ARROW;Sm;0;ON;;;;;N;;;;;
+292E;NORTH EAST ARROW CROSSING SOUTH EAST ARROW;Sm;0;ON;;;;;N;;;;;
+292F;FALLING DIAGONAL CROSSING NORTH EAST ARROW;Sm;0;ON;;;;;N;;;;;
+2930;RISING DIAGONAL CROSSING SOUTH EAST ARROW;Sm;0;ON;;;;;N;;;;;
+2931;NORTH EAST ARROW CROSSING NORTH WEST ARROW;Sm;0;ON;;;;;N;;;;;
+2932;NORTH WEST ARROW CROSSING NORTH EAST ARROW;Sm;0;ON;;;;;N;;;;;
+2933;WAVE ARROW POINTING DIRECTLY RIGHT;Sm;0;ON;;;;;N;;;;;
+2934;ARROW POINTING RIGHTWARDS THEN CURVING UPWARDS;Sm;0;ON;;;;;N;;;;;
+2935;ARROW POINTING RIGHTWARDS THEN CURVING DOWNWARDS;Sm;0;ON;;;;;N;;;;;
+2936;ARROW POINTING DOWNWARDS THEN CURVING LEFTWARDS;Sm;0;ON;;;;;N;;;;;
+2937;ARROW POINTING DOWNWARDS THEN CURVING RIGHTWARDS;Sm;0;ON;;;;;N;;;;;
+2938;RIGHT-SIDE ARC CLOCKWISE ARROW;Sm;0;ON;;;;;N;;;;;
+2939;LEFT-SIDE ARC ANTICLOCKWISE ARROW;Sm;0;ON;;;;;N;;;;;
+293A;TOP ARC ANTICLOCKWISE ARROW;Sm;0;ON;;;;;N;;;;;
+293B;BOTTOM ARC ANTICLOCKWISE ARROW;Sm;0;ON;;;;;N;;;;;
+293C;TOP ARC CLOCKWISE ARROW WITH MINUS;Sm;0;ON;;;;;N;;;;;
+293D;TOP ARC ANTICLOCKWISE ARROW WITH PLUS;Sm;0;ON;;;;;N;;;;;
+293E;LOWER RIGHT SEMICIRCULAR CLOCKWISE ARROW;Sm;0;ON;;;;;N;;;;;
+293F;LOWER LEFT SEMICIRCULAR ANTICLOCKWISE ARROW;Sm;0;ON;;;;;N;;;;;
+2940;ANTICLOCKWISE CLOSED CIRCLE ARROW;Sm;0;ON;;;;;N;;;;;
+2941;CLOCKWISE CLOSED CIRCLE ARROW;Sm;0;ON;;;;;N;;;;;
+2942;RIGHTWARDS ARROW ABOVE SHORT LEFTWARDS ARROW;Sm;0;ON;;;;;N;;;;;
+2943;LEFTWARDS ARROW ABOVE SHORT RIGHTWARDS ARROW;Sm;0;ON;;;;;N;;;;;
+2944;SHORT RIGHTWARDS ARROW ABOVE LEFTWARDS ARROW;Sm;0;ON;;;;;N;;;;;
+2945;RIGHTWARDS ARROW WITH PLUS BELOW;Sm;0;ON;;;;;N;;;;;
+2946;LEFTWARDS ARROW WITH PLUS BELOW;Sm;0;ON;;;;;N;;;;;
+2947;RIGHTWARDS ARROW THROUGH X;Sm;0;ON;;;;;N;;;;;
+2948;LEFT RIGHT ARROW THROUGH SMALL CIRCLE;Sm;0;ON;;;;;N;;;;;
+2949;UPWARDS TWO-HEADED ARROW FROM SMALL CIRCLE;Sm;0;ON;;;;;N;;;;;
+294A;LEFT BARB UP RIGHT BARB DOWN HARPOON;Sm;0;ON;;;;;N;;;;;
+294B;LEFT BARB DOWN RIGHT BARB UP HARPOON;Sm;0;ON;;;;;N;;;;;
+294C;UP BARB RIGHT DOWN BARB LEFT HARPOON;Sm;0;ON;;;;;N;;;;;
+294D;UP BARB LEFT DOWN BARB RIGHT HARPOON;Sm;0;ON;;;;;N;;;;;
+294E;LEFT BARB UP RIGHT BARB UP HARPOON;Sm;0;ON;;;;;N;;;;;
+294F;UP BARB RIGHT DOWN BARB RIGHT HARPOON;Sm;0;ON;;;;;N;;;;;
+2950;LEFT BARB DOWN RIGHT BARB DOWN HARPOON;Sm;0;ON;;;;;N;;;;;
+2951;UP BARB LEFT DOWN BARB LEFT HARPOON;Sm;0;ON;;;;;N;;;;;
+2952;LEFTWARDS HARPOON WITH BARB UP TO BAR;Sm;0;ON;;;;;N;;;;;
+2953;RIGHTWARDS HARPOON WITH BARB UP TO BAR;Sm;0;ON;;;;;N;;;;;
+2954;UPWARDS HARPOON WITH BARB RIGHT TO BAR;Sm;0;ON;;;;;N;;;;;
+2955;DOWNWARDS HARPOON WITH BARB RIGHT TO BAR;Sm;0;ON;;;;;N;;;;;
+2956;LEFTWARDS HARPOON WITH BARB DOWN TO BAR;Sm;0;ON;;;;;N;;;;;
+2957;RIGHTWARDS HARPOON WITH BARB DOWN TO BAR;Sm;0;ON;;;;;N;;;;;
+2958;UPWARDS HARPOON WITH BARB LEFT TO BAR;Sm;0;ON;;;;;N;;;;;
+2959;DOWNWARDS HARPOON WITH BARB LEFT TO BAR;Sm;0;ON;;;;;N;;;;;
+295A;LEFTWARDS HARPOON WITH BARB UP FROM BAR;Sm;0;ON;;;;;N;;;;;
+295B;RIGHTWARDS HARPOON WITH BARB UP FROM BAR;Sm;0;ON;;;;;N;;;;;
+295C;UPWARDS HARPOON WITH BARB RIGHT FROM BAR;Sm;0;ON;;;;;N;;;;;
+295D;DOWNWARDS HARPOON WITH BARB RIGHT FROM BAR;Sm;0;ON;;;;;N;;;;;
+295E;LEFTWARDS HARPOON WITH BARB DOWN FROM BAR;Sm;0;ON;;;;;N;;;;;
+295F;RIGHTWARDS HARPOON WITH BARB DOWN FROM BAR;Sm;0;ON;;;;;N;;;;;
+2960;UPWARDS HARPOON WITH BARB LEFT FROM BAR;Sm;0;ON;;;;;N;;;;;
+2961;DOWNWARDS HARPOON WITH BARB LEFT FROM BAR;Sm;0;ON;;;;;N;;;;;
+2962;LEFTWARDS HARPOON WITH BARB UP ABOVE LEFTWARDS HARPOON WITH BARB DOWN;Sm;0;ON;;;;;N;;;;;
+2963;UPWARDS HARPOON WITH BARB LEFT BESIDE UPWARDS HARPOON WITH BARB RIGHT;Sm;0;ON;;;;;N;;;;;
+2964;RIGHTWARDS HARPOON WITH BARB UP ABOVE RIGHTWARDS HARPOON WITH BARB DOWN;Sm;0;ON;;;;;N;;;;;
+2965;DOWNWARDS HARPOON WITH BARB LEFT BESIDE DOWNWARDS HARPOON WITH BARB RIGHT;Sm;0;ON;;;;;N;;;;;
+2966;LEFTWARDS HARPOON WITH BARB UP ABOVE RIGHTWARDS HARPOON WITH BARB UP;Sm;0;ON;;;;;N;;;;;
+2967;LEFTWARDS HARPOON WITH BARB DOWN ABOVE RIGHTWARDS HARPOON WITH BARB DOWN;Sm;0;ON;;;;;N;;;;;
+2968;RIGHTWARDS HARPOON WITH BARB UP ABOVE LEFTWARDS HARPOON WITH BARB UP;Sm;0;ON;;;;;N;;;;;
+2969;RIGHTWARDS HARPOON WITH BARB DOWN ABOVE LEFTWARDS HARPOON WITH BARB DOWN;Sm;0;ON;;;;;N;;;;;
+296A;LEFTWARDS HARPOON WITH BARB UP ABOVE LONG DASH;Sm;0;ON;;;;;N;;;;;
+296B;LEFTWARDS HARPOON WITH BARB DOWN BELOW LONG DASH;Sm;0;ON;;;;;N;;;;;
+296C;RIGHTWARDS HARPOON WITH BARB UP ABOVE LONG DASH;Sm;0;ON;;;;;N;;;;;
+296D;RIGHTWARDS HARPOON WITH BARB DOWN BELOW LONG DASH;Sm;0;ON;;;;;N;;;;;
+296E;UPWARDS HARPOON WITH BARB LEFT BESIDE DOWNWARDS HARPOON WITH BARB RIGHT;Sm;0;ON;;;;;N;;;;;
+296F;DOWNWARDS HARPOON WITH BARB LEFT BESIDE UPWARDS HARPOON WITH BARB RIGHT;Sm;0;ON;;;;;N;;;;;
+2970;RIGHT DOUBLE ARROW WITH ROUNDED HEAD;Sm;0;ON;;;;;N;;;;;
+2971;EQUALS SIGN ABOVE RIGHTWARDS ARROW;Sm;0;ON;;;;;N;;;;;
+2972;TILDE OPERATOR ABOVE RIGHTWARDS ARROW;Sm;0;ON;;;;;N;;;;;
+2973;LEFTWARDS ARROW ABOVE TILDE OPERATOR;Sm;0;ON;;;;;N;;;;;
+2974;RIGHTWARDS ARROW ABOVE TILDE OPERATOR;Sm;0;ON;;;;;N;;;;;
+2975;RIGHTWARDS ARROW ABOVE ALMOST EQUAL TO;Sm;0;ON;;;;;N;;;;;
+2976;LESS-THAN ABOVE LEFTWARDS ARROW;Sm;0;ON;;;;;N;;;;;
+2977;LEFTWARDS ARROW THROUGH LESS-THAN;Sm;0;ON;;;;;N;;;;;
+2978;GREATER-THAN ABOVE RIGHTWARDS ARROW;Sm;0;ON;;;;;N;;;;;
+2979;SUBSET ABOVE RIGHTWARDS ARROW;Sm;0;ON;;;;;N;;;;;
+297A;LEFTWARDS ARROW THROUGH SUBSET;Sm;0;ON;;;;;N;;;;;
+297B;SUPERSET ABOVE LEFTWARDS ARROW;Sm;0;ON;;;;;N;;;;;
+297C;LEFT FISH TAIL;Sm;0;ON;;;;;N;;;;;
+297D;RIGHT FISH TAIL;Sm;0;ON;;;;;N;;;;;
+297E;UP FISH TAIL;Sm;0;ON;;;;;N;;;;;
+297F;DOWN FISH TAIL;Sm;0;ON;;;;;N;;;;;
+2980;TRIPLE VERTICAL BAR DELIMITER;Sm;0;ON;;;;;N;;;;;
+2981;Z NOTATION SPOT;Sm;0;ON;;;;;N;;;;;
+2982;Z NOTATION TYPE COLON;Sm;0;ON;;;;;N;;;;;
+2983;LEFT WHITE CURLY BRACKET;Ps;0;ON;;;;;Y;;;;;
+2984;RIGHT WHITE CURLY BRACKET;Pe;0;ON;;;;;Y;;;;;
+2985;LEFT WHITE PARENTHESIS;Ps;0;ON;;;;;Y;;;;;
+2986;RIGHT WHITE PARENTHESIS;Pe;0;ON;;;;;Y;;;;;
+2987;Z NOTATION LEFT IMAGE BRACKET;Ps;0;ON;;;;;Y;;;;;
+2988;Z NOTATION RIGHT IMAGE BRACKET;Pe;0;ON;;;;;Y;;;;;
+2989;Z NOTATION LEFT BINDING BRACKET;Ps;0;ON;;;;;Y;;;;;
+298A;Z NOTATION RIGHT BINDING BRACKET;Pe;0;ON;;;;;Y;;;;;
+298B;LEFT SQUARE BRACKET WITH UNDERBAR;Ps;0;ON;;;;;Y;;;;;
+298C;RIGHT SQUARE BRACKET WITH UNDERBAR;Pe;0;ON;;;;;Y;;;;;
+298D;LEFT SQUARE BRACKET WITH TICK IN TOP CORNER;Ps;0;ON;;;;;Y;;;;;
+298E;RIGHT SQUARE BRACKET WITH TICK IN BOTTOM CORNER;Pe;0;ON;;;;;Y;;;;;
+298F;LEFT SQUARE BRACKET WITH TICK IN BOTTOM CORNER;Ps;0;ON;;;;;Y;;;;;
+2990;RIGHT SQUARE BRACKET WITH TICK IN TOP CORNER;Pe;0;ON;;;;;Y;;;;;
+2991;LEFT ANGLE BRACKET WITH DOT;Ps;0;ON;;;;;Y;;;;;
+2992;RIGHT ANGLE BRACKET WITH DOT;Pe;0;ON;;;;;Y;;;;;
+2993;LEFT ARC LESS-THAN BRACKET;Ps;0;ON;;;;;Y;;;;;
+2994;RIGHT ARC GREATER-THAN BRACKET;Pe;0;ON;;;;;Y;;;;;
+2995;DOUBLE LEFT ARC GREATER-THAN BRACKET;Ps;0;ON;;;;;Y;;;;;
+2996;DOUBLE RIGHT ARC LESS-THAN BRACKET;Pe;0;ON;;;;;Y;;;;;
+2997;LEFT BLACK TORTOISE SHELL BRACKET;Ps;0;ON;;;;;Y;;;;;
+2998;RIGHT BLACK TORTOISE SHELL BRACKET;Pe;0;ON;;;;;Y;;;;;
+2999;DOTTED FENCE;Sm;0;ON;;;;;N;;;;;
+299A;VERTICAL ZIGZAG LINE;Sm;0;ON;;;;;N;;;;;
+299B;MEASURED ANGLE OPENING LEFT;Sm;0;ON;;;;;Y;;;;;
+299C;RIGHT ANGLE VARIANT WITH SQUARE;Sm;0;ON;;;;;Y;;;;;
+299D;MEASURED RIGHT ANGLE WITH DOT;Sm;0;ON;;;;;Y;;;;;
+299E;ANGLE WITH S INSIDE;Sm;0;ON;;;;;Y;;;;;
+299F;ACUTE ANGLE;Sm;0;ON;;;;;Y;;;;;
+29A0;SPHERICAL ANGLE OPENING LEFT;Sm;0;ON;;;;;Y;;;;;
+29A1;SPHERICAL ANGLE OPENING UP;Sm;0;ON;;;;;Y;;;;;
+29A2;TURNED ANGLE;Sm;0;ON;;;;;Y;;;;;
+29A3;REVERSED ANGLE;Sm;0;ON;;;;;Y;;;;;
+29A4;ANGLE WITH UNDERBAR;Sm;0;ON;;;;;Y;;;;;
+29A5;REVERSED ANGLE WITH UNDERBAR;Sm;0;ON;;;;;Y;;;;;
+29A6;OBLIQUE ANGLE OPENING UP;Sm;0;ON;;;;;Y;;;;;
+29A7;OBLIQUE ANGLE OPENING DOWN;Sm;0;ON;;;;;Y;;;;;
+29A8;MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING UP AND RIGHT;Sm;0;ON;;;;;Y;;;;;
+29A9;MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING UP AND LEFT;Sm;0;ON;;;;;Y;;;;;
+29AA;MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING DOWN AND RIGHT;Sm;0;ON;;;;;Y;;;;;
+29AB;MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING DOWN AND LEFT;Sm;0;ON;;;;;Y;;;;;
+29AC;MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING RIGHT AND UP;Sm;0;ON;;;;;Y;;;;;
+29AD;MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING LEFT AND UP;Sm;0;ON;;;;;Y;;;;;
+29AE;MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING RIGHT AND DOWN;Sm;0;ON;;;;;Y;;;;;
+29AF;MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING LEFT AND DOWN;Sm;0;ON;;;;;Y;;;;;
+29B0;REVERSED EMPTY SET;Sm;0;ON;;;;;N;;;;;
+29B1;EMPTY SET WITH OVERBAR;Sm;0;ON;;;;;N;;;;;
+29B2;EMPTY SET WITH SMALL CIRCLE ABOVE;Sm;0;ON;;;;;N;;;;;
+29B3;EMPTY SET WITH RIGHT ARROW ABOVE;Sm;0;ON;;;;;N;;;;;
+29B4;EMPTY SET WITH LEFT ARROW ABOVE;Sm;0;ON;;;;;N;;;;;
+29B5;CIRCLE WITH HORIZONTAL BAR;Sm;0;ON;;;;;N;;;;;
+29B6;CIRCLED VERTICAL BAR;Sm;0;ON;;;;;N;;;;;
+29B7;CIRCLED PARALLEL;Sm;0;ON;;;;;N;;;;;
+29B8;CIRCLED REVERSE SOLIDUS;Sm;0;ON;;;;;Y;;;;;
+29B9;CIRCLED PERPENDICULAR;Sm;0;ON;;;;;N;;;;;
+29BA;CIRCLE DIVIDED BY HORIZONTAL BAR AND TOP HALF DIVIDED BY VERTICAL BAR;Sm;0;ON;;;;;N;;;;;
+29BB;CIRCLE WITH SUPERIMPOSED X;Sm;0;ON;;;;;N;;;;;
+29BC;CIRCLED ANTICLOCKWISE-ROTATED DIVISION SIGN;Sm;0;ON;;;;;N;;;;;
+29BD;UP ARROW THROUGH CIRCLE;Sm;0;ON;;;;;N;;;;;
+29BE;CIRCLED WHITE BULLET;Sm;0;ON;;;;;N;;;;;
+29BF;CIRCLED BULLET;Sm;0;ON;;;;;N;;;;;
+29C0;CIRCLED LESS-THAN;Sm;0;ON;;;;;Y;;;;;
+29C1;CIRCLED GREATER-THAN;Sm;0;ON;;;;;Y;;;;;
+29C2;CIRCLE WITH SMALL CIRCLE TO THE RIGHT;Sm;0;ON;;;;;Y;;;;;
+29C3;CIRCLE WITH TWO HORIZONTAL STROKES TO THE RIGHT;Sm;0;ON;;;;;Y;;;;;
+29C4;SQUARED RISING DIAGONAL SLASH;Sm;0;ON;;;;;Y;;;;;
+29C5;SQUARED FALLING DIAGONAL SLASH;Sm;0;ON;;;;;Y;;;;;
+29C6;SQUARED ASTERISK;Sm;0;ON;;;;;N;;;;;
+29C7;SQUARED SMALL CIRCLE;Sm;0;ON;;;;;N;;;;;
+29C8;SQUARED SQUARE;Sm;0;ON;;;;;N;;;;;
+29C9;TWO JOINED SQUARES;Sm;0;ON;;;;;Y;;;;;
+29CA;TRIANGLE WITH DOT ABOVE;Sm;0;ON;;;;;N;;;;;
+29CB;TRIANGLE WITH UNDERBAR;Sm;0;ON;;;;;N;;;;;
+29CC;S IN TRIANGLE;Sm;0;ON;;;;;N;;;;;
+29CD;TRIANGLE WITH SERIFS AT BOTTOM;Sm;0;ON;;;;;N;;;;;
+29CE;RIGHT TRIANGLE ABOVE LEFT TRIANGLE;Sm;0;ON;;;;;Y;;;;;
+29CF;LEFT TRIANGLE BESIDE VERTICAL BAR;Sm;0;ON;;;;;Y;;;;;
+29D0;VERTICAL BAR BESIDE RIGHT TRIANGLE;Sm;0;ON;;;;;Y;;;;;
+29D1;BOWTIE WITH LEFT HALF BLACK;Sm;0;ON;;;;;Y;;;;;
+29D2;BOWTIE WITH RIGHT HALF BLACK;Sm;0;ON;;;;;Y;;;;;
+29D3;BLACK BOWTIE;Sm;0;ON;;;;;N;;;;;
+29D4;TIMES WITH LEFT HALF BLACK;Sm;0;ON;;;;;Y;;;;;
+29D5;TIMES WITH RIGHT HALF BLACK;Sm;0;ON;;;;;Y;;;;;
+29D6;WHITE HOURGLASS;Sm;0;ON;;;;;N;;;;;
+29D7;BLACK HOURGLASS;Sm;0;ON;;;;;N;;;;;
+29D8;LEFT WIGGLY FENCE;Ps;0;ON;;;;;Y;;;;;
+29D9;RIGHT WIGGLY FENCE;Pe;0;ON;;;;;Y;;;;;
+29DA;LEFT DOUBLE WIGGLY FENCE;Ps;0;ON;;;;;Y;;;;;
+29DB;RIGHT DOUBLE WIGGLY FENCE;Pe;0;ON;;;;;Y;;;;;
+29DC;INCOMPLETE INFINITY;Sm;0;ON;;;;;Y;;;;;
+29DD;TIE OVER INFINITY;Sm;0;ON;;;;;N;;;;;
+29DE;INFINITY NEGATED WITH VERTICAL BAR;Sm;0;ON;;;;;N;;;;;
+29DF;DOUBLE-ENDED MULTIMAP;Sm;0;ON;;;;;N;;;;;
+29E0;SQUARE WITH CONTOURED OUTLINE;Sm;0;ON;;;;;N;;;;;
+29E1;INCREASES AS;Sm;0;ON;;;;;Y;;;;;
+29E2;SHUFFLE PRODUCT;Sm;0;ON;;;;;N;;;;;
+29E3;EQUALS SIGN AND SLANTED PARALLEL;Sm;0;ON;;;;;Y;;;;;
+29E4;EQUALS SIGN AND SLANTED PARALLEL WITH TILDE ABOVE;Sm;0;ON;;;;;Y;;;;;
+29E5;IDENTICAL TO AND SLANTED PARALLEL;Sm;0;ON;;;;;Y;;;;;
+29E6;GLEICH STARK;Sm;0;ON;;;;;N;;;;;
+29E7;THERMODYNAMIC;Sm;0;ON;;;;;N;;;;;
+29E8;DOWN-POINTING TRIANGLE WITH LEFT HALF BLACK;Sm;0;ON;;;;;Y;;;;;
+29E9;DOWN-POINTING TRIANGLE WITH RIGHT HALF BLACK;Sm;0;ON;;;;;Y;;;;;
+29EA;BLACK DIAMOND WITH DOWN ARROW;Sm;0;ON;;;;;N;;;;;
+29EB;BLACK LOZENGE;Sm;0;ON;;;;;N;;;;;
+29EC;WHITE CIRCLE WITH DOWN ARROW;Sm;0;ON;;;;;N;;;;;
+29ED;BLACK CIRCLE WITH DOWN ARROW;Sm;0;ON;;;;;N;;;;;
+29EE;ERROR-BARRED WHITE SQUARE;Sm;0;ON;;;;;N;;;;;
+29EF;ERROR-BARRED BLACK SQUARE;Sm;0;ON;;;;;N;;;;;
+29F0;ERROR-BARRED WHITE DIAMOND;Sm;0;ON;;;;;N;;;;;
+29F1;ERROR-BARRED BLACK DIAMOND;Sm;0;ON;;;;;N;;;;;
+29F2;ERROR-BARRED WHITE CIRCLE;Sm;0;ON;;;;;N;;;;;
+29F3;ERROR-BARRED BLACK CIRCLE;Sm;0;ON;;;;;N;;;;;
+29F4;RULE-DELAYED;Sm;0;ON;;;;;Y;;;;;
+29F5;REVERSE SOLIDUS OPERATOR;Sm;0;ON;;;;;Y;;;;;
+29F6;SOLIDUS WITH OVERBAR;Sm;0;ON;;;;;Y;;;;;
+29F7;REVERSE SOLIDUS WITH HORIZONTAL STROKE;Sm;0;ON;;;;;Y;;;;;
+29F8;BIG SOLIDUS;Sm;0;ON;;;;;Y;;;;;
+29F9;BIG REVERSE SOLIDUS;Sm;0;ON;;;;;Y;;;;;
+29FA;DOUBLE PLUS;Sm;0;ON;;;;;N;;;;;
+29FB;TRIPLE PLUS;Sm;0;ON;;;;;N;;;;;
+29FC;LEFT-POINTING CURVED ANGLE BRACKET;Ps;0;ON;;;;;Y;;;;;
+29FD;RIGHT-POINTING CURVED ANGLE BRACKET;Pe;0;ON;;;;;Y;;;;;
+29FE;TINY;Sm;0;ON;;;;;N;;;;;
+29FF;MINY;Sm;0;ON;;;;;N;;;;;
+2A00;N-ARY CIRCLED DOT OPERATOR;Sm;0;ON;;;;;N;;;;;
+2A01;N-ARY CIRCLED PLUS OPERATOR;Sm;0;ON;;;;;N;;;;;
+2A02;N-ARY CIRCLED TIMES OPERATOR;Sm;0;ON;;;;;N;;;;;
+2A03;N-ARY UNION OPERATOR WITH DOT;Sm;0;ON;;;;;N;;;;;
+2A04;N-ARY UNION OPERATOR WITH PLUS;Sm;0;ON;;;;;N;;;;;
+2A05;N-ARY SQUARE INTERSECTION OPERATOR;Sm;0;ON;;;;;N;;;;;
+2A06;N-ARY SQUARE UNION OPERATOR;Sm;0;ON;;;;;N;;;;;
+2A07;TWO LOGICAL AND OPERATOR;Sm;0;ON;;;;;N;;;;;
+2A08;TWO LOGICAL OR OPERATOR;Sm;0;ON;;;;;N;;;;;
+2A09;N-ARY TIMES OPERATOR;Sm;0;ON;;;;;N;;;;;
+2A0A;MODULO TWO SUM;Sm;0;ON;;;;;Y;;;;;
+2A0B;SUMMATION WITH INTEGRAL;Sm;0;ON;;;;;Y;;;;;
+2A0C;QUADRUPLE INTEGRAL OPERATOR;Sm;0;ON;<compat> 222B 222B 222B 222B;;;;Y;;;;;
+2A0D;FINITE PART INTEGRAL;Sm;0;ON;;;;;Y;;;;;
+2A0E;INTEGRAL WITH DOUBLE STROKE;Sm;0;ON;;;;;Y;;;;;
+2A0F;INTEGRAL AVERAGE WITH SLASH;Sm;0;ON;;;;;Y;;;;;
+2A10;CIRCULATION FUNCTION;Sm;0;ON;;;;;Y;;;;;
+2A11;ANTICLOCKWISE INTEGRATION;Sm;0;ON;;;;;Y;;;;;
+2A12;LINE INTEGRATION WITH RECTANGULAR PATH AROUND POLE;Sm;0;ON;;;;;Y;;;;;
+2A13;LINE INTEGRATION WITH SEMICIRCULAR PATH AROUND POLE;Sm;0;ON;;;;;Y;;;;;
+2A14;LINE INTEGRATION NOT INCLUDING THE POLE;Sm;0;ON;;;;;Y;;;;;
+2A15;INTEGRAL AROUND A POINT OPERATOR;Sm;0;ON;;;;;Y;;;;;
+2A16;QUATERNION INTEGRAL OPERATOR;Sm;0;ON;;;;;Y;;;;;
+2A17;INTEGRAL WITH LEFTWARDS ARROW WITH HOOK;Sm;0;ON;;;;;Y;;;;;
+2A18;INTEGRAL WITH TIMES SIGN;Sm;0;ON;;;;;Y;;;;;
+2A19;INTEGRAL WITH INTERSECTION;Sm;0;ON;;;;;Y;;;;;
+2A1A;INTEGRAL WITH UNION;Sm;0;ON;;;;;Y;;;;;
+2A1B;INTEGRAL WITH OVERBAR;Sm;0;ON;;;;;Y;;;;;
+2A1C;INTEGRAL WITH UNDERBAR;Sm;0;ON;;;;;Y;;;;;
+2A1D;JOIN;Sm;0;ON;;;;;N;;;;;
+2A1E;LARGE LEFT TRIANGLE OPERATOR;Sm;0;ON;;;;;Y;;;;;
+2A1F;Z NOTATION SCHEMA COMPOSITION;Sm;0;ON;;;;;Y;;;;;
+2A20;Z NOTATION SCHEMA PIPING;Sm;0;ON;;;;;Y;;;;;
+2A21;Z NOTATION SCHEMA PROJECTION;Sm;0;ON;;;;;Y;;;;;
+2A22;PLUS SIGN WITH SMALL CIRCLE ABOVE;Sm;0;ON;;;;;N;;;;;
+2A23;PLUS SIGN WITH CIRCUMFLEX ACCENT ABOVE;Sm;0;ON;;;;;N;;;;;
+2A24;PLUS SIGN WITH TILDE ABOVE;Sm;0;ON;;;;;Y;;;;;
+2A25;PLUS SIGN WITH DOT BELOW;Sm;0;ON;;;;;N;;;;;
+2A26;PLUS SIGN WITH TILDE BELOW;Sm;0;ON;;;;;Y;;;;;
+2A27;PLUS SIGN WITH SUBSCRIPT TWO;Sm;0;ON;;;;;N;;;;;
+2A28;PLUS SIGN WITH BLACK TRIANGLE;Sm;0;ON;;;;;N;;;;;
+2A29;MINUS SIGN WITH COMMA ABOVE;Sm;0;ON;;;;;Y;;;;;
+2A2A;MINUS SIGN WITH DOT BELOW;Sm;0;ON;;;;;N;;;;;
+2A2B;MINUS SIGN WITH FALLING DOTS;Sm;0;ON;;;;;Y;;;;;
+2A2C;MINUS SIGN WITH RISING DOTS;Sm;0;ON;;;;;Y;;;;;
+2A2D;PLUS SIGN IN LEFT HALF CIRCLE;Sm;0;ON;;;;;Y;;;;;
+2A2E;PLUS SIGN IN RIGHT HALF CIRCLE;Sm;0;ON;;;;;Y;;;;;
+2A2F;VECTOR OR CROSS PRODUCT;Sm;0;ON;;;;;N;;;;;
+2A30;MULTIPLICATION SIGN WITH DOT ABOVE;Sm;0;ON;;;;;N;;;;;
+2A31;MULTIPLICATION SIGN WITH UNDERBAR;Sm;0;ON;;;;;N;;;;;
+2A32;SEMIDIRECT PRODUCT WITH BOTTOM CLOSED;Sm;0;ON;;;;;N;;;;;
+2A33;SMASH PRODUCT;Sm;0;ON;;;;;N;;;;;
+2A34;MULTIPLICATION SIGN IN LEFT HALF CIRCLE;Sm;0;ON;;;;;Y;;;;;
+2A35;MULTIPLICATION SIGN IN RIGHT HALF CIRCLE;Sm;0;ON;;;;;Y;;;;;
+2A36;CIRCLED MULTIPLICATION SIGN WITH CIRCUMFLEX ACCENT;Sm;0;ON;;;;;N;;;;;
+2A37;MULTIPLICATION SIGN IN DOUBLE CIRCLE;Sm;0;ON;;;;;N;;;;;
+2A38;CIRCLED DIVISION SIGN;Sm;0;ON;;;;;N;;;;;
+2A39;PLUS SIGN IN TRIANGLE;Sm;0;ON;;;;;N;;;;;
+2A3A;MINUS SIGN IN TRIANGLE;Sm;0;ON;;;;;N;;;;;
+2A3B;MULTIPLICATION SIGN IN TRIANGLE;Sm;0;ON;;;;;N;;;;;
+2A3C;INTERIOR PRODUCT;Sm;0;ON;;;;;Y;;;;;
+2A3D;RIGHTHAND INTERIOR PRODUCT;Sm;0;ON;;;;;Y;;;;;
+2A3E;Z NOTATION RELATIONAL COMPOSITION;Sm;0;ON;;;;;Y;;;;;
+2A3F;AMALGAMATION OR COPRODUCT;Sm;0;ON;;;;;N;;;;;
+2A40;INTERSECTION WITH DOT;Sm;0;ON;;;;;N;;;;;
+2A41;UNION WITH MINUS SIGN;Sm;0;ON;;;;;N;;;;;
+2A42;UNION WITH OVERBAR;Sm;0;ON;;;;;N;;;;;
+2A43;INTERSECTION WITH OVERBAR;Sm;0;ON;;;;;N;;;;;
+2A44;INTERSECTION WITH LOGICAL AND;Sm;0;ON;;;;;N;;;;;
+2A45;UNION WITH LOGICAL OR;Sm;0;ON;;;;;N;;;;;
+2A46;UNION ABOVE INTERSECTION;Sm;0;ON;;;;;N;;;;;
+2A47;INTERSECTION ABOVE UNION;Sm;0;ON;;;;;N;;;;;
+2A48;UNION ABOVE BAR ABOVE INTERSECTION;Sm;0;ON;;;;;N;;;;;
+2A49;INTERSECTION ABOVE BAR ABOVE UNION;Sm;0;ON;;;;;N;;;;;
+2A4A;UNION BESIDE AND JOINED WITH UNION;Sm;0;ON;;;;;N;;;;;
+2A4B;INTERSECTION BESIDE AND JOINED WITH INTERSECTION;Sm;0;ON;;;;;N;;;;;
+2A4C;CLOSED UNION WITH SERIFS;Sm;0;ON;;;;;N;;;;;
+2A4D;CLOSED INTERSECTION WITH SERIFS;Sm;0;ON;;;;;N;;;;;
+2A4E;DOUBLE SQUARE INTERSECTION;Sm;0;ON;;;;;N;;;;;
+2A4F;DOUBLE SQUARE UNION;Sm;0;ON;;;;;N;;;;;
+2A50;CLOSED UNION WITH SERIFS AND SMASH PRODUCT;Sm;0;ON;;;;;N;;;;;
+2A51;LOGICAL AND WITH DOT ABOVE;Sm;0;ON;;;;;N;;;;;
+2A52;LOGICAL OR WITH DOT ABOVE;Sm;0;ON;;;;;N;;;;;
+2A53;DOUBLE LOGICAL AND;Sm;0;ON;;;;;N;;;;;
+2A54;DOUBLE LOGICAL OR;Sm;0;ON;;;;;N;;;;;
+2A55;TWO INTERSECTING LOGICAL AND;Sm;0;ON;;;;;N;;;;;
+2A56;TWO INTERSECTING LOGICAL OR;Sm;0;ON;;;;;N;;;;;
+2A57;SLOPING LARGE OR;Sm;0;ON;;;;;Y;;;;;
+2A58;SLOPING LARGE AND;Sm;0;ON;;;;;Y;;;;;
+2A59;LOGICAL OR OVERLAPPING LOGICAL AND;Sm;0;ON;;;;;N;;;;;
+2A5A;LOGICAL AND WITH MIDDLE STEM;Sm;0;ON;;;;;N;;;;;
+2A5B;LOGICAL OR WITH MIDDLE STEM;Sm;0;ON;;;;;N;;;;;
+2A5C;LOGICAL AND WITH HORIZONTAL DASH;Sm;0;ON;;;;;N;;;;;
+2A5D;LOGICAL OR WITH HORIZONTAL DASH;Sm;0;ON;;;;;N;;;;;
+2A5E;LOGICAL AND WITH DOUBLE OVERBAR;Sm;0;ON;;;;;N;;;;;
+2A5F;LOGICAL AND WITH UNDERBAR;Sm;0;ON;;;;;N;;;;;
+2A60;LOGICAL AND WITH DOUBLE UNDERBAR;Sm;0;ON;;;;;N;;;;;
+2A61;SMALL VEE WITH UNDERBAR;Sm;0;ON;;;;;N;;;;;
+2A62;LOGICAL OR WITH DOUBLE OVERBAR;Sm;0;ON;;;;;N;;;;;
+2A63;LOGICAL OR WITH DOUBLE UNDERBAR;Sm;0;ON;;;;;N;;;;;
+2A64;Z NOTATION DOMAIN ANTIRESTRICTION;Sm;0;ON;;;;;Y;;;;;
+2A65;Z NOTATION RANGE ANTIRESTRICTION;Sm;0;ON;;;;;Y;;;;;
+2A66;EQUALS SIGN WITH DOT BELOW;Sm;0;ON;;;;;N;;;;;
+2A67;IDENTICAL WITH DOT ABOVE;Sm;0;ON;;;;;N;;;;;
+2A68;TRIPLE HORIZONTAL BAR WITH DOUBLE VERTICAL STROKE;Sm;0;ON;;;;;N;;;;;
+2A69;TRIPLE HORIZONTAL BAR WITH TRIPLE VERTICAL STROKE;Sm;0;ON;;;;;N;;;;;
+2A6A;TILDE OPERATOR WITH DOT ABOVE;Sm;0;ON;;;;;Y;;;;;
+2A6B;TILDE OPERATOR WITH RISING DOTS;Sm;0;ON;;;;;Y;;;;;
+2A6C;SIMILAR MINUS SIMILAR;Sm;0;ON;;;;;Y;;;;;
+2A6D;CONGRUENT WITH DOT ABOVE;Sm;0;ON;;;;;Y;;;;;
+2A6E;EQUALS WITH ASTERISK;Sm;0;ON;;;;;N;;;;;
+2A6F;ALMOST EQUAL TO WITH CIRCUMFLEX ACCENT;Sm;0;ON;;;;;Y;;;;;
+2A70;APPROXIMATELY EQUAL OR EQUAL TO;Sm;0;ON;;;;;Y;;;;;
+2A71;EQUALS SIGN ABOVE PLUS SIGN;Sm;0;ON;;;;;N;;;;;
+2A72;PLUS SIGN ABOVE EQUALS SIGN;Sm;0;ON;;;;;N;;;;;
+2A73;EQUALS SIGN ABOVE TILDE OPERATOR;Sm;0;ON;;;;;Y;;;;;
+2A74;DOUBLE COLON EQUAL;Sm;0;ON;<compat> 003A 003A 003D;;;;Y;;;;;
+2A75;TWO CONSECUTIVE EQUALS SIGNS;Sm;0;ON;<compat> 003D 003D;;;;N;;;;;
+2A76;THREE CONSECUTIVE EQUALS SIGNS;Sm;0;ON;<compat> 003D 003D 003D;;;;N;;;;;
+2A77;EQUALS SIGN WITH TWO DOTS ABOVE AND TWO DOTS BELOW;Sm;0;ON;;;;;N;;;;;
+2A78;EQUIVALENT WITH FOUR DOTS ABOVE;Sm;0;ON;;;;;N;;;;;
+2A79;LESS-THAN WITH CIRCLE INSIDE;Sm;0;ON;;;;;Y;;;;;
+2A7A;GREATER-THAN WITH CIRCLE INSIDE;Sm;0;ON;;;;;Y;;;;;
+2A7B;LESS-THAN WITH QUESTION MARK ABOVE;Sm;0;ON;;;;;Y;;;;;
+2A7C;GREATER-THAN WITH QUESTION MARK ABOVE;Sm;0;ON;;;;;Y;;;;;
+2A7D;LESS-THAN OR SLANTED EQUAL TO;Sm;0;ON;;;;;Y;;;;;
+2A7E;GREATER-THAN OR SLANTED EQUAL TO;Sm;0;ON;;;;;Y;;;;;
+2A7F;LESS-THAN OR SLANTED EQUAL TO WITH DOT INSIDE;Sm;0;ON;;;;;Y;;;;;
+2A80;GREATER-THAN OR SLANTED EQUAL TO WITH DOT INSIDE;Sm;0;ON;;;;;Y;;;;;
+2A81;LESS-THAN OR SLANTED EQUAL TO WITH DOT ABOVE;Sm;0;ON;;;;;Y;;;;;
+2A82;GREATER-THAN OR SLANTED EQUAL TO WITH DOT ABOVE;Sm;0;ON;;;;;Y;;;;;
+2A83;LESS-THAN OR SLANTED EQUAL TO WITH DOT ABOVE RIGHT;Sm;0;ON;;;;;Y;;;;;
+2A84;GREATER-THAN OR SLANTED EQUAL TO WITH DOT ABOVE LEFT;Sm;0;ON;;;;;Y;;;;;
+2A85;LESS-THAN OR APPROXIMATE;Sm;0;ON;;;;;Y;;;;;
+2A86;GREATER-THAN OR APPROXIMATE;Sm;0;ON;;;;;Y;;;;;
+2A87;LESS-THAN AND SINGLE-LINE NOT EQUAL TO;Sm;0;ON;;;;;Y;;;;;
+2A88;GREATER-THAN AND SINGLE-LINE NOT EQUAL TO;Sm;0;ON;;;;;Y;;;;;
+2A89;LESS-THAN AND NOT APPROXIMATE;Sm;0;ON;;;;;Y;;;;;
+2A8A;GREATER-THAN AND NOT APPROXIMATE;Sm;0;ON;;;;;Y;;;;;
+2A8B;LESS-THAN ABOVE DOUBLE-LINE EQUAL ABOVE GREATER-THAN;Sm;0;ON;;;;;Y;;;;;
+2A8C;GREATER-THAN ABOVE DOUBLE-LINE EQUAL ABOVE LESS-THAN;Sm;0;ON;;;;;Y;;;;;
+2A8D;LESS-THAN ABOVE SIMILAR OR EQUAL;Sm;0;ON;;;;;Y;;;;;
+2A8E;GREATER-THAN ABOVE SIMILAR OR EQUAL;Sm;0;ON;;;;;Y;;;;;
+2A8F;LESS-THAN ABOVE SIMILAR ABOVE GREATER-THAN;Sm;0;ON;;;;;Y;;;;;
+2A90;GREATER-THAN ABOVE SIMILAR ABOVE LESS-THAN;Sm;0;ON;;;;;Y;;;;;
+2A91;LESS-THAN ABOVE GREATER-THAN ABOVE DOUBLE-LINE EQUAL;Sm;0;ON;;;;;Y;;;;;
+2A92;GREATER-THAN ABOVE LESS-THAN ABOVE DOUBLE-LINE EQUAL;Sm;0;ON;;;;;Y;;;;;
+2A93;LESS-THAN ABOVE SLANTED EQUAL ABOVE GREATER-THAN ABOVE SLANTED EQUAL;Sm;0;ON;;;;;Y;;;;;
+2A94;GREATER-THAN ABOVE SLANTED EQUAL ABOVE LESS-THAN ABOVE SLANTED EQUAL;Sm;0;ON;;;;;Y;;;;;
+2A95;SLANTED EQUAL TO OR LESS-THAN;Sm;0;ON;;;;;Y;;;;;
+2A96;SLANTED EQUAL TO OR GREATER-THAN;Sm;0;ON;;;;;Y;;;;;
+2A97;SLANTED EQUAL TO OR LESS-THAN WITH DOT INSIDE;Sm;0;ON;;;;;Y;;;;;
+2A98;SLANTED EQUAL TO OR GREATER-THAN WITH DOT INSIDE;Sm;0;ON;;;;;Y;;;;;
+2A99;DOUBLE-LINE EQUAL TO OR LESS-THAN;Sm;0;ON;;;;;Y;;;;;
+2A9A;DOUBLE-LINE EQUAL TO OR GREATER-THAN;Sm;0;ON;;;;;Y;;;;;
+2A9B;DOUBLE-LINE SLANTED EQUAL TO OR LESS-THAN;Sm;0;ON;;;;;Y;;;;;
+2A9C;DOUBLE-LINE SLANTED EQUAL TO OR GREATER-THAN;Sm;0;ON;;;;;Y;;;;;
+2A9D;SIMILAR OR LESS-THAN;Sm;0;ON;;;;;Y;;;;;
+2A9E;SIMILAR OR GREATER-THAN;Sm;0;ON;;;;;Y;;;;;
+2A9F;SIMILAR ABOVE LESS-THAN ABOVE EQUALS SIGN;Sm;0;ON;;;;;Y;;;;;
+2AA0;SIMILAR ABOVE GREATER-THAN ABOVE EQUALS SIGN;Sm;0;ON;;;;;Y;;;;;
+2AA1;DOUBLE NESTED LESS-THAN;Sm;0;ON;;;;;Y;;;;;
+2AA2;DOUBLE NESTED GREATER-THAN;Sm;0;ON;;;;;Y;;;;;
+2AA3;DOUBLE NESTED LESS-THAN WITH UNDERBAR;Sm;0;ON;;;;;Y;;;;;
+2AA4;GREATER-THAN OVERLAPPING LESS-THAN;Sm;0;ON;;;;;N;;;;;
+2AA5;GREATER-THAN BESIDE LESS-THAN;Sm;0;ON;;;;;N;;;;;
+2AA6;LESS-THAN CLOSED BY CURVE;Sm;0;ON;;;;;Y;;;;;
+2AA7;GREATER-THAN CLOSED BY CURVE;Sm;0;ON;;;;;Y;;;;;
+2AA8;LESS-THAN CLOSED BY CURVE ABOVE SLANTED EQUAL;Sm;0;ON;;;;;Y;;;;;
+2AA9;GREATER-THAN CLOSED BY CURVE ABOVE SLANTED EQUAL;Sm;0;ON;;;;;Y;;;;;
+2AAA;SMALLER THAN;Sm;0;ON;;;;;Y;;;;;
+2AAB;LARGER THAN;Sm;0;ON;;;;;Y;;;;;
+2AAC;SMALLER THAN OR EQUAL TO;Sm;0;ON;;;;;Y;;;;;
+2AAD;LARGER THAN OR EQUAL TO;Sm;0;ON;;;;;Y;;;;;
+2AAE;EQUALS SIGN WITH BUMPY ABOVE;Sm;0;ON;;;;;N;;;;;
+2AAF;PRECEDES ABOVE SINGLE-LINE EQUALS SIGN;Sm;0;ON;;;;;Y;;;;;
+2AB0;SUCCEEDS ABOVE SINGLE-LINE EQUALS SIGN;Sm;0;ON;;;;;Y;;;;;
+2AB1;PRECEDES ABOVE SINGLE-LINE NOT EQUAL TO;Sm;0;ON;;;;;Y;;;;;
+2AB2;SUCCEEDS ABOVE SINGLE-LINE NOT EQUAL TO;Sm;0;ON;;;;;Y;;;;;
+2AB3;PRECEDES ABOVE EQUALS SIGN;Sm;0;ON;;;;;Y;;;;;
+2AB4;SUCCEEDS ABOVE EQUALS SIGN;Sm;0;ON;;;;;Y;;;;;
+2AB5;PRECEDES ABOVE NOT EQUAL TO;Sm;0;ON;;;;;Y;;;;;
+2AB6;SUCCEEDS ABOVE NOT EQUAL TO;Sm;0;ON;;;;;Y;;;;;
+2AB7;PRECEDES ABOVE ALMOST EQUAL TO;Sm;0;ON;;;;;Y;;;;;
+2AB8;SUCCEEDS ABOVE ALMOST EQUAL TO;Sm;0;ON;;;;;Y;;;;;
+2AB9;PRECEDES ABOVE NOT ALMOST EQUAL TO;Sm;0;ON;;;;;Y;;;;;
+2ABA;SUCCEEDS ABOVE NOT ALMOST EQUAL TO;Sm;0;ON;;;;;Y;;;;;
+2ABB;DOUBLE PRECEDES;Sm;0;ON;;;;;Y;;;;;
+2ABC;DOUBLE SUCCEEDS;Sm;0;ON;;;;;Y;;;;;
+2ABD;SUBSET WITH DOT;Sm;0;ON;;;;;Y;;;;;
+2ABE;SUPERSET WITH DOT;Sm;0;ON;;;;;Y;;;;;
+2ABF;SUBSET WITH PLUS SIGN BELOW;Sm;0;ON;;;;;Y;;;;;
+2AC0;SUPERSET WITH PLUS SIGN BELOW;Sm;0;ON;;;;;Y;;;;;
+2AC1;SUBSET WITH MULTIPLICATION SIGN BELOW;Sm;0;ON;;;;;Y;;;;;
+2AC2;SUPERSET WITH MULTIPLICATION SIGN BELOW;Sm;0;ON;;;;;Y;;;;;
+2AC3;SUBSET OF OR EQUAL TO WITH DOT ABOVE;Sm;0;ON;;;;;Y;;;;;
+2AC4;SUPERSET OF OR EQUAL TO WITH DOT ABOVE;Sm;0;ON;;;;;Y;;;;;
+2AC5;SUBSET OF ABOVE EQUALS SIGN;Sm;0;ON;;;;;Y;;;;;
+2AC6;SUPERSET OF ABOVE EQUALS SIGN;Sm;0;ON;;;;;Y;;;;;
+2AC7;SUBSET OF ABOVE TILDE OPERATOR;Sm;0;ON;;;;;Y;;;;;
+2AC8;SUPERSET OF ABOVE TILDE OPERATOR;Sm;0;ON;;;;;Y;;;;;
+2AC9;SUBSET OF ABOVE ALMOST EQUAL TO;Sm;0;ON;;;;;Y;;;;;
+2ACA;SUPERSET OF ABOVE ALMOST EQUAL TO;Sm;0;ON;;;;;Y;;;;;
+2ACB;SUBSET OF ABOVE NOT EQUAL TO;Sm;0;ON;;;;;Y;;;;;
+2ACC;SUPERSET OF ABOVE NOT EQUAL TO;Sm;0;ON;;;;;Y;;;;;
+2ACD;SQUARE LEFT OPEN BOX OPERATOR;Sm;0;ON;;;;;Y;;;;;
+2ACE;SQUARE RIGHT OPEN BOX OPERATOR;Sm;0;ON;;;;;Y;;;;;
+2ACF;CLOSED SUBSET;Sm;0;ON;;;;;Y;;;;;
+2AD0;CLOSED SUPERSET;Sm;0;ON;;;;;Y;;;;;
+2AD1;CLOSED SUBSET OR EQUAL TO;Sm;0;ON;;;;;Y;;;;;
+2AD2;CLOSED SUPERSET OR EQUAL TO;Sm;0;ON;;;;;Y;;;;;
+2AD3;SUBSET ABOVE SUPERSET;Sm;0;ON;;;;;Y;;;;;
+2AD4;SUPERSET ABOVE SUBSET;Sm;0;ON;;;;;Y;;;;;
+2AD5;SUBSET ABOVE SUBSET;Sm;0;ON;;;;;Y;;;;;
+2AD6;SUPERSET ABOVE SUPERSET;Sm;0;ON;;;;;Y;;;;;
+2AD7;SUPERSET BESIDE SUBSET;Sm;0;ON;;;;;N;;;;;
+2AD8;SUPERSET BESIDE AND JOINED BY DASH WITH SUBSET;Sm;0;ON;;;;;N;;;;;
+2AD9;ELEMENT OF OPENING DOWNWARDS;Sm;0;ON;;;;;N;;;;;
+2ADA;PITCHFORK WITH TEE TOP;Sm;0;ON;;;;;N;;;;;
+2ADB;TRANSVERSAL INTERSECTION;Sm;0;ON;;;;;N;;;;;
+2ADC;FORKING;Sm;0;ON;2ADD 0338;;;;Y;;not independent;;;
+2ADD;NONFORKING;Sm;0;ON;;;;;N;;independent;;;
+2ADE;SHORT LEFT TACK;Sm;0;ON;;;;;Y;;;;;
+2ADF;SHORT DOWN TACK;Sm;0;ON;;;;;N;;;;;
+2AE0;SHORT UP TACK;Sm;0;ON;;;;;N;;;;;
+2AE1;PERPENDICULAR WITH S;Sm;0;ON;;;;;N;;;;;
+2AE2;VERTICAL BAR TRIPLE RIGHT TURNSTILE;Sm;0;ON;;;;;Y;;;;;
+2AE3;DOUBLE VERTICAL BAR LEFT TURNSTILE;Sm;0;ON;;;;;Y;;;;;
+2AE4;VERTICAL BAR DOUBLE LEFT TURNSTILE;Sm;0;ON;;;;;Y;;;;;
+2AE5;DOUBLE VERTICAL BAR DOUBLE LEFT TURNSTILE;Sm;0;ON;;;;;Y;;;;;
+2AE6;LONG DASH FROM LEFT MEMBER OF DOUBLE VERTICAL;Sm;0;ON;;;;;Y;;;;;
+2AE7;SHORT DOWN TACK WITH OVERBAR;Sm;0;ON;;;;;N;;;;;
+2AE8;SHORT UP TACK WITH UNDERBAR;Sm;0;ON;;;;;N;;;;;
+2AE9;SHORT UP TACK ABOVE SHORT DOWN TACK;Sm;0;ON;;;;;N;;;;;
+2AEA;DOUBLE DOWN TACK;Sm;0;ON;;;;;N;;;;;
+2AEB;DOUBLE UP TACK;Sm;0;ON;;;;;N;;;;;
+2AEC;DOUBLE STROKE NOT SIGN;Sm;0;ON;;;;;Y;;;;;
+2AED;REVERSED DOUBLE STROKE NOT SIGN;Sm;0;ON;;;;;Y;;;;;
+2AEE;DOES NOT DIVIDE WITH REVERSED NEGATION SLASH;Sm;0;ON;;;;;Y;;;;;
+2AEF;VERTICAL LINE WITH CIRCLE ABOVE;Sm;0;ON;;;;;N;;;;;
+2AF0;VERTICAL LINE WITH CIRCLE BELOW;Sm;0;ON;;;;;N;;;;;
+2AF1;DOWN TACK WITH CIRCLE BELOW;Sm;0;ON;;;;;N;;;;;
+2AF2;PARALLEL WITH HORIZONTAL STROKE;Sm;0;ON;;;;;N;;;;;
+2AF3;PARALLEL WITH TILDE OPERATOR;Sm;0;ON;;;;;Y;;;;;
+2AF4;TRIPLE VERTICAL BAR BINARY RELATION;Sm;0;ON;;;;;N;;;;;
+2AF5;TRIPLE VERTICAL BAR WITH HORIZONTAL STROKE;Sm;0;ON;;;;;N;;;;;
+2AF6;TRIPLE COLON OPERATOR;Sm;0;ON;;;;;N;;;;;
+2AF7;TRIPLE NESTED LESS-THAN;Sm;0;ON;;;;;Y;;;;;
+2AF8;TRIPLE NESTED GREATER-THAN;Sm;0;ON;;;;;Y;;;;;
+2AF9;DOUBLE-LINE SLANTED LESS-THAN OR EQUAL TO;Sm;0;ON;;;;;Y;;;;;
+2AFA;DOUBLE-LINE SLANTED GREATER-THAN OR EQUAL TO;Sm;0;ON;;;;;Y;;;;;
+2AFB;TRIPLE SOLIDUS BINARY RELATION;Sm;0;ON;;;;;Y;;;;;
+2AFC;LARGE TRIPLE VERTICAL BAR OPERATOR;Sm;0;ON;;;;;N;;;;;
+2AFD;DOUBLE SOLIDUS OPERATOR;Sm;0;ON;;;;;Y;;;;;
+2AFE;WHITE VERTICAL BAR;Sm;0;ON;;;;;N;;;;;
+2AFF;N-ARY WHITE VERTICAL BAR;Sm;0;ON;;;;;N;;;;;
+2B00;NORTH EAST WHITE ARROW;So;0;ON;;;;;N;;;;;
+2B01;NORTH WEST WHITE ARROW;So;0;ON;;;;;N;;;;;
+2B02;SOUTH EAST WHITE ARROW;So;0;ON;;;;;N;;;;;
+2B03;SOUTH WEST WHITE ARROW;So;0;ON;;;;;N;;;;;
+2B04;LEFT RIGHT WHITE ARROW;So;0;ON;;;;;N;;;;;
+2B05;LEFTWARDS BLACK ARROW;So;0;ON;;;;;N;;;;;
+2B06;UPWARDS BLACK ARROW;So;0;ON;;;;;N;;;;;
+2B07;DOWNWARDS BLACK ARROW;So;0;ON;;;;;N;;;;;
+2B08;NORTH EAST BLACK ARROW;So;0;ON;;;;;N;;;;;
+2B09;NORTH WEST BLACK ARROW;So;0;ON;;;;;N;;;;;
+2B0A;SOUTH EAST BLACK ARROW;So;0;ON;;;;;N;;;;;
+2B0B;SOUTH WEST BLACK ARROW;So;0;ON;;;;;N;;;;;
+2B0C;LEFT RIGHT BLACK ARROW;So;0;ON;;;;;N;;;;;
+2B0D;UP DOWN BLACK ARROW;So;0;ON;;;;;N;;;;;
+2B0E;RIGHTWARDS ARROW WITH TIP DOWNWARDS;So;0;ON;;;;;N;;;;;
+2B0F;RIGHTWARDS ARROW WITH TIP UPWARDS;So;0;ON;;;;;N;;;;;
+2B10;LEFTWARDS ARROW WITH TIP DOWNWARDS;So;0;ON;;;;;N;;;;;
+2B11;LEFTWARDS ARROW WITH TIP UPWARDS;So;0;ON;;;;;N;;;;;
+2B12;SQUARE WITH TOP HALF BLACK;So;0;ON;;;;;N;;;;;
+2B13;SQUARE WITH BOTTOM HALF BLACK;So;0;ON;;;;;N;;;;;
+2C00;GLAGOLITIC CAPITAL LETTER AZU;Lu;0;L;;;;;N;;;;2C30;
+2C01;GLAGOLITIC CAPITAL LETTER BUKY;Lu;0;L;;;;;N;;;;2C31;
+2C02;GLAGOLITIC CAPITAL LETTER VEDE;Lu;0;L;;;;;N;;;;2C32;
+2C03;GLAGOLITIC CAPITAL LETTER GLAGOLI;Lu;0;L;;;;;N;;;;2C33;
+2C04;GLAGOLITIC CAPITAL LETTER DOBRO;Lu;0;L;;;;;N;;;;2C34;
+2C05;GLAGOLITIC CAPITAL LETTER YESTU;Lu;0;L;;;;;N;;;;2C35;
+2C06;GLAGOLITIC CAPITAL LETTER ZHIVETE;Lu;0;L;;;;;N;;;;2C36;
+2C07;GLAGOLITIC CAPITAL LETTER DZELO;Lu;0;L;;;;;N;;;;2C37;
+2C08;GLAGOLITIC CAPITAL LETTER ZEMLJA;Lu;0;L;;;;;N;;;;2C38;
+2C09;GLAGOLITIC CAPITAL LETTER IZHE;Lu;0;L;;;;;N;;;;2C39;
+2C0A;GLAGOLITIC CAPITAL LETTER INITIAL IZHE;Lu;0;L;;;;;N;;;;2C3A;
+2C0B;GLAGOLITIC CAPITAL LETTER I;Lu;0;L;;;;;N;;;;2C3B;
+2C0C;GLAGOLITIC CAPITAL LETTER DJERVI;Lu;0;L;;;;;N;;;;2C3C;
+2C0D;GLAGOLITIC CAPITAL LETTER KAKO;Lu;0;L;;;;;N;;;;2C3D;
+2C0E;GLAGOLITIC CAPITAL LETTER LJUDIJE;Lu;0;L;;;;;N;;;;2C3E;
+2C0F;GLAGOLITIC CAPITAL LETTER MYSLITE;Lu;0;L;;;;;N;;;;2C3F;
+2C10;GLAGOLITIC CAPITAL LETTER NASHI;Lu;0;L;;;;;N;;;;2C40;
+2C11;GLAGOLITIC CAPITAL LETTER ONU;Lu;0;L;;;;;N;;;;2C41;
+2C12;GLAGOLITIC CAPITAL LETTER POKOJI;Lu;0;L;;;;;N;;;;2C42;
+2C13;GLAGOLITIC CAPITAL LETTER RITSI;Lu;0;L;;;;;N;;;;2C43;
+2C14;GLAGOLITIC CAPITAL LETTER SLOVO;Lu;0;L;;;;;N;;;;2C44;
+2C15;GLAGOLITIC CAPITAL LETTER TVRIDO;Lu;0;L;;;;;N;;;;2C45;
+2C16;GLAGOLITIC CAPITAL LETTER UKU;Lu;0;L;;;;;N;;;;2C46;
+2C17;GLAGOLITIC CAPITAL LETTER FRITU;Lu;0;L;;;;;N;;;;2C47;
+2C18;GLAGOLITIC CAPITAL LETTER HERU;Lu;0;L;;;;;N;;;;2C48;
+2C19;GLAGOLITIC CAPITAL LETTER OTU;Lu;0;L;;;;;N;;;;2C49;
+2C1A;GLAGOLITIC CAPITAL LETTER PE;Lu;0;L;;;;;N;;;;2C4A;
+2C1B;GLAGOLITIC CAPITAL LETTER SHTA;Lu;0;L;;;;;N;;;;2C4B;
+2C1C;GLAGOLITIC CAPITAL LETTER TSI;Lu;0;L;;;;;N;;;;2C4C;
+2C1D;GLAGOLITIC CAPITAL LETTER CHRIVI;Lu;0;L;;;;;N;;;;2C4D;
+2C1E;GLAGOLITIC CAPITAL LETTER SHA;Lu;0;L;;;;;N;;;;2C4E;
+2C1F;GLAGOLITIC CAPITAL LETTER YERU;Lu;0;L;;;;;N;;;;2C4F;
+2C20;GLAGOLITIC CAPITAL LETTER YERI;Lu;0;L;;;;;N;;;;2C50;
+2C21;GLAGOLITIC CAPITAL LETTER YATI;Lu;0;L;;;;;N;;;;2C51;
+2C22;GLAGOLITIC CAPITAL LETTER SPIDERY HA;Lu;0;L;;;;;N;;;;2C52;
+2C23;GLAGOLITIC CAPITAL LETTER YU;Lu;0;L;;;;;N;;;;2C53;
+2C24;GLAGOLITIC CAPITAL LETTER SMALL YUS;Lu;0;L;;;;;N;;;;2C54;
+2C25;GLAGOLITIC CAPITAL LETTER SMALL YUS WITH TAIL;Lu;0;L;;;;;N;;;;2C55;
+2C26;GLAGOLITIC CAPITAL LETTER YO;Lu;0;L;;;;;N;;;;2C56;
+2C27;GLAGOLITIC CAPITAL LETTER IOTATED SMALL YUS;Lu;0;L;;;;;N;;;;2C57;
+2C28;GLAGOLITIC CAPITAL LETTER BIG YUS;Lu;0;L;;;;;N;;;;2C58;
+2C29;GLAGOLITIC CAPITAL LETTER IOTATED BIG YUS;Lu;0;L;;;;;N;;;;2C59;
+2C2A;GLAGOLITIC CAPITAL LETTER FITA;Lu;0;L;;;;;N;;;;2C5A;
+2C2B;GLAGOLITIC CAPITAL LETTER IZHITSA;Lu;0;L;;;;;N;;;;2C5B;
+2C2C;GLAGOLITIC CAPITAL LETTER SHTAPIC;Lu;0;L;;;;;N;;;;2C5C;
+2C2D;GLAGOLITIC CAPITAL LETTER TROKUTASTI A;Lu;0;L;;;;;N;;;;2C5D;
+2C2E;GLAGOLITIC CAPITAL LETTER LATINATE MYSLITE;Lu;0;L;;;;;N;;;;2C5E;
+2C30;GLAGOLITIC SMALL LETTER AZU;Ll;0;L;;;;;N;;;2C00;;2C00
+2C31;GLAGOLITIC SMALL LETTER BUKY;Ll;0;L;;;;;N;;;2C01;;2C01
+2C32;GLAGOLITIC SMALL LETTER VEDE;Ll;0;L;;;;;N;;;2C02;;2C02
+2C33;GLAGOLITIC SMALL LETTER GLAGOLI;Ll;0;L;;;;;N;;;2C03;;2C03
+2C34;GLAGOLITIC SMALL LETTER DOBRO;Ll;0;L;;;;;N;;;2C04;;2C04
+2C35;GLAGOLITIC SMALL LETTER YESTU;Ll;0;L;;;;;N;;;2C05;;2C05
+2C36;GLAGOLITIC SMALL LETTER ZHIVETE;Ll;0;L;;;;;N;;;2C06;;2C06
+2C37;GLAGOLITIC SMALL LETTER DZELO;Ll;0;L;;;;;N;;;2C07;;2C07
+2C38;GLAGOLITIC SMALL LETTER ZEMLJA;Ll;0;L;;;;;N;;;2C08;;2C08
+2C39;GLAGOLITIC SMALL LETTER IZHE;Ll;0;L;;;;;N;;;2C09;;2C09
+2C3A;GLAGOLITIC SMALL LETTER INITIAL IZHE;Ll;0;L;;;;;N;;;2C0A;;2C0A
+2C3B;GLAGOLITIC SMALL LETTER I;Ll;0;L;;;;;N;;;2C0B;;2C0B
+2C3C;GLAGOLITIC SMALL LETTER DJERVI;Ll;0;L;;;;;N;;;2C0C;;2C0C
+2C3D;GLAGOLITIC SMALL LETTER KAKO;Ll;0;L;;;;;N;;;2C0D;;2C0D
+2C3E;GLAGOLITIC SMALL LETTER LJUDIJE;Ll;0;L;;;;;N;;;2C0E;;2C0E
+2C3F;GLAGOLITIC SMALL LETTER MYSLITE;Ll;0;L;;;;;N;;;2C0F;;2C0F
+2C40;GLAGOLITIC SMALL LETTER NASHI;Ll;0;L;;;;;N;;;2C10;;2C10
+2C41;GLAGOLITIC SMALL LETTER ONU;Ll;0;L;;;;;N;;;2C11;;2C11
+2C42;GLAGOLITIC SMALL LETTER POKOJI;Ll;0;L;;;;;N;;;2C12;;2C12
+2C43;GLAGOLITIC SMALL LETTER RITSI;Ll;0;L;;;;;N;;;2C13;;2C13
+2C44;GLAGOLITIC SMALL LETTER SLOVO;Ll;0;L;;;;;N;;;2C14;;2C14
+2C45;GLAGOLITIC SMALL LETTER TVRIDO;Ll;0;L;;;;;N;;;2C15;;2C15
+2C46;GLAGOLITIC SMALL LETTER UKU;Ll;0;L;;;;;N;;;2C16;;2C16
+2C47;GLAGOLITIC SMALL LETTER FRITU;Ll;0;L;;;;;N;;;2C17;;2C17
+2C48;GLAGOLITIC SMALL LETTER HERU;Ll;0;L;;;;;N;;;2C18;;2C18
+2C49;GLAGOLITIC SMALL LETTER OTU;Ll;0;L;;;;;N;;;2C19;;2C19
+2C4A;GLAGOLITIC SMALL LETTER PE;Ll;0;L;;;;;N;;;2C1A;;2C1A
+2C4B;GLAGOLITIC SMALL LETTER SHTA;Ll;0;L;;;;;N;;;2C1B;;2C1B
+2C4C;GLAGOLITIC SMALL LETTER TSI;Ll;0;L;;;;;N;;;2C1C;;2C1C
+2C4D;GLAGOLITIC SMALL LETTER CHRIVI;Ll;0;L;;;;;N;;;2C1D;;2C1D
+2C4E;GLAGOLITIC SMALL LETTER SHA;Ll;0;L;;;;;N;;;2C1E;;2C1E
+2C4F;GLAGOLITIC SMALL LETTER YERU;Ll;0;L;;;;;N;;;2C1F;;2C1F
+2C50;GLAGOLITIC SMALL LETTER YERI;Ll;0;L;;;;;N;;;2C20;;2C20
+2C51;GLAGOLITIC SMALL LETTER YATI;Ll;0;L;;;;;N;;;2C21;;2C21
+2C52;GLAGOLITIC SMALL LETTER SPIDERY HA;Ll;0;L;;;;;N;;;2C22;;2C22
+2C53;GLAGOLITIC SMALL LETTER YU;Ll;0;L;;;;;N;;;2C23;;2C23
+2C54;GLAGOLITIC SMALL LETTER SMALL YUS;Ll;0;L;;;;;N;;;2C24;;2C24
+2C55;GLAGOLITIC SMALL LETTER SMALL YUS WITH TAIL;Ll;0;L;;;;;N;;;2C25;;2C25
+2C56;GLAGOLITIC SMALL LETTER YO;Ll;0;L;;;;;N;;;2C26;;2C26
+2C57;GLAGOLITIC SMALL LETTER IOTATED SMALL YUS;Ll;0;L;;;;;N;;;2C27;;2C27
+2C58;GLAGOLITIC SMALL LETTER BIG YUS;Ll;0;L;;;;;N;;;2C28;;2C28
+2C59;GLAGOLITIC SMALL LETTER IOTATED BIG YUS;Ll;0;L;;;;;N;;;2C29;;2C29
+2C5A;GLAGOLITIC SMALL LETTER FITA;Ll;0;L;;;;;N;;;2C2A;;2C2A
+2C5B;GLAGOLITIC SMALL LETTER IZHITSA;Ll;0;L;;;;;N;;;2C2B;;2C2B
+2C5C;GLAGOLITIC SMALL LETTER SHTAPIC;Ll;0;L;;;;;N;;;2C2C;;2C2C
+2C5D;GLAGOLITIC SMALL LETTER TROKUTASTI A;Ll;0;L;;;;;N;;;2C2D;;2C2D
+2C5E;GLAGOLITIC SMALL LETTER LATINATE MYSLITE;Ll;0;L;;;;;N;;;2C2E;;2C2E
+2C80;COPTIC CAPITAL LETTER ALFA;Lu;0;L;;;;;N;;;;2C81;
+2C81;COPTIC SMALL LETTER ALFA;Ll;0;L;;;;;N;;;2C80;;2C80
+2C82;COPTIC CAPITAL LETTER VIDA;Lu;0;L;;;;;N;;;;2C83;
+2C83;COPTIC SMALL LETTER VIDA;Ll;0;L;;;;;N;;;2C82;;2C82
+2C84;COPTIC CAPITAL LETTER GAMMA;Lu;0;L;;;;;N;;;;2C85;
+2C85;COPTIC SMALL LETTER GAMMA;Ll;0;L;;;;;N;;;2C84;;2C84
+2C86;COPTIC CAPITAL LETTER DALDA;Lu;0;L;;;;;N;;;;2C87;
+2C87;COPTIC SMALL LETTER DALDA;Ll;0;L;;;;;N;;;2C86;;2C86
+2C88;COPTIC CAPITAL LETTER EIE;Lu;0;L;;;;;N;;;;2C89;
+2C89;COPTIC SMALL LETTER EIE;Ll;0;L;;;;;N;;;2C88;;2C88
+2C8A;COPTIC CAPITAL LETTER SOU;Lu;0;L;;;;;N;;;;2C8B;
+2C8B;COPTIC SMALL LETTER SOU;Ll;0;L;;;;;N;;;2C8A;;2C8A
+2C8C;COPTIC CAPITAL LETTER ZATA;Lu;0;L;;;;;N;;;;2C8D;
+2C8D;COPTIC SMALL LETTER ZATA;Ll;0;L;;;;;N;;;2C8C;;2C8C
+2C8E;COPTIC CAPITAL LETTER HATE;Lu;0;L;;;;;N;;;;2C8F;
+2C8F;COPTIC SMALL LETTER HATE;Ll;0;L;;;;;N;;;2C8E;;2C8E
+2C90;COPTIC CAPITAL LETTER THETHE;Lu;0;L;;;;;N;;;;2C91;
+2C91;COPTIC SMALL LETTER THETHE;Ll;0;L;;;;;N;;;2C90;;2C90
+2C92;COPTIC CAPITAL LETTER IAUDA;Lu;0;L;;;;;N;;;;2C93;
+2C93;COPTIC SMALL LETTER IAUDA;Ll;0;L;;;;;N;;;2C92;;2C92
+2C94;COPTIC CAPITAL LETTER KAPA;Lu;0;L;;;;;N;;;;2C95;
+2C95;COPTIC SMALL LETTER KAPA;Ll;0;L;;;;;N;;;2C94;;2C94
+2C96;COPTIC CAPITAL LETTER LAULA;Lu;0;L;;;;;N;;;;2C97;
+2C97;COPTIC SMALL LETTER LAULA;Ll;0;L;;;;;N;;;2C96;;2C96
+2C98;COPTIC CAPITAL LETTER MI;Lu;0;L;;;;;N;;;;2C99;
+2C99;COPTIC SMALL LETTER MI;Ll;0;L;;;;;N;;;2C98;;2C98
+2C9A;COPTIC CAPITAL LETTER NI;Lu;0;L;;;;;N;;;;2C9B;
+2C9B;COPTIC SMALL LETTER NI;Ll;0;L;;;;;N;;;2C9A;;2C9A
+2C9C;COPTIC CAPITAL LETTER KSI;Lu;0;L;;;;;N;;;;2C9D;
+2C9D;COPTIC SMALL LETTER KSI;Ll;0;L;;;;;N;;;2C9C;;2C9C
+2C9E;COPTIC CAPITAL LETTER O;Lu;0;L;;;;;N;;;;2C9F;
+2C9F;COPTIC SMALL LETTER O;Ll;0;L;;;;;N;;;2C9E;;2C9E
+2CA0;COPTIC CAPITAL LETTER PI;Lu;0;L;;;;;N;;;;2CA1;
+2CA1;COPTIC SMALL LETTER PI;Ll;0;L;;;;;N;;;2CA0;;2CA0
+2CA2;COPTIC CAPITAL LETTER RO;Lu;0;L;;;;;N;;;;2CA3;
+2CA3;COPTIC SMALL LETTER RO;Ll;0;L;;;;;N;;;2CA2;;2CA2
+2CA4;COPTIC CAPITAL LETTER SIMA;Lu;0;L;;;;;N;;;;2CA5;
+2CA5;COPTIC SMALL LETTER SIMA;Ll;0;L;;;;;N;;;2CA4;;2CA4
+2CA6;COPTIC CAPITAL LETTER TAU;Lu;0;L;;;;;N;;;;2CA7;
+2CA7;COPTIC SMALL LETTER TAU;Ll;0;L;;;;;N;;;2CA6;;2CA6
+2CA8;COPTIC CAPITAL LETTER UA;Lu;0;L;;;;;N;;;;2CA9;
+2CA9;COPTIC SMALL LETTER UA;Ll;0;L;;;;;N;;;2CA8;;2CA8
+2CAA;COPTIC CAPITAL LETTER FI;Lu;0;L;;;;;N;;;;2CAB;
+2CAB;COPTIC SMALL LETTER FI;Ll;0;L;;;;;N;;;2CAA;;2CAA
+2CAC;COPTIC CAPITAL LETTER KHI;Lu;0;L;;;;;N;;;;2CAD;
+2CAD;COPTIC SMALL LETTER KHI;Ll;0;L;;;;;N;;;2CAC;;2CAC
+2CAE;COPTIC CAPITAL LETTER PSI;Lu;0;L;;;;;N;;;;2CAF;
+2CAF;COPTIC SMALL LETTER PSI;Ll;0;L;;;;;N;;;2CAE;;2CAE
+2CB0;COPTIC CAPITAL LETTER OOU;Lu;0;L;;;;;N;;;;2CB1;
+2CB1;COPTIC SMALL LETTER OOU;Ll;0;L;;;;;N;;;2CB0;;2CB0
+2CB2;COPTIC CAPITAL LETTER DIALECT-P ALEF;Lu;0;L;;;;;N;;;;2CB3;
+2CB3;COPTIC SMALL LETTER DIALECT-P ALEF;Ll;0;L;;;;;N;;;2CB2;;2CB2
+2CB4;COPTIC CAPITAL LETTER OLD COPTIC AIN;Lu;0;L;;;;;N;;;;2CB5;
+2CB5;COPTIC SMALL LETTER OLD COPTIC AIN;Ll;0;L;;;;;N;;;2CB4;;2CB4
+2CB6;COPTIC CAPITAL LETTER CRYPTOGRAMMIC EIE;Lu;0;L;;;;;N;;;;2CB7;
+2CB7;COPTIC SMALL LETTER CRYPTOGRAMMIC EIE;Ll;0;L;;;;;N;;;2CB6;;2CB6
+2CB8;COPTIC CAPITAL LETTER DIALECT-P KAPA;Lu;0;L;;;;;N;;;;2CB9;
+2CB9;COPTIC SMALL LETTER DIALECT-P KAPA;Ll;0;L;;;;;N;;;2CB8;;2CB8
+2CBA;COPTIC CAPITAL LETTER DIALECT-P NI;Lu;0;L;;;;;N;;;;2CBB;
+2CBB;COPTIC SMALL LETTER DIALECT-P NI;Ll;0;L;;;;;N;;;2CBA;;2CBA
+2CBC;COPTIC CAPITAL LETTER CRYPTOGRAMMIC NI;Lu;0;L;;;;;N;;;;2CBD;
+2CBD;COPTIC SMALL LETTER CRYPTOGRAMMIC NI;Ll;0;L;;;;;N;;;2CBC;;2CBC
+2CBE;COPTIC CAPITAL LETTER OLD COPTIC OOU;Lu;0;L;;;;;N;;;;2CBF;
+2CBF;COPTIC SMALL LETTER OLD COPTIC OOU;Ll;0;L;;;;;N;;;2CBE;;2CBE
+2CC0;COPTIC CAPITAL LETTER SAMPI;Lu;0;L;;;;;N;;;;2CC1;
+2CC1;COPTIC SMALL LETTER SAMPI;Ll;0;L;;;;;N;;;2CC0;;2CC0
+2CC2;COPTIC CAPITAL LETTER CROSSED SHEI;Lu;0;L;;;;;N;;;;2CC3;
+2CC3;COPTIC SMALL LETTER CROSSED SHEI;Ll;0;L;;;;;N;;;2CC2;;2CC2
+2CC4;COPTIC CAPITAL LETTER OLD COPTIC SHEI;Lu;0;L;;;;;N;;;;2CC5;
+2CC5;COPTIC SMALL LETTER OLD COPTIC SHEI;Ll;0;L;;;;;N;;;2CC4;;2CC4
+2CC6;COPTIC CAPITAL LETTER OLD COPTIC ESH;Lu;0;L;;;;;N;;;;2CC7;
+2CC7;COPTIC SMALL LETTER OLD COPTIC ESH;Ll;0;L;;;;;N;;;2CC6;;2CC6
+2CC8;COPTIC CAPITAL LETTER AKHMIMIC KHEI;Lu;0;L;;;;;N;;;;2CC9;
+2CC9;COPTIC SMALL LETTER AKHMIMIC KHEI;Ll;0;L;;;;;N;;;2CC8;;2CC8
+2CCA;COPTIC CAPITAL LETTER DIALECT-P HORI;Lu;0;L;;;;;N;;;;2CCB;
+2CCB;COPTIC SMALL LETTER DIALECT-P HORI;Ll;0;L;;;;;N;;;2CCA;;2CCA
+2CCC;COPTIC CAPITAL LETTER OLD COPTIC HORI;Lu;0;L;;;;;N;;;;2CCD;
+2CCD;COPTIC SMALL LETTER OLD COPTIC HORI;Ll;0;L;;;;;N;;;2CCC;;2CCC
+2CCE;COPTIC CAPITAL LETTER OLD COPTIC HA;Lu;0;L;;;;;N;;;;2CCF;
+2CCF;COPTIC SMALL LETTER OLD COPTIC HA;Ll;0;L;;;;;N;;;2CCE;;2CCE
+2CD0;COPTIC CAPITAL LETTER L-SHAPED HA;Lu;0;L;;;;;N;;;;2CD1;
+2CD1;COPTIC SMALL LETTER L-SHAPED HA;Ll;0;L;;;;;N;;;2CD0;;2CD0
+2CD2;COPTIC CAPITAL LETTER OLD COPTIC HEI;Lu;0;L;;;;;N;;;;2CD3;
+2CD3;COPTIC SMALL LETTER OLD COPTIC HEI;Ll;0;L;;;;;N;;;2CD2;;2CD2
+2CD4;COPTIC CAPITAL LETTER OLD COPTIC HAT;Lu;0;L;;;;;N;;;;2CD5;
+2CD5;COPTIC SMALL LETTER OLD COPTIC HAT;Ll;0;L;;;;;N;;;2CD4;;2CD4
+2CD6;COPTIC CAPITAL LETTER OLD COPTIC GANGIA;Lu;0;L;;;;;N;;;;2CD7;
+2CD7;COPTIC SMALL LETTER OLD COPTIC GANGIA;Ll;0;L;;;;;N;;;2CD6;;2CD6
+2CD8;COPTIC CAPITAL LETTER OLD COPTIC DJA;Lu;0;L;;;;;N;;;;2CD9;
+2CD9;COPTIC SMALL LETTER OLD COPTIC DJA;Ll;0;L;;;;;N;;;2CD8;;2CD8
+2CDA;COPTIC CAPITAL LETTER OLD COPTIC SHIMA;Lu;0;L;;;;;N;;;;2CDB;
+2CDB;COPTIC SMALL LETTER OLD COPTIC SHIMA;Ll;0;L;;;;;N;;;2CDA;;2CDA
+2CDC;COPTIC CAPITAL LETTER OLD NUBIAN SHIMA;Lu;0;L;;;;;N;;;;2CDD;
+2CDD;COPTIC SMALL LETTER OLD NUBIAN SHIMA;Ll;0;L;;;;;N;;;2CDC;;2CDC
+2CDE;COPTIC CAPITAL LETTER OLD NUBIAN NGI;Lu;0;L;;;;;N;;;;2CDF;
+2CDF;COPTIC SMALL LETTER OLD NUBIAN NGI;Ll;0;L;;;;;N;;;2CDE;;2CDE
+2CE0;COPTIC CAPITAL LETTER OLD NUBIAN NYI;Lu;0;L;;;;;N;;;;2CE1;
+2CE1;COPTIC SMALL LETTER OLD NUBIAN NYI;Ll;0;L;;;;;N;;;2CE0;;2CE0
+2CE2;COPTIC CAPITAL LETTER OLD NUBIAN WAU;Lu;0;L;;;;;N;;;;2CE3;
+2CE3;COPTIC SMALL LETTER OLD NUBIAN WAU;Ll;0;L;;;;;N;;;2CE2;;2CE2
+2CE4;COPTIC SYMBOL KAI;Ll;0;L;;;;;N;;;;;
+2CE5;COPTIC SYMBOL MI RO;So;0;ON;;;;;N;;;;;
+2CE6;COPTIC SYMBOL PI RO;So;0;ON;;;;;N;;;;;
+2CE7;COPTIC SYMBOL STAUROS;So;0;ON;;;;;N;;;;;
+2CE8;COPTIC SYMBOL TAU RO;So;0;ON;;;;;N;;;;;
+2CE9;COPTIC SYMBOL KHI RO;So;0;ON;;;;;N;;;;;
+2CEA;COPTIC SYMBOL SHIMA SIMA;So;0;ON;;;;;N;;;;;
+2CF9;COPTIC OLD NUBIAN FULL STOP;Po;0;ON;;;;;N;;;;;
+2CFA;COPTIC OLD NUBIAN DIRECT QUESTION MARK;Po;0;ON;;;;;N;;;;;
+2CFB;COPTIC OLD NUBIAN INDIRECT QUESTION MARK;Po;0;ON;;;;;N;;;;;
+2CFC;COPTIC OLD NUBIAN VERSE DIVIDER;Po;0;ON;;;;;N;;;;;
+2CFD;COPTIC FRACTION ONE HALF;No;0;ON;;;;1/2;N;;;;;
+2CFE;COPTIC FULL STOP;Po;0;ON;;;;;N;;;;;
+2CFF;COPTIC MORPHOLOGICAL DIVIDER;Po;0;ON;;;;;N;;;;;
+2D00;GEORGIAN SMALL LETTER AN;Ll;0;L;;;;;N;;Khutsuri;10A0;;10A0
+2D01;GEORGIAN SMALL LETTER BAN;Ll;0;L;;;;;N;;Khutsuri;10A1;;10A1
+2D02;GEORGIAN SMALL LETTER GAN;Ll;0;L;;;;;N;;Khutsuri;10A2;;10A2
+2D03;GEORGIAN SMALL LETTER DON;Ll;0;L;;;;;N;;Khutsuri;10A3;;10A3
+2D04;GEORGIAN SMALL LETTER EN;Ll;0;L;;;;;N;;Khutsuri;10A4;;10A4
+2D05;GEORGIAN SMALL LETTER VIN;Ll;0;L;;;;;N;;Khutsuri;10A5;;10A5
+2D06;GEORGIAN SMALL LETTER ZEN;Ll;0;L;;;;;N;;Khutsuri;10A6;;10A6
+2D07;GEORGIAN SMALL LETTER TAN;Ll;0;L;;;;;N;;Khutsuri;10A7;;10A7
+2D08;GEORGIAN SMALL LETTER IN;Ll;0;L;;;;;N;;Khutsuri;10A8;;10A8
+2D09;GEORGIAN SMALL LETTER KAN;Ll;0;L;;;;;N;;Khutsuri;10A9;;10A9
+2D0A;GEORGIAN SMALL LETTER LAS;Ll;0;L;;;;;N;;Khutsuri;10AA;;10AA
+2D0B;GEORGIAN SMALL LETTER MAN;Ll;0;L;;;;;N;;Khutsuri;10AB;;10AB
+2D0C;GEORGIAN SMALL LETTER NAR;Ll;0;L;;;;;N;;Khutsuri;10AC;;10AC
+2D0D;GEORGIAN SMALL LETTER ON;Ll;0;L;;;;;N;;Khutsuri;10AD;;10AD
+2D0E;GEORGIAN SMALL LETTER PAR;Ll;0;L;;;;;N;;Khutsuri;10AE;;10AE
+2D0F;GEORGIAN SMALL LETTER ZHAR;Ll;0;L;;;;;N;;Khutsuri;10AF;;10AF
+2D10;GEORGIAN SMALL LETTER RAE;Ll;0;L;;;;;N;;Khutsuri;10B0;;10B0
+2D11;GEORGIAN SMALL LETTER SAN;Ll;0;L;;;;;N;;Khutsuri;10B1;;10B1
+2D12;GEORGIAN SMALL LETTER TAR;Ll;0;L;;;;;N;;Khutsuri;10B2;;10B2
+2D13;GEORGIAN SMALL LETTER UN;Ll;0;L;;;;;N;;Khutsuri;10B3;;10B3
+2D14;GEORGIAN SMALL LETTER PHAR;Ll;0;L;;;;;N;;Khutsuri;10B4;;10B4
+2D15;GEORGIAN SMALL LETTER KHAR;Ll;0;L;;;;;N;;Khutsuri;10B5;;10B5
+2D16;GEORGIAN SMALL LETTER GHAN;Ll;0;L;;;;;N;;Khutsuri;10B6;;10B6
+2D17;GEORGIAN SMALL LETTER QAR;Ll;0;L;;;;;N;;Khutsuri;10B7;;10B7
+2D18;GEORGIAN SMALL LETTER SHIN;Ll;0;L;;;;;N;;Khutsuri;10B8;;10B8
+2D19;GEORGIAN SMALL LETTER CHIN;Ll;0;L;;;;;N;;Khutsuri;10B9;;10B9
+2D1A;GEORGIAN SMALL LETTER CAN;Ll;0;L;;;;;N;;Khutsuri;10BA;;10BA
+2D1B;GEORGIAN SMALL LETTER JIL;Ll;0;L;;;;;N;;Khutsuri;10BB;;10BB
+2D1C;GEORGIAN SMALL LETTER CIL;Ll;0;L;;;;;N;;Khutsuri;10BC;;10BC
+2D1D;GEORGIAN SMALL LETTER CHAR;Ll;0;L;;;;;N;;Khutsuri;10BD;;10BD
+2D1E;GEORGIAN SMALL LETTER XAN;Ll;0;L;;;;;N;;Khutsuri;10BE;;10BE
+2D1F;GEORGIAN SMALL LETTER JHAN;Ll;0;L;;;;;N;;Khutsuri;10BF;;10BF
+2D20;GEORGIAN SMALL LETTER HAE;Ll;0;L;;;;;N;;Khutsuri;10C0;;10C0
+2D21;GEORGIAN SMALL LETTER HE;Ll;0;L;;;;;N;;Khutsuri;10C1;;10C1
+2D22;GEORGIAN SMALL LETTER HIE;Ll;0;L;;;;;N;;Khutsuri;10C2;;10C2
+2D23;GEORGIAN SMALL LETTER WE;Ll;0;L;;;;;N;;Khutsuri;10C3;;10C3
+2D24;GEORGIAN SMALL LETTER HAR;Ll;0;L;;;;;N;;Khutsuri;10C4;;10C4
+2D25;GEORGIAN SMALL LETTER HOE;Ll;0;L;;;;;N;;Khutsuri;10C5;;10C5
+2D30;TIFINAGH LETTER YA;Lo;0;L;;;;;N;;;;;
+2D31;TIFINAGH LETTER YAB;Lo;0;L;;;;;N;;;;;
+2D32;TIFINAGH LETTER YABH;Lo;0;L;;;;;N;;;;;
+2D33;TIFINAGH LETTER YAG;Lo;0;L;;;;;N;;;;;
+2D34;TIFINAGH LETTER YAGHH;Lo;0;L;;;;;N;;;;;
+2D35;TIFINAGH LETTER BERBER ACADEMY YAJ;Lo;0;L;;;;;N;;;;;
+2D36;TIFINAGH LETTER YAJ;Lo;0;L;;;;;N;;;;;
+2D37;TIFINAGH LETTER YAD;Lo;0;L;;;;;N;;;;;
+2D38;TIFINAGH LETTER YADH;Lo;0;L;;;;;N;;;;;
+2D39;TIFINAGH LETTER YADD;Lo;0;L;;;;;N;;;;;
+2D3A;TIFINAGH LETTER YADDH;Lo;0;L;;;;;N;;;;;
+2D3B;TIFINAGH LETTER YEY;Lo;0;L;;;;;N;;;;;
+2D3C;TIFINAGH LETTER YAF;Lo;0;L;;;;;N;;;;;
+2D3D;TIFINAGH LETTER YAK;Lo;0;L;;;;;N;;;;;
+2D3E;TIFINAGH LETTER TUAREG YAK;Lo;0;L;;;;;N;;;;;
+2D3F;TIFINAGH LETTER YAKHH;Lo;0;L;;;;;N;;;;;
+2D40;TIFINAGH LETTER YAH;Lo;0;L;;;;;N;;Tuareg yab;;;
+2D41;TIFINAGH LETTER BERBER ACADEMY YAH;Lo;0;L;;;;;N;;;;;
+2D42;TIFINAGH LETTER TUAREG YAH;Lo;0;L;;;;;N;;;;;
+2D43;TIFINAGH LETTER YAHH;Lo;0;L;;;;;N;;;;;
+2D44;TIFINAGH LETTER YAA;Lo;0;L;;;;;N;;;;;
+2D45;TIFINAGH LETTER YAKH;Lo;0;L;;;;;N;;;;;
+2D46;TIFINAGH LETTER TUAREG YAKH;Lo;0;L;;;;;N;;;;;
+2D47;TIFINAGH LETTER YAQ;Lo;0;L;;;;;N;;;;;
+2D48;TIFINAGH LETTER TUAREG YAQ;Lo;0;L;;;;;N;;;;;
+2D49;TIFINAGH LETTER YI;Lo;0;L;;;;;N;;;;;
+2D4A;TIFINAGH LETTER YAZH;Lo;0;L;;;;;N;;;;;
+2D4B;TIFINAGH LETTER AHAGGAR YAZH;Lo;0;L;;;;;N;;;;;
+2D4C;TIFINAGH LETTER TUAREG YAZH;Lo;0;L;;;;;N;;;;;
+2D4D;TIFINAGH LETTER YAL;Lo;0;L;;;;;N;;;;;
+2D4E;TIFINAGH LETTER YAM;Lo;0;L;;;;;N;;;;;
+2D4F;TIFINAGH LETTER YAN;Lo;0;L;;;;;N;;;;;
+2D50;TIFINAGH LETTER TUAREG YAGN;Lo;0;L;;;;;N;;;;;
+2D51;TIFINAGH LETTER TUAREG YANG;Lo;0;L;;;;;N;;;;;
+2D52;TIFINAGH LETTER YAP;Lo;0;L;;;;;N;;;;;
+2D53;TIFINAGH LETTER YU;Lo;0;L;;;;;N;;Tuareg yaw;;;
+2D54;TIFINAGH LETTER YAR;Lo;0;L;;;;;N;;;;;
+2D55;TIFINAGH LETTER YARR;Lo;0;L;;;;;N;;;;;
+2D56;TIFINAGH LETTER YAGH;Lo;0;L;;;;;N;;;;;
+2D57;TIFINAGH LETTER TUAREG YAGH;Lo;0;L;;;;;N;;;;;
+2D58;TIFINAGH LETTER AYER YAGH;Lo;0;L;;;;;N;;Adrar yaj;;;
+2D59;TIFINAGH LETTER YAS;Lo;0;L;;;;;N;;;;;
+2D5A;TIFINAGH LETTER YASS;Lo;0;L;;;;;N;;;;;
+2D5B;TIFINAGH LETTER YASH;Lo;0;L;;;;;N;;;;;
+2D5C;TIFINAGH LETTER YAT;Lo;0;L;;;;;N;;;;;
+2D5D;TIFINAGH LETTER YATH;Lo;0;L;;;;;N;;;;;
+2D5E;TIFINAGH LETTER YACH;Lo;0;L;;;;;N;;;;;
+2D5F;TIFINAGH LETTER YATT;Lo;0;L;;;;;N;;;;;
+2D60;TIFINAGH LETTER YAV;Lo;0;L;;;;;N;;;;;
+2D61;TIFINAGH LETTER YAW;Lo;0;L;;;;;N;;;;;
+2D62;TIFINAGH LETTER YAY;Lo;0;L;;;;;N;;;;;
+2D63;TIFINAGH LETTER YAZ;Lo;0;L;;;;;N;;;;;
+2D64;TIFINAGH LETTER TAWELLEMET YAZ;Lo;0;L;;;;;N;;harpoon yaz;;;
+2D65;TIFINAGH LETTER YAZZ;Lo;0;L;;;;;N;;;;;
+2D6F;TIFINAGH MODIFIER LETTER LABIALIZATION MARK;Lm;0;L;<super> 2D61;;;;N;;tamatart;;;
+2D80;ETHIOPIC SYLLABLE LOA;Lo;0;L;;;;;N;;;;;
+2D81;ETHIOPIC SYLLABLE MOA;Lo;0;L;;;;;N;;;;;
+2D82;ETHIOPIC SYLLABLE ROA;Lo;0;L;;;;;N;;;;;
+2D83;ETHIOPIC SYLLABLE SOA;Lo;0;L;;;;;N;;;;;
+2D84;ETHIOPIC SYLLABLE SHOA;Lo;0;L;;;;;N;;;;;
+2D85;ETHIOPIC SYLLABLE BOA;Lo;0;L;;;;;N;;;;;
+2D86;ETHIOPIC SYLLABLE TOA;Lo;0;L;;;;;N;;;;;
+2D87;ETHIOPIC SYLLABLE COA;Lo;0;L;;;;;N;;;;;
+2D88;ETHIOPIC SYLLABLE NOA;Lo;0;L;;;;;N;;;;;
+2D89;ETHIOPIC SYLLABLE NYOA;Lo;0;L;;;;;N;;;;;
+2D8A;ETHIOPIC SYLLABLE GLOTTAL OA;Lo;0;L;;;;;N;;;;;
+2D8B;ETHIOPIC SYLLABLE ZOA;Lo;0;L;;;;;N;;;;;
+2D8C;ETHIOPIC SYLLABLE DOA;Lo;0;L;;;;;N;;;;;
+2D8D;ETHIOPIC SYLLABLE DDOA;Lo;0;L;;;;;N;;;;;
+2D8E;ETHIOPIC SYLLABLE JOA;Lo;0;L;;;;;N;;;;;
+2D8F;ETHIOPIC SYLLABLE THOA;Lo;0;L;;;;;N;;;;;
+2D90;ETHIOPIC SYLLABLE CHOA;Lo;0;L;;;;;N;;;;;
+2D91;ETHIOPIC SYLLABLE PHOA;Lo;0;L;;;;;N;;;;;
+2D92;ETHIOPIC SYLLABLE POA;Lo;0;L;;;;;N;;;;;
+2D93;ETHIOPIC SYLLABLE GGWA;Lo;0;L;;;;;N;;;;;
+2D94;ETHIOPIC SYLLABLE GGWI;Lo;0;L;;;;;N;;;;;
+2D95;ETHIOPIC SYLLABLE GGWEE;Lo;0;L;;;;;N;;;;;
+2D96;ETHIOPIC SYLLABLE GGWE;Lo;0;L;;;;;N;;;;;
+2DA0;ETHIOPIC SYLLABLE SSA;Lo;0;L;;;;;N;;;;;
+2DA1;ETHIOPIC SYLLABLE SSU;Lo;0;L;;;;;N;;;;;
+2DA2;ETHIOPIC SYLLABLE SSI;Lo;0;L;;;;;N;;;;;
+2DA3;ETHIOPIC SYLLABLE SSAA;Lo;0;L;;;;;N;;;;;
+2DA4;ETHIOPIC SYLLABLE SSEE;Lo;0;L;;;;;N;;;;;
+2DA5;ETHIOPIC SYLLABLE SSE;Lo;0;L;;;;;N;;;;;
+2DA6;ETHIOPIC SYLLABLE SSO;Lo;0;L;;;;;N;;;;;
+2DA8;ETHIOPIC SYLLABLE CCA;Lo;0;L;;;;;N;;;;;
+2DA9;ETHIOPIC SYLLABLE CCU;Lo;0;L;;;;;N;;;;;
+2DAA;ETHIOPIC SYLLABLE CCI;Lo;0;L;;;;;N;;;;;
+2DAB;ETHIOPIC SYLLABLE CCAA;Lo;0;L;;;;;N;;;;;
+2DAC;ETHIOPIC SYLLABLE CCEE;Lo;0;L;;;;;N;;;;;
+2DAD;ETHIOPIC SYLLABLE CCE;Lo;0;L;;;;;N;;;;;
+2DAE;ETHIOPIC SYLLABLE CCO;Lo;0;L;;;;;N;;;;;
+2DB0;ETHIOPIC SYLLABLE ZZA;Lo;0;L;;;;;N;;;;;
+2DB1;ETHIOPIC SYLLABLE ZZU;Lo;0;L;;;;;N;;;;;
+2DB2;ETHIOPIC SYLLABLE ZZI;Lo;0;L;;;;;N;;;;;
+2DB3;ETHIOPIC SYLLABLE ZZAA;Lo;0;L;;;;;N;;;;;
+2DB4;ETHIOPIC SYLLABLE ZZEE;Lo;0;L;;;;;N;;;;;
+2DB5;ETHIOPIC SYLLABLE ZZE;Lo;0;L;;;;;N;;;;;
+2DB6;ETHIOPIC SYLLABLE ZZO;Lo;0;L;;;;;N;;;;;
+2DB8;ETHIOPIC SYLLABLE CCHA;Lo;0;L;;;;;N;;;;;
+2DB9;ETHIOPIC SYLLABLE CCHU;Lo;0;L;;;;;N;;;;;
+2DBA;ETHIOPIC SYLLABLE CCHI;Lo;0;L;;;;;N;;;;;
+2DBB;ETHIOPIC SYLLABLE CCHAA;Lo;0;L;;;;;N;;;;;
+2DBC;ETHIOPIC SYLLABLE CCHEE;Lo;0;L;;;;;N;;;;;
+2DBD;ETHIOPIC SYLLABLE CCHE;Lo;0;L;;;;;N;;;;;
+2DBE;ETHIOPIC SYLLABLE CCHO;Lo;0;L;;;;;N;;;;;
+2DC0;ETHIOPIC SYLLABLE QYA;Lo;0;L;;;;;N;;;;;
+2DC1;ETHIOPIC SYLLABLE QYU;Lo;0;L;;;;;N;;;;;
+2DC2;ETHIOPIC SYLLABLE QYI;Lo;0;L;;;;;N;;;;;
+2DC3;ETHIOPIC SYLLABLE QYAA;Lo;0;L;;;;;N;;;;;
+2DC4;ETHIOPIC SYLLABLE QYEE;Lo;0;L;;;;;N;;;;;
+2DC5;ETHIOPIC SYLLABLE QYE;Lo;0;L;;;;;N;;;;;
+2DC6;ETHIOPIC SYLLABLE QYO;Lo;0;L;;;;;N;;;;;
+2DC8;ETHIOPIC SYLLABLE KYA;Lo;0;L;;;;;N;;;;;
+2DC9;ETHIOPIC SYLLABLE KYU;Lo;0;L;;;;;N;;;;;
+2DCA;ETHIOPIC SYLLABLE KYI;Lo;0;L;;;;;N;;;;;
+2DCB;ETHIOPIC SYLLABLE KYAA;Lo;0;L;;;;;N;;;;;
+2DCC;ETHIOPIC SYLLABLE KYEE;Lo;0;L;;;;;N;;;;;
+2DCD;ETHIOPIC SYLLABLE KYE;Lo;0;L;;;;;N;;;;;
+2DCE;ETHIOPIC SYLLABLE KYO;Lo;0;L;;;;;N;;;;;
+2DD0;ETHIOPIC SYLLABLE XYA;Lo;0;L;;;;;N;;;;;
+2DD1;ETHIOPIC SYLLABLE XYU;Lo;0;L;;;;;N;;;;;
+2DD2;ETHIOPIC SYLLABLE XYI;Lo;0;L;;;;;N;;;;;
+2DD3;ETHIOPIC SYLLABLE XYAA;Lo;0;L;;;;;N;;;;;
+2DD4;ETHIOPIC SYLLABLE XYEE;Lo;0;L;;;;;N;;;;;
+2DD5;ETHIOPIC SYLLABLE XYE;Lo;0;L;;;;;N;;;;;
+2DD6;ETHIOPIC SYLLABLE XYO;Lo;0;L;;;;;N;;;;;
+2DD8;ETHIOPIC SYLLABLE GYA;Lo;0;L;;;;;N;;;;;
+2DD9;ETHIOPIC SYLLABLE GYU;Lo;0;L;;;;;N;;;;;
+2DDA;ETHIOPIC SYLLABLE GYI;Lo;0;L;;;;;N;;;;;
+2DDB;ETHIOPIC SYLLABLE GYAA;Lo;0;L;;;;;N;;;;;
+2DDC;ETHIOPIC SYLLABLE GYEE;Lo;0;L;;;;;N;;;;;
+2DDD;ETHIOPIC SYLLABLE GYE;Lo;0;L;;;;;N;;;;;
+2DDE;ETHIOPIC SYLLABLE GYO;Lo;0;L;;;;;N;;;;;
+2E00;RIGHT ANGLE SUBSTITUTION MARKER;Po;0;ON;;;;;N;;;;;
+2E01;RIGHT ANGLE DOTTED SUBSTITUTION MARKER;Po;0;ON;;;;;N;;;;;
+2E02;LEFT SUBSTITUTION BRACKET;Pi;0;ON;;;;;Y;;;;;
+2E03;RIGHT SUBSTITUTION BRACKET;Pf;0;ON;;;;;Y;;;;;
+2E04;LEFT DOTTED SUBSTITUTION BRACKET;Pi;0;ON;;;;;Y;;;;;
+2E05;RIGHT DOTTED SUBSTITUTION BRACKET;Pf;0;ON;;;;;Y;;;;;
+2E06;RAISED INTERPOLATION MARKER;Po;0;ON;;;;;N;;;;;
+2E07;RAISED DOTTED INTERPOLATION MARKER;Po;0;ON;;;;;N;;;;;
+2E08;DOTTED TRANSPOSITION MARKER;Po;0;ON;;;;;N;;;;;
+2E09;LEFT TRANSPOSITION BRACKET;Pi;0;ON;;;;;Y;;;;;
+2E0A;RIGHT TRANSPOSITION BRACKET;Pf;0;ON;;;;;Y;;;;;
+2E0B;RAISED SQUARE;Po;0;ON;;;;;N;;;;;
+2E0C;LEFT RAISED OMISSION BRACKET;Pi;0;ON;;;;;Y;;;;;
+2E0D;RIGHT RAISED OMISSION BRACKET;Pf;0;ON;;;;;Y;;;;;
+2E0E;EDITORIAL CORONIS;Po;0;ON;;;;;N;;;;;
+2E0F;PARAGRAPHOS;Po;0;ON;;;;;N;;;;;
+2E10;FORKED PARAGRAPHOS;Po;0;ON;;;;;N;;;;;
+2E11;REVERSED FORKED PARAGRAPHOS;Po;0;ON;;;;;N;;;;;
+2E12;HYPODIASTOLE;Po;0;ON;;;;;N;;;;;
+2E13;DOTTED OBELOS;Po;0;ON;;;;;N;;;;;
+2E14;DOWNWARDS ANCORA;Po;0;ON;;;;;N;;;;;
+2E15;UPWARDS ANCORA;Po;0;ON;;;;;N;;;;;
+2E16;DOTTED RIGHT-POINTING ANGLE;Po;0;ON;;;;;N;;;;;
+2E17;DOUBLE OBLIQUE HYPHEN;Pd;0;ON;;;;;N;;;;;
+2E1C;LEFT LOW PARAPHRASE BRACKET;Pi;0;ON;;;;;Y;;;;;
+2E1D;RIGHT LOW PARAPHRASE BRACKET;Pf;0;ON;;;;;Y;;;;;
+2E80;CJK RADICAL REPEAT;So;0;ON;;;;;N;;;;;
+2E81;CJK RADICAL CLIFF;So;0;ON;;;;;N;;;;;
+2E82;CJK RADICAL SECOND ONE;So;0;ON;;;;;N;;;;;
+2E83;CJK RADICAL SECOND TWO;So;0;ON;;;;;N;;;;;
+2E84;CJK RADICAL SECOND THREE;So;0;ON;;;;;N;;;;;
+2E85;CJK RADICAL PERSON;So;0;ON;;;;;N;;;;;
+2E86;CJK RADICAL BOX;So;0;ON;;;;;N;;;;;
+2E87;CJK RADICAL TABLE;So;0;ON;;;;;N;;;;;
+2E88;CJK RADICAL KNIFE ONE;So;0;ON;;;;;N;;;;;
+2E89;CJK RADICAL KNIFE TWO;So;0;ON;;;;;N;;;;;
+2E8A;CJK RADICAL DIVINATION;So;0;ON;;;;;N;;;;;
+2E8B;CJK RADICAL SEAL;So;0;ON;;;;;N;;;;;
+2E8C;CJK RADICAL SMALL ONE;So;0;ON;;;;;N;;;;;
+2E8D;CJK RADICAL SMALL TWO;So;0;ON;;;;;N;;;;;
+2E8E;CJK RADICAL LAME ONE;So;0;ON;;;;;N;;;;;
+2E8F;CJK RADICAL LAME TWO;So;0;ON;;;;;N;;;;;
+2E90;CJK RADICAL LAME THREE;So;0;ON;;;;;N;;;;;
+2E91;CJK RADICAL LAME FOUR;So;0;ON;;;;;N;;;;;
+2E92;CJK RADICAL SNAKE;So;0;ON;;;;;N;;;;;
+2E93;CJK RADICAL THREAD;So;0;ON;;;;;N;;;;;
+2E94;CJK RADICAL SNOUT ONE;So;0;ON;;;;;N;;;;;
+2E95;CJK RADICAL SNOUT TWO;So;0;ON;;;;;N;;;;;
+2E96;CJK RADICAL HEART ONE;So;0;ON;;;;;N;;;;;
+2E97;CJK RADICAL HEART TWO;So;0;ON;;;;;N;;;;;
+2E98;CJK RADICAL HAND;So;0;ON;;;;;N;;;;;
+2E99;CJK RADICAL RAP;So;0;ON;;;;;N;;;;;
+2E9B;CJK RADICAL CHOKE;So;0;ON;;;;;N;;;;;
+2E9C;CJK RADICAL SUN;So;0;ON;;;;;N;;;;;
+2E9D;CJK RADICAL MOON;So;0;ON;;;;;N;;;;;
+2E9E;CJK RADICAL DEATH;So;0;ON;;;;;N;;;;;
+2E9F;CJK RADICAL MOTHER;So;0;ON;<compat> 6BCD;;;;N;;;;;
+2EA0;CJK RADICAL CIVILIAN;So;0;ON;;;;;N;;;;;
+2EA1;CJK RADICAL WATER ONE;So;0;ON;;;;;N;;;;;
+2EA2;CJK RADICAL WATER TWO;So;0;ON;;;;;N;;;;;
+2EA3;CJK RADICAL FIRE;So;0;ON;;;;;N;;;;;
+2EA4;CJK RADICAL PAW ONE;So;0;ON;;;;;N;;;;;
+2EA5;CJK RADICAL PAW TWO;So;0;ON;;;;;N;;;;;
+2EA6;CJK RADICAL SIMPLIFIED HALF TREE TRUNK;So;0;ON;;;;;N;;;;;
+2EA7;CJK RADICAL COW;So;0;ON;;;;;N;;;;;
+2EA8;CJK RADICAL DOG;So;0;ON;;;;;N;;;;;
+2EA9;CJK RADICAL JADE;So;0;ON;;;;;N;;;;;
+2EAA;CJK RADICAL BOLT OF CLOTH;So;0;ON;;;;;N;;;;;
+2EAB;CJK RADICAL EYE;So;0;ON;;;;;N;;;;;
+2EAC;CJK RADICAL SPIRIT ONE;So;0;ON;;;;;N;;;;;
+2EAD;CJK RADICAL SPIRIT TWO;So;0;ON;;;;;N;;;;;
+2EAE;CJK RADICAL BAMBOO;So;0;ON;;;;;N;;;;;
+2EAF;CJK RADICAL SILK;So;0;ON;;;;;N;;;;;
+2EB0;CJK RADICAL C-SIMPLIFIED SILK;So;0;ON;;;;;N;;;;;
+2EB1;CJK RADICAL NET ONE;So;0;ON;;;;;N;;;;;
+2EB2;CJK RADICAL NET TWO;So;0;ON;;;;;N;;;;;
+2EB3;CJK RADICAL NET THREE;So;0;ON;;;;;N;;;;;
+2EB4;CJK RADICAL NET FOUR;So;0;ON;;;;;N;;;;;
+2EB5;CJK RADICAL MESH;So;0;ON;;;;;N;;;;;
+2EB6;CJK RADICAL SHEEP;So;0;ON;;;;;N;;;;;
+2EB7;CJK RADICAL RAM;So;0;ON;;;;;N;;;;;
+2EB8;CJK RADICAL EWE;So;0;ON;;;;;N;;;;;
+2EB9;CJK RADICAL OLD;So;0;ON;;;;;N;;;;;
+2EBA;CJK RADICAL BRUSH ONE;So;0;ON;;;;;N;;;;;
+2EBB;CJK RADICAL BRUSH TWO;So;0;ON;;;;;N;;;;;
+2EBC;CJK RADICAL MEAT;So;0;ON;;;;;N;;;;;
+2EBD;CJK RADICAL MORTAR;So;0;ON;;;;;N;;;;;
+2EBE;CJK RADICAL GRASS ONE;So;0;ON;;;;;N;;;;;
+2EBF;CJK RADICAL GRASS TWO;So;0;ON;;;;;N;;;;;
+2EC0;CJK RADICAL GRASS THREE;So;0;ON;;;;;N;;;;;
+2EC1;CJK RADICAL TIGER;So;0;ON;;;;;N;;;;;
+2EC2;CJK RADICAL CLOTHES;So;0;ON;;;;;N;;;;;
+2EC3;CJK RADICAL WEST ONE;So;0;ON;;;;;N;;;;;
+2EC4;CJK RADICAL WEST TWO;So;0;ON;;;;;N;;;;;
+2EC5;CJK RADICAL C-SIMPLIFIED SEE;So;0;ON;;;;;N;;;;;
+2EC6;CJK RADICAL SIMPLIFIED HORN;So;0;ON;;;;;N;;;;;
+2EC7;CJK RADICAL HORN;So;0;ON;;;;;N;;;;;
+2EC8;CJK RADICAL C-SIMPLIFIED SPEECH;So;0;ON;;;;;N;;;;;
+2EC9;CJK RADICAL C-SIMPLIFIED SHELL;So;0;ON;;;;;N;;;;;
+2ECA;CJK RADICAL FOOT;So;0;ON;;;;;N;;;;;
+2ECB;CJK RADICAL C-SIMPLIFIED CART;So;0;ON;;;;;N;;;;;
+2ECC;CJK RADICAL SIMPLIFIED WALK;So;0;ON;;;;;N;;;;;
+2ECD;CJK RADICAL WALK ONE;So;0;ON;;;;;N;;;;;
+2ECE;CJK RADICAL WALK TWO;So;0;ON;;;;;N;;;;;
+2ECF;CJK RADICAL CITY;So;0;ON;;;;;N;;;;;
+2ED0;CJK RADICAL C-SIMPLIFIED GOLD;So;0;ON;;;;;N;;;;;
+2ED1;CJK RADICAL LONG ONE;So;0;ON;;;;;N;;;;;
+2ED2;CJK RADICAL LONG TWO;So;0;ON;;;;;N;;;;;
+2ED3;CJK RADICAL C-SIMPLIFIED LONG;So;0;ON;;;;;N;;;;;
+2ED4;CJK RADICAL C-SIMPLIFIED GATE;So;0;ON;;;;;N;;;;;
+2ED5;CJK RADICAL MOUND ONE;So;0;ON;;;;;N;;;;;
+2ED6;CJK RADICAL MOUND TWO;So;0;ON;;;;;N;;;;;
+2ED7;CJK RADICAL RAIN;So;0;ON;;;;;N;;;;;
+2ED8;CJK RADICAL BLUE;So;0;ON;;;;;N;;;;;
+2ED9;CJK RADICAL C-SIMPLIFIED TANNED LEATHER;So;0;ON;;;;;N;;;;;
+2EDA;CJK RADICAL C-SIMPLIFIED LEAF;So;0;ON;;;;;N;;;;;
+2EDB;CJK RADICAL C-SIMPLIFIED WIND;So;0;ON;;;;;N;;;;;
+2EDC;CJK RADICAL C-SIMPLIFIED FLY;So;0;ON;;;;;N;;;;;
+2EDD;CJK RADICAL EAT ONE;So;0;ON;;;;;N;;;;;
+2EDE;CJK RADICAL EAT TWO;So;0;ON;;;;;N;;;;;
+2EDF;CJK RADICAL EAT THREE;So;0;ON;;;;;N;;;;;
+2EE0;CJK RADICAL C-SIMPLIFIED EAT;So;0;ON;;;;;N;;;;;
+2EE1;CJK RADICAL HEAD;So;0;ON;;;;;N;;;;;
+2EE2;CJK RADICAL C-SIMPLIFIED HORSE;So;0;ON;;;;;N;;;;;
+2EE3;CJK RADICAL BONE;So;0;ON;;;;;N;;;;;
+2EE4;CJK RADICAL GHOST;So;0;ON;;;;;N;;;;;
+2EE5;CJK RADICAL C-SIMPLIFIED FISH;So;0;ON;;;;;N;;;;;
+2EE6;CJK RADICAL C-SIMPLIFIED BIRD;So;0;ON;;;;;N;;;;;
+2EE7;CJK RADICAL C-SIMPLIFIED SALT;So;0;ON;;;;;N;;;;;
+2EE8;CJK RADICAL SIMPLIFIED WHEAT;So;0;ON;;;;;N;;;;;
+2EE9;CJK RADICAL SIMPLIFIED YELLOW;So;0;ON;;;;;N;;;;;
+2EEA;CJK RADICAL C-SIMPLIFIED FROG;So;0;ON;;;;;N;;;;;
+2EEB;CJK RADICAL J-SIMPLIFIED EVEN;So;0;ON;;;;;N;;;;;
+2EEC;CJK RADICAL C-SIMPLIFIED EVEN;So;0;ON;;;;;N;;;;;
+2EED;CJK RADICAL J-SIMPLIFIED TOOTH;So;0;ON;;;;;N;;;;;
+2EEE;CJK RADICAL C-SIMPLIFIED TOOTH;So;0;ON;;;;;N;;;;;
+2EEF;CJK RADICAL J-SIMPLIFIED DRAGON;So;0;ON;;;;;N;;;;;
+2EF0;CJK RADICAL C-SIMPLIFIED DRAGON;So;0;ON;;;;;N;;;;;
+2EF1;CJK RADICAL TURTLE;So;0;ON;;;;;N;;;;;
+2EF2;CJK RADICAL J-SIMPLIFIED TURTLE;So;0;ON;;;;;N;;;;;
+2EF3;CJK RADICAL C-SIMPLIFIED TURTLE;So;0;ON;<compat> 9F9F;;;;N;;;;;
+2F00;KANGXI RADICAL ONE;So;0;ON;<compat> 4E00;;;;N;;;;;
+2F01;KANGXI RADICAL LINE;So;0;ON;<compat> 4E28;;;;N;;;;;
+2F02;KANGXI RADICAL DOT;So;0;ON;<compat> 4E36;;;;N;;;;;
+2F03;KANGXI RADICAL SLASH;So;0;ON;<compat> 4E3F;;;;N;;;;;
+2F04;KANGXI RADICAL SECOND;So;0;ON;<compat> 4E59;;;;N;;;;;
+2F05;KANGXI RADICAL HOOK;So;0;ON;<compat> 4E85;;;;N;;;;;
+2F06;KANGXI RADICAL TWO;So;0;ON;<compat> 4E8C;;;;N;;;;;
+2F07;KANGXI RADICAL LID;So;0;ON;<compat> 4EA0;;;;N;;;;;
+2F08;KANGXI RADICAL MAN;So;0;ON;<compat> 4EBA;;;;N;;;;;
+2F09;KANGXI RADICAL LEGS;So;0;ON;<compat> 513F;;;;N;;;;;
+2F0A;KANGXI RADICAL ENTER;So;0;ON;<compat> 5165;;;;N;;;;;
+2F0B;KANGXI RADICAL EIGHT;So;0;ON;<compat> 516B;;;;N;;;;;
+2F0C;KANGXI RADICAL DOWN BOX;So;0;ON;<compat> 5182;;;;N;;;;;
+2F0D;KANGXI RADICAL COVER;So;0;ON;<compat> 5196;;;;N;;;;;
+2F0E;KANGXI RADICAL ICE;So;0;ON;<compat> 51AB;;;;N;;;;;
+2F0F;KANGXI RADICAL TABLE;So;0;ON;<compat> 51E0;;;;N;;;;;
+2F10;KANGXI RADICAL OPEN BOX;So;0;ON;<compat> 51F5;;;;N;;;;;
+2F11;KANGXI RADICAL KNIFE;So;0;ON;<compat> 5200;;;;N;;;;;
+2F12;KANGXI RADICAL POWER;So;0;ON;<compat> 529B;;;;N;;;;;
+2F13;KANGXI RADICAL WRAP;So;0;ON;<compat> 52F9;;;;N;;;;;
+2F14;KANGXI RADICAL SPOON;So;0;ON;<compat> 5315;;;;N;;;;;
+2F15;KANGXI RADICAL RIGHT OPEN BOX;So;0;ON;<compat> 531A;;;;N;;;;;
+2F16;KANGXI RADICAL HIDING ENCLOSURE;So;0;ON;<compat> 5338;;;;N;;;;;
+2F17;KANGXI RADICAL TEN;So;0;ON;<compat> 5341;;;;N;;;;;
+2F18;KANGXI RADICAL DIVINATION;So;0;ON;<compat> 535C;;;;N;;;;;
+2F19;KANGXI RADICAL SEAL;So;0;ON;<compat> 5369;;;;N;;;;;
+2F1A;KANGXI RADICAL CLIFF;So;0;ON;<compat> 5382;;;;N;;;;;
+2F1B;KANGXI RADICAL PRIVATE;So;0;ON;<compat> 53B6;;;;N;;;;;
+2F1C;KANGXI RADICAL AGAIN;So;0;ON;<compat> 53C8;;;;N;;;;;
+2F1D;KANGXI RADICAL MOUTH;So;0;ON;<compat> 53E3;;;;N;;;;;
+2F1E;KANGXI RADICAL ENCLOSURE;So;0;ON;<compat> 56D7;;;;N;;;;;
+2F1F;KANGXI RADICAL EARTH;So;0;ON;<compat> 571F;;;;N;;;;;
+2F20;KANGXI RADICAL SCHOLAR;So;0;ON;<compat> 58EB;;;;N;;;;;
+2F21;KANGXI RADICAL GO;So;0;ON;<compat> 5902;;;;N;;;;;
+2F22;KANGXI RADICAL GO SLOWLY;So;0;ON;<compat> 590A;;;;N;;;;;
+2F23;KANGXI RADICAL EVENING;So;0;ON;<compat> 5915;;;;N;;;;;
+2F24;KANGXI RADICAL BIG;So;0;ON;<compat> 5927;;;;N;;;;;
+2F25;KANGXI RADICAL WOMAN;So;0;ON;<compat> 5973;;;;N;;;;;
+2F26;KANGXI RADICAL CHILD;So;0;ON;<compat> 5B50;;;;N;;;;;
+2F27;KANGXI RADICAL ROOF;So;0;ON;<compat> 5B80;;;;N;;;;;
+2F28;KANGXI RADICAL INCH;So;0;ON;<compat> 5BF8;;;;N;;;;;
+2F29;KANGXI RADICAL SMALL;So;0;ON;<compat> 5C0F;;;;N;;;;;
+2F2A;KANGXI RADICAL LAME;So;0;ON;<compat> 5C22;;;;N;;;;;
+2F2B;KANGXI RADICAL CORPSE;So;0;ON;<compat> 5C38;;;;N;;;;;
+2F2C;KANGXI RADICAL SPROUT;So;0;ON;<compat> 5C6E;;;;N;;;;;
+2F2D;KANGXI RADICAL MOUNTAIN;So;0;ON;<compat> 5C71;;;;N;;;;;
+2F2E;KANGXI RADICAL RIVER;So;0;ON;<compat> 5DDB;;;;N;;;;;
+2F2F;KANGXI RADICAL WORK;So;0;ON;<compat> 5DE5;;;;N;;;;;
+2F30;KANGXI RADICAL ONESELF;So;0;ON;<compat> 5DF1;;;;N;;;;;
+2F31;KANGXI RADICAL TURBAN;So;0;ON;<compat> 5DFE;;;;N;;;;;
+2F32;KANGXI RADICAL DRY;So;0;ON;<compat> 5E72;;;;N;;;;;
+2F33;KANGXI RADICAL SHORT THREAD;So;0;ON;<compat> 5E7A;;;;N;;;;;
+2F34;KANGXI RADICAL DOTTED CLIFF;So;0;ON;<compat> 5E7F;;;;N;;;;;
+2F35;KANGXI RADICAL LONG STRIDE;So;0;ON;<compat> 5EF4;;;;N;;;;;
+2F36;KANGXI RADICAL TWO HANDS;So;0;ON;<compat> 5EFE;;;;N;;;;;
+2F37;KANGXI RADICAL SHOOT;So;0;ON;<compat> 5F0B;;;;N;;;;;
+2F38;KANGXI RADICAL BOW;So;0;ON;<compat> 5F13;;;;N;;;;;
+2F39;KANGXI RADICAL SNOUT;So;0;ON;<compat> 5F50;;;;N;;;;;
+2F3A;KANGXI RADICAL BRISTLE;So;0;ON;<compat> 5F61;;;;N;;;;;
+2F3B;KANGXI RADICAL STEP;So;0;ON;<compat> 5F73;;;;N;;;;;
+2F3C;KANGXI RADICAL HEART;So;0;ON;<compat> 5FC3;;;;N;;;;;
+2F3D;KANGXI RADICAL HALBERD;So;0;ON;<compat> 6208;;;;N;;;;;
+2F3E;KANGXI RADICAL DOOR;So;0;ON;<compat> 6236;;;;N;;;;;
+2F3F;KANGXI RADICAL HAND;So;0;ON;<compat> 624B;;;;N;;;;;
+2F40;KANGXI RADICAL BRANCH;So;0;ON;<compat> 652F;;;;N;;;;;
+2F41;KANGXI RADICAL RAP;So;0;ON;<compat> 6534;;;;N;;;;;
+2F42;KANGXI RADICAL SCRIPT;So;0;ON;<compat> 6587;;;;N;;;;;
+2F43;KANGXI RADICAL DIPPER;So;0;ON;<compat> 6597;;;;N;;;;;
+2F44;KANGXI RADICAL AXE;So;0;ON;<compat> 65A4;;;;N;;;;;
+2F45;KANGXI RADICAL SQUARE;So;0;ON;<compat> 65B9;;;;N;;;;;
+2F46;KANGXI RADICAL NOT;So;0;ON;<compat> 65E0;;;;N;;;;;
+2F47;KANGXI RADICAL SUN;So;0;ON;<compat> 65E5;;;;N;;;;;
+2F48;KANGXI RADICAL SAY;So;0;ON;<compat> 66F0;;;;N;;;;;
+2F49;KANGXI RADICAL MOON;So;0;ON;<compat> 6708;;;;N;;;;;
+2F4A;KANGXI RADICAL TREE;So;0;ON;<compat> 6728;;;;N;;;;;
+2F4B;KANGXI RADICAL LACK;So;0;ON;<compat> 6B20;;;;N;;;;;
+2F4C;KANGXI RADICAL STOP;So;0;ON;<compat> 6B62;;;;N;;;;;
+2F4D;KANGXI RADICAL DEATH;So;0;ON;<compat> 6B79;;;;N;;;;;
+2F4E;KANGXI RADICAL WEAPON;So;0;ON;<compat> 6BB3;;;;N;;;;;
+2F4F;KANGXI RADICAL DO NOT;So;0;ON;<compat> 6BCB;;;;N;;;;;
+2F50;KANGXI RADICAL COMPARE;So;0;ON;<compat> 6BD4;;;;N;;;;;
+2F51;KANGXI RADICAL FUR;So;0;ON;<compat> 6BDB;;;;N;;;;;
+2F52;KANGXI RADICAL CLAN;So;0;ON;<compat> 6C0F;;;;N;;;;;
+2F53;KANGXI RADICAL STEAM;So;0;ON;<compat> 6C14;;;;N;;;;;
+2F54;KANGXI RADICAL WATER;So;0;ON;<compat> 6C34;;;;N;;;;;
+2F55;KANGXI RADICAL FIRE;So;0;ON;<compat> 706B;;;;N;;;;;
+2F56;KANGXI RADICAL CLAW;So;0;ON;<compat> 722A;;;;N;;;;;
+2F57;KANGXI RADICAL FATHER;So;0;ON;<compat> 7236;;;;N;;;;;
+2F58;KANGXI RADICAL DOUBLE X;So;0;ON;<compat> 723B;;;;N;;;;;
+2F59;KANGXI RADICAL HALF TREE TRUNK;So;0;ON;<compat> 723F;;;;N;;;;;
+2F5A;KANGXI RADICAL SLICE;So;0;ON;<compat> 7247;;;;N;;;;;
+2F5B;KANGXI RADICAL FANG;So;0;ON;<compat> 7259;;;;N;;;;;
+2F5C;KANGXI RADICAL COW;So;0;ON;<compat> 725B;;;;N;;;;;
+2F5D;KANGXI RADICAL DOG;So;0;ON;<compat> 72AC;;;;N;;;;;
+2F5E;KANGXI RADICAL PROFOUND;So;0;ON;<compat> 7384;;;;N;;;;;
+2F5F;KANGXI RADICAL JADE;So;0;ON;<compat> 7389;;;;N;;;;;
+2F60;KANGXI RADICAL MELON;So;0;ON;<compat> 74DC;;;;N;;;;;
+2F61;KANGXI RADICAL TILE;So;0;ON;<compat> 74E6;;;;N;;;;;
+2F62;KANGXI RADICAL SWEET;So;0;ON;<compat> 7518;;;;N;;;;;
+2F63;KANGXI RADICAL LIFE;So;0;ON;<compat> 751F;;;;N;;;;;
+2F64;KANGXI RADICAL USE;So;0;ON;<compat> 7528;;;;N;;;;;
+2F65;KANGXI RADICAL FIELD;So;0;ON;<compat> 7530;;;;N;;;;;
+2F66;KANGXI RADICAL BOLT OF CLOTH;So;0;ON;<compat> 758B;;;;N;;;;;
+2F67;KANGXI RADICAL SICKNESS;So;0;ON;<compat> 7592;;;;N;;;;;
+2F68;KANGXI RADICAL DOTTED TENT;So;0;ON;<compat> 7676;;;;N;;;;;
+2F69;KANGXI RADICAL WHITE;So;0;ON;<compat> 767D;;;;N;;;;;
+2F6A;KANGXI RADICAL SKIN;So;0;ON;<compat> 76AE;;;;N;;;;;
+2F6B;KANGXI RADICAL DISH;So;0;ON;<compat> 76BF;;;;N;;;;;
+2F6C;KANGXI RADICAL EYE;So;0;ON;<compat> 76EE;;;;N;;;;;
+2F6D;KANGXI RADICAL SPEAR;So;0;ON;<compat> 77DB;;;;N;;;;;
+2F6E;KANGXI RADICAL ARROW;So;0;ON;<compat> 77E2;;;;N;;;;;
+2F6F;KANGXI RADICAL STONE;So;0;ON;<compat> 77F3;;;;N;;;;;
+2F70;KANGXI RADICAL SPIRIT;So;0;ON;<compat> 793A;;;;N;;;;;
+2F71;KANGXI RADICAL TRACK;So;0;ON;<compat> 79B8;;;;N;;;;;
+2F72;KANGXI RADICAL GRAIN;So;0;ON;<compat> 79BE;;;;N;;;;;
+2F73;KANGXI RADICAL CAVE;So;0;ON;<compat> 7A74;;;;N;;;;;
+2F74;KANGXI RADICAL STAND;So;0;ON;<compat> 7ACB;;;;N;;;;;
+2F75;KANGXI RADICAL BAMBOO;So;0;ON;<compat> 7AF9;;;;N;;;;;
+2F76;KANGXI RADICAL RICE;So;0;ON;<compat> 7C73;;;;N;;;;;
+2F77;KANGXI RADICAL SILK;So;0;ON;<compat> 7CF8;;;;N;;;;;
+2F78;KANGXI RADICAL JAR;So;0;ON;<compat> 7F36;;;;N;;;;;
+2F79;KANGXI RADICAL NET;So;0;ON;<compat> 7F51;;;;N;;;;;
+2F7A;KANGXI RADICAL SHEEP;So;0;ON;<compat> 7F8A;;;;N;;;;;
+2F7B;KANGXI RADICAL FEATHER;So;0;ON;<compat> 7FBD;;;;N;;;;;
+2F7C;KANGXI RADICAL OLD;So;0;ON;<compat> 8001;;;;N;;;;;
+2F7D;KANGXI RADICAL AND;So;0;ON;<compat> 800C;;;;N;;;;;
+2F7E;KANGXI RADICAL PLOW;So;0;ON;<compat> 8012;;;;N;;;;;
+2F7F;KANGXI RADICAL EAR;So;0;ON;<compat> 8033;;;;N;;;;;
+2F80;KANGXI RADICAL BRUSH;So;0;ON;<compat> 807F;;;;N;;;;;
+2F81;KANGXI RADICAL MEAT;So;0;ON;<compat> 8089;;;;N;;;;;
+2F82;KANGXI RADICAL MINISTER;So;0;ON;<compat> 81E3;;;;N;;;;;
+2F83;KANGXI RADICAL SELF;So;0;ON;<compat> 81EA;;;;N;;;;;
+2F84;KANGXI RADICAL ARRIVE;So;0;ON;<compat> 81F3;;;;N;;;;;
+2F85;KANGXI RADICAL MORTAR;So;0;ON;<compat> 81FC;;;;N;;;;;
+2F86;KANGXI RADICAL TONGUE;So;0;ON;<compat> 820C;;;;N;;;;;
+2F87;KANGXI RADICAL OPPOSE;So;0;ON;<compat> 821B;;;;N;;;;;
+2F88;KANGXI RADICAL BOAT;So;0;ON;<compat> 821F;;;;N;;;;;
+2F89;KANGXI RADICAL STOPPING;So;0;ON;<compat> 826E;;;;N;;;;;
+2F8A;KANGXI RADICAL COLOR;So;0;ON;<compat> 8272;;;;N;;;;;
+2F8B;KANGXI RADICAL GRASS;So;0;ON;<compat> 8278;;;;N;;;;;
+2F8C;KANGXI RADICAL TIGER;So;0;ON;<compat> 864D;;;;N;;;;;
+2F8D;KANGXI RADICAL INSECT;So;0;ON;<compat> 866B;;;;N;;;;;
+2F8E;KANGXI RADICAL BLOOD;So;0;ON;<compat> 8840;;;;N;;;;;
+2F8F;KANGXI RADICAL WALK ENCLOSURE;So;0;ON;<compat> 884C;;;;N;;;;;
+2F90;KANGXI RADICAL CLOTHES;So;0;ON;<compat> 8863;;;;N;;;;;
+2F91;KANGXI RADICAL WEST;So;0;ON;<compat> 897E;;;;N;;;;;
+2F92;KANGXI RADICAL SEE;So;0;ON;<compat> 898B;;;;N;;;;;
+2F93;KANGXI RADICAL HORN;So;0;ON;<compat> 89D2;;;;N;;;;;
+2F94;KANGXI RADICAL SPEECH;So;0;ON;<compat> 8A00;;;;N;;;;;
+2F95;KANGXI RADICAL VALLEY;So;0;ON;<compat> 8C37;;;;N;;;;;
+2F96;KANGXI RADICAL BEAN;So;0;ON;<compat> 8C46;;;;N;;;;;
+2F97;KANGXI RADICAL PIG;So;0;ON;<compat> 8C55;;;;N;;;;;
+2F98;KANGXI RADICAL BADGER;So;0;ON;<compat> 8C78;;;;N;;;;;
+2F99;KANGXI RADICAL SHELL;So;0;ON;<compat> 8C9D;;;;N;;;;;
+2F9A;KANGXI RADICAL RED;So;0;ON;<compat> 8D64;;;;N;;;;;
+2F9B;KANGXI RADICAL RUN;So;0;ON;<compat> 8D70;;;;N;;;;;
+2F9C;KANGXI RADICAL FOOT;So;0;ON;<compat> 8DB3;;;;N;;;;;
+2F9D;KANGXI RADICAL BODY;So;0;ON;<compat> 8EAB;;;;N;;;;;
+2F9E;KANGXI RADICAL CART;So;0;ON;<compat> 8ECA;;;;N;;;;;
+2F9F;KANGXI RADICAL BITTER;So;0;ON;<compat> 8F9B;;;;N;;;;;
+2FA0;KANGXI RADICAL MORNING;So;0;ON;<compat> 8FB0;;;;N;;;;;
+2FA1;KANGXI RADICAL WALK;So;0;ON;<compat> 8FB5;;;;N;;;;;
+2FA2;KANGXI RADICAL CITY;So;0;ON;<compat> 9091;;;;N;;;;;
+2FA3;KANGXI RADICAL WINE;So;0;ON;<compat> 9149;;;;N;;;;;
+2FA4;KANGXI RADICAL DISTINGUISH;So;0;ON;<compat> 91C6;;;;N;;;;;
+2FA5;KANGXI RADICAL VILLAGE;So;0;ON;<compat> 91CC;;;;N;;;;;
+2FA6;KANGXI RADICAL GOLD;So;0;ON;<compat> 91D1;;;;N;;;;;
+2FA7;KANGXI RADICAL LONG;So;0;ON;<compat> 9577;;;;N;;;;;
+2FA8;KANGXI RADICAL GATE;So;0;ON;<compat> 9580;;;;N;;;;;
+2FA9;KANGXI RADICAL MOUND;So;0;ON;<compat> 961C;;;;N;;;;;
+2FAA;KANGXI RADICAL SLAVE;So;0;ON;<compat> 96B6;;;;N;;;;;
+2FAB;KANGXI RADICAL SHORT TAILED BIRD;So;0;ON;<compat> 96B9;;;;N;;;;;
+2FAC;KANGXI RADICAL RAIN;So;0;ON;<compat> 96E8;;;;N;;;;;
+2FAD;KANGXI RADICAL BLUE;So;0;ON;<compat> 9751;;;;N;;;;;
+2FAE;KANGXI RADICAL WRONG;So;0;ON;<compat> 975E;;;;N;;;;;
+2FAF;KANGXI RADICAL FACE;So;0;ON;<compat> 9762;;;;N;;;;;
+2FB0;KANGXI RADICAL LEATHER;So;0;ON;<compat> 9769;;;;N;;;;;
+2FB1;KANGXI RADICAL TANNED LEATHER;So;0;ON;<compat> 97CB;;;;N;;;;;
+2FB2;KANGXI RADICAL LEEK;So;0;ON;<compat> 97ED;;;;N;;;;;
+2FB3;KANGXI RADICAL SOUND;So;0;ON;<compat> 97F3;;;;N;;;;;
+2FB4;KANGXI RADICAL LEAF;So;0;ON;<compat> 9801;;;;N;;;;;
+2FB5;KANGXI RADICAL WIND;So;0;ON;<compat> 98A8;;;;N;;;;;
+2FB6;KANGXI RADICAL FLY;So;0;ON;<compat> 98DB;;;;N;;;;;
+2FB7;KANGXI RADICAL EAT;So;0;ON;<compat> 98DF;;;;N;;;;;
+2FB8;KANGXI RADICAL HEAD;So;0;ON;<compat> 9996;;;;N;;;;;
+2FB9;KANGXI RADICAL FRAGRANT;So;0;ON;<compat> 9999;;;;N;;;;;
+2FBA;KANGXI RADICAL HORSE;So;0;ON;<compat> 99AC;;;;N;;;;;
+2FBB;KANGXI RADICAL BONE;So;0;ON;<compat> 9AA8;;;;N;;;;;
+2FBC;KANGXI RADICAL TALL;So;0;ON;<compat> 9AD8;;;;N;;;;;
+2FBD;KANGXI RADICAL HAIR;So;0;ON;<compat> 9ADF;;;;N;;;;;
+2FBE;KANGXI RADICAL FIGHT;So;0;ON;<compat> 9B25;;;;N;;;;;
+2FBF;KANGXI RADICAL SACRIFICIAL WINE;So;0;ON;<compat> 9B2F;;;;N;;;;;
+2FC0;KANGXI RADICAL CAULDRON;So;0;ON;<compat> 9B32;;;;N;;;;;
+2FC1;KANGXI RADICAL GHOST;So;0;ON;<compat> 9B3C;;;;N;;;;;
+2FC2;KANGXI RADICAL FISH;So;0;ON;<compat> 9B5A;;;;N;;;;;
+2FC3;KANGXI RADICAL BIRD;So;0;ON;<compat> 9CE5;;;;N;;;;;
+2FC4;KANGXI RADICAL SALT;So;0;ON;<compat> 9E75;;;;N;;;;;
+2FC5;KANGXI RADICAL DEER;So;0;ON;<compat> 9E7F;;;;N;;;;;
+2FC6;KANGXI RADICAL WHEAT;So;0;ON;<compat> 9EA5;;;;N;;;;;
+2FC7;KANGXI RADICAL HEMP;So;0;ON;<compat> 9EBB;;;;N;;;;;
+2FC8;KANGXI RADICAL YELLOW;So;0;ON;<compat> 9EC3;;;;N;;;;;
+2FC9;KANGXI RADICAL MILLET;So;0;ON;<compat> 9ECD;;;;N;;;;;
+2FCA;KANGXI RADICAL BLACK;So;0;ON;<compat> 9ED1;;;;N;;;;;
+2FCB;KANGXI RADICAL EMBROIDERY;So;0;ON;<compat> 9EF9;;;;N;;;;;
+2FCC;KANGXI RADICAL FROG;So;0;ON;<compat> 9EFD;;;;N;;;;;
+2FCD;KANGXI RADICAL TRIPOD;So;0;ON;<compat> 9F0E;;;;N;;;;;
+2FCE;KANGXI RADICAL DRUM;So;0;ON;<compat> 9F13;;;;N;;;;;
+2FCF;KANGXI RADICAL RAT;So;0;ON;<compat> 9F20;;;;N;;;;;
+2FD0;KANGXI RADICAL NOSE;So;0;ON;<compat> 9F3B;;;;N;;;;;
+2FD1;KANGXI RADICAL EVEN;So;0;ON;<compat> 9F4A;;;;N;;;;;
+2FD2;KANGXI RADICAL TOOTH;So;0;ON;<compat> 9F52;;;;N;;;;;
+2FD3;KANGXI RADICAL DRAGON;So;0;ON;<compat> 9F8D;;;;N;;;;;
+2FD4;KANGXI RADICAL TURTLE;So;0;ON;<compat> 9F9C;;;;N;;;;;
+2FD5;KANGXI RADICAL FLUTE;So;0;ON;<compat> 9FA0;;;;N;;;;;
+2FF0;IDEOGRAPHIC DESCRIPTION CHARACTER LEFT TO RIGHT;So;0;ON;;;;;N;;;;;
+2FF1;IDEOGRAPHIC DESCRIPTION CHARACTER ABOVE TO BELOW;So;0;ON;;;;;N;;;;;
+2FF2;IDEOGRAPHIC DESCRIPTION CHARACTER LEFT TO MIDDLE AND RIGHT;So;0;ON;;;;;N;;;;;
+2FF3;IDEOGRAPHIC DESCRIPTION CHARACTER ABOVE TO MIDDLE AND BELOW;So;0;ON;;;;;N;;;;;
+2FF4;IDEOGRAPHIC DESCRIPTION CHARACTER FULL SURROUND;So;0;ON;;;;;N;;;;;
+2FF5;IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM ABOVE;So;0;ON;;;;;N;;;;;
+2FF6;IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM BELOW;So;0;ON;;;;;N;;;;;
+2FF7;IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM LEFT;So;0;ON;;;;;N;;;;;
+2FF8;IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM UPPER LEFT;So;0;ON;;;;;N;;;;;
+2FF9;IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM UPPER RIGHT;So;0;ON;;;;;N;;;;;
+2FFA;IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM LOWER LEFT;So;0;ON;;;;;N;;;;;
+2FFB;IDEOGRAPHIC DESCRIPTION CHARACTER OVERLAID;So;0;ON;;;;;N;;;;;
+3000;IDEOGRAPHIC SPACE;Zs;0;WS;<wide> 0020;;;;N;;;;;
+3001;IDEOGRAPHIC COMMA;Po;0;ON;;;;;N;;;;;
+3002;IDEOGRAPHIC FULL STOP;Po;0;ON;;;;;N;IDEOGRAPHIC PERIOD;;;;
+3003;DITTO MARK;Po;0;ON;;;;;N;;;;;
+3004;JAPANESE INDUSTRIAL STANDARD SYMBOL;So;0;ON;;;;;N;;;;;
+3005;IDEOGRAPHIC ITERATION MARK;Lm;0;L;;;;;N;;;;;
+3006;IDEOGRAPHIC CLOSING MARK;Lo;0;L;;;;;N;;;;;
+3007;IDEOGRAPHIC NUMBER ZERO;Nl;0;L;;;;0;N;;;;;
+3008;LEFT ANGLE BRACKET;Ps;0;ON;;;;;Y;OPENING ANGLE BRACKET;;;;
+3009;RIGHT ANGLE BRACKET;Pe;0;ON;;;;;Y;CLOSING ANGLE BRACKET;;;;
+300A;LEFT DOUBLE ANGLE BRACKET;Ps;0;ON;;;;;Y;OPENING DOUBLE ANGLE BRACKET;;;;
+300B;RIGHT DOUBLE ANGLE BRACKET;Pe;0;ON;;;;;Y;CLOSING DOUBLE ANGLE BRACKET;;;;
+300C;LEFT CORNER BRACKET;Ps;0;ON;;;;;Y;OPENING CORNER BRACKET;;;;
+300D;RIGHT CORNER BRACKET;Pe;0;ON;;;;;Y;CLOSING CORNER BRACKET;;;;
+300E;LEFT WHITE CORNER BRACKET;Ps;0;ON;;;;;Y;OPENING WHITE CORNER BRACKET;;;;
+300F;RIGHT WHITE CORNER BRACKET;Pe;0;ON;;;;;Y;CLOSING WHITE CORNER BRACKET;;;;
+3010;LEFT BLACK LENTICULAR BRACKET;Ps;0;ON;;;;;Y;OPENING BLACK LENTICULAR BRACKET;;;;
+3011;RIGHT BLACK LENTICULAR BRACKET;Pe;0;ON;;;;;Y;CLOSING BLACK LENTICULAR BRACKET;;;;
+3012;POSTAL MARK;So;0;ON;;;;;N;;;;;
+3013;GETA MARK;So;0;ON;;;;;N;;;;;
+3014;LEFT TORTOISE SHELL BRACKET;Ps;0;ON;;;;;Y;OPENING TORTOISE SHELL BRACKET;;;;
+3015;RIGHT TORTOISE SHELL BRACKET;Pe;0;ON;;;;;Y;CLOSING TORTOISE SHELL BRACKET;;;;
+3016;LEFT WHITE LENTICULAR BRACKET;Ps;0;ON;;;;;Y;OPENING WHITE LENTICULAR BRACKET;;;;
+3017;RIGHT WHITE LENTICULAR BRACKET;Pe;0;ON;;;;;Y;CLOSING WHITE LENTICULAR BRACKET;;;;
+3018;LEFT WHITE TORTOISE SHELL BRACKET;Ps;0;ON;;;;;Y;OPENING WHITE TORTOISE SHELL BRACKET;;;;
+3019;RIGHT WHITE TORTOISE SHELL BRACKET;Pe;0;ON;;;;;Y;CLOSING WHITE TORTOISE SHELL BRACKET;;;;
+301A;LEFT WHITE SQUARE BRACKET;Ps;0;ON;;;;;Y;OPENING WHITE SQUARE BRACKET;;;;
+301B;RIGHT WHITE SQUARE BRACKET;Pe;0;ON;;;;;Y;CLOSING WHITE SQUARE BRACKET;;;;
+301C;WAVE DASH;Pd;0;ON;;;;;N;;;;;
+301D;REVERSED DOUBLE PRIME QUOTATION MARK;Ps;0;ON;;;;;N;;;;;
+301E;DOUBLE PRIME QUOTATION MARK;Pe;0;ON;;;;;N;;;;;
+301F;LOW DOUBLE PRIME QUOTATION MARK;Pe;0;ON;;;;;N;;;;;
+3020;POSTAL MARK FACE;So;0;ON;;;;;N;;;;;
+3021;HANGZHOU NUMERAL ONE;Nl;0;L;;;;1;N;;;;;
+3022;HANGZHOU NUMERAL TWO;Nl;0;L;;;;2;N;;;;;
+3023;HANGZHOU NUMERAL THREE;Nl;0;L;;;;3;N;;;;;
+3024;HANGZHOU NUMERAL FOUR;Nl;0;L;;;;4;N;;;;;
+3025;HANGZHOU NUMERAL FIVE;Nl;0;L;;;;5;N;;;;;
+3026;HANGZHOU NUMERAL SIX;Nl;0;L;;;;6;N;;;;;
+3027;HANGZHOU NUMERAL SEVEN;Nl;0;L;;;;7;N;;;;;
+3028;HANGZHOU NUMERAL EIGHT;Nl;0;L;;;;8;N;;;;;
+3029;HANGZHOU NUMERAL NINE;Nl;0;L;;;;9;N;;;;;
+302A;IDEOGRAPHIC LEVEL TONE MARK;Mn;218;NSM;;;;;N;;;;;
+302B;IDEOGRAPHIC RISING TONE MARK;Mn;228;NSM;;;;;N;;;;;
+302C;IDEOGRAPHIC DEPARTING TONE MARK;Mn;232;NSM;;;;;N;;;;;
+302D;IDEOGRAPHIC ENTERING TONE MARK;Mn;222;NSM;;;;;N;;;;;
+302E;HANGUL SINGLE DOT TONE MARK;Mn;224;NSM;;;;;N;;;;;
+302F;HANGUL DOUBLE DOT TONE MARK;Mn;224;NSM;;;;;N;;;;;
+3030;WAVY DASH;Pd;0;ON;;;;;N;;;;;
+3031;VERTICAL KANA REPEAT MARK;Lm;0;L;;;;;N;;;;;
+3032;VERTICAL KANA REPEAT WITH VOICED SOUND MARK;Lm;0;L;;;;;N;;;;;
+3033;VERTICAL KANA REPEAT MARK UPPER HALF;Lm;0;L;;;;;N;;;;;
+3034;VERTICAL KANA REPEAT WITH VOICED SOUND MARK UPPER HALF;Lm;0;L;;;;;N;;;;;
+3035;VERTICAL KANA REPEAT MARK LOWER HALF;Lm;0;L;;;;;N;;;;;
+3036;CIRCLED POSTAL MARK;So;0;ON;<compat> 3012;;;;N;;;;;
+3037;IDEOGRAPHIC TELEGRAPH LINE FEED SEPARATOR SYMBOL;So;0;ON;;;;;N;;;;;
+3038;HANGZHOU NUMERAL TEN;Nl;0;L;<compat> 5341;;;10;N;;;;;
+3039;HANGZHOU NUMERAL TWENTY;Nl;0;L;<compat> 5344;;;20;N;;;;;
+303A;HANGZHOU NUMERAL THIRTY;Nl;0;L;<compat> 5345;;;30;N;;;;;
+303B;VERTICAL IDEOGRAPHIC ITERATION MARK;Lm;0;L;;;;;N;;;;;
+303C;MASU MARK;Lo;0;L;;;;;N;;;;;
+303D;PART ALTERNATION MARK;Po;0;ON;;;;;N;;;;;
+303E;IDEOGRAPHIC VARIATION INDICATOR;So;0;ON;;;;;N;;;;;
+303F;IDEOGRAPHIC HALF FILL SPACE;So;0;ON;;;;;N;;;;;
+3041;HIRAGANA LETTER SMALL A;Lo;0;L;;;;;N;;;;;
+3042;HIRAGANA LETTER A;Lo;0;L;;;;;N;;;;;
+3043;HIRAGANA LETTER SMALL I;Lo;0;L;;;;;N;;;;;
+3044;HIRAGANA LETTER I;Lo;0;L;;;;;N;;;;;
+3045;HIRAGANA LETTER SMALL U;Lo;0;L;;;;;N;;;;;
+3046;HIRAGANA LETTER U;Lo;0;L;;;;;N;;;;;
+3047;HIRAGANA LETTER SMALL E;Lo;0;L;;;;;N;;;;;
+3048;HIRAGANA LETTER E;Lo;0;L;;;;;N;;;;;
+3049;HIRAGANA LETTER SMALL O;Lo;0;L;;;;;N;;;;;
+304A;HIRAGANA LETTER O;Lo;0;L;;;;;N;;;;;
+304B;HIRAGANA LETTER KA;Lo;0;L;;;;;N;;;;;
+304C;HIRAGANA LETTER GA;Lo;0;L;304B 3099;;;;N;;;;;
+304D;HIRAGANA LETTER KI;Lo;0;L;;;;;N;;;;;
+304E;HIRAGANA LETTER GI;Lo;0;L;304D 3099;;;;N;;;;;
+304F;HIRAGANA LETTER KU;Lo;0;L;;;;;N;;;;;
+3050;HIRAGANA LETTER GU;Lo;0;L;304F 3099;;;;N;;;;;
+3051;HIRAGANA LETTER KE;Lo;0;L;;;;;N;;;;;
+3052;HIRAGANA LETTER GE;Lo;0;L;3051 3099;;;;N;;;;;
+3053;HIRAGANA LETTER KO;Lo;0;L;;;;;N;;;;;
+3054;HIRAGANA LETTER GO;Lo;0;L;3053 3099;;;;N;;;;;
+3055;HIRAGANA LETTER SA;Lo;0;L;;;;;N;;;;;
+3056;HIRAGANA LETTER ZA;Lo;0;L;3055 3099;;;;N;;;;;
+3057;HIRAGANA LETTER SI;Lo;0;L;;;;;N;;;;;
+3058;HIRAGANA LETTER ZI;Lo;0;L;3057 3099;;;;N;;;;;
+3059;HIRAGANA LETTER SU;Lo;0;L;;;;;N;;;;;
+305A;HIRAGANA LETTER ZU;Lo;0;L;3059 3099;;;;N;;;;;
+305B;HIRAGANA LETTER SE;Lo;0;L;;;;;N;;;;;
+305C;HIRAGANA LETTER ZE;Lo;0;L;305B 3099;;;;N;;;;;
+305D;HIRAGANA LETTER SO;Lo;0;L;;;;;N;;;;;
+305E;HIRAGANA LETTER ZO;Lo;0;L;305D 3099;;;;N;;;;;
+305F;HIRAGANA LETTER TA;Lo;0;L;;;;;N;;;;;
+3060;HIRAGANA LETTER DA;Lo;0;L;305F 3099;;;;N;;;;;
+3061;HIRAGANA LETTER TI;Lo;0;L;;;;;N;;;;;
+3062;HIRAGANA LETTER DI;Lo;0;L;3061 3099;;;;N;;;;;
+3063;HIRAGANA LETTER SMALL TU;Lo;0;L;;;;;N;;;;;
+3064;HIRAGANA LETTER TU;Lo;0;L;;;;;N;;;;;
+3065;HIRAGANA LETTER DU;Lo;0;L;3064 3099;;;;N;;;;;
+3066;HIRAGANA LETTER TE;Lo;0;L;;;;;N;;;;;
+3067;HIRAGANA LETTER DE;Lo;0;L;3066 3099;;;;N;;;;;
+3068;HIRAGANA LETTER TO;Lo;0;L;;;;;N;;;;;
+3069;HIRAGANA LETTER DO;Lo;0;L;3068 3099;;;;N;;;;;
+306A;HIRAGANA LETTER NA;Lo;0;L;;;;;N;;;;;
+306B;HIRAGANA LETTER NI;Lo;0;L;;;;;N;;;;;
+306C;HIRAGANA LETTER NU;Lo;0;L;;;;;N;;;;;
+306D;HIRAGANA LETTER NE;Lo;0;L;;;;;N;;;;;
+306E;HIRAGANA LETTER NO;Lo;0;L;;;;;N;;;;;
+306F;HIRAGANA LETTER HA;Lo;0;L;;;;;N;;;;;
+3070;HIRAGANA LETTER BA;Lo;0;L;306F 3099;;;;N;;;;;
+3071;HIRAGANA LETTER PA;Lo;0;L;306F 309A;;;;N;;;;;
+3072;HIRAGANA LETTER HI;Lo;0;L;;;;;N;;;;;
+3073;HIRAGANA LETTER BI;Lo;0;L;3072 3099;;;;N;;;;;
+3074;HIRAGANA LETTER PI;Lo;0;L;3072 309A;;;;N;;;;;
+3075;HIRAGANA LETTER HU;Lo;0;L;;;;;N;;;;;
+3076;HIRAGANA LETTER BU;Lo;0;L;3075 3099;;;;N;;;;;
+3077;HIRAGANA LETTER PU;Lo;0;L;3075 309A;;;;N;;;;;
+3078;HIRAGANA LETTER HE;Lo;0;L;;;;;N;;;;;
+3079;HIRAGANA LETTER BE;Lo;0;L;3078 3099;;;;N;;;;;
+307A;HIRAGANA LETTER PE;Lo;0;L;3078 309A;;;;N;;;;;
+307B;HIRAGANA LETTER HO;Lo;0;L;;;;;N;;;;;
+307C;HIRAGANA LETTER BO;Lo;0;L;307B 3099;;;;N;;;;;
+307D;HIRAGANA LETTER PO;Lo;0;L;307B 309A;;;;N;;;;;
+307E;HIRAGANA LETTER MA;Lo;0;L;;;;;N;;;;;
+307F;HIRAGANA LETTER MI;Lo;0;L;;;;;N;;;;;
+3080;HIRAGANA LETTER MU;Lo;0;L;;;;;N;;;;;
+3081;HIRAGANA LETTER ME;Lo;0;L;;;;;N;;;;;
+3082;HIRAGANA LETTER MO;Lo;0;L;;;;;N;;;;;
+3083;HIRAGANA LETTER SMALL YA;Lo;0;L;;;;;N;;;;;
+3084;HIRAGANA LETTER YA;Lo;0;L;;;;;N;;;;;
+3085;HIRAGANA LETTER SMALL YU;Lo;0;L;;;;;N;;;;;
+3086;HIRAGANA LETTER YU;Lo;0;L;;;;;N;;;;;
+3087;HIRAGANA LETTER SMALL YO;Lo;0;L;;;;;N;;;;;
+3088;HIRAGANA LETTER YO;Lo;0;L;;;;;N;;;;;
+3089;HIRAGANA LETTER RA;Lo;0;L;;;;;N;;;;;
+308A;HIRAGANA LETTER RI;Lo;0;L;;;;;N;;;;;
+308B;HIRAGANA LETTER RU;Lo;0;L;;;;;N;;;;;
+308C;HIRAGANA LETTER RE;Lo;0;L;;;;;N;;;;;
+308D;HIRAGANA LETTER RO;Lo;0;L;;;;;N;;;;;
+308E;HIRAGANA LETTER SMALL WA;Lo;0;L;;;;;N;;;;;
+308F;HIRAGANA LETTER WA;Lo;0;L;;;;;N;;;;;
+3090;HIRAGANA LETTER WI;Lo;0;L;;;;;N;;;;;
+3091;HIRAGANA LETTER WE;Lo;0;L;;;;;N;;;;;
+3092;HIRAGANA LETTER WO;Lo;0;L;;;;;N;;;;;
+3093;HIRAGANA LETTER N;Lo;0;L;;;;;N;;;;;
+3094;HIRAGANA LETTER VU;Lo;0;L;3046 3099;;;;N;;;;;
+3095;HIRAGANA LETTER SMALL KA;Lo;0;L;;;;;N;;;;;
+3096;HIRAGANA LETTER SMALL KE;Lo;0;L;;;;;N;;;;;
+3099;COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK;Mn;8;NSM;;;;;N;NON-SPACING KATAKANA-HIRAGANA VOICED SOUND MARK;;;;
+309A;COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK;Mn;8;NSM;;;;;N;NON-SPACING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK;;;;
+309B;KATAKANA-HIRAGANA VOICED SOUND MARK;Sk;0;ON;<compat> 0020 3099;;;;N;;;;;
+309C;KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK;Sk;0;ON;<compat> 0020 309A;;;;N;;;;;
+309D;HIRAGANA ITERATION MARK;Lm;0;L;;;;;N;;;;;
+309E;HIRAGANA VOICED ITERATION MARK;Lm;0;L;309D 3099;;;;N;;;;;
+309F;HIRAGANA DIGRAPH YORI;Lo;0;L;<vertical> 3088 308A;;;;N;;;;;
+30A0;KATAKANA-HIRAGANA DOUBLE HYPHEN;Pd;0;ON;;;;;N;;;;;
+30A1;KATAKANA LETTER SMALL A;Lo;0;L;;;;;N;;;;;
+30A2;KATAKANA LETTER A;Lo;0;L;;;;;N;;;;;
+30A3;KATAKANA LETTER SMALL I;Lo;0;L;;;;;N;;;;;
+30A4;KATAKANA LETTER I;Lo;0;L;;;;;N;;;;;
+30A5;KATAKANA LETTER SMALL U;Lo;0;L;;;;;N;;;;;
+30A6;KATAKANA LETTER U;Lo;0;L;;;;;N;;;;;
+30A7;KATAKANA LETTER SMALL E;Lo;0;L;;;;;N;;;;;
+30A8;KATAKANA LETTER E;Lo;0;L;;;;;N;;;;;
+30A9;KATAKANA LETTER SMALL O;Lo;0;L;;;;;N;;;;;
+30AA;KATAKANA LETTER O;Lo;0;L;;;;;N;;;;;
+30AB;KATAKANA LETTER KA;Lo;0;L;;;;;N;;;;;
+30AC;KATAKANA LETTER GA;Lo;0;L;30AB 3099;;;;N;;;;;
+30AD;KATAKANA LETTER KI;Lo;0;L;;;;;N;;;;;
+30AE;KATAKANA LETTER GI;Lo;0;L;30AD 3099;;;;N;;;;;
+30AF;KATAKANA LETTER KU;Lo;0;L;;;;;N;;;;;
+30B0;KATAKANA LETTER GU;Lo;0;L;30AF 3099;;;;N;;;;;
+30B1;KATAKANA LETTER KE;Lo;0;L;;;;;N;;;;;
+30B2;KATAKANA LETTER GE;Lo;0;L;30B1 3099;;;;N;;;;;
+30B3;KATAKANA LETTER KO;Lo;0;L;;;;;N;;;;;
+30B4;KATAKANA LETTER GO;Lo;0;L;30B3 3099;;;;N;;;;;
+30B5;KATAKANA LETTER SA;Lo;0;L;;;;;N;;;;;
+30B6;KATAKANA LETTER ZA;Lo;0;L;30B5 3099;;;;N;;;;;
+30B7;KATAKANA LETTER SI;Lo;0;L;;;;;N;;;;;
+30B8;KATAKANA LETTER ZI;Lo;0;L;30B7 3099;;;;N;;;;;
+30B9;KATAKANA LETTER SU;Lo;0;L;;;;;N;;;;;
+30BA;KATAKANA LETTER ZU;Lo;0;L;30B9 3099;;;;N;;;;;
+30BB;KATAKANA LETTER SE;Lo;0;L;;;;;N;;;;;
+30BC;KATAKANA LETTER ZE;Lo;0;L;30BB 3099;;;;N;;;;;
+30BD;KATAKANA LETTER SO;Lo;0;L;;;;;N;;;;;
+30BE;KATAKANA LETTER ZO;Lo;0;L;30BD 3099;;;;N;;;;;
+30BF;KATAKANA LETTER TA;Lo;0;L;;;;;N;;;;;
+30C0;KATAKANA LETTER DA;Lo;0;L;30BF 3099;;;;N;;;;;
+30C1;KATAKANA LETTER TI;Lo;0;L;;;;;N;;;;;
+30C2;KATAKANA LETTER DI;Lo;0;L;30C1 3099;;;;N;;;;;
+30C3;KATAKANA LETTER SMALL TU;Lo;0;L;;;;;N;;;;;
+30C4;KATAKANA LETTER TU;Lo;0;L;;;;;N;;;;;
+30C5;KATAKANA LETTER DU;Lo;0;L;30C4 3099;;;;N;;;;;
+30C6;KATAKANA LETTER TE;Lo;0;L;;;;;N;;;;;
+30C7;KATAKANA LETTER DE;Lo;0;L;30C6 3099;;;;N;;;;;
+30C8;KATAKANA LETTER TO;Lo;0;L;;;;;N;;;;;
+30C9;KATAKANA LETTER DO;Lo;0;L;30C8 3099;;;;N;;;;;
+30CA;KATAKANA LETTER NA;Lo;0;L;;;;;N;;;;;
+30CB;KATAKANA LETTER NI;Lo;0;L;;;;;N;;;;;
+30CC;KATAKANA LETTER NU;Lo;0;L;;;;;N;;;;;
+30CD;KATAKANA LETTER NE;Lo;0;L;;;;;N;;;;;
+30CE;KATAKANA LETTER NO;Lo;0;L;;;;;N;;;;;
+30CF;KATAKANA LETTER HA;Lo;0;L;;;;;N;;;;;
+30D0;KATAKANA LETTER BA;Lo;0;L;30CF 3099;;;;N;;;;;
+30D1;KATAKANA LETTER PA;Lo;0;L;30CF 309A;;;;N;;;;;
+30D2;KATAKANA LETTER HI;Lo;0;L;;;;;N;;;;;
+30D3;KATAKANA LETTER BI;Lo;0;L;30D2 3099;;;;N;;;;;
+30D4;KATAKANA LETTER PI;Lo;0;L;30D2 309A;;;;N;;;;;
+30D5;KATAKANA LETTER HU;Lo;0;L;;;;;N;;;;;
+30D6;KATAKANA LETTER BU;Lo;0;L;30D5 3099;;;;N;;;;;
+30D7;KATAKANA LETTER PU;Lo;0;L;30D5 309A;;;;N;;;;;
+30D8;KATAKANA LETTER HE;Lo;0;L;;;;;N;;;;;
+30D9;KATAKANA LETTER BE;Lo;0;L;30D8 3099;;;;N;;;;;
+30DA;KATAKANA LETTER PE;Lo;0;L;30D8 309A;;;;N;;;;;
+30DB;KATAKANA LETTER HO;Lo;0;L;;;;;N;;;;;
+30DC;KATAKANA LETTER BO;Lo;0;L;30DB 3099;;;;N;;;;;
+30DD;KATAKANA LETTER PO;Lo;0;L;30DB 309A;;;;N;;;;;
+30DE;KATAKANA LETTER MA;Lo;0;L;;;;;N;;;;;
+30DF;KATAKANA LETTER MI;Lo;0;L;;;;;N;;;;;
+30E0;KATAKANA LETTER MU;Lo;0;L;;;;;N;;;;;
+30E1;KATAKANA LETTER ME;Lo;0;L;;;;;N;;;;;
+30E2;KATAKANA LETTER MO;Lo;0;L;;;;;N;;;;;
+30E3;KATAKANA LETTER SMALL YA;Lo;0;L;;;;;N;;;;;
+30E4;KATAKANA LETTER YA;Lo;0;L;;;;;N;;;;;
+30E5;KATAKANA LETTER SMALL YU;Lo;0;L;;;;;N;;;;;
+30E6;KATAKANA LETTER YU;Lo;0;L;;;;;N;;;;;
+30E7;KATAKANA LETTER SMALL YO;Lo;0;L;;;;;N;;;;;
+30E8;KATAKANA LETTER YO;Lo;0;L;;;;;N;;;;;
+30E9;KATAKANA LETTER RA;Lo;0;L;;;;;N;;;;;
+30EA;KATAKANA LETTER RI;Lo;0;L;;;;;N;;;;;
+30EB;KATAKANA LETTER RU;Lo;0;L;;;;;N;;;;;
+30EC;KATAKANA LETTER RE;Lo;0;L;;;;;N;;;;;
+30ED;KATAKANA LETTER RO;Lo;0;L;;;;;N;;;;;
+30EE;KATAKANA LETTER SMALL WA;Lo;0;L;;;;;N;;;;;
+30EF;KATAKANA LETTER WA;Lo;0;L;;;;;N;;;;;
+30F0;KATAKANA LETTER WI;Lo;0;L;;;;;N;;;;;
+30F1;KATAKANA LETTER WE;Lo;0;L;;;;;N;;;;;
+30F2;KATAKANA LETTER WO;Lo;0;L;;;;;N;;;;;
+30F3;KATAKANA LETTER N;Lo;0;L;;;;;N;;;;;
+30F4;KATAKANA LETTER VU;Lo;0;L;30A6 3099;;;;N;;;;;
+30F5;KATAKANA LETTER SMALL KA;Lo;0;L;;;;;N;;;;;
+30F6;KATAKANA LETTER SMALL KE;Lo;0;L;;;;;N;;;;;
+30F7;KATAKANA LETTER VA;Lo;0;L;30EF 3099;;;;N;;;;;
+30F8;KATAKANA LETTER VI;Lo;0;L;30F0 3099;;;;N;;;;;
+30F9;KATAKANA LETTER VE;Lo;0;L;30F1 3099;;;;N;;;;;
+30FA;KATAKANA LETTER VO;Lo;0;L;30F2 3099;;;;N;;;;;
+30FB;KATAKANA MIDDLE DOT;Po;0;ON;;;;;N;;;;;
+30FC;KATAKANA-HIRAGANA PROLONGED SOUND MARK;Lm;0;L;;;;;N;;;;;
+30FD;KATAKANA ITERATION MARK;Lm;0;L;;;;;N;;;;;
+30FE;KATAKANA VOICED ITERATION MARK;Lm;0;L;30FD 3099;;;;N;;;;;
+30FF;KATAKANA DIGRAPH KOTO;Lo;0;L;<vertical> 30B3 30C8;;;;N;;;;;
+3105;BOPOMOFO LETTER B;Lo;0;L;;;;;N;;;;;
+3106;BOPOMOFO LETTER P;Lo;0;L;;;;;N;;;;;
+3107;BOPOMOFO LETTER M;Lo;0;L;;;;;N;;;;;
+3108;BOPOMOFO LETTER F;Lo;0;L;;;;;N;;;;;
+3109;BOPOMOFO LETTER D;Lo;0;L;;;;;N;;;;;
+310A;BOPOMOFO LETTER T;Lo;0;L;;;;;N;;;;;
+310B;BOPOMOFO LETTER N;Lo;0;L;;;;;N;;;;;
+310C;BOPOMOFO LETTER L;Lo;0;L;;;;;N;;;;;
+310D;BOPOMOFO LETTER G;Lo;0;L;;;;;N;;;;;
+310E;BOPOMOFO LETTER K;Lo;0;L;;;;;N;;;;;
+310F;BOPOMOFO LETTER H;Lo;0;L;;;;;N;;;;;
+3110;BOPOMOFO LETTER J;Lo;0;L;;;;;N;;;;;
+3111;BOPOMOFO LETTER Q;Lo;0;L;;;;;N;;;;;
+3112;BOPOMOFO LETTER X;Lo;0;L;;;;;N;;;;;
+3113;BOPOMOFO LETTER ZH;Lo;0;L;;;;;N;;;;;
+3114;BOPOMOFO LETTER CH;Lo;0;L;;;;;N;;;;;
+3115;BOPOMOFO LETTER SH;Lo;0;L;;;;;N;;;;;
+3116;BOPOMOFO LETTER R;Lo;0;L;;;;;N;;;;;
+3117;BOPOMOFO LETTER Z;Lo;0;L;;;;;N;;;;;
+3118;BOPOMOFO LETTER C;Lo;0;L;;;;;N;;;;;
+3119;BOPOMOFO LETTER S;Lo;0;L;;;;;N;;;;;
+311A;BOPOMOFO LETTER A;Lo;0;L;;;;;N;;;;;
+311B;BOPOMOFO LETTER O;Lo;0;L;;;;;N;;;;;
+311C;BOPOMOFO LETTER E;Lo;0;L;;;;;N;;;;;
+311D;BOPOMOFO LETTER EH;Lo;0;L;;;;;N;;;;;
+311E;BOPOMOFO LETTER AI;Lo;0;L;;;;;N;;;;;
+311F;BOPOMOFO LETTER EI;Lo;0;L;;;;;N;;;;;
+3120;BOPOMOFO LETTER AU;Lo;0;L;;;;;N;;;;;
+3121;BOPOMOFO LETTER OU;Lo;0;L;;;;;N;;;;;
+3122;BOPOMOFO LETTER AN;Lo;0;L;;;;;N;;;;;
+3123;BOPOMOFO LETTER EN;Lo;0;L;;;;;N;;;;;
+3124;BOPOMOFO LETTER ANG;Lo;0;L;;;;;N;;;;;
+3125;BOPOMOFO LETTER ENG;Lo;0;L;;;;;N;;;;;
+3126;BOPOMOFO LETTER ER;Lo;0;L;;;;;N;;;;;
+3127;BOPOMOFO LETTER I;Lo;0;L;;;;;N;;;;;
+3128;BOPOMOFO LETTER U;Lo;0;L;;;;;N;;;;;
+3129;BOPOMOFO LETTER IU;Lo;0;L;;;;;N;;;;;
+312A;BOPOMOFO LETTER V;Lo;0;L;;;;;N;;;;;
+312B;BOPOMOFO LETTER NG;Lo;0;L;;;;;N;;;;;
+312C;BOPOMOFO LETTER GN;Lo;0;L;;;;;N;;;;;
+3131;HANGUL LETTER KIYEOK;Lo;0;L;<compat> 1100;;;;N;HANGUL LETTER GIYEOG;;;;
+3132;HANGUL LETTER SSANGKIYEOK;Lo;0;L;<compat> 1101;;;;N;HANGUL LETTER SSANG GIYEOG;;;;
+3133;HANGUL LETTER KIYEOK-SIOS;Lo;0;L;<compat> 11AA;;;;N;HANGUL LETTER GIYEOG SIOS;;;;
+3134;HANGUL LETTER NIEUN;Lo;0;L;<compat> 1102;;;;N;;;;;
+3135;HANGUL LETTER NIEUN-CIEUC;Lo;0;L;<compat> 11AC;;;;N;HANGUL LETTER NIEUN JIEUJ;;;;
+3136;HANGUL LETTER NIEUN-HIEUH;Lo;0;L;<compat> 11AD;;;;N;HANGUL LETTER NIEUN HIEUH;;;;
+3137;HANGUL LETTER TIKEUT;Lo;0;L;<compat> 1103;;;;N;HANGUL LETTER DIGEUD;;;;
+3138;HANGUL LETTER SSANGTIKEUT;Lo;0;L;<compat> 1104;;;;N;HANGUL LETTER SSANG DIGEUD;;;;
+3139;HANGUL LETTER RIEUL;Lo;0;L;<compat> 1105;;;;N;HANGUL LETTER LIEUL;;;;
+313A;HANGUL LETTER RIEUL-KIYEOK;Lo;0;L;<compat> 11B0;;;;N;HANGUL LETTER LIEUL GIYEOG;;;;
+313B;HANGUL LETTER RIEUL-MIEUM;Lo;0;L;<compat> 11B1;;;;N;HANGUL LETTER LIEUL MIEUM;;;;
+313C;HANGUL LETTER RIEUL-PIEUP;Lo;0;L;<compat> 11B2;;;;N;HANGUL LETTER LIEUL BIEUB;;;;
+313D;HANGUL LETTER RIEUL-SIOS;Lo;0;L;<compat> 11B3;;;;N;HANGUL LETTER LIEUL SIOS;;;;
+313E;HANGUL LETTER RIEUL-THIEUTH;Lo;0;L;<compat> 11B4;;;;N;HANGUL LETTER LIEUL TIEUT;;;;
+313F;HANGUL LETTER RIEUL-PHIEUPH;Lo;0;L;<compat> 11B5;;;;N;HANGUL LETTER LIEUL PIEUP;;;;
+3140;HANGUL LETTER RIEUL-HIEUH;Lo;0;L;<compat> 111A;;;;N;HANGUL LETTER LIEUL HIEUH;;;;
+3141;HANGUL LETTER MIEUM;Lo;0;L;<compat> 1106;;;;N;;;;;
+3142;HANGUL LETTER PIEUP;Lo;0;L;<compat> 1107;;;;N;HANGUL LETTER BIEUB;;;;
+3143;HANGUL LETTER SSANGPIEUP;Lo;0;L;<compat> 1108;;;;N;HANGUL LETTER SSANG BIEUB;;;;
+3144;HANGUL LETTER PIEUP-SIOS;Lo;0;L;<compat> 1121;;;;N;HANGUL LETTER BIEUB SIOS;;;;
+3145;HANGUL LETTER SIOS;Lo;0;L;<compat> 1109;;;;N;;;;;
+3146;HANGUL LETTER SSANGSIOS;Lo;0;L;<compat> 110A;;;;N;HANGUL LETTER SSANG SIOS;;;;
+3147;HANGUL LETTER IEUNG;Lo;0;L;<compat> 110B;;;;N;;;;;
+3148;HANGUL LETTER CIEUC;Lo;0;L;<compat> 110C;;;;N;HANGUL LETTER JIEUJ;;;;
+3149;HANGUL LETTER SSANGCIEUC;Lo;0;L;<compat> 110D;;;;N;HANGUL LETTER SSANG JIEUJ;;;;
+314A;HANGUL LETTER CHIEUCH;Lo;0;L;<compat> 110E;;;;N;HANGUL LETTER CIEUC;;;;
+314B;HANGUL LETTER KHIEUKH;Lo;0;L;<compat> 110F;;;;N;HANGUL LETTER KIYEOK;;;;
+314C;HANGUL LETTER THIEUTH;Lo;0;L;<compat> 1110;;;;N;HANGUL LETTER TIEUT;;;;
+314D;HANGUL LETTER PHIEUPH;Lo;0;L;<compat> 1111;;;;N;HANGUL LETTER PIEUP;;;;
+314E;HANGUL LETTER HIEUH;Lo;0;L;<compat> 1112;;;;N;;;;;
+314F;HANGUL LETTER A;Lo;0;L;<compat> 1161;;;;N;;;;;
+3150;HANGUL LETTER AE;Lo;0;L;<compat> 1162;;;;N;;;;;
+3151;HANGUL LETTER YA;Lo;0;L;<compat> 1163;;;;N;;;;;
+3152;HANGUL LETTER YAE;Lo;0;L;<compat> 1164;;;;N;;;;;
+3153;HANGUL LETTER EO;Lo;0;L;<compat> 1165;;;;N;;;;;
+3154;HANGUL LETTER E;Lo;0;L;<compat> 1166;;;;N;;;;;
+3155;HANGUL LETTER YEO;Lo;0;L;<compat> 1167;;;;N;;;;;
+3156;HANGUL LETTER YE;Lo;0;L;<compat> 1168;;;;N;;;;;
+3157;HANGUL LETTER O;Lo;0;L;<compat> 1169;;;;N;;;;;
+3158;HANGUL LETTER WA;Lo;0;L;<compat> 116A;;;;N;;;;;
+3159;HANGUL LETTER WAE;Lo;0;L;<compat> 116B;;;;N;;;;;
+315A;HANGUL LETTER OE;Lo;0;L;<compat> 116C;;;;N;;;;;
+315B;HANGUL LETTER YO;Lo;0;L;<compat> 116D;;;;N;;;;;
+315C;HANGUL LETTER U;Lo;0;L;<compat> 116E;;;;N;;;;;
+315D;HANGUL LETTER WEO;Lo;0;L;<compat> 116F;;;;N;;;;;
+315E;HANGUL LETTER WE;Lo;0;L;<compat> 1170;;;;N;;;;;
+315F;HANGUL LETTER WI;Lo;0;L;<compat> 1171;;;;N;;;;;
+3160;HANGUL LETTER YU;Lo;0;L;<compat> 1172;;;;N;;;;;
+3161;HANGUL LETTER EU;Lo;0;L;<compat> 1173;;;;N;;;;;
+3162;HANGUL LETTER YI;Lo;0;L;<compat> 1174;;;;N;;;;;
+3163;HANGUL LETTER I;Lo;0;L;<compat> 1175;;;;N;;;;;
+3164;HANGUL FILLER;Lo;0;L;<compat> 1160;;;;N;HANGUL CAE OM;;;;
+3165;HANGUL LETTER SSANGNIEUN;Lo;0;L;<compat> 1114;;;;N;HANGUL LETTER SSANG NIEUN;;;;
+3166;HANGUL LETTER NIEUN-TIKEUT;Lo;0;L;<compat> 1115;;;;N;HANGUL LETTER NIEUN DIGEUD;;;;
+3167;HANGUL LETTER NIEUN-SIOS;Lo;0;L;<compat> 11C7;;;;N;HANGUL LETTER NIEUN SIOS;;;;
+3168;HANGUL LETTER NIEUN-PANSIOS;Lo;0;L;<compat> 11C8;;;;N;HANGUL LETTER NIEUN BAN CHI EUM;;;;
+3169;HANGUL LETTER RIEUL-KIYEOK-SIOS;Lo;0;L;<compat> 11CC;;;;N;HANGUL LETTER LIEUL GIYEOG SIOS;;;;
+316A;HANGUL LETTER RIEUL-TIKEUT;Lo;0;L;<compat> 11CE;;;;N;HANGUL LETTER LIEUL DIGEUD;;;;
+316B;HANGUL LETTER RIEUL-PIEUP-SIOS;Lo;0;L;<compat> 11D3;;;;N;HANGUL LETTER LIEUL BIEUB SIOS;;;;
+316C;HANGUL LETTER RIEUL-PANSIOS;Lo;0;L;<compat> 11D7;;;;N;HANGUL LETTER LIEUL BAN CHI EUM;;;;
+316D;HANGUL LETTER RIEUL-YEORINHIEUH;Lo;0;L;<compat> 11D9;;;;N;HANGUL LETTER LIEUL YEOLIN HIEUH;;;;
+316E;HANGUL LETTER MIEUM-PIEUP;Lo;0;L;<compat> 111C;;;;N;HANGUL LETTER MIEUM BIEUB;;;;
+316F;HANGUL LETTER MIEUM-SIOS;Lo;0;L;<compat> 11DD;;;;N;HANGUL LETTER MIEUM SIOS;;;;
+3170;HANGUL LETTER MIEUM-PANSIOS;Lo;0;L;<compat> 11DF;;;;N;HANGUL LETTER BIEUB BAN CHI EUM;;;;
+3171;HANGUL LETTER KAPYEOUNMIEUM;Lo;0;L;<compat> 111D;;;;N;HANGUL LETTER MIEUM SUN GYEONG EUM;;;;
+3172;HANGUL LETTER PIEUP-KIYEOK;Lo;0;L;<compat> 111E;;;;N;HANGUL LETTER BIEUB GIYEOG;;;;
+3173;HANGUL LETTER PIEUP-TIKEUT;Lo;0;L;<compat> 1120;;;;N;HANGUL LETTER BIEUB DIGEUD;;;;
+3174;HANGUL LETTER PIEUP-SIOS-KIYEOK;Lo;0;L;<compat> 1122;;;;N;HANGUL LETTER BIEUB SIOS GIYEOG;;;;
+3175;HANGUL LETTER PIEUP-SIOS-TIKEUT;Lo;0;L;<compat> 1123;;;;N;HANGUL LETTER BIEUB SIOS DIGEUD;;;;
+3176;HANGUL LETTER PIEUP-CIEUC;Lo;0;L;<compat> 1127;;;;N;HANGUL LETTER BIEUB JIEUJ;;;;
+3177;HANGUL LETTER PIEUP-THIEUTH;Lo;0;L;<compat> 1129;;;;N;HANGUL LETTER BIEUB TIEUT;;;;
+3178;HANGUL LETTER KAPYEOUNPIEUP;Lo;0;L;<compat> 112B;;;;N;HANGUL LETTER BIEUB SUN GYEONG EUM;;;;
+3179;HANGUL LETTER KAPYEOUNSSANGPIEUP;Lo;0;L;<compat> 112C;;;;N;HANGUL LETTER SSANG BIEUB SUN GYEONG EUM;;;;
+317A;HANGUL LETTER SIOS-KIYEOK;Lo;0;L;<compat> 112D;;;;N;HANGUL LETTER SIOS GIYEOG;;;;
+317B;HANGUL LETTER SIOS-NIEUN;Lo;0;L;<compat> 112E;;;;N;HANGUL LETTER SIOS NIEUN;;;;
+317C;HANGUL LETTER SIOS-TIKEUT;Lo;0;L;<compat> 112F;;;;N;HANGUL LETTER SIOS DIGEUD;;;;
+317D;HANGUL LETTER SIOS-PIEUP;Lo;0;L;<compat> 1132;;;;N;HANGUL LETTER SIOS BIEUB;;;;
+317E;HANGUL LETTER SIOS-CIEUC;Lo;0;L;<compat> 1136;;;;N;HANGUL LETTER SIOS JIEUJ;;;;
+317F;HANGUL LETTER PANSIOS;Lo;0;L;<compat> 1140;;;;N;HANGUL LETTER BAN CHI EUM;;;;
+3180;HANGUL LETTER SSANGIEUNG;Lo;0;L;<compat> 1147;;;;N;HANGUL LETTER SSANG IEUNG;;;;
+3181;HANGUL LETTER YESIEUNG;Lo;0;L;<compat> 114C;;;;N;HANGUL LETTER NGIEUNG;;;;
+3182;HANGUL LETTER YESIEUNG-SIOS;Lo;0;L;<compat> 11F1;;;;N;HANGUL LETTER NGIEUNG SIOS;;;;
+3183;HANGUL LETTER YESIEUNG-PANSIOS;Lo;0;L;<compat> 11F2;;;;N;HANGUL LETTER NGIEUNG BAN CHI EUM;;;;
+3184;HANGUL LETTER KAPYEOUNPHIEUPH;Lo;0;L;<compat> 1157;;;;N;HANGUL LETTER PIEUP SUN GYEONG EUM;;;;
+3185;HANGUL LETTER SSANGHIEUH;Lo;0;L;<compat> 1158;;;;N;HANGUL LETTER SSANG HIEUH;;;;
+3186;HANGUL LETTER YEORINHIEUH;Lo;0;L;<compat> 1159;;;;N;HANGUL LETTER YEOLIN HIEUH;;;;
+3187;HANGUL LETTER YO-YA;Lo;0;L;<compat> 1184;;;;N;HANGUL LETTER YOYA;;;;
+3188;HANGUL LETTER YO-YAE;Lo;0;L;<compat> 1185;;;;N;HANGUL LETTER YOYAE;;;;
+3189;HANGUL LETTER YO-I;Lo;0;L;<compat> 1188;;;;N;HANGUL LETTER YOI;;;;
+318A;HANGUL LETTER YU-YEO;Lo;0;L;<compat> 1191;;;;N;HANGUL LETTER YUYEO;;;;
+318B;HANGUL LETTER YU-YE;Lo;0;L;<compat> 1192;;;;N;HANGUL LETTER YUYE;;;;
+318C;HANGUL LETTER YU-I;Lo;0;L;<compat> 1194;;;;N;HANGUL LETTER YUI;;;;
+318D;HANGUL LETTER ARAEA;Lo;0;L;<compat> 119E;;;;N;HANGUL LETTER ALAE A;;;;
+318E;HANGUL LETTER ARAEAE;Lo;0;L;<compat> 11A1;;;;N;HANGUL LETTER ALAE AE;;;;
+3190;IDEOGRAPHIC ANNOTATION LINKING MARK;So;0;L;;;;;N;KANBUN TATETEN;Kanbun Tateten;;;
+3191;IDEOGRAPHIC ANNOTATION REVERSE MARK;So;0;L;;;;;N;KAERITEN RE;Kaeriten;;;
+3192;IDEOGRAPHIC ANNOTATION ONE MARK;No;0;L;<super> 4E00;;;1;N;KAERITEN ITI;Kaeriten;;;
+3193;IDEOGRAPHIC ANNOTATION TWO MARK;No;0;L;<super> 4E8C;;;2;N;KAERITEN NI;Kaeriten;;;
+3194;IDEOGRAPHIC ANNOTATION THREE MARK;No;0;L;<super> 4E09;;;3;N;KAERITEN SAN;Kaeriten;;;
+3195;IDEOGRAPHIC ANNOTATION FOUR MARK;No;0;L;<super> 56DB;;;4;N;KAERITEN SI;Kaeriten;;;
+3196;IDEOGRAPHIC ANNOTATION TOP MARK;So;0;L;<super> 4E0A;;;;N;KAERITEN ZYOU;Kaeriten;;;
+3197;IDEOGRAPHIC ANNOTATION MIDDLE MARK;So;0;L;<super> 4E2D;;;;N;KAERITEN TYUU;Kaeriten;;;
+3198;IDEOGRAPHIC ANNOTATION BOTTOM MARK;So;0;L;<super> 4E0B;;;;N;KAERITEN GE;Kaeriten;;;
+3199;IDEOGRAPHIC ANNOTATION FIRST MARK;So;0;L;<super> 7532;;;;N;KAERITEN KOU;Kaeriten;;;
+319A;IDEOGRAPHIC ANNOTATION SECOND MARK;So;0;L;<super> 4E59;;;;N;KAERITEN OTU;Kaeriten;;;
+319B;IDEOGRAPHIC ANNOTATION THIRD MARK;So;0;L;<super> 4E19;;;;N;KAERITEN HEI;Kaeriten;;;
+319C;IDEOGRAPHIC ANNOTATION FOURTH MARK;So;0;L;<super> 4E01;;;;N;KAERITEN TEI;Kaeriten;;;
+319D;IDEOGRAPHIC ANNOTATION HEAVEN MARK;So;0;L;<super> 5929;;;;N;KAERITEN TEN;Kaeriten;;;
+319E;IDEOGRAPHIC ANNOTATION EARTH MARK;So;0;L;<super> 5730;;;;N;KAERITEN TI;Kaeriten;;;
+319F;IDEOGRAPHIC ANNOTATION MAN MARK;So;0;L;<super> 4EBA;;;;N;KAERITEN ZIN;Kaeriten;;;
+31A0;BOPOMOFO LETTER BU;Lo;0;L;;;;;N;;;;;
+31A1;BOPOMOFO LETTER ZI;Lo;0;L;;;;;N;;;;;
+31A2;BOPOMOFO LETTER JI;Lo;0;L;;;;;N;;;;;
+31A3;BOPOMOFO LETTER GU;Lo;0;L;;;;;N;;;;;
+31A4;BOPOMOFO LETTER EE;Lo;0;L;;;;;N;;;;;
+31A5;BOPOMOFO LETTER ENN;Lo;0;L;;;;;N;;;;;
+31A6;BOPOMOFO LETTER OO;Lo;0;L;;;;;N;;;;;
+31A7;BOPOMOFO LETTER ONN;Lo;0;L;;;;;N;;;;;
+31A8;BOPOMOFO LETTER IR;Lo;0;L;;;;;N;;;;;
+31A9;BOPOMOFO LETTER ANN;Lo;0;L;;;;;N;;;;;
+31AA;BOPOMOFO LETTER INN;Lo;0;L;;;;;N;;;;;
+31AB;BOPOMOFO LETTER UNN;Lo;0;L;;;;;N;;;;;
+31AC;BOPOMOFO LETTER IM;Lo;0;L;;;;;N;;;;;
+31AD;BOPOMOFO LETTER NGG;Lo;0;L;;;;;N;;;;;
+31AE;BOPOMOFO LETTER AINN;Lo;0;L;;;;;N;;;;;
+31AF;BOPOMOFO LETTER AUNN;Lo;0;L;;;;;N;;;;;
+31B0;BOPOMOFO LETTER AM;Lo;0;L;;;;;N;;;;;
+31B1;BOPOMOFO LETTER OM;Lo;0;L;;;;;N;;;;;
+31B2;BOPOMOFO LETTER ONG;Lo;0;L;;;;;N;;;;;
+31B3;BOPOMOFO LETTER INNN;Lo;0;L;;;;;N;;;;;
+31B4;BOPOMOFO FINAL LETTER P;Lo;0;L;;;;;N;;;;;
+31B5;BOPOMOFO FINAL LETTER T;Lo;0;L;;;;;N;;;;;
+31B6;BOPOMOFO FINAL LETTER K;Lo;0;L;;;;;N;;;;;
+31B7;BOPOMOFO FINAL LETTER H;Lo;0;L;;;;;N;;;;;
+31C0;CJK STROKE T;So;0;ON;;;;;N;;;;;
+31C1;CJK STROKE WG;So;0;ON;;;;;N;;;;;
+31C2;CJK STROKE XG;So;0;ON;;;;;N;;;;;
+31C3;CJK STROKE BXG;So;0;ON;;;;;N;;;;;
+31C4;CJK STROKE SW;So;0;ON;;;;;N;;;;;
+31C5;CJK STROKE HZZ;So;0;ON;;;;;N;;;;;
+31C6;CJK STROKE HZG;So;0;ON;;;;;N;;;;;
+31C7;CJK STROKE HP;So;0;ON;;;;;N;;;;;
+31C8;CJK STROKE HZWG;So;0;ON;;;;;N;;;;;
+31C9;CJK STROKE SZWG;So;0;ON;;;;;N;;;;;
+31CA;CJK STROKE HZT;So;0;ON;;;;;N;;;;;
+31CB;CJK STROKE HZZP;So;0;ON;;;;;N;;;;;
+31CC;CJK STROKE HPWG;So;0;ON;;;;;N;;;;;
+31CD;CJK STROKE HZW;So;0;ON;;;;;N;;;;;
+31CE;CJK STROKE HZZZ;So;0;ON;;;;;N;;;;;
+31CF;CJK STROKE N;So;0;ON;;;;;N;;;;;
+31F0;KATAKANA LETTER SMALL KU;Lo;0;L;;;;;N;;;;;
+31F1;KATAKANA LETTER SMALL SI;Lo;0;L;;;;;N;;;;;
+31F2;KATAKANA LETTER SMALL SU;Lo;0;L;;;;;N;;;;;
+31F3;KATAKANA LETTER SMALL TO;Lo;0;L;;;;;N;;;;;
+31F4;KATAKANA LETTER SMALL NU;Lo;0;L;;;;;N;;;;;
+31F5;KATAKANA LETTER SMALL HA;Lo;0;L;;;;;N;;;;;
+31F6;KATAKANA LETTER SMALL HI;Lo;0;L;;;;;N;;;;;
+31F7;KATAKANA LETTER SMALL HU;Lo;0;L;;;;;N;;;;;
+31F8;KATAKANA LETTER SMALL HE;Lo;0;L;;;;;N;;;;;
+31F9;KATAKANA LETTER SMALL HO;Lo;0;L;;;;;N;;;;;
+31FA;KATAKANA LETTER SMALL MU;Lo;0;L;;;;;N;;;;;
+31FB;KATAKANA LETTER SMALL RA;Lo;0;L;;;;;N;;;;;
+31FC;KATAKANA LETTER SMALL RI;Lo;0;L;;;;;N;;;;;
+31FD;KATAKANA LETTER SMALL RU;Lo;0;L;;;;;N;;;;;
+31FE;KATAKANA LETTER SMALL RE;Lo;0;L;;;;;N;;;;;
+31FF;KATAKANA LETTER SMALL RO;Lo;0;L;;;;;N;;;;;
+3200;PARENTHESIZED HANGUL KIYEOK;So;0;L;<compat> 0028 1100 0029;;;;N;PARENTHESIZED HANGUL GIYEOG;;;;
+3201;PARENTHESIZED HANGUL NIEUN;So;0;L;<compat> 0028 1102 0029;;;;N;;;;;
+3202;PARENTHESIZED HANGUL TIKEUT;So;0;L;<compat> 0028 1103 0029;;;;N;PARENTHESIZED HANGUL DIGEUD;;;;
+3203;PARENTHESIZED HANGUL RIEUL;So;0;L;<compat> 0028 1105 0029;;;;N;PARENTHESIZED HANGUL LIEUL;;;;
+3204;PARENTHESIZED HANGUL MIEUM;So;0;L;<compat> 0028 1106 0029;;;;N;;;;;
+3205;PARENTHESIZED HANGUL PIEUP;So;0;L;<compat> 0028 1107 0029;;;;N;PARENTHESIZED HANGUL BIEUB;;;;
+3206;PARENTHESIZED HANGUL SIOS;So;0;L;<compat> 0028 1109 0029;;;;N;;;;;
+3207;PARENTHESIZED HANGUL IEUNG;So;0;L;<compat> 0028 110B 0029;;;;N;;;;;
+3208;PARENTHESIZED HANGUL CIEUC;So;0;L;<compat> 0028 110C 0029;;;;N;PARENTHESIZED HANGUL JIEUJ;;;;
+3209;PARENTHESIZED HANGUL CHIEUCH;So;0;L;<compat> 0028 110E 0029;;;;N;PARENTHESIZED HANGUL CIEUC;;;;
+320A;PARENTHESIZED HANGUL KHIEUKH;So;0;L;<compat> 0028 110F 0029;;;;N;PARENTHESIZED HANGUL KIYEOK;;;;
+320B;PARENTHESIZED HANGUL THIEUTH;So;0;L;<compat> 0028 1110 0029;;;;N;PARENTHESIZED HANGUL TIEUT;;;;
+320C;PARENTHESIZED HANGUL PHIEUPH;So;0;L;<compat> 0028 1111 0029;;;;N;PARENTHESIZED HANGUL PIEUP;;;;
+320D;PARENTHESIZED HANGUL HIEUH;So;0;L;<compat> 0028 1112 0029;;;;N;;;;;
+320E;PARENTHESIZED HANGUL KIYEOK A;So;0;L;<compat> 0028 1100 1161 0029;;;;N;PARENTHESIZED HANGUL GA;;;;
+320F;PARENTHESIZED HANGUL NIEUN A;So;0;L;<compat> 0028 1102 1161 0029;;;;N;PARENTHESIZED HANGUL NA;;;;
+3210;PARENTHESIZED HANGUL TIKEUT A;So;0;L;<compat> 0028 1103 1161 0029;;;;N;PARENTHESIZED HANGUL DA;;;;
+3211;PARENTHESIZED HANGUL RIEUL A;So;0;L;<compat> 0028 1105 1161 0029;;;;N;PARENTHESIZED HANGUL LA;;;;
+3212;PARENTHESIZED HANGUL MIEUM A;So;0;L;<compat> 0028 1106 1161 0029;;;;N;PARENTHESIZED HANGUL MA;;;;
+3213;PARENTHESIZED HANGUL PIEUP A;So;0;L;<compat> 0028 1107 1161 0029;;;;N;PARENTHESIZED HANGUL BA;;;;
+3214;PARENTHESIZED HANGUL SIOS A;So;0;L;<compat> 0028 1109 1161 0029;;;;N;PARENTHESIZED HANGUL SA;;;;
+3215;PARENTHESIZED HANGUL IEUNG A;So;0;L;<compat> 0028 110B 1161 0029;;;;N;PARENTHESIZED HANGUL A;;;;
+3216;PARENTHESIZED HANGUL CIEUC A;So;0;L;<compat> 0028 110C 1161 0029;;;;N;PARENTHESIZED HANGUL JA;;;;
+3217;PARENTHESIZED HANGUL CHIEUCH A;So;0;L;<compat> 0028 110E 1161 0029;;;;N;PARENTHESIZED HANGUL CA;;;;
+3218;PARENTHESIZED HANGUL KHIEUKH A;So;0;L;<compat> 0028 110F 1161 0029;;;;N;PARENTHESIZED HANGUL KA;;;;
+3219;PARENTHESIZED HANGUL THIEUTH A;So;0;L;<compat> 0028 1110 1161 0029;;;;N;PARENTHESIZED HANGUL TA;;;;
+321A;PARENTHESIZED HANGUL PHIEUPH A;So;0;L;<compat> 0028 1111 1161 0029;;;;N;PARENTHESIZED HANGUL PA;;;;
+321B;PARENTHESIZED HANGUL HIEUH A;So;0;L;<compat> 0028 1112 1161 0029;;;;N;PARENTHESIZED HANGUL HA;;;;
+321C;PARENTHESIZED HANGUL CIEUC U;So;0;L;<compat> 0028 110C 116E 0029;;;;N;PARENTHESIZED HANGUL JU;;;;
+321D;PARENTHESIZED KOREAN CHARACTER OJEON;So;0;ON;<compat> 0028 110B 1169 110C 1165 11AB 0029;;;;N;;;;;
+321E;PARENTHESIZED KOREAN CHARACTER O HU;So;0;ON;<compat> 0028 110B 1169 1112 116E 0029;;;;N;;;;;
+3220;PARENTHESIZED IDEOGRAPH ONE;No;0;L;<compat> 0028 4E00 0029;;;1;N;;;;;
+3221;PARENTHESIZED IDEOGRAPH TWO;No;0;L;<compat> 0028 4E8C 0029;;;2;N;;;;;
+3222;PARENTHESIZED IDEOGRAPH THREE;No;0;L;<compat> 0028 4E09 0029;;;3;N;;;;;
+3223;PARENTHESIZED IDEOGRAPH FOUR;No;0;L;<compat> 0028 56DB 0029;;;4;N;;;;;
+3224;PARENTHESIZED IDEOGRAPH FIVE;No;0;L;<compat> 0028 4E94 0029;;;5;N;;;;;
+3225;PARENTHESIZED IDEOGRAPH SIX;No;0;L;<compat> 0028 516D 0029;;;6;N;;;;;
+3226;PARENTHESIZED IDEOGRAPH SEVEN;No;0;L;<compat> 0028 4E03 0029;;;7;N;;;;;
+3227;PARENTHESIZED IDEOGRAPH EIGHT;No;0;L;<compat> 0028 516B 0029;;;8;N;;;;;
+3228;PARENTHESIZED IDEOGRAPH NINE;No;0;L;<compat> 0028 4E5D 0029;;;9;N;;;;;
+3229;PARENTHESIZED IDEOGRAPH TEN;No;0;L;<compat> 0028 5341 0029;;;10;N;;;;;
+322A;PARENTHESIZED IDEOGRAPH MOON;So;0;L;<compat> 0028 6708 0029;;;;N;;;;;
+322B;PARENTHESIZED IDEOGRAPH FIRE;So;0;L;<compat> 0028 706B 0029;;;;N;;;;;
+322C;PARENTHESIZED IDEOGRAPH WATER;So;0;L;<compat> 0028 6C34 0029;;;;N;;;;;
+322D;PARENTHESIZED IDEOGRAPH WOOD;So;0;L;<compat> 0028 6728 0029;;;;N;;;;;
+322E;PARENTHESIZED IDEOGRAPH METAL;So;0;L;<compat> 0028 91D1 0029;;;;N;;;;;
+322F;PARENTHESIZED IDEOGRAPH EARTH;So;0;L;<compat> 0028 571F 0029;;;;N;;;;;
+3230;PARENTHESIZED IDEOGRAPH SUN;So;0;L;<compat> 0028 65E5 0029;;;;N;;;;;
+3231;PARENTHESIZED IDEOGRAPH STOCK;So;0;L;<compat> 0028 682A 0029;;;;N;;;;;
+3232;PARENTHESIZED IDEOGRAPH HAVE;So;0;L;<compat> 0028 6709 0029;;;;N;;;;;
+3233;PARENTHESIZED IDEOGRAPH SOCIETY;So;0;L;<compat> 0028 793E 0029;;;;N;;;;;
+3234;PARENTHESIZED IDEOGRAPH NAME;So;0;L;<compat> 0028 540D 0029;;;;N;;;;;
+3235;PARENTHESIZED IDEOGRAPH SPECIAL;So;0;L;<compat> 0028 7279 0029;;;;N;;;;;
+3236;PARENTHESIZED IDEOGRAPH FINANCIAL;So;0;L;<compat> 0028 8CA1 0029;;;;N;;;;;
+3237;PARENTHESIZED IDEOGRAPH CONGRATULATION;So;0;L;<compat> 0028 795D 0029;;;;N;;;;;
+3238;PARENTHESIZED IDEOGRAPH LABOR;So;0;L;<compat> 0028 52B4 0029;;;;N;;;;;
+3239;PARENTHESIZED IDEOGRAPH REPRESENT;So;0;L;<compat> 0028 4EE3 0029;;;;N;;;;;
+323A;PARENTHESIZED IDEOGRAPH CALL;So;0;L;<compat> 0028 547C 0029;;;;N;;;;;
+323B;PARENTHESIZED IDEOGRAPH STUDY;So;0;L;<compat> 0028 5B66 0029;;;;N;;;;;
+323C;PARENTHESIZED IDEOGRAPH SUPERVISE;So;0;L;<compat> 0028 76E3 0029;;;;N;;;;;
+323D;PARENTHESIZED IDEOGRAPH ENTERPRISE;So;0;L;<compat> 0028 4F01 0029;;;;N;;;;;
+323E;PARENTHESIZED IDEOGRAPH RESOURCE;So;0;L;<compat> 0028 8CC7 0029;;;;N;;;;;
+323F;PARENTHESIZED IDEOGRAPH ALLIANCE;So;0;L;<compat> 0028 5354 0029;;;;N;;;;;
+3240;PARENTHESIZED IDEOGRAPH FESTIVAL;So;0;L;<compat> 0028 796D 0029;;;;N;;;;;
+3241;PARENTHESIZED IDEOGRAPH REST;So;0;L;<compat> 0028 4F11 0029;;;;N;;;;;
+3242;PARENTHESIZED IDEOGRAPH SELF;So;0;L;<compat> 0028 81EA 0029;;;;N;;;;;
+3243;PARENTHESIZED IDEOGRAPH REACH;So;0;L;<compat> 0028 81F3 0029;;;;N;;;;;
+3250;PARTNERSHIP SIGN;So;0;ON;<square> 0050 0054 0045;;;;N;;;;;
+3251;CIRCLED NUMBER TWENTY ONE;No;0;ON;<circle> 0032 0031;;;21;N;;;;;
+3252;CIRCLED NUMBER TWENTY TWO;No;0;ON;<circle> 0032 0032;;;22;N;;;;;
+3253;CIRCLED NUMBER TWENTY THREE;No;0;ON;<circle> 0032 0033;;;23;N;;;;;
+3254;CIRCLED NUMBER TWENTY FOUR;No;0;ON;<circle> 0032 0034;;;24;N;;;;;
+3255;CIRCLED NUMBER TWENTY FIVE;No;0;ON;<circle> 0032 0035;;;25;N;;;;;
+3256;CIRCLED NUMBER TWENTY SIX;No;0;ON;<circle> 0032 0036;;;26;N;;;;;
+3257;CIRCLED NUMBER TWENTY SEVEN;No;0;ON;<circle> 0032 0037;;;27;N;;;;;
+3258;CIRCLED NUMBER TWENTY EIGHT;No;0;ON;<circle> 0032 0038;;;28;N;;;;;
+3259;CIRCLED NUMBER TWENTY NINE;No;0;ON;<circle> 0032 0039;;;29;N;;;;;
+325A;CIRCLED NUMBER THIRTY;No;0;ON;<circle> 0033 0030;;;30;N;;;;;
+325B;CIRCLED NUMBER THIRTY ONE;No;0;ON;<circle> 0033 0031;;;31;N;;;;;
+325C;CIRCLED NUMBER THIRTY TWO;No;0;ON;<circle> 0033 0032;;;32;N;;;;;
+325D;CIRCLED NUMBER THIRTY THREE;No;0;ON;<circle> 0033 0033;;;33;N;;;;;
+325E;CIRCLED NUMBER THIRTY FOUR;No;0;ON;<circle> 0033 0034;;;34;N;;;;;
+325F;CIRCLED NUMBER THIRTY FIVE;No;0;ON;<circle> 0033 0035;;;35;N;;;;;
+3260;CIRCLED HANGUL KIYEOK;So;0;L;<circle> 1100;;;;N;CIRCLED HANGUL GIYEOG;;;;
+3261;CIRCLED HANGUL NIEUN;So;0;L;<circle> 1102;;;;N;;;;;
+3262;CIRCLED HANGUL TIKEUT;So;0;L;<circle> 1103;;;;N;CIRCLED HANGUL DIGEUD;;;;
+3263;CIRCLED HANGUL RIEUL;So;0;L;<circle> 1105;;;;N;CIRCLED HANGUL LIEUL;;;;
+3264;CIRCLED HANGUL MIEUM;So;0;L;<circle> 1106;;;;N;;;;;
+3265;CIRCLED HANGUL PIEUP;So;0;L;<circle> 1107;;;;N;CIRCLED HANGUL BIEUB;;;;
+3266;CIRCLED HANGUL SIOS;So;0;L;<circle> 1109;;;;N;;;;;
+3267;CIRCLED HANGUL IEUNG;So;0;L;<circle> 110B;;;;N;;;;;
+3268;CIRCLED HANGUL CIEUC;So;0;L;<circle> 110C;;;;N;CIRCLED HANGUL JIEUJ;;;;
+3269;CIRCLED HANGUL CHIEUCH;So;0;L;<circle> 110E;;;;N;CIRCLED HANGUL CIEUC;;;;
+326A;CIRCLED HANGUL KHIEUKH;So;0;L;<circle> 110F;;;;N;CIRCLED HANGUL KIYEOK;;;;
+326B;CIRCLED HANGUL THIEUTH;So;0;L;<circle> 1110;;;;N;CIRCLED HANGUL TIEUT;;;;
+326C;CIRCLED HANGUL PHIEUPH;So;0;L;<circle> 1111;;;;N;CIRCLED HANGUL PIEUP;;;;
+326D;CIRCLED HANGUL HIEUH;So;0;L;<circle> 1112;;;;N;;;;;
+326E;CIRCLED HANGUL KIYEOK A;So;0;L;<circle> 1100 1161;;;;N;CIRCLED HANGUL GA;;;;
+326F;CIRCLED HANGUL NIEUN A;So;0;L;<circle> 1102 1161;;;;N;CIRCLED HANGUL NA;;;;
+3270;CIRCLED HANGUL TIKEUT A;So;0;L;<circle> 1103 1161;;;;N;CIRCLED HANGUL DA;;;;
+3271;CIRCLED HANGUL RIEUL A;So;0;L;<circle> 1105 1161;;;;N;CIRCLED HANGUL LA;;;;
+3272;CIRCLED HANGUL MIEUM A;So;0;L;<circle> 1106 1161;;;;N;CIRCLED HANGUL MA;;;;
+3273;CIRCLED HANGUL PIEUP A;So;0;L;<circle> 1107 1161;;;;N;CIRCLED HANGUL BA;;;;
+3274;CIRCLED HANGUL SIOS A;So;0;L;<circle> 1109 1161;;;;N;CIRCLED HANGUL SA;;;;
+3275;CIRCLED HANGUL IEUNG A;So;0;L;<circle> 110B 1161;;;;N;CIRCLED HANGUL A;;;;
+3276;CIRCLED HANGUL CIEUC A;So;0;L;<circle> 110C 1161;;;;N;CIRCLED HANGUL JA;;;;
+3277;CIRCLED HANGUL CHIEUCH A;So;0;L;<circle> 110E 1161;;;;N;CIRCLED HANGUL CA;;;;
+3278;CIRCLED HANGUL KHIEUKH A;So;0;L;<circle> 110F 1161;;;;N;CIRCLED HANGUL KA;;;;
+3279;CIRCLED HANGUL THIEUTH A;So;0;L;<circle> 1110 1161;;;;N;CIRCLED HANGUL TA;;;;
+327A;CIRCLED HANGUL PHIEUPH A;So;0;L;<circle> 1111 1161;;;;N;CIRCLED HANGUL PA;;;;
+327B;CIRCLED HANGUL HIEUH A;So;0;L;<circle> 1112 1161;;;;N;CIRCLED HANGUL HA;;;;
+327C;CIRCLED KOREAN CHARACTER CHAMKO;So;0;ON;<circle> 110E 1161 11B7 1100 1169;;;;N;;;;;
+327D;CIRCLED KOREAN CHARACTER JUEUI;So;0;ON;<circle> 110C 116E 110B 1174;;;;N;;;;;
+327E;CIRCLED HANGUL IEUNG U;So;0;ON;<circle> 110B 116E;;;;N;;;;;
+327F;KOREAN STANDARD SYMBOL;So;0;L;;;;;N;;;;;
+3280;CIRCLED IDEOGRAPH ONE;No;0;L;<circle> 4E00;;;1;N;;;;;
+3281;CIRCLED IDEOGRAPH TWO;No;0;L;<circle> 4E8C;;;2;N;;;;;
+3282;CIRCLED IDEOGRAPH THREE;No;0;L;<circle> 4E09;;;3;N;;;;;
+3283;CIRCLED IDEOGRAPH FOUR;No;0;L;<circle> 56DB;;;4;N;;;;;
+3284;CIRCLED IDEOGRAPH FIVE;No;0;L;<circle> 4E94;;;5;N;;;;;
+3285;CIRCLED IDEOGRAPH SIX;No;0;L;<circle> 516D;;;6;N;;;;;
+3286;CIRCLED IDEOGRAPH SEVEN;No;0;L;<circle> 4E03;;;7;N;;;;;
+3287;CIRCLED IDEOGRAPH EIGHT;No;0;L;<circle> 516B;;;8;N;;;;;
+3288;CIRCLED IDEOGRAPH NINE;No;0;L;<circle> 4E5D;;;9;N;;;;;
+3289;CIRCLED IDEOGRAPH TEN;No;0;L;<circle> 5341;;;10;N;;;;;
+328A;CIRCLED IDEOGRAPH MOON;So;0;L;<circle> 6708;;;;N;;;;;
+328B;CIRCLED IDEOGRAPH FIRE;So;0;L;<circle> 706B;;;;N;;;;;
+328C;CIRCLED IDEOGRAPH WATER;So;0;L;<circle> 6C34;;;;N;;;;;
+328D;CIRCLED IDEOGRAPH WOOD;So;0;L;<circle> 6728;;;;N;;;;;
+328E;CIRCLED IDEOGRAPH METAL;So;0;L;<circle> 91D1;;;;N;;;;;
+328F;CIRCLED IDEOGRAPH EARTH;So;0;L;<circle> 571F;;;;N;;;;;
+3290;CIRCLED IDEOGRAPH SUN;So;0;L;<circle> 65E5;;;;N;;;;;
+3291;CIRCLED IDEOGRAPH STOCK;So;0;L;<circle> 682A;;;;N;;;;;
+3292;CIRCLED IDEOGRAPH HAVE;So;0;L;<circle> 6709;;;;N;;;;;
+3293;CIRCLED IDEOGRAPH SOCIETY;So;0;L;<circle> 793E;;;;N;;;;;
+3294;CIRCLED IDEOGRAPH NAME;So;0;L;<circle> 540D;;;;N;;;;;
+3295;CIRCLED IDEOGRAPH SPECIAL;So;0;L;<circle> 7279;;;;N;;;;;
+3296;CIRCLED IDEOGRAPH FINANCIAL;So;0;L;<circle> 8CA1;;;;N;;;;;
+3297;CIRCLED IDEOGRAPH CONGRATULATION;So;0;L;<circle> 795D;;;;N;;;;;
+3298;CIRCLED IDEOGRAPH LABOR;So;0;L;<circle> 52B4;;;;N;;;;;
+3299;CIRCLED IDEOGRAPH SECRET;So;0;L;<circle> 79D8;;;;N;;;;;
+329A;CIRCLED IDEOGRAPH MALE;So;0;L;<circle> 7537;;;;N;;;;;
+329B;CIRCLED IDEOGRAPH FEMALE;So;0;L;<circle> 5973;;;;N;;;;;
+329C;CIRCLED IDEOGRAPH SUITABLE;So;0;L;<circle> 9069;;;;N;;;;;
+329D;CIRCLED IDEOGRAPH EXCELLENT;So;0;L;<circle> 512A;;;;N;;;;;
+329E;CIRCLED IDEOGRAPH PRINT;So;0;L;<circle> 5370;;;;N;;;;;
+329F;CIRCLED IDEOGRAPH ATTENTION;So;0;L;<circle> 6CE8;;;;N;;;;;
+32A0;CIRCLED IDEOGRAPH ITEM;So;0;L;<circle> 9805;;;;N;;;;;
+32A1;CIRCLED IDEOGRAPH REST;So;0;L;<circle> 4F11;;;;N;;;;;
+32A2;CIRCLED IDEOGRAPH COPY;So;0;L;<circle> 5199;;;;N;;;;;
+32A3;CIRCLED IDEOGRAPH CORRECT;So;0;L;<circle> 6B63;;;;N;;;;;
+32A4;CIRCLED IDEOGRAPH HIGH;So;0;L;<circle> 4E0A;;;;N;;;;;
+32A5;CIRCLED IDEOGRAPH CENTRE;So;0;L;<circle> 4E2D;;;;N;CIRCLED IDEOGRAPH CENTER;;;;
+32A6;CIRCLED IDEOGRAPH LOW;So;0;L;<circle> 4E0B;;;;N;;;;;
+32A7;CIRCLED IDEOGRAPH LEFT;So;0;L;<circle> 5DE6;;;;N;;;;;
+32A8;CIRCLED IDEOGRAPH RIGHT;So;0;L;<circle> 53F3;;;;N;;;;;
+32A9;CIRCLED IDEOGRAPH MEDICINE;So;0;L;<circle> 533B;;;;N;;;;;
+32AA;CIRCLED IDEOGRAPH RELIGION;So;0;L;<circle> 5B97;;;;N;;;;;
+32AB;CIRCLED IDEOGRAPH STUDY;So;0;L;<circle> 5B66;;;;N;;;;;
+32AC;CIRCLED IDEOGRAPH SUPERVISE;So;0;L;<circle> 76E3;;;;N;;;;;
+32AD;CIRCLED IDEOGRAPH ENTERPRISE;So;0;L;<circle> 4F01;;;;N;;;;;
+32AE;CIRCLED IDEOGRAPH RESOURCE;So;0;L;<circle> 8CC7;;;;N;;;;;
+32AF;CIRCLED IDEOGRAPH ALLIANCE;So;0;L;<circle> 5354;;;;N;;;;;
+32B0;CIRCLED IDEOGRAPH NIGHT;So;0;L;<circle> 591C;;;;N;;;;;
+32B1;CIRCLED NUMBER THIRTY SIX;No;0;ON;<circle> 0033 0036;;;36;N;;;;;
+32B2;CIRCLED NUMBER THIRTY SEVEN;No;0;ON;<circle> 0033 0037;;;37;N;;;;;
+32B3;CIRCLED NUMBER THIRTY EIGHT;No;0;ON;<circle> 0033 0038;;;38;N;;;;;
+32B4;CIRCLED NUMBER THIRTY NINE;No;0;ON;<circle> 0033 0039;;;39;N;;;;;
+32B5;CIRCLED NUMBER FORTY;No;0;ON;<circle> 0034 0030;;;40;N;;;;;
+32B6;CIRCLED NUMBER FORTY ONE;No;0;ON;<circle> 0034 0031;;;41;N;;;;;
+32B7;CIRCLED NUMBER FORTY TWO;No;0;ON;<circle> 0034 0032;;;42;N;;;;;
+32B8;CIRCLED NUMBER FORTY THREE;No;0;ON;<circle> 0034 0033;;;43;N;;;;;
+32B9;CIRCLED NUMBER FORTY FOUR;No;0;ON;<circle> 0034 0034;;;44;N;;;;;
+32BA;CIRCLED NUMBER FORTY FIVE;No;0;ON;<circle> 0034 0035;;;45;N;;;;;
+32BB;CIRCLED NUMBER FORTY SIX;No;0;ON;<circle> 0034 0036;;;46;N;;;;;
+32BC;CIRCLED NUMBER FORTY SEVEN;No;0;ON;<circle> 0034 0037;;;47;N;;;;;
+32BD;CIRCLED NUMBER FORTY EIGHT;No;0;ON;<circle> 0034 0038;;;48;N;;;;;
+32BE;CIRCLED NUMBER FORTY NINE;No;0;ON;<circle> 0034 0039;;;49;N;;;;;
+32BF;CIRCLED NUMBER FIFTY;No;0;ON;<circle> 0035 0030;;;50;N;;;;;
+32C0;IDEOGRAPHIC TELEGRAPH SYMBOL FOR JANUARY;So;0;L;<compat> 0031 6708;;;;N;;;;;
+32C1;IDEOGRAPHIC TELEGRAPH SYMBOL FOR FEBRUARY;So;0;L;<compat> 0032 6708;;;;N;;;;;
+32C2;IDEOGRAPHIC TELEGRAPH SYMBOL FOR MARCH;So;0;L;<compat> 0033 6708;;;;N;;;;;
+32C3;IDEOGRAPHIC TELEGRAPH SYMBOL FOR APRIL;So;0;L;<compat> 0034 6708;;;;N;;;;;
+32C4;IDEOGRAPHIC TELEGRAPH SYMBOL FOR MAY;So;0;L;<compat> 0035 6708;;;;N;;;;;
+32C5;IDEOGRAPHIC TELEGRAPH SYMBOL FOR JUNE;So;0;L;<compat> 0036 6708;;;;N;;;;;
+32C6;IDEOGRAPHIC TELEGRAPH SYMBOL FOR JULY;So;0;L;<compat> 0037 6708;;;;N;;;;;
+32C7;IDEOGRAPHIC TELEGRAPH SYMBOL FOR AUGUST;So;0;L;<compat> 0038 6708;;;;N;;;;;
+32C8;IDEOGRAPHIC TELEGRAPH SYMBOL FOR SEPTEMBER;So;0;L;<compat> 0039 6708;;;;N;;;;;
+32C9;IDEOGRAPHIC TELEGRAPH SYMBOL FOR OCTOBER;So;0;L;<compat> 0031 0030 6708;;;;N;;;;;
+32CA;IDEOGRAPHIC TELEGRAPH SYMBOL FOR NOVEMBER;So;0;L;<compat> 0031 0031 6708;;;;N;;;;;
+32CB;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DECEMBER;So;0;L;<compat> 0031 0032 6708;;;;N;;;;;
+32CC;SQUARE HG;So;0;ON;<square> 0048 0067;;;;N;;;;;
+32CD;SQUARE ERG;So;0;ON;<square> 0065 0072 0067;;;;N;;;;;
+32CE;SQUARE EV;So;0;ON;<square> 0065 0056;;;;N;;;;;
+32CF;LIMITED LIABILITY SIGN;So;0;ON;<square> 004C 0054 0044;;;;N;;;;;
+32D0;CIRCLED KATAKANA A;So;0;L;<circle> 30A2;;;;N;;;;;
+32D1;CIRCLED KATAKANA I;So;0;L;<circle> 30A4;;;;N;;;;;
+32D2;CIRCLED KATAKANA U;So;0;L;<circle> 30A6;;;;N;;;;;
+32D3;CIRCLED KATAKANA E;So;0;L;<circle> 30A8;;;;N;;;;;
+32D4;CIRCLED KATAKANA O;So;0;L;<circle> 30AA;;;;N;;;;;
+32D5;CIRCLED KATAKANA KA;So;0;L;<circle> 30AB;;;;N;;;;;
+32D6;CIRCLED KATAKANA KI;So;0;L;<circle> 30AD;;;;N;;;;;
+32D7;CIRCLED KATAKANA KU;So;0;L;<circle> 30AF;;;;N;;;;;
+32D8;CIRCLED KATAKANA KE;So;0;L;<circle> 30B1;;;;N;;;;;
+32D9;CIRCLED KATAKANA KO;So;0;L;<circle> 30B3;;;;N;;;;;
+32DA;CIRCLED KATAKANA SA;So;0;L;<circle> 30B5;;;;N;;;;;
+32DB;CIRCLED KATAKANA SI;So;0;L;<circle> 30B7;;;;N;;;;;
+32DC;CIRCLED KATAKANA SU;So;0;L;<circle> 30B9;;;;N;;;;;
+32DD;CIRCLED KATAKANA SE;So;0;L;<circle> 30BB;;;;N;;;;;
+32DE;CIRCLED KATAKANA SO;So;0;L;<circle> 30BD;;;;N;;;;;
+32DF;CIRCLED KATAKANA TA;So;0;L;<circle> 30BF;;;;N;;;;;
+32E0;CIRCLED KATAKANA TI;So;0;L;<circle> 30C1;;;;N;;;;;
+32E1;CIRCLED KATAKANA TU;So;0;L;<circle> 30C4;;;;N;;;;;
+32E2;CIRCLED KATAKANA TE;So;0;L;<circle> 30C6;;;;N;;;;;
+32E3;CIRCLED KATAKANA TO;So;0;L;<circle> 30C8;;;;N;;;;;
+32E4;CIRCLED KATAKANA NA;So;0;L;<circle> 30CA;;;;N;;;;;
+32E5;CIRCLED KATAKANA NI;So;0;L;<circle> 30CB;;;;N;;;;;
+32E6;CIRCLED KATAKANA NU;So;0;L;<circle> 30CC;;;;N;;;;;
+32E7;CIRCLED KATAKANA NE;So;0;L;<circle> 30CD;;;;N;;;;;
+32E8;CIRCLED KATAKANA NO;So;0;L;<circle> 30CE;;;;N;;;;;
+32E9;CIRCLED KATAKANA HA;So;0;L;<circle> 30CF;;;;N;;;;;
+32EA;CIRCLED KATAKANA HI;So;0;L;<circle> 30D2;;;;N;;;;;
+32EB;CIRCLED KATAKANA HU;So;0;L;<circle> 30D5;;;;N;;;;;
+32EC;CIRCLED KATAKANA HE;So;0;L;<circle> 30D8;;;;N;;;;;
+32ED;CIRCLED KATAKANA HO;So;0;L;<circle> 30DB;;;;N;;;;;
+32EE;CIRCLED KATAKANA MA;So;0;L;<circle> 30DE;;;;N;;;;;
+32EF;CIRCLED KATAKANA MI;So;0;L;<circle> 30DF;;;;N;;;;;
+32F0;CIRCLED KATAKANA MU;So;0;L;<circle> 30E0;;;;N;;;;;
+32F1;CIRCLED KATAKANA ME;So;0;L;<circle> 30E1;;;;N;;;;;
+32F2;CIRCLED KATAKANA MO;So;0;L;<circle> 30E2;;;;N;;;;;
+32F3;CIRCLED KATAKANA YA;So;0;L;<circle> 30E4;;;;N;;;;;
+32F4;CIRCLED KATAKANA YU;So;0;L;<circle> 30E6;;;;N;;;;;
+32F5;CIRCLED KATAKANA YO;So;0;L;<circle> 30E8;;;;N;;;;;
+32F6;CIRCLED KATAKANA RA;So;0;L;<circle> 30E9;;;;N;;;;;
+32F7;CIRCLED KATAKANA RI;So;0;L;<circle> 30EA;;;;N;;;;;
+32F8;CIRCLED KATAKANA RU;So;0;L;<circle> 30EB;;;;N;;;;;
+32F9;CIRCLED KATAKANA RE;So;0;L;<circle> 30EC;;;;N;;;;;
+32FA;CIRCLED KATAKANA RO;So;0;L;<circle> 30ED;;;;N;;;;;
+32FB;CIRCLED KATAKANA WA;So;0;L;<circle> 30EF;;;;N;;;;;
+32FC;CIRCLED KATAKANA WI;So;0;L;<circle> 30F0;;;;N;;;;;
+32FD;CIRCLED KATAKANA WE;So;0;L;<circle> 30F1;;;;N;;;;;
+32FE;CIRCLED KATAKANA WO;So;0;L;<circle> 30F2;;;;N;;;;;
+3300;SQUARE APAATO;So;0;L;<square> 30A2 30D1 30FC 30C8;;;;N;SQUARED APAATO;;;;
+3301;SQUARE ARUHUA;So;0;L;<square> 30A2 30EB 30D5 30A1;;;;N;SQUARED ARUHUA;;;;
+3302;SQUARE ANPEA;So;0;L;<square> 30A2 30F3 30DA 30A2;;;;N;SQUARED ANPEA;;;;
+3303;SQUARE AARU;So;0;L;<square> 30A2 30FC 30EB;;;;N;SQUARED AARU;;;;
+3304;SQUARE ININGU;So;0;L;<square> 30A4 30CB 30F3 30B0;;;;N;SQUARED ININGU;;;;
+3305;SQUARE INTI;So;0;L;<square> 30A4 30F3 30C1;;;;N;SQUARED INTI;;;;
+3306;SQUARE UON;So;0;L;<square> 30A6 30A9 30F3;;;;N;SQUARED UON;;;;
+3307;SQUARE ESUKUUDO;So;0;L;<square> 30A8 30B9 30AF 30FC 30C9;;;;N;SQUARED ESUKUUDO;;;;
+3308;SQUARE EEKAA;So;0;L;<square> 30A8 30FC 30AB 30FC;;;;N;SQUARED EEKAA;;;;
+3309;SQUARE ONSU;So;0;L;<square> 30AA 30F3 30B9;;;;N;SQUARED ONSU;;;;
+330A;SQUARE OOMU;So;0;L;<square> 30AA 30FC 30E0;;;;N;SQUARED OOMU;;;;
+330B;SQUARE KAIRI;So;0;L;<square> 30AB 30A4 30EA;;;;N;SQUARED KAIRI;;;;
+330C;SQUARE KARATTO;So;0;L;<square> 30AB 30E9 30C3 30C8;;;;N;SQUARED KARATTO;;;;
+330D;SQUARE KARORII;So;0;L;<square> 30AB 30ED 30EA 30FC;;;;N;SQUARED KARORII;;;;
+330E;SQUARE GARON;So;0;L;<square> 30AC 30ED 30F3;;;;N;SQUARED GARON;;;;
+330F;SQUARE GANMA;So;0;L;<square> 30AC 30F3 30DE;;;;N;SQUARED GANMA;;;;
+3310;SQUARE GIGA;So;0;L;<square> 30AE 30AC;;;;N;SQUARED GIGA;;;;
+3311;SQUARE GINII;So;0;L;<square> 30AE 30CB 30FC;;;;N;SQUARED GINII;;;;
+3312;SQUARE KYURII;So;0;L;<square> 30AD 30E5 30EA 30FC;;;;N;SQUARED KYURII;;;;
+3313;SQUARE GIRUDAA;So;0;L;<square> 30AE 30EB 30C0 30FC;;;;N;SQUARED GIRUDAA;;;;
+3314;SQUARE KIRO;So;0;L;<square> 30AD 30ED;;;;N;SQUARED KIRO;;;;
+3315;SQUARE KIROGURAMU;So;0;L;<square> 30AD 30ED 30B0 30E9 30E0;;;;N;SQUARED KIROGURAMU;;;;
+3316;SQUARE KIROMEETORU;So;0;L;<square> 30AD 30ED 30E1 30FC 30C8 30EB;;;;N;SQUARED KIROMEETORU;;;;
+3317;SQUARE KIROWATTO;So;0;L;<square> 30AD 30ED 30EF 30C3 30C8;;;;N;SQUARED KIROWATTO;;;;
+3318;SQUARE GURAMU;So;0;L;<square> 30B0 30E9 30E0;;;;N;SQUARED GURAMU;;;;
+3319;SQUARE GURAMUTON;So;0;L;<square> 30B0 30E9 30E0 30C8 30F3;;;;N;SQUARED GURAMUTON;;;;
+331A;SQUARE KURUZEIRO;So;0;L;<square> 30AF 30EB 30BC 30A4 30ED;;;;N;SQUARED KURUZEIRO;;;;
+331B;SQUARE KUROONE;So;0;L;<square> 30AF 30ED 30FC 30CD;;;;N;SQUARED KUROONE;;;;
+331C;SQUARE KEESU;So;0;L;<square> 30B1 30FC 30B9;;;;N;SQUARED KEESU;;;;
+331D;SQUARE KORUNA;So;0;L;<square> 30B3 30EB 30CA;;;;N;SQUARED KORUNA;;;;
+331E;SQUARE KOOPO;So;0;L;<square> 30B3 30FC 30DD;;;;N;SQUARED KOOPO;;;;
+331F;SQUARE SAIKURU;So;0;L;<square> 30B5 30A4 30AF 30EB;;;;N;SQUARED SAIKURU;;;;
+3320;SQUARE SANTIIMU;So;0;L;<square> 30B5 30F3 30C1 30FC 30E0;;;;N;SQUARED SANTIIMU;;;;
+3321;SQUARE SIRINGU;So;0;L;<square> 30B7 30EA 30F3 30B0;;;;N;SQUARED SIRINGU;;;;
+3322;SQUARE SENTI;So;0;L;<square> 30BB 30F3 30C1;;;;N;SQUARED SENTI;;;;
+3323;SQUARE SENTO;So;0;L;<square> 30BB 30F3 30C8;;;;N;SQUARED SENTO;;;;
+3324;SQUARE DAASU;So;0;L;<square> 30C0 30FC 30B9;;;;N;SQUARED DAASU;;;;
+3325;SQUARE DESI;So;0;L;<square> 30C7 30B7;;;;N;SQUARED DESI;;;;
+3326;SQUARE DORU;So;0;L;<square> 30C9 30EB;;;;N;SQUARED DORU;;;;
+3327;SQUARE TON;So;0;L;<square> 30C8 30F3;;;;N;SQUARED TON;;;;
+3328;SQUARE NANO;So;0;L;<square> 30CA 30CE;;;;N;SQUARED NANO;;;;
+3329;SQUARE NOTTO;So;0;L;<square> 30CE 30C3 30C8;;;;N;SQUARED NOTTO;;;;
+332A;SQUARE HAITU;So;0;L;<square> 30CF 30A4 30C4;;;;N;SQUARED HAITU;;;;
+332B;SQUARE PAASENTO;So;0;L;<square> 30D1 30FC 30BB 30F3 30C8;;;;N;SQUARED PAASENTO;;;;
+332C;SQUARE PAATU;So;0;L;<square> 30D1 30FC 30C4;;;;N;SQUARED PAATU;;;;
+332D;SQUARE BAARERU;So;0;L;<square> 30D0 30FC 30EC 30EB;;;;N;SQUARED BAARERU;;;;
+332E;SQUARE PIASUTORU;So;0;L;<square> 30D4 30A2 30B9 30C8 30EB;;;;N;SQUARED PIASUTORU;;;;
+332F;SQUARE PIKURU;So;0;L;<square> 30D4 30AF 30EB;;;;N;SQUARED PIKURU;;;;
+3330;SQUARE PIKO;So;0;L;<square> 30D4 30B3;;;;N;SQUARED PIKO;;;;
+3331;SQUARE BIRU;So;0;L;<square> 30D3 30EB;;;;N;SQUARED BIRU;;;;
+3332;SQUARE HUARADDO;So;0;L;<square> 30D5 30A1 30E9 30C3 30C9;;;;N;SQUARED HUARADDO;;;;
+3333;SQUARE HUIITO;So;0;L;<square> 30D5 30A3 30FC 30C8;;;;N;SQUARED HUIITO;;;;
+3334;SQUARE BUSSYERU;So;0;L;<square> 30D6 30C3 30B7 30A7 30EB;;;;N;SQUARED BUSSYERU;;;;
+3335;SQUARE HURAN;So;0;L;<square> 30D5 30E9 30F3;;;;N;SQUARED HURAN;;;;
+3336;SQUARE HEKUTAARU;So;0;L;<square> 30D8 30AF 30BF 30FC 30EB;;;;N;SQUARED HEKUTAARU;;;;
+3337;SQUARE PESO;So;0;L;<square> 30DA 30BD;;;;N;SQUARED PESO;;;;
+3338;SQUARE PENIHI;So;0;L;<square> 30DA 30CB 30D2;;;;N;SQUARED PENIHI;;;;
+3339;SQUARE HERUTU;So;0;L;<square> 30D8 30EB 30C4;;;;N;SQUARED HERUTU;;;;
+333A;SQUARE PENSU;So;0;L;<square> 30DA 30F3 30B9;;;;N;SQUARED PENSU;;;;
+333B;SQUARE PEEZI;So;0;L;<square> 30DA 30FC 30B8;;;;N;SQUARED PEEZI;;;;
+333C;SQUARE BEETA;So;0;L;<square> 30D9 30FC 30BF;;;;N;SQUARED BEETA;;;;
+333D;SQUARE POINTO;So;0;L;<square> 30DD 30A4 30F3 30C8;;;;N;SQUARED POINTO;;;;
+333E;SQUARE BORUTO;So;0;L;<square> 30DC 30EB 30C8;;;;N;SQUARED BORUTO;;;;
+333F;SQUARE HON;So;0;L;<square> 30DB 30F3;;;;N;SQUARED HON;;;;
+3340;SQUARE PONDO;So;0;L;<square> 30DD 30F3 30C9;;;;N;SQUARED PONDO;;;;
+3341;SQUARE HOORU;So;0;L;<square> 30DB 30FC 30EB;;;;N;SQUARED HOORU;;;;
+3342;SQUARE HOON;So;0;L;<square> 30DB 30FC 30F3;;;;N;SQUARED HOON;;;;
+3343;SQUARE MAIKURO;So;0;L;<square> 30DE 30A4 30AF 30ED;;;;N;SQUARED MAIKURO;;;;
+3344;SQUARE MAIRU;So;0;L;<square> 30DE 30A4 30EB;;;;N;SQUARED MAIRU;;;;
+3345;SQUARE MAHHA;So;0;L;<square> 30DE 30C3 30CF;;;;N;SQUARED MAHHA;;;;
+3346;SQUARE MARUKU;So;0;L;<square> 30DE 30EB 30AF;;;;N;SQUARED MARUKU;;;;
+3347;SQUARE MANSYON;So;0;L;<square> 30DE 30F3 30B7 30E7 30F3;;;;N;SQUARED MANSYON;;;;
+3348;SQUARE MIKURON;So;0;L;<square> 30DF 30AF 30ED 30F3;;;;N;SQUARED MIKURON;;;;
+3349;SQUARE MIRI;So;0;L;<square> 30DF 30EA;;;;N;SQUARED MIRI;;;;
+334A;SQUARE MIRIBAARU;So;0;L;<square> 30DF 30EA 30D0 30FC 30EB;;;;N;SQUARED MIRIBAARU;;;;
+334B;SQUARE MEGA;So;0;L;<square> 30E1 30AC;;;;N;SQUARED MEGA;;;;
+334C;SQUARE MEGATON;So;0;L;<square> 30E1 30AC 30C8 30F3;;;;N;SQUARED MEGATON;;;;
+334D;SQUARE MEETORU;So;0;L;<square> 30E1 30FC 30C8 30EB;;;;N;SQUARED MEETORU;;;;
+334E;SQUARE YAADO;So;0;L;<square> 30E4 30FC 30C9;;;;N;SQUARED YAADO;;;;
+334F;SQUARE YAARU;So;0;L;<square> 30E4 30FC 30EB;;;;N;SQUARED YAARU;;;;
+3350;SQUARE YUAN;So;0;L;<square> 30E6 30A2 30F3;;;;N;SQUARED YUAN;;;;
+3351;SQUARE RITTORU;So;0;L;<square> 30EA 30C3 30C8 30EB;;;;N;SQUARED RITTORU;;;;
+3352;SQUARE RIRA;So;0;L;<square> 30EA 30E9;;;;N;SQUARED RIRA;;;;
+3353;SQUARE RUPII;So;0;L;<square> 30EB 30D4 30FC;;;;N;SQUARED RUPII;;;;
+3354;SQUARE RUUBURU;So;0;L;<square> 30EB 30FC 30D6 30EB;;;;N;SQUARED RUUBURU;;;;
+3355;SQUARE REMU;So;0;L;<square> 30EC 30E0;;;;N;SQUARED REMU;;;;
+3356;SQUARE RENTOGEN;So;0;L;<square> 30EC 30F3 30C8 30B2 30F3;;;;N;SQUARED RENTOGEN;;;;
+3357;SQUARE WATTO;So;0;L;<square> 30EF 30C3 30C8;;;;N;SQUARED WATTO;;;;
+3358;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ZERO;So;0;L;<compat> 0030 70B9;;;;N;;;;;
+3359;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ONE;So;0;L;<compat> 0031 70B9;;;;N;;;;;
+335A;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWO;So;0;L;<compat> 0032 70B9;;;;N;;;;;
+335B;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR THREE;So;0;L;<compat> 0033 70B9;;;;N;;;;;
+335C;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FOUR;So;0;L;<compat> 0034 70B9;;;;N;;;;;
+335D;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FIVE;So;0;L;<compat> 0035 70B9;;;;N;;;;;
+335E;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SIX;So;0;L;<compat> 0036 70B9;;;;N;;;;;
+335F;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SEVEN;So;0;L;<compat> 0037 70B9;;;;N;;;;;
+3360;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR EIGHT;So;0;L;<compat> 0038 70B9;;;;N;;;;;
+3361;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR NINE;So;0;L;<compat> 0039 70B9;;;;N;;;;;
+3362;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TEN;So;0;L;<compat> 0031 0030 70B9;;;;N;;;;;
+3363;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ELEVEN;So;0;L;<compat> 0031 0031 70B9;;;;N;;;;;
+3364;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWELVE;So;0;L;<compat> 0031 0032 70B9;;;;N;;;;;
+3365;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR THIRTEEN;So;0;L;<compat> 0031 0033 70B9;;;;N;;;;;
+3366;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FOURTEEN;So;0;L;<compat> 0031 0034 70B9;;;;N;;;;;
+3367;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FIFTEEN;So;0;L;<compat> 0031 0035 70B9;;;;N;;;;;
+3368;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SIXTEEN;So;0;L;<compat> 0031 0036 70B9;;;;N;;;;;
+3369;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SEVENTEEN;So;0;L;<compat> 0031 0037 70B9;;;;N;;;;;
+336A;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR EIGHTEEN;So;0;L;<compat> 0031 0038 70B9;;;;N;;;;;
+336B;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR NINETEEN;So;0;L;<compat> 0031 0039 70B9;;;;N;;;;;
+336C;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY;So;0;L;<compat> 0032 0030 70B9;;;;N;;;;;
+336D;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-ONE;So;0;L;<compat> 0032 0031 70B9;;;;N;;;;;
+336E;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-TWO;So;0;L;<compat> 0032 0032 70B9;;;;N;;;;;
+336F;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-THREE;So;0;L;<compat> 0032 0033 70B9;;;;N;;;;;
+3370;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-FOUR;So;0;L;<compat> 0032 0034 70B9;;;;N;;;;;
+3371;SQUARE HPA;So;0;L;<square> 0068 0050 0061;;;;N;;;;;
+3372;SQUARE DA;So;0;L;<square> 0064 0061;;;;N;;;;;
+3373;SQUARE AU;So;0;L;<square> 0041 0055;;;;N;;;;;
+3374;SQUARE BAR;So;0;L;<square> 0062 0061 0072;;;;N;;;;;
+3375;SQUARE OV;So;0;L;<square> 006F 0056;;;;N;;;;;
+3376;SQUARE PC;So;0;L;<square> 0070 0063;;;;N;;;;;
+3377;SQUARE DM;So;0;ON;<square> 0064 006D;;;;N;;;;;
+3378;SQUARE DM SQUARED;So;0;ON;<square> 0064 006D 00B2;;;;N;;;;;
+3379;SQUARE DM CUBED;So;0;ON;<square> 0064 006D 00B3;;;;N;;;;;
+337A;SQUARE IU;So;0;ON;<square> 0049 0055;;;;N;;;;;
+337B;SQUARE ERA NAME HEISEI;So;0;L;<square> 5E73 6210;;;;N;SQUARED TWO IDEOGRAPHS ERA NAME HEISEI;;;;
+337C;SQUARE ERA NAME SYOUWA;So;0;L;<square> 662D 548C;;;;N;SQUARED TWO IDEOGRAPHS ERA NAME SYOUWA;;;;
+337D;SQUARE ERA NAME TAISYOU;So;0;L;<square> 5927 6B63;;;;N;SQUARED TWO IDEOGRAPHS ERA NAME TAISYOU;;;;
+337E;SQUARE ERA NAME MEIZI;So;0;L;<square> 660E 6CBB;;;;N;SQUARED TWO IDEOGRAPHS ERA NAME MEIZI;;;;
+337F;SQUARE CORPORATION;So;0;L;<square> 682A 5F0F 4F1A 793E;;;;N;SQUARED FOUR IDEOGRAPHS CORPORATION;;;;
+3380;SQUARE PA AMPS;So;0;L;<square> 0070 0041;;;;N;SQUARED PA AMPS;;;;
+3381;SQUARE NA;So;0;L;<square> 006E 0041;;;;N;SQUARED NA;;;;
+3382;SQUARE MU A;So;0;L;<square> 03BC 0041;;;;N;SQUARED MU A;;;;
+3383;SQUARE MA;So;0;L;<square> 006D 0041;;;;N;SQUARED MA;;;;
+3384;SQUARE KA;So;0;L;<square> 006B 0041;;;;N;SQUARED KA;;;;
+3385;SQUARE KB;So;0;L;<square> 004B 0042;;;;N;SQUARED KB;;;;
+3386;SQUARE MB;So;0;L;<square> 004D 0042;;;;N;SQUARED MB;;;;
+3387;SQUARE GB;So;0;L;<square> 0047 0042;;;;N;SQUARED GB;;;;
+3388;SQUARE CAL;So;0;L;<square> 0063 0061 006C;;;;N;SQUARED CAL;;;;
+3389;SQUARE KCAL;So;0;L;<square> 006B 0063 0061 006C;;;;N;SQUARED KCAL;;;;
+338A;SQUARE PF;So;0;L;<square> 0070 0046;;;;N;SQUARED PF;;;;
+338B;SQUARE NF;So;0;L;<square> 006E 0046;;;;N;SQUARED NF;;;;
+338C;SQUARE MU F;So;0;L;<square> 03BC 0046;;;;N;SQUARED MU F;;;;
+338D;SQUARE MU G;So;0;L;<square> 03BC 0067;;;;N;SQUARED MU G;;;;
+338E;SQUARE MG;So;0;L;<square> 006D 0067;;;;N;SQUARED MG;;;;
+338F;SQUARE KG;So;0;L;<square> 006B 0067;;;;N;SQUARED KG;;;;
+3390;SQUARE HZ;So;0;L;<square> 0048 007A;;;;N;SQUARED HZ;;;;
+3391;SQUARE KHZ;So;0;L;<square> 006B 0048 007A;;;;N;SQUARED KHZ;;;;
+3392;SQUARE MHZ;So;0;L;<square> 004D 0048 007A;;;;N;SQUARED MHZ;;;;
+3393;SQUARE GHZ;So;0;L;<square> 0047 0048 007A;;;;N;SQUARED GHZ;;;;
+3394;SQUARE THZ;So;0;L;<square> 0054 0048 007A;;;;N;SQUARED THZ;;;;
+3395;SQUARE MU L;So;0;L;<square> 03BC 2113;;;;N;SQUARED MU L;;;;
+3396;SQUARE ML;So;0;L;<square> 006D 2113;;;;N;SQUARED ML;;;;
+3397;SQUARE DL;So;0;L;<square> 0064 2113;;;;N;SQUARED DL;;;;
+3398;SQUARE KL;So;0;L;<square> 006B 2113;;;;N;SQUARED KL;;;;
+3399;SQUARE FM;So;0;L;<square> 0066 006D;;;;N;SQUARED FM;;;;
+339A;SQUARE NM;So;0;L;<square> 006E 006D;;;;N;SQUARED NM;;;;
+339B;SQUARE MU M;So;0;L;<square> 03BC 006D;;;;N;SQUARED MU M;;;;
+339C;SQUARE MM;So;0;L;<square> 006D 006D;;;;N;SQUARED MM;;;;
+339D;SQUARE CM;So;0;L;<square> 0063 006D;;;;N;SQUARED CM;;;;
+339E;SQUARE KM;So;0;L;<square> 006B 006D;;;;N;SQUARED KM;;;;
+339F;SQUARE MM SQUARED;So;0;L;<square> 006D 006D 00B2;;;;N;SQUARED MM SQUARED;;;;
+33A0;SQUARE CM SQUARED;So;0;L;<square> 0063 006D 00B2;;;;N;SQUARED CM SQUARED;;;;
+33A1;SQUARE M SQUARED;So;0;L;<square> 006D 00B2;;;;N;SQUARED M SQUARED;;;;
+33A2;SQUARE KM SQUARED;So;0;L;<square> 006B 006D 00B2;;;;N;SQUARED KM SQUARED;;;;
+33A3;SQUARE MM CUBED;So;0;L;<square> 006D 006D 00B3;;;;N;SQUARED MM CUBED;;;;
+33A4;SQUARE CM CUBED;So;0;L;<square> 0063 006D 00B3;;;;N;SQUARED CM CUBED;;;;
+33A5;SQUARE M CUBED;So;0;L;<square> 006D 00B3;;;;N;SQUARED M CUBED;;;;
+33A6;SQUARE KM CUBED;So;0;L;<square> 006B 006D 00B3;;;;N;SQUARED KM CUBED;;;;
+33A7;SQUARE M OVER S;So;0;L;<square> 006D 2215 0073;;;;N;SQUARED M OVER S;;;;
+33A8;SQUARE M OVER S SQUARED;So;0;L;<square> 006D 2215 0073 00B2;;;;N;SQUARED M OVER S SQUARED;;;;
+33A9;SQUARE PA;So;0;L;<square> 0050 0061;;;;N;SQUARED PA;;;;
+33AA;SQUARE KPA;So;0;L;<square> 006B 0050 0061;;;;N;SQUARED KPA;;;;
+33AB;SQUARE MPA;So;0;L;<square> 004D 0050 0061;;;;N;SQUARED MPA;;;;
+33AC;SQUARE GPA;So;0;L;<square> 0047 0050 0061;;;;N;SQUARED GPA;;;;
+33AD;SQUARE RAD;So;0;L;<square> 0072 0061 0064;;;;N;SQUARED RAD;;;;
+33AE;SQUARE RAD OVER S;So;0;L;<square> 0072 0061 0064 2215 0073;;;;N;SQUARED RAD OVER S;;;;
+33AF;SQUARE RAD OVER S SQUARED;So;0;L;<square> 0072 0061 0064 2215 0073 00B2;;;;N;SQUARED RAD OVER S SQUARED;;;;
+33B0;SQUARE PS;So;0;L;<square> 0070 0073;;;;N;SQUARED PS;;;;
+33B1;SQUARE NS;So;0;L;<square> 006E 0073;;;;N;SQUARED NS;;;;
+33B2;SQUARE MU S;So;0;L;<square> 03BC 0073;;;;N;SQUARED MU S;;;;
+33B3;SQUARE MS;So;0;L;<square> 006D 0073;;;;N;SQUARED MS;;;;
+33B4;SQUARE PV;So;0;L;<square> 0070 0056;;;;N;SQUARED PV;;;;
+33B5;SQUARE NV;So;0;L;<square> 006E 0056;;;;N;SQUARED NV;;;;
+33B6;SQUARE MU V;So;0;L;<square> 03BC 0056;;;;N;SQUARED MU V;;;;
+33B7;SQUARE MV;So;0;L;<square> 006D 0056;;;;N;SQUARED MV;;;;
+33B8;SQUARE KV;So;0;L;<square> 006B 0056;;;;N;SQUARED KV;;;;
+33B9;SQUARE MV MEGA;So;0;L;<square> 004D 0056;;;;N;SQUARED MV MEGA;;;;
+33BA;SQUARE PW;So;0;L;<square> 0070 0057;;;;N;SQUARED PW;;;;
+33BB;SQUARE NW;So;0;L;<square> 006E 0057;;;;N;SQUARED NW;;;;
+33BC;SQUARE MU W;So;0;L;<square> 03BC 0057;;;;N;SQUARED MU W;;;;
+33BD;SQUARE MW;So;0;L;<square> 006D 0057;;;;N;SQUARED MW;;;;
+33BE;SQUARE KW;So;0;L;<square> 006B 0057;;;;N;SQUARED KW;;;;
+33BF;SQUARE MW MEGA;So;0;L;<square> 004D 0057;;;;N;SQUARED MW MEGA;;;;
+33C0;SQUARE K OHM;So;0;L;<square> 006B 03A9;;;;N;SQUARED K OHM;;;;
+33C1;SQUARE M OHM;So;0;L;<square> 004D 03A9;;;;N;SQUARED M OHM;;;;
+33C2;SQUARE AM;So;0;L;<square> 0061 002E 006D 002E;;;;N;SQUARED AM;;;;
+33C3;SQUARE BQ;So;0;L;<square> 0042 0071;;;;N;SQUARED BQ;;;;
+33C4;SQUARE CC;So;0;L;<square> 0063 0063;;;;N;SQUARED CC;;;;
+33C5;SQUARE CD;So;0;L;<square> 0063 0064;;;;N;SQUARED CD;;;;
+33C6;SQUARE C OVER KG;So;0;L;<square> 0043 2215 006B 0067;;;;N;SQUARED C OVER KG;;;;
+33C7;SQUARE CO;So;0;L;<square> 0043 006F 002E;;;;N;SQUARED CO;;;;
+33C8;SQUARE DB;So;0;L;<square> 0064 0042;;;;N;SQUARED DB;;;;
+33C9;SQUARE GY;So;0;L;<square> 0047 0079;;;;N;SQUARED GY;;;;
+33CA;SQUARE HA;So;0;L;<square> 0068 0061;;;;N;SQUARED HA;;;;
+33CB;SQUARE HP;So;0;L;<square> 0048 0050;;;;N;SQUARED HP;;;;
+33CC;SQUARE IN;So;0;L;<square> 0069 006E;;;;N;SQUARED IN;;;;
+33CD;SQUARE KK;So;0;L;<square> 004B 004B;;;;N;SQUARED KK;;;;
+33CE;SQUARE KM CAPITAL;So;0;L;<square> 004B 004D;;;;N;SQUARED KM CAPITAL;;;;
+33CF;SQUARE KT;So;0;L;<square> 006B 0074;;;;N;SQUARED KT;;;;
+33D0;SQUARE LM;So;0;L;<square> 006C 006D;;;;N;SQUARED LM;;;;
+33D1;SQUARE LN;So;0;L;<square> 006C 006E;;;;N;SQUARED LN;;;;
+33D2;SQUARE LOG;So;0;L;<square> 006C 006F 0067;;;;N;SQUARED LOG;;;;
+33D3;SQUARE LX;So;0;L;<square> 006C 0078;;;;N;SQUARED LX;;;;
+33D4;SQUARE MB SMALL;So;0;L;<square> 006D 0062;;;;N;SQUARED MB SMALL;;;;
+33D5;SQUARE MIL;So;0;L;<square> 006D 0069 006C;;;;N;SQUARED MIL;;;;
+33D6;SQUARE MOL;So;0;L;<square> 006D 006F 006C;;;;N;SQUARED MOL;;;;
+33D7;SQUARE PH;So;0;L;<square> 0050 0048;;;;N;SQUARED PH;;;;
+33D8;SQUARE PM;So;0;L;<square> 0070 002E 006D 002E;;;;N;SQUARED PM;;;;
+33D9;SQUARE PPM;So;0;L;<square> 0050 0050 004D;;;;N;SQUARED PPM;;;;
+33DA;SQUARE PR;So;0;L;<square> 0050 0052;;;;N;SQUARED PR;;;;
+33DB;SQUARE SR;So;0;L;<square> 0073 0072;;;;N;SQUARED SR;;;;
+33DC;SQUARE SV;So;0;L;<square> 0053 0076;;;;N;SQUARED SV;;;;
+33DD;SQUARE WB;So;0;L;<square> 0057 0062;;;;N;SQUARED WB;;;;
+33DE;SQUARE V OVER M;So;0;ON;<square> 0056 2215 006D;;;;N;;;;;
+33DF;SQUARE A OVER M;So;0;ON;<square> 0041 2215 006D;;;;N;;;;;
+33E0;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY ONE;So;0;L;<compat> 0031 65E5;;;;N;;;;;
+33E1;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWO;So;0;L;<compat> 0032 65E5;;;;N;;;;;
+33E2;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THREE;So;0;L;<compat> 0033 65E5;;;;N;;;;;
+33E3;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FOUR;So;0;L;<compat> 0034 65E5;;;;N;;;;;
+33E4;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FIVE;So;0;L;<compat> 0035 65E5;;;;N;;;;;
+33E5;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SIX;So;0;L;<compat> 0036 65E5;;;;N;;;;;
+33E6;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SEVEN;So;0;L;<compat> 0037 65E5;;;;N;;;;;
+33E7;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY EIGHT;So;0;L;<compat> 0038 65E5;;;;N;;;;;
+33E8;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY NINE;So;0;L;<compat> 0039 65E5;;;;N;;;;;
+33E9;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TEN;So;0;L;<compat> 0031 0030 65E5;;;;N;;;;;
+33EA;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY ELEVEN;So;0;L;<compat> 0031 0031 65E5;;;;N;;;;;
+33EB;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWELVE;So;0;L;<compat> 0031 0032 65E5;;;;N;;;;;
+33EC;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTEEN;So;0;L;<compat> 0031 0033 65E5;;;;N;;;;;
+33ED;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FOURTEEN;So;0;L;<compat> 0031 0034 65E5;;;;N;;;;;
+33EE;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FIFTEEN;So;0;L;<compat> 0031 0035 65E5;;;;N;;;;;
+33EF;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SIXTEEN;So;0;L;<compat> 0031 0036 65E5;;;;N;;;;;
+33F0;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SEVENTEEN;So;0;L;<compat> 0031 0037 65E5;;;;N;;;;;
+33F1;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY EIGHTEEN;So;0;L;<compat> 0031 0038 65E5;;;;N;;;;;
+33F2;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY NINETEEN;So;0;L;<compat> 0031 0039 65E5;;;;N;;;;;
+33F3;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY;So;0;L;<compat> 0032 0030 65E5;;;;N;;;;;
+33F4;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-ONE;So;0;L;<compat> 0032 0031 65E5;;;;N;;;;;
+33F5;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-TWO;So;0;L;<compat> 0032 0032 65E5;;;;N;;;;;
+33F6;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-THREE;So;0;L;<compat> 0032 0033 65E5;;;;N;;;;;
+33F7;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-FOUR;So;0;L;<compat> 0032 0034 65E5;;;;N;;;;;
+33F8;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-FIVE;So;0;L;<compat> 0032 0035 65E5;;;;N;;;;;
+33F9;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-SIX;So;0;L;<compat> 0032 0036 65E5;;;;N;;;;;
+33FA;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-SEVEN;So;0;L;<compat> 0032 0037 65E5;;;;N;;;;;
+33FB;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-EIGHT;So;0;L;<compat> 0032 0038 65E5;;;;N;;;;;
+33FC;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-NINE;So;0;L;<compat> 0032 0039 65E5;;;;N;;;;;
+33FD;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTY;So;0;L;<compat> 0033 0030 65E5;;;;N;;;;;
+33FE;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTY-ONE;So;0;L;<compat> 0033 0031 65E5;;;;N;;;;;
+33FF;SQUARE GAL;So;0;ON;<square> 0067 0061 006C;;;;N;;;;;
+3400;<CJK Ideograph Extension A, First>;Lo;0;L;;;;;N;;;;;
+4DB5;<CJK Ideograph Extension A, Last>;Lo;0;L;;;;;N;;;;;
+4DC0;HEXAGRAM FOR THE CREATIVE HEAVEN;So;0;ON;;;;;N;;;;;
+4DC1;HEXAGRAM FOR THE RECEPTIVE EARTH;So;0;ON;;;;;N;;;;;
+4DC2;HEXAGRAM FOR DIFFICULTY AT THE BEGINNING;So;0;ON;;;;;N;;;;;
+4DC3;HEXAGRAM FOR YOUTHFUL FOLLY;So;0;ON;;;;;N;;;;;
+4DC4;HEXAGRAM FOR WAITING;So;0;ON;;;;;N;;;;;
+4DC5;HEXAGRAM FOR CONFLICT;So;0;ON;;;;;N;;;;;
+4DC6;HEXAGRAM FOR THE ARMY;So;0;ON;;;;;N;;;;;
+4DC7;HEXAGRAM FOR HOLDING TOGETHER;So;0;ON;;;;;N;;;;;
+4DC8;HEXAGRAM FOR SMALL TAMING;So;0;ON;;;;;N;;;;;
+4DC9;HEXAGRAM FOR TREADING;So;0;ON;;;;;N;;;;;
+4DCA;HEXAGRAM FOR PEACE;So;0;ON;;;;;N;;;;;
+4DCB;HEXAGRAM FOR STANDSTILL;So;0;ON;;;;;N;;;;;
+4DCC;HEXAGRAM FOR FELLOWSHIP;So;0;ON;;;;;N;;;;;
+4DCD;HEXAGRAM FOR GREAT POSSESSION;So;0;ON;;;;;N;;;;;
+4DCE;HEXAGRAM FOR MODESTY;So;0;ON;;;;;N;;;;;
+4DCF;HEXAGRAM FOR ENTHUSIASM;So;0;ON;;;;;N;;;;;
+4DD0;HEXAGRAM FOR FOLLOWING;So;0;ON;;;;;N;;;;;
+4DD1;HEXAGRAM FOR WORK ON THE DECAYED;So;0;ON;;;;;N;;;;;
+4DD2;HEXAGRAM FOR APPROACH;So;0;ON;;;;;N;;;;;
+4DD3;HEXAGRAM FOR CONTEMPLATION;So;0;ON;;;;;N;;;;;
+4DD4;HEXAGRAM FOR BITING THROUGH;So;0;ON;;;;;N;;;;;
+4DD5;HEXAGRAM FOR GRACE;So;0;ON;;;;;N;;;;;
+4DD6;HEXAGRAM FOR SPLITTING APART;So;0;ON;;;;;N;;;;;
+4DD7;HEXAGRAM FOR RETURN;So;0;ON;;;;;N;;;;;
+4DD8;HEXAGRAM FOR INNOCENCE;So;0;ON;;;;;N;;;;;
+4DD9;HEXAGRAM FOR GREAT TAMING;So;0;ON;;;;;N;;;;;
+4DDA;HEXAGRAM FOR MOUTH CORNERS;So;0;ON;;;;;N;;;;;
+4DDB;HEXAGRAM FOR GREAT PREPONDERANCE;So;0;ON;;;;;N;;;;;
+4DDC;HEXAGRAM FOR THE ABYSMAL WATER;So;0;ON;;;;;N;;;;;
+4DDD;HEXAGRAM FOR THE CLINGING FIRE;So;0;ON;;;;;N;;;;;
+4DDE;HEXAGRAM FOR INFLUENCE;So;0;ON;;;;;N;;;;;
+4DDF;HEXAGRAM FOR DURATION;So;0;ON;;;;;N;;;;;
+4DE0;HEXAGRAM FOR RETREAT;So;0;ON;;;;;N;;;;;
+4DE1;HEXAGRAM FOR GREAT POWER;So;0;ON;;;;;N;;;;;
+4DE2;HEXAGRAM FOR PROGRESS;So;0;ON;;;;;N;;;;;
+4DE3;HEXAGRAM FOR DARKENING OF THE LIGHT;So;0;ON;;;;;N;;;;;
+4DE4;HEXAGRAM FOR THE FAMILY;So;0;ON;;;;;N;;;;;
+4DE5;HEXAGRAM FOR OPPOSITION;So;0;ON;;;;;N;;;;;
+4DE6;HEXAGRAM FOR OBSTRUCTION;So;0;ON;;;;;N;;;;;
+4DE7;HEXAGRAM FOR DELIVERANCE;So;0;ON;;;;;N;;;;;
+4DE8;HEXAGRAM FOR DECREASE;So;0;ON;;;;;N;;;;;
+4DE9;HEXAGRAM FOR INCREASE;So;0;ON;;;;;N;;;;;
+4DEA;HEXAGRAM FOR BREAKTHROUGH;So;0;ON;;;;;N;;;;;
+4DEB;HEXAGRAM FOR COMING TO MEET;So;0;ON;;;;;N;;;;;
+4DEC;HEXAGRAM FOR GATHERING TOGETHER;So;0;ON;;;;;N;;;;;
+4DED;HEXAGRAM FOR PUSHING UPWARD;So;0;ON;;;;;N;;;;;
+4DEE;HEXAGRAM FOR OPPRESSION;So;0;ON;;;;;N;;;;;
+4DEF;HEXAGRAM FOR THE WELL;So;0;ON;;;;;N;;;;;
+4DF0;HEXAGRAM FOR REVOLUTION;So;0;ON;;;;;N;;;;;
+4DF1;HEXAGRAM FOR THE CAULDRON;So;0;ON;;;;;N;;;;;
+4DF2;HEXAGRAM FOR THE AROUSING THUNDER;So;0;ON;;;;;N;;;;;
+4DF3;HEXAGRAM FOR THE KEEPING STILL MOUNTAIN;So;0;ON;;;;;N;;;;;
+4DF4;HEXAGRAM FOR DEVELOPMENT;So;0;ON;;;;;N;;;;;
+4DF5;HEXAGRAM FOR THE MARRYING MAIDEN;So;0;ON;;;;;N;;;;;
+4DF6;HEXAGRAM FOR ABUNDANCE;So;0;ON;;;;;N;;;;;
+4DF7;HEXAGRAM FOR THE WANDERER;So;0;ON;;;;;N;;;;;
+4DF8;HEXAGRAM FOR THE GENTLE WIND;So;0;ON;;;;;N;;;;;
+4DF9;HEXAGRAM FOR THE JOYOUS LAKE;So;0;ON;;;;;N;;;;;
+4DFA;HEXAGRAM FOR DISPERSION;So;0;ON;;;;;N;;;;;
+4DFB;HEXAGRAM FOR LIMITATION;So;0;ON;;;;;N;;;;;
+4DFC;HEXAGRAM FOR INNER TRUTH;So;0;ON;;;;;N;;;;;
+4DFD;HEXAGRAM FOR SMALL PREPONDERANCE;So;0;ON;;;;;N;;;;;
+4DFE;HEXAGRAM FOR AFTER COMPLETION;So;0;ON;;;;;N;;;;;
+4DFF;HEXAGRAM FOR BEFORE COMPLETION;So;0;ON;;;;;N;;;;;
+4E00;<CJK Ideograph, First>;Lo;0;L;;;;;N;;;;;
+9FBB;<CJK Ideograph, Last>;Lo;0;L;;;;;N;;;;;
+A000;YI SYLLABLE IT;Lo;0;L;;;;;N;;;;;
+A001;YI SYLLABLE IX;Lo;0;L;;;;;N;;;;;
+A002;YI SYLLABLE I;Lo;0;L;;;;;N;;;;;
+A003;YI SYLLABLE IP;Lo;0;L;;;;;N;;;;;
+A004;YI SYLLABLE IET;Lo;0;L;;;;;N;;;;;
+A005;YI SYLLABLE IEX;Lo;0;L;;;;;N;;;;;
+A006;YI SYLLABLE IE;Lo;0;L;;;;;N;;;;;
+A007;YI SYLLABLE IEP;Lo;0;L;;;;;N;;;;;
+A008;YI SYLLABLE AT;Lo;0;L;;;;;N;;;;;
+A009;YI SYLLABLE AX;Lo;0;L;;;;;N;;;;;
+A00A;YI SYLLABLE A;Lo;0;L;;;;;N;;;;;
+A00B;YI SYLLABLE AP;Lo;0;L;;;;;N;;;;;
+A00C;YI SYLLABLE UOX;Lo;0;L;;;;;N;;;;;
+A00D;YI SYLLABLE UO;Lo;0;L;;;;;N;;;;;
+A00E;YI SYLLABLE UOP;Lo;0;L;;;;;N;;;;;
+A00F;YI SYLLABLE OT;Lo;0;L;;;;;N;;;;;
+A010;YI SYLLABLE OX;Lo;0;L;;;;;N;;;;;
+A011;YI SYLLABLE O;Lo;0;L;;;;;N;;;;;
+A012;YI SYLLABLE OP;Lo;0;L;;;;;N;;;;;
+A013;YI SYLLABLE EX;Lo;0;L;;;;;N;;;;;
+A014;YI SYLLABLE E;Lo;0;L;;;;;N;;;;;
+A015;YI SYLLABLE WU;Lm;0;L;;;;;N;;;;;
+A016;YI SYLLABLE BIT;Lo;0;L;;;;;N;;;;;
+A017;YI SYLLABLE BIX;Lo;0;L;;;;;N;;;;;
+A018;YI SYLLABLE BI;Lo;0;L;;;;;N;;;;;
+A019;YI SYLLABLE BIP;Lo;0;L;;;;;N;;;;;
+A01A;YI SYLLABLE BIET;Lo;0;L;;;;;N;;;;;
+A01B;YI SYLLABLE BIEX;Lo;0;L;;;;;N;;;;;
+A01C;YI SYLLABLE BIE;Lo;0;L;;;;;N;;;;;
+A01D;YI SYLLABLE BIEP;Lo;0;L;;;;;N;;;;;
+A01E;YI SYLLABLE BAT;Lo;0;L;;;;;N;;;;;
+A01F;YI SYLLABLE BAX;Lo;0;L;;;;;N;;;;;
+A020;YI SYLLABLE BA;Lo;0;L;;;;;N;;;;;
+A021;YI SYLLABLE BAP;Lo;0;L;;;;;N;;;;;
+A022;YI SYLLABLE BUOX;Lo;0;L;;;;;N;;;;;
+A023;YI SYLLABLE BUO;Lo;0;L;;;;;N;;;;;
+A024;YI SYLLABLE BUOP;Lo;0;L;;;;;N;;;;;
+A025;YI SYLLABLE BOT;Lo;0;L;;;;;N;;;;;
+A026;YI SYLLABLE BOX;Lo;0;L;;;;;N;;;;;
+A027;YI SYLLABLE BO;Lo;0;L;;;;;N;;;;;
+A028;YI SYLLABLE BOP;Lo;0;L;;;;;N;;;;;
+A029;YI SYLLABLE BEX;Lo;0;L;;;;;N;;;;;
+A02A;YI SYLLABLE BE;Lo;0;L;;;;;N;;;;;
+A02B;YI SYLLABLE BEP;Lo;0;L;;;;;N;;;;;
+A02C;YI SYLLABLE BUT;Lo;0;L;;;;;N;;;;;
+A02D;YI SYLLABLE BUX;Lo;0;L;;;;;N;;;;;
+A02E;YI SYLLABLE BU;Lo;0;L;;;;;N;;;;;
+A02F;YI SYLLABLE BUP;Lo;0;L;;;;;N;;;;;
+A030;YI SYLLABLE BURX;Lo;0;L;;;;;N;;;;;
+A031;YI SYLLABLE BUR;Lo;0;L;;;;;N;;;;;
+A032;YI SYLLABLE BYT;Lo;0;L;;;;;N;;;;;
+A033;YI SYLLABLE BYX;Lo;0;L;;;;;N;;;;;
+A034;YI SYLLABLE BY;Lo;0;L;;;;;N;;;;;
+A035;YI SYLLABLE BYP;Lo;0;L;;;;;N;;;;;
+A036;YI SYLLABLE BYRX;Lo;0;L;;;;;N;;;;;
+A037;YI SYLLABLE BYR;Lo;0;L;;;;;N;;;;;
+A038;YI SYLLABLE PIT;Lo;0;L;;;;;N;;;;;
+A039;YI SYLLABLE PIX;Lo;0;L;;;;;N;;;;;
+A03A;YI SYLLABLE PI;Lo;0;L;;;;;N;;;;;
+A03B;YI SYLLABLE PIP;Lo;0;L;;;;;N;;;;;
+A03C;YI SYLLABLE PIEX;Lo;0;L;;;;;N;;;;;
+A03D;YI SYLLABLE PIE;Lo;0;L;;;;;N;;;;;
+A03E;YI SYLLABLE PIEP;Lo;0;L;;;;;N;;;;;
+A03F;YI SYLLABLE PAT;Lo;0;L;;;;;N;;;;;
+A040;YI SYLLABLE PAX;Lo;0;L;;;;;N;;;;;
+A041;YI SYLLABLE PA;Lo;0;L;;;;;N;;;;;
+A042;YI SYLLABLE PAP;Lo;0;L;;;;;N;;;;;
+A043;YI SYLLABLE PUOX;Lo;0;L;;;;;N;;;;;
+A044;YI SYLLABLE PUO;Lo;0;L;;;;;N;;;;;
+A045;YI SYLLABLE PUOP;Lo;0;L;;;;;N;;;;;
+A046;YI SYLLABLE POT;Lo;0;L;;;;;N;;;;;
+A047;YI SYLLABLE POX;Lo;0;L;;;;;N;;;;;
+A048;YI SYLLABLE PO;Lo;0;L;;;;;N;;;;;
+A049;YI SYLLABLE POP;Lo;0;L;;;;;N;;;;;
+A04A;YI SYLLABLE PUT;Lo;0;L;;;;;N;;;;;
+A04B;YI SYLLABLE PUX;Lo;0;L;;;;;N;;;;;
+A04C;YI SYLLABLE PU;Lo;0;L;;;;;N;;;;;
+A04D;YI SYLLABLE PUP;Lo;0;L;;;;;N;;;;;
+A04E;YI SYLLABLE PURX;Lo;0;L;;;;;N;;;;;
+A04F;YI SYLLABLE PUR;Lo;0;L;;;;;N;;;;;
+A050;YI SYLLABLE PYT;Lo;0;L;;;;;N;;;;;
+A051;YI SYLLABLE PYX;Lo;0;L;;;;;N;;;;;
+A052;YI SYLLABLE PY;Lo;0;L;;;;;N;;;;;
+A053;YI SYLLABLE PYP;Lo;0;L;;;;;N;;;;;
+A054;YI SYLLABLE PYRX;Lo;0;L;;;;;N;;;;;
+A055;YI SYLLABLE PYR;Lo;0;L;;;;;N;;;;;
+A056;YI SYLLABLE BBIT;Lo;0;L;;;;;N;;;;;
+A057;YI SYLLABLE BBIX;Lo;0;L;;;;;N;;;;;
+A058;YI SYLLABLE BBI;Lo;0;L;;;;;N;;;;;
+A059;YI SYLLABLE BBIP;Lo;0;L;;;;;N;;;;;
+A05A;YI SYLLABLE BBIET;Lo;0;L;;;;;N;;;;;
+A05B;YI SYLLABLE BBIEX;Lo;0;L;;;;;N;;;;;
+A05C;YI SYLLABLE BBIE;Lo;0;L;;;;;N;;;;;
+A05D;YI SYLLABLE BBIEP;Lo;0;L;;;;;N;;;;;
+A05E;YI SYLLABLE BBAT;Lo;0;L;;;;;N;;;;;
+A05F;YI SYLLABLE BBAX;Lo;0;L;;;;;N;;;;;
+A060;YI SYLLABLE BBA;Lo;0;L;;;;;N;;;;;
+A061;YI SYLLABLE BBAP;Lo;0;L;;;;;N;;;;;
+A062;YI SYLLABLE BBUOX;Lo;0;L;;;;;N;;;;;
+A063;YI SYLLABLE BBUO;Lo;0;L;;;;;N;;;;;
+A064;YI SYLLABLE BBUOP;Lo;0;L;;;;;N;;;;;
+A065;YI SYLLABLE BBOT;Lo;0;L;;;;;N;;;;;
+A066;YI SYLLABLE BBOX;Lo;0;L;;;;;N;;;;;
+A067;YI SYLLABLE BBO;Lo;0;L;;;;;N;;;;;
+A068;YI SYLLABLE BBOP;Lo;0;L;;;;;N;;;;;
+A069;YI SYLLABLE BBEX;Lo;0;L;;;;;N;;;;;
+A06A;YI SYLLABLE BBE;Lo;0;L;;;;;N;;;;;
+A06B;YI SYLLABLE BBEP;Lo;0;L;;;;;N;;;;;
+A06C;YI SYLLABLE BBUT;Lo;0;L;;;;;N;;;;;
+A06D;YI SYLLABLE BBUX;Lo;0;L;;;;;N;;;;;
+A06E;YI SYLLABLE BBU;Lo;0;L;;;;;N;;;;;
+A06F;YI SYLLABLE BBUP;Lo;0;L;;;;;N;;;;;
+A070;YI SYLLABLE BBURX;Lo;0;L;;;;;N;;;;;
+A071;YI SYLLABLE BBUR;Lo;0;L;;;;;N;;;;;
+A072;YI SYLLABLE BBYT;Lo;0;L;;;;;N;;;;;
+A073;YI SYLLABLE BBYX;Lo;0;L;;;;;N;;;;;
+A074;YI SYLLABLE BBY;Lo;0;L;;;;;N;;;;;
+A075;YI SYLLABLE BBYP;Lo;0;L;;;;;N;;;;;
+A076;YI SYLLABLE NBIT;Lo;0;L;;;;;N;;;;;
+A077;YI SYLLABLE NBIX;Lo;0;L;;;;;N;;;;;
+A078;YI SYLLABLE NBI;Lo;0;L;;;;;N;;;;;
+A079;YI SYLLABLE NBIP;Lo;0;L;;;;;N;;;;;
+A07A;YI SYLLABLE NBIEX;Lo;0;L;;;;;N;;;;;
+A07B;YI SYLLABLE NBIE;Lo;0;L;;;;;N;;;;;
+A07C;YI SYLLABLE NBIEP;Lo;0;L;;;;;N;;;;;
+A07D;YI SYLLABLE NBAT;Lo;0;L;;;;;N;;;;;
+A07E;YI SYLLABLE NBAX;Lo;0;L;;;;;N;;;;;
+A07F;YI SYLLABLE NBA;Lo;0;L;;;;;N;;;;;
+A080;YI SYLLABLE NBAP;Lo;0;L;;;;;N;;;;;
+A081;YI SYLLABLE NBOT;Lo;0;L;;;;;N;;;;;
+A082;YI SYLLABLE NBOX;Lo;0;L;;;;;N;;;;;
+A083;YI SYLLABLE NBO;Lo;0;L;;;;;N;;;;;
+A084;YI SYLLABLE NBOP;Lo;0;L;;;;;N;;;;;
+A085;YI SYLLABLE NBUT;Lo;0;L;;;;;N;;;;;
+A086;YI SYLLABLE NBUX;Lo;0;L;;;;;N;;;;;
+A087;YI SYLLABLE NBU;Lo;0;L;;;;;N;;;;;
+A088;YI SYLLABLE NBUP;Lo;0;L;;;;;N;;;;;
+A089;YI SYLLABLE NBURX;Lo;0;L;;;;;N;;;;;
+A08A;YI SYLLABLE NBUR;Lo;0;L;;;;;N;;;;;
+A08B;YI SYLLABLE NBYT;Lo;0;L;;;;;N;;;;;
+A08C;YI SYLLABLE NBYX;Lo;0;L;;;;;N;;;;;
+A08D;YI SYLLABLE NBY;Lo;0;L;;;;;N;;;;;
+A08E;YI SYLLABLE NBYP;Lo;0;L;;;;;N;;;;;
+A08F;YI SYLLABLE NBYRX;Lo;0;L;;;;;N;;;;;
+A090;YI SYLLABLE NBYR;Lo;0;L;;;;;N;;;;;
+A091;YI SYLLABLE HMIT;Lo;0;L;;;;;N;;;;;
+A092;YI SYLLABLE HMIX;Lo;0;L;;;;;N;;;;;
+A093;YI SYLLABLE HMI;Lo;0;L;;;;;N;;;;;
+A094;YI SYLLABLE HMIP;Lo;0;L;;;;;N;;;;;
+A095;YI SYLLABLE HMIEX;Lo;0;L;;;;;N;;;;;
+A096;YI SYLLABLE HMIE;Lo;0;L;;;;;N;;;;;
+A097;YI SYLLABLE HMIEP;Lo;0;L;;;;;N;;;;;
+A098;YI SYLLABLE HMAT;Lo;0;L;;;;;N;;;;;
+A099;YI SYLLABLE HMAX;Lo;0;L;;;;;N;;;;;
+A09A;YI SYLLABLE HMA;Lo;0;L;;;;;N;;;;;
+A09B;YI SYLLABLE HMAP;Lo;0;L;;;;;N;;;;;
+A09C;YI SYLLABLE HMUOX;Lo;0;L;;;;;N;;;;;
+A09D;YI SYLLABLE HMUO;Lo;0;L;;;;;N;;;;;
+A09E;YI SYLLABLE HMUOP;Lo;0;L;;;;;N;;;;;
+A09F;YI SYLLABLE HMOT;Lo;0;L;;;;;N;;;;;
+A0A0;YI SYLLABLE HMOX;Lo;0;L;;;;;N;;;;;
+A0A1;YI SYLLABLE HMO;Lo;0;L;;;;;N;;;;;
+A0A2;YI SYLLABLE HMOP;Lo;0;L;;;;;N;;;;;
+A0A3;YI SYLLABLE HMUT;Lo;0;L;;;;;N;;;;;
+A0A4;YI SYLLABLE HMUX;Lo;0;L;;;;;N;;;;;
+A0A5;YI SYLLABLE HMU;Lo;0;L;;;;;N;;;;;
+A0A6;YI SYLLABLE HMUP;Lo;0;L;;;;;N;;;;;
+A0A7;YI SYLLABLE HMURX;Lo;0;L;;;;;N;;;;;
+A0A8;YI SYLLABLE HMUR;Lo;0;L;;;;;N;;;;;
+A0A9;YI SYLLABLE HMYX;Lo;0;L;;;;;N;;;;;
+A0AA;YI SYLLABLE HMY;Lo;0;L;;;;;N;;;;;
+A0AB;YI SYLLABLE HMYP;Lo;0;L;;;;;N;;;;;
+A0AC;YI SYLLABLE HMYRX;Lo;0;L;;;;;N;;;;;
+A0AD;YI SYLLABLE HMYR;Lo;0;L;;;;;N;;;;;
+A0AE;YI SYLLABLE MIT;Lo;0;L;;;;;N;;;;;
+A0AF;YI SYLLABLE MIX;Lo;0;L;;;;;N;;;;;
+A0B0;YI SYLLABLE MI;Lo;0;L;;;;;N;;;;;
+A0B1;YI SYLLABLE MIP;Lo;0;L;;;;;N;;;;;
+A0B2;YI SYLLABLE MIEX;Lo;0;L;;;;;N;;;;;
+A0B3;YI SYLLABLE MIE;Lo;0;L;;;;;N;;;;;
+A0B4;YI SYLLABLE MIEP;Lo;0;L;;;;;N;;;;;
+A0B5;YI SYLLABLE MAT;Lo;0;L;;;;;N;;;;;
+A0B6;YI SYLLABLE MAX;Lo;0;L;;;;;N;;;;;
+A0B7;YI SYLLABLE MA;Lo;0;L;;;;;N;;;;;
+A0B8;YI SYLLABLE MAP;Lo;0;L;;;;;N;;;;;
+A0B9;YI SYLLABLE MUOT;Lo;0;L;;;;;N;;;;;
+A0BA;YI SYLLABLE MUOX;Lo;0;L;;;;;N;;;;;
+A0BB;YI SYLLABLE MUO;Lo;0;L;;;;;N;;;;;
+A0BC;YI SYLLABLE MUOP;Lo;0;L;;;;;N;;;;;
+A0BD;YI SYLLABLE MOT;Lo;0;L;;;;;N;;;;;
+A0BE;YI SYLLABLE MOX;Lo;0;L;;;;;N;;;;;
+A0BF;YI SYLLABLE MO;Lo;0;L;;;;;N;;;;;
+A0C0;YI SYLLABLE MOP;Lo;0;L;;;;;N;;;;;
+A0C1;YI SYLLABLE MEX;Lo;0;L;;;;;N;;;;;
+A0C2;YI SYLLABLE ME;Lo;0;L;;;;;N;;;;;
+A0C3;YI SYLLABLE MUT;Lo;0;L;;;;;N;;;;;
+A0C4;YI SYLLABLE MUX;Lo;0;L;;;;;N;;;;;
+A0C5;YI SYLLABLE MU;Lo;0;L;;;;;N;;;;;
+A0C6;YI SYLLABLE MUP;Lo;0;L;;;;;N;;;;;
+A0C7;YI SYLLABLE MURX;Lo;0;L;;;;;N;;;;;
+A0C8;YI SYLLABLE MUR;Lo;0;L;;;;;N;;;;;
+A0C9;YI SYLLABLE MYT;Lo;0;L;;;;;N;;;;;
+A0CA;YI SYLLABLE MYX;Lo;0;L;;;;;N;;;;;
+A0CB;YI SYLLABLE MY;Lo;0;L;;;;;N;;;;;
+A0CC;YI SYLLABLE MYP;Lo;0;L;;;;;N;;;;;
+A0CD;YI SYLLABLE FIT;Lo;0;L;;;;;N;;;;;
+A0CE;YI SYLLABLE FIX;Lo;0;L;;;;;N;;;;;
+A0CF;YI SYLLABLE FI;Lo;0;L;;;;;N;;;;;
+A0D0;YI SYLLABLE FIP;Lo;0;L;;;;;N;;;;;
+A0D1;YI SYLLABLE FAT;Lo;0;L;;;;;N;;;;;
+A0D2;YI SYLLABLE FAX;Lo;0;L;;;;;N;;;;;
+A0D3;YI SYLLABLE FA;Lo;0;L;;;;;N;;;;;
+A0D4;YI SYLLABLE FAP;Lo;0;L;;;;;N;;;;;
+A0D5;YI SYLLABLE FOX;Lo;0;L;;;;;N;;;;;
+A0D6;YI SYLLABLE FO;Lo;0;L;;;;;N;;;;;
+A0D7;YI SYLLABLE FOP;Lo;0;L;;;;;N;;;;;
+A0D8;YI SYLLABLE FUT;Lo;0;L;;;;;N;;;;;
+A0D9;YI SYLLABLE FUX;Lo;0;L;;;;;N;;;;;
+A0DA;YI SYLLABLE FU;Lo;0;L;;;;;N;;;;;
+A0DB;YI SYLLABLE FUP;Lo;0;L;;;;;N;;;;;
+A0DC;YI SYLLABLE FURX;Lo;0;L;;;;;N;;;;;
+A0DD;YI SYLLABLE FUR;Lo;0;L;;;;;N;;;;;
+A0DE;YI SYLLABLE FYT;Lo;0;L;;;;;N;;;;;
+A0DF;YI SYLLABLE FYX;Lo;0;L;;;;;N;;;;;
+A0E0;YI SYLLABLE FY;Lo;0;L;;;;;N;;;;;
+A0E1;YI SYLLABLE FYP;Lo;0;L;;;;;N;;;;;
+A0E2;YI SYLLABLE VIT;Lo;0;L;;;;;N;;;;;
+A0E3;YI SYLLABLE VIX;Lo;0;L;;;;;N;;;;;
+A0E4;YI SYLLABLE VI;Lo;0;L;;;;;N;;;;;
+A0E5;YI SYLLABLE VIP;Lo;0;L;;;;;N;;;;;
+A0E6;YI SYLLABLE VIET;Lo;0;L;;;;;N;;;;;
+A0E7;YI SYLLABLE VIEX;Lo;0;L;;;;;N;;;;;
+A0E8;YI SYLLABLE VIE;Lo;0;L;;;;;N;;;;;
+A0E9;YI SYLLABLE VIEP;Lo;0;L;;;;;N;;;;;
+A0EA;YI SYLLABLE VAT;Lo;0;L;;;;;N;;;;;
+A0EB;YI SYLLABLE VAX;Lo;0;L;;;;;N;;;;;
+A0EC;YI SYLLABLE VA;Lo;0;L;;;;;N;;;;;
+A0ED;YI SYLLABLE VAP;Lo;0;L;;;;;N;;;;;
+A0EE;YI SYLLABLE VOT;Lo;0;L;;;;;N;;;;;
+A0EF;YI SYLLABLE VOX;Lo;0;L;;;;;N;;;;;
+A0F0;YI SYLLABLE VO;Lo;0;L;;;;;N;;;;;
+A0F1;YI SYLLABLE VOP;Lo;0;L;;;;;N;;;;;
+A0F2;YI SYLLABLE VEX;Lo;0;L;;;;;N;;;;;
+A0F3;YI SYLLABLE VEP;Lo;0;L;;;;;N;;;;;
+A0F4;YI SYLLABLE VUT;Lo;0;L;;;;;N;;;;;
+A0F5;YI SYLLABLE VUX;Lo;0;L;;;;;N;;;;;
+A0F6;YI SYLLABLE VU;Lo;0;L;;;;;N;;;;;
+A0F7;YI SYLLABLE VUP;Lo;0;L;;;;;N;;;;;
+A0F8;YI SYLLABLE VURX;Lo;0;L;;;;;N;;;;;
+A0F9;YI SYLLABLE VUR;Lo;0;L;;;;;N;;;;;
+A0FA;YI SYLLABLE VYT;Lo;0;L;;;;;N;;;;;
+A0FB;YI SYLLABLE VYX;Lo;0;L;;;;;N;;;;;
+A0FC;YI SYLLABLE VY;Lo;0;L;;;;;N;;;;;
+A0FD;YI SYLLABLE VYP;Lo;0;L;;;;;N;;;;;
+A0FE;YI SYLLABLE VYRX;Lo;0;L;;;;;N;;;;;
+A0FF;YI SYLLABLE VYR;Lo;0;L;;;;;N;;;;;
+A100;YI SYLLABLE DIT;Lo;0;L;;;;;N;;;;;
+A101;YI SYLLABLE DIX;Lo;0;L;;;;;N;;;;;
+A102;YI SYLLABLE DI;Lo;0;L;;;;;N;;;;;
+A103;YI SYLLABLE DIP;Lo;0;L;;;;;N;;;;;
+A104;YI SYLLABLE DIEX;Lo;0;L;;;;;N;;;;;
+A105;YI SYLLABLE DIE;Lo;0;L;;;;;N;;;;;
+A106;YI SYLLABLE DIEP;Lo;0;L;;;;;N;;;;;
+A107;YI SYLLABLE DAT;Lo;0;L;;;;;N;;;;;
+A108;YI SYLLABLE DAX;Lo;0;L;;;;;N;;;;;
+A109;YI SYLLABLE DA;Lo;0;L;;;;;N;;;;;
+A10A;YI SYLLABLE DAP;Lo;0;L;;;;;N;;;;;
+A10B;YI SYLLABLE DUOX;Lo;0;L;;;;;N;;;;;
+A10C;YI SYLLABLE DUO;Lo;0;L;;;;;N;;;;;
+A10D;YI SYLLABLE DOT;Lo;0;L;;;;;N;;;;;
+A10E;YI SYLLABLE DOX;Lo;0;L;;;;;N;;;;;
+A10F;YI SYLLABLE DO;Lo;0;L;;;;;N;;;;;
+A110;YI SYLLABLE DOP;Lo;0;L;;;;;N;;;;;
+A111;YI SYLLABLE DEX;Lo;0;L;;;;;N;;;;;
+A112;YI SYLLABLE DE;Lo;0;L;;;;;N;;;;;
+A113;YI SYLLABLE DEP;Lo;0;L;;;;;N;;;;;
+A114;YI SYLLABLE DUT;Lo;0;L;;;;;N;;;;;
+A115;YI SYLLABLE DUX;Lo;0;L;;;;;N;;;;;
+A116;YI SYLLABLE DU;Lo;0;L;;;;;N;;;;;
+A117;YI SYLLABLE DUP;Lo;0;L;;;;;N;;;;;
+A118;YI SYLLABLE DURX;Lo;0;L;;;;;N;;;;;
+A119;YI SYLLABLE DUR;Lo;0;L;;;;;N;;;;;
+A11A;YI SYLLABLE TIT;Lo;0;L;;;;;N;;;;;
+A11B;YI SYLLABLE TIX;Lo;0;L;;;;;N;;;;;
+A11C;YI SYLLABLE TI;Lo;0;L;;;;;N;;;;;
+A11D;YI SYLLABLE TIP;Lo;0;L;;;;;N;;;;;
+A11E;YI SYLLABLE TIEX;Lo;0;L;;;;;N;;;;;
+A11F;YI SYLLABLE TIE;Lo;0;L;;;;;N;;;;;
+A120;YI SYLLABLE TIEP;Lo;0;L;;;;;N;;;;;
+A121;YI SYLLABLE TAT;Lo;0;L;;;;;N;;;;;
+A122;YI SYLLABLE TAX;Lo;0;L;;;;;N;;;;;
+A123;YI SYLLABLE TA;Lo;0;L;;;;;N;;;;;
+A124;YI SYLLABLE TAP;Lo;0;L;;;;;N;;;;;
+A125;YI SYLLABLE TUOT;Lo;0;L;;;;;N;;;;;
+A126;YI SYLLABLE TUOX;Lo;0;L;;;;;N;;;;;
+A127;YI SYLLABLE TUO;Lo;0;L;;;;;N;;;;;
+A128;YI SYLLABLE TUOP;Lo;0;L;;;;;N;;;;;
+A129;YI SYLLABLE TOT;Lo;0;L;;;;;N;;;;;
+A12A;YI SYLLABLE TOX;Lo;0;L;;;;;N;;;;;
+A12B;YI SYLLABLE TO;Lo;0;L;;;;;N;;;;;
+A12C;YI SYLLABLE TOP;Lo;0;L;;;;;N;;;;;
+A12D;YI SYLLABLE TEX;Lo;0;L;;;;;N;;;;;
+A12E;YI SYLLABLE TE;Lo;0;L;;;;;N;;;;;
+A12F;YI SYLLABLE TEP;Lo;0;L;;;;;N;;;;;
+A130;YI SYLLABLE TUT;Lo;0;L;;;;;N;;;;;
+A131;YI SYLLABLE TUX;Lo;0;L;;;;;N;;;;;
+A132;YI SYLLABLE TU;Lo;0;L;;;;;N;;;;;
+A133;YI SYLLABLE TUP;Lo;0;L;;;;;N;;;;;
+A134;YI SYLLABLE TURX;Lo;0;L;;;;;N;;;;;
+A135;YI SYLLABLE TUR;Lo;0;L;;;;;N;;;;;
+A136;YI SYLLABLE DDIT;Lo;0;L;;;;;N;;;;;
+A137;YI SYLLABLE DDIX;Lo;0;L;;;;;N;;;;;
+A138;YI SYLLABLE DDI;Lo;0;L;;;;;N;;;;;
+A139;YI SYLLABLE DDIP;Lo;0;L;;;;;N;;;;;
+A13A;YI SYLLABLE DDIEX;Lo;0;L;;;;;N;;;;;
+A13B;YI SYLLABLE DDIE;Lo;0;L;;;;;N;;;;;
+A13C;YI SYLLABLE DDIEP;Lo;0;L;;;;;N;;;;;
+A13D;YI SYLLABLE DDAT;Lo;0;L;;;;;N;;;;;
+A13E;YI SYLLABLE DDAX;Lo;0;L;;;;;N;;;;;
+A13F;YI SYLLABLE DDA;Lo;0;L;;;;;N;;;;;
+A140;YI SYLLABLE DDAP;Lo;0;L;;;;;N;;;;;
+A141;YI SYLLABLE DDUOX;Lo;0;L;;;;;N;;;;;
+A142;YI SYLLABLE DDUO;Lo;0;L;;;;;N;;;;;
+A143;YI SYLLABLE DDUOP;Lo;0;L;;;;;N;;;;;
+A144;YI SYLLABLE DDOT;Lo;0;L;;;;;N;;;;;
+A145;YI SYLLABLE DDOX;Lo;0;L;;;;;N;;;;;
+A146;YI SYLLABLE DDO;Lo;0;L;;;;;N;;;;;
+A147;YI SYLLABLE DDOP;Lo;0;L;;;;;N;;;;;
+A148;YI SYLLABLE DDEX;Lo;0;L;;;;;N;;;;;
+A149;YI SYLLABLE DDE;Lo;0;L;;;;;N;;;;;
+A14A;YI SYLLABLE DDEP;Lo;0;L;;;;;N;;;;;
+A14B;YI SYLLABLE DDUT;Lo;0;L;;;;;N;;;;;
+A14C;YI SYLLABLE DDUX;Lo;0;L;;;;;N;;;;;
+A14D;YI SYLLABLE DDU;Lo;0;L;;;;;N;;;;;
+A14E;YI SYLLABLE DDUP;Lo;0;L;;;;;N;;;;;
+A14F;YI SYLLABLE DDURX;Lo;0;L;;;;;N;;;;;
+A150;YI SYLLABLE DDUR;Lo;0;L;;;;;N;;;;;
+A151;YI SYLLABLE NDIT;Lo;0;L;;;;;N;;;;;
+A152;YI SYLLABLE NDIX;Lo;0;L;;;;;N;;;;;
+A153;YI SYLLABLE NDI;Lo;0;L;;;;;N;;;;;
+A154;YI SYLLABLE NDIP;Lo;0;L;;;;;N;;;;;
+A155;YI SYLLABLE NDIEX;Lo;0;L;;;;;N;;;;;
+A156;YI SYLLABLE NDIE;Lo;0;L;;;;;N;;;;;
+A157;YI SYLLABLE NDAT;Lo;0;L;;;;;N;;;;;
+A158;YI SYLLABLE NDAX;Lo;0;L;;;;;N;;;;;
+A159;YI SYLLABLE NDA;Lo;0;L;;;;;N;;;;;
+A15A;YI SYLLABLE NDAP;Lo;0;L;;;;;N;;;;;
+A15B;YI SYLLABLE NDOT;Lo;0;L;;;;;N;;;;;
+A15C;YI SYLLABLE NDOX;Lo;0;L;;;;;N;;;;;
+A15D;YI SYLLABLE NDO;Lo;0;L;;;;;N;;;;;
+A15E;YI SYLLABLE NDOP;Lo;0;L;;;;;N;;;;;
+A15F;YI SYLLABLE NDEX;Lo;0;L;;;;;N;;;;;
+A160;YI SYLLABLE NDE;Lo;0;L;;;;;N;;;;;
+A161;YI SYLLABLE NDEP;Lo;0;L;;;;;N;;;;;
+A162;YI SYLLABLE NDUT;Lo;0;L;;;;;N;;;;;
+A163;YI SYLLABLE NDUX;Lo;0;L;;;;;N;;;;;
+A164;YI SYLLABLE NDU;Lo;0;L;;;;;N;;;;;
+A165;YI SYLLABLE NDUP;Lo;0;L;;;;;N;;;;;
+A166;YI SYLLABLE NDURX;Lo;0;L;;;;;N;;;;;
+A167;YI SYLLABLE NDUR;Lo;0;L;;;;;N;;;;;
+A168;YI SYLLABLE HNIT;Lo;0;L;;;;;N;;;;;
+A169;YI SYLLABLE HNIX;Lo;0;L;;;;;N;;;;;
+A16A;YI SYLLABLE HNI;Lo;0;L;;;;;N;;;;;
+A16B;YI SYLLABLE HNIP;Lo;0;L;;;;;N;;;;;
+A16C;YI SYLLABLE HNIET;Lo;0;L;;;;;N;;;;;
+A16D;YI SYLLABLE HNIEX;Lo;0;L;;;;;N;;;;;
+A16E;YI SYLLABLE HNIE;Lo;0;L;;;;;N;;;;;
+A16F;YI SYLLABLE HNIEP;Lo;0;L;;;;;N;;;;;
+A170;YI SYLLABLE HNAT;Lo;0;L;;;;;N;;;;;
+A171;YI SYLLABLE HNAX;Lo;0;L;;;;;N;;;;;
+A172;YI SYLLABLE HNA;Lo;0;L;;;;;N;;;;;
+A173;YI SYLLABLE HNAP;Lo;0;L;;;;;N;;;;;
+A174;YI SYLLABLE HNUOX;Lo;0;L;;;;;N;;;;;
+A175;YI SYLLABLE HNUO;Lo;0;L;;;;;N;;;;;
+A176;YI SYLLABLE HNOT;Lo;0;L;;;;;N;;;;;
+A177;YI SYLLABLE HNOX;Lo;0;L;;;;;N;;;;;
+A178;YI SYLLABLE HNOP;Lo;0;L;;;;;N;;;;;
+A179;YI SYLLABLE HNEX;Lo;0;L;;;;;N;;;;;
+A17A;YI SYLLABLE HNE;Lo;0;L;;;;;N;;;;;
+A17B;YI SYLLABLE HNEP;Lo;0;L;;;;;N;;;;;
+A17C;YI SYLLABLE HNUT;Lo;0;L;;;;;N;;;;;
+A17D;YI SYLLABLE NIT;Lo;0;L;;;;;N;;;;;
+A17E;YI SYLLABLE NIX;Lo;0;L;;;;;N;;;;;
+A17F;YI SYLLABLE NI;Lo;0;L;;;;;N;;;;;
+A180;YI SYLLABLE NIP;Lo;0;L;;;;;N;;;;;
+A181;YI SYLLABLE NIEX;Lo;0;L;;;;;N;;;;;
+A182;YI SYLLABLE NIE;Lo;0;L;;;;;N;;;;;
+A183;YI SYLLABLE NIEP;Lo;0;L;;;;;N;;;;;
+A184;YI SYLLABLE NAX;Lo;0;L;;;;;N;;;;;
+A185;YI SYLLABLE NA;Lo;0;L;;;;;N;;;;;
+A186;YI SYLLABLE NAP;Lo;0;L;;;;;N;;;;;
+A187;YI SYLLABLE NUOX;Lo;0;L;;;;;N;;;;;
+A188;YI SYLLABLE NUO;Lo;0;L;;;;;N;;;;;
+A189;YI SYLLABLE NUOP;Lo;0;L;;;;;N;;;;;
+A18A;YI SYLLABLE NOT;Lo;0;L;;;;;N;;;;;
+A18B;YI SYLLABLE NOX;Lo;0;L;;;;;N;;;;;
+A18C;YI SYLLABLE NO;Lo;0;L;;;;;N;;;;;
+A18D;YI SYLLABLE NOP;Lo;0;L;;;;;N;;;;;
+A18E;YI SYLLABLE NEX;Lo;0;L;;;;;N;;;;;
+A18F;YI SYLLABLE NE;Lo;0;L;;;;;N;;;;;
+A190;YI SYLLABLE NEP;Lo;0;L;;;;;N;;;;;
+A191;YI SYLLABLE NUT;Lo;0;L;;;;;N;;;;;
+A192;YI SYLLABLE NUX;Lo;0;L;;;;;N;;;;;
+A193;YI SYLLABLE NU;Lo;0;L;;;;;N;;;;;
+A194;YI SYLLABLE NUP;Lo;0;L;;;;;N;;;;;
+A195;YI SYLLABLE NURX;Lo;0;L;;;;;N;;;;;
+A196;YI SYLLABLE NUR;Lo;0;L;;;;;N;;;;;
+A197;YI SYLLABLE HLIT;Lo;0;L;;;;;N;;;;;
+A198;YI SYLLABLE HLIX;Lo;0;L;;;;;N;;;;;
+A199;YI SYLLABLE HLI;Lo;0;L;;;;;N;;;;;
+A19A;YI SYLLABLE HLIP;Lo;0;L;;;;;N;;;;;
+A19B;YI SYLLABLE HLIEX;Lo;0;L;;;;;N;;;;;
+A19C;YI SYLLABLE HLIE;Lo;0;L;;;;;N;;;;;
+A19D;YI SYLLABLE HLIEP;Lo;0;L;;;;;N;;;;;
+A19E;YI SYLLABLE HLAT;Lo;0;L;;;;;N;;;;;
+A19F;YI SYLLABLE HLAX;Lo;0;L;;;;;N;;;;;
+A1A0;YI SYLLABLE HLA;Lo;0;L;;;;;N;;;;;
+A1A1;YI SYLLABLE HLAP;Lo;0;L;;;;;N;;;;;
+A1A2;YI SYLLABLE HLUOX;Lo;0;L;;;;;N;;;;;
+A1A3;YI SYLLABLE HLUO;Lo;0;L;;;;;N;;;;;
+A1A4;YI SYLLABLE HLUOP;Lo;0;L;;;;;N;;;;;
+A1A5;YI SYLLABLE HLOX;Lo;0;L;;;;;N;;;;;
+A1A6;YI SYLLABLE HLO;Lo;0;L;;;;;N;;;;;
+A1A7;YI SYLLABLE HLOP;Lo;0;L;;;;;N;;;;;
+A1A8;YI SYLLABLE HLEX;Lo;0;L;;;;;N;;;;;
+A1A9;YI SYLLABLE HLE;Lo;0;L;;;;;N;;;;;
+A1AA;YI SYLLABLE HLEP;Lo;0;L;;;;;N;;;;;
+A1AB;YI SYLLABLE HLUT;Lo;0;L;;;;;N;;;;;
+A1AC;YI SYLLABLE HLUX;Lo;0;L;;;;;N;;;;;
+A1AD;YI SYLLABLE HLU;Lo;0;L;;;;;N;;;;;
+A1AE;YI SYLLABLE HLUP;Lo;0;L;;;;;N;;;;;
+A1AF;YI SYLLABLE HLURX;Lo;0;L;;;;;N;;;;;
+A1B0;YI SYLLABLE HLUR;Lo;0;L;;;;;N;;;;;
+A1B1;YI SYLLABLE HLYT;Lo;0;L;;;;;N;;;;;
+A1B2;YI SYLLABLE HLYX;Lo;0;L;;;;;N;;;;;
+A1B3;YI SYLLABLE HLY;Lo;0;L;;;;;N;;;;;
+A1B4;YI SYLLABLE HLYP;Lo;0;L;;;;;N;;;;;
+A1B5;YI SYLLABLE HLYRX;Lo;0;L;;;;;N;;;;;
+A1B6;YI SYLLABLE HLYR;Lo;0;L;;;;;N;;;;;
+A1B7;YI SYLLABLE LIT;Lo;0;L;;;;;N;;;;;
+A1B8;YI SYLLABLE LIX;Lo;0;L;;;;;N;;;;;
+A1B9;YI SYLLABLE LI;Lo;0;L;;;;;N;;;;;
+A1BA;YI SYLLABLE LIP;Lo;0;L;;;;;N;;;;;
+A1BB;YI SYLLABLE LIET;Lo;0;L;;;;;N;;;;;
+A1BC;YI SYLLABLE LIEX;Lo;0;L;;;;;N;;;;;
+A1BD;YI SYLLABLE LIE;Lo;0;L;;;;;N;;;;;
+A1BE;YI SYLLABLE LIEP;Lo;0;L;;;;;N;;;;;
+A1BF;YI SYLLABLE LAT;Lo;0;L;;;;;N;;;;;
+A1C0;YI SYLLABLE LAX;Lo;0;L;;;;;N;;;;;
+A1C1;YI SYLLABLE LA;Lo;0;L;;;;;N;;;;;
+A1C2;YI SYLLABLE LAP;Lo;0;L;;;;;N;;;;;
+A1C3;YI SYLLABLE LUOT;Lo;0;L;;;;;N;;;;;
+A1C4;YI SYLLABLE LUOX;Lo;0;L;;;;;N;;;;;
+A1C5;YI SYLLABLE LUO;Lo;0;L;;;;;N;;;;;
+A1C6;YI SYLLABLE LUOP;Lo;0;L;;;;;N;;;;;
+A1C7;YI SYLLABLE LOT;Lo;0;L;;;;;N;;;;;
+A1C8;YI SYLLABLE LOX;Lo;0;L;;;;;N;;;;;
+A1C9;YI SYLLABLE LO;Lo;0;L;;;;;N;;;;;
+A1CA;YI SYLLABLE LOP;Lo;0;L;;;;;N;;;;;
+A1CB;YI SYLLABLE LEX;Lo;0;L;;;;;N;;;;;
+A1CC;YI SYLLABLE LE;Lo;0;L;;;;;N;;;;;
+A1CD;YI SYLLABLE LEP;Lo;0;L;;;;;N;;;;;
+A1CE;YI SYLLABLE LUT;Lo;0;L;;;;;N;;;;;
+A1CF;YI SYLLABLE LUX;Lo;0;L;;;;;N;;;;;
+A1D0;YI SYLLABLE LU;Lo;0;L;;;;;N;;;;;
+A1D1;YI SYLLABLE LUP;Lo;0;L;;;;;N;;;;;
+A1D2;YI SYLLABLE LURX;Lo;0;L;;;;;N;;;;;
+A1D3;YI SYLLABLE LUR;Lo;0;L;;;;;N;;;;;
+A1D4;YI SYLLABLE LYT;Lo;0;L;;;;;N;;;;;
+A1D5;YI SYLLABLE LYX;Lo;0;L;;;;;N;;;;;
+A1D6;YI SYLLABLE LY;Lo;0;L;;;;;N;;;;;
+A1D7;YI SYLLABLE LYP;Lo;0;L;;;;;N;;;;;
+A1D8;YI SYLLABLE LYRX;Lo;0;L;;;;;N;;;;;
+A1D9;YI SYLLABLE LYR;Lo;0;L;;;;;N;;;;;
+A1DA;YI SYLLABLE GIT;Lo;0;L;;;;;N;;;;;
+A1DB;YI SYLLABLE GIX;Lo;0;L;;;;;N;;;;;
+A1DC;YI SYLLABLE GI;Lo;0;L;;;;;N;;;;;
+A1DD;YI SYLLABLE GIP;Lo;0;L;;;;;N;;;;;
+A1DE;YI SYLLABLE GIET;Lo;0;L;;;;;N;;;;;
+A1DF;YI SYLLABLE GIEX;Lo;0;L;;;;;N;;;;;
+A1E0;YI SYLLABLE GIE;Lo;0;L;;;;;N;;;;;
+A1E1;YI SYLLABLE GIEP;Lo;0;L;;;;;N;;;;;
+A1E2;YI SYLLABLE GAT;Lo;0;L;;;;;N;;;;;
+A1E3;YI SYLLABLE GAX;Lo;0;L;;;;;N;;;;;
+A1E4;YI SYLLABLE GA;Lo;0;L;;;;;N;;;;;
+A1E5;YI SYLLABLE GAP;Lo;0;L;;;;;N;;;;;
+A1E6;YI SYLLABLE GUOT;Lo;0;L;;;;;N;;;;;
+A1E7;YI SYLLABLE GUOX;Lo;0;L;;;;;N;;;;;
+A1E8;YI SYLLABLE GUO;Lo;0;L;;;;;N;;;;;
+A1E9;YI SYLLABLE GUOP;Lo;0;L;;;;;N;;;;;
+A1EA;YI SYLLABLE GOT;Lo;0;L;;;;;N;;;;;
+A1EB;YI SYLLABLE GOX;Lo;0;L;;;;;N;;;;;
+A1EC;YI SYLLABLE GO;Lo;0;L;;;;;N;;;;;
+A1ED;YI SYLLABLE GOP;Lo;0;L;;;;;N;;;;;
+A1EE;YI SYLLABLE GET;Lo;0;L;;;;;N;;;;;
+A1EF;YI SYLLABLE GEX;Lo;0;L;;;;;N;;;;;
+A1F0;YI SYLLABLE GE;Lo;0;L;;;;;N;;;;;
+A1F1;YI SYLLABLE GEP;Lo;0;L;;;;;N;;;;;
+A1F2;YI SYLLABLE GUT;Lo;0;L;;;;;N;;;;;
+A1F3;YI SYLLABLE GUX;Lo;0;L;;;;;N;;;;;
+A1F4;YI SYLLABLE GU;Lo;0;L;;;;;N;;;;;
+A1F5;YI SYLLABLE GUP;Lo;0;L;;;;;N;;;;;
+A1F6;YI SYLLABLE GURX;Lo;0;L;;;;;N;;;;;
+A1F7;YI SYLLABLE GUR;Lo;0;L;;;;;N;;;;;
+A1F8;YI SYLLABLE KIT;Lo;0;L;;;;;N;;;;;
+A1F9;YI SYLLABLE KIX;Lo;0;L;;;;;N;;;;;
+A1FA;YI SYLLABLE KI;Lo;0;L;;;;;N;;;;;
+A1FB;YI SYLLABLE KIP;Lo;0;L;;;;;N;;;;;
+A1FC;YI SYLLABLE KIEX;Lo;0;L;;;;;N;;;;;
+A1FD;YI SYLLABLE KIE;Lo;0;L;;;;;N;;;;;
+A1FE;YI SYLLABLE KIEP;Lo;0;L;;;;;N;;;;;
+A1FF;YI SYLLABLE KAT;Lo;0;L;;;;;N;;;;;
+A200;YI SYLLABLE KAX;Lo;0;L;;;;;N;;;;;
+A201;YI SYLLABLE KA;Lo;0;L;;;;;N;;;;;
+A202;YI SYLLABLE KAP;Lo;0;L;;;;;N;;;;;
+A203;YI SYLLABLE KUOX;Lo;0;L;;;;;N;;;;;
+A204;YI SYLLABLE KUO;Lo;0;L;;;;;N;;;;;
+A205;YI SYLLABLE KUOP;Lo;0;L;;;;;N;;;;;
+A206;YI SYLLABLE KOT;Lo;0;L;;;;;N;;;;;
+A207;YI SYLLABLE KOX;Lo;0;L;;;;;N;;;;;
+A208;YI SYLLABLE KO;Lo;0;L;;;;;N;;;;;
+A209;YI SYLLABLE KOP;Lo;0;L;;;;;N;;;;;
+A20A;YI SYLLABLE KET;Lo;0;L;;;;;N;;;;;
+A20B;YI SYLLABLE KEX;Lo;0;L;;;;;N;;;;;
+A20C;YI SYLLABLE KE;Lo;0;L;;;;;N;;;;;
+A20D;YI SYLLABLE KEP;Lo;0;L;;;;;N;;;;;
+A20E;YI SYLLABLE KUT;Lo;0;L;;;;;N;;;;;
+A20F;YI SYLLABLE KUX;Lo;0;L;;;;;N;;;;;
+A210;YI SYLLABLE KU;Lo;0;L;;;;;N;;;;;
+A211;YI SYLLABLE KUP;Lo;0;L;;;;;N;;;;;
+A212;YI SYLLABLE KURX;Lo;0;L;;;;;N;;;;;
+A213;YI SYLLABLE KUR;Lo;0;L;;;;;N;;;;;
+A214;YI SYLLABLE GGIT;Lo;0;L;;;;;N;;;;;
+A215;YI SYLLABLE GGIX;Lo;0;L;;;;;N;;;;;
+A216;YI SYLLABLE GGI;Lo;0;L;;;;;N;;;;;
+A217;YI SYLLABLE GGIEX;Lo;0;L;;;;;N;;;;;
+A218;YI SYLLABLE GGIE;Lo;0;L;;;;;N;;;;;
+A219;YI SYLLABLE GGIEP;Lo;0;L;;;;;N;;;;;
+A21A;YI SYLLABLE GGAT;Lo;0;L;;;;;N;;;;;
+A21B;YI SYLLABLE GGAX;Lo;0;L;;;;;N;;;;;
+A21C;YI SYLLABLE GGA;Lo;0;L;;;;;N;;;;;
+A21D;YI SYLLABLE GGAP;Lo;0;L;;;;;N;;;;;
+A21E;YI SYLLABLE GGUOT;Lo;0;L;;;;;N;;;;;
+A21F;YI SYLLABLE GGUOX;Lo;0;L;;;;;N;;;;;
+A220;YI SYLLABLE GGUO;Lo;0;L;;;;;N;;;;;
+A221;YI SYLLABLE GGUOP;Lo;0;L;;;;;N;;;;;
+A222;YI SYLLABLE GGOT;Lo;0;L;;;;;N;;;;;
+A223;YI SYLLABLE GGOX;Lo;0;L;;;;;N;;;;;
+A224;YI SYLLABLE GGO;Lo;0;L;;;;;N;;;;;
+A225;YI SYLLABLE GGOP;Lo;0;L;;;;;N;;;;;
+A226;YI SYLLABLE GGET;Lo;0;L;;;;;N;;;;;
+A227;YI SYLLABLE GGEX;Lo;0;L;;;;;N;;;;;
+A228;YI SYLLABLE GGE;Lo;0;L;;;;;N;;;;;
+A229;YI SYLLABLE GGEP;Lo;0;L;;;;;N;;;;;
+A22A;YI SYLLABLE GGUT;Lo;0;L;;;;;N;;;;;
+A22B;YI SYLLABLE GGUX;Lo;0;L;;;;;N;;;;;
+A22C;YI SYLLABLE GGU;Lo;0;L;;;;;N;;;;;
+A22D;YI SYLLABLE GGUP;Lo;0;L;;;;;N;;;;;
+A22E;YI SYLLABLE GGURX;Lo;0;L;;;;;N;;;;;
+A22F;YI SYLLABLE GGUR;Lo;0;L;;;;;N;;;;;
+A230;YI SYLLABLE MGIEX;Lo;0;L;;;;;N;;;;;
+A231;YI SYLLABLE MGIE;Lo;0;L;;;;;N;;;;;
+A232;YI SYLLABLE MGAT;Lo;0;L;;;;;N;;;;;
+A233;YI SYLLABLE MGAX;Lo;0;L;;;;;N;;;;;
+A234;YI SYLLABLE MGA;Lo;0;L;;;;;N;;;;;
+A235;YI SYLLABLE MGAP;Lo;0;L;;;;;N;;;;;
+A236;YI SYLLABLE MGUOX;Lo;0;L;;;;;N;;;;;
+A237;YI SYLLABLE MGUO;Lo;0;L;;;;;N;;;;;
+A238;YI SYLLABLE MGUOP;Lo;0;L;;;;;N;;;;;
+A239;YI SYLLABLE MGOT;Lo;0;L;;;;;N;;;;;
+A23A;YI SYLLABLE MGOX;Lo;0;L;;;;;N;;;;;
+A23B;YI SYLLABLE MGO;Lo;0;L;;;;;N;;;;;
+A23C;YI SYLLABLE MGOP;Lo;0;L;;;;;N;;;;;
+A23D;YI SYLLABLE MGEX;Lo;0;L;;;;;N;;;;;
+A23E;YI SYLLABLE MGE;Lo;0;L;;;;;N;;;;;
+A23F;YI SYLLABLE MGEP;Lo;0;L;;;;;N;;;;;
+A240;YI SYLLABLE MGUT;Lo;0;L;;;;;N;;;;;
+A241;YI SYLLABLE MGUX;Lo;0;L;;;;;N;;;;;
+A242;YI SYLLABLE MGU;Lo;0;L;;;;;N;;;;;
+A243;YI SYLLABLE MGUP;Lo;0;L;;;;;N;;;;;
+A244;YI SYLLABLE MGURX;Lo;0;L;;;;;N;;;;;
+A245;YI SYLLABLE MGUR;Lo;0;L;;;;;N;;;;;
+A246;YI SYLLABLE HXIT;Lo;0;L;;;;;N;;;;;
+A247;YI SYLLABLE HXIX;Lo;0;L;;;;;N;;;;;
+A248;YI SYLLABLE HXI;Lo;0;L;;;;;N;;;;;
+A249;YI SYLLABLE HXIP;Lo;0;L;;;;;N;;;;;
+A24A;YI SYLLABLE HXIET;Lo;0;L;;;;;N;;;;;
+A24B;YI SYLLABLE HXIEX;Lo;0;L;;;;;N;;;;;
+A24C;YI SYLLABLE HXIE;Lo;0;L;;;;;N;;;;;
+A24D;YI SYLLABLE HXIEP;Lo;0;L;;;;;N;;;;;
+A24E;YI SYLLABLE HXAT;Lo;0;L;;;;;N;;;;;
+A24F;YI SYLLABLE HXAX;Lo;0;L;;;;;N;;;;;
+A250;YI SYLLABLE HXA;Lo;0;L;;;;;N;;;;;
+A251;YI SYLLABLE HXAP;Lo;0;L;;;;;N;;;;;
+A252;YI SYLLABLE HXUOT;Lo;0;L;;;;;N;;;;;
+A253;YI SYLLABLE HXUOX;Lo;0;L;;;;;N;;;;;
+A254;YI SYLLABLE HXUO;Lo;0;L;;;;;N;;;;;
+A255;YI SYLLABLE HXUOP;Lo;0;L;;;;;N;;;;;
+A256;YI SYLLABLE HXOT;Lo;0;L;;;;;N;;;;;
+A257;YI SYLLABLE HXOX;Lo;0;L;;;;;N;;;;;
+A258;YI SYLLABLE HXO;Lo;0;L;;;;;N;;;;;
+A259;YI SYLLABLE HXOP;Lo;0;L;;;;;N;;;;;
+A25A;YI SYLLABLE HXEX;Lo;0;L;;;;;N;;;;;
+A25B;YI SYLLABLE HXE;Lo;0;L;;;;;N;;;;;
+A25C;YI SYLLABLE HXEP;Lo;0;L;;;;;N;;;;;
+A25D;YI SYLLABLE NGIEX;Lo;0;L;;;;;N;;;;;
+A25E;YI SYLLABLE NGIE;Lo;0;L;;;;;N;;;;;
+A25F;YI SYLLABLE NGIEP;Lo;0;L;;;;;N;;;;;
+A260;YI SYLLABLE NGAT;Lo;0;L;;;;;N;;;;;
+A261;YI SYLLABLE NGAX;Lo;0;L;;;;;N;;;;;
+A262;YI SYLLABLE NGA;Lo;0;L;;;;;N;;;;;
+A263;YI SYLLABLE NGAP;Lo;0;L;;;;;N;;;;;
+A264;YI SYLLABLE NGUOT;Lo;0;L;;;;;N;;;;;
+A265;YI SYLLABLE NGUOX;Lo;0;L;;;;;N;;;;;
+A266;YI SYLLABLE NGUO;Lo;0;L;;;;;N;;;;;
+A267;YI SYLLABLE NGOT;Lo;0;L;;;;;N;;;;;
+A268;YI SYLLABLE NGOX;Lo;0;L;;;;;N;;;;;
+A269;YI SYLLABLE NGO;Lo;0;L;;;;;N;;;;;
+A26A;YI SYLLABLE NGOP;Lo;0;L;;;;;N;;;;;
+A26B;YI SYLLABLE NGEX;Lo;0;L;;;;;N;;;;;
+A26C;YI SYLLABLE NGE;Lo;0;L;;;;;N;;;;;
+A26D;YI SYLLABLE NGEP;Lo;0;L;;;;;N;;;;;
+A26E;YI SYLLABLE HIT;Lo;0;L;;;;;N;;;;;
+A26F;YI SYLLABLE HIEX;Lo;0;L;;;;;N;;;;;
+A270;YI SYLLABLE HIE;Lo;0;L;;;;;N;;;;;
+A271;YI SYLLABLE HAT;Lo;0;L;;;;;N;;;;;
+A272;YI SYLLABLE HAX;Lo;0;L;;;;;N;;;;;
+A273;YI SYLLABLE HA;Lo;0;L;;;;;N;;;;;
+A274;YI SYLLABLE HAP;Lo;0;L;;;;;N;;;;;
+A275;YI SYLLABLE HUOT;Lo;0;L;;;;;N;;;;;
+A276;YI SYLLABLE HUOX;Lo;0;L;;;;;N;;;;;
+A277;YI SYLLABLE HUO;Lo;0;L;;;;;N;;;;;
+A278;YI SYLLABLE HUOP;Lo;0;L;;;;;N;;;;;
+A279;YI SYLLABLE HOT;Lo;0;L;;;;;N;;;;;
+A27A;YI SYLLABLE HOX;Lo;0;L;;;;;N;;;;;
+A27B;YI SYLLABLE HO;Lo;0;L;;;;;N;;;;;
+A27C;YI SYLLABLE HOP;Lo;0;L;;;;;N;;;;;
+A27D;YI SYLLABLE HEX;Lo;0;L;;;;;N;;;;;
+A27E;YI SYLLABLE HE;Lo;0;L;;;;;N;;;;;
+A27F;YI SYLLABLE HEP;Lo;0;L;;;;;N;;;;;
+A280;YI SYLLABLE WAT;Lo;0;L;;;;;N;;;;;
+A281;YI SYLLABLE WAX;Lo;0;L;;;;;N;;;;;
+A282;YI SYLLABLE WA;Lo;0;L;;;;;N;;;;;
+A283;YI SYLLABLE WAP;Lo;0;L;;;;;N;;;;;
+A284;YI SYLLABLE WUOX;Lo;0;L;;;;;N;;;;;
+A285;YI SYLLABLE WUO;Lo;0;L;;;;;N;;;;;
+A286;YI SYLLABLE WUOP;Lo;0;L;;;;;N;;;;;
+A287;YI SYLLABLE WOX;Lo;0;L;;;;;N;;;;;
+A288;YI SYLLABLE WO;Lo;0;L;;;;;N;;;;;
+A289;YI SYLLABLE WOP;Lo;0;L;;;;;N;;;;;
+A28A;YI SYLLABLE WEX;Lo;0;L;;;;;N;;;;;
+A28B;YI SYLLABLE WE;Lo;0;L;;;;;N;;;;;
+A28C;YI SYLLABLE WEP;Lo;0;L;;;;;N;;;;;
+A28D;YI SYLLABLE ZIT;Lo;0;L;;;;;N;;;;;
+A28E;YI SYLLABLE ZIX;Lo;0;L;;;;;N;;;;;
+A28F;YI SYLLABLE ZI;Lo;0;L;;;;;N;;;;;
+A290;YI SYLLABLE ZIP;Lo;0;L;;;;;N;;;;;
+A291;YI SYLLABLE ZIEX;Lo;0;L;;;;;N;;;;;
+A292;YI SYLLABLE ZIE;Lo;0;L;;;;;N;;;;;
+A293;YI SYLLABLE ZIEP;Lo;0;L;;;;;N;;;;;
+A294;YI SYLLABLE ZAT;Lo;0;L;;;;;N;;;;;
+A295;YI SYLLABLE ZAX;Lo;0;L;;;;;N;;;;;
+A296;YI SYLLABLE ZA;Lo;0;L;;;;;N;;;;;
+A297;YI SYLLABLE ZAP;Lo;0;L;;;;;N;;;;;
+A298;YI SYLLABLE ZUOX;Lo;0;L;;;;;N;;;;;
+A299;YI SYLLABLE ZUO;Lo;0;L;;;;;N;;;;;
+A29A;YI SYLLABLE ZUOP;Lo;0;L;;;;;N;;;;;
+A29B;YI SYLLABLE ZOT;Lo;0;L;;;;;N;;;;;
+A29C;YI SYLLABLE ZOX;Lo;0;L;;;;;N;;;;;
+A29D;YI SYLLABLE ZO;Lo;0;L;;;;;N;;;;;
+A29E;YI SYLLABLE ZOP;Lo;0;L;;;;;N;;;;;
+A29F;YI SYLLABLE ZEX;Lo;0;L;;;;;N;;;;;
+A2A0;YI SYLLABLE ZE;Lo;0;L;;;;;N;;;;;
+A2A1;YI SYLLABLE ZEP;Lo;0;L;;;;;N;;;;;
+A2A2;YI SYLLABLE ZUT;Lo;0;L;;;;;N;;;;;
+A2A3;YI SYLLABLE ZUX;Lo;0;L;;;;;N;;;;;
+A2A4;YI SYLLABLE ZU;Lo;0;L;;;;;N;;;;;
+A2A5;YI SYLLABLE ZUP;Lo;0;L;;;;;N;;;;;
+A2A6;YI SYLLABLE ZURX;Lo;0;L;;;;;N;;;;;
+A2A7;YI SYLLABLE ZUR;Lo;0;L;;;;;N;;;;;
+A2A8;YI SYLLABLE ZYT;Lo;0;L;;;;;N;;;;;
+A2A9;YI SYLLABLE ZYX;Lo;0;L;;;;;N;;;;;
+A2AA;YI SYLLABLE ZY;Lo;0;L;;;;;N;;;;;
+A2AB;YI SYLLABLE ZYP;Lo;0;L;;;;;N;;;;;
+A2AC;YI SYLLABLE ZYRX;Lo;0;L;;;;;N;;;;;
+A2AD;YI SYLLABLE ZYR;Lo;0;L;;;;;N;;;;;
+A2AE;YI SYLLABLE CIT;Lo;0;L;;;;;N;;;;;
+A2AF;YI SYLLABLE CIX;Lo;0;L;;;;;N;;;;;
+A2B0;YI SYLLABLE CI;Lo;0;L;;;;;N;;;;;
+A2B1;YI SYLLABLE CIP;Lo;0;L;;;;;N;;;;;
+A2B2;YI SYLLABLE CIET;Lo;0;L;;;;;N;;;;;
+A2B3;YI SYLLABLE CIEX;Lo;0;L;;;;;N;;;;;
+A2B4;YI SYLLABLE CIE;Lo;0;L;;;;;N;;;;;
+A2B5;YI SYLLABLE CIEP;Lo;0;L;;;;;N;;;;;
+A2B6;YI SYLLABLE CAT;Lo;0;L;;;;;N;;;;;
+A2B7;YI SYLLABLE CAX;Lo;0;L;;;;;N;;;;;
+A2B8;YI SYLLABLE CA;Lo;0;L;;;;;N;;;;;
+A2B9;YI SYLLABLE CAP;Lo;0;L;;;;;N;;;;;
+A2BA;YI SYLLABLE CUOX;Lo;0;L;;;;;N;;;;;
+A2BB;YI SYLLABLE CUO;Lo;0;L;;;;;N;;;;;
+A2BC;YI SYLLABLE CUOP;Lo;0;L;;;;;N;;;;;
+A2BD;YI SYLLABLE COT;Lo;0;L;;;;;N;;;;;
+A2BE;YI SYLLABLE COX;Lo;0;L;;;;;N;;;;;
+A2BF;YI SYLLABLE CO;Lo;0;L;;;;;N;;;;;
+A2C0;YI SYLLABLE COP;Lo;0;L;;;;;N;;;;;
+A2C1;YI SYLLABLE CEX;Lo;0;L;;;;;N;;;;;
+A2C2;YI SYLLABLE CE;Lo;0;L;;;;;N;;;;;
+A2C3;YI SYLLABLE CEP;Lo;0;L;;;;;N;;;;;
+A2C4;YI SYLLABLE CUT;Lo;0;L;;;;;N;;;;;
+A2C5;YI SYLLABLE CUX;Lo;0;L;;;;;N;;;;;
+A2C6;YI SYLLABLE CU;Lo;0;L;;;;;N;;;;;
+A2C7;YI SYLLABLE CUP;Lo;0;L;;;;;N;;;;;
+A2C8;YI SYLLABLE CURX;Lo;0;L;;;;;N;;;;;
+A2C9;YI SYLLABLE CUR;Lo;0;L;;;;;N;;;;;
+A2CA;YI SYLLABLE CYT;Lo;0;L;;;;;N;;;;;
+A2CB;YI SYLLABLE CYX;Lo;0;L;;;;;N;;;;;
+A2CC;YI SYLLABLE CY;Lo;0;L;;;;;N;;;;;
+A2CD;YI SYLLABLE CYP;Lo;0;L;;;;;N;;;;;
+A2CE;YI SYLLABLE CYRX;Lo;0;L;;;;;N;;;;;
+A2CF;YI SYLLABLE CYR;Lo;0;L;;;;;N;;;;;
+A2D0;YI SYLLABLE ZZIT;Lo;0;L;;;;;N;;;;;
+A2D1;YI SYLLABLE ZZIX;Lo;0;L;;;;;N;;;;;
+A2D2;YI SYLLABLE ZZI;Lo;0;L;;;;;N;;;;;
+A2D3;YI SYLLABLE ZZIP;Lo;0;L;;;;;N;;;;;
+A2D4;YI SYLLABLE ZZIET;Lo;0;L;;;;;N;;;;;
+A2D5;YI SYLLABLE ZZIEX;Lo;0;L;;;;;N;;;;;
+A2D6;YI SYLLABLE ZZIE;Lo;0;L;;;;;N;;;;;
+A2D7;YI SYLLABLE ZZIEP;Lo;0;L;;;;;N;;;;;
+A2D8;YI SYLLABLE ZZAT;Lo;0;L;;;;;N;;;;;
+A2D9;YI SYLLABLE ZZAX;Lo;0;L;;;;;N;;;;;
+A2DA;YI SYLLABLE ZZA;Lo;0;L;;;;;N;;;;;
+A2DB;YI SYLLABLE ZZAP;Lo;0;L;;;;;N;;;;;
+A2DC;YI SYLLABLE ZZOX;Lo;0;L;;;;;N;;;;;
+A2DD;YI SYLLABLE ZZO;Lo;0;L;;;;;N;;;;;
+A2DE;YI SYLLABLE ZZOP;Lo;0;L;;;;;N;;;;;
+A2DF;YI SYLLABLE ZZEX;Lo;0;L;;;;;N;;;;;
+A2E0;YI SYLLABLE ZZE;Lo;0;L;;;;;N;;;;;
+A2E1;YI SYLLABLE ZZEP;Lo;0;L;;;;;N;;;;;
+A2E2;YI SYLLABLE ZZUX;Lo;0;L;;;;;N;;;;;
+A2E3;YI SYLLABLE ZZU;Lo;0;L;;;;;N;;;;;
+A2E4;YI SYLLABLE ZZUP;Lo;0;L;;;;;N;;;;;
+A2E5;YI SYLLABLE ZZURX;Lo;0;L;;;;;N;;;;;
+A2E6;YI SYLLABLE ZZUR;Lo;0;L;;;;;N;;;;;
+A2E7;YI SYLLABLE ZZYT;Lo;0;L;;;;;N;;;;;
+A2E8;YI SYLLABLE ZZYX;Lo;0;L;;;;;N;;;;;
+A2E9;YI SYLLABLE ZZY;Lo;0;L;;;;;N;;;;;
+A2EA;YI SYLLABLE ZZYP;Lo;0;L;;;;;N;;;;;
+A2EB;YI SYLLABLE ZZYRX;Lo;0;L;;;;;N;;;;;
+A2EC;YI SYLLABLE ZZYR;Lo;0;L;;;;;N;;;;;
+A2ED;YI SYLLABLE NZIT;Lo;0;L;;;;;N;;;;;
+A2EE;YI SYLLABLE NZIX;Lo;0;L;;;;;N;;;;;
+A2EF;YI SYLLABLE NZI;Lo;0;L;;;;;N;;;;;
+A2F0;YI SYLLABLE NZIP;Lo;0;L;;;;;N;;;;;
+A2F1;YI SYLLABLE NZIEX;Lo;0;L;;;;;N;;;;;
+A2F2;YI SYLLABLE NZIE;Lo;0;L;;;;;N;;;;;
+A2F3;YI SYLLABLE NZIEP;Lo;0;L;;;;;N;;;;;
+A2F4;YI SYLLABLE NZAT;Lo;0;L;;;;;N;;;;;
+A2F5;YI SYLLABLE NZAX;Lo;0;L;;;;;N;;;;;
+A2F6;YI SYLLABLE NZA;Lo;0;L;;;;;N;;;;;
+A2F7;YI SYLLABLE NZAP;Lo;0;L;;;;;N;;;;;
+A2F8;YI SYLLABLE NZUOX;Lo;0;L;;;;;N;;;;;
+A2F9;YI SYLLABLE NZUO;Lo;0;L;;;;;N;;;;;
+A2FA;YI SYLLABLE NZOX;Lo;0;L;;;;;N;;;;;
+A2FB;YI SYLLABLE NZOP;Lo;0;L;;;;;N;;;;;
+A2FC;YI SYLLABLE NZEX;Lo;0;L;;;;;N;;;;;
+A2FD;YI SYLLABLE NZE;Lo;0;L;;;;;N;;;;;
+A2FE;YI SYLLABLE NZUX;Lo;0;L;;;;;N;;;;;
+A2FF;YI SYLLABLE NZU;Lo;0;L;;;;;N;;;;;
+A300;YI SYLLABLE NZUP;Lo;0;L;;;;;N;;;;;
+A301;YI SYLLABLE NZURX;Lo;0;L;;;;;N;;;;;
+A302;YI SYLLABLE NZUR;Lo;0;L;;;;;N;;;;;
+A303;YI SYLLABLE NZYT;Lo;0;L;;;;;N;;;;;
+A304;YI SYLLABLE NZYX;Lo;0;L;;;;;N;;;;;
+A305;YI SYLLABLE NZY;Lo;0;L;;;;;N;;;;;
+A306;YI SYLLABLE NZYP;Lo;0;L;;;;;N;;;;;
+A307;YI SYLLABLE NZYRX;Lo;0;L;;;;;N;;;;;
+A308;YI SYLLABLE NZYR;Lo;0;L;;;;;N;;;;;
+A309;YI SYLLABLE SIT;Lo;0;L;;;;;N;;;;;
+A30A;YI SYLLABLE SIX;Lo;0;L;;;;;N;;;;;
+A30B;YI SYLLABLE SI;Lo;0;L;;;;;N;;;;;
+A30C;YI SYLLABLE SIP;Lo;0;L;;;;;N;;;;;
+A30D;YI SYLLABLE SIEX;Lo;0;L;;;;;N;;;;;
+A30E;YI SYLLABLE SIE;Lo;0;L;;;;;N;;;;;
+A30F;YI SYLLABLE SIEP;Lo;0;L;;;;;N;;;;;
+A310;YI SYLLABLE SAT;Lo;0;L;;;;;N;;;;;
+A311;YI SYLLABLE SAX;Lo;0;L;;;;;N;;;;;
+A312;YI SYLLABLE SA;Lo;0;L;;;;;N;;;;;
+A313;YI SYLLABLE SAP;Lo;0;L;;;;;N;;;;;
+A314;YI SYLLABLE SUOX;Lo;0;L;;;;;N;;;;;
+A315;YI SYLLABLE SUO;Lo;0;L;;;;;N;;;;;
+A316;YI SYLLABLE SUOP;Lo;0;L;;;;;N;;;;;
+A317;YI SYLLABLE SOT;Lo;0;L;;;;;N;;;;;
+A318;YI SYLLABLE SOX;Lo;0;L;;;;;N;;;;;
+A319;YI SYLLABLE SO;Lo;0;L;;;;;N;;;;;
+A31A;YI SYLLABLE SOP;Lo;0;L;;;;;N;;;;;
+A31B;YI SYLLABLE SEX;Lo;0;L;;;;;N;;;;;
+A31C;YI SYLLABLE SE;Lo;0;L;;;;;N;;;;;
+A31D;YI SYLLABLE SEP;Lo;0;L;;;;;N;;;;;
+A31E;YI SYLLABLE SUT;Lo;0;L;;;;;N;;;;;
+A31F;YI SYLLABLE SUX;Lo;0;L;;;;;N;;;;;
+A320;YI SYLLABLE SU;Lo;0;L;;;;;N;;;;;
+A321;YI SYLLABLE SUP;Lo;0;L;;;;;N;;;;;
+A322;YI SYLLABLE SURX;Lo;0;L;;;;;N;;;;;
+A323;YI SYLLABLE SUR;Lo;0;L;;;;;N;;;;;
+A324;YI SYLLABLE SYT;Lo;0;L;;;;;N;;;;;
+A325;YI SYLLABLE SYX;Lo;0;L;;;;;N;;;;;
+A326;YI SYLLABLE SY;Lo;0;L;;;;;N;;;;;
+A327;YI SYLLABLE SYP;Lo;0;L;;;;;N;;;;;
+A328;YI SYLLABLE SYRX;Lo;0;L;;;;;N;;;;;
+A329;YI SYLLABLE SYR;Lo;0;L;;;;;N;;;;;
+A32A;YI SYLLABLE SSIT;Lo;0;L;;;;;N;;;;;
+A32B;YI SYLLABLE SSIX;Lo;0;L;;;;;N;;;;;
+A32C;YI SYLLABLE SSI;Lo;0;L;;;;;N;;;;;
+A32D;YI SYLLABLE SSIP;Lo;0;L;;;;;N;;;;;
+A32E;YI SYLLABLE SSIEX;Lo;0;L;;;;;N;;;;;
+A32F;YI SYLLABLE SSIE;Lo;0;L;;;;;N;;;;;
+A330;YI SYLLABLE SSIEP;Lo;0;L;;;;;N;;;;;
+A331;YI SYLLABLE SSAT;Lo;0;L;;;;;N;;;;;
+A332;YI SYLLABLE SSAX;Lo;0;L;;;;;N;;;;;
+A333;YI SYLLABLE SSA;Lo;0;L;;;;;N;;;;;
+A334;YI SYLLABLE SSAP;Lo;0;L;;;;;N;;;;;
+A335;YI SYLLABLE SSOT;Lo;0;L;;;;;N;;;;;
+A336;YI SYLLABLE SSOX;Lo;0;L;;;;;N;;;;;
+A337;YI SYLLABLE SSO;Lo;0;L;;;;;N;;;;;
+A338;YI SYLLABLE SSOP;Lo;0;L;;;;;N;;;;;
+A339;YI SYLLABLE SSEX;Lo;0;L;;;;;N;;;;;
+A33A;YI SYLLABLE SSE;Lo;0;L;;;;;N;;;;;
+A33B;YI SYLLABLE SSEP;Lo;0;L;;;;;N;;;;;
+A33C;YI SYLLABLE SSUT;Lo;0;L;;;;;N;;;;;
+A33D;YI SYLLABLE SSUX;Lo;0;L;;;;;N;;;;;
+A33E;YI SYLLABLE SSU;Lo;0;L;;;;;N;;;;;
+A33F;YI SYLLABLE SSUP;Lo;0;L;;;;;N;;;;;
+A340;YI SYLLABLE SSYT;Lo;0;L;;;;;N;;;;;
+A341;YI SYLLABLE SSYX;Lo;0;L;;;;;N;;;;;
+A342;YI SYLLABLE SSY;Lo;0;L;;;;;N;;;;;
+A343;YI SYLLABLE SSYP;Lo;0;L;;;;;N;;;;;
+A344;YI SYLLABLE SSYRX;Lo;0;L;;;;;N;;;;;
+A345;YI SYLLABLE SSYR;Lo;0;L;;;;;N;;;;;
+A346;YI SYLLABLE ZHAT;Lo;0;L;;;;;N;;;;;
+A347;YI SYLLABLE ZHAX;Lo;0;L;;;;;N;;;;;
+A348;YI SYLLABLE ZHA;Lo;0;L;;;;;N;;;;;
+A349;YI SYLLABLE ZHAP;Lo;0;L;;;;;N;;;;;
+A34A;YI SYLLABLE ZHUOX;Lo;0;L;;;;;N;;;;;
+A34B;YI SYLLABLE ZHUO;Lo;0;L;;;;;N;;;;;
+A34C;YI SYLLABLE ZHUOP;Lo;0;L;;;;;N;;;;;
+A34D;YI SYLLABLE ZHOT;Lo;0;L;;;;;N;;;;;
+A34E;YI SYLLABLE ZHOX;Lo;0;L;;;;;N;;;;;
+A34F;YI SYLLABLE ZHO;Lo;0;L;;;;;N;;;;;
+A350;YI SYLLABLE ZHOP;Lo;0;L;;;;;N;;;;;
+A351;YI SYLLABLE ZHET;Lo;0;L;;;;;N;;;;;
+A352;YI SYLLABLE ZHEX;Lo;0;L;;;;;N;;;;;
+A353;YI SYLLABLE ZHE;Lo;0;L;;;;;N;;;;;
+A354;YI SYLLABLE ZHEP;Lo;0;L;;;;;N;;;;;
+A355;YI SYLLABLE ZHUT;Lo;0;L;;;;;N;;;;;
+A356;YI SYLLABLE ZHUX;Lo;0;L;;;;;N;;;;;
+A357;YI SYLLABLE ZHU;Lo;0;L;;;;;N;;;;;
+A358;YI SYLLABLE ZHUP;Lo;0;L;;;;;N;;;;;
+A359;YI SYLLABLE ZHURX;Lo;0;L;;;;;N;;;;;
+A35A;YI SYLLABLE ZHUR;Lo;0;L;;;;;N;;;;;
+A35B;YI SYLLABLE ZHYT;Lo;0;L;;;;;N;;;;;
+A35C;YI SYLLABLE ZHYX;Lo;0;L;;;;;N;;;;;
+A35D;YI SYLLABLE ZHY;Lo;0;L;;;;;N;;;;;
+A35E;YI SYLLABLE ZHYP;Lo;0;L;;;;;N;;;;;
+A35F;YI SYLLABLE ZHYRX;Lo;0;L;;;;;N;;;;;
+A360;YI SYLLABLE ZHYR;Lo;0;L;;;;;N;;;;;
+A361;YI SYLLABLE CHAT;Lo;0;L;;;;;N;;;;;
+A362;YI SYLLABLE CHAX;Lo;0;L;;;;;N;;;;;
+A363;YI SYLLABLE CHA;Lo;0;L;;;;;N;;;;;
+A364;YI SYLLABLE CHAP;Lo;0;L;;;;;N;;;;;
+A365;YI SYLLABLE CHUOT;Lo;0;L;;;;;N;;;;;
+A366;YI SYLLABLE CHUOX;Lo;0;L;;;;;N;;;;;
+A367;YI SYLLABLE CHUO;Lo;0;L;;;;;N;;;;;
+A368;YI SYLLABLE CHUOP;Lo;0;L;;;;;N;;;;;
+A369;YI SYLLABLE CHOT;Lo;0;L;;;;;N;;;;;
+A36A;YI SYLLABLE CHOX;Lo;0;L;;;;;N;;;;;
+A36B;YI SYLLABLE CHO;Lo;0;L;;;;;N;;;;;
+A36C;YI SYLLABLE CHOP;Lo;0;L;;;;;N;;;;;
+A36D;YI SYLLABLE CHET;Lo;0;L;;;;;N;;;;;
+A36E;YI SYLLABLE CHEX;Lo;0;L;;;;;N;;;;;
+A36F;YI SYLLABLE CHE;Lo;0;L;;;;;N;;;;;
+A370;YI SYLLABLE CHEP;Lo;0;L;;;;;N;;;;;
+A371;YI SYLLABLE CHUX;Lo;0;L;;;;;N;;;;;
+A372;YI SYLLABLE CHU;Lo;0;L;;;;;N;;;;;
+A373;YI SYLLABLE CHUP;Lo;0;L;;;;;N;;;;;
+A374;YI SYLLABLE CHURX;Lo;0;L;;;;;N;;;;;
+A375;YI SYLLABLE CHUR;Lo;0;L;;;;;N;;;;;
+A376;YI SYLLABLE CHYT;Lo;0;L;;;;;N;;;;;
+A377;YI SYLLABLE CHYX;Lo;0;L;;;;;N;;;;;
+A378;YI SYLLABLE CHY;Lo;0;L;;;;;N;;;;;
+A379;YI SYLLABLE CHYP;Lo;0;L;;;;;N;;;;;
+A37A;YI SYLLABLE CHYRX;Lo;0;L;;;;;N;;;;;
+A37B;YI SYLLABLE CHYR;Lo;0;L;;;;;N;;;;;
+A37C;YI SYLLABLE RRAX;Lo;0;L;;;;;N;;;;;
+A37D;YI SYLLABLE RRA;Lo;0;L;;;;;N;;;;;
+A37E;YI SYLLABLE RRUOX;Lo;0;L;;;;;N;;;;;
+A37F;YI SYLLABLE RRUO;Lo;0;L;;;;;N;;;;;
+A380;YI SYLLABLE RROT;Lo;0;L;;;;;N;;;;;
+A381;YI SYLLABLE RROX;Lo;0;L;;;;;N;;;;;
+A382;YI SYLLABLE RRO;Lo;0;L;;;;;N;;;;;
+A383;YI SYLLABLE RROP;Lo;0;L;;;;;N;;;;;
+A384;YI SYLLABLE RRET;Lo;0;L;;;;;N;;;;;
+A385;YI SYLLABLE RREX;Lo;0;L;;;;;N;;;;;
+A386;YI SYLLABLE RRE;Lo;0;L;;;;;N;;;;;
+A387;YI SYLLABLE RREP;Lo;0;L;;;;;N;;;;;
+A388;YI SYLLABLE RRUT;Lo;0;L;;;;;N;;;;;
+A389;YI SYLLABLE RRUX;Lo;0;L;;;;;N;;;;;
+A38A;YI SYLLABLE RRU;Lo;0;L;;;;;N;;;;;
+A38B;YI SYLLABLE RRUP;Lo;0;L;;;;;N;;;;;
+A38C;YI SYLLABLE RRURX;Lo;0;L;;;;;N;;;;;
+A38D;YI SYLLABLE RRUR;Lo;0;L;;;;;N;;;;;
+A38E;YI SYLLABLE RRYT;Lo;0;L;;;;;N;;;;;
+A38F;YI SYLLABLE RRYX;Lo;0;L;;;;;N;;;;;
+A390;YI SYLLABLE RRY;Lo;0;L;;;;;N;;;;;
+A391;YI SYLLABLE RRYP;Lo;0;L;;;;;N;;;;;
+A392;YI SYLLABLE RRYRX;Lo;0;L;;;;;N;;;;;
+A393;YI SYLLABLE RRYR;Lo;0;L;;;;;N;;;;;
+A394;YI SYLLABLE NRAT;Lo;0;L;;;;;N;;;;;
+A395;YI SYLLABLE NRAX;Lo;0;L;;;;;N;;;;;
+A396;YI SYLLABLE NRA;Lo;0;L;;;;;N;;;;;
+A397;YI SYLLABLE NRAP;Lo;0;L;;;;;N;;;;;
+A398;YI SYLLABLE NROX;Lo;0;L;;;;;N;;;;;
+A399;YI SYLLABLE NRO;Lo;0;L;;;;;N;;;;;
+A39A;YI SYLLABLE NROP;Lo;0;L;;;;;N;;;;;
+A39B;YI SYLLABLE NRET;Lo;0;L;;;;;N;;;;;
+A39C;YI SYLLABLE NREX;Lo;0;L;;;;;N;;;;;
+A39D;YI SYLLABLE NRE;Lo;0;L;;;;;N;;;;;
+A39E;YI SYLLABLE NREP;Lo;0;L;;;;;N;;;;;
+A39F;YI SYLLABLE NRUT;Lo;0;L;;;;;N;;;;;
+A3A0;YI SYLLABLE NRUX;Lo;0;L;;;;;N;;;;;
+A3A1;YI SYLLABLE NRU;Lo;0;L;;;;;N;;;;;
+A3A2;YI SYLLABLE NRUP;Lo;0;L;;;;;N;;;;;
+A3A3;YI SYLLABLE NRURX;Lo;0;L;;;;;N;;;;;
+A3A4;YI SYLLABLE NRUR;Lo;0;L;;;;;N;;;;;
+A3A5;YI SYLLABLE NRYT;Lo;0;L;;;;;N;;;;;
+A3A6;YI SYLLABLE NRYX;Lo;0;L;;;;;N;;;;;
+A3A7;YI SYLLABLE NRY;Lo;0;L;;;;;N;;;;;
+A3A8;YI SYLLABLE NRYP;Lo;0;L;;;;;N;;;;;
+A3A9;YI SYLLABLE NRYRX;Lo;0;L;;;;;N;;;;;
+A3AA;YI SYLLABLE NRYR;Lo;0;L;;;;;N;;;;;
+A3AB;YI SYLLABLE SHAT;Lo;0;L;;;;;N;;;;;
+A3AC;YI SYLLABLE SHAX;Lo;0;L;;;;;N;;;;;
+A3AD;YI SYLLABLE SHA;Lo;0;L;;;;;N;;;;;
+A3AE;YI SYLLABLE SHAP;Lo;0;L;;;;;N;;;;;
+A3AF;YI SYLLABLE SHUOX;Lo;0;L;;;;;N;;;;;
+A3B0;YI SYLLABLE SHUO;Lo;0;L;;;;;N;;;;;
+A3B1;YI SYLLABLE SHUOP;Lo;0;L;;;;;N;;;;;
+A3B2;YI SYLLABLE SHOT;Lo;0;L;;;;;N;;;;;
+A3B3;YI SYLLABLE SHOX;Lo;0;L;;;;;N;;;;;
+A3B4;YI SYLLABLE SHO;Lo;0;L;;;;;N;;;;;
+A3B5;YI SYLLABLE SHOP;Lo;0;L;;;;;N;;;;;
+A3B6;YI SYLLABLE SHET;Lo;0;L;;;;;N;;;;;
+A3B7;YI SYLLABLE SHEX;Lo;0;L;;;;;N;;;;;
+A3B8;YI SYLLABLE SHE;Lo;0;L;;;;;N;;;;;
+A3B9;YI SYLLABLE SHEP;Lo;0;L;;;;;N;;;;;
+A3BA;YI SYLLABLE SHUT;Lo;0;L;;;;;N;;;;;
+A3BB;YI SYLLABLE SHUX;Lo;0;L;;;;;N;;;;;
+A3BC;YI SYLLABLE SHU;Lo;0;L;;;;;N;;;;;
+A3BD;YI SYLLABLE SHUP;Lo;0;L;;;;;N;;;;;
+A3BE;YI SYLLABLE SHURX;Lo;0;L;;;;;N;;;;;
+A3BF;YI SYLLABLE SHUR;Lo;0;L;;;;;N;;;;;
+A3C0;YI SYLLABLE SHYT;Lo;0;L;;;;;N;;;;;
+A3C1;YI SYLLABLE SHYX;Lo;0;L;;;;;N;;;;;
+A3C2;YI SYLLABLE SHY;Lo;0;L;;;;;N;;;;;
+A3C3;YI SYLLABLE SHYP;Lo;0;L;;;;;N;;;;;
+A3C4;YI SYLLABLE SHYRX;Lo;0;L;;;;;N;;;;;
+A3C5;YI SYLLABLE SHYR;Lo;0;L;;;;;N;;;;;
+A3C6;YI SYLLABLE RAT;Lo;0;L;;;;;N;;;;;
+A3C7;YI SYLLABLE RAX;Lo;0;L;;;;;N;;;;;
+A3C8;YI SYLLABLE RA;Lo;0;L;;;;;N;;;;;
+A3C9;YI SYLLABLE RAP;Lo;0;L;;;;;N;;;;;
+A3CA;YI SYLLABLE RUOX;Lo;0;L;;;;;N;;;;;
+A3CB;YI SYLLABLE RUO;Lo;0;L;;;;;N;;;;;
+A3CC;YI SYLLABLE RUOP;Lo;0;L;;;;;N;;;;;
+A3CD;YI SYLLABLE ROT;Lo;0;L;;;;;N;;;;;
+A3CE;YI SYLLABLE ROX;Lo;0;L;;;;;N;;;;;
+A3CF;YI SYLLABLE RO;Lo;0;L;;;;;N;;;;;
+A3D0;YI SYLLABLE ROP;Lo;0;L;;;;;N;;;;;
+A3D1;YI SYLLABLE REX;Lo;0;L;;;;;N;;;;;
+A3D2;YI SYLLABLE RE;Lo;0;L;;;;;N;;;;;
+A3D3;YI SYLLABLE REP;Lo;0;L;;;;;N;;;;;
+A3D4;YI SYLLABLE RUT;Lo;0;L;;;;;N;;;;;
+A3D5;YI SYLLABLE RUX;Lo;0;L;;;;;N;;;;;
+A3D6;YI SYLLABLE RU;Lo;0;L;;;;;N;;;;;
+A3D7;YI SYLLABLE RUP;Lo;0;L;;;;;N;;;;;
+A3D8;YI SYLLABLE RURX;Lo;0;L;;;;;N;;;;;
+A3D9;YI SYLLABLE RUR;Lo;0;L;;;;;N;;;;;
+A3DA;YI SYLLABLE RYT;Lo;0;L;;;;;N;;;;;
+A3DB;YI SYLLABLE RYX;Lo;0;L;;;;;N;;;;;
+A3DC;YI SYLLABLE RY;Lo;0;L;;;;;N;;;;;
+A3DD;YI SYLLABLE RYP;Lo;0;L;;;;;N;;;;;
+A3DE;YI SYLLABLE RYRX;Lo;0;L;;;;;N;;;;;
+A3DF;YI SYLLABLE RYR;Lo;0;L;;;;;N;;;;;
+A3E0;YI SYLLABLE JIT;Lo;0;L;;;;;N;;;;;
+A3E1;YI SYLLABLE JIX;Lo;0;L;;;;;N;;;;;
+A3E2;YI SYLLABLE JI;Lo;0;L;;;;;N;;;;;
+A3E3;YI SYLLABLE JIP;Lo;0;L;;;;;N;;;;;
+A3E4;YI SYLLABLE JIET;Lo;0;L;;;;;N;;;;;
+A3E5;YI SYLLABLE JIEX;Lo;0;L;;;;;N;;;;;
+A3E6;YI SYLLABLE JIE;Lo;0;L;;;;;N;;;;;
+A3E7;YI SYLLABLE JIEP;Lo;0;L;;;;;N;;;;;
+A3E8;YI SYLLABLE JUOT;Lo;0;L;;;;;N;;;;;
+A3E9;YI SYLLABLE JUOX;Lo;0;L;;;;;N;;;;;
+A3EA;YI SYLLABLE JUO;Lo;0;L;;;;;N;;;;;
+A3EB;YI SYLLABLE JUOP;Lo;0;L;;;;;N;;;;;
+A3EC;YI SYLLABLE JOT;Lo;0;L;;;;;N;;;;;
+A3ED;YI SYLLABLE JOX;Lo;0;L;;;;;N;;;;;
+A3EE;YI SYLLABLE JO;Lo;0;L;;;;;N;;;;;
+A3EF;YI SYLLABLE JOP;Lo;0;L;;;;;N;;;;;
+A3F0;YI SYLLABLE JUT;Lo;0;L;;;;;N;;;;;
+A3F1;YI SYLLABLE JUX;Lo;0;L;;;;;N;;;;;
+A3F2;YI SYLLABLE JU;Lo;0;L;;;;;N;;;;;
+A3F3;YI SYLLABLE JUP;Lo;0;L;;;;;N;;;;;
+A3F4;YI SYLLABLE JURX;Lo;0;L;;;;;N;;;;;
+A3F5;YI SYLLABLE JUR;Lo;0;L;;;;;N;;;;;
+A3F6;YI SYLLABLE JYT;Lo;0;L;;;;;N;;;;;
+A3F7;YI SYLLABLE JYX;Lo;0;L;;;;;N;;;;;
+A3F8;YI SYLLABLE JY;Lo;0;L;;;;;N;;;;;
+A3F9;YI SYLLABLE JYP;Lo;0;L;;;;;N;;;;;
+A3FA;YI SYLLABLE JYRX;Lo;0;L;;;;;N;;;;;
+A3FB;YI SYLLABLE JYR;Lo;0;L;;;;;N;;;;;
+A3FC;YI SYLLABLE QIT;Lo;0;L;;;;;N;;;;;
+A3FD;YI SYLLABLE QIX;Lo;0;L;;;;;N;;;;;
+A3FE;YI SYLLABLE QI;Lo;0;L;;;;;N;;;;;
+A3FF;YI SYLLABLE QIP;Lo;0;L;;;;;N;;;;;
+A400;YI SYLLABLE QIET;Lo;0;L;;;;;N;;;;;
+A401;YI SYLLABLE QIEX;Lo;0;L;;;;;N;;;;;
+A402;YI SYLLABLE QIE;Lo;0;L;;;;;N;;;;;
+A403;YI SYLLABLE QIEP;Lo;0;L;;;;;N;;;;;
+A404;YI SYLLABLE QUOT;Lo;0;L;;;;;N;;;;;
+A405;YI SYLLABLE QUOX;Lo;0;L;;;;;N;;;;;
+A406;YI SYLLABLE QUO;Lo;0;L;;;;;N;;;;;
+A407;YI SYLLABLE QUOP;Lo;0;L;;;;;N;;;;;
+A408;YI SYLLABLE QOT;Lo;0;L;;;;;N;;;;;
+A409;YI SYLLABLE QOX;Lo;0;L;;;;;N;;;;;
+A40A;YI SYLLABLE QO;Lo;0;L;;;;;N;;;;;
+A40B;YI SYLLABLE QOP;Lo;0;L;;;;;N;;;;;
+A40C;YI SYLLABLE QUT;Lo;0;L;;;;;N;;;;;
+A40D;YI SYLLABLE QUX;Lo;0;L;;;;;N;;;;;
+A40E;YI SYLLABLE QU;Lo;0;L;;;;;N;;;;;
+A40F;YI SYLLABLE QUP;Lo;0;L;;;;;N;;;;;
+A410;YI SYLLABLE QURX;Lo;0;L;;;;;N;;;;;
+A411;YI SYLLABLE QUR;Lo;0;L;;;;;N;;;;;
+A412;YI SYLLABLE QYT;Lo;0;L;;;;;N;;;;;
+A413;YI SYLLABLE QYX;Lo;0;L;;;;;N;;;;;
+A414;YI SYLLABLE QY;Lo;0;L;;;;;N;;;;;
+A415;YI SYLLABLE QYP;Lo;0;L;;;;;N;;;;;
+A416;YI SYLLABLE QYRX;Lo;0;L;;;;;N;;;;;
+A417;YI SYLLABLE QYR;Lo;0;L;;;;;N;;;;;
+A418;YI SYLLABLE JJIT;Lo;0;L;;;;;N;;;;;
+A419;YI SYLLABLE JJIX;Lo;0;L;;;;;N;;;;;
+A41A;YI SYLLABLE JJI;Lo;0;L;;;;;N;;;;;
+A41B;YI SYLLABLE JJIP;Lo;0;L;;;;;N;;;;;
+A41C;YI SYLLABLE JJIET;Lo;0;L;;;;;N;;;;;
+A41D;YI SYLLABLE JJIEX;Lo;0;L;;;;;N;;;;;
+A41E;YI SYLLABLE JJIE;Lo;0;L;;;;;N;;;;;
+A41F;YI SYLLABLE JJIEP;Lo;0;L;;;;;N;;;;;
+A420;YI SYLLABLE JJUOX;Lo;0;L;;;;;N;;;;;
+A421;YI SYLLABLE JJUO;Lo;0;L;;;;;N;;;;;
+A422;YI SYLLABLE JJUOP;Lo;0;L;;;;;N;;;;;
+A423;YI SYLLABLE JJOT;Lo;0;L;;;;;N;;;;;
+A424;YI SYLLABLE JJOX;Lo;0;L;;;;;N;;;;;
+A425;YI SYLLABLE JJO;Lo;0;L;;;;;N;;;;;
+A426;YI SYLLABLE JJOP;Lo;0;L;;;;;N;;;;;
+A427;YI SYLLABLE JJUT;Lo;0;L;;;;;N;;;;;
+A428;YI SYLLABLE JJUX;Lo;0;L;;;;;N;;;;;
+A429;YI SYLLABLE JJU;Lo;0;L;;;;;N;;;;;
+A42A;YI SYLLABLE JJUP;Lo;0;L;;;;;N;;;;;
+A42B;YI SYLLABLE JJURX;Lo;0;L;;;;;N;;;;;
+A42C;YI SYLLABLE JJUR;Lo;0;L;;;;;N;;;;;
+A42D;YI SYLLABLE JJYT;Lo;0;L;;;;;N;;;;;
+A42E;YI SYLLABLE JJYX;Lo;0;L;;;;;N;;;;;
+A42F;YI SYLLABLE JJY;Lo;0;L;;;;;N;;;;;
+A430;YI SYLLABLE JJYP;Lo;0;L;;;;;N;;;;;
+A431;YI SYLLABLE NJIT;Lo;0;L;;;;;N;;;;;
+A432;YI SYLLABLE NJIX;Lo;0;L;;;;;N;;;;;
+A433;YI SYLLABLE NJI;Lo;0;L;;;;;N;;;;;
+A434;YI SYLLABLE NJIP;Lo;0;L;;;;;N;;;;;
+A435;YI SYLLABLE NJIET;Lo;0;L;;;;;N;;;;;
+A436;YI SYLLABLE NJIEX;Lo;0;L;;;;;N;;;;;
+A437;YI SYLLABLE NJIE;Lo;0;L;;;;;N;;;;;
+A438;YI SYLLABLE NJIEP;Lo;0;L;;;;;N;;;;;
+A439;YI SYLLABLE NJUOX;Lo;0;L;;;;;N;;;;;
+A43A;YI SYLLABLE NJUO;Lo;0;L;;;;;N;;;;;
+A43B;YI SYLLABLE NJOT;Lo;0;L;;;;;N;;;;;
+A43C;YI SYLLABLE NJOX;Lo;0;L;;;;;N;;;;;
+A43D;YI SYLLABLE NJO;Lo;0;L;;;;;N;;;;;
+A43E;YI SYLLABLE NJOP;Lo;0;L;;;;;N;;;;;
+A43F;YI SYLLABLE NJUX;Lo;0;L;;;;;N;;;;;
+A440;YI SYLLABLE NJU;Lo;0;L;;;;;N;;;;;
+A441;YI SYLLABLE NJUP;Lo;0;L;;;;;N;;;;;
+A442;YI SYLLABLE NJURX;Lo;0;L;;;;;N;;;;;
+A443;YI SYLLABLE NJUR;Lo;0;L;;;;;N;;;;;
+A444;YI SYLLABLE NJYT;Lo;0;L;;;;;N;;;;;
+A445;YI SYLLABLE NJYX;Lo;0;L;;;;;N;;;;;
+A446;YI SYLLABLE NJY;Lo;0;L;;;;;N;;;;;
+A447;YI SYLLABLE NJYP;Lo;0;L;;;;;N;;;;;
+A448;YI SYLLABLE NJYRX;Lo;0;L;;;;;N;;;;;
+A449;YI SYLLABLE NJYR;Lo;0;L;;;;;N;;;;;
+A44A;YI SYLLABLE NYIT;Lo;0;L;;;;;N;;;;;
+A44B;YI SYLLABLE NYIX;Lo;0;L;;;;;N;;;;;
+A44C;YI SYLLABLE NYI;Lo;0;L;;;;;N;;;;;
+A44D;YI SYLLABLE NYIP;Lo;0;L;;;;;N;;;;;
+A44E;YI SYLLABLE NYIET;Lo;0;L;;;;;N;;;;;
+A44F;YI SYLLABLE NYIEX;Lo;0;L;;;;;N;;;;;
+A450;YI SYLLABLE NYIE;Lo;0;L;;;;;N;;;;;
+A451;YI SYLLABLE NYIEP;Lo;0;L;;;;;N;;;;;
+A452;YI SYLLABLE NYUOX;Lo;0;L;;;;;N;;;;;
+A453;YI SYLLABLE NYUO;Lo;0;L;;;;;N;;;;;
+A454;YI SYLLABLE NYUOP;Lo;0;L;;;;;N;;;;;
+A455;YI SYLLABLE NYOT;Lo;0;L;;;;;N;;;;;
+A456;YI SYLLABLE NYOX;Lo;0;L;;;;;N;;;;;
+A457;YI SYLLABLE NYO;Lo;0;L;;;;;N;;;;;
+A458;YI SYLLABLE NYOP;Lo;0;L;;;;;N;;;;;
+A459;YI SYLLABLE NYUT;Lo;0;L;;;;;N;;;;;
+A45A;YI SYLLABLE NYUX;Lo;0;L;;;;;N;;;;;
+A45B;YI SYLLABLE NYU;Lo;0;L;;;;;N;;;;;
+A45C;YI SYLLABLE NYUP;Lo;0;L;;;;;N;;;;;
+A45D;YI SYLLABLE XIT;Lo;0;L;;;;;N;;;;;
+A45E;YI SYLLABLE XIX;Lo;0;L;;;;;N;;;;;
+A45F;YI SYLLABLE XI;Lo;0;L;;;;;N;;;;;
+A460;YI SYLLABLE XIP;Lo;0;L;;;;;N;;;;;
+A461;YI SYLLABLE XIET;Lo;0;L;;;;;N;;;;;
+A462;YI SYLLABLE XIEX;Lo;0;L;;;;;N;;;;;
+A463;YI SYLLABLE XIE;Lo;0;L;;;;;N;;;;;
+A464;YI SYLLABLE XIEP;Lo;0;L;;;;;N;;;;;
+A465;YI SYLLABLE XUOX;Lo;0;L;;;;;N;;;;;
+A466;YI SYLLABLE XUO;Lo;0;L;;;;;N;;;;;
+A467;YI SYLLABLE XOT;Lo;0;L;;;;;N;;;;;
+A468;YI SYLLABLE XOX;Lo;0;L;;;;;N;;;;;
+A469;YI SYLLABLE XO;Lo;0;L;;;;;N;;;;;
+A46A;YI SYLLABLE XOP;Lo;0;L;;;;;N;;;;;
+A46B;YI SYLLABLE XYT;Lo;0;L;;;;;N;;;;;
+A46C;YI SYLLABLE XYX;Lo;0;L;;;;;N;;;;;
+A46D;YI SYLLABLE XY;Lo;0;L;;;;;N;;;;;
+A46E;YI SYLLABLE XYP;Lo;0;L;;;;;N;;;;;
+A46F;YI SYLLABLE XYRX;Lo;0;L;;;;;N;;;;;
+A470;YI SYLLABLE XYR;Lo;0;L;;;;;N;;;;;
+A471;YI SYLLABLE YIT;Lo;0;L;;;;;N;;;;;
+A472;YI SYLLABLE YIX;Lo;0;L;;;;;N;;;;;
+A473;YI SYLLABLE YI;Lo;0;L;;;;;N;;;;;
+A474;YI SYLLABLE YIP;Lo;0;L;;;;;N;;;;;
+A475;YI SYLLABLE YIET;Lo;0;L;;;;;N;;;;;
+A476;YI SYLLABLE YIEX;Lo;0;L;;;;;N;;;;;
+A477;YI SYLLABLE YIE;Lo;0;L;;;;;N;;;;;
+A478;YI SYLLABLE YIEP;Lo;0;L;;;;;N;;;;;
+A479;YI SYLLABLE YUOT;Lo;0;L;;;;;N;;;;;
+A47A;YI SYLLABLE YUOX;Lo;0;L;;;;;N;;;;;
+A47B;YI SYLLABLE YUO;Lo;0;L;;;;;N;;;;;
+A47C;YI SYLLABLE YUOP;Lo;0;L;;;;;N;;;;;
+A47D;YI SYLLABLE YOT;Lo;0;L;;;;;N;;;;;
+A47E;YI SYLLABLE YOX;Lo;0;L;;;;;N;;;;;
+A47F;YI SYLLABLE YO;Lo;0;L;;;;;N;;;;;
+A480;YI SYLLABLE YOP;Lo;0;L;;;;;N;;;;;
+A481;YI SYLLABLE YUT;Lo;0;L;;;;;N;;;;;
+A482;YI SYLLABLE YUX;Lo;0;L;;;;;N;;;;;
+A483;YI SYLLABLE YU;Lo;0;L;;;;;N;;;;;
+A484;YI SYLLABLE YUP;Lo;0;L;;;;;N;;;;;
+A485;YI SYLLABLE YURX;Lo;0;L;;;;;N;;;;;
+A486;YI SYLLABLE YUR;Lo;0;L;;;;;N;;;;;
+A487;YI SYLLABLE YYT;Lo;0;L;;;;;N;;;;;
+A488;YI SYLLABLE YYX;Lo;0;L;;;;;N;;;;;
+A489;YI SYLLABLE YY;Lo;0;L;;;;;N;;;;;
+A48A;YI SYLLABLE YYP;Lo;0;L;;;;;N;;;;;
+A48B;YI SYLLABLE YYRX;Lo;0;L;;;;;N;;;;;
+A48C;YI SYLLABLE YYR;Lo;0;L;;;;;N;;;;;
+A490;YI RADICAL QOT;So;0;ON;;;;;N;;;;;
+A491;YI RADICAL LI;So;0;ON;;;;;N;;;;;
+A492;YI RADICAL KIT;So;0;ON;;;;;N;;;;;
+A493;YI RADICAL NYIP;So;0;ON;;;;;N;;;;;
+A494;YI RADICAL CYP;So;0;ON;;;;;N;;;;;
+A495;YI RADICAL SSI;So;0;ON;;;;;N;;;;;
+A496;YI RADICAL GGOP;So;0;ON;;;;;N;;;;;
+A497;YI RADICAL GEP;So;0;ON;;;;;N;;;;;
+A498;YI RADICAL MI;So;0;ON;;;;;N;;;;;
+A499;YI RADICAL HXIT;So;0;ON;;;;;N;;;;;
+A49A;YI RADICAL LYR;So;0;ON;;;;;N;;;;;
+A49B;YI RADICAL BBUT;So;0;ON;;;;;N;;;;;
+A49C;YI RADICAL MOP;So;0;ON;;;;;N;;;;;
+A49D;YI RADICAL YO;So;0;ON;;;;;N;;;;;
+A49E;YI RADICAL PUT;So;0;ON;;;;;N;;;;;
+A49F;YI RADICAL HXUO;So;0;ON;;;;;N;;;;;
+A4A0;YI RADICAL TAT;So;0;ON;;;;;N;;;;;
+A4A1;YI RADICAL GA;So;0;ON;;;;;N;;;;;
+A4A2;YI RADICAL ZUP;So;0;ON;;;;;N;;;;;
+A4A3;YI RADICAL CYT;So;0;ON;;;;;N;;;;;
+A4A4;YI RADICAL DDUR;So;0;ON;;;;;N;;;;;
+A4A5;YI RADICAL BUR;So;0;ON;;;;;N;;;;;
+A4A6;YI RADICAL GGUO;So;0;ON;;;;;N;;;;;
+A4A7;YI RADICAL NYOP;So;0;ON;;;;;N;;;;;
+A4A8;YI RADICAL TU;So;0;ON;;;;;N;;;;;
+A4A9;YI RADICAL OP;So;0;ON;;;;;N;;;;;
+A4AA;YI RADICAL JJUT;So;0;ON;;;;;N;;;;;
+A4AB;YI RADICAL ZOT;So;0;ON;;;;;N;;;;;
+A4AC;YI RADICAL PYT;So;0;ON;;;;;N;;;;;
+A4AD;YI RADICAL HMO;So;0;ON;;;;;N;;;;;
+A4AE;YI RADICAL YIT;So;0;ON;;;;;N;;;;;
+A4AF;YI RADICAL VUR;So;0;ON;;;;;N;;;;;
+A4B0;YI RADICAL SHY;So;0;ON;;;;;N;;;;;
+A4B1;YI RADICAL VEP;So;0;ON;;;;;N;;;;;
+A4B2;YI RADICAL ZA;So;0;ON;;;;;N;;;;;
+A4B3;YI RADICAL JO;So;0;ON;;;;;N;;;;;
+A4B4;YI RADICAL NZUP;So;0;ON;;;;;N;;;;;
+A4B5;YI RADICAL JJY;So;0;ON;;;;;N;;;;;
+A4B6;YI RADICAL GOT;So;0;ON;;;;;N;;;;;
+A4B7;YI RADICAL JJIE;So;0;ON;;;;;N;;;;;
+A4B8;YI RADICAL WO;So;0;ON;;;;;N;;;;;
+A4B9;YI RADICAL DU;So;0;ON;;;;;N;;;;;
+A4BA;YI RADICAL SHUR;So;0;ON;;;;;N;;;;;
+A4BB;YI RADICAL LIE;So;0;ON;;;;;N;;;;;
+A4BC;YI RADICAL CY;So;0;ON;;;;;N;;;;;
+A4BD;YI RADICAL CUOP;So;0;ON;;;;;N;;;;;
+A4BE;YI RADICAL CIP;So;0;ON;;;;;N;;;;;
+A4BF;YI RADICAL HXOP;So;0;ON;;;;;N;;;;;
+A4C0;YI RADICAL SHAT;So;0;ON;;;;;N;;;;;
+A4C1;YI RADICAL ZUR;So;0;ON;;;;;N;;;;;
+A4C2;YI RADICAL SHOP;So;0;ON;;;;;N;;;;;
+A4C3;YI RADICAL CHE;So;0;ON;;;;;N;;;;;
+A4C4;YI RADICAL ZZIET;So;0;ON;;;;;N;;;;;
+A4C5;YI RADICAL NBIE;So;0;ON;;;;;N;;;;;
+A4C6;YI RADICAL KE;So;0;ON;;;;;N;;;;;
+A700;MODIFIER LETTER CHINESE TONE YIN PING;Sk;0;ON;;;;;N;;;;;
+A701;MODIFIER LETTER CHINESE TONE YANG PING;Sk;0;ON;;;;;N;;;;;
+A702;MODIFIER LETTER CHINESE TONE YIN SHANG;Sk;0;ON;;;;;N;;;;;
+A703;MODIFIER LETTER CHINESE TONE YANG SHANG;Sk;0;ON;;;;;N;;;;;
+A704;MODIFIER LETTER CHINESE TONE YIN QU;Sk;0;ON;;;;;N;;;;;
+A705;MODIFIER LETTER CHINESE TONE YANG QU;Sk;0;ON;;;;;N;;;;;
+A706;MODIFIER LETTER CHINESE TONE YIN RU;Sk;0;ON;;;;;N;;;;;
+A707;MODIFIER LETTER CHINESE TONE YANG RU;Sk;0;ON;;;;;N;;;;;
+A708;MODIFIER LETTER EXTRA-HIGH DOTTED TONE BAR;Sk;0;ON;;;;;N;;;;;
+A709;MODIFIER LETTER HIGH DOTTED TONE BAR;Sk;0;ON;;;;;N;;;;;
+A70A;MODIFIER LETTER MID DOTTED TONE BAR;Sk;0;ON;;;;;N;;;;;
+A70B;MODIFIER LETTER LOW DOTTED TONE BAR;Sk;0;ON;;;;;N;;;;;
+A70C;MODIFIER LETTER EXTRA-LOW DOTTED TONE BAR;Sk;0;ON;;;;;N;;;;;
+A70D;MODIFIER LETTER EXTRA-HIGH DOTTED LEFT-STEM TONE BAR;Sk;0;ON;;;;;N;;;;;
+A70E;MODIFIER LETTER HIGH DOTTED LEFT-STEM TONE BAR;Sk;0;ON;;;;;N;;;;;
+A70F;MODIFIER LETTER MID DOTTED LEFT-STEM TONE BAR;Sk;0;ON;;;;;N;;;;;
+A710;MODIFIER LETTER LOW DOTTED LEFT-STEM TONE BAR;Sk;0;ON;;;;;N;;;;;
+A711;MODIFIER LETTER EXTRA-LOW DOTTED LEFT-STEM TONE BAR;Sk;0;ON;;;;;N;;;;;
+A712;MODIFIER LETTER EXTRA-HIGH LEFT-STEM TONE BAR;Sk;0;ON;;;;;N;;;;;
+A713;MODIFIER LETTER HIGH LEFT-STEM TONE BAR;Sk;0;ON;;;;;N;;;;;
+A714;MODIFIER LETTER MID LEFT-STEM TONE BAR;Sk;0;ON;;;;;N;;;;;
+A715;MODIFIER LETTER LOW LEFT-STEM TONE BAR;Sk;0;ON;;;;;N;;;;;
+A716;MODIFIER LETTER EXTRA-LOW LEFT-STEM TONE BAR;Sk;0;ON;;;;;N;;;;;
+A800;SYLOTI NAGRI LETTER A;Lo;0;L;;;;;N;;;;;
+A801;SYLOTI NAGRI LETTER I;Lo;0;L;;;;;N;;;;;
+A802;SYLOTI NAGRI SIGN DVISVARA;Mc;0;NSM;;;;;N;;;;;
+A803;SYLOTI NAGRI LETTER U;Lo;0;L;;;;;N;;;;;
+A804;SYLOTI NAGRI LETTER E;Lo;0;L;;;;;N;;;;;
+A805;SYLOTI NAGRI LETTER O;Lo;0;L;;;;;N;;;;;
+A806;SYLOTI NAGRI SIGN HASANTA;Mn;9;NSM;;;;;N;;;;;
+A807;SYLOTI NAGRI LETTER KO;Lo;0;L;;;;;N;;;;;
+A808;SYLOTI NAGRI LETTER KHO;Lo;0;L;;;;;N;;;;;
+A809;SYLOTI NAGRI LETTER GO;Lo;0;L;;;;;N;;;;;
+A80A;SYLOTI NAGRI LETTER GHO;Lo;0;L;;;;;N;;;;;
+A80B;SYLOTI NAGRI SIGN ANUSVARA;Mn;0;NSM;;;;;N;;;;;
+A80C;SYLOTI NAGRI LETTER CO;Lo;0;L;;;;;N;;;;;
+A80D;SYLOTI NAGRI LETTER CHO;Lo;0;L;;;;;N;;;;;
+A80E;SYLOTI NAGRI LETTER JO;Lo;0;L;;;;;N;;;;;
+A80F;SYLOTI NAGRI LETTER JHO;Lo;0;L;;;;;N;;;;;
+A810;SYLOTI NAGRI LETTER TTO;Lo;0;L;;;;;N;;;;;
+A811;SYLOTI NAGRI LETTER TTHO;Lo;0;L;;;;;N;;;;;
+A812;SYLOTI NAGRI LETTER DDO;Lo;0;L;;;;;N;;;;;
+A813;SYLOTI NAGRI LETTER DDHO;Lo;0;L;;;;;N;;;;;
+A814;SYLOTI NAGRI LETTER TO;Lo;0;L;;;;;N;;;;;
+A815;SYLOTI NAGRI LETTER THO;Lo;0;L;;;;;N;;;;;
+A816;SYLOTI NAGRI LETTER DO;Lo;0;L;;;;;N;;;;;
+A817;SYLOTI NAGRI LETTER DHO;Lo;0;L;;;;;N;;;;;
+A818;SYLOTI NAGRI LETTER NO;Lo;0;L;;;;;N;;;;;
+A819;SYLOTI NAGRI LETTER PO;Lo;0;L;;;;;N;;;;;
+A81A;SYLOTI NAGRI LETTER PHO;Lo;0;L;;;;;N;;;;;
+A81B;SYLOTI NAGRI LETTER BO;Lo;0;L;;;;;N;;;;;
+A81C;SYLOTI NAGRI LETTER BHO;Lo;0;L;;;;;N;;;;;
+A81D;SYLOTI NAGRI LETTER MO;Lo;0;L;;;;;N;;;;;
+A81E;SYLOTI NAGRI LETTER RO;Lo;0;L;;;;;N;;;;;
+A81F;SYLOTI NAGRI LETTER LO;Lo;0;L;;;;;N;;;;;
+A820;SYLOTI NAGRI LETTER RRO;Lo;0;L;;;;;N;;;;;
+A821;SYLOTI NAGRI LETTER SO;Lo;0;L;;;;;N;;;;;
+A822;SYLOTI NAGRI LETTER HO;Lo;0;L;;;;;N;;;;;
+A823;SYLOTI NAGRI VOWEL SIGN A;Mc;0;L;;;;;N;;;;;
+A824;SYLOTI NAGRI VOWEL SIGN I;Mc;0;L;;;;;N;;;;;
+A825;SYLOTI NAGRI VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;;
+A826;SYLOTI NAGRI VOWEL SIGN E;Mn;0;NSM;;;;;N;;;;;
+A827;SYLOTI NAGRI VOWEL SIGN OO;Mc;0;L;;;;;N;;;;;
+A828;SYLOTI NAGRI POETRY MARK-1;So;0;ON;;;;;N;;;;;
+A829;SYLOTI NAGRI POETRY MARK-2;So;0;ON;;;;;N;;;;;
+A82A;SYLOTI NAGRI POETRY MARK-3;So;0;ON;;;;;N;;;;;
+A82B;SYLOTI NAGRI POETRY MARK-4;So;0;ON;;;;;N;;;;;
+AC00;<Hangul Syllable, First>;Lo;0;L;;;;;N;;;;;
+D7A3;<Hangul Syllable, Last>;Lo;0;L;;;;;N;;;;;
+D800;<Non Private Use High Surrogate, First>;Cs;0;L;;;;;N;;;;;
+DB7F;<Non Private Use High Surrogate, Last>;Cs;0;L;;;;;N;;;;;
+DB80;<Private Use High Surrogate, First>;Cs;0;L;;;;;N;;;;;
+DBFF;<Private Use High Surrogate, Last>;Cs;0;L;;;;;N;;;;;
+DC00;<Low Surrogate, First>;Cs;0;L;;;;;N;;;;;
+DFFF;<Low Surrogate, Last>;Cs;0;L;;;;;N;;;;;
+E000;<Private Use, First>;Co;0;L;;;;;N;;;;;
+F8FF;<Private Use, Last>;Co;0;L;;;;;N;;;;;
+F900;CJK COMPATIBILITY IDEOGRAPH-F900;Lo;0;L;8C48;;;;N;;;;;
+F901;CJK COMPATIBILITY IDEOGRAPH-F901;Lo;0;L;66F4;;;;N;;;;;
+F902;CJK COMPATIBILITY IDEOGRAPH-F902;Lo;0;L;8ECA;;;;N;;;;;
+F903;CJK COMPATIBILITY IDEOGRAPH-F903;Lo;0;L;8CC8;;;;N;;;;;
+F904;CJK COMPATIBILITY IDEOGRAPH-F904;Lo;0;L;6ED1;;;;N;;;;;
+F905;CJK COMPATIBILITY IDEOGRAPH-F905;Lo;0;L;4E32;;;;N;;;;;
+F906;CJK COMPATIBILITY IDEOGRAPH-F906;Lo;0;L;53E5;;;;N;;;;;
+F907;CJK COMPATIBILITY IDEOGRAPH-F907;Lo;0;L;9F9C;;;;N;;;;;
+F908;CJK COMPATIBILITY IDEOGRAPH-F908;Lo;0;L;9F9C;;;;N;;;;;
+F909;CJK COMPATIBILITY IDEOGRAPH-F909;Lo;0;L;5951;;;;N;;;;;
+F90A;CJK COMPATIBILITY IDEOGRAPH-F90A;Lo;0;L;91D1;;;;N;;;;;
+F90B;CJK COMPATIBILITY IDEOGRAPH-F90B;Lo;0;L;5587;;;;N;;;;;
+F90C;CJK COMPATIBILITY IDEOGRAPH-F90C;Lo;0;L;5948;;;;N;;;;;
+F90D;CJK COMPATIBILITY IDEOGRAPH-F90D;Lo;0;L;61F6;;;;N;;;;;
+F90E;CJK COMPATIBILITY IDEOGRAPH-F90E;Lo;0;L;7669;;;;N;;;;;
+F90F;CJK COMPATIBILITY IDEOGRAPH-F90F;Lo;0;L;7F85;;;;N;;;;;
+F910;CJK COMPATIBILITY IDEOGRAPH-F910;Lo;0;L;863F;;;;N;;;;;
+F911;CJK COMPATIBILITY IDEOGRAPH-F911;Lo;0;L;87BA;;;;N;;;;;
+F912;CJK COMPATIBILITY IDEOGRAPH-F912;Lo;0;L;88F8;;;;N;;;;;
+F913;CJK COMPATIBILITY IDEOGRAPH-F913;Lo;0;L;908F;;;;N;;;;;
+F914;CJK COMPATIBILITY IDEOGRAPH-F914;Lo;0;L;6A02;;;;N;;;;;
+F915;CJK COMPATIBILITY IDEOGRAPH-F915;Lo;0;L;6D1B;;;;N;;;;;
+F916;CJK COMPATIBILITY IDEOGRAPH-F916;Lo;0;L;70D9;;;;N;;;;;
+F917;CJK COMPATIBILITY IDEOGRAPH-F917;Lo;0;L;73DE;;;;N;;;;;
+F918;CJK COMPATIBILITY IDEOGRAPH-F918;Lo;0;L;843D;;;;N;;;;;
+F919;CJK COMPATIBILITY IDEOGRAPH-F919;Lo;0;L;916A;;;;N;;;;;
+F91A;CJK COMPATIBILITY IDEOGRAPH-F91A;Lo;0;L;99F1;;;;N;;;;;
+F91B;CJK COMPATIBILITY IDEOGRAPH-F91B;Lo;0;L;4E82;;;;N;;;;;
+F91C;CJK COMPATIBILITY IDEOGRAPH-F91C;Lo;0;L;5375;;;;N;;;;;
+F91D;CJK COMPATIBILITY IDEOGRAPH-F91D;Lo;0;L;6B04;;;;N;;;;;
+F91E;CJK COMPATIBILITY IDEOGRAPH-F91E;Lo;0;L;721B;;;;N;;;;;
+F91F;CJK COMPATIBILITY IDEOGRAPH-F91F;Lo;0;L;862D;;;;N;;;;;
+F920;CJK COMPATIBILITY IDEOGRAPH-F920;Lo;0;L;9E1E;;;;N;;;;;
+F921;CJK COMPATIBILITY IDEOGRAPH-F921;Lo;0;L;5D50;;;;N;;;;;
+F922;CJK COMPATIBILITY IDEOGRAPH-F922;Lo;0;L;6FEB;;;;N;;;;;
+F923;CJK COMPATIBILITY IDEOGRAPH-F923;Lo;0;L;85CD;;;;N;;;;;
+F924;CJK COMPATIBILITY IDEOGRAPH-F924;Lo;0;L;8964;;;;N;;;;;
+F925;CJK COMPATIBILITY IDEOGRAPH-F925;Lo;0;L;62C9;;;;N;;;;;
+F926;CJK COMPATIBILITY IDEOGRAPH-F926;Lo;0;L;81D8;;;;N;;;;;
+F927;CJK COMPATIBILITY IDEOGRAPH-F927;Lo;0;L;881F;;;;N;;;;;
+F928;CJK COMPATIBILITY IDEOGRAPH-F928;Lo;0;L;5ECA;;;;N;;;;;
+F929;CJK COMPATIBILITY IDEOGRAPH-F929;Lo;0;L;6717;;;;N;;;;;
+F92A;CJK COMPATIBILITY IDEOGRAPH-F92A;Lo;0;L;6D6A;;;;N;;;;;
+F92B;CJK COMPATIBILITY IDEOGRAPH-F92B;Lo;0;L;72FC;;;;N;;;;;
+F92C;CJK COMPATIBILITY IDEOGRAPH-F92C;Lo;0;L;90CE;;;;N;;;;;
+F92D;CJK COMPATIBILITY IDEOGRAPH-F92D;Lo;0;L;4F86;;;;N;;;;;
+F92E;CJK COMPATIBILITY IDEOGRAPH-F92E;Lo;0;L;51B7;;;;N;;;;;
+F92F;CJK COMPATIBILITY IDEOGRAPH-F92F;Lo;0;L;52DE;;;;N;;;;;
+F930;CJK COMPATIBILITY IDEOGRAPH-F930;Lo;0;L;64C4;;;;N;;;;;
+F931;CJK COMPATIBILITY IDEOGRAPH-F931;Lo;0;L;6AD3;;;;N;;;;;
+F932;CJK COMPATIBILITY IDEOGRAPH-F932;Lo;0;L;7210;;;;N;;;;;
+F933;CJK COMPATIBILITY IDEOGRAPH-F933;Lo;0;L;76E7;;;;N;;;;;
+F934;CJK COMPATIBILITY IDEOGRAPH-F934;Lo;0;L;8001;;;;N;;;;;
+F935;CJK COMPATIBILITY IDEOGRAPH-F935;Lo;0;L;8606;;;;N;;;;;
+F936;CJK COMPATIBILITY IDEOGRAPH-F936;Lo;0;L;865C;;;;N;;;;;
+F937;CJK COMPATIBILITY IDEOGRAPH-F937;Lo;0;L;8DEF;;;;N;;;;;
+F938;CJK COMPATIBILITY IDEOGRAPH-F938;Lo;0;L;9732;;;;N;;;;;
+F939;CJK COMPATIBILITY IDEOGRAPH-F939;Lo;0;L;9B6F;;;;N;;;;;
+F93A;CJK COMPATIBILITY IDEOGRAPH-F93A;Lo;0;L;9DFA;;;;N;;;;;
+F93B;CJK COMPATIBILITY IDEOGRAPH-F93B;Lo;0;L;788C;;;;N;;;;;
+F93C;CJK COMPATIBILITY IDEOGRAPH-F93C;Lo;0;L;797F;;;;N;;;;;
+F93D;CJK COMPATIBILITY IDEOGRAPH-F93D;Lo;0;L;7DA0;;;;N;;;;;
+F93E;CJK COMPATIBILITY IDEOGRAPH-F93E;Lo;0;L;83C9;;;;N;;;;;
+F93F;CJK COMPATIBILITY IDEOGRAPH-F93F;Lo;0;L;9304;;;;N;;;;;
+F940;CJK COMPATIBILITY IDEOGRAPH-F940;Lo;0;L;9E7F;;;;N;;;;;
+F941;CJK COMPATIBILITY IDEOGRAPH-F941;Lo;0;L;8AD6;;;;N;;;;;
+F942;CJK COMPATIBILITY IDEOGRAPH-F942;Lo;0;L;58DF;;;;N;;;;;
+F943;CJK COMPATIBILITY IDEOGRAPH-F943;Lo;0;L;5F04;;;;N;;;;;
+F944;CJK COMPATIBILITY IDEOGRAPH-F944;Lo;0;L;7C60;;;;N;;;;;
+F945;CJK COMPATIBILITY IDEOGRAPH-F945;Lo;0;L;807E;;;;N;;;;;
+F946;CJK COMPATIBILITY IDEOGRAPH-F946;Lo;0;L;7262;;;;N;;;;;
+F947;CJK COMPATIBILITY IDEOGRAPH-F947;Lo;0;L;78CA;;;;N;;;;;
+F948;CJK COMPATIBILITY IDEOGRAPH-F948;Lo;0;L;8CC2;;;;N;;;;;
+F949;CJK COMPATIBILITY IDEOGRAPH-F949;Lo;0;L;96F7;;;;N;;;;;
+F94A;CJK COMPATIBILITY IDEOGRAPH-F94A;Lo;0;L;58D8;;;;N;;;;;
+F94B;CJK COMPATIBILITY IDEOGRAPH-F94B;Lo;0;L;5C62;;;;N;;;;;
+F94C;CJK COMPATIBILITY IDEOGRAPH-F94C;Lo;0;L;6A13;;;;N;;;;;
+F94D;CJK COMPATIBILITY IDEOGRAPH-F94D;Lo;0;L;6DDA;;;;N;;;;;
+F94E;CJK COMPATIBILITY IDEOGRAPH-F94E;Lo;0;L;6F0F;;;;N;;;;;
+F94F;CJK COMPATIBILITY IDEOGRAPH-F94F;Lo;0;L;7D2F;;;;N;;;;;
+F950;CJK COMPATIBILITY IDEOGRAPH-F950;Lo;0;L;7E37;;;;N;;;;;
+F951;CJK COMPATIBILITY IDEOGRAPH-F951;Lo;0;L;964B;;;;N;;;;;
+F952;CJK COMPATIBILITY IDEOGRAPH-F952;Lo;0;L;52D2;;;;N;;;;;
+F953;CJK COMPATIBILITY IDEOGRAPH-F953;Lo;0;L;808B;;;;N;;;;;
+F954;CJK COMPATIBILITY IDEOGRAPH-F954;Lo;0;L;51DC;;;;N;;;;;
+F955;CJK COMPATIBILITY IDEOGRAPH-F955;Lo;0;L;51CC;;;;N;;;;;
+F956;CJK COMPATIBILITY IDEOGRAPH-F956;Lo;0;L;7A1C;;;;N;;;;;
+F957;CJK COMPATIBILITY IDEOGRAPH-F957;Lo;0;L;7DBE;;;;N;;;;;
+F958;CJK COMPATIBILITY IDEOGRAPH-F958;Lo;0;L;83F1;;;;N;;;;;
+F959;CJK COMPATIBILITY IDEOGRAPH-F959;Lo;0;L;9675;;;;N;;;;;
+F95A;CJK COMPATIBILITY IDEOGRAPH-F95A;Lo;0;L;8B80;;;;N;;;;;
+F95B;CJK COMPATIBILITY IDEOGRAPH-F95B;Lo;0;L;62CF;;;;N;;;;;
+F95C;CJK COMPATIBILITY IDEOGRAPH-F95C;Lo;0;L;6A02;;;;N;;;;;
+F95D;CJK COMPATIBILITY IDEOGRAPH-F95D;Lo;0;L;8AFE;;;;N;;;;;
+F95E;CJK COMPATIBILITY IDEOGRAPH-F95E;Lo;0;L;4E39;;;;N;;;;;
+F95F;CJK COMPATIBILITY IDEOGRAPH-F95F;Lo;0;L;5BE7;;;;N;;;;;
+F960;CJK COMPATIBILITY IDEOGRAPH-F960;Lo;0;L;6012;;;;N;;;;;
+F961;CJK COMPATIBILITY IDEOGRAPH-F961;Lo;0;L;7387;;;;N;;;;;
+F962;CJK COMPATIBILITY IDEOGRAPH-F962;Lo;0;L;7570;;;;N;;;;;
+F963;CJK COMPATIBILITY IDEOGRAPH-F963;Lo;0;L;5317;;;;N;;;;;
+F964;CJK COMPATIBILITY IDEOGRAPH-F964;Lo;0;L;78FB;;;;N;;;;;
+F965;CJK COMPATIBILITY IDEOGRAPH-F965;Lo;0;L;4FBF;;;;N;;;;;
+F966;CJK COMPATIBILITY IDEOGRAPH-F966;Lo;0;L;5FA9;;;;N;;;;;
+F967;CJK COMPATIBILITY IDEOGRAPH-F967;Lo;0;L;4E0D;;;;N;;;;;
+F968;CJK COMPATIBILITY IDEOGRAPH-F968;Lo;0;L;6CCC;;;;N;;;;;
+F969;CJK COMPATIBILITY IDEOGRAPH-F969;Lo;0;L;6578;;;;N;;;;;
+F96A;CJK COMPATIBILITY IDEOGRAPH-F96A;Lo;0;L;7D22;;;;N;;;;;
+F96B;CJK COMPATIBILITY IDEOGRAPH-F96B;Lo;0;L;53C3;;;;N;;;;;
+F96C;CJK COMPATIBILITY IDEOGRAPH-F96C;Lo;0;L;585E;;;;N;;;;;
+F96D;CJK COMPATIBILITY IDEOGRAPH-F96D;Lo;0;L;7701;;;;N;;;;;
+F96E;CJK COMPATIBILITY IDEOGRAPH-F96E;Lo;0;L;8449;;;;N;;;;;
+F96F;CJK COMPATIBILITY IDEOGRAPH-F96F;Lo;0;L;8AAA;;;;N;;;;;
+F970;CJK COMPATIBILITY IDEOGRAPH-F970;Lo;0;L;6BBA;;;;N;;;;;
+F971;CJK COMPATIBILITY IDEOGRAPH-F971;Lo;0;L;8FB0;;;;N;;;;;
+F972;CJK COMPATIBILITY IDEOGRAPH-F972;Lo;0;L;6C88;;;;N;;;;;
+F973;CJK COMPATIBILITY IDEOGRAPH-F973;Lo;0;L;62FE;;;;N;;;;;
+F974;CJK COMPATIBILITY IDEOGRAPH-F974;Lo;0;L;82E5;;;;N;;;;;
+F975;CJK COMPATIBILITY IDEOGRAPH-F975;Lo;0;L;63A0;;;;N;;;;;
+F976;CJK COMPATIBILITY IDEOGRAPH-F976;Lo;0;L;7565;;;;N;;;;;
+F977;CJK COMPATIBILITY IDEOGRAPH-F977;Lo;0;L;4EAE;;;;N;;;;;
+F978;CJK COMPATIBILITY IDEOGRAPH-F978;Lo;0;L;5169;;;;N;;;;;
+F979;CJK COMPATIBILITY IDEOGRAPH-F979;Lo;0;L;51C9;;;;N;;;;;
+F97A;CJK COMPATIBILITY IDEOGRAPH-F97A;Lo;0;L;6881;;;;N;;;;;
+F97B;CJK COMPATIBILITY IDEOGRAPH-F97B;Lo;0;L;7CE7;;;;N;;;;;
+F97C;CJK COMPATIBILITY IDEOGRAPH-F97C;Lo;0;L;826F;;;;N;;;;;
+F97D;CJK COMPATIBILITY IDEOGRAPH-F97D;Lo;0;L;8AD2;;;;N;;;;;
+F97E;CJK COMPATIBILITY IDEOGRAPH-F97E;Lo;0;L;91CF;;;;N;;;;;
+F97F;CJK COMPATIBILITY IDEOGRAPH-F97F;Lo;0;L;52F5;;;;N;;;;;
+F980;CJK COMPATIBILITY IDEOGRAPH-F980;Lo;0;L;5442;;;;N;;;;;
+F981;CJK COMPATIBILITY IDEOGRAPH-F981;Lo;0;L;5973;;;;N;;;;;
+F982;CJK COMPATIBILITY IDEOGRAPH-F982;Lo;0;L;5EEC;;;;N;;;;;
+F983;CJK COMPATIBILITY IDEOGRAPH-F983;Lo;0;L;65C5;;;;N;;;;;
+F984;CJK COMPATIBILITY IDEOGRAPH-F984;Lo;0;L;6FFE;;;;N;;;;;
+F985;CJK COMPATIBILITY IDEOGRAPH-F985;Lo;0;L;792A;;;;N;;;;;
+F986;CJK COMPATIBILITY IDEOGRAPH-F986;Lo;0;L;95AD;;;;N;;;;;
+F987;CJK COMPATIBILITY IDEOGRAPH-F987;Lo;0;L;9A6A;;;;N;;;;;
+F988;CJK COMPATIBILITY IDEOGRAPH-F988;Lo;0;L;9E97;;;;N;;;;;
+F989;CJK COMPATIBILITY IDEOGRAPH-F989;Lo;0;L;9ECE;;;;N;;;;;
+F98A;CJK COMPATIBILITY IDEOGRAPH-F98A;Lo;0;L;529B;;;;N;;;;;
+F98B;CJK COMPATIBILITY IDEOGRAPH-F98B;Lo;0;L;66C6;;;;N;;;;;
+F98C;CJK COMPATIBILITY IDEOGRAPH-F98C;Lo;0;L;6B77;;;;N;;;;;
+F98D;CJK COMPATIBILITY IDEOGRAPH-F98D;Lo;0;L;8F62;;;;N;;;;;
+F98E;CJK COMPATIBILITY IDEOGRAPH-F98E;Lo;0;L;5E74;;;;N;;;;;
+F98F;CJK COMPATIBILITY IDEOGRAPH-F98F;Lo;0;L;6190;;;;N;;;;;
+F990;CJK COMPATIBILITY IDEOGRAPH-F990;Lo;0;L;6200;;;;N;;;;;
+F991;CJK COMPATIBILITY IDEOGRAPH-F991;Lo;0;L;649A;;;;N;;;;;
+F992;CJK COMPATIBILITY IDEOGRAPH-F992;Lo;0;L;6F23;;;;N;;;;;
+F993;CJK COMPATIBILITY IDEOGRAPH-F993;Lo;0;L;7149;;;;N;;;;;
+F994;CJK COMPATIBILITY IDEOGRAPH-F994;Lo;0;L;7489;;;;N;;;;;
+F995;CJK COMPATIBILITY IDEOGRAPH-F995;Lo;0;L;79CA;;;;N;;;;;
+F996;CJK COMPATIBILITY IDEOGRAPH-F996;Lo;0;L;7DF4;;;;N;;;;;
+F997;CJK COMPATIBILITY IDEOGRAPH-F997;Lo;0;L;806F;;;;N;;;;;
+F998;CJK COMPATIBILITY IDEOGRAPH-F998;Lo;0;L;8F26;;;;N;;;;;
+F999;CJK COMPATIBILITY IDEOGRAPH-F999;Lo;0;L;84EE;;;;N;;;;;
+F99A;CJK COMPATIBILITY IDEOGRAPH-F99A;Lo;0;L;9023;;;;N;;;;;
+F99B;CJK COMPATIBILITY IDEOGRAPH-F99B;Lo;0;L;934A;;;;N;;;;;
+F99C;CJK COMPATIBILITY IDEOGRAPH-F99C;Lo;0;L;5217;;;;N;;;;;
+F99D;CJK COMPATIBILITY IDEOGRAPH-F99D;Lo;0;L;52A3;;;;N;;;;;
+F99E;CJK COMPATIBILITY IDEOGRAPH-F99E;Lo;0;L;54BD;;;;N;;;;;
+F99F;CJK COMPATIBILITY IDEOGRAPH-F99F;Lo;0;L;70C8;;;;N;;;;;
+F9A0;CJK COMPATIBILITY IDEOGRAPH-F9A0;Lo;0;L;88C2;;;;N;;;;;
+F9A1;CJK COMPATIBILITY IDEOGRAPH-F9A1;Lo;0;L;8AAA;;;;N;;;;;
+F9A2;CJK COMPATIBILITY IDEOGRAPH-F9A2;Lo;0;L;5EC9;;;;N;;;;;
+F9A3;CJK COMPATIBILITY IDEOGRAPH-F9A3;Lo;0;L;5FF5;;;;N;;;;;
+F9A4;CJK COMPATIBILITY IDEOGRAPH-F9A4;Lo;0;L;637B;;;;N;;;;;
+F9A5;CJK COMPATIBILITY IDEOGRAPH-F9A5;Lo;0;L;6BAE;;;;N;;;;;
+F9A6;CJK COMPATIBILITY IDEOGRAPH-F9A6;Lo;0;L;7C3E;;;;N;;;;;
+F9A7;CJK COMPATIBILITY IDEOGRAPH-F9A7;Lo;0;L;7375;;;;N;;;;;
+F9A8;CJK COMPATIBILITY IDEOGRAPH-F9A8;Lo;0;L;4EE4;;;;N;;;;;
+F9A9;CJK COMPATIBILITY IDEOGRAPH-F9A9;Lo;0;L;56F9;;;;N;;;;;
+F9AA;CJK COMPATIBILITY IDEOGRAPH-F9AA;Lo;0;L;5BE7;;;;N;;;;;
+F9AB;CJK COMPATIBILITY IDEOGRAPH-F9AB;Lo;0;L;5DBA;;;;N;;;;;
+F9AC;CJK COMPATIBILITY IDEOGRAPH-F9AC;Lo;0;L;601C;;;;N;;;;;
+F9AD;CJK COMPATIBILITY IDEOGRAPH-F9AD;Lo;0;L;73B2;;;;N;;;;;
+F9AE;CJK COMPATIBILITY IDEOGRAPH-F9AE;Lo;0;L;7469;;;;N;;;;;
+F9AF;CJK COMPATIBILITY IDEOGRAPH-F9AF;Lo;0;L;7F9A;;;;N;;;;;
+F9B0;CJK COMPATIBILITY IDEOGRAPH-F9B0;Lo;0;L;8046;;;;N;;;;;
+F9B1;CJK COMPATIBILITY IDEOGRAPH-F9B1;Lo;0;L;9234;;;;N;;;;;
+F9B2;CJK COMPATIBILITY IDEOGRAPH-F9B2;Lo;0;L;96F6;;;;N;;;;;
+F9B3;CJK COMPATIBILITY IDEOGRAPH-F9B3;Lo;0;L;9748;;;;N;;;;;
+F9B4;CJK COMPATIBILITY IDEOGRAPH-F9B4;Lo;0;L;9818;;;;N;;;;;
+F9B5;CJK COMPATIBILITY IDEOGRAPH-F9B5;Lo;0;L;4F8B;;;;N;;;;;
+F9B6;CJK COMPATIBILITY IDEOGRAPH-F9B6;Lo;0;L;79AE;;;;N;;;;;
+F9B7;CJK COMPATIBILITY IDEOGRAPH-F9B7;Lo;0;L;91B4;;;;N;;;;;
+F9B8;CJK COMPATIBILITY IDEOGRAPH-F9B8;Lo;0;L;96B8;;;;N;;;;;
+F9B9;CJK COMPATIBILITY IDEOGRAPH-F9B9;Lo;0;L;60E1;;;;N;;;;;
+F9BA;CJK COMPATIBILITY IDEOGRAPH-F9BA;Lo;0;L;4E86;;;;N;;;;;
+F9BB;CJK COMPATIBILITY IDEOGRAPH-F9BB;Lo;0;L;50DA;;;;N;;;;;
+F9BC;CJK COMPATIBILITY IDEOGRAPH-F9BC;Lo;0;L;5BEE;;;;N;;;;;
+F9BD;CJK COMPATIBILITY IDEOGRAPH-F9BD;Lo;0;L;5C3F;;;;N;;;;;
+F9BE;CJK COMPATIBILITY IDEOGRAPH-F9BE;Lo;0;L;6599;;;;N;;;;;
+F9BF;CJK COMPATIBILITY IDEOGRAPH-F9BF;Lo;0;L;6A02;;;;N;;;;;
+F9C0;CJK COMPATIBILITY IDEOGRAPH-F9C0;Lo;0;L;71CE;;;;N;;;;;
+F9C1;CJK COMPATIBILITY IDEOGRAPH-F9C1;Lo;0;L;7642;;;;N;;;;;
+F9C2;CJK COMPATIBILITY IDEOGRAPH-F9C2;Lo;0;L;84FC;;;;N;;;;;
+F9C3;CJK COMPATIBILITY IDEOGRAPH-F9C3;Lo;0;L;907C;;;;N;;;;;
+F9C4;CJK COMPATIBILITY IDEOGRAPH-F9C4;Lo;0;L;9F8D;;;;N;;;;;
+F9C5;CJK COMPATIBILITY IDEOGRAPH-F9C5;Lo;0;L;6688;;;;N;;;;;
+F9C6;CJK COMPATIBILITY IDEOGRAPH-F9C6;Lo;0;L;962E;;;;N;;;;;
+F9C7;CJK COMPATIBILITY IDEOGRAPH-F9C7;Lo;0;L;5289;;;;N;;;;;
+F9C8;CJK COMPATIBILITY IDEOGRAPH-F9C8;Lo;0;L;677B;;;;N;;;;;
+F9C9;CJK COMPATIBILITY IDEOGRAPH-F9C9;Lo;0;L;67F3;;;;N;;;;;
+F9CA;CJK COMPATIBILITY IDEOGRAPH-F9CA;Lo;0;L;6D41;;;;N;;;;;
+F9CB;CJK COMPATIBILITY IDEOGRAPH-F9CB;Lo;0;L;6E9C;;;;N;;;;;
+F9CC;CJK COMPATIBILITY IDEOGRAPH-F9CC;Lo;0;L;7409;;;;N;;;;;
+F9CD;CJK COMPATIBILITY IDEOGRAPH-F9CD;Lo;0;L;7559;;;;N;;;;;
+F9CE;CJK COMPATIBILITY IDEOGRAPH-F9CE;Lo;0;L;786B;;;;N;;;;;
+F9CF;CJK COMPATIBILITY IDEOGRAPH-F9CF;Lo;0;L;7D10;;;;N;;;;;
+F9D0;CJK COMPATIBILITY IDEOGRAPH-F9D0;Lo;0;L;985E;;;;N;;;;;
+F9D1;CJK COMPATIBILITY IDEOGRAPH-F9D1;Lo;0;L;516D;;;;N;;;;;
+F9D2;CJK COMPATIBILITY IDEOGRAPH-F9D2;Lo;0;L;622E;;;;N;;;;;
+F9D3;CJK COMPATIBILITY IDEOGRAPH-F9D3;Lo;0;L;9678;;;;N;;;;;
+F9D4;CJK COMPATIBILITY IDEOGRAPH-F9D4;Lo;0;L;502B;;;;N;;;;;
+F9D5;CJK COMPATIBILITY IDEOGRAPH-F9D5;Lo;0;L;5D19;;;;N;;;;;
+F9D6;CJK COMPATIBILITY IDEOGRAPH-F9D6;Lo;0;L;6DEA;;;;N;;;;;
+F9D7;CJK COMPATIBILITY IDEOGRAPH-F9D7;Lo;0;L;8F2A;;;;N;;;;;
+F9D8;CJK COMPATIBILITY IDEOGRAPH-F9D8;Lo;0;L;5F8B;;;;N;;;;;
+F9D9;CJK COMPATIBILITY IDEOGRAPH-F9D9;Lo;0;L;6144;;;;N;;;;;
+F9DA;CJK COMPATIBILITY IDEOGRAPH-F9DA;Lo;0;L;6817;;;;N;;;;;
+F9DB;CJK COMPATIBILITY IDEOGRAPH-F9DB;Lo;0;L;7387;;;;N;;;;;
+F9DC;CJK COMPATIBILITY IDEOGRAPH-F9DC;Lo;0;L;9686;;;;N;;;;;
+F9DD;CJK COMPATIBILITY IDEOGRAPH-F9DD;Lo;0;L;5229;;;;N;;;;;
+F9DE;CJK COMPATIBILITY IDEOGRAPH-F9DE;Lo;0;L;540F;;;;N;;;;;
+F9DF;CJK COMPATIBILITY IDEOGRAPH-F9DF;Lo;0;L;5C65;;;;N;;;;;
+F9E0;CJK COMPATIBILITY IDEOGRAPH-F9E0;Lo;0;L;6613;;;;N;;;;;
+F9E1;CJK COMPATIBILITY IDEOGRAPH-F9E1;Lo;0;L;674E;;;;N;;;;;
+F9E2;CJK COMPATIBILITY IDEOGRAPH-F9E2;Lo;0;L;68A8;;;;N;;;;;
+F9E3;CJK COMPATIBILITY IDEOGRAPH-F9E3;Lo;0;L;6CE5;;;;N;;;;;
+F9E4;CJK COMPATIBILITY IDEOGRAPH-F9E4;Lo;0;L;7406;;;;N;;;;;
+F9E5;CJK COMPATIBILITY IDEOGRAPH-F9E5;Lo;0;L;75E2;;;;N;;;;;
+F9E6;CJK COMPATIBILITY IDEOGRAPH-F9E6;Lo;0;L;7F79;;;;N;;;;;
+F9E7;CJK COMPATIBILITY IDEOGRAPH-F9E7;Lo;0;L;88CF;;;;N;;;;;
+F9E8;CJK COMPATIBILITY IDEOGRAPH-F9E8;Lo;0;L;88E1;;;;N;;;;;
+F9E9;CJK COMPATIBILITY IDEOGRAPH-F9E9;Lo;0;L;91CC;;;;N;;;;;
+F9EA;CJK COMPATIBILITY IDEOGRAPH-F9EA;Lo;0;L;96E2;;;;N;;;;;
+F9EB;CJK COMPATIBILITY IDEOGRAPH-F9EB;Lo;0;L;533F;;;;N;;;;;
+F9EC;CJK COMPATIBILITY IDEOGRAPH-F9EC;Lo;0;L;6EBA;;;;N;;;;;
+F9ED;CJK COMPATIBILITY IDEOGRAPH-F9ED;Lo;0;L;541D;;;;N;;;;;
+F9EE;CJK COMPATIBILITY IDEOGRAPH-F9EE;Lo;0;L;71D0;;;;N;;;;;
+F9EF;CJK COMPATIBILITY IDEOGRAPH-F9EF;Lo;0;L;7498;;;;N;;;;;
+F9F0;CJK COMPATIBILITY IDEOGRAPH-F9F0;Lo;0;L;85FA;;;;N;;;;;
+F9F1;CJK COMPATIBILITY IDEOGRAPH-F9F1;Lo;0;L;96A3;;;;N;;;;;
+F9F2;CJK COMPATIBILITY IDEOGRAPH-F9F2;Lo;0;L;9C57;;;;N;;;;;
+F9F3;CJK COMPATIBILITY IDEOGRAPH-F9F3;Lo;0;L;9E9F;;;;N;;;;;
+F9F4;CJK COMPATIBILITY IDEOGRAPH-F9F4;Lo;0;L;6797;;;;N;;;;;
+F9F5;CJK COMPATIBILITY IDEOGRAPH-F9F5;Lo;0;L;6DCB;;;;N;;;;;
+F9F6;CJK COMPATIBILITY IDEOGRAPH-F9F6;Lo;0;L;81E8;;;;N;;;;;
+F9F7;CJK COMPATIBILITY IDEOGRAPH-F9F7;Lo;0;L;7ACB;;;;N;;;;;
+F9F8;CJK COMPATIBILITY IDEOGRAPH-F9F8;Lo;0;L;7B20;;;;N;;;;;
+F9F9;CJK COMPATIBILITY IDEOGRAPH-F9F9;Lo;0;L;7C92;;;;N;;;;;
+F9FA;CJK COMPATIBILITY IDEOGRAPH-F9FA;Lo;0;L;72C0;;;;N;;;;;
+F9FB;CJK COMPATIBILITY IDEOGRAPH-F9FB;Lo;0;L;7099;;;;N;;;;;
+F9FC;CJK COMPATIBILITY IDEOGRAPH-F9FC;Lo;0;L;8B58;;;;N;;;;;
+F9FD;CJK COMPATIBILITY IDEOGRAPH-F9FD;Lo;0;L;4EC0;;;;N;;;;;
+F9FE;CJK COMPATIBILITY IDEOGRAPH-F9FE;Lo;0;L;8336;;;;N;;;;;
+F9FF;CJK COMPATIBILITY IDEOGRAPH-F9FF;Lo;0;L;523A;;;;N;;;;;
+FA00;CJK COMPATIBILITY IDEOGRAPH-FA00;Lo;0;L;5207;;;;N;;;;;
+FA01;CJK COMPATIBILITY IDEOGRAPH-FA01;Lo;0;L;5EA6;;;;N;;;;;
+FA02;CJK COMPATIBILITY IDEOGRAPH-FA02;Lo;0;L;62D3;;;;N;;;;;
+FA03;CJK COMPATIBILITY IDEOGRAPH-FA03;Lo;0;L;7CD6;;;;N;;;;;
+FA04;CJK COMPATIBILITY IDEOGRAPH-FA04;Lo;0;L;5B85;;;;N;;;;;
+FA05;CJK COMPATIBILITY IDEOGRAPH-FA05;Lo;0;L;6D1E;;;;N;;;;;
+FA06;CJK COMPATIBILITY IDEOGRAPH-FA06;Lo;0;L;66B4;;;;N;;;;;
+FA07;CJK COMPATIBILITY IDEOGRAPH-FA07;Lo;0;L;8F3B;;;;N;;;;;
+FA08;CJK COMPATIBILITY IDEOGRAPH-FA08;Lo;0;L;884C;;;;N;;;;;
+FA09;CJK COMPATIBILITY IDEOGRAPH-FA09;Lo;0;L;964D;;;;N;;;;;
+FA0A;CJK COMPATIBILITY IDEOGRAPH-FA0A;Lo;0;L;898B;;;;N;;;;;
+FA0B;CJK COMPATIBILITY IDEOGRAPH-FA0B;Lo;0;L;5ED3;;;;N;;;;;
+FA0C;CJK COMPATIBILITY IDEOGRAPH-FA0C;Lo;0;L;5140;;;;N;;;;;
+FA0D;CJK COMPATIBILITY IDEOGRAPH-FA0D;Lo;0;L;55C0;;;;N;;;;;
+FA0E;CJK COMPATIBILITY IDEOGRAPH-FA0E;Lo;0;L;;;;;N;;;;;
+FA0F;CJK COMPATIBILITY IDEOGRAPH-FA0F;Lo;0;L;;;;;N;;;;;
+FA10;CJK COMPATIBILITY IDEOGRAPH-FA10;Lo;0;L;585A;;;;N;;;;;
+FA11;CJK COMPATIBILITY IDEOGRAPH-FA11;Lo;0;L;;;;;N;;;;;
+FA12;CJK COMPATIBILITY IDEOGRAPH-FA12;Lo;0;L;6674;;;;N;;;;;
+FA13;CJK COMPATIBILITY IDEOGRAPH-FA13;Lo;0;L;;;;;N;;;;;
+FA14;CJK COMPATIBILITY IDEOGRAPH-FA14;Lo;0;L;;;;;N;;;;;
+FA15;CJK COMPATIBILITY IDEOGRAPH-FA15;Lo;0;L;51DE;;;;N;;;;;
+FA16;CJK COMPATIBILITY IDEOGRAPH-FA16;Lo;0;L;732A;;;;N;;;;;
+FA17;CJK COMPATIBILITY IDEOGRAPH-FA17;Lo;0;L;76CA;;;;N;;;;;
+FA18;CJK COMPATIBILITY IDEOGRAPH-FA18;Lo;0;L;793C;;;;N;;;;;
+FA19;CJK COMPATIBILITY IDEOGRAPH-FA19;Lo;0;L;795E;;;;N;;;;;
+FA1A;CJK COMPATIBILITY IDEOGRAPH-FA1A;Lo;0;L;7965;;;;N;;;;;
+FA1B;CJK COMPATIBILITY IDEOGRAPH-FA1B;Lo;0;L;798F;;;;N;;;;;
+FA1C;CJK COMPATIBILITY IDEOGRAPH-FA1C;Lo;0;L;9756;;;;N;;;;;
+FA1D;CJK COMPATIBILITY IDEOGRAPH-FA1D;Lo;0;L;7CBE;;;;N;;;;;
+FA1E;CJK COMPATIBILITY IDEOGRAPH-FA1E;Lo;0;L;7FBD;;;;N;;;;;
+FA1F;CJK COMPATIBILITY IDEOGRAPH-FA1F;Lo;0;L;;;;;N;;*;;;
+FA20;CJK COMPATIBILITY IDEOGRAPH-FA20;Lo;0;L;8612;;;;N;;;;;
+FA21;CJK COMPATIBILITY IDEOGRAPH-FA21;Lo;0;L;;;;;N;;;;;
+FA22;CJK COMPATIBILITY IDEOGRAPH-FA22;Lo;0;L;8AF8;;;;N;;;;;
+FA23;CJK COMPATIBILITY IDEOGRAPH-FA23;Lo;0;L;;;;;N;;*;;;
+FA24;CJK COMPATIBILITY IDEOGRAPH-FA24;Lo;0;L;;;;;N;;;;;
+FA25;CJK COMPATIBILITY IDEOGRAPH-FA25;Lo;0;L;9038;;;;N;;;;;
+FA26;CJK COMPATIBILITY IDEOGRAPH-FA26;Lo;0;L;90FD;;;;N;;;;;
+FA27;CJK COMPATIBILITY IDEOGRAPH-FA27;Lo;0;L;;;;;N;;;;;
+FA28;CJK COMPATIBILITY IDEOGRAPH-FA28;Lo;0;L;;;;;N;;;;;
+FA29;CJK COMPATIBILITY IDEOGRAPH-FA29;Lo;0;L;;;;;N;;;;;
+FA2A;CJK COMPATIBILITY IDEOGRAPH-FA2A;Lo;0;L;98EF;;;;N;;;;;
+FA2B;CJK COMPATIBILITY IDEOGRAPH-FA2B;Lo;0;L;98FC;;;;N;;;;;
+FA2C;CJK COMPATIBILITY IDEOGRAPH-FA2C;Lo;0;L;9928;;;;N;;;;;
+FA2D;CJK COMPATIBILITY IDEOGRAPH-FA2D;Lo;0;L;9DB4;;;;N;;;;;
+FA30;CJK COMPATIBILITY IDEOGRAPH-FA30;Lo;0;L;4FAE;;;;N;;;;;
+FA31;CJK COMPATIBILITY IDEOGRAPH-FA31;Lo;0;L;50E7;;;;N;;;;;
+FA32;CJK COMPATIBILITY IDEOGRAPH-FA32;Lo;0;L;514D;;;;N;;;;;
+FA33;CJK COMPATIBILITY IDEOGRAPH-FA33;Lo;0;L;52C9;;;;N;;;;;
+FA34;CJK COMPATIBILITY IDEOGRAPH-FA34;Lo;0;L;52E4;;;;N;;;;;
+FA35;CJK COMPATIBILITY IDEOGRAPH-FA35;Lo;0;L;5351;;;;N;;;;;
+FA36;CJK COMPATIBILITY IDEOGRAPH-FA36;Lo;0;L;559D;;;;N;;;;;
+FA37;CJK COMPATIBILITY IDEOGRAPH-FA37;Lo;0;L;5606;;;;N;;;;;
+FA38;CJK COMPATIBILITY IDEOGRAPH-FA38;Lo;0;L;5668;;;;N;;;;;
+FA39;CJK COMPATIBILITY IDEOGRAPH-FA39;Lo;0;L;5840;;;;N;;;;;
+FA3A;CJK COMPATIBILITY IDEOGRAPH-FA3A;Lo;0;L;58A8;;;;N;;;;;
+FA3B;CJK COMPATIBILITY IDEOGRAPH-FA3B;Lo;0;L;5C64;;;;N;;;;;
+FA3C;CJK COMPATIBILITY IDEOGRAPH-FA3C;Lo;0;L;5C6E;;;;N;;;;;
+FA3D;CJK COMPATIBILITY IDEOGRAPH-FA3D;Lo;0;L;6094;;;;N;;;;;
+FA3E;CJK COMPATIBILITY IDEOGRAPH-FA3E;Lo;0;L;6168;;;;N;;;;;
+FA3F;CJK COMPATIBILITY IDEOGRAPH-FA3F;Lo;0;L;618E;;;;N;;;;;
+FA40;CJK COMPATIBILITY IDEOGRAPH-FA40;Lo;0;L;61F2;;;;N;;;;;
+FA41;CJK COMPATIBILITY IDEOGRAPH-FA41;Lo;0;L;654F;;;;N;;;;;
+FA42;CJK COMPATIBILITY IDEOGRAPH-FA42;Lo;0;L;65E2;;;;N;;;;;
+FA43;CJK COMPATIBILITY IDEOGRAPH-FA43;Lo;0;L;6691;;;;N;;;;;
+FA44;CJK COMPATIBILITY IDEOGRAPH-FA44;Lo;0;L;6885;;;;N;;;;;
+FA45;CJK COMPATIBILITY IDEOGRAPH-FA45;Lo;0;L;6D77;;;;N;;;;;
+FA46;CJK COMPATIBILITY IDEOGRAPH-FA46;Lo;0;L;6E1A;;;;N;;;;;
+FA47;CJK COMPATIBILITY IDEOGRAPH-FA47;Lo;0;L;6F22;;;;N;;;;;
+FA48;CJK COMPATIBILITY IDEOGRAPH-FA48;Lo;0;L;716E;;;;N;;;;;
+FA49;CJK COMPATIBILITY IDEOGRAPH-FA49;Lo;0;L;722B;;;;N;;;;;
+FA4A;CJK COMPATIBILITY IDEOGRAPH-FA4A;Lo;0;L;7422;;;;N;;;;;
+FA4B;CJK COMPATIBILITY IDEOGRAPH-FA4B;Lo;0;L;7891;;;;N;;;;;
+FA4C;CJK COMPATIBILITY IDEOGRAPH-FA4C;Lo;0;L;793E;;;;N;;;;;
+FA4D;CJK COMPATIBILITY IDEOGRAPH-FA4D;Lo;0;L;7949;;;;N;;;;;
+FA4E;CJK COMPATIBILITY IDEOGRAPH-FA4E;Lo;0;L;7948;;;;N;;;;;
+FA4F;CJK COMPATIBILITY IDEOGRAPH-FA4F;Lo;0;L;7950;;;;N;;;;;
+FA50;CJK COMPATIBILITY IDEOGRAPH-FA50;Lo;0;L;7956;;;;N;;;;;
+FA51;CJK COMPATIBILITY IDEOGRAPH-FA51;Lo;0;L;795D;;;;N;;;;;
+FA52;CJK COMPATIBILITY IDEOGRAPH-FA52;Lo;0;L;798D;;;;N;;;;;
+FA53;CJK COMPATIBILITY IDEOGRAPH-FA53;Lo;0;L;798E;;;;N;;;;;
+FA54;CJK COMPATIBILITY IDEOGRAPH-FA54;Lo;0;L;7A40;;;;N;;;;;
+FA55;CJK COMPATIBILITY IDEOGRAPH-FA55;Lo;0;L;7A81;;;;N;;;;;
+FA56;CJK COMPATIBILITY IDEOGRAPH-FA56;Lo;0;L;7BC0;;;;N;;;;;
+FA57;CJK COMPATIBILITY IDEOGRAPH-FA57;Lo;0;L;7DF4;;;;N;;;;;
+FA58;CJK COMPATIBILITY IDEOGRAPH-FA58;Lo;0;L;7E09;;;;N;;;;;
+FA59;CJK COMPATIBILITY IDEOGRAPH-FA59;Lo;0;L;7E41;;;;N;;;;;
+FA5A;CJK COMPATIBILITY IDEOGRAPH-FA5A;Lo;0;L;7F72;;;;N;;;;;
+FA5B;CJK COMPATIBILITY IDEOGRAPH-FA5B;Lo;0;L;8005;;;;N;;;;;
+FA5C;CJK COMPATIBILITY IDEOGRAPH-FA5C;Lo;0;L;81ED;;;;N;;;;;
+FA5D;CJK COMPATIBILITY IDEOGRAPH-FA5D;Lo;0;L;8279;;;;N;;;;;
+FA5E;CJK COMPATIBILITY IDEOGRAPH-FA5E;Lo;0;L;8279;;;;N;;;;;
+FA5F;CJK COMPATIBILITY IDEOGRAPH-FA5F;Lo;0;L;8457;;;;N;;;;;
+FA60;CJK COMPATIBILITY IDEOGRAPH-FA60;Lo;0;L;8910;;;;N;;;;;
+FA61;CJK COMPATIBILITY IDEOGRAPH-FA61;Lo;0;L;8996;;;;N;;;;;
+FA62;CJK COMPATIBILITY IDEOGRAPH-FA62;Lo;0;L;8B01;;;;N;;;;;
+FA63;CJK COMPATIBILITY IDEOGRAPH-FA63;Lo;0;L;8B39;;;;N;;;;;
+FA64;CJK COMPATIBILITY IDEOGRAPH-FA64;Lo;0;L;8CD3;;;;N;;;;;
+FA65;CJK COMPATIBILITY IDEOGRAPH-FA65;Lo;0;L;8D08;;;;N;;;;;
+FA66;CJK COMPATIBILITY IDEOGRAPH-FA66;Lo;0;L;8FB6;;;;N;;;;;
+FA67;CJK COMPATIBILITY IDEOGRAPH-FA67;Lo;0;L;9038;;;;N;;;;;
+FA68;CJK COMPATIBILITY IDEOGRAPH-FA68;Lo;0;L;96E3;;;;N;;;;;
+FA69;CJK COMPATIBILITY IDEOGRAPH-FA69;Lo;0;L;97FF;;;;N;;;;;
+FA6A;CJK COMPATIBILITY IDEOGRAPH-FA6A;Lo;0;L;983B;;;;N;;;;;
+FA70;CJK COMPATIBILITY IDEOGRAPH-FA70;Lo;0;L;4E26;;;;N;;;;;
+FA71;CJK COMPATIBILITY IDEOGRAPH-FA71;Lo;0;L;51B5;;;;N;;;;;
+FA72;CJK COMPATIBILITY IDEOGRAPH-FA72;Lo;0;L;5168;;;;N;;;;;
+FA73;CJK COMPATIBILITY IDEOGRAPH-FA73;Lo;0;L;4F80;;;;N;;;;;
+FA74;CJK COMPATIBILITY IDEOGRAPH-FA74;Lo;0;L;5145;;;;N;;;;;
+FA75;CJK COMPATIBILITY IDEOGRAPH-FA75;Lo;0;L;5180;;;;N;;;;;
+FA76;CJK COMPATIBILITY IDEOGRAPH-FA76;Lo;0;L;52C7;;;;N;;;;;
+FA77;CJK COMPATIBILITY IDEOGRAPH-FA77;Lo;0;L;52FA;;;;N;;;;;
+FA78;CJK COMPATIBILITY IDEOGRAPH-FA78;Lo;0;L;559D;;;;N;;;;;
+FA79;CJK COMPATIBILITY IDEOGRAPH-FA79;Lo;0;L;5555;;;;N;;;;;
+FA7A;CJK COMPATIBILITY IDEOGRAPH-FA7A;Lo;0;L;5599;;;;N;;;;;
+FA7B;CJK COMPATIBILITY IDEOGRAPH-FA7B;Lo;0;L;55E2;;;;N;;;;;
+FA7C;CJK COMPATIBILITY IDEOGRAPH-FA7C;Lo;0;L;585A;;;;N;;;;;
+FA7D;CJK COMPATIBILITY IDEOGRAPH-FA7D;Lo;0;L;58B3;;;;N;;;;;
+FA7E;CJK COMPATIBILITY IDEOGRAPH-FA7E;Lo;0;L;5944;;;;N;;;;;
+FA7F;CJK COMPATIBILITY IDEOGRAPH-FA7F;Lo;0;L;5954;;;;N;;;;;
+FA80;CJK COMPATIBILITY IDEOGRAPH-FA80;Lo;0;L;5A62;;;;N;;;;;
+FA81;CJK COMPATIBILITY IDEOGRAPH-FA81;Lo;0;L;5B28;;;;N;;;;;
+FA82;CJK COMPATIBILITY IDEOGRAPH-FA82;Lo;0;L;5ED2;;;;N;;;;;
+FA83;CJK COMPATIBILITY IDEOGRAPH-FA83;Lo;0;L;5ED9;;;;N;;;;;
+FA84;CJK COMPATIBILITY IDEOGRAPH-FA84;Lo;0;L;5F69;;;;N;;;;;
+FA85;CJK COMPATIBILITY IDEOGRAPH-FA85;Lo;0;L;5FAD;;;;N;;;;;
+FA86;CJK COMPATIBILITY IDEOGRAPH-FA86;Lo;0;L;60D8;;;;N;;;;;
+FA87;CJK COMPATIBILITY IDEOGRAPH-FA87;Lo;0;L;614E;;;;N;;;;;
+FA88;CJK COMPATIBILITY IDEOGRAPH-FA88;Lo;0;L;6108;;;;N;;;;;
+FA89;CJK COMPATIBILITY IDEOGRAPH-FA89;Lo;0;L;618E;;;;N;;;;;
+FA8A;CJK COMPATIBILITY IDEOGRAPH-FA8A;Lo;0;L;6160;;;;N;;;;;
+FA8B;CJK COMPATIBILITY IDEOGRAPH-FA8B;Lo;0;L;61F2;;;;N;;;;;
+FA8C;CJK COMPATIBILITY IDEOGRAPH-FA8C;Lo;0;L;6234;;;;N;;;;;
+FA8D;CJK COMPATIBILITY IDEOGRAPH-FA8D;Lo;0;L;63C4;;;;N;;;;;
+FA8E;CJK COMPATIBILITY IDEOGRAPH-FA8E;Lo;0;L;641C;;;;N;;;;;
+FA8F;CJK COMPATIBILITY IDEOGRAPH-FA8F;Lo;0;L;6452;;;;N;;;;;
+FA90;CJK COMPATIBILITY IDEOGRAPH-FA90;Lo;0;L;6556;;;;N;;;;;
+FA91;CJK COMPATIBILITY IDEOGRAPH-FA91;Lo;0;L;6674;;;;N;;;;;
+FA92;CJK COMPATIBILITY IDEOGRAPH-FA92;Lo;0;L;6717;;;;N;;;;;
+FA93;CJK COMPATIBILITY IDEOGRAPH-FA93;Lo;0;L;671B;;;;N;;;;;
+FA94;CJK COMPATIBILITY IDEOGRAPH-FA94;Lo;0;L;6756;;;;N;;;;;
+FA95;CJK COMPATIBILITY IDEOGRAPH-FA95;Lo;0;L;6B79;;;;N;;;;;
+FA96;CJK COMPATIBILITY IDEOGRAPH-FA96;Lo;0;L;6BBA;;;;N;;;;;
+FA97;CJK COMPATIBILITY IDEOGRAPH-FA97;Lo;0;L;6D41;;;;N;;;;;
+FA98;CJK COMPATIBILITY IDEOGRAPH-FA98;Lo;0;L;6EDB;;;;N;;;;;
+FA99;CJK COMPATIBILITY IDEOGRAPH-FA99;Lo;0;L;6ECB;;;;N;;;;;
+FA9A;CJK COMPATIBILITY IDEOGRAPH-FA9A;Lo;0;L;6F22;;;;N;;;;;
+FA9B;CJK COMPATIBILITY IDEOGRAPH-FA9B;Lo;0;L;701E;;;;N;;;;;
+FA9C;CJK COMPATIBILITY IDEOGRAPH-FA9C;Lo;0;L;716E;;;;N;;;;;
+FA9D;CJK COMPATIBILITY IDEOGRAPH-FA9D;Lo;0;L;77A7;;;;N;;;;;
+FA9E;CJK COMPATIBILITY IDEOGRAPH-FA9E;Lo;0;L;7235;;;;N;;;;;
+FA9F;CJK COMPATIBILITY IDEOGRAPH-FA9F;Lo;0;L;72AF;;;;N;;;;;
+FAA0;CJK COMPATIBILITY IDEOGRAPH-FAA0;Lo;0;L;732A;;;;N;;;;;
+FAA1;CJK COMPATIBILITY IDEOGRAPH-FAA1;Lo;0;L;7471;;;;N;;;;;
+FAA2;CJK COMPATIBILITY IDEOGRAPH-FAA2;Lo;0;L;7506;;;;N;;;;;
+FAA3;CJK COMPATIBILITY IDEOGRAPH-FAA3;Lo;0;L;753B;;;;N;;;;;
+FAA4;CJK COMPATIBILITY IDEOGRAPH-FAA4;Lo;0;L;761D;;;;N;;;;;
+FAA5;CJK COMPATIBILITY IDEOGRAPH-FAA5;Lo;0;L;761F;;;;N;;;;;
+FAA6;CJK COMPATIBILITY IDEOGRAPH-FAA6;Lo;0;L;76CA;;;;N;;;;;
+FAA7;CJK COMPATIBILITY IDEOGRAPH-FAA7;Lo;0;L;76DB;;;;N;;;;;
+FAA8;CJK COMPATIBILITY IDEOGRAPH-FAA8;Lo;0;L;76F4;;;;N;;;;;
+FAA9;CJK COMPATIBILITY IDEOGRAPH-FAA9;Lo;0;L;774A;;;;N;;;;;
+FAAA;CJK COMPATIBILITY IDEOGRAPH-FAAA;Lo;0;L;7740;;;;N;;;;;
+FAAB;CJK COMPATIBILITY IDEOGRAPH-FAAB;Lo;0;L;78CC;;;;N;;;;;
+FAAC;CJK COMPATIBILITY IDEOGRAPH-FAAC;Lo;0;L;7AB1;;;;N;;;;;
+FAAD;CJK COMPATIBILITY IDEOGRAPH-FAAD;Lo;0;L;7BC0;;;;N;;;;;
+FAAE;CJK COMPATIBILITY IDEOGRAPH-FAAE;Lo;0;L;7C7B;;;;N;;;;;
+FAAF;CJK COMPATIBILITY IDEOGRAPH-FAAF;Lo;0;L;7D5B;;;;N;;;;;
+FAB0;CJK COMPATIBILITY IDEOGRAPH-FAB0;Lo;0;L;7DF4;;;;N;;;;;
+FAB1;CJK COMPATIBILITY IDEOGRAPH-FAB1;Lo;0;L;7F3E;;;;N;;;;;
+FAB2;CJK COMPATIBILITY IDEOGRAPH-FAB2;Lo;0;L;8005;;;;N;;;;;
+FAB3;CJK COMPATIBILITY IDEOGRAPH-FAB3;Lo;0;L;8352;;;;N;;;;;
+FAB4;CJK COMPATIBILITY IDEOGRAPH-FAB4;Lo;0;L;83EF;;;;N;;;;;
+FAB5;CJK COMPATIBILITY IDEOGRAPH-FAB5;Lo;0;L;8779;;;;N;;;;;
+FAB6;CJK COMPATIBILITY IDEOGRAPH-FAB6;Lo;0;L;8941;;;;N;;;;;
+FAB7;CJK COMPATIBILITY IDEOGRAPH-FAB7;Lo;0;L;8986;;;;N;;;;;
+FAB8;CJK COMPATIBILITY IDEOGRAPH-FAB8;Lo;0;L;8996;;;;N;;;;;
+FAB9;CJK COMPATIBILITY IDEOGRAPH-FAB9;Lo;0;L;8ABF;;;;N;;;;;
+FABA;CJK COMPATIBILITY IDEOGRAPH-FABA;Lo;0;L;8AF8;;;;N;;;;;
+FABB;CJK COMPATIBILITY IDEOGRAPH-FABB;Lo;0;L;8ACB;;;;N;;;;;
+FABC;CJK COMPATIBILITY IDEOGRAPH-FABC;Lo;0;L;8B01;;;;N;;;;;
+FABD;CJK COMPATIBILITY IDEOGRAPH-FABD;Lo;0;L;8AFE;;;;N;;;;;
+FABE;CJK COMPATIBILITY IDEOGRAPH-FABE;Lo;0;L;8AED;;;;N;;;;;
+FABF;CJK COMPATIBILITY IDEOGRAPH-FABF;Lo;0;L;8B39;;;;N;;;;;
+FAC0;CJK COMPATIBILITY IDEOGRAPH-FAC0;Lo;0;L;8B8A;;;;N;;;;;
+FAC1;CJK COMPATIBILITY IDEOGRAPH-FAC1;Lo;0;L;8D08;;;;N;;;;;
+FAC2;CJK COMPATIBILITY IDEOGRAPH-FAC2;Lo;0;L;8F38;;;;N;;;;;
+FAC3;CJK COMPATIBILITY IDEOGRAPH-FAC3;Lo;0;L;9072;;;;N;;;;;
+FAC4;CJK COMPATIBILITY IDEOGRAPH-FAC4;Lo;0;L;9199;;;;N;;;;;
+FAC5;CJK COMPATIBILITY IDEOGRAPH-FAC5;Lo;0;L;9276;;;;N;;;;;
+FAC6;CJK COMPATIBILITY IDEOGRAPH-FAC6;Lo;0;L;967C;;;;N;;;;;
+FAC7;CJK COMPATIBILITY IDEOGRAPH-FAC7;Lo;0;L;96E3;;;;N;;;;;
+FAC8;CJK COMPATIBILITY IDEOGRAPH-FAC8;Lo;0;L;9756;;;;N;;;;;
+FAC9;CJK COMPATIBILITY IDEOGRAPH-FAC9;Lo;0;L;97DB;;;;N;;;;;
+FACA;CJK COMPATIBILITY IDEOGRAPH-FACA;Lo;0;L;97FF;;;;N;;;;;
+FACB;CJK COMPATIBILITY IDEOGRAPH-FACB;Lo;0;L;980B;;;;N;;;;;
+FACC;CJK COMPATIBILITY IDEOGRAPH-FACC;Lo;0;L;983B;;;;N;;;;;
+FACD;CJK COMPATIBILITY IDEOGRAPH-FACD;Lo;0;L;9B12;;;;N;;;;;
+FACE;CJK COMPATIBILITY IDEOGRAPH-FACE;Lo;0;L;9F9C;;;;N;;;;;
+FACF;CJK COMPATIBILITY IDEOGRAPH-FACF;Lo;0;L;2284A;;;;N;;;;;
+FAD0;CJK COMPATIBILITY IDEOGRAPH-FAD0;Lo;0;L;22844;;;;N;;;;;
+FAD1;CJK COMPATIBILITY IDEOGRAPH-FAD1;Lo;0;L;233D5;;;;N;;;;;
+FAD2;CJK COMPATIBILITY IDEOGRAPH-FAD2;Lo;0;L;3B9D;;;;N;;;;;
+FAD3;CJK COMPATIBILITY IDEOGRAPH-FAD3;Lo;0;L;4018;;;;N;;;;;
+FAD4;CJK COMPATIBILITY IDEOGRAPH-FAD4;Lo;0;L;4039;;;;N;;;;;
+FAD5;CJK COMPATIBILITY IDEOGRAPH-FAD5;Lo;0;L;25249;;;;N;;;;;
+FAD6;CJK COMPATIBILITY IDEOGRAPH-FAD6;Lo;0;L;25CD0;;;;N;;;;;
+FAD7;CJK COMPATIBILITY IDEOGRAPH-FAD7;Lo;0;L;27ED3;;;;N;;;;;
+FAD8;CJK COMPATIBILITY IDEOGRAPH-FAD8;Lo;0;L;9F43;;;;N;;;;;
+FAD9;CJK COMPATIBILITY IDEOGRAPH-FAD9;Lo;0;L;9F8E;;;;N;;;;;
+FB00;LATIN SMALL LIGATURE FF;Ll;0;L;<compat> 0066 0066;;;;N;;;;;
+FB01;LATIN SMALL LIGATURE FI;Ll;0;L;<compat> 0066 0069;;;;N;;;;;
+FB02;LATIN SMALL LIGATURE FL;Ll;0;L;<compat> 0066 006C;;;;N;;;;;
+FB03;LATIN SMALL LIGATURE FFI;Ll;0;L;<compat> 0066 0066 0069;;;;N;;;;;
+FB04;LATIN SMALL LIGATURE FFL;Ll;0;L;<compat> 0066 0066 006C;;;;N;;;;;
+FB05;LATIN SMALL LIGATURE LONG S T;Ll;0;L;<compat> 017F 0074;;;;N;;;;;
+FB06;LATIN SMALL LIGATURE ST;Ll;0;L;<compat> 0073 0074;;;;N;;;;;
+FB13;ARMENIAN SMALL LIGATURE MEN NOW;Ll;0;L;<compat> 0574 0576;;;;N;;;;;
+FB14;ARMENIAN SMALL LIGATURE MEN ECH;Ll;0;L;<compat> 0574 0565;;;;N;;;;;
+FB15;ARMENIAN SMALL LIGATURE MEN INI;Ll;0;L;<compat> 0574 056B;;;;N;;;;;
+FB16;ARMENIAN SMALL LIGATURE VEW NOW;Ll;0;L;<compat> 057E 0576;;;;N;;;;;
+FB17;ARMENIAN SMALL LIGATURE MEN XEH;Ll;0;L;<compat> 0574 056D;;;;N;;;;;
+FB1D;HEBREW LETTER YOD WITH HIRIQ;Lo;0;R;05D9 05B4;;;;N;;;;;
+FB1E;HEBREW POINT JUDEO-SPANISH VARIKA;Mn;26;NSM;;;;;N;HEBREW POINT VARIKA;;;;
+FB1F;HEBREW LIGATURE YIDDISH YOD YOD PATAH;Lo;0;R;05F2 05B7;;;;N;;;;;
+FB20;HEBREW LETTER ALTERNATIVE AYIN;Lo;0;R;<font> 05E2;;;;N;;;;;
+FB21;HEBREW LETTER WIDE ALEF;Lo;0;R;<font> 05D0;;;;N;;;;;
+FB22;HEBREW LETTER WIDE DALET;Lo;0;R;<font> 05D3;;;;N;;;;;
+FB23;HEBREW LETTER WIDE HE;Lo;0;R;<font> 05D4;;;;N;;;;;
+FB24;HEBREW LETTER WIDE KAF;Lo;0;R;<font> 05DB;;;;N;;;;;
+FB25;HEBREW LETTER WIDE LAMED;Lo;0;R;<font> 05DC;;;;N;;;;;
+FB26;HEBREW LETTER WIDE FINAL MEM;Lo;0;R;<font> 05DD;;;;N;;;;;
+FB27;HEBREW LETTER WIDE RESH;Lo;0;R;<font> 05E8;;;;N;;;;;
+FB28;HEBREW LETTER WIDE TAV;Lo;0;R;<font> 05EA;;;;N;;;;;
+FB29;HEBREW LETTER ALTERNATIVE PLUS SIGN;Sm;0;ES;<font> 002B;;;;N;;;;;
+FB2A;HEBREW LETTER SHIN WITH SHIN DOT;Lo;0;R;05E9 05C1;;;;N;;;;;
+FB2B;HEBREW LETTER SHIN WITH SIN DOT;Lo;0;R;05E9 05C2;;;;N;;;;;
+FB2C;HEBREW LETTER SHIN WITH DAGESH AND SHIN DOT;Lo;0;R;FB49 05C1;;;;N;;;;;
+FB2D;HEBREW LETTER SHIN WITH DAGESH AND SIN DOT;Lo;0;R;FB49 05C2;;;;N;;;;;
+FB2E;HEBREW LETTER ALEF WITH PATAH;Lo;0;R;05D0 05B7;;;;N;;;;;
+FB2F;HEBREW LETTER ALEF WITH QAMATS;Lo;0;R;05D0 05B8;;;;N;;;;;
+FB30;HEBREW LETTER ALEF WITH MAPIQ;Lo;0;R;05D0 05BC;;;;N;;;;;
+FB31;HEBREW LETTER BET WITH DAGESH;Lo;0;R;05D1 05BC;;;;N;;;;;
+FB32;HEBREW LETTER GIMEL WITH DAGESH;Lo;0;R;05D2 05BC;;;;N;;;;;
+FB33;HEBREW LETTER DALET WITH DAGESH;Lo;0;R;05D3 05BC;;;;N;;;;;
+FB34;HEBREW LETTER HE WITH MAPIQ;Lo;0;R;05D4 05BC;;;;N;;;;;
+FB35;HEBREW LETTER VAV WITH DAGESH;Lo;0;R;05D5 05BC;;;;N;;;;;
+FB36;HEBREW LETTER ZAYIN WITH DAGESH;Lo;0;R;05D6 05BC;;;;N;;;;;
+FB38;HEBREW LETTER TET WITH DAGESH;Lo;0;R;05D8 05BC;;;;N;;;;;
+FB39;HEBREW LETTER YOD WITH DAGESH;Lo;0;R;05D9 05BC;;;;N;;;;;
+FB3A;HEBREW LETTER FINAL KAF WITH DAGESH;Lo;0;R;05DA 05BC;;;;N;;;;;
+FB3B;HEBREW LETTER KAF WITH DAGESH;Lo;0;R;05DB 05BC;;;;N;;;;;
+FB3C;HEBREW LETTER LAMED WITH DAGESH;Lo;0;R;05DC 05BC;;;;N;;;;;
+FB3E;HEBREW LETTER MEM WITH DAGESH;Lo;0;R;05DE 05BC;;;;N;;;;;
+FB40;HEBREW LETTER NUN WITH DAGESH;Lo;0;R;05E0 05BC;;;;N;;;;;
+FB41;HEBREW LETTER SAMEKH WITH DAGESH;Lo;0;R;05E1 05BC;;;;N;;;;;
+FB43;HEBREW LETTER FINAL PE WITH DAGESH;Lo;0;R;05E3 05BC;;;;N;;;;;
+FB44;HEBREW LETTER PE WITH DAGESH;Lo;0;R;05E4 05BC;;;;N;;;;;
+FB46;HEBREW LETTER TSADI WITH DAGESH;Lo;0;R;05E6 05BC;;;;N;;;;;
+FB47;HEBREW LETTER QOF WITH DAGESH;Lo;0;R;05E7 05BC;;;;N;;;;;
+FB48;HEBREW LETTER RESH WITH DAGESH;Lo;0;R;05E8 05BC;;;;N;;;;;
+FB49;HEBREW LETTER SHIN WITH DAGESH;Lo;0;R;05E9 05BC;;;;N;;;;;
+FB4A;HEBREW LETTER TAV WITH DAGESH;Lo;0;R;05EA 05BC;;;;N;;;;;
+FB4B;HEBREW LETTER VAV WITH HOLAM;Lo;0;R;05D5 05B9;;;;N;;;;;
+FB4C;HEBREW LETTER BET WITH RAFE;Lo;0;R;05D1 05BF;;;;N;;;;;
+FB4D;HEBREW LETTER KAF WITH RAFE;Lo;0;R;05DB 05BF;;;;N;;;;;
+FB4E;HEBREW LETTER PE WITH RAFE;Lo;0;R;05E4 05BF;;;;N;;;;;
+FB4F;HEBREW LIGATURE ALEF LAMED;Lo;0;R;<compat> 05D0 05DC;;;;N;;;;;
+FB50;ARABIC LETTER ALEF WASLA ISOLATED FORM;Lo;0;AL;<isolated> 0671;;;;N;;;;;
+FB51;ARABIC LETTER ALEF WASLA FINAL FORM;Lo;0;AL;<final> 0671;;;;N;;;;;
+FB52;ARABIC LETTER BEEH ISOLATED FORM;Lo;0;AL;<isolated> 067B;;;;N;;;;;
+FB53;ARABIC LETTER BEEH FINAL FORM;Lo;0;AL;<final> 067B;;;;N;;;;;
+FB54;ARABIC LETTER BEEH INITIAL FORM;Lo;0;AL;<initial> 067B;;;;N;;;;;
+FB55;ARABIC LETTER BEEH MEDIAL FORM;Lo;0;AL;<medial> 067B;;;;N;;;;;
+FB56;ARABIC LETTER PEH ISOLATED FORM;Lo;0;AL;<isolated> 067E;;;;N;;;;;
+FB57;ARABIC LETTER PEH FINAL FORM;Lo;0;AL;<final> 067E;;;;N;;;;;
+FB58;ARABIC LETTER PEH INITIAL FORM;Lo;0;AL;<initial> 067E;;;;N;;;;;
+FB59;ARABIC LETTER PEH MEDIAL FORM;Lo;0;AL;<medial> 067E;;;;N;;;;;
+FB5A;ARABIC LETTER BEHEH ISOLATED FORM;Lo;0;AL;<isolated> 0680;;;;N;;;;;
+FB5B;ARABIC LETTER BEHEH FINAL FORM;Lo;0;AL;<final> 0680;;;;N;;;;;
+FB5C;ARABIC LETTER BEHEH INITIAL FORM;Lo;0;AL;<initial> 0680;;;;N;;;;;
+FB5D;ARABIC LETTER BEHEH MEDIAL FORM;Lo;0;AL;<medial> 0680;;;;N;;;;;
+FB5E;ARABIC LETTER TTEHEH ISOLATED FORM;Lo;0;AL;<isolated> 067A;;;;N;;;;;
+FB5F;ARABIC LETTER TTEHEH FINAL FORM;Lo;0;AL;<final> 067A;;;;N;;;;;
+FB60;ARABIC LETTER TTEHEH INITIAL FORM;Lo;0;AL;<initial> 067A;;;;N;;;;;
+FB61;ARABIC LETTER TTEHEH MEDIAL FORM;Lo;0;AL;<medial> 067A;;;;N;;;;;
+FB62;ARABIC LETTER TEHEH ISOLATED FORM;Lo;0;AL;<isolated> 067F;;;;N;;;;;
+FB63;ARABIC LETTER TEHEH FINAL FORM;Lo;0;AL;<final> 067F;;;;N;;;;;
+FB64;ARABIC LETTER TEHEH INITIAL FORM;Lo;0;AL;<initial> 067F;;;;N;;;;;
+FB65;ARABIC LETTER TEHEH MEDIAL FORM;Lo;0;AL;<medial> 067F;;;;N;;;;;
+FB66;ARABIC LETTER TTEH ISOLATED FORM;Lo;0;AL;<isolated> 0679;;;;N;;;;;
+FB67;ARABIC LETTER TTEH FINAL FORM;Lo;0;AL;<final> 0679;;;;N;;;;;
+FB68;ARABIC LETTER TTEH INITIAL FORM;Lo;0;AL;<initial> 0679;;;;N;;;;;
+FB69;ARABIC LETTER TTEH MEDIAL FORM;Lo;0;AL;<medial> 0679;;;;N;;;;;
+FB6A;ARABIC LETTER VEH ISOLATED FORM;Lo;0;AL;<isolated> 06A4;;;;N;;;;;
+FB6B;ARABIC LETTER VEH FINAL FORM;Lo;0;AL;<final> 06A4;;;;N;;;;;
+FB6C;ARABIC LETTER VEH INITIAL FORM;Lo;0;AL;<initial> 06A4;;;;N;;;;;
+FB6D;ARABIC LETTER VEH MEDIAL FORM;Lo;0;AL;<medial> 06A4;;;;N;;;;;
+FB6E;ARABIC LETTER PEHEH ISOLATED FORM;Lo;0;AL;<isolated> 06A6;;;;N;;;;;
+FB6F;ARABIC LETTER PEHEH FINAL FORM;Lo;0;AL;<final> 06A6;;;;N;;;;;
+FB70;ARABIC LETTER PEHEH INITIAL FORM;Lo;0;AL;<initial> 06A6;;;;N;;;;;
+FB71;ARABIC LETTER PEHEH MEDIAL FORM;Lo;0;AL;<medial> 06A6;;;;N;;;;;
+FB72;ARABIC LETTER DYEH ISOLATED FORM;Lo;0;AL;<isolated> 0684;;;;N;;;;;
+FB73;ARABIC LETTER DYEH FINAL FORM;Lo;0;AL;<final> 0684;;;;N;;;;;
+FB74;ARABIC LETTER DYEH INITIAL FORM;Lo;0;AL;<initial> 0684;;;;N;;;;;
+FB75;ARABIC LETTER DYEH MEDIAL FORM;Lo;0;AL;<medial> 0684;;;;N;;;;;
+FB76;ARABIC LETTER NYEH ISOLATED FORM;Lo;0;AL;<isolated> 0683;;;;N;;;;;
+FB77;ARABIC LETTER NYEH FINAL FORM;Lo;0;AL;<final> 0683;;;;N;;;;;
+FB78;ARABIC LETTER NYEH INITIAL FORM;Lo;0;AL;<initial> 0683;;;;N;;;;;
+FB79;ARABIC LETTER NYEH MEDIAL FORM;Lo;0;AL;<medial> 0683;;;;N;;;;;
+FB7A;ARABIC LETTER TCHEH ISOLATED FORM;Lo;0;AL;<isolated> 0686;;;;N;;;;;
+FB7B;ARABIC LETTER TCHEH FINAL FORM;Lo;0;AL;<final> 0686;;;;N;;;;;
+FB7C;ARABIC LETTER TCHEH INITIAL FORM;Lo;0;AL;<initial> 0686;;;;N;;;;;
+FB7D;ARABIC LETTER TCHEH MEDIAL FORM;Lo;0;AL;<medial> 0686;;;;N;;;;;
+FB7E;ARABIC LETTER TCHEHEH ISOLATED FORM;Lo;0;AL;<isolated> 0687;;;;N;;;;;
+FB7F;ARABIC LETTER TCHEHEH FINAL FORM;Lo;0;AL;<final> 0687;;;;N;;;;;
+FB80;ARABIC LETTER TCHEHEH INITIAL FORM;Lo;0;AL;<initial> 0687;;;;N;;;;;
+FB81;ARABIC LETTER TCHEHEH MEDIAL FORM;Lo;0;AL;<medial> 0687;;;;N;;;;;
+FB82;ARABIC LETTER DDAHAL ISOLATED FORM;Lo;0;AL;<isolated> 068D;;;;N;;;;;
+FB83;ARABIC LETTER DDAHAL FINAL FORM;Lo;0;AL;<final> 068D;;;;N;;;;;
+FB84;ARABIC LETTER DAHAL ISOLATED FORM;Lo;0;AL;<isolated> 068C;;;;N;;;;;
+FB85;ARABIC LETTER DAHAL FINAL FORM;Lo;0;AL;<final> 068C;;;;N;;;;;
+FB86;ARABIC LETTER DUL ISOLATED FORM;Lo;0;AL;<isolated> 068E;;;;N;;;;;
+FB87;ARABIC LETTER DUL FINAL FORM;Lo;0;AL;<final> 068E;;;;N;;;;;
+FB88;ARABIC LETTER DDAL ISOLATED FORM;Lo;0;AL;<isolated> 0688;;;;N;;;;;
+FB89;ARABIC LETTER DDAL FINAL FORM;Lo;0;AL;<final> 0688;;;;N;;;;;
+FB8A;ARABIC LETTER JEH ISOLATED FORM;Lo;0;AL;<isolated> 0698;;;;N;;;;;
+FB8B;ARABIC LETTER JEH FINAL FORM;Lo;0;AL;<final> 0698;;;;N;;;;;
+FB8C;ARABIC LETTER RREH ISOLATED FORM;Lo;0;AL;<isolated> 0691;;;;N;;;;;
+FB8D;ARABIC LETTER RREH FINAL FORM;Lo;0;AL;<final> 0691;;;;N;;;;;
+FB8E;ARABIC LETTER KEHEH ISOLATED FORM;Lo;0;AL;<isolated> 06A9;;;;N;;;;;
+FB8F;ARABIC LETTER KEHEH FINAL FORM;Lo;0;AL;<final> 06A9;;;;N;;;;;
+FB90;ARABIC LETTER KEHEH INITIAL FORM;Lo;0;AL;<initial> 06A9;;;;N;;;;;
+FB91;ARABIC LETTER KEHEH MEDIAL FORM;Lo;0;AL;<medial> 06A9;;;;N;;;;;
+FB92;ARABIC LETTER GAF ISOLATED FORM;Lo;0;AL;<isolated> 06AF;;;;N;;;;;
+FB93;ARABIC LETTER GAF FINAL FORM;Lo;0;AL;<final> 06AF;;;;N;;;;;
+FB94;ARABIC LETTER GAF INITIAL FORM;Lo;0;AL;<initial> 06AF;;;;N;;;;;
+FB95;ARABIC LETTER GAF MEDIAL FORM;Lo;0;AL;<medial> 06AF;;;;N;;;;;
+FB96;ARABIC LETTER GUEH ISOLATED FORM;Lo;0;AL;<isolated> 06B3;;;;N;;;;;
+FB97;ARABIC LETTER GUEH FINAL FORM;Lo;0;AL;<final> 06B3;;;;N;;;;;
+FB98;ARABIC LETTER GUEH INITIAL FORM;Lo;0;AL;<initial> 06B3;;;;N;;;;;
+FB99;ARABIC LETTER GUEH MEDIAL FORM;Lo;0;AL;<medial> 06B3;;;;N;;;;;
+FB9A;ARABIC LETTER NGOEH ISOLATED FORM;Lo;0;AL;<isolated> 06B1;;;;N;;;;;
+FB9B;ARABIC LETTER NGOEH FINAL FORM;Lo;0;AL;<final> 06B1;;;;N;;;;;
+FB9C;ARABIC LETTER NGOEH INITIAL FORM;Lo;0;AL;<initial> 06B1;;;;N;;;;;
+FB9D;ARABIC LETTER NGOEH MEDIAL FORM;Lo;0;AL;<medial> 06B1;;;;N;;;;;
+FB9E;ARABIC LETTER NOON GHUNNA ISOLATED FORM;Lo;0;AL;<isolated> 06BA;;;;N;;;;;
+FB9F;ARABIC LETTER NOON GHUNNA FINAL FORM;Lo;0;AL;<final> 06BA;;;;N;;;;;
+FBA0;ARABIC LETTER RNOON ISOLATED FORM;Lo;0;AL;<isolated> 06BB;;;;N;;;;;
+FBA1;ARABIC LETTER RNOON FINAL FORM;Lo;0;AL;<final> 06BB;;;;N;;;;;
+FBA2;ARABIC LETTER RNOON INITIAL FORM;Lo;0;AL;<initial> 06BB;;;;N;;;;;
+FBA3;ARABIC LETTER RNOON MEDIAL FORM;Lo;0;AL;<medial> 06BB;;;;N;;;;;
+FBA4;ARABIC LETTER HEH WITH YEH ABOVE ISOLATED FORM;Lo;0;AL;<isolated> 06C0;;;;N;;;;;
+FBA5;ARABIC LETTER HEH WITH YEH ABOVE FINAL FORM;Lo;0;AL;<final> 06C0;;;;N;;;;;
+FBA6;ARABIC LETTER HEH GOAL ISOLATED FORM;Lo;0;AL;<isolated> 06C1;;;;N;;;;;
+FBA7;ARABIC LETTER HEH GOAL FINAL FORM;Lo;0;AL;<final> 06C1;;;;N;;;;;
+FBA8;ARABIC LETTER HEH GOAL INITIAL FORM;Lo;0;AL;<initial> 06C1;;;;N;;;;;
+FBA9;ARABIC LETTER HEH GOAL MEDIAL FORM;Lo;0;AL;<medial> 06C1;;;;N;;;;;
+FBAA;ARABIC LETTER HEH DOACHASHMEE ISOLATED FORM;Lo;0;AL;<isolated> 06BE;;;;N;;;;;
+FBAB;ARABIC LETTER HEH DOACHASHMEE FINAL FORM;Lo;0;AL;<final> 06BE;;;;N;;;;;
+FBAC;ARABIC LETTER HEH DOACHASHMEE INITIAL FORM;Lo;0;AL;<initial> 06BE;;;;N;;;;;
+FBAD;ARABIC LETTER HEH DOACHASHMEE MEDIAL FORM;Lo;0;AL;<medial> 06BE;;;;N;;;;;
+FBAE;ARABIC LETTER YEH BARREE ISOLATED FORM;Lo;0;AL;<isolated> 06D2;;;;N;;;;;
+FBAF;ARABIC LETTER YEH BARREE FINAL FORM;Lo;0;AL;<final> 06D2;;;;N;;;;;
+FBB0;ARABIC LETTER YEH BARREE WITH HAMZA ABOVE ISOLATED FORM;Lo;0;AL;<isolated> 06D3;;;;N;;;;;
+FBB1;ARABIC LETTER YEH BARREE WITH HAMZA ABOVE FINAL FORM;Lo;0;AL;<final> 06D3;;;;N;;;;;
+FBD3;ARABIC LETTER NG ISOLATED FORM;Lo;0;AL;<isolated> 06AD;;;;N;;;;;
+FBD4;ARABIC LETTER NG FINAL FORM;Lo;0;AL;<final> 06AD;;;;N;;;;;
+FBD5;ARABIC LETTER NG INITIAL FORM;Lo;0;AL;<initial> 06AD;;;;N;;;;;
+FBD6;ARABIC LETTER NG MEDIAL FORM;Lo;0;AL;<medial> 06AD;;;;N;;;;;
+FBD7;ARABIC LETTER U ISOLATED FORM;Lo;0;AL;<isolated> 06C7;;;;N;;;;;
+FBD8;ARABIC LETTER U FINAL FORM;Lo;0;AL;<final> 06C7;;;;N;;;;;
+FBD9;ARABIC LETTER OE ISOLATED FORM;Lo;0;AL;<isolated> 06C6;;;;N;;;;;
+FBDA;ARABIC LETTER OE FINAL FORM;Lo;0;AL;<final> 06C6;;;;N;;;;;
+FBDB;ARABIC LETTER YU ISOLATED FORM;Lo;0;AL;<isolated> 06C8;;;;N;;;;;
+FBDC;ARABIC LETTER YU FINAL FORM;Lo;0;AL;<final> 06C8;;;;N;;;;;
+FBDD;ARABIC LETTER U WITH HAMZA ABOVE ISOLATED FORM;Lo;0;AL;<isolated> 0677;;;;N;;;;;
+FBDE;ARABIC LETTER VE ISOLATED FORM;Lo;0;AL;<isolated> 06CB;;;;N;;;;;
+FBDF;ARABIC LETTER VE FINAL FORM;Lo;0;AL;<final> 06CB;;;;N;;;;;
+FBE0;ARABIC LETTER KIRGHIZ OE ISOLATED FORM;Lo;0;AL;<isolated> 06C5;;;;N;;;;;
+FBE1;ARABIC LETTER KIRGHIZ OE FINAL FORM;Lo;0;AL;<final> 06C5;;;;N;;;;;
+FBE2;ARABIC LETTER KIRGHIZ YU ISOLATED FORM;Lo;0;AL;<isolated> 06C9;;;;N;;;;;
+FBE3;ARABIC LETTER KIRGHIZ YU FINAL FORM;Lo;0;AL;<final> 06C9;;;;N;;;;;
+FBE4;ARABIC LETTER E ISOLATED FORM;Lo;0;AL;<isolated> 06D0;;;;N;;;;;
+FBE5;ARABIC LETTER E FINAL FORM;Lo;0;AL;<final> 06D0;;;;N;;;;;
+FBE6;ARABIC LETTER E INITIAL FORM;Lo;0;AL;<initial> 06D0;;;;N;;;;;
+FBE7;ARABIC LETTER E MEDIAL FORM;Lo;0;AL;<medial> 06D0;;;;N;;;;;
+FBE8;ARABIC LETTER UIGHUR KAZAKH KIRGHIZ ALEF MAKSURA INITIAL FORM;Lo;0;AL;<initial> 0649;;;;N;;;;;
+FBE9;ARABIC LETTER UIGHUR KAZAKH KIRGHIZ ALEF MAKSURA MEDIAL FORM;Lo;0;AL;<medial> 0649;;;;N;;;;;
+FBEA;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF ISOLATED FORM;Lo;0;AL;<isolated> 0626 0627;;;;N;;;;;
+FBEB;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF FINAL FORM;Lo;0;AL;<final> 0626 0627;;;;N;;;;;
+FBEC;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH AE ISOLATED FORM;Lo;0;AL;<isolated> 0626 06D5;;;;N;;;;;
+FBED;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH AE FINAL FORM;Lo;0;AL;<final> 0626 06D5;;;;N;;;;;
+FBEE;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH WAW ISOLATED FORM;Lo;0;AL;<isolated> 0626 0648;;;;N;;;;;
+FBEF;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH WAW FINAL FORM;Lo;0;AL;<final> 0626 0648;;;;N;;;;;
+FBF0;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH U ISOLATED FORM;Lo;0;AL;<isolated> 0626 06C7;;;;N;;;;;
+FBF1;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH U FINAL FORM;Lo;0;AL;<final> 0626 06C7;;;;N;;;;;
+FBF2;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH OE ISOLATED FORM;Lo;0;AL;<isolated> 0626 06C6;;;;N;;;;;
+FBF3;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH OE FINAL FORM;Lo;0;AL;<final> 0626 06C6;;;;N;;;;;
+FBF4;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YU ISOLATED FORM;Lo;0;AL;<isolated> 0626 06C8;;;;N;;;;;
+FBF5;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YU FINAL FORM;Lo;0;AL;<final> 0626 06C8;;;;N;;;;;
+FBF6;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH E ISOLATED FORM;Lo;0;AL;<isolated> 0626 06D0;;;;N;;;;;
+FBF7;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH E FINAL FORM;Lo;0;AL;<final> 0626 06D0;;;;N;;;;;
+FBF8;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH E INITIAL FORM;Lo;0;AL;<initial> 0626 06D0;;;;N;;;;;
+FBF9;ARABIC LIGATURE UIGHUR KIRGHIZ YEH WITH HAMZA ABOVE WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL;<isolated> 0626 0649;;;;N;;;;;
+FBFA;ARABIC LIGATURE UIGHUR KIRGHIZ YEH WITH HAMZA ABOVE WITH ALEF MAKSURA FINAL FORM;Lo;0;AL;<final> 0626 0649;;;;N;;;;;
+FBFB;ARABIC LIGATURE UIGHUR KIRGHIZ YEH WITH HAMZA ABOVE WITH ALEF MAKSURA INITIAL FORM;Lo;0;AL;<initial> 0626 0649;;;;N;;;;;
+FBFC;ARABIC LETTER FARSI YEH ISOLATED FORM;Lo;0;AL;<isolated> 06CC;;;;N;;;;;
+FBFD;ARABIC LETTER FARSI YEH FINAL FORM;Lo;0;AL;<final> 06CC;;;;N;;;;;
+FBFE;ARABIC LETTER FARSI YEH INITIAL FORM;Lo;0;AL;<initial> 06CC;;;;N;;;;;
+FBFF;ARABIC LETTER FARSI YEH MEDIAL FORM;Lo;0;AL;<medial> 06CC;;;;N;;;;;
+FC00;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH JEEM ISOLATED FORM;Lo;0;AL;<isolated> 0626 062C;;;;N;;;;;
+FC01;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HAH ISOLATED FORM;Lo;0;AL;<isolated> 0626 062D;;;;N;;;;;
+FC02;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM ISOLATED FORM;Lo;0;AL;<isolated> 0626 0645;;;;N;;;;;
+FC03;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL;<isolated> 0626 0649;;;;N;;;;;
+FC04;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YEH ISOLATED FORM;Lo;0;AL;<isolated> 0626 064A;;;;N;;;;;
+FC05;ARABIC LIGATURE BEH WITH JEEM ISOLATED FORM;Lo;0;AL;<isolated> 0628 062C;;;;N;;;;;
+FC06;ARABIC LIGATURE BEH WITH HAH ISOLATED FORM;Lo;0;AL;<isolated> 0628 062D;;;;N;;;;;
+FC07;ARABIC LIGATURE BEH WITH KHAH ISOLATED FORM;Lo;0;AL;<isolated> 0628 062E;;;;N;;;;;
+FC08;ARABIC LIGATURE BEH WITH MEEM ISOLATED FORM;Lo;0;AL;<isolated> 0628 0645;;;;N;;;;;
+FC09;ARABIC LIGATURE BEH WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL;<isolated> 0628 0649;;;;N;;;;;
+FC0A;ARABIC LIGATURE BEH WITH YEH ISOLATED FORM;Lo;0;AL;<isolated> 0628 064A;;;;N;;;;;
+FC0B;ARABIC LIGATURE TEH WITH JEEM ISOLATED FORM;Lo;0;AL;<isolated> 062A 062C;;;;N;;;;;
+FC0C;ARABIC LIGATURE TEH WITH HAH ISOLATED FORM;Lo;0;AL;<isolated> 062A 062D;;;;N;;;;;
+FC0D;ARABIC LIGATURE TEH WITH KHAH ISOLATED FORM;Lo;0;AL;<isolated> 062A 062E;;;;N;;;;;
+FC0E;ARABIC LIGATURE TEH WITH MEEM ISOLATED FORM;Lo;0;AL;<isolated> 062A 0645;;;;N;;;;;
+FC0F;ARABIC LIGATURE TEH WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL;<isolated> 062A 0649;;;;N;;;;;
+FC10;ARABIC LIGATURE TEH WITH YEH ISOLATED FORM;Lo;0;AL;<isolated> 062A 064A;;;;N;;;;;
+FC11;ARABIC LIGATURE THEH WITH JEEM ISOLATED FORM;Lo;0;AL;<isolated> 062B 062C;;;;N;;;;;
+FC12;ARABIC LIGATURE THEH WITH MEEM ISOLATED FORM;Lo;0;AL;<isolated> 062B 0645;;;;N;;;;;
+FC13;ARABIC LIGATURE THEH WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL;<isolated> 062B 0649;;;;N;;;;;
+FC14;ARABIC LIGATURE THEH WITH YEH ISOLATED FORM;Lo;0;AL;<isolated> 062B 064A;;;;N;;;;;
+FC15;ARABIC LIGATURE JEEM WITH HAH ISOLATED FORM;Lo;0;AL;<isolated> 062C 062D;;;;N;;;;;
+FC16;ARABIC LIGATURE JEEM WITH MEEM ISOLATED FORM;Lo;0;AL;<isolated> 062C 0645;;;;N;;;;;
+FC17;ARABIC LIGATURE HAH WITH JEEM ISOLATED FORM;Lo;0;AL;<isolated> 062D 062C;;;;N;;;;;
+FC18;ARABIC LIGATURE HAH WITH MEEM ISOLATED FORM;Lo;0;AL;<isolated> 062D 0645;;;;N;;;;;
+FC19;ARABIC LIGATURE KHAH WITH JEEM ISOLATED FORM;Lo;0;AL;<isolated> 062E 062C;;;;N;;;;;
+FC1A;ARABIC LIGATURE KHAH WITH HAH ISOLATED FORM;Lo;0;AL;<isolated> 062E 062D;;;;N;;;;;
+FC1B;ARABIC LIGATURE KHAH WITH MEEM ISOLATED FORM;Lo;0;AL;<isolated> 062E 0645;;;;N;;;;;
+FC1C;ARABIC LIGATURE SEEN WITH JEEM ISOLATED FORM;Lo;0;AL;<isolated> 0633 062C;;;;N;;;;;
+FC1D;ARABIC LIGATURE SEEN WITH HAH ISOLATED FORM;Lo;0;AL;<isolated> 0633 062D;;;;N;;;;;
+FC1E;ARABIC LIGATURE SEEN WITH KHAH ISOLATED FORM;Lo;0;AL;<isolated> 0633 062E;;;;N;;;;;
+FC1F;ARABIC LIGATURE SEEN WITH MEEM ISOLATED FORM;Lo;0;AL;<isolated> 0633 0645;;;;N;;;;;
+FC20;ARABIC LIGATURE SAD WITH HAH ISOLATED FORM;Lo;0;AL;<isolated> 0635 062D;;;;N;;;;;
+FC21;ARABIC LIGATURE SAD WITH MEEM ISOLATED FORM;Lo;0;AL;<isolated> 0635 0645;;;;N;;;;;
+FC22;ARABIC LIGATURE DAD WITH JEEM ISOLATED FORM;Lo;0;AL;<isolated> 0636 062C;;;;N;;;;;
+FC23;ARABIC LIGATURE DAD WITH HAH ISOLATED FORM;Lo;0;AL;<isolated> 0636 062D;;;;N;;;;;
+FC24;ARABIC LIGATURE DAD WITH KHAH ISOLATED FORM;Lo;0;AL;<isolated> 0636 062E;;;;N;;;;;
+FC25;ARABIC LIGATURE DAD WITH MEEM ISOLATED FORM;Lo;0;AL;<isolated> 0636 0645;;;;N;;;;;
+FC26;ARABIC LIGATURE TAH WITH HAH ISOLATED FORM;Lo;0;AL;<isolated> 0637 062D;;;;N;;;;;
+FC27;ARABIC LIGATURE TAH WITH MEEM ISOLATED FORM;Lo;0;AL;<isolated> 0637 0645;;;;N;;;;;
+FC28;ARABIC LIGATURE ZAH WITH MEEM ISOLATED FORM;Lo;0;AL;<isolated> 0638 0645;;;;N;;;;;
+FC29;ARABIC LIGATURE AIN WITH JEEM ISOLATED FORM;Lo;0;AL;<isolated> 0639 062C;;;;N;;;;;
+FC2A;ARABIC LIGATURE AIN WITH MEEM ISOLATED FORM;Lo;0;AL;<isolated> 0639 0645;;;;N;;;;;
+FC2B;ARABIC LIGATURE GHAIN WITH JEEM ISOLATED FORM;Lo;0;AL;<isolated> 063A 062C;;;;N;;;;;
+FC2C;ARABIC LIGATURE GHAIN WITH MEEM ISOLATED FORM;Lo;0;AL;<isolated> 063A 0645;;;;N;;;;;
+FC2D;ARABIC LIGATURE FEH WITH JEEM ISOLATED FORM;Lo;0;AL;<isolated> 0641 062C;;;;N;;;;;
+FC2E;ARABIC LIGATURE FEH WITH HAH ISOLATED FORM;Lo;0;AL;<isolated> 0641 062D;;;;N;;;;;
+FC2F;ARABIC LIGATURE FEH WITH KHAH ISOLATED FORM;Lo;0;AL;<isolated> 0641 062E;;;;N;;;;;
+FC30;ARABIC LIGATURE FEH WITH MEEM ISOLATED FORM;Lo;0;AL;<isolated> 0641 0645;;;;N;;;;;
+FC31;ARABIC LIGATURE FEH WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL;<isolated> 0641 0649;;;;N;;;;;
+FC32;ARABIC LIGATURE FEH WITH YEH ISOLATED FORM;Lo;0;AL;<isolated> 0641 064A;;;;N;;;;;
+FC33;ARABIC LIGATURE QAF WITH HAH ISOLATED FORM;Lo;0;AL;<isolated> 0642 062D;;;;N;;;;;
+FC34;ARABIC LIGATURE QAF WITH MEEM ISOLATED FORM;Lo;0;AL;<isolated> 0642 0645;;;;N;;;;;
+FC35;ARABIC LIGATURE QAF WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL;<isolated> 0642 0649;;;;N;;;;;
+FC36;ARABIC LIGATURE QAF WITH YEH ISOLATED FORM;Lo;0;AL;<isolated> 0642 064A;;;;N;;;;;
+FC37;ARABIC LIGATURE KAF WITH ALEF ISOLATED FORM;Lo;0;AL;<isolated> 0643 0627;;;;N;;;;;
+FC38;ARABIC LIGATURE KAF WITH JEEM ISOLATED FORM;Lo;0;AL;<isolated> 0643 062C;;;;N;;;;;
+FC39;ARABIC LIGATURE KAF WITH HAH ISOLATED FORM;Lo;0;AL;<isolated> 0643 062D;;;;N;;;;;
+FC3A;ARABIC LIGATURE KAF WITH KHAH ISOLATED FORM;Lo;0;AL;<isolated> 0643 062E;;;;N;;;;;
+FC3B;ARABIC LIGATURE KAF WITH LAM ISOLATED FORM;Lo;0;AL;<isolated> 0643 0644;;;;N;;;;;
+FC3C;ARABIC LIGATURE KAF WITH MEEM ISOLATED FORM;Lo;0;AL;<isolated> 0643 0645;;;;N;;;;;
+FC3D;ARABIC LIGATURE KAF WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL;<isolated> 0643 0649;;;;N;;;;;
+FC3E;ARABIC LIGATURE KAF WITH YEH ISOLATED FORM;Lo;0;AL;<isolated> 0643 064A;;;;N;;;;;
+FC3F;ARABIC LIGATURE LAM WITH JEEM ISOLATED FORM;Lo;0;AL;<isolated> 0644 062C;;;;N;;;;;
+FC40;ARABIC LIGATURE LAM WITH HAH ISOLATED FORM;Lo;0;AL;<isolated> 0644 062D;;;;N;;;;;
+FC41;ARABIC LIGATURE LAM WITH KHAH ISOLATED FORM;Lo;0;AL;<isolated> 0644 062E;;;;N;;;;;
+FC42;ARABIC LIGATURE LAM WITH MEEM ISOLATED FORM;Lo;0;AL;<isolated> 0644 0645;;;;N;;;;;
+FC43;ARABIC LIGATURE LAM WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL;<isolated> 0644 0649;;;;N;;;;;
+FC44;ARABIC LIGATURE LAM WITH YEH ISOLATED FORM;Lo;0;AL;<isolated> 0644 064A;;;;N;;;;;
+FC45;ARABIC LIGATURE MEEM WITH JEEM ISOLATED FORM;Lo;0;AL;<isolated> 0645 062C;;;;N;;;;;
+FC46;ARABIC LIGATURE MEEM WITH HAH ISOLATED FORM;Lo;0;AL;<isolated> 0645 062D;;;;N;;;;;
+FC47;ARABIC LIGATURE MEEM WITH KHAH ISOLATED FORM;Lo;0;AL;<isolated> 0645 062E;;;;N;;;;;
+FC48;ARABIC LIGATURE MEEM WITH MEEM ISOLATED FORM;Lo;0;AL;<isolated> 0645 0645;;;;N;;;;;
+FC49;ARABIC LIGATURE MEEM WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL;<isolated> 0645 0649;;;;N;;;;;
+FC4A;ARABIC LIGATURE MEEM WITH YEH ISOLATED FORM;Lo;0;AL;<isolated> 0645 064A;;;;N;;;;;
+FC4B;ARABIC LIGATURE NOON WITH JEEM ISOLATED FORM;Lo;0;AL;<isolated> 0646 062C;;;;N;;;;;
+FC4C;ARABIC LIGATURE NOON WITH HAH ISOLATED FORM;Lo;0;AL;<isolated> 0646 062D;;;;N;;;;;
+FC4D;ARABIC LIGATURE NOON WITH KHAH ISOLATED FORM;Lo;0;AL;<isolated> 0646 062E;;;;N;;;;;
+FC4E;ARABIC LIGATURE NOON WITH MEEM ISOLATED FORM;Lo;0;AL;<isolated> 0646 0645;;;;N;;;;;
+FC4F;ARABIC LIGATURE NOON WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL;<isolated> 0646 0649;;;;N;;;;;
+FC50;ARABIC LIGATURE NOON WITH YEH ISOLATED FORM;Lo;0;AL;<isolated> 0646 064A;;;;N;;;;;
+FC51;ARABIC LIGATURE HEH WITH JEEM ISOLATED FORM;Lo;0;AL;<isolated> 0647 062C;;;;N;;;;;
+FC52;ARABIC LIGATURE HEH WITH MEEM ISOLATED FORM;Lo;0;AL;<isolated> 0647 0645;;;;N;;;;;
+FC53;ARABIC LIGATURE HEH WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL;<isolated> 0647 0649;;;;N;;;;;
+FC54;ARABIC LIGATURE HEH WITH YEH ISOLATED FORM;Lo;0;AL;<isolated> 0647 064A;;;;N;;;;;
+FC55;ARABIC LIGATURE YEH WITH JEEM ISOLATED FORM;Lo;0;AL;<isolated> 064A 062C;;;;N;;;;;
+FC56;ARABIC LIGATURE YEH WITH HAH ISOLATED FORM;Lo;0;AL;<isolated> 064A 062D;;;;N;;;;;
+FC57;ARABIC LIGATURE YEH WITH KHAH ISOLATED FORM;Lo;0;AL;<isolated> 064A 062E;;;;N;;;;;
+FC58;ARABIC LIGATURE YEH WITH MEEM ISOLATED FORM;Lo;0;AL;<isolated> 064A 0645;;;;N;;;;;
+FC59;ARABIC LIGATURE YEH WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL;<isolated> 064A 0649;;;;N;;;;;
+FC5A;ARABIC LIGATURE YEH WITH YEH ISOLATED FORM;Lo;0;AL;<isolated> 064A 064A;;;;N;;;;;
+FC5B;ARABIC LIGATURE THAL WITH SUPERSCRIPT ALEF ISOLATED FORM;Lo;0;AL;<isolated> 0630 0670;;;;N;;;;;
+FC5C;ARABIC LIGATURE REH WITH SUPERSCRIPT ALEF ISOLATED FORM;Lo;0;AL;<isolated> 0631 0670;;;;N;;;;;
+FC5D;ARABIC LIGATURE ALEF MAKSURA WITH SUPERSCRIPT ALEF ISOLATED FORM;Lo;0;AL;<isolated> 0649 0670;;;;N;;;;;
+FC5E;ARABIC LIGATURE SHADDA WITH DAMMATAN ISOLATED FORM;Lo;0;AL;<isolated> 0020 064C 0651;;;;N;;;;;
+FC5F;ARABIC LIGATURE SHADDA WITH KASRATAN ISOLATED FORM;Lo;0;AL;<isolated> 0020 064D 0651;;;;N;;;;;
+FC60;ARABIC LIGATURE SHADDA WITH FATHA ISOLATED FORM;Lo;0;AL;<isolated> 0020 064E 0651;;;;N;;;;;
+FC61;ARABIC LIGATURE SHADDA WITH DAMMA ISOLATED FORM;Lo;0;AL;<isolated> 0020 064F 0651;;;;N;;;;;
+FC62;ARABIC LIGATURE SHADDA WITH KASRA ISOLATED FORM;Lo;0;AL;<isolated> 0020 0650 0651;;;;N;;;;;
+FC63;ARABIC LIGATURE SHADDA WITH SUPERSCRIPT ALEF ISOLATED FORM;Lo;0;AL;<isolated> 0020 0651 0670;;;;N;;;;;
+FC64;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH REH FINAL FORM;Lo;0;AL;<final> 0626 0631;;;;N;;;;;
+FC65;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ZAIN FINAL FORM;Lo;0;AL;<final> 0626 0632;;;;N;;;;;
+FC66;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM FINAL FORM;Lo;0;AL;<final> 0626 0645;;;;N;;;;;
+FC67;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH NOON FINAL FORM;Lo;0;AL;<final> 0626 0646;;;;N;;;;;
+FC68;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF MAKSURA FINAL FORM;Lo;0;AL;<final> 0626 0649;;;;N;;;;;
+FC69;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YEH FINAL FORM;Lo;0;AL;<final> 0626 064A;;;;N;;;;;
+FC6A;ARABIC LIGATURE BEH WITH REH FINAL FORM;Lo;0;AL;<final> 0628 0631;;;;N;;;;;
+FC6B;ARABIC LIGATURE BEH WITH ZAIN FINAL FORM;Lo;0;AL;<final> 0628 0632;;;;N;;;;;
+FC6C;ARABIC LIGATURE BEH WITH MEEM FINAL FORM;Lo;0;AL;<final> 0628 0645;;;;N;;;;;
+FC6D;ARABIC LIGATURE BEH WITH NOON FINAL FORM;Lo;0;AL;<final> 0628 0646;;;;N;;;;;
+FC6E;ARABIC LIGATURE BEH WITH ALEF MAKSURA FINAL FORM;Lo;0;AL;<final> 0628 0649;;;;N;;;;;
+FC6F;ARABIC LIGATURE BEH WITH YEH FINAL FORM;Lo;0;AL;<final> 0628 064A;;;;N;;;;;
+FC70;ARABIC LIGATURE TEH WITH REH FINAL FORM;Lo;0;AL;<final> 062A 0631;;;;N;;;;;
+FC71;ARABIC LIGATURE TEH WITH ZAIN FINAL FORM;Lo;0;AL;<final> 062A 0632;;;;N;;;;;
+FC72;ARABIC LIGATURE TEH WITH MEEM FINAL FORM;Lo;0;AL;<final> 062A 0645;;;;N;;;;;
+FC73;ARABIC LIGATURE TEH WITH NOON FINAL FORM;Lo;0;AL;<final> 062A 0646;;;;N;;;;;
+FC74;ARABIC LIGATURE TEH WITH ALEF MAKSURA FINAL FORM;Lo;0;AL;<final> 062A 0649;;;;N;;;;;
+FC75;ARABIC LIGATURE TEH WITH YEH FINAL FORM;Lo;0;AL;<final> 062A 064A;;;;N;;;;;
+FC76;ARABIC LIGATURE THEH WITH REH FINAL FORM;Lo;0;AL;<final> 062B 0631;;;;N;;;;;
+FC77;ARABIC LIGATURE THEH WITH ZAIN FINAL FORM;Lo;0;AL;<final> 062B 0632;;;;N;;;;;
+FC78;ARABIC LIGATURE THEH WITH MEEM FINAL FORM;Lo;0;AL;<final> 062B 0645;;;;N;;;;;
+FC79;ARABIC LIGATURE THEH WITH NOON FINAL FORM;Lo;0;AL;<final> 062B 0646;;;;N;;;;;
+FC7A;ARABIC LIGATURE THEH WITH ALEF MAKSURA FINAL FORM;Lo;0;AL;<final> 062B 0649;;;;N;;;;;
+FC7B;ARABIC LIGATURE THEH WITH YEH FINAL FORM;Lo;0;AL;<final> 062B 064A;;;;N;;;;;
+FC7C;ARABIC LIGATURE FEH WITH ALEF MAKSURA FINAL FORM;Lo;0;AL;<final> 0641 0649;;;;N;;;;;
+FC7D;ARABIC LIGATURE FEH WITH YEH FINAL FORM;Lo;0;AL;<final> 0641 064A;;;;N;;;;;
+FC7E;ARABIC LIGATURE QAF WITH ALEF MAKSURA FINAL FORM;Lo;0;AL;<final> 0642 0649;;;;N;;;;;
+FC7F;ARABIC LIGATURE QAF WITH YEH FINAL FORM;Lo;0;AL;<final> 0642 064A;;;;N;;;;;
+FC80;ARABIC LIGATURE KAF WITH ALEF FINAL FORM;Lo;0;AL;<final> 0643 0627;;;;N;;;;;
+FC81;ARABIC LIGATURE KAF WITH LAM FINAL FORM;Lo;0;AL;<final> 0643 0644;;;;N;;;;;
+FC82;ARABIC LIGATURE KAF WITH MEEM FINAL FORM;Lo;0;AL;<final> 0643 0645;;;;N;;;;;
+FC83;ARABIC LIGATURE KAF WITH ALEF MAKSURA FINAL FORM;Lo;0;AL;<final> 0643 0649;;;;N;;;;;
+FC84;ARABIC LIGATURE KAF WITH YEH FINAL FORM;Lo;0;AL;<final> 0643 064A;;;;N;;;;;
+FC85;ARABIC LIGATURE LAM WITH MEEM FINAL FORM;Lo;0;AL;<final> 0644 0645;;;;N;;;;;
+FC86;ARABIC LIGATURE LAM WITH ALEF MAKSURA FINAL FORM;Lo;0;AL;<final> 0644 0649;;;;N;;;;;
+FC87;ARABIC LIGATURE LAM WITH YEH FINAL FORM;Lo;0;AL;<final> 0644 064A;;;;N;;;;;
+FC88;ARABIC LIGATURE MEEM WITH ALEF FINAL FORM;Lo;0;AL;<final> 0645 0627;;;;N;;;;;
+FC89;ARABIC LIGATURE MEEM WITH MEEM FINAL FORM;Lo;0;AL;<final> 0645 0645;;;;N;;;;;
+FC8A;ARABIC LIGATURE NOON WITH REH FINAL FORM;Lo;0;AL;<final> 0646 0631;;;;N;;;;;
+FC8B;ARABIC LIGATURE NOON WITH ZAIN FINAL FORM;Lo;0;AL;<final> 0646 0632;;;;N;;;;;
+FC8C;ARABIC LIGATURE NOON WITH MEEM FINAL FORM;Lo;0;AL;<final> 0646 0645;;;;N;;;;;
+FC8D;ARABIC LIGATURE NOON WITH NOON FINAL FORM;Lo;0;AL;<final> 0646 0646;;;;N;;;;;
+FC8E;ARABIC LIGATURE NOON WITH ALEF MAKSURA FINAL FORM;Lo;0;AL;<final> 0646 0649;;;;N;;;;;
+FC8F;ARABIC LIGATURE NOON WITH YEH FINAL FORM;Lo;0;AL;<final> 0646 064A;;;;N;;;;;
+FC90;ARABIC LIGATURE ALEF MAKSURA WITH SUPERSCRIPT ALEF FINAL FORM;Lo;0;AL;<final> 0649 0670;;;;N;;;;;
+FC91;ARABIC LIGATURE YEH WITH REH FINAL FORM;Lo;0;AL;<final> 064A 0631;;;;N;;;;;
+FC92;ARABIC LIGATURE YEH WITH ZAIN FINAL FORM;Lo;0;AL;<final> 064A 0632;;;;N;;;;;
+FC93;ARABIC LIGATURE YEH WITH MEEM FINAL FORM;Lo;0;AL;<final> 064A 0645;;;;N;;;;;
+FC94;ARABIC LIGATURE YEH WITH NOON FINAL FORM;Lo;0;AL;<final> 064A 0646;;;;N;;;;;
+FC95;ARABIC LIGATURE YEH WITH ALEF MAKSURA FINAL FORM;Lo;0;AL;<final> 064A 0649;;;;N;;;;;
+FC96;ARABIC LIGATURE YEH WITH YEH FINAL FORM;Lo;0;AL;<final> 064A 064A;;;;N;;;;;
+FC97;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH JEEM INITIAL FORM;Lo;0;AL;<initial> 0626 062C;;;;N;;;;;
+FC98;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HAH INITIAL FORM;Lo;0;AL;<initial> 0626 062D;;;;N;;;;;
+FC99;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH KHAH INITIAL FORM;Lo;0;AL;<initial> 0626 062E;;;;N;;;;;
+FC9A;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 0626 0645;;;;N;;;;;
+FC9B;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HEH INITIAL FORM;Lo;0;AL;<initial> 0626 0647;;;;N;;;;;
+FC9C;ARABIC LIGATURE BEH WITH JEEM INITIAL FORM;Lo;0;AL;<initial> 0628 062C;;;;N;;;;;
+FC9D;ARABIC LIGATURE BEH WITH HAH INITIAL FORM;Lo;0;AL;<initial> 0628 062D;;;;N;;;;;
+FC9E;ARABIC LIGATURE BEH WITH KHAH INITIAL FORM;Lo;0;AL;<initial> 0628 062E;;;;N;;;;;
+FC9F;ARABIC LIGATURE BEH WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 0628 0645;;;;N;;;;;
+FCA0;ARABIC LIGATURE BEH WITH HEH INITIAL FORM;Lo;0;AL;<initial> 0628 0647;;;;N;;;;;
+FCA1;ARABIC LIGATURE TEH WITH JEEM INITIAL FORM;Lo;0;AL;<initial> 062A 062C;;;;N;;;;;
+FCA2;ARABIC LIGATURE TEH WITH HAH INITIAL FORM;Lo;0;AL;<initial> 062A 062D;;;;N;;;;;
+FCA3;ARABIC LIGATURE TEH WITH KHAH INITIAL FORM;Lo;0;AL;<initial> 062A 062E;;;;N;;;;;
+FCA4;ARABIC LIGATURE TEH WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 062A 0645;;;;N;;;;;
+FCA5;ARABIC LIGATURE TEH WITH HEH INITIAL FORM;Lo;0;AL;<initial> 062A 0647;;;;N;;;;;
+FCA6;ARABIC LIGATURE THEH WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 062B 0645;;;;N;;;;;
+FCA7;ARABIC LIGATURE JEEM WITH HAH INITIAL FORM;Lo;0;AL;<initial> 062C 062D;;;;N;;;;;
+FCA8;ARABIC LIGATURE JEEM WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 062C 0645;;;;N;;;;;
+FCA9;ARABIC LIGATURE HAH WITH JEEM INITIAL FORM;Lo;0;AL;<initial> 062D 062C;;;;N;;;;;
+FCAA;ARABIC LIGATURE HAH WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 062D 0645;;;;N;;;;;
+FCAB;ARABIC LIGATURE KHAH WITH JEEM INITIAL FORM;Lo;0;AL;<initial> 062E 062C;;;;N;;;;;
+FCAC;ARABIC LIGATURE KHAH WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 062E 0645;;;;N;;;;;
+FCAD;ARABIC LIGATURE SEEN WITH JEEM INITIAL FORM;Lo;0;AL;<initial> 0633 062C;;;;N;;;;;
+FCAE;ARABIC LIGATURE SEEN WITH HAH INITIAL FORM;Lo;0;AL;<initial> 0633 062D;;;;N;;;;;
+FCAF;ARABIC LIGATURE SEEN WITH KHAH INITIAL FORM;Lo;0;AL;<initial> 0633 062E;;;;N;;;;;
+FCB0;ARABIC LIGATURE SEEN WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 0633 0645;;;;N;;;;;
+FCB1;ARABIC LIGATURE SAD WITH HAH INITIAL FORM;Lo;0;AL;<initial> 0635 062D;;;;N;;;;;
+FCB2;ARABIC LIGATURE SAD WITH KHAH INITIAL FORM;Lo;0;AL;<initial> 0635 062E;;;;N;;;;;
+FCB3;ARABIC LIGATURE SAD WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 0635 0645;;;;N;;;;;
+FCB4;ARABIC LIGATURE DAD WITH JEEM INITIAL FORM;Lo;0;AL;<initial> 0636 062C;;;;N;;;;;
+FCB5;ARABIC LIGATURE DAD WITH HAH INITIAL FORM;Lo;0;AL;<initial> 0636 062D;;;;N;;;;;
+FCB6;ARABIC LIGATURE DAD WITH KHAH INITIAL FORM;Lo;0;AL;<initial> 0636 062E;;;;N;;;;;
+FCB7;ARABIC LIGATURE DAD WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 0636 0645;;;;N;;;;;
+FCB8;ARABIC LIGATURE TAH WITH HAH INITIAL FORM;Lo;0;AL;<initial> 0637 062D;;;;N;;;;;
+FCB9;ARABIC LIGATURE ZAH WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 0638 0645;;;;N;;;;;
+FCBA;ARABIC LIGATURE AIN WITH JEEM INITIAL FORM;Lo;0;AL;<initial> 0639 062C;;;;N;;;;;
+FCBB;ARABIC LIGATURE AIN WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 0639 0645;;;;N;;;;;
+FCBC;ARABIC LIGATURE GHAIN WITH JEEM INITIAL FORM;Lo;0;AL;<initial> 063A 062C;;;;N;;;;;
+FCBD;ARABIC LIGATURE GHAIN WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 063A 0645;;;;N;;;;;
+FCBE;ARABIC LIGATURE FEH WITH JEEM INITIAL FORM;Lo;0;AL;<initial> 0641 062C;;;;N;;;;;
+FCBF;ARABIC LIGATURE FEH WITH HAH INITIAL FORM;Lo;0;AL;<initial> 0641 062D;;;;N;;;;;
+FCC0;ARABIC LIGATURE FEH WITH KHAH INITIAL FORM;Lo;0;AL;<initial> 0641 062E;;;;N;;;;;
+FCC1;ARABIC LIGATURE FEH WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 0641 0645;;;;N;;;;;
+FCC2;ARABIC LIGATURE QAF WITH HAH INITIAL FORM;Lo;0;AL;<initial> 0642 062D;;;;N;;;;;
+FCC3;ARABIC LIGATURE QAF WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 0642 0645;;;;N;;;;;
+FCC4;ARABIC LIGATURE KAF WITH JEEM INITIAL FORM;Lo;0;AL;<initial> 0643 062C;;;;N;;;;;
+FCC5;ARABIC LIGATURE KAF WITH HAH INITIAL FORM;Lo;0;AL;<initial> 0643 062D;;;;N;;;;;
+FCC6;ARABIC LIGATURE KAF WITH KHAH INITIAL FORM;Lo;0;AL;<initial> 0643 062E;;;;N;;;;;
+FCC7;ARABIC LIGATURE KAF WITH LAM INITIAL FORM;Lo;0;AL;<initial> 0643 0644;;;;N;;;;;
+FCC8;ARABIC LIGATURE KAF WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 0643 0645;;;;N;;;;;
+FCC9;ARABIC LIGATURE LAM WITH JEEM INITIAL FORM;Lo;0;AL;<initial> 0644 062C;;;;N;;;;;
+FCCA;ARABIC LIGATURE LAM WITH HAH INITIAL FORM;Lo;0;AL;<initial> 0644 062D;;;;N;;;;;
+FCCB;ARABIC LIGATURE LAM WITH KHAH INITIAL FORM;Lo;0;AL;<initial> 0644 062E;;;;N;;;;;
+FCCC;ARABIC LIGATURE LAM WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 0644 0645;;;;N;;;;;
+FCCD;ARABIC LIGATURE LAM WITH HEH INITIAL FORM;Lo;0;AL;<initial> 0644 0647;;;;N;;;;;
+FCCE;ARABIC LIGATURE MEEM WITH JEEM INITIAL FORM;Lo;0;AL;<initial> 0645 062C;;;;N;;;;;
+FCCF;ARABIC LIGATURE MEEM WITH HAH INITIAL FORM;Lo;0;AL;<initial> 0645 062D;;;;N;;;;;
+FCD0;ARABIC LIGATURE MEEM WITH KHAH INITIAL FORM;Lo;0;AL;<initial> 0645 062E;;;;N;;;;;
+FCD1;ARABIC LIGATURE MEEM WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 0645 0645;;;;N;;;;;
+FCD2;ARABIC LIGATURE NOON WITH JEEM INITIAL FORM;Lo;0;AL;<initial> 0646 062C;;;;N;;;;;
+FCD3;ARABIC LIGATURE NOON WITH HAH INITIAL FORM;Lo;0;AL;<initial> 0646 062D;;;;N;;;;;
+FCD4;ARABIC LIGATURE NOON WITH KHAH INITIAL FORM;Lo;0;AL;<initial> 0646 062E;;;;N;;;;;
+FCD5;ARABIC LIGATURE NOON WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 0646 0645;;;;N;;;;;
+FCD6;ARABIC LIGATURE NOON WITH HEH INITIAL FORM;Lo;0;AL;<initial> 0646 0647;;;;N;;;;;
+FCD7;ARABIC LIGATURE HEH WITH JEEM INITIAL FORM;Lo;0;AL;<initial> 0647 062C;;;;N;;;;;
+FCD8;ARABIC LIGATURE HEH WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 0647 0645;;;;N;;;;;
+FCD9;ARABIC LIGATURE HEH WITH SUPERSCRIPT ALEF INITIAL FORM;Lo;0;AL;<initial> 0647 0670;;;;N;;;;;
+FCDA;ARABIC LIGATURE YEH WITH JEEM INITIAL FORM;Lo;0;AL;<initial> 064A 062C;;;;N;;;;;
+FCDB;ARABIC LIGATURE YEH WITH HAH INITIAL FORM;Lo;0;AL;<initial> 064A 062D;;;;N;;;;;
+FCDC;ARABIC LIGATURE YEH WITH KHAH INITIAL FORM;Lo;0;AL;<initial> 064A 062E;;;;N;;;;;
+FCDD;ARABIC LIGATURE YEH WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 064A 0645;;;;N;;;;;
+FCDE;ARABIC LIGATURE YEH WITH HEH INITIAL FORM;Lo;0;AL;<initial> 064A 0647;;;;N;;;;;
+FCDF;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM MEDIAL FORM;Lo;0;AL;<medial> 0626 0645;;;;N;;;;;
+FCE0;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HEH MEDIAL FORM;Lo;0;AL;<medial> 0626 0647;;;;N;;;;;
+FCE1;ARABIC LIGATURE BEH WITH MEEM MEDIAL FORM;Lo;0;AL;<medial> 0628 0645;;;;N;;;;;
+FCE2;ARABIC LIGATURE BEH WITH HEH MEDIAL FORM;Lo;0;AL;<medial> 0628 0647;;;;N;;;;;
+FCE3;ARABIC LIGATURE TEH WITH MEEM MEDIAL FORM;Lo;0;AL;<medial> 062A 0645;;;;N;;;;;
+FCE4;ARABIC LIGATURE TEH WITH HEH MEDIAL FORM;Lo;0;AL;<medial> 062A 0647;;;;N;;;;;
+FCE5;ARABIC LIGATURE THEH WITH MEEM MEDIAL FORM;Lo;0;AL;<medial> 062B 0645;;;;N;;;;;
+FCE6;ARABIC LIGATURE THEH WITH HEH MEDIAL FORM;Lo;0;AL;<medial> 062B 0647;;;;N;;;;;
+FCE7;ARABIC LIGATURE SEEN WITH MEEM MEDIAL FORM;Lo;0;AL;<medial> 0633 0645;;;;N;;;;;
+FCE8;ARABIC LIGATURE SEEN WITH HEH MEDIAL FORM;Lo;0;AL;<medial> 0633 0647;;;;N;;;;;
+FCE9;ARABIC LIGATURE SHEEN WITH MEEM MEDIAL FORM;Lo;0;AL;<medial> 0634 0645;;;;N;;;;;
+FCEA;ARABIC LIGATURE SHEEN WITH HEH MEDIAL FORM;Lo;0;AL;<medial> 0634 0647;;;;N;;;;;
+FCEB;ARABIC LIGATURE KAF WITH LAM MEDIAL FORM;Lo;0;AL;<medial> 0643 0644;;;;N;;;;;
+FCEC;ARABIC LIGATURE KAF WITH MEEM MEDIAL FORM;Lo;0;AL;<medial> 0643 0645;;;;N;;;;;
+FCED;ARABIC LIGATURE LAM WITH MEEM MEDIAL FORM;Lo;0;AL;<medial> 0644 0645;;;;N;;;;;
+FCEE;ARABIC LIGATURE NOON WITH MEEM MEDIAL FORM;Lo;0;AL;<medial> 0646 0645;;;;N;;;;;
+FCEF;ARABIC LIGATURE NOON WITH HEH MEDIAL FORM;Lo;0;AL;<medial> 0646 0647;;;;N;;;;;
+FCF0;ARABIC LIGATURE YEH WITH MEEM MEDIAL FORM;Lo;0;AL;<medial> 064A 0645;;;;N;;;;;
+FCF1;ARABIC LIGATURE YEH WITH HEH MEDIAL FORM;Lo;0;AL;<medial> 064A 0647;;;;N;;;;;
+FCF2;ARABIC LIGATURE SHADDA WITH FATHA MEDIAL FORM;Lo;0;AL;<medial> 0640 064E 0651;;;;N;;;;;
+FCF3;ARABIC LIGATURE SHADDA WITH DAMMA MEDIAL FORM;Lo;0;AL;<medial> 0640 064F 0651;;;;N;;;;;
+FCF4;ARABIC LIGATURE SHADDA WITH KASRA MEDIAL FORM;Lo;0;AL;<medial> 0640 0650 0651;;;;N;;;;;
+FCF5;ARABIC LIGATURE TAH WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL;<isolated> 0637 0649;;;;N;;;;;
+FCF6;ARABIC LIGATURE TAH WITH YEH ISOLATED FORM;Lo;0;AL;<isolated> 0637 064A;;;;N;;;;;
+FCF7;ARABIC LIGATURE AIN WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL;<isolated> 0639 0649;;;;N;;;;;
+FCF8;ARABIC LIGATURE AIN WITH YEH ISOLATED FORM;Lo;0;AL;<isolated> 0639 064A;;;;N;;;;;
+FCF9;ARABIC LIGATURE GHAIN WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL;<isolated> 063A 0649;;;;N;;;;;
+FCFA;ARABIC LIGATURE GHAIN WITH YEH ISOLATED FORM;Lo;0;AL;<isolated> 063A 064A;;;;N;;;;;
+FCFB;ARABIC LIGATURE SEEN WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL;<isolated> 0633 0649;;;;N;;;;;
+FCFC;ARABIC LIGATURE SEEN WITH YEH ISOLATED FORM;Lo;0;AL;<isolated> 0633 064A;;;;N;;;;;
+FCFD;ARABIC LIGATURE SHEEN WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL;<isolated> 0634 0649;;;;N;;;;;
+FCFE;ARABIC LIGATURE SHEEN WITH YEH ISOLATED FORM;Lo;0;AL;<isolated> 0634 064A;;;;N;;;;;
+FCFF;ARABIC LIGATURE HAH WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL;<isolated> 062D 0649;;;;N;;;;;
+FD00;ARABIC LIGATURE HAH WITH YEH ISOLATED FORM;Lo;0;AL;<isolated> 062D 064A;;;;N;;;;;
+FD01;ARABIC LIGATURE JEEM WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL;<isolated> 062C 0649;;;;N;;;;;
+FD02;ARABIC LIGATURE JEEM WITH YEH ISOLATED FORM;Lo;0;AL;<isolated> 062C 064A;;;;N;;;;;
+FD03;ARABIC LIGATURE KHAH WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL;<isolated> 062E 0649;;;;N;;;;;
+FD04;ARABIC LIGATURE KHAH WITH YEH ISOLATED FORM;Lo;0;AL;<isolated> 062E 064A;;;;N;;;;;
+FD05;ARABIC LIGATURE SAD WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL;<isolated> 0635 0649;;;;N;;;;;
+FD06;ARABIC LIGATURE SAD WITH YEH ISOLATED FORM;Lo;0;AL;<isolated> 0635 064A;;;;N;;;;;
+FD07;ARABIC LIGATURE DAD WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL;<isolated> 0636 0649;;;;N;;;;;
+FD08;ARABIC LIGATURE DAD WITH YEH ISOLATED FORM;Lo;0;AL;<isolated> 0636 064A;;;;N;;;;;
+FD09;ARABIC LIGATURE SHEEN WITH JEEM ISOLATED FORM;Lo;0;AL;<isolated> 0634 062C;;;;N;;;;;
+FD0A;ARABIC LIGATURE SHEEN WITH HAH ISOLATED FORM;Lo;0;AL;<isolated> 0634 062D;;;;N;;;;;
+FD0B;ARABIC LIGATURE SHEEN WITH KHAH ISOLATED FORM;Lo;0;AL;<isolated> 0634 062E;;;;N;;;;;
+FD0C;ARABIC LIGATURE SHEEN WITH MEEM ISOLATED FORM;Lo;0;AL;<isolated> 0634 0645;;;;N;;;;;
+FD0D;ARABIC LIGATURE SHEEN WITH REH ISOLATED FORM;Lo;0;AL;<isolated> 0634 0631;;;;N;;;;;
+FD0E;ARABIC LIGATURE SEEN WITH REH ISOLATED FORM;Lo;0;AL;<isolated> 0633 0631;;;;N;;;;;
+FD0F;ARABIC LIGATURE SAD WITH REH ISOLATED FORM;Lo;0;AL;<isolated> 0635 0631;;;;N;;;;;
+FD10;ARABIC LIGATURE DAD WITH REH ISOLATED FORM;Lo;0;AL;<isolated> 0636 0631;;;;N;;;;;
+FD11;ARABIC LIGATURE TAH WITH ALEF MAKSURA FINAL FORM;Lo;0;AL;<final> 0637 0649;;;;N;;;;;
+FD12;ARABIC LIGATURE TAH WITH YEH FINAL FORM;Lo;0;AL;<final> 0637 064A;;;;N;;;;;
+FD13;ARABIC LIGATURE AIN WITH ALEF MAKSURA FINAL FORM;Lo;0;AL;<final> 0639 0649;;;;N;;;;;
+FD14;ARABIC LIGATURE AIN WITH YEH FINAL FORM;Lo;0;AL;<final> 0639 064A;;;;N;;;;;
+FD15;ARABIC LIGATURE GHAIN WITH ALEF MAKSURA FINAL FORM;Lo;0;AL;<final> 063A 0649;;;;N;;;;;
+FD16;ARABIC LIGATURE GHAIN WITH YEH FINAL FORM;Lo;0;AL;<final> 063A 064A;;;;N;;;;;
+FD17;ARABIC LIGATURE SEEN WITH ALEF MAKSURA FINAL FORM;Lo;0;AL;<final> 0633 0649;;;;N;;;;;
+FD18;ARABIC LIGATURE SEEN WITH YEH FINAL FORM;Lo;0;AL;<final> 0633 064A;;;;N;;;;;
+FD19;ARABIC LIGATURE SHEEN WITH ALEF MAKSURA FINAL FORM;Lo;0;AL;<final> 0634 0649;;;;N;;;;;
+FD1A;ARABIC LIGATURE SHEEN WITH YEH FINAL FORM;Lo;0;AL;<final> 0634 064A;;;;N;;;;;
+FD1B;ARABIC LIGATURE HAH WITH ALEF MAKSURA FINAL FORM;Lo;0;AL;<final> 062D 0649;;;;N;;;;;
+FD1C;ARABIC LIGATURE HAH WITH YEH FINAL FORM;Lo;0;AL;<final> 062D 064A;;;;N;;;;;
+FD1D;ARABIC LIGATURE JEEM WITH ALEF MAKSURA FINAL FORM;Lo;0;AL;<final> 062C 0649;;;;N;;;;;
+FD1E;ARABIC LIGATURE JEEM WITH YEH FINAL FORM;Lo;0;AL;<final> 062C 064A;;;;N;;;;;
+FD1F;ARABIC LIGATURE KHAH WITH ALEF MAKSURA FINAL FORM;Lo;0;AL;<final> 062E 0649;;;;N;;;;;
+FD20;ARABIC LIGATURE KHAH WITH YEH FINAL FORM;Lo;0;AL;<final> 062E 064A;;;;N;;;;;
+FD21;ARABIC LIGATURE SAD WITH ALEF MAKSURA FINAL FORM;Lo;0;AL;<final> 0635 0649;;;;N;;;;;
+FD22;ARABIC LIGATURE SAD WITH YEH FINAL FORM;Lo;0;AL;<final> 0635 064A;;;;N;;;;;
+FD23;ARABIC LIGATURE DAD WITH ALEF MAKSURA FINAL FORM;Lo;0;AL;<final> 0636 0649;;;;N;;;;;
+FD24;ARABIC LIGATURE DAD WITH YEH FINAL FORM;Lo;0;AL;<final> 0636 064A;;;;N;;;;;
+FD25;ARABIC LIGATURE SHEEN WITH JEEM FINAL FORM;Lo;0;AL;<final> 0634 062C;;;;N;;;;;
+FD26;ARABIC LIGATURE SHEEN WITH HAH FINAL FORM;Lo;0;AL;<final> 0634 062D;;;;N;;;;;
+FD27;ARABIC LIGATURE SHEEN WITH KHAH FINAL FORM;Lo;0;AL;<final> 0634 062E;;;;N;;;;;
+FD28;ARABIC LIGATURE SHEEN WITH MEEM FINAL FORM;Lo;0;AL;<final> 0634 0645;;;;N;;;;;
+FD29;ARABIC LIGATURE SHEEN WITH REH FINAL FORM;Lo;0;AL;<final> 0634 0631;;;;N;;;;;
+FD2A;ARABIC LIGATURE SEEN WITH REH FINAL FORM;Lo;0;AL;<final> 0633 0631;;;;N;;;;;
+FD2B;ARABIC LIGATURE SAD WITH REH FINAL FORM;Lo;0;AL;<final> 0635 0631;;;;N;;;;;
+FD2C;ARABIC LIGATURE DAD WITH REH FINAL FORM;Lo;0;AL;<final> 0636 0631;;;;N;;;;;
+FD2D;ARABIC LIGATURE SHEEN WITH JEEM INITIAL FORM;Lo;0;AL;<initial> 0634 062C;;;;N;;;;;
+FD2E;ARABIC LIGATURE SHEEN WITH HAH INITIAL FORM;Lo;0;AL;<initial> 0634 062D;;;;N;;;;;
+FD2F;ARABIC LIGATURE SHEEN WITH KHAH INITIAL FORM;Lo;0;AL;<initial> 0634 062E;;;;N;;;;;
+FD30;ARABIC LIGATURE SHEEN WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 0634 0645;;;;N;;;;;
+FD31;ARABIC LIGATURE SEEN WITH HEH INITIAL FORM;Lo;0;AL;<initial> 0633 0647;;;;N;;;;;
+FD32;ARABIC LIGATURE SHEEN WITH HEH INITIAL FORM;Lo;0;AL;<initial> 0634 0647;;;;N;;;;;
+FD33;ARABIC LIGATURE TAH WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 0637 0645;;;;N;;;;;
+FD34;ARABIC LIGATURE SEEN WITH JEEM MEDIAL FORM;Lo;0;AL;<medial> 0633 062C;;;;N;;;;;
+FD35;ARABIC LIGATURE SEEN WITH HAH MEDIAL FORM;Lo;0;AL;<medial> 0633 062D;;;;N;;;;;
+FD36;ARABIC LIGATURE SEEN WITH KHAH MEDIAL FORM;Lo;0;AL;<medial> 0633 062E;;;;N;;;;;
+FD37;ARABIC LIGATURE SHEEN WITH JEEM MEDIAL FORM;Lo;0;AL;<medial> 0634 062C;;;;N;;;;;
+FD38;ARABIC LIGATURE SHEEN WITH HAH MEDIAL FORM;Lo;0;AL;<medial> 0634 062D;;;;N;;;;;
+FD39;ARABIC LIGATURE SHEEN WITH KHAH MEDIAL FORM;Lo;0;AL;<medial> 0634 062E;;;;N;;;;;
+FD3A;ARABIC LIGATURE TAH WITH MEEM MEDIAL FORM;Lo;0;AL;<medial> 0637 0645;;;;N;;;;;
+FD3B;ARABIC LIGATURE ZAH WITH MEEM MEDIAL FORM;Lo;0;AL;<medial> 0638 0645;;;;N;;;;;
+FD3C;ARABIC LIGATURE ALEF WITH FATHATAN FINAL FORM;Lo;0;AL;<final> 0627 064B;;;;N;;;;;
+FD3D;ARABIC LIGATURE ALEF WITH FATHATAN ISOLATED FORM;Lo;0;AL;<isolated> 0627 064B;;;;N;;;;;
+FD3E;ORNATE LEFT PARENTHESIS;Ps;0;ON;;;;;N;;;;;
+FD3F;ORNATE RIGHT PARENTHESIS;Pe;0;ON;;;;;N;;;;;
+FD50;ARABIC LIGATURE TEH WITH JEEM WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 062A 062C 0645;;;;N;;;;;
+FD51;ARABIC LIGATURE TEH WITH HAH WITH JEEM FINAL FORM;Lo;0;AL;<final> 062A 062D 062C;;;;N;;;;;
+FD52;ARABIC LIGATURE TEH WITH HAH WITH JEEM INITIAL FORM;Lo;0;AL;<initial> 062A 062D 062C;;;;N;;;;;
+FD53;ARABIC LIGATURE TEH WITH HAH WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 062A 062D 0645;;;;N;;;;;
+FD54;ARABIC LIGATURE TEH WITH KHAH WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 062A 062E 0645;;;;N;;;;;
+FD55;ARABIC LIGATURE TEH WITH MEEM WITH JEEM INITIAL FORM;Lo;0;AL;<initial> 062A 0645 062C;;;;N;;;;;
+FD56;ARABIC LIGATURE TEH WITH MEEM WITH HAH INITIAL FORM;Lo;0;AL;<initial> 062A 0645 062D;;;;N;;;;;
+FD57;ARABIC LIGATURE TEH WITH MEEM WITH KHAH INITIAL FORM;Lo;0;AL;<initial> 062A 0645 062E;;;;N;;;;;
+FD58;ARABIC LIGATURE JEEM WITH MEEM WITH HAH FINAL FORM;Lo;0;AL;<final> 062C 0645 062D;;;;N;;;;;
+FD59;ARABIC LIGATURE JEEM WITH MEEM WITH HAH INITIAL FORM;Lo;0;AL;<initial> 062C 0645 062D;;;;N;;;;;
+FD5A;ARABIC LIGATURE HAH WITH MEEM WITH YEH FINAL FORM;Lo;0;AL;<final> 062D 0645 064A;;;;N;;;;;
+FD5B;ARABIC LIGATURE HAH WITH MEEM WITH ALEF MAKSURA FINAL FORM;Lo;0;AL;<final> 062D 0645 0649;;;;N;;;;;
+FD5C;ARABIC LIGATURE SEEN WITH HAH WITH JEEM INITIAL FORM;Lo;0;AL;<initial> 0633 062D 062C;;;;N;;;;;
+FD5D;ARABIC LIGATURE SEEN WITH JEEM WITH HAH INITIAL FORM;Lo;0;AL;<initial> 0633 062C 062D;;;;N;;;;;
+FD5E;ARABIC LIGATURE SEEN WITH JEEM WITH ALEF MAKSURA FINAL FORM;Lo;0;AL;<final> 0633 062C 0649;;;;N;;;;;
+FD5F;ARABIC LIGATURE SEEN WITH MEEM WITH HAH FINAL FORM;Lo;0;AL;<final> 0633 0645 062D;;;;N;;;;;
+FD60;ARABIC LIGATURE SEEN WITH MEEM WITH HAH INITIAL FORM;Lo;0;AL;<initial> 0633 0645 062D;;;;N;;;;;
+FD61;ARABIC LIGATURE SEEN WITH MEEM WITH JEEM INITIAL FORM;Lo;0;AL;<initial> 0633 0645 062C;;;;N;;;;;
+FD62;ARABIC LIGATURE SEEN WITH MEEM WITH MEEM FINAL FORM;Lo;0;AL;<final> 0633 0645 0645;;;;N;;;;;
+FD63;ARABIC LIGATURE SEEN WITH MEEM WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 0633 0645 0645;;;;N;;;;;
+FD64;ARABIC LIGATURE SAD WITH HAH WITH HAH FINAL FORM;Lo;0;AL;<final> 0635 062D 062D;;;;N;;;;;
+FD65;ARABIC LIGATURE SAD WITH HAH WITH HAH INITIAL FORM;Lo;0;AL;<initial> 0635 062D 062D;;;;N;;;;;
+FD66;ARABIC LIGATURE SAD WITH MEEM WITH MEEM FINAL FORM;Lo;0;AL;<final> 0635 0645 0645;;;;N;;;;;
+FD67;ARABIC LIGATURE SHEEN WITH HAH WITH MEEM FINAL FORM;Lo;0;AL;<final> 0634 062D 0645;;;;N;;;;;
+FD68;ARABIC LIGATURE SHEEN WITH HAH WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 0634 062D 0645;;;;N;;;;;
+FD69;ARABIC LIGATURE SHEEN WITH JEEM WITH YEH FINAL FORM;Lo;0;AL;<final> 0634 062C 064A;;;;N;;;;;
+FD6A;ARABIC LIGATURE SHEEN WITH MEEM WITH KHAH FINAL FORM;Lo;0;AL;<final> 0634 0645 062E;;;;N;;;;;
+FD6B;ARABIC LIGATURE SHEEN WITH MEEM WITH KHAH INITIAL FORM;Lo;0;AL;<initial> 0634 0645 062E;;;;N;;;;;
+FD6C;ARABIC LIGATURE SHEEN WITH MEEM WITH MEEM FINAL FORM;Lo;0;AL;<final> 0634 0645 0645;;;;N;;;;;
+FD6D;ARABIC LIGATURE SHEEN WITH MEEM WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 0634 0645 0645;;;;N;;;;;
+FD6E;ARABIC LIGATURE DAD WITH HAH WITH ALEF MAKSURA FINAL FORM;Lo;0;AL;<final> 0636 062D 0649;;;;N;;;;;
+FD6F;ARABIC LIGATURE DAD WITH KHAH WITH MEEM FINAL FORM;Lo;0;AL;<final> 0636 062E 0645;;;;N;;;;;
+FD70;ARABIC LIGATURE DAD WITH KHAH WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 0636 062E 0645;;;;N;;;;;
+FD71;ARABIC LIGATURE TAH WITH MEEM WITH HAH FINAL FORM;Lo;0;AL;<final> 0637 0645 062D;;;;N;;;;;
+FD72;ARABIC LIGATURE TAH WITH MEEM WITH HAH INITIAL FORM;Lo;0;AL;<initial> 0637 0645 062D;;;;N;;;;;
+FD73;ARABIC LIGATURE TAH WITH MEEM WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 0637 0645 0645;;;;N;;;;;
+FD74;ARABIC LIGATURE TAH WITH MEEM WITH YEH FINAL FORM;Lo;0;AL;<final> 0637 0645 064A;;;;N;;;;;
+FD75;ARABIC LIGATURE AIN WITH JEEM WITH MEEM FINAL FORM;Lo;0;AL;<final> 0639 062C 0645;;;;N;;;;;
+FD76;ARABIC LIGATURE AIN WITH MEEM WITH MEEM FINAL FORM;Lo;0;AL;<final> 0639 0645 0645;;;;N;;;;;
+FD77;ARABIC LIGATURE AIN WITH MEEM WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 0639 0645 0645;;;;N;;;;;
+FD78;ARABIC LIGATURE AIN WITH MEEM WITH ALEF MAKSURA FINAL FORM;Lo;0;AL;<final> 0639 0645 0649;;;;N;;;;;
+FD79;ARABIC LIGATURE GHAIN WITH MEEM WITH MEEM FINAL FORM;Lo;0;AL;<final> 063A 0645 0645;;;;N;;;;;
+FD7A;ARABIC LIGATURE GHAIN WITH MEEM WITH YEH FINAL FORM;Lo;0;AL;<final> 063A 0645 064A;;;;N;;;;;
+FD7B;ARABIC LIGATURE GHAIN WITH MEEM WITH ALEF MAKSURA FINAL FORM;Lo;0;AL;<final> 063A 0645 0649;;;;N;;;;;
+FD7C;ARABIC LIGATURE FEH WITH KHAH WITH MEEM FINAL FORM;Lo;0;AL;<final> 0641 062E 0645;;;;N;;;;;
+FD7D;ARABIC LIGATURE FEH WITH KHAH WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 0641 062E 0645;;;;N;;;;;
+FD7E;ARABIC LIGATURE QAF WITH MEEM WITH HAH FINAL FORM;Lo;0;AL;<final> 0642 0645 062D;;;;N;;;;;
+FD7F;ARABIC LIGATURE QAF WITH MEEM WITH MEEM FINAL FORM;Lo;0;AL;<final> 0642 0645 0645;;;;N;;;;;
+FD80;ARABIC LIGATURE LAM WITH HAH WITH MEEM FINAL FORM;Lo;0;AL;<final> 0644 062D 0645;;;;N;;;;;
+FD81;ARABIC LIGATURE LAM WITH HAH WITH YEH FINAL FORM;Lo;0;AL;<final> 0644 062D 064A;;;;N;;;;;
+FD82;ARABIC LIGATURE LAM WITH HAH WITH ALEF MAKSURA FINAL FORM;Lo;0;AL;<final> 0644 062D 0649;;;;N;;;;;
+FD83;ARABIC LIGATURE LAM WITH JEEM WITH JEEM INITIAL FORM;Lo;0;AL;<initial> 0644 062C 062C;;;;N;;;;;
+FD84;ARABIC LIGATURE LAM WITH JEEM WITH JEEM FINAL FORM;Lo;0;AL;<final> 0644 062C 062C;;;;N;;;;;
+FD85;ARABIC LIGATURE LAM WITH KHAH WITH MEEM FINAL FORM;Lo;0;AL;<final> 0644 062E 0645;;;;N;;;;;
+FD86;ARABIC LIGATURE LAM WITH KHAH WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 0644 062E 0645;;;;N;;;;;
+FD87;ARABIC LIGATURE LAM WITH MEEM WITH HAH FINAL FORM;Lo;0;AL;<final> 0644 0645 062D;;;;N;;;;;
+FD88;ARABIC LIGATURE LAM WITH MEEM WITH HAH INITIAL FORM;Lo;0;AL;<initial> 0644 0645 062D;;;;N;;;;;
+FD89;ARABIC LIGATURE MEEM WITH HAH WITH JEEM INITIAL FORM;Lo;0;AL;<initial> 0645 062D 062C;;;;N;;;;;
+FD8A;ARABIC LIGATURE MEEM WITH HAH WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 0645 062D 0645;;;;N;;;;;
+FD8B;ARABIC LIGATURE MEEM WITH HAH WITH YEH FINAL FORM;Lo;0;AL;<final> 0645 062D 064A;;;;N;;;;;
+FD8C;ARABIC LIGATURE MEEM WITH JEEM WITH HAH INITIAL FORM;Lo;0;AL;<initial> 0645 062C 062D;;;;N;;;;;
+FD8D;ARABIC LIGATURE MEEM WITH JEEM WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 0645 062C 0645;;;;N;;;;;
+FD8E;ARABIC LIGATURE MEEM WITH KHAH WITH JEEM INITIAL FORM;Lo;0;AL;<initial> 0645 062E 062C;;;;N;;;;;
+FD8F;ARABIC LIGATURE MEEM WITH KHAH WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 0645 062E 0645;;;;N;;;;;
+FD92;ARABIC LIGATURE MEEM WITH JEEM WITH KHAH INITIAL FORM;Lo;0;AL;<initial> 0645 062C 062E;;;;N;;;;;
+FD93;ARABIC LIGATURE HEH WITH MEEM WITH JEEM INITIAL FORM;Lo;0;AL;<initial> 0647 0645 062C;;;;N;;;;;
+FD94;ARABIC LIGATURE HEH WITH MEEM WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 0647 0645 0645;;;;N;;;;;
+FD95;ARABIC LIGATURE NOON WITH HAH WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 0646 062D 0645;;;;N;;;;;
+FD96;ARABIC LIGATURE NOON WITH HAH WITH ALEF MAKSURA FINAL FORM;Lo;0;AL;<final> 0646 062D 0649;;;;N;;;;;
+FD97;ARABIC LIGATURE NOON WITH JEEM WITH MEEM FINAL FORM;Lo;0;AL;<final> 0646 062C 0645;;;;N;;;;;
+FD98;ARABIC LIGATURE NOON WITH JEEM WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 0646 062C 0645;;;;N;;;;;
+FD99;ARABIC LIGATURE NOON WITH JEEM WITH ALEF MAKSURA FINAL FORM;Lo;0;AL;<final> 0646 062C 0649;;;;N;;;;;
+FD9A;ARABIC LIGATURE NOON WITH MEEM WITH YEH FINAL FORM;Lo;0;AL;<final> 0646 0645 064A;;;;N;;;;;
+FD9B;ARABIC LIGATURE NOON WITH MEEM WITH ALEF MAKSURA FINAL FORM;Lo;0;AL;<final> 0646 0645 0649;;;;N;;;;;
+FD9C;ARABIC LIGATURE YEH WITH MEEM WITH MEEM FINAL FORM;Lo;0;AL;<final> 064A 0645 0645;;;;N;;;;;
+FD9D;ARABIC LIGATURE YEH WITH MEEM WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 064A 0645 0645;;;;N;;;;;
+FD9E;ARABIC LIGATURE BEH WITH KHAH WITH YEH FINAL FORM;Lo;0;AL;<final> 0628 062E 064A;;;;N;;;;;
+FD9F;ARABIC LIGATURE TEH WITH JEEM WITH YEH FINAL FORM;Lo;0;AL;<final> 062A 062C 064A;;;;N;;;;;
+FDA0;ARABIC LIGATURE TEH WITH JEEM WITH ALEF MAKSURA FINAL FORM;Lo;0;AL;<final> 062A 062C 0649;;;;N;;;;;
+FDA1;ARABIC LIGATURE TEH WITH KHAH WITH YEH FINAL FORM;Lo;0;AL;<final> 062A 062E 064A;;;;N;;;;;
+FDA2;ARABIC LIGATURE TEH WITH KHAH WITH ALEF MAKSURA FINAL FORM;Lo;0;AL;<final> 062A 062E 0649;;;;N;;;;;
+FDA3;ARABIC LIGATURE TEH WITH MEEM WITH YEH FINAL FORM;Lo;0;AL;<final> 062A 0645 064A;;;;N;;;;;
+FDA4;ARABIC LIGATURE TEH WITH MEEM WITH ALEF MAKSURA FINAL FORM;Lo;0;AL;<final> 062A 0645 0649;;;;N;;;;;
+FDA5;ARABIC LIGATURE JEEM WITH MEEM WITH YEH FINAL FORM;Lo;0;AL;<final> 062C 0645 064A;;;;N;;;;;
+FDA6;ARABIC LIGATURE JEEM WITH HAH WITH ALEF MAKSURA FINAL FORM;Lo;0;AL;<final> 062C 062D 0649;;;;N;;;;;
+FDA7;ARABIC LIGATURE JEEM WITH MEEM WITH ALEF MAKSURA FINAL FORM;Lo;0;AL;<final> 062C 0645 0649;;;;N;;;;;
+FDA8;ARABIC LIGATURE SEEN WITH KHAH WITH ALEF MAKSURA FINAL FORM;Lo;0;AL;<final> 0633 062E 0649;;;;N;;;;;
+FDA9;ARABIC LIGATURE SAD WITH HAH WITH YEH FINAL FORM;Lo;0;AL;<final> 0635 062D 064A;;;;N;;;;;
+FDAA;ARABIC LIGATURE SHEEN WITH HAH WITH YEH FINAL FORM;Lo;0;AL;<final> 0634 062D 064A;;;;N;;;;;
+FDAB;ARABIC LIGATURE DAD WITH HAH WITH YEH FINAL FORM;Lo;0;AL;<final> 0636 062D 064A;;;;N;;;;;
+FDAC;ARABIC LIGATURE LAM WITH JEEM WITH YEH FINAL FORM;Lo;0;AL;<final> 0644 062C 064A;;;;N;;;;;
+FDAD;ARABIC LIGATURE LAM WITH MEEM WITH YEH FINAL FORM;Lo;0;AL;<final> 0644 0645 064A;;;;N;;;;;
+FDAE;ARABIC LIGATURE YEH WITH HAH WITH YEH FINAL FORM;Lo;0;AL;<final> 064A 062D 064A;;;;N;;;;;
+FDAF;ARABIC LIGATURE YEH WITH JEEM WITH YEH FINAL FORM;Lo;0;AL;<final> 064A 062C 064A;;;;N;;;;;
+FDB0;ARABIC LIGATURE YEH WITH MEEM WITH YEH FINAL FORM;Lo;0;AL;<final> 064A 0645 064A;;;;N;;;;;
+FDB1;ARABIC LIGATURE MEEM WITH MEEM WITH YEH FINAL FORM;Lo;0;AL;<final> 0645 0645 064A;;;;N;;;;;
+FDB2;ARABIC LIGATURE QAF WITH MEEM WITH YEH FINAL FORM;Lo;0;AL;<final> 0642 0645 064A;;;;N;;;;;
+FDB3;ARABIC LIGATURE NOON WITH HAH WITH YEH FINAL FORM;Lo;0;AL;<final> 0646 062D 064A;;;;N;;;;;
+FDB4;ARABIC LIGATURE QAF WITH MEEM WITH HAH INITIAL FORM;Lo;0;AL;<initial> 0642 0645 062D;;;;N;;;;;
+FDB5;ARABIC LIGATURE LAM WITH HAH WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 0644 062D 0645;;;;N;;;;;
+FDB6;ARABIC LIGATURE AIN WITH MEEM WITH YEH FINAL FORM;Lo;0;AL;<final> 0639 0645 064A;;;;N;;;;;
+FDB7;ARABIC LIGATURE KAF WITH MEEM WITH YEH FINAL FORM;Lo;0;AL;<final> 0643 0645 064A;;;;N;;;;;
+FDB8;ARABIC LIGATURE NOON WITH JEEM WITH HAH INITIAL FORM;Lo;0;AL;<initial> 0646 062C 062D;;;;N;;;;;
+FDB9;ARABIC LIGATURE MEEM WITH KHAH WITH YEH FINAL FORM;Lo;0;AL;<final> 0645 062E 064A;;;;N;;;;;
+FDBA;ARABIC LIGATURE LAM WITH JEEM WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 0644 062C 0645;;;;N;;;;;
+FDBB;ARABIC LIGATURE KAF WITH MEEM WITH MEEM FINAL FORM;Lo;0;AL;<final> 0643 0645 0645;;;;N;;;;;
+FDBC;ARABIC LIGATURE LAM WITH JEEM WITH MEEM FINAL FORM;Lo;0;AL;<final> 0644 062C 0645;;;;N;;;;;
+FDBD;ARABIC LIGATURE NOON WITH JEEM WITH HAH FINAL FORM;Lo;0;AL;<final> 0646 062C 062D;;;;N;;;;;
+FDBE;ARABIC LIGATURE JEEM WITH HAH WITH YEH FINAL FORM;Lo;0;AL;<final> 062C 062D 064A;;;;N;;;;;
+FDBF;ARABIC LIGATURE HAH WITH JEEM WITH YEH FINAL FORM;Lo;0;AL;<final> 062D 062C 064A;;;;N;;;;;
+FDC0;ARABIC LIGATURE MEEM WITH JEEM WITH YEH FINAL FORM;Lo;0;AL;<final> 0645 062C 064A;;;;N;;;;;
+FDC1;ARABIC LIGATURE FEH WITH MEEM WITH YEH FINAL FORM;Lo;0;AL;<final> 0641 0645 064A;;;;N;;;;;
+FDC2;ARABIC LIGATURE BEH WITH HAH WITH YEH FINAL FORM;Lo;0;AL;<final> 0628 062D 064A;;;;N;;;;;
+FDC3;ARABIC LIGATURE KAF WITH MEEM WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 0643 0645 0645;;;;N;;;;;
+FDC4;ARABIC LIGATURE AIN WITH JEEM WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 0639 062C 0645;;;;N;;;;;
+FDC5;ARABIC LIGATURE SAD WITH MEEM WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 0635 0645 0645;;;;N;;;;;
+FDC6;ARABIC LIGATURE SEEN WITH KHAH WITH YEH FINAL FORM;Lo;0;AL;<final> 0633 062E 064A;;;;N;;;;;
+FDC7;ARABIC LIGATURE NOON WITH JEEM WITH YEH FINAL FORM;Lo;0;AL;<final> 0646 062C 064A;;;;N;;;;;
+FDF0;ARABIC LIGATURE SALLA USED AS KORANIC STOP SIGN ISOLATED FORM;Lo;0;AL;<isolated> 0635 0644 06D2;;;;N;;;;;
+FDF1;ARABIC LIGATURE QALA USED AS KORANIC STOP SIGN ISOLATED FORM;Lo;0;AL;<isolated> 0642 0644 06D2;;;;N;;;;;
+FDF2;ARABIC LIGATURE ALLAH ISOLATED FORM;Lo;0;AL;<isolated> 0627 0644 0644 0647;;;;N;;;;;
+FDF3;ARABIC LIGATURE AKBAR ISOLATED FORM;Lo;0;AL;<isolated> 0627 0643 0628 0631;;;;N;;;;;
+FDF4;ARABIC LIGATURE MOHAMMAD ISOLATED FORM;Lo;0;AL;<isolated> 0645 062D 0645 062F;;;;N;;;;;
+FDF5;ARABIC LIGATURE SALAM ISOLATED FORM;Lo;0;AL;<isolated> 0635 0644 0639 0645;;;;N;;;;;
+FDF6;ARABIC LIGATURE RASOUL ISOLATED FORM;Lo;0;AL;<isolated> 0631 0633 0648 0644;;;;N;;;;;
+FDF7;ARABIC LIGATURE ALAYHE ISOLATED FORM;Lo;0;AL;<isolated> 0639 0644 064A 0647;;;;N;;;;;
+FDF8;ARABIC LIGATURE WASALLAM ISOLATED FORM;Lo;0;AL;<isolated> 0648 0633 0644 0645;;;;N;;;;;
+FDF9;ARABIC LIGATURE SALLA ISOLATED FORM;Lo;0;AL;<isolated> 0635 0644 0649;;;;N;;;;;
+FDFA;ARABIC LIGATURE SALLALLAHOU ALAYHE WASALLAM;Lo;0;AL;<isolated> 0635 0644 0649 0020 0627 0644 0644 0647 0020 0639 0644 064A 0647 0020 0648 0633 0644 0645;;;;N;ARABIC LETTER SALLALLAHOU ALAYHE WASALLAM;;;;
+FDFB;ARABIC LIGATURE JALLAJALALOUHOU;Lo;0;AL;<isolated> 062C 0644 0020 062C 0644 0627 0644 0647;;;;N;ARABIC LETTER JALLAJALALOUHOU;;;;
+FDFC;RIAL SIGN;Sc;0;AL;<isolated> 0631 06CC 0627 0644;;;;N;;;;;
+FDFD;ARABIC LIGATURE BISMILLAH AR-RAHMAN AR-RAHEEM;So;0;ON;;;;;N;;;;;
+FE00;VARIATION SELECTOR-1;Mn;0;NSM;;;;;N;;;;;
+FE01;VARIATION SELECTOR-2;Mn;0;NSM;;;;;N;;;;;
+FE02;VARIATION SELECTOR-3;Mn;0;NSM;;;;;N;;;;;
+FE03;VARIATION SELECTOR-4;Mn;0;NSM;;;;;N;;;;;
+FE04;VARIATION SELECTOR-5;Mn;0;NSM;;;;;N;;;;;
+FE05;VARIATION SELECTOR-6;Mn;0;NSM;;;;;N;;;;;
+FE06;VARIATION SELECTOR-7;Mn;0;NSM;;;;;N;;;;;
+FE07;VARIATION SELECTOR-8;Mn;0;NSM;;;;;N;;;;;
+FE08;VARIATION SELECTOR-9;Mn;0;NSM;;;;;N;;;;;
+FE09;VARIATION SELECTOR-10;Mn;0;NSM;;;;;N;;;;;
+FE0A;VARIATION SELECTOR-11;Mn;0;NSM;;;;;N;;;;;
+FE0B;VARIATION SELECTOR-12;Mn;0;NSM;;;;;N;;;;;
+FE0C;VARIATION SELECTOR-13;Mn;0;NSM;;;;;N;;;;;
+FE0D;VARIATION SELECTOR-14;Mn;0;NSM;;;;;N;;;;;
+FE0E;VARIATION SELECTOR-15;Mn;0;NSM;;;;;N;;;;;
+FE0F;VARIATION SELECTOR-16;Mn;0;NSM;;;;;N;;;;;
+FE10;PRESENTATION FORM FOR VERTICAL COMMA;Po;0;ON;<vertical> 002C;;;;N;;;;;
+FE11;PRESENTATION FORM FOR VERTICAL IDEOGRAPHIC COMMA;Po;0;ON;<vertical> 3001;;;;N;;;;;
+FE12;PRESENTATION FORM FOR VERTICAL IDEOGRAPHIC FULL STOP;Po;0;ON;<vertical> 3002;;;;N;;;;;
+FE13;PRESENTATION FORM FOR VERTICAL COLON;Po;0;ON;<vertical> 003A;;;;N;;;;;
+FE14;PRESENTATION FORM FOR VERTICAL SEMICOLON;Po;0;ON;<vertical> 003B;;;;N;;;;;
+FE15;PRESENTATION FORM FOR VERTICAL EXCLAMATION MARK;Po;0;ON;<vertical> 0021;;;;N;;;;;
+FE16;PRESENTATION FORM FOR VERTICAL QUESTION MARK;Po;0;ON;<vertical> 003F;;;;N;;;;;
+FE17;PRESENTATION FORM FOR VERTICAL LEFT WHITE LENTICULAR BRACKET;Ps;0;ON;<vertical> 3016;;;;N;;;;;
+FE18;PRESENTATION FORM FOR VERTICAL RIGHT WHITE LENTICULAR BRAKCET;Pe;0;ON;<vertical> 3017;;;;N;;;;;
+FE19;PRESENTATION FORM FOR VERTICAL HORIZONTAL ELLIPSIS;Po;0;ON;<vertical> 2026;;;;N;;;;;
+FE20;COMBINING LIGATURE LEFT HALF;Mn;230;NSM;;;;;N;;;;;
+FE21;COMBINING LIGATURE RIGHT HALF;Mn;230;NSM;;;;;N;;;;;
+FE22;COMBINING DOUBLE TILDE LEFT HALF;Mn;230;NSM;;;;;N;;;;;
+FE23;COMBINING DOUBLE TILDE RIGHT HALF;Mn;230;NSM;;;;;N;;;;;
+FE30;PRESENTATION FORM FOR VERTICAL TWO DOT LEADER;Po;0;ON;<vertical> 2025;;;;N;GLYPH FOR VERTICAL TWO DOT LEADER;;;;
+FE31;PRESENTATION FORM FOR VERTICAL EM DASH;Pd;0;ON;<vertical> 2014;;;;N;GLYPH FOR VERTICAL EM DASH;;;;
+FE32;PRESENTATION FORM FOR VERTICAL EN DASH;Pd;0;ON;<vertical> 2013;;;;N;GLYPH FOR VERTICAL EN DASH;;;;
+FE33;PRESENTATION FORM FOR VERTICAL LOW LINE;Pc;0;ON;<vertical> 005F;;;;N;GLYPH FOR VERTICAL SPACING UNDERSCORE;;;;
+FE34;PRESENTATION FORM FOR VERTICAL WAVY LOW LINE;Pc;0;ON;<vertical> 005F;;;;N;GLYPH FOR VERTICAL SPACING WAVY UNDERSCORE;;;;
+FE35;PRESENTATION FORM FOR VERTICAL LEFT PARENTHESIS;Ps;0;ON;<vertical> 0028;;;;N;GLYPH FOR VERTICAL OPENING PARENTHESIS;;;;
+FE36;PRESENTATION FORM FOR VERTICAL RIGHT PARENTHESIS;Pe;0;ON;<vertical> 0029;;;;N;GLYPH FOR VERTICAL CLOSING PARENTHESIS;;;;
+FE37;PRESENTATION FORM FOR VERTICAL LEFT CURLY BRACKET;Ps;0;ON;<vertical> 007B;;;;N;GLYPH FOR VERTICAL OPENING CURLY BRACKET;;;;
+FE38;PRESENTATION FORM FOR VERTICAL RIGHT CURLY BRACKET;Pe;0;ON;<vertical> 007D;;;;N;GLYPH FOR VERTICAL CLOSING CURLY BRACKET;;;;
+FE39;PRESENTATION FORM FOR VERTICAL LEFT TORTOISE SHELL BRACKET;Ps;0;ON;<vertical> 3014;;;;N;GLYPH FOR VERTICAL OPENING TORTOISE SHELL BRACKET;;;;
+FE3A;PRESENTATION FORM FOR VERTICAL RIGHT TORTOISE SHELL BRACKET;Pe;0;ON;<vertical> 3015;;;;N;GLYPH FOR VERTICAL CLOSING TORTOISE SHELL BRACKET;;;;
+FE3B;PRESENTATION FORM FOR VERTICAL LEFT BLACK LENTICULAR BRACKET;Ps;0;ON;<vertical> 3010;;;;N;GLYPH FOR VERTICAL OPENING BLACK LENTICULAR BRACKET;;;;
+FE3C;PRESENTATION FORM FOR VERTICAL RIGHT BLACK LENTICULAR BRACKET;Pe;0;ON;<vertical> 3011;;;;N;GLYPH FOR VERTICAL CLOSING BLACK LENTICULAR BRACKET;;;;
+FE3D;PRESENTATION FORM FOR VERTICAL LEFT DOUBLE ANGLE BRACKET;Ps;0;ON;<vertical> 300A;;;;N;GLYPH FOR VERTICAL OPENING DOUBLE ANGLE BRACKET;;;;
+FE3E;PRESENTATION FORM FOR VERTICAL RIGHT DOUBLE ANGLE BRACKET;Pe;0;ON;<vertical> 300B;;;;N;GLYPH FOR VERTICAL CLOSING DOUBLE ANGLE BRACKET;;;;
+FE3F;PRESENTATION FORM FOR VERTICAL LEFT ANGLE BRACKET;Ps;0;ON;<vertical> 3008;;;;N;GLYPH FOR VERTICAL OPENING ANGLE BRACKET;;;;
+FE40;PRESENTATION FORM FOR VERTICAL RIGHT ANGLE BRACKET;Pe;0;ON;<vertical> 3009;;;;N;GLYPH FOR VERTICAL CLOSING ANGLE BRACKET;;;;
+FE41;PRESENTATION FORM FOR VERTICAL LEFT CORNER BRACKET;Ps;0;ON;<vertical> 300C;;;;N;GLYPH FOR VERTICAL OPENING CORNER BRACKET;;;;
+FE42;PRESENTATION FORM FOR VERTICAL RIGHT CORNER BRACKET;Pe;0;ON;<vertical> 300D;;;;N;GLYPH FOR VERTICAL CLOSING CORNER BRACKET;;;;
+FE43;PRESENTATION FORM FOR VERTICAL LEFT WHITE CORNER BRACKET;Ps;0;ON;<vertical> 300E;;;;N;GLYPH FOR VERTICAL OPENING WHITE CORNER BRACKET;;;;
+FE44;PRESENTATION FORM FOR VERTICAL RIGHT WHITE CORNER BRACKET;Pe;0;ON;<vertical> 300F;;;;N;GLYPH FOR VERTICAL CLOSING WHITE CORNER BRACKET;;;;
+FE45;SESAME DOT;Po;0;ON;;;;;N;;;;;
+FE46;WHITE SESAME DOT;Po;0;ON;;;;;N;;;;;
+FE47;PRESENTATION FORM FOR VERTICAL LEFT SQUARE BRACKET;Ps;0;ON;<vertical> 005B;;;;N;;;;;
+FE48;PRESENTATION FORM FOR VERTICAL RIGHT SQUARE BRACKET;Pe;0;ON;<vertical> 005D;;;;N;;;;;
+FE49;DASHED OVERLINE;Po;0;ON;<compat> 203E;;;;N;SPACING DASHED OVERSCORE;;;;
+FE4A;CENTRELINE OVERLINE;Po;0;ON;<compat> 203E;;;;N;SPACING CENTERLINE OVERSCORE;;;;
+FE4B;WAVY OVERLINE;Po;0;ON;<compat> 203E;;;;N;SPACING WAVY OVERSCORE;;;;
+FE4C;DOUBLE WAVY OVERLINE;Po;0;ON;<compat> 203E;;;;N;SPACING DOUBLE WAVY OVERSCORE;;;;
+FE4D;DASHED LOW LINE;Pc;0;ON;<compat> 005F;;;;N;SPACING DASHED UNDERSCORE;;;;
+FE4E;CENTRELINE LOW LINE;Pc;0;ON;<compat> 005F;;;;N;SPACING CENTERLINE UNDERSCORE;;;;
+FE4F;WAVY LOW LINE;Pc;0;ON;<compat> 005F;;;;N;SPACING WAVY UNDERSCORE;;;;
+FE50;SMALL COMMA;Po;0;CS;<small> 002C;;;;N;;;;;
+FE51;SMALL IDEOGRAPHIC COMMA;Po;0;ON;<small> 3001;;;;N;;;;;
+FE52;SMALL FULL STOP;Po;0;CS;<small> 002E;;;;N;SMALL PERIOD;;;;
+FE54;SMALL SEMICOLON;Po;0;ON;<small> 003B;;;;N;;;;;
+FE55;SMALL COLON;Po;0;CS;<small> 003A;;;;N;;;;;
+FE56;SMALL QUESTION MARK;Po;0;ON;<small> 003F;;;;N;;;;;
+FE57;SMALL EXCLAMATION MARK;Po;0;ON;<small> 0021;;;;N;;;;;
+FE58;SMALL EM DASH;Pd;0;ON;<small> 2014;;;;N;;;;;
+FE59;SMALL LEFT PARENTHESIS;Ps;0;ON;<small> 0028;;;;N;SMALL OPENING PARENTHESIS;;;;
+FE5A;SMALL RIGHT PARENTHESIS;Pe;0;ON;<small> 0029;;;;N;SMALL CLOSING PARENTHESIS;;;;
+FE5B;SMALL LEFT CURLY BRACKET;Ps;0;ON;<small> 007B;;;;N;SMALL OPENING CURLY BRACKET;;;;
+FE5C;SMALL RIGHT CURLY BRACKET;Pe;0;ON;<small> 007D;;;;N;SMALL CLOSING CURLY BRACKET;;;;
+FE5D;SMALL LEFT TORTOISE SHELL BRACKET;Ps;0;ON;<small> 3014;;;;N;SMALL OPENING TORTOISE SHELL BRACKET;;;;
+FE5E;SMALL RIGHT TORTOISE SHELL BRACKET;Pe;0;ON;<small> 3015;;;;N;SMALL CLOSING TORTOISE SHELL BRACKET;;;;
+FE5F;SMALL NUMBER SIGN;Po;0;ET;<small> 0023;;;;N;;;;;
+FE60;SMALL AMPERSAND;Po;0;ON;<small> 0026;;;;N;;;;;
+FE61;SMALL ASTERISK;Po;0;ON;<small> 002A;;;;N;;;;;
+FE62;SMALL PLUS SIGN;Sm;0;ES;<small> 002B;;;;N;;;;;
+FE63;SMALL HYPHEN-MINUS;Pd;0;ES;<small> 002D;;;;N;;;;;
+FE64;SMALL LESS-THAN SIGN;Sm;0;ON;<small> 003C;;;;N;;;;;
+FE65;SMALL GREATER-THAN SIGN;Sm;0;ON;<small> 003E;;;;N;;;;;
+FE66;SMALL EQUALS SIGN;Sm;0;ON;<small> 003D;;;;N;;;;;
+FE68;SMALL REVERSE SOLIDUS;Po;0;ON;<small> 005C;;;;N;SMALL BACKSLASH;;;;
+FE69;SMALL DOLLAR SIGN;Sc;0;ET;<small> 0024;;;;N;;;;;
+FE6A;SMALL PERCENT SIGN;Po;0;ET;<small> 0025;;;;N;;;;;
+FE6B;SMALL COMMERCIAL AT;Po;0;ON;<small> 0040;;;;N;;;;;
+FE70;ARABIC FATHATAN ISOLATED FORM;Lo;0;AL;<isolated> 0020 064B;;;;N;ARABIC SPACING FATHATAN;;;;
+FE71;ARABIC TATWEEL WITH FATHATAN ABOVE;Lo;0;AL;<medial> 0640 064B;;;;N;ARABIC FATHATAN ON TATWEEL;;;;
+FE72;ARABIC DAMMATAN ISOLATED FORM;Lo;0;AL;<isolated> 0020 064C;;;;N;ARABIC SPACING DAMMATAN;;;;
+FE73;ARABIC TAIL FRAGMENT;Lo;0;AL;;;;;N;;;;;
+FE74;ARABIC KASRATAN ISOLATED FORM;Lo;0;AL;<isolated> 0020 064D;;;;N;ARABIC SPACING KASRATAN;;;;
+FE76;ARABIC FATHA ISOLATED FORM;Lo;0;AL;<isolated> 0020 064E;;;;N;ARABIC SPACING FATHAH;;;;
+FE77;ARABIC FATHA MEDIAL FORM;Lo;0;AL;<medial> 0640 064E;;;;N;ARABIC FATHAH ON TATWEEL;;;;
+FE78;ARABIC DAMMA ISOLATED FORM;Lo;0;AL;<isolated> 0020 064F;;;;N;ARABIC SPACING DAMMAH;;;;
+FE79;ARABIC DAMMA MEDIAL FORM;Lo;0;AL;<medial> 0640 064F;;;;N;ARABIC DAMMAH ON TATWEEL;;;;
+FE7A;ARABIC KASRA ISOLATED FORM;Lo;0;AL;<isolated> 0020 0650;;;;N;ARABIC SPACING KASRAH;;;;
+FE7B;ARABIC KASRA MEDIAL FORM;Lo;0;AL;<medial> 0640 0650;;;;N;ARABIC KASRAH ON TATWEEL;;;;
+FE7C;ARABIC SHADDA ISOLATED FORM;Lo;0;AL;<isolated> 0020 0651;;;;N;ARABIC SPACING SHADDAH;;;;
+FE7D;ARABIC SHADDA MEDIAL FORM;Lo;0;AL;<medial> 0640 0651;;;;N;ARABIC SHADDAH ON TATWEEL;;;;
+FE7E;ARABIC SUKUN ISOLATED FORM;Lo;0;AL;<isolated> 0020 0652;;;;N;ARABIC SPACING SUKUN;;;;
+FE7F;ARABIC SUKUN MEDIAL FORM;Lo;0;AL;<medial> 0640 0652;;;;N;ARABIC SUKUN ON TATWEEL;;;;
+FE80;ARABIC LETTER HAMZA ISOLATED FORM;Lo;0;AL;<isolated> 0621;;;;N;GLYPH FOR ISOLATE ARABIC HAMZAH;;;;
+FE81;ARABIC LETTER ALEF WITH MADDA ABOVE ISOLATED FORM;Lo;0;AL;<isolated> 0622;;;;N;GLYPH FOR ISOLATE ARABIC MADDAH ON ALEF;;;;
+FE82;ARABIC LETTER ALEF WITH MADDA ABOVE FINAL FORM;Lo;0;AL;<final> 0622;;;;N;GLYPH FOR FINAL ARABIC MADDAH ON ALEF;;;;
+FE83;ARABIC LETTER ALEF WITH HAMZA ABOVE ISOLATED FORM;Lo;0;AL;<isolated> 0623;;;;N;GLYPH FOR ISOLATE ARABIC HAMZAH ON ALEF;;;;
+FE84;ARABIC LETTER ALEF WITH HAMZA ABOVE FINAL FORM;Lo;0;AL;<final> 0623;;;;N;GLYPH FOR FINAL ARABIC HAMZAH ON ALEF;;;;
+FE85;ARABIC LETTER WAW WITH HAMZA ABOVE ISOLATED FORM;Lo;0;AL;<isolated> 0624;;;;N;GLYPH FOR ISOLATE ARABIC HAMZAH ON WAW;;;;
+FE86;ARABIC LETTER WAW WITH HAMZA ABOVE FINAL FORM;Lo;0;AL;<final> 0624;;;;N;GLYPH FOR FINAL ARABIC HAMZAH ON WAW;;;;
+FE87;ARABIC LETTER ALEF WITH HAMZA BELOW ISOLATED FORM;Lo;0;AL;<isolated> 0625;;;;N;GLYPH FOR ISOLATE ARABIC HAMZAH UNDER ALEF;;;;
+FE88;ARABIC LETTER ALEF WITH HAMZA BELOW FINAL FORM;Lo;0;AL;<final> 0625;;;;N;GLYPH FOR FINAL ARABIC HAMZAH UNDER ALEF;;;;
+FE89;ARABIC LETTER YEH WITH HAMZA ABOVE ISOLATED FORM;Lo;0;AL;<isolated> 0626;;;;N;GLYPH FOR ISOLATE ARABIC HAMZAH ON YA;;;;
+FE8A;ARABIC LETTER YEH WITH HAMZA ABOVE FINAL FORM;Lo;0;AL;<final> 0626;;;;N;GLYPH FOR FINAL ARABIC HAMZAH ON YA;;;;
+FE8B;ARABIC LETTER YEH WITH HAMZA ABOVE INITIAL FORM;Lo;0;AL;<initial> 0626;;;;N;GLYPH FOR INITIAL ARABIC HAMZAH ON YA;;;;
+FE8C;ARABIC LETTER YEH WITH HAMZA ABOVE MEDIAL FORM;Lo;0;AL;<medial> 0626;;;;N;GLYPH FOR MEDIAL ARABIC HAMZAH ON YA;;;;
+FE8D;ARABIC LETTER ALEF ISOLATED FORM;Lo;0;AL;<isolated> 0627;;;;N;GLYPH FOR ISOLATE ARABIC ALEF;;;;
+FE8E;ARABIC LETTER ALEF FINAL FORM;Lo;0;AL;<final> 0627;;;;N;GLYPH FOR FINAL ARABIC ALEF;;;;
+FE8F;ARABIC LETTER BEH ISOLATED FORM;Lo;0;AL;<isolated> 0628;;;;N;GLYPH FOR ISOLATE ARABIC BAA;;;;
+FE90;ARABIC LETTER BEH FINAL FORM;Lo;0;AL;<final> 0628;;;;N;GLYPH FOR FINAL ARABIC BAA;;;;
+FE91;ARABIC LETTER BEH INITIAL FORM;Lo;0;AL;<initial> 0628;;;;N;GLYPH FOR INITIAL ARABIC BAA;;;;
+FE92;ARABIC LETTER BEH MEDIAL FORM;Lo;0;AL;<medial> 0628;;;;N;GLYPH FOR MEDIAL ARABIC BAA;;;;
+FE93;ARABIC LETTER TEH MARBUTA ISOLATED FORM;Lo;0;AL;<isolated> 0629;;;;N;GLYPH FOR ISOLATE ARABIC TAA MARBUTAH;;;;
+FE94;ARABIC LETTER TEH MARBUTA FINAL FORM;Lo;0;AL;<final> 0629;;;;N;GLYPH FOR FINAL ARABIC TAA MARBUTAH;;;;
+FE95;ARABIC LETTER TEH ISOLATED FORM;Lo;0;AL;<isolated> 062A;;;;N;GLYPH FOR ISOLATE ARABIC TAA;;;;
+FE96;ARABIC LETTER TEH FINAL FORM;Lo;0;AL;<final> 062A;;;;N;GLYPH FOR FINAL ARABIC TAA;;;;
+FE97;ARABIC LETTER TEH INITIAL FORM;Lo;0;AL;<initial> 062A;;;;N;GLYPH FOR INITIAL ARABIC TAA;;;;
+FE98;ARABIC LETTER TEH MEDIAL FORM;Lo;0;AL;<medial> 062A;;;;N;GLYPH FOR MEDIAL ARABIC TAA;;;;
+FE99;ARABIC LETTER THEH ISOLATED FORM;Lo;0;AL;<isolated> 062B;;;;N;GLYPH FOR ISOLATE ARABIC THAA;;;;
+FE9A;ARABIC LETTER THEH FINAL FORM;Lo;0;AL;<final> 062B;;;;N;GLYPH FOR FINAL ARABIC THAA;;;;
+FE9B;ARABIC LETTER THEH INITIAL FORM;Lo;0;AL;<initial> 062B;;;;N;GLYPH FOR INITIAL ARABIC THAA;;;;
+FE9C;ARABIC LETTER THEH MEDIAL FORM;Lo;0;AL;<medial> 062B;;;;N;GLYPH FOR MEDIAL ARABIC THAA;;;;
+FE9D;ARABIC LETTER JEEM ISOLATED FORM;Lo;0;AL;<isolated> 062C;;;;N;GLYPH FOR ISOLATE ARABIC JEEM;;;;
+FE9E;ARABIC LETTER JEEM FINAL FORM;Lo;0;AL;<final> 062C;;;;N;GLYPH FOR FINAL ARABIC JEEM;;;;
+FE9F;ARABIC LETTER JEEM INITIAL FORM;Lo;0;AL;<initial> 062C;;;;N;GLYPH FOR INITIAL ARABIC JEEM;;;;
+FEA0;ARABIC LETTER JEEM MEDIAL FORM;Lo;0;AL;<medial> 062C;;;;N;GLYPH FOR MEDIAL ARABIC JEEM;;;;
+FEA1;ARABIC LETTER HAH ISOLATED FORM;Lo;0;AL;<isolated> 062D;;;;N;GLYPH FOR ISOLATE ARABIC HAA;;;;
+FEA2;ARABIC LETTER HAH FINAL FORM;Lo;0;AL;<final> 062D;;;;N;GLYPH FOR FINAL ARABIC HAA;;;;
+FEA3;ARABIC LETTER HAH INITIAL FORM;Lo;0;AL;<initial> 062D;;;;N;GLYPH FOR INITIAL ARABIC HAA;;;;
+FEA4;ARABIC LETTER HAH MEDIAL FORM;Lo;0;AL;<medial> 062D;;;;N;GLYPH FOR MEDIAL ARABIC HAA;;;;
+FEA5;ARABIC LETTER KHAH ISOLATED FORM;Lo;0;AL;<isolated> 062E;;;;N;GLYPH FOR ISOLATE ARABIC KHAA;;;;
+FEA6;ARABIC LETTER KHAH FINAL FORM;Lo;0;AL;<final> 062E;;;;N;GLYPH FOR FINAL ARABIC KHAA;;;;
+FEA7;ARABIC LETTER KHAH INITIAL FORM;Lo;0;AL;<initial> 062E;;;;N;GLYPH FOR INITIAL ARABIC KHAA;;;;
+FEA8;ARABIC LETTER KHAH MEDIAL FORM;Lo;0;AL;<medial> 062E;;;;N;GLYPH FOR MEDIAL ARABIC KHAA;;;;
+FEA9;ARABIC LETTER DAL ISOLATED FORM;Lo;0;AL;<isolated> 062F;;;;N;GLYPH FOR ISOLATE ARABIC DAL;;;;
+FEAA;ARABIC LETTER DAL FINAL FORM;Lo;0;AL;<final> 062F;;;;N;GLYPH FOR FINAL ARABIC DAL;;;;
+FEAB;ARABIC LETTER THAL ISOLATED FORM;Lo;0;AL;<isolated> 0630;;;;N;GLYPH FOR ISOLATE ARABIC THAL;;;;
+FEAC;ARABIC LETTER THAL FINAL FORM;Lo;0;AL;<final> 0630;;;;N;GLYPH FOR FINAL ARABIC THAL;;;;
+FEAD;ARABIC LETTER REH ISOLATED FORM;Lo;0;AL;<isolated> 0631;;;;N;GLYPH FOR ISOLATE ARABIC RA;;;;
+FEAE;ARABIC LETTER REH FINAL FORM;Lo;0;AL;<final> 0631;;;;N;GLYPH FOR FINAL ARABIC RA;;;;
+FEAF;ARABIC LETTER ZAIN ISOLATED FORM;Lo;0;AL;<isolated> 0632;;;;N;GLYPH FOR ISOLATE ARABIC ZAIN;;;;
+FEB0;ARABIC LETTER ZAIN FINAL FORM;Lo;0;AL;<final> 0632;;;;N;GLYPH FOR FINAL ARABIC ZAIN;;;;
+FEB1;ARABIC LETTER SEEN ISOLATED FORM;Lo;0;AL;<isolated> 0633;;;;N;GLYPH FOR ISOLATE ARABIC SEEN;;;;
+FEB2;ARABIC LETTER SEEN FINAL FORM;Lo;0;AL;<final> 0633;;;;N;GLYPH FOR FINAL ARABIC SEEN;;;;
+FEB3;ARABIC LETTER SEEN INITIAL FORM;Lo;0;AL;<initial> 0633;;;;N;GLYPH FOR INITIAL ARABIC SEEN;;;;
+FEB4;ARABIC LETTER SEEN MEDIAL FORM;Lo;0;AL;<medial> 0633;;;;N;GLYPH FOR MEDIAL ARABIC SEEN;;;;
+FEB5;ARABIC LETTER SHEEN ISOLATED FORM;Lo;0;AL;<isolated> 0634;;;;N;GLYPH FOR ISOLATE ARABIC SHEEN;;;;
+FEB6;ARABIC LETTER SHEEN FINAL FORM;Lo;0;AL;<final> 0634;;;;N;GLYPH FOR FINAL ARABIC SHEEN;;;;
+FEB7;ARABIC LETTER SHEEN INITIAL FORM;Lo;0;AL;<initial> 0634;;;;N;GLYPH FOR INITIAL ARABIC SHEEN;;;;
+FEB8;ARABIC LETTER SHEEN MEDIAL FORM;Lo;0;AL;<medial> 0634;;;;N;GLYPH FOR MEDIAL ARABIC SHEEN;;;;
+FEB9;ARABIC LETTER SAD ISOLATED FORM;Lo;0;AL;<isolated> 0635;;;;N;GLYPH FOR ISOLATE ARABIC SAD;;;;
+FEBA;ARABIC LETTER SAD FINAL FORM;Lo;0;AL;<final> 0635;;;;N;GLYPH FOR FINAL ARABIC SAD;;;;
+FEBB;ARABIC LETTER SAD INITIAL FORM;Lo;0;AL;<initial> 0635;;;;N;GLYPH FOR INITIAL ARABIC SAD;;;;
+FEBC;ARABIC LETTER SAD MEDIAL FORM;Lo;0;AL;<medial> 0635;;;;N;GLYPH FOR MEDIAL ARABIC SAD;;;;
+FEBD;ARABIC LETTER DAD ISOLATED FORM;Lo;0;AL;<isolated> 0636;;;;N;GLYPH FOR ISOLATE ARABIC DAD;;;;
+FEBE;ARABIC LETTER DAD FINAL FORM;Lo;0;AL;<final> 0636;;;;N;GLYPH FOR FINAL ARABIC DAD;;;;
+FEBF;ARABIC LETTER DAD INITIAL FORM;Lo;0;AL;<initial> 0636;;;;N;GLYPH FOR INITIAL ARABIC DAD;;;;
+FEC0;ARABIC LETTER DAD MEDIAL FORM;Lo;0;AL;<medial> 0636;;;;N;GLYPH FOR MEDIAL ARABIC DAD;;;;
+FEC1;ARABIC LETTER TAH ISOLATED FORM;Lo;0;AL;<isolated> 0637;;;;N;GLYPH FOR ISOLATE ARABIC TAH;;;;
+FEC2;ARABIC LETTER TAH FINAL FORM;Lo;0;AL;<final> 0637;;;;N;GLYPH FOR FINAL ARABIC TAH;;;;
+FEC3;ARABIC LETTER TAH INITIAL FORM;Lo;0;AL;<initial> 0637;;;;N;GLYPH FOR INITIAL ARABIC TAH;;;;
+FEC4;ARABIC LETTER TAH MEDIAL FORM;Lo;0;AL;<medial> 0637;;;;N;GLYPH FOR MEDIAL ARABIC TAH;;;;
+FEC5;ARABIC LETTER ZAH ISOLATED FORM;Lo;0;AL;<isolated> 0638;;;;N;GLYPH FOR ISOLATE ARABIC DHAH;;;;
+FEC6;ARABIC LETTER ZAH FINAL FORM;Lo;0;AL;<final> 0638;;;;N;GLYPH FOR FINAL ARABIC DHAH;;;;
+FEC7;ARABIC LETTER ZAH INITIAL FORM;Lo;0;AL;<initial> 0638;;;;N;GLYPH FOR INITIAL ARABIC DHAH;;;;
+FEC8;ARABIC LETTER ZAH MEDIAL FORM;Lo;0;AL;<medial> 0638;;;;N;GLYPH FOR MEDIAL ARABIC DHAH;;;;
+FEC9;ARABIC LETTER AIN ISOLATED FORM;Lo;0;AL;<isolated> 0639;;;;N;GLYPH FOR ISOLATE ARABIC AIN;;;;
+FECA;ARABIC LETTER AIN FINAL FORM;Lo;0;AL;<final> 0639;;;;N;GLYPH FOR FINAL ARABIC AIN;;;;
+FECB;ARABIC LETTER AIN INITIAL FORM;Lo;0;AL;<initial> 0639;;;;N;GLYPH FOR INITIAL ARABIC AIN;;;;
+FECC;ARABIC LETTER AIN MEDIAL FORM;Lo;0;AL;<medial> 0639;;;;N;GLYPH FOR MEDIAL ARABIC AIN;;;;
+FECD;ARABIC LETTER GHAIN ISOLATED FORM;Lo;0;AL;<isolated> 063A;;;;N;GLYPH FOR ISOLATE ARABIC GHAIN;;;;
+FECE;ARABIC LETTER GHAIN FINAL FORM;Lo;0;AL;<final> 063A;;;;N;GLYPH FOR FINAL ARABIC GHAIN;;;;
+FECF;ARABIC LETTER GHAIN INITIAL FORM;Lo;0;AL;<initial> 063A;;;;N;GLYPH FOR INITIAL ARABIC GHAIN;;;;
+FED0;ARABIC LETTER GHAIN MEDIAL FORM;Lo;0;AL;<medial> 063A;;;;N;GLYPH FOR MEDIAL ARABIC GHAIN;;;;
+FED1;ARABIC LETTER FEH ISOLATED FORM;Lo;0;AL;<isolated> 0641;;;;N;GLYPH FOR ISOLATE ARABIC FA;;;;
+FED2;ARABIC LETTER FEH FINAL FORM;Lo;0;AL;<final> 0641;;;;N;GLYPH FOR FINAL ARABIC FA;;;;
+FED3;ARABIC LETTER FEH INITIAL FORM;Lo;0;AL;<initial> 0641;;;;N;GLYPH FOR INITIAL ARABIC FA;;;;
+FED4;ARABIC LETTER FEH MEDIAL FORM;Lo;0;AL;<medial> 0641;;;;N;GLYPH FOR MEDIAL ARABIC FA;;;;
+FED5;ARABIC LETTER QAF ISOLATED FORM;Lo;0;AL;<isolated> 0642;;;;N;GLYPH FOR ISOLATE ARABIC QAF;;;;
+FED6;ARABIC LETTER QAF FINAL FORM;Lo;0;AL;<final> 0642;;;;N;GLYPH FOR FINAL ARABIC QAF;;;;
+FED7;ARABIC LETTER QAF INITIAL FORM;Lo;0;AL;<initial> 0642;;;;N;GLYPH FOR INITIAL ARABIC QAF;;;;
+FED8;ARABIC LETTER QAF MEDIAL FORM;Lo;0;AL;<medial> 0642;;;;N;GLYPH FOR MEDIAL ARABIC QAF;;;;
+FED9;ARABIC LETTER KAF ISOLATED FORM;Lo;0;AL;<isolated> 0643;;;;N;GLYPH FOR ISOLATE ARABIC CAF;;;;
+FEDA;ARABIC LETTER KAF FINAL FORM;Lo;0;AL;<final> 0643;;;;N;GLYPH FOR FINAL ARABIC CAF;;;;
+FEDB;ARABIC LETTER KAF INITIAL FORM;Lo;0;AL;<initial> 0643;;;;N;GLYPH FOR INITIAL ARABIC CAF;;;;
+FEDC;ARABIC LETTER KAF MEDIAL FORM;Lo;0;AL;<medial> 0643;;;;N;GLYPH FOR MEDIAL ARABIC CAF;;;;
+FEDD;ARABIC LETTER LAM ISOLATED FORM;Lo;0;AL;<isolated> 0644;;;;N;GLYPH FOR ISOLATE ARABIC LAM;;;;
+FEDE;ARABIC LETTER LAM FINAL FORM;Lo;0;AL;<final> 0644;;;;N;GLYPH FOR FINAL ARABIC LAM;;;;
+FEDF;ARABIC LETTER LAM INITIAL FORM;Lo;0;AL;<initial> 0644;;;;N;GLYPH FOR INITIAL ARABIC LAM;;;;
+FEE0;ARABIC LETTER LAM MEDIAL FORM;Lo;0;AL;<medial> 0644;;;;N;GLYPH FOR MEDIAL ARABIC LAM;;;;
+FEE1;ARABIC LETTER MEEM ISOLATED FORM;Lo;0;AL;<isolated> 0645;;;;N;GLYPH FOR ISOLATE ARABIC MEEM;;;;
+FEE2;ARABIC LETTER MEEM FINAL FORM;Lo;0;AL;<final> 0645;;;;N;GLYPH FOR FINAL ARABIC MEEM;;;;
+FEE3;ARABIC LETTER MEEM INITIAL FORM;Lo;0;AL;<initial> 0645;;;;N;GLYPH FOR INITIAL ARABIC MEEM;;;;
+FEE4;ARABIC LETTER MEEM MEDIAL FORM;Lo;0;AL;<medial> 0645;;;;N;GLYPH FOR MEDIAL ARABIC MEEM;;;;
+FEE5;ARABIC LETTER NOON ISOLATED FORM;Lo;0;AL;<isolated> 0646;;;;N;GLYPH FOR ISOLATE ARABIC NOON;;;;
+FEE6;ARABIC LETTER NOON FINAL FORM;Lo;0;AL;<final> 0646;;;;N;GLYPH FOR FINAL ARABIC NOON;;;;
+FEE7;ARABIC LETTER NOON INITIAL FORM;Lo;0;AL;<initial> 0646;;;;N;GLYPH FOR INITIAL ARABIC NOON;;;;
+FEE8;ARABIC LETTER NOON MEDIAL FORM;Lo;0;AL;<medial> 0646;;;;N;GLYPH FOR MEDIAL ARABIC NOON;;;;
+FEE9;ARABIC LETTER HEH ISOLATED FORM;Lo;0;AL;<isolated> 0647;;;;N;GLYPH FOR ISOLATE ARABIC HA;;;;
+FEEA;ARABIC LETTER HEH FINAL FORM;Lo;0;AL;<final> 0647;;;;N;GLYPH FOR FINAL ARABIC HA;;;;
+FEEB;ARABIC LETTER HEH INITIAL FORM;Lo;0;AL;<initial> 0647;;;;N;GLYPH FOR INITIAL ARABIC HA;;;;
+FEEC;ARABIC LETTER HEH MEDIAL FORM;Lo;0;AL;<medial> 0647;;;;N;GLYPH FOR MEDIAL ARABIC HA;;;;
+FEED;ARABIC LETTER WAW ISOLATED FORM;Lo;0;AL;<isolated> 0648;;;;N;GLYPH FOR ISOLATE ARABIC WAW;;;;
+FEEE;ARABIC LETTER WAW FINAL FORM;Lo;0;AL;<final> 0648;;;;N;GLYPH FOR FINAL ARABIC WAW;;;;
+FEEF;ARABIC LETTER ALEF MAKSURA ISOLATED FORM;Lo;0;AL;<isolated> 0649;;;;N;GLYPH FOR ISOLATE ARABIC ALEF MAQSURAH;;;;
+FEF0;ARABIC LETTER ALEF MAKSURA FINAL FORM;Lo;0;AL;<final> 0649;;;;N;GLYPH FOR FINAL ARABIC ALEF MAQSURAH;;;;
+FEF1;ARABIC LETTER YEH ISOLATED FORM;Lo;0;AL;<isolated> 064A;;;;N;GLYPH FOR ISOLATE ARABIC YA;;;;
+FEF2;ARABIC LETTER YEH FINAL FORM;Lo;0;AL;<final> 064A;;;;N;GLYPH FOR FINAL ARABIC YA;;;;
+FEF3;ARABIC LETTER YEH INITIAL FORM;Lo;0;AL;<initial> 064A;;;;N;GLYPH FOR INITIAL ARABIC YA;;;;
+FEF4;ARABIC LETTER YEH MEDIAL FORM;Lo;0;AL;<medial> 064A;;;;N;GLYPH FOR MEDIAL ARABIC YA;;;;
+FEF5;ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE ISOLATED FORM;Lo;0;AL;<isolated> 0644 0622;;;;N;GLYPH FOR ISOLATE ARABIC MADDAH ON LIGATURE LAM ALEF;;;;
+FEF6;ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE FINAL FORM;Lo;0;AL;<final> 0644 0622;;;;N;GLYPH FOR FINAL ARABIC MADDAH ON LIGATURE LAM ALEF;;;;
+FEF7;ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE ISOLATED FORM;Lo;0;AL;<isolated> 0644 0623;;;;N;GLYPH FOR ISOLATE ARABIC HAMZAH ON LIGATURE LAM ALEF;;;;
+FEF8;ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE FINAL FORM;Lo;0;AL;<final> 0644 0623;;;;N;GLYPH FOR FINAL ARABIC HAMZAH ON LIGATURE LAM ALEF;;;;
+FEF9;ARABIC LIGATURE LAM WITH ALEF WITH HAMZA BELOW ISOLATED FORM;Lo;0;AL;<isolated> 0644 0625;;;;N;GLYPH FOR ISOLATE ARABIC HAMZAH UNDER LIGATURE LAM ALEF;;;;
+FEFA;ARABIC LIGATURE LAM WITH ALEF WITH HAMZA BELOW FINAL FORM;Lo;0;AL;<final> 0644 0625;;;;N;GLYPH FOR FINAL ARABIC HAMZAH UNDER LIGATURE LAM ALEF;;;;
+FEFB;ARABIC LIGATURE LAM WITH ALEF ISOLATED FORM;Lo;0;AL;<isolated> 0644 0627;;;;N;GLYPH FOR ISOLATE ARABIC LIGATURE LAM ALEF;;;;
+FEFC;ARABIC LIGATURE LAM WITH ALEF FINAL FORM;Lo;0;AL;<final> 0644 0627;;;;N;GLYPH FOR FINAL ARABIC LIGATURE LAM ALEF;;;;
+FEFF;ZERO WIDTH NO-BREAK SPACE;Cf;0;BN;;;;;N;BYTE ORDER MARK;;;;
+FF01;FULLWIDTH EXCLAMATION MARK;Po;0;ON;<wide> 0021;;;;N;;;;;
+FF02;FULLWIDTH QUOTATION MARK;Po;0;ON;<wide> 0022;;;;N;;;;;
+FF03;FULLWIDTH NUMBER SIGN;Po;0;ET;<wide> 0023;;;;N;;;;;
+FF04;FULLWIDTH DOLLAR SIGN;Sc;0;ET;<wide> 0024;;;;N;;;;;
+FF05;FULLWIDTH PERCENT SIGN;Po;0;ET;<wide> 0025;;;;N;;;;;
+FF06;FULLWIDTH AMPERSAND;Po;0;ON;<wide> 0026;;;;N;;;;;
+FF07;FULLWIDTH APOSTROPHE;Po;0;ON;<wide> 0027;;;;N;;;;;
+FF08;FULLWIDTH LEFT PARENTHESIS;Ps;0;ON;<wide> 0028;;;;Y;FULLWIDTH OPENING PARENTHESIS;;;;
+FF09;FULLWIDTH RIGHT PARENTHESIS;Pe;0;ON;<wide> 0029;;;;Y;FULLWIDTH CLOSING PARENTHESIS;;;;
+FF0A;FULLWIDTH ASTERISK;Po;0;ON;<wide> 002A;;;;N;;;;;
+FF0B;FULLWIDTH PLUS SIGN;Sm;0;ES;<wide> 002B;;;;N;;;;;
+FF0C;FULLWIDTH COMMA;Po;0;CS;<wide> 002C;;;;N;;;;;
+FF0D;FULLWIDTH HYPHEN-MINUS;Pd;0;ES;<wide> 002D;;;;N;;;;;
+FF0E;FULLWIDTH FULL STOP;Po;0;CS;<wide> 002E;;;;N;FULLWIDTH PERIOD;;;;
+FF0F;FULLWIDTH SOLIDUS;Po;0;CS;<wide> 002F;;;;N;FULLWIDTH SLASH;;;;
+FF10;FULLWIDTH DIGIT ZERO;Nd;0;EN;<wide> 0030;0;0;0;N;;;;;
+FF11;FULLWIDTH DIGIT ONE;Nd;0;EN;<wide> 0031;1;1;1;N;;;;;
+FF12;FULLWIDTH DIGIT TWO;Nd;0;EN;<wide> 0032;2;2;2;N;;;;;
+FF13;FULLWIDTH DIGIT THREE;Nd;0;EN;<wide> 0033;3;3;3;N;;;;;
+FF14;FULLWIDTH DIGIT FOUR;Nd;0;EN;<wide> 0034;4;4;4;N;;;;;
+FF15;FULLWIDTH DIGIT FIVE;Nd;0;EN;<wide> 0035;5;5;5;N;;;;;
+FF16;FULLWIDTH DIGIT SIX;Nd;0;EN;<wide> 0036;6;6;6;N;;;;;
+FF17;FULLWIDTH DIGIT SEVEN;Nd;0;EN;<wide> 0037;7;7;7;N;;;;;
+FF18;FULLWIDTH DIGIT EIGHT;Nd;0;EN;<wide> 0038;8;8;8;N;;;;;
+FF19;FULLWIDTH DIGIT NINE;Nd;0;EN;<wide> 0039;9;9;9;N;;;;;
+FF1A;FULLWIDTH COLON;Po;0;CS;<wide> 003A;;;;N;;;;;
+FF1B;FULLWIDTH SEMICOLON;Po;0;ON;<wide> 003B;;;;N;;;;;
+FF1C;FULLWIDTH LESS-THAN SIGN;Sm;0;ON;<wide> 003C;;;;Y;;;;;
+FF1D;FULLWIDTH EQUALS SIGN;Sm;0;ON;<wide> 003D;;;;N;;;;;
+FF1E;FULLWIDTH GREATER-THAN SIGN;Sm;0;ON;<wide> 003E;;;;Y;;;;;
+FF1F;FULLWIDTH QUESTION MARK;Po;0;ON;<wide> 003F;;;;N;;;;;
+FF20;FULLWIDTH COMMERCIAL AT;Po;0;ON;<wide> 0040;;;;N;;;;;
+FF21;FULLWIDTH LATIN CAPITAL LETTER A;Lu;0;L;<wide> 0041;;;;N;;;;FF41;
+FF22;FULLWIDTH LATIN CAPITAL LETTER B;Lu;0;L;<wide> 0042;;;;N;;;;FF42;
+FF23;FULLWIDTH LATIN CAPITAL LETTER C;Lu;0;L;<wide> 0043;;;;N;;;;FF43;
+FF24;FULLWIDTH LATIN CAPITAL LETTER D;Lu;0;L;<wide> 0044;;;;N;;;;FF44;
+FF25;FULLWIDTH LATIN CAPITAL LETTER E;Lu;0;L;<wide> 0045;;;;N;;;;FF45;
+FF26;FULLWIDTH LATIN CAPITAL LETTER F;Lu;0;L;<wide> 0046;;;;N;;;;FF46;
+FF27;FULLWIDTH LATIN CAPITAL LETTER G;Lu;0;L;<wide> 0047;;;;N;;;;FF47;
+FF28;FULLWIDTH LATIN CAPITAL LETTER H;Lu;0;L;<wide> 0048;;;;N;;;;FF48;
+FF29;FULLWIDTH LATIN CAPITAL LETTER I;Lu;0;L;<wide> 0049;;;;N;;;;FF49;
+FF2A;FULLWIDTH LATIN CAPITAL LETTER J;Lu;0;L;<wide> 004A;;;;N;;;;FF4A;
+FF2B;FULLWIDTH LATIN CAPITAL LETTER K;Lu;0;L;<wide> 004B;;;;N;;;;FF4B;
+FF2C;FULLWIDTH LATIN CAPITAL LETTER L;Lu;0;L;<wide> 004C;;;;N;;;;FF4C;
+FF2D;FULLWIDTH LATIN CAPITAL LETTER M;Lu;0;L;<wide> 004D;;;;N;;;;FF4D;
+FF2E;FULLWIDTH LATIN CAPITAL LETTER N;Lu;0;L;<wide> 004E;;;;N;;;;FF4E;
+FF2F;FULLWIDTH LATIN CAPITAL LETTER O;Lu;0;L;<wide> 004F;;;;N;;;;FF4F;
+FF30;FULLWIDTH LATIN CAPITAL LETTER P;Lu;0;L;<wide> 0050;;;;N;;;;FF50;
+FF31;FULLWIDTH LATIN CAPITAL LETTER Q;Lu;0;L;<wide> 0051;;;;N;;;;FF51;
+FF32;FULLWIDTH LATIN CAPITAL LETTER R;Lu;0;L;<wide> 0052;;;;N;;;;FF52;
+FF33;FULLWIDTH LATIN CAPITAL LETTER S;Lu;0;L;<wide> 0053;;;;N;;;;FF53;
+FF34;FULLWIDTH LATIN CAPITAL LETTER T;Lu;0;L;<wide> 0054;;;;N;;;;FF54;
+FF35;FULLWIDTH LATIN CAPITAL LETTER U;Lu;0;L;<wide> 0055;;;;N;;;;FF55;
+FF36;FULLWIDTH LATIN CAPITAL LETTER V;Lu;0;L;<wide> 0056;;;;N;;;;FF56;
+FF37;FULLWIDTH LATIN CAPITAL LETTER W;Lu;0;L;<wide> 0057;;;;N;;;;FF57;
+FF38;FULLWIDTH LATIN CAPITAL LETTER X;Lu;0;L;<wide> 0058;;;;N;;;;FF58;
+FF39;FULLWIDTH LATIN CAPITAL LETTER Y;Lu;0;L;<wide> 0059;;;;N;;;;FF59;
+FF3A;FULLWIDTH LATIN CAPITAL LETTER Z;Lu;0;L;<wide> 005A;;;;N;;;;FF5A;
+FF3B;FULLWIDTH LEFT SQUARE BRACKET;Ps;0;ON;<wide> 005B;;;;Y;FULLWIDTH OPENING SQUARE BRACKET;;;;
+FF3C;FULLWIDTH REVERSE SOLIDUS;Po;0;ON;<wide> 005C;;;;N;FULLWIDTH BACKSLASH;;;;
+FF3D;FULLWIDTH RIGHT SQUARE BRACKET;Pe;0;ON;<wide> 005D;;;;Y;FULLWIDTH CLOSING SQUARE BRACKET;;;;
+FF3E;FULLWIDTH CIRCUMFLEX ACCENT;Sk;0;ON;<wide> 005E;;;;N;FULLWIDTH SPACING CIRCUMFLEX;;;;
+FF3F;FULLWIDTH LOW LINE;Pc;0;ON;<wide> 005F;;;;N;FULLWIDTH SPACING UNDERSCORE;;;;
+FF40;FULLWIDTH GRAVE ACCENT;Sk;0;ON;<wide> 0060;;;;N;FULLWIDTH SPACING GRAVE;;;;
+FF41;FULLWIDTH LATIN SMALL LETTER A;Ll;0;L;<wide> 0061;;;;N;;;FF21;;FF21
+FF42;FULLWIDTH LATIN SMALL LETTER B;Ll;0;L;<wide> 0062;;;;N;;;FF22;;FF22
+FF43;FULLWIDTH LATIN SMALL LETTER C;Ll;0;L;<wide> 0063;;;;N;;;FF23;;FF23
+FF44;FULLWIDTH LATIN SMALL LETTER D;Ll;0;L;<wide> 0064;;;;N;;;FF24;;FF24
+FF45;FULLWIDTH LATIN SMALL LETTER E;Ll;0;L;<wide> 0065;;;;N;;;FF25;;FF25
+FF46;FULLWIDTH LATIN SMALL LETTER F;Ll;0;L;<wide> 0066;;;;N;;;FF26;;FF26
+FF47;FULLWIDTH LATIN SMALL LETTER G;Ll;0;L;<wide> 0067;;;;N;;;FF27;;FF27
+FF48;FULLWIDTH LATIN SMALL LETTER H;Ll;0;L;<wide> 0068;;;;N;;;FF28;;FF28
+FF49;FULLWIDTH LATIN SMALL LETTER I;Ll;0;L;<wide> 0069;;;;N;;;FF29;;FF29
+FF4A;FULLWIDTH LATIN SMALL LETTER J;Ll;0;L;<wide> 006A;;;;N;;;FF2A;;FF2A
+FF4B;FULLWIDTH LATIN SMALL LETTER K;Ll;0;L;<wide> 006B;;;;N;;;FF2B;;FF2B
+FF4C;FULLWIDTH LATIN SMALL LETTER L;Ll;0;L;<wide> 006C;;;;N;;;FF2C;;FF2C
+FF4D;FULLWIDTH LATIN SMALL LETTER M;Ll;0;L;<wide> 006D;;;;N;;;FF2D;;FF2D
+FF4E;FULLWIDTH LATIN SMALL LETTER N;Ll;0;L;<wide> 006E;;;;N;;;FF2E;;FF2E
+FF4F;FULLWIDTH LATIN SMALL LETTER O;Ll;0;L;<wide> 006F;;;;N;;;FF2F;;FF2F
+FF50;FULLWIDTH LATIN SMALL LETTER P;Ll;0;L;<wide> 0070;;;;N;;;FF30;;FF30
+FF51;FULLWIDTH LATIN SMALL LETTER Q;Ll;0;L;<wide> 0071;;;;N;;;FF31;;FF31
+FF52;FULLWIDTH LATIN SMALL LETTER R;Ll;0;L;<wide> 0072;;;;N;;;FF32;;FF32
+FF53;FULLWIDTH LATIN SMALL LETTER S;Ll;0;L;<wide> 0073;;;;N;;;FF33;;FF33
+FF54;FULLWIDTH LATIN SMALL LETTER T;Ll;0;L;<wide> 0074;;;;N;;;FF34;;FF34
+FF55;FULLWIDTH LATIN SMALL LETTER U;Ll;0;L;<wide> 0075;;;;N;;;FF35;;FF35
+FF56;FULLWIDTH LATIN SMALL LETTER V;Ll;0;L;<wide> 0076;;;;N;;;FF36;;FF36
+FF57;FULLWIDTH LATIN SMALL LETTER W;Ll;0;L;<wide> 0077;;;;N;;;FF37;;FF37
+FF58;FULLWIDTH LATIN SMALL LETTER X;Ll;0;L;<wide> 0078;;;;N;;;FF38;;FF38
+FF59;FULLWIDTH LATIN SMALL LETTER Y;Ll;0;L;<wide> 0079;;;;N;;;FF39;;FF39
+FF5A;FULLWIDTH LATIN SMALL LETTER Z;Ll;0;L;<wide> 007A;;;;N;;;FF3A;;FF3A
+FF5B;FULLWIDTH LEFT CURLY BRACKET;Ps;0;ON;<wide> 007B;;;;Y;FULLWIDTH OPENING CURLY BRACKET;;;;
+FF5C;FULLWIDTH VERTICAL LINE;Sm;0;ON;<wide> 007C;;;;N;FULLWIDTH VERTICAL BAR;;;;
+FF5D;FULLWIDTH RIGHT CURLY BRACKET;Pe;0;ON;<wide> 007D;;;;Y;FULLWIDTH CLOSING CURLY BRACKET;;;;
+FF5E;FULLWIDTH TILDE;Sm;0;ON;<wide> 007E;;;;N;FULLWIDTH SPACING TILDE;;;;
+FF5F;FULLWIDTH LEFT WHITE PARENTHESIS;Ps;0;ON;<wide> 2985;;;;Y;;*;;;
+FF60;FULLWIDTH RIGHT WHITE PARENTHESIS;Pe;0;ON;<wide> 2986;;;;Y;;*;;;
+FF61;HALFWIDTH IDEOGRAPHIC FULL STOP;Po;0;ON;<narrow> 3002;;;;N;HALFWIDTH IDEOGRAPHIC PERIOD;;;;
+FF62;HALFWIDTH LEFT CORNER BRACKET;Ps;0;ON;<narrow> 300C;;;;Y;HALFWIDTH OPENING CORNER BRACKET;;;;
+FF63;HALFWIDTH RIGHT CORNER BRACKET;Pe;0;ON;<narrow> 300D;;;;Y;HALFWIDTH CLOSING CORNER BRACKET;;;;
+FF64;HALFWIDTH IDEOGRAPHIC COMMA;Po;0;ON;<narrow> 3001;;;;N;;;;;
+FF65;HALFWIDTH KATAKANA MIDDLE DOT;Po;0;ON;<narrow> 30FB;;;;N;;;;;
+FF66;HALFWIDTH KATAKANA LETTER WO;Lo;0;L;<narrow> 30F2;;;;N;;;;;
+FF67;HALFWIDTH KATAKANA LETTER SMALL A;Lo;0;L;<narrow> 30A1;;;;N;;;;;
+FF68;HALFWIDTH KATAKANA LETTER SMALL I;Lo;0;L;<narrow> 30A3;;;;N;;;;;
+FF69;HALFWIDTH KATAKANA LETTER SMALL U;Lo;0;L;<narrow> 30A5;;;;N;;;;;
+FF6A;HALFWIDTH KATAKANA LETTER SMALL E;Lo;0;L;<narrow> 30A7;;;;N;;;;;
+FF6B;HALFWIDTH KATAKANA LETTER SMALL O;Lo;0;L;<narrow> 30A9;;;;N;;;;;
+FF6C;HALFWIDTH KATAKANA LETTER SMALL YA;Lo;0;L;<narrow> 30E3;;;;N;;;;;
+FF6D;HALFWIDTH KATAKANA LETTER SMALL YU;Lo;0;L;<narrow> 30E5;;;;N;;;;;
+FF6E;HALFWIDTH KATAKANA LETTER SMALL YO;Lo;0;L;<narrow> 30E7;;;;N;;;;;
+FF6F;HALFWIDTH KATAKANA LETTER SMALL TU;Lo;0;L;<narrow> 30C3;;;;N;;;;;
+FF70;HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK;Lm;0;L;<narrow> 30FC;;;;N;;;;;
+FF71;HALFWIDTH KATAKANA LETTER A;Lo;0;L;<narrow> 30A2;;;;N;;;;;
+FF72;HALFWIDTH KATAKANA LETTER I;Lo;0;L;<narrow> 30A4;;;;N;;;;;
+FF73;HALFWIDTH KATAKANA LETTER U;Lo;0;L;<narrow> 30A6;;;;N;;;;;
+FF74;HALFWIDTH KATAKANA LETTER E;Lo;0;L;<narrow> 30A8;;;;N;;;;;
+FF75;HALFWIDTH KATAKANA LETTER O;Lo;0;L;<narrow> 30AA;;;;N;;;;;
+FF76;HALFWIDTH KATAKANA LETTER KA;Lo;0;L;<narrow> 30AB;;;;N;;;;;
+FF77;HALFWIDTH KATAKANA LETTER KI;Lo;0;L;<narrow> 30AD;;;;N;;;;;
+FF78;HALFWIDTH KATAKANA LETTER KU;Lo;0;L;<narrow> 30AF;;;;N;;;;;
+FF79;HALFWIDTH KATAKANA LETTER KE;Lo;0;L;<narrow> 30B1;;;;N;;;;;
+FF7A;HALFWIDTH KATAKANA LETTER KO;Lo;0;L;<narrow> 30B3;;;;N;;;;;
+FF7B;HALFWIDTH KATAKANA LETTER SA;Lo;0;L;<narrow> 30B5;;;;N;;;;;
+FF7C;HALFWIDTH KATAKANA LETTER SI;Lo;0;L;<narrow> 30B7;;;;N;;;;;
+FF7D;HALFWIDTH KATAKANA LETTER SU;Lo;0;L;<narrow> 30B9;;;;N;;;;;
+FF7E;HALFWIDTH KATAKANA LETTER SE;Lo;0;L;<narrow> 30BB;;;;N;;;;;
+FF7F;HALFWIDTH KATAKANA LETTER SO;Lo;0;L;<narrow> 30BD;;;;N;;;;;
+FF80;HALFWIDTH KATAKANA LETTER TA;Lo;0;L;<narrow> 30BF;;;;N;;;;;
+FF81;HALFWIDTH KATAKANA LETTER TI;Lo;0;L;<narrow> 30C1;;;;N;;;;;
+FF82;HALFWIDTH KATAKANA LETTER TU;Lo;0;L;<narrow> 30C4;;;;N;;;;;
+FF83;HALFWIDTH KATAKANA LETTER TE;Lo;0;L;<narrow> 30C6;;;;N;;;;;
+FF84;HALFWIDTH KATAKANA LETTER TO;Lo;0;L;<narrow> 30C8;;;;N;;;;;
+FF85;HALFWIDTH KATAKANA LETTER NA;Lo;0;L;<narrow> 30CA;;;;N;;;;;
+FF86;HALFWIDTH KATAKANA LETTER NI;Lo;0;L;<narrow> 30CB;;;;N;;;;;
+FF87;HALFWIDTH KATAKANA LETTER NU;Lo;0;L;<narrow> 30CC;;;;N;;;;;
+FF88;HALFWIDTH KATAKANA LETTER NE;Lo;0;L;<narrow> 30CD;;;;N;;;;;
+FF89;HALFWIDTH KATAKANA LETTER NO;Lo;0;L;<narrow> 30CE;;;;N;;;;;
+FF8A;HALFWIDTH KATAKANA LETTER HA;Lo;0;L;<narrow> 30CF;;;;N;;;;;
+FF8B;HALFWIDTH KATAKANA LETTER HI;Lo;0;L;<narrow> 30D2;;;;N;;;;;
+FF8C;HALFWIDTH KATAKANA LETTER HU;Lo;0;L;<narrow> 30D5;;;;N;;;;;
+FF8D;HALFWIDTH KATAKANA LETTER HE;Lo;0;L;<narrow> 30D8;;;;N;;;;;
+FF8E;HALFWIDTH KATAKANA LETTER HO;Lo;0;L;<narrow> 30DB;;;;N;;;;;
+FF8F;HALFWIDTH KATAKANA LETTER MA;Lo;0;L;<narrow> 30DE;;;;N;;;;;
+FF90;HALFWIDTH KATAKANA LETTER MI;Lo;0;L;<narrow> 30DF;;;;N;;;;;
+FF91;HALFWIDTH KATAKANA LETTER MU;Lo;0;L;<narrow> 30E0;;;;N;;;;;
+FF92;HALFWIDTH KATAKANA LETTER ME;Lo;0;L;<narrow> 30E1;;;;N;;;;;
+FF93;HALFWIDTH KATAKANA LETTER MO;Lo;0;L;<narrow> 30E2;;;;N;;;;;
+FF94;HALFWIDTH KATAKANA LETTER YA;Lo;0;L;<narrow> 30E4;;;;N;;;;;
+FF95;HALFWIDTH KATAKANA LETTER YU;Lo;0;L;<narrow> 30E6;;;;N;;;;;
+FF96;HALFWIDTH KATAKANA LETTER YO;Lo;0;L;<narrow> 30E8;;;;N;;;;;
+FF97;HALFWIDTH KATAKANA LETTER RA;Lo;0;L;<narrow> 30E9;;;;N;;;;;
+FF98;HALFWIDTH KATAKANA LETTER RI;Lo;0;L;<narrow> 30EA;;;;N;;;;;
+FF99;HALFWIDTH KATAKANA LETTER RU;Lo;0;L;<narrow> 30EB;;;;N;;;;;
+FF9A;HALFWIDTH KATAKANA LETTER RE;Lo;0;L;<narrow> 30EC;;;;N;;;;;
+FF9B;HALFWIDTH KATAKANA LETTER RO;Lo;0;L;<narrow> 30ED;;;;N;;;;;
+FF9C;HALFWIDTH KATAKANA LETTER WA;Lo;0;L;<narrow> 30EF;;;;N;;;;;
+FF9D;HALFWIDTH KATAKANA LETTER N;Lo;0;L;<narrow> 30F3;;;;N;;;;;
+FF9E;HALFWIDTH KATAKANA VOICED SOUND MARK;Lm;0;L;<narrow> 3099;;;;N;;halfwidth katakana-hiragana voiced sound mark;;;
+FF9F;HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK;Lm;0;L;<narrow> 309A;;;;N;;halfwidth katakana-hiragana semi-voiced sound mark;;;
+FFA0;HALFWIDTH HANGUL FILLER;Lo;0;L;<narrow> 3164;;;;N;HALFWIDTH HANGUL CAE OM;;;;
+FFA1;HALFWIDTH HANGUL LETTER KIYEOK;Lo;0;L;<narrow> 3131;;;;N;HALFWIDTH HANGUL LETTER GIYEOG;;;;
+FFA2;HALFWIDTH HANGUL LETTER SSANGKIYEOK;Lo;0;L;<narrow> 3132;;;;N;HALFWIDTH HANGUL LETTER SSANG GIYEOG;;;;
+FFA3;HALFWIDTH HANGUL LETTER KIYEOK-SIOS;Lo;0;L;<narrow> 3133;;;;N;HALFWIDTH HANGUL LETTER GIYEOG SIOS;;;;
+FFA4;HALFWIDTH HANGUL LETTER NIEUN;Lo;0;L;<narrow> 3134;;;;N;;;;;
+FFA5;HALFWIDTH HANGUL LETTER NIEUN-CIEUC;Lo;0;L;<narrow> 3135;;;;N;HALFWIDTH HANGUL LETTER NIEUN JIEUJ;;;;
+FFA6;HALFWIDTH HANGUL LETTER NIEUN-HIEUH;Lo;0;L;<narrow> 3136;;;;N;HALFWIDTH HANGUL LETTER NIEUN HIEUH;;;;
+FFA7;HALFWIDTH HANGUL LETTER TIKEUT;Lo;0;L;<narrow> 3137;;;;N;HALFWIDTH HANGUL LETTER DIGEUD;;;;
+FFA8;HALFWIDTH HANGUL LETTER SSANGTIKEUT;Lo;0;L;<narrow> 3138;;;;N;HALFWIDTH HANGUL LETTER SSANG DIGEUD;;;;
+FFA9;HALFWIDTH HANGUL LETTER RIEUL;Lo;0;L;<narrow> 3139;;;;N;HALFWIDTH HANGUL LETTER LIEUL;;;;
+FFAA;HALFWIDTH HANGUL LETTER RIEUL-KIYEOK;Lo;0;L;<narrow> 313A;;;;N;HALFWIDTH HANGUL LETTER LIEUL GIYEOG;;;;
+FFAB;HALFWIDTH HANGUL LETTER RIEUL-MIEUM;Lo;0;L;<narrow> 313B;;;;N;HALFWIDTH HANGUL LETTER LIEUL MIEUM;;;;
+FFAC;HALFWIDTH HANGUL LETTER RIEUL-PIEUP;Lo;0;L;<narrow> 313C;;;;N;HALFWIDTH HANGUL LETTER LIEUL BIEUB;;;;
+FFAD;HALFWIDTH HANGUL LETTER RIEUL-SIOS;Lo;0;L;<narrow> 313D;;;;N;HALFWIDTH HANGUL LETTER LIEUL SIOS;;;;
+FFAE;HALFWIDTH HANGUL LETTER RIEUL-THIEUTH;Lo;0;L;<narrow> 313E;;;;N;HALFWIDTH HANGUL LETTER LIEUL TIEUT;;;;
+FFAF;HALFWIDTH HANGUL LETTER RIEUL-PHIEUPH;Lo;0;L;<narrow> 313F;;;;N;HALFWIDTH HANGUL LETTER LIEUL PIEUP;;;;
+FFB0;HALFWIDTH HANGUL LETTER RIEUL-HIEUH;Lo;0;L;<narrow> 3140;;;;N;HALFWIDTH HANGUL LETTER LIEUL HIEUH;;;;
+FFB1;HALFWIDTH HANGUL LETTER MIEUM;Lo;0;L;<narrow> 3141;;;;N;;;;;
+FFB2;HALFWIDTH HANGUL LETTER PIEUP;Lo;0;L;<narrow> 3142;;;;N;HALFWIDTH HANGUL LETTER BIEUB;;;;
+FFB3;HALFWIDTH HANGUL LETTER SSANGPIEUP;Lo;0;L;<narrow> 3143;;;;N;HALFWIDTH HANGUL LETTER SSANG BIEUB;;;;
+FFB4;HALFWIDTH HANGUL LETTER PIEUP-SIOS;Lo;0;L;<narrow> 3144;;;;N;HALFWIDTH HANGUL LETTER BIEUB SIOS;;;;
+FFB5;HALFWIDTH HANGUL LETTER SIOS;Lo;0;L;<narrow> 3145;;;;N;;;;;
+FFB6;HALFWIDTH HANGUL LETTER SSANGSIOS;Lo;0;L;<narrow> 3146;;;;N;HALFWIDTH HANGUL LETTER SSANG SIOS;;;;
+FFB7;HALFWIDTH HANGUL LETTER IEUNG;Lo;0;L;<narrow> 3147;;;;N;;;;;
+FFB8;HALFWIDTH HANGUL LETTER CIEUC;Lo;0;L;<narrow> 3148;;;;N;HALFWIDTH HANGUL LETTER JIEUJ;;;;
+FFB9;HALFWIDTH HANGUL LETTER SSANGCIEUC;Lo;0;L;<narrow> 3149;;;;N;HALFWIDTH HANGUL LETTER SSANG JIEUJ;;;;
+FFBA;HALFWIDTH HANGUL LETTER CHIEUCH;Lo;0;L;<narrow> 314A;;;;N;HALFWIDTH HANGUL LETTER CIEUC;;;;
+FFBB;HALFWIDTH HANGUL LETTER KHIEUKH;Lo;0;L;<narrow> 314B;;;;N;HALFWIDTH HANGUL LETTER KIYEOK;;;;
+FFBC;HALFWIDTH HANGUL LETTER THIEUTH;Lo;0;L;<narrow> 314C;;;;N;HALFWIDTH HANGUL LETTER TIEUT;;;;
+FFBD;HALFWIDTH HANGUL LETTER PHIEUPH;Lo;0;L;<narrow> 314D;;;;N;HALFWIDTH HANGUL LETTER PIEUP;;;;
+FFBE;HALFWIDTH HANGUL LETTER HIEUH;Lo;0;L;<narrow> 314E;;;;N;;;;;
+FFC2;HALFWIDTH HANGUL LETTER A;Lo;0;L;<narrow> 314F;;;;N;;;;;
+FFC3;HALFWIDTH HANGUL LETTER AE;Lo;0;L;<narrow> 3150;;;;N;;;;;
+FFC4;HALFWIDTH HANGUL LETTER YA;Lo;0;L;<narrow> 3151;;;;N;;;;;
+FFC5;HALFWIDTH HANGUL LETTER YAE;Lo;0;L;<narrow> 3152;;;;N;;;;;
+FFC6;HALFWIDTH HANGUL LETTER EO;Lo;0;L;<narrow> 3153;;;;N;;;;;
+FFC7;HALFWIDTH HANGUL LETTER E;Lo;0;L;<narrow> 3154;;;;N;;;;;
+FFCA;HALFWIDTH HANGUL LETTER YEO;Lo;0;L;<narrow> 3155;;;;N;;;;;
+FFCB;HALFWIDTH HANGUL LETTER YE;Lo;0;L;<narrow> 3156;;;;N;;;;;
+FFCC;HALFWIDTH HANGUL LETTER O;Lo;0;L;<narrow> 3157;;;;N;;;;;
+FFCD;HALFWIDTH HANGUL LETTER WA;Lo;0;L;<narrow> 3158;;;;N;;;;;
+FFCE;HALFWIDTH HANGUL LETTER WAE;Lo;0;L;<narrow> 3159;;;;N;;;;;
+FFCF;HALFWIDTH HANGUL LETTER OE;Lo;0;L;<narrow> 315A;;;;N;;;;;
+FFD2;HALFWIDTH HANGUL LETTER YO;Lo;0;L;<narrow> 315B;;;;N;;;;;
+FFD3;HALFWIDTH HANGUL LETTER U;Lo;0;L;<narrow> 315C;;;;N;;;;;
+FFD4;HALFWIDTH HANGUL LETTER WEO;Lo;0;L;<narrow> 315D;;;;N;;;;;
+FFD5;HALFWIDTH HANGUL LETTER WE;Lo;0;L;<narrow> 315E;;;;N;;;;;
+FFD6;HALFWIDTH HANGUL LETTER WI;Lo;0;L;<narrow> 315F;;;;N;;;;;
+FFD7;HALFWIDTH HANGUL LETTER YU;Lo;0;L;<narrow> 3160;;;;N;;;;;
+FFDA;HALFWIDTH HANGUL LETTER EU;Lo;0;L;<narrow> 3161;;;;N;;;;;
+FFDB;HALFWIDTH HANGUL LETTER YI;Lo;0;L;<narrow> 3162;;;;N;;;;;
+FFDC;HALFWIDTH HANGUL LETTER I;Lo;0;L;<narrow> 3163;;;;N;;;;;
+FFE0;FULLWIDTH CENT SIGN;Sc;0;ET;<wide> 00A2;;;;N;;;;;
+FFE1;FULLWIDTH POUND SIGN;Sc;0;ET;<wide> 00A3;;;;N;;;;;
+FFE2;FULLWIDTH NOT SIGN;Sm;0;ON;<wide> 00AC;;;;N;;;;;
+FFE3;FULLWIDTH MACRON;Sk;0;ON;<wide> 00AF;;;;N;FULLWIDTH SPACING MACRON;*;;;
+FFE4;FULLWIDTH BROKEN BAR;So;0;ON;<wide> 00A6;;;;N;FULLWIDTH BROKEN VERTICAL BAR;;;;
+FFE5;FULLWIDTH YEN SIGN;Sc;0;ET;<wide> 00A5;;;;N;;;;;
+FFE6;FULLWIDTH WON SIGN;Sc;0;ET;<wide> 20A9;;;;N;;;;;
+FFE8;HALFWIDTH FORMS LIGHT VERTICAL;So;0;ON;<narrow> 2502;;;;N;;;;;
+FFE9;HALFWIDTH LEFTWARDS ARROW;Sm;0;ON;<narrow> 2190;;;;N;;;;;
+FFEA;HALFWIDTH UPWARDS ARROW;Sm;0;ON;<narrow> 2191;;;;N;;;;;
+FFEB;HALFWIDTH RIGHTWARDS ARROW;Sm;0;ON;<narrow> 2192;;;;N;;;;;
+FFEC;HALFWIDTH DOWNWARDS ARROW;Sm;0;ON;<narrow> 2193;;;;N;;;;;
+FFED;HALFWIDTH BLACK SQUARE;So;0;ON;<narrow> 25A0;;;;N;;;;;
+FFEE;HALFWIDTH WHITE CIRCLE;So;0;ON;<narrow> 25CB;;;;N;;;;;
+FFF9;INTERLINEAR ANNOTATION ANCHOR;Cf;0;ON;;;;;N;;;;;
+FFFA;INTERLINEAR ANNOTATION SEPARATOR;Cf;0;ON;;;;;N;;;;;
+FFFB;INTERLINEAR ANNOTATION TERMINATOR;Cf;0;ON;;;;;N;;;;;
+FFFC;OBJECT REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
+FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
+10000;LINEAR B SYLLABLE B008 A;Lo;0;L;;;;;N;;;;;
+10001;LINEAR B SYLLABLE B038 E;Lo;0;L;;;;;N;;;;;
+10002;LINEAR B SYLLABLE B028 I;Lo;0;L;;;;;N;;;;;
+10003;LINEAR B SYLLABLE B061 O;Lo;0;L;;;;;N;;;;;
+10004;LINEAR B SYLLABLE B010 U;Lo;0;L;;;;;N;;;;;
+10005;LINEAR B SYLLABLE B001 DA;Lo;0;L;;;;;N;;;;;
+10006;LINEAR B SYLLABLE B045 DE;Lo;0;L;;;;;N;;;;;
+10007;LINEAR B SYLLABLE B007 DI;Lo;0;L;;;;;N;;;;;
+10008;LINEAR B SYLLABLE B014 DO;Lo;0;L;;;;;N;;;;;
+10009;LINEAR B SYLLABLE B051 DU;Lo;0;L;;;;;N;;;;;
+1000A;LINEAR B SYLLABLE B057 JA;Lo;0;L;;;;;N;;;;;
+1000B;LINEAR B SYLLABLE B046 JE;Lo;0;L;;;;;N;;;;;
+1000D;LINEAR B SYLLABLE B036 JO;Lo;0;L;;;;;N;;;;;
+1000E;LINEAR B SYLLABLE B065 JU;Lo;0;L;;;;;N;;;;;
+1000F;LINEAR B SYLLABLE B077 KA;Lo;0;L;;;;;N;;;;;
+10010;LINEAR B SYLLABLE B044 KE;Lo;0;L;;;;;N;;;;;
+10011;LINEAR B SYLLABLE B067 KI;Lo;0;L;;;;;N;;;;;
+10012;LINEAR B SYLLABLE B070 KO;Lo;0;L;;;;;N;;;;;
+10013;LINEAR B SYLLABLE B081 KU;Lo;0;L;;;;;N;;;;;
+10014;LINEAR B SYLLABLE B080 MA;Lo;0;L;;;;;N;;;;;
+10015;LINEAR B SYLLABLE B013 ME;Lo;0;L;;;;;N;;;;;
+10016;LINEAR B SYLLABLE B073 MI;Lo;0;L;;;;;N;;;;;
+10017;LINEAR B SYLLABLE B015 MO;Lo;0;L;;;;;N;;;;;
+10018;LINEAR B SYLLABLE B023 MU;Lo;0;L;;;;;N;;;;;
+10019;LINEAR B SYLLABLE B006 NA;Lo;0;L;;;;;N;;;;;
+1001A;LINEAR B SYLLABLE B024 NE;Lo;0;L;;;;;N;;;;;
+1001B;LINEAR B SYLLABLE B030 NI;Lo;0;L;;;;;N;;;;;
+1001C;LINEAR B SYLLABLE B052 NO;Lo;0;L;;;;;N;;;;;
+1001D;LINEAR B SYLLABLE B055 NU;Lo;0;L;;;;;N;;;;;
+1001E;LINEAR B SYLLABLE B003 PA;Lo;0;L;;;;;N;;;;;
+1001F;LINEAR B SYLLABLE B072 PE;Lo;0;L;;;;;N;;;;;
+10020;LINEAR B SYLLABLE B039 PI;Lo;0;L;;;;;N;;;;;
+10021;LINEAR B SYLLABLE B011 PO;Lo;0;L;;;;;N;;;;;
+10022;LINEAR B SYLLABLE B050 PU;Lo;0;L;;;;;N;;;;;
+10023;LINEAR B SYLLABLE B016 QA;Lo;0;L;;;;;N;;;;;
+10024;LINEAR B SYLLABLE B078 QE;Lo;0;L;;;;;N;;;;;
+10025;LINEAR B SYLLABLE B021 QI;Lo;0;L;;;;;N;;;;;
+10026;LINEAR B SYLLABLE B032 QO;Lo;0;L;;;;;N;;;;;
+10028;LINEAR B SYLLABLE B060 RA;Lo;0;L;;;;;N;;;;;
+10029;LINEAR B SYLLABLE B027 RE;Lo;0;L;;;;;N;;;;;
+1002A;LINEAR B SYLLABLE B053 RI;Lo;0;L;;;;;N;;;;;
+1002B;LINEAR B SYLLABLE B002 RO;Lo;0;L;;;;;N;;;;;
+1002C;LINEAR B SYLLABLE B026 RU;Lo;0;L;;;;;N;;;;;
+1002D;LINEAR B SYLLABLE B031 SA;Lo;0;L;;;;;N;;;;;
+1002E;LINEAR B SYLLABLE B009 SE;Lo;0;L;;;;;N;;;;;
+1002F;LINEAR B SYLLABLE B041 SI;Lo;0;L;;;;;N;;;;;
+10030;LINEAR B SYLLABLE B012 SO;Lo;0;L;;;;;N;;;;;
+10031;LINEAR B SYLLABLE B058 SU;Lo;0;L;;;;;N;;;;;
+10032;LINEAR B SYLLABLE B059 TA;Lo;0;L;;;;;N;;;;;
+10033;LINEAR B SYLLABLE B004 TE;Lo;0;L;;;;;N;;;;;
+10034;LINEAR B SYLLABLE B037 TI;Lo;0;L;;;;;N;;;;;
+10035;LINEAR B SYLLABLE B005 TO;Lo;0;L;;;;;N;;;;;
+10036;LINEAR B SYLLABLE B069 TU;Lo;0;L;;;;;N;;;;;
+10037;LINEAR B SYLLABLE B054 WA;Lo;0;L;;;;;N;;;;;
+10038;LINEAR B SYLLABLE B075 WE;Lo;0;L;;;;;N;;;;;
+10039;LINEAR B SYLLABLE B040 WI;Lo;0;L;;;;;N;;;;;
+1003A;LINEAR B SYLLABLE B042 WO;Lo;0;L;;;;;N;;;;;
+1003C;LINEAR B SYLLABLE B017 ZA;Lo;0;L;;;;;N;;;;;
+1003D;LINEAR B SYLLABLE B074 ZE;Lo;0;L;;;;;N;;;;;
+1003F;LINEAR B SYLLABLE B020 ZO;Lo;0;L;;;;;N;;;;;
+10040;LINEAR B SYLLABLE B025 A2;Lo;0;L;;;;;N;;;;;
+10041;LINEAR B SYLLABLE B043 A3;Lo;0;L;;;;;N;;;;;
+10042;LINEAR B SYLLABLE B085 AU;Lo;0;L;;;;;N;;;;;
+10043;LINEAR B SYLLABLE B071 DWE;Lo;0;L;;;;;N;;;;;
+10044;LINEAR B SYLLABLE B090 DWO;Lo;0;L;;;;;N;;;;;
+10045;LINEAR B SYLLABLE B048 NWA;Lo;0;L;;;;;N;;;;;
+10046;LINEAR B SYLLABLE B029 PU2;Lo;0;L;;;;;N;;;;;
+10047;LINEAR B SYLLABLE B062 PTE;Lo;0;L;;;;;N;;;;;
+10048;LINEAR B SYLLABLE B076 RA2;Lo;0;L;;;;;N;;;;;
+10049;LINEAR B SYLLABLE B033 RA3;Lo;0;L;;;;;N;;;;;
+1004A;LINEAR B SYLLABLE B068 RO2;Lo;0;L;;;;;N;;;;;
+1004B;LINEAR B SYLLABLE B066 TA2;Lo;0;L;;;;;N;;;;;
+1004C;LINEAR B SYLLABLE B087 TWE;Lo;0;L;;;;;N;;;;;
+1004D;LINEAR B SYLLABLE B091 TWO;Lo;0;L;;;;;N;;;;;
+10050;LINEAR B SYMBOL B018;Lo;0;L;;;;;N;;;;;
+10051;LINEAR B SYMBOL B019;Lo;0;L;;;;;N;;;;;
+10052;LINEAR B SYMBOL B022;Lo;0;L;;;;;N;;;;;
+10053;LINEAR B SYMBOL B034;Lo;0;L;;;;;N;;;;;
+10054;LINEAR B SYMBOL B047;Lo;0;L;;;;;N;;;;;
+10055;LINEAR B SYMBOL B049;Lo;0;L;;;;;N;;;;;
+10056;LINEAR B SYMBOL B056;Lo;0;L;;;;;N;;;;;
+10057;LINEAR B SYMBOL B063;Lo;0;L;;;;;N;;;;;
+10058;LINEAR B SYMBOL B064;Lo;0;L;;;;;N;;;;;
+10059;LINEAR B SYMBOL B079;Lo;0;L;;;;;N;;;;;
+1005A;LINEAR B SYMBOL B082;Lo;0;L;;;;;N;;;;;
+1005B;LINEAR B SYMBOL B083;Lo;0;L;;;;;N;;;;;
+1005C;LINEAR B SYMBOL B086;Lo;0;L;;;;;N;;;;;
+1005D;LINEAR B SYMBOL B089;Lo;0;L;;;;;N;;;;;
+10080;LINEAR B IDEOGRAM B100 MAN;Lo;0;L;;;;;N;;;;;
+10081;LINEAR B IDEOGRAM B102 WOMAN;Lo;0;L;;;;;N;;;;;
+10082;LINEAR B IDEOGRAM B104 DEER;Lo;0;L;;;;;N;;;;;
+10083;LINEAR B IDEOGRAM B105 EQUID;Lo;0;L;;;;;N;;;;;
+10084;LINEAR B IDEOGRAM B105F MARE;Lo;0;L;;;;;N;;;;;
+10085;LINEAR B IDEOGRAM B105M STALLION;Lo;0;L;;;;;N;;;;;
+10086;LINEAR B IDEOGRAM B106F EWE;Lo;0;L;;;;;N;;;;;
+10087;LINEAR B IDEOGRAM B106M RAM;Lo;0;L;;;;;N;;;;;
+10088;LINEAR B IDEOGRAM B107F SHE-GOAT;Lo;0;L;;;;;N;;;;;
+10089;LINEAR B IDEOGRAM B107M HE-GOAT;Lo;0;L;;;;;N;;;;;
+1008A;LINEAR B IDEOGRAM B108F SOW;Lo;0;L;;;;;N;;;;;
+1008B;LINEAR B IDEOGRAM B108M BOAR;Lo;0;L;;;;;N;;;;;
+1008C;LINEAR B IDEOGRAM B109F COW;Lo;0;L;;;;;N;;;;;
+1008D;LINEAR B IDEOGRAM B109M BULL;Lo;0;L;;;;;N;;;;;
+1008E;LINEAR B IDEOGRAM B120 WHEAT;Lo;0;L;;;;;N;;;;;
+1008F;LINEAR B IDEOGRAM B121 BARLEY;Lo;0;L;;;;;N;;;;;
+10090;LINEAR B IDEOGRAM B122 OLIVE;Lo;0;L;;;;;N;;;;;
+10091;LINEAR B IDEOGRAM B123 SPICE;Lo;0;L;;;;;N;;;;;
+10092;LINEAR B IDEOGRAM B125 CYPERUS;Lo;0;L;;;;;N;;;;;
+10093;LINEAR B MONOGRAM B127 KAPO;Lo;0;L;;;;;N;;;;;
+10094;LINEAR B MONOGRAM B128 KANAKO;Lo;0;L;;;;;N;;;;;
+10095;LINEAR B IDEOGRAM B130 OIL;Lo;0;L;;;;;N;;;;;
+10096;LINEAR B IDEOGRAM B131 WINE;Lo;0;L;;;;;N;;;;;
+10097;LINEAR B IDEOGRAM B132;Lo;0;L;;;;;N;;;;;
+10098;LINEAR B MONOGRAM B133 AREPA;Lo;0;L;;;;;N;;;;;
+10099;LINEAR B MONOGRAM B135 MERI;Lo;0;L;;;;;N;;;;;
+1009A;LINEAR B IDEOGRAM B140 BRONZE;Lo;0;L;;;;;N;;;;;
+1009B;LINEAR B IDEOGRAM B141 GOLD;Lo;0;L;;;;;N;;;;;
+1009C;LINEAR B IDEOGRAM B142;Lo;0;L;;;;;N;;;;;
+1009D;LINEAR B IDEOGRAM B145 WOOL;Lo;0;L;;;;;N;;;;;
+1009E;LINEAR B IDEOGRAM B146;Lo;0;L;;;;;N;;;;;
+1009F;LINEAR B IDEOGRAM B150;Lo;0;L;;;;;N;;;;;
+100A0;LINEAR B IDEOGRAM B151 HORN;Lo;0;L;;;;;N;;;;;
+100A1;LINEAR B IDEOGRAM B152;Lo;0;L;;;;;N;;;;;
+100A2;LINEAR B IDEOGRAM B153;Lo;0;L;;;;;N;;;;;
+100A3;LINEAR B IDEOGRAM B154;Lo;0;L;;;;;N;;;;;
+100A4;LINEAR B MONOGRAM B156 TURO2;Lo;0;L;;;;;N;;;;;
+100A5;LINEAR B IDEOGRAM B157;Lo;0;L;;;;;N;;;;;
+100A6;LINEAR B IDEOGRAM B158;Lo;0;L;;;;;N;;;;;
+100A7;LINEAR B IDEOGRAM B159 CLOTH;Lo;0;L;;;;;N;;;;;
+100A8;LINEAR B IDEOGRAM B160;Lo;0;L;;;;;N;;;;;
+100A9;LINEAR B IDEOGRAM B161;Lo;0;L;;;;;N;;;;;
+100AA;LINEAR B IDEOGRAM B162 GARMENT;Lo;0;L;;;;;N;;;;;
+100AB;LINEAR B IDEOGRAM B163 ARMOUR;Lo;0;L;;;;;N;;;;;
+100AC;LINEAR B IDEOGRAM B164;Lo;0;L;;;;;N;;;;;
+100AD;LINEAR B IDEOGRAM B165;Lo;0;L;;;;;N;;;;;
+100AE;LINEAR B IDEOGRAM B166;Lo;0;L;;;;;N;;;;;
+100AF;LINEAR B IDEOGRAM B167;Lo;0;L;;;;;N;;;;;
+100B0;LINEAR B IDEOGRAM B168;Lo;0;L;;;;;N;;;;;
+100B1;LINEAR B IDEOGRAM B169;Lo;0;L;;;;;N;;;;;
+100B2;LINEAR B IDEOGRAM B170;Lo;0;L;;;;;N;;;;;
+100B3;LINEAR B IDEOGRAM B171;Lo;0;L;;;;;N;;;;;
+100B4;LINEAR B IDEOGRAM B172;Lo;0;L;;;;;N;;;;;
+100B5;LINEAR B IDEOGRAM B173 MONTH;Lo;0;L;;;;;N;;;;;
+100B6;LINEAR B IDEOGRAM B174;Lo;0;L;;;;;N;;;;;
+100B7;LINEAR B IDEOGRAM B176 TREE;Lo;0;L;;;;;N;;;;;
+100B8;LINEAR B IDEOGRAM B177;Lo;0;L;;;;;N;;;;;
+100B9;LINEAR B IDEOGRAM B178;Lo;0;L;;;;;N;;;;;
+100BA;LINEAR B IDEOGRAM B179;Lo;0;L;;;;;N;;;;;
+100BB;LINEAR B IDEOGRAM B180;Lo;0;L;;;;;N;;;;;
+100BC;LINEAR B IDEOGRAM B181;Lo;0;L;;;;;N;;;;;
+100BD;LINEAR B IDEOGRAM B182;Lo;0;L;;;;;N;;;;;
+100BE;LINEAR B IDEOGRAM B183;Lo;0;L;;;;;N;;;;;
+100BF;LINEAR B IDEOGRAM B184;Lo;0;L;;;;;N;;;;;
+100C0;LINEAR B IDEOGRAM B185;Lo;0;L;;;;;N;;;;;
+100C1;LINEAR B IDEOGRAM B189;Lo;0;L;;;;;N;;;;;
+100C2;LINEAR B IDEOGRAM B190;Lo;0;L;;;;;N;;;;;
+100C3;LINEAR B IDEOGRAM B191 HELMET;Lo;0;L;;;;;N;;;;;
+100C4;LINEAR B IDEOGRAM B220 FOOTSTOOL;Lo;0;L;;;;;N;;;;;
+100C5;LINEAR B IDEOGRAM B225 BATHTUB;Lo;0;L;;;;;N;;;;;
+100C6;LINEAR B IDEOGRAM B230 SPEAR;Lo;0;L;;;;;N;;;;;
+100C7;LINEAR B IDEOGRAM B231 ARROW;Lo;0;L;;;;;N;;;;;
+100C8;LINEAR B IDEOGRAM B232;Lo;0;L;;;;;N;;;;;
+100C9;LINEAR B IDEOGRAM B233 SWORD;Lo;0;L;;;;;N;;pug;;;
+100CA;LINEAR B IDEOGRAM B234;Lo;0;L;;;;;N;;;;;
+100CB;LINEAR B IDEOGRAM B236;Lo;0;L;;;;;N;;gup;;;
+100CC;LINEAR B IDEOGRAM B240 WHEELED CHARIOT;Lo;0;L;;;;;N;;;;;
+100CD;LINEAR B IDEOGRAM B241 CHARIOT;Lo;0;L;;;;;N;;;;;
+100CE;LINEAR B IDEOGRAM B242 CHARIOT FRAME;Lo;0;L;;;;;N;;;;;
+100CF;LINEAR B IDEOGRAM B243 WHEEL;Lo;0;L;;;;;N;;;;;
+100D0;LINEAR B IDEOGRAM B245;Lo;0;L;;;;;N;;;;;
+100D1;LINEAR B IDEOGRAM B246;Lo;0;L;;;;;N;;;;;
+100D2;LINEAR B MONOGRAM B247 DIPTE;Lo;0;L;;;;;N;;;;;
+100D3;LINEAR B IDEOGRAM B248;Lo;0;L;;;;;N;;;;;
+100D4;LINEAR B IDEOGRAM B249;Lo;0;L;;;;;N;;;;;
+100D5;LINEAR B IDEOGRAM B251;Lo;0;L;;;;;N;;;;;
+100D6;LINEAR B IDEOGRAM B252;Lo;0;L;;;;;N;;;;;
+100D7;LINEAR B IDEOGRAM B253;Lo;0;L;;;;;N;;;;;
+100D8;LINEAR B IDEOGRAM B254 DART;Lo;0;L;;;;;N;;;;;
+100D9;LINEAR B IDEOGRAM B255;Lo;0;L;;;;;N;;;;;
+100DA;LINEAR B IDEOGRAM B256;Lo;0;L;;;;;N;;;;;
+100DB;LINEAR B IDEOGRAM B257;Lo;0;L;;;;;N;;;;;
+100DC;LINEAR B IDEOGRAM B258;Lo;0;L;;;;;N;;;;;
+100DD;LINEAR B IDEOGRAM B259;Lo;0;L;;;;;N;;;;;
+100DE;LINEAR B IDEOGRAM VESSEL B155;Lo;0;L;;;;;N;;;;;
+100DF;LINEAR B IDEOGRAM VESSEL B200;Lo;0;L;;;;;N;;;;;
+100E0;LINEAR B IDEOGRAM VESSEL B201;Lo;0;L;;;;;N;;;;;
+100E1;LINEAR B IDEOGRAM VESSEL B202;Lo;0;L;;;;;N;;;;;
+100E2;LINEAR B IDEOGRAM VESSEL B203;Lo;0;L;;;;;N;;;;;
+100E3;LINEAR B IDEOGRAM VESSEL B204;Lo;0;L;;;;;N;;;;;
+100E4;LINEAR B IDEOGRAM VESSEL B205;Lo;0;L;;;;;N;;;;;
+100E5;LINEAR B IDEOGRAM VESSEL B206;Lo;0;L;;;;;N;;;;;
+100E6;LINEAR B IDEOGRAM VESSEL B207;Lo;0;L;;;;;N;;;;;
+100E7;LINEAR B IDEOGRAM VESSEL B208;Lo;0;L;;;;;N;;;;;
+100E8;LINEAR B IDEOGRAM VESSEL B209;Lo;0;L;;;;;N;;;;;
+100E9;LINEAR B IDEOGRAM VESSEL B210;Lo;0;L;;;;;N;;;;;
+100EA;LINEAR B IDEOGRAM VESSEL B211;Lo;0;L;;;;;N;;;;;
+100EB;LINEAR B IDEOGRAM VESSEL B212;Lo;0;L;;;;;N;;;;;
+100EC;LINEAR B IDEOGRAM VESSEL B213;Lo;0;L;;;;;N;;;;;
+100ED;LINEAR B IDEOGRAM VESSEL B214;Lo;0;L;;;;;N;;;;;
+100EE;LINEAR B IDEOGRAM VESSEL B215;Lo;0;L;;;;;N;;;;;
+100EF;LINEAR B IDEOGRAM VESSEL B216;Lo;0;L;;;;;N;;;;;
+100F0;LINEAR B IDEOGRAM VESSEL B217;Lo;0;L;;;;;N;;;;;
+100F1;LINEAR B IDEOGRAM VESSEL B218;Lo;0;L;;;;;N;;;;;
+100F2;LINEAR B IDEOGRAM VESSEL B219;Lo;0;L;;;;;N;;;;;
+100F3;LINEAR B IDEOGRAM VESSEL B221;Lo;0;L;;;;;N;;;;;
+100F4;LINEAR B IDEOGRAM VESSEL B222;Lo;0;L;;;;;N;;;;;
+100F5;LINEAR B IDEOGRAM VESSEL B226;Lo;0;L;;;;;N;;;;;
+100F6;LINEAR B IDEOGRAM VESSEL B227;Lo;0;L;;;;;N;;;;;
+100F7;LINEAR B IDEOGRAM VESSEL B228;Lo;0;L;;;;;N;;;;;
+100F8;LINEAR B IDEOGRAM VESSEL B229;Lo;0;L;;;;;N;;;;;
+100F9;LINEAR B IDEOGRAM VESSEL B250;Lo;0;L;;;;;N;;;;;
+100FA;LINEAR B IDEOGRAM VESSEL B305;Lo;0;L;;;;;N;;;;;
+10100;AEGEAN WORD SEPARATOR LINE;Po;0;L;;;;;N;;;;;
+10101;AEGEAN WORD SEPARATOR DOT;Po;0;ON;;;;;N;;;;;
+10102;AEGEAN CHECK MARK;So;0;L;;;;;N;;;;;
+10107;AEGEAN NUMBER ONE;No;0;L;;;;1;N;;;;;
+10108;AEGEAN NUMBER TWO;No;0;L;;;;2;N;;;;;
+10109;AEGEAN NUMBER THREE;No;0;L;;;;3;N;;;;;
+1010A;AEGEAN NUMBER FOUR;No;0;L;;;;4;N;;;;;
+1010B;AEGEAN NUMBER FIVE;No;0;L;;;;5;N;;;;;
+1010C;AEGEAN NUMBER SIX;No;0;L;;;;6;N;;;;;
+1010D;AEGEAN NUMBER SEVEN;No;0;L;;;;7;N;;;;;
+1010E;AEGEAN NUMBER EIGHT;No;0;L;;;;8;N;;;;;
+1010F;AEGEAN NUMBER NINE;No;0;L;;;;9;N;;;;;
+10110;AEGEAN NUMBER TEN;No;0;L;;;;10;N;;;;;
+10111;AEGEAN NUMBER TWENTY;No;0;L;;;;20;N;;;;;
+10112;AEGEAN NUMBER THIRTY;No;0;L;;;;30;N;;;;;
+10113;AEGEAN NUMBER FORTY;No;0;L;;;;40;N;;;;;
+10114;AEGEAN NUMBER FIFTY;No;0;L;;;;50;N;;;;;
+10115;AEGEAN NUMBER SIXTY;No;0;L;;;;60;N;;;;;
+10116;AEGEAN NUMBER SEVENTY;No;0;L;;;;70;N;;;;;
+10117;AEGEAN NUMBER EIGHTY;No;0;L;;;;80;N;;;;;
+10118;AEGEAN NUMBER NINETY;No;0;L;;;;90;N;;;;;
+10119;AEGEAN NUMBER ONE HUNDRED;No;0;L;;;;100;N;;;;;
+1011A;AEGEAN NUMBER TWO HUNDRED;No;0;L;;;;200;N;;;;;
+1011B;AEGEAN NUMBER THREE HUNDRED;No;0;L;;;;300;N;;;;;
+1011C;AEGEAN NUMBER FOUR HUNDRED;No;0;L;;;;400;N;;;;;
+1011D;AEGEAN NUMBER FIVE HUNDRED;No;0;L;;;;500;N;;;;;
+1011E;AEGEAN NUMBER SIX HUNDRED;No;0;L;;;;600;N;;;;;
+1011F;AEGEAN NUMBER SEVEN HUNDRED;No;0;L;;;;700;N;;;;;
+10120;AEGEAN NUMBER EIGHT HUNDRED;No;0;L;;;;800;N;;;;;
+10121;AEGEAN NUMBER NINE HUNDRED;No;0;L;;;;900;N;;;;;
+10122;AEGEAN NUMBER ONE THOUSAND;No;0;L;;;;1000;N;;;;;
+10123;AEGEAN NUMBER TWO THOUSAND;No;0;L;;;;2000;N;;;;;
+10124;AEGEAN NUMBER THREE THOUSAND;No;0;L;;;;3000;N;;;;;
+10125;AEGEAN NUMBER FOUR THOUSAND;No;0;L;;;;4000;N;;;;;
+10126;AEGEAN NUMBER FIVE THOUSAND;No;0;L;;;;5000;N;;;;;
+10127;AEGEAN NUMBER SIX THOUSAND;No;0;L;;;;6000;N;;;;;
+10128;AEGEAN NUMBER SEVEN THOUSAND;No;0;L;;;;7000;N;;;;;
+10129;AEGEAN NUMBER EIGHT THOUSAND;No;0;L;;;;8000;N;;;;;
+1012A;AEGEAN NUMBER NINE THOUSAND;No;0;L;;;;9000;N;;;;;
+1012B;AEGEAN NUMBER TEN THOUSAND;No;0;L;;;;10000;N;;;;;
+1012C;AEGEAN NUMBER TWENTY THOUSAND;No;0;L;;;;20000;N;;;;;
+1012D;AEGEAN NUMBER THIRTY THOUSAND;No;0;L;;;;30000;N;;;;;
+1012E;AEGEAN NUMBER FORTY THOUSAND;No;0;L;;;;40000;N;;;;;
+1012F;AEGEAN NUMBER FIFTY THOUSAND;No;0;L;;;;50000;N;;;;;
+10130;AEGEAN NUMBER SIXTY THOUSAND;No;0;L;;;;60000;N;;;;;
+10131;AEGEAN NUMBER SEVENTY THOUSAND;No;0;L;;;;70000;N;;;;;
+10132;AEGEAN NUMBER EIGHTY THOUSAND;No;0;L;;;;80000;N;;;;;
+10133;AEGEAN NUMBER NINETY THOUSAND;No;0;L;;;;90000;N;;;;;
+10137;AEGEAN WEIGHT BASE UNIT;So;0;L;;;;;N;;;;;
+10138;AEGEAN WEIGHT FIRST SUBUNIT;So;0;L;;;;;N;;;;;
+10139;AEGEAN WEIGHT SECOND SUBUNIT;So;0;L;;;;;N;;;;;
+1013A;AEGEAN WEIGHT THIRD SUBUNIT;So;0;L;;;;;N;;;;;
+1013B;AEGEAN WEIGHT FOURTH SUBUNIT;So;0;L;;;;;N;;;;;
+1013C;AEGEAN DRY MEASURE FIRST SUBUNIT;So;0;L;;;;;N;;;;;
+1013D;AEGEAN LIQUID MEASURE FIRST SUBUNIT;So;0;L;;;;;N;;;;;
+1013E;AEGEAN MEASURE SECOND SUBUNIT;So;0;L;;;;;N;;;;;
+1013F;AEGEAN MEASURE THIRD SUBUNIT;So;0;L;;;;;N;;;;;
+10140;GREEK ACROPHONIC ATTIC ONE QUARTER;Nl;0;ON;;;;1/4;N;;;;;
+10141;GREEK ACROPHONIC ATTIC ONE HALF;Nl;0;ON;;;;1/2;N;;;;;
+10142;GREEK ACROPHONIC ATTIC ONE DRACHMA;Nl;0;ON;;;;1;N;;;;;
+10143;GREEK ACROPHONIC ATTIC FIVE;Nl;0;ON;;;;5;N;;;;;
+10144;GREEK ACROPHONIC ATTIC FIFTY;Nl;0;ON;;;;50;N;;;;;
+10145;GREEK ACROPHONIC ATTIC FIVE HUNDRED;Nl;0;ON;;;;500;N;;;;;
+10146;GREEK ACROPHONIC ATTIC FIVE THOUSAND;Nl;0;ON;;;;5000;N;;;;;
+10147;GREEK ACROPHONIC ATTIC FIFTY THOUSAND;Nl;0;ON;;;;50000;N;;;;;
+10148;GREEK ACROPHONIC ATTIC FIVE TALENTS;Nl;0;ON;;;;5;N;;;;;
+10149;GREEK ACROPHONIC ATTIC TEN TALENTS;Nl;0;ON;;;;10;N;;;;;
+1014A;GREEK ACROPHONIC ATTIC FIFTY TALENTS;Nl;0;ON;;;;50;N;;;;;
+1014B;GREEK ACROPHONIC ATTIC ONE HUNDRED TALENTS;Nl;0;ON;;;;100;N;;;;;
+1014C;GREEK ACROPHONIC ATTIC FIVE HUNDRED TALENTS;Nl;0;ON;;;;500;N;;;;;
+1014D;GREEK ACROPHONIC ATTIC ONE THOUSAND TALENTS;Nl;0;ON;;;;1000;N;;;;;
+1014E;GREEK ACROPHONIC ATTIC FIVE THOUSAND TALENTS;Nl;0;ON;;;;5000;N;;;;;
+1014F;GREEK ACROPHONIC ATTIC FIVE STATERS;Nl;0;ON;;;;5;N;;;;;
+10150;GREEK ACROPHONIC ATTIC TEN STATERS;Nl;0;ON;;;;10;N;;;;;
+10151;GREEK ACROPHONIC ATTIC FIFTY STATERS;Nl;0;ON;;;;50;N;;;;;
+10152;GREEK ACROPHONIC ATTIC ONE HUNDRED STATERS;Nl;0;ON;;;;100;N;;;;;
+10153;GREEK ACROPHONIC ATTIC FIVE HUNDRED STATERS;Nl;0;ON;;;;500;N;;;;;
+10154;GREEK ACROPHONIC ATTIC ONE THOUSAND STATERS;Nl;0;ON;;;;1000;N;;;;;
+10155;GREEK ACROPHONIC ATTIC TEN THOUSAND STATERS;Nl;0;ON;;;;10000;N;;;;;
+10156;GREEK ACROPHONIC ATTIC FIFTY THOUSAND STATERS;Nl;0;ON;;;;50000;N;;;;;
+10157;GREEK ACROPHONIC ATTIC TEN MNAS;Nl;0;ON;;;;10;N;;;;;
+10158;GREEK ACROPHONIC HERAEUM ONE PLETHRON;Nl;0;ON;;;;1;N;;;;;
+10159;GREEK ACROPHONIC THESPIAN ONE;Nl;0;ON;;;;1;N;;;;;
+1015A;GREEK ACROPHONIC HERMIONIAN ONE;Nl;0;ON;;;;1;N;;;;;
+1015B;GREEK ACROPHONIC EPIDAUREAN TWO;Nl;0;ON;;;;2;N;;;;;
+1015C;GREEK ACROPHONIC THESPIAN TWO;Nl;0;ON;;;;2;N;;;;;
+1015D;GREEK ACROPHONIC CYRENAIC TWO DRACHMAS;Nl;0;ON;;;;2;N;;;;;
+1015E;GREEK ACROPHONIC EPIDAUREAN TWO DRACHMAS;Nl;0;ON;;;;2;N;;;;;
+1015F;GREEK ACROPHONIC TROEZENIAN FIVE;Nl;0;ON;;;;5;N;;;;;
+10160;GREEK ACROPHONIC TROEZENIAN TEN;Nl;0;ON;;;;10;N;;;;;
+10161;GREEK ACROPHONIC TROEZENIAN TEN ALTERNATE FORM;Nl;0;ON;;;;10;N;;;;;
+10162;GREEK ACROPHONIC HERMIONIAN TEN;Nl;0;ON;;;;10;N;;;;;
+10163;GREEK ACROPHONIC MESSENIAN TEN;Nl;0;ON;;;;10;N;;;;;
+10164;GREEK ACROPHONIC THESPIAN TEN;Nl;0;ON;;;;10;N;;;;;
+10165;GREEK ACROPHONIC THESPIAN THIRTY;Nl;0;ON;;;;30;N;;;;;
+10166;GREEK ACROPHONIC TROEZENIAN FIFTY;Nl;0;ON;;;;50;N;;;;;
+10167;GREEK ACROPHONIC TROEZENIAN FIFTY ALTERNATE FORM;Nl;0;ON;;;;50;N;;;;;
+10168;GREEK ACROPHONIC HERMIONIAN FIFTY;Nl;0;ON;;;;50;N;;;;;
+10169;GREEK ACROPHONIC THESPIAN FIFTY;Nl;0;ON;;;;50;N;;;;;
+1016A;GREEK ACROPHONIC THESPIAN ONE HUNDRED;Nl;0;ON;;;;100;N;;;;;
+1016B;GREEK ACROPHONIC THESPIAN THREE HUNDRED;Nl;0;ON;;;;300;N;;;;;
+1016C;GREEK ACROPHONIC EPIDAUREAN FIVE HUNDRED;Nl;0;ON;;;;500;N;;;;;
+1016D;GREEK ACROPHONIC TROEZENIAN FIVE HUNDRED;Nl;0;ON;;;;500;N;;;;;
+1016E;GREEK ACROPHONIC THESPIAN FIVE HUNDRED;Nl;0;ON;;;;500;N;;;;;
+1016F;GREEK ACROPHONIC CARYSTIAN FIVE HUNDRED;Nl;0;ON;;;;500;N;;;;;
+10170;GREEK ACROPHONIC NAXIAN FIVE HUNDRED;Nl;0;ON;;;;500;N;;;;;
+10171;GREEK ACROPHONIC THESPIAN ONE THOUSAND;Nl;0;ON;;;;1000;N;;;;;
+10172;GREEK ACROPHONIC THESPIAN FIVE THOUSAND;Nl;0;ON;;;;5000;N;;;;;
+10173;GREEK ACROPHONIC DELPHIC FIVE MNAS;Nl;0;ON;;;;5;N;;;;;
+10174;GREEK ACROPHONIC STRATIAN FIFTY MNAS;Nl;0;ON;;;;50;N;;;;;
+10175;GREEK ONE HALF SIGN;No;0;ON;;;;1/2;N;;;;;
+10176;GREEK ONE HALF SIGN ALTERNATE FORM;No;0;ON;;;;1/2;N;;;;;
+10177;GREEK TWO THIRDS SIGN;No;0;ON;;;;2/3;N;;;;;
+10178;GREEK THREE QUARTERS SIGN;No;0;ON;;;;3/4;N;;;;;
+10179;GREEK YEAR SIGN;So;0;ON;;;;;N;;;;;
+1017A;GREEK TALENT SIGN;So;0;ON;;;;;N;;;;;
+1017B;GREEK DRACHMA SIGN;So;0;ON;;;;;N;;;;;
+1017C;GREEK OBOL SIGN;So;0;ON;;;;;N;;;;;
+1017D;GREEK TWO OBOLS SIGN;So;0;ON;;;;;N;;;;;
+1017E;GREEK THREE OBOLS SIGN;So;0;ON;;;;;N;;;;;
+1017F;GREEK FOUR OBOLS SIGN;So;0;ON;;;;;N;;;;;
+10180;GREEK FIVE OBOLS SIGN;So;0;ON;;;;;N;;;;;
+10181;GREEK METRETES SIGN;So;0;ON;;;;;N;;;;;
+10182;GREEK KYATHOS BASE SIGN;So;0;ON;;;;;N;;;;;
+10183;GREEK LITRA SIGN;So;0;ON;;;;;N;;;;;
+10184;GREEK OUNKIA SIGN;So;0;ON;;;;;N;;;;;
+10185;GREEK XESTES SIGN;So;0;ON;;;;;N;;;;;
+10186;GREEK ARTABE SIGN;So;0;ON;;;;;N;;;;;
+10187;GREEK AROURA SIGN;So;0;ON;;;;;N;;;;;
+10188;GREEK GRAMMA SIGN;So;0;ON;;;;;N;;;;;
+10189;GREEK TRYBLION BASE SIGN;So;0;ON;;;;;N;;;;;
+1018A;GREEK ZERO SIGN;No;0;ON;;;;0;N;;;;;
+10300;OLD ITALIC LETTER A;Lo;0;L;;;;;N;;;;;
+10301;OLD ITALIC LETTER BE;Lo;0;L;;;;;N;;;;;
+10302;OLD ITALIC LETTER KE;Lo;0;L;;;;;N;;;;;
+10303;OLD ITALIC LETTER DE;Lo;0;L;;;;;N;;;;;
+10304;OLD ITALIC LETTER E;Lo;0;L;;;;;N;;;;;
+10305;OLD ITALIC LETTER VE;Lo;0;L;;;;;N;;;;;
+10306;OLD ITALIC LETTER ZE;Lo;0;L;;;;;N;;;;;
+10307;OLD ITALIC LETTER HE;Lo;0;L;;;;;N;;;;;
+10308;OLD ITALIC LETTER THE;Lo;0;L;;;;;N;;;;;
+10309;OLD ITALIC LETTER I;Lo;0;L;;;;;N;;;;;
+1030A;OLD ITALIC LETTER KA;Lo;0;L;;;;;N;;;;;
+1030B;OLD ITALIC LETTER EL;Lo;0;L;;;;;N;;;;;
+1030C;OLD ITALIC LETTER EM;Lo;0;L;;;;;N;;;;;
+1030D;OLD ITALIC LETTER EN;Lo;0;L;;;;;N;;;;;
+1030E;OLD ITALIC LETTER ESH;Lo;0;L;;;;;N;;;;;
+1030F;OLD ITALIC LETTER O;Lo;0;L;;;;;N;;Faliscan;;;
+10310;OLD ITALIC LETTER PE;Lo;0;L;;;;;N;;;;;
+10311;OLD ITALIC LETTER SHE;Lo;0;L;;;;;N;;;;;
+10312;OLD ITALIC LETTER KU;Lo;0;L;;;;;N;;;;;
+10313;OLD ITALIC LETTER ER;Lo;0;L;;;;;N;;;;;
+10314;OLD ITALIC LETTER ES;Lo;0;L;;;;;N;;;;;
+10315;OLD ITALIC LETTER TE;Lo;0;L;;;;;N;;;;;
+10316;OLD ITALIC LETTER U;Lo;0;L;;;;;N;;;;;
+10317;OLD ITALIC LETTER EKS;Lo;0;L;;;;;N;;Faliscan;;;
+10318;OLD ITALIC LETTER PHE;Lo;0;L;;;;;N;;;;;
+10319;OLD ITALIC LETTER KHE;Lo;0;L;;;;;N;;;;;
+1031A;OLD ITALIC LETTER EF;Lo;0;L;;;;;N;;;;;
+1031B;OLD ITALIC LETTER ERS;Lo;0;L;;;;;N;;Umbrian;;;
+1031C;OLD ITALIC LETTER CHE;Lo;0;L;;;;;N;;Umbrian;;;
+1031D;OLD ITALIC LETTER II;Lo;0;L;;;;;N;;Oscan;;;
+1031E;OLD ITALIC LETTER UU;Lo;0;L;;;;;N;;Oscan;;;
+10320;OLD ITALIC NUMERAL ONE;No;0;L;;;;1;N;;;;;
+10321;OLD ITALIC NUMERAL FIVE;No;0;L;;;;5;N;;;;;
+10322;OLD ITALIC NUMERAL TEN;No;0;L;;;;10;N;;;;;
+10323;OLD ITALIC NUMERAL FIFTY;No;0;L;;;;50;N;;;;;
+10330;GOTHIC LETTER AHSA;Lo;0;L;;;;;N;;;;;
+10331;GOTHIC LETTER BAIRKAN;Lo;0;L;;;;;N;;;;;
+10332;GOTHIC LETTER GIBA;Lo;0;L;;;;;N;;;;;
+10333;GOTHIC LETTER DAGS;Lo;0;L;;;;;N;;;;;
+10334;GOTHIC LETTER AIHVUS;Lo;0;L;;;;;N;;;;;
+10335;GOTHIC LETTER QAIRTHRA;Lo;0;L;;;;;N;;;;;
+10336;GOTHIC LETTER IUJA;Lo;0;L;;;;;N;;;;;
+10337;GOTHIC LETTER HAGL;Lo;0;L;;;;;N;;;;;
+10338;GOTHIC LETTER THIUTH;Lo;0;L;;;;;N;;;;;
+10339;GOTHIC LETTER EIS;Lo;0;L;;;;;N;;;;;
+1033A;GOTHIC LETTER KUSMA;Lo;0;L;;;;;N;;;;;
+1033B;GOTHIC LETTER LAGUS;Lo;0;L;;;;;N;;;;;
+1033C;GOTHIC LETTER MANNA;Lo;0;L;;;;;N;;;;;
+1033D;GOTHIC LETTER NAUTHS;Lo;0;L;;;;;N;;;;;
+1033E;GOTHIC LETTER JER;Lo;0;L;;;;;N;;;;;
+1033F;GOTHIC LETTER URUS;Lo;0;L;;;;;N;;;;;
+10340;GOTHIC LETTER PAIRTHRA;Lo;0;L;;;;;N;;;;;
+10341;GOTHIC LETTER NINETY;Lo;0;L;;;;;N;;;;;
+10342;GOTHIC LETTER RAIDA;Lo;0;L;;;;;N;;;;;
+10343;GOTHIC LETTER SAUIL;Lo;0;L;;;;;N;;;;;
+10344;GOTHIC LETTER TEIWS;Lo;0;L;;;;;N;;;;;
+10345;GOTHIC LETTER WINJA;Lo;0;L;;;;;N;;;;;
+10346;GOTHIC LETTER FAIHU;Lo;0;L;;;;;N;;;;;
+10347;GOTHIC LETTER IGGWS;Lo;0;L;;;;;N;;;;;
+10348;GOTHIC LETTER HWAIR;Lo;0;L;;;;;N;;;;;
+10349;GOTHIC LETTER OTHAL;Lo;0;L;;;;;N;;;;;
+1034A;GOTHIC LETTER NINE HUNDRED;Nl;0;L;;;;900;N;;;;;
+10380;UGARITIC LETTER ALPA;Lo;0;L;;;;;N;;;;;
+10381;UGARITIC LETTER BETA;Lo;0;L;;;;;N;;;;;
+10382;UGARITIC LETTER GAMLA;Lo;0;L;;;;;N;;;;;
+10383;UGARITIC LETTER KHA;Lo;0;L;;;;;N;;;;;
+10384;UGARITIC LETTER DELTA;Lo;0;L;;;;;N;;;;;
+10385;UGARITIC LETTER HO;Lo;0;L;;;;;N;;;;;
+10386;UGARITIC LETTER WO;Lo;0;L;;;;;N;;;;;
+10387;UGARITIC LETTER ZETA;Lo;0;L;;;;;N;;;;;
+10388;UGARITIC LETTER HOTA;Lo;0;L;;;;;N;;;;;
+10389;UGARITIC LETTER TET;Lo;0;L;;;;;N;;;;;
+1038A;UGARITIC LETTER YOD;Lo;0;L;;;;;N;;;;;
+1038B;UGARITIC LETTER KAF;Lo;0;L;;;;;N;;;;;
+1038C;UGARITIC LETTER SHIN;Lo;0;L;;;;;N;;;;;
+1038D;UGARITIC LETTER LAMDA;Lo;0;L;;;;;N;;;;;
+1038E;UGARITIC LETTER MEM;Lo;0;L;;;;;N;;;;;
+1038F;UGARITIC LETTER DHAL;Lo;0;L;;;;;N;;;;;
+10390;UGARITIC LETTER NUN;Lo;0;L;;;;;N;;;;;
+10391;UGARITIC LETTER ZU;Lo;0;L;;;;;N;;;;;
+10392;UGARITIC LETTER SAMKA;Lo;0;L;;;;;N;;;;;
+10393;UGARITIC LETTER AIN;Lo;0;L;;;;;N;;;;;
+10394;UGARITIC LETTER PU;Lo;0;L;;;;;N;;;;;
+10395;UGARITIC LETTER SADE;Lo;0;L;;;;;N;;;;;
+10396;UGARITIC LETTER QOPA;Lo;0;L;;;;;N;;;;;
+10397;UGARITIC LETTER RASHA;Lo;0;L;;;;;N;;;;;
+10398;UGARITIC LETTER THANNA;Lo;0;L;;;;;N;;;;;
+10399;UGARITIC LETTER GHAIN;Lo;0;L;;;;;N;;;;;
+1039A;UGARITIC LETTER TO;Lo;0;L;;;;;N;;;;;
+1039B;UGARITIC LETTER I;Lo;0;L;;;;;N;;;;;
+1039C;UGARITIC LETTER U;Lo;0;L;;;;;N;;;;;
+1039D;UGARITIC LETTER SSU;Lo;0;L;;;;;N;;;;;
+1039F;UGARITIC WORD DIVIDER;Po;0;L;;;;;N;;;;;
+103A0;OLD PERSIAN SIGN A;Lo;0;L;;;;;N;;;;;
+103A1;OLD PERSIAN SIGN I;Lo;0;L;;;;;N;;;;;
+103A2;OLD PERSIAN SIGN U;Lo;0;L;;;;;N;;;;;
+103A3;OLD PERSIAN SIGN KA;Lo;0;L;;;;;N;;;;;
+103A4;OLD PERSIAN SIGN KU;Lo;0;L;;;;;N;;;;;
+103A5;OLD PERSIAN SIGN GA;Lo;0;L;;;;;N;;;;;
+103A6;OLD PERSIAN SIGN GU;Lo;0;L;;;;;N;;;;;
+103A7;OLD PERSIAN SIGN XA;Lo;0;L;;;;;N;;;;;
+103A8;OLD PERSIAN SIGN CA;Lo;0;L;;;;;N;;;;;
+103A9;OLD PERSIAN SIGN JA;Lo;0;L;;;;;N;;;;;
+103AA;OLD PERSIAN SIGN JI;Lo;0;L;;;;;N;;;;;
+103AB;OLD PERSIAN SIGN TA;Lo;0;L;;;;;N;;;;;
+103AC;OLD PERSIAN SIGN TU;Lo;0;L;;;;;N;;;;;
+103AD;OLD PERSIAN SIGN DA;Lo;0;L;;;;;N;;;;;
+103AE;OLD PERSIAN SIGN DI;Lo;0;L;;;;;N;;;;;
+103AF;OLD PERSIAN SIGN DU;Lo;0;L;;;;;N;;;;;
+103B0;OLD PERSIAN SIGN THA;Lo;0;L;;;;;N;;;;;
+103B1;OLD PERSIAN SIGN PA;Lo;0;L;;;;;N;;;;;
+103B2;OLD PERSIAN SIGN BA;Lo;0;L;;;;;N;;;;;
+103B3;OLD PERSIAN SIGN FA;Lo;0;L;;;;;N;;;;;
+103B4;OLD PERSIAN SIGN NA;Lo;0;L;;;;;N;;;;;
+103B5;OLD PERSIAN SIGN NU;Lo;0;L;;;;;N;;;;;
+103B6;OLD PERSIAN SIGN MA;Lo;0;L;;;;;N;;;;;
+103B7;OLD PERSIAN SIGN MI;Lo;0;L;;;;;N;;;;;
+103B8;OLD PERSIAN SIGN MU;Lo;0;L;;;;;N;;;;;
+103B9;OLD PERSIAN SIGN YA;Lo;0;L;;;;;N;;;;;
+103BA;OLD PERSIAN SIGN VA;Lo;0;L;;;;;N;;;;;
+103BB;OLD PERSIAN SIGN VI;Lo;0;L;;;;;N;;;;;
+103BC;OLD PERSIAN SIGN RA;Lo;0;L;;;;;N;;;;;
+103BD;OLD PERSIAN SIGN RU;Lo;0;L;;;;;N;;;;;
+103BE;OLD PERSIAN SIGN LA;Lo;0;L;;;;;N;;;;;
+103BF;OLD PERSIAN SIGN SA;Lo;0;L;;;;;N;;;;;
+103C0;OLD PERSIAN SIGN ZA;Lo;0;L;;;;;N;;;;;
+103C1;OLD PERSIAN SIGN SHA;Lo;0;L;;;;;N;;;;;
+103C2;OLD PERSIAN SIGN SSA;Lo;0;L;;;;;N;;;;;
+103C3;OLD PERSIAN SIGN HA;Lo;0;L;;;;;N;;;;;
+103C8;OLD PERSIAN SIGN AURAMAZDAA;Lo;0;L;;;;;N;;;;;
+103C9;OLD PERSIAN SIGN AURAMAZDAA-2;Lo;0;L;;;;;N;;;;;
+103CA;OLD PERSIAN SIGN AURAMAZDAAHA;Lo;0;L;;;;;N;;;;;
+103CB;OLD PERSIAN SIGN XSHAAYATHIYA;Lo;0;L;;;;;N;;;;;
+103CC;OLD PERSIAN SIGN DAHYAAUSH;Lo;0;L;;;;;N;;;;;
+103CD;OLD PERSIAN SIGN DAHYAAUSH-2;Lo;0;L;;;;;N;;;;;
+103CE;OLD PERSIAN SIGN BAGA;Lo;0;L;;;;;N;;;;;
+103CF;OLD PERSIAN SIGN BUUMISH;Lo;0;L;;;;;N;;;;;
+103D0;OLD PERSIAN WORD DIVIDER;So;0;L;;;;;N;;;;;
+103D1;OLD PERSIAN NUMBER ONE;Nl;0;ON;;;;1;N;;;;;
+103D2;OLD PERSIAN NUMBER TWO;Nl;0;ON;;;;2;N;;;;;
+103D3;OLD PERSIAN NUMBER TEN;Nl;0;ON;;;;10;N;;;;;
+103D4;OLD PERSIAN NUMBER TWENTY;Nl;0;ON;;;;20;N;;;;;
+103D5;OLD PERSIAN NUMBER HUNDRED;Nl;0;ON;;;;100;N;;;;;
+10400;DESERET CAPITAL LETTER LONG I;Lu;0;L;;;;;N;;;;10428;
+10401;DESERET CAPITAL LETTER LONG E;Lu;0;L;;;;;N;;;;10429;
+10402;DESERET CAPITAL LETTER LONG A;Lu;0;L;;;;;N;;;;1042A;
+10403;DESERET CAPITAL LETTER LONG AH;Lu;0;L;;;;;N;;;;1042B;
+10404;DESERET CAPITAL LETTER LONG O;Lu;0;L;;;;;N;;;;1042C;
+10405;DESERET CAPITAL LETTER LONG OO;Lu;0;L;;;;;N;;;;1042D;
+10406;DESERET CAPITAL LETTER SHORT I;Lu;0;L;;;;;N;;;;1042E;
+10407;DESERET CAPITAL LETTER SHORT E;Lu;0;L;;;;;N;;;;1042F;
+10408;DESERET CAPITAL LETTER SHORT A;Lu;0;L;;;;;N;;;;10430;
+10409;DESERET CAPITAL LETTER SHORT AH;Lu;0;L;;;;;N;;;;10431;
+1040A;DESERET CAPITAL LETTER SHORT O;Lu;0;L;;;;;N;;;;10432;
+1040B;DESERET CAPITAL LETTER SHORT OO;Lu;0;L;;;;;N;;;;10433;
+1040C;DESERET CAPITAL LETTER AY;Lu;0;L;;;;;N;;;;10434;
+1040D;DESERET CAPITAL LETTER OW;Lu;0;L;;;;;N;;;;10435;
+1040E;DESERET CAPITAL LETTER WU;Lu;0;L;;;;;N;;;;10436;
+1040F;DESERET CAPITAL LETTER YEE;Lu;0;L;;;;;N;;;;10437;
+10410;DESERET CAPITAL LETTER H;Lu;0;L;;;;;N;;;;10438;
+10411;DESERET CAPITAL LETTER PEE;Lu;0;L;;;;;N;;;;10439;
+10412;DESERET CAPITAL LETTER BEE;Lu;0;L;;;;;N;;;;1043A;
+10413;DESERET CAPITAL LETTER TEE;Lu;0;L;;;;;N;;;;1043B;
+10414;DESERET CAPITAL LETTER DEE;Lu;0;L;;;;;N;;;;1043C;
+10415;DESERET CAPITAL LETTER CHEE;Lu;0;L;;;;;N;;;;1043D;
+10416;DESERET CAPITAL LETTER JEE;Lu;0;L;;;;;N;;;;1043E;
+10417;DESERET CAPITAL LETTER KAY;Lu;0;L;;;;;N;;;;1043F;
+10418;DESERET CAPITAL LETTER GAY;Lu;0;L;;;;;N;;;;10440;
+10419;DESERET CAPITAL LETTER EF;Lu;0;L;;;;;N;;;;10441;
+1041A;DESERET CAPITAL LETTER VEE;Lu;0;L;;;;;N;;;;10442;
+1041B;DESERET CAPITAL LETTER ETH;Lu;0;L;;;;;N;;;;10443;
+1041C;DESERET CAPITAL LETTER THEE;Lu;0;L;;;;;N;;;;10444;
+1041D;DESERET CAPITAL LETTER ES;Lu;0;L;;;;;N;;;;10445;
+1041E;DESERET CAPITAL LETTER ZEE;Lu;0;L;;;;;N;;;;10446;
+1041F;DESERET CAPITAL LETTER ESH;Lu;0;L;;;;;N;;;;10447;
+10420;DESERET CAPITAL LETTER ZHEE;Lu;0;L;;;;;N;;;;10448;
+10421;DESERET CAPITAL LETTER ER;Lu;0;L;;;;;N;;;;10449;
+10422;DESERET CAPITAL LETTER EL;Lu;0;L;;;;;N;;;;1044A;
+10423;DESERET CAPITAL LETTER EM;Lu;0;L;;;;;N;;;;1044B;
+10424;DESERET CAPITAL LETTER EN;Lu;0;L;;;;;N;;;;1044C;
+10425;DESERET CAPITAL LETTER ENG;Lu;0;L;;;;;N;;;;1044D;
+10426;DESERET CAPITAL LETTER OI;Lu;0;L;;;;;N;;;;1044E;
+10427;DESERET CAPITAL LETTER EW;Lu;0;L;;;;;N;;;;1044F;
+10428;DESERET SMALL LETTER LONG I;Ll;0;L;;;;;N;;;10400;;10400
+10429;DESERET SMALL LETTER LONG E;Ll;0;L;;;;;N;;;10401;;10401
+1042A;DESERET SMALL LETTER LONG A;Ll;0;L;;;;;N;;;10402;;10402
+1042B;DESERET SMALL LETTER LONG AH;Ll;0;L;;;;;N;;;10403;;10403
+1042C;DESERET SMALL LETTER LONG O;Ll;0;L;;;;;N;;;10404;;10404
+1042D;DESERET SMALL LETTER LONG OO;Ll;0;L;;;;;N;;;10405;;10405
+1042E;DESERET SMALL LETTER SHORT I;Ll;0;L;;;;;N;;;10406;;10406
+1042F;DESERET SMALL LETTER SHORT E;Ll;0;L;;;;;N;;;10407;;10407
+10430;DESERET SMALL LETTER SHORT A;Ll;0;L;;;;;N;;;10408;;10408
+10431;DESERET SMALL LETTER SHORT AH;Ll;0;L;;;;;N;;;10409;;10409
+10432;DESERET SMALL LETTER SHORT O;Ll;0;L;;;;;N;;;1040A;;1040A
+10433;DESERET SMALL LETTER SHORT OO;Ll;0;L;;;;;N;;;1040B;;1040B
+10434;DESERET SMALL LETTER AY;Ll;0;L;;;;;N;;;1040C;;1040C
+10435;DESERET SMALL LETTER OW;Ll;0;L;;;;;N;;;1040D;;1040D
+10436;DESERET SMALL LETTER WU;Ll;0;L;;;;;N;;;1040E;;1040E
+10437;DESERET SMALL LETTER YEE;Ll;0;L;;;;;N;;;1040F;;1040F
+10438;DESERET SMALL LETTER H;Ll;0;L;;;;;N;;;10410;;10410
+10439;DESERET SMALL LETTER PEE;Ll;0;L;;;;;N;;;10411;;10411
+1043A;DESERET SMALL LETTER BEE;Ll;0;L;;;;;N;;;10412;;10412
+1043B;DESERET SMALL LETTER TEE;Ll;0;L;;;;;N;;;10413;;10413
+1043C;DESERET SMALL LETTER DEE;Ll;0;L;;;;;N;;;10414;;10414
+1043D;DESERET SMALL LETTER CHEE;Ll;0;L;;;;;N;;;10415;;10415
+1043E;DESERET SMALL LETTER JEE;Ll;0;L;;;;;N;;;10416;;10416
+1043F;DESERET SMALL LETTER KAY;Ll;0;L;;;;;N;;;10417;;10417
+10440;DESERET SMALL LETTER GAY;Ll;0;L;;;;;N;;;10418;;10418
+10441;DESERET SMALL LETTER EF;Ll;0;L;;;;;N;;;10419;;10419
+10442;DESERET SMALL LETTER VEE;Ll;0;L;;;;;N;;;1041A;;1041A
+10443;DESERET SMALL LETTER ETH;Ll;0;L;;;;;N;;;1041B;;1041B
+10444;DESERET SMALL LETTER THEE;Ll;0;L;;;;;N;;;1041C;;1041C
+10445;DESERET SMALL LETTER ES;Ll;0;L;;;;;N;;;1041D;;1041D
+10446;DESERET SMALL LETTER ZEE;Ll;0;L;;;;;N;;;1041E;;1041E
+10447;DESERET SMALL LETTER ESH;Ll;0;L;;;;;N;;;1041F;;1041F
+10448;DESERET SMALL LETTER ZHEE;Ll;0;L;;;;;N;;;10420;;10420
+10449;DESERET SMALL LETTER ER;Ll;0;L;;;;;N;;;10421;;10421
+1044A;DESERET SMALL LETTER EL;Ll;0;L;;;;;N;;;10422;;10422
+1044B;DESERET SMALL LETTER EM;Ll;0;L;;;;;N;;;10423;;10423
+1044C;DESERET SMALL LETTER EN;Ll;0;L;;;;;N;;;10424;;10424
+1044D;DESERET SMALL LETTER ENG;Ll;0;L;;;;;N;;;10425;;10425
+1044E;DESERET SMALL LETTER OI;Ll;0;L;;;;;N;;;10426;;10426
+1044F;DESERET SMALL LETTER EW;Ll;0;L;;;;;N;;;10427;;10427
+10450;SHAVIAN LETTER PEEP;Lo;0;L;;;;;N;;;;;
+10451;SHAVIAN LETTER TOT;Lo;0;L;;;;;N;;;;;
+10452;SHAVIAN LETTER KICK;Lo;0;L;;;;;N;;;;;
+10453;SHAVIAN LETTER FEE;Lo;0;L;;;;;N;;;;;
+10454;SHAVIAN LETTER THIGH;Lo;0;L;;;;;N;;;;;
+10455;SHAVIAN LETTER SO;Lo;0;L;;;;;N;;;;;
+10456;SHAVIAN LETTER SURE;Lo;0;L;;;;;N;;;;;
+10457;SHAVIAN LETTER CHURCH;Lo;0;L;;;;;N;;;;;
+10458;SHAVIAN LETTER YEA;Lo;0;L;;;;;N;;;;;
+10459;SHAVIAN LETTER HUNG;Lo;0;L;;;;;N;;;;;
+1045A;SHAVIAN LETTER BIB;Lo;0;L;;;;;N;;;;;
+1045B;SHAVIAN LETTER DEAD;Lo;0;L;;;;;N;;;;;
+1045C;SHAVIAN LETTER GAG;Lo;0;L;;;;;N;;;;;
+1045D;SHAVIAN LETTER VOW;Lo;0;L;;;;;N;;;;;
+1045E;SHAVIAN LETTER THEY;Lo;0;L;;;;;N;;;;;
+1045F;SHAVIAN LETTER ZOO;Lo;0;L;;;;;N;;;;;
+10460;SHAVIAN LETTER MEASURE;Lo;0;L;;;;;N;;;;;
+10461;SHAVIAN LETTER JUDGE;Lo;0;L;;;;;N;;;;;
+10462;SHAVIAN LETTER WOE;Lo;0;L;;;;;N;;;;;
+10463;SHAVIAN LETTER HA-HA;Lo;0;L;;;;;N;;;;;
+10464;SHAVIAN LETTER LOLL;Lo;0;L;;;;;N;;;;;
+10465;SHAVIAN LETTER MIME;Lo;0;L;;;;;N;;;;;
+10466;SHAVIAN LETTER IF;Lo;0;L;;;;;N;;;;;
+10467;SHAVIAN LETTER EGG;Lo;0;L;;;;;N;;;;;
+10468;SHAVIAN LETTER ASH;Lo;0;L;;;;;N;;;;;
+10469;SHAVIAN LETTER ADO;Lo;0;L;;;;;N;;;;;
+1046A;SHAVIAN LETTER ON;Lo;0;L;;;;;N;;;;;
+1046B;SHAVIAN LETTER WOOL;Lo;0;L;;;;;N;;;;;
+1046C;SHAVIAN LETTER OUT;Lo;0;L;;;;;N;;;;;
+1046D;SHAVIAN LETTER AH;Lo;0;L;;;;;N;;;;;
+1046E;SHAVIAN LETTER ROAR;Lo;0;L;;;;;N;;;;;
+1046F;SHAVIAN LETTER NUN;Lo;0;L;;;;;N;;;;;
+10470;SHAVIAN LETTER EAT;Lo;0;L;;;;;N;;;;;
+10471;SHAVIAN LETTER AGE;Lo;0;L;;;;;N;;;;;
+10472;SHAVIAN LETTER ICE;Lo;0;L;;;;;N;;;;;
+10473;SHAVIAN LETTER UP;Lo;0;L;;;;;N;;;;;
+10474;SHAVIAN LETTER OAK;Lo;0;L;;;;;N;;;;;
+10475;SHAVIAN LETTER OOZE;Lo;0;L;;;;;N;;;;;
+10476;SHAVIAN LETTER OIL;Lo;0;L;;;;;N;;;;;
+10477;SHAVIAN LETTER AWE;Lo;0;L;;;;;N;;;;;
+10478;SHAVIAN LETTER ARE;Lo;0;L;;;;;N;;;;;
+10479;SHAVIAN LETTER OR;Lo;0;L;;;;;N;;;;;
+1047A;SHAVIAN LETTER AIR;Lo;0;L;;;;;N;;;;;
+1047B;SHAVIAN LETTER ERR;Lo;0;L;;;;;N;;;;;
+1047C;SHAVIAN LETTER ARRAY;Lo;0;L;;;;;N;;;;;
+1047D;SHAVIAN LETTER EAR;Lo;0;L;;;;;N;;;;;
+1047E;SHAVIAN LETTER IAN;Lo;0;L;;;;;N;;;;;
+1047F;SHAVIAN LETTER YEW;Lo;0;L;;;;;N;;;;;
+10480;OSMANYA LETTER ALEF;Lo;0;L;;;;;N;;;;;
+10481;OSMANYA LETTER BA;Lo;0;L;;;;;N;;;;;
+10482;OSMANYA LETTER TA;Lo;0;L;;;;;N;;;;;
+10483;OSMANYA LETTER JA;Lo;0;L;;;;;N;;;;;
+10484;OSMANYA LETTER XA;Lo;0;L;;;;;N;;;;;
+10485;OSMANYA LETTER KHA;Lo;0;L;;;;;N;;;;;
+10486;OSMANYA LETTER DEEL;Lo;0;L;;;;;N;;;;;
+10487;OSMANYA LETTER RA;Lo;0;L;;;;;N;;;;;
+10488;OSMANYA LETTER SA;Lo;0;L;;;;;N;;;;;
+10489;OSMANYA LETTER SHIIN;Lo;0;L;;;;;N;;;;;
+1048A;OSMANYA LETTER DHA;Lo;0;L;;;;;N;;;;;
+1048B;OSMANYA LETTER CAYN;Lo;0;L;;;;;N;;;;;
+1048C;OSMANYA LETTER GA;Lo;0;L;;;;;N;;;;;
+1048D;OSMANYA LETTER FA;Lo;0;L;;;;;N;;;;;
+1048E;OSMANYA LETTER QAAF;Lo;0;L;;;;;N;;;;;
+1048F;OSMANYA LETTER KAAF;Lo;0;L;;;;;N;;;;;
+10490;OSMANYA LETTER LAAN;Lo;0;L;;;;;N;;;;;
+10491;OSMANYA LETTER MIIN;Lo;0;L;;;;;N;;;;;
+10492;OSMANYA LETTER NUUN;Lo;0;L;;;;;N;;;;;
+10493;OSMANYA LETTER WAW;Lo;0;L;;;;;N;;;;;
+10494;OSMANYA LETTER HA;Lo;0;L;;;;;N;;;;;
+10495;OSMANYA LETTER YA;Lo;0;L;;;;;N;;;;;
+10496;OSMANYA LETTER A;Lo;0;L;;;;;N;;;;;
+10497;OSMANYA LETTER E;Lo;0;L;;;;;N;;;;;
+10498;OSMANYA LETTER I;Lo;0;L;;;;;N;;;;;
+10499;OSMANYA LETTER O;Lo;0;L;;;;;N;;;;;
+1049A;OSMANYA LETTER U;Lo;0;L;;;;;N;;;;;
+1049B;OSMANYA LETTER AA;Lo;0;L;;;;;N;;;;;
+1049C;OSMANYA LETTER EE;Lo;0;L;;;;;N;;;;;
+1049D;OSMANYA LETTER OO;Lo;0;L;;;;;N;;;;;
+104A0;OSMANYA DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
+104A1;OSMANYA DIGIT ONE;Nd;0;L;;1;1;1;N;;;;;
+104A2;OSMANYA DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
+104A3;OSMANYA DIGIT THREE;Nd;0;L;;3;3;3;N;;;;;
+104A4;OSMANYA DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;;
+104A5;OSMANYA DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;;
+104A6;OSMANYA DIGIT SIX;Nd;0;L;;6;6;6;N;;;;;
+104A7;OSMANYA DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
+104A8;OSMANYA DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
+104A9;OSMANYA DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
+10800;CYPRIOT SYLLABLE A;Lo;0;R;;;;;N;;;;;
+10801;CYPRIOT SYLLABLE E;Lo;0;R;;;;;N;;;;;
+10802;CYPRIOT SYLLABLE I;Lo;0;R;;;;;N;;;;;
+10803;CYPRIOT SYLLABLE O;Lo;0;R;;;;;N;;;;;
+10804;CYPRIOT SYLLABLE U;Lo;0;R;;;;;N;;;;;
+10805;CYPRIOT SYLLABLE JA;Lo;0;R;;;;;N;;;;;
+10808;CYPRIOT SYLLABLE JO;Lo;0;R;;;;;N;;;;;
+1080A;CYPRIOT SYLLABLE KA;Lo;0;R;;;;;N;;;;;
+1080B;CYPRIOT SYLLABLE KE;Lo;0;R;;;;;N;;;;;
+1080C;CYPRIOT SYLLABLE KI;Lo;0;R;;;;;N;;;;;
+1080D;CYPRIOT SYLLABLE KO;Lo;0;R;;;;;N;;;;;
+1080E;CYPRIOT SYLLABLE KU;Lo;0;R;;;;;N;;;;;
+1080F;CYPRIOT SYLLABLE LA;Lo;0;R;;;;;N;;;;;
+10810;CYPRIOT SYLLABLE LE;Lo;0;R;;;;;N;;;;;
+10811;CYPRIOT SYLLABLE LI;Lo;0;R;;;;;N;;;;;
+10812;CYPRIOT SYLLABLE LO;Lo;0;R;;;;;N;;;;;
+10813;CYPRIOT SYLLABLE LU;Lo;0;R;;;;;N;;;;;
+10814;CYPRIOT SYLLABLE MA;Lo;0;R;;;;;N;;;;;
+10815;CYPRIOT SYLLABLE ME;Lo;0;R;;;;;N;;;;;
+10816;CYPRIOT SYLLABLE MI;Lo;0;R;;;;;N;;;;;
+10817;CYPRIOT SYLLABLE MO;Lo;0;R;;;;;N;;;;;
+10818;CYPRIOT SYLLABLE MU;Lo;0;R;;;;;N;;;;;
+10819;CYPRIOT SYLLABLE NA;Lo;0;R;;;;;N;;;;;
+1081A;CYPRIOT SYLLABLE NE;Lo;0;R;;;;;N;;;;;
+1081B;CYPRIOT SYLLABLE NI;Lo;0;R;;;;;N;;;;;
+1081C;CYPRIOT SYLLABLE NO;Lo;0;R;;;;;N;;;;;
+1081D;CYPRIOT SYLLABLE NU;Lo;0;R;;;;;N;;;;;
+1081E;CYPRIOT SYLLABLE PA;Lo;0;R;;;;;N;;;;;
+1081F;CYPRIOT SYLLABLE PE;Lo;0;R;;;;;N;;;;;
+10820;CYPRIOT SYLLABLE PI;Lo;0;R;;;;;N;;;;;
+10821;CYPRIOT SYLLABLE PO;Lo;0;R;;;;;N;;;;;
+10822;CYPRIOT SYLLABLE PU;Lo;0;R;;;;;N;;;;;
+10823;CYPRIOT SYLLABLE RA;Lo;0;R;;;;;N;;;;;
+10824;CYPRIOT SYLLABLE RE;Lo;0;R;;;;;N;;;;;
+10825;CYPRIOT SYLLABLE RI;Lo;0;R;;;;;N;;;;;
+10826;CYPRIOT SYLLABLE RO;Lo;0;R;;;;;N;;;;;
+10827;CYPRIOT SYLLABLE RU;Lo;0;R;;;;;N;;;;;
+10828;CYPRIOT SYLLABLE SA;Lo;0;R;;;;;N;;;;;
+10829;CYPRIOT SYLLABLE SE;Lo;0;R;;;;;N;;;;;
+1082A;CYPRIOT SYLLABLE SI;Lo;0;R;;;;;N;;;;;
+1082B;CYPRIOT SYLLABLE SO;Lo;0;R;;;;;N;;;;;
+1082C;CYPRIOT SYLLABLE SU;Lo;0;R;;;;;N;;;;;
+1082D;CYPRIOT SYLLABLE TA;Lo;0;R;;;;;N;;;;;
+1082E;CYPRIOT SYLLABLE TE;Lo;0;R;;;;;N;;;;;
+1082F;CYPRIOT SYLLABLE TI;Lo;0;R;;;;;N;;;;;
+10830;CYPRIOT SYLLABLE TO;Lo;0;R;;;;;N;;;;;
+10831;CYPRIOT SYLLABLE TU;Lo;0;R;;;;;N;;;;;
+10832;CYPRIOT SYLLABLE WA;Lo;0;R;;;;;N;;;;;
+10833;CYPRIOT SYLLABLE WE;Lo;0;R;;;;;N;;;;;
+10834;CYPRIOT SYLLABLE WI;Lo;0;R;;;;;N;;;;;
+10835;CYPRIOT SYLLABLE WO;Lo;0;R;;;;;N;;;;;
+10837;CYPRIOT SYLLABLE XA;Lo;0;R;;;;;N;;;;;
+10838;CYPRIOT SYLLABLE XE;Lo;0;R;;;;;N;;;;;
+1083C;CYPRIOT SYLLABLE ZA;Lo;0;R;;;;;N;;;;;
+1083F;CYPRIOT SYLLABLE ZO;Lo;0;R;;;;;N;;;;;
+10A00;KHAROSHTHI LETTER A;Lo;0;R;;;;;N;;;;;
+10A01;KHAROSHTHI VOWEL SIGN I;Mn;0;NSM;;;;;N;;;;;
+10A02;KHAROSHTHI VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;;
+10A03;KHAROSHTHI VOWEL SIGN VOCALIC R;Mn;0;NSM;;;;;N;;;;;
+10A05;KHAROSHTHI VOWEL SIGN E;Mn;0;NSM;;;;;N;;;;;
+10A06;KHAROSHTHI VOWEL SIGN O;Mn;0;NSM;;;;;N;;;;;
+10A0C;KHAROSHTHI VOWEL LENGTH MARK;Mn;0;NSM;;;;;N;;;;;
+10A0D;KHAROSHTHI SIGN DOUBLE RING BELOW;Mn;220;NSM;;;;;N;;;;;
+10A0E;KHAROSHTHI SIGN ANUSVARA;Mn;0;NSM;;;;;N;;;;;
+10A0F;KHAROSHTHI SIGN VISARGA;Mn;230;NSM;;;;;N;;;;;
+10A10;KHAROSHTHI LETTER KA;Lo;0;R;;;;;N;;;;;
+10A11;KHAROSHTHI LETTER KHA;Lo;0;R;;;;;N;;;;;
+10A12;KHAROSHTHI LETTER GA;Lo;0;R;;;;;N;;;;;
+10A13;KHAROSHTHI LETTER GHA;Lo;0;R;;;;;N;;;;;
+10A15;KHAROSHTHI LETTER CA;Lo;0;R;;;;;N;;;;;
+10A16;KHAROSHTHI LETTER CHA;Lo;0;R;;;;;N;;;;;
+10A17;KHAROSHTHI LETTER JA;Lo;0;R;;;;;N;;;;;
+10A19;KHAROSHTHI LETTER NYA;Lo;0;R;;;;;N;;;;;
+10A1A;KHAROSHTHI LETTER TTA;Lo;0;R;;;;;N;;;;;
+10A1B;KHAROSHTHI LETTER TTHA;Lo;0;R;;;;;N;;;;;
+10A1C;KHAROSHTHI LETTER DDA;Lo;0;R;;;;;N;;;;;
+10A1D;KHAROSHTHI LETTER DDHA;Lo;0;R;;;;;N;;;;;
+10A1E;KHAROSHTHI LETTER NNA;Lo;0;R;;;;;N;;;;;
+10A1F;KHAROSHTHI LETTER TA;Lo;0;R;;;;;N;;;;;
+10A20;KHAROSHTHI LETTER THA;Lo;0;R;;;;;N;;;;;
+10A21;KHAROSHTHI LETTER DA;Lo;0;R;;;;;N;;;;;
+10A22;KHAROSHTHI LETTER DHA;Lo;0;R;;;;;N;;;;;
+10A23;KHAROSHTHI LETTER NA;Lo;0;R;;;;;N;;;;;
+10A24;KHAROSHTHI LETTER PA;Lo;0;R;;;;;N;;;;;
+10A25;KHAROSHTHI LETTER PHA;Lo;0;R;;;;;N;;;;;
+10A26;KHAROSHTHI LETTER BA;Lo;0;R;;;;;N;;;;;
+10A27;KHAROSHTHI LETTER BHA;Lo;0;R;;;;;N;;;;;
+10A28;KHAROSHTHI LETTER MA;Lo;0;R;;;;;N;;;;;
+10A29;KHAROSHTHI LETTER YA;Lo;0;R;;;;;N;;;;;
+10A2A;KHAROSHTHI LETTER RA;Lo;0;R;;;;;N;;;;;
+10A2B;KHAROSHTHI LETTER LA;Lo;0;R;;;;;N;;;;;
+10A2C;KHAROSHTHI LETTER VA;Lo;0;R;;;;;N;;;;;
+10A2D;KHAROSHTHI LETTER SHA;Lo;0;R;;;;;N;;;;;
+10A2E;KHAROSHTHI LETTER SSA;Lo;0;R;;;;;N;;;;;
+10A2F;KHAROSHTHI LETTER SA;Lo;0;R;;;;;N;;;;;
+10A30;KHAROSHTHI LETTER ZA;Lo;0;R;;;;;N;;;;;
+10A31;KHAROSHTHI LETTER HA;Lo;0;R;;;;;N;;;;;
+10A32;KHAROSHTHI LETTER KKA;Lo;0;R;;;;;N;;;;;
+10A33;KHAROSHTHI LETTER TTTHA;Lo;0;R;;;;;N;;;;;
+10A38;KHAROSHTHI SIGN BAR ABOVE;Mn;230;NSM;;;;;N;;;;;
+10A39;KHAROSHTHI SIGN CAUDA;Mn;1;NSM;;;;;N;;;;;
+10A3A;KHAROSHTHI SIGN DOT BELOW;Mn;220;NSM;;;;;N;;;;;
+10A3F;KHAROSHTHI VIRAMA;Mn;9;NSM;;;;;N;;;;;
+10A40;KHAROSHTHI DIGIT ONE;No;0;R;;;1;1;N;;;;;
+10A41;KHAROSHTHI DIGIT TWO;No;0;R;;;2;2;N;;;;;
+10A42;KHAROSHTHI DIGIT THREE;No;0;R;;;3;3;N;;;;;
+10A43;KHAROSHTHI DIGIT FOUR;No;0;R;;;4;4;N;;;;;
+10A44;KHAROSHTHI NUMBER TEN;No;0;R;;;;10;N;;;;;
+10A45;KHAROSHTHI NUMBER TWENTY;No;0;R;;;;20;N;;;;;
+10A46;KHAROSHTHI NUMBER ONE HUNDRED;No;0;R;;;;100;N;;;;;
+10A47;KHAROSHTHI NUMBER ONE THOUSAND;No;0;R;;;;1000;N;;;;;
+10A50;KHAROSHTHI PUNCTUATION DOT;Po;0;R;;;;;N;;;;;
+10A51;KHAROSHTHI PUNCTUATION SMALL CIRCLE;Po;0;R;;;;;N;;;;;
+10A52;KHAROSHTHI PUNCTUATION CIRCLE;Po;0;R;;;;;N;;;;;
+10A53;KHAROSHTHI PUNCTUATION CRESCENT BAR;Po;0;R;;;;;N;;;;;
+10A54;KHAROSHTHI PUNCTUATION MANGALAM;Po;0;R;;;;;N;;;;;
+10A55;KHAROSHTHI PUNCTUATION LOTUS;Po;0;R;;;;;N;;;;;
+10A56;KHAROSHTHI PUNCTUATION DANDA;Po;0;R;;;;;N;;;;;
+10A57;KHAROSHTHI PUNCTUATION DOUBLE DANDA;Po;0;R;;;;;N;;;;;
+10A58;KHAROSHTHI PUNCTUATION LINES;Po;0;R;;;;;N;;;;;
+1D000;BYZANTINE MUSICAL SYMBOL PSILI;So;0;L;;;;;N;;;;;
+1D001;BYZANTINE MUSICAL SYMBOL DASEIA;So;0;L;;;;;N;;;;;
+1D002;BYZANTINE MUSICAL SYMBOL PERISPOMENI;So;0;L;;;;;N;;;;;
+1D003;BYZANTINE MUSICAL SYMBOL OXEIA EKFONITIKON;So;0;L;;;;;N;;;;;
+1D004;BYZANTINE MUSICAL SYMBOL OXEIA DIPLI;So;0;L;;;;;N;;;;;
+1D005;BYZANTINE MUSICAL SYMBOL VAREIA EKFONITIKON;So;0;L;;;;;N;;;;;
+1D006;BYZANTINE MUSICAL SYMBOL VAREIA DIPLI;So;0;L;;;;;N;;;;;
+1D007;BYZANTINE MUSICAL SYMBOL KATHISTI;So;0;L;;;;;N;;;;;
+1D008;BYZANTINE MUSICAL SYMBOL SYRMATIKI;So;0;L;;;;;N;;;;;
+1D009;BYZANTINE MUSICAL SYMBOL PARAKLITIKI;So;0;L;;;;;N;;;;;
+1D00A;BYZANTINE MUSICAL SYMBOL YPOKRISIS;So;0;L;;;;;N;;;;;
+1D00B;BYZANTINE MUSICAL SYMBOL YPOKRISIS DIPLI;So;0;L;;;;;N;;;;;
+1D00C;BYZANTINE MUSICAL SYMBOL KREMASTI;So;0;L;;;;;N;;;;;
+1D00D;BYZANTINE MUSICAL SYMBOL APESO EKFONITIKON;So;0;L;;;;;N;;;;;
+1D00E;BYZANTINE MUSICAL SYMBOL EXO EKFONITIKON;So;0;L;;;;;N;;;;;
+1D00F;BYZANTINE MUSICAL SYMBOL TELEIA;So;0;L;;;;;N;;;;;
+1D010;BYZANTINE MUSICAL SYMBOL KENTIMATA;So;0;L;;;;;N;;;;;
+1D011;BYZANTINE MUSICAL SYMBOL APOSTROFOS;So;0;L;;;;;N;;;;;
+1D012;BYZANTINE MUSICAL SYMBOL APOSTROFOS DIPLI;So;0;L;;;;;N;;;;;
+1D013;BYZANTINE MUSICAL SYMBOL SYNEVMA;So;0;L;;;;;N;;;;;
+1D014;BYZANTINE MUSICAL SYMBOL THITA;So;0;L;;;;;N;;;;;
+1D015;BYZANTINE MUSICAL SYMBOL OLIGON ARCHAION;So;0;L;;;;;N;;;;;
+1D016;BYZANTINE MUSICAL SYMBOL GORGON ARCHAION;So;0;L;;;;;N;;;;;
+1D017;BYZANTINE MUSICAL SYMBOL PSILON;So;0;L;;;;;N;;;;;
+1D018;BYZANTINE MUSICAL SYMBOL CHAMILON;So;0;L;;;;;N;;;;;
+1D019;BYZANTINE MUSICAL SYMBOL VATHY;So;0;L;;;;;N;;;;;
+1D01A;BYZANTINE MUSICAL SYMBOL ISON ARCHAION;So;0;L;;;;;N;;;;;
+1D01B;BYZANTINE MUSICAL SYMBOL KENTIMA ARCHAION;So;0;L;;;;;N;;;;;
+1D01C;BYZANTINE MUSICAL SYMBOL KENTIMATA ARCHAION;So;0;L;;;;;N;;;;;
+1D01D;BYZANTINE MUSICAL SYMBOL SAXIMATA;So;0;L;;;;;N;;;;;
+1D01E;BYZANTINE MUSICAL SYMBOL PARICHON;So;0;L;;;;;N;;;;;
+1D01F;BYZANTINE MUSICAL SYMBOL STAVROS APODEXIA;So;0;L;;;;;N;;;;;
+1D020;BYZANTINE MUSICAL SYMBOL OXEIAI ARCHAION;So;0;L;;;;;N;;;;;
+1D021;BYZANTINE MUSICAL SYMBOL VAREIAI ARCHAION;So;0;L;;;;;N;;;;;
+1D022;BYZANTINE MUSICAL SYMBOL APODERMA ARCHAION;So;0;L;;;;;N;;;;;
+1D023;BYZANTINE MUSICAL SYMBOL APOTHEMA;So;0;L;;;;;N;;;;;
+1D024;BYZANTINE MUSICAL SYMBOL KLASMA;So;0;L;;;;;N;;;;;
+1D025;BYZANTINE MUSICAL SYMBOL REVMA;So;0;L;;;;;N;;;;;
+1D026;BYZANTINE MUSICAL SYMBOL PIASMA ARCHAION;So;0;L;;;;;N;;;;;
+1D027;BYZANTINE MUSICAL SYMBOL TINAGMA;So;0;L;;;;;N;;;;;
+1D028;BYZANTINE MUSICAL SYMBOL ANATRICHISMA;So;0;L;;;;;N;;;;;
+1D029;BYZANTINE MUSICAL SYMBOL SEISMA;So;0;L;;;;;N;;;;;
+1D02A;BYZANTINE MUSICAL SYMBOL SYNAGMA ARCHAION;So;0;L;;;;;N;;;;;
+1D02B;BYZANTINE MUSICAL SYMBOL SYNAGMA META STAVROU;So;0;L;;;;;N;;;;;
+1D02C;BYZANTINE MUSICAL SYMBOL OYRANISMA ARCHAION;So;0;L;;;;;N;;;;;
+1D02D;BYZANTINE MUSICAL SYMBOL THEMA;So;0;L;;;;;N;;;;;
+1D02E;BYZANTINE MUSICAL SYMBOL LEMOI;So;0;L;;;;;N;;;;;
+1D02F;BYZANTINE MUSICAL SYMBOL DYO;So;0;L;;;;;N;;;;;
+1D030;BYZANTINE MUSICAL SYMBOL TRIA;So;0;L;;;;;N;;;;;
+1D031;BYZANTINE MUSICAL SYMBOL TESSERA;So;0;L;;;;;N;;;;;
+1D032;BYZANTINE MUSICAL SYMBOL KRATIMATA;So;0;L;;;;;N;;;;;
+1D033;BYZANTINE MUSICAL SYMBOL APESO EXO NEO;So;0;L;;;;;N;;;;;
+1D034;BYZANTINE MUSICAL SYMBOL FTHORA ARCHAION;So;0;L;;;;;N;;;;;
+1D035;BYZANTINE MUSICAL SYMBOL IMIFTHORA;So;0;L;;;;;N;;;;;
+1D036;BYZANTINE MUSICAL SYMBOL TROMIKON ARCHAION;So;0;L;;;;;N;;;;;
+1D037;BYZANTINE MUSICAL SYMBOL KATAVA TROMIKON;So;0;L;;;;;N;;;;;
+1D038;BYZANTINE MUSICAL SYMBOL PELASTON;So;0;L;;;;;N;;;;;
+1D039;BYZANTINE MUSICAL SYMBOL PSIFISTON;So;0;L;;;;;N;;;;;
+1D03A;BYZANTINE MUSICAL SYMBOL KONTEVMA;So;0;L;;;;;N;;;;;
+1D03B;BYZANTINE MUSICAL SYMBOL CHOREVMA ARCHAION;So;0;L;;;;;N;;;;;
+1D03C;BYZANTINE MUSICAL SYMBOL RAPISMA;So;0;L;;;;;N;;;;;
+1D03D;BYZANTINE MUSICAL SYMBOL PARAKALESMA ARCHAION;So;0;L;;;;;N;;;;;
+1D03E;BYZANTINE MUSICAL SYMBOL PARAKLITIKI ARCHAION;So;0;L;;;;;N;;;;;
+1D03F;BYZANTINE MUSICAL SYMBOL ICHADIN;So;0;L;;;;;N;;;;;
+1D040;BYZANTINE MUSICAL SYMBOL NANA;So;0;L;;;;;N;;;;;
+1D041;BYZANTINE MUSICAL SYMBOL PETASMA;So;0;L;;;;;N;;;;;
+1D042;BYZANTINE MUSICAL SYMBOL KONTEVMA ALLO;So;0;L;;;;;N;;;;;
+1D043;BYZANTINE MUSICAL SYMBOL TROMIKON ALLO;So;0;L;;;;;N;;;;;
+1D044;BYZANTINE MUSICAL SYMBOL STRAGGISMATA;So;0;L;;;;;N;;;;;
+1D045;BYZANTINE MUSICAL SYMBOL GRONTHISMATA;So;0;L;;;;;N;;;;;
+1D046;BYZANTINE MUSICAL SYMBOL ISON NEO;So;0;L;;;;;N;;;;;
+1D047;BYZANTINE MUSICAL SYMBOL OLIGON NEO;So;0;L;;;;;N;;;;;
+1D048;BYZANTINE MUSICAL SYMBOL OXEIA NEO;So;0;L;;;;;N;;;;;
+1D049;BYZANTINE MUSICAL SYMBOL PETASTI;So;0;L;;;;;N;;;;;
+1D04A;BYZANTINE MUSICAL SYMBOL KOUFISMA;So;0;L;;;;;N;;;;;
+1D04B;BYZANTINE MUSICAL SYMBOL PETASTOKOUFISMA;So;0;L;;;;;N;;;;;
+1D04C;BYZANTINE MUSICAL SYMBOL KRATIMOKOUFISMA;So;0;L;;;;;N;;;;;
+1D04D;BYZANTINE MUSICAL SYMBOL PELASTON NEO;So;0;L;;;;;N;;;;;
+1D04E;BYZANTINE MUSICAL SYMBOL KENTIMATA NEO ANO;So;0;L;;;;;N;;;;;
+1D04F;BYZANTINE MUSICAL SYMBOL KENTIMA NEO ANO;So;0;L;;;;;N;;;;;
+1D050;BYZANTINE MUSICAL SYMBOL YPSILI;So;0;L;;;;;N;;;;;
+1D051;BYZANTINE MUSICAL SYMBOL APOSTROFOS NEO;So;0;L;;;;;N;;;;;
+1D052;BYZANTINE MUSICAL SYMBOL APOSTROFOI SYNDESMOS NEO;So;0;L;;;;;N;;;;;
+1D053;BYZANTINE MUSICAL SYMBOL YPORROI;So;0;L;;;;;N;;;;;
+1D054;BYZANTINE MUSICAL SYMBOL KRATIMOYPORROON;So;0;L;;;;;N;;;;;
+1D055;BYZANTINE MUSICAL SYMBOL ELAFRON;So;0;L;;;;;N;;;;;
+1D056;BYZANTINE MUSICAL SYMBOL CHAMILI;So;0;L;;;;;N;;;;;
+1D057;BYZANTINE MUSICAL SYMBOL MIKRON ISON;So;0;L;;;;;N;;;;;
+1D058;BYZANTINE MUSICAL SYMBOL VAREIA NEO;So;0;L;;;;;N;;;;;
+1D059;BYZANTINE MUSICAL SYMBOL PIASMA NEO;So;0;L;;;;;N;;;;;
+1D05A;BYZANTINE MUSICAL SYMBOL PSIFISTON NEO;So;0;L;;;;;N;;;;;
+1D05B;BYZANTINE MUSICAL SYMBOL OMALON;So;0;L;;;;;N;;;;;
+1D05C;BYZANTINE MUSICAL SYMBOL ANTIKENOMA;So;0;L;;;;;N;;;;;
+1D05D;BYZANTINE MUSICAL SYMBOL LYGISMA;So;0;L;;;;;N;;;;;
+1D05E;BYZANTINE MUSICAL SYMBOL PARAKLITIKI NEO;So;0;L;;;;;N;;;;;
+1D05F;BYZANTINE MUSICAL SYMBOL PARAKALESMA NEO;So;0;L;;;;;N;;;;;
+1D060;BYZANTINE MUSICAL SYMBOL ETERON PARAKALESMA;So;0;L;;;;;N;;;;;
+1D061;BYZANTINE MUSICAL SYMBOL KYLISMA;So;0;L;;;;;N;;;;;
+1D062;BYZANTINE MUSICAL SYMBOL ANTIKENOKYLISMA;So;0;L;;;;;N;;;;;
+1D063;BYZANTINE MUSICAL SYMBOL TROMIKON NEO;So;0;L;;;;;N;;;;;
+1D064;BYZANTINE MUSICAL SYMBOL EKSTREPTON;So;0;L;;;;;N;;;;;
+1D065;BYZANTINE MUSICAL SYMBOL SYNAGMA NEO;So;0;L;;;;;N;;;;;
+1D066;BYZANTINE MUSICAL SYMBOL SYRMA;So;0;L;;;;;N;;;;;
+1D067;BYZANTINE MUSICAL SYMBOL CHOREVMA NEO;So;0;L;;;;;N;;;;;
+1D068;BYZANTINE MUSICAL SYMBOL EPEGERMA;So;0;L;;;;;N;;;;;
+1D069;BYZANTINE MUSICAL SYMBOL SEISMA NEO;So;0;L;;;;;N;;;;;
+1D06A;BYZANTINE MUSICAL SYMBOL XIRON KLASMA;So;0;L;;;;;N;;;;;
+1D06B;BYZANTINE MUSICAL SYMBOL TROMIKOPSIFISTON;So;0;L;;;;;N;;;;;
+1D06C;BYZANTINE MUSICAL SYMBOL PSIFISTOLYGISMA;So;0;L;;;;;N;;;;;
+1D06D;BYZANTINE MUSICAL SYMBOL TROMIKOLYGISMA;So;0;L;;;;;N;;;;;
+1D06E;BYZANTINE MUSICAL SYMBOL TROMIKOPARAKALESMA;So;0;L;;;;;N;;;;;
+1D06F;BYZANTINE MUSICAL SYMBOL PSIFISTOPARAKALESMA;So;0;L;;;;;N;;;;;
+1D070;BYZANTINE MUSICAL SYMBOL TROMIKOSYNAGMA;So;0;L;;;;;N;;;;;
+1D071;BYZANTINE MUSICAL SYMBOL PSIFISTOSYNAGMA;So;0;L;;;;;N;;;;;
+1D072;BYZANTINE MUSICAL SYMBOL GORGOSYNTHETON;So;0;L;;;;;N;;;;;
+1D073;BYZANTINE MUSICAL SYMBOL ARGOSYNTHETON;So;0;L;;;;;N;;;;;
+1D074;BYZANTINE MUSICAL SYMBOL ETERON ARGOSYNTHETON;So;0;L;;;;;N;;;;;
+1D075;BYZANTINE MUSICAL SYMBOL OYRANISMA NEO;So;0;L;;;;;N;;;;;
+1D076;BYZANTINE MUSICAL SYMBOL THEMATISMOS ESO;So;0;L;;;;;N;;;;;
+1D077;BYZANTINE MUSICAL SYMBOL THEMATISMOS EXO;So;0;L;;;;;N;;;;;
+1D078;BYZANTINE MUSICAL SYMBOL THEMA APLOUN;So;0;L;;;;;N;;;;;
+1D079;BYZANTINE MUSICAL SYMBOL THES KAI APOTHES;So;0;L;;;;;N;;;;;
+1D07A;BYZANTINE MUSICAL SYMBOL KATAVASMA;So;0;L;;;;;N;;;;;
+1D07B;BYZANTINE MUSICAL SYMBOL ENDOFONON;So;0;L;;;;;N;;;;;
+1D07C;BYZANTINE MUSICAL SYMBOL YFEN KATO;So;0;L;;;;;N;;;;;
+1D07D;BYZANTINE MUSICAL SYMBOL YFEN ANO;So;0;L;;;;;N;;;;;
+1D07E;BYZANTINE MUSICAL SYMBOL STAVROS;So;0;L;;;;;N;;;;;
+1D07F;BYZANTINE MUSICAL SYMBOL KLASMA ANO;So;0;L;;;;;N;;;;;
+1D080;BYZANTINE MUSICAL SYMBOL DIPLI ARCHAION;So;0;L;;;;;N;;;;;
+1D081;BYZANTINE MUSICAL SYMBOL KRATIMA ARCHAION;So;0;L;;;;;N;;;;;
+1D082;BYZANTINE MUSICAL SYMBOL KRATIMA ALLO;So;0;L;;;;;N;;;;;
+1D083;BYZANTINE MUSICAL SYMBOL KRATIMA NEO;So;0;L;;;;;N;;;;;
+1D084;BYZANTINE MUSICAL SYMBOL APODERMA NEO;So;0;L;;;;;N;;;;;
+1D085;BYZANTINE MUSICAL SYMBOL APLI;So;0;L;;;;;N;;;;;
+1D086;BYZANTINE MUSICAL SYMBOL DIPLI;So;0;L;;;;;N;;;;;
+1D087;BYZANTINE MUSICAL SYMBOL TRIPLI;So;0;L;;;;;N;;;;;
+1D088;BYZANTINE MUSICAL SYMBOL TETRAPLI;So;0;L;;;;;N;;;;;
+1D089;BYZANTINE MUSICAL SYMBOL KORONIS;So;0;L;;;;;N;;;;;
+1D08A;BYZANTINE MUSICAL SYMBOL LEIMMA ENOS CHRONOU;So;0;L;;;;;N;;;;;
+1D08B;BYZANTINE MUSICAL SYMBOL LEIMMA DYO CHRONON;So;0;L;;;;;N;;;;;
+1D08C;BYZANTINE MUSICAL SYMBOL LEIMMA TRION CHRONON;So;0;L;;;;;N;;;;;
+1D08D;BYZANTINE MUSICAL SYMBOL LEIMMA TESSARON CHRONON;So;0;L;;;;;N;;;;;
+1D08E;BYZANTINE MUSICAL SYMBOL LEIMMA IMISEOS CHRONOU;So;0;L;;;;;N;;;;;
+1D08F;BYZANTINE MUSICAL SYMBOL GORGON NEO ANO;So;0;L;;;;;N;;;;;
+1D090;BYZANTINE MUSICAL SYMBOL GORGON PARESTIGMENON ARISTERA;So;0;L;;;;;N;;;;;
+1D091;BYZANTINE MUSICAL SYMBOL GORGON PARESTIGMENON DEXIA;So;0;L;;;;;N;;;;;
+1D092;BYZANTINE MUSICAL SYMBOL DIGORGON;So;0;L;;;;;N;;;;;
+1D093;BYZANTINE MUSICAL SYMBOL DIGORGON PARESTIGMENON ARISTERA KATO;So;0;L;;;;;N;;;;;
+1D094;BYZANTINE MUSICAL SYMBOL DIGORGON PARESTIGMENON ARISTERA ANO;So;0;L;;;;;N;;;;;
+1D095;BYZANTINE MUSICAL SYMBOL DIGORGON PARESTIGMENON DEXIA;So;0;L;;;;;N;;;;;
+1D096;BYZANTINE MUSICAL SYMBOL TRIGORGON;So;0;L;;;;;N;;;;;
+1D097;BYZANTINE MUSICAL SYMBOL ARGON;So;0;L;;;;;N;;;;;
+1D098;BYZANTINE MUSICAL SYMBOL IMIDIARGON;So;0;L;;;;;N;;;;;
+1D099;BYZANTINE MUSICAL SYMBOL DIARGON;So;0;L;;;;;N;;;;;
+1D09A;BYZANTINE MUSICAL SYMBOL AGOGI POLI ARGI;So;0;L;;;;;N;;;;;
+1D09B;BYZANTINE MUSICAL SYMBOL AGOGI ARGOTERI;So;0;L;;;;;N;;;;;
+1D09C;BYZANTINE MUSICAL SYMBOL AGOGI ARGI;So;0;L;;;;;N;;;;;
+1D09D;BYZANTINE MUSICAL SYMBOL AGOGI METRIA;So;0;L;;;;;N;;;;;
+1D09E;BYZANTINE MUSICAL SYMBOL AGOGI MESI;So;0;L;;;;;N;;;;;
+1D09F;BYZANTINE MUSICAL SYMBOL AGOGI GORGI;So;0;L;;;;;N;;;;;
+1D0A0;BYZANTINE MUSICAL SYMBOL AGOGI GORGOTERI;So;0;L;;;;;N;;;;;
+1D0A1;BYZANTINE MUSICAL SYMBOL AGOGI POLI GORGI;So;0;L;;;;;N;;;;;
+1D0A2;BYZANTINE MUSICAL SYMBOL MARTYRIA PROTOS ICHOS;So;0;L;;;;;N;;;;;
+1D0A3;BYZANTINE MUSICAL SYMBOL MARTYRIA ALLI PROTOS ICHOS;So;0;L;;;;;N;;;;;
+1D0A4;BYZANTINE MUSICAL SYMBOL MARTYRIA DEYTEROS ICHOS;So;0;L;;;;;N;;;;;
+1D0A5;BYZANTINE MUSICAL SYMBOL MARTYRIA ALLI DEYTEROS ICHOS;So;0;L;;;;;N;;;;;
+1D0A6;BYZANTINE MUSICAL SYMBOL MARTYRIA TRITOS ICHOS;So;0;L;;;;;N;;;;;
+1D0A7;BYZANTINE MUSICAL SYMBOL MARTYRIA TRIFONIAS;So;0;L;;;;;N;;;;;
+1D0A8;BYZANTINE MUSICAL SYMBOL MARTYRIA TETARTOS ICHOS;So;0;L;;;;;N;;;;;
+1D0A9;BYZANTINE MUSICAL SYMBOL MARTYRIA TETARTOS LEGETOS ICHOS;So;0;L;;;;;N;;;;;
+1D0AA;BYZANTINE MUSICAL SYMBOL MARTYRIA LEGETOS ICHOS;So;0;L;;;;;N;;;;;
+1D0AB;BYZANTINE MUSICAL SYMBOL MARTYRIA PLAGIOS ICHOS;So;0;L;;;;;N;;;;;
+1D0AC;BYZANTINE MUSICAL SYMBOL ISAKIA TELOUS ICHIMATOS;So;0;L;;;;;N;;;;;
+1D0AD;BYZANTINE MUSICAL SYMBOL APOSTROFOI TELOUS ICHIMATOS;So;0;L;;;;;N;;;;;
+1D0AE;BYZANTINE MUSICAL SYMBOL FANEROSIS TETRAFONIAS;So;0;L;;;;;N;;;;;
+1D0AF;BYZANTINE MUSICAL SYMBOL FANEROSIS MONOFONIAS;So;0;L;;;;;N;;;;;
+1D0B0;BYZANTINE MUSICAL SYMBOL FANEROSIS DIFONIAS;So;0;L;;;;;N;;;;;
+1D0B1;BYZANTINE MUSICAL SYMBOL MARTYRIA VARYS ICHOS;So;0;L;;;;;N;;;;;
+1D0B2;BYZANTINE MUSICAL SYMBOL MARTYRIA PROTOVARYS ICHOS;So;0;L;;;;;N;;;;;
+1D0B3;BYZANTINE MUSICAL SYMBOL MARTYRIA PLAGIOS TETARTOS ICHOS;So;0;L;;;;;N;;;;;
+1D0B4;BYZANTINE MUSICAL SYMBOL GORTHMIKON N APLOUN;So;0;L;;;;;N;;;;;
+1D0B5;BYZANTINE MUSICAL SYMBOL GORTHMIKON N DIPLOUN;So;0;L;;;;;N;;;;;
+1D0B6;BYZANTINE MUSICAL SYMBOL ENARXIS KAI FTHORA VOU;So;0;L;;;;;N;;;;;
+1D0B7;BYZANTINE MUSICAL SYMBOL IMIFONON;So;0;L;;;;;N;;;;;
+1D0B8;BYZANTINE MUSICAL SYMBOL IMIFTHORON;So;0;L;;;;;N;;;;;
+1D0B9;BYZANTINE MUSICAL SYMBOL FTHORA ARCHAION DEYTEROU ICHOU;So;0;L;;;;;N;;;;;
+1D0BA;BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI PA;So;0;L;;;;;N;;;;;
+1D0BB;BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI NANA;So;0;L;;;;;N;;;;;
+1D0BC;BYZANTINE MUSICAL SYMBOL FTHORA NAOS ICHOS;So;0;L;;;;;N;;;;;
+1D0BD;BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI DI;So;0;L;;;;;N;;;;;
+1D0BE;BYZANTINE MUSICAL SYMBOL FTHORA SKLIRON DIATONON DI;So;0;L;;;;;N;;;;;
+1D0BF;BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI KE;So;0;L;;;;;N;;;;;
+1D0C0;BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI ZO;So;0;L;;;;;N;;;;;
+1D0C1;BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI NI KATO;So;0;L;;;;;N;;;;;
+1D0C2;BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI NI ANO;So;0;L;;;;;N;;;;;
+1D0C3;BYZANTINE MUSICAL SYMBOL FTHORA MALAKON CHROMA DIFONIAS;So;0;L;;;;;N;;;;;
+1D0C4;BYZANTINE MUSICAL SYMBOL FTHORA MALAKON CHROMA MONOFONIAS;So;0;L;;;;;N;;;;;
+1D0C5;BYZANTINE MUSICAL SYMBOL FHTORA SKLIRON CHROMA VASIS;So;0;L;;;;;N;;;;;
+1D0C6;BYZANTINE MUSICAL SYMBOL FTHORA SKLIRON CHROMA SYNAFI;So;0;L;;;;;N;;;;;
+1D0C7;BYZANTINE MUSICAL SYMBOL FTHORA NENANO;So;0;L;;;;;N;;;;;
+1D0C8;BYZANTINE MUSICAL SYMBOL CHROA ZYGOS;So;0;L;;;;;N;;;;;
+1D0C9;BYZANTINE MUSICAL SYMBOL CHROA KLITON;So;0;L;;;;;N;;;;;
+1D0CA;BYZANTINE MUSICAL SYMBOL CHROA SPATHI;So;0;L;;;;;N;;;;;
+1D0CB;BYZANTINE MUSICAL SYMBOL FTHORA I YFESIS TETARTIMORION;So;0;L;;;;;N;;;;;
+1D0CC;BYZANTINE MUSICAL SYMBOL FTHORA ENARMONIOS ANTIFONIA;So;0;L;;;;;N;;;;;
+1D0CD;BYZANTINE MUSICAL SYMBOL YFESIS TRITIMORION;So;0;L;;;;;N;;;;;
+1D0CE;BYZANTINE MUSICAL SYMBOL DIESIS TRITIMORION;So;0;L;;;;;N;;;;;
+1D0CF;BYZANTINE MUSICAL SYMBOL DIESIS TETARTIMORION;So;0;L;;;;;N;;;;;
+1D0D0;BYZANTINE MUSICAL SYMBOL DIESIS APLI DYO DODEKATA;So;0;L;;;;;N;;;;;
+1D0D1;BYZANTINE MUSICAL SYMBOL DIESIS MONOGRAMMOS TESSERA DODEKATA;So;0;L;;;;;N;;;;;
+1D0D2;BYZANTINE MUSICAL SYMBOL DIESIS DIGRAMMOS EX DODEKATA;So;0;L;;;;;N;;;;;
+1D0D3;BYZANTINE MUSICAL SYMBOL DIESIS TRIGRAMMOS OKTO DODEKATA;So;0;L;;;;;N;;;;;
+1D0D4;BYZANTINE MUSICAL SYMBOL YFESIS APLI DYO DODEKATA;So;0;L;;;;;N;;;;;
+1D0D5;BYZANTINE MUSICAL SYMBOL YFESIS MONOGRAMMOS TESSERA DODEKATA;So;0;L;;;;;N;;;;;
+1D0D6;BYZANTINE MUSICAL SYMBOL YFESIS DIGRAMMOS EX DODEKATA;So;0;L;;;;;N;;;;;
+1D0D7;BYZANTINE MUSICAL SYMBOL YFESIS TRIGRAMMOS OKTO DODEKATA;So;0;L;;;;;N;;;;;
+1D0D8;BYZANTINE MUSICAL SYMBOL GENIKI DIESIS;So;0;L;;;;;N;;;;;
+1D0D9;BYZANTINE MUSICAL SYMBOL GENIKI YFESIS;So;0;L;;;;;N;;;;;
+1D0DA;BYZANTINE MUSICAL SYMBOL DIASTOLI APLI MIKRI;So;0;L;;;;;N;;;;;
+1D0DB;BYZANTINE MUSICAL SYMBOL DIASTOLI APLI MEGALI;So;0;L;;;;;N;;;;;
+1D0DC;BYZANTINE MUSICAL SYMBOL DIASTOLI DIPLI;So;0;L;;;;;N;;;;;
+1D0DD;BYZANTINE MUSICAL SYMBOL DIASTOLI THESEOS;So;0;L;;;;;N;;;;;
+1D0DE;BYZANTINE MUSICAL SYMBOL SIMANSIS THESEOS;So;0;L;;;;;N;;;;;
+1D0DF;BYZANTINE MUSICAL SYMBOL SIMANSIS THESEOS DISIMOU;So;0;L;;;;;N;;;;;
+1D0E0;BYZANTINE MUSICAL SYMBOL SIMANSIS THESEOS TRISIMOU;So;0;L;;;;;N;;;;;
+1D0E1;BYZANTINE MUSICAL SYMBOL SIMANSIS THESEOS TETRASIMOU;So;0;L;;;;;N;;;;;
+1D0E2;BYZANTINE MUSICAL SYMBOL SIMANSIS ARSEOS;So;0;L;;;;;N;;;;;
+1D0E3;BYZANTINE MUSICAL SYMBOL SIMANSIS ARSEOS DISIMOU;So;0;L;;;;;N;;;;;
+1D0E4;BYZANTINE MUSICAL SYMBOL SIMANSIS ARSEOS TRISIMOU;So;0;L;;;;;N;;;;;
+1D0E5;BYZANTINE MUSICAL SYMBOL SIMANSIS ARSEOS TETRASIMOU;So;0;L;;;;;N;;;;;
+1D0E6;BYZANTINE MUSICAL SYMBOL DIGRAMMA GG;So;0;L;;;;;N;;;;;
+1D0E7;BYZANTINE MUSICAL SYMBOL DIFTOGGOS OU;So;0;L;;;;;N;;;;;
+1D0E8;BYZANTINE MUSICAL SYMBOL STIGMA;So;0;L;;;;;N;;;;;
+1D0E9;BYZANTINE MUSICAL SYMBOL ARKTIKO PA;So;0;L;;;;;N;;;;;
+1D0EA;BYZANTINE MUSICAL SYMBOL ARKTIKO VOU;So;0;L;;;;;N;;;;;
+1D0EB;BYZANTINE MUSICAL SYMBOL ARKTIKO GA;So;0;L;;;;;N;;;;;
+1D0EC;BYZANTINE MUSICAL SYMBOL ARKTIKO DI;So;0;L;;;;;N;;;;;
+1D0ED;BYZANTINE MUSICAL SYMBOL ARKTIKO KE;So;0;L;;;;;N;;;;;
+1D0EE;BYZANTINE MUSICAL SYMBOL ARKTIKO ZO;So;0;L;;;;;N;;;;;
+1D0EF;BYZANTINE MUSICAL SYMBOL ARKTIKO NI;So;0;L;;;;;N;;;;;
+1D0F0;BYZANTINE MUSICAL SYMBOL KENTIMATA NEO MESO;So;0;L;;;;;N;;;;;
+1D0F1;BYZANTINE MUSICAL SYMBOL KENTIMA NEO MESO;So;0;L;;;;;N;;;;;
+1D0F2;BYZANTINE MUSICAL SYMBOL KENTIMATA NEO KATO;So;0;L;;;;;N;;;;;
+1D0F3;BYZANTINE MUSICAL SYMBOL KENTIMA NEO KATO;So;0;L;;;;;N;;;;;
+1D0F4;BYZANTINE MUSICAL SYMBOL KLASMA KATO;So;0;L;;;;;N;;;;;
+1D0F5;BYZANTINE MUSICAL SYMBOL GORGON NEO KATO;So;0;L;;;;;N;;;;;
+1D100;MUSICAL SYMBOL SINGLE BARLINE;So;0;L;;;;;N;;;;;
+1D101;MUSICAL SYMBOL DOUBLE BARLINE;So;0;L;;;;;N;;;;;
+1D102;MUSICAL SYMBOL FINAL BARLINE;So;0;L;;;;;N;;;;;
+1D103;MUSICAL SYMBOL REVERSE FINAL BARLINE;So;0;L;;;;;N;;;;;
+1D104;MUSICAL SYMBOL DASHED BARLINE;So;0;L;;;;;N;;;;;
+1D105;MUSICAL SYMBOL SHORT BARLINE;So;0;L;;;;;N;;;;;
+1D106;MUSICAL SYMBOL LEFT REPEAT SIGN;So;0;L;;;;;N;;;;;
+1D107;MUSICAL SYMBOL RIGHT REPEAT SIGN;So;0;L;;;;;N;;;;;
+1D108;MUSICAL SYMBOL REPEAT DOTS;So;0;L;;;;;N;;;;;
+1D109;MUSICAL SYMBOL DAL SEGNO;So;0;L;;;;;N;;;;;
+1D10A;MUSICAL SYMBOL DA CAPO;So;0;L;;;;;N;;;;;
+1D10B;MUSICAL SYMBOL SEGNO;So;0;L;;;;;N;;;;;
+1D10C;MUSICAL SYMBOL CODA;So;0;L;;;;;N;;;;;
+1D10D;MUSICAL SYMBOL REPEATED FIGURE-1;So;0;L;;;;;N;;;;;
+1D10E;MUSICAL SYMBOL REPEATED FIGURE-2;So;0;L;;;;;N;;;;;
+1D10F;MUSICAL SYMBOL REPEATED FIGURE-3;So;0;L;;;;;N;;;;;
+1D110;MUSICAL SYMBOL FERMATA;So;0;L;;;;;N;;;;;
+1D111;MUSICAL SYMBOL FERMATA BELOW;So;0;L;;;;;N;;;;;
+1D112;MUSICAL SYMBOL BREATH MARK;So;0;L;;;;;N;;;;;
+1D113;MUSICAL SYMBOL CAESURA;So;0;L;;;;;N;;;;;
+1D114;MUSICAL SYMBOL BRACE;So;0;L;;;;;N;;;;;
+1D115;MUSICAL SYMBOL BRACKET;So;0;L;;;;;N;;;;;
+1D116;MUSICAL SYMBOL ONE-LINE STAFF;So;0;L;;;;;N;;;;;
+1D117;MUSICAL SYMBOL TWO-LINE STAFF;So;0;L;;;;;N;;;;;
+1D118;MUSICAL SYMBOL THREE-LINE STAFF;So;0;L;;;;;N;;;;;
+1D119;MUSICAL SYMBOL FOUR-LINE STAFF;So;0;L;;;;;N;;;;;
+1D11A;MUSICAL SYMBOL FIVE-LINE STAFF;So;0;L;;;;;N;;;;;
+1D11B;MUSICAL SYMBOL SIX-LINE STAFF;So;0;L;;;;;N;;;;;
+1D11C;MUSICAL SYMBOL SIX-STRING FRETBOARD;So;0;L;;;;;N;;;;;
+1D11D;MUSICAL SYMBOL FOUR-STRING FRETBOARD;So;0;L;;;;;N;;;;;
+1D11E;MUSICAL SYMBOL G CLEF;So;0;L;;;;;N;;;;;
+1D11F;MUSICAL SYMBOL G CLEF OTTAVA ALTA;So;0;L;;;;;N;;;;;
+1D120;MUSICAL SYMBOL G CLEF OTTAVA BASSA;So;0;L;;;;;N;;;;;
+1D121;MUSICAL SYMBOL C CLEF;So;0;L;;;;;N;;;;;
+1D122;MUSICAL SYMBOL F CLEF;So;0;L;;;;;N;;;;;
+1D123;MUSICAL SYMBOL F CLEF OTTAVA ALTA;So;0;L;;;;;N;;;;;
+1D124;MUSICAL SYMBOL F CLEF OTTAVA BASSA;So;0;L;;;;;N;;;;;
+1D125;MUSICAL SYMBOL DRUM CLEF-1;So;0;L;;;;;N;;;;;
+1D126;MUSICAL SYMBOL DRUM CLEF-2;So;0;L;;;;;N;;;;;
+1D12A;MUSICAL SYMBOL DOUBLE SHARP;So;0;L;;;;;N;;;;;
+1D12B;MUSICAL SYMBOL DOUBLE FLAT;So;0;L;;;;;N;;;;;
+1D12C;MUSICAL SYMBOL FLAT UP;So;0;L;;;;;N;;;;;
+1D12D;MUSICAL SYMBOL FLAT DOWN;So;0;L;;;;;N;;;;;
+1D12E;MUSICAL SYMBOL NATURAL UP;So;0;L;;;;;N;;;;;
+1D12F;MUSICAL SYMBOL NATURAL DOWN;So;0;L;;;;;N;;;;;
+1D130;MUSICAL SYMBOL SHARP UP;So;0;L;;;;;N;;;;;
+1D131;MUSICAL SYMBOL SHARP DOWN;So;0;L;;;;;N;;;;;
+1D132;MUSICAL SYMBOL QUARTER TONE SHARP;So;0;L;;;;;N;;;;;
+1D133;MUSICAL SYMBOL QUARTER TONE FLAT;So;0;L;;;;;N;;;;;
+1D134;MUSICAL SYMBOL COMMON TIME;So;0;L;;;;;N;;;;;
+1D135;MUSICAL SYMBOL CUT TIME;So;0;L;;;;;N;;;;;
+1D136;MUSICAL SYMBOL OTTAVA ALTA;So;0;L;;;;;N;;;;;
+1D137;MUSICAL SYMBOL OTTAVA BASSA;So;0;L;;;;;N;;;;;
+1D138;MUSICAL SYMBOL QUINDICESIMA ALTA;So;0;L;;;;;N;;;;;
+1D139;MUSICAL SYMBOL QUINDICESIMA BASSA;So;0;L;;;;;N;;;;;
+1D13A;MUSICAL SYMBOL MULTI REST;So;0;L;;;;;N;;;;;
+1D13B;MUSICAL SYMBOL WHOLE REST;So;0;L;;;;;N;;;;;
+1D13C;MUSICAL SYMBOL HALF REST;So;0;L;;;;;N;;;;;
+1D13D;MUSICAL SYMBOL QUARTER REST;So;0;L;;;;;N;;;;;
+1D13E;MUSICAL SYMBOL EIGHTH REST;So;0;L;;;;;N;;;;;
+1D13F;MUSICAL SYMBOL SIXTEENTH REST;So;0;L;;;;;N;;;;;
+1D140;MUSICAL SYMBOL THIRTY-SECOND REST;So;0;L;;;;;N;;;;;
+1D141;MUSICAL SYMBOL SIXTY-FOURTH REST;So;0;L;;;;;N;;;;;
+1D142;MUSICAL SYMBOL ONE HUNDRED TWENTY-EIGHTH REST;So;0;L;;;;;N;;;;;
+1D143;MUSICAL SYMBOL X NOTEHEAD;So;0;L;;;;;N;;;;;
+1D144;MUSICAL SYMBOL PLUS NOTEHEAD;So;0;L;;;;;N;;;;;
+1D145;MUSICAL SYMBOL CIRCLE X NOTEHEAD;So;0;L;;;;;N;;;;;
+1D146;MUSICAL SYMBOL SQUARE NOTEHEAD WHITE;So;0;L;;;;;N;;;;;
+1D147;MUSICAL SYMBOL SQUARE NOTEHEAD BLACK;So;0;L;;;;;N;;;;;
+1D148;MUSICAL SYMBOL TRIANGLE NOTEHEAD UP WHITE;So;0;L;;;;;N;;;;;
+1D149;MUSICAL SYMBOL TRIANGLE NOTEHEAD UP BLACK;So;0;L;;;;;N;;;;;
+1D14A;MUSICAL SYMBOL TRIANGLE NOTEHEAD LEFT WHITE;So;0;L;;;;;N;;;;;
+1D14B;MUSICAL SYMBOL TRIANGLE NOTEHEAD LEFT BLACK;So;0;L;;;;;N;;;;;
+1D14C;MUSICAL SYMBOL TRIANGLE NOTEHEAD RIGHT WHITE;So;0;L;;;;;N;;;;;
+1D14D;MUSICAL SYMBOL TRIANGLE NOTEHEAD RIGHT BLACK;So;0;L;;;;;N;;;;;
+1D14E;MUSICAL SYMBOL TRIANGLE NOTEHEAD DOWN WHITE;So;0;L;;;;;N;;;;;
+1D14F;MUSICAL SYMBOL TRIANGLE NOTEHEAD DOWN BLACK;So;0;L;;;;;N;;;;;
+1D150;MUSICAL SYMBOL TRIANGLE NOTEHEAD UP RIGHT WHITE;So;0;L;;;;;N;;;;;
+1D151;MUSICAL SYMBOL TRIANGLE NOTEHEAD UP RIGHT BLACK;So;0;L;;;;;N;;;;;
+1D152;MUSICAL SYMBOL MOON NOTEHEAD WHITE;So;0;L;;;;;N;;;;;
+1D153;MUSICAL SYMBOL MOON NOTEHEAD BLACK;So;0;L;;;;;N;;;;;
+1D154;MUSICAL SYMBOL TRIANGLE-ROUND NOTEHEAD DOWN WHITE;So;0;L;;;;;N;;;;;
+1D155;MUSICAL SYMBOL TRIANGLE-ROUND NOTEHEAD DOWN BLACK;So;0;L;;;;;N;;;;;
+1D156;MUSICAL SYMBOL PARENTHESIS NOTEHEAD;So;0;L;;;;;N;;;;;
+1D157;MUSICAL SYMBOL VOID NOTEHEAD;So;0;L;;;;;N;;;;;
+1D158;MUSICAL SYMBOL NOTEHEAD BLACK;So;0;L;;;;;N;;;;;
+1D159;MUSICAL SYMBOL NULL NOTEHEAD;So;0;L;;;;;N;;;;;
+1D15A;MUSICAL SYMBOL CLUSTER NOTEHEAD WHITE;So;0;L;;;;;N;;;;;
+1D15B;MUSICAL SYMBOL CLUSTER NOTEHEAD BLACK;So;0;L;;;;;N;;;;;
+1D15C;MUSICAL SYMBOL BREVE;So;0;L;;;;;N;;;;;
+1D15D;MUSICAL SYMBOL WHOLE NOTE;So;0;L;;;;;N;;;;;
+1D15E;MUSICAL SYMBOL HALF NOTE;So;0;L;1D157 1D165;;;;N;;;;;
+1D15F;MUSICAL SYMBOL QUARTER NOTE;So;0;L;1D158 1D165;;;;N;;;;;
+1D160;MUSICAL SYMBOL EIGHTH NOTE;So;0;L;1D15F 1D16E;;;;N;;;;;
+1D161;MUSICAL SYMBOL SIXTEENTH NOTE;So;0;L;1D15F 1D16F;;;;N;;;;;
+1D162;MUSICAL SYMBOL THIRTY-SECOND NOTE;So;0;L;1D15F 1D170;;;;N;;;;;
+1D163;MUSICAL SYMBOL SIXTY-FOURTH NOTE;So;0;L;1D15F 1D171;;;;N;;;;;
+1D164;MUSICAL SYMBOL ONE HUNDRED TWENTY-EIGHTH NOTE;So;0;L;1D15F 1D172;;;;N;;;;;
+1D165;MUSICAL SYMBOL COMBINING STEM;Mc;216;L;;;;;N;;;;;
+1D166;MUSICAL SYMBOL COMBINING SPRECHGESANG STEM;Mc;216;L;;;;;N;;;;;
+1D167;MUSICAL SYMBOL COMBINING TREMOLO-1;Mn;1;NSM;;;;;N;;;;;
+1D168;MUSICAL SYMBOL COMBINING TREMOLO-2;Mn;1;NSM;;;;;N;;;;;
+1D169;MUSICAL SYMBOL COMBINING TREMOLO-3;Mn;1;NSM;;;;;N;;;;;
+1D16A;MUSICAL SYMBOL FINGERED TREMOLO-1;So;0;L;;;;;N;;;;;
+1D16B;MUSICAL SYMBOL FINGERED TREMOLO-2;So;0;L;;;;;N;;;;;
+1D16C;MUSICAL SYMBOL FINGERED TREMOLO-3;So;0;L;;;;;N;;;;;
+1D16D;MUSICAL SYMBOL COMBINING AUGMENTATION DOT;Mc;226;L;;;;;N;;;;;
+1D16E;MUSICAL SYMBOL COMBINING FLAG-1;Mc;216;L;;;;;N;;;;;
+1D16F;MUSICAL SYMBOL COMBINING FLAG-2;Mc;216;L;;;;;N;;;;;
+1D170;MUSICAL SYMBOL COMBINING FLAG-3;Mc;216;L;;;;;N;;;;;
+1D171;MUSICAL SYMBOL COMBINING FLAG-4;Mc;216;L;;;;;N;;;;;
+1D172;MUSICAL SYMBOL COMBINING FLAG-5;Mc;216;L;;;;;N;;;;;
+1D173;MUSICAL SYMBOL BEGIN BEAM;Cf;0;BN;;;;;N;;;;;
+1D174;MUSICAL SYMBOL END BEAM;Cf;0;BN;;;;;N;;;;;
+1D175;MUSICAL SYMBOL BEGIN TIE;Cf;0;BN;;;;;N;;;;;
+1D176;MUSICAL SYMBOL END TIE;Cf;0;BN;;;;;N;;;;;
+1D177;MUSICAL SYMBOL BEGIN SLUR;Cf;0;BN;;;;;N;;;;;
+1D178;MUSICAL SYMBOL END SLUR;Cf;0;BN;;;;;N;;;;;
+1D179;MUSICAL SYMBOL BEGIN PHRASE;Cf;0;BN;;;;;N;;;;;
+1D17A;MUSICAL SYMBOL END PHRASE;Cf;0;BN;;;;;N;;;;;
+1D17B;MUSICAL SYMBOL COMBINING ACCENT;Mn;220;NSM;;;;;N;;;;;
+1D17C;MUSICAL SYMBOL COMBINING STACCATO;Mn;220;NSM;;;;;N;;;;;
+1D17D;MUSICAL SYMBOL COMBINING TENUTO;Mn;220;NSM;;;;;N;;;;;
+1D17E;MUSICAL SYMBOL COMBINING STACCATISSIMO;Mn;220;NSM;;;;;N;;;;;
+1D17F;MUSICAL SYMBOL COMBINING MARCATO;Mn;220;NSM;;;;;N;;;;;
+1D180;MUSICAL SYMBOL COMBINING MARCATO-STACCATO;Mn;220;NSM;;;;;N;;;;;
+1D181;MUSICAL SYMBOL COMBINING ACCENT-STACCATO;Mn;220;NSM;;;;;N;;;;;
+1D182;MUSICAL SYMBOL COMBINING LOURE;Mn;220;NSM;;;;;N;;;;;
+1D183;MUSICAL SYMBOL ARPEGGIATO UP;So;0;L;;;;;N;;;;;
+1D184;MUSICAL SYMBOL ARPEGGIATO DOWN;So;0;L;;;;;N;;;;;
+1D185;MUSICAL SYMBOL COMBINING DOIT;Mn;230;NSM;;;;;N;;;;;
+1D186;MUSICAL SYMBOL COMBINING RIP;Mn;230;NSM;;;;;N;;;;;
+1D187;MUSICAL SYMBOL COMBINING FLIP;Mn;230;NSM;;;;;N;;;;;
+1D188;MUSICAL SYMBOL COMBINING SMEAR;Mn;230;NSM;;;;;N;;;;;
+1D189;MUSICAL SYMBOL COMBINING BEND;Mn;230;NSM;;;;;N;;;;;
+1D18A;MUSICAL SYMBOL COMBINING DOUBLE TONGUE;Mn;220;NSM;;;;;N;;;;;
+1D18B;MUSICAL SYMBOL COMBINING TRIPLE TONGUE;Mn;220;NSM;;;;;N;;;;;
+1D18C;MUSICAL SYMBOL RINFORZANDO;So;0;L;;;;;N;;;;;
+1D18D;MUSICAL SYMBOL SUBITO;So;0;L;;;;;N;;;;;
+1D18E;MUSICAL SYMBOL Z;So;0;L;;;;;N;;;;;
+1D18F;MUSICAL SYMBOL PIANO;So;0;L;;;;;N;;;;;
+1D190;MUSICAL SYMBOL MEZZO;So;0;L;;;;;N;;;;;
+1D191;MUSICAL SYMBOL FORTE;So;0;L;;;;;N;;;;;
+1D192;MUSICAL SYMBOL CRESCENDO;So;0;L;;;;;N;;;;;
+1D193;MUSICAL SYMBOL DECRESCENDO;So;0;L;;;;;N;;;;;
+1D194;MUSICAL SYMBOL GRACE NOTE SLASH;So;0;L;;;;;N;;;;;
+1D195;MUSICAL SYMBOL GRACE NOTE NO SLASH;So;0;L;;;;;N;;;;;
+1D196;MUSICAL SYMBOL TR;So;0;L;;;;;N;;;;;
+1D197;MUSICAL SYMBOL TURN;So;0;L;;;;;N;;;;;
+1D198;MUSICAL SYMBOL INVERTED TURN;So;0;L;;;;;N;;;;;
+1D199;MUSICAL SYMBOL TURN SLASH;So;0;L;;;;;N;;;;;
+1D19A;MUSICAL SYMBOL TURN UP;So;0;L;;;;;N;;;;;
+1D19B;MUSICAL SYMBOL ORNAMENT STROKE-1;So;0;L;;;;;N;;;;;
+1D19C;MUSICAL SYMBOL ORNAMENT STROKE-2;So;0;L;;;;;N;;;;;
+1D19D;MUSICAL SYMBOL ORNAMENT STROKE-3;So;0;L;;;;;N;;;;;
+1D19E;MUSICAL SYMBOL ORNAMENT STROKE-4;So;0;L;;;;;N;;;;;
+1D19F;MUSICAL SYMBOL ORNAMENT STROKE-5;So;0;L;;;;;N;;;;;
+1D1A0;MUSICAL SYMBOL ORNAMENT STROKE-6;So;0;L;;;;;N;;;;;
+1D1A1;MUSICAL SYMBOL ORNAMENT STROKE-7;So;0;L;;;;;N;;;;;
+1D1A2;MUSICAL SYMBOL ORNAMENT STROKE-8;So;0;L;;;;;N;;;;;
+1D1A3;MUSICAL SYMBOL ORNAMENT STROKE-9;So;0;L;;;;;N;;;;;
+1D1A4;MUSICAL SYMBOL ORNAMENT STROKE-10;So;0;L;;;;;N;;;;;
+1D1A5;MUSICAL SYMBOL ORNAMENT STROKE-11;So;0;L;;;;;N;;;;;
+1D1A6;MUSICAL SYMBOL HAUPTSTIMME;So;0;L;;;;;N;;;;;
+1D1A7;MUSICAL SYMBOL NEBENSTIMME;So;0;L;;;;;N;;;;;
+1D1A8;MUSICAL SYMBOL END OF STIMME;So;0;L;;;;;N;;;;;
+1D1A9;MUSICAL SYMBOL DEGREE SLASH;So;0;L;;;;;N;;;;;
+1D1AA;MUSICAL SYMBOL COMBINING DOWN BOW;Mn;230;NSM;;;;;N;;;;;
+1D1AB;MUSICAL SYMBOL COMBINING UP BOW;Mn;230;NSM;;;;;N;;;;;
+1D1AC;MUSICAL SYMBOL COMBINING HARMONIC;Mn;230;NSM;;;;;N;;;;;
+1D1AD;MUSICAL SYMBOL COMBINING SNAP PIZZICATO;Mn;230;NSM;;;;;N;;;;;
+1D1AE;MUSICAL SYMBOL PEDAL MARK;So;0;L;;;;;N;;;;;
+1D1AF;MUSICAL SYMBOL PEDAL UP MARK;So;0;L;;;;;N;;;;;
+1D1B0;MUSICAL SYMBOL HALF PEDAL MARK;So;0;L;;;;;N;;;;;
+1D1B1;MUSICAL SYMBOL GLISSANDO UP;So;0;L;;;;;N;;;;;
+1D1B2;MUSICAL SYMBOL GLISSANDO DOWN;So;0;L;;;;;N;;;;;
+1D1B3;MUSICAL SYMBOL WITH FINGERNAILS;So;0;L;;;;;N;;;;;
+1D1B4;MUSICAL SYMBOL DAMP;So;0;L;;;;;N;;;;;
+1D1B5;MUSICAL SYMBOL DAMP ALL;So;0;L;;;;;N;;;;;
+1D1B6;MUSICAL SYMBOL MAXIMA;So;0;L;;;;;N;;;;;
+1D1B7;MUSICAL SYMBOL LONGA;So;0;L;;;;;N;;;;;
+1D1B8;MUSICAL SYMBOL BREVIS;So;0;L;;;;;N;;;;;
+1D1B9;MUSICAL SYMBOL SEMIBREVIS WHITE;So;0;L;;;;;N;;;;;
+1D1BA;MUSICAL SYMBOL SEMIBREVIS BLACK;So;0;L;;;;;N;;;;;
+1D1BB;MUSICAL SYMBOL MINIMA;So;0;L;1D1B9 1D165;;;;N;;;;;
+1D1BC;MUSICAL SYMBOL MINIMA BLACK;So;0;L;1D1BA 1D165;;;;N;;;;;
+1D1BD;MUSICAL SYMBOL SEMIMINIMA WHITE;So;0;L;1D1BB 1D16E;;;;N;;;;;
+1D1BE;MUSICAL SYMBOL SEMIMINIMA BLACK;So;0;L;1D1BC 1D16E;;;;N;;;;;
+1D1BF;MUSICAL SYMBOL FUSA WHITE;So;0;L;1D1BB 1D16F;;;;N;;;;;
+1D1C0;MUSICAL SYMBOL FUSA BLACK;So;0;L;1D1BC 1D16F;;;;N;;;;;
+1D1C1;MUSICAL SYMBOL LONGA PERFECTA REST;So;0;L;;;;;N;;;;;
+1D1C2;MUSICAL SYMBOL LONGA IMPERFECTA REST;So;0;L;;;;;N;;;;;
+1D1C3;MUSICAL SYMBOL BREVIS REST;So;0;L;;;;;N;;;;;
+1D1C4;MUSICAL SYMBOL SEMIBREVIS REST;So;0;L;;;;;N;;;;;
+1D1C5;MUSICAL SYMBOL MINIMA REST;So;0;L;;;;;N;;;;;
+1D1C6;MUSICAL SYMBOL SEMIMINIMA REST;So;0;L;;;;;N;;;;;
+1D1C7;MUSICAL SYMBOL TEMPUS PERFECTUM CUM PROLATIONE PERFECTA;So;0;L;;;;;N;;;;;
+1D1C8;MUSICAL SYMBOL TEMPUS PERFECTUM CUM PROLATIONE IMPERFECTA;So;0;L;;;;;N;;;;;
+1D1C9;MUSICAL SYMBOL TEMPUS PERFECTUM CUM PROLATIONE PERFECTA DIMINUTION-1;So;0;L;;;;;N;;;;;
+1D1CA;MUSICAL SYMBOL TEMPUS IMPERFECTUM CUM PROLATIONE PERFECTA;So;0;L;;;;;N;;;;;
+1D1CB;MUSICAL SYMBOL TEMPUS IMPERFECTUM CUM PROLATIONE IMPERFECTA;So;0;L;;;;;N;;;;;
+1D1CC;MUSICAL SYMBOL TEMPUS IMPERFECTUM CUM PROLATIONE IMPERFECTA DIMINUTION-1;So;0;L;;;;;N;;;;;
+1D1CD;MUSICAL SYMBOL TEMPUS IMPERFECTUM CUM PROLATIONE IMPERFECTA DIMINUTION-2;So;0;L;;;;;N;;;;;
+1D1CE;MUSICAL SYMBOL TEMPUS IMPERFECTUM CUM PROLATIONE IMPERFECTA DIMINUTION-3;So;0;L;;;;;N;;;;;
+1D1CF;MUSICAL SYMBOL CROIX;So;0;L;;;;;N;;;;;
+1D1D0;MUSICAL SYMBOL GREGORIAN C CLEF;So;0;L;;;;;N;;;;;
+1D1D1;MUSICAL SYMBOL GREGORIAN F CLEF;So;0;L;;;;;N;;;;;
+1D1D2;MUSICAL SYMBOL SQUARE B;So;0;L;;;;;N;;;;;
+1D1D3;MUSICAL SYMBOL VIRGA;So;0;L;;;;;N;;;;;
+1D1D4;MUSICAL SYMBOL PODATUS;So;0;L;;;;;N;;;;;
+1D1D5;MUSICAL SYMBOL CLIVIS;So;0;L;;;;;N;;;;;
+1D1D6;MUSICAL SYMBOL SCANDICUS;So;0;L;;;;;N;;;;;
+1D1D7;MUSICAL SYMBOL CLIMACUS;So;0;L;;;;;N;;;;;
+1D1D8;MUSICAL SYMBOL TORCULUS;So;0;L;;;;;N;;;;;
+1D1D9;MUSICAL SYMBOL PORRECTUS;So;0;L;;;;;N;;;;;
+1D1DA;MUSICAL SYMBOL PORRECTUS FLEXUS;So;0;L;;;;;N;;;;;
+1D1DB;MUSICAL SYMBOL SCANDICUS FLEXUS;So;0;L;;;;;N;;;;;
+1D1DC;MUSICAL SYMBOL TORCULUS RESUPINUS;So;0;L;;;;;N;;;;;
+1D1DD;MUSICAL SYMBOL PES SUBPUNCTIS;So;0;L;;;;;N;;;;;
+1D200;GREEK VOCAL NOTATION SYMBOL-1;So;0;ON;;;;;N;;;;;
+1D201;GREEK VOCAL NOTATION SYMBOL-2;So;0;ON;;;;;N;;;;;
+1D202;GREEK VOCAL NOTATION SYMBOL-3;So;0;ON;;;;;N;;;;;
+1D203;GREEK VOCAL NOTATION SYMBOL-4;So;0;ON;;;;;N;;;;;
+1D204;GREEK VOCAL NOTATION SYMBOL-5;So;0;ON;;;;;N;;;;;
+1D205;GREEK VOCAL NOTATION SYMBOL-6;So;0;ON;;;;;N;;;;;
+1D206;GREEK VOCAL NOTATION SYMBOL-7;So;0;ON;;;;;N;;;;;
+1D207;GREEK VOCAL NOTATION SYMBOL-8;So;0;ON;;;;;N;;;;;
+1D208;GREEK VOCAL NOTATION SYMBOL-9;So;0;ON;;;;;N;;;;;
+1D209;GREEK VOCAL NOTATION SYMBOL-10;So;0;ON;;;;;N;;;;;
+1D20A;GREEK VOCAL NOTATION SYMBOL-11;So;0;ON;;;;;N;;;;;
+1D20B;GREEK VOCAL NOTATION SYMBOL-12;So;0;ON;;;;;N;;;;;
+1D20C;GREEK VOCAL NOTATION SYMBOL-13;So;0;ON;;;;;N;;;;;
+1D20D;GREEK VOCAL NOTATION SYMBOL-14;So;0;ON;;;;;N;;;;;
+1D20E;GREEK VOCAL NOTATION SYMBOL-15;So;0;ON;;;;;N;;;;;
+1D20F;GREEK VOCAL NOTATION SYMBOL-16;So;0;ON;;;;;N;;;;;
+1D210;GREEK VOCAL NOTATION SYMBOL-17;So;0;ON;;;;;N;;;;;
+1D211;GREEK VOCAL NOTATION SYMBOL-18;So;0;ON;;;;;N;;;;;
+1D212;GREEK VOCAL NOTATION SYMBOL-19;So;0;ON;;;;;N;;;;;
+1D213;GREEK VOCAL NOTATION SYMBOL-20;So;0;ON;;;;;N;;;;;
+1D214;GREEK VOCAL NOTATION SYMBOL-21;So;0;ON;;;;;N;;;;;
+1D215;GREEK VOCAL NOTATION SYMBOL-22;So;0;ON;;;;;N;;;;;
+1D216;GREEK VOCAL NOTATION SYMBOL-23;So;0;ON;;;;;N;;;;;
+1D217;GREEK VOCAL NOTATION SYMBOL-24;So;0;ON;;;;;N;;;;;
+1D218;GREEK VOCAL NOTATION SYMBOL-50;So;0;ON;;;;;N;;;;;
+1D219;GREEK VOCAL NOTATION SYMBOL-51;So;0;ON;;;;;N;;;;;
+1D21A;GREEK VOCAL NOTATION SYMBOL-52;So;0;ON;;;;;N;;;;;
+1D21B;GREEK VOCAL NOTATION SYMBOL-53;So;0;ON;;;;;N;;;;;
+1D21C;GREEK VOCAL NOTATION SYMBOL-54;So;0;ON;;;;;N;;;;;
+1D21D;GREEK INSTRUMENTAL NOTATION SYMBOL-1;So;0;ON;;;;;N;;;;;
+1D21E;GREEK INSTRUMENTAL NOTATION SYMBOL-2;So;0;ON;;;;;N;;;;;
+1D21F;GREEK INSTRUMENTAL NOTATION SYMBOL-4;So;0;ON;;;;;N;;;;;
+1D220;GREEK INSTRUMENTAL NOTATION SYMBOL-5;So;0;ON;;;;;N;;;;;
+1D221;GREEK INSTRUMENTAL NOTATION SYMBOL-7;So;0;ON;;;;;N;;;;;
+1D222;GREEK INSTRUMENTAL NOTATION SYMBOL-8;So;0;ON;;;;;N;;;;;
+1D223;GREEK INSTRUMENTAL NOTATION SYMBOL-11;So;0;ON;;;;;N;;;;;
+1D224;GREEK INSTRUMENTAL NOTATION SYMBOL-12;So;0;ON;;;;;N;;;;;
+1D225;GREEK INSTRUMENTAL NOTATION SYMBOL-13;So;0;ON;;;;;N;;;;;
+1D226;GREEK INSTRUMENTAL NOTATION SYMBOL-14;So;0;ON;;;;;N;;;;;
+1D227;GREEK INSTRUMENTAL NOTATION SYMBOL-17;So;0;ON;;;;;N;;;;;
+1D228;GREEK INSTRUMENTAL NOTATION SYMBOL-18;So;0;ON;;;;;N;;;;;
+1D229;GREEK INSTRUMENTAL NOTATION SYMBOL-19;So;0;ON;;;;;N;;;;;
+1D22A;GREEK INSTRUMENTAL NOTATION SYMBOL-23;So;0;ON;;;;;N;;;;;
+1D22B;GREEK INSTRUMENTAL NOTATION SYMBOL-24;So;0;ON;;;;;N;;;;;
+1D22C;GREEK INSTRUMENTAL NOTATION SYMBOL-25;So;0;ON;;;;;N;;;;;
+1D22D;GREEK INSTRUMENTAL NOTATION SYMBOL-26;So;0;ON;;;;;N;;;;;
+1D22E;GREEK INSTRUMENTAL NOTATION SYMBOL-27;So;0;ON;;;;;N;;;;;
+1D22F;GREEK INSTRUMENTAL NOTATION SYMBOL-29;So;0;ON;;;;;N;;;;;
+1D230;GREEK INSTRUMENTAL NOTATION SYMBOL-30;So;0;ON;;;;;N;;;;;
+1D231;GREEK INSTRUMENTAL NOTATION SYMBOL-32;So;0;ON;;;;;N;;;;;
+1D232;GREEK INSTRUMENTAL NOTATION SYMBOL-36;So;0;ON;;;;;N;;;;;
+1D233;GREEK INSTRUMENTAL NOTATION SYMBOL-37;So;0;ON;;;;;N;;;;;
+1D234;GREEK INSTRUMENTAL NOTATION SYMBOL-38;So;0;ON;;;;;N;;;;;
+1D235;GREEK INSTRUMENTAL NOTATION SYMBOL-39;So;0;ON;;;;;N;;;;;
+1D236;GREEK INSTRUMENTAL NOTATION SYMBOL-40;So;0;ON;;;;;N;;;;;
+1D237;GREEK INSTRUMENTAL NOTATION SYMBOL-42;So;0;ON;;;;;N;;;;;
+1D238;GREEK INSTRUMENTAL NOTATION SYMBOL-43;So;0;ON;;;;;N;;;;;
+1D239;GREEK INSTRUMENTAL NOTATION SYMBOL-45;So;0;ON;;;;;N;;;;;
+1D23A;GREEK INSTRUMENTAL NOTATION SYMBOL-47;So;0;ON;;;;;N;;;;;
+1D23B;GREEK INSTRUMENTAL NOTATION SYMBOL-48;So;0;ON;;;;;N;;;;;
+1D23C;GREEK INSTRUMENTAL NOTATION SYMBOL-49;So;0;ON;;;;;N;;;;;
+1D23D;GREEK INSTRUMENTAL NOTATION SYMBOL-50;So;0;ON;;;;;N;;;;;
+1D23E;GREEK INSTRUMENTAL NOTATION SYMBOL-51;So;0;ON;;;;;N;;;;;
+1D23F;GREEK INSTRUMENTAL NOTATION SYMBOL-52;So;0;ON;;;;;N;;;;;
+1D240;GREEK INSTRUMENTAL NOTATION SYMBOL-53;So;0;ON;;;;;N;;;;;
+1D241;GREEK INSTRUMENTAL NOTATION SYMBOL-54;So;0;ON;;;;;N;;;;;
+1D242;COMBINING GREEK MUSICAL TRISEME;Mn;230;NSM;;;;;N;;;;;
+1D243;COMBINING GREEK MUSICAL TETRASEME;Mn;230;NSM;;;;;N;;;;;
+1D244;COMBINING GREEK MUSICAL PENTASEME;Mn;230;NSM;;;;;N;;;;;
+1D245;GREEK MUSICAL LEIMMA;So;0;ON;;;;;N;;;;;
+1D300;MONOGRAM FOR EARTH;So;0;ON;;;;;N;;;;;
+1D301;DIGRAM FOR HEAVENLY EARTH;So;0;ON;;;;;N;;;;;
+1D302;DIGRAM FOR HUMAN EARTH;So;0;ON;;;;;N;;;;;
+1D303;DIGRAM FOR EARTHLY HEAVEN;So;0;ON;;;;;N;;;;;
+1D304;DIGRAM FOR EARTHLY HUMAN;So;0;ON;;;;;N;;;;;
+1D305;DIGRAM FOR EARTH;So;0;ON;;;;;N;;;;;
+1D306;TETRAGRAM FOR CENTRE;So;0;ON;;;;;N;;;;;
+1D307;TETRAGRAM FOR FULL CIRCLE;So;0;ON;;;;;N;;;;;
+1D308;TETRAGRAM FOR MIRED;So;0;ON;;;;;N;;;;;
+1D309;TETRAGRAM FOR BARRIER;So;0;ON;;;;;N;;;;;
+1D30A;TETRAGRAM FOR KEEPING SMALL;So;0;ON;;;;;N;;;;;
+1D30B;TETRAGRAM FOR CONTRARIETY;So;0;ON;;;;;N;;;;;
+1D30C;TETRAGRAM FOR ASCENT;So;0;ON;;;;;N;;;;;
+1D30D;TETRAGRAM FOR OPPOSITION;So;0;ON;;;;;N;;;;;
+1D30E;TETRAGRAM FOR BRANCHING OUT;So;0;ON;;;;;N;;;;;
+1D30F;TETRAGRAM FOR DEFECTIVENESS OR DISTORTION;So;0;ON;;;;;N;;;;;
+1D310;TETRAGRAM FOR DIVERGENCE;So;0;ON;;;;;N;;;;;
+1D311;TETRAGRAM FOR YOUTHFULNESS;So;0;ON;;;;;N;;;;;
+1D312;TETRAGRAM FOR INCREASE;So;0;ON;;;;;N;;;;;
+1D313;TETRAGRAM FOR PENETRATION;So;0;ON;;;;;N;;;;;
+1D314;TETRAGRAM FOR REACH;So;0;ON;;;;;N;;;;;
+1D315;TETRAGRAM FOR CONTACT;So;0;ON;;;;;N;;;;;
+1D316;TETRAGRAM FOR HOLDING BACK;So;0;ON;;;;;N;;;;;
+1D317;TETRAGRAM FOR WAITING;So;0;ON;;;;;N;;;;;
+1D318;TETRAGRAM FOR FOLLOWING;So;0;ON;;;;;N;;;;;
+1D319;TETRAGRAM FOR ADVANCE;So;0;ON;;;;;N;;;;;
+1D31A;TETRAGRAM FOR RELEASE;So;0;ON;;;;;N;;;;;
+1D31B;TETRAGRAM FOR RESISTANCE;So;0;ON;;;;;N;;;;;
+1D31C;TETRAGRAM FOR EASE;So;0;ON;;;;;N;;;;;
+1D31D;TETRAGRAM FOR JOY;So;0;ON;;;;;N;;;;;
+1D31E;TETRAGRAM FOR CONTENTION;So;0;ON;;;;;N;;;;;
+1D31F;TETRAGRAM FOR ENDEAVOUR;So;0;ON;;;;;N;;;;;
+1D320;TETRAGRAM FOR DUTIES;So;0;ON;;;;;N;;;;;
+1D321;TETRAGRAM FOR CHANGE;So;0;ON;;;;;N;;;;;
+1D322;TETRAGRAM FOR DECISIVENESS;So;0;ON;;;;;N;;;;;
+1D323;TETRAGRAM FOR BOLD RESOLUTION;So;0;ON;;;;;N;;;;;
+1D324;TETRAGRAM FOR PACKING;So;0;ON;;;;;N;;;;;
+1D325;TETRAGRAM FOR LEGION;So;0;ON;;;;;N;;;;;
+1D326;TETRAGRAM FOR CLOSENESS;So;0;ON;;;;;N;;;;;
+1D327;TETRAGRAM FOR KINSHIP;So;0;ON;;;;;N;;;;;
+1D328;TETRAGRAM FOR GATHERING;So;0;ON;;;;;N;;;;;
+1D329;TETRAGRAM FOR STRENGTH;So;0;ON;;;;;N;;;;;
+1D32A;TETRAGRAM FOR PURITY;So;0;ON;;;;;N;;;;;
+1D32B;TETRAGRAM FOR FULLNESS;So;0;ON;;;;;N;;;;;
+1D32C;TETRAGRAM FOR RESIDENCE;So;0;ON;;;;;N;;;;;
+1D32D;TETRAGRAM FOR LAW OR MODEL;So;0;ON;;;;;N;;;;;
+1D32E;TETRAGRAM FOR RESPONSE;So;0;ON;;;;;N;;;;;
+1D32F;TETRAGRAM FOR GOING TO MEET;So;0;ON;;;;;N;;;;;
+1D330;TETRAGRAM FOR ENCOUNTERS;So;0;ON;;;;;N;;;;;
+1D331;TETRAGRAM FOR STOVE;So;0;ON;;;;;N;;;;;
+1D332;TETRAGRAM FOR GREATNESS;So;0;ON;;;;;N;;;;;
+1D333;TETRAGRAM FOR ENLARGEMENT;So;0;ON;;;;;N;;;;;
+1D334;TETRAGRAM FOR PATTERN;So;0;ON;;;;;N;;;;;
+1D335;TETRAGRAM FOR RITUAL;So;0;ON;;;;;N;;;;;
+1D336;TETRAGRAM FOR FLIGHT;So;0;ON;;;;;N;;;;;
+1D337;TETRAGRAM FOR VASTNESS OR WASTING;So;0;ON;;;;;N;;;;;
+1D338;TETRAGRAM FOR CONSTANCY;So;0;ON;;;;;N;;;;;
+1D339;TETRAGRAM FOR MEASURE;So;0;ON;;;;;N;;;;;
+1D33A;TETRAGRAM FOR ETERNITY;So;0;ON;;;;;N;;;;;
+1D33B;TETRAGRAM FOR UNITY;So;0;ON;;;;;N;;;;;
+1D33C;TETRAGRAM FOR DIMINISHMENT;So;0;ON;;;;;N;;;;;
+1D33D;TETRAGRAM FOR CLOSED MOUTH;So;0;ON;;;;;N;;;;;
+1D33E;TETRAGRAM FOR GUARDEDNESS;So;0;ON;;;;;N;;;;;
+1D33F;TETRAGRAM FOR GATHERING IN;So;0;ON;;;;;N;;;;;
+1D340;TETRAGRAM FOR MASSING;So;0;ON;;;;;N;;;;;
+1D341;TETRAGRAM FOR ACCUMULATION;So;0;ON;;;;;N;;;;;
+1D342;TETRAGRAM FOR EMBELLISHMENT;So;0;ON;;;;;N;;;;;
+1D343;TETRAGRAM FOR DOUBT;So;0;ON;;;;;N;;;;;
+1D344;TETRAGRAM FOR WATCH;So;0;ON;;;;;N;;;;;
+1D345;TETRAGRAM FOR SINKING;So;0;ON;;;;;N;;;;;
+1D346;TETRAGRAM FOR INNER;So;0;ON;;;;;N;;;;;
+1D347;TETRAGRAM FOR DEPARTURE;So;0;ON;;;;;N;;;;;
+1D348;TETRAGRAM FOR DARKENING;So;0;ON;;;;;N;;;;;
+1D349;TETRAGRAM FOR DIMMING;So;0;ON;;;;;N;;;;;
+1D34A;TETRAGRAM FOR EXHAUSTION;So;0;ON;;;;;N;;;;;
+1D34B;TETRAGRAM FOR SEVERANCE;So;0;ON;;;;;N;;;;;
+1D34C;TETRAGRAM FOR STOPPAGE;So;0;ON;;;;;N;;;;;
+1D34D;TETRAGRAM FOR HARDNESS;So;0;ON;;;;;N;;;;;
+1D34E;TETRAGRAM FOR COMPLETION;So;0;ON;;;;;N;;;;;
+1D34F;TETRAGRAM FOR CLOSURE;So;0;ON;;;;;N;;;;;
+1D350;TETRAGRAM FOR FAILURE;So;0;ON;;;;;N;;;;;
+1D351;TETRAGRAM FOR AGGRAVATION;So;0;ON;;;;;N;;;;;
+1D352;TETRAGRAM FOR COMPLIANCE;So;0;ON;;;;;N;;;;;
+1D353;TETRAGRAM FOR ON THE VERGE;So;0;ON;;;;;N;;;;;
+1D354;TETRAGRAM FOR DIFFICULTIES;So;0;ON;;;;;N;;;;;
+1D355;TETRAGRAM FOR LABOURING;So;0;ON;;;;;N;;;;;
+1D356;TETRAGRAM FOR FOSTERING;So;0;ON;;;;;N;;;;;
+1D400;MATHEMATICAL BOLD CAPITAL A;Lu;0;L;<font> 0041;;;;N;;;;;
+1D401;MATHEMATICAL BOLD CAPITAL B;Lu;0;L;<font> 0042;;;;N;;;;;
+1D402;MATHEMATICAL BOLD CAPITAL C;Lu;0;L;<font> 0043;;;;N;;;;;
+1D403;MATHEMATICAL BOLD CAPITAL D;Lu;0;L;<font> 0044;;;;N;;;;;
+1D404;MATHEMATICAL BOLD CAPITAL E;Lu;0;L;<font> 0045;;;;N;;;;;
+1D405;MATHEMATICAL BOLD CAPITAL F;Lu;0;L;<font> 0046;;;;N;;;;;
+1D406;MATHEMATICAL BOLD CAPITAL G;Lu;0;L;<font> 0047;;;;N;;;;;
+1D407;MATHEMATICAL BOLD CAPITAL H;Lu;0;L;<font> 0048;;;;N;;;;;
+1D408;MATHEMATICAL BOLD CAPITAL I;Lu;0;L;<font> 0049;;;;N;;;;;
+1D409;MATHEMATICAL BOLD CAPITAL J;Lu;0;L;<font> 004A;;;;N;;;;;
+1D40A;MATHEMATICAL BOLD CAPITAL K;Lu;0;L;<font> 004B;;;;N;;;;;
+1D40B;MATHEMATICAL BOLD CAPITAL L;Lu;0;L;<font> 004C;;;;N;;;;;
+1D40C;MATHEMATICAL BOLD CAPITAL M;Lu;0;L;<font> 004D;;;;N;;;;;
+1D40D;MATHEMATICAL BOLD CAPITAL N;Lu;0;L;<font> 004E;;;;N;;;;;
+1D40E;MATHEMATICAL BOLD CAPITAL O;Lu;0;L;<font> 004F;;;;N;;;;;
+1D40F;MATHEMATICAL BOLD CAPITAL P;Lu;0;L;<font> 0050;;;;N;;;;;
+1D410;MATHEMATICAL BOLD CAPITAL Q;Lu;0;L;<font> 0051;;;;N;;;;;
+1D411;MATHEMATICAL BOLD CAPITAL R;Lu;0;L;<font> 0052;;;;N;;;;;
+1D412;MATHEMATICAL BOLD CAPITAL S;Lu;0;L;<font> 0053;;;;N;;;;;
+1D413;MATHEMATICAL BOLD CAPITAL T;Lu;0;L;<font> 0054;;;;N;;;;;
+1D414;MATHEMATICAL BOLD CAPITAL U;Lu;0;L;<font> 0055;;;;N;;;;;
+1D415;MATHEMATICAL BOLD CAPITAL V;Lu;0;L;<font> 0056;;;;N;;;;;
+1D416;MATHEMATICAL BOLD CAPITAL W;Lu;0;L;<font> 0057;;;;N;;;;;
+1D417;MATHEMATICAL BOLD CAPITAL X;Lu;0;L;<font> 0058;;;;N;;;;;
+1D418;MATHEMATICAL BOLD CAPITAL Y;Lu;0;L;<font> 0059;;;;N;;;;;
+1D419;MATHEMATICAL BOLD CAPITAL Z;Lu;0;L;<font> 005A;;;;N;;;;;
+1D41A;MATHEMATICAL BOLD SMALL A;Ll;0;L;<font> 0061;;;;N;;;;;
+1D41B;MATHEMATICAL BOLD SMALL B;Ll;0;L;<font> 0062;;;;N;;;;;
+1D41C;MATHEMATICAL BOLD SMALL C;Ll;0;L;<font> 0063;;;;N;;;;;
+1D41D;MATHEMATICAL BOLD SMALL D;Ll;0;L;<font> 0064;;;;N;;;;;
+1D41E;MATHEMATICAL BOLD SMALL E;Ll;0;L;<font> 0065;;;;N;;;;;
+1D41F;MATHEMATICAL BOLD SMALL F;Ll;0;L;<font> 0066;;;;N;;;;;
+1D420;MATHEMATICAL BOLD SMALL G;Ll;0;L;<font> 0067;;;;N;;;;;
+1D421;MATHEMATICAL BOLD SMALL H;Ll;0;L;<font> 0068;;;;N;;;;;
+1D422;MATHEMATICAL BOLD SMALL I;Ll;0;L;<font> 0069;;;;N;;;;;
+1D423;MATHEMATICAL BOLD SMALL J;Ll;0;L;<font> 006A;;;;N;;;;;
+1D424;MATHEMATICAL BOLD SMALL K;Ll;0;L;<font> 006B;;;;N;;;;;
+1D425;MATHEMATICAL BOLD SMALL L;Ll;0;L;<font> 006C;;;;N;;;;;
+1D426;MATHEMATICAL BOLD SMALL M;Ll;0;L;<font> 006D;;;;N;;;;;
+1D427;MATHEMATICAL BOLD SMALL N;Ll;0;L;<font> 006E;;;;N;;;;;
+1D428;MATHEMATICAL BOLD SMALL O;Ll;0;L;<font> 006F;;;;N;;;;;
+1D429;MATHEMATICAL BOLD SMALL P;Ll;0;L;<font> 0070;;;;N;;;;;
+1D42A;MATHEMATICAL BOLD SMALL Q;Ll;0;L;<font> 0071;;;;N;;;;;
+1D42B;MATHEMATICAL BOLD SMALL R;Ll;0;L;<font> 0072;;;;N;;;;;
+1D42C;MATHEMATICAL BOLD SMALL S;Ll;0;L;<font> 0073;;;;N;;;;;
+1D42D;MATHEMATICAL BOLD SMALL T;Ll;0;L;<font> 0074;;;;N;;;;;
+1D42E;MATHEMATICAL BOLD SMALL U;Ll;0;L;<font> 0075;;;;N;;;;;
+1D42F;MATHEMATICAL BOLD SMALL V;Ll;0;L;<font> 0076;;;;N;;;;;
+1D430;MATHEMATICAL BOLD SMALL W;Ll;0;L;<font> 0077;;;;N;;;;;
+1D431;MATHEMATICAL BOLD SMALL X;Ll;0;L;<font> 0078;;;;N;;;;;
+1D432;MATHEMATICAL BOLD SMALL Y;Ll;0;L;<font> 0079;;;;N;;;;;
+1D433;MATHEMATICAL BOLD SMALL Z;Ll;0;L;<font> 007A;;;;N;;;;;
+1D434;MATHEMATICAL ITALIC CAPITAL A;Lu;0;L;<font> 0041;;;;N;;;;;
+1D435;MATHEMATICAL ITALIC CAPITAL B;Lu;0;L;<font> 0042;;;;N;;;;;
+1D436;MATHEMATICAL ITALIC CAPITAL C;Lu;0;L;<font> 0043;;;;N;;;;;
+1D437;MATHEMATICAL ITALIC CAPITAL D;Lu;0;L;<font> 0044;;;;N;;;;;
+1D438;MATHEMATICAL ITALIC CAPITAL E;Lu;0;L;<font> 0045;;;;N;;;;;
+1D439;MATHEMATICAL ITALIC CAPITAL F;Lu;0;L;<font> 0046;;;;N;;;;;
+1D43A;MATHEMATICAL ITALIC CAPITAL G;Lu;0;L;<font> 0047;;;;N;;;;;
+1D43B;MATHEMATICAL ITALIC CAPITAL H;Lu;0;L;<font> 0048;;;;N;;;;;
+1D43C;MATHEMATICAL ITALIC CAPITAL I;Lu;0;L;<font> 0049;;;;N;;;;;
+1D43D;MATHEMATICAL ITALIC CAPITAL J;Lu;0;L;<font> 004A;;;;N;;;;;
+1D43E;MATHEMATICAL ITALIC CAPITAL K;Lu;0;L;<font> 004B;;;;N;;;;;
+1D43F;MATHEMATICAL ITALIC CAPITAL L;Lu;0;L;<font> 004C;;;;N;;;;;
+1D440;MATHEMATICAL ITALIC CAPITAL M;Lu;0;L;<font> 004D;;;;N;;;;;
+1D441;MATHEMATICAL ITALIC CAPITAL N;Lu;0;L;<font> 004E;;;;N;;;;;
+1D442;MATHEMATICAL ITALIC CAPITAL O;Lu;0;L;<font> 004F;;;;N;;;;;
+1D443;MATHEMATICAL ITALIC CAPITAL P;Lu;0;L;<font> 0050;;;;N;;;;;
+1D444;MATHEMATICAL ITALIC CAPITAL Q;Lu;0;L;<font> 0051;;;;N;;;;;
+1D445;MATHEMATICAL ITALIC CAPITAL R;Lu;0;L;<font> 0052;;;;N;;;;;
+1D446;MATHEMATICAL ITALIC CAPITAL S;Lu;0;L;<font> 0053;;;;N;;;;;
+1D447;MATHEMATICAL ITALIC CAPITAL T;Lu;0;L;<font> 0054;;;;N;;;;;
+1D448;MATHEMATICAL ITALIC CAPITAL U;Lu;0;L;<font> 0055;;;;N;;;;;
+1D449;MATHEMATICAL ITALIC CAPITAL V;Lu;0;L;<font> 0056;;;;N;;;;;
+1D44A;MATHEMATICAL ITALIC CAPITAL W;Lu;0;L;<font> 0057;;;;N;;;;;
+1D44B;MATHEMATICAL ITALIC CAPITAL X;Lu;0;L;<font> 0058;;;;N;;;;;
+1D44C;MATHEMATICAL ITALIC CAPITAL Y;Lu;0;L;<font> 0059;;;;N;;;;;
+1D44D;MATHEMATICAL ITALIC CAPITAL Z;Lu;0;L;<font> 005A;;;;N;;;;;
+1D44E;MATHEMATICAL ITALIC SMALL A;Ll;0;L;<font> 0061;;;;N;;;;;
+1D44F;MATHEMATICAL ITALIC SMALL B;Ll;0;L;<font> 0062;;;;N;;;;;
+1D450;MATHEMATICAL ITALIC SMALL C;Ll;0;L;<font> 0063;;;;N;;;;;
+1D451;MATHEMATICAL ITALIC SMALL D;Ll;0;L;<font> 0064;;;;N;;;;;
+1D452;MATHEMATICAL ITALIC SMALL E;Ll;0;L;<font> 0065;;;;N;;;;;
+1D453;MATHEMATICAL ITALIC SMALL F;Ll;0;L;<font> 0066;;;;N;;;;;
+1D454;MATHEMATICAL ITALIC SMALL G;Ll;0;L;<font> 0067;;;;N;;;;;
+1D456;MATHEMATICAL ITALIC SMALL I;Ll;0;L;<font> 0069;;;;N;;;;;
+1D457;MATHEMATICAL ITALIC SMALL J;Ll;0;L;<font> 006A;;;;N;;;;;
+1D458;MATHEMATICAL ITALIC SMALL K;Ll;0;L;<font> 006B;;;;N;;;;;
+1D459;MATHEMATICAL ITALIC SMALL L;Ll;0;L;<font> 006C;;;;N;;;;;
+1D45A;MATHEMATICAL ITALIC SMALL M;Ll;0;L;<font> 006D;;;;N;;;;;
+1D45B;MATHEMATICAL ITALIC SMALL N;Ll;0;L;<font> 006E;;;;N;;;;;
+1D45C;MATHEMATICAL ITALIC SMALL O;Ll;0;L;<font> 006F;;;;N;;;;;
+1D45D;MATHEMATICAL ITALIC SMALL P;Ll;0;L;<font> 0070;;;;N;;;;;
+1D45E;MATHEMATICAL ITALIC SMALL Q;Ll;0;L;<font> 0071;;;;N;;;;;
+1D45F;MATHEMATICAL ITALIC SMALL R;Ll;0;L;<font> 0072;;;;N;;;;;
+1D460;MATHEMATICAL ITALIC SMALL S;Ll;0;L;<font> 0073;;;;N;;;;;
+1D461;MATHEMATICAL ITALIC SMALL T;Ll;0;L;<font> 0074;;;;N;;;;;
+1D462;MATHEMATICAL ITALIC SMALL U;Ll;0;L;<font> 0075;;;;N;;;;;
+1D463;MATHEMATICAL ITALIC SMALL V;Ll;0;L;<font> 0076;;;;N;;;;;
+1D464;MATHEMATICAL ITALIC SMALL W;Ll;0;L;<font> 0077;;;;N;;;;;
+1D465;MATHEMATICAL ITALIC SMALL X;Ll;0;L;<font> 0078;;;;N;;;;;
+1D466;MATHEMATICAL ITALIC SMALL Y;Ll;0;L;<font> 0079;;;;N;;;;;
+1D467;MATHEMATICAL ITALIC SMALL Z;Ll;0;L;<font> 007A;;;;N;;;;;
+1D468;MATHEMATICAL BOLD ITALIC CAPITAL A;Lu;0;L;<font> 0041;;;;N;;;;;
+1D469;MATHEMATICAL BOLD ITALIC CAPITAL B;Lu;0;L;<font> 0042;;;;N;;;;;
+1D46A;MATHEMATICAL BOLD ITALIC CAPITAL C;Lu;0;L;<font> 0043;;;;N;;;;;
+1D46B;MATHEMATICAL BOLD ITALIC CAPITAL D;Lu;0;L;<font> 0044;;;;N;;;;;
+1D46C;MATHEMATICAL BOLD ITALIC CAPITAL E;Lu;0;L;<font> 0045;;;;N;;;;;
+1D46D;MATHEMATICAL BOLD ITALIC CAPITAL F;Lu;0;L;<font> 0046;;;;N;;;;;
+1D46E;MATHEMATICAL BOLD ITALIC CAPITAL G;Lu;0;L;<font> 0047;;;;N;;;;;
+1D46F;MATHEMATICAL BOLD ITALIC CAPITAL H;Lu;0;L;<font> 0048;;;;N;;;;;
+1D470;MATHEMATICAL BOLD ITALIC CAPITAL I;Lu;0;L;<font> 0049;;;;N;;;;;
+1D471;MATHEMATICAL BOLD ITALIC CAPITAL J;Lu;0;L;<font> 004A;;;;N;;;;;
+1D472;MATHEMATICAL BOLD ITALIC CAPITAL K;Lu;0;L;<font> 004B;;;;N;;;;;
+1D473;MATHEMATICAL BOLD ITALIC CAPITAL L;Lu;0;L;<font> 004C;;;;N;;;;;
+1D474;MATHEMATICAL BOLD ITALIC CAPITAL M;Lu;0;L;<font> 004D;;;;N;;;;;
+1D475;MATHEMATICAL BOLD ITALIC CAPITAL N;Lu;0;L;<font> 004E;;;;N;;;;;
+1D476;MATHEMATICAL BOLD ITALIC CAPITAL O;Lu;0;L;<font> 004F;;;;N;;;;;
+1D477;MATHEMATICAL BOLD ITALIC CAPITAL P;Lu;0;L;<font> 0050;;;;N;;;;;
+1D478;MATHEMATICAL BOLD ITALIC CAPITAL Q;Lu;0;L;<font> 0051;;;;N;;;;;
+1D479;MATHEMATICAL BOLD ITALIC CAPITAL R;Lu;0;L;<font> 0052;;;;N;;;;;
+1D47A;MATHEMATICAL BOLD ITALIC CAPITAL S;Lu;0;L;<font> 0053;;;;N;;;;;
+1D47B;MATHEMATICAL BOLD ITALIC CAPITAL T;Lu;0;L;<font> 0054;;;;N;;;;;
+1D47C;MATHEMATICAL BOLD ITALIC CAPITAL U;Lu;0;L;<font> 0055;;;;N;;;;;
+1D47D;MATHEMATICAL BOLD ITALIC CAPITAL V;Lu;0;L;<font> 0056;;;;N;;;;;
+1D47E;MATHEMATICAL BOLD ITALIC CAPITAL W;Lu;0;L;<font> 0057;;;;N;;;;;
+1D47F;MATHEMATICAL BOLD ITALIC CAPITAL X;Lu;0;L;<font> 0058;;;;N;;;;;
+1D480;MATHEMATICAL BOLD ITALIC CAPITAL Y;Lu;0;L;<font> 0059;;;;N;;;;;
+1D481;MATHEMATICAL BOLD ITALIC CAPITAL Z;Lu;0;L;<font> 005A;;;;N;;;;;
+1D482;MATHEMATICAL BOLD ITALIC SMALL A;Ll;0;L;<font> 0061;;;;N;;;;;
+1D483;MATHEMATICAL BOLD ITALIC SMALL B;Ll;0;L;<font> 0062;;;;N;;;;;
+1D484;MATHEMATICAL BOLD ITALIC SMALL C;Ll;0;L;<font> 0063;;;;N;;;;;
+1D485;MATHEMATICAL BOLD ITALIC SMALL D;Ll;0;L;<font> 0064;;;;N;;;;;
+1D486;MATHEMATICAL BOLD ITALIC SMALL E;Ll;0;L;<font> 0065;;;;N;;;;;
+1D487;MATHEMATICAL BOLD ITALIC SMALL F;Ll;0;L;<font> 0066;;;;N;;;;;
+1D488;MATHEMATICAL BOLD ITALIC SMALL G;Ll;0;L;<font> 0067;;;;N;;;;;
+1D489;MATHEMATICAL BOLD ITALIC SMALL H;Ll;0;L;<font> 0068;;;;N;;;;;
+1D48A;MATHEMATICAL BOLD ITALIC SMALL I;Ll;0;L;<font> 0069;;;;N;;;;;
+1D48B;MATHEMATICAL BOLD ITALIC SMALL J;Ll;0;L;<font> 006A;;;;N;;;;;
+1D48C;MATHEMATICAL BOLD ITALIC SMALL K;Ll;0;L;<font> 006B;;;;N;;;;;
+1D48D;MATHEMATICAL BOLD ITALIC SMALL L;Ll;0;L;<font> 006C;;;;N;;;;;
+1D48E;MATHEMATICAL BOLD ITALIC SMALL M;Ll;0;L;<font> 006D;;;;N;;;;;
+1D48F;MATHEMATICAL BOLD ITALIC SMALL N;Ll;0;L;<font> 006E;;;;N;;;;;
+1D490;MATHEMATICAL BOLD ITALIC SMALL O;Ll;0;L;<font> 006F;;;;N;;;;;
+1D491;MATHEMATICAL BOLD ITALIC SMALL P;Ll;0;L;<font> 0070;;;;N;;;;;
+1D492;MATHEMATICAL BOLD ITALIC SMALL Q;Ll;0;L;<font> 0071;;;;N;;;;;
+1D493;MATHEMATICAL BOLD ITALIC SMALL R;Ll;0;L;<font> 0072;;;;N;;;;;
+1D494;MATHEMATICAL BOLD ITALIC SMALL S;Ll;0;L;<font> 0073;;;;N;;;;;
+1D495;MATHEMATICAL BOLD ITALIC SMALL T;Ll;0;L;<font> 0074;;;;N;;;;;
+1D496;MATHEMATICAL BOLD ITALIC SMALL U;Ll;0;L;<font> 0075;;;;N;;;;;
+1D497;MATHEMATICAL BOLD ITALIC SMALL V;Ll;0;L;<font> 0076;;;;N;;;;;
+1D498;MATHEMATICAL BOLD ITALIC SMALL W;Ll;0;L;<font> 0077;;;;N;;;;;
+1D499;MATHEMATICAL BOLD ITALIC SMALL X;Ll;0;L;<font> 0078;;;;N;;;;;
+1D49A;MATHEMATICAL BOLD ITALIC SMALL Y;Ll;0;L;<font> 0079;;;;N;;;;;
+1D49B;MATHEMATICAL BOLD ITALIC SMALL Z;Ll;0;L;<font> 007A;;;;N;;;;;
+1D49C;MATHEMATICAL SCRIPT CAPITAL A;Lu;0;L;<font> 0041;;;;N;;;;;
+1D49E;MATHEMATICAL SCRIPT CAPITAL C;Lu;0;L;<font> 0043;;;;N;;;;;
+1D49F;MATHEMATICAL SCRIPT CAPITAL D;Lu;0;L;<font> 0044;;;;N;;;;;
+1D4A2;MATHEMATICAL SCRIPT CAPITAL G;Lu;0;L;<font> 0047;;;;N;;;;;
+1D4A5;MATHEMATICAL SCRIPT CAPITAL J;Lu;0;L;<font> 004A;;;;N;;;;;
+1D4A6;MATHEMATICAL SCRIPT CAPITAL K;Lu;0;L;<font> 004B;;;;N;;;;;
+1D4A9;MATHEMATICAL SCRIPT CAPITAL N;Lu;0;L;<font> 004E;;;;N;;;;;
+1D4AA;MATHEMATICAL SCRIPT CAPITAL O;Lu;0;L;<font> 004F;;;;N;;;;;
+1D4AB;MATHEMATICAL SCRIPT CAPITAL P;Lu;0;L;<font> 0050;;;;N;;;;;
+1D4AC;MATHEMATICAL SCRIPT CAPITAL Q;Lu;0;L;<font> 0051;;;;N;;;;;
+1D4AE;MATHEMATICAL SCRIPT CAPITAL S;Lu;0;L;<font> 0053;;;;N;;;;;
+1D4AF;MATHEMATICAL SCRIPT CAPITAL T;Lu;0;L;<font> 0054;;;;N;;;;;
+1D4B0;MATHEMATICAL SCRIPT CAPITAL U;Lu;0;L;<font> 0055;;;;N;;;;;
+1D4B1;MATHEMATICAL SCRIPT CAPITAL V;Lu;0;L;<font> 0056;;;;N;;;;;
+1D4B2;MATHEMATICAL SCRIPT CAPITAL W;Lu;0;L;<font> 0057;;;;N;;;;;
+1D4B3;MATHEMATICAL SCRIPT CAPITAL X;Lu;0;L;<font> 0058;;;;N;;;;;
+1D4B4;MATHEMATICAL SCRIPT CAPITAL Y;Lu;0;L;<font> 0059;;;;N;;;;;
+1D4B5;MATHEMATICAL SCRIPT CAPITAL Z;Lu;0;L;<font> 005A;;;;N;;;;;
+1D4B6;MATHEMATICAL SCRIPT SMALL A;Ll;0;L;<font> 0061;;;;N;;;;;
+1D4B7;MATHEMATICAL SCRIPT SMALL B;Ll;0;L;<font> 0062;;;;N;;;;;
+1D4B8;MATHEMATICAL SCRIPT SMALL C;Ll;0;L;<font> 0063;;;;N;;;;;
+1D4B9;MATHEMATICAL SCRIPT SMALL D;Ll;0;L;<font> 0064;;;;N;;;;;
+1D4BB;MATHEMATICAL SCRIPT SMALL F;Ll;0;L;<font> 0066;;;;N;;;;;
+1D4BD;MATHEMATICAL SCRIPT SMALL H;Ll;0;L;<font> 0068;;;;N;;;;;
+1D4BE;MATHEMATICAL SCRIPT SMALL I;Ll;0;L;<font> 0069;;;;N;;;;;
+1D4BF;MATHEMATICAL SCRIPT SMALL J;Ll;0;L;<font> 006A;;;;N;;;;;
+1D4C0;MATHEMATICAL SCRIPT SMALL K;Ll;0;L;<font> 006B;;;;N;;;;;
+1D4C1;MATHEMATICAL SCRIPT SMALL L;Ll;0;L;<font> 006C;;;;N;;;;;
+1D4C2;MATHEMATICAL SCRIPT SMALL M;Ll;0;L;<font> 006D;;;;N;;;;;
+1D4C3;MATHEMATICAL SCRIPT SMALL N;Ll;0;L;<font> 006E;;;;N;;;;;
+1D4C5;MATHEMATICAL SCRIPT SMALL P;Ll;0;L;<font> 0070;;;;N;;;;;
+1D4C6;MATHEMATICAL SCRIPT SMALL Q;Ll;0;L;<font> 0071;;;;N;;;;;
+1D4C7;MATHEMATICAL SCRIPT SMALL R;Ll;0;L;<font> 0072;;;;N;;;;;
+1D4C8;MATHEMATICAL SCRIPT SMALL S;Ll;0;L;<font> 0073;;;;N;;;;;
+1D4C9;MATHEMATICAL SCRIPT SMALL T;Ll;0;L;<font> 0074;;;;N;;;;;
+1D4CA;MATHEMATICAL SCRIPT SMALL U;Ll;0;L;<font> 0075;;;;N;;;;;
+1D4CB;MATHEMATICAL SCRIPT SMALL V;Ll;0;L;<font> 0076;;;;N;;;;;
+1D4CC;MATHEMATICAL SCRIPT SMALL W;Ll;0;L;<font> 0077;;;;N;;;;;
+1D4CD;MATHEMATICAL SCRIPT SMALL X;Ll;0;L;<font> 0078;;;;N;;;;;
+1D4CE;MATHEMATICAL SCRIPT SMALL Y;Ll;0;L;<font> 0079;;;;N;;;;;
+1D4CF;MATHEMATICAL SCRIPT SMALL Z;Ll;0;L;<font> 007A;;;;N;;;;;
+1D4D0;MATHEMATICAL BOLD SCRIPT CAPITAL A;Lu;0;L;<font> 0041;;;;N;;;;;
+1D4D1;MATHEMATICAL BOLD SCRIPT CAPITAL B;Lu;0;L;<font> 0042;;;;N;;;;;
+1D4D2;MATHEMATICAL BOLD SCRIPT CAPITAL C;Lu;0;L;<font> 0043;;;;N;;;;;
+1D4D3;MATHEMATICAL BOLD SCRIPT CAPITAL D;Lu;0;L;<font> 0044;;;;N;;;;;
+1D4D4;MATHEMATICAL BOLD SCRIPT CAPITAL E;Lu;0;L;<font> 0045;;;;N;;;;;
+1D4D5;MATHEMATICAL BOLD SCRIPT CAPITAL F;Lu;0;L;<font> 0046;;;;N;;;;;
+1D4D6;MATHEMATICAL BOLD SCRIPT CAPITAL G;Lu;0;L;<font> 0047;;;;N;;;;;
+1D4D7;MATHEMATICAL BOLD SCRIPT CAPITAL H;Lu;0;L;<font> 0048;;;;N;;;;;
+1D4D8;MATHEMATICAL BOLD SCRIPT CAPITAL I;Lu;0;L;<font> 0049;;;;N;;;;;
+1D4D9;MATHEMATICAL BOLD SCRIPT CAPITAL J;Lu;0;L;<font> 004A;;;;N;;;;;
+1D4DA;MATHEMATICAL BOLD SCRIPT CAPITAL K;Lu;0;L;<font> 004B;;;;N;;;;;
+1D4DB;MATHEMATICAL BOLD SCRIPT CAPITAL L;Lu;0;L;<font> 004C;;;;N;;;;;
+1D4DC;MATHEMATICAL BOLD SCRIPT CAPITAL M;Lu;0;L;<font> 004D;;;;N;;;;;
+1D4DD;MATHEMATICAL BOLD SCRIPT CAPITAL N;Lu;0;L;<font> 004E;;;;N;;;;;
+1D4DE;MATHEMATICAL BOLD SCRIPT CAPITAL O;Lu;0;L;<font> 004F;;;;N;;;;;
+1D4DF;MATHEMATICAL BOLD SCRIPT CAPITAL P;Lu;0;L;<font> 0050;;;;N;;;;;
+1D4E0;MATHEMATICAL BOLD SCRIPT CAPITAL Q;Lu;0;L;<font> 0051;;;;N;;;;;
+1D4E1;MATHEMATICAL BOLD SCRIPT CAPITAL R;Lu;0;L;<font> 0052;;;;N;;;;;
+1D4E2;MATHEMATICAL BOLD SCRIPT CAPITAL S;Lu;0;L;<font> 0053;;;;N;;;;;
+1D4E3;MATHEMATICAL BOLD SCRIPT CAPITAL T;Lu;0;L;<font> 0054;;;;N;;;;;
+1D4E4;MATHEMATICAL BOLD SCRIPT CAPITAL U;Lu;0;L;<font> 0055;;;;N;;;;;
+1D4E5;MATHEMATICAL BOLD SCRIPT CAPITAL V;Lu;0;L;<font> 0056;;;;N;;;;;
+1D4E6;MATHEMATICAL BOLD SCRIPT CAPITAL W;Lu;0;L;<font> 0057;;;;N;;;;;
+1D4E7;MATHEMATICAL BOLD SCRIPT CAPITAL X;Lu;0;L;<font> 0058;;;;N;;;;;
+1D4E8;MATHEMATICAL BOLD SCRIPT CAPITAL Y;Lu;0;L;<font> 0059;;;;N;;;;;
+1D4E9;MATHEMATICAL BOLD SCRIPT CAPITAL Z;Lu;0;L;<font> 005A;;;;N;;;;;
+1D4EA;MATHEMATICAL BOLD SCRIPT SMALL A;Ll;0;L;<font> 0061;;;;N;;;;;
+1D4EB;MATHEMATICAL BOLD SCRIPT SMALL B;Ll;0;L;<font> 0062;;;;N;;;;;
+1D4EC;MATHEMATICAL BOLD SCRIPT SMALL C;Ll;0;L;<font> 0063;;;;N;;;;;
+1D4ED;MATHEMATICAL BOLD SCRIPT SMALL D;Ll;0;L;<font> 0064;;;;N;;;;;
+1D4EE;MATHEMATICAL BOLD SCRIPT SMALL E;Ll;0;L;<font> 0065;;;;N;;;;;
+1D4EF;MATHEMATICAL BOLD SCRIPT SMALL F;Ll;0;L;<font> 0066;;;;N;;;;;
+1D4F0;MATHEMATICAL BOLD SCRIPT SMALL G;Ll;0;L;<font> 0067;;;;N;;;;;
+1D4F1;MATHEMATICAL BOLD SCRIPT SMALL H;Ll;0;L;<font> 0068;;;;N;;;;;
+1D4F2;MATHEMATICAL BOLD SCRIPT SMALL I;Ll;0;L;<font> 0069;;;;N;;;;;
+1D4F3;MATHEMATICAL BOLD SCRIPT SMALL J;Ll;0;L;<font> 006A;;;;N;;;;;
+1D4F4;MATHEMATICAL BOLD SCRIPT SMALL K;Ll;0;L;<font> 006B;;;;N;;;;;
+1D4F5;MATHEMATICAL BOLD SCRIPT SMALL L;Ll;0;L;<font> 006C;;;;N;;;;;
+1D4F6;MATHEMATICAL BOLD SCRIPT SMALL M;Ll;0;L;<font> 006D;;;;N;;;;;
+1D4F7;MATHEMATICAL BOLD SCRIPT SMALL N;Ll;0;L;<font> 006E;;;;N;;;;;
+1D4F8;MATHEMATICAL BOLD SCRIPT SMALL O;Ll;0;L;<font> 006F;;;;N;;;;;
+1D4F9;MATHEMATICAL BOLD SCRIPT SMALL P;Ll;0;L;<font> 0070;;;;N;;;;;
+1D4FA;MATHEMATICAL BOLD SCRIPT SMALL Q;Ll;0;L;<font> 0071;;;;N;;;;;
+1D4FB;MATHEMATICAL BOLD SCRIPT SMALL R;Ll;0;L;<font> 0072;;;;N;;;;;
+1D4FC;MATHEMATICAL BOLD SCRIPT SMALL S;Ll;0;L;<font> 0073;;;;N;;;;;
+1D4FD;MATHEMATICAL BOLD SCRIPT SMALL T;Ll;0;L;<font> 0074;;;;N;;;;;
+1D4FE;MATHEMATICAL BOLD SCRIPT SMALL U;Ll;0;L;<font> 0075;;;;N;;;;;
+1D4FF;MATHEMATICAL BOLD SCRIPT SMALL V;Ll;0;L;<font> 0076;;;;N;;;;;
+1D500;MATHEMATICAL BOLD SCRIPT SMALL W;Ll;0;L;<font> 0077;;;;N;;;;;
+1D501;MATHEMATICAL BOLD SCRIPT SMALL X;Ll;0;L;<font> 0078;;;;N;;;;;
+1D502;MATHEMATICAL BOLD SCRIPT SMALL Y;Ll;0;L;<font> 0079;;;;N;;;;;
+1D503;MATHEMATICAL BOLD SCRIPT SMALL Z;Ll;0;L;<font> 007A;;;;N;;;;;
+1D504;MATHEMATICAL FRAKTUR CAPITAL A;Lu;0;L;<font> 0041;;;;N;;;;;
+1D505;MATHEMATICAL FRAKTUR CAPITAL B;Lu;0;L;<font> 0042;;;;N;;;;;
+1D507;MATHEMATICAL FRAKTUR CAPITAL D;Lu;0;L;<font> 0044;;;;N;;;;;
+1D508;MATHEMATICAL FRAKTUR CAPITAL E;Lu;0;L;<font> 0045;;;;N;;;;;
+1D509;MATHEMATICAL FRAKTUR CAPITAL F;Lu;0;L;<font> 0046;;;;N;;;;;
+1D50A;MATHEMATICAL FRAKTUR CAPITAL G;Lu;0;L;<font> 0047;;;;N;;;;;
+1D50D;MATHEMATICAL FRAKTUR CAPITAL J;Lu;0;L;<font> 004A;;;;N;;;;;
+1D50E;MATHEMATICAL FRAKTUR CAPITAL K;Lu;0;L;<font> 004B;;;;N;;;;;
+1D50F;MATHEMATICAL FRAKTUR CAPITAL L;Lu;0;L;<font> 004C;;;;N;;;;;
+1D510;MATHEMATICAL FRAKTUR CAPITAL M;Lu;0;L;<font> 004D;;;;N;;;;;
+1D511;MATHEMATICAL FRAKTUR CAPITAL N;Lu;0;L;<font> 004E;;;;N;;;;;
+1D512;MATHEMATICAL FRAKTUR CAPITAL O;Lu;0;L;<font> 004F;;;;N;;;;;
+1D513;MATHEMATICAL FRAKTUR CAPITAL P;Lu;0;L;<font> 0050;;;;N;;;;;
+1D514;MATHEMATICAL FRAKTUR CAPITAL Q;Lu;0;L;<font> 0051;;;;N;;;;;
+1D516;MATHEMATICAL FRAKTUR CAPITAL S;Lu;0;L;<font> 0053;;;;N;;;;;
+1D517;MATHEMATICAL FRAKTUR CAPITAL T;Lu;0;L;<font> 0054;;;;N;;;;;
+1D518;MATHEMATICAL FRAKTUR CAPITAL U;Lu;0;L;<font> 0055;;;;N;;;;;
+1D519;MATHEMATICAL FRAKTUR CAPITAL V;Lu;0;L;<font> 0056;;;;N;;;;;
+1D51A;MATHEMATICAL FRAKTUR CAPITAL W;Lu;0;L;<font> 0057;;;;N;;;;;
+1D51B;MATHEMATICAL FRAKTUR CAPITAL X;Lu;0;L;<font> 0058;;;;N;;;;;
+1D51C;MATHEMATICAL FRAKTUR CAPITAL Y;Lu;0;L;<font> 0059;;;;N;;;;;
+1D51E;MATHEMATICAL FRAKTUR SMALL A;Ll;0;L;<font> 0061;;;;N;;;;;
+1D51F;MATHEMATICAL FRAKTUR SMALL B;Ll;0;L;<font> 0062;;;;N;;;;;
+1D520;MATHEMATICAL FRAKTUR SMALL C;Ll;0;L;<font> 0063;;;;N;;;;;
+1D521;MATHEMATICAL FRAKTUR SMALL D;Ll;0;L;<font> 0064;;;;N;;;;;
+1D522;MATHEMATICAL FRAKTUR SMALL E;Ll;0;L;<font> 0065;;;;N;;;;;
+1D523;MATHEMATICAL FRAKTUR SMALL F;Ll;0;L;<font> 0066;;;;N;;;;;
+1D524;MATHEMATICAL FRAKTUR SMALL G;Ll;0;L;<font> 0067;;;;N;;;;;
+1D525;MATHEMATICAL FRAKTUR SMALL H;Ll;0;L;<font> 0068;;;;N;;;;;
+1D526;MATHEMATICAL FRAKTUR SMALL I;Ll;0;L;<font> 0069;;;;N;;;;;
+1D527;MATHEMATICAL FRAKTUR SMALL J;Ll;0;L;<font> 006A;;;;N;;;;;
+1D528;MATHEMATICAL FRAKTUR SMALL K;Ll;0;L;<font> 006B;;;;N;;;;;
+1D529;MATHEMATICAL FRAKTUR SMALL L;Ll;0;L;<font> 006C;;;;N;;;;;
+1D52A;MATHEMATICAL FRAKTUR SMALL M;Ll;0;L;<font> 006D;;;;N;;;;;
+1D52B;MATHEMATICAL FRAKTUR SMALL N;Ll;0;L;<font> 006E;;;;N;;;;;
+1D52C;MATHEMATICAL FRAKTUR SMALL O;Ll;0;L;<font> 006F;;;;N;;;;;
+1D52D;MATHEMATICAL FRAKTUR SMALL P;Ll;0;L;<font> 0070;;;;N;;;;;
+1D52E;MATHEMATICAL FRAKTUR SMALL Q;Ll;0;L;<font> 0071;;;;N;;;;;
+1D52F;MATHEMATICAL FRAKTUR SMALL R;Ll;0;L;<font> 0072;;;;N;;;;;
+1D530;MATHEMATICAL FRAKTUR SMALL S;Ll;0;L;<font> 0073;;;;N;;;;;
+1D531;MATHEMATICAL FRAKTUR SMALL T;Ll;0;L;<font> 0074;;;;N;;;;;
+1D532;MATHEMATICAL FRAKTUR SMALL U;Ll;0;L;<font> 0075;;;;N;;;;;
+1D533;MATHEMATICAL FRAKTUR SMALL V;Ll;0;L;<font> 0076;;;;N;;;;;
+1D534;MATHEMATICAL FRAKTUR SMALL W;Ll;0;L;<font> 0077;;;;N;;;;;
+1D535;MATHEMATICAL FRAKTUR SMALL X;Ll;0;L;<font> 0078;;;;N;;;;;
+1D536;MATHEMATICAL FRAKTUR SMALL Y;Ll;0;L;<font> 0079;;;;N;;;;;
+1D537;MATHEMATICAL FRAKTUR SMALL Z;Ll;0;L;<font> 007A;;;;N;;;;;
+1D538;MATHEMATICAL DOUBLE-STRUCK CAPITAL A;Lu;0;L;<font> 0041;;;;N;;;;;
+1D539;MATHEMATICAL DOUBLE-STRUCK CAPITAL B;Lu;0;L;<font> 0042;;;;N;;;;;
+1D53B;MATHEMATICAL DOUBLE-STRUCK CAPITAL D;Lu;0;L;<font> 0044;;;;N;;;;;
+1D53C;MATHEMATICAL DOUBLE-STRUCK CAPITAL E;Lu;0;L;<font> 0045;;;;N;;;;;
+1D53D;MATHEMATICAL DOUBLE-STRUCK CAPITAL F;Lu;0;L;<font> 0046;;;;N;;;;;
+1D53E;MATHEMATICAL DOUBLE-STRUCK CAPITAL G;Lu;0;L;<font> 0047;;;;N;;;;;
+1D540;MATHEMATICAL DOUBLE-STRUCK CAPITAL I;Lu;0;L;<font> 0049;;;;N;;;;;
+1D541;MATHEMATICAL DOUBLE-STRUCK CAPITAL J;Lu;0;L;<font> 004A;;;;N;;;;;
+1D542;MATHEMATICAL DOUBLE-STRUCK CAPITAL K;Lu;0;L;<font> 004B;;;;N;;;;;
+1D543;MATHEMATICAL DOUBLE-STRUCK CAPITAL L;Lu;0;L;<font> 004C;;;;N;;;;;
+1D544;MATHEMATICAL DOUBLE-STRUCK CAPITAL M;Lu;0;L;<font> 004D;;;;N;;;;;
+1D546;MATHEMATICAL DOUBLE-STRUCK CAPITAL O;Lu;0;L;<font> 004F;;;;N;;;;;
+1D54A;MATHEMATICAL DOUBLE-STRUCK CAPITAL S;Lu;0;L;<font> 0053;;;;N;;;;;
+1D54B;MATHEMATICAL DOUBLE-STRUCK CAPITAL T;Lu;0;L;<font> 0054;;;;N;;;;;
+1D54C;MATHEMATICAL DOUBLE-STRUCK CAPITAL U;Lu;0;L;<font> 0055;;;;N;;;;;
+1D54D;MATHEMATICAL DOUBLE-STRUCK CAPITAL V;Lu;0;L;<font> 0056;;;;N;;;;;
+1D54E;MATHEMATICAL DOUBLE-STRUCK CAPITAL W;Lu;0;L;<font> 0057;;;;N;;;;;
+1D54F;MATHEMATICAL DOUBLE-STRUCK CAPITAL X;Lu;0;L;<font> 0058;;;;N;;;;;
+1D550;MATHEMATICAL DOUBLE-STRUCK CAPITAL Y;Lu;0;L;<font> 0059;;;;N;;;;;
+1D552;MATHEMATICAL DOUBLE-STRUCK SMALL A;Ll;0;L;<font> 0061;;;;N;;;;;
+1D553;MATHEMATICAL DOUBLE-STRUCK SMALL B;Ll;0;L;<font> 0062;;;;N;;;;;
+1D554;MATHEMATICAL DOUBLE-STRUCK SMALL C;Ll;0;L;<font> 0063;;;;N;;;;;
+1D555;MATHEMATICAL DOUBLE-STRUCK SMALL D;Ll;0;L;<font> 0064;;;;N;;;;;
+1D556;MATHEMATICAL DOUBLE-STRUCK SMALL E;Ll;0;L;<font> 0065;;;;N;;;;;
+1D557;MATHEMATICAL DOUBLE-STRUCK SMALL F;Ll;0;L;<font> 0066;;;;N;;;;;
+1D558;MATHEMATICAL DOUBLE-STRUCK SMALL G;Ll;0;L;<font> 0067;;;;N;;;;;
+1D559;MATHEMATICAL DOUBLE-STRUCK SMALL H;Ll;0;L;<font> 0068;;;;N;;;;;
+1D55A;MATHEMATICAL DOUBLE-STRUCK SMALL I;Ll;0;L;<font> 0069;;;;N;;;;;
+1D55B;MATHEMATICAL DOUBLE-STRUCK SMALL J;Ll;0;L;<font> 006A;;;;N;;;;;
+1D55C;MATHEMATICAL DOUBLE-STRUCK SMALL K;Ll;0;L;<font> 006B;;;;N;;;;;
+1D55D;MATHEMATICAL DOUBLE-STRUCK SMALL L;Ll;0;L;<font> 006C;;;;N;;;;;
+1D55E;MATHEMATICAL DOUBLE-STRUCK SMALL M;Ll;0;L;<font> 006D;;;;N;;;;;
+1D55F;MATHEMATICAL DOUBLE-STRUCK SMALL N;Ll;0;L;<font> 006E;;;;N;;;;;
+1D560;MATHEMATICAL DOUBLE-STRUCK SMALL O;Ll;0;L;<font> 006F;;;;N;;;;;
+1D561;MATHEMATICAL DOUBLE-STRUCK SMALL P;Ll;0;L;<font> 0070;;;;N;;;;;
+1D562;MATHEMATICAL DOUBLE-STRUCK SMALL Q;Ll;0;L;<font> 0071;;;;N;;;;;
+1D563;MATHEMATICAL DOUBLE-STRUCK SMALL R;Ll;0;L;<font> 0072;;;;N;;;;;
+1D564;MATHEMATICAL DOUBLE-STRUCK SMALL S;Ll;0;L;<font> 0073;;;;N;;;;;
+1D565;MATHEMATICAL DOUBLE-STRUCK SMALL T;Ll;0;L;<font> 0074;;;;N;;;;;
+1D566;MATHEMATICAL DOUBLE-STRUCK SMALL U;Ll;0;L;<font> 0075;;;;N;;;;;
+1D567;MATHEMATICAL DOUBLE-STRUCK SMALL V;Ll;0;L;<font> 0076;;;;N;;;;;
+1D568;MATHEMATICAL DOUBLE-STRUCK SMALL W;Ll;0;L;<font> 0077;;;;N;;;;;
+1D569;MATHEMATICAL DOUBLE-STRUCK SMALL X;Ll;0;L;<font> 0078;;;;N;;;;;
+1D56A;MATHEMATICAL DOUBLE-STRUCK SMALL Y;Ll;0;L;<font> 0079;;;;N;;;;;
+1D56B;MATHEMATICAL DOUBLE-STRUCK SMALL Z;Ll;0;L;<font> 007A;;;;N;;;;;
+1D56C;MATHEMATICAL BOLD FRAKTUR CAPITAL A;Lu;0;L;<font> 0041;;;;N;;;;;
+1D56D;MATHEMATICAL BOLD FRAKTUR CAPITAL B;Lu;0;L;<font> 0042;;;;N;;;;;
+1D56E;MATHEMATICAL BOLD FRAKTUR CAPITAL C;Lu;0;L;<font> 0043;;;;N;;;;;
+1D56F;MATHEMATICAL BOLD FRAKTUR CAPITAL D;Lu;0;L;<font> 0044;;;;N;;;;;
+1D570;MATHEMATICAL BOLD FRAKTUR CAPITAL E;Lu;0;L;<font> 0045;;;;N;;;;;
+1D571;MATHEMATICAL BOLD FRAKTUR CAPITAL F;Lu;0;L;<font> 0046;;;;N;;;;;
+1D572;MATHEMATICAL BOLD FRAKTUR CAPITAL G;Lu;0;L;<font> 0047;;;;N;;;;;
+1D573;MATHEMATICAL BOLD FRAKTUR CAPITAL H;Lu;0;L;<font> 0048;;;;N;;;;;
+1D574;MATHEMATICAL BOLD FRAKTUR CAPITAL I;Lu;0;L;<font> 0049;;;;N;;;;;
+1D575;MATHEMATICAL BOLD FRAKTUR CAPITAL J;Lu;0;L;<font> 004A;;;;N;;;;;
+1D576;MATHEMATICAL BOLD FRAKTUR CAPITAL K;Lu;0;L;<font> 004B;;;;N;;;;;
+1D577;MATHEMATICAL BOLD FRAKTUR CAPITAL L;Lu;0;L;<font> 004C;;;;N;;;;;
+1D578;MATHEMATICAL BOLD FRAKTUR CAPITAL M;Lu;0;L;<font> 004D;;;;N;;;;;
+1D579;MATHEMATICAL BOLD FRAKTUR CAPITAL N;Lu;0;L;<font> 004E;;;;N;;;;;
+1D57A;MATHEMATICAL BOLD FRAKTUR CAPITAL O;Lu;0;L;<font> 004F;;;;N;;;;;
+1D57B;MATHEMATICAL BOLD FRAKTUR CAPITAL P;Lu;0;L;<font> 0050;;;;N;;;;;
+1D57C;MATHEMATICAL BOLD FRAKTUR CAPITAL Q;Lu;0;L;<font> 0051;;;;N;;;;;
+1D57D;MATHEMATICAL BOLD FRAKTUR CAPITAL R;Lu;0;L;<font> 0052;;;;N;;;;;
+1D57E;MATHEMATICAL BOLD FRAKTUR CAPITAL S;Lu;0;L;<font> 0053;;;;N;;;;;
+1D57F;MATHEMATICAL BOLD FRAKTUR CAPITAL T;Lu;0;L;<font> 0054;;;;N;;;;;
+1D580;MATHEMATICAL BOLD FRAKTUR CAPITAL U;Lu;0;L;<font> 0055;;;;N;;;;;
+1D581;MATHEMATICAL BOLD FRAKTUR CAPITAL V;Lu;0;L;<font> 0056;;;;N;;;;;
+1D582;MATHEMATICAL BOLD FRAKTUR CAPITAL W;Lu;0;L;<font> 0057;;;;N;;;;;
+1D583;MATHEMATICAL BOLD FRAKTUR CAPITAL X;Lu;0;L;<font> 0058;;;;N;;;;;
+1D584;MATHEMATICAL BOLD FRAKTUR CAPITAL Y;Lu;0;L;<font> 0059;;;;N;;;;;
+1D585;MATHEMATICAL BOLD FRAKTUR CAPITAL Z;Lu;0;L;<font> 005A;;;;N;;;;;
+1D586;MATHEMATICAL BOLD FRAKTUR SMALL A;Ll;0;L;<font> 0061;;;;N;;;;;
+1D587;MATHEMATICAL BOLD FRAKTUR SMALL B;Ll;0;L;<font> 0062;;;;N;;;;;
+1D588;MATHEMATICAL BOLD FRAKTUR SMALL C;Ll;0;L;<font> 0063;;;;N;;;;;
+1D589;MATHEMATICAL BOLD FRAKTUR SMALL D;Ll;0;L;<font> 0064;;;;N;;;;;
+1D58A;MATHEMATICAL BOLD FRAKTUR SMALL E;Ll;0;L;<font> 0065;;;;N;;;;;
+1D58B;MATHEMATICAL BOLD FRAKTUR SMALL F;Ll;0;L;<font> 0066;;;;N;;;;;
+1D58C;MATHEMATICAL BOLD FRAKTUR SMALL G;Ll;0;L;<font> 0067;;;;N;;;;;
+1D58D;MATHEMATICAL BOLD FRAKTUR SMALL H;Ll;0;L;<font> 0068;;;;N;;;;;
+1D58E;MATHEMATICAL BOLD FRAKTUR SMALL I;Ll;0;L;<font> 0069;;;;N;;;;;
+1D58F;MATHEMATICAL BOLD FRAKTUR SMALL J;Ll;0;L;<font> 006A;;;;N;;;;;
+1D590;MATHEMATICAL BOLD FRAKTUR SMALL K;Ll;0;L;<font> 006B;;;;N;;;;;
+1D591;MATHEMATICAL BOLD FRAKTUR SMALL L;Ll;0;L;<font> 006C;;;;N;;;;;
+1D592;MATHEMATICAL BOLD FRAKTUR SMALL M;Ll;0;L;<font> 006D;;;;N;;;;;
+1D593;MATHEMATICAL BOLD FRAKTUR SMALL N;Ll;0;L;<font> 006E;;;;N;;;;;
+1D594;MATHEMATICAL BOLD FRAKTUR SMALL O;Ll;0;L;<font> 006F;;;;N;;;;;
+1D595;MATHEMATICAL BOLD FRAKTUR SMALL P;Ll;0;L;<font> 0070;;;;N;;;;;
+1D596;MATHEMATICAL BOLD FRAKTUR SMALL Q;Ll;0;L;<font> 0071;;;;N;;;;;
+1D597;MATHEMATICAL BOLD FRAKTUR SMALL R;Ll;0;L;<font> 0072;;;;N;;;;;
+1D598;MATHEMATICAL BOLD FRAKTUR SMALL S;Ll;0;L;<font> 0073;;;;N;;;;;
+1D599;MATHEMATICAL BOLD FRAKTUR SMALL T;Ll;0;L;<font> 0074;;;;N;;;;;
+1D59A;MATHEMATICAL BOLD FRAKTUR SMALL U;Ll;0;L;<font> 0075;;;;N;;;;;
+1D59B;MATHEMATICAL BOLD FRAKTUR SMALL V;Ll;0;L;<font> 0076;;;;N;;;;;
+1D59C;MATHEMATICAL BOLD FRAKTUR SMALL W;Ll;0;L;<font> 0077;;;;N;;;;;
+1D59D;MATHEMATICAL BOLD FRAKTUR SMALL X;Ll;0;L;<font> 0078;;;;N;;;;;
+1D59E;MATHEMATICAL BOLD FRAKTUR SMALL Y;Ll;0;L;<font> 0079;;;;N;;;;;
+1D59F;MATHEMATICAL BOLD FRAKTUR SMALL Z;Ll;0;L;<font> 007A;;;;N;;;;;
+1D5A0;MATHEMATICAL SANS-SERIF CAPITAL A;Lu;0;L;<font> 0041;;;;N;;;;;
+1D5A1;MATHEMATICAL SANS-SERIF CAPITAL B;Lu;0;L;<font> 0042;;;;N;;;;;
+1D5A2;MATHEMATICAL SANS-SERIF CAPITAL C;Lu;0;L;<font> 0043;;;;N;;;;;
+1D5A3;MATHEMATICAL SANS-SERIF CAPITAL D;Lu;0;L;<font> 0044;;;;N;;;;;
+1D5A4;MATHEMATICAL SANS-SERIF CAPITAL E;Lu;0;L;<font> 0045;;;;N;;;;;
+1D5A5;MATHEMATICAL SANS-SERIF CAPITAL F;Lu;0;L;<font> 0046;;;;N;;;;;
+1D5A6;MATHEMATICAL SANS-SERIF CAPITAL G;Lu;0;L;<font> 0047;;;;N;;;;;
+1D5A7;MATHEMATICAL SANS-SERIF CAPITAL H;Lu;0;L;<font> 0048;;;;N;;;;;
+1D5A8;MATHEMATICAL SANS-SERIF CAPITAL I;Lu;0;L;<font> 0049;;;;N;;;;;
+1D5A9;MATHEMATICAL SANS-SERIF CAPITAL J;Lu;0;L;<font> 004A;;;;N;;;;;
+1D5AA;MATHEMATICAL SANS-SERIF CAPITAL K;Lu;0;L;<font> 004B;;;;N;;;;;
+1D5AB;MATHEMATICAL SANS-SERIF CAPITAL L;Lu;0;L;<font> 004C;;;;N;;;;;
+1D5AC;MATHEMATICAL SANS-SERIF CAPITAL M;Lu;0;L;<font> 004D;;;;N;;;;;
+1D5AD;MATHEMATICAL SANS-SERIF CAPITAL N;Lu;0;L;<font> 004E;;;;N;;;;;
+1D5AE;MATHEMATICAL SANS-SERIF CAPITAL O;Lu;0;L;<font> 004F;;;;N;;;;;
+1D5AF;MATHEMATICAL SANS-SERIF CAPITAL P;Lu;0;L;<font> 0050;;;;N;;;;;
+1D5B0;MATHEMATICAL SANS-SERIF CAPITAL Q;Lu;0;L;<font> 0051;;;;N;;;;;
+1D5B1;MATHEMATICAL SANS-SERIF CAPITAL R;Lu;0;L;<font> 0052;;;;N;;;;;
+1D5B2;MATHEMATICAL SANS-SERIF CAPITAL S;Lu;0;L;<font> 0053;;;;N;;;;;
+1D5B3;MATHEMATICAL SANS-SERIF CAPITAL T;Lu;0;L;<font> 0054;;;;N;;;;;
+1D5B4;MATHEMATICAL SANS-SERIF CAPITAL U;Lu;0;L;<font> 0055;;;;N;;;;;
+1D5B5;MATHEMATICAL SANS-SERIF CAPITAL V;Lu;0;L;<font> 0056;;;;N;;;;;
+1D5B6;MATHEMATICAL SANS-SERIF CAPITAL W;Lu;0;L;<font> 0057;;;;N;;;;;
+1D5B7;MATHEMATICAL SANS-SERIF CAPITAL X;Lu;0;L;<font> 0058;;;;N;;;;;
+1D5B8;MATHEMATICAL SANS-SERIF CAPITAL Y;Lu;0;L;<font> 0059;;;;N;;;;;
+1D5B9;MATHEMATICAL SANS-SERIF CAPITAL Z;Lu;0;L;<font> 005A;;;;N;;;;;
+1D5BA;MATHEMATICAL SANS-SERIF SMALL A;Ll;0;L;<font> 0061;;;;N;;;;;
+1D5BB;MATHEMATICAL SANS-SERIF SMALL B;Ll;0;L;<font> 0062;;;;N;;;;;
+1D5BC;MATHEMATICAL SANS-SERIF SMALL C;Ll;0;L;<font> 0063;;;;N;;;;;
+1D5BD;MATHEMATICAL SANS-SERIF SMALL D;Ll;0;L;<font> 0064;;;;N;;;;;
+1D5BE;MATHEMATICAL SANS-SERIF SMALL E;Ll;0;L;<font> 0065;;;;N;;;;;
+1D5BF;MATHEMATICAL SANS-SERIF SMALL F;Ll;0;L;<font> 0066;;;;N;;;;;
+1D5C0;MATHEMATICAL SANS-SERIF SMALL G;Ll;0;L;<font> 0067;;;;N;;;;;
+1D5C1;MATHEMATICAL SANS-SERIF SMALL H;Ll;0;L;<font> 0068;;;;N;;;;;
+1D5C2;MATHEMATICAL SANS-SERIF SMALL I;Ll;0;L;<font> 0069;;;;N;;;;;
+1D5C3;MATHEMATICAL SANS-SERIF SMALL J;Ll;0;L;<font> 006A;;;;N;;;;;
+1D5C4;MATHEMATICAL SANS-SERIF SMALL K;Ll;0;L;<font> 006B;;;;N;;;;;
+1D5C5;MATHEMATICAL SANS-SERIF SMALL L;Ll;0;L;<font> 006C;;;;N;;;;;
+1D5C6;MATHEMATICAL SANS-SERIF SMALL M;Ll;0;L;<font> 006D;;;;N;;;;;
+1D5C7;MATHEMATICAL SANS-SERIF SMALL N;Ll;0;L;<font> 006E;;;;N;;;;;
+1D5C8;MATHEMATICAL SANS-SERIF SMALL O;Ll;0;L;<font> 006F;;;;N;;;;;
+1D5C9;MATHEMATICAL SANS-SERIF SMALL P;Ll;0;L;<font> 0070;;;;N;;;;;
+1D5CA;MATHEMATICAL SANS-SERIF SMALL Q;Ll;0;L;<font> 0071;;;;N;;;;;
+1D5CB;MATHEMATICAL SANS-SERIF SMALL R;Ll;0;L;<font> 0072;;;;N;;;;;
+1D5CC;MATHEMATICAL SANS-SERIF SMALL S;Ll;0;L;<font> 0073;;;;N;;;;;
+1D5CD;MATHEMATICAL SANS-SERIF SMALL T;Ll;0;L;<font> 0074;;;;N;;;;;
+1D5CE;MATHEMATICAL SANS-SERIF SMALL U;Ll;0;L;<font> 0075;;;;N;;;;;
+1D5CF;MATHEMATICAL SANS-SERIF SMALL V;Ll;0;L;<font> 0076;;;;N;;;;;
+1D5D0;MATHEMATICAL SANS-SERIF SMALL W;Ll;0;L;<font> 0077;;;;N;;;;;
+1D5D1;MATHEMATICAL SANS-SERIF SMALL X;Ll;0;L;<font> 0078;;;;N;;;;;
+1D5D2;MATHEMATICAL SANS-SERIF SMALL Y;Ll;0;L;<font> 0079;;;;N;;;;;
+1D5D3;MATHEMATICAL SANS-SERIF SMALL Z;Ll;0;L;<font> 007A;;;;N;;;;;
+1D5D4;MATHEMATICAL SANS-SERIF BOLD CAPITAL A;Lu;0;L;<font> 0041;;;;N;;;;;
+1D5D5;MATHEMATICAL SANS-SERIF BOLD CAPITAL B;Lu;0;L;<font> 0042;;;;N;;;;;
+1D5D6;MATHEMATICAL SANS-SERIF BOLD CAPITAL C;Lu;0;L;<font> 0043;;;;N;;;;;
+1D5D7;MATHEMATICAL SANS-SERIF BOLD CAPITAL D;Lu;0;L;<font> 0044;;;;N;;;;;
+1D5D8;MATHEMATICAL SANS-SERIF BOLD CAPITAL E;Lu;0;L;<font> 0045;;;;N;;;;;
+1D5D9;MATHEMATICAL SANS-SERIF BOLD CAPITAL F;Lu;0;L;<font> 0046;;;;N;;;;;
+1D5DA;MATHEMATICAL SANS-SERIF BOLD CAPITAL G;Lu;0;L;<font> 0047;;;;N;;;;;
+1D5DB;MATHEMATICAL SANS-SERIF BOLD CAPITAL H;Lu;0;L;<font> 0048;;;;N;;;;;
+1D5DC;MATHEMATICAL SANS-SERIF BOLD CAPITAL I;Lu;0;L;<font> 0049;;;;N;;;;;
+1D5DD;MATHEMATICAL SANS-SERIF BOLD CAPITAL J;Lu;0;L;<font> 004A;;;;N;;;;;
+1D5DE;MATHEMATICAL SANS-SERIF BOLD CAPITAL K;Lu;0;L;<font> 004B;;;;N;;;;;
+1D5DF;MATHEMATICAL SANS-SERIF BOLD CAPITAL L;Lu;0;L;<font> 004C;;;;N;;;;;
+1D5E0;MATHEMATICAL SANS-SERIF BOLD CAPITAL M;Lu;0;L;<font> 004D;;;;N;;;;;
+1D5E1;MATHEMATICAL SANS-SERIF BOLD CAPITAL N;Lu;0;L;<font> 004E;;;;N;;;;;
+1D5E2;MATHEMATICAL SANS-SERIF BOLD CAPITAL O;Lu;0;L;<font> 004F;;;;N;;;;;
+1D5E3;MATHEMATICAL SANS-SERIF BOLD CAPITAL P;Lu;0;L;<font> 0050;;;;N;;;;;
+1D5E4;MATHEMATICAL SANS-SERIF BOLD CAPITAL Q;Lu;0;L;<font> 0051;;;;N;;;;;
+1D5E5;MATHEMATICAL SANS-SERIF BOLD CAPITAL R;Lu;0;L;<font> 0052;;;;N;;;;;
+1D5E6;MATHEMATICAL SANS-SERIF BOLD CAPITAL S;Lu;0;L;<font> 0053;;;;N;;;;;
+1D5E7;MATHEMATICAL SANS-SERIF BOLD CAPITAL T;Lu;0;L;<font> 0054;;;;N;;;;;
+1D5E8;MATHEMATICAL SANS-SERIF BOLD CAPITAL U;Lu;0;L;<font> 0055;;;;N;;;;;
+1D5E9;MATHEMATICAL SANS-SERIF BOLD CAPITAL V;Lu;0;L;<font> 0056;;;;N;;;;;
+1D5EA;MATHEMATICAL SANS-SERIF BOLD CAPITAL W;Lu;0;L;<font> 0057;;;;N;;;;;
+1D5EB;MATHEMATICAL SANS-SERIF BOLD CAPITAL X;Lu;0;L;<font> 0058;;;;N;;;;;
+1D5EC;MATHEMATICAL SANS-SERIF BOLD CAPITAL Y;Lu;0;L;<font> 0059;;;;N;;;;;
+1D5ED;MATHEMATICAL SANS-SERIF BOLD CAPITAL Z;Lu;0;L;<font> 005A;;;;N;;;;;
+1D5EE;MATHEMATICAL SANS-SERIF BOLD SMALL A;Ll;0;L;<font> 0061;;;;N;;;;;
+1D5EF;MATHEMATICAL SANS-SERIF BOLD SMALL B;Ll;0;L;<font> 0062;;;;N;;;;;
+1D5F0;MATHEMATICAL SANS-SERIF BOLD SMALL C;Ll;0;L;<font> 0063;;;;N;;;;;
+1D5F1;MATHEMATICAL SANS-SERIF BOLD SMALL D;Ll;0;L;<font> 0064;;;;N;;;;;
+1D5F2;MATHEMATICAL SANS-SERIF BOLD SMALL E;Ll;0;L;<font> 0065;;;;N;;;;;
+1D5F3;MATHEMATICAL SANS-SERIF BOLD SMALL F;Ll;0;L;<font> 0066;;;;N;;;;;
+1D5F4;MATHEMATICAL SANS-SERIF BOLD SMALL G;Ll;0;L;<font> 0067;;;;N;;;;;
+1D5F5;MATHEMATICAL SANS-SERIF BOLD SMALL H;Ll;0;L;<font> 0068;;;;N;;;;;
+1D5F6;MATHEMATICAL SANS-SERIF BOLD SMALL I;Ll;0;L;<font> 0069;;;;N;;;;;
+1D5F7;MATHEMATICAL SANS-SERIF BOLD SMALL J;Ll;0;L;<font> 006A;;;;N;;;;;
+1D5F8;MATHEMATICAL SANS-SERIF BOLD SMALL K;Ll;0;L;<font> 006B;;;;N;;;;;
+1D5F9;MATHEMATICAL SANS-SERIF BOLD SMALL L;Ll;0;L;<font> 006C;;;;N;;;;;
+1D5FA;MATHEMATICAL SANS-SERIF BOLD SMALL M;Ll;0;L;<font> 006D;;;;N;;;;;
+1D5FB;MATHEMATICAL SANS-SERIF BOLD SMALL N;Ll;0;L;<font> 006E;;;;N;;;;;
+1D5FC;MATHEMATICAL SANS-SERIF BOLD SMALL O;Ll;0;L;<font> 006F;;;;N;;;;;
+1D5FD;MATHEMATICAL SANS-SERIF BOLD SMALL P;Ll;0;L;<font> 0070;;;;N;;;;;
+1D5FE;MATHEMATICAL SANS-SERIF BOLD SMALL Q;Ll;0;L;<font> 0071;;;;N;;;;;
+1D5FF;MATHEMATICAL SANS-SERIF BOLD SMALL R;Ll;0;L;<font> 0072;;;;N;;;;;
+1D600;MATHEMATICAL SANS-SERIF BOLD SMALL S;Ll;0;L;<font> 0073;;;;N;;;;;
+1D601;MATHEMATICAL SANS-SERIF BOLD SMALL T;Ll;0;L;<font> 0074;;;;N;;;;;
+1D602;MATHEMATICAL SANS-SERIF BOLD SMALL U;Ll;0;L;<font> 0075;;;;N;;;;;
+1D603;MATHEMATICAL SANS-SERIF BOLD SMALL V;Ll;0;L;<font> 0076;;;;N;;;;;
+1D604;MATHEMATICAL SANS-SERIF BOLD SMALL W;Ll;0;L;<font> 0077;;;;N;;;;;
+1D605;MATHEMATICAL SANS-SERIF BOLD SMALL X;Ll;0;L;<font> 0078;;;;N;;;;;
+1D606;MATHEMATICAL SANS-SERIF BOLD SMALL Y;Ll;0;L;<font> 0079;;;;N;;;;;
+1D607;MATHEMATICAL SANS-SERIF BOLD SMALL Z;Ll;0;L;<font> 007A;;;;N;;;;;
+1D608;MATHEMATICAL SANS-SERIF ITALIC CAPITAL A;Lu;0;L;<font> 0041;;;;N;;;;;
+1D609;MATHEMATICAL SANS-SERIF ITALIC CAPITAL B;Lu;0;L;<font> 0042;;;;N;;;;;
+1D60A;MATHEMATICAL SANS-SERIF ITALIC CAPITAL C;Lu;0;L;<font> 0043;;;;N;;;;;
+1D60B;MATHEMATICAL SANS-SERIF ITALIC CAPITAL D;Lu;0;L;<font> 0044;;;;N;;;;;
+1D60C;MATHEMATICAL SANS-SERIF ITALIC CAPITAL E;Lu;0;L;<font> 0045;;;;N;;;;;
+1D60D;MATHEMATICAL SANS-SERIF ITALIC CAPITAL F;Lu;0;L;<font> 0046;;;;N;;;;;
+1D60E;MATHEMATICAL SANS-SERIF ITALIC CAPITAL G;Lu;0;L;<font> 0047;;;;N;;;;;
+1D60F;MATHEMATICAL SANS-SERIF ITALIC CAPITAL H;Lu;0;L;<font> 0048;;;;N;;;;;
+1D610;MATHEMATICAL SANS-SERIF ITALIC CAPITAL I;Lu;0;L;<font> 0049;;;;N;;;;;
+1D611;MATHEMATICAL SANS-SERIF ITALIC CAPITAL J;Lu;0;L;<font> 004A;;;;N;;;;;
+1D612;MATHEMATICAL SANS-SERIF ITALIC CAPITAL K;Lu;0;L;<font> 004B;;;;N;;;;;
+1D613;MATHEMATICAL SANS-SERIF ITALIC CAPITAL L;Lu;0;L;<font> 004C;;;;N;;;;;
+1D614;MATHEMATICAL SANS-SERIF ITALIC CAPITAL M;Lu;0;L;<font> 004D;;;;N;;;;;
+1D615;MATHEMATICAL SANS-SERIF ITALIC CAPITAL N;Lu;0;L;<font> 004E;;;;N;;;;;
+1D616;MATHEMATICAL SANS-SERIF ITALIC CAPITAL O;Lu;0;L;<font> 004F;;;;N;;;;;
+1D617;MATHEMATICAL SANS-SERIF ITALIC CAPITAL P;Lu;0;L;<font> 0050;;;;N;;;;;
+1D618;MATHEMATICAL SANS-SERIF ITALIC CAPITAL Q;Lu;0;L;<font> 0051;;;;N;;;;;
+1D619;MATHEMATICAL SANS-SERIF ITALIC CAPITAL R;Lu;0;L;<font> 0052;;;;N;;;;;
+1D61A;MATHEMATICAL SANS-SERIF ITALIC CAPITAL S;Lu;0;L;<font> 0053;;;;N;;;;;
+1D61B;MATHEMATICAL SANS-SERIF ITALIC CAPITAL T;Lu;0;L;<font> 0054;;;;N;;;;;
+1D61C;MATHEMATICAL SANS-SERIF ITALIC CAPITAL U;Lu;0;L;<font> 0055;;;;N;;;;;
+1D61D;MATHEMATICAL SANS-SERIF ITALIC CAPITAL V;Lu;0;L;<font> 0056;;;;N;;;;;
+1D61E;MATHEMATICAL SANS-SERIF ITALIC CAPITAL W;Lu;0;L;<font> 0057;;;;N;;;;;
+1D61F;MATHEMATICAL SANS-SERIF ITALIC CAPITAL X;Lu;0;L;<font> 0058;;;;N;;;;;
+1D620;MATHEMATICAL SANS-SERIF ITALIC CAPITAL Y;Lu;0;L;<font> 0059;;;;N;;;;;
+1D621;MATHEMATICAL SANS-SERIF ITALIC CAPITAL Z;Lu;0;L;<font> 005A;;;;N;;;;;
+1D622;MATHEMATICAL SANS-SERIF ITALIC SMALL A;Ll;0;L;<font> 0061;;;;N;;;;;
+1D623;MATHEMATICAL SANS-SERIF ITALIC SMALL B;Ll;0;L;<font> 0062;;;;N;;;;;
+1D624;MATHEMATICAL SANS-SERIF ITALIC SMALL C;Ll;0;L;<font> 0063;;;;N;;;;;
+1D625;MATHEMATICAL SANS-SERIF ITALIC SMALL D;Ll;0;L;<font> 0064;;;;N;;;;;
+1D626;MATHEMATICAL SANS-SERIF ITALIC SMALL E;Ll;0;L;<font> 0065;;;;N;;;;;
+1D627;MATHEMATICAL SANS-SERIF ITALIC SMALL F;Ll;0;L;<font> 0066;;;;N;;;;;
+1D628;MATHEMATICAL SANS-SERIF ITALIC SMALL G;Ll;0;L;<font> 0067;;;;N;;;;;
+1D629;MATHEMATICAL SANS-SERIF ITALIC SMALL H;Ll;0;L;<font> 0068;;;;N;;;;;
+1D62A;MATHEMATICAL SANS-SERIF ITALIC SMALL I;Ll;0;L;<font> 0069;;;;N;;;;;
+1D62B;MATHEMATICAL SANS-SERIF ITALIC SMALL J;Ll;0;L;<font> 006A;;;;N;;;;;
+1D62C;MATHEMATICAL SANS-SERIF ITALIC SMALL K;Ll;0;L;<font> 006B;;;;N;;;;;
+1D62D;MATHEMATICAL SANS-SERIF ITALIC SMALL L;Ll;0;L;<font> 006C;;;;N;;;;;
+1D62E;MATHEMATICAL SANS-SERIF ITALIC SMALL M;Ll;0;L;<font> 006D;;;;N;;;;;
+1D62F;MATHEMATICAL SANS-SERIF ITALIC SMALL N;Ll;0;L;<font> 006E;;;;N;;;;;
+1D630;MATHEMATICAL SANS-SERIF ITALIC SMALL O;Ll;0;L;<font> 006F;;;;N;;;;;
+1D631;MATHEMATICAL SANS-SERIF ITALIC SMALL P;Ll;0;L;<font> 0070;;;;N;;;;;
+1D632;MATHEMATICAL SANS-SERIF ITALIC SMALL Q;Ll;0;L;<font> 0071;;;;N;;;;;
+1D633;MATHEMATICAL SANS-SERIF ITALIC SMALL R;Ll;0;L;<font> 0072;;;;N;;;;;
+1D634;MATHEMATICAL SANS-SERIF ITALIC SMALL S;Ll;0;L;<font> 0073;;;;N;;;;;
+1D635;MATHEMATICAL SANS-SERIF ITALIC SMALL T;Ll;0;L;<font> 0074;;;;N;;;;;
+1D636;MATHEMATICAL SANS-SERIF ITALIC SMALL U;Ll;0;L;<font> 0075;;;;N;;;;;
+1D637;MATHEMATICAL SANS-SERIF ITALIC SMALL V;Ll;0;L;<font> 0076;;;;N;;;;;
+1D638;MATHEMATICAL SANS-SERIF ITALIC SMALL W;Ll;0;L;<font> 0077;;;;N;;;;;
+1D639;MATHEMATICAL SANS-SERIF ITALIC SMALL X;Ll;0;L;<font> 0078;;;;N;;;;;
+1D63A;MATHEMATICAL SANS-SERIF ITALIC SMALL Y;Ll;0;L;<font> 0079;;;;N;;;;;
+1D63B;MATHEMATICAL SANS-SERIF ITALIC SMALL Z;Ll;0;L;<font> 007A;;;;N;;;;;
+1D63C;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL A;Lu;0;L;<font> 0041;;;;N;;;;;
+1D63D;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL B;Lu;0;L;<font> 0042;;;;N;;;;;
+1D63E;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL C;Lu;0;L;<font> 0043;;;;N;;;;;
+1D63F;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL D;Lu;0;L;<font> 0044;;;;N;;;;;
+1D640;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL E;Lu;0;L;<font> 0045;;;;N;;;;;
+1D641;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL F;Lu;0;L;<font> 0046;;;;N;;;;;
+1D642;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL G;Lu;0;L;<font> 0047;;;;N;;;;;
+1D643;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL H;Lu;0;L;<font> 0048;;;;N;;;;;
+1D644;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL I;Lu;0;L;<font> 0049;;;;N;;;;;
+1D645;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL J;Lu;0;L;<font> 004A;;;;N;;;;;
+1D646;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL K;Lu;0;L;<font> 004B;;;;N;;;;;
+1D647;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL L;Lu;0;L;<font> 004C;;;;N;;;;;
+1D648;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL M;Lu;0;L;<font> 004D;;;;N;;;;;
+1D649;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL N;Lu;0;L;<font> 004E;;;;N;;;;;
+1D64A;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL O;Lu;0;L;<font> 004F;;;;N;;;;;
+1D64B;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL P;Lu;0;L;<font> 0050;;;;N;;;;;
+1D64C;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL Q;Lu;0;L;<font> 0051;;;;N;;;;;
+1D64D;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL R;Lu;0;L;<font> 0052;;;;N;;;;;
+1D64E;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL S;Lu;0;L;<font> 0053;;;;N;;;;;
+1D64F;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL T;Lu;0;L;<font> 0054;;;;N;;;;;
+1D650;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL U;Lu;0;L;<font> 0055;;;;N;;;;;
+1D651;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL V;Lu;0;L;<font> 0056;;;;N;;;;;
+1D652;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL W;Lu;0;L;<font> 0057;;;;N;;;;;
+1D653;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL X;Lu;0;L;<font> 0058;;;;N;;;;;
+1D654;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL Y;Lu;0;L;<font> 0059;;;;N;;;;;
+1D655;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL Z;Lu;0;L;<font> 005A;;;;N;;;;;
+1D656;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL A;Ll;0;L;<font> 0061;;;;N;;;;;
+1D657;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL B;Ll;0;L;<font> 0062;;;;N;;;;;
+1D658;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL C;Ll;0;L;<font> 0063;;;;N;;;;;
+1D659;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL D;Ll;0;L;<font> 0064;;;;N;;;;;
+1D65A;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL E;Ll;0;L;<font> 0065;;;;N;;;;;
+1D65B;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL F;Ll;0;L;<font> 0066;;;;N;;;;;
+1D65C;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL G;Ll;0;L;<font> 0067;;;;N;;;;;
+1D65D;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL H;Ll;0;L;<font> 0068;;;;N;;;;;
+1D65E;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL I;Ll;0;L;<font> 0069;;;;N;;;;;
+1D65F;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL J;Ll;0;L;<font> 006A;;;;N;;;;;
+1D660;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL K;Ll;0;L;<font> 006B;;;;N;;;;;
+1D661;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL L;Ll;0;L;<font> 006C;;;;N;;;;;
+1D662;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL M;Ll;0;L;<font> 006D;;;;N;;;;;
+1D663;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL N;Ll;0;L;<font> 006E;;;;N;;;;;
+1D664;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL O;Ll;0;L;<font> 006F;;;;N;;;;;
+1D665;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL P;Ll;0;L;<font> 0070;;;;N;;;;;
+1D666;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL Q;Ll;0;L;<font> 0071;;;;N;;;;;
+1D667;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL R;Ll;0;L;<font> 0072;;;;N;;;;;
+1D668;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL S;Ll;0;L;<font> 0073;;;;N;;;;;
+1D669;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL T;Ll;0;L;<font> 0074;;;;N;;;;;
+1D66A;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL U;Ll;0;L;<font> 0075;;;;N;;;;;
+1D66B;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL V;Ll;0;L;<font> 0076;;;;N;;;;;
+1D66C;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL W;Ll;0;L;<font> 0077;;;;N;;;;;
+1D66D;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL X;Ll;0;L;<font> 0078;;;;N;;;;;
+1D66E;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL Y;Ll;0;L;<font> 0079;;;;N;;;;;
+1D66F;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL Z;Ll;0;L;<font> 007A;;;;N;;;;;
+1D670;MATHEMATICAL MONOSPACE CAPITAL A;Lu;0;L;<font> 0041;;;;N;;;;;
+1D671;MATHEMATICAL MONOSPACE CAPITAL B;Lu;0;L;<font> 0042;;;;N;;;;;
+1D672;MATHEMATICAL MONOSPACE CAPITAL C;Lu;0;L;<font> 0043;;;;N;;;;;
+1D673;MATHEMATICAL MONOSPACE CAPITAL D;Lu;0;L;<font> 0044;;;;N;;;;;
+1D674;MATHEMATICAL MONOSPACE CAPITAL E;Lu;0;L;<font> 0045;;;;N;;;;;
+1D675;MATHEMATICAL MONOSPACE CAPITAL F;Lu;0;L;<font> 0046;;;;N;;;;;
+1D676;MATHEMATICAL MONOSPACE CAPITAL G;Lu;0;L;<font> 0047;;;;N;;;;;
+1D677;MATHEMATICAL MONOSPACE CAPITAL H;Lu;0;L;<font> 0048;;;;N;;;;;
+1D678;MATHEMATICAL MONOSPACE CAPITAL I;Lu;0;L;<font> 0049;;;;N;;;;;
+1D679;MATHEMATICAL MONOSPACE CAPITAL J;Lu;0;L;<font> 004A;;;;N;;;;;
+1D67A;MATHEMATICAL MONOSPACE CAPITAL K;Lu;0;L;<font> 004B;;;;N;;;;;
+1D67B;MATHEMATICAL MONOSPACE CAPITAL L;Lu;0;L;<font> 004C;;;;N;;;;;
+1D67C;MATHEMATICAL MONOSPACE CAPITAL M;Lu;0;L;<font> 004D;;;;N;;;;;
+1D67D;MATHEMATICAL MONOSPACE CAPITAL N;Lu;0;L;<font> 004E;;;;N;;;;;
+1D67E;MATHEMATICAL MONOSPACE CAPITAL O;Lu;0;L;<font> 004F;;;;N;;;;;
+1D67F;MATHEMATICAL MONOSPACE CAPITAL P;Lu;0;L;<font> 0050;;;;N;;;;;
+1D680;MATHEMATICAL MONOSPACE CAPITAL Q;Lu;0;L;<font> 0051;;;;N;;;;;
+1D681;MATHEMATICAL MONOSPACE CAPITAL R;Lu;0;L;<font> 0052;;;;N;;;;;
+1D682;MATHEMATICAL MONOSPACE CAPITAL S;Lu;0;L;<font> 0053;;;;N;;;;;
+1D683;MATHEMATICAL MONOSPACE CAPITAL T;Lu;0;L;<font> 0054;;;;N;;;;;
+1D684;MATHEMATICAL MONOSPACE CAPITAL U;Lu;0;L;<font> 0055;;;;N;;;;;
+1D685;MATHEMATICAL MONOSPACE CAPITAL V;Lu;0;L;<font> 0056;;;;N;;;;;
+1D686;MATHEMATICAL MONOSPACE CAPITAL W;Lu;0;L;<font> 0057;;;;N;;;;;
+1D687;MATHEMATICAL MONOSPACE CAPITAL X;Lu;0;L;<font> 0058;;;;N;;;;;
+1D688;MATHEMATICAL MONOSPACE CAPITAL Y;Lu;0;L;<font> 0059;;;;N;;;;;
+1D689;MATHEMATICAL MONOSPACE CAPITAL Z;Lu;0;L;<font> 005A;;;;N;;;;;
+1D68A;MATHEMATICAL MONOSPACE SMALL A;Ll;0;L;<font> 0061;;;;N;;;;;
+1D68B;MATHEMATICAL MONOSPACE SMALL B;Ll;0;L;<font> 0062;;;;N;;;;;
+1D68C;MATHEMATICAL MONOSPACE SMALL C;Ll;0;L;<font> 0063;;;;N;;;;;
+1D68D;MATHEMATICAL MONOSPACE SMALL D;Ll;0;L;<font> 0064;;;;N;;;;;
+1D68E;MATHEMATICAL MONOSPACE SMALL E;Ll;0;L;<font> 0065;;;;N;;;;;
+1D68F;MATHEMATICAL MONOSPACE SMALL F;Ll;0;L;<font> 0066;;;;N;;;;;
+1D690;MATHEMATICAL MONOSPACE SMALL G;Ll;0;L;<font> 0067;;;;N;;;;;
+1D691;MATHEMATICAL MONOSPACE SMALL H;Ll;0;L;<font> 0068;;;;N;;;;;
+1D692;MATHEMATICAL MONOSPACE SMALL I;Ll;0;L;<font> 0069;;;;N;;;;;
+1D693;MATHEMATICAL MONOSPACE SMALL J;Ll;0;L;<font> 006A;;;;N;;;;;
+1D694;MATHEMATICAL MONOSPACE SMALL K;Ll;0;L;<font> 006B;;;;N;;;;;
+1D695;MATHEMATICAL MONOSPACE SMALL L;Ll;0;L;<font> 006C;;;;N;;;;;
+1D696;MATHEMATICAL MONOSPACE SMALL M;Ll;0;L;<font> 006D;;;;N;;;;;
+1D697;MATHEMATICAL MONOSPACE SMALL N;Ll;0;L;<font> 006E;;;;N;;;;;
+1D698;MATHEMATICAL MONOSPACE SMALL O;Ll;0;L;<font> 006F;;;;N;;;;;
+1D699;MATHEMATICAL MONOSPACE SMALL P;Ll;0;L;<font> 0070;;;;N;;;;;
+1D69A;MATHEMATICAL MONOSPACE SMALL Q;Ll;0;L;<font> 0071;;;;N;;;;;
+1D69B;MATHEMATICAL MONOSPACE SMALL R;Ll;0;L;<font> 0072;;;;N;;;;;
+1D69C;MATHEMATICAL MONOSPACE SMALL S;Ll;0;L;<font> 0073;;;;N;;;;;
+1D69D;MATHEMATICAL MONOSPACE SMALL T;Ll;0;L;<font> 0074;;;;N;;;;;
+1D69E;MATHEMATICAL MONOSPACE SMALL U;Ll;0;L;<font> 0075;;;;N;;;;;
+1D69F;MATHEMATICAL MONOSPACE SMALL V;Ll;0;L;<font> 0076;;;;N;;;;;
+1D6A0;MATHEMATICAL MONOSPACE SMALL W;Ll;0;L;<font> 0077;;;;N;;;;;
+1D6A1;MATHEMATICAL MONOSPACE SMALL X;Ll;0;L;<font> 0078;;;;N;;;;;
+1D6A2;MATHEMATICAL MONOSPACE SMALL Y;Ll;0;L;<font> 0079;;;;N;;;;;
+1D6A3;MATHEMATICAL MONOSPACE SMALL Z;Ll;0;L;<font> 007A;;;;N;;;;;
+1D6A4;MATHEMATICAL ITALIC SMALL DOTLESS I;Ll;0;L;<font> 0131;;;;N;;;;;
+1D6A5;MATHEMATICAL ITALIC SMALL DOTLESS J;Ll;0;L;<font> 0237;;;;N;;;;;
+1D6A8;MATHEMATICAL BOLD CAPITAL ALPHA;Lu;0;L;<font> 0391;;;;N;;;;;
+1D6A9;MATHEMATICAL BOLD CAPITAL BETA;Lu;0;L;<font> 0392;;;;N;;;;;
+1D6AA;MATHEMATICAL BOLD CAPITAL GAMMA;Lu;0;L;<font> 0393;;;;N;;;;;
+1D6AB;MATHEMATICAL BOLD CAPITAL DELTA;Lu;0;L;<font> 0394;;;;N;;;;;
+1D6AC;MATHEMATICAL BOLD CAPITAL EPSILON;Lu;0;L;<font> 0395;;;;N;;;;;
+1D6AD;MATHEMATICAL BOLD CAPITAL ZETA;Lu;0;L;<font> 0396;;;;N;;;;;
+1D6AE;MATHEMATICAL BOLD CAPITAL ETA;Lu;0;L;<font> 0397;;;;N;;;;;
+1D6AF;MATHEMATICAL BOLD CAPITAL THETA;Lu;0;L;<font> 0398;;;;N;;;;;
+1D6B0;MATHEMATICAL BOLD CAPITAL IOTA;Lu;0;L;<font> 0399;;;;N;;;;;
+1D6B1;MATHEMATICAL BOLD CAPITAL KAPPA;Lu;0;L;<font> 039A;;;;N;;;;;
+1D6B2;MATHEMATICAL BOLD CAPITAL LAMDA;Lu;0;L;<font> 039B;;;;N;;;;;
+1D6B3;MATHEMATICAL BOLD CAPITAL MU;Lu;0;L;<font> 039C;;;;N;;;;;
+1D6B4;MATHEMATICAL BOLD CAPITAL NU;Lu;0;L;<font> 039D;;;;N;;;;;
+1D6B5;MATHEMATICAL BOLD CAPITAL XI;Lu;0;L;<font> 039E;;;;N;;;;;
+1D6B6;MATHEMATICAL BOLD CAPITAL OMICRON;Lu;0;L;<font> 039F;;;;N;;;;;
+1D6B7;MATHEMATICAL BOLD CAPITAL PI;Lu;0;L;<font> 03A0;;;;N;;;;;
+1D6B8;MATHEMATICAL BOLD CAPITAL RHO;Lu;0;L;<font> 03A1;;;;N;;;;;
+1D6B9;MATHEMATICAL BOLD CAPITAL THETA SYMBOL;Lu;0;L;<font> 03F4;;;;N;;;;;
+1D6BA;MATHEMATICAL BOLD CAPITAL SIGMA;Lu;0;L;<font> 03A3;;;;N;;;;;
+1D6BB;MATHEMATICAL BOLD CAPITAL TAU;Lu;0;L;<font> 03A4;;;;N;;;;;
+1D6BC;MATHEMATICAL BOLD CAPITAL UPSILON;Lu;0;L;<font> 03A5;;;;N;;;;;
+1D6BD;MATHEMATICAL BOLD CAPITAL PHI;Lu;0;L;<font> 03A6;;;;N;;;;;
+1D6BE;MATHEMATICAL BOLD CAPITAL CHI;Lu;0;L;<font> 03A7;;;;N;;;;;
+1D6BF;MATHEMATICAL BOLD CAPITAL PSI;Lu;0;L;<font> 03A8;;;;N;;;;;
+1D6C0;MATHEMATICAL BOLD CAPITAL OMEGA;Lu;0;L;<font> 03A9;;;;N;;;;;
+1D6C1;MATHEMATICAL BOLD NABLA;Sm;0;L;<font> 2207;;;;N;;;;;
+1D6C2;MATHEMATICAL BOLD SMALL ALPHA;Ll;0;L;<font> 03B1;;;;N;;;;;
+1D6C3;MATHEMATICAL BOLD SMALL BETA;Ll;0;L;<font> 03B2;;;;N;;;;;
+1D6C4;MATHEMATICAL BOLD SMALL GAMMA;Ll;0;L;<font> 03B3;;;;N;;;;;
+1D6C5;MATHEMATICAL BOLD SMALL DELTA;Ll;0;L;<font> 03B4;;;;N;;;;;
+1D6C6;MATHEMATICAL BOLD SMALL EPSILON;Ll;0;L;<font> 03B5;;;;N;;;;;
+1D6C7;MATHEMATICAL BOLD SMALL ZETA;Ll;0;L;<font> 03B6;;;;N;;;;;
+1D6C8;MATHEMATICAL BOLD SMALL ETA;Ll;0;L;<font> 03B7;;;;N;;;;;
+1D6C9;MATHEMATICAL BOLD SMALL THETA;Ll;0;L;<font> 03B8;;;;N;;;;;
+1D6CA;MATHEMATICAL BOLD SMALL IOTA;Ll;0;L;<font> 03B9;;;;N;;;;;
+1D6CB;MATHEMATICAL BOLD SMALL KAPPA;Ll;0;L;<font> 03BA;;;;N;;;;;
+1D6CC;MATHEMATICAL BOLD SMALL LAMDA;Ll;0;L;<font> 03BB;;;;N;;;;;
+1D6CD;MATHEMATICAL BOLD SMALL MU;Ll;0;L;<font> 03BC;;;;N;;;;;
+1D6CE;MATHEMATICAL BOLD SMALL NU;Ll;0;L;<font> 03BD;;;;N;;;;;
+1D6CF;MATHEMATICAL BOLD SMALL XI;Ll;0;L;<font> 03BE;;;;N;;;;;
+1D6D0;MATHEMATICAL BOLD SMALL OMICRON;Ll;0;L;<font> 03BF;;;;N;;;;;
+1D6D1;MATHEMATICAL BOLD SMALL PI;Ll;0;L;<font> 03C0;;;;N;;;;;
+1D6D2;MATHEMATICAL BOLD SMALL RHO;Ll;0;L;<font> 03C1;;;;N;;;;;
+1D6D3;MATHEMATICAL BOLD SMALL FINAL SIGMA;Ll;0;L;<font> 03C2;;;;N;;;;;
+1D6D4;MATHEMATICAL BOLD SMALL SIGMA;Ll;0;L;<font> 03C3;;;;N;;;;;
+1D6D5;MATHEMATICAL BOLD SMALL TAU;Ll;0;L;<font> 03C4;;;;N;;;;;
+1D6D6;MATHEMATICAL BOLD SMALL UPSILON;Ll;0;L;<font> 03C5;;;;N;;;;;
+1D6D7;MATHEMATICAL BOLD SMALL PHI;Ll;0;L;<font> 03C6;;;;N;;;;;
+1D6D8;MATHEMATICAL BOLD SMALL CHI;Ll;0;L;<font> 03C7;;;;N;;;;;
+1D6D9;MATHEMATICAL BOLD SMALL PSI;Ll;0;L;<font> 03C8;;;;N;;;;;
+1D6DA;MATHEMATICAL BOLD SMALL OMEGA;Ll;0;L;<font> 03C9;;;;N;;;;;
+1D6DB;MATHEMATICAL BOLD PARTIAL DIFFERENTIAL;Sm;0;L;<font> 2202;;;;N;;;;;
+1D6DC;MATHEMATICAL BOLD EPSILON SYMBOL;Ll;0;L;<font> 03F5;;;;N;;;;;
+1D6DD;MATHEMATICAL BOLD THETA SYMBOL;Ll;0;L;<font> 03D1;;;;N;;;;;
+1D6DE;MATHEMATICAL BOLD KAPPA SYMBOL;Ll;0;L;<font> 03F0;;;;N;;;;;
+1D6DF;MATHEMATICAL BOLD PHI SYMBOL;Ll;0;L;<font> 03D5;;;;N;;;;;
+1D6E0;MATHEMATICAL BOLD RHO SYMBOL;Ll;0;L;<font> 03F1;;;;N;;;;;
+1D6E1;MATHEMATICAL BOLD PI SYMBOL;Ll;0;L;<font> 03D6;;;;N;;;;;
+1D6E2;MATHEMATICAL ITALIC CAPITAL ALPHA;Lu;0;L;<font> 0391;;;;N;;;;;
+1D6E3;MATHEMATICAL ITALIC CAPITAL BETA;Lu;0;L;<font> 0392;;;;N;;;;;
+1D6E4;MATHEMATICAL ITALIC CAPITAL GAMMA;Lu;0;L;<font> 0393;;;;N;;;;;
+1D6E5;MATHEMATICAL ITALIC CAPITAL DELTA;Lu;0;L;<font> 0394;;;;N;;;;;
+1D6E6;MATHEMATICAL ITALIC CAPITAL EPSILON;Lu;0;L;<font> 0395;;;;N;;;;;
+1D6E7;MATHEMATICAL ITALIC CAPITAL ZETA;Lu;0;L;<font> 0396;;;;N;;;;;
+1D6E8;MATHEMATICAL ITALIC CAPITAL ETA;Lu;0;L;<font> 0397;;;;N;;;;;
+1D6E9;MATHEMATICAL ITALIC CAPITAL THETA;Lu;0;L;<font> 0398;;;;N;;;;;
+1D6EA;MATHEMATICAL ITALIC CAPITAL IOTA;Lu;0;L;<font> 0399;;;;N;;;;;
+1D6EB;MATHEMATICAL ITALIC CAPITAL KAPPA;Lu;0;L;<font> 039A;;;;N;;;;;
+1D6EC;MATHEMATICAL ITALIC CAPITAL LAMDA;Lu;0;L;<font> 039B;;;;N;;;;;
+1D6ED;MATHEMATICAL ITALIC CAPITAL MU;Lu;0;L;<font> 039C;;;;N;;;;;
+1D6EE;MATHEMATICAL ITALIC CAPITAL NU;Lu;0;L;<font> 039D;;;;N;;;;;
+1D6EF;MATHEMATICAL ITALIC CAPITAL XI;Lu;0;L;<font> 039E;;;;N;;;;;
+1D6F0;MATHEMATICAL ITALIC CAPITAL OMICRON;Lu;0;L;<font> 039F;;;;N;;;;;
+1D6F1;MATHEMATICAL ITALIC CAPITAL PI;Lu;0;L;<font> 03A0;;;;N;;;;;
+1D6F2;MATHEMATICAL ITALIC CAPITAL RHO;Lu;0;L;<font> 03A1;;;;N;;;;;
+1D6F3;MATHEMATICAL ITALIC CAPITAL THETA SYMBOL;Lu;0;L;<font> 03F4;;;;N;;;;;
+1D6F4;MATHEMATICAL ITALIC CAPITAL SIGMA;Lu;0;L;<font> 03A3;;;;N;;;;;
+1D6F5;MATHEMATICAL ITALIC CAPITAL TAU;Lu;0;L;<font> 03A4;;;;N;;;;;
+1D6F6;MATHEMATICAL ITALIC CAPITAL UPSILON;Lu;0;L;<font> 03A5;;;;N;;;;;
+1D6F7;MATHEMATICAL ITALIC CAPITAL PHI;Lu;0;L;<font> 03A6;;;;N;;;;;
+1D6F8;MATHEMATICAL ITALIC CAPITAL CHI;Lu;0;L;<font> 03A7;;;;N;;;;;
+1D6F9;MATHEMATICAL ITALIC CAPITAL PSI;Lu;0;L;<font> 03A8;;;;N;;;;;
+1D6FA;MATHEMATICAL ITALIC CAPITAL OMEGA;Lu;0;L;<font> 03A9;;;;N;;;;;
+1D6FB;MATHEMATICAL ITALIC NABLA;Sm;0;L;<font> 2207;;;;N;;;;;
+1D6FC;MATHEMATICAL ITALIC SMALL ALPHA;Ll;0;L;<font> 03B1;;;;N;;;;;
+1D6FD;MATHEMATICAL ITALIC SMALL BETA;Ll;0;L;<font> 03B2;;;;N;;;;;
+1D6FE;MATHEMATICAL ITALIC SMALL GAMMA;Ll;0;L;<font> 03B3;;;;N;;;;;
+1D6FF;MATHEMATICAL ITALIC SMALL DELTA;Ll;0;L;<font> 03B4;;;;N;;;;;
+1D700;MATHEMATICAL ITALIC SMALL EPSILON;Ll;0;L;<font> 03B5;;;;N;;;;;
+1D701;MATHEMATICAL ITALIC SMALL ZETA;Ll;0;L;<font> 03B6;;;;N;;;;;
+1D702;MATHEMATICAL ITALIC SMALL ETA;Ll;0;L;<font> 03B7;;;;N;;;;;
+1D703;MATHEMATICAL ITALIC SMALL THETA;Ll;0;L;<font> 03B8;;;;N;;;;;
+1D704;MATHEMATICAL ITALIC SMALL IOTA;Ll;0;L;<font> 03B9;;;;N;;;;;
+1D705;MATHEMATICAL ITALIC SMALL KAPPA;Ll;0;L;<font> 03BA;;;;N;;;;;
+1D706;MATHEMATICAL ITALIC SMALL LAMDA;Ll;0;L;<font> 03BB;;;;N;;;;;
+1D707;MATHEMATICAL ITALIC SMALL MU;Ll;0;L;<font> 03BC;;;;N;;;;;
+1D708;MATHEMATICAL ITALIC SMALL NU;Ll;0;L;<font> 03BD;;;;N;;;;;
+1D709;MATHEMATICAL ITALIC SMALL XI;Ll;0;L;<font> 03BE;;;;N;;;;;
+1D70A;MATHEMATICAL ITALIC SMALL OMICRON;Ll;0;L;<font> 03BF;;;;N;;;;;
+1D70B;MATHEMATICAL ITALIC SMALL PI;Ll;0;L;<font> 03C0;;;;N;;;;;
+1D70C;MATHEMATICAL ITALIC SMALL RHO;Ll;0;L;<font> 03C1;;;;N;;;;;
+1D70D;MATHEMATICAL ITALIC SMALL FINAL SIGMA;Ll;0;L;<font> 03C2;;;;N;;;;;
+1D70E;MATHEMATICAL ITALIC SMALL SIGMA;Ll;0;L;<font> 03C3;;;;N;;;;;
+1D70F;MATHEMATICAL ITALIC SMALL TAU;Ll;0;L;<font> 03C4;;;;N;;;;;
+1D710;MATHEMATICAL ITALIC SMALL UPSILON;Ll;0;L;<font> 03C5;;;;N;;;;;
+1D711;MATHEMATICAL ITALIC SMALL PHI;Ll;0;L;<font> 03C6;;;;N;;;;;
+1D712;MATHEMATICAL ITALIC SMALL CHI;Ll;0;L;<font> 03C7;;;;N;;;;;
+1D713;MATHEMATICAL ITALIC SMALL PSI;Ll;0;L;<font> 03C8;;;;N;;;;;
+1D714;MATHEMATICAL ITALIC SMALL OMEGA;Ll;0;L;<font> 03C9;;;;N;;;;;
+1D715;MATHEMATICAL ITALIC PARTIAL DIFFERENTIAL;Sm;0;L;<font> 2202;;;;N;;;;;
+1D716;MATHEMATICAL ITALIC EPSILON SYMBOL;Ll;0;L;<font> 03F5;;;;N;;;;;
+1D717;MATHEMATICAL ITALIC THETA SYMBOL;Ll;0;L;<font> 03D1;;;;N;;;;;
+1D718;MATHEMATICAL ITALIC KAPPA SYMBOL;Ll;0;L;<font> 03F0;;;;N;;;;;
+1D719;MATHEMATICAL ITALIC PHI SYMBOL;Ll;0;L;<font> 03D5;;;;N;;;;;
+1D71A;MATHEMATICAL ITALIC RHO SYMBOL;Ll;0;L;<font> 03F1;;;;N;;;;;
+1D71B;MATHEMATICAL ITALIC PI SYMBOL;Ll;0;L;<font> 03D6;;;;N;;;;;
+1D71C;MATHEMATICAL BOLD ITALIC CAPITAL ALPHA;Lu;0;L;<font> 0391;;;;N;;;;;
+1D71D;MATHEMATICAL BOLD ITALIC CAPITAL BETA;Lu;0;L;<font> 0392;;;;N;;;;;
+1D71E;MATHEMATICAL BOLD ITALIC CAPITAL GAMMA;Lu;0;L;<font> 0393;;;;N;;;;;
+1D71F;MATHEMATICAL BOLD ITALIC CAPITAL DELTA;Lu;0;L;<font> 0394;;;;N;;;;;
+1D720;MATHEMATICAL BOLD ITALIC CAPITAL EPSILON;Lu;0;L;<font> 0395;;;;N;;;;;
+1D721;MATHEMATICAL BOLD ITALIC CAPITAL ZETA;Lu;0;L;<font> 0396;;;;N;;;;;
+1D722;MATHEMATICAL BOLD ITALIC CAPITAL ETA;Lu;0;L;<font> 0397;;;;N;;;;;
+1D723;MATHEMATICAL BOLD ITALIC CAPITAL THETA;Lu;0;L;<font> 0398;;;;N;;;;;
+1D724;MATHEMATICAL BOLD ITALIC CAPITAL IOTA;Lu;0;L;<font> 0399;;;;N;;;;;
+1D725;MATHEMATICAL BOLD ITALIC CAPITAL KAPPA;Lu;0;L;<font> 039A;;;;N;;;;;
+1D726;MATHEMATICAL BOLD ITALIC CAPITAL LAMDA;Lu;0;L;<font> 039B;;;;N;;;;;
+1D727;MATHEMATICAL BOLD ITALIC CAPITAL MU;Lu;0;L;<font> 039C;;;;N;;;;;
+1D728;MATHEMATICAL BOLD ITALIC CAPITAL NU;Lu;0;L;<font> 039D;;;;N;;;;;
+1D729;MATHEMATICAL BOLD ITALIC CAPITAL XI;Lu;0;L;<font> 039E;;;;N;;;;;
+1D72A;MATHEMATICAL BOLD ITALIC CAPITAL OMICRON;Lu;0;L;<font> 039F;;;;N;;;;;
+1D72B;MATHEMATICAL BOLD ITALIC CAPITAL PI;Lu;0;L;<font> 03A0;;;;N;;;;;
+1D72C;MATHEMATICAL BOLD ITALIC CAPITAL RHO;Lu;0;L;<font> 03A1;;;;N;;;;;
+1D72D;MATHEMATICAL BOLD ITALIC CAPITAL THETA SYMBOL;Lu;0;L;<font> 03F4;;;;N;;;;;
+1D72E;MATHEMATICAL BOLD ITALIC CAPITAL SIGMA;Lu;0;L;<font> 03A3;;;;N;;;;;
+1D72F;MATHEMATICAL BOLD ITALIC CAPITAL TAU;Lu;0;L;<font> 03A4;;;;N;;;;;
+1D730;MATHEMATICAL BOLD ITALIC CAPITAL UPSILON;Lu;0;L;<font> 03A5;;;;N;;;;;
+1D731;MATHEMATICAL BOLD ITALIC CAPITAL PHI;Lu;0;L;<font> 03A6;;;;N;;;;;
+1D732;MATHEMATICAL BOLD ITALIC CAPITAL CHI;Lu;0;L;<font> 03A7;;;;N;;;;;
+1D733;MATHEMATICAL BOLD ITALIC CAPITAL PSI;Lu;0;L;<font> 03A8;;;;N;;;;;
+1D734;MATHEMATICAL BOLD ITALIC CAPITAL OMEGA;Lu;0;L;<font> 03A9;;;;N;;;;;
+1D735;MATHEMATICAL BOLD ITALIC NABLA;Sm;0;L;<font> 2207;;;;N;;;;;
+1D736;MATHEMATICAL BOLD ITALIC SMALL ALPHA;Ll;0;L;<font> 03B1;;;;N;;;;;
+1D737;MATHEMATICAL BOLD ITALIC SMALL BETA;Ll;0;L;<font> 03B2;;;;N;;;;;
+1D738;MATHEMATICAL BOLD ITALIC SMALL GAMMA;Ll;0;L;<font> 03B3;;;;N;;;;;
+1D739;MATHEMATICAL BOLD ITALIC SMALL DELTA;Ll;0;L;<font> 03B4;;;;N;;;;;
+1D73A;MATHEMATICAL BOLD ITALIC SMALL EPSILON;Ll;0;L;<font> 03B5;;;;N;;;;;
+1D73B;MATHEMATICAL BOLD ITALIC SMALL ZETA;Ll;0;L;<font> 03B6;;;;N;;;;;
+1D73C;MATHEMATICAL BOLD ITALIC SMALL ETA;Ll;0;L;<font> 03B7;;;;N;;;;;
+1D73D;MATHEMATICAL BOLD ITALIC SMALL THETA;Ll;0;L;<font> 03B8;;;;N;;;;;
+1D73E;MATHEMATICAL BOLD ITALIC SMALL IOTA;Ll;0;L;<font> 03B9;;;;N;;;;;
+1D73F;MATHEMATICAL BOLD ITALIC SMALL KAPPA;Ll;0;L;<font> 03BA;;;;N;;;;;
+1D740;MATHEMATICAL BOLD ITALIC SMALL LAMDA;Ll;0;L;<font> 03BB;;;;N;;;;;
+1D741;MATHEMATICAL BOLD ITALIC SMALL MU;Ll;0;L;<font> 03BC;;;;N;;;;;
+1D742;MATHEMATICAL BOLD ITALIC SMALL NU;Ll;0;L;<font> 03BD;;;;N;;;;;
+1D743;MATHEMATICAL BOLD ITALIC SMALL XI;Ll;0;L;<font> 03BE;;;;N;;;;;
+1D744;MATHEMATICAL BOLD ITALIC SMALL OMICRON;Ll;0;L;<font> 03BF;;;;N;;;;;
+1D745;MATHEMATICAL BOLD ITALIC SMALL PI;Ll;0;L;<font> 03C0;;;;N;;;;;
+1D746;MATHEMATICAL BOLD ITALIC SMALL RHO;Ll;0;L;<font> 03C1;;;;N;;;;;
+1D747;MATHEMATICAL BOLD ITALIC SMALL FINAL SIGMA;Ll;0;L;<font> 03C2;;;;N;;;;;
+1D748;MATHEMATICAL BOLD ITALIC SMALL SIGMA;Ll;0;L;<font> 03C3;;;;N;;;;;
+1D749;MATHEMATICAL BOLD ITALIC SMALL TAU;Ll;0;L;<font> 03C4;;;;N;;;;;
+1D74A;MATHEMATICAL BOLD ITALIC SMALL UPSILON;Ll;0;L;<font> 03C5;;;;N;;;;;
+1D74B;MATHEMATICAL BOLD ITALIC SMALL PHI;Ll;0;L;<font> 03C6;;;;N;;;;;
+1D74C;MATHEMATICAL BOLD ITALIC SMALL CHI;Ll;0;L;<font> 03C7;;;;N;;;;;
+1D74D;MATHEMATICAL BOLD ITALIC SMALL PSI;Ll;0;L;<font> 03C8;;;;N;;;;;
+1D74E;MATHEMATICAL BOLD ITALIC SMALL OMEGA;Ll;0;L;<font> 03C9;;;;N;;;;;
+1D74F;MATHEMATICAL BOLD ITALIC PARTIAL DIFFERENTIAL;Sm;0;L;<font> 2202;;;;N;;;;;
+1D750;MATHEMATICAL BOLD ITALIC EPSILON SYMBOL;Ll;0;L;<font> 03F5;;;;N;;;;;
+1D751;MATHEMATICAL BOLD ITALIC THETA SYMBOL;Ll;0;L;<font> 03D1;;;;N;;;;;
+1D752;MATHEMATICAL BOLD ITALIC KAPPA SYMBOL;Ll;0;L;<font> 03F0;;;;N;;;;;
+1D753;MATHEMATICAL BOLD ITALIC PHI SYMBOL;Ll;0;L;<font> 03D5;;;;N;;;;;
+1D754;MATHEMATICAL BOLD ITALIC RHO SYMBOL;Ll;0;L;<font> 03F1;;;;N;;;;;
+1D755;MATHEMATICAL BOLD ITALIC PI SYMBOL;Ll;0;L;<font> 03D6;;;;N;;;;;
+1D756;MATHEMATICAL SANS-SERIF BOLD CAPITAL ALPHA;Lu;0;L;<font> 0391;;;;N;;;;;
+1D757;MATHEMATICAL SANS-SERIF BOLD CAPITAL BETA;Lu;0;L;<font> 0392;;;;N;;;;;
+1D758;MATHEMATICAL SANS-SERIF BOLD CAPITAL GAMMA;Lu;0;L;<font> 0393;;;;N;;;;;
+1D759;MATHEMATICAL SANS-SERIF BOLD CAPITAL DELTA;Lu;0;L;<font> 0394;;;;N;;;;;
+1D75A;MATHEMATICAL SANS-SERIF BOLD CAPITAL EPSILON;Lu;0;L;<font> 0395;;;;N;;;;;
+1D75B;MATHEMATICAL SANS-SERIF BOLD CAPITAL ZETA;Lu;0;L;<font> 0396;;;;N;;;;;
+1D75C;MATHEMATICAL SANS-SERIF BOLD CAPITAL ETA;Lu;0;L;<font> 0397;;;;N;;;;;
+1D75D;MATHEMATICAL SANS-SERIF BOLD CAPITAL THETA;Lu;0;L;<font> 0398;;;;N;;;;;
+1D75E;MATHEMATICAL SANS-SERIF BOLD CAPITAL IOTA;Lu;0;L;<font> 0399;;;;N;;;;;
+1D75F;MATHEMATICAL SANS-SERIF BOLD CAPITAL KAPPA;Lu;0;L;<font> 039A;;;;N;;;;;
+1D760;MATHEMATICAL SANS-SERIF BOLD CAPITAL LAMDA;Lu;0;L;<font> 039B;;;;N;;;;;
+1D761;MATHEMATICAL SANS-SERIF BOLD CAPITAL MU;Lu;0;L;<font> 039C;;;;N;;;;;
+1D762;MATHEMATICAL SANS-SERIF BOLD CAPITAL NU;Lu;0;L;<font> 039D;;;;N;;;;;
+1D763;MATHEMATICAL SANS-SERIF BOLD CAPITAL XI;Lu;0;L;<font> 039E;;;;N;;;;;
+1D764;MATHEMATICAL SANS-SERIF BOLD CAPITAL OMICRON;Lu;0;L;<font> 039F;;;;N;;;;;
+1D765;MATHEMATICAL SANS-SERIF BOLD CAPITAL PI;Lu;0;L;<font> 03A0;;;;N;;;;;
+1D766;MATHEMATICAL SANS-SERIF BOLD CAPITAL RHO;Lu;0;L;<font> 03A1;;;;N;;;;;
+1D767;MATHEMATICAL SANS-SERIF BOLD CAPITAL THETA SYMBOL;Lu;0;L;<font> 03F4;;;;N;;;;;
+1D768;MATHEMATICAL SANS-SERIF BOLD CAPITAL SIGMA;Lu;0;L;<font> 03A3;;;;N;;;;;
+1D769;MATHEMATICAL SANS-SERIF BOLD CAPITAL TAU;Lu;0;L;<font> 03A4;;;;N;;;;;
+1D76A;MATHEMATICAL SANS-SERIF BOLD CAPITAL UPSILON;Lu;0;L;<font> 03A5;;;;N;;;;;
+1D76B;MATHEMATICAL SANS-SERIF BOLD CAPITAL PHI;Lu;0;L;<font> 03A6;;;;N;;;;;
+1D76C;MATHEMATICAL SANS-SERIF BOLD CAPITAL CHI;Lu;0;L;<font> 03A7;;;;N;;;;;
+1D76D;MATHEMATICAL SANS-SERIF BOLD CAPITAL PSI;Lu;0;L;<font> 03A8;;;;N;;;;;
+1D76E;MATHEMATICAL SANS-SERIF BOLD CAPITAL OMEGA;Lu;0;L;<font> 03A9;;;;N;;;;;
+1D76F;MATHEMATICAL SANS-SERIF BOLD NABLA;Sm;0;L;<font> 2207;;;;N;;;;;
+1D770;MATHEMATICAL SANS-SERIF BOLD SMALL ALPHA;Ll;0;L;<font> 03B1;;;;N;;;;;
+1D771;MATHEMATICAL SANS-SERIF BOLD SMALL BETA;Ll;0;L;<font> 03B2;;;;N;;;;;
+1D772;MATHEMATICAL SANS-SERIF BOLD SMALL GAMMA;Ll;0;L;<font> 03B3;;;;N;;;;;
+1D773;MATHEMATICAL SANS-SERIF BOLD SMALL DELTA;Ll;0;L;<font> 03B4;;;;N;;;;;
+1D774;MATHEMATICAL SANS-SERIF BOLD SMALL EPSILON;Ll;0;L;<font> 03B5;;;;N;;;;;
+1D775;MATHEMATICAL SANS-SERIF BOLD SMALL ZETA;Ll;0;L;<font> 03B6;;;;N;;;;;
+1D776;MATHEMATICAL SANS-SERIF BOLD SMALL ETA;Ll;0;L;<font> 03B7;;;;N;;;;;
+1D777;MATHEMATICAL SANS-SERIF BOLD SMALL THETA;Ll;0;L;<font> 03B8;;;;N;;;;;
+1D778;MATHEMATICAL SANS-SERIF BOLD SMALL IOTA;Ll;0;L;<font> 03B9;;;;N;;;;;
+1D779;MATHEMATICAL SANS-SERIF BOLD SMALL KAPPA;Ll;0;L;<font> 03BA;;;;N;;;;;
+1D77A;MATHEMATICAL SANS-SERIF BOLD SMALL LAMDA;Ll;0;L;<font> 03BB;;;;N;;;;;
+1D77B;MATHEMATICAL SANS-SERIF BOLD SMALL MU;Ll;0;L;<font> 03BC;;;;N;;;;;
+1D77C;MATHEMATICAL SANS-SERIF BOLD SMALL NU;Ll;0;L;<font> 03BD;;;;N;;;;;
+1D77D;MATHEMATICAL SANS-SERIF BOLD SMALL XI;Ll;0;L;<font> 03BE;;;;N;;;;;
+1D77E;MATHEMATICAL SANS-SERIF BOLD SMALL OMICRON;Ll;0;L;<font> 03BF;;;;N;;;;;
+1D77F;MATHEMATICAL SANS-SERIF BOLD SMALL PI;Ll;0;L;<font> 03C0;;;;N;;;;;
+1D780;MATHEMATICAL SANS-SERIF BOLD SMALL RHO;Ll;0;L;<font> 03C1;;;;N;;;;;
+1D781;MATHEMATICAL SANS-SERIF BOLD SMALL FINAL SIGMA;Ll;0;L;<font> 03C2;;;;N;;;;;
+1D782;MATHEMATICAL SANS-SERIF BOLD SMALL SIGMA;Ll;0;L;<font> 03C3;;;;N;;;;;
+1D783;MATHEMATICAL SANS-SERIF BOLD SMALL TAU;Ll;0;L;<font> 03C4;;;;N;;;;;
+1D784;MATHEMATICAL SANS-SERIF BOLD SMALL UPSILON;Ll;0;L;<font> 03C5;;;;N;;;;;
+1D785;MATHEMATICAL SANS-SERIF BOLD SMALL PHI;Ll;0;L;<font> 03C6;;;;N;;;;;
+1D786;MATHEMATICAL SANS-SERIF BOLD SMALL CHI;Ll;0;L;<font> 03C7;;;;N;;;;;
+1D787;MATHEMATICAL SANS-SERIF BOLD SMALL PSI;Ll;0;L;<font> 03C8;;;;N;;;;;
+1D788;MATHEMATICAL SANS-SERIF BOLD SMALL OMEGA;Ll;0;L;<font> 03C9;;;;N;;;;;
+1D789;MATHEMATICAL SANS-SERIF BOLD PARTIAL DIFFERENTIAL;Sm;0;L;<font> 2202;;;;N;;;;;
+1D78A;MATHEMATICAL SANS-SERIF BOLD EPSILON SYMBOL;Ll;0;L;<font> 03F5;;;;N;;;;;
+1D78B;MATHEMATICAL SANS-SERIF BOLD THETA SYMBOL;Ll;0;L;<font> 03D1;;;;N;;;;;
+1D78C;MATHEMATICAL SANS-SERIF BOLD KAPPA SYMBOL;Ll;0;L;<font> 03F0;;;;N;;;;;
+1D78D;MATHEMATICAL SANS-SERIF BOLD PHI SYMBOL;Ll;0;L;<font> 03D5;;;;N;;;;;
+1D78E;MATHEMATICAL SANS-SERIF BOLD RHO SYMBOL;Ll;0;L;<font> 03F1;;;;N;;;;;
+1D78F;MATHEMATICAL SANS-SERIF BOLD PI SYMBOL;Ll;0;L;<font> 03D6;;;;N;;;;;
+1D790;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL ALPHA;Lu;0;L;<font> 0391;;;;N;;;;;
+1D791;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL BETA;Lu;0;L;<font> 0392;;;;N;;;;;
+1D792;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL GAMMA;Lu;0;L;<font> 0393;;;;N;;;;;
+1D793;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL DELTA;Lu;0;L;<font> 0394;;;;N;;;;;
+1D794;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL EPSILON;Lu;0;L;<font> 0395;;;;N;;;;;
+1D795;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL ZETA;Lu;0;L;<font> 0396;;;;N;;;;;
+1D796;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL ETA;Lu;0;L;<font> 0397;;;;N;;;;;
+1D797;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL THETA;Lu;0;L;<font> 0398;;;;N;;;;;
+1D798;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL IOTA;Lu;0;L;<font> 0399;;;;N;;;;;
+1D799;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL KAPPA;Lu;0;L;<font> 039A;;;;N;;;;;
+1D79A;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL LAMDA;Lu;0;L;<font> 039B;;;;N;;;;;
+1D79B;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL MU;Lu;0;L;<font> 039C;;;;N;;;;;
+1D79C;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL NU;Lu;0;L;<font> 039D;;;;N;;;;;
+1D79D;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL XI;Lu;0;L;<font> 039E;;;;N;;;;;
+1D79E;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL OMICRON;Lu;0;L;<font> 039F;;;;N;;;;;
+1D79F;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL PI;Lu;0;L;<font> 03A0;;;;N;;;;;
+1D7A0;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL RHO;Lu;0;L;<font> 03A1;;;;N;;;;;
+1D7A1;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL THETA SYMBOL;Lu;0;L;<font> 03F4;;;;N;;;;;
+1D7A2;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL SIGMA;Lu;0;L;<font> 03A3;;;;N;;;;;
+1D7A3;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL TAU;Lu;0;L;<font> 03A4;;;;N;;;;;
+1D7A4;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL UPSILON;Lu;0;L;<font> 03A5;;;;N;;;;;
+1D7A5;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL PHI;Lu;0;L;<font> 03A6;;;;N;;;;;
+1D7A6;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL CHI;Lu;0;L;<font> 03A7;;;;N;;;;;
+1D7A7;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL PSI;Lu;0;L;<font> 03A8;;;;N;;;;;
+1D7A8;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL OMEGA;Lu;0;L;<font> 03A9;;;;N;;;;;
+1D7A9;MATHEMATICAL SANS-SERIF BOLD ITALIC NABLA;Sm;0;L;<font> 2207;;;;N;;;;;
+1D7AA;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ALPHA;Ll;0;L;<font> 03B1;;;;N;;;;;
+1D7AB;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL BETA;Ll;0;L;<font> 03B2;;;;N;;;;;
+1D7AC;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL GAMMA;Ll;0;L;<font> 03B3;;;;N;;;;;
+1D7AD;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL DELTA;Ll;0;L;<font> 03B4;;;;N;;;;;
+1D7AE;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL EPSILON;Ll;0;L;<font> 03B5;;;;N;;;;;
+1D7AF;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ZETA;Ll;0;L;<font> 03B6;;;;N;;;;;
+1D7B0;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ETA;Ll;0;L;<font> 03B7;;;;N;;;;;
+1D7B1;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL THETA;Ll;0;L;<font> 03B8;;;;N;;;;;
+1D7B2;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL IOTA;Ll;0;L;<font> 03B9;;;;N;;;;;
+1D7B3;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL KAPPA;Ll;0;L;<font> 03BA;;;;N;;;;;
+1D7B4;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL LAMDA;Ll;0;L;<font> 03BB;;;;N;;;;;
+1D7B5;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL MU;Ll;0;L;<font> 03BC;;;;N;;;;;
+1D7B6;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL NU;Ll;0;L;<font> 03BD;;;;N;;;;;
+1D7B7;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL XI;Ll;0;L;<font> 03BE;;;;N;;;;;
+1D7B8;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL OMICRON;Ll;0;L;<font> 03BF;;;;N;;;;;
+1D7B9;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL PI;Ll;0;L;<font> 03C0;;;;N;;;;;
+1D7BA;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL RHO;Ll;0;L;<font> 03C1;;;;N;;;;;
+1D7BB;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL FINAL SIGMA;Ll;0;L;<font> 03C2;;;;N;;;;;
+1D7BC;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL SIGMA;Ll;0;L;<font> 03C3;;;;N;;;;;
+1D7BD;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL TAU;Ll;0;L;<font> 03C4;;;;N;;;;;
+1D7BE;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL UPSILON;Ll;0;L;<font> 03C5;;;;N;;;;;
+1D7BF;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL PHI;Ll;0;L;<font> 03C6;;;;N;;;;;
+1D7C0;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL CHI;Ll;0;L;<font> 03C7;;;;N;;;;;
+1D7C1;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL PSI;Ll;0;L;<font> 03C8;;;;N;;;;;
+1D7C2;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL OMEGA;Ll;0;L;<font> 03C9;;;;N;;;;;
+1D7C3;MATHEMATICAL SANS-SERIF BOLD ITALIC PARTIAL DIFFERENTIAL;Sm;0;L;<font> 2202;;;;N;;;;;
+1D7C4;MATHEMATICAL SANS-SERIF BOLD ITALIC EPSILON SYMBOL;Ll;0;L;<font> 03F5;;;;N;;;;;
+1D7C5;MATHEMATICAL SANS-SERIF BOLD ITALIC THETA SYMBOL;Ll;0;L;<font> 03D1;;;;N;;;;;
+1D7C6;MATHEMATICAL SANS-SERIF BOLD ITALIC KAPPA SYMBOL;Ll;0;L;<font> 03F0;;;;N;;;;;
+1D7C7;MATHEMATICAL SANS-SERIF BOLD ITALIC PHI SYMBOL;Ll;0;L;<font> 03D5;;;;N;;;;;
+1D7C8;MATHEMATICAL SANS-SERIF BOLD ITALIC RHO SYMBOL;Ll;0;L;<font> 03F1;;;;N;;;;;
+1D7C9;MATHEMATICAL SANS-SERIF BOLD ITALIC PI SYMBOL;Ll;0;L;<font> 03D6;;;;N;;;;;
+1D7CE;MATHEMATICAL BOLD DIGIT ZERO;Nd;0;EN;<font> 0030;0;0;0;N;;;;;
+1D7CF;MATHEMATICAL BOLD DIGIT ONE;Nd;0;EN;<font> 0031;1;1;1;N;;;;;
+1D7D0;MATHEMATICAL BOLD DIGIT TWO;Nd;0;EN;<font> 0032;2;2;2;N;;;;;
+1D7D1;MATHEMATICAL BOLD DIGIT THREE;Nd;0;EN;<font> 0033;3;3;3;N;;;;;
+1D7D2;MATHEMATICAL BOLD DIGIT FOUR;Nd;0;EN;<font> 0034;4;4;4;N;;;;;
+1D7D3;MATHEMATICAL BOLD DIGIT FIVE;Nd;0;EN;<font> 0035;5;5;5;N;;;;;
+1D7D4;MATHEMATICAL BOLD DIGIT SIX;Nd;0;EN;<font> 0036;6;6;6;N;;;;;
+1D7D5;MATHEMATICAL BOLD DIGIT SEVEN;Nd;0;EN;<font> 0037;7;7;7;N;;;;;
+1D7D6;MATHEMATICAL BOLD DIGIT EIGHT;Nd;0;EN;<font> 0038;8;8;8;N;;;;;
+1D7D7;MATHEMATICAL BOLD DIGIT NINE;Nd;0;EN;<font> 0039;9;9;9;N;;;;;
+1D7D8;MATHEMATICAL DOUBLE-STRUCK DIGIT ZERO;Nd;0;EN;<font> 0030;0;0;0;N;;;;;
+1D7D9;MATHEMATICAL DOUBLE-STRUCK DIGIT ONE;Nd;0;EN;<font> 0031;1;1;1;N;;;;;
+1D7DA;MATHEMATICAL DOUBLE-STRUCK DIGIT TWO;Nd;0;EN;<font> 0032;2;2;2;N;;;;;
+1D7DB;MATHEMATICAL DOUBLE-STRUCK DIGIT THREE;Nd;0;EN;<font> 0033;3;3;3;N;;;;;
+1D7DC;MATHEMATICAL DOUBLE-STRUCK DIGIT FOUR;Nd;0;EN;<font> 0034;4;4;4;N;;;;;
+1D7DD;MATHEMATICAL DOUBLE-STRUCK DIGIT FIVE;Nd;0;EN;<font> 0035;5;5;5;N;;;;;
+1D7DE;MATHEMATICAL DOUBLE-STRUCK DIGIT SIX;Nd;0;EN;<font> 0036;6;6;6;N;;;;;
+1D7DF;MATHEMATICAL DOUBLE-STRUCK DIGIT SEVEN;Nd;0;EN;<font> 0037;7;7;7;N;;;;;
+1D7E0;MATHEMATICAL DOUBLE-STRUCK DIGIT EIGHT;Nd;0;EN;<font> 0038;8;8;8;N;;;;;
+1D7E1;MATHEMATICAL DOUBLE-STRUCK DIGIT NINE;Nd;0;EN;<font> 0039;9;9;9;N;;;;;
+1D7E2;MATHEMATICAL SANS-SERIF DIGIT ZERO;Nd;0;EN;<font> 0030;0;0;0;N;;;;;
+1D7E3;MATHEMATICAL SANS-SERIF DIGIT ONE;Nd;0;EN;<font> 0031;1;1;1;N;;;;;
+1D7E4;MATHEMATICAL SANS-SERIF DIGIT TWO;Nd;0;EN;<font> 0032;2;2;2;N;;;;;
+1D7E5;MATHEMATICAL SANS-SERIF DIGIT THREE;Nd;0;EN;<font> 0033;3;3;3;N;;;;;
+1D7E6;MATHEMATICAL SANS-SERIF DIGIT FOUR;Nd;0;EN;<font> 0034;4;4;4;N;;;;;
+1D7E7;MATHEMATICAL SANS-SERIF DIGIT FIVE;Nd;0;EN;<font> 0035;5;5;5;N;;;;;
+1D7E8;MATHEMATICAL SANS-SERIF DIGIT SIX;Nd;0;EN;<font> 0036;6;6;6;N;;;;;
+1D7E9;MATHEMATICAL SANS-SERIF DIGIT SEVEN;Nd;0;EN;<font> 0037;7;7;7;N;;;;;
+1D7EA;MATHEMATICAL SANS-SERIF DIGIT EIGHT;Nd;0;EN;<font> 0038;8;8;8;N;;;;;
+1D7EB;MATHEMATICAL SANS-SERIF DIGIT NINE;Nd;0;EN;<font> 0039;9;9;9;N;;;;;
+1D7EC;MATHEMATICAL SANS-SERIF BOLD DIGIT ZERO;Nd;0;EN;<font> 0030;0;0;0;N;;;;;
+1D7ED;MATHEMATICAL SANS-SERIF BOLD DIGIT ONE;Nd;0;EN;<font> 0031;1;1;1;N;;;;;
+1D7EE;MATHEMATICAL SANS-SERIF BOLD DIGIT TWO;Nd;0;EN;<font> 0032;2;2;2;N;;;;;
+1D7EF;MATHEMATICAL SANS-SERIF BOLD DIGIT THREE;Nd;0;EN;<font> 0033;3;3;3;N;;;;;
+1D7F0;MATHEMATICAL SANS-SERIF BOLD DIGIT FOUR;Nd;0;EN;<font> 0034;4;4;4;N;;;;;
+1D7F1;MATHEMATICAL SANS-SERIF BOLD DIGIT FIVE;Nd;0;EN;<font> 0035;5;5;5;N;;;;;
+1D7F2;MATHEMATICAL SANS-SERIF BOLD DIGIT SIX;Nd;0;EN;<font> 0036;6;6;6;N;;;;;
+1D7F3;MATHEMATICAL SANS-SERIF BOLD DIGIT SEVEN;Nd;0;EN;<font> 0037;7;7;7;N;;;;;
+1D7F4;MATHEMATICAL SANS-SERIF BOLD DIGIT EIGHT;Nd;0;EN;<font> 0038;8;8;8;N;;;;;
+1D7F5;MATHEMATICAL SANS-SERIF BOLD DIGIT NINE;Nd;0;EN;<font> 0039;9;9;9;N;;;;;
+1D7F6;MATHEMATICAL MONOSPACE DIGIT ZERO;Nd;0;EN;<font> 0030;0;0;0;N;;;;;
+1D7F7;MATHEMATICAL MONOSPACE DIGIT ONE;Nd;0;EN;<font> 0031;1;1;1;N;;;;;
+1D7F8;MATHEMATICAL MONOSPACE DIGIT TWO;Nd;0;EN;<font> 0032;2;2;2;N;;;;;
+1D7F9;MATHEMATICAL MONOSPACE DIGIT THREE;Nd;0;EN;<font> 0033;3;3;3;N;;;;;
+1D7FA;MATHEMATICAL MONOSPACE DIGIT FOUR;Nd;0;EN;<font> 0034;4;4;4;N;;;;;
+1D7FB;MATHEMATICAL MONOSPACE DIGIT FIVE;Nd;0;EN;<font> 0035;5;5;5;N;;;;;
+1D7FC;MATHEMATICAL MONOSPACE DIGIT SIX;Nd;0;EN;<font> 0036;6;6;6;N;;;;;
+1D7FD;MATHEMATICAL MONOSPACE DIGIT SEVEN;Nd;0;EN;<font> 0037;7;7;7;N;;;;;
+1D7FE;MATHEMATICAL MONOSPACE DIGIT EIGHT;Nd;0;EN;<font> 0038;8;8;8;N;;;;;
+1D7FF;MATHEMATICAL MONOSPACE DIGIT NINE;Nd;0;EN;<font> 0039;9;9;9;N;;;;;
+20000;<CJK Ideograph Extension B, First>;Lo;0;L;;;;;N;;;;;
+2A6D6;<CJK Ideograph Extension B, Last>;Lo;0;L;;;;;N;;;;;
+2F800;CJK COMPATIBILITY IDEOGRAPH-2F800;Lo;0;L;4E3D;;;;N;;;;;
+2F801;CJK COMPATIBILITY IDEOGRAPH-2F801;Lo;0;L;4E38;;;;N;;;;;
+2F802;CJK COMPATIBILITY IDEOGRAPH-2F802;Lo;0;L;4E41;;;;N;;;;;
+2F803;CJK COMPATIBILITY IDEOGRAPH-2F803;Lo;0;L;20122;;;;N;;;;;
+2F804;CJK COMPATIBILITY IDEOGRAPH-2F804;Lo;0;L;4F60;;;;N;;;;;
+2F805;CJK COMPATIBILITY IDEOGRAPH-2F805;Lo;0;L;4FAE;;;;N;;;;;
+2F806;CJK COMPATIBILITY IDEOGRAPH-2F806;Lo;0;L;4FBB;;;;N;;;;;
+2F807;CJK COMPATIBILITY IDEOGRAPH-2F807;Lo;0;L;5002;;;;N;;;;;
+2F808;CJK COMPATIBILITY IDEOGRAPH-2F808;Lo;0;L;507A;;;;N;;;;;
+2F809;CJK COMPATIBILITY IDEOGRAPH-2F809;Lo;0;L;5099;;;;N;;;;;
+2F80A;CJK COMPATIBILITY IDEOGRAPH-2F80A;Lo;0;L;50E7;;;;N;;;;;
+2F80B;CJK COMPATIBILITY IDEOGRAPH-2F80B;Lo;0;L;50CF;;;;N;;;;;
+2F80C;CJK COMPATIBILITY IDEOGRAPH-2F80C;Lo;0;L;349E;;;;N;;;;;
+2F80D;CJK COMPATIBILITY IDEOGRAPH-2F80D;Lo;0;L;2063A;;;;N;;;;;
+2F80E;CJK COMPATIBILITY IDEOGRAPH-2F80E;Lo;0;L;514D;;;;N;;;;;
+2F80F;CJK COMPATIBILITY IDEOGRAPH-2F80F;Lo;0;L;5154;;;;N;;;;;
+2F810;CJK COMPATIBILITY IDEOGRAPH-2F810;Lo;0;L;5164;;;;N;;;;;
+2F811;CJK COMPATIBILITY IDEOGRAPH-2F811;Lo;0;L;5177;;;;N;;;;;
+2F812;CJK COMPATIBILITY IDEOGRAPH-2F812;Lo;0;L;2051C;;;;N;;;;;
+2F813;CJK COMPATIBILITY IDEOGRAPH-2F813;Lo;0;L;34B9;;;;N;;;;;
+2F814;CJK COMPATIBILITY IDEOGRAPH-2F814;Lo;0;L;5167;;;;N;;;;;
+2F815;CJK COMPATIBILITY IDEOGRAPH-2F815;Lo;0;L;518D;;;;N;;;;;
+2F816;CJK COMPATIBILITY IDEOGRAPH-2F816;Lo;0;L;2054B;;;;N;;;;;
+2F817;CJK COMPATIBILITY IDEOGRAPH-2F817;Lo;0;L;5197;;;;N;;;;;
+2F818;CJK COMPATIBILITY IDEOGRAPH-2F818;Lo;0;L;51A4;;;;N;;;;;
+2F819;CJK COMPATIBILITY IDEOGRAPH-2F819;Lo;0;L;4ECC;;;;N;;;;;
+2F81A;CJK COMPATIBILITY IDEOGRAPH-2F81A;Lo;0;L;51AC;;;;N;;;;;
+2F81B;CJK COMPATIBILITY IDEOGRAPH-2F81B;Lo;0;L;51B5;;;;N;;;;;
+2F81C;CJK COMPATIBILITY IDEOGRAPH-2F81C;Lo;0;L;291DF;;;;N;;;;;
+2F81D;CJK COMPATIBILITY IDEOGRAPH-2F81D;Lo;0;L;51F5;;;;N;;;;;
+2F81E;CJK COMPATIBILITY IDEOGRAPH-2F81E;Lo;0;L;5203;;;;N;;;;;
+2F81F;CJK COMPATIBILITY IDEOGRAPH-2F81F;Lo;0;L;34DF;;;;N;;;;;
+2F820;CJK COMPATIBILITY IDEOGRAPH-2F820;Lo;0;L;523B;;;;N;;;;;
+2F821;CJK COMPATIBILITY IDEOGRAPH-2F821;Lo;0;L;5246;;;;N;;;;;
+2F822;CJK COMPATIBILITY IDEOGRAPH-2F822;Lo;0;L;5272;;;;N;;;;;
+2F823;CJK COMPATIBILITY IDEOGRAPH-2F823;Lo;0;L;5277;;;;N;;;;;
+2F824;CJK COMPATIBILITY IDEOGRAPH-2F824;Lo;0;L;3515;;;;N;;;;;
+2F825;CJK COMPATIBILITY IDEOGRAPH-2F825;Lo;0;L;52C7;;;;N;;;;;
+2F826;CJK COMPATIBILITY IDEOGRAPH-2F826;Lo;0;L;52C9;;;;N;;;;;
+2F827;CJK COMPATIBILITY IDEOGRAPH-2F827;Lo;0;L;52E4;;;;N;;;;;
+2F828;CJK COMPATIBILITY IDEOGRAPH-2F828;Lo;0;L;52FA;;;;N;;;;;
+2F829;CJK COMPATIBILITY IDEOGRAPH-2F829;Lo;0;L;5305;;;;N;;;;;
+2F82A;CJK COMPATIBILITY IDEOGRAPH-2F82A;Lo;0;L;5306;;;;N;;;;;
+2F82B;CJK COMPATIBILITY IDEOGRAPH-2F82B;Lo;0;L;5317;;;;N;;;;;
+2F82C;CJK COMPATIBILITY IDEOGRAPH-2F82C;Lo;0;L;5349;;;;N;;;;;
+2F82D;CJK COMPATIBILITY IDEOGRAPH-2F82D;Lo;0;L;5351;;;;N;;;;;
+2F82E;CJK COMPATIBILITY IDEOGRAPH-2F82E;Lo;0;L;535A;;;;N;;;;;
+2F82F;CJK COMPATIBILITY IDEOGRAPH-2F82F;Lo;0;L;5373;;;;N;;;;;
+2F830;CJK COMPATIBILITY IDEOGRAPH-2F830;Lo;0;L;537D;;;;N;;;;;
+2F831;CJK COMPATIBILITY IDEOGRAPH-2F831;Lo;0;L;537F;;;;N;;;;;
+2F832;CJK COMPATIBILITY IDEOGRAPH-2F832;Lo;0;L;537F;;;;N;;;;;
+2F833;CJK COMPATIBILITY IDEOGRAPH-2F833;Lo;0;L;537F;;;;N;;;;;
+2F834;CJK COMPATIBILITY IDEOGRAPH-2F834;Lo;0;L;20A2C;;;;N;;;;;
+2F835;CJK COMPATIBILITY IDEOGRAPH-2F835;Lo;0;L;7070;;;;N;;;;;
+2F836;CJK COMPATIBILITY IDEOGRAPH-2F836;Lo;0;L;53CA;;;;N;;;;;
+2F837;CJK COMPATIBILITY IDEOGRAPH-2F837;Lo;0;L;53DF;;;;N;;;;;
+2F838;CJK COMPATIBILITY IDEOGRAPH-2F838;Lo;0;L;20B63;;;;N;;;;;
+2F839;CJK COMPATIBILITY IDEOGRAPH-2F839;Lo;0;L;53EB;;;;N;;;;;
+2F83A;CJK COMPATIBILITY IDEOGRAPH-2F83A;Lo;0;L;53F1;;;;N;;;;;
+2F83B;CJK COMPATIBILITY IDEOGRAPH-2F83B;Lo;0;L;5406;;;;N;;;;;
+2F83C;CJK COMPATIBILITY IDEOGRAPH-2F83C;Lo;0;L;549E;;;;N;;;;;
+2F83D;CJK COMPATIBILITY IDEOGRAPH-2F83D;Lo;0;L;5438;;;;N;;;;;
+2F83E;CJK COMPATIBILITY IDEOGRAPH-2F83E;Lo;0;L;5448;;;;N;;;;;
+2F83F;CJK COMPATIBILITY IDEOGRAPH-2F83F;Lo;0;L;5468;;;;N;;;;;
+2F840;CJK COMPATIBILITY IDEOGRAPH-2F840;Lo;0;L;54A2;;;;N;;;;;
+2F841;CJK COMPATIBILITY IDEOGRAPH-2F841;Lo;0;L;54F6;;;;N;;;;;
+2F842;CJK COMPATIBILITY IDEOGRAPH-2F842;Lo;0;L;5510;;;;N;;;;;
+2F843;CJK COMPATIBILITY IDEOGRAPH-2F843;Lo;0;L;5553;;;;N;;;;;
+2F844;CJK COMPATIBILITY IDEOGRAPH-2F844;Lo;0;L;5563;;;;N;;;;;
+2F845;CJK COMPATIBILITY IDEOGRAPH-2F845;Lo;0;L;5584;;;;N;;;;;
+2F846;CJK COMPATIBILITY IDEOGRAPH-2F846;Lo;0;L;5584;;;;N;;;;;
+2F847;CJK COMPATIBILITY IDEOGRAPH-2F847;Lo;0;L;5599;;;;N;;;;;
+2F848;CJK COMPATIBILITY IDEOGRAPH-2F848;Lo;0;L;55AB;;;;N;;;;;
+2F849;CJK COMPATIBILITY IDEOGRAPH-2F849;Lo;0;L;55B3;;;;N;;;;;
+2F84A;CJK COMPATIBILITY IDEOGRAPH-2F84A;Lo;0;L;55C2;;;;N;;;;;
+2F84B;CJK COMPATIBILITY IDEOGRAPH-2F84B;Lo;0;L;5716;;;;N;;;;;
+2F84C;CJK COMPATIBILITY IDEOGRAPH-2F84C;Lo;0;L;5606;;;;N;;;;;
+2F84D;CJK COMPATIBILITY IDEOGRAPH-2F84D;Lo;0;L;5717;;;;N;;;;;
+2F84E;CJK COMPATIBILITY IDEOGRAPH-2F84E;Lo;0;L;5651;;;;N;;;;;
+2F84F;CJK COMPATIBILITY IDEOGRAPH-2F84F;Lo;0;L;5674;;;;N;;;;;
+2F850;CJK COMPATIBILITY IDEOGRAPH-2F850;Lo;0;L;5207;;;;N;;;;;
+2F851;CJK COMPATIBILITY IDEOGRAPH-2F851;Lo;0;L;58EE;;;;N;;;;;
+2F852;CJK COMPATIBILITY IDEOGRAPH-2F852;Lo;0;L;57CE;;;;N;;;;;
+2F853;CJK COMPATIBILITY IDEOGRAPH-2F853;Lo;0;L;57F4;;;;N;;;;;
+2F854;CJK COMPATIBILITY IDEOGRAPH-2F854;Lo;0;L;580D;;;;N;;;;;
+2F855;CJK COMPATIBILITY IDEOGRAPH-2F855;Lo;0;L;578B;;;;N;;;;;
+2F856;CJK COMPATIBILITY IDEOGRAPH-2F856;Lo;0;L;5832;;;;N;;;;;
+2F857;CJK COMPATIBILITY IDEOGRAPH-2F857;Lo;0;L;5831;;;;N;;;;;
+2F858;CJK COMPATIBILITY IDEOGRAPH-2F858;Lo;0;L;58AC;;;;N;;;;;
+2F859;CJK COMPATIBILITY IDEOGRAPH-2F859;Lo;0;L;214E4;;;;N;;;;;
+2F85A;CJK COMPATIBILITY IDEOGRAPH-2F85A;Lo;0;L;58F2;;;;N;;;;;
+2F85B;CJK COMPATIBILITY IDEOGRAPH-2F85B;Lo;0;L;58F7;;;;N;;;;;
+2F85C;CJK COMPATIBILITY IDEOGRAPH-2F85C;Lo;0;L;5906;;;;N;;;;;
+2F85D;CJK COMPATIBILITY IDEOGRAPH-2F85D;Lo;0;L;591A;;;;N;;;;;
+2F85E;CJK COMPATIBILITY IDEOGRAPH-2F85E;Lo;0;L;5922;;;;N;;;;;
+2F85F;CJK COMPATIBILITY IDEOGRAPH-2F85F;Lo;0;L;5962;;;;N;;;;;
+2F860;CJK COMPATIBILITY IDEOGRAPH-2F860;Lo;0;L;216A8;;;;N;;;;;
+2F861;CJK COMPATIBILITY IDEOGRAPH-2F861;Lo;0;L;216EA;;;;N;;;;;
+2F862;CJK COMPATIBILITY IDEOGRAPH-2F862;Lo;0;L;59EC;;;;N;;;;;
+2F863;CJK COMPATIBILITY IDEOGRAPH-2F863;Lo;0;L;5A1B;;;;N;;;;;
+2F864;CJK COMPATIBILITY IDEOGRAPH-2F864;Lo;0;L;5A27;;;;N;;;;;
+2F865;CJK COMPATIBILITY IDEOGRAPH-2F865;Lo;0;L;59D8;;;;N;;;;;
+2F866;CJK COMPATIBILITY IDEOGRAPH-2F866;Lo;0;L;5A66;;;;N;;;;;
+2F867;CJK COMPATIBILITY IDEOGRAPH-2F867;Lo;0;L;36EE;;;;N;;;;;
+2F868;CJK COMPATIBILITY IDEOGRAPH-2F868;Lo;0;L;36FC;;;;N;;;;;
+2F869;CJK COMPATIBILITY IDEOGRAPH-2F869;Lo;0;L;5B08;;;;N;;;;;
+2F86A;CJK COMPATIBILITY IDEOGRAPH-2F86A;Lo;0;L;5B3E;;;;N;;;;;
+2F86B;CJK COMPATIBILITY IDEOGRAPH-2F86B;Lo;0;L;5B3E;;;;N;;;;;
+2F86C;CJK COMPATIBILITY IDEOGRAPH-2F86C;Lo;0;L;219C8;;;;N;;;;;
+2F86D;CJK COMPATIBILITY IDEOGRAPH-2F86D;Lo;0;L;5BC3;;;;N;;;;;
+2F86E;CJK COMPATIBILITY IDEOGRAPH-2F86E;Lo;0;L;5BD8;;;;N;;;;;
+2F86F;CJK COMPATIBILITY IDEOGRAPH-2F86F;Lo;0;L;5BE7;;;;N;;;;;
+2F870;CJK COMPATIBILITY IDEOGRAPH-2F870;Lo;0;L;5BF3;;;;N;;;;;
+2F871;CJK COMPATIBILITY IDEOGRAPH-2F871;Lo;0;L;21B18;;;;N;;;;;
+2F872;CJK COMPATIBILITY IDEOGRAPH-2F872;Lo;0;L;5BFF;;;;N;;;;;
+2F873;CJK COMPATIBILITY IDEOGRAPH-2F873;Lo;0;L;5C06;;;;N;;;;;
+2F874;CJK COMPATIBILITY IDEOGRAPH-2F874;Lo;0;L;5F53;;;;N;;;;;
+2F875;CJK COMPATIBILITY IDEOGRAPH-2F875;Lo;0;L;5C22;;;;N;;;;;
+2F876;CJK COMPATIBILITY IDEOGRAPH-2F876;Lo;0;L;3781;;;;N;;;;;
+2F877;CJK COMPATIBILITY IDEOGRAPH-2F877;Lo;0;L;5C60;;;;N;;;;;
+2F878;CJK COMPATIBILITY IDEOGRAPH-2F878;Lo;0;L;5C6E;;;;N;;;;;
+2F879;CJK COMPATIBILITY IDEOGRAPH-2F879;Lo;0;L;5CC0;;;;N;;;;;
+2F87A;CJK COMPATIBILITY IDEOGRAPH-2F87A;Lo;0;L;5C8D;;;;N;;;;;
+2F87B;CJK COMPATIBILITY IDEOGRAPH-2F87B;Lo;0;L;21DE4;;;;N;;;;;
+2F87C;CJK COMPATIBILITY IDEOGRAPH-2F87C;Lo;0;L;5D43;;;;N;;;;;
+2F87D;CJK COMPATIBILITY IDEOGRAPH-2F87D;Lo;0;L;21DE6;;;;N;;;;;
+2F87E;CJK COMPATIBILITY IDEOGRAPH-2F87E;Lo;0;L;5D6E;;;;N;;;;;
+2F87F;CJK COMPATIBILITY IDEOGRAPH-2F87F;Lo;0;L;5D6B;;;;N;;;;;
+2F880;CJK COMPATIBILITY IDEOGRAPH-2F880;Lo;0;L;5D7C;;;;N;;;;;
+2F881;CJK COMPATIBILITY IDEOGRAPH-2F881;Lo;0;L;5DE1;;;;N;;;;;
+2F882;CJK COMPATIBILITY IDEOGRAPH-2F882;Lo;0;L;5DE2;;;;N;;;;;
+2F883;CJK COMPATIBILITY IDEOGRAPH-2F883;Lo;0;L;382F;;;;N;;;;;
+2F884;CJK COMPATIBILITY IDEOGRAPH-2F884;Lo;0;L;5DFD;;;;N;;;;;
+2F885;CJK COMPATIBILITY IDEOGRAPH-2F885;Lo;0;L;5E28;;;;N;;;;;
+2F886;CJK COMPATIBILITY IDEOGRAPH-2F886;Lo;0;L;5E3D;;;;N;;;;;
+2F887;CJK COMPATIBILITY IDEOGRAPH-2F887;Lo;0;L;5E69;;;;N;;;;;
+2F888;CJK COMPATIBILITY IDEOGRAPH-2F888;Lo;0;L;3862;;;;N;;;;;
+2F889;CJK COMPATIBILITY IDEOGRAPH-2F889;Lo;0;L;22183;;;;N;;;;;
+2F88A;CJK COMPATIBILITY IDEOGRAPH-2F88A;Lo;0;L;387C;;;;N;;;;;
+2F88B;CJK COMPATIBILITY IDEOGRAPH-2F88B;Lo;0;L;5EB0;;;;N;;;;;
+2F88C;CJK COMPATIBILITY IDEOGRAPH-2F88C;Lo;0;L;5EB3;;;;N;;;;;
+2F88D;CJK COMPATIBILITY IDEOGRAPH-2F88D;Lo;0;L;5EB6;;;;N;;;;;
+2F88E;CJK COMPATIBILITY IDEOGRAPH-2F88E;Lo;0;L;5ECA;;;;N;;;;;
+2F88F;CJK COMPATIBILITY IDEOGRAPH-2F88F;Lo;0;L;2A392;;;;N;;;;;
+2F890;CJK COMPATIBILITY IDEOGRAPH-2F890;Lo;0;L;5EFE;;;;N;;;;;
+2F891;CJK COMPATIBILITY IDEOGRAPH-2F891;Lo;0;L;22331;;;;N;;;;;
+2F892;CJK COMPATIBILITY IDEOGRAPH-2F892;Lo;0;L;22331;;;;N;;;;;
+2F893;CJK COMPATIBILITY IDEOGRAPH-2F893;Lo;0;L;8201;;;;N;;;;;
+2F894;CJK COMPATIBILITY IDEOGRAPH-2F894;Lo;0;L;5F22;;;;N;;;;;
+2F895;CJK COMPATIBILITY IDEOGRAPH-2F895;Lo;0;L;5F22;;;;N;;;;;
+2F896;CJK COMPATIBILITY IDEOGRAPH-2F896;Lo;0;L;38C7;;;;N;;;;;
+2F897;CJK COMPATIBILITY IDEOGRAPH-2F897;Lo;0;L;232B8;;;;N;;;;;
+2F898;CJK COMPATIBILITY IDEOGRAPH-2F898;Lo;0;L;261DA;;;;N;;;;;
+2F899;CJK COMPATIBILITY IDEOGRAPH-2F899;Lo;0;L;5F62;;;;N;;;;;
+2F89A;CJK COMPATIBILITY IDEOGRAPH-2F89A;Lo;0;L;5F6B;;;;N;;;;;
+2F89B;CJK COMPATIBILITY IDEOGRAPH-2F89B;Lo;0;L;38E3;;;;N;;;;;
+2F89C;CJK COMPATIBILITY IDEOGRAPH-2F89C;Lo;0;L;5F9A;;;;N;;;;;
+2F89D;CJK COMPATIBILITY IDEOGRAPH-2F89D;Lo;0;L;5FCD;;;;N;;;;;
+2F89E;CJK COMPATIBILITY IDEOGRAPH-2F89E;Lo;0;L;5FD7;;;;N;;;;;
+2F89F;CJK COMPATIBILITY IDEOGRAPH-2F89F;Lo;0;L;5FF9;;;;N;;;;;
+2F8A0;CJK COMPATIBILITY IDEOGRAPH-2F8A0;Lo;0;L;6081;;;;N;;;;;
+2F8A1;CJK COMPATIBILITY IDEOGRAPH-2F8A1;Lo;0;L;393A;;;;N;;;;;
+2F8A2;CJK COMPATIBILITY IDEOGRAPH-2F8A2;Lo;0;L;391C;;;;N;;;;;
+2F8A3;CJK COMPATIBILITY IDEOGRAPH-2F8A3;Lo;0;L;6094;;;;N;;;;;
+2F8A4;CJK COMPATIBILITY IDEOGRAPH-2F8A4;Lo;0;L;226D4;;;;N;;;;;
+2F8A5;CJK COMPATIBILITY IDEOGRAPH-2F8A5;Lo;0;L;60C7;;;;N;;;;;
+2F8A6;CJK COMPATIBILITY IDEOGRAPH-2F8A6;Lo;0;L;6148;;;;N;;;;;
+2F8A7;CJK COMPATIBILITY IDEOGRAPH-2F8A7;Lo;0;L;614C;;;;N;;;;;
+2F8A8;CJK COMPATIBILITY IDEOGRAPH-2F8A8;Lo;0;L;614E;;;;N;;;;;
+2F8A9;CJK COMPATIBILITY IDEOGRAPH-2F8A9;Lo;0;L;614C;;;;N;;;;;
+2F8AA;CJK COMPATIBILITY IDEOGRAPH-2F8AA;Lo;0;L;617A;;;;N;;;;;
+2F8AB;CJK COMPATIBILITY IDEOGRAPH-2F8AB;Lo;0;L;618E;;;;N;;;;;
+2F8AC;CJK COMPATIBILITY IDEOGRAPH-2F8AC;Lo;0;L;61B2;;;;N;;;;;
+2F8AD;CJK COMPATIBILITY IDEOGRAPH-2F8AD;Lo;0;L;61A4;;;;N;;;;;
+2F8AE;CJK COMPATIBILITY IDEOGRAPH-2F8AE;Lo;0;L;61AF;;;;N;;;;;
+2F8AF;CJK COMPATIBILITY IDEOGRAPH-2F8AF;Lo;0;L;61DE;;;;N;;;;;
+2F8B0;CJK COMPATIBILITY IDEOGRAPH-2F8B0;Lo;0;L;61F2;;;;N;;;;;
+2F8B1;CJK COMPATIBILITY IDEOGRAPH-2F8B1;Lo;0;L;61F6;;;;N;;;;;
+2F8B2;CJK COMPATIBILITY IDEOGRAPH-2F8B2;Lo;0;L;6210;;;;N;;;;;
+2F8B3;CJK COMPATIBILITY IDEOGRAPH-2F8B3;Lo;0;L;621B;;;;N;;;;;
+2F8B4;CJK COMPATIBILITY IDEOGRAPH-2F8B4;Lo;0;L;625D;;;;N;;;;;
+2F8B5;CJK COMPATIBILITY IDEOGRAPH-2F8B5;Lo;0;L;62B1;;;;N;;;;;
+2F8B6;CJK COMPATIBILITY IDEOGRAPH-2F8B6;Lo;0;L;62D4;;;;N;;;;;
+2F8B7;CJK COMPATIBILITY IDEOGRAPH-2F8B7;Lo;0;L;6350;;;;N;;;;;
+2F8B8;CJK COMPATIBILITY IDEOGRAPH-2F8B8;Lo;0;L;22B0C;;;;N;;;;;
+2F8B9;CJK COMPATIBILITY IDEOGRAPH-2F8B9;Lo;0;L;633D;;;;N;;;;;
+2F8BA;CJK COMPATIBILITY IDEOGRAPH-2F8BA;Lo;0;L;62FC;;;;N;;;;;
+2F8BB;CJK COMPATIBILITY IDEOGRAPH-2F8BB;Lo;0;L;6368;;;;N;;;;;
+2F8BC;CJK COMPATIBILITY IDEOGRAPH-2F8BC;Lo;0;L;6383;;;;N;;;;;
+2F8BD;CJK COMPATIBILITY IDEOGRAPH-2F8BD;Lo;0;L;63E4;;;;N;;;;;
+2F8BE;CJK COMPATIBILITY IDEOGRAPH-2F8BE;Lo;0;L;22BF1;;;;N;;;;;
+2F8BF;CJK COMPATIBILITY IDEOGRAPH-2F8BF;Lo;0;L;6422;;;;N;;;;;
+2F8C0;CJK COMPATIBILITY IDEOGRAPH-2F8C0;Lo;0;L;63C5;;;;N;;;;;
+2F8C1;CJK COMPATIBILITY IDEOGRAPH-2F8C1;Lo;0;L;63A9;;;;N;;;;;
+2F8C2;CJK COMPATIBILITY IDEOGRAPH-2F8C2;Lo;0;L;3A2E;;;;N;;;;;
+2F8C3;CJK COMPATIBILITY IDEOGRAPH-2F8C3;Lo;0;L;6469;;;;N;;;;;
+2F8C4;CJK COMPATIBILITY IDEOGRAPH-2F8C4;Lo;0;L;647E;;;;N;;;;;
+2F8C5;CJK COMPATIBILITY IDEOGRAPH-2F8C5;Lo;0;L;649D;;;;N;;;;;
+2F8C6;CJK COMPATIBILITY IDEOGRAPH-2F8C6;Lo;0;L;6477;;;;N;;;;;
+2F8C7;CJK COMPATIBILITY IDEOGRAPH-2F8C7;Lo;0;L;3A6C;;;;N;;;;;
+2F8C8;CJK COMPATIBILITY IDEOGRAPH-2F8C8;Lo;0;L;654F;;;;N;;;;;
+2F8C9;CJK COMPATIBILITY IDEOGRAPH-2F8C9;Lo;0;L;656C;;;;N;;;;;
+2F8CA;CJK COMPATIBILITY IDEOGRAPH-2F8CA;Lo;0;L;2300A;;;;N;;;;;
+2F8CB;CJK COMPATIBILITY IDEOGRAPH-2F8CB;Lo;0;L;65E3;;;;N;;;;;
+2F8CC;CJK COMPATIBILITY IDEOGRAPH-2F8CC;Lo;0;L;66F8;;;;N;;;;;
+2F8CD;CJK COMPATIBILITY IDEOGRAPH-2F8CD;Lo;0;L;6649;;;;N;;;;;
+2F8CE;CJK COMPATIBILITY IDEOGRAPH-2F8CE;Lo;0;L;3B19;;;;N;;;;;
+2F8CF;CJK COMPATIBILITY IDEOGRAPH-2F8CF;Lo;0;L;6691;;;;N;;;;;
+2F8D0;CJK COMPATIBILITY IDEOGRAPH-2F8D0;Lo;0;L;3B08;;;;N;;;;;
+2F8D1;CJK COMPATIBILITY IDEOGRAPH-2F8D1;Lo;0;L;3AE4;;;;N;;;;;
+2F8D2;CJK COMPATIBILITY IDEOGRAPH-2F8D2;Lo;0;L;5192;;;;N;;;;;
+2F8D3;CJK COMPATIBILITY IDEOGRAPH-2F8D3;Lo;0;L;5195;;;;N;;;;;
+2F8D4;CJK COMPATIBILITY IDEOGRAPH-2F8D4;Lo;0;L;6700;;;;N;;;;;
+2F8D5;CJK COMPATIBILITY IDEOGRAPH-2F8D5;Lo;0;L;669C;;;;N;;;;;
+2F8D6;CJK COMPATIBILITY IDEOGRAPH-2F8D6;Lo;0;L;80AD;;;;N;;;;;
+2F8D7;CJK COMPATIBILITY IDEOGRAPH-2F8D7;Lo;0;L;43D9;;;;N;;;;;
+2F8D8;CJK COMPATIBILITY IDEOGRAPH-2F8D8;Lo;0;L;6717;;;;N;;;;;
+2F8D9;CJK COMPATIBILITY IDEOGRAPH-2F8D9;Lo;0;L;671B;;;;N;;;;;
+2F8DA;CJK COMPATIBILITY IDEOGRAPH-2F8DA;Lo;0;L;6721;;;;N;;;;;
+2F8DB;CJK COMPATIBILITY IDEOGRAPH-2F8DB;Lo;0;L;675E;;;;N;;;;;
+2F8DC;CJK COMPATIBILITY IDEOGRAPH-2F8DC;Lo;0;L;6753;;;;N;;;;;
+2F8DD;CJK COMPATIBILITY IDEOGRAPH-2F8DD;Lo;0;L;233C3;;;;N;;;;;
+2F8DE;CJK COMPATIBILITY IDEOGRAPH-2F8DE;Lo;0;L;3B49;;;;N;;;;;
+2F8DF;CJK COMPATIBILITY IDEOGRAPH-2F8DF;Lo;0;L;67FA;;;;N;;;;;
+2F8E0;CJK COMPATIBILITY IDEOGRAPH-2F8E0;Lo;0;L;6785;;;;N;;;;;
+2F8E1;CJK COMPATIBILITY IDEOGRAPH-2F8E1;Lo;0;L;6852;;;;N;;;;;
+2F8E2;CJK COMPATIBILITY IDEOGRAPH-2F8E2;Lo;0;L;6885;;;;N;;;;;
+2F8E3;CJK COMPATIBILITY IDEOGRAPH-2F8E3;Lo;0;L;2346D;;;;N;;;;;
+2F8E4;CJK COMPATIBILITY IDEOGRAPH-2F8E4;Lo;0;L;688E;;;;N;;;;;
+2F8E5;CJK COMPATIBILITY IDEOGRAPH-2F8E5;Lo;0;L;681F;;;;N;;;;;
+2F8E6;CJK COMPATIBILITY IDEOGRAPH-2F8E6;Lo;0;L;6914;;;;N;;;;;
+2F8E7;CJK COMPATIBILITY IDEOGRAPH-2F8E7;Lo;0;L;3B9D;;;;N;;;;;
+2F8E8;CJK COMPATIBILITY IDEOGRAPH-2F8E8;Lo;0;L;6942;;;;N;;;;;
+2F8E9;CJK COMPATIBILITY IDEOGRAPH-2F8E9;Lo;0;L;69A3;;;;N;;;;;
+2F8EA;CJK COMPATIBILITY IDEOGRAPH-2F8EA;Lo;0;L;69EA;;;;N;;;;;
+2F8EB;CJK COMPATIBILITY IDEOGRAPH-2F8EB;Lo;0;L;6AA8;;;;N;;;;;
+2F8EC;CJK COMPATIBILITY IDEOGRAPH-2F8EC;Lo;0;L;236A3;;;;N;;;;;
+2F8ED;CJK COMPATIBILITY IDEOGRAPH-2F8ED;Lo;0;L;6ADB;;;;N;;;;;
+2F8EE;CJK COMPATIBILITY IDEOGRAPH-2F8EE;Lo;0;L;3C18;;;;N;;;;;
+2F8EF;CJK COMPATIBILITY IDEOGRAPH-2F8EF;Lo;0;L;6B21;;;;N;;;;;
+2F8F0;CJK COMPATIBILITY IDEOGRAPH-2F8F0;Lo;0;L;238A7;;;;N;;;;;
+2F8F1;CJK COMPATIBILITY IDEOGRAPH-2F8F1;Lo;0;L;6B54;;;;N;;;;;
+2F8F2;CJK COMPATIBILITY IDEOGRAPH-2F8F2;Lo;0;L;3C4E;;;;N;;;;;
+2F8F3;CJK COMPATIBILITY IDEOGRAPH-2F8F3;Lo;0;L;6B72;;;;N;;;;;
+2F8F4;CJK COMPATIBILITY IDEOGRAPH-2F8F4;Lo;0;L;6B9F;;;;N;;;;;
+2F8F5;CJK COMPATIBILITY IDEOGRAPH-2F8F5;Lo;0;L;6BBA;;;;N;;;;;
+2F8F6;CJK COMPATIBILITY IDEOGRAPH-2F8F6;Lo;0;L;6BBB;;;;N;;;;;
+2F8F7;CJK COMPATIBILITY IDEOGRAPH-2F8F7;Lo;0;L;23A8D;;;;N;;;;;
+2F8F8;CJK COMPATIBILITY IDEOGRAPH-2F8F8;Lo;0;L;21D0B;;;;N;;;;;
+2F8F9;CJK COMPATIBILITY IDEOGRAPH-2F8F9;Lo;0;L;23AFA;;;;N;;;;;
+2F8FA;CJK COMPATIBILITY IDEOGRAPH-2F8FA;Lo;0;L;6C4E;;;;N;;;;;
+2F8FB;CJK COMPATIBILITY IDEOGRAPH-2F8FB;Lo;0;L;23CBC;;;;N;;;;;
+2F8FC;CJK COMPATIBILITY IDEOGRAPH-2F8FC;Lo;0;L;6CBF;;;;N;;;;;
+2F8FD;CJK COMPATIBILITY IDEOGRAPH-2F8FD;Lo;0;L;6CCD;;;;N;;;;;
+2F8FE;CJK COMPATIBILITY IDEOGRAPH-2F8FE;Lo;0;L;6C67;;;;N;;;;;
+2F8FF;CJK COMPATIBILITY IDEOGRAPH-2F8FF;Lo;0;L;6D16;;;;N;;;;;
+2F900;CJK COMPATIBILITY IDEOGRAPH-2F900;Lo;0;L;6D3E;;;;N;;;;;
+2F901;CJK COMPATIBILITY IDEOGRAPH-2F901;Lo;0;L;6D77;;;;N;;;;;
+2F902;CJK COMPATIBILITY IDEOGRAPH-2F902;Lo;0;L;6D41;;;;N;;;;;
+2F903;CJK COMPATIBILITY IDEOGRAPH-2F903;Lo;0;L;6D69;;;;N;;;;;
+2F904;CJK COMPATIBILITY IDEOGRAPH-2F904;Lo;0;L;6D78;;;;N;;;;;
+2F905;CJK COMPATIBILITY IDEOGRAPH-2F905;Lo;0;L;6D85;;;;N;;;;;
+2F906;CJK COMPATIBILITY IDEOGRAPH-2F906;Lo;0;L;23D1E;;;;N;;;;;
+2F907;CJK COMPATIBILITY IDEOGRAPH-2F907;Lo;0;L;6D34;;;;N;;;;;
+2F908;CJK COMPATIBILITY IDEOGRAPH-2F908;Lo;0;L;6E2F;;;;N;;;;;
+2F909;CJK COMPATIBILITY IDEOGRAPH-2F909;Lo;0;L;6E6E;;;;N;;;;;
+2F90A;CJK COMPATIBILITY IDEOGRAPH-2F90A;Lo;0;L;3D33;;;;N;;;;;
+2F90B;CJK COMPATIBILITY IDEOGRAPH-2F90B;Lo;0;L;6ECB;;;;N;;;;;
+2F90C;CJK COMPATIBILITY IDEOGRAPH-2F90C;Lo;0;L;6EC7;;;;N;;;;;
+2F90D;CJK COMPATIBILITY IDEOGRAPH-2F90D;Lo;0;L;23ED1;;;;N;;;;;
+2F90E;CJK COMPATIBILITY IDEOGRAPH-2F90E;Lo;0;L;6DF9;;;;N;;;;;
+2F90F;CJK COMPATIBILITY IDEOGRAPH-2F90F;Lo;0;L;6F6E;;;;N;;;;;
+2F910;CJK COMPATIBILITY IDEOGRAPH-2F910;Lo;0;L;23F5E;;;;N;;;;;
+2F911;CJK COMPATIBILITY IDEOGRAPH-2F911;Lo;0;L;23F8E;;;;N;;;;;
+2F912;CJK COMPATIBILITY IDEOGRAPH-2F912;Lo;0;L;6FC6;;;;N;;;;;
+2F913;CJK COMPATIBILITY IDEOGRAPH-2F913;Lo;0;L;7039;;;;N;;;;;
+2F914;CJK COMPATIBILITY IDEOGRAPH-2F914;Lo;0;L;701E;;;;N;;;;;
+2F915;CJK COMPATIBILITY IDEOGRAPH-2F915;Lo;0;L;701B;;;;N;;;;;
+2F916;CJK COMPATIBILITY IDEOGRAPH-2F916;Lo;0;L;3D96;;;;N;;;;;
+2F917;CJK COMPATIBILITY IDEOGRAPH-2F917;Lo;0;L;704A;;;;N;;;;;
+2F918;CJK COMPATIBILITY IDEOGRAPH-2F918;Lo;0;L;707D;;;;N;;;;;
+2F919;CJK COMPATIBILITY IDEOGRAPH-2F919;Lo;0;L;7077;;;;N;;;;;
+2F91A;CJK COMPATIBILITY IDEOGRAPH-2F91A;Lo;0;L;70AD;;;;N;;;;;
+2F91B;CJK COMPATIBILITY IDEOGRAPH-2F91B;Lo;0;L;20525;;;;N;;;;;
+2F91C;CJK COMPATIBILITY IDEOGRAPH-2F91C;Lo;0;L;7145;;;;N;;;;;
+2F91D;CJK COMPATIBILITY IDEOGRAPH-2F91D;Lo;0;L;24263;;;;N;;;;;
+2F91E;CJK COMPATIBILITY IDEOGRAPH-2F91E;Lo;0;L;719C;;;;N;;;;;
+2F91F;CJK COMPATIBILITY IDEOGRAPH-2F91F;Lo;0;L;243AB;;;;N;;;;;
+2F920;CJK COMPATIBILITY IDEOGRAPH-2F920;Lo;0;L;7228;;;;N;;;;;
+2F921;CJK COMPATIBILITY IDEOGRAPH-2F921;Lo;0;L;7235;;;;N;;;;;
+2F922;CJK COMPATIBILITY IDEOGRAPH-2F922;Lo;0;L;7250;;;;N;;;;;
+2F923;CJK COMPATIBILITY IDEOGRAPH-2F923;Lo;0;L;24608;;;;N;;;;;
+2F924;CJK COMPATIBILITY IDEOGRAPH-2F924;Lo;0;L;7280;;;;N;;;;;
+2F925;CJK COMPATIBILITY IDEOGRAPH-2F925;Lo;0;L;7295;;;;N;;;;;
+2F926;CJK COMPATIBILITY IDEOGRAPH-2F926;Lo;0;L;24735;;;;N;;;;;
+2F927;CJK COMPATIBILITY IDEOGRAPH-2F927;Lo;0;L;24814;;;;N;;;;;
+2F928;CJK COMPATIBILITY IDEOGRAPH-2F928;Lo;0;L;737A;;;;N;;;;;
+2F929;CJK COMPATIBILITY IDEOGRAPH-2F929;Lo;0;L;738B;;;;N;;;;;
+2F92A;CJK COMPATIBILITY IDEOGRAPH-2F92A;Lo;0;L;3EAC;;;;N;;;;;
+2F92B;CJK COMPATIBILITY IDEOGRAPH-2F92B;Lo;0;L;73A5;;;;N;;;;;
+2F92C;CJK COMPATIBILITY IDEOGRAPH-2F92C;Lo;0;L;3EB8;;;;N;;;;;
+2F92D;CJK COMPATIBILITY IDEOGRAPH-2F92D;Lo;0;L;3EB8;;;;N;;;;;
+2F92E;CJK COMPATIBILITY IDEOGRAPH-2F92E;Lo;0;L;7447;;;;N;;;;;
+2F92F;CJK COMPATIBILITY IDEOGRAPH-2F92F;Lo;0;L;745C;;;;N;;;;;
+2F930;CJK COMPATIBILITY IDEOGRAPH-2F930;Lo;0;L;7471;;;;N;;;;;
+2F931;CJK COMPATIBILITY IDEOGRAPH-2F931;Lo;0;L;7485;;;;N;;;;;
+2F932;CJK COMPATIBILITY IDEOGRAPH-2F932;Lo;0;L;74CA;;;;N;;;;;
+2F933;CJK COMPATIBILITY IDEOGRAPH-2F933;Lo;0;L;3F1B;;;;N;;;;;
+2F934;CJK COMPATIBILITY IDEOGRAPH-2F934;Lo;0;L;7524;;;;N;;;;;
+2F935;CJK COMPATIBILITY IDEOGRAPH-2F935;Lo;0;L;24C36;;;;N;;;;;
+2F936;CJK COMPATIBILITY IDEOGRAPH-2F936;Lo;0;L;753E;;;;N;;;;;
+2F937;CJK COMPATIBILITY IDEOGRAPH-2F937;Lo;0;L;24C92;;;;N;;;;;
+2F938;CJK COMPATIBILITY IDEOGRAPH-2F938;Lo;0;L;7570;;;;N;;;;;
+2F939;CJK COMPATIBILITY IDEOGRAPH-2F939;Lo;0;L;2219F;;;;N;;;;;
+2F93A;CJK COMPATIBILITY IDEOGRAPH-2F93A;Lo;0;L;7610;;;;N;;;;;
+2F93B;CJK COMPATIBILITY IDEOGRAPH-2F93B;Lo;0;L;24FA1;;;;N;;;;;
+2F93C;CJK COMPATIBILITY IDEOGRAPH-2F93C;Lo;0;L;24FB8;;;;N;;;;;
+2F93D;CJK COMPATIBILITY IDEOGRAPH-2F93D;Lo;0;L;25044;;;;N;;;;;
+2F93E;CJK COMPATIBILITY IDEOGRAPH-2F93E;Lo;0;L;3FFC;;;;N;;;;;
+2F93F;CJK COMPATIBILITY IDEOGRAPH-2F93F;Lo;0;L;4008;;;;N;;;;;
+2F940;CJK COMPATIBILITY IDEOGRAPH-2F940;Lo;0;L;76F4;;;;N;;;;;
+2F941;CJK COMPATIBILITY IDEOGRAPH-2F941;Lo;0;L;250F3;;;;N;;;;;
+2F942;CJK COMPATIBILITY IDEOGRAPH-2F942;Lo;0;L;250F2;;;;N;;;;;
+2F943;CJK COMPATIBILITY IDEOGRAPH-2F943;Lo;0;L;25119;;;;N;;;;;
+2F944;CJK COMPATIBILITY IDEOGRAPH-2F944;Lo;0;L;25133;;;;N;;;;;
+2F945;CJK COMPATIBILITY IDEOGRAPH-2F945;Lo;0;L;771E;;;;N;;;;;
+2F946;CJK COMPATIBILITY IDEOGRAPH-2F946;Lo;0;L;771F;;;;N;;;;;
+2F947;CJK COMPATIBILITY IDEOGRAPH-2F947;Lo;0;L;771F;;;;N;;;;;
+2F948;CJK COMPATIBILITY IDEOGRAPH-2F948;Lo;0;L;774A;;;;N;;;;;
+2F949;CJK COMPATIBILITY IDEOGRAPH-2F949;Lo;0;L;4039;;;;N;;;;;
+2F94A;CJK COMPATIBILITY IDEOGRAPH-2F94A;Lo;0;L;778B;;;;N;;;;;
+2F94B;CJK COMPATIBILITY IDEOGRAPH-2F94B;Lo;0;L;4046;;;;N;;;;;
+2F94C;CJK COMPATIBILITY IDEOGRAPH-2F94C;Lo;0;L;4096;;;;N;;;;;
+2F94D;CJK COMPATIBILITY IDEOGRAPH-2F94D;Lo;0;L;2541D;;;;N;;;;;
+2F94E;CJK COMPATIBILITY IDEOGRAPH-2F94E;Lo;0;L;784E;;;;N;;;;;
+2F94F;CJK COMPATIBILITY IDEOGRAPH-2F94F;Lo;0;L;788C;;;;N;;;;;
+2F950;CJK COMPATIBILITY IDEOGRAPH-2F950;Lo;0;L;78CC;;;;N;;;;;
+2F951;CJK COMPATIBILITY IDEOGRAPH-2F951;Lo;0;L;40E3;;;;N;;;;;
+2F952;CJK COMPATIBILITY IDEOGRAPH-2F952;Lo;0;L;25626;;;;N;;;;;
+2F953;CJK COMPATIBILITY IDEOGRAPH-2F953;Lo;0;L;7956;;;;N;;;;;
+2F954;CJK COMPATIBILITY IDEOGRAPH-2F954;Lo;0;L;2569A;;;;N;;;;;
+2F955;CJK COMPATIBILITY IDEOGRAPH-2F955;Lo;0;L;256C5;;;;N;;;;;
+2F956;CJK COMPATIBILITY IDEOGRAPH-2F956;Lo;0;L;798F;;;;N;;;;;
+2F957;CJK COMPATIBILITY IDEOGRAPH-2F957;Lo;0;L;79EB;;;;N;;;;;
+2F958;CJK COMPATIBILITY IDEOGRAPH-2F958;Lo;0;L;412F;;;;N;;;;;
+2F959;CJK COMPATIBILITY IDEOGRAPH-2F959;Lo;0;L;7A40;;;;N;;;;;
+2F95A;CJK COMPATIBILITY IDEOGRAPH-2F95A;Lo;0;L;7A4A;;;;N;;;;;
+2F95B;CJK COMPATIBILITY IDEOGRAPH-2F95B;Lo;0;L;7A4F;;;;N;;;;;
+2F95C;CJK COMPATIBILITY IDEOGRAPH-2F95C;Lo;0;L;2597C;;;;N;;;;;
+2F95D;CJK COMPATIBILITY IDEOGRAPH-2F95D;Lo;0;L;25AA7;;;;N;;;;;
+2F95E;CJK COMPATIBILITY IDEOGRAPH-2F95E;Lo;0;L;25AA7;;;;N;;;;;
+2F95F;CJK COMPATIBILITY IDEOGRAPH-2F95F;Lo;0;L;7AEE;;;;N;;;;;
+2F960;CJK COMPATIBILITY IDEOGRAPH-2F960;Lo;0;L;4202;;;;N;;;;;
+2F961;CJK COMPATIBILITY IDEOGRAPH-2F961;Lo;0;L;25BAB;;;;N;;;;;
+2F962;CJK COMPATIBILITY IDEOGRAPH-2F962;Lo;0;L;7BC6;;;;N;;;;;
+2F963;CJK COMPATIBILITY IDEOGRAPH-2F963;Lo;0;L;7BC9;;;;N;;;;;
+2F964;CJK COMPATIBILITY IDEOGRAPH-2F964;Lo;0;L;4227;;;;N;;;;;
+2F965;CJK COMPATIBILITY IDEOGRAPH-2F965;Lo;0;L;25C80;;;;N;;;;;
+2F966;CJK COMPATIBILITY IDEOGRAPH-2F966;Lo;0;L;7CD2;;;;N;;;;;
+2F967;CJK COMPATIBILITY IDEOGRAPH-2F967;Lo;0;L;42A0;;;;N;;;;;
+2F968;CJK COMPATIBILITY IDEOGRAPH-2F968;Lo;0;L;7CE8;;;;N;;;;;
+2F969;CJK COMPATIBILITY IDEOGRAPH-2F969;Lo;0;L;7CE3;;;;N;;;;;
+2F96A;CJK COMPATIBILITY IDEOGRAPH-2F96A;Lo;0;L;7D00;;;;N;;;;;
+2F96B;CJK COMPATIBILITY IDEOGRAPH-2F96B;Lo;0;L;25F86;;;;N;;;;;
+2F96C;CJK COMPATIBILITY IDEOGRAPH-2F96C;Lo;0;L;7D63;;;;N;;;;;
+2F96D;CJK COMPATIBILITY IDEOGRAPH-2F96D;Lo;0;L;4301;;;;N;;;;;
+2F96E;CJK COMPATIBILITY IDEOGRAPH-2F96E;Lo;0;L;7DC7;;;;N;;;;;
+2F96F;CJK COMPATIBILITY IDEOGRAPH-2F96F;Lo;0;L;7E02;;;;N;;;;;
+2F970;CJK COMPATIBILITY IDEOGRAPH-2F970;Lo;0;L;7E45;;;;N;;;;;
+2F971;CJK COMPATIBILITY IDEOGRAPH-2F971;Lo;0;L;4334;;;;N;;;;;
+2F972;CJK COMPATIBILITY IDEOGRAPH-2F972;Lo;0;L;26228;;;;N;;;;;
+2F973;CJK COMPATIBILITY IDEOGRAPH-2F973;Lo;0;L;26247;;;;N;;;;;
+2F974;CJK COMPATIBILITY IDEOGRAPH-2F974;Lo;0;L;4359;;;;N;;;;;
+2F975;CJK COMPATIBILITY IDEOGRAPH-2F975;Lo;0;L;262D9;;;;N;;;;;
+2F976;CJK COMPATIBILITY IDEOGRAPH-2F976;Lo;0;L;7F7A;;;;N;;;;;
+2F977;CJK COMPATIBILITY IDEOGRAPH-2F977;Lo;0;L;2633E;;;;N;;;;;
+2F978;CJK COMPATIBILITY IDEOGRAPH-2F978;Lo;0;L;7F95;;;;N;;;;;
+2F979;CJK COMPATIBILITY IDEOGRAPH-2F979;Lo;0;L;7FFA;;;;N;;;;;
+2F97A;CJK COMPATIBILITY IDEOGRAPH-2F97A;Lo;0;L;8005;;;;N;;;;;
+2F97B;CJK COMPATIBILITY IDEOGRAPH-2F97B;Lo;0;L;264DA;;;;N;;;;;
+2F97C;CJK COMPATIBILITY IDEOGRAPH-2F97C;Lo;0;L;26523;;;;N;;;;;
+2F97D;CJK COMPATIBILITY IDEOGRAPH-2F97D;Lo;0;L;8060;;;;N;;;;;
+2F97E;CJK COMPATIBILITY IDEOGRAPH-2F97E;Lo;0;L;265A8;;;;N;;;;;
+2F97F;CJK COMPATIBILITY IDEOGRAPH-2F97F;Lo;0;L;8070;;;;N;;;;;
+2F980;CJK COMPATIBILITY IDEOGRAPH-2F980;Lo;0;L;2335F;;;;N;;;;;
+2F981;CJK COMPATIBILITY IDEOGRAPH-2F981;Lo;0;L;43D5;;;;N;;;;;
+2F982;CJK COMPATIBILITY IDEOGRAPH-2F982;Lo;0;L;80B2;;;;N;;;;;
+2F983;CJK COMPATIBILITY IDEOGRAPH-2F983;Lo;0;L;8103;;;;N;;;;;
+2F984;CJK COMPATIBILITY IDEOGRAPH-2F984;Lo;0;L;440B;;;;N;;;;;
+2F985;CJK COMPATIBILITY IDEOGRAPH-2F985;Lo;0;L;813E;;;;N;;;;;
+2F986;CJK COMPATIBILITY IDEOGRAPH-2F986;Lo;0;L;5AB5;;;;N;;;;;
+2F987;CJK COMPATIBILITY IDEOGRAPH-2F987;Lo;0;L;267A7;;;;N;;;;;
+2F988;CJK COMPATIBILITY IDEOGRAPH-2F988;Lo;0;L;267B5;;;;N;;;;;
+2F989;CJK COMPATIBILITY IDEOGRAPH-2F989;Lo;0;L;23393;;;;N;;;;;
+2F98A;CJK COMPATIBILITY IDEOGRAPH-2F98A;Lo;0;L;2339C;;;;N;;;;;
+2F98B;CJK COMPATIBILITY IDEOGRAPH-2F98B;Lo;0;L;8201;;;;N;;;;;
+2F98C;CJK COMPATIBILITY IDEOGRAPH-2F98C;Lo;0;L;8204;;;;N;;;;;
+2F98D;CJK COMPATIBILITY IDEOGRAPH-2F98D;Lo;0;L;8F9E;;;;N;;;;;
+2F98E;CJK COMPATIBILITY IDEOGRAPH-2F98E;Lo;0;L;446B;;;;N;;;;;
+2F98F;CJK COMPATIBILITY IDEOGRAPH-2F98F;Lo;0;L;8291;;;;N;;;;;
+2F990;CJK COMPATIBILITY IDEOGRAPH-2F990;Lo;0;L;828B;;;;N;;;;;
+2F991;CJK COMPATIBILITY IDEOGRAPH-2F991;Lo;0;L;829D;;;;N;;;;;
+2F992;CJK COMPATIBILITY IDEOGRAPH-2F992;Lo;0;L;52B3;;;;N;;;;;
+2F993;CJK COMPATIBILITY IDEOGRAPH-2F993;Lo;0;L;82B1;;;;N;;;;;
+2F994;CJK COMPATIBILITY IDEOGRAPH-2F994;Lo;0;L;82B3;;;;N;;;;;
+2F995;CJK COMPATIBILITY IDEOGRAPH-2F995;Lo;0;L;82BD;;;;N;;;;;
+2F996;CJK COMPATIBILITY IDEOGRAPH-2F996;Lo;0;L;82E6;;;;N;;;;;
+2F997;CJK COMPATIBILITY IDEOGRAPH-2F997;Lo;0;L;26B3C;;;;N;;;;;
+2F998;CJK COMPATIBILITY IDEOGRAPH-2F998;Lo;0;L;82E5;;;;N;;;;;
+2F999;CJK COMPATIBILITY IDEOGRAPH-2F999;Lo;0;L;831D;;;;N;;;;;
+2F99A;CJK COMPATIBILITY IDEOGRAPH-2F99A;Lo;0;L;8363;;;;N;;;;;
+2F99B;CJK COMPATIBILITY IDEOGRAPH-2F99B;Lo;0;L;83AD;;;;N;;;;;
+2F99C;CJK COMPATIBILITY IDEOGRAPH-2F99C;Lo;0;L;8323;;;;N;;;;;
+2F99D;CJK COMPATIBILITY IDEOGRAPH-2F99D;Lo;0;L;83BD;;;;N;;;;;
+2F99E;CJK COMPATIBILITY IDEOGRAPH-2F99E;Lo;0;L;83E7;;;;N;;;;;
+2F99F;CJK COMPATIBILITY IDEOGRAPH-2F99F;Lo;0;L;8457;;;;N;;;;;
+2F9A0;CJK COMPATIBILITY IDEOGRAPH-2F9A0;Lo;0;L;8353;;;;N;;;;;
+2F9A1;CJK COMPATIBILITY IDEOGRAPH-2F9A1;Lo;0;L;83CA;;;;N;;;;;
+2F9A2;CJK COMPATIBILITY IDEOGRAPH-2F9A2;Lo;0;L;83CC;;;;N;;;;;
+2F9A3;CJK COMPATIBILITY IDEOGRAPH-2F9A3;Lo;0;L;83DC;;;;N;;;;;
+2F9A4;CJK COMPATIBILITY IDEOGRAPH-2F9A4;Lo;0;L;26C36;;;;N;;;;;
+2F9A5;CJK COMPATIBILITY IDEOGRAPH-2F9A5;Lo;0;L;26D6B;;;;N;;;;;
+2F9A6;CJK COMPATIBILITY IDEOGRAPH-2F9A6;Lo;0;L;26CD5;;;;N;;;;;
+2F9A7;CJK COMPATIBILITY IDEOGRAPH-2F9A7;Lo;0;L;452B;;;;N;;;;;
+2F9A8;CJK COMPATIBILITY IDEOGRAPH-2F9A8;Lo;0;L;84F1;;;;N;;;;;
+2F9A9;CJK COMPATIBILITY IDEOGRAPH-2F9A9;Lo;0;L;84F3;;;;N;;;;;
+2F9AA;CJK COMPATIBILITY IDEOGRAPH-2F9AA;Lo;0;L;8516;;;;N;;;;;
+2F9AB;CJK COMPATIBILITY IDEOGRAPH-2F9AB;Lo;0;L;273CA;;;;N;;;;;
+2F9AC;CJK COMPATIBILITY IDEOGRAPH-2F9AC;Lo;0;L;8564;;;;N;;;;;
+2F9AD;CJK COMPATIBILITY IDEOGRAPH-2F9AD;Lo;0;L;26F2C;;;;N;;;;;
+2F9AE;CJK COMPATIBILITY IDEOGRAPH-2F9AE;Lo;0;L;455D;;;;N;;;;;
+2F9AF;CJK COMPATIBILITY IDEOGRAPH-2F9AF;Lo;0;L;4561;;;;N;;;;;
+2F9B0;CJK COMPATIBILITY IDEOGRAPH-2F9B0;Lo;0;L;26FB1;;;;N;;;;;
+2F9B1;CJK COMPATIBILITY IDEOGRAPH-2F9B1;Lo;0;L;270D2;;;;N;;;;;
+2F9B2;CJK COMPATIBILITY IDEOGRAPH-2F9B2;Lo;0;L;456B;;;;N;;;;;
+2F9B3;CJK COMPATIBILITY IDEOGRAPH-2F9B3;Lo;0;L;8650;;;;N;;;;;
+2F9B4;CJK COMPATIBILITY IDEOGRAPH-2F9B4;Lo;0;L;865C;;;;N;;;;;
+2F9B5;CJK COMPATIBILITY IDEOGRAPH-2F9B5;Lo;0;L;8667;;;;N;;;;;
+2F9B6;CJK COMPATIBILITY IDEOGRAPH-2F9B6;Lo;0;L;8669;;;;N;;;;;
+2F9B7;CJK COMPATIBILITY IDEOGRAPH-2F9B7;Lo;0;L;86A9;;;;N;;;;;
+2F9B8;CJK COMPATIBILITY IDEOGRAPH-2F9B8;Lo;0;L;8688;;;;N;;;;;
+2F9B9;CJK COMPATIBILITY IDEOGRAPH-2F9B9;Lo;0;L;870E;;;;N;;;;;
+2F9BA;CJK COMPATIBILITY IDEOGRAPH-2F9BA;Lo;0;L;86E2;;;;N;;;;;
+2F9BB;CJK COMPATIBILITY IDEOGRAPH-2F9BB;Lo;0;L;8779;;;;N;;;;;
+2F9BC;CJK COMPATIBILITY IDEOGRAPH-2F9BC;Lo;0;L;8728;;;;N;;;;;
+2F9BD;CJK COMPATIBILITY IDEOGRAPH-2F9BD;Lo;0;L;876B;;;;N;;;;;
+2F9BE;CJK COMPATIBILITY IDEOGRAPH-2F9BE;Lo;0;L;8786;;;;N;;;;;
+2F9BF;CJK COMPATIBILITY IDEOGRAPH-2F9BF;Lo;0;L;45D7;;;;N;;;;;
+2F9C0;CJK COMPATIBILITY IDEOGRAPH-2F9C0;Lo;0;L;87E1;;;;N;;;;;
+2F9C1;CJK COMPATIBILITY IDEOGRAPH-2F9C1;Lo;0;L;8801;;;;N;;;;;
+2F9C2;CJK COMPATIBILITY IDEOGRAPH-2F9C2;Lo;0;L;45F9;;;;N;;;;;
+2F9C3;CJK COMPATIBILITY IDEOGRAPH-2F9C3;Lo;0;L;8860;;;;N;;;;;
+2F9C4;CJK COMPATIBILITY IDEOGRAPH-2F9C4;Lo;0;L;8863;;;;N;;;;;
+2F9C5;CJK COMPATIBILITY IDEOGRAPH-2F9C5;Lo;0;L;27667;;;;N;;;;;
+2F9C6;CJK COMPATIBILITY IDEOGRAPH-2F9C6;Lo;0;L;88D7;;;;N;;;;;
+2F9C7;CJK COMPATIBILITY IDEOGRAPH-2F9C7;Lo;0;L;88DE;;;;N;;;;;
+2F9C8;CJK COMPATIBILITY IDEOGRAPH-2F9C8;Lo;0;L;4635;;;;N;;;;;
+2F9C9;CJK COMPATIBILITY IDEOGRAPH-2F9C9;Lo;0;L;88FA;;;;N;;;;;
+2F9CA;CJK COMPATIBILITY IDEOGRAPH-2F9CA;Lo;0;L;34BB;;;;N;;;;;
+2F9CB;CJK COMPATIBILITY IDEOGRAPH-2F9CB;Lo;0;L;278AE;;;;N;;;;;
+2F9CC;CJK COMPATIBILITY IDEOGRAPH-2F9CC;Lo;0;L;27966;;;;N;;;;;
+2F9CD;CJK COMPATIBILITY IDEOGRAPH-2F9CD;Lo;0;L;46BE;;;;N;;;;;
+2F9CE;CJK COMPATIBILITY IDEOGRAPH-2F9CE;Lo;0;L;46C7;;;;N;;;;;
+2F9CF;CJK COMPATIBILITY IDEOGRAPH-2F9CF;Lo;0;L;8AA0;;;;N;;;;;
+2F9D0;CJK COMPATIBILITY IDEOGRAPH-2F9D0;Lo;0;L;8AED;;;;N;;;;;
+2F9D1;CJK COMPATIBILITY IDEOGRAPH-2F9D1;Lo;0;L;8B8A;;;;N;;;;;
+2F9D2;CJK COMPATIBILITY IDEOGRAPH-2F9D2;Lo;0;L;8C55;;;;N;;;;;
+2F9D3;CJK COMPATIBILITY IDEOGRAPH-2F9D3;Lo;0;L;27CA8;;;;N;;;;;
+2F9D4;CJK COMPATIBILITY IDEOGRAPH-2F9D4;Lo;0;L;8CAB;;;;N;;;;;
+2F9D5;CJK COMPATIBILITY IDEOGRAPH-2F9D5;Lo;0;L;8CC1;;;;N;;;;;
+2F9D6;CJK COMPATIBILITY IDEOGRAPH-2F9D6;Lo;0;L;8D1B;;;;N;;;;;
+2F9D7;CJK COMPATIBILITY IDEOGRAPH-2F9D7;Lo;0;L;8D77;;;;N;;;;;
+2F9D8;CJK COMPATIBILITY IDEOGRAPH-2F9D8;Lo;0;L;27F2F;;;;N;;;;;
+2F9D9;CJK COMPATIBILITY IDEOGRAPH-2F9D9;Lo;0;L;20804;;;;N;;;;;
+2F9DA;CJK COMPATIBILITY IDEOGRAPH-2F9DA;Lo;0;L;8DCB;;;;N;;;;;
+2F9DB;CJK COMPATIBILITY IDEOGRAPH-2F9DB;Lo;0;L;8DBC;;;;N;;;;;
+2F9DC;CJK COMPATIBILITY IDEOGRAPH-2F9DC;Lo;0;L;8DF0;;;;N;;;;;
+2F9DD;CJK COMPATIBILITY IDEOGRAPH-2F9DD;Lo;0;L;208DE;;;;N;;;;;
+2F9DE;CJK COMPATIBILITY IDEOGRAPH-2F9DE;Lo;0;L;8ED4;;;;N;;;;;
+2F9DF;CJK COMPATIBILITY IDEOGRAPH-2F9DF;Lo;0;L;8F38;;;;N;;;;;
+2F9E0;CJK COMPATIBILITY IDEOGRAPH-2F9E0;Lo;0;L;285D2;;;;N;;;;;
+2F9E1;CJK COMPATIBILITY IDEOGRAPH-2F9E1;Lo;0;L;285ED;;;;N;;;;;
+2F9E2;CJK COMPATIBILITY IDEOGRAPH-2F9E2;Lo;0;L;9094;;;;N;;;;;
+2F9E3;CJK COMPATIBILITY IDEOGRAPH-2F9E3;Lo;0;L;90F1;;;;N;;;;;
+2F9E4;CJK COMPATIBILITY IDEOGRAPH-2F9E4;Lo;0;L;9111;;;;N;;;;;
+2F9E5;CJK COMPATIBILITY IDEOGRAPH-2F9E5;Lo;0;L;2872E;;;;N;;;;;
+2F9E6;CJK COMPATIBILITY IDEOGRAPH-2F9E6;Lo;0;L;911B;;;;N;;;;;
+2F9E7;CJK COMPATIBILITY IDEOGRAPH-2F9E7;Lo;0;L;9238;;;;N;;;;;
+2F9E8;CJK COMPATIBILITY IDEOGRAPH-2F9E8;Lo;0;L;92D7;;;;N;;;;;
+2F9E9;CJK COMPATIBILITY IDEOGRAPH-2F9E9;Lo;0;L;92D8;;;;N;;;;;
+2F9EA;CJK COMPATIBILITY IDEOGRAPH-2F9EA;Lo;0;L;927C;;;;N;;;;;
+2F9EB;CJK COMPATIBILITY IDEOGRAPH-2F9EB;Lo;0;L;93F9;;;;N;;;;;
+2F9EC;CJK COMPATIBILITY IDEOGRAPH-2F9EC;Lo;0;L;9415;;;;N;;;;;
+2F9ED;CJK COMPATIBILITY IDEOGRAPH-2F9ED;Lo;0;L;28BFA;;;;N;;;;;
+2F9EE;CJK COMPATIBILITY IDEOGRAPH-2F9EE;Lo;0;L;958B;;;;N;;;;;
+2F9EF;CJK COMPATIBILITY IDEOGRAPH-2F9EF;Lo;0;L;4995;;;;N;;;;;
+2F9F0;CJK COMPATIBILITY IDEOGRAPH-2F9F0;Lo;0;L;95B7;;;;N;;;;;
+2F9F1;CJK COMPATIBILITY IDEOGRAPH-2F9F1;Lo;0;L;28D77;;;;N;;;;;
+2F9F2;CJK COMPATIBILITY IDEOGRAPH-2F9F2;Lo;0;L;49E6;;;;N;;;;;
+2F9F3;CJK COMPATIBILITY IDEOGRAPH-2F9F3;Lo;0;L;96C3;;;;N;;;;;
+2F9F4;CJK COMPATIBILITY IDEOGRAPH-2F9F4;Lo;0;L;5DB2;;;;N;;;;;
+2F9F5;CJK COMPATIBILITY IDEOGRAPH-2F9F5;Lo;0;L;9723;;;;N;;;;;
+2F9F6;CJK COMPATIBILITY IDEOGRAPH-2F9F6;Lo;0;L;29145;;;;N;;;;;
+2F9F7;CJK COMPATIBILITY IDEOGRAPH-2F9F7;Lo;0;L;2921A;;;;N;;;;;
+2F9F8;CJK COMPATIBILITY IDEOGRAPH-2F9F8;Lo;0;L;4A6E;;;;N;;;;;
+2F9F9;CJK COMPATIBILITY IDEOGRAPH-2F9F9;Lo;0;L;4A76;;;;N;;;;;
+2F9FA;CJK COMPATIBILITY IDEOGRAPH-2F9FA;Lo;0;L;97E0;;;;N;;;;;
+2F9FB;CJK COMPATIBILITY IDEOGRAPH-2F9FB;Lo;0;L;2940A;;;;N;;;;;
+2F9FC;CJK COMPATIBILITY IDEOGRAPH-2F9FC;Lo;0;L;4AB2;;;;N;;;;;
+2F9FD;CJK COMPATIBILITY IDEOGRAPH-2F9FD;Lo;0;L;29496;;;;N;;;;;
+2F9FE;CJK COMPATIBILITY IDEOGRAPH-2F9FE;Lo;0;L;980B;;;;N;;;;;
+2F9FF;CJK COMPATIBILITY IDEOGRAPH-2F9FF;Lo;0;L;980B;;;;N;;;;;
+2FA00;CJK COMPATIBILITY IDEOGRAPH-2FA00;Lo;0;L;9829;;;;N;;;;;
+2FA01;CJK COMPATIBILITY IDEOGRAPH-2FA01;Lo;0;L;295B6;;;;N;;;;;
+2FA02;CJK COMPATIBILITY IDEOGRAPH-2FA02;Lo;0;L;98E2;;;;N;;;;;
+2FA03;CJK COMPATIBILITY IDEOGRAPH-2FA03;Lo;0;L;4B33;;;;N;;;;;
+2FA04;CJK COMPATIBILITY IDEOGRAPH-2FA04;Lo;0;L;9929;;;;N;;;;;
+2FA05;CJK COMPATIBILITY IDEOGRAPH-2FA05;Lo;0;L;99A7;;;;N;;;;;
+2FA06;CJK COMPATIBILITY IDEOGRAPH-2FA06;Lo;0;L;99C2;;;;N;;;;;
+2FA07;CJK COMPATIBILITY IDEOGRAPH-2FA07;Lo;0;L;99FE;;;;N;;;;;
+2FA08;CJK COMPATIBILITY IDEOGRAPH-2FA08;Lo;0;L;4BCE;;;;N;;;;;
+2FA09;CJK COMPATIBILITY IDEOGRAPH-2FA09;Lo;0;L;29B30;;;;N;;;;;
+2FA0A;CJK COMPATIBILITY IDEOGRAPH-2FA0A;Lo;0;L;9B12;;;;N;;;;;
+2FA0B;CJK COMPATIBILITY IDEOGRAPH-2FA0B;Lo;0;L;9C40;;;;N;;;;;
+2FA0C;CJK COMPATIBILITY IDEOGRAPH-2FA0C;Lo;0;L;9CFD;;;;N;;;;;
+2FA0D;CJK COMPATIBILITY IDEOGRAPH-2FA0D;Lo;0;L;4CCE;;;;N;;;;;
+2FA0E;CJK COMPATIBILITY IDEOGRAPH-2FA0E;Lo;0;L;4CED;;;;N;;;;;
+2FA0F;CJK COMPATIBILITY IDEOGRAPH-2FA0F;Lo;0;L;9D67;;;;N;;;;;
+2FA10;CJK COMPATIBILITY IDEOGRAPH-2FA10;Lo;0;L;2A0CE;;;;N;;;;;
+2FA11;CJK COMPATIBILITY IDEOGRAPH-2FA11;Lo;0;L;4CF8;;;;N;;;;;
+2FA12;CJK COMPATIBILITY IDEOGRAPH-2FA12;Lo;0;L;2A105;;;;N;;;;;
+2FA13;CJK COMPATIBILITY IDEOGRAPH-2FA13;Lo;0;L;2A20E;;;;N;;;;;
+2FA14;CJK COMPATIBILITY IDEOGRAPH-2FA14;Lo;0;L;2A291;;;;N;;;;;
+2FA15;CJK COMPATIBILITY IDEOGRAPH-2FA15;Lo;0;L;9EBB;;;;N;;;;;
+2FA16;CJK COMPATIBILITY IDEOGRAPH-2FA16;Lo;0;L;4D56;;;;N;;;;;
+2FA17;CJK COMPATIBILITY IDEOGRAPH-2FA17;Lo;0;L;9EF9;;;;N;;;;;
+2FA18;CJK COMPATIBILITY IDEOGRAPH-2FA18;Lo;0;L;9EFE;;;;N;;;;;
+2FA19;CJK COMPATIBILITY IDEOGRAPH-2FA19;Lo;0;L;9F05;;;;N;;;;;
+2FA1A;CJK COMPATIBILITY IDEOGRAPH-2FA1A;Lo;0;L;9F0F;;;;N;;;;;
+2FA1B;CJK COMPATIBILITY IDEOGRAPH-2FA1B;Lo;0;L;9F16;;;;N;;;;;
+2FA1C;CJK COMPATIBILITY IDEOGRAPH-2FA1C;Lo;0;L;9F3B;;;;N;;;;;
+2FA1D;CJK COMPATIBILITY IDEOGRAPH-2FA1D;Lo;0;L;2A600;;;;N;;;;;
+E0001;LANGUAGE TAG;Cf;0;BN;;;;;N;;;;;
+E0020;TAG SPACE;Cf;0;BN;;;;;N;;;;;
+E0021;TAG EXCLAMATION MARK;Cf;0;BN;;;;;N;;;;;
+E0022;TAG QUOTATION MARK;Cf;0;BN;;;;;N;;;;;
+E0023;TAG NUMBER SIGN;Cf;0;BN;;;;;N;;;;;
+E0024;TAG DOLLAR SIGN;Cf;0;BN;;;;;N;;;;;
+E0025;TAG PERCENT SIGN;Cf;0;BN;;;;;N;;;;;
+E0026;TAG AMPERSAND;Cf;0;BN;;;;;N;;;;;
+E0027;TAG APOSTROPHE;Cf;0;BN;;;;;N;;;;;
+E0028;TAG LEFT PARENTHESIS;Cf;0;BN;;;;;N;;;;;
+E0029;TAG RIGHT PARENTHESIS;Cf;0;BN;;;;;N;;;;;
+E002A;TAG ASTERISK;Cf;0;BN;;;;;N;;;;;
+E002B;TAG PLUS SIGN;Cf;0;BN;;;;;N;;;;;
+E002C;TAG COMMA;Cf;0;BN;;;;;N;;;;;
+E002D;TAG HYPHEN-MINUS;Cf;0;BN;;;;;N;;;;;
+E002E;TAG FULL STOP;Cf;0;BN;;;;;N;;;;;
+E002F;TAG SOLIDUS;Cf;0;BN;;;;;N;;;;;
+E0030;TAG DIGIT ZERO;Cf;0;BN;;;;;N;;;;;
+E0031;TAG DIGIT ONE;Cf;0;BN;;;;;N;;;;;
+E0032;TAG DIGIT TWO;Cf;0;BN;;;;;N;;;;;
+E0033;TAG DIGIT THREE;Cf;0;BN;;;;;N;;;;;
+E0034;TAG DIGIT FOUR;Cf;0;BN;;;;;N;;;;;
+E0035;TAG DIGIT FIVE;Cf;0;BN;;;;;N;;;;;
+E0036;TAG DIGIT SIX;Cf;0;BN;;;;;N;;;;;
+E0037;TAG DIGIT SEVEN;Cf;0;BN;;;;;N;;;;;
+E0038;TAG DIGIT EIGHT;Cf;0;BN;;;;;N;;;;;
+E0039;TAG DIGIT NINE;Cf;0;BN;;;;;N;;;;;
+E003A;TAG COLON;Cf;0;BN;;;;;N;;;;;
+E003B;TAG SEMICOLON;Cf;0;BN;;;;;N;;;;;
+E003C;TAG LESS-THAN SIGN;Cf;0;BN;;;;;N;;;;;
+E003D;TAG EQUALS SIGN;Cf;0;BN;;;;;N;;;;;
+E003E;TAG GREATER-THAN SIGN;Cf;0;BN;;;;;N;;;;;
+E003F;TAG QUESTION MARK;Cf;0;BN;;;;;N;;;;;
+E0040;TAG COMMERCIAL AT;Cf;0;BN;;;;;N;;;;;
+E0041;TAG LATIN CAPITAL LETTER A;Cf;0;BN;;;;;N;;;;;
+E0042;TAG LATIN CAPITAL LETTER B;Cf;0;BN;;;;;N;;;;;
+E0043;TAG LATIN CAPITAL LETTER C;Cf;0;BN;;;;;N;;;;;
+E0044;TAG LATIN CAPITAL LETTER D;Cf;0;BN;;;;;N;;;;;
+E0045;TAG LATIN CAPITAL LETTER E;Cf;0;BN;;;;;N;;;;;
+E0046;TAG LATIN CAPITAL LETTER F;Cf;0;BN;;;;;N;;;;;
+E0047;TAG LATIN CAPITAL LETTER G;Cf;0;BN;;;;;N;;;;;
+E0048;TAG LATIN CAPITAL LETTER H;Cf;0;BN;;;;;N;;;;;
+E0049;TAG LATIN CAPITAL LETTER I;Cf;0;BN;;;;;N;;;;;
+E004A;TAG LATIN CAPITAL LETTER J;Cf;0;BN;;;;;N;;;;;
+E004B;TAG LATIN CAPITAL LETTER K;Cf;0;BN;;;;;N;;;;;
+E004C;TAG LATIN CAPITAL LETTER L;Cf;0;BN;;;;;N;;;;;
+E004D;TAG LATIN CAPITAL LETTER M;Cf;0;BN;;;;;N;;;;;
+E004E;TAG LATIN CAPITAL LETTER N;Cf;0;BN;;;;;N;;;;;
+E004F;TAG LATIN CAPITAL LETTER O;Cf;0;BN;;;;;N;;;;;
+E0050;TAG LATIN CAPITAL LETTER P;Cf;0;BN;;;;;N;;;;;
+E0051;TAG LATIN CAPITAL LETTER Q;Cf;0;BN;;;;;N;;;;;
+E0052;TAG LATIN CAPITAL LETTER R;Cf;0;BN;;;;;N;;;;;
+E0053;TAG LATIN CAPITAL LETTER S;Cf;0;BN;;;;;N;;;;;
+E0054;TAG LATIN CAPITAL LETTER T;Cf;0;BN;;;;;N;;;;;
+E0055;TAG LATIN CAPITAL LETTER U;Cf;0;BN;;;;;N;;;;;
+E0056;TAG LATIN CAPITAL LETTER V;Cf;0;BN;;;;;N;;;;;
+E0057;TAG LATIN CAPITAL LETTER W;Cf;0;BN;;;;;N;;;;;
+E0058;TAG LATIN CAPITAL LETTER X;Cf;0;BN;;;;;N;;;;;
+E0059;TAG LATIN CAPITAL LETTER Y;Cf;0;BN;;;;;N;;;;;
+E005A;TAG LATIN CAPITAL LETTER Z;Cf;0;BN;;;;;N;;;;;
+E005B;TAG LEFT SQUARE BRACKET;Cf;0;BN;;;;;N;;;;;
+E005C;TAG REVERSE SOLIDUS;Cf;0;BN;;;;;N;;;;;
+E005D;TAG RIGHT SQUARE BRACKET;Cf;0;BN;;;;;N;;;;;
+E005E;TAG CIRCUMFLEX ACCENT;Cf;0;BN;;;;;N;;;;;
+E005F;TAG LOW LINE;Cf;0;BN;;;;;N;;;;;
+E0060;TAG GRAVE ACCENT;Cf;0;BN;;;;;N;;;;;
+E0061;TAG LATIN SMALL LETTER A;Cf;0;BN;;;;;N;;;;;
+E0062;TAG LATIN SMALL LETTER B;Cf;0;BN;;;;;N;;;;;
+E0063;TAG LATIN SMALL LETTER C;Cf;0;BN;;;;;N;;;;;
+E0064;TAG LATIN SMALL LETTER D;Cf;0;BN;;;;;N;;;;;
+E0065;TAG LATIN SMALL LETTER E;Cf;0;BN;;;;;N;;;;;
+E0066;TAG LATIN SMALL LETTER F;Cf;0;BN;;;;;N;;;;;
+E0067;TAG LATIN SMALL LETTER G;Cf;0;BN;;;;;N;;;;;
+E0068;TAG LATIN SMALL LETTER H;Cf;0;BN;;;;;N;;;;;
+E0069;TAG LATIN SMALL LETTER I;Cf;0;BN;;;;;N;;;;;
+E006A;TAG LATIN SMALL LETTER J;Cf;0;BN;;;;;N;;;;;
+E006B;TAG LATIN SMALL LETTER K;Cf;0;BN;;;;;N;;;;;
+E006C;TAG LATIN SMALL LETTER L;Cf;0;BN;;;;;N;;;;;
+E006D;TAG LATIN SMALL LETTER M;Cf;0;BN;;;;;N;;;;;
+E006E;TAG LATIN SMALL LETTER N;Cf;0;BN;;;;;N;;;;;
+E006F;TAG LATIN SMALL LETTER O;Cf;0;BN;;;;;N;;;;;
+E0070;TAG LATIN SMALL LETTER P;Cf;0;BN;;;;;N;;;;;
+E0071;TAG LATIN SMALL LETTER Q;Cf;0;BN;;;;;N;;;;;
+E0072;TAG LATIN SMALL LETTER R;Cf;0;BN;;;;;N;;;;;
+E0073;TAG LATIN SMALL LETTER S;Cf;0;BN;;;;;N;;;;;
+E0074;TAG LATIN SMALL LETTER T;Cf;0;BN;;;;;N;;;;;
+E0075;TAG LATIN SMALL LETTER U;Cf;0;BN;;;;;N;;;;;
+E0076;TAG LATIN SMALL LETTER V;Cf;0;BN;;;;;N;;;;;
+E0077;TAG LATIN SMALL LETTER W;Cf;0;BN;;;;;N;;;;;
+E0078;TAG LATIN SMALL LETTER X;Cf;0;BN;;;;;N;;;;;
+E0079;TAG LATIN SMALL LETTER Y;Cf;0;BN;;;;;N;;;;;
+E007A;TAG LATIN SMALL LETTER Z;Cf;0;BN;;;;;N;;;;;
+E007B;TAG LEFT CURLY BRACKET;Cf;0;BN;;;;;N;;;;;
+E007C;TAG VERTICAL LINE;Cf;0;BN;;;;;N;;;;;
+E007D;TAG RIGHT CURLY BRACKET;Cf;0;BN;;;;;N;;;;;
+E007E;TAG TILDE;Cf;0;BN;;;;;N;;;;;
+E007F;CANCEL TAG;Cf;0;BN;;;;;N;;;;;
+E0100;VARIATION SELECTOR-17;Mn;0;NSM;;;;;N;;;;;
+E0101;VARIATION SELECTOR-18;Mn;0;NSM;;;;;N;;;;;
+E0102;VARIATION SELECTOR-19;Mn;0;NSM;;;;;N;;;;;
+E0103;VARIATION SELECTOR-20;Mn;0;NSM;;;;;N;;;;;
+E0104;VARIATION SELECTOR-21;Mn;0;NSM;;;;;N;;;;;
+E0105;VARIATION SELECTOR-22;Mn;0;NSM;;;;;N;;;;;
+E0106;VARIATION SELECTOR-23;Mn;0;NSM;;;;;N;;;;;
+E0107;VARIATION SELECTOR-24;Mn;0;NSM;;;;;N;;;;;
+E0108;VARIATION SELECTOR-25;Mn;0;NSM;;;;;N;;;;;
+E0109;VARIATION SELECTOR-26;Mn;0;NSM;;;;;N;;;;;
+E010A;VARIATION SELECTOR-27;Mn;0;NSM;;;;;N;;;;;
+E010B;VARIATION SELECTOR-28;Mn;0;NSM;;;;;N;;;;;
+E010C;VARIATION SELECTOR-29;Mn;0;NSM;;;;;N;;;;;
+E010D;VARIATION SELECTOR-30;Mn;0;NSM;;;;;N;;;;;
+E010E;VARIATION SELECTOR-31;Mn;0;NSM;;;;;N;;;;;
+E010F;VARIATION SELECTOR-32;Mn;0;NSM;;;;;N;;;;;
+E0110;VARIATION SELECTOR-33;Mn;0;NSM;;;;;N;;;;;
+E0111;VARIATION SELECTOR-34;Mn;0;NSM;;;;;N;;;;;
+E0112;VARIATION SELECTOR-35;Mn;0;NSM;;;;;N;;;;;
+E0113;VARIATION SELECTOR-36;Mn;0;NSM;;;;;N;;;;;
+E0114;VARIATION SELECTOR-37;Mn;0;NSM;;;;;N;;;;;
+E0115;VARIATION SELECTOR-38;Mn;0;NSM;;;;;N;;;;;
+E0116;VARIATION SELECTOR-39;Mn;0;NSM;;;;;N;;;;;
+E0117;VARIATION SELECTOR-40;Mn;0;NSM;;;;;N;;;;;
+E0118;VARIATION SELECTOR-41;Mn;0;NSM;;;;;N;;;;;
+E0119;VARIATION SELECTOR-42;Mn;0;NSM;;;;;N;;;;;
+E011A;VARIATION SELECTOR-43;Mn;0;NSM;;;;;N;;;;;
+E011B;VARIATION SELECTOR-44;Mn;0;NSM;;;;;N;;;;;
+E011C;VARIATION SELECTOR-45;Mn;0;NSM;;;;;N;;;;;
+E011D;VARIATION SELECTOR-46;Mn;0;NSM;;;;;N;;;;;
+E011E;VARIATION SELECTOR-47;Mn;0;NSM;;;;;N;;;;;
+E011F;VARIATION SELECTOR-48;Mn;0;NSM;;;;;N;;;;;
+E0120;VARIATION SELECTOR-49;Mn;0;NSM;;;;;N;;;;;
+E0121;VARIATION SELECTOR-50;Mn;0;NSM;;;;;N;;;;;
+E0122;VARIATION SELECTOR-51;Mn;0;NSM;;;;;N;;;;;
+E0123;VARIATION SELECTOR-52;Mn;0;NSM;;;;;N;;;;;
+E0124;VARIATION SELECTOR-53;Mn;0;NSM;;;;;N;;;;;
+E0125;VARIATION SELECTOR-54;Mn;0;NSM;;;;;N;;;;;
+E0126;VARIATION SELECTOR-55;Mn;0;NSM;;;;;N;;;;;
+E0127;VARIATION SELECTOR-56;Mn;0;NSM;;;;;N;;;;;
+E0128;VARIATION SELECTOR-57;Mn;0;NSM;;;;;N;;;;;
+E0129;VARIATION SELECTOR-58;Mn;0;NSM;;;;;N;;;;;
+E012A;VARIATION SELECTOR-59;Mn;0;NSM;;;;;N;;;;;
+E012B;VARIATION SELECTOR-60;Mn;0;NSM;;;;;N;;;;;
+E012C;VARIATION SELECTOR-61;Mn;0;NSM;;;;;N;;;;;
+E012D;VARIATION SELECTOR-62;Mn;0;NSM;;;;;N;;;;;
+E012E;VARIATION SELECTOR-63;Mn;0;NSM;;;;;N;;;;;
+E012F;VARIATION SELECTOR-64;Mn;0;NSM;;;;;N;;;;;
+E0130;VARIATION SELECTOR-65;Mn;0;NSM;;;;;N;;;;;
+E0131;VARIATION SELECTOR-66;Mn;0;NSM;;;;;N;;;;;
+E0132;VARIATION SELECTOR-67;Mn;0;NSM;;;;;N;;;;;
+E0133;VARIATION SELECTOR-68;Mn;0;NSM;;;;;N;;;;;
+E0134;VARIATION SELECTOR-69;Mn;0;NSM;;;;;N;;;;;
+E0135;VARIATION SELECTOR-70;Mn;0;NSM;;;;;N;;;;;
+E0136;VARIATION SELECTOR-71;Mn;0;NSM;;;;;N;;;;;
+E0137;VARIATION SELECTOR-72;Mn;0;NSM;;;;;N;;;;;
+E0138;VARIATION SELECTOR-73;Mn;0;NSM;;;;;N;;;;;
+E0139;VARIATION SELECTOR-74;Mn;0;NSM;;;;;N;;;;;
+E013A;VARIATION SELECTOR-75;Mn;0;NSM;;;;;N;;;;;
+E013B;VARIATION SELECTOR-76;Mn;0;NSM;;;;;N;;;;;
+E013C;VARIATION SELECTOR-77;Mn;0;NSM;;;;;N;;;;;
+E013D;VARIATION SELECTOR-78;Mn;0;NSM;;;;;N;;;;;
+E013E;VARIATION SELECTOR-79;Mn;0;NSM;;;;;N;;;;;
+E013F;VARIATION SELECTOR-80;Mn;0;NSM;;;;;N;;;;;
+E0140;VARIATION SELECTOR-81;Mn;0;NSM;;;;;N;;;;;
+E0141;VARIATION SELECTOR-82;Mn;0;NSM;;;;;N;;;;;
+E0142;VARIATION SELECTOR-83;Mn;0;NSM;;;;;N;;;;;
+E0143;VARIATION SELECTOR-84;Mn;0;NSM;;;;;N;;;;;
+E0144;VARIATION SELECTOR-85;Mn;0;NSM;;;;;N;;;;;
+E0145;VARIATION SELECTOR-86;Mn;0;NSM;;;;;N;;;;;
+E0146;VARIATION SELECTOR-87;Mn;0;NSM;;;;;N;;;;;
+E0147;VARIATION SELECTOR-88;Mn;0;NSM;;;;;N;;;;;
+E0148;VARIATION SELECTOR-89;Mn;0;NSM;;;;;N;;;;;
+E0149;VARIATION SELECTOR-90;Mn;0;NSM;;;;;N;;;;;
+E014A;VARIATION SELECTOR-91;Mn;0;NSM;;;;;N;;;;;
+E014B;VARIATION SELECTOR-92;Mn;0;NSM;;;;;N;;;;;
+E014C;VARIATION SELECTOR-93;Mn;0;NSM;;;;;N;;;;;
+E014D;VARIATION SELECTOR-94;Mn;0;NSM;;;;;N;;;;;
+E014E;VARIATION SELECTOR-95;Mn;0;NSM;;;;;N;;;;;
+E014F;VARIATION SELECTOR-96;Mn;0;NSM;;;;;N;;;;;
+E0150;VARIATION SELECTOR-97;Mn;0;NSM;;;;;N;;;;;
+E0151;VARIATION SELECTOR-98;Mn;0;NSM;;;;;N;;;;;
+E0152;VARIATION SELECTOR-99;Mn;0;NSM;;;;;N;;;;;
+E0153;VARIATION SELECTOR-100;Mn;0;NSM;;;;;N;;;;;
+E0154;VARIATION SELECTOR-101;Mn;0;NSM;;;;;N;;;;;
+E0155;VARIATION SELECTOR-102;Mn;0;NSM;;;;;N;;;;;
+E0156;VARIATION SELECTOR-103;Mn;0;NSM;;;;;N;;;;;
+E0157;VARIATION SELECTOR-104;Mn;0;NSM;;;;;N;;;;;
+E0158;VARIATION SELECTOR-105;Mn;0;NSM;;;;;N;;;;;
+E0159;VARIATION SELECTOR-106;Mn;0;NSM;;;;;N;;;;;
+E015A;VARIATION SELECTOR-107;Mn;0;NSM;;;;;N;;;;;
+E015B;VARIATION SELECTOR-108;Mn;0;NSM;;;;;N;;;;;
+E015C;VARIATION SELECTOR-109;Mn;0;NSM;;;;;N;;;;;
+E015D;VARIATION SELECTOR-110;Mn;0;NSM;;;;;N;;;;;
+E015E;VARIATION SELECTOR-111;Mn;0;NSM;;;;;N;;;;;
+E015F;VARIATION SELECTOR-112;Mn;0;NSM;;;;;N;;;;;
+E0160;VARIATION SELECTOR-113;Mn;0;NSM;;;;;N;;;;;
+E0161;VARIATION SELECTOR-114;Mn;0;NSM;;;;;N;;;;;
+E0162;VARIATION SELECTOR-115;Mn;0;NSM;;;;;N;;;;;
+E0163;VARIATION SELECTOR-116;Mn;0;NSM;;;;;N;;;;;
+E0164;VARIATION SELECTOR-117;Mn;0;NSM;;;;;N;;;;;
+E0165;VARIATION SELECTOR-118;Mn;0;NSM;;;;;N;;;;;
+E0166;VARIATION SELECTOR-119;Mn;0;NSM;;;;;N;;;;;
+E0167;VARIATION SELECTOR-120;Mn;0;NSM;;;;;N;;;;;
+E0168;VARIATION SELECTOR-121;Mn;0;NSM;;;;;N;;;;;
+E0169;VARIATION SELECTOR-122;Mn;0;NSM;;;;;N;;;;;
+E016A;VARIATION SELECTOR-123;Mn;0;NSM;;;;;N;;;;;
+E016B;VARIATION SELECTOR-124;Mn;0;NSM;;;;;N;;;;;
+E016C;VARIATION SELECTOR-125;Mn;0;NSM;;;;;N;;;;;
+E016D;VARIATION SELECTOR-126;Mn;0;NSM;;;;;N;;;;;
+E016E;VARIATION SELECTOR-127;Mn;0;NSM;;;;;N;;;;;
+E016F;VARIATION SELECTOR-128;Mn;0;NSM;;;;;N;;;;;
+E0170;VARIATION SELECTOR-129;Mn;0;NSM;;;;;N;;;;;
+E0171;VARIATION SELECTOR-130;Mn;0;NSM;;;;;N;;;;;
+E0172;VARIATION SELECTOR-131;Mn;0;NSM;;;;;N;;;;;
+E0173;VARIATION SELECTOR-132;Mn;0;NSM;;;;;N;;;;;
+E0174;VARIATION SELECTOR-133;Mn;0;NSM;;;;;N;;;;;
+E0175;VARIATION SELECTOR-134;Mn;0;NSM;;;;;N;;;;;
+E0176;VARIATION SELECTOR-135;Mn;0;NSM;;;;;N;;;;;
+E0177;VARIATION SELECTOR-136;Mn;0;NSM;;;;;N;;;;;
+E0178;VARIATION SELECTOR-137;Mn;0;NSM;;;;;N;;;;;
+E0179;VARIATION SELECTOR-138;Mn;0;NSM;;;;;N;;;;;
+E017A;VARIATION SELECTOR-139;Mn;0;NSM;;;;;N;;;;;
+E017B;VARIATION SELECTOR-140;Mn;0;NSM;;;;;N;;;;;
+E017C;VARIATION SELECTOR-141;Mn;0;NSM;;;;;N;;;;;
+E017D;VARIATION SELECTOR-142;Mn;0;NSM;;;;;N;;;;;
+E017E;VARIATION SELECTOR-143;Mn;0;NSM;;;;;N;;;;;
+E017F;VARIATION SELECTOR-144;Mn;0;NSM;;;;;N;;;;;
+E0180;VARIATION SELECTOR-145;Mn;0;NSM;;;;;N;;;;;
+E0181;VARIATION SELECTOR-146;Mn;0;NSM;;;;;N;;;;;
+E0182;VARIATION SELECTOR-147;Mn;0;NSM;;;;;N;;;;;
+E0183;VARIATION SELECTOR-148;Mn;0;NSM;;;;;N;;;;;
+E0184;VARIATION SELECTOR-149;Mn;0;NSM;;;;;N;;;;;
+E0185;VARIATION SELECTOR-150;Mn;0;NSM;;;;;N;;;;;
+E0186;VARIATION SELECTOR-151;Mn;0;NSM;;;;;N;;;;;
+E0187;VARIATION SELECTOR-152;Mn;0;NSM;;;;;N;;;;;
+E0188;VARIATION SELECTOR-153;Mn;0;NSM;;;;;N;;;;;
+E0189;VARIATION SELECTOR-154;Mn;0;NSM;;;;;N;;;;;
+E018A;VARIATION SELECTOR-155;Mn;0;NSM;;;;;N;;;;;
+E018B;VARIATION SELECTOR-156;Mn;0;NSM;;;;;N;;;;;
+E018C;VARIATION SELECTOR-157;Mn;0;NSM;;;;;N;;;;;
+E018D;VARIATION SELECTOR-158;Mn;0;NSM;;;;;N;;;;;
+E018E;VARIATION SELECTOR-159;Mn;0;NSM;;;;;N;;;;;
+E018F;VARIATION SELECTOR-160;Mn;0;NSM;;;;;N;;;;;
+E0190;VARIATION SELECTOR-161;Mn;0;NSM;;;;;N;;;;;
+E0191;VARIATION SELECTOR-162;Mn;0;NSM;;;;;N;;;;;
+E0192;VARIATION SELECTOR-163;Mn;0;NSM;;;;;N;;;;;
+E0193;VARIATION SELECTOR-164;Mn;0;NSM;;;;;N;;;;;
+E0194;VARIATION SELECTOR-165;Mn;0;NSM;;;;;N;;;;;
+E0195;VARIATION SELECTOR-166;Mn;0;NSM;;;;;N;;;;;
+E0196;VARIATION SELECTOR-167;Mn;0;NSM;;;;;N;;;;;
+E0197;VARIATION SELECTOR-168;Mn;0;NSM;;;;;N;;;;;
+E0198;VARIATION SELECTOR-169;Mn;0;NSM;;;;;N;;;;;
+E0199;VARIATION SELECTOR-170;Mn;0;NSM;;;;;N;;;;;
+E019A;VARIATION SELECTOR-171;Mn;0;NSM;;;;;N;;;;;
+E019B;VARIATION SELECTOR-172;Mn;0;NSM;;;;;N;;;;;
+E019C;VARIATION SELECTOR-173;Mn;0;NSM;;;;;N;;;;;
+E019D;VARIATION SELECTOR-174;Mn;0;NSM;;;;;N;;;;;
+E019E;VARIATION SELECTOR-175;Mn;0;NSM;;;;;N;;;;;
+E019F;VARIATION SELECTOR-176;Mn;0;NSM;;;;;N;;;;;
+E01A0;VARIATION SELECTOR-177;Mn;0;NSM;;;;;N;;;;;
+E01A1;VARIATION SELECTOR-178;Mn;0;NSM;;;;;N;;;;;
+E01A2;VARIATION SELECTOR-179;Mn;0;NSM;;;;;N;;;;;
+E01A3;VARIATION SELECTOR-180;Mn;0;NSM;;;;;N;;;;;
+E01A4;VARIATION SELECTOR-181;Mn;0;NSM;;;;;N;;;;;
+E01A5;VARIATION SELECTOR-182;Mn;0;NSM;;;;;N;;;;;
+E01A6;VARIATION SELECTOR-183;Mn;0;NSM;;;;;N;;;;;
+E01A7;VARIATION SELECTOR-184;Mn;0;NSM;;;;;N;;;;;
+E01A8;VARIATION SELECTOR-185;Mn;0;NSM;;;;;N;;;;;
+E01A9;VARIATION SELECTOR-186;Mn;0;NSM;;;;;N;;;;;
+E01AA;VARIATION SELECTOR-187;Mn;0;NSM;;;;;N;;;;;
+E01AB;VARIATION SELECTOR-188;Mn;0;NSM;;;;;N;;;;;
+E01AC;VARIATION SELECTOR-189;Mn;0;NSM;;;;;N;;;;;
+E01AD;VARIATION SELECTOR-190;Mn;0;NSM;;;;;N;;;;;
+E01AE;VARIATION SELECTOR-191;Mn;0;NSM;;;;;N;;;;;
+E01AF;VARIATION SELECTOR-192;Mn;0;NSM;;;;;N;;;;;
+E01B0;VARIATION SELECTOR-193;Mn;0;NSM;;;;;N;;;;;
+E01B1;VARIATION SELECTOR-194;Mn;0;NSM;;;;;N;;;;;
+E01B2;VARIATION SELECTOR-195;Mn;0;NSM;;;;;N;;;;;
+E01B3;VARIATION SELECTOR-196;Mn;0;NSM;;;;;N;;;;;
+E01B4;VARIATION SELECTOR-197;Mn;0;NSM;;;;;N;;;;;
+E01B5;VARIATION SELECTOR-198;Mn;0;NSM;;;;;N;;;;;
+E01B6;VARIATION SELECTOR-199;Mn;0;NSM;;;;;N;;;;;
+E01B7;VARIATION SELECTOR-200;Mn;0;NSM;;;;;N;;;;;
+E01B8;VARIATION SELECTOR-201;Mn;0;NSM;;;;;N;;;;;
+E01B9;VARIATION SELECTOR-202;Mn;0;NSM;;;;;N;;;;;
+E01BA;VARIATION SELECTOR-203;Mn;0;NSM;;;;;N;;;;;
+E01BB;VARIATION SELECTOR-204;Mn;0;NSM;;;;;N;;;;;
+E01BC;VARIATION SELECTOR-205;Mn;0;NSM;;;;;N;;;;;
+E01BD;VARIATION SELECTOR-206;Mn;0;NSM;;;;;N;;;;;
+E01BE;VARIATION SELECTOR-207;Mn;0;NSM;;;;;N;;;;;
+E01BF;VARIATION SELECTOR-208;Mn;0;NSM;;;;;N;;;;;
+E01C0;VARIATION SELECTOR-209;Mn;0;NSM;;;;;N;;;;;
+E01C1;VARIATION SELECTOR-210;Mn;0;NSM;;;;;N;;;;;
+E01C2;VARIATION SELECTOR-211;Mn;0;NSM;;;;;N;;;;;
+E01C3;VARIATION SELECTOR-212;Mn;0;NSM;;;;;N;;;;;
+E01C4;VARIATION SELECTOR-213;Mn;0;NSM;;;;;N;;;;;
+E01C5;VARIATION SELECTOR-214;Mn;0;NSM;;;;;N;;;;;
+E01C6;VARIATION SELECTOR-215;Mn;0;NSM;;;;;N;;;;;
+E01C7;VARIATION SELECTOR-216;Mn;0;NSM;;;;;N;;;;;
+E01C8;VARIATION SELECTOR-217;Mn;0;NSM;;;;;N;;;;;
+E01C9;VARIATION SELECTOR-218;Mn;0;NSM;;;;;N;;;;;
+E01CA;VARIATION SELECTOR-219;Mn;0;NSM;;;;;N;;;;;
+E01CB;VARIATION SELECTOR-220;Mn;0;NSM;;;;;N;;;;;
+E01CC;VARIATION SELECTOR-221;Mn;0;NSM;;;;;N;;;;;
+E01CD;VARIATION SELECTOR-222;Mn;0;NSM;;;;;N;;;;;
+E01CE;VARIATION SELECTOR-223;Mn;0;NSM;;;;;N;;;;;
+E01CF;VARIATION SELECTOR-224;Mn;0;NSM;;;;;N;;;;;
+E01D0;VARIATION SELECTOR-225;Mn;0;NSM;;;;;N;;;;;
+E01D1;VARIATION SELECTOR-226;Mn;0;NSM;;;;;N;;;;;
+E01D2;VARIATION SELECTOR-227;Mn;0;NSM;;;;;N;;;;;
+E01D3;VARIATION SELECTOR-228;Mn;0;NSM;;;;;N;;;;;
+E01D4;VARIATION SELECTOR-229;Mn;0;NSM;;;;;N;;;;;
+E01D5;VARIATION SELECTOR-230;Mn;0;NSM;;;;;N;;;;;
+E01D6;VARIATION SELECTOR-231;Mn;0;NSM;;;;;N;;;;;
+E01D7;VARIATION SELECTOR-232;Mn;0;NSM;;;;;N;;;;;
+E01D8;VARIATION SELECTOR-233;Mn;0;NSM;;;;;N;;;;;
+E01D9;VARIATION SELECTOR-234;Mn;0;NSM;;;;;N;;;;;
+E01DA;VARIATION SELECTOR-235;Mn;0;NSM;;;;;N;;;;;
+E01DB;VARIATION SELECTOR-236;Mn;0;NSM;;;;;N;;;;;
+E01DC;VARIATION SELECTOR-237;Mn;0;NSM;;;;;N;;;;;
+E01DD;VARIATION SELECTOR-238;Mn;0;NSM;;;;;N;;;;;
+E01DE;VARIATION SELECTOR-239;Mn;0;NSM;;;;;N;;;;;
+E01DF;VARIATION SELECTOR-240;Mn;0;NSM;;;;;N;;;;;
+E01E0;VARIATION SELECTOR-241;Mn;0;NSM;;;;;N;;;;;
+E01E1;VARIATION SELECTOR-242;Mn;0;NSM;;;;;N;;;;;
+E01E2;VARIATION SELECTOR-243;Mn;0;NSM;;;;;N;;;;;
+E01E3;VARIATION SELECTOR-244;Mn;0;NSM;;;;;N;;;;;
+E01E4;VARIATION SELECTOR-245;Mn;0;NSM;;;;;N;;;;;
+E01E5;VARIATION SELECTOR-246;Mn;0;NSM;;;;;N;;;;;
+E01E6;VARIATION SELECTOR-247;Mn;0;NSM;;;;;N;;;;;
+E01E7;VARIATION SELECTOR-248;Mn;0;NSM;;;;;N;;;;;
+E01E8;VARIATION SELECTOR-249;Mn;0;NSM;;;;;N;;;;;
+E01E9;VARIATION SELECTOR-250;Mn;0;NSM;;;;;N;;;;;
+E01EA;VARIATION SELECTOR-251;Mn;0;NSM;;;;;N;;;;;
+E01EB;VARIATION SELECTOR-252;Mn;0;NSM;;;;;N;;;;;
+E01EC;VARIATION SELECTOR-253;Mn;0;NSM;;;;;N;;;;;
+E01ED;VARIATION SELECTOR-254;Mn;0;NSM;;;;;N;;;;;
+E01EE;VARIATION SELECTOR-255;Mn;0;NSM;;;;;N;;;;;
+E01EF;VARIATION SELECTOR-256;Mn;0;NSM;;;;;N;;;;;
+F0000;<Plane 15 Private Use, First>;Co;0;L;;;;;N;;;;;
+FFFFD;<Plane 15 Private Use, Last>;Co;0;L;;;;;N;;;;;
+100000;<Plane 16 Private Use, First>;Co;0;L;;;;;N;;;;;
+10FFFD;<Plane 16 Private Use, Last>;Co;0;L;;;;;N;;;;;
diff --git a/src/com/ibm/icu/dev/data/unicode/ucdterms.txt b/src/com/ibm/icu/dev/data/unicode/ucdterms.txt
new file mode 100644
index 0000000..7f1ddea
--- /dev/null
+++ b/src/com/ibm/icu/dev/data/unicode/ucdterms.txt
@@ -0,0 +1,45 @@
+UNICODE, INC. LICENSE AGREEMENT - DATA FILES AND SOFTWARE
+
+Unicode Data Files include all data files under the directories
+http://www.unicode.org/Public/ and http://www.unicode.org/reports/.
+Unicode Software includes any source code under the directories
+http://www.unicode.org/Public/ and http://www.unicode.org/reports/.
+
+NOTICE TO USER: Carefully read the following legal agreement. BY DOWNLOADING,
+INSTALLING, COPYING OR OTHERWISE USING UNICODE INC.'S DATA FILES ("DATA FILES"),
+AND/OR SOFTWARE ("SOFTWARE"), YOU UNEQUIVOCALLY ACCEPT, AND AGREE TO BE BOUND
+BY, ALL OF THE TERMS AND CONDITIONS OF THIS AGREEMENT. IF YOU DO NOT AGREE,
+DO NOT DOWNLOAD, INSTALL, COPY, DISTRIBUTE OR USE THE DATA FILES OR SOFTWARE.
+
+COPYRIGHT AND PERMISSION NOTICE
+
+Copyright (c) 1991-2004 Unicode, Inc. All rights reserved. Distributed under the
+Terms of Use in http://www.unicode.org/copyright.html.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of
+the Unicode data files and associated documentation (the "Data Files") or
+Unicode software and associated documentation (the "Software") to deal in the
+Data Files or Software without restriction, including without limitation the
+rights to use, copy, modify, merge, publish, distribute, and/or sell copies of
+the Data Files or Software, and to permit persons to whom the Data Files or
+Software are furnished to do so, provided that (a) the above copyright notice(s)
+and this permission notice appear in all copies of the Data Files or Software,
+(b) both the above copyright notice(s) and this permission notice appear in
+associated documentation, and (c) there is clear notice in each modified Data
+File or in the Software as well as in the documentation associated with the Data
+File(s) or Software that the data or software has been modified.
+
+THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD
+PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS
+NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL
+DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
+OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA FILES OR
+SOFTWARE.
+
+Except as contained in this notice, the name of a copyright holder shall not be
+used in advertising or otherwise to promote the sale, use or other dealings in
+these Data Files or Software without prior written authorization of the
+copyright holder.
diff --git a/src/com/ibm/icu/dev/demo/calendar/CalendarApp.java b/src/com/ibm/icu/dev/demo/calendar/CalendarApp.java
new file mode 100755
index 0000000..d752c0a
--- /dev/null
+++ b/src/com/ibm/icu/dev/demo/calendar/CalendarApp.java
@@ -0,0 +1,32 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1997-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+package com.ibm.icu.dev.demo.calendar;
+
+import java.awt.Frame;
+
+import com.ibm.icu.dev.demo.impl.*;
+
+/**
+ * CalendarApp demonstrates how Calendar works.
+ */
+public class CalendarApp extends DemoApplet
+{
+    /**
+     * The main function which defines the behavior of the CalendarDemo
+     * applet when an applet is started.
+     */
+    public static void main(String argv[]) {
+
+        new CalendarApp().showDemo();
+    }
+
+    /* This creates a CalendarFrame for the demo applet. */
+    public Frame createDemoFrame(DemoApplet applet) {
+        return new CalendarFrame(applet);
+    }
+}
diff --git a/src/com/ibm/icu/dev/demo/calendar/CalendarCalc.java b/src/com/ibm/icu/dev/demo/calendar/CalendarCalc.java
new file mode 100755
index 0000000..677eb6b
--- /dev/null
+++ b/src/com/ibm/icu/dev/demo/calendar/CalendarCalc.java
@@ -0,0 +1,586 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1997-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+package com.ibm.icu.dev.demo.calendar;
+
+import java.awt.Button;
+import java.awt.Checkbox;
+import java.awt.CheckboxGroup;
+import java.awt.Choice;
+import java.awt.Component;
+import java.awt.Container;
+import java.awt.FlowLayout;
+import java.awt.Font;
+import java.awt.Frame;
+import java.awt.GridLayout;
+import java.awt.Label;
+import java.awt.Panel;
+import java.awt.TextField;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.awt.event.ItemEvent;
+import java.awt.event.ItemListener;
+import java.awt.event.KeyEvent;
+import java.awt.event.WindowEvent;
+import java.text.ParsePosition;
+import java.util.Date;
+import java.util.Locale;
+
+import javax.swing.JTextField;
+
+import com.ibm.icu.dev.demo.impl.DemoApplet;
+import com.ibm.icu.dev.demo.impl.DemoUtility;
+import com.ibm.icu.text.DateFormat;
+import com.ibm.icu.text.SimpleDateFormat;
+import com.ibm.icu.util.BuddhistCalendar;
+import com.ibm.icu.util.Calendar;
+import com.ibm.icu.util.GregorianCalendar;
+import com.ibm.icu.util.HebrewCalendar;
+import com.ibm.icu.util.IslamicCalendar;
+import com.ibm.icu.util.JapaneseCalendar;
+import com.ibm.icu.util.TimeZone;
+
+/**
+ * CalendarCalc demonstrates how Date/Time formatter works.
+ */
+public class CalendarCalc extends DemoApplet
+{
+    /**
+     * The main function which defines the behavior of the MultiCalendarDemo
+     * applet when an applet is started.
+     */
+    public static void main(String argv[]) {
+        new CalendarCalc().showDemo();
+    }
+
+    /**
+     * This creates a CalendarCalcFrame for the demo applet.
+     */
+    public Frame createDemoFrame(DemoApplet applet) {
+        return new CalendarCalcFrame(applet);
+    }
+}
+
+/**
+ * A Frame is a top-level window with a title. The default layout for a frame
+ * is BorderLayout.  The CalendarCalcFrame class defines the window layout of
+ * MultiCalendarDemo.
+ */
+class CalendarCalcFrame extends Frame implements ActionListener
+{
+    static final Locale[] locales = DemoUtility.getG7Locales();
+
+    private DemoApplet              applet;
+    private long                    time = System.currentTimeMillis();
+
+    private static final RollAddField kRollAddFields[] = {
+        new RollAddField(Calendar.YEAR,                 "Year" ),
+        new RollAddField(Calendar.MONTH,                "Month" ),
+        new RollAddField(Calendar.WEEK_OF_MONTH,        "Week of Month" ),
+        new RollAddField(Calendar.WEEK_OF_YEAR,         "Week of Year" ),
+        new RollAddField(Calendar.DAY_OF_MONTH,         "Day of Month" ),
+        new RollAddField(Calendar.DAY_OF_WEEK,          "Day of Week" ),
+        new RollAddField(Calendar.DAY_OF_WEEK_IN_MONTH, "Day of Week in Month" ),
+        new RollAddField(Calendar.DAY_OF_YEAR,          "Day of Year" ),
+        new RollAddField(Calendar.AM_PM,                "AM/PM" ),
+        new RollAddField(Calendar.HOUR_OF_DAY,          "Hour of day" ),
+        new RollAddField(Calendar.HOUR,                 "Hour" ),
+        new RollAddField(Calendar.MINUTE,               "Minute" ),
+        new RollAddField(Calendar.SECOND,               "Second" ),
+    };
+
+    /**
+     * Constructs a new CalendarCalcFrame that is initially invisible.
+     */
+    public CalendarCalcFrame(DemoApplet applet)
+    {
+        super("Multiple Calendar Demo");
+        this.applet = applet;
+        init();
+        start();
+    }
+
+    /**
+     * Initializes the applet. You never need to call this directly, it
+     * is called automatically by the system once the applet is created.
+     */
+    public void init()
+    {
+        buildGUI();
+
+        patternText.setText( calendars[0].toPattern() );
+
+        // Force an update of the display
+        cityChanged();
+        millisFormat();
+        enableEvents(KeyEvent.KEY_RELEASED);
+        enableEvents(WindowEvent.WINDOW_CLOSING);
+    }
+
+    //------------------------------------------------------------
+    // package private
+    //------------------------------------------------------------
+    void addWithFont(Container container, Component foo, Font font) {
+        if (font != null)
+            foo.setFont(font);
+        container.add(foo);
+    }
+
+    /**
+     * Called to start the applet. You never need to call this method
+     * directly, it is called when the applet's document is visited.
+     */
+    public void start()
+    {
+        // do nothing
+    }
+
+    TextField patternText;
+
+    Choice dateMenu;
+    Choice localeMenu;
+
+    Button up;
+    Button down;
+
+    Checkbox getRoll;
+    Checkbox getAdd;
+
+    public void buildGUI()
+    {
+        setBackground(DemoUtility.bgColor);
+        setLayout(new FlowLayout()); // shouldn't be necessary, but it is.
+
+// TITLE
+        Label label1=new Label("Calendar Converter", Label.CENTER);
+        label1.setFont(DemoUtility.titleFont);
+        add(label1);
+        add(DemoUtility.createSpacer());
+
+// IO Panel
+        Panel topPanel = new Panel();
+        topPanel.setLayout(new FlowLayout());
+
+        CheckboxGroup group1= new CheckboxGroup();
+
+        // Set up the controls for each calendar we're demonstrating
+        for (int i = 0; i < calendars.length; i++)
+        {
+            Label label = new Label(calendars[i].name, Label.RIGHT);
+            label.setFont(DemoUtility.labelFont);
+            topPanel.add(label);
+
+            topPanel.add(calendars[i].text);
+
+            final int j = i;
+            calendars[i].text.addActionListener( new ActionListener() {
+                public void actionPerformed(ActionEvent e) {
+                    textChanged(j);
+                }
+            } );
+
+            calendars[i].rollAdd.setCheckboxGroup(group1);
+            topPanel.add(calendars[i].rollAdd);
+        }
+        calendars[0].rollAdd.setState(true);    // Make the first one selected
+
+        Label label4=new Label("Pattern", Label.RIGHT);
+        label4.setFont(DemoUtility.labelFont);
+        topPanel.add(label4);
+
+        patternText=new TextField(FIELD_COLUMNS);
+        patternText.setFont(DemoUtility.editFont);
+        topPanel.add(patternText);
+        topPanel.add(new Label(""));
+
+        DemoUtility.fixGrid(topPanel,3);
+        add(topPanel);
+        add(DemoUtility.createSpacer());
+
+// ROLL / ADD
+        Panel rollAddPanel=new Panel();
+        {
+            rollAddPanel.setLayout(new FlowLayout());
+
+            Panel rollAddBoxes = new Panel();
+            {
+                rollAddBoxes.setLayout(new GridLayout(2,1));
+                CheckboxGroup group2= new CheckboxGroup();
+                getRoll = new Checkbox("Roll",group2, false);
+                getAdd = new Checkbox("Add",group2, true);
+
+                rollAddBoxes.add(getRoll);
+                rollAddBoxes.add(getAdd);
+            }
+
+            Label dateLabel=new Label("Date Fields");
+            dateLabel.setFont(DemoUtility.labelFont);
+
+            dateMenu= new Choice();
+            dateMenu.setBackground(DemoUtility.choiceColor);
+            for (int i = 0; i < kRollAddFields.length; i++) {
+                dateMenu.addItem(kRollAddFields[i].name);
+                if (kRollAddFields[i].field == Calendar.MONTH) {
+                    dateMenu.select(i);
+                }
+            }
+
+            Panel upDown = new Panel();
+            {
+                upDown.setLayout(new GridLayout(2,1));
+
+                // *** If the images are not found, we use the label.
+                up = new Button("^");
+                down = new Button("v");
+                up.setBackground(DemoUtility.bgColor);
+                down.setBackground(DemoUtility.bgColor);
+                upDown.add(up);
+                upDown.add(down);
+                up.addActionListener(this);
+                down.addActionListener(this);
+            }
+
+            rollAddPanel.add(dateLabel);
+            rollAddPanel.add(dateMenu);
+            rollAddPanel.add(rollAddBoxes);
+            rollAddPanel.add(upDown);
+
+        }
+        Panel localePanel = new Panel();
+        {
+            // Make the locale popup menus
+            localeMenu= new Choice();
+            Locale defaultLocale = Locale.getDefault();
+            int bestMatch = -1, thisMatch = -1;
+            int selectMe = 0;
+            
+            for (int i = 0; i < locales.length; i++) {
+                if (i > 0 && locales[i].getLanguage().equals(locales[i-1].getLanguage()) ||
+                    i < locales.length - 1 &&
+                        locales[i].getLanguage().equals(locales[i+1].getLanguage()))
+                {
+                    localeMenu.addItem( locales[i].getDisplayName() );
+                } else {
+                    localeMenu.addItem( locales[i].getDisplayLanguage());
+                }
+                
+                thisMatch = DemoUtility.compareLocales(locales[i], defaultLocale);
+                
+                if (thisMatch >= bestMatch) {
+                    bestMatch = thisMatch;
+                    selectMe = i;
+                }
+            }
+            
+            localeMenu.setBackground(DemoUtility.choiceColor);
+            localeMenu.select(selectMe);
+
+            Label localeLabel =new Label("Display Locale");
+            localeLabel.setFont(DemoUtility.labelFont);
+
+            localePanel.add(localeLabel);
+            localePanel.add(localeMenu);
+            DemoUtility.fixGrid(localePanel,2);
+
+            localeMenu.addItemListener( new ItemListener() {
+                public void itemStateChanged(ItemEvent e) {
+                    Locale loc = locales[localeMenu.getSelectedIndex()];
+                    System.out.println("Change locale to " + loc.getDisplayName());
+
+                    for (int i = 0; i < calendars.length; i++) {
+                        calendars[i].setLocale(loc);
+                    }
+                    millisFormat();
+                }
+            } );
+        }
+        add(rollAddPanel);
+        add(DemoUtility.createSpacer());
+        add(localePanel);
+        add(DemoUtility.createSpacer());
+
+// COPYRIGHT
+        Panel copyrightPanel = new Panel();
+        addWithFont (copyrightPanel,new Label(DemoUtility.copyright1, Label.LEFT),
+            DemoUtility.creditFont);
+        DemoUtility.fixGrid(copyrightPanel,1);
+        add(copyrightPanel);
+    }
+
+    /**
+     * This function is called when users change the pattern text.
+     */
+    public void setFormatFromPattern() {
+        String timePattern = patternText.getText();
+
+        for (int i = 0; i < calendars.length; i++) {
+            calendars[i].applyPattern(timePattern);
+        }
+
+        millisFormat();
+    }
+
+    /**
+     * This function is called when it is necessary to parse the time
+     * string in one of the formatted date fields
+     */
+    public void textChanged(int index) {
+        String rightString = calendars[index].text.getText();
+
+        ParsePosition status = new ParsePosition(0);
+
+        if (rightString.length() == 0)
+        {
+            errorText("Error: no input to parse!");
+            return;
+        }
+
+        try {
+            Date date = calendars[index].format.parse(rightString, status);
+            time = date.getTime();
+        }
+        catch (Exception e) {
+            for (int i = 0; i < calendars.length; i++) {
+                if (i != index) {
+                    calendars[i].text.setText("ERROR");
+                }
+            }
+            errorText("Exception: " + e.getClass().toString() + " parsing: "+rightString);
+            return;
+        }
+
+        int start = calendars[index].text.getSelectionStart();
+        int end = calendars[index].text.getSelectionEnd();
+
+        millisFormat();
+
+        calendars[index].text.select(start,end);
+    }
+
+    /**
+     * This function is called when it is necessary to format the time
+     * in the "Millis" text field.
+     */
+    public void millisFormat() {
+        String out = "";
+
+        for (int i = 0; i < calendars.length; i++) {
+            try {
+                out = calendars[i].format.format(new Date(time));
+                calendars[i].text.setText(out);
+            }
+            catch (Exception e) {
+                calendars[i].text.setText("ERROR");
+                errorText("Exception: " + e.getClass().toString() + " formatting "
+                            + calendars[i].name + " " + time);
+            }
+        }
+    }
+
+
+    /**
+     * This function is called when users change the pattern text.
+     */
+    public void patternTextChanged() {
+        setFormatFromPattern();
+    }
+
+    /**
+     * This function is called when users select a new representative city.
+     */
+    public void cityChanged() {
+        TimeZone timeZone = TimeZone.getDefault();
+
+        for (int i = 0; i < calendars.length; i++) {
+            calendars[i].format.setTimeZone(timeZone);
+        }
+        millisFormat();
+    }
+
+    /**
+     * This function is called when users select a new time field
+     * to add or roll its value.
+     */
+    public void dateFieldChanged(boolean up) {
+        int field = kRollAddFields[dateMenu.getSelectedIndex()].field;
+
+        for (int i = 0; i < calendars.length; i++)
+        {
+            if (calendars[i].rollAdd.getState())
+            {
+                Calendar c = calendars[i].calendar;
+                c.setTime(new Date(time));
+
+                if (getAdd.getState()) {
+                    c.add(field, up ? 1 : -1);
+                } else {
+                    c.roll(field, up);
+                }
+
+                time = c.getTime().getTime();
+                millisFormat();
+                break;
+            }
+        }
+    }
+
+    /**
+     * Print out the error message while debugging this program.
+     */
+    public void errorText(String s)
+    {
+        if (true) {
+            System.out.println(s);
+        }
+    }
+    
+    /**
+     * Called if an action occurs in the CalendarCalcFrame object.
+     */
+    public void actionPerformed(ActionEvent evt)
+    {
+        // *** Button events are handled here.
+        Object obj = evt.getSource();
+        System.out.println("action " + obj);
+        if (obj instanceof Button) {
+            if (evt.getSource() == up) {
+                dateFieldChanged(false);
+            } else
+                if (evt.getSource() == down) {
+                    dateFieldChanged(true);
+            }
+        }
+    }
+    
+    /**
+     * Handles the event. Returns true if the event is handled and should not
+     * be passed to the parent of this component. The default event handler
+     * calls some helper methods to make life easier on the programmer.
+     */
+    protected void processKeyEvent(KeyEvent evt)
+    {
+        System.out.println("key " + evt);
+        if (evt.getID() == KeyEvent.KEY_RELEASED) { 
+            if (evt.getSource() == patternText) {
+                patternTextChanged();
+            }
+            else {
+                for (int i = 0; i < calendars.length; i++) {
+                    if (evt.getSource() == calendars[i].text) {
+                        textChanged(i);
+                    }
+                }
+            }
+        }
+    }
+    
+    protected void processWindowEvent(WindowEvent evt) 
+    {
+        System.out.println("window " + evt);
+        if (evt.getID() == WindowEvent.WINDOW_CLOSING && 
+            evt.getSource() == this) {
+            this.hide();
+            this.dispose();
+
+            if (applet != null) {
+               applet.demoClosed();
+            } else System.exit(0);
+        }
+    }
+    
+    /*
+    protected void processEvent(AWTEvent evt)
+    {
+        if (evt.getID() == AWTEvent. Event.ACTION_EVENT && evt.target == up) {
+            dateFieldChanged(true);
+            return true;
+        }
+        else if (evt.id == Event.ACTION_EVENT && evt.target == down) {
+            dateFieldChanged(false);
+            return true;
+        }
+    }
+    */
+
+    private static final int        FIELD_COLUMNS = 35;
+
+
+    class CalendarRec {
+        public CalendarRec(String nameStr, Calendar cal)
+        {
+            name = nameStr;
+            calendar = cal;
+            rollAdd = new Checkbox();
+
+            text = new JTextField("",FIELD_COLUMNS);
+            text.setFont(DemoUtility.editFont);
+
+            format = DateFormat.getDateInstance(cal, DateFormat.FULL,
+                                                Locale.getDefault());
+            //format.applyPattern(DEFAULT_FORMAT);
+        }
+
+        public void setLocale(Locale loc) {
+            String pattern = toPattern();
+
+            format = DateFormat.getDateInstance(calendar, DateFormat.FULL,
+                                                loc);
+            applyPattern(pattern);
+        }
+
+        public void applyPattern(String pattern) {
+            if (format instanceof SimpleDateFormat) {
+                ((SimpleDateFormat)format).applyPattern(pattern);
+//hey {al} - 
+//            } else if (format instanceof java.text.SimpleDateFormat) {
+//                ((java.text.SimpleDateFormat)format).applyPattern(pattern);
+            }
+        }
+        
+        private String toPattern() {
+            if (format instanceof SimpleDateFormat) {
+                return ((SimpleDateFormat)format).toPattern();
+//hey {al} - 
+//            } else if (format instanceof java.text.SimpleDateFormat) {
+//                return ((java.text.SimpleDateFormat)format).toPattern();
+            } else {
+                return "";
+            }
+        }
+
+        Calendar  calendar;
+        DateFormat          format;
+        String              name;
+        JTextField           text;
+        Checkbox            rollAdd;
+    }
+
+    private final CalendarRec[] calendars = {
+        new CalendarRec("Gregorian",        new GregorianCalendar()),
+        new CalendarRec("Hebrew",           new HebrewCalendar()),
+        new CalendarRec("Islamic (civil)",  makeIslamic(true)),
+        new CalendarRec("Islamic (true)",   makeIslamic(false)),
+        new CalendarRec("Buddhist",         new BuddhistCalendar()),
+        new CalendarRec("Japanese",         new JapaneseCalendar()),
+//        new CalendarRec("Chinese",          new ChineseCalendar()),
+    };
+
+    static private final Calendar makeIslamic(boolean civil) {
+        IslamicCalendar cal = new IslamicCalendar();
+        cal.setCivil(civil);
+        return cal;
+    }
+}
+
+class RollAddField {
+    RollAddField(int field, String name) {
+        this.field = field;
+        this.name = name;
+    }
+    int field;
+    String name;
+}
diff --git a/src/com/ibm/icu/dev/demo/calendar/CalendarFrame.java b/src/com/ibm/icu/dev/demo/calendar/CalendarFrame.java
new file mode 100755
index 0000000..d1fca48
--- /dev/null
+++ b/src/com/ibm/icu/dev/demo/calendar/CalendarFrame.java
@@ -0,0 +1,433 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1997-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+package com.ibm.icu.dev.demo.calendar;
+
+import java.awt.BorderLayout;
+import java.awt.Button;
+import java.awt.Choice;
+import java.awt.Color;
+import java.awt.Component;
+import java.awt.Container;
+import java.awt.Dimension;
+import java.awt.FlowLayout;
+import java.awt.Font;
+import java.awt.FontMetrics;
+import java.awt.Frame;
+import java.awt.Graphics;
+import java.awt.GridBagConstraints;
+import java.awt.GridBagLayout;
+import java.awt.Label;
+import java.awt.Panel;
+import java.awt.Rectangle;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.awt.event.ItemEvent;
+import java.awt.event.ItemListener;
+import java.awt.event.WindowAdapter;
+import java.awt.event.WindowEvent;
+import java.util.Date;
+import java.util.Locale;
+
+import com.ibm.icu.dev.demo.impl.DemoApplet;
+import com.ibm.icu.dev.demo.impl.DemoUtility;
+import com.ibm.icu.text.DateFormat;
+import com.ibm.icu.util.BuddhistCalendar;
+import com.ibm.icu.util.Calendar;
+import com.ibm.icu.util.GregorianCalendar;
+import com.ibm.icu.util.HebrewCalendar;
+import com.ibm.icu.util.IslamicCalendar;
+import com.ibm.icu.util.JapaneseCalendar;
+import com.ibm.icu.util.SimpleTimeZone;
+
+/**
+ * A Frame is a top-level window with a title. The default layout for a frame
+ * is BorderLayout.  The CalendarFrame class defines the window layout of
+ * CalendarDemo.
+ */
+class CalendarFrame extends Frame
+{
+    private static final boolean DEBUG = false;
+
+    private DemoApplet applet;
+
+    /**
+     * Constructs a new CalendarFrame that is initially invisible.
+     */
+    public CalendarFrame(DemoApplet myApplet)
+    {
+        super("Calendar Demo");
+        this.applet = myApplet;
+        init();
+
+        // When the window is closed, we want to shut down the applet or application
+        addWindowListener(
+            new WindowAdapter() {
+                public void windowClosing(WindowEvent e) {
+                    setVisible(false);
+                    dispose();
+
+                    if (applet != null) {
+                        applet.demoClosed();
+                    } else System.exit(0);
+                }
+            } );
+    }
+
+    private Choice          displayMenu;
+    private Locale[]        locales = DemoUtility.getG7Locales();
+
+    private Calendar        calendars[]   = new Calendar[2];
+    private Choice          calMenu[]     = new Choice[2];
+    private ColoredLabel    monthLabel[]  = new ColoredLabel[2];
+    private DateFormat      monthFormat[] = new DateFormat[2];
+
+    private Button          prevYear;
+    private Button          prevMonth;
+    private Button          gotoToday;
+    private Button          nextMonth;
+    private Button          nextYear;
+    private CalendarPanel   calendarPanel;
+
+    private static void add(Container container, Component component,
+                            GridBagLayout g, GridBagConstraints c,
+                            int gridwidth, int weightx)
+    {
+        c.gridwidth = gridwidth;
+        c.weightx = weightx;
+        g.setConstraints(component, c);
+        container.add(component);
+    }
+
+    /**
+     * Initializes the applet. You never need to call this directly, it
+     * is called automatically by the system once the applet is created.
+     */
+    public void init() {
+        setBackground(DemoUtility.bgColor);
+        setLayout(new BorderLayout(10,10));
+
+        Panel topPanel = new Panel();
+        GridBagLayout g = new GridBagLayout();
+        topPanel.setLayout(g);
+        GridBagConstraints c = new GridBagConstraints();
+        c.fill = GridBagConstraints.HORIZONTAL;
+
+        // Build the two menus for selecting which calendar is displayed,
+        // plus the month/year label for each calendar
+        for (int i = 0; i < 2; i++) {
+            calMenu[i] = new Choice();
+            for (int j = 0; j < CALENDARS.length; j++) {
+                calMenu[i].addItem(CALENDARS[j].name);
+            }
+            calMenu[i].setBackground(DemoUtility.choiceColor);
+            calMenu[i].select(i);
+            calMenu[i].addItemListener(new CalMenuListener());
+
+            // Label for the current month name
+            monthLabel[i] = new ColoredLabel("", COLORS[i]);
+            monthLabel[i].setFont(DemoUtility.titleFont);
+
+            // And the default calendar to use for this slot
+            calendars[i] = CALENDARS[i].calendar;
+
+            add(topPanel, calMenu[i], g, c, 5, 0);
+            add(topPanel, monthLabel[i], g, c, GridBagConstraints.REMAINDER, 1);
+        }
+
+        // Now add the next/previous year/month buttons:
+        prevYear = new Button("<<");
+        prevYear.addActionListener(new AddAction(Calendar.YEAR, -1));
+
+        prevMonth = new Button("<");
+        prevMonth.addActionListener(new AddAction(Calendar.MONTH, -1));
+
+        gotoToday = new Button("Today");
+        gotoToday.addActionListener( new ActionListener()
+        {
+            public void actionPerformed(ActionEvent e) {
+                calendarPanel.setDate( new Date() );
+                updateMonthName();
+            }
+        } );
+
+        nextMonth = new Button(">");
+        nextMonth.addActionListener(new AddAction(Calendar.MONTH, 1));
+
+        nextYear = new Button(">>");
+        nextYear.addActionListener(new AddAction(Calendar.YEAR, 1));
+
+        c.fill = GridBagConstraints.NONE;
+        add(topPanel, prevYear,  g, c, 1, 0);
+        add(topPanel, prevMonth, g, c, 1, 0);
+        add(topPanel, gotoToday, g, c, 1, 0);
+        add(topPanel, nextMonth, g, c, 1, 0);
+        add(topPanel, nextYear,  g, c, 1, 0);
+
+        // Now add the menu for selecting the display language
+        Panel displayPanel = new Panel();
+        {
+            displayMenu = new Choice();
+            Locale defaultLocale = Locale.getDefault();
+            int bestMatch = -1, thisMatch = -1;
+            int selectMe = 0;
+            
+            for (int i = 0; i < locales.length; i++) {
+                if (i > 0 &&
+                        locales[i].getLanguage().equals(locales[i-1].getLanguage()) ||
+                    i < locales.length - 1 &&
+                        locales[i].getLanguage().equals(locales[i+1].getLanguage()))
+                {
+                    displayMenu.addItem( locales[i].getDisplayName() );
+                } else {
+                    displayMenu.addItem( locales[i].getDisplayLanguage());
+                }
+
+                thisMatch = DemoUtility.compareLocales(locales[i], defaultLocale);
+                
+                if (thisMatch >= bestMatch) {
+                    bestMatch = thisMatch;
+                    selectMe = i;
+                }
+            }
+            
+            displayMenu.setBackground(DemoUtility.choiceColor);
+            displayMenu.select(selectMe);
+
+            displayMenu.addItemListener( new ItemListener()
+            {
+                 public void itemStateChanged(ItemEvent e) {
+                    Locale loc = locales[displayMenu.getSelectedIndex()];
+                    calendarPanel.setLocale( loc );
+                    monthFormat[0] = monthFormat[1] = null;
+                    updateMonthName();
+                    repaint();
+                }
+            } );
+
+            Label l1 = new Label("Display Language:", Label.RIGHT);
+            l1.setFont(DemoUtility.labelFont);
+
+            displayPanel.setLayout(new FlowLayout());
+            displayPanel.add(l1);
+            displayPanel.add(displayMenu);
+
+        }
+        c.fill = GridBagConstraints.NONE;
+        c.anchor = GridBagConstraints.EAST;
+
+        add(topPanel, displayPanel, g, c, GridBagConstraints.REMAINDER, 0);
+
+        // The title, buttons, etc. go in a panel at the top of the window
+        add("North", topPanel);
+
+        // The copyright notice goes at the bottom of the window
+        Label copyright = new Label(DemoUtility.copyright1, Label.LEFT);
+        copyright.setFont(DemoUtility.creditFont);
+        add("South", copyright);
+
+        // Now create the big calendar panel and stick it in the middle
+        calendarPanel = new CalendarPanel( locales[displayMenu.getSelectedIndex()] );
+        add("Center", calendarPanel);
+
+        for (int i = 0; i < 2; i++) {
+            calendarPanel.setCalendar(i, calendars[i]);
+            calendarPanel.setColor(i, COLORS[i]);
+        }
+
+        updateMonthName();
+    }
+
+
+    private void updateMonthName()
+    {
+            for (int i = 0; i < 2; i++) {
+                try {
+                    if (monthFormat[i] == null) {     // TODO: optimize
+                        DateFormat f = DateFormat.getDateTimeInstance(
+                                                calendars[i], DateFormat.MEDIUM, -1,
+                                                locales[displayMenu.getSelectedIndex()]);
+                        if (f instanceof com.ibm.icu.text.SimpleDateFormat) {
+                            com.ibm.icu.text.SimpleDateFormat f1 = (com.ibm.icu.text.SimpleDateFormat) f;
+                            f1.applyPattern("MMMM, yyyy G");
+                            f1.setTimeZone(new SimpleTimeZone(0, "UTC"));
+                        }
+                        monthFormat[i] = f;
+                    }
+                } catch (ClassCastException e) {
+                    //hey {lw} - there's something wrong in this routine that cuases exceptions.
+                    System.out.println(e);
+                }
+
+                monthLabel[i].setText( monthFormat[i].format( calendarPanel.firstOfMonth() ));
+            }
+    }
+
+    /**
+     * CalMenuListener responds to events in the two popup menus that select
+     * the calendar systems to be used in the display.  It figures out which
+     * of the two menus the event occurred in and updates the corresponding
+     * element of the calendars[] array to match the new selection.
+     */
+    private class CalMenuListener implements ItemListener
+    {
+         public void itemStateChanged(ItemEvent e)
+         {
+            for (int i = 0; i < calMenu.length; i++)
+            {
+                if (e.getItemSelectable() == calMenu[i])
+                {
+                    // We found the menu that the event happened in.
+                    // Figure out which new calendar they selected.
+                    Calendar newCal = CALENDARS[ calMenu[i].getSelectedIndex() ].calendar;
+
+                    if (newCal != calendars[i])
+                    {
+                        // If any of the other menus are set to the same new calendar
+                        // we're about to use for this menu, set them to the current
+                        // calendar from *this* menu so we won't have two the same
+                        for (int j = 0; j < calendars.length; j++) {
+                            if (j != i && calendars[j] == newCal) {
+                                calendars[j] = calendars[i];
+                                calendarPanel.setCalendar(j, calendars[j]);
+                                monthFormat[j] = null;
+
+                                for (int k = 0; k < CALENDARS.length; k++) {
+                                    if (calendars[j] == CALENDARS[k].calendar) {
+                                        calMenu[j].select(k);
+                                        break;
+                                    }
+                                }
+                            }
+                        }
+                        // Now update this menu to use the new calendar the user selected
+                        calendars[i] = newCal;
+                        calendarPanel.setCalendar(i, newCal);
+                        monthFormat[i] = null;
+
+                        updateMonthName();
+                    }
+                    break;
+                }
+            }
+         }
+    }
+
+    /**
+     * AddAction handles the next/previous year/month buttons...
+     */
+    private class AddAction implements ActionListener {
+        AddAction(int field, int amount) {
+            this.field = field;
+            this.amount = amount;
+        }
+
+        public void actionPerformed(ActionEvent e) {
+            calendarPanel.add(field, amount);
+            updateMonthName();
+        }
+
+        private int field, amount;
+    }
+
+    /**
+     * ColoredLabel is similar to java.awt.Label, with two differences:
+     *
+     *  - You can set its text color
+     *
+     *  - It draws text using drawString rather than using a host-specific
+     *    "Peer" object like AWT does.  On 1.2, using drawString gives
+     *    us Bidi reordering for free.
+     */
+    static private class ColoredLabel extends Component {
+        public ColoredLabel(String label) {
+            text = label;
+        }
+
+        public ColoredLabel(String label, Color c) {
+            text = label;
+            color = c;
+        }
+
+        public void setText(String label) {
+            text = label;
+            repaint();
+        }
+
+        public void setFont(Font f) {
+            font = f;
+            repaint();
+        }
+
+        public void paint(Graphics g) {
+            FontMetrics fm = g.getFontMetrics(font);
+
+            Rectangle bounds = getBounds();
+
+            g.setColor(color);
+            g.setFont(font);
+            g.drawString(text, fm.stringWidth("\u00a0"),
+                         bounds.height/2 + fm.getHeight()
+                         - fm.getAscent() + fm.getLeading()/2);
+        }
+
+        public Dimension getPreferredSize() {
+            return getMinimumSize();
+        }
+
+        public Dimension getMinimumSize() {
+            FontMetrics fm = getFontMetrics(font);
+
+            return new Dimension( fm.stringWidth(text) + 2*fm.stringWidth("\u00a0"),
+                                  fm.getHeight() + fm.getLeading()*2);
+        }
+
+        String text;
+        Color color = Color.black;
+        Font font = DemoUtility.labelFont;
+    }
+
+    /**
+     * Print out the error message while debugging this program.
+     */
+    public void errorText(String s)
+    {
+        if (DEBUG)
+        {
+            System.out.println(s);
+        }
+    }
+
+    class CalendarRec {
+        public CalendarRec(String nameStr, Calendar cal)
+        {
+            name = nameStr;
+            calendar = cal;
+        }
+
+        Calendar  calendar;
+        String              name;
+    }
+
+    private final CalendarRec[] CALENDARS = {
+        new CalendarRec("Gregorian Calendar",       new GregorianCalendar()),
+        new CalendarRec("Hebrew Calendar",          new HebrewCalendar()),
+        new CalendarRec("Islamic Calendar",         makeIslamic(false)),
+        new CalendarRec("Islamic Civil Calendar ",  makeIslamic(true)),
+        new CalendarRec("Buddhist Calendar",        new BuddhistCalendar()),
+        new CalendarRec("Japanese Calendar",        new JapaneseCalendar()),
+    };
+
+    static private final Calendar makeIslamic(boolean civil) {
+        IslamicCalendar cal = new IslamicCalendar();
+        cal.setCivil(civil);
+        return cal;
+    }
+
+    static final Color[] COLORS = { Color.blue, Color.black };
+}
+
diff --git a/src/com/ibm/icu/dev/demo/calendar/CalendarPanel.java b/src/com/ibm/icu/dev/demo/calendar/CalendarPanel.java
new file mode 100755
index 0000000..5ac15c7
--- /dev/null
+++ b/src/com/ibm/icu/dev/demo/calendar/CalendarPanel.java
@@ -0,0 +1,360 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1997-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+package com.ibm.icu.dev.demo.calendar;
+
+import java.awt.Canvas;
+import java.awt.Color;
+import java.awt.Dimension;
+import java.awt.FontMetrics;
+import java.awt.Graphics;
+import java.awt.Point;
+import java.util.Date;
+import java.util.Locale;
+
+import com.ibm.icu.dev.demo.impl.DemoUtility;
+import com.ibm.icu.text.DateFormatSymbols;
+import com.ibm.icu.util.Calendar;
+import com.ibm.icu.util.SimpleTimeZone;
+
+class CalendarPanel extends Canvas {
+
+    public CalendarPanel( Locale locale ) {
+        setLocale(locale);
+    }
+
+    public void setLocale(Locale locale) {
+        if (fDisplayLocale == null || !fDisplayLocale.equals(locale)) {
+            fDisplayLocale = locale;
+            dirty = true;
+
+            for (int i = 0; i < fCalendar.length; i++) {
+                if (fCalendar[i] != null) {
+                    fSymbols[i] = new DateFormatSymbols(fCalendar[i],
+                                                        fDisplayLocale);
+                }
+            }
+            String lang = locale.getLanguage();
+            leftToRight = !(lang.equals("iw") || lang.equals("ar"));
+
+            repaint();
+        }
+    }
+
+    public void setDate(Date date) {
+        fStartOfMonth = date;
+        dirty = true;
+        repaint();
+    }
+
+    public void add(int field, int delta)
+    {
+        synchronized(fCalendar) {
+            fCalendar[0].setTime(fStartOfMonth);
+            fCalendar[0].add(field, delta);
+            fStartOfMonth = fCalendar[0].getTime();
+        }
+        dirty = true;
+        repaint();
+    }
+
+    public void setColor(int index, Color c) {
+        fColor[index] = c;
+        repaint();
+    }
+
+    public void setCalendar(int index, Calendar c) {
+        Date date = (fCalendar[index] == null) ? new Date()
+                                               : fCalendar[index].getTime();
+
+        fCalendar[index] = c;
+        fCalendar[index].setTime(date);
+
+        fSymbols[index] = new DateFormatSymbols(c, fDisplayLocale);
+        dirty = true;
+        repaint();
+    }
+
+    public Calendar getCalendar(int index) {
+        return fCalendar[index];
+    }
+
+    public Locale getDisplayLocale() {
+        return fDisplayLocale;
+    }
+
+    public Date firstOfMonth() {
+        return fStartOfMonth;
+    }
+
+    private Date startOfMonth(Date dateInMonth)
+    {
+        synchronized(fCalendar) {
+            fCalendar[0].setTime(dateInMonth);
+
+            int era = fCalendar[0].get(Calendar.ERA);
+            int year = fCalendar[0].get(Calendar.YEAR);
+            int month = fCalendar[0].get(Calendar.MONTH);
+
+            fCalendar[0].clear();
+            fCalendar[0].set(Calendar.ERA, era);
+            fCalendar[0].set(Calendar.YEAR, year);
+            fCalendar[0].set(Calendar.MONTH, month);
+            fCalendar[0].set(Calendar.DATE, 1);
+
+            return fCalendar[0].getTime();
+        }
+    }
+
+    private void calculate()
+    {
+        //
+        // As a workaround for JDK 1.1.3 and below, where Calendars and time
+        // zones are a bit goofy, always set my calendar's time zone to UTC.
+        // You would think I would want to do this in the "set" function above,
+        // but if I do that, the program hangs when this class is loaded,
+        // perhaps due to some sort of static initialization ordering problem.
+        // So I do it here instead.
+        //
+        fCalendar[0].setTimeZone(new SimpleTimeZone(0, "UTC"));
+
+        Calendar c = (Calendar)fCalendar[0].clone(); // Temporary copy
+
+        fStartOfMonth = startOfMonth(fStartOfMonth);
+
+        // Stash away a few useful constants for this calendar and display
+        minDay = c.getMinimum(Calendar.DAY_OF_WEEK);
+        daysInWeek = c.getMaximum(Calendar.DAY_OF_WEEK) - minDay + 1;
+
+        firstDayOfWeek = Calendar.getInstance(fDisplayLocale).getFirstDayOfWeek();
+
+        // Stash away a Date for the start of this month
+
+        // Find the day of week of the first day in this month
+        c.setTime(fStartOfMonth);
+        firstDayInMonth = c.get(Calendar.DAY_OF_WEEK);
+        int firstWeek = c.get(Calendar.WEEK_OF_MONTH);
+
+        // Now find the # of days in the month
+        c.roll(Calendar.DATE, false);
+        daysInMonth = c.get(Calendar.DATE);
+
+        // Finally, find the end of the month, i.e. the start of the next one
+        c.roll(Calendar.DATE, true);
+        c.add(Calendar.MONTH, 1);
+        c.getTime();        // JDK 1.1.2 bug workaround
+        c.add(Calendar.SECOND, -1);
+        Date endOfMonth = c.getTime();
+        if(endOfMonth==null){
+         //do nothing
+        }
+        endOfMonth = null;
+        int lastWeek = c.get(Calendar.WEEK_OF_MONTH);
+        
+        // Calculate the number of full or partial weeks in this month.
+        numWeeks = lastWeek - firstWeek + 1;
+
+        dirty = false;
+    }
+
+    static final int XINSET = 4;
+    static final int YINSET = 2;
+
+    /*
+     * Convert from the day number within a month (1-based)
+     * to the cell coordinates on the calendar (0-based)
+     */
+    private void dateToCell(int date, Point pos)
+    {
+        int cell = (date + firstDayInMonth - firstDayOfWeek - minDay);
+        if (firstDayInMonth < firstDayOfWeek) {
+            cell += daysInWeek;
+        }
+
+        pos.x = cell % daysInWeek;
+        pos.y = cell / daysInWeek;
+    }
+    //private Point dateToCell(int date) {
+    //    Point p = new Point(0,0);
+    //    dateToCell(date, p);
+    //    return p;
+    //}
+
+    public void paint(Graphics g) {
+
+        if (dirty) {
+            calculate();
+        }
+
+        Point cellPos = new Point(0,0);     // Temporary variable
+        Dimension d = this.getSize();
+
+        g.setColor(Color.lightGray);
+        g.fillRect(0,0,d.width,d.height);
+
+        // Draw the day names at the top
+        g.setColor(Color.black);
+        g.setFont(DemoUtility.labelFont);
+        FontMetrics fm = g.getFontMetrics();
+        int labelHeight = fm.getHeight() + YINSET * 2;
+
+        int v = fm.getAscent() + YINSET;
+        for (int i = 0; i < daysInWeek; i++) {
+            int dayNum = (i + minDay + firstDayOfWeek - 2) % daysInWeek + 1;
+            String dayName = fSymbols[0].getWeekdays()[dayNum];
+
+
+            double h;
+            if (leftToRight) {
+                h = d.width*(i + 0.5) / daysInWeek;
+            } else {
+                h = d.width*(daysInWeek - i - 0.5) / daysInWeek;
+            }
+            h -= fm.stringWidth(dayName) / 2;
+
+            g.drawString(dayName, (int)h, v);
+        }
+
+        double cellHeight = (d.height - labelHeight - 1) / numWeeks;
+        double cellWidth = (double)(d.width - 1) / daysInWeek;
+
+        // Draw a white background in the part of the calendar
+        // that displays this month.
+        // First figure out how much of the first week should be shaded.
+        {
+            g.setColor(Color.white);
+            dateToCell(1, cellPos);
+            int width = (int)(cellPos.x*cellWidth);  // Width of unshaded area
+
+            if (leftToRight) {
+                g.fillRect((int)(width), labelHeight ,
+                           d.width - width, (int)cellHeight);
+            } else {
+                g.fillRect(0, labelHeight ,
+                           d.width - width, (int)cellHeight);
+            }
+
+            // All of the intermediate weeks get shaded completely
+            g.fillRect(0, (int)(labelHeight + cellHeight),
+                        d.width, (int)(cellHeight * (numWeeks - 2)));
+
+            // Now figure out the last week.
+            dateToCell(daysInMonth, cellPos);
+            width = (int)((cellPos.x+1)*cellWidth);  // Width of shaded area
+
+            if (leftToRight) {
+                g.fillRect(0, (int)(labelHeight + (numWeeks-1) * cellHeight),
+                           width, (int)cellHeight);
+            } else {
+                g.fillRect(d.width - width, (int)(labelHeight + (numWeeks-1) * cellHeight),
+                           width, (int)cellHeight);
+            }
+
+        }
+        // Draw the X/Y grid lines
+        g.setColor(Color.black);
+        for (int i = 0; i <= numWeeks; i++) {
+            int y = (int)(labelHeight + i * cellHeight);
+            g.drawLine(0, y, d.width - 1, y);
+        }
+        for (int i = 0; i <= daysInWeek; i++) {
+            int x = (int)(i * cellWidth);
+            g.drawLine(x, labelHeight, x, d.height - 1);
+        }
+
+        // Now loop through all of the days in the month, figure out where
+        // they go in the grid, and draw the day # for each one
+
+        // Figure out the date of the first cell in the calendar display
+        int cell = (1 + firstDayInMonth - firstDayOfWeek - minDay);
+        if (firstDayInMonth < firstDayOfWeek) {
+            cell += daysInWeek;
+        }
+
+        Calendar c = (Calendar)fCalendar[0].clone();
+        c.setTime(fStartOfMonth);
+        c.add(Calendar.DATE, -cell);
+
+        StringBuffer buffer = new StringBuffer();
+
+        for (int row = 0; row < numWeeks; row++) {
+            for (int col = 0; col < daysInWeek; col++) {
+
+                g.setFont(DemoUtility.numberFont);
+                g.setColor(Color.black);
+                fm = g.getFontMetrics();
+
+                int cellx;
+                if (leftToRight) {
+                    cellx = (int)((col) * cellWidth);
+                } else {
+                    cellx = (int)((daysInWeek - col - 1) * cellWidth);
+                }
+
+                int celly = (int)(row * cellHeight + labelHeight);
+
+                for (int i = 0; i < 2; i++) {
+                    fCalendar[i].setTime(c.getTime());
+
+                    int date = fCalendar[i].get(Calendar.DATE);
+                    buffer.setLength(0);
+                    buffer.append(date);
+                    String dayNum = buffer.toString();
+
+                    int x;
+
+                    if (leftToRight) {
+                        x = cellx + (int)cellWidth - XINSET - fm.stringWidth(dayNum);
+                    } else {
+                        x = cellx + XINSET;
+                    }
+                    int y = celly + + fm.getAscent() + YINSET + i * fm.getHeight();
+
+                    if (fColor[i] != null) {
+                        g.setColor(fColor[i]);
+                    }
+                    g.drawString(dayNum, x, y);
+
+                    if (date == 1 || row == 0 && col == 0) {
+                        g.setFont(DemoUtility.numberFont);
+                        String month = fSymbols[i].getMonths()[
+                                            fCalendar[i].get(Calendar.MONTH)];
+
+                        if (leftToRight) {
+                            x = cellx + XINSET;
+                        } else {
+                            x = cellx + (int)cellWidth - XINSET - fm.stringWidth(month);
+                        }
+                        g.drawString(month, x, y);
+                    }
+                }
+
+                c.add(Calendar.DATE, 1);
+            }
+        }
+    }
+
+    // Important state variables
+    private Calendar[]          fCalendar = new Calendar[4];
+    private Color[]             fColor = new Color[4];
+
+    private Locale              fDisplayLocale;
+    private DateFormatSymbols[] fSymbols = new DateFormatSymbols[4];
+
+    private Date                fStartOfMonth = new Date();     // 00:00:00 on first day of month
+
+    // Cached calculations to make drawing faster.
+    private transient int       minDay;           // Minimum legal day #
+    private transient int       daysInWeek;       // # of days in a week
+    private transient int       firstDayOfWeek;   // First day to display in week
+    private transient int       numWeeks;         // # full or partial weeks in month
+    private transient int       daysInMonth;      // # days in this month
+    private transient int       firstDayInMonth;  // Day of week of first day in month
+    private transient boolean   leftToRight;
+
+    private transient boolean dirty = true;
+}
diff --git a/src/com/ibm/icu/dev/demo/calendar/package.html b/src/com/ibm/icu/dev/demo/calendar/package.html
new file mode 100755
index 0000000..c1bb105
--- /dev/null
+++ b/src/com/ibm/icu/dev/demo/calendar/package.html
@@ -0,0 +1,12 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html>
+<head>
+<!--  Copyright (C) 2000-2004, International Business Machines Corporation and
+  others. All Rights Reserved.
+
+-->
+</head>
+<body bgcolor="white">
+Calendar demo applications including date/time arithmetic.
+</body>
+</html>
\ No newline at end of file
diff --git a/src/com/ibm/icu/dev/demo/charsetdet/DetectingViewer.java b/src/com/ibm/icu/dev/demo/charsetdet/DetectingViewer.java
new file mode 100644
index 0000000..0233170
--- /dev/null
+++ b/src/com/ibm/icu/dev/demo/charsetdet/DetectingViewer.java
@@ -0,0 +1,368 @@
+/*
+ **************************************************************************
+ * Copyright (C) 2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                           *
+ **************************************************************************
+ *
+ */
+
+package com.ibm.icu.dev.demo.charsetdet;
+
+import java.awt.event.*;
+import java.awt.*;
+import java.io.*;
+import java.net.URL;
+
+import javax.swing.*;
+
+import com.ibm.icu.impl.UTF32;
+import com.ibm.icu.text.CharsetDetector;
+import com.ibm.icu.text.CharsetMatch;
+
+/**
+ * This simple application demonstrates how to use the CharsetDetector API. It
+ * opens a file or web page, detects the encoding, and then displays it using that
+ * encoding.
+ */
+public class DetectingViewer extends JFrame implements ActionListener
+{
+    
+    private JTextPane text;
+    private JFileChooser fileChooser;
+    
+    /**
+     * @throws java.awt.HeadlessException
+     */
+    public DetectingViewer()
+    {
+        super();
+        
+        fileChooser = new JFileChooser();
+        
+        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
+        setSize(800, 800);
+
+        setJMenuBar(makeMenus());
+        text = new JTextPane();
+        text.setContentType("text/plain");
+        text.setText("");
+        text.setSize(800, 800);
+        
+        Font font = new Font("Arial Unicode MS", Font.PLAIN, 24);
+        text.setFont(font);
+        
+        JScrollPane scrollPane = new JScrollPane(text);
+        
+        getContentPane().add(scrollPane);
+        setVisible(true);
+    }
+
+    public void actionPerformed(ActionEvent event)
+    {
+        String cmd = event.getActionCommand();
+        
+        if (cmd.equals("New...")) {
+           doNew();
+        } else if (cmd.equals("Open File...")) {
+           doOpenFile();
+        } else if (cmd.equals("Open URL...")) {
+            doOpenURL();
+        } else if (cmd.equals("Quit")) {
+           doQuit();
+        }
+    }
+
+    public static void main(String[] args)
+    {
+        new DetectingViewer();
+    }
+    
+    private void errorDialog(String title, String msg)
+    {
+        JOptionPane.showMessageDialog(this, msg, title, JOptionPane.ERROR_MESSAGE);
+    }
+    
+    private BufferedInputStream openFile(File file)
+    {
+        FileInputStream fileStream = null;
+        
+        try {
+            fileStream = new FileInputStream(file);
+        } catch (Exception e) {
+            errorDialog("Error Opening File", e.getMessage());
+            return null;
+        }
+        
+        return new BufferedInputStream(fileStream);
+    }
+    
+    private void openFile(String directory, String filename)
+    {
+        openFile(new File(directory, filename));
+    }
+    
+    
+    private BufferedInputStream openURL(String url)
+    {
+        InputStream s = null;
+
+        try {
+            URL aURL = new URL(url);
+            s = aURL.openStream();
+        } catch (Exception e) {
+            errorDialog("Error Opening URL", e.getMessage());
+            return null;
+        }
+        
+        return new BufferedInputStream(s);
+    }
+    
+    private String encodingName(CharsetMatch match)
+    {
+        return match.getName() + " (" + match.getLanguage() + ")";
+    }
+    
+    private void setMatchMenu(CharsetMatch[] matches)
+    {
+        JMenu menu = getJMenuBar().getMenu(1);
+        JMenuItem menuItem;
+        
+        menu.removeAll();
+        
+        for (int i = 0; i < matches.length; i += 1) {
+            CharsetMatch match = matches[i];
+            
+            menuItem = new JMenuItem(encodingName(match) + " " + match.getConfidence());
+            
+            menu.add(menuItem);
+        }
+    }
+    
+    private byte[] scriptTag = {(byte) 's', (byte) 'c', (byte) 'r', (byte) 'i', (byte) 'p', (byte) 't'};
+    private byte[] styleTag  = {(byte) 's', (byte) 't', (byte) 'y', (byte) 'l', (byte) 'e'};
+    private static int BUFFER_SIZE = 100000;
+    
+    private boolean openTag(byte[] buffer, int offset, int length, byte[] tag)
+    {
+        int tagLen = tag.length;
+        int bufRem = length - offset;
+        int b;
+        
+        for (b = 0; b < tagLen && b < bufRem; b += 1) {
+            if (buffer[b + offset] != tag[b]) {
+                return false;
+            }
+        }
+        
+        return b == tagLen;
+    }
+    
+    private boolean closedTag(byte[] buffer, int offset, int length, byte[] tag)
+    {
+        if (buffer[offset] != (byte) '/') {
+            return false;
+        }
+        
+        return openTag(buffer, offset + 1, length, tag);
+    }
+    
+    private byte[] filter(InputStream in)
+    {
+        byte[] buffer = new byte[BUFFER_SIZE];
+        int bytesRemaining = BUFFER_SIZE;
+        int bufLen = 0;
+        
+        in.mark(BUFFER_SIZE);
+        
+        try {
+            while (bytesRemaining > 0) {
+                int bytesRead = in.read(buffer, bufLen, bytesRemaining);
+                
+                if (bytesRead <= 0) {
+                    break;
+                }
+                
+                bufLen += bytesRead;
+                bytesRemaining -= bytesRead;
+            }
+        } catch (Exception e) {
+            // TODO: error handling?
+            return null;
+        }
+        
+        boolean inTag = false;
+        boolean skip  = false;
+        int out = 0;
+        
+        for (int i = 0; i < bufLen; i += 1) {
+            byte b = buffer[i];
+            
+            if (b == (byte) '<') {
+                inTag = true;
+                
+                if (openTag(buffer, i + 1, bufLen, scriptTag) ||
+                    openTag(buffer, i + 1, bufLen, styleTag)) {
+                    skip = true;
+                } else if (closedTag(buffer, i + 1, bufLen, scriptTag) ||
+                           closedTag(buffer, i + 1, bufLen, styleTag)) {
+                    skip = false;
+                }
+            } else if (b == (byte) '>') {
+                inTag = false;
+            } else if (! (inTag || skip)) {
+                buffer[out++] = b;
+            }
+        }
+
+        byte[] filtered = new byte[out];
+        
+        System.arraycopy(buffer, 0, filtered, 0, out);
+        return filtered;
+    }
+    
+    private CharsetMatch[] detect(byte[] bytes)
+    {
+        CharsetDetector det = new CharsetDetector();
+        
+        det.setText(bytes);
+        
+        return det.detectAll();
+    }
+    
+    private CharsetMatch[] detect(BufferedInputStream inputStream)
+    {
+        CharsetDetector det    = new CharsetDetector();
+        
+        try {
+            det.setText(inputStream);
+            
+            return det.detectAll();
+        } catch (Exception e) {
+            // TODO: error message?
+            return null;
+        }
+    }
+    
+    private void show(InputStream inputStream, CharsetMatch[] matches, String title)
+    {
+        InputStreamReader isr;
+        char[] buffer = new char[1024];
+        int bytesRead = 0;
+        
+        try {
+            StringBuffer sb = new StringBuffer();
+            String encoding = matches[0].getName();
+            
+            inputStream.reset();
+            
+            if (encoding.startsWith("UTF-32")) {
+                byte[] bytes = new byte[1024];
+                int offset = 0;
+                int chBytes = 0;
+                UTF32 utf32 = UTF32.getInstance(encoding);
+                
+                while ((bytesRead = inputStream.read(bytes, offset, 1024)) >= 0) {
+                    offset  = bytesRead % 4;
+                    chBytes = bytesRead - offset;
+                    
+                    sb.append(utf32.fromBytes(bytes, 0, chBytes));
+                    
+                    if (offset != 0) {
+                        for (int i = 0; i < offset; i += 1) {
+                            bytes[i] = bytes[chBytes + i];
+                        }
+                    }
+                }
+            } else {
+                isr = new InputStreamReader(inputStream, encoding);
+                
+                while ((bytesRead = isr.read(buffer, 0, 1024)) >= 0) {
+                    sb.append(buffer, 0, bytesRead);
+                }
+                
+                isr.close();
+            }
+            
+            this.setTitle(title + " - " + encodingName(matches[0]));
+            
+            setMatchMenu(matches);
+            text.setText(sb.toString());
+        } catch (IOException e) {
+            errorDialog("IO Error", e.getMessage());
+        } catch (Exception e) {
+            errorDialog("Internal Error", e.getMessage());
+        }
+    }
+    
+    private void doNew()
+    {
+        // open a new window...
+    }
+    
+    private void doOpenFile()
+    {
+        int retVal = fileChooser.showOpenDialog(this);
+        
+        if (retVal == JFileChooser.APPROVE_OPTION) {
+            File file = fileChooser.getSelectedFile();
+            BufferedInputStream inputStream = openFile(file);
+            
+            if (inputStream != null) {
+                CharsetMatch[] matches = detect(inputStream);
+                
+                show(inputStream, matches, file.getName());                
+            }
+        }
+    }
+    
+    private void doOpenURL()
+    {
+        String url = (String) JOptionPane.showInputDialog(this, "URL to open:", "Open URL", JOptionPane.PLAIN_MESSAGE,
+                null, null, null);
+        
+        if (url != null && url.length() > 0) {
+            BufferedInputStream inputStream = openURL(url);
+            
+            if (inputStream != null) {
+                byte[] filtered = filter(inputStream);
+                CharsetMatch[] matches = detect(filtered);
+                
+                show(inputStream, matches, url);                
+            }
+        }
+}
+    
+    private void doQuit()
+    {
+        System.exit(0);
+    }
+    
+    private JMenuBar makeMenus()
+    {
+        JMenu menu = new JMenu("File");
+        JMenuItem mi;
+        
+        mi = new JMenuItem("Open File...");
+        mi.setAccelerator((KeyStroke.getKeyStroke(KeyEvent.VK_O, ActionEvent.CTRL_MASK)));
+        mi.addActionListener(this);
+        menu.add(mi);
+        
+        mi = new JMenuItem("Open URL...");
+        mi.setAccelerator((KeyStroke.getKeyStroke(KeyEvent.VK_U, ActionEvent.CTRL_MASK)));
+        mi.addActionListener(this);
+        menu.add(mi);
+        
+        mi = new JMenuItem("Quit");
+        mi.setAccelerator((KeyStroke.getKeyStroke(KeyEvent.VK_Q, ActionEvent.CTRL_MASK)));
+        mi.addActionListener(this);
+        menu.add(mi);
+        
+        JMenuBar mbar = new JMenuBar();
+        mbar.add(menu);
+        
+        menu = new JMenu("Detected Encodings");
+        mbar.add(menu);
+        
+        return mbar;
+    }
+}
diff --git a/src/com/ibm/icu/dev/demo/chart/UnicodeChart.css b/src/com/ibm/icu/dev/demo/chart/UnicodeChart.css
new file mode 100644
index 0000000..ef0516e
--- /dev/null
+++ b/src/com/ibm/icu/dev/demo/chart/UnicodeChart.css
@@ -0,0 +1,22 @@
+/*
+ * Copyright (c) 2003-2004, International Business Machines Corporation
+ * and others. All rights reserved.
+ *
+ */
+
+th	{ font-size: 60%; text-align: Center;
+	  width: 0.39%; font-family: monospace;
+	  border: 1px solid black; margin: 0; padding: 1px }
+td	{ font-size: 60%; text-align: Center;
+	  border-right: 1px solid #9999FF; border-top: 1px solid #9999FF; margin: 0; padding: 1px }
+table	{ border-spacing: 0; border-collapse: collapse;
+	  border: 1px solid black; margin: 0; padding: 0 }
+.d	{ border-top: 2px double blue }
+.u	{ background-color: #DDDDDD }
+.du	{ background-color: #DDDDDD; border-top: 2px double blue }
+.n	{ background-color: black }
+.dn	{ background-color: black; border-top: 2px double blue }
+.i	{ background-color: yellow }
+.di	{ background-color: yellow; border-top: 2px double blue }
+p	{ font-size: 50%; text-align: Right }
+.left	{ font-size: 75%; text-align: Left }
\ No newline at end of file
diff --git a/src/com/ibm/icu/dev/demo/chart/UnicodeChart.java b/src/com/ibm/icu/dev/demo/chart/UnicodeChart.java
new file mode 100644
index 0000000..aed9003
--- /dev/null
+++ b/src/com/ibm/icu/dev/demo/chart/UnicodeChart.java
@@ -0,0 +1,90 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1997-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+package com.ibm.icu.dev.demo.chart;
+import java.io.*;
+import com.ibm.icu.dev.test.util.*;
+import com.ibm.icu.lang.*;
+
+public class UnicodeChart {
+    public static void main(String[] args) throws IOException {
+        //int rowWidth = 256;
+        PrintWriter pw = BagFormatter.openUTF8Writer("", "UnicodeChart.html");
+        pw.println("<html><head><meta http-equiv='Content-Type' content='text/html; charset=utf-8'>");
+        pw.println("<script type='text/javascript' src='UnicodeChart.js'></script>");
+        pw.println("<link rel='stylesheet' type='text/css' href='UnicodeChart.css'>");
+        pw.println("<title>Unicode 4.0 Chart</title>");
+        pw.println("</head><body bgcolor='#FFFFFF'>");
+        pw.println("<table border='1' cellspacing='0'><caption><h1>Unicode 4.0 Chart</h1></caption>");
+
+        /*pw.println("<tr><th></th>");
+        for (int j = 0; j < rowWidth; ++j) {
+            pw.print("<th>" + hex(j,2) + "</th>");
+        }
+        pw.println("</tr>");
+        */
+        // TODO: fix Utility to take ints
+        
+        int surrogateType = UCharacter.getType('\ud800');
+        int privateUseType = UCharacter.getType('\ue000');
+        System.out.println("Surrogate Type: Java=" + Character.SURROGATE + ", ICU=" + surrogateType);
+        System.out.println("Private-Use Type: Java=" + Character.PRIVATE_USE + ", ICU=" + privateUseType);
+        
+        //boolean gotOne = true;
+        int columns = 0;
+        int limit = 0x10FFFF;
+        char lastType = 'x';
+        int lastCount = 0;
+        pw.println("<script>");
+        pw.print("top();");
+        int itemCount = 1;
+        for (int i = 0; i <= limit; ++i) {
+            if ((i & 0xFF) == 0) System.out.println(hex(i>>8,2) + "__");
+            columns++;
+            //pw.print("<tr><th>" + hex(i>>8,2) + "__</th>");
+            char type = 'v';
+            int cat = UCharacter.getType(i);
+            if (UCharacter.hasBinaryProperty(i, UProperty.NONCHARACTER_CODE_POINT)) {
+                type = 'n';
+            } else if (cat == Character.UNASSIGNED || cat == surrogateType || cat == privateUseType) {
+                type = 'u';
+            } else if (UCharacter.isUWhiteSpace(i)) {
+                type = 'w';
+            } else if (UCharacter.hasBinaryProperty(i, UProperty.DEFAULT_IGNORABLE_CODE_POINT)) {
+                type = 'i';
+            } else {
+                type = 'v';
+            }
+            if (type != lastType) {
+                if (lastCount != 0) pw.print(lastType + "(" + lastCount + ");");
+                lastType = type;
+                lastCount = 0;
+                ++itemCount;
+                if ((itemCount & 0xF) == 0) pw.println();
+            }
+            ++lastCount;
+        }
+        pw.println(lastType + "(" + lastCount + ");"); // finish last row
+        pw.println("</script></tr></table><p></p>");
+        pw.println("<table><caption>Key</caption>");
+        pw.println("<tr><td>X</td><td class='left'>Graphic characters</td></tr>");
+        pw.println("<tr><td>\u00A0</td><td class='left'>Whitespace</td></tr>");
+        pw.println("<tr><td class='i'>&nbsp;</td><td class='left'>Other Default Ignorable</td></tr>");
+        pw.println("<tr><td class='u'>&nbsp;</td><td class='left'>Undefined, Private Use, or Surrogates</td></tr>");
+        pw.println("<tr><td class='n'>&nbsp;</td><td class='left'>Noncharacter</td></tr>");
+        pw.println("</table>");
+        pw.println("<p>Copyright \u00A9 2003, Mark Davis. All Rights Reserved.</body></html>");
+        pw.close();
+        System.out.println("columns: " + columns);
+    }
+    
+    static String hex(int i, int padTo) {
+        String result = Integer.toHexString(i).toUpperCase(java.util.Locale.ENGLISH);
+        while (result.length() < padTo) result = "0" + result;
+        return result;
+    }
+}
\ No newline at end of file
diff --git a/src/com/ibm/icu/dev/demo/chart/UnicodeChart.js b/src/com/ibm/icu/dev/demo/chart/UnicodeChart.js
new file mode 100644
index 0000000..eb8522c
--- /dev/null
+++ b/src/com/ibm/icu/dev/demo/chart/UnicodeChart.js
@@ -0,0 +1,93 @@
+//**************************************************************************
+// Copyright (C) 1997-2004, International Business Machines Corporation and
+// others. All Rights Reserved.
+//**************************************************************************
+
+var columnBits = 8;	// 8
+
+var columnCount = Math.pow(2,columnBits);
+var columnMask = columnCount-1;
+var columnShift = Math.floor(columnBits/4);
+var columnGap = repeat('_', columnShift);
+var columnPad = 4-columnShift;
+
+var gotLast = true;
+var current = 0;
+var haveFirst = false;
+
+function top(count) {
+  document.writeln("<th></th>");
+  for (var i = 0; i < columnCount; ++i) {
+    document.writeln("<th>", hex(i,2), "</th>");
+  }
+}
+
+function writeCell(cellclass, value) {
+ if (!gotLast) cellclass = 'd' + cellclass;
+ if (value) {
+   value = current <= 0xFFFF 
+   		? String.fromCharCode(current) 
+   		: String.fromCharCode(0xD800 + (current >> 10), 0xDC00 + (current & 0x3FF));
+ } else {
+   value = '\u00A0'
+ }
+ if (cellclass!="") cellclass = " class='" + cellclass + "'";
+ document.writeln("<td", cellclass, ">", value, "</td>");
+ ++current;
+}
+
+function writeCells(count,cellclass,value) {
+  for (var i = 0; i < count; ++i) {
+    if ((current & columnMask) == 0) {
+      if (cellclass!='u' || count - i < columnCount) {
+   	gotLast = true
+      } else {
+   	gotLast = false;
+        var rem = (count - i) & ~columnMask;
+   	current += rem;
+        i += rem;
+        if (i == count) break;
+      }
+      newRow();
+    }
+    writeCell(cellclass,value);
+  }
+}
+
+function newRow() {
+   if (haveFirst) document.write("</tr>");
+   else haveFirst = true;
+   var hclass = (gotLast) ? "" : " class='d'";
+   document.writeln("<tr><th", hclass, ">", hex(current>>(columnShift*4),columnPad), columnGap, "</th>");
+}
+
+// Utilities
+
+function hex(value, pad) {
+  var result = value.toString(16).toUpperCase();
+  while (result.length < pad) result = '0' + result;
+  return result;
+}
+
+function repeat(str, count) {
+ var result = "";
+ for (var i = 0; i < count; ++i) result += str;
+ return result;
+}
+
+// used in the body. single letters to save bytes.
+function u(count) { // undefined, private use, or surrogates
+	writeCells(count,'u',false);
+}
+function n(count) { // noncharacter
+	writeCells(count,'n',false);
+}
+function i(count) { // ignorable
+	writeCells(count,'i',false);
+}
+function w(count) { // whitespace
+	writeCells(count,'',false);
+}
+function v(count) { // normal visible graphic
+	writeCells(count,'',true);
+}
diff --git a/src/com/ibm/icu/dev/demo/holiday/HolidayBorderPanel.java b/src/com/ibm/icu/dev/demo/holiday/HolidayBorderPanel.java
new file mode 100755
index 0000000..6f07557
--- /dev/null
+++ b/src/com/ibm/icu/dev/demo/holiday/HolidayBorderPanel.java
@@ -0,0 +1,544 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1997-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.demo.holiday;
+
+import java.awt.*;
+
+/**
+ * Various graphical borders. The border itself is a Panel so that it can
+ * contain other Components (i.e. it borders something). You use the
+ * HolidayBorderPanel like any other Panel: you set the layout that you prefer and
+ * add Components to it. Beware that a null layout does not obey the insets
+ * of the panel so if you use null layouts, adjust your measurements to
+ * handle the border by calling insets().
+ *
+ * @author  Andy Clark, Taligent Inc.
+ * @version 1.0
+ */
+public class HolidayBorderPanel extends Panel {
+    // Constants
+
+    /** Solid border. */
+    public final static int SOLID = 0;
+    /** A raised border. */
+    public final static int RAISED = 1;
+    /** A lowered border. */
+    public final static int LOWERED = 2;
+    /** An etched in border. */
+    public final static int IN = 3;
+    /** An etched out border. */
+    public final static int OUT = 4;
+
+    /** Left alignment. */
+    public final static int LEFT = 0;
+    /** Center alignment. */
+    public final static int CENTER = 1;
+    /** Right alignment. */
+    public final static int RIGHT = 2;
+
+    /** Default style (IN). */
+    public final static int DEFAULT_STYLE = IN;
+    /** Default thickness (10). */
+    public final static int DEFAULT_THICKNESS = 10;
+    /** Default thickness for solid borders (4). */
+    public final static int DEFAULT_SOLID_THICKNESS = 4;
+    /** Default thickness for raised borders (2). */
+    public final static int DEFAULT_RAISED_THICKNESS = 2;
+    /** Default thickness for lowered borders (2). */
+    public final static int DEFAULT_LOWERED_THICKNESS = 2;
+    /** Default thickness for etched-in borders (10). */
+    public final static int DEFAULT_IN_THICKNESS = 10;
+    /** Default thickness for etched-out borders (10). */
+    public final static int DEFAULT_OUT_THICKNESS = 10;
+    /** Default gap between border and contained component (5). */
+    public final static int DEFAULT_GAP = 5;
+    /** Default color (black). Applies to SOLID and etched borders. */
+    public final static Color DEFAULT_COLOR = Color.black;
+
+    /** Default font (TimesRoman,PLAIN,14). Only applies to etched borders. */
+    public final static Font DEFAULT_FONT = new Font("TimesRoman", Font.PLAIN, 14);
+    /** Default alignment (LEFT). Only applies to etched borders. */
+    public final static int DEFAULT_ALIGNMENT = LEFT;
+
+    // Data
+    private int style;
+    private int thickness;
+    private int gap;
+    private Color color;
+
+    private Font font;
+    private String text;
+    private int alignment;
+
+    /**
+     * Constructor. Makes default border.
+     */
+    public HolidayBorderPanel() {
+
+        // initialize data
+        style       = DEFAULT_STYLE;
+        thickness   = DEFAULT_THICKNESS;
+        gap         = DEFAULT_GAP;
+        color       = DEFAULT_COLOR;
+
+        text        = null;
+        font        = DEFAULT_FONT;
+        alignment   = DEFAULT_ALIGNMENT;
+
+        }
+
+    /**
+     * Constructor. Makes an etched IN border with given text caption.
+     *
+     * @param text  Text caption
+     */
+    public HolidayBorderPanel(String text) {
+        this();
+
+        style = IN;
+        this.text = text;
+        }
+
+    /**
+     * Constructor. Makes SOLID border with color and thickness given.
+     *
+     * @param color     The color for the border.
+     * @param thickness The thickness of the border.
+     */
+    public HolidayBorderPanel(Color color, int thickness) {
+        this();
+
+        style = SOLID;
+        this.color = color;
+        this.thickness = thickness;
+        }
+
+    /**
+     * Constructor. Makes a border of the given style with the default
+     * thickness for that style.
+     *
+     * @param style The style for this border.
+     */
+    public HolidayBorderPanel(int style) {
+        this();
+
+        // set thickness appropriate to this style
+        int thickness;
+        switch (style) {
+            case SOLID: thickness = DEFAULT_SOLID_THICKNESS; break;
+            case RAISED: thickness = DEFAULT_RAISED_THICKNESS; break;
+            case LOWERED: thickness = DEFAULT_LOWERED_THICKNESS; break;
+            case IN: thickness = DEFAULT_IN_THICKNESS; break;
+            case OUT: thickness = DEFAULT_OUT_THICKNESS; break;
+            default:
+                thickness = DEFAULT_THICKNESS;
+            }
+
+        this.style = style;
+        this.thickness = thickness;
+        }
+
+    /**
+     * Constructor. Makes border with given style and thickness.
+     *
+     * @param style     The style for this border.
+     * @param thickness The thickness for this border.
+     */
+    public HolidayBorderPanel(int style, int thickness) {
+        this();
+
+        this.style = style;
+        this.thickness = thickness;
+        }
+
+    /**
+     * Returns the insets of this panel..
+     */
+    public Insets getInsets() {
+        int adjustment = 0;
+
+        // adjust for text string
+        if (style == IN || style == OUT) {
+            if (text != null && text.length() > 0) {
+                try {
+                    // set font and get info
+                    int height = getGraphics().getFontMetrics(font).getHeight();
+                    if (height > thickness)
+                        adjustment = height - thickness;
+                    }
+                catch (Exception e) {
+                    // nothing: just in case there is no graphics context
+                    //   at the beginning.
+                    System.out.print("");
+                    }
+                }
+            }
+
+        // return appropriate insets
+        int dist = thickness + gap;
+        return new Insets(dist + adjustment, dist, dist, dist);
+        }
+
+    /**
+     * Sets the style of the border
+     *
+     * @param style The new style.
+     */
+    public HolidayBorderPanel setStyle(int style) {
+
+        // set the style and re-layout the panel
+        this.style = style;
+        doLayout();
+        repaint();
+
+        return this;
+        }
+
+    /**
+     * Gets the style of the border
+     */
+    public int getStyle() {
+
+        return style;
+        }
+
+    /**
+     * Sets the thickness of the border.
+     *
+     * @param thickness The new thickness
+     */
+    public HolidayBorderPanel setThickness(int thickness) {
+
+        if (thickness > 0) {
+            this.thickness = thickness;
+            doLayout();
+            repaint();
+            }
+
+        return this;
+        }
+
+    /**
+     * Gets the thickness of the border.
+     */
+    public int getThickness() {
+
+        return thickness;
+        }
+
+    /**
+     * Sets the gap between the border and the contained Component.
+     *
+     * @param gap The new gap, in pixels.
+     */
+    public HolidayBorderPanel setGap(int gap) {
+
+        if (gap > -1) {
+            this.gap = gap;
+            doLayout();
+            repaint();
+            }
+
+        return this;
+        }
+
+    /**
+     * Gets the gap between the border and the contained Component.
+     */
+    public int getGap() {
+
+        return gap;
+        }
+
+    /**
+     * Sets the current color for SOLID borders and the caption text
+     * color for etched borders.
+     *
+     * @param color The new color.
+     */
+    public HolidayBorderPanel setColor(Color color) {
+
+        this.color = color;
+        if (style == SOLID || style == IN || style == OUT)
+            repaint();
+
+        return this;
+        }
+
+    /**
+     * Gets the current color for SOLID borders and the caption
+     * text color for etched borders.
+     */
+    public Color getColor() {
+
+        return color;
+        }
+
+    /**
+     * Sets the font. Only applies to etched borders.
+     */
+    public HolidayBorderPanel setTextFont(Font font) {
+
+        // set font
+        if (font != null) {
+            this.font = font;
+            if (style == IN || style == OUT) {
+                doLayout();
+                repaint();
+                }
+            }
+
+        return this;
+        }
+
+    /**
+     * Gets the font of the text. Only applies to etched borders.
+     */
+    public Font getTextFont() {
+
+        return font;
+        }
+
+    /**
+     * Sets the text. Only applies to etched borders.
+     *
+     * @param text  The new text.
+     */
+    public HolidayBorderPanel setText(String text) {
+
+        this.text = text;
+        if (style == IN || style == OUT) {
+            doLayout();
+            repaint();
+            }
+
+        return this;
+        }
+
+    /**
+     * Gets the text. Only applies to etched borders.
+     */
+    public String getText() {
+
+        return text;
+        }
+
+    /**
+     * Sets the text alignment. Only applies to etched borders.
+     *
+     * @param alignment The new alignment.
+     */
+    public HolidayBorderPanel setAlignment(int alignment) {
+
+        this.alignment = alignment;
+        if (style == IN || style == OUT) {
+            doLayout();
+            repaint();
+            }
+
+        return this;
+        }
+
+    /**
+     * Gets the text alignment.
+     */
+    public int getAlignment() {
+
+        return alignment;
+        }
+
+    /**
+     * Repaints the border.
+     *
+     * @param g The graphics context.
+     */
+    public void paint(Graphics g) {
+
+        // get current dimensions
+        Dimension size = getSize();
+        int width = size.width;
+        int height = size.height;
+
+        // set colors
+        Color light = getBackground().brighter().brighter().brighter();
+        Color dark = getBackground().darker().darker().darker();
+
+        // Draw border
+        switch (style) {
+            case RAISED:    // 3D Border (in or out)
+            case LOWERED:
+                Color topleft = null;
+                Color bottomright = null;
+
+                // set colors
+                if (style == RAISED) {
+                    topleft = light;
+                    bottomright = dark;
+                    }
+                else {
+                    topleft = dark;
+                    bottomright = light;
+                    }
+
+                // draw border
+                g.setColor(topleft);
+                for (int i = 0; i < thickness; i++) {
+                    g.drawLine(i, i, width - i - 2, i);
+                    g.drawLine(i, i + 1, i, height - i - 1);
+                    }
+                g.setColor(bottomright);
+                for (int i = 0; i < thickness; i++) {
+                    g.drawLine(i + 1, height - i - 1, width - i - 1, height - i - 1);
+                    g.drawLine(width - i - 1, i, width - i - 1, height - i - 2);
+                    }
+                break;
+
+            case IN:    // Etched Border (in or out)
+            case OUT:
+                int adjust1 = 0;
+                int adjust2 = 0;
+
+                // set font and get info
+                Font oldfont = g.getFont();
+                g.setFont(font);
+                FontMetrics fm = g.getFontMetrics();
+                int ascent = fm.getAscent();
+
+                // set adjustment
+                if (style == IN)
+                    adjust1 = 1;
+                else
+                    adjust2 = 1;
+
+                // Calculate adjustment for text
+                int adjustment = 0;
+                if (text != null && text.length() > 0) {
+                    if (ascent > thickness)
+                        adjustment = (ascent - thickness) / 2;
+                    }
+
+                // The adjustment is there so that we always draw the
+                // light rectangle first. Otherwise, your eye picks up
+                // the discrepancy where the light rect. passes over
+                // the darker rect.
+                int x = thickness / 2;
+                int y = thickness / 2 + adjustment;
+                int w = width - thickness - 1;
+                int h = height - thickness - 1 - adjustment;
+
+                // draw rectangles
+                g.setColor(light);
+                g.drawRect(x + adjust1, y + adjust1, w, h);
+                g.setColor(dark);
+                g.drawRect(x + adjust2, y + adjust2, w, h);
+
+                // draw text, if applicable
+                if (text != null && text.length() > 0) {
+                    // calculate drawing area
+                    int fontheight = fm.getHeight();
+                    int strwidth = fm.stringWidth(text);
+
+                    int textwidth = width - 2 * (thickness + 5);
+                    if (strwidth > textwidth)
+                        strwidth = textwidth;
+
+                    // calculate offset for alignment
+                    int offset;
+                    switch (alignment) {
+                        case CENTER:
+                            offset = (width - strwidth) / 2;
+                            break;
+                        case RIGHT:
+                            offset = width - strwidth - thickness - 5;
+                            break;
+                        case LEFT:
+                        default: // assume left alignment if invalid
+                            offset = thickness + 5;
+                            break;
+                        }
+
+                    // clear drawing area and set clipping region
+                    g.clearRect(offset - 5, 0, strwidth  + 10, fontheight);
+                    g.clipRect(offset, 0, strwidth, fontheight);
+
+                    // draw text
+                    g.setColor(color);
+                    g.drawString(text, offset, ascent);
+
+                    // restore old clipping area
+                    g.clipRect(0, 0, width, height);
+                    }
+
+                g.setFont(oldfont);
+                break;
+
+            case SOLID:
+            default: // assume SOLID
+                g.setColor(color);
+                for (int i = 0; i < thickness; i++)
+                    g.drawRect(i, i, width - 2 * i - 1, height - 2 * i - 1);
+            }
+
+        }
+
+    /**
+     * Returns the settings of this HolidayBorderPanel instance as a string.
+     */
+    public String toString() {
+        StringBuffer str = new StringBuffer("HolidayBorderPanel[");
+
+        // style
+        str.append("style=");
+        switch (style) {
+            case SOLID: str.append("SOLID"); break;
+            case RAISED: str.append("RAISED"); break;
+            case LOWERED: str.append("LOWERED"); break;
+            case IN: str.append("IN"); break;
+            case OUT: str.append("OUT"); break;
+            default: str.append("unknown");
+            }
+        str.append(",");
+
+        // thickness
+        str.append("thickness=");
+        str.append(thickness);
+        str.append(",");
+
+        // gap
+        str.append("gap=");
+        str.append(gap);
+        str.append(",");
+
+        // color
+        str.append(color);
+        str.append(",");
+
+        // font
+        str.append(font);
+        str.append(",");
+
+        // text
+        str.append("text=");
+        str.append(text);
+        str.append(",");
+
+        // alignment
+        str.append("alignment=");
+        switch (alignment) {
+            case LEFT: str.append("LEFT"); break;
+            case CENTER: str.append("CENTER"); break;
+            case RIGHT: str.append("RIGHT"); break;
+            default: str.append("unknown");
+            }
+
+        str.append("]");
+
+        return str.toString();
+        }
+
+    }
+
diff --git a/src/com/ibm/icu/dev/demo/holiday/HolidayCalendarDemo.java b/src/com/ibm/icu/dev/demo/holiday/HolidayCalendarDemo.java
new file mode 100755
index 0000000..8f6ca3c
--- /dev/null
+++ b/src/com/ibm/icu/dev/demo/holiday/HolidayCalendarDemo.java
@@ -0,0 +1,731 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+package com.ibm.icu.dev.demo.holiday;
+
+import java.awt.BorderLayout;
+import java.awt.Button;
+import java.awt.Canvas;
+import java.awt.Choice;
+import java.awt.Color;
+import java.awt.Component;
+import java.awt.Container;
+import java.awt.Dimension;
+import java.awt.Font;
+import java.awt.FontMetrics;
+import java.awt.Frame;
+import java.awt.Graphics;
+import java.awt.GridBagConstraints;
+import java.awt.GridBagLayout;
+import java.awt.Label;
+import java.awt.Panel;
+import java.awt.Point;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.awt.event.ItemEvent;
+import java.awt.event.ItemListener;
+import java.awt.event.WindowEvent;
+import java.text.DateFormatSymbols;
+import java.util.Date;
+import java.util.Locale;
+import java.util.Vector;
+
+import com.ibm.icu.dev.demo.impl.DemoApplet;
+import com.ibm.icu.dev.demo.impl.DemoTextBox;
+import com.ibm.icu.dev.demo.impl.DemoUtility;
+import com.ibm.icu.text.SimpleDateFormat;
+import com.ibm.icu.util.Calendar;
+import com.ibm.icu.util.Holiday;
+import com.ibm.icu.util.SimpleTimeZone;
+
+/**
+ * CalendarDemo demonstrates how Calendar works.
+ */
+public class HolidayCalendarDemo extends DemoApplet 
+{
+    /**
+     * The main function which defines the behavior of the CalendarDemo
+     * applet when an applet is started.
+     */
+    public static void main(String argv[]) {
+
+        new HolidayCalendarDemo().showDemo();
+    }
+
+    /* This creates a CalendarFrame for the demo applet. */
+    public Frame createDemoFrame(DemoApplet applet) {
+        return new CalendarFrame(applet);
+    }
+
+    /**
+    * A Frame is a top-level window with a title. The default layout for a frame
+    * is BorderLayout.  The CalendarFrame class defines the window layout of
+    * CalendarDemo.
+    */
+    private static class CalendarFrame extends Frame implements ActionListener,
+                                                                ItemListener
+    {
+        //private static final String creditString = ""; // unused
+
+        private static final boolean DEBUG = false;
+
+        //private Locale curLocale = Locale.US; // unused
+
+        private DemoApplet applet;
+
+        private static final Locale[] calendars = {
+            //new Locale("de","AT"),
+            Locale.CANADA,
+            Locale.CANADA_FRENCH,
+            Locale.FRANCE,
+            Locale.GERMANY,
+            new Locale("iw","IL"),
+            new Locale("el","GR"),
+            //new Locale("es","MX"),
+            Locale.UK,
+            Locale.US,
+        };
+        private static final Locale[] displays = {
+            Locale.CANADA,
+            Locale.UK,
+            Locale.US,
+            Locale.FRANCE,
+            Locale.CANADA_FRENCH,
+            //new Locale("de","AT"),
+            Locale.GERMAN,
+            new Locale("el","GR"),
+            //new Locale("iw","IL"),
+            new Locale("es","MX"),
+        };
+
+        /**
+        * Constructs a new CalendarFrame that is initially invisible.
+        */
+        public CalendarFrame(DemoApplet applet)
+        {
+            super("Calendar Demo");
+            this.applet = applet;
+            init();
+            start();
+            enableEvents(WindowEvent.WINDOW_CLOSING);
+        }
+
+        /**
+        * Initializes the applet. You never need to call this directly, it
+        * is called automatically by the system once the applet is created.
+        */
+        public void init()
+        {
+            // Get G7 locales only for demo purpose. To get all the locales
+            // supported, switch to calling Calendar.getAvailableLocales().
+            // commented
+            locales = displays;
+
+            buildGUI();
+        }
+
+        //------------------------------------------------------------
+        // package private
+        //------------------------------------------------------------
+        void addWithFont(Container container, Component foo, Font font) {
+            if (font != null)
+                foo.setFont(font);
+            container.add(foo);
+        }
+
+        /**
+        * Called to start the applet. You never need to call this method
+        * directly, it is called when the applet's document is visited.
+        */
+        public void start()
+        {
+            // do nothing
+        }
+
+        private Choice          localeMenu;
+        private Choice          displayMenu;
+        private Locale[]        locales;
+
+        private Label           monthLabel;
+        private Button          prevYear;
+        private Button          prevMonth;
+        private Button          gotoToday;
+        private Button          nextMonth;
+        private Button          nextYear;
+        private CalendarPanel   calendarPanel;
+
+        private static final Locale kFirstLocale = Locale.US;
+
+        private static void add(Container container, Component component,
+                                GridBagLayout g, GridBagConstraints c)
+        {
+            g.setConstraints(component, c);
+            container.add(component);
+        }
+
+        public void buildGUI()
+        {
+            setBackground(DemoUtility.bgColor);
+            setLayout(new BorderLayout(10,10));
+
+            // Label for the demo's title
+            Label titleLabel = new Label("Calendar Demo", Label.CENTER);
+            titleLabel.setFont(DemoUtility.titleFont);
+
+            // Label for the current month name
+            monthLabel = new Label("", Label.LEFT);
+            monthLabel.setFont(new Font(DemoUtility.titleFont.getName(),
+                                        DemoUtility.titleFont.getStyle(),
+                                        (DemoUtility.titleFont.getSize() * 3)/2));
+
+            // Make the locale popup menus
+            localeMenu= new Choice();
+            localeMenu.addItemListener(this);
+            int selectMe = 0;
+            
+            for (int i = 0; i < calendars.length; i++) {
+                if (i > 0 &&
+                        calendars[i].getCountry().equals(calendars[i-1].getCountry()) ||
+                    i < calendars.length - 1 &&
+                        calendars[i].getCountry().equals(calendars[i+1].getCountry()))
+                {
+                    localeMenu.addItem(calendars[i].getDisplayCountry() + " (" +
+                                    calendars[i].getDisplayLanguage() + ")");
+                } else {
+                    localeMenu.addItem( calendars[i].getDisplayCountry() );
+                }
+                
+                if (calendars[i].equals(kFirstLocale)) {
+                    selectMe = i;
+                }
+            }
+            
+            localeMenu.setBackground(DemoUtility.choiceColor);
+            localeMenu.select(selectMe);
+
+            displayMenu = new Choice();
+            displayMenu.addItemListener(this);
+            
+            selectMe = 0;
+            for (int i = 0; i < locales.length; i++) {
+                if (i > 0 &&
+                        locales[i].getLanguage().equals(locales[i-1].getLanguage()) ||
+                    i < locales.length - 1 &&
+                        locales[i].getLanguage().equals(locales[i+1].getLanguage()))
+                {
+                    displayMenu.addItem( locales[i].getDisplayName() );
+                } else {
+                    displayMenu.addItem( locales[i].getDisplayLanguage());
+                }
+                
+                if (locales[i].equals(kFirstLocale)) {
+                    selectMe = i;
+                }
+            }
+            
+            displayMenu.setBackground(DemoUtility.choiceColor);
+            displayMenu.select(selectMe);
+
+            // Make all the next/previous/today buttons
+            prevYear = new Button("<<");
+            prevYear.addActionListener(this);
+            prevMonth = new Button("<");
+            prevMonth.addActionListener(this);
+            gotoToday = new Button("Today");
+            gotoToday.addActionListener(this);
+            nextMonth = new Button(">");
+            nextMonth.addActionListener(this);
+            nextYear = new Button(">>");
+            nextYear.addActionListener(this);
+
+            // The month name and the control buttons are bunched together
+            Panel monthPanel = new Panel();
+            {
+                GridBagLayout g = new GridBagLayout();
+                GridBagConstraints c = new GridBagConstraints();
+                monthPanel.setLayout(g);
+
+                c.weightx = 1;
+                c.weighty = 1;
+
+                c.gridwidth = 1;
+                c.fill = GridBagConstraints.HORIZONTAL;
+                c.gridwidth = GridBagConstraints.REMAINDER;
+                add(monthPanel, monthLabel, g, c);
+
+                c.gridwidth = 1;
+                add(monthPanel, prevYear, g, c);
+                add(monthPanel, prevMonth, g, c);
+                add(monthPanel, gotoToday, g, c);
+                add(monthPanel, nextMonth, g, c);
+                c.gridwidth = GridBagConstraints.REMAINDER;
+                add(monthPanel, nextYear, g, c);
+            }
+
+            // Stick the menu and buttons in a little "control panel"
+            Panel menuPanel = new Panel();
+            {
+                GridBagLayout g = new GridBagLayout();
+                GridBagConstraints c = new GridBagConstraints();
+                menuPanel.setLayout(g);
+
+                c.weightx = 1;
+                c.weighty = 1;
+
+                c.fill = GridBagConstraints.HORIZONTAL;
+
+                c.gridwidth = GridBagConstraints.RELATIVE;
+                Label l1 = new Label("Holidays");
+                l1.setFont(DemoUtility.labelFont);
+                add(menuPanel, l1, g, c);
+
+                c.gridwidth = GridBagConstraints.REMAINDER;
+                add(menuPanel, localeMenu, g, c);
+
+                c.gridwidth = GridBagConstraints.RELATIVE;
+                Label l2 = new Label("Display:");
+                l2.setFont(DemoUtility.labelFont);
+                add(menuPanel, l2, g, c);
+
+                c.gridwidth = GridBagConstraints.REMAINDER;
+                add(menuPanel, displayMenu, g, c);
+            }
+
+            // The title, buttons, etc. go in a panel at the top of the window
+            Panel topPanel = new Panel();
+            {
+                topPanel.setLayout(new BorderLayout());
+
+                //topPanel.add("North", titleLabel);
+                topPanel.add("Center", monthPanel);
+                topPanel.add("East", menuPanel);
+            }
+            add("North", topPanel);
+
+            // The copyright notice goes at the bottom of the window
+            Label copyright = new Label(DemoUtility.copyright1, Label.LEFT);
+            copyright.setFont(DemoUtility.creditFont);
+            add("South", copyright);
+
+            // Now create the big calendar panel and stick it in the middle
+            calendarPanel = new CalendarPanel( kFirstLocale );
+            add("Center", calendarPanel);
+
+            updateMonthName();
+        }
+
+        private void updateMonthName()
+        {
+            SimpleDateFormat f = new SimpleDateFormat("MMMM yyyyy",
+                                                        calendarPanel.getDisplayLocale());
+            f.setCalendar(calendarPanel.getCalendar());
+            f.setTimeZone(new SimpleTimeZone(0, "UTC"));        // JDK 1.1.2 workaround
+            monthLabel.setText( f.format( calendarPanel.firstOfMonth() ));
+        }
+        
+        /**
+        * Handles the event. Returns true if the event is handled and should not
+        * be passed to the parent of this component. The default event handler
+        * calls some helper methods to make life easier on the programmer.
+        */
+        public void actionPerformed(ActionEvent e)
+        {
+            Object obj = e.getSource();
+            
+            // *** Button events are handled here.
+            if (obj instanceof Button) {
+                if (obj == nextMonth) {
+                    calendarPanel.add(Calendar.MONTH, +1);
+                }
+                else
+                if (obj == prevMonth) {
+                    calendarPanel.add(Calendar.MONTH, -1);
+                }
+                else
+                if (obj == prevYear) {
+                    calendarPanel.add(Calendar.YEAR, -1);
+                }
+                else
+                if (obj == nextYear) {
+                    calendarPanel.add(Calendar.YEAR, +1);
+                }
+                else
+                if (obj == gotoToday) {
+                    calendarPanel.set( new Date() );
+                }
+                updateMonthName();
+            }
+        }
+        
+        public void itemStateChanged(ItemEvent e)
+        {
+            Object obj = e.getSource();
+            if (obj == localeMenu) {
+                calendarPanel.setCalendarLocale(calendars[localeMenu.getSelectedIndex()]);
+                updateMonthName();
+            }
+            else 
+                if (obj == displayMenu) {
+                    calendarPanel.setDisplayLocale(locales[displayMenu.getSelectedIndex()]);
+                    updateMonthName();
+                }
+        }
+        
+        /**
+        * Print out the error message while debugging this program.
+        */
+        public void errorText(String s)
+        {
+            if (DEBUG)
+            {
+                System.out.println(s);
+            }
+        }
+        
+        protected void processWindowEvent(WindowEvent e)
+        {
+            System.out.println("event " + e);
+            if (e.getID() == WindowEvent.WINDOW_CLOSING) {
+                this.hide();
+                this.dispose();
+
+                if (applet != null) {
+                    applet.demoClosed();
+                } else {
+                    System.exit(0);
+                }
+            }
+        }
+    }
+
+
+    private static class CalendarPanel extends Canvas {
+
+        public CalendarPanel( Locale locale ) {
+            set(locale, locale, new Date());
+        }
+
+        public void setCalendarLocale(Locale locale) {
+            set(locale, fDisplayLocale, fCalendar.getTime());
+        }
+
+        public void setDisplayLocale(Locale locale) {
+            set(fCalendarLocale, locale, fCalendar.getTime());
+        }
+
+        public void set(Date date) {
+            set(fCalendarLocale, fDisplayLocale, date);
+        }
+
+        public void set(Locale loc, Locale display, Date date)
+        {
+            if (fCalendarLocale == null || !loc.equals(fCalendarLocale)) {
+                fCalendarLocale = loc;
+                fCalendar = Calendar.getInstance(fCalendarLocale);
+                fAllHolidays = Holiday.getHolidays(fCalendarLocale);
+            }
+            if (fDisplayLocale == null || !display.equals(fDisplayLocale)) {
+                fDisplayLocale = display;
+                fSymbols = new DateFormatSymbols(fDisplayLocale);
+            }
+
+            fStartOfMonth = date;
+
+            dirty = true;
+            repaint();
+        }
+
+        public void add(int field, int delta)
+        {
+            synchronized(fCalendar) {
+                fCalendar.setTime(fStartOfMonth);
+                fCalendar.add(field, delta);
+                fStartOfMonth = fCalendar.getTime();
+            }
+            dirty = true;
+            repaint();
+        }
+
+        public com.ibm.icu.util.Calendar getCalendar() {
+            return fCalendar;
+        }
+
+        public Locale getCalendarLocale() {
+            return fCalendarLocale;
+        }
+
+        public Locale getDisplayLocale() {
+            return fDisplayLocale;
+        }
+
+
+        public Date firstOfMonth() {
+            return fStartOfMonth;
+        }
+
+        private Date startOfMonth(Date dateInMonth)
+        {
+            synchronized(fCalendar) {
+                fCalendar.setTime(dateInMonth);             // TODO: synchronization
+
+                int era = fCalendar.get(Calendar.ERA);
+                int year = fCalendar.get(Calendar.YEAR);
+                int month = fCalendar.get(Calendar.MONTH);
+
+                fCalendar.clear();
+                fCalendar.set(Calendar.ERA, era);
+                fCalendar.set(Calendar.YEAR, year);
+                fCalendar.set(Calendar.MONTH, month);
+                fCalendar.set(Calendar.DATE, 1);
+
+                return fCalendar.getTime();
+            }
+        }
+
+        private void calculate()
+        {
+            //
+            // As a workaround for JDK 1.1.3 and below, where Calendars and time
+            // zones are a bit goofy, always set my calendar's time zone to UTC.
+            // You would think I would want to do this in the "set" function above,
+            // but if I do that, the program hangs when this class is loaded,
+            // perhaps due to some sort of static initialization ordering problem.
+            // So I do it here instead.
+            //
+            fCalendar.setTimeZone(new SimpleTimeZone(0, "UTC"));
+
+            Calendar c = (Calendar)fCalendar.clone(); // Temporary copy
+
+            fStartOfMonth = startOfMonth(fStartOfMonth);
+
+            // Stash away a few useful constants for this calendar and display
+            minDay = c.getMinimum(Calendar.DAY_OF_WEEK);
+            daysInWeek = c.getMaximum(Calendar.DAY_OF_WEEK) - minDay + 1;
+
+            firstDayOfWeek = Calendar.getInstance(fDisplayLocale).getFirstDayOfWeek();
+
+            // Stash away a Date for the start of this month
+
+            // Find the day of week of the first day in this month
+            c.setTime(fStartOfMonth);
+            firstDayInMonth = c.get(Calendar.DAY_OF_WEEK);
+
+            // Now find the # of days in the month
+            c.roll(Calendar.DATE, false);
+            daysInMonth = c.get(Calendar.DATE);
+
+            // Finally, find the end of the month, i.e. the start of the next one
+            c.roll(Calendar.DATE, true);
+            c.add(Calendar.MONTH, 1);
+            c.getTime();        // JDK 1.1.2 bug workaround
+            c.add(Calendar.SECOND, -1);
+            Date endOfMonth = c.getTime();
+
+            //
+            // Calculate the number of full or partial weeks in this month.
+            // To do this I can just reuse the code that calculates which
+            // calendar cell contains a given date.
+            //
+            numWeeks = dateToCell(daysInMonth).y - dateToCell(1).y + 1;
+
+            // Remember which holidays fall on which days in this month,
+            // to save the trouble of having to do it later
+            fHolidays.setSize(0);
+
+            for (int h = 0; h < fAllHolidays.length; h++)
+            {
+                Date d = fStartOfMonth;
+                while ( (d = fAllHolidays[h].firstBetween(d, endOfMonth) ) != null)
+                {
+                    c.setTime(d);
+                    fHolidays.addElement( new HolidayInfo(c.get(Calendar.DATE),
+                                            fAllHolidays[h],
+                                            fAllHolidays[h].getDisplayName(fDisplayLocale) ));
+
+                    d.setTime( d.getTime() + 1000 );    // "d++"
+                }
+            }
+            dirty = false;
+        }
+
+        static final int INSET = 2;
+
+        /*
+        * Convert from the day number within a month (1-based)
+        * to the cell coordinates on the calendar (0-based)
+        */
+        private void dateToCell(int date, Point pos)
+        {
+            int cell = (date + firstDayInMonth - firstDayOfWeek - minDay);
+            if (firstDayInMonth < firstDayOfWeek) {
+                cell += daysInWeek;
+            }
+
+            pos.x = cell % daysInWeek;
+            pos.y = cell / daysInWeek;
+        }
+        private Point dateToCell(int date) {
+            Point p = new Point(0,0);
+            dateToCell(date, p);
+            return p;
+        }
+
+        public void paint(Graphics g) {
+
+            if (dirty) {
+                calculate();
+            }
+
+            Point cellPos = new Point(0,0);     // Temporary variable
+            Dimension d = getSize();
+
+            g.setColor(DemoUtility.bgColor);
+            g.fillRect(0,0,d.width,d.height);
+
+            // Draw the day names at the top
+            g.setColor(Color.black);
+            g.setFont(DemoUtility.labelFont);
+            FontMetrics fm = g.getFontMetrics();
+            int labelHeight = fm.getHeight() + INSET * 2;
+
+            int v = fm.getAscent() + INSET;
+            for (int i = 0; i < daysInWeek; i++) {
+                int dayNum = (i + minDay + firstDayOfWeek - 2) % daysInWeek + 1;
+                String dayName = fSymbols.getWeekdays()[dayNum];
+
+                int h = (int) (d.width * (i + 0.5)) / daysInWeek;
+                h -= fm.stringWidth(dayName) / 2;
+
+                g.drawString(dayName, h, v);
+            }
+
+            double cellHeight = (d.height - labelHeight - 1) / numWeeks;
+            double cellWidth = (double)(d.width - 1) / daysInWeek;
+
+            // Draw a white background in the part of the calendar
+            // that displays this month.
+            // First figure out how much of the first week should be shaded.
+            {
+                g.setColor(Color.white);
+                dateToCell(1, cellPos);
+                int width = (int)(cellPos.x*cellWidth);  // Width of unshaded area
+
+                g.fillRect((int)(width), labelHeight ,
+                        (int)(d.width - width), (int)cellHeight);
+
+                // All of the intermediate weeks get shaded completely
+                g.fillRect(0, (int)(labelHeight + cellHeight),
+                            d.width, (int)(cellHeight * (numWeeks - 2)));
+
+                // Now figure out the last week.
+                dateToCell(daysInMonth, cellPos);
+                width = (int)((cellPos.x+1)*cellWidth);  // Width of shaded area
+
+                g.fillRect(0, (int)(labelHeight + (numWeeks-1) * cellHeight),
+                            width, (int)(cellHeight));
+
+            }
+            // Draw the X/Y grid lines
+            g.setColor(Color.black);
+            for (int i = 0; i <= numWeeks; i++) {
+                int y = (int)(labelHeight + i * cellHeight);
+                g.drawLine(0, y, d.width - 1, y);
+            }
+            for (int i = 0; i <= daysInWeek; i++) {
+                int x = (int)(i * cellWidth);
+                g.drawLine(x, labelHeight, x, d.height - 1);
+            }
+
+            // Now loop through all of the days in the month, figure out where
+            // they go in the grid, and draw the day # for each one
+            Font numberFont = new Font("Helvetica",Font.PLAIN,12);
+            // not used Font holidayFont = DemoUtility.creditFont;
+
+            Calendar c = (Calendar)fCalendar.clone();
+            c.setTime(fStartOfMonth);
+
+            for (int i = 1, h = 0; i <= daysInMonth; i++) {
+                g.setFont(numberFont);
+                g.setColor(Color.black);
+                fm = g.getFontMetrics();
+
+                dateToCell(i, cellPos);
+                int x = (int)((cellPos.x + 1) * cellWidth);
+                int y = (int)(cellPos.y * cellHeight + labelHeight);
+
+                StringBuffer buffer = new StringBuffer();
+                buffer.append(i);
+                String dayNum = buffer.toString();
+
+                x = x - INSET - fm.stringWidth(dayNum);
+                y = y + fm.getAscent() + INSET;
+
+                g.drawString(dayNum, x, y);
+
+                // See if any of the holidays land on this day....
+                HolidayInfo info = null;
+                int count = 0;
+
+                // Coordinates of lower-left corner of cell.
+                x = (int)((cellPos.x) * cellWidth);
+                y = (int)((cellPos.y+1) * cellHeight) + labelHeight;
+
+                while (h < fHolidays.size() &&
+                        (info = (HolidayInfo)fHolidays.elementAt(h)).date <= i)
+                {
+                    if (info.date == i) {
+                        // Draw the holiday here.
+                        g.setFont(numberFont);
+                        g.setColor(Color.red);
+
+                        DemoTextBox box = new DemoTextBox(g, info.name, (int)(cellWidth - INSET));
+                        box.draw(g, x + INSET, y - INSET - box.getHeight());
+
+                        y -= (box.getHeight() + INSET);
+                        count++;
+                    }
+                    h++;
+                }
+            }
+        }
+
+        // Important state variables
+        private Locale              fCalendarLocale;    // Whose calendar
+        private Calendar            fCalendar;          // Calendar for calculations
+
+        private Locale              fDisplayLocale;     // How to display it
+        private DateFormatSymbols   fSymbols;           // Symbols for drawing
+
+        private Date                fStartOfMonth;      // 00:00:00 on first day of month
+
+        // Cached calculations to make drawing faster.
+        private transient int minDay;           // Minimum legal day #
+        private transient int daysInWeek;       // # of days in a week
+        private transient int firstDayOfWeek;   // First day to display in week
+        private transient int numWeeks;         // # full or partial weeks in month
+        private transient int daysInMonth;      // # days in this month
+        private transient int firstDayInMonth;  // Day of week of first day in month
+
+        private transient Holiday[] fAllHolidays;
+        private transient Vector    fHolidays = new Vector(5,5);
+
+        private transient boolean dirty = true;
+    }
+
+    private static class HolidayInfo {
+        public HolidayInfo(int date, Holiday holiday, String name) {
+            this.date = date;
+            this.holiday = holiday;
+            this.name = name;
+        }
+
+        public Holiday holiday;
+        public int date;
+        public String name;
+    }
+}
+
diff --git a/src/com/ibm/icu/dev/demo/holiday/package.html b/src/com/ibm/icu/dev/demo/holiday/package.html
new file mode 100755
index 0000000..d05e2f5
--- /dev/null
+++ b/src/com/ibm/icu/dev/demo/holiday/package.html
@@ -0,0 +1,12 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html>
+<head>
+<!--  Copyright (C) 2000-2004, International Business Machines Corporation and
+  others. All Rights Reserved.
+
+-->
+</head>
+<body bgcolor="white">
+Holiday demo application.
+</body>
+</html>
\ No newline at end of file
diff --git a/src/com/ibm/icu/dev/demo/impl/AppletFrame.java b/src/com/ibm/icu/dev/demo/impl/AppletFrame.java
new file mode 100755
index 0000000..edff383
--- /dev/null
+++ b/src/com/ibm/icu/dev/demo/impl/AppletFrame.java
@@ -0,0 +1,145 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.demo.impl;
+import java.applet.*;
+import java.net.URL;
+import java.util.Enumeration;
+import java.util.Iterator;
+import java.awt.*;
+import java.awt.event.*;
+import java.io.InputStream;
+import java.io.IOException;
+
+/**
+ * <p>A Frame that runs an Applet within itself, making it possible
+ * for an applet to run as an application.  Usage:
+ *
+ * <pre>
+ * public class MyApplet extends Applet {
+ *     public static void main(String args[]) {
+ *         MyApplet applet = new MyApplet();
+ *         new AppletFrame("My Applet Running As An App", applet, 640, 480);
+ *     }
+ *     ...
+ * }
+ * <pre>
+ *
+ * <p>Copyright &copy; IBM Corporation 1999.  All rights reserved.
+ *
+ * @author Alan Liu
+ */
+public class AppletFrame extends Frame implements AppletStub, AppletContext {
+
+    Applet applet;
+
+    private static final String COPYRIGHT =
+        "\u00A9 IBM Corporation 1999. All rights reserved.";
+    
+    /**
+     * Construct a Frame running the given Applet with the default size
+     * of 640 by 480.
+     * When the Frame is closed, the applet's stop() method is called,
+     * the Frame is dispose()d of, and System.exit(0) is called.
+     *
+     * @param name the Frame title
+     * @param applet the applet to be run
+     */
+    public AppletFrame(String name, Applet applet) {
+        this(name, applet, 640, 480);
+    }
+
+    /**
+     * Construct a Frame running the given Applet with the given size.
+     * When the Frame is closed, the applet's stop() method is called,
+     * the Frame is dispose()d of, and System.exit(0) is called.
+     *
+     * @param name the Frame title
+     * @param applet the applet to be run
+     * @param width width of the Frame
+     * @param height height of the Frame
+     */
+    public AppletFrame(String name, Applet applet, int width, int height) {
+        super(name);
+        this.applet = applet;
+        applet.setStub(this);
+
+        setSize(width, height);
+        add("Center", applet);
+        show();
+        addWindowListener(new WindowAdapter() {
+            public void windowClosing(WindowEvent e) {
+                AppletFrame.this.applet.stop();
+                dispose();
+                System.exit(0);
+            }
+        });
+
+        applet.init();
+        applet.start();
+    }
+
+    // AppletStub API
+    public void appletResize(int width, int height) {
+        setSize(width, height);
+    }
+
+    public AppletContext getAppletContext() {
+        return this;
+    }
+
+    public URL getCodeBase() {
+        return null;
+    }
+
+    public URL getDocumentBase() {
+        return null;
+    }
+    
+    public String getParameter(String name) {
+        return "PARAMETER";
+    }
+
+    public boolean isActive() {
+        return true;
+    }
+    
+    
+    // AppletContext API
+    public Applet getApplet(String name) {
+        return applet;
+    }
+
+    public Enumeration getApplets() {
+        return null;
+    }
+
+    public AudioClip getAudioClip(URL url) {
+        return null;
+    }
+
+    public Image getImage(URL url) {
+        return null;
+    }
+
+    public void showDocument(URL url) {}
+    public void showDocument(URL url, String target) {}
+
+    public void showStatus(String status) {
+        System.out.println(status);
+    }
+    
+    public void setStream(String key, InputStream stream) throws IOException {
+    }
+    
+    public InputStream getStream(String key) {
+        return null;
+    }
+    
+    public Iterator getStreamKeys() {
+        return null;
+    }
+}
diff --git a/src/com/ibm/icu/dev/demo/impl/DemoApplet.java b/src/com/ibm/icu/dev/demo/impl/DemoApplet.java
new file mode 100755
index 0000000..2c527c3
--- /dev/null
+++ b/src/com/ibm/icu/dev/demo/impl/DemoApplet.java
@@ -0,0 +1,72 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1997-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+package com.ibm.icu.dev.demo.impl;
+
+import java.awt.*;
+import java.awt.event.*;
+
+public abstract class DemoApplet extends java.applet.Applet {
+    private Button   demoButton;
+    private Frame    demoFrame;
+    private static int demoFrameCount = 0;
+
+    protected abstract Frame createDemoFrame(DemoApplet applet);
+    protected Dimension getDefaultFrameSize(DemoApplet applet, Frame f) {
+        return new Dimension(700, 550);
+    }
+
+    //Create a button that will display the demo
+    public void init()
+    {
+        setBackground(Color.white);
+        demoButton = new Button("Demo");
+        demoButton.setBackground(Color.yellow);
+        add( demoButton );
+
+        demoButton.addActionListener( new ActionListener() {
+             public void actionPerformed(ActionEvent e) {
+                if (e.getID() == ActionEvent.ACTION_PERFORMED) {
+                    demoButton.setLabel("loading");
+
+                    if (demoFrame == null) {
+                       demoFrame = createDemoFrame(DemoApplet.this);
+                       showDemo();
+                    }
+
+                    demoButton.setLabel("Demo");
+                }
+             }
+        } );
+    }
+
+    public void showDemo()
+    {
+        demoFrame = createDemoFrame(this);
+        demoFrame.doLayout();
+        Dimension d = getDefaultFrameSize(this, demoFrame);
+        demoFrame.setSize(d.width, d.height);
+        demoFrame.show();
+        demoFrameOpened();
+    }
+
+    public void demoClosed()
+    {
+        demoFrame = null;
+        demoFrameClosed();
+    }
+
+    protected static void demoFrameOpened() {
+        demoFrameCount++;
+    }
+    protected static void demoFrameClosed() {
+        if (--demoFrameCount == 0) {
+            System.exit(0);
+        }
+    }
+}
+
diff --git a/src/com/ibm/icu/dev/demo/impl/DemoTextBox.java b/src/com/ibm/icu/dev/demo/impl/DemoTextBox.java
new file mode 100755
index 0000000..bb6a9c4
--- /dev/null
+++ b/src/com/ibm/icu/dev/demo/impl/DemoTextBox.java
@@ -0,0 +1,95 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1997-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.demo.impl;
+
+
+import java.text.BreakIterator;
+import java.awt.*;
+
+public class DemoTextBox {
+
+    public DemoTextBox(Graphics g, String text, int width)
+    {
+        this.text = text;
+        this.chars = new char[text.length()];
+        text.getChars(0, text.length(), chars, 0);
+
+        this.width = width;
+        this.port = g;
+        this.metrics = g.getFontMetrics();
+
+        breakText();
+    }
+
+    public  int getHeight() {
+        return (nbreaks + 1) * metrics.getHeight();
+    }
+
+    public  void draw(Graphics g, int x, int y)
+    {
+        int index = 0;
+
+        y += metrics.getAscent();
+
+        for (int i = 0; i < nbreaks; i++)
+        {
+            g.drawChars(chars, index, breakPos[i] - index, x, y);
+            index = breakPos[i];
+            y += metrics.getHeight();
+        }
+
+        g.drawChars(chars, index, chars.length - index, x, y);
+    }
+
+
+    private void breakText()
+    {
+        if (metrics.charsWidth(chars, 0, chars.length) > width)
+        {
+            BreakIterator iter = BreakIterator.getWordInstance();
+            iter.setText(text);
+
+            int start = iter.first();
+            int end = start;
+            int pos;
+
+            while ( (pos = iter.next()) != BreakIterator.DONE )
+            {
+                int w = metrics.charsWidth(chars, start, pos - start);
+                if (w > width)
+                {
+                    // We've gone past the maximum width, so break the line
+                    if (end > start) {
+                        // There was at least one break position before this point
+                        breakPos[nbreaks++] = end;
+                        start = end;
+                        end = pos;
+                    } else {
+                        // There weren't any break positions before this one, so
+                        // let this word overflow the margin (yuck)
+                        breakPos[nbreaks++] = pos;
+                        start = end = pos;
+                    }
+                } else {
+                    // the current position still fits on the line; it's the best
+                    // tentative break position we have so far.
+                    end = pos;
+                }
+
+            }
+        }
+    }
+
+    private String          text;
+    private char[]          chars;
+    private Graphics        port;
+    private FontMetrics     metrics;
+    private int             width;
+
+    private int[]           breakPos = new int[10]; // TODO: get real
+    private int             nbreaks = 0;
+}
\ No newline at end of file
diff --git a/src/com/ibm/icu/dev/demo/impl/DemoUtility.java b/src/com/ibm/icu/dev/demo/impl/DemoUtility.java
new file mode 100755
index 0000000..5c5c3f4
--- /dev/null
+++ b/src/com/ibm/icu/dev/demo/impl/DemoUtility.java
@@ -0,0 +1,127 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1997-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.demo.impl;
+
+import java.awt.*;
+import java.util.*;
+
+public class DemoUtility
+{
+    public static final Font titleFont = new Font("TimesRoman",Font.BOLD,18);
+    public static final Font labelFont = new Font("TimesRoman",Font.BOLD,14);
+    public static final Font choiceFont = new Font("Helvetica",Font.BOLD,12);
+    public static final Font editFont = new Font("Helvetica",Font.PLAIN,14);
+    public static final Font creditFont = new Font("Helvetica",Font.PLAIN,10);
+    public static final Font numberFont = new Font("sansserif", Font.PLAIN, 14);
+
+    public static final Color bgColor = Color.lightGray;
+    public static final Color choiceColor = Color.white;
+
+    public static final String copyright1 =
+        "Copyright (C) IBM Corp and others. 1997 - 2002 All Rights Reserved";
+
+    /**
+    Provides easy way to use basic functions of GridBagLayout, without
+    the complications. After building a panel, and inserting all the
+    * subcomponents, call this to lay it out in the desired number of columns.
+    */
+    public static void fixGrid(Container cont, int columns) {
+        GridBagLayout gridbag = new GridBagLayout();
+        cont.setLayout(gridbag);
+
+        GridBagConstraints c = new GridBagConstraints();
+        c.fill = GridBagConstraints.VERTICAL;
+        c.weightx = 1.0;
+        c.insets = new Insets(2,2,2,2);
+
+        Component[] components = cont.getComponents();
+        for (int i = 0; i < components.length; ++i) {
+            // not used int colNumber = i%columns;
+            c.gridwidth = 1;    // default
+            if ((i%columns) == columns - 1)
+                c.gridwidth = GridBagConstraints.REMAINDER;    // last in grid
+            if (components[i] instanceof Label) {
+                switch (((Label)components[i]).getAlignment()) {
+                case Label.CENTER: c.anchor = GridBagConstraints.CENTER; break;
+                case Label.LEFT: c.anchor = GridBagConstraints.WEST; break;
+                case Label.RIGHT: c.anchor = GridBagConstraints.EAST; break;
+                }
+            }
+            gridbag.setConstraints(components[i], c);
+        }
+
+    }
+
+    /**
+    Provides easy way to change the spacing around an object in a GridBagLayout.
+    Call AFTER fixGridBag, passing in the container, the component, and the
+    new insets.
+    */
+    public static void setInsets(Container cont, Component comp, Insets insets) {
+        GridBagLayout gbl = (GridBagLayout)cont.getLayout();
+        GridBagConstraints g = gbl.getConstraints(comp);
+        g.insets = insets;
+        gbl.setConstraints(comp,g);
+    }
+
+    public static Panel createSpacer() {
+        Panel spacer = new Panel();
+        spacer.setLayout(null);
+        spacer.setSize(1000, 1);
+        return spacer;
+    }
+
+    // to avoid goofy updates and misplaced cursors
+    public static void setText(TextComponent area, String newText) {
+        String foo = area.getText();
+        if (foo.equals(newText)) return;
+        area.setText(newText);
+    }
+    
+    /**
+     * Compares two locals. Return value is negative
+     * if they're different, and more positive the more
+     * fields that match.
+     */
+     
+    public static int compareLocales(Locale l1, Locale l2)
+    {
+        int result = -1;
+        
+        if (l1.getLanguage().equals(l2.getLanguage())) {
+            result += 1;
+            
+            if (l1.getCountry().equals(l2.getCountry())) {
+                result += 1;
+                
+                if (l1.getVariant().equals(l2.getVariant())) {
+                    result += 1;
+                }
+            }
+        }
+        
+        return result;
+    }
+    
+    /**
+     * Get the G7 locale list for demos.
+     */
+    public static Locale[] getG7Locales() {
+        return localeList;
+    }
+    private static Locale[] localeList = {
+        new Locale("DA", "DK", ""),
+        new Locale("EN", "US", ""),
+        new Locale("EN", "GB", ""),
+        new Locale("EN", "CA", ""),
+        new Locale("FR", "FR", ""),
+        new Locale("FR", "CA", ""),
+        new Locale("DE", "DE", ""),
+        new Locale("IT", "IT", ""),
+    //new Locale("JA", "JP", ""),
+    };
+}
diff --git a/src/com/ibm/icu/dev/demo/impl/DumbTextComponent.java b/src/com/ibm/icu/dev/demo/impl/DumbTextComponent.java
new file mode 100755
index 0000000..29f6e92
--- /dev/null
+++ b/src/com/ibm/icu/dev/demo/impl/DumbTextComponent.java
@@ -0,0 +1,798 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.demo.impl;
+import java.awt.*;
+import java.awt.event.*;
+import java.text.*;
+import java.awt.datatransfer.*;
+
+// LIU: Changed from final to non-final
+public class DumbTextComponent extends Canvas
+  implements KeyListener, MouseListener, MouseMotionListener, FocusListener
+  {
+    private transient static final String copyright =
+      "Copyright \u00A9 1998, Mark Davis. All Rights Reserved.";
+    private transient static boolean DEBUG = false;
+
+    private String contents = "";
+    private Selection selection = new Selection();
+    private int activeStart = -1;
+    private boolean editable = true;
+
+    private transient Selection tempSelection = new Selection();
+    private transient boolean focus;
+    private transient BreakIterator lineBreaker = BreakIterator.getLineInstance();
+    private transient BreakIterator wordBreaker = BreakIterator.getWordInstance();
+    private transient BreakIterator charBreaker = BreakIterator.getCharacterInstance();
+    private transient int lineAscent;
+    private transient int lineHeight;
+    private transient int lineLeading;
+    private transient int lastHeight = 10;
+    private transient int lastWidth = 50;
+    private static final int MAX_LINES = 200; // LIU: Use symbolic name
+    private transient int[] lineStarts = new int[MAX_LINES]; // LIU
+    private transient int lineCount = 1;
+
+    private transient boolean valid = false;
+    private transient FontMetrics fm;
+    private transient boolean redoLines = true;
+    private transient boolean doubleClick = false;
+    private transient TextListener textListener;
+    private transient ActionListener selectionListener;
+    private transient Image cacheImage;
+    private transient Dimension mySize;
+    private transient int xInset = 5;
+    private transient int yInset = 5;
+    private transient Point startPoint = new Point();
+    private transient Point endPoint = new Point();
+    private transient Point caretPoint = new Point();
+    private transient Point activePoint = new Point();
+    
+    //private transient static String clipBoard;
+
+    private static final char CR = '\015'; // LIU
+
+    // ============================================
+
+    public DumbTextComponent() {
+        addMouseListener(this);
+        addMouseMotionListener(this);
+        addKeyListener(this);
+        addFocusListener(this);
+        setCursor(Cursor.getPredefinedCursor(Cursor.TEXT_CURSOR));
+
+    }
+
+// ================ Events ====================
+
+    // public boolean isFocusTraversable() { return true; }
+
+    public void addActionListener(ActionListener l) {
+        selectionListener = AWTEventMulticaster.add(selectionListener, l);
+    }
+
+    public void removeActionListener(ActionListener l) {
+        selectionListener = AWTEventMulticaster.remove(selectionListener, l);
+    }
+
+    public void addTextListener(TextListener l) {
+        textListener = AWTEventMulticaster.add(textListener, l);
+    }
+
+    public void removeTextListener(TextListener l) {
+        textListener = AWTEventMulticaster.remove(textListener, l);
+    }
+
+    private transient boolean pressed;
+
+    public void mousePressed(MouseEvent e) {
+        if (DEBUG) System.out.println("mousePressed");
+        if (pressed) {
+            select(e,false);
+        } else {
+            doubleClick = e.getClickCount() > 1;
+            requestFocus();
+            select(e, true);
+            pressed = true;
+        }
+    }
+
+    public void mouseDragged(MouseEvent e) {
+        if (DEBUG) System.out.println("mouseDragged");
+        select(e, false);
+    }
+
+    public void mouseReleased(MouseEvent e) {
+        if (DEBUG) System.out.println("mouseReleased");
+        pressed = false;
+    }
+
+    public void mouseEntered(MouseEvent e) {
+        //if (pressed) select(e, false);
+    }
+
+    public void mouseExited(MouseEvent e){
+        //if (pressed) select(e, false);
+    }
+
+    public void mouseClicked(MouseEvent e) {}
+    public void mouseMoved(MouseEvent e) {}
+
+
+    public void focusGained(FocusEvent e) {
+        if (DEBUG) System.out.println("focusGained");
+        focus = true;
+        valid = false;
+        repaint(16);
+    }
+    public void focusLost(FocusEvent e) {
+        if (DEBUG) System.out.println("focusLost");
+        focus = false;
+        valid = false;
+        repaint(16);
+    }
+
+    public void select(MouseEvent e, boolean first) {
+        setKeyStart(-1);
+        point2Offset(e.getPoint(), tempSelection);
+        if (first) {
+            if ((e.getModifiers() & InputEvent.SHIFT_MASK) == 0) {
+                tempSelection.anchor = tempSelection.caret;
+            }
+        }
+        // fix words
+        if (doubleClick) {
+            tempSelection.expand(wordBreaker);
+        }
+        select(tempSelection);
+    }
+    
+    public void keyPressed(KeyEvent e) {
+        int code = e.getKeyCode();
+        if (DEBUG) System.out.println("keyPressed "
+          + hex((char)code) + ", " + hex((char)e.getModifiers()));
+        int start = selection.getStart();
+        int end = selection.getEnd();
+        boolean shift = (e.getModifiers() & KeyEvent.SHIFT_MASK) != 0;
+        boolean ctrl = (e.getModifiers() & KeyEvent.CTRL_MASK) != 0;
+                
+        switch (code) {
+        case KeyEvent.VK_Q:
+            if (!ctrl || !editable) break;
+            setKeyStart(-1);
+            fixHex();
+            break;
+        case KeyEvent.VK_V:
+            if (!ctrl) break;
+            if (!editable) {
+                this.getToolkit().beep();
+            } else {
+                paste();
+            }
+            break;
+        case KeyEvent.VK_C:
+            if (!ctrl) break;
+            copy();
+            break;
+        case KeyEvent.VK_X:
+            if (!ctrl) break;
+            if (!editable) {
+                this.getToolkit().beep();
+            } else {
+                copy();
+                insertText("");
+            }
+            break;
+        case KeyEvent.VK_A:
+            if (!ctrl) break;
+            setKeyStart(-1);
+            select(Integer.MAX_VALUE, 0, false);
+            break;
+        case KeyEvent.VK_RIGHT:
+            setKeyStart(-1);
+            tempSelection.set(selection);
+            tempSelection.nextBound(ctrl ? wordBreaker : charBreaker, +1, shift);
+            select(tempSelection);
+            break;
+        case KeyEvent.VK_LEFT:
+            setKeyStart(-1);
+            tempSelection.set(selection);
+            tempSelection.nextBound(ctrl ? wordBreaker : charBreaker, -1, shift);
+            select(tempSelection);
+            break;
+        case KeyEvent.VK_UP: // LIU: Add support for up arrow
+            setKeyStart(-1);
+            tempSelection.set(selection);
+            tempSelection.caret = lineDelta(tempSelection.caret, -1);
+            if (!shift) {
+                tempSelection.anchor = tempSelection.caret;
+            }
+            select(tempSelection);
+            break;
+        case KeyEvent.VK_DOWN: // LIU: Add support for down arrow
+            setKeyStart(-1);
+            tempSelection.set(selection);
+            tempSelection.caret = lineDelta(tempSelection.caret, +1);
+            if (!shift) {
+                tempSelection.anchor = tempSelection.caret;
+            }
+            select(tempSelection);
+            break;
+        case KeyEvent.VK_DELETE: // LIU: Add delete key support
+            if (!editable) break;
+            setKeyStart(-1);
+            if (contents.length() == 0) break;
+            start = selection.getStart();
+            end = selection.getEnd();
+            if (start == end) {
+                ++end;
+                if (end > contents.length()) {
+                    getToolkit().beep();
+                    return;
+                }
+            }
+            replaceRange("", start, end);
+            break;            
+        }
+    }
+
+    void copy() {
+        Clipboard cb = this.getToolkit().getSystemClipboard();
+        StringSelection ss = new StringSelection(
+            contents.substring(selection.getStart(), selection.getEnd()));
+        cb.setContents(ss, ss);
+    }
+    
+    void paste () {
+        Clipboard cb = this.getToolkit().getSystemClipboard();
+        Transferable t = cb.getContents(this);
+        if (t == null) {
+            this.getToolkit().beep();
+            return;
+        }
+        try {
+            String temp = (String) t.getTransferData(DataFlavor.stringFlavor);
+            insertText(temp);
+        } catch (Exception e) {
+            this.getToolkit().beep();
+        }            
+    }
+
+    /**
+     * LIU: Given an offset into contents, moves up or down by lines,
+     * according to lineStarts[].
+     * @param off the offset into contents
+     * @param delta how many lines to move up (< 0) or down (> 0)
+     * @return the new offset into contents
+     */
+    private int lineDelta(int off, int delta) {
+        int line = findLine(off, false);
+        int posInLine = off - lineStarts[line];
+        // System.out.println("off=" + off + " at " + line + ":" + posInLine);
+        line += delta;
+        if (line < 0) {
+            line = posInLine = 0;
+        } else if (line >= lineCount) {
+            return contents.length();
+        }
+        off = lineStarts[line] + posInLine;
+        if (off >= lineStarts[line+1]) {
+            off = lineStarts[line+1] - 1;
+        }
+        return off;
+    }
+      
+    public void keyReleased(KeyEvent e) {
+        int code = e.getKeyCode();
+        if (DEBUG) System.out.println("keyReleased "
+          + hex((char)code) + ", " + hex((char)e.getModifiers()));
+    }
+
+    public void keyTyped(KeyEvent e) {
+        char ch = e.getKeyChar();
+        if (DEBUG) System.out.println("keyTyped "
+          + hex((char)ch) + ", " + hex((char)e.getModifiers()));
+        if ((e.getModifiers() & KeyEvent.CTRL_MASK) != 0) return;
+        int start, end;
+        switch (ch) {
+        case KeyEvent.CHAR_UNDEFINED:
+            break;
+        case KeyEvent.VK_BACK_SPACE:
+            //setKeyStart(-1);
+            if (!editable) break;
+            if (contents.length() == 0) break;
+            start = selection.getStart();
+            end = selection.getEnd();
+            if (start == end) {
+                --start;
+                if (start < 0) {
+                    getToolkit().beep(); // LIU: Add audio feedback of NOP
+                    return;
+                }
+            }
+            replaceRange("", start, end);
+            break;        
+        case KeyEvent.VK_DELETE:
+            //setKeyStart(-1);
+            if (!editable) break;
+            if (contents.length() == 0) break;
+            start = selection.getStart();
+            end = selection.getEnd();
+            if (start == end) {
+                ++end;
+                if (end > contents.length()) {
+                    getToolkit().beep(); // LIU: Add audio feedback of NOP
+                    return;
+                }
+            }
+            replaceRange("", start, end);
+            break;
+        default:
+            if (!editable) break;
+            // LIU: Dispatch to subclass API
+            handleKeyTyped(e);
+            break;
+        }
+    }
+
+    // LIU: Subclass API for handling of key typing
+    protected void handleKeyTyped(KeyEvent e) {
+        insertText(String.valueOf(e.getKeyChar()));
+    }
+    
+    protected void setKeyStart(int keyStart) {
+        if (activeStart != keyStart) {
+            activeStart = keyStart;
+            repaint(10);
+        }
+    }
+    
+    protected void validateKeyStart() {
+        if (activeStart > selection.getStart()) {
+            activeStart = selection.getStart();
+            repaint(10);
+        }
+    }
+    
+    protected int getKeyStart() {
+        return activeStart;
+    }
+
+// ===================== Control ======================
+
+    public synchronized void setEditable(boolean b) {
+        editable = b;
+    }
+
+    public boolean isEditable() {
+        return editable;
+    }
+
+    public void select(Selection newSelection) {
+        newSelection.pin(contents);
+        if (!selection.equals(newSelection)) {
+            selection.set(newSelection);
+            if (selectionListener != null) {
+                selectionListener.actionPerformed(
+                  new ActionEvent(this, ActionEvent.ACTION_PERFORMED,
+                    "Selection Changed", 0));
+            }
+            repaint(10);
+            valid = false;
+        }
+    }
+
+    public void select(int start, int end) {
+        select(start, end, false);
+    }
+
+    public void select(int start, int end, boolean clickAfter) {
+        tempSelection.set(start, end, clickAfter);
+        select(tempSelection);
+    }
+
+    public int getSelectionStart() {
+        return selection.getStart();
+    }
+
+    public int getSelectionEnd() {
+        return selection.getEnd();
+    }
+
+    public void setBounds(int x, int y, int w, int h) {
+        super.setBounds(x,y,w,h);
+        redoLines = true;
+    }
+
+    public Dimension getPreferredSize() {
+        return new Dimension(lastWidth,lastHeight);
+    }
+
+    public Dimension getMaximumSize() {
+        return new Dimension(lastWidth,lastHeight);
+    }
+
+    public Dimension getMinimumSize() {
+        return new Dimension(lastHeight,lastHeight);
+    }
+
+    public void setText(String text) {
+        setText2(text);
+        select(tempSelection.set(selection).pin(contents));
+    }
+
+    public void setText2(String text) {
+        contents = text;
+        charBreaker.setText(text);
+        wordBreaker.setText(text);
+        lineBreaker.setText(text);
+        redoLines = true;
+        if (textListener != null)
+            textListener.textValueChanged(
+              new TextEvent(this, TextEvent.TEXT_VALUE_CHANGED));
+        repaint(16);
+    }
+
+    public void insertText(String text) {
+        if (activeStart == -1) activeStart = selection.getStart();
+        replaceRange(text, selection.getStart(), selection.getEnd());
+    }
+
+    public void replaceRange(String s, int start, int end) {
+        setText2(contents.substring(0,start) + s
+          + contents.substring(end));
+        select(tempSelection.set(selection).
+          fixAfterReplace(start, end, s.length()));
+        validateKeyStart();
+    }
+
+    public String getText() {
+        return contents;
+    }
+
+    public void setFont(Font font) {
+        super.setFont(font);
+        redoLines = true;
+        repaint(16);
+    }
+
+    // ================== Graphics ======================
+
+    public void update(Graphics g) {
+        if (DEBUG) System.out.println("update");
+        paint(g);
+    }
+
+    public void paint(Graphics g) {
+        mySize = getSize();
+        if (cacheImage == null
+          || cacheImage.getHeight(this) != mySize.height
+          || cacheImage.getWidth(this) != mySize.width) {
+            cacheImage = createImage(mySize.width, mySize.height);
+            valid = false;
+        }
+        if (!valid || redoLines) {
+            if (DEBUG) System.out.println("painting");
+            paint2(cacheImage.getGraphics());
+            valid = true;
+        }
+        //getToolkit().sync();
+        if (DEBUG) System.out.println("copying");
+        g.drawImage(cacheImage,
+          0, 0, mySize.width, mySize.height,
+          0, 0, mySize.width, mySize.height,
+          this);
+    }
+
+    public void paint2(Graphics g) {
+        g.clearRect(0, 0, mySize.width, mySize.height);
+        if (DEBUG) System.out.println("print");
+        if (focus) g.setColor(Color.black);
+        else g.setColor(Color.gray);
+        g.drawRect(0,0,mySize.width-1,mySize.height-1);
+        g.setClip(1,1,
+          mySize.width-2,mySize.height-2);
+        g.setColor(Color.black);
+        g.setFont(getFont());
+        fm = g.getFontMetrics();
+        lineAscent = fm.getAscent();
+        lineLeading = fm.getLeading();
+        lineHeight = lineAscent + fm.getDescent() + lineLeading;
+        int y = yInset + lineAscent;
+        String lastSubstring = "";
+        if (redoLines) fixLineStarts(mySize.width-xInset-xInset);
+        for (int i = 0; i < lineCount; y += lineHeight, ++i) {
+            // LIU: Don't display terminating ^M characters
+            int lim = lineStarts[i+1];
+            if (lim > 0 && contents.length() > 0 &&
+                contents.charAt(lim-1) == CR) --lim;
+            lastSubstring = contents.substring(lineStarts[i],lim);
+            g.drawString(lastSubstring, xInset, y);
+        }
+        drawSelection(g, lastSubstring);
+        lastHeight = y + yInset - lineHeight + yInset;
+        lastWidth = mySize.width-xInset-xInset;
+    }
+
+    void paintRect(Graphics g, int x, int y, int w, int h) {
+        if (focus) {
+            g.fillRect(x, y, w, h);
+        } else {
+            g.drawRect(x, y, w-1, h-1);
+        }
+    }
+
+    public void drawSelection(Graphics g, String lastSubstring) {
+        g.setXORMode(Color.black);
+        if (activeStart != -1) {
+            offset2Point(activeStart, false, activePoint);
+            g.setColor(Color.magenta);
+            int line = activePoint.x - 1;
+            g.fillRect(line, activePoint.y, 1, lineHeight);
+        }
+        if (selection.isCaret()) {
+            offset2Point(selection.caret, selection.clickAfter, caretPoint);
+        } else {
+            if (focus) g.setColor(Color.blue);
+            else g.setColor(Color.yellow);
+            offset2Point(selection.getStart(), true, startPoint);
+            offset2Point(selection.getEnd(), false, endPoint);
+            if (selection.getStart() == selection.caret)
+                caretPoint.setLocation(startPoint);
+            else caretPoint.setLocation(endPoint);
+            if (startPoint.y == endPoint.y) {
+                paintRect(g, startPoint.x, startPoint.y,
+                  Math.max(1,endPoint.x-startPoint.x), lineHeight);
+            } else {
+                paintRect(g, startPoint.x, startPoint.y,
+                  (mySize.width-xInset)-startPoint.x, lineHeight);
+                if (startPoint.y + lineHeight < endPoint.y)
+                  paintRect(g, xInset, startPoint.y + lineHeight,
+                  (mySize.width-xInset)-xInset, endPoint.y - startPoint.y - lineHeight);
+                paintRect(g, xInset, endPoint.y, endPoint.x-xInset, lineHeight);
+            }
+        }
+        if (focus || selection.isCaret()) {
+            if (focus) g.setColor(Color.green);
+            else g.setColor(Color.red);
+            int line = caretPoint.x - (selection.clickAfter ? 0 : 1);
+            g.fillRect(line, caretPoint.y, 1, lineHeight);
+            int w = lineHeight/12 + 1;
+            int braces = line - (selection.clickAfter ? -1 : w);
+            g.fillRect(braces, caretPoint.y, w, 1);
+            g.fillRect(braces, caretPoint.y + lineHeight - 1, w, 1);
+        }
+    }
+
+    public Point offset2Point(int off, boolean start, Point p) {
+        int line = findLine(off, start);
+        int width = 0;
+        try {
+            width = fm.stringWidth(
+              contents.substring(lineStarts[line], off));
+        } catch (Exception e) {
+            System.out.println(e);
+        }
+        p.x = width + xInset;
+        if (p.x > mySize.width - xInset)
+            p.x = mySize.width - xInset;
+        p.y = lineHeight * line + yInset;
+        return p;
+    }
+
+    private int findLine(int off, boolean start) {
+        // if it is start, then go to the next line!
+        if (start) ++off;
+        for (int i = 1; i < lineCount; ++i) {
+            // LIU: This was <= ; changed to < to make caret after
+            // final CR in line appear at START of next line.
+            if (off < lineStarts[i]) return i-1;
+        }
+        // LIU: Check for special case; after CR at end of the last line
+        if (off == lineStarts[lineCount] &&
+            off > 0 && contents.length() > 0 && contents.charAt(off-1) == CR) {
+            return lineCount;
+        }
+        return lineCount-1;
+    }
+
+    // offsets on any line will go from start,true to end,false
+    // excluding start,false and end,true
+    public Selection point2Offset(Point p, Selection o) {
+        if (p.y < yInset) {
+            o.caret = 0;
+            o.clickAfter = true;
+            return o;
+        }
+        int line = (p.y - yInset)/lineHeight;
+        if (line >= lineCount) {
+            o.caret = contents.length();
+            o.clickAfter = false;
+            return o;
+        }
+        int target = p.x - xInset;
+        if (target <= 0) {
+            o.caret = lineStarts[line];
+            o.clickAfter = true;
+            return o;
+        }
+        int lowGuess = lineStarts[line];
+        int lowWidth = 0;
+        int highGuess = lineStarts[line+1];
+        int highWidth = fm.stringWidth(contents.substring(lineStarts[line],highGuess));
+        if (target >= highWidth) {
+            o.caret = lineStarts[line+1];
+            o.clickAfter = false;
+            return o;
+        }
+        while (lowGuess < highGuess - 1) {
+            int guess = (lowGuess + highGuess)/2;
+            int width = fm.stringWidth(contents.substring(lineStarts[line],guess));
+            if (width <= target) {
+                lowGuess = guess;
+                lowWidth = width;
+                if (width == target) break;
+            } else {
+                highGuess = guess;
+                highWidth = width;
+            }
+        }
+        // at end, either lowWidth < target < width(low+1), or lowWidth = target
+        int highBound = charBreaker.following(lowGuess);
+        int lowBound = charBreaker.previous();
+        // we are now at character boundaries
+        if (lowBound != lowGuess)
+            lowWidth = fm.stringWidth(contents.substring(lineStarts[line],lowBound));
+        if (highBound != highGuess)
+            highWidth = fm.stringWidth(contents.substring(lineStarts[line],highBound));
+        // we now have the right widths
+        if (target - lowWidth < highWidth - target) {
+            o.caret = lowBound;
+            o.clickAfter = true;
+        } else {
+            o.caret = highBound;
+            o.clickAfter = false;
+        }
+        // we now have the closest!
+        return o;
+    }
+
+    private void fixLineStarts(int width) {
+        lineCount = 1;
+        lineStarts[0] = 0;
+        if (contents.length() == 0) {
+            lineStarts[1] = 0;
+            return;
+        }
+        int end = 0;
+        // LIU: Add check for MAX_LINES
+        for (int start = 0; start < contents.length() && lineCount < MAX_LINES;
+             start = end) {
+            end = nextLine(fm, start, width);
+            lineStarts[lineCount++] = end;
+            if (end == start) { // LIU: Assertion
+                throw new RuntimeException("nextLine broken");
+            }
+        }
+        --lineCount;
+        redoLines = false;
+    }
+
+    // LIU: Enhanced to wrap long lines.  Bug with return of start fixed.
+    public int nextLine(FontMetrics fm, int start, int width) {
+        int len = contents.length();
+        for (int i = start; i < len; ++i) {
+            // check for line separator
+            char ch = (contents.charAt(i));
+            if (ch >= 0x000A && ch <= 0x000D || ch == 0x2028 || ch == 0x2029) {
+                len = i + 1;
+                if (ch == 0x000D && i+1 < len && contents.charAt(i+1) == 0x000A) // crlf
+                    ++len; // grab extra char
+                break;
+            }
+        }
+        String subject = contents.substring(start,len);
+        if (visibleWidth(fm, subject) <= width)
+          return len;
+
+        // LIU: Remainder of this method rewritten to accomodate lines
+        // longer than the component width by first trying to break
+        // into lines; then words; finally chars.
+        int n = findFittingBreak(fm, subject, width, lineBreaker);
+        if (n == 0) {
+            n = findFittingBreak(fm, subject, width, wordBreaker);
+        }
+        if (n == 0) {
+            n = findFittingBreak(fm, subject, width, charBreaker);
+        }
+        return n > 0 ? start + n : len;
+    }
+
+    /**
+     * LIU: Finds the longest substring that fits a given width
+     * composed of subunits returned by a BreakIterator.  If the smallest
+     * subunit is too long, returns 0.
+     * @param fm metrics to use
+     * @param line the string to be fix into width
+     * @param width line.substring(0, result) must be <= width
+     * @param breaker the BreakIterator that will be used to find subunits
+     * @return maximum characters, at boundaries returned by breaker,
+     * that fit into width, or zero on failure
+     */
+    private int findFittingBreak(FontMetrics fm, String line, int width,
+                                 BreakIterator breaker) {
+        breaker.setText(line);
+        int last = breaker.first();
+        int end = breaker.next();
+        while (end != BreakIterator.DONE &&
+               visibleWidth(fm, line.substring(0, end)) <= width) {
+            last = end;
+            end = breaker.next();
+        }
+        return last;
+    }
+
+    public int visibleWidth(FontMetrics fm, String s) {
+        int i;
+        for (i = s.length()-1; i >= 0; --i) {
+            char ch = s.charAt(i);
+            if (!(ch == ' ' || ch >= 0x000A && ch <= 0x000D || ch == 0x2028 || ch == 0x2029))
+              return fm.stringWidth(s.substring(0,i+1));;
+        }
+        return 0;
+    }
+
+// =============== Utility ====================
+
+    private void fixHex() {
+        if (selection.getEnd() == 0) return;
+        int store = 0;
+        int places = 1;
+        int count = 0;
+        int min = Math.min(8,selection.getEnd());
+        for (int i = 0; i < min; ++i) {
+            char ch = contents.charAt(selection.getEnd()-1-i);
+            int value = Character.getNumericValue(ch);
+            if (value < 0 || value > 15) break;
+            store += places * value;
+            ++count;
+            places *= 16;
+        }
+        String add = "";
+        int bottom = store & 0xFFFF;
+        if (store >= 0xD8000000 && store < 0xDC000000
+          && bottom >= 0xDC00 && bottom < 0xE000) { // surrogates
+            add = "" + (char)(store >> 16) + (char)bottom;
+        } else if (store > 0xFFFF && store <= 0x10FFFF) {
+            store -= 0x10000;
+            add = "" + (char)(((store >> 10) & 0x3FF) + 0xD800)
+              + (char)((store & 0x3FF) + 0xDC00);
+              
+        } else if (count >= 4) {
+            count = 4;
+            add = ""+(char)(store & 0xFFFF);
+        } else {
+            count = 1;
+            char ch = contents.charAt(selection.getEnd()-1);
+            add = hex(ch);
+            if (ch >= 0xDC00 && ch <= 0xDFFF && selection.getEnd() > 1) {
+                ch = contents.charAt(selection.getEnd()-2);
+                if (ch >= 0xD800 && ch <= 0xDBFF) {
+                    count = 2;
+                    add = hex(ch) + add;
+                }
+            }
+        }
+        replaceRange(add, selection.getEnd()-count, selection.getEnd());
+    }
+
+    public static String hex(char ch) {
+        String result = Integer.toString(ch,16).toUpperCase();
+        result = "0000".substring(result.length(),4) + result;
+        return result;
+    }
+}
diff --git a/src/com/ibm/icu/dev/demo/impl/Selection.java b/src/com/ibm/icu/dev/demo/impl/Selection.java
new file mode 100755
index 0000000..7f80a4d
--- /dev/null
+++ b/src/com/ibm/icu/dev/demo/impl/Selection.java
@@ -0,0 +1,161 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.demo.impl;
+import java.text.*;
+
+public final class Selection {
+
+    public int anchor;
+    public int caret;
+    public boolean clickAfter;
+
+    public int getStart() {
+        return anchor < caret ? anchor : caret;
+    }
+
+    public int getEnd() {
+        return anchor > caret ? anchor : caret;
+    }
+
+    public boolean isCaret() {
+        return anchor == caret;
+    }
+
+    public Selection set(Selection other) {
+        anchor = other.anchor;
+        caret = other.caret;
+        clickAfter = other.clickAfter;
+        return this;
+    }
+
+    public Selection set(int anchor, int caret, boolean clickAfter) {
+        this.anchor = anchor;
+        this.caret = caret;
+        this.clickAfter = clickAfter;
+        return this;
+    }
+
+    public boolean equals(Object other) {
+        Selection other2 = (Selection)other;
+        return anchor == other2.anchor
+          && caret == other2.caret
+          && clickAfter == other2.clickAfter;
+    }
+
+    public boolean isLessThan(Selection other) {
+        return getStart() < other.getEnd();
+    }
+
+    public Selection pin(String text) {
+        if (anchor > text.length()) {
+            anchor = text.length();
+        } else if (anchor < 0) {
+            anchor = 0;
+        }
+        if (caret > text.length()) {
+            caret = text.length();
+            clickAfter = true;
+        } else if (caret < 0) {
+            caret = 0;
+            clickAfter = false;
+        }
+        return this;
+    }
+
+    public Selection swap(Selection after) {
+        int temp = anchor;
+        anchor = after.anchor;
+        after.anchor = temp;
+        temp = caret;
+        caret = after.caret;
+        after.caret = temp;
+        boolean b = clickAfter;
+        clickAfter = after.clickAfter;
+        after.clickAfter = b;
+        return this;
+    }
+
+    public Selection fixAfterReplace(int start, int end, int len) {
+        if (anchor >= start) {
+            if (anchor < end) anchor = end;
+            anchor = start + len + anchor - end;
+        }
+        if (caret >= start) {
+            if (caret < end) caret = end;
+            caret = start + len + caret - end;
+        }
+        return this;
+    }
+
+        // Mac & Windows considerably different
+        // Mac: end++. If start!=end, start=end
+        //  SHIFT: move end right
+        //  CTL: no different
+        // Windows:
+        //  UNSHIFTED: if start!=end, start = end, else start=end=end+1;
+        //       anchor = tip = start
+        //  SHIFT: tip++
+        //  CTL: if start!=end, start = end = nextbound(end-1),
+        //   else start=end=nextbound(end)
+        //       anchor = tip = start
+        //  CTL/SHIFT: tip = nextbound(tip)
+
+    public Selection nextBound(BreakIterator breaker,
+      int direction, boolean extend) {
+        if (!extend && anchor != caret) caret -= direction;
+        caret = next(caret, breaker, direction, true);
+        if (!extend) anchor = caret;
+        clickAfter = false;
+        return this;
+    }
+
+    // expand start and end to word breaks--if they are not already on one
+    public void expand(BreakIterator breaker) {
+        if (anchor <= caret) {
+            anchor = next(anchor,breaker,-1,false);
+            caret = next(caret,breaker,1,false);
+            /*
+            try {
+                breaker.following(anchor);
+                anchor = breaker.previous();
+            } catch (Exception e) {}
+            try {
+                caret = breaker.following(caret-1);
+            } catch (Exception e) {}
+            */
+        } else {
+            anchor = next(anchor,breaker,1,false);
+            caret = next(caret,breaker,-1,false);
+            /*
+            try {
+                breaker.following(caret);
+                caret = breaker.previous();
+            } catch (Exception e) {}
+            try {
+                anchor = breaker.following(anchor-1);
+            } catch (Exception e) {}
+            */
+        }
+    }
+
+    // different = false - move to next boundary, unless on one
+    // true - move to next boundary, even if on one
+    public static int next(int position, BreakIterator breaker,
+      int direction, boolean different) {
+        if (!different) position -= direction;
+        try {
+            if (direction > 0) {
+                position = breaker.following(position);
+            } else {
+                breaker.following(position-1);
+                position = breaker.previous();
+            }
+        } catch (Exception e) {}
+        return position;
+    }
+}
+
diff --git a/src/com/ibm/icu/dev/demo/impl/package.html b/src/com/ibm/icu/dev/demo/impl/package.html
new file mode 100755
index 0000000..a7e8d35
--- /dev/null
+++ b/src/com/ibm/icu/dev/demo/impl/package.html
@@ -0,0 +1,12 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html>
+<head>
+<!--  Copyright (C) 2000-2004, International Business Machines Corporation and
+  others. All Rights Reserved.
+
+-->
+</head>
+<body bgcolor="white">
+Shared utilities for demo applications and Applets.
+</body>
+</html>
\ No newline at end of file
diff --git a/src/com/ibm/icu/dev/demo/number/CurrencyDemo.java b/src/com/ibm/icu/dev/demo/number/CurrencyDemo.java
new file mode 100644
index 0000000..4912a06
--- /dev/null
+++ b/src/com/ibm/icu/dev/demo/number/CurrencyDemo.java
@@ -0,0 +1,113 @@
+/*
+**********************************************************************
+* Copyright (c) 2003, International Business Machines
+* Corporation and others.  All Rights Reserved.
+**********************************************************************
+* Author: Mark Davis
+* Created: May 22 2003
+* Since: ICU 2.6
+**********************************************************************
+*/
+package com.ibm.icu.dev.demo.number;
+import com.ibm.icu.util.Currency;
+import com.ibm.icu.text.NumberFormat;
+import com.ibm.icu.text.DecimalFormat;
+import com.ibm.icu.text.DecimalFormatSymbols;
+import com.ibm.icu.impl.Utility;
+import java.util.Locale;
+import java.util.Map;
+import java.util.HashMap;
+
+/**
+ * Demonstration code to illustrate how to obtain ICU 2.6-like currency
+ * behavior using pre-ICU 2.6 ICU4J.
+ * @author Mark Davis
+ */
+public class CurrencyDemo {
+
+    public static void main(String[] args) {
+        testFormatHack(true);
+    }
+
+    static NumberFormat getCurrencyFormat(Currency currency,
+                                          Locale displayLocale,
+                                          boolean ICU26) {
+        // code for ICU 2.6
+        if (ICU26) {
+            NumberFormat result = NumberFormat.getCurrencyInstance(displayLocale);
+            result.setCurrency(currency);
+            return result;
+        }
+
+        // ugly work-around for 2.4
+        DecimalFormat result = (DecimalFormat)NumberFormat.getCurrencyInstance(displayLocale);
+        HackCurrencyInfo hack = (HackCurrencyInfo)(hackData.get(currency.getCurrencyCode()));
+        result.setMinimumFractionDigits(hack.decimals);
+        result.setMaximumFractionDigits(hack.decimals);
+        result.setRoundingIncrement(hack.rounding);
+        DecimalFormatSymbols symbols = result.getDecimalFormatSymbols();
+        symbols.setCurrencySymbol(hack.symbol);
+        result.setDecimalFormatSymbols(symbols);
+        return result;
+    }
+        
+    static Map hackData = new HashMap();
+    static class HackCurrencyInfo {
+        int decimals;
+        double rounding;
+        String symbol;
+        HackCurrencyInfo(int decimals, double rounding, String symbol) {
+            this.decimals = decimals;
+            this.rounding = rounding;
+            this.symbol = symbol;
+        }
+    }
+    static {
+        hackData.put("USD", new HackCurrencyInfo(2, 0, "$"));
+        hackData.put("GBP", new HackCurrencyInfo(2, 0, "\u00A3"));
+        hackData.put("JPY", new HackCurrencyInfo(0, 0, "\u00A5"));
+        hackData.put("EUR", new HackCurrencyInfo(2, 0, "\u20AC"));
+    }
+
+    /**
+     * Walk through all locales and compare the output of the ICU26
+     * currency format with the "hacked" currency format.
+     * @param quiet if true, only display discrepancies.  Otherwise,
+     * display all results.
+     */
+    static void testFormatHack(boolean quiet) {
+        String[] testCurrencies = {"USD","GBP","JPY","EUR"};
+        Locale[] testLocales = NumberFormat.getAvailableLocales();
+        for (int i = 0; i < testLocales.length; ++i) {
+            // since none of this should vary by country, we'll just do by language
+            if (!testLocales[i].getCountry().equals("")) continue;
+            boolean noOutput = true;
+            if (!quiet) {
+                System.out.println(testLocales[i].getDisplayName());
+                noOutput = false;
+            }
+            for (int j = 0; j < testCurrencies.length; ++j) {
+                NumberFormat nf26 = getCurrencyFormat(Currency.getInstance(testCurrencies[j]), testLocales[i], true);
+                String str26 = nf26.format(1234.567);
+                if (!quiet) {
+                    System.out.print("\t" + Utility.escape(str26));
+                }
+                NumberFormat nf24 = getCurrencyFormat(Currency.getInstance(testCurrencies[j]), testLocales[i], false);
+                String str24 = nf24.format(1234.567);
+                if (!str24.equals(str26)) {
+                    if (noOutput) {
+                        System.out.println(testLocales[i].getDisplayName());
+                        noOutput = false;
+                    }
+                    if (quiet) {
+                        System.out.print("\t" + Utility.escape(str26));
+                    }
+                    System.out.print(" (" + Utility.escape(str24) + ")");
+                }
+            }
+            if (!noOutput) {
+                System.out.println();
+            }
+        }
+    }
+}
diff --git a/src/com/ibm/icu/dev/demo/rbbi/BreakIteratorRules_en_US_DEMO.java b/src/com/ibm/icu/dev/demo/rbbi/BreakIteratorRules_en_US_DEMO.java
new file mode 100755
index 0000000..1a74f65
--- /dev/null
+++ b/src/com/ibm/icu/dev/demo/rbbi/BreakIteratorRules_en_US_DEMO.java
@@ -0,0 +1,225 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.demo.rbbi;
+
+import java.util.ListResourceBundle;
+
+import com.ibm.icu.impl.ICUData;
+
+/**
+ * This resource bundle is included for testing and demonstration purposes only.
+ * It applies the dictionary-based algorithm to English text that has had all the
+ * spaces removed.  Once we have good test cases for Thai, we will replace this
+ * with good resource data (and a good dictionary file) for Thai
+ */
+public class BreakIteratorRules_en_US_DEMO extends ListResourceBundle {
+    private static final String DATA_NAME = "/com/ibm/data/misc/english.dict";
+
+    public Object[][] getContents() {
+        final boolean exists = ICUData.exists(DATA_NAME);
+
+        if (!exists) {
+            return new Object[0][0];
+        }
+
+        return new Object[][] {
+            // names of classes to instantiate for the different kinds of break
+            // iterator.  Notice we're now using DictionaryBasedBreakIterator
+            // for word and line breaking.
+            {   "BreakIteratorClasses",
+                new String[] {
+                    "RuleBasedBreakIterator",
+                    // character-break iterator class
+                    "DictionaryBasedBreakIterator",
+                    // word-break iterator class
+                    "DictionaryBasedBreakIterator",
+                    // line-break iterator class
+                    "RuleBasedBreakIterator" } // sentence-break iterator class
+            },
+
+            // These are the same word-breaking rules as are specified in the default
+            // resource, except that the Latin letters, apostrophe, and hyphen are
+            // specified as dictionary characters
+            {
+                "WordBreakRules",
+                // ignore non-spacing marks, enclosing marks, and format characters,
+                // all of which should not influence the algorithm
+                "$_ignore_=[[:Mn:][:Me:][:Cf:]];"
+
+                // lower and upper case Roman letters, apostrophy and dash are
+                // in the English dictionary
+                +"$_dictionary_=[a-zA-Z\\'\\-];"
+
+                // Hindi phrase separator, kanji, katakana, hiragana, CJK diacriticals,
+                // other letters, and digits
+                +"$danda=[\u0964\u0965];"
+                    + "$kanji=[\u3005\u4e00-\u9fa5\uf900-\ufa2d];"
+                    + "$kata=[\u3099-\u309c\u30a1-\u30fe];"
+                    + "$hira=[\u3041-\u309e\u30fc];"
+                    + "$let=[[[:L:][:Mc:]]-[$kanji$kata$hira]];"
+                    + "$dgt=[:N:];"
+
+                // punctuation that can occur in the middle of a word: currently
+                // dashes, apostrophes, and quotation marks
+                +"$mid_word=[[:Pd:]\u00ad\u2027\\\"\\\'];"
+
+                // punctuation that can occur in the middle of a number: currently
+                // apostrophes, qoutation marks, periods, commas, and the Arabic
+                // decimal point
+                +"$mid_num=[\\\"\\\'\\,\u066b\\.];"
+
+                // punctuation that can occur at the beginning of a number: currently
+                // the period, the number sign, and all currency symbols except the cents sign
+                +"$pre_num=[[[:Sc:]-[\u00a2]]\\#\\.];"
+
+                // punctuation that can occur at the end of a number: currently
+                // the percent, per-thousand, per-ten-thousand, and Arabic percent
+                // signs, the cents sign, and the ampersand
+                +"$post_num=[\\%\\&\u00a2\u066a\u2030\u2031];"
+
+                // line separators: currently LF, FF, PS, and LS
+                +"$ls=[\n\u000c\u2028\u2029];"
+
+                // whitespace: all space separators and the tab character
+                +"$ws=[[:Zs:]\t];"
+
+                // a word is a sequence of letters that may contain internal
+                // punctuation, as long as it begins and ends with a letter and
+                // never contains two punctuation marks in a row
+                +"$word=($let+($mid_word$let+)*$danda?);"
+
+                // a number is a sequence of digits that may contain internal
+                // punctuation, as long as it begins and ends with a digit and
+                // never contains two punctuation marks in a row.
+                +"$number=($dgt+($mid_num$dgt+)*);"
+
+                // break after every character, with the following exceptions
+                // (this will cause punctuation marks that aren't considered
+                // part of words or numbers to be treated as words unto themselves)
+                +".;"
+
+                // keep together any sequence of contiguous words and numbers
+                // (including just one of either), plus an optional trailing
+                // number-suffix character
+                +"$word?($number$word)*($number$post_num?)?;"
+
+                // keep together and sequence of contiguous words and numbers
+                // that starts with a number-prefix character and a number,
+                // and may end with a number-suffix character
+                +"$pre_num($number$word)*($number$post_num?)?;"
+
+                // keep together runs of whitespace (optionally with a single trailing
+                // line separator or CRLF sequence)
+                +"$ws*\r?$ls?;"
+
+                // keep together runs of Katakana
+                +"$kata*;"
+
+                // keep together runs of Hiragana
+                +"$hira*;"
+
+                // keep together runs of Kanji
+                +"$kanji*;" },
+
+            // These are the same line-breaking rules as are specified in the default
+            // resource, except that the Latin letters, apostrophe, and hyphen are
+            // specified as dictionary characters
+            {   "LineBreakRules",
+                // ignore non-spacing marks, enclosing marks, and format characters
+                "$_ignore_=[[:Mn:][:Me:][:Cf:]];"
+
+                // lower and upper case Roman letters, apostrophy and dash
+                // are in the English dictionary
+                +"$_dictionary_=[a-zA-Z\\'\\-];"
+
+                // Hindi phrase separators
+                +"$danda=[\u0964\u0965];"
+
+                // characters that always cause a break: ETX, tab, LF, FF, LS, and PS
+                +"$break=[\u0003\t\n\f\u2028\u2029];"
+
+                // characters that always prevent a break: the non-breaking space
+                // and similar characters
+                +"$nbsp=[\u00a0\u2007\u2011\ufeff];"
+
+                // whitespace: space separators and control characters, except for
+                // CR and the other characters mentioned above
+                +"$space=[[[:Zs:][:Cc:]]-[$nbsp$break\r]];"
+
+                // dashes: dash punctuation and the discretionary hyphen, except for
+                // non-breaking hyphens
+                +"$dash=[[[:Pd:]\u00ad]-[$nbsp]];"
+
+                // characters that stick to a word if they precede it: currency symbols
+                // (except the cents sign) and starting punctuation
+                +"$pre_word=[[[:Sc:]-[\u00a2]][:Ps:]\\\"\\\'];"
+
+                // characters that stick to a word if they follow it: ending punctuation,
+                // other punctuation that usually occurs at the end of a sentence,
+                // small Kana characters, some CJK diacritics, etc.
+                +"$post_word=[[:Pe:]\\!\\\"\\\'\\%\\.\\,\\:\\;\\?\u00a2\u00b0\u066a\u2030-\u2034"
+                    + "\u2103\u2105\u2109\u3001\u3002\u3005\u3041\u3043\u3045\u3047\u3049\u3063"
+                    + "\u3083\u3085\u3087\u308e\u3099-\u309e\u30a1\u30a3\u30a5\u30a7\u30a9"
+                    + "\u30c3\u30e3\u30e5\u30e7\u30ee\u30f5\u30f6\u30fc-\u30fe\uff01\uff0c"
+                    + "\uff0e\uff1f];"
+
+                // Kanji: actually includes both Kanji and Kana, except for small Kana and
+                // CJK diacritics
+                +"$kanji=[[\u4e00-\u9fa5\uf900-\ufa2d\u3041-\u3094\u30a1-\u30fa]-[$post_word$_ignore_]];"
+
+                // digits
+                +"$digit=[[:Nd:][:No:]];"
+
+                // punctuation that can occur in the middle of a number: periods and commas
+                +"$mid_num=[\\.\\,];"
+
+                // everything not mentioned above, plus the quote marks (which are both
+                // <pre-word>, <post-word>, and <char>)
+                +"$char=[^$break$space$dash$kanji$nbsp$_ignore_$pre_word$post_word$mid_num$danda\r\\\"\\\'];"
+
+                // a "number" is a run of prefix characters and dashes, followed by one or
+                // more digits with isolated number-punctuation characters interspersed
+                +"$number=([$pre_word$dash]*$digit+($mid_num$digit+)*);"
+
+                // the basic core of a word can be either a "number" as defined above, a single
+                // "Kanji" character, or a run of any number of not-explicitly-mentioned
+                // characters (this includes Latin letters)
+                +"$word_core=([$pre_word$char]*|$kanji|$number);"
+
+                // a word may end with an optional suffix that be either a run of one or
+                // more dashes or a run of word-suffix characters, followed by an optional
+                // run of whitespace
+                +"$word_suffix=(($dash+|$post_word*)$space*);"
+
+                // a word, thus, is an optional run of word-prefix characters, followed by
+                // a word core and a word suffix (the syntax of <word-core> and <word-suffix>
+                // actually allows either of them to match the empty string, putting a break
+                // between things like ")(" or "aaa(aaa"
+                +"$word=($pre_word*$word_core$word_suffix);"
+
+                // finally, the rule that does the work: Keep together any run of words that
+                // are joined by runs of one of more non-spacing mark.  Also keep a trailing
+                // line-break character or CRLF combination with the word.  (line separators
+                // "win" over nbsp's)
+                +"$word($nbsp+$word)*\r?$break?;" },
+
+            // these two resources specify the pathnames of the dictionary files to
+            // use for word breaking and line breaking.  Both currently refer to 
+            // a file called english.dict placed in com.ibm.icu.impl.data
+            // somewhere in the class path.  It's important to note that
+            // english.dict was created for testing purposes only, and doesn't
+            // come anywhere close to being an exhaustive dictionary of English
+            // words (basically, it contains all the words in the Declaration of
+            // Independence, and the Revised Standard Version of the book of Genesis,
+            // plus a few other words thrown in to show more interesting cases).
+            // { "WordBreakDictionary", "com\\ibm\\text\\resources\\english.dict" },
+            // { "LineBreakDictionary", "com\\ibm\\text\\resources\\english.dict" }
+            {   "WordBreakDictionary", DATA_NAME }, 
+            {   "LineBreakDictionary", DATA_NAME }
+        };
+    }
+}
diff --git a/src/com/ibm/icu/dev/demo/rbbi/DBBIDemo.java b/src/com/ibm/icu/dev/demo/rbbi/DBBIDemo.java
new file mode 100755
index 0000000..006777b
--- /dev/null
+++ b/src/com/ibm/icu/dev/demo/rbbi/DBBIDemo.java
@@ -0,0 +1,492 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.demo.rbbi;
+
+import java.awt.*;
+import java.awt.event.WindowEvent;
+import java.awt.event.KeyAdapter;
+import java.awt.event.KeyEvent;
+import java.awt.event.ItemListener;
+import java.awt.event.ItemEvent;
+import javax.swing.JTextArea;
+import javax.swing.JScrollPane;
+import javax.swing.BorderFactory;
+import java.util.*;
+import com.ibm.icu.dev.demo.impl.*;
+import com.ibm.icu.text.BreakIterator;
+
+public class DBBIDemo extends DemoApplet
+{
+    public static void main(String argv[]) {
+        Locale.setDefault(new Locale("en", "US", "DEMO"));
+        new DBBIDemo().showDemo();
+    }
+
+    public Frame createDemoFrame(DemoApplet applet) {
+        return new DBBIFrame(applet);
+    }
+}
+
+
+
+class DBBIFrame extends Frame implements ItemListener
+{
+    private static final String creditString =
+        "v1.1a9, Demo";
+
+    private static final int FIELD_COLUMNS = 45;
+    private static final Font choiceFont = null;
+    private static final boolean DEBUG = false;
+    private DemoApplet applet;
+
+    final String right = "-->";
+    final String left = "<--";
+
+    private BreakIterator iter;
+    private static boolean isctrldown_ = false;
+
+JTextArea text;
+//    TextArea text;
+    Choice bound;
+
+    public DBBIFrame(DemoApplet applet)
+    {
+        this.applet = applet;
+        init();
+        start();
+    }
+
+
+
+    public void run()
+    {
+        /*
+        while (true) {
+            try {
+                checkChange();
+                Thread.sleep(250);
+            }
+            catch (InterruptedException e) {
+            }
+            catch (Exception e) {
+            }
+            catch (Throwable e) {
+            }
+        }
+        */
+    }
+
+    int s, e;
+    int ts, te;
+
+    public void checkChange()
+    {
+//        System.out.println("checkChange...");
+        if ((text.getSelectionStart() & 0x7FFF) != ts ||
+            (text.getSelectionEnd() & 0x7FFF) != te) {
+
+            // not used int tempS = text.getSelectionStart() & 0x7FFF;
+            // not used int tempE = text.getSelectionEnd() & 0x7FFF;
+
+//          System.out.println(">");
+//          select(0, 0);
+//          select(tempS, tempE);
+            //select(tempS - (ts - s), tempE - (te - e));
+//          System.out.println("<");
+
+
+//          if (s != ts || e != te) System.out.println("     s("+s+") ts("+ts+") e("+e+") te("+te+")");
+//          if (tempS != ts || tempE != te) System.out.println(">s("+s+") tempS("+tempS+") e("+e+") tempE("+tempE+")");
+//          select(s - (ts - s), e - (te - e));
+//          if (tempS != ts || tempE != te) System.out.println("s("+s+") tempS("+tempS+") e("+e+") tempE("+tempE+")");
+
+//          System.out.println("lkdslksj");
+        }
+    }
+
+    public void select(int sIn, int eIn)
+    {
+        s = sIn;
+        e = eIn;
+        text.select(s, e);
+        ts = text.getSelectionStart() & 0x7FFF;
+        te = text.getSelectionEnd() & 0x7FFF;
+//        if (s != ts || e != te) {
+//            System.out.println(">s("+s+") ts("+ts+") e("+e+") te("+te+")");
+//            System.out.println("   "+(ts-s)+","+(te-e));
+//        }
+    }
+
+    public int getSelectionStart()
+    {
+        checkChange();
+//      return s;
+        return text.getSelectionStart() & 0x7FFF;
+    }
+
+
+    public int getSelectionEnd()
+    {
+        checkChange();
+//      return e;
+        return text.getSelectionEnd() & 0x7FFF;
+    }
+
+    public final synchronized void selectRange(int s, int e)
+    {
+        try {
+            //if (getSelectionStart() != s || getSelectionEnd() != e) {
+                //text.select(s, e);
+                select(s,e);
+            //}
+//          if (getSelectionStart() != s || getSelectionEnd() != e) {
+//              System.out.println("AGH! select("+s+","+e+") -> ("+
+//              getSelectionStart()+","+getSelectionEnd()+")");
+//              text.select(s - (getSelectionStart() - s), e - (getSelectionEnd() - e));
+//          }
+        } catch (Exception exp) {
+            errorText(exp.toString());
+        }
+    }
+
+
+
+    public void init()
+    {
+        buildGUI();
+    }
+
+
+    public void start()
+    {
+    }
+
+
+    void addWithFont(Container container, Component foo, Font font) {
+        if (font != null)
+            foo.setFont(font);
+        container.add(foo);
+    }
+
+
+
+   public void buildGUI()
+    {
+        setBackground(DemoUtility.bgColor);
+        setLayout(new BorderLayout());
+
+       Panel topPanel = new Panel();
+
+            Label titleLabel =
+                new Label("Text Boundary Demo", Label.CENTER);
+            titleLabel.setFont(DemoUtility.titleFont);
+            topPanel.add(titleLabel);
+
+            //Label demo=new Label(creditString, Label.CENTER);
+            //demo.setFont(DemoUtility.creditFont);
+            //topPanel.add(demo);
+
+            Panel choicePanel = new Panel();
+
+            Label demo1=new Label("Boundaries", Label.LEFT);
+            demo1.setFont(DemoUtility.labelFont);
+            choicePanel.add(demo1);
+
+            bound = new Choice();
+                bound.setBackground(DemoUtility.choiceColor);
+            bound.addItem("Sentence");
+            bound.addItem("Line Break");
+            bound.addItem("Word");
+            bound.addItem("Char");
+            
+            bound.addItemListener(this);
+            if (choiceFont != null)
+                bound.setFont(choiceFont);
+
+            choicePanel.add(bound);
+            topPanel.add(choicePanel);
+
+            DemoUtility.fixGrid(topPanel,1);
+
+
+        add("North", topPanel);
+
+
+            int ROWS = 15;
+            int COLUMNS = 50;
+//            text = new TextArea(getInitialText(), ROWS, COLUMNS);
+text = new JTextArea(getInitialText(), ROWS, COLUMNS);
+text.setLineWrap(true);
+text.setWrapStyleWord(true);
+            text.setEditable(true);
+            text.selectAll();
+            text.setFont(DemoUtility.editFont);
+            text.setBorder(BorderFactory.createEmptyBorder(2, 2, 2, 2));
+
+        add("Center", new JScrollPane(text, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,
+                        JScrollPane.HORIZONTAL_SCROLLBAR_NEVER));
+
+        Panel copyrightPanel = new Panel();
+        addWithFont (copyrightPanel,
+            new Label(DemoUtility.copyright1, Label.LEFT),DemoUtility.creditFont);
+        DemoUtility.fixGrid(copyrightPanel,1);
+        add("South", copyrightPanel);
+
+        //layout();
+        handleEnumChanged();
+        
+        enableEvents(WindowEvent.WINDOW_CLOSING);
+        enableEvents(KeyEvent.KEY_PRESSED);
+        enableEvents(KeyEvent.KEY_RELEASED);
+
+    text.addKeyListener(new KeyAdapter() {
+        public void keyPressed(KeyEvent e) {
+            if (e.isControlDown()) {
+            int kc = e.getKeyCode();
+            switch (e.getKeyCode()) {
+            case KeyEvent.VK_N:
+            case KeyEvent.VK_RIGHT:
+                handleForward();
+                break;
+            case KeyEvent.VK_P:
+            case KeyEvent.VK_LEFT:
+                handleBackward();
+                break;
+            default:
+                break;
+            }
+            e.consume();
+            }
+        }
+        public void keyReleased(KeyEvent e) {
+            if (e.isControlDown()) {
+            e.consume();
+            }
+        }
+        public void keyTyped(KeyEvent e) {
+            if (e.isControlDown()) {
+            e.consume();
+            }
+        }
+        });
+
+        // (new Thread(this)).start();
+    }
+
+
+
+    public String getInitialText()
+    {
+        return
+"When,inthecourseofhumanevents,itbecomesnecessaryforonepeopletodissolvethepoliticalbondswhichhave"
++ "connectedthemwithanother,andtoassumeamongthepowersoftheearth,theseparateandequalstationtowhichthelaws"
++ "ofnatureandofnature'sGodentitlethem,adecentrespecttotheopinionsofmankindrequiresthattheyshoulddeclarethe"
++ "causeswhichimpelthemtotheseparation.\n"
++ "Weholdthesetruthstobeself-evident,thatallmenarecreatedequal,thattheyareendowedbytheirCreatorwithcertain"
++ "unalienablerights,thatamongthesearelife,libertyandthepursuitofhappiness.Thattosecuretheserights,governmentsare"
++ "institutedamongmen,derivingtheirjustpowersfromtheconsentofthegoverned.Thatwheneveranyformofgovernment"
++ "becomesdestructivetotheseends,itistherightofthepeopletoalterortoabolishit,andtoinstitutenewgovernment,laying"
++ "itsfoundationonsuchprinciplesandorganizingitspowersinsuchform,astothemshallseemmostlikelytoeffecttheirsafety"
++ "andhappiness.Prudence,indeed,willdictatethatgovernmentslongestablishedshouldnotbechangedforlightandtransient"
++ "causes;andaccordinglyallexperiencehathshownthatmankindaremoredisposedtosuffer,whileevilsaresufferable,than"
++ "torightthemselvesbyabolishingtheformstowhichtheyareaccustomed.Butwhenalongtrainofabusesandusurpations,"
++ "pursuinginvariablythesameobjectevincesadesigntoreducethemunderabsolutedespotism,itistheirright,itistheirduty,"
++ "tothrowoffsuchgovernment,andtoprovidenewguardsfortheirfuturesecurity.--Suchhasbeenthepatientsufferanceof"
++ "thesecolonies;andsuchisnowthenecessitywhichconstrainsthemtoaltertheirformersystemsofgovernment.Thehistory"
++ "ofthepresentKingofGreatBritainisahistoryofrepeatedinjuriesandusurpations,allhavingindirectobjectthe"
++ "establishmentofanabsolutetyrannyoverthesestates.Toprovethis,letfactsbesubmittedtoacandidworld.\n"
++ "Hehasrefusedhisassenttolaws,themostwholesomeandnecessaryforthepublicgood.\n"
++ "Hehasforbiddenhisgovernorstopasslawsofimmediateandpressingimportance,unlesssuspendedintheiroperationtill"
++ "hisassentshouldbeobtained;andwhensosuspended,hehasutterlyneglectedtoattendtothem.\n"
++ "Hehasrefusedtopassotherlawsfortheaccommodationoflargedistrictsofpeople,unlessthosepeoplewouldrelinquish"
++ "therightofrepresentationinthelegislature,arightinestimabletothemandformidabletotyrantsonly.\n"
++ "Hehascalledtogetherlegislativebodiesatplacesunusual,uncomfortable,anddistantfromthedepositoryoftheirpublic"
++ "records,forthesolepurposeoffatiguingthemintocompliancewithhismeasures.\n"
++ "Hehasdissolvedrepresentativehousesrepeatedly,foropposingwithmanlyfirmnesshisinvasionsontherightsofthepeople.\n"
++ "Hehasrefusedforalongtime,aftersuchdissolutions,tocauseotherstobeelected;wherebythelegislativepowers,"
++ "incapableofannihilation,havereturnedtothepeopleatlargefortheirexercise;thestateremaininginthemeantimeexposed"
++ "toallthedangersofinvasionfromwithout,andconvulsionswithin.\n"
++ "Hehasendeavoredtopreventthepopulationofthesestates;forthatpurposeobstructingthelawsfornaturalizationof"
++ "foreigners;refusingtopassotherstoencouragetheirmigrationhither,andraisingtheconditionsofnewappropriationsof"
++ "lands.\n"
++ "Hehasobstructedtheadministrationofjustice,byrefusinghisassenttolawsforestablishingjudiciarypowers.\n"
++ "Hehasmadejudgesdependentonhiswillalone,forthetenureoftheiroffices,andtheamountandpaymentoftheirsalaries.\n"
++ "Hehaserectedamultitudeofnewoffices,andsenthitherswarmsofofficerstoharassourpeople,andeatouttheir"
++ "substance.\n"
++ "Hehaskeptamongus,intimesofpeace,standingarmieswithouttheconsentofourlegislature.\n"
++ "Hehasaffectedtorenderthemilitaryindependentofandsuperiortocivilpower.\n"
++ "Hehascombinedwithotherstosubjectustoajurisdictionforeigntoourconstitution,andunacknowledgedbyourlaws;"
++ "givinghisassenttotheiractsofpretendedlegislation:\n"
++ "Forquarteringlargebodiesofarmedtroopsamongus:\n"
++ "Forprotectingthem,bymocktrial,frompunishmentforanymurderswhichtheyshouldcommitontheinhabitantsofthese"
++ "states:\n"
++ "Forcuttingoffourtradewithallpartsoftheworld:\n"
++ "Forimposingtaxesonuswithoutourconsent:\n"
++ "Fordeprivingusinmanycases,ofthebenefitsoftrialbyjury:\n"
++ "Fortransportingusbeyondseastobetriedforpretendedoffenses:\n"
++ "ForabolishingthefreesystemofEnglishlawsinaneighboringprovince,establishingthereinanarbitrarygovernment,and"
++ "enlargingitsboundariessoastorenderitatonceanexampleandfitinstrumentforintroducingthesameabsoluteruleinthese"
++ "colonies:\n"
++ "Fortakingawayourcharters,abolishingourmostvaluablelaws,andalteringfundamentallytheformsofourgovernments:\n"
++ "Forsuspendingourownlegislatures,anddeclaringthemselvesinvestedwithpowertolegislateforusinallcaseswhatsoever.\n"
++ "Hehasabdicatedgovernmenthere,bydeclaringusoutofhisprotectionandwagingwaragainstus.\n"
++ "Hehasplunderedourseas,ravagedourcoasts,burnedourtowns,anddestroyedthelivesofourpeople.\n"
++ "Heisatthistimetransportinglargearmiesofforeignmercenariestocompletetheworksofdeath,desolationandtyranny,"
++ "alreadybegunwithcircumstancesofcrueltyandperfidyscarcelyparalleledinthemostbarbarousages,andtotallyunworthy"
++ "theheadofacivilizednation.\n"
++ "Hehasconstrainedourfellowcitizenstakencaptiveonthehighseastobeararmsagainsttheircountry,tobecomethe"
++ "executionersoftheirfriendsandbrethren,ortofallthemselvesbytheirhands.\n"
++ "Hehasexciteddomesticinsurrectionsamongstus,andhasendeavoredtobringontheinhabitantsofourfrontiers,the"
++ "mercilessIndiansavages,whoseknownruleofwarfare,isundistinguisheddestructionofallages,sexesandconditions.\n"
++ "Ineverystageoftheseoppressionswehavepetitionedforredressinthemosthumbleterms:ourrepeatedpetitionshave"
++ "beenansweredonlybyrepeatedinjury.Aprince,whosecharacteristhusmarkedbyeveryactwhichmaydefineatyrant,is"
++ "unfittobetherulerofafreepeople.\n"
++ "NorhavewebeenwantinginattentiontoourBritishbrethren.Wehavewarnedthemfromtimetotimeofattemptsbytheir"
++ "legislaturetoextendanunwarrantablejurisdictionoverus.Wehaveremindedthemofthecircumstancesofouremigration"
++ "andsettlementhere.Wehaveappealedtotheirnativejusticeandmagnanimity,andwehaveconjuredthembythetiesofour"
++ "commonkindredtodisavowtheseusurpations,which,wouldinevitablyinterruptourconnectionsandcorrespondence.We"
++ "must,therefore,acquiesceinthenecessity,whichdenouncesourseparation,andholdthem,asweholdtherestofmankind,"
++ "enemiesinwar,inpeacefriends.\n"
++ "We,therefore,therepresentativesoftheUnitedStatesofAmerica,inGeneralCongress,assembled,appealingtothe"
++ "SupremeJudgeoftheworldfortherectitudeofourintentions,do,inthename,andbytheauthorityofthegoodpeopleof"
++ "thesecolonies,solemnlypublishanddeclare,thattheseunitedcoloniesare,andofrightoughttobefreeandindependent"
++ "states;thattheyareabsolvedfromallallegiancetotheBritishCrown,andthatallpoliticalconnectionbetweenthemandthe"
++ "stateofGreatBritain,isandoughttobetotallydissolved;andthatasfreeandindependentstates,theyhavefullpowerto"
++ "leveywar,concludepeace,contractalliances,establishcommerce,andtodoallotheractsandthingswhichindependent"
++ "statesmayofrightdo.Andforthesupportofthisdeclaration,withafirmrelianceontheprotectionofDivineProvidence,we"
++ "mutuallypledgetoeachotherourlives,ourfortunesandoursacredhonor.\n";
+    }
+
+
+    public void handleEnumChanged()
+    {
+        String s = bound.getSelectedItem();
+        if (s.equals("Char")) {
+            errorText("getCharacterInstance");
+            iter = BreakIterator.getCharacterInstance();
+        }
+        else if (s.equals("Word")) {
+            errorText("getWordInstance");
+            iter = BreakIterator.getWordInstance();
+        }
+        else if (s.equals("Line Break")) {
+            errorText("getLineInstance");
+            iter = BreakIterator.getLineInstance();
+        }
+        else /* if (s.equals("Sentence")) */ {
+            errorText("getSentenceInstance");
+            iter = BreakIterator.getSentenceInstance();
+        }
+        iter.setText(text.getText());
+        selectRange(0, 0);
+        //text.select(0,0);
+    }
+
+    public void handleForward()
+    {
+        try {
+//          System.out.println("entering handleForward");
+            iter.setText(text.getText());
+            int oldStart = getSelectionStart();
+            int oldEnd = getSelectionEnd();
+
+//          System.out.println("handleForward: oldStart=" + oldStart + ", oldEnd=" + oldEnd);
+
+            if (oldEnd < 1) {
+                selectRange(0, iter.following(0));
+            }
+            else {
+                int s = iter.following(oldEnd-1);
+                int e = iter.next();
+                if (e == -1) {
+                    e = s;
+                }
+                selectRange(s, e);
+            }
+            //text.select(s, e);
+            errorText("<" + oldStart + "," + oldEnd + "> -> <" +
+                s + "," + e + ">");
+        }
+        catch (Exception exp) {
+            errorText(exp.toString());
+        }
+    }
+
+    public void handleBackward()
+    {
+        try {
+            iter.setText(text.getText());
+            int oldStart = getSelectionStart();
+            int oldEnd = getSelectionEnd();
+            if (oldStart < 1) {
+                selectRange(0, 0);
+            }
+            else {
+                int e = iter.following(oldStart-1);
+                int s = iter.previous();
+                selectRange(s, e);
+            }
+            //text.select(s, e);
+            errorText("<" + oldStart + "," + oldEnd + "> -> <" + s + "," + e + ">");
+        }
+        catch (Exception exp) {
+            errorText(exp.toString());
+        }
+    }
+
+    public void itemStateChanged(ItemEvent evt)
+    {
+        if (evt.getSource() instanceof Choice) {
+            handleEnumChanged();
+        }
+    }
+
+    public void errorText(String s)
+    {
+       if (DEBUG)
+           System.out.println(s);
+    }
+    
+    protected void processWindowEvent(WindowEvent evt)
+    {
+        if (evt.getID() == WindowEvent.WINDOW_CLOSING && 
+            evt.getWindow() == this) {
+            hide();
+            dispose();
+            if (applet != null) {
+                applet.demoClosed();
+            } else System.exit(0);
+        }
+    }
+    
+    protected void processKeyEvent(KeyEvent evt)
+    {
+        switch (evt.getID()) {
+            case KeyEvent.KEY_PRESSED :
+                if (evt.getKeyCode() == KeyEvent.VK_CONTROL) {
+                    isctrldown_ = true;
+                }
+                break;
+            case KeyEvent.KEY_RELEASED :
+                // key detection for left and right buttons are removed
+                // to emulate the old release behaviour
+                int key = evt.getKeyCode();
+                if (key == KeyEvent.VK_N && isctrldown_) {
+                    handleForward();
+                }
+                else 
+                if (key == KeyEvent.VK_P && isctrldown_) {
+                    handleBackward();
+                }
+                else 
+                if (key == KeyEvent.VK_CONTROL) {
+                    isctrldown_ = false;
+                }
+                break;
+        }
+    }
+}
diff --git a/src/com/ibm/icu/dev/demo/rbbi/RBBIDemo.java b/src/com/ibm/icu/dev/demo/rbbi/RBBIDemo.java
new file mode 100755
index 0000000..d00f1f0
--- /dev/null
+++ b/src/com/ibm/icu/dev/demo/rbbi/RBBIDemo.java
@@ -0,0 +1,476 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.demo.rbbi;
+
+import java.awt.*;
+import java.awt.event.WindowEvent;
+import java.awt.event.KeyAdapter;
+import java.awt.event.KeyEvent;
+import java.awt.event.ItemListener;
+import java.awt.event.ItemEvent;
+import javax.swing.JTextArea;
+import javax.swing.JScrollPane;
+import javax.swing.BorderFactory;
+import java.util.*;
+import com.ibm.icu.dev.demo.impl.*;
+import com.ibm.icu.text.BreakIterator;
+
+public class RBBIDemo extends DemoApplet
+{
+    public static void main(String argv[]) {
+        Locale.setDefault(new Locale("en", "US"));
+        new RBBIDemo().showDemo();
+    }
+
+    public Frame createDemoFrame(DemoApplet applet) {
+        return new RBBIFrame(applet);
+    }
+}
+
+
+
+class RBBIFrame extends Frame implements ItemListener
+{
+    private static final String creditString =
+        "v1.1a9, Demo";
+
+    private static final int FIELD_COLUMNS = 45;
+    private static final Font choiceFont = null;
+    private static final boolean DEBUG = false;
+    private DemoApplet applet;
+
+    final String right = "-->";
+    final String left = "<--";
+
+    private BreakIterator iter;
+    private boolean       isctrldown_ = false;
+
+JTextArea text;
+//    TextArea text;
+    Choice bound;
+
+    public RBBIFrame(DemoApplet applet)
+    {
+        this.applet = applet;
+        init();
+        start();
+    }
+
+
+
+    public void run()
+    {
+        /*
+        while (true) {
+            try {
+                checkChange();
+                Thread.sleep(250);
+            }
+            catch (InterruptedException e) {
+            }
+            catch (Exception e) {
+            }
+            catch (Throwable e) {
+            }
+        }
+        */
+    }
+
+    int s, e;
+    int ts, te;
+
+    public void checkChange()
+    {
+//        System.out.println("checkChange...");
+        if ((text.getSelectionStart() & 0x7FFF) != ts ||
+            (text.getSelectionEnd() & 0x7FFF) != te) {
+
+            // not used int tempS = text.getSelectionStart() & 0x7FFF;
+            // not used int tempE = text.getSelectionEnd() & 0x7FFF;
+
+//          System.out.println(">");
+//          select(0, 0);
+//          select(tempS, tempE);
+            //select(tempS - (ts - s), tempE - (te - e));
+//          System.out.println("<");
+
+
+//          if (s != ts || e != te) System.out.println("     s("+s+") ts("+ts+") e("+e+") te("+te+")");
+//          if (tempS != ts || tempE != te) System.out.println(">s("+s+") tempS("+tempS+") e("+e+") tempE("+tempE+")");
+//          select(s - (ts - s), e - (te - e));
+//          if (tempS != ts || tempE != te) System.out.println("s("+s+") tempS("+tempS+") e("+e+") tempE("+tempE+")");
+
+//          System.out.println("lkdslksj");
+        }
+    }
+
+    public void select(int sIn, int eIn)
+    {
+        s = sIn;
+        e = eIn;
+        text.select(s, e);
+        ts = text.getSelectionStart() & 0x7FFF;
+        te = text.getSelectionEnd() & 0x7FFF;
+//        if (s != ts || e != te) {
+//            System.out.println(">s("+s+") ts("+ts+") e("+e+") te("+te+")");
+//            System.out.println("   "+(ts-s)+","+(te-e));
+//        }
+    }
+
+    public int getSelectionStart()
+    {
+        checkChange();
+//      return s;
+        return text.getSelectionStart() & 0x7FFF;
+    }
+
+
+    public int getSelectionEnd()
+    {
+        checkChange();
+//      return e;
+        return text.getSelectionEnd() & 0x7FFF;
+    }
+
+    public final synchronized void selectRange(int s, int e)
+    {
+        try {
+            //if (getSelectionStart() != s || getSelectionEnd() != e) {
+                //text.select(s, e);
+                select(s,e);
+            //}
+//          if (getSelectionStart() != s || getSelectionEnd() != e) {
+//              System.out.println("AGH! select("+s+","+e+") -> ("+
+//              getSelectionStart()+","+getSelectionEnd()+")");
+//              text.select(s - (getSelectionStart() - s), e - (getSelectionEnd() - e));
+//          }
+        } catch (Exception exp) {
+            errorText(exp.toString());
+        }
+    }
+
+
+
+    public void init()
+    {
+        buildGUI();
+    }
+
+
+    public void start()
+    {
+    }
+
+
+    void addWithFont(Container container, Component foo, Font font) {
+        if (font != null)
+            foo.setFont(font);
+        container.add(foo);
+    }
+
+
+
+   public void buildGUI()
+    {
+        setBackground(DemoUtility.bgColor);
+        setLayout(new BorderLayout());
+
+       Panel topPanel = new Panel();
+
+            Label titleLabel =
+                new Label("Deva Text Boundary Demo", Label.CENTER);
+            titleLabel.setFont(DemoUtility.titleFont);
+            topPanel.add(titleLabel);
+
+            //Label demo=new Label(creditString, Label.CENTER);
+            //demo.setFont(DemoUtility.creditFont);
+            //topPanel.add(demo);
+
+            Panel choicePanel = new Panel();
+
+            Label demo1=new Label("Boundaries", Label.LEFT);
+            demo1.setFont(DemoUtility.labelFont);
+            choicePanel.add(demo1);
+
+            bound = new Choice();
+                bound.setBackground(DemoUtility.choiceColor);
+            bound.addItem("Sentence");
+            bound.addItem("Line Break");
+            bound.addItem("Word");
+            bound.addItem("Char");
+            bound.addItemListener(this);
+            if (choiceFont != null)
+                bound.setFont(choiceFont);
+
+            choicePanel.add(bound);
+            topPanel.add(choicePanel);
+
+            DemoUtility.fixGrid(topPanel,1);
+
+
+        add("North", topPanel);
+
+
+            int ROWS = 15;
+            int COLUMNS = 50;
+//            text = new TextArea(getInitialText(), ROWS, COLUMNS);
+            text = new JTextArea(getInitialText(), ROWS, COLUMNS);
+            text.setLineWrap(true);
+            text.setWrapStyleWord(true);
+            text.setEditable(true);
+            text.selectAll();
+            text.setFont(new Font("Devanagari MT for IBM", Font.PLAIN, 48));
+            text.setBorder(BorderFactory.createEmptyBorder(2, 2, 2, 2));
+
+        add("Center", new JScrollPane(text, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,
+                        JScrollPane.HORIZONTAL_SCROLLBAR_NEVER));
+
+        Panel copyrightPanel = new Panel();
+        addWithFont (copyrightPanel,
+            new Label(DemoUtility.copyright1, Label.LEFT),DemoUtility.creditFont);
+        DemoUtility.fixGrid(copyrightPanel,1);
+        add("South", copyrightPanel);
+
+        //layout();
+        handleEnumChanged();
+        
+        enableEvents(WindowEvent.WINDOW_CLOSING);
+        enableEvents(KeyEvent.KEY_PRESSED);
+        enableEvents(KeyEvent.KEY_RELEASED);
+
+    text.addKeyListener(new KeyAdapter() {
+        public void keyPressed(KeyEvent e) {
+            if (e.isControlDown()) {
+            int kc = e.getKeyCode();
+            switch (e.getKeyCode()) {
+            case KeyEvent.VK_N:
+            case KeyEvent.VK_RIGHT:
+                handleForward();
+                break;
+            case KeyEvent.VK_P:
+            case KeyEvent.VK_LEFT:
+                handleBackward();
+                break;
+            default:
+                break;
+            }
+            e.consume();
+            }
+        }
+        public void keyReleased(KeyEvent e) {
+            if (e.isControlDown()) {
+            e.consume();
+            }
+        }
+        public void keyTyped(KeyEvent e) {
+            if (e.isControlDown()) {
+            e.consume();
+            }
+        }
+        });
+
+        // (new Thread(this)).start();
+    }
+
+
+
+    public String getInitialText()
+    {
+        return
+            "\u0936\u094d\u0930\u0940\u092e\u0926\u094d " +
+            "\u092d\u0917\u0935\u0926\u094d\u0917\u0940\u0924\u093e " +
+            "\u0905\u0927\u094d\u092f\u093e\u092f " +
+            "\u0905\u0930\u094d\u091c\u0941\u0928 " +
+            "\u0935\u093f\u0937\u093e\u0926 " +
+            "\u092f\u094b\u0917 " +
+            "\u0927\u0943\u0924\u0930\u093e\u0937\u094d\u091f\u094d\u0930 " +
+            "\u0909\u0935\u093E\u091A\u0964 " +
+            "\u0927\u0930\u094d\u092e\u0915\u094d\u0937\u0947\u0924\u094d\u0930\u0947 " +
+            "\u0915\u0941\u0930\u0941\u0915\u094d\u0937\u0947\u0924\u094d\u0930\u0947 " +
+            "\u0938\u092e\u0935\u0947\u0924\u093e " +
+            "\u092f\u0941\u092f\u0941\u0924\u094d\u0938\u0935\u0903 " +
+            "\u092e\u093e\u092e\u0915\u093e\u0903 " +
+            "\u092a\u093e\u0923\u094d\u0921\u0935\u093e\u0936\u094d\u091a\u0948\u0935 " +
+            "\u0915\u093f\u092e\u0915\u0941\u0930\u094d\u0935\u0924 " +
+            "\u0938\u0902\u091c\u092F";
+    }
+
+
+    public void handleEnumChanged()
+    {
+        String s = bound.getSelectedItem();
+        if (s.equals("Char")) {
+            errorText("getCharacterInstance");
+            iter = BreakIterator.getCharacterInstance();
+        }
+        else if (s.equals("Word")) {
+            errorText("tWordBreak");
+            iter = BreakIterator.getWordInstance();
+        }
+        else if (s.equals("Line Break")) {
+            errorText("getLineInstance");
+            iter = BreakIterator.getLineInstance();
+        }
+        else /* if (s.equals("Sentence")) */ {
+            errorText("getSentenceInstance");
+            iter = BreakIterator.getSentenceInstance();
+        }
+        iter.setText(text.getText());
+        selectRange(0, 0);
+        //text.select(0,0);
+    }
+
+    public void handleForward()
+    {
+        try {
+//          System.out.println("entering handleForward");
+            iter.setText(text.getText());
+            int oldStart = getSelectionStart();
+            int oldEnd = getSelectionEnd();
+
+//          System.out.println("handleForward: oldStart=" + oldStart + ", oldEnd=" + oldEnd);
+
+            if (oldEnd < 1) {
+                selectRange(0, iter.following(0));
+            }
+            else {
+                int s = iter.following(oldEnd-1);
+                int e = iter.next();
+                if (e == -1) {
+                    e = s;
+                }
+                selectRange(s, e);
+            }
+            //text.select(s, e);
+            errorText("<" + oldStart + "," + oldEnd + "> -> <" +
+                s + "," + e + ">");
+        }
+        catch (Exception exp) {
+            errorText(exp.toString());
+        }
+    }
+
+    public void handleBackward()
+    {
+        try {
+            iter.setText(text.getText());
+            int oldStart = getSelectionStart();
+            int oldEnd = getSelectionEnd();
+            if (oldStart < 1) {
+                selectRange(0, 0);
+            }
+            else {
+                int e = iter.following(oldStart-1);
+                int s = iter.previous();
+                selectRange(s, e);
+            }
+            //text.select(s, e);
+            errorText("<" + oldStart + "," + oldEnd + "> -> <" + s + "," + e + ">");
+        }
+        catch (Exception exp) {
+            errorText(exp.toString());
+        }
+    }
+
+    /*
+    public boolean action(Event evt, Object obj)
+    {
+
+        if(evt.target instanceof Button && left.equals(obj))
+        {
+            handleBackward();
+            return true;
+        }
+        else if(evt.target instanceof Button && right.equals(obj))
+        {
+            handleForward();
+            return true;
+        }
+        else if(evt.target instanceof Choice)
+        {
+            handleEnumChanged();
+            return true;
+        }
+        return false;
+    }
+
+    public boolean handleEvent(Event evt)
+    {
+        if (evt.id == Event.KEY_PRESS || evt.id == Event.KEY_ACTION) {
+            if (evt.key == Event.RIGHT || (evt.key == 0x0E && evt.controlDown())) {
+                handleForward();
+                return true;
+            }
+            else if (evt.key == Event.LEFT || (evt.key == 0x10 && evt.controlDown())) {
+                handleBackward();
+                return true;
+            }
+        }
+        else
+        if (evt.id == Event.WINDOW_DESTROY && evt.target == this) {
+            this.hide();
+            this.dispose();
+                if (applet != null) {
+                  applet.demoClosed();
+               } else System.exit(0);
+            return true;
+        }
+        return super.handleEvent(evt);
+    }*/
+
+    public void itemStateChanged(ItemEvent evt)
+    {
+        if (evt.getSource() instanceof Choice) {
+            handleEnumChanged();
+        }
+    }
+
+    public void errorText(String s)
+    {
+       if (DEBUG)
+           System.out.println(s);
+    }
+    
+    protected void processWindowEvent(WindowEvent evt)
+    {
+        if (evt.getID() == WindowEvent.WINDOW_CLOSING && 
+            evt.getWindow() == this) {
+            hide();
+            dispose();
+            if (applet != null) {
+                applet.demoClosed();
+            } else System.exit(0);
+        }
+    }
+    
+    protected void processKeyEvent(KeyEvent evt)
+    {
+        switch (evt.getID()) {
+            case KeyEvent.KEY_PRESSED :
+                if (evt.getKeyCode() == KeyEvent.VK_CONTROL) {
+                    isctrldown_ = true;
+                }
+                break;
+            case KeyEvent.KEY_RELEASED :
+                // key detection for left and right buttons are removed
+                // to emulate the old release behaviour
+                int key = evt.getKeyCode();
+                if (key == KeyEvent.VK_N && isctrldown_) {
+                    handleForward();
+                }
+                else 
+                if (key == KeyEvent.VK_P && isctrldown_) {
+                    handleBackward();
+                }
+                else 
+                if (key == KeyEvent.VK_CONTROL) {
+                    isctrldown_ = false;
+                }
+                break;
+        }
+    }
+}
diff --git a/src/com/ibm/icu/dev/demo/rbbi/TextBoundDemo.java b/src/com/ibm/icu/dev/demo/rbbi/TextBoundDemo.java
new file mode 100755
index 0000000..1883387
--- /dev/null
+++ b/src/com/ibm/icu/dev/demo/rbbi/TextBoundDemo.java
@@ -0,0 +1,456 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.demo.rbbi;
+
+import java.awt.*;
+import java.awt.event.ItemListener;
+import java.awt.event.ItemEvent;
+import java.awt.event.KeyAdapter;
+import java.awt.event.KeyEvent;
+import java.awt.event.WindowEvent;
+import javax.swing.JTextArea;
+import javax.swing.JScrollPane;
+import javax.swing.BorderFactory;
+import com.ibm.icu.dev.demo.impl.*;
+import com.ibm.icu.text.BreakIterator;
+
+public class TextBoundDemo extends DemoApplet
+{
+    public static void main(String argv[]) {
+        new TextBoundDemo().showDemo();
+    }
+
+    public Frame createDemoFrame(DemoApplet applet) {
+        return new TextBoundFrame(applet);
+    }
+}
+
+
+
+class TextBoundFrame extends Frame implements ItemListener
+{
+    private static final String creditString =
+        "v1.1a9, Demo";
+
+    private static final int FIELD_COLUMNS = 45;
+    private static final Font choiceFont = null;
+    private static final boolean DEBUG = false;
+    private DemoApplet applet;
+
+    final String right = "-->";
+    final String left = "<--";
+
+    private BreakIterator iter;
+    private boolean isctrldown_ = false;
+
+JTextArea text;
+//    TextArea text;
+    Choice bound;
+
+    public TextBoundFrame(DemoApplet applet)
+    {
+        this.applet = applet;
+        init();
+        start();
+    }
+
+
+
+    public void run()
+    {
+        /*
+        while (true) {
+            try {
+                checkChange();
+                Thread.sleep(250);
+            }
+            catch (InterruptedException e) {
+            }
+            catch (Exception e) {
+            }
+            catch (Throwable e) {
+            }
+        }
+        */
+    }
+
+    int s, e;
+    int ts, te;
+
+    public void checkChange()
+    {
+//        System.out.println("checkChange...");
+        if ((text.getSelectionStart() & 0x7FFF) != ts ||
+            (text.getSelectionEnd() & 0x7FFF) != te) {
+
+            // not used int tempS = text.getSelectionStart() & 0x7FFF;
+            // not used int tempE = text.getSelectionEnd() & 0x7FFF;
+
+//          System.out.println(">");
+//          select(0, 0);
+//          select(tempS, tempE);
+            //select(tempS - (ts - s), tempE - (te - e));
+//          System.out.println("<");
+
+
+//          if (s != ts || e != te) System.out.println("     s("+s+") ts("+ts+") e("+e+") te("+te+")");
+//          if (tempS != ts || tempE != te) System.out.println(">s("+s+") tempS("+tempS+") e("+e+") tempE("+tempE+")");
+//          select(s - (ts - s), e - (te - e));
+//          if (tempS != ts || tempE != te) System.out.println("s("+s+") tempS("+tempS+") e("+e+") tempE("+tempE+")");
+
+//          System.out.println("lkdslksj");
+        }
+    }
+
+    public void select(int sIn, int eIn)
+    {
+        s = sIn;
+        e = eIn;
+        text.select(s, e);
+        ts = text.getSelectionStart() & 0x7FFF;
+        te = text.getSelectionEnd() & 0x7FFF;
+//        if (s != ts || e != te) {
+//            System.out.println(">s("+s+") ts("+ts+") e("+e+") te("+te+")");
+//            System.out.println("   "+(ts-s)+","+(te-e));
+//        }
+    }
+
+    public int getSelectionStart()
+    {
+        checkChange();
+//      return s;
+        return text.getSelectionStart() & 0x7FFF;
+    }
+
+
+    public int getSelectionEnd()
+    {
+        checkChange();
+//      return e;
+        return text.getSelectionEnd() & 0x7FFF;
+    }
+
+    public final synchronized void selectRange(int s, int e)
+    {
+        try {
+            //if (getSelectionStart() != s || getSelectionEnd() != e) {
+                //text.select(s, e);
+                select(s,e);
+            //}
+//          if (getSelectionStart() != s || getSelectionEnd() != e) {
+//              System.out.println("AGH! select("+s+","+e+") -> ("+
+//              getSelectionStart()+","+getSelectionEnd()+")");
+//              text.select(s - (getSelectionStart() - s), e - (getSelectionEnd() - e));
+//          }
+        } catch (Exception exp) {
+            errorText(exp.toString());
+        }
+    }
+
+
+
+    public void init()
+    {
+        buildGUI();
+    }
+
+
+    public void start()
+    {
+    }
+
+
+    void addWithFont(Container container, Component foo, Font font) {
+        if (font != null)
+            foo.setFont(font);
+        container.add(foo);
+    }
+
+
+
+   public void buildGUI()
+    {
+        setBackground(DemoUtility.bgColor);
+        setLayout(new BorderLayout());
+
+       Panel topPanel = new Panel();
+
+            Label titleLabel =
+                new Label("Text Boundary Demo", Label.CENTER);
+            titleLabel.setFont(DemoUtility.titleFont);
+            topPanel.add(titleLabel);
+
+            //Label demo=new Label(creditString, Label.CENTER);
+            //demo.setFont(DemoUtility.creditFont);
+            //topPanel.add(demo);
+
+            Panel choicePanel = new Panel();
+
+            Label demo1=new Label("Boundaries", Label.LEFT);
+            demo1.setFont(DemoUtility.labelFont);
+            choicePanel.add(demo1);
+
+            bound = new Choice();
+                bound.setBackground(DemoUtility.choiceColor);
+            bound.addItem("Sentence");
+            bound.addItem("Line Break");
+            bound.addItem("Word");
+            bound.addItem("Char");
+            bound.addItemListener(this);
+            if (choiceFont != null)
+                bound.setFont(choiceFont);
+
+            choicePanel.add(bound);
+            topPanel.add(choicePanel);
+
+            DemoUtility.fixGrid(topPanel,1);
+
+
+        add("North", topPanel);
+
+
+            int ROWS = 15;
+            int COLUMNS = 50;
+//            text = new TextArea(getInitialText(), ROWS, COLUMNS);
+text = new JTextArea(getInitialText(), ROWS, COLUMNS);
+text.setLineWrap(true);
+text.setWrapStyleWord(true);
+            text.setEditable(true);
+            text.selectAll();
+            text.setFont(DemoUtility.editFont);
+            text.setBorder(BorderFactory.createEmptyBorder(2, 2, 2, 2));
+
+        add("Center", new JScrollPane(text, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,
+                        JScrollPane.HORIZONTAL_SCROLLBAR_NEVER));
+
+        Panel copyrightPanel = new Panel();
+        addWithFont (copyrightPanel,
+            new Label(DemoUtility.copyright1, Label.LEFT),DemoUtility.creditFont);
+        DemoUtility.fixGrid(copyrightPanel,1);
+        add("South", copyrightPanel);
+
+        //layout();
+        handleEnumChanged();
+        
+        enableEvents(WindowEvent.WINDOW_CLOSING);
+        enableEvents(KeyEvent.KEY_PRESSED);
+        enableEvents(KeyEvent.KEY_RELEASED);
+
+    text.addKeyListener(new KeyAdapter() {
+        public void keyPressed(KeyEvent e) {
+            if (e.isControlDown()) {
+            int kc = e.getKeyCode();
+            switch (e.getKeyCode()) {
+            case KeyEvent.VK_N:
+            case KeyEvent.VK_RIGHT:
+                handleForward();
+                break;
+            case KeyEvent.VK_P:
+            case KeyEvent.VK_LEFT:
+                handleBackward();
+                break;
+            default:
+                break;
+            }
+            e.consume();
+            }
+        }
+        public void keyReleased(KeyEvent e) {
+            if (e.isControlDown()) {
+            e.consume();
+            }
+        }
+        public void keyTyped(KeyEvent e) {
+            if (e.isControlDown()) {
+            e.consume();
+            }
+        }
+        });
+
+        // (new Thread(this)).start();
+    }
+
+
+
+    public String getInitialText()
+    {
+        return
+    /*
+            "\"This is a sentence.\" This is not.\" \"because. And go. " +
+            "This is a simple 012.566,5 sample sentence. \n"+
+            "It does not have to make any sense as you can see. \n"+
+            "Nel mezzo del cammin di nostra vita, mi ritrovai in "+
+                "una selva oscura. \n"+
+            "Che la dritta via aveo smarrita. \n"+
+            "He said, that I said, that you said!! \n"+
+            "Don't rock the boat.\n\n"+
+            "Because I am the daddy, that is why. \n"+
+            "Not on my time (el timo.)! \n"+
+            "Tab\tTab\rTab\tWow."+
+            "So what!!\n\n"+
+            "Is this a question???  " +
+            "I wonder...Hmm.\n" +
+            "Harris thumbed down several, including \"Away We Go\" "+
+                "(which became the huge success Oklahoma!). \n"+
+            "One species, B. anthracis, is highly virulent.\n"+
+            "Wolf said about Sounder: \"Beautifully thought-out and "+
+                "directed.\"\n"+
+            "Have you ever said, \"This is where I shall live\"? \n"+
+            "He 1000,233,456.000 answered, \"You may not!\" \n"+
+            "Another popular saying is: \"How do you do?\". \n"+
+            "What is the proper use of the abbreviation pp.? \n"+
+            "Yes, I am 1,23.322% definatelly 12\" tall!!";
+    */
+            "(\"This is a complete sentence.\") This is (\"not.\") also.  "
+            +"An abbreviation in the middle, etc. and one at the end, etc. "+
+                "This "
+            +"is a simple sample 012.566,5 sentence. It doesn't "
+            +"have to make any sense, as you can see. Nel mezzo del  c"
+            +"ammin di nostra vita, mi ritrovai in una selva oscura. Che "
+            +"la dritta via aveo smarrita. Not on my time (el timo.)! And "
+            +"tabulated columns: \tCol1\tCol2\t3,456%.\t "
+            +"Is this a question???  I wonder... Hmm. Harris thumbed "
+            +"down several, including \"Away We Go\" (which became the  "
+            +"huge success Oklahoma!). One species, B. anthracis, is  "
+            +"highly virulent. Wolf said about Sounder: \"Beautifully  "
+            +"thought-out and directed.\" Have you ever said, \"This is "+
+                "where I "
+            +"shall live\"? He said 1000,233,456.000 and answered, \"You "+
+                "may not!\"  "
+            +"Another popular saying is: \"How do you do?\". What is the  "
+            +"proper use of the abbreviation pp.? Yes, I am 12\' 3\" tall!!";
+    }
+
+
+    public void handleEnumChanged()
+    {
+        String s = bound.getSelectedItem();
+        if (s.equals("Char")) {
+            errorText("getCharacterInstance");
+            iter = BreakIterator.getCharacterInstance();
+        }
+        else if (s.equals("Word")) {
+            errorText("tWordBreak");
+            iter = BreakIterator.getWordInstance();
+        }
+        else if (s.equals("Line Break")) {
+            errorText("getLineInstance");
+            iter = BreakIterator.getLineInstance();
+        }
+        else /* if (s.equals("Sentence")) */ {
+            errorText("getSentenceInstance");
+            iter = BreakIterator.getSentenceInstance();
+        }
+        iter.setText(text.getText());
+        selectRange(0, 0);
+        //text.select(0,0);
+    }
+
+    public void handleForward()
+    {
+        try {
+//          System.out.println("entering handleForward");
+            iter.setText(text.getText());
+            int oldStart = getSelectionStart();
+            int oldEnd = getSelectionEnd();
+
+//          System.out.println("handleForward: oldStart=" + oldStart + ", oldEnd=" + oldEnd);
+
+            if (oldEnd < 1) {
+                selectRange(0, iter.following(0));
+            }
+            else {
+                int s = iter.following(oldEnd-1);
+                int e = iter.next();
+                if (e == -1) {
+                    e = s;
+                }
+                selectRange(s, e);
+            }
+            //text.select(s, e);
+            errorText("<" + oldStart + "," + oldEnd + "> -> <" +
+                s + "," + e + ">");
+        }
+        catch (Exception exp) {
+            errorText(exp.toString());
+        }
+    }
+
+    public void handleBackward()
+    {
+        try {
+            iter.setText(text.getText());
+            int oldStart = getSelectionStart();
+            int oldEnd = getSelectionEnd();
+            if (oldStart < 1) {
+                selectRange(0, 0);
+            }
+            else {
+                int e = iter.following(oldStart-1);
+                int s = iter.previous();
+                selectRange(s, e);
+            }
+            //text.select(s, e);
+            errorText("<" + oldStart + "," + oldEnd + "> -> <" + s + "," + e + ">");
+        }
+        catch (Exception exp) {
+            errorText(exp.toString());
+        }
+    }
+
+    public void itemStateChanged(ItemEvent evt)
+    {
+        if (evt.getSource() instanceof Choice) {
+            handleEnumChanged();
+        }
+    }
+
+    public void errorText(String s)
+    {
+       if (DEBUG)
+           System.out.println(s);
+    }
+    
+    protected void processWindowEvent(WindowEvent evt)
+    {
+        if (evt.getID() == WindowEvent.WINDOW_CLOSING && 
+            evt.getWindow() == this) {
+            hide();
+            dispose();
+            if (applet != null) {
+                applet.demoClosed();
+            } else System.exit(0);
+        }
+    }
+    
+    protected void processKeyEvent(KeyEvent evt)
+    {
+        switch (evt.getID()) {
+            case KeyEvent.KEY_PRESSED :
+                if (evt.getKeyCode() == KeyEvent.VK_CONTROL) {
+                    isctrldown_ = true;
+                }
+                break;
+            case KeyEvent.KEY_RELEASED :
+                // key detection for left and right buttons are removed
+                // to emulate the old release behaviour
+                int key = evt.getKeyCode();
+                if (key == KeyEvent.VK_N && isctrldown_) {
+                    handleForward();
+                }
+                else 
+                if (key == KeyEvent.VK_P && isctrldown_) {
+                    handleBackward();
+                }
+                else
+                if (key == KeyEvent.VK_CONTROL) {
+                    isctrldown_ = false;
+                }
+                break;
+        }
+    }
+}
diff --git a/src/com/ibm/icu/dev/demo/rbbi/package.html b/src/com/ibm/icu/dev/demo/rbbi/package.html
new file mode 100755
index 0000000..13f0c2c
--- /dev/null
+++ b/src/com/ibm/icu/dev/demo/rbbi/package.html
@@ -0,0 +1,12 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html>
+<head>
+<!--  Copyright (C) 2000-2004, International Business Machines Corporation and
+  others. All Rights Reserved.
+
+-->
+</head>
+<body bgcolor="white">
+RuleBasedBreakIterator and DictionaryBasedBreakIterator demo applications.
+</body>
+</html>
\ No newline at end of file
diff --git a/src/com/ibm/icu/dev/demo/rbnf/RbnfDemo.java b/src/com/ibm/icu/dev/demo/rbnf/RbnfDemo.java
new file mode 100755
index 0000000..6c9646f
--- /dev/null
+++ b/src/com/ibm/icu/dev/demo/rbnf/RbnfDemo.java
@@ -0,0 +1,525 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.demo.rbnf;
+
+import java.awt.*;
+import java.awt.event.*;
+import java.text.DecimalFormat;
+import java.text.BreakIterator;
+import java.text.ParsePosition;
+import java.util.Locale;
+import com.ibm.icu.dev.demo.impl.*;
+import com.ibm.icu.text.RuleBasedNumberFormat;
+
+public class RbnfDemo extends DemoApplet {
+    /**
+     * Puts a copyright in the .class file
+     */
+    private static final String copyrightNotice
+        = "Copyright \u00a91997-1998 IBM Corp.  All rights reserved.";
+
+    /*
+     * code to run the demo as an application
+     */
+    public static void main(String[] argv) {
+        new RbnfDemo().showDemo();
+    }
+
+    protected Dimension getDefaultFrameSize(DemoApplet applet, Frame f) {
+        return new Dimension(430,270);
+    }
+
+    protected Frame createDemoFrame(DemoApplet applet) {
+        final Frame window = new Frame("Number Spellout Demo");
+        window.setSize(800, 600);
+        window.setLayout(new BorderLayout());
+
+        Panel mainPanel = new Panel();
+        mainPanel.setLayout(new GridLayout(1,2));
+
+        commentaryField = new TextArea("", 0, 0, TextArea.SCROLLBARS_VERTICAL_ONLY);
+        commentaryField.setSize(800, 50);
+        commentaryField.setText(RbnfSampleRuleSets.sampleRuleSetCommentary[0]);
+        commentaryField.setEditable(false);
+        commentaryField.setFont(new Font("Helvetica", Font.PLAIN, 14));
+
+        spelloutFormatter = new RuleBasedNumberFormat(RbnfSampleRuleSets.usEnglish, Locale.US);
+        spelloutFormatter.setLenientParseMode(lenientParse);
+        populateRuleSetMenu();
+        numberFormatter = new DecimalFormat("#,##0.##########");
+        parsePosition = new ParsePosition(0);
+        theNumber = 0;
+
+        numberField = new TextField();
+        numberField.setFont(new Font("Serif", Font.PLAIN, 24));
+        textField = new DemoTextFieldHolder();
+        textField.setFont(new Font("Serif", Font.PLAIN, 24));
+        rulesField = new DemoTextFieldHolder();
+        rulesField.setFont(new Font("Serif", Font.PLAIN, 14));
+        lenientParseButton = new Checkbox("Lenient parse", lenientParse);
+
+        numberField.addTextListener(new TextListener() {
+            public void textValueChanged(TextEvent e) {
+                if (!numberFieldHasFocus)
+                    return;
+
+                String fieldText = ((TextComponent)(e.getSource())).getText();
+                parsePosition.setIndex(0);
+                Number temp = numberFormatter.parse(fieldText, parsePosition);
+                if (temp == null || parsePosition.getIndex() == 0) {
+                    theNumber = 0;
+                    textField.setText("PARSE ERROR");
+                }
+                else {
+                    theNumber = temp.doubleValue();
+                    textField.setText(spelloutFormatter.format(theNumber, ruleSetName));
+                }
+            }
+        } );
+
+        numberField.addFocusListener(new FocusAdapter() {
+            public void focusLost(FocusEvent e) {
+                numberFieldHasFocus = false;
+                numberField.setText(numberFormatter.format(theNumber));
+            }
+
+            public void focusGained(FocusEvent e) {
+                numberFieldHasFocus = true;
+                numberField.selectAll();
+            }
+        } );
+
+        textField.addKeyListener(new KeyAdapter() {
+            public void keyTyped(KeyEvent e) {
+                if (e.getKeyChar() == '\t') {
+                    String fieldText = ((TextComponent)(e.getSource())).getText();
+                    parsePosition.setIndex(0);
+                    theNumber = spelloutFormatter.parse(fieldText, parsePosition)
+                                        .doubleValue();
+                    if (parsePosition.getIndex() == 0) {
+                        theNumber = 0;
+                        numberField.setText("PARSE ERROR");
+                        textField.selectAll();
+                    }
+                    else if (parsePosition.getIndex() < fieldText.length()) {
+                        textField.select(parsePosition.getIndex(), fieldText.length());
+                        numberField.setText(numberFormatter.format(theNumber));
+                    }
+                    else {
+                        textField.selectAll();
+                        numberField.setText(numberFormatter.format(theNumber));
+                    }
+                    e.consume();
+                }
+            }
+        } );
+
+        textField.addFocusListener(new FocusAdapter() {
+            public void focusLost(FocusEvent e) {
+                String fieldText = ((TextComponent)(e.getSource())).getText();
+                parsePosition.setIndex(0);
+                theNumber = spelloutFormatter.parse(fieldText, parsePosition)
+                                .doubleValue();
+                if (parsePosition.getIndex() == 0)
+                    numberField.setText("PARSE ERROR");
+                else
+                    numberField.setText(numberFormatter.format(theNumber));
+                textField.setText(textField.getText()); // textField.repaint() didn't work right
+            }
+
+            public void focusGained(FocusEvent e) {
+                textField.selectAll();
+            }
+        } );
+
+        rulesField.addKeyListener(new KeyAdapter() {
+            public void keyTyped(KeyEvent e) {
+                if (e.getKeyChar() == '\t') {
+                    String fieldText = ((TextComponent)(e.getSource())).getText();
+                    if (formatterMenu.getSelectedItem().equals("Custom") || !fieldText.equals(
+                                    RbnfSampleRuleSets.sampleRuleSets[formatterMenu.getSelectedIndex()])) {
+                        try {
+                            RuleBasedNumberFormat temp = new RuleBasedNumberFormat(fieldText);
+                            temp.setLenientParseMode(lenientParse);
+                            populateRuleSetMenu();
+                            spelloutFormatter = temp;
+                            customRuleSet = fieldText;
+                            formatterMenu.select("Custom");
+                            commentaryField.setText(RbnfSampleRuleSets.
+                                sampleRuleSetCommentary[RbnfSampleRuleSets.
+                                sampleRuleSetCommentary.length - 1]);
+                            redisplay();
+                        }
+                        catch (Exception x) {
+                            textField.setText(x.toString());
+                        }
+                    }
+                    e.consume();
+                }
+            }
+        } );
+
+        rulesField.addFocusListener(new FocusAdapter() {
+            public void focusLost(FocusEvent e) {
+                String fieldText = ((TextComponent)(e.getSource())).getText();
+                if (formatterMenu.getSelectedItem().equals("Custom") || !fieldText.equals(
+                                RbnfSampleRuleSets.sampleRuleSets[formatterMenu.getSelectedIndex()])) {
+                    try {
+                        RuleBasedNumberFormat temp = new RuleBasedNumberFormat(fieldText);
+                        temp.setLenientParseMode(lenientParse);
+                        populateRuleSetMenu();
+                        spelloutFormatter = temp;
+                        customRuleSet = fieldText;
+                        formatterMenu.select("Custom");
+                        redisplay();
+                    }
+                    catch (Exception x) {
+                        textField.setText(x.toString());
+                    }
+                }
+                rulesField.setText(rulesField.getText()); // rulesField.repaint() didn't work right
+            }
+        } );
+
+        lenientParseButton.addItemListener(new ItemListener() {
+            public void itemStateChanged(ItemEvent e) {
+                lenientParse = lenientParseButton.getState();
+                spelloutFormatter.setLenientParseMode(lenientParse);
+            }
+        } );
+
+        numberField.setText(numberFormatter.format(theNumber));
+        numberField.selectAll();
+        textField.setText(spelloutFormatter.format(theNumber, ruleSetName));
+
+        Panel leftPanel = new Panel();
+        leftPanel.setLayout(new BorderLayout());
+        Panel panel = new Panel();
+        panel.setLayout(new BorderLayout());
+        Panel panel1 = new Panel();
+        panel1.setLayout(new GridLayout(3, 1));
+        panel1.add(new Panel());
+        panel1.add(numberField, "Center");
+        panel1.add(lenientParseButton);
+        panel.add(panel1, "Center");
+        Panel panel2 = new Panel();
+        panel2.setLayout(new GridLayout(3, 3));
+        Button button = new Button("+100");
+        button.addActionListener( new ActionListener() {
+            public void actionPerformed(ActionEvent e) {
+                roll(100);
+            }
+        } );
+        panel2.add(button);
+        button = new Button("+10");
+        button.addActionListener( new ActionListener() {
+            public void actionPerformed(ActionEvent e) {
+                roll(10);
+            }
+        } );
+        panel2.add(button);
+        button = new Button("+1");
+        button.addActionListener( new ActionListener() {
+            public void actionPerformed(ActionEvent e) {
+                roll(1);
+            }
+        } );
+        panel2.add(button);
+        button = new Button("<");
+        button.addActionListener( new ActionListener() {
+            public void actionPerformed(ActionEvent e) {
+                theNumber *= 10;
+                redisplay();
+            }
+        } );
+        panel2.add(button);
+        panel2.add(new Panel());
+        button = new Button(">");
+        button.addActionListener( new ActionListener() {
+            public void actionPerformed(ActionEvent e) {
+                theNumber /= 10;
+                redisplay();
+            }
+        } );
+        panel2.add(button);
+        button = new Button("-100");
+        button.addActionListener( new ActionListener() {
+            public void actionPerformed(ActionEvent e) {
+                roll(-100);
+            }
+        } );
+        panel2.add(button);
+        button = new Button("-10");
+        button.addActionListener( new ActionListener() {
+            public void actionPerformed(ActionEvent e) {
+                roll(-10);
+            }
+        } );
+        panel2.add(button);
+        button = new Button("-1");
+        button.addActionListener( new ActionListener() {
+            public void actionPerformed(ActionEvent e) {
+                roll(-1);
+            }
+        } );
+        panel2.add(button);
+        panel.add(panel2, "East");
+        leftPanel.add(panel, "North");
+        leftPanel.add(textField, "Center");
+
+        Panel rightPanel = new Panel();
+        rightPanel.setLayout(new BorderLayout());
+        formatterMenu = new Choice();
+        for (int i = 0; i < RbnfSampleRuleSets.sampleRuleSetNames.length; i++)
+            formatterMenu.addItem(RbnfSampleRuleSets.sampleRuleSetNames[i]);
+        formatterMenu.addItem("Custom");
+        formatterMenu.addItemListener(new ItemListener() {
+            public void itemStateChanged(ItemEvent e) {
+                Choice source = (Choice)(e.getSource());
+                int item = source.getSelectedIndex();
+                Locale locale = RbnfSampleRuleSets.sampleRuleSetLocales[item];
+
+                commentaryField.setText(RbnfSampleRuleSets.
+                                sampleRuleSetCommentary[item]);
+
+                if (locale != null && (locale.getLanguage().equals("iw")
+                        || locale.getLanguage().equals("ru") || locale.getLanguage().equals("ja")
+                        || locale.getLanguage().equals("el")
+                        || locale.getLanguage().equals("zh"))) {
+                    textField.togglePanes(false);
+                    rulesField.togglePanes(false);
+                }
+                else {
+                    textField.togglePanes(true);
+                    rulesField.togglePanes(true);
+                }
+
+                makeNewSpelloutFormatter();
+                redisplay();
+            }
+        } );
+
+        ruleSetMenu = new Choice();
+        populateRuleSetMenu();
+
+        ruleSetMenu.addItemListener(new ItemListener() {
+            public void itemStateChanged(ItemEvent e) {
+                ruleSetName = ruleSetMenu.getSelectedItem();
+                redisplay();
+            }
+        } );
+
+        Panel menuPanel = new Panel();
+        menuPanel.setLayout(new GridLayout(1, 2));
+        menuPanel.add(formatterMenu);
+        menuPanel.add(ruleSetMenu);
+        rightPanel.add(menuPanel, "North");
+
+        rulesField.setText(RbnfSampleRuleSets.sampleRuleSets[formatterMenu.getSelectedIndex()]);
+        rightPanel.add(rulesField, "Center");
+
+        mainPanel.add(leftPanel);
+        mainPanel.add(rightPanel);
+
+        window.add(mainPanel, "Center");
+        window.add(commentaryField, "South");
+
+        window.doLayout();
+        window.show();
+        return window;
+    }
+
+    void roll(int delta) {
+        theNumber += delta;
+        redisplay();
+    }
+
+    void redisplay() {
+        numberField.setText(numberFormatter.format(theNumber));
+        textField.setText(spelloutFormatter.format(theNumber, ruleSetName));
+    }
+
+    void makeNewSpelloutFormatter() {
+        int item = formatterMenu.getSelectedIndex();
+        String formatterMenuItem = formatterMenu.getSelectedItem();
+
+        if (formatterMenuItem.equals("Custom")) {
+            rulesField.setText(customRuleSet);
+            spelloutFormatter = new RuleBasedNumberFormat(customRuleSet);
+        }
+        else {
+            rulesField.setText(RbnfSampleRuleSets.sampleRuleSets[item]);
+
+            Locale locale = RbnfSampleRuleSets.sampleRuleSetLocales[item];
+            if (locale == null)
+                locale = Locale.getDefault();
+
+            spelloutFormatter = new RuleBasedNumberFormat(RbnfSampleRuleSets.
+                            sampleRuleSets[item], locale);
+        }
+        spelloutFormatter.setLenientParseMode(lenientParse);
+        populateRuleSetMenu();
+    }
+
+    void populateRuleSetMenu() {
+        String[] ruleSetNames = spelloutFormatter.getRuleSetNames();
+
+        if (ruleSetMenu != null) {
+            ruleSetMenu.removeAll();
+            for (int i = 0; i < ruleSetNames.length; i++)
+                ruleSetMenu.addItem(ruleSetNames[i]);
+
+            ruleSetName = ruleSetMenu.getSelectedItem();
+        }
+        else
+            ruleSetName = ruleSetNames[0];
+    }
+
+    private Frame demoWindow = null;
+
+    private TextComponent numberField;
+    private DemoTextFieldHolder textField;
+    private DemoTextFieldHolder rulesField;
+    private TextComponent commentaryField;
+    private Checkbox lenientParseButton;
+
+    private boolean numberFieldHasFocus = true;
+
+    private RuleBasedNumberFormat spelloutFormatter;
+    private DecimalFormat numberFormatter;
+    private ParsePosition parsePosition;
+
+    private boolean lenientParse = true;
+
+    private double theNumber = 0;
+    private boolean canEdit = true;
+
+    private Choice formatterMenu;
+    private Choice ruleSetMenu;
+    private String ruleSetName;
+
+    private String customRuleSet = "NO RULES!";
+}
+
+class DemoTextField extends Component {
+    public DemoTextField() {
+    }
+
+    public void setText(String text) {
+        this.text = text;
+        this.repaint();
+    }
+
+    public String getText() {
+        return text;
+    }
+
+    public void paint(Graphics g) {
+        Font font = getFont();
+        FontMetrics fm = g.getFontMetrics();
+        g.setFont(font);
+        String text = getText();
+        BreakIterator bi = BreakIterator.getLineInstance();
+        bi.setText(text);
+        int lineHeight = fm.getHeight();
+        int width = getSize().width;
+        int penY = fm.getAscent();
+        int lineStart = 0;
+        int tempLineEnd = bi.first();
+        int lineEnd = 0;
+        int maxLineEnd = 0;
+        totalHeight = 0;
+
+        while (lineStart < text.length()) {
+            maxLineEnd = text.indexOf('\n', lineStart);
+            if (maxLineEnd == -1)
+                maxLineEnd = Integer.MAX_VALUE;
+            while (tempLineEnd != BreakIterator.DONE && fm.stringWidth(text.substring(
+                            lineStart, tempLineEnd)) < width) {
+                lineEnd = tempLineEnd;
+                tempLineEnd = bi.next();
+            }
+            if (lineStart >= lineEnd) {
+                if (tempLineEnd == BreakIterator.DONE)
+                    lineEnd = text.length();
+                else
+                    lineEnd = tempLineEnd;
+            }
+            if (lineEnd > maxLineEnd)
+                lineEnd = maxLineEnd;
+            g.drawString(text.substring(lineStart, lineEnd), 0, penY);
+            penY += lineHeight;
+            totalHeight += lineHeight;
+            lineStart = lineEnd;
+            if (lineStart < text.length() && text.charAt(lineStart) == '\n')
+                ++lineStart;
+        }
+    }
+
+/*
+    public Dimension getPreferredSize() {
+        Dimension size = getParent().getSize();
+        return new Dimension(size.width, totalHeight);
+    }
+*/
+
+    private String text;
+    private int totalHeight;
+}
+
+class DemoTextFieldHolder extends Panel {
+    public DemoTextFieldHolder() {
+        tf1 = new TextArea("", 0, 0, TextArea.SCROLLBARS_VERTICAL_ONLY);
+        tf2 = new DemoTextField();
+        sp = new ScrollPane();
+
+        setLayout(new CardLayout());
+
+        sp.add(tf2, "TextField1");
+        sp.setVisible(false);
+        add(tf1, "TestField2");
+        add(sp, "ScrollPane");
+    }
+
+    public void addFocusListener(FocusListener l) {
+        tf1.addFocusListener(l);
+    }
+
+    public void addKeyListener(KeyListener l) {
+        tf1.addKeyListener(l);
+    }
+
+    public void setText(String text) {
+        tf1.setText(text);
+        tf2.setText(text);
+    }
+
+    public String getText() {
+        return tf1.getText();
+    }
+
+    public void select(int start, int end) {
+        tf1.select(start, end);
+    }
+
+    public void selectAll() {
+        tf1.selectAll();
+    }
+
+    public void togglePanes(boolean canShowRealTextField) {
+        if (canShowRealTextField != showingRealTextField) {
+            CardLayout layout = (CardLayout)(getLayout());
+            layout.next(this);
+            showingRealTextField = canShowRealTextField;
+        }
+    }
+
+    private TextArea tf1 = null;
+    private DemoTextField tf2 = null;
+    private ScrollPane sp = null;
+    private boolean showingRealTextField = true;
+}
diff --git a/src/com/ibm/icu/dev/demo/rbnf/RbnfSampleRuleSets.java b/src/com/ibm/icu/dev/demo/rbnf/RbnfSampleRuleSets.java
new file mode 100755
index 0000000..68cf146
--- /dev/null
+++ b/src/com/ibm/icu/dev/demo/rbnf/RbnfSampleRuleSets.java
@@ -0,0 +1,1941 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.demo.rbnf;
+
+import java.util.Locale;
+
+/**
+ * A collection of example rule sets for use with RuleBasedNumberFormat.
+ * These examples are intended to serve both as demonstrations of what can
+ * be done with this framework, and as starting points for designing new
+ * rule sets.
+ *
+ * For those that claim to represent number-spellout rules for languages
+ * other than U.S. English, we make no claims of either accuracy or
+ * completeness.  In fact, we know them to be incomplete, and suspect
+ * most have mistakes in them.  If you see something that you know is wrong,
+ * please tell us!
+ *
+ * @author Richard Gillam
+ */
+public class RbnfSampleRuleSets {
+    /**
+     * Puts a copyright in the .class file
+     */
+    private static final String copyrightNotice
+        = "Copyright \u00a91997-1998 IBM Corp.  All rights reserved.";
+
+    //========================================================================
+    // Spellout rules for various languages
+    //
+    // The following RuleBasedNumberFormat descriptions show the rules for
+    // spelling out numeric values in various languages.  As mentioned
+    // before, we cannot vouch for the accuracy or completeness of this
+    // data, although we believe it's pretty close.  Basically, this
+    // represents one day's worth of Web-surfing.  If you can supply the
+    // missing information in any of these rule sets, or if you find errors,
+    // or if you can supply spellout rules for languages that aren't shown
+    // here, we want to hear from you!
+    //========================================================================
+
+    /**
+     * Spellout rules for U.S. English.  This demonstration version of the
+     * U.S. English spellout rules has four variants: 1) %simplified is a
+     * set of rules showing the simple method of spelling out numbers in
+     * English: 289 is formatted as "two hundred eighty-nine".  2) %alt-teens
+     * is the same as %simplified, except that values between 1,000 and 9,999
+     * whose hundreds place isn't zero are formatted in hundreds.  For example,
+     * 1,983 is formatted as "nineteen hundred eighty-three," and 2,183 is
+     * formatted as "twenty-one hundred eighty-three," but 2,083 is still
+     * formatted as "two thousand eighty-three."  3) %ordinal formats the
+     * values as ordinal numbers in English (e.g., 289 is "two hundred eighty-
+     * ninth").  4) %default uses a more complicated algorithm to format
+     * numbers in a more natural way: 289 is formatted as "two hundred AND
+     * eighty-nine" and commas are inserted between the thousands groups for
+     * values above 100,000.
+     */
+    public static final String usEnglish =
+        // This rule set shows the normal simple formatting rules for English
+        "%simplified:\n"
+               // negative number rule.  This rule is used to format negative
+               // numbers.  The result of formatting the number's absolute
+               // value is placed where the >> is.
+        + "    -x: minus >>;\n"
+               // faction rule.  This rule is used for formatting numbers
+               // with fractional parts.  The result of formatting the
+               // number's integral part is substituted for the <<, and
+               // the result of formatting the number's fractional part
+               // (one digit at a time, e.g., 0.123 is "zero point one two
+               // three") replaces the >>.
+        + "    x.x: << point >>;\n"
+               // the rules for the values from 0 to 19 are simply the
+               // words for those numbers
+        + "    zero; one; two; three; four; five; six; seven; eight; nine;\n"
+        + "    ten; eleven; twelve; thirteen; fourteen; fifteen; sixteen;\n"
+        + "        seventeen; eighteen; nineteen;\n"
+               // beginning at 20, we use the >> to mark the position where
+               // the result of formatting the number's ones digit.  Thus,
+               // we only need a new rule at every multiple of 10.  Text in
+               // backets is omitted if the value being formatted is an
+               // even multiple of 10.
+        + "    20: twenty[->>];\n"
+        + "    30: thirty[->>];\n"
+        + "    40: forty[->>];\n"
+        + "    50: fifty[->>];\n"
+        + "    60: sixty[->>];\n"
+        + "    70: seventy[->>];\n"
+        + "    80: eighty[->>];\n"
+        + "    90: ninety[->>];\n"
+               // beginning at 100, we can use << to mark the position where
+               // the result of formatting the multiple of 100 is to be
+               // inserted.  Notice also that the meaning of >> has shifted:
+               // here, it refers to both the ones place and the tens place.
+               // The meanings of the << and >> tokens depend on the base value
+               // of the rule.  A rule's divisor is (usually) the highest
+               // power of 10 that is less than or equal to the rule's base
+               // value.  The value being formatted is divided by the rule's
+               // divisor, and the integral quotient is used to get the text
+               // for <<, while the remainder is used to produce the text
+               // for >>.  Again, text in brackets is omitted if the value
+               // being formatted is an even multiple of the rule's divisor
+               // (in this case, an even multiple of 100)
+        + "    100: << hundred[ >>];\n"
+               // The rules for the higher numbers work the same way as the
+               // rule for 100: Again, the << and >> tokens depend on the
+               // rule's divisor, which for all these rules is also the rule's
+               // base value.  To group by thousand, we simply don't have any
+               // rules between 1,000 and 1,000,000.
+        + "    1000: << thousand[ >>];\n"
+        + "    1,000,000: << million[ >>];\n"
+        + "    1,000,000,000: << billion[ >>];\n"
+        + "    1,000,000,000,000: << trillion[ >>];\n"
+               // overflow rule.  This rule specifies that values of a
+               // quadrillion or more are shown in numerals rather than words.
+               // The == token means to format (with new rules) the value
+               // being formatted by this rule and place the result where
+               // the == is.  The #,##0 inside the == signs is a
+               // DecimalFormat pattern.  It specifies that the value should
+               // be formatted with a DecimalFormat object, and that it
+               // should be formatted with no decimal places, at least one
+               // digit, and a thousands separator.
+        + "    1,000,000,000,000,000: =#,##0=;\n"
+
+        // This rule set formats numbers between 1,000 and 9,999 somewhat
+        // differently: If the hundreds digit is not zero, the first two
+        // digits are treated as a number of hundreds.  For example, 2,197
+        // would come out as "twenty-one hundred ninety-seven."
+        + "%alt-teens:\n"
+               // just use %simplified to format values below 1,000
+        + "    =%simplified=;\n"
+               // values between 1,000 and 9,999 are delegated to %%alt-hundreds
+               // for formatting.  The > after "1000" decreases the exponent
+               // of the rule's radix by one, causing the rule's divisor
+               // to be 100 instead of 1,000.  This causes the first TWO
+               // digits of the number, instead of just the first digit,
+               // to be sent to %%alt-hundreds
+        + "    1000>: <%%alt-hundreds<[ >>];\n"
+               // for values of 10,000 and more, we again just use %simplified
+        + "    10,000: =%simplified=;\n"
+        // This rule set uses some obscure voodoo of the description language
+        // to format the first two digits of a value in the thousands.
+        // The rule at 10 formats the first two digits as a multiple of 1,000
+        // and the rule at 11 formats the first two digits as a multiple of
+        // 100.  This works because of something known as the "rollback rule":
+        // if the rule applicable to the value being formatted has two
+        // substitutions, the value being formatted is an even multiple of
+        // the rule's divisor, and the rule's base value ISN'T an even multiple
+        // if the rule's divisor, then the rule that precedes this one in the
+        // list is used instead.  (The [] notation is implemented internally
+        // using this notation: a rule containing [] is split into two rules,
+        // and the right one is chosen using the rollback rule.) In this case,
+        // it means that if the first two digits are an even multiple of 10,
+        // they're formatted with the 10 rule (containing "thousand"), and if
+        // they're not, they're formatted with the 11 rule (containing
+        // "hundred").  %%empty is a hack to cause the rollback rule to be
+        // invoked: it makes the 11 rule have two substitutions, even though
+        // the second substitution (calling %%empty) doesn't actually do
+        // anything.
+        + "%%alt-hundreds:\n"
+        + "    0: SHOULD NEVER GET HERE!;\n"
+        + "    10: <%simplified< thousand;\n"
+        + "    11: =%simplified= hundred>%%empty>;\n"
+        + "%%empty:\n"
+        + "    0:;"
+
+        // this rule set is the same as %simplified, except that it formats
+        // the value as an ordinal number: 234 is formatted as "two hundred
+        // thirty-fourth".  Notice the calls to ^simplified: we have to
+        // call %simplified to avoid getting "second hundred thirty-fourth."
+        + "%ordinal:\n"
+        + "    zeroth; first; second; third; fourth; fifth; sixth; seventh;\n"
+        + "        eighth; ninth;\n"
+        + "    tenth; eleventh; twelfth; thirteenth; fourteenth;\n"
+        + "        fifteenth; sixteenth; seventeenth; eighteenth;\n"
+        + "        nineteenth;\n"
+        + "    twentieth; twenty->>;\n"
+        + "    30: thirtieth; thirty->>;\n"
+        + "    40: fortieth; forty->>;\n"
+        + "    50: fiftieth; fifty->>;\n"
+        + "    60: sixtieth; sixty->>;\n"
+        + "    70: seventieth; seventy->>;\n"
+        + "    80: eightieth; eighty->>;\n"
+        + "    90: ninetieth; ninety->>;\n"
+        + "    100: <%simplified< hundredth; <%simplified< hundred >>;\n"
+        + "    1000: <%simplified< thousandth; <%simplified< thousand >>;\n"
+        + "    1,000,000: <%simplified< millionth; <%simplified< million >>;\n"
+        + "    1,000,000,000: <%simplified< billionth;\n"
+        + "        <%simplified< billion >>;\n"
+        + "    1,000,000,000,000: <%simplified< trillionth;\n"
+        + "        <%simplified< trillion >>;\n"
+        + "    1,000,000,000,000,000: =#,##0=;"
+
+        // %default is a more elaborate form of %simplified;  It is basically
+        // the same, except that it introduces "and" before the ones digit
+        // when appropriate (basically, between the tens and ones digits) and
+        // separates the thousands groups with commas in values over 100,000.
+        + "%default:\n"
+               // negative-number and fraction rules.  These are the same
+               // as those for %simplified, but ave to be stated here too
+               // because this is an entry point
+        + "    -x: minus >>;\n"
+        + "    x.x: << point >>;\n"
+               // just use %simplified for values below 100
+        + "    =%simplified=;\n"
+               // for values from 100 to 9,999 use %%and to decide whether or
+               // not to interpose the "and"
+        + "    100: << hundred[ >%%and>];\n"
+        + "    1000: << thousand[ >%%and>];\n"
+               // for values of 100,000 and up, use %%commas to interpose the
+               // commas in the right places (and also to interpose the "and")
+        + "    100,000>>: << thousand[>%%commas>];\n"
+        + "    1,000,000: << million[>%%commas>];\n"
+        + "    1,000,000,000: << billion[>%%commas>];\n"
+        + "    1,000,000,000,000: << trillion[>%%commas>];\n"
+        + "    1,000,000,000,000,000: =#,##0=;\n"
+        // if the value passed to this rule set is greater than 100, don't
+        // add the "and"; if it's less than 100, add "and" before the last
+        // digits
+        + "%%and:\n"
+        + "    and =%default=;\n"
+        + "    100: =%default=;\n"
+        // this rule set is used to place the commas
+        + "%%commas:\n"
+               // for values below 100, add "and" (the apostrophe at the
+               // beginning is ignored, but causes the space that follows it
+               // to be significant: this is necessary because the rules
+               // calling %%commas don't put a space before it)
+        + "    ' and =%default=;\n"
+               // put a comma after the thousands (or whatever preceded the
+               // hundreds)
+        + "    100: , =%default=;\n"
+               // put a comma after the millions (or whatever precedes the
+               // thousands)
+        + "    1000: , <%default< thousand, >%default>;\n"
+               // and so on...
+        + "    1,000,000: , =%default=;"
+        // %%lenient-parse isn't really a set of number formatting rules;
+        // it's a set of collation rules.  Lenient-parse mode uses a Collator
+        // object to compare fragments of the text being parsed to the text
+        // in the rules, allowing more leeway in the matching text.  This set
+        // of rules tells the formatter to ignore commas when parsing (it
+        // already ignores spaces, which is why we refer to the space; it also
+        // ignores hyphens, making "twenty one" and "twenty-one" parse
+        // identically)
+        + "%%lenient-parse:\n"
+        + "    & ' ' , ',' ;\n";
+
+    /**
+     * Spellout rules for U.K. English.  U.K. English has one significant
+     * difference from U.S. English: the names for values of 1,000,000,000
+     * and higher.  In American English, each successive "-illion" is 1,000
+     * times greater than the preceding one: 1,000,000,000 is "one billion"
+     * and 1,000,000,000,000 is "one trillion."  In British English, each
+     * successive "-illion" is one million times greater than the one before:
+     * "one billion" is 1,000,000,000,000 (or what Americans would call a
+     * "trillion"), and "one trillion" is 1,000,000,000,000,000,000.
+     * 1,000,000,000 in British English is "one thousand million."  (This
+     * value is sometimes called a "milliard," but this word seems to have
+     * fallen into disuse.)
+     */
+    public static final String ukEnglish =
+        "%simplified:\n"
+        + "    -x: minus >>;\n"
+        + "    x.x: << point >>;\n"
+        + "    zero; one; two; three; four; five; six; seven; eight; nine;\n"
+        + "    ten; eleven; twelve; thirteen; fourteen; fifteen; sixteen;\n"
+        + "        seventeen; eighteen; nineteen;\n"
+        + "    20: twenty[->>];\n"
+        + "    30: thirty[->>];\n"
+        + "    40: forty[->>];\n"
+        + "    50: fifty[->>];\n"
+        + "    60: sixty[->>];\n"
+        + "    70: seventy[->>];\n"
+        + "    80: eighty[->>];\n"
+        + "    90: ninety[->>];\n"
+        + "    100: << hundred[ >>];\n"
+        + "    1000: << thousand[ >>];\n"
+        + "    1,000,000: << million[ >>];\n"
+        + "    1,000,000,000,000: << billion[ >>];\n"
+        + "    1,000,000,000,000,000: =#,##0=;\n"
+        + "%alt-teens:\n"
+        + "    =%simplified=;\n"
+        + "    1000>: <%%alt-hundreds<[ >>];\n"
+        + "    10,000: =%simplified=;\n"
+        + "    1,000,000: << million[ >%simplified>];\n"
+        + "    1,000,000,000,000: << billion[ >%simplified>];\n"
+        + "    1,000,000,000,000,000: =#,##0=;\n"
+        + "%%alt-hundreds:\n"
+        + "    0: SHOULD NEVER GET HERE!;\n"
+        + "    10: <%simplified< thousand;\n"
+        + "    11: =%simplified= hundred>%%empty>;\n"
+        + "%%empty:\n"
+        + "    0:;"
+        + "%ordinal:\n"
+        + "    zeroth; first; second; third; fourth; fifth; sixth; seventh;\n"
+        + "        eighth; ninth;\n"
+        + "    tenth; eleventh; twelfth; thirteenth; fourteenth;\n"
+        + "        fifteenth; sixteenth; seventeenth; eighteenth;\n"
+        + "        nineteenth;\n"
+        + "    twentieth; twenty->>;\n"
+        + "    30: thirtieth; thirty->>;\n"
+        + "    40: fortieth; forty->>;\n"
+        + "    50: fiftieth; fifty->>;\n"
+        + "    60: sixtieth; sixty->>;\n"
+        + "    70: seventieth; seventy->>;\n"
+        + "    80: eightieth; eighty->>;\n"
+        + "    90: ninetieth; ninety->>;\n"
+        + "    100: <%simplified< hundredth; <%simplified< hundred >>;\n"
+        + "    1000: <%simplified< thousandth; <%simplified< thousand >>;\n"
+        + "    1,000,000: <%simplified< millionth; <%simplified< million >>;\n"
+        + "    1,000,000,000,000: <%simplified< billionth;\n"
+        + "        <%simplified< billion >>;\n"
+        + "    1,000,000,000,000,000: =#,##0=;"
+        + "%default:\n"
+        + "    -x: minus >>;\n"
+        + "    x.x: << point >>;\n"
+        + "    =%simplified=;\n"
+        + "    100: << hundred[ >%%and>];\n"
+        + "    1000: << thousand[ >%%and>];\n"
+        + "    100,000>>: << thousand[>%%commas>];\n"
+        + "    1,000,000: << million[>%%commas>];\n"
+        + "    1,000,000,000,000: << billion[>%%commas>];\n"
+        + "    1,000,000,000,000,000: =#,##0=;\n"
+        + "%%and:\n"
+        + "    and =%default=;\n"
+        + "    100: =%default=;\n"
+        + "%%commas:\n"
+        + "    ' and =%default=;\n"
+        + "    100: , =%default=;\n"
+        + "    1000: , <%default< thousand, >%default>;\n"
+        + "    1,000,000: , =%default=;"
+        + "%%lenient-parse:\n"
+        + "    & ' ' , ',' ;\n";
+    // Could someone please correct me if I'm wrong about "milliard" falling
+    // into disuse, or have missed any other details of how large numbers
+    // are rendered.  Also, could someone please provide me with information
+    // on which other English-speaking countries use which system?  Right now,
+    // I'm assuming that the U.S. system is used in Canada and that all the
+    // other English-speaking countries follow the British system.  Can
+    // someone out there confirm this?
+
+    /**
+     * Spellout rules for Spanish.  The Spanish rules are quite similar to
+     * the English rules, but there are some important differences:
+     * First, we have to provide separate rules for most of the twenties
+     * because the ones digit frequently picks up an accent mark that it
+     * doesn't have when standing alone.  Second, each multiple of 100 has
+     * to be specified separately because the multiplier on 100 very often
+     * changes form in the contraction: 500 is "quinientos," not
+     * "cincocientos."  In addition, the word for 100 is "cien" when
+     * standing alone, but changes to "ciento" when followed by more digits.
+     * There also some other differences.
+     */
+    public static final String spanish =
+        // negative-number and fraction rules
+        "-x: menos >>;\n"
+        + "x.x: << punto >>;\n"
+        // words for values from 0 to 19
+        + "cero; uno; dos; tres; cuatro; cinco; seis; siete; ocho; nueve;\n"
+        + "diez; once; doce; trece; catorce; quince; diecis\u00e9is;\n"
+        + "    diecisiete; dieciocho; diecinueve;\n"
+        // words for values from 20 to 29 (necessary because the ones digit
+        // often picks up an accent mark it doesn't have when standing alone)
+        + "veinte; veintiuno; veintid\u00f3s; veintitr\u00e9s; veinticuatro;\n"
+        + "    veinticinco; veintis\u00e9is; veintisiete; veintiocho;\n"
+        + "    veintinueve;\n"
+        // words for multiples of 10 (notice that the tens digit is separated
+        // from the ones digit by the word "y".)
+        + "30: treinta[ y >>];\n"
+        + "40: cuarenta[ y >>];\n"
+        + "50: cincuenta[ y >>];\n"
+        + "60: sesenta[ y >>];\n"
+        + "70: setenta[ y >>];\n"
+        + "80: ochenta[ y >>];\n"
+        + "90: noventa[ y >>];\n"
+        // 100 by itself is "cien," but 100 followed by something is "cineto"
+        + "100: cien;\n"
+        + "101: ciento >>;\n"
+        // words for multiples of 100 (must be stated because they're
+        // rarely simple concatenations)
+        + "200: doscientos[ >>];\n"
+        + "300: trescientos[ >>];\n"
+        + "400: cuatrocientos[ >>];\n"
+        + "500: quinientos[ >>];\n"
+        + "600: seiscientos[ >>];\n"
+        + "700: setecientos[ >>];\n"
+        + "800: ochocientos[ >>];\n"
+        + "900: novecientos[ >>];\n"
+        // for 1,000, the multiplier on "mil" is omitted: 2,000 is "dos mil,"
+        // but 1,000 is just "mil."
+        + "1000: mil[ >>];\n"
+        + "2000: << mil[ >>];\n"
+        // 1,000,000 is "un millon," not "uno millon"
+        + "1,000,000: un mill\u00f3n[ >>];\n"
+        + "2,000,000: << mill\u00f3n[ >>];\n"
+        // overflow rule
+        + "1,000,000,000: =#,##0= (incomplete data);";
+    // The Spanish rules are incomplete.  I'm missing information on negative
+    // numbers and numbers with fractional parts.  I also don't have
+    // information on numbers higher than the millions
+
+    /**
+     * Spellout rules for French.  French adds some interesting quirks of its
+     * own: 1) The word "et" is interposed between the tens and ones digits,
+     * but only if the ones digit if 1: 20 is "vingt," and 2 is "vingt-deux,"
+     * but 21 is "vingt-et-un."  2)  There are no words for 70, 80, or 90.
+     * "quatre-vingts" ("four twenties") is used for 80, and values proceed
+     * by score from 60 to 99 (e.g., 73 is "soixante-treize" ["sixty-thirteen"]).
+     * Numbers from 1,100 to 1,199 are rendered as hundreds rather than
+     * thousands: 1,100 is "onze cents" ("eleven hundred"), rather than
+     * "mille cent" ("one thousand one hundred")
+     */
+    public static final String french =
+        // the main rule set
+        "%main:\n"
+               // negative-number and fraction rules
+        + "    -x: moins >>;\n"
+        + "    x.x: << virgule >>;\n"
+               // words for numbers from 0 to 10
+        + "    z\u00e9ro; un; deux; trois; quatre; cinq; six; sept; huit; neuf;\n"
+        + "    dix; onze; douze; treize; quatorze; quinze; seize;\n"
+        + "        dix-sept; dix-huit; dix-neuf;\n"
+               // ords for the multiples of 10: %%alt-ones inserts "et"
+               // when needed
+        + "    20: vingt[->%%alt-ones>];\n"
+        + "    30: trente[->%%alt-ones>];\n"
+        + "    40: quarante[->%%alt-ones>];\n"
+        + "    50: cinquante[->%%alt-ones>];\n"
+               // rule for 60.  The /20 causes this rule's multiplier to be
+               // 20 rather than 10, allowinhg us to recurse for all values
+               // from 60 to 79...
+        + "    60/20: soixante[->%%alt-ones>];\n"
+               // ...except for 71, which must be special-cased
+        + "    71: soixante et onze;\n"
+               // at 72, we have to repeat the rule for 60 to get us to 79
+        + "    72/20: soixante->%%alt-ones>;\n"
+               // at 80, we state a new rule with the phrase for 80.  Since
+               // it changes form when there's a ones digit, we need a second
+               // rule at 81.  This rule also includes "/20," allowing it to
+               // be used correctly for all values up to 99
+        + "    80: quatre-vingts; 81/20: quatre-vingt->>;\n"
+               // "cent" becomes plural when preceded by a multiplier, and
+               // the multiplier is omitted from the singular form
+        + "    100: cent[ >>];\n"
+        + "    200: << cents[ >>];\n"
+        + "    1000: mille[ >>];\n"
+               // values from 1,100 to 1,199 are rendered as "onze cents..."
+               // instead of "mille cent..."  The > after "1000" decreases
+               // the rule's exponent, causing its multiplier to be 100 instead
+               // of 1,000.  This prevents us from getting "onze cents cent
+               // vingt-deux" ("eleven hundred one hundred twenty-two").
+        + "    1100>: onze cents[ >>];\n"
+               // at 1,200, we go back to formating in thousands, so we
+               // repeat the rule for 1,000
+        + "    1200: mille >>;\n"
+               // at 2,000, the multiplier is added
+        + "    2000: << mille[ >>];\n"
+        + "    1,000,000: << million[ >>];\n"
+        + "    1,000,000,000: << milliarde[ >>];\n"
+        + "    1,000,000,000,000: << billion[ >>];\n"
+        + "    1,000,000,000,000,000: =#,##0=;\n"
+        // %%alt-ones is used to insert "et" when the ones digit is 1
+        + "%%alt-ones:\n"
+        + "    ; et-un; =%main=;";
+
+    /**
+     * Spellout rules for Swiss French.  Swiss French differs from French French
+     * in that it does have words for 70, 80, and 90.  This rule set shows them,
+     * and is simpler as a result.
+     */
+    public static final String swissFrench =
+        "%main:\n"
+        + "    -x: moins >>;\n"
+        + "    x.x: << virgule >>;\n"
+        + "    z\u00e9ro; un; deux; trois; quatre; cinq; six; sept; huit; neuf;\n"
+        + "    dix; onze; douze; treize; quatorze; quinze; seize;\n"
+        + "        dix-sept; dix-huit; dix-neuf;\n"
+        + "    20: vingt[->%%alt-ones>];\n"
+        + "    30: trente[->%%alt-ones>];\n"
+        + "    40: quarante[->%%alt-ones>];\n"
+        + "    50: cinquante[->%%alt-ones>];\n"
+        + "    60: soixante[->%%alt-ones>];\n"
+               // notice new words for 70, 80, and 90
+        + "    70: septante[->%%alt-ones>];\n"
+        + "    80: octante[->%%alt-ones>];\n"
+        + "    90: nonante[->%%alt-ones>];\n"
+        + "    100: cent[ >>];\n"
+        + "    200: << cents[ >>];\n"
+        + "    1000: mille[ >>];\n"
+        + "    1100>: onze cents[ >>];\n"
+        + "    1200: mille >>;\n"
+        + "    2000: << mille[ >>];\n"
+        + "    1,000,000: << million[ >>];\n"
+        + "    1,000,000,000: << milliarde[ >>];\n"
+        + "    1,000,000,000,000: << billion[ >>];\n"
+        + "    1,000,000,000,000,000: =#,##0=;\n"
+        + "%%alt-ones:\n"
+        + "    ; et-un; =%main=;";
+    // I'm not 100% sure about Swiss French.  Is
+    // this correct?  Is "onze cents" commonly used for 1,100 in both France
+    // and Switzerland?  Can someone fill me in on the rules for the other
+    // French-speaking countries?  I've heard conflicting opinions on which
+    // version is used in Canada, and I understand there's an alternate set
+    // of words for 70, 80, and 90 that is used somewhere, but I don't know
+    // what those words are or where they're used.
+
+    /**
+     * Spellout rules for German.  German also adds some interesting
+     * characteristics.  For values below 1,000,000, numbers are customarily
+     * written out as a single word.  And the ones digit PRECEDES the tens
+     * digit (e.g., 23 is "dreiundzwanzig," not "zwanzigunddrei").
+     */
+    public static final String german =
+        // 1 is "eins" when by itself, but turns into "ein" in most
+        // combinations
+        "%alt-ones:\n"
+        + "    null; eins; =%%main=;\n"
+        + "%%main:\n"
+               // words for numbers from 0 to 12.  Notice that the values
+               // from 13 to 19 can derived algorithmically, unlike in most
+               // other languages
+        + "    null; ein; zwei; drei; vier; f\u00fcnf; sechs; sieben; acht; neun;\n"
+        + "    zehn; elf; zw\u00f6lf; >>zehn;\n"
+               // rules for the multiples of 10.  Notice that the ones digit
+               // goes on the front
+        + "    20: [>>und]zwanzig;\n"
+        + "    30: [>>und]drei\u00dfig;\n"
+        + "    40: [>>und]vierzig;\n"
+        + "    50: [>>und]f\u00fcnfzig;\n"
+        + "    60: [>>und]sechzig;\n"
+        + "    70: [>>und]siebzig;\n"
+        + "    80: [>>und]achtzig;\n"
+        + "    90: [>>und]neunzig;\n"
+        + "    100: hundert[>%alt-ones>];\n"
+        + "    200: <<hundert[>%alt-ones>];\n"
+        + "    1000: tausend[>%alt-ones>];\n"
+        + "    2000: <<tausend[>%alt-ones>];\n"
+        + "    1,000,000: eine Million[ >%alt-ones>];\n"
+        + "    2,000,000: << Millionen[ >%alt-ones>];\n"
+        + "    1,000,000,000: eine Milliarde[ >%alt-ones>];\n"
+        + "    2,000,000,000: << Milliarden[ >%alt-ones>];\n"
+        + "    1,000,000,000,000: eine Billion[ >%alt-ones>];\n"
+        + "    2,000,000,000,000: << Billionen[ >%alt-ones>];\n"
+        + "    1,000,000,000,000,000: =#,##0=;";
+    // again, I'm not 100% sure of these rules.  I think both "hundert" and
+    // "einhundert" are correct or 100, but I'm not sure which is preferable
+    // in situations where this framework is likely to be used.  Also, is it
+    // really true that numbers are run together into compound words all the
+    // time?  And again, I'm missing information on negative numbers and
+    // decimals.
+
+    /**
+     * Spellout rules for Italian.  Like German, most Italian numbers are
+     * written as single words.  What makes these rules complicated is the rule
+     * that says that when a word ending in a vowel and a word beginning with
+     * a vowel are combined into a compound, the vowel is dropped from the
+     * end of the first word: 180 is "centottanta," not "centoottanta."
+     * The complexity of this rule set is to produce this behavior.
+     */
+    public static final String italian =
+        // main rule set.  Follows the patterns of the preceding rule sets,
+        // except that the final vowel is omitted from words ending in
+        // vowels when they are followed by another word; instead, we have
+        // separate rule sets that are identical to this one, except that
+        // all the words that don't begin with a vowel have a vowel tacked
+        // onto them at the front.  A word ending in a vowel calls a
+        // substitution that will supply that vowel, unless that vowel is to
+        // be elided.
+        "%main:\n"
+        + "    -x: meno >>;\n"
+        + "    x.x: << virgola >>;\n"
+        + "    zero; uno; due; tre; quattro; cinque; sei; sette; otto;\n"
+        + "        nove;\n"
+        + "    dieci; undici; dodici; tredici; quattordici; quindici; sedici;\n"
+        + "        diciasette; diciotto; diciannove;\n"
+        + "    20: venti; vent>%%with-i>;\n"
+        + "    30: trenta; trent>%%with-i>;\n"
+        + "    40: quaranta; quarant>%%with-a>;\n"
+        + "    50: cinquanta; cinquant>%%with-a>;\n"
+        + "    60: sessanta; sessant>%%with-a>;\n"
+        + "    70: settanta; settant>%%with-a>;\n"
+        + "    80: ottanta; ottant>%%with-a>;\n"
+        + "    90: novanta; novant>%%with-a>;\n"
+        + "    100: cento; cent[>%%with-o>];\n"
+        + "    200: <<cento; <<cent[>%%with-o>];\n"
+        + "    1000: mille; mill[>%%with-i>];\n"
+        + "    2000: <<mila; <<mil[>%%with-a>];\n"
+        + "    100,000>>: <<mila[ >>];\n"
+        + "    1,000,000: =#,##0= (incomplete data);\n"
+        + "%%with-a:\n"
+        + "    azero; uno; adue; atre; aquattro; acinque; asei; asette; otto;\n"
+        + "        anove;\n"
+        + "    adieci; undici; adodici; atredici; aquattordici; aquindici; asedici;\n"
+        + "        adiciasette; adiciotto; adiciannove;\n"
+        + "    20: aventi; avent>%%with-i>;\n"
+        + "    30: atrenta; atrent>%%with-i>;\n"
+        + "    40: aquaranta; aquarant>%%with-a>;\n"
+        + "    50: acinquanta; acinquant>%%with-a>;\n"
+        + "    60: asessanta; asessant>%%with-a>;\n"
+        + "    70: asettanta; asettant>%%with-a>;\n"
+        + "    80: ottanta; ottant>%%with-a>;\n"
+        + "    90: anovanta; anovant>%%with-a>;\n"
+        + "    100: acento; acent[>%%with-o>];\n"
+        + "    200: <%%with-a<cento; <%%with-a<cent[>%%with-o>];\n"
+        + "    1000: amille; amill[>%%with-i>];\n"
+        + "    2000: <%%with-a<mila; <%%with-a<mil[>%%with-a>];\n"
+        + "    100,000: =%main=;\n"
+        + "%%with-i:\n"
+        + "    izero; uno; idue; itre; iquattro; icinque; isei; isette; otto;\n"
+        + "        inove;\n"
+        + "    idieci; undici; idodici; itredici; iquattordici; iquindici; isedici;\n"
+        + "        idiciasette; idiciotto; idiciannove;\n"
+        + "    20: iventi; ivent>%%with-i>;\n"
+        + "    30: itrenta; itrent>%%with-i>;\n"
+        + "    40: iquaranta; iquarant>%%with-a>;\n"
+        + "    50: icinquanta; icinquant>%%with-a>;\n"
+        + "    60: isessanta; isessant>%%with-a>;\n"
+        + "    70: isettanta; isettant>%%with-a>;\n"
+        + "    80: ottanta; ottant>%%with-a>;\n"
+        + "    90: inovanta; inovant>%%with-a>;\n"
+        + "    100: icento; icent[>%%with-o>];\n"
+        + "    200: <%%with-i<cento; <%%with-i<cent[>%%with-o>];\n"
+        + "    1000: imille; imill[>%%with-i>];\n"
+        + "    2000: <%%with-i<mila; <%%with-i<mil[>%%with-a>];\n"
+        + "    100,000: =%main=;\n"
+        + "%%with-o:\n"
+        + "    ozero; uno; odue; otre; oquattro; ocinque; osei; osette; otto;\n"
+        + "        onove;\n"
+        + "    odieci; undici; ododici; otredici; oquattordici; oquindici; osedici;\n"
+        + "        odiciasette; odiciotto; odiciannove;\n"
+        + "    20: oventi; ovent>%%with-i>;\n"
+        + "    30: otrenta; otrent>%%with-i>;\n"
+        + "    40: oquaranta; oquarant>%%with-a>;\n"
+        + "    50: ocinquanta; ocinquant>%%with-a>;\n"
+        + "    60: osessanta; osessant>%%with-a>;\n"
+        + "    70: osettanta; osettant>%%with-a>;\n"
+        + "    80: ottanta; ottant>%%with-a>;\n"
+        + "    90: onovanta; onovant>%%with-a>;\n"
+        + "    100: ocento; ocent[>%%with-o>];\n"
+        + "    200: <%%with-o<cento; <%%with-o<cent[>%%with-o>];\n"
+        + "    1000: omille; omill[>%%with-i>];\n"
+        + "    2000: <%%with-o<mila; <%%with-o<mil[>%%with-a>];\n"
+        + "    100,000: =%main=;\n";
+    // Can someone confirm that I did the vowel-eliding thing right?  I'm
+    // not 100% sure I'm doing it in all the right places, or completely
+    // correctly.  Also, I don't have information for negatives and decimals,
+    // and I lack words fror values from 1,000,000 on up.
+
+    /**
+     * Spellout rules for Swedish.
+     */
+    public static final String swedish =
+        "noll; ett; tv\u00e5; tre; fyra; fem; sex; sjo; \u00e5tta; nio;\n"
+        + "tio; elva; tolv; tretton; fjorton; femton; sexton; sjutton; arton; nitton;\n"
+        + "20: tjugo[>>];\n"
+        + "30: trettio[>>];\n"
+        + "40: fyrtio[>>];\n"
+        + "50: femtio[>>];\n"
+        + "60: sextio[>>];\n"
+        + "70: sjuttio[>>];\n"
+        + "80: \u00e5ttio[>>];\n"
+        + "90: nittio[>>];\n"
+        + "100: hundra[>>];\n"
+        + "200: <<hundra[>>];\n"
+        + "1000: tusen[ >>];\n"
+        + "2000: << tusen[ >>];\n"
+        + "1,000,000: en miljon[ >>];\n"
+        + "2,000,000: << miljon[ >>];\n"
+        + "1,000,000,000: en miljard[ >>];\n"
+        + "2,000,000,000: << miljard[ >>];\n"
+        + "1,000,000,000,000: en biljon[ >>];\n"
+        + "2,000,000,000,000: << biljon[ >>];\n"
+        + "1,000,000,000,000,000: =#,##0=";
+    // can someone supply me with information on negatives and decimals?
+
+    /**
+     * Spellout rules for Dutch.  Notice that in Dutch, as in German,
+     * the ones digit precedes the tens digit.
+     */
+    public static final String dutch =
+        " -x: min >>;\n"
+        + "x.x: << komma >>;\n"
+        + "(zero?); een; twee; drie; vier; vijf; zes; zeven; acht; negen;\n"
+        + "tien; elf; twaalf; dertien; veertien; vijftien; zestien;\n"
+        + "zeventien; achtien; negentien;\n"
+        + "20: [>> en ]twintig;\n"
+        + "30: [>> en ]dertig;\n"
+        + "40: [>> en ]veertig;\n"
+        + "50: [>> en ]vijftig;\n"
+        + "60: [>> en ]zestig;\n"
+        + "70: [>> en ]zeventig;\n"
+        + "80: [>> en ]tachtig;\n"
+        + "90: [>> en ]negentig;\n"
+        + "100: << honderd[ >>];\n"
+        + "1000: << duizend[ >>];\n"
+        + "1,000,000: << miljoen[ >>];\n"
+        + "1,000,000,000: << biljoen[ >>];\n"
+        + "1,000,000,000,000: =#,##0=";
+
+    /**
+     * Spellout rules for Japanese.  In Japanese, there really isn't any
+     * distinction between a number written out in digits and a number
+     * written out in words: the ideographic characters are both digits
+     * and words.  This rule set provides two variants:  %traditional
+     * uses the traditional CJK numerals (which are also used in China
+     * and Korea).  %financial uses alternate ideographs for many numbers
+     * that are harder to alter than the traditional numerals (one could
+     * fairly easily change a one to
+     * a three just by adding two strokes, for example).  This is also done in
+     * the other countries using Chinese idographs, but different ideographs
+     * are used in those places.
+     */
+    public static final String japanese =
+        "%financial:\n"
+        + "    \u96f6; \u58f1; \u5f10; \u53c2; \u56db; \u4f0d; \u516d; \u4e03; \u516b; \u4e5d;\n"
+        + "    \u62fe[>>];\n"
+        + "    20: <<\u62fe[>>];\n"
+        + "    100: <<\u767e[>>];\n"
+        + "    1000: <<\u5343[>>];\n"
+        + "    10,000: <<\u4e07[>>];\n"
+        + "    100,000,000: <<\u5104[>>];\n"
+        + "    1,000,000,000,000: <<\u5146[>>];\n"
+        + "    10,000,000,000,000,000: =#,##0=;\n"
+        + "%traditional:\n"
+        + "    \u96f6; \u4e00; \u4e8c; \u4e09; \u56db; \u4e94; \u516d; \u4e03; \u516b; \u4e5d;\n"
+        + "    \u5341[>>];\n"
+        + "    20: <<\u5341[>>];\n"
+        + "    100: <<\u767e[>>];\n"
+        + "    1000: <<\u5343[>>];\n"
+        + "    10,000: <<\u4e07[>>];\n"
+        + "    100,000,000: <<\u5104[>>];\n"
+        + "    1,000,000,000,000: <<\u5146[>>];\n"
+        + "    10,000,000,000,000,000: =#,##0=;";
+    // Can someone supply me with the right fraud-proof ideographs for
+    // Simplified and Traditional Chinese, and for Korean?  Can someone
+    // supply me with information on negatives and decimals?
+
+    /**
+     * Spellout rules for Greek.  Again in Greek we have to supply the words
+     * for the multiples of 100 because they can't be derived algorithmically.
+     * Also, the tens dgit changes form when followed by a ones digit: an
+     * accent mark disappears from the tens digit and moves to the ones digit.
+     * Therefore, instead of using the [] notation, we actually have to use
+     * two separate rules for each multiple of 10 to show the two forms of
+     * the word.
+     */
+    public static final String greek =
+        "zero (incomplete data); \u03ad\u03bd\u03b1; \u03b4\u03cd\u03bf; \u03b4\u03c1\u03af\u03b1; "
+        + "\u03c4\u03ad\u03c3\u03c3\u03b5\u03c1\u03b1; \u03c0\u03ad\u03bd\u03c4\u03b5; "
+        + "\u03ad\u03be\u03b9; \u03b5\u03c0\u03c4\u03ac; \u03bf\u03ba\u03c4\u03ce; "
+        + "\u03b5\u03bd\u03bd\u03ad\u03b1;\n"
+        + "10: \u03b4\u03ad\u03ba\u03b1; "
+        + "\u03ad\u03bd\u03b4\u03b5\u03ba\u03b1; \u03b4\u03ce\u03b4\u03b5\u03ba\u03b1; "
+        + "\u03b4\u03b5\u03ba\u03b1>>;\n"
+        + "20: \u03b5\u03af\u03ba\u03bf\u03c3\u03b9; \u03b5\u03b9\u03ba\u03bf\u03c3\u03b9>>;\n"
+        + "30: \u03c4\u03c1\u03b9\u03ac\u03bd\u03c4\u03b1; \u03c4\u03c1\u03b9\u03b1\u03bd\u03c4\u03b1>>;\n"
+        + "40: \u03c3\u03b1\u03c1\u03ac\u03bd\u03c4\u03b1; \u03c3\u03b1\u03c1\u03b1\u03bd\u03c4\u03b1>>;\n"
+        + "50: \u03c0\u03b5\u03bd\u03ae\u03bd\u03c4\u03b1; \u03c0\u03b5\u03bd\u03b7\u03bd\u03c4\u03b1>>;\n"
+        + "60: \u03b5\u03be\u03ae\u03bd\u03c4\u03b1; \u03b5\u03be\u03b7\u03bd\u03c4\u03b1>>;\n"
+        + "70: \u03b5\u03b2\u03b4\u03bf\u03bc\u03ae\u03bd\u03c4\u03b1; "
+        + "\u03b5\u03b2\u03b4\u03bf\u03bc\u03b7\u03bd\u03c4\u03b1>>;\n"
+        + "80: \u03bf\u03b3\u03b4\u03cc\u03bd\u03c4\u03b1; \u03bf\u03b3\u03b4\u03bf\u03bd\u03c4\u03b1>>;\n"
+        + "90: \u03b5\u03bd\u03bd\u03b5\u03bd\u03ae\u03bd\u03c4\u03b1; "
+        + "\u03b5\u03bd\u03bd\u03b5\u03bd\u03b7\u03bd\u03c4\u03b1>>;\n"
+        + "100: \u03b5\u03ba\u03b1\u03c4\u03cc[\u03bd >>];\n"
+        + "200: \u03b4\u03b9\u03b1\u03ba\u03cc\u03c3\u03b9\u03b1[ >>];\n"
+        + "300: \u03c4\u03c1\u03b9\u03b1\u03ba\u03cc\u03c3\u03b9\u03b1[ >>];\n"
+        + "400: \u03c4\u03b5\u03c4\u03c1\u03b1\u03ba\u03cc\u03c3\u03b9\u03b1[ >>];\n"
+        + "500: \u03c0\u03b5\u03bd\u03c4\u03b1\u03ba\u03cc\u03c3\u03b9\u03b1[ >>];\n"
+        + "600: \u03b5\u03be\u03b1\u03ba\u03cc\u03c3\u03b9\u03b1[ >>];\n"
+        + "700: \u03b5\u03c0\u03c4\u03b1\u03ba\u03cc\u03c3\u03b9\u03b1[ >>];\n"
+        + "800: \u03bf\u03ba\u03c4\u03b1\u03ba\u03cc\u03c3\u03b9\u03b1[ >>];\n"
+        + "900: \u03b5\u03bd\u03bd\u03b9\u03b1\u03ba\u03cc\u03c3\u03b9\u03b1[ >>];\n"
+        + "1000: \u03c7\u03af\u03bb\u03b9\u03b1[ >>];\n"
+        + "2000: << \u03c7\u03af\u03bb\u03b9\u03b1[ >>];\n"
+        + "1,000,000: << \u03b5\u03ba\u03b1\u03c4\u03bf\u03bc\u03bc\u03b9\u03cc\u03c1\u03b9\u03bf[ >>];\n"
+        + "1,000,000,000: << \u03b4\u03b9\u03c3\u03b5\u03ba\u03b1\u03c4\u03bf\u03bc\u03bc\u03b9\u03cc\u03c1\u03b9\u03bf[ >>];\n"
+        + "1,000,000,000,000: =#,##0=";
+    // Can someone supply me with information on negatives and decimals?
+    // I'm also missing the word for zero.  Can someone clue me in?
+
+    /**
+     * Spellout rules for Russian.
+     */
+    public static final String russian =
+        "\u043d\u043e\u043b\u044c; \u043e\u0434\u0438\u043d; \u0434\u0432\u0430; \u0442\u0440\u0438; "
+        + "\u0447\u0435\u0442\u044b\u0440\u0435; \u043f\u044f\u0442; \u0448\u0435\u0441\u0442; "
+        + "\u0441\u0435\u043c\u044c; \u0432\u043e\u0441\u0435\u043c\u044c; \u0434\u0435\u0432\u044f\u0442;\n"
+        + "10: \u0434\u0435\u0441\u044f\u0442; "
+        + "\u043e\u0434\u0438\u043d\u043d\u0430\u0434\u0446\u0430\u0442\u044c;\n"
+        + "\u0434\u0432\u0435\u043d\u043d\u0430\u0434\u0446\u0430\u0442\u044c; "
+        + "\u0442\u0440\u0438\u043d\u0430\u0434\u0446\u0430\u0442\u044c; "
+        + "\u0447\u0435\u0442\u044b\u0440\u043d\u0430\u0434\u0446\u0430\u0442\u044c;\n"
+        + "15: \u043f\u044f\u0442\u043d\u0430\u0434\u0446\u0430\u0442\u044c; "
+        + "\u0448\u0435\u0441\u0442\u043d\u0430\u0434\u0446\u0430\u0442\u044c; "
+        + "\u0441\u0435\u043c\u043d\u0430\u0434\u0446\u0430\u0442\u044c; "
+        + "\u0432\u043e\u0441\u0435\u043c\u043d\u0430\u0434\u0446\u0430\u0442\u044c; "
+        + "\u0434\u0435\u0432\u044f\u0442\u043d\u0430\u0434\u0446\u0430\u0442\u044c;\n"
+        + "20: \u0434\u0432\u0430\u0434\u0446\u0430\u0442\u044c[ >>];\n"
+        + "30: \u0442\u0440\u043b\u0434\u0446\u0430\u0442\u044c[ >>];\n"
+        + "40: \u0441\u043e\u0440\u043e\u043a[ >>];\n"
+        + "50: \u043f\u044f\u0442\u044c\u0434\u0435\u0441\u044f\u0442[ >>];\n"
+        + "60: \u0448\u0435\u0441\u0442\u044c\u0434\u0435\u0441\u044f\u0442[ >>];\n"
+        + "70: \u0441\u0435\u043c\u044c\u0434\u0435\u0441\u044f\u0442[ >>];\n"
+        + "80: \u0432\u043e\u0441\u0435\u043c\u044c\u0434\u0435\u0441\u044f\u0442[ >>];\n"
+        + "90: \u0434\u0435\u0432\u044f\u043d\u043e\u0441\u0442\u043e[ >>];\n"
+        + "100: \u0441\u0442\u043e[ >>];\n"
+        + "200: << \u0441\u0442\u043e[ >>];\n"
+        + "1000: \u0442\u044b\u0441\u044f\u0447\u0430[ >>];\n"
+        + "2000: << \u0442\u044b\u0441\u044f\u0447\u0430[ >>];\n"
+        + "1,000,000: \u043c\u0438\u043b\u043b\u0438\u043e\u043d[ >>];\n"
+        + "2,000,000: << \u043c\u0438\u043b\u043b\u0438\u043e\u043d[ >>];\n"
+        + "1,000,000,000: =#,##0=;";
+    // Can someone supply me with information on negatives and decimals?
+    // How about words for billions and trillions?
+
+    /**
+     * Spellout rules for Hebrew.  Hebrew actually has inflected forms for
+     * most of the lower-order numbers.  The masculine forms are shown
+     * here.
+     */
+    public static final String hebrew =
+        "zero (incomplete data); \u05d0\u05d4\u05d3; \u05e9\u05d2\u05d9\u05d9\u05dd; \u05e9\u05dc\u05d5\u05e9\u05d4;\n"
+        + "4: \u05d0\u05d3\u05d1\u05e6\u05d4; \u05d7\u05d2\u05d5\u05d9\u05e9\u05d4; \u05e9\u05e9\u05d4;\n"
+        + "7: \u05e9\u05d1\u05e6\u05d4; \u05e9\u05de\u05d5\u05d2\u05d4; \u05ea\u05e9\u05e6\u05d4;\n"
+        + "10: \u05e6\u05e9\u05d3\u05d4[ >>];\n"
+        + "20: \u05e6\u05e9\u05d3\u05d9\u05dd[ >>];\n"
+        + "30: \u05e9\u05dc\u05d5\u05e9\u05d9\u05dd[ >>];\n"
+        + "40: \u05d0\u05d3\u05d1\u05e6\u05d9\u05dd[ >>];\n"
+        + "50: \u05d7\u05de\u05d9\u05e9\u05d9\u05dd[ >>];\n"
+        + "60: \u05e9\u05e9\u05d9\u05dd[ >>];\n"
+        + "70: \u05e9\u05d1\u05e6\u05d9\u05dd[ >>];\n"
+        + "80: \u05e9\u05de\u05d5\u05d2\u05d9\u05dd[ >>];\n"
+        + "90: \u05ea\u05e9\u05e6\u05d9\u05dd[ >>];\n"
+        + "100: \u05de\u05d0\u05d4[ >>];\n"
+        + "200: << \u05de\u05d0\u05d4[ >>];\n"
+        + "1000: \u05d0\u05dc\u05e3[ >>];\n"
+        + "2000: << \u05d0\u05dc\u05e3[ >>];\n"
+        + "1,000,000: =#,##0= (incomplete data);";
+    // This data is woefully incomplete.  Can someone fill me in on the
+    // various inflected forms of the numbers, which seem to be necessary
+    // to do Hebrew correctly?  Can somone supply me with data for values
+    // from 1,000,000 on up?  What about the word for zero?  What about
+    // information on negatives and decimals?
+
+    //========================================================================
+    // Simple examples
+    //========================================================================
+
+    /**
+     * This rule set adds an English ordinal abbreviation to the end of a
+     * number.  For example, 2 is formatted as "2nd".  Parsing doesn't work with
+     * this rule set.  To parse, use DecimalFormat on the numeral.
+     */
+    public static final String ordinal =
+        // this rule set formats the numeral and calls %%abbrev to
+        // supply the abbreviation
+        "%main:\n"
+        + "    =#,##0==%%abbrev=;\n"
+        // this rule set supplies the abbreviation
+        + "%%abbrev:\n"
+               // the abbreviations.  Everything from 4 to 19 ends in "th"
+        + "    th; st; nd; rd; th;\n"
+               // at 20, we begin repeating the cycle every 10 (13 is "13th",
+               // but 23 and 33 are "23rd" and "33rd")  We do this by
+               // ignoring all bug the ones digit in selecting the abbreviation
+        + "    20: >>;\n"
+               // at 100, we repeat the whole cycle by considering only the
+               // tens and ones digits in picking an abbreviation
+        + "    100: >>;\n";
+
+    /**
+     * This is a simple message-formatting example.  Normally one would
+     * use ChoiceFormat and MessageFormat to do something this simple,
+     * but this shows it could be done with RuleBasedNumberFormat too.
+     * A message-formatting example that might work better with
+     * RuleBasedNumberFormat appears later.
+     */
+    public static final String message1 =
+        // this rule surrounds whatever the other rules produce with the
+        // rest of the sentence
+        "x.0: The search found <<.;\n"
+        // use words for values below 10 (and change to "file" for 1)
+        + "no files; one file; two files; three files; four files; five files;\n"
+        + "    six files; seven files; eight files; nine files;\n"
+        // use numerals for values higher than 10
+        + "=#,##0= files;";
+
+    //========================================================================
+    // Fraction handling
+    //
+    // The next few examples show how RuleBasedNumberFormat can be used for
+    // more flexible handling of fractions
+    //========================================================================
+
+    /**
+     * This example formats a number in one of the two styles often used
+     * on checks.  %dollars-and-hundredths formats cents as hundredths of
+     * a dollar (23.40 comes out as "twenty-three and 40/100 dollars").
+     * %dollars-and-cents formats in dollars and cents (23.40 comes out as
+     * "twenty-three dollars and forty cents")
+     */
+    public static final String dollarsAndCents =
+        // this rule set formats numbers as dollars and cents
+        "%dollars-and-cents:\n"
+               // if the value is 1 or more, put "xx dollars and yy cents".
+               // the "and y cents" part is suppressed if the value is an
+               // even number of dollars
+        + "    x.0: << [and >%%cents>];\n"
+               // if the value is between 0 and 1, put "xx cents"
+        + "    0.x: >%%cents>;\n"
+               // these three rules take care of the singular and plural
+               // forms of "dollar" and use %%main to format the number
+        + "    0: zero dollars; one dollar; =%%main= dollars;\n"
+        // these are the regular U.S. English number spellout rules
+        + "%%main:\n"
+        + "    zero; one; two; three; four; five; six; seven; eight; nine;\n"
+        + "    ten; eleven; twelve; thirteen; fourteen; fifteen; sixteen;\n"
+        + "        seventeen; eighteen; nineteen;\n"
+        + "    20: twenty[->>];\n"
+        + "    30: thirty[->>];\n"
+        + "    40: forty[->>];\n"
+        + "    50: fifty[->>];\n"
+        + "    60: sixty[->>];\n"
+        + "    70: seventy[->>];\n"
+        + "    80: eighty[->>];\n"
+        + "    90: ninety[->>];\n"
+        + "    100: << hundred[ >>];\n"
+        + "    1000: << thousand[ >>];\n"
+        + "    1,000,000: << million[ >>];\n"
+        + "    1,000,000,000: << billion[ >>];\n"
+        + "    1,000,000,000,000: << trillion[ >>];\n"
+        + "    1,000,000,000,000,000: =#,##0=;\n"
+        // this rule takes care of the fractional part of the value.  It
+        // multiplies the fractional part of the number being formatted by
+        // 100, formats it with %%main, and then addes the word "cent" or
+        // "cents" to the end.  (The text in brackets is omitted if the
+        // numerator of the fraction is 1.)
+        + "%%cents:\n"
+        + "    100: <%%main< cent[s];\n"
+
+        // this rule set formats numbers as dollars and hundredths of dollars
+        + "%dollars-and-hundredths:\n"
+               // this rule takes care of the general shell of the output
+               // string.  We always show the cents, even when there aren't
+               // any.  Because of this, the word is always "dollars"--
+               // we don't have to worry about the singular form.  We use
+               // %%main to format the number of dollars and %%hundredths to
+               // format the number of cents
+        + "    x.0: <%%main< and >%%hundredths>/100 dollars;\n"
+        // this rule set formats the cents for %dollars-and-hundredths.
+        // It multiplies the fractional part of the number by 100 and formats
+        // the result using a DecimalFormat ("00" tells the DecimalFormat to
+        // always use two digits, even for numbers under 10)
+        + "%%hundredths:\n"
+        + "    100: <00<;\n";
+
+    /**
+     * This rule set shows the fractional part of the number as a fraction
+     * with a power of 10 as the denominator.  Some languages don't spell
+     * out the fractional part of a number as "point one two three," but
+     * always render it as a fraction.  If we still want to treat the fractional
+     * part of the number as a decimal, then the fraction's denominator
+     * is always a power of 10.  This example does that: 23.125 is formatted
+     * as "twenty-three and one hundred twenty-five thousandths" (as opposed
+     * to "twenty-three point one two five" or "twenty-three and one eighth").
+     */
+    public static final String decimalAsFraction =
+        // the regular U.S. English spellout rules, with one difference
+        "%main:\n"
+        + "    -x: minus >>;\n"
+               // the difference.  This rule uses %%frac to show the fractional
+               // part of the number.  Text in brackets is omitted when the
+               // value is between 0 and 1 (causing 0.3 to come out as "three
+               // tenths" instead of "zero and three tenths").
+        + "    x.x: [<< and ]>%%frac>;\n"
+        + "    zero; one; two; three; four; five; six; seven; eight; nine;\n"
+        + "    ten; eleven; twelve; thirteen; fourteen; fifteen; sixteen;\n"
+        + "        seventeen; eighteen; nineteen;\n"
+        + "    twenty[->>];\n"
+        + "    30: thirty[->>];\n"
+        + "    40: forty[->>];\n"
+        + "    50: fifty[->>];\n"
+        + "    60: sixty[->>];\n"
+        + "    70: seventy[->>];\n"
+        + "    80: eighty[->>];\n"
+        + "    90: ninety[->>];\n"
+        + "    100: << hundred[ >>];\n"
+        + "    1000: << thousand[ >>];\n"
+        + "    1,000,000: << million[ >>];\n"
+        + "    1,000,000,000: << billion[ >>];\n"
+        + "    1,000,000,000,000: << trillion[ >>];\n"
+        + "    1,000,000,000,000,000: =#,##0=;\n"
+        // the rule set that formats the fractional part of the number.
+        // The rule that is used is the one that, when its baase value is
+        // multiplied by the fractional part of the number being formatted,
+        // produces the result closest to zero.  Thus, the base values are
+        // prospective denominators of the fraction.  The << marks the place
+        // where the numerator of the fraction (the result of multiplying the
+        // fractional part of the number by the rule's base value) is
+        // placed.  Text in brackets is omitted when the numerator is 1, giving
+        // us the singular and plural forms of the words.
+        // [In languages where the singular and plural are completely different
+        // words, the rule can just be stated twice: the second time with
+        // the plural form.]
+        + "%%frac:\n"
+        + "    10: << tenth[s];\n"
+        + "    100: << hundredth[s];\n"
+        + "    1000: << thousandth[s];\n"
+        + "    10,000: << ten-thousandth[s];\n"
+        + "    100,000: << hundred-thousandth[s];\n"
+        + "    1,000,000: << millionth[s];";
+
+    /**
+     * Number with closest fraction.  This example formats a value using
+     * numerals, but shows the fractional part as a ratio (fraction) rather
+     * than a decimal.  The fraction always has a denominator between 2 and 10.
+     */
+    public static final String closestFraction =
+        "%main:\n"
+               // this rule formats the number if it's 1 or more.  It formats
+               // the integral part using a DecimalFormat ("#,##0" puts
+               // thousands separators in the right places) and the fractional
+               // part using %%frac.  If there is no fractional part, it
+               // just shows the integral part.
+        + "    x.0: <#,##0<[ >%%frac>];\n"
+               // this rule formats the number if it's between 0 and 1.  It
+               // shows only the fractional part (0.5 shows up as "1/2," not
+               // "0 1/2")
+        + "    0.x: >%%frac>;\n"
+        // the fraction rule set.  This works the same way as the one in the
+        // preceding example: We multiply the fractional part of the number
+        // being formatted by each rule's base value and use the rule that
+        // produces the result closest to 0 (or the first rule that produces 0).
+        // Since we only provide rules for the numbers from 2 to 10, we know
+        // we'll get a fraction with a denominator between 2 and 10.
+        // "<0<" causes the numerator of the fraction to be formatted
+        // using numerals
+        + "%%frac:\n"
+        + "    2: 1/2;\n"
+        + "    3: <0</3;\n"
+        + "    4: <0</4;\n"
+        + "    5: <0</5;\n"
+        + "    6: <0</6;\n"
+        + "    7: <0</7;\n"
+        + "    8: <0</8;\n"
+        + "    9: <0</9;\n"
+        + "    10: <0</10;\n";
+
+    /**
+     * American stock-price formatting.  Non-integral stock prices are still
+     * generally shown in eighths or sixteenths of dollars instead of dollars
+     * and cents.  This example formats stock prices in this way if possible,
+     * and in dollars and cents if not.
+     */
+    public static final String stock =
+        "%main:\n"
+               // this rule formats the integral part of the number in numerals
+               // and (if necessary) the fractional part using %%frac1
+        + "    x.0: <#,##0<[>%%frac1>];\n"
+               // this rule is used for values between 0 and 1 and omits the
+               // integral part
+        + "    0.x: >%%frac2>;\n"
+        // this rule set is used to format the fractional part of the number when
+        // there's an integral part before it (again, we try all denominators
+        // and use the "best" one)
+        + "%%frac1:\n"
+               // for even multiples of 1/4, format the fraction using the
+               // typographer's fractions
+        + "    4: <%%quarters<;\n"
+               // format the value as a number of eighths, sixteenths, or
+               // thirty-seconds, whichever produces the most accurate value.
+               // The apostrophe at the front of these rules is ignored, but
+               // it makes the space that follows it significant.  This puts a
+               // space between the value's integral and fractional parts so
+               // you can read it
+        + "    8: ' <0</8;\n"
+        + "    16: ' <0</16;\n"
+        + "    32: ' <0</32;\n"
+               // if we can't reasonably format the number in powers of 2,
+               // then show it as dollars and cents
+        + "    100: .<00<;\n"
+        // this rule set is used when the fractional part of the value stands
+        // alone
+        + "%%frac2:\n"
+        + "    4: <%%quarters<;\n"
+               // for fractions that we can't show using typographer's fractions,
+               // we don't have to put a space before the fraction
+        + "    8: <0</8;\n"
+        + "    16: <0</16;\n"
+        + "    32: <0</32;\n"
+               // but dollars and cents look better with a leading 0
+        + "    100: 0.<00<;\n"
+        // this rule set formats 1/4, 1/2, and 3/4 using typographer's fractions
+        + "%%quarters:\n"
+        + "    ; \u00bc; \u00bd; \u00be;\n"
+        // there are the lenient-parse rules.  These allow the user to type
+        // "1/4," "1/2," and "3/4" instead of their typographical counterparts
+        // and still have them be understood by the formatter
+        + "%%lenient-parse:\n"
+        + "    & '1/4' , \u00bc\n"
+        + "    & '1/2' , \u00bd\n"
+        + "    & '3/4' , \u00be\n;";
+
+    //========================================================================
+    // Changing dimensions
+    //
+    // The next few examples demonstrate using a RuleBasedNumberFormat to
+    // change the units a value is denominated in depending on its magnitude
+    //========================================================================
+
+    /**
+     * The example shows large numbers the way they often appear is nwespapers:
+     * 1,200,000 is formatted as "1.2 million".
+     */
+    public static final String abbEnglish =
+        "=#,##0=;\n"
+        // this is fairly self-explanatory, but note that the << substitution
+        // can show the fractional part of the substitution value if the user
+        // wants it
+        + "1,000,000: <##0.###< million;\n"
+        + "1,000,000,000: <##0.###< billion;\n"
+        + "1,000,000,000,000: <##0.###< trillion;\n";
+
+    /**
+     * This example takes a number of meters and formats it in whatever unit
+     * will produce a number with from one to three digits before the decimal
+     * point.  For example, 230,000 is formatted as "230 km".
+     */
+    public static final String units =
+        "%main:\n"
+               // for values between 0 and 1, delegate to %%small
+        + "    0.x: >%%small>;\n"
+               // otherwise, show between 3 and 6 significant digits of the value
+               // along with the most appropriate unit
+        + "    0: =##0.###= m;\n"
+        + "    1,000: <##0.###< km;\n"
+        + "    1,000,000: <##0.###< Mm;\n"
+        + "    1,000,000,000: <##0.###< Gm;\n"
+        + "    1,000,000,000,000: <#,##0.###< Tm;\n"
+        // %%small formats the number when it's less then 1.  It multiplies the
+        // value by one billion, and then uses %%small2 to actually do the
+        // formatting.
+        + "%%small:\n"
+        + "    1,000,000,000,000: <%%small2<;\n"
+        // this rule set actually formats small values.  %%small passes this
+        // rule set a number of picometers, and it takes care of scaling up as
+        // appropriate in exactly the same way %main does (we can't normally
+        // handle fractional values this way: here, we're concerned about
+        // magnitude; most of the time, we're concerned about precsion)
+        + "%%small2:\n"
+        + "    0: =##0= pm;\n"
+        + "    1,000: <##0.###< nm;\n"
+        + "    1,000,000: <##0.###< \u00b5m;\n"
+        + "    1,000,000,000: <##0.###< mm;\n";
+
+    /**
+     * A more complicated message-formatting example.  Here, in addition to
+     * handling the singular and plural versions of the word, the value is
+     * denominated in bytes, kilobytes, or megabytes depending on its magnitude.
+     * Also notice that it correctly treats a kilobyte as 1,024 bytes (not 1,000),
+     * and a megabyte as 1,024 kilobytes (not 1,000).
+     */
+    public static final String message2 =
+        // this rule supplies the shell of the sentence
+        "x.0: There << free space on the disk.;\n"
+        // handle singular and plural forms of "byte" (and format 0 as
+        // "There is no free space...")
+        + "0: is no;\n"
+        + "is one byte of;\n"
+        + "are =0= bytes of;\n"
+        // for values above 1,024, format the number in K (since "K" is usually
+        // promounced "K" regardless of whether it's singular or plural, we
+        // don't worry about the plural form).  The "/1024" here causes us to
+        // treat a K as 1,024 bytes rather than 1,000 bytes.
+        + "1024/1024: is <0<K of;\n"
+        // for values about 1,048,576, format the number in Mb.  Since "Mb" is
+        // usually promounced "meg" in singular and "megs" in plural, we do have
+        // both singular and plural forms.  Again, notice we treat a megabyte
+        // as 1,024 kilobytes.
+        + "1,048,576/1024: is 1 Mb of;\n"
+        + "2,097,152/1024: are <0< Mb of;";
+
+    //========================================================================
+    // Alternate radices
+    //========================================================================
+
+    /**
+     * This example formats a number in dozens and gross.  This is intended to
+     * demonstrate how this rule set can be used to format numbers in systems
+     * other than base 10.  The "/12" after the rules' base values controls this.
+     * Also notice that the base doesn't have to be consistent throughout the
+     * whole rule set: we go back to base 10 for values over 1,000.
+     */
+    public static final String dozens =
+        // words for numbers...
+        "zero; one; two; three; four; five; six;\n"
+        + "seven; eight; nine; ten; eleven;\n"
+        // format values over 12 in dozens
+        + "12/12: << dozen[ and >>];\n"
+        // format values over 144 in gross
+        + "144/12: << gross[, >>];\n"
+        // format values over 1,000 in thousands
+        + "1000: << thousand[, >>];\n"
+        // overflow rule.  Format values over 10,000 in numerals
+        + "10,000: =#,##0=;\n";
+
+    //========================================================================
+    // Major and minor units
+    //
+    // These examples show how a single value can be divided up into major
+    // and minor units that don't relate to each other by a factor of 10.
+    //========================================================================
+
+    /**
+     * This example formats a number of seconds in sexagesimal notation
+     * (i.e., hours, minutes, and seconds).  %with-words formats it with
+     * words (3740 is "1 hour, 2 minutes, 20 seconds") and %in-numerals
+     * formats it entirely in numerals (3740 is "1:02:20").
+     */
+    public static final String durationInSeconds =
+        // main rule set for formatting with words
+        "%with-words:\n"
+               // take care of singular and plural forms of "second"
+        + "    0 seconds; 1 second; =0= seconds;\n"
+               // use %%min to format values greater than 60 seconds
+        + "    60/60: <%%min<[, >>];\n"
+               // use %%hr to format values greater than 3,600 seconds
+               // (the ">>>" below causes us to see the number of minutes
+               // when when there are zero minutes)
+        + "    3600/60: <%%hr<[, >>>];\n"
+        // this rule set takes care of the singular and plural forms
+        // of "minute"
+        + "%%min:\n"
+        + "    0 minutes; 1 minute; =0= minutes;\n"
+        // this rule set takes care of the singular and plural forms
+        // of "hour"
+        + "%%hr:\n"
+        + "    0 hours; 1 hour; =0= hours;\n"
+
+        // main rule set for formatting in numerals
+        + "%in-numerals:\n"
+               // values below 60 seconds are shown with "sec."
+        + "    =0= sec.;\n"
+               // higher values are shown with colons: %%min-sec is used for
+               // values below 3,600 seconds...
+        + "    60: =%%min-sec=;\n"
+               // ...and %%hr-min-sec is used for values of 3,600 seconds
+               // and above
+        + "    3600: =%%hr-min-sec=;\n"
+        // this rule causes values of less than 10 minutes to show without
+        // a leading zero
+        + "%%min-sec:\n"
+        + "    0: :=00=;\n"
+        + "    60/60: <0<>>;\n"
+        // this rule set is used for values of 3,600 or more.  Minutes are always
+        // shown, and always shown with two digits
+        + "%%hr-min-sec:\n"
+        + "    0: :=00=;\n"
+        + "    60/60: <00<>>;\n"
+        + "    3600/60: <#,##0<:>>>;\n"
+        // the lenient-parse rules allow several different characters to be used
+        // as delimiters between hours, minutes, and seconds
+        + "%%lenient-parse:\n"
+        + "    & : = . = ' ' = -;\n";
+
+    /**
+     * This example formats a number of hours in sexagesimal notation (i.e.,
+     * hours, minutes, and seconds).  %with-words formats the value using
+     * words for the units, and %in-numerals formats the value using only
+     * numerals.
+     */
+    public static final String durationInHours =
+        // main entry point for formatting with words
+        "%with-words:\n"
+               // this rule omits minutes and seconds when the value is
+               // an even number of hours
+        + "    x.0: <<[, >%%min-sec>];\n"
+               // these rules take care of the singular and plural forms
+               // of hours
+        + "    0 hours; 1 hour; =#,##0= hours;\n"
+        // this rule set takes the fractional part of the number and multiplies
+        // it by 3,600 (turning it into a number of seconds).  Then it delegates
+        // to %%min-sec-implementation to format the resulting value
+        + "%%min-sec:\n"
+        + "    3600: =%%min-sec-implementation=;\n"
+        // this rule set formats the seconds as either seconds or minutes and
+        // seconds, and takes care of the singular and plural forms of
+        // "minute" and "second"
+        + "%%min-sec-implementation:\n"
+        + "    0 seconds; 1 second; =0= seconds;\n"
+        + "    60/60: 1 minute[, >>];\n"
+        + "    120/60: <0< minutes[, >>];\n"
+
+        // main entry point for formatting in numerals
+        + "%in-numerals:\n"
+               // show minutes even for even numbers of hours
+        + "    x.0: <#,##0<:00;\n"
+               // delegate to %%min-sec2 to format minutes and seconds
+        + "    x.x: <#,##0<:>%%min-sec2>;\n"
+        // this rule set formats minutes when there is an even number of
+        // minutes, and delegates to %%min-sec2-implementation when there
+        // are seconds
+        + "%%min-sec2:\n"
+        + "    60: <00<;\n"
+        + "    3600: <%%min-sec2-implementation<;\n"
+        // these two rule sets are used to format the minutes and seconds
+        + "%%min-sec2-implementation:\n"
+               // if there are fewer than 60 seconds, show the minutes anyway
+        + "    0: 00:=00=;\n"
+               // if there are minutes, format them too, and always use 2 digits
+               // for both minutes and seconds
+        + "    60: =%%min-sec3=;\n"
+        + "%%min-sec3:\n"
+        + "    0: :=00=;\n"
+        + "    60/60: <00<>>;\n"
+        // the lenient-parse rules allow the user to use any of several
+        // characters as delimiters between hours, minutes, and seconds
+        + "%%lenient-parse:\n"
+        + "    & : = . = ' ' = -;\n";
+
+    /**
+     * This rule set formats a number of pounds as pounds, shillings, and
+     * pence in the old English system of currency.
+     */
+    public static final String poundsShillingsAndPence =
+        // for values of 1 or more, format the integral part with a pound
+        // sign in front, and show shillings and pence if necessary
+        "%main:\n"
+        + "    x.0: \u00a3<#,##0<[ >%%shillings-and-pence>];\n"
+        // for values between 0 and 1, omit the number of pounds
+        + "    0.x: >%%pence-alone>;\n"
+        // this rule set is used to show shillings and pence.  It multiplies
+        // the fractional part of the number by 240 (the number of pence in a
+        // pound) and uses %%shillings-and-pence-implementation to format
+        // the result
+        + "%%shillings-and-pence:\n"
+        + "    240: <%%shillings-and-pence-implementation<;\n"
+        // this rule set is used to show shillings and pence when there are
+        // no pounds.  It also multiplies the value by 240, and then it uses
+        // %%pence-alone-implementation to format the result.
+        + "%%pence-alone:\n"
+        + "    240: <%%pence-alone-implementation<;\n"
+        // this rule set formats a number of pence when we know we also
+        // have pounds.  We always show shillings (with a 0 if necessary),
+        // but only show pence if the value isn't an even number of shillings
+        + "%%shillings-and-pence-implementation:\n"
+        + "    0/; 0/=0=;\n"
+        + "    12/12: <0</[>0>];\n"
+        // this rule set formats a number of pence when we know there are
+        // no pounds.  Values less than a shilling are shown with "d." (the
+        // abbreviation for pence), and values greater than a shilling are
+        // shown with a shilling bar (and without pence when the value is
+        // an even number of shillings)
+        + "%%pence-alone-implementation:\n"
+        + "    =0= d.;\n"
+        + "    12/12: <0</[>0>];\n";
+
+    //========================================================================
+    // Alternate numeration systems
+    //
+    // These examples show how RuleBasedNumberFormat can be used to format
+    // numbers using non-positional numeration systems.
+    //========================================================================
+
+    /**
+     * Arabic digits.  This example formats numbers in Arabic numerals.
+     * Normally, you'd do this with DecimalFormat, but this shows that
+     * RuleBasedNumberFormat can handle it too.
+     */
+    public static final String arabicNumerals =
+        "0; 1; 2; 3; 4; 5; 6; 7; 8; 9;\n"
+        + "10: <<>>;\n"
+        + "100: <<>>>;\n"
+        + "1000: <<,>>>;\n"
+        + "1,000,000: <<,>>>;\n"
+        + "1,000,000,000: <<,>>>;\n"
+        + "1,000,000,000,000: <<,>>>;\n"
+        + "1,000,000,000,000,000: =#,##0=;\n"
+        + "-x: ->>;\n"
+        + "x.x: <<.>>;";
+
+    /**
+     * Words for digits.  Follows the same pattern as the Arabic-numerals
+     * example above, but uses words for the various digits (e.g., 123 comes
+     * out as "one two three").
+     */
+    public static final String wordsForDigits =
+        "-x: minus >>;\n"
+        + "x.x: << point >>;\n"
+        + "zero; one; two; three; four; five; six;\n"
+        + "    seven; eight; nine;\n"
+        + "10: << >>;\n"
+        + "100: << >>>;\n"
+        + "1000: <<, >>>;\n"
+        + "1,000,000: <<, >>>;\n"
+        + "1,000,000,000: <<, >>>;\n"
+        + "1,000,000,000,000: <<, >>>;\n"
+        + "1,000,000,000,000,000: =#,##0=;\n";
+
+    /**
+     * This example formats numbers using Chinese characters in the Arabic
+     * place-value method.  This was used historically in China for a while.
+     */
+    public static final String chinesePlaceValue =
+        "\u3007; \u4e00; \u4e8c; \u4e09; \u56db; \u4e94; \u516d; \u4e03; \u516b; \u4e5d;\n"
+        + "10: <<>>;\n"
+        + "100: <<>>>;\n"
+        + "1000: <<>>>;\n"
+        + "1,000,000: <<>>>;\n"
+        + "1,000,000,000: <<>>>;\n"
+        + "1,000,000,000,000: <<>>>;\n"
+        + "1,000,000,000,000,000: =#,##0=;\n";
+
+    /**
+     * Roman numerals.  This example has two variants: %modern shows how large
+     * numbers are usually handled today; %historical ses the older symbols for
+     * thousands.
+     */
+    public static final String romanNumerals =
+        "%historical:\n"
+        + "    =%modern=;\n"
+               // in early Roman numerals, 1,000 was shown with a circle
+               // bisected by a vertical line.  Additional thousands were
+               // shown by adding more concentric circles, and fives were
+               // shown by cutting the symbol for next-higher power of 10
+               // in half (the letter D for 500 evolved from this).
+               // We could go beyond 40,000, but Unicode doesn't encode
+               // the symbols for higher numbers/
+        + "    1000: \u2180[>>]; 2000: \u2180\u2180[>>]; 3000: \u2180\u2180\u2180[>>]; 4000: \u2180\u2181[>>];\n"
+        + "    5000: \u2181[>>]; 6000: \u2181\u2180[>>]; 7000: \u2181\u2180\u2180[>>];\n"
+        + "    8000: \u2181\u2180\u2180\u2180[>>]; 9000: \u2180\u2182[>>];\n"
+        + "    10,000: \u2182[>>]; 20,000: \u2182\u2182[>>]; 30,000: \u2182\u2182\u2182[>>];\n"
+        + "    40,000: =#,##0=;\n"
+        + "%modern:\n"
+        + "    ; I; II; III; IV; V; VI; VII; VIII; IX;\n"
+        + "    10: X[>>]; 20: XX[>>]; 30: XXX[>>]; 40: XL[>>]; 50: L[>>];\n"
+        + "    60: LX[>>]; 70: LXX[>>]; 80: LXXX[>>]; 90: XC[>>];\n"
+        + "    100: C[>>]; 200: CC[>>]; 300: CCC[>>]; 400: CD[>>]; 500: D[>>];\n"
+        + "    600: DC[>>]; 700: DCC[>>]; 800: DCCC[>>]; 900: CM[>>];\n"
+               // in modern Roman numerals, high numbers are generally shown
+               // by placing a bar over the letters for the lower numbers:
+               // the bar multiplied a letter's value by 1,000
+        + "    1000: M[>>]; 2000: MM[>>]; 3000: MMM[>>]; 4000: MV\u0306[>>];\n"
+        + "    5000: V\u0306[>>]; 6000: V\u0306M[>>]; 7000: V\u0306MM[>>];\n"
+        + "    8000: V\u0306MMM[>>]; 9000: MX\u0306[>>];\n"
+        + "    10,000: X\u0306[>>]; 20,000: X\u0306X\u0306[>>]; 30,000: X\u0306X\u0306X\u0306[>>];\n"
+        + "    40,000: X\u0306L\u0306[>>]; 50,000: L\u0306[>>]; 60,000: L\u0306X\u0306[>>];\n"
+        + "    70,000: L\u0306X\u0306X\u0306[>>]; 80,000: L\u0306X\u0306X\u0306X\u0306[>>];\n"
+        + "    90,000: X\u0306C\u0306[>>];\n"
+        + "    100,000: C\u0306[>>]; 200,000: C\u0306C\u0306[>>]; 300,000: C\u0306C\u0306[>>];\n"
+        + "    400,000: C\u0306D\u0306[>>]; 500,000: D\u0306[>>]; 600,000: D\u0306C\u0306[>>];\n"
+        + "    700,000: D\u0306C\u0306C\u0306[>>]; 800,000: D\u0306C\u0306C\u0306C\u0306[>>];\n"
+        + "    900,000: =#,##0=;\n";
+
+    /**
+     * Hebrew alphabetic numerals.  Before adoption of Arabic numerals, Hebrew speakers
+     * used the letter of their alphabet as numerals.  The first nine letters of
+     * the alphabet repesented the values from 1 to 9, the second nine letters the
+     * multiples of 10, and the remaining letters the multiples of 100.  Since they
+     * ran out of letters at 400, the remaining multiples of 100 were represented
+     * using combinations of the existing letters for the hundreds.  Numbers were
+     * distinguished from words in a number of different ways: the way shown here
+     * uses a single mark after a number consisting of one letter, and a double
+     * mark between the last two letters of a number consisting of two or more
+     * letters.  Two dots over a letter multiplied its value by 1,000.  Also, since
+     * the letter for 10 is the first letter of God's name and the letters for 5 and 6
+     * are letters in God's name, which wasn't supposed to be written or spoken, 15 and
+     * 16 were usually written as 9 + 6 and 9 + 7 instead of 10 + 5 and 10 + 6.
+     */
+    public static final String hebrewAlphabetic =
+        // letters for the ones
+        "%%ones:\n"
+        + "    (no zero); \u05d0; \u05d1; \u05d2; \u05d3; \u05d4; \u05d5; \u05d6; \u05d7; \u05d8;\n"
+        // letters for the tens
+        + "%%tens:\n"
+        + "    ; \u05d9; \u05db; \u05dc; \u05de; \u05e0; \u05e1; \u05e2; \u05e4; \u05e6;\n"
+        // letters for the first four hundreds
+        + "%%hundreds:\n"
+        + "    ; \u05e7; \u05e8; \u05e9; \u05ea;\n"
+        // this rule set is used to write the combination of the tens and ones digits
+        // when we know that no other digits precede them: they put the numeral marks
+        // in the right place and properly handle 15 and 16 (I'm using the mathematical
+        // prime characters for the numeral marks because my Unicode font doesn't
+        // include the real Hebrew characters, which look just like the prime marks)
+        + "%%tens-and-ones:\n"
+               // for values less than 10, just use %%ones and put the numeral mark
+               // afterward
+        + "    =%%ones=\u2032;\n"
+               // put the numeral mark at the end for 10, but in the middle for
+               // 11 through 14
+        + "    10: <%%tens<\u2032; <%%tens<\u2033>%%ones>;\n"
+               // special-case 15 and 16
+        + "    15: \u05d8\u2033\u05d5; 16: \u05d8\u2033\u05d6;\n"
+               // go back to the normal method at 17
+        + "    17: <%%tens<\u2033>%%ones>;\n"
+               // repeat the rules for 10 and 11 to cover the values from 20 to 99
+        + "    20: <%%tens<\u2032; <%%tens<\u2033>%%ones>;\n"
+        // this rule set is used to format numbers below 1,000.  It relies on
+        // %%tens-and-ones to format the tens and ones places, and adds logic
+        // to handle the high hundreds and the numeral marks when there is no
+        // tens digit.  Notice how the rules are paired: all of these pairs of
+        // rules take advantage of the rollback rule: if the value (between 100
+        // and 499) is an even multiple of 100, the rule for 100 is used; otherwise,
+        // the rule for 101 (the following rule) is used.  The first rule in each
+        // pair (the one for the even multiple) places the numeral mark in a different
+        // spot than the second rule in each pair (which knows there are more digits
+        // and relies on the rule supplying them to also supply the numeral mark).
+        // The call to %%null in line 10 is there simply to invoke the rollback
+        // rule.
+        + "%%low-order:\n"
+               // this rule is only called when there are other characters before.
+               // It places the numeral mark before the last digit
+        + "    \u2033=%%ones=;\n"
+               // the rule for 10 places the numeral mark before the 10 character
+               // (because we know it's the last character); the rule for 11 relies
+               // on %%tens-and-ones to place the numeral mark
+        + "    10: \u2033<%%tens<; =%%tens-and-ones=>%%null>;\n"
+               // the rule for 100 places the numeral mark before the 100 character
+               // (we know it's the last character); the rule for 101 recurses to
+               // fill in the remaining digits and the numeral mark
+        + "    100: <%%hundreds<\u2032; <%%hundreds<>>;\n"
+               // special-case the hundreds from 500 to 900 because they consist of
+               // more than one character
+        + "    500: \u05ea\u2033\u05e7; \u05ea\u05e7>>;\n"
+        + "    600: \u05ea\u2033\u05e8; \u05ea\u05e8>>;\n"
+        + "    700: \u05ea\u2033\u05e9; \u05ea\u05e9>>;\n"
+        + "    800: \u05ea\u2033\u05ea; \u05ea\u05ea>>;\n"
+        + "    900: \u05ea\u05ea\u2033\u05e7; \u05ea\u05ea\u05e7>>;\n"
+        // this rule set is used to format values of 1,000 or more.  Here, we don't
+        // worry about the numeral mark, and we add two dots (the Unicode combining
+        // diaeresis character) to ever letter
+        + "%%high-order:\n"
+               // put the ones digit, followed by the diaeresis
+        + "    =%%ones=\u0308;\n"
+               // the tens can be handled with recursion
+        + "    10: <%%tens<\u0308[>>];\n"
+               // still have to special-case 15 and 16
+        + "    15: \u05d8\u0308\u05d5\u0308; 16: \u05d8\u003078\u05d6\u0308;\n"
+               // back to the regular rules at 17
+        + "    17: <%%tens<\u0308[>>];\n"
+               // the hundreds with the dots added (and without worrying about
+               // placing the numeral mark)
+        + "    100: <%%hundreds<\u0308[>>];\n"
+        + "    500: \u05ea\u0308\u05e7\u0308[>>];\n"
+        + "    600: \u05ea\u0308\u05e8\u0308[>>];\n"
+        + "    700: \u05ea\u0308\u05e9\u0308[>>];\n"
+        + "    800: \u05ea\u0308\u05ea\u0308[>>];\n"
+        + "    900: \u05ea\u0308\u05ea\u0308\u05e7\u0308[>>];\n"
+        // this rule set doesn't do anything; it's used by some other rules to
+        // invoke the rollback rule
+        + " %%null:\n"
+        + "    ;\n"
+        // the main rule set.
+        + "%main:\n"
+               // for values below 10, just output the letter and the numeral mark
+        + "    =%%ones=\u2032;\n"
+               // for values from 10 to 99, use %%tens-and-ones to do the formatting
+        + "    10: =%%tens-and-ones=;\n"
+               // for values from 100 to 999, use %%low-order to do the formatting
+        + "    100: =%%low-order=;\n"
+               // for values of 1,000 and over, use %%high-order to do the formatting
+        + "    1000: <%%high-order<[>%%low-order>];\n";
+
+    /**
+     * Greek alphabetic numerals.  The Greeks, before adopting the Arabic numerals,
+     * also used the letters of their alphabet as numerals.  There are three now-
+     * obsolete Greek letters that are used as numerals; many fonts don't have them.
+     * Large numbers were handled many different ways; the way shown here divides
+     * large numbers into groups of four letters (factors of 10,000), and separates
+     * the groups with the capital letter mu (for myriad).  Capital letters are used
+     * for values below 10,000; small letters for higher numbers (to make the capital
+     * mu stand out).
+     */
+    public static final String greekAlphabetic =
+        // this rule set is used for formatting numbers below 10,000.  It uses
+        // capital letters.
+        "%%low-order:\n"
+        + "    (no zero); \u0391; \u0392; \u0393; \u0394; \u0395; \u03dc; \u0396; \u0397; \u0398;\n"
+        + "    10: \u0399[>>]; 20: \u039a[>>]; 30: \u039b[>>]; 40: \u039c[>>]; 50: \u039d[>>];\n"
+        + "    60: \u039e[>>]; 70: \u039f[>>]; 80: \u03a0[>>]; 90: \u03de[>>];\n"
+        + "    100: \u03a1[>>]; 200: \u03a3[>>]; 300: \u03a4[>>]; 400: \u03a5[>>];\n"
+        + "    500: \u03a6[>>]; 600: \u03a7[>>]; 700: \u03a8[>>]; 800: \u03a9[>>];\n"
+        + "    900: \u03e0[>>];\n"
+               // the thousands are represented by the same numbers as the ones, but
+               // with a comma-like mark added to their left shoulder
+        + "    1000: \u0391\u0313[>>]; 2000: \u0392\u0313[>>]; 3000: \u0393\u0313[>>];\n"
+        + "    4000: \u0394\u0313[>>]; 5000: \u0395\u0313[>>]; 6000: \u03dc\u0313[>>];\n"
+        + "    7000: \u0396\u0313[>>]; 8000: \u0397\u0313[>>]; 9000: \u0398\u0313[>>];\n"
+        // this rule set is the same as above, but uses lowercase letters.  It is used
+        // for formatting the groups in numbers above 10,000.
+        + "%%high-order:\n"
+        + "    (no zero); \u03b1; \u03b2; \u03b3; \u03b4; \u03b5; \u03dc; \u03b6; \u03b7; \u03b8;\n"
+        + "    10: \u03b9[>>]; 20: \u03ba[>>]; 30: \u03bb[>>]; 40: \u03bc[>>]; 50: \u03bd[>>];\n"
+        + "    60: \u03be[>>]; 70: \u03bf[>>]; 80: \u03c0[>>]; 90: \u03de[>>];\n"
+        + "    100: \u03c1[>>]; 200: \u03c3[>>]; 300: \u03c4[>>]; 400: \u03c5[>>];\n"
+        + "    500: \u03c6[>>]; 600: \u03c7[>>]; 700: \u03c8[>>]; 800: \u03c9[>>];\n"
+        + "    900: \u03c0[>>];\n"
+        + "    1000: \u03b1\u0313[>>]; 2000: \u03b2\u0313[>>]; 3000: \u03b3\u0313[>>];\n"
+        + "    4000: \u03b4\u0313[>>]; 5000: \u03b5\u0313[>>]; 6000: \u03dc\u0313[>>];\n"
+        + "    7000: \u03b6\u0313[>>]; 8000: \u03b7\u0313[>>]; 9000: \u03b8\u0313[>>];\n"
+        // the main rule set
+        + "%main:\n"
+               // for values below 10,000, just use %%low-order
+        + "    =%%low-order=;\n"
+               // for values above 10,000, split into two groups of four digits
+               // and format each with %%high-order (putting an M in betwen)
+        + "    10,000: <%%high-order<\u039c>%%high-order>;\n"
+               // for values above 100,000,000, add another group onto the front
+               // and another M
+        + "    100,000,000: <%%high-order<\u039c>>\n";
+
+    /**
+     * A list of all the sample rule sets, used by the demo program.
+     */
+    public static final String[] sampleRuleSets =
+        { usEnglish,
+          ukEnglish,
+          spanish,
+          french,
+          swissFrench,
+          german,
+          italian,
+          swedish,
+          dutch,
+          japanese,
+          greek,
+          russian,
+          hebrew,
+          ordinal,
+          message1,
+          dollarsAndCents,
+          decimalAsFraction,
+          closestFraction,
+          stock,
+          abbEnglish,
+          units,
+          message2,
+          dozens,
+          durationInSeconds,
+          durationInHours,
+          poundsShillingsAndPence,
+          arabicNumerals,
+          wordsForDigits,
+          chinesePlaceValue,
+          romanNumerals,
+          hebrewAlphabetic,
+          greekAlphabetic };
+
+    /**
+     * The displayable names for all the sample rule sets, in the same order as
+     * the preceding array.
+     */
+    public static final String[] sampleRuleSetNames =
+        { "English (US)",
+          "English (UK)",
+          "Spanish",
+          "French (France)",
+          "French (Switzerland)",
+          "German",
+          "Italian",
+          "Swedish",
+          "Dutch",
+          "Japanese",
+          "Greek",
+          "Russian",
+          "Hebrew",
+          "English ordinal abbreviations",
+          "Simple message formatting",
+          "Dollars and cents",
+          "Decimals as fractions",
+          "Closest fraction",
+          "Stock prices",
+          "Abbreviated US English",
+          "Changing dimensions",
+          "Complex message formatting",
+          "Dozens",
+          "Duration (value in seconds)",
+          "Duration (value in hours)",
+          "Pounds, shillings, and pence",
+          "Arabic numerals",
+          "Words for digits",
+          "Chinese place-value notation",
+          "Roman numerals",
+          "Hebrew ahlphabetic numerals",
+          "Greek alphabetic numerals" };
+
+    /**
+     * The base locale for each of the sample rule sets.  The locale is used to
+     * determine DecimalFormat behavior, lenient-parse behavior, and text-display
+     * selection (we have a hack in here to allow display of non-Latin scripts).
+     * Null means the locale setting is irrelevant and the default can be used.
+     */
+    public static final Locale[] sampleRuleSetLocales =
+        { Locale.US,
+          Locale.UK,
+          new Locale("es", "", ""),
+          Locale.FRANCE,
+          new Locale("fr", "CH", ""),
+          Locale.GERMAN,
+          Locale.ITALIAN,
+          new Locale("sv", "", ""),
+          new Locale("nl", "", ""),
+          Locale.JAPANESE,
+          new Locale("el", "", ""),
+          new Locale("ru", "", ""),
+          new Locale("iw", "", ""),
+          Locale.ENGLISH,
+          Locale.ENGLISH,
+          Locale.US,
+          Locale.ENGLISH,
+          null,
+          null,
+          Locale.ENGLISH,
+          null,
+          Locale.ENGLISH,
+          Locale.ENGLISH,
+          null,
+          null,
+          Locale.UK,
+          null,
+          Locale.ENGLISH,
+          new Locale("zh", "", ""),
+          null,
+          new Locale("iw", "", ""),
+          new Locale("el", "", ""),
+          null };
+
+        public static final String[] sampleRuleSetCommentary = {
+            "This demonstration version of the "
+            + "U.S. English spellout rules has four variants: 1) %simplified is a "
+            + "set of rules showing the simple method of spelling out numbers in "
+            + "English: 289 is formatted as \"two hundred eighty-nine\".  2) %alt-teens "
+            + "is the same as %simplified, except that values between 1,000 and 9,999 "
+            + "whose hundreds place isn't zero are formatted in hundreds.  For example, "
+            + "1,983 is formatted as \"nineteen hundred eighty-three,\" and 2,183 is "
+            + "formatted as \"twenty-one hundred eighty-three,\" but 2,083 is still "
+            + "formatted as \"two thousand eighty-three.\"  3) %ordinal formats the "
+            + "values as ordinal numbers in English (e.g., 289 is \"two hundred eighty-"
+            + "ninth\").  4) %default uses a more complicated algorithm to format "
+            + "numbers in a more natural way: 289 is formatted as \"two hundred AND "
+            + "eighty-nine\" and commas are inserted between the thousands groups for "
+            + "values above 100,000.",
+
+            "U.K. English has one significant "
+            + "difference from U.S. English: the names for values of 1,000,000,000 "
+            + "and higher.  In American English, each successive \"-illion\" is 1,000 "
+            + "times greater than the preceding one: 1,000,000,000 is \"one billion\" "
+            + "and 1,000,000,000,000 is \"one trillion.\"  In British English, each "
+            + "successive \"-illion\" is one million times greater than the one before: "
+            + "\"one billion\" is 1,000,000,000,000 (or what Americans would call a "
+            + "\"trillion\"), and \"one trillion\" is 1,000,000,000,000,000,000.  "
+            + "1,000,000,000 in British English is \"one thousand million.\"  (This "
+            + "value is sometimes called a \"milliard,\" but this word seems to have "
+            + "fallen into disuse.)",
+
+            "The Spanish rules are quite similar to "
+            + "the English rules, but there are some important differences: "
+            + "First, we have to provide separate rules for most of the twenties "
+            + "because the ones digit frequently picks up an accent mark that it "
+            + "doesn't have when standing alone.  Second, each multiple of 100 has "
+            + "to be specified separately because the multiplier on 100 very often "
+            + "changes form in the contraction: 500 is \"quinientos,\" not "
+            + "\"cincocientos.\"  In addition, the word for 100 is \"cien\" when "
+            + "standing alone, but changes to \"ciento\" when followed by more digits.  "
+            + "There also some other differences.",
+
+            "French adds some interesting quirks of its "
+            + "own: 1) The word \"et\" is interposed between the tens and ones digits, "
+            + "but only if the ones digit if 1: 20 is \"vingt,\" and 2 is \"vingt-deux,\" "
+            + "but 21 is \"vingt-et-un.\"  2)  There are no words for 70, 80, or 90.  "
+            + "\"quatre-vingts\" (\"four twenties\") is used for 80, and values proceed "
+            + "by score from 60 to 99 (e.g., 73 is \"soixante-treize\" [\"sixty-thirteen\"]).  "
+            + "Numbers from 1,100 to 1,199 are rendered as hundreds rather than "
+            + "thousands: 1,100 is \"onze cents\" (\"eleven hundred\"), rather than "
+            + "\"mille cent\" (\"one thousand one hundred\")",
+
+            "Swiss French differs from French French "
+            + "in that it does have words for 70, 80, and 90.  This rule set shows them, "
+            + "and is simpler as a result.",
+
+            "German also adds some interesting "
+            + "characteristics.  For values below 1,000,000, numbers are customarily "
+            + "written out as a single word.  And the ones digit PRECEDES the tens "
+            + "digit (e.g., 23 is \"dreiundzwanzig,\" not \"zwanzigunddrei\").",
+
+            "Like German, most Italian numbers are "
+            + "written as single words.  What makes these rules complicated is the rule "
+            + "that says that when a word ending in a vowel and a word beginning with "
+            + "a vowel are combined into a compound, the vowel is dropped from the "
+            + "end of the first word: 180 is \"centottanta,\" not \"centoottanta.\"  "
+            + "The complexity of this rule set is to produce this behavior.",
+
+            "Spellout rules for Swedish.",
+
+            "Spellout rules for Dutch.  Notice that in Dutch, as in German,"
+            + "the ones digit precedes the tens digit.",
+
+            "In Japanese, there really isn't any "
+            + "distinction between a number written out in digits and a number "
+            + "written out in words: the ideographic characters are both digits "
+            + "and words.  This rule set provides two variants:  %traditional "
+            + "uses the traditional CJK numerals (which are also used in China "
+            + "and Korea).  %financial uses alternate ideographs for many numbers "
+            + "that are harder to alter than the traditional numerals (one could "
+            + "fairly easily change a one to "
+            + "a three just by adding two strokes, for example).  This is also done in "
+            + "the other countries using Chinese idographs, but different ideographs "
+            + "are used in those places.",
+
+            "Again in Greek we have to supply the words "
+            + "for the multiples of 100 because they can't be derived algorithmically.  "
+            + "Also, the tens dgit changes form when followed by a ones digit: an "
+            + "accent mark disappears from the tens digit and moves to the ones digit.  "
+            + "Therefore, instead of using the [] notation, we actually have to use "
+            + "two separate rules for each multiple of 10 to show the two forms of "
+            + "the word.",
+
+            "Spellout rules for Russian.",
+
+            "Spellout rules for Hebrew.  Hebrew actually has inflected forms for "
+            + "most of the lower-order numbers.  The masculine forms are shown "
+            + "here.",
+
+            "This rule set adds an English ordinal abbreviation to the end of a "
+            + "number.  For example, 2 is formatted as \"2nd\".  Parsing doesn't work with "
+            + "this rule set.  To parse, use DecimalFormat on the numeral.",
+
+            "This is a simple message-formatting example.  Normally one would "
+            + "use ChoiceFormat and MessageFormat to do something this simple, "
+            + "but this shows it could be done with RuleBasedNumberFormat too.  "
+            + "A message-formatting example that might work better with "
+            + "RuleBasedNumberFormat appears later.",
+
+            "The next few examples demonstrate fraction handling.  "
+            + "This example formats a number in one of the two styles often used "
+            + "on checks.  %dollars-and-hundredths formats cents as hundredths of "
+            + "a dollar (23.40 comes out as \"twenty-three and 40/100 dollars\").  "
+            + "%dollars-and-cents formats in dollars and cents (23.40 comes out as "
+            + "\"twenty-three dollars and forty cents\")",
+
+            "This rule set shows the fractional part of the number as a fraction "
+            + "with a power of 10 as the denominator.  Some languages don't spell "
+            + "out the fractional part of a number as \"point one two three,\" but "
+            + "always render it as a fraction.  If we still want to treat the fractional "
+            + "part of the number as a decimal, then the fraction's denominator "
+            + "is always a power of 10.  This example does that: 23.125 is formatted "
+            + "as \"twenty-three and one hundred twenty-five thousandths\" (as opposed "
+            + "to \"twenty-three point one two five\" or \"twenty-three and one eighth\").",
+
+            "Number with closest fraction.  This example formats a value using "
+            + "numerals, but shows the fractional part as a ratio (fraction) rather "
+            + "than a decimal.  The fraction always has a denominator between 2 and 10.",
+
+            "American stock-price formatting.  Non-integral stock prices are still "
+            + "generally shown in eighths or sixteenths of dollars instead of dollars "
+            + "and cents.  This example formats stock prices in this way if possible, "
+            + "and in dollars and cents if not.",
+
+            "The next few examples demonstrate using a RuleBasedNumberFormat to "
+            + "change the units a value is denominated in depending on its magnitude.  "
+            + "The example shows large numbers the way they often appear is nwespapers: "
+            + "1,200,000 is formatted as \"1.2 million\".",
+
+            "This example takes a number of meters and formats it in whatever unit "
+            + "will produce a number with from one to three digits before the decimal "
+            + "point.  For example, 230,000 is formatted as \"230 km\".",
+
+            "A more complicated message-formatting example.  Here, in addition to "
+            + "handling the singular and plural versions of the word, the value is "
+            + "denominated in bytes, kilobytes, or megabytes depending on its magnitude.  "
+            + "Also notice that it correctly treats a kilobyte as 1,024 bytes (not 1,000), "
+            + "and a megabyte as 1,024 kilobytes (not 1,000).",
+
+            "This example formats a number in dozens and gross.  This is intended to "
+            + "demonstrate how this rule set can be used to format numbers in systems "
+            + "other than base 10.  The \"/12\" after the rules' base values controls this.  "
+            + "Also notice that the base doesn't have to be consistent throughout the "
+            + "whole rule set: we go back to base 10 for values over 1,000.",
+
+            "The next few examples show how a single value can be divided up into major "
+            + "and minor units that don't relate to each other by a factor of 10.  "
+            + "This example formats a number of seconds in sexagesimal notation "
+            + "(i.e., hours, minutes, and seconds).  %with-words formats it with "
+            + "words (3740 is \"1 hour, 2 minutes, 20 seconds\") and %in-numerals "
+            + "formats it entirely in numerals (3740 is \"1:02:20\").",
+
+            "This example formats a number of hours in sexagesimal notation (i.e., "
+            + "hours, minutes, and seconds).  %with-words formats the value using "
+            + "words for the units, and %in-numerals formats the value using only "
+            + "numerals.",
+
+            "This rule set formats a number of pounds as pounds, shillings, and "
+            + "pence in the old English system of currency.",
+
+            "These examples show how RuleBasedNumberFormat can be used to format "
+            + "numbers using non-positional numeration systems.  "
+            + "This example formats numbers in Arabic numerals.  "
+            + "Normally, you'd do this with DecimalFormat, but this shows that "
+            + "RuleBasedNumberFormat can handle it too.",
+
+            "This example follows the same pattern as the Arabic-numerals "
+            + "example, but uses words for the various digits (e.g., 123 comes "
+            + "out as \"one two three\").",
+
+            "This example formats numbers using Chinese characters in the Arabic "
+            + "place-value method.  This was used historically in China for a while.",
+
+            "Roman numerals.  This example has two variants: %modern shows how large "
+            + "numbers are usually handled today; %historical ses the older symbols for "
+            + "thousands.  Not all of the characters are displayable with most fonts.",
+
+            "Hebrew alphabetic numerals.  Before adoption of Arabic numerals, Hebrew speakers "
+            + "used the letter of their alphabet as numerals.  The first nine letters of "
+            + "the alphabet repesented the values from 1 to 9, the second nine letters the "
+            + "multiples of 10, and the remaining letters the multiples of 100.  Since they "
+            + "ran out of letters at 400, the remaining multiples of 100 were represented "
+            + "using combinations of the existing letters for the hundreds.  Numbers were "
+            + "distinguished from words in a number of different ways: the way shown here "
+            + "uses a single mark after a number consisting of one letter, and a double "
+            + "mark between the last two letters of a number consisting of two or more "
+            + "letters.  Two dots over a letter multiplied its value by 1,000.  Also, since "
+            + "the letter for 10 is the first letter of God's name and the letters for 5 and 6 "
+            + "are letters in God's name, which wasn't supposed to be written or spoken, 15 and "
+            + "16 were usually written as 9 + 6 and 9 + 7 instead of 10 + 5 and 10 + 6.",
+
+            "Greek alphabetic numerals.  The Greeks, before adopting the Arabic numerals, "
+            + "also used the letters of their alphabet as numerals.  There are three now-"
+            + "obsolete Greek letters that are used as numerals; many fonts don't have them.  "
+            + "Large numbers were handled many different ways; the way shown here divides "
+            + "large numbers into groups of four letters (factors of 10,000), and separates "
+            + "the groups with the capital letter mu (for myriad).  Capital letters are used "
+            + "for values below 10,000; small letters for higher numbers (to make the capital "
+            + "mu stand out).",
+
+            "This is a custom (user-defined) rule set."
+        };
+}
diff --git a/src/com/ibm/icu/dev/demo/rbnf/package.html b/src/com/ibm/icu/dev/demo/rbnf/package.html
new file mode 100755
index 0000000..8a0507f
--- /dev/null
+++ b/src/com/ibm/icu/dev/demo/rbnf/package.html
@@ -0,0 +1,12 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html>
+<head>
+<!--  Copyright (C) 2000-2004, International Business Machines Corporation and
+  others. All Rights Reserved.
+
+-->
+</head>
+<body bgcolor="white">
+RuleBasedNumberFormat demo appliation.
+</body>
+</html>
\ No newline at end of file
diff --git a/src/com/ibm/icu/dev/demo/timescale/PivotDemo.java b/src/com/ibm/icu/dev/demo/timescale/PivotDemo.java
new file mode 100644
index 0000000..8f71c05
--- /dev/null
+++ b/src/com/ibm/icu/dev/demo/timescale/PivotDemo.java
@@ -0,0 +1,84 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ *
+ */
+
+package com.ibm.icu.dev.demo.timescale;
+
+import java.util.Locale;
+
+import com.ibm.icu.text.MessageFormat;
+import com.ibm.icu.util.Calendar;
+import com.ibm.icu.util.SimpleTimeZone;
+import com.ibm.icu.util.TimeZone;
+import com.ibm.icu.util.UniversalTimeScale;
+
+/**
+ * This class demonstrates how to use <code>UniversalTimeScale</code> to
+ * convert from one local time scale to another.
+ * 
+ * @see UniversalTimeScale
+ * 
+ * @draft ICU 3.2
+ */
+public class PivotDemo {
+
+    /**
+     * The default constructor.
+     * 
+     * @draft ICU 3.2
+     */
+    public PivotDemo()
+    {
+    }
+
+    /**
+     * The <code>main()</code> method uses <code>UniversalTimeScale</code> to
+     * convert from the Java and Unix time scales to the ICU time scale. It uses
+     * a <code>Calendar</code> object to display the ICU time values.
+     * 
+     * @param args the command line arguments.
+     * 
+     * @draft ICU 3.2
+     */
+    public static void main(String[] args)
+    {
+        TimeZone utc = new SimpleTimeZone(0, "UTC");
+        Calendar cal = Calendar.getInstance(utc, Locale.ENGLISH);
+        MessageFormat fmt = new MessageFormat("{1} = {0, date, full} {0, time, full}");
+        Object arguments[] = {cal, null};
+        
+        arguments[0] = cal;
+        
+        System.out.println("\nJava test:");
+        cal.setTimeInMillis(UniversalTimeScale.toLong(UniversalTimeScale.from(0, UniversalTimeScale.JAVA_TIME), UniversalTimeScale.ICU4C_TIME));
+        arguments[1] = " 000000000000000";
+        System.out.println(fmt.format(arguments));
+        
+        cal.setTimeInMillis(UniversalTimeScale.toLong(UniversalTimeScale.from(-62164684800000L, UniversalTimeScale.JAVA_TIME), UniversalTimeScale.ICU4C_TIME));
+        arguments[1] = "-62164684800000L";
+        System.out.println(fmt.format(arguments));
+        
+        cal.setTimeInMillis(UniversalTimeScale.toLong(UniversalTimeScale.from(-62135769600000L, UniversalTimeScale.JAVA_TIME), UniversalTimeScale.ICU4C_TIME));
+        arguments[1] = "-62135769600000L";
+        System.out.println(fmt.format(arguments));
+        
+        System.out.println("\nUnix test:");
+        
+        cal.setTimeInMillis(UniversalTimeScale.toLong(UniversalTimeScale.from(0x80000000, UniversalTimeScale.UNIX_TIME), UniversalTimeScale.ICU4C_TIME));
+        arguments[1] = "0x80000000";
+        System.out.println(fmt.format(arguments));
+        
+        cal.setTimeInMillis(UniversalTimeScale.toLong(UniversalTimeScale.from(0, UniversalTimeScale.UNIX_TIME), UniversalTimeScale.ICU4C_TIME));
+        arguments[1] = "0x00000000";
+        System.out.println(fmt.format(arguments));
+        
+        cal.setTimeInMillis(UniversalTimeScale.toLong(UniversalTimeScale.from(0x7FFFFFFF, UniversalTimeScale.UNIX_TIME), UniversalTimeScale.ICU4C_TIME));
+        arguments[1] = "0x7FFFFFFF";
+        System.out.println(fmt.format(arguments));
+        
+    }
+}
diff --git a/src/com/ibm/icu/dev/demo/translit/AnyTransliterator.java b/src/com/ibm/icu/dev/demo/translit/AnyTransliterator.java
new file mode 100644
index 0000000..ccf1ad3
--- /dev/null
+++ b/src/com/ibm/icu/dev/demo/translit/AnyTransliterator.java
@@ -0,0 +1,299 @@
+/**
+ *******************************************************************************
+ * Copyright (C) 2001-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.demo.translit;
+import com.ibm.icu.lang.*;
+import com.ibm.icu.text.*;
+import java.util.*;
+
+public class AnyTransliterator extends Transliterator {
+    
+    static final boolean DEBUG = false;
+    private String targetName;
+    private RunIterator it;
+    private Position run;
+    
+    
+    public AnyTransliterator(String targetName, UnicodeFilter filter, RunIterator it){
+        super("Any-" + targetName, filter);
+        this.targetName = targetName;
+        this.it = it;
+        run = new Position();
+    }
+    
+    public AnyTransliterator(String targetName, UnicodeFilter filter){
+        this(targetName, filter, new ScriptRunIterator());
+    }
+    
+    static private Transliterator hex = Transliterator.getInstance("[^\\u0020-\\u007E] hex");
+    
+    protected void handleTransliterate(Replaceable text,
+                                       Position offsets, boolean isIncremental) {
+        if (DEBUG) {
+            System.out.println("- handleTransliterate " + hex.transliterate(text.toString())
+                + ", " + toString(offsets));
+        }
+        it.reset(text, offsets);
+        
+        while (it.next(run)) {
+            if (targetName.equalsIgnoreCase(it.getName())) {
+                if (DEBUG) System.out.println("Skipping identical: " + targetName);
+                run.start = run.limit; // show we processed
+                continue; // skip if same
+            }
+            
+            Transliterator t;
+            String id = it.getName() + '-' + targetName;
+            try {
+                t = Transliterator.getInstance(id);
+            } catch (IllegalArgumentException ex) {
+                if (DEBUG) System.out.println("Couldn't find: " + id + ", Trying Latin as Pivot");
+                id = it.getName() + "-Latin; Latin-" + targetName;
+                try {
+                    t = Transliterator.getInstance(id);
+                } catch (IllegalArgumentException ex2) {
+                    if (DEBUG) System.out.println("Couldn't find: " + id);
+                    continue;
+                }
+            }
+            // TODO catch error later!!
+                
+            if (DEBUG) {
+                System.out.println(t.getID());
+                System.out.println("input: " + hex.transliterate(text.toString())
+                 + ", " + toString(run));
+            }
+            
+            if (isIncremental && it.atEnd()) {
+                t.transliterate(text, run);
+            } else {
+                t.finishTransliteration(text, run);
+            }
+            // adjust the offsets in line with the changes
+            it.adjust(run.limit);
+            
+            if (DEBUG) {
+                System.out.println("output: " + hex.transliterate(text.toString())
+                 + ", " + toString(run));
+            }
+        }
+
+        // show how far we got!
+        it.getExpanse(offsets);
+        if (run.start == run.limit) offsets.start = offsets.limit;
+        else offsets.start = run.start;
+        if (DEBUG) {
+            System.out.println("+ handleTransliterate: " + ", " + toString(offsets));
+            System.out.println();
+        }
+    }
+    
+    // should be method on Position
+    public static String toString(Position offsets) {
+        return "[cs: " + offsets.contextStart
+                + ", s: " + offsets.start
+                + ", l: " + offsets.limit
+                + ", cl: " + offsets.contextLimit
+                + "]";
+    }
+    
+    public interface RunIterator {
+        public void reset(Replaceable text, Position expanse);
+        public void getExpanse(Position run);
+        public void reset();
+        public boolean next(Position run);
+        public void getCurrent(Position run);
+        public String getName();
+        public void adjust(int newCurrentLimit);
+        public boolean atEnd();
+    }
+    
+    /**
+     * Returns a series of ranges corresponding to scripts. They will be of the form:
+     * ccccSScSSccccTTcTcccc    - where c is common, S is the first script and T is the second
+     *|            |            - first run
+     *         |            |    - second run
+     * That is, the runs will overlap. The reason for this is so that a transliterator can
+     * consider common characters both before and after the scripts.
+     * The only time that contextStart != start is for the first run 
+     *    (the context is the start context of the entire expanse)
+     * The only time that contextLimit != limit is for the last run 
+     *    (the context is the end context of the entire expanse)
+     */
+    public static class ScriptRunIterator implements RunIterator {
+        private Replaceable text;
+        private Position expanse = new Position();
+        private Position current = new Position();
+        private int script;
+        private boolean done = true;
+        
+
+        public void reset(Replaceable text, Position expanse) {
+            set(this.expanse, expanse);
+            this.text = text;
+            reset();
+        }
+            
+        public void reset() {
+            done = false;
+            //this.expanse = expanse;
+            script = UScript.INVALID_CODE;
+            // set up first range to be empty, at beginning
+            current.contextStart = expanse.contextStart;
+            current.start = current.limit = current.contextLimit = expanse.start;            
+        }
+            
+        public boolean next(Position run) {
+            if (done) return false;
+            if (DEBUG) {
+                System.out.println("+cs: " + current.contextStart
+                    + ", s: " + current.start
+                    + ", l: " + current.limit
+                    + ", cl: " + current.contextLimit);
+            }
+            // reset start context run to the last end
+            current.start = current.limit;
+            
+            // Phase 1. Backup the START value through COMMON until we get to expanse.start or a real script.
+            int i, cp;
+            int limit = expanse.start;
+            for (i = current.start; i > limit; i -= UTF16.getCharCount(cp)) {
+                cp = text.char32At(i);
+                int script = UScript.getScript(cp);
+                if (script != UScript.COMMON && script != UScript.INHERITED) break;
+            }
+            current.start = i;
+            current.contextStart = (i == limit) ? expanse.contextStart : i; // extend at start
+            
+            // PHASE 2. Move up the LIMIT value through COMMON or single script until we get to expanse.limit
+            int lastScript = UScript.COMMON;
+            //int veryLastScript = UScript.COMMON;
+            limit = expanse.limit; 
+            for (i = current.limit; i < limit; i += UTF16.getCharCount(cp)) {
+                cp = text.char32At(i);
+                int script = UScript.getScript(cp);
+                if (script == UScript.INHERITED) script = UScript.COMMON;
+                if (script != UScript.COMMON) {
+                    // if we find a real script:
+                    //   if we already had a script, bail
+                    //   otherwise set our script
+                    if (lastScript == UScript.COMMON) lastScript = script;
+                    else if (lastScript != script) break;
+                }
+            }
+            current.limit = i;
+            current.contextLimit = (i == limit) ? expanse.contextLimit : i; // extend at end
+            done = (i == limit);
+            script = lastScript;
+            
+            if (DEBUG) {
+                System.out.println("-cs: " + current.contextStart
+                    + ", s: " + current.start
+                    + ", l: " + current.limit
+                    + ", cl: " + current.contextLimit);
+            }
+            
+            set(run, current);
+            return true;
+        }
+        
+        // SHOULD BE METHOD ON POSITION
+        public static void set(Position run, Position current) {
+            run.contextStart = current.contextStart;
+            run.start = current.start;
+            run.limit = current.limit;
+            run.contextLimit = current.contextLimit;
+        }
+        
+        public boolean atEnd() {
+            return current.limit == expanse.limit;
+        }
+        
+        public void getCurrent(Position run) {
+            set(run, current);
+        }
+        
+        public void getExpanse(Position run) {
+            set(run, expanse);
+        }
+        
+        public String getName() {
+            return UScript.getName(script);
+        }
+        
+        public void adjust(int newCurrentLimit) {
+            if (expanse == null) {
+                throw new IllegalArgumentException("Must reset() before calling");
+            }
+            int delta = newCurrentLimit - current.limit;
+            current.limit += delta;
+            current.contextLimit += delta;
+            expanse.limit += delta;
+            expanse.contextLimit += delta;
+        }
+        
+        // register Any-Script for every script.
+        
+        private static Set scriptList = new HashSet();
+        
+        public static void registerAnyToScript() {
+            synchronized (scriptList) {
+                Enumeration sources = Transliterator.getAvailableSources();
+                while(sources.hasMoreElements()) {
+                    String source = (String) sources.nextElement();
+                    if (source.equals("Any")) continue; // to keep from looping
+                    
+                    Enumeration targets = Transliterator.getAvailableTargets(source);
+                    while(targets.hasMoreElements()) {
+                        String target = (String) targets.nextElement();
+                        if (UScript.getCode(target) == null) continue; // SKIP unless we have a script (or locale)
+                        if (scriptList.contains(target)) continue; // already encountered
+                        scriptList.add(target); // otherwise add for later testing
+                        
+                        Set variantSet = add(new TreeSet(), Transliterator.getAvailableVariants(source, target));
+                        if (variantSet.size() < 2) {
+                            AnyTransliterator at = new AnyTransliterator(target, null);
+                            DummyFactory.add(at.getID(), at);
+                        } else {
+                            Iterator variants = variantSet.iterator();
+                            while(variants.hasNext()) {
+                                String variant = (String) variants.next();
+                                AnyTransliterator at = new AnyTransliterator(
+                                    (variant.length() > 0) ? target + "/" + variant : target, null);
+                                DummyFactory.add(at.getID(), at);
+                            }
+                        }
+                    }
+                }
+            }
+        }
+        
+        static class DummyFactory implements Transliterator.Factory {
+            static DummyFactory singleton = new DummyFactory();
+            static HashMap m = new HashMap();
+
+            // Since Transliterators are immutable, we don't have to clone on set & get
+            static void add(String ID, Transliterator t) {
+                m.put(ID, t);
+                System.out.println("Registering: " + ID + ", " + t.toRules(true));
+                Transliterator.registerFactory(ID, singleton);
+            }
+            public Transliterator getInstance(String ID) {
+                return (Transliterator) m.get(ID);
+            }
+        }
+        
+        // Nice little Utility for converting Enumeration to collection
+        static Set add(Set s, Enumeration enumeration) {
+            while(enumeration.hasMoreElements()) {
+                s.add(enumeration.nextElement());
+            }
+            return s;
+        }
+        
+        
+    }
+}
diff --git a/src/com/ibm/icu/dev/demo/translit/CaseIterator.java b/src/com/ibm/icu/dev/demo/translit/CaseIterator.java
new file mode 100644
index 0000000..d32e21f
--- /dev/null
+++ b/src/com/ibm/icu/dev/demo/translit/CaseIterator.java
@@ -0,0 +1,555 @@
+/**
+*******************************************************************************
+* Copyright (C) 1996-2004, International Business Machines Corporation and    *
+* others. All Rights Reserved.                                                *
+*******************************************************************************
+*/
+
+package com.ibm.icu.dev.demo.translit;
+import java.util.*;
+import com.ibm.icu.lang.UCharacter;
+import com.ibm.icu.text.UTF16;
+import com.ibm.icu.text.Transliterator;
+import com.ibm.icu.text.UnicodeSet;
+
+/**
+ * Incrementally returns the set of all strings that case-fold to the same value.
+ */
+public class CaseIterator {
+    
+    // testing stuff
+    private static final boolean DEBUG = true;
+    static Transliterator toName = Transliterator.getInstance("[:^ascii:] Any-Name");
+    static Transliterator toHex = Transliterator.getInstance("[:^ascii:] Any-Hex");
+    static Transliterator toHex2 = Transliterator.getInstance("[[^\u0021-\u007F]-[,]] Any-Hex");
+    
+    // global tables (could be precompiled)
+    private static Map fromCaseFold = new HashMap();
+    private static Map toCaseFold = new HashMap();
+    private static int maxLength = 0;
+    
+    // This exception list is generated on the console by turning on the GENERATED flag, 
+    // which MUST be false for normal operation.
+    // Once the list is generated, it is pasted in here.
+    // A bit of a cludge, but this bootstrapping is the easiest way 
+    // to get around certain complications in the data.
+    
+    private static final boolean GENERATE = false;
+
+    private static final boolean DUMP = false;
+    
+    private static String[][] exceptionList = {
+        // a\N{MODIFIER LETTER RIGHT HALF RING}
+        {"a\u02BE","A\u02BE","a\u02BE",},
+        // ff
+        {"ff","FF","Ff","fF","ff",},
+        // ffi
+        {"ffi","FFI","FFi","FfI","Ffi","F\uFB01","fFI","fFi","ffI","ffi","f\uFB01","\uFB00I","\uFB00i",},
+        // ffl
+        {"ffl","FFL","FFl","FfL","Ffl","F\uFB02","fFL","fFl","ffL","ffl","f\uFB02","\uFB00L","\uFB00l",},
+        // fi
+        {"fi","FI","Fi","fI","fi",},
+        // fl
+        {"fl","FL","Fl","fL","fl",},
+        // h\N{COMBINING MACRON BELOW}
+        {"h\u0331","H\u0331","h\u0331",},
+        // i\N{COMBINING DOT ABOVE}
+        {"i\u0307","I\u0307","i\u0307",},
+        // j\N{COMBINING CARON}
+        {"j\u030C","J\u030C","j\u030C",},
+        // ss
+        {"ss","SS","Ss","S\u017F","sS","ss","s\u017F","\u017FS","\u017Fs","\u017F\u017F",},
+        // st
+        {"st","ST","St","sT","st","\u017FT","\u017Ft",},
+        // t\N{COMBINING DIAERESIS}
+        {"t\u0308","T\u0308","t\u0308",},
+        // w\N{COMBINING RING ABOVE}
+        {"w\u030A","W\u030A","w\u030A",},
+        // y\N{COMBINING RING ABOVE}
+        {"y\u030A","Y\u030A","y\u030A",},
+        // \N{MODIFIER LETTER APOSTROPHE}n
+        {"\u02BCn","\u02BCN","\u02BCn",},
+        // \N{GREEK SMALL LETTER ALPHA WITH TONOS}\N{GREEK SMALL LETTER IOTA}
+        {"\u03AC\u03B9","\u0386\u0345","\u0386\u0399","\u0386\u03B9","\u0386\u1FBE","\u03AC\u0345","\u03AC\u0399","\u03AC\u03B9","\u03AC\u1FBE",},
+        // \N{GREEK SMALL LETTER ETA WITH TONOS}\N{GREEK SMALL LETTER IOTA}
+        {"\u03AE\u03B9","\u0389\u0345","\u0389\u0399","\u0389\u03B9","\u0389\u1FBE","\u03AE\u0345","\u03AE\u0399","\u03AE\u03B9","\u03AE\u1FBE",},
+        // \N{GREEK SMALL LETTER ALPHA}\N{COMBINING GREEK PERISPOMENI}
+        {"\u03B1\u0342","\u0391\u0342","\u03B1\u0342",},
+        // \N{GREEK SMALL LETTER ALPHA}\N{COMBINING GREEK PERISPOMENI}\N{GREEK SMALL LETTER IOTA}
+        {"\u03B1\u0342\u03B9","\u0391\u0342\u0345","\u0391\u0342\u0399","\u0391\u0342\u03B9","\u0391\u0342\u1FBE",
+            "\u03B1\u0342\u0345","\u03B1\u0342\u0399","\u03B1\u0342\u03B9","\u03B1\u0342\u1FBE","\u1FB6\u0345",
+            "\u1FB6\u0399","\u1FB6\u03B9","\u1FB6\u1FBE",},
+        // \N{GREEK SMALL LETTER ALPHA}\N{GREEK SMALL LETTER IOTA}
+        {"\u03B1\u03B9","\u0391\u0345","\u0391\u0399","\u0391\u03B9","\u0391\u1FBE","\u03B1\u0345","\u03B1\u0399","\u03B1\u03B9","\u03B1\u1FBE",},
+        // \N{GREEK SMALL LETTER ETA}\N{COMBINING GREEK PERISPOMENI}
+        {"\u03B7\u0342","\u0397\u0342","\u03B7\u0342",},
+        // \N{GREEK SMALL LETTER ETA}\N{COMBINING GREEK PERISPOMENI}\N{GREEK SMALL LETTER IOTA}
+        {"\u03B7\u0342\u03B9","\u0397\u0342\u0345","\u0397\u0342\u0399","\u0397\u0342\u03B9","\u0397\u0342\u1FBE",
+            "\u03B7\u0342\u0345","\u03B7\u0342\u0399","\u03B7\u0342\u03B9","\u03B7\u0342\u1FBE","\u1FC6\u0345","\u1FC6\u0399",
+            "\u1FC6\u03B9","\u1FC6\u1FBE",},
+        // \N{GREEK SMALL LETTER ETA}\N{GREEK SMALL LETTER IOTA}
+        {"\u03B7\u03B9","\u0397\u0345","\u0397\u0399","\u0397\u03B9","\u0397\u1FBE","\u03B7\u0345","\u03B7\u0399","\u03B7\u03B9","\u03B7\u1FBE",},
+        // \N{GREEK SMALL LETTER IOTA}\N{COMBINING DIAERESIS}\N{COMBINING GRAVE ACCENT}
+        {"\u03B9\u0308\u0300","\u0345\u0308\u0300","\u0399\u0308\u0300","\u03B9\u0308\u0300","\u1FBE\u0308\u0300",},
+        // \N{GREEK SMALL LETTER IOTA}\N{COMBINING DIAERESIS}\N{COMBINING ACUTE ACCENT}
+        {"\u03B9\u0308\u0301","\u0345\u0308\u0301","\u0399\u0308\u0301","\u03B9\u0308\u0301","\u1FBE\u0308\u0301",},
+        // \N{GREEK SMALL LETTER IOTA}\N{COMBINING DIAERESIS}\N{COMBINING GREEK PERISPOMENI}
+        {"\u03B9\u0308\u0342","\u0345\u0308\u0342","\u0399\u0308\u0342","\u03B9\u0308\u0342","\u1FBE\u0308\u0342",},
+        // \N{GREEK SMALL LETTER IOTA}\N{COMBINING GREEK PERISPOMENI}
+        {"\u03B9\u0342","\u0345\u0342","\u0399\u0342","\u03B9\u0342","\u1FBE\u0342",},
+        // \N{GREEK SMALL LETTER RHO}\N{COMBINING COMMA ABOVE}
+        {"\u03C1\u0313","\u03A1\u0313","\u03C1\u0313","\u03F1\u0313",},
+        // \N{GREEK SMALL LETTER UPSILON}\N{COMBINING DIAERESIS}\N{COMBINING GRAVE ACCENT}
+        {"\u03C5\u0308\u0300","\u03A5\u0308\u0300","\u03C5\u0308\u0300",},
+        // \N{GREEK SMALL LETTER UPSILON}\N{COMBINING DIAERESIS}\N{COMBINING ACUTE ACCENT}
+        {"\u03C5\u0308\u0301","\u03A5\u0308\u0301","\u03C5\u0308\u0301",},
+        // \N{GREEK SMALL LETTER UPSILON}\N{COMBINING DIAERESIS}\N{COMBINING GREEK PERISPOMENI}
+        {"\u03C5\u0308\u0342","\u03A5\u0308\u0342","\u03C5\u0308\u0342",},
+        // \N{GREEK SMALL LETTER UPSILON}\N{COMBINING COMMA ABOVE}
+        {"\u03C5\u0313","\u03A5\u0313","\u03C5\u0313",},
+        // \N{GREEK SMALL LETTER UPSILON}\N{COMBINING COMMA ABOVE}\N{COMBINING GRAVE ACCENT}
+        {"\u03C5\u0313\u0300","\u03A5\u0313\u0300","\u03C5\u0313\u0300","\u1F50\u0300",},
+        // \N{GREEK SMALL LETTER UPSILON}\N{COMBINING COMMA ABOVE}\N{COMBINING ACUTE ACCENT}
+        {"\u03C5\u0313\u0301","\u03A5\u0313\u0301","\u03C5\u0313\u0301","\u1F50\u0301",},
+        // \N{GREEK SMALL LETTER UPSILON}\N{COMBINING COMMA ABOVE}\N{COMBINING GREEK PERISPOMENI}
+        {"\u03C5\u0313\u0342","\u03A5\u0313\u0342","\u03C5\u0313\u0342","\u1F50\u0342",},
+        // \N{GREEK SMALL LETTER UPSILON}\N{COMBINING GREEK PERISPOMENI}
+        {"\u03C5\u0342","\u03A5\u0342","\u03C5\u0342",},
+        // \N{GREEK SMALL LETTER OMEGA}\N{COMBINING GREEK PERISPOMENI}
+        {"\u03C9\u0342","\u03A9\u0342","\u03C9\u0342","\u2126\u0342",},
+        // \N{GREEK SMALL LETTER OMEGA}\N{COMBINING GREEK PERISPOMENI}\N{GREEK SMALL LETTER IOTA}
+        {"\u03C9\u0342\u03B9","\u03A9\u0342\u0345","\u03A9\u0342\u0399","\u03A9\u0342\u03B9","\u03A9\u0342\u1FBE","\u03C9\u0342\u0345","\u03C9\u0342\u0399","\u03C9\u0342\u03B9","\u03C9\u0342\u1FBE","\u1FF6\u0345",
+            "\u1FF6\u0399","\u1FF6\u03B9","\u1FF6\u1FBE","\u2126\u0342\u0345","\u2126\u0342\u0399","\u2126\u0342\u03B9","\u2126\u0342\u1FBE",},
+        // \N{GREEK SMALL LETTER OMEGA}\N{GREEK SMALL LETTER IOTA}
+        {"\u03C9\u03B9","\u03A9\u0345","\u03A9\u0399","\u03A9\u03B9","\u03A9\u1FBE","\u03C9\u0345","\u03C9\u0399","\u03C9\u03B9","\u03C9\u1FBE","\u2126\u0345","\u2126\u0399","\u2126\u03B9","\u2126\u1FBE",},
+        // \N{GREEK SMALL LETTER OMEGA WITH TONOS}\N{GREEK SMALL LETTER IOTA}
+        {"\u03CE\u03B9","\u038F\u0345","\u038F\u0399","\u038F\u03B9","\u038F\u1FBE","\u03CE\u0345","\u03CE\u0399","\u03CE\u03B9","\u03CE\u1FBE",},
+        // \N{ARMENIAN SMALL LETTER ECH}\N{ARMENIAN SMALL LETTER YIWN}
+        {"\u0565\u0582","\u0535\u0552","\u0535\u0582","\u0565\u0552","\u0565\u0582",},
+        // \N{ARMENIAN SMALL LETTER MEN}\N{ARMENIAN SMALL LETTER ECH}
+        {"\u0574\u0565","\u0544\u0535","\u0544\u0565","\u0574\u0535","\u0574\u0565",},
+        // \N{ARMENIAN SMALL LETTER MEN}\N{ARMENIAN SMALL LETTER INI}
+        {"\u0574\u056B","\u0544\u053B","\u0544\u056B","\u0574\u053B","\u0574\u056B",},
+        // \N{ARMENIAN SMALL LETTER MEN}\N{ARMENIAN SMALL LETTER XEH}
+        {"\u0574\u056D","\u0544\u053D","\u0544\u056D","\u0574\u053D","\u0574\u056D",},
+        // \N{ARMENIAN SMALL LETTER MEN}\N{ARMENIAN SMALL LETTER NOW}
+        {"\u0574\u0576","\u0544\u0546","\u0544\u0576","\u0574\u0546","\u0574\u0576",},
+        // \N{ARMENIAN SMALL LETTER VEW}\N{ARMENIAN SMALL LETTER NOW}
+        {"\u057E\u0576","\u054E\u0546","\u054E\u0576","\u057E\u0546","\u057E\u0576",},
+        // \N{GREEK SMALL LETTER ALPHA WITH PSILI}\N{GREEK SMALL LETTER IOTA}
+        {"\u1F00\u03B9","\u1F00\u0345","\u1F00\u0399","\u1F00\u03B9","\u1F00\u1FBE","\u1F08\u0345","\u1F08\u0399","\u1F08\u03B9","\u1F08\u1FBE",},
+        // \N{GREEK SMALL LETTER ALPHA WITH DASIA}\N{GREEK SMALL LETTER IOTA}
+        {"\u1F01\u03B9","\u1F01\u0345","\u1F01\u0399","\u1F01\u03B9","\u1F01\u1FBE","\u1F09\u0345","\u1F09\u0399","\u1F09\u03B9","\u1F09\u1FBE",},
+        // \N{GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA}\N{GREEK SMALL LETTER IOTA}
+        {"\u1F02\u03B9","\u1F02\u0345","\u1F02\u0399","\u1F02\u03B9","\u1F02\u1FBE","\u1F0A\u0345","\u1F0A\u0399","\u1F0A\u03B9","\u1F0A\u1FBE",},
+        // \N{GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA}\N{GREEK SMALL LETTER IOTA}
+        {"\u1F03\u03B9","\u1F03\u0345","\u1F03\u0399","\u1F03\u03B9","\u1F03\u1FBE","\u1F0B\u0345","\u1F0B\u0399","\u1F0B\u03B9","\u1F0B\u1FBE",},
+        // \N{GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA}\N{GREEK SMALL LETTER IOTA}
+        {"\u1F04\u03B9","\u1F04\u0345","\u1F04\u0399","\u1F04\u03B9","\u1F04\u1FBE","\u1F0C\u0345","\u1F0C\u0399","\u1F0C\u03B9","\u1F0C\u1FBE",},
+        // \N{GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA}\N{GREEK SMALL LETTER IOTA}
+        {"\u1F05\u03B9","\u1F05\u0345","\u1F05\u0399","\u1F05\u03B9","\u1F05\u1FBE","\u1F0D\u0345","\u1F0D\u0399","\u1F0D\u03B9","\u1F0D\u1FBE",},
+        // \N{GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI}\N{GREEK SMALL LETTER IOTA}
+        {"\u1F06\u03B9","\u1F06\u0345","\u1F06\u0399","\u1F06\u03B9","\u1F06\u1FBE","\u1F0E\u0345","\u1F0E\u0399","\u1F0E\u03B9","\u1F0E\u1FBE",},
+        // \N{GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI}\N{GREEK SMALL LETTER IOTA}
+        {"\u1F07\u03B9","\u1F07\u0345","\u1F07\u0399","\u1F07\u03B9","\u1F07\u1FBE","\u1F0F\u0345","\u1F0F\u0399","\u1F0F\u03B9","\u1F0F\u1FBE",},
+        // \N{GREEK SMALL LETTER ETA WITH PSILI}\N{GREEK SMALL LETTER IOTA}
+        {"\u1F20\u03B9","\u1F20\u0345","\u1F20\u0399","\u1F20\u03B9","\u1F20\u1FBE","\u1F28\u0345","\u1F28\u0399","\u1F28\u03B9","\u1F28\u1FBE",},
+        // \N{GREEK SMALL LETTER ETA WITH DASIA}\N{GREEK SMALL LETTER IOTA}
+        {"\u1F21\u03B9","\u1F21\u0345","\u1F21\u0399","\u1F21\u03B9","\u1F21\u1FBE","\u1F29\u0345","\u1F29\u0399","\u1F29\u03B9","\u1F29\u1FBE",},
+        // \N{GREEK SMALL LETTER ETA WITH PSILI AND VARIA}\N{GREEK SMALL LETTER IOTA}
+        {"\u1F22\u03B9","\u1F22\u0345","\u1F22\u0399","\u1F22\u03B9","\u1F22\u1FBE","\u1F2A\u0345","\u1F2A\u0399","\u1F2A\u03B9","\u1F2A\u1FBE",},
+        // \N{GREEK SMALL LETTER ETA WITH DASIA AND VARIA}\N{GREEK SMALL LETTER IOTA}
+        {"\u1F23\u03B9","\u1F23\u0345","\u1F23\u0399","\u1F23\u03B9","\u1F23\u1FBE","\u1F2B\u0345","\u1F2B\u0399","\u1F2B\u03B9","\u1F2B\u1FBE",},
+        // \N{GREEK SMALL LETTER ETA WITH PSILI AND OXIA}\N{GREEK SMALL LETTER IOTA}
+        {"\u1F24\u03B9","\u1F24\u0345","\u1F24\u0399","\u1F24\u03B9","\u1F24\u1FBE","\u1F2C\u0345","\u1F2C\u0399","\u1F2C\u03B9","\u1F2C\u1FBE",},
+        // \N{GREEK SMALL LETTER ETA WITH DASIA AND OXIA}\N{GREEK SMALL LETTER IOTA}
+        {"\u1F25\u03B9","\u1F25\u0345","\u1F25\u0399","\u1F25\u03B9","\u1F25\u1FBE","\u1F2D\u0345","\u1F2D\u0399","\u1F2D\u03B9","\u1F2D\u1FBE",},
+        // \N{GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI}\N{GREEK SMALL LETTER IOTA}
+        {"\u1F26\u03B9","\u1F26\u0345","\u1F26\u0399","\u1F26\u03B9","\u1F26\u1FBE","\u1F2E\u0345","\u1F2E\u0399","\u1F2E\u03B9","\u1F2E\u1FBE",},
+        // \N{GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI}\N{GREEK SMALL LETTER IOTA}
+        {"\u1F27\u03B9","\u1F27\u0345","\u1F27\u0399","\u1F27\u03B9","\u1F27\u1FBE","\u1F2F\u0345","\u1F2F\u0399","\u1F2F\u03B9","\u1F2F\u1FBE",},
+        // \N{GREEK SMALL LETTER OMEGA WITH PSILI}\N{GREEK SMALL LETTER IOTA}
+        {"\u1F60\u03B9","\u1F60\u0345","\u1F60\u0399","\u1F60\u03B9","\u1F60\u1FBE","\u1F68\u0345","\u1F68\u0399","\u1F68\u03B9","\u1F68\u1FBE",},
+        // \N{GREEK SMALL LETTER OMEGA WITH DASIA}\N{GREEK SMALL LETTER IOTA}
+        {"\u1F61\u03B9","\u1F61\u0345","\u1F61\u0399","\u1F61\u03B9","\u1F61\u1FBE","\u1F69\u0345","\u1F69\u0399","\u1F69\u03B9","\u1F69\u1FBE",},
+        // \N{GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA}\N{GREEK SMALL LETTER IOTA}
+        {"\u1F62\u03B9","\u1F62\u0345","\u1F62\u0399","\u1F62\u03B9","\u1F62\u1FBE","\u1F6A\u0345","\u1F6A\u0399","\u1F6A\u03B9","\u1F6A\u1FBE",},
+        // \N{GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA}\N{GREEK SMALL LETTER IOTA}
+        {"\u1F63\u03B9","\u1F63\u0345","\u1F63\u0399","\u1F63\u03B9","\u1F63\u1FBE","\u1F6B\u0345","\u1F6B\u0399","\u1F6B\u03B9","\u1F6B\u1FBE",},
+        // \N{GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA}\N{GREEK SMALL LETTER IOTA}
+        {"\u1F64\u03B9","\u1F64\u0345","\u1F64\u0399","\u1F64\u03B9","\u1F64\u1FBE","\u1F6C\u0345","\u1F6C\u0399","\u1F6C\u03B9","\u1F6C\u1FBE",},
+        // \N{GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA}\N{GREEK SMALL LETTER IOTA}
+        {"\u1F65\u03B9","\u1F65\u0345","\u1F65\u0399","\u1F65\u03B9","\u1F65\u1FBE","\u1F6D\u0345","\u1F6D\u0399","\u1F6D\u03B9","\u1F6D\u1FBE",},
+        // \N{GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI}\N{GREEK SMALL LETTER IOTA}
+        {"\u1F66\u03B9","\u1F66\u0345","\u1F66\u0399","\u1F66\u03B9","\u1F66\u1FBE","\u1F6E\u0345","\u1F6E\u0399","\u1F6E\u03B9","\u1F6E\u1FBE",},
+        // \N{GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI}\N{GREEK SMALL LETTER IOTA}
+        {"\u1F67\u03B9","\u1F67\u0345","\u1F67\u0399","\u1F67\u03B9","\u1F67\u1FBE","\u1F6F\u0345","\u1F6F\u0399","\u1F6F\u03B9","\u1F6F\u1FBE",},
+        // \N{GREEK SMALL LETTER ALPHA WITH VARIA}\N{GREEK SMALL LETTER IOTA}
+        {"\u1F70\u03B9","\u1F70\u0345","\u1F70\u0399","\u1F70\u03B9","\u1F70\u1FBE","\u1FBA\u0345","\u1FBA\u0399","\u1FBA\u03B9","\u1FBA\u1FBE",},
+        // \N{GREEK SMALL LETTER ETA WITH VARIA}\N{GREEK SMALL LETTER IOTA}
+        {"\u1F74\u03B9","\u1F74\u0345","\u1F74\u0399","\u1F74\u03B9","\u1F74\u1FBE","\u1FCA\u0345","\u1FCA\u0399","\u1FCA\u03B9","\u1FCA\u1FBE",},
+        // \N{GREEK SMALL LETTER OMEGA WITH VARIA}\N{GREEK SMALL LETTER IOTA}
+        {"\u1F7C\u03B9","\u1F7C\u0345","\u1F7C\u0399","\u1F7C\u03B9","\u1F7C\u1FBE","\u1FFA\u0345","\u1FFA\u0399","\u1FFA\u03B9","\u1FFA\u1FBE",},
+    };
+    
+    // this initializes the data used to generated the case-equivalents
+
+    static {
+        
+        // Gather up the exceptions in a form we can use
+        
+        if (!GENERATE) {
+            for (int i = 0; i < exceptionList.length; ++i) {
+                String[] exception = exceptionList[i];
+                Set s = new HashSet();
+                // there has to be some method to do the following, but I can't find it in the collections
+                for (int j = 0; j < exception.length; ++j) {
+                    s.add(exception[j]);
+                }
+                fromCaseFold.put(exception[0], s);
+            }
+        }
+        
+        // walk through all the characters, and at every case fold result,
+        // put a set of all the characters that map to that result
+
+        boolean defaultmapping = true; // false for turkish
+        for (int i = 0; i <= 0x10FFFF; ++i) {
+            int cat = UCharacter.getType(i);
+            if (cat == Character.UNASSIGNED || cat == Character.PRIVATE_USE) continue;
+            
+            String cp = UTF16.valueOf(i);
+            String mapped = UCharacter.foldCase(cp, defaultmapping);
+            if (mapped.equals(cp)) continue;
+            
+            if (maxLength < mapped.length()) maxLength = mapped.length();
+            
+            // at this point, have different case folding
+            
+            Set s = (Set) fromCaseFold.get(mapped);
+            if (s == null) {
+                s = new HashSet();
+                s.add(mapped); // add the case fold result itself
+                fromCaseFold.put(mapped, s);
+            }
+            s.add(cp);
+            toCaseFold.put(cp, mapped);
+            toCaseFold.put(mapped, mapped); // add mapping to self
+        }
+        
+        // Emit the final data
+
+        if (DUMP) {
+            System.out.println("maxLength = " + maxLength);
+
+            System.out.println("\nfromCaseFold:");
+            Iterator it = fromCaseFold.keySet().iterator();
+            while (it.hasNext()) {
+                Object key = it.next();
+                System.out.print(" " + toHex2.transliterate((String)key) + ": ");
+                Set s = (Set) fromCaseFold.get(key);
+                Iterator it2 = s.iterator();
+                boolean first = true;
+                while (it2.hasNext()) {
+                    if (first) {
+                        first = false;
+                    } else {
+                        System.out.print(", ");
+                    }
+                    System.out.print(toHex2.transliterate((String)it2.next()));
+                }
+                System.out.println("");
+            }
+
+            System.out.println("\ntoCaseFold:");
+            it = toCaseFold.keySet().iterator();
+            while (it.hasNext()) {
+                String key = (String) it.next();
+                String value = (String) toCaseFold.get(key);
+                System.out.println(" " + toHex2.transliterate(key) + ": " + toHex2.transliterate(value));
+            }            
+        }
+        
+        // Now convert all those sets into linear arrays
+        // We can't do this in place in Java, so make a temporary target array
+        
+        // Note: This could be transformed into a single array, with offsets into it.
+        // Might be best choice in C.
+        
+        
+        Map fromCaseFold2 = new HashMap();
+        Iterator it = fromCaseFold.keySet().iterator();
+        while (it.hasNext()) {
+            Object key = it.next();
+            Set s = (Set) fromCaseFold.get(key);
+            String[] temp = new String[s.size()];
+            s.toArray(temp);
+            fromCaseFold2.put(key, temp);
+        }
+        fromCaseFold = fromCaseFold2;
+
+        // We have processed everything, so the iterator will now work
+        // The following is normally OFF. 
+        // It is here to generate (under the GENERATE flag) the static exception list.
+        // It must be at the very end of initialization, so that the iterator is functional.
+        // (easiest to do it that way)
+            
+        if (GENERATE) {
+
+            // first get small set of items that have multiple characters
+            
+            Set multichars = new TreeSet();
+            it = fromCaseFold.keySet().iterator();
+            while (it.hasNext()) {
+                String key = (String) it.next();
+                if (UTF16.countCodePoint(key) < 2) continue;
+                multichars.add(key);
+            }            
+            
+            // now we will go through each of them.
+            
+            CaseIterator ci = new CaseIterator();
+            it = multichars.iterator();
+            
+            while (it.hasNext()) {
+                String key = (String) it.next();
+                
+                // here is a nasty complication. Take 'ffi' ligature. We
+                // can't just close it, since we would miss the combination
+                // that includes the 'fi' => "fi" ligature
+                // so first do a pass through, and add substring combinations
+                // we call this a 'partial closure'
+                
+                Set partialClosure = new TreeSet();
+                partialClosure.add(key);
+                
+                if (UTF16.countCodePoint(key) > 2) {
+                    Iterator multiIt2 = multichars.iterator();
+                    while (multiIt2.hasNext()) {
+                        String otherKey = (String) multiIt2.next();
+                        if (otherKey.length() >= key.length()) continue;
+                        int pos = -1;
+                        while (true) {
+                            // The following is not completely general
+                            // but works for the actual cased stuff,
+                            // and should work for future characters, since we won't have
+                            // more ligatures & other oddities.
+                            pos = key.indexOf(otherKey, pos+1);
+                            if (pos < 0) break;
+                            int endPos = pos + otherKey.length();
+                            // we know we have a proper substring,
+                            // so get the combinations
+                            String[] choices = (String[]) fromCaseFold.get(otherKey);
+                            for (int ii = 0; ii < choices.length; ++ii) {
+                                String patchwork = key.substring(0, pos)
+                                    + choices[ii]
+                                    + key.substring(endPos);
+                                partialClosure.add(patchwork);
+                            }
+                        }
+                    }
+                }
+                
+                // now, for each thing in the partial closure, get its
+                // case closure and add it to the final result.
+                
+                Set closure = new TreeSet(); // this will be the real closure
+                Iterator partialIt = partialClosure.iterator();
+                while (partialIt.hasNext()) {
+                    String key2 = (String) partialIt.next();
+                    ci.reset(key2);
+                    for (String temp = ci.next(); temp != null; temp = ci.next()) {
+                        closure.add(temp);
+                    }
+                    // form closure
+                    /*String[] choices = (String[]) fromCaseFold.get(key2);
+                    for (int i = 0; i < choices.length; ++i) {
+                        ci.reset(choices[i]);
+                        String temp;
+                        while (null != (temp = ci.next())) {
+                            closure.add(temp);
+                        }
+                    }
+                    */
+                }
+                
+                // print it out, so that it can be cut and pasted back into this document.
+                
+                Iterator it2 = closure.iterator();
+                System.out.println("\t// " + toName.transliterate(key));
+                System.out.print("\t{\"" + toHex.transliterate(key) + "\",");
+                while (it2.hasNext()) {
+                    String item = (String)it2.next();
+                    System.out.print("\"" + toHex.transliterate(item) + "\",");
+                }
+                System.out.println("},");
+            }
+        }
+    }
+    
+    // ============ PRIVATE CLASS DATA ============ 
+    
+    // pieces that we will put together
+    // is not changed during iteration
+    private int count = 0;
+    private String[][] variants;
+    
+    // state information, changes during iteration
+    private boolean done = false;
+    private int[] counts;
+    
+    // internal buffer for efficiency
+    private StringBuffer nextBuffer = new StringBuffer();
+    
+    // ========================  
+
+    /**
+     * Reset to different source. Once reset, the iteration starts from the beginning.
+     * @param source The string to get case variants for
+     */
+    public void reset(String source) {
+        
+        // allocate arrays to store pieces
+        // using length might be slightly too long, but we don't care much
+        
+        counts = new int[source.length()];
+        variants = new String[source.length()][];
+        
+        // walk through the source, and break up into pieces
+        // each piece becomes an array of equivalent values
+        // TODO: could optimized this later to coalesce all single string pieces
+        
+        String piece = null;
+        count = 0;
+        for (int i = 0; i < source.length(); i += piece.length()) {
+            
+            // find *longest* matching piece
+            String caseFold = null;
+            
+            if (GENERATE) {
+                // do exactly one CP
+                piece = UTF16.valueOf(source, i);
+                caseFold = (String) toCaseFold.get(piece);
+            } else {               
+                int max = i + maxLength;
+                if (max > source.length()) max = source.length();
+                for (int j = max; j > i; --j) {
+                    piece = source.substring(i, j);
+                    caseFold = (String) toCaseFold.get(piece);
+                    if (caseFold != null) break;
+                }
+            }
+            
+            // if we fail, pick one code point
+            if (caseFold == null) {
+                piece = UTF16.valueOf(source, i);
+                variants[count++] = new String[] {piece}; // single item string
+            } else {
+                variants[count++] = (String[])fromCaseFold.get(caseFold);
+            }
+        }
+        reset();
+    }
+    
+    /**
+     * Restart the iteration from the beginning, but with same source
+     */
+    public void reset() {
+        done = false;
+        for (int i = 0; i < count; ++i) {
+            counts[i] = 0;
+        }
+    }
+    
+    /**
+     * Iterates through the case variants.
+     * @return next case variant. Each variant will case-fold to the same value as the source will.
+     * When the iteration is done, null is returned.
+     */
+    public String next() {
+        
+        if (done) return null;
+        int i;
+        
+        // TODO Optimize so we keep the piece before and after the current position
+        // so we don't have so much concatenation
+        
+        // get the result, a concatenation
+        
+        nextBuffer.setLength(0);
+        for (i = 0; i < count; ++i) {
+            nextBuffer.append(variants[i][counts[i]]);
+        }
+        
+        // find the next right set of pieces to concatenate
+        
+        for (i = count-1; i >= 0; --i) {
+            counts[i]++;
+            if (counts[i] < variants[i].length) break;
+            counts[i] = 0;
+        }
+        
+        // if we go too far, bail
+        
+        if (i < 0) {
+            done = true;
+        }
+        
+        return nextBuffer.toString();            
+    }
+        
+        
+    /**
+     * Temporary test, just to see how the stuff works.
+     */
+    static public void main(String[] args) {
+        String[] testCases = {"fiss", "h\u03a3"};
+        CaseIterator ci = new CaseIterator();
+        
+        for (int i = 0; i < testCases.length; ++i) {
+            String item = testCases[i];
+            System.out.println();
+            System.out.println("Testing: " + toName.transliterate(item));
+            System.out.println();
+            ci.reset(item);
+            int count = 0;
+            for (String temp = ci.next(); temp != null; temp = ci.next()) {
+                System.out.println(toName.transliterate(temp));
+                count++;
+            }
+            System.out.println("Total: " + count);
+        }
+
+        // generate a list of all caseless characters -- characters whose
+        // case closure is themselves.
+
+        UnicodeSet caseless = new UnicodeSet();
+
+        for (int i = 0; i <= 0x10FFFF; ++i) {
+            String cp = UTF16.valueOf(i);
+            ci.reset(cp);
+            int count = 0;
+            String fold = null;
+            for (String temp = ci.next(); temp != null; temp = ci.next()) {
+                fold = temp;
+                if (++count > 1) break;
+            }
+            if (count==1 && fold.equals(cp)) {
+                caseless.add(i);
+            }
+        }
+
+        System.out.println("caseless = " + caseless.toPattern(true));
+
+        UnicodeSet not_lc = new UnicodeSet("[:^lc:]");
+        
+        UnicodeSet a = new UnicodeSet();
+        a.set(not_lc);
+        a.removeAll(caseless);
+        System.out.println("[:^lc:] - caseless = " + a.toPattern(true));
+
+        a.set(caseless);
+        a.removeAll(not_lc);
+        System.out.println("caseless - [:^lc:] = " + a.toPattern(true));
+    }
+}
diff --git a/src/com/ibm/icu/dev/demo/translit/Demo.java b/src/com/ibm/icu/dev/demo/translit/Demo.java
new file mode 100755
index 0000000..ef6c459
--- /dev/null
+++ b/src/com/ibm/icu/dev/demo/translit/Demo.java
@@ -0,0 +1,1373 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.demo.translit;
+
+import java.awt.*;
+import java.awt.event.*;
+import java.util.*;
+import java.text.CharacterIterator;
+import com.ibm.icu.lang.*;
+import com.ibm.icu.text.*;
+
+import java.io.*;
+
+/**
+ * A frame that allows the user to experiment with keyboard
+ * transliteration.  This class has a main() method so it can be run
+ * as an application.  The frame contains an editable text component
+ * and uses keyboard transliteration to process keyboard events.
+ *
+ * <p>Copyright (c) IBM Corporation 1999.  All rights reserved.
+ *
+ * @author Alan Liu
+ */
+public class Demo extends Frame {
+
+    static final boolean DEBUG = false;
+    static final String START_TEXT = "(cut,\u03BA\u03C5\u03C4,\u05D0,\u30AF\u30C8,\u4E80,\u091A\u0941\u0924\u094D)";
+
+    Transliterator translit = null;
+    String fontName = "Arial Unicode MS";
+    int fontSize = 18;
+    
+    
+
+    /*
+    boolean compound = false;
+    Transliterator[] compoundTranslit = new Transliterator[MAX_COMPOUND];
+    static final int MAX_COMPOUND = 128;
+    int compoundCount = 0;
+    */
+
+    TransliteratingTextComponent text = null;
+
+    Menu translitMenu;
+    CheckboxMenuItem translitItem;
+    CheckboxMenuItem noTranslitItem;
+
+    static final String NO_TRANSLITERATOR = "None";
+
+    private static final String COPYRIGHT =
+        "\u00A9 IBM Corporation 1999. All rights reserved.";
+
+    public static void main(String[] args) {
+        Frame f = new Demo(600, 200);
+        f.addWindowListener(new WindowAdapter() {
+            public void windowClosing(WindowEvent e) {
+                System.exit(0);
+            }
+        });
+        f.setVisible(true);
+    }
+
+    public Demo(int width, int height) {
+        super("Transliteration Demo");
+
+        initMenus();
+
+        addWindowListener(new WindowAdapter() {
+            public void windowClosing(WindowEvent e) {
+                handleClose();
+            }
+        });
+        
+        text = new TransliteratingTextComponent();
+        Font font = new Font(fontName, Font.PLAIN, fontSize);
+        text.setFont(font);
+        text.setSize(width, height);
+        text.setVisible(true);
+        text.setText(START_TEXT);
+        add(text);
+
+        setSize(width, height);
+        setTransliterator("Latin-Greek", null);
+    }
+
+    private void initMenus() {
+        MenuBar mbar;
+        Menu menu;
+        MenuItem mitem;
+        //CheckboxMenuItem citem;
+        
+        setMenuBar(mbar = new MenuBar());
+        mbar.add(menu = new Menu("File"));
+        menu.add(mitem = new MenuItem("Quit"));
+        mitem.addActionListener(new ActionListener() {
+            public void actionPerformed(ActionEvent e) {
+                handleClose();
+            }
+        });
+/*
+        final ItemListener setTransliteratorListener = new ItemListener() {
+            public void itemStateChanged(ItemEvent e) {
+                CheckboxMenuItem item = (CheckboxMenuItem) e.getSource();
+                if (e.getStateChange() == ItemEvent.DESELECTED) {
+                    // Don't let the current transliterator be deselected.
+                    // Just reselect it.
+                    item.setState(true);
+                } else if (compound) {
+                    // Adding an item to a compound transliterator
+                    handleAddToCompound(item.getLabel());
+                } else if (item != translitItem) {
+                    // Deselect previous choice.  Don't need to call
+                    // setState(true) on new choice.
+                    translitItem.setState(false);
+                    translitItem = item;
+                    handleSetTransliterator(item.getLabel());
+                }
+            }
+        };
+*/
+        /*
+        translitMenu.add(translitItem = noTranslitItem =
+                         new CheckboxMenuItem(NO_TRANSLITERATOR, true));
+        noTranslitItem.addItemListener(new ItemListener() {
+            public void itemStateChanged(ItemEvent e) {
+                // Can't uncheck None -- any action here sets None to true
+                setNoTransliterator();
+            }
+        });
+
+        translitMenu.addSeparator();
+        */
+
+/*
+        translitMenu.add(citem = new CheckboxMenuItem("Compound"));
+        citem.addItemListener(new ItemListener() {
+            public void itemStateChanged(ItemEvent e) {
+                CheckboxMenuItem item = (CheckboxMenuItem) e.getSource();
+                if (e.getStateChange() == ItemEvent.DESELECTED) {
+                    // If compound gets deselected, then select NONE
+                    setNoTransliterator();
+                } else if (!compound) {
+                    // Switching from non-compound to compound
+                    translitItem.setState(false);
+                    translitItem = item;
+                    translit = null;
+                    compound = true;
+                    compoundCount = 0;
+                    for (int i=0; i<MAX_COMPOUND; ++i) {
+                        compoundTranslit[i] = null;
+                    }
+                }
+            }
+        });
+      
+        translitMenu.addSeparator();
+       */
+
+        /*
+        for (Enumeration e=getSystemTransliteratorNames().elements();
+             e.hasMoreElements(); ) {
+            String s = (String) e.nextElement();
+            translitMenu.add(citem = new CheckboxMenuItem(s));
+            citem.addItemListener(setTransliteratorListener);
+        }
+        */
+        
+        Menu fontMenu = new Menu("Font");
+        String[] fonts = GraphicsEnvironment.getLocalGraphicsEnvironment().getAvailableFontFamilyNames();
+        for (int i = 0; i < fonts.length; ++i) {
+            MenuItem mItem = new MenuItem(fonts[i]);
+            mItem.addActionListener(new FontActionListener(fonts[i]));
+            fontMenu.add(mItem);
+        }
+        mbar.add(fontMenu);
+        
+        Menu sizeMenu = new Menu("Size");
+        int[] sizes = {9, 10, 12, 14, 18, 24, 36, 48, 72};
+        for (int i = 0; i < sizes.length; ++i) {
+            MenuItem mItem = new MenuItem("" + sizes[i]);
+            mItem.addActionListener(new SizeActionListener(sizes[i]));
+            sizeMenu.add(mItem);
+        }
+        mbar.add(sizeMenu);
+        
+        translit = null;
+        
+        mbar.add(translitMenu = new Menu("Transliterator"));
+        
+        translitMenu.add(convertSelectionItem = new MenuItem("Transliterate", 
+            new MenuShortcut(KeyEvent.VK_K)));
+        convertSelectionItem.addActionListener(new ActionListener() {
+            public void actionPerformed(ActionEvent e) {
+                handleBatchTransliterate(translit);
+            }
+        });
+        
+        translitMenu.add(swapSelectionItem = new MenuItem("Reverse", 
+            new MenuShortcut(KeyEvent.VK_S)));
+        swapSelectionItem.addActionListener(new ActionListener() {
+            public void actionPerformed(ActionEvent e) {
+                Transliterator inv;
+                try {
+                    inv = translit.getInverse();
+                } catch (Exception x) {
+                    inv = Transliterator.getInstance("null");
+                }
+                setTransliterator(inv.getID(), null);
+            }
+        });
+        
+        translitMenu.add(convertTypingItem = new MenuItem("No Typing Conversion",
+            new MenuShortcut(KeyEvent.VK_T)));
+        convertTypingItem.addActionListener(new ActionListener() {
+            public void actionPerformed(ActionEvent e) {
+                if (!transliterateTyping) {
+                    text.setTransliterator(translit);
+                    convertTypingItem.setLabel("No Typing Conversion");
+                } else {
+                    text.flush();
+                    text.setTransliterator(null);
+                    convertTypingItem.setLabel("Convert Typing");
+                }
+                transliterateTyping = !transliterateTyping;
+            }
+        });
+        
+        translitMenu.add(historyMenu = new Menu("Recent"));
+        
+        helpDialog = new InfoDialog(this, "Simple Demo", "Instructions",
+           "CTL A, X, C, V have customary meanings.\n"
+         + "Arrow keys, delete and backspace work.\n"
+         + "To get a character from its control point, type the hex, then hit CTL Q"
+        );
+        helpDialog.getArea().setEditable(false);
+        
+       
+        Menu helpMenu;
+        mbar.add(helpMenu = new Menu("Extras"));
+        helpMenu.add(mitem = new MenuItem("Help"));
+        mitem.addActionListener(new ActionListener() {
+            public void actionPerformed(ActionEvent e) {
+                helpDialog.show();
+            }
+        });   
+        
+        hexDialog = new InfoDialog(this, "Hex Entry", "Use U+..., \\u..., \\x{...}, or &#x...;",
+           "\\u00E1"
+        );
+        Button button = new Button("Insert");
+        button.addActionListener(new ActionListener() {
+            public void actionPerformed(ActionEvent e) {
+                String hexValue = hexDialog.getArea().getText();
+                text.insertText(fromHex.transliterate(hexValue));
+            }
+        });
+        hexDialog.getBottom().add(button);
+        
+        helpMenu.add(mitem = new MenuItem("Hex...", 
+            new MenuShortcut(KeyEvent.VK_H)));
+        mitem.addActionListener(new ActionListener() {
+            public void actionPerformed(ActionEvent e) {
+                hexDialog.show();
+            }
+        });
+        
+        // Compound Transliterator
+        
+        compoundDialog = new InfoDialog(this, "Compound Transliterator", "",
+           "[^\\u0000-\\u00FF] hex"
+        );
+        button = new Button("Set");
+        button.addActionListener(new ActionListener() {
+            public void actionPerformed(ActionEvent e) {
+                String compound = "";
+                try {
+                    compound = compoundDialog.getArea().getText();
+                    setTransliterator(compound, null);
+                } catch (RuntimeException ex) {
+                    compoundDialog.getArea().setText(compound + "\n" + ex.getMessage());
+                }
+            }
+        });
+        compoundDialog.getBottom().add(button);
+        
+        translitMenu.add(mitem = new MenuItem("Multiple...", 
+            new MenuShortcut(KeyEvent.VK_M)));
+        mitem.addActionListener(new ActionListener() {
+            public void actionPerformed(ActionEvent e) {
+                compoundDialog.show();
+            }
+        });
+        
+        // RuleBased Transliterator
+        
+        rulesDialog = new InfoDialog(this, "Rule-Based Transliterator", "",
+           "([A-Z]) > &Hex($1) &Name($1);\r\n" 
+            + "&Hex-Any($1) < ('\\' [uU] [a-fA-F0-9]*);\r\n" 
+            + "&Name-Any($1) < ('{' [^\\}]* '}');"
+        );
+        button = new Button("Set");
+        button.addActionListener(new ActionListener() {
+            public void actionPerformed(ActionEvent e) {
+                String compound = "";
+                try {
+                    compound = rulesDialog.getArea().getText();
+                    String id = ruleId.getText();
+                    setTransliterator(compound, id);
+                } catch (RuntimeException ex) {
+                    rulesDialog.getArea().setText(compound + "\n#" + ex.getMessage());
+                }
+            }
+        });
+        rulesDialog.getBottom().add(button);
+        ruleId = new TextField("test1", 20);
+        Label temp = new Label(" Name:");
+        rulesDialog.getBottom().add(temp);
+        rulesDialog.getBottom().add(ruleId);
+        
+        
+        translitMenu.add(mitem = new MenuItem("From Rules...", 
+            new MenuShortcut(KeyEvent.VK_R)));
+        mitem.addActionListener(new ActionListener() {
+            public void actionPerformed(ActionEvent e) {
+                rulesDialog.show();
+            }
+        });
+        
+        
+        translitMenu.add(mitem = new MenuItem("From File...", 
+            new MenuShortcut(KeyEvent.VK_F)));
+        mitem.addActionListener(new FileListener(this, RULE_FILE));
+        
+        translitMenu.add(mitem = new MenuItem("Test File..."));
+        mitem.addActionListener(new FileListener(this, TEST_FILE));
+        
+        // Flesh out the menu with the installed transliterators
+        
+        translitMenu.addSeparator();
+        
+        Iterator sources = add(new TreeSet(), Transliterator.getAvailableSources()).iterator();
+        while(sources.hasNext()) {
+            String source = (String) sources.next();
+            Iterator targets = add(new TreeSet(), Transliterator.getAvailableTargets(source)).iterator();
+            Menu targetMenu = new Menu(source);
+            while(targets.hasNext()) {
+                String target = (String) targets.next();
+                Set variantSet = add(new TreeSet(), Transliterator.getAvailableVariants(source, target));
+                if (variantSet.size() < 2) {
+                    mitem = new MenuItem(target);
+                    mitem.addActionListener(new TransliterationListener(source + "-" + target));
+                    targetMenu.add(mitem);
+                } else {
+                    Iterator variants = variantSet.iterator();
+                    Menu variantMenu = new Menu(target);
+                    while(variants.hasNext()) {
+                        String variant = (String) variants.next();
+                        String menuName = variant.length() == 0 ? "<default>" : variant;
+                        //System.out.println("<" + source + "-" + target + "/" + variant + ">, <" + menuName + ">");
+                        mitem = new MenuItem(menuName);
+                        mitem.addActionListener(new TransliterationListener(source + "-" + target + "/" + variant));
+                        variantMenu.add(mitem);
+                    }
+                    targetMenu.add(variantMenu);
+                }
+            }
+            translitMenu.add(targetMenu);
+        }
+        
+        
+    }
+    
+    static final int RULE_FILE = 0, TEST_FILE = 1;
+    //
+    static class FileListener implements ActionListener {
+        Demo frame;
+        int choice;
+        
+        FileListener(Demo frame, int choice) {
+            this.frame = frame;
+            this.choice = choice;
+        }
+        
+        public void actionPerformed(ActionEvent e) {
+            String id = frame.translit.getID();
+            int slashPos = id.indexOf('/');
+            String variant = "";
+            if (slashPos >= 0) {
+                variant = "_" + id.substring(slashPos+1);
+                id = id.substring(0, slashPos);
+            }
+            
+            FileDialog fileDialog = new FileDialog(frame, "Input File");
+            fileDialog.setFile("Test_" + id + ".txt");
+            fileDialog.show();
+            String fileName = fileDialog.getFile();
+            String fileDirectory = fileDialog.getDirectory();
+            if (fileName != null) {
+                try {
+                    File f = new File(fileDirectory, fileName);
+                    if (choice == RULE_FILE) {
+                        
+                        // read stuff into buffer
+                        
+                        StringBuffer buffer = new StringBuffer();
+                        FileInputStream fis = new FileInputStream(f);
+                        InputStreamReader isr = new InputStreamReader(fis, "UTF8");
+                        BufferedReader br = new BufferedReader(isr, 32*1024);
+                        while (true) {
+                            String line = br.readLine();
+                            if (line == null) break;
+                            if (line.length() > 0 && line.charAt(0) == '\uFEFF') line = line.substring(1); // strip BOM
+                            buffer.append('\n');
+                            buffer.append(line);
+                        }
+                        br.close();
+                        
+                        // Transform file name into id
+                        if (fileName.startsWith("Transliterator_")) {
+                            fileName = fileName.substring("Transliterator_".length());
+                        }
+                        int pos = fileName.indexOf('_');
+                        if (pos < 0) {
+                            id = fileName;
+                        } else {
+                            id = fileName.substring(0, pos) + "-";
+                            int pos2 = fileName.indexOf('_', pos+1);
+                            if (pos2 < 0) {
+                                id += fileName.substring(pos+1);
+                            } else {
+                                id += fileName.substring(pos+1, pos2) + "/" + fileName.substring(pos2 + 1);
+                            }
+                        }                        
+                        pos = id.lastIndexOf('.');
+                        if (pos >= 0) id = id.substring(0, pos);
+                        
+                        // Now set
+                        
+                        frame.setTransliterator(buffer.toString(), id);
+                    } else if (choice == TEST_FILE) {
+                        genTestFile(f, frame.translit, variant);
+                    }
+                } catch (Exception e2) {
+                    e2.printStackTrace();
+                    System.out.println("Problem opening/reading: " + fileDirectory + ", " + fileName);
+                }
+            }
+            fileDialog.dispose();
+        }
+    }
+    
+
+    boolean transliterateTyping = true;
+    Transliterator fromHex = Transliterator.getInstance("Hex-Any");
+    InfoDialog helpDialog;
+    InfoDialog hexDialog;
+    InfoDialog compoundDialog;
+    InfoDialog rulesDialog;
+    TextField ruleId;
+    MenuItem convertSelectionItem = null;
+    MenuItem swapSelectionItem = null;
+    MenuItem convertTypingItem = null;
+    Menu historyMenu;
+    Map historyMap = new HashMap();
+    Set historySet = new TreeSet(new Comparator() {
+            public int compare(Object a, Object b) {
+                MenuItem aa = (MenuItem)a;
+                MenuItem bb = (MenuItem)b;
+                return aa.getLabel().compareTo(bb.getLabel());
+            }
+        });
+        
+    // ADD Factory since otherwise getInverse blows out
+    static class DummyFactory implements Transliterator.Factory {
+        static DummyFactory singleton = new DummyFactory();
+        static HashMap m = new HashMap();
+
+        // Since Transliterators are immutable, we don't have to clone on set & get
+        static void add(String ID, Transliterator t) {
+            m.put(ID, t);
+            System.out.println("Registering: " + ID + ", " + t.toRules(true));
+            Transliterator.registerFactory(ID, singleton);
+        }
+        public Transliterator getInstance(String ID) {
+            return (Transliterator) m.get(ID);
+        }
+    }
+    
+    static void printBreaks(int num, String testSource, BreakIterator bi) {
+        String result = "";
+        int lastPos = 0;
+        while (true) {
+            int pos = bi.next();
+            if (pos == BreakIterator.DONE) break;
+            result += testSource.substring(lastPos, pos) + "&";
+            lastPos = pos;
+            System.out.println(pos);
+        }
+        System.out.println("Test" + num + ": " + result);
+    }
+    
+    static void printIteration(int num, String testSource, CharacterIterator ci) {
+        String result = "";
+        while (true) {
+            char ch = ci.next();
+            if (ch == CharacterIterator.DONE) break;
+            result += ch + "(" + ci.getIndex() + ")";
+        }
+        System.out.println("Test" + num + ": " + result);
+    }
+    
+    static void printSources() {
+        String[] list = {"Latin-ThaiLogical", "ThaiLogical-Latin", "Thai-ThaiLogical", "ThaiLogical-Thai"};
+        UnicodeSet all = new UnicodeSet();
+        for (int i = 0; i < list.length; ++i) {
+            Transliterator tr = Transliterator.getInstance(list[i]);
+            UnicodeSet src = tr.getSourceSet();
+            System.out.println(list[i] + ": " + src.toPattern(true));
+            all.addAll(src);
+        }
+        System.out.println("All: " + all.toPattern(true));
+        UnicodeSet rem = new UnicodeSet("[[:latin:][:thai:]]");
+        System.out.println("missing from [:latin:][:thai:]: " + all.removeAll(rem).toPattern(true));
+    }
+    
+    // 200E;LEFT-TO-RIGHT MARK;Cf;0;L;;;;;N;;;;;
+
+    static Transliterator title = Transliterator.getInstance("title");
+    static String hexAndNameRules = "    ([:c:]) > \\u200E &hex/unicode($1) ' ( ) ' &name($1) \\u200E ' ';"
+        + "([:mark:]) > \\u200E &hex/unicode($1) ' ( ' \\u200E \u25CC $1 \\u200E ' ) ' &name($1) \\u200E ' ';"
+        + "(.) > \\u200E &hex/unicode($1) ' ( ' \\u200E $1 \\u200E ' ) ' &name($1) ' ' \\u200E;";
+
+    static Transliterator hexAndName = Transliterator.createFromRules("any-hexAndName", 
+        hexAndNameRules, Transliterator.FORWARD);
+    
+
+
+    //static Transliterator upper = Transliterator.getInstance("upper");
+     
+    static final byte NONE = 0, TITLEWORD = 1, TITLELINE = 2;
+    
+    static void genTestFile(File sourceFile, Transliterator translit, String variant) {
+        try {
+            
+            System.out.println("Reading: " + sourceFile.getCanonicalPath());
+            BufferedReader in = new BufferedReader(
+                new InputStreamReader(
+                    new FileInputStream(sourceFile), "UTF-8"));
+            String targetFile = sourceFile.getCanonicalPath();
+            int dotPos = targetFile.lastIndexOf('.');
+            if (dotPos >= 0) targetFile = targetFile.substring(0,dotPos);
+            targetFile += variant;
+            
+            File outFile = new File(targetFile + ".html");
+            System.out.println("Writing: " + outFile.getCanonicalPath());
+            
+            PrintWriter out = new PrintWriter(
+                new BufferedWriter(
+                    new OutputStreamWriter(
+                        new FileOutputStream(outFile), "UTF-8")));
+                        
+            String direction = "";
+            String id = translit.getID();
+            if (id.indexOf("Arabic") >= 0 || id.indexOf("Hebrew") >= 0) {
+                direction = " direction: rtl;";
+            }
+            boolean testRoundTrip = true;
+            boolean generateSets = true;
+            if (id.startsWith("Han-") || id.startsWith("ja-")) {
+                testRoundTrip = false;
+                generateSets = false;
+            }
+            out.println("<head><meta http-equiv='Content-Type' content='text/html; charset=utf-8'>");
+            out.println("<style><!--");
+            out.println("td, th       { vertical-align: top; border: 1px solid black }");
+            out.println("td.s       { background-color: #EEEEEE;" + direction + " }");
+            out.println("td.r       { background-color: #CCCCCC;" + direction + " }");
+            out.println("td.n       { background-color: #FFFFCC; }");
+            out.println("td.title       { border: 0px solid black}");
+            out.println("span.d       { background-color: #FF6666 }");
+            out.println("span.r       { background-color: #66FF66 }");
+
+            out.println("body         { font-family: 'Arial Unicode MS', 'Lucida Sans Unicode', Arial, sans-serif; margin: 5 }");
+            out.println("--></style>");
+            out.println("<title>" + id + " Transliteration Check</title></head>");
+            out.println("<body bgcolor='#FFFFFF'><p>See <a href='Test_Instructions.html'>Test_Instructions.html</a> for details.</p>");
+            out.println("<table>");
+            
+            //out.println("<tr><th width='33%'>Thai</th><th width='33%'>Latin</th><th width='33%'>Thai</th></tr>");
+  
+            Transliterator tl = translit;
+            Transliterator lt = tl.getInverse();
+            
+            Transliterator ltFilter = tl.getInverse();
+            ltFilter.setFilter(new UnicodeSet("[:^Lu:]"));
+            Transliterator tlFilter = lt.getInverse();
+            tlFilter.setFilter(new UnicodeSet("[:^Lu:]"));
+            
+            //Transliterator.getInstance("[:^Lu:]" +  lt.getID());
+            
+            BreakIterator sentenceBreak = BreakIterator.getSentenceInstance();
+            
+            byte titleSetting = TITLELINE;
+            boolean upperfilter = false;
+            boolean first = true;
+            while (true) {
+                String line = in.readLine();
+                if (line == null) break;
+                line = line.trim();
+                if (line.length() == 0) continue;
+                if (line.charAt(0) == '\uFEFF') line = line.substring(1); // remove BOM
+                
+                if (line.charAt(0) == '#') continue; // comments
+                
+                if (line.equals("@TITLECASE@")) {
+                    titleSetting = TITLEWORD;
+                    out.println("<tr><td colspan='2' class='title'><b>Names</b></td></tr>");
+                    continue;
+                } else if (line.equals("@UPPERFILTER@")) {
+                    upperfilter = true;
+                    continue;
+                } else if (line.startsWith("@SET")) {
+                    UnicodeSet s = new UnicodeSet(line.substring(4).trim());
+                    out.println("<tr><td colspan='2' class='title'><b>Characters</b></td></tr>");
+                    UnicodeSetIterator it = new UnicodeSetIterator(s);
+                    while (it.next()) {
+                        addSentenceToTable(out, it.codepoint != UnicodeSetIterator.IS_STRING 
+                            ? UTF16.valueOf(it.codepoint)
+                            : it.string,
+                            NONE, true, testRoundTrip, first, tl, lt);
+                    }
+                    continue;
+                }
+                        
+                sentenceBreak.setText(line);
+                int start = 0;
+                while (true) {
+                    int end = sentenceBreak.next();
+                    if (end == BreakIterator.DONE) break;
+                    String coreSentence = line.substring(start, end);
+                    //System.out.println("Core: " + hex.transliterate(coreSentence));
+                    end = start;
+                    
+                    int oldPos = 0;
+                    while (oldPos < coreSentence.length()) {
+                        // hack, because sentence doesn't seem to be working right
+                        int pos = coreSentence.indexOf(". ", oldPos);
+                        if (pos < 0) pos = coreSentence.length(); else pos = pos+2;
+                        int pos2 = coreSentence.indexOf('\u3002', oldPos);
+                        if (pos2 < 0) pos2 = coreSentence.length(); else pos2 = pos2 + 1;
+                        if (pos > pos2) pos = pos2;
+                        String sentence = coreSentence.substring(oldPos, pos).trim();
+                        //System.out.println("Sentence: " + hex.transliterate(coreSentence));
+                        oldPos = pos;
+                        
+                        addSentenceToTable(out, sentence,
+                            titleSetting, false, testRoundTrip, first, tl, lt);
+                        
+                        first = false;
+                    }
+                }
+            }
+            out.println("</table></body>");
+            out.close();
+            
+            // Now write the source/target sets
+            if (generateSets) {
+                outFile = new File(targetFile + "_Sets.html");
+                System.out.println("Writing: " + outFile.getCanonicalPath());
+                
+                out = new PrintWriter(
+                    new BufferedWriter(
+                        new OutputStreamWriter(
+                            new FileOutputStream(outFile), "UTF-8")));
+                out.println("<head><meta http-equiv='Content-Type' content='text/html; charset=utf-8'>");
+                out.println("<style><!--");
+                out.println("body         { font-family: 'Arial Unicode MS', 'Lucida Sans Unicode', Arial, sans-serif; margin: 5 }");
+                out.println("--></style>");
+                out.println("<title>" + id + " Transliteration Sets</title></head>");
+                out.println("<body bgcolor='#FFFFFF'>");
+                
+                int dashPos = id.indexOf('-');
+                int slashPos = id.indexOf('/');
+                if (slashPos < 0) slashPos = id.length();
+                UnicodeSet sourceSuper = null;
+                try {
+                    String temp = id.substring(0,dashPos);
+                    if (temp.equals("ja")) sourceSuper = new UnicodeSet("[[:Han:][:hiragana:][:katakana:]]");
+                    else sourceSuper = new UnicodeSet("[[:" + temp + ":][:Mn:][:Me:]]");
+                } catch (Exception e) {}
+                
+                UnicodeSet targetSuper = null;
+                try {
+                    targetSuper = new UnicodeSet("[[:" + id.substring(dashPos+1, slashPos) + ":][:Mn:][:Me:]]");
+                } catch (Exception e) {}
+                
+                int nfdStyle = CLOSE_CASE | CLOSE_FLATTEN | CLOSE_CANONICAL;
+                int nfkdStyle = nfdStyle | CLOSE_COMPATIBILITY;
+                out.println("<ul>");
+                out.println("<p><b>None</b></p>");
+                showSets(out, translit, lt, null, null, 0);
+                out.println("<p><b>NFD</b></p>");
+                showSets(out, translit, lt, sourceSuper, targetSuper, nfdStyle);
+                out.println("<p><b>NFKD</b></p>");
+                showSets(out, translit, lt, sourceSuper, targetSuper, nfkdStyle);
+                out.println("</ul></body>");
+                out.close();
+            }
+            System.out.println("Done Writing");
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+    
+    static void addSentenceToTable(PrintWriter out, String sentence, 
+            byte titleSetting, boolean addName, boolean testRoundTrip, boolean first,
+            Transliterator tl, Transliterator lt) {
+        if (sentence.length() == 0) return; // skip empty lines
+        
+        String originalShow = sentence;
+        String latin;
+        latin = tl.transliterate(saveAscii.transliterate(sentence));
+
+        String latinShow = latin;
+        if (titleSetting == TITLEWORD) {
+            latinShow = title.transliterate(latin);
+        } else if (titleSetting == TITLELINE) {
+            latinShow = titlecaseFirstWord(latinShow);
+        }
+        latinShow = restoreAscii.transliterate(latinShow);
+                        
+        String reverse;
+        reverse = restoreAscii.transliterate(lt.transliterate(latin));
+                        
+        String NFKDSentence = Normalizer.normalize(sentence, Normalizer.NFKD);
+        String NFKDLatin = Normalizer.normalize(latin, Normalizer.NFKD);
+        String NFKDReverse = Normalizer.normalize(reverse, Normalizer.NFKD);
+        
+        if (latinShow.length() == 0) {
+            latinShow = "<i>empty</i>";
+        } else if (NFKDSentence.equals(NFKDLatin)) {
+            latinShow = "<span class='r'>" + latinShow + "</span>";
+        }
+        String reverseShow = reverse;
+        
+        if (testRoundTrip && !NFKDReverse.equals(NFKDSentence)) {
+            int minLen = reverse.length();
+            if (minLen > sentence.length()) minLen = sentence.length();
+            int i;
+            for (i = 0; i < minLen; ++i) {
+                if (reverse.charAt(i) != sentence.charAt(i)) break;
+            }
+            //originalShow = sentence.substring(0,i) + "<span class='d'>" + sentence.substring(i) + "</span>";
+            reverseShow = reverseShow.length() == 0 
+                ? "<i>empty</i>" 
+                //: reverse.substring(0,i) + "<span class='d'>" + reverse.substring(i) + "</span>";
+                : showDifference(sentence, reverse);
+            out.println("<tr><td class='s'" + (first ? " width='50%'>" : ">") + originalShow 
+                + "</td><td rowSpan='2'>" + latinShow
+                + "</td></tr><tr><td class='r'>" + reverseShow
+                + "</td></tr>");
+        } else {
+            out.println("<tr><td class='s'" + (first ? " width='50%'>" : ">") + originalShow 
+                + "</td><td>" + latinShow
+                + "</td></tr>");
+        }
+        if (addName) {
+            latinShow = hexAndName.transliterate(latin);
+            if (latinShow.length() == 0) latinShow = "<i>empty</i>";
+            originalShow = hexAndName.transliterate(sentence);
+            if (originalShow.length() == 0) originalShow = "<i>empty</i>";
+
+            out.println("<tr><td class='n'>" + originalShow
+                + "</td><td class='n'>" + latinShow
+                + "</td></tr>");
+        }
+        out.println("<tr><td></td></tr>");
+        
+    }
+    
+    static String showDifference(String as, String bs) {
+        Differ differ = new Differ(300, 3);
+        StringBuffer out = new StringBuffer();
+        int max = as.length();
+        if (max < bs.length()) max = bs.length();
+        for (int j = 0; j <= max; ++j) {
+            if (j < as.length()) differ.addA(as.substring(j, j+1));
+            if (j < bs.length()) differ.addB(bs.substring(j, j+1));
+            differ.checkMatch(j == max);
+
+            if (differ.getACount() != 0 || differ.getBCount() != 0) {
+                out.append("...");
+                if (differ.getACount() != 0) {
+                    out.append("<span class='r'>");
+                    for (int i = 0; i < differ.getACount(); ++i) {
+                        out.append(differ.getA(i));
+                    }
+                    out.append("</span>");
+                }
+                if (differ.getBCount() != 0) {
+                    out.append("<span class='d'>");
+                    for (int i = 0; i < differ.getBCount(); ++i) {
+                        out.append(differ.getB(i));
+                    }
+                    out.append("</span>");
+                }
+                out.append("...");
+            }
+        }
+        return out.toString();
+    }
+    
+    static void showSets(PrintWriter out, Transliterator translit, Transliterator inverse,
+      UnicodeSet sourceSuper, UnicodeSet targetSuper, int options) {
+        out.println("<li>Source Set:<ul><li>" +         toPattern(closeUnicodeSet(translit.getSourceSet(), options), sourceSuper) + "</li></ul></li>");
+        out.println("<li>Reverse Target Set:<ul><li>" + toPattern(closeUnicodeSet(inverse.getTargetSet(),  options), sourceSuper) + "</li></ul></li>");
+        out.println("<li>Target Set:<ul><li>" +         toPattern(closeUnicodeSet(translit.getTargetSet(), options), targetSuper) + "</li></ul></li>");
+        out.println("<li>Reverse Source Set:<ul><li>" + toPattern(closeUnicodeSet(inverse.getSourceSet(),  options), targetSuper) + "</li></ul></li>");
+    }
+        
+    static final int CLOSE_CASE = 1, CLOSE_FLATTEN = 2, CLOSE_CANONICAL = 4, CLOSE_COMPATIBILITY = 8;
+    
+    static UnicodeSet closeUnicodeSet(UnicodeSet source, int options) {
+        if (options == 0) return source;
+        
+        UnicodeSetIterator it = new UnicodeSetIterator(source);
+        UnicodeSet additions = new UnicodeSet(); // to avoid messing up iterator
+        UnicodeSet removals = new UnicodeSet(); // to avoid messing up iterator
+        String base;
+        int cp;
+        
+        // Add all case equivalents
+        if ((options & CLOSE_CASE) != 0) {
+            while (it.next()) {
+                cp = it.codepoint;
+                if (cp == UnicodeSetIterator.IS_STRING) continue;
+                int type = UCharacter.getType(cp);
+                if (type == Character.UPPERCASE_LETTER || type == Character.LOWERCASE_LETTER || type == Character.TITLECASE_LETTER) {
+                    additions.add(UCharacter.toLowerCase(UTF16.valueOf(cp)));
+                    additions.add(UCharacter.toUpperCase(UTF16.valueOf(cp)));
+                }
+            }
+            source.addAll(additions);
+        }
+       
+        // Add the canonical closure of all strings and characters in source
+        if ((options & CLOSE_CANONICAL) != 0) {
+            it.reset();
+            additions.clear();
+            CanonicalIterator ci = new CanonicalIterator(".");
+            while (it.next()) {
+                if (it.codepoint == UnicodeSetIterator.IS_STRING) base = it.string;
+                else base = UTF16.valueOf(it.codepoint);
+                ci.setSource(base);
+                while (true) {
+                    String trial = ci.next();
+                    if (trial == null) break;
+                    if (trial.equals(base)) continue;
+                    additions.add(trial);
+                }
+            }
+            source.addAll(additions);
+        }
+
+        // flatten strings
+        if ((options & CLOSE_FLATTEN) != 0) {
+            it.reset();
+            additions.clear();
+            while (it.next()) {
+                if (it.codepoint != UnicodeSetIterator.IS_STRING) continue;
+                additions.addAll(it.string);
+                removals.add(it.string);
+                //System.out.println("flattening '" + hex.transliterate(it.string) + "'");
+            }
+            source.addAll(additions);
+            source.removeAll(removals);
+        }
+       
+        // Now add decompositions of characters in source
+        if ((options & CLOSE_COMPATIBILITY) != 0) {
+            it.reset(source);
+            additions.clear();
+            while (it.next()) {
+                if (it.codepoint == UnicodeSetIterator.IS_STRING) base = it.string;
+                else base = UTF16.valueOf(it.codepoint);
+                if (Normalizer.isNormalized(base, Normalizer.NFKD,0)) continue;
+                String decomp = Normalizer.normalize(base, Normalizer.NFKD);
+                additions.add(decomp);
+            }
+            source.addAll(additions);
+            
+            // Now add any other character that decomposes to a character in source
+            for (cp = 0; cp < 0x10FFFF; ++cp) {
+                if (!UCharacter.isDefined(cp)) continue;
+                if (Normalizer.isNormalized(cp, Normalizer.NFKD,0)) continue;
+                if (source.contains(cp)) continue;
+                
+                String decomp = Normalizer.normalize(cp, Normalizer.NFKD);
+                if (source.containsAll(decomp)) {
+                    // System.out.println("Adding: " + Integer.toString(cp,16) + " " + UCharacter.getName(cp));
+                    source.add(cp);
+                }
+            }
+        }
+        
+        return source;
+    }
+    
+    static String toPattern(UnicodeSet source, UnicodeSet superset) {
+        if (superset != null) {
+            source.removeAll(superset);
+            return "[" + superset.toPattern(true) + " " + source.toPattern(true) + "]";
+        }
+        return source.toPattern(true);
+    }
+    
+    static BreakIterator bi = BreakIterator.getWordInstance();
+    
+    static String titlecaseFirstWord(String line) {
+        // search for first word with letters. If the first letter is lower, then titlecase it.
+        bi.setText(line);
+        int start = 0;
+        while (true) {
+            int end = bi.next();
+            if (end == BreakIterator.DONE) break;
+            int firstLetterType = getFirstLetterType(line, start, end);
+            if (firstLetterType != Character.UNASSIGNED) {
+                if (firstLetterType != Character.LOWERCASE_LETTER) break;
+                line = line.substring(0, start) 
+                    + UCharacter.toTitleCase(line.substring(start, end), bi)
+                    + line.substring(end);
+                break;
+            }
+            end = start;
+        }
+        return line;
+    }
+    
+    static final int LETTER_MASK = 
+          (1<<Character.UPPERCASE_LETTER)
+        | (1<<Character.LOWERCASE_LETTER)
+        | (1<<Character.TITLECASE_LETTER)
+        | (1<<Character.MODIFIER_LETTER)
+        | (1<<Character.OTHER_LETTER)
+        ;
+    
+    static int getFirstLetterType(String line, int start, int end) {
+        int cp;
+        for (int i = start; i < end; i += UTF16.getCharCount(cp)) {
+            cp = UTF16.charAt(line, i);
+            int type = UCharacter.getType(cp);
+            if (((1<<type) & LETTER_MASK) != 0) return type;
+        }
+        return Character.UNASSIGNED;
+    }
+    
+    static void printNames(UnicodeSet s, String targetFile) {
+        try {
+            File outFile = new File(targetFile);
+            System.out.println("Writing: " + outFile.getCanonicalPath());
+                
+            PrintWriter out = new PrintWriter(
+                new BufferedWriter(
+                    new OutputStreamWriter(
+                        new FileOutputStream(outFile), "UTF-8")));
+            UnicodeSet main = new UnicodeSet();
+            
+            UnicodeSet others = new UnicodeSet();
+            UnicodeSetIterator it = new UnicodeSetIterator(s);
+            while (it.next()) {
+                if (!UCharacter.isDefined(it.codepoint)) continue;
+                if (!Normalizer.isNormalized(it.codepoint, Normalizer.NFD,0)) {
+                    String decomp = Normalizer.normalize(it.codepoint, Normalizer.NFD);
+                    others.addAll(decomp);
+                    continue;
+                }
+                out.println(" " + UTF16.valueOf(it.codepoint) + " <> XXX # " + UCharacter.getName(it.codepoint));
+                main.add(it.codepoint);
+            }
+            
+            if (others.size() != 0) {
+                out.println("Decomposed characters found above: ");
+                others.removeAll(main);
+                it.reset(others);
+                while (it.next()) {
+                    out.println(" " + UTF16.valueOf(it.codepoint) + " <> XXX # " + UCharacter.getName(it.codepoint));
+                }
+            }
+            
+            out.close();
+            System.out.println("Done Writing");
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+    
+    static Transliterator hex = Transliterator.getInstance("[^\\u0020-\\u007E] hex");
+    static final String saveRules = 
+          "A <> \uEA41; B <> \uEA42; C <> \uEA43; D <> \uEA44; E <> \uEA45; F <> \uEA46; G <> \uEA47; H <> \uEA48; I <> \uEA49; "
+        + "J <> \uEA4A; K <> \uEA4B; L <> \uEA4C; M <> \uEA4D; N <> \uEA4E; O <> \uEA4F; P <> \uEA50; Q <> \uEA51; R <> \uEA52; "
+        + "S <> \uEA53; T <> \uEA54; U <> \uEA55; V <> \uEA56; W <> \uEA57; X <> \uEA58; Y <> \uEA59; Z <> \uEA5A; "
+        + "a <> \uEA61; b <> \uEA62; c <> \uEA63; d <> \uEA64; e <> \uEA65; f <> \uEA66; g <> \uEA67; h <> \uEA68; i <> \uEA69; "
+        + "j <> \uEA6A; k <> \uEA6B; l <> \uEA6C; m <> \uEA6D; n <> \uEA6E; o <> \uEA6F; p <> \uEA70; q <> \uEA71; r <> \uEA72; "
+        + "s <> \uEA73; t <> \uEA74; u <> \uEA75; v <> \uEA76; w <> \uEA77; x <> \uEA78; y <> \uEA79; z <> \uEA7A;";
+        
+    static Transliterator saveAscii = Transliterator.createFromRules("ascii-saved", saveRules, Transliterator.FORWARD);
+    static Transliterator restoreAscii = Transliterator.createFromRules("ascii-saved", saveRules, Transliterator.REVERSE);
+    
+    static {
+        
+        if (false) {
+        
+        for (char i = 'A'; i <= 'z'; ++i) {
+            System.out.print(i + " <> " + hex.transliterate(String.valueOf((char)(0xEA00 + i))) + "; ");
+        }
+
+        UnicodeSet x = new UnicodeSet("[[:^ccc=0:]&[:^ccc=230:]]");
+        x = x.complement();
+        x = x.complement();
+        System.out.println("Test: " + x.toPattern(true));
+        
+        Transliterator y = Transliterator.createFromRules("xxx", "$notAbove = [[:^ccc=0:]&[:^ccc=230:]]; u ($notAbove*) \u0308 > XXX | $1; ", Transliterator.FORWARD);
+        
+        String[] testList = {"u\u0308", "u\u0316\u0308", "u\u0308\u0316", "u\u0301\u0308", "u\u0308\u0301"};
+        for (int i = 0; i < testList.length; ++i) {
+            String yy = y.transliterate(testList[i]);
+            System.out.println(hex.transliterate(testList[i]) + " => " + hex.transliterate(yy));
+        }
+        
+        //printNames(new UnicodeSet("[\u0600-\u06FF]"), "Arabic-Latin.txt");
+        
+        
+        /*  
+        BreakTransliterator.register();
+        
+        BreakTransliterator testTrans = new BreakTransliterator("Any-XXX", null, null, "$");
+        String testSource = "The Quick:   Brown fox--jumped.";
+        BreakIterator bi = testTrans.getBreakIterator();
+        bi.setText(new StringCharacterIterator(testSource));
+        printBreaks(0, testSource, bi);
+        //bi.setText(UCharacterIterator.getInstance(testSource));
+        //printBreaks(1, testSource, bi);
+        
+        printIteration(2, testSource, new StringCharacterIterator(testSource));
+        //printIteration(3, testSource, UCharacterIterator.getInstance(testSource));
+        
+        
+        
+        String test = testTrans.transliterate(testSource);
+        System.out.println("Test3: " + test);
+        DummyFactory.add(testTrans.getID(), testTrans);
+        */
+        
+        // AnyTransliterator.ScriptRunIterator.registerAnyToScript();
+        
+        AnyTransliterator at = new AnyTransliterator("Greek", null);
+        at.transliterate("(cat,\u03b1,\u0915)");
+        DummyFactory.add(at.getID(), at);
+        
+        at = new AnyTransliterator("Devanagari", null);
+        at.transliterate("(cat,\u03b1,\u0915)");
+        DummyFactory.add(at.getID(), at);
+        
+        at = new AnyTransliterator("Latin", null);
+        at.transliterate("(cat,\u03b1,\u0915)");
+        DummyFactory.add(at.getID(), at);
+        
+        DummyFactory.add("Any-gif", Transliterator.createFromRules("gif", "'\\'u(..)(..) > '<img src=\"http://www.unicode.org/gifs/24/' $1 '/U' $1$2 '.gif\">';", Transliterator.FORWARD));        
+        DummyFactory.add("gif-Any", Transliterator.getInstance("Any-Null"));        
+
+        DummyFactory.add("Any-RemoveCurly", Transliterator.createFromRules("RemoveCurly", "[\\{\\}] > ;", Transliterator.FORWARD));        
+        DummyFactory.add("RemoveCurly-Any", Transliterator.getInstance("Any-Null"));
+        
+        System.out.println("Trying &hex");
+        Transliterator t = Transliterator.createFromRules("hex2", "(.) > &hex($1);", Transliterator.FORWARD);
+        System.out.println("Registering");
+        DummyFactory.add("Any-hex2", t);        
+        
+        System.out.println("Trying &gif");
+        t = Transliterator.createFromRules("gif2", "(.) > &any-gif($1);", Transliterator.FORWARD);
+        System.out.println("Registering");
+        DummyFactory.add("Any-gif2", t);    
+        }
+    }
+    
+    
+    void setTransliterator(String name, String id) {
+        if (DEBUG) System.out.println("Got: " + name);
+        if (id == null) {
+            translit = Transliterator.getInstance(name);
+        } else {
+            String reverseId = "";
+            int pos = id.indexOf('-');
+            if (pos < 0) {
+                reverseId = id + "-Any";
+                id = "Any-" + id;
+            } else {
+                int pos2 = id.indexOf("/", pos);
+                if (pos2 < 0) {
+                    reverseId = id.substring(pos+1) + "-" + id.substring(0,pos);
+                } else {
+                    reverseId = id.substring(pos+1, pos2) + "-" + id.substring(0,pos) + id.substring(pos2);
+                }
+            }
+            
+            
+            translit = Transliterator.createFromRules(id, name, Transliterator.FORWARD);
+            if (DEBUG) {
+                System.out.println("***Forward Rules");
+                System.out.println(translit.toRules(true));
+                System.out.println("***Source Set");
+                System.out.println(translit.getSourceSet().toPattern(true));
+            }
+                System.out.println("***Target Set");
+                UnicodeSet target = translit.getTargetSet();
+                System.out.println(target.toPattern(true));
+                UnicodeSet rest = new UnicodeSet("[a-z]").removeAll(target);
+                System.out.println("***ASCII - Target Set");
+                System.out.println(rest.toPattern(true));
+                
+            DummyFactory.add(id, translit);
+            
+            Transliterator translit2 = Transliterator.createFromRules(reverseId, name, Transliterator.REVERSE);
+            if (DEBUG) {
+                System.out.println("***Backward Rules");
+                System.out.println(translit2.toRules(true));
+            }
+            DummyFactory.add(reverseId, translit2);
+            
+            Transliterator rev = translit.getInverse();
+            if (DEBUG) System.out.println("***Inverse Rules");
+            if (DEBUG) System.out.println(rev.toRules(true));
+            
+        }
+        text.flush();
+        text.setTransliterator(translit);
+        convertSelectionItem.setLabel(Transliterator.getDisplayName(translit.getID()));
+        
+        addHistory(translit);
+        
+        Transliterator inv;
+        try {
+            inv = translit.getInverse();
+        } catch (Exception ex) {
+            inv = null;
+        }
+        if (inv != null) {
+            addHistory(inv);
+            swapSelectionItem.setEnabled(true);
+        } else {
+            swapSelectionItem.setEnabled(false);
+        }
+        System.out.println("Set transliterator: " + translit.getID()
+            + (inv == null ? " and " + inv.getID() : ""));
+    }
+    
+    void addHistory(Transliterator translit) {
+        String name = translit.getID();
+        MenuItem cmi = (MenuItem) historyMap.get(name);
+        if (cmi == null) {
+            cmi = new MenuItem(Transliterator.getDisplayName(name));
+            cmi.addActionListener(new TransliterationListener(name));
+            historyMap.put(name, cmi);
+            historySet.add(cmi);
+            historyMenu.removeAll();
+            Iterator it = historySet.iterator();
+            while (it.hasNext()) {
+                historyMenu.add((MenuItem)it.next());
+            }
+        }
+    }
+    
+    class TransliterationListener implements ActionListener, ItemListener {
+        String name;
+        public TransliterationListener(String name) {
+            this.name = name;
+        }
+        public void actionPerformed(ActionEvent e) {
+            setTransliterator(name, null);
+        }
+        public void itemStateChanged(ItemEvent e) {
+            if (e.getStateChange() == ItemEvent.SELECTED) {
+                setTransliterator(name, null);
+            } else {
+                setTransliterator("Any-Null", null);
+            }
+        }
+    }
+    
+    class FontActionListener implements ActionListener {
+        String name;
+        public FontActionListener(String name) {
+            this.name = name;
+        }
+        public void actionPerformed(ActionEvent e) {
+            if (DEBUG) System.out.println("Font: " + name);
+            fontName = name;
+            text.setFont(new Font(fontName, Font.PLAIN, fontSize));
+        }
+    }
+    
+    class SizeActionListener implements ActionListener {
+        int size;
+        public SizeActionListener(int size) {
+            this.size = size;
+        }
+        public void actionPerformed(ActionEvent e) {
+            if (DEBUG) System.out.println("Size: " + size);
+            fontSize = size;
+            text.setFont(new Font(fontName, Font.PLAIN, fontSize));
+        }
+    }
+    
+    Set add(Set s, Enumeration enumeration) {
+        while(enumeration.hasMoreElements()) {
+            s.add(enumeration.nextElement());
+        }
+        return s;
+    }
+
+    /**
+     * Get a sorted list of the system transliterators.
+     */
+     /*
+    private static Vector getSystemTransliteratorNames() {
+        Vector v = new Vector();
+        for (Enumeration e=Transliterator.getAvailableIDs();
+             e.hasMoreElements(); ) {
+            v.addElement(e.nextElement());
+        }
+        // Insertion sort, O(n^2) acceptable for small n
+        for (int i=0; i<(v.size()-1); ++i) {
+            String a = (String) v.elementAt(i);
+            for (int j=i+1; j<v.size(); ++j) {
+                String b = (String) v.elementAt(j);
+                if (a.compareTo(b) > 0) {
+                    v.setElementAt(b, i);
+                    v.setElementAt(a, j);
+                    a = b;
+                }
+            }
+        }
+        return v;
+    }
+    */
+
+/*
+    private void setNoTransliterator() {
+        translitItem = noTranslitItem;
+        noTranslitItem.setState(true);
+        handleSetTransliterator(noTranslitItem.getLabel());
+        compound = false;
+        for (int i=0; i<translitMenu.getItemCount(); ++i) {
+            MenuItem it = translitMenu.getItem(i);
+            if (it != noTranslitItem && it instanceof CheckboxMenuItem) {
+                ((CheckboxMenuItem) it).setState(false);
+            }
+        }
+    }
+*/
+/*
+    private void handleAddToCompound(String name) {
+        if (compoundCount < MAX_COMPOUND) {
+            compoundTranslit[compoundCount] = decodeTranslitItem(name);
+            ++compoundCount;
+            Transliterator t[] = new Transliterator[compoundCount];
+            System.arraycopy(compoundTranslit, 0, t, 0, compoundCount);
+            translit = new CompoundTransliterator(t);
+            text.setTransliterator(translit);
+        }
+    }
+*/
+/*
+    private void handleSetTransliterator(String name) {
+        translit = decodeTranslitItem(name);
+        text.setTransliterator(translit);
+    }
+    */
+
+    /**
+     * Decode a menu item that looks like <translit name>.
+     */
+     /*
+    private static Transliterator decodeTranslitItem(String name) {
+        return (name.equals(NO_TRANSLITERATOR))
+            ? null : Transliterator.getInstance(name);
+    }
+    */
+
+    private void handleBatchTransliterate(Transliterator translit) {
+        if (translit == null) {
+            return;
+        }
+
+        int start = text.getSelectionStart();
+        int end = text.getSelectionEnd();
+        ReplaceableString s =
+            new ReplaceableString(text.getText().substring(start, end));
+
+        StringBuffer log = null;
+        if (DEBUG) {
+            log = new StringBuffer();
+            log.append('"' + s.toString() + "\" (start " + start +
+                       ", end " + end + ") -> \"");
+        }
+
+        translit.transliterate(s);
+        String str = s.toString();
+
+        if (DEBUG) {
+            log.append(str + "\"");
+            System.out.println("Batch " + translit.getID() + ": " + log.toString());
+        }
+
+        text.replaceRange(str, start, end);
+        text.select(start, start + str.length());
+    }
+
+    private void handleClose() {
+        helpDialog.dispose();
+        dispose();
+    }
+    
+    /*
+    class InfoDialog extends Dialog {
+        protected Button button;
+        protected TextArea area;
+        protected Dialog me;
+        protected Panel bottom;
+        
+        public TextArea getArea() {
+            return area;
+        }
+        
+        public Panel getBottom() {
+            return bottom;
+        }
+        
+        InfoDialog(Frame parent, String title, String label, String message) {
+            super(parent, title, false);
+            me = this;
+            this.setLayout(new BorderLayout());
+            if (label.length() != 0) {
+                this.add("North", new Label(label));
+            }
+            
+            area = new TextArea(message, 8, 80, TextArea.SCROLLBARS_VERTICAL_ONLY);
+            this.add("Center", area);
+            
+            button = new Button("Hide");
+            button.addActionListener(new ActionListener() {
+                public void actionPerformed(ActionEvent e) {
+                    me.hide();
+                }
+            });
+            bottom = new Panel();
+            bottom.setLayout(new FlowLayout(FlowLayout.CENTER, 0, 0));
+            bottom.add(button);
+            this.add("South", bottom);
+            this.pack();
+            addWindowListener(new WindowAdapter() {
+                public void windowClosing(WindowEvent e) {
+                    me.hide();
+                }
+            });
+        }
+    }
+    */
+}
diff --git a/src/com/ibm/icu/dev/demo/translit/DemoApplet.java b/src/com/ibm/icu/dev/demo/translit/DemoApplet.java
new file mode 100755
index 0000000..3ab02cd
--- /dev/null
+++ b/src/com/ibm/icu/dev/demo/translit/DemoApplet.java
@@ -0,0 +1,67 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.demo.translit;
+import java.awt.*;
+import java.awt.event.*;
+import java.applet.*;
+import com.ibm.icu.dev.demo.impl.AppletFrame;
+
+/**
+ * A simple Applet that shows a button.  When pressed, the button
+ * shows the DemoAppletFrame.  This Applet is meant to be embedded
+ * in a web page.
+ *
+ * <p>Copyright (c) IBM Corporation 1999.  All rights reserved.
+ *
+ * @author Alan Liu
+ */
+public class DemoApplet extends Applet {
+
+    Demo frame = null;
+    
+    private static final String COPYRIGHT =
+        "\u00A9 IBM Corporation 1999. All rights reserved.";
+
+    public static void main(String args[]) {
+        final DemoApplet applet = new DemoApplet();
+        new AppletFrame("Transliteration Demo", applet, 640, 480);
+    }
+
+    public void init() {
+
+        Button button = new Button("Transliteration Demo");
+        button.addActionListener(new ActionListener() {
+            public void actionPerformed(ActionEvent e) {
+                if (frame == null) {
+                    frame = new Demo(600, 200);
+                    frame.addWindowListener(new WindowAdapter() {
+                        public void windowClosing(WindowEvent we) {
+                            frame = null;
+                        }
+                    });
+                }
+                frame.setVisible(true);
+                frame.toFront();
+            }
+        });
+
+        add(button);
+
+        Dimension size = button.getPreferredSize();
+        size.width += 10;
+        size.height += 10;
+
+        resize(size);
+    }
+    
+    public void stop() {
+        if (frame != null) {
+            frame.dispose();
+        }
+        frame = null;
+    }
+}
diff --git a/src/com/ibm/icu/dev/demo/translit/Differ.java b/src/com/ibm/icu/dev/demo/translit/Differ.java
new file mode 100644
index 0000000..c525ae8
--- /dev/null
+++ b/src/com/ibm/icu/dev/demo/translit/Differ.java
@@ -0,0 +1,171 @@
+/**
+*******************************************************************************
+* Copyright (C) 1996-2004, International Business Machines Corporation and    *
+* others. All Rights Reserved.                                                *
+*******************************************************************************
+*/
+
+package com.ibm.icu.dev.demo.translit;
+
+/** VERY Basic Diff program. Compares two sequences of objects fed into it, and
+ * lets you know where they are different.
+ * @author Mark Davis
+ * @version 1.0
+ */
+
+final public class Differ {
+    public static final String copyright =
+      "Copyright (C) 2000, International Business Machines Corporation and others. All Rights Reserved.";
+
+    /**
+     * @param stackSize The size of the largest difference you expect.
+     * @param matchCount The number of items that have to be the same to count as a match
+     */
+    public Differ(int stackSize, int matchCount) {
+        this.STACKSIZE = stackSize;
+        this.EQUALSIZE = matchCount;
+        a = new Object[stackSize+matchCount];
+        b = new Object[stackSize+matchCount];
+    }
+
+    public void add (Object aStr, Object bStr) {
+        addA(aStr);
+        addB(bStr);
+    }
+
+    public void addA (Object aStr) {
+        flush();
+        a[aCount++] = aStr;
+    }
+
+    public void addB (Object bStr) {
+        flush();
+        b[bCount++] = bStr;
+    }
+
+    public int getALine(int offset) {
+        return aLine + maxSame + offset;
+    }
+
+    public Object getA(int offset) {
+        if (offset < 0) return last;
+        if (offset > aTop-maxSame) return next;
+        return a[offset];
+    }
+
+    public int getACount() {
+        return aTop-maxSame;
+    }
+
+    public int getBCount() {
+        return bTop-maxSame;
+    }
+
+    public int getBLine(int offset) {
+        return bLine + maxSame + offset;
+    }
+
+    public Object getB(int offset) {
+        if (offset < 0) return last;
+        if (offset > bTop-maxSame) return next;
+        return b[offset];
+    }
+
+    public void checkMatch(boolean finalPass) {
+        // find the initial strings that are the same
+        int max = aCount;
+        if (max > bCount) max = bCount;
+        int i;
+        for (i = 0; i < max; ++i) {
+            if (!a[i].equals(b[i])) break;
+        }
+        // at this point, all items up to i are equal
+        maxSame = i;
+        aTop = bTop = maxSame;
+        if (maxSame > 0) last = a[maxSame-1];
+        next = "";
+
+        if (finalPass) {
+            aTop = aCount;
+            bTop = bCount;
+            next = "";
+            return;
+        }
+
+        if (aCount - maxSame < EQUALSIZE || bCount - maxSame < EQUALSIZE) return;
+
+        // now see if the last few a's occur anywhere in the b's, or vice versa
+        int match = find (a, aCount-EQUALSIZE, aCount, b, maxSame, bCount);
+        if (match != -1) {
+            aTop = aCount-EQUALSIZE;
+            bTop = match;
+            next = a[aTop];
+            return;
+        }
+        match = find (b, bCount-EQUALSIZE, bCount, a, maxSame, aCount);
+        if (match != -1) {
+            bTop = bCount-EQUALSIZE;
+            aTop = match;
+            next = b[bTop];
+            return;
+        }
+        if (aCount >= STACKSIZE || bCount >= STACKSIZE) {
+            // flush some of them
+            aCount = (aCount + maxSame) / 2;
+            bCount = (bCount + maxSame) / 2;
+            next = "";
+        }
+    }
+
+    /** Convenient utility
+     * finds a segment of the first array in the second array.
+     * @return -1 if not found, otherwise start position in b
+     */
+
+    public int find (Object[] a, int aStart, int aEnd, Object[] b, int bStart, int bEnd) {
+        int len = aEnd - aStart;
+        int bEndMinus = bEnd - len;
+        tryA:
+        for (int i = bStart; i <= bEndMinus; ++i) {
+            for (int j = 0; j < len; ++j) {
+                if (!b[i + j].equals(a[aStart + j])) continue tryA;
+            }
+            return i; // we have a match!
+        }
+        return -1;
+    }
+
+    // ====================== PRIVATES ======================
+
+    private void flush() {
+        if (aTop != 0) {
+            int newCount = aCount-aTop;
+            System.arraycopy(a, aTop, a, 0, newCount);
+            aCount = newCount;
+            aLine += aTop;
+            aTop = 0;
+        }
+
+        if (bTop != 0) {
+            int newCount = bCount-bTop;
+            System.arraycopy(b, bTop, b, 0, newCount);
+            bCount = newCount;
+            bLine += bTop;
+            bTop = 0;
+        }
+    }
+
+    private int STACKSIZE;
+    private int EQUALSIZE;
+
+    private Object [] a;
+    private Object [] b;
+    private Object last = "";
+    private Object next = "";
+    private int aCount = 0;
+    private int bCount = 0;
+    private int aLine = 1;
+    private int bLine = 1;
+    private int maxSame = 0, aTop = 0, bTop = 0;
+
+}
diff --git a/src/com/ibm/icu/dev/demo/translit/InfoDialog.java b/src/com/ibm/icu/dev/demo/translit/InfoDialog.java
new file mode 100644
index 0000000..3c73b24
--- /dev/null
+++ b/src/com/ibm/icu/dev/demo/translit/InfoDialog.java
@@ -0,0 +1,52 @@
+/**
+ *******************************************************************************
+ * Copyright (C) 2001-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.demo.translit;
+import java.awt.event.*;
+import java.awt.*;
+public class InfoDialog extends Dialog {
+    protected Button button;
+    protected TextArea area;
+    protected Dialog me;
+    protected Panel bottom;
+        
+    public TextArea getArea() {
+        return area;
+    }
+        
+    public Panel getBottom() {
+        return bottom;
+    }
+        
+    InfoDialog(Frame parent, String title, String label, String message) {
+        super(parent, title, false);
+        me = this;
+        this.setLayout(new BorderLayout());
+        if (label.length() != 0) {
+            this.add("North", new Label(label));
+        }
+            
+        area = new TextArea(message, 8, 80, TextArea.SCROLLBARS_VERTICAL_ONLY);
+        this.add("Center", area);
+            
+        button = new Button("Hide");
+        button.addActionListener(new ActionListener() {
+            public void actionPerformed(ActionEvent e) {
+                me.hide();
+            }
+        });
+        bottom = new Panel();
+        bottom.setLayout(new FlowLayout(FlowLayout.CENTER, 0, 0));
+        bottom.add(button);
+        this.add("South", bottom);
+        this.pack();
+        addWindowListener(new WindowAdapter() {
+            public void windowClosing(WindowEvent e) {
+                me.hide();
+            }
+        });
+    }
+}
diff --git a/src/com/ibm/icu/dev/demo/translit/Test_Arabic-Latin.txt b/src/com/ibm/icu/dev/demo/translit/Test_Arabic-Latin.txt
new file mode 100644
index 0000000..146c659
--- /dev/null
+++ b/src/com/ibm/icu/dev/demo/translit/Test_Arabic-Latin.txt
@@ -0,0 +1,24 @@
+﻿#--------------------------------------------------------------------
+# Copyright (c) 1999-2004, International Business Machines
+# Corporation and others. All Rights Reserved.
+#--------------------------------------------------------------------
+@UPPERFILTER@
+ما هي الشفرة الموحدة "يونِكود" ؟
+
+أساسًا، تتعامل الحواسيب فقط مع الأرقام، وتقوم بتخزين الأحرف والمحارف الأخرى بعد أن تُعطي رقما معينا لكل واحد منها. وقبل اختراع "يونِكود"، كان هناك مئات الأنظمة للتشفير وتخصيص هذه الأرقام للمحارف، ولم يوجد نظام تشفير واحد يحتوي على جميع المحارف الضرورية. وعلى سبيل المثال، فإن الاتحاد الأوروبي لوحده، احتوى العديد من الشفرات المختلفة ليغطي جميع اللغات المستخدمة في الاتحاد. وحتى لو اعتبرنا لغة واحدة، كاللغة الإنجليزية، فإن جدول شفرة واحد لم يكف لاستيعاب جميع الأحرف وعلامات الترقيم والرموز الفنية والعلمية الشائعة الاستعمال.
+
+ 
+
+وتجدر الملاحظة أن أنظمة التشفير المختلفة تتعارض مع بعضها البعض. وبعبارة أخرى، يمكن أن يستخدِم جدولي شفرة نفس الرقم لتمثيل محرفين مختلفين، أو رقمين مختلفين لتمثيل نفس المحرف. ولو أخذنا أي جهاز حاسوب، وبخاصة جهاز النادل (server)، فيجب أن تكون لديه القدرة على التعامل مع عدد كبير من الشفرات المختلفة، ويتم تصميمه على هذا الأساس. ومع ذلك، فعندما تمر البيانات عبر أنظمة مختلفة، توجد هناك خطورة لضياع أو تحريف بعض هذه البيانات.
+
+ 
+
+"يونِكود" تغير هذا كليا !
+
+تخصص الشفرة الموحدة "يونِكود" رقما وحيدا لكل محرف في جميع اللغات العالمية، وذلك بغض النظر عن نوع الحاسوب أو البرامج المستخدمة. وقد تم تبني مواصفة "يونِكود" من قبل قادة الصانعين لأنظمة الحواسيب في العالم، مثل شركات آي.بي.إم. (IBM)، أبل (APPLE)، هِيْولِت باكرد (Hewlett-Packard) ، مايكروسوفت (Microsoft)، أوراكِل (Oracle) ، صن (Sun) وغيرها. كما أن المواصفات والمقاييس الحديثة (مثل لغة البرمجة "جافا" "JAVA" ولغة "إكس إم إل" "XML" التي تستخدم لبرمجة الانترنيت) تتطلب استخدام "يونِكود". علاوة على ذلك ، فإن "يونِكود" هي الطريقة الرسمية لتطبيق المقياس العالمي إيزو ١٠٦٤٦  (ISO 10646) .
+
+ 
+
+إن بزوغ مواصفة "يونِكود" وتوفُّر الأنظمة التي تستخدمه وتدعمه، يعتبر من أهم الاختراعات الحديثة في عولمة البرمجيات لجميع اللغات في العالم. وإن استخدام "يونِكود" في عالم الانترنيت سيؤدي إلى توفير كبير مقارنة مع استخدام المجموعات التقليدية للمحارف المشفرة. كما أن استخدام "يونِكود" سيُمكِّن المبرمج من كتابة البرنامج مرة واحدة، واستخدامه على أي نوع من الأجهزة أو الأنظمة، ولأي لغة أو دولة في العالم أينما كانت، دون الحاجة لإعادة البرمجة أو إجراء أي تعديل. وأخيرا، فإن استخدام "يونِكود" سيمكن البيانات من الانتقال عبر الأنظمة والأجهزة المختلفة دون أي خطورة لتحريفها، مهما تعددت الشركات الصانعة للأنظمة واللغات، والدول التي تمر من خلالها هذه البيانات. 
+
+@SET [[[:Arabic:] & [\u0600-\u06FF]] [‎\u060C\u061B\u061F\u0640\u064B-\u0655\u0660-\u066C\u06F0-\u06F9]]
\ No newline at end of file
diff --git a/src/com/ibm/icu/dev/demo/translit/Test_Greek-Latin.txt b/src/com/ibm/icu/dev/demo/translit/Test_Greek-Latin.txt
new file mode 100644
index 0000000..6380074
--- /dev/null
+++ b/src/com/ibm/icu/dev/demo/translit/Test_Greek-Latin.txt
@@ -0,0 +1,73 @@
+﻿#--------------------------------------------------------------------
+# Copyright (c) 1999-2004, International Business Machines
+# Corporation and others. All Rights Reserved.
+#--------------------------------------------------------------------
+
+Τι είναι το Unicode? 
+
+Η κωδικοσελίδα Unicode προτείνει έναν και μοναδικό αριθμό για κάθε χαρακτήρα, ανεξάρτητα από το λειτουργικό σύστημα, ανεξάρτητα από το λογισμικό, ανεξάρτητα από την γλώσσα.
+
+Οι ηλεκτρονικοί υπολογιστές, σε τελική ανάλυση, χειρίζονται απλώς αριθμούς. Αποθηκεύουν γράμματα και άλλους χαρακτήρες αντιστοιχώντας στο καθένα τους από έναν αριθμό (ονομάζουμε μία τέτοια αντιστοιχία κωδικοσελίδα). Πριν την εφεύρεση του Unicode, υπήρχαν εκατοντάδες διαφορετικές κωδικοσελίδες. Λόγω περιορισμών μεγέθους όμως, σε καμία κωδικοσελίδα δεν χωρούσαν αρκετοί χαρακτήρες: λόγου χάριν, η Ευρωπαϊκή Ένωση χρειαζόταν πλήθος διαφορετικών κωδικοσελίδων για να καλύψει όλες τις γλώσσες των χωρών-μελών της. Ακόμα και για μία και μόνη γλώσσα, όπως π.χ. τα Αγγλικά, μία κωδικοσελίδα δεν επαρκούσε για να καλύψει όλα τα γράμματα, σημεία στίξης και τεχνικά σύμβολα ευρείας χρήσης.
+
+Εκτός αυτού, οι κωδικοσελίδες αυτές διαφωνούσαν μεταξύ τους. Έτσι, δύο κωδικοσελίδες μπορούσαν κάλλιστα να χρησιμοποιούν τον ίδιο αριθμό για δύο διαφορετικούς χαρακτήρες, ή να χρησιμοποιούν διαφορετικούς αριθμούς για τον ίδιο χαρακτήρα. Κάθε υπολογιστής (και ιδίως εάν ήταν διακομιστής) έπρεπε να υποστηρίζει πλήθος διαφορετικών κωδικοσελίδων· ταυτόχρονα κάθε φορά που δεδομένα μεταφέρονταν μεταξύ διαφορετικών κωδικοσελίδων ή λειτουργικών συστημάτων, τα δεδομένα αυτά κινδύνευαν να αλλοιωθούν.
+
+Το Unicode αλλάζει αυτή την κατάσταση!
+Το Unicode προτείνει έναν μοναδικό αριθμό για κάθε χαρακτήρα, ανεξάρτητα από το λειτουργικό σύστημα, ανεξάρτητα από το λογισμικό, ανεξάρτητα από την γλώσσα. Την κωδικοσελίδα Unicode έχουν ασπασθεί κορυφαίοι παράγοντες του χώρου των λογισμικών όπως οι: Apple, HP, IBM, JustSystem, Microsoft, Oracle, SAP, Sun, Sybase, Unisys και πολλοί άλλοι. Το Unicode απαιτούν πολλές σύγχρονες τυποποιήσεις όπως οι: XML, Java, ECMAScript (JavaScript), LDAP, CORBA 3.0, WML, κ.λπ., και είναι η επίσημη μέθοδος εφαρμογής της τυποποίησης ISO/IEC 10646. Υποστηρίζεται από πολλά λειτουργικά συστήματα, όλους τους σύχρονους περιηγητές Διαδικτύου, και πολλά άλλα προϊόντα. Η εμφάνιση της κωδικοσελίδας Unicode, και η διαθεσιμότητα εργαλείων που να την υποστηρίζουν είναι από τις σημαντικότερες εξελίξεις της πρόσφατης τεχνολογίας λογισμικών.
+
+Η ενσωμάτωση του Unicode σε εφαρμογές πελάτη-διακομιστή ή "multi-tiered" προσφέρει σημαντικές οικονομίες σε σχέση με τις ως τώρα υπάρχουσες κωδικοσελίδες. Χάρις στο Unicode ένα και μόνο προϊόν ή μία και μόνη τοποθεσία Διαδικτύου μπορεί να επικοινωνεί με διάφορα λειτουργικά συστήματα, σε διάφορες γλώσσες και χώρες, χωρίς την ανάγκη επαναπρογραμματισμού. Γίνεται έτσι δυνατή η μεταφορά δεδομένων ανάμεσα σε πλήθος διαφορετικών συστημάτων δίχως κίνδυνο αλλοίωσης.
+
+Σχετικά με το Κονσόρτιουμ Unicode
+Tο Κονσόρτιουμ Unicode είναι ένας κοινωφελής οργανισμός· ιδρύθηκε για να αναπτύξει, να επεκτείνει και να μεταδώσει την χρήση της κωδικοσελίδας Unicode που καθορίζει την αναπαράσταση κειμένου σε σύγχρονα λογισμικά προϊόντα και τυποποιήσεις. Μεγάλος αριθμός εταιρειών και οργανισμών της διεθνούς βιομηχανίας υπολογιστών και λογισμικών είναι μέλη του Κονσόρτιουμ Unicode. Το Κονσόρτιουμ χρηματοδοτείται μόνο από τις συνδρομές των μελών του. Μέλος του κονσόρτιουμ Unicode μπορεί να γίνει οιοσδήποτε (οργανισμός, εταιρεία ή ιδιώτης, οπουδήποτε στον κόσμο) που να υποστηρίζει την κωδικοσελίδα Unicode και να επιθυμεί να συνδράμει στην επέκταση και στην εφαρμογή της.
+
+Για περαιτέρω πληροφορίες, βλέπε τις εξής ιστοσελίδες: Γλωσσάρι, Δείγματα προϊόντων συμβατών με το Unicode, Τεχνική Εισαγωγή και Χρήσιμες πηγές πληροφοριών.
+
+(ANCIENT)
+
+ἄνδρα μοι ἔννεπε, μοῦσα, πολύτροπον, ὃς μάλα πολλὰ
+πλάγχθη, ἐπεὶ Τροίης ἱερὸν πτολίεθρον ἔπερσεν:
+πολλῶν δ’ ἀνθρώπων ἴδεν ἄστεα καὶ νόον ἔγνω,
+πολλὰ δ’ ὅ γ’ ἐν πόντῳ πάθεν ἄλγεα ὃν κατὰ θυμόν,
+ἀρνύμενος ἥν τε ψυχὴν καὶ νόστον ἑταίρων.
+ἀλλ’ οὐδ’ ὣς ἑτάρους ἐρρύσατο, ἱέμενός περ:
+αὐτῶν γὰρ σφετέρῃσιν ἀτασθαλίῃσιν ὄλοντο,
+νήπιοι, οἳ κατὰ βοῦς Ὑπερίονος Ἠελίοιο
+ἤσθιον: αὐτὰρ ὁ τοῖσιν ἀφείλετο νόστιμον ἦμαρ.
+τῶν ἁμόθεν γε, θεά, θύγατερ Διός, εἰπὲ καὶ ἡμῖν.
+*
+ἔνθ’ ἄλλοι μὲν πάντες, ὅσοι φύγον αἰπὺν ὄλεθρον,
+οἴκοι ἔσαν, πόλεμόν τε πεφευγότες ἠδὲ θάλασσαν:
+τὸν δ’ οἶον νόστου κεχρημένον ἠδὲ γυναικὸς
+νύμφη πότνι’ ἔρυκε Καλυψὼ δῖα θεάων
+ἐν σπέσσι γλαφυροῖσι, λιλαιομένη πόσιν εἶναι.
+ἀλλ’ ὅτε δὴ ἔτος ἦλθε περιπλομένων ἐνιαυτῶν,
+τῷ οἱ ἐπεκλώσαντο θεοὶ οἶκόνδε νέεσθαι
+εἰς Ἰθάκην, οὐδ’ ἔνθα πεφυγμένος ἦεν ἀέθλων
+καὶ μετὰ οἷσι φίλοισι. θεοὶ δ’ ἐλέαιρον ἅπαντες
+νόσφι Ποσειδάωνος: ὁ δ’ ἀσπερχὲς μενέαινεν
+ἀντιθέῳ Ὀδυσῆι πάρος ἣν γαῖαν ἱκέσθαι.
+*
+ἀλλ’ ὁ μὲν Αἰθίοπας μετεκίαθε τηλόθ’ ἐόντας,
+Αἰθίοπας τοὶ διχθὰ δεδαίαται, ἔσχατοι ἀνδρῶν,
+οἱ μὲν δυσομένου Ὑπερίονος οἱ δ’ ἀνιόντος,
+ἀντιόων ταύρων τε καὶ ἀρνειῶν ἑκατόμβης.
+ἔνθ’ ὅ γ’ ἐτέρπετο δαιτὶ παρήμενος: οἱ δὲ δὴ ἄλλοι
+Ζηνὸς ἐνὶ μεγάροισιν Ὀλυμπίου ἁθρόοι ἦσαν.
+τοῖσι δὲ μύθων ἦρχε πατὴρ ἀνδρῶν τε θεῶν τε:
+μνήσατο γὰρ κατὰ θυμὸν ἀμύμονος Αἰγίσθοιο,
+τόν ῥ’ Ἀγαμεμνονίδης τηλεκλυτὸς ἔκταν’ Ὀρέστης:
+τοῦ ὅ γ’ ἐπιμνησθεὶς ἔπε’ ἀθανάτοισι μετηύδα:
+*
+“ὢ πόποι, οἷον δή νυ θεοὺς βροτοὶ αἰτιόωνται:
+ἐξ ἡμέων γάρ φασι κάκ’ ἔμμεναι, οἱ δὲ καὶ αὐτοὶ
+σφῇσιν ἀτασθαλίῃσιν ὑπὲρ μόρον ἄλγε’ ἔχουσιν,
+ὡς καὶ νῦν Αἴγισθος ὑπὲρ μόρον Ἀτρεί̈δαο
+γῆμ’ ἄλοχον μνηστήν, τὸν δ’ ἔκτανε νοστήσαντα,
+εἰδὼς αἰπὺν ὄλεθρον, ἐπεὶ πρό οἱ εἴπομεν ἡμεῖς,
+Ἑρμείαν πέμψαντες, ἐύσκοπον ἀργεϊφόντην,
+μήτ’ αὐτὸν κτείνειν μήτε μνάασθαι ἄκοιτιν:
+ἐκ γὰρ Ὀρέσταο τίσις ἔσσεται Ἀτρεί̈δαο,
+ὁππότ’ ἂν ἡβήσῃ τε καὶ ἧς ἱμείρεται αἴης.
+ὣς ἔφαθ’ Ἑρμείας, ἀλλ’ οὐ φρένας Αἰγίσθοιο
+πεῖθ’ ἀγαθὰ φρονέων: νῦν δ’ ἁθρόα πάντ’ ἀπέτισεν.”
+
+@SET [[[:Greek:]&[\u0370-\u03E1 \u03F0-\u03FF]] [\:-;?\u00B7\u037E\u0387]]
\ No newline at end of file
diff --git a/src/com/ibm/icu/dev/demo/translit/Test_Han-Latin.txt b/src/com/ibm/icu/dev/demo/translit/Test_Han-Latin.txt
new file mode 100644
index 0000000..8603663
--- /dev/null
+++ b/src/com/ibm/icu/dev/demo/translit/Test_Han-Latin.txt
@@ -0,0 +1,26 @@
+﻿#--------------------------------------------------------------------
+# Copyright (c) 1999-2004, International Business Machines
+# Corporation and others. All Rights Reserved.
+#--------------------------------------------------------------------
+@UPPERFILTER@
+什么是Unicode(统一码)?
+Unicode给每个字符提供了一个唯一的数字，
+不论是什么平台，
+不论是什么程序，
+不论是什么语言。
+
+基本上，计算机只是处理数字。它们指定一个数字，来储存字母或其他字符。在创造Unicode之前，有数百种指定这些数字的编码系统。没有一个编码可以包含足够的字符：例如，单单欧州共同体就需要好几种不同的编码来包括所有的语言。即使是单一种语言，例如英语，也没有哪一个编码可以适用于所有的字母，标点符号，和常用的技术符号。
+
+这些编码系统也会互相冲突。也就是说，两种编码可能使用相同的数字代表两个不同的字符，或使用不同的数字代表相同的字符。任何一台特定的计算机(特别是服务器)都需要支持许多不同的编码，但是，不论什么时候数据通过不同的编码或平台之间，那些数据总会有损坏的危险。
+
+Unicode正在改变所有这一切！
+Unicode给每个字符提供了一个唯一的数字，不论是什么平台，不论是什么程序，不论什么语言。Unicode标准已经被这些工业界的领导们所采用，例如：Apple, HP, IBM, JustSystem, Microsoft, Oracle, SAP, Sun, Sybase, Unisys和其它许多公司。最新的标准都需要Unicode，例如XML, Java, ECMAScript (JavaScript), LDAP, CORBA 3.0, WML等等，并且，Unicode是实现ISO/IEC 10646的正规方式。许多操作系统，所有最新的浏览器和许多其他产品都支持它。Unicode标准的出现和支持它工具的存在，是近来全球软件技术最重要的发展趋势。
+
+将Unicode与客户服务器或多层应用程序和网站结合，比使用传统字符集节省费用。Unicode使单一软件产品或单一网站能够贯穿多个平台，语言和国家，而不需要重建。它可将数据传输到许多不同的系统，而无损坏。
+
+关于Unicode学术学会
+Unicode学术学会是一个非盈利的组织，是为发展，扩展和推广使用Unicode标准而建立的，Unicode学术学会设立了现代软件产品和标准文本的表示法。学术学会的会员代表了广泛领域的计算机和资讯工业的公司和组织。学术学会只由会员提供资金。Unicode学术学会的会员资格开放给世界上任何支持Unicode标准和希望协助其扩展和执行的组织及个人。
+
+欲知更多信息，请参阅术语词汇表，Unicode产品样本，技术简介和参考资料。
+
+Chinese translation by  黎國珍, Xerox
\ No newline at end of file
diff --git a/src/com/ibm/icu/dev/demo/translit/Test_Hebrew-Latin.txt b/src/com/ibm/icu/dev/demo/translit/Test_Hebrew-Latin.txt
new file mode 100644
index 0000000..9d26745
--- /dev/null
+++ b/src/com/ibm/icu/dev/demo/translit/Test_Hebrew-Latin.txt
@@ -0,0 +1,26 @@
+﻿#--------------------------------------------------------------------
+# Copyright (c) 1999-2004, International Business Machines
+# Corporation and others. All Rights Reserved.
+#--------------------------------------------------------------------
+@UPPERFILTER@
+מה זה יוניקוד (Unicode)?
+יוניקוד מקצה מספר ייחודי לכל תו, 
+לא משנה על איזו פלטפורמה, 
+לא משנה באיזו תוכנית, 
+ולא משנה באיזו שפה.
+
+באופן בסיסי, מחשבים עוסקים רק במספרים. הם מאחסנים אותיות ותווים אחרים על-ידי הקצאת מספר לכל אחד מהם. בטרם הומצא היוניקוד, היו מאות מערכות קידוד שונות להקצאת המספרים הללו. אף לא אחת מהן יכלה להכיל כמות תווים מספקת. לדוגמא: רק לאיחוד האירופאי נדרשים כמה סוגי קידודים שונים על מנת לכסות את כל השפות המדוברות בו. יתירה מזאת אף לשפה בודדת, כמו אנגלית למשל, לא היה די במערכת קידוד אחת בעבור כל האותיות, סימני הפיסוק והסמלים הטכניים שבשימוש שוטף. 
+
+מערכות קידוד אלו אף סותרות זו את זו. כלומר, שני קידודים יכולים להשתמש באותו מספר לשני תוים נבדלים, או להשתמש במספרים שונים לאותו תו. על כל מחשב (ובמיוחד שרתים) לתמוך במספר רב של מערכות קידוד שונות; אולם כל אימת שנתונים עוברים בין מערכות קידוד או פלטפורמות שונות קיים הסיכון שייפגמו.
+
+יוניקוד משנה את כל זה!
+יוניקוד מקצה מספר ייחודי לכל תו, ללא תלות בפלטפורמה, בתוכנית, או בשפה. תקן היוניקוד אומץ על-ידי המובילים בתעשייה כמו Apple‏, HP‏, IBM‏, JustSystem‏, Microsoft‏, Oracle‏, SAP‏, Sun‏, Sybase‏, Unisys‏ ורבים אחרים. יוניקוד נדרש על-ידי תקנים מודרניים כמו XML‏, Java‏, ECMAScript (JavaScript)‎‏, LDAP‏, CORBA 3.0‎‏, WML‏ וכדומה, ומהווה למעשה את היישום הרשמי של תקן ISO/IEC 10646. הוא נתמך על ידי מערכות הפעלה רבות, כל הדפדפנים החדישים, ומוצרים רבים אחרים. הופעת תקן היוניקוד וזמינות הכלים התומכים בו נמנות עם המגמות הכלל-עולמיות החשובות ביותר, אשר מסתמנות לאחרונה בטכנולוגיית התוכנה.
+
+שילוב יוניקוד ביישומי שרת-לקוח או ביישומים רבי-שכבות ובאתרי אינטרנט מאפשר חיסכון ניכר בעלויות לעומת השימוש בסדרות התווים המסורתיות. הודות ליוניקוד, מוצר תוכנה אחד או אתר יחיד ברשת יכול להרחיב את יעדיו למגוון פלטפורמות, ארצות ושפות ללא צורך בשינויים מרחיקים. יוניקוד מאפשר מעבר נתונים דרך מערכות רבות ושונות מבלי שייפגמו.
+
+פרטים אודות הקונסורציום של יוניקוד (Unicode Consortium) 
+הקונסורציום של יוניקוד הוא ארגון ללא מטרת רווח שנוסד כדי לפתח, להרחיב ולקדם את השימוש בתקן יוניקוד, אשר מגדיר את ייצוג הטקסט במוצרי תוכנה ותקנים מודרניים. חברים בקונסורציום מגוון רחב של תאגידים וארגונים בתעשיית המחשבים ועיבוד המידע. הקונסורציום ממומן על-ידי דמי-חבר בלבד. החברות בקונסורציום יוניקוד פתוחה לארגונים ולאנשים פרטיים, בכל רחבי העולם, אשר תומכים בתקן יוניקוד ומעוניינים לסייע בהתפתחותו והטמעתו.
+
+למידע נוסף, ראה מילון מונחים, רשימה חלקית של מוצרים מותאמים ליוניקוד, מבוא טכני ו- חומרי עזר [קישורים באנגלית].
+
+@SET [[:Hebrew:] [\u05B0-\u05B9\u05BB-\u05BC\u05C1-\u05C2\u2135-\u2138]]
\ No newline at end of file
diff --git a/src/com/ibm/icu/dev/demo/translit/Test_Instructions.html b/src/com/ibm/icu/dev/demo/translit/Test_Instructions.html
new file mode 100644
index 0000000..f9b7024
--- /dev/null
+++ b/src/com/ibm/icu/dev/demo/translit/Test_Instructions.html
@@ -0,0 +1,164 @@
+<!-- 
+/**
+ *******************************************************************************
+ * Copyright (C) 2002-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+-->
+<html>
+
+<head>
+<meta http-equiv="Content-Language" content="en-us">
+<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
+<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
+<meta name="ProgId" content="FrontPage.Editor.Document">
+<title>New Transliteration Test Files</title>
+</head>
+
+<body bgcolor="#FFFFFF">
+
+<h2>New Transliteration Test Files</h2>
+<p>The Test_*.html files show the transliteration of characters for given
+languages. The sample for each language consists of &quot;What Is Unicode&quot;
+in Thai, followed by other available text. The text is broken apart into
+sentences for ease of viewing (note: we know of some problems with the sentence
+rules for Japanese and Chinese). The left column is the original, and the right
+is the romanization. The program also converts back to the original script. If
+there is a discrepancy between the source and the reverse transformation, that
+is indicated by making the background <font color="#FF0000"><b>red</b></font>
+from that point on.</p>
+<blockquote>
+  <p><i><b>Note: </b>If you have some more text that you would like added to the
+  sample, just let me know. I am particularly interested in name lists, since
+  they are the typical source.</i></p>
+</blockquote>
+<h3>Standards</h3>
+<p>The goal is to follow a given standard, such as ISO* or UNGEGN wherever
+possible. We also need to round-trip, so in some cases, that means adding some
+additional accent marks to disambiguate characters. And often the source
+standards are missing some characters, such as characters with combining Hamzas
+in Arabic. Remember that the goal for these is transliteration (unambiguously
+representing all the letters in the original), not transcription (representing
+the best pronunciation).</p>
+<ul>
+  <li><b><a href="Test_Thai-Latin.html">Thai</a>:</b> ISO 11940 &lt; <a href="http://homepage.mac.com/sirbinks/pdf/Thai.r2.pdf">http://homepage.mac.com/sirbinks/pdf/Thai.r2.pdf</a>
+    &gt; plus a few items:
+    <ul>
+      <li>Accents may be added to the Latin for disambiguation.</li>
+      <li>In the next release, we'd like to do the UNGEGN version &lt; <a href="http://www.eki.ee/wgrs/rom1_th.pdf">http://www.eki.ee/wgrs/rom1_th.pdf</a>
+        &gt; which is probably more useful (and readable), and follows more
+        closely the Thai standard.</li>
+      <li>Spaces are provided at word-breaks, using the Thai BreakIterator.</li>
+      <li>An inherent vowel (&#7885;) is added, as in UNGEGN. The dot is for
+        disambiguation.
+        <ul>
+          <li><i>Note: if the inherent vowel positions cannot be algorithmically
+            determined, let me know and I will remove them.</i></li>
+        </ul>
+      </li>
+    </ul>
+  </li>
+  <li><b><a href="Test_Arabic-Latin.html">Arabic</a>: </b>Generally follows
+    UNGEGN &lt; <a href="http://www.eki.ee/wgrs/rom1_ar.pdf">http://www.eki.ee/wgrs/rom1_ar.pdf</a>
+    &gt;
+    <ul>
+      <li>Accents may be added to the Latin for disambiguation.</li>
+      <li>Occasionally deviates in the direction of ISO 233 &lt; <a href="http://homepage.mac.com/sirbinks/pdf/Arabic.pdf">http://homepage.mac.com/sirbinks/pdf/Arabic.pdf</a>
+        &gt;
+        <ul>
+          <li>with underdot instead of cedilla for letter like SAD, since those
+            are explicitly in Unicode for transliteration of Arabic</li>
+          <li>adding extra non-Arabic-language letters, like PEH. Note: not all
+            extended Arabic characters are handled yet.</li>
+        </ul>
+      </li>
+      <li>Does <i>not</i> do assimilation of &quot;al&quot;, nor hyphenation of
+        it.
+        <ul>
+          <li>While it could be done, we need to determine whether a prefix
+            &quot;al&quot; could occur other than as the definite article (since
+            no space is used).</li>
+        </ul>
+      </li>
+      <li>This is transliteration. For <i>transcription</i> one would want an
+        engine that added points appropriately to the Hebrew.</li>
+    </ul>
+  </li>
+  <li><b><a href="Test_Hebrew-Latin.html">Hebrew</a></b><b>: </b>Generally
+    follows UNGEGN &lt; <a href="http://www.eki.ee/wgrs/rom1_he.pdf">http://www.eki.ee/wgrs/rom1_he.pdf</a>
+    &gt;, with some exceptions:
+    <ul>
+      <li>Accents may be added to the Latin for disambiguation.</li>
+      <li>Combinations of dagesh, shin/sin dot that would produce different
+        letters are not yet called out.</li>
+      <li>Note that the final forms are not preserved. Thus, when going from
+        Latin to Hebrew, a character is given final form depending on its
+        position.
+        <ul>
+          <li>E.g. &#1502;&#1501;&#1502;&#1501; =&gt; mmmm =&gt;
+            &#1502;&#1502;&#1502;&#1501;</li>
+        </ul>
+      </li>
+      <li>This is transliteration. For <i>transcription</i> one would want an
+        engine that added points appropriately to the Hebrew.</li>
+      <li>See also &lt; <a href="http://homepage.mac.com/sirbinks/pdf/Hebrew.r1.pdf">http://homepage.mac.com/sirbinks/pdf/Hebrew.r1.pdf</a>
+        &gt; for the ISO version. The Chicago Manual of Style has a clear table
+        of mappings for the vowel marks.</li>
+    </ul>
+  </li>
+  <li><b><a href="Test_Han-Latin.html">Han</a>:</b> Uses the <a href="http://www.mandarintools.com/cedict.html">CEDICT</a>
+    data plus Unicode Unihan <i>kMandarin</i> values for pinyin. Doesn't
+    roundtrip!
+    <ul>
+      <li><i>Note: </i>the Chinese pronunciation of Han characters varies by
+        context and grammar, though nowhere near as much a Japanese.
+        <ul>
+          <li>Ideally we'd have an underlying engine for this. In 2.4 we will
+            have a plug-in interface so that people could add one, such as the
+            IBM engine.</li>
+          <li>The data from CEDICT and Unihan don't list the most frequent
+            choice first, so we will be updating that.</li>
+        </ul>
+      </li>
+    </ul>
+  </li>
+  <li><a href="Test_Greek-Latin_UNGEGN.html"><b>Greek/UNGEGN</b></a>: Uses a
+    modern Greek transliteration, based on the UNGEGN rules at &lt; <a href="http://www.eki.ee/wgrs/rom1_el.pdf">http://www.eki.ee/wgrs/rom1_el.pdf</a>
+    &gt;. This version will not roundtrip ancient Greek.</li>
+  <li><a href="Test_Greek-Latin.html"><b>Greek</b></a>: Uses a classic Greek
+    transliteration. This version will not roundtrip modern Greek.</li>
+</ul>
+<h3><b>Notes</b></h3>
+<ol>
+  <li>For readability, the files have a few other things besides just the
+    transliteration:
+    <ul>
+      <li>The first word of the sentences are titlecased, as are names (where we
+        have a name-list, such as in Thai).</li>
+      <li>The Latin in the original is mapped to the private-use zone before
+        conversion, and then again after conversion. This does have the downside
+        that any rules (such as in Han) that need to know the context (e.g. for
+        inserting spaces or capitalization) will gum up a little bit. This is
+        just an artifact of the test display.</li>
+    </ul>
+  </li>
+  <li>I don't think that ISO 11940 is a particularly good way to romanize, but
+    it is at least complete and a standard. So what I am interested in just for
+    now is whether the samples in the file follow it (with the above
+    exceptions).</li>
+  <li>Some of the files also have a set of characters at the end, one character
+    per row, with a following row listing the hex and name.</li>
+  <li>The source rules for all of these is in the following URL. So if you want
+    to know the details of how the characters are handled, that is the place to
+    look.
+    <ul>
+      <li>&nbsp;<a href="http://oss.software.ibm.com/cvs/icu4j/icu4j/src/com/ibm/icu/impl/data/">http://oss.software.ibm.com/cvs/icu4j/icu4j/src/com/ibm/icu/impl/data/</a><br>
+      </li>
+    </ul>
+  </li>
+</ol>
+
+</body>
+
+</html>
diff --git a/src/com/ibm/icu/dev/demo/translit/Test_Thai-Latin.txt b/src/com/ibm/icu/dev/demo/translit/Test_Thai-Latin.txt
new file mode 100644
index 0000000..631f191
--- /dev/null
+++ b/src/com/ibm/icu/dev/demo/translit/Test_Thai-Latin.txt
@@ -0,0 +1,69 @@
+﻿#--------------------------------------------------------------------
+# Copyright (c) 1999-2004, International Business Machines
+# Corporation and others. All Rights Reserved.
+#--------------------------------------------------------------------
+@UPPERFILTER@
+Unicode คืออะไร?
+Unicode กำหนดหมายเลขเฉพาะสำหรับทุกอักขระ
+โดยไม่สนใจว่าเป็นแพล็ตฟอร์มใด
+ไม่ขึ้นกับว่าจะเป็นโปรแกรมใด
+และไม่ว่าจะเป็นภาษาใด
+
+โดยพื้นฐานแล้ว, คอมพิวเตอร์จะเกี่ยวข้องกับเรื่องของตัวเลข. คอมพิวเตอร์จัดเก็บตัวอักษรและอักขระอื่นๆ โดยการกำหนดหมายเลขให้สำหรับแต่ละตัว. ก่อนหน้าที่๊ Unicode จะถูกสร้างขึ้น, ได้มีระบบ encoding อยู่หลายร้อยระบบสำหรับการกำหนดหมายเลขเหล่านี้. ไม่มี encoding ใดที่มีจำนวนตัวอักขระมากเพียงพอ: ยกตัวอย่างเช่น, เฉพาะในกลุ่มสหภาพยุโรปเพียงแห่งเดียว ก็ต้องการหลาย encoding ในการครอบคลุมทุกภาษาในกลุ่ม. หรือแม้แต่ในภาษาเดี่ยว เช่น ภาษาอังกฤษ ก็ไม่มี encoding ใดที่เพียงพอสำหรับทุกตัวอักษร, เครื่องหมายวรรคตอน และสัญลักษณ์ทางเทคนิคที่ใช้กันอยู่ทั่วไป. 
+
+ระบบ encoding เหล่านี้ยังขัดแย้งซึ่งกันและกัน. นั่นก็คือ, ในสอง encoding สามารถใช้หมายเลขเดียวกันสำหรับตัวอักขระสองตัวที่แตกต่างกัน,หรือใช้หมายเลขต่างกันสำหรับอักขระตัวเดียวกัน. ในระบบคอมพิวเตอร์ (โดยเฉพาะเซิร์ฟเวอร์) ต้องมีการสนับสนุนหลาย encoding; และเมื่อข้อมูลที่ผ่านไปมาระหว่างการเข้ารหัสหรือแพล็ตฟอร์มที่ต่างกัน, ข้อมูลนั้นจะเสี่ยงต่อการผิดพลาดเสียหาย.
+
+Unicode จะเปลี่ยนแปลงสิ่งเหล่านั้นทั้งหมด!
+Unicode กำหนดหมายเลขเฉพาะสำหรับแต่ละอักขระ, โดยไม่สนใจว่าเป็นแพล็ตฟอร์มใด, ไม่ขึ้นกับว่าจะเป็นโปรแกรมใดและไม่ว่าจะเป็นภาษาใด. มาตรฐาน Unicode ได้ถูกนำไปใช้โดยผู้นำในอุตสาหกรรม เช่น Apple, HP, IBM, JustSystem, Microsoft, Oracle, SAP, Sun, Sybase, Unisys และอื่นๆ อีกมาก. Unicode เป็นสิ่งที่จำเป็นสำหรับมาตรฐานใหม่ๆ เช่น XML, Java, ECMAScript (JavaScript), LDAP, CORBA 3.0, WML ฯลฯ., และเป็นแนวทางอย่างเป็นทางการในการทำ ISO/IEC 10646. Unicode ได้รับการสนับสนุนในระบบปฏิบัติการจำนวนมาก, บราวเซอร์ใหม่ๆ ทกตัว, และผลิตภัณฑ์อื่นๆ อีกมาก. การเกิดขึ้นของ Unicode Standard และทูลส์ต่างๆ ที่มีในการสนับสนุน Unicode, เป็นหนึ่งในแนวโน้มทางเทคโนโลยีซอฟต์แวร์ระดับโลกที่มีความสำคัญที่สุด.
+
+การรวม Unicode เข้าไปในระบบไคลเอ็นต์-เซิร์ฟเวอร์ หรือแอ็พพลิเคชันแบบ multi-tiered และเว็บไซต์ จะทำให้เกิดการประหยัดค่าใช้จ่ายมากกว่าการใช้ชุดอักขระแบบเดิม. Unicode ทำให้ผลิตภัณฑ์ซอฟต์แวร์หนึ่งเดียว หรือเว็บไซต์แห่งเดียว รองรับได้หลายแพล็ตฟอร์ม, หลายภาษาและหลายประเทศโดยไม่ต้องทำการรื้อปรับระบบ. Unicode ยังทำให้ข้อมูลสามารถเคลื่อนย้ายไปมาในหลายๆ ระบบโดยไม่เกิดความผิดพลาดเสียหาย.
+
+เกี่ยวกับ Unicode Consortium
+Unicode Consortium เป็นองค์กรไม่แสวงหากำไรที่ก่อตั้งขึ้นเพื่อพัฒนา, ขยายและส่งเสริมการใช้ Unicode Standard, ซึ่งกำหนดรูปแบบการแทนค่าของข้อความในผลิตภัณฑ์ซอฟต์แวร์และมาตรฐานใหม่ๆ. สมาชิกของสมาคมเป็นตัวแทนจากบริษัทและองค์กรในอุตสาหกรรมคอมพิวเตอร์และการประมวลผลสารสนเทศ. สมาคมได้รับการสนับสนุนทางการเงินผ่านทางค่าธรรมเนียมของการเป็นสมาชิกเท่านั้น. สมาชิกภาพของ Unicode Consortium เปิดกว้างสำหรับองค์กรหรือบุคคลใดๆ ในโลกที่ต้องการสนับสนุน Unicode Standard และช่วยเหลือการขยายตัวและการนำ Unicode ไปใช้งาน. 
+
+สำหรับข้อมูลเพิ่มเติม, ให้ดูที่ Glossary, Sample Unicode-Enabled Products, Technical Introduction และ Useful Resources.
+
+เป็นมนุษย์สุดประเสริฐเลิศคุณค่า
+กว่าบรรดาฝูงสัตว์เดรัจฉาน
+จงฝ่าฟันพัฒนาวิชาการ
+อย่าล้างผลาญฤๅเข่นฆ่าบีฑาใคร
+ไม่ถือโทษโกรธแช่งซัดฮึดฮัดด่า
+หัดอภัยเหมือนกีฬาอัชฌาสัย
+ปฏิบัติประพฤติกฎกำหนดใจ
+พูดจาให้จ๊ะ ๆ จ๋า ๆ น่าฟังเอยฯ
+
+แหล่งที่มา : สมาคมคอมพิวเตอร์แห่งประเทศไทย
+
+ฅนฃวด kho khuat and kho khon
+@TITLECASE@
+ก๊กเฮง แซ่แต้
+กชกร ศราทธทัต
+กติกา อังคสุภณ
+กนก ธรรมประทีป
+กนก วงศ์ทองศรี
+กนกกร ช้างเย็นฉ่ำ
+กนกฉัตร์ ถาวรนันท์
+กนกนวล โปษยะนันทน์
+กนกพร คมคาย
+กนกพร ตีรเลิศพานิช
+กนกพร พันทร
+กนกพร ศรีบัณฑิต
+กนกพร อติวรรณาพัฒน์
+กนกพรรณ ศรีวนาภิรมย์
+กนกรัตน์ เกียรติยิ่งอังศุลี
+กนกรัตน์ สุธรรมพิทักษ์
+กนกวรรณ คงคาประเสริฐ
+กนกวรรณ แซ่เตียว
+กนกวรรณ บุญประเสริฐ
+กนกวรรณ รักทรัพย์
+กนกวรรณ สัจจพงษ์
+กนกวรรณ อุ้ยวงศ์ไพศาล
+กนกศักดิ์ ยิ่งยง
+กนกแก้ว กรสมิต
+กนิษฐา ทนุถนอมราษฎร์
+กนิษฐา หวังวิบูลย์กิจ
+กมล กาญจนโรจน์
+กมล คัมภีร์
+กมล เจตน์มงคลรัตน์
+กมล ชูตระกูลธรรม
+@SET [[:thai:] \u0E01-\u0E3A\u0E40-\u0E5B]
\ No newline at end of file
diff --git a/src/com/ibm/icu/dev/demo/translit/TransliteratingTextComponent.java b/src/com/ibm/icu/dev/demo/translit/TransliteratingTextComponent.java
new file mode 100755
index 0000000..1bdcd94
--- /dev/null
+++ b/src/com/ibm/icu/dev/demo/translit/TransliteratingTextComponent.java
@@ -0,0 +1,252 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.demo.translit;
+
+import java.awt.event.*;
+import com.ibm.icu.text.*;
+import com.ibm.icu.dev.demo.impl.*;
+
+/**
+ * A subclass of {@link DumbTextComponent} that passes key events through
+ * a {@link com.ibm.icu.text.Transliterator}.
+ *
+ * <p>Copyright &copy; IBM Corporation 1999.  All rights reserved.
+ *
+ * @author Alan Liu
+ */
+public class TransliteratingTextComponent extends DumbTextComponent {
+
+    private static boolean DEBUG = false;
+
+    private Transliterator translit = null;
+    
+    // NOTE: DISABLE THE START AND CURSOR UNTIL WE CAN GET IT TO WORK AT ALL
+
+    // Index into getText() where the start of transliteration is.
+    // As we commit text during transliteration, we advance
+    // this.
+    //private int start = 0;
+
+    // Index into getText() where the cursor is; cursor >= start
+    //private int cursor = 0;
+
+    private static final String COPYRIGHT =
+        "\u00A9 IBM Corporation 1999. All rights reserved.";
+
+    /**
+     * Constructor.
+     */
+    public TransliteratingTextComponent() {
+        super();
+        /*
+        addActionListener(new ActionListener() {
+            public void actionPerformed(ActionEvent e) {
+                // We get an ActionEvent only when the selection changes
+                resetTransliterationStart();
+            }
+        });
+        */
+    }
+
+    /**
+     * {@link DumbTextComponent} API.  Framework method that is called
+     * when a <code>KeyEvent</code> is received.  This implementation
+     * runs the new character through the current
+     * <code>Transliterator</code>, if one is set, and inserts the
+     * transliterated text into the buffer.
+     */
+    protected void handleKeyTyped(KeyEvent e) {
+        char ch = e.getKeyChar();
+        
+        if (translit == null) {
+            setKeyStart(-1);
+            super.handleKeyTyped(e);
+            return;
+        }
+
+        transliterate(ch, false);
+    }
+    
+    public void flush() {
+        if (translit != null) transliterate('\uFFFF', true);
+    }
+    
+    
+    protected void transliterate(char ch, boolean flush) {
+
+        // ------------------------------------------------------------
+        // The following case motivates the two lines that recompute
+        // start and cursor below.
+
+        //      "     "   
+        // a b c q r|s t u m m
+        // 0 1 2 3 4 5 6 7 8 9
+        //       0 1 2
+
+        // start 3, cursor 5, sel 6 -> { 0, 3, 2 }
+        // : new int[] { 0, sel - start, cursor - start };
+        
+        // sz>99|9
+
+        //      "     {   "
+        // a b c q r 9 9|9 t u m m
+        // 0 1 2 3 4 5 6 7 8 9 a b
+        //       0 1 2 3 4
+
+        // { 3, 5, 4 } -> start 6, cursor 7, sel 8
+        // : start += index[0];
+        // : cursor = start + index[2] - index[0];
+        // ------------------------------------------------------------
+
+        // Need to save start because calls to replaceRange will update
+        // start and cursor.
+        //int saveStart = start;
+
+        int end = flush ? getSelectionEnd() : getSelectionStart();
+        String sourceText = getText().substring(0,end);
+        ReplaceableString buf = new ReplaceableString(sourceText);
+        /*buf.replace(0, 1, getText().substring(start,
+                                              getSelectionStart()));*/
+
+        Transliterator.Position index = new Transliterator.Position();
+        index.contextLimit = buf.length();
+        index.contextStart = 0;
+        index.start = getKeyStart();
+        if (index.start == -1) index.start = getSelectionStart();
+        index.limit = buf.length();
+
+      //  StringBuffer log = null;
+        if (DEBUG) {
+            System.out.println("Transliterator: " + translit.getID());
+            System.out.println("From:\t" + '"' + buf.toString() + '"'
+                + "; {cs: " + index.contextStart
+                + ", s: " + index.start
+                + ", l: " + index.limit
+                + ", cl: " + index.contextLimit 
+                + "}" + "; '" + ch + "'"
+                + " " + getKeyStart()
+            );
+        }
+
+        if (flush) {
+            translit.finishTransliteration(buf, index);
+        } else {
+            translit.transliterate(buf, index, ch);
+        }
+        
+        if (DEBUG) {
+            System.out.println("To:\t" + '"' + buf.toString() + '"'
+                + "; {cs: " + index.contextStart
+                + ", s: " + index.start
+                + ", l: " + index.limit
+                + ", cl: " + index.contextLimit 
+                + "}"
+                );
+            System.out.println();
+        }
+        /*
+        buf.replace(buf.length(), buf.length(), String.valueOf(ch));
+        translit.transliterate(buf);
+        */
+        
+        String result = buf.toString();
+        //if (result.equals(sourceText + ch)) return;
+        
+        replaceRange(result, 0, getSelectionEnd());
+        setKeyStart(index.start);
+        
+        // At this point start has been changed by the callback to
+        // resetTransliteratorStart() via replaceRange() -- so use our
+        // local copy, saveStart.
+
+        // The START index is zero-based.  On entry to transliterate(),
+        // it was zero.  We can therefore just add it to our original
+        // getText()-based index value of start (in saveStart) to get
+        // the new getText()-based start.
+//        start = saveStart + index.contextStart;
+
+        // Make the cursor getText()-based.  The CURSOR index is zero-based.
+//        cursor = start + index.start - index.contextStart;
+
+/*
+        if (DEBUG) {
+            String out = buf.toString();
+            log.append(out.substring(0, index.contextStart)).
+                append('{').
+                append(out.substring(index.contextStart, index.start)).
+                append('|').
+                append(out.substring(index.start)).
+                append('"');
+            log.append(", {" + index.contextStart + ", " + index.contextLimit + ", " + index.start + "}, ");
+//            log.append("start " + start + ", cursor " + cursor);
+            log.append(", sel " + getSelectionStart());
+            System.out.println(escape(log.toString()));
+        }
+        */
+    }
+    
+    /**
+     * Set the {@link com.ibm.icu.text.Transliterator} and direction to
+     * use to process incoming <code>KeyEvent</code>s.
+     * @param t the {@link com.ibm.icu.text.Transliterator} to use
+     */
+    public void setTransliterator(Transliterator t) {
+        /*
+        if (translit != t) { // [sic] pointer compare ok; singletons
+            resetTransliterationStart();
+        }
+        */
+        translit = t;
+    }
+
+    public Transliterator getTransliterator() {
+        return translit;
+    }
+
+    /**
+     * Reset the start point at which transliteration begins.  This
+     * needs to be done when the user moves the cursor or when the
+     * current {@link com.ibm.icu.text.Transliterator} is changed. 
+     */
+     /*
+    private void resetTransliterationStart() {
+        start = getSelectionStart();
+        cursor = start;
+    }
+    */
+
+    /**
+     * Escape non-ASCII characters as Unicode.
+     * JUST FOR DEBUGGING OUTPUT.
+     */
+    public static final String escape(String s) {
+        StringBuffer buf = new StringBuffer();
+        for (int i=0; i<s.length(); ++i) {
+            char c = s.charAt(i);
+            if (c >= ' ' && c <= 0x007F) {
+                if (c == '\\') {
+                    buf.append("\\\\"); // That is, "\\"
+                } else {
+                    buf.append(c);
+                }
+            } else {
+                buf.append("\\u");
+                if (c < 0x1000) {
+                    buf.append('0');
+                    if (c < 0x100) {
+                        buf.append('0');
+                        if (c < 0x10) {
+                            buf.append('0');
+                        }
+                    }
+                }
+                buf.append(Integer.toHexString(c));
+            }
+        }
+        return buf.toString();
+    }
+}
diff --git a/src/com/ibm/icu/dev/demo/translit/TransliterationChart.java b/src/com/ibm/icu/dev/demo/translit/TransliterationChart.java
new file mode 100644
index 0000000..b487ea0
--- /dev/null
+++ b/src/com/ibm/icu/dev/demo/translit/TransliterationChart.java
@@ -0,0 +1,285 @@
+/**
+ *******************************************************************************
+ * Copyright (C) 2001-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.demo.translit;
+import com.ibm.icu.lang.UScript;
+import com.ibm.icu.lang.UCharacter;
+import com.ibm.icu.text.UTF16;
+import com.ibm.icu.text.Transliterator;
+import com.ibm.icu.text.UnicodeSet;
+import com.ibm.icu.text.UnicodeSetIterator;
+import com.ibm.icu.text.Normalizer;
+import com.ibm.icu.impl.Utility;
+
+import java.util.*;
+import java.io.*;
+
+public class TransliterationChart {
+    public static void main(String[] args) throws IOException {
+        System.out.println("Start");
+        UnicodeSet lengthMarks = new UnicodeSet("[\u09D7\u0B56-\u0B57\u0BD7\u0C56\u0CD5-\u0CD6\u0D57\u0C55\u0CD5]");
+        int[] indicScripts = {
+            UScript.LATIN,
+            UScript.DEVANAGARI,
+            UScript.BENGALI,
+            UScript.GURMUKHI,
+            UScript.GUJARATI,
+            UScript.ORIYA,
+            UScript.TAMIL,
+            UScript.TELUGU,
+            UScript.KANNADA,
+            UScript.MALAYALAM,
+        };
+        String[] names = new String[indicScripts.length];
+        UnicodeSet[] sets = new UnicodeSet[indicScripts.length];
+        Transliterator[] fallbacks = new Transliterator[indicScripts.length];
+        for (int i = 0; i < indicScripts.length; ++i) {
+            names[i] = UScript.getName(indicScripts[i]);
+            sets[i] = new UnicodeSet("[[:" + names[i] + ":]&[[:L:][:M:]]&[:age=3.1:]]");
+            fallbacks[i] = Transliterator.getInstance("any-" + names[i]);
+        }
+        EquivClass eq = new EquivClass(new ReverseComparator());
+        PrintWriter pw = openPrintWriter("transChart.html");
+        pw.println("<html><head><meta http-equiv='Content-Type' content='text/html; charset=utf-8'>");
+        pw.println("<title>Indic Transliteration Chart</title><style>");
+        pw.println("td { text-align: Center; font-size: 200% }");
+        pw.println("tt { font-size: 50% }");
+        pw.println("td.miss { background-color: #CCCCFF }");
+        pw.println("</style></head><body bgcolor='#FFFFFF'>");
+
+        Transliterator anyToLatin = Transliterator.getInstance("any-latin");
+        
+        String testString = "\u0946\u093E";
+        
+        UnicodeSet failNorm = new UnicodeSet();
+        Set latinFail = new TreeSet();
+        
+        for (int i = 0; i < indicScripts.length; ++i) {
+            if (indicScripts[i] == UScript.LATIN) continue;
+            String source = names[i];
+            System.out.println(source);
+            UnicodeSet sourceChars = sets[i];
+
+            for (int j = 0; j < indicScripts.length; ++j) {
+                if (i == j) continue;
+                String target = names[j];
+                Transliterator forward = Transliterator.getInstance(source + '-' + target);
+                Transliterator backward = forward.getInverse();
+                UnicodeSetIterator it = new UnicodeSetIterator(sourceChars);
+                while (it.next()) {
+                    if (lengthMarks.contains(it.codepoint)) continue;
+                    String s = Normalizer.normalize(it.codepoint,Normalizer.NFC,0);
+                    //if (!Normalizer.isNormalized(s,Normalizer.NFC,0)) continue;
+                    if (!s.equals(Normalizer.normalize(s,Normalizer.NFD,0))) {
+                        failNorm.add(it.codepoint);
+                    } 
+                    String t = fix(forward.transliterate(s));
+                    if (t.equals(testString)) {
+                        System.out.println("debug");
+                    }
+
+                    String r = fix(backward.transliterate(t));
+                    if (Normalizer.compare(s,r,0) == 0) {
+                        if (indicScripts[j] != UScript.LATIN) eq.add(s,t);
+                    } else {
+                        if (indicScripts[j] == UScript.LATIN) {
+                            latinFail.add(s + " - " + t + " - " + r);
+                        }
+                    }
+                }
+            }
+        }
+        // collect equivalents
+        pw.println("<table border='1' cellspacing='0'><tr>");
+        for (int i = 0; i < indicScripts.length; ++i) {
+            pw.print("<th width='10%'>" + names[i].substring(0,3) + "</th>");
+        }
+        pw.println("</tr>");
+
+        Iterator rit = eq.getSetIterator(new MyComparator());
+        while(rit.hasNext()) {
+            Set equivs = (Set)rit.next();
+            pw.print("<tr>");
+            Iterator sit = equivs.iterator();
+            String source = (String)sit.next();
+            String item = anyToLatin.transliterate(source);
+            if (item.equals("") || source.equals(item)) item = "&nbsp;";
+            pw.print("<td>" + item + "</td>");
+            for (int i = 1; i < indicScripts.length; ++i) {
+                sit = equivs.iterator();
+                item = "";
+                while (sit.hasNext()) {
+                    String trial = (String)sit.next();
+                    if (!sets[i].containsAll(trial)) continue;
+                    item = trial;
+                    break;
+                }
+                String classString = "";
+                if (item.equals("")) {
+                    classString = " class='miss'";
+                    String temp = fallbacks[i].transliterate(source);
+                    if (!temp.equals("") && !temp.equals(source)) item = temp;
+                } 
+                String backup = item.equals("") ? "&nbsp;" : item;
+                pw.print("<td" + classString + " title='" + getName(item, "; ") + "'>" 
+                    + backup + "<br><tt>" + Utility.hex(item) + "</tt></td>");
+            }
+            /*
+            Iterator sit = equivs.iterator();
+            while (sit.hasNext()) {
+                String item = (String)sit.next();
+                pw.print("<td>" + item + "</td>");
+            }
+            */
+            pw.println("</tr>");
+        }
+        pw.println("</table>");
+        if (true) {
+            pw.println("<h2>Failed Normalization</h2>");
+    
+            UnicodeSetIterator it = new UnicodeSetIterator(failNorm);
+            UnicodeSet pieces = new UnicodeSet();
+            while (it.next()) {
+                String s = UTF16.valueOf(it.codepoint);
+                String d = Normalizer.normalize(s,Normalizer.NFD,0);
+                pw.println("Norm:" + s + ", " + Utility.hex(s) + " " + UCharacter.getName(it.codepoint)
+                     + "; " + d + ", " + Utility.hex(d) + ", ");
+                pw.println(UCharacter.getName(d.charAt(1)) + "<br>");
+                if (UCharacter.getName(d.charAt(1)).indexOf("LENGTH") >= 0) pieces.add(d.charAt(1));
+            }
+            pw.println(pieces);
+            
+            pw.println("<h2>Failed Round-Trip</h2>");
+            Iterator cit = latinFail.iterator();
+            while (cit.hasNext()) {
+                pw.println(cit.next() + "<br>");
+            }
+        } 
+
+        pw.println("</table></body></html>");
+        pw.close();     
+        System.out.println("Done");
+    }
+    
+    public static String fix(String s) {
+        if (s.equals("\u0946\u093E")) return "\u094A";
+        if (s.equals("\u0C46\u0C3E")) return "\u0C4A";
+        if (s.equals("\u0CC6\u0CBE")) return "\u0CCA";
+
+        if (s.equals("\u0947\u093E")) return "\u094B";
+        if (s.equals("\u0A47\u0A3E")) return "\u0A4B";
+        if (s.equals("\u0AC7\u0ABE")) return "\u0ACB";
+        if (s.equals("\u0C47\u0C3E")) return "\u0C4B";
+        if (s.equals("\u0CC7\u0CBE")) return "\u0CCB";
+       
+        //return Normalizer.normalize(s,Normalizer.NFD,0);
+        return s;
+    }
+    
+    public static PrintWriter openPrintWriter(String fileName) throws IOException {
+        File lf = new File(fileName);
+        System.out.println("Creating file: " + lf.getAbsoluteFile());
+    
+        return new PrintWriter(
+                new BufferedWriter(
+                    new OutputStreamWriter(
+                        new FileOutputStream(fileName), "UTF8"), 4*1024));
+    }
+
+    
+    public static String getName(String s, String separator) {
+        int cp;
+        StringBuffer sb = new StringBuffer();
+        for (int i = 0; i < s.length(); i += UTF16.getCharCount(cp)) {
+            cp = UTF16.charAt(s,i);
+            if (i != 0) sb.append(separator);
+            sb.append(UCharacter.getName(cp));
+        }
+        return sb.toString();
+    }
+    
+    static class MyComparator implements Comparator {
+       public int compare(Object o1, Object o2) {
+            Iterator i1 = ((TreeSet) o1).iterator();
+            Iterator i2 = ((TreeSet) o2).iterator();
+            while (i1.hasNext() && i2.hasNext()) {
+                String a = (String)i1.next();
+                String b = (String)i2.next();
+                int result = a.compareTo(b);
+                if (result != 0) return result;
+            }
+            if (i1.hasNext()) return 1;
+            if (i2.hasNext()) return -1;
+            return 0;
+        }
+        
+    }
+    static class ReverseComparator implements Comparator {
+        public int compare(Object o1, Object o2) {
+            String a = o1.toString();
+            char a1 = a.charAt(0);
+            String b = o2.toString();
+            char b1 = b.charAt(0);
+            if (a1 < 0x900 && b1 > 0x900) return -1;
+            if (a1 > 0x900 && b1 < 0x900) return +1;
+            return a.compareTo(b);
+        }       
+    }
+      
+    static class EquivClass {
+        EquivClass(Comparator c) {
+            comparator = c;
+        }
+        private HashMap itemToSet = new HashMap();
+        private Comparator comparator;
+        
+        void add(Object a, Object b) {
+            Set sa = (Set)itemToSet.get(a);
+            Set sb = (Set)itemToSet.get(b);
+            if (sa == null && sb == null) { // new set!
+                Set s = new TreeSet(comparator);
+                s.add(a);
+                s.add(b);
+                itemToSet.put(a, s);
+                itemToSet.put(b, s);
+            } else if (sa == null) {
+                sb.add(a);
+            } else if (sb == null) {
+                sa.add(b);
+            } else { // merge sets, dumping sb
+                sa.addAll(sb);
+                Iterator it = sb.iterator();
+                while (it.hasNext()) {
+                    itemToSet.put(it.next(), sa);
+                }
+            }
+        }
+        
+        private class MyIterator implements Iterator {
+            private Iterator it;
+            MyIterator (Comparator comp) {
+                TreeSet values = new TreeSet(comp);
+                values.addAll(itemToSet.values());
+                it = values.iterator();
+            }
+        
+            public boolean hasNext() {
+                return it.hasNext();
+            }
+            public Object next() {
+                return it.next();
+            }
+            public void remove() {
+                throw new IllegalArgumentException("can't remove");
+            }        
+        }
+
+        public Iterator getSetIterator (Comparator comp) {
+            return new MyIterator(comp);
+        }
+
+    }
+}
\ No newline at end of file
diff --git a/src/com/ibm/icu/dev/demo/translit/demo.bat b/src/com/ibm/icu/dev/demo/translit/demo.bat
new file mode 100755
index 0000000..dd9c205
--- /dev/null
+++ b/src/com/ibm/icu/dev/demo/translit/demo.bat
@@ -0,0 +1,13 @@
+REM /*
+REM *******************************************************************************
+REM  * Copyright (C) 1996-2004, International Business Machines Corporation and    *
+REM  * others. All Rights Reserved.                                                *
+REM  *******************************************************************************
+REM  */
+REM For best results, run the demo as an applet inside of Netscape
+REM with Bitstream Cyberbit installed.
+
+REM setup your JDK 1.1.x path and classpath here:
+call JDK11
+set CLASSPATH=../translit.jar;%CLASSPATH%
+javaw Demo
diff --git a/src/com/ibm/icu/dev/demo/translit/demo.html b/src/com/ibm/icu/dev/demo/translit/demo.html
new file mode 100755
index 0000000..2a7ee5b
--- /dev/null
+++ b/src/com/ibm/icu/dev/demo/translit/demo.html
@@ -0,0 +1,34 @@
+<!-- 
+/**
+ *******************************************************************************
+ * Copyright (C) 1999-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+-->
+<HTML>
+<HEAD>
+<TITLE>Transliteration Demo</TITLE>
+</HEAD>
+<BODY>
+<APPLET CODE="com.ibm.demo.translit.DemoApplet.class" WIDTH=140 HEIGHT=33></APPLET>
+
+<HR>
+
+If you don't see a button above, then your browser is failing to
+locate the necessary Java class files.
+
+<P>
+
+One way to make this work is to copy this HTML file to
+<code>icu4j/src</code>, and make sure the Java files in the directories
+under <code>icu4j/src/com</code> are built.  Then open this HTML file
+using a browser or appletviewer.
+
+<P>
+
+For best results, run this demo as an applet within Netscape with
+Bitstream Cyberbit installed.
+
+</BODY>
+</HTML>
diff --git a/src/com/ibm/icu/dev/demo/translit/package.html b/src/com/ibm/icu/dev/demo/translit/package.html
new file mode 100755
index 0000000..8355d1f
--- /dev/null
+++ b/src/com/ibm/icu/dev/demo/translit/package.html
@@ -0,0 +1,12 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html>
+<head>
+<!--  Copyright (C) 2000-2004, International Business Machines Corporation and
+  others. All Rights Reserved.
+
+-->
+</head>
+<body bgcolor="white">
+Transliterator demo appliation.
+</body>
+</html>
\ No newline at end of file
diff --git a/src/com/ibm/icu/dev/demo/translit/resources/Transliterator_Han_Pinyin.txt b/src/com/ibm/icu/dev/demo/translit/resources/Transliterator_Han_Pinyin.txt
new file mode 100755
index 0000000..8f7c21d
--- /dev/null
+++ b/src/com/ibm/icu/dev/demo/translit/resources/Transliterator_Han_Pinyin.txt
@@ -0,0 +1,20365 @@
+#--------------------------------------------------------------------
+# Copyright (c) 1999-2001, International Business Machines
+# Corporation and others.  All Rights Reserved.
+#--------------------------------------------------------------------
+# Generated: Fri Jan 26 15:14:48 2001
+# Tool: ..\..\tools\translit\hanpinyin.pl
+#--------------------------------------------------------------------
+
+# Han-Pinyin
+
+# Mechanically derived from \desk\Unihan.txt (ftp.unicode.org), version:
+#
+#	Name:             Unihan database
+#	Unicode version:  3.0b1
+#	Table version:    1.1
+#	Date:             2 July 1999
+#
+#	Copyright (c) 1996-1999 Unicode, Inc.  All Rights reserved.
+
+丁 > dīng; #4E01
+丂 > kăo; #4E02
+七 > qī; #4E03
+丄 > shàng; #4E04
+丅 > xià; #4E05
+万 > mò; #4E07
+丈 > zhàng; #4E08
+三 > sān; #4E09
+上 > shàng; #4E0A
+下 > xià; #4E0B
+丌 > jī; #4E0C
+不 > bù; #4E0D
+与 > yŭ; #4E0E
+丏 > miăn; #4E0F
+丐 > gài; #4E10
+丑 > chŏu; #4E11
+丒 > chŏu; #4E12
+专 > zhuān; #4E13
+且 > qiĕ; #4E14
+丕 > pī; #4E15
+世 > shì; #4E16
+丗 > shì; #4E17
+丘 > qīu; #4E18
+丙 > bĭng; #4E19
+业 > yè; #4E1A
+丛 > cóng; #4E1B
+东 > dōng; #4E1C
+丝 > sī; #4E1D
+丞 > chéng; #4E1E
+丟 > dīu; #4E1F
+丠 > qīu; #4E20
+両 > liăng; #4E21
+丢 > dīu; #4E22
+丣 > yŏu; #4E23
+两 > liăng; #4E24
+严 > yán; #4E25
+並 > bìng; #4E26
+丧 > sāng; #4E27
+丨 > gŭn; #4E28
+丩 > jīu; #4E29
+个 > gè; #4E2A
+丫 > yā; #4E2B
+丬 > qiáng; #4E2C
+中 > zhōng; #4E2D
+丮 > jĭ; #4E2E
+丯 > jiè; #4E2F
+丰 > fēng; #4E30
+丱 > guàn; #4E31
+串 > chuàn; #4E32
+丳 > chăn; #4E33
+临 > lín; #4E34
+丵 > zhŭo; #4E35
+丶 > zhŭ; #4E36
+丸 > wán; #4E38
+丹 > dān; #4E39
+为 > wèi; #4E3A
+主 > zhŭ; #4E3B
+丼 > jĭng; #4E3C
+丽 > lì; #4E3D
+举 > jŭ; #4E3E
+丿 > piĕ; #4E3F
+乀 > fú; #4E40
+乁 > yí; #4E41
+乂 > yì; #4E42
+乃 > năi; #4E43
+久 > jĭu; #4E45
+乆 > jĭu; #4E46
+乇 > zhé; #4E47
+么 > yāo; #4E48
+义 > yì; #4E49
+之 > zhī; #4E4B
+乌 > wū; #4E4C
+乍 > zhà; #4E4D
+乎 > hū; #4E4E
+乏 > fá; #4E4F
+乐 > lè; #4E50
+乑 > zhòng; #4E51
+乒 > pīng; #4E52
+乓 > pang; #4E53
+乔 > qiáo; #4E54
+乕 > hŭ; #4E55
+乖 > guāi; #4E56
+乗 > chéng; #4E57
+乘 > chéng; #4E58
+乙 > yĭ; #4E59
+乚 > yĭn; #4E5A
+乜 > miē; #4E5C
+九 > jĭu; #4E5D
+乞 > qĭ; #4E5E
+也 > yĕ; #4E5F
+习 > xí; #4E60
+乡 > xiāng; #4E61
+乢 > gài; #4E62
+乣 > dīu; #4E63
+书 > shū; #4E66
+乨 > shĭ; #4E68
+乩 > jī; #4E69
+乪 > nāng; #4E6A
+乫 > jiā; #4E6B
+乭 > shí; #4E6D
+买 > măi; #4E70
+乱 > luàn; #4E71
+乳 > rŭ; #4E73
+乴 > xué; #4E74
+乵 > yăn; #4E75
+乶 > fŭ; #4E76
+乷 > shā; #4E77
+乸 > nă; #4E78
+乹 > gān; #4E79
+乾 > gān; #4E7E
+乿 > chì; #4E7F
+亀 > gūi; #4E80
+亁 > gān; #4E81
+亂 > luàn; #4E82
+亃 > lín; #4E83
+亄 > yì; #4E84
+亅 > jué; #4E85
+了 > liăo; #4E86
+予 > yú; #4E88
+争 > zhēng; #4E89
+亊 > shì; #4E8A
+事 > shì; #4E8B
+二 > èr; #4E8C
+亍 > chù; #4E8D
+于 > yú; #4E8E
+亏 > yú; #4E8F
+亐 > yú; #4E90
+云 > yún; #4E91
+互 > hù; #4E92
+亓 > qí; #4E93
+五 > wŭ; #4E94
+井 > jĭng; #4E95
+亖 > sì; #4E96
+亗 > sùi; #4E97
+亘 > gèn; #4E98
+亙 > gèn; #4E99
+亚 > yà; #4E9A
+些 > xiē; #4E9B
+亜 > yà; #4E9C
+亝 > qí; #4E9D
+亞 > yà; #4E9E
+亟 > jí; #4E9F
+亠 > tóu; #4EA0
+亡 > wáng; #4EA1
+亢 > kàng; #4EA2
+亣 > tà; #4EA3
+交 > jiāo; #4EA4
+亥 > hài; #4EA5
+亦 > yì; #4EA6
+产 > chăn; #4EA7
+亨 > hēng; #4EA8
+亩 > mŭ; #4EA9
+享 > xiăng; #4EAB
+京 > jīng; #4EAC
+亭 > tíng; #4EAD
+亮 > liàng; #4EAE
+亯 > xiăng; #4EAF
+亰 > jīng; #4EB0
+亱 > yè; #4EB1
+亲 > qīn; #4EB2
+亳 > bó; #4EB3
+亴 > yòu; #4EB4
+亵 > xiè; #4EB5
+亶 > dăn; #4EB6
+亷 > lián; #4EB7
+亸 > dŭo; #4EB8
+亹 > wĕi; #4EB9
+人 > rén; #4EBA
+亻 > rén; #4EBB
+亼 > jí; #4EBC
+亾 > wáng; #4EBE
+亿 > yì; #4EBF
+什 > shí; #4EC0
+仁 > rén; #4EC1
+仂 > lè; #4EC2
+仃 > dīng; #4EC3
+仄 > zè; #4EC4
+仅 > jĭn; #4EC5
+仆 > pū; #4EC6
+仇 > chóu; #4EC7
+仈 > bā; #4EC8
+仉 > zhăng; #4EC9
+今 > jīn; #4ECA
+介 > jiè; #4ECB
+仌 > bīng; #4ECC
+仍 > réng; #4ECD
+从 > cóng; #4ECE
+仏 > fó; #4ECF
+仐 > săn; #4ED0
+仑 > lún; #4ED1
+仓 > cāng; #4ED3
+仔 > zĭ; #4ED4
+仕 > shì; #4ED5
+他 > tā; #4ED6
+仗 > zhàng; #4ED7
+付 > fù; #4ED8
+仙 > xiān; #4ED9
+仚 > xiān; #4EDA
+仛 > tūo; #4EDB
+仜 > hóng; #4EDC
+仝 > tóng; #4EDD
+仞 > rèn; #4EDE
+仟 > qiān; #4EDF
+仠 > gán; #4EE0
+仡 > yì; #4EE1
+仢 > dí; #4EE2
+代 > dài; #4EE3
+令 > lìng; #4EE4
+以 > yĭ; #4EE5
+仦 > chào; #4EE6
+仧 > cháng; #4EE7
+仨 > sā; #4EE8
+仪 > yí; #4EEA
+仫 > mù; #4EEB
+们 > men; #4EEC
+仭 > rèn; #4EED
+仮 > jiă; #4EEE
+仯 > chào; #4EEF
+仰 > yăng; #4EF0
+仱 > qián; #4EF1
+仲 > zhòng; #4EF2
+仳 > pĭ; #4EF3
+仴 > wàn; #4EF4
+仵 > wŭ; #4EF5
+件 > jiàn; #4EF6
+价 > jiè; #4EF7
+仸 > yăo; #4EF8
+仹 > fēng; #4EF9
+仺 > cāng; #4EFA
+任 > rèn; #4EFB
+仼 > wáng; #4EFC
+份 > fèn; #4EFD
+仾 > dī; #4EFE
+仿 > făng; #4EFF
+伀 > zhōng; #4F00
+企 > qĭ; #4F01
+伂 > pèi; #4F02
+伃 > yú; #4F03
+伄 > diào; #4F04
+伅 > dùn; #4F05
+伆 > wèn; #4F06
+伇 > yì; #4F07
+伈 > xĭn; #4F08
+伉 > kàng; #4F09
+伊 > yī; #4F0A
+伋 > jí; #4F0B
+伌 > ài; #4F0C
+伍 > wŭ; #4F0D
+伎 > jì; #4F0E
+伏 > fú; #4F0F
+伐 > fá; #4F10
+休 > xīu; #4F11
+伒 > jìn; #4F12
+伓 > bēi; #4F13
+伔 > dăn; #4F14
+伕 > fū; #4F15
+伖 > tăng; #4F16
+众 > zhòng; #4F17
+优 > yōu; #4F18
+伙 > hŭo; #4F19
+会 > hùi; #4F1A
+伛 > yŭ; #4F1B
+伜 > cùi; #4F1C
+伝 > chuán; #4F1D
+伞 > săn; #4F1E
+伟 > wĕi; #4F1F
+传 > chuán; #4F20
+伡 > chē; #4F21
+伢 > yá; #4F22
+伣 > xiàn; #4F23
+伤 > shāng; #4F24
+伥 > chāng; #4F25
+伦 > lún; #4F26
+伧 > cāng; #4F27
+伨 > xùn; #4F28
+伩 > xìn; #4F29
+伪 > wĕi; #4F2A
+伫 > zhù; #4F2B
+伭 > xuán; #4F2D
+伮 > nú; #4F2E
+伯 > bó; #4F2F
+估 > gū; #4F30
+伱 > nĭ; #4F31
+伲 > nĭ; #4F32
+伳 > xiè; #4F33
+伴 > bàn; #4F34
+伵 > xù; #4F35
+伶 > líng; #4F36
+伷 > zhòu; #4F37
+伸 > shēn; #4F38
+伹 > qū; #4F39
+伺 > sì; #4F3A
+伻 > bēng; #4F3B
+似 > sì; #4F3C
+伽 > jiā; #4F3D
+伾 > pī; #4F3E
+伿 > yì; #4F3F
+佀 > sì; #4F40
+佁 > ăi; #4F41
+佂 > zhēng; #4F42
+佃 > diàn; #4F43
+佄 > hán; #4F44
+佅 > mài; #4F45
+但 > dàn; #4F46
+佇 > zhù; #4F47
+佈 > bù; #4F48
+佉 > qū; #4F49
+佊 > bĭ; #4F4A
+佋 > shào; #4F4B
+佌 > cĭ; #4F4C
+位 > wèi; #4F4D
+低 > dī; #4F4E
+住 > zhù; #4F4F
+佐 > zŭo; #4F50
+佑 > yòu; #4F51
+佒 > yāng; #4F52
+体 > tĭ; #4F53
+佔 > zhàn; #4F54
+何 > hé; #4F55
+佖 > bì; #4F56
+佗 > tūo; #4F57
+佘 > shé; #4F58
+余 > yú; #4F59
+佚 > yì; #4F5A
+佛 > fó; #4F5B
+作 > zùo; #4F5C
+佝 > kòu; #4F5D
+佞 > nìng; #4F5E
+佟 > tóng; #4F5F
+你 > nĭ; #4F60
+佡 > xuān; #4F61
+佢 > qú; #4F62
+佣 > yòng; #4F63
+佤 > wă; #4F64
+佥 > qiān; #4F65
+佧 > kă; #4F67
+佩 > pèi; #4F69
+佪 > huái; #4F6A
+佫 > hè; #4F6B
+佬 > lăo; #4F6C
+佭 > xiáng; #4F6D
+佮 > gé; #4F6E
+佯 > yáng; #4F6F
+佰 > băi; #4F70
+佱 > fă; #4F71
+佲 > míng; #4F72
+佳 > jia; #4F73
+佴 > èr; #4F74
+併 > bìng; #4F75
+佶 > jí; #4F76
+佷 > hĕn; #4F77
+佸 > húo; #4F78
+佹 > gŭi; #4F79
+佺 > quán; #4F7A
+佻 > tiāo; #4F7B
+佼 > jiăo; #4F7C
+佽 > cì; #4F7D
+佾 > yì; #4F7E
+使 > shĭ; #4F7F
+侀 > xíng; #4F80
+侁 > shēn; #4F81
+侂 > tūo; #4F82
+侃 > kăn; #4F83
+侄 > zhí; #4F84
+侅 > gāi; #4F85
+來 > lái; #4F86
+侇 > yí; #4F87
+侈 > chĭ; #4F88
+侉 > kuā; #4F89
+侊 > guāng; #4F8A
+例 > lì; #4F8B
+侌 > yīn; #4F8C
+侍 > shì; #4F8D
+侎 > mĭ; #4F8E
+侏 > zhū; #4F8F
+侐 > xù; #4F90
+侑 > yòu; #4F91
+侒 > ān; #4F92
+侓 > lù; #4F93
+侔 > móu; #4F94
+侕 > ér; #4F95
+侖 > lún; #4F96
+侗 > tóng; #4F97
+侘 > chà; #4F98
+侙 > chì; #4F99
+侚 > xùn; #4F9A
+供 > gōng; #4F9B
+侜 > zhōu; #4F9C
+依 > yī; #4F9D
+侞 > rŭ; #4F9E
+侟 > jiàn; #4F9F
+侠 > xiá; #4FA0
+価 > jià; #4FA1
+侢 > zài; #4FA2
+侣 > lǚ; #4FA3
+侥 > jiăo; #4FA5
+侦 > zhēn; #4FA6
+侧 > cè; #4FA7
+侨 > qiáo; #4FA8
+侩 > kuài; #4FA9
+侪 > chái; #4FAA
+侫 > nìng; #4FAB
+侬 > nóng; #4FAC
+侭 > jĭn; #4FAD
+侮 > wŭ; #4FAE
+侯 > hóu; #4FAF
+侰 > jĭong; #4FB0
+侱 > chĕng; #4FB1
+侲 > zhèn; #4FB2
+侳 > zùo; #4FB3
+侴 > chŏu; #4FB4
+侵 > qīn; #4FB5
+侶 > lǚ; #4FB6
+侷 > jú; #4FB7
+侸 > shù; #4FB8
+侹 > tĭng; #4FB9
+侺 > shèn; #4FBA
+侻 > tūo; #4FBB
+侼 > bó; #4FBC
+侽 > nán; #4FBD
+侾 > hāo; #4FBE
+便 > biàn; #4FBF
+俀 > tŭi; #4FC0
+俁 > yŭ; #4FC1
+係 > xì; #4FC2
+促 > cù; #4FC3
+俄 > é; #4FC4
+俅 > qíu; #4FC5
+俆 > xú; #4FC6
+俇 > kuăng; #4FC7
+俈 > kù; #4FC8
+俉 > wù; #4FC9
+俊 > jùn; #4FCA
+俋 > yì; #4FCB
+俌 > fŭ; #4FCC
+俍 > láng; #4FCD
+俎 > zŭ; #4FCE
+俏 > qiào; #4FCF
+俐 > lì; #4FD0
+俑 > yŏng; #4FD1
+俒 > hùn; #4FD2
+俓 > jìng; #4FD3
+俔 > xiàn; #4FD4
+俕 > sàn; #4FD5
+俖 > păi; #4FD6
+俗 > sú; #4FD7
+俘 > fú; #4FD8
+俙 > xī; #4FD9
+俚 > lĭ; #4FDA
+俛 > fŭ; #4FDB
+俜 > pīng; #4FDC
+保 > băo; #4FDD
+俞 > yú; #4FDE
+俟 > sì; #4FDF
+俠 > xiá; #4FE0
+信 > xìn; #4FE1
+俢 > xīu; #4FE2
+俣 > yŭ; #4FE3
+俤 > tì; #4FE4
+俥 > chē; #4FE5
+俦 > chóu; #4FE6
+俨 > yăn; #4FE8
+俩 > liă; #4FE9
+俪 > lì; #4FEA
+俫 > lái; #4FEB
+俭 > jiăn; #4FED
+修 > xīu; #4FEE
+俯 > fŭ; #4FEF
+俰 > hè; #4FF0
+俱 > jù; #4FF1
+俲 > xiào; #4FF2
+俳 > pái; #4FF3
+俴 > jiàn; #4FF4
+俵 > biào; #4FF5
+俶 > chù; #4FF6
+俷 > fèi; #4FF7
+俸 > fèng; #4FF8
+俹 > yà; #4FF9
+俺 > ăn; #4FFA
+俻 > bèi; #4FFB
+俼 > yù; #4FFC
+俽 > xīn; #4FFD
+俾 > bĭ; #4FFE
+俿 > jiàn; #4FFF
+倀 > chāng; #5000
+倁 > chí; #5001
+倂 > bìng; #5002
+倃 > zán; #5003
+倄 > yáo; #5004
+倅 > cùi; #5005
+倆 > liă; #5006
+倇 > wăn; #5007
+倈 > lái; #5008
+倉 > cāng; #5009
+倊 > zòng; #500A
+個 > gè; #500B
+倌 > guān; #500C
+倍 > bèi; #500D
+倎 > tiān; #500E
+倏 > shū; #500F
+倐 > shū; #5010
+們 > men; #5011
+倒 > dăo; #5012
+倓 > tán; #5013
+倔 > jué; #5014
+倕 > chúi; #5015
+倖 > xìng; #5016
+倗 > péng; #5017
+倘 > tăng; #5018
+候 > hòu; #5019
+倚 > yĭ; #501A
+倛 > qī; #501B
+倜 > tì; #501C
+倝 > gàn; #501D
+倞 > jìng; #501E
+借 > jiè; #501F
+倠 > sūi; #5020
+倡 > chàng; #5021
+倢 > jié; #5022
+倣 > făng; #5023
+値 > zhí; #5024
+倥 > kōng; #5025
+倦 > juàn; #5026
+倧 > zōng; #5027
+倨 > jù; #5028
+倩 > qiàn; #5029
+倪 > ní; #502A
+倫 > lún; #502B
+倬 > zhūo; #502C
+倭 > wēi; #502D
+倮 > lŭo; #502E
+倯 > sōng; #502F
+倰 > léng; #5030
+倱 > hùn; #5031
+倲 > dōng; #5032
+倳 > zì; #5033
+倴 > bèn; #5034
+倵 > wŭ; #5035
+倶 > jù; #5036
+倷 > nài; #5037
+倸 > căi; #5038
+倹 > jiăn; #5039
+债 > zhài; #503A
+倻 > yē; #503B
+值 > zhí; #503C
+倽 > shà; #503D
+倾 > qīng; #503E
+偀 > yīng; #5040
+偁 > chēng; #5041
+偂 > jiān; #5042
+偃 > yăn; #5043
+偄 > nuàn; #5044
+偅 > zhòng; #5045
+偆 > chŭn; #5046
+假 > jiă; #5047
+偈 > jié; #5048
+偉 > wĕi; #5049
+偊 > yŭ; #504A
+偋 > bĭng; #504B
+偌 > rùo; #504C
+偍 > tí; #504D
+偎 > wēi; #504E
+偏 > piān; #504F
+偐 > yàn; #5050
+偑 > fēng; #5051
+偒 > tăng; #5052
+偓 > wò; #5053
+偔 > è; #5054
+偕 > xié; #5055
+偖 > chĕ; #5056
+偗 > shĕng; #5057
+偘 > kăn; #5058
+偙 > dì; #5059
+做 > zùo; #505A
+偛 > chā; #505B
+停 > tíng; #505C
+偝 > bèi; #505D
+偞 > yè; #505E
+偟 > huáng; #505F
+偠 > yăo; #5060
+偡 > zhàn; #5061
+偢 > chŏu; #5062
+偣 > yān; #5063
+偤 > yŏu; #5064
+健 > jiàn; #5065
+偦 > xū; #5066
+偧 > zhā; #5067
+偨 > cī; #5068
+偩 > fù; #5069
+偪 > bī; #506A
+偫 > zhì; #506B
+偬 > zŏng; #506C
+偭 > miăn; #506D
+偮 > jí; #506E
+偯 > yĭ; #506F
+偰 > xiè; #5070
+偱 > xún; #5071
+偲 > sī; #5072
+偳 > duān; #5073
+側 > cè; #5074
+偵 > zhēn; #5075
+偶 > ŏu; #5076
+偷 > tōu; #5077
+偸 > tōu; #5078
+偹 > bèi; #5079
+偺 > zá; #507A
+偻 > lǚ; #507B
+偼 > jié; #507C
+偽 > wĕi; #507D
+偾 > fèn; #507E
+偿 > cháng; #507F
+傀 > gūi; #5080
+傁 > sŏu; #5081
+傂 > zhì; #5082
+傃 > sù; #5083
+傄 > xiā; #5084
+傅 > fù; #5085
+傆 > yuàn; #5086
+傇 > rŏng; #5087
+傈 > lì; #5088
+傉 > rù; #5089
+傊 > yŭn; #508A
+傋 > gòu; #508B
+傌 > mà; #508C
+傍 > bàng; #508D
+傎 > diān; #508E
+傏 > táng; #508F
+傐 > hào; #5090
+傑 > jié; #5091
+傒 > xī; #5092
+傓 > shàn; #5093
+傔 > qiàn; #5094
+傕 > jué; #5095
+傖 > cāng; #5096
+傗 > chù; #5097
+傘 > săn; #5098
+備 > bèi; #5099
+傚 > xiào; #509A
+傛 > yŏng; #509B
+傜 > yáo; #509C
+傝 > tàn; #509D
+傞 > sūo; #509E
+傟 > yăng; #509F
+傠 > fā; #50A0
+傡 > bìng; #50A1
+傢 > jiā; #50A2
+傣 > dăi; #50A3
+傤 > zài; #50A4
+傥 > tăng; #50A5
+傧 > bìn; #50A7
+储 > chŭ; #50A8
+傩 > núo; #50A9
+傪 > cān; #50AA
+傫 > lĕi; #50AB
+催 > cūi; #50AC
+傭 > yōng; #50AD
+傮 > zāo; #50AE
+傯 > zŏng; #50AF
+傰 > péng; #50B0
+傱 > sŏng; #50B1
+傲 > ào; #50B2
+傳 > chuán; #50B3
+傴 > yŭ; #50B4
+債 > zhài; #50B5
+傶 > còu; #50B6
+傷 > shāng; #50B7
+傸 > qiăng; #50B8
+傹 > jìng; #50B9
+傺 > chì; #50BA
+傻 > shă; #50BB
+傼 > hàn; #50BC
+傽 > zhāng; #50BD
+傾 > qīng; #50BE
+傿 > yàn; #50BF
+僀 > dì; #50C0
+僁 > xī; #50C1
+僂 > lǚ; #50C2
+僃 > bèi; #50C3
+僄 > piào; #50C4
+僅 > jĭn; #50C5
+僆 > lián; #50C6
+僇 > lù; #50C7
+僈 > màn; #50C8
+僉 > qiān; #50C9
+僊 > xiān; #50CA
+僋 > tàn; #50CB
+僌 > yíng; #50CC
+働 > dòng; #50CD
+僎 > zhuàn; #50CE
+像 > xiàng; #50CF
+僐 > shàn; #50D0
+僑 > qiáo; #50D1
+僒 > jĭong; #50D2
+僓 > tŭi; #50D3
+僔 > zŭn; #50D4
+僕 > pú; #50D5
+僖 > xī; #50D6
+僗 > láo; #50D7
+僘 > chăng; #50D8
+僙 > guāng; #50D9
+僚 > liáo; #50DA
+僛 > qī; #50DB
+僜 > dèng; #50DC
+僝 > chán; #50DD
+僞 > wĕi; #50DE
+僟 > jī; #50DF
+僠 > fān; #50E0
+僡 > hùi; #50E1
+僢 > chuăn; #50E2
+僣 > jiàn; #50E3
+僤 > dàn; #50E4
+僥 > jiăo; #50E5
+僦 > jìu; #50E6
+僧 > sēng; #50E7
+僨 > fèn; #50E8
+僩 > xiàn; #50E9
+僪 > jué; #50EA
+僫 > è; #50EB
+僬 > jiāo; #50EC
+僭 > jiàn; #50ED
+僮 > tóng; #50EE
+僯 > lĭn; #50EF
+僰 > bó; #50F0
+僱 > gù; #50F1
+僳 > sù; #50F3
+僴 > xiàn; #50F4
+僵 > jiāng; #50F5
+僶 > mĭn; #50F6
+僷 > yè; #50F7
+僸 > jìn; #50F8
+價 > jià; #50F9
+僺 > qiào; #50FA
+僻 > pì; #50FB
+僼 > fēng; #50FC
+僽 > zhòu; #50FD
+僾 > ài; #50FE
+僿 > sài; #50FF
+儀 > yí; #5100
+儁 > jùn; #5101
+儂 > nóng; #5102
+儃 > chán; #5103
+億 > yì; #5104
+儅 > dāng; #5105
+儆 > jĭng; #5106
+儇 > xuān; #5107
+儈 > kuài; #5108
+儉 > jiăn; #5109
+儊 > chù; #510A
+儋 > dān; #510B
+儌 > jiăo; #510C
+儍 > shă; #510D
+儎 > zài; #510E
+儐 > bìn; #5110
+儑 > àn; #5111
+儒 > rú; #5112
+儓 > tái; #5113
+儔 > chóu; #5114
+儕 > chái; #5115
+儖 > lán; #5116
+儗 > nĭ; #5117
+儘 > jĭn; #5118
+儙 > qiàn; #5119
+儚 > méng; #511A
+儛 > wŭ; #511B
+儜 > níng; #511C
+儝 > qíong; #511D
+儞 > nĭ; #511E
+償 > cháng; #511F
+儠 > liè; #5120
+儡 > lĕi; #5121
+儢 > lǚ; #5122
+儣 > kuàng; #5123
+儤 > bào; #5124
+儥 > dú; #5125
+儦 > biāo; #5126
+儧 > zăn; #5127
+儨 > zhí; #5128
+儩 > sì; #5129
+優 > yōu; #512A
+儫 > háo; #512B
+儬 > chèn; #512C
+儭 > chèn; #512D
+儮 > lì; #512E
+儯 > téng; #512F
+儰 > wĕi; #5130
+儱 > lŏng; #5131
+儲 > chŭ; #5132
+儳 > chàn; #5133
+儴 > ráng; #5134
+儵 > shū; #5135
+儶 > hùi; #5136
+儷 > lì; #5137
+儸 > lúo; #5138
+儹 > zăn; #5139
+儺 > núo; #513A
+儻 > tăng; #513B
+儼 > yăn; #513C
+儽 > lĕi; #513D
+儾 > nàng; #513E
+儿 > ér; #513F
+兀 > wù; #5140
+允 > yŭn; #5141
+兂 > zān; #5142
+元 > yuán; #5143
+兄 > xīong; #5144
+充 > chōng; #5145
+兆 > zhào; #5146
+兇 > xīong; #5147
+先 > xiān; #5148
+光 > guāng; #5149
+兊 > dùi; #514A
+克 > kè; #514B
+兌 > dùi; #514C
+免 > miăn; #514D
+兎 > tù; #514E
+兏 > cháng; #514F
+児 > ér; #5150
+兑 > dùi; #5151
+兒 > ér; #5152
+兓 > xīn; #5153
+兔 > tù; #5154
+兕 > sì; #5155
+兖 > yăn; #5156
+兗 > yăn; #5157
+兘 > shĭ; #5158
+兙 > shí' 'kè; #5159
+党 > dăng; #515A
+兛 > qiān; #515B
+兜 > dōu; #515C
+兝 > fēn; #515D
+兞 > máo; #515E
+兟 > shēn; #515F
+兠 > dōu; #5160
+兡 > băi' 'kè; #5161
+兢 > jīng; #5162
+兣 > lĭ; #5163
+兤 > huáng; #5164
+入 > rù; #5165
+兦 > wáng; #5166
+內 > nèi; #5167
+全 > quán; #5168
+兩 > liăng; #5169
+兪 > yú; #516A
+八 > bā; #516B
+公 > gōng; #516C
+六 > lìu; #516D
+兮 > xī; #516E
+兰 > lán; #5170
+共 > gòng; #5171
+兲 > tiān; #5172
+关 > guān; #5173
+兴 > xīng; #5174
+兵 > bīng; #5175
+其 > qí; #5176
+具 > jù; #5177
+典 > diăn; #5178
+兹 > zī; #5179
+养 > yăng; #517B
+兼 > jiān; #517C
+兽 > shòu; #517D
+兾 > jì; #517E
+兿 > yì; #517F
+冀 > jì; #5180
+冁 > chăn; #5181
+冂 > jīong; #5182
+冃 > mao; #5183
+冄 > răn; #5184
+内 > nèi; #5185
+円 > yuan; #5186
+冇 > măo; #5187
+冈 > gāng; #5188
+冉 > răn; #5189
+冊 > cè; #518A
+冋 > jīong; #518B
+册 > cè; #518C
+再 > zài; #518D
+冎 > guă; #518E
+冏 > jĭong; #518F
+冐 > mào; #5190
+冑 > zhòu; #5191
+冒 > mòu; #5192
+冓 > gòu; #5193
+冔 > xŭ; #5194
+冕 > miăn; #5195
+冖 > mì; #5196
+冗 > rŏng; #5197
+冘 > yín; #5198
+写 > xiĕ; #5199
+冚 > kăn; #519A
+军 > jūn; #519B
+农 > nóng; #519C
+冝 > yí; #519D
+冞 > mí; #519E
+冟 > shì; #519F
+冠 > guān; #51A0
+冡 > méng; #51A1
+冢 > zhŏng; #51A2
+冣 > jù; #51A3
+冤 > yuān; #51A4
+冥 > míng; #51A5
+冦 > kòu; #51A6
+冨 > fù; #51A8
+冩 > xiĕ; #51A9
+冪 > mì; #51AA
+冫 > bīng; #51AB
+冬 > dōng; #51AC
+冭 > tái; #51AD
+冮 > gāng; #51AE
+冯 > féng; #51AF
+冰 > bīng; #51B0
+冱 > hù; #51B1
+冲 > chōng; #51B2
+决 > jué; #51B3
+冴 > hù; #51B4
+况 > kuàng; #51B5
+冶 > yĕ; #51B6
+冷 > lĕng; #51B7
+冸 > pàn; #51B8
+冹 > fú; #51B9
+冺 > mĭn; #51BA
+冻 > dòng; #51BB
+冼 > xiăn; #51BC
+冽 > liè; #51BD
+冾 > xiá; #51BE
+冿 > jiān; #51BF
+净 > jìng; #51C0
+凁 > shù; #51C1
+凂 > mĕi; #51C2
+凃 > tú; #51C3
+凄 > qī; #51C4
+凅 > gù; #51C5
+准 > zhŭn; #51C6
+凇 > sòng; #51C7
+凈 > jìng; #51C8
+凉 > liáng; #51C9
+凊 > qìng; #51CA
+凋 > diāo; #51CB
+凌 > líng; #51CC
+凍 > dòng; #51CD
+凎 > gàn; #51CE
+减 > jiăn; #51CF
+凐 > yīn; #51D0
+凑 > còu; #51D1
+凒 > yí; #51D2
+凓 > lì; #51D3
+凔 > cāng; #51D4
+凕 > mĭng; #51D5
+凖 > zhuĕn; #51D6
+凗 > cúi; #51D7
+凘 > sī; #51D8
+凙 > dúo; #51D9
+凚 > jìn; #51DA
+凛 > lĭn; #51DB
+凜 > lĭn; #51DC
+凝 > níng; #51DD
+凞 > xī; #51DE
+凟 > dú; #51DF
+几 > jī; #51E0
+凡 > fán; #51E1
+凢 > fán; #51E2
+凣 > fán; #51E3
+凤 > fèng; #51E4
+凥 > jū; #51E5
+処 > chŭ; #51E6
+凨 > fēng; #51E8
+凫 > fú; #51EB
+凬 > fēng; #51EC
+凭 > píng; #51ED
+凮 > fēng; #51EE
+凯 > kăi; #51EF
+凰 > huáng; #51F0
+凱 > kăi; #51F1
+凲 > gān; #51F2
+凳 > dèng; #51F3
+凴 > píng; #51F4
+凵 > qū; #51F5
+凶 > xīong; #51F6
+凷 > kuài; #51F7
+凸 > tū; #51F8
+凹 > āo; #51F9
+出 > chū; #51FA
+击 > jí; #51FB
+凼 > dàng; #51FC
+函 > hán; #51FD
+凾 > hán; #51FE
+凿 > záo; #51FF
+刀 > dāo; #5200
+刁 > diāo; #5201
+刂 > dāo; #5202
+刃 > rèn; #5203
+刄 > rèn; #5204
+刅 > chuāng; #5205
+分 > fēn; #5206
+切 > qiē; #5207
+刈 > yì; #5208
+刉 > jī; #5209
+刊 > kān; #520A
+刋 > qiàn; #520B
+刌 > cŭn; #520C
+刍 > chú; #520D
+刎 > wĕn; #520E
+刏 > jī; #520F
+刐 > dăn; #5210
+刑 > xíng; #5211
+划 > huá; #5212
+刓 > wán; #5213
+刔 > jué; #5214
+刕 > lí; #5215
+刖 > yuè; #5216
+列 > liè; #5217
+刘 > líu; #5218
+则 > zé; #5219
+刚 > gāng; #521A
+创 > chuàng; #521B
+刜 > fú; #521C
+初 > chū; #521D
+刞 > qù; #521E
+刟 > jū; #521F
+删 > shān; #5220
+刡 > mĭn; #5221
+刢 > líng; #5222
+刣 > zhōng; #5223
+判 > pàn; #5224
+別 > bié; #5225
+刦 > jié; #5226
+刧 > jié; #5227
+刨 > bào; #5228
+利 > lì; #5229
+刪 > shān; #522A
+别 > bié; #522B
+刬 > chăn; #522C
+刭 > jĭng; #522D
+刮 > guā; #522E
+刯 > gēn; #522F
+到 > dào; #5230
+刱 > chuàng; #5231
+刲 > kūi; #5232
+刳 > kū; #5233
+刴 > dùo; #5234
+刵 > èr; #5235
+制 > zhì; #5236
+刷 > shuā; #5237
+券 > quàn; #5238
+刹 > chà; #5239
+刺 > cì; #523A
+刻 > kè; #523B
+刼 > jié; #523C
+刽 > gùi; #523D
+刾 > cì; #523E
+刿 > gùi; #523F
+剀 > kăi; #5240
+剁 > dùo; #5241
+剂 > jì; #5242
+剃 > tì; #5243
+剄 > jĭng; #5244
+剅 > lóu; #5245
+剆 > gēn; #5246
+則 > zé; #5247
+剈 > yuān; #5248
+剉 > cùo; #5249
+削 > xuē; #524A
+剋 > kè; #524B
+剌 > là; #524C
+前 > qián; #524D
+剎 > chà; #524E
+剏 > chuàng; #524F
+剐 > guă; #5250
+剑 > jiàn; #5251
+剒 > cùo; #5252
+剓 > lí; #5253
+剔 > tī; #5254
+剕 > fèi; #5255
+剖 > pōu; #5256
+剗 > chăn; #5257
+剘 > qí; #5258
+剙 > chuàng; #5259
+剚 > zì; #525A
+剛 > gāng; #525B
+剜 > wān; #525C
+剝 > bō; #525D
+剞 > jī; #525E
+剟 > dūo; #525F
+剠 > qíng; #5260
+剡 > yăn; #5261
+剢 > zhúo; #5262
+剣 > jiàn; #5263
+剤 > jì; #5264
+剥 > bō; #5265
+剦 > yān; #5266
+剧 > jù; #5267
+剨 > hùo; #5268
+剩 > shèng; #5269
+剪 > jiăn; #526A
+剫 > dúo; #526B
+剬 > duān; #526C
+剭 > wū; #526D
+剮 > guă; #526E
+副 > fù; #526F
+剰 > shèng; #5270
+剱 > jiàn; #5271
+割 > gē; #5272
+剳 > zhā; #5273
+剴 > kăi; #5274
+創 > chuàng; #5275
+剶 > juān; #5276
+剷 > chăn; #5277
+剸 > tuán; #5278
+剹 > lù; #5279
+剺 > lí; #527A
+剻 > fóu; #527B
+剼 > shān; #527C
+剽 > piào; #527D
+剾 > kōu; #527E
+剿 > jiăo; #527F
+劀 > guā; #5280
+劁 > qiāo; #5281
+劂 > jué; #5282
+劃 > huà; #5283
+劄 > zhá; #5284
+劅 > zhùo; #5285
+劆 > lián; #5286
+劇 > jù; #5287
+劈 > pī; #5288
+劉 > líu; #5289
+劊 > gùi; #528A
+劋 > jiăo; #528B
+劌 > gùi; #528C
+劍 > jiàn; #528D
+劎 > jiàn; #528E
+劏 > tāng; #528F
+劐 > hūo; #5290
+劑 > jì; #5291
+劒 > jiàn; #5292
+劓 > yì; #5293
+劔 > jiàn; #5294
+劕 > zhí; #5295
+劖 > chán; #5296
+劗 > cuán; #5297
+劘 > mó; #5298
+劙 > lí; #5299
+劚 > zhú; #529A
+力 > lì; #529B
+劜 > yā; #529C
+劝 > quàn; #529D
+办 > bàn; #529E
+功 > gōng; #529F
+加 > jiā; #52A0
+务 > wù; #52A1
+劢 > mài; #52A2
+劣 > liè; #52A3
+劤 > jìn; #52A4
+劥 > kēng; #52A5
+劦 > xié; #52A6
+劧 > zhĭ; #52A7
+动 > dòng; #52A8
+助 > zhù; #52A9
+努 > nŭ; #52AA
+劫 > jié; #52AB
+劬 > qú; #52AC
+劭 > shào; #52AD
+劮 > yì; #52AE
+劯 > zhū; #52AF
+劰 > miăo; #52B0
+励 > lì; #52B1
+劲 > jìng; #52B2
+劳 > láo; #52B3
+労 > láo; #52B4
+劵 > juàn; #52B5
+劶 > kŏu; #52B6
+劷 > yáng; #52B7
+劸 > wā; #52B8
+効 > xiào; #52B9
+劺 > móu; #52BA
+劻 > kuāng; #52BB
+劼 > jié; #52BC
+劽 > liè; #52BD
+劾 > hé; #52BE
+势 > shì; #52BF
+勀 > kè; #52C0
+勁 > jìng; #52C1
+勂 > háo; #52C2
+勃 > bó; #52C3
+勄 > mĭn; #52C4
+勅 > chì; #52C5
+勆 > láng; #52C6
+勇 > yŏng; #52C7
+勈 > yŏng; #52C8
+勉 > miăn; #52C9
+勊 > kè; #52CA
+勋 > xūn; #52CB
+勌 > juàn; #52CC
+勍 > qíng; #52CD
+勎 > lù; #52CE
+勏 > pŏu; #52CF
+勐 > mĕng; #52D0
+勑 > lài; #52D1
+勒 > lè; #52D2
+勓 > kài; #52D3
+勔 > miăn; #52D4
+動 > dòng; #52D5
+勖 > xù; #52D6
+勗 > xù; #52D7
+勘 > kān; #52D8
+務 > wù; #52D9
+勚 > yì; #52DA
+勛 > xūn; #52DB
+勜 > wĕng; #52DC
+勝 > shèng; #52DD
+勞 > láo; #52DE
+募 > mù; #52DF
+勠 > lù; #52E0
+勡 > piào; #52E1
+勢 > shì; #52E2
+勣 > jī; #52E3
+勤 > qín; #52E4
+勥 > qiăng; #52E5
+勦 > jiăo; #52E6
+勧 > quàn; #52E7
+勨 > yăng; #52E8
+勩 > yì; #52E9
+勪 > jué; #52EA
+勫 > fán; #52EB
+勬 > juàn; #52EC
+勭 > tóng; #52ED
+勮 > jù; #52EE
+勯 > dān; #52EF
+勰 > xié; #52F0
+勱 > mài; #52F1
+勲 > xūn; #52F2
+勳 > xūn; #52F3
+勴 > lǜ; #52F4
+勵 > lì; #52F5
+勶 > chè; #52F6
+勷 > ráng; #52F7
+勸 > quàn; #52F8
+勹 > bāo; #52F9
+勺 > sháo; #52FA
+勻 > yún; #52FB
+勼 > jīu; #52FC
+勽 > bào; #52FD
+勾 > gōu; #52FE
+勿 > wù; #52FF
+匀 > yún; #5300
+匃 > gài; #5303
+匄 > gài; #5304
+包 > bāo; #5305
+匆 > cōng; #5306
+匈 > xīong; #5308
+匉 > pēng; #5309
+匊 > jú; #530A
+匋 > táo; #530B
+匌 > gé; #530C
+匍 > pú; #530D
+匎 > àn; #530E
+匏 > páo; #530F
+匐 > fú; #5310
+匑 > gōng; #5311
+匒 > dá; #5312
+匓 > jìu; #5313
+匔 > qīong; #5314
+匕 > bĭ; #5315
+化 > huà; #5316
+北 > bĕi; #5317
+匘 > năo; #5318
+匙 > chí; #5319
+匚 > fāng; #531A
+匛 > jìu; #531B
+匜 > yí; #531C
+匝 > zā; #531D
+匞 > jiàng; #531E
+匟 > kàng; #531F
+匠 > jiàng; #5320
+匡 > kuāng; #5321
+匢 > hū; #5322
+匣 > xiá; #5323
+匤 > qū; #5324
+匥 > biàn; #5325
+匦 > gŭi; #5326
+匧 > qiè; #5327
+匨 > zāng; #5328
+匩 > kuāng; #5329
+匪 > fĕi; #532A
+匫 > hū; #532B
+匬 > tóu; #532C
+匭 > gŭi; #532D
+匮 > gùi; #532E
+匯 > hùi; #532F
+匰 > dān; #5330
+匱 > gùi; #5331
+匲 > lián; #5332
+匳 > lián; #5333
+匴 > suăn; #5334
+匵 > dú; #5335
+匶 > jìu; #5336
+匷 > qú; #5337
+匸 > xĭ; #5338
+匹 > pĭ; #5339
+区 > qū; #533A
+医 > yì; #533B
+匼 > qià; #533C
+匽 > yăn; #533D
+匾 > biăn; #533E
+匿 > nì; #533F
+區 > qū; #5340
+十 > shí; #5341
+卂 > xìn; #5342
+千 > qiān; #5343
+卄 > niàn; #5344
+卅 > sà; #5345
+卆 > zú; #5346
+升 > shēng; #5347
+午 > wŭ; #5348
+卉 > hùi; #5349
+半 > bàn; #534A
+卋 > shì; #534B
+卌 > xì; #534C
+卍 > wàn; #534D
+华 > huá; #534E
+协 > xié; #534F
+卐 > wàn; #5350
+卑 > bēi; #5351
+卒 > zú; #5352
+卓 > zhūo; #5353
+協 > xié; #5354
+单 > dān; #5355
+卖 > mài; #5356
+南 > nán; #5357
+単 > dān; #5358
+卙 > jí; #5359
+博 > bó; #535A
+卛 > shuài; #535B
+卜 > bŭ; #535C
+卝 > kuàng; #535D
+卞 > biàn; #535E
+卟 > bŭ; #535F
+占 > zhān; #5360
+卡 > qiă; #5361
+卢 > lú; #5362
+卣 > yŏu; #5363
+卤 > lŭ; #5364
+卥 > xī; #5365
+卦 > guà; #5366
+卧 > wò; #5367
+卨 > xiè; #5368
+卩 > jié; #5369
+卪 > jié; #536A
+卫 > wèi; #536B
+卬 > áng; #536C
+卭 > qíong; #536D
+卮 > zhī; #536E
+卯 > măo; #536F
+印 > yìn; #5370
+危 > wēi; #5371
+卲 > shào; #5372
+即 > jí; #5373
+却 > què; #5374
+卵 > luăn; #5375
+卶 > shì; #5376
+卷 > juàn; #5377
+卸 > xiè; #5378
+卹 > xù; #5379
+卺 > jĭn; #537A
+卻 > què; #537B
+卼 > wù; #537C
+卽 > jí; #537D
+卾 > è; #537E
+卿 > qīng; #537F
+厀 > xī; #5380
+厂 > hàn; #5382
+厃 > zhān; #5383
+厄 > è; #5384
+厅 > tīng; #5385
+历 > lì; #5386
+厇 > zhé; #5387
+厈 > hăn; #5388
+厉 > lì; #5389
+厊 > yă; #538A
+压 > yā; #538B
+厌 > yàn; #538C
+厍 > shè; #538D
+厎 > zhĭ; #538E
+厏 > zhă; #538F
+厐 > páng; #5390
+厒 > hé; #5392
+厓 > yá; #5393
+厔 > zhì; #5394
+厕 > cè; #5395
+厖 > páng; #5396
+厗 > tí; #5397
+厘 > lí; #5398
+厙 > shè; #5399
+厚 > hòu; #539A
+厛 > tīng; #539B
+厜 > zūi; #539C
+厝 > cùo; #539D
+厞 > fèi; #539E
+原 > yuán; #539F
+厠 > cè; #53A0
+厡 > yuán; #53A1
+厢 > xiāng; #53A2
+厣 > yăn; #53A3
+厤 > lì; #53A4
+厥 > jué; #53A5
+厦 > shà; #53A6
+厧 > diān; #53A7
+厨 > chú; #53A8
+厩 > jìu; #53A9
+厪 > qín; #53AA
+厫 > áo; #53AB
+厬 > gŭi; #53AC
+厭 > yàn; #53AD
+厮 > sī; #53AE
+厯 > lì; #53AF
+厰 > chăng; #53B0
+厱 > lán; #53B1
+厲 > lì; #53B2
+厳 > yán; #53B3
+厴 > yăn; #53B4
+厵 > yuán; #53B5
+厶 > sī; #53B6
+厷 > gōng; #53B7
+厸 > lín; #53B8
+厹 > qíu; #53B9
+厺 > qù; #53BA
+去 > qù; #53BB
+厽 > lĕi; #53BD
+厾 > dū; #53BE
+县 > xiàn; #53BF
+叀 > zhuān; #53C0
+叁 > sān; #53C1
+参 > cān; #53C2
+參 > cān; #53C3
+叄 > cān; #53C4
+叅 > cān; #53C5
+叆 > ài; #53C6
+叇 > dài; #53C7
+又 > yòu; #53C8
+叉 > cha; #53C9
+及 > jí; #53CA
+友 > yŏu; #53CB
+双 > shuāng; #53CC
+反 > făn; #53CD
+収 > shōu; #53CE
+叏 > guài; #53CF
+叐 > bá; #53D0
+发 > fā; #53D1
+叒 > rùo; #53D2
+叓 > shì; #53D3
+叔 > shū; #53D4
+叕 > zhúo; #53D5
+取 > qū; #53D6
+受 > shòu; #53D7
+变 > biàn; #53D8
+叙 > xù; #53D9
+叚 > jiă; #53DA
+叛 > pàn; #53DB
+叜 > sŏu; #53DC
+叝 > gào; #53DD
+叞 > wèi; #53DE
+叟 > sŏu; #53DF
+叠 > dié; #53E0
+叡 > rùi; #53E1
+叢 > cóng; #53E2
+口 > kŏu; #53E3
+古 > gŭ; #53E4
+句 > jù; #53E5
+另 > lìng; #53E6
+叧 > guă; #53E7
+叨 > tāo; #53E8
+叩 > kòu; #53E9
+只 > zhĭ; #53EA
+叫 > jiào; #53EB
+召 > zhào; #53EC
+叭 > bā; #53ED
+叮 > dīng; #53EE
+可 > kĕ; #53EF
+台 > tái; #53F0
+叱 > chì; #53F1
+史 > shĭ; #53F2
+右 > yòu; #53F3
+叴 > qíu; #53F4
+叵 > pŏ; #53F5
+叶 > xié; #53F6
+号 > hào; #53F7
+司 > sī; #53F8
+叹 > tàn; #53F9
+叺 > chĭ; #53FA
+叻 > lè; #53FB
+叼 > diāo; #53FC
+叽 > jī; #53FD
+叿 > hōng; #53FF
+吀 > miē; #5400
+吁 > xū; #5401
+吂 > máng; #5402
+吃 > chī; #5403
+各 > gè; #5404
+吅 > xuān; #5405
+吆 > yāo; #5406
+吇 > zĭ; #5407
+合 > hé; #5408
+吉 > jí; #5409
+吊 > diào; #540A
+吋 > cùn; #540B
+同 > tóng; #540C
+名 > míng; #540D
+后 > hòu; #540E
+吏 > lì; #540F
+吐 > tŭ; #5410
+向 > xiàng; #5411
+吒 > zhà; #5412
+吓 > xià; #5413
+吔 > yĕ; #5414
+吕 > lǚ; #5415
+吖 > ā; #5416
+吗 > ma; #5417
+吘 > ŏu; #5418
+吙 > xuē; #5419
+吚 > yī; #541A
+君 > jūn; #541B
+吜 > chŏu; #541C
+吝 > lìn; #541D
+吞 > tūn; #541E
+吟 > yín; #541F
+吠 > fèi; #5420
+吡 > bĭ; #5421
+吢 > qìn; #5422
+吣 > qìn; #5423
+吤 > jiè; #5424
+吥 > bù; #5425
+否 > fŏu; #5426
+吧 > ba; #5427
+吨 > dūn; #5428
+吩 > fēn; #5429
+吪 > é; #542A
+含 > hán; #542B
+听 > tīng; #542C
+吭 > háng; #542D
+吮 > shŭn; #542E
+启 > qĭ; #542F
+吰 > hóng; #5430
+吱 > zhī; #5431
+吲 > shĕn; #5432
+吳 > wú; #5433
+吴 > wú; #5434
+吵 > chăo; #5435
+吶 > nè; #5436
+吷 > xuè; #5437
+吸 > xī; #5438
+吹 > chūi; #5439
+吺 > dōu; #543A
+吻 > wĕn; #543B
+吼 > hŏu; #543C
+吽 > óu; #543D
+吾 > wú; #543E
+吿 > gào; #543F
+呀 > yā; #5440
+呁 > jùn; #5441
+呂 > lǚ; #5442
+呃 > è; #5443
+呄 > gé; #5444
+呅 > méi; #5445
+呆 > ái; #5446
+呇 > qĭ; #5447
+呈 > chéng; #5448
+呉 > wú; #5449
+告 > gào; #544A
+呋 > fū; #544B
+呌 > jiào; #544C
+呍 > hōng; #544D
+呎 > chĭ; #544E
+呏 > shēng; #544F
+呐 > nè; #5450
+呑 > tūn; #5451
+呒 > fŭ; #5452
+呓 > yì; #5453
+呔 > dāi; #5454
+呕 > ōu; #5455
+呖 > lì; #5456
+呗 > bài; #5457
+员 > yuán; #5458
+呙 > kuāi; #5459
+呛 > qiāng; #545B
+呜 > wū; #545C
+呝 > è; #545D
+呞 > shī; #545E
+呟 > quăn; #545F
+呠 > pēn; #5460
+呡 > wĕn; #5461
+呢 > ní; #5462
+呣 > ḿ; #5463
+呤 > lĭng; #5464
+呥 > răn; #5465
+呦 > yōu; #5466
+呧 > dĭ; #5467
+周 > zhōu; #5468
+呩 > shì; #5469
+呪 > zhòu; #546A
+呫 > tiē; #546B
+呬 > xì; #546C
+呭 > yì; #546D
+呮 > qì; #546E
+呯 > píng; #546F
+呰 > zĭ; #5470
+呱 > gū; #5471
+呲 > zī; #5472
+味 > wèi; #5473
+呴 > xū; #5474
+呵 > hē; #5475
+呶 > náo; #5476
+呷 > xiā; #5477
+呸 > pēi; #5478
+呹 > yì; #5479
+呺 > xiāo; #547A
+呻 > shēn; #547B
+呼 > hū; #547C
+命 > mìng; #547D
+呾 > dá; #547E
+呿 > qū; #547F
+咀 > jŭ; #5480
+咁 > gèm; #5481
+咂 > zā; #5482
+咃 > tūo; #5483
+咄 > dūo; #5484
+咅 > pòu; #5485
+咆 > páo; #5486
+咇 > bì; #5487
+咈 > fú; #5488
+咉 > yāng; #5489
+咊 > hé; #548A
+咋 > zhà; #548B
+和 > hé; #548C
+咍 > hāi; #548D
+咎 > jìu; #548E
+咏 > yŏng; #548F
+咐 > fù; #5490
+咑 > què; #5491
+咒 > zhòu; #5492
+咓 > wă; #5493
+咔 > kă; #5494
+咕 > gū; #5495
+咖 > kā; #5496
+咗 > zŭo; #5497
+咘 > bù; #5498
+咙 > lóng; #5499
+咚 > dōng; #549A
+咛 > níng; #549B
+咝 > sī; #549D
+咞 > xiàn; #549E
+咟 > hùo; #549F
+咠 > qì; #54A0
+咡 > èr; #54A1
+咢 > è; #54A2
+咣 > guāng; #54A3
+咤 > zhà; #54A4
+咥 > xì; #54A5
+咦 > yí; #54A6
+咧 > liĕ; #54A7
+咨 > zī; #54A8
+咩 > miē; #54A9
+咪 > mī; #54AA
+咫 > zhĭ; #54AB
+咬 > yăo; #54AC
+咭 > jī; #54AD
+咮 > zhòu; #54AE
+咯 > gē; #54AF
+咰 > shuài; #54B0
+咱 > zán; #54B1
+咲 > xiào; #54B2
+咳 > ké; #54B3
+咴 > hūi; #54B4
+咵 > kuā; #54B5
+咶 > huài; #54B6
+咷 > táo; #54B7
+咸 > xián; #54B8
+咹 > è; #54B9
+咺 > xuān; #54BA
+咻 > xīu; #54BB
+咼 > wāi; #54BC
+咽 > yān; #54BD
+咾 > lăo; #54BE
+咿 > yī; #54BF
+哀 > āi; #54C0
+品 > pĭn; #54C1
+哂 > shĕn; #54C2
+哃 > tóng; #54C3
+哄 > hōng; #54C4
+哅 > xīong; #54C5
+哆 > chĭ; #54C6
+哇 > wā; #54C7
+哈 > hā; #54C8
+哉 > zāi; #54C9
+哊 > yù; #54CA
+哋 > dì; #54CB
+哌 > pài; #54CC
+响 > xiăng; #54CD
+哎 > āi; #54CE
+哏 > hĕn; #54CF
+哐 > kuāng; #54D0
+哑 > yă; #54D1
+哒 > dā; #54D2
+哓 > xiāo; #54D3
+哔 > bì; #54D4
+哕 > yuĕ; #54D5
+哗 > huā; #54D7
+哙 > kuài; #54D9
+哚 > dŭo; #54DA
+哜 > jì; #54DC
+哝 > nóng; #54DD
+哞 > mōu; #54DE
+哟 > yo; #54DF
+哠 > hào; #54E0
+員 > yuán; #54E1
+哢 > lòng; #54E2
+哣 > pŏu; #54E3
+哤 > máng; #54E4
+哥 > gē; #54E5
+哦 > é; #54E6
+哧 > chī; #54E7
+哨 > shào; #54E8
+哩 > lī; #54E9
+哪 > nă; #54EA
+哫 > zú; #54EB
+哬 > hé; #54EC
+哭 > kū; #54ED
+哮 > xiāo; #54EE
+哯 > xiàn; #54EF
+哰 > láo; #54F0
+哱 > bō; #54F1
+哲 > zhé; #54F2
+哳 > zhā; #54F3
+哴 > liàng; #54F4
+哵 > bā; #54F5
+哶 > miē; #54F6
+哷 > lè; #54F7
+哸 > sūi; #54F8
+哹 > fóu; #54F9
+哺 > bŭ; #54FA
+哻 > hàn; #54FB
+哼 > hēng; #54FC
+哽 > gĕng; #54FD
+哾 > shūo; #54FE
+哿 > gĕ; #54FF
+唀 > yŏu; #5500
+唁 > yàn; #5501
+唂 > gŭ; #5502
+唃 > gŭ; #5503
+唄 > bài; #5504
+唅 > hān; #5505
+唆 > sūo; #5506
+唇 > chún; #5507
+唈 > yì; #5508
+唉 > āi; #5509
+唊 > jiá; #550A
+唋 > tŭ; #550B
+唌 > xián; #550C
+唍 > huăn; #550D
+唎 > lī; #550E
+唏 > xī; #550F
+唐 > táng; #5510
+唑 > zùo; #5511
+唒 > qíu; #5512
+唓 > chē; #5513
+唔 > wú; #5514
+唕 > zào; #5515
+唖 > yă; #5516
+唗 > dōu; #5517
+唘 > qĭ; #5518
+唙 > dí; #5519
+唚 > qìn; #551A
+唛 > mà; #551B
+唝 > hŏng; #551D
+唞 > dŏu; #551E
+唠 > láo; #5520
+唡 > liăng; #5521
+唢 > sŭo; #5522
+唣 > zào; #5523
+唤 > huàn; #5524
+唦 > shā; #5526
+唧 > jī; #5527
+唨 > zŭo; #5528
+唩 > wō; #5529
+唪 > fĕng; #552A
+唫 > yín; #552B
+唬 > hŭ; #552C
+唭 > qī; #552D
+售 > shòu; #552E
+唯 > wéi; #552F
+唰 > shuā; #5530
+唱 > chàng; #5531
+唲 > ér; #5532
+唳 > lì; #5533
+唴 > qiàng; #5534
+唵 > ăn; #5535
+唶 > jiè; #5536
+唷 > yō; #5537
+唸 > niàn; #5538
+唹 > yū; #5539
+唺 > tiăn; #553A
+唻 > lăi; #553B
+唼 > shà; #553C
+唽 > xī; #553D
+唾 > tùo; #553E
+唿 > hū; #553F
+啀 > ái; #5540
+啁 > zhōu; #5541
+啂 > nòu; #5542
+啃 > kĕn; #5543
+啄 > zhúo; #5544
+啅 > zhúo; #5545
+商 > shāng; #5546
+啇 > dí; #5547
+啈 > hèng; #5548
+啉 > lán; #5549
+啊 > a; #554A
+啋 > xiāo; #554B
+啌 > xiāng; #554C
+啍 > tūn; #554D
+啎 > wŭ; #554E
+問 > wèn; #554F
+啐 > cùi; #5550
+啑 > shà; #5551
+啒 > hū; #5552
+啓 > qĭ; #5553
+啔 > qĭ; #5554
+啕 > táo; #5555
+啖 > dàn; #5556
+啗 > dàn; #5557
+啘 > yè; #5558
+啙 > zĭ; #5559
+啚 > bĭ; #555A
+啛 > cùi; #555B
+啜 > chùo; #555C
+啝 > hé; #555D
+啞 > yă; #555E
+啟 > qĭ; #555F
+啠 > zhé; #5560
+啡 > pēi; #5561
+啢 > liăng; #5562
+啣 > xián; #5563
+啤 > pí; #5564
+啥 > shà; #5565
+啦 > la; #5566
+啧 > zé; #5567
+啨 > qīng; #5568
+啩 > guà; #5569
+啪 > pā; #556A
+啫 > zhĕ; #556B
+啬 > sè; #556C
+啭 > zhuàn; #556D
+啮 > niè; #556E
+啯 > guo; #556F
+啰 > lūo; #5570
+啱 > yān; #5571
+啲 > dì; #5572
+啳 > quán; #5573
+啴 > tān; #5574
+啵 > bo; #5575
+啶 > dìng; #5576
+啷 > lāng; #5577
+啸 > xiào; #5578
+啺 > táng; #557A
+啻 > chì; #557B
+啼 > tí; #557C
+啽 > án; #557D
+啾 > jīu; #557E
+啿 > dàn; #557F
+喀 > kè; #5580
+喁 > yóng; #5581
+喂 > wèi; #5582
+喃 > nán; #5583
+善 > shàn; #5584
+喅 > yù; #5585
+喆 > zhé; #5586
+喇 > lă; #5587
+喈 > jiē; #5588
+喉 > hóu; #5589
+喊 > hăn; #558A
+喋 > dié; #558B
+喌 > zhōu; #558C
+喍 > chái; #558D
+喎 > wāi; #558E
+喏 > rĕ; #558F
+喐 > yù; #5590
+喑 > yīn; #5591
+喒 > zán; #5592
+喓 > yāo; #5593
+喔 > wō; #5594
+喕 > miăn; #5595
+喖 > hú; #5596
+喗 > yŭn; #5597
+喘 > chuăn; #5598
+喙 > hùi; #5599
+喚 > huàn; #559A
+喛 > huàn; #559B
+喜 > xĭ; #559C
+喝 > hē; #559D
+喞 > jī; #559E
+喟 > kùi; #559F
+喠 > zhŏng; #55A0
+喡 > wĕi; #55A1
+喢 > shà; #55A2
+喣 > xŭ; #55A3
+喤 > huáng; #55A4
+喥 > dù; #55A5
+喦 > niè; #55A6
+喧 > 1xuān; #55A7
+喨 > liàng; #55A8
+喩 > yù; #55A9
+喪 > sāng; #55AA
+喫 > chī; #55AB
+喬 > qiáo; #55AC
+喭 > yàn; #55AD
+單 > dān; #55AE
+喯 > pēn; #55AF
+喰 > cān; #55B0
+喱 > lí; #55B1
+喲 > yo; #55B2
+喳 > zhā; #55B3
+喴 > wēi; #55B4
+喵 > miāo; #55B5
+営 > yíng; #55B6
+喷 > pēn; #55B7
+喹 > kúi; #55B9
+喺 > xì; #55BA
+喻 > yù; #55BB
+喼 > jié; #55BC
+喽 > lou; #55BD
+喾 > kù; #55BE
+喿 > sào; #55BF
+嗀 > hùo; #55C0
+嗁 > tí; #55C1
+嗂 > yáo; #55C2
+嗃 > hè; #55C3
+嗄 > á; #55C4
+嗅 > xìu; #55C5
+嗆 > qiāng; #55C6
+嗇 > sè; #55C7
+嗈 > yōng; #55C8
+嗉 > sù; #55C9
+嗊 > hŏng; #55CA
+嗋 > xié; #55CB
+嗌 > yì; #55CC
+嗍 > sūo; #55CD
+嗎 > ma; #55CE
+嗏 > chā; #55CF
+嗐 > hài; #55D0
+嗑 > kè; #55D1
+嗒 > tà; #55D2
+嗓 > săng; #55D3
+嗔 > tián; #55D4
+嗕 > rù; #55D5
+嗖 > sōu; #55D6
+嗗 > wā; #55D7
+嗘 > jī; #55D8
+嗙 > păng; #55D9
+嗚 > wū; #55DA
+嗛 > xián; #55DB
+嗜 > shì; #55DC
+嗝 > gé; #55DD
+嗞 > zī; #55DE
+嗟 > jiē; #55DF
+嗠 > lùo; #55E0
+嗡 > wēng; #55E1
+嗢 > wà; #55E2
+嗣 > sì; #55E3
+嗤 > chī; #55E4
+嗥 > háo; #55E5
+嗦 > sūo; #55E6
+嗧 > jiā' 'lún; #55E7
+嗨 > hăi; #55E8
+嗩 > sŭo; #55E9
+嗪 > qín; #55EA
+嗫 > niè; #55EB
+嗬 > hē; #55EC
+嗮 > sài; #55EE
+嗯 > ǹg; #55EF
+嗰 > gè; #55F0
+嗱 > ná; #55F1
+嗲 > diă; #55F2
+嗳 > ài; #55F3
+嗵 > tōng; #55F5
+嗶 > bì; #55F6
+嗷 > áo; #55F7
+嗸 > áo; #55F8
+嗹 > lián; #55F9
+嗺 > cūi; #55FA
+嗻 > zhē; #55FB
+嗼 > mò; #55FC
+嗽 > sòu; #55FD
+嗾 > sŏu; #55FE
+嗿 > tăn; #55FF
+嘀 > dí; #5600
+嘁 > qī; #5601
+嘂 > jiào; #5602
+嘃 > chōng; #5603
+嘄 > jiāo; #5604
+嘅 > kăi; #5605
+嘆 > tàn; #5606
+嘇 > sān; #5607
+嘈 > cáo; #5608
+嘉 > jiā; #5609
+嘊 > ái; #560A
+嘋 > xiāo; #560B
+嘌 > piāo; #560C
+嘍 > lou; #560D
+嘎 > gā; #560E
+嘏 > gŭ; #560F
+嘐 > xiāo; #5610
+嘑 > hū; #5611
+嘒 > hùi; #5612
+嘓 > guo; #5613
+嘔 > ōu; #5614
+嘕 > xiān; #5615
+嘖 > zé; #5616
+嘗 > cháng; #5617
+嘘 > xū; #5618
+嘙 > pó; #5619
+嘚 > dé; #561A
+嘛 > ma; #561B
+嘜 > mà; #561C
+嘝 > hú; #561D
+嘞 > lei; #561E
+嘟 > dū; #561F
+嘠 > gā; #5620
+嘡 > tāng; #5621
+嘢 > yĕ; #5622
+嘣 > bēng; #5623
+嘤 > yīng; #5624
+嘦 > jiào; #5626
+嘧 > mī; #5627
+嘨 > xiào; #5628
+嘩 > huā; #5629
+嘪 > măi; #562A
+嘫 > rán; #562B
+嘬 > zūo; #562C
+嘭 > pēng; #562D
+嘮 > láo; #562E
+嘯 > xiào; #562F
+嘰 > jī; #5630
+嘱 > zhŭ; #5631
+嘲 > cháo; #5632
+嘳 > kùi; #5633
+嘴 > zŭi; #5634
+嘵 > xiāo; #5635
+嘶 > sī; #5636
+嘷 > háo; #5637
+嘸 > fŭ; #5638
+嘹 > liáo; #5639
+嘺 > qiáo; #563A
+嘻 > xī; #563B
+嘼 > xìu; #563C
+嘽 > tān; #563D
+嘾 > tán; #563E
+嘿 > mò; #563F
+噀 > xùn; #5640
+噁 > ĕ; #5641
+噂 > zŭn; #5642
+噃 > fān; #5643
+噄 > chī; #5644
+噅 > hūi; #5645
+噆 > zăn; #5646
+噇 > chuáng; #5647
+噈 > cù; #5648
+噉 > dàn; #5649
+噊 > yù; #564A
+噋 > tūn; #564B
+噌 > chēng; #564C
+噍 > jiào; #564D
+噎 > yē; #564E
+噏 > xī; #564F
+噐 > qì; #5650
+噑 > háo; #5651
+噒 > lián; #5652
+噓 > xū; #5653
+噔 > dēng; #5654
+噕 > hūi; #5655
+噖 > yín; #5656
+噗 > pū; #5657
+噘 > juē; #5658
+噙 > qín; #5659
+噚 > xún; #565A
+噛 > niè; #565B
+噜 > lū; #565C
+噝 > sī; #565D
+噞 > yăn; #565E
+噟 > yìng; #565F
+噠 > dā; #5660
+噡 > dān; #5661
+噢 > yŭ; #5662
+噣 > zhòu; #5663
+噤 > jìn; #5664
+噥 > nóng; #5665
+噦 > yuĕ; #5666
+噧 > hùi; #5667
+器 > qì; #5668
+噩 > è; #5669
+噪 > zào; #566A
+噫 > yī; #566B
+噬 > shì; #566C
+噭 > jiào; #566D
+噮 > yuān; #566E
+噯 > ài; #566F
+噰 > yōng; #5670
+噱 > jué; #5671
+噲 > kuài; #5672
+噳 > yŭ; #5673
+噴 > pēn; #5674
+噵 > dào; #5675
+噶 > gé; #5676
+噷 > xīn; #5677
+噸 > dūn; #5678
+噹 > dāng; #5679
+噻 > sai; #567B
+噼 > pī; #567C
+噽 > pĭ; #567D
+噾 > yīn; #567E
+噿 > zŭi; #567F
+嚀 > níng; #5680
+嚁 > dí; #5681
+嚂 > làn; #5682
+嚃 > tā; #5683
+嚄 > hùo; #5684
+嚅 > rú; #5685
+嚆 > hāo; #5686
+嚇 > xià; #5687
+嚈 > yà; #5688
+嚉 > dūo; #5689
+嚊 > xì; #568A
+嚋 > chóu; #568B
+嚌 > jì; #568C
+嚍 > jìn; #568D
+嚎 > háo; #568E
+嚏 > tì; #568F
+嚐 > cháng; #5690
+嚓 > cā; #5693
+嚔 > tì; #5694
+嚕 > lū; #5695
+嚖 > hùi; #5696
+嚗 > bó; #5697
+嚘 > yōu; #5698
+嚙 > niè; #5699
+嚚 > yín; #569A
+嚛 > hù; #569B
+嚜 > mò; #569C
+嚝 > huāng; #569D
+嚞 > zhé; #569E
+嚟 > lí; #569F
+嚠 > líu; #56A0
+嚢 > náng; #56A2
+嚣 > xiāo; #56A3
+嚤 > mó; #56A4
+嚥 > yàn; #56A5
+嚦 > lì; #56A6
+嚧 > lú; #56A7
+嚨 > lóng; #56A8
+嚩 > fú; #56A9
+嚪 > dàn; #56AA
+嚫 > chèn; #56AB
+嚬 > pín; #56AC
+嚭 > pĭ; #56AD
+嚮 > xiàng; #56AE
+嚯 > hùo; #56AF
+嚰 > mó; #56B0
+嚱 > xì; #56B1
+嚲 > dŭo; #56B2
+嚳 > kù; #56B3
+嚴 > yán; #56B4
+嚵 > chán; #56B5
+嚶 > yīng; #56B6
+嚷 > răng; #56B7
+嚸 > diăn; #56B8
+嚹 > lā; #56B9
+嚺 > tà; #56BA
+嚻 > xiāo; #56BB
+嚼 > jiáo; #56BC
+嚽 > chùo; #56BD
+嚾 > huān; #56BE
+嚿 > hùo; #56BF
+囀 > zhuàn; #56C0
+囁 > niè; #56C1
+囂 > xiāo; #56C2
+囃 > cà; #56C3
+囄 > lí; #56C4
+囅 > chăn; #56C5
+囆 > chài; #56C6
+囇 > lì; #56C7
+囈 > yì; #56C8
+囉 > lūo; #56C9
+囊 > náng; #56CA
+囋 > zàn; #56CB
+囌 > sū; #56CC
+囍 > xĭ; #56CD
+囏 > jiān; #56CF
+囐 > zá; #56D0
+囑 > zhŭ; #56D1
+囒 > lán; #56D2
+囓 > niè; #56D3
+囔 > nāng; #56D4
+囗 > wéi; #56D7
+囘 > húi; #56D8
+囙 > yīn; #56D9
+囚 > qíu; #56DA
+四 > sì; #56DB
+囜 > nín; #56DC
+囝 > jiăn; #56DD
+回 > húi; #56DE
+囟 > xìn; #56DF
+因 > yīn; #56E0
+囡 > nān; #56E1
+团 > tuán; #56E2
+団 > tuán; #56E3
+囤 > dùn; #56E4
+囥 > kàng; #56E5
+囦 > yuān; #56E6
+囧 > jĭong; #56E7
+囨 > piān; #56E8
+囩 > yùn; #56E9
+囪 > cōng; #56EA
+囫 > hú; #56EB
+囬 > húi; #56EC
+园 > yuán; #56ED
+囮 > yóu; #56EE
+囯 > gúo; #56EF
+困 > kùn; #56F0
+囱 > cōng; #56F1
+囲 > wéi; #56F2
+図 > tú; #56F3
+围 > wéi; #56F4
+囵 > lún; #56F5
+囶 > gúo; #56F6
+囷 > qūn; #56F7
+囸 > rì; #56F8
+囹 > líng; #56F9
+固 > gù; #56FA
+囻 > gúo; #56FB
+囼 > tāi; #56FC
+国 > gúo; #56FD
+图 > tú; #56FE
+囿 > yòu; #56FF
+圀 > gúo; #5700
+圁 > yín; #5701
+圂 > hùn; #5702
+圃 > pŭ; #5703
+圄 > yŭ; #5704
+圅 > hán; #5705
+圆 > yuán; #5706
+圇 > lún; #5707
+圈 > quān; #5708
+圉 > yŭ; #5709
+圊 > qīng; #570A
+國 > gúo; #570B
+圌 > chuán; #570C
+圍 > wéi; #570D
+圎 > yuán; #570E
+圏 > quān; #570F
+圐 > kū; #5710
+圑 > fù; #5711
+園 > yuán; #5712
+圓 > yuán; #5713
+圔 > è; #5714
+圕 > tú' 'shū' 'guăn; #5715
+圖 > tú; #5716
+圗 > tú; #5717
+團 > tuán; #5718
+圙 > lǜe; #5719
+圚 > hùi; #571A
+圛 > yì; #571B
+圜 > yuán; #571C
+圝 > luán; #571D
+圞 > luán; #571E
+土 > tŭ; #571F
+圠 > yà; #5720
+圡 > tŭ; #5721
+圢 > tīng; #5722
+圣 > shèng; #5723
+圤 > pŭ; #5724
+圥 > lù; #5725
+圧 > yā; #5727
+在 > zài; #5728
+圩 > wéi; #5729
+圪 > gē; #572A
+圫 > yù; #572B
+圬 > wū; #572C
+圭 > gūi; #572D
+圮 > pĭ; #572E
+圯 > yí; #572F
+地 > dì; #5730
+圱 > qiān; #5731
+圲 > qiān; #5732
+圳 > zhèn; #5733
+圴 > zhúo; #5734
+圵 > dàng; #5735
+圶 > qià; #5736
+圹 > kuàng; #5739
+场 > cháng; #573A
+圻 > qí; #573B
+圼 > niè; #573C
+圽 > mò; #573D
+圾 > jí; #573E
+圿 > jiá; #573F
+址 > zhĭ; #5740
+坁 > zhĭ; #5741
+坂 > băn; #5742
+坃 > xūn; #5743
+坄 > tóu; #5744
+坅 > qĭn; #5745
+坆 > fén; #5746
+均 > jūn; #5747
+坈 > kēng; #5748
+坉 > tún; #5749
+坊 > fāng; #574A
+坋 > fèn; #574B
+坌 > bèn; #574C
+坍 > tān; #574D
+坎 > kăn; #574E
+坏 > pī; #574F
+坐 > zùo; #5750
+坑 > kēng; #5751
+坒 > bì; #5752
+坓 > xíng; #5753
+坔 > dì; #5754
+坕 > jīng; #5755
+坖 > jì; #5756
+块 > kuài; #5757
+坘 > dĭ; #5758
+坙 > jīng; #5759
+坚 > jiān; #575A
+坛 > tán; #575B
+坜 > lì; #575C
+坝 > bà; #575D
+坞 > wù; #575E
+坟 > fén; #575F
+坠 > zhùi; #5760
+坡 > pō; #5761
+坢 > păn; #5762
+坣 > tāng; #5763
+坤 > kūn; #5764
+坥 > qū; #5765
+坦 > tăn; #5766
+坧 > zhī; #5767
+坨 > túo; #5768
+坩 > gān; #5769
+坪 > píng; #576A
+坫 > diàn; #576B
+坬 > guà; #576C
+坭 > ní; #576D
+坮 > tái; #576E
+坯 > pī; #576F
+坰 > jīong; #5770
+坱 > yăng; #5771
+坲 > fó; #5772
+坳 > ào; #5773
+坴 > lìu; #5774
+坵 > qīu; #5775
+坶 > mù; #5776
+坷 > kĕ; #5777
+坸 > gòu; #5778
+坹 > xuè; #5779
+坺 > bá; #577A
+坻 > chí; #577B
+坼 > chè; #577C
+坽 > líng; #577D
+坾 > zhù; #577E
+坿 > fù; #577F
+垀 > hū; #5780
+垁 > zhì; #5781
+垂 > chúi; #5782
+垃 > lā; #5783
+垄 > lŏng; #5784
+垅 > lŏng; #5785
+垆 > lú; #5786
+垇 > ào; #5787
+垉 > páo; #5789
+型 > xíng; #578B
+垌 > dòng; #578C
+垍 > jì; #578D
+垎 > kè; #578E
+垏 > lù; #578F
+垐 > cí; #5790
+垑 > chĭ; #5791
+垒 > lĕi; #5792
+垓 > gāi; #5793
+垔 > yīn; #5794
+垕 > hòu; #5795
+垖 > dūi; #5796
+垗 > zhào; #5797
+垘 > fú; #5798
+垙 > guāng; #5799
+垚 > yáo; #579A
+垛 > dŭo; #579B
+垜 > dŭo; #579C
+垝 > gŭi; #579D
+垞 > chá; #579E
+垟 > yáng; #579F
+垠 > yín; #57A0
+垡 > fá; #57A1
+垢 > gòu; #57A2
+垣 > yuán; #57A3
+垤 > dié; #57A4
+垥 > xié; #57A5
+垦 > kĕn; #57A6
+垧 > jīong; #57A7
+垨 > shŏu; #57A8
+垩 > è; #57A9
+垫 > diàn; #57AB
+垬 > hóng; #57AC
+垭 > wù; #57AD
+垮 > kuă; #57AE
+垱 > dàng; #57B1
+垲 > kăi; #57B2
+垴 > năo; #57B4
+垵 > ăn; #57B5
+垶 > xīng; #57B6
+垷 > xiàn; #57B7
+垸 > huàn; #57B8
+垹 > bāng; #57B9
+垺 > pēi; #57BA
+垻 > bà; #57BB
+垼 > yì; #57BC
+垽 > yìn; #57BD
+垾 > hàn; #57BE
+垿 > xù; #57BF
+埀 > chúi; #57C0
+埁 > cén; #57C1
+埂 > gĕng; #57C2
+埃 > āi; #57C3
+埄 > péng; #57C4
+埅 > fáng; #57C5
+埆 > què; #57C6
+埇 > yŏng; #57C7
+埈 > xùn; #57C8
+埉 > jiá; #57C9
+埊 > dì; #57CA
+埋 > mái; #57CB
+埌 > làng; #57CC
+埍 > xuàn; #57CD
+城 > chéng; #57CE
+埏 > yán; #57CF
+埐 > jīn; #57D0
+埑 > zhé; #57D1
+埒 > lèi; #57D2
+埓 > liè; #57D3
+埔 > bù; #57D4
+埕 > chéng; #57D5
+埗 > bù; #57D7
+埘 > shí; #57D8
+埙 > xūn; #57D9
+埚 > gūo; #57DA
+埛 > jīong; #57DB
+埜 > yĕ; #57DC
+埝 > niàn; #57DD
+埞 > dĭ; #57DE
+域 > yù; #57DF
+埠 > bù; #57E0
+埡 > yà; #57E1
+埢 > juăn; #57E2
+埣 > sùi; #57E3
+埤 > pí; #57E4
+埥 > chēng; #57E5
+埦 > wăn; #57E6
+埧 > jù; #57E7
+埨 > lŭn; #57E8
+埩 > zhēng; #57E9
+埪 > kōng; #57EA
+埫 > chŏng; #57EB
+埬 > dōng; #57EC
+埭 > dài; #57ED
+埮 > tàn; #57EE
+埯 > ăn; #57EF
+埰 > cài; #57F0
+埱 > shú; #57F1
+埲 > bĕng; #57F2
+埳 > kăn; #57F3
+埴 > zhí; #57F4
+埵 > dŭo; #57F5
+埶 > yì; #57F6
+執 > zhí; #57F7
+埸 > yì; #57F8
+培 > péi; #57F9
+基 > jī; #57FA
+埻 > zhŭn; #57FB
+埼 > qí; #57FC
+埽 > sào; #57FD
+埾 > jù; #57FE
+埿 > ní; #57FF
+堀 > kū; #5800
+堁 > kè; #5801
+堂 > táng; #5802
+堃 > kūn; #5803
+堄 > nì; #5804
+堅 > jiān; #5805
+堆 > dūi; #5806
+堇 > jĭn; #5807
+堈 > gāng; #5808
+堉 > yù; #5809
+堊 > è; #580A
+堋 > péng; #580B
+堌 > gù; #580C
+堍 > tù; #580D
+堎 > lèng; #580E
+堐 > yá; #5810
+堑 > qiàn; #5811
+堓 > àn; #5813
+堕 > dùo; #5815
+堖 > năo; #5816
+堗 > tū; #5817
+堘 > chéng; #5818
+堙 > yīn; #5819
+堚 > hún; #581A
+堛 > bì; #581B
+堜 > liàn; #581C
+堝 > gūo; #581D
+堞 > dié; #581E
+堟 > zhuàn; #581F
+堠 > hòu; #5820
+堡 > băo; #5821
+堢 > băo; #5822
+堣 > yú; #5823
+堤 > dī; #5824
+堥 > máo; #5825
+堦 > jiē; #5826
+堧 > ruán; #5827
+堨 > è; #5828
+堩 > gèng; #5829
+堪 > kān; #582A
+堫 > zōng; #582B
+堬 > yú; #582C
+堭 > huáng; #582D
+堮 > è; #582E
+堯 > yáo; #582F
+堰 > yàn; #5830
+報 > bào; #5831
+堲 > jí; #5832
+堳 > méi; #5833
+場 > cháng; #5834
+堵 > dŭ; #5835
+堶 > túo; #5836
+堷 > yìn; #5837
+堸 > féng; #5838
+堹 > zhòng; #5839
+堺 > jiè; #583A
+堻 > zhēn; #583B
+堼 > fēng; #583C
+堽 > gāng; #583D
+堾 > chuăn; #583E
+堿 > jiăn; #583F
+塂 > xiàng; #5842
+塃 > huāng; #5843
+塄 > léng; #5844
+塅 > duàn; #5845
+塇 > xuān; #5847
+塈 > jì; #5848
+塉 > jí; #5849
+塊 > kuài; #584A
+塋 > yíng; #584B
+塌 > tā; #584C
+塍 > chéng; #584D
+塎 > yŏng; #584E
+塏 > kăi; #584F
+塐 > sù; #5850
+塑 > sù; #5851
+塒 > shí; #5852
+塓 > mì; #5853
+塔 > tă; #5854
+塕 > wĕng; #5855
+塖 > chéng; #5856
+塗 > tú; #5857
+塘 > táng; #5858
+塙 > què; #5859
+塚 > zhŏng; #585A
+塛 > lì; #585B
+塜 > péng; #585C
+塝 > bàng; #585D
+塞 > sāi; #585E
+塟 > zàng; #585F
+塠 > dūi; #5860
+塡 > tián; #5861
+塢 > wù; #5862
+塣 > chĕng; #5863
+塤 > xūn; #5864
+塥 > gé; #5865
+塦 > zhèn; #5866
+塧 > ài; #5867
+塨 > gōng; #5868
+塩 > yán; #5869
+塪 > kăn; #586A
+填 > tián; #586B
+塬 > yuán; #586C
+塭 > wēn; #586D
+塮 > xiè; #586E
+塯 > lìu; #586F
+塱 > lăng; #5871
+塲 > cháng; #5872
+塳 > péng; #5873
+塴 > bèng; #5874
+塵 > chén; #5875
+塶 > cù; #5876
+塷 > lŭ; #5877
+塸 > ŏu; #5878
+塹 > qiàn; #5879
+塺 > méi; #587A
+塻 > mò; #587B
+塼 > zhuān; #587C
+塽 > shuăng; #587D
+塾 > shú; #587E
+塿 > lŏu; #587F
+墀 > chí; #5880
+墁 > màn; #5881
+墂 > biāo; #5882
+境 > jìng; #5883
+墄 > qī; #5884
+墅 > shù; #5885
+墆 > dì; #5886
+墇 > zhāng; #5887
+墈 > kàn; #5888
+墉 > yōng; #5889
+墊 > diàn; #588A
+墋 > chĕn; #588B
+墌 > zhī; #588C
+墍 > xì; #588D
+墎 > gūo; #588E
+墏 > qiăng; #588F
+墐 > jìn; #5890
+墑 > dī; #5891
+墒 > shāng; #5892
+墓 > mù; #5893
+墔 > cūi; #5894
+墕 > yàn; #5895
+墖 > tă; #5896
+増 > zēng; #5897
+墘 > qí; #5898
+墙 > qiáng; #5899
+墚 > liáng; #589A
+墜 > zhùi; #589C
+墝 > qiāo; #589D
+增 > zēng; #589E
+墟 > xū; #589F
+墠 > shàn; #58A0
+墡 > shàn; #58A1
+墢 > bá; #58A2
+墣 > pū; #58A3
+墤 > kuài; #58A4
+墥 > dŏng; #58A5
+墦 > fán; #58A6
+墧 > què; #58A7
+墨 > mò; #58A8
+墩 > dūn; #58A9
+墪 > dūn; #58AA
+墫 > dūn; #58AB
+墬 > dì; #58AC
+墭 > shèng; #58AD
+墮 > dùo; #58AE
+墯 > dùo; #58AF
+墰 > tán; #58B0
+墱 > dèng; #58B1
+墲 > wŭ; #58B2
+墳 > fén; #58B3
+墴 > huáng; #58B4
+墵 > tán; #58B5
+墶 > dā; #58B6
+墷 > yè; #58B7
+墺 > yù; #58BA
+墻 > qiáng; #58BB
+墼 > jī; #58BC
+墽 > qiāo; #58BD
+墾 > kĕn; #58BE
+墿 > yì; #58BF
+壀 > pí; #58C0
+壁 > bì; #58C1
+壂 > diàn; #58C2
+壃 > jiāng; #58C3
+壄 > yĕ; #58C4
+壅 > yōng; #58C5
+壆 > bó; #58C6
+壇 > tán; #58C7
+壈 > lăn; #58C8
+壉 > jù; #58C9
+壊 > huài; #58CA
+壋 > dàng; #58CB
+壌 > răng; #58CC
+壍 > qiàn; #58CD
+壎 > xūn; #58CE
+壏 > làn; #58CF
+壐 > xĭ; #58D0
+壑 > hè; #58D1
+壒 > ài; #58D2
+壓 > yā; #58D3
+壔 > dăo; #58D4
+壕 > háo; #58D5
+壖 > ruán; #58D6
+壘 > lĕi; #58D8
+壙 > kuàng; #58D9
+壚 > lú; #58DA
+壛 > yán; #58DB
+壜 > tán; #58DC
+壝 > wéi; #58DD
+壞 > huài; #58DE
+壟 > lŏng; #58DF
+壠 > lŏng; #58E0
+壡 > rùi; #58E1
+壢 > lì; #58E2
+壣 > lín; #58E3
+壤 > răng; #58E4
+壦 > xūn; #58E6
+壧 > yán; #58E7
+壨 > léi; #58E8
+壩 > bà; #58E9
+士 > shì; #58EB
+壬 > rén; #58EC
+壮 > zhuàng; #58EE
+壯 > zhuàng; #58EF
+声 > shēng; #58F0
+壱 > yī; #58F1
+売 > mài; #58F2
+壳 > ké; #58F3
+壴 > zhŭ; #58F4
+壵 > zhuàng; #58F5
+壶 > hú; #58F6
+壷 > hú; #58F7
+壸 > kŭn; #58F8
+壹 > yī; #58F9
+壺 > hú; #58FA
+壻 > xù; #58FB
+壼 > kŭn; #58FC
+壽 > shòu; #58FD
+壾 > măng; #58FE
+壿 > zŭn; #58FF
+夀 > shòu; #5900
+夁 > yī; #5901
+夂 > zhĭ; #5902
+夃 > gū; #5903
+处 > chù; #5904
+夅 > jiàng; #5905
+夆 > fēng; #5906
+备 > bèi; #5907
+変 > biàn; #5909
+夊 > sūi; #590A
+夋 > qūn; #590B
+夌 > líng; #590C
+复 > fù; #590D
+夎 > zùo; #590E
+夏 > xià; #590F
+夐 > xìong; #5910
+夒 > náo; #5912
+夓 > xià; #5913
+夔 > kúi; #5914
+夕 > xī; #5915
+外 > wài; #5916
+夗 > yuàn; #5917
+夘 > măo; #5918
+夙 > sù; #5919
+多 > dūo; #591A
+夛 > dūo; #591B
+夜 > yè; #591C
+夝 > qíng; #591D
+够 > gòu; #591F
+夠 > gòu; #5920
+夡 > qì; #5921
+夢 > mèng; #5922
+夣 > mèng; #5923
+夤 > yín; #5924
+夥 > hŭo; #5925
+夦 > chèn; #5926
+大 > dà; #5927
+夨 > zè; #5928
+天 > tiān; #5929
+太 > tài; #592A
+夫 > fū; #592B
+夬 > guài; #592C
+夭 > yăo; #592D
+央 > yāng; #592E
+夯 > hāng; #592F
+夰 > găo; #5930
+失 > shī; #5931
+夲 > bĕn; #5932
+夳 > tài; #5933
+头 > tóu; #5934
+夵 > yăn; #5935
+夶 > bĭ; #5936
+夷 > yí; #5937
+夸 > kuā; #5938
+夹 > jiā; #5939
+夺 > dúo; #593A
+夼 > kuăng; #593C
+夽 > yùn; #593D
+夾 > jiā; #593E
+夿 > pā; #593F
+奀 > ēn; #5940
+奁 > lián; #5941
+奂 > huàn; #5942
+奃 > dì; #5943
+奄 > yăn; #5944
+奅 > pào; #5945
+奆 > quăn; #5946
+奇 > qí; #5947
+奈 > nài; #5948
+奉 > fèng; #5949
+奊 > xié; #594A
+奋 > fèn; #594B
+奌 > diăn; #594C
+奎 > kúi; #594E
+奏 > zòu; #594F
+奐 > huàn; #5950
+契 > qì; #5951
+奒 > kāi; #5952
+奓 > zhà; #5953
+奔 > bēn; #5954
+奕 > yì; #5955
+奖 > jiăng; #5956
+套 > tào; #5957
+奘 > zàng; #5958
+奙 > bĕn; #5959
+奚 > xī; #595A
+奛 > xiăng; #595B
+奜 > fĕi; #595C
+奝 > diāo; #595D
+奞 > xùn; #595E
+奟 > kēng; #595F
+奠 > diàn; #5960
+奡 > ào; #5961
+奢 > shē; #5962
+奣 > wĕng; #5963
+奤 > păn; #5964
+奥 > ào; #5965
+奦 > wù; #5966
+奧 > ào; #5967
+奨 > jiăng; #5968
+奩 > lián; #5969
+奪 > dúo; #596A
+奫 > yūn; #596B
+奬 > jiăng; #596C
+奭 > shì; #596D
+奮 > fèn; #596E
+奯 > hùo; #596F
+奰 > bì; #5970
+奱 > lián; #5971
+奲 > dŭo; #5972
+女 > nǚ; #5973
+奴 > nú; #5974
+奵 > dīng; #5975
+奶 > năi; #5976
+奷 > qiān; #5977
+奸 > jiān; #5978
+她 > tā; #5979
+奺 > jĭu; #597A
+奻 > nán; #597B
+奼 > chà; #597C
+好 > hăo; #597D
+奾 > xiān; #597E
+奿 > fàn; #597F
+妀 > jĭ; #5980
+妁 > shùo; #5981
+如 > rú; #5982
+妃 > fēi; #5983
+妄 > wàng; #5984
+妅 > hóng; #5985
+妆 > zhuāng; #5986
+妇 > fù; #5987
+妈 > mā; #5988
+妉 > dān; #5989
+妊 > rèn; #598A
+妋 > fū; #598B
+妌 > jìng; #598C
+妍 > yán; #598D
+妎 > xiè; #598E
+妏 > wèn; #598F
+妐 > zhōng; #5990
+妑 > pā; #5991
+妒 > dù; #5992
+妓 > jì; #5993
+妔 > kēng; #5994
+妕 > zhòng; #5995
+妖 > yāo; #5996
+妗 > jìn; #5997
+妘 > yún; #5998
+妙 > miào; #5999
+妚 > pēi; #599A
+妜 > yuè; #599C
+妝 > zhuāng; #599D
+妞 > nīu; #599E
+妟 > yàn; #599F
+妠 > nà; #59A0
+妡 > xīn; #59A1
+妢 > fén; #59A2
+妣 > bĭ; #59A3
+妤 > yú; #59A4
+妥 > tŭo; #59A5
+妦 > fēng; #59A6
+妧 > yuán; #59A7
+妨 > fáng; #59A8
+妩 > wŭ; #59A9
+妪 > yù; #59AA
+妫 > gūi; #59AB
+妬 > dù; #59AC
+妭 > bá; #59AD
+妮 > nī; #59AE
+妯 > zhóu; #59AF
+妰 > zhúo; #59B0
+妱 > zhāo; #59B1
+妲 > dá; #59B2
+妳 > năi; #59B3
+妴 > yuăn; #59B4
+妵 > tŏu; #59B5
+妶 > xuán; #59B6
+妷 > zhí; #59B7
+妸 > ē; #59B8
+妹 > mèi; #59B9
+妺 > mò; #59BA
+妻 > qī; #59BB
+妼 > bì; #59BC
+妽 > shēn; #59BD
+妾 > qiè; #59BE
+妿 > ē; #59BF
+姀 > hé; #59C0
+姁 > xŭ; #59C1
+姂 > fá; #59C2
+姃 > zhēng; #59C3
+姄 > mín; #59C4
+姅 > bàn; #59C5
+姆 > mŭ; #59C6
+姇 > fū; #59C7
+姈 > líng; #59C8
+姉 > zĭ; #59C9
+姊 > zĭ; #59CA
+始 > shĭ; #59CB
+姌 > răn; #59CC
+姍 > shān; #59CD
+姎 > yāng; #59CE
+姏 > mán; #59CF
+姐 > jiĕ; #59D0
+姑 > gū; #59D1
+姒 > sì; #59D2
+姓 > xìng; #59D3
+委 > wĕi; #59D4
+姕 > zī; #59D5
+姖 > jù; #59D6
+姗 > shān; #59D7
+姘 > pīn; #59D8
+姙 > rèn; #59D9
+姚 > yáo; #59DA
+姛 > tŏng; #59DB
+姜 > jiāng; #59DC
+姝 > shū; #59DD
+姞 > jí; #59DE
+姟 > gāi; #59DF
+姠 > shàng; #59E0
+姡 > kùo; #59E1
+姢 > juān; #59E2
+姣 > jiāo; #59E3
+姤 > gòu; #59E4
+姥 > mŭ; #59E5
+姦 > jiān; #59E6
+姧 > jiān; #59E7
+姨 > yí; #59E8
+姩 > niàn; #59E9
+姪 > zhí; #59EA
+姫 > jī; #59EB
+姬 > jī; #59EC
+姭 > xiàn; #59ED
+姮 > héng; #59EE
+姯 > guāng; #59EF
+姰 > jūn; #59F0
+姱 > kuā; #59F1
+姲 > yàn; #59F2
+姳 > mĭng; #59F3
+姴 > liè; #59F4
+姵 > pèi; #59F5
+姶 > yăn; #59F6
+姷 > yòu; #59F7
+姸 > yán; #59F8
+姹 > chà; #59F9
+姺 > shēn; #59FA
+姻 > yīn; #59FB
+姼 > chĭ; #59FC
+姽 > gŭi; #59FD
+姾 > quān; #59FE
+姿 > zī; #59FF
+娀 > sōng; #5A00
+威 > wēi; #5A01
+娂 > hóng; #5A02
+娃 > wá; #5A03
+娄 > lóu; #5A04
+娅 > yà; #5A05
+娆 > răo; #5A06
+娇 > jiāo; #5A07
+娈 > luán; #5A08
+娉 > pīng; #5A09
+娊 > xiàn; #5A0A
+娋 > shào; #5A0B
+娌 > lĭ; #5A0C
+娍 > chéng; #5A0D
+娎 > xiào; #5A0E
+娏 > máng; #5A0F
+娐 > fu; #5A10
+娑 > sūo; #5A11
+娒 > wŭ; #5A12
+娓 > wĕi; #5A13
+娔 > kè; #5A14
+娕 > lài; #5A15
+娖 > chùo; #5A16
+娗 > dìng; #5A17
+娘 > niáng; #5A18
+娙 > xíng; #5A19
+娚 > nán; #5A1A
+娛 > yú; #5A1B
+娜 > núo; #5A1C
+娝 > pēi; #5A1D
+娞 > nĕi; #5A1E
+娟 > juān; #5A1F
+娠 > shēn; #5A20
+娡 > zhì; #5A21
+娢 > hán; #5A22
+娣 > dì; #5A23
+娤 > zhuāng; #5A24
+娥 > é; #5A25
+娦 > pín; #5A26
+娧 > tùi; #5A27
+娨 > hàn; #5A28
+娩 > miăn; #5A29
+娪 > wú; #5A2A
+娫 > yán; #5A2B
+娬 > wŭ; #5A2C
+娭 > xī; #5A2D
+娮 > yán; #5A2E
+娯 > yú; #5A2F
+娰 > sì; #5A30
+娱 > yú; #5A31
+娲 > wā; #5A32
+娴 > xián; #5A34
+娵 > jū; #5A35
+娶 > qŭ; #5A36
+娷 > shùi; #5A37
+娸 > qī; #5A38
+娹 > xián; #5A39
+娺 > zhūi; #5A3A
+娻 > dōng; #5A3B
+娼 > chāng; #5A3C
+娽 > lù; #5A3D
+娾 > ăi; #5A3E
+娿 > ē; #5A3F
+婀 > ē; #5A40
+婁 > lóu; #5A41
+婂 > mián; #5A42
+婃 > cóng; #5A43
+婄 > pŏu; #5A44
+婅 > jú; #5A45
+婆 > pó; #5A46
+婇 > căi; #5A47
+婈 > díng; #5A48
+婉 > wăn; #5A49
+婊 > biăo; #5A4A
+婋 > xiāo; #5A4B
+婌 > shŭ; #5A4C
+婍 > qĭ; #5A4D
+婎 > hūi; #5A4E
+婏 > fù; #5A4F
+婐 > ē; #5A50
+婑 > wŏ; #5A51
+婒 > tán; #5A52
+婓 > fēi; #5A53
+婔 > wei; #5A54
+婕 > jié; #5A55
+婖 > tiān; #5A56
+婗 > ní; #5A57
+婘 > quán; #5A58
+婙 > jìng; #5A59
+婚 > hūn; #5A5A
+婛 > jīng; #5A5B
+婜 > qiān; #5A5C
+婝 > diàn; #5A5D
+婞 > xìng; #5A5E
+婟 > hù; #5A5F
+婠 > wà; #5A60
+婡 > lái; #5A61
+婢 > bì; #5A62
+婣 > yīn; #5A63
+婤 > chōu; #5A64
+婥 > chùo; #5A65
+婦 > fù; #5A66
+婧 > jìng; #5A67
+婨 > lún; #5A68
+婩 > yàn; #5A69
+婪 > lán; #5A6A
+婫 > kūn; #5A6B
+婬 > yín; #5A6C
+婭 > yà; #5A6D
+婮 > ju; #5A6E
+婯 > lì; #5A6F
+婰 > diăn; #5A70
+婱 > xián; #5A71
+婳 > huà; #5A73
+婴 > yīng; #5A74
+婵 > chán; #5A75
+婶 > shĕn; #5A76
+婷 > tíng; #5A77
+婸 > dàng; #5A78
+婹 > yăo; #5A79
+婺 > wù; #5A7A
+婻 > nàn; #5A7B
+婼 > rùo; #5A7C
+婽 > jiă; #5A7D
+婾 > tōu; #5A7E
+婿 > xù; #5A7F
+媀 > yú; #5A80
+媁 > wēi; #5A81
+媂 > tí; #5A82
+媃 > róu; #5A83
+媄 > mĕi; #5A84
+媅 > dān; #5A85
+媆 > ruăn; #5A86
+媇 > qīn; #5A87
+媈 > hui; #5A88
+媉 > wū; #5A89
+媊 > qián; #5A8A
+媋 > chūn; #5A8B
+媌 > máo; #5A8C
+媍 > fù; #5A8D
+媎 > jiĕ; #5A8E
+媏 > duān; #5A8F
+媐 > xī; #5A90
+媑 > zhòng; #5A91
+媒 > méi; #5A92
+媓 > huáng; #5A93
+媔 > mián; #5A94
+媕 > ān; #5A95
+媖 > yīng; #5A96
+媗 > xuān; #5A97
+媘 > jie; #5A98
+媙 > wēi; #5A99
+媚 > mèi; #5A9A
+媛 > yuàn; #5A9B
+媜 > zhēn; #5A9C
+媝 > qīu; #5A9D
+媞 > tí; #5A9E
+媟 > xiè; #5A9F
+媠 > tŭo; #5AA0
+媡 > liàn; #5AA1
+媢 > mào; #5AA2
+媣 > răn; #5AA3
+媤 > sī; #5AA4
+媥 > piān; #5AA5
+媦 > wèi; #5AA6
+媧 > wā; #5AA7
+媨 > jìu; #5AA8
+媩 > hú; #5AA9
+媪 > ăo; #5AAA
+媭 > xū; #5AAD
+媮 > tōu; #5AAE
+媯 > gūi; #5AAF
+媰 > zōu; #5AB0
+媱 > yáo; #5AB1
+媲 > pì; #5AB2
+媳 > xí; #5AB3
+媴 > yuán; #5AB4
+媵 > yìng; #5AB5
+媶 > róng; #5AB6
+媷 > rù; #5AB7
+媸 > chī; #5AB8
+媹 > líu; #5AB9
+媺 > mĕi; #5ABA
+媻 > pán; #5ABB
+媼 > ăo; #5ABC
+媽 > mā; #5ABD
+媾 > gòu; #5ABE
+媿 > kùi; #5ABF
+嫀 > qín; #5AC0
+嫁 > jià; #5AC1
+嫂 > săo; #5AC2
+嫃 > zhēn; #5AC3
+嫄 > yuán; #5AC4
+嫅 > chā; #5AC5
+嫆 > yóng; #5AC6
+嫇 > míng; #5AC7
+嫈 > yīng; #5AC8
+嫉 > jí; #5AC9
+嫊 > sù; #5ACA
+嫋 > niăo; #5ACB
+嫌 > xián; #5ACC
+嫍 > tāo; #5ACD
+嫎 > páng; #5ACE
+嫏 > láng; #5ACF
+嫐 > năo; #5AD0
+嫑 > báo; #5AD1
+嫒 > ài; #5AD2
+嫓 > pì; #5AD3
+嫔 > pín; #5AD4
+嫕 > yì; #5AD5
+嫖 > piào; #5AD6
+嫗 > yù; #5AD7
+嫘 > léi; #5AD8
+嫙 > xuán; #5AD9
+嫚 > màn; #5ADA
+嫛 > yī; #5ADB
+嫜 > zhāng; #5ADC
+嫝 > kāng; #5ADD
+嫞 > yóng; #5ADE
+嫟 > nì; #5ADF
+嫠 > lí; #5AE0
+嫡 > dí; #5AE1
+嫢 > gūi; #5AE2
+嫣 > yān; #5AE3
+嫤 > jìn; #5AE4
+嫥 > zhuān; #5AE5
+嫦 > cháng; #5AE6
+嫧 > cè; #5AE7
+嫨 > hān; #5AE8
+嫩 > nèn; #5AE9
+嫪 > lào; #5AEA
+嫫 > mó; #5AEB
+嫬 > zhē; #5AEC
+嫭 > hù; #5AED
+嫮 > hù; #5AEE
+嫯 > ào; #5AEF
+嫰 > nèn; #5AF0
+嫱 > qiáng; #5AF1
+嫳 > piè; #5AF3
+嫴 > gū; #5AF4
+嫵 > wŭ; #5AF5
+嫶 > jiáo; #5AF6
+嫷 > tŭo; #5AF7
+嫸 > zhăn; #5AF8
+嫹 > máo; #5AF9
+嫺 > xián; #5AFA
+嫻 > xián; #5AFB
+嫼 > mò; #5AFC
+嫽 > liáo; #5AFD
+嫾 > lián; #5AFE
+嫿 > huà; #5AFF
+嬀 > gūi; #5B00
+嬁 > dēng; #5B01
+嬂 > zhī; #5B02
+嬃 > xū; #5B03
+嬄 > yi; #5B04
+嬅 > huá; #5B05
+嬆 > xī; #5B06
+嬇 > hùi; #5B07
+嬈 > răo; #5B08
+嬉 > xī; #5B09
+嬊 > yàn; #5B0A
+嬋 > chán; #5B0B
+嬌 > jiāo; #5B0C
+嬍 > mĕi; #5B0D
+嬎 > fàn; #5B0E
+嬏 > fān; #5B0F
+嬐 > xiān; #5B10
+嬑 > yì; #5B11
+嬒 > wèi; #5B12
+嬓 > jiào; #5B13
+嬔 > fù; #5B14
+嬕 > shì; #5B15
+嬖 > bì; #5B16
+嬗 > shàn; #5B17
+嬘 > sùi; #5B18
+嬙 > qiáng; #5B19
+嬚 > liăn; #5B1A
+嬛 > huán; #5B1B
+嬜 > xin; #5B1C
+嬝 > niăo; #5B1D
+嬞 > dŏng; #5B1E
+嬟 > yì; #5B1F
+嬠 > cán; #5B20
+嬡 > ài; #5B21
+嬢 > niáng; #5B22
+嬣 > néng; #5B23
+嬤 > mā; #5B24
+嬥 > tiăo; #5B25
+嬦 > chóu; #5B26
+嬧 > jìn; #5B27
+嬨 > cí; #5B28
+嬩 > yú; #5B29
+嬪 > pín; #5B2A
+嬫 > yong; #5B2B
+嬬 > xū; #5B2C
+嬭 > năi; #5B2D
+嬮 > yān; #5B2E
+嬯 > tái; #5B2F
+嬰 > yīng; #5B30
+嬱 > cán; #5B31
+嬲 > niăo; #5B32
+嬳 > wo; #5B33
+嬴 > yíng; #5B34
+嬵 > mián; #5B35
+嬷 > mā; #5B37
+嬸 > shĕn; #5B38
+嬹 > xìng; #5B39
+嬺 > nì; #5B3A
+嬻 > dú; #5B3B
+嬼 > lĭu; #5B3C
+嬽 > yuān; #5B3D
+嬾 > lăn; #5B3E
+嬿 > yàn; #5B3F
+孀 > shuāng; #5B40
+孁 > líng; #5B41
+孂 > jiăo; #5B42
+孃 > niáng; #5B43
+孄 > lăn; #5B44
+孅 > xiān; #5B45
+孆 > yīng; #5B46
+孇 > shuāng; #5B47
+孈 > shuāi; #5B48
+孉 > quán; #5B49
+孊 > mĭ; #5B4A
+孋 > lí; #5B4B
+孌 > luán; #5B4C
+孍 > yán; #5B4D
+孎 > zhŭ; #5B4E
+孏 > lăn; #5B4F
+子 > zĭ; #5B50
+孑 > jié; #5B51
+孒 > jué; #5B52
+孓 > jué; #5B53
+孔 > kŏng; #5B54
+孕 > yùn; #5B55
+孖 > zī; #5B56
+字 > zì; #5B57
+存 > cún; #5B58
+孙 > sūn; #5B59
+孚 > fú; #5B5A
+孛 > bèi; #5B5B
+孜 > zī; #5B5C
+孝 > xiào; #5B5D
+孞 > xìn; #5B5E
+孟 > mèng; #5B5F
+孠 > sì; #5B60
+孡 > tāi; #5B61
+孢 > bāo; #5B62
+季 > jì; #5B63
+孤 > gū; #5B64
+孥 > nú; #5B65
+学 > xué; #5B66
+孨 > zhuăn; #5B68
+孩 > hái; #5B69
+孪 > luán; #5B6A
+孫 > sūn; #5B6B
+孬 > huài; #5B6C
+孭 > miē; #5B6D
+孮 > cóng; #5B6E
+孯 > qiān; #5B6F
+孰 > shú; #5B70
+孱 > chán; #5B71
+孲 > yā; #5B72
+孳 > zī; #5B73
+孴 > nĭ; #5B74
+孵 > fū; #5B75
+孶 > zī; #5B76
+孷 > lí; #5B77
+學 > xué; #5B78
+孹 > bò; #5B79
+孺 > rú; #5B7A
+孻 > lái; #5B7B
+孼 > niè; #5B7C
+孽 > niè; #5B7D
+孾 > yīng; #5B7E
+孿 > luán; #5B7F
+宀 > mián; #5B80
+宁 > zhù; #5B81
+宂 > rŏng; #5B82
+它 > tā; #5B83
+宄 > gŭi; #5B84
+宅 > zhái; #5B85
+宆 > qíong; #5B86
+宇 > yŭ; #5B87
+守 > shŏu; #5B88
+安 > ān; #5B89
+宊 > tú; #5B8A
+宋 > sòng; #5B8B
+完 > wán; #5B8C
+宍 > ròu; #5B8D
+宎 > yăo; #5B8E
+宏 > hóng; #5B8F
+宐 > yí; #5B90
+宑 > jĭng; #5B91
+宒 > zhūn; #5B92
+宓 > mì; #5B93
+宔 > zhŭ; #5B94
+宕 > dàng; #5B95
+宖 > hóng; #5B96
+宗 > zōng; #5B97
+官 > guān; #5B98
+宙 > zhòu; #5B99
+定 > dìng; #5B9A
+宛 > wăn; #5B9B
+宜 > yí; #5B9C
+宝 > băo; #5B9D
+实 > shí; #5B9E
+実 > shí; #5B9F
+宠 > chŏng; #5BA0
+审 > shĕn; #5BA1
+客 > kè; #5BA2
+宣 > xuān; #5BA3
+室 > shì; #5BA4
+宥 > yòu; #5BA5
+宦 > huàn; #5BA6
+宧 > yí; #5BA7
+宨 > tiăo; #5BA8
+宩 > shĭ; #5BA9
+宪 > xiàn; #5BAA
+宫 > gōng; #5BAB
+宬 > chéng; #5BAC
+宭 > qún; #5BAD
+宮 > gōng; #5BAE
+宯 > xiāo; #5BAF
+宰 > zăi; #5BB0
+宱 > zhà; #5BB1
+宲 > băo; #5BB2
+害 > hài; #5BB3
+宴 > yàn; #5BB4
+宵 > xiāo; #5BB5
+家 > jiā; #5BB6
+宷 > shĕn; #5BB7
+宸 > chén; #5BB8
+容 > róng; #5BB9
+宺 > huăng; #5BBA
+宻 > mì; #5BBB
+宼 > kòu; #5BBC
+宽 > kuān; #5BBD
+宾 > bīn; #5BBE
+宿 > sù; #5BBF
+寀 > cài; #5BC0
+寁 > zăn; #5BC1
+寂 > jì; #5BC2
+寃 > yuān; #5BC3
+寄 > jì; #5BC4
+寅 > yín; #5BC5
+密 > mì; #5BC6
+寇 > kòu; #5BC7
+寈 > qīng; #5BC8
+寉 > què; #5BC9
+寊 > zhēn; #5BCA
+寋 > jiăn; #5BCB
+富 > fù; #5BCC
+寍 > níng; #5BCD
+寎 > bìng; #5BCE
+寏 > huán; #5BCF
+寐 > mèi; #5BD0
+寑 > qĭn; #5BD1
+寒 > hán; #5BD2
+寓 > yù; #5BD3
+寔 > shí; #5BD4
+寕 > níng; #5BD5
+寖 > qìn; #5BD6
+寗 > níng; #5BD7
+寘 > zhì; #5BD8
+寙 > yŭ; #5BD9
+寚 > băo; #5BDA
+寛 > kuān; #5BDB
+寜 > níng; #5BDC
+寝 > qĭn; #5BDD
+寞 > mò; #5BDE
+察 > chá; #5BDF
+寠 > jù; #5BE0
+寡 > guă; #5BE1
+寢 > qĭn; #5BE2
+寣 > hū; #5BE3
+寤 > wù; #5BE4
+寥 > liáo; #5BE5
+實 > shí; #5BE6
+寧 > zhù; #5BE7
+寨 > zhài; #5BE8
+審 > shĕn; #5BE9
+寪 > wĕi; #5BEA
+寫 > xiĕ; #5BEB
+寬 > kuān; #5BEC
+寭 > hùi; #5BED
+寮 > liáo; #5BEE
+寯 > jùn; #5BEF
+寰 > huán; #5BF0
+寱 > yì; #5BF1
+寲 > yí; #5BF2
+寳 > băo; #5BF3
+寴 > qìn; #5BF4
+寵 > chŏng; #5BF5
+寶 > băo; #5BF6
+寷 > fēng; #5BF7
+寸 > cùn; #5BF8
+对 > dùi; #5BF9
+寺 > sì; #5BFA
+寻 > xún; #5BFB
+导 > dăo; #5BFC
+寽 > lǜ; #5BFD
+対 > dùi; #5BFE
+寿 > shòu; #5BFF
+尀 > pŏ; #5C00
+封 > fēng; #5C01
+専 > zhuān; #5C02
+尃 > fū; #5C03
+射 > shè; #5C04
+尅 > kè; #5C05
+将 > jiāng; #5C06
+將 > jiāng; #5C07
+專 > zhuān; #5C08
+尉 > wèi; #5C09
+尊 > zūn; #5C0A
+尋 > xún; #5C0B
+尌 > shù; #5C0C
+對 > dùi; #5C0D
+導 > dăo; #5C0E
+小 > xiăo; #5C0F
+尐 > jī; #5C10
+少 > shăo; #5C11
+尒 > ĕr; #5C12
+尓 > ĕr; #5C13
+尔 > ĕr; #5C14
+尕 > gă; #5C15
+尖 > jiān; #5C16
+尗 > shú; #5C17
+尘 > chén; #5C18
+尙 > shàng; #5C19
+尚 > shàng; #5C1A
+尛 > mo; #5C1B
+尜 > gá; #5C1C
+尝 > cháng; #5C1D
+尞 > liào; #5C1E
+尟 > xiăn; #5C1F
+尠 > xiăn; #5C20
+尢 > wāng; #5C22
+尣 > wāng; #5C23
+尤 > yóu; #5C24
+尥 > liào; #5C25
+尦 > liào; #5C26
+尧 > yáo; #5C27
+尨 > máng; #5C28
+尩 > wāng; #5C29
+尪 > wāng; #5C2A
+尫 > wāng; #5C2B
+尬 > gà; #5C2C
+尭 > yáo; #5C2D
+尮 > dùo; #5C2E
+尯 > kùi; #5C2F
+尰 > zhŏng; #5C30
+就 > jìu; #5C31
+尲 > gān; #5C32
+尳 > gŭ; #5C33
+尴 > gān; #5C34
+尵 > túi; #5C35
+尶 > gān; #5C36
+尷 > gān; #5C37
+尸 > shī; #5C38
+尹 > yĭn; #5C39
+尺 > chĭ; #5C3A
+尻 > kāo; #5C3B
+尼 > ní; #5C3C
+尽 > jĭn; #5C3D
+尾 > wĕi; #5C3E
+尿 > niào; #5C3F
+局 > jú; #5C40
+屁 > pì; #5C41
+层 > céng; #5C42
+屃 > xì; #5C43
+屄 > bī; #5C44
+居 > jū; #5C45
+屆 > jiè; #5C46
+屇 > tián; #5C47
+屈 > qū; #5C48
+屉 > tì; #5C49
+届 > jiè; #5C4A
+屋 > wū; #5C4B
+屌 > diăo; #5C4C
+屍 > shī; #5C4D
+屎 > shĭ; #5C4E
+屏 > píng; #5C4F
+屐 > jī; #5C50
+屑 > xiè; #5C51
+屒 > chén; #5C52
+屓 > xì; #5C53
+屔 > ní; #5C54
+展 > zhăn; #5C55
+屖 > xī; #5C56
+屘 > măn; #5C58
+屙 > ē; #5C59
+屚 > lòu; #5C5A
+屛 > píng; #5C5B
+屜 > tì; #5C5C
+屝 > fèi; #5C5D
+属 > shŭ; #5C5E
+屟 > xiè; #5C5F
+屠 > tú; #5C60
+屡 > lǚ; #5C61
+屢 > lǚ; #5C62
+屣 > xĭ; #5C63
+層 > céng; #5C64
+履 > lǚ; #5C65
+屦 > jù; #5C66
+屧 > xiè; #5C67
+屨 > jù; #5C68
+屩 > juē; #5C69
+屪 > liáo; #5C6A
+屫 > jué; #5C6B
+屬 > shŭ; #5C6C
+屭 > xì; #5C6D
+屮 > chè; #5C6E
+屯 > tún; #5C6F
+屰 > nì; #5C70
+山 > shān; #5C71
+屳 > xiān; #5C73
+屴 > lì; #5C74
+屵 > xuē; #5C75
+屸 > lóng; #5C78
+屹 > yì; #5C79
+屺 > qĭ; #5C7A
+屻 > rèn; #5C7B
+屼 > wù; #5C7C
+屽 > hàn; #5C7D
+屾 > shēn; #5C7E
+屿 > yŭ; #5C7F
+岀 > chū; #5C80
+岁 > sùi; #5C81
+岂 > qĭ; #5C82
+岄 > yuè; #5C84
+岅 > băn; #5C85
+岆 > yăo; #5C86
+岇 > áng; #5C87
+岈 > yá; #5C88
+岉 > wù; #5C89
+岊 > jié; #5C8A
+岋 > è; #5C8B
+岌 > jí; #5C8C
+岍 > qiān; #5C8D
+岎 > fēn; #5C8E
+岏 > yuán; #5C8F
+岐 > qí; #5C90
+岑 > cén; #5C91
+岒 > qián; #5C92
+岓 > qí; #5C93
+岔 > chà; #5C94
+岕 > jiè; #5C95
+岖 > qū; #5C96
+岗 > găng; #5C97
+岘 > xiàn; #5C98
+岙 > ào; #5C99
+岚 > lán; #5C9A
+岛 > dăo; #5C9B
+岜 > bā; #5C9C
+岝 > zùo; #5C9D
+岞 > zùo; #5C9E
+岟 > yăng; #5C9F
+岠 > jù; #5CA0
+岡 > gāng; #5CA1
+岢 > kĕ; #5CA2
+岣 > gŏu; #5CA3
+岤 > xuè; #5CA4
+岥 > bēi; #5CA5
+岦 > lì; #5CA6
+岧 > tiáo; #5CA7
+岨 > jū; #5CA8
+岩 > yán; #5CA9
+岪 > fú; #5CAA
+岫 > xìu; #5CAB
+岬 > jiă; #5CAC
+岭 > líng; #5CAD
+岮 > túo; #5CAE
+岯 > pēi; #5CAF
+岰 > yŏu; #5CB0
+岱 > dài; #5CB1
+岲 > kuàng; #5CB2
+岳 > yuè; #5CB3
+岴 > qū; #5CB4
+岵 > hù; #5CB5
+岶 > pò; #5CB6
+岷 > mín; #5CB7
+岸 > àn; #5CB8
+岹 > tiáo; #5CB9
+岺 > líng; #5CBA
+岻 > chí; #5CBB
+岽 > dōng; #5CBD
+岿 > kūi; #5CBF
+峀 > xìu; #5CC0
+峁 > măo; #5CC1
+峂 > tóng; #5CC2
+峃 > xué; #5CC3
+峄 > yì; #5CC4
+峆 > hē; #5CC6
+峇 > kē; #5CC7
+峈 > lùo; #5CC8
+峉 > ē; #5CC9
+峊 > fù; #5CCA
+峋 > xún; #5CCB
+峌 > dié; #5CCC
+峍 > lù; #5CCD
+峎 > ān; #5CCE
+峏 > ĕr; #5CCF
+峐 > gāi; #5CD0
+峑 > quán; #5CD1
+峒 > tóng; #5CD2
+峓 > yí; #5CD3
+峔 > mŭ; #5CD4
+峕 > shí; #5CD5
+峖 > ān; #5CD6
+峗 > wéi; #5CD7
+峘 > hū; #5CD8
+峙 > zhì; #5CD9
+峚 > mì; #5CDA
+峛 > lĭ; #5CDB
+峜 > jī; #5CDC
+峝 > tóng; #5CDD
+峞 > wéi; #5CDE
+峟 > yòu; #5CDF
+峡 > xiá; #5CE1
+峢 > lĭ; #5CE2
+峣 > yáo; #5CE3
+峤 > jiào; #5CE4
+峥 > zhēng; #5CE5
+峦 > luán; #5CE6
+峧 > jiāo; #5CE7
+峨 > é; #5CE8
+峩 > é; #5CE9
+峪 > yù; #5CEA
+峫 > yé; #5CEB
+峬 > bū; #5CEC
+峭 > qiào; #5CED
+峮 > qūn; #5CEE
+峯 > fēng; #5CEF
+峰 > fēng; #5CF0
+峱 > náo; #5CF1
+峲 > lĭ; #5CF2
+峳 > yóu; #5CF3
+峴 > xiàn; #5CF4
+峵 > hóng; #5CF5
+島 > dăo; #5CF6
+峷 > shēn; #5CF7
+峸 > chéng; #5CF8
+峹 > tú; #5CF9
+峺 > gĕng; #5CFA
+峻 > jùn; #5CFB
+峼 > hào; #5CFC
+峽 > xiá; #5CFD
+峾 > yīn; #5CFE
+峿 > yŭ; #5CFF
+崀 > làng; #5D00
+崁 > kăn; #5D01
+崂 > láo; #5D02
+崃 > lái; #5D03
+崄 > xiăn; #5D04
+崅 > què; #5D05
+崆 > kōng; #5D06
+崇 > chóng; #5D07
+崈 > chóng; #5D08
+崉 > tà; #5D09
+崊 > lin; #5D0A
+崋 > huá; #5D0B
+崌 > jū; #5D0C
+崍 > lái; #5D0D
+崎 > qí; #5D0E
+崏 > mín; #5D0F
+崐 > kūn; #5D10
+崑 > kūn; #5D11
+崒 > zú; #5D12
+崓 > gù; #5D13
+崔 > cūi; #5D14
+崕 > yá; #5D15
+崖 > yá; #5D16
+崗 > găng; #5D17
+崘 > lún; #5D18
+崙 > lún; #5D19
+崚 > léng; #5D1A
+崛 > jué; #5D1B
+崜 > dūo; #5D1C
+崝 > zhēng; #5D1D
+崞 > gūo; #5D1E
+崟 > yín; #5D1F
+崠 > dōng; #5D20
+崡 > hán; #5D21
+崢 > zhēng; #5D22
+崣 > wĕi; #5D23
+崤 > yáo; #5D24
+崥 > pĭ; #5D25
+崦 > yān; #5D26
+崧 > sōng; #5D27
+崨 > jié; #5D28
+崩 > bēng; #5D29
+崪 > zú; #5D2A
+崫 > jué; #5D2B
+崬 > dōng; #5D2C
+崭 > zhăn; #5D2D
+崮 > gù; #5D2E
+崯 > yín; #5D2F
+崱 > zé; #5D31
+崲 > huáng; #5D32
+崳 > yú; #5D33
+崴 > wēi; #5D34
+崵 > yáng; #5D35
+崶 > fēng; #5D36
+崷 > qíu; #5D37
+崸 > dùn; #5D38
+崹 > tí; #5D39
+崺 > yĭ; #5D3A
+崻 > zhì; #5D3B
+崼 > shì; #5D3C
+崽 > zăi; #5D3D
+崾 > yăo; #5D3E
+崿 > è; #5D3F
+嵀 > zhù; #5D40
+嵁 > kān; #5D41
+嵂 > lǜ; #5D42
+嵃 > yăn; #5D43
+嵄 > mĕi; #5D44
+嵅 > gān; #5D45
+嵆 > jī; #5D46
+嵇 > jī; #5D47
+嵈 > huăn; #5D48
+嵉 > tíng; #5D49
+嵊 > shèng; #5D4A
+嵋 > méi; #5D4B
+嵌 > qiàn; #5D4C
+嵍 > wù; #5D4D
+嵎 > yú; #5D4E
+嵏 > zōng; #5D4F
+嵐 > lán; #5D50
+嵑 > jué; #5D51
+嵒 > yán; #5D52
+嵓 > yán; #5D53
+嵔 > wĕi; #5D54
+嵕 > zōng; #5D55
+嵖 > chá; #5D56
+嵗 > sùi; #5D57
+嵘 > róng; #5D58
+嵚 > qīn; #5D5A
+嵛 > yú; #5D5B
+嵝 > lŏu; #5D5D
+嵞 > tú; #5D5E
+嵟 > dūi; #5D5F
+嵠 > xī; #5D60
+嵡 > wēng; #5D61
+嵢 > cāng; #5D62
+嵣 > dāng; #5D63
+嵤 > hóng; #5D64
+嵥 > jié; #5D65
+嵦 > ái; #5D66
+嵧 > líu; #5D67
+嵨 > wŭ; #5D68
+嵩 > sōng; #5D69
+嵪 > qiāo; #5D6A
+嵫 > zī; #5D6B
+嵬 > wéi; #5D6C
+嵭 > bēng; #5D6D
+嵮 > diān; #5D6E
+嵯 > cúo; #5D6F
+嵰 > qiăn; #5D70
+嵱 > yŏng; #5D71
+嵲 > niè; #5D72
+嵳 > cúo; #5D73
+嵴 > jí; #5D74
+嵷 > sŏng; #5D77
+嵸 > zōng; #5D78
+嵹 > jiàng; #5D79
+嵺 > liáo; #5D7A
+嵻 > kang; #5D7B
+嵼 > chăn; #5D7C
+嵽 > dié; #5D7D
+嵾 > cēn; #5D7E
+嵿 > dĭng; #5D7F
+嶀 > tū; #5D80
+嶁 > lŏu; #5D81
+嶂 > zhàng; #5D82
+嶃 > zhăn; #5D83
+嶄 > zhăn; #5D84
+嶅 > áo; #5D85
+嶆 > cáo; #5D86
+嶇 > qū; #5D87
+嶈 > qiāng; #5D88
+嶉 > zūi; #5D89
+嶊 > zŭi; #5D8A
+嶋 > dăo; #5D8B
+嶌 > dăo; #5D8C
+嶍 > xí; #5D8D
+嶎 > yù; #5D8E
+嶏 > bó; #5D8F
+嶐 > lóng; #5D90
+嶑 > xiăng; #5D91
+嶒 > céng; #5D92
+嶓 > bō; #5D93
+嶔 > qīn; #5D94
+嶕 > jiāo; #5D95
+嶖 > yăn; #5D96
+嶗 > láo; #5D97
+嶘 > zhàn; #5D98
+嶙 > lín; #5D99
+嶚 > liáo; #5D9A
+嶛 > liáo; #5D9B
+嶜 > jīn; #5D9C
+嶝 > dèng; #5D9D
+嶞 > dùo; #5D9E
+嶟 > zūn; #5D9F
+嶠 > jiào; #5DA0
+嶡 > gùi; #5DA1
+嶢 > yáo; #5DA2
+嶣 > qiáo; #5DA3
+嶤 > yáo; #5DA4
+嶥 > jué; #5DA5
+嶦 > zhān; #5DA6
+嶧 > yì; #5DA7
+嶨 > xué; #5DA8
+嶩 > náo; #5DA9
+嶪 > yè; #5DAA
+嶫 > yè; #5DAB
+嶬 > yí; #5DAC
+嶭 > è; #5DAD
+嶮 > xiăn; #5DAE
+嶯 > jí; #5DAF
+嶰 > xiè; #5DB0
+嶱 > kĕ; #5DB1
+嶲 > xī; #5DB2
+嶳 > dì; #5DB3
+嶴 > ào; #5DB4
+嶵 > zŭi; #5DB5
+嶷 > nì; #5DB7
+嶸 > róng; #5DB8
+嶹 > dăo; #5DB9
+嶺 > lĭng; #5DBA
+嶻 > zá; #5DBB
+嶼 > yŭ; #5DBC
+嶽 > yuè; #5DBD
+嶾 > yĭn; #5DBE
+巀 > jiē; #5DC0
+巁 > lì; #5DC1
+巂 > sŭi; #5DC2
+巃 > lóng; #5DC3
+巄 > lóng; #5DC4
+巅 > diān; #5DC5
+巆 > yíng; #5DC6
+巇 > xī; #5DC7
+巈 > jú; #5DC8
+巉 > chán; #5DC9
+巊 > yĭng; #5DCA
+巋 > kūi; #5DCB
+巌 > yán; #5DCC
+巍 > wēi; #5DCD
+巎 > náo; #5DCE
+巏 > quán; #5DCF
+巐 > chăo; #5DD0
+巑 > cuán; #5DD1
+巒 > luán; #5DD2
+巓 > diān; #5DD3
+巔 > diān; #5DD4
+巖 > yán; #5DD6
+巗 > yán; #5DD7
+巘 > yăn; #5DD8
+巙 > náo; #5DD9
+巚 > yăn; #5DDA
+巛 > chuān; #5DDB
+巜 > gùi; #5DDC
+川 > chuān; #5DDD
+州 > zhōu; #5DDE
+巟 > huāng; #5DDF
+巠 > jīng; #5DE0
+巡 > xún; #5DE1
+巢 > cháo; #5DE2
+巣 > cháo; #5DE3
+巤 > liē; #5DE4
+工 > gōng; #5DE5
+左 > zŭo; #5DE6
+巧 > qiăo; #5DE7
+巨 > jù; #5DE8
+巩 > gŏng; #5DE9
+巫 > wū; #5DEB
+差 > chāi; #5DEE
+巯 > qíu; #5DEF
+巰 > qíu; #5DF0
+己 > jĭ; #5DF1
+已 > yĭ; #5DF2
+巳 > sì; #5DF3
+巴 > bā; #5DF4
+巵 > zhī; #5DF5
+巶 > zhāo; #5DF6
+巷 > xiàng; #5DF7
+巸 > yí; #5DF8
+巹 > jĭn; #5DF9
+巺 > xùn; #5DFA
+巻 > juàn; #5DFB
+巽 > xùn; #5DFD
+巾 > jīn; #5DFE
+巿 > fú; #5DFF
+帀 > zā; #5E00
+币 > bì; #5E01
+市 > shì; #5E02
+布 > bù; #5E03
+帄 > dīng; #5E04
+帅 > shuài; #5E05
+帆 > fān; #5E06
+帇 > niè; #5E07
+师 > shī; #5E08
+帉 > fēn; #5E09
+帊 > pà; #5E0A
+帋 > zhĭ; #5E0B
+希 > xī; #5E0C
+帍 > hù; #5E0D
+帎 > dàn; #5E0E
+帏 > wéi; #5E0F
+帐 > zhàng; #5E10
+帑 > tăng; #5E11
+帒 > dài; #5E12
+帓 > mà; #5E13
+帔 > pèi; #5E14
+帕 > pà; #5E15
+帖 > tiē; #5E16
+帗 > fú; #5E17
+帘 > lián; #5E18
+帙 > zhì; #5E19
+帚 > zhŏu; #5E1A
+帛 > bó; #5E1B
+帜 > zhì; #5E1C
+帝 > dì; #5E1D
+帞 > mò; #5E1E
+帟 > yì; #5E1F
+帠 > yì; #5E20
+帡 > píng; #5E21
+帢 > qià; #5E22
+帣 > juàn; #5E23
+帤 > rú; #5E24
+帥 > shuài; #5E25
+带 > dài; #5E26
+帧 > zhèng; #5E27
+帨 > shùi; #5E28
+帩 > qiào; #5E29
+帪 > zhēn; #5E2A
+師 > shī; #5E2B
+帬 > qún; #5E2C
+席 > xí; #5E2D
+帮 > bāng; #5E2E
+帯 > dài; #5E2F
+帰 > gūi; #5E30
+帱 > chóu; #5E31
+帲 > píng; #5E32
+帳 > zhàng; #5E33
+帴 > shā; #5E34
+帵 > wān; #5E35
+帶 > dài; #5E36
+帷 > wéi; #5E37
+常 > cháng; #5E38
+帹 > shà; #5E39
+帺 > qí; #5E3A
+帻 > zé; #5E3B
+帼 > gúo; #5E3C
+帽 > mào; #5E3D
+帾 > dŭ; #5E3E
+帿 > hóu; #5E3F
+幀 > zhèng; #5E40
+幁 > xū; #5E41
+幂 > mì; #5E42
+幃 > wéi; #5E43
+幄 > wò; #5E44
+幅 > fú; #5E45
+幆 > yì; #5E46
+幇 > bāng; #5E47
+幈 > píng; #5E48
+幊 > gōng; #5E4A
+幋 > pán; #5E4B
+幌 > huăng; #5E4C
+幍 > dāo; #5E4D
+幎 > mì; #5E4E
+幏 > jiā; #5E4F
+幐 > téng; #5E50
+幑 > hūi; #5E51
+幒 > zhōng; #5E52
+幓 > shān; #5E53
+幔 > màn; #5E54
+幕 > mù; #5E55
+幖 > biāo; #5E56
+幗 > gúo; #5E57
+幘 > zé; #5E58
+幙 > mù; #5E59
+幚 > bāng; #5E5A
+幛 > zhàng; #5E5B
+幜 > jĭong; #5E5C
+幝 > chăn; #5E5D
+幞 > fú; #5E5E
+幟 > zhì; #5E5F
+幠 > hū; #5E60
+幡 > fān; #5E61
+幢 > chuáng; #5E62
+幣 > bì; #5E63
+幦 > mì; #5E66
+幧 > qiāo; #5E67
+幨 > chān; #5E68
+幩 > fén; #5E69
+幪 > méng; #5E6A
+幫 > bāng; #5E6B
+幬 > chóu; #5E6C
+幭 > miè; #5E6D
+幮 > chú; #5E6E
+幯 > jié; #5E6F
+幰 > xiăn; #5E70
+幱 > lán; #5E71
+干 > gān; #5E72
+平 > píng; #5E73
+年 > nián; #5E74
+幵 > qiān; #5E75
+并 > bìng; #5E76
+幷 > bìng; #5E77
+幸 > xìng; #5E78
+幹 > gàn; #5E79
+幺 > yāo; #5E7A
+幻 > huàn; #5E7B
+幼 > yòu; #5E7C
+幽 > yōu; #5E7D
+幾 > jĭ; #5E7E
+广 > yăn; #5E7F
+庀 > pĭ; #5E80
+庁 > tīng; #5E81
+庂 > zè; #5E82
+広 > guăng; #5E83
+庄 > zhuāng; #5E84
+庅 > mo; #5E85
+庆 > qìng; #5E86
+庇 > bì; #5E87
+庈 > qín; #5E88
+庉 > dùn; #5E89
+床 > chuáng; #5E8A
+庋 > gŭi; #5E8B
+庌 > yă; #5E8C
+庍 > bài; #5E8D
+庎 > jiè; #5E8E
+序 > xù; #5E8F
+庐 > lú; #5E90
+庑 > wŭ; #5E91
+库 > kù; #5E93
+应 > yìng; #5E94
+底 > dĭ; #5E95
+庖 > páo; #5E96
+店 > diàn; #5E97
+庘 > yā; #5E98
+庙 > miào; #5E99
+庚 > gēng; #5E9A
+庛 > cī; #5E9B
+府 > fŭ; #5E9C
+庝 > tóng; #5E9D
+庞 > páng; #5E9E
+废 > fèi; #5E9F
+庠 > xiáng; #5EA0
+庡 > yĭ; #5EA1
+庢 > zhì; #5EA2
+庣 > tiāo; #5EA3
+庤 > zhì; #5EA4
+庥 > xīu; #5EA5
+度 > dù; #5EA6
+座 > zùo; #5EA7
+庨 > xiāo; #5EA8
+庩 > tú; #5EA9
+庪 > gŭi; #5EAA
+庫 > kù; #5EAB
+庬 > páng; #5EAC
+庭 > tíng; #5EAD
+庮 > yŏu; #5EAE
+庯 > bū; #5EAF
+庰 > dīng; #5EB0
+庱 > chĕng; #5EB1
+庲 > lái; #5EB2
+庳 > bēi; #5EB3
+庴 > jí; #5EB4
+庵 > ān; #5EB5
+庶 > shù; #5EB6
+康 > kāng; #5EB7
+庸 > yōng; #5EB8
+庹 > tŭo; #5EB9
+庺 > sōng; #5EBA
+庻 > shù; #5EBB
+庼 > qĭng; #5EBC
+庽 > yù; #5EBD
+庾 > yŭ; #5EBE
+庿 > miào; #5EBF
+廀 > sōu; #5EC0
+廁 > cè; #5EC1
+廂 > xiāng; #5EC2
+廃 > fèi; #5EC3
+廄 > jìu; #5EC4
+廅 > hé; #5EC5
+廆 > hùi; #5EC6
+廇 > lìu; #5EC7
+廈 > shà; #5EC8
+廉 > lián; #5EC9
+廊 > láng; #5ECA
+廋 > sōu; #5ECB
+廌 > jiàn; #5ECC
+廍 > pŏu; #5ECD
+廎 > qĭng; #5ECE
+廏 > jìu; #5ECF
+廐 > jìu; #5ED0
+廑 > qín; #5ED1
+廒 > áo; #5ED2
+廓 > kùo; #5ED3
+廔 > lóu; #5ED4
+廕 > yīn; #5ED5
+廖 > liào; #5ED6
+廗 > dài; #5ED7
+廘 > lù; #5ED8
+廙 > yì; #5ED9
+廚 > chú; #5EDA
+廛 > chán; #5EDB
+廜 > tū; #5EDC
+廝 > sī; #5EDD
+廞 > xīn; #5EDE
+廟 > miào; #5EDF
+廠 > chăng; #5EE0
+廡 > wŭ; #5EE1
+廢 > fèi; #5EE2
+廣 > guăng; #5EE3
+廥 > kuài; #5EE5
+廦 > bì; #5EE6
+廧 > qiáng; #5EE7
+廨 > xiè; #5EE8
+廩 > lĭn; #5EE9
+廪 > lĭn; #5EEA
+廫 > liáo; #5EEB
+廬 > lú; #5EEC
+廮 > yíng; #5EEE
+廯 > xiān; #5EEF
+廰 > tīng; #5EF0
+廱 > yōng; #5EF1
+廲 > lí; #5EF2
+廳 > tīng; #5EF3
+廴 > yĭn; #5EF4
+廵 > xún; #5EF5
+延 > yán; #5EF6
+廷 > tíng; #5EF7
+廸 > dí; #5EF8
+廹 > pò; #5EF9
+建 > jiàn; #5EFA
+廻 > húi; #5EFB
+廼 > năi; #5EFC
+廽 > húi; #5EFD
+廾 > gòng; #5EFE
+廿 > niàn; #5EFF
+开 > kāi; #5F00
+弁 > biàn; #5F01
+异 > yì; #5F02
+弃 > qì; #5F03
+弄 > nòng; #5F04
+弅 > fén; #5F05
+弆 > jŭ; #5F06
+弇 > yăn; #5F07
+弈 > yì; #5F08
+弉 > zàng; #5F09
+弊 > bì; #5F0A
+弋 > yì; #5F0B
+弌 > yī; #5F0C
+弍 > èr; #5F0D
+弎 > sān; #5F0E
+式 > shì; #5F0F
+弐 > èr; #5F10
+弑 > shì; #5F11
+弒 > shì; #5F12
+弓 > gōng; #5F13
+弔 > diào; #5F14
+引 > yĭn; #5F15
+弖 > hù; #5F16
+弗 > fú; #5F17
+弘 > hóng; #5F18
+弙 > wū; #5F19
+弚 > túi; #5F1A
+弛 > chí; #5F1B
+弜 > jiàng; #5F1C
+弝 > bà; #5F1D
+弞 > shĕn; #5F1E
+弟 > dì; #5F1F
+张 > zhāng; #5F20
+弡 > jué; #5F21
+弢 > tāo; #5F22
+弣 > fŭ; #5F23
+弤 > dĭ; #5F24
+弥 > mí; #5F25
+弦 > xián; #5F26
+弧 > hú; #5F27
+弨 > chāo; #5F28
+弩 > nŭ; #5F29
+弪 > jìng; #5F2A
+弫 > zhĕn; #5F2B
+弬 > yí; #5F2C
+弭 > mĭ; #5F2D
+弮 > quān; #5F2E
+弯 > wān; #5F2F
+弰 > shāo; #5F30
+弱 > rùo; #5F31
+弲 > xuān; #5F32
+弳 > jìng; #5F33
+弴 > dūn; #5F34
+張 > zhāng; #5F35
+弶 > jiàng; #5F36
+強 > qiáng; #5F37
+弸 > péng; #5F38
+弹 > dàn; #5F39
+强 > qiáng; #5F3A
+弻 > bì; #5F3B
+弼 > bì; #5F3C
+弽 > shè; #5F3D
+弾 > dàn; #5F3E
+弿 > jiăn; #5F3F
+彀 > gòu; #5F40
+彂 > fā; #5F42
+彃 > bì; #5F43
+彄 > kōu; #5F44
+彆 > biè; #5F46
+彇 > xiāo; #5F47
+彈 > dàn; #5F48
+彉 > kùo; #5F49
+彊 > qiáng; #5F4A
+彋 > hóng; #5F4B
+彌 > mí; #5F4C
+彍 > kùo; #5F4D
+彎 > wān; #5F4E
+彏 > jué; #5F4F
+彐 > jì; #5F50
+彑 > jì; #5F51
+归 > gūi; #5F52
+当 > dāng; #5F53
+彔 > lù; #5F54
+录 > lù; #5F55
+彖 > tuàn; #5F56
+彗 > hùi; #5F57
+彘 > zhì; #5F58
+彙 > hùi; #5F59
+彚 > hùi; #5F5A
+彛 > yí; #5F5B
+彜 > yí; #5F5C
+彝 > yí; #5F5D
+彞 > yí; #5F5E
+彟 > hùo; #5F5F
+彠 > hùo; #5F60
+彡 > shān; #5F61
+形 > xíng; #5F62
+彣 > wén; #5F63
+彤 > tóng; #5F64
+彥 > yàn; #5F65
+彦 > yàn; #5F66
+彧 > yù; #5F67
+彨 > chī; #5F68
+彩 > căi; #5F69
+彪 > biāo; #5F6A
+彫 > diāo; #5F6B
+彬 > bīn; #5F6C
+彭 > péng; #5F6D
+彮 > yŏng; #5F6E
+彯 > piāo; #5F6F
+彰 > zhāng; #5F70
+影 > yĭng; #5F71
+彲 > chī; #5F72
+彳 > chì; #5F73
+彴 > zhúo; #5F74
+彵 > tŭo; #5F75
+彶 > jí; #5F76
+彷 > páng; #5F77
+彸 > zhōng; #5F78
+役 > yì; #5F79
+彺 > wáng; #5F7A
+彻 > chè; #5F7B
+彼 > bĭ; #5F7C
+彽 > chí; #5F7D
+彾 > lĭng; #5F7E
+彿 > fú; #5F7F
+往 > wăng; #5F80
+征 > zhēng; #5F81
+徂 > cú; #5F82
+徃 > wăng; #5F83
+径 > jìng; #5F84
+待 > dài; #5F85
+徆 > xī; #5F86
+徇 > xùn; #5F87
+很 > hĕn; #5F88
+徉 > yáng; #5F89
+徊 > huái; #5F8A
+律 > lǜ; #5F8B
+後 > hòu; #5F8C
+徍 > wā; #5F8D
+徎 > chĕng; #5F8E
+徏 > zhì; #5F8F
+徐 > xú; #5F90
+徑 > jìng; #5F91
+徒 > tú; #5F92
+従 > cóng; #5F93
+徕 > lái; #5F95
+徖 > cóng; #5F96
+得 > dé; #5F97
+徘 > pái; #5F98
+徙 > xĭ; #5F99
+徛 > qì; #5F9B
+徜 > cháng; #5F9C
+徝 > zhì; #5F9D
+從 > cóng; #5F9E
+徟 > zhōu; #5F9F
+徠 > lái; #5FA0
+御 > yù; #5FA1
+徢 > xiè; #5FA2
+徣 > jiè; #5FA3
+徤 > jiàn; #5FA4
+徥 > chí; #5FA5
+徦 > jiă; #5FA6
+徧 > biàn; #5FA7
+徨 > huáng; #5FA8
+復 > fù; #5FA9
+循 > xún; #5FAA
+徫 > wĕi; #5FAB
+徬 > páng; #5FAC
+徭 > yáo; #5FAD
+微 > wēi; #5FAE
+徯 > xī; #5FAF
+徰 > zhēng; #5FB0
+徱 > piào; #5FB1
+徲 > chí; #5FB2
+徳 > dé; #5FB3
+徴 > zhēng; #5FB4
+徵 > zhēng; #5FB5
+徶 > biè; #5FB6
+德 > dé; #5FB7
+徸 > chōng; #5FB8
+徹 > chè; #5FB9
+徺 > jiăo; #5FBA
+徻 > wèi; #5FBB
+徼 > jiào; #5FBC
+徽 > hūi; #5FBD
+徾 > méi; #5FBE
+徿 > lòng; #5FBF
+忀 > xiāng; #5FC0
+忁 > bào; #5FC1
+忂 > qú; #5FC2
+心 > xīn; #5FC3
+忄 > shù' 'xīn' 'páng; #5FC4
+必 > bì; #5FC5
+忆 > yì; #5FC6
+忇 > lè; #5FC7
+忈 > rén; #5FC8
+忉 > dāo; #5FC9
+忊 > dìng; #5FCA
+忋 > găi; #5FCB
+忌 > jì; #5FCC
+忍 > rĕn; #5FCD
+忎 > rén; #5FCE
+忏 > chàn; #5FCF
+忐 > tăn; #5FD0
+忑 > tè; #5FD1
+忒 > tè; #5FD2
+忓 > gān; #5FD3
+忔 > qì; #5FD4
+忕 > shì; #5FD5
+忖 > cŭn; #5FD6
+志 > zhì; #5FD7
+忘 > wàng; #5FD8
+忙 > máng; #5FD9
+忚 > xī; #5FDA
+忛 > fán; #5FDB
+応 > yīng; #5FDC
+忝 > tiăn; #5FDD
+忞 > mín; #5FDE
+忟 > mín; #5FDF
+忠 > zhōng; #5FE0
+忡 > chōng; #5FE1
+忢 > wù; #5FE2
+忣 > jí; #5FE3
+忤 > wŭ; #5FE4
+忥 > xì; #5FE5
+忦 > yè; #5FE6
+忧 > yōu; #5FE7
+忨 > wàn; #5FE8
+忩 > cōng; #5FE9
+忪 > zhōng; #5FEA
+快 > kuài; #5FEB
+忬 > yù; #5FEC
+忭 > biàn; #5FED
+忮 > zhì; #5FEE
+忯 > qí; #5FEF
+忰 > cùi; #5FF0
+忱 > chén; #5FF1
+忲 > tài; #5FF2
+忳 > tún; #5FF3
+忴 > qián; #5FF4
+念 > niàn; #5FF5
+忶 > hún; #5FF6
+忷 > xīong; #5FF7
+忸 > nĭu; #5FF8
+忹 > wăng; #5FF9
+忺 > xiān; #5FFA
+忻 > xīn; #5FFB
+忼 > kāng; #5FFC
+忽 > hū; #5FFD
+忾 > kài; #5FFE
+忿 > fèn; #5FFF
+怀 > huái; #6000
+态 > tài; #6001
+怂 > sŏng; #6002
+怃 > wŭ; #6003
+怄 > òu; #6004
+怅 > chàng; #6005
+怆 > chuàng; #6006
+怇 > jù; #6007
+怈 > yì; #6008
+怉 > băo; #6009
+怊 > chāo; #600A
+怋 > mín; #600B
+怌 > pēi; #600C
+怍 > zùo; #600D
+怎 > zĕn; #600E
+怏 > yàng; #600F
+怐 > kòu; #6010
+怑 > bàn; #6011
+怒 > nù; #6012
+怓 > náo; #6013
+怔 > zhēng; #6014
+怕 > pà; #6015
+怖 > bù; #6016
+怗 > tiē; #6017
+怘 > gù; #6018
+怙 > hù; #6019
+怚 > jù; #601A
+怛 > dá; #601B
+怜 > lián; #601C
+思 > sī; #601D
+怞 > chōu; #601E
+怟 > dì; #601F
+怠 > dài; #6020
+怡 > yí; #6021
+怢 > tú; #6022
+怣 > yóu; #6023
+怤 > fū; #6024
+急 > jí; #6025
+怦 > pēng; #6026
+性 > xìng; #6027
+怨 > yuàn; #6028
+怩 > ní; #6029
+怪 > guài; #602A
+怫 > fú; #602B
+怬 > xì; #602C
+怭 > bì; #602D
+怮 > yōu; #602E
+怯 > qiè; #602F
+怰 > xuàn; #6030
+怱 > cōng; #6031
+怲 > bĭng; #6032
+怳 > huăng; #6033
+怴 > xù; #6034
+怵 > chù; #6035
+怶 > pī; #6036
+怷 > xī; #6037
+怸 > xī; #6038
+怹 > tān; #6039
+总 > zŏng; #603B
+怼 > dùi; #603C
+怿 > yì; #603F
+恀 > chĭ; #6040
+恁 > rèn; #6041
+恂 > xún; #6042
+恃 > shì; #6043
+恄 > xì; #6044
+恅 > lăo; #6045
+恆 > héng; #6046
+恇 > kuāng; #6047
+恈 > mú; #6048
+恉 > zhĭ; #6049
+恊 > xié; #604A
+恋 > liàn; #604B
+恌 > tiāo; #604C
+恍 > huăng; #604D
+恎 > dié; #604E
+恏 > hăo; #604F
+恐 > kŏng; #6050
+恑 > gŭi; #6051
+恒 > héng; #6052
+恓 > xī; #6053
+恔 > xiào; #6054
+恕 > shù; #6055
+恖 > sī; #6056
+恗 > kuă; #6057
+恘 > qīu; #6058
+恙 > yàng; #6059
+恚 > hùi; #605A
+恛 > húi; #605B
+恜 > chì; #605C
+恝 > jiá; #605D
+恞 > yí; #605E
+恟 > xīong; #605F
+恠 > guài; #6060
+恡 > lìn; #6061
+恢 > hūi; #6062
+恣 > zì; #6063
+恤 > xù; #6064
+恥 > chĭ; #6065
+恦 > xiàng; #6066
+恧 > nǜ; #6067
+恨 > hèn; #6068
+恩 > ēn; #6069
+恪 > kè; #606A
+恫 > tōng; #606B
+恬 > tián; #606C
+恭 > gōng; #606D
+恮 > quán; #606E
+息 > xī; #606F
+恰 > qià; #6070
+恱 > yuè; #6071
+恲 > pēng; #6072
+恳 > kĕn; #6073
+恴 > dé; #6074
+恵 > hùi; #6075
+恶 > è; #6076
+恸 > tòng; #6078
+恹 > yàn; #6079
+恺 > kăi; #607A
+恻 > cè; #607B
+恼 > năo; #607C
+恽 > yùn; #607D
+恾 > máng; #607E
+恿 > yŏng; #607F
+悀 > yŏng; #6080
+悁 > yuān; #6081
+悂 > pī; #6082
+悃 > kŭn; #6083
+悄 > qiăo; #6084
+悅 > yuè; #6085
+悆 > yù; #6086
+悇 > yù; #6087
+悈 > jiè; #6088
+悉 > xī; #6089
+悊 > zhé; #608A
+悋 > lìn; #608B
+悌 > tì; #608C
+悍 > hàn; #608D
+悎 > hào; #608E
+悏 > qiè; #608F
+悐 > tì; #6090
+悑 > bù; #6091
+悒 > yì; #6092
+悓 > qiàn; #6093
+悔 > hŭi; #6094
+悕 > xī; #6095
+悖 > bèi; #6096
+悗 > mán; #6097
+悘 > yī; #6098
+悙 > hēng; #6099
+悚 > sŏng; #609A
+悛 > quān; #609B
+悜 > chĕng; #609C
+悝 > hūi; #609D
+悞 > wù; #609E
+悟 > wù; #609F
+悠 > yōu; #60A0
+悡 > lí; #60A1
+悢 > liàng; #60A2
+患 > huàn; #60A3
+悤 > cōng; #60A4
+悥 > yì; #60A5
+悦 > yuè; #60A6
+悧 > lì; #60A7
+您 > nín; #60A8
+悩 > năo; #60A9
+悪 > è; #60AA
+悫 > què; #60AB
+悬 > xuán; #60AC
+悭 > qiān; #60AD
+悮 > wù; #60AE
+悯 > mĭn; #60AF
+悰 > cóng; #60B0
+悱 > fĕi; #60B1
+悲 > bēi; #60B2
+悳 > dúo; #60B3
+悴 > cùi; #60B4
+悵 > chàng; #60B5
+悶 > mèn; #60B6
+悷 > lì; #60B7
+悸 > jì; #60B8
+悹 > guàn; #60B9
+悺 > guàn; #60BA
+悻 > xìng; #60BB
+悼 > dào; #60BC
+悽 > qī; #60BD
+悾 > kōng; #60BE
+悿 > tiăn; #60BF
+惀 > lún; #60C0
+惁 > xī; #60C1
+惂 > kăn; #60C2
+惃 > kūn; #60C3
+惄 > nì; #60C4
+情 > qíng; #60C5
+惆 > chóu; #60C6
+惇 > dūn; #60C7
+惈 > gŭo; #60C8
+惉 > chān; #60C9
+惊 > liáng; #60CA
+惋 > wăn; #60CB
+惌 > yuān; #60CC
+惍 > jīn; #60CD
+惎 > jì; #60CE
+惏 > lín; #60CF
+惐 > yù; #60D0
+惑 > hùo; #60D1
+惒 > hé; #60D2
+惓 > quán; #60D3
+惔 > tán; #60D4
+惕 > tì; #60D5
+惖 > tì; #60D6
+惗 > niē; #60D7
+惘 > wăng; #60D8
+惙 > chùo; #60D9
+惚 > bū; #60DA
+惛 > hūn; #60DB
+惜 > xī; #60DC
+惝 > tăng; #60DD
+惞 > xīn; #60DE
+惟 > wéi; #60DF
+惠 > hùi; #60E0
+惡 > è; #60E1
+惢 > rŭi; #60E2
+惣 > zŏng; #60E3
+惤 > jiān; #60E4
+惥 > yŏng; #60E5
+惦 > diàn; #60E6
+惧 > jù; #60E7
+惨 > căn; #60E8
+惩 > chéng; #60E9
+惪 > dé; #60EA
+惫 > bèi; #60EB
+惬 > qiè; #60EC
+惭 > cán; #60ED
+惮 > dàn; #60EE
+惯 > guàn; #60EF
+惰 > dùo; #60F0
+惱 > năo; #60F1
+惲 > yùn; #60F2
+想 > xiăng; #60F3
+惴 > zhùi; #60F4
+惵 > diè; #60F5
+惶 > huáng; #60F6
+惷 > chŭn; #60F7
+惸 > qíong; #60F8
+惹 > rĕ; #60F9
+惺 > xīng; #60FA
+惻 > cè; #60FB
+惼 > biăn; #60FC
+惽 > hūn; #60FD
+惾 > zōng; #60FE
+惿 > tí; #60FF
+愀 > qiăo; #6100
+愁 > chóu; #6101
+愂 > bèi; #6102
+愃 > xuān; #6103
+愄 > wēi; #6104
+愅 > gé; #6105
+愆 > qiān; #6106
+愇 > wĕi; #6107
+愈 > yù; #6108
+愉 > yú; #6109
+愊 > bì; #610A
+愋 > xuān; #610B
+愌 > huàn; #610C
+愍 > mĭn; #610D
+愎 > bì; #610E
+意 > yì; #610F
+愐 > miăn; #6110
+愑 > yŏng; #6111
+愒 > kài; #6112
+愓 > dàng; #6113
+愔 > yīn; #6114
+愕 > è; #6115
+愖 > chén; #6116
+愗 > mòu; #6117
+愘 > kè; #6118
+愙 > kè; #6119
+愚 > yú; #611A
+愛 > ài; #611B
+愜 > qiè; #611C
+愝 > yăn; #611D
+愞 > nùo; #611E
+感 > găn; #611F
+愠 > yùn; #6120
+愡 > zŏng; #6121
+愢 > sāi; #6122
+愣 > léng; #6123
+愤 > fèn; #6124
+愦 > kùi; #6126
+愧 > kùi; #6127
+愨 > què; #6128
+愩 > gōng; #6129
+愪 > yún; #612A
+愫 > sù; #612B
+愬 > sù; #612C
+愭 > qí; #612D
+愮 > yáo; #612E
+愯 > sŏng; #612F
+愰 > huăng; #6130
+愱 > jí; #6131
+愲 > gŭ; #6132
+愳 > jù; #6133
+愴 > chuàng; #6134
+愵 > nì; #6135
+愶 > xié; #6136
+愷 > kăi; #6137
+愸 > zhĕng; #6138
+愹 > yŏng; #6139
+愺 > căo; #613A
+愻 > sùn; #613B
+愼 > shèn; #613C
+愽 > bó; #613D
+愾 > kài; #613E
+愿 > yuàn; #613F
+慀 > xié; #6140
+慁 > hùn; #6141
+慂 > yŏng; #6142
+慃 > yăng; #6143
+慄 > lì; #6144
+慅 > sāo; #6145
+慆 > tāo; #6146
+慇 > yīn; #6147
+慈 > cí; #6148
+慉 > xù; #6149
+慊 > qiàn; #614A
+態 > tài; #614B
+慌 > huāng; #614C
+慍 > yùn; #614D
+慎 > shèn; #614E
+慏 > mĭng; #614F
+慑 > shè; #6151
+慒 > cóng; #6152
+慓 > piào; #6153
+慔 > mò; #6154
+慕 > mù; #6155
+慖 > gúo; #6156
+慗 > chì; #6157
+慘 > căn; #6158
+慙 > cán; #6159
+慚 > cán; #615A
+慛 > cúi; #615B
+慜 > mĭn; #615C
+慝 > tè; #615D
+慞 > zhāng; #615E
+慟 > tòng; #615F
+慠 > ào; #6160
+慡 > shuăng; #6161
+慢 > màn; #6162
+慣 > guàn; #6163
+慤 > què; #6164
+慥 > zào; #6165
+慦 > jìu; #6166
+慧 > hùi; #6167
+慨 > kăi; #6168
+慩 > lián; #6169
+慪 > òu; #616A
+慫 > sŏng; #616B
+慬 > jĭn; #616C
+慭 > yìn; #616D
+慮 > lǜ; #616E
+慯 > shāng; #616F
+慰 > wèi; #6170
+慱 > tuán; #6171
+慲 > mán; #6172
+慳 > qiān; #6173
+慴 > shè; #6174
+慵 > yōng; #6175
+慶 > qìng; #6176
+慷 > kāng; #6177
+慸 > dì; #6178
+慹 > zhí; #6179
+慺 > lóu; #617A
+慻 > juàn; #617B
+慼 > qī; #617C
+慽 > qī; #617D
+慾 > yù; #617E
+慿 > píng; #617F
+憀 > liáo; #6180
+憁 > cōng; #6181
+憂 > yōu; #6182
+憃 > chōng; #6183
+憄 > zhì; #6184
+憅 > tòng; #6185
+憆 > chēng; #6186
+憇 > qì; #6187
+憈 > qū; #6188
+憉 > péng; #6189
+憊 > bèi; #618A
+憋 > biē; #618B
+憌 > chún; #618C
+憍 > jiāo; #618D
+憎 > zēng; #618E
+憏 > chì; #618F
+憐 > lián; #6190
+憑 > píng; #6191
+憒 > kùi; #6192
+憓 > hùi; #6193
+憔 > qiáo; #6194
+憕 > chéng; #6195
+憖 > yìn; #6196
+憗 > yìn; #6197
+憘 > xĭ; #6198
+憙 > xĭ; #6199
+憚 > dàn; #619A
+憛 > tán; #619B
+憜 > dŭo; #619C
+憝 > dùi; #619D
+憞 > dùi; #619E
+憟 > sù; #619F
+憠 > jué; #61A0
+憡 > cè; #61A1
+憢 > xiāo; #61A2
+憣 > fán; #61A3
+憤 > fèn; #61A4
+憥 > láo; #61A5
+憦 > lào; #61A6
+憧 > chōng; #61A7
+憨 > hān; #61A8
+憩 > qì; #61A9
+憪 > xián; #61AA
+憫 > mĭn; #61AB
+憬 > jĭng; #61AC
+憭 > liăo; #61AD
+憮 > wŭ; #61AE
+憯 > căn; #61AF
+憰 > jué; #61B0
+憱 > cù; #61B1
+憲 > xiàn; #61B2
+憳 > tăn; #61B3
+憴 > shéng; #61B4
+憵 > pī; #61B5
+憶 > yì; #61B6
+憷 > chŭ; #61B7
+憸 > xiān; #61B8
+憹 > náo; #61B9
+憺 > dàn; #61BA
+憻 > tăn; #61BB
+憼 > jĭng; #61BC
+憽 > sōng; #61BD
+憾 > hàn; #61BE
+憿 > jiāo; #61BF
+懀 > wài; #61C0
+懁 > huán; #61C1
+懂 > dŏng; #61C2
+懃 > qín; #61C3
+懄 > qín; #61C4
+懅 > qú; #61C5
+懆 > căo; #61C6
+懇 > kĕn; #61C7
+懈 > xiè; #61C8
+應 > yìng; #61C9
+懊 > ào; #61CA
+懋 > mào; #61CB
+懌 > yì; #61CC
+懍 > lĭn; #61CD
+懎 > sè; #61CE
+懏 > jùn; #61CF
+懐 > huái; #61D0
+懑 > mèn; #61D1
+懒 > lăn; #61D2
+懓 > ài; #61D3
+懔 > lĭn; #61D4
+懕 > yān; #61D5
+懖 > guā; #61D6
+懗 > xià; #61D7
+懘 > chì; #61D8
+懙 > yŭ; #61D9
+懚 > yìn; #61DA
+懛 > dāi; #61DB
+懜 > mèng; #61DC
+懝 > ài; #61DD
+懞 > méng; #61DE
+懟 > dùi; #61DF
+懠 > qí; #61E0
+懡 > mŏ; #61E1
+懢 > lán; #61E2
+懣 > mèn; #61E3
+懤 > chóu; #61E4
+懥 > zhì; #61E5
+懦 > nùo; #61E6
+懧 > nùo; #61E7
+懨 > yān; #61E8
+懩 > yăng; #61E9
+懪 > bó; #61EA
+懫 > zhí; #61EB
+懬 > kuàng; #61EC
+懭 > kuàng; #61ED
+懮 > yŏu; #61EE
+懯 > fū; #61EF
+懰 > líu; #61F0
+懱 > miè; #61F1
+懲 > chéng; #61F2
+懴 > chàn; #61F4
+懵 > méng; #61F5
+懶 > lăn; #61F6
+懷 > huái; #61F7
+懸 > xuán; #61F8
+懹 > ràng; #61F9
+懺 > chàn; #61FA
+懻 > jì; #61FB
+懼 > jù; #61FC
+懽 > huān; #61FD
+懾 > shè; #61FE
+懿 > yì; #61FF
+戀 > liàn; #6200
+戁 > năn; #6201
+戂 > mí; #6202
+戃 > tăng; #6203
+戄 > jué; #6204
+戅 > gàng; #6205
+戆 > gàng; #6206
+戇 > gàng; #6207
+戈 > gē; #6208
+戉 > yuè; #6209
+戊 > wù; #620A
+戋 > jiān; #620B
+戌 > xū; #620C
+戍 > shù; #620D
+戎 > róng; #620E
+戏 > xì; #620F
+成 > chéng; #6210
+我 > wŏ; #6211
+戒 > jiè; #6212
+戓 > gē; #6213
+戔 > jiān; #6214
+戕 > qiāng; #6215
+或 > hùo; #6216
+戗 > qiāng; #6217
+战 > zhàn; #6218
+戙 > dòng; #6219
+戚 > qī; #621A
+戛 > jiá; #621B
+戜 > dié; #621C
+戝 > zéi; #621D
+戞 > jiá; #621E
+戟 > jĭ; #621F
+戠 > shì; #6220
+戡 > kān; #6221
+戢 > jí; #6222
+戣 > kúi; #6223
+戤 > gài; #6224
+戥 > dĕng; #6225
+戦 > zhàn; #6226
+戧 > chuāng; #6227
+戨 > gē; #6228
+戩 > jiăn; #6229
+截 > jié; #622A
+戫 > yù; #622B
+戬 > jiăn; #622C
+戭 > yăn; #622D
+戮 > lù; #622E
+戯 > xì; #622F
+戰 > zhàn; #6230
+戱 > xì; #6231
+戲 > xì; #6232
+戳 > chūo; #6233
+戴 > dài; #6234
+戵 > qú; #6235
+戶 > hù; #6236
+户 > hù; #6237
+戸 > hù; #6238
+戹 > è; #6239
+戺 > shì; #623A
+戻 > lì; #623B
+戼 > măo; #623C
+戽 > hù; #623D
+戾 > lì; #623E
+房 > fáng; #623F
+所 > sŭo; #6240
+扁 > biăn; #6241
+扂 > diàn; #6242
+扃 > jīong; #6243
+扄 > shăng; #6244
+扅 > yí; #6245
+扆 > yĭ; #6246
+扇 > shàn; #6247
+扈 > hù; #6248
+扉 > fēi; #6249
+扊 > yăn; #624A
+手 > shŏu; #624B
+扌 > t̄' 'shŏu' 'páng; #624C
+才 > cái; #624D
+扎 > zhā; #624E
+扏 > qíu; #624F
+扐 > lè; #6250
+扑 > bū; #6251
+扒 > bā; #6252
+打 > dă; #6253
+扔 > rēng; #6254
+払 > fú; #6255
+扗 > zài; #6257
+托 > tūo; #6258
+扙 > zhàng; #6259
+扚 > diāo; #625A
+扛 > káng; #625B
+扜 > yū; #625C
+扝 > kū; #625D
+扞 > hàn; #625E
+扟 > shēn; #625F
+扠 > chā; #6260
+扡 > yĭ; #6261
+扢 > gŭ; #6262
+扣 > kòu; #6263
+扤 > wù; #6264
+扥 > tūo; #6265
+扦 > qiān; #6266
+执 > zhí; #6267
+扨 > rèn; #6268
+扩 > kùo; #6269
+扪 > mén; #626A
+扫 > săo; #626B
+扬 > yáng; #626C
+扭 > nĭu; #626D
+扮 > bàn; #626E
+扯 > chĕ; #626F
+扰 > răo; #6270
+扱 > xī; #6271
+扲 > qián; #6272
+扳 > bān; #6273
+扴 > jiá; #6274
+扵 > yú; #6275
+扶 > fú; #6276
+扷 > ào; #6277
+扸 > xī; #6278
+批 > pī; #6279
+扺 > zhĭ; #627A
+扻 > zì; #627B
+扼 > è; #627C
+扽 > dùn; #627D
+找 > zhăo; #627E
+承 > chéng; #627F
+技 > jì; #6280
+抁 > yăn; #6281
+抂 > kuáng; #6282
+抃 > biàn; #6283
+抄 > chāo; #6284
+抅 > jū; #6285
+抆 > wèn; #6286
+抇 > hú; #6287
+抈 > yuè; #6288
+抉 > jué; #6289
+把 > bă; #628A
+抋 > qìn; #628B
+抌 > zhĕn; #628C
+抍 > zhĕng; #628D
+抎 > yŭn; #628E
+抏 > wán; #628F
+抐 > nù; #6290
+抑 > yì; #6291
+抒 > shū; #6292
+抓 > zhuā; #6293
+抔 > póu; #6294
+投 > tóu; #6295
+抖 > dŏu; #6296
+抗 > kàng; #6297
+折 > zhé; #6298
+抙 > póu; #6299
+抚 > fŭ; #629A
+抛 > pāo; #629B
+抜 > bá; #629C
+抝 > ăo; #629D
+択 > zé; #629E
+抟 > tuán; #629F
+抠 > kōu; #62A0
+抡 > lún; #62A1
+抢 > qiăng; #62A2
+护 > hù; #62A4
+报 > bào; #62A5
+抦 > bĭng; #62A6
+抧 > zhĭ; #62A7
+抨 > pēng; #62A8
+抩 > tān; #62A9
+抪 > pū; #62AA
+披 > pī; #62AB
+抬 > tái; #62AC
+抭 > yăo; #62AD
+抮 > zhĕn; #62AE
+抯 > zhā; #62AF
+抰 > yăng; #62B0
+抱 > bào; #62B1
+抲 > hē; #62B2
+抳 > nĭ; #62B3
+抴 > yì; #62B4
+抵 > dĭ; #62B5
+抶 > chì; #62B6
+抷 > pī; #62B7
+抸 > zā; #62B8
+抹 > mŏ; #62B9
+抺 > mŏ; #62BA
+抻 > shèn; #62BB
+押 > yā; #62BC
+抽 > chōu; #62BD
+抾 > qū; #62BE
+抿 > mĭn; #62BF
+拀 > chù; #62C0
+拁 > jiā; #62C1
+拂 > fú; #62C2
+拃 > zhăn; #62C3
+拄 > zhŭ; #62C4
+担 > dàn; #62C5
+拆 > chāi; #62C6
+拇 > mŭ; #62C7
+拈 > nián; #62C8
+拉 > lā; #62C9
+拊 > fŭ; #62CA
+拋 > pāo; #62CB
+拌 > bàn; #62CC
+拍 > pāi; #62CD
+拎 > līng; #62CE
+拏 > ná; #62CF
+拐 > guăi; #62D0
+拑 > qián; #62D1
+拒 > jù; #62D2
+拓 > tùo; #62D3
+拔 > bá; #62D4
+拕 > tūo; #62D5
+拖 > tūo; #62D6
+拗 > ăo; #62D7
+拘 > jū; #62D8
+拙 > zhúo; #62D9
+拚 > pàn; #62DA
+招 > zhāo; #62DB
+拜 > bài; #62DC
+拝 > bài; #62DD
+拞 > dĭ; #62DE
+拟 > nĭ; #62DF
+拠 > jù; #62E0
+拡 > kùo; #62E1
+拢 > lŏng; #62E2
+拣 > jiăn; #62E3
+拥 > yŏng; #62E5
+拦 > lán; #62E6
+拧 > níng; #62E7
+拨 > bō; #62E8
+择 > zé; #62E9
+拪 > qiān; #62EA
+拫 > hén; #62EB
+括 > guā; #62EC
+拭 > shì; #62ED
+拮 > jié; #62EE
+拯 > zhĕng; #62EF
+拰 > nĭn; #62F0
+拱 > gŏng; #62F1
+拲 > gŏng; #62F2
+拳 > quán; #62F3
+拴 > shuān; #62F4
+拵 > cún; #62F5
+拶 > zăn; #62F6
+拷 > kăo; #62F7
+拸 > chĭ; #62F8
+拹 > xié; #62F9
+拺 > cè; #62FA
+拻 > hūi; #62FB
+拼 > pīn; #62FC
+拽 > zhuāi; #62FD
+拾 > shí; #62FE
+拿 > ná; #62FF
+挀 > bò; #6300
+持 > chí; #6301
+挂 > guà; #6302
+挃 > zhì; #6303
+挄 > kùo; #6304
+挅 > dŭo; #6305
+挆 > dŭo; #6306
+指 > zhĭ; #6307
+挈 > qiè; #6308
+按 > àn; #6309
+挊 > nòng; #630A
+挋 > zhèn; #630B
+挌 > gé; #630C
+挍 > jiào; #630D
+挎 > kū; #630E
+挏 > dòng; #630F
+挐 > rú; #6310
+挑 > tiāo; #6311
+挒 > liè; #6312
+挓 > zhā; #6313
+挔 > lǚ; #6314
+挕 > dié; #6315
+挖 > wā; #6316
+挗 > jué; #6317
+挙 > jŭ; #6319
+挚 > zhì; #631A
+挛 > luán; #631B
+挜 > yà; #631C
+挝 > zhuā; #631D
+挞 > tà; #631E
+挟 > xié; #631F
+挠 > náo; #6320
+挡 > dăng; #6321
+挢 > jiăo; #6322
+挣 > zhēng; #6323
+挤 > jĭ; #6324
+挥 > hūi; #6325
+挦 > xún; #6326
+挨 > āi; #6328
+挩 > tūo; #6329
+挪 > núo; #632A
+挫 > cùo; #632B
+挬 > bó; #632C
+挭 > gĕng; #632D
+挮 > tĭ; #632E
+振 > zhèn; #632F
+挰 > chéng; #6330
+挱 > sūo; #6331
+挲 > sūo; #6332
+挳 > kēng; #6333
+挴 > mĕi; #6334
+挵 > lòng; #6335
+挶 > jú; #6336
+挷 > péng; #6337
+挸 > jiăn; #6338
+挹 > yì; #6339
+挺 > tĭng; #633A
+挻 > shān; #633B
+挼 > nùo; #633C
+挽 > wăn; #633D
+挾 > xié; #633E
+挿 > chā; #633F
+捀 > fēng; #6340
+捁 > jiăo; #6341
+捂 > wŭ; #6342
+捃 > jùn; #6343
+捄 > jìu; #6344
+捅 > tŏng; #6345
+捆 > kŭn; #6346
+捇 > hùo; #6347
+捈 > tú; #6348
+捉 > zhūo; #6349
+捊 > póu; #634A
+捋 > lè; #634B
+捌 > bā; #634C
+捍 > hàn; #634D
+捎 > shāo; #634E
+捏 > niē; #634F
+捐 > juān; #6350
+捑 > zé; #6351
+捒 > sŏng; #6352
+捓 > yé; #6353
+捔 > jué; #6354
+捕 > bŭ; #6355
+捖 > huán; #6356
+捗 > bù; #6357
+捘 > zùn; #6358
+捙 > yì; #6359
+捚 > zhāi; #635A
+捛 > lǚ; #635B
+捜 > sōu; #635C
+捝 > tūo; #635D
+捞 > lāo; #635E
+损 > sŭn; #635F
+捠 > bāng; #6360
+捡 > jiăn; #6361
+换 > huàn; #6362
+捣 > dăo; #6363
+捥 > wàn; #6365
+捦 > qín; #6366
+捧 > pĕng; #6367
+捨 > shĕ; #6368
+捩 > liè; #6369
+捪 > mín; #636A
+捫 > mén; #636B
+捬 > fŭ; #636C
+捭 > băi; #636D
+据 > jù; #636E
+捯 > dăo; #636F
+捰 > wŏ; #6370
+捱 > ái; #6371
+捲 > juăn; #6372
+捳 > yuè; #6373
+捴 > zŏng; #6374
+捵 > chĕn; #6375
+捶 > chúi; #6376
+捷 > jié; #6377
+捸 > tū; #6378
+捹 > bèn; #6379
+捺 > nà; #637A
+捻 > niăn; #637B
+捼 > núo; #637C
+捽 > zú; #637D
+捾 > wò; #637E
+捿 > xī; #637F
+掀 > xiān; #6380
+掁 > chéng; #6381
+掂 > diān; #6382
+掃 > săo; #6383
+掄 > lún; #6384
+掅 > qìng; #6385
+掆 > gāng; #6386
+掇 > dúo; #6387
+授 > shòu; #6388
+掉 > diào; #6389
+掊 > póu; #638A
+掋 > dĭ; #638B
+掌 > zhăng; #638C
+掍 > gŭn; #638D
+掎 > jĭ; #638E
+掏 > tāo; #638F
+掐 > qiā; #6390
+掑 > qí; #6391
+排 > pái; #6392
+掓 > shú; #6393
+掔 > qiān; #6394
+掕 > lìng; #6395
+掖 > yì; #6396
+掗 > yà; #6397
+掘 > jué; #6398
+掙 > zhēng; #6399
+掚 > liăng; #639A
+掛 > guà; #639B
+掜 > yĭ; #639C
+掝 > hùo; #639D
+掞 > shàn; #639E
+掟 > zhĕng; #639F
+掠 > lǜe; #63A0
+採 > căi; #63A1
+探 > tàn; #63A2
+掣 > chè; #63A3
+掤 > bīng; #63A4
+接 > jiē; #63A5
+掦 > tì; #63A6
+控 > kòng; #63A7
+推 > tūi; #63A8
+掩 > yăn; #63A9
+措 > cùo; #63AA
+掫 > zōu; #63AB
+掬 > jú; #63AC
+掭 > tiàn; #63AD
+掮 > qián; #63AE
+掯 > kèn; #63AF
+掰 > bāi; #63B0
+掱 > shŏu; #63B1
+掲 > jiē; #63B2
+掳 > lŭ; #63B3
+掴 > gúo; #63B4
+掷 > zhí; #63B7
+掸 > dăn; #63B8
+掺 > xiān; #63BA
+掻 > sāo; #63BB
+掼 > guàn; #63BC
+掽 > pèng; #63BD
+掾 > yuàn; #63BE
+掿 > nùo; #63BF
+揀 > jiăn; #63C0
+揁 > zhēn; #63C1
+揂 > jīu; #63C2
+揃 > jiān; #63C3
+揄 > yú; #63C4
+揅 > yán; #63C5
+揆 > kúi; #63C6
+揇 > năn; #63C7
+揈 > hōng; #63C8
+揉 > róu; #63C9
+揊 > pì; #63CA
+揋 > wēi; #63CB
+揌 > sāi; #63CC
+揍 > zòu; #63CD
+揎 > xuān; #63CE
+描 > miáo; #63CF
+提 > tí; #63D0
+揑 > niē; #63D1
+插 > chā; #63D2
+揓 > shì; #63D3
+揔 > zŏng; #63D4
+揕 > zhèn; #63D5
+揖 > yī; #63D6
+揗 > shŭn; #63D7
+揘 > héng; #63D8
+揙 > biàn; #63D9
+揚 > yáng; #63DA
+換 > huàn; #63DB
+揜 > yăn; #63DC
+揝 > zuàn; #63DD
+揞 > ăn; #63DE
+揟 > xū; #63DF
+揠 > yà; #63E0
+握 > wò; #63E1
+揢 > kè; #63E2
+揣 > chuăi; #63E3
+揤 > jí; #63E4
+揥 > tì; #63E5
+揦 > lá; #63E6
+揧 > là; #63E7
+揨 > chéng; #63E8
+揩 > kāi; #63E9
+揪 > jīu; #63EA
+揫 > jīu; #63EB
+揬 > tú; #63EC
+揭 > jiē; #63ED
+揮 > hūi; #63EE
+揯 > gēng; #63EF
+揰 > chòng; #63F0
+揱 > shùo; #63F1
+揲 > shé; #63F2
+揳 > xiè; #63F3
+援 > yuán; #63F4
+揵 > qián; #63F5
+揶 > yé; #63F6
+揷 > chā; #63F7
+揸 > zhā; #63F8
+揹 > bēi; #63F9
+揺 > yáo; #63FA
+揽 > lăn; #63FD
+揾 > wèn; #63FE
+揿 > qìn; #63FF
+搀 > chān; #6400
+搁 > gē; #6401
+搂 > lŏu; #6402
+搃 > zŏng; #6403
+搄 > gēng; #6404
+搅 > jiăo; #6405
+搆 > gòu; #6406
+搇 > qìn; #6407
+搈 > yŏng; #6408
+搉 > què; #6409
+搊 > chōu; #640A
+搋 > chĭ; #640B
+搌 > zhăn; #640C
+損 > sŭn; #640D
+搎 > sūn; #640E
+搏 > bó; #640F
+搐 > chù; #6410
+搑 > rŏng; #6411
+搒 > bèng; #6412
+搓 > cūo; #6413
+搔 > sāo; #6414
+搕 > kè; #6415
+搖 > yáo; #6416
+搗 > dăo; #6417
+搘 > zhī; #6418
+搙 > nù; #6419
+搚 > xié; #641A
+搛 > jiān; #641B
+搜 > sōu; #641C
+搝 > qĭu; #641D
+搞 > găo; #641E
+搟 > xiăn; #641F
+搠 > shùo; #6420
+搡 > săng; #6421
+搢 > jìn; #6422
+搣 > miè; #6423
+搤 > è; #6424
+搥 > chúi; #6425
+搦 > nùo; #6426
+搧 > shān; #6427
+搨 > tà; #6428
+搩 > jié; #6429
+搪 > táng; #642A
+搫 > pán; #642B
+搬 > bān; #642C
+搭 > dā; #642D
+搮 > lì; #642E
+搯 > tāo; #642F
+搰 > hú; #6430
+搱 > zhì; #6431
+搲 > wā; #6432
+搳 > xiá; #6433
+搴 > qiān; #6434
+搵 > wèn; #6435
+搶 > qiăng; #6436
+搷 > tián; #6437
+搸 > zhēn; #6438
+搹 > è; #6439
+携 > xī; #643A
+搻 > nùo; #643B
+搼 > quán; #643C
+搽 > chá; #643D
+搾 > zhà; #643E
+搿 > gé; #643F
+摀 > wŭ; #6440
+摁 > èn; #6441
+摂 > shè; #6442
+摃 > káng; #6443
+摄 > shè; #6444
+摅 > shū; #6445
+摆 > băi; #6446
+摇 > yáo; #6447
+摈 > bìn; #6448
+摉 > sōu; #6449
+摊 > tān; #644A
+摋 > sà; #644B
+摌 > chăn; #644C
+摍 > sūo; #644D
+摎 > liáo; #644E
+摏 > chōng; #644F
+摐 > chuāng; #6450
+摑 > gúo; #6451
+摒 > bìng; #6452
+摓 > féng; #6453
+摔 > shuāi; #6454
+摕 > dì; #6455
+摖 > qì; #6456
+摗 > sou; #6457
+摘 > zhāi; #6458
+摙 > liăn; #6459
+摚 > táng; #645A
+摛 > chī; #645B
+摜 > guàn; #645C
+摝 > lù; #645D
+摞 > lúo; #645E
+摟 > lŏu; #645F
+摠 > zŏng; #6460
+摡 > gài; #6461
+摢 > hù; #6462
+摣 > zhā; #6463
+摤 > chuăng; #6464
+摥 > tàng; #6465
+摦 > huà; #6466
+摧 > cūi; #6467
+摨 > nái; #6468
+摩 > mó; #6469
+摪 > jiāng; #646A
+摫 > gūi; #646B
+摬 > yìng; #646C
+摭 > zhí; #646D
+摮 > áo; #646E
+摯 > zhì; #646F
+摰 > niè; #6470
+摱 > mán; #6471
+摲 > shàn; #6472
+摳 > kōu; #6473
+摴 > shū; #6474
+摵 > sŭo; #6475
+摶 > tuán; #6476
+摷 > jiăo; #6477
+摸 > mō; #6478
+摹 > mó; #6479
+摺 > zhé; #647A
+摻 > xiān; #647B
+摼 > kēng; #647C
+摽 > piăo; #647D
+摾 > jiàng; #647E
+摿 > yīn; #647F
+撀 > gòu; #6480
+撁 > qiān; #6481
+撂 > lǜe; #6482
+撃 > jí; #6483
+撄 > yīng; #6484
+撅 > juē; #6485
+撆 > piē; #6486
+撇 > piĕ; #6487
+撈 > lāo; #6488
+撉 > dūn; #6489
+撊 > xiàn; #648A
+撋 > ruán; #648B
+撌 > kùi; #648C
+撍 > zăn; #648D
+撎 > yì; #648E
+撏 > xún; #648F
+撐 > chēng; #6490
+撑 > chēng; #6491
+撒 > să; #6492
+撓 > náo; #6493
+撔 > hèng; #6494
+撕 > sī; #6495
+撖 > qiăn; #6496
+撗 > huáng; #6497
+撘 > dā; #6498
+撙 > zŭn; #6499
+撚 > niăn; #649A
+撛 > lĭn; #649B
+撜 > zhĕng; #649C
+撝 > hūi; #649D
+撞 > zhuàng; #649E
+撟 > jiăo; #649F
+撠 > jĭ; #64A0
+撡 > cāo; #64A1
+撢 > dăn; #64A2
+撣 > dăn; #64A3
+撤 > chè; #64A4
+撥 > bō; #64A5
+撦 > chĕ; #64A6
+撧 > jué; #64A7
+撨 > xiāo; #64A8
+撩 > liáo; #64A9
+撪 > bèn; #64AA
+撫 > fŭ; #64AB
+撬 > qiào; #64AC
+播 > bò; #64AD
+撮 > cūo; #64AE
+撯 > zhúo; #64AF
+撰 > zhuàn; #64B0
+撱 > tŭo; #64B1
+撲 > pū; #64B2
+撳 > qìn; #64B3
+撴 > dūn; #64B4
+撵 > niăn; #64B5
+撷 > xié; #64B7
+撸 > lŭ; #64B8
+撹 > jiăo; #64B9
+撺 > cuān; #64BA
+撻 > tà; #64BB
+撼 > hàn; #64BC
+撽 > qiào; #64BD
+撾 > zhuā; #64BE
+撿 > jiăn; #64BF
+擀 > găn; #64C0
+擁 > yŏng; #64C1
+擂 > léi; #64C2
+擃 > kŭo; #64C3
+擄 > lŭ; #64C4
+擅 > shàn; #64C5
+擆 > zhúo; #64C6
+擇 > zé; #64C7
+擈 > pū; #64C8
+擉 > chùo; #64C9
+擊 > jí; #64CA
+擋 > dăng; #64CB
+擌 > sŭo; #64CC
+操 > cāo; #64CD
+擎 > qíng; #64CE
+擏 > jìng; #64CF
+擐 > huàn; #64D0
+擑 > jiē; #64D1
+擒 > qín; #64D2
+擓 > kuăi; #64D3
+擔 > dān; #64D4
+擕 > xī; #64D5
+擖 > gĕ; #64D6
+擗 > pì; #64D7
+擘 > bò; #64D8
+擙 > ào; #64D9
+據 > jù; #64DA
+擛 > yè; #64DB
+擞 > sŏu; #64DE
+擟 > mí; #64DF
+擠 > jĭ; #64E0
+擡 > tái; #64E1
+擢 > zhúo; #64E2
+擣 > dăo; #64E3
+擤 > xĭng; #64E4
+擥 > lăn; #64E5
+擦 > cā; #64E6
+擧 > jŭ; #64E7
+擨 > yé; #64E8
+擩 > rŭ; #64E9
+擪 > yè; #64EA
+擫 > yè; #64EB
+擬 > nĭ; #64EC
+擭 > hù; #64ED
+擮 > jí; #64EE
+擯 > bìn; #64EF
+擰 > níng; #64F0
+擱 > gē; #64F1
+擲 > zhí; #64F2
+擳 > jié; #64F3
+擴 > kùo; #64F4
+擵 > mó; #64F5
+擶 > jiàn; #64F6
+擷 > xié; #64F7
+擸 > liè; #64F8
+擹 > tān; #64F9
+擺 > băi; #64FA
+擻 > sŏu; #64FB
+擼 > lŭ; #64FC
+擽 > lǜe; #64FD
+擾 > răo; #64FE
+擿 > zhí; #64FF
+攀 > pān; #6500
+攁 > yăng; #6501
+攂 > lèi; #6502
+攃 > sà; #6503
+攄 > shū; #6504
+攅 > zăn; #6505
+攆 > niăn; #6506
+攇 > xiăn; #6507
+攈 > jùn; #6508
+攉 > hùo; #6509
+攊 > lì; #650A
+攋 > là; #650B
+攌 > hàn; #650C
+攍 > yíng; #650D
+攎 > lú; #650E
+攏 > lŏng; #650F
+攐 > qiān; #6510
+攑 > qiān; #6511
+攒 > zăn; #6512
+攓 > qiān; #6513
+攔 > lán; #6514
+攕 > sān; #6515
+攖 > yīng; #6516
+攗 > méi; #6517
+攘 > ráng; #6518
+攙 > chān; #6519
+攛 > cuān; #651B
+攜 > xī; #651C
+攝 > shè; #651D
+攞 > lŭo; #651E
+攟 > jùn; #651F
+攠 > mí; #6520
+攡 > lí; #6521
+攢 > zăn; #6522
+攣 > lǘan; #6523
+攤 > tān; #6524
+攥 > zuàn; #6525
+攦 > lì; #6526
+攧 > diān; #6527
+攨 > wā; #6528
+攩 > dăng; #6529
+攪 > jiăo; #652A
+攫 > jué; #652B
+攬 > lăn; #652C
+攭 > lì; #652D
+攮 > năng; #652E
+支 > zhī; #652F
+攰 > gùi; #6530
+攱 > gŭi; #6531
+攲 > qī; #6532
+攳 > xín; #6533
+攴 > pū; #6534
+攵 > sūi; #6535
+收 > shōu; #6536
+攷 > káo; #6537
+攸 > yōu; #6538
+改 > găi; #6539
+攺 > yĭ; #653A
+攻 > gōng; #653B
+攼 > gān; #653C
+攽 > bān; #653D
+放 > fàng; #653E
+政 > zhèng; #653F
+敀 > bó; #6540
+敁 > diān; #6541
+敂 > kòu; #6542
+敃 > mĭn; #6543
+敄 > wù; #6544
+故 > gù; #6545
+敆 > hé; #6546
+敇 > cè; #6547
+效 > xiào; #6548
+敉 > mĭ; #6549
+敊 > chù; #654A
+敋 > gé; #654B
+敌 > dí; #654C
+敍 > xù; #654D
+敎 > jiào; #654E
+敏 > mĭn; #654F
+敐 > chén; #6550
+救 > jìu; #6551
+敒 > zhèn; #6552
+敓 > dúo; #6553
+敔 > yŭ; #6554
+敕 > chì; #6555
+敖 > áo; #6556
+敗 > bài; #6557
+敘 > xù; #6558
+教 > jiào; #6559
+敚 > dúo; #655A
+敛 > liàn; #655B
+敜 > niè; #655C
+敝 > bì; #655D
+敞 > chăng; #655E
+敟 > diăn; #655F
+敠 > dúo; #6560
+敡 > yì; #6561
+敢 > găn; #6562
+散 > sàn; #6563
+敤 > kĕ; #6564
+敥 > yàn; #6565
+敦 > dūn; #6566
+敧 > qĭ; #6567
+敨 > dŏu; #6568
+敩 > xiào; #6569
+敪 > dúo; #656A
+敫 > jiào; #656B
+敬 > jìng; #656C
+敭 > yáng; #656D
+敮 > xiá; #656E
+敯 > mín; #656F
+数 > shù; #6570
+敱 > ái; #6571
+敲 > qiāo; #6572
+敳 > ái; #6573
+整 > zhĕng; #6574
+敵 > dí; #6575
+敶 > zhèn; #6576
+敷 > fū; #6577
+數 > shù; #6578
+敹 > liáo; #6579
+敺 > qū; #657A
+敻 > xìong; #657B
+敼 > xĭ; #657C
+敽 > jiăo; #657D
+敿 > jiăo; #657F
+斀 > zhúo; #6580
+斁 > yì; #6581
+斂 > liàn; #6582
+斃 > bì; #6583
+斄 > lì; #6584
+斅 > xiào; #6585
+斆 > xiào; #6586
+文 > wén; #6587
+斈 > xué; #6588
+斉 > qí; #6589
+斊 > qí; #658A
+斋 > zhāi; #658B
+斌 > bīn; #658C
+斍 > jué; #658D
+斎 > zhāi; #658E
+斐 > fĕi; #6590
+斑 > bān; #6591
+斒 > bān; #6592
+斓 > lán; #6593
+斔 > yŭ; #6594
+斕 > lán; #6595
+斖 > wĕi; #6596
+斗 > dŏu; #6597
+斘 > shēng; #6598
+料 > liào; #6599
+斚 > jiă; #659A
+斛 > hú; #659B
+斜 > xié; #659C
+斝 > jiă; #659D
+斞 > yŭ; #659E
+斟 > zhēn; #659F
+斠 > jiào; #65A0
+斡 > wò; #65A1
+斢 > tŏu; #65A2
+斣 > chù; #65A3
+斤 > jīn; #65A4
+斥 > chì; #65A5
+斦 > yín; #65A6
+斧 > fŭ; #65A7
+斨 > qiāng; #65A8
+斩 > zhăn; #65A9
+斪 > qú; #65AA
+斫 > zhúo; #65AB
+斬 > zhăn; #65AC
+断 > duàn; #65AD
+斮 > zhúo; #65AE
+斯 > sī; #65AF
+新 > xīn; #65B0
+斱 > zhúo; #65B1
+斲 > zhúo; #65B2
+斳 > qín; #65B3
+斴 > lín; #65B4
+斵 > zhúo; #65B5
+斶 > chù; #65B6
+斷 > duàn; #65B7
+斸 > zhŭ; #65B8
+方 > fāng; #65B9
+斺 > xiè; #65BA
+斻 > háng; #65BB
+於 > yú; #65BC
+施 > shī; #65BD
+斾 > pèi; #65BE
+斿 > yóu; #65BF
+旁 > páng; #65C1
+旂 > qí; #65C2
+旃 > zhān; #65C3
+旄 > máo; #65C4
+旅 > lǚ; #65C5
+旆 > pèi; #65C6
+旇 > pī; #65C7
+旈 > líu; #65C8
+旉 > fū; #65C9
+旊 > făng; #65CA
+旋 > xuán; #65CB
+旌 > jīng; #65CC
+旍 > jīng; #65CD
+旎 > nĭ; #65CE
+族 > zú; #65CF
+旐 > zhào; #65D0
+旑 > yĭ; #65D1
+旒 > líu; #65D2
+旓 > shāo; #65D3
+旔 > jiàn; #65D4
+旖 > yĭ; #65D6
+旗 > qí; #65D7
+旘 > zhì; #65D8
+旙 > fān; #65D9
+旚 > piāo; #65DA
+旛 > fān; #65DB
+旜 > zhān; #65DC
+旝 > guài; #65DD
+旞 > sùi; #65DE
+旟 > yú; #65DF
+无 > wú; #65E0
+旡 > jì; #65E1
+既 > jì; #65E2
+旣 > jì; #65E3
+旤 > hùo; #65E4
+日 > rì; #65E5
+旦 > dàn; #65E6
+旧 > jìu; #65E7
+旨 > zhĭ; #65E8
+早 > zăo; #65E9
+旪 > xié; #65EA
+旫 > tiāo; #65EB
+旬 > xún; #65EC
+旭 > xù; #65ED
+旮 > xù; #65EE
+旯 > xù; #65EF
+旰 > gàn; #65F0
+旱 > hàn; #65F1
+旲 > tái; #65F2
+旳 > dì; #65F3
+旴 > xū; #65F4
+旵 > chăn; #65F5
+时 > shí; #65F6
+旷 > kuàng; #65F7
+旸 > yáng; #65F8
+旹 > shí; #65F9
+旺 > wàng; #65FA
+旻 > mín; #65FB
+旼 > mín; #65FC
+旽 > tūn; #65FD
+旾 > chūn; #65FE
+旿 > wŭ; #65FF
+昀 > yún; #6600
+昁 > bèi; #6601
+昂 > áng; #6602
+昃 > zè; #6603
+昄 > băn; #6604
+昅 > jié; #6605
+昆 > kūn; #6606
+昇 > shēng; #6607
+昈 > hù; #6608
+昉 > făng; #6609
+昊 > hào; #660A
+昋 > gùi; #660B
+昌 > chāng; #660C
+昍 > xuān; #660D
+明 > míng; #660E
+昏 > hūn; #660F
+昐 > fēn; #6610
+昑 > qĭn; #6611
+昒 > hū; #6612
+易 > yì; #6613
+昔 > xí; #6614
+昕 > xīn; #6615
+昖 > yán; #6616
+昗 > zè; #6617
+昘 > făng; #6618
+昙 > tán; #6619
+昚 > shèn; #661A
+昛 > jù; #661B
+昜 > yáng; #661C
+昝 > zăn; #661D
+昞 > bĭng; #661E
+星 > xīng; #661F
+映 > yìng; #6620
+昡 > xuàn; #6621
+昢 > pĕi; #6622
+昣 > zhĕn; #6623
+昤 > līng; #6624
+春 > chūn; #6625
+昦 > hào; #6626
+昧 > mèi; #6627
+昨 > zúo; #6628
+昩 > mò; #6629
+昪 > biàn; #662A
+昫 > xŭ; #662B
+昬 > hūn; #662C
+昭 > zhāo; #662D
+昮 > zòng; #662E
+是 > shì; #662F
+昰 > shì; #6630
+昱 > yù; #6631
+昲 > fèi; #6632
+昳 > dié; #6633
+昴 > măo; #6634
+昵 > nì; #6635
+昶 > chăng; #6636
+昷 > wēn; #6637
+昸 > dōng; #6638
+昹 > ăi; #6639
+昺 > bĭng; #663A
+昻 > áng; #663B
+昼 > zhòu; #663C
+昽 > lóng; #663D
+显 > xiăn; #663E
+昿 > kuàng; #663F
+晀 > tiăo; #6640
+晁 > cháo; #6641
+時 > shí; #6642
+晃 > huăng; #6643
+晄 > huăng; #6644
+晅 > xuān; #6645
+晆 > kúi; #6646
+晇 > xū; #6647
+晈 > jiăo; #6648
+晉 > jìn; #6649
+晊 > zhĭ; #664A
+晋 > jìn; #664B
+晌 > shăng; #664C
+晍 > tóng; #664D
+晎 > hŏng; #664E
+晏 > yàn; #664F
+晐 > gāi; #6650
+晑 > xiăng; #6651
+晒 > shài; #6652
+晓 > xiăo; #6653
+晔 > yē; #6654
+晕 > yūn; #6655
+晖 > hūi; #6656
+晗 > hán; #6657
+晘 > hàn; #6658
+晙 > jùn; #6659
+晚 > wăn; #665A
+晛 > xiàn; #665B
+晜 > kūn; #665C
+晝 > zhòu; #665D
+晞 > xī; #665E
+晟 > chéng; #665F
+晠 > shéng; #6660
+晡 > bū; #6661
+晢 > zhē; #6662
+晣 > zhē; #6663
+晤 > wù; #6664
+晥 > hàn; #6665
+晦 > hùi; #6666
+晧 > hào; #6667
+晨 > chén; #6668
+晩 > wăn; #6669
+晪 > tiăn; #666A
+晫 > zhúo; #666B
+晬 > zùi; #666C
+晭 > zhŏu; #666D
+普 > pŭ; #666E
+景 > jĭng; #666F
+晰 > xī; #6670
+晱 > shăn; #6671
+晲 > yĭ; #6672
+晳 > xì; #6673
+晴 > qíng; #6674
+晵 > qĭ; #6675
+晶 > jīng; #6676
+晷 > gŭi; #6677
+晸 > zhĕn; #6678
+晹 > yì; #6679
+智 > zhì; #667A
+晻 > ăn; #667B
+晼 > wăn; #667C
+晽 > lín; #667D
+晾 > liàng; #667E
+晿 > chāng; #667F
+暀 > wăng; #6680
+暁 > xiăo; #6681
+暂 > zàn; #6682
+暄 > xuān; #6684
+暅 > xuăn; #6685
+暆 > yí; #6686
+暇 > xiá; #6687
+暈 > yūn; #6688
+暉 > hūi; #6689
+暊 > fŭ; #668A
+暋 > mĭn; #668B
+暌 > kúi; #668C
+暍 > hè; #668D
+暎 > yìng; #668E
+暏 > dŭ; #668F
+暐 > wĕi; #6690
+暑 > shŭ; #6691
+暒 > qíng; #6692
+暓 > mào; #6693
+暔 > nán; #6694
+暕 > jiăn; #6695
+暖 > nuăn; #6696
+暗 > àn; #6697
+暘 > yáng; #6698
+暙 > chūn; #6699
+暚 > yáo; #669A
+暛 > sŭo; #669B
+暜 > jìn; #669C
+暝 > míng; #669D
+暞 > jiăo; #669E
+暟 > kăi; #669F
+暠 > găo; #66A0
+暡 > wĕng; #66A1
+暢 > chàng; #66A2
+暣 > qì; #66A3
+暤 > hào; #66A4
+暥 > yàn; #66A5
+暦 > lì; #66A6
+暧 > ài; #66A7
+暨 > jì; #66A8
+暩 > gùi; #66A9
+暪 > mĕn; #66AA
+暫 > zàn; #66AB
+暬 > xiè; #66AC
+暭 > hào; #66AD
+暮 > mù; #66AE
+暯 > mò; #66AF
+暰 > cōng; #66B0
+暱 > nì; #66B1
+暲 > zhāng; #66B2
+暳 > hùi; #66B3
+暴 > bào; #66B4
+暵 > hàn; #66B5
+暶 > xuán; #66B6
+暷 > chuán; #66B7
+暸 > liáo; #66B8
+暹 > xiān; #66B9
+暺 > dàn; #66BA
+暻 > jĭng; #66BB
+暼 > piē; #66BC
+暽 > lín; #66BD
+暾 > tūn; #66BE
+暿 > xĭ; #66BF
+曀 > yì; #66C0
+曁 > jì; #66C1
+曂 > huàng; #66C2
+曃 > tài; #66C3
+曄 > yè; #66C4
+曅 > yè; #66C5
+曆 > lì; #66C6
+曇 > tán; #66C7
+曈 > tóng; #66C8
+曉 > xiăo; #66C9
+曊 > fèi; #66CA
+曋 > qĭn; #66CB
+曌 > zhào; #66CC
+曍 > hào; #66CD
+曎 > yì; #66CE
+曏 > xiàng; #66CF
+曐 > xīng; #66D0
+曑 > sēn; #66D1
+曒 > jiăo; #66D2
+曓 > bào; #66D3
+曔 > jìng; #66D4
+曕 > yiàn; #66D5
+曖 > ài; #66D6
+曗 > yè; #66D7
+曘 > rú; #66D8
+曙 > shù; #66D9
+曚 > méng; #66DA
+曛 > xūn; #66DB
+曜 > yào; #66DC
+曝 > pù; #66DD
+曞 > lì; #66DE
+曟 > chén; #66DF
+曠 > kuàng; #66E0
+曡 > dié; #66E1
+曣 > yàn; #66E3
+曤 > hùo; #66E4
+曥 > lú; #66E5
+曦 > xī; #66E6
+曧 > róng; #66E7
+曨 > lóng; #66E8
+曩 > năng; #66E9
+曪 > lŭo; #66EA
+曫 > luán; #66EB
+曬 > shài; #66EC
+曭 > tăng; #66ED
+曮 > yăn; #66EE
+曯 > chú; #66EF
+曰 > yuē; #66F0
+曱 > yuē; #66F1
+曲 > qŭ; #66F2
+曳 > yì; #66F3
+更 > gèng; #66F4
+曵 > yè; #66F5
+曶 > hū; #66F6
+曷 > hé; #66F7
+書 > shū; #66F8
+曹 > cáo; #66F9
+曺 > cáo; #66FA
+曼 > màn; #66FC
+曽 > cēng; #66FD
+曾 > céng; #66FE
+替 > tì; #66FF
+最 > zùi; #6700
+朁 > căn; #6701
+朂 > xù; #6702
+會 > hùi; #6703
+朄 > yìn; #6704
+朅 > qiè; #6705
+朆 > fēn; #6706
+朇 > pí; #6707
+月 > yuè; #6708
+有 > yŏu; #6709
+朊 > ruăn; #670A
+朋 > péng; #670B
+朌 > bān; #670C
+服 > fú; #670D
+朎 > líng; #670E
+朏 > fĕi; #670F
+朐 > qú; #6710
+朒 > nǜ; #6712
+朓 > tiào; #6713
+朔 > shùo; #6714
+朕 > zhèn; #6715
+朖 > lăng; #6716
+朗 > lăng; #6717
+朘 > juān; #6718
+朙 > míng; #6719
+朚 > huāng; #671A
+望 > wàng; #671B
+朜 > tūn; #671C
+朝 > zhāo; #671D
+朞 > jī; #671E
+期 > qí; #671F
+朠 > yīng; #6720
+朡 > zōng; #6721
+朢 > wàng; #6722
+朣 > tóng; #6723
+朤 > lăng; #6724
+朦 > méng; #6726
+朧 > lóng; #6727
+木 > mù; #6728
+朩 > dĕng; #6729
+未 > wèi; #672A
+末 > mò; #672B
+本 > bĕn; #672C
+札 > zhá; #672D
+朮 > zhú; #672E
+术 > zhú; #672F
+朱 > zhū; #6731
+朲 > rén; #6732
+朳 > bā; #6733
+朴 > pò; #6734
+朵 > dŭo; #6735
+朶 > dŭo; #6736
+朷 > dāo; #6737
+朸 > lì; #6738
+朹 > qíu; #6739
+机 > jī; #673A
+朻 > jīu; #673B
+朼 > bĭ; #673C
+朽 > xĭu; #673D
+朾 > tíng; #673E
+朿 > cì; #673F
+杀 > shā; #6740
+杂 > zá; #6742
+权 > quán; #6743
+杄 > qiān; #6744
+杅 > yú; #6745
+杆 > gān; #6746
+杇 > wū; #6747
+杈 > chā; #6748
+杉 > shān; #6749
+杊 > xún; #674A
+杋 > fān; #674B
+杌 > wù; #674C
+杍 > zĭ; #674D
+李 > lĭ; #674E
+杏 > xìng; #674F
+材 > cái; #6750
+村 > cūn; #6751
+杒 > rèn; #6752
+杓 > sháo; #6753
+杔 > tūo; #6754
+杕 > dì; #6755
+杖 > zhàng; #6756
+杗 > máng; #6757
+杘 > chì; #6758
+杙 > yì; #6759
+杚 > gŭ; #675A
+杛 > gōng; #675B
+杜 > dù; #675C
+杝 > yí; #675D
+杞 > qĭ; #675E
+束 > shù; #675F
+杠 > gāng; #6760
+条 > tiáo; #6761
+来 > lái; #6765
+杧 > máng; #6767
+杨 > yáng; #6768
+杩 > mà; #6769
+杪 > miăo; #676A
+杫 > sì; #676B
+杬 > yuán; #676C
+杭 > háng; #676D
+杮 > fèi; #676E
+杯 > bēi; #676F
+杰 > jié; #6770
+東 > dōng; #6771
+杲 > găo; #6772
+杳 > yăo; #6773
+杴 > xiān; #6774
+杵 > chŭ; #6775
+杶 > qūn; #6776
+杷 > pá; #6777
+杸 > shū; #6778
+杹 > huà; #6779
+杺 > xīn; #677A
+杻 > chŏu; #677B
+杼 > zhù; #677C
+杽 > chŏu; #677D
+松 > sōng; #677E
+板 > băn; #677F
+枀 > sōng; #6780
+极 > jí; #6781
+枂 > yuè; #6782
+枃 > jìn; #6783
+构 > gōu; #6784
+枅 > jī; #6785
+枆 > máo; #6786
+枇 > pí; #6787
+枈 > bì; #6788
+枉 > wăng; #6789
+枊 > àng; #678A
+枋 > fāng; #678B
+枌 > fén; #678C
+枍 > yì; #678D
+枎 > fú; #678E
+枏 > nán; #678F
+析 > xī; #6790
+枑 > hù; #6791
+枒 > yá; #6792
+枓 > dŏu; #6793
+枔 > xún; #6794
+枕 > zhĕn; #6795
+枖 > yāo; #6796
+林 > lín; #6797
+枘 > rùi; #6798
+枙 > é; #6799
+枚 > méi; #679A
+枛 > zhào; #679B
+果 > gŭo; #679C
+枝 > zhī; #679D
+枞 > cōng; #679E
+枟 > yùn; #679F
+枡 > dŏu; #67A1
+枢 > shū; #67A2
+枣 > zăo; #67A3
+枥 > lì; #67A5
+枧 > jiàn; #67A7
+枨 > chéng; #67A8
+枪 > qiāng; #67AA
+枫 > fēng; #67AB
+枬 > nán; #67AC
+枭 > xiāo; #67AD
+枮 > xiān; #67AE
+枯 > kū; #67AF
+枰 > píng; #67B0
+枱 > yí; #67B1
+枲 > xĭ; #67B2
+枳 > zhī; #67B3
+枴 > guăi; #67B4
+枵 > xiāo; #67B5
+架 > jià; #67B6
+枷 > jiā; #67B7
+枸 > gŏu; #67B8
+枹 > fū; #67B9
+枺 > mò; #67BA
+枻 > yì; #67BB
+枼 > yè; #67BC
+枽 > yè; #67BD
+枾 > shì; #67BE
+枿 > niè; #67BF
+柀 > bĭ; #67C0
+柁 > dùo; #67C1
+柂 > yí; #67C2
+柃 > líng; #67C3
+柄 > bĭng; #67C4
+柅 > nĭ; #67C5
+柆 > lā; #67C6
+柇 > hé; #67C7
+柈 > pán; #67C8
+柉 > fán; #67C9
+柊 > zhōng; #67CA
+柋 > dài; #67CB
+柌 > cí; #67CC
+柍 > yāng; #67CD
+柎 > fū; #67CE
+柏 > bó; #67CF
+某 > mŏu; #67D0
+柑 > gān; #67D1
+柒 > qī; #67D2
+染 > răn; #67D3
+柔 > róu; #67D4
+柕 > mào; #67D5
+柖 > zhāo; #67D6
+柗 > sōng; #67D7
+柘 > zhè; #67D8
+柙 > xiá; #67D9
+柚 > yòu; #67DA
+柛 > shēn; #67DB
+柜 > jŭ; #67DC
+柝 > tùo; #67DD
+柞 > zùo; #67DE
+柟 > nán; #67DF
+柠 > níng; #67E0
+柡 > yŏng; #67E1
+柢 > dĭ; #67E2
+柣 > zhí; #67E3
+柤 > zhā; #67E4
+查 > chá; #67E5
+柦 > dàn; #67E6
+柧 > gū; #67E7
+柨 > pu; #67E8
+柩 > jìu; #67E9
+柪 > āo; #67EA
+柫 > fú; #67EB
+柬 > jiăn; #67EC
+柭 > bō; #67ED
+柮 > dùo; #67EE
+柯 > kē; #67EF
+柰 > nài; #67F0
+柱 > zhù; #67F1
+柲 > bì; #67F2
+柳 > lĭu; #67F3
+柴 > chái; #67F4
+柵 > zhà; #67F5
+柶 > sì; #67F6
+柷 > zhù; #67F7
+柸 > pēi; #67F8
+柹 > shì; #67F9
+柺 > guăi; #67FA
+査 > chá; #67FB
+柼 > yăo; #67FC
+柽 > jué; #67FD
+柾 > jìu; #67FE
+柿 > shì; #67FF
+栀 > zhī; #6800
+栁 > lĭu; #6801
+栂 > méi; #6802
+栄 > róng; #6804
+栅 > zhà; #6805
+标 > biāo; #6807
+栈 > zhàn; #6808
+栉 > jié; #6809
+栊 > lóng; #680A
+栋 > dòng; #680B
+栌 > lú; #680C
+栎 > lì; #680E
+栏 > lán; #680F
+栐 > yŏng; #6810
+树 > shù; #6811
+栒 > xún; #6812
+栓 > shuān; #6813
+栔 > qì; #6814
+栕 > zhēn; #6815
+栖 > qī; #6816
+栗 > lì; #6817
+栘 > yĭ; #6818
+栙 > xiáng; #6819
+栚 > zhèn; #681A
+栛 > lì; #681B
+栜 > sù; #681C
+栝 > guā; #681D
+栞 > kān; #681E
+栟 > bīng; #681F
+栠 > rĕn; #6820
+校 > xiào; #6821
+栢 > bó; #6822
+栣 > rĕn; #6823
+栤 > bìng; #6824
+栥 > zī; #6825
+栦 > chóu; #6826
+栧 > yì; #6827
+栨 > jié; #6828
+栩 > xŭ; #6829
+株 > zhū; #682A
+栫 > jiàn; #682B
+栬 > zùi; #682C
+栭 > ér; #682D
+栮 > ĕr; #682E
+栯 > yŏu; #682F
+栰 > fá; #6830
+栱 > gŏng; #6831
+栲 > kăo; #6832
+栳 > lăo; #6833
+栴 > zhān; #6834
+栵 > lì; #6835
+栶 > yin; #6836
+样 > yáng; #6837
+核 > hé; #6838
+根 > gēn; #6839
+栺 > zhĭ; #683A
+栻 > chì; #683B
+格 > gé; #683C
+栽 > zāi; #683D
+栾 > luán; #683E
+栿 > fú; #683F
+桀 > jié; #6840
+桁 > háng; #6841
+桂 > gùi; #6842
+桃 > táo; #6843
+桄 > guàng; #6844
+桅 > wéi; #6845
+框 > kuàng; #6846
+桇 > rú; #6847
+案 > àn; #6848
+桉 > àn; #6849
+桊 > juàn; #684A
+桋 > yí; #684B
+桌 > zhūo; #684C
+桍 > kū; #684D
+桎 > zhí; #684E
+桏 > qíong; #684F
+桐 > tóng; #6850
+桑 > sāng; #6851
+桒 > sāng; #6852
+桓 > huán; #6853
+桔 > jié; #6854
+桕 > jìu; #6855
+桖 > xuè; #6856
+桗 > dùo; #6857
+桘 > zhùi; #6858
+桙 > yú; #6859
+桚 > zăn; #685A
+桜 > yīng; #685C
+桟 > zhàn; #685F
+桠 > yá; #6860
+桡 > náo; #6861
+桢 > zhēn; #6862
+档 > dăng; #6863
+桤 > qī; #6864
+桥 > qiáo; #6865
+桦 > huà; #6866
+桧 > kuài; #6867
+桨 > jiăng; #6868
+桩 > zhuāng; #6869
+桪 > xún; #686A
+桫 > sūo; #686B
+桬 > shā; #686C
+桭 > zhēn; #686D
+桮 > bēi; #686E
+桯 > tīng; #686F
+桰 > guā; #6870
+桱 > jìng; #6871
+桲 > bó; #6872
+桳 > bèn; #6873
+桴 > fú; #6874
+桵 > rŭi; #6875
+桶 > tŏng; #6876
+桷 > jué; #6877
+桸 > xī; #6878
+桹 > láng; #6879
+桺 > lĭu; #687A
+桻 > fēng; #687B
+桼 > qī; #687C
+桽 > wĕn; #687D
+桾 > jūn; #687E
+桿 > găn; #687F
+梀 > cù; #6880
+梁 > liáng; #6881
+梂 > qíu; #6882
+梃 > tĭng; #6883
+梄 > yŏu; #6884
+梅 > méi; #6885
+梆 > bāng; #6886
+梇 > lòng; #6887
+梈 > pēng; #6888
+梉 > zhuāng; #6889
+梊 > dì; #688A
+梋 > xuān; #688B
+梌 > tú; #688C
+梍 > zào; #688D
+梎 > āo; #688E
+梏 > gù; #688F
+梐 > bì; #6890
+梑 > dí; #6891
+梒 > hán; #6892
+梓 > zĭ; #6893
+梔 > zhī; #6894
+梕 > rèn; #6895
+梖 > bèi; #6896
+梗 > gĕng; #6897
+梘 > jiàn; #6898
+梙 > huàn; #6899
+梚 > wăn; #689A
+梛 > núo; #689B
+梜 > jiá; #689C
+條 > tiáo; #689D
+梞 > jì; #689E
+梟 > xiāo; #689F
+梠 > lǚ; #68A0
+梡 > huán; #68A1
+梢 > shāo; #68A2
+梣 > cén; #68A3
+梤 > fén; #68A4
+梥 > sōng; #68A5
+梦 > mèng; #68A6
+梧 > wú; #68A7
+梨 > lí; #68A8
+梩 > lí; #68A9
+梪 > dòu; #68AA
+梫 > cēn; #68AB
+梬 > yĭng; #68AC
+梭 > sūo; #68AD
+梮 > jú; #68AE
+梯 > tī; #68AF
+械 > jiè; #68B0
+梱 > kŭn; #68B1
+梲 > zhúo; #68B2
+梳 > shū; #68B3
+梴 > chān; #68B4
+梵 > fàn; #68B5
+梶 > wĕi; #68B6
+梷 > jìng; #68B7
+梸 > lí; #68B8
+梹 > bīng; #68B9
+梼 > táo; #68BC
+梽 > zhì; #68BD
+梾 > lái; #68BE
+梿 > lián; #68BF
+检 > jiăn; #68C0
+棁 > zhúo; #68C1
+棂 > líng; #68C2
+棃 > lí; #68C3
+棄 > qì; #68C4
+棅 > bìng; #68C5
+棆 > zhūn; #68C6
+棇 > cōng; #68C7
+棈 > qiàn; #68C8
+棉 > mián; #68C9
+棊 > qí; #68CA
+棋 > qí; #68CB
+棌 > căi; #68CC
+棍 > gùn; #68CD
+棎 > chán; #68CE
+棏 > tè; #68CF
+棐 > fĕi; #68D0
+棑 > pái; #68D1
+棒 > bàng; #68D2
+棓 > pŏu; #68D3
+棔 > hūn; #68D4
+棕 > zōng; #68D5
+棖 > chéng; #68D6
+棗 > zăo; #68D7
+棘 > jí; #68D8
+棙 > lì; #68D9
+棚 > péng; #68DA
+棛 > yù; #68DB
+棜 > yù; #68DC
+棝 > gù; #68DD
+棞 > hún; #68DE
+棟 > dòng; #68DF
+棠 > táng; #68E0
+棡 > gāng; #68E1
+棢 > wăng; #68E2
+棣 > dì; #68E3
+棤 > xí; #68E4
+棥 > fán; #68E5
+棦 > chēng; #68E6
+棧 > zhàn; #68E7
+棨 > qĭ; #68E8
+棩 > yuān; #68E9
+棪 > yăn; #68EA
+棫 > yù; #68EB
+棬 > quān; #68EC
+棭 > yì; #68ED
+森 > sēn; #68EE
+棯 > rĕn; #68EF
+棰 > chúi; #68F0
+棱 > léng; #68F1
+棲 > qī; #68F2
+棳 > zhúo; #68F3
+棴 > fú; #68F4
+棵 > kē; #68F5
+棶 > lái; #68F6
+棷 > zōu; #68F7
+棸 > zōu; #68F8
+棹 > zhūo; #68F9
+棺 > guān; #68FA
+棻 > fén; #68FB
+棼 > fén; #68FC
+棽 > chēn; #68FD
+棾 > qíong; #68FE
+棿 > niè; #68FF
+椀 > wăn; #6900
+椁 > gŭo; #6901
+椂 > lù; #6902
+椃 > háo; #6903
+椄 > jiē; #6904
+椅 > yĭ; #6905
+椆 > chóu; #6906
+椇 > jŭ; #6907
+椈 > jú; #6908
+椉 > chéng; #6909
+椊 > zúo; #690A
+椋 > liáng; #690B
+椌 > qiāng; #690C
+植 > zhí; #690D
+椎 > zhūi; #690E
+椏 > yā; #690F
+椐 > jū; #6910
+椑 > bēi; #6911
+椒 > jiāo; #6912
+椓 > zhúo; #6913
+椔 > zī; #6914
+椕 > bīn; #6915
+椖 > péng; #6916
+椗 > dìng; #6917
+椘 > chŭ; #6918
+検 > jiăn; #691C
+椝 > gūi; #691D
+椞 > xì; #691E
+椟 > dú; #691F
+椠 > qiàn; #6920
+椤 > lúo; #6924
+椥 > zhī; #6925
+椪 > pèng; #692A
+椫 > zhăn; #692B
+椭 > tŭo; #692D
+椮 > sēn; #692E
+椯 > dúo; #692F
+椰 > yé; #6930
+椱 > fòu; #6931
+椲 > wĕi; #6932
+椳 > wēi; #6933
+椴 > duàn; #6934
+椵 > jiă; #6935
+椶 > zōng; #6936
+椷 > jiān; #6937
+椸 > yí; #6938
+椹 > shèn; #6939
+椺 > xí; #693A
+椻 > yàn; #693B
+椼 > yăn; #693C
+椽 > chuán; #693D
+椾 > zhàn; #693E
+椿 > chūn; #693F
+楀 > yŭ; #6940
+楁 > hé; #6941
+楂 > zhā; #6942
+楃 > wò; #6943
+楄 > pián; #6944
+楅 > bì; #6945
+楆 > yāo; #6946
+楇 > hùo; #6947
+楈 > xū; #6948
+楉 > rùo; #6949
+楊 > yáng; #694A
+楋 > là; #694B
+楌 > yán; #694C
+楍 > bĕn; #694D
+楎 > hún; #694E
+楏 > kúi; #694F
+楐 > jiè; #6950
+楑 > kúi; #6951
+楒 > sī; #6952
+楓 > fēng; #6953
+楔 > xiè; #6954
+楕 > tŭo; #6955
+楖 > zhì; #6956
+楗 > jiàn; #6957
+楘 > mù; #6958
+楙 > mào; #6959
+楚 > chŭ; #695A
+楛 > hù; #695B
+楜 > hú; #695C
+楝 > liàn; #695D
+楞 > léng; #695E
+楟 > tíng; #695F
+楠 > nán; #6960
+楡 > yú; #6961
+楢 > yóu; #6962
+楣 > méi; #6963
+楤 > sŏng; #6964
+楥 > xuàn; #6965
+楦 > xuàn; #6966
+楧 > yīng; #6967
+楨 > zhēn; #6968
+楩 > pián; #6969
+楪 > yè; #696A
+楫 > jí; #696B
+楬 > jié; #696C
+業 > yè; #696D
+楮 > chŭ; #696E
+楯 > shŭn; #696F
+楰 > yú; #6970
+楱 > còu; #6971
+楲 > wēi; #6972
+楳 > méi; #6973
+楴 > dì; #6974
+極 > jí; #6975
+楶 > jié; #6976
+楷 > kăi; #6977
+楸 > qīu; #6978
+楹 > yíng; #6979
+楺 > róu; #697A
+楻 > héng; #697B
+楼 > lóu; #697C
+楽 > lè; #697D
+榀 > pĭn; #6980
+概 > gài; #6982
+榃 > tán; #6983
+榄 > lăn; #6984
+榅 > yún; #6985
+榆 > yú; #6986
+榇 > chèn; #6987
+榈 > lǘ; #6988
+榉 > jŭ; #6989
+榍 > xiè; #698D
+榎 > jiă; #698E
+榏 > yì; #698F
+榐 > zhăn; #6990
+榑 > fù; #6991
+榒 > nài; #6992
+榓 > mì; #6993
+榔 > láng; #6994
+榕 > róng; #6995
+榖 > gŭ; #6996
+榗 > jiàn; #6997
+榘 > jŭ; #6998
+榙 > tă; #6999
+榚 > yăo; #699A
+榛 > zhēn; #699B
+榜 > băng; #699C
+榝 > shā; #699D
+榞 > yuán; #699E
+榟 > zĭ; #699F
+榠 > mīng; #69A0
+榡 > sù; #69A1
+榢 > jià; #69A2
+榣 > yáo; #69A3
+榤 > jié; #69A4
+榥 > huăng; #69A5
+榦 > gàn; #69A6
+榧 > fĕi; #69A7
+榨 > zhà; #69A8
+榩 > qián; #69A9
+榪 > mà; #69AA
+榫 > sŭn; #69AB
+榬 > yuán; #69AC
+榭 > xiè; #69AD
+榮 > róng; #69AE
+榯 > shí; #69AF
+榰 > zhī; #69B0
+榱 > cūi; #69B1
+榲 > yún; #69B2
+榳 > tíng; #69B3
+榴 > líu; #69B4
+榵 > róng; #69B5
+榶 > táng; #69B6
+榷 > què; #69B7
+榸 > zhāi; #69B8
+榹 > sī; #69B9
+榺 > shèng; #69BA
+榻 > tà; #69BB
+榼 > kè; #69BC
+榽 > xī; #69BD
+榾 > gù; #69BE
+榿 > qī; #69BF
+槀 > kăo; #69C0
+槁 > găo; #69C1
+槂 > sūn; #69C2
+槃 > pán; #69C3
+槄 > tāo; #69C4
+槅 > gé; #69C5
+槆 > xún; #69C6
+槇 > diān; #69C7
+槈 > nòu; #69C8
+槉 > jí; #69C9
+槊 > shùo; #69CA
+構 > gòu; #69CB
+槌 > chúi; #69CC
+槍 > qiāng; #69CD
+槎 > chā; #69CE
+槏 > qiăn; #69CF
+槐 > huái; #69D0
+槑 > méi; #69D1
+槒 > xù; #69D2
+槓 > gàng; #69D3
+槔 > gāo; #69D4
+槕 > zhúo; #69D5
+槖 > tùo; #69D6
+様 > yàng; #69D8
+槙 > diān; #69D9
+槚 > jiă; #69DA
+槛 > jiàn; #69DB
+槜 > zùi; #69DC
+槟 > bīn; #69DF
+槠 > zhū; #69E0
+槢 > xí; #69E2
+槣 > qĭ; #69E3
+槤 > lián; #69E4
+槥 > hùi; #69E5
+槦 > yóng; #69E6
+槧 > qiàn; #69E7
+槨 > gŭo; #69E8
+槩 > gài; #69E9
+槪 > gài; #69EA
+槫 > tuán; #69EB
+槬 > huà; #69EC
+槭 > cù; #69ED
+槮 > sēn; #69EE
+槯 > cūi; #69EF
+槰 > bèng; #69F0
+槱 > yŏu; #69F1
+槲 > hú; #69F2
+槳 > jiăng; #69F3
+槴 > hù; #69F4
+槵 > huàn; #69F5
+槶 > kùi; #69F6
+槷 > yì; #69F7
+槸 > niè; #69F8
+槹 > gāo; #69F9
+槺 > kāng; #69FA
+槻 > gūi; #69FB
+槼 > gūi; #69FC
+槽 > cáo; #69FD
+槾 > mán; #69FE
+槿 > jĭn; #69FF
+樀 > dì; #6A00
+樁 > zhuāng; #6A01
+樂 > lè; #6A02
+樃 > láng; #6A03
+樄 > chén; #6A04
+樅 > cōng; #6A05
+樆 > lí; #6A06
+樇 > xīu; #6A07
+樈 > qíng; #6A08
+樉 > shuăng; #6A09
+樊 > fán; #6A0A
+樋 > tōng; #6A0B
+樌 > guàn; #6A0C
+樍 > jī; #6A0D
+樎 > sūo; #6A0E
+樏 > lĕi; #6A0F
+樐 > lŭ; #6A10
+樑 > liáng; #6A11
+樒 > mì; #6A12
+樓 > lóu; #6A13
+樔 > cháo; #6A14
+樕 > sù; #6A15
+樖 > kē; #6A16
+樗 > shū; #6A17
+樘 > táng; #6A18
+標 > biāo; #6A19
+樚 > lù; #6A1A
+樛 > jīu; #6A1B
+樜 > shù; #6A1C
+樝 > zhā; #6A1D
+樞 > shū; #6A1E
+樟 > zhāng; #6A1F
+樠 > mén; #6A20
+模 > mó; #6A21
+樢 > niăo; #6A22
+樣 > yàng; #6A23
+樤 > tiáo; #6A24
+樥 > péng; #6A25
+樦 > zhù; #6A26
+樧 > shā; #6A27
+樨 > xī; #6A28
+権 > quán; #6A29
+横 > héng; #6A2A
+樫 > jiān; #6A2B
+樬 > cōng; #6A2C
+樯 > qiáng; #6A2F
+樱 > yīng; #6A31
+樲 > èr; #6A32
+樳 > xín; #6A33
+樴 > zhí; #6A34
+樵 > qiáo; #6A35
+樶 > zūi; #6A36
+樷 > cōng; #6A37
+樸 > pú; #6A38
+樹 > shù; #6A39
+樺 > huà; #6A3A
+樻 > kùi; #6A3B
+樼 > zhēn; #6A3C
+樽 > zūn; #6A3D
+樾 > yuè; #6A3E
+樿 > zhăn; #6A3F
+橀 > xī; #6A40
+橁 > xún; #6A41
+橂 > diàn; #6A42
+橃 > fā; #6A43
+橄 > găn; #6A44
+橅 > mó; #6A45
+橆 > wŭ; #6A46
+橇 > qiāo; #6A47
+橈 > náo; #6A48
+橉 > lìn; #6A49
+橊 > líu; #6A4A
+橋 > qiáo; #6A4B
+橌 > xiàn; #6A4C
+橍 > rùn; #6A4D
+橎 > fán; #6A4E
+橏 > zhăn; #6A4F
+橐 > tùo; #6A50
+橑 > lăo; #6A51
+橒 > yún; #6A52
+橓 > shùn; #6A53
+橔 > túi; #6A54
+橕 > chēng; #6A55
+橖 > táng; #6A56
+橗 > méng; #6A57
+橘 > jú; #6A58
+橙 > chéng; #6A59
+橚 > sù; #6A5A
+橛 > jué; #6A5B
+橜 > jué; #6A5C
+橝 > tān; #6A5D
+橞 > hùi; #6A5E
+機 > jī; #6A5F
+橠 > nŭo; #6A60
+橡 > xiàng; #6A61
+橢 > tŭo; #6A62
+橣 > nĭng; #6A63
+橤 > rŭi; #6A64
+橥 > zhū; #6A65
+橦 > chuáng; #6A66
+橧 > zēng; #6A67
+橨 > fén; #6A68
+橩 > qíong; #6A69
+橪 > răn; #6A6A
+橫 > héng; #6A6B
+橬 > cén; #6A6C
+橭 > gū; #6A6D
+橮 > lĭu; #6A6E
+橯 > lào; #6A6F
+橰 > gāo; #6A70
+橱 > chú; #6A71
+橶 > jí; #6A76
+橷 > dōu; #6A77
+橹 > lŭ; #6A79
+橼 > yuán; #6A7C
+橽 > tà; #6A7D
+橾 > shū; #6A7E
+橿 > jiāng; #6A7F
+檀 > tán; #6A80
+檁 > lĭn; #6A81
+檂 > nóng; #6A82
+檃 > yĭn; #6A83
+檄 > xí; #6A84
+檅 > sùi; #6A85
+檆 > shān; #6A86
+檇 > zùi; #6A87
+檈 > xuán; #6A88
+檉 > chēng; #6A89
+檊 > gàn; #6A8A
+檋 > jū; #6A8B
+檌 > zùi; #6A8C
+檍 > yì; #6A8D
+檎 > qín; #6A8E
+檏 > pŭ; #6A8F
+檐 > yán; #6A90
+檑 > léi; #6A91
+檒 > fēng; #6A92
+檓 > hŭi; #6A93
+檔 > dăng; #6A94
+檕 > jì; #6A95
+檖 > sùi; #6A96
+檗 > bò; #6A97
+檘 > bì; #6A98
+檙 > dĭng; #6A99
+檚 > chŭ; #6A9A
+檛 > zhuā; #6A9B
+檜 > kuài; #6A9C
+檝 > jí; #6A9D
+檞 > jiĕ; #6A9E
+檟 > jiă; #6A9F
+檠 > qíng; #6AA0
+檡 > zhè; #6AA1
+檢 > jiăn; #6AA2
+檣 > qiáng; #6AA3
+檤 > dào; #6AA4
+檥 > yĭ; #6AA5
+檦 > biăo; #6AA6
+檧 > sōng; #6AA7
+檨 > shē; #6AA8
+檩 > lĭn; #6AA9
+檫 > chá; #6AAB
+檬 > méng; #6AAC
+檭 > yín; #6AAD
+檮 > táo; #6AAE
+檯 > tái; #6AAF
+檰 > mián; #6AB0
+檱 > qí; #6AB1
+檲 > tóan; #6AB2
+檳 > bīn; #6AB3
+檴 > hùo; #6AB4
+檵 > jì; #6AB5
+檶 > qiān; #6AB6
+檷 > mí; #6AB7
+檸 > níng; #6AB8
+檹 > yī; #6AB9
+檺 > găo; #6ABA
+檻 > jiàn; #6ABB
+檼 > yìn; #6ABC
+檽 > ér; #6ABD
+檾 > qĭng; #6ABE
+檿 > yăn; #6ABF
+櫀 > qí; #6AC0
+櫁 > mì; #6AC1
+櫂 > zhào; #6AC2
+櫃 > gùi; #6AC3
+櫄 > chūn; #6AC4
+櫅 > jī; #6AC5
+櫆 > kúi; #6AC6
+櫇 > pó; #6AC7
+櫈 > dèng; #6AC8
+櫉 > chú; #6AC9
+櫋 > mián; #6ACB
+櫌 > yōu; #6ACC
+櫍 > zhì; #6ACD
+櫎 > guàng; #6ACE
+櫏 > qiān; #6ACF
+櫐 > lĕi; #6AD0
+櫑 > lĕi; #6AD1
+櫒 > sà; #6AD2
+櫓 > lŭ; #6AD3
+櫔 > lì; #6AD4
+櫕 > cuán; #6AD5
+櫖 > lǘ; #6AD6
+櫗 > miè; #6AD7
+櫘 > hùi; #6AD8
+櫙 > ōu; #6AD9
+櫚 > lǘ; #6ADA
+櫛 > jié; #6ADB
+櫜 > gāo; #6ADC
+櫝 > dú; #6ADD
+櫞 > yuán; #6ADE
+櫟 > lì; #6ADF
+櫠 > fèi; #6AE0
+櫡 > zhúo; #6AE1
+櫢 > sŏu; #6AE2
+櫣 > lián; #6AE3
+櫥 > chú; #6AE5
+櫧 > zhū; #6AE7
+櫨 > lú; #6AE8
+櫩 > yán; #6AE9
+櫪 > lì; #6AEA
+櫫 > zhū; #6AEB
+櫬 > chèn; #6AEC
+櫭 > jié; #6AED
+櫮 > è; #6AEE
+櫯 > sū; #6AEF
+櫰 > huái; #6AF0
+櫱 > niè; #6AF1
+櫲 > yù; #6AF2
+櫳 > lóng; #6AF3
+櫴 > lài; #6AF4
+櫶 > xiăn; #6AF6
+櫸 > jŭ; #6AF8
+櫹 > xiāo; #6AF9
+櫺 > líng; #6AFA
+櫻 > yīng; #6AFB
+櫼 > jiān; #6AFC
+櫽 > yĭn; #6AFD
+櫾 > yóu; #6AFE
+櫿 > yíng; #6AFF
+欀 > xiāng; #6B00
+欁 > nóng; #6B01
+欂 > bó; #6B02
+欃 > chán; #6B03
+欄 > lán; #6B04
+欅 > jŭ; #6B05
+欆 > shuāng; #6B06
+欇 > shè; #6B07
+欈 > wéi; #6B08
+欉 > còng; #6B09
+權 > quán; #6B0A
+欋 > qú; #6B0B
+欎 > yù; #6B0E
+欏 > lúo; #6B0F
+欐 > lĭ; #6B10
+欑 > zàn; #6B11
+欒 > luán; #6B12
+欓 > dăng; #6B13
+欔 > jué; #6B14
+欖 > lăn; #6B16
+欗 > lán; #6B17
+欘 > zhŭ; #6B18
+欙 > léi; #6B19
+欚 > lĭ; #6B1A
+欛 > bà; #6B1B
+欜 > náng; #6B1C
+欝 > yù; #6B1D
+欞 > líng; #6B1E
+欠 > qiàn; #6B20
+次 > cì; #6B21
+欢 > huān; #6B22
+欣 > xīn; #6B23
+欤 > yú; #6B24
+欥 > yù; #6B25
+欦 > qiān; #6B26
+欧 > ōu; #6B27
+欨 > xū; #6B28
+欩 > chāo; #6B29
+欪 > chù; #6B2A
+欫 > chī; #6B2B
+欬 > kài; #6B2C
+欭 > yì; #6B2D
+欮 > jué; #6B2E
+欯 > xí; #6B2F
+欰 > xū; #6B30
+欱 > xià; #6B31
+欲 > yù; #6B32
+欳 > kuài; #6B33
+欴 > láng; #6B34
+欵 > kuăn; #6B35
+欶 > shùo; #6B36
+欷 > xī; #6B37
+欸 > ăi; #6B38
+欹 > yī; #6B39
+欺 > qī; #6B3A
+欻 > hū; #6B3B
+欼 > chĭ; #6B3C
+欽 > qīn; #6B3D
+款 > kuăn; #6B3E
+欿 > kăn; #6B3F
+歀 > kuăn; #6B40
+歁 > kăn; #6B41
+歂 > chuán; #6B42
+歃 > shà; #6B43
+歄 > gua; #6B44
+歅 > yīn; #6B45
+歆 > xīn; #6B46
+歇 > xiē; #6B47
+歈 > yú; #6B48
+歉 > qiàn; #6B49
+歊 > xiāo; #6B4A
+歋 > yí; #6B4B
+歌 > gē; #6B4C
+歍 > wū; #6B4D
+歎 > tàn; #6B4E
+歏 > jìn; #6B4F
+歐 > ōu; #6B50
+歑 > hū; #6B51
+歒 > tì; #6B52
+歓 > huān; #6B53
+歔 > xū; #6B54
+歕 > pèn; #6B55
+歖 > xī; #6B56
+歗 > xiào; #6B57
+歘 > xū; #6B58
+歙 > xì; #6B59
+歛 > liàn; #6B5B
+歜 > chù; #6B5C
+歝 > yì; #6B5D
+歞 > kăn; #6B5E
+歟 > yú; #6B5F
+歠 > chùo; #6B60
+歡 > huān; #6B61
+止 > zhĭ; #6B62
+正 > zhèng; #6B63
+此 > cĭ; #6B64
+步 > bù; #6B65
+武 > wŭ; #6B66
+歧 > qí; #6B67
+歨 > bù; #6B68
+歩 > bù; #6B69
+歪 > wāi; #6B6A
+歫 > jù; #6B6B
+歬 > qián; #6B6C
+歭 > chí; #6B6D
+歮 > sè; #6B6E
+歯 > chĭ; #6B6F
+歰 > sè; #6B70
+歱 > zhŏng; #6B71
+歲 > sùi; #6B72
+歳 > sùi; #6B73
+歴 > lì; #6B74
+歵 > cùo; #6B75
+歶 > yú; #6B76
+歷 > lì; #6B77
+歸 > gūi; #6B78
+歹 > dăi; #6B79
+歺 > dăi; #6B7A
+死 > sĭ; #6B7B
+歼 > jiān; #6B7C
+歽 > zhé; #6B7D
+歾 > mò; #6B7E
+歿 > mò; #6B7F
+殀 > yăo; #6B80
+殁 > mò; #6B81
+殂 > cú; #6B82
+殃 > yāng; #6B83
+殄 > tiăn; #6B84
+殅 > shēng; #6B85
+殆 > dài; #6B86
+殇 > shāng; #6B87
+殈 > xù; #6B88
+殉 > xùn; #6B89
+殊 > shū; #6B8A
+残 > cán; #6B8B
+殌 > jué; #6B8C
+殍 > piăo; #6B8D
+殎 > qià; #6B8E
+殏 > qìu; #6B8F
+殐 > sù; #6B90
+殑 > qíng; #6B91
+殒 > yŭn; #6B92
+殓 > liàn; #6B93
+殔 > yì; #6B94
+殕 > fŏu; #6B95
+殖 > zhí; #6B96
+殗 > yè; #6B97
+殘 > cán; #6B98
+殙 > hūn; #6B99
+殚 > dān; #6B9A
+殛 > jí; #6B9B
+殜 > yè; #6B9C
+殝 > zhen; #6B9D
+殞 > yŭn; #6B9E
+殟 > wēn; #6B9F
+殠 > chòu; #6BA0
+殡 > bìn; #6BA1
+殢 > tì; #6BA2
+殣 > jĭn; #6BA3
+殤 > shāng; #6BA4
+殥 > yín; #6BA5
+殦 > diāo; #6BA6
+殧 > cù; #6BA7
+殨 > hùi; #6BA8
+殩 > cuàn; #6BA9
+殪 > yì; #6BAA
+殫 > dān; #6BAB
+殬 > dù; #6BAC
+殭 > jiāng; #6BAD
+殮 > liàn; #6BAE
+殯 > bìn; #6BAF
+殰 > dú; #6BB0
+殲 > jiān; #6BB2
+殳 > shū; #6BB3
+殴 > ōu; #6BB4
+段 > duàn; #6BB5
+殶 > zhù; #6BB6
+殷 > yīn; #6BB7
+殸 > qìng; #6BB8
+殹 > yì; #6BB9
+殺 > shā; #6BBA
+殻 > què; #6BBB
+殼 > ké; #6BBC
+殽 > yáo; #6BBD
+殾 > jùn; #6BBE
+殿 > diàn; #6BBF
+毀 > hŭi; #6BC0
+毁 > hŭi; #6BC1
+毂 > gŭ; #6BC2
+毃 > què; #6BC3
+毄 > jī; #6BC4
+毅 > yì; #6BC5
+毆 > ōu; #6BC6
+毇 > hŭi; #6BC7
+毈 > duàn; #6BC8
+毉 > yī; #6BC9
+毊 > xiāo; #6BCA
+毋 > wú; #6BCB
+毌 > guàn; #6BCC
+母 > mŭ; #6BCD
+毎 > mĕi; #6BCE
+每 > mĕi; #6BCF
+毐 > ăi; #6BD0
+毑 > zŭo; #6BD1
+毒 > dú; #6BD2
+毓 > yù; #6BD3
+比 > bĭ; #6BD4
+毕 > bì; #6BD5
+毖 > bì; #6BD6
+毗 > pí; #6BD7
+毘 > pí; #6BD8
+毙 > bì; #6BD9
+毚 > chán; #6BDA
+毛 > máo; #6BDB
+毞 > pú; #6BDE
+毠 > jiā; #6BE0
+毡 > zhān; #6BE1
+毢 > sāi; #6BE2
+毣 > mù; #6BE3
+毤 > tùo; #6BE4
+毥 > xún; #6BE5
+毦 > èr; #6BE6
+毧 > róng; #6BE7
+毨 > xiăn; #6BE8
+毩 > jú; #6BE9
+毪 > mú; #6BEA
+毫 > háo; #6BEB
+毬 > qíu; #6BEC
+毭 > dòu; #6BED
+毯 > tăn; #6BEF
+毰 > péi; #6BF0
+毱 > jú; #6BF1
+毲 > dúo; #6BF2
+毳 > cùi; #6BF3
+毴 > bī; #6BF4
+毵 > sān; #6BF5
+毷 > mào; #6BF7
+毸 > sūi; #6BF8
+毹 > yū; #6BF9
+毺 > yū; #6BFA
+毻 > tùo; #6BFB
+毼 > hé; #6BFC
+毽 > jiàn; #6BFD
+毾 > tà; #6BFE
+毿 > sān; #6BFF
+氀 > lǘ; #6C00
+氁 > mú; #6C01
+氂 > lí; #6C02
+氃 > tóng; #6C03
+氄 > rŏng; #6C04
+氅 > chăng; #6C05
+氆 > pŭ; #6C06
+氇 > lúo; #6C07
+氈 > zhān; #6C08
+氉 > sào; #6C09
+氊 > zhān; #6C0A
+氋 > méng; #6C0B
+氌 > lúo; #6C0C
+氍 > qú; #6C0D
+氎 > dié; #6C0E
+氏 > shì; #6C0F
+氐 > dĭ; #6C10
+民 > mín; #6C11
+氒 > jué; #6C12
+氓 > máng; #6C13
+气 > qì; #6C14
+氕 > piē; #6C15
+氖 > năi; #6C16
+気 > qì; #6C17
+氘 > dāo; #6C18
+氙 > xiān; #6C19
+氚 > chuān; #6C1A
+氛 > fēn; #6C1B
+氜 > rì; #6C1C
+氝 > nèi; #6C1D
+氟 > fú; #6C1F
+氠 > shēn; #6C20
+氡 > dōng; #6C21
+氢 > qīng; #6C22
+氣 > qì; #6C23
+氤 > yīn; #6C24
+氥 > xī; #6C25
+氦 > hài; #6C26
+氧 > yăng; #6C27
+氨 > ān; #6C28
+氩 > yà; #6C29
+氪 > kè; #6C2A
+氫 > qīng; #6C2B
+氬 > yà; #6C2C
+氭 > dōng; #6C2D
+氮 > dàn; #6C2E
+氯 > lǜ; #6C2F
+氰 > qīng; #6C30
+氱 > yăng; #6C31
+氲 > yūn; #6C32
+氳 > yūn; #6C33
+水 > shŭi; #6C34
+氵 > sān' 'diăn' 'shŭi; #6C35
+氶 > zhĕng; #6C36
+氷 > bīng; #6C37
+永 > yŏng; #6C38
+氹 > dàng; #6C39
+氻 > lè; #6C3B
+氼 > nì; #6C3C
+氽 > tŭn; #6C3D
+氾 > fàn; #6C3E
+氿 > gŭi; #6C3F
+汀 > tīng; #6C40
+汁 > zhī; #6C41
+求 > qíu; #6C42
+汃 > bīn; #6C43
+汄 > zè; #6C44
+汅 > miăn; #6C45
+汆 > cuān; #6C46
+汇 > hùi; #6C47
+汈 > diāo; #6C48
+汉 > yì; #6C49
+汊 > chà; #6C4A
+汋 > zhúo; #6C4B
+汌 > chuàn; #6C4C
+汍 > wán; #6C4D
+汎 > fàn; #6C4E
+汏 > dài; #6C4F
+汐 > xì; #6C50
+汑 > tūo; #6C51
+汒 > máng; #6C52
+汓 > qíu; #6C53
+汔 > qì; #6C54
+汕 > shàn; #6C55
+汖 > pài; #6C56
+汗 > hàn; #6C57
+汘 > qiān; #6C58
+汙 > wū; #6C59
+汚 > wū; #6C5A
+汛 > xùn; #6C5B
+汜 > sì; #6C5C
+汝 > rŭ; #6C5D
+汞 > gŏng; #6C5E
+江 > jiāng; #6C5F
+池 > chí; #6C60
+污 > wū; #6C61
+汤 > tāng; #6C64
+汥 > zhī; #6C65
+汦 > chí; #6C66
+汧 > qiān; #6C67
+汨 > mì; #6C68
+汩 > yù; #6C69
+汪 > wāng; #6C6A
+汫 > qìng; #6C6B
+汬 > jĭng; #6C6C
+汭 > rùi; #6C6D
+汮 > jūn; #6C6E
+汯 > hóng; #6C6F
+汰 > tài; #6C70
+汱 > quăn; #6C71
+汲 > jí; #6C72
+汳 > biàn; #6C73
+汴 > biàn; #6C74
+汵 > gàn; #6C75
+汶 > wèn; #6C76
+汷 > zhōng; #6C77
+汸 > fāng; #6C78
+汹 > xīong; #6C79
+決 > jué; #6C7A
+汻 > hăng; #6C7B
+汼 > niōu; #6C7C
+汽 > qì; #6C7D
+汾 > fén; #6C7E
+汿 > xù; #6C7F
+沀 > xù; #6C80
+沁 > qìn; #6C81
+沂 > yí; #6C82
+沃 > wò; #6C83
+沄 > yún; #6C84
+沅 > yuán; #6C85
+沆 > háng; #6C86
+沇 > yăn; #6C87
+沈 > chén; #6C88
+沉 > chén; #6C89
+沊 > dàn; #6C8A
+沋 > yóu; #6C8B
+沌 > dùn; #6C8C
+沍 > hù; #6C8D
+沎 > hùo; #6C8E
+沏 > qiē; #6C8F
+沐 > mù; #6C90
+沑 > róu; #6C91
+沒 > méi; #6C92
+沓 > tà; #6C93
+沔 > miăn; #6C94
+沕 > wù; #6C95
+沖 > chōng; #6C96
+沗 > tiān; #6C97
+沘 > bĭ; #6C98
+沙 > shā; #6C99
+沚 > zhĭ; #6C9A
+沛 > pèi; #6C9B
+沜 > pàn; #6C9C
+沝 > zhŭi; #6C9D
+沞 > zā; #6C9E
+沟 > gōu; #6C9F
+沠 > líu; #6CA0
+没 > méi; #6CA1
+沢 > zé; #6CA2
+沣 > fēng; #6CA3
+沤 > òu; #6CA4
+沥 > lì; #6CA5
+沦 > lún; #6CA6
+沧 > cāng; #6CA7
+沨 > féng; #6CA8
+沩 > wéi; #6CA9
+沪 > hù; #6CAA
+沫 > mò; #6CAB
+沬 > mèi; #6CAC
+沭 > shù; #6CAD
+沮 > jū; #6CAE
+沯 > zăn; #6CAF
+沰 > tūo; #6CB0
+沱 > túo; #6CB1
+沲 > túo; #6CB2
+河 > hé; #6CB3
+沴 > lì; #6CB4
+沵 > mĭ; #6CB5
+沶 > yí; #6CB6
+沷 > fā; #6CB7
+沸 > fèi; #6CB8
+油 > yóu; #6CB9
+沺 > tián; #6CBA
+治 > zhì; #6CBB
+沼 > zhăo; #6CBC
+沽 > gū; #6CBD
+沾 > zhān; #6CBE
+沿 > yán; #6CBF
+泀 > sī; #6CC0
+況 > kuàng; #6CC1
+泂 > jĭong; #6CC2
+泃 > jù; #6CC3
+泄 > xiè; #6CC4
+泅 > qíu; #6CC5
+泆 > yī; #6CC6
+泇 > jiā; #6CC7
+泈 > zhōng; #6CC8
+泉 > quán; #6CC9
+泊 > bó; #6CCA
+泋 > hùi; #6CCB
+泌 > mì; #6CCC
+泍 > bēn; #6CCD
+泎 > zhúo; #6CCE
+泏 > chù; #6CCF
+泐 > lè; #6CD0
+泑 > yŏu; #6CD1
+泒 > gū; #6CD2
+泓 > hóng; #6CD3
+泔 > gān; #6CD4
+法 > fă; #6CD5
+泖 > măo; #6CD6
+泗 > sì; #6CD7
+泘 > hū; #6CD8
+泙 > píng; #6CD9
+泚 > cĭ; #6CDA
+泛 > fàn; #6CDB
+泜 > chí; #6CDC
+泝 > sù; #6CDD
+泞 > nìng; #6CDE
+泟 > chēng; #6CDF
+泠 > líng; #6CE0
+泡 > pào; #6CE1
+波 > bō; #6CE2
+泣 > qì; #6CE3
+泤 > sì; #6CE4
+泥 > ní; #6CE5
+泦 > jú; #6CE6
+泧 > yuè; #6CE7
+注 > zhù; #6CE8
+泩 > shēng; #6CE9
+泪 > lèi; #6CEA
+泫 > xuàn; #6CEB
+泬 > xuè; #6CEC
+泭 > fū; #6CED
+泮 > pàn; #6CEE
+泯 > mĭn; #6CEF
+泰 > tài; #6CF0
+泱 > yāng; #6CF1
+泲 > jĭ; #6CF2
+泳 > yŏng; #6CF3
+泴 > guàn; #6CF4
+泵 > bèng; #6CF5
+泶 > xué; #6CF6
+泷 > lóng; #6CF7
+泸 > lú; #6CF8
+泺 > bó; #6CFA
+泻 > xiè; #6CFB
+泼 > pō; #6CFC
+泽 > zé; #6CFD
+泾 > jīng; #6CFE
+泿 > yín; #6CFF
+洀 > zhōu; #6D00
+洁 > jí; #6D01
+洂 > yì; #6D02
+洃 > hūi; #6D03
+洄 > húi; #6D04
+洅 > zŭi; #6D05
+洆 > chéng; #6D06
+洇 > yīn; #6D07
+洈 > wéi; #6D08
+洉 > hòu; #6D09
+洊 > jiàn; #6D0A
+洋 > yáng; #6D0B
+洌 > liè; #6D0C
+洍 > sì; #6D0D
+洎 > jì; #6D0E
+洏 > ér; #6D0F
+洐 > xíng; #6D10
+洑 > fú; #6D11
+洒 > să; #6D12
+洓 > sŭo; #6D13
+洔 > zhĭ; #6D14
+洕 > yīn; #6D15
+洖 > wú; #6D16
+洗 > xĭ; #6D17
+洘 > kăo; #6D18
+洙 > zhū; #6D19
+洚 > jiàng; #6D1A
+洛 > lùo; #6D1B
+洝 > àn; #6D1D
+洞 > dòng; #6D1E
+洟 > yí; #6D1F
+洠 > móu; #6D20
+洡 > lĕi; #6D21
+洢 > yī; #6D22
+洣 > mĭ; #6D23
+洤 > quán; #6D24
+津 > jīn; #6D25
+洦 > mò; #6D26
+洧 > wĕi; #6D27
+洨 > xiáo; #6D28
+洩 > xiè; #6D29
+洪 > hóng; #6D2A
+洫 > xù; #6D2B
+洬 > shùo; #6D2C
+洭 > kuāng; #6D2D
+洮 > tāo; #6D2E
+洯 > qiè; #6D2F
+洰 > jù; #6D30
+洱 > ĕr; #6D31
+洲 > zhōu; #6D32
+洳 > rù; #6D33
+洴 > píng; #6D34
+洵 > xún; #6D35
+洶 > xīong; #6D36
+洷 > zhì; #6D37
+洸 > guāng; #6D38
+洹 > huán; #6D39
+洺 > míng; #6D3A
+活 > húo; #6D3B
+洼 > wā; #6D3C
+洽 > qià; #6D3D
+派 > pài; #6D3E
+洿 > wū; #6D3F
+浀 > qŭ; #6D40
+流 > líu; #6D41
+浂 > yì; #6D42
+浃 > jiá; #6D43
+浄 > jìng; #6D44
+浅 > qiăn; #6D45
+浆 > jiāng; #6D46
+浇 > jiāo; #6D47
+浈 > chéng; #6D48
+浉 > shī; #6D49
+浊 > zhúo; #6D4A
+测 > cè; #6D4B
+浍 > kuài; #6D4D
+济 > jì; #6D4E
+浏 > líu; #6D4F
+浐 > chăn; #6D50
+浑 > hún; #6D51
+浒 > hŭ; #6D52
+浓 > nóng; #6D53
+浔 > xún; #6D54
+浕 > jìn; #6D55
+浖 > liè; #6D56
+浗 > qíu; #6D57
+浘 > wĕi; #6D58
+浙 > zhè; #6D59
+浚 > jùn; #6D5A
+浛 > hàn; #6D5B
+浜 > bāng; #6D5C
+浝 > máng; #6D5D
+浞 > zhúo; #6D5E
+浟 > yóu; #6D5F
+浠 > xī; #6D60
+浡 > bó; #6D61
+浢 > dòu; #6D62
+浣 > wăn; #6D63
+浤 > hóng; #6D64
+浥 > yì; #6D65
+浦 > pŭ; #6D66
+浧 > yĭng; #6D67
+浨 > lăn; #6D68
+浩 > hào; #6D69
+浪 > làng; #6D6A
+浫 > hăn; #6D6B
+浬 > lĭ; #6D6C
+浭 > gēng; #6D6D
+浮 > fú; #6D6E
+浯 > wú; #6D6F
+浰 > liàn; #6D70
+浱 > chún; #6D71
+浲 > féng; #6D72
+浳 > yì; #6D73
+浴 > yù; #6D74
+浵 > tóng; #6D75
+浶 > láo; #6D76
+海 > hăi; #6D77
+浸 > jìn; #6D78
+浹 > jiá; #6D79
+浺 > chōng; #6D7A
+浻 > wĕng; #6D7B
+浼 > mĕi; #6D7C
+浽 > sūi; #6D7D
+浾 > chēng; #6D7E
+浿 > pèi; #6D7F
+涀 > xiàn; #6D80
+涁 > shèn; #6D81
+涂 > tú; #6D82
+涃 > kùn; #6D83
+涄 > pīn; #6D84
+涅 > niè; #6D85
+涆 > hàn; #6D86
+涇 > jīng; #6D87
+消 > xiāo; #6D88
+涉 > shè; #6D89
+涊 > niàn; #6D8A
+涋 > tū; #6D8B
+涌 > yŏng; #6D8C
+涍 > xiào; #6D8D
+涎 > xián; #6D8E
+涏 > tĭng; #6D8F
+涐 > é; #6D90
+涑 > sù; #6D91
+涒 > tūn; #6D92
+涓 > juān; #6D93
+涔 > cén; #6D94
+涕 > tì; #6D95
+涖 > lì; #6D96
+涗 > shùi; #6D97
+涘 > sì; #6D98
+涙 > lèi; #6D99
+涚 > shùi; #6D9A
+涛 > tāo; #6D9B
+涜 > dú; #6D9C
+涝 > lào; #6D9D
+涞 > lái; #6D9E
+涟 > lián; #6D9F
+涠 > wéi; #6DA0
+涡 > wō; #6DA1
+涢 > yún; #6DA2
+涣 > huàn; #6DA3
+涤 > dí; #6DA4
+润 > rùn; #6DA6
+涧 > jiàn; #6DA7
+涨 > zhăng; #6DA8
+涩 > sè; #6DA9
+涪 > fú; #6DAA
+涫 > guàn; #6DAB
+涬 > xìng; #6DAC
+涭 > shòu; #6DAD
+涮 > shuàn; #6DAE
+涯 > yá; #6DAF
+涰 > chùo; #6DB0
+涱 > zhàng; #6DB1
+液 > yè; #6DB2
+涳 > kōng; #6DB3
+涴 > wò; #6DB4
+涵 > hán; #6DB5
+涶 > tūo; #6DB6
+涷 > dōng; #6DB7
+涸 > hé; #6DB8
+涹 > wō; #6DB9
+涺 > jū; #6DBA
+涻 > gàn; #6DBB
+涼 > liáng; #6DBC
+涽 > hūn; #6DBD
+涾 > tà; #6DBE
+涿 > zhúo; #6DBF
+淀 > diàn; #6DC0
+淁 > qiè; #6DC1
+淂 > dé; #6DC2
+淃 > juàn; #6DC3
+淄 > zī; #6DC4
+淅 > xī; #6DC5
+淆 > yáo; #6DC6
+淇 > qí; #6DC7
+淈 > gŭ; #6DC8
+淉 > gŭo; #6DC9
+淊 > hàn; #6DCA
+淋 > lín; #6DCB
+淌 > tăng; #6DCC
+淍 > zhōu; #6DCD
+淎 > pĕng; #6DCE
+淏 > hào; #6DCF
+淐 > chāng; #6DD0
+淑 > shú; #6DD1
+淒 > qī; #6DD2
+淓 > fāng; #6DD3
+淔 > chì; #6DD4
+淕 > lù; #6DD5
+淖 > nào; #6DD6
+淗 > jú; #6DD7
+淘 > táo; #6DD8
+淙 > cóng; #6DD9
+淚 > lèi; #6DDA
+淛 > zhì; #6DDB
+淜 > péng; #6DDC
+淝 > féi; #6DDD
+淞 > sōng; #6DDE
+淟 > tiăn; #6DDF
+淠 > pì; #6DE0
+淡 > dàn; #6DE1
+淢 > yù; #6DE2
+淣 > ní; #6DE3
+淤 > yū; #6DE4
+淥 > lù; #6DE5
+淦 > gàn; #6DE6
+淧 > mì; #6DE7
+淨 > jìng; #6DE8
+淩 > líng; #6DE9
+淪 > lún; #6DEA
+淫 > yín; #6DEB
+淬 > cùi; #6DEC
+淭 > qú; #6DED
+淮 > huái; #6DEE
+淯 > yù; #6DEF
+淰 > niàn; #6DF0
+深 > shēn; #6DF1
+淲 > piáo; #6DF2
+淳 > chún; #6DF3
+淴 > wà; #6DF4
+淵 > yuān; #6DF5
+淶 > lái; #6DF6
+混 > hŭn; #6DF7
+淸 > qīng; #6DF8
+淹 > yān; #6DF9
+淺 > qiăn; #6DFA
+添 > tiān; #6DFB
+淼 > miăo; #6DFC
+淽 > zhĭ; #6DFD
+淾 > yĭn; #6DFE
+淿 > mì; #6DFF
+渀 > bēn; #6E00
+渁 > yuān; #6E01
+渂 > wèn; #6E02
+渃 > rè; #6E03
+渄 > fēi; #6E04
+清 > qīng; #6E05
+渆 > yuān; #6E06
+渇 > kĕ; #6E07
+済 > jì; #6E08
+渉 > shè; #6E09
+渊 > yuān; #6E0A
+渌 > lù; #6E0C
+渍 > zì; #6E0D
+渎 > dú; #6E0E
+渐 > jiàn; #6E10
+渑 > mĭn; #6E11
+渒 > pì; #6E12
+渔 > yú; #6E14
+渕 > yuān; #6E15
+渖 > shĕn; #6E16
+渗 > shèn; #6E17
+渘 > róu; #6E18
+渙 > huàn; #6E19
+渚 > zhŭ; #6E1A
+減 > jiăn; #6E1B
+渜 > nuăn; #6E1C
+渝 > yú; #6E1D
+渞 > qíu; #6E1E
+渟 > tíng; #6E1F
+渠 > qú; #6E20
+渡 > dù; #6E21
+渢 > féng; #6E22
+渣 > zhā; #6E23
+渤 > bó; #6E24
+渥 > wò; #6E25
+渦 > wō; #6E26
+渧 > dì; #6E27
+渨 > wēi; #6E28
+温 > wēn; #6E29
+渪 > rú; #6E2A
+渫 > xiè; #6E2B
+測 > cè; #6E2C
+渭 > wèi; #6E2D
+渮 > gē; #6E2E
+港 > găng; #6E2F
+渰 > yăn; #6E30
+渱 > hóng; #6E31
+渲 > xuàn; #6E32
+渳 > mĭ; #6E33
+渴 > kĕ; #6E34
+渵 > máo; #6E35
+渶 > yīng; #6E36
+渷 > yăn; #6E37
+游 > yóu; #6E38
+渹 > hōng; #6E39
+渺 > miăo; #6E3A
+渻 > xĭng; #6E3B
+渼 > mĕi; #6E3C
+渽 > zāi; #6E3D
+渾 > hún; #6E3E
+渿 > nài; #6E3F
+湀 > kúi; #6E40
+湁 > shí; #6E41
+湂 > è; #6E42
+湃 > pài; #6E43
+湄 > méi; #6E44
+湅 > liàn; #6E45
+湆 > qì; #6E46
+湇 > qì; #6E47
+湈 > méi; #6E48
+湉 > tián; #6E49
+湊 > còu; #6E4A
+湋 > wéi; #6E4B
+湌 > cān; #6E4C
+湍 > tuān; #6E4D
+湎 > miăn; #6E4E
+湏 > hùi; #6E4F
+湐 > mò; #6E50
+湑 > xŭ; #6E51
+湒 > jí; #6E52
+湓 > pén; #6E53
+湔 > jiān; #6E54
+湕 > jiăn; #6E55
+湖 > hú; #6E56
+湗 > fèng; #6E57
+湘 > xiāng; #6E58
+湙 > yì; #6E59
+湚 > yìn; #6E5A
+湛 > zhàn; #6E5B
+湜 > shí; #6E5C
+湝 > jiē; #6E5D
+湞 > chéng; #6E5E
+湟 > huáng; #6E5F
+湠 > tàn; #6E60
+湡 > yú; #6E61
+湢 > bì; #6E62
+湣 > mĭn; #6E63
+湤 > shī; #6E64
+湥 > tú; #6E65
+湦 > shēng; #6E66
+湧 > yŏng; #6E67
+湨 > qù; #6E68
+湩 > zhòng; #6E69
+湪 > suèi; #6E6A
+湫 > jīu; #6E6B
+湬 > jiăo; #6E6C
+湭 > qióu; #6E6D
+湮 > yīn; #6E6E
+湯 > tāng; #6E6F
+湰 > lóng; #6E70
+湱 > hùo; #6E71
+湲 > yuán; #6E72
+湳 > năn; #6E73
+湴 > bàn; #6E74
+湵 > yŏu; #6E75
+湶 > quán; #6E76
+湷 > chúi; #6E77
+湸 > liàng; #6E78
+湹 > chán; #6E79
+湺 > yán; #6E7A
+湻 > chún; #6E7B
+湼 > niè; #6E7C
+湽 > zī; #6E7D
+湾 > wān; #6E7E
+湿 > shī; #6E7F
+満 > măn; #6E80
+溁 > yíng; #6E81
+溃 > kùi; #6E83
+溅 > jiàn; #6E85
+溆 > xù; #6E86
+溇 > lǚ; #6E87
+溈 > gūi; #6E88
+溉 > gài; #6E89
+溌 > pō; #6E8C
+溍 > jìn; #6E8D
+溎 > gùi; #6E8E
+溏 > táng; #6E8F
+源 > yuán; #6E90
+溑 > sŭo; #6E91
+溒 > yuán; #6E92
+溓 > lián; #6E93
+溔 > yăo; #6E94
+溕 > mèng; #6E95
+準 > zhŭn; #6E96
+溗 > shéng; #6E97
+溘 > kè; #6E98
+溙 > tài; #6E99
+溚 > dá; #6E9A
+溛 > wā; #6E9B
+溜 > līu; #6E9C
+溝 > gōu; #6E9D
+溞 > sāo; #6E9E
+溟 > míng; #6E9F
+溠 > zhà; #6EA0
+溡 > shí; #6EA1
+溢 > yì; #6EA2
+溣 > lún; #6EA3
+溤 > mă; #6EA4
+溥 > pŭ; #6EA5
+溦 > wéi; #6EA6
+溧 > lì; #6EA7
+溨 > cái; #6EA8
+溩 > wù; #6EA9
+溪 > xī; #6EAA
+溫 > wēn; #6EAB
+溬 > qiāng; #6EAC
+溭 > zé; #6EAD
+溮 > shī; #6EAE
+溯 > sù; #6EAF
+溰 > yī; #6EB0
+溱 > zhēn; #6EB1
+溲 > sōu; #6EB2
+溳 > yún; #6EB3
+溴 > xìu; #6EB4
+溵 > yīn; #6EB5
+溶 > róng; #6EB6
+溷 > hùn; #6EB7
+溸 > sù; #6EB8
+溹 > sù; #6EB9
+溺 > nì; #6EBA
+溻 > tà; #6EBB
+溼 > shī; #6EBC
+溽 > rù; #6EBD
+溾 > wēi; #6EBE
+溿 > pàn; #6EBF
+滀 > chù; #6EC0
+滁 > chú; #6EC1
+滂 > pāng; #6EC2
+滃 > wĕng; #6EC3
+滄 > cāng; #6EC4
+滅 > miè; #6EC5
+滆 > hé; #6EC6
+滇 > diān; #6EC7
+滈 > hào; #6EC8
+滉 > huăng; #6EC9
+滊 > xì; #6ECA
+滋 > zī; #6ECB
+滌 > dí; #6ECC
+滍 > zhĭ; #6ECD
+滎 > yíng; #6ECE
+滏 > fŭ; #6ECF
+滐 > jié; #6ED0
+滑 > huá; #6ED1
+滒 > gē; #6ED2
+滓 > zĭ; #6ED3
+滔 > tāo; #6ED4
+滕 > téng; #6ED5
+滖 > sūi; #6ED6
+滗 > bĭ; #6ED7
+滘 > jiào; #6ED8
+滙 > hùi; #6ED9
+滚 > gŭn; #6EDA
+滛 > yín; #6EDB
+滜 > gāo; #6EDC
+滝 > lóng; #6EDD
+滞 > zhì; #6EDE
+滟 > yàn; #6EDF
+滠 > shè; #6EE0
+满 > măn; #6EE1
+滢 > yìng; #6EE2
+滣 > chún; #6EE3
+滤 > lǜ; #6EE4
+滥 > làn; #6EE5
+滦 > luán; #6EE6
+滨 > bīn; #6EE8
+滩 > tān; #6EE9
+滪 > yù; #6EEA
+滫 > sŏu; #6EEB
+滬 > hù; #6EEC
+滭 > bì; #6EED
+滮 > biāo; #6EEE
+滯 > zhì; #6EEF
+滰 > jiăng; #6EF0
+滱 > kòu; #6EF1
+滲 > shèn; #6EF2
+滳 > shāng; #6EF3
+滴 > dī; #6EF4
+滵 > mì; #6EF5
+滶 > áo; #6EF6
+滷 > lŭ; #6EF7
+滸 > hŭ; #6EF8
+滹 > hū; #6EF9
+滺 > yóu; #6EFA
+滻 > chăn; #6EFB
+滼 > fàn; #6EFC
+滽 > yóng; #6EFD
+滾 > gŭn; #6EFE
+滿 > măn; #6EFF
+漀 > qìng; #6F00
+漁 > yú; #6F01
+漂 > piāo; #6F02
+漃 > jí; #6F03
+漄 > yá; #6F04
+漅 > jiăo; #6F05
+漆 > qī; #6F06
+漇 > xĭ; #6F07
+漈 > jì; #6F08
+漉 > lù; #6F09
+漊 > lǚ; #6F0A
+漋 > lóng; #6F0B
+漌 > jĭn; #6F0C
+漍 > gúo; #6F0D
+漎 > cóng; #6F0E
+漏 > lòu; #6F0F
+漐 > zhí; #6F10
+漑 > gài; #6F11
+漒 > qiáng; #6F12
+漓 > lí; #6F13
+演 > yăn; #6F14
+漕 > cáo; #6F15
+漖 > jiào; #6F16
+漗 > cōng; #6F17
+漘 > qún; #6F18
+漙 > tuán; #6F19
+漚 > òu; #6F1A
+漛 > téng; #6F1B
+漜 > yĕ; #6F1C
+漝 > xí; #6F1D
+漞 > mì; #6F1E
+漟 > táng; #6F1F
+漠 > mò; #6F20
+漡 > shāng; #6F21
+漢 > hàn; #6F22
+漣 > lián; #6F23
+漤 > lăn; #6F24
+漥 > wā; #6F25
+漦 > lí; #6F26
+漧 > qián; #6F27
+漨 > féng; #6F28
+漩 > xuán; #6F29
+漪 > yī; #6F2A
+漫 > màn; #6F2B
+漬 > zì; #6F2C
+漭 > măng; #6F2D
+漮 > kāng; #6F2E
+漯 > lĕi; #6F2F
+漰 > pēng; #6F30
+漱 > shù; #6F31
+漲 > zhăng; #6F32
+漳 > zhāng; #6F33
+漴 > chóng; #6F34
+漵 > xù; #6F35
+漶 > huàn; #6F36
+漷 > kùo; #6F37
+漸 > jiàn; #6F38
+漹 > yān; #6F39
+漺 > chuăng; #6F3A
+漻 > liáo; #6F3B
+漼 > cŭi; #6F3C
+漽 > tí; #6F3D
+漾 > yàng; #6F3E
+漿 > jiāng; #6F3F
+潀 > cóng; #6F40
+潁 > yĭng; #6F41
+潂 > hóng; #6F42
+潃 > xún; #6F43
+潄 > shù; #6F44
+潅 > guàn; #6F45
+潆 > yíng; #6F46
+潇 > xiāo; #6F47
+潊 > xù; #6F4A
+潋 > liàn; #6F4B
+潌 > zhì; #6F4C
+潍 > wéi; #6F4D
+潎 > pì; #6F4E
+潏 > jué; #6F4F
+潐 > jiào; #6F50
+潑 > pō; #6F51
+潒 > dàng; #6F52
+潓 > hùi; #6F53
+潔 > jié; #6F54
+潕 > wŭ; #6F55
+潖 > pá; #6F56
+潗 > jí; #6F57
+潘 > pān; #6F58
+潙 > gúi; #6F59
+潚 > xiāo; #6F5A
+潛 > qián; #6F5B
+潜 > qián; #6F5C
+潝 > xī; #6F5D
+潞 > lù; #6F5E
+潟 > xì; #6F5F
+潠 > xuàn; #6F60
+潡 > dùn; #6F61
+潢 > huáng; #6F62
+潣 > mĭn; #6F63
+潤 > rùn; #6F64
+潥 > sù; #6F65
+潦 > liáo; #6F66
+潧 > zhēn; #6F67
+潨 > zhōng; #6F68
+潩 > yì; #6F69
+潪 > dí; #6F6A
+潫 > wān; #6F6B
+潬 > dàn; #6F6C
+潭 > tán; #6F6D
+潮 > cháo; #6F6E
+潯 > xún; #6F6F
+潰 > kùi; #6F70
+潱 > yie; #6F71
+潲 > shào; #6F72
+潳 > tú; #6F73
+潴 > zhū; #6F74
+潵 > sàn; #6F75
+潶 > hēi; #6F76
+潷 > bĭ; #6F77
+潸 > shān; #6F78
+潹 > chán; #6F79
+潺 > chán; #6F7A
+潻 > shŭ; #6F7B
+潼 > tóng; #6F7C
+潽 > pŭ; #6F7D
+潾 > lín; #6F7E
+潿 > wéi; #6F7F
+澀 > sè; #6F80
+澁 > sè; #6F81
+澂 > chéng; #6F82
+澃 > jìong; #6F83
+澄 > chéng; #6F84
+澅 > huà; #6F85
+澆 > jiāo; #6F86
+澇 > lào; #6F87
+澈 > chè; #6F88
+澉 > găn; #6F89
+澊 > cūn; #6F8A
+澋 > hèng; #6F8B
+澌 > sī; #6F8C
+澍 > shù; #6F8D
+澎 > péng; #6F8E
+澏 > hàn; #6F8F
+澐 > yún; #6F90
+澑 > lìu; #6F91
+澒 > hòng; #6F92
+澓 > fú; #6F93
+澔 > hào; #6F94
+澕 > hé; #6F95
+澖 > xiān; #6F96
+澗 > jiàn; #6F97
+澘 > shān; #6F98
+澙 > xì; #6F99
+澜 > lán; #6F9C
+澞 > yú; #6F9E
+澟 > lĭn; #6F9F
+澠 > mĭn; #6FA0
+澡 > zăo; #6FA1
+澢 > dāng; #6FA2
+澣 > wăn; #6FA3
+澤 > zé; #6FA4
+澥 > xiè; #6FA5
+澦 > yù; #6FA6
+澧 > lĭ; #6FA7
+澨 > shì; #6FA8
+澩 > xué; #6FA9
+澪 > líng; #6FAA
+澫 > màn; #6FAB
+澬 > zī; #6FAC
+澭 > yōng; #6FAD
+澮 > kuài; #6FAE
+澯 > càn; #6FAF
+澰 > liàn; #6FB0
+澱 > diàn; #6FB1
+澲 > yè; #6FB2
+澳 > ào; #6FB3
+澴 > huán; #6FB4
+澵 > zhēn; #6FB5
+澶 > chán; #6FB6
+澷 > màn; #6FB7
+澸 > dăn; #6FB8
+澹 > dàn; #6FB9
+澺 > yì; #6FBA
+澻 > sùi; #6FBB
+澼 > pì; #6FBC
+澽 > jù; #6FBD
+澾 > tà; #6FBE
+澿 > qín; #6FBF
+激 > jī; #6FC0
+濁 > zhúo; #6FC1
+濂 > lián; #6FC2
+濃 > nóng; #6FC3
+濄 > gūo; #6FC4
+濅 > jìn; #6FC5
+濆 > fén; #6FC6
+濇 > sè; #6FC7
+濈 > jí; #6FC8
+濉 > sūi; #6FC9
+濊 > hùi; #6FCA
+濋 > chŭ; #6FCB
+濌 > tà; #6FCC
+濍 > sōng; #6FCD
+濎 > dĭng; #6FCE
+濐 > zhŭ; #6FD0
+濑 > lài; #6FD1
+濒 > bīn; #6FD2
+濓 > lián; #6FD3
+濔 > mĭ; #6FD4
+濕 > shī; #6FD5
+濖 > shù; #6FD6
+濗 > mì; #6FD7
+濘 > nìng; #6FD8
+濙 > yíng; #6FD9
+濚 > yíng; #6FDA
+濛 > méng; #6FDB
+濜 > jìn; #6FDC
+濝 > qí; #6FDD
+濞 > pì; #6FDE
+濟 > jì; #6FDF
+濠 > háo; #6FE0
+濡 > rú; #6FE1
+濢 > zŭi; #6FE2
+濣 > wò; #6FE3
+濤 > tāo; #6FE4
+濥 > yìn; #6FE5
+濦 > yĭn; #6FE6
+濧 > dùi; #6FE7
+濨 > cí; #6FE8
+濩 > hùo; #6FE9
+濪 > jìng; #6FEA
+濫 > làn; #6FEB
+濬 > jùn; #6FEC
+濭 > ài; #6FED
+濮 > pū; #6FEE
+濯 > zhúo; #6FEF
+濰 > wéi; #6FF0
+濱 > bīn; #6FF1
+濲 > gŭ; #6FF2
+濳 > qián; #6FF3
+濴 > xíng; #6FF4
+濶 > kùo; #6FF6
+濷 > fèi; #6FF7
+濺 > jiàn; #6FFA
+濻 > wĕi; #6FFB
+濼 > lùo; #6FFC
+濽 > zàn; #6FFD
+濾 > lǜ; #6FFE
+濿 > lì; #6FFF
+瀀 > yōu; #7000
+瀁 > yàng; #7001
+瀂 > lŭ; #7002
+瀃 > sì; #7003
+瀄 > jié; #7004
+瀅 > yìng; #7005
+瀆 > dú; #7006
+瀇 > wăng; #7007
+瀈 > hūi; #7008
+瀉 > xiè; #7009
+瀊 > pán; #700A
+瀋 > shĕn; #700B
+瀌 > biāo; #700C
+瀍 > chán; #700D
+瀎 > mò; #700E
+瀏 > líu; #700F
+瀐 > jiān; #7010
+瀑 > pù; #7011
+瀒 > sè; #7012
+瀓 > chéng; #7013
+瀔 > gŭ; #7014
+瀕 > bīn; #7015
+瀖 > hùo; #7016
+瀗 > xiàn; #7017
+瀘 > lú; #7018
+瀙 > qīn; #7019
+瀚 > hàn; #701A
+瀛 > yíng; #701B
+瀜 > yōng; #701C
+瀝 > lì; #701D
+瀞 > jìng; #701E
+瀟 > xiāo; #701F
+瀠 > yíng; #7020
+瀡 > sŭi; #7021
+瀢 > wéi; #7022
+瀣 > xiè; #7023
+瀤 > huái; #7024
+瀥 > hào; #7025
+瀦 > zhū; #7026
+瀧 > lóng; #7027
+瀨 > lài; #7028
+瀩 > dùi; #7029
+瀪 > fán; #702A
+瀫 > hú; #702B
+瀬 > lài; #702C
+瀯 > yíng; #702F
+瀰 > mí; #7030
+瀱 > jì; #7031
+瀲 > liàn; #7032
+瀳 > jiàn; #7033
+瀴 > yĭng; #7034
+瀵 > fèn; #7035
+瀶 > lín; #7036
+瀷 > yì; #7037
+瀸 > jiān; #7038
+瀹 > yuè; #7039
+瀺 > chán; #703A
+瀻 > dài; #703B
+瀼 > ráng; #703C
+瀽 > jiăn; #703D
+瀾 > lán; #703E
+瀿 > fán; #703F
+灀 > shuàng; #7040
+灁 > yuān; #7041
+灂 > zhúo; #7042
+灃 > fēng; #7043
+灄 > shè; #7044
+灅 > lĕi; #7045
+灆 > lán; #7046
+灇 > cóng; #7047
+灈 > qú; #7048
+灉 > yōng; #7049
+灊 > qián; #704A
+灋 > fă; #704B
+灌 > guàn; #704C
+灍 > què; #704D
+灎 > yàn; #704E
+灏 > hào; #704F
+灑 > să; #7051
+灒 > zàn; #7052
+灓 > luán; #7053
+灔 > yàn; #7054
+灕 > lí; #7055
+灖 > mĭ; #7056
+灗 > shàn; #7057
+灘 > tān; #7058
+灙 > dăng; #7059
+灚 > jiăo; #705A
+灛 > chăn; #705B
+灝 > hào; #705D
+灞 > bà; #705E
+灟 > zhú; #705F
+灠 > lăn; #7060
+灡 > lán; #7061
+灢 > năng; #7062
+灣 > wān; #7063
+灤 > luán; #7064
+灥 > xún; #7065
+灦 > xiăn; #7066
+灧 > yàn; #7067
+灨 > găn; #7068
+灩 > yàn; #7069
+灪 > yù; #706A
+火 > hŭo; #706B
+灬 > sì' 'diăn' 'hŭo; #706C
+灭 > miè; #706D
+灮 > guāng; #706E
+灯 > dēng; #706F
+灰 > hūi; #7070
+灱 > xiāo; #7071
+灲 > xiāo; #7072
+灳 > hū1; #7073
+灴 > hóng; #7074
+灵 > líng; #7075
+灶 > zào; #7076
+灷 > zhuàn; #7077
+灸 > jĭu; #7078
+灹 > zhà; #7079
+灺 > xiè; #707A
+灻 > chì; #707B
+灼 > zhúo; #707C
+災 > zāi; #707D
+灾 > zāi; #707E
+灿 > càn; #707F
+炀 > yáng; #7080
+炁 > qì; #7081
+炂 > zhōng; #7082
+炃 > fén; #7083
+炄 > nĭu; #7084
+炅 > jĭong; #7085
+炆 > wén; #7086
+炇 > pò; #7087
+炈 > yì; #7088
+炉 > lú; #7089
+炊 > chūi; #708A
+炋 > pī; #708B
+炌 > kài; #708C
+炍 > pàn; #708D
+炎 > yán; #708E
+炏 > kài; #708F
+炐 > pàng; #7090
+炑 > mù; #7091
+炒 > chăo; #7092
+炓 > liào; #7093
+炔 > gùi; #7094
+炕 > kàng; #7095
+炖 > tūn; #7096
+炗 > guāng; #7097
+炘 > xīn; #7098
+炙 > zhì; #7099
+炚 > guang; #709A
+炛 > guāng; #709B
+炜 > wĕi; #709C
+炝 > qiàng; #709D
+炟 > dá; #709F
+炠 > xiá; #70A0
+炡 > zhēng; #70A1
+炢 > zhú; #70A2
+炣 > kĕ; #70A3
+炤 > zhào; #70A4
+炥 > fú; #70A5
+炦 > bá; #70A6
+炧 > dùo; #70A7
+炨 > dùo; #70A8
+炩 > lìng; #70A9
+炪 > zhúo; #70AA
+炫 > xuàn; #70AB
+炬 > jù; #70AC
+炭 > tàn; #70AD
+炮 > pào; #70AE
+炯 > jĭong; #70AF
+炰 > páo; #70B0
+炱 > tái; #70B1
+炲 > tái; #70B2
+炳 > bĭng; #70B3
+炴 > yăng; #70B4
+炵 > tōng; #70B5
+炶 > hān; #70B6
+炷 > zhù; #70B7
+炸 > zhà; #70B8
+点 > diăn; #70B9
+為 > wèi; #70BA
+炻 > shí; #70BB
+炼 > liàn; #70BC
+炽 > chì; #70BD
+炾 > huăng; #70BE
+烀 > hū; #70C0
+烁 > shùo; #70C1
+烂 > làn; #70C2
+烃 > jĭng; #70C3
+烄 > jiăo; #70C4
+烅 > xù; #70C5
+烆 > xíng; #70C6
+烇 > quàn; #70C7
+烈 > liè; #70C8
+烉 > huàn; #70C9
+烊 > yáng; #70CA
+烋 > xiāo; #70CB
+烌 > xīu; #70CC
+烍 > xiăn; #70CD
+烎 > yín; #70CE
+烏 > wū; #70CF
+烐 > zhōu; #70D0
+烑 > yáo; #70D1
+烒 > shì; #70D2
+烓 > wēi; #70D3
+烔 > tóng; #70D4
+烕 > xuè; #70D5
+烖 > zāi; #70D6
+烗 > kài; #70D7
+烘 > hōng; #70D8
+烙 > lùo; #70D9
+烚 > xiá; #70DA
+烛 > zhú; #70DB
+烜 > xuăn; #70DC
+烝 > zhēng; #70DD
+烞 > pò; #70DE
+烟 > yān; #70DF
+烠 > hŭi; #70E0
+烡 > guāng; #70E1
+烢 > zhè; #70E2
+烣 > hūi; #70E3
+烤 > kăo; #70E4
+烦 > fán; #70E6
+烧 > shāo; #70E7
+烨 > yè; #70E8
+烩 > hùi; #70E9
+烫 > tàng; #70EB
+烬 > jìn; #70EC
+热 > rè; #70ED
+烯 > xī; #70EF
+烰 > fú; #70F0
+烱 > jĭong; #70F1
+烲 > chè; #70F2
+烳 > pŭ; #70F3
+烴 > jĭng; #70F4
+烵 > zhúo; #70F5
+烶 > tĭng; #70F6
+烷 > wán; #70F7
+烸 > hăi; #70F8
+烹 > pēng; #70F9
+烺 > lăng; #70FA
+烻 > shān; #70FB
+烼 > hū; #70FC
+烽 > fēng; #70FD
+烾 > chì; #70FE
+烿 > róng; #70FF
+焀 > hú; #7100
+焁 > xi; #7101
+焂 > shú; #7102
+焃 > hè; #7103
+焄 > xūn; #7104
+焅 > kù; #7105
+焆 > jué; #7106
+焇 > xiāo; #7107
+焈 > xī; #7108
+焉 > yān; #7109
+焊 > hàn; #710A
+焋 > zhuàng; #710B
+焌 > jùn; #710C
+焍 > dì; #710D
+焎 > xiè; #710E
+焏 > jí; #710F
+焐 > wù; #7110
+焓 > hán; #7113
+焔 > yàn; #7114
+焕 > huàn; #7115
+焖 > mèn; #7116
+焗 > jú; #7117
+焘 > chóu; #7118
+焙 > bèi; #7119
+焚 > fén; #711A
+焛 > lìn; #711B
+焜 > kūn; #711C
+焝 > hùn; #711D
+焞 > tūn; #711E
+焟 > xí; #711F
+焠 > cùi; #7120
+無 > wú; #7121
+焢 > hōng; #7122
+焣 > jù; #7123
+焤 > fŭ; #7124
+焥 > wò; #7125
+焦 > jiāo; #7126
+焧 > cōng; #7127
+焨 > fèng; #7128
+焩 > pīng; #7129
+焪 > qīong; #712A
+焫 > rùo; #712B
+焬 > xí; #712C
+焭 > qíong; #712D
+焮 > xìn; #712E
+焯 > zhúo; #712F
+焰 > yàn; #7130
+焱 > yàn; #7131
+焲 > yì; #7132
+焳 > jué; #7133
+焴 > yù; #7134
+焵 > gàng; #7135
+然 > rán; #7136
+焷 > pí; #7137
+焸 > gŭ; #7138
+焺 > shēng; #713A
+焻 > chàng; #713B
+焼 > shāo; #713C
+煁 > chén; #7141
+煂 > hè; #7142
+煃 > kŭi; #7143
+煄 > zhōng; #7144
+煅 > duàn; #7145
+煆 > xiā; #7146
+煇 > hūi; #7147
+煈 > fèng; #7148
+煉 > liàn; #7149
+煊 > xuān; #714A
+煋 > xīng; #714B
+煌 > huáng; #714C
+煍 > jiăo; #714D
+煎 > jiān; #714E
+煏 > bì; #714F
+煐 > yīng; #7150
+煑 > zhŭ; #7151
+煒 > wĕi; #7152
+煓 > tuān; #7153
+煔 > tiàn; #7154
+煕 > xī; #7155
+煖 > nuăn; #7156
+煗 > nuăn; #7157
+煘 > chán; #7158
+煙 > yān; #7159
+煚 > jĭong; #715A
+煛 > jĭong; #715B
+煜 > yù; #715C
+煝 > mèi; #715D
+煞 > shà; #715E
+煟 > wèi; #715F
+煠 > yè; #7160
+煡 > xìn; #7161
+煢 > qíong; #7162
+煣 > rŏu; #7163
+煤 > méi; #7164
+煥 > huàn; #7165
+煦 > xŭ; #7166
+照 > zhào; #7167
+煨 > wēi; #7168
+煩 > fán; #7169
+煪 > qíu; #716A
+煫 > sùi; #716B
+煬 > yáng; #716C
+煭 > liè; #716D
+煮 > zhŭ; #716E
+煯 > jie; #716F
+煰 > gào; #7170
+煱 > guā; #7171
+煲 > bào; #7172
+煳 > hú; #7173
+煴 > yūn; #7174
+煵 > xiā; #7175
+煸 > biān; #7178
+煹 > gòu; #7179
+煺 > tùi; #717A
+煻 > táng; #717B
+煼 > chăo; #717C
+煽 > shān; #717D
+煾 > n; #717E
+煿 > bó; #717F
+熀 > huăng; #7180
+熁 > xié; #7181
+熂 > xì; #7182
+熃 > wù; #7183
+熄 > xí; #7184
+熅 > yún; #7185
+熆 > hé; #7186
+熇 > hè; #7187
+熈 > xī; #7188
+熉 > yún; #7189
+熊 > xíong; #718A
+熋 > nái; #718B
+熌 > shàn; #718C
+熍 > qiong; #718D
+熎 > yào; #718E
+熏 > xūn; #718F
+熐 > mì; #7190
+熑 > lián; #7191
+熒 > yíng; #7192
+熓 > wèn; #7193
+熔 > róng; #7194
+熗 > qiàng; #7197
+熘 > līu; #7198
+熙 > xī; #7199
+熚 > bì; #719A
+熛 > biāo; #719B
+熜 > zŏng; #719C
+熝 > lù; #719D
+熞 > jiān; #719E
+熟 > shóu; #719F
+熠 > yì; #71A0
+熡 > lóu; #71A1
+熢 > fēng; #71A2
+熣 > sūi; #71A3
+熤 > yì; #71A4
+熥 > tōng; #71A5
+熦 > jué; #71A6
+熧 > zōng; #71A7
+熨 > yùn; #71A8
+熩 > hù; #71A9
+熪 > yí; #71AA
+熫 > zhì; #71AB
+熬 > áo; #71AC
+熭 > wèi; #71AD
+熮 > liáo; #71AE
+熯 > hàn; #71AF
+熰 > ōu; #71B0
+熱 > rè; #71B1
+熲 > jĭong; #71B2
+熳 > màn; #71B3
+熵 > shāng; #71B5
+熶 > cuàn; #71B6
+熷 > zēng; #71B7
+熸 > jiān; #71B8
+熹 > xī; #71B9
+熺 > xī; #71BA
+熻 > xī; #71BB
+熼 > yì; #71BC
+熽 > xiào; #71BD
+熾 > chì; #71BE
+熿 > huáng; #71BF
+燀 > chăn; #71C0
+燁 > yè; #71C1
+燂 > qián; #71C2
+燃 > rán; #71C3
+燄 > yàn; #71C4
+燅 > xián; #71C5
+燆 > qiáo; #71C6
+燇 > zùn; #71C7
+燈 > dēng; #71C8
+燉 > dùn; #71C9
+燊 > shēn; #71CA
+燋 > jiāo; #71CB
+燌 > fén; #71CC
+燍 > sī; #71CD
+燎 > liào; #71CE
+燏 > yù; #71CF
+燐 > lín; #71D0
+燑 > tóng; #71D1
+燒 > shāo; #71D2
+燓 > fēn; #71D3
+燔 > fán; #71D4
+燕 > yàn; #71D5
+燖 > xún; #71D6
+燗 > làn; #71D7
+燘 > mĕi; #71D8
+燙 > tàng; #71D9
+燚 > yī; #71DA
+燛 > jĭng; #71DB
+燜 > mèn; #71DC
+營 > yíng; #71DF
+燠 > yù; #71E0
+燡 > yì; #71E1
+燢 > xué; #71E2
+燣 > lán; #71E3
+燤 > tài; #71E4
+燥 > zào; #71E5
+燦 > càn; #71E6
+燧 > sùi; #71E7
+燨 > xī; #71E8
+燩 > què; #71E9
+燪 > cōng; #71EA
+燫 > lián; #71EB
+燬 > hŭi; #71EC
+燭 > zhú; #71ED
+燮 > xiè; #71EE
+燯 > líng; #71EF
+燰 > wēi; #71F0
+燱 > yì; #71F1
+燲 > xié; #71F2
+燳 > zhào; #71F3
+燴 > hùi; #71F4
+燷 > lán; #71F7
+燸 > rú; #71F8
+燹 > xiăn; #71F9
+燺 > kăo; #71FA
+燻 > xūn; #71FB
+燼 > jìn; #71FC
+燽 > chóu; #71FD
+燾 > chóu; #71FE
+燿 > yào; #71FF
+爀 > hè; #7200
+爁 > làn; #7201
+爂 > biāo; #7202
+爃 > róng; #7203
+爄 > lì; #7204
+爅 > mò; #7205
+爆 > bào; #7206
+爇 > rùo; #7207
+爈 > lǘ; #7208
+爉 > là; #7209
+爊 > áo; #720A
+爋 > xùn; #720B
+爌 > kuàng; #720C
+爍 > shùo; #720D
+爏 > lì; #720F
+爐 > lú; #7210
+爑 > jué; #7211
+爒 > liào; #7212
+爓 > yàn; #7213
+爔 > xī; #7214
+爕 > xiè; #7215
+爖 > lóng; #7216
+爗 > yè; #7217
+爙 > răng; #7219
+爚 > yuè; #721A
+爛 > làn; #721B
+爜 > cóng; #721C
+爝 > jué; #721D
+爞 > tóng; #721E
+爟 > guàn; #721F
+爡 > chè; #7221
+爢 > mí; #7222
+爣 > tăng; #7223
+爤 > làn; #7224
+爥 > zhú; #7225
+爧 > líng; #7227
+爨 > cuàn; #7228
+爩 > yù; #7229
+爪 > zhuă; #722A
+爬 > pá; #722C
+爭 > zhēng; #722D
+爮 > páo; #722E
+爯 > chēng; #722F
+爰 > yuán; #7230
+爱 > ài; #7231
+爲 > wèi; #7232
+爴 > jué; #7234
+爵 > jué; #7235
+父 > fù; #7236
+爷 > yé; #7237
+爸 > bà; #7238
+爹 > diē; #7239
+爺 > yé; #723A
+爻 > yáo; #723B
+爼 > zŭ; #723C
+爽 > shuăng; #723D
+爾 > ĕr; #723E
+爿 > qiáng; #723F
+牀 > chuáng; #7240
+牁 > gē; #7241
+牂 > zāng; #7242
+牃 > dié; #7243
+牄 > qiāng; #7244
+牅 > yóng; #7245
+牆 > qiáng; #7246
+片 > piàn; #7247
+版 > băn; #7248
+牉 > pàn; #7249
+牊 > sháo; #724A
+牋 > jiān; #724B
+牌 > pái; #724C
+牍 > dú; #724D
+牎 > chuāng; #724E
+牏 > tóu; #724F
+牐 > zhá; #7250
+牑 > biān; #7251
+牒 > dié; #7252
+牓 > băng; #7253
+牔 > bó; #7254
+牕 > chuāng; #7255
+牖 > yŏu; #7256
+牘 > dú; #7258
+牙 > yá; #7259
+牚 > chèng; #725A
+牛 > níu; #725B
+牝 > pìn; #725D
+牞 > jīu; #725E
+牟 > móu; #725F
+牠 > tūo; #7260
+牡 > mŭ; #7261
+牢 > láo; #7262
+牣 > rèn; #7263
+牤 > máng; #7264
+牥 > fāng; #7265
+牦 > máo; #7266
+牧 > mù; #7267
+牨 > gāng; #7268
+物 > wù; #7269
+牪 > yàn; #726A
+牫 > gē; #726B
+牬 > bèi; #726C
+牭 > sì; #726D
+牮 > jiàn; #726E
+牯 > gŭ; #726F
+牰 > yòu; #7270
+牱 > gē; #7271
+牲 > shēng; #7272
+牳 > mŭ; #7273
+牴 > dĭ; #7274
+牵 > qiān; #7275
+牶 > quàn; #7276
+牷 > quán; #7277
+牸 > zì; #7278
+特 > tè; #7279
+牺 > xī; #727A
+牻 > máng; #727B
+牼 > kēng; #727C
+牽 > qiān; #727D
+牾 > wú; #727E
+牿 > gù; #727F
+犀 > xī; #7280
+犁 > lí; #7281
+犂 > lí; #7282
+犃 > pŏu; #7283
+犄 > jī; #7284
+犅 > gāng; #7285
+犆 > zhí; #7286
+犇 > bēn; #7287
+犈 > quán; #7288
+犉 > rún; #7289
+犊 > dú; #728A
+犋 > jù; #728B
+犌 > jiā; #728C
+犍 > jiān; #728D
+犎 > fēng; #728E
+犏 > piān; #728F
+犐 > kē; #7290
+犑 > jú; #7291
+犒 > kào; #7292
+犓 > chú; #7293
+犔 > xì; #7294
+犕 > bèi; #7295
+犖 > lùo; #7296
+犗 > jiè; #7297
+犘 > má; #7298
+犙 > sān; #7299
+犚 > wèi; #729A
+犛 > lí; #729B
+犜 > dūn; #729C
+犝 > tóng; #729D
+犟 > jiàng; #729F
+犡 > lì; #72A1
+犢 > dú; #72A2
+犣 > liè; #72A3
+犤 > pí; #72A4
+犥 > piăo; #72A5
+犦 > bào; #72A6
+犧 > xī; #72A7
+犨 > chōu; #72A8
+犩 > wèi; #72A9
+犪 > kúi; #72AA
+犫 > chōu; #72AB
+犬 > quăn; #72AC
+犭 > făn' 'quăn' 'páng; #72AD
+犮 > bá; #72AE
+犯 > fàn; #72AF
+犰 > qíu; #72B0
+犱 > jĭ; #72B1
+犲 > cái; #72B2
+犳 > chúo; #72B3
+犴 > àn; #72B4
+犵 > jié; #72B5
+状 > zhuàng; #72B6
+犷 > guăng; #72B7
+犸 > mà; #72B8
+犹 > yóu; #72B9
+犺 > kàng; #72BA
+犻 > bó; #72BB
+犼 > hŏu; #72BC
+犽 > yá; #72BD
+犾 > yín; #72BE
+犿 > huān; #72BF
+狀 > zhuàng; #72C0
+狁 > yŭn; #72C1
+狂 > kuáng; #72C2
+狃 > nĭu; #72C3
+狄 > dí; #72C4
+狅 > qīng; #72C5
+狆 > zhòng; #72C6
+狇 > mù; #72C7
+狈 > bèi; #72C8
+狉 > pī; #72C9
+狊 > jú; #72CA
+狋 > ní; #72CB
+狌 > shēng; #72CC
+狍 > páo; #72CD
+狎 > xiá; #72CE
+狏 > túo; #72CF
+狐 > hú; #72D0
+狑 > líng; #72D1
+狒 > fèi; #72D2
+狓 > pī; #72D3
+狔 > nĭ; #72D4
+狕 > ăo; #72D5
+狖 > yòu; #72D6
+狗 > gŏu; #72D7
+狘 > yuè; #72D8
+狙 > jū; #72D9
+狚 > dàn; #72DA
+狛 > pò; #72DB
+狜 > gŭ; #72DC
+狝 > xiăn; #72DD
+狞 > níng; #72DE
+狟 > huán; #72DF
+狠 > hĕn; #72E0
+狡 > jiăo; #72E1
+狢 > hé; #72E2
+狣 > zhào; #72E3
+狤 > jí; #72E4
+狥 > xùn; #72E5
+狦 > shān; #72E6
+狧 > tà; #72E7
+狨 > róng; #72E8
+狩 > shòu; #72E9
+狪 > tōng; #72EA
+狫 > lăo; #72EB
+独 > dú; #72EC
+狭 > xiá; #72ED
+狮 > shī; #72EE
+狯 > huá; #72EF
+狰 > zhēng; #72F0
+狱 > yù; #72F1
+狲 > sūn; #72F2
+狳 > yú; #72F3
+狴 > bì; #72F4
+狵 > máng; #72F5
+狶 > xĭ; #72F6
+狷 > juàn; #72F7
+狸 > lí; #72F8
+狹 > xiá; #72F9
+狺 > yín; #72FA
+狻 > suān; #72FB
+狼 > láng; #72FC
+狽 > bèi; #72FD
+狾 > zhì; #72FE
+狿 > yán; #72FF
+猀 > shā; #7300
+猁 > lì; #7301
+猂 > hàn; #7302
+猃 > xiăn; #7303
+猄 > jīng; #7304
+猅 > pái; #7305
+猆 > fēi; #7306
+猇 > yáo; #7307
+猈 > bà; #7308
+猉 > qí; #7309
+猊 > ní; #730A
+猋 > biāo; #730B
+猌 > yìn; #730C
+猍 > lái; #730D
+猎 > xí; #730E
+猏 > jiān; #730F
+猐 > qiāng; #7310
+猑 > kūn; #7311
+猒 > yān; #7312
+猓 > gŭo; #7313
+猔 > zòng; #7314
+猕 > mí; #7315
+猖 > chāng; #7316
+猗 > yī; #7317
+猘 > zhì; #7318
+猙 > zhēng; #7319
+猚 > yá; #731A
+猛 > mĕng; #731B
+猜 > cāi; #731C
+猝 > cù; #731D
+猞 > shè; #731E
+猡 > lúo; #7321
+猢 > hú; #7322
+猣 > zōng; #7323
+猤 > jì; #7324
+猥 > wĕi; #7325
+猦 > fēng; #7326
+猧 > wō; #7327
+猨 > yuán; #7328
+猩 > xīng; #7329
+猪 > zhū; #732A
+猫 > māo; #732B
+猬 > wèi; #732C
+猭 > yuán; #732D
+献 > xiàn; #732E
+猯 > tuān; #732F
+猰 > yà; #7330
+猱 > náo; #7331
+猲 > xiē; #7332
+猳 > jiā; #7333
+猴 > hóu; #7334
+猵 > biān; #7335
+猶 > yóu; #7336
+猷 > yóu; #7337
+猸 > méi; #7338
+猹 > zhā; #7339
+猺 > yáo; #733A
+猻 > sūn; #733B
+猼 > bó; #733C
+猽 > míng; #733D
+猾 > huá; #733E
+猿 > yuán; #733F
+獀 > sōu; #7340
+獁 > mà; #7341
+獂 > yuán; #7342
+獃 > dāi; #7343
+獄 > yù; #7344
+獅 > shī; #7345
+獆 > háo; #7346
+獈 > yì; #7348
+獉 > zhēn; #7349
+獊 > chuàng; #734A
+獋 > háo; #734B
+獌 > màn; #734C
+獍 > jìng; #734D
+獎 > jiăng; #734E
+獏 > mú; #734F
+獐 > zhāng; #7350
+獑 > chán; #7351
+獒 > áo; #7352
+獓 > áo; #7353
+獔 > háo; #7354
+獕 > cūi; #7355
+獖 > fén; #7356
+獗 > jué; #7357
+獘 > bì; #7358
+獙 > bì; #7359
+獚 > huáng; #735A
+獛 > pú; #735B
+獜 > lín; #735C
+獝 > yù; #735D
+獞 > tóng; #735E
+獟 > yào; #735F
+獠 > liáo; #7360
+獡 > shùo; #7361
+獢 > xiāo; #7362
+獥 > xí; #7365
+獦 > gé; #7366
+獧 > juàn; #7367
+獨 > dú; #7368
+獩 > hùi; #7369
+獪 > kuài; #736A
+獫 > xiăn; #736B
+獬 > xiè; #736C
+獭 > tà; #736D
+獮 > xiăn; #736E
+獯 > xūn; #736F
+獰 > níng; #7370
+獱 > pín; #7371
+獲 > hùo; #7372
+獳 > nòu; #7373
+獴 > méng; #7374
+獵 > liè; #7375
+獶 > náo; #7376
+獷 > guăng; #7377
+獸 > shòu; #7378
+獹 > lú; #7379
+獺 > tà; #737A
+獻 > xiàn; #737B
+獼 > mí; #737C
+獽 > ráng; #737D
+獾 > huān; #737E
+獿 > náo; #737F
+玀 > lúo; #7380
+玁 > xiăn; #7381
+玂 > qí; #7382
+玃 > jué; #7383
+玄 > xuán; #7384
+玅 > miào; #7385
+玆 > zī; #7386
+率 > lǜ; #7387
+玈 > lú; #7388
+玉 > yù; #7389
+玊 > sù; #738A
+王 > wáng; #738B
+玌 > qíu; #738C
+玍 > gă; #738D
+玎 > dīng; #738E
+玏 > lè; #738F
+玐 > bā; #7390
+玑 > jī; #7391
+玒 > hóng; #7392
+玓 > dì; #7393
+玔 > quàn; #7394
+玕 > gān; #7395
+玖 > jĭu; #7396
+玗 > yú; #7397
+玘 > jĭ; #7398
+玙 > yú; #7399
+玚 > yáng; #739A
+玛 > mă; #739B
+玜 > gōng; #739C
+玝 > wŭ; #739D
+玞 > fū; #739E
+玟 > wén; #739F
+玠 > jiè; #73A0
+玡 > yà; #73A1
+玢 > fén; #73A2
+玣 > biàn; #73A3
+玤 > bĕng; #73A4
+玥 > yuè; #73A5
+玦 > jué; #73A6
+玧 > yŭn; #73A7
+玨 > jué; #73A8
+玩 > wán; #73A9
+玪 > jiān; #73AA
+玫 > méi; #73AB
+玬 > dăn; #73AC
+玭 > pí; #73AD
+玮 > wĕi; #73AE
+环 > huán; #73AF
+现 > xiàn; #73B0
+玱 > qiāng; #73B1
+玲 > líng; #73B2
+玳 > dài; #73B3
+玴 > yì; #73B4
+玵 > án; #73B5
+玶 > píng; #73B6
+玷 > diàn; #73B7
+玸 > fú; #73B8
+玹 > xuán; #73B9
+玺 > xĭ; #73BA
+玻 > bō; #73BB
+玼 > cĭ; #73BC
+玽 > gŏu; #73BD
+玾 > jiă; #73BE
+玿 > sháo; #73BF
+珀 > pò; #73C0
+珁 > cí; #73C1
+珂 > kē; #73C2
+珃 > răn; #73C3
+珄 > shēng; #73C4
+珅 > shēn; #73C5
+珆 > yí; #73C6
+珇 > zŭ; #73C7
+珈 > jiā; #73C8
+珉 > mín; #73C9
+珊 > shān; #73CA
+珋 > lĭu; #73CB
+珌 > bì; #73CC
+珍 > zhēn; #73CD
+珎 > zhēn; #73CE
+珏 > jué; #73CF
+珐 > fà; #73D0
+珑 > lóng; #73D1
+珒 > jīn; #73D2
+珓 > jiào; #73D3
+珔 > jiàn; #73D4
+珕 > lì; #73D5
+珖 > guāng; #73D6
+珗 > xiān; #73D7
+珘 > zhōu; #73D8
+珙 > gŏng; #73D9
+珚 > yān; #73DA
+珛 > xìu; #73DB
+珜 > yáng; #73DC
+珝 > xŭ; #73DD
+珞 > lùo; #73DE
+珟 > sù; #73DF
+珠 > zhū; #73E0
+珡 > qín; #73E1
+珢 > kèn; #73E2
+珣 > xún; #73E3
+珤 > băo; #73E4
+珥 > ĕr; #73E5
+珦 > xiàng; #73E6
+珧 > yáo; #73E7
+珨 > xiá; #73E8
+珩 > héng; #73E9
+珪 > gūi; #73EA
+珫 > chōng; #73EB
+珬 > xù; #73EC
+班 > bān; #73ED
+珮 > pèi; #73EE
+珰 > dāng; #73F0
+珲 > hún; #73F2
+珳 > wén; #73F3
+珴 > é; #73F4
+珵 > chéng; #73F5
+珶 > tí; #73F6
+珷 > wŭ; #73F7
+珸 > wú; #73F8
+珹 > chéng; #73F9
+珺 > jùn; #73FA
+珻 > méi; #73FB
+珼 > bèi; #73FC
+珽 > tĭng; #73FD
+現 > xiàn; #73FE
+珿 > chùo; #73FF
+琀 > hán; #7400
+琁 > xuan; #7401
+琂 > yán; #7402
+球 > qíu; #7403
+琄 > quăn; #7404
+琅 > láng; #7405
+理 > lĭ; #7406
+琇 > xìu; #7407
+琈 > fú; #7408
+琉 > líu; #7409
+琊 > yé; #740A
+琋 > xī; #740B
+琌 > líng; #740C
+琍 > lì; #740D
+琎 > jìn; #740E
+琏 > lián; #740F
+琐 > sŭo; #7410
+琓 > wán; #7413
+琔 > diàn; #7414
+琕 > pín; #7415
+琖 > zhăn; #7416
+琗 > cùi; #7417
+琘 > mín; #7418
+琙 > yù; #7419
+琚 > jū; #741A
+琛 > chēn; #741B
+琜 > lái; #741C
+琝 > wén; #741D
+琞 > shèng; #741E
+琟 > wéi; #741F
+琠 > diăn; #7420
+琡 > chù; #7421
+琢 > zhúo; #7422
+琣 > pĕi; #7423
+琤 > chēng; #7424
+琥 > hŭ; #7425
+琦 > qí; #7426
+琧 > è; #7427
+琨 > kūn; #7428
+琩 > chāng; #7429
+琪 > qí; #742A
+琫 > bĕng; #742B
+琬 > wăn; #742C
+琭 > lù; #742D
+琮 > cóng; #742E
+琯 > guăn; #742F
+琰 > yăn; #7430
+琱 > diāo; #7431
+琲 > bèi; #7432
+琳 > lín; #7433
+琴 > qín; #7434
+琵 > pí; #7435
+琶 > pá; #7436
+琷 > què; #7437
+琸 > zhúo; #7438
+琹 > qín; #7439
+琺 > fà; #743A
+琼 > qíong; #743C
+琽 > dŭ; #743D
+琾 > jiè; #743E
+琿 > hún; #743F
+瑀 > yŭ; #7440
+瑁 > mào; #7441
+瑂 > méi; #7442
+瑃 > chun; #7443
+瑄 > xuān; #7444
+瑅 > tí; #7445
+瑆 > xīng; #7446
+瑇 > dài; #7447
+瑈 > róu; #7448
+瑉 > mín; #7449
+瑊 > zhēn; #744A
+瑋 > wĕi; #744B
+瑌 > ruăn; #744C
+瑍 > huàn; #744D
+瑎 > jiē; #744E
+瑏 > chuān; #744F
+瑐 > jiăn; #7450
+瑑 > zhuàn; #7451
+瑒 > yáng; #7452
+瑓 > liàn; #7453
+瑔 > quán; #7454
+瑕 > xiá; #7455
+瑖 > duàn; #7456
+瑗 > yuàn; #7457
+瑘 > yé; #7458
+瑙 > năo; #7459
+瑚 > hú; #745A
+瑛 > yīng; #745B
+瑜 > yú; #745C
+瑝 > huáng; #745D
+瑞 > rùi; #745E
+瑟 > sè; #745F
+瑠 > líu; #7460
+瑡 > shi; #7461
+瑢 > róng; #7462
+瑣 > sŭo; #7463
+瑤 > yáo; #7464
+瑥 > wēn; #7465
+瑦 > wū; #7466
+瑧 > jīn; #7467
+瑨 > jìn; #7468
+瑩 > yíng; #7469
+瑪 > mă; #746A
+瑫 > tāo; #746B
+瑬 > líu; #746C
+瑭 > táng; #746D
+瑮 > lì; #746E
+瑯 > láng; #746F
+瑰 > gūi; #7470
+瑱 > zhèn; #7471
+瑲 > qiāng; #7472
+瑳 > cŭo; #7473
+瑴 > jué; #7474
+瑵 > zhăo; #7475
+瑶 > yáo; #7476
+瑷 > ài; #7477
+瑸 > bīn; #7478
+瑹 > tú; #7479
+瑺 > cháng; #747A
+瑻 > kūn; #747B
+瑼 > zhuān; #747C
+瑽 > cōng; #747D
+瑾 > jĭn; #747E
+瑿 > yī; #747F
+璀 > cŭi; #7480
+璁 > cōng; #7481
+璂 > qí; #7482
+璃 > lí; #7483
+璄 > yĭng; #7484
+璅 > sŭo; #7485
+璆 > qíu; #7486
+璇 > xuán; #7487
+璈 > áo; #7488
+璉 > lián; #7489
+璊 > mán; #748A
+璋 > zhāng; #748B
+璌 > yín; #748C
+璎 > yīng; #748E
+璏 > zhì; #748F
+璐 > lù; #7490
+璑 > wú; #7491
+璒 > dēng; #7492
+璓 > xiòu; #7493
+璔 > zēng; #7494
+璕 > xún; #7495
+璖 > qú; #7496
+璗 > dàng; #7497
+璘 > lín; #7498
+璙 > liáo; #7499
+璚 > qíong; #749A
+璛 > sù; #749B
+璜 > huáng; #749C
+璝 > gūi; #749D
+璞 > pú; #749E
+璟 > jĭng; #749F
+璠 > fán; #74A0
+璡 > jìn; #74A1
+璢 > líu; #74A2
+璣 > jī; #74A3
+璥 > jĭng; #74A5
+璦 > ài; #74A6
+璧 > bì; #74A7
+璨 > càn; #74A8
+璩 > qú; #74A9
+璪 > zăo; #74AA
+璫 > dāng; #74AB
+璬 > jiăo; #74AC
+璭 > gùn; #74AD
+璮 > tăn; #74AE
+璯 > hùi; #74AF
+環 > huán; #74B0
+璱 > sè; #74B1
+璲 > sùi; #74B2
+璳 > tián; #74B3
+璵 > yú; #74B5
+璶 > jìn; #74B6
+璷 > lú; #74B7
+璸 > bīn; #74B8
+璹 > shòu; #74B9
+璺 > wèn; #74BA
+璻 > zŭi; #74BB
+璼 > lán; #74BC
+璽 > xĭ; #74BD
+璾 > jì; #74BE
+璿 > xuán; #74BF
+瓀 > ruăn; #74C0
+瓁 > hùo; #74C1
+瓂 > gài; #74C2
+瓃 > léi; #74C3
+瓄 > dú; #74C4
+瓅 > lì; #74C5
+瓆 > zhí; #74C6
+瓇 > róu; #74C7
+瓈 > lí; #74C8
+瓉 > zàn; #74C9
+瓊 > qíong; #74CA
+瓋 > zhé; #74CB
+瓌 > gūi; #74CC
+瓍 > sùi; #74CD
+瓎 > là; #74CE
+瓏 > lóng; #74CF
+瓐 > lú; #74D0
+瓑 > lì; #74D1
+瓒 > zàn; #74D2
+瓓 > làn; #74D3
+瓔 > yīng; #74D4
+瓕 > mí; #74D5
+瓖 > xiāng; #74D6
+瓗 > xī; #74D7
+瓘 > guàn; #74D8
+瓙 > dào; #74D9
+瓚 > zàn; #74DA
+瓛 > huán; #74DB
+瓜 > guā; #74DC
+瓝 > bó; #74DD
+瓞 > dié; #74DE
+瓟 > báo; #74DF
+瓠 > hù; #74E0
+瓡 > zhí; #74E1
+瓢 > piáo; #74E2
+瓣 > bàn; #74E3
+瓤 > ráng; #74E4
+瓥 > lì; #74E5
+瓦 > wă; #74E6
+瓨 > jiāng; #74E8
+瓩 > qián' 'wă; #74E9
+瓪 > făn; #74EA
+瓫 > pén; #74EB
+瓬 > făng; #74EC
+瓭 > dăn; #74ED
+瓮 > wèng; #74EE
+瓯 > ōu; #74EF
+瓳 > hú; #74F3
+瓴 > líng; #74F4
+瓵 > yí; #74F5
+瓶 > píng; #74F6
+瓷 > cí; #74F7
+瓹 > juàn; #74F9
+瓺 > cháng; #74FA
+瓻 > chī; #74FB
+瓽 > dàng; #74FD
+瓾 > mĕng; #74FE
+瓿 > pŏu; #74FF
+甀 > zhùi; #7500
+甁 > píng; #7501
+甂 > biān; #7502
+甃 > zhòu; #7503
+甄 > zhēn; #7504
+甆 > cí; #7506
+甇 > yīng; #7507
+甈 > qì; #7508
+甉 > xián; #7509
+甊 > lŏu; #750A
+甋 > dì; #750B
+甌 > ōu; #750C
+甍 > méng; #750D
+甎 > zhuān; #750E
+甏 > pèng; #750F
+甐 > lín; #7510
+甑 > zèng; #7511
+甒 > wŭ; #7512
+甓 > pì; #7513
+甔 > dān; #7514
+甕 > wèng; #7515
+甖 > yīng; #7516
+甗 > yăn; #7517
+甘 > gān; #7518
+甙 > dài; #7519
+甚 > shén; #751A
+甛 > tián; #751B
+甜 > tián; #751C
+甝 > hān; #751D
+甞 > cháng; #751E
+生 > shēng; #751F
+甠 > qíng; #7520
+甡 > shēng; #7521
+產 > chăn; #7522
+産 > chăn; #7523
+甤 > rúi; #7524
+甥 > shēng; #7525
+甦 > sū; #7526
+甧 > sēn; #7527
+用 > yòng; #7528
+甩 > shuăi; #7529
+甪 > lù; #752A
+甫 > fŭ; #752B
+甬 > yŏng; #752C
+甭 > béng; #752D
+甮 > fèng; #752E
+甯 > níng; #752F
+田 > tián; #7530
+由 > yóu; #7531
+甲 > jiă; #7532
+申 > shēn; #7533
+甴 > zhá; #7534
+电 > diàn; #7535
+甶 > fú; #7536
+男 > nán; #7537
+甸 > diàn; #7538
+甹 > píng; #7539
+町 > tĭng; #753A
+画 > huà; #753B
+甼 > tĭng; #753C
+甽 > quăn; #753D
+甾 > zī; #753E
+甿 > méng; #753F
+畀 > bì; #7540
+畁 > qí; #7541
+畂 > lìu; #7542
+畃 > xún; #7543
+畄 > líu; #7544
+畅 > chàng; #7545
+畆 > mŭ; #7546
+畇 > yún; #7547
+畈 > fàn; #7548
+畉 > fú; #7549
+畊 > gēng; #754A
+畋 > tián; #754B
+界 > jiè; #754C
+畍 > jiè; #754D
+畎 > quăn; #754E
+畏 > wèi; #754F
+畐 > fú; #7550
+畑 > tián; #7551
+畒 > mŭ; #7552
+畔 > pàn; #7554
+畕 > jiāng; #7555
+畖 > wā; #7556
+畗 > dá; #7557
+畘 > nán; #7558
+留 > líu; #7559
+畚 > bĕn; #755A
+畛 > zhĕn; #755B
+畜 > chù; #755C
+畝 > mŭ; #755D
+畞 > mŭ; #755E
+畟 > cè; #755F
+畡 > gāi; #7561
+畢 > bì; #7562
+畣 > dá; #7563
+畤 > zhì; #7564
+略 > lǜe; #7565
+畦 > qí; #7566
+畧 > lǜe; #7567
+畨 > pān; #7568
+番 > fān; #756A
+畫 > huà; #756B
+畬 > yú; #756C
+畭 > yú; #756D
+畮 > mŭ; #756E
+畯 > jùn; #756F
+異 > yì; #7570
+畱 > líu; #7571
+畲 > yú; #7572
+畳 > dié; #7573
+畴 > chóu; #7574
+畵 > huà; #7575
+當 > dāng; #7576
+畷 > chùo; #7577
+畸 > jī; #7578
+畹 > wăn; #7579
+畺 > jiāng; #757A
+畻 > shéng; #757B
+畼 > chàng; #757C
+畽 > tuăn; #757D
+畾 > léi; #757E
+畿 > jī; #757F
+疀 > chā; #7580
+疁 > líu; #7581
+疃 > tuăn; #7583
+疄 > lín; #7584
+疅 > jiāng; #7585
+疆 > jiāng; #7586
+疇 > chóu; #7587
+疈 > bò; #7588
+疉 > dié; #7589
+疊 > dié; #758A
+疋 > pĭ; #758B
+疌 > niè; #758C
+疍 > dàn; #758D
+疎 > shū; #758E
+疏 > shū; #758F
+疐 > zhì; #7590
+疑 > yí; #7591
+疒 > chuáng; #7592
+疓 > năi; #7593
+疔 > dīng; #7594
+疕 > bĭ; #7595
+疖 > jié; #7596
+疗 > liáo; #7597
+疘 > gōng; #7598
+疙 > gē; #7599
+疚 > jìu; #759A
+疛 > zhŏu; #759B
+疜 > xià; #759C
+疝 > shàn; #759D
+疞 > xū; #759E
+疟 > nǜe; #759F
+疠 > lì; #75A0
+疡 > yáng; #75A1
+疢 > chèn; #75A2
+疣 > yóu; #75A3
+疤 > bā; #75A4
+疥 > jiè; #75A5
+疦 > jué; #75A6
+疧 > zhī; #75A7
+疨 > xiā; #75A8
+疩 > cùi; #75A9
+疪 > bì; #75AA
+疫 > yì; #75AB
+疬 > lì; #75AC
+疭 > zòng; #75AD
+疮 > chuāng; #75AE
+疯 > fēng; #75AF
+疰 > zhù; #75B0
+疱 > pào; #75B1
+疲 > pí; #75B2
+疳 > gān; #75B3
+疴 > kē; #75B4
+疵 > cī; #75B5
+疶 > xiè; #75B6
+疷 > qí; #75B7
+疸 > dăn; #75B8
+疹 > zhĕn; #75B9
+疺 > fá; #75BA
+疻 > zhĭ; #75BB
+疼 > téng; #75BC
+疽 > jū; #75BD
+疾 > jí; #75BE
+疿 > fèi; #75BF
+痀 > qú; #75C0
+痁 > diàn; #75C1
+痂 > jiā; #75C2
+痃 > xián; #75C3
+痄 > chá; #75C4
+病 > bìng; #75C5
+痆 > nì; #75C6
+症 > zhèng; #75C7
+痈 > yōng; #75C8
+痉 > jìng; #75C9
+痊 > quán; #75CA
+痋 > chóng; #75CB
+痌 > tōng; #75CC
+痍 > yí; #75CD
+痎 > kāi; #75CE
+痏 > wĕi; #75CF
+痐 > húi; #75D0
+痑 > dŭo; #75D1
+痒 > yăng; #75D2
+痓 > chì; #75D3
+痔 > zhì; #75D4
+痕 > hén; #75D5
+痖 > yă; #75D6
+痗 > mèi; #75D7
+痘 > dòu; #75D8
+痙 > jìng; #75D9
+痚 > xiāo; #75DA
+痛 > tòng; #75DB
+痜 > tū; #75DC
+痝 > máng; #75DD
+痞 > pĭ; #75DE
+痟 > xiāo; #75DF
+痠 > suān; #75E0
+痡 > pū; #75E1
+痢 > lì; #75E2
+痣 > zhì; #75E3
+痤 > cúo; #75E4
+痥 > dúo; #75E5
+痦 > wù; #75E6
+痧 > shā; #75E7
+痨 > láo; #75E8
+痩 > shòu; #75E9
+痪 > huàn; #75EA
+痫 > xián; #75EB
+痬 > yì; #75EC
+痭 > péng; #75ED
+痮 > zhàng; #75EE
+痯 > guăn; #75EF
+痰 > tán; #75F0
+痱 > fèi; #75F1
+痲 > má; #75F2
+痳 > lín; #75F3
+痴 > chī; #75F4
+痵 > jì; #75F5
+痶 > diăn; #75F6
+痷 > ān; #75F7
+痸 > chì; #75F8
+痹 > bì; #75F9
+痺 > bēi; #75FA
+痻 > mín; #75FB
+痼 > gū; #75FC
+痽 > dūi; #75FD
+痾 > ē; #75FE
+痿 > wĕi; #75FF
+瘀 > yū; #7600
+瘁 > cùi; #7601
+瘂 > yă; #7602
+瘃 > zhŭ; #7603
+瘄 > cù; #7604
+瘅 > dàn; #7605
+瘆 > shèn; #7606
+瘇 > zhŭng; #7607
+瘈 > jì; #7608
+瘉 > yù; #7609
+瘊 > hóu; #760A
+瘋 > fēng; #760B
+瘌 > là; #760C
+瘍 > yáng; #760D
+瘎 > shèn; #760E
+瘏 > tú; #760F
+瘐 > yŭ; #7610
+瘑 > guā; #7611
+瘒 > wén; #7612
+瘓 > huàn; #7613
+瘔 > kù; #7614
+瘕 > jiă; #7615
+瘖 > yīn; #7616
+瘗 > yì; #7617
+瘘 > lǘ; #7618
+瘙 > sāo; #7619
+瘚 > jué; #761A
+瘛 > chì; #761B
+瘜 > xí; #761C
+瘝 > guān; #761D
+瘞 > yì; #761E
+瘟 > wēn; #761F
+瘠 > jí; #7620
+瘡 > chuāng; #7621
+瘢 > bān; #7622
+瘣 > lĕi; #7623
+瘤 > líu; #7624
+瘥 > chài; #7625
+瘦 > shòu; #7626
+瘧 > nǜe; #7627
+瘨 > diān; #7628
+瘩 > dā; #7629
+瘪 > piē; #762A
+瘫 > tān; #762B
+瘬 > zhàng; #762C
+瘭 > biāo; #762D
+瘮 > shen; #762E
+瘯 > cù; #762F
+瘰 > lŭo; #7630
+瘱 > yì; #7631
+瘲 > zòng; #7632
+瘳 > chōu; #7633
+瘴 > zhàng; #7634
+瘵 > zhài; #7635
+瘶 > sòu; #7636
+瘷 > sŭo; #7637
+瘸 > qué; #7638
+瘹 > diào; #7639
+瘺 > lòu; #763A
+瘻 > lǘ; #763B
+瘼 > mò; #763C
+瘽 > jìn; #763D
+瘾 > yĭn; #763E
+瘿 > yĭng; #763F
+癀 > huáng; #7640
+癁 > fú; #7641
+療 > liáo; #7642
+癃 > lóng; #7643
+癄 > qiáo; #7644
+癅 > líu; #7645
+癆 > láo; #7646
+癇 > xián; #7647
+癈 > fèi; #7648
+癉 > dàn; #7649
+癊 > yìn; #764A
+癋 > hè; #764B
+癌 > yán; #764C
+癍 > bān; #764D
+癎 > xián; #764E
+癏 > guān; #764F
+癐 > guài; #7650
+癑 > nóng; #7651
+癒 > yù; #7652
+癓 > wéi; #7653
+癔 > yì; #7654
+癕 > yōng; #7655
+癖 > pĭ; #7656
+癗 > lĕi; #7657
+癘 > lì; #7658
+癙 > shŭ; #7659
+癚 > dàn; #765A
+癛 > lĭn; #765B
+癜 > diàn; #765C
+癝 > lĭn; #765D
+癞 > lài; #765E
+癟 > piē; #765F
+癠 > jì; #7660
+癡 > chī; #7661
+癢 > yăng; #7662
+癣 > xiăn; #7663
+癤 > jié; #7664
+癥 > zhēng; #7665
+癧 > lì; #7667
+癨 > hùo; #7668
+癩 > lài; #7669
+癫 > diān; #766B
+癬 > xiăn; #766C
+癭 > yĭng; #766D
+癮 > yĭn; #766E
+癯 > qú; #766F
+癰 > yōng; #7670
+癱 > tān; #7671
+癲 > diān; #7672
+癳 > lŭo; #7673
+癴 > lǘan; #7674
+癵 > luán; #7675
+癶 > bō; #7676
+癸 > gŭi; #7678
+癹 > pō; #7679
+発 > fā; #767A
+登 > dēng; #767B
+發 > fā; #767C
+白 > bái; #767D
+百 > băi; #767E
+癿 > qié; #767F
+皀 > bī; #7680
+皁 > zào; #7681
+皂 > zào; #7682
+皃 > mào; #7683
+的 > de; #7684
+皅 > pā; #7685
+皆 > jiē; #7686
+皇 > huáng; #7687
+皈 > gūi; #7688
+皉 > cĭ; #7689
+皊 > líng; #768A
+皋 > gāo; #768B
+皌 > mò; #768C
+皍 > jí; #768D
+皎 > jiăo; #768E
+皏 > pĕng; #768F
+皐 > gāo; #7690
+皑 > ái; #7691
+皒 > é; #7692
+皓 > hào; #7693
+皔 > hàn; #7694
+皕 > bī; #7695
+皖 > wăn; #7696
+皗 > chóu; #7697
+皘 > qiàn; #7698
+皙 > xī; #7699
+皚 > ái; #769A
+皛 > jĭong; #769B
+皜 > hào; #769C
+皝 > huăng; #769D
+皞 > hào; #769E
+皟 > zé; #769F
+皠 > cŭi; #76A0
+皡 > hào; #76A1
+皢 > xiăo; #76A2
+皣 > yè; #76A3
+皤 > pó; #76A4
+皥 > hào; #76A5
+皦 > jiăo; #76A6
+皧 > ài; #76A7
+皨 > xīng; #76A8
+皩 > huàng; #76A9
+皪 > lì; #76AA
+皫 > piăo; #76AB
+皬 > hè; #76AC
+皭 > jiào; #76AD
+皮 > pí; #76AE
+皯 > găn; #76AF
+皰 > pào; #76B0
+皱 > zhòu; #76B1
+皲 > jūn; #76B2
+皳 > qíu; #76B3
+皴 > cūn; #76B4
+皵 > què; #76B5
+皶 > zhā; #76B6
+皷 > gŭ; #76B7
+皸 > jūn; #76B8
+皹 > jūn; #76B9
+皺 > zhòu; #76BA
+皻 > zhā; #76BB
+皼 > gŭ; #76BC
+皽 > zhăn; #76BD
+皾 > dú; #76BE
+皿 > mĭn; #76BF
+盀 > qĭ; #76C0
+盁 > yíng; #76C1
+盂 > yú; #76C2
+盃 > bēi; #76C3
+盄 > zhāo; #76C4
+盅 > zhōng; #76C5
+盆 > pén; #76C6
+盇 > hé; #76C7
+盈 > yíng; #76C8
+盉 > hé; #76C9
+益 > yì; #76CA
+盋 > bō; #76CB
+盌 > wăn; #76CC
+盍 > hé; #76CD
+盎 > àng; #76CE
+盏 > zhăn; #76CF
+盐 > yán; #76D0
+监 > jiān; #76D1
+盒 > hé; #76D2
+盓 > yū; #76D3
+盔 > kūi; #76D4
+盕 > fàn; #76D5
+盖 > gài; #76D6
+盗 > dào; #76D7
+盘 > pán; #76D8
+盙 > fŭ; #76D9
+盚 > qíu; #76DA
+盛 > shèng; #76DB
+盜 > dào; #76DC
+盝 > lù; #76DD
+盞 > zhăn; #76DE
+盟 > méng; #76DF
+盠 > lĭ; #76E0
+盡 > jìn; #76E1
+盢 > xù; #76E2
+監 > jiān; #76E3
+盤 > pán; #76E4
+盥 > guàn; #76E5
+盦 > ān; #76E6
+盧 > lú; #76E7
+盨 > shŭ; #76E8
+盩 > zhōu; #76E9
+盪 > dàng; #76EA
+盫 > ān; #76EB
+盬 > gŭ; #76EC
+盭 > lì; #76ED
+目 > mù; #76EE
+盯 > chéng; #76EF
+盰 > găn; #76F0
+盱 > xū; #76F1
+盲 > máng; #76F2
+盳 > máng; #76F3
+直 > zhí; #76F4
+盵 > qì; #76F5
+盶 > ruăn; #76F6
+盷 > tián; #76F7
+相 > xiāng; #76F8
+盹 > dùn; #76F9
+盺 > xīn; #76FA
+盻 > xì; #76FB
+盼 > pàn; #76FC
+盽 > fēng; #76FD
+盾 > dùn; #76FE
+盿 > mín; #76FF
+眀 > míng; #7700
+省 > shĕng; #7701
+眂 > shì; #7702
+眃 > yún; #7703
+眄 > miăn; #7704
+眅 > pān; #7705
+眆 > făng; #7706
+眇 > miăo; #7707
+眈 > dān; #7708
+眉 > méi; #7709
+眊 > mào; #770A
+看 > kàn; #770B
+県 > xiàn; #770C
+眍 > ōu; #770D
+眎 > shì; #770E
+眏 > yāng; #770F
+眐 > zhēng; #7710
+眑 > yăo; #7711
+眒 > shèn; #7712
+眓 > hùo; #7713
+眔 > dà; #7714
+眕 > zhĕn; #7715
+眖 > kuàng; #7716
+眗 > jū; #7717
+眘 > shèn; #7718
+眙 > chì; #7719
+眚 > shĕng; #771A
+眛 > mèi; #771B
+眜 > mò; #771C
+眝 > zhù; #771D
+眞 > zhēn; #771E
+真 > zhēn; #771F
+眠 > mián; #7720
+眡 > dī; #7721
+眢 > yuān; #7722
+眣 > dié; #7723
+眤 > yí; #7724
+眥 > zì; #7725
+眦 > zì; #7726
+眧 > chăo; #7727
+眨 > zhă; #7728
+眩 > xuàn; #7729
+眪 > bĭng; #772A
+眫 > mĭ; #772B
+眬 > lóng; #772C
+眭 > sūi; #772D
+眮 > dòng; #772E
+眯 > mĭ; #772F
+眰 > dié; #7730
+眱 > yí; #7731
+眲 > èr; #7732
+眳 > mĭng; #7733
+眴 > xuàn; #7734
+眵 > chī; #7735
+眶 > kuàng; #7736
+眷 > juàn; #7737
+眸 > móu; #7738
+眹 > zhèn; #7739
+眺 > tiào; #773A
+眻 > yáng; #773B
+眼 > yăn; #773C
+眽 > mò; #773D
+眾 > zhòng; #773E
+眿 > mài; #773F
+着 > zháo; #7740
+睁 > zhēng; #7741
+睂 > méi; #7742
+睃 > jùn; #7743
+睄 > shào; #7744
+睅 > hàn; #7745
+睆 > huăn; #7746
+睇 > dì; #7747
+睈 > chĕng; #7748
+睉 > cūo; #7749
+睊 > juàn; #774A
+睋 > é; #774B
+睌 > wăn; #774C
+睍 > xiàn; #774D
+睎 > xī; #774E
+睏 > kùn; #774F
+睐 > lài; #7750
+睑 > jiăn; #7751
+睒 > shăn; #7752
+睓 > tiăn; #7753
+睔 > hŭn; #7754
+睕 > wăn; #7755
+睖 > líng; #7756
+睗 > shì; #7757
+睘 > qíong; #7758
+睙 > liè; #7759
+睚 > yái; #775A
+睛 > jīng; #775B
+睜 > zhēng; #775C
+睝 > lí; #775D
+睞 > lài; #775E
+睟 > sùi; #775F
+睠 > juàn; #7760
+睡 > shùi; #7761
+睢 > sūi; #7762
+督 > dū; #7763
+睤 > bì; #7764
+睥 > bì; #7765
+睦 > mù; #7766
+睧 > hūn; #7767
+睨 > nì; #7768
+睩 > lù; #7769
+睪 > yì; #776A
+睫 > jié; #776B
+睬 > căi; #776C
+睭 > zhŏu; #776D
+睮 > yú; #776E
+睯 > hūn; #776F
+睰 > mà; #7770
+睱 > xià; #7771
+睲 > xĭng; #7772
+睳 > xī; #7773
+睴 > gùn; #7774
+睵 > cai; #7775
+睶 > chŭn; #7776
+睷 > jiān; #7777
+睸 > mèi; #7778
+睹 > dŭ; #7779
+睺 > hóu; #777A
+睻 > xuān; #777B
+睼 > tì; #777C
+睽 > kúi; #777D
+睾 > gāo; #777E
+睿 > rùi; #777F
+瞀 > mòu; #7780
+瞁 > xù; #7781
+瞂 > fā; #7782
+瞃 > wēn; #7783
+瞄 > miáo; #7784
+瞅 > chŏu; #7785
+瞆 > kùi; #7786
+瞇 > mī; #7787
+瞈 > wĕng; #7788
+瞉 > kòu; #7789
+瞊 > dàng; #778A
+瞋 > chēn; #778B
+瞌 > kē; #778C
+瞍 > sŏu; #778D
+瞎 > xiā; #778E
+瞏 > qíong; #778F
+瞐 > mào; #7790
+瞑 > míng; #7791
+瞒 > mán; #7792
+瞓 > shùi; #7793
+瞔 > zé; #7794
+瞕 > zhàng; #7795
+瞖 > yì; #7796
+瞗 > diāo; #7797
+瞘 > ōu; #7798
+瞙 > mò; #7799
+瞚 > shùn; #779A
+瞛 > cōng; #779B
+瞜 > lōu; #779C
+瞝 > chī; #779D
+瞞 > mán; #779E
+瞟 > piăo; #779F
+瞠 > chēng; #77A0
+瞡 > jì; #77A1
+瞢 > méng; #77A2
+瞤 > rún; #77A4
+瞥 > piē; #77A5
+瞦 > xī; #77A6
+瞧 > qiáo; #77A7
+瞨 > pú; #77A8
+瞩 > zhŭ; #77A9
+瞪 > dèng; #77AA
+瞫 > shĕn; #77AB
+瞬 > shùn; #77AC
+瞭 > liăo; #77AD
+瞮 > chè; #77AE
+瞯 > xián; #77AF
+瞰 > kàn; #77B0
+瞱 > yè; #77B1
+瞲 > xù; #77B2
+瞳 > tóng; #77B3
+瞴 > móu; #77B4
+瞵 > lín; #77B5
+瞶 > kùi; #77B6
+瞷 > xián; #77B7
+瞸 > yè; #77B8
+瞹 > ài; #77B9
+瞺 > hùi; #77BA
+瞻 > zhān; #77BB
+瞼 > jiăn; #77BC
+瞽 > gŭ; #77BD
+瞾 > zhào; #77BE
+瞿 > qū; #77BF
+矀 > wéi; #77C0
+矁 > chŏu; #77C1
+矂 > sào; #77C2
+矃 > nĭng; #77C3
+矄 > xūn; #77C4
+矅 > yào; #77C5
+矆 > hùo; #77C6
+矇 > méng; #77C7
+矈 > mián; #77C8
+矉 > bīn; #77C9
+矊 > mián; #77CA
+矋 > lì; #77CB
+矌 > kuàng; #77CC
+矍 > jué; #77CD
+矎 > xuān; #77CE
+矏 > mián; #77CF
+矐 > hùo; #77D0
+矑 > lú; #77D1
+矒 > méng; #77D2
+矓 > lóng; #77D3
+矔 > guàn; #77D4
+矕 > măn; #77D5
+矖 > xĭ; #77D6
+矗 > chù; #77D7
+矘 > tăng; #77D8
+矙 > kàn; #77D9
+矚 > zhŭ; #77DA
+矛 > máo; #77DB
+矜 > jīn; #77DC
+矝 > lín; #77DD
+矞 > yù; #77DE
+矟 > shùo; #77DF
+矠 > cè; #77E0
+矡 > jué; #77E1
+矢 > shĭ; #77E2
+矣 > yĭ; #77E3
+矤 > shĕn; #77E4
+知 > zhī; #77E5
+矦 > hóu; #77E6
+矧 > shĕn; #77E7
+矨 > yĭng; #77E8
+矩 > jŭ; #77E9
+矪 > zhōu; #77EA
+矫 > jiăo; #77EB
+矬 > cúo; #77EC
+短 > duăn; #77ED
+矮 > ăi; #77EE
+矯 > jiăo; #77EF
+矰 > zēng; #77F0
+矱 > hùo; #77F1
+矲 > băi; #77F2
+石 > shí; #77F3
+矴 > dìng; #77F4
+矵 > qì; #77F5
+矶 > jī; #77F6
+矷 > zĭ; #77F7
+矸 > gān; #77F8
+矹 > wù; #77F9
+矺 > tūo; #77FA
+矻 > kù; #77FB
+矼 > qiāng; #77FC
+矽 > xì; #77FD
+矾 > fán; #77FE
+矿 > kuàng; #77FF
+砀 > dàng; #7800
+码 > mă; #7801
+砂 > shā; #7802
+砃 > dān; #7803
+砄 > jué; #7804
+砅 > lì; #7805
+砆 > fū; #7806
+砇 > mín; #7807
+砈 > nŭo; #7808
+砉 > hùo; #7809
+砊 > kàng; #780A
+砋 > zhĭ; #780B
+砌 > qì; #780C
+砍 > kăn; #780D
+砎 > jiè; #780E
+砏 > fēn; #780F
+砐 > è; #7810
+砑 > yà; #7811
+砒 > pī; #7812
+砓 > zhé; #7813
+研 > yán; #7814
+砕 > sùi; #7815
+砖 > zhuān; #7816
+砗 > chē; #7817
+砘 > dùn; #7818
+砙 > pān; #7819
+砚 > yàn; #781A
+砜 > fēng; #781C
+砝 > fá; #781D
+砞 > mò; #781E
+砟 > zhà; #781F
+砠 > qū; #7820
+砡 > yù; #7821
+砢 > lŭo; #7822
+砣 > túo; #7823
+砤 > túo; #7824
+砥 > dĭ; #7825
+砦 > zhài; #7826
+砧 > zhēn; #7827
+砨 > ài; #7828
+砩 > fèi; #7829
+砪 > mŭ; #782A
+砫 > zhŭ; #782B
+砬 > lì; #782C
+砭 > biān; #782D
+砮 > nŭ; #782E
+砯 > pīng; #782F
+砰 > pēng; #7830
+砱 > líng; #7831
+砲 > pào; #7832
+砳 > lè; #7833
+破 > pò; #7834
+砵 > bō; #7835
+砶 > pò; #7836
+砷 > shēn; #7837
+砸 > zá; #7838
+砹 > nŭo; #7839
+砺 > lì; #783A
+砻 > lóng; #783B
+砼 > tóng; #783C
+砾 > lì; #783E
+础 > chŭ; #7840
+硁 > kēng; #7841
+硂 > quán; #7842
+硃 > zhū; #7843
+硄 > kuāng; #7844
+硅 > hùo; #7845
+硆 > è; #7846
+硇 > náo; #7847
+硈 > jiá; #7848
+硉 > lù; #7849
+硊 > wĕi; #784A
+硋 > ài; #784B
+硌 > lùo; #784C
+硍 > kèn; #784D
+硎 > xíng; #784E
+硏 > yán; #784F
+硐 > tóng; #7850
+硑 > pēng; #7851
+硒 > xī; #7852
+硔 > hóng; #7854
+硕 > shùo; #7855
+硖 > xiá; #7856
+硗 > qiāo; #7857
+硙 > wèi; #7859
+硚 > qiáo; #785A
+硜 > kēng; #785C
+硝 > xiāo; #785D
+硞 > què; #785E
+硟 > chàn; #785F
+硠 > lăng; #7860
+硡 > hóng; #7861
+硢 > yú; #7862
+硣 > xiāo; #7863
+硤 > xiá; #7864
+硥 > măng; #7865
+硦 > lòng; #7866
+硧 > ĭong; #7867
+硨 > chē; #7868
+硩 > chè; #7869
+硪 > é; #786A
+硫 > líu; #786B
+硬 > yìng; #786C
+硭 > máng; #786D
+确 > què; #786E
+硯 > yàn; #786F
+硰 > shā; #7870
+硱 > kŭn; #7871
+硲 > yù; #7872
+硵 > lŭ; #7875
+硶 > chĕn; #7876
+硷 > jiăn; #7877
+硸 > nuè; #7878
+硹 > sōng; #7879
+硺 > zhúo; #787A
+硻 > kēng; #787B
+硼 > péng; #787C
+硽 > yăn; #787D
+硾 > zhùi; #787E
+硿 > kōng; #787F
+碀 > céng; #7880
+碁 > qí; #7881
+碂 > zòng; #7882
+碃 > qìng; #7883
+碄 > lín; #7884
+碅 > jūn; #7885
+碆 > bō; #7886
+碇 > dìng; #7887
+碈 > mín; #7888
+碉 > diāo; #7889
+碊 > jiān; #788A
+碋 > hè; #788B
+碌 > lù; #788C
+碍 > ài; #788D
+碎 > sùi; #788E
+碏 > què; #788F
+碐 > líng; #7890
+碑 > bēi; #7891
+碒 > yín; #7892
+碓 > dùi; #7893
+碔 > wŭ; #7894
+碕 > qí; #7895
+碖 > lùn; #7896
+碗 > wăn; #7897
+碘 > diăn; #7898
+碙 > gāng; #7899
+碚 > péi; #789A
+碛 > qì; #789B
+碜 > chĕn; #789C
+碝 > ruăn; #789D
+碞 > yán; #789E
+碟 > dié; #789F
+碠 > dìng; #78A0
+碡 > dú; #78A1
+碢 > túo; #78A2
+碣 > jié; #78A3
+碤 > yīng; #78A4
+碥 > biăn; #78A5
+碦 > kè; #78A6
+碧 > bì; #78A7
+碨 > wēi; #78A8
+碩 > shùo; #78A9
+碪 > zhēn; #78AA
+碫 > duàn; #78AB
+碬 > xiá; #78AC
+碭 > dàng; #78AD
+碮 > tí; #78AE
+碯 > năo; #78AF
+碰 > pèng; #78B0
+碱 > jiăn; #78B1
+碲 > dì; #78B2
+碳 > tàn; #78B3
+碴 > chá; #78B4
+碶 > qì; #78B6
+碸 > fēng; #78B8
+碹 > xuàn; #78B9
+確 > què; #78BA
+碻 > què; #78BB
+碼 > mă; #78BC
+碽 > gōng; #78BD
+碾 > niàn; #78BE
+碿 > sù; #78BF
+磀 > é; #78C0
+磁 > cí; #78C1
+磂 > lìu; #78C2
+磃 > sī; #78C3
+磄 > táng; #78C4
+磅 > bàng; #78C5
+磆 > huá; #78C6
+磇 > pī; #78C7
+磈 > wĕi; #78C8
+磉 > săng; #78C9
+磊 > lĕi; #78CA
+磋 > cūo; #78CB
+磌 > zhēn; #78CC
+磍 > xiá; #78CD
+磎 > qī; #78CE
+磏 > lián; #78CF
+磐 > pán; #78D0
+磑 > wèi; #78D1
+磒 > yŭn; #78D2
+磓 > dūi; #78D3
+磔 > zhé; #78D4
+磕 > kē; #78D5
+磖 > lā; #78D6
+磘 > qìng; #78D8
+磙 > gŭn; #78D9
+磚 > zhuān; #78DA
+磛 > chán; #78DB
+磜 > qì; #78DC
+磝 > áo; #78DD
+磞 > pēng; #78DE
+磟 > lù; #78DF
+磠 > lŭ; #78E0
+磡 > kàn; #78E1
+磢 > qiăng; #78E2
+磣 > chĕn; #78E3
+磤 > yĭn; #78E4
+磥 > lĕi; #78E5
+磦 > biāo; #78E6
+磧 > qì; #78E7
+磨 > mó; #78E8
+磩 > qī; #78E9
+磪 > cūi; #78EA
+磫 > zōng; #78EB
+磬 > qìng; #78EC
+磭 > chùo; #78ED
+磯 > jī; #78EF
+磰 > shàn; #78F0
+磱 > láo; #78F1
+磲 > qú; #78F2
+磳 > zēng; #78F3
+磴 > dèng; #78F4
+磵 > jiàn; #78F5
+磶 > xì; #78F6
+磷 > lìn; #78F7
+磸 > dìng; #78F8
+磹 > diàn; #78F9
+磺 > huáng; #78FA
+磻 > pán; #78FB
+磼 > zá; #78FC
+磽 > qiāo; #78FD
+磾 > dī; #78FE
+磿 > lì; #78FF
+礁 > jiāo; #7901
+礃 > zhăng; #7903
+礄 > qiáo; #7904
+礅 > dūn; #7905
+礆 > xiăn; #7906
+礇 > yù; #7907
+礈 > zhùi; #7908
+礉 > hé; #7909
+礊 > hùo; #790A
+礋 > zhái; #790B
+礌 > lèi; #790C
+礍 > kĕ; #790D
+礎 > chŭ; #790E
+礏 > jí; #790F
+礐 > què; #7910
+礑 > dàng; #7911
+礒 > yĭ; #7912
+礓 > jiāng; #7913
+礔 > pì; #7914
+礕 > pī; #7915
+礖 > yù; #7916
+礗 > pīn; #7917
+礘 > qì; #7918
+礙 > ài; #7919
+礚 > kài; #791A
+礛 > jiān; #791B
+礜 > yù; #791C
+礝 > ruăn; #791D
+礞 > méng; #791E
+礟 > pào; #791F
+礠 > cí; #7920
+礣 > miè; #7923
+礤 > că; #7924
+礥 > xián; #7925
+礦 > kuàng; #7926
+礧 > lèi; #7927
+礨 > lĕi; #7928
+礩 > zhì; #7929
+礪 > lì; #792A
+礫 > lì; #792B
+礬 > fán; #792C
+礭 > què; #792D
+礮 > pào; #792E
+礯 > yīng; #792F
+礰 > lì; #7930
+礱 > lóng; #7931
+礲 > lóng; #7932
+礳 > mò; #7933
+礴 > bó; #7934
+礵 > shuāng; #7935
+礶 > guàn; #7936
+礷 > lán; #7937
+礸 > zăn; #7938
+礹 > yán; #7939
+示 > shì; #793A
+礻 > shì' 'zì' 'páng; #793B
+礼 > lĭ; #793C
+礽 > réng; #793D
+社 > shè; #793E
+礿 > yuè; #793F
+祀 > sì; #7940
+祁 > qí; #7941
+祂 > tā; #7942
+祃 > mà; #7943
+祄 > xiè; #7944
+祅 > xiān; #7945
+祆 > xiān; #7946
+祇 > zhī; #7947
+祈 > qí; #7948
+祉 > zhĭ; #7949
+祊 > bēng; #794A
+祋 > dùi; #794B
+祌 > zhòng; #794C
+祎 > yī; #794E
+祏 > shí; #794F
+祐 > yòu; #7950
+祑 > zhì; #7951
+祒 > tiáo; #7952
+祓 > fú; #7953
+祔 > fù; #7954
+祕 > mì; #7955
+祖 > zŭ; #7956
+祗 > zhī; #7957
+祘 > suàn; #7958
+祙 > mèi; #7959
+祚 > zùo; #795A
+祛 > qū; #795B
+祜 > hù; #795C
+祝 > zhù; #795D
+神 > shén; #795E
+祟 > sùi; #795F
+祠 > cí; #7960
+祡 > chái; #7961
+祢 > mí; #7962
+祣 > lǚ; #7963
+祤 > yŭ; #7964
+祥 > xiáng; #7965
+祦 > wú; #7966
+祧 > tiāo; #7967
+票 > piào; #7968
+祩 > zhū; #7969
+祪 > gŭi; #796A
+祫 > xiá; #796B
+祬 > zhī; #796C
+祭 > jì; #796D
+祮 > gào; #796E
+祯 > zhēn; #796F
+祰 > gào; #7970
+祱 > shùi; #7971
+祲 > jīn; #7972
+祳 > chĕn; #7973
+祴 > gāi; #7974
+祵 > kŭn; #7975
+祶 > dì; #7976
+祷 > dăo; #7977
+祸 > hùo; #7978
+祹 > táo; #7979
+祺 > qí; #797A
+祻 > gù; #797B
+祼 > guàn; #797C
+祽 > zùi; #797D
+祾 > líng; #797E
+祿 > lù; #797F
+禀 > bĭng; #7980
+禁 > jìn; #7981
+禂 > dăo; #7982
+禃 > zhí; #7983
+禄 > lù; #7984
+禅 > shàn; #7985
+禆 > bēi; #7986
+禇 > zhĕ; #7987
+禈 > hūi; #7988
+禉 > yŏu; #7989
+禊 > xì; #798A
+禋 > yīn; #798B
+禌 > zī; #798C
+禍 > hùo; #798D
+禎 > zhēn; #798E
+福 > fú; #798F
+禐 > yuàn; #7990
+禑 > wú; #7991
+禒 > xiăn; #7992
+禓 > yáng; #7993
+禔 > tí; #7994
+禕 > yī; #7995
+禖 > méi; #7996
+禗 > sī; #7997
+禘 > dì; #7998
+禚 > zhúo; #799A
+禛 > zhēn; #799B
+禜 > yŏng; #799C
+禝 > jí; #799D
+禞 > gào; #799E
+禟 > táng; #799F
+禠 > sī; #79A0
+禡 > mà; #79A1
+禢 > tā; #79A2
+禤 > xuān; #79A4
+禥 > qí; #79A5
+禦 > yù; #79A6
+禧 > xī; #79A7
+禨 > jī; #79A8
+禩 > sì; #79A9
+禪 > chán; #79AA
+禫 > tăn; #79AB
+禬 > kuài; #79AC
+禭 > sùi; #79AD
+禮 > lĭ; #79AE
+禯 > nóng; #79AF
+禰 > nĭ; #79B0
+禱 > dăo; #79B1
+禲 > lì; #79B2
+禳 > ráng; #79B3
+禴 > yuè; #79B4
+禵 > tí; #79B5
+禶 > zăn; #79B6
+禷 > lèi; #79B7
+禸 > róu; #79B8
+禹 > yŭ; #79B9
+禺 > yú; #79BA
+离 > chī; #79BB
+禼 > xiè; #79BC
+禽 > qín; #79BD
+禾 > hé; #79BE
+禿 > tū; #79BF
+秀 > xìu; #79C0
+私 > sī; #79C1
+秂 > rén; #79C2
+秃 > tū; #79C3
+秄 > zĭ; #79C4
+秅 > chá; #79C5
+秆 > găn; #79C6
+秇 > yì; #79C7
+秈 > xiān; #79C8
+秉 > bĭng; #79C9
+秊 > nián; #79CA
+秋 > qīu; #79CB
+秌 > qīu; #79CC
+种 > chóng; #79CD
+秎 > fén; #79CE
+秏 > hào; #79CF
+秐 > yún; #79D0
+科 > kē; #79D1
+秒 > miăo; #79D2
+秓 > zhī; #79D3
+秔 > gēng; #79D4
+秕 > bĭ; #79D5
+秖 > zhī; #79D6
+秗 > yù; #79D7
+秘 > mì; #79D8
+秙 > kù; #79D9
+秚 > bàn; #79DA
+秛 > pī; #79DB
+秜 > ní; #79DC
+秝 > lì; #79DD
+秞 > yóu; #79DE
+租 > zū; #79DF
+秠 > pī; #79E0
+秡 > bá; #79E1
+秢 > líng; #79E2
+秣 > mò; #79E3
+秤 > chèng; #79E4
+秥 > nián; #79E5
+秦 > qín; #79E6
+秧 > yāng; #79E7
+秨 > zúo; #79E8
+秩 > zhì; #79E9
+秪 > zhī; #79EA
+秫 > shú; #79EB
+秬 > jù; #79EC
+秭 > zĭ; #79ED
+秮 > húo; #79EE
+积 > jī; #79EF
+称 > chēng; #79F0
+秱 > tóng; #79F1
+秲 > zhì; #79F2
+秳 > húo; #79F3
+秴 > hé; #79F4
+秵 > yīn; #79F5
+秶 > zī; #79F6
+秷 > zhí; #79F7
+秸 > jiē; #79F8
+秹 > rĕn; #79F9
+秺 > dù; #79FA
+移 > yí; #79FB
+秼 > zhū; #79FC
+秽 > hùi; #79FD
+秾 > nóng; #79FE
+秿 > fŭ; #79FF
+稀 > xī; #7A00
+稁 > kăo; #7A01
+稂 > láng; #7A02
+稃 > fū; #7A03
+稄 > zè; #7A04
+稅 > shùi; #7A05
+稆 > lǚ; #7A06
+稇 > kŭn; #7A07
+稈 > găn; #7A08
+稉 > gēng; #7A09
+稊 > tí; #7A0A
+程 > chéng; #7A0B
+稌 > tú; #7A0C
+稍 > shāo; #7A0D
+税 > shùi; #7A0E
+稏 > yà; #7A0F
+稐 > lŭn; #7A10
+稑 > lù; #7A11
+稒 > gù; #7A12
+稓 > zúo; #7A13
+稔 > rĕn; #7A14
+稕 > zhùn; #7A15
+稖 > bàng; #7A16
+稗 > bài; #7A17
+稘 > jī; #7A18
+稙 > zhí; #7A19
+稚 > zhì; #7A1A
+稛 > kŭn; #7A1B
+稜 > léng; #7A1C
+稝 > péng; #7A1D
+稞 > kē; #7A1E
+稟 > bĭng; #7A1F
+稠 > chóu; #7A20
+稡 > zú; #7A21
+稢 > yù; #7A22
+稣 > sū; #7A23
+稤 > lǜe; #7A24
+稦 > yī; #7A26
+稧 > xì; #7A27
+稨 > biān; #7A28
+稩 > jì; #7A29
+稪 > fù; #7A2A
+稫 > bī; #7A2B
+稬 > nùo; #7A2C
+稭 > jiē; #7A2D
+種 > zhŏng; #7A2E
+稯 > zōng; #7A2F
+稰 > xū; #7A30
+稱 > chēng; #7A31
+稲 > dào; #7A32
+稳 > wĕn; #7A33
+稴 > lián; #7A34
+稵 > zī; #7A35
+稶 > yù; #7A36
+稷 > jì; #7A37
+稸 > xù; #7A38
+稹 > zhĕn; #7A39
+稺 > zhì; #7A3A
+稻 > dào; #7A3B
+稼 > jià; #7A3C
+稽 > jī; #7A3D
+稾 > găo; #7A3E
+稿 > găo; #7A3F
+穀 > gŭ; #7A40
+穁 > róng; #7A41
+穂 > sùi; #7A42
+穄 > jì; #7A44
+穅 > kāng; #7A45
+穆 > mù; #7A46
+穇 > shān; #7A47
+穈 > mén; #7A48
+穉 > zhì; #7A49
+穊 > jì; #7A4A
+穋 > lù; #7A4B
+穌 > sū; #7A4C
+積 > jī; #7A4D
+穎 > yĭng; #7A4E
+穏 > wĕn; #7A4F
+穐 > qīu; #7A50
+穑 > sè; #7A51
+穓 > yì; #7A53
+穔 > huáng; #7A54
+穕 > qiè; #7A55
+穖 > jĭ; #7A56
+穗 > sùi; #7A57
+穘 > xiāo; #7A58
+穙 > pú; #7A59
+穚 > jiāo; #7A5A
+穛 > zhūo; #7A5B
+穜 > tóng; #7A5C
+穞 > lǚ; #7A5E
+穟 > sùi; #7A5F
+穠 > nóng; #7A60
+穡 > sè; #7A61
+穢 > hùi; #7A62
+穣 > ráng; #7A63
+穤 > nùo; #7A64
+穥 > yù; #7A65
+穦 > bin; #7A66
+穧 > jì; #7A67
+穨 > túi; #7A68
+穩 > wĕn; #7A69
+穪 > chēng; #7A6A
+穫 > hùo; #7A6B
+穬 > gŏng; #7A6C
+穭 > lǚ; #7A6D
+穮 > biāo; #7A6E
+穰 > ráng; #7A70
+穱 > zhūo; #7A71
+穲 > lí; #7A72
+穳 > zàn; #7A73
+穴 > xuè; #7A74
+穵 > wā; #7A75
+究 > jìu; #7A76
+穷 > qíong; #7A77
+穸 > xì; #7A78
+穹 > qīong; #7A79
+空 > kōng; #7A7A
+穻 > yū; #7A7B
+穼 > sēn; #7A7C
+穽 > jĭng; #7A7D
+穾 > yào; #7A7E
+穿 > chuān; #7A7F
+窀 > zhūn; #7A80
+突 > tú; #7A81
+窂 > láo; #7A82
+窃 > qiè; #7A83
+窄 > zhăi; #7A84
+窅 > yăo; #7A85
+窆 > biăn; #7A86
+窇 > báo; #7A87
+窈 > yăo; #7A88
+窉 > bĭng; #7A89
+窊 > wā; #7A8A
+窋 > zhú; #7A8B
+窌 > jiào; #7A8C
+窍 > qiào; #7A8D
+窎 > diào; #7A8E
+窏 > wū; #7A8F
+窐 > gūi; #7A90
+窑 > yáo; #7A91
+窒 > zhì; #7A92
+窓 > chuāng; #7A93
+窔 > yăo; #7A94
+窕 > tiăo; #7A95
+窖 > jiào; #7A96
+窗 > chuāng; #7A97
+窘 > jĭong; #7A98
+窙 > xiāo; #7A99
+窚 > chéng; #7A9A
+窛 > kòu; #7A9B
+窜 > cuàn; #7A9C
+窝 > wō; #7A9D
+窞 > dàn; #7A9E
+窟 > kū; #7A9F
+窠 > kē; #7AA0
+窡 > zhùi; #7AA1
+窢 > xù; #7AA2
+窣 > sù; #7AA3
+窤 > guan; #7AA4
+窥 > kūi; #7AA5
+窦 > dòu; #7AA6
+窨 > yìn; #7AA8
+窩 > wō; #7AA9
+窪 > wā; #7AAA
+窫 > yà; #7AAB
+窬 > yú; #7AAC
+窭 > jù; #7AAD
+窮 > qíong; #7AAE
+窯 > yáo; #7AAF
+窰 > yáo; #7AB0
+窱 > tiào; #7AB1
+窲 > cháo; #7AB2
+窳 > yŭ; #7AB3
+窴 > tián; #7AB4
+窵 > diào; #7AB5
+窶 > jù; #7AB6
+窷 > liáo; #7AB7
+窸 > xī; #7AB8
+窹 > wù; #7AB9
+窺 > kūi; #7ABA
+窻 > chuāng; #7ABB
+窼 > zhāo; #7ABC
+窾 > kuăn; #7ABE
+窿 > lóng; #7ABF
+竀 > chēng; #7AC0
+竁 > cùi; #7AC1
+竂 > piáo; #7AC2
+竃 > zào; #7AC3
+竄 > cuàn; #7AC4
+竅 > qiào; #7AC5
+竆 > qíong; #7AC6
+竇 > dòu; #7AC7
+竈 > zào; #7AC8
+竉 > lŏng; #7AC9
+竊 > qiè; #7ACA
+立 > lì; #7ACB
+竌 > chù; #7ACC
+竍 > shí' 'gōng' 'shēng; #7ACD
+竎 > fòu; #7ACE
+竏 > qiān' 'gōng' 'shēng; #7ACF
+竐 > chù; #7AD0
+竑 > hóng; #7AD1
+竒 > qí; #7AD2
+竓 > qiān' 'fēn' 'zhī' 'yī' 'gōng' 'shēng; #7AD3
+竔 > gōng' 'shēng; #7AD4
+竕 > shí' 'fēn' 'zhī' 'yī' 'gōng' 'shēng; #7AD5
+竖 > shù; #7AD6
+竗 > miào; #7AD7
+竘 > jŭ; #7AD8
+站 > zhàn; #7AD9
+竚 > zhù; #7ADA
+竛 > líng; #7ADB
+竜 > lóng; #7ADC
+竝 > bìng; #7ADD
+竞 > jìng; #7ADE
+竟 > jìng; #7ADF
+章 > zhāng; #7AE0
+竡 > yī' 'gōng' 'shēng' 'de' 'yī' 'băi' 'bèi; #7AE1
+竢 > sì; #7AE2
+竣 > jùn; #7AE3
+竤 > hóng; #7AE4
+童 > tóng; #7AE5
+竦 > sŏng; #7AE6
+竧 > jìng; #7AE7
+竨 > diào; #7AE8
+竩 > yì; #7AE9
+竪 > shù; #7AEA
+竫 > jìng; #7AEB
+竬 > qŭ; #7AEC
+竭 > jié; #7AED
+竮 > píng; #7AEE
+端 > duān; #7AEF
+竰 > sháo; #7AF0
+竱 > zhuăn; #7AF1
+竲 > céng; #7AF2
+竳 > dēng; #7AF3
+竴 > cūi; #7AF4
+竵 > huāi; #7AF5
+競 > jìng; #7AF6
+竷 > kàn; #7AF7
+竸 > jìng; #7AF8
+竹 > zhú; #7AF9
+竺 > zhú; #7AFA
+竻 > lè; #7AFB
+竼 > péng; #7AFC
+竽 > yú; #7AFD
+竾 > chí; #7AFE
+竿 > gān; #7AFF
+笀 > máng; #7B00
+笁 > zhú; #7B01
+笃 > dŭ; #7B03
+笄 > jī; #7B04
+笅 > xiáo; #7B05
+笆 > bā; #7B06
+笇 > suàn; #7B07
+笈 > jí; #7B08
+笉 > zhĕn; #7B09
+笊 > zhào; #7B0A
+笋 > sŭn; #7B0B
+笌 > yá; #7B0C
+笍 > zhùi; #7B0D
+笎 > yuán; #7B0E
+笏 > hù; #7B0F
+笐 > gāng; #7B10
+笑 > xiào; #7B11
+笒 > cén; #7B12
+笓 > pí; #7B13
+笔 > bĭ; #7B14
+笕 > jiăn; #7B15
+笖 > yĭ; #7B16
+笗 > dōng; #7B17
+笘 > shān; #7B18
+笙 > shēng; #7B19
+笚 > xiá; #7B1A
+笛 > dí; #7B1B
+笜 > zhú; #7B1C
+笝 > nà; #7B1D
+笞 > chī; #7B1E
+笟 > gū; #7B1F
+笠 > lì; #7B20
+笡 > qiè; #7B21
+笢 > mĭn; #7B22
+笣 > bāo; #7B23
+笤 > tiáo; #7B24
+笥 > sì; #7B25
+符 > fú; #7B26
+笧 > cè; #7B27
+笨 > bèn; #7B28
+笩 > pèi; #7B29
+笪 > dá; #7B2A
+笫 > zĭ; #7B2B
+第 > dì; #7B2C
+笭 > líng; #7B2D
+笮 > zé; #7B2E
+笯 > nú; #7B2F
+笰 > fú; #7B30
+笱 > gŏu; #7B31
+笲 > fān; #7B32
+笳 > jiā; #7B33
+笴 > gĕ; #7B34
+笵 > fàn; #7B35
+笶 > shĭ; #7B36
+笷 > măo; #7B37
+笸 > pŏ; #7B38
+笺 > jiān; #7B3A
+笻 > qíong; #7B3B
+笼 > lóng; #7B3C
+笾 > biān; #7B3E
+笿 > lùo; #7B3F
+筀 > gùi; #7B40
+筁 > qŭ; #7B41
+筂 > chí; #7B42
+筃 > yīn; #7B43
+筄 > yào; #7B44
+筅 > xiăn; #7B45
+筆 > bĭ; #7B46
+筇 > qíong; #7B47
+筈 > guā; #7B48
+等 > dĕng; #7B49
+筊 > jiăo; #7B4A
+筋 > jīn; #7B4B
+筌 > quán; #7B4C
+筍 > sŭn; #7B4D
+筎 > rú; #7B4E
+筏 > fá; #7B4F
+筐 > kuāng; #7B50
+筑 > zhú; #7B51
+筒 > tŏng; #7B52
+筓 > jī; #7B53
+答 > dá; #7B54
+筕 > xíng; #7B55
+策 > cè; #7B56
+筗 > zhòng; #7B57
+筘 > kòu; #7B58
+筙 > lái; #7B59
+筚 > bì; #7B5A
+筛 > shāi; #7B5B
+筜 > dāng; #7B5C
+筝 > zhēng; #7B5D
+筞 > cè; #7B5E
+筟 > fū; #7B5F
+筠 > yún; #7B60
+筡 > tú; #7B61
+筢 > pá; #7B62
+筣 > lì; #7B63
+筤 > láng; #7B64
+筥 > jŭ; #7B65
+筦 > guăn; #7B66
+筧 > jiăn; #7B67
+筨 > hán; #7B68
+筩 > tóng; #7B69
+筪 > xiá; #7B6A
+筫 > zhì; #7B6B
+筬 > chéng; #7B6C
+筭 > suàn; #7B6D
+筮 > shì; #7B6E
+筯 > zhù; #7B6F
+筰 > zúo; #7B70
+筱 > xiăo; #7B71
+筲 > shāo; #7B72
+筳 > tíng; #7B73
+筴 > cè; #7B74
+筵 > yán; #7B75
+筶 > găo; #7B76
+筷 > kuài; #7B77
+筸 > gān; #7B78
+筹 > chóu; #7B79
+筻 > gàng; #7B7B
+筼 > yún; #7B7C
+签 > qiān; #7B7E
+筿 > xiăo; #7B7F
+简 > jiăn; #7B80
+箁 > pú; #7B81
+箂 > lái; #7B82
+箃 > zōu; #7B83
+箄 > bì; #7B84
+箅 > bì; #7B85
+箆 > bì; #7B86
+箇 > gè; #7B87
+箈 > chí; #7B88
+箉 > guăi; #7B89
+箊 > yū; #7B8A
+箋 > jiān; #7B8B
+箌 > zhào; #7B8C
+箍 > gū; #7B8D
+箎 > chí; #7B8E
+箏 > zhēng; #7B8F
+箐 > jīng; #7B90
+箑 > shà; #7B91
+箒 > zhŏu; #7B92
+箓 > lù; #7B93
+箔 > bó; #7B94
+箕 > jī; #7B95
+箖 > lín; #7B96
+算 > suàn; #7B97
+箘 > jùn; #7B98
+箙 > fú; #7B99
+箚 > zhá; #7B9A
+箛 > gū; #7B9B
+箜 > kōng; #7B9C
+箝 > qián; #7B9D
+箞 > quān; #7B9E
+箟 > jùn; #7B9F
+箠 > chúi; #7BA0
+管 > guăn; #7BA1
+箢 > yuān; #7BA2
+箣 > cè; #7BA3
+箤 > jú; #7BA4
+箥 > bŏ; #7BA5
+箦 > zé; #7BA6
+箧 > qiè; #7BA7
+箨 > tùo; #7BA8
+箩 > lúo; #7BA9
+箪 > dān; #7BAA
+箫 > xiāo; #7BAB
+箬 > rùo; #7BAC
+箭 > jiàn; #7BAD
+箮 > xuan; #7BAE
+箯 > biān; #7BAF
+箰 > sŭn; #7BB0
+箱 > xiāng; #7BB1
+箲 > xiăn; #7BB2
+箳 > píng; #7BB3
+箴 > zhēn; #7BB4
+箵 > shĕng; #7BB5
+箶 > hú; #7BB6
+箷 > shī; #7BB7
+箸 > zhù; #7BB8
+箹 > yuē; #7BB9
+箺 > chŭn; #7BBA
+箻 > lǜ; #7BBB
+箼 > wū; #7BBC
+箽 > dŏng; #7BBD
+箾 > xiāo; #7BBE
+箿 > jí; #7BBF
+節 > jié; #7BC0
+篁 > huáng; #7BC1
+篂 > xīng; #7BC2
+篃 > méi; #7BC3
+範 > fàn; #7BC4
+篅 > chúi; #7BC5
+篆 > zhuàn; #7BC6
+篇 > piān; #7BC7
+篈 > fēng; #7BC8
+築 > zhú; #7BC9
+篊 > hóng; #7BCA
+篋 > qiè; #7BCB
+篌 > hóu; #7BCC
+篍 > qīu; #7BCD
+篎 > miăo; #7BCE
+篏 > qiàn; #7BCF
+篑 > kùi; #7BD1
+篓 > lŏu; #7BD3
+篔 > yún; #7BD4
+篕 > hé; #7BD5
+篖 > táng; #7BD6
+篗 > yuè; #7BD7
+篘 > chōu; #7BD8
+篙 > gāo; #7BD9
+篚 > fĕi; #7BDA
+篛 > rùo; #7BDB
+篜 > zhēng; #7BDC
+篝 > gōu; #7BDD
+篞 > niè; #7BDE
+篟 > qiàn; #7BDF
+篠 > xiăo; #7BE0
+篡 > cuàn; #7BE1
+篢 > gōng; #7BE2
+篣 > páng; #7BE3
+篤 > dŭ; #7BE4
+篥 > lì; #7BE5
+篦 > bì; #7BE6
+篧 > zhúo; #7BE7
+篨 > chú; #7BE8
+篩 > shāi; #7BE9
+篪 > chí; #7BEA
+篫 > zhú; #7BEB
+篬 > qiāng; #7BEC
+篭 > lóng; #7BED
+篮 > lán; #7BEE
+篯 > jiān; #7BEF
+篰 > bù; #7BF0
+篱 > lí; #7BF1
+篲 > hùi; #7BF2
+篳 > bì; #7BF3
+篴 > dí; #7BF4
+篵 > cōng; #7BF5
+篶 > yān; #7BF6
+篷 > péng; #7BF7
+篸 > sēn; #7BF8
+篹 > zhuàn; #7BF9
+篺 > pái; #7BFA
+篻 > piào; #7BFB
+篼 > dōu; #7BFC
+篽 > yŭ; #7BFD
+篾 > miè; #7BFE
+篿 > zhuān; #7BFF
+簀 > zé; #7C00
+簁 > xĭ; #7C01
+簂 > gúo; #7C02
+簃 > yí; #7C03
+簄 > hù; #7C04
+簅 > chăn; #7C05
+簆 > kòu; #7C06
+簇 > cù; #7C07
+簈 > píng; #7C08
+簉 > chòu; #7C09
+簊 > jī; #7C0A
+簋 > gŭi; #7C0B
+簌 > sù; #7C0C
+簍 > lŏu; #7C0D
+簎 > zhà; #7C0E
+簏 > lù; #7C0F
+簐 > niăn; #7C10
+簑 > sūo; #7C11
+簒 > cuàn; #7C12
+簔 > sūo; #7C14
+簕 > lè; #7C15
+簖 > duàn; #7C16
+簘 > xiāo; #7C18
+簙 > bó; #7C19
+簚 > mì; #7C1A
+簛 > sī; #7C1B
+簜 > dàng; #7C1C
+簝 > liáo; #7C1D
+簞 > dān; #7C1E
+簟 > diàn; #7C1F
+簠 > fŭ; #7C20
+簡 > jiăn; #7C21
+簢 > mĭn; #7C22
+簣 > kùi; #7C23
+簤 > dài; #7C24
+簥 > qiáo; #7C25
+簦 > dēng; #7C26
+簧 > huáng; #7C27
+簨 > sŭn; #7C28
+簩 > láo; #7C29
+簪 > zān; #7C2A
+簫 > xiāo; #7C2B
+簬 > dù; #7C2C
+簭 > shì; #7C2D
+簮 > zān; #7C2E
+簰 > pái; #7C30
+簲 > pái; #7C32
+簳 > gàn; #7C33
+簴 > jù; #7C34
+簵 > dù; #7C35
+簶 > lù; #7C36
+簷 > yán; #7C37
+簸 > bò; #7C38
+簹 > dāng; #7C39
+簺 > sài; #7C3A
+簻 > kē; #7C3B
+簼 > lóng; #7C3C
+簽 > qiān; #7C3D
+簾 > lián; #7C3E
+簿 > bó; #7C3F
+籀 > zhòu; #7C40
+籁 > lài; #7C41
+籃 > lán; #7C43
+籄 > kùi; #7C44
+籅 > yú; #7C45
+籆 > yuè; #7C46
+籇 > háo; #7C47
+籈 > zhēn; #7C48
+籉 > tái; #7C49
+籊 > tì; #7C4A
+籋 > mí; #7C4B
+籌 > chóu; #7C4C
+籍 > jí; #7C4D
+籐 > téng; #7C50
+籑 > zhuàn; #7C51
+籒 > zhòu; #7C52
+籓 > fān; #7C53
+籔 > sŏu; #7C54
+籕 > zhòu; #7C55
+籗 > zhúo; #7C57
+籘 > téng; #7C58
+籙 > lù; #7C59
+籚 > lú; #7C5A
+籛 > jiān; #7C5B
+籜 > tùo; #7C5C
+籝 > yíng; #7C5D
+籞 > yù; #7C5E
+籟 > lài; #7C5F
+籠 > lóng; #7C60
+籢 > lián; #7C62
+籣 > lán; #7C63
+籤 > qiān; #7C64
+籥 > yuè; #7C65
+籦 > zhōng; #7C66
+籧 > qú; #7C67
+籨 > lián; #7C68
+籩 > biān; #7C69
+籪 > duàn; #7C6A
+籫 > zuăn; #7C6B
+籬 > lí; #7C6C
+籭 > sī; #7C6D
+籮 > lúo; #7C6E
+籯 > yíng; #7C6F
+籰 > yuè; #7C70
+籱 > zhúo; #7C71
+籲 > xū; #7C72
+米 > mĭ; #7C73
+籴 > dí; #7C74
+籵 > fán; #7C75
+籶 > shēn; #7C76
+籷 > zhé; #7C77
+籸 > shēn; #7C78
+籹 > nǚ; #7C79
+籺 > xié; #7C7A
+类 > lèi; #7C7B
+籼 > xiān; #7C7C
+籽 > zĭ; #7C7D
+籾 > ní; #7C7E
+籿 > cùn; #7C7F
+粁 > qiān; #7C81
+粃 > bĭ; #7C83
+粄 > băn; #7C84
+粅 > wù; #7C85
+粆 > shā; #7C86
+粇 > kāng; #7C87
+粈 > rŏu; #7C88
+粉 > fĕn; #7C89
+粊 > bì; #7C8A
+粋 > cùi; #7C8B
+粍 > lí; #7C8D
+粎 > chĭ; #7C8E
+粑 > bā; #7C91
+粒 > lì; #7C92
+粓 > gān; #7C93
+粔 > jù; #7C94
+粕 > pò; #7C95
+粖 > mò; #7C96
+粗 > cū; #7C97
+粘 > nián; #7C98
+粙 > zhòu; #7C99
+粚 > lí; #7C9A
+粛 > sù; #7C9B
+粜 > tiào; #7C9C
+粝 > lì; #7C9D
+粞 > qī; #7C9E
+粟 > sù; #7C9F
+粠 > hóng; #7CA0
+粡 > tóng; #7CA1
+粢 > zī; #7CA2
+粣 > cè; #7CA3
+粤 > yuè; #7CA4
+粥 > zhōu; #7CA5
+粦 > lìn; #7CA6
+粧 > zhuāng; #7CA7
+粨 > băi; #7CA8
+粪 > fèn; #7CAA
+粮 > liáng; #7CAE
+粯 > xiàn; #7CAF
+粰 > fú; #7CB0
+粱 > liáng; #7CB1
+粲 > càn; #7CB2
+粳 > gēng; #7CB3
+粴 > lĭ; #7CB4
+粵 > yuè; #7CB5
+粶 > lù; #7CB6
+粷 > jú; #7CB7
+粸 > qí; #7CB8
+粹 > cùi; #7CB9
+粺 > bài; #7CBA
+粻 > zhāng; #7CBB
+粼 > lín; #7CBC
+粽 > zòng; #7CBD
+精 > jīng; #7CBE
+粿 > gŭo; #7CBF
+糁 > sān; #7CC1
+糂 > săn; #7CC2
+糃 > táng; #7CC3
+糄 > biān; #7CC4
+糅 > rŏu; #7CC5
+糆 > miàn; #7CC6
+糇 > hóu; #7CC7
+糈 > xŭ; #7CC8
+糉 > zòng; #7CC9
+糊 > hú; #7CCA
+糋 > jiàn; #7CCB
+糌 > zán; #7CCC
+糍 > cí; #7CCD
+糎 > lí; #7CCE
+糏 > xiè; #7CCF
+糐 > fū; #7CD0
+糑 > nì; #7CD1
+糒 > bèi; #7CD2
+糓 > gŭ; #7CD3
+糔 > xĭu; #7CD4
+糕 > gāo; #7CD5
+糖 > táng; #7CD6
+糗 > qĭu; #7CD7
+糙 > cāo; #7CD9
+糚 > zhuāng; #7CDA
+糛 > táng; #7CDB
+糜 > mí; #7CDC
+糝 > sān; #7CDD
+糞 > fèn; #7CDE
+糟 > zāo; #7CDF
+糠 > kāng; #7CE0
+糡 > jiàng; #7CE1
+糢 > mó; #7CE2
+糣 > săn; #7CE3
+糤 > săn; #7CE4
+糥 > nùo; #7CE5
+糦 > xī; #7CE6
+糧 > liáng; #7CE7
+糨 > jiàng; #7CE8
+糩 > kuài; #7CE9
+糪 > bó; #7CEA
+糫 > huán; #7CEB
+糭 > zòng; #7CED
+糮 > xiàn; #7CEE
+糯 > nùo; #7CEF
+糰 > tuán; #7CF0
+糱 > niè; #7CF1
+糲 > lì; #7CF2
+糳 > zùo; #7CF3
+糴 > dí; #7CF4
+糵 > niè; #7CF5
+糶 > tiào; #7CF6
+糷 > lán; #7CF7
+糸 > mì; #7CF8
+糹 > jiăo' 'sī' 'páng; #7CF9
+糺 > jīu; #7CFA
+系 > xì; #7CFB
+糼 > gōng; #7CFC
+糽 > zhĕng; #7CFD
+糾 > jīu; #7CFE
+糿 > yòu; #7CFF
+紀 > jì; #7D00
+紁 > chà; #7D01
+紂 > zhòu; #7D02
+紃 > xún; #7D03
+約 > yuē; #7D04
+紅 > hóng; #7D05
+紆 > yū; #7D06
+紇 > hé; #7D07
+紈 > wán; #7D08
+紉 > rèn; #7D09
+紊 > wèn; #7D0A
+紋 > wén; #7D0B
+紌 > qíu; #7D0C
+納 > nà; #7D0D
+紎 > zī; #7D0E
+紏 > tŏu; #7D0F
+紐 > nĭu; #7D10
+紑 > fóu; #7D11
+紒 > jiè; #7D12
+紓 > shū; #7D13
+純 > chún; #7D14
+紕 > pí; #7D15
+紖 > yĭn; #7D16
+紗 > shā; #7D17
+紘 > hóng; #7D18
+紙 > zhĭ; #7D19
+級 > jí; #7D1A
+紛 > fēn; #7D1B
+紜 > yún; #7D1C
+紝 > rén; #7D1D
+紞 > dăn; #7D1E
+紟 > jīn; #7D1F
+素 > sù; #7D20
+紡 > făng; #7D21
+索 > sŭo; #7D22
+紣 > cùi; #7D23
+紤 > jĭu; #7D24
+紥 > zhá; #7D25
+紧 > jĭn; #7D27
+紨 > fù; #7D28
+紩 > zhì; #7D29
+紪 > cĭ; #7D2A
+紫 > zĭ; #7D2B
+紬 > chóu; #7D2C
+紭 > hóng; #7D2D
+紮 > zhá; #7D2E
+累 > lèi; #7D2F
+細 > xì; #7D30
+紱 > fú; #7D31
+紲 > xiè; #7D32
+紳 > shēn; #7D33
+紴 > bèi; #7D34
+紵 > zhù; #7D35
+紶 > qŭ; #7D36
+紷 > líng; #7D37
+紸 > zhù; #7D38
+紹 > shào; #7D39
+紺 > gàn; #7D3A
+紻 > yāng; #7D3B
+紼 > fú; #7D3C
+紽 > túo; #7D3D
+紾 > zhĕn; #7D3E
+紿 > dài; #7D3F
+絀 > zhúo; #7D40
+絁 > shī; #7D41
+終 > zhōng; #7D42
+絃 > xián; #7D43
+組 > zŭ; #7D44
+絅 > jĭong; #7D45
+絆 > bàn; #7D46
+絇 > jù; #7D47
+絈 > mò; #7D48
+絉 > shù; #7D49
+絊 > zùi; #7D4A
+経 > jīng; #7D4C
+絍 > rén; #7D4D
+絎 > hèng; #7D4E
+絏 > xiè; #7D4F
+結 > jié; #7D50
+絑 > zhū; #7D51
+絒 > chóu; #7D52
+絓 > guà; #7D53
+絔 > băi; #7D54
+絕 > jué; #7D55
+絖 > kuàng; #7D56
+絗 > hú; #7D57
+絘 > cì; #7D58
+絙 > gēng; #7D59
+絚 > gēng; #7D5A
+絛 > tāo; #7D5B
+絜 > xié; #7D5C
+絝 > kù; #7D5D
+絞 > jiăo; #7D5E
+絟 > quān; #7D5F
+絠 > găi; #7D60
+絡 > lùo; #7D61
+絢 > xuàn; #7D62
+絣 > bīng; #7D63
+絤 > xiàn; #7D64
+絥 > fú; #7D65
+給 > gĕi; #7D66
+絧 > tóng; #7D67
+絨 > róng; #7D68
+絩 > tiào; #7D69
+絪 > yīn; #7D6A
+絫 > lĕi; #7D6B
+絬 > xiè; #7D6C
+絭 > quàn; #7D6D
+絮 > xù; #7D6E
+絯 > lǜn; #7D6F
+絰 > dié; #7D70
+統 > tŏng; #7D71
+絲 > sī; #7D72
+絳 > jiàng; #7D73
+絴 > xiáng; #7D74
+絵 > hùi; #7D75
+絶 > jué; #7D76
+絷 > zhí; #7D77
+絸 > jiăn; #7D78
+絹 > juàn; #7D79
+絺 > chī; #7D7A
+絻 > miăn; #7D7B
+絼 > zhĕn; #7D7C
+絽 > lǚ; #7D7D
+絾 > chéng; #7D7E
+絿 > qíu; #7D7F
+綀 > shū; #7D80
+綁 > băng; #7D81
+綂 > tŏng; #7D82
+綃 > xiāo; #7D83
+綄 > wàn; #7D84
+綅 > qīn; #7D85
+綆 > gĕng; #7D86
+綇 > xĭu; #7D87
+綈 > tí; #7D88
+綉 > xìu; #7D89
+綊 > xié; #7D8A
+綋 > hóng; #7D8B
+綌 > xì; #7D8C
+綍 > fú; #7D8D
+綎 > tīng; #7D8E
+綏 > sūi; #7D8F
+綐 > dùi; #7D90
+綑 > kŭn; #7D91
+綒 > fū; #7D92
+經 > jīng; #7D93
+綔 > hù; #7D94
+綕 > zhī; #7D95
+綖 > yán; #7D96
+綗 > jĭong; #7D97
+綘 > féng; #7D98
+継 > jì; #7D99
+綜 > zòng; #7D9C
+綝 > lín; #7D9D
+綞 > dŭo; #7D9E
+綟 > lì; #7D9F
+綠 > lǜ; #7DA0
+綡 > liáng; #7DA1
+綢 > chóu; #7DA2
+綣 > quăn; #7DA3
+綤 > shào; #7DA4
+綥 > qì; #7DA5
+綦 > qí; #7DA6
+綧 > zhŭn; #7DA7
+綨 > qí; #7DA8
+綩 > wăn; #7DA9
+綪 > qiàn; #7DAA
+綫 > xiàn; #7DAB
+綬 > shòu; #7DAC
+維 > wéi; #7DAD
+綮 > qĭ; #7DAE
+綯 > táo; #7DAF
+綰 > wăn; #7DB0
+綱 > gāng; #7DB1
+網 > wăng; #7DB2
+綳 > bēng; #7DB3
+綴 > zhùi; #7DB4
+綵 > căi; #7DB5
+綶 > gŭo; #7DB6
+綷 > cùi; #7DB7
+綸 > lún; #7DB8
+綹 > lĭu; #7DB9
+綺 > qĭ; #7DBA
+綻 > zhàn; #7DBB
+綼 > bēi; #7DBC
+綽 > chùo; #7DBD
+綾 > líng; #7DBE
+綿 > mián; #7DBF
+緀 > qī; #7DC0
+緁 > qiè; #7DC1
+緂 > tān; #7DC2
+緃 > zōng; #7DC3
+緄 > gŭn; #7DC4
+緅 > zōu; #7DC5
+緆 > yì; #7DC6
+緇 > zī; #7DC7
+緈 > xìng; #7DC8
+緉 > liăng; #7DC9
+緊 > jĭn; #7DCA
+緋 > fēi; #7DCB
+緌 > rúi; #7DCC
+緍 > mín; #7DCD
+緎 > yù; #7DCE
+総 > zŏng; #7DCF
+緐 > fán; #7DD0
+緑 > lǜ; #7DD1
+緒 > xù; #7DD2
+緓 > yingl; #7DD3
+緔 > zhàng; #7DD4
+緖 > xù; #7DD6
+緗 > xiāng; #7DD7
+緘 > jiān; #7DD8
+緙 > kè; #7DD9
+線 > xiàn; #7DDA
+緛 > ruăn; #7DDB
+緜 > mián; #7DDC
+緝 > qì; #7DDD
+緞 > duàn; #7DDE
+緟 > zhòng; #7DDF
+締 > dì; #7DE0
+緡 > mín; #7DE1
+緢 > miáo; #7DE2
+緣 > yuán; #7DE3
+緤 > xiè; #7DE4
+緥 > băo; #7DE5
+緦 > sī; #7DE6
+緧 > qīu; #7DE7
+編 > biān; #7DE8
+緩 > huăn; #7DE9
+緪 > gēng; #7DEA
+緫 > cōng; #7DEB
+緬 > miăn; #7DEC
+緭 > wèi; #7DED
+緮 > fù; #7DEE
+緯 > wĕi; #7DEF
+緰 > yú; #7DF0
+緱 > gōu; #7DF1
+緲 > miăo; #7DF2
+緳 > xié; #7DF3
+練 > liàn; #7DF4
+緵 > zōng; #7DF5
+緶 > biàn; #7DF6
+緷 > yùn; #7DF7
+緸 > yīn; #7DF8
+緹 > tí; #7DF9
+緺 > guā; #7DFA
+緻 > zhì; #7DFB
+緼 > yūn; #7DFC
+緽 > chēng; #7DFD
+緾 > chán; #7DFE
+緿 > dài; #7DFF
+縀 > xiá; #7E00
+縁 > yuán; #7E01
+縂 > zŏng; #7E02
+縃 > xū; #7E03
+縆 > gēng; #7E06
+縈 > yíng; #7E08
+縉 > jìn; #7E09
+縊 > yì; #7E0A
+縋 > zhùi; #7E0B
+縌 > nì; #7E0C
+縍 > bāng; #7E0D
+縎 > gŭ; #7E0E
+縏 > pán; #7E0F
+縐 > zhòu; #7E10
+縑 > jiān; #7E11
+縒 > cŭo; #7E12
+縓 > quăn; #7E13
+縔 > shuăng; #7E14
+縕 > yūn; #7E15
+縖 > xiá; #7E16
+縗 > shuāi; #7E17
+縘 > xī; #7E18
+縙 > róng; #7E19
+縚 > tāo; #7E1A
+縛 > fú; #7E1B
+縜 > yún; #7E1C
+縝 > zhēn; #7E1D
+縞 > găo; #7E1E
+縟 > rù; #7E1F
+縠 > hú; #7E20
+縡 > zăi; #7E21
+縢 > téng; #7E22
+縣 > xiàn; #7E23
+縤 > sù; #7E24
+縥 > zhĕn; #7E25
+縦 > zòng; #7E26
+縧 > tāo; #7E27
+縩 > cài; #7E29
+縪 > bì; #7E2A
+縫 > féng; #7E2B
+縬 > cù; #7E2C
+縭 > lí; #7E2D
+縮 > sūo; #7E2E
+縯 > yĭn; #7E2F
+縰 > xĭ; #7E30
+縱 > zòng; #7E31
+縲 > léi; #7E32
+縳 > zhuàn; #7E33
+縴 > qiān; #7E34
+縵 > màn; #7E35
+縶 > zhí; #7E36
+縷 > lǚ; #7E37
+縸 > mò; #7E38
+縹 > piăo; #7E39
+縺 > lián; #7E3A
+縻 > mí; #7E3B
+縼 > xuàn; #7E3C
+總 > zŏng; #7E3D
+績 > jī; #7E3E
+縿 > shān; #7E3F
+繀 > sùi; #7E40
+繁 > fán; #7E41
+繂 > shuài; #7E42
+繃 > bēng; #7E43
+繄 > yī; #7E44
+繅 > sāo; #7E45
+繆 > móu; #7E46
+繇 > zhòu; #7E47
+繈 > qiăng; #7E48
+繉 > hún; #7E49
+繋 > xì; #7E4B
+繍 > xìu; #7E4D
+繎 > rán; #7E4E
+繏 > xuàn; #7E4F
+繐 > hùi; #7E50
+繑 > qiāo; #7E51
+繒 > zēng; #7E52
+繓 > zŭo; #7E53
+織 > zhī; #7E54
+繕 > shàn; #7E55
+繖 > săn; #7E56
+繗 > lín; #7E57
+繘 > yù; #7E58
+繙 > fān; #7E59
+繚 > liáo; #7E5A
+繛 > chùo; #7E5B
+繜 > zūn; #7E5C
+繝 > jiàn; #7E5D
+繞 > rào; #7E5E
+繟 > chăn; #7E5F
+繠 > rŭi; #7E60
+繡 > xìu; #7E61
+繢 > hùi; #7E62
+繣 > huà; #7E63
+繤 > zuăn; #7E64
+繥 > xī; #7E65
+繦 > qiăng; #7E66
+繨 > dá; #7E68
+繩 > shéng; #7E69
+繪 > hùi; #7E6A
+繫 > xì; #7E6B
+繬 > sè; #7E6C
+繭 > jiăn; #7E6D
+繮 > jiāng; #7E6E
+繯 > huán; #7E6F
+繰 > zăo; #7E70
+繱 > cōng; #7E71
+繲 > jiè; #7E72
+繳 > jiăo; #7E73
+繴 > bò; #7E74
+繵 > chán; #7E75
+繶 > yì; #7E76
+繷 > náo; #7E77
+繸 > sùi; #7E78
+繹 > yì; #7E79
+繺 > shăi; #7E7A
+繻 > xū; #7E7B
+繼 > jì; #7E7C
+繽 > bīn; #7E7D
+繾 > qiăn; #7E7E
+繿 > lán; #7E7F
+纀 > pú; #7E80
+纁 > xūn; #7E81
+纂 > zuăn; #7E82
+纃 > qí; #7E83
+纄 > péng; #7E84
+纅 > lì; #7E85
+纆 > mò; #7E86
+纇 > lèi; #7E87
+纈 > xié; #7E88
+纉 > zuăn; #7E89
+纊 > kuàng; #7E8A
+纋 > yōu; #7E8B
+續 > xù; #7E8C
+纍 > léi; #7E8D
+纎 > xiān; #7E8E
+纏 > chán; #7E8F
+纑 > lú; #7E91
+纒 > chán; #7E92
+纓 > yīng; #7E93
+纔 > cái; #7E94
+纕 > xiāng; #7E95
+纖 > xiān; #7E96
+纗 > zūi; #7E97
+纘 > zuăn; #7E98
+纙 > lùo; #7E99
+纚 > xĭ; #7E9A
+纛 > dào; #7E9B
+纜 > làn; #7E9C
+纝 > léi; #7E9D
+纞 > liàn; #7E9E
+纟 > sī; #7E9F
+纠 > jīu; #7EA0
+纡 > yū; #7EA1
+红 > hóng; #7EA2
+纣 > zhòu; #7EA3
+纤 > xiān; #7EA4
+纥 > hé; #7EA5
+约 > yuē; #7EA6
+级 > jí; #7EA7
+纨 > wán; #7EA8
+纩 > kuàng; #7EA9
+纪 > jì; #7EAA
+纫 > rèn; #7EAB
+纬 > wĕi; #7EAC
+纭 > yún; #7EAD
+纮 > hóng; #7EAE
+纯 > chún; #7EAF
+纰 > pí; #7EB0
+纱 > shā; #7EB1
+纲 > gāng; #7EB2
+纳 > nà; #7EB3
+纴 > rén; #7EB4
+纵 > zòng; #7EB5
+纶 > lún; #7EB6
+纷 > fēn; #7EB7
+纸 > zhĭ; #7EB8
+纹 > wén; #7EB9
+纺 > făng; #7EBA
+纻 > zhù; #7EBB
+纼 > yĭn; #7EBC
+纽 > nĭu; #7EBD
+纾 > shū; #7EBE
+线 > xiàn; #7EBF
+绀 > gàn; #7EC0
+绁 > xiè; #7EC1
+绂 > fú; #7EC2
+练 > liàn; #7EC3
+组 > zŭ; #7EC4
+绅 > shēn; #7EC5
+细 > xì; #7EC6
+织 > zhī; #7EC7
+终 > zhōng; #7EC8
+绉 > zhòu; #7EC9
+绊 > bàn; #7ECA
+绋 > fú; #7ECB
+绌 > zhúo; #7ECC
+绍 > shào; #7ECD
+绎 > yì; #7ECE
+经 > jīng; #7ECF
+绐 > dài; #7ED0
+绑 > băng; #7ED1
+绒 > róng; #7ED2
+结 > jié; #7ED3
+绔 > kù; #7ED4
+绕 > rào; #7ED5
+绖 > dié; #7ED6
+绗 > hèng; #7ED7
+绘 > hùi; #7ED8
+给 > gĕi; #7ED9
+绚 > xuàn; #7EDA
+绛 > jiàng; #7EDB
+络 > lùo; #7EDC
+绝 > jué; #7EDD
+绞 > jiăo; #7EDE
+统 > tŏng; #7EDF
+绠 > gĕng; #7EE0
+绡 > xiāo; #7EE1
+绢 > juàn; #7EE2
+绣 > xìu; #7EE3
+绤 > xì; #7EE4
+绥 > sūi; #7EE5
+绦 > tāo; #7EE6
+继 > jì; #7EE7
+绨 > tí; #7EE8
+绩 > jī; #7EE9
+绪 > xù; #7EEA
+绫 > líng; #7EEB
+续 > xù; #7EED
+绮 > qĭ; #7EEE
+绯 > fēi; #7EEF
+绰 > chùo; #7EF0
+绱 > zhăng; #7EF1
+绲 > gŭn; #7EF2
+绳 > shéng; #7EF3
+维 > wéi; #7EF4
+绵 > mián; #7EF5
+绶 > shòu; #7EF6
+绷 > bēng; #7EF7
+绸 > chóu; #7EF8
+绹 > táo; #7EF9
+绺 > lĭu; #7EFA
+绻 > quăn; #7EFB
+综 > zòng; #7EFC
+绽 > zhàn; #7EFD
+绾 > wăn; #7EFE
+绿 > lǜ; #7EFF
+缀 > zhùi; #7F00
+缁 > zī; #7F01
+缂 > kè; #7F02
+缃 > xiāng; #7F03
+缄 > jiān; #7F04
+缅 > miăn; #7F05
+缆 > làn; #7F06
+缇 > tí; #7F07
+缈 > miăo; #7F08
+缉 > qì; #7F09
+缊 > yūn; #7F0A
+缋 > hùi; #7F0B
+缌 > sī; #7F0C
+缍 > dŭo; #7F0D
+缎 > duàn; #7F0E
+缏 > biàn; #7F0F
+缐 > xiàn; #7F10
+缑 > gōu; #7F11
+缒 > zhùi; #7F12
+缓 > huăn; #7F13
+缔 > dì; #7F14
+缕 > lǚ; #7F15
+编 > biān; #7F16
+缗 > mín; #7F17
+缘 > yuán; #7F18
+缙 > jìn; #7F19
+缚 > fú; #7F1A
+缛 > rù; #7F1B
+缜 > zhēn; #7F1C
+缝 > féng; #7F1D
+缞 > shuāi; #7F1E
+缟 > găo; #7F1F
+缠 > chán; #7F20
+缡 > lí; #7F21
+缢 > yì; #7F22
+缣 > jiān; #7F23
+缤 > bīn; #7F24
+缥 > piăo; #7F25
+缦 > màn; #7F26
+缧 > léi; #7F27
+缨 > yīng; #7F28
+缩 > sūo; #7F29
+缪 > móu; #7F2A
+缫 > sāo; #7F2B
+缬 > xié; #7F2C
+缭 > liáo; #7F2D
+缮 > shàn; #7F2E
+缯 > zēng; #7F2F
+缰 > jiāng; #7F30
+缱 > qiăn; #7F31
+缲 > zăo; #7F32
+缳 > huán; #7F33
+缴 > jiăo; #7F34
+缵 > zuăn; #7F35
+缶 > fŏu; #7F36
+缷 > xiè; #7F37
+缸 > gāng; #7F38
+缹 > fŏu; #7F39
+缺 > quē; #7F3A
+缻 > fŏu; #7F3B
+缽 > bō; #7F3D
+缾 > píng; #7F3E
+缿 > hòu; #7F3F
+罁 > gāng; #7F41
+罂 > yīng; #7F42
+罃 > yīng; #7F43
+罄 > qìng; #7F44
+罅 > xià; #7F45
+罆 > guàn; #7F46
+罇 > zūn; #7F47
+罈 > tán; #7F48
+罊 > qì; #7F4A
+罋 > wèng; #7F4B
+罌 > yīng; #7F4C
+罍 > léi; #7F4D
+罎 > tán; #7F4E
+罏 > lú; #7F4F
+罐 > guàn; #7F50
+网 > wăng; #7F51
+罒 > wăng; #7F52
+罓 > gāng; #7F53
+罔 > wăng; #7F54
+罕 > hăn; #7F55
+罗 > lūo; #7F57
+罘 > fú; #7F58
+罙 > mí; #7F59
+罚 > fá; #7F5A
+罛 > gū; #7F5B
+罜 > zhŭ; #7F5C
+罝 > jū; #7F5D
+罞 > máo; #7F5E
+罟 > gŭ; #7F5F
+罠 > mín; #7F60
+罡 > gāng; #7F61
+罢 > bà; #7F62
+罣 > guà; #7F63
+罤 > tí; #7F64
+罥 > juàn; #7F65
+罦 > fū; #7F66
+罧 > lín; #7F67
+罨 > yăn; #7F68
+罩 > zhào; #7F69
+罪 > zùi; #7F6A
+罫 > guà; #7F6B
+罬 > zhúo; #7F6C
+罭 > yù; #7F6D
+置 > zhì; #7F6E
+罯 > ăn; #7F6F
+罰 > fá; #7F70
+罱 > năn; #7F71
+署 > shŭ; #7F72
+罳 > sī; #7F73
+罴 > pí; #7F74
+罵 > mà; #7F75
+罶 > lĭu; #7F76
+罷 > bà; #7F77
+罸 > fá; #7F78
+罹 > lí; #7F79
+罺 > chāo; #7F7A
+罻 > wèi; #7F7B
+罼 > bì; #7F7C
+罽 > jì; #7F7D
+罾 > zēng; #7F7E
+罿 > tóng; #7F7F
+羀 > lĭu; #7F80
+羁 > jī; #7F81
+羂 > juàn; #7F82
+羃 > mì; #7F83
+羄 > zhào; #7F84
+羅 > lúo; #7F85
+羆 > pí; #7F86
+羇 > jī; #7F87
+羈 > jī; #7F88
+羉 > luán; #7F89
+羊 > yáng; #7F8A
+羋 > miē; #7F8B
+羌 > qiāng; #7F8C
+羍 > tà; #7F8D
+美 > mĕi; #7F8E
+羏 > yáng; #7F8F
+羐 > yŏu; #7F90
+羑 > yŏu; #7F91
+羒 > fén; #7F92
+羓 > bā; #7F93
+羔 > gāo; #7F94
+羕 > yàng; #7F95
+羖 > gŭ; #7F96
+羗 > qiāng; #7F97
+羘 > zāng; #7F98
+羙 > gāo; #7F99
+羚 > líng; #7F9A
+羛 > yì; #7F9B
+羜 > zhù; #7F9C
+羝 > dī; #7F9D
+羞 > xīu; #7F9E
+羟 > qiān; #7F9F
+羠 > yí; #7FA0
+羡 > xiàn; #7FA1
+羢 > róng; #7FA2
+羣 > qún; #7FA3
+群 > qún; #7FA4
+羥 > qiān; #7FA5
+羦 > huán; #7FA6
+羧 > zūi; #7FA7
+羨 > xiàn; #7FA8
+義 > yì; #7FA9
+羫 > qiāng; #7FAB
+羬 > xián; #7FAC
+羭 > yú; #7FAD
+羮 > gēng; #7FAE
+羯 > jié; #7FAF
+羰 > tāng; #7FB0
+羱 > yuán; #7FB1
+羲 > xī; #7FB2
+羳 > fán; #7FB3
+羴 > shān; #7FB4
+羵 > fĕn; #7FB5
+羶 > shān; #7FB6
+羷 > liăn; #7FB7
+羸 > léi; #7FB8
+羹 > gēng; #7FB9
+羺 > nóu; #7FBA
+羻 > qiàng; #7FBB
+羼 > chàn; #7FBC
+羽 > yŭ; #7FBD
+羾 > gòng; #7FBE
+羿 > yì; #7FBF
+翀 > chóng; #7FC0
+翁 > wēng; #7FC1
+翂 > fēn; #7FC2
+翃 > hóng; #7FC3
+翄 > chì; #7FC4
+翅 > chì; #7FC5
+翆 > cùi; #7FC6
+翇 > fú; #7FC7
+翈 > xiá; #7FC8
+翉 > pĕn; #7FC9
+翊 > yì; #7FCA
+翋 > lā; #7FCB
+翌 > yì; #7FCC
+翍 > pī; #7FCD
+翎 > líng; #7FCE
+翏 > lìu; #7FCF
+翐 > zhì; #7FD0
+翑 > qú; #7FD1
+習 > xí; #7FD2
+翓 > xié; #7FD3
+翔 > xiáng; #7FD4
+翕 > xì; #7FD5
+翖 > xì; #7FD6
+翗 > qí; #7FD7
+翘 > qiáo; #7FD8
+翙 > hùi; #7FD9
+翚 > hūi; #7FDA
+翛 > xiāo; #7FDB
+翜 > sè; #7FDC
+翝 > hóng; #7FDD
+翞 > jiāng; #7FDE
+翟 > dí; #7FDF
+翠 > cùi; #7FE0
+翡 > fĕi; #7FE1
+翢 > tāo; #7FE2
+翣 > shà; #7FE3
+翤 > chì; #7FE4
+翥 > zhù; #7FE5
+翦 > jiăn; #7FE6
+翧 > xuān; #7FE7
+翨 > shì; #7FE8
+翩 > piān; #7FE9
+翪 > zōng; #7FEA
+翫 > wàn; #7FEB
+翬 > hūi; #7FEC
+翭 > hóu; #7FED
+翮 > hé; #7FEE
+翯 > hè; #7FEF
+翰 > hàn; #7FF0
+翱 > áo; #7FF1
+翲 > piāo; #7FF2
+翳 > yì; #7FF3
+翴 > lián; #7FF4
+翵 > qú; #7FF5
+翷 > lín; #7FF7
+翸 > pĕn; #7FF8
+翹 > qiáo; #7FF9
+翺 > áo; #7FFA
+翻 > fān; #7FFB
+翼 > yì; #7FFC
+翽 > hùi; #7FFD
+翾 > xuān; #7FFE
+翿 > dào; #7FFF
+耀 > yào; #8000
+老 > lăo; #8001
+考 > kăo; #8003
+耄 > mào; #8004
+者 > zhĕ; #8005
+耆 > qí; #8006
+耇 > gŏu; #8007
+耈 > gŏu; #8008
+耉 > gŏu; #8009
+耊 > diè; #800A
+耋 > diè; #800B
+而 > ér; #800C
+耍 > shuă; #800D
+耎 > ruăn; #800E
+耏 > ér; #800F
+耐 > nài; #8010
+耑 > zhuān; #8011
+耒 > lĕi; #8012
+耓 > tīng; #8013
+耔 > zĭ; #8014
+耕 > gēng; #8015
+耖 > chào; #8016
+耗 > hào; #8017
+耘 > yún; #8018
+耙 > pá; #8019
+耚 > pī; #801A
+耛 > chí; #801B
+耜 > sì; #801C
+耝 > chú; #801D
+耞 > jiā; #801E
+耟 > jù; #801F
+耠 > hé; #8020
+耡 > chú; #8021
+耢 > lào; #8022
+耣 > lŭn; #8023
+耤 > jí; #8024
+耥 > tăng; #8025
+耦 > ŏu; #8026
+耧 > lóu; #8027
+耨 > nòu; #8028
+耩 > gōu; #8029
+耪 > păng; #802A
+耫 > zé; #802B
+耬 > lóu; #802C
+耭 > jī; #802D
+耮 > lào; #802E
+耯 > hùo; #802F
+耰 > yōu; #8030
+耱 > mò; #8031
+耲 > huái; #8032
+耳 > ĕr; #8033
+耴 > zhé; #8034
+耵 > tīng; #8035
+耶 > yé; #8036
+耷 > dā; #8037
+耸 > sŏng; #8038
+耹 > qín; #8039
+耺 > yún; #803A
+耻 > chĭ; #803B
+耼 > dān; #803C
+耽 > dān; #803D
+耾 > hóng; #803E
+耿 > gĕng; #803F
+聀 > zhí; #8040
+聂 > niè; #8042
+聃 > dān; #8043
+聄 > zhĕn; #8044
+聅 > chè; #8045
+聆 > líng; #8046
+聇 > zhēng; #8047
+聈 > yŏu; #8048
+聉 > wā; #8049
+聊 > liáo; #804A
+聋 > lóng; #804B
+职 > zhí; #804C
+聍 > níng; #804D
+聎 > tiāo; #804E
+聏 > ér; #804F
+聐 > yà; #8050
+聑 > dié; #8051
+聒 > guā; #8052
+联 > lián; #8054
+聕 > hào; #8055
+聖 > shèng; #8056
+聗 > liè; #8057
+聘 > pìn; #8058
+聙 > jīng; #8059
+聚 > jù; #805A
+聛 > bì; #805B
+聜 > dĭ; #805C
+聝 > gúo; #805D
+聞 > wén; #805E
+聟 > xù; #805F
+聠 > píng; #8060
+聡 > cōng; #8061
+聤 > tíng; #8064
+聥 > yŭ; #8065
+聦 > cōng; #8066
+聧 > kúi; #8067
+聩 > kùi; #8069
+聪 > cōng; #806A
+聫 > lián; #806B
+聬 > wĕng; #806C
+聭 > kùi; #806D
+聮 > lián; #806E
+聯 > lián; #806F
+聰 > cōng; #8070
+聱 > áo; #8071
+聲 > shēng; #8072
+聳 > sŏng; #8073
+聴 > tīng; #8074
+聵 > kùi; #8075
+聶 > niè; #8076
+職 > zhí; #8077
+聸 > dān; #8078
+聹 > níng; #8079
+聺 > qie; #807A
+聻 > jī; #807B
+聼 > tīng; #807C
+聽 > tīng; #807D
+聾 > lóng; #807E
+聿 > yù; #807F
+肀 > yù; #8080
+肁 > zhào; #8081
+肂 > sì; #8082
+肃 > sù; #8083
+肄 > yì; #8084
+肅 > sù; #8085
+肆 > sì; #8086
+肇 > zhào; #8087
+肈 > zhào; #8088
+肉 > ròu; #8089
+肊 > yì; #808A
+肋 > lè; #808B
+肌 > jī; #808C
+肍 > qíu; #808D
+肎 > kĕn; #808E
+肏 > cào; #808F
+肐 > gē; #8090
+肑 > dì; #8091
+肒 > huán; #8092
+肓 > huāng; #8093
+肔 > yĭ; #8094
+肕 > rèn; #8095
+肖 > xiào; #8096
+肗 > rŭ; #8097
+肘 > zhŏu; #8098
+肙 > yuān; #8099
+肚 > dù; #809A
+肛 > gāng; #809B
+肜 > róng; #809C
+肝 > gān; #809D
+肞 > chā; #809E
+肟 > wò; #809F
+肠 > cháng; #80A0
+股 > gŭ; #80A1
+肢 > zhī; #80A2
+肣 > hán; #80A3
+肤 > fū; #80A4
+肥 > féi; #80A5
+肦 > fén; #80A6
+肧 > pēi; #80A7
+肨 > pàng; #80A8
+肩 > jiān; #80A9
+肪 > fáng; #80AA
+肫 > zhūn; #80AB
+肬 > yóu; #80AC
+肭 > nà; #80AD
+肮 > háng; #80AE
+肯 > kĕn; #80AF
+肰 > rán; #80B0
+肱 > gōng; #80B1
+育 > yù; #80B2
+肳 > wĕn; #80B3
+肴 > yáo; #80B4
+肵 > jìn; #80B5
+肶 > pí; #80B6
+肷 > qiān; #80B7
+肸 > xì; #80B8
+肹 > xī; #80B9
+肺 > fèi; #80BA
+肻 > kĕn; #80BB
+肼 > jĭng; #80BC
+肽 > tài; #80BD
+肾 > shèn; #80BE
+肿 > zhŏng; #80BF
+胀 > zhàng; #80C0
+胁 > xié; #80C1
+胂 > shēn; #80C2
+胃 > wèi; #80C3
+胄 > zhòu; #80C4
+胅 > dié; #80C5
+胆 > dăn; #80C6
+胇 > fèi; #80C7
+胈 > bá; #80C8
+胉 > bó; #80C9
+胊 > qú; #80CA
+胋 > tián; #80CB
+背 > bèi; #80CC
+胍 > guā; #80CD
+胎 > tāi; #80CE
+胏 > zĭ; #80CF
+胐 > kū; #80D0
+胑 > zhī; #80D1
+胒 > nì; #80D2
+胓 > píng; #80D3
+胔 > zì; #80D4
+胕 > fù; #80D5
+胖 > pàng; #80D6
+胗 > zhēn; #80D7
+胘 > xián; #80D8
+胙 > zùo; #80D9
+胚 > pēi; #80DA
+胛 > jiă; #80DB
+胜 > shèng; #80DC
+胝 > zhī; #80DD
+胞 > bāo; #80DE
+胟 > mŭ; #80DF
+胠 > qū; #80E0
+胡 > hú; #80E1
+胢 > kē; #80E2
+胣 > yĭ; #80E3
+胤 > yìn; #80E4
+胥 > xū; #80E5
+胦 > yāng; #80E6
+胧 > lóng; #80E7
+胨 > dòng; #80E8
+胩 > kă; #80E9
+胪 > lú; #80EA
+胫 > jìng; #80EB
+胬 > nŭ; #80EC
+胭 > yān; #80ED
+胮 > páng; #80EE
+胯 > kuà; #80EF
+胰 > yí; #80F0
+胱 > guāng; #80F1
+胲 > gāi; #80F2
+胳 > gē; #80F3
+胴 > dòng; #80F4
+胵 > zhì; #80F5
+胶 > xiáo; #80F6
+胷 > xīong; #80F7
+胸 > xīong; #80F8
+胹 > ér; #80F9
+胺 > è; #80FA
+胻 > xíng; #80FB
+胼 > pián; #80FC
+能 > néng; #80FD
+胾 > zì; #80FE
+胿 > gui; #80FF
+脀 > chéng; #8100
+脁 > tiào; #8101
+脂 > zhī; #8102
+脃 > cùi; #8103
+脄 > méi; #8104
+脅 > xié; #8105
+脆 > cùi; #8106
+脇 > xié; #8107
+脈 > mò; #8108
+脉 > mài; #8109
+脊 > jí; #810A
+脍 > kuài; #810D
+脎 > sà; #810E
+脏 > zāng; #810F
+脐 > qí; #8110
+脑 > năo; #8111
+脒 > mĭ; #8112
+脓 > nóng; #8113
+脔 > luán; #8114
+脕 > wăn; #8115
+脖 > bó; #8116
+脗 > wĕn; #8117
+脘 > guăn; #8118
+脙 > qíu; #8119
+脚 > jiăo; #811A
+脛 > jìng; #811B
+脜 > róu; #811C
+脝 > hēng; #811D
+脞 > cŭo; #811E
+脟 > liè; #811F
+脠 > shān; #8120
+脡 > tĭng; #8121
+脢 > méi; #8122
+脣 > chún; #8123
+脤 > shèn; #8124
+脥 > xié; #8125
+脦 > de; #8126
+脧 > zūi; #8127
+脨 > cù; #8128
+脩 > xīu; #8129
+脪 > xìn; #812A
+脫 > tūo; #812B
+脬 > pāo; #812C
+脭 > chéng; #812D
+脮 > nĕi; #812E
+脯 > fŭ; #812F
+脰 > dòu; #8130
+脱 > tūo; #8131
+脲 > niào; #8132
+脴 > pĭ; #8134
+脵 > gŭ; #8135
+脶 > guā; #8136
+脷 > lì; #8137
+脸 > liăn; #8138
+脹 > zhàng; #8139
+脺 > cùi; #813A
+脻 > jié; #813B
+脼 > liăng; #813C
+脽 > zhōu; #813D
+脾 > pí; #813E
+脿 > biāo; #813F
+腀 > lún; #8140
+腁 > pián; #8141
+腂 > gùo; #8142
+腃 > kùi; #8143
+腄 > chúi; #8144
+腅 > dàn; #8145
+腆 > tiăn; #8146
+腇 > nĕi; #8147
+腈 > jīng; #8148
+腉 > jiē; #8149
+腊 > là; #814A
+腋 > yì; #814B
+腌 > ān; #814C
+腍 > rĕn; #814D
+腎 > shèn; #814E
+腏 > chùo; #814F
+腐 > fŭ; #8150
+腑 > fŭ; #8151
+腒 > jū; #8152
+腓 > féi; #8153
+腔 > qiāng; #8154
+腕 > wàn; #8155
+腖 > dòng; #8156
+腗 > pí; #8157
+腘 > gúo; #8158
+腙 > zōng; #8159
+腚 > dìng; #815A
+腛 > wū; #815B
+腜 > méi; #815C
+腝 > ruăn; #815D
+腞 > zhuàn; #815E
+腟 > zhì; #815F
+腠 > còu; #8160
+腡 > guā; #8161
+腢 > ŏu; #8162
+腣 > dì; #8163
+腤 > ān; #8164
+腥 > xīng; #8165
+腦 > năo; #8166
+腧 > yú; #8167
+腨 > chuăn; #8168
+腩 > năn; #8169
+腪 > yùn; #816A
+腫 > zhŏng; #816B
+腬 > róu; #816C
+腭 > è; #816D
+腮 > sāi; #816E
+腯 > tú; #816F
+腰 > yāo; #8170
+腱 > jiàn; #8171
+腲 > wĕi; #8172
+腳 > jiăo; #8173
+腴 > yú; #8174
+腵 > jiā; #8175
+腶 > duàn; #8176
+腷 > bì; #8177
+腸 > cháng; #8178
+腹 > fù; #8179
+腺 > xiàn; #817A
+腻 > nì; #817B
+腼 > miăn; #817C
+腽 > wà; #817D
+腾 > téng; #817E
+腿 > tŭi; #817F
+膀 > băng; #8180
+膁 > qiān; #8181
+膂 > lǚ; #8182
+膃 > wà; #8183
+膄 > sòu; #8184
+膅 > táng; #8185
+膆 > sù; #8186
+膇 > zhùi; #8187
+膈 > gé; #8188
+膉 > yì; #8189
+膊 > bó; #818A
+膋 > liáo; #818B
+膌 > jí; #818C
+膍 > pí; #818D
+膎 > xié; #818E
+膏 > gāo; #818F
+膐 > lǚ; #8190
+膑 > bìn; #8191
+膒 > ou; #8192
+膓 > cháng; #8193
+膔 > lù; #8194
+膕 > gúo; #8195
+膖 > pāng; #8196
+膗 > chuái; #8197
+膘 > piăo; #8198
+膙 > jiăng; #8199
+膚 > fū; #819A
+膛 > táng; #819B
+膜 > mò; #819C
+膝 > xī; #819D
+膞 > zhuān; #819E
+膟 > lǜ; #819F
+膠 > jiāo; #81A0
+膡 > yìng; #81A1
+膢 > lǘ; #81A2
+膣 > zhì; #81A3
+膥 > chūn; #81A5
+膦 > liăn; #81A6
+膧 > tóng; #81A7
+膨 > péng; #81A8
+膩 > nì; #81A9
+膪 > zhà; #81AA
+膫 > liáo; #81AB
+膬 > cùi; #81AC
+膭 > gūi; #81AD
+膮 > xiāo; #81AE
+膯 > tēng; #81AF
+膰 > fán; #81B0
+膱 > zhí; #81B1
+膲 > jiāo; #81B2
+膳 > shàn; #81B3
+膴 > wú; #81B4
+膵 > cùi; #81B5
+膶 > rùn; #81B6
+膷 > xiāng; #81B7
+膸 > sŭi; #81B8
+膹 > fèn; #81B9
+膺 > yīng; #81BA
+膻 > tăn; #81BB
+膼 > zhuā; #81BC
+膽 > dăn; #81BD
+膾 > kuài; #81BE
+膿 > nóng; #81BF
+臀 > tún; #81C0
+臁 > lián; #81C1
+臂 > bì; #81C2
+臃 > yŏng; #81C3
+臄 > jué; #81C4
+臅 > chù; #81C5
+臆 > yì; #81C6
+臇 > juăn; #81C7
+臈 > là; #81C8
+臉 > liăn; #81C9
+臊 > sāo; #81CA
+臋 > tún; #81CB
+臌 > gŭ; #81CC
+臍 > qí; #81CD
+臎 > cùi; #81CE
+臏 > bìn; #81CF
+臐 > xūn; #81D0
+臑 > rú; #81D1
+臒 > hùo; #81D2
+臓 > zàng; #81D3
+臔 > xiàn; #81D4
+臕 > biāo; #81D5
+臖 > xìng; #81D6
+臗 > kuān; #81D7
+臘 > là; #81D8
+臙 > yān; #81D9
+臚 > lú; #81DA
+臛 > hùo; #81DB
+臜 > zāng; #81DC
+臝 > lŭo; #81DD
+臞 > qú; #81DE
+臟 > zàng; #81DF
+臠 > luán; #81E0
+臡 > ní; #81E1
+臢 > zāng; #81E2
+臣 > chén; #81E3
+臤 > qiān; #81E4
+臥 > wò; #81E5
+臦 > guàng; #81E6
+臧 > záng; #81E7
+臨 > lín; #81E8
+臩 > guàng; #81E9
+自 > zì; #81EA
+臫 > jiăo; #81EB
+臬 > niè; #81EC
+臭 > chòu; #81ED
+臮 > jì; #81EE
+臯 > gāo; #81EF
+臰 > chòu; #81F0
+臱 > mián; #81F1
+臲 > niè; #81F2
+至 > zhì; #81F3
+致 > zhì; #81F4
+臵 > gé; #81F5
+臶 > jiàn; #81F6
+臷 > dié; #81F7
+臸 > zhì; #81F8
+臹 > xīu; #81F9
+臺 > tái; #81FA
+臻 > zhēn; #81FB
+臼 > jìu; #81FC
+臽 > xiàn; #81FD
+臾 > yú; #81FE
+臿 > chā; #81FF
+舀 > yăo; #8200
+舁 > yú; #8201
+舂 > chōng; #8202
+舃 > xì; #8203
+舄 > xì; #8204
+舅 > jìu; #8205
+舆 > yú; #8206
+與 > yŭ; #8207
+興 > xīng; #8208
+舉 > jŭ; #8209
+舊 > jìu; #820A
+舋 > xìn; #820B
+舌 > shé; #820C
+舍 > shè; #820D
+舏 > jĭu; #820F
+舐 > shì; #8210
+舑 > tān; #8211
+舒 > shū; #8212
+舓 > shì; #8213
+舔 > tiăn; #8214
+舕 > dàn; #8215
+舖 > pù; #8216
+舗 > pù; #8217
+舘 > guăn; #8218
+舙 > huà; #8219
+舚 > tān; #821A
+舛 > chuăn; #821B
+舜 > shùn; #821C
+舝 > xiá; #821D
+舞 > wŭ; #821E
+舟 > zhōu; #821F
+舠 > dāo; #8220
+舡 > gāng; #8221
+舢 > shān; #8222
+舣 > yĭ; #8223
+舥 > pā; #8225
+舦 > tài; #8226
+舧 > fán; #8227
+舨 > băn; #8228
+舩 > chuán; #8229
+航 > háng; #822A
+舫 > făng; #822B
+般 > bān; #822C
+舭 > què; #822D
+舯 > zhōng; #822F
+舰 > jiàn; #8230
+舱 > cāng; #8231
+舲 > líng; #8232
+舳 > zhú; #8233
+舴 > zé; #8234
+舵 > dùo; #8235
+舶 > bó; #8236
+舷 > xián; #8237
+舸 > gĕ; #8238
+船 > chuán; #8239
+舺 > jiá; #823A
+舻 > lŭ; #823B
+舼 > hóng; #823C
+舽 > páng; #823D
+舾 > xī; #823E
+艀 > fú; #8240
+艁 > zào; #8241
+艂 > féng; #8242
+艃 > lí; #8243
+艄 > shāo; #8244
+艅 > yú; #8245
+艆 > láng; #8246
+艇 > tĭng; #8247
+艉 > wĕi; #8249
+艊 > bó; #824A
+艋 > mĕng; #824B
+艌 > niàn; #824C
+艍 > jū; #824D
+艎 > huáng; #824E
+艏 > shŏu; #824F
+艐 > zōng; #8250
+艑 > biàn; #8251
+艒 > mào; #8252
+艓 > dié; #8253
+艕 > bàng; #8255
+艖 > chā; #8256
+艗 > yì; #8257
+艘 > sāo; #8258
+艙 > cāng; #8259
+艚 > cáo; #825A
+艛 > lóu; #825B
+艜 > dài; #825C
+艞 > yào; #825E
+艟 > tóng; #825F
+艡 > dāng; #8261
+艢 > tán; #8262
+艣 > lŭ; #8263
+艤 > yĭ; #8264
+艥 > jiè; #8265
+艦 > jiàn; #8266
+艧 > hùo; #8267
+艨 > méng; #8268
+艩 > qí; #8269
+艪 > lŭ; #826A
+艫 > lú; #826B
+艬 > chán; #826C
+艭 > shuāng; #826D
+艮 > gèn; #826E
+良 > liáng; #826F
+艰 > jiān; #8270
+艱 > jiān; #8271
+色 > sè; #8272
+艳 > yàn; #8273
+艴 > fú; #8274
+艵 > píng; #8275
+艶 > yàn; #8276
+艷 > yàn; #8277
+艸 > căo; #8278
+艹 > căo' 'zì' 'tóu; #8279
+艺 > yì; #827A
+艻 > lè; #827B
+艼 > tīng; #827C
+艽 > qíu; #827D
+艾 > ài; #827E
+艿 > năi; #827F
+芀 > tiáo; #8280
+芁 > jiāo; #8281
+节 > jié; #8282
+芃 > péng; #8283
+芄 > wán; #8284
+芅 > yì; #8285
+芆 > chāi; #8286
+芇 > mián; #8287
+芈 > miē; #8288
+芉 > gān; #8289
+芊 > qiān; #828A
+芋 > yù; #828B
+芌 > yù; #828C
+芍 > shùo; #828D
+芎 > qīong; #828E
+芏 > tŭ; #828F
+芐 > xià; #8290
+芑 > qĭ; #8291
+芒 > máng; #8292
+芓 > zĭ; #8293
+芔 > hŭi; #8294
+芕 > sūi; #8295
+芖 > zhì; #8296
+芗 > xiāng; #8297
+芘 > bī; #8298
+芙 > fú; #8299
+芚 > tún; #829A
+芛 > wĕi; #829B
+芜 > wú; #829C
+芝 > zhī; #829D
+芞 > qĭ; #829E
+芟 > shān; #829F
+芠 > wén; #82A0
+芡 > qiàn; #82A1
+芢 > rén; #82A2
+芣 > fŏu; #82A3
+芤 > kōu; #82A4
+芥 > jiè; #82A5
+芦 > lú; #82A6
+芧 > xù; #82A7
+芨 > jí; #82A8
+芩 > qín; #82A9
+芪 > qí; #82AA
+芫 > yuán; #82AB
+芬 > fēn; #82AC
+芭 > bā; #82AD
+芮 > rùi; #82AE
+芯 > xīn; #82AF
+芰 > jì; #82B0
+花 > huā; #82B1
+芲 > huā; #82B2
+芳 > fāng; #82B3
+芴 > wù; #82B4
+芵 > jué; #82B5
+芶 > gōu; #82B6
+芷 > zhĭ; #82B7
+芸 > yún; #82B8
+芹 > qín; #82B9
+芺 > ăo; #82BA
+芻 > chú; #82BB
+芼 > mào; #82BC
+芽 > yá; #82BD
+芾 > fèi; #82BE
+芿 > rèng; #82BF
+苀 > háng; #82C0
+苁 > cōng; #82C1
+苂 > yín; #82C2
+苃 > yŏu; #82C3
+苄 > biàn; #82C4
+苅 > yì; #82C5
+苇 > wĕi; #82C7
+苈 > lì; #82C8
+苉 > pĭ; #82C9
+苊 > è; #82CA
+苋 > xiàn; #82CB
+苌 > cháng; #82CC
+苍 > cāng; #82CD
+苎 > méng; #82CE
+苏 > sū; #82CF
+苐 > yí; #82D0
+苑 > yuàn; #82D1
+苒 > răn; #82D2
+苓 > líng; #82D3
+苔 > tái; #82D4
+苕 > tiáo; #82D5
+苖 > dĭ; #82D6
+苗 > miáo; #82D7
+苘 > qĭong; #82D8
+苙 > lì; #82D9
+苚 > yòng; #82DA
+苛 > kē; #82DB
+苜 > mù; #82DC
+苝 > pèi; #82DD
+苞 > bāo; #82DE
+苟 > gŏu; #82DF
+苠 > mín; #82E0
+苡 > yĭ; #82E1
+苢 > yĭ; #82E2
+苣 > jù; #82E3
+苤 > pĭ; #82E4
+若 > rùo; #82E5
+苦 > kŭ; #82E6
+苧 > zhù; #82E7
+苨 > nĭ; #82E8
+苩 > bó; #82E9
+苪 > bĭng; #82EA
+苫 > shān; #82EB
+苬 > qíu; #82EC
+苭 > yăo; #82ED
+苮 > xiān; #82EE
+苯 > bĕn; #82EF
+苰 > hóng; #82F0
+英 > yīng; #82F1
+苲 > zhă; #82F2
+苳 > dōng; #82F3
+苴 > jū; #82F4
+苵 > dié; #82F5
+苶 > nié; #82F6
+苷 > gān; #82F7
+苸 > hū; #82F8
+苹 > píng; #82F9
+苺 > méi; #82FA
+苻 > fú; #82FB
+苼 > shēng; #82FC
+苽 > gū; #82FD
+苾 > bì; #82FE
+苿 > wèi; #82FF
+茀 > fú; #8300
+茁 > zhúo; #8301
+茂 > mào; #8302
+范 > fàn; #8303
+茄 > qié; #8304
+茅 > máo; #8305
+茆 > măo; #8306
+茇 > bá; #8307
+茈 > zĭ; #8308
+茉 > mò; #8309
+茊 > zī; #830A
+茋 > dĭ; #830B
+茌 > chí; #830C
+茍 > jì; #830D
+茎 > jīng; #830E
+茏 > lóng; #830F
+茑 > niăo; #8311
+茓 > xué; #8313
+茔 > yíng; #8314
+茕 > qíong; #8315
+茖 > gé; #8316
+茗 > mĭng; #8317
+茘 > lì; #8318
+茙 > róng; #8319
+茚 > yìn; #831A
+茛 > gèn; #831B
+茜 > qiàn; #831C
+茝 > chăi; #831D
+茞 > chén; #831E
+茟 > yù; #831F
+茠 > xīu; #8320
+茡 > zì; #8321
+茢 > liè; #8322
+茣 > wú; #8323
+茤 > jì; #8324
+茥 > kūi; #8325
+茦 > cè; #8326
+茧 > chóng; #8327
+茨 > cí; #8328
+茩 > gŏu; #8329
+茪 > guāng; #832A
+茫 > máng; #832B
+茬 > chí; #832C
+茭 > jiāo; #832D
+茮 > jiāo; #832E
+茯 > fú; #832F
+茰 > yú; #8330
+茱 > zhū; #8331
+茲 > zī; #8332
+茳 > jiāng; #8333
+茴 > húi; #8334
+茵 > yīn; #8335
+茶 > chá; #8336
+茷 > fá; #8337
+茸 > róng; #8338
+茹 > rú; #8339
+茺 > chōng; #833A
+茻 > măng; #833B
+茼 > tóng; #833C
+茽 > zhòng; #833D
+茿 > zhú; #833F
+荀 > xún; #8340
+荁 > huán; #8341
+荂 > kuā; #8342
+荃 > quán; #8343
+荄 > gāi; #8344
+荅 > dā; #8345
+荆 > jīng; #8346
+荇 > xìng; #8347
+荈 > quàn; #8348
+草 > căo; #8349
+荊 > jīng; #834A
+荋 > ér; #834B
+荌 > àn; #834C
+荍 > shōu; #834D
+荎 > chí; #834E
+荏 > rĕn; #834F
+荐 > jiàn; #8350
+荑 > tí; #8351
+荒 > huāng; #8352
+荓 > píng; #8353
+荔 > lì; #8354
+荕 > jīn; #8355
+荖 > lăo; #8356
+荗 > shù; #8357
+荘 > zhuāng; #8358
+荙 > dá; #8359
+荚 > jiá; #835A
+荛 > ráo; #835B
+荜 > bì; #835C
+荝 > zé; #835D
+荞 > qiáo; #835E
+荟 > hùi; #835F
+荠 > qí; #8360
+荡 > dàng; #8361
+荣 > róng; #8363
+荤 > hūn; #8364
+荥 > yíng; #8365
+荦 > lùo; #8366
+荧 > yíng; #8367
+荨 > xún; #8368
+荩 > jìn; #8369
+荪 > sūn; #836A
+荫 > yìn; #836B
+荬 > măi; #836C
+荭 > hóng; #836D
+荮 > zhòu; #836E
+药 > yào; #836F
+荰 > dù; #8370
+荱 > wĕi; #8371
+荲 > chù; #8372
+荳 > dòu; #8373
+荴 > fū; #8374
+荵 > rĕn; #8375
+荶 > yín; #8376
+荷 > hé; #8377
+荸 > bí; #8378
+荹 > bù; #8379
+荺 > yún; #837A
+荻 > dí; #837B
+荼 > tú; #837C
+荽 > sūi; #837D
+荾 > sūi; #837E
+荿 > chéng; #837F
+莀 > chén; #8380
+莁 > wú; #8381
+莂 > bié; #8382
+莃 > xī; #8383
+莄 > gĕng; #8384
+莅 > lì; #8385
+莆 > fŭ; #8386
+莇 > zhù; #8387
+莈 > mò; #8388
+莉 > lì; #8389
+莊 > zhuāng; #838A
+莋 > jí; #838B
+莌 > dúo; #838C
+莍 > qíu; #838D
+莎 > shā; #838E
+莏 > sūo; #838F
+莐 > chén; #8390
+莑 > fēng; #8391
+莒 > jŭ; #8392
+莓 > méi; #8393
+莔 > méng; #8394
+莕 > xìng; #8395
+莖 > jīng; #8396
+莗 > chē; #8397
+莘 > xīn; #8398
+莙 > jūn; #8399
+莚 > yán; #839A
+莛 > tíng; #839B
+莜 > diào; #839C
+莝 > cùo; #839D
+莞 > wăn; #839E
+莟 > hàn; #839F
+莠 > yŏu; #83A0
+莡 > cùo; #83A1
+莢 > jiá; #83A2
+莣 > wáng; #83A3
+莤 > yóu; #83A4
+莥 > nĭu; #83A5
+莦 > shāo; #83A6
+莧 > xiàn; #83A7
+莨 > láng; #83A8
+莩 > fú; #83A9
+莪 > é; #83AA
+莫 > mò; #83AB
+莬 > wèn; #83AC
+莭 > jié; #83AD
+莮 > nán; #83AE
+莯 > mù; #83AF
+莰 > kăn; #83B0
+莱 > lái; #83B1
+莲 > lián; #83B2
+莳 > shí; #83B3
+莴 > wō; #83B4
+莶 > liăn; #83B6
+获 > hùo; #83B7
+莸 > yóu; #83B8
+莹 > yíng; #83B9
+莺 > yīng; #83BA
+莼 > chún; #83BC
+莽 > măng; #83BD
+莾 > măng; #83BE
+莿 > cì; #83BF
+菀 > wăn; #83C0
+菁 > jīng; #83C1
+菂 > dī; #83C2
+菃 > qú; #83C3
+菄 > dōng; #83C4
+菅 > jiān; #83C5
+菆 > zōu; #83C6
+菇 > gū; #83C7
+菈 > lā; #83C8
+菉 > lù; #83C9
+菊 > jú; #83CA
+菋 > wèi; #83CB
+菌 > jùn; #83CC
+菍 > niè; #83CD
+菎 > kūn; #83CE
+菏 > hé; #83CF
+菐 > pú; #83D0
+菑 > zī; #83D1
+菒 > găo; #83D2
+菓 > gŭo; #83D3
+菔 > fú; #83D4
+菕 > lún; #83D5
+菖 > chāng; #83D6
+菗 > chóu; #83D7
+菘 > sōng; #83D8
+菙 > chúi; #83D9
+菚 > zhàn; #83DA
+菛 > mén; #83DB
+菜 > cài; #83DC
+菝 > bá; #83DD
+菞 > lí; #83DE
+菟 > tù; #83DF
+菠 > bō; #83E0
+菡 > hàn; #83E1
+菢 > bào; #83E2
+菣 > qìn; #83E3
+菤 > juăn; #83E4
+菥 > xī; #83E5
+菦 > qín; #83E6
+菧 > dĭ; #83E7
+菨 > jiē; #83E8
+菩 > pú; #83E9
+菪 > dàng; #83EA
+菫 > jĭn; #83EB
+菬 > zhăo; #83EC
+菭 > tái; #83ED
+菮 > gēng; #83EE
+華 > huá; #83EF
+菰 > gū; #83F0
+菱 > líng; #83F1
+菲 > fēi; #83F2
+菳 > jīn; #83F3
+菴 > ān; #83F4
+菵 > wăng; #83F5
+菶 > bĕng; #83F6
+菷 > zhŏu; #83F7
+菸 > yān; #83F8
+菹 > jū; #83F9
+菺 > jiān; #83FA
+菻 > lĭn; #83FB
+菼 > tăn; #83FC
+菽 > shú; #83FD
+菾 > tián; #83FE
+菿 > dào; #83FF
+萀 > hŭ; #8400
+萁 > qí; #8401
+萂 > hé; #8402
+萃 > cùi; #8403
+萄 > táo; #8404
+萅 > chūn; #8405
+萆 > bēi; #8406
+萇 > cháng; #8407
+萈 > huán; #8408
+萉 > féi; #8409
+萊 > lái; #840A
+萋 > qī; #840B
+萌 > méng; #840C
+萍 > píng; #840D
+萎 > wēi; #840E
+萏 > dàn; #840F
+萐 > shà; #8410
+萑 > huán; #8411
+萒 > yăn; #8412
+萓 > yí; #8413
+萔 > tiáo; #8414
+萕 > qí; #8415
+萖 > wăn; #8416
+萗 > cè; #8417
+萘 > nài; #8418
+萚 > tùo; #841A
+萛 > jīu; #841B
+萜 > tiē; #841C
+萝 > lúo; #841D
+萠 > méng; #8420
+萤 > yíng; #8424
+营 > yíng; #8425
+萦 > yíng; #8426
+萧 > xiāo; #8427
+萨 > sà; #8428
+萩 > qīu; #8429
+萪 > kē; #842A
+萫 > xiàng; #842B
+萬 > wàn; #842C
+萭 > yŭ; #842D
+萮 > yù; #842E
+萯 > fù; #842F
+萰 > liàn; #8430
+萱 > xuān; #8431
+萲 > yuán; #8432
+萳 > nán; #8433
+萴 > zé; #8434
+萵 > wō; #8435
+萶 > chŭn; #8436
+萷 > xiāo; #8437
+萸 > yú; #8438
+萹 > piān; #8439
+萺 > mào; #843A
+萻 > ān; #843B
+萼 > è; #843C
+落 > lùo; #843D
+萾 > yíng; #843E
+萿 > húo; #843F
+葀 > guā; #8440
+葁 > jiāng; #8441
+葂 > miăn; #8442
+葃 > zúo; #8443
+葄 > zùo; #8444
+葅 > jū; #8445
+葆 > băo; #8446
+葇 > róu; #8447
+葈 > xĭ; #8448
+葉 > xié; #8449
+葊 > ān; #844A
+葋 > qú; #844B
+葌 > jiān; #844C
+葍 > fú; #844D
+葎 > lǜ; #844E
+葏 > jīng; #844F
+葐 > pén; #8450
+葑 > fēng; #8451
+葒 > hóng; #8452
+葓 > hóng; #8453
+葔 > hóu; #8454
+葕 > yán; #8455
+葖 > tú; #8456
+著 > zhù; #8457
+葘 > zī; #8458
+葙 > xiāng; #8459
+葚 > shèn; #845A
+葛 > gĕ; #845B
+葜 > jié; #845C
+葝 > jìng; #845D
+葞 > mĭ; #845E
+葟 > huáng; #845F
+葠 > shēn; #8460
+葡 > pú; #8461
+葢 > gài; #8462
+董 > dŏng; #8463
+葤 > zhòu; #8464
+葥 > qián; #8465
+葦 > wĕi; #8466
+葧 > bó; #8467
+葨 > wēi; #8468
+葩 > pā; #8469
+葪 > jì; #846A
+葫 > hú; #846B
+葬 > zàng; #846C
+葭 > jiā; #846D
+葮 > duàn; #846E
+葯 > yào; #846F
+葰 > jùn; #8470
+葱 > cōng; #8471
+葲 > quán; #8472
+葳 > wēi; #8473
+葴 > xián; #8474
+葵 > kúi; #8475
+葶 > tíng; #8476
+葷 > hūn; #8477
+葸 > xĭ; #8478
+葹 > shī; #8479
+葺 > qì; #847A
+葻 > lán; #847B
+葼 > zōng; #847C
+葽 > yāo; #847D
+葾 > yuān; #847E
+葿 > méi; #847F
+蒀 > yūn; #8480
+蒁 > shù; #8481
+蒂 > dì; #8482
+蒃 > zhuàn; #8483
+蒄 > guān; #8484
+蒆 > xuē; #8486
+蒇 > chăn; #8487
+蒈 > kăi; #8488
+蒉 > kùi; #8489
+蒋 > jiăng; #848B
+蒌 > lóu; #848C
+蒍 > wéi; #848D
+蒎 > pài; #848E
+蒐 > sōu; #8490
+蒑 > yīn; #8491
+蒒 > shī; #8492
+蒓 > chún; #8493
+蒔 > shí; #8494
+蒕 > yūn; #8495
+蒖 > zhēn; #8496
+蒗 > làng; #8497
+蒘 > nú; #8498
+蒙 > méng; #8499
+蒚 > hé; #849A
+蒛 > quē; #849B
+蒜 > suàn; #849C
+蒝 > yuán; #849D
+蒞 > lì; #849E
+蒟 > jŭ; #849F
+蒠 > xí; #84A0
+蒡 > páng; #84A1
+蒢 > chú; #84A2
+蒣 > xú; #84A3
+蒤 > tú; #84A4
+蒥 > líu; #84A5
+蒦 > wò; #84A6
+蒧 > zhēn; #84A7
+蒨 > qiàn; #84A8
+蒩 > zū; #84A9
+蒪 > pò; #84AA
+蒫 > cūo; #84AB
+蒬 > yuān; #84AC
+蒭 > chú; #84AD
+蒮 > yù; #84AE
+蒯 > kuăi; #84AF
+蒰 > pán; #84B0
+蒱 > pú; #84B1
+蒲 > pú; #84B2
+蒳 > nà; #84B3
+蒴 > shùo; #84B4
+蒵 > xī; #84B5
+蒶 > fén; #84B6
+蒷 > yún; #84B7
+蒸 > zhēng; #84B8
+蒹 > jiān; #84B9
+蒺 > jí; #84BA
+蒻 > rùo; #84BB
+蒼 > cāng; #84BC
+蒽 > ēn; #84BD
+蒾 > mí; #84BE
+蒿 > hāo; #84BF
+蓀 > sūn; #84C0
+蓁 > zhēn; #84C1
+蓂 > míng; #84C2
+蓃 > sou; #84C3
+蓄 > xù; #84C4
+蓅 > líu; #84C5
+蓆 > xí; #84C6
+蓇 > gŭ; #84C7
+蓈 > láng; #84C8
+蓉 > róng; #84C9
+蓊 > wĕng; #84CA
+蓋 > gài; #84CB
+蓌 > cùo; #84CC
+蓍 > shī; #84CD
+蓎 > táng; #84CE
+蓏 > lŭo; #84CF
+蓐 > rù; #84D0
+蓑 > sūo; #84D1
+蓒 > xiān; #84D2
+蓓 > bèi; #84D3
+蓔 > yăo; #84D4
+蓕 > gùi; #84D5
+蓖 > bī; #84D6
+蓗 > zŏng; #84D7
+蓘 > gŭn; #84D8
+蓚 > xīu; #84DA
+蓛 > cè; #84DB
+蓝 > lán; #84DD
+蓟 > jì; #84DF
+蓠 > lí; #84E0
+蓡 > cān; #84E1
+蓢 > láng; #84E2
+蓣 > yù; #84E3
+蓥 > yìng; #84E5
+蓦 > mò; #84E6
+蓧 > diào; #84E7
+蓨 > tiāo; #84E8
+蓩 > mào; #84E9
+蓪 > tōng; #84EA
+蓫 > zhú; #84EB
+蓬 > péng; #84EC
+蓭 > ān; #84ED
+蓮 > lián; #84EE
+蓯 > cōng; #84EF
+蓰 > xĭ; #84F0
+蓱 > píng; #84F1
+蓲 > qīu; #84F2
+蓳 > jìn; #84F3
+蓴 > chún; #84F4
+蓵 > jié; #84F5
+蓶 > wĕi; #84F6
+蓷 > tūi; #84F7
+蓸 > cáo; #84F8
+蓹 > yŭ; #84F9
+蓺 > yì; #84FA
+蓻 > jí; #84FB
+蓼 > liăo; #84FC
+蓽 > bì; #84FD
+蓾 > lŭ; #84FE
+蓿 > sù; #84FF
+蔀 > bù; #8500
+蔁 > zhāng; #8501
+蔂 > lúo; #8502
+蔃 > jiàng; #8503
+蔄 > màn; #8504
+蔅 > yán; #8505
+蔆 > líng; #8506
+蔇 > jì; #8507
+蔈 > piăo; #8508
+蔉 > gŭn; #8509
+蔊 > hăn; #850A
+蔋 > dí; #850B
+蔌 > sù; #850C
+蔍 > lù; #850D
+蔎 > shè; #850E
+蔏 > shāng; #850F
+蔐 > dí; #8510
+蔑 > miè; #8511
+蔒 > xūn; #8512
+蔓 > màn; #8513
+蔔 > bó; #8514
+蔕 > dì; #8515
+蔖 > cúo; #8516
+蔗 > zhè; #8517
+蔘 > sēn; #8518
+蔙 > xuàn; #8519
+蔚 > wèi; #851A
+蔛 > hú; #851B
+蔜 > áo; #851C
+蔝 > mĭ; #851D
+蔞 > lóu; #851E
+蔟 > cù; #851F
+蔠 > zhōng; #8520
+蔡 > cài; #8521
+蔢 > pó; #8522
+蔣 > jiăng; #8523
+蔤 > mì; #8524
+蔥 > cōng; #8525
+蔦 > niăo; #8526
+蔧 > hùi; #8527
+蔨 > jùn; #8528
+蔩 > yín; #8529
+蔪 > jiàn; #852A
+蔫 > yān; #852B
+蔬 > shū; #852C
+蔭 > yìn; #852D
+蔮 > kùi; #852E
+蔯 > chén; #852F
+蔰 > hù; #8530
+蔱 > shā; #8531
+蔲 > kòu; #8532
+蔳 > qiàn; #8533
+蔴 > má; #8534
+蔵 > zāng; #8535
+蔷 > qiáng; #8537
+蔸 > dōu; #8538
+蔹 > liàn; #8539
+蔺 > lìn; #853A
+蔻 > kòu; #853B
+蔼 > ăi; #853C
+蔽 > bì; #853D
+蔾 > lí; #853E
+蔿 > wéi; #853F
+蕀 > jí; #8540
+蕁 > xún; #8541
+蕂 > shèng; #8542
+蕃 > fán; #8543
+蕄 > méng; #8544
+蕅 > ŏu; #8545
+蕆 > chăn; #8546
+蕇 > diăn; #8547
+蕈 > xùn; #8548
+蕉 > jiāo; #8549
+蕊 > rŭi; #854A
+蕋 > rŭi; #854B
+蕌 > lĕi; #854C
+蕍 > yú; #854D
+蕎 > qiáo; #854E
+蕏 > chú; #854F
+蕐 > huá; #8550
+蕑 > jiān; #8551
+蕒 > măi; #8552
+蕓 > yún; #8553
+蕔 > bāo; #8554
+蕕 > yóu; #8555
+蕖 > qú; #8556
+蕗 > lù; #8557
+蕘 > ráo; #8558
+蕙 > hùi; #8559
+蕚 > è; #855A
+蕛 > téng; #855B
+蕜 > fĕi; #855C
+蕝 > jué; #855D
+蕞 > zùi; #855E
+蕟 > fà; #855F
+蕠 > rú; #8560
+蕡 > fén; #8561
+蕢 > kùi; #8562
+蕣 > shùn; #8563
+蕤 > rúi; #8564
+蕥 > yă; #8565
+蕦 > xū; #8566
+蕧 > fù; #8567
+蕨 > jué; #8568
+蕩 > dàng; #8569
+蕪 > wú; #856A
+蕫 > tóng; #856B
+蕬 > sī; #856C
+蕭 > xiāo; #856D
+蕮 > xì; #856E
+蕯 > lóng; #856F
+蕰 > yùn; #8570
+蕲 > qí; #8572
+蕳 > jiān; #8573
+蕴 > yùn; #8574
+蕵 > sūn; #8575
+蕶 > líng; #8576
+蕷 > yù; #8577
+蕸 > xiá; #8578
+蕹 > yōng; #8579
+蕺 > jí; #857A
+蕻 > hòng; #857B
+蕼 > sì; #857C
+蕽 > nóng; #857D
+蕾 > lĕi; #857E
+蕿 > xuān; #857F
+薀 > yùn; #8580
+薁 > yù; #8581
+薂 > xí; #8582
+薃 > hào; #8583
+薄 > bó; #8584
+薅 > hāo; #8585
+薆 > ài; #8586
+薇 > wéi; #8587
+薈 > hùi; #8588
+薉 > wèi; #8589
+薊 > jì; #858A
+薋 > cī; #858B
+薌 > xiāng; #858C
+薍 > luàn; #858D
+薎 > miè; #858E
+薏 > yì; #858F
+薐 > léng; #8590
+薑 > jiāng; #8591
+薒 > càn; #8592
+薓 > shēn; #8593
+薔 > qiáng; #8594
+薕 > lián; #8595
+薖 > kē; #8596
+薗 > yuán; #8597
+薘 > dá; #8598
+薙 > tì; #8599
+薚 > táng; #859A
+薛 > xiē; #859B
+薜 > bì; #859C
+薝 > zhán; #859D
+薞 > sūn; #859E
+薟 > liăn; #859F
+薠 > fán; #85A0
+薡 > dĭng; #85A1
+薢 > jiē; #85A2
+薣 > gŭ; #85A3
+薤 > xiè; #85A4
+薥 > shŭ; #85A5
+薦 > jiàn; #85A6
+薧 > kăo; #85A7
+薨 > hōng; #85A8
+薩 > sà; #85A9
+薪 > xīn; #85AA
+薫 > xūn; #85AB
+薬 > yào; #85AC
+薮 > sŏu; #85AE
+薯 > shŭ; #85AF
+薰 > xūn; #85B0
+薱 > dùi; #85B1
+薲 > pín; #85B2
+薳 > wĕi; #85B3
+薴 > néng; #85B4
+薵 > chóu; #85B5
+薶 > mái; #85B6
+薷 > rú; #85B7
+薸 > piāo; #85B8
+薹 > tái; #85B9
+薺 > qí; #85BA
+薻 > zăo; #85BB
+薼 > chén; #85BC
+薽 > zhēn; #85BD
+薾 > ĕr; #85BE
+薿 > nĭ; #85BF
+藀 > yíng; #85C0
+藁 > găo; #85C1
+藂 > còng; #85C2
+藃 > xiāo; #85C3
+藄 > qí; #85C4
+藅 > fá; #85C5
+藆 > jiăn; #85C6
+藇 > xù; #85C7
+藈 > kūi; #85C8
+藉 > jiè; #85C9
+藊 > biăn; #85CA
+藋 > diào; #85CB
+藌 > mì; #85CC
+藍 > lán; #85CD
+藎 > jìn; #85CE
+藏 > cáng; #85CF
+藐 > miăo; #85D0
+藑 > qíong; #85D1
+藒 > qiè; #85D2
+藓 > xiăn; #85D3
+藕 > ŏu; #85D5
+藖 > xián; #85D6
+藗 > sù; #85D7
+藘 > lǘ; #85D8
+藙 > yì; #85D9
+藚 > xù; #85DA
+藛 > xiĕ; #85DB
+藜 > lí; #85DC
+藝 > yì; #85DD
+藞 > lă; #85DE
+藟 > lĕi; #85DF
+藠 > xiào; #85E0
+藡 > dí; #85E1
+藢 > zhĭ; #85E2
+藣 > bēi; #85E3
+藤 > téng; #85E4
+藥 > yào; #85E5
+藦 > mò; #85E6
+藧 > huăn; #85E7
+藨 > piăo; #85E8
+藩 > fán; #85E9
+藪 > sŏu; #85EA
+藫 > tán; #85EB
+藬 > tūi; #85EC
+藭 > qíong; #85ED
+藮 > qiáo; #85EE
+藯 > wèi; #85EF
+藰 > líu; #85F0
+藱 > hùi; #85F1
+藳 > găo; #85F3
+藴 > yùn; #85F4
+藶 > lì; #85F6
+藷 > shŭ; #85F7
+藸 > chú; #85F8
+藹 > ăi; #85F9
+藺 > lìn; #85FA
+藻 > zăo; #85FB
+藼 > xuān; #85FC
+藽 > chèn; #85FD
+藾 > lài; #85FE
+藿 > hùo; #85FF
+蘀 > tùo; #8600
+蘁 > wù; #8601
+蘂 > rŭi; #8602
+蘃 > rŭi; #8603
+蘄 > qí; #8604
+蘅 > héng; #8605
+蘆 > lú; #8606
+蘇 > sū; #8607
+蘈 > túi; #8608
+蘉 > máng; #8609
+蘊 > yùn; #860A
+蘋 > pín; #860B
+蘌 > yŭ; #860C
+蘍 > xūn; #860D
+蘎 > jì; #860E
+蘏 > jīong; #860F
+蘐 > xiān; #8610
+蘑 > mó; #8611
+蘓 > sū; #8613
+蘔 > jīong; #8614
+蘖 > niè; #8616
+蘗 > bò; #8617
+蘘 > ráng; #8618
+蘙 > yì; #8619
+蘚 > xiăn; #861A
+蘛 > yú; #861B
+蘜 > jú; #861C
+蘝 > liàn; #861D
+蘞 > liàn; #861E
+蘟 > yĭn; #861F
+蘠 > qiáng; #8620
+蘡 > yīng; #8621
+蘢 > lóng; #8622
+蘣 > tòng; #8623
+蘤 > wĕi; #8624
+蘥 > yuè; #8625
+蘦 > líng; #8626
+蘧 > qú; #8627
+蘨 > yáo; #8628
+蘩 > fán; #8629
+蘪 > mí; #862A
+蘫 > lán; #862B
+蘬 > kūi; #862C
+蘭 > lán; #862D
+蘮 > jì; #862E
+蘯 > dàng; #862F
+蘱 > lèi; #8631
+蘲 > léi; #8632
+蘳 > huă; #8633
+蘴 > fēng; #8634
+蘵 > zhí; #8635
+蘶 > wèi; #8636
+蘷 > kúi; #8637
+蘸 > zhàn; #8638
+蘹 > huài; #8639
+蘺 > lí; #863A
+蘻 > jì; #863B
+蘼 > mí; #863C
+蘽 > lĕi; #863D
+蘾 > huài; #863E
+蘿 > lúo; #863F
+虀 > jī; #8640
+虁 > kúi; #8641
+虂 > lù; #8642
+虃 > jiān; #8643
+虆 > léi; #8646
+虇 > quăn; #8647
+虈 > xiāo; #8648
+虉 > yì; #8649
+虊 > luán; #864A
+虋 > mén; #864B
+虌 > biē; #864C
+虍 > hū; #864D
+虎 > hŭ; #864E
+虏 > lŭ; #864F
+虐 > nǜe; #8650
+虑 > lǜ; #8651
+虒 > sī; #8652
+虓 > xiāo; #8653
+虔 > qián; #8654
+處 > chù; #8655
+虖 > hū; #8656
+虗 > xū; #8657
+虘 > cúo; #8658
+虙 > fú; #8659
+虚 > xū; #865A
+虛 > xū; #865B
+虜 > lŭ; #865C
+虝 > hŭ; #865D
+虞 > yú; #865E
+號 > hào; #865F
+虠 > jiăo; #8660
+虡 > jù; #8661
+虢 > gúo; #8662
+虣 > bào; #8663
+虤 > yán; #8664
+虥 > zhàn; #8665
+虦 > zhàn; #8666
+虧 > kūi; #8667
+虨 > bān; #8668
+虩 > xì; #8669
+虪 > shú; #866A
+虫 > chóng; #866B
+虬 > qíu; #866C
+虭 > diāo; #866D
+虮 > jī; #866E
+虯 > qíu; #866F
+虰 > chéng; #8670
+虱 > shī; #8671
+虳 > dì; #8673
+虴 > zhé; #8674
+虵 > shé; #8675
+虶 > yū; #8676
+虷 > gān; #8677
+虸 > zĭ; #8678
+虹 > hóng; #8679
+虺 > hŭi; #867A
+虻 > méng; #867B
+虼 > gè; #867C
+虽 > sūi; #867D
+虾 > xiā; #867E
+虿 > chài; #867F
+蚀 > shí; #8680
+蚁 > yĭ; #8681
+蚂 > mă; #8682
+蚃 > xiàng; #8683
+蚄 > fāng; #8684
+蚅 > è; #8685
+蚆 > pā; #8686
+蚇 > chĭ; #8687
+蚈 > qiān; #8688
+蚉 > wén; #8689
+蚊 > wén; #868A
+蚋 > rùi; #868B
+蚌 > bàng; #868C
+蚍 > bĭ; #868D
+蚎 > yuè; #868E
+蚏 > yuè; #868F
+蚐 > jūn; #8690
+蚑 > qí; #8691
+蚒 > rán; #8692
+蚓 > yĭn; #8693
+蚔 > qí; #8694
+蚕 > tiăn; #8695
+蚖 > yuán; #8696
+蚗 > jué; #8697
+蚘 > húi; #8698
+蚙 > qín; #8699
+蚚 > qí; #869A
+蚛 > zhòng; #869B
+蚜 > yá; #869C
+蚝 > cì; #869D
+蚞 > mù; #869E
+蚟 > wáng; #869F
+蚠 > fén; #86A0
+蚡 > fén; #86A1
+蚢 > háng; #86A2
+蚣 > gōng; #86A3
+蚤 > zăo; #86A4
+蚥 > fŭ; #86A5
+蚦 > rán; #86A6
+蚧 > jiè; #86A7
+蚨 > fú; #86A8
+蚩 > chī; #86A9
+蚪 > dŏu; #86AA
+蚫 > piáo; #86AB
+蚬 > xiàn; #86AC
+蚭 > ní; #86AD
+蚮 > tè; #86AE
+蚯 > qīu; #86AF
+蚰 > yóu; #86B0
+蚱 > zhà; #86B1
+蚲 > píng; #86B2
+蚳 > chí; #86B3
+蚴 > yŏu; #86B4
+蚵 > hé; #86B5
+蚶 > hān; #86B6
+蚷 > jù; #86B7
+蚸 > lì; #86B8
+蚹 > fù; #86B9
+蚺 > rán; #86BA
+蚻 > zhá; #86BB
+蚼 > gŏu; #86BC
+蚽 > pí; #86BD
+蚾 > bŏ; #86BE
+蚿 > xián; #86BF
+蛀 > zhù; #86C0
+蛁 > diāo; #86C1
+蛂 > biĕ; #86C2
+蛃 > bĭng; #86C3
+蛄 > gū; #86C4
+蛅 > rán; #86C5
+蛆 > qū; #86C6
+蛇 > shé; #86C7
+蛈 > tiè; #86C8
+蛉 > líng; #86C9
+蛊 > gŭ; #86CA
+蛋 > dàn; #86CB
+蛌 > gŭ; #86CC
+蛍 > yíng; #86CD
+蛎 > lì; #86CE
+蛏 > chēng; #86CF
+蛐 > qū; #86D0
+蛑 > móu; #86D1
+蛒 > gé; #86D2
+蛓 > cì; #86D3
+蛔 > húi; #86D4
+蛕 > húi; #86D5
+蛖 > máng; #86D6
+蛗 > fù; #86D7
+蛘 > yáng; #86D8
+蛙 > wā; #86D9
+蛚 > liè; #86DA
+蛛 > zhū; #86DB
+蛜 > yī; #86DC
+蛝 > xián; #86DD
+蛞 > kùo; #86DE
+蛟 > jiāo; #86DF
+蛠 > lì; #86E0
+蛡 > yì; #86E1
+蛢 > píng; #86E2
+蛣 > jī; #86E3
+蛤 > há; #86E4
+蛥 > shé; #86E5
+蛦 > yí; #86E6
+蛧 > wăng; #86E7
+蛨 > mò; #86E8
+蛩 > qíong; #86E9
+蛪 > qiè; #86EA
+蛫 > gŭi; #86EB
+蛬 > gŏng; #86EC
+蛭 > zhì; #86ED
+蛮 > mán; #86EE
+蛰 > zhí; #86F0
+蛱 > jiá; #86F1
+蛲 > ráo; #86F2
+蛳 > sī; #86F3
+蛴 > qí; #86F4
+蛵 > xīng; #86F5
+蛶 > liè; #86F6
+蛷 > qíu; #86F7
+蛸 > shāo; #86F8
+蛹 > yŏng; #86F9
+蛺 > jiá; #86FA
+蛻 > shùi; #86FB
+蛼 > chē; #86FC
+蛽 > bài; #86FD
+蛾 > é; #86FE
+蛿 > hàn; #86FF
+蜀 > shŭ; #8700
+蜁 > xuán; #8701
+蜂 > fēng; #8702
+蜃 > shèn; #8703
+蜄 > zhèn; #8704
+蜅 > fŭ; #8705
+蜆 > xiàn; #8706
+蜇 > zhé; #8707
+蜈 > wú; #8708
+蜉 > fú; #8709
+蜊 > lí; #870A
+蜋 > láng; #870B
+蜌 > bì; #870C
+蜍 > chú; #870D
+蜎 > yuān; #870E
+蜏 > yŏu; #870F
+蜐 > jié; #8710
+蜑 > dàn; #8711
+蜒 > yán; #8712
+蜓 > tíng; #8713
+蜔 > diàn; #8714
+蜕 > shùi; #8715
+蜖 > húi; #8716
+蜗 > guā; #8717
+蜘 > zhī; #8718
+蜙 > sōng; #8719
+蜚 > fēi; #871A
+蜛 > jū; #871B
+蜜 > mì; #871C
+蜝 > qí; #871D
+蜞 > qí; #871E
+蜟 > yù; #871F
+蜠 > jŭn; #8720
+蜡 > zhà; #8721
+蜢 > mĕng; #8722
+蜣 > qiāng; #8723
+蜤 > sī; #8724
+蜥 > xī; #8725
+蜦 > lún; #8726
+蜧 > lì; #8727
+蜨 > dié; #8728
+蜩 > tiáo; #8729
+蜪 > tāo; #872A
+蜫 > kūn; #872B
+蜬 > gān; #872C
+蜭 > hàn; #872D
+蜮 > yù; #872E
+蜯 > bàng; #872F
+蜰 > féi; #8730
+蜱 > pí; #8731
+蜲 > wĕi; #8732
+蜳 > dūn; #8733
+蜴 > yì; #8734
+蜵 > yuān; #8735
+蜶 > sù; #8736
+蜷 > quán; #8737
+蜸 > qiăn; #8738
+蜹 > rùi; #8739
+蜺 > ní; #873A
+蜻 > qīng; #873B
+蜼 > wèi; #873C
+蜽 > liăng; #873D
+蜾 > gŭo; #873E
+蜿 > wān; #873F
+蝀 > dōng; #8740
+蝁 > è; #8741
+蝂 > băn; #8742
+蝃 > dì; #8743
+蝄 > wăng; #8744
+蝅 > cán; #8745
+蝆 > yăng; #8746
+蝇 > yíng; #8747
+蝈 > gūo; #8748
+蝉 > chán; #8749
+蝋 > là; #874B
+蝌 > kē; #874C
+蝍 > jí; #874D
+蝎 > hé; #874E
+蝏 > tíng; #874F
+蝐 > mài; #8750
+蝑 > xū; #8751
+蝒 > mián; #8752
+蝓 > yú; #8753
+蝔 > jiē; #8754
+蝕 > shí; #8755
+蝖 > xuān; #8756
+蝗 > huáng; #8757
+蝘 > yăn; #8758
+蝙 > biān; #8759
+蝚 > róu; #875A
+蝛 > wēi; #875B
+蝜 > fù; #875C
+蝝 > yuán; #875D
+蝞 > mèi; #875E
+蝟 > wèi; #875F
+蝠 > fú; #8760
+蝡 > ruăn; #8761
+蝢 > xié; #8762
+蝣 > yóu; #8763
+蝤 > qíu; #8764
+蝥 > máo; #8765
+蝦 > xiā; #8766
+蝧 > yīng; #8767
+蝨 > shī; #8768
+蝩 > chóng; #8769
+蝪 > tāng; #876A
+蝫 > zhū; #876B
+蝬 > zōng; #876C
+蝭 > tí; #876D
+蝮 > fù; #876E
+蝯 > yuán; #876F
+蝰 > hŭi; #8770
+蝱 > méng; #8771
+蝲 > là; #8772
+蝳 > dú; #8773
+蝴 > hú; #8774
+蝵 > qīu; #8775
+蝶 > dié; #8776
+蝷 > lì; #8777
+蝸 > guā; #8778
+蝹 > yūn; #8779
+蝺 > jŭ; #877A
+蝻 > năn; #877B
+蝼 > lóu; #877C
+蝽 > qŭn; #877D
+蝾 > róng; #877E
+蝿 > yíng; #877F
+螀 > jiāng; #8780
+螂 > láng; #8782
+螃 > páng; #8783
+螄 > sī; #8784
+螅 > xī; #8785
+螆 > cì; #8786
+螇 > xī; #8787
+螈 > yuán; #8788
+螉 > wēng; #8789
+螊 > lián; #878A
+螋 > sōu; #878B
+螌 > bān; #878C
+融 > róng; #878D
+螎 > róng; #878E
+螏 > jí; #878F
+螐 > wū; #8790
+螑 > qìu; #8791
+螒 > hàn; #8792
+螓 > qín; #8793
+螔 > yí; #8794
+螕 > bī; #8795
+螖 > huá; #8796
+螗 > táng; #8797
+螘 > yĭ; #8798
+螙 > dù; #8799
+螚 > nài; #879A
+螛 > hé; #879B
+螜 > hú; #879C
+螝 > hùi; #879D
+螞 > mă; #879E
+螟 > míng; #879F
+螠 > yì; #87A0
+螡 > wén; #87A1
+螢 > yíng; #87A2
+螣 > téng; #87A3
+螤 > yŭ; #87A4
+螥 > cāng; #87A5
+螨 > măn; #87A8
+螪 > shāng; #87AA
+螫 > zhē; #87AB
+螬 > cáo; #87AC
+螭 > chī; #87AD
+螮 > dì; #87AE
+螯 > áo; #87AF
+螰 > lù; #87B0
+螱 > wèi; #87B1
+螲 > zhì; #87B2
+螳 > táng; #87B3
+螴 > chén; #87B4
+螵 > piāo; #87B5
+螶 > qú; #87B6
+螷 > pí; #87B7
+螸 > yú; #87B8
+螹 > jiàn; #87B9
+螺 > lúo; #87BA
+螻 > lóu; #87BB
+螼 > qĭn; #87BC
+螽 > zhōng; #87BD
+螾 > yĭn; #87BE
+螿 > jiāng; #87BF
+蟀 > shuài; #87C0
+蟁 > wén; #87C1
+蟂 > jiāo; #87C2
+蟃 > wàn; #87C3
+蟄 > zhí; #87C4
+蟅 > zhè; #87C5
+蟆 > má; #87C6
+蟇 > má; #87C7
+蟈 > gūo; #87C8
+蟉 > líu; #87C9
+蟊 > máo; #87CA
+蟋 > xī; #87CB
+蟌 > cōng; #87CC
+蟍 > lí; #87CD
+蟎 > măn; #87CE
+蟏 > xiāo; #87CF
+蟑 > zhāng; #87D1
+蟒 > măng; #87D2
+蟓 > xiàng; #87D3
+蟔 > mò; #87D4
+蟕 > zūi; #87D5
+蟖 > sī; #87D6
+蟗 > qīu; #87D7
+蟘 > tè; #87D8
+蟙 > zhí; #87D9
+蟚 > péng; #87DA
+蟛 > péng; #87DB
+蟜 > jiăo; #87DC
+蟝 > qú; #87DD
+蟞 > bié; #87DE
+蟟 > liáo; #87DF
+蟠 > pán; #87E0
+蟡 > gŭi; #87E1
+蟢 > xĭ; #87E2
+蟣 > jĭ; #87E3
+蟤 > zhuān; #87E4
+蟥 > huáng; #87E5
+蟦 > fèi; #87E6
+蟧 > láo; #87E7
+蟨 > jué; #87E8
+蟩 > jué; #87E9
+蟪 > hùi; #87EA
+蟫 > yín; #87EB
+蟬 > chán; #87EC
+蟭 > jiāo; #87ED
+蟮 > shàn; #87EE
+蟯 > ráo; #87EF
+蟰 > xiāo; #87F0
+蟱 > móu; #87F1
+蟲 > chóng; #87F2
+蟳 > xún; #87F3
+蟴 > sī; #87F4
+蟶 > chēng; #87F6
+蟷 > dāng; #87F7
+蟸 > lĭ; #87F8
+蟹 > xiè; #87F9
+蟺 > shàn; #87FA
+蟻 > yĭ; #87FB
+蟼 > jĭng; #87FC
+蟽 > dá; #87FD
+蟾 > chán; #87FE
+蟿 > qì; #87FF
+蠀 > cī; #8800
+蠁 > xiàng; #8801
+蠂 > shè; #8802
+蠃 > lŭo; #8803
+蠄 > qín; #8804
+蠅 > yíng; #8805
+蠆 > chài; #8806
+蠇 > lì; #8807
+蠈 > zé; #8808
+蠉 > xuān; #8809
+蠊 > lián; #880A
+蠋 > zhú; #880B
+蠌 > zé; #880C
+蠍 > xiē; #880D
+蠎 > măng; #880E
+蠏 > xiè; #880F
+蠐 > qí; #8810
+蠑 > róng; #8811
+蠒 > jiăn; #8812
+蠓 > mĕng; #8813
+蠔 > háo; #8814
+蠕 > ruăn; #8815
+蠖 > hùo; #8816
+蠗 > zhúo; #8817
+蠘 > jié; #8818
+蠙 > bīn; #8819
+蠚 > hè; #881A
+蠛 > miè; #881B
+蠜 > fán; #881C
+蠝 > léi; #881D
+蠞 > jié; #881E
+蠟 > là; #881F
+蠠 > mì; #8820
+蠡 > lĭ; #8821
+蠢 > chŭn; #8822
+蠣 > lì; #8823
+蠤 > qīu; #8824
+蠥 > niè; #8825
+蠦 > lú; #8826
+蠧 > dù; #8827
+蠨 > xiāo; #8828
+蠩 > zhū; #8829
+蠪 > lóng; #882A
+蠫 > lì; #882B
+蠬 > lóng; #882C
+蠭 > fēng; #882D
+蠮 > yē; #882E
+蠯 > bèng; #882F
+蠰 > shàng; #8830
+蠱 > gŭ; #8831
+蠲 > juān; #8832
+蠳 > yīng; #8833
+蠵 > xī; #8835
+蠶 > cán; #8836
+蠷 > qú; #8837
+蠸 > quán; #8838
+蠹 > dù; #8839
+蠺 > cán; #883A
+蠻 > mán; #883B
+蠼 > jué; #883C
+蠽 > jié; #883D
+蠾 > zhú; #883E
+蠿 > zhá; #883F
+血 > xiĕ; #8840
+衁 > huāng; #8841
+衂 > nìu; #8842
+衃 > pēi; #8843
+衄 > nǜ; #8844
+衅 > xìn; #8845
+衆 > zhòng; #8846
+衇 > mò; #8847
+衈 > èr; #8848
+衉 > kè; #8849
+衊 > miè; #884A
+衋 > xì; #884B
+行 > xíng; #884C
+衍 > yăn; #884D
+衎 > kàn; #884E
+衏 > yuàn; #884F
+衑 > líng; #8851
+衒 > xuàn; #8852
+術 > shù; #8853
+衔 > xián; #8854
+衕 > tòng; #8855
+衖 > lòng; #8856
+街 > jiē; #8857
+衘 > xián; #8858
+衙 > yá; #8859
+衚 > hú; #885A
+衛 > wèi; #885B
+衜 > dào; #885C
+衝 > chōng; #885D
+衞 > wèi; #885E
+衟 > dào; #885F
+衠 > zhūn; #8860
+衡 > héng; #8861
+衢 > qú; #8862
+衣 > yī; #8863
+衤 > yī' 'zì' 'páng; #8864
+补 > bŭ; #8865
+衦 > găn; #8866
+衧 > yú; #8867
+表 > biăo; #8868
+衩 > chà; #8869
+衪 > yĭ; #886A
+衫 > shān; #886B
+衬 > chèn; #886C
+衭 > fū; #886D
+衮 > gŭn; #886E
+衯 > fēn; #886F
+衰 > shuāi; #8870
+衱 > jié; #8871
+衲 > nà; #8872
+衳 > zhōng; #8873
+衴 > dăn; #8874
+衵 > rì; #8875
+衶 > zhòng; #8876
+衷 > zhōng; #8877
+衸 > xiè; #8878
+衹 > qí; #8879
+衺 > xié; #887A
+衻 > rán; #887B
+衼 > zhī; #887C
+衽 > rèn; #887D
+衾 > qīn; #887E
+衿 > jīn; #887F
+袀 > jūn; #8880
+袁 > yuán; #8881
+袂 > mèi; #8882
+袃 > chài; #8883
+袄 > ăo; #8884
+袅 > niăo; #8885
+袆 > hūi; #8886
+袇 > rán; #8887
+袈 > jiā; #8888
+袉 > túo; #8889
+袊 > lĭng; #888A
+袋 > dài; #888B
+袌 > bào; #888C
+袍 > páo; #888D
+袎 > yào; #888E
+袏 > zùo; #888F
+袐 > bì; #8890
+袑 > shào; #8891
+袒 > tăn; #8892
+袓 > jŭ; #8893
+袔 > hè; #8894
+袕 > shù; #8895
+袖 > xìu; #8896
+袗 > zhĕn; #8897
+袘 > yí; #8898
+袙 > pà; #8899
+袚 > bō; #889A
+袛 > dī; #889B
+袜 > wà; #889C
+袝 > fù; #889D
+袞 > gŭn; #889E
+袟 > zhì; #889F
+袠 > zhì; #88A0
+袡 > rán; #88A1
+袢 > pàn; #88A2
+袣 > yì; #88A3
+袤 > mào; #88A4
+袥 > tuo; #88A5
+袦 > nà; #88A6
+袧 > kōu; #88A7
+袨 > xiàn; #88A8
+袩 > chān; #88A9
+袪 > qū; #88AA
+被 > bèi; #88AB
+袬 > gŭn; #88AC
+袭 > xí; #88AD
+袯 > bó; #88AF
+袱 > fú; #88B1
+袲 > yí; #88B2
+袳 > chĭ; #88B3
+袴 > kù; #88B4
+袵 > rèn; #88B5
+袶 > jiàng; #88B6
+袷 > jiá; #88B7
+袸 > cún; #88B8
+袹 > mò; #88B9
+袺 > jié; #88BA
+袻 > ér; #88BB
+袼 > lùo; #88BC
+袽 > rú; #88BD
+袾 > zhū; #88BE
+袿 > gūi; #88BF
+裀 > yīn; #88C0
+裁 > cái; #88C1
+裂 > liè; #88C2
+装 > zhuāng; #88C5
+裆 > dāng; #88C6
+裈 > kūn; #88C8
+裉 > kèn; #88C9
+裊 > niăo; #88CA
+裋 > shù; #88CB
+裌 > jiá; #88CC
+裍 > kŭn; #88CD
+裎 > chéng; #88CE
+裏 > lĭ; #88CF
+裐 > juān; #88D0
+裑 > shēn; #88D1
+裒 > póu; #88D2
+裓 > gé; #88D3
+裔 > yì; #88D4
+裕 > yù; #88D5
+裖 > zhĕn; #88D6
+裗 > líu; #88D7
+裘 > qíu; #88D8
+裙 > qún; #88D9
+裚 > jì; #88DA
+裛 > yì; #88DB
+補 > bŭ; #88DC
+裝 > zhuāng; #88DD
+裞 > shùi; #88DE
+裟 > shā; #88DF
+裠 > qún; #88E0
+裡 > lĭ; #88E1
+裢 > lián; #88E2
+裣 > liàn; #88E3
+裤 > kù; #88E4
+裥 > jiăn; #88E5
+裦 > fóu; #88E6
+裧 > chān; #88E7
+裨 > bì; #88E8
+裩 > gūn; #88E9
+裪 > táo; #88EA
+裫 > yuàn; #88EB
+裬 > líng; #88EC
+裭 > chĭ; #88ED
+裮 > chāng; #88EE
+裯 > chóu; #88EF
+裰 > dúo; #88F0
+裱 > biăo; #88F1
+裲 > liăng; #88F2
+裳 > cháng; #88F3
+裴 > péi; #88F4
+裵 > péi; #88F5
+裶 > fēi; #88F6
+裷 > yuān; #88F7
+裸 > lŭo; #88F8
+裹 > gŭo; #88F9
+裺 > yăn; #88FA
+裻 > dŭ; #88FB
+裼 > xí; #88FC
+製 > zhì; #88FD
+裾 > jū; #88FE
+裿 > qĭ; #88FF
+褀 > jì; #8900
+褁 > zhí; #8901
+褂 > guà; #8902
+褃 > kèn; #8903
+褅 > tì; #8905
+褆 > tí; #8906
+複 > fù; #8907
+褈 > chóng; #8908
+褉 > xiē; #8909
+褊 > biăn; #890A
+褋 > dié; #890B
+褌 > kūn; #890C
+褍 > duān; #890D
+褎 > xìu; #890E
+褏 > xìu; #890F
+褐 > hé; #8910
+褑 > yuàn; #8911
+褒 > bāo; #8912
+褓 > băo; #8913
+褔 > fù; #8914
+褕 > yú; #8915
+褖 > tuàn; #8916
+褗 > yăn; #8917
+褘 > hūi; #8918
+褙 > bèi; #8919
+褚 > chŭ; #891A
+褛 > lǚ; #891B
+褞 > yŭn; #891E
+褟 > dá; #891F
+褠 > gōu; #8920
+褡 > dā; #8921
+褢 > huái; #8922
+褣 > róng; #8923
+褤 > yuàn; #8924
+褥 > rù; #8925
+褦 > nài; #8926
+褧 > jĭong; #8927
+褨 > sŭo; #8928
+褩 > bān; #8929
+褪 > tùn; #892A
+褫 > chĭ; #892B
+褬 > săng; #892C
+褭 > niăo; #892D
+褮 > yīng; #892E
+褯 > jiè; #892F
+褰 > qiān; #8930
+褱 > huái; #8931
+褲 > kù; #8932
+褳 > lián; #8933
+褴 > băo; #8934
+褵 > lí; #8935
+褶 > zhé; #8936
+褷 > shī; #8937
+褸 > lǚ; #8938
+褹 > yì; #8939
+褺 > dié; #893A
+褻 > xiè; #893B
+褼 > xiān; #893C
+褽 > wèi; #893D
+褾 > biăo; #893E
+褿 > cáo; #893F
+襀 > jī; #8940
+襁 > jiăng; #8941
+襂 > sēn; #8942
+襃 > bāo; #8943
+襄 > xiāng; #8944
+襆 > pú; #8946
+襇 > jiăn; #8947
+襈 > zhuàn; #8948
+襉 > jiàn; #8949
+襊 > zùi; #894A
+襋 > jí; #894B
+襌 > dān; #894C
+襍 > zá; #894D
+襎 > fán; #894E
+襏 > bó; #894F
+襐 > xiàng; #8950
+襑 > xín; #8951
+襒 > bié; #8952
+襓 > ráo; #8953
+襔 > măn; #8954
+襕 > lán; #8955
+襖 > ăo; #8956
+襗 > dúo; #8957
+襘 > gùi; #8958
+襙 > cào; #8959
+襚 > sùi; #895A
+襛 > nóng; #895B
+襜 > chān; #895C
+襝 > liàn; #895D
+襞 > bì; #895E
+襟 > jīn; #895F
+襠 > dāng; #8960
+襡 > shú; #8961
+襢 > tăn; #8962
+襣 > bì; #8963
+襤 > lán; #8964
+襥 > pú; #8965
+襦 > rú; #8966
+襧 > zhĭ; #8967
+襩 > shŭ; #8969
+襪 > wà; #896A
+襫 > shì; #896B
+襬 > băi; #896C
+襭 > xié; #896D
+襮 > bó; #896E
+襯 > chèn; #896F
+襰 > lài; #8970
+襱 > lóng; #8971
+襲 > xí; #8972
+襳 > xiān; #8973
+襴 > lán; #8974
+襵 > zhé; #8975
+襶 > dài; #8976
+襸 > zàn; #8978
+襹 > shī; #8979
+襺 > jiăn; #897A
+襻 > pàn; #897B
+襼 > yì; #897C
+襾 > yà; #897E
+西 > xī; #897F
+覀 > xī; #8980
+要 > yào; #8981
+覂 > fĕng; #8982
+覃 > tán; #8983
+覅 > biào; #8985
+覆 > fù; #8986
+覇 > bà; #8987
+覈 > hé; #8988
+覉 > jī; #8989
+覊 > jī; #898A
+見 > jiàn; #898B
+覌 > guān; #898C
+覍 > biàn; #898D
+覎 > yàn; #898E
+規 > gūi; #898F
+覐 > jué; #8990
+覑 > piăn; #8991
+覒 > máo; #8992
+覓 > mì; #8993
+覔 > mì; #8994
+覕 > miè; #8995
+視 > shì; #8996
+覗 > sī; #8997
+覘 > zhān; #8998
+覙 > lúo; #8999
+覚 > jué; #899A
+覛 > mì; #899B
+覜 > tiào; #899C
+覝 > lián; #899D
+覞 > yào; #899E
+覟 > zhì; #899F
+覠 > jūn; #89A0
+覡 > xí; #89A1
+覢 > shăn; #89A2
+覣 > wēi; #89A3
+覤 > xì; #89A4
+覥 > tiăn; #89A5
+覦 > yú; #89A6
+覧 > lăn; #89A7
+覨 > è; #89A8
+覩 > dŭ; #89A9
+親 > qīn; #89AA
+覫 > păng; #89AB
+覬 > jì; #89AC
+覭 > míng; #89AD
+覮 > yíng; #89AE
+覯 > gòu; #89AF
+覰 > qù; #89B0
+覱 > zhàn; #89B1
+覲 > jĭn; #89B2
+観 > guān; #89B3
+覴 > dēng; #89B4
+覵 > jiàn; #89B5
+覶 > lúo; #89B6
+覷 > qù; #89B7
+覸 > jiàn; #89B8
+覹 > wéi; #89B9
+覺 > jué; #89BA
+覻 > qù; #89BB
+覼 > lúo; #89BC
+覽 > lăn; #89BD
+覾 > shĕn; #89BE
+覿 > dí; #89BF
+觀 > guān; #89C0
+见 > jiàn; #89C1
+观 > guān; #89C2
+觃 > yàn; #89C3
+规 > gūi; #89C4
+觅 > mì; #89C5
+视 > shì; #89C6
+觇 > zhān; #89C7
+览 > lăn; #89C8
+觉 > jué; #89C9
+觊 > jì; #89CA
+觋 > xí; #89CB
+觌 > dí; #89CC
+觍 > tiăn; #89CD
+觎 > yú; #89CE
+觏 > gòu; #89CF
+觐 > jĭn; #89D0
+觑 > qù; #89D1
+角 > jiăo; #89D2
+觓 > jīu; #89D3
+觔 > jīn; #89D4
+觕 > cū; #89D5
+觖 > jué; #89D6
+觗 > zhì; #89D7
+觘 > chào; #89D8
+觙 > jí; #89D9
+觚 > gū; #89DA
+觛 > dàn; #89DB
+觜 > zŭi; #89DC
+觝 > dĭ; #89DD
+觞 > shāng; #89DE
+觟 > huà; #89DF
+觠 > quán; #89E0
+觡 > gé; #89E1
+觢 > chì; #89E2
+解 > jiĕ; #89E3
+觤 > gŭi; #89E4
+觥 > gōng; #89E5
+触 > hóng; #89E6
+觧 > jiĕ; #89E7
+觨 > hùn; #89E8
+觩 > qíu; #89E9
+觪 > xīng; #89EA
+觫 > sù; #89EB
+觬 > ní; #89EC
+觭 > jī; #89ED
+觮 > lù; #89EE
+觯 > zhì; #89EF
+觰 > zhā; #89F0
+觱 > bì; #89F1
+觲 > xīng; #89F2
+觳 > hú; #89F3
+觴 > shāng; #89F4
+觵 > gōng; #89F5
+觶 > zhì; #89F6
+觷 > xué; #89F7
+觸 > chù; #89F8
+觹 > xī; #89F9
+觺 > yí; #89FA
+觻 > lù; #89FB
+觼 > jué; #89FC
+觽 > xī; #89FD
+觾 > yàn; #89FE
+觿 > xī; #89FF
+言 > yán; #8A00
+訁 > yán' 'zì' 'páng; #8A01
+訂 > dìng; #8A02
+訃 > fù; #8A03
+訄 > qíu; #8A04
+訅 > qíu; #8A05
+訆 > jiào; #8A06
+訇 > hōng; #8A07
+計 > jì; #8A08
+訉 > fàn; #8A09
+訊 > xùn; #8A0A
+訋 > diào; #8A0B
+訌 > hóng; #8A0C
+訍 > chà; #8A0D
+討 > tăo; #8A0E
+訏 > xū; #8A0F
+訐 > jié; #8A10
+訑 > yí; #8A11
+訒 > rèn; #8A12
+訓 > xùn; #8A13
+訔 > yín; #8A14
+訕 > shàn; #8A15
+訖 > qì; #8A16
+託 > tūo; #8A17
+記 > jì; #8A18
+訙 > xùn; #8A19
+訚 > yín; #8A1A
+訛 > é; #8A1B
+訜 > fēn; #8A1C
+訝 > yà; #8A1D
+訞 > yāo; #8A1E
+訟 > sòng; #8A1F
+訠 > shĕn; #8A20
+訡 > yín; #8A21
+訢 > xīn; #8A22
+訣 > jué; #8A23
+訤 > xiáo; #8A24
+訥 > nè; #8A25
+訦 > chén; #8A26
+訧 > yóu; #8A27
+訨 > zhĭ; #8A28
+訩 > xīong; #8A29
+訪 > făng; #8A2A
+訫 > xìn; #8A2B
+訬 > chāo; #8A2C
+設 > shè; #8A2D
+訮 > xiān; #8A2E
+訯 > shă; #8A2F
+訰 > tún; #8A30
+許 > xŭ; #8A31
+訲 > yì; #8A32
+訳 > yì; #8A33
+訴 > sù; #8A34
+訵 > chī; #8A35
+訶 > hē; #8A36
+訷 > shēn; #8A37
+訸 > hé; #8A38
+訹 > xù; #8A39
+診 > zhĕn; #8A3A
+註 > zhù; #8A3B
+証 > zhèng; #8A3C
+訽 > gòu; #8A3D
+訾 > zĭ; #8A3E
+訿 > zĭ; #8A3F
+詀 > zhān; #8A40
+詁 > gŭ; #8A41
+詂 > fù; #8A42
+詃 > quăn; #8A43
+詄 > dié; #8A44
+詅 > líng; #8A45
+詆 > dĭ; #8A46
+詇 > yàng; #8A47
+詈 > lì; #8A48
+詉 > náo; #8A49
+詊 > pàn; #8A4A
+詋 > zhòu; #8A4B
+詌 > gàn; #8A4C
+詍 > yì; #8A4D
+詎 > jù; #8A4E
+詏 > ào; #8A4F
+詐 > zhà; #8A50
+詑 > túo; #8A51
+詒 > yí; #8A52
+詓 > qŭ; #8A53
+詔 > zhào; #8A54
+評 > píng; #8A55
+詖 > bì; #8A56
+詗 > xìong; #8A57
+詘 > qù; #8A58
+詙 > bá; #8A59
+詚 > dá; #8A5A
+詛 > zŭ; #8A5B
+詜 > tāo; #8A5C
+詝 > zhŭ; #8A5D
+詞 > cí; #8A5E
+詟 > zhé; #8A5F
+詠 > yŏng; #8A60
+詡 > xŭ; #8A61
+詢 > xún; #8A62
+詣 > yì; #8A63
+詤 > huăng; #8A64
+詥 > hé; #8A65
+試 > shì; #8A66
+詧 > chá; #8A67
+詨 > jiāo; #8A68
+詩 > shī; #8A69
+詪 > hĕn; #8A6A
+詫 > chà; #8A6B
+詬 > gòu; #8A6C
+詭 > gŭi; #8A6D
+詮 > quán; #8A6E
+詯 > hùi; #8A6F
+詰 > jié; #8A70
+話 > huà; #8A71
+該 > gāi; #8A72
+詳 > xiáng; #8A73
+詴 > wēi; #8A74
+詵 > shēn; #8A75
+詶 > chóu; #8A76
+詷 > tóng; #8A77
+詸 > mí; #8A78
+詹 > zhān; #8A79
+詺 > mìng; #8A7A
+詻 > è; #8A7B
+詼 > hūi; #8A7C
+詽 > yán; #8A7D
+詾 > xīong; #8A7E
+詿 > guà; #8A7F
+誀 > èr; #8A80
+誁 > bĕng; #8A81
+誂 > tiăo; #8A82
+誃 > chĭ; #8A83
+誄 > lĕi; #8A84
+誅 > zhū; #8A85
+誆 > kuāng; #8A86
+誇 > kuā; #8A87
+誈 > wú; #8A88
+誉 > yù; #8A89
+誊 > téng; #8A8A
+誋 > jì; #8A8B
+誌 > zhì; #8A8C
+認 > rèn; #8A8D
+誎 > sù; #8A8E
+誏 > lăng; #8A8F
+誐 > é; #8A90
+誑 > kuáng; #8A91
+誒 > è; #8A92
+誓 > shì; #8A93
+誔 > tĭng; #8A94
+誕 > dàn; #8A95
+誖 > bó; #8A96
+誗 > chán; #8A97
+誘 > yòu; #8A98
+誙 > héng; #8A99
+誚 > qiào; #8A9A
+誛 > qīn; #8A9B
+誜 > shuà; #8A9C
+誝 > ān; #8A9D
+語 > yŭ; #8A9E
+誟 > xiào; #8A9F
+誠 > chéng; #8AA0
+誡 > jiè; #8AA1
+誢 > xiàn; #8AA2
+誣 > wú; #8AA3
+誤 > wù; #8AA4
+誥 > gào; #8AA5
+誦 > sòng; #8AA6
+誧 > pŭ; #8AA7
+誨 > hùi; #8AA8
+誩 > jìng; #8AA9
+說 > shūo; #8AAA
+誫 > zhèn; #8AAB
+説 > shūo; #8AAC
+読 > dú; #8AAD
+誯 > chàng; #8AAF
+誰 > shúi; #8AB0
+誱 > jié; #8AB1
+課 > kè; #8AB2
+誳 > qū; #8AB3
+誴 > cóng; #8AB4
+誵 > xiáo; #8AB5
+誶 > sùi; #8AB6
+誷 > wăng; #8AB7
+誸 > xuán; #8AB8
+誹 > fĕi; #8AB9
+誺 > chī; #8ABA
+誻 > tà; #8ABB
+誼 > yí; #8ABC
+誽 > ná; #8ABD
+誾 > yín; #8ABE
+調 > diào; #8ABF
+諀 > pĭ; #8AC0
+諁 > chùo; #8AC1
+諂 > chăn; #8AC2
+諃 > chēn; #8AC3
+諄 > zhūn; #8AC4
+諅 > jī; #8AC5
+諆 > qī; #8AC6
+談 > tán; #8AC7
+諈 > zhùi; #8AC8
+諉 > wĕi; #8AC9
+諊 > jú; #8ACA
+請 > qĭng; #8ACB
+諌 > jiàn; #8ACC
+諍 > zhēng; #8ACD
+諎 > zé; #8ACE
+諏 > zōu; #8ACF
+諐 > qiān; #8AD0
+諑 > zhúo; #8AD1
+諒 > liàng; #8AD2
+諓 > jiàn; #8AD3
+諔 > zhù; #8AD4
+諕 > háo; #8AD5
+論 > lùn; #8AD6
+諗 > shĕn; #8AD7
+諘 > biăo; #8AD8
+諙 > huài; #8AD9
+諚 > pián; #8ADA
+諛 > yú; #8ADB
+諜 > dié; #8ADC
+諝 > xŭ; #8ADD
+諞 > pián; #8ADE
+諟 > shì; #8ADF
+諠 > xuān; #8AE0
+諡 > shì; #8AE1
+諢 > hùn; #8AE2
+諣 > huà; #8AE3
+諤 > è; #8AE4
+諥 > zhòng; #8AE5
+諦 > dì; #8AE6
+諧 > xié; #8AE7
+諨 > fú; #8AE8
+諩 > pŭ; #8AE9
+諪 > tíng; #8AEA
+諫 > jiàn; #8AEB
+諬 > qĭ; #8AEC
+諭 > yù; #8AED
+諮 > zī; #8AEE
+諯 > chuán; #8AEF
+諰 > xĭ; #8AF0
+諱 > hùi; #8AF1
+諲 > yīn; #8AF2
+諳 > ān; #8AF3
+諴 > xián; #8AF4
+諵 > nán; #8AF5
+諶 > chén; #8AF6
+諷 > fēng; #8AF7
+諸 > zhū; #8AF8
+諹 > yáng; #8AF9
+諺 > yàn; #8AFA
+諻 > hēng; #8AFB
+諼 > xuān; #8AFC
+諽 > gé; #8AFD
+諾 > nùo; #8AFE
+諿 > qì; #8AFF
+謀 > móu; #8B00
+謁 > yè; #8B01
+謂 > wèi; #8B02
+謄 > téng; #8B04
+謅 > zōu; #8B05
+謆 > shàn; #8B06
+謇 > jiăn; #8B07
+謈 > bó; #8B08
+謉 > kù1; #8B09
+謊 > huăng; #8B0A
+謋 > hùo; #8B0B
+謌 > gē; #8B0C
+謍 > yíng; #8B0D
+謎 > mí; #8B0E
+謏 > xiăo; #8B0F
+謐 > mì; #8B10
+謑 > xì; #8B11
+謒 > qiāng; #8B12
+謓 > chēn; #8B13
+謔 > nǜe; #8B14
+謕 > tí; #8B15
+謖 > sù; #8B16
+謗 > bàng; #8B17
+謘 > chí; #8B18
+謙 > qiān; #8B19
+謚 > shì; #8B1A
+講 > jiăng; #8B1B
+謜 > yuàn; #8B1C
+謝 > xiè; #8B1D
+謞 > xuè; #8B1E
+謟 > tāo; #8B1F
+謠 > yáo; #8B20
+謡 > yáo; #8B21
+謣 > yú; #8B23
+謤 > biāo; #8B24
+謥 > còng; #8B25
+謦 > qìng; #8B26
+謧 > lí; #8B27
+謨 > mó; #8B28
+謩 > mò; #8B29
+謪 > shāng; #8B2A
+謫 > zhé; #8B2B
+謬 > mìu; #8B2C
+謭 > jiăn; #8B2D
+謮 > zé; #8B2E
+謯 > jiē; #8B2F
+謰 > lián; #8B30
+謱 > lóu; #8B31
+謲 > cān; #8B32
+謳 > ōu; #8B33
+謴 > guàn; #8B34
+謵 > xí; #8B35
+謶 > zhúo; #8B36
+謷 > áo; #8B37
+謸 > áo; #8B38
+謹 > jĭn; #8B39
+謺 > zhé; #8B3A
+謻 > yí; #8B3B
+謼 > hù; #8B3C
+謽 > jiàng; #8B3D
+謾 > mán; #8B3E
+謿 > cháo; #8B3F
+譀 > hàn; #8B40
+譁 > huá; #8B41
+譂 > chăn; #8B42
+譃 > xū; #8B43
+譄 > zēng; #8B44
+譅 > sè; #8B45
+譆 > xī; #8B46
+譇 > shē; #8B47
+譈 > dùi; #8B48
+證 > zhèng; #8B49
+譊 > náo; #8B4A
+譋 > lán; #8B4B
+譌 > é; #8B4C
+譍 > yìng; #8B4D
+譎 > jué; #8B4E
+譏 > jī; #8B4F
+譐 > zŭn; #8B50
+譑 > jiăo; #8B51
+譒 > bò; #8B52
+譓 > hùi; #8B53
+譔 > zhuàn; #8B54
+譕 > mú; #8B55
+譖 > zèn; #8B56
+譗 > zhá; #8B57
+識 > shì; #8B58
+譙 > qiáo; #8B59
+譚 > tán; #8B5A
+譛 > zèn; #8B5B
+譜 > pŭ; #8B5C
+譝 > shéng; #8B5D
+譞 > xuān; #8B5E
+譟 > zào; #8B5F
+譠 > tān; #8B60
+譡 > dăng; #8B61
+譢 > sùi; #8B62
+譣 > qiān; #8B63
+譤 > jī; #8B64
+譥 > jiào; #8B65
+警 > jĭng; #8B66
+譧 > lián; #8B67
+譨 > nóu; #8B68
+譩 > yī; #8B69
+譪 > ài; #8B6A
+譫 > zhān; #8B6B
+譬 > pì; #8B6C
+譭 > hŭi; #8B6D
+譮 > huà; #8B6E
+譯 > yì; #8B6F
+議 > yì; #8B70
+譱 > shàn; #8B71
+譲 > ràng; #8B72
+譳 > nòu; #8B73
+譴 > qiăn; #8B74
+譵 > zhùi; #8B75
+譶 > tà; #8B76
+護 > hù; #8B77
+譸 > zhōu; #8B78
+譹 > háo; #8B79
+譺 > yè; #8B7A
+譻 > yīng; #8B7B
+譼 > jiàn; #8B7C
+譽 > yù; #8B7D
+譾 > jiăn; #8B7E
+譿 > hùi; #8B7F
+讀 > dú; #8B80
+讁 > zhé; #8B81
+讂 > xuàn; #8B82
+讃 > zàn; #8B83
+讄 > lĕi; #8B84
+讅 > shĕn; #8B85
+讆 > wèi; #8B86
+讇 > chăn; #8B87
+讈 > lì; #8B88
+讉 > yí; #8B89
+變 > biàn; #8B8A
+讋 > zhé; #8B8B
+讌 > yàn; #8B8C
+讍 > è; #8B8D
+讎 > chóu; #8B8E
+讏 > wèi; #8B8F
+讐 > chóu; #8B90
+讑 > yào; #8B91
+讒 > chán; #8B92
+讓 > ràng; #8B93
+讔 > yĭn; #8B94
+讕 > lán; #8B95
+讖 > chèn; #8B96
+讗 > hùo; #8B97
+讘 > zhé; #8B98
+讙 > huān; #8B99
+讚 > zàn; #8B9A
+讛 > yì; #8B9B
+讜 > dăng; #8B9C
+讝 > zhān; #8B9D
+讞 > yàn; #8B9E
+讟 > dú; #8B9F
+讠 > yán; #8BA0
+计 > jì; #8BA1
+订 > dìng; #8BA2
+讣 > fù; #8BA3
+认 > rèn; #8BA4
+讥 > jī; #8BA5
+讦 > jié; #8BA6
+讧 > hóng; #8BA7
+讨 > tăo; #8BA8
+让 > ràng; #8BA9
+讪 > shàn; #8BAA
+讫 > qì; #8BAB
+讬 > tūo; #8BAC
+训 > xùn; #8BAD
+议 > yì; #8BAE
+讯 > xùn; #8BAF
+记 > jì; #8BB0
+讱 > rèn; #8BB1
+讲 > jiăng; #8BB2
+讳 > hùi; #8BB3
+讴 > ōu; #8BB4
+讵 > jù; #8BB5
+讶 > yà; #8BB6
+讷 > nè; #8BB7
+许 > xŭ; #8BB8
+讹 > é; #8BB9
+论 > lùn; #8BBA
+讻 > xīong; #8BBB
+讼 > sòng; #8BBC
+讽 > fēng; #8BBD
+设 > shè; #8BBE
+访 > făng; #8BBF
+诀 > jué; #8BC0
+证 > zhèng; #8BC1
+诂 > gŭ; #8BC2
+诃 > hē; #8BC3
+评 > píng; #8BC4
+诅 > zŭ; #8BC5
+识 > shì; #8BC6
+诇 > xìong; #8BC7
+诈 > zhà; #8BC8
+诉 > sù; #8BC9
+诊 > zhĕn; #8BCA
+诋 > dĭ; #8BCB
+诌 > zōu; #8BCC
+词 > cí; #8BCD
+诎 > qù; #8BCE
+诏 > zhào; #8BCF
+诐 > bì; #8BD0
+译 > yì; #8BD1
+诒 > yí; #8BD2
+诓 > kuāng; #8BD3
+诔 > lĕi; #8BD4
+试 > shì; #8BD5
+诖 > guà; #8BD6
+诗 > shī; #8BD7
+诘 > jié; #8BD8
+诙 > hūi; #8BD9
+诚 > chéng; #8BDA
+诛 > zhū; #8BDB
+诜 > shēn; #8BDC
+话 > huà; #8BDD
+诞 > dàn; #8BDE
+诟 > gòu; #8BDF
+诠 > quán; #8BE0
+诡 > gŭi; #8BE1
+询 > xún; #8BE2
+诣 > yì; #8BE3
+诤 > zhēng; #8BE4
+该 > gāi; #8BE5
+详 > xiáng; #8BE6
+诧 > chà; #8BE7
+诨 > hùn; #8BE8
+诩 > xŭ; #8BE9
+诪 > zhōu; #8BEA
+诫 > jiè; #8BEB
+诬 > wú; #8BEC
+语 > yŭ; #8BED
+诮 > qiào; #8BEE
+误 > wù; #8BEF
+诰 > gào; #8BF0
+诱 > yòu; #8BF1
+诲 > hùi; #8BF2
+诳 > kuáng; #8BF3
+说 > shūo; #8BF4
+诵 > sòng; #8BF5
+诶 > āi; #8BF6
+请 > qĭng; #8BF7
+诸 > zhū; #8BF8
+诹 > zōu; #8BF9
+诺 > nùo; #8BFA
+读 > dú; #8BFB
+诼 > zhúo; #8BFC
+诽 > fĕi; #8BFD
+课 > kè; #8BFE
+诿 > wĕi; #8BFF
+谀 > yú; #8C00
+谁 > shúi; #8C01
+谂 > shĕn; #8C02
+调 > diào; #8C03
+谄 > chăn; #8C04
+谅 > liàng; #8C05
+谆 > zhūn; #8C06
+谇 > sùi; #8C07
+谈 > tán; #8C08
+谉 > shĕn; #8C09
+谊 > yí; #8C0A
+谋 > móu; #8C0B
+谌 > chén; #8C0C
+谍 > dié; #8C0D
+谎 > huăng; #8C0E
+谏 > jiàn; #8C0F
+谐 > xié; #8C10
+谑 > nǜe; #8C11
+谒 > yè; #8C12
+谓 > wèi; #8C13
+谔 > è; #8C14
+谕 > yù; #8C15
+谖 > xuān; #8C16
+谗 > chán; #8C17
+谘 > zī; #8C18
+谙 > ān; #8C19
+谚 > yàn; #8C1A
+谛 > dì; #8C1B
+谜 > mí; #8C1C
+谝 > pián; #8C1D
+谞 > xŭ; #8C1E
+谟 > mó; #8C1F
+谠 > dăng; #8C20
+谡 > sù; #8C21
+谢 > xiè; #8C22
+谣 > yáo; #8C23
+谤 > bàng; #8C24
+谥 > shì; #8C25
+谦 > qiān; #8C26
+谧 > mì; #8C27
+谨 > jĭn; #8C28
+谩 > mán; #8C29
+谪 > zhé; #8C2A
+谫 > jiăn; #8C2B
+谬 > mìu; #8C2C
+谭 > tán; #8C2D
+谮 > zèn; #8C2E
+谯 > qiáo; #8C2F
+谰 > lán; #8C30
+谱 > pŭ; #8C31
+谲 > jué; #8C32
+谳 > yàn; #8C33
+谴 > qiăn; #8C34
+谵 > zhān; #8C35
+谶 > chèn; #8C36
+谷 > gŭ; #8C37
+谸 > qiān; #8C38
+谹 > hóng; #8C39
+谺 > xiā; #8C3A
+谻 > jué; #8C3B
+谼 > hóng; #8C3C
+谽 > hān; #8C3D
+谾 > hōng; #8C3E
+谿 > xī; #8C3F
+豀 > xī; #8C40
+豁 > hùo; #8C41
+豂 > liáo; #8C42
+豃 > hăn; #8C43
+豄 > dú; #8C44
+豅 > lóng; #8C45
+豆 > dòu; #8C46
+豇 > jiāng; #8C47
+豈 > qĭ; #8C48
+豉 > shì; #8C49
+豊 > lĭ; #8C4A
+豋 > dēng; #8C4B
+豌 > wān; #8C4C
+豍 > bī; #8C4D
+豎 > shù; #8C4E
+豏 > xiàn; #8C4F
+豐 > fēng; #8C50
+豑 > zhì; #8C51
+豒 > zhì; #8C52
+豓 > yàn; #8C53
+豔 > yàn; #8C54
+豕 > shĭ; #8C55
+豖 > chù; #8C56
+豗 > hūi; #8C57
+豘 > tún; #8C58
+豙 > yì; #8C59
+豚 > tún; #8C5A
+豛 > yì; #8C5B
+豜 > jiān; #8C5C
+豝 > bā; #8C5D
+豞 > hòu; #8C5E
+豟 > è; #8C5F
+豠 > cú; #8C60
+象 > xiàng; #8C61
+豢 > huàn; #8C62
+豣 > jiān; #8C63
+豤 > kĕn; #8C64
+豥 > gāi; #8C65
+豦 > qú; #8C66
+豧 > fū; #8C67
+豨 > xī; #8C68
+豩 > bīn; #8C69
+豪 > háo; #8C6A
+豫 > yù; #8C6B
+豬 > zhū; #8C6C
+豭 > jiā; #8C6D
+豯 > xī; #8C6F
+豰 > bó; #8C70
+豱 > wēn; #8C71
+豲 > huán; #8C72
+豳 > bīn; #8C73
+豴 > dí; #8C74
+豵 > zōng; #8C75
+豶 > fén; #8C76
+豷 > yì; #8C77
+豸 > zhì; #8C78
+豹 > bào; #8C79
+豺 > chái; #8C7A
+豻 > hàn; #8C7B
+豼 > pí; #8C7C
+豽 > nà; #8C7D
+豾 > pī; #8C7E
+豿 > gŏu; #8C7F
+貀 > nà; #8C80
+貁 > yòu; #8C81
+貂 > diāo; #8C82
+貃 > mò; #8C83
+貄 > sì; #8C84
+貅 > xīu; #8C85
+貆 > huán; #8C86
+貇 > kūn; #8C87
+貈 > hé; #8C88
+貉 > hé; #8C89
+貊 > mò; #8C8A
+貋 > hàn; #8C8B
+貌 > mào; #8C8C
+貍 > lí; #8C8D
+貎 > ní; #8C8E
+貏 > bĭ; #8C8F
+貐 > yŭ; #8C90
+貑 > jiā; #8C91
+貒 > tuān; #8C92
+貓 > māo; #8C93
+貔 > pí; #8C94
+貕 > xī; #8C95
+貖 > è; #8C96
+貗 > jù; #8C97
+貘 > mò; #8C98
+貙 > chū; #8C99
+貚 > tán; #8C9A
+貛 > huān; #8C9B
+貜 > jué; #8C9C
+貝 > bèi; #8C9D
+貞 > zhēn; #8C9E
+貟 > yuán; #8C9F
+負 > fù; #8CA0
+財 > cái; #8CA1
+貢 > gòng; #8CA2
+貣 > tè; #8CA3
+貤 > yí; #8CA4
+貥 > háng; #8CA5
+貦 > wàn; #8CA6
+貧 > pín; #8CA7
+貨 > hùo; #8CA8
+販 > fàn; #8CA9
+貪 > tān; #8CAA
+貫 > guàn; #8CAB
+責 > zé; #8CAC
+貭 > zhí; #8CAD
+貮 > èr; #8CAE
+貯 > zhŭ; #8CAF
+貰 > shì; #8CB0
+貱 > bì; #8CB1
+貲 > zī; #8CB2
+貳 > èr; #8CB3
+貴 > gùi; #8CB4
+貵 > piăn; #8CB5
+貶 > biăn; #8CB6
+買 > măi; #8CB7
+貸 > dài; #8CB8
+貹 > shèng; #8CB9
+貺 > kuàng; #8CBA
+費 > fèi; #8CBB
+貼 > tiē; #8CBC
+貽 > yí; #8CBD
+貾 > chí; #8CBE
+貿 > mào; #8CBF
+賀 > hè; #8CC0
+賁 > bì; #8CC1
+賂 > lù; #8CC2
+賃 > rèn; #8CC3
+賄 > hùi; #8CC4
+賅 > gāi; #8CC5
+賆 > pián; #8CC6
+資 > zī; #8CC7
+賈 > jiă; #8CC8
+賉 > xù; #8CC9
+賊 > zéi; #8CCA
+賋 > jiăo; #8CCB
+賌 > gài; #8CCC
+賍 > zāng; #8CCD
+賎 > jiàn; #8CCE
+賏 > yìng; #8CCF
+賐 > xùn; #8CD0
+賑 > zhèn; #8CD1
+賒 > shē; #8CD2
+賓 > bīn; #8CD3
+賔 > bīn; #8CD4
+賕 > qíu; #8CD5
+賖 > shē; #8CD6
+賗 > chuàn; #8CD7
+賘 > zāng; #8CD8
+賙 > zhōu; #8CD9
+賚 > lài; #8CDA
+賛 > zàn; #8CDB
+賜 > sì; #8CDC
+賝 > chēn; #8CDD
+賞 > shăng; #8CDE
+賟 > tiăn; #8CDF
+賠 > péi; #8CE0
+賡 > gēng; #8CE1
+賢 > xián; #8CE2
+賣 > mài; #8CE3
+賤 > jiàn; #8CE4
+賥 > sùi; #8CE5
+賦 > fù; #8CE6
+賧 > tàn; #8CE7
+賨 > cóng; #8CE8
+賩 > cóng; #8CE9
+質 > zhí; #8CEA
+賫 > jī; #8CEB
+賬 > zhàng; #8CEC
+賭 > dŭ; #8CED
+賮 > jìn; #8CEE
+賯 > xīong; #8CEF
+賰 > shŭn; #8CF0
+賱 > yŭn; #8CF1
+賲 > băo; #8CF2
+賳 > zāi; #8CF3
+賴 > lài; #8CF4
+賵 > fèng; #8CF5
+賶 > càng; #8CF6
+賷 > jī; #8CF7
+賸 > shèng; #8CF8
+賹 > ài; #8CF9
+賺 > zhuàn; #8CFA
+賻 > fù; #8CFB
+購 > gòu; #8CFC
+賽 > sài; #8CFD
+賾 > zé; #8CFE
+賿 > liáo; #8CFF
+贀 > wèi; #8D00
+贁 > bài; #8D01
+贂 > chĕn; #8D02
+贃 > zhuàn; #8D03
+贄 > zhì; #8D04
+贅 > zhùi; #8D05
+贆 > biāo; #8D06
+贇 > yūn; #8D07
+贈 > zèng; #8D08
+贉 > tăn; #8D09
+贊 > zàn; #8D0A
+贋 > yàn; #8D0B
+贍 > shàn; #8D0D
+贎 > wàn; #8D0E
+贏 > yíng; #8D0F
+贐 > jìn; #8D10
+贑 > găn; #8D11
+贒 > xián; #8D12
+贓 > zāng; #8D13
+贔 > bì; #8D14
+贕 > dú; #8D15
+贖 > shú; #8D16
+贗 > yàn; #8D17
+贙 > xuàn; #8D19
+贚 > lòng; #8D1A
+贛 > gàn; #8D1B
+贜 > zāng; #8D1C
+贝 > bèi; #8D1D
+贞 > zhēn; #8D1E
+负 > fù; #8D1F
+贠 > yuán; #8D20
+贡 > gòng; #8D21
+财 > cái; #8D22
+责 > zé; #8D23
+贤 > xián; #8D24
+败 > bài; #8D25
+账 > zhàng; #8D26
+货 > hùo; #8D27
+质 > zhí; #8D28
+贩 > fàn; #8D29
+贪 > tān; #8D2A
+贫 > pín; #8D2B
+贬 > biăn; #8D2C
+购 > gòu; #8D2D
+贮 > zhŭ; #8D2E
+贯 > guàn; #8D2F
+贰 > èr; #8D30
+贱 > jiàn; #8D31
+贲 > bì; #8D32
+贳 > shì; #8D33
+贴 > tiē; #8D34
+贵 > gùi; #8D35
+贶 > kuàng; #8D36
+贷 > dài; #8D37
+贸 > mào; #8D38
+费 > fèi; #8D39
+贺 > hè; #8D3A
+贻 > yí; #8D3B
+贼 > zéi; #8D3C
+贽 > zhì; #8D3D
+贾 > jiă; #8D3E
+贿 > hùi; #8D3F
+赀 > zī; #8D40
+赁 > rèn; #8D41
+赂 > lù; #8D42
+赃 > zāng; #8D43
+资 > zī; #8D44
+赅 > gāi; #8D45
+赆 > jìn; #8D46
+赇 > qíu; #8D47
+赈 > zhèn; #8D48
+赉 > lài; #8D49
+赊 > shē; #8D4A
+赋 > fù; #8D4B
+赌 > dŭ; #8D4C
+赍 > jī; #8D4D
+赎 > shú; #8D4E
+赏 > shăng; #8D4F
+赐 > sì; #8D50
+赑 > bì; #8D51
+赒 > zhōu; #8D52
+赓 > gēng; #8D53
+赔 > péi; #8D54
+赕 > tàn; #8D55
+赖 > lài; #8D56
+赗 > fèng; #8D57
+赘 > zhùi; #8D58
+赙 > fù; #8D59
+赚 > zhuàn; #8D5A
+赛 > sài; #8D5B
+赜 > zé; #8D5C
+赝 > yàn; #8D5D
+赞 > zàn; #8D5E
+赟 > yūn; #8D5F
+赠 > zèng; #8D60
+赡 > shàn; #8D61
+赢 > yíng; #8D62
+赣 > gàn; #8D63
+赤 > chì; #8D64
+赥 > xì; #8D65
+赦 > shè; #8D66
+赧 > năn; #8D67
+赨 > xíong; #8D68
+赩 > xì; #8D69
+赪 > chēng; #8D6A
+赫 > hè; #8D6B
+赬 > chēng; #8D6C
+赭 > zhĕ; #8D6D
+赮 > xiá; #8D6E
+赯 > táng; #8D6F
+走 > zŏu; #8D70
+赱 > zŏu; #8D71
+赲 > lì; #8D72
+赳 > jĭu; #8D73
+赴 > fù; #8D74
+赵 > zhào; #8D75
+赶 > găn; #8D76
+起 > qĭ; #8D77
+赸 > shàn; #8D78
+赹 > qíong; #8D79
+赺 > qín; #8D7A
+赻 > xiăn; #8D7B
+赼 > cī; #8D7C
+赽 > jué; #8D7D
+赾 > qĭn; #8D7E
+赿 > chí; #8D7F
+趀 > cī; #8D80
+趁 > chèn; #8D81
+趂 > chèn; #8D82
+趃 > dié; #8D83
+趄 > jū; #8D84
+超 > chāo; #8D85
+趆 > dī; #8D86
+趇 > sè; #8D87
+趈 > zhān; #8D88
+趉 > zhú; #8D89
+越 > yuè; #8D8A
+趋 > qū; #8D8B
+趌 > jié; #8D8C
+趍 > chí; #8D8D
+趎 > chú; #8D8E
+趏 > guā; #8D8F
+趐 > xuè; #8D90
+趑 > cī; #8D91
+趒 > tiáo; #8D92
+趓 > dŭo; #8D93
+趔 > liè; #8D94
+趕 > găn; #8D95
+趖 > sūo; #8D96
+趗 > cù; #8D97
+趘 > xí; #8D98
+趙 > zhào; #8D99
+趚 > sù; #8D9A
+趛 > yĭn; #8D9B
+趜 > jú; #8D9C
+趝 > jiàn; #8D9D
+趞 > què; #8D9E
+趟 > tàng; #8D9F
+趠 > chùo; #8DA0
+趡 > cŭi; #8DA1
+趢 > lù; #8DA2
+趣 > qù; #8DA3
+趤 > dàng; #8DA4
+趥 > qīu; #8DA5
+趦 > zī; #8DA6
+趧 > tí; #8DA7
+趨 > qū; #8DA8
+趩 > chì; #8DA9
+趪 > huáng; #8DAA
+趫 > qiáo; #8DAB
+趬 > qiáo; #8DAC
+趭 > yào; #8DAD
+趮 > zào; #8DAE
+趯 > tì; #8DAF
+趱 > zăn; #8DB1
+趲 > zăn; #8DB2
+足 > zú; #8DB3
+趴 > pā; #8DB4
+趵 > bào; #8DB5
+趶 > kù; #8DB6
+趷 > kē; #8DB7
+趸 > dŭn; #8DB8
+趹 > jué; #8DB9
+趺 > fū; #8DBA
+趻 > chĕn; #8DBB
+趼 > jiăn; #8DBC
+趽 > fàng; #8DBD
+趾 > zhĭ; #8DBE
+趿 > sà; #8DBF
+跀 > yuè; #8DC0
+跁 > pá; #8DC1
+跂 > qí; #8DC2
+跃 > yuè; #8DC3
+跄 > qiāng; #8DC4
+跅 > tùo; #8DC5
+跆 > tái; #8DC6
+跇 > yì; #8DC7
+跈 > niăn; #8DC8
+跉 > líng; #8DC9
+跊 > mèi; #8DCA
+跋 > bá; #8DCB
+跌 > diē; #8DCC
+跍 > kū; #8DCD
+跎 > túo; #8DCE
+跏 > jiā; #8DCF
+跐 > cĭ; #8DD0
+跑 > păo; #8DD1
+跒 > qiă; #8DD2
+跓 > zhù; #8DD3
+跔 > jū; #8DD4
+跕 > dié; #8DD5
+跖 > zhī; #8DD6
+跗 > fū; #8DD7
+跘 > pán; #8DD8
+跙 > jŭ; #8DD9
+跚 > shān; #8DDA
+跛 > bŏ; #8DDB
+跜 > ní; #8DDC
+距 > jù; #8DDD
+跞 > lì; #8DDE
+跟 > gēn; #8DDF
+跠 > yí; #8DE0
+跡 > jī; #8DE1
+跢 > dài; #8DE2
+跣 > xiăn; #8DE3
+跤 > jiāo; #8DE4
+跥 > dùo; #8DE5
+跦 > zhū; #8DE6
+跧 > zhuān; #8DE7
+跨 > kuà; #8DE8
+跩 > zhuăi; #8DE9
+跪 > gùi; #8DEA
+跫 > qíong; #8DEB
+跬 > kŭi; #8DEC
+跭 > xiáng; #8DED
+跮 > chì; #8DEE
+路 > lù; #8DEF
+跰 > bèng; #8DF0
+跱 > zhì; #8DF1
+跲 > jiá; #8DF2
+跳 > tiào; #8DF3
+跴 > căi; #8DF4
+践 > jiàn; #8DF5
+跶 > tà; #8DF6
+跷 > qiāo; #8DF7
+跸 > bì; #8DF8
+跹 > xiān; #8DF9
+跺 > dùo; #8DFA
+跻 > jī; #8DFB
+跼 > jú; #8DFC
+跽 > jì; #8DFD
+跾 > shú; #8DFE
+跿 > tú; #8DFF
+踀 > chù; #8E00
+踁 > jìng; #8E01
+踂 > niè; #8E02
+踃 > xiāo; #8E03
+踄 > bó; #8E04
+踅 > chì; #8E05
+踆 > qūn; #8E06
+踇 > mŏu; #8E07
+踈 > shū; #8E08
+踉 > láng; #8E09
+踊 > yŏng; #8E0A
+踋 > jiăo; #8E0B
+踌 > chóu; #8E0C
+踍 > qiāo; #8E0D
+踏 > tà; #8E0F
+踐 > jiàn; #8E10
+踑 > qí; #8E11
+踒 > wō; #8E12
+踓 > wĕi; #8E13
+踔 > zhúo; #8E14
+踕 > jié; #8E15
+踖 > jí; #8E16
+踗 > niē; #8E17
+踘 > jú; #8E18
+踙 > jū; #8E19
+踚 > lún; #8E1A
+踛 > lù; #8E1B
+踜 > lèng; #8E1C
+踝 > huái; #8E1D
+踞 > jù; #8E1E
+踟 > chí; #8E1F
+踠 > wăn; #8E20
+踡 > quán; #8E21
+踢 > tī; #8E22
+踣 > bó; #8E23
+踤 > zú; #8E24
+踥 > qiè; #8E25
+踦 > jĭ; #8E26
+踧 > cù; #8E27
+踨 > zōng; #8E28
+踩 > căi; #8E29
+踪 > zōng; #8E2A
+踫 > pèng; #8E2B
+踬 > zhì; #8E2C
+踭 > zhēng; #8E2D
+踮 > diăn; #8E2E
+踯 > zhí; #8E2F
+踰 > yú; #8E30
+踱 > dùo; #8E31
+踲 > dùn; #8E32
+踳 > chŭn; #8E33
+踴 > yŏng; #8E34
+踵 > zhŏng; #8E35
+踶 > dì; #8E36
+踷 > zhĕ; #8E37
+踸 > chĕn; #8E38
+踹 > chuài; #8E39
+踺 > jiàn; #8E3A
+踻 > guā; #8E3B
+踼 > táng; #8E3C
+踽 > jŭ; #8E3D
+踾 > fú; #8E3E
+踿 > zú; #8E3F
+蹀 > dié; #8E40
+蹁 > pián; #8E41
+蹂 > róu; #8E42
+蹃 > nùo; #8E43
+蹄 > tí; #8E44
+蹅 > chă; #8E45
+蹆 > tŭi; #8E46
+蹇 > jiăn; #8E47
+蹈 > dào; #8E48
+蹉 > cūo; #8E49
+蹊 > xī; #8E4A
+蹋 > tà; #8E4B
+蹌 > qiāng; #8E4C
+蹍 > zhăn; #8E4D
+蹎 > diān; #8E4E
+蹏 > tí; #8E4F
+蹐 > jí; #8E50
+蹑 > niè; #8E51
+蹒 > mán; #8E52
+蹓 > līu; #8E53
+蹔 > zhàn; #8E54
+蹕 > bì; #8E55
+蹖 > chōng; #8E56
+蹗 > lù; #8E57
+蹘 > liáo; #8E58
+蹙 > cù; #8E59
+蹚 > tāng; #8E5A
+蹛 > dài; #8E5B
+蹜 > sūo; #8E5C
+蹝 > xĭ; #8E5D
+蹞 > kŭi; #8E5E
+蹟 > jī; #8E5F
+蹠 > zhí; #8E60
+蹡 > qiāng; #8E61
+蹢 > dí; #8E62
+蹣 > mán; #8E63
+蹤 > zōng; #8E64
+蹥 > lián; #8E65
+蹦 > bèng; #8E66
+蹧 > zāo; #8E67
+蹨 > niăn; #8E68
+蹩 > bié; #8E69
+蹪 > túi; #8E6A
+蹫 > jú; #8E6B
+蹬 > dèng; #8E6C
+蹭 > cèng; #8E6D
+蹮 > xiān; #8E6E
+蹯 > fán; #8E6F
+蹰 > chú; #8E70
+蹱 > zhōng; #8E71
+蹲 > dūn; #8E72
+蹳 > bō; #8E73
+蹴 > cù; #8E74
+蹵 > zú; #8E75
+蹶 > jué; #8E76
+蹷 > jué; #8E77
+蹸 > lìn; #8E78
+蹹 > tà; #8E79
+蹺 > qiāo; #8E7A
+蹻 > qiāo; #8E7B
+蹼 > pú; #8E7C
+蹽 > liāo; #8E7D
+蹾 > dūn; #8E7E
+蹿 > cuān; #8E7F
+躀 > kuàng; #8E80
+躁 > zào; #8E81
+躂 > tà; #8E82
+躃 > bì; #8E83
+躄 > bì; #8E84
+躅 > zhú; #8E85
+躆 > jù; #8E86
+躇 > chú; #8E87
+躈 > qiào; #8E88
+躉 > dŭn; #8E89
+躊 > chóu; #8E8A
+躋 > jī; #8E8B
+躌 > wŭ; #8E8C
+躍 > yuè; #8E8D
+躎 > niăn; #8E8E
+躏 > lìn; #8E8F
+躐 > liè; #8E90
+躑 > zhí; #8E91
+躒 > lì; #8E92
+躓 > zhì; #8E93
+躔 > chán; #8E94
+躕 > chú; #8E95
+躖 > duàn; #8E96
+躗 > wèi; #8E97
+躘 > lóng; #8E98
+躙 > lìn; #8E99
+躚 > xiān; #8E9A
+躛 > wèi; #8E9B
+躜 > zuān; #8E9C
+躝 > lán; #8E9D
+躞 > xiè; #8E9E
+躟 > ráng; #8E9F
+躠 > xiĕ; #8EA0
+躡 > niè; #8EA1
+躢 > tà; #8EA2
+躣 > qú; #8EA3
+躤 > jiè; #8EA4
+躥 > cuān; #8EA5
+躦 > zuān; #8EA6
+躧 > xĭ; #8EA7
+躨 > kúi; #8EA8
+躩 > jué; #8EA9
+躪 > lìn; #8EAA
+身 > shēn; #8EAB
+躬 > gōng; #8EAC
+躭 > dān; #8EAD
+躯 > qū; #8EAF
+躰 > tĭ; #8EB0
+躱 > dŭo; #8EB1
+躲 > dŭo; #8EB2
+躳 > gōng; #8EB3
+躴 > láng; #8EB4
+躶 > lŭo; #8EB6
+躷 > ăi; #8EB7
+躸 > jī; #8EB8
+躹 > jú; #8EB9
+躺 > tăng; #8EBA
+躽 > yăn; #8EBD
+躿 > kāng; #8EBF
+軀 > qū; #8EC0
+軁 > lóu; #8EC1
+軂 > lào; #8EC2
+軃 > tŭo; #8EC3
+軄 > zhí; #8EC4
+軆 > tĭ; #8EC6
+軇 > dào; #8EC7
+軉 > yù; #8EC9
+車 > chē; #8ECA
+軋 > yà; #8ECB
+軌 > gŭi; #8ECC
+軍 > jūn; #8ECD
+軎 > wèi; #8ECE
+軏 > yuè; #8ECF
+軐 > xìn; #8ED0
+軑 > dì; #8ED1
+軒 > xuān; #8ED2
+軓 > fàn; #8ED3
+軔 > rèn; #8ED4
+軕 > shān; #8ED5
+軖 > qiáng; #8ED6
+軗 > shū; #8ED7
+軘 > tún; #8ED8
+軙 > chén; #8ED9
+軚 > dài; #8EDA
+軛 > è; #8EDB
+軜 > nà; #8EDC
+軝 > qí; #8EDD
+軞 > máo; #8EDE
+軟 > ruăn; #8EDF
+軠 > rèn; #8EE0
+軡 > făn; #8EE1
+転 > zhuăn; #8EE2
+軣 > hōng; #8EE3
+軤 > hū; #8EE4
+軥 > qú; #8EE5
+軦 > huàng; #8EE6
+軧 > dĭ; #8EE7
+軨 > líng; #8EE8
+軩 > dài; #8EE9
+軪 > āo; #8EEA
+軫 > zhĕn; #8EEB
+軬 > fàn; #8EEC
+軭 > kuāng; #8EED
+軮 > ăng; #8EEE
+軯 > pēng; #8EEF
+軰 > bèi; #8EF0
+軱 > gū; #8EF1
+軲 > kū; #8EF2
+軳 > páo; #8EF3
+軴 > zhù; #8EF4
+軵 > rŏng; #8EF5
+軶 > è; #8EF6
+軷 > bá; #8EF7
+軸 > zhóu; #8EF8
+軹 > zhĭ; #8EF9
+軺 > yáo; #8EFA
+軻 > kē; #8EFB
+軼 > yì; #8EFC
+軽 > qīng; #8EFD
+軾 > shì; #8EFE
+軿 > píng; #8EFF
+輀 > ér; #8F00
+輁 > qíong; #8F01
+輂 > jú; #8F02
+較 > jiào; #8F03
+輄 > guāng; #8F04
+輅 > lù; #8F05
+輆 > kăi; #8F06
+輇 > quán; #8F07
+輈 > zhōu; #8F08
+載 > zài; #8F09
+輊 > zhì; #8F0A
+輋 > shē; #8F0B
+輌 > liàng; #8F0C
+輍 > yù; #8F0D
+輎 > shāo; #8F0E
+輏 > yóu; #8F0F
+輐 > huăn; #8F10
+輑 > yŭn; #8F11
+輒 > zhé; #8F12
+輓 > wăn; #8F13
+輔 > fŭ; #8F14
+輕 > qīng; #8F15
+輖 > zhōu; #8F16
+輗 > ní; #8F17
+輘 > líng; #8F18
+輙 > zhé; #8F19
+輚 > zhàn; #8F1A
+輛 > liàng; #8F1B
+輜 > zī; #8F1C
+輝 > hūi; #8F1D
+輞 > wăng; #8F1E
+輟 > chùo; #8F1F
+輠 > gŭo; #8F20
+輡 > kăn; #8F21
+輢 > yĭ; #8F22
+輣 > péng; #8F23
+輤 > qiàn; #8F24
+輥 > gŭn; #8F25
+輦 > niăn; #8F26
+輧 > pián; #8F27
+輨 > guăn; #8F28
+輩 > bèi; #8F29
+輪 > lún; #8F2A
+輫 > pái; #8F2B
+輬 > liáng; #8F2C
+輭 > ruăn; #8F2D
+輮 > róu; #8F2E
+輯 > jí; #8F2F
+輰 > yáng; #8F30
+輱 > xián; #8F31
+輲 > chuán; #8F32
+輳 > còu; #8F33
+輴 > qūn; #8F34
+輵 > gé; #8F35
+輶 > yóu; #8F36
+輷 > hōng; #8F37
+輸 > shū; #8F38
+輹 > fù; #8F39
+輺 > zī; #8F3A
+輻 > fú; #8F3B
+輼 > wēn; #8F3C
+輽 > bèn; #8F3D
+輾 > zhăn; #8F3E
+輿 > yú; #8F3F
+轀 > wēn; #8F40
+轁 > tāo; #8F41
+轂 > gŭ; #8F42
+轃 > zhēn; #8F43
+轄 > xiá; #8F44
+轅 > yuán; #8F45
+轆 > lù; #8F46
+轇 > jīu; #8F47
+轈 > cháo; #8F48
+轉 > zhuăn; #8F49
+轊 > wèi; #8F4A
+轋 > hún; #8F4B
+轍 > chè; #8F4D
+轎 > jiào; #8F4E
+轏 > zhàn; #8F4F
+轐 > pú; #8F50
+轑 > lăo; #8F51
+轒 > fén; #8F52
+轓 > fān; #8F53
+轔 > lín; #8F54
+轕 > gé; #8F55
+轖 > sè; #8F56
+轗 > kăn; #8F57
+轘 > huàn; #8F58
+轙 > yĭ; #8F59
+轚 > jí; #8F5A
+轛 > dùi; #8F5B
+轜 > ér; #8F5C
+轝 > yú; #8F5D
+轞 > xiàn; #8F5E
+轟 > hōng; #8F5F
+轠 > lĕi; #8F60
+轡 > pèi; #8F61
+轢 > lì; #8F62
+轣 > lì; #8F63
+轤 > lú; #8F64
+轥 > lìn; #8F65
+车 > chē; #8F66
+轧 > yà; #8F67
+轨 > gŭi; #8F68
+轩 > xuān; #8F69
+轪 > dì; #8F6A
+轫 > rèn; #8F6B
+转 > zhuăn; #8F6C
+轭 > è; #8F6D
+轮 > lún; #8F6E
+软 > ruăn; #8F6F
+轰 > hōng; #8F70
+轱 > kū; #8F71
+轲 > kē; #8F72
+轳 > lú; #8F73
+轴 > zhóu; #8F74
+轵 > zhĭ; #8F75
+轶 > yì; #8F76
+轷 > hū; #8F77
+轸 > zhĕn; #8F78
+轹 > lì; #8F79
+轺 > yáo; #8F7A
+轻 > qīng; #8F7B
+轼 > shì; #8F7C
+载 > zài; #8F7D
+轾 > zhì; #8F7E
+轿 > jiào; #8F7F
+辀 > zhōu; #8F80
+辁 > quán; #8F81
+辂 > lù; #8F82
+较 > jiào; #8F83
+辄 > zhé; #8F84
+辅 > fŭ; #8F85
+辆 > liàng; #8F86
+辇 > niăn; #8F87
+辈 > bèi; #8F88
+辉 > hūi; #8F89
+辊 > gŭn; #8F8A
+辋 > wăng; #8F8B
+辌 > liáng; #8F8C
+辍 > chùo; #8F8D
+辎 > zī; #8F8E
+辏 > còu; #8F8F
+辐 > fú; #8F90
+辑 > jí; #8F91
+辒 > wēn; #8F92
+输 > shū; #8F93
+辔 > pèi; #8F94
+辕 > yuán; #8F95
+辖 > xiá; #8F96
+辗 > zhăn; #8F97
+辘 > lù; #8F98
+辙 > chè; #8F99
+辚 > lín; #8F9A
+辛 > xīn; #8F9B
+辜 > gū; #8F9C
+辝 > cí; #8F9D
+辞 > cí; #8F9E
+辟 > pì; #8F9F
+辠 > zùi; #8FA0
+辡 > biàn; #8FA1
+辢 > là; #8FA2
+辣 > là; #8FA3
+辤 > cí; #8FA4
+辥 > xuē; #8FA5
+辦 > bàn; #8FA6
+辧 > biàn; #8FA7
+辨 > biàn; #8FA8
+辩 > biàn; #8FA9
+辫 > biàn; #8FAB
+辬 > bān; #8FAC
+辭 > cí; #8FAD
+辮 > biàn; #8FAE
+辯 > biàn; #8FAF
+辰 > chén; #8FB0
+辱 > rù; #8FB1
+農 > nóng; #8FB2
+辳 > nóng; #8FB3
+辴 > zhĕn; #8FB4
+辵 > chùo; #8FB5
+辶 > chùo; #8FB6
+辸 > réng; #8FB8
+边 > biān; #8FB9
+辺 > biān; #8FBA
+辽 > liáo; #8FBD
+达 > dá; #8FBE
+辿 > chān; #8FBF
+迀 > gān; #8FC0
+迁 > qiān; #8FC1
+迂 > yū; #8FC2
+迃 > yū; #8FC3
+迄 > qì; #8FC4
+迅 > xùn; #8FC5
+迆 > yĭ; #8FC6
+过 > gùo; #8FC7
+迈 > mài; #8FC8
+迉 > qí; #8FC9
+迊 > zā; #8FCA
+迋 > wàng; #8FCB
+迌 > jia; #8FCC
+迍 > zhūn; #8FCD
+迎 > yíng; #8FCE
+迏 > tì; #8FCF
+运 > yùn; #8FD0
+近 > jìn; #8FD1
+迒 > háng; #8FD2
+迓 > yà; #8FD3
+返 > făn; #8FD4
+迕 > wù; #8FD5
+迖 > dá; #8FD6
+迗 > é; #8FD7
+还 > huán; #8FD8
+这 > zhè; #8FD9
+进 > jìn; #8FDB
+远 > yuăn; #8FDC
+违 > wéi; #8FDD
+连 > lián; #8FDE
+迟 > chí; #8FDF
+迠 > chè; #8FE0
+迡 > nì; #8FE1
+迢 > tiáo; #8FE2
+迣 > zhì; #8FE3
+迤 > yĭ; #8FE4
+迥 > jĭong; #8FE5
+迦 > jiā; #8FE6
+迧 > chén; #8FE7
+迨 > dài; #8FE8
+迩 > ĕr; #8FE9
+迪 > dí; #8FEA
+迫 > pò; #8FEB
+迬 > wăng; #8FEC
+迭 > dié; #8FED
+迮 > zé; #8FEE
+迯 > táo; #8FEF
+述 > shù; #8FF0
+迱 > túo; #8FF1
+迳 > jìng; #8FF3
+迴 > húi; #8FF4
+迵 > tóng; #8FF5
+迶 > yòu; #8FF6
+迷 > mí; #8FF7
+迸 > bèng; #8FF8
+迹 > jī; #8FF9
+迺 > năi; #8FFA
+迻 > yí; #8FFB
+迼 > jié; #8FFC
+追 > zhūi; #8FFD
+迾 > liè; #8FFE
+迿 > xùn; #8FFF
+退 > tùi; #9000
+送 > sòng; #9001
+适 > guā; #9002
+逃 > táo; #9003
+逄 > páng; #9004
+逅 > hòu; #9005
+逆 > nì; #9006
+逇 > dùn; #9007
+逈 > jĭong; #9008
+选 > xuăn; #9009
+逊 > xùn; #900A
+逋 > bū; #900B
+逌 > yóu; #900C
+逍 > xiāo; #900D
+逎 > qíu; #900E
+透 > tòu; #900F
+逐 > zhú; #9010
+逑 > qíu; #9011
+递 > dì; #9012
+逓 > dì; #9013
+途 > tú; #9014
+逕 > jìng; #9015
+逖 > tì; #9016
+逗 > dòu; #9017
+逘 > yĭ; #9018
+這 > zhè; #9019
+通 > tōng; #901A
+逛 > guàng; #901B
+逜 > wù; #901C
+逝 > shì; #901D
+逞 > chĕng; #901E
+速 > sù; #901F
+造 > zào; #9020
+逡 > qūn; #9021
+逢 > féng; #9022
+連 > lián; #9023
+逤 > sùo; #9024
+逥 > húi; #9025
+逦 > lĭ; #9026
+逨 > lái; #9028
+逩 > bèn; #9029
+逪 > cùo; #902A
+逫 > jué; #902B
+逬 > bèng; #902C
+逭 > huàn; #902D
+逮 > dài; #902E
+逯 > lù; #902F
+逰 > yóu; #9030
+週 > zhōu; #9031
+進 > jìn; #9032
+逳 > yù; #9033
+逴 > chùo; #9034
+逵 > kúi; #9035
+逶 > wēi; #9036
+逷 > tì; #9037
+逸 > yì; #9038
+逹 > dá; #9039
+逺 > yuăn; #903A
+逻 > lúo; #903B
+逼 > bī; #903C
+逽 > nùo; #903D
+逾 > yú; #903E
+逿 > dàng; #903F
+遀 > súi; #9040
+遁 > dùn; #9041
+遂 > sùi; #9042
+遃 > yăn; #9043
+遄 > chuán; #9044
+遅 > chí; #9045
+遆 > tí; #9046
+遇 > yù; #9047
+遈 > shí; #9048
+遉 > zhēn; #9049
+遊 > yóu; #904A
+運 > yùn; #904B
+遌 > è; #904C
+遍 > biàn; #904D
+過 > gùo; #904E
+遏 > è; #904F
+遐 > xiá; #9050
+遑 > huáng; #9051
+遒 > qíu; #9052
+道 > dào; #9053
+達 > dá; #9054
+違 > wéi; #9055
+遗 > yí; #9057
+遘 > gòu; #9058
+遙 > yáo; #9059
+遚 > chù; #905A
+遛 > líu; #905B
+遜 > xùn; #905C
+遝 > tà; #905D
+遞 > dì; #905E
+遟 > chí; #905F
+遠 > yuăn; #9060
+遡 > sù; #9061
+遢 > tà; #9062
+遣 > qiăn; #9063
+遥 > yáo; #9065
+遦 > guàn; #9066
+遧 > zhāng; #9067
+遨 > áo; #9068
+適 > shì; #9069
+遪 > cè; #906A
+遫 > chì; #906B
+遬 > sù; #906C
+遭 > zāo; #906D
+遮 > zhē; #906E
+遯 > dùn; #906F
+遰 > dì; #9070
+遱 > lóu; #9071
+遲 > chí; #9072
+遳 > cūo; #9073
+遴 > lín; #9074
+遵 > zūn; #9075
+遶 > rào; #9076
+遷 > qiān; #9077
+選 > xuăn; #9078
+遹 > yù; #9079
+遺 > yí; #907A
+遻 > wù; #907B
+遼 > liáo; #907C
+遽 > jù; #907D
+遾 > shì; #907E
+避 > bì; #907F
+邀 > yāo; #9080
+邁 > mài; #9081
+邂 > xiè; #9082
+邃 > sùi; #9083
+還 > huán; #9084
+邅 > zhān; #9085
+邆 > téng; #9086
+邇 > ĕr; #9087
+邈 > miăo; #9088
+邉 > biān; #9089
+邊 > biān; #908A
+邋 > lá; #908B
+邌 > lí; #908C
+邍 > yuán; #908D
+邎 > yáo; #908E
+邏 > lúo; #908F
+邐 > lĭ; #9090
+邑 > yì; #9091
+邒 > tíng; #9092
+邓 > dèng; #9093
+邔 > qĭ; #9094
+邕 > yōng; #9095
+邖 > shān; #9096
+邗 > hán; #9097
+邘 > yú; #9098
+邙 > máng; #9099
+邚 > rú; #909A
+邛 > qíong; #909B
+邝 > kuàng; #909D
+邞 > fū; #909E
+邟 > kàng; #909F
+邠 > bīn; #90A0
+邡 > fāng; #90A1
+邢 > xíng; #90A2
+那 > nà; #90A3
+邤 > xin; #90A4
+邥 > shĕn; #90A5
+邦 > bāng; #90A6
+邧 > yuán; #90A7
+邨 > cūn; #90A8
+邩 > hŭo; #90A9
+邪 > xié; #90AA
+邫 > bāng; #90AB
+邬 > wū; #90AC
+邭 > jù; #90AD
+邮 > yóu; #90AE
+邯 > hán; #90AF
+邰 > tái; #90B0
+邱 > qīu; #90B1
+邲 > bì; #90B2
+邳 > péi; #90B3
+邴 > bĭng; #90B4
+邵 > shào; #90B5
+邶 > bèi; #90B6
+邷 > wă; #90B7
+邸 > dĭ; #90B8
+邹 > zōu; #90B9
+邺 > yè; #90BA
+邻 > lín; #90BB
+邼 > kuāng; #90BC
+邽 > gūi; #90BD
+邾 > zhū; #90BE
+邿 > shī; #90BF
+郀 > kū; #90C0
+郁 > yù; #90C1
+郂 > gāi; #90C2
+郃 > gé; #90C3
+郄 > xì; #90C4
+郅 > zhì; #90C5
+郆 > jí; #90C6
+郇 > xún; #90C7
+郈 > hòu; #90C8
+郉 > xíng; #90C9
+郊 > jiāo; #90CA
+郋 > xí; #90CB
+郌 > gūi; #90CC
+郍 > núo; #90CD
+郎 > láng; #90CE
+郏 > jiá; #90CF
+郐 > kuài; #90D0
+郑 > zhèng; #90D1
+郓 > yùn; #90D3
+郔 > yán; #90D4
+郕 > chéng; #90D5
+郖 > dōu; #90D6
+郗 > chī; #90D7
+郘 > lǚ; #90D8
+郙 > fŭ; #90D9
+郚 > wú; #90DA
+郛 > fú; #90DB
+郜 > gào; #90DC
+郝 > hăo; #90DD
+郞 > láng; #90DE
+郟 > jiá; #90DF
+郠 > gĕng; #90E0
+郡 > jùn; #90E1
+郢 > yĭng; #90E2
+郣 > bó; #90E3
+郤 > xì; #90E4
+郥 > bèi; #90E5
+郦 > lì; #90E6
+郧 > yún; #90E7
+部 > bù; #90E8
+郩 > xiáo; #90E9
+郪 > qī; #90EA
+郫 > pí; #90EB
+郬 > qīng; #90EC
+郭 > gūo; #90ED
+郮 > zhou; #90EE
+郯 > tán; #90EF
+郰 > zōu; #90F0
+郱 > píng; #90F1
+郲 > lái; #90F2
+郳 > ní; #90F3
+郴 > chēn; #90F4
+郵 > yóu; #90F5
+郶 > bù; #90F6
+郷 > xiāng; #90F7
+郸 > dān; #90F8
+郹 > jú; #90F9
+郺 > yōng; #90FA
+郻 > qiāo; #90FB
+郼 > yī; #90FC
+都 > dū; #90FD
+郾 > yăn; #90FE
+郿 > méi; #90FF
+鄀 > rùo; #9100
+鄁 > bèi; #9101
+鄂 > è; #9102
+鄃 > yú; #9103
+鄄 > juàn; #9104
+鄅 > yŭ; #9105
+鄆 > yùn; #9106
+鄇 > hòu; #9107
+鄈 > kúi; #9108
+鄉 > xiāng; #9109
+鄊 > xiāng; #910A
+鄋 > sōu; #910B
+鄌 > táng; #910C
+鄍 > míng; #910D
+鄎 > xì; #910E
+鄏 > rù; #910F
+鄐 > chù; #9110
+鄑 > zī; #9111
+鄒 > zōu; #9112
+鄓 > jú; #9113
+鄔 > wū; #9114
+鄕 > xiāng; #9115
+鄖 > yún; #9116
+鄗 > hào; #9117
+鄘 > yōng; #9118
+鄙 > bĭ; #9119
+鄚 > mò; #911A
+鄛 > cháo; #911B
+鄜 > fū; #911C
+鄝 > liăo; #911D
+鄞 > yín; #911E
+鄟 > zhuān; #911F
+鄠 > hù; #9120
+鄡 > qiāo; #9121
+鄢 > yān; #9122
+鄣 > zhāng; #9123
+鄤 > fàn; #9124
+鄥 > qiāo; #9125
+鄦 > xŭ; #9126
+鄧 > dèng; #9127
+鄨 > bì; #9128
+鄩 > xín; #9129
+鄪 > bì; #912A
+鄫 > céng; #912B
+鄬 > wéi; #912C
+鄭 > zhèng; #912D
+鄮 > mào; #912E
+鄯 > shàn; #912F
+鄰 > lín; #9130
+鄱 > pó; #9131
+鄲 > dān; #9132
+鄳 > méng; #9133
+鄴 > yè; #9134
+鄵 > cāo; #9135
+鄶 > kuài; #9136
+鄷 > fēng; #9137
+鄸 > méng; #9138
+鄹 > zōu; #9139
+鄺 > kuàng; #913A
+鄻 > lián; #913B
+鄼 > zàn; #913C
+鄽 > chán; #913D
+鄾 > yōu; #913E
+鄿 > qí; #913F
+酀 > yān; #9140
+酁 > chán; #9141
+酂 > zàn; #9142
+酃 > líng; #9143
+酄 > huān; #9144
+酅 > xī; #9145
+酆 > fēng; #9146
+酇 > zàn; #9147
+酈 > lì; #9148
+酉 > yŏu; #9149
+酊 > dĭng; #914A
+酋 > qíu; #914B
+酌 > zhúo; #914C
+配 > pèi; #914D
+酎 > zhòu; #914E
+酏 > yí; #914F
+酐 > hăng; #9150
+酑 > yŭ; #9151
+酒 > jĭu; #9152
+酓 > yăn; #9153
+酔 > zùi; #9154
+酕 > máo; #9155
+酖 > dān; #9156
+酗 > xù; #9157
+酘 > tóu; #9158
+酙 > zhēn; #9159
+酚 > fēn; #915A
+酝 > yùn; #915D
+酞 > tài; #915E
+酟 > tiān; #915F
+酠 > qiă; #9160
+酡 > túo; #9161
+酢 > zùo; #9162
+酣 > hān; #9163
+酤 > gū; #9164
+酥 > sū; #9165
+酦 > pò; #9166
+酧 > chóu; #9167
+酨 > zài; #9168
+酩 > míng; #9169
+酪 > lùo; #916A
+酫 > chùo; #916B
+酬 > chóu; #916C
+酭 > yòu; #916D
+酮 > tóng; #916E
+酯 > zhĭ; #916F
+酰 > xiān; #9170
+酱 > jiàng; #9171
+酲 > chéng; #9172
+酳 > yìn; #9173
+酴 > tú; #9174
+酵 > xiào; #9175
+酶 > méi; #9176
+酷 > kù; #9177
+酸 > suān; #9178
+酹 > lèi; #9179
+酺 > pú; #917A
+酻 > zùi; #917B
+酼 > hăi; #917C
+酽 > yàn; #917D
+酾 > xĭ; #917E
+酿 > niàng; #917F
+醀 > wéi; #9180
+醁 > lù; #9181
+醂 > lăn; #9182
+醃 > yān; #9183
+醄 > táo; #9184
+醅 > pēi; #9185
+醆 > zhăn; #9186
+醇 > chún; #9187
+醈 > tán; #9188
+醉 > zùi; #9189
+醊 > chùo; #918A
+醋 > cù; #918B
+醌 > kūn; #918C
+醍 > tí; #918D
+醎 > mián; #918E
+醏 > dū; #918F
+醐 > hú; #9190
+醑 > xŭ; #9191
+醒 > xĭng; #9192
+醓 > tăn; #9193
+醔 > jīu; #9194
+醕 > chún; #9195
+醖 > yùn; #9196
+醗 > pò; #9197
+醘 > kè; #9198
+醙 > sōu; #9199
+醚 > mí; #919A
+醛 > quán; #919B
+醜 > chŏu; #919C
+醝 > cúo; #919D
+醞 > yùn; #919E
+醟 > yòng; #919F
+醠 > àng; #91A0
+醡 > zhà; #91A1
+醢 > hăi; #91A2
+醣 > táng; #91A3
+醤 > jiàng; #91A4
+醥 > piăo; #91A5
+醦 > shăn; #91A6
+醧 > yù; #91A7
+醨 > lí; #91A8
+醩 > záo; #91A9
+醪 > láo; #91AA
+醫 > yī; #91AB
+醬 > jiàng; #91AC
+醭 > pū; #91AD
+醮 > jiào; #91AE
+醯 > xī; #91AF
+醰 > tán; #91B0
+醱 > pò; #91B1
+醲 > nóng; #91B2
+醳 > yì; #91B3
+醴 > lĭ; #91B4
+醵 > jù; #91B5
+醶 > jiào; #91B6
+醷 > yì; #91B7
+醸 > niàng; #91B8
+醹 > rú; #91B9
+醺 > xūn; #91BA
+醻 > chóu; #91BB
+醼 > yàn; #91BC
+醽 > líng; #91BD
+醾 > mí; #91BE
+醿 > mí; #91BF
+釀 > niàng; #91C0
+釁 > xìn; #91C1
+釂 > jiào; #91C2
+釃 > xĭ; #91C3
+釄 > mí; #91C4
+釅 > yàn; #91C5
+釆 > biàn; #91C6
+采 > căi; #91C7
+釈 > shì; #91C8
+釉 > yòu; #91C9
+释 > shì; #91CA
+釋 > shì; #91CB
+里 > lĭ; #91CC
+重 > zhòng; #91CD
+野 > yĕ; #91CE
+量 > liàng; #91CF
+釐 > lí; #91D0
+金 > jīn; #91D1
+釒 > jīn' 'zì' 'páng; #91D2
+釓 > qíu; #91D3
+釔 > yĭ; #91D4
+釕 > diăo; #91D5
+釖 > dāo; #91D6
+釗 > zhāo; #91D7
+釘 > dīng; #91D8
+釙 > pò; #91D9
+釚 > qíu; #91DA
+釛 > hé; #91DB
+釜 > fŭ; #91DC
+針 > zhēn; #91DD
+釞 > zhí; #91DE
+釟 > bā; #91DF
+釠 > luàn; #91E0
+釡 > fŭ; #91E1
+釢 > nái; #91E2
+釣 > diào; #91E3
+釤 > shàn; #91E4
+釥 > qiăo; #91E5
+釦 > kòu; #91E6
+釧 > chuàn; #91E7
+釨 > zĭ; #91E8
+釩 > fán; #91E9
+釪 > yú; #91EA
+釫 > huá; #91EB
+釬 > hàn; #91EC
+釭 > gōng; #91ED
+釮 > qí; #91EE
+釯 > máng; #91EF
+釰 > rì; #91F0
+釱 > dì; #91F1
+釲 > sì; #91F2
+釳 > xì; #91F3
+釴 > yì; #91F4
+釵 > chāi; #91F5
+釶 > shī; #91F6
+釷 > tŭ; #91F7
+釸 > xì; #91F8
+釹 > nǚ; #91F9
+釺 > qiān; #91FA
+釼 > jiàn; #91FC
+釽 > pī; #91FD
+釾 > yé; #91FE
+釿 > yín; #91FF
+鈀 > bă; #9200
+鈁 > fāng; #9201
+鈂 > chén; #9202
+鈃 > xíng; #9203
+鈄 > tŏu; #9204
+鈅 > yuè; #9205
+鈆 > yán; #9206
+鈇 > fū; #9207
+鈈 > pī; #9208
+鈉 > nà; #9209
+鈊 > xīn; #920A
+鈋 > é; #920B
+鈌 > jué; #920C
+鈍 > dùn; #920D
+鈎 > gōu; #920E
+鈏 > yĭn; #920F
+鈐 > qián; #9210
+鈑 > băn; #9211
+鈒 > jí; #9212
+鈓 > rén; #9213
+鈔 > chāo; #9214
+鈕 > nĭu; #9215
+鈖 > fēn; #9216
+鈗 > yŭn; #9217
+鈘 > jĭ; #9218
+鈙 > qín; #9219
+鈚 > pí; #921A
+鈛 > gūo; #921B
+鈜 > hóng; #921C
+鈝 > yín; #921D
+鈞 > jūn; #921E
+鈟 > shī; #921F
+鈠 > yì; #9220
+鈡 > zhōng; #9221
+鈢 > niē; #9222
+鈣 > gài; #9223
+鈤 > rì; #9224
+鈥 > húo; #9225
+鈦 > tài; #9226
+鈧 > kàng; #9227
+鈬 > dúo; #922C
+鈭 > zī; #922D
+鈮 > nĭ; #922E
+鈯 > tú; #922F
+鈰 > shì; #9230
+鈱 > mín; #9231
+鈲 > gū; #9232
+鈳 > ē; #9233
+鈴 > líng; #9234
+鈵 > bìng; #9235
+鈶 > yí; #9236
+鈷 > gū; #9237
+鈸 > bá; #9238
+鈹 > pī; #9239
+鈺 > yù; #923A
+鈻 > sì; #923B
+鈼 > zúo; #923C
+鈽 > bù; #923D
+鈾 > yóu; #923E
+鈿 > diàn; #923F
+鉀 > jiă; #9240
+鉁 > zhēn; #9241
+鉂 > shĭ; #9242
+鉃 > shì; #9243
+鉄 > tiĕ; #9244
+鉅 > jù; #9245
+鉆 > zhān; #9246
+鉇 > shī; #9247
+鉈 > shé; #9248
+鉉 > xuàn; #9249
+鉊 > zhāo; #924A
+鉋 > bào; #924B
+鉌 > hé; #924C
+鉍 > bì; #924D
+鉎 > shēng; #924E
+鉏 > chú; #924F
+鉐 > shí; #9250
+鉑 > bó; #9251
+鉒 > zhù; #9252
+鉓 > chì; #9253
+鉔 > zā; #9254
+鉕 > pō; #9255
+鉖 > tóng; #9256
+鉗 > qián; #9257
+鉘 > fú; #9258
+鉙 > zhăi; #9259
+鉚 > lĭu; #925A
+鉛 > qiān; #925B
+鉜 > fú; #925C
+鉝 > lì; #925D
+鉞 > yuè; #925E
+鉟 > pī; #925F
+鉠 > yāng; #9260
+鉡 > bàn; #9261
+鉢 > bō; #9262
+鉣 > jié; #9263
+鉤 > gōu; #9264
+鉥 > shù; #9265
+鉦 > zhēng; #9266
+鉧 > mŭ; #9267
+鉨 > nĭ; #9268
+鉩 > niē; #9269
+鉪 > dì; #926A
+鉫 > jiā; #926B
+鉬 > mù; #926C
+鉭 > dàn; #926D
+鉮 > shēn; #926E
+鉯 > yĭ; #926F
+鉰 > sī; #9270
+鉱 > kuàng; #9271
+鉲 > kă; #9272
+鉳 > bĕi; #9273
+鉴 > jiàn; #9274
+鉵 > tóng; #9275
+鉶 > xíng; #9276
+鉷 > hóng; #9277
+鉸 > jiăo; #9278
+鉹 > chĭ; #9279
+鉺 > èr; #927A
+鉻 > gè; #927B
+鉼 > bĭng; #927C
+鉽 > shì; #927D
+鉾 > móu; #927E
+鉿 > jiá; #927F
+銀 > yín; #9280
+銁 > jūn; #9281
+銂 > zhōu; #9282
+銃 > chòng; #9283
+銄 > shàng; #9284
+銅 > tóng; #9285
+銆 > mò; #9286
+銇 > lèi; #9287
+銈 > jī; #9288
+銉 > yù; #9289
+銊 > xù; #928A
+銋 > rén; #928B
+銌 > zùn; #928C
+銍 > zhì; #928D
+銎 > qīong; #928E
+銏 > shàn; #928F
+銐 > chì; #9290
+銑 > xiăn; #9291
+銒 > xíng; #9292
+銓 > quán; #9293
+銔 > pī; #9294
+銕 > tiĕ; #9295
+銖 > zhū; #9296
+銗 > hóu; #9297
+銘 > míng; #9298
+銙 > kuă; #9299
+銚 > yáo; #929A
+銛 > xiān; #929B
+銜 > xián; #929C
+銝 > xīu; #929D
+銞 > jūn; #929E
+銟 > chā; #929F
+銠 > lăo; #92A0
+銡 > jí; #92A1
+銢 > pĭ; #92A2
+銣 > rŭ; #92A3
+銤 > mĭ; #92A4
+銥 > yĭ; #92A5
+銦 > yīn; #92A6
+銧 > guāng; #92A7
+銨 > ān; #92A8
+銩 > diōu; #92A9
+銪 > yŏu; #92AA
+銫 > sè; #92AB
+銬 > kào; #92AC
+銭 > qián; #92AD
+銮 > luán; #92AE
+銰 > āi; #92B0
+銱 > diào; #92B1
+銲 > hàn; #92B2
+銳 > rùi; #92B3
+銴 > shì; #92B4
+銵 > kēng; #92B5
+銶 > qíu; #92B6
+銷 > xiāo; #92B7
+銸 > zhé; #92B8
+銹 > xìu; #92B9
+銺 > zàng; #92BA
+銻 > tì; #92BB
+銼 > cùo; #92BC
+銽 > guā; #92BD
+銾 > gŏng; #92BE
+銿 > zhōng; #92BF
+鋀 > dòu; #92C0
+鋁 > lǚ; #92C1
+鋂 > méi; #92C2
+鋃 > láng; #92C3
+鋄 > wăn; #92C4
+鋅 > xīn; #92C5
+鋆 > yún; #92C6
+鋇 > bèi; #92C7
+鋈 > wù; #92C8
+鋉 > sù; #92C9
+鋊 > yù; #92CA
+鋋 > chán; #92CB
+鋌 > tĭng; #92CC
+鋍 > bó; #92CD
+鋎 > hàn; #92CE
+鋏 > jiá; #92CF
+鋐 > hóng; #92D0
+鋑 > cuān; #92D1
+鋒 > fēng; #92D2
+鋓 > chān; #92D3
+鋔 > wăn; #92D4
+鋕 > zhì; #92D5
+鋖 > sī; #92D6
+鋗 > xuān; #92D7
+鋘 > wú; #92D8
+鋙 > wú; #92D9
+鋚 > tiáo; #92DA
+鋛 > gŏng; #92DB
+鋜 > zhúo; #92DC
+鋝 > lǜe; #92DD
+鋞 > xíng; #92DE
+鋟 > qiān; #92DF
+鋠 > shèn; #92E0
+鋡 > hán; #92E1
+鋢 > lǜe; #92E2
+鋣 > xié; #92E3
+鋤 > chú; #92E4
+鋥 > zhèng; #92E5
+鋦 > jú; #92E6
+鋧 > xiàn; #92E7
+鋨 > tiĕ; #92E8
+鋩 > máng; #92E9
+鋪 > pū; #92EA
+鋫 > lí; #92EB
+鋬 > pàn; #92EC
+鋭 > rùi; #92ED
+鋮 > chéng; #92EE
+鋯 > gào; #92EF
+鋰 > lĭ; #92F0
+鋱 > tè; #92F1
+鋳 > zhù; #92F3
+鋵 > tū; #92F5
+鋶 > lĭu; #92F6
+鋷 > zùi; #92F7
+鋸 > jù; #92F8
+鋹 > chăng; #92F9
+鋺 > yuān; #92FA
+鋻 > jiàn; #92FB
+鋼 > gāng; #92FC
+鋽 > diào; #92FD
+鋾 > táo; #92FE
+鋿 > cháng; #92FF
+錀 > lún; #9300
+錁 > kuă; #9301
+錂 > líng; #9302
+錃 > bēi; #9303
+錄 > lù; #9304
+錅 > lí; #9305
+錆 > qiāng; #9306
+錇 > póu; #9307
+錈 > juàn; #9308
+錉 > mín; #9309
+錊 > zùi; #930A
+錋 > péng; #930B
+錌 > àn; #930C
+錍 > pí; #930D
+錎 > xiàn; #930E
+錏 > yà; #930F
+錐 > zhūi; #9310
+錑 > lèi; #9311
+錒 > ā; #9312
+錓 > kōng; #9313
+錔 > tà; #9314
+錕 > kūn; #9315
+錖 > dŭ; #9316
+錗 > wèi; #9317
+錘 > chúi; #9318
+錙 > zī; #9319
+錚 > zhēng; #931A
+錛 > bēn; #931B
+錜 > niē; #931C
+錝 > cóng; #931D
+錞 > qún; #931E
+錟 > tán; #931F
+錠 > dìng; #9320
+錡 > qí; #9321
+錢 > qián; #9322
+錣 > zhúo; #9323
+錤 > qí; #9324
+錥 > yù; #9325
+錦 > jĭn; #9326
+錧 > guăn; #9327
+錨 > máo; #9328
+錩 > chāng; #9329
+錪 > tiăn; #932A
+錫 > xí; #932B
+錬 > liàn; #932C
+錭 > táo; #932D
+錮 > gù; #932E
+錯 > cùo; #932F
+錰 > shù; #9330
+錱 > zhēn; #9331
+録 > lù; #9332
+錳 > mĕng; #9333
+錴 > lù; #9334
+錵 > huā; #9335
+錶 > biăo; #9336
+錷 > gá; #9337
+錸 > lái; #9338
+錹 > kĕn; #9339
+錼 > nài; #933C
+錽 > wăn; #933D
+錾 > zàn; #933E
+鍀 > dé; #9340
+鍁 > xiān; #9341
+鍃 > hūo; #9343
+鍄 > liàng; #9344
+鍆 > mén; #9346
+鍇 > kăi; #9347
+鍈 > yīng; #9348
+鍉 > dī; #9349
+鍊 > liàn; #934A
+鍋 > gūo; #934B
+鍌 > xiăn; #934C
+鍍 > dù; #934D
+鍎 > tú; #934E
+鍏 > wéi; #934F
+鍐 > cōng; #9350
+鍑 > fù; #9351
+鍒 > róu; #9352
+鍓 > jí; #9353
+鍔 > è; #9354
+鍕 > róu; #9355
+鍖 > chĕn; #9356
+鍗 > tí; #9357
+鍘 > zhá; #9358
+鍙 > hòng; #9359
+鍚 > yáng; #935A
+鍛 > duàn; #935B
+鍜 > xiā; #935C
+鍝 > yú; #935D
+鍞 > kēng; #935E
+鍟 > xīng; #935F
+鍠 > huáng; #9360
+鍡 > wĕi; #9361
+鍢 > fù; #9362
+鍣 > zhāo; #9363
+鍤 > chá; #9364
+鍥 > qiè; #9365
+鍦 > shé; #9366
+鍧 > hōng; #9367
+鍨 > kúi; #9368
+鍩 > tiăn; #9369
+鍪 > móu; #936A
+鍫 > qiāo; #936B
+鍬 > qiāo; #936C
+鍭 > hóu; #936D
+鍮 > tōu; #936E
+鍯 > cōng; #936F
+鍰 > huán; #9370
+鍱 > yè; #9371
+鍲 > mín; #9372
+鍳 > jiàn; #9373
+鍴 > duān; #9374
+鍵 > jiàn; #9375
+鍶 > sōng; #9376
+鍷 > kūi; #9377
+鍸 > hú; #9378
+鍹 > xuān; #9379
+鍺 > dŭo; #937A
+鍻 > jié; #937B
+鍼 > zhēn; #937C
+鍽 > biān; #937D
+鍾 > zhōng; #937E
+鍿 > zī; #937F
+鎀 > xīu; #9380
+鎁 > yé; #9381
+鎂 > mĕi; #9382
+鎃 > pài; #9383
+鎄 > āi; #9384
+鎅 > jiè; #9385
+鎇 > méi; #9387
+鎈 > chūo; #9388
+鎉 > tà; #9389
+鎊 > bàng; #938A
+鎋 > xiá; #938B
+鎌 > lián; #938C
+鎍 > sŭo; #938D
+鎎 > xì; #938E
+鎏 > líu; #938F
+鎐 > zú; #9390
+鎑 > yè; #9391
+鎒 > nòu; #9392
+鎓 > wēng; #9393
+鎔 > róng; #9394
+鎕 > táng; #9395
+鎖 > sŭo; #9396
+鎗 > qiāng; #9397
+鎘 > gé; #9398
+鎙 > shùo; #9399
+鎚 > chúi; #939A
+鎛 > bó; #939B
+鎜 > pán; #939C
+鎝 > sà; #939D
+鎞 > bì; #939E
+鎟 > săng; #939F
+鎠 > gāng; #93A0
+鎡 > zī; #93A1
+鎢 > wù; #93A2
+鎣 > yìng; #93A3
+鎤 > huăng; #93A4
+鎥 > tiáo; #93A5
+鎦 > líu; #93A6
+鎧 > kăi; #93A7
+鎨 > sŭn; #93A8
+鎩 > shā; #93A9
+鎪 > sōu; #93AA
+鎫 > wàn; #93AB
+鎬 > hào; #93AC
+鎭 > zhèn; #93AD
+鎮 > zhèn; #93AE
+鎯 > lŭo; #93AF
+鎰 > yì; #93B0
+鎱 > yuán; #93B1
+鎲 > tăng; #93B2
+鎳 > niè; #93B3
+鎴 > xí; #93B4
+鎵 > jiā; #93B5
+鎶 > gē; #93B6
+鎷 > mă; #93B7
+鎸 > juān; #93B8
+鎻 > sŭo; #93BB
+鎿 > ná; #93BF
+鏀 > lŭ; #93C0
+鏁 > sŭo; #93C1
+鏂 > ōu; #93C2
+鏃 > zú; #93C3
+鏄 > tuán; #93C4
+鏅 > xīu; #93C5
+鏆 > guàn; #93C6
+鏇 > xuàn; #93C7
+鏈 > liàn; #93C8
+鏉 > shòu; #93C9
+鏊 > áo; #93CA
+鏋 > măn; #93CB
+鏌 > mò; #93CC
+鏍 > lúo; #93CD
+鏎 > bì; #93CE
+鏏 > wèi; #93CF
+鏐 > líu; #93D0
+鏑 > dí; #93D1
+鏒 > qiāo; #93D2
+鏓 > cōng; #93D3
+鏔 > yí; #93D4
+鏕 > lù; #93D5
+鏖 > áo; #93D6
+鏗 > kēng; #93D7
+鏘 > qiāng; #93D8
+鏙 > cūi; #93D9
+鏚 > qì; #93DA
+鏛 > cháng; #93DB
+鏜 > tāng; #93DC
+鏝 > màn; #93DD
+鏞 > yōng; #93DE
+鏟 > chăn; #93DF
+鏠 > fēng; #93E0
+鏡 > jìng; #93E1
+鏢 > biāo; #93E2
+鏣 > shù; #93E3
+鏤 > lòu; #93E4
+鏥 > xìu; #93E5
+鏦 > cōng; #93E6
+鏧 > lóng; #93E7
+鏨 > zàn; #93E8
+鏩 > jiàn; #93E9
+鏪 > cáo; #93EA
+鏫 > lí; #93EB
+鏬 > xià; #93EC
+鏭 > xī; #93ED
+鏮 > kāng; #93EE
+鏰 > bèng; #93F0
+鏳 > zhēng; #93F3
+鏴 > lù; #93F4
+鏵 > huá; #93F5
+鏶 > jí; #93F6
+鏷 > pú; #93F7
+鏸 > hùi; #93F8
+鏹 > qiāng; #93F9
+鏺 > pō; #93FA
+鏻 > lín; #93FB
+鏼 > sŭo; #93FC
+鏽 > xìu; #93FD
+鏾 > săn; #93FE
+鏿 > chēng; #93FF
+鐀 > kùi; #9400
+鐁 > sī; #9401
+鐂 > lìu; #9402
+鐃 > náo; #9403
+鐄 > héng; #9404
+鐅 > piĕ; #9405
+鐆 > sùi; #9406
+鐇 > fán; #9407
+鐈 > qiáo; #9408
+鐉 > quān; #9409
+鐊 > yáng; #940A
+鐋 > tàng; #940B
+鐌 > xiàng; #940C
+鐍 > jué; #940D
+鐎 > jiāo; #940E
+鐏 > zūn; #940F
+鐐 > liáo; #9410
+鐑 > jié; #9411
+鐒 > láo; #9412
+鐓 > dùi; #9413
+鐔 > tán; #9414
+鐕 > zān; #9415
+鐖 > jī; #9416
+鐗 > jiăn; #9417
+鐘 > zhōng; #9418
+鐙 > dēng; #9419
+鐚 > yà; #941A
+鐛 > yìng; #941B
+鐜 > dùi; #941C
+鐝 > jué; #941D
+鐞 > nòu; #941E
+鐟 > tì; #941F
+鐠 > pŭ; #9420
+鐡 > tiĕ; #9421
+鐤 > dĭng; #9424
+鐥 > shàn; #9425
+鐦 > kāi; #9426
+鐧 > jiăn; #9427
+鐨 > fèi; #9428
+鐩 > sùi; #9429
+鐪 > lŭ; #942A
+鐫 > juān; #942B
+鐬 > hùi; #942C
+鐭 > yù; #942D
+鐮 > lián; #942E
+鐯 > zhúo; #942F
+鐰 > qiāo; #9430
+鐱 > qiān; #9431
+鐲 > zhúo; #9432
+鐳 > léi; #9433
+鐴 > bì; #9434
+鐵 > tiĕ; #9435
+鐶 > huán; #9436
+鐷 > yè; #9437
+鐸 > dúo; #9438
+鐹 > gŭo; #9439
+鐺 > dāng; #943A
+鐻 > jù; #943B
+鐼 > fén; #943C
+鐽 > dá; #943D
+鐾 > bèi; #943E
+鐿 > yì; #943F
+鑀 > ài; #9440
+鑁 > zōng; #9441
+鑂 > xùn; #9442
+鑃 > diào; #9443
+鑄 > zhù; #9444
+鑅 > héng; #9445
+鑆 > zhùi; #9446
+鑇 > jī; #9447
+鑈 > niē; #9448
+鑉 > tà; #9449
+鑊 > hùo; #944A
+鑋 > qìng; #944B
+鑌 > bīn; #944C
+鑍 > yīng; #944D
+鑎 > kùi; #944E
+鑏 > níng; #944F
+鑐 > xū; #9450
+鑑 > jiàn; #9451
+鑒 > jiàn; #9452
+鑔 > chă; #9454
+鑕 > zhì; #9455
+鑖 > miè; #9456
+鑗 > lí; #9457
+鑘 > léi; #9458
+鑙 > jī; #9459
+鑚 > zuàn; #945A
+鑛 > kuàng; #945B
+鑜 > shàng; #945C
+鑝 > péng; #945D
+鑞 > là; #945E
+鑟 > dú; #945F
+鑠 > shùo; #9460
+鑡 > chùo; #9461
+鑢 > lǜ; #9462
+鑣 > biāo; #9463
+鑤 > bào; #9464
+鑥 > lŭ; #9465
+鑨 > lóng; #9468
+鑩 > è; #9469
+鑪 > lú; #946A
+鑫 > xīn; #946B
+鑬 > jiàn; #946C
+鑭 > làn; #946D
+鑮 > bó; #946E
+鑯 > jiān; #946F
+鑰 > yào; #9470
+鑱 > chán; #9471
+鑲 > xiāng; #9472
+鑳 > jiàn; #9473
+鑴 > xī; #9474
+鑵 > guàn; #9475
+鑶 > cáng; #9476
+鑷 > niè; #9477
+鑸 > lĕi; #9478
+鑹 > cuàn; #9479
+鑺 > qú; #947A
+鑻 > pàn; #947B
+鑼 > lúo; #947C
+鑽 > zuàn; #947D
+鑾 > luán; #947E
+鑿 > záo; #947F
+钀 > niè; #9480
+钁 > jué; #9481
+钂 > tăng; #9482
+钃 > shŭ; #9483
+钄 > lán; #9484
+钅 > jīn; #9485
+钆 > qíu; #9486
+钇 > yĭ; #9487
+针 > zhēn; #9488
+钉 > dīng; #9489
+钊 > zhāo; #948A
+钋 > pò; #948B
+钌 > diăo; #948C
+钍 > tŭ; #948D
+钎 > qiān; #948E
+钏 > chuàn; #948F
+钐 > shàn; #9490
+钑 > jí; #9491
+钒 > fán; #9492
+钓 > diào; #9493
+钔 > mén; #9494
+钕 > nǚ; #9495
+钖 > xí; #9496
+钗 > chāi; #9497
+钘 > xíng; #9498
+钙 > gài; #9499
+钚 > bù; #949A
+钛 > tài; #949B
+钜 > jù; #949C
+钝 > dùn; #949D
+钞 > chāo; #949E
+钟 > zhōng; #949F
+钠 > nà; #94A0
+钡 > bèi; #94A1
+钢 > gāng; #94A2
+钣 > băn; #94A3
+钤 > qián; #94A4
+钥 > yào; #94A5
+钦 > qīn; #94A6
+钧 > jūn; #94A7
+钨 > wù; #94A8
+钩 > gōu; #94A9
+钪 > kàng; #94AA
+钫 > fāng; #94AB
+钬 > húo; #94AC
+钭 > tŏu; #94AD
+钮 > nĭu; #94AE
+钯 > bă; #94AF
+钰 > yù; #94B0
+钱 > qián; #94B1
+钲 > zhēng; #94B2
+钳 > qián; #94B3
+钴 > gū; #94B4
+钵 > bō; #94B5
+钶 > ē; #94B6
+钷 > pō; #94B7
+钸 > bù; #94B8
+钹 > bá; #94B9
+钺 > yuè; #94BA
+钻 > zuàn; #94BB
+钼 > mù; #94BC
+钽 > dàn; #94BD
+钾 > jiă; #94BE
+钿 > diàn; #94BF
+铀 > yóu; #94C0
+铁 > tiĕ; #94C1
+铂 > bó; #94C2
+铃 > líng; #94C3
+铄 > shùo; #94C4
+铅 > qiān; #94C5
+铆 > lĭu; #94C6
+铇 > bào; #94C7
+铈 > shì; #94C8
+铉 > xuàn; #94C9
+铊 > shé; #94CA
+铋 > bì; #94CB
+铌 > nĭ; #94CC
+铍 > pī; #94CD
+铎 > dúo; #94CE
+铏 > xíng; #94CF
+铐 > kào; #94D0
+铑 > lăo; #94D1
+铒 > èr; #94D2
+铓 > máng; #94D3
+铔 > yà; #94D4
+铕 > yŏu; #94D5
+铖 > chéng; #94D6
+铗 > jiá; #94D7
+铘 > yé; #94D8
+铙 > náo; #94D9
+铚 > zhì; #94DA
+铛 > dāng; #94DB
+铜 > tóng; #94DC
+铝 > lǚ; #94DD
+铞 > diào; #94DE
+铟 > yīn; #94DF
+铠 > kăi; #94E0
+铡 > zhá; #94E1
+铢 > zhū; #94E2
+铣 > xiăn; #94E3
+铤 > tĭng; #94E4
+铥 > dīu; #94E5
+铦 > xiān; #94E6
+铧 > huá; #94E7
+铨 > quán; #94E8
+铩 > shā; #94E9
+铪 > jiá; #94EA
+铫 > yáo; #94EB
+铬 > gè; #94EC
+铭 > míng; #94ED
+铮 > zhēng; #94EE
+铯 > sè; #94EF
+铰 > jiăo; #94F0
+铱 > yĭ; #94F1
+铲 > chăn; #94F2
+铳 > chòng; #94F3
+铴 > tàng; #94F4
+铵 > ān; #94F5
+银 > yín; #94F6
+铷 > rŭ; #94F7
+铸 > zhù; #94F8
+铹 > láo; #94F9
+铺 > pū; #94FA
+铻 > wú; #94FB
+铼 > lái; #94FC
+铽 > tè; #94FD
+链 > liàn; #94FE
+铿 > kēng; #94FF
+销 > xiāo; #9500
+锁 > sŭo; #9501
+锂 > lĭ; #9502
+锃 > zhèng; #9503
+锄 > chú; #9504
+锅 > gūo; #9505
+锆 > gào; #9506
+锇 > tiĕ; #9507
+锈 > xìu; #9508
+锉 > cùo; #9509
+锊 > lǜe; #950A
+锋 > fēng; #950B
+锌 > xīn; #950C
+锍 > lĭu; #950D
+锎 > kāi; #950E
+锏 > jiăn; #950F
+锐 > rùi; #9510
+锑 > tì; #9511
+锒 > láng; #9512
+锓 > qiān; #9513
+锔 > jú; #9514
+锕 > ā; #9515
+锖 > qiāng; #9516
+锗 > dŭo; #9517
+锘 > tiăn; #9518
+错 > cùo; #9519
+锚 > máo; #951A
+锛 > bēn; #951B
+锜 > qí; #951C
+锝 > dé; #951D
+锞 > kuă; #951E
+锟 > kūn; #951F
+锠 > chāng; #9520
+锡 > xí; #9521
+锢 > gù; #9522
+锣 > lúo; #9523
+锤 > chúi; #9524
+锥 > zhūi; #9525
+锦 > jĭn; #9526
+锧 > zhì; #9527
+锨 > xiān; #9528
+锩 > juàn; #9529
+锪 > hūo; #952A
+锫 > póu; #952B
+锬 > tán; #952C
+锭 > dìng; #952D
+键 > jiàn; #952E
+锯 > jù; #952F
+锰 > mĕng; #9530
+锱 > zī; #9531
+锲 > qiè; #9532
+锳 > yīng; #9533
+锴 > kăi; #9534
+锵 > qiāng; #9535
+锶 > sōng; #9536
+锷 > è; #9537
+锸 > chá; #9538
+锹 > qiāo; #9539
+锺 > zhōng; #953A
+锻 > duàn; #953B
+锼 > sōu; #953C
+锽 > huáng; #953D
+锾 > huán; #953E
+锿 > āi; #953F
+镀 > dù; #9540
+镁 > mĕi; #9541
+镂 > lòu; #9542
+镃 > zī; #9543
+镄 > fèi; #9544
+镅 > méi; #9545
+镆 > mò; #9546
+镇 > zhèn; #9547
+镈 > bó; #9548
+镉 > gé; #9549
+镊 > niè; #954A
+镋 > tăng; #954B
+镌 > juān; #954C
+镍 > niè; #954D
+镎 > ná; #954E
+镏 > líu; #954F
+镐 > hào; #9550
+镑 > bàng; #9551
+镒 > yì; #9552
+镓 > jiā; #9553
+镔 > bīn; #9554
+镕 > róng; #9555
+镖 > biāo; #9556
+镗 > tāng; #9557
+镘 > màn; #9558
+镙 > lúo; #9559
+镚 > bèng; #955A
+镛 > yōng; #955B
+镜 > jìng; #955C
+镝 > dí; #955D
+镞 > zú; #955E
+镟 > xuàn; #955F
+镠 > líu; #9560
+镡 > tán; #9561
+镢 > jué; #9562
+镣 > liáo; #9563
+镤 > pú; #9564
+镥 > lŭ; #9565
+镦 > dùi; #9566
+镧 > làn; #9567
+镨 > pŭ; #9568
+镩 > cuàn; #9569
+镪 > qiāng; #956A
+镫 > dēng; #956B
+镬 > hùo; #956C
+镭 > léi; #956D
+镮 > huán; #956E
+镯 > zhúo; #956F
+镰 > lián; #9570
+镱 > yì; #9571
+镲 > chă; #9572
+镳 > biāo; #9573
+镴 > là; #9574
+镵 > chán; #9575
+镶 > xiāng; #9576
+長 > cháng; #9577
+镸 > cháng; #9578
+镹 > jĭu; #9579
+镺 > ăo; #957A
+镻 > dié; #957B
+镼 > qū; #957C
+镽 > liăo; #957D
+镾 > mí; #957E
+长 > cháng; #957F
+門 > mén; #9580
+閁 > mà; #9581
+閂 > shuān; #9582
+閃 > shăn; #9583
+閄 > hùo; #9584
+閅 > mén; #9585
+閆 > yàn; #9586
+閇 > bì; #9587
+閈 > hàn; #9588
+閉 > bì; #9589
+開 > kāi; #958B
+閌 > kàng; #958C
+閍 > bēng; #958D
+閎 > hóng; #958E
+閏 > rùn; #958F
+閐 > sàn; #9590
+閑 > xián; #9591
+閒 > xián; #9592
+間 > jiān; #9593
+閔 > mĭn; #9594
+閕 > xiā; #9595
+閗 > dòu; #9597
+閘 > zhá; #9598
+閙 > nào; #9599
+閚 > jian; #959A
+閛 > pēng; #959B
+閜 > xiă; #959C
+閝 > líng; #959D
+閞 > biàn; #959E
+閟 > bì; #959F
+閠 > rùn; #95A0
+閡 > hé; #95A1
+関 > guān; #95A2
+閣 > gé; #95A3
+閤 > gé; #95A4
+閥 > fá; #95A5
+閦 > chù; #95A6
+閧 > hòng; #95A7
+閨 > gūi; #95A8
+閩 > mĭn; #95A9
+閫 > kŭn; #95AB
+閬 > lăng; #95AC
+閭 > lǘ; #95AD
+閮 > tíng; #95AE
+閯 > shà; #95AF
+閰 > jú; #95B0
+閱 > yuè; #95B1
+閲 > yuè; #95B2
+閳 > chăn; #95B3
+閴 > qù; #95B4
+閵 > lìn; #95B5
+閶 > chāng; #95B6
+閷 > shài; #95B7
+閸 > kŭn; #95B8
+閹 > yān; #95B9
+閺 > mín; #95BA
+閻 > yán; #95BB
+閼 > è; #95BC
+閽 > hūn; #95BD
+閾 > yù; #95BE
+閿 > wén; #95BF
+闀 > xiàng; #95C0
+闁 > bao; #95C1
+闂 > xiàng; #95C2
+闃 > qù; #95C3
+闄 > yăo; #95C4
+闅 > wén; #95C5
+闆 > băn; #95C6
+闇 > àn; #95C7
+闈 > wéi; #95C8
+闉 > yīn; #95C9
+闊 > kùo; #95CA
+闋 > què; #95CB
+闌 > lán; #95CC
+闍 > dū; #95CD
+闐 > tián; #95D0
+闑 > niè; #95D1
+闒 > tà; #95D2
+闓 > kăi; #95D3
+闔 > hé; #95D4
+闕 > què; #95D5
+闖 > chuăng; #95D6
+闗 > guān; #95D7
+闘 > dòu; #95D8
+闙 > qĭ; #95D9
+闚 > kūi; #95DA
+闛 > táng; #95DB
+關 > guān; #95DC
+闝 > piáo; #95DD
+闞 > kàn; #95DE
+闟 > xì; #95DF
+闠 > hùi; #95E0
+闡 > chăn; #95E1
+闢 > pì; #95E2
+闣 > dàng; #95E3
+闤 > huán; #95E4
+闥 > tà; #95E5
+闦 > wén; #95E6
+门 > mén; #95E8
+闩 > shuān; #95E9
+闪 > shăn; #95EA
+闫 > yàn; #95EB
+闬 > hàn; #95EC
+闭 > bì; #95ED
+问 > wèn; #95EE
+闯 > chuăng; #95EF
+闰 > rùn; #95F0
+闱 > wéi; #95F1
+闲 > xián; #95F2
+闳 > hóng; #95F3
+间 > jiān; #95F4
+闵 > mĭn; #95F5
+闶 > kàng; #95F6
+闷 > mèn; #95F7
+闸 > zhá; #95F8
+闹 > nào; #95F9
+闺 > gūi; #95FA
+闻 > wén; #95FB
+闼 > tà; #95FC
+闽 > mĭn; #95FD
+闾 > lǘ; #95FE
+闿 > kăi; #95FF
+阀 > fá; #9600
+阁 > gé; #9601
+阂 > hé; #9602
+阃 > kŭn; #9603
+阄 > jīu; #9604
+阅 > yuè; #9605
+阆 > lăng; #9606
+阇 > dū; #9607
+阈 > yù; #9608
+阉 > yān; #9609
+阊 > chāng; #960A
+阋 > xì; #960B
+阌 > wén; #960C
+阍 > hūn; #960D
+阎 > yán; #960E
+阏 > è; #960F
+阐 > chăn; #9610
+阑 > lán; #9611
+阒 > qù; #9612
+阓 > hùi; #9613
+阔 > kùo; #9614
+阕 > què; #9615
+阖 > gé; #9616
+阗 > tián; #9617
+阘 > tà; #9618
+阙 > què; #9619
+阚 > kàn; #961A
+阛 > huán; #961B
+阜 > fù; #961C
+阝 > fù; #961D
+阞 > lè; #961E
+队 > dùi; #961F
+阠 > xìn; #9620
+阡 > qiān; #9621
+阢 > wù; #9622
+阣 > yì; #9623
+阤 > túo; #9624
+阥 > yīn; #9625
+阦 > yáng; #9626
+阧 > dŏu; #9627
+阨 > è; #9628
+阩 > shēng; #9629
+阪 > băn; #962A
+阫 > péi; #962B
+阬 > kēng; #962C
+阭 > yŭn; #962D
+阮 > ruăn; #962E
+阯 > zhĭ; #962F
+阰 > pí; #9630
+阱 > jĭng; #9631
+防 > fáng; #9632
+阳 > yáng; #9633
+阴 > yīn; #9634
+阵 > zhèn; #9635
+阶 > jiē; #9636
+阷 > chēng; #9637
+阸 > è; #9638
+阹 > qū; #9639
+阺 > dĭ; #963A
+阻 > zŭ; #963B
+阼 > zùo; #963C
+阽 > diàn; #963D
+阾 > lĭng; #963E
+阿 > ā; #963F
+陀 > túo; #9640
+陁 > túo; #9641
+陂 > pō; #9642
+陃 > bĭng; #9643
+附 > fù; #9644
+际 > jì; #9645
+陆 > lù; #9646
+陇 > lŏng; #9647
+陈 > chén; #9648
+陉 > xíng; #9649
+陊 > dùo; #964A
+陋 > lòu; #964B
+陌 > mò; #964C
+降 > jiàng; #964D
+陎 > shū; #964E
+陏 > dùo; #964F
+限 > xiàn; #9650
+陑 > ér; #9651
+陒 > gŭi; #9652
+陓 > yū; #9653
+陔 > gāi; #9654
+陕 > shăn; #9655
+陖 > xùn; #9656
+陗 > qiào; #9657
+陘 > xíng; #9658
+陙 > chún; #9659
+陚 > fù; #965A
+陛 > bì; #965B
+陜 > xiá; #965C
+陝 > shăn; #965D
+陞 > shēng; #965E
+陟 > zhì; #965F
+陠 > pū; #9660
+陡 > dŏu; #9661
+院 > yuàn; #9662
+陣 > zhèn; #9663
+除 > chú; #9664
+陥 > xiàn; #9665
+陧 > niè; #9667
+陨 > yŭn; #9668
+险 > xiăn; #9669
+陪 > péi; #966A
+陫 > péi; #966B
+陬 > zōu; #966C
+陭 > yī; #966D
+陮 > dŭi; #966E
+陯 > lún; #966F
+陰 > yīn; #9670
+陱 > jū; #9671
+陲 > chúi; #9672
+陳 > chén; #9673
+陴 > pí; #9674
+陵 > líng; #9675
+陶 > táo; #9676
+陷 > xiàn; #9677
+陸 > lù; #9678
+陹 > sheng; #9679
+険 > xiăn; #967A
+陻 > yīn; #967B
+陼 > zhŭ; #967C
+陽 > yáng; #967D
+陾 > réng; #967E
+陿 > shăn; #967F
+隀 > chóng; #9680
+隁 > yàn; #9681
+隂 > yīn; #9682
+隃 > yú; #9683
+隄 > tí; #9684
+隅 > yú; #9685
+隆 > lóng; #9686
+隇 > wēi; #9687
+隈 > wēi; #9688
+隉 > niè; #9689
+隊 > dùi; #968A
+隋 > súi; #968B
+隌 > ăn; #968C
+隍 > huáng; #968D
+階 > jiē; #968E
+随 > súi; #968F
+隐 > yĭn; #9690
+隑 > gāi; #9691
+隒 > yăn; #9692
+隓 > hūi; #9693
+隔 > gé; #9694
+隕 > yŭn; #9695
+隖 > wù; #9696
+隗 > wĕi; #9697
+隘 > ài; #9698
+隙 > xì; #9699
+隚 > táng; #969A
+際 > jì; #969B
+障 > zhàng; #969C
+隝 > dăo; #969D
+隞 > áo; #969E
+隟 > xì; #969F
+隠 > yĭn; #96A0
+隢 > rào; #96A2
+隣 > lín; #96A3
+隤 > túi; #96A4
+隥 > dèng; #96A5
+隦 > pĭ; #96A6
+隧 > sùi; #96A7
+隨 > súi; #96A8
+隩 > yù; #96A9
+險 > xiăn; #96AA
+隫 > fēn; #96AB
+隬 > nĭ; #96AC
+隭 > ér; #96AD
+隮 > jī; #96AE
+隯 > dăo; #96AF
+隰 > xí; #96B0
+隱 > yĭn; #96B1
+隲 > é; #96B2
+隳 > hūi; #96B3
+隴 > lŏng; #96B4
+隵 > xī; #96B5
+隶 > lì; #96B6
+隷 > lì; #96B7
+隸 > lì; #96B8
+隹 > zhūi; #96B9
+隺 > hè; #96BA
+隻 > zhī; #96BB
+隼 > zhŭn; #96BC
+隽 > jùn; #96BD
+难 > nán; #96BE
+隿 > yì; #96BF
+雀 > què; #96C0
+雁 > yàn; #96C1
+雂 > qián; #96C2
+雃 > yă; #96C3
+雄 > xíong; #96C4
+雅 > yă; #96C5
+集 > jí; #96C6
+雇 > gù; #96C7
+雈 > huán; #96C8
+雉 > zhì; #96C9
+雊 > gòu; #96CA
+雋 > jùn; #96CB
+雌 > cí; #96CC
+雍 > yōng; #96CD
+雎 > jū; #96CE
+雏 > chú; #96CF
+雐 > hū; #96D0
+雑 > zá; #96D1
+雒 > lùo; #96D2
+雓 > yú; #96D3
+雔 > chóu; #96D4
+雕 > diāo; #96D5
+雖 > sūi; #96D6
+雗 > hàn; #96D7
+雘 > hùo; #96D8
+雙 > shuāng; #96D9
+雚 > guàn; #96DA
+雛 > chú; #96DB
+雜 > zá; #96DC
+雝 > yōng; #96DD
+雞 > jī; #96DE
+雟 > xī; #96DF
+雠 > chóu; #96E0
+雡 > lìu; #96E1
+離 > lí; #96E2
+難 > nán; #96E3
+雤 > xué; #96E4
+雥 > zá; #96E5
+雦 > jí; #96E6
+雧 > jí; #96E7
+雨 > yŭ; #96E8
+雩 > yú; #96E9
+雪 > xuĕ; #96EA
+雫 > nă; #96EB
+雬 > fŏu; #96EC
+雭 > sè; #96ED
+雮 > mù; #96EE
+雯 > wén; #96EF
+雰 > fēn; #96F0
+雱 > páng; #96F1
+雲 > yún; #96F2
+雳 > lì; #96F3
+雴 > lì; #96F4
+雵 > ăng; #96F5
+零 > líng; #96F6
+雷 > léi; #96F7
+雸 > án; #96F8
+雹 > báo; #96F9
+雺 > méng; #96FA
+電 > diàn; #96FB
+雼 > dàng; #96FC
+雽 > xíng; #96FD
+雾 > wù; #96FE
+雿 > zhào; #96FF
+需 > xū; #9700
+霁 > jì; #9701
+霂 > mù; #9702
+霃 > chén; #9703
+霄 > xiāo; #9704
+霅 > zhá; #9705
+霆 > tíng; #9706
+震 > zhèn; #9707
+霈 > pèi; #9708
+霉 > méi; #9709
+霊 > líng; #970A
+霋 > qī; #970B
+霌 > chōu; #970C
+霍 > hùo; #970D
+霎 > shà; #970E
+霏 > fēi; #970F
+霐 > wēng; #9710
+霑 > zhān; #9711
+霒 > yīn; #9712
+霓 > ní; #9713
+霔 > chòu; #9714
+霕 > tún; #9715
+霖 > lín; #9716
+霘 > dòng; #9718
+霙 > yīng; #9719
+霚 > wù; #971A
+霛 > líng; #971B
+霜 > shuāng; #971C
+霝 > líng; #971D
+霞 > xiá; #971E
+霟 > hóng; #971F
+霠 > yīn; #9720
+霡 > mò; #9721
+霢 > mài; #9722
+霣 > yŭn; #9723
+霤 > lìu; #9724
+霥 > mèng; #9725
+霦 > bīn; #9726
+霧 > wù; #9727
+霨 > wèi; #9728
+霩 > hùo; #9729
+霪 > yín; #972A
+霫 > xí; #972B
+霬 > yì; #972C
+霭 > ăi; #972D
+霮 > dàn; #972E
+霯 > dèng; #972F
+霰 > xiàn; #9730
+霱 > yù; #9731
+露 > lù; #9732
+霳 > lóng; #9733
+霴 > dài; #9734
+霵 > jí; #9735
+霶 > páng; #9736
+霷 > yáng; #9737
+霸 > bà; #9738
+霹 > pī; #9739
+霺 > wéi; #973A
+霼 > xĭ; #973C
+霽 > jì; #973D
+霾 > mái; #973E
+霿 > mèng; #973F
+靀 > méng; #9740
+靁 > léi; #9741
+靂 > lì; #9742
+靃 > hùo; #9743
+靄 > ăi; #9744
+靅 > fèi; #9745
+靆 > dài; #9746
+靇 > lóng; #9747
+靈 > líng; #9748
+靉 > ài; #9749
+靊 > fēng; #974A
+靋 > lì; #974B
+靌 > băo; #974C
+靎 > hè; #974E
+靏 > hè; #974F
+靐 > bìng; #9750
+靑 > qīng; #9751
+青 > qīng; #9752
+靓 > jìng; #9753
+靔 > tiān; #9754
+靕 > zhēn; #9755
+靖 > jìng; #9756
+靗 > chèng; #9757
+靘 > qìng; #9758
+静 > jìng; #9759
+靚 > jìng; #975A
+靛 > diàn; #975B
+靜 > jìng; #975C
+靝 > tiān; #975D
+非 > fēi; #975E
+靟 > fēi; #975F
+靠 > kào; #9760
+靡 > mĭ; #9761
+面 > miàn; #9762
+靣 > miàn; #9763
+靤 > pào; #9764
+靥 > yè; #9765
+靦 > tiăn; #9766
+靧 > hùi; #9767
+靨 > yè; #9768
+革 > gé; #9769
+靪 > dīng; #976A
+靫 > chā; #976B
+靬 > jiān; #976C
+靭 > rèn; #976D
+靮 > dí; #976E
+靯 > dù; #976F
+靰 > wù; #9770
+靱 > rèn; #9771
+靲 > qín; #9772
+靳 > jìn; #9773
+靴 > xuē; #9774
+靵 > nĭu; #9775
+靶 > bă; #9776
+靷 > yĭn; #9777
+靸 > să; #9778
+靹 > nà; #9779
+靺 > mò; #977A
+靻 > zŭ; #977B
+靼 > dá; #977C
+靽 > bàn; #977D
+靾 > yì; #977E
+靿 > yào; #977F
+鞀 > táo; #9780
+鞁 > túo; #9781
+鞂 > jiá; #9782
+鞃 > hóng; #9783
+鞄 > páo; #9784
+鞅 > yăng; #9785
+鞇 > yīn; #9787
+鞈 > jiá; #9788
+鞉 > táo; #9789
+鞊 > jí; #978A
+鞋 > xié; #978B
+鞌 > ān; #978C
+鞍 > ān; #978D
+鞎 > hén; #978E
+鞏 > gŏng; #978F
+鞑 > dá; #9791
+鞒 > qiāo; #9792
+鞓 > tīng; #9793
+鞔 > wăn; #9794
+鞕 > yìng; #9795
+鞖 > sūi; #9796
+鞗 > tiáo; #9797
+鞘 > qiào; #9798
+鞙 > xuàn; #9799
+鞚 > kòng; #979A
+鞛 > bĕng; #979B
+鞜 > tà; #979C
+鞝 > zhăng; #979D
+鞞 > bĭng; #979E
+鞟 > kùo; #979F
+鞠 > jú; #97A0
+鞡 > la; #97A1
+鞢 > xiè; #97A2
+鞣 > róu; #97A3
+鞤 > bāng; #97A4
+鞥 > yì; #97A5
+鞦 > qīu; #97A6
+鞧 > qīu; #97A7
+鞨 > hé; #97A8
+鞩 > xiào; #97A9
+鞪 > mù; #97AA
+鞫 > jú; #97AB
+鞬 > jiān; #97AC
+鞭 > biān; #97AD
+鞮 > dī; #97AE
+鞯 > jiān; #97AF
+鞱 > tāo; #97B1
+鞲 > gōu; #97B2
+鞳 > tà; #97B3
+鞴 > bèi; #97B4
+鞵 > xié; #97B5
+鞶 > pán; #97B6
+鞷 > gé; #97B7
+鞸 > bì; #97B8
+鞹 > kùo; #97B9
+鞺 > tang; #97BA
+鞻 > lóu; #97BB
+鞼 > gùi; #97BC
+鞽 > qiáo; #97BD
+鞾 > xuē; #97BE
+鞿 > jī; #97BF
+韀 > jiān; #97C0
+韁 > jiāng; #97C1
+韂 > chàn; #97C2
+韃 > dá; #97C3
+韄 > hùo; #97C4
+韅 > xiăn; #97C5
+韆 > qiān; #97C6
+韇 > dú; #97C7
+韈 > wà; #97C8
+韉 > jiān; #97C9
+韊 > lán; #97CA
+韋 > wéi; #97CB
+韌 > rèn; #97CC
+韍 > fú; #97CD
+韎 > mèi; #97CE
+韏 > juàn; #97CF
+韐 > gé; #97D0
+韑 > wĕi; #97D1
+韒 > qiào; #97D2
+韓 > hán; #97D3
+韔 > chàng; #97D4
+韖 > róu; #97D6
+韗 > xùn; #97D7
+韘 > shè; #97D8
+韙 > wĕi; #97D9
+韚 > gé; #97DA
+韛 > bèi; #97DB
+韜 > tāo; #97DC
+韝 > gōu; #97DD
+韞 > yùn; #97DE
+韠 > bì; #97E0
+韡 > wĕi; #97E1
+韢 > hùi; #97E2
+韣 > dú; #97E3
+韤 > wà; #97E4
+韥 > dú; #97E5
+韦 > wéi; #97E6
+韧 > rèn; #97E7
+韨 > fú; #97E8
+韩 > hán; #97E9
+韪 > wĕi; #97EA
+韫 > yùn; #97EB
+韬 > tāo; #97EC
+韭 > jĭu; #97ED
+韮 > jĭu; #97EE
+韯 > xiān; #97EF
+韰 > xiè; #97F0
+韱 > xiān; #97F1
+韲 > jī; #97F2
+音 > yīn; #97F3
+韴 > zá; #97F4
+韵 > yùn; #97F5
+韶 > sháo; #97F6
+韷 > lè; #97F7
+韸 > péng; #97F8
+韹 > héng; #97F9
+韺 > yīng; #97FA
+韻 > yùn; #97FB
+韼 > péng; #97FC
+韽 > yīn; #97FD
+韾 > yīn; #97FE
+響 > xiăng; #97FF
+頀 > hù; #9800
+頁 > yè; #9801
+頂 > dĭng; #9802
+頃 > qĭng; #9803
+頄 > pàn; #9804
+項 > xiàng; #9805
+順 > shùn; #9806
+頇 > hān; #9807
+須 > xū; #9808
+頉 > yí; #9809
+頊 > xù; #980A
+頋 > gù; #980B
+頌 > sòng; #980C
+頍 > kŭi; #980D
+頎 > qí; #980E
+頏 > háng; #980F
+預 > yù; #9810
+頑 > wán; #9811
+頒 > bān; #9812
+頓 > dùn; #9813
+頔 > dí; #9814
+頕 > dān; #9815
+頖 > pàn; #9816
+頗 > pŏ; #9817
+領 > lĭng; #9818
+頙 > cè; #9819
+頚 > jĭng; #981A
+頛 > lĕi; #981B
+頜 > hé; #981C
+頝 > qiāo; #981D
+頞 > è; #981E
+頟 > é; #981F
+頠 > wĕi; #9820
+頡 > jié; #9821
+頢 > guā; #9822
+頣 > shĕn; #9823
+頤 > yí; #9824
+頥 > shĕn; #9825
+頦 > hái; #9826
+頧 > dūi; #9827
+頨 > piān; #9828
+頩 > pīng; #9829
+頪 > lèi; #982A
+頫 > fŭ; #982B
+頬 > jiá; #982C
+頭 > tóu; #982D
+頮 > hùi; #982E
+頯 > kúi; #982F
+頰 > jiá; #9830
+頱 > lè; #9831
+頲 > tian; #9832
+頳 > chēng; #9833
+頴 > yĭng; #9834
+頵 > jūn; #9835
+頶 > hú; #9836
+頷 > hàn; #9837
+頸 > jĭng; #9838
+頹 > túi; #9839
+頺 > túi; #983A
+頻 > pín; #983B
+頼 > lài; #983C
+頽 > túi; #983D
+頾 > zī; #983E
+頿 > zī; #983F
+顀 > chúi; #9840
+顁 > dìng; #9841
+顂 > lài; #9842
+顃 > yán; #9843
+顄 > hàn; #9844
+顅 > jiān; #9845
+顆 > kē; #9846
+顇 > cùi; #9847
+顈 > jĭong; #9848
+顉 > qīn; #9849
+顊 > yí; #984A
+顋 > sāi; #984B
+題 > tí; #984C
+額 > é; #984D
+顎 > è; #984E
+顏 > yán; #984F
+顐 > hún; #9850
+顑 > kăn; #9851
+顒 > yóng; #9852
+顓 > zhuān; #9853
+顔 > yán; #9854
+顕 > xiăn; #9855
+顖 > xìn; #9856
+顗 > yĭ; #9857
+願 > yuàn; #9858
+顙 > săng; #9859
+顚 > diān; #985A
+顛 > diān; #985B
+顜 > jiăng; #985C
+顝 > kū; #985D
+類 > lèi; #985E
+顟 > liáo; #985F
+顠 > piào; #9860
+顡 > yì; #9861
+顢 > mán; #9862
+顣 > qī; #9863
+顤 > rào; #9864
+顥 > hào; #9865
+顦 > qiáo; #9866
+顧 > gù; #9867
+顨 > xùn; #9868
+顩 > qiān; #9869
+顪 > hūi; #986A
+顫 > zhàn; #986B
+顬 > rú; #986C
+顭 > hōng; #986D
+顮 > bīn; #986E
+顯 > xiăn; #986F
+顰 > pín; #9870
+顱 > lú; #9871
+顲 > lăn; #9872
+顳 > niè; #9873
+顴 > quán; #9874
+页 > yè; #9875
+顶 > dĭng; #9876
+顷 > qĭng; #9877
+顸 > hān; #9878
+项 > xiàng; #9879
+顺 > shùn; #987A
+须 > xū; #987B
+顼 > xù; #987C
+顽 > wán; #987D
+顾 > gù; #987E
+顿 > dùn; #987F
+颀 > qí; #9880
+颁 > bān; #9881
+颂 > sòng; #9882
+颃 > háng; #9883
+预 > yù; #9884
+颅 > lú; #9885
+领 > lĭng; #9886
+颇 > pŏ; #9887
+颈 > jĭng; #9888
+颉 > jié; #9889
+颊 > jiá; #988A
+颋 > tian; #988B
+颌 > hàn; #988C
+颍 > yĭng; #988D
+颎 > jĭong; #988E
+颏 > hái; #988F
+颐 > yí; #9890
+频 > pín; #9891
+颒 > hùi; #9892
+颓 > túi; #9893
+颔 > hàn; #9894
+颕 > yĭng; #9895
+颖 > yĭng; #9896
+颗 > kē; #9897
+题 > tí; #9898
+颙 > yóng; #9899
+颚 > è; #989A
+颛 > zhuān; #989B
+颜 > yán; #989C
+额 > é; #989D
+颞 > niè; #989E
+颟 > mán; #989F
+颠 > diān; #98A0
+颡 > săng; #98A1
+颢 > hào; #98A2
+颣 > lèi; #98A3
+颤 > zhàn; #98A4
+颥 > rú; #98A5
+颦 > pín; #98A6
+颧 > quán; #98A7
+風 > fēng; #98A8
+颩 > biāo; #98A9
+颫 > fú; #98AB
+颬 > xiā; #98AC
+颭 > zhăn; #98AD
+颮 > biāo; #98AE
+颯 > sà; #98AF
+颰 > bá; #98B0
+颱 > tái; #98B1
+颲 > liè; #98B2
+颳 > guā; #98B3
+颴 > xuàn; #98B4
+颵 > shào; #98B5
+颶 > jù; #98B6
+颷 > bī; #98B7
+颸 > sī; #98B8
+颹 > wĕi; #98B9
+颺 > yáng; #98BA
+颻 > yáo; #98BB
+颼 > sōu; #98BC
+颽 > kăi; #98BD
+颾 > sāo; #98BE
+颿 > fán; #98BF
+飀 > líu; #98C0
+飁 > xí; #98C1
+飂 > liáo; #98C2
+飃 > piāo; #98C3
+飄 > piāo; #98C4
+飅 > líu; #98C5
+飆 > biāo; #98C6
+飇 > biāo; #98C7
+飈 > biăo; #98C8
+飉 > liáo; #98C9
+飋 > sè; #98CB
+飌 > fēng; #98CC
+飍 > biāo; #98CD
+风 > fēng; #98CE
+飏 > yáng; #98CF
+飐 > zhăn; #98D0
+飑 > biāo; #98D1
+飒 > sà; #98D2
+飓 > jù; #98D3
+飔 > sī; #98D4
+飕 > sōu; #98D5
+飖 > yáo; #98D6
+飗 > líu; #98D7
+飘 > piāo; #98D8
+飙 > biāo; #98D9
+飚 > biāo; #98DA
+飛 > fēi; #98DB
+飜 > fān; #98DC
+飝 > fēi; #98DD
+飞 > fēi; #98DE
+食 > shí; #98DF
+飠 > shí; #98E0
+飡 > cān; #98E1
+飢 > jī; #98E2
+飣 > dìng; #98E3
+飤 > sì; #98E4
+飥 > tūo; #98E5
+飦 > zhān; #98E6
+飧 > sūn; #98E7
+飨 > xiăng; #98E8
+飩 > tún; #98E9
+飪 > rèn; #98EA
+飫 > yù; #98EB
+飬 > juàn; #98EC
+飭 > chì; #98ED
+飮 > yĭn; #98EE
+飯 > fàn; #98EF
+飰 > fàn; #98F0
+飱 > sūn; #98F1
+飲 > yĭn; #98F2
+飳 > zhù; #98F3
+飴 > yí; #98F4
+飵 > zhăi; #98F5
+飶 > bì; #98F6
+飷 > jiĕ; #98F7
+飸 > tāo; #98F8
+飹 > lĭu; #98F9
+飺 > cí; #98FA
+飻 > tiè; #98FB
+飼 > sì; #98FC
+飽 > băo; #98FD
+飾 > shì; #98FE
+飿 > dùo; #98FF
+餀 > hài; #9900
+餁 > rèn; #9901
+餂 > tiăn; #9902
+餃 > jiăo; #9903
+餄 > jiá; #9904
+餅 > bĭng; #9905
+餆 > yáo; #9906
+餇 > tóng; #9907
+餈 > cí; #9908
+餉 > xiăng; #9909
+養 > yăng; #990A
+餋 > yăng; #990B
+餌 > ĕr; #990C
+餍 > yàn; #990D
+餎 > le; #990E
+餏 > yī; #990F
+餐 > cān; #9910
+餑 > bó; #9911
+餒 > nĕi; #9912
+餓 > è; #9913
+餔 > bū; #9914
+餕 > jùn; #9915
+餖 > dòu; #9916
+餗 > sù; #9917
+餘 > yú; #9918
+餙 > shì; #9919
+餚 > yáo; #991A
+餛 > hún; #991B
+餜 > gŭo; #991C
+餝 > shì; #991D
+餞 > jiàn; #991E
+餟 > zhùi; #991F
+餠 > bĭng; #9920
+餡 > xiàn; #9921
+餢 > bù; #9922
+餣 > yè; #9923
+餤 > tán; #9924
+餥 > fĕi; #9925
+餦 > zhāng; #9926
+餧 > wèi; #9927
+館 > guăn; #9928
+餩 > è; #9929
+餪 > nuăn; #992A
+餫 > hún; #992B
+餬 > hú; #992C
+餭 > huáng; #992D
+餮 > tiè; #992E
+餯 > hùi; #992F
+餰 > jiān; #9930
+餱 > hóu; #9931
+餲 > hé; #9932
+餳 > xíng; #9933
+餴 > fēn; #9934
+餵 > wèi; #9935
+餶 > gŭ; #9936
+餷 > chā; #9937
+餸 > sòng; #9938
+餹 > táng; #9939
+餺 > bó; #993A
+餻 > gāo; #993B
+餼 > xì; #993C
+餽 > kùi; #993D
+餾 > lìu; #993E
+餿 > sōu; #993F
+饀 > táo; #9940
+饁 > yè; #9941
+饂 > yún; #9942
+饃 > mó; #9943
+饄 > táng; #9944
+饅 > mán; #9945
+饆 > bì; #9946
+饇 > yù; #9947
+饈 > xīu; #9948
+饉 > jĭn; #9949
+饊 > săn; #994A
+饋 > kùi; #994B
+饌 > zhuàn; #994C
+饍 > shàn; #994D
+饎 > chì; #994E
+饏 > dàn; #994F
+饐 > yì; #9950
+饑 > jī; #9951
+饒 > ráo; #9952
+饓 > chēng; #9953
+饔 > yōng; #9954
+饕 > tāo; #9955
+饖 > hùi; #9956
+饗 > xiăng; #9957
+饘 > zhān; #9958
+饙 > fēn; #9959
+饚 > hài; #995A
+饛 > méng; #995B
+饜 > yàn; #995C
+饝 > mó; #995D
+饞 > chán; #995E
+饟 > xiăng; #995F
+饠 > lúo; #9960
+饡 > zuàn; #9961
+饢 > năng; #9962
+饣 > shí; #9963
+饤 > dìng; #9964
+饥 > jī; #9965
+饦 > tūo; #9966
+饧 > xíng; #9967
+饨 > tún; #9968
+饩 > xì; #9969
+饪 > rèn; #996A
+饫 > yù; #996B
+饬 > chì; #996C
+饭 > fàn; #996D
+饮 > yĭn; #996E
+饯 > jiàn; #996F
+饰 > shì; #9970
+饱 > băo; #9971
+饲 > sì; #9972
+饳 > dùo; #9973
+饴 > yí; #9974
+饵 > ĕr; #9975
+饶 > ráo; #9976
+饷 > xiăng; #9977
+饸 > jiá; #9978
+饹 > le; #9979
+饺 > jiăo; #997A
+饻 > yī; #997B
+饼 > bĭng; #997C
+饽 > bó; #997D
+饾 > dòu; #997E
+饿 > è; #997F
+馀 > yú; #9980
+馁 > nĕi; #9981
+馂 > jùn; #9982
+馃 > gŭo; #9983
+馄 > hún; #9984
+馅 > xiàn; #9985
+馆 > guăn; #9986
+馇 > chā; #9987
+馈 > kùi; #9988
+馉 > gŭ; #9989
+馊 > sōu; #998A
+馋 > chán; #998B
+馌 > yè; #998C
+馍 > mó; #998D
+馎 > bó; #998E
+馏 > lìu; #998F
+馐 > xīu; #9990
+馑 > jĭn; #9991
+馒 > mán; #9992
+馓 > săn; #9993
+馔 > zhuàn; #9994
+馕 > năng; #9995
+首 > shŏu; #9996
+馗 > kúi; #9997
+馘 > gúo; #9998
+香 > xiāng; #9999
+馚 > fén; #999A
+馛 > bá; #999B
+馜 > nĭ; #999C
+馝 > bì; #999D
+馞 > bó; #999E
+馟 > tú; #999F
+馠 > hān; #99A0
+馡 > fēi; #99A1
+馢 > jiān; #99A2
+馣 > ān; #99A3
+馤 > ăi; #99A4
+馥 > fù; #99A5
+馦 > xiān; #99A6
+馧 > wēn; #99A7
+馨 > xīn; #99A8
+馩 > fén; #99A9
+馪 > bīn; #99AA
+馫 > xīng; #99AB
+馬 > mă; #99AC
+馭 > yù; #99AD
+馮 > féng; #99AE
+馯 > hàn; #99AF
+馰 > dì; #99B0
+馱 > túo; #99B1
+馲 > tūo; #99B2
+馳 > chí; #99B3
+馴 > xún; #99B4
+馵 > zhù; #99B5
+馶 > zhī; #99B6
+馷 > pèi; #99B7
+馸 > xìn; #99B8
+馹 > rì; #99B9
+馺 > sà; #99BA
+馻 > yĭn; #99BB
+馼 > wén; #99BC
+馽 > zhí; #99BD
+馾 > dàn; #99BE
+馿 > lǘ; #99BF
+駀 > yóu; #99C0
+駁 > bó; #99C1
+駂 > băo; #99C2
+駃 > kuài; #99C3
+駄 > túo; #99C4
+駅 > yì; #99C5
+駆 > qū; #99C6
+駈 > qū; #99C8
+駉 > jīong; #99C9
+駊 > bŏ; #99CA
+駋 > zhāo; #99CB
+駌 > yuān; #99CC
+駍 > pēng; #99CD
+駎 > zhòu; #99CE
+駏 > jù; #99CF
+駐 > zhù; #99D0
+駑 > nú; #99D1
+駒 > jū; #99D2
+駓 > pí; #99D3
+駔 > zăng; #99D4
+駕 > jià; #99D5
+駖 > líng; #99D6
+駗 > zhēn; #99D7
+駘 > tái; #99D8
+駙 > fù; #99D9
+駚 > yăng; #99DA
+駛 > shĭ; #99DB
+駜 > bì; #99DC
+駝 > túo; #99DD
+駞 > túo; #99DE
+駟 > sì; #99DF
+駠 > líu; #99E0
+駡 > mà; #99E1
+駢 > pián; #99E2
+駣 > táo; #99E3
+駤 > zhì; #99E4
+駥 > róng; #99E5
+駦 > téng; #99E6
+駧 > dòng; #99E7
+駨 > xún; #99E8
+駩 > quán; #99E9
+駪 > shēn; #99EA
+駫 > jīong; #99EB
+駬 > ĕr; #99EC
+駭 > hài; #99ED
+駮 > bó; #99EE
+駯 > zhu; #99EF
+駰 > yīn; #99F0
+駱 > lùo; #99F1
+駳 > dàn; #99F3
+駴 > xiè; #99F4
+駵 > líu; #99F5
+駶 > jú; #99F6
+駷 > sŏng; #99F7
+駸 > qīn; #99F8
+駹 > máng; #99F9
+駺 > liáng; #99FA
+駻 > hàn; #99FB
+駼 > tú; #99FC
+駽 > xuàn; #99FD
+駾 > tùi; #99FE
+駿 > jùn; #99FF
+騀 > é; #9A00
+騁 > chĕng; #9A01
+騂 > xīn; #9A02
+騃 > ái; #9A03
+騄 > lù; #9A04
+騅 > zhūi; #9A05
+騆 > zhōu; #9A06
+騇 > shĕ; #9A07
+騈 > pián; #9A08
+騉 > kūn; #9A09
+騊 > táo; #9A0A
+騋 > lái; #9A0B
+騌 > zōng; #9A0C
+騍 > kè; #9A0D
+騎 > qí; #9A0E
+騏 > qí; #9A0F
+騐 > yàn; #9A10
+騑 > fēi; #9A11
+騒 > sāo; #9A12
+験 > yăn; #9A13
+騔 > jié; #9A14
+騕 > yăo; #9A15
+騖 > wù; #9A16
+騗 > piàn; #9A17
+騘 > cōng; #9A18
+騙 > piàn; #9A19
+騚 > qián; #9A1A
+騛 > fēi; #9A1B
+騜 > huáng; #9A1C
+騝 > jiān; #9A1D
+騞 > hùo; #9A1E
+騟 > yù; #9A1F
+騠 > tí; #9A20
+騡 > quán; #9A21
+騢 > xiá; #9A22
+騣 > zōng; #9A23
+騤 > kúi; #9A24
+騥 > róu; #9A25
+騦 > sī; #9A26
+騧 > guā; #9A27
+騨 > túo; #9A28
+騩 > kùi; #9A29
+騪 > sōu; #9A2A
+騫 > qiān; #9A2B
+騬 > chéng; #9A2C
+騭 > zhì; #9A2D
+騮 > líu; #9A2E
+騯 > páng; #9A2F
+騰 > téng; #9A30
+騱 > xī; #9A31
+騲 > căo; #9A32
+騳 > dú; #9A33
+騴 > yàn; #9A34
+騵 > yuán; #9A35
+騶 > zōu; #9A36
+騷 > sāo; #9A37
+騸 > shàn; #9A38
+騹 > lí; #9A39
+騺 > zhì; #9A3A
+騻 > shuăng; #9A3B
+騼 > lù; #9A3C
+騽 > xí; #9A3D
+騾 > lúo; #9A3E
+騿 > zhāng; #9A3F
+驀 > mò; #9A40
+驁 > áo; #9A41
+驂 > cān; #9A42
+驃 > piào; #9A43
+驄 > cōng; #9A44
+驅 > qū; #9A45
+驆 > bì; #9A46
+驇 > zhì; #9A47
+驈 > yù; #9A48
+驉 > xū; #9A49
+驊 > huá; #9A4A
+驋 > bō; #9A4B
+驌 > sù; #9A4C
+驍 > xiāo; #9A4D
+驎 > lín; #9A4E
+驏 > chăn; #9A4F
+驐 > dūn; #9A50
+驑 > líu; #9A51
+驒 > túo; #9A52
+驓 > zēng; #9A53
+驔 > tán; #9A54
+驕 > jiāo; #9A55
+驖 > tiĕ; #9A56
+驗 > yàn; #9A57
+驘 > lúo; #9A58
+驙 > zhān; #9A59
+驚 > jīng; #9A5A
+驛 > yì; #9A5B
+驜 > yè; #9A5C
+驝 > tūo; #9A5D
+驞 > bīn; #9A5E
+驟 > zòu; #9A5F
+驠 > yàn; #9A60
+驡 > péng; #9A61
+驢 > lǘ; #9A62
+驣 > téng; #9A63
+驤 > xiāng; #9A64
+驥 > jì; #9A65
+驦 > shuāng; #9A66
+驧 > jú; #9A67
+驨 > xī; #9A68
+驩 > huān; #9A69
+驪 > lí; #9A6A
+驫 > biāo; #9A6B
+马 > mă; #9A6C
+驭 > yù; #9A6D
+驮 > túo; #9A6E
+驯 > xún; #9A6F
+驰 > chí; #9A70
+驱 > qū; #9A71
+驲 > rì; #9A72
+驳 > bó; #9A73
+驴 > lǘ; #9A74
+驵 > zăng; #9A75
+驶 > shĭ; #9A76
+驷 > sì; #9A77
+驸 > fù; #9A78
+驹 > jū; #9A79
+驺 > zōu; #9A7A
+驻 > zhù; #9A7B
+驼 > túo; #9A7C
+驽 > nú; #9A7D
+驾 > jià; #9A7E
+驿 > yì; #9A7F
+骀 > tái; #9A80
+骁 > xiāo; #9A81
+骂 > mà; #9A82
+骃 > yīn; #9A83
+骄 > jiāo; #9A84
+骅 > huá; #9A85
+骆 > lùo; #9A86
+骇 > hài; #9A87
+骈 > pián; #9A88
+骉 > biāo; #9A89
+骊 > lí; #9A8A
+骋 > chĕng; #9A8B
+验 > yàn; #9A8C
+骍 > xīn; #9A8D
+骎 > qīn; #9A8E
+骏 > jùn; #9A8F
+骐 > qí; #9A90
+骑 > qí; #9A91
+骒 > kè; #9A92
+骓 > zhūi; #9A93
+骔 > zōng; #9A94
+骕 > sù; #9A95
+骖 > cān; #9A96
+骗 > piàn; #9A97
+骘 > zhì; #9A98
+骙 > kúi; #9A99
+骚 > sāo; #9A9A
+骛 > wù; #9A9B
+骜 > áo; #9A9C
+骝 > líu; #9A9D
+骞 > qiān; #9A9E
+骟 > shàn; #9A9F
+骠 > piào; #9AA0
+骡 > lúo; #9AA1
+骢 > cōng; #9AA2
+骣 > chăn; #9AA3
+骤 > zòu; #9AA4
+骥 > jì; #9AA5
+骦 > shuāng; #9AA6
+骧 > xiāng; #9AA7
+骨 > gŭ; #9AA8
+骩 > wĕi; #9AA9
+骪 > wĕi; #9AAA
+骫 > wĕi; #9AAB
+骬 > yú; #9AAC
+骭 > gàn; #9AAD
+骮 > yì; #9AAE
+骯 > āng; #9AAF
+骰 > tóu; #9AB0
+骱 > xiè; #9AB1
+骲 > bāo; #9AB2
+骳 > bì; #9AB3
+骴 > chī; #9AB4
+骵 > tĭ; #9AB5
+骶 > dĭ; #9AB6
+骷 > kū; #9AB7
+骸 > hái; #9AB8
+骹 > qiāo; #9AB9
+骺 > gòu; #9ABA
+骻 > kuà; #9ABB
+骼 > gé; #9ABC
+骽 > tŭi; #9ABD
+骾 > gĕng; #9ABE
+骿 > pián; #9ABF
+髀 > bì; #9AC0
+髁 > kē; #9AC1
+髂 > kà; #9AC2
+髃 > yú; #9AC3
+髄 > sŭi; #9AC4
+髅 > lóu; #9AC5
+髆 > bó; #9AC6
+髇 > xiāo; #9AC7
+髈 > páng; #9AC8
+髉 > bō; #9AC9
+髊 > cī; #9ACA
+髋 > kuān; #9ACB
+髌 > bìn; #9ACC
+髍 > mó; #9ACD
+髎 > liáo; #9ACE
+髏 > lóu; #9ACF
+髐 > náo; #9AD0
+髑 > dú; #9AD1
+髒 > zāng; #9AD2
+髓 > sŭi; #9AD3
+體 > tĭ; #9AD4
+髕 > bìn; #9AD5
+髖 > kuān; #9AD6
+髗 > lú; #9AD7
+高 > gāo; #9AD8
+髙 > gāo; #9AD9
+髚 > qiào; #9ADA
+髛 > kāo; #9ADB
+髜 > qiāo; #9ADC
+髝 > lào; #9ADD
+髞 > zào; #9ADE
+髟 > biāo; #9ADF
+髠 > kūn; #9AE0
+髡 > kūn; #9AE1
+髢 > tì; #9AE2
+髣 > făng; #9AE3
+髤 > xīu; #9AE4
+髥 > rán; #9AE5
+髦 > máo; #9AE6
+髧 > dàn; #9AE7
+髨 > kūn; #9AE8
+髩 > bìn; #9AE9
+髪 > fà; #9AEA
+髫 > tiáo; #9AEB
+髬 > peng; #9AEC
+髭 > zī; #9AED
+髮 > fă; #9AEE
+髯 > rán; #9AEF
+髰 > tì; #9AF0
+髱 > pào; #9AF1
+髲 > pī; #9AF2
+髳 > máo; #9AF3
+髴 > fú; #9AF4
+髵 > ér; #9AF5
+髶 > róng; #9AF6
+髷 > qū; #9AF7
+髸 > gong; #9AF8
+髹 > xīu; #9AF9
+髺 > guà; #9AFA
+髻 > jì; #9AFB
+髼 > péng; #9AFC
+髽 > zhuā; #9AFD
+髾 > shāo; #9AFE
+髿 > shā; #9AFF
+鬀 > tì; #9B00
+鬁 > lì; #9B01
+鬂 > bìn; #9B02
+鬃 > zōng; #9B03
+鬄 > tì; #9B04
+鬅 > péng; #9B05
+鬆 > sōng; #9B06
+鬇 > zhēng; #9B07
+鬈 > quán; #9B08
+鬉 > zōng; #9B09
+鬊 > shùn; #9B0A
+鬋 > jiān; #9B0B
+鬌 > dŭo; #9B0C
+鬍 > hú; #9B0D
+鬎 > là; #9B0E
+鬏 > jīu; #9B0F
+鬐 > qí; #9B10
+鬑 > lián; #9B11
+鬒 > zhĕn; #9B12
+鬓 > bìn; #9B13
+鬔 > péng; #9B14
+鬕 > mò; #9B15
+鬖 > sān; #9B16
+鬗 > màn; #9B17
+鬘 > mán; #9B18
+鬙 > sēng; #9B19
+鬚 > xū; #9B1A
+鬛 > liè; #9B1B
+鬜 > qiān; #9B1C
+鬝 > qiān; #9B1D
+鬞 > nóng; #9B1E
+鬟 > huán; #9B1F
+鬠 > kuài; #9B20
+鬡 > níng; #9B21
+鬢 > bìn; #9B22
+鬣 > liè; #9B23
+鬤 > ráng; #9B24
+鬥 > dòu; #9B25
+鬦 > dòu; #9B26
+鬧 > nào; #9B27
+鬨 > hōng; #9B28
+鬩 > xì; #9B29
+鬪 > dòu; #9B2A
+鬫 > hăn; #9B2B
+鬬 > dòu; #9B2C
+鬭 > dòu; #9B2D
+鬮 > jīu; #9B2E
+鬯 > chàng; #9B2F
+鬰 > yù; #9B30
+鬱 > yù; #9B31
+鬲 > lì; #9B32
+鬳 > juàn; #9B33
+鬴 > fŭ; #9B34
+鬵 > qián; #9B35
+鬶 > gūi; #9B36
+鬷 > zōng; #9B37
+鬸 > lìu; #9B38
+鬹 > gūi; #9B39
+鬺 > shāng; #9B3A
+鬻 > yù; #9B3B
+鬼 > gŭi; #9B3C
+鬽 > mèi; #9B3D
+鬾 > jì; #9B3E
+鬿 > qí; #9B3F
+魀 > jiè; #9B40
+魁 > kúi; #9B41
+魂 > hún; #9B42
+魃 > bá; #9B43
+魄 > pò; #9B44
+魅 > mèi; #9B45
+魆 > xù; #9B46
+魇 > yăn; #9B47
+魈 > xiāo; #9B48
+魉 > liăng; #9B49
+魊 > yù; #9B4A
+魋 > túi; #9B4B
+魌 > qī; #9B4C
+魍 > wăng; #9B4D
+魎 > liăng; #9B4E
+魏 > wèi; #9B4F
+魐 > jiān; #9B50
+魑 > chī; #9B51
+魒 > piāo; #9B52
+魓 > bì; #9B53
+魔 > mó; #9B54
+魕 > jĭ; #9B55
+魖 > xū; #9B56
+魗 > chŏu; #9B57
+魘 > yăn; #9B58
+魙 > zhăn; #9B59
+魚 > yú; #9B5A
+魛 > dāo; #9B5B
+魜 > rén; #9B5C
+魝 > jì; #9B5D
+魟 > gōng; #9B5F
+魠 > túo; #9B60
+魡 > diào; #9B61
+魢 > jĭ; #9B62
+魣 > xù; #9B63
+魤 > é; #9B64
+魥 > è; #9B65
+魦 > shā; #9B66
+魧 > háng; #9B67
+魨 > tún; #9B68
+魩 > mò; #9B69
+魪 > jiè; #9B6A
+魫 > shĕn; #9B6B
+魬 > făn; #9B6C
+魭 > yuán; #9B6D
+魮 > bí; #9B6E
+魯 > lŭ; #9B6F
+魰 > wén; #9B70
+魱 > hú; #9B71
+魲 > lú; #9B72
+魳 > zá; #9B73
+魴 > fáng; #9B74
+魵 > fén; #9B75
+魶 > nà; #9B76
+魷 > yóu; #9B77
+魺 > hé; #9B7A
+魻 > xiá; #9B7B
+魼 > qū; #9B7C
+魽 > hān; #9B7D
+魾 > pí; #9B7E
+魿 > líng; #9B7F
+鮀 > túo; #9B80
+鮁 > bō; #9B81
+鮂 > qíu; #9B82
+鮃 > píng; #9B83
+鮄 > fú; #9B84
+鮅 > bì; #9B85
+鮆 > jì; #9B86
+鮇 > wèi; #9B87
+鮈 > jū; #9B88
+鮉 > diāo; #9B89
+鮊 > bó; #9B8A
+鮋 > yóu; #9B8B
+鮌 > gŭn; #9B8C
+鮍 > pī; #9B8D
+鮎 > nián; #9B8E
+鮏 > xīng; #9B8F
+鮐 > tái; #9B90
+鮑 > bào; #9B91
+鮒 > fù; #9B92
+鮓 > zhă; #9B93
+鮔 > jù; #9B94
+鮕 > gū; #9B95
+鮙 > tà; #9B99
+鮚 > jié; #9B9A
+鮛 > shù; #9B9B
+鮜 > hòu; #9B9C
+鮝 > xiăng; #9B9D
+鮞 > ér; #9B9E
+鮟 > àn; #9B9F
+鮠 > wéi; #9BA0
+鮡 > tiāo; #9BA1
+鮢 > zhū; #9BA2
+鮣 > yìn; #9BA3
+鮤 > liè; #9BA4
+鮥 > lùo; #9BA5
+鮦 > tóng; #9BA6
+鮧 > yí; #9BA7
+鮨 > qí; #9BA8
+鮩 > bìng; #9BA9
+鮪 > wĕi; #9BAA
+鮫 > jiăo; #9BAB
+鮬 > bù; #9BAC
+鮭 > gūi; #9BAD
+鮮 > xiān; #9BAE
+鮯 > gé; #9BAF
+鮰 > húi; #9BB0
+鮳 > kăo; #9BB3
+鮵 > dúo; #9BB5
+鮶 > jūn; #9BB6
+鮷 > tí; #9BB7
+鮸 > măn; #9BB8
+鮹 > xiāo; #9BB9
+鮺 > ză; #9BBA
+鮻 > shā; #9BBB
+鮼 > qīn; #9BBC
+鮽 > yú; #9BBD
+鮾 > nĕi; #9BBE
+鮿 > zhé; #9BBF
+鯀 > gŭn; #9BC0
+鯁 > gĕng; #9BC1
+鯂 > su; #9BC2
+鯃 > wú; #9BC3
+鯄 > qíu; #9BC4
+鯅 > tíng; #9BC5
+鯆 > fŭ; #9BC6
+鯇 > wăn; #9BC7
+鯈 > yóu; #9BC8
+鯉 > lĭ; #9BC9
+鯊 > shā; #9BCA
+鯋 > shā; #9BCB
+鯌 > gào; #9BCC
+鯍 > méng; #9BCD
+鯒 > yŏng; #9BD2
+鯓 > ní; #9BD3
+鯔 > zī; #9BD4
+鯕 > qí; #9BD5
+鯖 > qīng; #9BD6
+鯗 > xiăng; #9BD7
+鯘 > nĕi; #9BD8
+鯙 > chún; #9BD9
+鯚 > jì; #9BDA
+鯛 > diāo; #9BDB
+鯜 > qiè; #9BDC
+鯝 > gù; #9BDD
+鯞 > zhŏu; #9BDE
+鯟 > dōng; #9BDF
+鯠 > lái; #9BE0
+鯡 > fēi; #9BE1
+鯢 > ní; #9BE2
+鯣 > yì; #9BE3
+鯤 > kūn; #9BE4
+鯥 > lù; #9BE5
+鯦 > jìu; #9BE6
+鯧 > chāng; #9BE7
+鯨 > jīng; #9BE8
+鯩 > lún; #9BE9
+鯪 > líng; #9BEA
+鯫 > zōu; #9BEB
+鯬 > lí; #9BEC
+鯭 > mĕng; #9BED
+鯮 > zōng; #9BEE
+鯯 > zhì; #9BEF
+鯰 > nián; #9BF0
+鯴 > shī; #9BF4
+鯵 > shēn; #9BF5
+鯶 > hŭn; #9BF6
+鯷 > shì; #9BF7
+鯸 > hóu; #9BF8
+鯹 > xīng; #9BF9
+鯺 > zhū; #9BFA
+鯻 > là; #9BFB
+鯼 > zōng; #9BFC
+鯽 > jì; #9BFD
+鯾 > biān; #9BFE
+鯿 > biān; #9BFF
+鰀 > huàn; #9C00
+鰁 > quán; #9C01
+鰂 > zé; #9C02
+鰃 > wēi; #9C03
+鰄 > wēi; #9C04
+鰅 > yú; #9C05
+鰆 > qūn; #9C06
+鰇 > róu; #9C07
+鰈 > dié; #9C08
+鰉 > huáng; #9C09
+鰊 > liàn; #9C0A
+鰋 > yăn; #9C0B
+鰌 > qíu; #9C0C
+鰍 > qīu; #9C0D
+鰎 > jiàn; #9C0E
+鰏 > bì; #9C0F
+鰐 > è; #9C10
+鰑 > yáng; #9C11
+鰒 > fù; #9C12
+鰓 > sāi; #9C13
+鰔 > jiăn; #9C14
+鰕 > xiá; #9C15
+鰖 > tŭo; #9C16
+鰗 > hú; #9C17
+鰙 > rùo; #9C19
+鰛 > wēn; #9C1B
+鰜 > jiān; #9C1C
+鰝 > hào; #9C1D
+鰞 > wū; #9C1E
+鰟 > fáng; #9C1F
+鰠 > sāo; #9C20
+鰡 > líu; #9C21
+鰢 > mă; #9C22
+鰣 > shí; #9C23
+鰤 > shī; #9C24
+鰥 > yín; #9C25
+鰦 > z̄; #9C26
+鰧 > téng; #9C27
+鰨 > tà; #9C28
+鰩 > yáo; #9C29
+鰪 > gé; #9C2A
+鰫 > róng; #9C2B
+鰬 > qián; #9C2C
+鰭 > qí; #9C2D
+鰮 > wēn; #9C2E
+鰯 > rùo; #9C2F
+鰱 > lián; #9C31
+鰲 > áo; #9C32
+鰳 > lè; #9C33
+鰴 > hūi; #9C34
+鰵 > mĭn; #9C35
+鰶 > jì; #9C36
+鰷 > tiáo; #9C37
+鰸 > qū; #9C38
+鰹 > jiān; #9C39
+鰺 > sāo; #9C3A
+鰻 > mán; #9C3B
+鰼 > xí; #9C3C
+鰽 > qíu; #9C3D
+鰾 > biào; #9C3E
+鰿 > jī; #9C3F
+鱀 > jì; #9C40
+鱁 > zhú; #9C41
+鱂 > jiāng; #9C42
+鱃 > qīu; #9C43
+鱄 > zhuān; #9C44
+鱅 > yóng; #9C45
+鱆 > zhāng; #9C46
+鱇 > kāng; #9C47
+鱈 > xuĕ; #9C48
+鱉 > biē; #9C49
+鱊 > jué; #9C4A
+鱋 > qū; #9C4B
+鱌 > xiàng; #9C4C
+鱍 > bō; #9C4D
+鱎 > jiāo; #9C4E
+鱏 > xún; #9C4F
+鱐 > sù; #9C50
+鱑 > huáng; #9C51
+鱒 > zùn; #9C52
+鱓 > shàn; #9C53
+鱔 > shàn; #9C54
+鱕 > fān; #9C55
+鱖 > jué; #9C56
+鱗 > lín; #9C57
+鱘 > xún; #9C58
+鱙 > miáo; #9C59
+鱚 > xĭ; #9C5A
+鱝 > fèn; #9C5D
+鱞 > guān; #9C5E
+鱟 > hòu; #9C5F
+鱠 > kuài; #9C60
+鱡 > zéi; #9C61
+鱢 > sāo; #9C62
+鱣 > zhān; #9C63
+鱤 > găn; #9C64
+鱥 > gùi; #9C65
+鱦 > shéng; #9C66
+鱧 > lĭ; #9C67
+鱨 > cháng; #9C68
+鱬 > rú; #9C6C
+鱭 > jì; #9C6D
+鱮 > xù; #9C6E
+鱯 > hùo; #9C6F
+鱱 > lì; #9C71
+鱲 > liè; #9C72
+鱳 > lì; #9C73
+鱴 > miè; #9C74
+鱵 > zhēn; #9C75
+鱶 > xiăng; #9C76
+鱷 > è; #9C77
+鱸 > lú; #9C78
+鱹 > guàn; #9C79
+鱺 > lí; #9C7A
+鱻 > xiān; #9C7B
+鱼 > yú; #9C7C
+鱽 > dāo; #9C7D
+鱾 > jĭ; #9C7E
+鱿 > yóu; #9C7F
+鲀 > tún; #9C80
+鲁 > lŭ; #9C81
+鲂 > fáng; #9C82
+鲃 > bā; #9C83
+鲄 > hé; #9C84
+鲅 > bō; #9C85
+鲆 > píng; #9C86
+鲇 > nián; #9C87
+鲈 > lú; #9C88
+鲉 > yóu; #9C89
+鲊 > zhă; #9C8A
+鲋 > fù; #9C8B
+鲌 > bó; #9C8C
+鲍 > bào; #9C8D
+鲎 > hòu; #9C8E
+鲏 > pī; #9C8F
+鲐 > tái; #9C90
+鲑 > gūi; #9C91
+鲒 > jié; #9C92
+鲓 > kăo; #9C93
+鲔 > wĕi; #9C94
+鲕 > ér; #9C95
+鲖 > tóng; #9C96
+鲗 > zé; #9C97
+鲘 > hòu; #9C98
+鲙 > kuài; #9C99
+鲚 > jì; #9C9A
+鲛 > jiăo; #9C9B
+鲜 > xiān; #9C9C
+鲝 > ză; #9C9D
+鲞 > xiăng; #9C9E
+鲟 > xún; #9C9F
+鲠 > gĕng; #9CA0
+鲡 > lí; #9CA1
+鲢 > lián; #9CA2
+鲣 > jiān; #9CA3
+鲤 > lĭ; #9CA4
+鲥 > shí; #9CA5
+鲦 > tiáo; #9CA6
+鲧 > gŭn; #9CA7
+鲨 > shā; #9CA8
+鲩 > wăn; #9CA9
+鲪 > jūn; #9CAA
+鲫 > jì; #9CAB
+鲬 > yŏng; #9CAC
+鲭 > qīng; #9CAD
+鲮 > líng; #9CAE
+鲯 > qí; #9CAF
+鲰 > zōu; #9CB0
+鲱 > fēi; #9CB1
+鲲 > kūn; #9CB2
+鲳 > chāng; #9CB3
+鲴 > gù; #9CB4
+鲵 > ní; #9CB5
+鲶 > nián; #9CB6
+鲷 > diāo; #9CB7
+鲸 > jīng; #9CB8
+鲹 > shēn; #9CB9
+鲺 > shī; #9CBA
+鲻 > zī; #9CBB
+鲼 > fèn; #9CBC
+鲽 > dié; #9CBD
+鲾 > bì; #9CBE
+鲿 > cháng; #9CBF
+鳀 > shì; #9CC0
+鳁 > wēn; #9CC1
+鳂 > wēi; #9CC2
+鳃 > sāi; #9CC3
+鳄 > è; #9CC4
+鳅 > qīu; #9CC5
+鳆 > fù; #9CC6
+鳇 > huáng; #9CC7
+鳈 > quán; #9CC8
+鳉 > jiāng; #9CC9
+鳊 > biān; #9CCA
+鳋 > sāo; #9CCB
+鳌 > áo; #9CCC
+鳍 > qí; #9CCD
+鳎 > tà; #9CCE
+鳏 > yín; #9CCF
+鳐 > yáo; #9CD0
+鳑 > fáng; #9CD1
+鳒 > jiān; #9CD2
+鳓 > lè; #9CD3
+鳔 > biào; #9CD4
+鳕 > xuĕ; #9CD5
+鳖 > biē; #9CD6
+鳗 > mán; #9CD7
+鳘 > mĭn; #9CD8
+鳙 > yóng; #9CD9
+鳚 > wèi; #9CDA
+鳛 > xí; #9CDB
+鳜 > jué; #9CDC
+鳝 > shàn; #9CDD
+鳞 > lín; #9CDE
+鳟 > zùn; #9CDF
+鳠 > hùo; #9CE0
+鳡 > găn; #9CE1
+鳢 > lĭ; #9CE2
+鳣 > zhān; #9CE3
+鳤 > guăn; #9CE4
+鳥 > niăo; #9CE5
+鳦 > yĭ; #9CE6
+鳧 > fú; #9CE7
+鳨 > lì; #9CE8
+鳩 > jīu; #9CE9
+鳪 > bŭ; #9CEA
+鳫 > yàn; #9CEB
+鳬 > fú; #9CEC
+鳭 > diāo; #9CED
+鳮 > jī; #9CEE
+鳯 > fèng; #9CEF
+鳱 > gān; #9CF1
+鳲 > shī; #9CF2
+鳳 > fèng; #9CF3
+鳴 > míng; #9CF4
+鳵 > băo; #9CF5
+鳶 > yuān; #9CF6
+鳷 > zhī; #9CF7
+鳸 > hù; #9CF8
+鳹 > qín; #9CF9
+鳺 > fū; #9CFA
+鳻 > fēn; #9CFB
+鳼 > wén; #9CFC
+鳽 > jiān; #9CFD
+鳾 > shī; #9CFE
+鳿 > yù; #9CFF
+鴀 > fŏu; #9D00
+鴁 > yiāo; #9D01
+鴂 > juè; #9D02
+鴃 > jué; #9D03
+鴄 > pī; #9D04
+鴅 > huān; #9D05
+鴆 > zhèn; #9D06
+鴇 > băo; #9D07
+鴈 > yàn; #9D08
+鴉 > yā; #9D09
+鴊 > zhèng; #9D0A
+鴋 > fāng; #9D0B
+鴌 > fèng; #9D0C
+鴍 > wén; #9D0D
+鴎 > ōu; #9D0E
+鴏 > tè; #9D0F
+鴐 > jiā; #9D10
+鴑 > nú; #9D11
+鴒 > líng; #9D12
+鴓 > miè; #9D13
+鴔 > fú; #9D14
+鴕 > túo; #9D15
+鴖 > wén; #9D16
+鴗 > lì; #9D17
+鴘 > biàn; #9D18
+鴙 > zhì; #9D19
+鴚 > gē; #9D1A
+鴛 > yuān; #9D1B
+鴜 > zī; #9D1C
+鴝 > qú; #9D1D
+鴞 > xiāo; #9D1E
+鴟 > zhī; #9D1F
+鴠 > dàn; #9D20
+鴡 > jū; #9D21
+鴢 > yòu; #9D22
+鴣 > gū; #9D23
+鴤 > zhōng; #9D24
+鴥 > yù; #9D25
+鴦 > yāng; #9D26
+鴧 > ròng; #9D27
+鴨 > yā; #9D28
+鴩 > tiĕ; #9D29
+鴪 > yù; #9D2A
+鴬 > yīng; #9D2C
+鴭 > zhūi; #9D2D
+鴮 > wū; #9D2E
+鴯 > ér; #9D2F
+鴰 > guā; #9D30
+鴱 > ài; #9D31
+鴲 > zhī; #9D32
+鴳 > yàn; #9D33
+鴴 > héng; #9D34
+鴵 > jiāo; #9D35
+鴶 > jí; #9D36
+鴷 > liè; #9D37
+鴸 > zhū; #9D38
+鴹 > rén; #9D39
+鴺 > yí; #9D3A
+鴻 > hóng; #9D3B
+鴼 > lùo; #9D3C
+鴽 > rú; #9D3D
+鴾 > móu; #9D3E
+鴿 > gē; #9D3F
+鵀 > rèn; #9D40
+鵁 > jiāo; #9D41
+鵂 > xīu; #9D42
+鵃 > zhōu; #9D43
+鵄 > zhī; #9D44
+鵅 > lùo; #9D45
+鵉 > luán; #9D49
+鵊 > jiá; #9D4A
+鵋 > jì; #9D4B
+鵌 > yú; #9D4C
+鵍 > huān; #9D4D
+鵎 > tŭo; #9D4E
+鵏 > bū; #9D4F
+鵐 > wú; #9D50
+鵑 > juān; #9D51
+鵒 > yù; #9D52
+鵓 > bó; #9D53
+鵔 > xùn; #9D54
+鵕 > xùn; #9D55
+鵖 > bì; #9D56
+鵗 > xī; #9D57
+鵘 > jùn; #9D58
+鵙 > jú; #9D59
+鵚 > tú; #9D5A
+鵛 > jīng; #9D5B
+鵜 > tí; #9D5C
+鵝 > é; #9D5D
+鵞 > é; #9D5E
+鵟 > kuáng; #9D5F
+鵠 > hú; #9D60
+鵡 > wŭ; #9D61
+鵢 > shēn; #9D62
+鵣 > lài; #9D63
+鵦 > lù; #9D66
+鵧 > píng; #9D67
+鵨 > shū; #9D68
+鵩 > fú; #9D69
+鵪 > ān; #9D6A
+鵫 > zhào; #9D6B
+鵬 > péng; #9D6C
+鵭 > qín; #9D6D
+鵮 > qiān; #9D6E
+鵯 > bēi; #9D6F
+鵰 > diāo; #9D70
+鵱 > lù; #9D71
+鵲 > què; #9D72
+鵳 > jiān; #9D73
+鵴 > jú; #9D74
+鵵 > tù; #9D75
+鵶 > yā; #9D76
+鵷 > yuān; #9D77
+鵸 > qí; #9D78
+鵹 > lí; #9D79
+鵺 > yè; #9D7A
+鵻 > zhūi; #9D7B
+鵼 > kōng; #9D7C
+鵽 > zhùi; #9D7D
+鵾 > kūn; #9D7E
+鵿 > shēng; #9D7F
+鶀 > qí; #9D80
+鶁 > jīng; #9D81
+鶂 > yì; #9D82
+鶃 > yì; #9D83
+鶄 > jīng; #9D84
+鶅 > zī; #9D85
+鶆 > lái; #9D86
+鶇 > dōng; #9D87
+鶈 > qī; #9D88
+鶉 > chún; #9D89
+鶊 > gēng; #9D8A
+鶋 > jū; #9D8B
+鶌 > qū; #9D8C
+鶏 > jī; #9D8F
+鶐 > shù; #9D90
+鶒 > chì; #9D92
+鶓 > miáo; #9D93
+鶔 > róu; #9D94
+鶕 > ān; #9D95
+鶖 > qīu; #9D96
+鶗 > tí; #9D97
+鶘 > hú; #9D98
+鶙 > tí; #9D99
+鶚 > è; #9D9A
+鶛 > jiē; #9D9B
+鶜 > máo; #9D9C
+鶝 > fú; #9D9D
+鶞 > chūn; #9D9E
+鶟 > tú; #9D9F
+鶠 > yăn; #9DA0
+鶡 > hé; #9DA1
+鶢 > yuán; #9DA2
+鶣 > piān; #9DA3
+鶤 > yùn; #9DA4
+鶥 > méi; #9DA5
+鶦 > hú; #9DA6
+鶧 > yīng; #9DA7
+鶨 > dùn; #9DA8
+鶩 > mù; #9DA9
+鶪 > jú; #9DAA
+鶬 > cāng; #9DAC
+鶭 > făng; #9DAD
+鶮 > gù; #9DAE
+鶯 > yīng; #9DAF
+鶰 > yuán; #9DB0
+鶱 > xuān; #9DB1
+鶲 > wēng; #9DB2
+鶳 > shī; #9DB3
+鶴 > hè; #9DB4
+鶵 > chú; #9DB5
+鶶 > táng; #9DB6
+鶷 > xià; #9DB7
+鶸 > rùo; #9DB8
+鶹 > líu; #9DB9
+鶺 > jí; #9DBA
+鶻 > gú; #9DBB
+鶼 > jiān; #9DBC
+鶽 > zhŭn; #9DBD
+鶾 > hàn; #9DBE
+鶿 > zī; #9DBF
+鷀 > zī; #9DC0
+鷁 > nì; #9DC1
+鷂 > yào; #9DC2
+鷃 > yàn; #9DC3
+鷄 > jī; #9DC4
+鷅 > lì; #9DC5
+鷆 > tián; #9DC6
+鷇 > kòu; #9DC7
+鷈 > tī; #9DC8
+鷉 > tī; #9DC9
+鷊 > nì; #9DCA
+鷋 > tú; #9DCB
+鷌 > mă; #9DCC
+鷍 > jiāo; #9DCD
+鷎 > gāo; #9DCE
+鷏 > tián; #9DCF
+鷐 > chén; #9DD0
+鷑 > lì; #9DD1
+鷒 > zhuān; #9DD2
+鷓 > zhè; #9DD3
+鷔 > áo; #9DD4
+鷕 > yăo; #9DD5
+鷖 > yī; #9DD6
+鷗 > ōu; #9DD7
+鷘 > chì; #9DD8
+鷙 > zhì; #9DD9
+鷚 > liáo; #9DDA
+鷛 > róng; #9DDB
+鷜 > lóu; #9DDC
+鷝 > bì; #9DDD
+鷞 > shuāng; #9DDE
+鷟 > zhúo; #9DDF
+鷠 > yú; #9DE0
+鷡 > wú; #9DE1
+鷢 > jué; #9DE2
+鷣 > yín; #9DE3
+鷤 > quán; #9DE4
+鷥 > sī; #9DE5
+鷦 > jiāo; #9DE6
+鷧 > yì; #9DE7
+鷨 > huā; #9DE8
+鷩 > bì; #9DE9
+鷪 > yīng; #9DEA
+鷫 > sù; #9DEB
+鷬 > huáng; #9DEC
+鷭 > fán; #9DED
+鷮 > jiāo; #9DEE
+鷯 > liáo; #9DEF
+鷰 > yàn; #9DF0
+鷱 > kāo; #9DF1
+鷲 > jìu; #9DF2
+鷳 > xián; #9DF3
+鷴 > xián; #9DF4
+鷵 > tú; #9DF5
+鷶 > măi; #9DF6
+鷷 > zūn; #9DF7
+鷸 > yù; #9DF8
+鷹 > yīng; #9DF9
+鷺 > lù; #9DFA
+鷻 > tuán; #9DFB
+鷼 > xián; #9DFC
+鷽 > xué; #9DFD
+鷾 > yì; #9DFE
+鷿 > pì; #9DFF
+鸀 > shú; #9E00
+鸁 > lúo; #9E01
+鸂 > qī; #9E02
+鸃 > yí; #9E03
+鸄 > jí; #9E04
+鸅 > zhé; #9E05
+鸆 > yú; #9E06
+鸇 > zhān; #9E07
+鸈 > yè; #9E08
+鸉 > yáng; #9E09
+鸊 > pì; #9E0A
+鸋 > níng; #9E0B
+鸌 > hùo; #9E0C
+鸍 > mí; #9E0D
+鸎 > yīng; #9E0E
+鸏 > méng; #9E0F
+鸐 > dí; #9E10
+鸑 > yuè; #9E11
+鸒 > yú; #9E12
+鸓 > lĕi; #9E13
+鸔 > bào; #9E14
+鸕 > lú; #9E15
+鸖 > hè; #9E16
+鸗 > lóng; #9E17
+鸘 > shuāng; #9E18
+鸙 > yuè; #9E19
+鸚 > yīng; #9E1A
+鸛 > guàn; #9E1B
+鸜 > qú; #9E1C
+鸝 > lí; #9E1D
+鸞 > luán; #9E1E
+鸟 > niăo; #9E1F
+鸠 > jīu; #9E20
+鸡 > jī; #9E21
+鸢 > yuān; #9E22
+鸣 > míng; #9E23
+鸤 > shī; #9E24
+鸥 > ōu; #9E25
+鸦 > yā; #9E26
+鸧 > cāng; #9E27
+鸨 > băo; #9E28
+鸩 > zhèn; #9E29
+鸪 > gū; #9E2A
+鸫 > dōng; #9E2B
+鸬 > lú; #9E2C
+鸭 > yā; #9E2D
+鸮 > xiāo; #9E2E
+鸯 > yāng; #9E2F
+鸰 > líng; #9E30
+鸱 > zhī; #9E31
+鸲 > qú; #9E32
+鸳 > yuān; #9E33
+鸴 > xué; #9E34
+鸵 > túo; #9E35
+鸶 > sī; #9E36
+鸷 > zhì; #9E37
+鸸 > ér; #9E38
+鸹 > guā; #9E39
+鸺 > xīu; #9E3A
+鸻 > héng; #9E3B
+鸼 > zhōu; #9E3C
+鸽 > gē; #9E3D
+鸾 > luán; #9E3E
+鸿 > hóng; #9E3F
+鹀 > wú; #9E40
+鹁 > bó; #9E41
+鹂 > lí; #9E42
+鹃 > juān; #9E43
+鹄 > hú; #9E44
+鹅 > é; #9E45
+鹆 > yù; #9E46
+鹇 > xián; #9E47
+鹈 > tí; #9E48
+鹉 > wŭ; #9E49
+鹊 > què; #9E4A
+鹋 > miáo; #9E4B
+鹌 > ān; #9E4C
+鹍 > kūn; #9E4D
+鹎 > bēi; #9E4E
+鹏 > péng; #9E4F
+鹐 > qiān; #9E50
+鹑 > chún; #9E51
+鹒 > gēng; #9E52
+鹓 > yuān; #9E53
+鹔 > sù; #9E54
+鹕 > hú; #9E55
+鹖 > hé; #9E56
+鹗 > è; #9E57
+鹘 > gú; #9E58
+鹙 > qīu; #9E59
+鹚 > zī; #9E5A
+鹛 > méi; #9E5B
+鹜 > mù; #9E5C
+鹝 > nì; #9E5D
+鹞 > yào; #9E5E
+鹟 > wēng; #9E5F
+鹠 > líu; #9E60
+鹡 > jí; #9E61
+鹢 > nì; #9E62
+鹣 > jiān; #9E63
+鹤 > hè; #9E64
+鹥 > yī; #9E65
+鹦 > yīng; #9E66
+鹧 > zhè; #9E67
+鹨 > liáo; #9E68
+鹩 > liáo; #9E69
+鹪 > jiāo; #9E6A
+鹫 > jìu; #9E6B
+鹬 > yù; #9E6C
+鹭 > lù; #9E6D
+鹮 > xuán; #9E6E
+鹯 > zhān; #9E6F
+鹰 > yīng; #9E70
+鹱 > hùo; #9E71
+鹲 > méng; #9E72
+鹳 > guàn; #9E73
+鹴 > shuāng; #9E74
+鹵 > lŭ; #9E75
+鹶 > jīn; #9E76
+鹷 > líng; #9E77
+鹸 > jiăn; #9E78
+鹹 > xián; #9E79
+鹺 > cúo; #9E7A
+鹻 > jiăn; #9E7B
+鹼 > jiăn; #9E7C
+鹽 > yán; #9E7D
+鹾 > cúo; #9E7E
+鹿 > lù; #9E7F
+麀 > yōu; #9E80
+麁 > cū; #9E81
+麂 > jĭ; #9E82
+麃 > biāo; #9E83
+麄 > cū; #9E84
+麅 > biāo; #9E85
+麆 > zhù; #9E86
+麇 > jūn; #9E87
+麈 > zhŭ; #9E88
+麉 > jiān; #9E89
+麊 > mí; #9E8A
+麋 > mí; #9E8B
+麌 > wú; #9E8C
+麍 > líu; #9E8D
+麎 > chén; #9E8E
+麏 > jūn; #9E8F
+麐 > lín; #9E90
+麑 > ní; #9E91
+麒 > qí; #9E92
+麓 > lù; #9E93
+麔 > jìu; #9E94
+麕 > jūn; #9E95
+麖 > jīng; #9E96
+麗 > lì; #9E97
+麘 > xiāng; #9E98
+麙 > yán; #9E99
+麚 > jiā; #9E9A
+麛 > mí; #9E9B
+麜 > lì; #9E9C
+麝 > shè; #9E9D
+麞 > zhāng; #9E9E
+麟 > lín; #9E9F
+麠 > jīng; #9EA0
+麡 > jī; #9EA1
+麢 > líng; #9EA2
+麣 > yán; #9EA3
+麤 > cū; #9EA4
+麥 > mài; #9EA5
+麦 > mài; #9EA6
+麧 > gē; #9EA7
+麨 > chăo; #9EA8
+麩 > fū; #9EA9
+麪 > miăn; #9EAA
+麫 > miăn; #9EAB
+麬 > fū; #9EAC
+麭 > pào; #9EAD
+麮 > qù; #9EAE
+麯 > qú; #9EAF
+麰 > móu; #9EB0
+麱 > fū; #9EB1
+麲 > xiàn; #9EB2
+麳 > lái; #9EB3
+麴 > qú; #9EB4
+麵 > miàn; #9EB5
+麷 > fēng; #9EB7
+麸 > fū; #9EB8
+麹 > qú; #9EB9
+麺 > miàn; #9EBA
+麻 > má; #9EBB
+麼 > mo; #9EBC
+麽 > mo; #9EBD
+麾 > hūi; #9EBE
+黀 > zōu; #9EC0
+黁 > nēn; #9EC1
+黂 > fén; #9EC2
+黃 > huáng; #9EC3
+黄 > huáng; #9EC4
+黅 > jīn; #9EC5
+黆 > guāng; #9EC6
+黇 > tiān; #9EC7
+黈 > tŏu; #9EC8
+黉 > héng; #9EC9
+黊 > xī; #9ECA
+黋 > kuăng; #9ECB
+黌 > héng; #9ECC
+黍 > shŭ; #9ECD
+黎 > lí; #9ECE
+黏 > nián; #9ECF
+黐 > chī; #9ED0
+黑 > hēi; #9ED1
+黒 > hēi; #9ED2
+黓 > yì; #9ED3
+黔 > qián; #9ED4
+黕 > dān; #9ED5
+黖 > xì; #9ED6
+黗 > tuăn; #9ED7
+默 > mò; #9ED8
+黙 > mò; #9ED9
+黚 > qián; #9EDA
+黛 > dài; #9EDB
+黜 > chù; #9EDC
+黝 > yŏu; #9EDD
+點 > diăn; #9EDE
+黟 > yī; #9EDF
+黠 > xiá; #9EE0
+黡 > yăn; #9EE1
+黢 > qū; #9EE2
+黣 > mĕi; #9EE3
+黤 > yăn; #9EE4
+黥 > jīng; #9EE5
+黦 > yù; #9EE6
+黧 > lí; #9EE7
+黨 > dăng; #9EE8
+黩 > dú; #9EE9
+黪 > căn; #9EEA
+黫 > yīn; #9EEB
+黬 > àn; #9EEC
+黭 > yān; #9EED
+黮 > tăn; #9EEE
+黯 > àn; #9EEF
+黰 > zhĕn; #9EF0
+黱 > dài; #9EF1
+黲 > căn; #9EF2
+黳 > yī; #9EF3
+黴 > méi; #9EF4
+黵 > dăn; #9EF5
+黶 > yăn; #9EF6
+黷 > dú; #9EF7
+黸 > lú; #9EF8
+黹 > zhĭ; #9EF9
+黺 > fĕn; #9EFA
+黻 > fù; #9EFB
+黼 > fŭ; #9EFC
+黽 > mĭn; #9EFD
+黾 > mĭn; #9EFE
+黿 > yuán; #9EFF
+鼀 > cù; #9F00
+鼁 > qù; #9F01
+鼂 > cháo; #9F02
+鼃 > wā; #9F03
+鼄 > zhū; #9F04
+鼅 > zhī; #9F05
+鼆 > máng; #9F06
+鼇 > áo; #9F07
+鼈 > biē; #9F08
+鼉 > túo; #9F09
+鼊 > bì; #9F0A
+鼋 > yuán; #9F0B
+鼌 > cháo; #9F0C
+鼍 > túo; #9F0D
+鼎 > dĭng; #9F0E
+鼏 > mì; #9F0F
+鼐 > nài; #9F10
+鼑 > dĭng; #9F11
+鼒 > zī; #9F12
+鼓 > gŭ; #9F13
+鼔 > gŭ; #9F14
+鼕 > dōng; #9F15
+鼖 > fén; #9F16
+鼗 > táo; #9F17
+鼘 > yuān; #9F18
+鼙 > pí; #9F19
+鼚 > chāng; #9F1A
+鼛 > gāo; #9F1B
+鼜 > qì; #9F1C
+鼝 > yuān; #9F1D
+鼞 > tāng; #9F1E
+鼟 > tēng; #9F1F
+鼠 > shŭ; #9F20
+鼡 > shŭ; #9F21
+鼢 > fén; #9F22
+鼣 > fèi; #9F23
+鼤 > wén; #9F24
+鼥 > bá; #9F25
+鼦 > diāo; #9F26
+鼧 > túo; #9F27
+鼨 > tóng; #9F28
+鼩 > qú; #9F29
+鼪 > shēng; #9F2A
+鼫 > shí; #9F2B
+鼬 > yòu; #9F2C
+鼭 > shí; #9F2D
+鼮 > tíng; #9F2E
+鼯 > wú; #9F2F
+鼰 > niàn; #9F30
+鼱 > jīng; #9F31
+鼲 > hún; #9F32
+鼳 > jú; #9F33
+鼴 > yăn; #9F34
+鼵 > tú; #9F35
+鼶 > tí; #9F36
+鼷 > xī; #9F37
+鼸 > xiăn; #9F38
+鼹 > yăn; #9F39
+鼺 > léi; #9F3A
+鼻 > bí; #9F3B
+鼼 > yăo; #9F3C
+鼽 > qíu; #9F3D
+鼾 > hān; #9F3E
+鼿 > wū; #9F3F
+齀 > wù; #9F40
+齁 > hóu; #9F41
+齂 > xì; #9F42
+齃 > gé; #9F43
+齄 > zhā; #9F44
+齅 > xìu; #9F45
+齆 > wèng; #9F46
+齇 > zhā; #9F47
+齈 > nóng; #9F48
+齉 > nàng; #9F49
+齊 > qí; #9F4A
+齋 > zhāi; #9F4B
+齌 > jì; #9F4C
+齍 > zī; #9F4D
+齎 > jī; #9F4E
+齏 > jī; #9F4F
+齐 > qí; #9F50
+齑 > jī; #9F51
+齒 > chĭ; #9F52
+齓 > chèn; #9F53
+齔 > chèn; #9F54
+齕 > hé; #9F55
+齖 > yá; #9F56
+齗 > kĕn; #9F57
+齘 > xiè; #9F58
+齙 > páo; #9F59
+齚 > cùo; #9F5A
+齛 > shì; #9F5B
+齜 > zī; #9F5C
+齝 > chī; #9F5D
+齞 > niàn; #9F5E
+齟 > jŭ; #9F5F
+齠 > tiáo; #9F60
+齡 > líng; #9F61
+齢 > líng; #9F62
+齣 > chū; #9F63
+齤 > quán; #9F64
+齥 > xiè; #9F65
+齦 > kĕn; #9F66
+齧 > niè; #9F67
+齨 > jìu; #9F68
+齩 > yăo; #9F69
+齪 > chùo; #9F6A
+齫 > kŭn; #9F6B
+齬 > yŭ; #9F6C
+齭 > chŭ; #9F6D
+齮 > yĭ; #9F6E
+齯 > ní; #9F6F
+齰 > cùo; #9F70
+齱 > zōu; #9F71
+齲 > qŭ; #9F72
+齳 > nĕn; #9F73
+齴 > xiăn; #9F74
+齵 > óu; #9F75
+齶 > è; #9F76
+齷 > wò; #9F77
+齸 > yì; #9F78
+齹 > chūo; #9F79
+齺 > zōu; #9F7A
+齻 > diān; #9F7B
+齼 > chŭ; #9F7C
+齽 > jìn; #9F7D
+齾 > yà; #9F7E
+齿 > chĭ; #9F7F
+龀 > chèn; #9F80
+龁 > hé; #9F81
+龂 > kĕn; #9F82
+龃 > jŭ; #9F83
+龄 > líng; #9F84
+龅 > páo; #9F85
+龆 > tiáo; #9F86
+龇 > zī; #9F87
+龈 > kĕn; #9F88
+龉 > yŭ; #9F89
+龊 > chùo; #9F8A
+龋 > qŭ; #9F8B
+龌 > wò; #9F8C
+龍 > lóng; #9F8D
+龎 > páng; #9F8E
+龏 > gōng; #9F8F
+龐 > páng; #9F90
+龑 > yăn; #9F91
+龒 > lóng; #9F92
+龓 > lóng; #9F93
+龔 > gōng; #9F94
+龕 > kān; #9F95
+龖 > tà; #9F96
+龗 > líng; #9F97
+龘 > tà; #9F98
+龙 > lóng; #9F99
+龚 > gōng; #9F9A
+龛 > kān; #9F9B
+龜 > gūi; #9F9C
+龝 > qīu; #9F9D
+龞 > biē; #9F9E
+龟 > gūi; #9F9F
+龠 > yuè; #9FA0
+龡 > chùi; #9FA1
+龢 > hé; #9FA2
+龣 > jué; #9FA3
+龤 > xié; #9FA4
+龥 > yù; #9FA5
+癩 > là; #F90E
+兀 > wù; #FA0C
+嗀 > hùo; #FA0D
+塚 > zhŏng; #FA10
+晴 > qíng; #FA12
+凞 > xī; #FA15
+猪 > zhū; #FA16
+益 > yì; #FA17
+礼 > lĭ; #FA18
+神 > shén; #FA19
+祥 > xiáng; #FA1A
+福 > fú; #FA1B
+靖 > jìng; #FA1C
+精 > jīng; #FA1D
+羽 > yŭ; #FA1E
+諸 > zhū; #FA22
+逸 > yì; #FA25
+都 > dū; #FA26
+飯 > fàn; #FA2A
+飼 > sì; #FA2B
+館 > guăn; #FA2C
+鶴 > hè; #FA2D
+
+# eof
diff --git a/src/com/ibm/icu/dev/demo/translit/resources/Transliterator_Kanji_English.txt b/src/com/ibm/icu/dev/demo/translit/resources/Transliterator_Kanji_English.txt
new file mode 100755
index 0000000..fe353f3
--- /dev/null
+++ b/src/com/ibm/icu/dev/demo/translit/resources/Transliterator_Kanji_English.txt
@@ -0,0 +1,6366 @@
+#--------------------------------------------------------------------
+# Copyright (c) 1999-2001, International Business Machines
+# Corporation and others.  All Rights Reserved.
+#--------------------------------------------------------------------
+# Date: Tue Jan 23 12:42:02 2001
+#--------------------------------------------------------------------
+
+# Kanji-English
+
+丁>'[male adult]';
+七>'[seven]';
+万>'[ten thousand]';
+丈>'[unit of length equal 3.3 meters]';
+三>'[three]';
+上>'[top]';
+下>'[under]';
+不>'[no]';
+与>'[and]';
+丐>'[beggar]';
+丑>'[clown]';
+且>'[moreover]';
+丕>'[great]';
+世>'[generation]';
+丗>'[thirty]';
+丘>'[hill]';
+丙>'[third of heavenly stems]';
+丞>'[assist]';
+両>'[two]';
+並>'[equal to]';
+个>'[numerary adjunct]';
+中>'[central]';
+丱>'[child''s hairstyle bound in two tufts]';
+串>'[string]';
+丶>'[dot]';
+丸>'[small round object]';
+丹>'[cinnabar (native HgS)]';
+主>'[master]';
+丼>'[bowl of food]';
+丿>'[line]';
+乂>'[govern]';
+乃>'[then]';
+久>'[long time (ago)]';
+之>'[''s (marks preceding phrase as modifier of following phrase)]';
+乍>'[suddenly]';
+乎>'[interrogative or exclamatory final particle]';
+乏>'[lack]';
+乕>'[tiger]';
+乖>'[rebel]';
+乗>'[ride]';
+乘>'[ride]';
+乙>'[second heaven''s stem]';
+九>'[nine]';
+乞>'[beg]';
+也>'[also]';
+乢>'[lid]';
+乱>'[confusion]';
+乳>'[breast]';
+乾>'[dry]';
+亀>'[turtle or tortoise]';
+亂>'[confusion]';
+亅>'[hook]';
+了>'[to finish]';
+予>'[I]';
+争>'[dispute]';
+亊>'[affair]';
+事>'[affair]';
+二>'[two]';
+于>'[in]';
+云>'[say]';
+互>'[mutually]';
+五>'[five]';
+井>'[well]';
+亘>'[extend across]';
+亙>'[extend across]';
+些>'[little]';
+亜>'[asia]';
+亞>'[asia]';
+亟>'[urgently]';
+亠>'[head]';
+亡>'[death]';
+亢>'[high]';
+交>'[mix]';
+亥>'[last of 12 earth branches]';
+亦>'[also]';
+亨>'[smoothly]';
+享>'[enjoy]';
+京>'[capital city]';
+亭>'[pavilion]';
+亮>'[bright]';
+亰>'[capital city]';
+亳>'[name of district in Anhui]';
+亶>'[sincere]';
+人>'[man]';
+什>'[file of ten soldiers]';
+仁>'[humaneness]';
+仂>'[surplus or excess]';
+仄>'[slanting]';
+仆>'[fall forward]';
+仇>'[enemy]';
+今>'[now]';
+介>'[forerunner]';
+仍>'[yet]';
+从>'[from]';
+仏>'[buddha]';
+仔>'[small thing]';
+仕>'[official]';
+他>'[other]';
+仗>'[rely upon]';
+付>'[give]';
+仙>'[Taoist super-being]';
+仝>'[together]';
+仞>'[ancient unit of measure (8 feet)]';
+仟>'[one thousand]';
+代>'[replace]';
+令>'[command]';
+以>'[by means of]';
+仭>'[ancient unit of measure (8 feet)]';
+仮>'[falsehood]';
+仰>'[raise the head to look]';
+仲>'[middle brother]';
+件>'[numerary adjunct for article]';
+价>'[price]';
+任>'[trust to]';
+企>'[plan a project]';
+伉>'[compare]';
+伊>'[third person pronoun]';
+伍>'[five]';
+伎>'[talent]';
+伏>'[crouch]';
+伐>'[cut down]';
+休>'[rest]';
+会>'[assemble]';
+伜>'[deputy]';
+伝>'[summon]';
+伯>'[older brother]';
+估>'[merchant]';
+伴>'[companion]';
+伶>'[lonely]';
+伸>'[extend]';
+伺>'[serve]';
+似>'[resemble]';
+伽>'[transcription of sanskrit gha in buddhist texts ('ëmâæ' \"samgha\")]';
+佃>'[tenant farmer]';
+但>'[only]';
+佇>'[wait]';
+位>'[throne]';
+低>'[low]';
+住>'[reside]';
+佐>'[assist]';
+佑>'[help]';
+体>'[body]';
+何>'[what]';
+佗>'[other]';
+余>'[I]';
+佚>'[indulge in pleasures]';
+佛>'[buddha (contraction of MC 'bhiêtdha')]';
+作>'[make]';
+佝>'[rickets]';
+佞>'[flattery]';
+佩>'[belt ornament]';
+佯>'[pretend]';
+佰>'[hundred]';
+佳>'[good]';
+併>'[combine]';
+佶>'[strong]';
+佻>'[frivolous]';
+佼>'[beautiful]';
+使>'[cause]';
+侃>'[upright and strong]';
+來>'[come]';
+侈>'[luxurious]';
+例>'[precedent]';
+侍>'[serve]';
+侏>'[small]';
+侑>'[help]';
+侖>'[logical reasons]';
+侘>'[disappointed]';
+供>'[supply]';
+依>'[rely on]';
+侠>'[chivalrous person]';
+価>'[price]';
+侫>'[flattery]';
+侭>'[complete]';
+侮>'[insult]';
+侯>'[marquis]';
+侵>'[invade]';
+侶>'[companion]';
+便>'[convenience]';
+係>'[bind]';
+促>'[urge]';
+俄>'[sudden(ly)]';
+俊>'[talented]';
+俎>'[chopping board or block]';
+俐>'[smooth]';
+俑>'[wooden figure buried with dead]';
+俔>'[like]';
+俗>'[social customs]';
+俘>'[prisoner of war]';
+俚>'[rustic]';
+俛>'[make effort]';
+保>'[protect]';
+俟>'[wait for]';
+信>'[trust]';
+俣>'[big]';
+#"俣>'[big]'",
+俥>'[rickshaw]';
+修>'[study]';
+俯>'[bow down]';
+俳>'[actor]';
+俵>'[divide]';
+俶>'[start]';
+俸>'[wages]';
+俺>'[personal pronoun]';
+俾>'[so that]';
+倅>'[deputy]';
+倆>'[clever]';
+倉>'[granary]';
+個>'[numerary adjunct]';
+倍>'[times]';
+倏>'[hastily]';
+們>'[adjunct pronoun indicate plural]';
+倒>'[fall over]';
+倔>'[stubborn]';
+倖>'[lucky]';
+候>'[wait]';
+倚>'[rely on]';
+借>'[borrow]';
+倡>'[guide]';
+倣>'[imitate]';
+値>'[price]';
+倥>'[boorish]';
+倦>'[be tired of]';
+倨>'[arrogant]';
+倩>'[beautiful]';
+倪>'[feeble]';
+倫>'[normal human relationships]';
+倬>'[noticeable]';
+倭>'[dwarf]';
+倶>'[all]';
+倹>'[temperate]';
+偃>'[cease]';
+假>'[falsehood]';
+偈>'[brave]';
+偉>'[great]';
+偏>'[inclined one side]';
+偐>'[false]';
+偕>'[together]';
+偖>'[rip up]';
+做>'[work]';
+停>'[stop]';
+健>'[strong]';
+偬>'[urgent]';
+偲>'[talented]';
+側>'[side]';
+偵>'[spy]';
+偶>'[accidentally]';
+偸>'[to steal]';
+偽>'[false]';
+傀>'[great]';
+傅>'[tutor]';
+傍>'[by side of]';
+傑>'[hero]';
+傘>'[umbrella]';
+備>'[prepare]';
+傚>'[imitate]';
+催>'[press]';
+傭>'[hire]';
+傲>'[proud]';
+傳>'[summon]';
+傴>'[humpback]';
+債>'[debt]';
+傷>'[wound]';
+傾>'[upset]';
+僂>'[humpback]';
+僅>'[only]';
+僉>'[all]';
+僊>'[Taoist super-being]';
+働>'[labor]';
+像>'[picture]';
+僑>'[sojourn]';
+僕>'[slave]';
+僖>'[joy]';
+僚>'[companion]';
+僞>'[false]';
+僣>'[assume]';
+僥>'[be lucky]';
+僧>'[buddhist priest]';
+僭>'[assume]';
+僮>'[page]';
+僵>'[stiff and motionless]';
+價>'[price]';
+僻>'[out-of-the-way]';
+儀>'[ceremony]';
+儁>'[outstanding]';
+儂>'[I]';
+億>'[hundred million]';
+儉>'[temperate]';
+儒>'[confucian scholar]';
+儔>'[companion]';
+儕>'[a company]';
+#"儕>'[a company]'",
+儘>'[utmost]';
+#"儘>'[utmost]'",
+償>'[repay]';
+儡>'[puppet]';
+優>'[superior]';
+儲>'[save money]';
+儷>'[spouse]';
+儺>'[rich]';
+儻>'[if]';
+儼>'[grave]';
+儿>'[son]';
+兀>'[to cut off the feet]';
+允>'[to grant]';
+元>'[first]';
+兄>'[elder brother]';
+充>'[fill]';
+兆>'[omen]';
+兇>'[atrocious]';
+先>'[first]';
+光>'[light]';
+克>'[gram]';
+兌>'[cash]';
+免>'[spare]';
+兎>'[rabbit]';
+児>'[son]';
+兒>'[son]';
+兔>'[rabbit]';
+党>'[political party]';
+兜>'[pouch]';
+兢>'[fearful]';
+入>'[enter]';
+全>'[maintain]';
+兩>'[two]';
+兪>'[surname]';
+八>'[eight]';
+公>'[fair]';
+六>'[number six]';
+兮>'[exclamatory particle]';
+共>'[together with]';
+兵>'[soldier]';
+其>'[his]';
+具>'[tool]';
+典>'[law]';
+兼>'[unite]';
+冀>'[hope for]';
+冂>'[wide]';
+内>'[inside]';
+円>'[yen]';
+冉>'[tender]';
+冊>'[book]';
+册>'[book]';
+再>'[again]';
+冏>'[[not found in dictionary]]';
+冐>'[risk]';
+冑>'[helmet]';
+冒>'[risk]';
+冓>'[a secluded place]';
+冕>'[crown]';
+冖>'[cover]';
+冗>'[excessive]';
+写>'[write]';
+冠>'[cap]';
+冢>'[burial mound]';
+冤>'[grievance]';
+冥>'[dark]';
+冦>'[bandits]';
+冨>'[abundant]';
+冩>'[write]';
+冪>'[cover-cloth]';
+冫>'[ice]';
+冬>'[winter]';
+冰>'[ice]';
+冱>'[freezing]';
+冲>'[soar]';
+决>'[decide]';
+冴>'[freezing]';
+况>'[condition]';
+冶>'[smelt]';
+冷>'[cold]';
+冽>'[cold and raw]';
+凄>'[bitter cold]';
+凅>'[dried up]';
+准>'[approve]';
+凉>'[cool]';
+凋>'[be withered]';
+凌>'[pure]';
+凍>'[freeze]';
+凖>'[rule]';
+凛>'[to shiver with cold or fear]';
+凜>'[shiver with cold or fear]';
+凝>'[coagulate]';
+几>'[small table]';
+凡>'[all]';
+処>'[place]';
+凧>'[kite]';
+凩>'[wintry wind]';
+凪>'[calm]';
+凭>'[lean on]';
+凰>'[female phoenix]';
+凱>'[triumphant]';
+凵>'[receptacle]';
+凶>'[culprit]';
+凸>'[protrude]';
+凹>'[concave]';
+出>'[go out]';
+函>'[correspondence]';
+凾>'[correspondence]';
+刀>'[knife]';
+刃>'[edged tool]';
+刄>'[edged tool]';
+分>'[divide]';
+切>'[cut]';
+刈>'[cut off]';
+刊>'[publication]';
+刋>'[publication]';
+刎>'[behead]';
+刑>'[punishment]';
+刔>'[scoop out]';
+列>'[line]';
+初>'[beginning]';
+判>'[judge]';
+別>'[separate]';
+刧>'[disaster]';
+利>'[gains]';
+刪>'[to cut]';
+刮>'[shave]';
+到>'[go to]';
+刳>'[cut out]';
+制>'[system]';
+刷>'[brush]';
+券>'[certificate]';
+刹>'[temple]';
+刺>'[stab]';
+刻>'[carve]';
+剃>'[shave]';
+剄>'[cut throat]';
+則>'[rule]';
+削>'[scrape off]';
+剋>'[subdue]';
+剌>'[slash]';
+前>'[in front]';
+剏>'[establish]';
+剔>'[pick out]';
+剖>'[split in two]';
+剛>'[hard]';
+剞>'[carving or engraving knife]';
+剣>'[sword]';
+剤>'[medicinal preparation]';
+剥>'[peel]';
+剩>'[leftovers]';
+剪>'[scissors]';
+副>'[assist]';
+剰>'[leftovers]';
+剱>'[sword]';
+割>'[cut]';
+剳>'[brief note]';
+剴>'[sharpen]';
+創>'[establish]';
+剽>'[rob]';
+剿>'[destroy]';
+劃>'[divide]';
+劇>'[theatrical plays]';
+劈>'[cut apart]';
+劉>'[surname]';
+劍>'[sword]';
+劑>'[medicinal preparation]';
+劒>'[sword]';
+劔>'[sword]';
+力>'[power]';
+功>'[achievement]';
+加>'[add to]';
+劣>'[bad]';
+助>'[help]';
+努>'[exert]';
+劫>'[take by force]';
+劬>'[be diligent]';
+劭>'[encourage]';
+励>'[strive]';
+労>'[labor]';
+劵>'[certificate]';
+効>'[efficacious]';
+劼>'[be discreet]';
+劾>'[examine into]';
+勁>'[strong]';
+勃>'[suddenly]';
+勅>'[imperial degree]';
+勇>'[brave]';
+勉>'[endeavor]';
+勍>'[strong]';
+勒>'[strangle]';
+動>'[move]';
+勗>'[enjoin]';
+勘>'[investigate]';
+務>'[affairs]';
+勝>'[victory]';
+勞>'[labor]';
+募>'[levy]';
+勠>'[join forces]';
+勢>'[power]';
+勣>'[achievements]';
+勤>'[industrious]';
+勦>'[destroy]';
+勧>'[recommend]';
+勲>'[meritorious deed]';
+勳>'[meritorious deed]';
+勵>'[strive]';
+勸>'[recommend]';
+勹>'[wrap]';
+勺>'[spoon]';
+勾>'[hook]';
+勿>'[must not]';
+匁>'[Japanese unit of weight (1/1000 of a kan)]';
+匂>'[fragrance]';
+包>'[wrap]';
+匆>'[hastily]';
+匈>'[breast]';
+匍>'[crawl]';
+匏>'[gourd]';
+匐>'[fall prostrate]';
+匕>'[spoon]';
+化>'[change]';
+北>'[north]';
+匙>'[spoon]';
+匚>'[box]';
+匝>'[full circle]';
+匠>'[craftsman]';
+匡>'[correct]';
+匣>'[small box]';
+匪>'[bandits]';
+匯>'[concourse]';
+匱>'[to lack]';
+匳>'[ladies toilet case with mirror]';
+匸>'[box]';
+匹>'[bolt of cloth]';
+区>'[area]';
+医>'[cure]';
+匿>'[hide]';
+區>'[area]';
+十>'[ten]';
+千>'[thousand]';
+卅>'[thirty]';
+卆>'[soldier]';
+升>'[arise]';
+午>'[noon]';
+卉>'[general term for plants]';
+半>'[half]';
+卍>'[swastika - fourth of auspicious]';
+卑>'[humble]';
+卒>'[soldier]';
+卓>'[profound]';
+協>'[be united]';
+南>'[south]';
+#"南>'[south]'",
+博>'[gamble]';
+卜>'[fortune telling]';
+卞>'[be impatient]';
+占>'[divine]';
+卦>'[fortune telling]';
+卩>'[seal]';
+卮>'[measuring cup]';
+卯>'[4th of Earth Branches]';
+印>'[print]';
+危>'[dangerous]';
+即>'[promptly]';
+却>'[still]';
+卵>'[egg]';
+卷>'[scroll]';
+卸>'[lay down]';
+卻>'[still]';
+卿>'[noble]';
+厂>'[factory]';
+厄>'[adversity]';
+厖>'[bulky]';
+厘>'[thousandth part of tael]';
+厚>'[thick]';
+原>'[source]';
+厠>'[mingle with]';
+厥>'[personal pronoun - he]';
+厦>'[big building]';
+厨>'[kitchen]';
+厩>'[stable]';
+厭>'[dislike]';
+厮>'[servant]';
+厰>'[factory]';
+厳>'[strict]';
+厶>'[private]';
+去>'[go away]';
+参>'[take part in]';
+參>'[take part in]';
+又>'[and]';
+叉>'[crotch]';
+及>'[extend]';
+友>'[friend]';
+双>'[set of two]';
+反>'[reverse]';
+収>'[gather together]';
+叔>'[father''s younger brother]';
+取>'[take]';
+受>'[receive]';
+叙>'[express]';
+叛>'[rebel]';
+叟>'[old man]';
+叡>'[astute]';
+叢>'[bush]';
+口>'[mouth]';
+古>'[old]';
+句>'[sentence]';
+叨>'[talkative]';
+叩>'[knock]';
+只>'[only]';
+叫>'[cry]';
+召>'[imperial decree]';
+叭>'[trumpet]';
+叮>'[exhort or enjoin repeatedly]';
+可>'[may]';
+台>'[platform]';
+叱>'[scold]';
+史>'[history]';
+右>'[right]';
+叶>'[to harmonize]';
+号>'[mark]';
+司>'[take charge of]';
+#"叹>'[sigh]'",
+吁>'[interjection \"Alas!\"]';
+吃>'[eat]';
+各>'[each]';
+合>'[combine]';
+吉>'[lucky]';
+吊>'[condole]';
+吋>'[inch]';
+同>'[same]';
+名>'[name]';
+后>'[queen]';
+吏>'[government official]';
+吐>'[vomit]';
+向>'[toward]';
+君>'[sovereign]';
+吝>'[stingy]';
+吟>'[sing]';
+吠>'[bark]';
+否>'[not]';
+吩>'[order]';
+含>'[hold in mouth]';
+听>'[hear]';
+吭>'[throat]';
+吮>'[suck with mouth]';
+吶>'[raise voice]';
+吸>'[inhale]';
+吹>'[blow]';
+吻>'[kiss]';
+吼>'[roar]';
+吽>'[\"OM\"]';
+吾>'[i]';
+呀>'[particle used express surprise]';
+呂>'[surname]';
+呆>'[dull]';
+呈>'[submit]';
+呉>'[one of warring states]';
+告>'[tell]';
+呎>'[foot]';
+呑>'[swallow]';
+#"呜>'[sound of crying]'",
+周>'[zhou dynasty]';
+呪>'[curse]';
+#"呰>'[................................]'",
+呱>'[wail]';
+味>'[taste]';
+呵>'[scold]';
+呶>'[talkative]';
+呷>'[suck]';
+呻>'[groan]';
+呼>'[breathe sigh]';
+命>'[life]';
+咀>'[suck]';
+咄>'[noise of rage]';
+咆>'[roar]';
+咋>'[why? how? what?]';
+和>'[harmony]';
+咎>'[fault]';
+咏>'[sing song or poem]';
+咐>'[instruct]';
+咒>'[curse]';
+咢>'[sound]';
+咤>'[scold]';
+咥>'[sound of cat]';
+咨>'[inquire]';
+咫>'[foot measure of Zhou dynasty]';
+咬>'[bite]';
+咯>'[final particle]';
+咲>'[smile]';
+咳>'[cough]';
+咸>'[together]';
+咼>'[chat]';
+咽>'[throat]';
+咾>'[a noise]';
+哀>'[sad]';
+品>'[article]';
+哂>'[smile]';
+哄>'[coax]';
+哇>'[vomit]';
+哈>'[sound of laughter]';
+哉>'[final exclamatory particle]';
+#"哗>'[rushing sound]'",
+員>'[member]';
+哢>'[syllable]';
+哥>'[elder brother]';
+哦>'[oh? really? is that so?]';
+哨>'[whistle]';
+哩>'[mile]';
+哭>'[weep]';
+哮>'[cough]';
+哲>'[wise]';
+哺>'[chew food]';
+哽>'[choke]';
+唄>'[final particle of assertion pathaka]';
+唆>'[make mischief]';
+唇>'[lips]';
+唏>'[weep or sob]';
+唐>'[tang dynasty]';
+唔>'[hold in mouth]';
+唖>'[dumb]';
+售>'[sell]';
+唯>'[only]';
+唱>'[sing]';
+唳>'[cry of bird]';
+唸>'[recite]';
+唹>'[to smile at]';
+唾>'[spit]';
+啀>'[gnaw]';
+啄>'[to peck]';
+#"啄>'[to peck]'",
+商>'[commerce]';
+啌>'[animal disease]';
+問>'[ask (about)]';
+啓>'[open]';
+啖>'[eat]';
+啗>'[eat]';
+啜>'[sip]';
+#"啜>'[sip]'",
+啣>'[hold in mouth]';
+啻>'[only]';
+啼>'[weep]';
+啾>'[wailing of child]';
+喀>'[vomit]';
+喃>'[keep talking]';
+善>'[good]';
+喇>'[horn]';
+喉>'[throat]';
+喊>'[shout]';
+喋>'[nag]';
+喘>'[pant]';
+喙>'[beak]';
+喚>'[call]';
+喜>'[like]';
+喝>'[drink]';
+喞>'[chirping of insects]';
+喟>'[heave sigh]';
+喧>'[lively]';
+喨>'[wail]';
+喩>'[metaphor]';
+喪>'[mourning]';
+喫>'[eat]';
+喬>'[tall]';
+單>'[single]';
+喰>'[to eat]';
+営>'[encampment]';
+嗄>'[hoarse of voice]';
+嗅>'[smell]';
+嗇>'[miserly]';
+嗔>'[be angry at]';
+嗚>'[sound of crying]';
+嗜>'[be fond of]';
+嗟>'[sigh]';
+嗣>'[to connect]';
+嗤>'[laugh at]';
+嗷>'[loud clamor]';
+嗹>'[chatter]';
+嗽>'[cough]';
+嗾>'[to set a dog on]';
+嘆>'[sigh]';
+嘉>'[excellent]';
+嘔>'[vomit]';
+嘖>'[interjection of approval or admi]';
+嘗>'[taste]';
+嘘>'[exhale]';
+嘛>'[final exclamatory particle]';
+嘩>'[rushing sound]';
+嘯>'[roar]';
+嘱>'[order]';
+嘲>'[ridicule]';
+嘴>'[mouth]';
+嘶>'[neighing of a horse]';
+嘸>'[unclear]';
+噂>'[meet]';
+噌>'[scold]';
+噎>'[choke]';
+噐>'[receptacle]';
+噛>'[bite]';
+噤>'[close]';
+器>'[receptacle]';
+噪>'[be noisy]';
+噫>'[belch]';
+噬>'[bite]';
+噴>'[spurt]';
+噸>'[metric ton]';
+噺>'[story]';
+嚀>'[enjoin]';
+嚆>'[give forth sound]';
+嚇>'[scare]';
+嚊>'[to pant]';
+嚏>'[sneeze]';
+嚔>'[sneeze]';
+#"嚜>'[be silent]'",
+嚢>'[bag]';
+嚥>'[swallow]';
+嚮>'[guide]';
+嚴>'[strict]';
+嚶>'[seek friends]';
+嚼>'[prattle]';
+囀>'[sing]';
+囁>'[move lip when speaking]';
+囂>'[be noisy]';
+#"囂>'[be noisy]'",
+囈>'[talk in one''s sleep]';
+#"囍>'[double happiness]'",
+囑>'[order]';
+囓>'[gnaw]';
+囗>'[erect]';
+囘>'[return]';
+囚>'[prisoner]';
+四>'[four]';
+回>'[return]';
+因>'[cause]';
+団>'[sphere]';
+囮>'[inveigle]';
+困>'[surround]';
+囲>'[surround]';
+図>'[diagram]';
+囹>'[prison]';
+固>'[become solid]';
+国>'[nation]';
+囿>'[pen up]';
+圀>'[nation]';
+圃>'[garden]';
+圄>'[prison]';
+圈>'[to circle]';
+圉>'[stable]';
+國>'[nation]';
+圍>'[surround]';
+圏>'[to circle]';
+園>'[garden]';
+圓>'[circle]';
+圖>'[diagram]';
+團>'[sphere]';
+圜>'[circle]';
+土>'[soil]';
+圦>'[(kokuji) water gate]';
+#"圦>'[(kokuji) water gate]'",
+在>'[be at]';
+圭>'[jade pointed at top]';
+地>'[earth]';
+#"圳>'[furrow in field]'",
+#"圳>'[furrow in field]'",
+圻>'[border]';
+址>'[site]';
+坂>'[hillside]';
+均>'[equal]';
+坊>'[neighborhood]';
+坎>'[pit]';
+坏>'[rotten]';
+坐>'[sit]';
+坑>'[pit]';
+坡>'[slope]';
+坤>'[earth]';
+坦>'[flat]';
+坩>'[earthenware]';
+坪>'[level ground]';
+坿>'[mound]';
+垂>'[let down]';
+#"垆>'[black clods of earth]'",
+#"垉>'[................................]'",
+型>'[pattern]';
+垓>'[border]';
+垠>'[boundary]';
+垢>'[dirt]';
+垣>'[low wall]';
+垤>'[ant-hill]';
+#"垩>'[holy]'",
+#"垮>'[be defeated]'",
+#"垲>'[high and dry place]'",
+埀>'[let down]';
+埃>'[fine dust]';
+埆>'[stony]';
+埋>'[bury]';
+城>'[castle]';
+埒>'[enclosure]';
+埓>'[enclosure]';
+埔>'[plain]';
+#"埔>'[plain]'",
+埜>'[open country]';
+域>'[district]';
+埠>'[port city]';
+#"埣>'[................................]'",
+埴>'[soil with large clay content]';
+執>'[hold in hand]';
+培>'[bank up with dirt]';
+基>'[foundation]';
+埼>'[headland]';
+堀>'[cave]';
+堂>'[hall]';
+堅>'[hard]';
+堆>'[heap]';
+堊>'[white earth]';
+堋>'[bury]';
+堕>'[fall]';
+堙>'[bury]';
+堝>'[crucible]';
+堡>'[fort]';
+堤>'[dike]';
+堪>'[adequately capable of]';
+堯>'[a legendary ancient emperor-sage]';
+堰>'[dam]';
+報>'[report]';
+場>'[open space]';
+堵>'[wall]';
+堺>'[person''s name]';
+堽>'[mound]';
+塀>'[wall]';
+塁>'[rampart]';
+塊>'[piece]';
+塋>'[grave]';
+塑>'[model in clay]';
+塒>'[roost]';
+塔>'[tower]';
+塗>'[smear]';
+塘>'[pond]';
+塙>'[truly]';
+塚>'[cemetery]';
+塞>'[stop up]';
+塢>'[entrenchment]';
+塩>'[salt]';
+填>'[fill in]';
+#"塭>'[[not found in any dictionary]]'",
+塲>'[open space]';
+塵>'[dust]';
+塹>'[moat]';
+塾>'[village school]';
+境>'[boundery]';
+墅>'[villa]';
+墓>'[grave]';
+増>'[increase]';
+墜>'[fall down]';
+墟>'[high mound]';
+墨>'[ink]';
+墫>'[cup]';
+墮>'[fall]';
+墳>'[grave]';
+#"墳>'[grave]'",
+#"墳>'[grave]'",
+墺>'[4 walls]';
+墻>'[wall]';
+墾>'[cultivate]';
+壁>'[partition wall]';
+壅>'[to obstruct]';
+壇>'[altar]';
+壊>'[bad]';
+壌>'[soil]';
+壑>'[bed of torrent]';
+壓>'[press]';
+壕>'[trench]';
+#"壖>'[open space along water]'",
+壘>'[rampart]';
+壙>'[tomb]';
+壜>'[earthen jar or jug]';
+壞>'[bad]';
+壟>'[grave]';
+壤>'[soil]';
+#"壥>'[................................]'",
+士>'[scholar]';
+壬>'[ninth of ten celestial stems]';
+壮>'[big]';
+壯>'[big]';
+声>'[sound]';
+壱>'[number one]';
+売>'[sell]';
+壷>'[jar]';
+壹>'[number one]';
+壺>'[jar]';
+壻>'[son-in-law]';
+壼>'[palace corridor or passageway]';
+壽>'[old age]';
+夂>'[go]';
+変>'[change]';
+夊>'[Radical No. 35]';
+夏>'[summer]';
+夐>'[long]';
+夕>'[evening]';
+外>'[out]';
+夘>'[4th of Earth Branches]';
+夙>'[early in morning]';
+多>'[much]';
+夛>'[much]';
+夜>'[night]';
+夢>'[dream]';
+夥>'[companion]';
+大>'[big]';
+天>'[sky]';
+太>'[very]';
+夫>'[man]';
+夬>'[parted]';
+夭>'[young]';
+央>'[center]';
+失>'[lose]';
+夲>'[advance quickly]';
+夷>'[ancient barbarian tribes]';
+夸>'[extravagant]';
+夾>'[be wedged or inserted between]';
+奄>'[ere long]';
+奇>'[strange]';
+奈>'[but]';
+奉>'[offer]';
+奎>'[stride of man]';
+奏>'[memorialize emperor]';
+奐>'[be numerous]';
+契>'[deed]';
+奔>'[run fast]';
+奕>'[in sequence]';
+套>'[case]';
+奘>'[large]';
+奚>'[where? what? how? why?]';
+奠>'[pay respect]';
+奢>'[extravagant]';
+奥>'[mysterious]';
+奧>'[mysterious]';
+奨>'[prize]';
+奩>'[lady''s vanity case]';
+奪>'[take by force]';
+奬>'[prize]';
+奮>'[strive]';
+女>'[woman]';
+奴>'[slave]';
+奸>'[crafty]';
+好>'[good]';
+妁>'[act as go-between]';
+如>'[if]';
+妃>'[wife]';
+妄>'[absurd]';
+妊>'[conceive]';
+妍>'[beautiful]';
+妓>'[prostitute]';
+妖>'[strange]';
+妙>'[mysterious]';
+#"妙>'[mysterious]'",
+妝>'[adorn oneself]';
+妣>'[one''s deceased mother]';
+妥>'[satisfactory]';
+妨>'[interfere with]';
+妬>'[jealous]';
+妲>'[concubine of last ruler of shang]';
+妹>'[younger sister]';
+妻>'[wife]';
+妾>'[concubine]';
+姆>'[child''s governess]';
+姉>'[elder sister]';
+始>'[begin]';
+姐>'[elder sister]';
+姑>'[father''s sister]';
+姓>'[one''s family name]';
+委>'[appoint]';
+姙>'[conceive]';
+姚>'[handsome]';
+姜>'[surname]';
+姥>'[maternal grandmother]';
+姦>'[adultery]';
+姨>'[mother/wife''s sister]';
+姪>'[niece]';
+姫>'[beauty]';
+#"姱>'[beautiful]'",
+姻>'[relatives by marriage]';
+姿>'[one''s manner]';
+威>'[pomp]';
+娃>'[baby]';
+娉>'[beautiful]';
+娑>'[dance]';
+娘>'[mother]';
+#"娚>'[................................]'",
+娜>'[elegant]';
+娟>'[beautiful]';
+娠>'[pregnant]';
+娥>'[be beautiful]';
+娩>'[give birth child]';
+娯>'[pleasure]';
+娵>'[star]';
+娶>'[marry]';
+娼>'[prostitute]';
+婀>'[be beautiful]';
+婁>'[surname]';
+婆>'[old woman]';
+婉>'[amiable]';
+婚>'[get married]';
+婢>'[servant girl]';
+婦>'[married women]';
+婪>'[covet]';
+婬>'[obscene]';
+婿>'[son-in-law]';
+媒>'[go-between]';
+媚>'[charming]';
+媛>'[beauty]';
+媼>'[old woman]';
+媽>'[mother]';
+媾>'[marry]';
+嫁>'[marry]';
+嫂>'[sister-in-law]';
+嫉>'[jealousy]';
+嫋>'[slender and delicate]';
+嫌>'[hate]';
+嫐>'[frolic]';
+嫖>'[patronize prostitutes]';
+嫗>'[old woman]';
+嫡>'[legal wife]';
+嫣>'[charming]';
+嫦>'[name of a moon goddess]';
+嫩>'[soft]';
+嫺>'[refined]';
+嫻>'[elegant]';
+嬉>'[enjoy]';
+嬋>'[beautiful]';
+嬌>'[seductive and loveable]';
+嬖>'[favorite]';
+嬢>'[troubled]';
+嬪>'[court lady]';
+嬬>'[mistress]';
+嬰>'[baby]';
+嬲>'[frolic]';
+#"嬴>'[to win]'",
+嬾>'[lazy]';
+孀>'[widow]';
+孃>'[troubled]';
+孅>'[slender]';
+子>'[offspring]';
+孑>'[remaining]';
+孔>'[opening]';
+孕>'[be pregnant]';
+字>'[letter]';
+存>'[exist]';
+孚>'[brood over eggs]';
+孛>'[comet]';
+孜>'[be as diligent as possible]';
+孝>'[filial piety]';
+孟>'[first in series]';
+季>'[quarter of year]';
+孤>'[orphan]';
+孥>'[one''s children]';
+学>'[learning]';
+孩>'[baby]';
+孫>'[grandchild]';
+孰>'[who? which? what? which one?]';
+孱>'[weak]';
+孳>'[breed in large numbers]';
+孵>'[sit on eggs]';
+學>'[learning]';
+孺>'[child]';
+宀>'[roof]';
+它>'[it]';
+宅>'[residence]';
+宇>'[house]';
+守>'[defend]';
+安>'[peaceful]';
+宋>'[Song dynasty]';
+完>'[complete]';
+宍>'[flesh]';
+宏>'[wide]';
+宕>'[stone quarry]';
+宗>'[lineage]';
+官>'[official]';
+宙>'[time as concept]';
+定>'[decide]';
+宛>'[seem]';
+宜>'[suitable]';
+宝>'[treasure]';
+実>'[real]';
+客>'[guest]';
+宣>'[declare]';
+室>'[room]';
+宥>'[forgive]';
+宦>'[officialdom]';
+宮>'[palace]';
+宰>'[to slaughter]';
+害>'[injure]';
+宴>'[entertain]';
+宵>'[night]';
+家>'[house]';
+宸>'[imperial]';
+容>'[looks]';
+宿>'[stop]';
+寂>'[still]';
+寃>'[grievance]';
+寄>'[send]';
+寅>'[respect]';
+密>'[dense]';
+寇>'[bandits]';
+#"寉>'[................................]'",
+富>'[abundant]';
+寐>'[sleep]';
+寒>'[cold]';
+寓>'[residence]';
+寔>'[real]';
+寛>'[broad]';
+寝>'[sleep]';
+寞>'[silent]';
+察>'[examine]';
+寡>'[widowed]';
+寢>'[sleep]';
+寤>'[few]';
+寥>'[few]';
+實>'[real]';
+寧>'[repose]';
+寨>'[stockade]';
+審>'[examine]';
+寫>'[write]';
+寮>'[shanty]';
+寰>'[great domain]';
+寳>'[treasure]';
+寵>'[favorite]';
+寶>'[treasure]';
+寸>'[inch]';
+寺>'[court]';
+対>'[correct]';
+寿>'[old age]';
+封>'[letter]';
+専>'[monopolize]';
+射>'[shoot]';
+尅>'[subdue]';
+将>'[will]';
+將>'[will]';
+專>'[monopolize]';
+尉>'[officer]';
+尊>'[respect]';
+尋>'[seek]';
+對>'[correct]';
+導>'[direct]';
+小>'[small]';
+少>'[few]';
+尓>'[you]';
+尖>'[sharp]';
+尚>'[still]';
+尠>'[very few]';
+尢>'[weak]';
+尤>'[especially]';
+尨>'[shaggy haired dog]';
+尭>'[a legendary ancient emperor-sage]';
+就>'[just]';
+尸>'[corpse]';
+尹>'[govern]';
+尺>'[chinese measure approx. \"foot\"]';
+尻>'[end of spine]';
+尼>'[buddhist nun]';
+尽>'[exhaust]';
+尾>'[tail]';
+尿>'[urine]';
+局>'[bureau]';
+屁>'[break wind]';
+居>'[live]';
+屆>'[numerary adjunct for time]';
+屈>'[bend]';
+届>'[numerary adjunct for time]';
+屋>'[house]';
+屍>'[corpse]';
+屎>'[excrement]';
+屏>'[folding screen]';
+屐>'[wooden shoes]';
+屑>'[bits]';
+屓>'[gigantic strength]';
+展>'[open]';
+属>'[class]';
+屠>'[butcher]';
+屡>'[frequently]';
+層>'[storey]';
+履>'[footwear]';
+屬>'[class]';
+屮>'[sprout]';
+屯>'[village]';
+山>'[mountain]';
+屶>'[lofty]';
+屹>'[to rise high]';
+岌>'[perilous]';
+岐>'[high]';
+岑>'[steep]';
+岔>'[diverge]';
+岡>'[ridge or crest of hill]';
+岨>'[uneven]';
+岩>'[cliff]';
+岫>'[mountain peak]';
+岬>'[cape]';
+岱>'[daishan one of five sacred mount]';
+岳>'[mountain peak]';
+#"岶>'[................................]'",
+岷>'[min mountain]';
+岸>'[bank]';
+#"岺>'[mountain ridge]'",
+#"岺>'[mountain ridge]'",
+岾>'[mountain pass (korean)]';
+#"峄>'[range of peaks]'",
+峇>'[cave]';
+峙>'[stand erect]';
+峠>'[mountain pass]';
+峡>'[gorge]';
+峨>'[lofty]';
+峩>'[lofty]';
+峪>'[valley]';
+峭>'[steep]';
+峯>'[peak]';
+峰>'[peak]';
+島>'[island]';
+#"峺>'[................................]'",
+峻>'[high]';
+峽>'[gorge]';
+崇>'[esteem]';
+崋>'[flowery]';
+崎>'[rough]';
+崑>'[Kunlun mountains in Jiang Su province.]';
+崔>'[high]';
+崕>'[cliff]';
+崖>'[cliff]';
+崗>'[post]';
+崘>'[kunlun mountains in jiangsu]';
+崙>'[kunlun mountains in jiangsu]';
+崚>'[hilly]';
+崛>'[towering]';
+崟>'[cliffs]';
+崢>'[high]';
+崩>'[rupture]';
+嵋>'[omei mountain in sichuan]';
+嵌>'[inlay]';
+嵎>'[mountain recess]';
+嵐>'[mountain mist]';
+嵒>'[cliff]';
+嵜>'[rough]';
+嵩>'[high]';
+嵬>'[high]';
+嵯>'[high]';
+嵳>'[high]';
+嵶>'[low part of a mountain]';
+嶂>'[cliff]';
+嶄>'[high]';
+嶇>'[steep]';
+嶋>'[island]';
+嶌>'[island]';
+#"嶐>'[................................]'",
+嶝>'[path leading up a mountain]';
+嶢>'[high or tall]';
+#"嶬>'[................................]'",
+嶮>'[high]';
+嶷>'[range of mountains in hunan prov]';
+嶺>'[mountain ridge]';
+嶼>'[island]';
+嶽>'[mountain peak]';
+巉>'[steep]';
+巌>'[cliff]';
+巍>'[high]';
+巒>'[mountain range]';
+巓>'[summit of mountain]';
+巖>'[cliff]';
+巛>'[river]';
+川>'[stream]';
+州>'[administrative division]';
+巡>'[patrol]';
+巣>'[nest]';
+工>'[labor]';
+左>'[left]';
+巧>'[skillful]';
+巨>'[large]';
+巫>'[wizard]';
+差>'[differ]';
+己>'[self]';
+已>'[already]';
+巳>'[sixth of twelve branches]';
+巴>'[greatly desire]';
+巵>'[measuring cup]';
+巷>'[alley]';
+巻>'[scroll]';
+巽>'[5th of the 8 trigrams]';
+巾>'[kerchief]';
+市>'[market]';
+布>'[cotton cloth]';
+帆>'[sail]';
+帋>'[paper]';
+希>'[rare]';
+帑>'[a treasury]';
+帖>'[invitation card]';
+帙>'[book cover]';
+帚>'[broom]';
+帛>'[silks]';
+帝>'[supreme ruler]';
+帥>'[commander]';
+師>'[teacher]';
+席>'[seat]';
+帯>'[belt]';
+帰>'[return]';
+帳>'[tent]';
+帶>'[belt]';
+帷>'[tent]';
+常>'[common]';
+帽>'[hat]';
+幀>'[picture]';
+幃>'[curtain that forms wall]';
+幄>'[tent]';
+幅>'[piece]';
+幇>'[help]';
+幌>'[curtain]';
+幎>'[cover-cloth]';
+幔>'[curtain]';
+幕>'[curtain]';
+幗>'[women''s headgear]';
+幟>'[flag]';
+幡>'[pennant]';
+幢>'[carriage curtain]';
+幣>'[currency]';
+幤>'[evil]';
+干>'[oppose]';
+平>'[flat]';
+年>'[year]';
+幵>'[even level. to raise in both hands]';
+并>'[combine]';
+幸>'[luck(ily)]';
+幹>'[trunk of tree or of human body]';
+幺>'[one]';
+幻>'[illusion]';
+幼>'[infant]';
+幽>'[quiet]';
+幾>'[how many? how much? (a)few]';
+广>'[wide]';
+庁>'[hall]';
+広>'[broad]';
+庄>'[village]';
+庇>'[cover]';
+床>'[bed]';
+序>'[series]';
+底>'[bottom]';
+庖>'[kitchen]';
+店>'[shop]';
+庚>'[seventh of ten cyclical stems]';
+府>'[prefecture]';
+庠>'[village school]';
+度>'[degree]';
+座>'[seat]';
+庫>'[armory]';
+庭>'[courtyard]';
+庵>'[buddhist monastery or nunnery]';
+庶>'[numerous]';
+康>'[peaceful]';
+庸>'[usual]';
+廁>'[toilet]';
+廂>'[side-room]';
+廃>'[abrogate]';
+廈>'[big building]';
+廉>'[upright]';
+廊>'[corridor]';
+廏>'[stable]';
+廐>'[stable]';
+廓>'[broad]';
+廖>'[surname]';
+廚>'[kitchen]';
+廛>'[store]';
+廝>'[servant]';
+廟>'[temple]';
+廠>'[factory]';
+廡>'[corridor]';
+廢>'[abrogate]';
+廣>'[broad]';
+廨>'[government office]';
+廩>'[granary]';
+廬>'[hut]';
+廰>'[hall]';
+廱>'[harmonious]';
+廳>'[hall]';
+廴>'[go]';
+延>'[delay]';
+廷>'[court]';
+廸>'[enlighten]';
+建>'[build]';
+廻>'[circle around]';
+廼>'[then]';
+廾>'[two hands]';
+廿>'[twenty]';
+弁>'[conical cap worn under zhou dyna]';
+弃>'[reject]';
+弄>'[do]';
+弉>'[large]';
+弊>'[evil]';
+弋>'[catch]';
+弌>'[number one]';
+弍>'[number two]';
+式>'[style]';
+弐>'[number two]';
+弑>'[to kill one''s superior]';
+弓>'[bow]';
+弔>'[condole]';
+引>'[pull]';
+弖>'[phonetic for \"te\" (Japanese)]';
+弗>'[not]';
+弘>'[enlarge]';
+弛>'[loosen]';
+弟>'[young brother]';
+弥>'[extensive]';
+弦>'[string]';
+弧>'[wooden bow]';
+弩>'[cross-bow]';
+弭>'[stop]';
+弯>'[bend]';
+弱>'[weak]';
+張>'[stretch]';
+強>'[strong]';
+弸>'[bow stretched full]';
+弼>'[aid]';
+#"弼>'[aid]'",
+#"彁>'[................................]'",
+彈>'[pellet]';
+彊>'[stubborn]';
+彌>'[extensive]';
+彎>'[bend]';
+彑>'[snout]';
+当>'[bear]';
+彖>'[a hog]';
+彗>'[broomstick]';
+彙>'[collect]';
+彜>'[yi]';
+彝>'[yi]';
+彡>'[hair]';
+形>'[form]';
+彦>'[elegant]';
+彩>'[hue]';
+彪>'[tiger]';
+彫>'[carve]';
+彬>'[cultivated]';
+彭>'[name of ancient country]';
+彰>'[clear]';
+影>'[shadow]';
+彳>'[step with left foot]';
+彷>'[like]';
+役>'[service]';
+彼>'[that]';
+彿>'[resembling]';
+往>'[go]';
+征>'[invade]';
+徂>'[go]';
+徃>'[go]';
+径>'[narrow path]';
+待>'[treat]';
+徇>'[comply with]';
+很>'[very]';
+徊>'[linger]';
+律>'[statute]';
+後>'[behind]';
+徐>'[slowly]';
+徑>'[narrow path]';
+徒>'[disciple]';
+従>'[from]';
+得>'[obtain]';
+徘>'[walk back and forth]';
+徙>'[move one''s abode]';
+從>'[from]';
+徠>'[induce]';
+御>'[drive]';
+徨>'[doubtful]';
+復>'[return]';
+循>'[obey]';
+徭>'[conscript labor]';
+微>'[small]';
+徳>'[virtue]';
+徴>'[summon]';
+徹>'[penetrate]';
+徼>'[frontier]';
+徽>'[a badge]';
+心>'[heart]';
+必>'[surely]';
+忌>'[jealous]';
+忍>'[endure]';
+忖>'[guess]';
+志>'[purpose]';
+忘>'[forget]';
+忙>'[busy]';
+応>'[should]';
+忝>'[disgrace]';
+忠>'[loyalty]';
+忤>'[insubordinate]';
+快>'[rapid]';
+忰>'[suffer]';
+忱>'[truth]';
+念>'[think of]';
+忸>'[blush]';
+忻>'[delightful]';
+忽>'[suddenly]';
+忿>'[get angry]';
+怎>'[what? why? how?]';
+怏>'[discontented]';
+#"怐>'[................................]'",
+怒>'[anger]';
+怕>'[fear]';
+怖>'[terror]';
+怙>'[rely on]';
+怛>'[grieved]';
+怜>'[pity]';
+思>'[think]';
+怠>'[idle]';
+怡>'[harmony]';
+急>'[quick]';
+怦>'[eager]';
+性>'[nature]';
+怨>'[hatred]';
+怩>'[shy]';
+怪>'[strange]';
+怫>'[sorry]';
+怯>'[lacking in courage]';
+怱>'[hastily]';
+怺>'[to endure]';
+恁>'[that]';
+恂>'[careful]';
+恃>'[rely on]';
+恆>'[constant]';
+恊>'[be united]';
+恋>'[love]';
+恍>'[seemingly]';
+恐>'[fear]';
+恒>'[constant]';
+恕>'[forgive]';
+恙>'[illness]';
+恚>'[anger]';
+恟>'[scared]';
+恠>'[strange]';
+恢>'[restore]';
+恣>'[indulge oneself]';
+恤>'[show pity]';
+恥>'[shame]';
+恨>'[hatred]';
+恩>'[kindness]';
+恪>'[respectful]';
+恫>'[in pain]';
+恬>'[quiet]';
+恭>'[respectful]';
+息>'[rest]';
+恰>'[just]';
+恵>'[favor]';
+#"恶>'[evil]'",
+悁>'[irritable]';
+悃>'[sincere]';
+悄>'[silent]';
+悉>'[know]';
+悋>'[stingy]';
+悌>'[brotherly]';
+悍>'[courageous]';
+悒>'[sorrowful]';
+悔>'[repent]';
+悖>'[be contradictory to]';
+#"悖>'[be contradictory to]'",
+悚>'[be afraid]';
+悛>'[repent]';
+悟>'[apprehend]';
+悠>'[long]';
+患>'[suffer]';
+悦>'[pleased]';
+悧>'[smooth]';
+悩>'[angered]';
+悪>'[evil]';
+悲>'[sorrow]';
+悳>'[ethics]';
+悴>'[suffer]';
+悵>'[disappointed]';
+悶>'[gloomy]';
+悸>'[fearful]';
+悼>'[grieve]';
+悽>'[sorrowful]';
+情>'[feeling]';
+惆>'[distressed]';
+惇>'[be kind]';
+惑>'[confuse]';
+惓>'[careful]';
+惘>'[disconcerted]';
+惚>'[absent-minded]';
+惜>'[pity]';
+惟>'[but]';
+惠>'[favor]';
+惡>'[evil]';
+惣>'[overall [questionable variant]]';
+惧>'[fear]';
+惨>'[sad]';
+惰>'[indolent]';
+惱>'[angered]';
+想>'[think]';
+惴>'[afraid]';
+惶>'[fearful]';
+惷>'[wriggle]';
+惹>'[irritate]';
+惺>'[intelligent]';
+惻>'[feel anguish]';
+愀>'[change one''s countenance]';
+愁>'[anxiety]';
+愃>'[relax]';
+愆>'[fault]';
+愈>'[more and more]';
+愉>'[pleasant]';
+愍>'[pity]';
+愎>'[obstinate]';
+意>'[thought]';
+愕>'[startled]';
+愚>'[stupid]';
+愛>'[love]';
+感>'[feel]';
+愡>'[absent-minded]';
+愧>'[ashamed]';
+愨>'[sincerity]';
+愬>'[accuse]';
+愴>'[sad]';
+愼>'[act with care]';
+愽>'[gamble]';
+愾>'[anger]';
+愿>'[sincere]';
+慂>'[urge]';
+慄>'[shiver]';
+慇>'[careful]';
+慈>'[kind]';
+慊>'[to resent]';
+態>'[manner]';
+慌>'[nervous]';
+慍>'[angry]';
+慎>'[act with care]';
+#"慓>'[................................]'",
+慕>'[long for]';
+慘>'[sad]';
+慙>'[ashamed]';
+慚>'[ashamed]';
+慝>'[do evil in secret]';
+慟>'[sadness]';
+慢>'[slow(ly)]';
+慣>'[habit]';
+慥>'[sincere]';
+慧>'[bright]';
+慨>'[sigh]';
+慫>'[to alarm]';
+慮>'[be concerned]';
+#"慯>'[................................]'",
+慰>'[comfort]';
+慱>'[sad]';
+慳>'[miserly]';
+慴>'[fear]';
+慵>'[indolent]';
+慶>'[congratulate]';
+慷>'[ardent]';
+慾>'[lust]';
+憂>'[sad]';
+憇>'[rest]';
+憊>'[tired]';
+憎>'[hate]';
+憐>'[pity]';
+憑>'[lean on]';
+憔>'[be worn-out]';
+憖>'[cautious]';
+憙>'[like]';
+憚>'[dread]';
+憤>'[resent]';
+憧>'[irresolute]';
+憩>'[rest]';
+憫>'[pity]';
+憬>'[rouse]';
+憮>'[regretful]';
+憲>'[constitution]';
+憶>'[remember]';
+憺>'[peace]';
+憾>'[regret]';
+懃>'[courteous]';
+懆>'[anxious]';
+懇>'[sincere]';
+懈>'[idle]';
+應>'[should]';
+懊>'[vexed]';
+懋>'[splendid]';
+懌>'[enjoy]';
+懍>'[be afraid of]';
+懐>'[bosom]';
+懣>'[be sick at heart]';
+懦>'[weak]';
+懲>'[punish]';
+懴>'[regret]';
+懶>'[lazy]';
+懷>'[bosom]';
+懸>'[hang]';
+懺>'[regret]';
+懼>'[fear]';
+懽>'[happy]';
+懾>'[afraid]';
+懿>'[virtuous]';
+戀>'[love]';
+戈>'[halberd]';
+戉>'[a battle-axe]';
+戊>'[fifth of ten celestial stems]';
+戌>'[eleventh of terrestrial branches]';
+戍>'[defend borders]';
+戎>'[arms]';
+成>'[completed]';
+我>'[our]';
+戒>'[warn]';
+戔>'[small]';
+或>'[or]';
+戚>'[relative]';
+戛>'[lance]';
+戝>'[pirate]';
+戞>'[lance]';
+戟>'[halberd with crescent blade]';
+戡>'[subjugate]';
+戦>'[war]';
+截>'[cut off]';
+戮>'[kill]';
+戯>'[theatrical play]';
+戰>'[war]';
+戲>'[theatrical play]';
+戳>'[prick]';
+戴>'[wear on top]';
+戸>'[door]';
+戻>'[perverse]';
+房>'[house]';
+所>'[place]';
+扁>'[flat]';
+扇>'[fan]';
+扈>'[escort]';
+扉>'[door panel]';
+手>'[hand]';
+才>'[talent]';
+扎>'[pull up]';
+打>'[strike]';
+払>'[shake off]';
+托>'[hold up with palm]';
+扛>'[carry on shoulders]';
+扞>'[ward off]';
+扠>'[pick up with fork or pincers]';
+扣>'[knock]';
+扨>'[pick up with fork or pincers]';
+扮>'[dress up]';
+扱>'[collect]';
+扶>'[support]';
+批>'[comment]';
+扼>'[grasp]';
+找>'[search]';
+承>'[inherit]';
+技>'[skill]';
+#"抂>'[................................]'",
+抃>'[to clap hands]';
+抄>'[copy]';
+抉>'[choose]';
+把>'[hold]';
+抑>'[press down]';
+抒>'[express]';
+抓>'[scratch]';
+抔>'[take or hold up in both hands]';
+投>'[throw]';
+抖>'[tremble]';
+抗>'[resist]';
+折>'[break off]';
+抛>'[throw (away)]';
+抜>'[uproot]';
+択>'[select]';
+披>'[wear]';
+抬>'[lift]';
+抱>'[embrace]';
+抵>'[resist]';
+抹>'[smear]';
+抻>'[pull]';
+押>'[mortgage]';
+抽>'[draw out]';
+拂>'[shake off]';
+担>'[carry]';
+拆>'[break up]';
+拇>'[thumb]';
+拈>'[pick up with fingers]';
+拉>'[pull]';
+拊>'[slap]';
+拌>'[mix]';
+拍>'[clap]';
+拏>'[take]';
+拐>'[kidnap]';
+拑>'[to clamp]';
+拒>'[ward off with hand]';
+拓>'[expand]';
+拔>'[uproot]';
+拗>'[obstinate]';
+拘>'[restrain]';
+拙>'[stupid]';
+招>'[beckon]';
+拜>'[do obeisance]';
+拝>'[do obeisance]';
+拠>'[occupy]';
+拡>'[expand]';
+括>'[include]';
+拭>'[wipe away stains with cloth]';
+拮>'[laboring hard]';
+拯>'[help]';
+拱>'[fold hands on breast]';
+拳>'[fist]';
+#"拴>'[bind with rope]'",
+拶>'[press]';
+拷>'[torture and interrogate]';
+拾>'[pick up]';
+拿>'[take]';
+持>'[sustain]';
+挂>'[hang]';
+指>'[finger]';
+挈>'[assist]';
+按>'[put hand on]';
+挌>'[fight]';
+挑>'[load carried on shoulders]';
+挙>'[raise]';
+挟>'[clasp under arm]';
+#"挥>'[direct]'",
+挨>'[near]';
+挫>'[push down]';
+振>'[raise]';
+挺>'[stand upright]';
+挽>'[pull]';
+挾>'[clasp under arm]';
+挿>'[insert]';
+捉>'[grasp]';
+捌>'[break open]';
+捍>'[ward off]';
+捏>'[pick with fingers]';
+捐>'[contribute]';
+捕>'[arrest]';
+捗>'[make progress]';
+捜>'[search]';
+捧>'[hold up in two hands]';
+捨>'[discard]';
+捩>'[twist with hands]';
+捫>'[stoke]';
+据>'[occupy]';
+捲>'[curl]';
+捶>'[strike with stick]';
+捷>'[win]';
+捺>'[press down heavily with fringers]';
+捻>'[twist with fingers]';
+掀>'[lift]';
+掃>'[sweep]';
+授>'[give to]';
+掉>'[turn]';
+掌>'[palm of hand]';
+掎>'[drag aside]';
+掏>'[take out]';
+排>'[row]';
+掖>'[stick in]';
+掘>'[dig]';
+掛>'[hang]';
+#"掟>'[................................]'",
+掠>'[rob]';
+採>'[gather]';
+探>'[find]';
+掣>'[drag]';
+接>'[receive]';
+控>'[accuse]';
+推>'[push]';
+掩>'[cover]';
+措>'[place]';
+掫>'[be on night watch]';
+掬>'[grasp with both hands]';
+#"掱>'[pickpocket]'",
+掴>'[box one''s ears]';
+#"掴>'[box one''s ears]'",
+掻>'[scratch lightly]';
+掾>'[a general designation of officials]';
+揀>'[choose]';
+揃>'[shear]';
+揄>'[lift]';
+揆>'[prime minister]';
+揉>'[rub]';
+描>'[copy]';
+提>'[hold in hand]';
+插>'[insert]';
+揖>'[salute]';
+揚>'[scatter]';
+換>'[change]';
+握>'[grasp]';
+揣>'[put things under clothes]';
+揩>'[rub and wipe]';
+揮>'[direct]';
+援>'[aid]';
+揶>'[make fun of]';
+揺>'[wag]';
+搆>'[pull]';
+損>'[diminish]';
+搏>'[seize]';
+搓>'[trample]';
+搖>'[wag]';
+搗>'[hull]';
+搜>'[search]';
+搦>'[grasp]';
+搨>'[rub]';
+搬>'[transfer]';
+搭>'[join together]';
+搴>'[extract]';
+搶>'[plunder]';
+携>'[lead by hand]';
+搾>'[press]';
+摂>'[take in]';
+摎>'[to strangle]';
+摘>'[pluck]';
+摧>'[destroy]';
+摩>'[rub]';
+摯>'[sincere]';
+摶>'[roll around with hand]';
+摸>'[gently touch with hand]';
+摺>'[fold]';
+撃>'[strike]';
+撈>'[scoop out of water]';
+撒>'[release]';
+撓>'[scratch]';
+撕>'[rip]';
+撚>'[twirl in fingers]';
+撞>'[knock against]';
+撤>'[omit]';
+撥>'[move]';
+撩>'[lift up]';
+撫>'[pat]';
+播>'[sow]';
+撮>'[little bit]';
+撰>'[compose]';
+撲>'[pound]';
+撹>'[disturb]';
+撻>'[flog]';
+撼>'[move]';
+擁>'[embrace]';
+擂>'[rub]';
+擅>'[monopolize]';
+擇>'[select]';
+操>'[conduct]';
+擒>'[catch]';
+擔>'[carry]';
+擘>'[thumb]';
+據>'[occupy]';
+擠>'[crowd]';
+擡>'[carry]';
+擢>'[pull up]';
+擣>'[hull]';
+擦>'[wipe]';
+擧>'[raise]';
+擬>'[draft]';
+擯>'[exclude]';
+擱>'[place]';
+擲>'[throw]';
+擴>'[expand]';
+#"擶>'[................................]'",
+擺>'[put]';
+擽>'[tickle]';
+擾>'[disturb]';
+攀>'[climb]';
+攅>'[save]';
+攘>'[seize]';
+攜>'[lead by hand]';
+攝>'[take in]';
+攣>'[tangled]';
+攤>'[spread out]';
+攪>'[disturb]';
+攫>'[snatch away]';
+攬>'[grasp]';
+支>'[disperse]';
+攴>'[rap]';
+攵>'[rap]';
+收>'[gather together]';
+攷>'[examine]';
+攸>'[distant]';
+改>'[change]';
+攻>'[attack]';
+放>'[put]';
+政>'[government]';
+故>'[ancient]';
+效>'[result]';
+敍>'[express]';
+敏>'[fast]';
+救>'[save]';
+敕>'[an imperial order or decree]';
+敖>'[ramble]';
+敗>'[be defeated]';
+敘>'[express]';
+教>'[teach]';
+敝>'[break]';
+敞>'[roomy]';
+敢>'[dare]';
+散>'[scatter]';
+敦>'[esteem]';
+敬>'[respect]';
+数>'[number]';
+敲>'[strike]';
+整>'[orderly]';
+敵>'[enemy]';
+敷>'[spread]';
+數>'[number]';
+斂>'[draw back]';
+斃>'[kill]';
+文>'[literature]';
+斈>'[learning]';
+斉>'[even]';
+斌>'[refined]';
+斎>'[vegetarian diet]';
+斐>'[graceful]';
+斑>'[mottled]';
+斗>'[chinese peck]';
+料>'[consider]';
+斛>'[dry measure 10 or 5 times of dou]';
+斜>'[slanting]';
+斟>'[pour wine or tea into cup]';
+斡>'[revolve]';
+斤>'[catty]';
+斥>'[scold]';
+斧>'[axe]';
+斫>'[cut]';
+斬>'[cut]';
+断>'[sever]';
+斯>'[this]';
+新>'[new]';
+斷>'[sever]';
+方>'[square]';
+於>'[in]';
+施>'[grant]';
+旁>'[side]';
+旃>'[silk banner with bent pole]';
+旄>'[a kind of ancient flag]';
+旅>'[trip]';
+旆>'[flag ornament]';
+旋>'[revolve]';
+旌>'[banner or flag adorned with feat]';
+族>'[family clan]';
+旒>'[fringes of pearls on crowns]';
+旗>'[banner]';
+旙>'[a pennant]';
+旛>'[a pennant]';
+无>'[negative]';
+旡>'[choke on something eaten]';
+既>'[already]';
+日>'[sun]';
+旦>'[dawn]';
+旧>'[old]';
+旨>'[purpose]';
+早>'[early]';
+旬>'[ten-day period]';
+旭>'[rising sun]';
+旱>'[drought]';
+旺>'[prosper]';
+旻>'[heaven]';
+昂>'[rise]';
+昃>'[afternoon]';
+昆>'[elder brother]';
+昇>'[rise]';
+昊>'[summer time]';
+昌>'[light of sun]';
+明>'[bright]';
+昏>'[dusk]';
+易>'[change]';
+昔>'[formerly]';
+昜>'[to open out]';
+星>'[star]';
+映>'[project]';
+春>'[spring]';
+昧>'[obscure]';
+昨>'[yesterday]';
+昭>'[bright]';
+是>'[indeed]';
+昴>'[one of the 28 constellations]';
+昵>'[intimate]';
+昶>'[a long day. bright. extended. clear]';
+昼>'[daytime]';
+昿>'[extensive]';
+晁>'[morning]';
+時>'[time]';
+晃>'[bright]';
+晄>'[bright]';
+晉>'[advance]';
+晋>'[advance]';
+晏>'[peaceful]';
+晒>'[dry in sun]';
+晝>'[daytime]';
+晞>'[dry]';
+晟>'[clear]';
+晢>'[light of stars]';
+晤>'[have interview with]';
+晦>'[dark]';
+晧>'[daybreak]';
+晨>'[early morning]';
+晩>'[night]';
+普>'[universal]';
+景>'[scenery]';
+晰>'[clear]';
+晴>'[clear weather]';
+晶>'[crystal]';
+智>'[wisdom]';
+暁>'[dawn]';
+#"暂>'[temporary]'",
+暄>'[warm]';
+暇>'[leisure]';
+暈>'[halo in sky]';
+暉>'[sunshine]';
+暎>'[sun beginning decline]';
+暑>'[hot]';
+暖>'[warm]';
+暗>'[dark]';
+暘>'[rising sun]';
+暝>'[dark]';
+暢>'[smoothly]';
+暦>'[calendar]';
+暫>'[temporary]';
+暮>'[evening]';
+暴>'[violent]';
+暸>'[bright]';
+暹>'[rise]';
+暼>'[take fleeting glance at]';
+暾>'[morning sun]';
+曁>'[and]';
+曄>'[bright]';
+曇>'[become cloudy]';
+曉>'[dawn]';
+曖>'[obscure]';
+曙>'[bright]';
+曚>'[twilight just before sun rises]';
+曜>'[glorious]';
+曝>'[sun]';
+曠>'[extensive]';
+曦>'[sunlight]';
+曩>'[in ancient times]';
+曰>'[say]';
+曲>'[crooked]';
+曳>'[trail]';
+更>'[more]';
+曵>'[trail]';
+曷>'[why? what? where?]';
+書>'[book]';
+曹>'[ministry officials]';
+曼>'[long]';
+曽>'[already]';
+曾>'[already]';
+替>'[change]';
+最>'[most]';
+會>'[assemble]';
+月>'[moon]';
+有>'[have]';
+朋>'[friend]';
+服>'[clothes]';
+朏>'[light of crescent moon]';
+朔>'[first day of lunar month]';
+朕>'[pronoun \"i\"]';
+朖>'[clear]';
+朗>'[clear]';
+望>'[look at or forward]';
+朝>'[dynasty]';
+朞>'[full year]';
+期>'[period of time]';
+朦>'[condition or appearance of moon]';
+朧>'[condition or appearance of moon]';
+木>'[tree]';
+未>'[not yet]';
+末>'[final]';
+本>'[root]';
+札>'[letter]';
+朮>'[skill]';
+朱>'[cinnabar]';
+朴>'[simple]';
+朶>'[cluster of flowers]';
+#"朶>'[cluster of flowers]'",
+#"朶>'[cluster of flowers]'",
+机>'[desk]';
+朽>'[decayed]';
+朿>'[stab]';
+#"杀>'[kill]'",
+杆>'[pole]';
+杉>'[various species of pine and fir]';
+李>'[plum]';
+杏>'[apricot]';
+材>'[material]';
+村>'[village]';
+杓>'[handle of cup]';
+杖>'[cane]';
+杙>'[a tiny wooden post]';
+杜>'[stop]';
+杞>'[willow]';
+束>'[bind]';
+杠>'[lever]';
+条>'[clause]';
+杢>'[woodworker]';
+#"杢>'[woodworker]'",
+杤>'[type of oak]';
+来>'[come]';
+杪>'[tip of twig]';
+杭>'[cross stream]';
+杯>'[cup]';
+杰>'[hero]';
+東>'[east]';
+杲>'[bright sun]';
+杳>'[obscure]';
+杵>'[pestle]';
+杷>'[loquat]';
+杼>'[shuttle of loom]';
+松>'[pine tree]';
+板>'[plank]';
+#"枅>'[................................]'",
+枇>'[loquat]';
+枉>'[useless]';
+枋>'[sandalwood]';
+枌>'[variety of elm with small seeds]';
+析>'[split wood]';
+枕>'[pillow]';
+林>'[forest]';
+枚>'[stalk of shrub]';
+果>'[fruit]';
+枝>'[branches]';
+#"枟>'[wood streaks]'",
+#"枟>'[wood streaks]'",
+枢>'[door hinge]';
+#"枦>'[................................]'",
+枩>'[pine tree]';
+枯>'[dried out]';
+枳>'[trifoliate orange]';
+枴>'[cane]';
+架>'[rack]';
+枷>'[cangue scaffold]';
+枸>'[kind of aspen found in sichuan]';
+枹>'[drumstick]';
+柁>'[large tie-beams]';
+柄>'[handle]';
+#"柆>'[................................]'",
+#"柈>'[container]'",
+柎>'[calyx of flower]';
+柏>'[cypress]';
+某>'[certain thing or person]';
+柑>'[tangerine]';
+染>'[dye]';
+柔>'[soft]';
+柘>'[a thorny tree]';
+柚>'[pumelo]';
+柝>'[watchman''s rattle]';
+柞>'[oak]';
+柢>'[root]';
+柤>'[hawthorn]';
+#"柧>'[................................]'",
+柩>'[coffin which contains corpse]';
+柬>'[letter]';
+柮>'[flat pieces of wood]';
+柯>'[axe-handle]';
+柱>'[pillar]';
+柳>'[willow tree]';
+柴>'[firewood]';
+柵>'[fence]';
+査>'[investigate]';
+柾>'[straight grain]';
+柿>'[persimmon]';
+栂>'[a kind of evergreen tree]';
+栃>'[type of oak]';
+栄>'[glory]';
+栓>'[wooden peg]';
+栖>'[perch]';
+栗>'[chestnut tree]';
+栞>'[publication]';
+校>'[school]';
+栢>'[cypress]';
+栩>'[species of oak]';
+株>'[numerary adjunct for trees]';
+栫>'[fence]';
+栲>'[mangrove]';
+栴>'[sandalwood]';
+核>'[seed]';
+根>'[root]';
+格>'[pattern]';
+栽>'[cultivate]';
+桀>'[chicken roost]';
+桁>'[cross-beams of roof]';
+桂>'[cassia or cinnamon]';
+桃>'[peach]';
+框>'[frame]';
+案>'[table]';
+#"桍>'[................................]'",
+桎>'[fetters]';
+桐>'[name applied various trees]';
+桑>'[mulberry tree]';
+桓>'[variety of tree]';
+桔>'[chinese bellflower]';
+#"桙>'[................................]'",
+桜>'[cherry]';
+桝>'[................]';
+#"桝>'[................]'",
+档>'[shelf]';
+桧>'[chinese cypress]';
+桴>'[raft]';
+桶>'[pail]';
+桷>'[rafter]';
+#"桾>'[................................]'",
+桿>'[pole]';
+梁>'[bridge]';
+梃>'[a club]';
+梅>'[plums]';
+梍>'[tree name]';
+梏>'[handcuffs]';
+梓>'[catalpa ovata]';
+梔>'[gardenia]';
+梗>'[stem of flower]';
+#"梘>'[bamboo tube]'",
+條>'[clause]';
+梟>'[owl thus]';
+梠>'[small beam supporting rafters at]';
+梢>'[pointed tip of something long like a branch]';
+梦>'[dream]';
+梧>'[sterculia platanifolia]';
+梨>'[pear]';
+梭>'[weaver''s shuttle]';
+梯>'[ladder]';
+械>'[weapons]';
+梱>'[doorsill]';
+梳>'[comb]';
+梵>'[buddhist]';
+梶>'[oar]';
+梹>'[the areca-nut]';
+#"梹>'[the areca-nut]'",
+梼>'[block of wood]';
+棄>'[reject]';
+#"棆>'[................................]'",
+棉>'[cotton]';
+棊>'[chess]';
+棋>'[chess]';
+棍>'[stick]';
+棒>'[stick]';
+#"棔>'[................................]'",
+棕>'[hemp palm]';
+棗>'[date tree]';
+棘>'[jujube tree]';
+棚>'[tent]';
+棟>'[main beams supporting house]';
+棠>'[crab apple tree]';
+#"棡>'[................................]'",
+棣>'[kerria japonica plant]';
+棧>'[warehouse]';
+森>'[forest]';
+棯>'[jujube tree]';
+棲>'[perch]';
+棹>'[oar]';
+棺>'[coffin]';
+椀>'[bowl]';
+椁>'[outer-coffin]';
+椄>'[to graft]';
+椅>'[chair]';
+椈>'[cedar]';
+椋>'[fruit]';
+椌>'[instrument]';
+植>'[plant]';
+椎>'[hammer]';
+椏>'[the forking branch of a tree]';
+椒>'[pepper]';
+#"椓>'[strike]'",
+#"椚>'[................................]'",
+椛>'[type of birch]';
+検>'[check]';
+#"椡>'[................................]'",
+#"椢>'[................................]'",
+#"椣>'[................................]'",
+#"椥>'[................................]'",
+#"椦>'[................................]'",
+#"椨>'[................................]'",
+椪>'[machilus nanmu]';
+椰>'[palm tree]';
+椴>'[poplar]';
+椶>'[palm tree]';
+椹>'[a chopping board]';
+椽>'[beams]';
+椿>'[father]';
+楊>'[willow]';
+楓>'[maple tree]';
+楔>'[wedge]';
+楕>'[oval-shaped]';
+楙>'[name of plant]';
+楚>'[name of feudal state]';
+#"楜>'[................................]'",
+楝>'[melia japonica]';
+楞>'[used for ceylon in buddhist text]';
+楠>'[name of tree]';
+楡>'[elm tree]';
+楢>'[tinder]';
+楪>'[small dish]';
+楫>'[oar]';
+業>'[profession]';
+楮>'[mulberry]';
+楯>'[shield]';
+楳>'[plums]';
+#"楴>'[................................]'",
+極>'[extreme]';
+楷>'[model style of chinese writing]';
+楸>'[mallotus japonicus]';
+楹>'[column]';
+楼>'[building of two or more stories]';
+楽>'[happy]';
+#"楽>'[happy]'",
+#"榀>'[[not found in dictionary]]'",
+概>'[generally]';
+#"榉>'[type of elm]'",
+榎>'[small evergreen shrub]';
+#"榑>'[................................]'",
+榔>'[betel-nut tree]';
+榕>'[banyan tree]';
+榛>'[hazelnut]';
+榜>'[placard]';
+#"榠>'[................................]'",
+榧>'[type of yew]';
+榮>'[glory]';
+榱>'[rafter]';
+榲>'[pillar]';
+榴>'[pomegranate]';
+榻>'[cot]';
+榾>'[pieces of wood]';
+榿>'[alder]';
+槁>'[wither]';
+槃>'[tray]';
+槇>'[tip of a tree]';
+槊>'[spear]';
+構>'[frame]';
+槌>'[hammer]';
+槍>'[spear]';
+槎>'[raft]';
+槐>'[locust tree]';
+槓>'[lever]';
+様>'[shape]';
+#"様>'[shape]'",
+#"槛>'[threshold]'",
+#"槛>'[threshold]'",
+槧>'[wooden tablet]';
+槨>'[outer-coffin]';
+#"槫>'[................................]'",
+槭>'[maple]';
+槲>'[type of oak]';
+槹>'[spar]';
+槻>'[zelkova tree]';
+槽>'[trough]';
+槿>'[hibiscus]';
+樂>'[happy]';
+樅>'[fir tree]';
+樊>'[a railing]';
+樋>'[tree name]';
+#"樌>'[................................]'",
+#"樒>'[................................]'",
+樓>'[building of two or more stories]';
+#"樓>'[building of two or more stories]'",
+樗>'[kind of tree with useless timber]';
+標>'[mark]';
+樛>'[bending branches]';
+樞>'[door hinge]';
+樟>'[camphor tree]';
+模>'[model]';
+#"樢>'[................................]'",
+樣>'[shape]';
+権>'[power]';
+横>'[across]';
+#"横>'[across]'",
+#"横>'[across]'",
+樵>'[woodcutter]';
+樶>'[c]';
+樸>'[simple]';
+樹>'[tree]';
+樺>'[type of birch]';
+樽>'[goblet]';
+橄>'[olive]';
+橇>'[a sledge for transportation]';
+橈>'[bent or twisted piece of wood]';
+橋>'[bridge]';
+橘>'[orange]';
+橙>'[orange]';
+機>'[machine]';
+橡>'[chestnut oak]';
+橢>'[oval-shaped]';
+橦>'[tree]';
+#"橱>'[cabinet]'",
+#"橵>'[wood placed under roof tiles]'",
+#"橿>'[................................]'",
+檀>'[sandalwood]';
+檄>'[call arms]';
+檍>'[ilex]';
+檎>'[small red apple]';
+檐>'[eaves of house]';
+檗>'[tree]';
+檜>'[chinese cypress]';
+檠>'[stand for lamp]';
+檢>'[check]';
+檣>'[mast]';
+檪>'[chestnut-leaved oak]';
+檬>'[type of locust oracacia]';
+檮>'[block of wood]';
+檳>'[betelnut]';
+檸>'[lemon]';
+檻>'[threshold]';
+#"櫁>'[................................]'",
+櫂>'[oar]';
+櫃>'[cupboard]';
+#"櫑>'[................................]'",
+櫓>'[oar]';
+櫚>'[palm]';
+櫛>'[comb out]';
+櫞>'[citrus]';
+櫟>'[chestnut-leaved oak]';
+櫨>'[supporting block]';
+櫪>'[type of oak]';
+櫺>'[carved or patterned window sills]';
+櫻>'[cherry]';
+欄>'[railing]';
+欅>'[zelkova]';
+權>'[power]';
+欒>'[name of tree]';
+欖>'[olive]';
+欝>'[luxuriant]';
+#"欞>'[the lattice of a window a sill]'",
+欠>'[owe]';
+次>'[order]';
+欣>'[happy]';
+欧>'[translit.: europe]';
+欲>'[desire]';
+欷>'[sob]';
+欸>'[sighs]';
+欹>'[fierce dog]';
+欺>'[cheat]';
+欽>'[respect]';
+款>'[item]';
+歃>'[smear one''s mouth with blood of a victim when taking an oath]';
+歇>'[rest]';
+歉>'[deficient]';
+歌>'[song]';
+歎>'[sigh]';
+歐>'[translit.: europe]';
+歓>'[happy]';
+歔>'[blow through nose]';
+歙>'[to suck]';
+歛>'[draw back]';
+歟>'[final particle used express ques]';
+歡>'[happy]';
+止>'[stop]';
+正>'[right]';
+此>'[this]';
+武>'[military]';
+歩>'[step]';
+歪>'[slant]';
+歯>'[teeth]';
+歳>'[year]';
+歴>'[take place]';
+歸>'[return]';
+歹>'[bad]';
+死>'[die]';
+歿>'[die]';
+殀>'[die young]';
+殃>'[misfortune]';
+殄>'[to end]';
+殆>'[dangerous]';
+殉>'[die for cause]';
+殊>'[different]';
+残>'[injure]';
+殍>'[to starve to death]';
+殕>'[[not found in dictionary]]';
+殖>'[breed]';
+殘>'[injure]';
+殞>'[die]';
+殤>'[die young]';
+殪>'[die]';
+殫>'[utmost]';
+殯>'[encoffin]';
+殱>'[annihilate]';
+殲>'[annihilate]';
+殳>'[name of old weapon]';
+殴>'[beat]';
+段>'[section]';
+殷>'[many]';
+殺>'[kill]';
+殻>'[casing]';
+殼>'[casing]';
+殿>'[hall]';
+毀>'[destroy]';
+毅>'[resolute]';
+毆>'[beat]';
+毋>'[do not]';
+母>'[mother]';
+毎>'[every]';
+毒>'[poison]';
+毓>'[give birth to]';
+比>'[compare]';
+毘>'[help]';
+毛>'[hair]';
+#"毟>'[................................]'",
+毫>'[fine hair]';
+毬>'[ball]';
+毯>'[rug]';
+毳>'[fine hair or fur on animals]';
+氈>'[felt]';
+氏>'[clan]';
+民>'[people]';
+氓>'[people]';
+气>'[steam]';
+気>'[air]';
+氛>'[gas]';
+氣>'[air]';
+氤>'[hanging fog]';
+水>'[water]';
+氷>'[ice]';
+永>'[long]';
+氾>'[overflow]';
+汀>'[sandbar]';
+汁>'[juice]';
+求>'[seek]';
+汎>'[float]';
+汐>'[night tides]';
+汕>'[basket for catching fish]';
+汗>'[perspiration]';
+汚>'[filthy]';
+汝>'[you]';
+汞>'[element mercury]';
+江>'[large river]';
+池>'[pool]';
+#"汢>'[................................]'",
+汨>'[Mi(luo) river in hunan province where Qu Yuan drowned himself]';
+汪>'[vast]';
+汰>'[excessive]';
+汲>'[draw water from well]';
+#"汲>'[draw water from well]'",
+決>'[decide]';
+汽>'[steam]';
+汾>'[river in shanxi province]';
+沁>'[soak into]';
+沂>'[river in southeast shandong flow]';
+沃>'[water]';
+沈>'[sink]';
+沌>'[chaotic]';
+沍>'[freezing]';
+沐>'[bathe]';
+沒>'[not]';
+沓>'[connected]';
+沖>'[pour]';
+沙>'[sand]';
+沚>'[islet in stream]';
+沛>'[abundant]';
+没>'[not]';
+沢>'[marsh]';
+沫>'[froth]';
+沮>'[stop]';
+沱>'[rivers]';
+河>'[river]';
+沸>'[boil]';
+油>'[oil]';
+沺>'[turbulent]';
+治>'[govern]';
+沼>'[lake]';
+沽>'[buy and sell]';
+沾>'[moisten]';
+沿>'[follow course]';
+況>'[condition]';
+泄>'[leak]';
+泅>'[swim]';
+泉>'[spring]';
+泊>'[anchor vessel]';
+泌>'[to seep out]';
+泓>'[clear]';
+法>'[law]';
+泗>'[mucous]';
+泙>'[roar]';
+泛>'[drift]';
+泝>'[go upstream]';
+泡>'[bubbles]';
+波>'[waves]';
+泣>'[cry]';
+泥>'[mud]';
+注>'[concentrate]';
+泪>'[tears]';
+泯>'[destroy]';
+泰>'[great]';
+泱>'[great]';
+泳>'[dive]';
+洋>'[ocean]';
+洌>'[clear]';
+洒>'[sprinkle]';
+洗>'[wash]';
+洙>'[name of a river in shandong]';
+洛>'[river in shaanxi province]';
+洞>'[cave]';
+洟>'[snivel]';
+津>'[ferry]';
+洩>'[leak]';
+洪>'[vast]';
+洫>'[to ditch]';
+洲>'[continent]';
+洳>'[damp]';
+洵>'[true]';
+洶>'[the rush of water]';
+洸>'[sparkle]';
+活>'[live]';
+洽>'[spread]';
+派>'[school of thought]';
+流>'[flow]';
+浄>'[pure]';
+浅>'[shallow]';
+浙>'[zhejiang province]';
+浚>'[dredge]';
+浜>'[creek]';
+浣>'[to wash]';
+浤>'[beating of ocean]';
+浦>'[bank of river]';
+浩>'[great]';
+浪>'[wave]';
+浬>'[nautical mile]';
+浮>'[float]';
+浴>'[bathe]';
+海>'[sea]';
+浸>'[soak]';
+浹>'[saturate]';
+涅>'[blacken]';
+消>'[vanish]';
+涌>'[surge up]';
+涎>'[saliva]';
+涓>'[brook]';
+涕>'[tear]';
+涙>'[tears]';
+涛>'[large waves]';
+涜>'[ditch]';
+涯>'[shore]';
+液>'[sap]';
+涵>'[soak]';
+涸>'[dried up]';
+涼>'[cool]';
+淀>'[shallow water]';
+淅>'[water used wash rice]';
+淆>'[confused]';
+淇>'[river in henan province]';
+淋>'[drip]';
+淌>'[trickle]';
+淑>'[good]';
+淒>'[bitter cold]';
+#"淕>'[................................]'",
+淘>'[wash in sieve]';
+淙>'[gurgling sound of water]';
+淞>'[name of a river in Jiangsu]';
+淡>'[weak]';
+淤>'[mud]';
+淦>'[river in jiangxi province: water]';
+淨>'[pure]';
+淪>'[be lost]';
+淫>'[obscene]';
+淬>'[temper]';
+淮>'[river in anhui province]';
+深>'[deep]';
+淳>'[cyanogen]';
+淵>'[gulf]';
+混>'[mix]';
+淹>'[drown]';
+淺>'[shallow]';
+添>'[append]';
+清>'[clear]';
+渇>'[thirsty]';
+済>'[help]';
+渉>'[ford stream]';
+渊>'[surge up]';
+渋>'[astringent]';
+渓>'[mountain stream]';
+渕>'[surge up]';
+渙>'[scatter]';
+渚>'[small sand bank]';
+減>'[decrease]';
+渝>'[change]';
+渟>'[(of water) not flowing]';
+渠>'[ditch]';
+渡>'[cross]';
+渣>'[refuse]';
+渤>'[swelling]';
+渥>'[moisten]';
+渦>'[swirl]';
+温>'[lukewarm]';
+渫>'[beating of ocean]';
+測>'[measure]';
+渭>'[name of a river in shaanxi]';
+渮>'[river in shandong province]';
+港>'[port]';
+游>'[swim]';
+渺>'[endlessly long]';
+渾>'[muddy]';
+湃>'[sound of waves]';
+湊>'[piece together]';
+湍>'[rapid water current]';
+湎>'[flushed with drink]';
+湖>'[lake]';
+湘>'[hunan province]';
+湛>'[deep]';
+湟>'[river in qinghai province]';
+湧>'[well up]';
+湫>'[a small pond]';
+湮>'[bury]';
+湯>'[hot water]';
+湲>'[flow]';
+#"湳>'[[not found in dictionary]]'",
+湾>'[bay]';
+湿>'[wet]';
+#"湿>'[wet]'",
+#"湿>'[wet]'",
+溌>'[pour]';
+溏>'[pool]';
+源>'[spring]';
+準>'[rule]';
+溘>'[abruptly]';
+溜>'[slide]';
+溝>'[ditch]';
+溟>'[drizzling rain]';
+溢>'[overflow]';
+溥>'[big]';
+溪>'[mountain stream]';
+溯>'[go upstream]';
+溲>'[urinate]';
+溶>'[melt]';
+溷>'[privy]';
+溺>'[drown]';
+溽>'[moist]';
+滂>'[torrential]';
+滄>'[blue]';
+滅>'[extinguish]';
+滉>'[deep]';
+滋>'[grow]';
+滌>'[wash]';
+滑>'[slip]';
+滓>'[sediment]';
+滔>'[overflow]';
+滕>'[<arch> county in shandong province]';
+滝>'[raining]';
+滞>'[block up]';
+滬>'[shanghai]';
+滯>'[block up]';
+滲>'[soak through]';
+滴>'[drip]';
+滷>'[thick gravy]';
+滸>'[riverbank]';
+滾>'[turn]';
+滿>'[fill]';
+漁>'[to fish]';
+漂>'[float]';
+漆>'[varnish]';
+漉>'[filter]';
+漏>'[leak]';
+漑>'[water]';
+漓>'[river in guangxi province]';
+演>'[perform]';
+漕>'[transport by water]';
+漠>'[desert]';
+漢>'[chinese people]';
+漣>'[flowing water]';
+漫>'[overflow of water]';
+漬>'[soak]';
+漱>'[gargle]';
+漲>'[rise in price]';
+漸>'[gradually]';
+漾>'[overflow]';
+漿>'[any thick fluid]';
+潁>'[river in anhui]';
+潅>'[pour]';
+潔>'[clean]';
+潘>'[surname]';
+潛>'[hide]';
+潜>'[hide]';
+潟>'[land inundated with salt from ti]';
+潤>'[soft]';
+潦>'[to flood]';
+潭>'[deep pool]';
+潮>'[tide]';
+潯>'[steep bank by stream]';
+潰>'[flooding river]';
+潴>'[pond]';
+潸>'[weep]';
+潺>'[sound of flowing water]';
+潼>'[high]';
+澀>'[astringent]';
+澁>'[astringent]';
+澂>'[clear and still water]';
+澄>'[purify water by allowing sedimen]';
+澆>'[spray]';
+澎>'[splatter]';
+澑>'[slide]';
+澗>'[brook]';
+澡>'[wash]';
+澣>'[cleanse]';
+澤>'[marsh]';
+#"澪>'[................................]'",
+澱>'[sediment]';
+澳>'[inlet]';
+澹>'[calm]';
+激>'[arouse]';
+濁>'[muddy]';
+濂>'[waterfall]';
+濃>'[thick]';
+濆>'[river bank]';
+濔>'[many]';
+濕>'[wet]';
+濘>'[mud]';
+濛>'[drizzling]';
+濟>'[help]';
+濠>'[moat]';
+濡>'[immerse]';
+濤>'[large waves]';
+濫>'[flood]';
+濬>'[dredge]';
+濮>'[county in Henan province]';
+濯>'[wash out]';
+濱>'[beach]';
+濳>'[hide]';
+濶>'[broad]';
+濺>'[sprinkle]';
+濾>'[strain out]';
+瀁>'[waves]';
+瀉>'[drain off]';
+瀋>'[juice]';
+瀏>'[clear]';
+瀑>'[waterfall]';
+瀕>'[approach]';
+瀘>'[river in jiangxi province]';
+瀚>'[vast]';
+瀛>'[sea]';
+瀝>'[trickle]';
+瀞>'[pool in a river]';
+瀟>'[sound of beating wind and rain]';
+瀦>'[pond]';
+瀧>'[raining]';
+瀬>'[swift current]';
+瀰>'[overflow]';
+瀲>'[waves]';
+瀾>'[overflowing]';
+灌>'[pour]';
+灑>'[sprinkle]';
+灘>'[bank]';
+灣>'[bay]';
+火>'[fire]';
+灯>'[lantern]';
+灰>'[ashes]';
+灸>'[cauterize with moxa]';
+灼>'[burn]';
+災>'[calamity]';
+炉>'[fireplace]';
+炊>'[cook]';
+炎>'[flame]';
+炒>'[fry]';
+炙>'[roast]';
+炬>'[torch]';
+炭>'[charcoal]';
+炮>'[large gun]';
+炯>'[bright]';
+炳>'[bright]';
+炸>'[fry in oil]';
+点>'[dot]';
+為>'[do]';
+烈>'[fiery]';
+烋>'[boast]';
+烏>'[crow]';
+烙>'[brand]';
+烝>'[rise]';
+烟>'[smoke]';
+烱>'[bright]';
+烹>'[boil]';
+烽>'[signal fire]';
+焉>'[thereupon]';
+焔>'[flame]';
+焙>'[dry over slow fire]';
+焚>'[burn]';
+焜>'[fire]';
+無>'[negative]';
+焦>'[burned]';
+然>'[yes]';
+焼>'[burn]';
+煉>'[smelt]';
+煌>'[bright]';
+煎>'[fry in fat or oil]';
+煕>'[bright]';
+煖>'[warm]';
+煙>'[smoke]';
+煢>'[alone]';
+煤>'[coal]';
+煥>'[shining]';
+煦>'[kind]';
+照>'[shine]';
+煩>'[bother]';
+煬>'[roast]';
+煮>'[cook]';
+煽>'[stir up]';
+熄>'[put out]';
+熈>'[bright]';
+熊>'[bear]';
+熏>'[smoke]';
+熔>'[melt]';
+#"熕>'[................................]'",
+熙>'[bright]';
+熟>'[well cooked]';
+熨>'[iron]';
+熬>'[cook down]';
+熱>'[hot]';
+熹>'[dim light]';
+熾>'[burning hot]';
+燃>'[burn]';
+燈>'[lantern]';
+燉>'[heat with fire]';
+燎>'[burn]';
+燐>'[phosphorus]';
+燒>'[burn]';
+燔>'[to roast]';
+燕>'[swallow (bird)]';
+#"燗>'[................................]'",
+營>'[encampment]';
+燠>'[warm]';
+燥>'[dry]';
+燦>'[vivid]';
+燧>'[flintstone]';
+燬>'[burn down]';
+燭>'[candle]';
+燮>'[harmonize]';
+#"燵>'[................................]'",
+燹>'[fire]';
+燻>'[smoke]';
+燼>'[cinders]';
+燿>'[shine]';
+爆>'[crackle]';
+爍>'[shine]';
+爐>'[fireplace]';
+爛>'[rotten]';
+爨>'[oven]';
+爪>'[claw]';
+爬>'[crawl]';
+爭>'[dispute]';
+爰>'[lead on to]';
+爲>'[do]';
+爵>'[feudal title or rank]';
+父>'[father]';
+爺>'[father]';
+爻>'[diagrams for divination]';
+爼>'[chopping board or block]';
+爽>'[happy]';
+爾>'[you]';
+爿>'[half of tree trunk]';
+牀>'[bed]';
+牆>'[wall]';
+片>'[slice]';
+版>'[printing blocks]';
+牋>'[memorandum]';
+牌>'[signboard]';
+牒>'[documents]';
+牘>'[writing tablet]';
+牙>'[tooth]';
+牛>'[cow]';
+牝>'[female of species]';
+牟>'[make]';
+牡>'[male of animals]';
+牢>'[prison]';
+牧>'[tend cattle]';
+物>'[thing]';
+牲>'[sacrificial animal]';
+牴>'[gore]';
+特>'[special]';
+牽>'[drag]';
+牾>'[to oppose]';
+犀>'[rhinoceros]';
+犁>'[plow]';
+犂>'[plow]';
+犇>'[run fast]';
+犒>'[entertain victorious soldiers]';
+犖>'[brindled ox]';
+犠>'[sacrifice]';
+犢>'[calf]';
+犧>'[sacrifice]';
+犬>'[dog]';
+犯>'[commit crime]';
+犲>'[wolf]';
+状>'[form]';
+犹>'[like]';
+狂>'[insane]';
+狃>'[to covet]';
+狄>'[tribe from northern china]';
+狆>'[pekinese dog]';
+狎>'[be familiar with]';
+狐>'[species of fox]';
+狒>'[baboon]';
+狗>'[dog]';
+狙>'[ape]';
+#"狛>'[................................]'",
+狠>'[vicious]';
+狡>'[cunning]';
+狢>'[animal name]';
+狩>'[winter hunting]';
+独>'[alone]';
+狭>'[narrow]';
+狷>'[rash]';
+狸>'[fox]';
+狹>'[narrow]';
+狼>'[wolf]';
+狽>'[legendary animal with short fore]';
+猊>'[lion]';
+猖>'[mad]';
+猗>'[exclamation of admiration]';
+猛>'[violent]';
+猜>'[guess]';
+猝>'[abruptly]';
+猟>'[hunt]';
+猥>'[vulgar]';
+猩>'[species of orangutan]';
+猪>'[pig]';
+猫>'[cat]';
+献>'[offer]';
+#"猯>'[................................]'",
+猴>'[monkey]';
+猶>'[like]';
+猷>'[plan]';
+猾>'[crafty]';
+猿>'[ape]';
+獄>'[prison]';
+獅>'[lion]';
+獎>'[prize]';
+獏>'[the panther]';
+獗>'[unruly]';
+獣>'[beast]';
+獨>'[alone]';
+獪>'[sly]';
+獰>'[ferocious appearance]';
+獲>'[obtain]';
+獵>'[hunt]';
+獸>'[beast]';
+獺>'[otter]';
+獻>'[offer]';
+玄>'[deep]';
+率>'[to lead]';
+玉>'[jade]';
+王>'[king]';
+玖>'[black-colored jade]';
+玩>'[play with]';
+玲>'[tinkling of jade]';
+玳>'[tortoise shell]';
+玻>'[glass]';
+珀>'[amber]';
+珂>'[inferior kind of jade]';
+珈>'[ornament attached woman''s hairpi]';
+珊>'[coral]';
+珍>'[precious]';
+珎>'[precious]';
+珞>'[kind of necklace]';
+珠>'[precious stone]';
+珥>'[ear ornament]';
+珪>'[jade table conferred upon feudal]';
+班>'[class]';
+珮>'[jade ornament]';
+珱>'[necklace made of precious stones]';
+#"珸>'[................................]'",
+現>'[appear]';
+球>'[ball]';
+琅>'[variety of white carnelian]';
+理>'[reason]';
+琉>'[sparkling stone]';
+琢>'[polish jade]';
+琥>'[jewel in shape of tiger]';
+琲>'[necklace]';
+琳>'[beautiful jade]';
+琴>'[chinese lute or guitar]';
+琵>'[guitar-like instrument]';
+琶>'[guitar-like instrument]';
+琺>'[enamel]';
+琿>'[bright]';
+瑁>'[fine piece of jade]';
+瑕>'[flaw in gem]';
+瑙>'[agate]';
+瑚>'[coral]';
+瑛>'[luster of gem]';
+瑜>'[flawless gem or jewel]';
+瑞>'[felicitous omen]';
+瑟>'[large stringed musical instrument]';
+瑠>'[precious stone]';
+瑣>'[fragments]';
+瑤>'[precious jade]';
+瑩>'[lustre of gems]';
+瑪>'[agate]';
+瑯>'[kind of white cornelian]';
+瑰>'[extraordinary]';
+瑳>'[luster of gem]';
+瑶>'[precious jade]';
+瑾>'[brilliance of gems]';
+璃>'[glass]';
+璋>'[jade plaything]';
+璞>'[unpolished gem]';
+璢>'[precious stone]';
+璧>'[piece of jade with hole in it]';
+環>'[jade ring or bracelet]';
+璽>'[imperial signet]';
+瓊>'[jade]';
+瓏>'[gem cut like dragon]';
+瓔>'[necklace made of precious stones]';
+瓜>'[melon]';
+瓠>'[bottle gourd]';
+瓢>'[ladle made from dried gourd]';
+瓣>'[petal]';
+瓦>'[tile]';
+瓧>'[decagram]';
+瓩>'[kilowatt]';
+瓮>'[earthen jar]';
+瓰>'[[not found in dictionary]]';
+瓱>'[milligram]';
+#"瓲>'[................................]'",
+瓶>'[jug]';
+瓷>'[crockery]';
+瓸>'[hectogram]';
+甃>'[brick wall of a well]';
+甄>'[examine]';
+甅>'[centigram]';
+甌>'[bowl]';
+甍>'[rafters supporting roof tiles]';
+甎>'[brick]';
+甑>'[boiler for steaming rice]';
+甓>'[glazed tiles]';
+甕>'[earthen jar]';
+甘>'[sweetness]';
+甚>'[great extent]';
+甜>'[sweet]';
+甞>'[taste]';
+生>'[life]';
+産>'[give birth]';
+甥>'[sister''s child]';
+甦>'[be reborn]';
+用>'[use]';
+甫>'[begin]';
+甬>'[path]';
+田>'[field]';
+由>'[cause]';
+甲>'[armor]';
+申>'[to state to a superior]';
+男>'[male]';
+甸>'[suburbs of capital]';
+町>'[raised path between fields]';
+画>'[painting]';
+甼>'[raised path between fields]';
+畄>'[stop]';
+畆>'[chinese land measure]';
+#"畉>'[................................]'",
+畊>'[plow]';
+畋>'[till land]';
+界>'[boundary]';
+#"畍>'[................................]'",
+畏>'[fear]';
+畑>'[dry (as opposed to rice) field]';
+畔>'[boundary path dividing fields]';
+留>'[stop]';
+畚>'[straw basket]';
+畛>'[border]';
+畜>'[livestock]';
+畝>'[chinese land measure]';
+畠>'[garden]';
+畢>'[end]';
+畤>'[place for worshipping the haven]';
+略>'[approximately]';
+畦>'[sections in vegetable farm]';
+畧>'[approximately]';
+#"畩>'[................................]'",
+番>'[take turns]';
+畫>'[delineate]';
+#"畭>'[................................]'",
+異>'[different]';
+畳>'[repeat]';
+畴>'[farmland]';
+當>'[bear]';
+畷>'[raised path between fields]';
+畸>'[odd]';
+畿>'[imperial domain]';
+疂>'[repeat]';
+疆>'[boundary]';
+疇>'[farmland]';
+疉>'[repeat]';
+疊>'[repeat]';
+疋>'[roll]';
+疎>'[neglect]';
+疏>'[neglect]';
+疑>'[doubt]';
+疔>'[carbuncle]';
+疚>'[chronic disease]';
+疝>'[hernia]';
+疣>'[wart]';
+疥>'[scabies]';
+疫>'[epidemic]';
+疱>'[acne]';
+疲>'[feel tired]';
+疳>'[childhood diseases]';
+疵>'[flaw]';
+疸>'[jaundice]';
+疹>'[measles]';
+疼>'[aches]';
+疽>'[ulcer]';
+疾>'[illness]';
+痂>'[scab]';
+痃>'[indigestion]';
+病>'[illness]';
+症>'[disease]';
+痊>'[be healed]';
+痍>'[wound]';
+痒>'[itch]';
+痔>'[hemorrhoids]';
+痕>'[scar]';
+痘>'[smallpox]';
+痙>'[convulsions]';
+痛>'[pain]';
+痞>'[dyspepsia]';
+痢>'[dysentry]';
+痣>'[spots]';
+痩>'[thin]';
+痰>'[phlegm]';
+痲>'[pock-marked]';
+痳>'[pock-marked]';
+痴>'[foolish]';
+痺>'[paralysis]';
+痼>'[chronic disease]';
+痾>'[chronic illness]';
+痿>'[paralysis]';
+瘁>'[feel tired]';
+瘉>'[get well]';
+瘋>'[crazy]';
+瘍>'[ulcers]';
+瘟>'[epidemic]';
+瘠>'[thin]';
+瘡>'[tumor]';
+瘢>'[scar]';
+瘤>'[tumor]';
+瘧>'[intermittent fever]';
+瘰>'[scrofula]';
+瘴>'[malaria pestilential vapors]';
+瘻>'[fistula]';
+療>'[be healed]';
+癆>'[consumption]';
+癇>'[epilepsy]';
+癈>'[abrogate]';
+癌>'[cancer]';
+癒>'[get well]';
+癖>'[craving]';
+癘>'[sore]';
+癜>'[erythema]';
+癡>'[silly]';
+癢>'[itch]';
+癧>'[scrofulous lumps or swellings]';
+癨>'[quickly]';
+癩>'[leprosy]';
+癪>'[spasms]';
+癬>'[ringworms]';
+癰>'[carbuncle]';
+癲>'[crazy]';
+癶>'[legs]';
+癸>'[last of ten celestial stems]';
+発>'[issue]';
+登>'[rise]';
+發>'[issue]';
+白>'[white]';
+百>'[one hundred]';
+皀>'[kernel]';
+皃>'[countenance]';
+的>'[possessive]';
+皆>'[all]';
+皇>'[royal]';
+皈>'[follow]';
+皋>'[the high land along a river]';
+皎>'[white]';
+皐>'[the high land along a river]';
+皓>'[bright]';
+皖>'[anhui province]';
+皙>'[white]';
+皚>'[brilliant white]';
+皮>'[skin]';
+皰>'[pimples]';
+皴>'[chapped]';
+皷>'[drum]';
+皸>'[crack]';
+皹>'[crack]';
+皺>'[wrinkles]';
+皿>'[shallow container]';
+盂>'[basin]';
+盃>'[glass]';
+盆>'[basin]';
+盈>'[fill]';
+益>'[profit]';
+盍>'[what? why not? correspond]';
+盒>'[small box or case]';
+盖>'[cover]';
+盗>'[rob]';
+盛>'[abundant]';
+盜>'[rob]';
+盞>'[small cup or container]';
+盟>'[swear]';
+盡>'[exhaust]';
+監>'[supervise]';
+盤>'[tray]';
+盥>'[wash]';
+盧>'[cottage]';
+盪>'[to toss about]';
+目>'[eye]';
+盲>'[blind]';
+直>'[straight]';
+相>'[mutual]';
+盻>'[glare]';
+盾>'[shield]';
+省>'[province]';
+眄>'[to look askance]';
+眇>'[blind in one eye]';
+眈>'[gloat]';
+眉>'[eyebrows]';
+看>'[look]';
+県>'[county]';
+眛>'[dim]';
+#"眞>'[real]'",
+真>'[real]';
+眠>'[close eyes]';
+#"眤>'[................................]'",
+眥>'[eye sockets]';
+眦>'[corner of the eyes]';
+眩>'[confuse]';
+眷>'[take interest in]';
+眸>'[pupil of eye]';
+眺>'[look at]';
+眼>'[eye]';
+着>'[make move]';
+睇>'[look at]';
+睚>'[corner of eye]';
+睛>'[eyeball]';
+睡>'[sleep]';
+督>'[supervise]';
+睥>'[look askance at]';
+睦>'[friendly]';
+睨>'[look askance at]';
+睫>'[eyelashes]';
+睹>'[look at]';
+睾>'[testicle]';
+睿>'[shrewd]';
+瞋>'[glare with anger]';
+瞎>'[blind]';
+瞑>'[close eyes]';
+瞞>'[deceive]';
+瞠>'[look at]';
+瞥>'[take fleeting glance at]';
+瞬>'[wink]';
+瞭>'[bright]';
+瞰>'[watch]';
+瞳>'[pupil of eye]';
+瞶>'[dim]';
+#"瞶>'[dim]'",
+瞻>'[look]';
+瞼>'[eyelid]';
+瞽>'[blind]';
+瞿>'[surname]';
+矇>'[stupid]';
+矍>'[look about in firght or alarm]';
+矗>'[straight]';
+矚>'[watch carefully]';
+矛>'[spear]';
+矜>'[pity]';
+矢>'[arrow]';
+矣>'[particle of completed action]';
+知>'[know]';
+矧>'[much more]';
+矩>'[carpenter''s square]';
+短>'[short]';
+矮>'[short]';
+矯>'[correct]';
+石>'[stone]';
+矼>'[stone bridge]';
+砂>'[sand]';
+砌>'[stone steps]';
+砒>'[arsenic]';
+研>'[grind]';
+砕>'[break]';
+砠>'[rocky]';
+砥>'[whetstone]';
+砦>'[stockade]';
+砧>'[anvil]';
+砲>'[gun]';
+破>'[break]';
+砺>'[whetstone]';
+砿>'[mine]';
+硅>'[silicon]';
+硝>'[saltpeter]';
+硫>'[sulfur]';
+硬>'[hard]';
+硯>'[inkstone]';
+#"硲>'[................................]'",
+#"硴>'[................................]'",
+硼>'[borax]';
+碁>'[chess]';
+碆>'[arrow-tip]';
+碇>'[anchor]';
+碌>'[rough]';
+碍>'[obstruct]';
+碎>'[break]';
+碑>'[stone tablet]';
+碓>'[pestle]';
+#"碕>'[................................]'",
+碗>'[bowl]';
+碚>'[suburb]';
+碣>'[stone tablet]';
+碧>'[jade]';
+碩>'[great]';
+碪>'[stone slab used for washing clot]';
+碯>'[agate]';
+#"碵>'[................................]'",
+確>'[sure]';
+碼>'[number]';
+碾>'[roller]';
+磁>'[magnetic]';
+磅>'[pound]';
+#"磆>'[................................]'",
+磊>'[pile of rocks or stones]';
+磋>'[polish]';
+磐>'[large rock]';
+磑>'[stone mill]';
+磔>'[downward stroke slanting righ]';
+磚>'[tile]';
+磧>'[sand and gravel]';
+磨>'[grind]';
+磬>'[musical instrument]';
+磯>'[jetty]';
+磴>'[steps on ledge]';
+磽>'[barren land]';
+礁>'[reef]';
+#"礇>'[................................]'",
+礎>'[foundation stone]';
+#"礎>'[foundation stone]'",
+#"礒>'[................................]'",
+礙>'[obstruct]';
+礦>'[mine]';
+礪>'[whetstone]';
+礫>'[gravel]';
+礬>'[alum]';
+示>'[show]';
+礼>'[social custom]';
+社>'[god of the soil and altars to him]';
+祀>'[to sacrifice]';
+祁>'[pray]';
+祇>'[only]';
+祈>'[pray]';
+祉>'[happiness]';
+祐>'[divine intervention]';
+祓>'[exorcise]';
+祕>'[mysterious]';
+祖>'[ancestor]';
+祗>'[respect]';
+祚>'[throne]';
+祝>'[pray for happiness or blessings]';
+神>'[spirit]';
+祟>'[evil spirit]';
+祠>'[ancestral temple]';
+祢>'[one''s deceased father]';
+祥>'[good luck]';
+票>'[slip of paper or bamboo]';
+祭>'[sacrifice to]';
+祷>'[pray]';
+祺>'[good luck]';
+祿>'[blessing]';
+禀>'[report to]';
+禁>'[restrict]';
+禄>'[blessing]';
+禅>'[meditation]';
+禊>'[semi-annual ceremony of purifica]';
+禍>'[misfortune]';
+禎>'[lucky]';
+福>'[happiness]';
+禝>'[[not found in dictionary]]';
+禦>'[defend]';
+禧>'[happiness]';
+禪>'[meditation]';
+禮>'[social custom]';
+禰>'[one''s deceased father]';
+禳>'[pray or sacrifice]';
+禹>'[legendary hsia dynasty founder]';
+禺>'[district]';
+禽>'[birds]';
+禾>'[grain still on stalk]';
+禿>'[bald]';
+秀>'[ear of grain]';
+私>'[private]';
+秉>'[grasp]';
+秋>'[autumn]';
+科>'[section]';
+秒>'[beard of grain or corn]';
+秕>'[empty grain or rice husk]';
+秘>'[secret]';
+租>'[rent]';
+#"秡>'[................................]'",
+秣>'[fodder]';
+秤>'[balance]';
+秦>'[feudal state of qin]';
+秧>'[rice seedlings]';
+秩>'[order]';
+秬>'[black millet]';
+称>'[call]';
+移>'[change place]';
+稀>'[rare]';
+稈>'[stalk of grain]';
+程>'[journey]';
+稍>'[little]';
+税>'[taxes]';
+稔>'[ripe grain]';
+稗>'[darnels]';
+#"稘>'[................................]'",
+稙>'[grain ready for grinding]';
+稚>'[young]';
+稜>'[corner]';
+稟>'[report to]';
+稠>'[dense]';
+種>'[seed]';
+稱>'[call]';
+稲>'[rice growing in field]';
+稷>'[god of cereals]';
+稻>'[rice growing in field]';
+稼>'[sow grain]';
+稽>'[examine]';
+稾>'[draft]';
+稿>'[draft]';
+穀>'[corn]';
+穂>'[ear of grain]';
+#"穃>'[................................]'",
+穆>'[majestic]';
+穉>'[young grain]';
+積>'[accumulate]';
+穎>'[rice tassel]';
+#"穎>'[rice tassel]'",
+穐>'[fall]';
+穗>'[ear of grain]';
+穡>'[farm]';
+穢>'[dirty]';
+穣>'[stalks of grain]';
+穩>'[stable]';
+穫>'[harvest]';
+穰>'[stalks of grain]';
+穴>'[cave]';
+究>'[examine]';
+穹>'[high and vast]';
+空>'[empty]';
+穽>'[hole]';
+穿>'[penetrate]';
+突>'[suddenly]';
+窃>'[secretly]';
+窄>'[narrow]';
+窈>'[obscure]';
+窒>'[stop up]';
+窓>'[window]';
+窕>'[slender]';
+窖>'[pit]';
+窗>'[window]';
+窘>'[embrassassed]';
+窟>'[hole]';
+窩>'[nest]';
+窪>'[hollow]';
+窮>'[poor]';
+窯>'[kiln]';
+窰>'[kiln]';
+窶>'[poor]';
+窺>'[peep]';
+窿>'[mine shaft]';
+竃>'[furnace]';
+竄>'[run away]';
+竅>'[hole]';
+竇>'[surname]';
+竈>'[furnace]';
+竊>'[secretly]';
+立>'[stand]';
+竍>'[decaliter]';
+竏>'[kiloliter]';
+竒>'[strange]';
+竓>'[milliliter]';
+竕>'[deciliter]';
+站>'[stand up]';
+竚>'[stand and wait for long time]';
+竜>'[dragon]';
+竝>'[combine]';
+竟>'[finally]';
+章>'[composition]';
+竡>'[hectoliter]';
+竢>'[wait for]';
+竣>'[terminate]';
+童>'[child]';
+竦>'[revere]';
+竪>'[perpendicular]';
+竭>'[put forth great effort]';
+端>'[end]';
+竰>'[centiliter]';
+競>'[contend]';
+竸>'[contend]';
+竹>'[bamboo]';
+竺>'[india]';
+竿>'[bamboo pole]';
+#"笂>'[................................]'",
+笄>'[hairpin]';
+笆>'[bamboo fence]';
+笈>'[bamboo box used carry books]';
+笊>'[ladle]';
+笋>'[bamboo shoots]';
+笏>'[tablet held by someone having au]';
+笑>'[smile]';
+#"笘>'[................................]'",
+笙>'[small gourd-shaped musical instrument]';
+笛>'[bamboo flute]';
+笞>'[bamboo rod used for beatings]';
+笠>'[bamboo hat]';
+笥>'[a hamper]';
+符>'[i.d. tag]';
+笨>'[foolish]';
+第>'[sequence]';
+笳>'[a reed leaf whistle]';
+笵>'[a bamboo form]';
+#"笶>'[................................]'",
+笹>'[small bamboo]';
+筅>'[bamboo brush]';
+筆>'[writing brush]';
+筈>'[arrow end]';
+等>'[rank]';
+筋>'[muscles]';
+筌>'[bamboo fish trap]';
+筍>'[bamboo shoot]';
+筏>'[raft]';
+筐>'[bamboo basket or chest]';
+筑>'[ancient lute]';
+筒>'[thick piece of bamboo]';
+答>'[answer]';
+策>'[scheme]';
+筝>'[stringed musical instrument]';
+筥>'[round-shaped bamboo basket for]';
+筧>'[bamboo water pipe]';
+筬>'[reed of a loom]';
+筮>'[divination with stalks of plants]';
+筰>'[cable]';
+筱>'[dwarf bamboo]';
+筴>'[type of grass used in divination]';
+筵>'[bamboo mat]';
+筺>'[bamboo basket or chest]';
+箆>'[fine-toothed comb]';
+箇>'[numerary adjunct]';
+箋>'[note]';
+箍>'[hoop]';
+箏>'[stringed musical instrument]';
+箒>'[broom]';
+箔>'[reed screen]';
+箕>'[sieve]';
+算>'[count]';
+箘>'[fine bamboo]';
+箙>'[quiver]';
+箚>'[brief note]';
+箜>'[ancient string music instrument]';
+箝>'[tweezers]';
+#"箟>'[................................]'",
+管>'[pipe]';
+箪>'[small bamboo basket for holding]';
+箭>'[arrow]';
+箱>'[case]';
+箴>'[needle]';
+箸>'[chopsticks]';
+節>'[knot]';
+篁>'[bamboo grove]';
+範>'[pattern]';
+篆>'[seal script]';
+篇>'[chapter]';
+築>'[build]';
+篋>'[ratton box]';
+篌>'[ancient music instrument]';
+篏>'[inlay]';
+篝>'[bamboo basket]';
+篠>'[dwarf bamboo]';
+篤>'[deep]';
+篥>'[bulgle]';
+篦>'[fine-toothed comb]';
+篩>'[sieve]';
+篭>'[cage]';
+篳>'[wicker]';
+#"篶>'[................................]'",
+篷>'[awning]';
+簀>'[bed mat]';
+簇>'[swarm]';
+簍>'[bamboo basket]';
+簑>'[a coir raincoat]';
+簒>'[usurp]';
+#"簓>'[................................]'",
+簔>'[a coir raincoat]';
+#"簗>'[................................]'",
+簟>'[bamboo mat]';
+簡>'[simple]';
+簣>'[bamboo basket for carrying earth]';
+簧>'[reed of woodwind instrument]';
+簪>'[hairpin]';
+簫>'[musical instrument like pan-pipes]';
+簷>'[eaves of house]';
+簸>'[winnower]';
+簽>'[sign]';
+簾>'[a blind]';
+簿>'[register]';
+籀>'[recite]';
+籃>'[basket]';
+籌>'[chip]';
+籍>'[record]';
+籏>'[flag]';
+籐>'[climbing plants]';
+籔>'[bamboo basket]';
+籖>'[tally]';
+籘>'[climbing plants]';
+籟>'[bamboo flute]';
+籠>'[cage]';
+籤>'[tally]';
+籥>'[key]';
+籬>'[bamboo or wooden fence]';
+米>'[hulled or husked uncooked rice]';
+籵>'[dm]';
+籾>'[unhulled rice]';
+粁>'[km]';
+粂>'[surname]';
+粃>'[empty husks of grain]';
+粉>'[powder]';
+粋>'[pure]';
+粍>'[mm]';
+#"粐>'[................................]'",
+粒>'[grain]';
+粕>'[lees]';
+粗>'[rough]';
+粘>'[viscous]';
+粛>'[pay respects]';
+粟>'[unhusked millet]';
+#"粡>'[................................]'",
+粢>'[grain offered in ritual sacrific]';
+粤>'[Guangdong and Guangxi provinces]';
+粥>'[rice gruel]';
+粧>'[toilet]';
+粨>'[hm]';
+#"粫>'[................................]'",
+#"粭>'[................................]'",
+粮>'[food]';
+粱>'[better varieties of millet]';
+粲>'[polish]';
+粳>'[non-glutinous rice]';
+粹>'[pure]';
+粽>'[dumpling made of glutinous rice]';
+精>'[essence]';
+#"糀>'[................................]'",
+#"糂>'[................................]'",
+糅>'[blend]';
+糊>'[paste]';
+糎>'[mm]';
+糒>'[food for a journey]';
+糖>'[sugar]';
+#"糘>'[................................]'",
+糜>'[rice gruel]';
+糞>'[manure]';
+糟>'[sediment]';
+糠>'[chaff]';
+糢>'[rice snacks]';
+糧>'[food]';
+糯>'[glutinous rice]';
+糲>'[unpolished rice]';
+糴>'[purchase grains]';
+糶>'[sell grains]';
+糸>'[silk]';
+糺>'[to collaborate]';
+系>'[system]';
+糾>'[investigate]';
+紀>'[record]';
+紂>'[name of an emperor]';
+約>'[treaty]';
+紅>'[red]';
+紆>'[bend]';
+紊>'[confused]';
+紋>'[line]';
+納>'[admit]';
+紐>'[knot]';
+純>'[pure]';
+紕>'[spoiled silk]';
+紗>'[gauze]';
+紘>'[string]';
+紙>'[paper]';
+級>'[level]';
+紛>'[in disorder]';
+紜>'[confused]';
+素>'[white (silk)]';
+紡>'[spin]';
+索>'[large rope]';
+紫>'[purple]';
+紬>'[kind of thin silk]';
+紮>'[tie]';
+累>'[tired]';
+細>'[fine]';
+紲>'[bridle]';
+紳>'[girdle]';
+紵>'[ramie]';
+紹>'[continue]';
+紺>'[dark blue color]';
+紿>'[cheat]';
+終>'[end]';
+絃>'[string on musical instrument]';
+組>'[class]';
+絅>'[unlined garment]';
+絆>'[loop]';
+#"絋>'[................................]'",
+経>'[classic works]';
+絎>'[baste]';
+絏>'[rope]';
+結>'[knot]';
+絖>'[fine silks]';
+絛>'[silk braid]';
+絞>'[twist]';
+絡>'[enmesh]';
+絢>'[variegated]';
+絣>'[to baste for sewing]';
+給>'[give]';
+絨>'[silk]';
+絮>'[waste cotton]';
+統>'[govern]';
+絲>'[silk]';
+絳>'[deep red]';
+絵>'[draw]';
+絶>'[cut]';
+絹>'[kind of thick stiff silk]';
+#"絽>'[................................]'",
+綉>'[embroider]';
+綏>'[soothe]';
+經>'[classic works]';
+継>'[continue]';
+続>'[continue]';
+#"綛>'[................................]'",
+綜>'[arrange threads for weaving]';
+#"綟>'[................................]'",
+綢>'[silk cloth]';
+綣>'[affectionate]';
+綫>'[line]';
+綬>'[silk ribbon attached as a seal]';
+維>'[maintain]';
+綮>'[embroidered banner]';
+綯>'[braid]';
+綰>'[to string together]';
+綱>'[heavy rope]';
+網>'[net]';
+綴>'[patch together]';
+綵>'[varicolored silk]';
+綸>'[green silk thread or tassel]';
+綺>'[fine thin silk]';
+綻>'[ripped seam]';
+綽>'[graceful]';
+綾>'[thin silk]';
+綿>'[cotton wad]';
+緇>'[black silk]';
+緊>'[tense]';
+緋>'[scarlet]';
+総>'[collect]';
+緑>'[green]';
+緒>'[end of thread]';
+#"緕>'[................................]'",
+緘>'[seal]';
+線>'[thread]';
+緜>'[cotton wad]';
+緝>'[to sew in close stitches]';
+緞>'[satin]';
+締>'[tie]';
+緡>'[fishing-line]';
+緤>'[cord]';
+編>'[knit]';
+緩>'[slow]';
+緬>'[distant]';
+緯>'[woof]';
+緲>'[indistinct]';
+練>'[practice]';
+緻>'[delicate]';
+縁>'[hem]';
+縄>'[rope]';
+#"縄>'[rope]'",
+縉>'[red silk]';
+縊>'[hang]';
+縋>'[climd down rope]';
+#"縑>'[fine silk]'",
+縛>'[to tie]';
+縞>'[white raw silk]';
+縟>'[decorative]';
+縡>'[matter]';
+縢>'[bind]';
+縣>'[county]';
+縦>'[indulge in]';
+縫>'[sew]';
+縮>'[contract]';
+縱>'[indulge in]';
+縲>'[chain or rope used bind criminal]';
+縵>'[plain silk]';
+縷>'[thread]';
+縹>'[light blue silk]';
+#"縺>'[................................]'",
+縻>'[halter for ox]';
+總>'[collect]';
+績>'[spin]';
+繁>'[complicated]';
+繃>'[bind]';
+繆>'[wind around]';
+繊>'[fine]';
+繋>'[attach]';
+繍>'[embroider]';
+織>'[weave]';
+繕>'[repair]';
+繖>'[umbrella]';
+繙>'[interpret]';
+繚>'[wind round]';
+#"繝>'[................................]'",
+繞>'[entwine]';
+繦>'[string of copper coins]';
+#"繧>'[................................]'",
+繩>'[rope]';
+繪>'[draw]';
+繭>'[cocoon]';
+繰>'[to reel silk from cocoons]';
+繹>'[unravel or unreel silk]';
+繻>'[fine silk guaze]';
+繼>'[continue]';
+繽>'[flourishing]';
+#"繿>'[................................]'",
+纂>'[edit]';
+#"纃>'[................................]'",
+纈>'[patterned silk]';
+#"纉>'[................................]'",
+續>'[continue]';
+纎>'[fine]';
+纏>'[wrap]';
+#"纐>'[................................]'",
+纒>'[wrap]';
+纓>'[chin strap]';
+纔>'[talent]';
+纖>'[fine]';
+纛>'[a banner]';
+纜>'[hawser]';
+缶>'[earthen crock or jar]';
+缸>'[earthen jug]';
+缺>'[be short of]';
+罅>'[crack]';
+罌>'[long necked jar or bottle]';
+罍>'[large earthenware wine jar]';
+罎>'[an earthenware jar]';
+罐>'[jar]';
+网>'[net]';
+罔>'[net]';
+罕>'[rare]';
+罘>'[screen used in ancient times]';
+罟>'[net]';
+罠>'[animal trap]';
+#"罧>'[................................]'",
+罨>'[medical compress]';
+罩>'[basket for catching fish]';
+罪>'[crime]';
+罫>'[hinder]';
+置>'[place]';
+罰>'[penalty]';
+署>'[public office]';
+罵>'[accuse]';
+罷>'[cease]';
+罸>'[penalty]';
+罹>'[sorrow]';
+#"羂>'[................................]'",
+羃>'[cover-cloth]';
+羅>'[net for catching birds]';
+羆>'[brown bear]';
+羇>'[inn]';
+羈>'[halter]';
+羊>'[sheep]';
+羌>'[qiang nationality]';
+美>'[beautiful]';
+羔>'[lamb]';
+羚>'[species of antelope]';
+羝>'[ram]';
+羞>'[disgrace]';
+羣>'[group]';
+群>'[group]';
+羨>'[envy]';
+義>'[right conduct]';
+羮>'[soup]';
+羯>'[wether]';
+羲>'[ancient emperor]';
+羶>'[rank odor]';
+羸>'[weak]';
+羹>'[soup]';
+羽>'[feather]';
+翁>'[old man]';
+翅>'[wings]';
+翆>'[color green]';
+翊>'[flying]';
+翌>'[bright]';
+習>'[practice]';
+翔>'[soar]';
+翕>'[agree]';
+翠>'[color green]';
+翡>'[kingfisher]';
+翦>'[scissors]';
+翩>'[fly]';
+翫>'[careless]';
+翰>'[writing brush]';
+翳>'[shade]';
+翹>'[turn up]';
+翻>'[flip over]';
+翼>'[wings]';
+耀>'[shine]';
+老>'[old]';
+考>'[examine]';
+耄>'[elderly person]';
+者>'[that which]';
+耆>'[man of sixty]';
+耋>'[aged]';
+而>'[and]';
+耐>'[endure]';
+耒>'[handle of plow]';
+耕>'[plow]';
+耗>'[consume]';
+耘>'[weed]';
+耙>'[rake]';
+耜>'[spade-shaped tool]';
+耡>'[hoe]';
+耨>'[hoe]';
+耳>'[ear]';
+耶>'[used in transliteration]';
+耻>'[shame]';
+耽>'[indulge in]';
+耿>'[bright]';
+聆>'[listen]';
+聊>'[somewhat]';
+聒>'[clamor]';
+聖>'[holy]';
+聘>'[engage]';
+聚>'[assemble]';
+聞>'[hear]';
+聟>'[son-in-law]';
+聡>'[intelligent]';
+#"聢>'[................................]'",
+聨>'[connect]';
+聯>'[connect]';
+聰>'[intelligent]';
+聲>'[sound]';
+聳>'[urge on]';
+聴>'[hear]';
+聶>'[whisper]';
+職>'[duty]';
+聹>'[earwax]';
+聽>'[hear]';
+聾>'[deaf]';
+聿>'[writing brush]';
+肄>'[learn]';
+肅>'[pay respects]';
+肆>'[indulge]';
+肇>'[begin]';
+肉>'[flesh]';
+肋>'[ribs]';
+肌>'[muscle tissue]';
+肓>'[region between heart and diaphragm]';
+肖>'[look like]';
+肘>'[elbow]';
+肚>'[belly]';
+肛>'[anus]';
+肝>'[liver]';
+股>'[thighs]';
+肢>'[human limbs]';
+肥>'[fat]';
+肩>'[shoulders]';
+肪>'[animal fat]';
+肬>'[wart]';
+肭>'[fat]';
+肯>'[willing]';
+肱>'[forearm]';
+育>'[produce]';
+肴>'[cooked or prepared meat]';
+肺>'[lungs]';
+胃>'[stomach]';
+胄>'[helmet]';
+胆>'[gall bladder]';
+背>'[back]';
+胎>'[unborn child]';
+胖>'[fat]';
+胙>'[food offered in sacrificial serv]';
+胚>'[embryo]';
+胛>'[the shoulder]';
+胝>'[callous]';
+胞>'[womb]';
+胡>'[recklessly]';
+胤>'[heir]';
+胥>'[all]';
+胯>'[pelvis]';
+胱>'[bladder]';
+胴>'[the large intestine]';
+胸>'[breast]';
+胼>'[callus]';
+能>'[be able]';
+脂>'[fat]';
+脅>'[ribs]';
+脆>'[crisp]';
+脇>'[ribs]';
+脈>'[blood vessels]';
+脉>'[blood vessels]';
+脊>'[spine]';
+脚>'[leg]';
+脛>'[shinbone]';
+脣>'[lips]';
+脩>'[dried meat (used as teachers payment in ancient times)]';
+脯>'[dried meat]';
+脱>'[take off]';
+脳>'[brain]';
+脹>'[swell]';
+脾>'[spleen]';
+腆>'[prosperous]';
+腋>'[armpit]';
+腎>'[kidneys]';
+腐>'[rot]';
+腑>'[bowels]';
+腓>'[calf]';
+腔>'[chest cavity]';
+腕>'[wrist]';
+腟>'[vagina]';
+腥>'[raw meat]';
+腦>'[brain]';
+腫>'[swell]';
+腮>'[lower part of face]';
+腰>'[waist]';
+腱>'[tendons]';
+腴>'[fat]';
+腸>'[intestines]';
+腹>'[stomach]';
+腺>'[gland]';
+腿>'[legs]';
+膀>'[upper arm]';
+膂>'[backbone]';
+膃>'[fat]';
+膈>'[diaphragm]';
+膊>'[shoulders]';
+膏>'[grease]';
+膓>'[intestines]';
+膕>'[hollow]';
+膚>'[skin]';
+膜>'[membrane]';
+膝>'[knee]';
+膠>'[glue]';
+膣>'[vagina]';
+#"膤>'[................................]'",
+膨>'[swell]';
+膩>'[greasy]';
+膰>'[cook meat for sacrifice or offer]';
+膳>'[meals]';
+膵>'[pancreas]';
+#"膸>'[................................]'",
+膺>'[breast]';
+膽>'[gall bladder]';
+膾>'[minced meat or fish]';
+膿>'[pus]';
+臀>'[buttocks]';
+臂>'[arm]';
+臆>'[chest]';
+臈>'[year end sacrifice]';
+臉>'[face]';
+臍>'[abdominal area of crab]';
+臑>'[soft]';
+臓>'[internal organs]';
+臘>'[year end sacrifice]';
+臙>'[rouge]';
+臚>'[arrange in order]';
+臟>'[internal organs]';
+臠>'[small lump of meat]';
+臣>'[minister]';
+臥>'[lie down]';
+臧>'[good]';
+臨>'[draw near]';
+自>'[self]';
+臭>'[smell]';
+至>'[reach]';
+致>'[send]';
+臺>'[tower]';
+臻>'[reach]';
+臼>'[mortar]';
+臾>'[moment]';
+舁>'[carry on one''s shoulder]';
+舂>'[grind in mortar]';
+舅>'[mother''s brother]';
+與>'[and]';
+興>'[thrive]';
+舉>'[raise]';
+舊>'[old]';
+舌>'[tongue]';
+舍>'[house]';
+舎>'[house]';
+舐>'[lick with tongue]';
+舒>'[open up]';
+舖>'[store]';
+舗>'[store]';
+舘>'[a mansion]';
+舛>'[oppose]';
+舜>'[legendary ruler]';
+舞>'[dance]';
+舟>'[boat]';
+舩>'[boat]';
+航>'[sail]';
+舫>'[fancy boat]';
+般>'[sort]';
+舮>'[bow or prow of boat]';
+舳>'[stern of ship]';
+舵>'[rudder]';
+舶>'[large]';
+舷>'[sides of boat]';
+舸>'[large boat]';
+船>'[ship]';
+艀>'[[not found in dictionary]]';
+艇>'[small boat]';
+艘>'[counter for ships]';
+艙>'[hold of ship]';
+艚>'[ship]';
+#"艝>'[................................]'",
+艟>'[ancient warship]';
+艢>'[a mast]';
+艤>'[to moor a boat to the bank]';
+艦>'[warship]';
+艨>'[long and narrow war-boat]';
+艪>'[oar]';
+艫>'[bow or prow of boat]';
+艮>'[seventh of eight diagrams]';
+良>'[good]';
+艱>'[difficult]';
+色>'[color]';
+艶>'[beautiful]';
+艷>'[beautiful]';
+艸>'[grass]';
+艾>'[artemisia]';
+芋>'[taro]';
+芍>'[peony]';
+芒>'[miscanthus sinensis]';
+芙>'[hibiscus]';
+芝>'[purplish mushroom thought promot]';
+芟>'[mow]';
+芥>'[mustard plant]';
+芦>'[rushes]';
+芫>'[daphne genkwa]';
+芬>'[fragrance]';
+芭>'[plantain or banana palm]';
+芯>'[pith from rush (juncus effusus)]';
+花>'[flower]';
+芳>'[fragrant]';
+芸>'[rue]';
+芹>'[celery]';
+芻>'[mow]';
+芽>'[bud]';
+苅>'[cut off]';
+苑>'[pasture]';
+苒>'[lush]';
+苓>'[fungus]';
+苔>'[moss]';
+苗>'[sprouts]';
+苙>'[pigsty]';
+苛>'[small]';
+苜>'[clover]';
+苞>'[variety of rush]';
+苟>'[careless]';
+苡>'[barley]';
+苣>'[kind of lettuce]';
+若>'[if]';
+苦>'[bitter]';
+苧>'[china grass]';
+苫>'[rush or straw matting]';
+英>'[petal]';
+#"苳>'[................................]'",
+苴>'[sackcloth]';
+苹>'[artemisia]';
+苺>'[berries]';
+苻>'[kind of herb]';
+茂>'[thick]';
+范>'[surname]';
+茄>'[eggplant]';
+茅>'[reeds]';
+茆>'[species of grass]';
+茉>'[white jasmine]';
+茎>'[stem]';
+茖>'[allium victorialis]';
+茗>'[tea]';
+#"茗>'[tea]'",
+茜>'[madder]';
+#"茣>'[................................]'",
+茨>'[caltrop]';
+茫>'[vast]';
+茯>'[china root]';
+茱>'[dogwood]';
+茲>'[now]';
+茴>'[fennel]';
+茵>'[cushion]';
+茶>'[tea]';
+茸>'[soft]';
+茹>'[roots]';
+荀>'[surname]';
+荅>'[answer: small bean]';
+草>'[grass]';
+荊>'[thorns]';
+荏>'[beans]';
+荐>'[repeat]';
+荒>'[wasteland]';
+荘>'[village]';
+荳>'[beans]';
+#"荵>'[................................]'",
+荷>'[lotus]';
+荻>'[reed]';
+荼>'[bitter vegetable]';
+莅>'[attend]';
+#"莇>'[................................]'",
+莉>'[white jasmine]';
+莊>'[village]';
+莎>'[kind of sedge grass]';
+莓>'[moss]';
+莖>'[stem]';
+莚>'[bamboo mat]';
+莞>'[smiling]';
+#"莟>'[................................]'",
+莠>'[weeds]';
+莢>'[pods of leguminous plants]';
+莨>'[herb]';
+莪>'[artemisia]';
+莫>'[do not]';
+莱>'[goosefoot]';
+莵>'[dodder]';
+莽>'[thicket]';
+菁>'[flower of leek family]';
+菅>'[coarse grass]';
+菊>'[chrysanthemum]';
+菌>'[mushroom]';
+菎>'[beautiful jade]';
+菓>'[fruits]';
+菖>'[iris]';
+菘>'[celery]';
+菜>'[vegetables]';
+菟>'[dodder]';
+菠>'[spinach and similar greens]';
+菩>'[herb]';
+菫>'[celery]';
+華>'[flowery]';
+菰>'[wild rice]';
+菱>'[water-chestnut]';
+菲>'[fragrant]';
+菴>'[small buddhist monastery]';
+#"菷>'[................................]'",
+菻>'[artemisia]';
+菽>'[beans and peas]';
+萃>'[dense]';
+萄>'[grapes]';
+萇>'[averrhora carambola]';
+萋>'[luxuriant foliage]';
+萌>'[bud]';
+萍>'[duckweed]';
+萎>'[wither]';
+#"萓>'[................................]'",
+萠>'[bud]';
+#"萢>'[................................]'",
+萩>'[scandent hop]';
+#"萪>'[................................]'",
+萬>'[ten thousand]';
+萱>'[day-lily]';
+萵>'[lettuce]';
+萸>'[dogwood]';
+萼>'[calyx of flower]';
+落>'[fall]';
+葆>'[reserve]';
+葉>'[leaf]';
+#"葎>'[................................]'",
+著>'[manifest]';
+葛>'[edible bean]';
+葡>'[grapes]';
+葢>'[cover]';
+董>'[direct]';
+葦>'[reed]';
+葩>'[flowers]';
+葫>'[bottle-gourd]';
+葬>'[bury]';
+葭>'[bulrush]';
+#"葭>'[bulrush]'",
+葯>'[leaf of angelica plant]';
+葱>'[scallions]';
+葵>'[sunflower]';
+葷>'[meat diet]';
+葹>'[kind of chrysanthemum]';
+葺>'[thatch]';
+蒂>'[peduncle or stem of plants]';
+#"蒄>'[................................]'",
+蒋>'[surname]';
+蒐>'[collect]';
+蒔>'[transplant]';
+蒙>'[cover]';
+蒜>'[garlic]';
+蒟>'[betel pepper]';
+蒡>'[burdock]';
+蒭>'[to cutgrass]';
+蒲>'[type of rush]';
+蒸>'[steam]';
+蒹>'[reed]';
+蒻>'[rushes]';
+蒼>'[blue]';
+蒿>'[mugwort]';
+蓁>'[abundant]';
+蓄>'[store]';
+蓆>'[straw mat]';
+蓉>'[hibiscus]';
+蓊>'[luxuriant vegetation]';
+蓋>'[cover]';
+蓍>'[milfoil]';
+蓐>'[straw bed mat]';
+蓑>'[rain coat made of straw]';
+蓖>'[castor-oil plant]';
+#"蓙>'[................................]'",
+蓚>'[oxalic (used in compounds)]';
+蓬>'[type of raspberry]';
+蓮>'[lotus]';
+蓴>'[edible water plant]';
+蓼>'[smartweed]';
+蓿>'[clover]';
+蔀>'[screen]';
+蔆>'[water-chestnut]';
+蔑>'[disdain]';
+蔓>'[creeping plants]';
+蔔>'[radish]';
+蔕>'[peduncle or stem of plants]';
+蔗>'[sugar cane]';
+蔘>'[ginsen]';
+蔚>'[luxuriant]';
+蔟>'[frame on which silkworms spin]';
+蔡>'[surname]';
+蔦>'[parasitic plants]';
+蔬>'[vegetables]';
+蔭>'[shade]';
+蔵>'[hide]';
+蔽>'[cover]';
+#"蕀>'[................................]'",
+蕁>'[nettle]';
+蕃>'[foreign things]';
+蕈>'[mushrooms]';
+蕉>'[banana]';
+蕊>'[unopened flowers]';
+蕋>'[unopened flowers]';
+蕎>'[buckwheat]';
+蕕>'[caryopteris divaricata]';
+#"蕗>'[................................]'",
+蕘>'[fuel]';
+蕚>'[calyx of flower]';
+蕣>'[hibiscus]';
+蕨>'[pteris aquilina]';
+蕩>'[pond]';
+蕪>'[luxurious growth of weeds]';
+蕭>'[common artemisia]';
+蕷>'[yam]';
+蕾>'[buds]';
+薀>'[the hippuris or mare''s tail plant]';
+薄>'[thin]';
+薇>'[osmunda regalis]';
+薈>'[luxuriant]';
+薊>'[circium]';
+薐>'[spinach]';
+薑>'[ginger]';
+薔>'[rose]';
+薗>'[garden]';
+薙>'[weed]';
+薛>'[kind of marsh grass]';
+薜>'[evergreen shrubs]';
+薤>'[allium bakeri]';
+薦>'[offer]';
+薨>'[death of prince]';
+薩>'[transliteration of \"sat\" of boddhisattva etc.]';
+薪>'[fuel]';
+薫>'[a medicinal herb]';
+薬>'[drugs]';
+薮>'[marsh]';
+薯>'[yam]';
+薹>'[cyperus rotundus]';
+薺>'[water-chestnuts]';
+藁>'[straw]';
+藉>'[mat]';
+藍>'[blue]';
+藏>'[hide]';
+藐>'[disregard]';
+藕>'[lotus root]';
+藜>'[chenopodium album]';
+藝>'[art]';
+藤>'[rattan]';
+藥>'[drugs]';
+藩>'[fence]';
+藪>'[marsh]';
+藷>'[yam]';
+藹>'[lush]';
+藺>'[rush used in making mats]';
+藻>'[splendid]';
+藾>'[shade]';
+蘂>'[stamen or pistil]';
+蘆>'[rushes]';
+蘇>'[thyme]';
+蘊>'[collect]';
+蘋>'[apple]';
+蘓>'[thyme]';
+蘖>'[stump]';
+蘗>'[stump]';
+蘚>'[moss]';
+蘢>'[tall grass]';
+蘭>'[orchid]';
+蘯>'[to toss about]';
+#"蘯>'[to toss about]'",
+蘿>'[type of creeping plant]';
+虍>'[tiger]';
+虎>'[tiger]';
+虐>'[cruel]';
+虔>'[act with reverence]';
+處>'[place]';
+虚>'[false]';
+虜>'[capture]';
+虞>'[concerned about]';
+號>'[mark]';
+虧>'[lose]';
+虫>'[insects]';
+虱>'[louse]';
+虹>'[rainbow]';
+虻>'[horsefly]';
+蚊>'[mosquito]';
+蚋>'[gnat]';
+蚌>'[oysters]';
+蚓>'[earthworm]';
+蚕>'[silkworms]';
+蚣>'[centipede]';
+蚤>'[flea]';
+蚩>'[worm]';
+蚪>'[tadpole]';
+蚫>'[abalone]';
+蚯>'[earthworm]';
+蚰>'[millipede]';
+蚶>'[kind of clam]';
+蛄>'[mole cricket]';
+蛆>'[maggots]';
+蛇>'[snake]';
+蛉>'[dragonfly]';
+蛋>'[eggs]';
+蛍>'[glow-worm]';
+蛎>'[oyster]';
+蛔>'[tapeworm]';
+蛙>'[frog]';
+蛛>'[spider]';
+蛞>'[snail]';
+蛟>'[scaly dragon with four legs]';
+蛤>'[clam]';
+蛩>'[cricket]';
+#"蛩>'[cricket]'",
+蛭>'[leech]';
+蛮>'[barbarians]';
+蛯>'[shrimp]';
+蛸>'[long legged spider]';
+蛹>'[chrysalis]';
+蛻>'[molt]';
+蛾>'[moth]';
+蜀>'[name of an ancient state]';
+蜂>'[bee]';
+蜃>'[marine monster which can change its shape]';
+蜆>'[a variety of bivalves]';
+蜈>'[centipede]';
+蜉>'[mayfly]';
+蜊>'[clam]';
+蜍>'[toad]';
+蜑>'[egg]';
+蜒>'[millipede]';
+蜘>'[spider]';
+蜚>'[cockroach]';
+蜜>'[honey]';
+蜥>'[lizard]';
+蜩>'[cicada]';
+蜴>'[lizard]';
+蜷>'[creep like worm]';
+蜻>'[dragonfly]';
+蜿>'[creep]';
+蝉>'[cicada]';
+蝋>'[wax]';
+蝌>'[tadpole]';
+蝎>'[scorpion]';
+蝓>'[snail]';
+蝕>'[nibble away]';
+蝗>'[kind of locust]';
+蝙>'[bat]';
+蝟>'[hedgehog]';
+蝠>'[kind of bat]';
+蝣>'[mayfly]';
+蝦>'[shrimp]';
+蝨>'[louse]';
+#"蝨>'[louse]'",
+蝮>'[venomous snake]';
+蝴>'[butterfly]';
+蝶>'[butterfly]';
+蝸>'[snail]';
+蝿>'[flies]';
+螂>'[mantis]';
+融>'[melt]';
+螟>'[kind of caterpillar]';
+螢>'[glow-worm]';
+螫>'[poison]';
+螯>'[nippers]';
+螳>'[mantis]';
+螺>'[spiral shell]';
+螻>'[gryllotalpa africana]';
+螽>'[katydid]';
+蟀>'[cricket]';
+蟄>'[to hibernate]';
+蟆>'[frog]';
+蟇>'[frog]';
+蟋>'[cricket]';
+#"蟋>'[cricket]'",
+蟒>'[python]';
+蟠>'[coil]';
+蟯>'[worms]';
+蟲>'[worms]';
+蟶>'[razor clam]';
+蟷>'[mantis]';
+蟹>'[crab]';
+蟻>'[ants]';
+蟾>'[toad]';
+蠅>'[flies]';
+蠍>'[scorpion]';
+蠎>'[python]';
+蠏>'[crab]';
+蠑>'[lizard]';
+蠕>'[eumenes polifomis]';
+蠖>'[measuring worm]';
+蠡>'[wood-boring insect]';
+蠢>'[wriggle]';
+蠣>'[oyster]';
+蠧>'[moth]';
+蠱>'[posion]';
+蠶>'[silkworms]';
+蠹>'[moth]';
+蠻>'[barbarians]';
+血>'[blood]';
+衂>'[to be defeated]';
+衄>'[epistaxis]';
+衆>'[multitude]';
+行>'[go]';
+衍>'[overflow]';
+衒>'[brag]';
+術>'[art]';
+街>'[street]';
+衙>'[public office]';
+衛>'[guard]';
+衝>'[rush against]';
+衞>'[guard]';
+衡>'[measure]';
+衢>'[highway]';
+衣>'[clothes]';
+表>'[show]';
+衫>'[shirt]';
+衰>'[decline]';
+衲>'[mend]';
+衵>'[chemise]';
+衷>'[heart]';
+衽>'[lapel]';
+衾>'[coverlet]';
+衿>'[collar or lapel of garment]';
+袁>'[robe]';
+袂>'[sleeves]';
+袈>'[buddhist cassock]';
+袋>'[pocket]';
+袍>'[long gown]';
+袒>'[strip]';
+袖>'[sleeve]';
+袗>'[unlined garments]';
+#"袙>'[................................]'",
+袞>'[ceremonial dress worn by emperor]';
+袢>'[robe]';
+袤>'[longitude]';
+被>'[passive indicator \"by\"]';
+#"袮>'[................................]'",
+#"袰>'[................................]'",
+袱>'[piece of cloth used wrap bundles]';
+袴>'[pants]';
+袵>'[lapel]';
+袷>'[lined garment]';
+袿>'[gown]';
+裁>'[cut out]';
+裂>'[split]';
+#"裂>'[split]'",
+#"裂>'[split]'",
+装>'[dress]';
+裏>'[inside]';
+裔>'[progeny]';
+裕>'[abundant]';
+裘>'[fur garments]';
+裙>'[skirt]';
+補>'[mend]';
+裝>'[dress]';
+裟>'[a cassock or robe of a monk]';
+裡>'[inside]';
+裨>'[aid]';
+裲>'[waistcoat]';
+裳>'[clothes]';
+裴>'[surname]';
+裸>'[bare]';
+裹>'[wrap]';
+裼>'[to take off one''s top]';
+製>'[make]';
+裾>'[lapel]';
+褂>'[jacket]';
+#"褃>'[a seam in a garment]'",
+複>'[repeat]';
+褊>'[cramped]';
+褌>'[trousers]';
+褐>'[coarse woolen cloth]';
+褒>'[praise]';
+褓>'[swaddling cloth]';
+褝>'[unlined garment]';
+#"褞>'[................................]'",
+褥>'[mattress]';
+褪>'[strip]';
+褫>'[strip]';
+褶>'[pleat]';
+褸>'[lapel]';
+褻>'[dirty]';
+襁>'[swaddling clothes]';
+襃>'[commend]';
+襄>'[aid]';
+襌>'[unlined garment]';
+襍>'[mixed]';
+襖>'[outer garments]';
+襞>'[fold]';
+襟>'[lapel]';
+襠>'[crotch or seat of pants]';
+襤>'[ragged]';
+襦>'[short coat]';
+襪>'[socks]';
+襭>'[tuck up hem of garment and wrap]';
+襯>'[underwear]';
+襲>'[raid]';
+襴>'[a one piece garment]';
+#"襶>'[ignorant]'",
+襾>'[cover]';
+西>'[west(ern)]';
+要>'[necessary]';
+覃>'[reach to]';
+覆>'[cover]';
+覇>'[rule by might rather than right]';
+覈>'[investigate]';
+覊>'[halter]';
+見>'[see]';
+規>'[rules]';
+覓>'[seek]';
+視>'[look at]';
+覗>'[peek]';
+覘>'[peek]';
+覚>'[wake up from sleep]';
+覡>'[wizard]';
+覦>'[desire strongly]';
+覧>'[look at]';
+覩>'[see]';
+親>'[relatives]';
+覬>'[covet]';
+覯>'[meet or see unexpectedly]';
+覲>'[have imperial audience]';
+観>'[see]';
+覺>'[wake up from sleep]';
+覽>'[look at]';
+覿>'[see]';
+觀>'[see]';
+角>'[horn]';
+觚>'[jug]';
+觜>'[beak]';
+觝>'[gore]';
+解>'[loosen]';
+触>'[butt]';
+觧>'[loosen]';
+觴>'[wine vessel]';
+觸>'[touch]';
+言>'[words]';
+訂>'[draw up agreement]';
+訃>'[obituary]';
+計>'[plan]';
+訊>'[inquire]';
+訌>'[confusion]';
+討>'[ask for]';
+訐>'[expose other''s secrets]';
+訓>'[teach]';
+訖>'[finish]';
+託>'[entrust]';
+記>'[record]';
+訛>'[swindle]';
+訝>'[express surprise]';
+訟>'[accuse]';
+訣>'[take leave of]';
+訥>'[slow of speech]';
+訪>'[visit]';
+設>'[build]';
+許>'[allow]';
+訳>'[translate]';
+訴>'[accuse]';
+訶>'[scold loudly]';
+診>'[examine patient]';
+註>'[explain]';
+証>'[prove]';
+詁>'[exegesis]';
+詆>'[slander]';
+詈>'[scold]';
+詐>'[cheat]';
+詑>'[cheat]';
+詒>'[bequeath]';
+詔>'[decree]';
+評>'[appraise]';
+詛>'[curse]';
+詞>'[words]';
+詠>'[sing]';
+詢>'[inquire into]';
+詣>'[reach]';
+試>'[test]';
+詩>'[poetry]';
+詫>'[be surprised]';
+詬>'[abuse]';
+詭>'[deceive]';
+詮>'[explain]';
+詰>'[question]';
+話>'[speech]';
+該>'[should]';
+詳>'[detailed]';
+詼>'[tease]';
+誂>'[tempt]';
+誄>'[eulogize]';
+誅>'[execute]';
+誇>'[exaggerate]';
+誉>'[fame]';
+誌>'[write down]';
+認>'[recognize]';
+誑>'[deceive]';
+誓>'[swear]';
+誕>'[bear children]';
+誘>'[persuade]';
+誚>'[criticize]';
+語>'[language]';
+誠>'[sincere]';
+誡>'[warn]';
+誣>'[make false accusation]';
+誤>'[err]';
+誥>'[inform]';
+誦>'[recite]';
+誨>'[teach]';
+説>'[speak]';
+読>'[read]';
+誰>'[who? whom? whose? anyone?]';
+課>'[lesson]';
+誹>'[slander]';
+誼>'[friendship]';
+調>'[transfer]';
+諂>'[flatter]';
+諄>'[patient]';
+談>'[talk]';
+請>'[ask]';
+諌>'[remonstrate]';
+諍>'[to expostulate]';
+諏>'[consult]';
+諒>'[excuse]';
+論>'[debate]';
+諚>'[(kokuji) command]';
+諛>'[flatter]';
+諜>'[intelligence report]';
+諞>'[brag]';
+諠>'[noisy]';
+諡>'[posthumous name]';
+諢>'[jokes]';
+諤>'[honest speech]';
+諦>'[careful]';
+諧>'[harmonize]';
+諫>'[remonstrate]';
+諭>'[proclaim]';
+諮>'[consult]';
+諱>'[conceal]';
+諳>'[versed in]';
+諷>'[recite]';
+諸>'[several]';
+諺>'[proverb]';
+諾>'[promise]';
+謀>'[plan]';
+謁>'[visit]';
+謂>'[say]';
+謄>'[copy]';
+謇>'[stutter]';
+謌>'[slander]';
+謎>'[riddle]';
+謐>'[calm]';
+謔>'[jeer]';
+謖>'[rise up]';
+謗>'[slander]';
+謙>'[humble]';
+謚>'[to confer posthumous titles]';
+講>'[explain]';
+謝>'[thank]';
+謠>'[sing]';
+謡>'[sing]';
+謦>'[t speak softly]';
+謨>'[scheme]';
+謫>'[charge]';
+謬>'[error]';
+謳>'[sing]';
+謹>'[prudent]';
+謾>'[deceive]';
+譁>'[noise]';
+證>'[proof]';
+譌>'[false]';
+譎>'[cunning]';
+譏>'[ridicule]';
+譖>'[to slander]';
+識>'[recognize]';
+譚>'[surname]';
+譛>'[to slander]';
+譜>'[register]';
+譟>'[clamor]';
+警>'[guard]';
+譫>'[talkative]';
+譬>'[metaphor]';
+譯>'[translate]';
+議>'[consult]';
+#"譱>'[................................]'",
+譲>'[allow]';
+譴>'[reprimand]';
+護>'[protect]';
+譽>'[fame]';
+讀>'[read]';
+讃>'[praise]';
+變>'[change]';
+讌>'[feast]';
+讎>'[enemy]';
+讐>'[enemy]';
+讒>'[slander]';
+讓>'[allow]';
+讖>'[prophecy]';
+讙>'[cheer]';
+讚>'[praise]';
+谷>'[valley]';
+谺>'[the mouth of a valley]';
+谿>'[valley]';
+豁>'[open up]';
+豆>'[beans]';
+豈>'[how? what?]';
+豊>'[abundant]';
+豌>'[peas]';
+豎>'[vertical]';
+豐>'[abundant]';
+豕>'[pigs]';
+豚>'[small pig]';
+象>'[elephant]';
+豢>'[domestic animals]';
+豪>'[brave]';
+豫>'[relaxed]';
+豬>'[pig]';
+豸>'[radical 153]';
+豹>'[leopard]';
+豺>'[wolf]';
+豼>'[fox]';
+貂>'[marten]';
+貅>'[brave]';
+貉>'[badger]';
+貊>'[leopard]';
+貌>'[countenance]';
+貍>'[a fox-like animal]';
+貎>'[lion]';
+貔>'[fox]';
+貘>'[the panther]';
+貝>'[sea shell]';
+貞>'[virtuous]';
+負>'[load]';
+財>'[wealth]';
+貢>'[offer tribute]';
+貧>'[poor]';
+貨>'[goods]';
+販>'[peddler]';
+貪>'[greedy]';
+貫>'[string of 1000 coins]';
+責>'[one''s responsibility]';
+貭>'[matter]';
+貮>'[number two]';
+貯>'[store]';
+貰>'[borrow]';
+貲>'[property]';
+貳>'[number two]';
+貴>'[expensive]';
+貶>'[decrease]';
+買>'[buy]';
+貸>'[lend]';
+費>'[expenses]';
+貼>'[paste to]';
+貽>'[give to]';
+貿>'[trade]';
+賀>'[congratulate]';
+賁>'[forge ahead]';
+賂>'[bribe]';
+賃>'[rent]';
+賄>'[bribe]';
+資>'[property]';
+賈>'[surname]';
+賊>'[thief]';
+賍>'[booty]';
+賎>'[mean]';
+賑>'[relieve]';
+賓>'[guest]';
+賚>'[give]';
+賛>'[help]';
+賜>'[give]';
+賞>'[reward]';
+賠>'[indemnify]';
+賢>'[virtuous]';
+賣>'[sell]';
+賤>'[mean]';
+賦>'[tax]';
+質>'[matter]';
+賭>'[bet]';
+賺>'[make money]';
+賻>'[gift of money help pay funeral]';
+購>'[buy]';
+賽>'[compete]';
+贄>'[gift superior]';
+贅>'[unnecessary]';
+贇>'[affable]';
+贈>'[give present]';
+贊>'[help]';
+贋>'[false]';
+贍>'[support]';
+贏>'[win]';
+贐>'[farewell present]';
+贓>'[booty]';
+贔>'[strong]';
+贖>'[buy]';
+赤>'[red]';
+赦>'[forgive]';
+赧>'[blush]';
+赫>'[bright]';
+赭>'[reddish brown]';
+走>'[walk]';
+赱>'[walk]';
+赳>'[grand]';
+赴>'[go to]';
+起>'[rise]';
+趁>'[take advantage of]';
+超>'[jump over]';
+越>'[exceed]';
+趙>'[surname]';
+趣>'[what attracts one''s attention]';
+趨>'[hasten]';
+足>'[foot]';
+趺>'[sit cross-legged]';
+趾>'[toe]';
+跂>'[creeping]';
+跋>'[go by foot]';
+跌>'[stumble]';
+跏>'[sit cross-legged]';
+跖>'[sole (of the foot)]';
+跚>'[stagger]';
+跛>'[lame]';
+距>'[distance]';
+跟>'[heel]';
+跡>'[search]';
+跣>'[bare footed]';
+跨>'[straddle]';
+跪>'[kneel]';
+跫>'[sound of footsteps]';
+路>'[road]';
+跳>'[jump]';
+践>'[trample]';
+跼>'[bent]';
+#"跿>'[................................]'",
+踈>'[neglect]';
+踉>'[hop]';
+踊>'[leap]';
+踏>'[step on]';
+踐>'[trample]';
+踝>'[ankle]';
+踞>'[crouch]';
+踟>'[hesitate]';
+踪>'[footprints]';
+踰>'[exceed]';
+踴>'[leap]';
+踵>'[heel]';
+蹂>'[trample under foot]';
+蹄>'[hoof]';
+蹇>'[lame]';
+蹈>'[stamp feet]';
+蹉>'[error]';
+蹊>'[footpath]';
+蹌>'[walk rapidly]';
+蹐>'[take short steps]';
+蹕>'[clear way]';
+蹙>'[urgent]';
+蹟>'[trace]';
+蹠>'[step on]';
+蹣>'[to jump over]';
+蹤>'[footprints]';
+蹲>'[squat]';
+蹴>'[kick]';
+蹶>'[stumble]';
+蹼>'[webbed feet of waterfowl]';
+躁>'[tense]';
+躄>'[cripple]';
+躅>'[walk carefully]';
+躇>'[hesitate]';
+躊>'[hesitate]';
+躋>'[ascend]';
+躍>'[skip]';
+躑>'[waver]';
+躓>'[stumble]';
+躔>'[follow in]';
+躙>'[trample down]';
+躡>'[tread]';
+躪>'[trample down]';
+身>'[body]';
+躬>'[body]';
+躯>'[body]';
+躰>'[body]';
+躱>'[hide]';
+#"躺>'[lie down]'",
+#"軄>'[to govern]'",
+軆>'[body]';
+#"軆>'[body]'",
+車>'[cart]';
+軋>'[crush by weight]';
+軌>'[track]';
+軍>'[army]';
+軒>'[carriage]';
+軛>'[yoke]';
+軟>'[soft]';
+転>'[shift]';
+軣>'[rumble]';
+軫>'[cross board at rear of carriage]';
+軸>'[axle]';
+軻>'[axle]';
+軼>'[rush forth]';
+軽>'[light]';
+軾>'[horizontal wooden bar in front of a sedan chair]';
+較>'[compare]';
+輅>'[chariot]';
+載>'[load]';
+輊>'[low rear portion of cart]';
+輌>'[numerary adjunct for vehicles]';
+輒>'[sides of chariot where weapons]';
+輓>'[mourn]';
+輔>'[cheek bone]';
+輕>'[light]';
+輙>'[sides of chariot were weapons]';
+輛>'[numerary adjunct for vehicles]';
+輜>'[supply cart]';
+輝>'[brightness]';
+輟>'[stop]';
+輦>'[hand-cart]';
+輩>'[generation]';
+輪>'[wheel]';
+輯>'[gather up]';
+輳>'[hubs of wheel]';
+輸>'[transport]';
+輹>'[two pieces of wood underneath ca]';
+輻>'[spokes of wheel]';
+輾>'[turn over]';
+輿>'[cart]';
+轂>'[hub of wheel]';
+轄>'[linchpin of wheel]';
+轅>'[axle]';
+轆>'[windlass]';
+轉>'[shift]';
+轌>'[sled]';
+轍>'[wagon ruts]';
+轎>'[sedan-chair]';
+轗>'[fail]';
+轜>'[hearse]';
+轟>'[rumble]';
+轡>'[bridle of horse]';
+轢>'[run over something with vehicle]';
+#"轣>'[................................]'",
+轤>'[pulley]';
+辛>'[bitter]';
+辜>'[crime]';
+辞>'[words]';
+辟>'[law]';
+辣>'[peppery]';
+辧>'[manage]';
+辨>'[distinguish]';
+辭>'[words]';
+辮>'[braid]';
+辯>'[dispute]';
+辰>'[early morning]';
+辱>'[humiliate]';
+農>'[agriculture]';
+辷>'[smooth]';
+辺>'[edge]';
+辻>'[crossroads]';
+込>'[crowd into]';
+辿>'[follow]';
+迂>'[doctrinaire]';
+迄>'[extend]';
+迅>'[quick]';
+迎>'[receive]';
+近>'[near]';
+返>'[return]';
+迚>'[very]';
+迢>'[far]';
+迥>'[distant]';
+迦>'[character for transliteration]';
+迩>'[be near]';
+迪>'[enlighten]';
+迫>'[coerce]';
+迭>'[repeatedly]';
+迯>'[escape]';
+述>'[narrate]';
+迴>'[revolve]';
+迷>'[bewitch]';
+迸>'[gush out]';
+迹>'[traces]';
+迺>'[then]';
+追>'[pursue]';
+退>'[step back]';
+送>'[see off]';
+逃>'[escape]';
+逅>'[meet unexpectedly]';
+逆>'[disobey]';
+逋>'[flee]';
+逍>'[ramble]';
+逎>'[strong]';
+透>'[penetrate]';
+逐>'[chase]';
+逑>'[collect]';
+逓>'[hand over]';
+途>'[way]';
+逕>'[pass by]';
+逖>'[far]';
+逗>'[tempt]';
+這>'[this]';
+通>'[pass through]';
+逝>'[pass away]';
+逞>'[indulge oneself]';
+速>'[quick]';
+造>'[construct]';
+逡>'[retreat]';
+逢>'[come upon]';
+連>'[join]';
+#"逦>'[meandering]'",
+逮>'[seize]';
+週>'[week]';
+進>'[advance]';
+逵>'[thoroughfare]';
+逶>'[winding]';
+逸>'[flee]';
+逹>'[arrive at]';
+逼>'[compel]';
+逾>'[go over]';
+遁>'[hide]';
+遂>'[comply with]';
+遅>'[late]';
+遇>'[meet]';
+遉>'[spy]';
+遊>'[wander]';
+運>'[luck]';
+遍>'[everywhere]';
+過>'[pass]';
+遏>'[stop]';
+遐>'[afar]';
+遑>'[leisure]';
+遒>'[strong]';
+道>'[path]';
+達>'[arrive at]';
+違>'[disobey]';
+#"違>'[disobey]'",
+遘>'[to meet]';
+遙>'[far away]';
+遜>'[humble]';
+遞>'[hand over]';
+遠>'[distant]';
+遡>'[go upstream]';
+遣>'[send]';
+遥>'[far away]';
+遨>'[ramble]';
+適>'[match]';
+遭>'[come across]';
+遮>'[cover]';
+遯>'[deceive]';
+遲>'[late]';
+遵>'[obey]';
+遶>'[entwine]';
+遷>'[move]';
+選>'[choose]';
+遺>'[lose]';
+遼>'[distant]';
+遽>'[suddenly]';
+避>'[avoid]';
+邀>'[invite]';
+邁>'[take a big stride]';
+邂>'[unexpected meeting]';
+邃>'[profound]';
+還>'[still]';
+邇>'[be near]';
+邉>'[edge]';
+邊>'[edge]';
+邏>'[patrol]';
+邑>'[area]';
+那>'[that]';
+邦>'[nation]';
+邨>'[village]';
+邪>'[wrong]';
+邯>'[city in hebei province]';
+邱>'[surname]';
+邵>'[surname]';
+邸>'[official residence]';
+郁>'[sweet smelling]';
+郊>'[suburbs]';
+郎>'[gentleman]';
+郛>'[outer walls of city]';
+郡>'[administrative division]';
+郢>'[state in today''s hubei province]';
+郤>'[crack]';
+部>'[part]';
+郭>'[outer part (of a city)]';
+郵>'[postal]';
+郷>'[country]';
+都>'[metropolis]';
+鄂>'[hubei province]';
+鄒>'[name of an ancient state]';
+鄙>'[mean]';
+鄭>'[state in today''s henan]';
+鄰>'[neighbor]';
+鄲>'[county in hebei proincev]';
+酉>'[tenth in series of twelve cyclic]';
+酊>'[drunk]';
+酋>'[chief of tribe]';
+酌>'[serve wine]';
+配>'[match]';
+酎>'[double-fermented wine]';
+酒>'[wine]';
+酔>'[intoxicated]';
+酖>'[wine with bird poison added]';
+#"酘>'[................................]'",
+酢>'[toast one''s host with wine]';
+酣>'[enjoy intoxicants]';
+酥>'[butter]';
+酩>'[drunk]';
+酪>'[cream]';
+酬>'[toast]';
+酲>'[hangover]';
+#"酲>'[hangover]'",
+酵>'[yeast]';
+酷>'[strong]';
+酸>'[tart]';
+#"醁>'[a kind of green-colored wine]'",
+醇>'[rich]';
+醉>'[intoxicated]';
+醋>'[vinegar]';
+醍>'[essential oil of butter]';
+醐>'[purest cream]';
+醒>'[wake up]';
+醗>'[to brew for the second time]';
+醜>'[ugly looking]';
+醢>'[minced pickled meat]';
+醤>'[any jam-like or paste-like food]';
+醪>'[unclear wine]';
+醫>'[cure]';
+醯>'[vinegar]';
+醴>'[sweet wine]';
+醵>'[contribute for drinks]';
+醸>'[brew]';
+醺>'[get drunk]';
+釀>'[brew]';
+釁>'[smear with blood in sacrifice]';
+釆>'[distinguish]';
+采>'[collect]';
+釈>'[interprete]';
+釉>'[glaze]';
+釋>'[interprete]';
+里>'[unit of distance]';
+重>'[heavy]';
+野>'[open country]';
+量>'[measure]';
+釐>'[manage]';
+金>'[gold]';
+釖>'[knife]';
+釘>'[nail]';
+#"釛>'[................................]'",
+釜>'[cauldron]';
+針>'[needle]';
+#"釟>'[................................]'",
+釡>'[cauldron]';
+釣>'[fish]';
+釦>'[button]';
+釧>'[bracelet]';
+釵>'[ornamental hairpin]';
+#"釶>'[................................]'",
+釼>'[sword]';
+#"釿>'[................................]'",
+鈍>'[blunt]';
+鈎>'[hook]';
+鈑>'[plate]';
+鈔>'[paper money]';
+鈕>'[button]';
+鈞>'[unit of measure equivalent thirt]';
+鈩>'[fireplace]';
+鈬>'[bell]';
+鈴>'[bell]';
+鈷>'[cobalt]';
+鈿>'[hairpin]';
+鉄>'[iron]';
+鉅>'[steel]';
+鉈>'[thallium]';
+鉉>'[device for carrying a tripod]';
+鉋>'[carpenter''s plane]';
+#"鉐>'[................................]'",
+鉗>'[pincers]';
+鉚>'[rivet]';
+鉛>'[lead plumbum]';
+鉞>'[broad-axe]';
+鉢>'[earthenware basin]';
+鉤>'[hook]';
+鉦>'[kind of gong used in ancient tim]';
+鉱>'[mine]';
+鉾>'[spear]';
+銀>'[silver]';
+銃>'[ancient weapon]';
+銅>'[copper]';
+銑>'[mill]';
+銓>'[weigh]';
+銕>'[iron]';
+銖>'[unit of weight]';
+銘>'[inscribe]';
+銚>'[large hoe]';
+銛>'[sharp]';
+銜>'[bit]';
+銭>'[money]';
+銷>'[melt]';
+銹>'[rust]';
+鋏>'[tongs]';
+鋒>'[point of spear]';
+鋤>'[hoe]';
+鋩>'[point of sword]';
+鋪>'[spread out]';
+鋭>'[sharp]';
+鋲>'[rivet]';
+鋳>'[melt]';
+鋸>'[a saw]';
+#"鋺>'[................................]'",
+鋼>'[steel]';
+錆>'[the color of a mineral]';
+錏>'[soft steel]';
+錐>'[gimlet]';
+錘>'[balance weight on scale]';
+錙>'[8 oz]';
+錚>'[clanging sound]';
+錠>'[spindle]';
+錢>'[money]';
+#"錣>'[................................]'",
+錦>'[brocade]';
+錨>'[anchor]';
+錫>'[tin]';
+錬>'[smelt metals]';
+錮>'[run metal into cracks]';
+錯>'[error]';
+録>'[copy]';
+#"錵>'[................................]'",
+#"錺>'[................................]'",
+#"錻>'[................................]'",
+#"鍄>'[................................]'",
+鍋>'[cooking-pot]';
+鍍>'[plate]';
+鍔>'[high]';
+#"鍖>'[................................]'",
+鍛>'[forge metal]';
+#"鍜>'[................................]'",
+鍠>'[weapon]';
+鍬>'[shovel]';
+鍮>'[brass]';
+鍵>'[door bolt]';
+鍼>'[needle]';
+鍾>'[cup]';
+鎌>'[sickle]';
+鎔>'[fuse]';
+鎖>'[lock]';
+鎗>'[rifle]';
+鎚>'[hammer]';
+鎧>'[armor]';
+鎬>'[stove]';
+鎭>'[town]';
+鎮>'[town]';
+鎰>'[measure of weight for gold]';
+#"鎹>'[................................]'",
+鏃>'[arrowhead]';
+鏈>'[chain]';
+鏐>'[pure gold]';
+鏑>'[dysprosium the barb of an arrow]';
+鏖>'[fight end]';
+鏗>'[strike]';
+鏘>'[tinkle]';
+鏝>'[trowel]';
+鏡>'[mirror]';
+鏤>'[carve]';
+鏥>'[rust]';
+鏨>'[engraving tool]';
+鐃>'[cymbals]';
+鐇>'[vanadium]';
+鐐>'[fetters]';
+鐓>'[ferrule]';
+鐔>'[dagger]';
+鐘>'[clock]';
+鐙>'[lamp]';
+鐚>'[soft steel]';
+鐡>'[iron]';
+鐫>'[engraving tool]';
+鐵>'[iron]';
+鐶>'[metal ring]';
+鐸>'[bell]';
+鐺>'[frying pan]';
+#"鑁>'[................................]'",
+鑄>'[melt]';
+鑑>'[mirror]';
+鑒>'[mirror]';
+鑓>'[spear]';
+鑚>'[drill]';
+鑛>'[mine]';
+鑞>'[solder]';
+鑠>'[melt]';
+鑢>'[file]';
+鑪>'[fireplace]';
+鑰>'[key]';
+鑵>'[jar]';
+鑷>'[tweezers]';
+鑼>'[gong]';
+鑽>'[drill]';
+鑾>'[bells hung on horse]';
+鑿>'[chisel]';
+钁>'[a mattock]';
+長>'[long]';
+門>'[gate]';
+閂>'[bolt]';
+閃>'[flash]';
+閇>'[shut]';
+閉>'[shut]';
+#"閉>'[shut]'",
+開>'[open]';
+閏>'[intercalary]';
+閑>'[fence]';
+間>'[interval]';
+閔>'[mourn]';
+#"閔>'[mourn]'",
+閘>'[sluice]';
+閙>'[quarrel]';
+閠>'[intercalary]';
+関>'[frontier pass]';
+閣>'[chamber]';
+閤>'[small side door]';
+閥>'[powerful and influential group]';
+閧>'[boisterous]';
+閨>'[small entrance]';
+閭>'[village of twenty-five families]';
+閲>'[examine]';
+閹>'[castrate]';
+閻>'[village gate]';
+閼>'[block]';
+閾>'[threshold]';
+闃>'[alone]';
+闇>'[close]';
+闊>'[broad]';
+闌>'[door screen]';
+闍>'[tower over city gate]';
+闔>'[close]';
+闕>'[watch tower]';
+闖>'[rush in]';
+闘>'[struggle]';
+關>'[frontier pass]';
+闡>'[explain]';
+闢>'[open]';
+闥>'[door]';
+阜>'[mound]';
+阡>'[footpaths between fields]';
+阨>'[in distress]';
+阪>'[hillside farmland]';
+阮>'[ancient musical instrument: surname]';
+阯>'[foundation]';
+防>'[defend]';
+阻>'[impede]';
+阿>'[prefix to name]';
+陀>'[steep bank]';
+陂>'[dam]';
+附>'[adhere to]';
+陋>'[narrow]';
+陌>'[foot path between rice fields]';
+降>'[descend]';
+#"降>'[descend]'",
+限>'[boundary]';
+陛>'[steps leading throne]';
+陜>'[narrow]';
+陝>'[mountain pass]';
+陞>'[promote]';
+陟>'[climb]';
+院>'[courtyard]';
+陣>'[column]';
+除>'[eliminate]';
+陥>'[submerge]';
+#"陥>'[submerge]'",
+陪>'[accompany]';
+陬>'[corner]';
+陰>'[\"female\" principle]';
+陲>'[frontier]';
+陳>'[exhibit]';
+陵>'[hill]';
+陶>'[pottery]';
+陷>'[submerge]';
+陸>'[land]';
+険>'[narrow pass]';
+陽>'[\"male\" principle]';
+隅>'[corner]';
+隆>'[prosperous]';
+隈>'[cove]';
+隊>'[team]';
+隋>'[Sui dynasty]';
+隍>'[dry ditch]';
+階>'[stairs]';
+随>'[follow]';
+隔>'[separate]';
+隕>'[fall]';
+隗>'[high]';
+隘>'[narrow]';
+隙>'[crack]';
+際>'[border]';
+障>'[separate]';
+#"障>'[separate]'",
+隣>'[neighbor]';
+隧>'[tunnel]';
+隨>'[follow]';
+險>'[narrow pass]';
+隰>'[low]';
+隱>'[hide]';
+隲>'[stallion]';
+隴>'[mountain located between shaanxi]';
+隶>'[subservient]';
+隷>'[be subservient to]';
+隸>'[be subservient to]';
+隹>'[bird]';
+隻>'[single]';
+隼>'[aquiline (nose)]';
+雀>'[sparrow]';
+雁>'[wild goose]';
+雄>'[male of species]';
+雅>'[elegant]';
+集>'[assemble]';
+雇>'[employ]';
+雉>'[pheasant]';
+雋>'[superior]';
+雌>'[female]';
+雍>'[harmony]';
+雎>'[osprey]';
+雑>'[mixed]';
+雕>'[engrave]';
+雖>'[although]';
+雙>'[set of two]';
+雛>'[chick]';
+雜>'[mixed]';
+離>'[leave]';
+難>'[difficult]';
+雨>'[rain]';
+雪>'[snow]';
+#"雫>'[................................]'",
+雰>'[atmosphere]';
+雲>'[clouds]';
+零>'[zero]';
+雷>'[thunder]';
+雹>'[hail]';
+電>'[electricity]';
+需>'[need]';
+霄>'[sky]';
+霆>'[a sudden peal of thunder]';
+震>'[shake]';
+霈>'[torrential rains]';
+霊>'[spirit]';
+霍>'[quickly]';
+霎>'[light rain]';
+霏>'[falling of snow and rain]';
+霑>'[be moistened]';
+霓>'[rainbow]';
+霖>'[long spell of rain]';
+霙>'[sleet]';
+霜>'[frost]';
+霞>'[rosy clouds]';
+霤>'[drip]';
+霧>'[fog]';
+霪>'[long and heavy rain]';
+霰>'[hail]';
+露>'[dew]';
+霸>'[rule by might rather than right]';
+霹>'[thunder]';
+霽>'[clear up after rain cease be ang]';
+霾>'[misty]';
+靂>'[thunderclap]';
+靄>'[cloudy sky]';
+靆>'[cloudy sky]';
+靈>'[spirit]';
+靉>'[cloudy sky]';
+青>'[blue]';
+靖>'[pacify]';
+静>'[quiet]';
+靜>'[quiet]';
+非>'[not]';
+靠>'[lean on]';
+靡>'[divide]';
+面>'[face]';
+#"靤>'[................................]'",
+靦>'[timid]';
+靨>'[dimples]';
+革>'[leather]';
+靫>'[strong and pliable]';
+靭>'[strong and pliable]';
+靱>'[strong and pliable]';
+靴>'[boots]';
+#"靹>'[................................]'",
+靺>'[stocking]';
+靼>'[tartars]';
+#"鞁>'[................................]'",
+鞄>'[to work hides]';
+鞅>'[leather strap over horse''s neck]';
+#"鞅>'[leather strap over horse''s neck]'",
+鞋>'[shoes]';
+鞍>'[saddle]';
+鞏>'[bind]';
+#"鞏>'[bind]'",
+鞘>'[scabbard]';
+#"鞜>'[................................]'",
+鞠>'[bow]';
+鞣>'[tan]';
+鞦>'[leather stap]';
+鞨>'[tribe]';
+鞫>'[interrogate]';
+鞭>'[whip]';
+#"鞳>'[................................]'",
+鞴>'[saddle up horse]';
+韃>'[tatars]';
+韆>'[swing]';
+韈>'[socks]';
+韋>'[tanned leather]';
+韓>'[fence]';
+韜>'[sheath]';
+韭>'[scallion]';
+韮>'[scallion]';
+韲>'[break or smash into pieces]';
+音>'[sound]';
+韵>'[rhyme]';
+韶>'[music of emperor Shun]';
+韻>'[rhyme]';
+響>'[make sound]';
+頁>'[page]';
+頂>'[top]';
+頃>'[moment]';
+項>'[neck]';
+順>'[obey]';
+須>'[must]';
+頌>'[laud]';
+頏>'[fly down or downward]';
+預>'[prepare]';
+頑>'[obstinate]';
+頒>'[confer]';
+頓>'[pause]';
+頗>'[lean one side]';
+領>'[neck]';
+頚>'[neck]';
+頡>'[fly upward]';
+頤>'[cheeks]';
+頬>'[cheeks]';
+頭>'[head]';
+頴>'[rice tassel]';
+頷>'[chin]';
+頸>'[neck]';
+頻>'[frequently]';
+頼>'[rely]';
+頽>'[ruined]';
+顆>'[grain]';
+顋>'[lower part of face]';
+題>'[forehead]';
+額>'[forehead]';
+顎>'[jaw]';
+顏>'[face]';
+顔>'[face]';
+顕>'[manifest]';
+願>'[desire]';
+顛>'[top]';
+類>'[class]';
+顧>'[look back]';
+顫>'[shiver]';
+顯>'[manifest]';
+顰>'[frown]';
+顱>'[skull]';
+顳>'[the temporal bone]';
+顴>'[cheek bones]';
+風>'[wind]';
+#"風>'[wind]'",
+颯>'[sound of wind]';
+颱>'[taiphoon]';
+颶>'[cyclone]';
+飃>'[whirlwind]';
+飄>'[whirlwind]';
+飆>'[whirlwind]';
+飛>'[fly]';
+飜>'[flip over]';
+食>'[eat]';
+飢>'[hunger]';
+飩>'[stuffed dumplings]';
+飫>'[surfeited]';
+飭>'[order]';
+飮>'[drink]';
+飯>'[cooked rice]';
+飲>'[drink]';
+飴>'[sweet-meats]';
+飼>'[raise animals]';
+飽>'[eat heartily]';
+飾>'[decorate]';
+餃>'[stuffed dumplings]';
+餅>'[rice-cakes]';
+餉>'[rations and pay for soldiers]';
+養>'[raise]';
+餌>'[bait]';
+餐>'[eat]';
+餒>'[hungry]';
+餓>'[be hungry]';
+餔>'[eat]';
+餘>'[surplus]';
+#"餝>'[................................]'",
+餞>'[farewell party]';
+餠>'[rice-cakes]';
+餡>'[pastry filling]';
+餤>'[incite]';
+館>'[public building]';
+餬>'[porridge]';
+餮>'[a legendary animal]';
+餽>'[make present of food]';
+餾>'[distill]';
+#"饁>'[carry meal to workers in field]'",
+饅>'[steamed bread]';
+饉>'[time of famine or crop failure]';
+饋>'[offer food superior]';
+饌>'[feed]';
+饐>'[spoiled]';
+饑>'[starve]';
+饒>'[bountiful]';
+饕>'[gluttonous]';
+饗>'[host banquet]';
+首>'[head]';
+馗>'[cheekbone]';
+馘>'[cut off left ear]';
+香>'[fragrant]';
+馥>'[fragrance]';
+馨>'[fragrant]';
+馬>'[horse]';
+馭>'[drive]';
+馮>'[surname]';
+馳>'[go quickly or swiftly]';
+馴>'[tame]';
+#"馼>'[................................]'",
+駁>'[varicolored]';
+#"駃>'[gallop]'",
+駅>'[relay station]';
+駆>'[spur horse on]';
+駈>'[spur horse on]';
+駐>'[to be stationed at]';
+駑>'[tired]';
+駒>'[colt]';
+駕>'[drive]';
+駘>'[tired]';
+駛>'[sail]';
+駝>'[camel]';
+駟>'[team of four horses]';
+駢>'[team of horses]';
+駭>'[terrify]';
+駮>'[a kind of fierce animal]';
+駱>'[white horse w. black mane]';
+#"駱>'[white horse w. black mane]'",
+駸>'[galloping]';
+#"駻>'[................................]'",
+駿>'[excellent horse]';
+騁>'[gallop horse]';
+騅>'[piebald horse]';
+騎>'[ride horseback]';
+騏>'[piebald horse]';
+騒>'[harass]';
+験>'[test]';
+騙>'[swindle]';
+騨>'[dappled]';
+騫>'[raise]';
+騰>'[fly]';
+騷>'[harass]';
+騾>'[mule]';
+驀>'[suddenly]';
+驂>'[two outside ones in three horse]';
+驃>'[charger]';
+驅>'[spur horse on]';
+驍>'[excellent horse]';
+驕>'[spirited horse]';
+驗>'[test]';
+驚>'[frighten]';
+驛>'[relay station]';
+驟>'[procedure]';
+驢>'[donkey]';
+驤>'[gallop about with head uplifted]';
+驥>'[thoroughbred horse]';
+驩>'[happy]';
+驪>'[pure black horse]';
+驫>'[horses]';
+骨>'[bone]';
+骭>'[shin bone]';
+骰>'[die]';
+骸>'[skelton]';
+骼>'[bone]';
+髀>'[buttocks]';
+髄>'[bone marrow]';
+髏>'[skull]';
+髑>'[skull]';
+髓>'[bone marrow]';
+體>'[body]';
+高>'[high]';
+髞>'[high]';
+髟>'[hair]';
+髢>'[wig]';
+髣>'[similar to]';
+髦>'[flowing hair of young child]';
+髪>'[hair]';
+髫>'[children''s hair style]';
+髭>'[mustache]';
+髮>'[hair]';
+髯>'[beard]';
+#"髱>'[................................]'",
+髴>'[disheveled hair]';
+#"髷>'[................................]'",
+髻>'[hair rolled up in a bun]';
+鬆>'[lax]';
+鬘>'[beautiful hair]';
+鬚>'[beard]';
+鬟>'[dress hair in coiled knot]';
+鬢>'[hair on temples]';
+鬣>'[horse''s mane]';
+鬥>'[struggle]';
+鬧>'[quarrel]';
+鬨>'[boisterous]';
+鬩>'[feud]';
+鬪>'[struggle]';
+鬮>'[lots (to be drawn)]';
+鬯>'[sacrificial wine]';
+鬱>'[luxuriant]';
+鬲>'[type of caldron]';
+鬻>'[sell]';
+鬼>'[ghost]';
+魁>'[chief]';
+魂>'[soul]';
+魃>'[drought demon]';
+魄>'[vigor]';
+魅>'[kind of forest demon]';
+魍>'[demons]';
+魎>'[a kind of monster]';
+魏>'[kingdom of wei]';
+魑>'[a montain demon resembling tiger]';
+魔>'[demon]';
+魘>'[nightmare]';
+魚>'[fish]';
+魯>'[foolish]';
+魴>'[bream]';
+#"鮁>'[the bonito]'",
+鮎>'[sheatfish]';
+鮑>'[abalone]';
+鮒>'[carp]';
+鮓>'[minced and salted fish]';
+#"鮓>'[minced and salted fish]'",
+#"鮓>'[minced and salted fish]'",
+鮟>'[anglerfish]';
+鮠>'[a kind of shad with a head like a sturgeon]';
+#"鮨>'[................................]'",
+鮪>'[kind of sturgeon]';
+鮫>'[shark]';
+鮭>'[salmon]';
+鮮>'[fresh]';
+#"鮴>'[................................]'",
+#"鮹>'[................................]'",
+鯀>'[giant fish]';
+鯆>'[the skate or ray]';
+鯉>'[carp]';
+鯊>'[shark]';
+鯏>'[a dialect........ name of fish]';
+#"鯑>'[................................]'",
+#"鯒>'[................................]'",
+鯔>'[mullet]';
+鯖>'[mackerel]';
+鯛>'[pagrosomus major]';
+鯡>'[herring]';
+鯢>'[cryptobranchus japonicus]';
+#"鯣>'[................................]'",
+鯤>'[spawn]';
+鯨>'[whale]';
+鯰>'[sheat]';
+#"鯱>'[................................]'",
+#"鯱>'[................................]'",
+#"鯱>'[................................]'",
+#"鰄>'[................................]'",
+#"鰆>'[................................]'",
+鰈>'[flatfish]';
+鰉>'[sturgeon]';
+#"鰊>'[................................]'",
+鰌>'[loach]';
+鰍>'[loach]';
+鰐>'[alligator]';
+鰒>'[abalone]';
+鰓>'[fish gills]';
+#"鰔>'[................................]'",
+鰕>'[shrimp]';
+鰛>'[sardine]';
+#"鰡>'[................................]'",
+#"鰤>'[................................]'",
+鰥>'[huge fish]';
+鰭>'[fin]';
+鰮>'[sardine]';
+#"鰯>'[................................]'",
+#"鰯>'[................................]'",
+鰲>'[huge sea turtle]';
+鰹>'[skipjack]';
+#"鰺>'[................................]'",
+鰻>'[eel]';
+鰾>'[swimming bladder of fish]';
+#"鱆>'[................................]'",
+鱇>'[anglerfish]';
+鱈>'[codfish]';
+鱒>'[barbel]';
+鱗>'[fish scales]';
+#"鱘>'[sturgeon]'",
+鱠>'[minced fish]';
+鱧>'[snakehead]';
+#"鱶>'[................................]'",
+鱸>'[sea perch]';
+鳥>'[bird]';
+鳧>'[wild duck]';
+鳩>'[pigeon]';
+鳫>'[wild goose]';
+鳬>'[wild duck]';
+#"鳰>'[................................]'",
+鳳>'[male phoenix]';
+鳴>'[cry of bird or animal]';
+鳶>'[kite]';
+鴃>'[shrike]';
+鴆>'[bird resembling secretary falcon]';
+鴇>'[bustard]';
+鴈>'[wild goose]';
+鴉>'[crow]';
+鴎>'[seagull]';
+鴒>'[species of lark]';
+鴕>'[ostrich]';
+鴛>'[male mandarin duck]';
+鴟>'[kite]';
+鴣>'[species of taiwan pigeon]';
+鴦>'[female mandarin duck]';
+鴨>'[duck]';
+鴪>'[swoop]';
+鴫>'[a snipe]';
+鴬>'[oriole]';
+鴻>'[species of wild swan]';
+#"鴾>'[................................]'",
+鴿>'[pigeon]';
+#"鵁>'[................................]'",
+鵄>'[kite]';
+#"鵄>'[kite]'",
+#"鵄>'[kite]'",
+#"鵐>'[................................]'",
+鵑>'[cuckoo]';
+鵙>'[a shrike]';
+鵜>'[pelican]';
+鵝>'[goose]';
+鵞>'[goose]';
+鵠>'[target]';
+鵡>'[species of parrot]';
+#"鵡>'[species of parrot]'",
+鵬>'[fabulous bird of enormous size]';
+鵯>'[bird]';
+鵲>'[magpie]';
+#"鵺>'[................................]'",
+鶇>'[thrush]';
+鶉>'[quail]';
+鶏>'[chicken]';
+鶚>'[osprey]';
+#"鶤>'[................................]'",
+鶩>'[duck]';
+鶫>'[thrush]';
+鶯>'[oriole]';
+#"鶱>'[soar]'",
+鶴>'[crane]';
+鶸>'[[not found in any dictionary]]';
+鶺>'[wagtail]';
+鶻>'[a kind of pigeon]';
+鷁>'[fishhawk bow or prow]';
+鷂>'[sparrow hawk]';
+鷄>'[chicken]';
+鷆>'[bird name]';
+鷏>'[bird name]';
+鷓>'[partridge]';
+鷙>'[hawk]';
+鷦>'[wren]';
+#"鷫>'[turquoise kingfisher]'",
+鷯>'[wren]';
+鷲>'[condor]';
+鷸>'[snipe]';
+鷹>'[eagle]';
+鷺>'[heron]';
+鷽>'[oriental bullfinch]';
+鸚>'[species of parrot]';
+鸛>'[crane]';
+鸞>'[fabulous bird]';
+鹵>'[saline soil]';
+鹸>'[alkaline]';
+鹹>'[salty]';
+鹽>'[salt]';
+鹿>'[deer]';
+麁>'[rough]';
+麈>'[species of deer]';
+麋>'[elk]';
+麌>'[stag]';
+麑>'[fawn]';
+麒>'[legendary auspicious animal]';
+麓>'[foot of hill]';
+麕>'[muntjac deer]';
+麗>'[beautiful]';
+麝>'[musk deer]';
+麟>'[female of chinese unicorn]';
+麥>'[wheat]';
+麦>'[wheat]';
+麩>'[bran]';
+麪>'[flour]';
+#"麫>'[flour]'",
+麸>'[bran]';
+麹>'[yeast]';
+麺>'[flour]';
+麻>'[hemp]';
+麼>'[interrogative final particle]';
+麾>'[pennant]';
+麿>'[I]';
+黄>'[yellow]';
+黌>'[school]';
+黍>'[glutinous millet]';
+黎>'[surname]';
+黏>'[stick to]';
+黐>'[stick]';
+黒>'[black]';
+黔>'[black]';
+默>'[silent]';
+黙>'[silent]';
+黛>'[blacken eyebrows]';
+黜>'[dismiss]';
+黝>'[black]';
+點>'[dot]';
+黠>'[sly]';
+黥>'[tattooing face]';
+黨>'[political party]';
+黯>'[dark]';
+黴>'[mold]';
+黶>'[mole]';
+黷>'[dishonor]';
+黹>'[embroidery]';
+黻>'[special pattern of embroidery]';
+黼>'[embroidered official or sacrific]';
+黽>'[to strive]';
+鼇>'[huge sea turtle]';
+鼈>'[fresh water turtle]';
+鼎>'[large]';
+鼓>'[drum]';
+鼕>'[rattle of drums]';
+鼠>'[rat]';
+鼡>'[rat]';
+鼬>'[weasel]';
+鼻>'[nose]';
+鼾>'[snore loudly]';
+齊>'[even]';
+齋>'[vegetarian diet]';
+齎>'[take in both hands and offer to]';
+齏>'[break or smash into pieces]';
+齒>'[teeth]';
+齔>'[lose baby teeth and get adult te]';
+齟>'[irregular teeth]';
+齠>'[lose baby teeth and get adult teeth]';
+齡>'[age]';
+齢>'[age]';
+齣>'[act]';
+齦>'[gums]';
+齧>'[bite]';
+齪>'[narrow]';
+齬>'[uneven teeth]';
+齲>'[tooth decay]';
+齶>'[palate]';
+齷>'[narrow]';
+龍>'[dragon]';
+龕>'[niche]';
+龜>'[turtle or tortoise]';
+龝>'[autumn]';
+龠>'[flute]';
+
+# eof
diff --git a/src/com/ibm/icu/dev/demo/translit/resources/Transliterator_Kanji_OnRomaji.txt b/src/com/ibm/icu/dev/demo/translit/resources/Transliterator_Kanji_OnRomaji.txt
new file mode 100755
index 0000000..7435913
--- /dev/null
+++ b/src/com/ibm/icu/dev/demo/translit/resources/Transliterator_Kanji_OnRomaji.txt
@@ -0,0 +1,6216 @@
+#--------------------------------------------------------------------
+# Copyright (c) 1999-2001, International Business Machines
+# Corporation and others.  All Rights Reserved.
+#--------------------------------------------------------------------
+# Date: Tue Jan 23 12:42:03 2001
+#--------------------------------------------------------------------
+
+# Kanji-OnRomaji
+
+丁>Tei;
+七>Shichi;
+万>Man;
+丈>Jou;
+三>San;
+上>Jou;
+下>Ka;
+不>Fu;
+与>Yo;
+丐>Kai;
+丑>Chuu;
+且>Sha;
+丕>Hi;
+世>Se;
+丗>Sei;
+丘>Kyuu;
+丙>Hei;
+丞>Shou;
+両>Ryou;
+並>Hei;
+个>Ka;
+中>Chuu;
+丱>Kan;
+串>Sen;
+丶>Chu;
+丸>Gan;
+丹>Tan;
+主>Shu;
+丼>Sei;
+丿>Hetsu;
+乂>Gai;
+乃>Dai;
+久>Kyuu;
+之>Shi;
+乍>Saku;
+乎>Ko;
+乏>Bou;
+乕>Ko;
+乖>Kai;
+乗>Jou;
+乘>Jou;
+乙>Otsu;
+九>Kyuu;
+乞>Kotsu;
+也>Ya;
+乢>Gai;
+乱>Ran;
+乳>Nyuu;
+乾>Kan;
+亀>Ki;
+亂>Ran;
+亅>Ketsu;
+了>Ryou;
+予>Yo;
+争>Sou;
+亊>Ji;
+事>Ji;
+二>Ni;
+于>U;
+云>Un;
+互>Go;
+五>Go;
+井>Sei;
+亘>Sen;
+亙>Kou;
+些>Sa;
+亜>A;
+亞>A;
+亟>Kyoku;
+亠>Tou;
+亡>Bou;
+亢>Kou;
+交>Kou;
+亥>Gai;
+亦>Eki;
+亨>Kyou;
+享>Kyou;
+京>Kyou;
+亭>Tei;
+亮>Ryou;
+亰>Kei;
+亳>Haku;
+亶>Tan;
+人>Jin;
+什>Shuu;
+仁>Jin;
+仂>Roku;
+仄>Soku;
+仆>Fu;
+仇>Kyuu;
+今>Kon;
+介>Kai;
+仍>Jou;
+从>Juu;
+仏>Butsu;
+仔>Shi;
+仕>Shi;
+他>Ta;
+仗>Jou;
+付>Fu;
+仙>Sen;
+仝>Dou;
+仞>Jin;
+仟>Sen;
+代>Dai;
+令>Rei;
+以>I;
+仭>Jin;
+仮>Ka;
+仰>Gyou;
+仲>Chuu;
+件>Ken;
+价>Kai;
+任>Nin;
+企>Ki;
+伉>Kou;
+伊>I;
+伍>Go;
+伎>Ki;
+伏>Fuku;
+伐>Batsu;
+休>Kyuu;
+会>Kai;
+伜>Sai;
+伝>Den;
+伯>Haku;
+估>Ko;
+伴>Han;
+伶>Rei;
+伸>Shin;
+伺>Shi;
+似>Ji;
+伽>Kya;
+佃>Ten;
+但>Tan;
+佇>Cho;
+位>I;
+低>Tei;
+住>Juu;
+佐>Sa;
+佑>Yuu;
+体>Tei;
+何>Ka;
+佗>Ta;
+余>Yo;
+佚>Itsu;
+佛>Butsu;
+作>Saku;
+佝>Kou;
+佞>Nei;
+佩>Hai;
+佯>You;
+佰>Haku;
+佳>Ka;
+併>Hei;
+佶>Kitsu;
+佻>Chou;
+佼>Kou;
+使>Shi;
+侃>Kan;
+來>Rai;
+侈>Shi;
+例>Rei;
+侍>Ji;
+侏>Shu;
+侑>Yuu;
+侖>Ron;
+侘>Ta;
+供>Kyou;
+依>I;
+侠>Kyou;
+価>Ka;
+侫>Nei;
+侭>Jin;
+侮>Bu;
+侯>Kou;
+侵>Shin;
+侶>Ryo;
+便>Ben;
+係>Kei;
+促>Soku;
+俄>Ga;
+俊>Shun;
+俎>Sho;
+俐>Ri;
+俑>You;
+俔>Ken;
+俗>Zoku;
+俘>Fu;
+俚>Ri;
+俛>Ben;
+保>Ho;
+俟>Shi;
+信>Shin;
+修>Shuu;
+俯>Fu;
+俳>Hai;
+俵>Hyou;
+俶>Shuku;
+俸>Hou;
+俺>En;
+俾>Hi;
+倅>Sai;
+倆>Ryou;
+倉>Sou;
+個>Ko;
+倍>Bai;
+倏>Shuku;
+們>Mon;
+倒>Tou;
+倔>Kutsu;
+倖>Kou;
+候>Kou;
+倚>I;
+借>Shaku;
+倡>Shou;
+倣>Hou;
+値>Chi;
+倥>Kou;
+倦>Ken;
+倨>Kyo;
+倩>Sen;
+倪>Gei;
+倫>Rin;
+倬>Taku;
+倭>I;
+倶>Ku;
+倹>Ken;
+偃>En;
+假>Ka;
+偈>Ketsu;
+偉>I;
+偏>Hen;
+偐>Gan;
+偕>Kai;
+偖>Sha;
+做>Saku;
+停>Tei;
+健>Ken;
+偬>Sou;
+偲>Shi;
+側>Soku;
+偵>Tei;
+偶>Guu;
+偸>Chuu;
+偽>Gi;
+傀>Kai;
+傅>Fu;
+傍>Bou;
+傑>Ketsu;
+傘>San;
+備>Bi;
+傚>Kou;
+催>Sai;
+傭>You;
+傲>Gou;
+傳>Den;
+傴>U;
+債>Sai;
+傷>Shou;
+傾>Kei;
+僂>Rou;
+僅>Kin;
+僉>Sen;
+僊>Sen;
+働>Dou;
+像>Zou;
+僑>Kyou;
+僕>Boku;
+僖>Ki;
+僚>Ryou;
+僞>Gi;
+僣>Sen;
+僥>Kyou;
+僧>Sou;
+僭>Sen;
+僮>Dou;
+僵>Kyou;
+價>Ka;
+僻>Heki;
+儀>Gi;
+儁>Shun;
+儂>Dou;
+億>Oku;
+儉>Ken;
+儒>Ju;
+儔>Chuu;
+儕>Sei;
+儖>Ran;
+儘>Jin;
+儚>Bou;
+償>Shou;
+儡>Rai;
+優>Yuu;
+儲>Cho;
+儷>Rei;
+儺>Da;
+儻>Tou;
+儼>Gen;
+儿>Jin;
+兀>Kotsu;
+允>In;
+元>Gen;
+兄>Kei;
+充>Juu;
+兆>Chou;
+兇>Kyou;
+先>Sen;
+光>Kou;
+克>Koku;
+兌>Da;
+免>Men;
+兎>To;
+児>Ji;
+兒>Ji;
+兔>To;
+党>Tou;
+兜>Tou;
+兢>Kyou;
+入>Nyuu;
+全>Zen;
+兩>Ryou;
+兪>Yu;
+八>Hachi;
+公>Kou;
+六>Roku;
+兮>Kei;
+共>Kyou;
+兵>Hei;
+其>Ki;
+具>Gu;
+典>Ten;
+兼>Ken;
+冀>Ki;
+冂>Kei;
+内>Dai;
+円>En;
+冉>Nen;
+冊>Satsu;
+册>Satsu;
+再>Sai;
+冏>Kei;
+冐>Bou;
+冑>Chuu;
+冒>Bou;
+冓>Kou;
+冕>Ben;
+冖>Beki;
+冗>Jou;
+写>Sha;
+冠>Kan;
+冢>Chou;
+冤>En;
+冥>Mei;
+冦>Kou;
+冨>Fu;
+冩>Sha;
+冪>Beki;
+冫>Hyou;
+冬>Tou;
+冰>Hyou;
+冱>Go;
+冲>Chuu;
+决>Ketsu;
+冴>Go;
+况>Kyou;
+冶>Ya;
+冷>Rei;
+冽>Retsu;
+凄>Sei;
+凅>Ko;
+准>Jun;
+凉>Ryou;
+凋>Chou;
+凌>Ryou;
+凍>Tou;
+凖>Jun;
+凛>Rin;
+凜>Rin;
+凝>Gyou;
+几>Ki;
+凡>Bon;
+処>Sho;
+凭>Hyou;
+凰>Kou;
+凱>Gai;
+凵>Kan;
+凶>Kyou;
+凸>Totsu;
+凹>Ou;
+出>Shutsu;
+函>Kan;
+凾>Kan;
+刀>Tou;
+刃>Jin;
+刄>Jin;
+分>Bun;
+切>Setsu;
+刈>Gai;
+刊>Kan;
+刋>Sen;
+刎>Fun;
+刑>Kei;
+刔>Ketsu;
+列>Retsu;
+初>Sho;
+判>Han;
+別>Betsu;
+刧>Gou;
+利>Ri;
+刪>San;
+刮>Katsu;
+到>Tou;
+刳>Ko;
+制>Sei;
+刷>Satsu;
+券>Ken;
+刹>Satsu;
+刺>Shi;
+刻>Koku;
+剃>Tei;
+剄>Kei;
+則>Soku;
+削>Saku;
+剋>Koku;
+剌>Ratsu;
+前>Zen;
+剏>Sou;
+剔>Teki;
+剖>Bou;
+剛>Gou;
+剞>Ki;
+剣>Ken;
+剤>Zai;
+剥>Haku;
+剩>Jou;
+剪>Sen;
+副>Fuku;
+剰>Jou;
+剱>Ken;
+割>Katsu;
+剳>Tou;
+剴>Gai;
+創>Sou;
+剽>Hyou;
+剿>Shou;
+劃>Kaku;
+劇>Geki;
+劈>Heki;
+劉>Ru;
+劍>Ken;
+劑>Zai;
+劒>Ken;
+劔>Ken;
+力>Ryoku;
+功>Kou;
+加>Ka;
+劣>Retsu;
+助>Jo;
+努>Do;
+劫>Gou;
+劬>Ku;
+劭>Shou;
+励>Rei;
+労>Rou;
+劵>Ken;
+効>Kou;
+劼>Katsu;
+劾>Gai;
+勁>Kei;
+勃>Botsu;
+勅>Choku;
+勇>Yuu;
+勉>Ben;
+勍>Kei;
+勒>Roku;
+動>Dou;
+勗>Bou;
+勘>Kan;
+務>Mu;
+勝>Shou;
+勞>Rou;
+募>Bo;
+勠>Riku;
+勢>Sei;
+勣>Seki;
+勤>Kin;
+勦>Sou;
+勧>Kan;
+勲>Kun;
+勳>Kun;
+勵>Rei;
+勸>Kan;
+勹>Hou;
+勺>Shaku;
+勾>Kou;
+勿>Butsu;
+包>Hou;
+匆>Sou;
+匈>Kyou;
+匍>Ho;
+匏>Hou;
+匐>Hoku;
+匕>Hi;
+化>Ka;
+北>Hoku;
+匙>Shi;
+匚>Hou;
+匝>Sou;
+匠>Shou;
+匡>Kyou;
+匣>Kou;
+匪>Hi;
+匯>Wai;
+匱>Ki;
+匳>Ren;
+匸>Kei;
+匹>Hitsu;
+区>Ku;
+医>I;
+匿>Toku;
+區>Ku;
+十>Juu;
+千>Sen;
+卅>Sou;
+卆>Sotsu;
+升>Shou;
+午>Go;
+卉>Ki;
+半>Han;
+卍>Ban;
+卑>Hi;
+卒>Sotsu;
+卓>Taku;
+協>Kyou;
+南>Nan;
+単>Tan;
+博>Haku;
+卜>Boku;
+卞>Hen;
+占>Sen;
+卦>Ka;
+卩>Setsu;
+卮>Shi;
+卯>Bou;
+印>In;
+危>Ki;
+即>Soku;
+却>Kyaku;
+卵>Ran;
+卷>Kan;
+卸>Sha;
+卻>Kyaku;
+卿>Kyou;
+厂>Kan;
+厄>Yaku;
+厖>Bou;
+厘>Rin;
+厚>Kou;
+原>Gen;
+厠>Shi;
+厥>Ketsu;
+厦>Ka;
+厨>Zu;
+厩>Kyuu;
+厭>En;
+厮>Shi;
+厰>Shou;
+厳>Gen;
+厶>Shi;
+去>Kyo;
+参>San;
+參>San;
+又>Yuu;
+叉>Sha;
+及>Kyuu;
+友>Yuu;
+双>Sou;
+反>Han;
+収>Shuu;
+叔>Shuku;
+取>Shu;
+受>Ju;
+叙>Jo;
+叛>Han;
+叟>Sou;
+叡>Ei;
+叢>Sou;
+口>Kou;
+古>Ko;
+句>Ku;
+叨>Tou;
+叩>Kou;
+只>Shi;
+叫>Kyou;
+召>Shou;
+叭>Hatsu;
+叮>Tei;
+可>Ka;
+台>Dai;
+叱>Shitsu;
+史>Shi;
+右>U;
+叶>Kyou;
+号>Gou;
+司>Shi;
+吁>Ku;
+吃>Kitsu;
+各>Kaku;
+合>Gou;
+吉>Kichi;
+吊>Chou;
+吋>Sun;
+同>Dou;
+名>Mei;
+后>Kou;
+吏>Ri;
+吐>To;
+向>Kou;
+君>Kun;
+吝>Rin;
+吟>Gin;
+吠>Hai;
+否>Hi;
+吩>Fun;
+含>Gan;
+听>Kin;
+吭>Kou;
+吮>Sen;
+吶>Totsu;
+吸>Kyuu;
+吹>Sui;
+吻>Fun;
+吼>Kou;
+吽>In;
+吾>Go;
+呀>Ga;
+呂>Ryo;
+呆>Bou;
+呈>Tei;
+呉>Go;
+告>Koku;
+呎>Seki;
+呑>Don;
+呟>Gen;
+周>Shuu;
+呪>Ju;
+呰>Shi;
+呱>Ko;
+味>Mi;
+呵>Ka;
+呶>Do;
+呷>Kou;
+呻>Shin;
+呼>Ko;
+命>Mei;
+咀>So;
+咄>Totsu;
+咆>Hou;
+咋>Saku;
+和>Wa;
+咎>Kyuu;
+咏>Ei;
+咐>Ho;
+咒>Shu;
+咢>Gaku;
+咤>Ta;
+咥>Ki;
+咨>Shi;
+咫>Shi;
+咬>Kou;
+咯>Kaku;
+咲>Shou;
+咳>Gai;
+咸>Kan;
+咼>Ka;
+咽>In;
+咾>Rou;
+哀>Ai;
+品>Hin;
+哂>Shin;
+哄>Kou;
+哇>Ai;
+哈>Gou;
+哉>Sai;
+員>In;
+哢>Rou;
+哥>Ka;
+哦>Ga;
+哨>Shou;
+哩>Ri;
+哭>Koku;
+哮>Kou;
+哲>Tetsu;
+哺>Ho;
+哽>Kou;
+唄>Bai;
+唆>Sa;
+唇>Shin;
+唏>Ki;
+唐>Tou;
+唔>Go;
+唖>A;
+售>Shuu;
+唯>Yui;
+唱>Shou;
+唳>Rei;
+唸>Ten;
+唹>Yo;
+唾>Da;
+啀>Gai;
+啄>Taku;
+啅>Taku;
+商>Shou;
+啌>Kou;
+問>Mon;
+啓>Kei;
+啖>Tan;
+啗>Tan;
+啜>Setsu;
+啝>Ka;
+啣>Kan;
+啻>Shi;
+啼>Tei;
+啾>Shuu;
+喀>Kaku;
+喃>Nan;
+善>Zen;
+喇>Ratsu;
+喉>Kou;
+喊>Kan;
+喋>Chou;
+喘>Zen;
+喙>Kai;
+喚>Kan;
+喜>Ki;
+喝>Katsu;
+喞>Soku;
+喟>Ki;
+喧>Ken;
+喨>Ryou;
+喩>Yu;
+喪>Sou;
+喫>Kitsu;
+喬>Kyou;
+單>Tan;
+営>Ei;
+嗄>Sa;
+嗅>Kyuu;
+嗇>Shoku;
+嗔>Shin;
+嗚>O;
+嗜>Shi;
+嗟>Sa;
+嗣>Shi;
+嗤>Shi;
+嗷>Gou;
+嗹>Ren;
+嗽>Soku;
+嗾>Sou;
+嘆>Tan;
+嘉>Ka;
+嘔>Ou;
+嘖>Saku;
+嘗>Shou;
+嘘>Kyo;
+嘛>Ma;
+嘩>Ka;
+嘯>Shou;
+嘱>Shoku;
+嘲>Tou;
+嘴>Shi;
+嘶>Sei;
+嘸>Bu;
+噂>Son;
+噌>Sou;
+噎>Itsu;
+噐>Ki;
+噛>Gou;
+噤>Kin;
+器>Ki;
+噪>Sou;
+噫>I;
+噬>Zei;
+噴>Fun;
+噸>Ton;
+嚀>Dei;
+嚆>Kou;
+嚇>Kaku;
+嚊>Hi;
+嚏>Tei;
+嚔>Tei;
+嚠>Ryuu;
+嚢>Nou;
+嚥>En;
+嚮>Kou;
+嚴>Gen;
+嚶>Ou;
+嚼>Shaku;
+囀>Ten;
+囁>Shou;
+囂>Gou;
+囃>Sou;
+囈>Gei;
+囎>So;
+囑>Shoku;
+囓>Ketsu;
+囗>I;
+囘>Kai;
+囚>Shuu;
+四>Shi;
+回>Kai;
+因>In;
+団>Dan;
+囮>Ka;
+困>Kon;
+囲>I;
+図>To;
+囹>Rei;
+固>Ko;
+国>Koku;
+囿>Yuu;
+圀>Koku;
+圃>Ho;
+圄>Gyo;
+圈>Ken;
+圉>Gyo;
+國>Koku;
+圍>I;
+圏>Ken;
+園>En;
+圓>En;
+圖>To;
+團>Dan;
+圜>Kan;
+土>Do;
+圧>Atsu;
+在>Zai;
+圭>Kei;
+地>Chi;
+圻>Ki;
+址>Shi;
+坂>Han;
+均>Kin;
+坊>Bou;
+坎>Kan;
+坏>Hai;
+坐>Za;
+坑>Kou;
+坡>Ha;
+坤>Kon;
+坦>Tan;
+坩>Kan;
+坪>Hei;
+坿>Fu;
+垂>Sui;
+垈>Tai;
+垉>Hou;
+型>Kei;
+垓>Gai;
+垠>Gin;
+垢>Kou;
+垣>En;
+垤>Tetsu;
+埀>Sui;
+埃>Ai;
+埆>Kaku;
+埋>Mai;
+城>Jou;
+埒>Rachi;
+埓>Rachi;
+埔>Ho;
+埜>Sho;
+域>Iki;
+埠>Fu;
+埣>Sai;
+埴>Shoku;
+執>Shitsu;
+培>Bai;
+基>Ki;
+埼>Ki;
+堀>Kutsu;
+堂>Dou;
+堅>Ken;
+堆>Tai;
+堊>A;
+堋>Hou;
+堕>Da;
+堙>In;
+堝>Ka;
+堡>Hou;
+堤>Tei;
+堪>Kan;
+堯>Gyou;
+堰>En;
+報>Hou;
+場>Jou;
+堵>To;
+堺>Kai;
+堽>Kou;
+塁>Rui;
+塊>Kai;
+塋>Ei;
+塑>So;
+塒>Shi;
+塔>Tou;
+塗>To;
+塘>Tou;
+塙>Kaku;
+塚>Chou;
+塞>Soku;
+塢>O;
+塩>En;
+填>Ten;
+塲>Jou;
+塵>Jin;
+塹>Zan;
+塾>Juku;
+境>Kyou;
+墅>Sho;
+墓>Bo;
+増>Zou;
+墜>Tsui;
+墟>Kyo;
+墨>Boku;
+墫>Shun;
+墮>Da;
+墳>Fun;
+墸>Sho;
+墺>Ou;
+墻>Shou;
+墾>Kon;
+壁>Heki;
+壅>You;
+壇>Dan;
+壊>Kai;
+壌>Jou;
+壑>Gaku;
+壓>Atsu;
+壕>Gou;
+壘>Rui;
+壙>Kou;
+壜>Tan;
+壞>Kai;
+壟>Ryou;
+壤>Jou;
+壥>Ten;
+士>Shi;
+壬>Jin;
+壮>Sou;
+壯>Sou;
+声>Sei;
+壱>Ichi;
+売>Bai;
+壷>Ko;
+壹>Ichi;
+壺>Ko;
+壻>Sei;
+壼>Kon;
+壽>Ju;
+夂>Chi;
+変>Hen;
+夊>Sui;
+夏>Ka;
+夐>Kei;
+夕>Seki;
+外>Gai;
+夘>Bou;
+夙>Shuku;
+多>Ta;
+夛>Ta;
+夜>Ya;
+夢>Mu;
+夥>Ka;
+大>Tai;
+天>Ten;
+太>Ta;
+夫>Fu;
+夬>Ketsu;
+夭>You;
+央>Ou;
+失>Shitsu;
+夲>Tou;
+夷>I;
+夸>Ko;
+夾>Kou;
+奄>En;
+奇>Ki;
+奈>Na;
+奉>Hou;
+奎>Kei;
+奏>Sou;
+奐>Kan;
+契>Setsu;
+奔>Hon;
+奕>Eki;
+套>Tou;
+奘>Jou;
+奚>Kei;
+奠>Ten;
+奢>Sha;
+奥>Ou;
+奧>Ou;
+奨>Shou;
+奩>Ren;
+奪>Datsu;
+奬>Shou;
+奮>Fun;
+女>Jo;
+奴>Do;
+奸>Kan;
+好>Kou;
+妁>Shaku;
+如>Jo;
+妃>Hi;
+妄>Bou;
+妊>Nin;
+妍>Ken;
+妓>Ki;
+妖>You;
+妙>Myou;
+妛>Shi;
+妝>Sou;
+妣>Hi;
+妥>Da;
+妨>Bou;
+妬>To;
+妲>Datsu;
+妹>Mai;
+妻>Sai;
+妾>Shou;
+姆>Bo;
+姉>Shi;
+始>Shi;
+姐>So;
+姑>Ko;
+姓>Sei;
+委>I;
+姙>Nin;
+姚>You;
+姜>Kyou;
+姥>Bo;
+姦>Kan;
+姨>I;
+姪>Tetsu;
+姫>Ki;
+姶>Ou;
+姻>In;
+姿>Shi;
+威>I;
+娃>A;
+娉>Hei;
+娑>Sha;
+娘>Jou;
+娚>Nan;
+娜>Da;
+娟>Ken;
+娠>Shin;
+娥>Ga;
+娩>Ben;
+娯>Go;
+娵>Shu;
+娶>Shu;
+娼>Shou;
+婀>A;
+婁>Rou;
+婆>Ba;
+婉>En;
+婚>Kon;
+婢>Hi;
+婦>Fu;
+婪>Ran;
+婬>In;
+婿>Sei;
+媒>Bai;
+媚>Bi;
+媛>En;
+媼>Ou;
+媽>Bo;
+媾>Kou;
+嫁>Ka;
+嫂>Sou;
+嫉>Shitsu;
+嫋>Jou;
+嫌>Ken;
+嫐>Jou;
+嫖>Hyou;
+嫗>Ou;
+嫡>Chaku;
+嫣>En;
+嫦>Kou;
+嫩>Don;
+嫺>Kan;
+嫻>Kan;
+嬉>Ki;
+嬋>Sen;
+嬌>Kyou;
+嬖>Hei;
+嬢>Jou;
+嬪>Hin;
+嬬>Shu;
+嬰>Ei;
+嬲>Jou;
+嬾>Ran;
+孀>Sou;
+孃>Jou;
+孅>Sen;
+子>Shi;
+孑>Getsu;
+孔>Kou;
+孕>You;
+字>Ji;
+存>Son;
+孚>Fu;
+孛>Botsu;
+孜>Shi;
+孝>Kou;
+孟>Mou;
+季>Ki;
+孤>Ko;
+孥>Do;
+学>Gaku;
+孩>Kai;
+孫>Son;
+孰>Juku;
+孱>Sen;
+孳>Shi;
+孵>Fu;
+學>Gaku;
+孺>Ju;
+宀>Ben;
+它>Ta;
+宅>Taku;
+宇>U;
+守>Shu;
+安>An;
+宋>Sou;
+完>Kan;
+宍>Niku;
+宏>Kou;
+宕>Tou;
+宗>Shuu;
+官>Kan;
+宙>Chuu;
+定>Tei;
+宛>En;
+宜>Gi;
+宝>Hou;
+実>Jitsu;
+客>Kyaku;
+宣>Sen;
+室>Shitsu;
+宥>Yuu;
+宦>Kan;
+宮>Kyuu;
+宰>Sai;
+害>Gai;
+宴>En;
+宵>Shou;
+家>Ka;
+宸>Shin;
+容>You;
+宿>Shuku;
+寂>Jaku;
+寃>En;
+寄>Ki;
+寅>In;
+密>Mitsu;
+寇>Kou;
+寉>Kaku;
+富>Fu;
+寐>Bi;
+寒>Kan;
+寓>Guu;
+寔>Shoku;
+寛>Kan;
+寝>Shin;
+寞>Baku;
+察>Satsu;
+寡>Ka;
+寢>Shin;
+寤>Go;
+寥>Ryou;
+實>Jitsu;
+寧>Nei;
+寨>Sai;
+審>Shin;
+寫>Sha;
+寮>Ryou;
+寰>Kan;
+寳>Hou;
+寵>Chou;
+寶>Hou;
+寸>Sun;
+寺>Ji;
+対>Tai;
+寿>Ju;
+封>Fuu;
+専>Sen;
+射>Sha;
+尅>Koku;
+将>Shou;
+將>Shou;
+專>Sen;
+尉>I;
+尊>Son;
+尋>Jin;
+對>Tai;
+導>Dou;
+小>Shou;
+少>Shou;
+尓>Ji;
+尖>Sen;
+尚>Shou;
+尠>Sen;
+尢>Ou;
+尤>Yuu;
+尨>Bou;
+尭>Gyou;
+就>Shuu;
+尸>Shi;
+尹>In;
+尺>Shaku;
+尻>Kou;
+尼>Ni;
+尽>Jin;
+尾>Bi;
+尿>Nyou;
+局>Kyoku;
+屁>Hi;
+居>Kyo;
+屆>Kai;
+屈>Kutsu;
+届>Kai;
+屋>Oku;
+屍>Shi;
+屎>Shi;
+屏>Hei;
+屐>Geki;
+屑>Setsu;
+屓>Ki;
+展>Ten;
+属>Zoku;
+屠>To;
+屡>Ru;
+層>Sou;
+履>Ri;
+屬>Zoku;
+屮>Sa;
+屯>Ton;
+山>San;
+屹>Kitsu;
+岌>Kyuu;
+岐>Ki;
+岑>Shin;
+岔>Sa;
+岡>Kou;
+岨>So;
+岩>Gan;
+岫>Shuu;
+岬>Kou;
+岱>Tai;
+岳>Gaku;
+岶>Haku;
+岷>Bin;
+岸>Gan;
+岻>Ji;
+岾>Sen;
+峇>Kou;
+峙>Ji;
+峡>Kyou;
+峨>Ga;
+峩>Ga;
+峪>Yoku;
+峭>Shou;
+峯>Hou;
+峰>Hou;
+島>Tou;
+峺>Kou;
+峻>Shun;
+峽>Kyou;
+崇>Suu;
+崋>Ka;
+崎>Ki;
+崑>Kon;
+崔>Sai;
+崕>Gai;
+崖>Gai;
+崗>Kou;
+崘>Ron;
+崙>Ron;
+崚>Ryou;
+崛>Kutsu;
+崟>Gin;
+崢>Sou;
+崩>Hou;
+嵋>Bi;
+嵌>Kan;
+嵎>Guu;
+嵐>Ran;
+嵒>Gan;
+嵜>Ki;
+嵩>Suu;
+嵬>Kai;
+嵯>Sa;
+嵳>Sa;
+嶂>Shou;
+嶄>San;
+嶇>Ku;
+嶋>Tou;
+嶌>Tou;
+嶐>Ryuu;
+嶝>Tou;
+嶢>Gyou;
+嶬>Gi;
+嶮>Ken;
+嶷>Gi;
+嶺>Rei;
+嶼>Sho;
+嶽>Gaku;
+巉>San;
+巌>Gan;
+巍>Gi;
+巒>Ran;
+巓>Ten;
+巖>Gan;
+巛>Sen;
+川>Sen;
+州>Shuu;
+巡>Jun;
+巣>Sou;
+工>Kou;
+左>Sa;
+巧>Kou;
+巨>Kyo;
+巫>Fu;
+差>Shi;
+己>Ki;
+已>I;
+巳>Shi;
+巴>Ha;
+巵>Shi;
+巷>Kou;
+巻>Kan;
+巽>Son;
+巾>Kin;
+市>Shi;
+布>Fu;
+帆>Han;
+帋>Shi;
+希>Ki;
+帑>Do;
+帖>Jou;
+帙>Chitsu;
+帚>Sou;
+帛>Haku;
+帝>Tei;
+帥>Sotsu;
+師>Shi;
+席>Seki;
+帯>Tai;
+帰>Ki;
+帳>Chou;
+帶>Tai;
+帷>I;
+常>Jou;
+帽>Bou;
+幀>Tei;
+幃>I;
+幄>Aku;
+幅>Fuku;
+幇>Hou;
+幌>Kou;
+幎>Beki;
+幔>Ban;
+幕>Maku;
+幗>Kaku;
+幟>Shi;
+幡>Han;
+幢>Tou;
+幣>Hei;
+幤>Hei;
+干>Kan;
+平>Hei;
+年>Nen;
+幵>Ken;
+并>Hei;
+幸>Kou;
+幹>Kan;
+幺>You;
+幻>Gen;
+幼>You;
+幽>Yuu;
+幾>Ki;
+广>Gen;
+庁>Chou;
+広>Kou;
+庄>Sou;
+庇>Hi;
+床>Shou;
+序>Jo;
+底>Tei;
+庖>Hou;
+店>Ten;
+庚>Kou;
+府>Fu;
+庠>Shou;
+度>Taku;
+座>Za;
+庫>Ko;
+庭>Tei;
+庵>An;
+庶>Sho;
+康>Kou;
+庸>You;
+廁>Shi;
+廂>Shou;
+廃>Hai;
+廈>Ka;
+廉>Ren;
+廊>Rou;
+廐>Kyuu;
+廓>Kaku;
+廖>Ryou;
+廚>Zu;
+廛>Ten;
+廝>Shi;
+廟>Byou;
+廠>Shou;
+廡>Bu;
+廢>Hai;
+廣>Kou;
+廨>Kai;
+廩>Rin;
+廬>Ryo;
+廰>Chou;
+廱>You;
+廳>Chou;
+廴>In;
+延>En;
+廷>Tei;
+廸>Teki;
+建>Ken;
+廻>Kai;
+廼>Dai;
+廾>Kyou;
+廿>Juu;
+弁>Ben;
+弃>Ki;
+弄>Rou;
+弉>Jou;
+弊>Hei;
+弋>Yoku;
+弌>Itsu;
+弍>Ni;
+式>Shiki;
+弐>Ni;
+弑>Shi;
+弓>Kyuu;
+弔>Chou;
+引>In;
+弗>Futsu;
+弘>Kou;
+弛>Shi;
+弟>Tei;
+弥>Mi;
+弦>Gen;
+弧>Ko;
+弩>Do;
+弭>Bi;
+弯>Wan;
+弱>Jaku;
+張>Chou;
+強>Kyou;
+弸>Hou;
+弼>Hitsu;
+弾>Dan;
+彁>Sei;
+彈>Dan;
+彊>Kyou;
+彌>Bi;
+彎>Wan;
+彑>Kei;
+当>Tou;
+彖>Tan;
+彗>Sui;
+彙>I;
+彜>I;
+彝>I;
+彡>San;
+形>Kei;
+彦>Gen;
+彩>Sai;
+彪>Hyou;
+彫>Chou;
+彬>Hin;
+彭>Hou;
+彰>Shou;
+影>Ei;
+彳>Teki;
+彷>Hou;
+役>Yaku;
+彼>Hi;
+彿>Futsu;
+往>Ou;
+征>Sei;
+徂>So;
+徃>Ou;
+径>Kei;
+待>Tai;
+徇>Shun;
+很>Kon;
+徊>Kai;
+律>Ritsu;
+後>Go;
+徐>Jo;
+徑>Kei;
+徒>To;
+従>Juu;
+得>Toku;
+徘>Hai;
+徙>Shi;
+從>Juu;
+徠>Rai;
+御>Gyo;
+徨>Kou;
+復>Fuku;
+循>Jun;
+徭>You;
+微>Bi;
+徳>Toku;
+徴>Chou;
+徹>Tetsu;
+徼>Kyou;
+徽>Ki;
+心>Shin;
+必>Hitsu;
+忌>Ki;
+忍>Nin;
+忖>Son;
+志>Shi;
+忘>Bou;
+忙>Bou;
+応>Ou;
+忝>Ten;
+忠>Chuu;
+忤>Go;
+快>Kai;
+忰>Sui;
+忱>Shin;
+念>Nen;
+忸>Jiku;
+忻>Kin;
+忽>Kotsu;
+忿>Fun;
+怎>Shin;
+怏>You;
+怐>Kou;
+怒>Do;
+怕>Ha;
+怖>Fu;
+怙>Ko;
+怛>Datsu;
+怜>Rei;
+思>Shi;
+怠>Tai;
+怡>I;
+急>Kyuu;
+怦>Hou;
+性>Sei;
+怨>En;
+怩>Ji;
+怪>Kai;
+怫>Futsu;
+怯>Kyou;
+怱>Sou;
+恁>In;
+恂>Jun;
+恃>Ji;
+恆>Kou;
+恊>Kyou;
+恋>Ren;
+恍>Kou;
+恐>Kyou;
+恒>Kou;
+恕>Jo;
+恙>You;
+恚>I;
+恟>Kyou;
+恠>Kai;
+恢>Kai;
+恣>Shi;
+恤>Jutsu;
+恥>Chi;
+恨>Kon;
+恩>On;
+恪>Kaku;
+恫>Dou;
+恬>Ten;
+恭>Kyou;
+息>Soku;
+恰>Kou;
+恵>Kei;
+恷>Kyuu;
+悁>En;
+悃>Kon;
+悄>Shou;
+悉>Shitsu;
+悋>Rin;
+悌>Tei;
+悍>Kan;
+悒>Yuu;
+悔>Kai;
+悖>Hai;
+悗>Ban;
+悚>Shou;
+悛>Sen;
+悟>Go;
+悠>Yuu;
+患>Kan;
+悦>Etsu;
+悧>Ri;
+悩>Nou;
+悪>Aku;
+悲>Hi;
+悳>Toku;
+悴>Sui;
+悵>Chou;
+悶>Mon;
+悸>Ki;
+悼>Tou;
+悽>Sei;
+情>Jou;
+惆>Chuu;
+惇>Ton;
+惑>Waku;
+惓>Ken;
+惘>Bou;
+惚>Kotsu;
+惜>Seki;
+惟>I;
+惠>Kei;
+惡>O;
+惣>Sou;
+惧>Ku;
+惨>San;
+惰>Da;
+惱>Nou;
+想>Sou;
+惴>Zui;
+惶>Kou;
+惷>Shun;
+惹>Ja;
+惺>Sei;
+惻>Soku;
+愀>Shou;
+愁>Shuu;
+愃>Ken;
+愆>Ken;
+愈>Yu;
+愉>Yu;
+愍>Bin;
+愎>Hyoku;
+意>I;
+愕>Gaku;
+愚>Gu;
+愛>Ai;
+感>Kan;
+愡>Sou;
+愧>Ki;
+愨>Kaku;
+愬>So;
+愴>Sou;
+愼>Shin;
+愽>Haku;
+愾>Ki;
+愿>Gen;
+慂>You;
+慄>Ritsu;
+慇>In;
+慈>Ji;
+慊>Ken;
+態>Tai;
+慌>Kou;
+慍>Un;
+慎>Shin;
+慓>Hyou;
+慕>Bo;
+慘>San;
+慙>Zan;
+慚>Zan;
+慝>Toku;
+慟>Dou;
+慢>Man;
+慣>Kan;
+慥>Zou;
+慧>Kei;
+慨>Gai;
+慫>Shou;
+慮>Ryo;
+慯>Shou;
+慰>I;
+慱>Tan;
+慳>Kan;
+慴>Shou;
+慵>You;
+慶>Kei;
+慷>Kou;
+慾>Yoku;
+憂>Yuu;
+憇>Kei;
+憊>Hai;
+憎>Zou;
+憐>Ren;
+憑>Hyou;
+憔>Shou;
+憖>Gin;
+憙>Ki;
+憚>Tan;
+憤>Fun;
+憧>Dou;
+憩>Kei;
+憫>Bin;
+憬>Kei;
+憮>Bu;
+憲>Ken;
+憶>Oku;
+憺>Tan;
+憾>Kan;
+懃>Kin;
+懆>Sou;
+懇>Kon;
+懈>Kai;
+應>You;
+懊>Ou;
+懋>Bou;
+懌>Eki;
+懍>Rin;
+懐>Kai;
+懣>Mon;
+懦>Da;
+懲>Chou;
+懴>Zan;
+懶>Ran;
+懷>Kai;
+懸>Ken;
+懺>Zan;
+懼>Ku;
+懽>Kan;
+懾>Shou;
+懿>I;
+戀>Ren;
+戈>Ka;
+戉>Etsu;
+戊>Bo;
+戌>Jutsu;
+戍>Ju;
+戎>Juu;
+成>Sei;
+我>Ga;
+戒>Kai;
+戔>San;
+或>Waku;
+戚>Seki;
+戛>Katsu;
+戝>Zoku;
+戞>Katsu;
+戟>Geki;
+戡>Kan;
+戦>Sen;
+截>Setsu;
+戮>Riku;
+戯>Gi;
+戰>Sen;
+戲>Gi;
+戳>Taku;
+戴>Tai;
+戸>Ko;
+戻>Rei;
+房>Bou;
+所>Sho;
+扁>Hen;
+扇>Sen;
+扈>Ko;
+扉>Hi;
+手>Shu;
+才>Sai;
+扎>Satsu;
+打>Da;
+払>Futsu;
+托>Taku;
+扛>Kou;
+扞>Kan;
+扠>Sa;
+扣>Kou;
+扮>Fun;
+扱>Sou;
+扶>Fu;
+批>Hi;
+扼>Aku;
+找>Ka;
+承>Shou;
+技>Gi;
+抂>Kyou;
+抃>Ben;
+抄>Shou;
+抉>Ketsu;
+把>Ha;
+抑>Yoku;
+抒>Jo;
+抓>Sou;
+抔>Hou;
+投>Tou;
+抖>Tou;
+抗>Kou;
+折>Setsu;
+抛>Hou;
+抜>Batsu;
+択>Taku;
+披>Hi;
+抬>Tai;
+抱>Hou;
+抵>Tei;
+抹>Matsu;
+抻>Shin;
+押>Ou;
+抽>Chuu;
+拂>Futsu;
+担>Tan;
+拆>Taku;
+拇>Bo;
+拈>Den;
+拉>Ratsu;
+拊>Fu;
+拌>Han;
+拍>Haku;
+拏>Da;
+拐>Kai;
+拑>Kan;
+拒>Kyo;
+拓>Taku;
+拔>Batsu;
+拗>Ou;
+拘>Kou;
+拙>Setsu;
+招>Shou;
+拜>Hai;
+拝>Hai;
+拠>Kyo;
+拡>Kaku;
+括>Katsu;
+拭>Shiki;
+拮>Kitsu;
+拯>Jou;
+拱>Kyou;
+拳>Ken;
+拵>Son;
+拶>Satsu;
+拷>Gou;
+拾>Shuu;
+拿>Da;
+持>Ji;
+挂>Kei;
+指>Shi;
+挈>Ketsu;
+按>An;
+挌>Kaku;
+挑>Chou;
+挙>Kyo;
+挟>Kyou;
+挧>Ku;
+挨>Ai;
+挫>Za;
+振>Shin;
+挺>Tei;
+挽>Ban;
+挾>Kyou;
+挿>Sou;
+捉>Soku;
+捌>Hatsu;
+捍>Kan;
+捏>Detsu;
+捐>En;
+捕>Ho;
+捗>Ho;
+捜>Sou;
+捧>Hou;
+捨>Sha;
+捩>Retsu;
+捫>Mon;
+据>Kyo;
+捲>Ken;
+捶>Sui;
+捷>Shou;
+捺>Natsu;
+捻>Nen;
+掀>Kin;
+掃>Sou;
+授>Ju;
+掉>Tou;
+掌>Shou;
+掎>Ki;
+掏>Tou;
+排>Hai;
+掖>Eki;
+掘>Kutsu;
+掛>Ka;
+掟>Tou;
+掠>Ryaku;
+採>Sai;
+探>Tan;
+掣>Sei;
+接>Setsu;
+控>Kou;
+推>Sui;
+掩>En;
+措>So;
+掫>Sou;
+掬>Kiku;
+掲>Kei;
+掴>Kaku;
+掻>Sou;
+掾>En;
+揀>Kan;
+揃>Sen;
+揄>Yu;
+揆>Ki;
+揉>Juu;
+描>Byou;
+提>Tei;
+插>Sou;
+揖>Yuu;
+揚>You;
+換>Kan;
+握>Aku;
+揣>Shi;
+揩>Kai;
+揮>Ki;
+援>En;
+揶>Ya;
+揺>You;
+搆>Kou;
+損>Son;
+搏>Haku;
+搓>Sa;
+搖>You;
+搗>Tou;
+搜>Sou;
+搦>Jaku;
+搨>Tou;
+搬>Han;
+搭>Tou;
+搴>Ken;
+搶>Shou;
+携>Kei;
+搾>Saku;
+摂>Setsu;
+摎>Kyuu;
+摘>Teki;
+摧>Sai;
+摩>Ma;
+摯>Shi;
+摶>Tan;
+摸>Mo;
+摺>Shou;
+撃>Geki;
+撈>Rou;
+撒>San;
+撓>Dou;
+撕>Sei;
+撚>Nen;
+撞>Shu;
+撤>Tetsu;
+撥>Hatsu;
+撩>Ryou;
+撫>Bu;
+播>Ha;
+撮>Satsu;
+撰>San;
+撲>Boku;
+撹>Kaku;
+撻>Tachi;
+撼>Kan;
+擁>You;
+擂>Rai;
+擅>Sen;
+擇>Taku;
+操>Sou;
+擒>Kin;
+擔>Tan;
+擘>Haku;
+據>Kyo;
+擠>Sei;
+擡>Tai;
+擢>Teki;
+擣>Tou;
+擦>Satsu;
+擧>Kyo;
+擬>Gi;
+擯>Hin;
+擱>Kaku;
+擲>Teki;
+擴>Kaku;
+擶>Sen;
+擺>Hai;
+擽>Ryaku;
+擾>Jou;
+攀>Han;
+攅>San;
+攘>Jou;
+攜>Kei;
+攝>Setsu;
+攣>Ren;
+攤>Tan;
+攪>Kaku;
+攫>Kaku;
+攬>Ran;
+支>Shi;
+攴>Hoku;
+攵>Boku;
+收>Shuu;
+攷>Kou;
+攸>Yuu;
+改>Kai;
+攻>Kou;
+放>Hou;
+政>Sei;
+故>Ko;
+效>Kou;
+敍>Jo;
+敏>Bin;
+救>Kyuu;
+敕>Choku;
+敖>Gou;
+敗>Hai;
+敘>Jo;
+教>Kyou;
+敝>Hei;
+敞>Shou;
+敢>Kan;
+散>San;
+敦>Ton;
+敬>Kei;
+数>Suu;
+敲>Kou;
+整>Sei;
+敵>Teki;
+敷>Fu;
+數>Suu;
+斂>Ren;
+斃>Hei;
+文>Bun;
+斈>Gaku;
+斉>Sei;
+斌>Hin;
+斎>Sai;
+斐>Hi;
+斑>Han;
+斗>To;
+料>Ryou;
+斛>Koku;
+斜>Sha;
+斟>Shin;
+斡>Atsu;
+斤>Kin;
+斥>Seki;
+斧>Fu;
+斫>Shaku;
+斬>Zan;
+断>Dan;
+斯>Shi;
+新>Shin;
+斷>Dan;
+方>Hou;
+於>O;
+施>Shi;
+旁>Hou;
+旃>Sen;
+旄>Bou;
+旅>Ryo;
+旆>Hai;
+旋>Sen;
+旌>Sei;
+族>Zoku;
+旒>Ryuu;
+旗>Ki;
+旙>Han;
+旛>Han;
+无>Bu;
+旡>Ki;
+既>Ki;
+日>Nichi;
+旦>Tan;
+旧>Kyuu;
+旨>Shi;
+早>Sou;
+旬>Jun;
+旭>Kyoku;
+旱>Kan;
+旺>Ou;
+旻>Bin;
+昂>Kou;
+昃>Soku;
+昆>Kon;
+昇>Shou;
+昊>Kou;
+昌>Shou;
+明>Mei;
+昏>Kon;
+易>Eki;
+昔>Seki;
+昜>You;
+星>Sei;
+映>Ei;
+春>Shun;
+昧>Mai;
+昨>Saku;
+昭>Shou;
+是>Ze;
+昴>Bou;
+昵>Jitsu;
+昶>Chou;
+昼>Chuu;
+昿>Kou;
+晁>Chou;
+時>Ji;
+晃>Kou;
+晄>Kou;
+晉>Shin;
+晋>Shin;
+晏>An;
+晒>Sai;
+晝>Chuu;
+晞>Ki;
+晟>Sei;
+晢>Setsu;
+晤>Go;
+晦>Kai;
+晧>Kou;
+晨>Shin;
+晩>Ban;
+普>Fu;
+景>Kei;
+晰>Seki;
+晴>Sei;
+晶>Shou;
+智>Chi;
+暁>Gyou;
+暃>Hi;
+暄>Ken;
+暇>Ka;
+暈>Un;
+暉>Ki;
+暎>Ei;
+暑>Sho;
+暖>Dan;
+暗>An;
+暘>You;
+暝>Mei;
+暢>Chou;
+暦>Reki;
+暫>Zan;
+暮>Bo;
+暴>Bou;
+暸>Ryou;
+暹>Sen;
+暼>Hetsu;
+暾>Ton;
+曁>Ki;
+曄>You;
+曇>Don;
+曉>Gyou;
+曖>Ai;
+曙>Sho;
+曚>Bou;
+曜>You;
+曝>Baku;
+曠>Kou;
+曦>Gi;
+曩>Dou;
+曰>Etsu;
+曲>Kyoku;
+曳>Ei;
+更>Kou;
+曵>Ei;
+曷>Katsu;
+書>Sho;
+曹>Sou;
+曼>Ban;
+曽>Zo;
+曾>So;
+替>Tai;
+最>Sai;
+會>Kai;
+月>Getsu;
+有>Yuu;
+朋>Hou;
+服>Fuku;
+朏>Hi;
+朔>Saku;
+朕>Chin;
+朖>Rou;
+朗>Rou;
+望>Bou;
+朝>Chou;
+朞>Ki;
+期>Ki;
+朦>Bou;
+朧>Rou;
+木>Boku;
+未>Mi;
+末>Matsu;
+本>Hon;
+札>Satsu;
+朮>Jutsu;
+朱>Shu;
+朴>Boku;
+朶>Da;
+朷>Tou;
+朸>Ryoku;
+机>Ki;
+朽>Kyuu;
+朿>Shi;
+杆>Kan;
+杉>San;
+李>Ri;
+杏>Kyou;
+材>Zai;
+村>Son;
+杓>Hyou;
+杖>Jou;
+杙>Yoku;
+杜>Do;
+杞>Ko;
+束>Soku;
+杠>Kou;
+条>Jou;
+来>Rai;
+杪>Byou;
+杭>Kou;
+杯>Hai;
+杰>Ketsu;
+東>Tou;
+杲>Kou;
+杳>You;
+杵>Sho;
+杷>Ha;
+杼>Cho;
+松>Shou;
+板>Han;
+枅>Kei;
+枇>Hi;
+枉>Ou;
+枋>Hou;
+枌>Fun;
+析>Seki;
+枕>Chin;
+林>Rin;
+枚>Mai;
+果>Ka;
+枝>Shi;
+枢>Suu;
+枦>Ro;
+枩>Shou;
+枯>Ko;
+枳>Ki;
+枴>Kai;
+架>Ka;
+枷>Ka;
+枸>Ku;
+枹>Hou;
+柁>Ta;
+柄>Hei;
+柆>Rou;
+柊>Shuu;
+柎>Fu;
+柏>Haku;
+某>Bou;
+柑>Kan;
+染>Sen;
+柔>Nyuu;
+柘>Sha;
+柚>Yuu;
+柝>Taku;
+柞>Saku;
+柢>Tei;
+柤>Sa;
+柧>Ko;
+柩>Kyuu;
+柬>Kan;
+柮>Totsu;
+柯>Ka;
+柱>Chuu;
+柳>Ryuu;
+柴>Sai;
+柵>Saku;
+査>Sa;
+柾>Kyuu;
+柿>Shi;
+栄>Ei;
+栓>Sen;
+栖>Sei;
+栗>Ritsu;
+栞>Kan;
+校>Kou;
+栢>Haku;
+栩>Ku;
+株>Chu;
+栫>Son;
+栲>Gou;
+栴>Sen;
+核>Kaku;
+根>Kon;
+格>Kou;
+栽>Sai;
+桀>Ketsu;
+桁>Kou;
+桂>Kei;
+桃>Tou;
+框>Kyou;
+案>An;
+桍>Ko;
+桎>Shitsu;
+桐>Dou;
+桑>Sou;
+桓>Kan;
+桔>Kitsu;
+桙>U;
+桜>Ou;
+桟>San;
+档>Tou;
+桧>Kai;
+桴>Fu;
+桶>Tou;
+桷>Kaku;
+桾>Kun;
+桿>Kan;
+梁>Ryou;
+梃>Tei;
+梅>Bai;
+梍>Sou;
+梏>Koku;
+梓>Shi;
+梔>Shi;
+梗>Kou;
+梛>Da;
+條>Jou;
+梟>Kyou;
+梠>Ryo;
+梢>Shou;
+梦>Mu;
+梧>Go;
+梨>Ri;
+梭>Sa;
+梯>Tei;
+械>Kai;
+梱>Kon;
+梳>So;
+梵>Fuu;
+梶>Bi;
+梹>Bin;
+梼>Tou;
+棄>Ki;
+棆>Rin;
+棉>Men;
+棊>Ki;
+棋>Ki;
+棍>Kon;
+棒>Bou;
+棔>Kon;
+棕>Shu;
+棗>Sou;
+棘>Kyoku;
+棚>Hou;
+棟>Tou;
+棠>Tou;
+棡>Kou;
+棣>Tei;
+棧>San;
+森>Shin;
+棯>Jin;
+棲>Sei;
+棹>Tou;
+棺>Kan;
+椀>Wan;
+椁>Kaku;
+椄>Setsu;
+椅>I;
+椈>Kiku;
+椋>Ryou;
+椌>Kou;
+植>Shoku;
+椎>Tsui;
+椏>A;
+椒>Shou;
+検>Ken;
+椢>Kai;
+椦>Ken;
+椰>Ya;
+椴>Tan;
+椶>Shu;
+椹>Chin;
+椽>Ten;
+椿>Chin;
+楊>You;
+楓>Fuu;
+楔>Setsu;
+楕>Da;
+楙>Bou;
+楚>So;
+楜>Ko;
+楝>Ren;
+楞>Rou;
+楠>Nan;
+楡>Yu;
+楢>Shuu;
+楪>You;
+楫>Shuu;
+業>Gyou;
+楮>Cho;
+楯>Jun;
+楳>Bai;
+楴>Tei;
+極>Goku;
+楷>Kai;
+楸>Shuu;
+楹>Ei;
+楼>Rou;
+楽>Gaku;
+概>Gai;
+榎>Ka;
+榑>Fu;
+榔>Rou;
+榕>You;
+榛>Shin;
+榜>Bou;
+榠>Bei;
+榧>Hi;
+榮>Ei;
+榱>Sui;
+榲>Otsu;
+榴>Ryuu;
+榻>Tou;
+榾>Kotsu;
+榿>Ki;
+槁>Kou;
+槃>Han;
+槇>Ten;
+槊>Saku;
+構>Kou;
+槌>Tsui;
+槍>Sou;
+槎>Sa;
+槐>Kai;
+槓>Kou;
+様>You;
+槙>Ten;
+槝>Tou;
+槞>Rou;
+槧>San;
+槨>Kaku;
+槫>Tan;
+槭>Shuku;
+槲>Koku;
+槹>Kou;
+槻>Ki;
+槽>Sou;
+槿>Kin;
+樂>Gaku;
+樅>Shou;
+樊>Han;
+樋>Tou;
+樌>Kan;
+樒>Mitsu;
+樓>Rou;
+樔>Sou;
+樗>Cho;
+標>Hyou;
+樛>Kyuu;
+樞>Suu;
+樟>Shou;
+模>Mo;
+樢>Boku;
+樣>You;
+権>Ken;
+横>Ou;
+樵>Shou;
+樶>Sai;
+樸>Boku;
+樹>Ju;
+樺>Ka;
+樽>Son;
+橄>Kan;
+橇>Zei;
+橈>Dou;
+橋>Kyou;
+橘>Kitsu;
+橙>Tou;
+機>Ki;
+橡>Shou;
+橢>Da;
+橦>Tou;
+橸>Shou;
+橿>Kyou;
+檀>Tan;
+檄>Geki;
+檍>Yoku;
+檎>Go;
+檐>En;
+檗>Haku;
+檜>Kai;
+檠>Kei;
+檢>Ken;
+檣>Shou;
+檪>Reki;
+檬>Bou;
+檮>Tou;
+檳>Bin;
+檸>Nei;
+檻>Kan;
+櫁>Mitsu;
+櫂>Tou;
+櫃>Ki;
+櫑>Rai;
+櫓>Ro;
+櫚>Ryo;
+櫛>Shitsu;
+櫞>En;
+櫟>Reki;
+櫨>Ro;
+櫪>Reki;
+櫺>Rei;
+櫻>Ou;
+欄>Ran;
+欅>Kyo;
+權>Ken;
+欒>Ran;
+欖>Ran;
+欝>Utsu;
+欠>Ketsu;
+次>Ji;
+欣>Gon;
+欧>Ou;
+欲>Yoku;
+欷>Ki;
+欸>Ai;
+欹>I;
+欺>Gi;
+欽>Kin;
+款>Kan;
+歃>Sou;
+歇>Ketsu;
+歉>Ken;
+歌>Ka;
+歎>Tan;
+歐>Ou;
+歓>Kan;
+歔>Kyo;
+歙>Kyuu;
+歛>Kan;
+歟>Yo;
+歡>Kan;
+止>Shi;
+正>Sei;
+此>Shi;
+武>Bu;
+歩>Ho;
+歪>Wai;
+歯>Shi;
+歳>Sei;
+歴>Reki;
+歸>Ki;
+歹>Gatsu;
+死>Shi;
+歿>Botsu;
+殀>You;
+殃>You;
+殄>Ten;
+殆>Tai;
+殉>Jun;
+殊>Shu;
+残>Zan;
+殍>Hyou;
+殕>Fuu;
+殖>Shoku;
+殘>Zan;
+殞>In;
+殤>Shou;
+殪>Ei;
+殫>Tan;
+殯>Hin;
+殱>Sen;
+殲>Sen;
+殳>Shu;
+殴>Ou;
+段>Dan;
+殷>In;
+殺>Satsu;
+殻>Kaku;
+殼>Kaku;
+殿>Ten;
+毀>Ki;
+毅>Ki;
+毆>Ou;
+毋>Bu;
+母>Bo;
+毎>Mai;
+毒>Doku;
+毓>Iku;
+比>Hi;
+毘>Hi;
+毛>Mou;
+毫>Kou;
+毬>Kyuu;
+毯>Tan;
+毳>Zei;
+氈>Sen;
+氏>Shi;
+民>Min;
+氓>Bou;
+气>Ki;
+気>Ki;
+氛>Fun;
+氣>Ki;
+氤>In;
+水>Sui;
+氷>Hyou;
+永>Ei;
+氾>Han;
+汀>Tei;
+汁>Juu;
+求>Kyuu;
+汎>Han;
+汐>Seki;
+汕>San;
+汗>Kan;
+汚>O;
+汝>Jo;
+汞>Kou;
+江>Kou;
+池>Chi;
+汨>Beki;
+汪>Ou;
+汰>Ta;
+汲>Kyuu;
+汳>Hen;
+決>Ketsu;
+汽>Ki;
+汾>Fun;
+沁>Shin;
+沂>Ki;
+沃>Yoku;
+沈>Chin;
+沌>Ton;
+沍>Go;
+沐>Boku;
+沒>Botsu;
+沓>Tou;
+沖>Chuu;
+沙>Sa;
+沚>Shi;
+沛>Hai;
+没>Botsu;
+沢>Taku;
+沫>Matsu;
+沮>Sho;
+沱>Ta;
+河>Ka;
+沸>Futsu;
+油>Yu;
+沺>Ten;
+治>Ji;
+沼>Shou;
+沽>Ko;
+沾>Ten;
+沿>En;
+況>Kyou;
+泄>Ei;
+泅>Shuu;
+泉>Sen;
+泊>Haku;
+泌>Hitsu;
+泓>Ou;
+法>Hou;
+泗>Shi;
+泙>Hou;
+泛>Han;
+泝>So;
+泡>Hou;
+波>Ha;
+泣>Kyuu;
+泥>Dei;
+注>Chuu;
+泪>Rui;
+泯>Bin;
+泰>Tai;
+泱>Ou;
+泳>Ei;
+洋>You;
+洌>Retsu;
+洒>Sei;
+洗>Sen;
+洙>Shu;
+洛>Raku;
+洞>Dou;
+洟>I;
+津>Shin;
+洩>Ei;
+洪>Kou;
+洫>Kyoku;
+洲>Shuu;
+洳>Jo;
+洵>Shun;
+洶>Kyou;
+洸>Kou;
+活>Katsu;
+洽>Kou;
+派>Ha;
+流>Ryuu;
+浄>Jou;
+浅>Sen;
+浙>Setsu;
+浚>Shun;
+浜>Hin;
+浣>Kan;
+浤>Kou;
+浦>Ho;
+浩>Kou;
+浪>Rou;
+浬>Ri;
+浮>Fu;
+浴>Yoku;
+海>Kai;
+浸>Shin;
+浹>Shou;
+涅>Netsu;
+消>Shou;
+涌>Yuu;
+涎>Sen;
+涓>Ken;
+涕>Tei;
+涙>Rui;
+涛>Tou;
+涜>Toku;
+涯>Gai;
+液>Eki;
+涵>Kan;
+涸>Ko;
+涼>Ryou;
+淀>Ten;
+淅>Seki;
+淆>Kou;
+淇>Ki;
+淋>Rin;
+淌>Shou;
+淑>Shuku;
+淒>Sei;
+淕>Riku;
+淘>Tou;
+淙>Sou;
+淞>Shou;
+淡>Tan;
+淤>Yo;
+淦>Kan;
+淨>Jou;
+淪>Rin;
+淫>In;
+淬>Sai;
+淮>Wai;
+深>Shin;
+淳>Shun;
+淵>En;
+混>Kon;
+淹>En;
+淺>Sen;
+添>Ten;
+清>Sei;
+渇>Katsu;
+済>Sai;
+渉>Shou;
+渊>En;
+渋>Juu;
+渓>Kei;
+渕>En;
+渙>Kan;
+渚>Sho;
+減>Gen;
+渝>Yu;
+渟>Tei;
+渠>Kyo;
+渡>To;
+渣>Sa;
+渤>Botsu;
+渥>Aku;
+渦>Ka;
+温>On;
+渫>Setsu;
+測>Soku;
+渭>I;
+渮>Ka;
+港>Kou;
+游>Yuu;
+渺>Byou;
+渾>Kon;
+湃>Hai;
+湊>Sou;
+湍>Tan;
+湎>Ben;
+湖>Ko;
+湘>Shou;
+湛>Tan;
+湟>Kou;
+湧>Yuu;
+湫>Shou;
+湮>In;
+湯>Tou;
+湲>Kan;
+湶>Sen;
+湾>Wan;
+湿>Shitsu;
+満>Man;
+溂>Ratsu;
+溌>Hatsu;
+溏>Tou;
+源>Gen;
+準>Jun;
+溘>Kou;
+溜>Ryuu;
+溝>Kou;
+溟>Mei;
+溢>Itsu;
+溥>Ho;
+溪>Kei;
+溯>So;
+溲>Sou;
+溶>You;
+溷>Kon;
+溺>Deki;
+溽>Joku;
+滂>Bou;
+滄>Sou;
+滅>Metsu;
+滉>Kou;
+滋>Ji;
+滌>Deki;
+滑>Katsu;
+滓>Sai;
+滔>Tou;
+滕>Tou;
+滝>Sou;
+滞>Tai;
+滬>Ko;
+滯>Tai;
+滲>Shin;
+滴>Teki;
+滷>Ro;
+滸>Ko;
+滾>Kon;
+滿>Man;
+漁>Ryou;
+漂>Hyou;
+漆>Shitsu;
+漉>Roku;
+漏>Rou;
+漑>Gai;
+漓>Ri;
+演>En;
+漕>Sou;
+漠>Baku;
+漢>Kan;
+漣>Ran;
+漫>Man;
+漬>Shi;
+漱>Sou;
+漲>Chou;
+漸>Zen;
+漾>You;
+漿>Shou;
+潁>Ei;
+潅>Kan;
+潔>Ketsu;
+潘>Han;
+潛>Sen;
+潜>Sen;
+潟>Seki;
+潤>Jun;
+潦>Rou;
+潭>Tan;
+潮>Chou;
+潯>Jin;
+潰>Kai;
+潴>Cho;
+潸>San;
+潺>San;
+潼>Dou;
+澀>Juu;
+澁>Juu;
+澂>Chou;
+澄>Chou;
+澆>Gyou;
+澎>Hou;
+澑>Ryuu;
+澗>Kan;
+澡>Sou;
+澣>Kan;
+澤>Taku;
+澪>Rei;
+澱>Ten;
+澳>Iku;
+澹>Tan;
+激>Geki;
+濁>Daku;
+濂>Ren;
+濃>Nou;
+濆>Fun;
+濔>Dei;
+濕>Shitsu;
+濘>Nei;
+濟>Sai;
+濠>Gou;
+濡>Ju;
+濤>Tou;
+濫>Ran;
+濬>Shun;
+濮>Hoku;
+濯>Taku;
+濱>Hin;
+濳>Sen;
+濶>Katsu;
+濺>Sen;
+濾>Ryo;
+瀁>You;
+瀉>Sha;
+瀋>Shin;
+瀏>Ryuu;
+瀑>Baku;
+瀕>Hin;
+瀘>Ro;
+瀚>Kan;
+瀛>Ei;
+瀝>Reki;
+瀞>Jou;
+瀟>Shou;
+瀦>Cho;
+瀧>Sou;
+瀬>Rai;
+瀰>Bi;
+瀲>Ren;
+瀾>Ran;
+灌>Kan;
+灑>Sai;
+灘>Dan;
+灣>Wan;
+火>Ka;
+灯>Tou;
+灰>Kai;
+灸>Kyuu;
+灼>Shaku;
+災>Sai;
+炉>Ro;
+炊>Sui;
+炎>En;
+炒>Sou;
+炙>Sha;
+炬>Ko;
+炭>Tan;
+炮>Hou;
+炯>Kei;
+炳>Hei;
+炸>Saku;
+点>Ten;
+為>I;
+烈>Retsu;
+烋>Kou;
+烏>U;
+烙>Raku;
+烝>Jou;
+烟>En;
+烱>Kei;
+烹>Hou;
+烽>Hou;
+焉>En;
+焔>En;
+焙>Hou;
+焚>Fun;
+焜>Kon;
+無>Mu;
+焦>Shou;
+然>Zen;
+焼>Shou;
+煉>Ren;
+煌>Kou;
+煎>Sen;
+煕>Ki;
+煖>Dan;
+煙>En;
+煢>Kei;
+煤>Bai;
+煥>Kan;
+煦>Ku;
+照>Shou;
+煩>Han;
+煬>You;
+煮>Sha;
+煽>Sen;
+熄>Soku;
+熈>Ki;
+熊>Yuu;
+熏>Kun;
+熔>You;
+熕>Kou;
+熙>Ki;
+熟>Juku;
+熨>I;
+熬>Gou;
+熱>Netsu;
+熹>Ki;
+熾>Shi;
+燃>Nen;
+燈>Tou;
+燉>Ton;
+燎>Ryou;
+燐>Rin;
+燒>Shou;
+燔>Han;
+燕>En;
+燗>Ran;
+營>Ei;
+燠>Iku;
+燥>Sou;
+燦>San;
+燧>Sui;
+燬>Ki;
+燭>Shoku;
+燮>Shou;
+燵>Tatsu;
+燹>Sen;
+燻>Kun;
+燼>Jin;
+燿>You;
+爆>Baku;
+爍>Shaku;
+爐>Ro;
+爛>Ran;
+爨>San;
+爪>Sou;
+爬>Ha;
+爭>Sou;
+爰>En;
+爲>I;
+爵>Shaku;
+父>Fu;
+爺>Ya;
+爻>Kou;
+爼>Sho;
+爽>Sou;
+爾>Ji;
+爿>Shou;
+牀>Sou;
+牆>Shou;
+片>Hen;
+版>Han;
+牋>Sen;
+牌>Hai;
+牒>Chou;
+牘>Toku;
+牙>Ga;
+牛>Gyuu;
+牝>Hin;
+牟>Bou;
+牡>Bo;
+牢>Rou;
+牧>Boku;
+物>Motsu;
+牲>Sei;
+牴>Tei;
+特>Toku;
+牽>Ken;
+牾>Go;
+犀>Sei;
+犁>Ri;
+犂>Ri;
+犇>Hon;
+犒>Kou;
+犖>Raku;
+犠>Gi;
+犢>Toku;
+犧>Gi;
+犬>Ken;
+犯>Han;
+犲>Sai;
+状>Jou;
+犹>Yuu;
+狂>Kyou;
+狃>Juu;
+狄>Teki;
+狆>Chuu;
+狎>Kou;
+狐>Ko;
+狒>Hi;
+狗>Kou;
+狙>Sho;
+狛>Haku;
+狠>Gan;
+狡>Kou;
+狢>Kaku;
+狩>Shu;
+独>Doku;
+狭>Kyou;
+狷>Ken;
+狸>Ri;
+狹>Kyou;
+狼>Rou;
+狽>Hai;
+猊>Gei;
+猖>Shou;
+猗>I;
+猛>Mou;
+猜>Sai;
+猝>Sotsu;
+猟>Ryou;
+猥>Wai;
+猩>Sei;
+猪>Cho;
+猫>Byou;
+献>Ken;
+猯>Tan;
+猴>Kou;
+猶>Yuu;
+猷>Yuu;
+猾>Katsu;
+猿>En;
+獄>Goku;
+獅>Shi;
+獎>Shou;
+獏>Baku;
+獗>Ketsu;
+獣>Juu;
+獨>Doku;
+獪>Kai;
+獰>Dou;
+獲>Kaku;
+獵>Ryou;
+獸>Juu;
+獺>Datsu;
+獻>Ken;
+玄>Gen;
+率>Ritsu;
+玉>Gyoku;
+王>Ou;
+玖>Kyuu;
+玩>Gan;
+玲>Rei;
+玳>Tai;
+玻>Ha;
+珀>Haku;
+珂>Ka;
+珈>Ka;
+珊>San;
+珍>Chin;
+珎>Chin;
+珞>Raku;
+珠>Shu;
+珥>Ji;
+珪>Kei;
+班>Han;
+珮>Hai;
+珱>Ei;
+珸>Go;
+現>Gen;
+球>Kyuu;
+琅>Rou;
+理>Ri;
+琉>Ryuu;
+琢>Taku;
+琥>Ko;
+琲>Hai;
+琳>Rin;
+琴>Kin;
+琵>Bi;
+琶>Ha;
+琺>Hou;
+琿>Kon;
+瑁>Bou;
+瑕>Ka;
+瑙>Dou;
+瑚>Ko;
+瑛>Ei;
+瑜>Yu;
+瑞>Zui;
+瑟>Shitsu;
+瑠>Ryuu;
+瑣>Sa;
+瑤>You;
+瑩>Ei;
+瑪>Ba;
+瑯>Rou;
+瑰>Kai;
+瑳>Sa;
+瑶>You;
+瑾>Kin;
+璃>Ri;
+璋>Shou;
+璞>Haku;
+璢>Ryuu;
+璧>Heki;
+環>Kan;
+璽>Ji;
+瓊>Kei;
+瓏>Rou;
+瓔>Ei;
+瓜>Ka;
+瓠>Ko;
+瓢>Hyou;
+瓣>Ben;
+瓦>Ga;
+瓮>Ou;
+瓶>Hei;
+瓷>Shi;
+甃>Shuu;
+甄>Ken;
+甌>Ou;
+甍>Bou;
+甎>Sen;
+甑>Sou;
+甓>Heki;
+甕>Ou;
+甘>Kan;
+甚>Shin;
+甜>Ten;
+甞>Shou;
+生>Sei;
+産>San;
+甥>Sei;
+甦>So;
+用>You;
+甫>Ho;
+甬>You;
+田>Den;
+由>Yuu;
+甲>Kou;
+申>Shin;
+男>Dan;
+甸>Ten;
+町>Chou;
+画>Ga;
+甼>Chou;
+畄>Ryuu;
+畆>Ho;
+畉>Fu;
+畊>Kou;
+畋>Ten;
+界>Kai;
+畍>Kai;
+畏>I;
+畔>Han;
+留>Ryuu;
+畚>Hon;
+畛>Shin;
+畜>Chiku;
+畝>Ho;
+畢>Hitsu;
+畤>Shi;
+略>Ryaku;
+畦>Kei;
+畧>Ryaku;
+番>Ban;
+畫>Kaku;
+畭>Yo;
+異>I;
+畳>Jou;
+畴>Chuu;
+當>Tou;
+畷>Tetsu;
+畸>Ki;
+畿>Ki;
+疂>Jou;
+疆>Kyou;
+疇>Chuu;
+疉>Jou;
+疊>Jou;
+疋>So;
+疎>So;
+疏>So;
+疑>Gi;
+疔>Chou;
+疚>Kyuu;
+疝>San;
+疣>Yuu;
+疥>Kai;
+疫>Eki;
+疱>Hou;
+疲>Hi;
+疳>Kan;
+疵>Shi;
+疸>Tan;
+疹>Shin;
+疼>Tou;
+疽>Sho;
+疾>Shitsu;
+痂>Ka;
+痃>Ken;
+病>Byou;
+症>Shou;
+痊>Sen;
+痍>I;
+痒>You;
+痔>Ji;
+痕>Kon;
+痘>Tou;
+痙>Kei;
+痛>Ts;
+痞>Hi;
+痢>Ri;
+痣>Shi;
+痩>Sou;
+痰>Tan;
+痲>Ma;
+痳>Rin;
+痴>Chi;
+痺>Hi;
+痼>Ko;
+痾>A;
+痿>I;
+瘁>Sui;
+瘉>Yu;
+瘋>Fuu;
+瘍>You;
+瘟>On;
+瘠>Seki;
+瘡>Sou;
+瘢>Han;
+瘤>Ryuu;
+瘧>Gyaku;
+瘰>Rui;
+瘴>Shou;
+瘻>Rou;
+療>Ryou;
+癆>Rou;
+癇>Kan;
+癈>Hai;
+癌>Gan;
+癒>Yu;
+癖>Heki;
+癘>Rei;
+癜>Den;
+癡>Chi;
+癢>You;
+癧>Reki;
+癨>Kaku;
+癩>Rai;
+癪>Shaku;
+癬>Sen;
+癰>You;
+癲>Ten;
+癶>Hatsu;
+癸>Ki;
+発>Hotsu;
+登>Tou;
+發>Hotsu;
+白>Haku;
+百>Hyaku;
+皀>Hyuu;
+皃>Bou;
+的>Teki;
+皆>Kai;
+皇>Kou;
+皈>Ki;
+皋>Kou;
+皎>Kou;
+皐>Kou;
+皓>Kou;
+皖>Kan;
+皙>Seki;
+皚>Gai;
+皮>Hi;
+皰>Hou;
+皴>Shun;
+皷>Ko;
+皸>Kun;
+皹>Kun;
+皺>Suu;
+皿>Bai;
+盂>U;
+盃>Hai;
+盆>Bon;
+盈>Ei;
+益>Eki;
+盍>Kou;
+盒>Kou;
+盖>Gai;
+盗>Tou;
+盛>Sei;
+盜>Tou;
+盞>San;
+盟>Mei;
+盡>Jin;
+監>Kan;
+盤>Ban;
+盥>Kan;
+盧>Ro;
+盪>Tou;
+目>Moku;
+盲>Mou;
+直>Choku;
+相>Shou;
+盻>Kei;
+盾>Jun;
+省>Sei;
+眄>Ben;
+眇>Byou;
+眈>Tan;
+眉>Bi;
+看>Kan;
+県>Ken;
+眛>Mai;
+眞>Shin;
+真>Shin;
+眠>Min;
+眤>Tei;
+眥>Sei;
+眦>Sei;
+眩>Gen;
+眷>Ken;
+眸>Bou;
+眺>Chou;
+眼>Gan;
+着>Chaku;
+睇>Tei;
+睚>Gai;
+睛>Sei;
+睡>Sui;
+督>Toku;
+睥>Hei;
+睦>Boku;
+睨>Gei;
+睫>Shou;
+睹>To;
+睾>Kou;
+睿>Ei;
+瞋>Shin;
+瞎>Katsu;
+瞑>Mei;
+瞞>Ban;
+瞠>Dou;
+瞥>Betsu;
+瞬>Shun;
+瞭>Ryou;
+瞰>Kan;
+瞳>Dou;
+瞶>Ki;
+瞹>Ai;
+瞻>Sen;
+瞼>Ken;
+瞽>Ko;
+瞿>Ku;
+矇>Mou;
+矍>Kaku;
+矗>Chiku;
+矚>Shoku;
+矛>Mu;
+矜>Kin;
+矢>Shi;
+矣>I;
+知>Chi;
+矧>Shin;
+矩>Ku;
+短>Tan;
+矮>Wai;
+矯>Kyou;
+石>Shaku;
+矼>Kou;
+砂>Sa;
+砌>Sei;
+砒>Hi;
+研>Ken;
+砕>Sai;
+砠>Sho;
+砥>Shi;
+砦>Sai;
+砧>Chin;
+砲>Hou;
+破>Ha;
+砺>Rei;
+砿>Kou;
+硅>Kei;
+硝>Shou;
+硫>Ryuu;
+硬>Kou;
+硯>Ken;
+硼>Hou;
+碁>Go;
+碆>Ha;
+碇>Tei;
+碌>Roku;
+碍>Gai;
+碎>Sai;
+碑>Hi;
+碓>Tai;
+碕>Ki;
+碗>Wan;
+碚>Hai;
+碣>Ketsu;
+碧>Heki;
+碩>Seki;
+碪>Chin;
+碯>Dou;
+碵>Seki;
+確>Kaku;
+碼>Ba;
+碾>Ten;
+磁>Ji;
+磅>Hou;
+磆>Katsu;
+磊>Rai;
+磋>Sa;
+磐>Han;
+磑>Gai;
+磔>Taku;
+磚>Sen;
+磧>Seki;
+磨>Ma;
+磬>Kei;
+磯>Ki;
+磴>Tou;
+磽>Kou;
+礁>Shou;
+礇>Iku;
+礎>So;
+礑>Tou;
+礒>Gi;
+礙>Gai;
+礦>Kou;
+礪>Rei;
+礫>Reki;
+礬>Ban;
+示>Shi;
+礼>Rei;
+社>Sha;
+祀>Shi;
+祁>Ki;
+祇>Ki;
+祈>Ki;
+祉>Shi;
+祐>Yuu;
+祓>Futsu;
+祕>Hi;
+祖>So;
+祗>Shi;
+祚>So;
+祝>Shuku;
+神>Shin;
+祟>Sui;
+祠>Shi;
+祢>Dei;
+祥>Shou;
+票>Hyou;
+祭>Sai;
+祷>Tou;
+祺>Ki;
+祿>Roku;
+禀>Rin;
+禁>Kin;
+禄>Roku;
+禅>Zen;
+禊>Kei;
+禍>Ka;
+禎>Tei;
+福>Fuku;
+禝>Shoku;
+禦>Gyo;
+禧>Ki;
+禪>Zen;
+禮>Rei;
+禰>Dei;
+禳>Jou;
+禹>U;
+禺>Guu;
+禽>Kin;
+禾>Ka;
+禿>Toku;
+秀>Shuu;
+私>Shi;
+秉>Hei;
+秋>Shuu;
+科>Ka;
+秒>Byou;
+秕>Hi;
+秘>Hi;
+租>So;
+秡>Hatsu;
+秣>Matsu;
+秤>Shou;
+秦>Shin;
+秧>Ou;
+秩>Chitsu;
+秬>Kyo;
+称>Shou;
+移>I;
+稀>Ki;
+稈>Kan;
+程>Tei;
+稍>Sou;
+税>Zei;
+稔>Jin;
+稗>Hai;
+稘>Ki;
+稙>Choku;
+稚>Chi;
+稜>Ryou;
+稟>Rin;
+稠>Chuu;
+種>Shu;
+稱>Shou;
+稲>Tou;
+稷>Shoku;
+稻>Tou;
+稼>Ka;
+稽>Kei;
+稾>Kou;
+稿>Kou;
+穀>Koku;
+穂>Sui;
+穃>You;
+穆>Boku;
+穉>Chi;
+積>Seki;
+穎>Ei;
+穏>On;
+穐>Shuu;
+穗>Sui;
+穡>Shoku;
+穢>Ai;
+穣>Jou;
+穩>On;
+穫>Kaku;
+穰>Jou;
+穴>Ketsu;
+究>Kyuu;
+穹>Kyuu;
+空>Kuu;
+穽>Sei;
+穿>Sen;
+突>Totsu;
+窃>Setsu;
+窄>Saku;
+窈>You;
+窒>Chitsu;
+窓>Sou;
+窕>Chou;
+窖>Kou;
+窗>Sou;
+窘>Kin;
+窟>Kutsu;
+窩>Ka;
+窪>Wa;
+窮>Kyuu;
+窯>You;
+窰>You;
+窶>Ku;
+窺>Ki;
+窿>Ryuu;
+竃>Sou;
+竄>Zan;
+竅>Kyou;
+竇>Tou;
+竈>Sou;
+竊>Setsu;
+立>Ritsu;
+竒>Ki;
+站>Tan;
+竚>Cho;
+竜>Ryuu;
+竝>Hei;
+竟>Kei;
+章>Shou;
+竢>Shi;
+竣>Shun;
+童>Dou;
+竦>Shou;
+竪>Ju;
+竭>Ketsu;
+端>Tan;
+競>Kyou;
+竸>Kei;
+竹>Chiku;
+竺>Toku;
+竿>Kan;
+笄>Kei;
+笆>Ha;
+笈>Kyuu;
+笊>Sou;
+笋>Jun;
+笏>Kotsu;
+笑>Shou;
+笘>Sen;
+笙>Sou;
+笛>Teki;
+笞>Chi;
+笠>Ryuu;
+笥>Shi;
+符>Fu;
+笨>Hon;
+第>Dai;
+笳>Ka;
+笵>Han;
+笶>Shi;
+筅>Sen;
+筆>Hitsu;
+筈>Katsu;
+等>Tou;
+筋>Kin;
+筌>Sen;
+筍>Jun;
+筏>Batsu;
+筐>Kyou;
+筑>Chiku;
+筒>Tou;
+答>Tou;
+策>Saku;
+筝>Sou;
+筥>Kyo;
+筧>Ken;
+筬>Sei;
+筮>Sei;
+筰>Saku;
+筱>Shou;
+筴>Kyou;
+筵>En;
+筺>Kyou;
+箆>Hei;
+箇>Ka;
+箋>Sen;
+箍>Ko;
+箏>Sou;
+箒>Sou;
+箔>Haku;
+箕>Ki;
+算>San;
+箘>Kin;
+箙>Fuku;
+箚>Satsu;
+箜>Kou;
+箝>Kan;
+箟>Kin;
+管>Kan;
+箪>Tan;
+箭>Sen;
+箱>Shou;
+箴>Shin;
+箸>Cho;
+節>Setsu;
+篁>Kou;
+範>Han;
+篆>Ten;
+篇>Hen;
+築>Chiku;
+篋>Kyou;
+篌>Kou;
+篏>Kan;
+篝>Kou;
+篠>Shou;
+篤>Toku;
+篥>Ritsu;
+篦>Hei;
+篩>Shi;
+篭>Rou;
+篳>Hitsu;
+篶>En;
+篷>Hou;
+簀>Saku;
+簇>Sou;
+簍>Rou;
+簑>Sa;
+簒>San;
+簓>Sen;
+簔>Sa;
+簟>Ten;
+簡>Kan;
+簣>Ki;
+簧>Kou;
+簪>Shin;
+簫>Shou;
+簷>En;
+簸>Ha;
+簽>Sen;
+簾>Ren;
+簿>Bo;
+籀>Chuu;
+籃>Ran;
+籌>Chuu;
+籍>Seki;
+籐>Tou;
+籔>Su;
+籖>Sen;
+籘>Tou;
+籟>Rai;
+籠>Rou;
+籤>Sen;
+籥>Yaku;
+籬>Ri;
+米>Bei;
+粃>Hi;
+粉>Fun;
+粋>Sui;
+粐>Ro;
+粒>Ryuu;
+粕>Haku;
+粗>So;
+粘>Nen;
+粛>Shuku;
+粟>Zoku;
+粡>Tou;
+粢>Shi;
+粤>Etsu;
+粥>Shuku;
+粧>Shou;
+粫>Ji;
+粮>Ryou;
+粱>Ryou;
+粲>San;
+粳>Kou;
+粹>Sui;
+粽>Sou;
+精>Sei;
+糂>San;
+糅>Juu;
+糊>Ko;
+糒>Hi;
+糖>Tou;
+糜>Bi;
+糞>Fun;
+糟>Sou;
+糠>Kou;
+糢>Bo;
+糧>Ryou;
+糯>Da;
+糲>Rei;
+糴>Teki;
+糶>Chou;
+糸>Shi;
+糺>Kyuu;
+系>Kei;
+糾>Kyuu;
+紀>Ki;
+紂>Chuu;
+約>Yaku;
+紅>Ku;
+紆>U;
+紊>Bin;
+紋>Mon;
+納>Tou;
+紐>Chuu;
+純>Shun;
+紕>Hi;
+紗>Sa;
+紘>Kou;
+紙>Shi;
+級>Kyuu;
+紛>Fun;
+紜>Un;
+素>So;
+紡>Bou;
+索>Saku;
+紫>Shi;
+紬>Chuu;
+紮>Satsu;
+累>Rui;
+細>Sei;
+紲>Setsu;
+紳>Shin;
+紵>Cho;
+紹>Shou;
+紺>Kon;
+紿>Tai;
+終>Shuu;
+絃>Gen;
+組>So;
+絅>Kei;
+絆>Ban;
+絋>Kou;
+経>Kei;
+絎>Kou;
+絏>Setsu;
+結>Ketsu;
+絖>Kou;
+絛>Jou;
+絞>Kou;
+絡>Raku;
+絢>Ken;
+絣>Hou;
+給>Kyuu;
+絨>Juu;
+絮>Jo;
+統>Tou;
+絲>Shi;
+絳>Kou;
+絵>Kai;
+絶>Zetsu;
+絹>Ken;
+絽>Ryo;
+綉>Tou;
+綏>Sui;
+經>Kei;
+継>Kei;
+続>Zoku;
+綜>Sou;
+綟>Rei;
+綢>Chuu;
+綣>Ken;
+綫>Sen;
+綬>Ju;
+維>I;
+綮>Kei;
+綯>Tou;
+綰>Wan;
+綱>Kou;
+網>Mou;
+綴>Tei;
+綵>Sai;
+綸>Rin;
+綺>Ki;
+綻>Tan;
+綽>Shaku;
+綾>Ryou;
+綿>Men;
+緇>Shi;
+緊>Kin;
+緋>Hi;
+総>Sou;
+緑>Ryoku;
+緒>Sho;
+緘>Kan;
+線>Sen;
+緜>Ben;
+緝>Shuu;
+緞>Tan;
+締>Tei;
+緡>Bin;
+緤>Setsu;
+編>Hen;
+緩>Kan;
+緬>Men;
+緯>I;
+緲>Byou;
+練>Ren;
+緻>Chi;
+縁>En;
+縄>Jou;
+縉>Shin;
+縊>Ei;
+縋>Tsui;
+縒>Shi;
+縛>Baku;
+縞>Kou;
+縟>Joku;
+縡>Sai;
+縢>Tou;
+縣>Ken;
+縦>Juu;
+縫>Hou;
+縮>Shuku;
+縱>Juu;
+縲>Rui;
+縵>Ban;
+縷>Ru;
+縹>Hyou;
+縺>Ren;
+縻>Bi;
+總>Sou;
+績>Seki;
+繁>Han;
+繃>Hou;
+繆>Kyuu;
+繊>Sen;
+繋>Kei;
+繍>Shuu;
+織>Shoku;
+繕>Zen;
+繖>San;
+繙>Han;
+繚>Ryou;
+繝>Kan;
+繞>Jou;
+繦>Kyou;
+繧>Un;
+繩>Jou;
+繪>Kai;
+繭>Ken;
+繰>Sou;
+繹>Eki;
+繻>Ju;
+繼>Kei;
+繽>Hin;
+繿>Ran;
+纂>San;
+纈>Ketsu;
+纉>San;
+續>Zoku;
+纎>Sen;
+纏>Ten;
+纒>Ten;
+纓>Ei;
+纔>San;
+纖>Sen;
+纛>Tou;
+纜>Ran;
+缶>Kan;
+缸>Kou;
+缺>Ketsu;
+罅>Ka;
+罌>Ou;
+罍>Rai;
+罎>Tan;
+罐>Kan;
+网>Bou;
+罔>Bou;
+罕>Kan;
+罘>Fu;
+罟>Ko;
+罠>Bin;
+罧>Shin;
+罨>An;
+罩>Tou;
+罪>Zai;
+罫>Kei;
+置>Chi;
+罰>Batsu;
+署>Sho;
+罵>Ba;
+罷>Hi;
+罸>Batsu;
+罹>Ri;
+羂>Ken;
+羃>Beki;
+羅>Ra;
+羆>Hi;
+羇>Ki;
+羈>Ki;
+羊>You;
+羌>Kyou;
+美>Bi;
+羔>Kou;
+羚>Rei;
+羝>Tei;
+羞>Shuu;
+羣>Gun;
+群>Gun;
+羨>Sen;
+義>Gi;
+羮>Kou;
+羯>Katsu;
+羲>Gi;
+羶>Sen;
+羸>Rui;
+羹>Kou;
+羽>U;
+翁>Ou;
+翅>Shi;
+翆>Sui;
+翊>Yoku;
+翌>Yoku;
+習>Shuu;
+翔>Shou;
+翕>Kyuu;
+翠>Sui;
+翡>Hi;
+翦>Sen;
+翩>Hen;
+翫>Gan;
+翰>Kan;
+翳>Ei;
+翹>Gyou;
+翻>Hon;
+翼>Yoku;
+耀>You;
+老>Rou;
+考>Kou;
+耄>Mou;
+者>Sha;
+耆>Ki;
+耋>Tetsu;
+而>Ji;
+耐>Tai;
+耒>Rai;
+耕>Kou;
+耗>Mou;
+耘>Un;
+耙>Ha;
+耜>Shi;
+耡>Jo;
+耨>Dou;
+耳>Ji;
+耶>Ya;
+耻>Chi;
+耽>Tan;
+耿>Kou;
+聆>Rei;
+聊>Ryou;
+聒>Katsu;
+聖>Sei;
+聘>Hei;
+聚>Shuu;
+聞>Bun;
+聟>Sei;
+聡>Sou;
+聨>Ren;
+聯>Ren;
+聰>Sou;
+聲>Sei;
+聳>Shou;
+聴>Chou;
+聶>Jou;
+職>Shoku;
+聹>Dei;
+聽>Chou;
+聾>Rou;
+聿>Itsu;
+肄>I;
+肅>Shuku;
+肆>Shi;
+肇>Chou;
+肉>Niku;
+肋>Roku;
+肌>Ki;
+肓>Kou;
+肖>Shou;
+肘>Chuu;
+肚>To;
+肛>Kou;
+肝>Kan;
+股>Ko;
+肢>Shi;
+肥>Hi;
+肩>Ken;
+肪>Bou;
+肬>Yuu;
+肭>Dotsu;
+肯>Kou;
+肱>Kou;
+育>Iku;
+肴>Kou;
+肺>Hai;
+胃>I;
+胄>Chuu;
+胆>Tan;
+背>Hai;
+胎>Tai;
+胖>Han;
+胙>So;
+胚>Hai;
+胛>Kou;
+胝>Chi;
+胞>Hou;
+胡>Ko;
+胤>In;
+胥>Sho;
+胯>Ko;
+胱>Kou;
+胴>Dou;
+胸>Kyou;
+胼>Hen;
+能>Nou;
+脂>Shi;
+脅>Kyou;
+脆>Zei;
+脇>Kyou;
+脈>Myaku;
+脉>Myaku;
+脊>Seki;
+脚>Kyaku;
+脛>Kei;
+脣>Shin;
+脩>Shuu;
+脯>Ho;
+脱>Datsu;
+脳>Nou;
+脹>Chou;
+脾>Hi;
+腆>Ten;
+腋>Eki;
+腎>Jin;
+腐>Fu;
+腑>Fu;
+腓>Hi;
+腔>Kou;
+腕>Wan;
+腟>Chitsu;
+腥>Sei;
+腦>Nou;
+腫>Shou;
+腮>Sai;
+腰>You;
+腱>Ken;
+腴>Yu;
+腸>Chou;
+腹>Fuku;
+腺>Sen;
+腿>Tai;
+膀>Hou;
+膂>Ryo;
+膃>Otsu;
+膈>Kaku;
+膊>Haku;
+膏>Kou;
+膓>Chou;
+膕>Kaku;
+膚>Fu;
+膜>Maku;
+膝>Shitsu;
+膠>Kou;
+膣>Chitsu;
+膨>Bou;
+膩>Ji;
+膰>Han;
+膳>Sen;
+膵>Sui;
+膸>Zui;
+膺>You;
+膽>Tan;
+膾>Kai;
+膿>Dou;
+臀>Den;
+臂>Hi;
+臆>Oku;
+臈>Rou;
+臉>Ren;
+臍>Sei;
+臑>Dau;
+臓>Zou;
+臘>Rou;
+臙>En;
+臚>Ryo;
+臟>Zou;
+臠>Ren;
+臣>Shin;
+臥>Ga;
+臧>Zou;
+臨>Rin;
+自>Shi;
+臭>Shuu;
+至>Shi;
+致>Chi;
+臺>Tai;
+臻>Shin;
+臼>Kyuu;
+臾>Yu;
+舁>Yo;
+舂>Shou;
+舅>Kyuu;
+與>Yo;
+興>Kyou;
+舉>Kyo;
+舊>Kyuu;
+舌>Zetsu;
+舍>Sha;
+舎>Sha;
+舐>Shi;
+舒>Jo;
+舖>Ho;
+舗>Ho;
+舘>Kan;
+舛>Sen;
+舜>Shun;
+舞>Bu;
+舟>Shuu;
+舩>Sen;
+航>Kou;
+舫>Hou;
+般>Han;
+舮>Ro;
+舳>Chiku;
+舵>Ta;
+舶>Haku;
+舷>Ken;
+舸>Ka;
+船>Sen;
+艀>Fu;
+艇>Tei;
+艘>Sou;
+艙>Sou;
+艚>Sou;
+艟>Dou;
+艢>Shou;
+艤>Gi;
+艦>Kan;
+艨>Mou;
+艪>Ro;
+艫>Ro;
+艮>Kon;
+良>Ryou;
+艱>Kan;
+色>Shoku;
+艶>En;
+艷>En;
+艸>Sou;
+艾>Gai;
+芋>U;
+芍>Shaku;
+芒>Bou;
+芙>Fu;
+芝>Shi;
+芟>San;
+芥>Kai;
+芦>Ro;
+芫>Gen;
+芬>Fun;
+芭>Ba;
+芯>Shin;
+花>Ka;
+芳>Hou;
+芸>Gei;
+芹>Kin;
+芻>Suu;
+芽>Ga;
+苅>Gai;
+苑>En;
+苒>Zen;
+苓>Rei;
+苔>Tai;
+苗>Byou;
+苙>Ryuu;
+苛>Ka;
+苜>Boku;
+苞>Hou;
+苟>Kou;
+苡>I;
+苣>Kyo;
+若>Jaku;
+苦>Ku;
+苧>Cho;
+苫>Sen;
+英>Ei;
+苳>Tou;
+苴>So;
+苹>Hei;
+苺>Mai;
+苻>Fu;
+茂>Mo;
+范>Han;
+茄>Ka;
+茅>Bou;
+茆>Bou;
+茉>Matsu;
+茎>Kei;
+茖>Kaku;
+茗>Mei;
+茘>Ri;
+茜>Sen;
+茣>Go;
+茨>Shi;
+茫>Bou;
+茯>Fuku;
+茱>Shu;
+茲>Ji;
+茴>Kai;
+茵>In;
+茶>Cha;
+茸>Jou;
+茹>Jo;
+荀>Jun;
+荅>Tou;
+草>Sou;
+荊>Kei;
+荏>Jin;
+荐>Sen;
+荒>Kou;
+荘>Sou;
+荳>Tou;
+荵>Jin;
+荷>Ka;
+荻>Teki;
+荼>To;
+莅>Ri;
+莇>Cho;
+莉>Chi;
+莊>Sou;
+莎>Sa;
+莓>Mai;
+莖>Kei;
+莚>En;
+莞>Kan;
+莟>Kan;
+莠>Yuu;
+莢>Kyou;
+莨>Rou;
+莪>Ga;
+莫>Bo;
+莱>Rai;
+莵>To;
+莽>Bou;
+菁>Sei;
+菅>Kan;
+菊>Kiku;
+菌>Kin;
+菎>Kon;
+菓>Ka;
+菖>Shou;
+菘>Suu;
+菜>Sai;
+菟>To;
+菠>Ha;
+菩>Hai;
+菫>Kin;
+華>Ka;
+菰>Ko;
+菱>Ryou;
+菲>Hi;
+菴>An;
+菷>Sou;
+菻>Rin;
+菽>Shuku;
+萃>Sui;
+萄>Tou;
+萇>Chou;
+萋>Sei;
+萌>Hou;
+萍>Hei;
+萎>I;
+萓>Gi;
+萠>Hou;
+萩>Shuu;
+萪>Kuwa;
+萬>Man;
+萱>Ken;
+萵>Wa;
+萸>Yu;
+萼>Gaku;
+落>Raku;
+葆>Ho;
+葉>You;
+葎>Ritsu;
+著>Cho;
+葛>Katsu;
+葡>Ho;
+葢>Gai;
+董>Tou;
+葦>I;
+葩>Ha;
+葫>Ko;
+葬>Sou;
+葭>Ka;
+葮>Tan;
+葯>Yaku;
+葱>Sou;
+葵>Ki;
+葷>Gun;
+葹>Shi;
+葺>Shuu;
+蒂>Tei;
+蒄>Kan;
+蒋>Shou;
+蒐>Shuu;
+蒔>Shi;
+蒙>Bou;
+蒜>San;
+蒟>Kon;
+蒡>Hou;
+蒭>Suu;
+蒲>Ho;
+蒸>Jou;
+蒹>Ken;
+蒻>Jaku;
+蒼>Sou;
+蒿>Kou;
+蓁>Shin;
+蓄>Chiku;
+蓆>Seki;
+蓉>You;
+蓊>Ou;
+蓋>Gai;
+蓍>Shi;
+蓐>Joku;
+蓑>Sa;
+蓖>Hi;
+蓚>Chou;
+蓬>Hou;
+蓮>Ren;
+蓴>Shun;
+蓼>Ryou;
+蓿>Shuku;
+蔀>Hou;
+蔆>Ryou;
+蔑>Betsu;
+蔓>Ban;
+蔔>Fuku;
+蔕>Tei;
+蔗>Sho;
+蔘>Shin;
+蔚>Utsu;
+蔟>Zoku;
+蔡>Sai;
+蔦>Chou;
+蔬>So;
+蔭>In;
+蔵>Zou;
+蔽>Hei;
+蕀>Kyoku;
+蕁>Jin;
+蕃>Ban;
+蕈>Shin;
+蕉>Shou;
+蕊>Zui;
+蕋>Zui;
+蕎>Kyou;
+蕕>Yuu;
+蕗>Ro;
+蕘>Jou;
+蕚>Gaku;
+蕣>Shun;
+蕨>Ketsu;
+蕩>Tou;
+蕪>Bu;
+蕭>Shou;
+蕷>Yo;
+蕾>Rai;
+薀>Un;
+薄>Haku;
+薇>Bi;
+薈>Kai;
+薊>Kei;
+薐>Rou;
+薑>Kyou;
+薔>Shoku;
+薗>En;
+薙>Tei;
+薛>Setsu;
+薜>Heki;
+薤>Kai;
+薦>Sen;
+薨>Kou;
+薩>Satsu;
+薪>Shin;
+薫>Kun;
+薬>Yaku;
+薮>Sou;
+薯>Sho;
+薹>Tai;
+薺>Sei;
+藁>Kou;
+藉>Sha;
+藍>Ran;
+藏>Zou;
+藐>Baku;
+藕>Guu;
+藜>Rei;
+藝>Gei;
+藤>Tou;
+藥>Yaku;
+藩>Han;
+藪>Sou;
+藷>Sho;
+藹>Ai;
+藺>Rin;
+藻>Sou;
+藾>Rai;
+蘂>Zui;
+蘆>Ro;
+蘇>So;
+蘊>Un;
+蘋>Hin;
+蘓>So;
+蘖>Getsu;
+蘗>Haku;
+蘚>Sen;
+蘢>Rou;
+蘭>Ran;
+蘯>Tou;
+蘿>Ra;
+虍>Ko;
+虎>Ko;
+虐>Gyaku;
+虔>Ken;
+處>Sho;
+虚>Kyo;
+虜>Ryo;
+虞>Gu;
+號>Gou;
+虧>Ki;
+虫>Chuu;
+虱>Shitsu;
+虹>Kou;
+虻>Bou;
+蚊>Bun;
+蚋>Zei;
+蚌>Hou;
+蚓>In;
+蚕>San;
+蚣>Kou;
+蚤>Sou;
+蚩>Shi;
+蚪>Tou;
+蚫>Hou;
+蚯>Kyuu;
+蚰>Yuu;
+蚶>Kan;
+蛄>Ko;
+蛆>Sho;
+蛇>Ja;
+蛉>Rei;
+蛋>Tan;
+蛍>Kei;
+蛎>Rei;
+蛔>Kai;
+蛙>A;
+蛛>Shu;
+蛞>Katsu;
+蛟>Kou;
+蛤>Kou;
+蛩>Kyou;
+蛬>Kyou;
+蛭>Shitsu;
+蛮>Ban;
+蛸>Sou;
+蛹>You;
+蛻>Zei;
+蛾>Ga;
+蜀>Shoku;
+蜂>Hou;
+蜃>Shin;
+蜆>Ken;
+蜈>Go;
+蜉>Fu;
+蜊>Ri;
+蜍>Sho;
+蜑>Tan;
+蜒>En;
+蜘>Chi;
+蜚>Hi;
+蜜>Mitsu;
+蜥>Seki;
+蜩>Chou;
+蜴>Eki;
+蜷>Ken;
+蜻>Sei;
+蜿>En;
+蝉>Sen;
+蝋>Rou;
+蝌>Ka;
+蝎>Katsu;
+蝓>Yu;
+蝕>Shoku;
+蝗>Kou;
+蝙>Hen;
+蝟>I;
+蝠>Fuku;
+蝣>Yuu;
+蝦>Ka;
+蝨>Shitsu;
+蝪>Tou;
+蝮>Fuku;
+蝴>Ko;
+蝶>Chou;
+蝸>Ka;
+蝿>You;
+螂>Rou;
+融>Yuu;
+螟>Mei;
+螢>Kei;
+螫>Seki;
+螯>Gou;
+螳>Tou;
+螺>Ra;
+螻>Rou;
+螽>Shuu;
+蟀>Shutsu;
+蟄>Chitsu;
+蟆>Ba;
+蟇>Ba;
+蟋>Shitsu;
+蟐>Tou;
+蟒>Bou;
+蟠>Han;
+蟯>Gyou;
+蟲>Ki;
+蟶>Tei;
+蟷>Tou;
+蟹>Kai;
+蟻>Gi;
+蟾>Sen;
+蠅>You;
+蠍>Katsu;
+蠎>Bou;
+蠏>Kai;
+蠑>Ei;
+蠕>Da;
+蠖>Kaku;
+蠡>Rei;
+蠢>Shun;
+蠣>Rei;
+蠧>To;
+蠱>Ko;
+蠶>San;
+蠹>To;
+蠻>Ban;
+血>Ketsu;
+衂>Jiku;
+衄>Jiku;
+衆>Shuu;
+行>Kou;
+衍>En;
+衒>Ken;
+術>Jutsu;
+街>Gai;
+衙>Gyo;
+衛>Ei;
+衝>Shou;
+衞>Ei;
+衡>Kou;
+衢>Ku;
+衣>I;
+表>Hyou;
+衫>San;
+衰>Sa;
+衲>Dou;
+衵>Jitsu;
+衷>Chuu;
+衽>Jin;
+衾>Kin;
+衿>Kin;
+袁>En;
+袂>Bei;
+袈>Ka;
+袋>Tai;
+袍>Hou;
+袒>Tan;
+袖>Shuu;
+袗>Shin;
+袙>Ha;
+袞>Kon;
+袢>Han;
+袤>Bou;
+被>Hi;
+袮>Ne;
+袱>Fuku;
+袴>Ko;
+袵>Jin;
+袷>Kou;
+袿>Kei;
+裁>Sai;
+裂>Retsu;
+装>Sou;
+裏>Ri;
+裔>Ei;
+裕>Yuu;
+裘>Kyuu;
+裙>Kun;
+補>Ho;
+裝>Sou;
+裟>Sa;
+裡>Ri;
+裨>Hi;
+裲>Ryou;
+裳>Shou;
+裴>Hai;
+裸>Ra;
+裹>Ka;
+裼>Seki;
+製>Sei;
+裾>Kyo;
+褂>Kai;
+複>Fuku;
+褊>Hen;
+褌>Kon;
+褐>Katsu;
+褒>Hou;
+褓>Ho;
+褝>Tan;
+褞>On;
+褥>Joku;
+褪>Tai;
+褫>Chi;
+褶>Chou;
+褸>Rou;
+褻>Setsu;
+襁>Kyou;
+襃>Hou;
+襄>Jou;
+襌>Tan;
+襍>Zatsu;
+襖>Ou;
+襞>Heki;
+襟>Kin;
+襠>Tou;
+襤>Ran;
+襦>Ju;
+襪>Betsu;
+襭>Ketsu;
+襯>Shin;
+襲>Shuu;
+襴>Ran;
+襾>Aka;
+西>Sei;
+要>You;
+覃>Tan;
+覆>Fuku;
+覇>Ha;
+覈>Kaku;
+覊>Ki;
+見>Ken;
+規>Ki;
+覓>Beki;
+視>Shi;
+覗>Shi;
+覘>Ten;
+覚>Kaku;
+覡>Geki;
+覦>Yu;
+覧>Ran;
+覩>To;
+親>Shin;
+覬>Ki;
+覯>Kou;
+覲>Kin;
+観>Kan;
+覺>Kaku;
+覽>Ran;
+覿>Teki;
+觀>Kan;
+角>Kaku;
+觚>Ko;
+觜>Shi;
+觝>Tei;
+解>Kai;
+触>Shoku;
+觧>Kai;
+觴>Shou;
+觸>Shoku;
+言>Gen;
+訂>Tei;
+訃>Fu;
+計>Kei;
+訊>Jin;
+訌>Kou;
+討>Tou;
+訐>Ketsu;
+訓>Kun;
+訖>Kitsu;
+託>Taku;
+記>Ki;
+訛>Ka;
+訝>Ga;
+訟>Shou;
+訣>Ketsu;
+訥>Totsu;
+訪>Hou;
+設>Setsu;
+許>Kyo;
+訳>Yaku;
+訴>So;
+訶>Ka;
+診>Shin;
+註>Chuu;
+証>Shou;
+詁>Ko;
+詆>Tei;
+詈>Ri;
+詐>Sa;
+詑>Ta;
+詒>Tai;
+詔>Shou;
+評>Hyou;
+詛>So;
+詞>Shi;
+詠>Ei;
+詢>Jun;
+詣>Kei;
+試>Shi;
+詩>Shi;
+詫>Ta;
+詬>Kou;
+詭>Ki;
+詮>Sen;
+詰>Kitsu;
+話>Wa;
+該>Gai;
+詳>Shou;
+詼>Kai;
+誂>Chou;
+誄>Rui;
+誅>Chuu;
+誇>Ko;
+誉>Yo;
+誌>Shi;
+認>Nin;
+誑>Kyou;
+誓>Sei;
+誕>Tan;
+誘>Yuu;
+誚>Shou;
+語>Go;
+誠>Sei;
+誡>Kai;
+誣>Fu;
+誤>Go;
+誥>Kou;
+誦>Shou;
+誨>Kai;
+説>Setsu;
+読>Toku;
+誰>Sui;
+課>Ka;
+誹>Hi;
+誼>Gi;
+調>Chou;
+諂>Ten;
+諄>Jun;
+談>Dan;
+請>Sei;
+諌>Kan;
+諍>Sou;
+諏>Shu;
+諒>Ryou;
+論>Ron;
+諚>Jou;
+諛>Yu;
+諜>Chou;
+諞>Hen;
+諠>Ken;
+諡>Shi;
+諢>Kon;
+諤>Gaku;
+諦>Tei;
+諧>Kai;
+諫>Kan;
+諭>Yu;
+諮>Shi;
+諱>Ki;
+諳>An;
+諷>Fuu;
+諸>Sho;
+諺>Gen;
+諾>Daku;
+謀>Bou;
+謁>Etsu;
+謂>I;
+謄>Tou;
+謇>Ken;
+謌>Ka;
+謎>Mei;
+謐>Hitsu;
+謔>Gyaku;
+謖>Shoku;
+謗>Bou;
+謙>Ken;
+謚>Shi;
+講>Kou;
+謝>Sha;
+謠>You;
+謡>You;
+謦>Kei;
+謨>Bo;
+謫>Taku;
+謬>Byou;
+謳>Ou;
+謹>Kin;
+謾>Ban;
+譁>Ka;
+證>Shou;
+譌>Ka;
+譎>Kitsu;
+譏>Ki;
+譖>Shin;
+識>Shiki;
+譚>Tan;
+譛>Shin;
+譜>Fu;
+譟>Sou;
+警>Kei;
+譫>Sen;
+譬>Hi;
+譯>Yaku;
+議>Gi;
+譱>Zen;
+譲>Jou;
+譴>Ken;
+護>Go;
+譽>Yo;
+讀>Toku;
+讃>San;
+變>Hen;
+讌>En;
+讎>Shuu;
+讐>Shuu;
+讒>San;
+讓>Jou;
+讖>Shin;
+讙>Kan;
+讚>San;
+谷>Koku;
+谺>Ka;
+谿>Kei;
+豁>Katsu;
+豆>Tou;
+豈>Ki;
+豊>Hou;
+豌>En;
+豎>Ju;
+豐>Hou;
+豕>Shi;
+豚>Ton;
+象>Shou;
+豢>Ken;
+豪>Gou;
+豫>Yo;
+豬>Cho;
+豸>Chi;
+豹>Hou;
+豺>Sai;
+豼>Hi;
+貂>Chou;
+貅>Kyuu;
+貉>Kaku;
+貊>Haku;
+貌>Bou;
+貍>Ri;
+貎>Gei;
+貔>Hi;
+貘>Baku;
+貝>Bai;
+貞>Tei;
+負>Fu;
+財>Zai;
+貢>Kou;
+貧>Hin;
+貨>Ka;
+販>Han;
+貪>Don;
+貫>Kan;
+責>Seki;
+貭>Shitsu;
+貮>Ni;
+貯>Cho;
+貰>Sei;
+貲>Shi;
+貳>Ni;
+貴>Ki;
+貶>Hen;
+買>Bai;
+貸>Tai;
+費>Hi;
+貼>Ten;
+貽>I;
+貿>Bou;
+賀>Ga;
+賁>Hi;
+賂>Ro;
+賃>Chin;
+賄>Wai;
+資>Shi;
+賈>Ko;
+賊>Zoku;
+賍>Sou;
+賎>Sen;
+賑>Shin;
+賓>Hin;
+賚>Rai;
+賛>San;
+賜>Shi;
+賞>Shou;
+賠>Bai;
+賢>Ken;
+賣>Bai;
+賤>Sen;
+賦>Fu;
+質>Shitsu;
+賭>To;
+賺>Tan;
+賻>Fu;
+購>Kou;
+賽>Sai;
+贄>Shi;
+贅>Zei;
+贇>In;
+贈>Zou;
+贊>San;
+贋>Gan;
+贍>Sen;
+贏>Ei;
+贐>Shin;
+贓>Zou;
+贔>Hi;
+贖>Shoku;
+赤>Seki;
+赦>Sha;
+赧>Tan;
+赫>Kaku;
+赭>Sha;
+走>Sou;
+赱>Sou;
+赳>Kyuu;
+赴>Fu;
+起>Ki;
+趁>Chin;
+超>Chou;
+越>Etsu;
+趙>Chou;
+趣>Shu;
+趨>Suu;
+足>Soku;
+趺>Fu;
+趾>Shi;
+跂>Ki;
+跋>Batsu;
+跌>Tetsu;
+跏>Ka;
+跖>Seki;
+跚>San;
+跛>Ha;
+距>Kyo;
+跟>Kon;
+跡>Seki;
+跣>Sen;
+跨>Ko;
+跪>Ki;
+跫>Kyou;
+路>Ro;
+跳>Chou;
+践>Sen;
+跼>Kyoku;
+跿>To;
+踈>Sho;
+踉>Ryou;
+踊>You;
+踏>Tou;
+踐>Sen;
+踝>Ka;
+踞>Kyo;
+踟>Chi;
+踪>Shou;
+踰>Yu;
+踴>You;
+踵>Shou;
+蹂>Juu;
+蹄>Tei;
+蹇>Ken;
+蹈>Tou;
+蹉>Sa;
+蹊>Kei;
+蹌>Shou;
+蹐>Seki;
+蹕>Hitsu;
+蹙>Shuku;
+蹟>Seki;
+蹠>Seki;
+蹣>Man;
+蹤>Shou;
+蹲>Son;
+蹴>Shuu;
+蹶>Ketsu;
+蹼>Boku;
+躁>Sou;
+躄>Heki;
+躅>Choku;
+躇>Cho;
+躊>Chuu;
+躋>Sei;
+躍>Yaku;
+躑>Teki;
+躓>Chi;
+躔>Ten;
+躙>Rin;
+躡>Jou;
+躪>Rin;
+身>Shin;
+躬>Kyuu;
+躯>Ku;
+躰>Tei;
+躱>Ta;
+軆>Tei;
+車>Sha;
+軋>Atsu;
+軌>Ki;
+軍>Gun;
+軒>Ken;
+軛>Aku;
+軟>Nan;
+転>Ten;
+軣>Gou;
+軫>Shin;
+軸>Jiku;
+軻>Ka;
+軼>Itsu;
+軽>Kei;
+軾>Shoku;
+較>Kaku;
+輅>Ro;
+載>Sai;
+輊>Chi;
+輌>Ryou;
+輒>Chou;
+輓>Ban;
+輔>Fu;
+輕>Kei;
+輙>Chou;
+輛>Ryou;
+輜>Shi;
+輝>Ki;
+輟>Tetsu;
+輦>Ren;
+輩>Hai;
+輪>Rin;
+輯>Shuu;
+輳>Sou;
+輸>Yu;
+輹>Fuku;
+輻>Fuku;
+輾>Ten;
+輿>Yo;
+轂>Koku;
+轄>Katsu;
+轅>En;
+轆>Roku;
+轉>Ten;
+轍>Tetsu;
+轎>Kyou;
+轗>Kan;
+轜>Ji;
+轟>Gou;
+轡>Hi;
+轢>Reki;
+轣>Reki;
+轤>Ro;
+辛>Shin;
+辜>Ko;
+辞>Ji;
+辟>Heki;
+辣>Ratsu;
+辧>Ben;
+辨>Ben;
+辭>Ji;
+辮>Hen;
+辯>Ben;
+辰>Shin;
+辱>Joku;
+農>Nou;
+辺>Hen;
+辿>Ten;
+迂>U;
+迄>Kitsu;
+迅>Jin;
+迎>Gei;
+近>Kin;
+返>Hen;
+迢>Chou;
+迥>Kei;
+迦>Ka;
+迩>Ji;
+迪>Teki;
+迫>Haku;
+迭>Tetsu;
+迯>Tou;
+述>Jutsu;
+迴>Kai;
+迷>Mei;
+迸>Hou;
+迹>Seki;
+迺>Dai;
+追>Tsui;
+退>Tai;
+送>Sou;
+逃>Tou;
+逅>Kou;
+逆>Gyaku;
+逋>Ho;
+逍>Shou;
+逎>Shuu;
+透>Tou;
+逐>Chiku;
+逑>Kyuu;
+逓>Tei;
+途>To;
+逕>Kei;
+逖>Teki;
+逗>Tou;
+這>Gen;
+通>Ts;
+逝>Sei;
+逞>Tei;
+速>Soku;
+造>Zou;
+逡>Shun;
+逢>Hou;
+連>Ren;
+逮>Tai;
+週>Shuu;
+進>Shin;
+逵>Ki;
+逶>I;
+逸>Itsu;
+逹>Tatsu;
+逼>Hitsu;
+逾>Yu;
+遁>Ton;
+遂>Sui;
+遅>Chi;
+遇>Guu;
+遉>Tei;
+遊>Yuu;
+運>Un;
+遍>Hen;
+過>Ka;
+遏>Atsu;
+遐>Ka;
+遑>Kou;
+遒>Shuu;
+道>Dou;
+達>Tatsu;
+違>I;
+遘>Kou;
+遙>You;
+遜>Son;
+遞>Tei;
+遠>En;
+遡>So;
+遣>Ken;
+遥>You;
+遨>Gou;
+適>Teki;
+遭>Sou;
+遮>Sha;
+遯>Ton;
+遲>Chi;
+遵>Jun;
+遶>Jou;
+遷>Sen;
+選>Sen;
+遺>I;
+遼>Ryou;
+遽>Kyo;
+避>Hi;
+邀>You;
+邁>Bai;
+邂>Kai;
+邃>Sui;
+還>Kan;
+邇>Ji;
+邉>Hen;
+邊>Hen;
+邏>Ra;
+邑>Yuu;
+那>Da;
+邦>Hou;
+邨>Son;
+邪>Ya;
+邯>Kan;
+邱>Kyuu;
+邵>Shou;
+邸>Tei;
+郁>Iku;
+郊>Kou;
+郎>Rou;
+郛>Fu;
+郡>Gun;
+郢>Ei;
+郤>Geki;
+部>Bu;
+郭>Kaku;
+郵>Yuu;
+郷>Kyou;
+都>To;
+鄂>Gaku;
+鄒>Suu;
+鄙>Hi;
+鄭>Tei;
+鄰>Rin;
+鄲>Tan;
+酉>Yuu;
+酊>Tei;
+酋>Shuu;
+酌>Shaku;
+配>Hai;
+酎>Chuu;
+酒>Shu;
+酔>Sui;
+酖>Tan;
+酘>Tou;
+酢>Saku;
+酣>Kan;
+酥>So;
+酩>Mei;
+酪>Raku;
+酬>Shuu;
+酲>Tei;
+酳>In;
+酵>Kou;
+酷>Koku;
+酸>San;
+醂>Rin;
+醇>Shun;
+醉>Sui;
+醋>Saku;
+醍>Tei;
+醐>Ko;
+醒>Sei;
+醗>Hatsu;
+醜>Shuu;
+醢>Kai;
+醤>Shou;
+醪>Rou;
+醫>I;
+醯>Kei;
+醴>Rei;
+醵>Kyo;
+醸>Jou;
+醺>Kun;
+釀>Jou;
+釁>Kin;
+釆>Han;
+采>Sai;
+釈>Shaku;
+釉>Yuu;
+釋>Shaku;
+里>Ri;
+重>Chou;
+野>Ya;
+量>Ryou;
+釐>Ri;
+金>Kin;
+釖>Tou;
+釘>Tei;
+釛>Koku;
+釜>Fu;
+針>Shin;
+釟>Hatsu;
+釡>Fu;
+釣>Chou;
+釦>Kou;
+釧>Sen;
+釵>Sa;
+釶>Shi;
+釼>Ken;
+釿>Kin;
+鈍>Don;
+鈎>Kou;
+鈑>Han;
+鈔>Shou;
+鈕>Chuu;
+鈞>Kin;
+鈩>Ro;
+鈬>Taku;
+鈴>Rei;
+鈷>Ko;
+鈿>Ten;
+鉄>Tetsu;
+鉅>Kyo;
+鉈>Sha;
+鉉>Ken;
+鉋>Hou;
+鉐>Seki;
+鉗>Kan;
+鉚>Ryuu;
+鉛>En;
+鉞>Etsu;
+鉢>Hachi;
+鉤>Kou;
+鉦>Sei;
+鉱>Kou;
+鉾>Bou;
+銀>Gin;
+銃>Juu;
+銅>Dou;
+銑>Sen;
+銓>Sen;
+銕>Tetsu;
+銖>Shu;
+銘>Mei;
+銚>You;
+銛>Sen;
+銜>Kan;
+銭>Sen;
+銷>Shou;
+銹>Shuu;
+鋏>Kyou;
+鋒>Hou;
+鋤>Jo;
+鋩>Bou;
+鋪>Ho;
+鋭>Ei;
+鋳>Chuu;
+鋸>Kyo;
+鋺>En;
+鋼>Kou;
+錆>Sei;
+錏>A;
+錐>Sui;
+錘>Tsui;
+錙>Shi;
+錚>Sou;
+錠>Jou;
+錢>Sen;
+錣>Tei;
+錦>Kin;
+錨>Byou;
+錫>Seki;
+錬>Ren;
+錮>Ko;
+錯>Saku;
+録>Roku;
+錻>Bu;
+鍄>Kei;
+鍋>Ka;
+鍍>To;
+鍔>Gaku;
+鍖>Chin;
+鍛>Tan;
+鍜>Ka;
+鍠>Kou;
+鍬>Shuu;
+鍮>Chuu;
+鍵>Ken;
+鍼>Shin;
+鍾>Shou;
+鎌>Ren;
+鎔>You;
+鎖>Sa;
+鎗>Sou;
+鎚>Tsui;
+鎧>Gai;
+鎬>Kou;
+鎭>Chin;
+鎮>Chin;
+鎰>Itsu;
+鏃>Zoku;
+鏈>Ren;
+鏐>Ryuu;
+鏑>Teki;
+鏖>Ou;
+鏗>Kou;
+鏘>Shou;
+鏝>Man;
+鏡>Kyou;
+鏤>Rou;
+鏥>Shuu;
+鏨>San;
+鐃>Dou;
+鐇>Han;
+鐐>Ryou;
+鐓>Tai;
+鐔>Shin;
+鐘>Shou;
+鐙>Tou;
+鐚>A;
+鐡>Tetsu;
+鐫>Sen;
+鐵>Tetsu;
+鐶>Kan;
+鐸>Taku;
+鐺>Tou;
+鑁>Ban;
+鑄>Chuu;
+鑑>Kan;
+鑒>Kan;
+鑚>San;
+鑛>Kou;
+鑞>Rou;
+鑠>Shaku;
+鑢>Ryo;
+鑪>Ro;
+鑰>Yaku;
+鑵>Kan;
+鑷>Jou;
+鑼>Ra;
+鑽>San;
+鑾>Ran;
+鑿>Saku;
+钁>Kaku;
+長>Chou;
+門>Mon;
+閂>San;
+閃>Sen;
+閇>Hei;
+閉>Hei;
+開>Kai;
+閏>Jun;
+閑>Kan;
+間>Kan;
+閔>Bin;
+閘>Kou;
+閙>Tou;
+関>Kan;
+閣>Kaku;
+閤>Kou;
+閥>Batsu;
+閧>Kou;
+閨>Kei;
+閭>Ro;
+閲>Etsu;
+閹>En;
+閻>En;
+閼>A;
+閾>Yoku;
+闃>Geki;
+闇>An;
+闊>Katsu;
+闌>Ran;
+闍>To;
+闔>Kou;
+闕>Ketsu;
+闖>Chin;
+闘>Tou;
+關>Kan;
+闡>Sen;
+闢>Heki;
+闥>Tatsu;
+阜>Fu;
+阡>Sen;
+阨>Aku;
+阪>Han;
+阮>Gen;
+阯>Shi;
+防>Bou;
+阻>So;
+阿>A;
+陀>Da;
+陂>Ha;
+附>Fu;
+陋>Rou;
+陌>Haku;
+降>Kou;
+陏>Ta;
+限>Gen;
+陛>Hei;
+陜>Kou;
+陝>Sen;
+陞>Shou;
+陟>Choku;
+院>In;
+陣>Jin;
+除>Jo;
+陥>Kan;
+陦>Tou;
+陪>Bai;
+陬>Suu;
+陰>In;
+陲>Sui;
+陳>Chin;
+陵>Ryou;
+陶>Tou;
+陷>Kan;
+陸>Riku;
+険>Ken;
+陽>You;
+隅>Guu;
+隆>Ryuu;
+隈>Wai;
+隊>Tai;
+隋>Ta;
+隍>Kou;
+階>Kai;
+随>Zui;
+隔>Kaku;
+隕>In;
+隗>Kai;
+隘>Ai;
+隙>Geki;
+際>Sai;
+障>Shou;
+隠>In;
+隣>Rin;
+隧>Sui;
+隨>Zui;
+險>Ken;
+隰>Shitsu;
+隱>In;
+隲>Shitsu;
+隴>Rou;
+隶>Tai;
+隷>Rei;
+隸>Rei;
+隹>Sui;
+隻>Seki;
+隼>Jun;
+雀>Jaku;
+雁>Gan;
+雄>Yuu;
+雅>Ga;
+集>Shuu;
+雇>Ko;
+雉>Chi;
+雋>Sen;
+雌>Shi;
+雍>You;
+雎>Sho;
+雑>Zatsu;
+雕>Chou;
+雖>Sui;
+雙>Sou;
+雛>Suu;
+雜>Zatsu;
+離>Ri;
+難>Nan;
+雨>U;
+雪>Setsu;
+雫>Da;
+雰>Fun;
+雲>Un;
+零>Rei;
+雷>Rai;
+雹>Haku;
+電>Den;
+需>Ju;
+霄>Shou;
+霆>Tei;
+震>Shin;
+霈>Hai;
+霊>Rei;
+霍>Kaku;
+霎>Sou;
+霏>Hi;
+霑>Ten;
+霓>Gei;
+霖>Rin;
+霙>Ei;
+霜>Sou;
+霞>Ka;
+霤>Ryuu;
+霧>Mu;
+霪>In;
+霰>San;
+露>Ro;
+霸>Haku;
+霹>Heki;
+霽>Sei;
+霾>Bai;
+靂>Reki;
+靄>Ai;
+靆>Tai;
+靈>Rei;
+靉>Ai;
+青>Sei;
+靖>Sei;
+静>Sei;
+靜>Sei;
+非>Hi;
+靠>Kou;
+靡>Hi;
+面>Men;
+靤>Hou;
+靦>Ten;
+靨>You;
+革>Kaku;
+靫>Sai;
+靭>Jin;
+靱>Jin;
+靴>Ka;
+靹>Ketsu;
+靺>Matsu;
+靼>Tan;
+鞁>Hi;
+鞄>Hou;
+鞅>Ou;
+鞋>Ai;
+鞍>An;
+鞏>Kyou;
+鞘>Sou;
+鞜>Tou;
+鞠>Kiku;
+鞣>Juu;
+鞦>Shuu;
+鞨>Katsu;
+鞫>Kiku;
+鞭>Hen;
+鞳>Tou;
+鞴>Fuku;
+韃>Datsu;
+韆>Sen;
+韈>Betsu;
+韋>I;
+韓>Kan;
+韜>Tou;
+韭>Kyuu;
+韮>Kyou;
+韲>Sei;
+音>On;
+韵>In;
+韶>Shou;
+韻>In;
+響>Kyou;
+頁>Ketsu;
+頂>Chou;
+頃>Kei;
+項>Kou;
+順>Jun;
+須>Shu;
+頌>Shou;
+頏>Kou;
+預>Yo;
+頑>Gan;
+頒>Han;
+頓>Ton;
+頗>Ha;
+領>Ryou;
+頚>Kei;
+頡>Kitsu;
+頤>I;
+頬>Kyou;
+頭>Tou;
+頴>Ei;
+頷>Kan;
+頸>Kei;
+頻>Hin;
+頼>Rai;
+頽>Tai;
+顆>Ka;
+顋>Sai;
+題>Dai;
+額>Gaku;
+顎>Gaku;
+顏>Gan;
+顔>Gan;
+顕>Ken;
+願>Gan;
+顛>Ten;
+類>Rui;
+顧>Ko;
+顫>Sen;
+顯>Ken;
+顰>Hin;
+顱>Ro;
+顳>Shou;
+顴>Kan;
+風>Fuu;
+颯>Satsu;
+颱>Tai;
+颶>Ku;
+飃>Hyou;
+飄>Hyou;
+飆>Hyou;
+飛>Hi;
+飜>Hon;
+食>Shoku;
+飢>Ki;
+飩>Ton;
+飫>Yo;
+飭>Choku;
+飮>In;
+飯>Han;
+飲>In;
+飴>I;
+飼>Shi;
+飽>Hou;
+飾>Shoku;
+餃>Kou;
+餅>Hei;
+餉>Shou;
+養>You;
+餌>Ji;
+餐>San;
+餒>Dai;
+餓>Ga;
+餔>Ho;
+餘>Yo;
+餝>Shoku;
+餞>Sen;
+餠>Hei;
+餡>Kan;
+餤>Tan;
+館>Kan;
+餬>Ko;
+餮>Tetsu;
+餽>Ki;
+餾>Ryuu;
+饂>Un;
+饅>Man;
+饉>Kin;
+饋>Ki;
+饌>Sen;
+饐>I;
+饑>Ki;
+饒>Jou;
+饕>Tou;
+饗>Kyou;
+首>Shu;
+馗>Ki;
+馘>Kaku;
+香>Kou;
+馥>Fuku;
+馨>Kei;
+馬>Ba;
+馭>Gyo;
+馮>Hyou;
+馳>Chi;
+馴>Shun;
+馼>Bun;
+駁>Baku;
+駄>Ta;
+駅>Eki;
+駆>Ku;
+駈>Ku;
+駐>Chuu;
+駑>Do;
+駒>Ku;
+駕>Ga;
+駘>Tai;
+駛>Shi;
+駝>Ta;
+駟>Shi;
+駢>Hen;
+駭>Kai;
+駮>Haku;
+駱>Raku;
+駸>Shin;
+駻>Kan;
+駿>Shun;
+騁>Tei;
+騅>Sui;
+騎>Ki;
+騏>Ki;
+騒>Sou;
+験>Ken;
+騙>Hen;
+騨>Tan;
+騫>Ken;
+騰>Tou;
+騷>Sou;
+騾>Ra;
+驀>Baku;
+驂>San;
+驃>Hyou;
+驅>Ku;
+驍>Gyou;
+驕>Kyou;
+驗>Ken;
+驚>Kyou;
+驛>Eki;
+驟>Shuu;
+驢>Ryo;
+驤>Jou;
+驥>Ki;
+驩>Kan;
+驪>Ri;
+驫>Hyuu;
+骨>Kotsu;
+骭>Kan;
+骰>Tou;
+骸>Kai;
+骼>Kaku;
+髀>Hi;
+髄>Zui;
+髏>Rou;
+髑>Toku;
+髓>Zui;
+體>Tei;
+高>Kou;
+髞>Sou;
+髟>Hyou;
+髢>Tei;
+髣>Hou;
+髦>Bou;
+髪>Hatsu;
+髫>Chou;
+髭>Shi;
+髮>Hatsu;
+髯>Zen;
+髱>Hou;
+髴>Futsu;
+髷>Kyoku;
+髻>Kei;
+鬆>Shou;
+鬘>Ban;
+鬚>Shu;
+鬟>Kan;
+鬢>Hin;
+鬣>Ryou;
+鬥>Tou;
+鬧>Tou;
+鬨>Kou;
+鬩>Geki;
+鬪>Tou;
+鬮>Kyuu;
+鬯>Chou;
+鬱>Utsu;
+鬲>Reki;
+鬻>Shuku;
+鬼>Ki;
+魁>Kai;
+魂>Kon;
+魃>Batsu;
+魄>Haku;
+魅>Mi;
+魍>Bou;
+魎>Ryou;
+魏>Gi;
+魑>Chi;
+魔>Ma;
+魘>En;
+魚>Gyo;
+魯>Ro;
+魴>Hou;
+鮃>Hyou;
+鮎>Nen;
+鮑>Hou;
+鮒>Fu;
+鮓>Sa;
+鮟>An;
+鮠>Gai;
+鮨>Shi;
+鮪>I;
+鮫>Kou;
+鮭>Kei;
+鮮>Sen;
+鮹>Sou;
+鯀>Kon;
+鯆>Ho;
+鯉>Ri;
+鯊>Sa;
+鯔>Shi;
+鯖>Sei;
+鯛>Chou;
+鯡>Hi;
+鯢>Gei;
+鯣>Eki;
+鯤>Kon;
+鯨>Gei;
+鯰>Nen;
+鯵>Sou;
+鰄>I;
+鰆>Shun;
+鰈>Chou;
+鰉>Kou;
+鰊>Ren;
+鰌>Shuu;
+鰍>Shuu;
+鰐>Gaku;
+鰒>Fuku;
+鰓>Sai;
+鰔>Kan;
+鰕>Ka;
+鰛>On;
+鰡>Ryuu;
+鰤>Shi;
+鰥>Kan;
+鰭>Ki;
+鰮>On;
+鰲>Gou;
+鰹>Ken;
+鰺>Sou;
+鰻>Ban;
+鰾>Hyou;
+鱆>Shou;
+鱇>Kou;
+鱈>Setsu;
+鱒>Son;
+鱗>Rin;
+鱠>Kai;
+鱧>Rei;
+鱶>Shou;
+鱸>Ro;
+鳥>Chou;
+鳧>Fu;
+鳩>Kyuu;
+鳫>Gan;
+鳬>Fu;
+鳳>Hou;
+鳴>Mei;
+鳶>En;
+鴃>Ketsu;
+鴆>Chin;
+鴇>Hou;
+鴈>Gan;
+鴉>A;
+鴎>Ou;
+鴒>Rei;
+鴕>Ta;
+鴛>En;
+鴟>Shi;
+鴣>Ko;
+鴦>You;
+鴨>Ou;
+鴪>Itsu;
+鴬>Ou;
+鴻>Kou;
+鴾>Bou;
+鴿>Kou;
+鵁>Kou;
+鵄>Shi;
+鵐>Bu;
+鵑>Ken;
+鵙>Geki;
+鵜>Tei;
+鵝>Ga;
+鵞>Ga;
+鵠>Koku;
+鵡>Bu;
+鵬>Hou;
+鵯>Hi;
+鵲>Jaku;
+鵺>Ya;
+鶇>Tou;
+鶉>Shun;
+鶏>Kei;
+鶚>Gaku;
+鶤>Kon;
+鶩>Boku;
+鶯>Ou;
+鶲>Ou;
+鶴>Kaku;
+鶸>Jaku;
+鶺>Seki;
+鶻>Kotsu;
+鷁>Geki;
+鷂>You;
+鷄>Kei;
+鷆>Ten;
+鷏>Ten;
+鷓>Sha;
+鷙>Shi;
+鷦>Shou;
+鷭>Ban;
+鷯>Ryou;
+鷲>Shuu;
+鷸>Itsu;
+鷹>You;
+鷺>Ro;
+鷽>Kaku;
+鸚>Ou;
+鸛>Kan;
+鸞>Ran;
+鹵>Ro;
+鹸>Ken;
+鹹>Kan;
+鹽>En;
+鹿>Roku;
+麁>So;
+麈>Shu;
+麋>Bi;
+麌>Gu;
+麑>Gei;
+麒>Ki;
+麓>Roku;
+麕>Kin;
+麗>Rei;
+麝>Sha;
+麟>Rin;
+麥>Baku;
+麦>Baku;
+麩>Fu;
+麪>Men;
+麭>Hou;
+麸>Fu;
+麹>Kiku;
+麺>Men;
+麻>Ma;
+麼>Ma;
+麾>Ki;
+麿>Ro;
+黄>Kou;
+黌>Kou;
+黍>Sho;
+黎>Rei;
+黏>Nen;
+黐>Chi;
+黒>Koku;
+黔>Ken;
+默>Moku;
+黙>Moku;
+黛>Tai;
+黜>Chutsu;
+黝>Yuu;
+點>Ten;
+黠>Katsu;
+黥>Gei;
+黨>Tou;
+黯>An;
+黴>Bai;
+黶>En;
+黷>Toku;
+黹>Chi;
+黻>Futsu;
+黼>Ho;
+黽>Bou;
+鼇>Gou;
+鼈>Betsu;
+鼎>Tei;
+鼓>Ko;
+鼕>Tou;
+鼠>So;
+鼡>Sho;
+鼬>Yuu;
+鼻>Bi;
+鼾>Kan;
+齊>Sei;
+齋>Sai;
+齎>Sei;
+齏>Sei;
+齒>Shi;
+齔>Shin;
+齟>So;
+齠>Chou;
+齡>Rei;
+齢>Rei;
+齣>Shutsu;
+齦>Gin;
+齧>Ketsu;
+齪>Soku;
+齬>Gyo;
+齲>Ku;
+齶>Gaku;
+齷>Aku;
+龍>Ryuu;
+龕>Gan;
+龜>Ki;
+龝>Shuu;
+龠>Yaku;
+
+# eof
diff --git a/src/com/ibm/icu/dev/demo/translit/thai_test.txt b/src/com/ibm/icu/dev/demo/translit/thai_test.txt
new file mode 100644
index 0000000..ef5f90c
--- /dev/null
+++ b/src/com/ibm/icu/dev/demo/translit/thai_test.txt
@@ -0,0 +1,55 @@
+﻿#--------------------------------------------------------------------
+# Copyright (c) 1999-2004, International Business Machines
+# Corporation and others. All Rights Reserved.
+#--------------------------------------------------------------------
+@UPPERFILTER@
+Unicode คืออะไร?
+Unicode กำหนดหมายเลขเฉพาะสำหรับทุกอักขระ
+โดยไม่สนใจว่าเป็นแพล็ตฟอร์มใด
+ไม่ขึ้นกับว่าจะเป็นโปรแกรมใด
+และไม่ว่าจะเป็นภาษาใด
+
+โดยพื้นฐานแล้ว, คอมพิวเตอร์จะเกี่ยวข้องกับเรื่องของตัวเลข. คอมพิวเตอร์จัดเก็บตัวอักษรและอักขระอื่นๆ โดยการกำหนดหมายเลขให้สำหรับแต่ละตัว. ก่อนหน้าที่๊ Unicode จะถูกสร้างขึ้น, ได้มีระบบ encoding อยู่หลายร้อยระบบสำหรับการกำหนดหมายเลขเหล่านี้. ไม่มี encoding ใดที่มีจำนวนตัวอักขระมากเพียงพอ: ยกตัวอย่างเช่น, เฉพาะในกลุ่มสหภาพยุโรปเพียงแห่งเดียว ก็ต้องการหลาย encoding ในการครอบคลุมทุกภาษาในกลุ่ม. หรือแม้แต่ในภาษาเดี่ยว เช่น ภาษาอังกฤษ ก็ไม่มี encoding ใดที่เพียงพอสำหรับทุกตัวอักษร, เครื่องหมายวรรคตอน และสัญลักษณ์ทางเทคนิคที่ใช้กันอยู่ทั่วไป. 
+
+ระบบ encoding เหล่านี้ยังขัดแย้งซึ่งกันและกัน. นั่นก็คือ, ในสอง encoding สามารถใช้หมายเลขเดียวกันสำหรับตัวอักขระสองตัวที่แตกต่างกัน,หรือใช้หมายเลขต่างกันสำหรับอักขระตัวเดียวกัน. ในระบบคอมพิวเตอร์ (โดยเฉพาะเซิร์ฟเวอร์) ต้องมีการสนับสนุนหลาย encoding; และเมื่อข้อมูลที่ผ่านไปมาระหว่างการเข้ารหัสหรือแพล็ตฟอร์มที่ต่างกัน, ข้อมูลนั้นจะเสี่ยงต่อการผิดพลาดเสียหาย.
+
+Unicode จะเปลี่ยนแปลงสิ่งเหล่านั้นทั้งหมด!
+Unicode กำหนดหมายเลขเฉพาะสำหรับแต่ละอักขระ, โดยไม่สนใจว่าเป็นแพล็ตฟอร์มใด, ไม่ขึ้นกับว่าจะเป็นโปรแกรมใดและไม่ว่าจะเป็นภาษาใด. มาตรฐาน Unicode ได้ถูกนำไปใช้โดยผู้นำในอุตสาหกรรม เช่น Apple, HP, IBM, JustSystem, Microsoft, Oracle, SAP, Sun, Sybase, Unisys และอื่นๆ อีกมาก. Unicode เป็นสิ่งที่จำเป็นสำหรับมาตรฐานใหม่ๆ เช่น XML, Java, ECMAScript (JavaScript), LDAP, CORBA 3.0, WML ฯลฯ., และเป็นแนวทางอย่างเป็นทางการในการทำ ISO/IEC 10646. Unicode ได้รับการสนับสนุนในระบบปฏิบัติการจำนวนมาก, บราวเซอร์ใหม่ๆ ทกตัว, และผลิตภัณฑ์อื่นๆ อีกมาก. การเกิดขึ้นของ Unicode Standard และทูลส์ต่างๆ ที่มีในการสนับสนุน Unicode, เป็นหนึ่งในแนวโน้มทางเทคโนโลยีซอฟต์แวร์ระดับโลกที่มีความสำคัญที่สุด.
+
+การรวม Unicode เข้าไปในระบบไคลเอ็นต์-เซิร์ฟเวอร์ หรือแอ็พพลิเคชันแบบ multi-tiered และเว็บไซต์ จะทำให้เกิดการประหยัดค่าใช้จ่ายมากกว่าการใช้ชุดอักขระแบบเดิม. Unicode ทำให้ผลิตภัณฑ์ซอฟต์แวร์หนึ่งเดียว หรือเว็บไซต์แห่งเดียว รองรับได้หลายแพล็ตฟอร์ม, หลายภาษาและหลายประเทศโดยไม่ต้องทำการรื้อปรับระบบ. Unicode ยังทำให้ข้อมูลสามารถเคลื่อนย้ายไปมาในหลายๆ ระบบโดยไม่เกิดความผิดพลาดเสียหาย.
+
+เกี่ยวกับ Unicode Consortium
+Unicode Consortium เป็นองค์กรไม่แสวงหากำไรที่ก่อตั้งขึ้นเพื่อพัฒนา, ขยายและส่งเสริมการใช้ Unicode Standard, ซึ่งกำหนดรูปแบบการแทนค่าของข้อความในผลิตภัณฑ์ซอฟต์แวร์และมาตรฐานใหม่ๆ. สมาชิกของสมาคมเป็นตัวแทนจากบริษัทและองค์กรในอุตสาหกรรมคอมพิวเตอร์และการประมวลผลสารสนเทศ. สมาคมได้รับการสนับสนุนทางการเงินผ่านทางค่าธรรมเนียมของการเป็นสมาชิกเท่านั้น. สมาชิกภาพของ Unicode Consortium เปิดกว้างสำหรับองค์กรหรือบุคคลใดๆ ในโลกที่ต้องการสนับสนุน Unicode Standard และช่วยเหลือการขยายตัวและการนำ Unicode ไปใช้งาน. 
+
+สำหรับข้อมูลเพิ่มเติม, ให้ดูที่ Glossary, Sample Unicode-Enabled Products, Technical Introduction และ Useful Resources.
+@TITLECASE@
+ก๊กเฮง แซ่แต้
+กชกร ศราทธทัต
+กติกา อังคสุภณ
+กนก ธรรมประทีป
+กนก วงศ์ทองศรี
+กนกกร ช้างเย็นฉ่ำ
+กนกฉัตร์ ถาวรนันท์
+กนกนวล โปษยะนันทน์
+กนกพร คมคาย
+กนกพร ตีรเลิศพานิช
+กนกพร พันทร
+กนกพร ศรีบัณฑิต
+กนกพร อติวรรณาพัฒน์
+กนกพรรณ ศรีวนาภิรมย์
+กนกรัตน์ เกียรติยิ่งอังศุลี
+กนกรัตน์ สุธรรมพิทักษ์
+กนกวรรณ คงคาประเสริฐ
+กนกวรรณ แซ่เตียว
+กนกวรรณ บุญประเสริฐ
+กนกวรรณ รักทรัพย์
+กนกวรรณ สัจจพงษ์
+กนกวรรณ อุ้ยวงศ์ไพศาล
+กนกศักดิ์ ยิ่งยง
+กนกแก้ว กรสมิต
+กนิษฐา ทนุถนอมราษฎร์
+กนิษฐา หวังวิบูลย์กิจ
+กมล กาญจนโรจน์
+กมล คัมภีร์
+กมล เจตน์มงคลรัตน์
+กมล ชูตระกูลธรรม
\ No newline at end of file
diff --git a/src/com/ibm/icu/dev/test/AbstractTestLog.java b/src/com/ibm/icu/dev/test/AbstractTestLog.java
new file mode 100644
index 0000000..a1b95d1
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/AbstractTestLog.java
@@ -0,0 +1,93 @@
+/**
+ *******************************************************************************
+ * Copyright (C) 2003-2004, International Business Machines Corporation and         *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.test;
+
+import com.ibm.icu.util.VersionInfo;
+
+public abstract class AbstractTestLog implements TestLog {
+
+    public static boolean dontSkipForVersion = false;
+    public boolean skipIfBeforeICU(int major, int minor) {
+        if (dontSkipForVersion || VersionInfo.ICU_VERSION.compareTo(VersionInfo.getInstance(major, minor)) > 0) {
+            return false;
+        } 
+        logln("Test skipped before ICU release " + major + "." + minor);
+        return true;
+    }
+    
+    /**
+     * Add a message.
+     */
+    public final void log(String message) {
+        msg(message, LOG, true, false);
+    }
+
+    /**
+     * Add a message and newline.
+     */
+    public final void logln(String message) {
+        msg(message, LOG, true, true);
+    }
+
+    /**
+     * Report an error.
+     */
+    public final void err(String message) {
+        msg(message, ERR, true, false);
+    }
+
+    /**
+     * Report an error and newline.
+     */
+    public final void errln(String message) {
+        msg(message, ERR, true, true);
+    }
+
+    /**
+     * Report a warning (generally missing tests or data).
+     */
+    public final void warn(String message) {
+        msg(message, WARN, true, false);
+    }
+
+    /**
+     * Report a warning (generally missing tests or data) and newline.
+     */
+    public final void warnln(String message) {
+        msg(message, WARN, true, true);
+    }
+
+    /**
+     * Vector for logging.  Callers can force the logging system to
+     * not increment the error or warning level by passing false for incCount.
+     *
+     * @param message the message to output.
+     * @param level the message level, either LOG, WARN, or ERR.
+     * @param incCount if true, increments the warning or error count
+     * @param newln if true, forces a newline after the message
+     */
+    public abstract void msg(String message, int level, boolean incCount, boolean newln);
+
+    /**
+     * Not sure if this class is useful.  This lets you log without first testing
+     * if logging is enabled.  The Delegating log will either silently ignore the
+     * message, if the delegate is null, or forward it to the delegate.
+     */
+    public static final class DelegatingLog extends AbstractTestLog {
+        private TestLog delegate;
+
+        public DelegatingLog(TestLog delegate) {
+            this.delegate = delegate;
+        }
+
+        public void msg(String message, int level, boolean incCount, boolean newln) {
+            if (delegate != null) {
+                delegate.msg(message, level, incCount, newln);
+            }
+        }
+    }
+}
diff --git a/src/com/ibm/icu/dev/test/ModuleTest.java b/src/com/ibm/icu/dev/test/ModuleTest.java
new file mode 100644
index 0000000..b25ba8d
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/ModuleTest.java
@@ -0,0 +1,268 @@
+/**
+ *******************************************************************************
+ * Copyright (C) 2001-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.test;
+
+import java.lang.reflect.Method;
+import java.util.Iterator;
+import java.util.List;
+
+import com.ibm.icu.dev.test.TestDataModule.TestData;
+import com.ibm.icu.dev.test.TestDataModule.DataMap;
+
+/**
+ * A convenience extension of TestFmwk for use by data module-driven
+ * tests.  Tests can implement this if they make extensive use of
+ * information in a TestDataModule.  The module should be openable
+ * using TestDataModule.open() passing in the class name of this test
+ * + "Data".  For example, a test named MyTest would have a module
+ * named MyTestData.  Each test method should also have a
+ * corresponding test data in the module whose name matches the test
+ * method name.
+ *
+ * Subclasses can allow for test methods that don't use data from the
+ * modeul by overriding validateMethod to return true for these
+ * methods.  Tests are also free to instantiate their own modules and
+ * run from them, though care should be taken not to interfere with
+ * the methods in this class.
+ *
+ * See ModuleTestSample for an example.  */
+public class ModuleTest extends TestFmwk {
+    private TestDataModule m;
+    private TestData t;
+    private String methodName;
+
+    protected ModuleTest() {
+        this(null);
+    }
+
+    /**
+     * Pass the name of a public no-arg method in this class if 
+     * you want use that method to run all the tests off the
+     * data, otherwise pass null for the typical test behavior.
+     */
+    protected ModuleTest(String methodName) {
+        this.methodName = methodName;
+    }
+
+    /**
+     * Subclasses access this after calling nextSettings and getting
+     * a true result.
+     */
+    protected DataMap settings;
+
+    /**
+     * Subclasses access this after calling nextCase and getting a
+     * true result.
+     */
+    protected DataMap testcase;
+
+
+    protected Target getTargets(String targetName) {
+        if (methodName != null && params.doMethods()) {
+            Target target = null;
+            List list = getModuleNames();
+            if (list != null) {
+                try {
+                    Method method = getClass().getMethod(methodName, null);
+                    Iterator i = list.iterator();
+                    while (i.hasNext()) {
+                        target = new MethodTarget((String)i.next(), method).setNext(target);
+                    }
+                }
+                catch (Exception e) {
+                    throw new InternalError(e.getMessage());
+                }
+            }
+            return target;
+        }
+
+        return super.getTargets(targetName);
+    }
+
+    /*
+     * If we were initialized with the name of a method to run the
+     * data driven tests, drive tests off the data using that method.
+    protected Map getAvailableTests() {
+        if (methodName != null) {
+            List list = getModuleNames();
+
+            if (list != null) {
+                Map map = new HashMap(list.size());
+                addNamedMethodToMap(list, methodName, map);
+                return map;
+            }
+            return Collections.EMPTY_MAP;
+        } else {
+            return super.getAvailableTests();
+        }
+    }
+     */
+
+    /**
+     * TestFmwk calls this before trying to run a suite of tests.
+     * The test suite if valid if a module whose name is the name of
+     * this class + "Data" can be opened.  Subclasses can override
+     * this if there are different or additional data required.  
+     */
+    protected boolean validate() {
+        return openModule(getClass().getName()+"Data");
+    }
+
+    /**
+     * TestFmwk calls this before trying to invoke a test method.
+     * The method is valid if there is test data with the name of this
+     * method in the module.  Subclasses can override this to allow
+     * for tests that do not require test data from the module, or
+     * if there are different or additional data required.
+     */
+    protected boolean validateMethod(String methodName) {
+    return openTestData(methodName);
+    }
+
+    /**
+     * Override of TestFmwk method to get the test suite description
+     * from the DESCRIPTION field of the module info.  
+     */
+    protected String getDescription() {
+    DataMap info = moduleInfo();
+    if (info != null) {
+        return info.getString(TestDataModule.DESCRIPTION);
+    }
+    return null;
+    }
+
+    /**
+     * Override of TestFmwk method to get the test method description
+     * from the DESCRIPTION field of the test info.  
+     */
+    protected String getMethodDescription(String methodName) {
+    if (openTestData(methodName)) {
+        DataMap info = testInfo();
+        if (info != null) {
+        return info.getString(TestDataModule.DESCRIPTION);
+        }
+    }
+    return null;
+    }
+
+    /**
+     * Opens the module with the given name, and return true if success.
+     * All contents are reset.
+     */
+    protected boolean openModule(String name) {
+    t = null;
+    m = TestDataModule.open(name, this);
+    return m != null;
+    }
+
+    /**
+     * Open the test data in the module with the given name, and return
+     * true if success.  The current test is reset.
+     */
+    protected boolean openTestData(String name) {
+    t = m == null ? null : m.createTestData(name);
+    return t != null;
+    }
+
+    /**
+     * Return an unmodifiable List of the names of all the tests in the module.
+     */
+    protected List getModuleNames() {
+        if (validate()) {
+            return m.getTestDataNames();
+        }
+        return null;
+    }
+
+    /**
+     * Utility that associates a public named function in this class
+     * with all the names in the provided Set.  The function should be
+     * public and take no parameters (like a TestXXX method). You can
+     * use this to override getAvailableTests from TestFmwk, which by
+     * default associates the names  TestXXX or testXXX with
+     * the corresponding methods in the class.  ModuleTests may wish
+     * to use a single method to drive all the tests in the module.
+     *
+     * @param names the names to associated with the named method.
+     * @param methodName the name of the method in this class to associate with names
+     * @param dest the map to hold the name->method mapping 
+    protected void addNamedMethodToMap(List names, String methodName, Map dest) {
+        try {
+            Method method = getClass().getMethod(methodName, null);
+            Iterator i = names.iterator();
+            while (i.hasNext()) {
+                dest.put(i.next(), method);
+            }
+        }
+        catch (Exception e) {
+            throw new InternalError(e.getMessage());
+        }
+    }
+     */
+    
+    /**
+     * Get information on this module.  Returns null if no module
+     * open or no info for the module.
+     */
+    protected DataMap moduleInfo() {
+    return m == null ? null : m.getInfo();
+    }
+
+    /**
+     * Get information on this test.  Returns null if no module
+     * open or no test open or not info for this test.
+     */
+    protected DataMap testInfo() {
+    return t == null ? null : t.getInfo();
+    }
+
+    /**
+     * Advance test to the next settings, and return true if 
+     * there are more settings.  The protected member variable
+     * 'settings' holds the new settings data.
+     */
+    protected boolean nextSettings() {
+    settings = t == null ? null : t.nextSettings();
+    return settings != null;
+    }
+
+    /**
+     * Advance test to the next case, and return true if there
+     * is another case.  The protected member variable
+     * 'testcase' holds the new case data.
+     */
+    protected boolean nextCase() {
+    testcase = t == null ? null : t.nextCase();
+    return testcase != null;
+    }
+
+    public void msg(String message, int level, boolean incCount, boolean newln) {
+        if (level == ERR && t != null) {
+            t.stopIteration();
+        }
+        super.msg(message, level, incCount, newln);
+    }
+    
+    /**
+     * Report an error, and stop iteration of the current test.
+    public void err(String message) {
+    if (t != null) {
+        t.stopIteration();
+    }
+    super.err(message);
+    }
+
+    /**
+     * Report an error, and stop iteration of the current test.
+    public void errln(String message) {
+    if (t != null) {
+        t.stopIteration();
+    }
+    super.errln(message);
+    }
+     */
+}
diff --git a/src/com/ibm/icu/dev/test/ResourceModule.java b/src/com/ibm/icu/dev/test/ResourceModule.java
new file mode 100644
index 0000000..858a2e2
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/ResourceModule.java
@@ -0,0 +1,605 @@
+/**
+ *******************************************************************************
+ * Copyright (C) 2001-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.test;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+import java.util.ResourceBundle;
+
+/**
+ * Resource-based module.
+ */
+public class ResourceModule extends TestDataModule {
+    private NamedArray tests;
+    private RBDataMap info;
+    private String[] defaultHeaders;
+
+    /**
+     * For internal use.
+     */
+    static final String TESTS = "TestData";
+
+    /**
+     * For internal use.
+     */
+    static final String INFO = "Info";
+
+    /**
+     * For internal use.
+     */
+    static final String SETTINGS = "Settings";
+
+    /**
+     * For internal use.
+     */
+    static final String CASES = "Cases";
+
+    public ResourceModule(String name, TestLog log, ResourceBundle b) {
+    super(name, log);
+
+    if (b == null) {
+        log.errln("ResourceModule must have non-null bundle");
+        return;
+    }
+
+    Object[][] data = (Object[][])b.getObject(TESTS);
+    if (data == null) {
+        log.errln("ResourceModule does not contain tests!");
+        return;
+    }
+    this.tests = NamedArray.create(data);
+
+    Object[][] temp = (Object[][])b.getObject(INFO);
+    if (temp != null) {
+        NamedArray na = NamedArray.create(temp);
+        if (na.count() < 0) {
+        log.errln("Bad data for " + INFO);
+        } else {
+        this.info = new RBDataMap(log, na, false);    
+        this.defaultHeaders = info.getStringArray(HEADERS);    
+        }
+    }
+    }
+
+    /**
+     * Get additional data related to the module.
+     * Returns true if successfully got info.
+     */
+    public DataMap getInfo() {
+    return info;
+    }
+
+    /**
+     * Returns the Test object corresponding to name, 
+     * or null if name not found in this module.
+     */
+    public TestData createTestData(String name) {
+    if (tests != null) {
+        Object[] td = tests.getEntry(name);
+        if (td != null) {
+        return createTestData(td);
+        }
+    }
+
+    return null;
+    }
+
+    /**
+     * Returns the Test object corresponding to index,
+     * or null if index is out of range for this module.
+     * No error logged if index is out of bounds, the assumption is that
+     * iteration is being used and proceeds until a null return.
+     */
+    public TestData createTestData(int index) {
+    if (tests != null) {
+        Object[] td = tests.getEntry(index);
+        if (td != null) {
+        return createTestData(td);
+        }
+    }
+    return null;
+    }
+
+    /**
+     * Return an unmodifiable list of the test data names, in index order.
+     */
+    public List getTestDataNames() {
+        if (tests != null) {
+            return Collections.unmodifiableList(Arrays.asList(tests.names()));
+        }
+        return null;
+    }
+
+    private TestData createTestData(Object[] d) {
+    return new RBTestData(this, (String)d[0], (Object[][])d[1], defaultHeaders);
+    }
+
+    /**
+     * Provides access to values either by index or by case-insensitive search on 
+     * the name.  Poor man's Map with index.
+     */
+    static abstract class NamedArray {
+    int txcache;
+    int count;
+
+    static NamedArray create(Object[][] pairs) {
+        return new NamedArrayOfPairs(pairs);
+    }
+
+    static NamedArray create(String[] names, Object[] values) {
+        return new NamedArrayTwoLists(names, values);
+    }
+
+    protected NamedArray(int count) {
+        this.count = count;
+    }
+
+    public final int count() {
+        return count;
+    }
+
+    public final boolean isDefined(String name) {
+        int ix = nameToIndex(name);
+        if (ix != -1) {
+        txcache = (ix == 0 ? count : ix) - 1;
+        return true;
+        }
+        return false;
+    }
+
+    public final Object[] getEntry(String name) {
+        return getEntry(nameToIndex(name));
+    }
+
+    public final Object getValue(String name) {
+        return getValue(nameToIndex(name));
+    }
+    
+    public final Object[] getEntry(int index) {
+        if (index >= 0 && index < count) {
+        return entryAtIndex(index);
+        }
+        return null;
+    }
+
+    public final Object getValue(int index) {
+        if (index >= 0 && index < count) {
+        return valueAtIndex(index);
+        }
+        return null;
+    }
+
+    public String[] names() {
+        if (count > 0) {
+        String[] result = new String[count];
+        for (int i = 0; i < count; ++i) {
+            result[i] = nameAtIndex(i);
+        }
+        return result;
+        }
+        return null;
+    }
+
+    public Object[] values() {
+        if (count > 0) {
+        Object[] result = new Object[count];
+        for (int i = 0; i < count; ++i) {
+            result[i] = valueAtIndex(i);
+        }
+        return result;
+        }
+        return null;
+    }
+
+    public String toString() {
+        StringBuffer buf = new StringBuffer(super.toString());
+        buf.append("count: " + count + "{");
+        for (int i = 0; i < count; ++i) {
+        buf.append("\n  { " + nameAtIndex(i) + ", " + valueAtIndex(i) + " }");
+        }
+        buf.append("}");
+        return buf.toString();
+    }
+
+    protected int nameToIndex(String name) {
+        if (name != null && count > 0) {
+        int i = txcache;
+        do {
+            if (++i == count) {
+            i = 0;
+            }
+            if (name.equalsIgnoreCase(nameAtIndex(i))) {
+            txcache = i;
+            return i;
+            }
+        } while (i != txcache);
+        }
+        return -1;
+    }
+
+    protected Object[] entryAtIndex(int index) {
+        return new Object[] { nameAtIndex(index), valueAtIndex(index) };
+    }
+
+    protected abstract String nameAtIndex(int index);
+    protected abstract Object valueAtIndex(int index);
+    }
+
+    /**
+     * NamedArray implemented using an array of name/value
+     * pairs, represented by an Object[][].
+     */
+    static final class NamedArrayOfPairs extends NamedArray {
+    private Object[][] data;
+
+    public NamedArrayOfPairs(Object[][] data) {
+        super(data == null ? -1 : data.length);
+        this.data = data;
+    }
+
+    protected Object[] entryAtIndex(int index) {
+        return data[index];
+    }
+
+    protected String nameAtIndex(int index) {
+        return (String)data[index][0];
+    }
+
+    protected Object valueAtIndex(int index) {
+        return data[index][1];
+    }
+    }
+
+    /**
+     * NamedArray implemented using two arrays, one of String and one of Object.
+     */
+    static final class NamedArrayTwoLists extends NamedArray {
+    String[] names;
+    Object[] values;
+
+    public NamedArrayTwoLists(String[] names, Object[] values) {
+        super (values != null && names != null && names.length == values.length ?
+           names.length :
+           -1);
+        this.names = names;
+        this.values = values;
+    }
+        
+    public String[] names() {
+        return names;
+    }
+
+    public Object[] values() {
+        return values;
+    }
+
+    protected String nameAtIndex(int index) {
+        return names[index];
+    }
+
+    protected Object valueAtIndex(int index) {
+        return values[index];
+    }
+    }
+
+    static class RBTestData extends TestData {
+    ResourceModule m;
+    RBDataMap info;
+    Object[] settings;
+    /** 
+     * changed to fit the c genrb format. this is actually Object[] {Object[]}
+     */
+    Object[] cases; 
+    String[] headers;
+    int sx;
+    int cx;
+
+    RBTestData(ResourceModule m, String name, Object[][] data, String[] defaultHeaders) {
+        super(name);
+        this.m = m;
+
+        NamedArray namedData = NamedArray.create(data);
+
+        try {
+        Object[][] temp = (Object[][])namedData.getValue(INFO);
+        if (temp != null) {
+            NamedArray na = NamedArray.create(temp);
+            if (na.count() < 1) {
+            m.log.errln("Bad data for " + INFO);
+            } else {
+            this.info = new RBDataMap(m.log, na, false);
+            }
+        }
+        } 
+        catch (ClassCastException e) {
+        m.log.errln("Test " + name + " in module " + m.getName() + " has bad type for " + INFO);
+        }
+
+        try {
+        this.settings = (Object[])namedData.getValue(SETTINGS);
+        }
+        catch (ClassCastException e) {
+        m.log.errln("Test " + name + " in module " + m.getName() + " has bad type for " + SETTINGS);
+        }
+
+        try {
+        this.cases = (Object[])namedData.getValue(CASES);
+        }
+        catch (ClassCastException e) {
+        m.log.errln("Test " + name + " in module " + m.getName() + " has bad type for " + CASES);
+        }
+
+        if (info != null) {
+        this.headers = info.getStringArray(HEADERS);
+        }
+        if (this.headers == null) {
+        this.headers = defaultHeaders;
+        }
+    }
+
+    /**
+     * Get additional data related to the test.
+     */
+    public DataMap getInfo() {
+        return info;
+    }
+
+    /**
+     * Returns DataMap with next settings and resets case iteration.
+     * If no more settings, terminates iteration and returns null.
+     */
+    public DataMap nextSettings() {
+        if (settings != null && sx < settings.length) {
+        cx = 0;
+        NamedArray na = NamedArray.create((Object[][])settings[sx++]);
+        if (na.count() < 0) {
+            m.log.errln("Bad settings data for settings " + (sx-1));
+            return null;
+        } else {
+            return new RBDataMap(m.log, na, false);
+        }
+        }
+        stopIteration();
+
+        return null;
+    }
+
+    /**
+     * Returns DataMap with next case.  If no next case, returns null.
+     */
+    public DataMap nextCase() {
+        if (cases != null && cx < cases.length) {
+        NamedArray na = NamedArray.create(headers, (Object[])cases[cx++]);
+        if (na.count() < 0) {
+            m.log.errln("Bad cases data for case " + (cx-1));
+        } else {
+            return new RBDataMap(m.log, na, true);
+        }
+        }
+        return null;
+    }
+
+    /**
+     * Stops iteration.
+     */
+    public void stopIteration() {
+        sx = cx = Integer.MAX_VALUE;
+    }
+    }
+    
+    static final class RBDataMap extends DataMap {
+    TestLog log;
+    NamedArray na;
+    boolean required;
+
+    RBDataMap(TestLog log, NamedArray na, boolean required) {
+        this.log = log;
+        this.na = na;
+        this.required = required;
+    }
+
+    public boolean isDefined(String key) {
+        return na.isDefined(key);
+    }
+
+    public Object getObject(String key) { 
+        Object result = na.getValue(key);
+        if (required && result == null) {
+        reportNullError(key);
+        }
+        return result;
+    }
+
+    public String getString(String key) { 
+        String result = null;
+        try {
+        result = (String)getObject(key);
+        }
+        catch (ClassCastException e) {
+        reportTypeError("String", key);
+        }
+        return result;
+    }
+
+    public char getChar(String key) { 
+        try {
+        String s = getString(key);
+        if (s != null) {
+            return s.charAt(0);
+        }
+        }
+        catch (IndexOutOfBoundsException e) {
+        reportTypeError("char", key);
+        }
+        return 0xffff;
+    }
+
+    public int getInt(String key) { 
+        try {
+        String s = getString(key);
+        if (s != null) {
+            return Integer.parseInt(s);
+        }
+        }
+        catch (NumberFormatException e) {
+        reportTypeError("int", key);
+        }
+        return -1;
+    }
+
+    public byte getByte(String key) { 
+        try {
+        String s = getString(key);
+        if (s != null) {
+            return Byte.parseByte(s);
+        }
+        }
+        catch (NumberFormatException e) {
+        reportTypeError("byte", key);
+        }
+        return (byte)-1;
+    }
+
+    public boolean getBoolean(String key) { 
+        String s = getString(key);
+        if (s != null) {
+        if (s.equalsIgnoreCase("true")) {
+            return true;
+        } else if (!s.equalsIgnoreCase("false")) {
+            reportTypeError("boolean", key);
+        }
+        }
+        return false;
+    }
+
+    public Object[] getObjectArray(String key) {
+        try {
+        Object[] result = (Object[])na.getValue(key);
+        if (result == null && required) {
+            reportNullError(key);
+        }
+        } catch (ClassCastException e) {
+        reportTypeError("Object[]", key);
+        }
+        return null;
+    }
+
+    public String[] getStringArray(String key) { 
+        try {
+        String[] result = (String[])na.getValue(key);
+        if (result == null && required) {
+            reportNullError(key);
+        }
+        return result;
+        }
+        catch (ClassCastException e) {
+        reportTypeError("String[]", key);
+        }
+        return null;
+    }
+
+    public char[] getCharArray(String key) { 
+        try {
+                return (char[])na.getValue(key);
+            }
+            catch (ClassCastException e) {
+            }
+            try{ 
+        String temp = (String)na.getValue(key);
+        if (temp == null) {
+            if (required) {
+            reportNullError(key);
+            }
+        } else {
+            return temp.toCharArray();
+        }
+        }
+        catch (ClassCastException e) {
+        reportTypeError("char[]", key);
+        }
+        return null;
+    }
+
+    public int[] getIntArray(String key) {
+        try {
+                return (int[])na.getValue(key);
+            }
+            catch (ClassCastException e) {
+            }
+        String[] data = getStringArray(key);
+        if (data != null) {
+        try {
+            int[] result = new int[data.length];
+            for (int i = 0; i < data.length; ++i) {
+            result[i] = Integer.parseInt(data[i]);
+            }
+            return result;
+        }
+        catch (NumberFormatException e) {
+            reportTypeError("int[]", key);
+        }
+        }
+        return null;
+    }
+
+    public byte[] getByteArray(String key) { 
+        try {
+                return (byte[])na.getValue(key);
+            }
+            catch (ClassCastException e) {
+            }
+        String[] data = getStringArray(key);
+        if (data != null) {
+        try {
+            byte[] result = new byte[data.length];
+            for (int i = 0; i < result.length; ++i) {
+            result[i] = Byte.parseByte(data[i]);
+            }
+            return result;
+        }
+        catch (NumberFormatException e) {
+            reportTypeError("byte[]", key);
+        }
+        }
+        return null;
+    }
+
+    public boolean[] getBooleanArray(String key) {
+        try {
+                return (boolean[])na.getValue(key);
+            }
+            catch (ClassCastException e) {
+            }
+        String[] data = getStringArray(key);
+        if (data != null) {
+        boolean[] result = new boolean[data.length];
+        for (int i = 0; i < result.length; ++i) {
+            String s = data[i];
+            if (s.equalsIgnoreCase("true")) {
+            result[i] = true;
+            } else if (s.equalsIgnoreCase("false")) {
+            result[i] = false;
+            } else {
+            reportTypeError("boolean[]", key);
+            return null;
+            }
+        }
+        return result;
+        }
+        return null;
+    }
+
+    private void reportNullError(String key) {
+        log.errln("Missing required value for '" + key + "'");
+    }
+
+    private void reportTypeError(String typeName, String key) {
+        log.errln("Could not return value of '" + key + "' (" + getObject(key) + ") as type '" + typeName + "'");
+    }
+    }
+}
diff --git a/src/com/ibm/icu/dev/test/TestAll.java b/src/com/ibm/icu/dev/test/TestAll.java
new file mode 100755
index 0000000..222f1e2
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/TestAll.java
@@ -0,0 +1,46 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.test;
+
+import com.ibm.icu.dev.test.TestFmwk.TestGroup;
+
+/**
+ * Top level test used to run all other tests as a batch.
+ */
+public class TestAll extends TestGroup {
+
+    public static void main(String[] args) {
+        new TestAll().run(args);
+    }
+
+    public TestAll() {
+        super(
+              new String[] {
+                  "com.ibm.icu.dev.test.format.TestAll",
+                  "com.ibm.icu.dev.test.compression.TestAll",
+                  "com.ibm.icu.dev.test.rbbi.TestAll",
+                  "com.ibm.icu.dev.test.translit.TestAll",
+                  "com.ibm.icu.dev.test.search.SearchTest", // not a group
+                  "com.ibm.icu.dev.test.collator.TestAll",
+                  "com.ibm.icu.dev.test.shaping.ArabicShapingRegTest",
+                  "com.ibm.icu.dev.test.calendar.TestAll",
+                  "com.ibm.icu.dev.test.timezone.TestAll",
+                  "com.ibm.icu.dev.test.lang.TestAll",
+                  "com.ibm.icu.dev.test.normalizer.TestAll",
+                  "com.ibm.icu.dev.test.util.TestAll",
+                  "com.ibm.icu.dev.test.iterator.TestUCharacterIterator", // not a group
+                  "com.ibm.icu.dev.test.bigdec.DiagBigDecimal", // not a group
+                  "com.ibm.icu.dev.test.impl.TestAll",
+                  "com.ibm.icu.dev.test.stringprep.TestAll",
+                  "com.ibm.icu.dev.test.timescale.TestAll",
+				  "com.ibm.icu.dev.test.charsetdet.TestCharsetDetector"
+              },
+              "All tests in ICU");
+    }
+
+    public static final String CLASS_TARGET_NAME  = "ICU";
+}
diff --git a/src/com/ibm/icu/dev/test/TestBoilerplate.java b/src/com/ibm/icu/dev/test/TestBoilerplate.java
new file mode 100644
index 0000000..e4a7147
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/TestBoilerplate.java
@@ -0,0 +1,192 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2004-2005, International Business Machines Corporation and         *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.test;
+
+import java.lang.reflect.Constructor;
+import java.lang.reflect.Method;
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.TreeSet;
+
+import com.ibm.icu.text.UnicodeSet;
+
+/**
+ * To use, override the abstract and the protected methods as necessary.
+ * Tests boilerplate invariants:
+ * <br>a.equals(a)
+ * <br>!a.equals(null)
+ * <br>if a.equals(b) then 
+ * <br>(1) a.hashCode() == b.hashCode  // note: the reverse is not necessarily true.
+ * <br>(2) a functions in all aspects as equivalent to b
+ * <br>(3) b.equals(a)
+ * <br>if b = clone(a)
+ * <br>(1) b.equals(a), and the above checks
+ * <br>(2) if mutable(a), then a.clone() != a // note: the reverse is not necessarily true.
+ * @author Davis
+ */
+public abstract class TestBoilerplate extends TestFmwk {
+
+    public final void TestMain() throws Exception {
+        List list = new LinkedList();
+        while (_addTestObject(list)) {
+        }
+        Object[] testArray = list.toArray();
+        for (int i = 0; i < testArray.length; ++i) {
+            //logln("Testing " + i);
+            Object a = testArray[i];
+            int aHash = a.hashCode();
+            if (a.equals(null)) {
+                errln("Equality/Null invariant fails: " + i);
+            }
+            if (!a.equals(a)) {
+                errln("Self-Equality invariant fails: " + i);
+            }
+            Object b;                
+            if (_canClone(a)) {
+                b = _clone(a);
+                if (b == a) {
+                    if (_isMutable(a)) {
+                        errln("Clone/Mutability invariant fails: " + i);
+                    }
+                } else {
+                    if (!a.equals(b)) {
+                        errln("Clone/Equality invariant fails: " + i);
+                    }
+                }
+                _checkEquals(i, -1, a, aHash, b);
+            }
+            for (int j = i; j < testArray.length; ++j) {
+                b = testArray[j];
+                if (a.equals(b)) _checkEquals(i, j, a, aHash, b);
+            }
+        }
+    }
+
+    private void _checkEquals(int i, int j, Object a, int aHash, Object b) {
+        int bHash = b.hashCode();
+        if (!b.equals(a)) errln("Equality/Symmetry",i, j);
+        if (aHash != bHash) errln("Equality/Hash",i, j);
+        if (a != b && !_hasSameBehavior(a,b)) {
+            errln("Equality/Equivalence",i, j);
+        }
+    }
+
+    private void errln(String title, int i, int j) {
+        if (j < 0) errln("Clone/" + title + "invariant fails: " + i);
+        else errln(title + "invariant fails: " + i + "," + j);
+    }
+
+    /**
+     * Must be overridden to check whether a and be behave the same
+     */
+    protected abstract boolean _hasSameBehavior(Object a, Object b);
+
+    /**
+     * This method will be called multiple times until false is returned.
+     * The results should be a mixture of different objects of the same
+     * type: some equal and most not equal.
+     * The subclasser controls how many are produced (recommend about 
+     * 100, based on the size of the objects and how costly they are
+     * to run this test on. The running time grows with the square of the
+     * count.
+     * NOTE: this method will only be called if the objects test as equal.
+     */
+    protected abstract boolean _addTestObject(List c);
+    /**
+     * Override if the tested objects are mutable.
+     * <br>Since Java doesn't tell us, we need a function to tell if so.
+     * The default is true, so must be overridden if not.
+     */
+    protected boolean _isMutable(Object a) {
+        return true;
+    }
+    /**
+     * Override if the tested objects can be cloned.
+     */
+    protected boolean _canClone(Object a) {
+        return true;
+    }
+    /**
+     * Produce a clone of the object. Tries two methods
+     * (a) clone
+     * (b) constructor
+     * Must be overridden if _canClone returns true and
+     * the above methods don't work.
+     * @param a
+     * @return clone
+     */
+    protected Object _clone(Object a) throws Exception {
+        Class aClass = a.getClass();
+        try {
+            Method cloner = aClass.getMethod("clone", null);
+            return cloner.invoke(a,null);
+        } catch (NoSuchMethodException e) {
+            Constructor constructor = aClass.getConstructor(new Class[] {aClass});
+            return constructor.newInstance(new Object[]{a});
+        }
+    }
+    
+    /* Utilities */
+    public static boolean verifySetsIdentical(AbstractTestLog here, UnicodeSet set1, UnicodeSet set2) {
+        if (set1.equals(set2)) return true;
+        here.errln("Sets differ:");
+        here.errln("UnicodeMap - HashMap");
+        here.errln(new UnicodeSet(set1).removeAll(set2).toPattern(true));
+        here.errln("HashMap - UnicodeMap");
+        here.errln(new UnicodeSet(set2).removeAll(set1).toPattern(true));
+        return false;
+    }
+
+    public static boolean verifySetsIdentical(AbstractTestLog here, Set values1, Set values2) {
+        if (values1.equals(values2)) return true;
+        Set temp;
+        here.errln("Values differ:");
+        here.errln("UnicodeMap - HashMap");
+        temp = new TreeSet(values1);
+        temp.removeAll(values2);
+        here.errln(show(temp));
+        here.errln("HashMap - UnicodeMap");
+        temp = new TreeSet(values2);
+        temp.removeAll(values1);
+        here.errln(show(temp));
+        return false;
+    }
+    
+    public static String show(Map m) {
+        StringBuffer buffer = new StringBuffer();
+        for (Iterator it = m.keySet().iterator(); it.hasNext();) {
+            Object key = it.next();
+            buffer.append(key + "=>" + m.get(key) + "\r\n");
+        }
+        return buffer.toString();
+    }
+    
+    public static UnicodeSet getSet(Map m, Object value) {
+        UnicodeSet result = new UnicodeSet();
+        for (Iterator it = m.keySet().iterator(); it.hasNext();) {
+            Object key = it.next();
+            Object val = m.get(key);
+            if (!val.equals(value)) continue;
+            result.add(((Integer)key).intValue());
+        }
+        return result;
+    }
+    
+    public static String show(Collection c) {
+        StringBuffer buffer = new StringBuffer();
+        for (Iterator it = c.iterator(); it.hasNext();) {
+            buffer.append(it.next() + "\r\n");
+        }
+        return buffer.toString();
+    }
+    
+
+}
diff --git a/src/com/ibm/icu/dev/test/TestDataModule.java b/src/com/ibm/icu/dev/test/TestDataModule.java
new file mode 100644
index 0000000..dd92793
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/TestDataModule.java
@@ -0,0 +1,166 @@
+/**
+ *******************************************************************************
+ * Copyright (C) 2001-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.test;
+
+import java.util.List;
+import java.util.ResourceBundle;
+
+/**
+ * Represents a collection of test data described in a file.
+ */
+public abstract class TestDataModule {
+    protected final String name;
+    protected final TestLog log;
+
+    /**
+     * Looks for file with corresponding name, either xml or resource
+     * bundle.  Returns module or null if not present.  
+     */
+    static final TestDataModule open(String name, TestLog log) {
+    ResourceBundle bundle = ResourceBundle.getBundle(name);
+    if (bundle != null) {
+        return new ResourceModule(name, log, bundle);
+    }
+    return null;
+    }
+
+    /**
+     * Subclass constructors call this.
+     */
+    protected TestDataModule(String name, TestLog log) {
+    this.name = name;
+    this.log = log;
+    }
+    
+    /**
+     * Return the name of this test module.
+     */
+    public final String getName() {
+    return name;
+    }
+
+    /**
+     * Return the log used by this module.  Errors logged to this
+     * log will terminate settings and cases iteration for the
+     * current test.
+     */
+    public final TestLog getLog() {
+    return log;
+    }
+
+    /**
+     * Get additional data related to the module, e.g. DESCRIPTION,
+     * global settings.  Might be null.
+     */
+    public abstract DataMap getInfo();
+
+    /**
+     * A standard datum that can be found in the DataMap returned by getInfo.
+     * DESCRIPTION provides a one-line description.  The corresponding type
+     * is a String.
+     */
+    public static final String DESCRIPTION = "Description";
+
+    /**
+     * A standard datum that can be found in the DataMap returned by
+     * getInfo.  LONG_DESCRIPTION provides an extended description.
+     * The corresponding type is a String.  
+     */
+    public static final String LONG_DESCRIPTION = "Long_Description";
+
+    /**
+     * The names of the columns of test data.  This can be found in
+     * either the module INFO or the test INFO.  If the test INFO
+     * does not define the headers then they are taken from the
+     * module.  If test cases are used by the test, then the headers
+     * must be defined.  Most clients will not need this information,
+     * since it is handled by the framework.
+     */
+    public static final String HEADERS = "Headers";
+
+    /**
+     * Returns the Test object corresponding to index, or null if
+     * index is out of range for this module.  No error logged if
+     * index is out of bounds, the assumption is that iteration is
+     * being used.  
+     */
+    public abstract TestData createTestData(int index);
+
+    /**
+     * Returns the TestData corresponding to name, or null if name not
+     * found in this module.  Logs error if name is not found.  
+     */
+    public abstract TestData createTestData(String name);
+
+    /**
+     * Return an unmodifiable list of the test data names, in index order.
+     */
+    public abstract List getTestDataNames();
+
+    /**
+     * Represents a single test in the module.
+     */
+    public abstract static class TestData {
+    String name;
+
+    protected TestData(String name) {
+        this.name = name;
+    }
+
+    public final String name() {
+        return name;
+    }
+
+    /**
+     * Get additional data related to the test, e.g. DESCRIPTION,
+     * LONG_DESCRIPTION, HEADERS, or other test-specific
+     * information.  
+     */
+    public abstract DataMap getInfo();
+
+    /**
+     * Returns new DataMap for next settings, and resets test case
+     * iteration.  Returns null if no more settings.  
+     */
+    public abstract DataMap nextSettings();
+
+    /**
+     * Returns new DataMap for next cases.  
+     * Returns null if no more cases.
+     */
+    public abstract DataMap nextCase();
+
+    /**
+     * Stops iteration of the test.  Usually called if some
+     * condition detects an error.
+     */
+    public abstract void stopIteration();
+    }
+
+    /**
+     * DataMap provides named access to typed data.  Lookup data by
+     * key and attempt to cast to indicated type.  If data not found
+     * or cast fails, log error and return null.  */
+    public abstract static class DataMap {
+    public abstract boolean    isDefined(String key);
+
+    public abstract Object     getObject(String key);
+    public abstract String     getString(String key);
+    public abstract char       getChar(String key);
+    public abstract int        getInt(String key);
+    public abstract byte       getByte(String key);
+    public abstract boolean    getBoolean(String key);
+
+    public abstract Object[]   getObjectArray(String key);
+    public abstract String[]   getStringArray(String key);
+    public abstract char[]     getCharArray(String key);
+    public abstract int[]      getIntArray(String key);
+    public abstract byte[]     getByteArray(String key);
+    public abstract boolean[]  getBooleanArray(String key);
+    }
+}
+    
diff --git a/src/com/ibm/icu/dev/test/TestFmwk.java b/src/com/ibm/icu/dev/test/TestFmwk.java
new file mode 100755
index 0000000..b780dba
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/TestFmwk.java
@@ -0,0 +1,1642 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.test;
+
+import com.ibm.icu.text.UTF16;
+import com.ibm.icu.text.DecimalFormat;
+import com.ibm.icu.text.NumberFormat;
+import com.ibm.icu.util.TimeZone;
+import com.ibm.icu.util.ULocale;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.io.PrintStream;
+import java.io.PrintWriter;
+import java.io.Writer;
+import java.lang.reflect.Field;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Comparator;
+import java.util.Locale;
+import java.util.MissingResourceException;
+import java.util.Random;
+
+/**
+ * TestFmwk is a base class for tests that can be run conveniently from the
+ * command line as well as under the Java test harness.
+ * <p>
+ * Sub-classes implement a set of methods named Test <something>. Each of these
+ * methods performs some test. Test methods should indicate errors by calling
+ * either err or errln. This will increment the errorCount field and may
+ * optionally print a message to the log. Debugging information may also be
+ * added to the log via the log and logln methods. These methods will add their
+ * arguments to the log only if the test is being run in verbose mode.
+ */
+public class TestFmwk extends AbstractTestLog {
+    /**
+     * Puts a copyright in the .class file
+     */
+    private static final String copyrightNotice = "Copyright \u00a91997-2003 IBM Corp.  All rights reserved.";
+
+    /**
+     * The default time zone for all of our tests. Used in Target.run();
+     */
+    private final static TimeZone defaultTimeZone = TimeZone.getTimeZone("PST");
+
+    /**
+     * The default locale used for all of our tests. Used in Target.run();
+     */
+    private final static Locale defaultLocale = Locale.US;
+
+    public static final class TestFmwkException extends Exception {
+        TestFmwkException(String msg) {
+            super(msg);
+        }
+    }
+    protected void handleException(Throwable e){
+        Throwable ex = e.getCause();
+        if(ex==null){
+            ex = e;
+        }
+        if(ex instanceof ExceptionInInitializerError){
+            ex = ((ExceptionInInitializerError)ex).getException();
+        }
+        
+        String msg = ex.getMessage();
+        if (ex instanceof MissingResourceException || ex instanceof NoClassDefFoundError) {
+            if (params.warnings || params.nodata) {
+                warnln(msg);
+            } else if (params.nothrow) {
+                errln(msg);
+                ex.printStackTrace();
+            } else {
+                ex.printStackTrace();
+                throw new RuntimeException(msg);
+            }
+        } else {
+            if (params.nothrow) {
+                errln(msg);
+                ex.printStackTrace();
+            } else {
+                ex.printStackTrace();
+                throw new RuntimeException(msg);
+            }
+        }
+    }
+    // use this instead of new random so we get a consistent seed
+    // for our tests
+    protected Random createRandom() {
+        return new Random(params.seed);
+    }
+
+    /**
+     * A test that has no test methods itself, but instead runs other tests.
+     * 
+     * This overrides methods are getTargets and getSubtest from TestFmwk.
+     * 
+     * If you want the default behavior, pass an array of class names and an
+     * optional description to the constructor. The named classes must extend
+     * TestFmwk. If a provided name doesn't include a ".", package name is
+     * prefixed to it (the package of the current test is used if none was
+     * provided in the constructor). The resulting full name is used to
+     * instantiate an instance of the class using the default constructor.
+     * 
+     * Class names are resolved to classes when getTargets or getSubtest is
+     * called. This allows instances of TestGroup to be compiled and run without
+     * all the targets they would normally invoke being available.
+     */
+    public static abstract class TestGroup extends TestFmwk {
+        private String defaultPackage;
+        private String[] names;
+        private String description;
+
+        private Class[] tests; // deferred init
+
+        /**
+         * Constructor that takes a default package name and a list of class
+         * names. Adopts and modifies the classname list
+         */
+        protected TestGroup(String defaultPackage, String[] classnames,
+                String description) {
+            if (classnames == null) {
+                throw new InternalError("classnames must not be null");
+            }
+
+            if (defaultPackage == null) {
+                defaultPackage = getClass().getPackage().getName();
+            }
+            defaultPackage = defaultPackage + ".";
+
+            this.defaultPackage = defaultPackage;
+            this.names = classnames;
+            this.description = description;
+        }
+
+        /**
+         * Constructor that takes a list of class names and a description, and
+         * uses the package for this class as the default package.
+         */
+        protected TestGroup(String[] classnames, String description) {
+            this(null, classnames, description);
+        }
+
+        /**
+         * Constructor that takes a list of class names, and uses the package
+         * for this class as the default package.
+         */
+        protected TestGroup(String[] classnames) {
+            this(null, classnames, null);
+        }
+
+        protected String getDescription() {
+            return description;
+        }
+
+        protected Target getTargets(String targetName) {
+            Target target = null;
+            if (targetName != null) {
+                finishInit(); // hmmm, want to get subtest without initializing
+                              // all tests
+
+                try {
+                    TestFmwk test = getSubtest(targetName);
+                    if (test != null) {
+                        target = test.new ClassTarget();
+                    } else {
+                        target = this.new Target(targetName);
+                    }
+                } catch (TestFmwkException e) {
+                    target = this.new Target(targetName);
+                }
+            } else if (params.doRecurse()) {
+                finishInit();
+                boolean groupOnly = params.doRecurseGroupsOnly();
+                for (int i = names.length; --i >= 0;) {
+                    Target newTarget = null;
+                    Class cls = tests[i];
+                    if (cls == null) { // hack no warning for missing tests
+                        if (params.warnings) {
+                            continue;
+                        } else {
+                            newTarget = this.new Target(names[i]);
+                        }
+                    } else {
+                        TestFmwk test = getSubtest(i, groupOnly);
+                        if (test != null) {
+                            newTarget = test.new ClassTarget();
+                        } else {
+                            if (groupOnly) {
+                                newTarget = this.new EmptyTarget(names[i]);
+                            } else {
+                                newTarget = this.new Target(names[i]);
+                            }
+                        }
+                    }
+                    if (newTarget != null) {
+                        newTarget.setNext(target);
+                        target = newTarget;
+                    }
+                }
+            }
+
+            return target;
+        }
+        protected TestFmwk getSubtest(String testName) throws TestFmwkException {
+            finishInit();
+
+            for (int i = 0; i < names.length; ++i) {
+                if (names[i].equalsIgnoreCase(testName)) { // allow
+                                                           // case-insensitive
+                                                           // matching
+                    return getSubtest(i, false);
+                }
+            }
+            throw new TestFmwkException(testName);
+        }
+
+        private TestFmwk getSubtest(int i, boolean groupOnly) {
+            Class cls = tests[i];
+            if (cls != null) {
+                if (groupOnly && !TestGroup.class.isAssignableFrom(cls)) {
+                    return null;
+                }
+
+                try {
+                    TestFmwk subtest = (TestFmwk) cls.newInstance();
+                    subtest.params = params;
+                    return subtest;
+                } catch (InstantiationException e) {
+                    throw new InternalError(e.getMessage());
+                } catch (IllegalAccessException e) {
+                    throw new InternalError(e.getMessage());
+                }
+            }
+            return null;
+        }
+
+        private void finishInit() {
+            if (tests == null) {
+                tests = new Class[names.length];
+
+                for (int i = 0; i < names.length; ++i) {
+                    String name = names[i];
+                    if (name.indexOf('.') == -1) {
+                        name = defaultPackage + name;
+                    }
+                    try {
+                        Class cls = Class.forName(name);
+                        if (!TestFmwk.class.isAssignableFrom(cls)) {
+                            throw new InternalError("class " + name
+                                    + " does not extend TestFmwk");
+                        }
+
+                        tests[i] = cls;
+                        names[i] = getClassTargetName(cls);
+                    } catch (ClassNotFoundException e) {
+                        // leave tests[i] null and name as classname
+                    }
+                }
+            }
+        }
+    }
+
+    /**
+     * The default target is invalid.
+     */
+    public class Target {
+        private Target next;
+        public final String name;
+
+        public Target(String name) {
+            this.name = name;
+        }
+
+        public Target setNext(Target next) {
+            this.next = next;
+            return this;
+        }
+
+        public Target getNext() {
+            return next;
+        }
+
+        public void run() throws Exception {
+            int f = filter();
+            if (f == -1) {
+                ++params.invalidCount;
+            } else {
+                Locale.setDefault(defaultLocale);
+                TimeZone.setDefault(defaultTimeZone);
+
+                if (!validate()) {
+                    params.writeTestInvalid(name);
+                } else {
+                    params.push(name, getDescription(), f == 1);
+                    execute();
+                    params.pop();
+                }
+            }
+        }
+
+        protected int filter() {
+            return params.filter(name);
+        }
+
+        protected boolean validate() {
+            return false;
+        }
+
+        protected String getDescription() {
+            return null;
+        }
+
+        protected void execute() throws Exception{
+        }
+    }
+
+    public class EmptyTarget extends Target {
+        public EmptyTarget(String name) {
+            super(name);
+        }
+
+        protected boolean validate() {
+            return true;
+        }
+    }
+
+    public class MethodTarget extends Target {
+        private Method testMethod;
+
+        public MethodTarget(String name, Method method) {
+            super(name);
+            testMethod = method;
+        }
+
+        protected boolean validate() {
+            return testMethod != null && validateMethod(name);
+        }
+
+        protected String getDescription() {
+            return getMethodDescription(name);
+        }
+
+        protected void execute() throws Exception{
+            if (params.inDocMode()) {
+                // nothing to execute
+            } else if (!params.stack.included) {
+                ++params.invalidCount;
+            } else {
+                final Object[] NO_ARGS = new Object[0];
+                try {
+                    ++params.testCount;
+                    init();
+                    testMethod.invoke(TestFmwk.this, NO_ARGS);
+                } catch (IllegalAccessException e) {
+                    errln("Can't access test method " + testMethod.getName());
+                }catch (ExceptionInInitializerError e){
+                    handleException(e);
+                } catch (InvocationTargetException e) {
+                    handleException(e);
+                }catch (MissingResourceException e) {
+                    handleException(e);
+                }catch (NoClassDefFoundError e) {
+                    handleException(e);
+                }
+            }
+        }
+
+        private String getStackTrace(InvocationTargetException e) {
+            ByteArrayOutputStream bs = new ByteArrayOutputStream();
+            PrintStream ps = new PrintStream(bs);
+            e.getTargetException().printStackTrace(ps);
+            return bs.toString();
+        }
+    }
+
+    public class ClassTarget extends Target {
+        String targetName;
+
+        public ClassTarget() {
+            this(null);
+        }
+
+        public ClassTarget(String targetName) {
+            super(getClassTargetName(TestFmwk.this.getClass()));
+            this.targetName = targetName;
+        }
+
+        protected boolean validate() {
+            return TestFmwk.this.validate();
+        }
+
+        protected String getDescription() {
+            return TestFmwk.this.getDescription();
+        }
+
+        protected void execute() throws Exception {
+            params.indentLevel++;
+            Target target = randomize(getTargets(targetName));
+            while (target != null) {
+                target.run();
+                target = target.next;
+            }
+            params.indentLevel--;
+        }
+
+        private Target randomize(Target t) {
+            if (t != null && t.getNext() != null) {
+                ArrayList list = new ArrayList();
+                while (t != null) {
+                    list.add(t);
+                    t = t.getNext();
+                }
+
+                Target[] arr = (Target[]) list.toArray(new Target[list.size()]);
+
+                if (true) { // todo - add to params?
+                    // different jvms return class methods in different orders,
+                    // so we sort them (always, and then randomize them, so that
+                    // forcing a seed will also work across jvms).
+                    Arrays.sort(arr, new Comparator() {
+                        public int compare(Object lhs, Object rhs) {
+                            // sort in reverse order, later we link up in
+                            // forward order
+                            return ((Target) rhs).name
+                                    .compareTo(((Target) lhs).name);
+                        }
+                    });
+
+                    // t is null to start, ends up as first element
+                    // (arr[arr.length-1])
+                    for (int i = 0; i < arr.length; ++i) {
+                        t = arr[i].setNext(t); // relink in forward order
+                    }
+                }
+
+                if (params.random != null) {
+                    t = null; // reset t to null
+                    Random r = params.random;
+                    for (int i = arr.length; --i >= 1;) {
+                        int x = r.nextInt(i + 1);
+                        t = arr[x].setNext(t);
+                        arr[x] = arr[i];
+                    }
+
+                    t = arr[0].setNext(t); // new first element
+                }
+            }
+
+            return t;
+        }
+    }
+
+    //------------------------------------------------------------------------
+    // Everything below here is boilerplate code that makes it possible
+    // to add a new test by simply adding a function to an existing class
+    //------------------------------------------------------------------------
+
+    protected TestFmwk() {
+    }
+    protected void init() throws Exception{
+    
+    }
+    /**
+     * Parse arguments into a TestParams object and a collection of target
+     * paths. If there was an error parsing the TestParams, print usage and exit
+     * with -1. Otherwise, call resolveTarget(TestParams, String) for each path,
+     * and run the returned target. After the last test returns, if prompt is
+     * set, prompt and wait for input from stdin. Finally, exit with number of
+     * errors.
+     * 
+     * This method never returns, since it always exits with System.exit();
+     */
+    public void run(String[] args) {
+        TestParams params = new TestParams();
+
+        ArrayList targets = null;
+        boolean prompt = false;
+        int exitCode = 0;
+        boolean usageError = false;
+        String filter = null;
+
+        for (int i = 0; i < args.length; i++) {
+            String arg = args[i];
+            if (arg.charAt(0) == '-') {
+                arg = arg.toLowerCase();
+                if (arg.equals("-verbose") || arg.equals("-v")) {
+                    params.verbose = true;
+                    params.quiet = false;
+                } else if (arg.equals("-quiet") || arg.equals("-q")) {
+                    params.quiet = true;
+                    params.verbose = false;
+                } else if (arg.equals("-help") || arg.equals("-h")) {
+                    usageError = true;
+                } else if (arg.equals("-warning") || arg.equals("-w")) {
+                    params.warnings = true;
+                } else if (arg.equals("-nodata") || arg.equals("-nd")) {
+                    params.nodata = true;
+                } else if (arg.equals("-prompt")) {
+                    prompt = true;
+                } else if (arg.equals("-list") || arg.equals("-l")) {
+                    params.listlevel = 1;
+                } else if (arg.equals("-listall") || arg.equals("-la")) {
+                    params.listlevel = 2;
+                } else if (arg.equals("-listexaustive") || arg.equals("-le")) {
+                    params.listlevel = 3;
+                } else if (arg.equals("-memory") || arg.equals("-m")) {
+                    params.memusage = true;
+                } else if (arg.equals("-nothrow") || arg.equals("-n")) {
+                    params.nothrow = true;
+                    params.errorSummary = new StringBuffer();
+                } else if (arg.equals("-describe") || arg.equals("-d")) {
+                    params.describe = true;
+                } else if (arg.startsWith("-r")) {
+                    String s = null;
+                    int n = arg.indexOf(':');
+                    if (n != -1) {
+                        s = arg.substring(n + 1);
+                        arg = arg.substring(0, n);
+                    }
+
+                    if (arg.equals("-r") || arg.equals("-random")) {
+                        if (s == null) {
+                            params.seed = System.currentTimeMillis();
+                        } else {
+                            params.seed = Long.parseLong(s);
+                        }
+                    } else {
+                        System.out.println("*** Error: unrecognized argument: "
+                                + arg);
+                        exitCode = 1;
+                        usageError = true;
+                    }
+                } else if (arg.startsWith("-e")) {
+                    // see above
+                    params.inclusion = (arg.length() == 2) ? 5 : Integer
+                            .parseInt(arg.substring(2));
+                    if (params.inclusion < 0 || params.inclusion > 10) {
+                        usageError = true;
+                    }
+                } else if (arg.startsWith("-tfilter:")) {
+                    params.tfilter = arg.substring(8);
+                } else if (arg.startsWith("-time") || arg.startsWith("-t")) {
+                    long val = 0;
+                    int inx = arg.indexOf(':');
+                    if (inx > 0) {
+                        String num = arg.substring(inx + 1);
+                        try {
+                            val = Long.parseLong(num);
+                        } catch (Exception e) {
+                            System.out
+                                    .println("*** Error: could not parse time threshold '"
+                                            + num + "'");
+                            System.exit(1);
+                        }
+                    }
+                    params.timing = val;
+                    String fmt = "#,00s";
+                    if (val <= 10) {
+                        fmt = "#,##0.000s";
+                    } else if (val <= 100) {
+                        fmt = "#,##0.00s";
+                    } else if (val <= 1000) {
+                        fmt = "#,##0.0s";
+                    }
+                    params.tformat = new DecimalFormat(fmt);
+                } else if (arg.startsWith("-filter:")) {
+                    String temp = arg.substring(8).toLowerCase();
+                    filter = filter == null ? temp : filter + "," + temp;
+                } else if (arg.startsWith("-f:")) {
+                    String temp = arg.substring(3).toLowerCase();
+                    filter = filter == null ? temp : filter + "," + temp;
+                } else if (arg.startsWith("-s")) {
+                    params.log = new NullWriter();
+                } else {
+                    System.out.println("*** Error: unrecognized argument: "
+                            + args[i]);
+                    exitCode = 1;
+                    usageError = true;
+                }
+            } else {
+                if (targets == null) {
+                    targets = new ArrayList();
+                }
+                targets.add(arg);
+            }
+        }
+
+        if (usageError) {
+            usage();
+            System.exit(exitCode);
+        }
+
+        if (filter != null) {
+            params.filter = filter.toLowerCase();
+        }
+
+        try {
+            if (targets == null) {
+                params.init();
+                resolveTarget(params).run();
+            } else {
+                for (int i = 0; i < targets.size(); ++i) {
+                    if (i > 0) {
+                        System.out.println();
+                    }
+
+                    //String target = (String)targets.get(i);
+                    params.init();
+                    resolveTarget(params, (String) targets.get(i)).run();
+                }
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+            System.out.println(e.getMessage());
+            System.out.println("encountered exception, exiting");
+        }
+
+        if (params.seed != 0) {
+            System.out.println("-random:" + params.seed);
+            System.out.flush();
+        }
+
+        if (params.errorSummary != null && params.errorSummary.length() > 0) {
+            System.out.println("\nError summary:");
+            System.out.println(params.errorSummary.toString());
+        }
+
+        if (prompt) {
+            System.out.println("Hit RETURN to exit...");
+            try {
+                System.in.read();
+            } catch (IOException e) {
+                System.out.println("Exception: " + e.toString()
+                        + e.getMessage());
+            }
+        }
+
+        System.exit(params.errorCount);
+    }
+
+    /**
+     * Return a ClassTarget for this test. Params is set on this test.
+     */
+    public Target resolveTarget(TestParams params) {
+        this.params = params;
+        return new ClassTarget();
+    }
+
+    /**
+     * Resolve a path from this test to a target. If this test has subtests, and
+     * the path contains '/', the portion before the '/' is resolved to a
+     * subtest, until the path is consumed or the test has no subtests. Returns
+     * a ClassTarget created using the resolved test and remaining path (which
+     * ought to be null or a method name). Params is set on the target's test.
+     */
+    public Target resolveTarget(TestParams params, String targetPath) {
+        TestFmwk test = this;
+        test.params = params;
+
+        if (targetPath != null) {
+            if (targetPath.length() == 0) {
+                targetPath = null;
+            } else {
+                int p = 0;
+                int e = targetPath.length();
+
+                // trim all leading and trailing '/'
+                while (targetPath.charAt(p) == '/') {
+                    ++p;
+                }
+                while (e > p && targetPath.charAt(e - 1) == '/') {
+                    --e;
+                }
+                if (p > 0 || e < targetPath.length()) {
+                    targetPath = targetPath.substring(p, e - p);
+                    p = 0;
+                    e = targetPath.length();
+                }
+
+                try {
+                    for (;;) {
+                        int n = targetPath.indexOf('/');
+                        String prefix = n == -1 ? targetPath : targetPath
+                                .substring(0, n);
+                        TestFmwk subtest = test.getSubtest(prefix);
+
+                        if (subtest == null) {
+                            break;
+                        }
+
+                        test = subtest;
+
+                        if (n == -1) {
+                            targetPath = null;
+                            break;
+                        }
+
+                        targetPath = targetPath.substring(n + 1);
+                    }
+                } catch (TestFmwkException ex) {
+                    return test.new Target(targetPath);
+                }
+            }
+        }
+
+        return test.new ClassTarget(targetPath);
+    }
+
+    /**
+     * Return true if we can run this test (allows test to inspect jvm,
+     * environment, params before running)
+     */
+    protected boolean validate() {
+        return true;
+    }
+
+    /**
+     * Return the targets for this test. If targetName is null, return all
+     * targets, otherwise return a target for just that name. The returned
+     * target can be null.
+     * 
+     * The default implementation returns a MethodTarget for each public method
+     * of the object's class whose name starts with "Test" or "test".
+     */
+    protected Target getTargets(String targetName) {
+        Class cls = getClass();
+        if (targetName != null) {
+            try {
+                Method method = cls.getMethod(targetName, null);
+                return new MethodTarget(targetName, method);
+            } catch (NoSuchMethodException e) {
+                return new Target(targetName); // invalid target
+            } catch (SecurityException e) {
+                return null;
+            }
+        } else {
+            Target target = null;
+            if (params.doMethods()) {
+                Method[] methods = cls.getDeclaredMethods();
+                for (int i = methods.length; --i >= 0;) {
+                    String name = methods[i].getName();
+                    if (name.startsWith("Test") || name.startsWith("test")) {
+                        target = new MethodTarget(name, methods[i])
+                                .setNext(target);
+                    }
+                }
+            }
+            return target;
+        }
+    }
+
+    protected String getDescription() {
+        return null;
+    }
+
+    protected boolean validateMethod(String name) {
+        return true;
+    }
+
+    protected String getMethodDescription(String name) {
+        return null;
+    }
+
+    // method tests have no subtests, group tests override
+    protected TestFmwk getSubtest(String prefix) throws TestFmwkException {
+        return null;
+    }
+
+    public boolean isVerbose() {
+        return params.verbose;
+    }
+
+    public boolean noData() {
+        return params.nodata;
+    }
+
+    public boolean isTiming() {
+        return params.timing < Long.MAX_VALUE;
+    }
+
+    public boolean isMemTracking() {
+        return params.memusage;
+    }
+
+    /**
+     * 0 = fewest tests, 5 is normal build, 10 is most tests
+     */
+    public int getInclusion() {
+        return params.inclusion;
+    }
+
+    public boolean isModularBuild() {
+        return params.warnings;
+    }
+
+    public boolean isQuick() {
+        return params.inclusion == 0;
+    }
+
+    public void msg(String message, int level, boolean incCount, boolean newln) {
+        params.msg(message, level, incCount, newln);
+    }
+
+    protected int getErrorCount() {
+        return params.errorCount;
+    }
+
+    protected TimeZone safeGetTimeZone(String id) {
+        TimeZone tz = TimeZone.getTimeZone(id);
+        if (tz == null) {
+            // should never happen
+            errln("FAIL: TimeZone.getTimeZone(" + id + ") => null");
+        }
+        if (!tz.getID().equals(id)) {
+            errln("FAIL: TimeZone.getTimeZone(" + id + ") => " + tz.getID());
+        }
+        return tz;
+    }
+
+    /**
+     * Print a usage message for this test class.
+     */
+    void usage() {
+        System.out.println("Usage: " + getClass().getName()
+                + " option* target*");
+        System.out.println();
+        System.out.println("Options:");
+        System.out
+                .println(" -describe Print a short descriptive string for this test and all");
+        System.out.println("       listed targets.");
+        System.out
+                .println(" -e<n> Set exhaustiveness from 0..10.  Default is 0, fewest tests.\n"
+                        + "       To run all tests, specify -e10.  Giving -e with no <n> is\n"
+                        + "       the same as -e5.");
+        System.out
+                .println(" -filter:<str> Only tests matching filter will be run or listed.\n"
+                        + "       <str> is of the form ['^']text[','['^']text].\n"
+                        + "       Each string delimited by ',' is a separate filter argument.\n"
+                        + "       If '^' is prepended to an argument, its matches are excluded.\n"
+                        + "       Filtering operates on test groups as well as tests, if a test\n"
+                        + "       group is included, all its subtests that are not excluded will\n"
+                        + "       be run.  Examples:\n"
+                        + "    -filter:A -- only tests matching A are run.  If A matches a group,\n"
+                        + "       all subtests of this group are run.\n"
+                        + "    -filter:^A -- all tests except those matching A are run.  If A matches\n"
+                        + "        a group, no subtest of that group will be run.\n"
+                        + "    -filter:A,B,^C,^D -- tests matching A or B and not C and not D are run\n"
+                        + "       Note: Filters are case insensitive.");
+        System.out.println(" -h[elp] Print this help text and exit.");
+        System.out.println(" -l[ist] List immediate targets of this test");
+        System.out
+                .println("   -la, -listAll List immediate targets of this test, and all subtests");
+        System.out
+                .println("   -le, -listExaustive List all subtests and targets");
+        // don't know how to get useful numbers for memory usage using java API
+        // calls
+        //      System.out.println(" -m[emory] print memory usage and force gc for
+        // each test");
+        System.out
+                .println(" -n[othrow] Message on test failure rather than exception");
+        System.out.println(" -prompt Prompt before exiting");
+        System.out.println(" -q[uiet] Do not show warnings");
+        System.out
+                .println(" -r[andom][:<n>] If present, randomize targets.  If n is present,\n"
+                        + "       use it as the seed.  If random is not set, targets will\n"
+                        + "       be in alphabetical order to ensure cross-platform consistency.");
+        System.out
+                .println(" -s[ilent] No output except error summary or exceptions.");
+        System.out
+                .println(" -tfilter:<str> Transliterator Test filter of ids.");
+        System.out
+                .println(" -t[ime][:<n>] Print elapsed time for each test.  if n is present\n"
+                        + "       only print times >= n milliseconds.");
+        System.out.println(" -v[erbose] Show log messages");
+        System.out
+                .println(" -w[arning] Continue in presence of warnings, and disable missing test warnings.");
+        System.out
+                .println(" -nodata | -nd Do not warn if resource data is not present.");
+        System.out.println();
+        System.out
+                .println(" If a list or describe option is provided, no tests are run.");
+        System.out.println();
+        System.out.println("Targets:");
+        System.out
+                .println(" If no target is specified, all targets for this test are run.");
+        System.out
+                .println(" If a target contains no '/' characters, and matches a target");
+        System.out
+                .println(" of this test, the target is run.  Otherwise, the part before the");
+        System.out
+                .println(" '/' is used to match a subtest, which then evaluates the");
+        System.out
+                .println(" remainder of the target as above.  Target matching is case-insensitive.");
+        System.out.println();
+        System.out
+                .println(" If multiple targets are provided, each is executed in order.");
+    }
+
+    public static String hex(char ch) {
+        StringBuffer result = new StringBuffer();
+        String foo = Integer.toString(ch, 16).toUpperCase();
+        for (int i = foo.length(); i < 4; ++i) {
+            result.append('0');
+        }
+        return result + foo;
+    }
+
+    public static String hex(int ch) {
+        StringBuffer result = new StringBuffer();
+        String foo = Integer.toString(ch, 16).toUpperCase();
+        for (int i = foo.length(); i < 4; ++i) {
+            result.append('0');
+        }
+        return result + foo;
+    }
+
+    public static String hex(String s) {
+        StringBuffer result = new StringBuffer();
+        for (int i = 0; i < s.length(); ++i) {
+            if (i != 0)
+                result.append(',');
+            result.append(hex(s.charAt(i)));
+        }
+        return result.toString();
+    }
+
+    public static String hex(StringBuffer s) {
+        return hex(s.toString());
+    }
+    public static String prettify(String s) {
+        StringBuffer result = new StringBuffer();
+        int ch;
+        for (int i = 0; i < s.length(); i += UTF16.getCharCount(ch)) {
+            ch = UTF16.charAt(s, i);
+            if (ch > 0xfffff) {
+                result.append("\\U00");
+                result.append(hex(ch));
+            } else if (ch > 0xffff) {
+                result.append("\\U000");
+                result.append(hex(ch));
+            } else if (ch > 0x7f) {
+                result.append("\\u");
+                result.append(hex(ch));
+            } else {
+                result.append((char) ch);
+            }
+
+        }
+        return result.toString();
+    }
+    public static String prettify(StringBuffer s) {
+        return prettify(s.toString());
+    }
+
+    private static java.util.GregorianCalendar cal;
+
+    /**
+     * Return a Date given a year, month, and day of month. This is similar to
+     * new Date(y-1900, m, d). It uses the default time zone at the time this
+     * method is first called.
+     * 
+     * @param year
+     *            use 2000 for 2000, unlike new Date()
+     * @param month
+     *            use Calendar.JANUARY etc.
+     * @param dom
+     *            day of month, 1-based
+     * @return a Date object for the given y/m/d
+     */
+    protected static synchronized java.util.Date getDate(int year, int month,
+            int dom) {
+        if (cal == null) {
+            cal = new java.util.GregorianCalendar();
+        }
+        cal.clear();
+        cal.set(year, month, dom);
+        return cal.getTime();
+    }
+
+    private static class NullWriter extends PrintWriter {
+        public NullWriter() {
+            super(System.out, false);
+        }
+        public void write(int c) {
+        }
+        public void write(char[] buf, int off, int len) {
+        }
+        public void write(String s, int off, int len) {
+        }
+        public void println() {
+        }
+    }
+
+    private static class ASCIIWriter extends PrintWriter {
+        private Writer w;
+        private StringBuffer buffer = new StringBuffer();
+
+        // Characters that we think are printable but that escapeUnprintable
+        // doesn't
+        private static final String PRINTABLES = "\t\n\r";
+
+        public ASCIIWriter(Writer w, boolean autoFlush) {
+            super(w, autoFlush);
+        }
+
+        public ASCIIWriter(OutputStream os, boolean autoFlush) {
+            super(os, autoFlush);
+        }
+
+        public void write(int c) {
+            synchronized (lock) {
+                buffer.setLength(0);
+                if (PRINTABLES.indexOf(c) < 0
+                        && TestUtil.escapeUnprintable(buffer, c)) {
+                    super.write(buffer.toString());
+                } else {
+                    super.write(c);
+                }
+            }
+        }
+
+        public void write(char[] buf, int off, int len) {
+            synchronized (lock) {
+                buffer.setLength(0);
+                int limit = off + len;
+                while (off < limit) {
+                    int c = UTF16Util.charAt(buf, 0, buf.length, off);
+                    off += UTF16Util.getCharCount(c);
+                    if (PRINTABLES.indexOf(c) < 0
+                            && TestUtil.escapeUnprintable(buffer, c)) {
+                        super.write(buffer.toString());
+                        buffer.setLength(0);
+                    } else {
+                        super.write(c);
+                    }
+                }
+            }
+        }
+
+        public void write(String s, int off, int len) {
+            write(s.substring(off, off + len).toCharArray(), 0, len);
+        }
+    }
+
+    // filters
+    // match against the entire hierarchy
+    // A;B;!C;!D --> (A ||B) && (!C && !D)
+    // positive, negative, unknown matches
+    // positive -- known to be included, negative- known to be excluded
+    // positive only if no excludes, and matches at least one include, if any
+    // negative only if matches at least one exclude
+    // otherwise, we wait
+
+    public static class TestParams {
+        public boolean prompt;
+        public boolean nothrow;
+        public boolean verbose;
+        public boolean quiet;
+        public int listlevel;
+        public boolean describe;
+        public boolean warnings;
+        public boolean nodata;
+        public long timing = Long.MAX_VALUE;
+        public boolean memusage;
+        public int inclusion;
+        public String filter;
+        public long seed;
+        public String tfilter; // for transliterator tests
+
+        private State stack;
+
+        private StringBuffer errorSummary;
+
+        private PrintWriter log = new ASCIIWriter(System.out, true);
+        private int indentLevel;
+        private boolean needLineFeed;
+        private boolean suppressIndent;
+        private int errorCount;
+        private int warnCount;
+        private int invalidCount;
+        private int testCount;
+        private NumberFormat tformat;
+        public Random random;
+
+        public void init() {
+            indentLevel = 0;
+            needLineFeed = false;
+            suppressIndent = false;
+            errorCount = 0;
+            warnCount = 0;
+            invalidCount = 0;
+            testCount = 0;
+            random = seed == 0 ? null : new Random(seed);
+        }
+
+        private class State {
+            State link;
+            String name;
+            StringBuffer buffer;
+            int level;
+            int ec;
+            int wc;
+            int ic;
+            int tc;
+            boolean flushed;
+            boolean included;
+            long mem;
+            long millis;
+
+            public State(State link, String name, boolean included) {
+                this.link = link;
+                this.name = name;
+                if (link == null) {
+                    this.level = 0;
+                    this.included = included;
+                } else {
+                    this.level = link.level + 1;
+                    this.included = included || link.included;
+                }
+                this.ec = errorCount;
+                this.wc = warnCount;
+                this.ic = invalidCount;
+                this.tc = testCount;
+
+                if (link == null || this.included) {
+                    flush();
+                }
+
+                mem = getmem();
+                millis = System.currentTimeMillis();
+            }
+
+            void flush() {
+                if (!flushed) {
+                    if (link != null) {
+                        link.flush();
+                    }
+
+                    indent(level);
+                    log.print(name);
+                    log.flush();
+
+                    flushed = true;
+
+                    needLineFeed = true;
+                }
+            }
+
+            void appendPath(StringBuffer buf) {
+                if (this.link != null) {
+                    this.link.appendPath(buf);
+                    buf.append('/');
+                }
+                buf.append(name);
+            }
+        }
+
+        public void push(String name, String description, boolean included) {
+            if (inDocMode() && describe && description != null) {
+                name += ": " + description;
+            }
+            stack = new State(stack, name, included);
+        }
+
+        public void pop() {
+            if (stack != null) {
+                writeTestResult();
+                stack = stack.link;
+            }
+        }
+
+        public boolean inDocMode() {
+            return describe || listlevel != 0;
+        }
+
+        public boolean doMethods() {
+            return !inDocMode() || listlevel == 3
+                    || (indentLevel == 1 && listlevel > 0);
+        }
+
+        public boolean doRecurse() {
+            return !inDocMode() || listlevel > 1
+                    || (indentLevel == 1 && listlevel > 0);
+        }
+
+        public boolean doRecurseGroupsOnly() {
+            return inDocMode()
+                    && (listlevel == 2 || (indentLevel == 1 && listlevel > 0));
+        }
+
+        // return 0, -1, or 1
+        // 1: run this test
+        // 0: might run this test, no positive include or exclude on this group
+        // -1: exclude this test
+        public int filter(String testName) {
+            int result = 0;
+            if (filter == null) {
+                result = 1;
+            } else {
+                boolean noIncludes = true;
+                boolean noExcludes = filter.indexOf('^') == -1;
+                testName = testName.toLowerCase();
+                int ix = 0;
+                while (ix < filter.length()) {
+                    int nix = filter.indexOf(',', ix);
+                    if (nix == -1) {
+                        nix = filter.length();
+                    }
+                    if (filter.charAt(ix) == '^') {
+                        if (testName.indexOf(filter.substring(ix + 1, nix)) != -1) {
+                            result = -1;
+                            break;
+                        }
+                    } else {
+                        noIncludes = false;
+                        if (testName.indexOf(filter.substring(ix, nix)) != -1) {
+                            result = 1;
+                            if (noExcludes) {
+                                break;
+                            }
+                        }
+                    }
+
+                    ix = nix + 1;
+                }
+                if (result == 0 && noIncludes) {
+                    result = 1;
+                }
+            }
+            //              System.out.println("filter: " + testName + " returns: " +
+            // result);
+            return result;
+        }
+
+        private void msg(String message, int level, boolean incCount,
+                boolean newln) {
+            if (level == WARN && (!warnings && !nodata)){
+                level = ERR;
+            }
+
+            if (incCount) {
+                if (level == WARN) {
+                    warnCount++;
+                    invalidCount++;
+                } else if (level == ERR) {
+                    errorCount++;
+                }
+            }
+
+            // should roll indentation stuff into log ???
+            if (verbose || level > (quiet ? WARN : LOG)) {
+                if (!suppressIndent) {
+                    indent(indentLevel + 1);
+                    final String[] MSGNAMES = {"", "Warning: ", "Error: "};
+                    log.print(MSGNAMES[level]);
+                }
+
+                log.print(message);
+                if (newln) {
+                    log.println();
+                }
+                log.flush();
+            }
+
+            if (level == ERR) {
+                if (!nothrow) {
+                    throw new RuntimeException(message);
+                }
+                if (!suppressIndent && errorSummary != null && stack !=null 
+                        && (errorCount == stack.ec + 1)) {
+                    stack.appendPath(errorSummary);
+                    errorSummary.append("\n");
+                }
+            }
+
+            suppressIndent = !newln;
+        }
+
+        private void writeTestInvalid(String name) {
+            //              msg("***" + name + "*** not found or not valid.", WARN, true,
+            // true);
+            if (inDocMode()) {
+                if (!warnings) {
+                    if (stack != null) {
+                        stack.flush();
+                    }
+                    log.println(" *** Target not found or not valid.");
+                    log.flush();
+                    needLineFeed = false;
+                }
+            } else {
+                msg("Test " + name + " not found or not valid.", WARN, true,
+                        true);
+            }
+        }
+
+        long getmem() {
+            long newmem = 0;
+            if (memusage) {
+                Runtime rt = Runtime.getRuntime();
+                long lastmem = Long.MAX_VALUE;
+                do {
+                    rt.gc();
+                    rt.gc();
+                    try {
+                        Thread.sleep(50);
+                    } catch (Exception e) {
+                        break;
+                    }
+                    lastmem = newmem;
+                    newmem = rt.totalMemory() - rt.freeMemory();
+                } while (newmem < lastmem);
+            }
+            return newmem;
+        }
+
+        private void writeTestResult() {
+            if (inDocMode()) {
+                if (needLineFeed) {
+                    log.println();
+                    log.flush();
+                }
+                needLineFeed = false;
+                return;
+            }
+
+            long dmem = getmem() - stack.mem;
+            long dtime = System.currentTimeMillis() - stack.millis;
+
+            int testDelta = testCount - stack.tc;
+            if (testDelta == 0) {
+                return;
+            }
+
+            int errorDelta = errorCount - stack.ec;
+            int invalidDelta = invalidCount - stack.ic;
+
+            stack.flush();
+
+            if (!needLineFeed) {
+                indent(indentLevel);
+                log.print("}");
+            }
+            needLineFeed = false;
+
+            if (memusage || dtime >= timing) {
+                log.print(" (");
+                if (memusage) {
+                    log.print("dmem: " + dmem);
+                }
+                if (dtime >= timing) {
+                    if (memusage) {
+                        log.print(", ");
+                    }
+                    log.print(tformat.format(dtime / 1000f));
+                }
+                log.print(")");
+            }
+            if (errorDelta != 0) {
+                log.println(" FAILED ("
+                        + errorDelta
+                        + " failures"
+                        + ((invalidDelta != 0) ? ", " + invalidDelta
+                                + " tests skipped)" : ")"));
+            } else if (invalidDelta != 0) {
+                log.println(" Qualified (" + invalidDelta + " tests skipped)");
+            } else {
+                log.println(" Passed");
+            }
+        }
+
+        private final void indent(int distance) {
+            boolean idm = inDocMode();
+            if (needLineFeed) {
+                if (idm) {
+                    log.println();
+                } else {
+                    log.println(" {");
+                }
+                needLineFeed = false;
+            }
+
+            log.print(spaces.substring(0, distance * (idm ? 3 : 2)));
+
+            if (idm) {
+                log.print("-- ");
+            }
+        }
+    }
+
+    public String getTranslitTestFilter() {
+        return params.tfilter;
+    }
+
+    /**
+     * Return the target name for a test class. This is either the end of the
+     * class name, or if the class declares a public static field
+     * CLASS_TARGET_NAME, the value of that field.
+     */
+    private static String getClassTargetName(Class testClass) {
+        String name = testClass.getName();
+        try {
+            Field f = testClass.getField("CLASS_TARGET_NAME");
+            name = (String) f.get(null);
+        } catch (IllegalAccessException e) {
+            throw new InternalError(
+                    "static field CLASS_TARGET_NAME must be accessible");
+        } catch (NoSuchFieldException e) {
+            int n = Math.max(name.lastIndexOf('.'), name.lastIndexOf('$'));
+            if (n != -1) {
+                name = name.substring(n + 1);
+            }
+        }
+        return name;
+    }
+
+    /**
+     * Check the given array to see that all the strings in the expected array
+     * are present.
+     * 
+     * @param msg
+     *            string message, for log output
+     * @param array
+     *            array of strings to check
+     * @param expected
+     *            array of strings we expect to see, or null
+     * @return the length of 'array', or -1 on error
+     */
+    protected int checkArray(String msg, String array[], String expected[]) {
+        int explen = (expected != null) ? expected.length : 0;
+        if (!(explen >= 0 && explen < 31)) { // [sic] 31 not 32
+            errln("Internal error");
+            return -1;
+        }
+        int i = 0;
+        StringBuffer buf = new StringBuffer();
+        int seenMask = 0;
+        for (; i < array.length; ++i) {
+            String s = array[i];
+            if (i != 0)
+                buf.append(", ");
+            buf.append(s);
+            // check expected list
+            for (int j = 0, bit = 1; j < explen; ++j, bit <<= 1) {
+                if ((seenMask & bit) == 0) {
+                    if (s.equals(expected[j])) {
+                        seenMask |= bit;
+                        logln("Ok: \"" + s + "\" seen");
+                    }
+                }
+            }
+        }
+        logln(msg + " = [" + buf + "] (" + i + ")");
+        // did we see all expected strings?
+        if (((1 << explen) - 1) != seenMask) {
+            for (int j = 0, bit = 1; j < expected.length; ++j, bit <<= 1) {
+                if ((seenMask & bit) == 0) {
+                    errln("\"" + expected[j] + "\" not seen");
+                }
+            }
+        }
+        return array.length;
+    }
+
+    /**
+     * Check the given array to see that all the locales in the expected array
+     * are present.
+     * 
+     * @param msg
+     *            string message, for log output
+     * @param array
+     *            array of locales to check
+     * @param expected
+     *            array of locales names we expect to see, or null
+     * @return the length of 'array'
+     */
+    protected int checkArray(String msg, Locale array[], String expected[]) {
+        String strs[] = new String[array.length];
+        for (int i = 0; i < array.length; ++i)
+            strs[i] = array[i].toString();
+        return checkArray(msg, strs, expected);
+    }
+
+    /**
+     * Check the given array to see that all the locales in the expected array
+     * are present.
+     * 
+     * @param msg
+     *            string message, for log output
+     * @param array
+     *            array of locales to check
+     * @param expected
+     *            array of locales names we expect to see, or null
+     * @return the length of 'array'
+     */
+    protected int checkArray(String msg, ULocale array[], String expected[]) {
+        String strs[] = new String[array.length];
+        for (int i = 0; i < array.length; ++i)
+            strs[i] = array[i].toString();
+        return checkArray(msg, strs, expected);
+    }
+
+    // JUnit-like assertions.
+
+    protected boolean assertTrue(String message, boolean condition) {
+        return handleAssert(condition, message, "true", null);
+    }
+
+    protected boolean assertFalse(String message, boolean condition) {
+        return handleAssert(!condition, message, "false", null);
+    }
+
+    protected boolean assertEquals(String message, boolean expected,
+            boolean actual) {
+        return handleAssert(expected == actual, message, String
+                .valueOf(expected), String.valueOf(actual));
+    }
+
+    protected boolean assertEquals(String message, long expected, long actual) {
+        return handleAssert(expected == actual, message, String
+                .valueOf(expected), String.valueOf(actual));
+    }
+
+    // do NaN and range calculations to precision of float, don't rely on
+    // promotion to double
+    protected boolean assertEquals(String message, float expected,
+            float actual, double error) {
+        boolean result = Float.isInfinite(expected)
+                ? expected == actual
+                : !(Math.abs(expected - actual) > error); // handles NaN
+        return handleAssert(result, message, String.valueOf(expected)
+                + (error == 0 ? "" : " (within " + error + ")"), String
+                .valueOf(actual));
+    }
+
+    protected boolean assertEquals(String message, double expected,
+            double actual, double error) {
+        boolean result = Double.isInfinite(expected)
+                ? expected == actual
+                : !(Math.abs(expected - actual) > error); // handles NaN
+        return handleAssert(result, message, String.valueOf(expected)
+                + (error == 0 ? "" : " (within " + error + ")"), String
+                .valueOf(actual));
+    }
+
+    protected boolean assertEquals(String message, Object expected,
+            Object actual) {
+        boolean result = expected == null ? actual == null : expected
+                .equals(actual);
+        return handleAssert(result, message, stringFor(expected),
+                stringFor(actual));
+    }
+
+    protected boolean assertNotEquals(String message, Object expected,
+            Object actual) {
+        boolean result = !(expected == null ? actual == null : expected
+                .equals(actual));
+        return handleAssert(result, message, stringFor(expected),
+                stringFor(actual), "not equal to", true);
+    }
+
+    protected boolean assertSame(String message, Object expected, Object actual) {
+        return handleAssert(expected == actual, message, stringFor(expected),
+                stringFor(actual), "==", false);
+    }
+
+    protected boolean assertNotSame(String message, Object expected,
+            Object actual) {
+        return handleAssert(expected != actual, message, stringFor(expected),
+                stringFor(actual), "!=", true);
+    }
+
+    protected boolean assertNull(String message, Object actual) {
+        return handleAssert(actual == null, message, null, stringFor(actual));
+    }
+
+    protected boolean assertNotNull(String message, Object actual) {
+        return handleAssert(actual != null, message, null, stringFor(actual),
+                "!=", true);
+    }
+
+    protected void fail(String message) {
+        errln(message);
+    }
+
+    private boolean handleAssert(boolean result, String message,
+            String expected, String actual) {
+        return handleAssert(result, message, expected, actual, null, false);
+    }
+
+    private boolean handleAssert(boolean result, String message,
+            String expected, String actual, String relation, boolean flip) {
+        if (!result || isVerbose()) {
+            message = message == null ? "" : " " + message;
+            relation = relation == null ? ", got " : " " + relation + " ";
+            if (result) {
+                logln("OK" + message + ": "
+                        + (flip ? expected + relation + actual : expected));
+            } else {
+		// assert must assume errors are true errors and not just warnings
+		// so cannot warnln here
+                errln(message
+                        + ": expected"
+                        + (flip ? relation + expected : " " + expected
+                                + (actual != null ? relation + actual : "")));
+            }
+        }
+        return result;
+    }
+
+    private final String stringFor(Object obj) {
+        if (obj == null)
+            return "null";
+        if (obj instanceof String)
+            return "\"" + obj + '"';
+        return obj.getClass().getName() + "<" + obj + ">";
+    }
+
+    // End JUnit-like assertions
+
+    // PrintWriter support
+
+    public PrintWriter getErrorLogPrintWriter() {
+        return new PrintWriter(new TestLogWriter(this, TestLog.ERR));
+    }
+
+    public PrintWriter getLogPrintWriter() {
+        return new PrintWriter(new TestLogWriter(this, TestLog.LOG));
+    }
+
+    // end PrintWriter support
+
+    protected TestParams params = null;
+
+    private final static String spaces = "                                          ";
+}
diff --git a/src/com/ibm/icu/dev/test/TestLog.java b/src/com/ibm/icu/dev/test/TestLog.java
new file mode 100755
index 0000000..d152c49
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/TestLog.java
@@ -0,0 +1,38 @@
+/**
+ *******************************************************************************
+ * Copyright (C) 2000-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.test;
+
+public interface TestLog {
+
+    /**
+     * Adds given string to the log if we are in verbose mode.
+     */
+    void log(String message);
+
+    void logln(String message);
+
+    /**
+     * Report an error
+     */
+    void err(String message);
+
+    void errln(String message);
+
+    /**
+     * Warn about missing tests or data.
+     */
+    void warn(String message);
+    
+    void warnln(String message);
+
+
+    public static final int LOG = 0;
+    public static final int WARN = 1;
+    public static final int ERR = 2;
+
+    void msg(String message, int level, boolean incCount, boolean newln);
+}
diff --git a/src/com/ibm/icu/dev/test/TestLogWriter.java b/src/com/ibm/icu/dev/test/TestLogWriter.java
new file mode 100644
index 0000000..80d6aba
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/TestLogWriter.java
@@ -0,0 +1,43 @@
+/**
+ *******************************************************************************
+ * Copyright (C) 2005, International Business Machines Corporation and         *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.test;
+
+import java.io.IOException;
+import java.io.Writer;
+
+public final class TestLogWriter extends Writer {
+    private TestLog log;
+    private int level;
+    private boolean closed;
+
+    public TestLogWriter(TestLog log, int level) {
+	this.log = log;
+	this.level = level;
+    }
+
+    public void write(char cbuf[], int off, int len) throws IOException {
+	write(new String(cbuf, off, len));
+    }
+
+    public void write(String str) throws IOException {
+	if (closed) {
+	    throw new IOException("stream closed");
+	}
+	if ("\r\n".indexOf(str) != -1) {
+	    log.msg("", level, level == TestLog.ERR, true);
+	} else {
+	    log.msg(str, level, level == TestLog.ERR, false);
+	}
+    }
+
+    public void flush() throws IOException {
+    }
+
+    public void close() throws IOException {
+	closed = true;
+    }
+}
diff --git a/src/com/ibm/icu/dev/test/TestUtil.java b/src/com/ibm/icu/dev/test/TestUtil.java
new file mode 100644
index 0000000..6558aef
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/TestUtil.java
@@ -0,0 +1,234 @@
+/**
+ *******************************************************************************
+ * Copyright (C) 2001-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.test;
+
+import java.io.BufferedReader;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+
+public final class TestUtil {
+    /**
+     * Path to test data in icu4jtest.jar
+     */
+    public static final String LOCAL_DATA_PATH = "/com/ibm/icu/dev/data/";
+
+    /**
+     * Standard path to the test data in the file system.
+     */
+    public static final String DATA_PATH = "/src" + LOCAL_DATA_PATH;
+
+    /**
+     * Property for user-defined data path.
+     */
+    public static final String DATA_PATH_PROPERTY = "ICUDataPath";
+
+    /**
+     * Property for modular build.
+     */
+    public static final String DATA_MODULAR_BUILD_PROPERTY = "ICUModularBuild";
+
+    /**
+     * Compute a full data path using the ICUDataPath, if defined, or the user.dir, if we
+     * are allowed access to it.
+     */
+    private static final String dataPath(String fileName) {
+        String s = System.getProperty(DATA_PATH_PROPERTY);
+        if (s == null) {
+            // assume user.dir is directly above src directory
+            // data path must end in '/' or '\', fileName should not start with one
+            s = System.getProperty("user.dir"); // protected property
+            s = s + DATA_PATH;
+        }
+        return s + fileName;
+    }
+
+    /**
+     * Return an input stream on the data file at path 'name' rooted at the data path
+     */
+    public static final InputStream getDataStream(String name) throws IOException {
+        InputStream is = null;
+        try {
+            is = new FileInputStream(dataPath(name));
+        } catch (Throwable e) {
+            try {
+                is = TestUtil.class.getResourceAsStream(LOCAL_DATA_PATH + name);
+            } catch (Throwable t) {
+                IOException ex =
+                    new IOException("data resource '" + name + "' not found");
+                //initCause API was introduced in JDK 1.4
+                ex.initCause(t);
+                //t.printStackTrace();
+                throw ex;
+            }
+        }
+        return is;
+    }
+
+    /**
+     * Return a buffered reader on the data file at path 'name' rooted at the data path.
+     */
+    public static final BufferedReader getDataReader(String name, String charset) throws IOException {
+        InputStream is = getDataStream(name);
+        InputStreamReader isr =
+            charset == null
+                ? new InputStreamReader(is)
+                : new InputStreamReader(is, charset);
+        return new BufferedReader(isr);
+    }
+
+    /**
+     * Return a buffered reader on the data file at path 'name' rooted at the data path,
+     * using the provided encoding.
+     */
+    public static final BufferedReader getDataReader(String name)
+        throws IOException {
+        return getDataReader(name, null);
+    }
+
+    static final char DIGITS[] =
+        {
+            '0',
+            '1',
+            '2',
+            '3',
+            '4',
+            '5',
+            '6',
+            '7',
+            '8',
+            '9',
+            'A',
+            'B',
+            'C',
+            'D',
+            'E',
+            'F',
+            'G',
+            'H',
+            'I',
+            'J',
+            'K',
+            'L',
+            'M',
+            'N',
+            'O',
+            'P',
+            'Q',
+            'R',
+            'S',
+            'T',
+            'U',
+            'V',
+            'W',
+            'X',
+            'Y',
+            'Z' };
+    /**
+     * Return true if the character is NOT printable ASCII.  The tab,
+     * newline and linefeed characters are considered unprintable.
+     */
+    public static boolean isUnprintable(int c) {
+        return !(c >= 0x20 && c <= 0x7E);
+    }
+    /**
+     * Escape unprintable characters using <backslash>uxxxx notation
+     * for U+0000 to U+FFFF and <backslash>Uxxxxxxxx for U+10000 and
+     * above.  If the character is printable ASCII, then do nothing
+     * and return FALSE.  Otherwise, append the escaped notation and
+     * return TRUE.
+     */
+    public static boolean escapeUnprintable(StringBuffer result, int c) {
+        if (isUnprintable(c)) {
+            result.append('\\');
+            if ((c & ~0xFFFF) != 0) {
+                result.append('U');
+                result.append(DIGITS[0xF & (c >> 28)]);
+                result.append(DIGITS[0xF & (c >> 24)]);
+                result.append(DIGITS[0xF & (c >> 20)]);
+                result.append(DIGITS[0xF & (c >> 16)]);
+            } else {
+                result.append('u');
+            }
+            result.append(DIGITS[0xF & (c >> 12)]);
+            result.append(DIGITS[0xF & (c >> 8)]);
+            result.append(DIGITS[0xF & (c >> 4)]);
+            result.append(DIGITS[0xF & c]);
+            return true;
+        }
+        return false;
+    }
+
+    static class Lock {
+        private int count;
+
+        synchronized void inc() {
+            ++count;
+        }
+
+        synchronized void dec() {
+            --count;
+        }
+
+        synchronized int count() {
+            return count;
+        }
+
+        void go() {
+            try {
+                while (count() > 0) {
+                    synchronized (this) {
+                        notifyAll();
+                    }
+                    Thread.sleep(50);
+                }
+            } catch (InterruptedException e) {
+            }
+        }
+    }
+
+    static class TestThread extends Thread {
+        Lock lock;
+        Runnable target;
+
+        TestThread(Lock lock, Runnable target) {
+            this.lock = lock;
+            this.target = target;
+
+            lock.inc();
+        }
+
+        public void run() {
+            try {
+                synchronized (lock) {
+                    lock.wait();
+                }
+                target.run();
+            } catch (InterruptedException e) {
+            }
+
+            lock.dec();
+        }
+    }
+
+    public static void runUntilDone(Runnable[] targets) {
+        if (targets == null) {
+            throw new IllegalArgumentException("targets is null");
+        }
+        if (targets.length == 0) {
+            return;
+        }
+
+        Lock lock = new Lock();
+        for (int i = 0; i < targets.length; ++i) {
+            new TestThread(lock, targets[i]).start();
+        }
+
+        lock.go();
+    }
+}
diff --git a/src/com/ibm/icu/dev/test/UTF16Util.java b/src/com/ibm/icu/dev/test/UTF16Util.java
new file mode 100644
index 0000000..9da512c
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/UTF16Util.java
@@ -0,0 +1,377 @@
+/**
+*******************************************************************************
+* Copyright (C) 2002-2004, International Business Machines Corporation and    *
+* others. All Rights Reserved.                                                *
+*******************************************************************************
+*/
+package com.ibm.icu.dev.test;
+
+/**
+ * Utility class for supplementary code point 
+ * support. This one is written purely for updating
+ * Normalization sample from the unicode.org site.
+ * If you want the real thing, use UTF16 class
+ * from ICU4J
+ * @author Vladimir Weinstein, Markus Scherer
+ */
+public class UTF16Util {
+    static final int suppOffset = (0xd800 << 10) + 0xdc00 - 0x10000;
+
+    /**
+     * Method nextCodePoint. Returns the next code point
+     * in a string. 
+     * @param s String in question
+     * @param i index from which we want a code point
+     * @return int codepoint at index i
+     */
+    public static final int nextCodePoint(String s, int i) {
+        int ch = s.charAt(i);
+        if (0xd800 <= ch && ch <= 0xdbff && ++i < s.length()) {
+            int ch2 = s.charAt(i);
+            if (0xdc00 <= ch2 && ch2 <= 0xdfff) {
+                ch = (ch << 10) + ch2 - suppOffset;
+            }
+        }
+        return ch;
+    }
+
+    /**
+     * Method prevCodePoint. Gets the code point preceding
+     * index i (predecrement). 
+     * @param s String in question
+     * @param i index in string
+     * @return int codepoint at index --i
+     */
+    public static final int prevCodePoint(String s, int i) {
+        int ch = s.charAt(--i);
+        if (0xdc00 <= ch && ch <= 0xdfff && --i >= 0) {
+            int ch2 = s.charAt(i);
+            if (0xd800 <= ch2 && ch2 <= 0xdbff) {
+                ch = (ch2 << 10) + ch - suppOffset;
+            }
+        }
+        return ch;
+    }
+
+    /**
+     * Method nextCodePoint. Returns the next code point
+     * in a string. 
+     * @param s StringBuffer in question
+     * @param i index from which we want a code point
+     * @return int codepoint at index i
+     */
+    public static final int nextCodePoint(StringBuffer s, int i) {
+        int ch = s.charAt(i);
+        if (0xd800 <= ch && ch <= 0xdbff && ++i < s.length()) {
+            int ch2 = s.charAt(i);
+            if (0xdc00 <= ch2 && ch2 <= 0xdfff) {
+                ch = (ch << 10) + ch2 - suppOffset;
+            }
+        }
+        return ch;
+    }
+
+    /**
+     * Method prevCodePoint. Gets the code point preceding
+     * index i (predecrement). 
+     * @param s StringBuffer in question
+     * @param i index in string
+     * @return int codepoint at index --i
+     */
+    public static final int prevCodePoint(StringBuffer s, int i) {
+        int ch = s.charAt(--i);
+        if (0xdc00 <= ch && ch <= 0xdfff && --i >= 0) {
+            int ch2 = s.charAt(i);
+            if (0xd800 <= ch2 && ch2 <= 0xdbff) {
+                ch = (ch2 << 10) + ch - suppOffset;
+            }
+        }
+        return ch;
+    }
+
+    /**
+     * Method codePointLength. Returns the length 
+     * in UTF-16 code units of a given code point
+     * @param c code point in question
+     * @return int length in UTF-16 code units. Can be 1 or 2
+     */
+    public static final int codePointLength(int c) {
+        return c <= 0xffff ? 1 : 2;
+    }
+
+    /**
+     * Method appendCodePoint. Appends a code point
+     * to a StringBuffer
+     * @param buffer StringBuffer in question
+     * @param ch code point to append
+     */
+    public static final void appendCodePoint(StringBuffer buffer, int ch) {
+        if (ch <= 0xffff) {
+            buffer.append((char)ch);
+        } else {
+            buffer.append((char)(0xd7c0 + (ch >> 10)));
+            buffer.append((char)(0xdc00 + (ch & 0x3ff))); 
+        }
+    }
+
+    /**
+     * Method insertCodePoint. Inserts a code point in
+     * a StringBuffer
+     * @param buffer StringBuffer in question
+     * @param i index at which we want code point to be inserted
+     * @param ch code point to be inserted
+     */
+    public static final void insertCodePoint(StringBuffer buffer, int i, int ch) {
+        if (ch <= 0xffff) {
+            buffer.insert(i, (char)ch);
+        } else {
+            buffer.insert(i, (char)(0xd7c0 + (ch >> 10))).insert(i + 1, (char)(0xdc00 + (ch & 0x3ff))); 
+        }
+    }
+    
+    /**
+     * Method setCodePointAt. Changes a code point at a
+     * given index. Can change the length of the string.
+     * @param buffer StringBuffer in question
+     * @param i index at which we want to change the contents
+     * @param ch replacement code point
+     * @return int difference in resulting StringBuffer length
+     */
+    public static final int setCodePointAt(StringBuffer buffer, int i, int ch) {
+        int cp = nextCodePoint(buffer, i);
+        
+        if (ch <= 0xffff && cp <= 0xffff) { // Both BMP
+            buffer.setCharAt(i, (char)ch);
+            return 0;
+        } else if (ch > 0xffff && cp > 0xffff) { // Both supplementary
+            buffer.setCharAt(i, (char)(0xd7c0 + (ch >> 10)));
+            buffer.setCharAt(i+1, (char)(0xdc00 + (ch & 0x3ff)));
+            return 0;
+        } else if (ch <= 0xffff && cp > 0xffff) { // putting BMP instead of supplementary, buffer shrinks
+            buffer.setCharAt(i, (char)ch);
+            buffer.deleteCharAt(i+1);
+            return -1;
+        } else { //if (ch > 0xffff && cp <= 0xffff) { // putting supplementary instead of BMP, buffer grows
+            buffer.setCharAt(i, (char)(0xd7c0 + (ch >> 10)));
+            buffer.insert(i+1, (char)(0xdc00 + (ch & 0x3ff))); 
+            return 1;           
+        }
+    }
+
+    /**
+     * Method countCodePoint. Counts the UTF-32 code points
+     * in a UTF-16 encoded string.
+     * @param source String in question.
+     * @return int number of code points in this string
+     */
+    public static final int countCodePoint(String source) 
+    {         
+        int result = 0;
+        char ch;
+        boolean hadLeadSurrogate = false;
+        
+        for (int i = 0; i < source.length(); ++ i) 
+        {
+            ch = source.charAt(i);
+            if (hadLeadSurrogate && 0xdc00 <= ch && ch <= 0xdfff) {
+                hadLeadSurrogate = false;           // count valid trail as zero
+            }
+            else
+            {
+                hadLeadSurrogate = (0xd800 <= ch && ch <= 0xdbff);
+                ++ result;                          // count others as 1
+            }
+        }
+        
+        return result;
+    }
+    
+    /**
+     * Method countCodePoint. Counts the UTF-32 code points
+     * in a UTF-16 encoded string.
+     * @param source StringBuffer in question.
+     * @return int number of code points in this string
+     */
+    public static final int countCodePoint(StringBuffer source) 
+    {         
+        int result = 0;
+        char ch;
+        boolean hadLeadSurrogate = false;
+        
+        for (int i = 0; i < source.length(); ++ i) 
+        {
+            ch = source.charAt(i);
+            if (hadLeadSurrogate && 0xdc00 <= ch && ch <= 0xdfff) {
+                hadLeadSurrogate = false;           // count valid trail as zero
+            }
+            else
+            {
+                hadLeadSurrogate = (0xd800 <= ch && ch <= 0xdbff);
+                ++ result;                          // count others as 1
+            }
+        }
+        
+        return result;
+    }
+    /**
+     * The minimum value for Supplementary code points
+     */
+    public static final int SUPPLEMENTARY_MIN_VALUE  = 0x10000;  
+    /**
+     * Determines how many chars this char32 requires.
+     * If a validity check is required, use <code>
+     * <a href="../UCharacter.html#isLegal(char)">isLegal()</a></code> on 
+     * char32 before calling.
+     * @param char32 the input codepoint.
+     * @return 2 if is in supplementary space, otherwise 1. 
+     */
+    public static int getCharCount(int char32) 
+    {
+        if (char32 < SUPPLEMENTARY_MIN_VALUE) {
+            return 1;
+        }
+        return 2;
+    }
+    /**
+     * Lead surrogate maximum value
+     * @stable ICU 2.1
+     */
+    public static final int LEAD_SURROGATE_MAX_VALUE = 0xDBFF;
+    /**
+     * Lead surrogate minimum value
+     * @stable ICU 2.1
+     */
+    public static final int LEAD_SURROGATE_MIN_VALUE = 0xD800;
+    
+    /**
+     * Trail surrogate minimum value
+     * @stable ICU 2.1
+     */
+    public static final int TRAIL_SURROGATE_MIN_VALUE = 0xDC00; 
+    /**
+     * Trail surrogate maximum value
+     * @stable ICU 2.1
+     */
+    public static final int TRAIL_SURROGATE_MAX_VALUE = 0xDFFF;
+    /**
+     * Determines whether the code value is a surrogate.
+     * @param char16 the input character.
+     * @return true iff the input character is a surrogate.
+     * @stable ICU 2.1
+     */
+    public static boolean isSurrogate(char char16) 
+    {
+        return LEAD_SURROGATE_MIN_VALUE <= char16 && 
+            char16 <= TRAIL_SURROGATE_MAX_VALUE;
+    }
+        
+    /**
+     * Determines whether the character is a trail surrogate.
+     * @param char16 the input character.
+     * @return true iff the input character is a trail surrogate.
+     * @stable ICU 2.1
+     */
+    public static boolean isTrailSurrogate(char char16) 
+    {
+        return (TRAIL_SURROGATE_MIN_VALUE <= char16 && 
+                char16 <= TRAIL_SURROGATE_MAX_VALUE);
+    }
+        
+    /**
+     * Determines whether the character is a lead surrogate.
+     * @param char16 the input character.
+     * @return true iff the input character is a lead surrogate
+     * @stable ICU 2.1
+     */
+    public static boolean isLeadSurrogate(char char16) 
+    {
+        return LEAD_SURROGATE_MIN_VALUE <= char16 && 
+            char16 <= LEAD_SURROGATE_MAX_VALUE;
+    }
+    /**
+     * Extract a single UTF-32 value from a substring.
+     * Used when iterating forwards or backwards (with
+     * <code>UTF16.getCharCount()</code>, as well as random access. If a
+     * validity check is required, use 
+     * <code><a href="../UCharacter.html#isLegal(char)">UCharacter.isLegal()
+     * </a></code> on the return value.
+     * If the char retrieved is part of a surrogate pair, its supplementary
+     * character will be returned. If a complete supplementary character is 
+     * not found the incomplete character will be returned
+     * @param source array of UTF-16 chars
+     * @param start offset to substring in the source array for analyzing
+     * @param limit offset to substring in the source array for analyzing
+     * @param offset16 UTF-16 offset relative to start
+     * @return UTF-32 value for the UTF-32 value that contains the char at
+     *         offset16. The boundaries of that codepoint are the same as in
+     *         <code>bounds32()</code>.
+     * @exception IndexOutOfBoundsException thrown if offset16 is not within 
+     *            the range of start and limit.
+     * @stable ICU 2.1
+     */
+    public static int charAt(char source[], int start, int limit, 
+                             int offset16)
+    {
+        offset16 += start;
+        if (offset16 < start || offset16 >= limit) {
+            throw new ArrayIndexOutOfBoundsException(offset16);
+        }
+            
+        char single = source[offset16];
+        if (!isSurrogate(single)) {
+            return single;
+        }
+
+        // Convert the UTF-16 surrogate pair if necessary.
+        // For simplicity in usage, and because the frequency of pairs is 
+        // low, look both directions.      
+        if (single <= LEAD_SURROGATE_MAX_VALUE) {
+            offset16 ++;
+            if (offset16 >= limit) {
+                return single;
+            }
+            char trail = source[offset16];
+            if (isTrailSurrogate(trail)) {
+                return getRawSupplementary(single, trail);
+            }
+        } 
+        else { // isTrailSurrogate(single), so
+            if (offset16 == start) {
+                return single;
+            }
+            offset16 --;
+            char lead = source[offset16];
+            if (isLeadSurrogate(lead))
+                return getRawSupplementary(lead, single);
+        }
+        return single; // return unmatched surrogate
+    }
+    /**
+     * Shift value for lead surrogate to form a supplementary character.
+     */
+    private static final int LEAD_SURROGATE_SHIFT_ = 10;
+    
+    /** 
+     * Offset to add to combined surrogate pair to avoid msking.
+     */
+    private static final int SURROGATE_OFFSET_ = 
+                           SUPPLEMENTARY_MIN_VALUE - 
+                           (LEAD_SURROGATE_MIN_VALUE << 
+                           LEAD_SURROGATE_SHIFT_) - 
+                           TRAIL_SURROGATE_MIN_VALUE;   
+
+    
+   /**
+    * Forms a supplementary code point from the argument character<br>
+    * Note this is for internal use hence no checks for the validity of the
+    * surrogate characters are done
+    * @param lead lead surrogate character
+    * @param trail trailing surrogate character
+    * @return code point of the supplementary character
+    */
+    public static int getRawSupplementary(char lead, char trail)
+    {
+        return (lead << LEAD_SURROGATE_SHIFT_) + trail + SURROGATE_OFFSET_;
+    }
+    
+}
diff --git a/src/com/ibm/icu/dev/test/bigdec/DiagBigDecimal.java b/src/com/ibm/icu/dev/test/bigdec/DiagBigDecimal.java
new file mode 100755
index 0000000..b27c3be
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/bigdec/DiagBigDecimal.java
@@ -0,0 +1,5351 @@
+/* Generated from 'DiagBigDecimal.nrx' 27 Mar 2000 22:38:44 [v1.162] */
+/* Options: Binary Comments Crossref Format Java Logo Trace1 Verbose3 */
+package com.ibm.icu.dev.test.bigdec;
+import java.math.BigInteger;
+import com.ibm.icu.dev.test.TestFmwk;
+import com.ibm.icu.util.VersionInfo;
+
+/* ------------------------------------------------------------------ */
+/* Decimal diagnostic tests                                       mfc */
+/* Copyright (c) IBM Corporation 1996-2005.  All Rights Reserved.     */
+/* ------------------------------------------------------------------ */
+/* DiagBigDecimal                                                     */
+/*                                                                    */
+/*   A class that tests the BigDecimal and MathContext classes.       */
+/*                                                                    */
+/*   The tests here are derived from or cover the same paths as:      */
+/*      -- ANSI X3-274 testcases                                      */
+/*      -- Java JCK testcases                                         */
+/*      -- NetRexx testcases                                          */
+/*      -- VM/CMS S/370 REXX implementation testcases [1981+]         */
+/*      -- IBM Vienna Laboratory Rexx compiler testcases [1988+]      */
+/*      -- New testcases                                              */
+/*                                                                    */
+/*   The authoritative sources for how the underlying technology      */
+/*   (arithmetic) should work are:                                    */
+/*      -- for digits=0 (fixed point): java.math.BigDecimal           */
+/*      -- for digits>0 (floating point): ANSI X3.274-1996 + errata   */
+/*                                                                    */
+/* ------------------------------------------------------------------ */
+/* Change list                                                        */
+/* 1997.09.05 Initial implementation, from DiagRexx [NetRexx tests]   */
+/* 1998.05.02 0.07 changes (e.g., compareTo)                          */
+/* 1998.06.06 Rounding modes and format additions                     */
+/* 1998.06.25 Rename from DiagDecimal; make stand-alone [add          */
+/*            DiagException as a Minor class]                         */
+/* 1998.06.27 Start adding testcases for DIGITS=0/FORM=PLAIN cases    */
+/*            Reorganize for faster trace compilation                 */
+/* 1998.06.28 new: valueof, scale, movePointX, unscaledValue, etc.    */
+/* 1998.07.07 Scaled divide                                           */
+/* 1998.07.08 setScale                                                */
+/* 1998.07.15 new scaffolding (Minor Test class) -- see diagabs       */
+/* 1998.12.14 add toBigDecimal and BigDecimal(java.math.BigDecimal)   */
+/* 1999.02.04 number preparation rounds instead of digits+1 trunc     */
+/* 1999.02.09 format method now only has two signatures               */
+/* 1999.02.27 no longer use Rexx class or RexxIO class                */
+/* 1999.03.05 add MathContext tests                                   */
+/* 1999.03.05 update for 0.96 [no null settings, etc.]                */
+/*            drop sundry constructors; no blanks; char[] gets ints   */
+/*            drop sundry converters, add Exact converters            */
+/* 1999.05.27 additional tests for scaled arithmetic                  */
+/* 1999.06.29 additional tests for exponent overflows                 */
+/* 1999.07.03 add 'continue' option                                   */
+/* 1999.07.10 additional tests for scaled arithmetic                  */
+/* 1999.07.18 randomly-generated tests added for base operators       */
+/* 1999.10.28 weird intValueExact bad cases                           */
+/* 1999.12.21 multiplication fast path failure and edge cases         */
+/* 2000.01.01 copyright update                                        */
+/* 2000.03.26 cosmetic updates; add extra format() testcases          */
+/* 2000.03.27 1.00 move to com.ibm.icu.math package; open source release; */
+/*                 change to javadoc comments                         */
+/* ------------------------------------------------------------------ */
+
+// note BINARY for conversions checking
+
+
+
+
+/**
+ * The <code>DiagBigDecimal</code> class forms a standalone test suite
+ * for the <code>com.ibm.icu.math.BigDecimal</code> and
+ * <code>com.ibm.icu.math.MathContext</code> classes (or, by changing the
+ * <code>package</code> statement, other classes of the same names and
+ * definition in other packages).  It may also be used as a constructed
+ * object to embed the tests in an external test harness.
+ * <p>
+ * The tests are collected into <i>groups</i>, each corresponding to a
+ * tested method or a more general grouping.  By default, when run from
+ * the static {@link #main(java.lang.String[])} method, the run will end
+ * if any test fails in a group.  The <code>continue</code> argument may
+ * be specified to force the tests to run to completion.
+ * <p>
+ * Two minor (inner) classes are used; {@link
+ * DiagBigDecimal.DiagException} is used to signal the failure of a test
+ * group, and {@link DiagBigDecimal.Test}, a dependent minor class, is
+ * used to register tests so that a summary of failures (or success) can be
+ * presented as each group is completed.
+ *
+ * @see     com.ibm.icu.math.BigDecimal
+ * @see     com.ibm.icu.math.MathContext
+ * @version 1.00 2000.03.27
+ * @author  Mike Cowlishaw
+ */
+
+public class DiagBigDecimal extends TestFmwk{
+ private static final java.lang.String $0="DiagBigDecimal.nrx";
+ 
+ /* properties shared */
+ java.util.Vector Tests=new java.util.Vector(100); // scaffolding
+ 
+ /* properties private */
+ private int totalcount=0; // counts tests run
+ 
+ /* properties constant private */
+ 
+ /* Count of test groups */
+ private static final int testcount=38;
+ 
+ private static final com.ibm.icu.math.BigDecimal zero=com.ibm.icu.math.BigDecimal.ZERO;
+ private static final com.ibm.icu.math.BigDecimal one=com.ibm.icu.math.BigDecimal.ONE;
+ private static final com.ibm.icu.math.BigDecimal two=new com.ibm.icu.math.BigDecimal(2);
+ private static final com.ibm.icu.math.BigDecimal ten=com.ibm.icu.math.BigDecimal.TEN;
+ private static final com.ibm.icu.math.BigDecimal tenlong=new com.ibm.icu.math.BigDecimal((long)1234554321); // 10-digiter
+ 
+ /* Some context objects -- [some of these are checked later] */
+ private static final com.ibm.icu.math.MathContext mcdef=com.ibm.icu.math.MathContext.DEFAULT;
+ private static final com.ibm.icu.math.MathContext mc3=new com.ibm.icu.math.MathContext(3);
+ private static final com.ibm.icu.math.MathContext mc6=new com.ibm.icu.math.MathContext(6);
+ private static final com.ibm.icu.math.MathContext mc9=new com.ibm.icu.math.MathContext(9);
+ private static final com.ibm.icu.math.MathContext mc50=new com.ibm.icu.math.MathContext(50);
+ private static final com.ibm.icu.math.MathContext mcs=new com.ibm.icu.math.MathContext(9,com.ibm.icu.math.MathContext.SCIENTIFIC);
+ private static final com.ibm.icu.math.MathContext mce=new com.ibm.icu.math.MathContext(9,com.ibm.icu.math.MathContext.ENGINEERING);
+ private static final com.ibm.icu.math.MathContext mcld=new com.ibm.icu.math.MathContext(9,com.ibm.icu.math.MathContext.SCIENTIFIC,true); // lost digits
+ private static final com.ibm.icu.math.MathContext mcld0=new com.ibm.icu.math.MathContext(0,com.ibm.icu.math.MathContext.SCIENTIFIC,true); // lost digits, digits=0
+ private static final com.ibm.icu.math.MathContext mcfd=new com.ibm.icu.math.MathContext(0,com.ibm.icu.math.MathContext.PLAIN); // fixed decimal style
+ 
+ /* boundary primitive values */
+ private static final byte bmin=-128;
+ private static final byte bmax=127;
+ private static final byte bzer=0;
+ private static final byte bneg=-1;
+ private static final byte bpos=1;
+ private static final int imin=-2147483648;
+ private static final int imax=2147483647;
+ private static final int izer=0;
+ private static final int ineg=-1;
+ private static final int ipos=1;
+ private static final long lmin=-9223372036854775808L;
+ private static final long lmax=9223372036854775807L;
+ private static final long lzer=(long)0;
+ private static final long lneg=(long)-1;
+ private static final long lpos=(long)1;
+ private static final short smin=-32768;
+ private static final short smax=32767;
+ private static final short szer=(short)0;
+ private static final short sneg=(short)(-1);
+ private static final short spos=(short)1;
+ 
+ 
+ /* properties constant private unused */ // present but not referenced
+ private static final java.lang.String copyright=" Copyright (c) IBM Corporation 1996, 2000.  All rights reserved. ";
+
+ 
+ /** Constructs a <code>DiagBigDecimal</code> test suite.
+   * <p>
+   * Invoke its {@link #diagrun} method to run the tests.
+   */
+ 
+ public DiagBigDecimal(){super();
+ }
+
+ static final boolean isJDK15OrLater = VersionInfo.javaVersion().compareTo(VersionInfo.getInstance(1,5)) >= 0;
+
+ /** Run the tests in the test suite.
+  *
+  * @param isContinue The <code>boolean</code> which determines whether
+  *                   to stop running after a group fails.  If 1 (true)
+  *                   then the tests should be run to completion if
+  *                   possible; if 0 (false) then the run will end if a
+  *                   group fails.
+  * @return an <code>int</code> which is 0 if all tests were
+  * successful, >0 (the count of failures) if some failures were
+  * detected, or <0 if an unexpected Exception was signalled.
+  */
+
+ public int diagrun(boolean isContinue){
+  int fails;
+  int num=0;
+  DiagException de=null;
+  java.lang.RuntimeException e=null;
+  java.lang.String rest=null;
+  
+  fails=0; // count of failures
+  try{num=1;num:for(;num<=testcount;num++){ // [testcount is constant set above]
+   try{
+    dotest(num);
+   }
+   catch (DiagException $1){de=$1;
+    say();
+    errln("**** Failed:"+" "+de.getMessage()+" "+"****");
+    say();
+    fails=fails+de.failcount;
+    if ((!isContinue)) 
+     break num;
+   }
+   }
+  }
+  catch (java.lang.RuntimeException $2){e=$2; // any other exception is total failure; just show trace and quit
+   say();
+   errln("**** Failed: unexpected exception ****");
+   e.printStackTrace();
+   return -1;
+  }/*num*/
+  
+  if (fails==0) 
+   say("--- All OK ---"+" "+right("["+totalcount+" "+"tests]",15));
+  else 
+   {
+    if (isContinue) 
+     {
+      if (fails>1) 
+       rest="tests";
+      else 
+       rest="test";
+      say("--- All run ---"+" "+right("["+totalcount+" "+"tests,",14)+" "+"failed"+" "+fails+" "+rest+"]");
+     
+     }
+   }
+  
+  return fails;
+  }
+
+ /* Run test by number -- method for development/private switching */
+ 
+ private void dotest(int num){
+  {/*select*/switch(num){
+   /* -------------------------------------------------------------- */
+   /* MathContext                                                    */
+   /* -------------------------------------------------------------- */
+  case 1:
+   diagmathcontext();break;
+   
+   /* -------------------------------------------------------------- */
+   /* Constructors                                                   */
+   /* -------------------------------------------------------------- */
+  case 2:
+   diagconstructors();break;
+   
+   /* -------------------------------------------------------------- */
+   /* Operator methods                                               */
+   /* -------------------------------------------------------------- */
+  case 3:
+   diagabs();break;
+  case 4:
+   diagadd();break;
+  case 5:
+   diagcompareto();break;
+  case 6:
+   diagdivide();break;
+  case 7:
+   diagdivideInteger();break;
+  case 8:
+   diagmax();break;
+  case 9:
+   diagmin();break;
+  case 10:
+   diagmultiply();break;
+  case 11:
+   diagnegate();break;
+  case 12:
+   diagplus();break;
+  case 13:
+   diagpow();break;
+  case 14:
+   diagremainder();break;
+  case 15:
+   diagsubtract();break;
+  case 16:
+   diagmath();break; // general math
+   
+   /* -------------------------------------------------------------- */
+   /* Other methods                                                  */
+   /* -------------------------------------------------------------- */
+  case 17:
+   diagbyteValue();break;
+  case 18:
+   diagcomparetoObj();break;
+  case 19:
+   diagdoublevalue();break;
+  case 20:
+   diagequals();break;
+  case 21:
+   diagfloatvalue();break;
+  case 22:
+   diagformat();break;
+  case 23:
+   diaghashcode();break;
+  case 24:
+   diagintvalue();break;
+  case 25:
+   diaglongvalue();break;
+  case 26:
+   diagmovepointleft();break;
+  case 27:
+   diagmovepointright();break;
+  case 28:
+   diagscale();break;
+  case 29:
+   diagsetscale();break;
+  case 30:
+   diagshortvalue();break;
+  case 31:
+   diagsignum();break;
+  case 32:
+   diagtobigdecimal();break;
+  case 33:
+   diagtobiginteger();break;
+  case 34:
+   diagtochararray();break;
+  case 35:
+   diagtostring();break;
+  case 36:
+   diagunscaledvalue();break;
+  case 37:
+   diagvalueof();break;
+   
+   /* -------------------------------------------------------------- */
+   /* Mutation test [must be the last test]                          */
+   /* -------------------------------------------------------------- */
+  case 38:
+   diagmutation();break;
+   // if any more, increase testcount above
+  default:{
+   say("*** dotest case not found:"+" "+num+" "+"***");
+  }}
+  }
+  return;
+  }
+
+ /*--------------------------------------------------------------------*/
+ /* Diagnostic group methods                                           */
+ /*--------------------------------------------------------------------*/
+ 
+ /** Test constructors (and {@link #toString()} for equalities). */
+ 
+ public void diagconstructors(){
+  boolean flag=false;
+  java.lang.String num;
+  java.math.BigInteger bip;
+  java.math.BigInteger biz;
+  java.math.BigInteger bin;
+  com.ibm.icu.math.BigDecimal bda;
+  com.ibm.icu.math.BigDecimal bdb;
+  com.ibm.icu.math.BigDecimal bmc;
+  com.ibm.icu.math.BigDecimal bmd;
+  com.ibm.icu.math.BigDecimal bme;
+  java.lang.RuntimeException e=null;
+  char ca[];
+  double dzer;
+  double dpos;
+  double dneg;
+  double dpos5;
+  double dneg5;
+  double dmin;
+  double dmax;
+  double d;
+  java.lang.String badstrings[];
+  int i=0;
+  
+  // constants [statically-called constructors]
+  (new Test("con001")).ok=(com.ibm.icu.math.BigDecimal.ZERO.toString()).equals("0");
+  (new Test("con002")).ok=(com.ibm.icu.math.BigDecimal.ONE.toString()).equals("1");
+  (new Test("con003")).ok=(com.ibm.icu.math.BigDecimal.TEN.toString()).equals("10");
+  (new Test("con004")).ok=(com.ibm.icu.math.BigDecimal.ZERO.intValueExact())==0;
+  (new Test("con005")).ok=(com.ibm.icu.math.BigDecimal.ONE.intValueExact())==1;
+  (new Test("con006")).ok=(com.ibm.icu.math.BigDecimal.TEN.intValueExact())==10;
+  
+  // [java.math.] BigDecimal
+  (new Test("cbd001")).ok=((new com.ibm.icu.math.BigDecimal(new java.math.BigDecimal("0"))).toString()).equals("0");
+  (new Test("cbd002")).ok=((new com.ibm.icu.math.BigDecimal(new java.math.BigDecimal("1"))).toString()).equals("1");
+  (new Test("cbd003")).ok=((new com.ibm.icu.math.BigDecimal(new java.math.BigDecimal("10"))).toString()).equals("10");
+  (new Test("cbd004")).ok=((new com.ibm.icu.math.BigDecimal(new java.math.BigDecimal("1000"))).toString()).equals("1000");
+  (new Test("cbd005")).ok=((new com.ibm.icu.math.BigDecimal(new java.math.BigDecimal("10.0"))).toString()).equals("10.0");
+  (new Test("cbd006")).ok=((new com.ibm.icu.math.BigDecimal(new java.math.BigDecimal("10.1"))).toString()).equals("10.1");
+  (new Test("cbd007")).ok=((new com.ibm.icu.math.BigDecimal(new java.math.BigDecimal("-1.1"))).toString()).equals("-1.1");
+  (new Test("cbd008")).ok=((new com.ibm.icu.math.BigDecimal(new java.math.BigDecimal("-9.0"))).toString()).equals("-9.0");
+  (new Test("cbd009")).ok=((new com.ibm.icu.math.BigDecimal(new java.math.BigDecimal("0.9"))).toString()).equals("0.9");
+  
+  num="123456789.123456789";
+  (new Test("cbd010")).ok=((new com.ibm.icu.math.BigDecimal(new java.math.BigDecimal(num))).toString()).equals(num);
+  num="123456789.000000000";
+  (new Test("cbd011")).ok=((new com.ibm.icu.math.BigDecimal(new java.math.BigDecimal(num))).toString()).equals(num);
+  num="123456789000000000";
+  (new Test("cbd012")).ok=((new com.ibm.icu.math.BigDecimal(new java.math.BigDecimal(num))).toString()).equals(num);
+  num="0.00000123456789";
+  (new Test("cbd013")).ok=((new com.ibm.icu.math.BigDecimal(new java.math.BigDecimal(num))).toString()).equals(num);
+  num="0.000000123456789";
+  // ignore format change issues with 1.5
+  if (!isJDK15OrLater)
+      (new Test("cbd014")).ok=((new com.ibm.icu.math.BigDecimal(new java.math.BigDecimal(num))).toString()).equals(num);
+  
+  try{checknull:do{
+   new com.ibm.icu.math.BigDecimal((java.math.BigDecimal)null);
+   flag=false;
+  }while(false);}
+  catch (java.lang.NullPointerException $3){
+   flag=true;
+  }/*checknull*/
+  (new Test("cbi015")).ok=flag;
+  
+  // BigInteger
+  bip=new BigInteger("987654321987654321987654321"); // biggie +ve
+  biz=new BigInteger("0"); // biggie 0
+  bin=new BigInteger("-12345678998765432112345678"); // biggie -ve
+  (new Test("cbi001")).ok=((new com.ibm.icu.math.BigDecimal(bip)).toString()).equals(bip.toString());
+  (new Test("cbi002")).ok=((new com.ibm.icu.math.BigDecimal(biz)).toString()).equals("0");
+  (new Test("cbi003")).ok=((new com.ibm.icu.math.BigDecimal(bin)).toString()).equals(bin.toString());
+  try{checknull:do{
+   new com.ibm.icu.math.BigDecimal((java.math.BigInteger)null);
+   flag=false;
+  }while(false);}
+  catch (java.lang.NullPointerException $4){
+   flag=true;
+  }/*checknull*/
+  (new Test("cbi004")).ok=flag;
+  
+  // BigInteger with scale
+  bip=new BigInteger("123456789"); // bigish
+  bda=new com.ibm.icu.math.BigDecimal(bip);
+  bdb=new com.ibm.icu.math.BigDecimal(bip,5);
+  bmc=new com.ibm.icu.math.BigDecimal(bip,15);
+  (new Test("cbs001")).ok=(bda.toString()).equals("123456789");
+  (new Test("cbs002")).ok=(bdb.toString()).equals("1234.56789");
+  (new Test("cbs003")).ok=(bmc.toString()).equals("0.000000123456789");
+  bip=new BigInteger("123456789123456789123456789"); // biggie
+  bda=new com.ibm.icu.math.BigDecimal(bip);
+  bdb=new com.ibm.icu.math.BigDecimal(bip,7);
+  bmc=new com.ibm.icu.math.BigDecimal(bip,13);
+  bmd=new com.ibm.icu.math.BigDecimal(bip,19);
+  bme=new com.ibm.icu.math.BigDecimal(bip,29);
+  (new Test("cbs011")).ok=(bda.toString()).equals("123456789123456789123456789");
+  (new Test("cbs012")).ok=(bdb.toString()).equals("12345678912345678912.3456789");
+  (new Test("cbs013")).ok=(bmc.toString()).equals("12345678912345.6789123456789");
+  (new Test("cbs014")).ok=(bmd.toString()).equals("12345678.9123456789123456789");
+  (new Test("cbs015")).ok=(bme.toString()).equals("0.00123456789123456789123456789");
+  try{checknull:do{
+   new com.ibm.icu.math.BigDecimal((java.math.BigInteger)null,1);
+   flag=false;
+  }while(false);}
+  catch (java.lang.NullPointerException $5){
+   flag=true;
+  }/*checknull*/
+  (new Test("cbs004")).ok=flag;
+  try{checkscale:do{
+   new com.ibm.icu.math.BigDecimal(bip,-8);
+   flag=false;
+  }while(false);}
+  catch (java.lang.RuntimeException $6){e=$6;
+   flag=(e.getMessage()).equals("Negative scale: -8");
+  }/*checkscale*/
+  (new Test("cbs005")).ok=flag;
+  
+  // char[]
+  // We just test it's there
+  // Functionality is tested by BigDecimal(String).
+  ca=("123.45").toCharArray();
+  (new Test("cca001")).ok=((new com.ibm.icu.math.BigDecimal(ca)).toString()).equals("123.45");
+  try{checknull:do{
+   new com.ibm.icu.math.BigDecimal((char[])null);
+   flag=false;
+  }while(false);}
+  catch (java.lang.NullPointerException $7){
+   flag=true;
+  }/*checknull*/
+  (new Test("cca010")).ok=flag;
+  
+  // char[],int,int
+  // We just test it's there, and that offsets work.
+  // Functionality is tested by BigDecimal(String).
+  ca=("123.45").toCharArray();
+  (new Test("cca101")).ok=((new com.ibm.icu.math.BigDecimal(ca,0,6)).toString()).equals("123.45");
+  (new Test("cca102")).ok=((new com.ibm.icu.math.BigDecimal(ca,1,5)).toString()).equals("23.45");
+  (new Test("cca103")).ok=((new com.ibm.icu.math.BigDecimal(ca,2,4)).toString()).equals("3.45");
+  (new Test("cca104")).ok=((new com.ibm.icu.math.BigDecimal(ca,3,3)).toString()).equals("0.45");
+  (new Test("cca105")).ok=((new com.ibm.icu.math.BigDecimal(ca,4,2)).toString()).equals("45");
+  (new Test("cca106")).ok=((new com.ibm.icu.math.BigDecimal(ca,5,1)).toString()).equals("5");
+  
+  (new Test("cca110")).ok=((new com.ibm.icu.math.BigDecimal(ca,0,1)).toString()).equals("1");
+  (new Test("cca111")).ok=((new com.ibm.icu.math.BigDecimal(ca,1,1)).toString()).equals("2");
+  (new Test("cca112")).ok=((new com.ibm.icu.math.BigDecimal(ca,2,1)).toString()).equals("3");
+  (new Test("cca113")).ok=((new com.ibm.icu.math.BigDecimal(ca,4,1)).toString()).equals("4");
+  
+  (new Test("cca120")).ok=((new com.ibm.icu.math.BigDecimal(ca,0,2)).toString()).equals("12");
+  (new Test("cca121")).ok=((new com.ibm.icu.math.BigDecimal(ca,1,2)).toString()).equals("23");
+  (new Test("cca122")).ok=((new com.ibm.icu.math.BigDecimal(ca,2,2)).toString()).equals("3");
+  (new Test("cca123")).ok=((new com.ibm.icu.math.BigDecimal(ca,3,2)).toString()).equals("0.4");
+  
+  (new Test("cca130")).ok=((new com.ibm.icu.math.BigDecimal(ca,0,3)).toString()).equals("123");
+  (new Test("cca131")).ok=((new com.ibm.icu.math.BigDecimal(ca,1,3)).toString()).equals("23");
+  (new Test("cca132")).ok=((new com.ibm.icu.math.BigDecimal(ca,2,3)).toString()).equals("3.4");
+  
+  (new Test("cca140")).ok=((new com.ibm.icu.math.BigDecimal(ca,0,4)).toString()).equals("123");
+  (new Test("cca141")).ok=((new com.ibm.icu.math.BigDecimal(ca,1,4)).toString()).equals("23.4");
+  
+  (new Test("cca150")).ok=((new com.ibm.icu.math.BigDecimal(ca,0,5)).toString()).equals("123.4");
+  
+  // a couple of oddies
+  ca=("x23.4x").toCharArray();
+  (new Test("cca160")).ok=((new com.ibm.icu.math.BigDecimal(ca,1,4)).toString()).equals("23.4");
+  (new Test("cca161")).ok=((new com.ibm.icu.math.BigDecimal(ca,1,1)).toString()).equals("2");
+  (new Test("cca162")).ok=((new com.ibm.icu.math.BigDecimal(ca,4,1)).toString()).equals("4");
+  
+  ca=("0123456789.9876543210").toCharArray();
+  (new Test("cca163")).ok=((new com.ibm.icu.math.BigDecimal(ca,0,21)).toString()).equals("123456789.9876543210");
+  (new Test("cca164")).ok=((new com.ibm.icu.math.BigDecimal(ca,1,20)).toString()).equals("123456789.9876543210");
+  (new Test("cca165")).ok=((new com.ibm.icu.math.BigDecimal(ca,2,19)).toString()).equals("23456789.9876543210");
+  (new Test("cca166")).ok=((new com.ibm.icu.math.BigDecimal(ca,2,18)).toString()).equals("23456789.987654321");
+  (new Test("cca167")).ok=((new com.ibm.icu.math.BigDecimal(ca,2,17)).toString()).equals("23456789.98765432");
+  (new Test("cca168")).ok=((new com.ibm.icu.math.BigDecimal(ca,2,16)).toString()).equals("23456789.9876543");
+  
+  try{checknull:do{
+   new com.ibm.icu.math.BigDecimal((char[])null,0,1);
+   flag=false;
+  }while(false);}
+  catch (java.lang.NullPointerException $8){
+   flag=true;
+  }/*checknull*/
+  (new Test("cca200")).ok=flag;
+  
+  try{checklen:do{
+   new com.ibm.icu.math.BigDecimal("123".toCharArray(),0,0);
+   flag=false;
+  }while(false);}
+  catch (java.lang.NumberFormatException $9){
+   flag=true;
+  }/*checklen*/
+  (new Test("cca201")).ok=flag;
+  
+  try{checkbound:do{
+   new com.ibm.icu.math.BigDecimal("123".toCharArray(),2,4);
+   flag=false;
+  }while(false);}
+  catch (java.lang.RuntimeException $10){ // anything OK
+   flag=true;
+  }/*checkbound*/
+  (new Test("cca202")).ok=flag;
+  try{checkbound2:do{
+   new com.ibm.icu.math.BigDecimal("123".toCharArray(),-1,2);
+   flag=false;
+  }while(false);}
+  catch (java.lang.RuntimeException $11){ // anything OK
+   flag=true;
+  }/*checkbound2*/
+  (new Test("cca203")).ok=flag;
+  try{checkbound3:do{
+   new com.ibm.icu.math.BigDecimal("123".toCharArray(),1,-2);
+   flag=false;
+  }while(false);}
+  catch (java.lang.RuntimeException $12){ // anything OK
+   flag=true;
+  }/*checkbound3*/
+  (new Test("cca204")).ok=flag;
+  
+  // double [deprecated]
+  // Note that many of these differ from the valueOf(double) results.
+  dzer=(double)0;
+  dpos=(double)1;
+  dpos=dpos/((double)10);
+  dneg=(double)-dpos;
+  (new Test("cdo001")).ok=((new com.ibm.icu.math.BigDecimal(dneg)).toString()).equals("-0.1000000000000000055511151231257827021181583404541015625");
+  
+  (new Test("cdo002")).ok=((new com.ibm.icu.math.BigDecimal(dzer)).toString()).equals("0"); // NB, not '0.0'
+  (new Test("cdo003")).ok=((new com.ibm.icu.math.BigDecimal(dpos)).toString()).equals("0.1000000000000000055511151231257827021181583404541015625");
+  
+  dpos5=(double)0.5D;
+  dneg5=(double)-dpos5;
+  (new Test("cdo004")).ok=((new com.ibm.icu.math.BigDecimal(dneg5)).toString()).equals("-0.5");
+  (new Test("cdo005")).ok=((new com.ibm.icu.math.BigDecimal(dpos5)).toString()).equals("0.5");
+  dmin=java.lang.Double.MIN_VALUE;
+  dmax=java.lang.Double.MAX_VALUE;
+  if (!isJDK15OrLater) // for some reason we format using scientific notation on 1.5 after 30 decimals or so
+      (new Test("cdo006")).ok=((new com.ibm.icu.math.BigDecimal(dmin)).toString()).equals("0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004940656458412465441765687928682213723650598026143247644255856825006755072702087518652998363616359923797965646954457177309266567103559397963987747960107818781263007131903114045278458171678489821036887186360569987307230500063874091535649843873124733972731696151400317153853980741262385655911710266585566867681870395603106249319452715914924553293054565444011274801297099995419319894090804165633245247571478690147267801593552386115501348035264934720193790268107107491703332226844753335720832431936092382893458368060106011506169809753078342277318329247904982524730776375927247874656084778203734469699533647017972677717585125660551199131504891101451037862738167250955837389733598993664809941164205702637090279242767544565229087538682506419718265533447265625");
+  
+  (new Test("cdo007")).ok=((new com.ibm.icu.math.BigDecimal(dmax)).toString()).equals("179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368");
+  
+  
+  // nasties
+  d=(double)9;
+  d=d/((double)10);
+  (new Test("cdo010")).ok=((new com.ibm.icu.math.BigDecimal(d)).toString()).equals("0.90000000000000002220446049250313080847263336181640625");
+  
+  d=d/((double)10);
+  (new Test("cdo011")).ok=((new com.ibm.icu.math.BigDecimal(d)).toString()).equals("0.0899999999999999966693309261245303787291049957275390625");
+  
+  d=d/((double)10);
+  (new Test("cdo012")).ok=((new com.ibm.icu.math.BigDecimal(d)).toString()).equals("0.00899999999999999931998839741709161899052560329437255859375");
+  
+  d=d/((double)10);
+  (new Test("cdo013")).ok=((new com.ibm.icu.math.BigDecimal(d)).toString()).equals("0.00089999999999999997536692664112933925935067236423492431640625");
+  
+  d=d/((double)10);
+  (new Test("cdo014")).ok=((new com.ibm.icu.math.BigDecimal(d)).toString()).equals("0.00008999999999999999211568180168541175589780323207378387451171875");
+  
+  d=d/((double)10);
+  (new Test("cdo015")).ok=((new com.ibm.icu.math.BigDecimal(d)).toString()).equals("0.00000899999999999999853394182236510090433512232266366481781005859375");
+  
+  d=d/((double)10);
+  if (!isJDK15OrLater)
+      (new Test("cdo016")).ok=((new com.ibm.icu.math.BigDecimal(d)).toString()).equals("0.000000899999999999999853394182236510090433512232266366481781005859375");
+  
+  d=d/((double)10);
+  if (!isJDK15OrLater)
+      (new Test("cdo017")).ok=((new com.ibm.icu.math.BigDecimal(d)).toString()).equals("0.0000000899999999999999853394182236510090433512232266366481781005859375");
+  
+  d=d/((double)10);
+  if (!isJDK15OrLater)
+      (new Test("cdo018")).ok=((new com.ibm.icu.math.BigDecimal(d)).toString()).equals("0.000000008999999999999997872197332322678764437995369007694534957408905029296875");
+  
+  
+  try{checkpin:do{
+   new com.ibm.icu.math.BigDecimal(java.lang.Double.POSITIVE_INFINITY);
+   flag=false;
+  }while(false);}
+  catch (java.lang.NumberFormatException $13){
+   flag=true;
+  }/*checkpin*/
+  (new Test("cdo101")).ok=flag;
+  try{checknin:do{
+   new com.ibm.icu.math.BigDecimal(java.lang.Double.NEGATIVE_INFINITY);
+   flag=false;
+  }while(false);}
+  catch (java.lang.NumberFormatException $14){
+   flag=true;
+  }/*checknin*/
+  (new Test("cdo102")).ok=flag;
+  try{checknan:do{
+   new com.ibm.icu.math.BigDecimal(java.lang.Double.NaN);
+   flag=false;
+  }while(false);}
+  catch (java.lang.NumberFormatException $15){
+   flag=true;
+  }/*checknan*/
+  (new Test("cdo103")).ok=flag;
+  
+  // int
+  (new Test("cin001")).ok=((new com.ibm.icu.math.BigDecimal(imin)).toString()).equals("-2147483648");
+  (new Test("cin002")).ok=((new com.ibm.icu.math.BigDecimal(imax)).toString()).equals("2147483647");
+  (new Test("cin003")).ok=((new com.ibm.icu.math.BigDecimal(ineg)).toString()).equals("-1");
+  (new Test("cin004")).ok=((new com.ibm.icu.math.BigDecimal(izer)).toString()).equals("0");
+  (new Test("cin005")).ok=((new com.ibm.icu.math.BigDecimal(ipos)).toString()).equals("1");
+  (new Test("cin006")).ok=((new com.ibm.icu.math.BigDecimal(10)).toString()).equals("10");
+  (new Test("cin007")).ok=((new com.ibm.icu.math.BigDecimal(9)).toString()).equals("9");
+  (new Test("cin008")).ok=((new com.ibm.icu.math.BigDecimal(5)).toString()).equals("5");
+  (new Test("cin009")).ok=((new com.ibm.icu.math.BigDecimal(2)).toString()).equals("2");
+  (new Test("cin010")).ok=((new com.ibm.icu.math.BigDecimal(-2)).toString()).equals("-2");
+  (new Test("cin011")).ok=((new com.ibm.icu.math.BigDecimal(-5)).toString()).equals("-5");
+  (new Test("cin012")).ok=((new com.ibm.icu.math.BigDecimal(-9)).toString()).equals("-9");
+  (new Test("cin013")).ok=((new com.ibm.icu.math.BigDecimal(-10)).toString()).equals("-10");
+  (new Test("cin014")).ok=((new com.ibm.icu.math.BigDecimal(-11)).toString()).equals("-11");
+  (new Test("cin015")).ok=((new com.ibm.icu.math.BigDecimal(-99)).toString()).equals("-99");
+  (new Test("cin016")).ok=((new com.ibm.icu.math.BigDecimal(-100)).toString()).equals("-100");
+  (new Test("cin017")).ok=((new com.ibm.icu.math.BigDecimal(-999)).toString()).equals("-999");
+  (new Test("cin018")).ok=((new com.ibm.icu.math.BigDecimal(-1000)).toString()).equals("-1000");
+  
+  (new Test("cin019")).ok=((new com.ibm.icu.math.BigDecimal(11)).toString()).equals("11");
+  (new Test("cin020")).ok=((new com.ibm.icu.math.BigDecimal(99)).toString()).equals("99");
+  (new Test("cin021")).ok=((new com.ibm.icu.math.BigDecimal(100)).toString()).equals("100");
+  (new Test("cin022")).ok=((new com.ibm.icu.math.BigDecimal(999)).toString()).equals("999");
+  (new Test("cin023")).ok=((new com.ibm.icu.math.BigDecimal(1000)).toString()).equals("1000");
+  
+  // long
+  (new Test("clo001")).ok=((new com.ibm.icu.math.BigDecimal(lmin)).toString()).equals("-9223372036854775808");
+  (new Test("clo002")).ok=((new com.ibm.icu.math.BigDecimal(lmax)).toString()).equals("9223372036854775807");
+  (new Test("clo003")).ok=((new com.ibm.icu.math.BigDecimal(lneg)).toString()).equals("-1");
+  (new Test("clo004")).ok=((new com.ibm.icu.math.BigDecimal(lzer)).toString()).equals("0");
+  (new Test("clo005")).ok=((new com.ibm.icu.math.BigDecimal(lpos)).toString()).equals("1");
+  
+  // String [many more examples are elsewhere]
+  // strings without E cannot generate E in result
+  (new Test("cst001")).ok=((new com.ibm.icu.math.BigDecimal("12")).toString()).equals("12");
+  (new Test("cst002")).ok=((new com.ibm.icu.math.BigDecimal("-76")).toString()).equals("-76");
+  (new Test("cst003")).ok=((new com.ibm.icu.math.BigDecimal("12.76")).toString()).equals("12.76");
+  (new Test("cst004")).ok=((new com.ibm.icu.math.BigDecimal("+12.76")).toString()).equals("12.76");
+  (new Test("cst005")).ok=((new com.ibm.icu.math.BigDecimal("012.76")).toString()).equals("12.76");
+  (new Test("cst006")).ok=((new com.ibm.icu.math.BigDecimal("+0.003")).toString()).equals("0.003");
+  (new Test("cst007")).ok=((new com.ibm.icu.math.BigDecimal("17.")).toString()).equals("17");
+  (new Test("cst008")).ok=((new com.ibm.icu.math.BigDecimal(".5")).toString()).equals("0.5");
+  (new Test("cst009")).ok=((new com.ibm.icu.math.BigDecimal("044")).toString()).equals("44");
+  (new Test("cst010")).ok=((new com.ibm.icu.math.BigDecimal("0044")).toString()).equals("44");
+  (new Test("cst011")).ok=((new com.ibm.icu.math.BigDecimal("0.0005")).toString()).equals("0.0005");
+  (new Test("cst012")).ok=((new com.ibm.icu.math.BigDecimal("00.00005")).toString()).equals("0.00005");
+  (new Test("cst013")).ok=((new com.ibm.icu.math.BigDecimal("0.000005")).toString()).equals("0.000005");
+  (new Test("cst014")).ok=((new com.ibm.icu.math.BigDecimal("0.0000005")).toString()).equals("0.0000005"); // \NR
+  (new Test("cst015")).ok=((new com.ibm.icu.math.BigDecimal("0.00000005")).toString()).equals("0.00000005"); // \NR
+  (new Test("cst016")).ok=((new com.ibm.icu.math.BigDecimal("12345678.876543210")).toString()).equals("12345678.876543210");
+  (new Test("cst017")).ok=((new com.ibm.icu.math.BigDecimal("2345678.876543210")).toString()).equals("2345678.876543210");
+  (new Test("cst018")).ok=((new com.ibm.icu.math.BigDecimal("345678.876543210")).toString()).equals("345678.876543210");
+  (new Test("cst019")).ok=((new com.ibm.icu.math.BigDecimal("0345678.87654321")).toString()).equals("345678.87654321");
+  (new Test("cst020")).ok=((new com.ibm.icu.math.BigDecimal("345678.8765432")).toString()).equals("345678.8765432");
+  (new Test("cst021")).ok=((new com.ibm.icu.math.BigDecimal("+345678.8765432")).toString()).equals("345678.8765432");
+  (new Test("cst022")).ok=((new com.ibm.icu.math.BigDecimal("+0345678.8765432")).toString()).equals("345678.8765432");
+  (new Test("cst023")).ok=((new com.ibm.icu.math.BigDecimal("+00345678.8765432")).toString()).equals("345678.8765432");
+  (new Test("cst024")).ok=((new com.ibm.icu.math.BigDecimal("-345678.8765432")).toString()).equals("-345678.8765432");
+  (new Test("cst025")).ok=((new com.ibm.icu.math.BigDecimal("-0345678.8765432")).toString()).equals("-345678.8765432");
+  (new Test("cst026")).ok=((new com.ibm.icu.math.BigDecimal("-00345678.8765432")).toString()).equals("-345678.8765432");
+  
+  // exotics --
+  (new Test("cst035")).ok=((new com.ibm.icu.math.BigDecimal("\u0e57.\u0e50")).toString()).equals("7.0");
+  (new Test("cst036")).ok=((new com.ibm.icu.math.BigDecimal("\u0b66.\u0b67")).toString()).equals("0.1");
+  (new Test("cst037")).ok=((new com.ibm.icu.math.BigDecimal("\u0b66\u0b66")).toString()).equals("0");
+  (new Test("cst038")).ok=((new com.ibm.icu.math.BigDecimal("\u0b6a\u0b66")).toString()).equals("40");
+  
+  // strings with E
+  (new Test("cst040")).ok=((new com.ibm.icu.math.BigDecimal("1E+9")).toString()).equals("1E+9");
+  (new Test("cst041")).ok=((new com.ibm.icu.math.BigDecimal("1e+09")).toString()).equals("1E+9");
+  (new Test("cst042")).ok=((new com.ibm.icu.math.BigDecimal("1E+90")).toString()).equals("1E+90");
+  (new Test("cst043")).ok=((new com.ibm.icu.math.BigDecimal("+1E+009")).toString()).equals("1E+9");
+  (new Test("cst044")).ok=((new com.ibm.icu.math.BigDecimal("0E+9")).toString()).equals("0");
+  (new Test("cst045")).ok=((new com.ibm.icu.math.BigDecimal("1E+9")).toString()).equals("1E+9");
+  (new Test("cst046")).ok=((new com.ibm.icu.math.BigDecimal("1E+09")).toString()).equals("1E+9");
+  (new Test("cst047")).ok=((new com.ibm.icu.math.BigDecimal("1e+90")).toString()).equals("1E+90");
+  (new Test("cst048")).ok=((new com.ibm.icu.math.BigDecimal("1E+009")).toString()).equals("1E+9");
+  (new Test("cst049")).ok=((new com.ibm.icu.math.BigDecimal("0E+9")).toString()).equals("0");
+  (new Test("cst050")).ok=((new com.ibm.icu.math.BigDecimal("1E9")).toString()).equals("1E+9");
+  (new Test("cst051")).ok=((new com.ibm.icu.math.BigDecimal("1e09")).toString()).equals("1E+9");
+  (new Test("cst052")).ok=((new com.ibm.icu.math.BigDecimal("1E90")).toString()).equals("1E+90");
+  (new Test("cst053")).ok=((new com.ibm.icu.math.BigDecimal("1E009")).toString()).equals("1E+9");
+  (new Test("cst054")).ok=((new com.ibm.icu.math.BigDecimal("0E9")).toString()).equals("0");
+  (new Test("cst055")).ok=((new com.ibm.icu.math.BigDecimal("0.000e+0")).toString()).equals("0");
+  (new Test("cst056")).ok=((new com.ibm.icu.math.BigDecimal("0.000E-1")).toString()).equals("0");
+  (new Test("cst057")).ok=((new com.ibm.icu.math.BigDecimal("4E+9")).toString()).equals("4E+9");
+  (new Test("cst058")).ok=((new com.ibm.icu.math.BigDecimal("44E+9")).toString()).equals("4.4E+10");
+  (new Test("cst059")).ok=((new com.ibm.icu.math.BigDecimal("0.73e-7")).toString()).equals("7.3E-8");
+  (new Test("cst060")).ok=((new com.ibm.icu.math.BigDecimal("00E+9")).toString()).equals("0");
+  (new Test("cst061")).ok=((new com.ibm.icu.math.BigDecimal("00E-9")).toString()).equals("0");
+  (new Test("cst062")).ok=((new com.ibm.icu.math.BigDecimal("10E+9")).toString()).equals("1.0E+10");
+  (new Test("cst063")).ok=((new com.ibm.icu.math.BigDecimal("10E+09")).toString()).equals("1.0E+10");
+  (new Test("cst064")).ok=((new com.ibm.icu.math.BigDecimal("10e+90")).toString()).equals("1.0E+91");
+  (new Test("cst065")).ok=((new com.ibm.icu.math.BigDecimal("10E+009")).toString()).equals("1.0E+10");
+  (new Test("cst066")).ok=((new com.ibm.icu.math.BigDecimal("100e+9")).toString()).equals("1.00E+11");
+  (new Test("cst067")).ok=((new com.ibm.icu.math.BigDecimal("100e+09")).toString()).equals("1.00E+11");
+  (new Test("cst068")).ok=((new com.ibm.icu.math.BigDecimal("100E+90")).toString()).equals("1.00E+92");
+  (new Test("cst069")).ok=((new com.ibm.icu.math.BigDecimal("100e+009")).toString()).equals("1.00E+11");
+  
+  (new Test("cst070")).ok=((new com.ibm.icu.math.BigDecimal("1.265")).toString()).equals("1.265");
+  (new Test("cst071")).ok=((new com.ibm.icu.math.BigDecimal("1.265E-20")).toString()).equals("1.265E-20");
+  (new Test("cst072")).ok=((new com.ibm.icu.math.BigDecimal("1.265E-8")).toString()).equals("1.265E-8");
+  (new Test("cst073")).ok=((new com.ibm.icu.math.BigDecimal("1.265E-4")).toString()).equals("1.265E-4");
+  (new Test("cst074")).ok=((new com.ibm.icu.math.BigDecimal("1.265E-3")).toString()).equals("1.265E-3");
+  (new Test("cst075")).ok=((new com.ibm.icu.math.BigDecimal("1.265E-2")).toString()).equals("1.265E-2");
+  (new Test("cst076")).ok=((new com.ibm.icu.math.BigDecimal("1.265E-1")).toString()).equals("1.265E-1");
+  (new Test("cst077")).ok=((new com.ibm.icu.math.BigDecimal("1.265E-0")).toString()).equals("1.265");
+  (new Test("cst078")).ok=((new com.ibm.icu.math.BigDecimal("1.265E+1")).toString()).equals("1.265E+1");
+  (new Test("cst079")).ok=((new com.ibm.icu.math.BigDecimal("1.265E+2")).toString()).equals("1.265E+2");
+  (new Test("cst080")).ok=((new com.ibm.icu.math.BigDecimal("1.265E+3")).toString()).equals("1.265E+3");
+  (new Test("cst081")).ok=((new com.ibm.icu.math.BigDecimal("1.265E+4")).toString()).equals("1.265E+4");
+  (new Test("cst082")).ok=((new com.ibm.icu.math.BigDecimal("1.265E+8")).toString()).equals("1.265E+8");
+  (new Test("cst083")).ok=((new com.ibm.icu.math.BigDecimal("1.265E+20")).toString()).equals("1.265E+20");
+  
+  (new Test("cst090")).ok=((new com.ibm.icu.math.BigDecimal("12.65")).toString()).equals("12.65");
+  (new Test("cst091")).ok=((new com.ibm.icu.math.BigDecimal("12.65E-20")).toString()).equals("1.265E-19");
+  (new Test("cst092")).ok=((new com.ibm.icu.math.BigDecimal("12.65E-8")).toString()).equals("1.265E-7");
+  (new Test("cst093")).ok=((new com.ibm.icu.math.BigDecimal("12.65E-4")).toString()).equals("1.265E-3");
+  (new Test("cst094")).ok=((new com.ibm.icu.math.BigDecimal("12.65E-3")).toString()).equals("1.265E-2");
+  (new Test("cst095")).ok=((new com.ibm.icu.math.BigDecimal("12.65E-2")).toString()).equals("1.265E-1");
+  (new Test("cst096")).ok=((new com.ibm.icu.math.BigDecimal("12.65E-1")).toString()).equals("1.265");
+  (new Test("cst097")).ok=((new com.ibm.icu.math.BigDecimal("12.65E-0")).toString()).equals("1.265E+1");
+  (new Test("cst098")).ok=((new com.ibm.icu.math.BigDecimal("12.65E+1")).toString()).equals("1.265E+2");
+  (new Test("cst099")).ok=((new com.ibm.icu.math.BigDecimal("12.65E+2")).toString()).equals("1.265E+3");
+  (new Test("cst100")).ok=((new com.ibm.icu.math.BigDecimal("12.65E+3")).toString()).equals("1.265E+4");
+  (new Test("cst101")).ok=((new com.ibm.icu.math.BigDecimal("12.65E+4")).toString()).equals("1.265E+5");
+  (new Test("cst102")).ok=((new com.ibm.icu.math.BigDecimal("12.65E+8")).toString()).equals("1.265E+9");
+  (new Test("cst103")).ok=((new com.ibm.icu.math.BigDecimal("12.65E+20")).toString()).equals("1.265E+21");
+  
+  (new Test("cst110")).ok=((new com.ibm.icu.math.BigDecimal("126.5")).toString()).equals("126.5");
+  (new Test("cst111")).ok=((new com.ibm.icu.math.BigDecimal("126.5E-20")).toString()).equals("1.265E-18");
+  (new Test("cst112")).ok=((new com.ibm.icu.math.BigDecimal("126.5E-8")).toString()).equals("1.265E-6");
+  (new Test("cst113")).ok=((new com.ibm.icu.math.BigDecimal("126.5E-4")).toString()).equals("1.265E-2");
+  (new Test("cst114")).ok=((new com.ibm.icu.math.BigDecimal("126.5E-3")).toString()).equals("1.265E-1");
+  (new Test("cst115")).ok=((new com.ibm.icu.math.BigDecimal("126.5E-2")).toString()).equals("1.265");
+  (new Test("cst116")).ok=((new com.ibm.icu.math.BigDecimal("126.5E-1")).toString()).equals("1.265E+1");
+  (new Test("cst117")).ok=((new com.ibm.icu.math.BigDecimal("126.5E-0")).toString()).equals("1.265E+2");
+  (new Test("cst118")).ok=((new com.ibm.icu.math.BigDecimal("126.5E+1")).toString()).equals("1.265E+3");
+  (new Test("cst119")).ok=((new com.ibm.icu.math.BigDecimal("126.5E+2")).toString()).equals("1.265E+4");
+  (new Test("cst120")).ok=((new com.ibm.icu.math.BigDecimal("126.5E+3")).toString()).equals("1.265E+5");
+  (new Test("cst121")).ok=((new com.ibm.icu.math.BigDecimal("126.5E+4")).toString()).equals("1.265E+6");
+  (new Test("cst122")).ok=((new com.ibm.icu.math.BigDecimal("126.5E+8")).toString()).equals("1.265E+10");
+  (new Test("cst123")).ok=((new com.ibm.icu.math.BigDecimal("126.5E+20")).toString()).equals("1.265E+22");
+  
+  (new Test("cst130")).ok=((new com.ibm.icu.math.BigDecimal("1265")).toString()).equals("1265");
+  (new Test("cst131")).ok=((new com.ibm.icu.math.BigDecimal("1265E-20")).toString()).equals("1.265E-17");
+  (new Test("cst132")).ok=((new com.ibm.icu.math.BigDecimal("1265E-8")).toString()).equals("1.265E-5");
+  (new Test("cst133")).ok=((new com.ibm.icu.math.BigDecimal("1265E-4")).toString()).equals("1.265E-1");
+  (new Test("cst134")).ok=((new com.ibm.icu.math.BigDecimal("1265E-3")).toString()).equals("1.265");
+  (new Test("cst135")).ok=((new com.ibm.icu.math.BigDecimal("1265E-2")).toString()).equals("1.265E+1");
+  (new Test("cst136")).ok=((new com.ibm.icu.math.BigDecimal("1265E-1")).toString()).equals("1.265E+2");
+  (new Test("cst137")).ok=((new com.ibm.icu.math.BigDecimal("1265E-0")).toString()).equals("1.265E+3");
+  (new Test("cst138")).ok=((new com.ibm.icu.math.BigDecimal("1265E+1")).toString()).equals("1.265E+4");
+  (new Test("cst139")).ok=((new com.ibm.icu.math.BigDecimal("1265E+2")).toString()).equals("1.265E+5");
+  (new Test("cst140")).ok=((new com.ibm.icu.math.BigDecimal("1265E+3")).toString()).equals("1.265E+6");
+  (new Test("cst141")).ok=((new com.ibm.icu.math.BigDecimal("1265E+4")).toString()).equals("1.265E+7");
+  (new Test("cst142")).ok=((new com.ibm.icu.math.BigDecimal("1265E+8")).toString()).equals("1.265E+11");
+  (new Test("cst143")).ok=((new com.ibm.icu.math.BigDecimal("1265E+20")).toString()).equals("1.265E+23");
+  
+  (new Test("cst150")).ok=((new com.ibm.icu.math.BigDecimal("0.1265")).toString()).equals("0.1265");
+  (new Test("cst151")).ok=((new com.ibm.icu.math.BigDecimal("0.1265E-20")).toString()).equals("1.265E-21");
+  (new Test("cst152")).ok=((new com.ibm.icu.math.BigDecimal("0.1265E-8")).toString()).equals("1.265E-9");
+  (new Test("cst153")).ok=((new com.ibm.icu.math.BigDecimal("0.1265E-4")).toString()).equals("1.265E-5");
+  (new Test("cst154")).ok=((new com.ibm.icu.math.BigDecimal("0.1265E-3")).toString()).equals("1.265E-4");
+  (new Test("cst155")).ok=((new com.ibm.icu.math.BigDecimal("0.1265E-2")).toString()).equals("1.265E-3");
+  (new Test("cst156")).ok=((new com.ibm.icu.math.BigDecimal("0.1265E-1")).toString()).equals("1.265E-2");
+  (new Test("cst157")).ok=((new com.ibm.icu.math.BigDecimal("0.1265E-0")).toString()).equals("1.265E-1");
+  (new Test("cst158")).ok=((new com.ibm.icu.math.BigDecimal("0.1265E+1")).toString()).equals("1.265");
+  (new Test("cst159")).ok=((new com.ibm.icu.math.BigDecimal("0.1265E+2")).toString()).equals("1.265E+1");
+  (new Test("cst160")).ok=((new com.ibm.icu.math.BigDecimal("0.1265E+3")).toString()).equals("1.265E+2");
+  (new Test("cst161")).ok=((new com.ibm.icu.math.BigDecimal("0.1265E+4")).toString()).equals("1.265E+3");
+  (new Test("cst162")).ok=((new com.ibm.icu.math.BigDecimal("0.1265E+8")).toString()).equals("1.265E+7");
+  (new Test("cst163")).ok=((new com.ibm.icu.math.BigDecimal("0.1265E+20")).toString()).equals("1.265E+19");
+  
+  (new Test("cst170")).ok=((new com.ibm.icu.math.BigDecimal("0.09e999999999")).toString()).equals("9E+999999997");
+  (new Test("cst171")).ok=((new com.ibm.icu.math.BigDecimal("0.9e999999999")).toString()).equals("9E+999999998");
+  (new Test("cst172")).ok=((new com.ibm.icu.math.BigDecimal("9e999999999")).toString()).equals("9E+999999999");
+  (new Test("cst173")).ok=((new com.ibm.icu.math.BigDecimal("9.9e999999999")).toString()).equals("9.9E+999999999");
+  (new Test("cst174")).ok=((new com.ibm.icu.math.BigDecimal("9.99e999999999")).toString()).equals("9.99E+999999999");
+  (new Test("cst175")).ok=((new com.ibm.icu.math.BigDecimal("9.99e-999999999")).toString()).equals("9.99E-999999999");
+  (new Test("cst176")).ok=((new com.ibm.icu.math.BigDecimal("9.9e-999999999")).toString()).equals("9.9E-999999999");
+  (new Test("cst177")).ok=((new com.ibm.icu.math.BigDecimal("9e-999999999")).toString()).equals("9E-999999999");
+  (new Test("cst179")).ok=((new com.ibm.icu.math.BigDecimal("99e-999999999")).toString()).equals("9.9E-999999998");
+  (new Test("cst180")).ok=((new com.ibm.icu.math.BigDecimal("999e-999999999")).toString()).equals("9.99E-999999997");
+  
+  // baddies --
+  badstrings=new java.lang.String[]{"1..2",".","..","++1","--1","-+1","+-1","12e","12e++","12f4"," +1","+ 1","12 "," + 1"," - 1 ","x","-1-","12-","3+","","1e-","7e1000000000","","e100","\u0e5a","\u0b65","99e999999999","999e999999999","0.9e-999999999","0.09e-999999999","0.1e1000000000","10e-1000000000","0.9e9999999999","99e-9999999999","111e9999999999","1111e-9999999999"+" "+"111e*123","111e123-","111e+12+","111e1-3-","111e1*23","111e1e+3","1e1.0","1e123e","ten","ONE","1e.1","1e1.","1ee","e+1"}; // 200-203
+  // 204-207
+  // 208-211
+  // 211-214
+  // 215-219
+  // 220-222
+  // 223-224
+  // 225-226
+  // 227-228
+  // 229-230
+  // 231-232
+  // 233-234
+  // 235-237
+  // 238-240
+  // 241-244
+  // 245-248
+  
+  // watch out for commas on continuation lines
+  
+  {int $16=badstrings.length;i=0;i:for(;$16>0;$16--,i++){
+   try{
+    new com.ibm.icu.math.BigDecimal(badstrings[i]);
+    say(">>> cst"+(200+i)+":"+" "+badstrings[i]+" "+(new com.ibm.icu.math.BigDecimal(badstrings[i])).toString());
+    flag=false;
+   }
+   catch (java.lang.NumberFormatException $17){
+    flag=true;
+   }
+   (new Test("cst"+(200+i))).ok=flag;
+   }
+  }/*i*/
+  
+  try{checknull:do{
+   new com.ibm.icu.math.BigDecimal((java.lang.String)null);
+   flag=false;
+  }while(false);}
+  catch (java.lang.NullPointerException $18){
+   flag=true;
+  }/*checknull*/
+  (new Test("cst301")).ok=flag;
+  
+  summary("Constructors");
+  return;
+  }
+
+ /** Mutation tests (checks that contents of constant objects are unchanged). */
+ 
+ public void diagmutation(){
+  /* ---------------------------------------------------------------- */
+  /* Final tests -- check constants haven't mutated                   */
+  /*             -- also that MC objects haven't mutated              */
+  /* ---------------------------------------------------------------- */
+  (new Test("cuc001")).ok=(com.ibm.icu.math.BigDecimal.ZERO.toString()).equals("0");
+  (new Test("cuc002")).ok=(com.ibm.icu.math.BigDecimal.ONE.toString()).equals("1");
+  (new Test("cuc003")).ok=(com.ibm.icu.math.BigDecimal.TEN.toString()).equals("10");
+  
+  (new Test("cuc010")).ok=com.ibm.icu.math.BigDecimal.ROUND_CEILING==com.ibm.icu.math.MathContext.ROUND_CEILING;
+  (new Test("cuc011")).ok=com.ibm.icu.math.BigDecimal.ROUND_DOWN==com.ibm.icu.math.MathContext.ROUND_DOWN;
+  (new Test("cuc012")).ok=com.ibm.icu.math.BigDecimal.ROUND_FLOOR==com.ibm.icu.math.MathContext.ROUND_FLOOR;
+  (new Test("cuc013")).ok=com.ibm.icu.math.BigDecimal.ROUND_HALF_DOWN==com.ibm.icu.math.MathContext.ROUND_HALF_DOWN;
+  (new Test("cuc014")).ok=com.ibm.icu.math.BigDecimal.ROUND_HALF_EVEN==com.ibm.icu.math.MathContext.ROUND_HALF_EVEN;
+  (new Test("cuc015")).ok=com.ibm.icu.math.BigDecimal.ROUND_HALF_UP==com.ibm.icu.math.MathContext.ROUND_HALF_UP;
+  (new Test("cuc016")).ok=com.ibm.icu.math.BigDecimal.ROUND_UNNECESSARY==com.ibm.icu.math.MathContext.ROUND_UNNECESSARY;
+  (new Test("cuc017")).ok=com.ibm.icu.math.BigDecimal.ROUND_UP==com.ibm.icu.math.MathContext.ROUND_UP;
+  
+  (new Test("cuc020")).ok=(com.ibm.icu.math.MathContext.DEFAULT.getDigits())==9;
+  (new Test("cuc021")).ok=(com.ibm.icu.math.MathContext.DEFAULT.getForm())==com.ibm.icu.math.MathContext.SCIENTIFIC;
+  (new Test("cuc022")).ok=(com.ibm.icu.math.MathContext.DEFAULT.getLostDigits()?1:0)==0;
+  (new Test("cuc023")).ok=(com.ibm.icu.math.MathContext.DEFAULT.getRoundingMode())==com.ibm.icu.math.MathContext.ROUND_HALF_UP;
+  
+  // mc9  =MathContext(9)
+  // mcld =MathContext(9, SCIENTIFIC, 1)
+  // mcfd =MathContext(0, PLAIN)
+  (new Test("cuc030")).ok=(mc9.getDigits())==9;
+  (new Test("cuc031")).ok=(mc9.getForm())==com.ibm.icu.math.MathContext.SCIENTIFIC;
+  (new Test("cuc032")).ok=(mc9.getLostDigits()?1:0)==0;
+  (new Test("cuc033")).ok=(mc9.getRoundingMode())==com.ibm.icu.math.MathContext.ROUND_HALF_UP;
+  (new Test("cuc034")).ok=(mcld.getDigits())==9;
+  (new Test("cuc035")).ok=(mcld.getForm())==com.ibm.icu.math.MathContext.SCIENTIFIC;
+  (new Test("cuc036")).ok=(mcld.getLostDigits()?1:0)==1;
+  (new Test("cuc037")).ok=(mcld.getRoundingMode())==com.ibm.icu.math.MathContext.ROUND_HALF_UP;
+  (new Test("cuc038")).ok=(mcfd.getDigits())==0;
+  (new Test("cuc039")).ok=(mcfd.getForm())==com.ibm.icu.math.MathContext.PLAIN;
+  (new Test("cuc040")).ok=(mcfd.getLostDigits()?1:0)==0;
+  (new Test("cuc041")).ok=(mcfd.getRoundingMode())==com.ibm.icu.math.MathContext.ROUND_HALF_UP;
+  
+  summary("No mutation");
+ }
+
+ 
+ /* ----------------------------------------------------------------- */
+ /* Operator test methods                                             */
+ /* ----------------------------------------------------------------- */
+ // The use of context in these tests are primarily to show that they
+ // are correctly passed to the methods, except that we check that
+ // each method checks for lostDigits.
+ 
+ /** Test the {@link com.ibm.icu.math.BigDecimal#abs} method. */
+ 
+ public void diagabs(){
+  boolean flag=false;
+  java.lang.ArithmeticException ae=null;
+  
+  // most of the function of this is tested by add
+  (new Test("abs001")).ok=((new com.ibm.icu.math.BigDecimal("2")).abs().toString()).equals("2");
+  (new Test("abs002")).ok=((new com.ibm.icu.math.BigDecimal("-2")).abs().toString()).equals("2");
+  (new Test("abs003")).ok=((new com.ibm.icu.math.BigDecimal("+0.000")).abs().toString()).equals("0.000");
+  (new Test("abs004")).ok=((new com.ibm.icu.math.BigDecimal("00.000")).abs().toString()).equals("0.000");
+  (new Test("abs005")).ok=((new com.ibm.icu.math.BigDecimal("-0.000")).abs().toString()).equals("0.000");
+  (new Test("abs006")).ok=((new com.ibm.icu.math.BigDecimal("+0.000")).abs(mcdef).toString()).equals("0");
+  (new Test("abs007")).ok=((new com.ibm.icu.math.BigDecimal("00.000")).abs(mcdef).toString()).equals("0");
+  (new Test("abs008")).ok=((new com.ibm.icu.math.BigDecimal("-0.000")).abs(mcdef).toString()).equals("0");
+  (new Test("abs009")).ok=((new com.ibm.icu.math.BigDecimal("-2000000")).abs().toString()).equals("2000000");
+  (new Test("abs010")).ok=((new com.ibm.icu.math.BigDecimal("-2000000")).abs(mcdef).toString()).equals("2000000");
+  (new Test("abs011")).ok=((new com.ibm.icu.math.BigDecimal("-2000000")).abs(mc6).toString()).equals("2.00000E+6");
+  (new Test("abs012")).ok=((new com.ibm.icu.math.BigDecimal("2000000")).abs(mc6).toString()).equals("2.00000E+6");
+  (new Test("abs013")).ok=((new com.ibm.icu.math.BigDecimal("0.2")).abs().toString()).equals("0.2");
+  (new Test("abs014")).ok=((new com.ibm.icu.math.BigDecimal("-0.2")).abs().toString()).equals("0.2");
+  (new Test("abs015")).ok=((new com.ibm.icu.math.BigDecimal("0.01")).abs().toString()).equals("0.01");
+  (new Test("abs016")).ok=((new com.ibm.icu.math.BigDecimal("-0.01")).abs().toString()).equals("0.01");
+  try{checkdigits:do{
+   tenlong.abs(mcld);
+   flag=false;
+  }while(false);}
+  catch (java.lang.ArithmeticException $19){ae=$19;
+   flag=(ae.getMessage()).equals("Too many digits:"+" "+tenlong.toString());
+  }/*checkdigits*/
+  (new Test("abs020")).ok=flag;
+  // check lostdigits not raised if digits=0 [monadic method]
+  try{checkdigits:do{
+   tenlong.abs(mcld0);
+   flag=true;
+  }while(false);}
+  catch (java.lang.ArithmeticException $20){ae=$20;
+   flag=false;
+  }/*checkdigits*/
+  (new Test("abs021")).ok=flag;
+  try{checknull:do{
+   com.ibm.icu.math.BigDecimal.TEN.abs((com.ibm.icu.math.MathContext)null);
+   flag=false;
+  }while(false);}
+  catch (java.lang.NullPointerException $21){
+   flag=true;
+  }/*checknull*/
+  (new Test("abs022")).ok=flag;
+  
+  summary("abs");
+ }
+/* ----------------------------------------------------------------- */
+ 
+ /** Test the {@link com.ibm.icu.math.BigDecimal#add} method. */
+ 
+ public void diagadd(){
+  boolean flag=false;
+  com.ibm.icu.math.BigDecimal alhs;
+  com.ibm.icu.math.BigDecimal arhs;
+  java.lang.ArithmeticException ae=null;
+  
+  // [first group are 'quick confidence check']
+  (new Test("add001")).ok=((new com.ibm.icu.math.BigDecimal(2)).add(new com.ibm.icu.math.BigDecimal(3),mcdef).toString()).equals("5");
+  (new Test("add003")).ok=((new com.ibm.icu.math.BigDecimal("5.75")).add(new com.ibm.icu.math.BigDecimal("3.3"),mcdef).toString()).equals("9.05");
+  (new Test("add004")).ok=((new com.ibm.icu.math.BigDecimal("5")).add(new com.ibm.icu.math.BigDecimal("-3"),mcdef).toString()).equals("2");
+  (new Test("add005")).ok=((new com.ibm.icu.math.BigDecimal("-5")).add(new com.ibm.icu.math.BigDecimal("-3"),mcdef).toString()).equals("-8");
+  (new Test("add006")).ok=((new com.ibm.icu.math.BigDecimal("-7")).add(new com.ibm.icu.math.BigDecimal("2.5"),mcdef).toString()).equals("-4.5");
+  (new Test("add007")).ok=((new com.ibm.icu.math.BigDecimal("0.7")).add(new com.ibm.icu.math.BigDecimal("0.3"),mcdef).toString()).equals("1.0");
+  (new Test("add008")).ok=((new com.ibm.icu.math.BigDecimal("1.25")).add(new com.ibm.icu.math.BigDecimal("1.25"),mcdef).toString()).equals("2.50");
+  (new Test("add009")).ok=((new com.ibm.icu.math.BigDecimal("1.23456789")).add(new com.ibm.icu.math.BigDecimal("1.00000000"),mcdef).toString()).equals("2.23456789");
+  
+  (new Test("add010")).ok=((new com.ibm.icu.math.BigDecimal("1.23456789")).add(new com.ibm.icu.math.BigDecimal("1.00000011"),mcdef).toString()).equals("2.23456800");
+  
+  
+  (new Test("add011")).ok=((new com.ibm.icu.math.BigDecimal("0.4444444444")).add(new com.ibm.icu.math.BigDecimal("0.5555555555"),mcdef).toString()).equals("1.00000000");
+  
+  (new Test("add012")).ok=((new com.ibm.icu.math.BigDecimal("0.4444444440")).add(new com.ibm.icu.math.BigDecimal("0.5555555555"),mcdef).toString()).equals("1.00000000");
+  
+  (new Test("add013")).ok=((new com.ibm.icu.math.BigDecimal("0.4444444444")).add(new com.ibm.icu.math.BigDecimal("0.5555555550"),mcdef).toString()).equals("0.999999999");
+  
+  (new Test("add014")).ok=((new com.ibm.icu.math.BigDecimal("0.4444444444999")).add(new com.ibm.icu.math.BigDecimal("0"),mcdef).toString()).equals("0.444444444");
+  
+  (new Test("add015")).ok=((new com.ibm.icu.math.BigDecimal("0.4444444445000")).add(new com.ibm.icu.math.BigDecimal("0"),mcdef).toString()).equals("0.444444445");
+  
+  
+  (new Test("add016")).ok=((new com.ibm.icu.math.BigDecimal("70")).add(new com.ibm.icu.math.BigDecimal("10000e+9"),mcdef).toString()).equals("1.00000000E+13");
+  
+  (new Test("add017")).ok=((new com.ibm.icu.math.BigDecimal("700")).add(new com.ibm.icu.math.BigDecimal("10000e+9"),mcdef).toString()).equals("1.00000000E+13");
+  
+  (new Test("add018")).ok=((new com.ibm.icu.math.BigDecimal("7000")).add(new com.ibm.icu.math.BigDecimal("10000e+9"),mcdef).toString()).equals("1.00000000E+13");
+  
+  (new Test("add019")).ok=((new com.ibm.icu.math.BigDecimal("70000")).add(new com.ibm.icu.math.BigDecimal("10000e+9"),mcdef).toString()).equals("1.00000001E+13");
+  
+  (new Test("add020")).ok=((new com.ibm.icu.math.BigDecimal("700000")).add(new com.ibm.icu.math.BigDecimal("10000e+9"),mcdef).toString()).equals("1.00000007E+13");
+  
+  
+  // [Now the same group with fixed arithmetic]
+  (new Test("add030")).ok=((new com.ibm.icu.math.BigDecimal(2)).add(new com.ibm.icu.math.BigDecimal(3)).toString()).equals("5");
+  (new Test("add031")).ok=((new com.ibm.icu.math.BigDecimal("5.75")).add(new com.ibm.icu.math.BigDecimal("3.3")).toString()).equals("9.05");
+  (new Test("add032")).ok=((new com.ibm.icu.math.BigDecimal("5")).add(new com.ibm.icu.math.BigDecimal("-3")).toString()).equals("2");
+  (new Test("add033")).ok=((new com.ibm.icu.math.BigDecimal("-5")).add(new com.ibm.icu.math.BigDecimal("-3")).toString()).equals("-8");
+  (new Test("add034")).ok=((new com.ibm.icu.math.BigDecimal("-7")).add(new com.ibm.icu.math.BigDecimal("2.5")).toString()).equals("-4.5");
+  (new Test("add035")).ok=((new com.ibm.icu.math.BigDecimal("0.7")).add(new com.ibm.icu.math.BigDecimal("0.3")).toString()).equals("1.0");
+  (new Test("add036")).ok=((new com.ibm.icu.math.BigDecimal("1.25")).add(new com.ibm.icu.math.BigDecimal("1.25")).toString()).equals("2.50");
+  (new Test("add037")).ok=((new com.ibm.icu.math.BigDecimal("1.23456789")).add(new com.ibm.icu.math.BigDecimal("1.00000000")).toString()).equals("2.23456789");
+  
+  (new Test("add038")).ok=((new com.ibm.icu.math.BigDecimal("1.23456789")).add(new com.ibm.icu.math.BigDecimal("1.00000011")).toString()).equals("2.23456800");
+  
+  
+  (new Test("add039")).ok=((new com.ibm.icu.math.BigDecimal("0.4444444444")).add(new com.ibm.icu.math.BigDecimal("0.5555555555")).toString()).equals("0.9999999999");
+  
+  (new Test("add040")).ok=((new com.ibm.icu.math.BigDecimal("0.4444444440")).add(new com.ibm.icu.math.BigDecimal("0.5555555555")).toString()).equals("0.9999999995");
+  
+  (new Test("add041")).ok=((new com.ibm.icu.math.BigDecimal("0.4444444444")).add(new com.ibm.icu.math.BigDecimal("0.5555555550")).toString()).equals("0.9999999994");
+  
+  (new Test("add042")).ok=((new com.ibm.icu.math.BigDecimal("0.4444444444999")).add(new com.ibm.icu.math.BigDecimal("0")).toString()).equals("0.4444444444999");
+  
+  (new Test("add043")).ok=((new com.ibm.icu.math.BigDecimal("0.4444444445000")).add(new com.ibm.icu.math.BigDecimal("0")).toString()).equals("0.4444444445000");
+  
+  
+  (new Test("add044")).ok=((new com.ibm.icu.math.BigDecimal("70")).add(new com.ibm.icu.math.BigDecimal("10000e+9")).toString()).equals("10000000000070");
+  
+  (new Test("add045")).ok=((new com.ibm.icu.math.BigDecimal("700")).add(new com.ibm.icu.math.BigDecimal("10000e+9")).toString()).equals("10000000000700");
+  
+  (new Test("add046")).ok=((new com.ibm.icu.math.BigDecimal("7000")).add(new com.ibm.icu.math.BigDecimal("10000e+9")).toString()).equals("10000000007000");
+  
+  (new Test("add047")).ok=((new com.ibm.icu.math.BigDecimal("70000")).add(new com.ibm.icu.math.BigDecimal("10000e+9")).toString()).equals("10000000070000");
+  
+  (new Test("add048")).ok=((new com.ibm.icu.math.BigDecimal("700000")).add(new com.ibm.icu.math.BigDecimal("10000e+9")).toString()).equals("10000000700000");
+  
+  
+  // symmetry:
+  (new Test("add049")).ok=((new com.ibm.icu.math.BigDecimal("10000e+9")).add(new com.ibm.icu.math.BigDecimal("70"),mcdef).toString()).equals("1.00000000E+13");
+  
+  (new Test("add050")).ok=((new com.ibm.icu.math.BigDecimal("10000e+9")).add(new com.ibm.icu.math.BigDecimal("700"),mcdef).toString()).equals("1.00000000E+13");
+  
+  (new Test("add051")).ok=((new com.ibm.icu.math.BigDecimal("10000e+9")).add(new com.ibm.icu.math.BigDecimal("7000"),mcdef).toString()).equals("1.00000000E+13");
+  
+  (new Test("add052")).ok=((new com.ibm.icu.math.BigDecimal("10000e+9")).add(new com.ibm.icu.math.BigDecimal("70000"),mcdef).toString()).equals("1.00000001E+13");
+  
+  (new Test("add053")).ok=((new com.ibm.icu.math.BigDecimal("10000e+9")).add(new com.ibm.icu.math.BigDecimal("700000"),mcdef).toString()).equals("1.00000007E+13");
+  
+  
+  (new Test("add054")).ok=((new com.ibm.icu.math.BigDecimal("10000e+9")).add(new com.ibm.icu.math.BigDecimal("70")).toString()).equals("10000000000070");
+  
+  (new Test("add055")).ok=((new com.ibm.icu.math.BigDecimal("10000e+9")).add(new com.ibm.icu.math.BigDecimal("700")).toString()).equals("10000000000700");
+  
+  (new Test("add056")).ok=((new com.ibm.icu.math.BigDecimal("10000e+9")).add(new com.ibm.icu.math.BigDecimal("7000")).toString()).equals("10000000007000");
+  
+  (new Test("add057")).ok=((new com.ibm.icu.math.BigDecimal("10000e+9")).add(new com.ibm.icu.math.BigDecimal("70000")).toString()).equals("10000000070000");
+  
+  (new Test("add058")).ok=((new com.ibm.icu.math.BigDecimal("10000e+9")).add(new com.ibm.icu.math.BigDecimal("700000")).toString()).equals("10000000700000");
+  
+  // some rounding effects
+  (new Test("add059")).ok=((new com.ibm.icu.math.BigDecimal("0.9998")).add(new com.ibm.icu.math.BigDecimal("0.0000")).toString()).equals("0.9998");
+  
+  (new Test("add060")).ok=((new com.ibm.icu.math.BigDecimal("0.9998")).add(new com.ibm.icu.math.BigDecimal("0.0001")).toString()).equals("0.9999");
+  
+  (new Test("add061")).ok=((new com.ibm.icu.math.BigDecimal("0.9998")).add(new com.ibm.icu.math.BigDecimal("0.0002")).toString()).equals("1.0000");
+  
+  (new Test("add062")).ok=((new com.ibm.icu.math.BigDecimal("0.9998")).add(new com.ibm.icu.math.BigDecimal("0.0003")).toString()).equals("1.0001");
+  
+  
+  // MC
+  (new Test("add070")).ok=((new com.ibm.icu.math.BigDecimal("10000e+9")).add(new com.ibm.icu.math.BigDecimal("70000"),mcfd).toString()).equals("10000000070000");
+  
+  (new Test("add071")).ok=((new com.ibm.icu.math.BigDecimal("10000e+9")).add(new com.ibm.icu.math.BigDecimal("70000"),mcdef).toString()).equals("1.00000001E+13");
+  
+  (new Test("add072")).ok=((new com.ibm.icu.math.BigDecimal("10000e+9")).add(new com.ibm.icu.math.BigDecimal("70000"),mc6).toString()).equals("1.00000E+13");
+  
+  
+  // zero preservation
+  (new Test("add080")).ok=(com.ibm.icu.math.BigDecimal.ONE.add(new com.ibm.icu.math.BigDecimal("0.0001"),mc6).toString()).equals("1.0001");
+  
+  (new Test("add081")).ok=(com.ibm.icu.math.BigDecimal.ONE.add(new com.ibm.icu.math.BigDecimal("0.00001"),mc6).toString()).equals("1.00001");
+  
+  (new Test("add082")).ok=(com.ibm.icu.math.BigDecimal.ONE.add(new com.ibm.icu.math.BigDecimal("0.000001"),mc6).toString()).equals("1.00000");
+  
+  (new Test("add083")).ok=(com.ibm.icu.math.BigDecimal.ONE.add(new com.ibm.icu.math.BigDecimal("0.0000001"),mc6).toString()).equals("1.00000");
+  
+  (new Test("add084")).ok=(com.ibm.icu.math.BigDecimal.ONE.add(new com.ibm.icu.math.BigDecimal("0.00000001"),mc6).toString()).equals("1.00000");
+  
+  
+  // more fixed, LHS swaps
+  (new Test("add090")).ok=((new com.ibm.icu.math.BigDecimal("-56267E-10")).add(zero).toString()).equals("-0.0000056267");
+  (new Test("add091")).ok=((new com.ibm.icu.math.BigDecimal("-56267E-6")).add(zero).toString()).equals("-0.056267");
+  (new Test("add092")).ok=((new com.ibm.icu.math.BigDecimal("-56267E-5")).add(zero).toString()).equals("-0.56267");
+  (new Test("add093")).ok=((new com.ibm.icu.math.BigDecimal("-56267E-4")).add(zero).toString()).equals("-5.6267");
+  (new Test("add094")).ok=((new com.ibm.icu.math.BigDecimal("-56267E-3")).add(zero).toString()).equals("-56.267");
+  (new Test("add095")).ok=((new com.ibm.icu.math.BigDecimal("-56267E-2")).add(zero).toString()).equals("-562.67");
+  (new Test("add096")).ok=((new com.ibm.icu.math.BigDecimal("-56267E-1")).add(zero).toString()).equals("-5626.7");
+  (new Test("add097")).ok=((new com.ibm.icu.math.BigDecimal("-56267E-0")).add(zero).toString()).equals("-56267");
+  (new Test("add098")).ok=((new com.ibm.icu.math.BigDecimal("-5E-10")).add(zero).toString()).equals("-0.0000000005");
+  (new Test("add099")).ok=((new com.ibm.icu.math.BigDecimal("-5E-5")).add(zero).toString()).equals("-0.00005");
+  (new Test("add100")).ok=((new com.ibm.icu.math.BigDecimal("-5E-1")).add(zero).toString()).equals("-0.5");
+  (new Test("add101")).ok=((new com.ibm.icu.math.BigDecimal("-5E-10")).add(zero).toString()).equals("-0.0000000005");
+  (new Test("add102")).ok=((new com.ibm.icu.math.BigDecimal("-5E-5")).add(zero).toString()).equals("-0.00005");
+  (new Test("add103")).ok=((new com.ibm.icu.math.BigDecimal("-5E-1")).add(zero).toString()).equals("-0.5");
+  (new Test("add104")).ok=((new com.ibm.icu.math.BigDecimal("-5E10")).add(zero).toString()).equals("-50000000000");
+  (new Test("add105")).ok=((new com.ibm.icu.math.BigDecimal("-5E5")).add(zero).toString()).equals("-500000");
+  (new Test("add106")).ok=((new com.ibm.icu.math.BigDecimal("-5E1")).add(zero).toString()).equals("-50");
+  (new Test("add107")).ok=((new com.ibm.icu.math.BigDecimal("-5E0")).add(zero).toString()).equals("-5");
+  
+  // more fixed, RHS swaps
+  (new Test("add108")).ok=(zero.add(new com.ibm.icu.math.BigDecimal("-56267E-10")).toString()).equals("-0.0000056267");
+  (new Test("add109")).ok=(zero.add(new com.ibm.icu.math.BigDecimal("-56267E-6")).toString()).equals("-0.056267");
+  (new Test("add110")).ok=(zero.add(new com.ibm.icu.math.BigDecimal("-56267E-5")).toString()).equals("-0.56267");
+  (new Test("add111")).ok=(zero.add(new com.ibm.icu.math.BigDecimal("-56267E-4")).toString()).equals("-5.6267");
+  (new Test("add112")).ok=(zero.add(new com.ibm.icu.math.BigDecimal("-56267E-3")).toString()).equals("-56.267");
+  (new Test("add113")).ok=(zero.add(new com.ibm.icu.math.BigDecimal("-56267E-2")).toString()).equals("-562.67");
+  (new Test("add114")).ok=(zero.add(new com.ibm.icu.math.BigDecimal("-56267E-1")).toString()).equals("-5626.7");
+  (new Test("add115")).ok=(zero.add(new com.ibm.icu.math.BigDecimal("-56267E-0")).toString()).equals("-56267");
+  (new Test("add116")).ok=(zero.add(new com.ibm.icu.math.BigDecimal("-5E-10")).toString()).equals("-0.0000000005");
+  (new Test("add117")).ok=(zero.add(new com.ibm.icu.math.BigDecimal("-5E-5")).toString()).equals("-0.00005");
+  (new Test("add118")).ok=(zero.add(new com.ibm.icu.math.BigDecimal("-5E-1")).toString()).equals("-0.5");
+  (new Test("add129")).ok=(zero.add(new com.ibm.icu.math.BigDecimal("-5E-10")).toString()).equals("-0.0000000005");
+  (new Test("add130")).ok=(zero.add(new com.ibm.icu.math.BigDecimal("-5E-5")).toString()).equals("-0.00005");
+  (new Test("add131")).ok=(zero.add(new com.ibm.icu.math.BigDecimal("-5E-1")).toString()).equals("-0.5");
+  (new Test("add132")).ok=(zero.add(new com.ibm.icu.math.BigDecimal("-5E10")).toString()).equals("-50000000000");
+  (new Test("add133")).ok=(zero.add(new com.ibm.icu.math.BigDecimal("-5E5")).toString()).equals("-500000");
+  (new Test("add134")).ok=(zero.add(new com.ibm.icu.math.BigDecimal("-5E1")).toString()).equals("-50");
+  (new Test("add135")).ok=(zero.add(new com.ibm.icu.math.BigDecimal("-5E0")).toString()).equals("-5");
+  
+  // [some of the next group are really constructor tests]
+  (new Test("add140")).ok=((new com.ibm.icu.math.BigDecimal("00.0")).add(new com.ibm.icu.math.BigDecimal("0.00"),mcdef).toString()).equals("0");
+  (new Test("add141")).ok=((new com.ibm.icu.math.BigDecimal("0.00")).add(new com.ibm.icu.math.BigDecimal("00.0"),mcdef).toString()).equals("0");
+  (new Test("add142")).ok=((new com.ibm.icu.math.BigDecimal("3")).add(new com.ibm.icu.math.BigDecimal(".3"),mcdef).toString()).equals("3.3");
+  (new Test("add143")).ok=((new com.ibm.icu.math.BigDecimal("3.")).add(new com.ibm.icu.math.BigDecimal(".3"),mcdef).toString()).equals("3.3");
+  (new Test("add144")).ok=((new com.ibm.icu.math.BigDecimal("3.0")).add(new com.ibm.icu.math.BigDecimal(".3"),mcdef).toString()).equals("3.3");
+  (new Test("add145")).ok=((new com.ibm.icu.math.BigDecimal("3.00")).add(new com.ibm.icu.math.BigDecimal(".3"),mcdef).toString()).equals("3.30");
+  (new Test("add146")).ok=((new com.ibm.icu.math.BigDecimal("3")).add(new com.ibm.icu.math.BigDecimal("3"),mcdef).toString()).equals("6");
+  (new Test("add147")).ok=((new com.ibm.icu.math.BigDecimal("3")).add(new com.ibm.icu.math.BigDecimal("+3"),mcdef).toString()).equals("6");
+  (new Test("add148")).ok=((new com.ibm.icu.math.BigDecimal("3")).add(new com.ibm.icu.math.BigDecimal("-3"),mcdef).toString()).equals("0");
+  (new Test("add149")).ok=((new com.ibm.icu.math.BigDecimal("0.03")).add(new com.ibm.icu.math.BigDecimal("-0.03"),mcdef).toString()).equals("0");
+  
+  (new Test("add150")).ok=((new com.ibm.icu.math.BigDecimal("00.0")).add(new com.ibm.icu.math.BigDecimal("0.00")).toString()).equals("0.00");
+  (new Test("add151")).ok=((new com.ibm.icu.math.BigDecimal("0.00")).add(new com.ibm.icu.math.BigDecimal("00.0")).toString()).equals("0.00");
+  (new Test("add152")).ok=((new com.ibm.icu.math.BigDecimal("3")).add(new com.ibm.icu.math.BigDecimal(".3")).toString()).equals("3.3");
+  (new Test("add153")).ok=((new com.ibm.icu.math.BigDecimal("3.")).add(new com.ibm.icu.math.BigDecimal(".3")).toString()).equals("3.3");
+  (new Test("add154")).ok=((new com.ibm.icu.math.BigDecimal("3.0")).add(new com.ibm.icu.math.BigDecimal(".3")).toString()).equals("3.3");
+  (new Test("add155")).ok=((new com.ibm.icu.math.BigDecimal("3.00")).add(new com.ibm.icu.math.BigDecimal(".3")).toString()).equals("3.30");
+  (new Test("add156")).ok=((new com.ibm.icu.math.BigDecimal("3")).add(new com.ibm.icu.math.BigDecimal("3")).toString()).equals("6");
+  (new Test("add157")).ok=((new com.ibm.icu.math.BigDecimal("3")).add(new com.ibm.icu.math.BigDecimal("+3")).toString()).equals("6");
+  (new Test("add158")).ok=((new com.ibm.icu.math.BigDecimal("3")).add(new com.ibm.icu.math.BigDecimal("-3")).toString()).equals("0");
+  (new Test("add159")).ok=((new com.ibm.icu.math.BigDecimal("0.3")).add(new com.ibm.icu.math.BigDecimal("-0.3")).toString()).equals("0.0");
+  (new Test("add160")).ok=((new com.ibm.icu.math.BigDecimal("0.03")).add(new com.ibm.icu.math.BigDecimal("-0.03")).toString()).equals("0.00");
+  (new Test("add161")).ok=((new com.ibm.icu.math.BigDecimal("7E+12")).add(new com.ibm.icu.math.BigDecimal("-1"),mcfd).toString()).equals("6999999999999");
+  
+  (new Test("add162")).ok=((new com.ibm.icu.math.BigDecimal("7E+12")).add(new com.ibm.icu.math.BigDecimal("1.11"),mcfd).toString()).equals("7000000000001.11");
+  
+  (new Test("add163")).ok=((new com.ibm.icu.math.BigDecimal("1.11")).add(new com.ibm.icu.math.BigDecimal("7E+12"),mcfd).toString()).equals("7000000000001.11");
+  
+  
+  // input preparation tests
+  alhs=new com.ibm.icu.math.BigDecimal("12345678900000");
+  arhs=new com.ibm.icu.math.BigDecimal("9999999999999");
+  (new Test("add170")).ok=(alhs.add(arhs,mc3).toString()).equals("2.23E+13");
+  (new Test("add171")).ok=(arhs.add(alhs,mc3).toString()).equals("2.23E+13");
+  (new Test("add172")).ok=((new com.ibm.icu.math.BigDecimal("12E+3")).add(new com.ibm.icu.math.BigDecimal("3456"),mc3).toString()).equals("1.55E+4");
+  // next was 1.54E+4 under old [truncate to digits+1] rules
+  (new Test("add173")).ok=((new com.ibm.icu.math.BigDecimal("12E+3")).add(new com.ibm.icu.math.BigDecimal("3446"),mc3).toString()).equals("1.55E+4");
+  (new Test("add174")).ok=((new com.ibm.icu.math.BigDecimal("12E+3")).add(new com.ibm.icu.math.BigDecimal("3454"),mc3).toString()).equals("1.55E+4");
+  (new Test("add175")).ok=((new com.ibm.icu.math.BigDecimal("12E+3")).add(new com.ibm.icu.math.BigDecimal("3444"),mc3).toString()).equals("1.54E+4");
+  
+  (new Test("add176")).ok=((new com.ibm.icu.math.BigDecimal("3456")).add(new com.ibm.icu.math.BigDecimal("12E+3"),mc3).toString()).equals("1.55E+4");
+  // next was 1.54E+4 under old [truncate to digits+1] rules
+  (new Test("add177")).ok=((new com.ibm.icu.math.BigDecimal("3446")).add(new com.ibm.icu.math.BigDecimal("12E+3"),mc3).toString()).equals("1.55E+4");
+  (new Test("add178")).ok=((new com.ibm.icu.math.BigDecimal("3454")).add(new com.ibm.icu.math.BigDecimal("12E+3"),mc3).toString()).equals("1.55E+4");
+  (new Test("add179")).ok=((new com.ibm.icu.math.BigDecimal("3444")).add(new com.ibm.icu.math.BigDecimal("12E+3"),mc3).toString()).equals("1.54E+4");
+  
+  try{checknull:do{
+   ten.add((com.ibm.icu.math.BigDecimal)null);
+   flag=false;
+  }while(false);}
+  catch (java.lang.NullPointerException $22){
+   flag=true;
+  }/*checknull*/
+  (new Test("add200")).ok=flag;
+  try{checknull2:do{
+   ten.add(ten,(com.ibm.icu.math.MathContext)null);
+   flag=false;
+  }while(false);}
+  catch (java.lang.NullPointerException $23){
+   flag=true;
+  }/*checknull2*/
+  (new Test("add201")).ok=flag;
+  
+  try{checkdigits:do{
+   tenlong.add(com.ibm.icu.math.BigDecimal.ZERO,mcld);
+   flag=false;
+  }while(false);}
+  catch (java.lang.ArithmeticException $24){ae=$24;
+   flag=(ae.getMessage()).equals("Too many digits:"+" "+tenlong.toString());
+  }/*checkdigits*/
+  (new Test("add202")).ok=flag;
+  try{checkdigits:do{
+   com.ibm.icu.math.BigDecimal.ZERO.add(tenlong,mcld);
+   flag=false;
+  }while(false);}
+  catch (java.lang.ArithmeticException $25){ae=$25;
+   flag=(ae.getMessage()).equals("Too many digits:"+" "+tenlong.toString());
+  }/*checkdigits*/
+  (new Test("add203")).ok=flag;
+  
+  // check lostdigits not raised if digits=0 [dyadic method]
+  try{checkdigits:do{
+   tenlong.add(com.ibm.icu.math.BigDecimal.ZERO,mcld0);
+   flag=true;
+  }while(false);}
+  catch (java.lang.ArithmeticException $26){ae=$26;
+   flag=false;
+  }/*checkdigits*/
+  (new Test("add204")).ok=flag;
+  try{checkdigits:do{
+   com.ibm.icu.math.BigDecimal.ZERO.add(tenlong,mcld0);
+   flag=true;
+  }while(false);}
+  catch (java.lang.ArithmeticException $27){ae=$27;
+   flag=false;
+  }/*checkdigits*/
+  (new Test("add205")).ok=flag;
+  
+  summary("add");
+ }
+
+ /* ----------------------------------------------------------------- */
+ /** Test the {@link com.ibm.icu.math.BigDecimal#compareTo(BigDecimal)} method. */
+ 
+ public void diagcompareto(){
+  boolean flag=false;
+  java.lang.ArithmeticException ae=null;
+  // we assume add/subtract test function; this just
+  // tests existence, exceptions, and possible results
+  
+  (new Test("cpt001")).ok=((new com.ibm.icu.math.BigDecimal("5")).compareTo(new com.ibm.icu.math.BigDecimal("2")))==1;
+  (new Test("cpt002")).ok=((new com.ibm.icu.math.BigDecimal("5")).compareTo(new com.ibm.icu.math.BigDecimal("5")))==0;
+  (new Test("cpt003")).ok=((new com.ibm.icu.math.BigDecimal("5")).compareTo(new com.ibm.icu.math.BigDecimal("5.00")))==0;
+  (new Test("cpt004")).ok=((new com.ibm.icu.math.BigDecimal("0.5")).compareTo(new com.ibm.icu.math.BigDecimal("0.5")))==0;
+  (new Test("cpt005")).ok=((new com.ibm.icu.math.BigDecimal("2")).compareTo(new com.ibm.icu.math.BigDecimal("5")))==(-1);
+  (new Test("cpt006")).ok=((new com.ibm.icu.math.BigDecimal("2")).compareTo(new com.ibm.icu.math.BigDecimal("5"),mcdef))==(-1);
+  (new Test("cpt007")).ok=((new com.ibm.icu.math.BigDecimal("2")).compareTo(new com.ibm.icu.math.BigDecimal("5"),mc6))==(-1);
+  (new Test("cpt008")).ok=((new com.ibm.icu.math.BigDecimal("2")).compareTo(new com.ibm.icu.math.BigDecimal("5"),mcfd))==(-1);
+  try{checknull:do{
+   ten.compareTo((com.ibm.icu.math.BigDecimal)null);
+   flag=false;
+  }while(false);}
+  catch (java.lang.NullPointerException $28){
+   flag=true;
+  }/*checknull*/
+  (new Test("cpt100")).ok=flag;
+  try{checknull2:do{
+   ten.compareTo(ten,(com.ibm.icu.math.MathContext)null);
+   flag=false;
+  }while(false);}
+  catch (java.lang.NullPointerException $29){
+   flag=true;
+  }/*checknull2*/
+  (new Test("cpt101")).ok=flag;
+  
+  try{checkdigits:do{
+   tenlong.compareTo(com.ibm.icu.math.BigDecimal.ONE,mcld);
+   flag=false;
+  }while(false);}
+  catch (java.lang.ArithmeticException $30){ae=$30;
+   flag=(ae.getMessage()).equals("Too many digits:"+" "+tenlong.toString());
+  }/*checkdigits*/
+  (new Test("cpt102")).ok=flag;
+  try{checkdigits:do{
+   com.ibm.icu.math.BigDecimal.ONE.compareTo(tenlong,mcld);
+   flag=false;
+  }while(false);}
+  catch (java.lang.ArithmeticException $31){ae=$31;
+   flag=(ae.getMessage()).equals("Too many digits:"+" "+tenlong.toString());
+  }/*checkdigits*/
+  (new Test("cpt103")).ok=flag;
+  
+  summary("compareTo");
+ }
+
+ /* ----------------------------------------------------------------- */
+ 
+ /** Test the {@link com.ibm.icu.math.BigDecimal#divide} method. */
+ 
+ public void diagdivide(){
+  boolean flag=false;
+  com.ibm.icu.math.MathContext rmcd;
+  int rhu;
+  int rd;
+  int ru;
+  java.lang.RuntimeException e=null;
+  java.lang.ArithmeticException ae=null;
+  
+  (new Test("div301")).ok=((new com.ibm.icu.math.BigDecimal("1")).divide(new com.ibm.icu.math.BigDecimal("3"),mcdef).toString()).equals("0.333333333");
+  (new Test("div302")).ok=((new com.ibm.icu.math.BigDecimal("2")).divide(new com.ibm.icu.math.BigDecimal("3"),mcdef).toString()).equals("0.666666667");
+  (new Test("div303")).ok=((new com.ibm.icu.math.BigDecimal("2.4")).divide(new com.ibm.icu.math.BigDecimal("1"),mcdef).toString()).equals("2.4");
+  (new Test("div304")).ok=((new com.ibm.icu.math.BigDecimal("2.4")).divide(new com.ibm.icu.math.BigDecimal("-1"),mcdef).toString()).equals("-2.4");
+  (new Test("div305")).ok=((new com.ibm.icu.math.BigDecimal("-2.4")).divide(new com.ibm.icu.math.BigDecimal("1"),mcdef).toString()).equals("-2.4");
+  (new Test("div306")).ok=((new com.ibm.icu.math.BigDecimal("-2.4")).divide(new com.ibm.icu.math.BigDecimal("-1"),mcdef).toString()).equals("2.4");
+  (new Test("div307")).ok=((new com.ibm.icu.math.BigDecimal("2.40")).divide(new com.ibm.icu.math.BigDecimal("1"),mcdef).toString()).equals("2.4");
+  (new Test("div308")).ok=((new com.ibm.icu.math.BigDecimal("2.400")).divide(new com.ibm.icu.math.BigDecimal("1"),mcdef).toString()).equals("2.4");
+  (new Test("div309")).ok=((new com.ibm.icu.math.BigDecimal("2.4")).divide(new com.ibm.icu.math.BigDecimal("2"),mcdef).toString()).equals("1.2");
+  (new Test("div310")).ok=((new com.ibm.icu.math.BigDecimal("2.400")).divide(new com.ibm.icu.math.BigDecimal("2"),mcdef).toString()).equals("1.2");
+  (new Test("div311")).ok=((new com.ibm.icu.math.BigDecimal("2.")).divide(new com.ibm.icu.math.BigDecimal("2"),mcdef).toString()).equals("1");
+  (new Test("div312")).ok=((new com.ibm.icu.math.BigDecimal("20")).divide(new com.ibm.icu.math.BigDecimal("20"),mcdef).toString()).equals("1");
+  (new Test("div313")).ok=((new com.ibm.icu.math.BigDecimal("187")).divide(new com.ibm.icu.math.BigDecimal("187"),mcdef).toString()).equals("1");
+  (new Test("div314")).ok=((new com.ibm.icu.math.BigDecimal("5")).divide(new com.ibm.icu.math.BigDecimal("2"),mcdef).toString()).equals("2.5");
+  (new Test("div315")).ok=((new com.ibm.icu.math.BigDecimal("5")).divide(new com.ibm.icu.math.BigDecimal("2.0"),mcdef).toString()).equals("2.5");
+  (new Test("div316")).ok=((new com.ibm.icu.math.BigDecimal("5")).divide(new com.ibm.icu.math.BigDecimal("2.000"),mcdef).toString()).equals("2.5");
+  (new Test("div317")).ok=((new com.ibm.icu.math.BigDecimal("5")).divide(new com.ibm.icu.math.BigDecimal("0.200"),mcdef).toString()).equals("25");
+  (new Test("div318")).ok=((new com.ibm.icu.math.BigDecimal("999999999")).divide(new com.ibm.icu.math.BigDecimal("1"),mcdef).toString()).equals("999999999");
+  (new Test("div319")).ok=((new com.ibm.icu.math.BigDecimal("999999999.4")).divide(new com.ibm.icu.math.BigDecimal("1"),mcdef).toString()).equals("999999999");
+  (new Test("div320")).ok=((new com.ibm.icu.math.BigDecimal("999999999.5")).divide(new com.ibm.icu.math.BigDecimal("1"),mcdef).toString()).equals("1E+9");
+  (new Test("div321")).ok=((new com.ibm.icu.math.BigDecimal("999999999.9")).divide(new com.ibm.icu.math.BigDecimal("1"),mcdef).toString()).equals("1E+9");
+  (new Test("div322")).ok=((new com.ibm.icu.math.BigDecimal("999999999.999")).divide(new com.ibm.icu.math.BigDecimal("1"),mcdef).toString()).equals("1E+9");
+  (new Test("div323")).ok=((new com.ibm.icu.math.BigDecimal("0.0000E-50")).divide(new com.ibm.icu.math.BigDecimal("1"),mcdef).toString()).equals("0");
+  // MC
+  (new Test("div325")).ok=((new com.ibm.icu.math.BigDecimal("999999999")).divide(new com.ibm.icu.math.BigDecimal("1"),mcdef).toString()).equals("999999999");
+  (new Test("div326")).ok=((new com.ibm.icu.math.BigDecimal("999999999")).divide(new com.ibm.icu.math.BigDecimal("1"),mc6).toString()).equals("1E+9");
+  (new Test("div327")).ok=((new com.ibm.icu.math.BigDecimal("9999999")).divide(new com.ibm.icu.math.BigDecimal("1"),mc6).toString()).equals("1E+7");
+  (new Test("div328")).ok=((new com.ibm.icu.math.BigDecimal("999999")).divide(new com.ibm.icu.math.BigDecimal("1"),mc6).toString()).equals("999999");
+  
+  // check rounding explicitly [note: digits+1 truncation]
+  rmcd=new com.ibm.icu.math.MathContext(2,com.ibm.icu.math.MathContext.SCIENTIFIC,false,com.ibm.icu.math.MathContext.ROUND_CEILING);
+  (new Test("div330")).ok=((new com.ibm.icu.math.BigDecimal("1.50")).divide(one,rmcd).toString()).equals("1.5");
+  (new Test("div331")).ok=((new com.ibm.icu.math.BigDecimal("1.51")).divide(one,rmcd).toString()).equals("1.6");
+  (new Test("div332")).ok=((new com.ibm.icu.math.BigDecimal("1.55")).divide(one,rmcd).toString()).equals("1.6");
+  rmcd=new com.ibm.icu.math.MathContext(2,com.ibm.icu.math.MathContext.SCIENTIFIC,false,com.ibm.icu.math.MathContext.ROUND_DOWN);
+  (new Test("div333")).ok=((new com.ibm.icu.math.BigDecimal("1.55")).divide(one,rmcd).toString()).equals("1.5");
+  (new Test("div334")).ok=((new com.ibm.icu.math.BigDecimal("1.59")).divide(one,rmcd).toString()).equals("1.5");
+  rmcd=new com.ibm.icu.math.MathContext(2,com.ibm.icu.math.MathContext.SCIENTIFIC,false,com.ibm.icu.math.MathContext.ROUND_FLOOR);
+  (new Test("div335")).ok=((new com.ibm.icu.math.BigDecimal("1.55")).divide(one,rmcd).toString()).equals("1.5");
+  (new Test("div336")).ok=((new com.ibm.icu.math.BigDecimal("1.59")).divide(one,rmcd).toString()).equals("1.5");
+  rmcd=new com.ibm.icu.math.MathContext(2,com.ibm.icu.math.MathContext.SCIENTIFIC,false,com.ibm.icu.math.MathContext.ROUND_HALF_DOWN);
+  (new Test("div337")).ok=((new com.ibm.icu.math.BigDecimal("1.45")).divide(one,rmcd).toString()).equals("1.4");
+  (new Test("div338")).ok=((new com.ibm.icu.math.BigDecimal("1.50")).divide(one,rmcd).toString()).equals("1.5");
+  (new Test("div339")).ok=((new com.ibm.icu.math.BigDecimal("1.55")).divide(one,rmcd).toString()).equals("1.5");
+  rmcd=new com.ibm.icu.math.MathContext(2,com.ibm.icu.math.MathContext.SCIENTIFIC,false,com.ibm.icu.math.MathContext.ROUND_HALF_EVEN);
+  (new Test("div340")).ok=((new com.ibm.icu.math.BigDecimal("1.45")).divide(one,rmcd).toString()).equals("1.4");
+  (new Test("div341")).ok=((new com.ibm.icu.math.BigDecimal("1.50")).divide(one,rmcd).toString()).equals("1.5");
+  (new Test("div342")).ok=((new com.ibm.icu.math.BigDecimal("1.55")).divide(one,rmcd).toString()).equals("1.6");
+  rmcd=new com.ibm.icu.math.MathContext(2,com.ibm.icu.math.MathContext.SCIENTIFIC,false,com.ibm.icu.math.MathContext.ROUND_HALF_UP);
+  (new Test("div343")).ok=((new com.ibm.icu.math.BigDecimal("1.45")).divide(one,rmcd).toString()).equals("1.5");
+  (new Test("div344")).ok=((new com.ibm.icu.math.BigDecimal("1.50")).divide(one,rmcd).toString()).equals("1.5");
+  (new Test("div345")).ok=((new com.ibm.icu.math.BigDecimal("1.55")).divide(one,rmcd).toString()).equals("1.6");
+  rmcd=new com.ibm.icu.math.MathContext(2,com.ibm.icu.math.MathContext.SCIENTIFIC,false,com.ibm.icu.math.MathContext.ROUND_UP);
+  (new Test("div346")).ok=((new com.ibm.icu.math.BigDecimal("1.50")).divide(one,rmcd).toString()).equals("1.5");
+  (new Test("div347")).ok=((new com.ibm.icu.math.BigDecimal("1.51")).divide(one,rmcd).toString()).equals("1.6");
+  (new Test("div348")).ok=((new com.ibm.icu.math.BigDecimal("1.55")).divide(one,rmcd).toString()).equals("1.6");
+  
+  // fixed point...
+  (new Test("div350")).ok=((new com.ibm.icu.math.BigDecimal("1")).divide(new com.ibm.icu.math.BigDecimal("3")).toString()).equals("0");
+  (new Test("div351")).ok=((new com.ibm.icu.math.BigDecimal("2")).divide(new com.ibm.icu.math.BigDecimal("3")).toString()).equals("1");
+  (new Test("div352")).ok=((new com.ibm.icu.math.BigDecimal("2.4")).divide(new com.ibm.icu.math.BigDecimal("1")).toString()).equals("2.4");
+  (new Test("div353")).ok=((new com.ibm.icu.math.BigDecimal("2.4")).divide(new com.ibm.icu.math.BigDecimal("-1")).toString()).equals("-2.4");
+  (new Test("div354")).ok=((new com.ibm.icu.math.BigDecimal("-2.4")).divide(new com.ibm.icu.math.BigDecimal("1")).toString()).equals("-2.4");
+  (new Test("div355")).ok=((new com.ibm.icu.math.BigDecimal("-2.4")).divide(new com.ibm.icu.math.BigDecimal("-1")).toString()).equals("2.4");
+  (new Test("div356")).ok=((new com.ibm.icu.math.BigDecimal("2.40")).divide(new com.ibm.icu.math.BigDecimal("1")).toString()).equals("2.40");
+  (new Test("div357")).ok=((new com.ibm.icu.math.BigDecimal("2.400")).divide(new com.ibm.icu.math.BigDecimal("1")).toString()).equals("2.400");
+  (new Test("div358")).ok=((new com.ibm.icu.math.BigDecimal("2.4")).divide(new com.ibm.icu.math.BigDecimal("2")).toString()).equals("1.2");
+  (new Test("div359")).ok=((new com.ibm.icu.math.BigDecimal("2.400")).divide(new com.ibm.icu.math.BigDecimal("2")).toString()).equals("1.200");
+  (new Test("div360")).ok=((new com.ibm.icu.math.BigDecimal("2.")).divide(new com.ibm.icu.math.BigDecimal("2")).toString()).equals("1");
+  (new Test("div361")).ok=((new com.ibm.icu.math.BigDecimal("20")).divide(new com.ibm.icu.math.BigDecimal("20")).toString()).equals("1");
+  (new Test("div362")).ok=((new com.ibm.icu.math.BigDecimal("187")).divide(new com.ibm.icu.math.BigDecimal("187")).toString()).equals("1");
+  (new Test("div363")).ok=((new com.ibm.icu.math.BigDecimal("5")).divide(new com.ibm.icu.math.BigDecimal("2")).toString()).equals("3");
+  (new Test("div364")).ok=((new com.ibm.icu.math.BigDecimal("5")).divide(new com.ibm.icu.math.BigDecimal("2.0")).toString()).equals("3");
+  (new Test("div365")).ok=((new com.ibm.icu.math.BigDecimal("5")).divide(new com.ibm.icu.math.BigDecimal("2.000")).toString()).equals("3");
+  (new Test("div366")).ok=((new com.ibm.icu.math.BigDecimal("5")).divide(new com.ibm.icu.math.BigDecimal("0.200")).toString()).equals("25");
+  (new Test("div367")).ok=((new com.ibm.icu.math.BigDecimal("5.0")).divide(new com.ibm.icu.math.BigDecimal("2")).toString()).equals("2.5");
+  (new Test("div368")).ok=((new com.ibm.icu.math.BigDecimal("5.0")).divide(new com.ibm.icu.math.BigDecimal("2.0")).toString()).equals("2.5");
+  (new Test("div369")).ok=((new com.ibm.icu.math.BigDecimal("5.0")).divide(new com.ibm.icu.math.BigDecimal("2.000")).toString()).equals("2.5");
+  (new Test("div370")).ok=((new com.ibm.icu.math.BigDecimal("5.0")).divide(new com.ibm.icu.math.BigDecimal("0.200")).toString()).equals("25.0");
+  (new Test("div371")).ok=((new com.ibm.icu.math.BigDecimal("999999999")).divide(new com.ibm.icu.math.BigDecimal("1")).toString()).equals("999999999");
+  (new Test("div372")).ok=((new com.ibm.icu.math.BigDecimal("999999999.4")).divide(new com.ibm.icu.math.BigDecimal("1")).toString()).equals("999999999.4");
+  (new Test("div373")).ok=((new com.ibm.icu.math.BigDecimal("999999999.5")).divide(new com.ibm.icu.math.BigDecimal("1")).toString()).equals("999999999.5");
+  (new Test("div374")).ok=((new com.ibm.icu.math.BigDecimal("999999999.9")).divide(new com.ibm.icu.math.BigDecimal("1")).toString()).equals("999999999.9");
+  (new Test("div375")).ok=((new com.ibm.icu.math.BigDecimal("999999999.999")).divide(new com.ibm.icu.math.BigDecimal("1")).toString()).equals("999999999.999");
+  (new Test("div376")).ok=((new com.ibm.icu.math.BigDecimal("0.0000E-5")).divide(new com.ibm.icu.math.BigDecimal("1")).toString()).equals("0");
+  (new Test("div377")).ok=((new com.ibm.icu.math.BigDecimal("0.000000000")).divide(new com.ibm.icu.math.BigDecimal("1")).toString()).equals("0.000000000");
+  
+  //- Fixed point; explicit scales & rounds [old BigDecimal divides]
+  rhu=com.ibm.icu.math.MathContext.ROUND_HALF_UP;
+  rd=com.ibm.icu.math.MathContext.ROUND_DOWN;
+  (new Test("div001")).ok=((new com.ibm.icu.math.BigDecimal("0")).divide(new com.ibm.icu.math.BigDecimal("3")).toString()).equals("0");
+  (new Test("div002")).ok=((new com.ibm.icu.math.BigDecimal("0")).divide(new com.ibm.icu.math.BigDecimal("3"),rhu).toString()).equals("0");
+  (new Test("div003")).ok=((new com.ibm.icu.math.BigDecimal("0")).divide(new com.ibm.icu.math.BigDecimal("3"),0,rhu).toString()).equals("0");
+  (new Test("div004")).ok=((new com.ibm.icu.math.BigDecimal("0")).divide(new com.ibm.icu.math.BigDecimal("3"),1,rhu).toString()).equals("0.0");
+  (new Test("div005")).ok=((new com.ibm.icu.math.BigDecimal("0")).divide(new com.ibm.icu.math.BigDecimal("3"),2,rhu).toString()).equals("0.00");
+  (new Test("div006")).ok=((new com.ibm.icu.math.BigDecimal("0")).divide(new com.ibm.icu.math.BigDecimal("3"),3,rhu).toString()).equals("0.000");
+  (new Test("div007")).ok=((new com.ibm.icu.math.BigDecimal("0")).divide(new com.ibm.icu.math.BigDecimal("3"),4,rhu).toString()).equals("0.0000");
+  (new Test("div008")).ok=((new com.ibm.icu.math.BigDecimal("1")).divide(new com.ibm.icu.math.BigDecimal("3")).toString()).equals("0");
+  (new Test("div009")).ok=((new com.ibm.icu.math.BigDecimal("1")).divide(new com.ibm.icu.math.BigDecimal("3"),rhu).toString()).equals("0");
+  (new Test("div010")).ok=((new com.ibm.icu.math.BigDecimal("1")).divide(new com.ibm.icu.math.BigDecimal("3"),0,rhu).toString()).equals("0");
+  (new Test("div011")).ok=((new com.ibm.icu.math.BigDecimal("1")).divide(new com.ibm.icu.math.BigDecimal("3"),1,rhu).toString()).equals("0.3");
+  (new Test("div012")).ok=((new com.ibm.icu.math.BigDecimal("1")).divide(new com.ibm.icu.math.BigDecimal("3"),2,rhu).toString()).equals("0.33");
+  (new Test("div013")).ok=((new com.ibm.icu.math.BigDecimal("1")).divide(new com.ibm.icu.math.BigDecimal("3"),3,rhu).toString()).equals("0.333");
+  (new Test("div014")).ok=((new com.ibm.icu.math.BigDecimal("1")).divide(new com.ibm.icu.math.BigDecimal("3"),4,rhu).toString()).equals("0.3333");
+  (new Test("div015")).ok=((new com.ibm.icu.math.BigDecimal("2")).divide(new com.ibm.icu.math.BigDecimal("3")).toString()).equals("1");
+  (new Test("div016")).ok=((new com.ibm.icu.math.BigDecimal("2")).divide(new com.ibm.icu.math.BigDecimal("3"),rhu).toString()).equals("1");
+  (new Test("div017")).ok=((new com.ibm.icu.math.BigDecimal("2")).divide(new com.ibm.icu.math.BigDecimal("3"),0,rhu).toString()).equals("1");
+  (new Test("div018")).ok=((new com.ibm.icu.math.BigDecimal("2")).divide(new com.ibm.icu.math.BigDecimal("3"),1,rhu).toString()).equals("0.7");
+  (new Test("div019")).ok=((new com.ibm.icu.math.BigDecimal("2")).divide(new com.ibm.icu.math.BigDecimal("3"),2,rhu).toString()).equals("0.67");
+  (new Test("div020")).ok=((new com.ibm.icu.math.BigDecimal("2")).divide(new com.ibm.icu.math.BigDecimal("3"),3,rhu).toString()).equals("0.667");
+  (new Test("div021")).ok=((new com.ibm.icu.math.BigDecimal("2")).divide(new com.ibm.icu.math.BigDecimal("3"),4,rhu).toString()).equals("0.6667");
+  
+  (new Test("div030")).ok=((new com.ibm.icu.math.BigDecimal("1000")).divide(new com.ibm.icu.math.BigDecimal("2000"),4,rhu).toString()).equals("0.5000");
+  (new Test("div031")).ok=((new com.ibm.icu.math.BigDecimal("1000")).divide(new com.ibm.icu.math.BigDecimal("2000"),3,rhu).toString()).equals("0.500");
+  (new Test("div032")).ok=((new com.ibm.icu.math.BigDecimal("1000")).divide(new com.ibm.icu.math.BigDecimal("2000"),2,rhu).toString()).equals("0.50");
+  (new Test("div033")).ok=((new com.ibm.icu.math.BigDecimal("1000")).divide(new com.ibm.icu.math.BigDecimal("2000"),1,rhu).toString()).equals("0.5");
+  (new Test("div034")).ok=((new com.ibm.icu.math.BigDecimal("1000")).divide(new com.ibm.icu.math.BigDecimal("2000"),0,rhu).toString()).equals("1");
+  
+  (new Test("div035")).ok=((new com.ibm.icu.math.BigDecimal("100")).divide(new com.ibm.icu.math.BigDecimal("5000"),4,rhu).toString()).equals("0.0200");
+  (new Test("div036")).ok=((new com.ibm.icu.math.BigDecimal("100")).divide(new com.ibm.icu.math.BigDecimal("5000"),3,rhu).toString()).equals("0.020");
+  (new Test("div037")).ok=((new com.ibm.icu.math.BigDecimal("100")).divide(new com.ibm.icu.math.BigDecimal("5000"),2,rhu).toString()).equals("0.02");
+  (new Test("div038")).ok=((new com.ibm.icu.math.BigDecimal("100")).divide(new com.ibm.icu.math.BigDecimal("5000"),1,rhu).toString()).equals("0.0");
+  (new Test("div039")).ok=((new com.ibm.icu.math.BigDecimal("100")).divide(new com.ibm.icu.math.BigDecimal("5000"),0,rhu).toString()).equals("0");
+  
+  (new Test("div040")).ok=((new com.ibm.icu.math.BigDecimal("9.99999999")).divide(new com.ibm.icu.math.BigDecimal("9.77777777"),4,rhu).toString()).equals("1.0227");
+  (new Test("div041")).ok=((new com.ibm.icu.math.BigDecimal("9.9999999")).divide(new com.ibm.icu.math.BigDecimal("9.7777777"),4,rhu).toString()).equals("1.0227");
+  (new Test("div042")).ok=((new com.ibm.icu.math.BigDecimal("9.999999")).divide(new com.ibm.icu.math.BigDecimal("9.777777"),4,rhu).toString()).equals("1.0227");
+  (new Test("div043")).ok=((new com.ibm.icu.math.BigDecimal("9.77777777")).divide(new com.ibm.icu.math.BigDecimal("9.99999999"),4,rhu).toString()).equals("0.9778");
+  (new Test("div044")).ok=((new com.ibm.icu.math.BigDecimal("9.7777777")).divide(new com.ibm.icu.math.BigDecimal("9.9999999"),4,rhu).toString()).equals("0.9778");
+  (new Test("div045")).ok=((new com.ibm.icu.math.BigDecimal("9.777777")).divide(new com.ibm.icu.math.BigDecimal("9.999999"),4,rhu).toString()).equals("0.9778");
+  (new Test("div046")).ok=((new com.ibm.icu.math.BigDecimal("9.77777")).divide(new com.ibm.icu.math.BigDecimal("9.99999"),4,rhu).toString()).equals("0.9778");
+  (new Test("div047")).ok=((new com.ibm.icu.math.BigDecimal("9.7777")).divide(new com.ibm.icu.math.BigDecimal("9.9999"),4,rhu).toString()).equals("0.9778");
+  (new Test("div048")).ok=((new com.ibm.icu.math.BigDecimal("9.777")).divide(new com.ibm.icu.math.BigDecimal("9.999"),4,rhu).toString()).equals("0.9778");
+  (new Test("div049")).ok=((new com.ibm.icu.math.BigDecimal("9.77")).divide(new com.ibm.icu.math.BigDecimal("9.99"),4,rhu).toString()).equals("0.9780");
+  (new Test("div050")).ok=((new com.ibm.icu.math.BigDecimal("9.7")).divide(new com.ibm.icu.math.BigDecimal("9.9"),4,rhu).toString()).equals("0.9798");
+  (new Test("div051")).ok=((new com.ibm.icu.math.BigDecimal("9.")).divide(new com.ibm.icu.math.BigDecimal("9."),4,rhu).toString()).equals("1.0000");
+  
+  (new Test("div060")).ok=((new com.ibm.icu.math.BigDecimal("9.99999999")).divide(new com.ibm.icu.math.BigDecimal("9.77777777"),rhu).toString()).equals("1.02272727");
+  (new Test("div061")).ok=((new com.ibm.icu.math.BigDecimal("9.9999999")).divide(new com.ibm.icu.math.BigDecimal("9.7777777"),rhu).toString()).equals("1.0227273");
+  (new Test("div062")).ok=((new com.ibm.icu.math.BigDecimal("9.999999")).divide(new com.ibm.icu.math.BigDecimal("9.777777"),rhu).toString()).equals("1.022727");
+  (new Test("div063")).ok=((new com.ibm.icu.math.BigDecimal("9.77777777")).divide(new com.ibm.icu.math.BigDecimal("9.99999999"),rhu).toString()).equals("0.97777778");
+  (new Test("div064")).ok=((new com.ibm.icu.math.BigDecimal("9.7777777")).divide(new com.ibm.icu.math.BigDecimal("9.9999999"),rhu).toString()).equals("0.9777778");
+  (new Test("div065")).ok=((new com.ibm.icu.math.BigDecimal("9.777777")).divide(new com.ibm.icu.math.BigDecimal("9.999999"),rhu).toString()).equals("0.977778");
+  (new Test("div066")).ok=((new com.ibm.icu.math.BigDecimal("9.77777")).divide(new com.ibm.icu.math.BigDecimal("9.99999"),rhu).toString()).equals("0.97778");
+  (new Test("div067")).ok=((new com.ibm.icu.math.BigDecimal("9.7777")).divide(new com.ibm.icu.math.BigDecimal("9.9999"),rhu).toString()).equals("0.9778");
+  (new Test("div068")).ok=((new com.ibm.icu.math.BigDecimal("9.777")).divide(new com.ibm.icu.math.BigDecimal("9.999"),rhu).toString()).equals("0.978");
+  (new Test("div069")).ok=((new com.ibm.icu.math.BigDecimal("9.77")).divide(new com.ibm.icu.math.BigDecimal("9.99"),rhu).toString()).equals("0.98");
+  (new Test("div070")).ok=((new com.ibm.icu.math.BigDecimal("9.7")).divide(new com.ibm.icu.math.BigDecimal("9.9"),rhu).toString()).equals("1.0");
+  (new Test("div071")).ok=((new com.ibm.icu.math.BigDecimal("9.")).divide(new com.ibm.icu.math.BigDecimal("9."),rhu).toString()).equals("1");
+  
+  rd=com.ibm.icu.math.MathContext.ROUND_DOWN; // test this is actually being used
+  (new Test("div080")).ok=((new com.ibm.icu.math.BigDecimal("2")).divide(new com.ibm.icu.math.BigDecimal("3"),0,rd).toString()).equals("0");
+  (new Test("div081")).ok=((new com.ibm.icu.math.BigDecimal("2")).divide(new com.ibm.icu.math.BigDecimal("3"),1,rd).toString()).equals("0.6");
+  (new Test("div082")).ok=((new com.ibm.icu.math.BigDecimal("2")).divide(new com.ibm.icu.math.BigDecimal("3"),2,rd).toString()).equals("0.66");
+  (new Test("div083")).ok=((new com.ibm.icu.math.BigDecimal("2")).divide(new com.ibm.icu.math.BigDecimal("3"),3,rd).toString()).equals("0.666");
+  (new Test("div084")).ok=((new com.ibm.icu.math.BigDecimal("2")).divide(new com.ibm.icu.math.BigDecimal("3"),4,rd).toString()).equals("0.6666");
+  
+  ru=com.ibm.icu.math.MathContext.ROUND_UNNECESSARY; // check for some 0 residues
+  (new Test("div090")).ok=((new com.ibm.icu.math.BigDecimal("1000")).divide(new com.ibm.icu.math.BigDecimal("5"),4,ru).toString()).equals("200.0000");
+  (new Test("div091")).ok=((new com.ibm.icu.math.BigDecimal("1000")).divide(new com.ibm.icu.math.BigDecimal("50"),4,ru).toString()).equals("20.0000");
+  (new Test("div092")).ok=((new com.ibm.icu.math.BigDecimal("1000")).divide(new com.ibm.icu.math.BigDecimal("500"),4,ru).toString()).equals("2.0000");
+  (new Test("div093")).ok=((new com.ibm.icu.math.BigDecimal("1000")).divide(new com.ibm.icu.math.BigDecimal("5000"),4,ru).toString()).equals("0.2000");
+  (new Test("div094")).ok=((new com.ibm.icu.math.BigDecimal("1000")).divide(new com.ibm.icu.math.BigDecimal("5000"),3,ru).toString()).equals("0.200");
+  (new Test("div095")).ok=((new com.ibm.icu.math.BigDecimal("1000")).divide(new com.ibm.icu.math.BigDecimal("5000"),2,ru).toString()).equals("0.20");
+  (new Test("div096")).ok=((new com.ibm.icu.math.BigDecimal("1000")).divide(new com.ibm.icu.math.BigDecimal("5000"),1,ru).toString()).equals("0.2");
+  
+  // check rounding explicitly
+  (new Test("div101")).ok=((new com.ibm.icu.math.BigDecimal("0.055")).divide(one,2,com.ibm.icu.math.MathContext.ROUND_CEILING).toString()).equals("0.06");
+  (new Test("div102")).ok=((new com.ibm.icu.math.BigDecimal("0.055")).divide(one,1,com.ibm.icu.math.MathContext.ROUND_CEILING).toString()).equals("0.1");
+  (new Test("div103")).ok=((new com.ibm.icu.math.BigDecimal("0.055")).divide(one,0,com.ibm.icu.math.MathContext.ROUND_CEILING).toString()).equals("1");
+  (new Test("div104")).ok=((new com.ibm.icu.math.BigDecimal("0.055")).divide(one,2,com.ibm.icu.math.MathContext.ROUND_DOWN).toString()).equals("0.05");
+  (new Test("div105")).ok=((new com.ibm.icu.math.BigDecimal("0.055")).divide(one,1,com.ibm.icu.math.MathContext.ROUND_DOWN).toString()).equals("0.0");
+  (new Test("div106")).ok=((new com.ibm.icu.math.BigDecimal("0.055")).divide(one,0,com.ibm.icu.math.MathContext.ROUND_DOWN).toString()).equals("0");
+  (new Test("div107")).ok=((new com.ibm.icu.math.BigDecimal("0.055")).divide(one,2,com.ibm.icu.math.MathContext.ROUND_FLOOR).toString()).equals("0.05");
+  (new Test("div108")).ok=((new com.ibm.icu.math.BigDecimal("0.055")).divide(one,1,com.ibm.icu.math.MathContext.ROUND_FLOOR).toString()).equals("0.0");
+  (new Test("div109")).ok=((new com.ibm.icu.math.BigDecimal("0.055")).divide(one,0,com.ibm.icu.math.MathContext.ROUND_FLOOR).toString()).equals("0");
+  
+  (new Test("div110")).ok=((new com.ibm.icu.math.BigDecimal("0.045")).divide(one,2,com.ibm.icu.math.MathContext.ROUND_HALF_DOWN).toString()).equals("0.04");
+  (new Test("div111")).ok=((new com.ibm.icu.math.BigDecimal("0.045")).divide(one,1,com.ibm.icu.math.MathContext.ROUND_HALF_DOWN).toString()).equals("0.0");
+  (new Test("div112")).ok=((new com.ibm.icu.math.BigDecimal("0.045")).divide(one,0,com.ibm.icu.math.MathContext.ROUND_HALF_DOWN).toString()).equals("0");
+  (new Test("div113")).ok=((new com.ibm.icu.math.BigDecimal("0.050")).divide(one,2,com.ibm.icu.math.MathContext.ROUND_HALF_DOWN).toString()).equals("0.05");
+  (new Test("div114")).ok=((new com.ibm.icu.math.BigDecimal("0.050")).divide(one,1,com.ibm.icu.math.MathContext.ROUND_HALF_DOWN).toString()).equals("0.0");
+  (new Test("div115")).ok=((new com.ibm.icu.math.BigDecimal("0.050")).divide(one,0,com.ibm.icu.math.MathContext.ROUND_HALF_DOWN).toString()).equals("0");
+  (new Test("div116")).ok=((new com.ibm.icu.math.BigDecimal("0.055")).divide(one,2,com.ibm.icu.math.MathContext.ROUND_HALF_DOWN).toString()).equals("0.05");
+  (new Test("div117")).ok=((new com.ibm.icu.math.BigDecimal("0.055")).divide(one,1,com.ibm.icu.math.MathContext.ROUND_HALF_DOWN).toString()).equals("0.1");
+  (new Test("div118")).ok=((new com.ibm.icu.math.BigDecimal("0.055")).divide(one,0,com.ibm.icu.math.MathContext.ROUND_HALF_DOWN).toString()).equals("0");
+  
+  (new Test("div120")).ok=((new com.ibm.icu.math.BigDecimal("0.045")).divide(one,2,com.ibm.icu.math.MathContext.ROUND_HALF_EVEN).toString()).equals("0.04");
+  (new Test("div121")).ok=((new com.ibm.icu.math.BigDecimal("0.045")).divide(one,1,com.ibm.icu.math.MathContext.ROUND_HALF_EVEN).toString()).equals("0.0");
+  (new Test("div122")).ok=((new com.ibm.icu.math.BigDecimal("0.045")).divide(one,0,com.ibm.icu.math.MathContext.ROUND_HALF_EVEN).toString()).equals("0");
+  (new Test("div123")).ok=((new com.ibm.icu.math.BigDecimal("0.050")).divide(one,2,com.ibm.icu.math.MathContext.ROUND_HALF_EVEN).toString()).equals("0.05");
+  (new Test("div124")).ok=((new com.ibm.icu.math.BigDecimal("0.050")).divide(one,1,com.ibm.icu.math.MathContext.ROUND_HALF_EVEN).toString()).equals("0.0");
+  (new Test("div125")).ok=((new com.ibm.icu.math.BigDecimal("0.050")).divide(one,0,com.ibm.icu.math.MathContext.ROUND_HALF_EVEN).toString()).equals("0");
+  (new Test("div126")).ok=((new com.ibm.icu.math.BigDecimal("0.150")).divide(one,2,com.ibm.icu.math.MathContext.ROUND_HALF_EVEN).toString()).equals("0.15");
+  (new Test("div127")).ok=((new com.ibm.icu.math.BigDecimal("0.150")).divide(one,1,com.ibm.icu.math.MathContext.ROUND_HALF_EVEN).toString()).equals("0.2");
+  (new Test("div128")).ok=((new com.ibm.icu.math.BigDecimal("0.150")).divide(one,0,com.ibm.icu.math.MathContext.ROUND_HALF_EVEN).toString()).equals("0");
+  (new Test("div129")).ok=((new com.ibm.icu.math.BigDecimal("0.055")).divide(one,2,com.ibm.icu.math.MathContext.ROUND_HALF_EVEN).toString()).equals("0.06");
+  (new Test("div130")).ok=((new com.ibm.icu.math.BigDecimal("0.055")).divide(one,1,com.ibm.icu.math.MathContext.ROUND_HALF_EVEN).toString()).equals("0.1");
+  (new Test("div131")).ok=((new com.ibm.icu.math.BigDecimal("0.055")).divide(one,0,com.ibm.icu.math.MathContext.ROUND_HALF_EVEN).toString()).equals("0");
+  
+  (new Test("div140")).ok=((new com.ibm.icu.math.BigDecimal("0.045")).divide(one,2,com.ibm.icu.math.MathContext.ROUND_HALF_UP).toString()).equals("0.05");
+  (new Test("div141")).ok=((new com.ibm.icu.math.BigDecimal("0.045")).divide(one,1,com.ibm.icu.math.MathContext.ROUND_HALF_UP).toString()).equals("0.0");
+  (new Test("div142")).ok=((new com.ibm.icu.math.BigDecimal("0.045")).divide(one,0,com.ibm.icu.math.MathContext.ROUND_HALF_UP).toString()).equals("0");
+  (new Test("div143")).ok=((new com.ibm.icu.math.BigDecimal("0.050")).divide(one,2,com.ibm.icu.math.MathContext.ROUND_HALF_UP).toString()).equals("0.05");
+  (new Test("div144")).ok=((new com.ibm.icu.math.BigDecimal("0.050")).divide(one,1,com.ibm.icu.math.MathContext.ROUND_HALF_UP).toString()).equals("0.1");
+  (new Test("div145")).ok=((new com.ibm.icu.math.BigDecimal("0.050")).divide(one,0,com.ibm.icu.math.MathContext.ROUND_HALF_UP).toString()).equals("0");
+  (new Test("div146")).ok=((new com.ibm.icu.math.BigDecimal("0.055")).divide(one,2,com.ibm.icu.math.MathContext.ROUND_HALF_UP).toString()).equals("0.06");
+  (new Test("div147")).ok=((new com.ibm.icu.math.BigDecimal("0.055")).divide(one,1,com.ibm.icu.math.MathContext.ROUND_HALF_UP).toString()).equals("0.1");
+  (new Test("div148")).ok=((new com.ibm.icu.math.BigDecimal("0.055")).divide(one,0,com.ibm.icu.math.MathContext.ROUND_HALF_UP).toString()).equals("0");
+  
+  (new Test("div150")).ok=((new com.ibm.icu.math.BigDecimal("0.055")).divide(one,2,com.ibm.icu.math.MathContext.ROUND_UP).toString()).equals("0.06");
+  (new Test("div151")).ok=((new com.ibm.icu.math.BigDecimal("0.055")).divide(one,1,com.ibm.icu.math.MathContext.ROUND_UP).toString()).equals("0.1");
+  (new Test("div52.")).ok=((new com.ibm.icu.math.BigDecimal("0.055")).divide(one,0,com.ibm.icu.math.MathContext.ROUND_UP).toString()).equals("1");
+  
+  //- error conditions ---
+  try{checknull:do{
+   ten.divide((com.ibm.icu.math.BigDecimal)null);
+   flag=false;
+  }while(false);}
+  catch (java.lang.NullPointerException $32){
+   flag=true;
+  }/*checknull*/
+  (new Test("div201")).ok=flag;
+  try{checknull2:do{
+   ten.divide(ten,(com.ibm.icu.math.MathContext)null);
+   flag=false;
+  }while(false);}
+  catch (java.lang.NullPointerException $33){
+   flag=true;
+  }/*checknull2*/
+  (new Test("div202")).ok=flag;
+  
+  try{checkscale:do{
+   (new com.ibm.icu.math.BigDecimal("1")).divide(new com.ibm.icu.math.BigDecimal("3"),-8,0);
+   flag=false;
+  }while(false);}
+  catch (java.lang.RuntimeException $34){e=$34;
+   flag=flag&(e.getMessage()).equals("Negative scale: -8");
+  }/*checkscale*/
+  (new Test("div203")).ok=flag;
+  
+  try{rounn:do{
+   (new com.ibm.icu.math.BigDecimal("1000")).divide(new com.ibm.icu.math.BigDecimal("5000"),0,com.ibm.icu.math.MathContext.ROUND_UNNECESSARY);
+   flag=false;
+  }while(false);}
+  catch (java.lang.ArithmeticException $35){ae=$35;
+   flag=(ae.getMessage()).equals("Rounding necessary");
+  }/*rounn*/
+  (new Test("div204")).ok=flag;
+  try{rounn:do{
+   (new com.ibm.icu.math.BigDecimal("1001")).divide(new com.ibm.icu.math.BigDecimal("10"),0,com.ibm.icu.math.MathContext.ROUND_UNNECESSARY);
+   flag=false;
+  }while(false);}
+  catch (java.lang.ArithmeticException $36){ae=$36;
+   flag=(ae.getMessage()).equals("Rounding necessary");
+  }/*rounn*/
+  (new Test("div205")).ok=flag;
+  try{rounn:do{
+   (new com.ibm.icu.math.BigDecimal("1001")).divide(new com.ibm.icu.math.BigDecimal("100"),1,com.ibm.icu.math.MathContext.ROUND_UNNECESSARY);
+   flag=false;
+  }while(false);}
+  catch (java.lang.ArithmeticException $37){ae=$37;
+   flag=(ae.getMessage()).equals("Rounding necessary");
+  }/*rounn*/
+  (new Test("div206")).ok=flag;
+  try{rounn:do{
+   (new com.ibm.icu.math.BigDecimal("10001")).divide(new com.ibm.icu.math.BigDecimal("10000"),1,com.ibm.icu.math.MathContext.ROUND_UNNECESSARY);
+   flag=false;
+  }while(false);}
+  catch (java.lang.ArithmeticException $38){ae=$38;
+   flag=(ae.getMessage()).equals("Rounding necessary");
+  }/*rounn*/
+  (new Test("div207")).ok=flag;
+  try{rounn:do{
+   (new com.ibm.icu.math.BigDecimal("1.0001")).divide(new com.ibm.icu.math.BigDecimal("1"),1,com.ibm.icu.math.MathContext.ROUND_UNNECESSARY);
+   flag=false;
+  }while(false);}
+  catch (java.lang.ArithmeticException $39){ae=$39;
+   flag=(ae.getMessage()).equals("Rounding necessary");
+  }/*rounn*/
+  (new Test("div208")).ok=flag;
+  
+  try{div0:do{
+   (new com.ibm.icu.math.BigDecimal("5")).divide(new com.ibm.icu.math.BigDecimal("0.00"));
+   flag=false;
+  }while(false);}
+  catch (java.lang.ArithmeticException $40){ae=$40;
+   flag=(ae.getMessage()).equals("Divide by 0");
+  }/*div0*/
+  (new Test("div209")).ok=flag;
+  
+  try{checkdigits:do{
+   tenlong.divide(com.ibm.icu.math.BigDecimal.ONE,mcld);
+   flag=false;
+  }while(false);}
+  catch (java.lang.ArithmeticException $41){ae=$41;
+   flag=(ae.getMessage()).equals("Too many digits:"+" "+tenlong.toString());
+  }/*checkdigits*/
+  (new Test("div210")).ok=flag;
+  try{checkdigits:do{
+   com.ibm.icu.math.BigDecimal.ONE.divide(tenlong,mcld);
+   flag=false;
+  }while(false);}
+  catch (java.lang.ArithmeticException $42){ae=$42;
+   flag=(ae.getMessage()).equals("Too many digits:"+" "+tenlong.toString());
+  }/*checkdigits*/
+  (new Test("div211")).ok=flag;
+  
+  summary("divide");
+ }
+/* ----------------------------------------------------------------- */
+ 
+ /** Test the {@link com.ibm.icu.math.BigDecimal#divideInteger} method. */
+ 
+ public void diagdivideInteger(){
+  boolean flag=false;
+  java.lang.ArithmeticException ae=null;
+  
+  (new Test("dvI001")).ok=((new com.ibm.icu.math.BigDecimal("101.3")).divideInteger(new com.ibm.icu.math.BigDecimal("1"),mcdef).toString()).equals("101");
+  (new Test("dvI002")).ok=((new com.ibm.icu.math.BigDecimal("101.0")).divideInteger(new com.ibm.icu.math.BigDecimal("1"),mcdef).toString()).equals("101");
+  (new Test("dvI003")).ok=((new com.ibm.icu.math.BigDecimal("101.3")).divideInteger(new com.ibm.icu.math.BigDecimal("3"),mcdef).toString()).equals("33");
+  (new Test("dvI004")).ok=((new com.ibm.icu.math.BigDecimal("101.0")).divideInteger(new com.ibm.icu.math.BigDecimal("3"),mcdef).toString()).equals("33");
+  (new Test("dvI005")).ok=((new com.ibm.icu.math.BigDecimal("2.4")).divideInteger(new com.ibm.icu.math.BigDecimal("1"),mcdef).toString()).equals("2");
+  (new Test("dvI006")).ok=((new com.ibm.icu.math.BigDecimal("2.400")).divideInteger(new com.ibm.icu.math.BigDecimal("1"),mcdef).toString()).equals("2");
+  (new Test("dvI007")).ok=((new com.ibm.icu.math.BigDecimal("18")).divideInteger(new com.ibm.icu.math.BigDecimal("18"),mcdef).toString()).equals("1");
+  (new Test("dvI008")).ok=((new com.ibm.icu.math.BigDecimal("1120")).divideInteger(new com.ibm.icu.math.BigDecimal("1000"),mcdef).toString()).equals("1");
+  (new Test("dvI009")).ok=((new com.ibm.icu.math.BigDecimal("2.4")).divideInteger(new com.ibm.icu.math.BigDecimal("2"),mcdef).toString()).equals("1");
+  (new Test("dvI010")).ok=((new com.ibm.icu.math.BigDecimal("2.400")).divideInteger(new com.ibm.icu.math.BigDecimal("2"),mcdef).toString()).equals("1");
+  (new Test("dvI011")).ok=((new com.ibm.icu.math.BigDecimal("0.5")).divideInteger(new com.ibm.icu.math.BigDecimal("2.000"),mcdef).toString()).equals("0");
+  (new Test("dvI012")).ok=((new com.ibm.icu.math.BigDecimal("8.005")).divideInteger(new com.ibm.icu.math.BigDecimal("7"),mcdef).toString()).equals("1");
+  (new Test("dvI013")).ok=((new com.ibm.icu.math.BigDecimal("5")).divideInteger(new com.ibm.icu.math.BigDecimal("2"),mcdef).toString()).equals("2");
+  (new Test("dvI014")).ok=((new com.ibm.icu.math.BigDecimal("0")).divideInteger(new com.ibm.icu.math.BigDecimal("2"),mcdef).toString()).equals("0");
+  (new Test("dvI015")).ok=((new com.ibm.icu.math.BigDecimal("0.00")).divideInteger(new com.ibm.icu.math.BigDecimal("2"),mcdef).toString()).equals("0");
+  // MC
+  (new Test("dvI016")).ok=((new com.ibm.icu.math.BigDecimal("5")).divideInteger(new com.ibm.icu.math.BigDecimal("2"),mce).toString()).equals("2");
+  (new Test("dvI017")).ok=((new com.ibm.icu.math.BigDecimal("5")).divideInteger(new com.ibm.icu.math.BigDecimal("2"),mc6).toString()).equals("2");
+  
+  // Fixed --
+  (new Test("dvI021")).ok=((new com.ibm.icu.math.BigDecimal("101.3")).divideInteger(new com.ibm.icu.math.BigDecimal("1")).toString()).equals("101");
+  (new Test("dvI022")).ok=((new com.ibm.icu.math.BigDecimal("101.0")).divideInteger(new com.ibm.icu.math.BigDecimal("1")).toString()).equals("101");
+  (new Test("dvI023")).ok=((new com.ibm.icu.math.BigDecimal("101.3")).divideInteger(new com.ibm.icu.math.BigDecimal("3")).toString()).equals("33");
+  (new Test("dvI024")).ok=((new com.ibm.icu.math.BigDecimal("101.0")).divideInteger(new com.ibm.icu.math.BigDecimal("3")).toString()).equals("33");
+  (new Test("dvI025")).ok=((new com.ibm.icu.math.BigDecimal("2.4")).divideInteger(new com.ibm.icu.math.BigDecimal("1")).toString()).equals("2");
+  (new Test("dvI026")).ok=((new com.ibm.icu.math.BigDecimal("2.400")).divideInteger(new com.ibm.icu.math.BigDecimal("1")).toString()).equals("2");
+  (new Test("dvI027")).ok=((new com.ibm.icu.math.BigDecimal("18")).divideInteger(new com.ibm.icu.math.BigDecimal("18")).toString()).equals("1");
+  (new Test("dvI028")).ok=((new com.ibm.icu.math.BigDecimal("1120")).divideInteger(new com.ibm.icu.math.BigDecimal("1000")).toString()).equals("1");
+  (new Test("dvI029")).ok=((new com.ibm.icu.math.BigDecimal("2.4")).divideInteger(new com.ibm.icu.math.BigDecimal("2")).toString()).equals("1");
+  (new Test("dvI030")).ok=((new com.ibm.icu.math.BigDecimal("2.400")).divideInteger(new com.ibm.icu.math.BigDecimal("2")).toString()).equals("1");
+  (new Test("dvI031")).ok=((new com.ibm.icu.math.BigDecimal("0.5")).divideInteger(new com.ibm.icu.math.BigDecimal("2.000")).toString()).equals("0");
+  (new Test("dvI032")).ok=((new com.ibm.icu.math.BigDecimal("8.005")).divideInteger(new com.ibm.icu.math.BigDecimal("7")).toString()).equals("1");
+  (new Test("dvI033")).ok=((new com.ibm.icu.math.BigDecimal("5")).divideInteger(new com.ibm.icu.math.BigDecimal("2")).toString()).equals("2");
+  (new Test("dvI034")).ok=((new com.ibm.icu.math.BigDecimal("0")).divideInteger(new com.ibm.icu.math.BigDecimal("2")).toString()).equals("0");
+  (new Test("dvI035")).ok=((new com.ibm.icu.math.BigDecimal("0.00")).divideInteger(new com.ibm.icu.math.BigDecimal("2")).toString()).equals("0");
+  
+  try{checknull:do{
+   ten.divideInteger((com.ibm.icu.math.BigDecimal)null);
+   flag=false;
+  }while(false);}
+  catch (java.lang.NullPointerException $43){
+   flag=true;
+  }/*checknull*/
+  (new Test("dvI101")).ok=flag;
+  try{checknull2:do{
+   ten.divideInteger(ten,(com.ibm.icu.math.MathContext)null);
+   flag=false;
+  }while(false);}
+  catch (java.lang.NullPointerException $44){
+   flag=true;
+  }/*checknull2*/
+  (new Test("dvI102")).ok=flag;
+  
+  try{checkdigits:do{
+   com.ibm.icu.math.BigDecimal.ONE.divideInteger(tenlong,mcld);
+   flag=false;
+  }while(false);}
+  catch (java.lang.ArithmeticException $45){ae=$45;
+   flag=(ae.getMessage()).equals("Too many digits:"+" "+tenlong.toString());
+  }/*checkdigits*/
+  (new Test("dvI103")).ok=flag;
+  
+  try{checkdigits:do{
+   tenlong.divideInteger(com.ibm.icu.math.BigDecimal.ONE,mcld);
+   flag=false;
+  }while(false);}
+  catch (java.lang.ArithmeticException $46){ae=$46;
+   flag=(ae.getMessage()).equals("Too many digits:"+" "+tenlong.toString());
+  }/*checkdigits*/
+  (new Test("dvI104")).ok=flag;
+  
+  summary("divideInteger");
+ }
+/* ----------------------------------------------------------------- */
+ 
+ /** Test the {@link com.ibm.icu.math.BigDecimal#max} method. */
+ 
+ public void diagmax(){
+  boolean flag=false;
+  java.lang.ArithmeticException ae=null;
+  
+  // we assume add/subtract test function; this and min just
+  // test existence and test the truth table
+  (new Test("max001")).ok=((new com.ibm.icu.math.BigDecimal("5")).max(new com.ibm.icu.math.BigDecimal("2")).toString()).equals("5");
+  (new Test("max002")).ok=((new com.ibm.icu.math.BigDecimal("5")).max(new com.ibm.icu.math.BigDecimal("5")).toString()).equals("5");
+  (new Test("max003")).ok=((new com.ibm.icu.math.BigDecimal("2")).max(new com.ibm.icu.math.BigDecimal("7")).toString()).equals("7");
+  (new Test("max004")).ok=((new com.ibm.icu.math.BigDecimal("2")).max(new com.ibm.icu.math.BigDecimal("7"),mcdef).toString()).equals("7");
+  (new Test("max005")).ok=((new com.ibm.icu.math.BigDecimal("2")).max(new com.ibm.icu.math.BigDecimal("7"),mc6).toString()).equals("7");
+  (new Test("max006")).ok=((new com.ibm.icu.math.BigDecimal("2E+3")).max(new com.ibm.icu.math.BigDecimal("7")).toString()).equals("2000");
+  (new Test("max007")).ok=((new com.ibm.icu.math.BigDecimal("2E+3")).max(new com.ibm.icu.math.BigDecimal("7"),mc3).toString()).equals("2E+3");
+  (new Test("max008")).ok=((new com.ibm.icu.math.BigDecimal("7")).max(new com.ibm.icu.math.BigDecimal("2E+3")).toString()).equals("2000");
+  (new Test("max009")).ok=((new com.ibm.icu.math.BigDecimal("7")).max(new com.ibm.icu.math.BigDecimal("2E+3"),mc3).toString()).equals("2E+3");
+  try{checknull:do{
+   ten.max((com.ibm.icu.math.BigDecimal)null);
+   flag=false;
+  }while(false);}
+  catch (java.lang.NullPointerException $47){
+   flag=true;
+  }/*checknull*/
+  (new Test("max010")).ok=flag;
+  try{checknull2:do{
+   ten.max(ten,(com.ibm.icu.math.MathContext)null);
+   flag=false;
+  }while(false);}
+  catch (java.lang.NullPointerException $48){
+   flag=true;
+  }/*checknull2*/
+  (new Test("max011")).ok=flag;
+  try{checkdigits:do{
+   tenlong.max(com.ibm.icu.math.BigDecimal.ONE,mcld);
+   flag=false;
+  }while(false);}
+  catch (java.lang.ArithmeticException $49){ae=$49;
+   flag=(ae.getMessage()).equals("Too many digits:"+" "+tenlong.toString());
+  }/*checkdigits*/
+  (new Test("max012")).ok=flag;
+  try{checkdigits:do{
+   com.ibm.icu.math.BigDecimal.ONE.max(tenlong,mcld);
+   flag=false;
+  }while(false);}
+  catch (java.lang.ArithmeticException $50){ae=$50;
+   flag=(ae.getMessage()).equals("Too many digits:"+" "+tenlong.toString());
+  }/*checkdigits*/
+  (new Test("max013")).ok=flag;
+  summary("max");
+ }
+
+ /** Test the {@link com.ibm.icu.math.BigDecimal#min} method. */
+ 
+ public void diagmin(){
+  boolean flag=false;
+  com.ibm.icu.math.BigDecimal minx=null;
+  java.lang.ArithmeticException ae=null;
+  // we assume add/subtract test function; this and max just
+  // test existence and test the truth table
+  
+  (new Test("min001")).ok=((new com.ibm.icu.math.BigDecimal("5")).min(new com.ibm.icu.math.BigDecimal("2")).toString()).equals("2");
+  (new Test("min002")).ok=((new com.ibm.icu.math.BigDecimal("5")).min(new com.ibm.icu.math.BigDecimal("5")).toString()).equals("5");
+  (new Test("min003")).ok=((new com.ibm.icu.math.BigDecimal("2")).min(new com.ibm.icu.math.BigDecimal("7")).toString()).equals("2");
+  (new Test("min004")).ok=((new com.ibm.icu.math.BigDecimal("2")).min(new com.ibm.icu.math.BigDecimal("7"),mcdef).toString()).equals("2");
+  (new Test("min005")).ok=((new com.ibm.icu.math.BigDecimal("1")).min(new com.ibm.icu.math.BigDecimal("7"),mc6).toString()).equals("1");
+  (new Test("min006")).ok=((new com.ibm.icu.math.BigDecimal("-2E+3")).min(new com.ibm.icu.math.BigDecimal("7")).toString()).equals("-2000");
+  (new Test("min007")).ok=((new com.ibm.icu.math.BigDecimal("-2E+3")).min(new com.ibm.icu.math.BigDecimal("7"),mc3).toString()).equals("-2E+3");
+  (new Test("min008")).ok=((new com.ibm.icu.math.BigDecimal("7")).min(new com.ibm.icu.math.BigDecimal("-2E+3")).toString()).equals("-2000");
+  (new Test("min009")).ok=((new com.ibm.icu.math.BigDecimal("7")).min(new com.ibm.icu.math.BigDecimal("-2E+3"),mc3).toString()).equals("-2E+3");
+  try{checknull:do{
+   minx=ten;
+   minx.min((com.ibm.icu.math.BigDecimal)null);
+   flag=false;
+  }while(false);}
+  catch (java.lang.NullPointerException $51){
+   flag=true;
+  }/*checknull*/
+  (new Test("min010")).ok=flag;
+  try{checknull2:do{
+   minx=ten;
+   minx.min(ten,(com.ibm.icu.math.MathContext)null);
+   flag=false;
+  }while(false);}
+  catch (java.lang.NullPointerException $52){
+   flag=true;
+  }/*checknull2*/
+  (new Test("min011")).ok=flag;
+  
+  try{checkdigits:do{
+   tenlong.min(com.ibm.icu.math.BigDecimal.ONE,mcld);
+   flag=false;
+  }while(false);}
+  catch (java.lang.ArithmeticException $53){ae=$53;
+   flag=(ae.getMessage()).equals("Too many digits:"+" "+tenlong.toString());
+  }/*checkdigits*/
+  (new Test("min012")).ok=flag;
+  try{checkdigits:do{
+   (new com.ibm.icu.math.BigDecimal(9)).min(tenlong,mcld);
+   flag=false;
+  }while(false);}
+  catch (java.lang.ArithmeticException $54){ae=$54;
+   flag=(ae.getMessage()).equals("Too many digits:"+" "+tenlong.toString());
+  }/*checkdigits*/
+  (new Test("min013")).ok=flag;
+  summary("min");
+ }
+/* ----------------------------------------------------------------- */
+ 
+ /** Test the {@link com.ibm.icu.math.BigDecimal#multiply} method. */
+ 
+ public void diagmultiply(){
+  boolean flag=false;
+  com.ibm.icu.math.BigDecimal l9;
+  com.ibm.icu.math.BigDecimal l77e;
+  com.ibm.icu.math.BigDecimal l12345;
+  com.ibm.icu.math.BigDecimal edge;
+  com.ibm.icu.math.BigDecimal tenedge;
+  com.ibm.icu.math.BigDecimal hunedge;
+  com.ibm.icu.math.BigDecimal opo;
+  com.ibm.icu.math.BigDecimal d1=null;
+  com.ibm.icu.math.BigDecimal d2=null;
+  java.lang.ArithmeticException oe=null;
+  java.lang.ArithmeticException ae=null;
+  
+  (new Test("mul001")).ok=((new com.ibm.icu.math.BigDecimal("2")).multiply(new com.ibm.icu.math.BigDecimal("3"),mcdef).toString()).equals("6");
+  (new Test("mul002")).ok=((new com.ibm.icu.math.BigDecimal("5")).multiply(new com.ibm.icu.math.BigDecimal("1"),mcdef).toString()).equals("5");
+  (new Test("mul003")).ok=((new com.ibm.icu.math.BigDecimal("5")).multiply(new com.ibm.icu.math.BigDecimal("2"),mcdef).toString()).equals("10");
+  (new Test("mul004")).ok=((new com.ibm.icu.math.BigDecimal("1.20")).multiply(new com.ibm.icu.math.BigDecimal("2"),mcdef).toString()).equals("2.40");
+  (new Test("mul005")).ok=((new com.ibm.icu.math.BigDecimal("1.20")).multiply(new com.ibm.icu.math.BigDecimal("0"),mcdef).toString()).equals("0");
+  (new Test("mul006")).ok=((new com.ibm.icu.math.BigDecimal("1.20")).multiply(new com.ibm.icu.math.BigDecimal("-2"),mcdef).toString()).equals("-2.40");
+  (new Test("mul007")).ok=((new com.ibm.icu.math.BigDecimal("-1.20")).multiply(new com.ibm.icu.math.BigDecimal("2"),mcdef).toString()).equals("-2.40");
+  (new Test("mul008")).ok=((new com.ibm.icu.math.BigDecimal("-1.20")).multiply(new com.ibm.icu.math.BigDecimal("0"),mcdef).toString()).equals("0");
+  (new Test("mul009")).ok=((new com.ibm.icu.math.BigDecimal("-1.20")).multiply(new com.ibm.icu.math.BigDecimal("-2"),mcdef).toString()).equals("2.40");
+  (new Test("mul010")).ok=((new com.ibm.icu.math.BigDecimal("5.09")).multiply(new com.ibm.icu.math.BigDecimal("7.1"),mcdef).toString()).equals("36.139");
+  (new Test("mul011")).ok=((new com.ibm.icu.math.BigDecimal("2.5")).multiply(new com.ibm.icu.math.BigDecimal("4"),mcdef).toString()).equals("10.0");
+  (new Test("mul012")).ok=((new com.ibm.icu.math.BigDecimal("2.50")).multiply(new com.ibm.icu.math.BigDecimal("4"),mcdef).toString()).equals("10.00");
+  (new Test("mul013")).ok=((new com.ibm.icu.math.BigDecimal("1.23456789")).multiply(new com.ibm.icu.math.BigDecimal("1.00000000"),mcdef).toString()).equals("1.23456789");
+  
+  (new Test("mul014")).ok=((new com.ibm.icu.math.BigDecimal("9.999999999")).multiply(new com.ibm.icu.math.BigDecimal("9.999999999"),mcdef).toString()).equals("100.000000");
+  
+  (new Test("mul015")).ok=((new com.ibm.icu.math.BigDecimal("2.50")).multiply(new com.ibm.icu.math.BigDecimal("4"),mcdef).toString()).equals("10.00");
+  (new Test("mul016")).ok=((new com.ibm.icu.math.BigDecimal("2.50")).multiply(new com.ibm.icu.math.BigDecimal("4"),mc6).toString()).equals("10.00");
+  (new Test("mul017")).ok=((new com.ibm.icu.math.BigDecimal("9.999999999")).multiply(new com.ibm.icu.math.BigDecimal("9.999999999"),mc6).toString()).equals("100.000");
+  
+  
+  (new Test("mul020")).ok=((new com.ibm.icu.math.BigDecimal("2")).multiply(new com.ibm.icu.math.BigDecimal("3")).toString()).equals("6");
+  (new Test("mul021")).ok=((new com.ibm.icu.math.BigDecimal("5")).multiply(new com.ibm.icu.math.BigDecimal("1")).toString()).equals("5");
+  (new Test("mul022")).ok=((new com.ibm.icu.math.BigDecimal("5")).multiply(new com.ibm.icu.math.BigDecimal("2")).toString()).equals("10");
+  (new Test("mul023")).ok=((new com.ibm.icu.math.BigDecimal("1.20")).multiply(new com.ibm.icu.math.BigDecimal("2")).toString()).equals("2.40");
+  (new Test("mul024")).ok=((new com.ibm.icu.math.BigDecimal("1.20")).multiply(new com.ibm.icu.math.BigDecimal("0")).toString()).equals("0.00");
+  (new Test("mul025")).ok=((new com.ibm.icu.math.BigDecimal("1.20")).multiply(new com.ibm.icu.math.BigDecimal("-2")).toString()).equals("-2.40");
+  (new Test("mul026")).ok=((new com.ibm.icu.math.BigDecimal("-1.20")).multiply(new com.ibm.icu.math.BigDecimal("2")).toString()).equals("-2.40");
+  (new Test("mul027")).ok=((new com.ibm.icu.math.BigDecimal("-1.20")).multiply(new com.ibm.icu.math.BigDecimal("0")).toString()).equals("0.00");
+  (new Test("mul028")).ok=((new com.ibm.icu.math.BigDecimal("-1.20")).multiply(new com.ibm.icu.math.BigDecimal("-2")).toString()).equals("2.40");
+  (new Test("mul029")).ok=((new com.ibm.icu.math.BigDecimal("5.09")).multiply(new com.ibm.icu.math.BigDecimal("7.1")).toString()).equals("36.139");
+  (new Test("mul030")).ok=((new com.ibm.icu.math.BigDecimal("2.5")).multiply(new com.ibm.icu.math.BigDecimal("4")).toString()).equals("10.0");
+  (new Test("mul031")).ok=((new com.ibm.icu.math.BigDecimal("2.50")).multiply(new com.ibm.icu.math.BigDecimal("4")).toString()).equals("10.00");
+  (new Test("mul032")).ok=((new com.ibm.icu.math.BigDecimal("1.23456789")).multiply(new com.ibm.icu.math.BigDecimal("1.00000000")).toString()).equals("1.2345678900000000");
+  
+  (new Test("mul033")).ok=((new com.ibm.icu.math.BigDecimal("1234.56789")).multiply(new com.ibm.icu.math.BigDecimal("-1000.00000")).toString()).equals("-1234567.8900000000");
+  
+  (new Test("mul034")).ok=((new com.ibm.icu.math.BigDecimal("-1234.56789")).multiply(new com.ibm.icu.math.BigDecimal("1000.00000")).toString()).equals("-1234567.8900000000");
+  
+  (new Test("mul035")).ok=((new com.ibm.icu.math.BigDecimal("9.999999999")).multiply(new com.ibm.icu.math.BigDecimal("9.999999999")).toString()).equals("99.999999980000000001");
+  
+  (new Test("mul036")).ok=((new com.ibm.icu.math.BigDecimal("5.00")).multiply(new com.ibm.icu.math.BigDecimal("1E-3")).toString()).equals("0.00500");
+  (new Test("mul037")).ok=((new com.ibm.icu.math.BigDecimal("00.00")).multiply(new com.ibm.icu.math.BigDecimal("0.000")).toString()).equals("0.00000");
+  (new Test("mul038")).ok=((new com.ibm.icu.math.BigDecimal("00.00")).multiply(new com.ibm.icu.math.BigDecimal("0E-3")).toString()).equals("0.00"); // rhs is '0'
+  // 1999.12.21: next one is a edge case if intermediate longs are used
+  (new Test("mul039")).ok=((new com.ibm.icu.math.BigDecimal("999999999999")).multiply(new com.ibm.icu.math.BigDecimal("9765625")).toString()).equals("9765624999990234375");
+  
+  l9=new com.ibm.icu.math.BigDecimal("123456789E+10");
+  l77e=new com.ibm.icu.math.BigDecimal("77E-20");
+  (new Test("mul040")).ok=(l9.multiply(new com.ibm.icu.math.BigDecimal("3456757")).toString()).equals("4267601195732730000000000");
+  (new Test("mul041")).ok=(l9.multiply(new com.ibm.icu.math.BigDecimal("3456757"),mc3).toString()).equals("4.26E+24");
+  (new Test("mul042")).ok=(l9.multiply(l77e).toString()).equals("0.95061727530000000000");
+  (new Test("mul043")).ok=(l9.multiply(l77e,mc3).toString()).equals("0.947");
+  (new Test("mul044")).ok=(l77e.multiply(l9,mc3).toString()).equals("0.947");
+  
+  l12345=new com.ibm.icu.math.BigDecimal("123.45");
+  (new Test("mul050")).ok=(l12345.multiply(new com.ibm.icu.math.BigDecimal("1e11"),mcdef).toString()).equals("1.2345E+13");
+  (new Test("mul051")).ok=(l12345.multiply(new com.ibm.icu.math.BigDecimal("1e11"),mcs).toString()).equals("1.2345E+13");
+  (new Test("mul052")).ok=(l12345.multiply(new com.ibm.icu.math.BigDecimal("1e+9"),mce).toString()).equals("123.45E+9");
+  (new Test("mul053")).ok=(l12345.multiply(new com.ibm.icu.math.BigDecimal("1e10"),mce).toString()).equals("1.2345E+12");
+  (new Test("mul054")).ok=(l12345.multiply(new com.ibm.icu.math.BigDecimal("1e11"),mce).toString()).equals("12.345E+12");
+  (new Test("mul055")).ok=(l12345.multiply(new com.ibm.icu.math.BigDecimal("1e12"),mce).toString()).equals("123.45E+12");
+  (new Test("mul056")).ok=(l12345.multiply(new com.ibm.icu.math.BigDecimal("1e13"),mce).toString()).equals("1.2345E+15");
+  
+  // test some cases that are close to exponent overflow
+  (new Test("mul060")).ok=(one.multiply(new com.ibm.icu.math.BigDecimal("9e999999999"),mcs).toString()).equals("9E+999999999");
+  (new Test("mul061")).ok=(one.multiply(new com.ibm.icu.math.BigDecimal("9.9e999999999"),mcs).toString()).equals("9.9E+999999999");
+  (new Test("mul062")).ok=(one.multiply(new com.ibm.icu.math.BigDecimal("9.99e999999999"),mcs).toString()).equals("9.99E+999999999");
+  (new Test("mul063")).ok=(ten.multiply(new com.ibm.icu.math.BigDecimal("9e999999999"),mce).toString()).equals("90E+999999999");
+  (new Test("mul064")).ok=(ten.multiply(new com.ibm.icu.math.BigDecimal("9.9e999999999"),mce).toString()).equals("99.0E+999999999");
+  edge=new com.ibm.icu.math.BigDecimal("9.999e999999999");
+  tenedge=ten.multiply(edge,mce);
+  (new Test("mul065")).ok=(tenedge.toString()).equals("99.990E+999999999");
+  hunedge=ten.multiply(tenedge,mce);
+  (new Test("mul066")).ok=(hunedge.toString()).equals("999.900E+999999999");
+  opo=new com.ibm.icu.math.BigDecimal("0.1"); // one tenth
+  (new Test("mul067")).ok=(opo.multiply(new com.ibm.icu.math.BigDecimal("9e-999999998"),mcs).toString()).equals("9E-999999999");
+  (new Test("mul068")).ok=(opo.multiply(new com.ibm.icu.math.BigDecimal("99e-999999998"),mcs).toString()).equals("9.9E-999999998");
+  (new Test("mul069")).ok=(opo.multiply(new com.ibm.icu.math.BigDecimal("999e-999999998"),mcs).toString()).equals("9.99E-999999997");
+  
+  (new Test("mul070")).ok=(opo.multiply(new com.ibm.icu.math.BigDecimal("9e-999999998"),mce).toString()).equals("9E-999999999");
+  (new Test("mul071")).ok=(opo.multiply(new com.ibm.icu.math.BigDecimal("99e-999999998"),mce).toString()).equals("99E-999999999");
+  (new Test("mul072")).ok=(opo.multiply(new com.ibm.icu.math.BigDecimal("999e-999999998"),mce).toString()).equals("999E-999999999");
+  (new Test("mul073")).ok=(opo.multiply(new com.ibm.icu.math.BigDecimal("999e-999999997"),mce).toString()).equals("9.99E-999999996");
+  (new Test("mul074")).ok=(opo.multiply(new com.ibm.icu.math.BigDecimal("9999e-999999997"),mce).toString()).equals("99.99E-999999996");
+  (new Test("mul074")).ok=(opo.multiply(new com.ibm.icu.math.BigDecimal("99999e-999999997"),mce).toString()).equals("999.99E-999999996");
+  
+  // test some intermediate lengths
+  (new Test("mul080")).ok=(opo.multiply(new com.ibm.icu.math.BigDecimal("123456789"),mcs).toString()).equals("12345678.9");
+  (new Test("mul081")).ok=(opo.multiply(new com.ibm.icu.math.BigDecimal("12345678901234"),mcs).toString()).equals("1.23456789E+12");
+  (new Test("mul082")).ok=(opo.multiply(new com.ibm.icu.math.BigDecimal("123456789123456789"),mcs).toString()).equals("1.23456789E+16");
+  (new Test("mul083")).ok=(opo.multiply(new com.ibm.icu.math.BigDecimal("123456789"),mcfd).toString()).equals("12345678.9");
+  (new Test("mul084")).ok=(opo.multiply(new com.ibm.icu.math.BigDecimal("12345678901234"),mcfd).toString()).equals("1234567890123.4");
+  (new Test("mul085")).ok=(opo.multiply(new com.ibm.icu.math.BigDecimal("123456789123456789"),mcfd).toString()).equals("12345678912345678.9");
+  
+  (new Test("mul090")).ok=((new com.ibm.icu.math.BigDecimal("123456789")).multiply(opo,mcs).toString()).equals("12345678.9");
+  (new Test("mul091")).ok=((new com.ibm.icu.math.BigDecimal("12345678901234")).multiply(opo,mcs).toString()).equals("1.23456789E+12");
+  (new Test("mul092")).ok=((new com.ibm.icu.math.BigDecimal("123456789123456789")).multiply(opo,mcs).toString()).equals("1.23456789E+16");
+  (new Test("mul093")).ok=((new com.ibm.icu.math.BigDecimal("123456789")).multiply(opo,mcfd).toString()).equals("12345678.9");
+  (new Test("mul094")).ok=((new com.ibm.icu.math.BigDecimal("12345678901234")).multiply(opo,mcfd).toString()).equals("1234567890123.4");
+  (new Test("mul095")).ok=((new com.ibm.icu.math.BigDecimal("123456789123456789")).multiply(opo,mcfd).toString()).equals("12345678912345678.9");
+  
+  // test some more edge cases and carries
+  (new Test("mul101")).ok=((new com.ibm.icu.math.BigDecimal("9")).multiply(new com.ibm.icu.math.BigDecimal("9")).toString()).equals("81");
+  (new Test("mul102")).ok=((new com.ibm.icu.math.BigDecimal("9")).multiply(new com.ibm.icu.math.BigDecimal("90")).toString()).equals("810");
+  (new Test("mul103")).ok=((new com.ibm.icu.math.BigDecimal("9")).multiply(new com.ibm.icu.math.BigDecimal("900")).toString()).equals("8100");
+  (new Test("mul104")).ok=((new com.ibm.icu.math.BigDecimal("9")).multiply(new com.ibm.icu.math.BigDecimal("9000")).toString()).equals("81000");
+  (new Test("mul105")).ok=((new com.ibm.icu.math.BigDecimal("9")).multiply(new com.ibm.icu.math.BigDecimal("90000")).toString()).equals("810000");
+  (new Test("mul106")).ok=((new com.ibm.icu.math.BigDecimal("9")).multiply(new com.ibm.icu.math.BigDecimal("900000")).toString()).equals("8100000");
+  (new Test("mul107")).ok=((new com.ibm.icu.math.BigDecimal("9")).multiply(new com.ibm.icu.math.BigDecimal("9000000")).toString()).equals("81000000");
+  (new Test("mul108")).ok=((new com.ibm.icu.math.BigDecimal("9")).multiply(new com.ibm.icu.math.BigDecimal("90000000")).toString()).equals("810000000");
+  (new Test("mul109")).ok=((new com.ibm.icu.math.BigDecimal("9")).multiply(new com.ibm.icu.math.BigDecimal("900000000")).toString()).equals("8100000000");
+  (new Test("mul110")).ok=((new com.ibm.icu.math.BigDecimal("9")).multiply(new com.ibm.icu.math.BigDecimal("9000000000")).toString()).equals("81000000000");
+  (new Test("mul111")).ok=((new com.ibm.icu.math.BigDecimal("9")).multiply(new com.ibm.icu.math.BigDecimal("90000000000")).toString()).equals("810000000000");
+  (new Test("mul112")).ok=((new com.ibm.icu.math.BigDecimal("9")).multiply(new com.ibm.icu.math.BigDecimal("900000000000")).toString()).equals("8100000000000");
+  (new Test("mul113")).ok=((new com.ibm.icu.math.BigDecimal("9")).multiply(new com.ibm.icu.math.BigDecimal("9000000000000")).toString()).equals("81000000000000");
+  (new Test("mul114")).ok=((new com.ibm.icu.math.BigDecimal("9")).multiply(new com.ibm.icu.math.BigDecimal("90000000000000")).toString()).equals("810000000000000");
+  (new Test("mul115")).ok=((new com.ibm.icu.math.BigDecimal("9")).multiply(new com.ibm.icu.math.BigDecimal("900000000000000")).toString()).equals("8100000000000000");
+  (new Test("mul116")).ok=((new com.ibm.icu.math.BigDecimal("9")).multiply(new com.ibm.icu.math.BigDecimal("9000000000000000")).toString()).equals("81000000000000000");
+  (new Test("mul117")).ok=((new com.ibm.icu.math.BigDecimal("9")).multiply(new com.ibm.icu.math.BigDecimal("90000000000000000")).toString()).equals("810000000000000000");
+  (new Test("mul118")).ok=((new com.ibm.icu.math.BigDecimal("9")).multiply(new com.ibm.icu.math.BigDecimal("900000000000000000")).toString()).equals("8100000000000000000");
+  (new Test("mul119")).ok=((new com.ibm.icu.math.BigDecimal("9")).multiply(new com.ibm.icu.math.BigDecimal("9000000000000000000")).toString()).equals("81000000000000000000");
+  (new Test("mul120")).ok=((new com.ibm.icu.math.BigDecimal("9")).multiply(new com.ibm.icu.math.BigDecimal("90000000000000000000")).toString()).equals("810000000000000000000");
+  (new Test("mul121")).ok=((new com.ibm.icu.math.BigDecimal("9")).multiply(new com.ibm.icu.math.BigDecimal("900000000000000000000")).toString()).equals("8100000000000000000000");
+  (new Test("mul122")).ok=((new com.ibm.icu.math.BigDecimal("9")).multiply(new com.ibm.icu.math.BigDecimal("9000000000000000000000")).toString()).equals("81000000000000000000000");
+  (new Test("mul123")).ok=((new com.ibm.icu.math.BigDecimal("9")).multiply(new com.ibm.icu.math.BigDecimal("90000000000000000000000")).toString()).equals("810000000000000000000000");
+  // test some more edge cases without carries
+  (new Test("mul131")).ok=((new com.ibm.icu.math.BigDecimal("3")).multiply(new com.ibm.icu.math.BigDecimal("3")).toString()).equals("9");
+  (new Test("mul132")).ok=((new com.ibm.icu.math.BigDecimal("3")).multiply(new com.ibm.icu.math.BigDecimal("30")).toString()).equals("90");
+  (new Test("mul133")).ok=((new com.ibm.icu.math.BigDecimal("3")).multiply(new com.ibm.icu.math.BigDecimal("300")).toString()).equals("900");
+  (new Test("mul134")).ok=((new com.ibm.icu.math.BigDecimal("3")).multiply(new com.ibm.icu.math.BigDecimal("3000")).toString()).equals("9000");
+  (new Test("mul135")).ok=((new com.ibm.icu.math.BigDecimal("3")).multiply(new com.ibm.icu.math.BigDecimal("30000")).toString()).equals("90000");
+  (new Test("mul136")).ok=((new com.ibm.icu.math.BigDecimal("3")).multiply(new com.ibm.icu.math.BigDecimal("300000")).toString()).equals("900000");
+  (new Test("mul137")).ok=((new com.ibm.icu.math.BigDecimal("3")).multiply(new com.ibm.icu.math.BigDecimal("3000000")).toString()).equals("9000000");
+  (new Test("mul138")).ok=((new com.ibm.icu.math.BigDecimal("3")).multiply(new com.ibm.icu.math.BigDecimal("30000000")).toString()).equals("90000000");
+  (new Test("mul139")).ok=((new com.ibm.icu.math.BigDecimal("3")).multiply(new com.ibm.icu.math.BigDecimal("300000000")).toString()).equals("900000000");
+  (new Test("mul140")).ok=((new com.ibm.icu.math.BigDecimal("3")).multiply(new com.ibm.icu.math.BigDecimal("3000000000")).toString()).equals("9000000000");
+  (new Test("mul141")).ok=((new com.ibm.icu.math.BigDecimal("3")).multiply(new com.ibm.icu.math.BigDecimal("30000000000")).toString()).equals("90000000000");
+  (new Test("mul142")).ok=((new com.ibm.icu.math.BigDecimal("3")).multiply(new com.ibm.icu.math.BigDecimal("300000000000")).toString()).equals("900000000000");
+  (new Test("mul143")).ok=((new com.ibm.icu.math.BigDecimal("3")).multiply(new com.ibm.icu.math.BigDecimal("3000000000000")).toString()).equals("9000000000000");
+  (new Test("mul144")).ok=((new com.ibm.icu.math.BigDecimal("3")).multiply(new com.ibm.icu.math.BigDecimal("30000000000000")).toString()).equals("90000000000000");
+  (new Test("mul145")).ok=((new com.ibm.icu.math.BigDecimal("3")).multiply(new com.ibm.icu.math.BigDecimal("300000000000000")).toString()).equals("900000000000000");
+  (new Test("mul146")).ok=((new com.ibm.icu.math.BigDecimal("3")).multiply(new com.ibm.icu.math.BigDecimal("3000000000000000")).toString()).equals("9000000000000000");
+  (new Test("mul147")).ok=((new com.ibm.icu.math.BigDecimal("3")).multiply(new com.ibm.icu.math.BigDecimal("30000000000000000")).toString()).equals("90000000000000000");
+  (new Test("mul148")).ok=((new com.ibm.icu.math.BigDecimal("3")).multiply(new com.ibm.icu.math.BigDecimal("300000000000000000")).toString()).equals("900000000000000000");
+  (new Test("mul149")).ok=((new com.ibm.icu.math.BigDecimal("3")).multiply(new com.ibm.icu.math.BigDecimal("3000000000000000000")).toString()).equals("9000000000000000000");
+  (new Test("mul150")).ok=((new com.ibm.icu.math.BigDecimal("3")).multiply(new com.ibm.icu.math.BigDecimal("30000000000000000000")).toString()).equals("90000000000000000000");
+  (new Test("mul151")).ok=((new com.ibm.icu.math.BigDecimal("3")).multiply(new com.ibm.icu.math.BigDecimal("300000000000000000000")).toString()).equals("900000000000000000000");
+  (new Test("mul152")).ok=((new com.ibm.icu.math.BigDecimal("3")).multiply(new com.ibm.icu.math.BigDecimal("3000000000000000000000")).toString()).equals("9000000000000000000000");
+  (new Test("mul153")).ok=((new com.ibm.icu.math.BigDecimal("3")).multiply(new com.ibm.icu.math.BigDecimal("30000000000000000000000")).toString()).equals("90000000000000000000000");
+  
+  try{checknull:do{
+   ten.multiply((com.ibm.icu.math.BigDecimal)null);
+   flag=false;
+  }while(false);}
+  catch (java.lang.NullPointerException $55){
+   flag=true;
+  }/*checknull*/
+  (new Test("mul200")).ok=flag;
+  try{checknull2:do{
+   ten.multiply(ten,(com.ibm.icu.math.MathContext)null);
+   flag=false;
+  }while(false);}
+  catch (java.lang.NullPointerException $56){
+   flag=true;
+  }/*checknull2*/
+  (new Test("mul201")).ok=flag;
+  
+  try{checkover:do{
+   d1=new com.ibm.icu.math.BigDecimal("-1.23456789012345E-0");
+   d2=new com.ibm.icu.math.BigDecimal("9E+999999999");
+   d1.multiply(d2,mcdef); // marginal overflow
+   flag=false;
+  }while(false);}
+  catch (java.lang.ArithmeticException $57){oe=$57;
+   flag=(oe.getMessage()).equals("Exponent Overflow: 1000000000");
+  }/*checkover*/
+  (new Test("mul202")).ok=flag;
+  try{checkover:do{
+   d1=new com.ibm.icu.math.BigDecimal("112");
+   d2=new com.ibm.icu.math.BigDecimal("9E+999999999");
+   d1.multiply(d2,mce); // marginal overflow, engineering
+   flag=false;
+  }while(false);}
+  catch (java.lang.ArithmeticException $58){oe=$58;
+   flag=(oe.getMessage()).equals("Exponent Overflow: 1000000002");
+  }/*checkover*/
+  (new Test("mul203")).ok=flag;
+  
+  try{checkover:do{
+   d1=new com.ibm.icu.math.BigDecimal("0.9");
+   d2=new com.ibm.icu.math.BigDecimal("1E-999999999");
+   d1.multiply(d2,mcdef); // marginal negative overflow
+   flag=false;
+  }while(false);}
+  catch (java.lang.ArithmeticException $59){oe=$59;
+   flag=(oe.getMessage()).equals("Exponent Overflow: -1000000000");
+  }/*checkover*/
+  (new Test("mul204")).ok=flag;
+  try{checkover:do{
+   d1=new com.ibm.icu.math.BigDecimal("0.9");
+   d2=new com.ibm.icu.math.BigDecimal("1E-999999999");
+   d1.multiply(d2,mce); // marginal negative overflow, engineering
+   flag=false;
+  }while(false);}
+  catch (java.lang.ArithmeticException $60){oe=$60;
+   flag=(oe.getMessage()).equals("Exponent Overflow: -1000000002");
+  }/*checkover*/
+  (new Test("mul205")).ok=flag;
+  
+  try{checkdigits:do{
+   tenlong.multiply(com.ibm.icu.math.BigDecimal.ONE,mcld);
+   flag=false;
+  }while(false);}
+  catch (java.lang.ArithmeticException $61){ae=$61;
+   flag=(ae.getMessage()).equals("Too many digits:"+" "+tenlong.toString());
+  }/*checkdigits*/
+  (new Test("mul206")).ok=flag;
+  try{checkdigits:do{
+   com.ibm.icu.math.BigDecimal.TEN.multiply(tenlong,mcld);
+   flag=false;
+  }while(false);}
+  catch (java.lang.ArithmeticException $62){ae=$62;
+   flag=(ae.getMessage()).equals("Too many digits:"+" "+tenlong.toString());
+  }/*checkdigits*/
+  (new Test("mul207")).ok=flag;
+  
+  summary("multiply");
+ }
+
+ /* ----------------------------------------------------------------- */
+ 
+ /** Test the {@link com.ibm.icu.math.BigDecimal#negate} method. */
+ 
+ public void diagnegate(){
+  boolean flag=false;
+  java.lang.ArithmeticException ae=null;
+  
+  (new Test("neg001")).ok=((new com.ibm.icu.math.BigDecimal("2")).negate().toString()).equals("-2");
+  (new Test("neg002")).ok=((new com.ibm.icu.math.BigDecimal("-2")).negate().toString()).equals("2");
+  (new Test("neg003")).ok=((new com.ibm.icu.math.BigDecimal("2.00")).negate(mcdef).toString()).equals("-2.00");
+  (new Test("neg004")).ok=((new com.ibm.icu.math.BigDecimal("-2.00")).negate(mcdef).toString()).equals("2.00");
+  (new Test("neg005")).ok=((new com.ibm.icu.math.BigDecimal("0")).negate(mcdef).toString()).equals("0");
+  (new Test("neg006")).ok=((new com.ibm.icu.math.BigDecimal("0.00")).negate(mcdef).toString()).equals("0");
+  (new Test("neg007")).ok=((new com.ibm.icu.math.BigDecimal("00.0")).negate(mcdef).toString()).equals("0");
+  (new Test("neg008")).ok=((new com.ibm.icu.math.BigDecimal("00")).negate(mcdef).toString()).equals("0");
+  
+  (new Test("neg010")).ok=((new com.ibm.icu.math.BigDecimal("2.00")).negate().toString()).equals("-2.00");
+  (new Test("neg011")).ok=((new com.ibm.icu.math.BigDecimal("-2.00")).negate().toString()).equals("2.00");
+  (new Test("neg012")).ok=((new com.ibm.icu.math.BigDecimal("0")).negate().toString()).equals("0");
+  (new Test("neg013")).ok=((new com.ibm.icu.math.BigDecimal("0.00")).negate().toString()).equals("0.00");
+  (new Test("neg014")).ok=((new com.ibm.icu.math.BigDecimal("00.0")).negate().toString()).equals("0.0");
+  (new Test("neg015")).ok=((new com.ibm.icu.math.BigDecimal("00.00")).negate().toString()).equals("0.00");
+  (new Test("neg016")).ok=((new com.ibm.icu.math.BigDecimal("00")).negate().toString()).equals("0");
+  
+  (new Test("neg020")).ok=((new com.ibm.icu.math.BigDecimal("-2000000")).negate().toString()).equals("2000000");
+  (new Test("neg021")).ok=((new com.ibm.icu.math.BigDecimal("-2000000")).negate(mcdef).toString()).equals("2000000");
+  (new Test("neg022")).ok=((new com.ibm.icu.math.BigDecimal("-2000000")).negate(mc6).toString()).equals("2.00000E+6");
+  (new Test("neg023")).ok=((new com.ibm.icu.math.BigDecimal("2000000")).negate(mc6).toString()).equals("-2.00000E+6");
+  
+  try{checknull:do{
+   ten.negate((com.ibm.icu.math.MathContext)null);
+   flag=false;
+  }while(false);}
+  catch (java.lang.NullPointerException $63){
+   flag=true;
+  }/*checknull*/
+  (new Test("neg100")).ok=flag;
+  
+  try{checkdigits:do{
+   tenlong.negate(mcld);
+   flag=false;
+  }while(false);}
+  catch (java.lang.ArithmeticException $64){ae=$64;
+   flag=(ae.getMessage()).equals("Too many digits:"+" "+tenlong.toString());
+  }/*checkdigits*/
+  (new Test("neg101")).ok=flag;
+  summary("negate");
+ }
+/* ----------------------------------------------------------------- */
+ 
+ /** Test the {@link com.ibm.icu.math.BigDecimal#plus} method. */
+ 
+ public void diagplus(){
+  boolean flag=false;
+  com.ibm.icu.math.MathContext mche1;
+  java.lang.ArithmeticException ae=null;
+  
+  (new Test("plu001")).ok=((new com.ibm.icu.math.BigDecimal("2")).plus(mcdef).toString()).equals("2");
+  (new Test("plu002")).ok=((new com.ibm.icu.math.BigDecimal("-2")).plus(mcdef).toString()).equals("-2");
+  (new Test("plu003")).ok=((new com.ibm.icu.math.BigDecimal("2.00")).plus(mcdef).toString()).equals("2.00");
+  (new Test("plu004")).ok=((new com.ibm.icu.math.BigDecimal("-2.00")).plus(mcdef).toString()).equals("-2.00");
+  (new Test("plu005")).ok=((new com.ibm.icu.math.BigDecimal("0")).plus(mcdef).toString()).equals("0");
+  (new Test("plu006")).ok=((new com.ibm.icu.math.BigDecimal("0.00")).plus(mcdef).toString()).equals("0");
+  (new Test("plu007")).ok=((new com.ibm.icu.math.BigDecimal("00.0")).plus(mcdef).toString()).equals("0");
+  (new Test("plu008")).ok=((new com.ibm.icu.math.BigDecimal("00")).plus(mcdef).toString()).equals("0");
+  
+  (new Test("plu010")).ok=((new com.ibm.icu.math.BigDecimal("2")).plus().toString()).equals("2");
+  (new Test("plu011")).ok=((new com.ibm.icu.math.BigDecimal("-2")).plus().toString()).equals("-2");
+  (new Test("plu012")).ok=((new com.ibm.icu.math.BigDecimal("2.00")).plus().toString()).equals("2.00");
+  (new Test("plu013")).ok=((new com.ibm.icu.math.BigDecimal("-2.00")).plus().toString()).equals("-2.00");
+  (new Test("plu014")).ok=((new com.ibm.icu.math.BigDecimal("0")).plus().toString()).equals("0");
+  (new Test("plu015")).ok=((new com.ibm.icu.math.BigDecimal("0.00")).plus().toString()).equals("0.00");
+  (new Test("plu016")).ok=((new com.ibm.icu.math.BigDecimal("00.0")).plus().toString()).equals("0.0");
+  (new Test("plu017")).ok=((new com.ibm.icu.math.BigDecimal("00.00")).plus().toString()).equals("0.00");
+  (new Test("plu018")).ok=((new com.ibm.icu.math.BigDecimal("00")).plus().toString()).equals("0");
+  
+  (new Test("plu020")).ok=((new com.ibm.icu.math.BigDecimal("-2000000")).plus().toString()).equals("-2000000");
+  (new Test("plu021")).ok=((new com.ibm.icu.math.BigDecimal("-2000000")).plus(mcdef).toString()).equals("-2000000");
+  (new Test("plu022")).ok=((new com.ibm.icu.math.BigDecimal("-2000000")).plus(mc6).toString()).equals("-2.00000E+6");
+  (new Test("plu023")).ok=((new com.ibm.icu.math.BigDecimal("2000000")).plus(mc6).toString()).equals("2.00000E+6");
+  
+  // try some exotic but silly rounding [format checks more varieties]
+  // [this mostly ensures we can set up and pass the setting]
+  mche1=new com.ibm.icu.math.MathContext(1,com.ibm.icu.math.MathContext.SCIENTIFIC,false,com.ibm.icu.math.MathContext.ROUND_HALF_EVEN);
+  (new Test("plu030")).ok=((new com.ibm.icu.math.BigDecimal("0.24")).plus(mche1).toString()).equals("0.2");
+  (new Test("plu031")).ok=((new com.ibm.icu.math.BigDecimal("0.25")).plus(mche1).toString()).equals("0.2");
+  (new Test("plu032")).ok=((new com.ibm.icu.math.BigDecimal("0.26")).plus(mche1).toString()).equals("0.3");
+  (new Test("plu033")).ok=((new com.ibm.icu.math.BigDecimal("0.14")).plus(mche1).toString()).equals("0.1");
+  (new Test("plu034")).ok=((new com.ibm.icu.math.BigDecimal("0.15")).plus(mche1).toString()).equals("0.2");
+  (new Test("plu035")).ok=((new com.ibm.icu.math.BigDecimal("0.16")).plus(mche1).toString()).equals("0.2");
+  
+  (new Test("plu040")).ok=((new com.ibm.icu.math.BigDecimal("0.251")).plus(mche1).toString()).equals("0.3");
+  (new Test("plu041")).ok=((new com.ibm.icu.math.BigDecimal("0.151")).plus(mche1).toString()).equals("0.2");
+  
+  (new Test("plu050")).ok=((new com.ibm.icu.math.BigDecimal("-0.24")).plus(mche1).toString()).equals("-0.2");
+  (new Test("plu051")).ok=((new com.ibm.icu.math.BigDecimal("-0.25")).plus(mche1).toString()).equals("-0.2");
+  (new Test("plu052")).ok=((new com.ibm.icu.math.BigDecimal("-0.26")).plus(mche1).toString()).equals("-0.3");
+  (new Test("plu053")).ok=((new com.ibm.icu.math.BigDecimal("-0.14")).plus(mche1).toString()).equals("-0.1");
+  (new Test("plu054")).ok=((new com.ibm.icu.math.BigDecimal("-0.15")).plus(mche1).toString()).equals("-0.2");
+  (new Test("plu055")).ok=((new com.ibm.icu.math.BigDecimal("-0.16")).plus(mche1).toString()).equals("-0.2");
+  
+  // more fixed, potential LHS swaps if done by add 0
+  (new Test("plu060")).ok=((new com.ibm.icu.math.BigDecimal("-56267E-10")).plus().toString()).equals("-0.0000056267");
+  (new Test("plu061")).ok=((new com.ibm.icu.math.BigDecimal("-56267E-5")).plus().toString()).equals("-0.56267");
+  (new Test("plu062")).ok=((new com.ibm.icu.math.BigDecimal("-56267E-2")).plus().toString()).equals("-562.67");
+  (new Test("plu063")).ok=((new com.ibm.icu.math.BigDecimal("-56267E-1")).plus().toString()).equals("-5626.7");
+  (new Test("plu065")).ok=((new com.ibm.icu.math.BigDecimal("-56267E-0")).plus().toString()).equals("-56267");
+  
+  try{checknull:do{
+   ten.plus((com.ibm.icu.math.MathContext)null);
+   flag=false;
+  }while(false);}
+  catch (java.lang.NullPointerException $65){
+   flag=true;
+  }/*checknull*/
+  (new Test("plu100")).ok=flag;
+  
+  try{checkdigits:do{
+   tenlong.plus(mcld);
+   flag=false;
+  }while(false);}
+  catch (java.lang.ArithmeticException $66){ae=$66;
+   flag=(ae.getMessage()).equals("Too many digits:"+" "+tenlong.toString());
+  }/*checkdigits*/
+  (new Test("plu101")).ok=flag;
+  summary("plus");
+ }
+/* ----------------------------------------------------------------- */
+ 
+ /** Test the {@link com.ibm.icu.math.BigDecimal#pow} method. */
+ 
+ public void diagpow(){
+  boolean flag;
+  com.ibm.icu.math.BigDecimal x;
+  com.ibm.icu.math.BigDecimal temp;
+  int n=0;
+  com.ibm.icu.math.BigDecimal vx;
+  com.ibm.icu.math.BigDecimal vn;
+  java.lang.ArithmeticException ae=null;
+  flag=true;
+  (new Test("pow001")).ok="1".equals((new com.ibm.icu.math.BigDecimal("0.3")).pow(new com.ibm.icu.math.BigDecimal("0"),mcdef).toString());
+  (new Test("pow002")).ok="0.3".equals((new com.ibm.icu.math.BigDecimal("0.3")).pow(new com.ibm.icu.math.BigDecimal("1"),mcdef).toString());
+  (new Test("pow003")).ok="0.3".equals((new com.ibm.icu.math.BigDecimal("0.3")).pow(new com.ibm.icu.math.BigDecimal("1.00"),mcdef).toString());
+  (new Test("pow004")).ok="0.09".equals((new com.ibm.icu.math.BigDecimal("0.3")).pow(new com.ibm.icu.math.BigDecimal("2.00"),mcdef).toString());
+  (new Test("pow005")).ok="0.09".equals((new com.ibm.icu.math.BigDecimal("0.3")).pow(new com.ibm.icu.math.BigDecimal("2.000000000"),mcdef).toString());
+  (new Test("pow006")).ok=("1E-8").equals((new com.ibm.icu.math.BigDecimal("10")).pow(new com.ibm.icu.math.BigDecimal("-8"),mcdef).toString());
+  (new Test("pow007")).ok=("1E-7").equals((new com.ibm.icu.math.BigDecimal("10")).pow(new com.ibm.icu.math.BigDecimal("-7"),mcdef).toString());
+  (new Test("pow008")).ok="0.000001".equals((new com.ibm.icu.math.BigDecimal("10")).pow(new com.ibm.icu.math.BigDecimal("-6"),mcdef).toString());
+  (new Test("pow009")).ok="0.00001".equals((new com.ibm.icu.math.BigDecimal("10")).pow(new com.ibm.icu.math.BigDecimal("-5"),mcdef).toString());
+  (new Test("pow010")).ok="0.0001".equals((new com.ibm.icu.math.BigDecimal("10")).pow(new com.ibm.icu.math.BigDecimal("-4"),mcdef).toString());
+  (new Test("pow011")).ok="0.001".equals((new com.ibm.icu.math.BigDecimal("10")).pow(new com.ibm.icu.math.BigDecimal("-3"),mcdef).toString());
+  (new Test("pow012")).ok="0.01".equals((new com.ibm.icu.math.BigDecimal("10")).pow(new com.ibm.icu.math.BigDecimal("-2"),mcdef).toString());
+  (new Test("pow013")).ok="0.1".equals((new com.ibm.icu.math.BigDecimal("10")).pow(new com.ibm.icu.math.BigDecimal("-1"),mcdef).toString());
+  (new Test("pow014")).ok="1".equals((new com.ibm.icu.math.BigDecimal("10")).pow(new com.ibm.icu.math.BigDecimal("0"),mcdef).toString());
+  (new Test("pow015")).ok="10".equals((new com.ibm.icu.math.BigDecimal("10")).pow(new com.ibm.icu.math.BigDecimal("1"),mcdef).toString());
+  (new Test("pow016")).ok="100000000".equals((new com.ibm.icu.math.BigDecimal("10")).pow(new com.ibm.icu.math.BigDecimal("8"),mcdef).toString());
+  (new Test("pow017")).ok=("1E+9").equals((new com.ibm.icu.math.BigDecimal("10")).pow(new com.ibm.icu.math.BigDecimal("9"),mcdef).toString());
+  (new Test("pow018")).ok=("1E+99").equals((new com.ibm.icu.math.BigDecimal("10")).pow(new com.ibm.icu.math.BigDecimal("99"),mcdef).toString());
+  (new Test("pow019")).ok=("1E+999999999").equals((new com.ibm.icu.math.BigDecimal("10")).pow(new com.ibm.icu.math.BigDecimal("999999999"),mcdef).toString());
+  (new Test("pow020")).ok=("1E+999999998").equals((new com.ibm.icu.math.BigDecimal("10")).pow(new com.ibm.icu.math.BigDecimal("999999998"),mcdef).toString());
+  (new Test("pow021")).ok=("1E+999999997").equals((new com.ibm.icu.math.BigDecimal("10")).pow(new com.ibm.icu.math.BigDecimal("999999997"),mcdef).toString());
+  (new Test("pow022")).ok=("1E+333333333").equals((new com.ibm.icu.math.BigDecimal("10")).pow(new com.ibm.icu.math.BigDecimal("333333333"),mcdef).toString());
+  (new Test("pow023")).ok=("1E-333333333").equals((new com.ibm.icu.math.BigDecimal("10")).pow(new com.ibm.icu.math.BigDecimal("-333333333"),mcdef).toString());
+  (new Test("pow024")).ok=("1E-999999998").equals((new com.ibm.icu.math.BigDecimal("10")).pow(new com.ibm.icu.math.BigDecimal("-999999998"),mcdef).toString());
+  (new Test("pow025")).ok=("1E-999999999").equals((new com.ibm.icu.math.BigDecimal("10")).pow(new com.ibm.icu.math.BigDecimal("-999999999"),mcdef).toString());
+  (new Test("pow026")).ok="0.5".equals((new com.ibm.icu.math.BigDecimal("2")).pow(new com.ibm.icu.math.BigDecimal("-1"),mcdef).toString());
+  (new Test("pow027")).ok="0.25".equals((new com.ibm.icu.math.BigDecimal("2")).pow(new com.ibm.icu.math.BigDecimal("-2"),mcdef).toString());
+  (new Test("pow028")).ok="0.0625".equals((new com.ibm.icu.math.BigDecimal("2")).pow(new com.ibm.icu.math.BigDecimal("-4"),mcdef).toString());
+  
+  (new Test("pow050")).ok=((new com.ibm.icu.math.BigDecimal("0")).pow(new com.ibm.icu.math.BigDecimal("0"),mcdef).toString()).equals("1");
+  (new Test("pow051")).ok=((new com.ibm.icu.math.BigDecimal("0")).pow(new com.ibm.icu.math.BigDecimal("1"),mcdef).toString()).equals("0");
+  (new Test("pow052")).ok=((new com.ibm.icu.math.BigDecimal("0")).pow(new com.ibm.icu.math.BigDecimal("2"),mcdef).toString()).equals("0");
+  (new Test("pow053")).ok=((new com.ibm.icu.math.BigDecimal("1")).pow(new com.ibm.icu.math.BigDecimal("0"),mcdef).toString()).equals("1");
+  (new Test("pow054")).ok=((new com.ibm.icu.math.BigDecimal("1")).pow(new com.ibm.icu.math.BigDecimal("1"),mcdef).toString()).equals("1");
+  (new Test("pow055")).ok=((new com.ibm.icu.math.BigDecimal("1")).pow(new com.ibm.icu.math.BigDecimal("2"),mcdef).toString()).equals("1");
+  (new Test("pow056")).ok=((new com.ibm.icu.math.BigDecimal("0.3")).pow(new com.ibm.icu.math.BigDecimal("0"),mcdef).toString()).equals("1");
+  (new Test("pow057")).ok=((new com.ibm.icu.math.BigDecimal("10")).pow(new com.ibm.icu.math.BigDecimal("999999999"),mcdef).toString()).equals("1E+999999999");
+  (new Test("pow058")).ok=((new com.ibm.icu.math.BigDecimal("10")).pow(new com.ibm.icu.math.BigDecimal("999999998"),mcdef).toString()).equals("1E+999999998");
+  (new Test("pow059")).ok=((new com.ibm.icu.math.BigDecimal("10")).pow(new com.ibm.icu.math.BigDecimal("999999997"),mcdef).toString()).equals("1E+999999997");
+  (new Test("pow060")).ok=((new com.ibm.icu.math.BigDecimal("10")).pow(new com.ibm.icu.math.BigDecimal("333333333"),mcdef).toString()).equals("1E+333333333");
+  (new Test("pow061")).ok=((new com.ibm.icu.math.BigDecimal("10")).pow(new com.ibm.icu.math.BigDecimal("77"),mcdef).toString()).equals("1E+77");
+  (new Test("pow062")).ok=((new com.ibm.icu.math.BigDecimal("10")).pow(new com.ibm.icu.math.BigDecimal("22"),mcdef).toString()).equals("1E+22");
+  (new Test("pow063")).ok=((new com.ibm.icu.math.BigDecimal("10")).pow(new com.ibm.icu.math.BigDecimal("-77"),mcdef).toString()).equals("1E-77");
+  (new Test("pow064")).ok=((new com.ibm.icu.math.BigDecimal("10")).pow(new com.ibm.icu.math.BigDecimal("-22"),mcdef).toString()).equals("1E-22");
+  (new Test("pow065")).ok=((new com.ibm.icu.math.BigDecimal("2")).pow(new com.ibm.icu.math.BigDecimal("-1"),mcdef).toString()).equals("0.5");
+  (new Test("pow066")).ok=((new com.ibm.icu.math.BigDecimal("2")).pow(new com.ibm.icu.math.BigDecimal("-2"),mcdef).toString()).equals("0.25");
+  (new Test("pow067")).ok=((new com.ibm.icu.math.BigDecimal("2")).pow(new com.ibm.icu.math.BigDecimal("-4"),mcdef).toString()).equals("0.0625");
+  (new Test("pow068")).ok=((new com.ibm.icu.math.BigDecimal("6.0")).pow(new com.ibm.icu.math.BigDecimal("2"),mcdef).toString()).equals("36");
+  (new Test("pow069")).ok=((new com.ibm.icu.math.BigDecimal("-3")).pow(new com.ibm.icu.math.BigDecimal("2"),mcdef).toString()).equals("9");/* from book */
+  (new Test("pow070")).ok=((new com.ibm.icu.math.BigDecimal("2")).pow(new com.ibm.icu.math.BigDecimal("2"),mcdef).pow(new com.ibm.icu.math.BigDecimal("3"),mcdef).toString()).equals("64");/* from book */
+  
+  // 1998.12.14 Next test removed as pow() no longer rounds RHS [as per ANSI]
+  // Test('pow071').ok=BigDecimal('2').pow(BigDecimal('2.000000001'),mcdef).toString == '4'/* check input rounding */
+  
+  /* General tests from original Rexx diagnostics */
+  x=new com.ibm.icu.math.BigDecimal("0.5");
+  temp=com.ibm.icu.math.BigDecimal.ONE;
+  flag=true;
+  {n=1;n:for(;n<=10;n++){
+   temp=temp.multiply(x).divide(com.ibm.icu.math.BigDecimal.ONE);
+   flag=flag&(x.pow(new com.ibm.icu.math.BigDecimal(n),mcdef).toString()).equals(temp.toString());
+   }
+  }/*n*/
+  (new Test("pow080")).ok=flag;
+  
+  x=new com.ibm.icu.math.BigDecimal("2");
+  temp=com.ibm.icu.math.BigDecimal.ONE;
+  flag=true;
+  {n=1;n:for(;n<=29;n++){
+   temp=temp.multiply(x).divide(com.ibm.icu.math.BigDecimal.ONE);
+   flag=flag&(x.pow(new com.ibm.icu.math.BigDecimal(n),mcdef).toString()).equals(temp.toString());
+   flag=flag&(x.pow(new com.ibm.icu.math.BigDecimal((int)-n),mcdef).toString()).equals(com.ibm.icu.math.BigDecimal.ONE.divide(temp,mcdef).toString());
+   /* Note that rounding errors are possible for larger "n" */
+   /* due to the information content of the exponent        */
+   }
+  }/*n*/
+  (new Test("pow081")).ok=flag;
+  
+  /* The Vienna case.  Checks both setup and 1/acc working precision */
+  // Modified 1998.12.14 as RHS no longer rounded before use (must fit)
+  // Modified 1990.02.04 as LHS is now rounded (instead of truncated to guard)
+  vx=new com.ibm.icu.math.BigDecimal("123456789E+10"); // lhs .. rounded to 1.23E+18
+  vn=new com.ibm.icu.math.BigDecimal("-1.23000e+2"); // rhs .. [was: -1.23455e+2, rounds to -123]
+  (new Test("pow090")).ok=(vx.pow(vn,mc3).toString()).equals("8.74E-2226");
+  
+  //- fixed point versions ---
+  (new Test("pow101")).ok="1".equals((new com.ibm.icu.math.BigDecimal("0.3")).pow(new com.ibm.icu.math.BigDecimal("0")).toString());
+  (new Test("pow102")).ok="0.3".equals((new com.ibm.icu.math.BigDecimal("0.3")).pow(new com.ibm.icu.math.BigDecimal("1")).toString());
+  (new Test("pow103")).ok="0.3".equals((new com.ibm.icu.math.BigDecimal("0.3")).pow(new com.ibm.icu.math.BigDecimal("1.00")).toString());
+  (new Test("pow104")).ok="0.09".equals((new com.ibm.icu.math.BigDecimal("0.3")).pow(new com.ibm.icu.math.BigDecimal("2")).toString());
+  (new Test("pow105")).ok="0.09".equals((new com.ibm.icu.math.BigDecimal("0.3")).pow(new com.ibm.icu.math.BigDecimal("2.00")).toString());
+  (new Test("pow106")).ok="10".equals((new com.ibm.icu.math.BigDecimal("10")).pow(new com.ibm.icu.math.BigDecimal("1")).toString());
+  (new Test("pow107")).ok="100000000".equals((new com.ibm.icu.math.BigDecimal("10")).pow(new com.ibm.icu.math.BigDecimal("8")).toString());
+  (new Test("pow108")).ok="1000000000".equals((new com.ibm.icu.math.BigDecimal("10")).pow(new com.ibm.icu.math.BigDecimal("9")).toString());
+  (new Test("pow109")).ok="10000000000".equals((new com.ibm.icu.math.BigDecimal("10")).pow(new com.ibm.icu.math.BigDecimal("10")).toString());
+  (new Test("pow110")).ok="1".equals((new com.ibm.icu.math.BigDecimal("2")).pow(new com.ibm.icu.math.BigDecimal("0")).toString());
+  (new Test("pow111")).ok="16".equals((new com.ibm.icu.math.BigDecimal("2")).pow(new com.ibm.icu.math.BigDecimal("4")).toString());
+  (new Test("pow112")).ok="256".equals((new com.ibm.icu.math.BigDecimal("2")).pow(new com.ibm.icu.math.BigDecimal("8")).toString());
+  (new Test("pow113")).ok="1024".equals((new com.ibm.icu.math.BigDecimal("2")).pow(new com.ibm.icu.math.BigDecimal("10")).toString());
+  (new Test("pow114")).ok="1.0510100501".equals((new com.ibm.icu.math.BigDecimal("1.01")).pow(new com.ibm.icu.math.BigDecimal("5")).toString());
+  
+  (new Test("pow120")).ok=((new com.ibm.icu.math.BigDecimal("0")).pow(new com.ibm.icu.math.BigDecimal("0")).toString()).equals("1");
+  (new Test("pow121")).ok=((new com.ibm.icu.math.BigDecimal("0")).pow(new com.ibm.icu.math.BigDecimal("1")).toString()).equals("0");
+  (new Test("pow122")).ok=((new com.ibm.icu.math.BigDecimal("0")).pow(new com.ibm.icu.math.BigDecimal("2")).toString()).equals("0");
+  (new Test("pow123")).ok=((new com.ibm.icu.math.BigDecimal("1")).pow(new com.ibm.icu.math.BigDecimal("0")).toString()).equals("1");
+  (new Test("pow144")).ok=((new com.ibm.icu.math.BigDecimal("1")).pow(new com.ibm.icu.math.BigDecimal("1")).toString()).equals("1");
+  (new Test("pow125")).ok=((new com.ibm.icu.math.BigDecimal("1")).pow(new com.ibm.icu.math.BigDecimal("2")).toString()).equals("1");
+  (new Test("pow126")).ok=((new com.ibm.icu.math.BigDecimal("0.3")).pow(new com.ibm.icu.math.BigDecimal("0")).toString()).equals("1");
+  (new Test("pow127")).ok=((new com.ibm.icu.math.BigDecimal("10")).pow(new com.ibm.icu.math.BigDecimal("7")).toString()).equals("10000000");
+  (new Test("pow128")).ok=((new com.ibm.icu.math.BigDecimal("6.0")).pow(new com.ibm.icu.math.BigDecimal("2")).toString()).equals("36.00");
+  (new Test("pow129")).ok=((new com.ibm.icu.math.BigDecimal("6.00")).pow(new com.ibm.icu.math.BigDecimal("2")).toString()).equals("36.0000");
+  (new Test("pow130")).ok=((new com.ibm.icu.math.BigDecimal("6.000")).pow(new com.ibm.icu.math.BigDecimal("2")).toString()).equals("36.000000");
+  (new Test("pow131")).ok=((new com.ibm.icu.math.BigDecimal("-3")).pow(new com.ibm.icu.math.BigDecimal("2")).toString()).equals("9");
+  (new Test("pow132")).ok=((new com.ibm.icu.math.BigDecimal("2")).pow(new com.ibm.icu.math.BigDecimal("2")).pow(new com.ibm.icu.math.BigDecimal("3")).toString()).equals("64");
+  
+  /* errors */
+  try{checknull:do{
+   ten.pow((com.ibm.icu.math.BigDecimal)null);
+   flag=false;
+  }while(false);}
+  catch (java.lang.NullPointerException $67){
+   flag=true;
+  }/*checknull*/
+  (new Test("pow150")).ok=flag;
+  try{checknull2:do{
+   ten.pow(ten,(com.ibm.icu.math.MathContext)null);
+   flag=false;
+  }while(false);}
+  catch (java.lang.NullPointerException $68){
+   flag=true;
+  }/*checknull2*/
+  (new Test("pow151")).ok=flag;
+  
+  flag=true;
+  try{checkdigits:do{
+   tenlong.pow(com.ibm.icu.math.BigDecimal.ONE,mcld);
+   flag=false;
+  }while(false);}
+  catch (java.lang.ArithmeticException $69){ae=$69;
+   flag=(ae.getMessage()).equals("Too many digits:"+" "+tenlong.toString());
+  }/*checkdigits*/
+  (new Test("pow152")).ok=flag;
+  
+  try{checkdigits:do{
+   com.ibm.icu.math.BigDecimal.ONE.pow(tenlong,mcld);
+   flag=false;
+  }while(false);}
+  catch (java.lang.ArithmeticException $70){ae=$70;
+   flag=(ae.getMessage()).equals("Too many digits:"+" "+tenlong.toString());
+  }/*checkdigits*/
+  (new Test("pow153")).ok=flag;
+  
+  try{checkpos:do{
+   com.ibm.icu.math.BigDecimal.ONE.pow(new com.ibm.icu.math.BigDecimal("-71"));
+   flag=false;
+  }while(false);}
+  catch (java.lang.ArithmeticException $71){ae=$71;
+   flag=(ae.getMessage()).equals("Negative power: -71");
+  }/*checkpos*/
+  (new Test("pow154")).ok=flag;
+  
+  try{checkwhole:do{
+   com.ibm.icu.math.BigDecimal.ONE.pow(new com.ibm.icu.math.BigDecimal("1234"),mc3);
+   flag=false;
+  }while(false);}
+  catch (java.lang.ArithmeticException $72){ae=$72;
+   flag=(ae.getMessage()).equals("Too many digits: 1234");
+  }/*checkwhole*/
+  (new Test("pow155")).ok=flag;
+  
+  try{checkwhole1:do{
+   com.ibm.icu.math.BigDecimal.ONE.pow(new com.ibm.icu.math.BigDecimal("12.34e+2"),mc3);
+   flag=false;
+  }while(false);}
+  catch (java.lang.ArithmeticException $73){ae=$73;
+   flag=(ae.getMessage()).equals("Too many digits: 1.234E+3");
+  }/*checkwhole1*/
+  (new Test("pow156")).ok=flag;
+  
+  try{checkwhole2:do{
+   com.ibm.icu.math.BigDecimal.ONE.pow(new com.ibm.icu.math.BigDecimal("12.4"),mcdef);
+   flag=false;
+  }while(false);}
+  catch (java.lang.ArithmeticException $74){ae=$74;
+   flag=(ae.getMessage()).equals("Decimal part non-zero: 12.4");
+  }/*checkwhole2*/
+  (new Test("pow157")).ok=flag;
+  
+  try{checkwhole3:do{
+   com.ibm.icu.math.BigDecimal.ONE.pow(new com.ibm.icu.math.BigDecimal("1.01"),mcdef);
+   flag=false;
+  }while(false);}
+  catch (java.lang.ArithmeticException $75){ae=$75;
+   flag=(ae.getMessage()).equals("Decimal part non-zero: 1.01");
+  }/*checkwhole3*/
+  (new Test("pow158")).ok=flag;
+  
+  try{checkwhole4:do{
+   com.ibm.icu.math.BigDecimal.ONE.pow(new com.ibm.icu.math.BigDecimal("1.000000001"),mcdef);
+   flag=false;
+  }while(false);}
+  catch (java.lang.ArithmeticException $76){ae=$76;
+   flag=(ae.getMessage()).equals("Decimal part non-zero: 1.000000001");
+  }/*checkwhole4*/
+  (new Test("pow159")).ok=flag;
+  
+  try{checkwhole5:do{
+   com.ibm.icu.math.BigDecimal.ONE.pow(new com.ibm.icu.math.BigDecimal("1.000000001"),mc3);
+   flag=false;
+  }while(false);}
+  catch (java.lang.ArithmeticException $77){ae=$77;
+   flag=(ae.getMessage()).equals("Decimal part non-zero: 1.000000001");
+  }/*checkwhole5*/
+  (new Test("pow160")).ok=flag;
+  
+  try{checkwhole6:do{
+   com.ibm.icu.math.BigDecimal.ONE.pow(new com.ibm.icu.math.BigDecimal("5.67E-987654321"),mc3);
+   flag=false;
+  }while(false);}
+  catch (java.lang.ArithmeticException $78){ae=$78;
+   flag=(ae.getMessage()).equals("Decimal part non-zero: 5.67E-987654321");
+  }/*checkwhole6*/
+  (new Test("pow161")).ok=flag;
+  
+  summary("pow");
+ }
+
+ /*--------------------------------------------------------------------*/
+ 
+ /** Test the {@link com.ibm.icu.math.BigDecimal#remainder} method. */
+ 
+ public void diagremainder(){
+  boolean flag=false;
+  java.lang.ArithmeticException ae=null;
+  
+  (new Test("rem001")).ok=((new com.ibm.icu.math.BigDecimal("1")).remainder(new com.ibm.icu.math.BigDecimal("3"),mcdef).toString()).equals("1");
+  (new Test("rem002")).ok=((new com.ibm.icu.math.BigDecimal("5")).remainder(new com.ibm.icu.math.BigDecimal("5"),mcdef).toString()).equals("0");
+  (new Test("rem003")).ok=((new com.ibm.icu.math.BigDecimal("13")).remainder(new com.ibm.icu.math.BigDecimal("10"),mcdef).toString()).equals("3");
+  (new Test("rem004")).ok=((new com.ibm.icu.math.BigDecimal("13")).remainder(new com.ibm.icu.math.BigDecimal("50"),mcdef).toString()).equals("13");
+  (new Test("rem005")).ok=((new com.ibm.icu.math.BigDecimal("13")).remainder(new com.ibm.icu.math.BigDecimal("100"),mcdef).toString()).equals("13");
+  (new Test("rem006")).ok=((new com.ibm.icu.math.BigDecimal("13")).remainder(new com.ibm.icu.math.BigDecimal("1000"),mcdef).toString()).equals("13");
+  (new Test("rem007")).ok=((new com.ibm.icu.math.BigDecimal(".13")).remainder(one).toString()).equals("0.13");
+  (new Test("rem008")).ok=((new com.ibm.icu.math.BigDecimal("0.133")).remainder(one).toString()).equals("0.133");
+  (new Test("rem009")).ok=((new com.ibm.icu.math.BigDecimal("0.1033")).remainder(one).toString()).equals("0.1033");
+  (new Test("rem010")).ok=((new com.ibm.icu.math.BigDecimal("1.033")).remainder(one).toString()).equals("0.033");
+  (new Test("rem011")).ok=((new com.ibm.icu.math.BigDecimal("10.33")).remainder(one).toString()).equals("0.33");
+  (new Test("rem012")).ok=((new com.ibm.icu.math.BigDecimal("10.33")).remainder(com.ibm.icu.math.BigDecimal.TEN).toString()).equals("0.33");
+  (new Test("rem013")).ok=((new com.ibm.icu.math.BigDecimal("103.3")).remainder(com.ibm.icu.math.BigDecimal.ONE).toString()).equals("0.3");
+  (new Test("rem014")).ok=((new com.ibm.icu.math.BigDecimal("133")).remainder(com.ibm.icu.math.BigDecimal.TEN).toString()).equals("3");
+  (new Test("rem015")).ok=((new com.ibm.icu.math.BigDecimal("1033")).remainder(com.ibm.icu.math.BigDecimal.TEN).toString()).equals("3");
+  (new Test("rem016")).ok=((new com.ibm.icu.math.BigDecimal("1033")).remainder(new com.ibm.icu.math.BigDecimal(50),mcdef).toString()).equals("33");
+  (new Test("rem017")).ok=((new com.ibm.icu.math.BigDecimal("101.0")).remainder(new com.ibm.icu.math.BigDecimal(3),mcdef).toString()).equals("2.0");
+  (new Test("rem018")).ok=((new com.ibm.icu.math.BigDecimal("102.0")).remainder(new com.ibm.icu.math.BigDecimal(3),mcdef).toString()).equals("0");
+  (new Test("rem019")).ok=((new com.ibm.icu.math.BigDecimal("103.0")).remainder(new com.ibm.icu.math.BigDecimal(3),mcdef).toString()).equals("1.0");
+  (new Test("rem020")).ok=((new com.ibm.icu.math.BigDecimal("2.40")).remainder(one).toString()).equals("0.40");
+  (new Test("rem021")).ok=((new com.ibm.icu.math.BigDecimal("2.400")).remainder(one).toString()).equals("0.400");
+  (new Test("rem022")).ok=((new com.ibm.icu.math.BigDecimal("2.4")).remainder(one).toString()).equals("0.4");
+  (new Test("rem023")).ok=((new com.ibm.icu.math.BigDecimal("2.4")).remainder(new com.ibm.icu.math.BigDecimal(2),mcdef).toString()).equals("0.4");
+  (new Test("rem024")).ok=((new com.ibm.icu.math.BigDecimal("2.400")).remainder(new com.ibm.icu.math.BigDecimal(2),mcdef).toString()).equals("0.400");
+  (new Test("rem025")).ok=((new com.ibm.icu.math.BigDecimal("1")).remainder(new com.ibm.icu.math.BigDecimal("0.3"),mcdef).toString()).equals("0.1");
+  (new Test("rem026")).ok=((new com.ibm.icu.math.BigDecimal("1")).remainder(new com.ibm.icu.math.BigDecimal("0.30"),mcdef).toString()).equals("0.10");
+  (new Test("rem027")).ok=((new com.ibm.icu.math.BigDecimal("1")).remainder(new com.ibm.icu.math.BigDecimal("0.300"),mcdef).toString()).equals("0.100");
+  (new Test("rem028")).ok=((new com.ibm.icu.math.BigDecimal("1")).remainder(new com.ibm.icu.math.BigDecimal("0.3000"),mcdef).toString()).equals("0.1000");
+  (new Test("rem029")).ok=((new com.ibm.icu.math.BigDecimal("1.0")).remainder(new com.ibm.icu.math.BigDecimal("0.3"),mcdef).toString()).equals("0.1");
+  (new Test("rem030")).ok=((new com.ibm.icu.math.BigDecimal("1.00")).remainder(new com.ibm.icu.math.BigDecimal("0.3"),mcdef).toString()).equals("0.10");
+  (new Test("rem031")).ok=((new com.ibm.icu.math.BigDecimal("1.000")).remainder(new com.ibm.icu.math.BigDecimal("0.3"),mcdef).toString()).equals("0.100");
+  (new Test("rem032")).ok=((new com.ibm.icu.math.BigDecimal("1.0000")).remainder(new com.ibm.icu.math.BigDecimal("0.3"),mcdef).toString()).equals("0.1000");
+  (new Test("rem033")).ok=((new com.ibm.icu.math.BigDecimal("0.5")).remainder(new com.ibm.icu.math.BigDecimal("2.001"),mcdef).toString()).equals("0.5");
+  
+  (new Test("rem040")).ok=((new com.ibm.icu.math.BigDecimal("0.5")).remainder(new com.ibm.icu.math.BigDecimal("0.5000001"),mcdef).toString()).equals("0.5");
+  (new Test("rem041")).ok=((new com.ibm.icu.math.BigDecimal("0.5")).remainder(new com.ibm.icu.math.BigDecimal("0.50000001"),mcdef).toString()).equals("0.5");
+  (new Test("rem042")).ok=((new com.ibm.icu.math.BigDecimal("0.5")).remainder(new com.ibm.icu.math.BigDecimal("0.500000001"),mcdef).toString()).equals("0.5");
+  (new Test("rem043")).ok=((new com.ibm.icu.math.BigDecimal("0.5")).remainder(new com.ibm.icu.math.BigDecimal("0.5000000001"),mcdef).toString()).equals("0");
+  (new Test("rem044")).ok=((new com.ibm.icu.math.BigDecimal("0.5")).remainder(new com.ibm.icu.math.BigDecimal("0.50000000001"),mcdef).toString()).equals("0");
+  (new Test("rem045")).ok=((new com.ibm.icu.math.BigDecimal("0.5")).remainder(new com.ibm.icu.math.BigDecimal("0.4999999"),mcdef).toString()).equals("1E-7");
+  (new Test("rem046")).ok=((new com.ibm.icu.math.BigDecimal("0.5")).remainder(new com.ibm.icu.math.BigDecimal("0.49999999"),mcdef).toString()).equals("1E-8");
+  (new Test("rem047")).ok=((new com.ibm.icu.math.BigDecimal("0.5")).remainder(new com.ibm.icu.math.BigDecimal("0.499999999"),mcdef).toString()).equals("1E-9");
+  (new Test("rem048")).ok=((new com.ibm.icu.math.BigDecimal("0.5")).remainder(new com.ibm.icu.math.BigDecimal("0.4999999999"),mcdef).toString()).equals("0");
+  (new Test("rem049")).ok=((new com.ibm.icu.math.BigDecimal("0.5")).remainder(new com.ibm.icu.math.BigDecimal("0.49999999999"),mcdef).toString()).equals("0");
+  
+  (new Test("rem050")).ok=((new com.ibm.icu.math.BigDecimal("0.03")).remainder(new com.ibm.icu.math.BigDecimal("7"),mcdef).toString()).equals("0.03");
+  (new Test("rem051")).ok=((new com.ibm.icu.math.BigDecimal("5")).remainder(new com.ibm.icu.math.BigDecimal("2"),mcdef).toString()).equals("1");
+  (new Test("rem052")).ok=((new com.ibm.icu.math.BigDecimal("4.1")).remainder(new com.ibm.icu.math.BigDecimal("2"),mcdef).toString()).equals("0.1");
+  (new Test("rem053")).ok=((new com.ibm.icu.math.BigDecimal("4.01")).remainder(new com.ibm.icu.math.BigDecimal("2"),mcdef).toString()).equals("0.01");
+  (new Test("rem054")).ok=((new com.ibm.icu.math.BigDecimal("4.001")).remainder(new com.ibm.icu.math.BigDecimal("2"),mcdef).toString()).equals("0.001");
+  (new Test("rem055")).ok=((new com.ibm.icu.math.BigDecimal("4.0001")).remainder(new com.ibm.icu.math.BigDecimal("2"),mcdef).toString()).equals("0.0001");
+  (new Test("rem056")).ok=((new com.ibm.icu.math.BigDecimal("4.00001")).remainder(new com.ibm.icu.math.BigDecimal("2"),mcdef).toString()).equals("0.00001");
+  (new Test("rem057")).ok=((new com.ibm.icu.math.BigDecimal("4.000001")).remainder(new com.ibm.icu.math.BigDecimal("2"),mcdef).toString()).equals("0.000001");
+  (new Test("rem058")).ok=((new com.ibm.icu.math.BigDecimal("4.0000001")).remainder(new com.ibm.icu.math.BigDecimal("2"),mcdef).toString()).equals("1E-7");
+  
+  (new Test("rem060")).ok=((new com.ibm.icu.math.BigDecimal("1.2")).remainder(new com.ibm.icu.math.BigDecimal("0.7345"),mcdef).toString()).equals("0.4655");
+  (new Test("rem061")).ok=((new com.ibm.icu.math.BigDecimal("0.8")).remainder(new com.ibm.icu.math.BigDecimal("12"),mcdef).toString()).equals("0.8");
+  (new Test("rem062")).ok=((new com.ibm.icu.math.BigDecimal("0.8")).remainder(new com.ibm.icu.math.BigDecimal("0.2"),mcdef).toString()).equals("0");
+  (new Test("rem063")).ok=((new com.ibm.icu.math.BigDecimal("0.8")).remainder(new com.ibm.icu.math.BigDecimal("0.3"),mcdef).toString()).equals("0.2");
+  (new Test("rem064")).ok=((new com.ibm.icu.math.BigDecimal("0.800")).remainder(new com.ibm.icu.math.BigDecimal("12"),mcdef).toString()).equals("0.800");
+  (new Test("rem065")).ok=((new com.ibm.icu.math.BigDecimal("0.800")).remainder(new com.ibm.icu.math.BigDecimal("1.7"),mcdef).toString()).equals("0.800");
+  (new Test("rem066")).ok=((new com.ibm.icu.math.BigDecimal("2.400")).remainder(new com.ibm.icu.math.BigDecimal(2),mcdef).toString()).equals("0.400");
+  
+  // MC --
+  (new Test("rem071")).ok=((new com.ibm.icu.math.BigDecimal("2.400")).remainder(new com.ibm.icu.math.BigDecimal(2),mc6).toString()).equals("0.400");
+  (new Test("rem072")).ok=((new com.ibm.icu.math.BigDecimal("12345678900000")).remainder(new com.ibm.icu.math.BigDecimal("12e+12"),mc3).toString()).equals("3E+11");
+  
+  // Fixed --
+  (new Test("rem101")).ok=((new com.ibm.icu.math.BigDecimal("1")).remainder(new com.ibm.icu.math.BigDecimal("3")).toString()).equals("1");
+  (new Test("rem102")).ok=((new com.ibm.icu.math.BigDecimal("5")).remainder(new com.ibm.icu.math.BigDecimal("5")).toString()).equals("0");
+  (new Test("rem103")).ok=((new com.ibm.icu.math.BigDecimal("13")).remainder(new com.ibm.icu.math.BigDecimal("10")).toString()).equals("3");
+  (new Test("rem104")).ok=((new com.ibm.icu.math.BigDecimal("13")).remainder(new com.ibm.icu.math.BigDecimal("50")).toString()).equals("13");
+  (new Test("rem105")).ok=((new com.ibm.icu.math.BigDecimal("13")).remainder(new com.ibm.icu.math.BigDecimal("100")).toString()).equals("13");
+  (new Test("rem106")).ok=((new com.ibm.icu.math.BigDecimal("13")).remainder(new com.ibm.icu.math.BigDecimal("1000")).toString()).equals("13");
+  (new Test("rem107")).ok=((new com.ibm.icu.math.BigDecimal(".13")).remainder(one).toString()).equals("0.13");
+  (new Test("rem108")).ok=((new com.ibm.icu.math.BigDecimal("0.133")).remainder(one).toString()).equals("0.133");
+  (new Test("rem109")).ok=((new com.ibm.icu.math.BigDecimal("0.1033")).remainder(one).toString()).equals("0.1033");
+  (new Test("rem110")).ok=((new com.ibm.icu.math.BigDecimal("1.033")).remainder(one).toString()).equals("0.033");
+  (new Test("rem111")).ok=((new com.ibm.icu.math.BigDecimal("10.33")).remainder(one).toString()).equals("0.33");
+  (new Test("rem112")).ok=((new com.ibm.icu.math.BigDecimal("10.33")).remainder(com.ibm.icu.math.BigDecimal.TEN).toString()).equals("0.33");
+  (new Test("rem113")).ok=((new com.ibm.icu.math.BigDecimal("103.3")).remainder(com.ibm.icu.math.BigDecimal.ONE).toString()).equals("0.3");
+  (new Test("rem114")).ok=((new com.ibm.icu.math.BigDecimal("133")).remainder(com.ibm.icu.math.BigDecimal.TEN).toString()).equals("3");
+  (new Test("rem115")).ok=((new com.ibm.icu.math.BigDecimal("1033")).remainder(com.ibm.icu.math.BigDecimal.TEN).toString()).equals("3");
+  (new Test("rem116")).ok=((new com.ibm.icu.math.BigDecimal("1033")).remainder(new com.ibm.icu.math.BigDecimal(50)).toString()).equals("33");
+  (new Test("rem117")).ok=((new com.ibm.icu.math.BigDecimal("101.0")).remainder(new com.ibm.icu.math.BigDecimal(3)).toString()).equals("2.0");
+  (new Test("rem118")).ok=((new com.ibm.icu.math.BigDecimal("102.0")).remainder(new com.ibm.icu.math.BigDecimal(3)).toString()).equals("0");
+  (new Test("rem119")).ok=((new com.ibm.icu.math.BigDecimal("103.0")).remainder(new com.ibm.icu.math.BigDecimal(3)).toString()).equals("1.0");
+  (new Test("rem120")).ok=((new com.ibm.icu.math.BigDecimal("2.40")).remainder(one).toString()).equals("0.40");
+  (new Test("rem121")).ok=((new com.ibm.icu.math.BigDecimal("2.400")).remainder(one).toString()).equals("0.400");
+  (new Test("rem122")).ok=((new com.ibm.icu.math.BigDecimal("2.4")).remainder(one).toString()).equals("0.4");
+  (new Test("rem123")).ok=((new com.ibm.icu.math.BigDecimal("2.4")).remainder(new com.ibm.icu.math.BigDecimal(2)).toString()).equals("0.4");
+  (new Test("rem124")).ok=((new com.ibm.icu.math.BigDecimal("2.400")).remainder(new com.ibm.icu.math.BigDecimal(2)).toString()).equals("0.400");
+  (new Test("rem125")).ok=((new com.ibm.icu.math.BigDecimal("1")).remainder(new com.ibm.icu.math.BigDecimal("0.3")).toString()).equals("0.1");
+  (new Test("rem126")).ok=((new com.ibm.icu.math.BigDecimal("1")).remainder(new com.ibm.icu.math.BigDecimal("0.30")).toString()).equals("0.10");
+  (new Test("rem127")).ok=((new com.ibm.icu.math.BigDecimal("1")).remainder(new com.ibm.icu.math.BigDecimal("0.300")).toString()).equals("0.100");
+  (new Test("rem128")).ok=((new com.ibm.icu.math.BigDecimal("1")).remainder(new com.ibm.icu.math.BigDecimal("0.3000")).toString()).equals("0.1000");
+  (new Test("rem129")).ok=((new com.ibm.icu.math.BigDecimal("1.0")).remainder(new com.ibm.icu.math.BigDecimal("0.3")).toString()).equals("0.1");
+  (new Test("rem130")).ok=((new com.ibm.icu.math.BigDecimal("1.00")).remainder(new com.ibm.icu.math.BigDecimal("0.3")).toString()).equals("0.10");
+  (new Test("rem131")).ok=((new com.ibm.icu.math.BigDecimal("1.000")).remainder(new com.ibm.icu.math.BigDecimal("0.3")).toString()).equals("0.100");
+  (new Test("rem132")).ok=((new com.ibm.icu.math.BigDecimal("1.0000")).remainder(new com.ibm.icu.math.BigDecimal("0.3")).toString()).equals("0.1000");
+  (new Test("rem133")).ok=((new com.ibm.icu.math.BigDecimal("0.5")).remainder(new com.ibm.icu.math.BigDecimal("2.001")).toString()).equals("0.5");
+  (new Test("rem134")).ok=((new com.ibm.icu.math.BigDecimal("0.5")).remainder(new com.ibm.icu.math.BigDecimal("0.500000001")).toString()).equals("0.5");
+  (new Test("rem135")).ok=((new com.ibm.icu.math.BigDecimal("0.5")).remainder(new com.ibm.icu.math.BigDecimal("0.5000000001")).toString()).equals("0.5");
+  (new Test("rem136")).ok=((new com.ibm.icu.math.BigDecimal("0.03")).remainder(new com.ibm.icu.math.BigDecimal("7")).toString()).equals("0.03");
+  (new Test("rem137")).ok=((new com.ibm.icu.math.BigDecimal("5")).remainder(new com.ibm.icu.math.BigDecimal("2")).toString()).equals("1");
+  (new Test("rem138")).ok=((new com.ibm.icu.math.BigDecimal("4.1")).remainder(new com.ibm.icu.math.BigDecimal("2")).toString()).equals("0.1");
+  (new Test("rem139")).ok=((new com.ibm.icu.math.BigDecimal("4.01")).remainder(new com.ibm.icu.math.BigDecimal("2")).toString()).equals("0.01");
+  (new Test("rem140")).ok=((new com.ibm.icu.math.BigDecimal("4.001")).remainder(new com.ibm.icu.math.BigDecimal("2")).toString()).equals("0.001");
+  (new Test("rem141")).ok=((new com.ibm.icu.math.BigDecimal("4.0001")).remainder(new com.ibm.icu.math.BigDecimal("2")).toString()).equals("0.0001");
+  (new Test("rem142")).ok=((new com.ibm.icu.math.BigDecimal("4.00001")).remainder(new com.ibm.icu.math.BigDecimal("2")).toString()).equals("0.00001");
+  (new Test("rem143")).ok=((new com.ibm.icu.math.BigDecimal("4.000001")).remainder(new com.ibm.icu.math.BigDecimal("2")).toString()).equals("0.000001");
+  (new Test("rem144")).ok=((new com.ibm.icu.math.BigDecimal("4.0000001")).remainder(new com.ibm.icu.math.BigDecimal("2")).toString()).equals("0.0000001"); // 1E-7, plain
+  (new Test("rem145")).ok=((new com.ibm.icu.math.BigDecimal("1.2")).remainder(new com.ibm.icu.math.BigDecimal("0.7345")).toString()).equals("0.4655");
+  (new Test("rem146")).ok=((new com.ibm.icu.math.BigDecimal("0.8")).remainder(new com.ibm.icu.math.BigDecimal("12")).toString()).equals("0.8");
+  (new Test("rem147")).ok=((new com.ibm.icu.math.BigDecimal("0.8")).remainder(new com.ibm.icu.math.BigDecimal("0.2")).toString()).equals("0");
+  (new Test("rem148")).ok=((new com.ibm.icu.math.BigDecimal("0.8")).remainder(new com.ibm.icu.math.BigDecimal("0.3")).toString()).equals("0.2");
+  (new Test("rem149")).ok=((new com.ibm.icu.math.BigDecimal("0.800")).remainder(new com.ibm.icu.math.BigDecimal("12")).toString()).equals("0.800");
+  (new Test("rem150")).ok=((new com.ibm.icu.math.BigDecimal("0.800")).remainder(new com.ibm.icu.math.BigDecimal("1.7")).toString()).equals("0.800");
+  (new Test("rem151")).ok=((new com.ibm.icu.math.BigDecimal("2.400")).remainder(new com.ibm.icu.math.BigDecimal(2),mcdef).toString()).equals("0.400");
+  
+  try{checknull:do{
+   ten.remainder((com.ibm.icu.math.BigDecimal)null);
+   flag=false;
+  }while(false);}
+  catch (java.lang.NullPointerException $79){
+   flag=true;
+  }/*checknull*/
+  (new Test("rem200")).ok=flag;
+  try{checknull2:do{
+   ten.remainder(ten,(com.ibm.icu.math.MathContext)null);
+   flag=false;
+  }while(false);}
+  catch (java.lang.NullPointerException $80){
+   flag=true;
+  }/*checknull2*/
+  (new Test("rem201")).ok=flag;
+  
+  try{checkdigits:do{
+   com.ibm.icu.math.BigDecimal.ONE.remainder(tenlong,mcld);
+   flag=false;
+  }while(false);}
+  catch (java.lang.ArithmeticException $81){ae=$81;
+   flag=(ae.getMessage()).equals("Too many digits:"+" "+tenlong.toString());
+  }/*checkdigits*/
+  (new Test("rem202")).ok=flag;
+  
+  try{checkdigits:do{
+   tenlong.remainder(one,mcld);
+   flag=false;
+  }while(false);}
+  catch (java.lang.ArithmeticException $82){ae=$82;
+   flag=(ae.getMessage()).equals("Too many digits:"+" "+tenlong.toString());
+  }/*checkdigits*/
+  (new Test("rem203")).ok=flag;
+  
+  summary("remainder");
+ }
+/*--------------------------------------------------------------------*/
+ 
+ /** Test the {@link com.ibm.icu.math.BigDecimal#subtract} method. */
+ 
+ public void diagsubtract(){
+  boolean flag=false;
+  com.ibm.icu.math.BigDecimal alhs;
+  com.ibm.icu.math.BigDecimal arhs;
+  java.lang.ArithmeticException ae=null;
+  
+  // [first group are 'quick confidence check']
+  (new Test("sub301")).ok=((new com.ibm.icu.math.BigDecimal(2)).subtract(new com.ibm.icu.math.BigDecimal(3),mcdef).toString()).equals("-1");
+  (new Test("sub302")).ok=((new com.ibm.icu.math.BigDecimal("5.75")).subtract(new com.ibm.icu.math.BigDecimal("3.3"),mcdef).toString()).equals("2.45");
+  (new Test("sub303")).ok=((new com.ibm.icu.math.BigDecimal("5")).subtract(new com.ibm.icu.math.BigDecimal("-3"),mcdef).toString()).equals("8");
+  (new Test("sub304")).ok=((new com.ibm.icu.math.BigDecimal("-5")).subtract(new com.ibm.icu.math.BigDecimal("-3"),mcdef).toString()).equals("-2");
+  (new Test("sub305")).ok=((new com.ibm.icu.math.BigDecimal("-7")).subtract(new com.ibm.icu.math.BigDecimal("2.5"),mcdef).toString()).equals("-9.5");
+  (new Test("sub306")).ok=((new com.ibm.icu.math.BigDecimal("0.7")).subtract(new com.ibm.icu.math.BigDecimal("0.3"),mcdef).toString()).equals("0.4");
+  (new Test("sub307")).ok=((new com.ibm.icu.math.BigDecimal("1.3")).subtract(new com.ibm.icu.math.BigDecimal("0.3"),mcdef).toString()).equals("1.0");
+  (new Test("sub308")).ok=((new com.ibm.icu.math.BigDecimal("1.25")).subtract(new com.ibm.icu.math.BigDecimal("1.25"),mcdef).toString()).equals("0");
+  (new Test("sub309")).ok=((new com.ibm.icu.math.BigDecimal("1.23456789")).subtract(new com.ibm.icu.math.BigDecimal("1.00000000"),mcdef).toString()).equals("0.23456789");
+  
+  (new Test("sub310")).ok=((new com.ibm.icu.math.BigDecimal("1.23456789")).subtract(new com.ibm.icu.math.BigDecimal("1.00000089"),mcdef).toString()).equals("0.23456700");
+  
+  (new Test("sub311")).ok=((new com.ibm.icu.math.BigDecimal("0.5555555559")).subtract(new com.ibm.icu.math.BigDecimal("0.0000000001"),mcdef).toString()).equals("0.555555556");
+  
+  (new Test("sub312")).ok=((new com.ibm.icu.math.BigDecimal("0.5555555559")).subtract(new com.ibm.icu.math.BigDecimal("0.0000000005"),mcdef).toString()).equals("0.555555556");
+  
+  (new Test("sub313")).ok=((new com.ibm.icu.math.BigDecimal("0.4444444444")).subtract(new com.ibm.icu.math.BigDecimal("0.1111111111"),mcdef).toString()).equals("0.333333333");
+  
+  (new Test("sub314")).ok=((new com.ibm.icu.math.BigDecimal("1.0000000000")).subtract(new com.ibm.icu.math.BigDecimal("0.00000001"),mcdef).toString()).equals("0.99999999");
+  
+  (new Test("sub315")).ok=((new com.ibm.icu.math.BigDecimal("0.4444444444999")).subtract(new com.ibm.icu.math.BigDecimal("0"),mcdef).toString()).equals("0.444444444");
+  
+  (new Test("sub316")).ok=((new com.ibm.icu.math.BigDecimal("0.4444444445000")).subtract(new com.ibm.icu.math.BigDecimal("0"),mcdef).toString()).equals("0.444444445");
+  
+  
+  (new Test("sub317")).ok=((new com.ibm.icu.math.BigDecimal("70")).subtract(new com.ibm.icu.math.BigDecimal("10000e+9"),mcdef).toString()).equals("-1.00000000E+13");
+  
+  (new Test("sub318")).ok=((new com.ibm.icu.math.BigDecimal("700")).subtract(new com.ibm.icu.math.BigDecimal("10000e+9"),mcdef).toString()).equals("-1.00000000E+13");
+  
+  (new Test("sub319")).ok=((new com.ibm.icu.math.BigDecimal("7000")).subtract(new com.ibm.icu.math.BigDecimal("10000e+9"),mcdef).toString()).equals("-1.00000000E+13");
+  
+  (new Test("sub320")).ok=((new com.ibm.icu.math.BigDecimal("70000")).subtract(new com.ibm.icu.math.BigDecimal("10000e+9"),mcdef).toString()).equals("-9.9999999E+12");
+  
+  (new Test("sub321")).ok=((new com.ibm.icu.math.BigDecimal("700000")).subtract(new com.ibm.icu.math.BigDecimal("10000e+9"),mcdef).toString()).equals("-9.9999993E+12");
+  
+  // symmetry:
+  (new Test("sub322")).ok=((new com.ibm.icu.math.BigDecimal("10000e+9")).subtract(new com.ibm.icu.math.BigDecimal("70"),mcdef).toString()).equals("1.00000000E+13");
+  
+  (new Test("sub323")).ok=((new com.ibm.icu.math.BigDecimal("10000e+9")).subtract(new com.ibm.icu.math.BigDecimal("700"),mcdef).toString()).equals("1.00000000E+13");
+  
+  (new Test("sub324")).ok=((new com.ibm.icu.math.BigDecimal("10000e+9")).subtract(new com.ibm.icu.math.BigDecimal("7000"),mcdef).toString()).equals("1.00000000E+13");
+  
+  (new Test("sub325")).ok=((new com.ibm.icu.math.BigDecimal("10000e+9")).subtract(new com.ibm.icu.math.BigDecimal("70000"),mcdef).toString()).equals("9.9999999E+12");
+  
+  (new Test("sub326")).ok=((new com.ibm.icu.math.BigDecimal("10000e+9")).subtract(new com.ibm.icu.math.BigDecimal("700000"),mcdef).toString()).equals("9.9999993E+12");
+  
+  
+  // [same with fixed point arithmetic]
+  (new Test("sub001")).ok=((new com.ibm.icu.math.BigDecimal(2)).subtract(new com.ibm.icu.math.BigDecimal(3)).toString()).equals("-1");
+  (new Test("sub002")).ok=((new com.ibm.icu.math.BigDecimal("5.75")).subtract(new com.ibm.icu.math.BigDecimal("3.3")).toString()).equals("2.45");
+  (new Test("sub003")).ok=((new com.ibm.icu.math.BigDecimal("5")).subtract(new com.ibm.icu.math.BigDecimal("-3")).toString()).equals("8");
+  (new Test("sub004")).ok=((new com.ibm.icu.math.BigDecimal("-5")).subtract(new com.ibm.icu.math.BigDecimal("-3")).toString()).equals("-2");
+  (new Test("sub005")).ok=((new com.ibm.icu.math.BigDecimal("-7")).subtract(new com.ibm.icu.math.BigDecimal("2.5")).toString()).equals("-9.5");
+  (new Test("sub006")).ok=((new com.ibm.icu.math.BigDecimal("0.7")).subtract(new com.ibm.icu.math.BigDecimal("0.3")).toString()).equals("0.4");
+  (new Test("sub007")).ok=((new com.ibm.icu.math.BigDecimal("1.3")).subtract(new com.ibm.icu.math.BigDecimal("0.3")).toString()).equals("1.0");
+  (new Test("sub008")).ok=((new com.ibm.icu.math.BigDecimal("1.25")).subtract(new com.ibm.icu.math.BigDecimal("1.25")).toString()).equals("0.00");
+  (new Test("sub009")).ok=((new com.ibm.icu.math.BigDecimal("0.02")).subtract(new com.ibm.icu.math.BigDecimal("0.02")).toString()).equals("0.00");
+  
+  (new Test("sub010")).ok=((new com.ibm.icu.math.BigDecimal("1.23456789")).subtract(new com.ibm.icu.math.BigDecimal("1.00000000")).toString()).equals("0.23456789");
+  
+  (new Test("sub011")).ok=((new com.ibm.icu.math.BigDecimal("1.23456789")).subtract(new com.ibm.icu.math.BigDecimal("1.00000089")).toString()).equals("0.23456700");
+  
+  (new Test("sub012")).ok=((new com.ibm.icu.math.BigDecimal("0.5555555559")).subtract(new com.ibm.icu.math.BigDecimal("0.0000000001")).toString()).equals("0.5555555558");
+  
+  (new Test("sub013")).ok=((new com.ibm.icu.math.BigDecimal("0.5555555559")).subtract(new com.ibm.icu.math.BigDecimal("0.0000000005")).toString()).equals("0.5555555554");
+  
+  (new Test("sub014")).ok=((new com.ibm.icu.math.BigDecimal("0.4444444444")).subtract(new com.ibm.icu.math.BigDecimal("0.1111111111")).toString()).equals("0.3333333333");
+  
+  (new Test("sub015")).ok=((new com.ibm.icu.math.BigDecimal("1.0000000000")).subtract(new com.ibm.icu.math.BigDecimal("0.00000001")).toString()).equals("0.9999999900");
+  
+  (new Test("sub016")).ok=((new com.ibm.icu.math.BigDecimal("0.4444444444999")).subtract(new com.ibm.icu.math.BigDecimal("0")).toString()).equals("0.4444444444999");
+  
+  (new Test("sub017")).ok=((new com.ibm.icu.math.BigDecimal("0.4444444445000")).subtract(new com.ibm.icu.math.BigDecimal("0")).toString()).equals("0.4444444445000");
+  
+  
+  (new Test("sub018")).ok=((new com.ibm.icu.math.BigDecimal("70")).subtract(new com.ibm.icu.math.BigDecimal("10000e+9")).toString()).equals("-9999999999930");
+  
+  (new Test("sub019")).ok=((new com.ibm.icu.math.BigDecimal("700")).subtract(new com.ibm.icu.math.BigDecimal("10000e+9")).toString()).equals("-9999999999300");
+  
+  (new Test("sub020")).ok=((new com.ibm.icu.math.BigDecimal("7000")).subtract(new com.ibm.icu.math.BigDecimal("10000e+9")).toString()).equals("-9999999993000");
+  
+  (new Test("sub021")).ok=((new com.ibm.icu.math.BigDecimal("70000")).subtract(new com.ibm.icu.math.BigDecimal("10000e+9")).toString()).equals("-9999999930000");
+  
+  (new Test("sub022")).ok=((new com.ibm.icu.math.BigDecimal("700000")).subtract(new com.ibm.icu.math.BigDecimal("10000e+9")).toString()).equals("-9999999300000");
+  
+  // symmetry:
+  (new Test("sub023")).ok=((new com.ibm.icu.math.BigDecimal("10000e+9")).subtract(new com.ibm.icu.math.BigDecimal("70")).toString()).equals("9999999999930");
+  
+  (new Test("sub024")).ok=((new com.ibm.icu.math.BigDecimal("10000e+9")).subtract(new com.ibm.icu.math.BigDecimal("700")).toString()).equals("9999999999300");
+  
+  (new Test("sub025")).ok=((new com.ibm.icu.math.BigDecimal("10000e+9")).subtract(new com.ibm.icu.math.BigDecimal("7000")).toString()).equals("9999999993000");
+  
+  (new Test("sub026")).ok=((new com.ibm.icu.math.BigDecimal("10000e+9")).subtract(new com.ibm.icu.math.BigDecimal("70000")).toString()).equals("9999999930000");
+  
+  (new Test("sub027")).ok=((new com.ibm.icu.math.BigDecimal("10000e+9")).subtract(new com.ibm.icu.math.BigDecimal("700000")).toString()).equals("9999999300000");
+  
+  // MC
+  (new Test("sub030")).ok=((new com.ibm.icu.math.BigDecimal("10000e+9")).subtract(new com.ibm.icu.math.BigDecimal("70000"),mcdef).toString()).equals("9.9999999E+12");
+  
+  (new Test("sub031")).ok=((new com.ibm.icu.math.BigDecimal("10000e+9")).subtract(new com.ibm.icu.math.BigDecimal("70000"),mc6).toString()).equals("1.00000E+13");
+  
+  
+  // some of the next group are really constructor tests
+  (new Test("sub040")).ok=((new com.ibm.icu.math.BigDecimal("00.0")).subtract(new com.ibm.icu.math.BigDecimal("0.0")).toString()).equals("0.0");
+  (new Test("sub041")).ok=((new com.ibm.icu.math.BigDecimal("00.0")).subtract(new com.ibm.icu.math.BigDecimal("0.00")).toString()).equals("0.00");
+  (new Test("sub042")).ok=((new com.ibm.icu.math.BigDecimal("0.00")).subtract(new com.ibm.icu.math.BigDecimal("00.0")).toString()).equals("0.00");
+  (new Test("sub043")).ok=((new com.ibm.icu.math.BigDecimal("00.0")).subtract(new com.ibm.icu.math.BigDecimal("0.00"),mcdef).toString()).equals("0");
+  (new Test("sub044")).ok=((new com.ibm.icu.math.BigDecimal("0.00")).subtract(new com.ibm.icu.math.BigDecimal("00.0"),mcdef).toString()).equals("0");
+  (new Test("sub045")).ok=((new com.ibm.icu.math.BigDecimal("3")).subtract(new com.ibm.icu.math.BigDecimal(".3"),mcdef).toString()).equals("2.7");
+  (new Test("sub046")).ok=((new com.ibm.icu.math.BigDecimal("3.")).subtract(new com.ibm.icu.math.BigDecimal(".3"),mcdef).toString()).equals("2.7");
+  (new Test("sub047")).ok=((new com.ibm.icu.math.BigDecimal("3.0")).subtract(new com.ibm.icu.math.BigDecimal(".3"),mcdef).toString()).equals("2.7");
+  (new Test("sub048")).ok=((new com.ibm.icu.math.BigDecimal("3.00")).subtract(new com.ibm.icu.math.BigDecimal(".3"),mcdef).toString()).equals("2.70");
+  (new Test("sub049")).ok=((new com.ibm.icu.math.BigDecimal("3")).subtract(new com.ibm.icu.math.BigDecimal("3"),mcdef).toString()).equals("0");
+  (new Test("sub050")).ok=((new com.ibm.icu.math.BigDecimal("3")).subtract(new com.ibm.icu.math.BigDecimal("+3"),mcdef).toString()).equals("0");
+  (new Test("sub051")).ok=((new com.ibm.icu.math.BigDecimal("3")).subtract(new com.ibm.icu.math.BigDecimal("-3"),mcdef).toString()).equals("6");
+  (new Test("sub052")).ok=((new com.ibm.icu.math.BigDecimal("3")).subtract(new com.ibm.icu.math.BigDecimal(".3")).toString()).equals("2.7");
+  (new Test("sub053")).ok=((new com.ibm.icu.math.BigDecimal("3.")).subtract(new com.ibm.icu.math.BigDecimal(".3")).toString()).equals("2.7");
+  (new Test("sub054")).ok=((new com.ibm.icu.math.BigDecimal("3.0")).subtract(new com.ibm.icu.math.BigDecimal(".3")).toString()).equals("2.7");
+  (new Test("sub055")).ok=((new com.ibm.icu.math.BigDecimal("3.00")).subtract(new com.ibm.icu.math.BigDecimal(".3")).toString()).equals("2.70");
+  (new Test("sub056")).ok=((new com.ibm.icu.math.BigDecimal("3")).subtract(new com.ibm.icu.math.BigDecimal("3")).toString()).equals("0");
+  (new Test("sub057")).ok=((new com.ibm.icu.math.BigDecimal("3")).subtract(new com.ibm.icu.math.BigDecimal("+3")).toString()).equals("0");
+  (new Test("sub058")).ok=((new com.ibm.icu.math.BigDecimal("3")).subtract(new com.ibm.icu.math.BigDecimal("-3")).toString()).equals("6");
+  
+  // the above all from add; massaged and extended.  Now some new ones...
+  // [particularly important for comparisons]
+  // NB: -1E-7 below were non-exponents pre-ANSI
+  (new Test("sub080")).ok=("-1E-7").equals((new com.ibm.icu.math.BigDecimal("10.23456784")).subtract(new com.ibm.icu.math.BigDecimal("10.23456789"),mcdef).toString());
+  (new Test("sub081")).ok="0".equals((new com.ibm.icu.math.BigDecimal("10.23456785")).subtract(new com.ibm.icu.math.BigDecimal("10.23456789"),mcdef).toString());
+  (new Test("sub082")).ok="0".equals((new com.ibm.icu.math.BigDecimal("10.23456786")).subtract(new com.ibm.icu.math.BigDecimal("10.23456789"),mcdef).toString());
+  (new Test("sub083")).ok="0".equals((new com.ibm.icu.math.BigDecimal("10.23456787")).subtract(new com.ibm.icu.math.BigDecimal("10.23456789"),mcdef).toString());
+  (new Test("sub084")).ok="0".equals((new com.ibm.icu.math.BigDecimal("10.23456788")).subtract(new com.ibm.icu.math.BigDecimal("10.23456789"),mcdef).toString());
+  (new Test("sub085")).ok="0".equals((new com.ibm.icu.math.BigDecimal("10.23456789")).subtract(new com.ibm.icu.math.BigDecimal("10.23456789"),mcdef).toString());
+  (new Test("sub086")).ok="0".equals((new com.ibm.icu.math.BigDecimal("10.23456790")).subtract(new com.ibm.icu.math.BigDecimal("10.23456789"),mcdef).toString());
+  (new Test("sub087")).ok="0".equals((new com.ibm.icu.math.BigDecimal("10.23456791")).subtract(new com.ibm.icu.math.BigDecimal("10.23456789"),mcdef).toString());
+  (new Test("sub088")).ok="0".equals((new com.ibm.icu.math.BigDecimal("10.23456792")).subtract(new com.ibm.icu.math.BigDecimal("10.23456789"),mcdef).toString());
+  (new Test("sub089")).ok="0".equals((new com.ibm.icu.math.BigDecimal("10.23456793")).subtract(new com.ibm.icu.math.BigDecimal("10.23456789"),mcdef).toString());
+  (new Test("sub090")).ok="0".equals((new com.ibm.icu.math.BigDecimal("10.23456794")).subtract(new com.ibm.icu.math.BigDecimal("10.23456789"),mcdef).toString());
+  (new Test("sub091")).ok=("-1E-7").equals((new com.ibm.icu.math.BigDecimal("10.23456781")).subtract(new com.ibm.icu.math.BigDecimal("10.23456786"),mcdef).toString());
+  (new Test("sub092")).ok=("-1E-7").equals((new com.ibm.icu.math.BigDecimal("10.23456782")).subtract(new com.ibm.icu.math.BigDecimal("10.23456786"),mcdef).toString());
+  (new Test("sub093")).ok=("-1E-7").equals((new com.ibm.icu.math.BigDecimal("10.23456783")).subtract(new com.ibm.icu.math.BigDecimal("10.23456786"),mcdef).toString());
+  (new Test("sub094")).ok=("-1E-7").equals((new com.ibm.icu.math.BigDecimal("10.23456784")).subtract(new com.ibm.icu.math.BigDecimal("10.23456786"),mcdef).toString());
+  (new Test("sub095")).ok="0".equals((new com.ibm.icu.math.BigDecimal("10.23456785")).subtract(new com.ibm.icu.math.BigDecimal("10.23456786"),mcdef).toString());
+  (new Test("sub096")).ok="0".equals((new com.ibm.icu.math.BigDecimal("10.23456786")).subtract(new com.ibm.icu.math.BigDecimal("10.23456786"),mcdef).toString());
+  (new Test("sub097")).ok="0".equals((new com.ibm.icu.math.BigDecimal("10.23456787")).subtract(new com.ibm.icu.math.BigDecimal("10.23456786"),mcdef).toString());
+  (new Test("sub098")).ok="0".equals((new com.ibm.icu.math.BigDecimal("10.23456788")).subtract(new com.ibm.icu.math.BigDecimal("10.23456786"),mcdef).toString());
+  (new Test("sub099")).ok="0".equals((new com.ibm.icu.math.BigDecimal("10.23456789")).subtract(new com.ibm.icu.math.BigDecimal("10.23456786"),mcdef).toString());
+  (new Test("sub100")).ok="0".equals((new com.ibm.icu.math.BigDecimal("10.23456790")).subtract(new com.ibm.icu.math.BigDecimal("10.23456786"),mcdef).toString());
+  (new Test("sub101")).ok="0".equals((new com.ibm.icu.math.BigDecimal("10.23456791")).subtract(new com.ibm.icu.math.BigDecimal("10.23456786"),mcdef).toString());
+  (new Test("sub102")).ok="0".equals(com.ibm.icu.math.BigDecimal.ONE.subtract(new com.ibm.icu.math.BigDecimal("0.999999999"),mcdef).toString());
+  (new Test("sub103")).ok="0".equals((new com.ibm.icu.math.BigDecimal("0.999999999")).subtract(com.ibm.icu.math.BigDecimal.ONE,mcdef).toString());
+  
+  alhs=new com.ibm.icu.math.BigDecimal("12345678900000");
+  arhs=new com.ibm.icu.math.BigDecimal("9999999999999");
+  (new Test("sub110")).ok=(alhs.subtract(arhs,mc3).toString()).equals("2.3E+12");
+  (new Test("sub111")).ok=(arhs.subtract(alhs,mc3).toString()).equals("-2.3E+12");
+  (new Test("sub112")).ok=(alhs.subtract(arhs).toString()).equals("2345678900001");
+  (new Test("sub113")).ok=(arhs.subtract(alhs).toString()).equals("-2345678900001");
+  
+  // additional scaled arithmetic tests [0.97 problem]
+  (new Test("sub120")).ok=((new com.ibm.icu.math.BigDecimal("0")).subtract(new com.ibm.icu.math.BigDecimal(".1")).toString()).equals("-0.1");
+  (new Test("sub121")).ok=((new com.ibm.icu.math.BigDecimal("00")).subtract(new com.ibm.icu.math.BigDecimal(".97983")).toString()).equals("-0.97983");
+  (new Test("sub122")).ok=((new com.ibm.icu.math.BigDecimal("0")).subtract(new com.ibm.icu.math.BigDecimal(".9")).toString()).equals("-0.9");
+  (new Test("sub123")).ok=((new com.ibm.icu.math.BigDecimal("0")).subtract(new com.ibm.icu.math.BigDecimal("0.102")).toString()).equals("-0.102");
+  (new Test("sub124")).ok=((new com.ibm.icu.math.BigDecimal("0")).subtract(new com.ibm.icu.math.BigDecimal(".4")).toString()).equals("-0.4");
+  (new Test("sub125")).ok=((new com.ibm.icu.math.BigDecimal("0")).subtract(new com.ibm.icu.math.BigDecimal(".307")).toString()).equals("-0.307");
+  (new Test("sub126")).ok=((new com.ibm.icu.math.BigDecimal("0")).subtract(new com.ibm.icu.math.BigDecimal(".43822")).toString()).equals("-0.43822");
+  (new Test("sub127")).ok=((new com.ibm.icu.math.BigDecimal("0")).subtract(new com.ibm.icu.math.BigDecimal(".911")).toString()).equals("-0.911");
+  (new Test("sub128")).ok=((new com.ibm.icu.math.BigDecimal(".0")).subtract(new com.ibm.icu.math.BigDecimal(".02")).toString()).equals("-0.02");
+  (new Test("sub129")).ok=((new com.ibm.icu.math.BigDecimal("00")).subtract(new com.ibm.icu.math.BigDecimal(".392")).toString()).equals("-0.392");
+  (new Test("sub130")).ok=((new com.ibm.icu.math.BigDecimal("0")).subtract(new com.ibm.icu.math.BigDecimal(".26")).toString()).equals("-0.26");
+  (new Test("sub131")).ok=((new com.ibm.icu.math.BigDecimal("0")).subtract(new com.ibm.icu.math.BigDecimal("0.51")).toString()).equals("-0.51");
+  (new Test("sub132")).ok=((new com.ibm.icu.math.BigDecimal("0")).subtract(new com.ibm.icu.math.BigDecimal(".2234")).toString()).equals("-0.2234");
+  (new Test("sub133")).ok=((new com.ibm.icu.math.BigDecimal("0")).subtract(new com.ibm.icu.math.BigDecimal(".2")).toString()).equals("-0.2");
+  (new Test("sub134")).ok=((new com.ibm.icu.math.BigDecimal(".0")).subtract(new com.ibm.icu.math.BigDecimal(".0008")).toString()).equals("-0.0008");
+  // 0. on left
+  (new Test("sub140")).ok=((new com.ibm.icu.math.BigDecimal("0.0")).subtract(new com.ibm.icu.math.BigDecimal("-.1")).toString()).equals("0.1");
+  (new Test("sub141")).ok=((new com.ibm.icu.math.BigDecimal("0.00")).subtract(new com.ibm.icu.math.BigDecimal("-.97983")).toString()).equals("0.97983");
+  (new Test("sub142")).ok=((new com.ibm.icu.math.BigDecimal("0.0")).subtract(new com.ibm.icu.math.BigDecimal("-.9")).toString()).equals("0.9");
+  (new Test("sub143")).ok=((new com.ibm.icu.math.BigDecimal("0.0")).subtract(new com.ibm.icu.math.BigDecimal("-0.102")).toString()).equals("0.102");
+  (new Test("sub144")).ok=((new com.ibm.icu.math.BigDecimal("0.0")).subtract(new com.ibm.icu.math.BigDecimal("-.4")).toString()).equals("0.4");
+  (new Test("sub145")).ok=((new com.ibm.icu.math.BigDecimal("0.0")).subtract(new com.ibm.icu.math.BigDecimal("-.307")).toString()).equals("0.307");
+  (new Test("sub146")).ok=((new com.ibm.icu.math.BigDecimal("0.0")).subtract(new com.ibm.icu.math.BigDecimal("-.43822")).toString()).equals("0.43822");
+  (new Test("sub147")).ok=((new com.ibm.icu.math.BigDecimal("0.0")).subtract(new com.ibm.icu.math.BigDecimal("-.911")).toString()).equals("0.911");
+  (new Test("sub148")).ok=((new com.ibm.icu.math.BigDecimal("0.0")).subtract(new com.ibm.icu.math.BigDecimal("-.02")).toString()).equals("0.02");
+  (new Test("sub149")).ok=((new com.ibm.icu.math.BigDecimal("0.00")).subtract(new com.ibm.icu.math.BigDecimal("-.392")).toString()).equals("0.392");
+  (new Test("sub150")).ok=((new com.ibm.icu.math.BigDecimal("0.0")).subtract(new com.ibm.icu.math.BigDecimal("-.26")).toString()).equals("0.26");
+  (new Test("sub151")).ok=((new com.ibm.icu.math.BigDecimal("0.0")).subtract(new com.ibm.icu.math.BigDecimal("-0.51")).toString()).equals("0.51");
+  (new Test("sub152")).ok=((new com.ibm.icu.math.BigDecimal("0.0")).subtract(new com.ibm.icu.math.BigDecimal("-.2234")).toString()).equals("0.2234");
+  (new Test("sub153")).ok=((new com.ibm.icu.math.BigDecimal("0.0")).subtract(new com.ibm.icu.math.BigDecimal("-.2")).toString()).equals("0.2");
+  (new Test("sub154")).ok=((new com.ibm.icu.math.BigDecimal("0.0")).subtract(new com.ibm.icu.math.BigDecimal("-.0008")).toString()).equals("0.0008");
+  // negatives of same
+  (new Test("sub160")).ok=((new com.ibm.icu.math.BigDecimal("0")).subtract(new com.ibm.icu.math.BigDecimal("-.1")).toString()).equals("0.1");
+  (new Test("sub161")).ok=((new com.ibm.icu.math.BigDecimal("00")).subtract(new com.ibm.icu.math.BigDecimal("-.97983")).toString()).equals("0.97983");
+  (new Test("sub162")).ok=((new com.ibm.icu.math.BigDecimal("0")).subtract(new com.ibm.icu.math.BigDecimal("-.9")).toString()).equals("0.9");
+  (new Test("sub163")).ok=((new com.ibm.icu.math.BigDecimal("0")).subtract(new com.ibm.icu.math.BigDecimal("-0.102")).toString()).equals("0.102");
+  (new Test("sub164")).ok=((new com.ibm.icu.math.BigDecimal("0")).subtract(new com.ibm.icu.math.BigDecimal("-.4")).toString()).equals("0.4");
+  (new Test("sub165")).ok=((new com.ibm.icu.math.BigDecimal("0")).subtract(new com.ibm.icu.math.BigDecimal("-.307")).toString()).equals("0.307");
+  (new Test("sub166")).ok=((new com.ibm.icu.math.BigDecimal("0")).subtract(new com.ibm.icu.math.BigDecimal("-.43822")).toString()).equals("0.43822");
+  (new Test("sub167")).ok=((new com.ibm.icu.math.BigDecimal("0")).subtract(new com.ibm.icu.math.BigDecimal("-.911")).toString()).equals("0.911");
+  (new Test("sub168")).ok=((new com.ibm.icu.math.BigDecimal(".0")).subtract(new com.ibm.icu.math.BigDecimal("-.02")).toString()).equals("0.02");
+  (new Test("sub169")).ok=((new com.ibm.icu.math.BigDecimal("00")).subtract(new com.ibm.icu.math.BigDecimal("-.392")).toString()).equals("0.392");
+  (new Test("sub170")).ok=((new com.ibm.icu.math.BigDecimal("0")).subtract(new com.ibm.icu.math.BigDecimal("-.26")).toString()).equals("0.26");
+  (new Test("sub171")).ok=((new com.ibm.icu.math.BigDecimal("0")).subtract(new com.ibm.icu.math.BigDecimal("-0.51")).toString()).equals("0.51");
+  (new Test("sub172")).ok=((new com.ibm.icu.math.BigDecimal("0")).subtract(new com.ibm.icu.math.BigDecimal("-.2234")).toString()).equals("0.2234");
+  (new Test("sub173")).ok=((new com.ibm.icu.math.BigDecimal("0")).subtract(new com.ibm.icu.math.BigDecimal("-.2")).toString()).equals("0.2");
+  (new Test("sub174")).ok=((new com.ibm.icu.math.BigDecimal(".0")).subtract(new com.ibm.icu.math.BigDecimal("-.0008")).toString()).equals("0.0008");
+  
+  // more fixed, LHS swaps [really same as testcases under add]
+  (new Test("sub180")).ok=((new com.ibm.icu.math.BigDecimal("-56267E-10")).subtract(zero).toString()).equals("-0.0000056267");
+  (new Test("sub181")).ok=((new com.ibm.icu.math.BigDecimal("-56267E-5")).subtract(zero).toString()).equals("-0.56267");
+  (new Test("sub182")).ok=((new com.ibm.icu.math.BigDecimal("-56267E-2")).subtract(zero).toString()).equals("-562.67");
+  (new Test("sub183")).ok=((new com.ibm.icu.math.BigDecimal("-56267E-1")).subtract(zero).toString()).equals("-5626.7");
+  (new Test("sub185")).ok=((new com.ibm.icu.math.BigDecimal("-56267E-0")).subtract(zero).toString()).equals("-56267");
+  
+  try{checknull:do{
+   ten.subtract((com.ibm.icu.math.BigDecimal)null);
+   flag=false;
+  }while(false);}
+  catch (java.lang.NullPointerException $83){
+   flag=true;
+  }/*checknull*/
+  (new Test("sub200")).ok=flag;
+  try{checknull2:do{
+   ten.subtract(ten,(com.ibm.icu.math.MathContext)null);
+   flag=false;
+  }while(false);}
+  catch (java.lang.NullPointerException $84){
+   flag=true;
+  }/*checknull2*/
+  (new Test("sub201")).ok=flag;
+  
+  try{checkdigits:do{
+   com.ibm.icu.math.BigDecimal.ONE.subtract(tenlong,mcld);
+   flag=false;
+  }while(false);}
+  catch (java.lang.ArithmeticException $85){ae=$85;
+   flag=(ae.getMessage()).equals("Too many digits:"+" "+tenlong.toString());
+  }/*checkdigits*/
+  (new Test("sub202")).ok=flag;
+  try{checkdigits:do{
+   tenlong.subtract(com.ibm.icu.math.BigDecimal.ONE,mcld);
+   flag=false;
+  }while(false);}
+  catch (java.lang.ArithmeticException $86){ae=$86;
+   flag=(ae.getMessage()).equals("Too many digits:"+" "+tenlong.toString());
+  }/*checkdigits*/
+  (new Test("sub203")).ok=flag;
+  summary("subtract");
+ }
+/* ----------------------------------------------------------------- */
+ 
+ /* ----------------------------------------------------------------- */
+ /* Other methods                                                     */
+ /* ----------------------------------------------------------------- */
+ 
+ /** Test the <code>BigDecimal.byteValue()</code> method. */
+ 
+ public void diagbyteValue(){
+  boolean flag=false;
+  java.lang.String v=null;
+  java.lang.ArithmeticException ae=null;
+  java.lang.String badstrings[];
+  int i=0;
+  java.lang.String norm=null;
+  
+  
+  (new Test("byv001")).ok=((((byte)-128)))==((new com.ibm.icu.math.BigDecimal("-128")).byteValue());
+  (new Test("byv002")).ok=((0))==((new com.ibm.icu.math.BigDecimal("0")).byteValue());
+  (new Test("byv003")).ok=((1))==((new com.ibm.icu.math.BigDecimal("1")).byteValue());
+  (new Test("byv004")).ok=((99))==((new com.ibm.icu.math.BigDecimal("99")).byteValue());
+  (new Test("byv005")).ok=((127))==((new com.ibm.icu.math.BigDecimal("127")).byteValue());
+  (new Test("byv006")).ok=((-128))==((new com.ibm.icu.math.BigDecimal("128")).byteValue());
+  (new Test("byv007")).ok=((-127))==((new com.ibm.icu.math.BigDecimal("129")).byteValue());
+  (new Test("byv008")).ok=((127))==((new com.ibm.icu.math.BigDecimal("-129")).byteValue());
+  (new Test("byv009")).ok=((126))==((new com.ibm.icu.math.BigDecimal("-130")).byteValue());
+  (new Test("byv010")).ok=((bmax))==((new com.ibm.icu.math.BigDecimal(bmax)).byteValue());
+  (new Test("byv011")).ok=((bmin))==((new com.ibm.icu.math.BigDecimal(bmin)).byteValue());
+  (new Test("byv012")).ok=((bneg))==((new com.ibm.icu.math.BigDecimal(bneg)).byteValue());
+  (new Test("byv013")).ok=((bzer))==((new com.ibm.icu.math.BigDecimal(bzer)).byteValue());
+  (new Test("byv014")).ok=((bpos))==((new com.ibm.icu.math.BigDecimal(bpos)).byteValue());
+  (new Test("byv015")).ok=((bmin))==((new com.ibm.icu.math.BigDecimal(bmax+1)).byteValue());
+  (new Test("byv016")).ok=((bmax))==((new com.ibm.icu.math.BigDecimal(bmin-1)).byteValue());
+  
+  (new Test("byv021")).ok=((((byte)-128)))==((new com.ibm.icu.math.BigDecimal("-128")).byteValueExact());
+  (new Test("byv022")).ok=((0))==((new com.ibm.icu.math.BigDecimal("0")).byteValueExact());
+  (new Test("byv023")).ok=((1))==((new com.ibm.icu.math.BigDecimal("1")).byteValueExact());
+  (new Test("byv024")).ok=((99))==((new com.ibm.icu.math.BigDecimal("99")).byteValueExact());
+  (new Test("byv025")).ok=((127))==((new com.ibm.icu.math.BigDecimal("127")).byteValueExact());
+  (new Test("byv026")).ok=((bmax))==((new com.ibm.icu.math.BigDecimal(bmax)).byteValueExact());
+  (new Test("byv027")).ok=((bmin))==((new com.ibm.icu.math.BigDecimal(bmin)).byteValueExact());
+  (new Test("byv028")).ok=((bneg))==((new com.ibm.icu.math.BigDecimal(bneg)).byteValueExact());
+  (new Test("byv029")).ok=((bzer))==((new com.ibm.icu.math.BigDecimal(bzer)).byteValueExact());
+  (new Test("byv030")).ok=((bpos))==((new com.ibm.icu.math.BigDecimal(bpos)).byteValueExact());
+  try{
+   v="-129";
+   (new com.ibm.icu.math.BigDecimal(v)).byteValueExact();
+   flag=false;
+  }
+  catch (java.lang.ArithmeticException $87){ae=$87;
+   flag=(ae.getMessage()).equals("Conversion overflow:"+" "+v);
+  }
+  (new Test("byv100")).ok=flag;
+  try{
+   v="128";
+   (new com.ibm.icu.math.BigDecimal(v)).byteValueExact();
+   flag=false;
+  }
+  catch (java.lang.ArithmeticException $88){ae=$88;
+   flag=(ae.getMessage()).equals("Conversion overflow:"+" "+v);
+  }
+  (new Test("byv101")).ok=flag;
+  try{
+   v="1.5";
+   (new com.ibm.icu.math.BigDecimal(v)).byteValueExact();
+   flag=false;
+  }
+  catch (java.lang.ArithmeticException $89){ae=$89;
+   flag=(ae.getMessage()).equals("Decimal part non-zero:"+" "+v);
+  }
+  (new Test("byv102")).ok=flag;
+  
+  badstrings=new java.lang.String[]{"1234",(new com.ibm.icu.math.BigDecimal(bmax)).add(one).toString(),(new com.ibm.icu.math.BigDecimal(bmin)).subtract(one).toString(),"170","270","370","470","570","670","770","870","970","-170","-270","-370","-470","-570","-670","-770","-870","-970",(new com.ibm.icu.math.BigDecimal(bmin)).multiply(two).toString(),(new com.ibm.icu.math.BigDecimal(bmax)).multiply(two).toString(),(new com.ibm.icu.math.BigDecimal(bmin)).multiply(ten).toString(),(new com.ibm.icu.math.BigDecimal(bmax)).multiply(ten).toString(),"-1234"}; // 220
+  // 221
+  // 222
+  // 223
+  // 224
+  // 225
+  // 226
+  // 227
+  // 228
+  // 229
+  // 230
+  // 231
+  // 232
+  // 233
+  // 234
+  // 235
+  // 236
+  // 237
+  // 238
+  // 239
+  // 240
+  // 241
+  // 242
+  // 243
+  // 244
+  // 245
+  {int $90=badstrings.length;i=0;i:for(;$90>0;$90--,i++){
+   try{
+    v=badstrings[i];
+    (new com.ibm.icu.math.BigDecimal(v)).byteValueExact();
+    flag=false;
+   }
+   catch (java.lang.ArithmeticException $91){ae=$91;
+    norm=(new com.ibm.icu.math.BigDecimal(v)).toString();
+    flag=(ae.getMessage()).equals("Conversion overflow:"+" "+norm);
+   }
+   (new Test("byv"+(220+i))).ok=flag;
+   }
+  }/*i*/
+  
+  summary("byteValue+");
+ }
+/* ----------------------------------------------------------------- */
+ 
+ /** Test the {@link com.ibm.icu.math.BigDecimal#compareTo(java.lang.Object)} method. */
+ 
+ public void diagcomparetoObj(){
+  boolean flag=false;
+  com.ibm.icu.math.BigDecimal d;
+  com.ibm.icu.math.BigDecimal long1;
+  com.ibm.icu.math.BigDecimal long2;
+  
+  d=new com.ibm.icu.math.BigDecimal(17);
+  (new Test("cto001")).ok=(d.compareTo((java.lang.Object)(new com.ibm.icu.math.BigDecimal(66))))==(-1);
+  (new Test("cto002")).ok=(d.compareTo((java.lang.Object)((new com.ibm.icu.math.BigDecimal(10)).add(new com.ibm.icu.math.BigDecimal(7)))))==0;
+  (new Test("cto003")).ok=(d.compareTo((java.lang.Object)(new com.ibm.icu.math.BigDecimal(10))))==1;
+  long1=new com.ibm.icu.math.BigDecimal("12345678903");
+  long2=new com.ibm.icu.math.BigDecimal("12345678900");
+  (new Test("cto004")).ok=(long1.compareTo((java.lang.Object)long2))==1;
+  (new Test("cto005")).ok=(long2.compareTo((java.lang.Object)long1))==(-1);
+  (new Test("cto006")).ok=(long2.compareTo((java.lang.Object)long2))==0;
+  try{
+   d.compareTo((java.lang.Object)null);
+   flag=false;
+  }
+  catch (java.lang.NullPointerException $92){
+   flag=true; // should get here
+  }
+  (new Test("cto101")).ok=flag;
+  try{
+   d.compareTo((java.lang.Object)"foo");
+   flag=false;
+  }
+  catch (java.lang.ClassCastException $93){
+   flag=true; // should get here
+  }
+  (new Test("cto102")).ok=flag;
+  summary("compareTo(Obj)");
+ }
+/* ----------------------------------------------------------------- */
+ 
+ /** Test the {@link com.ibm.icu.math.BigDecimal#doubleValue} method. */
+ 
+ public void diagdoublevalue(){
+  java.lang.String val;
+  // 1999.03.07 Infinities no longer errors
+  val="-1";
+  (new Test("dov001")).ok=((new com.ibm.icu.math.BigDecimal(val)).doubleValue())==((new java.lang.Double(val)).doubleValue());
+  val="-0.1";
+  (new Test("dov002")).ok=((new com.ibm.icu.math.BigDecimal(val)).doubleValue())==((new java.lang.Double(val)).doubleValue());
+  val="0";
+  (new Test("dov003")).ok=((new com.ibm.icu.math.BigDecimal(val)).doubleValue())==((new java.lang.Double(val)).doubleValue());
+  val="0.1";
+  (new Test("dov004")).ok=((new com.ibm.icu.math.BigDecimal(val)).doubleValue())==((new java.lang.Double(val)).doubleValue());
+  val="1";
+  (new Test("dov005")).ok=((new com.ibm.icu.math.BigDecimal(val)).doubleValue())==((new java.lang.Double(val)).doubleValue());
+  val="1e1000";
+  (new Test("dov006")).ok=((new com.ibm.icu.math.BigDecimal(val)).doubleValue())==java.lang.Double.POSITIVE_INFINITY;
+  val="-1e1000";
+  (new Test("dov007")).ok=((new com.ibm.icu.math.BigDecimal(val)).doubleValue())==java.lang.Double.NEGATIVE_INFINITY;
+  summary("doubleValue");
+ }
+/* ----------------------------------------------------------------- */
+ 
+ /** Test the {@link com.ibm.icu.math.BigDecimal#equals} method. */
+ 
+ public void diagequals(){
+  com.ibm.icu.math.BigDecimal d;
+  d=new com.ibm.icu.math.BigDecimal(17);
+  (new Test("equ001")).ok=(!(d.equals((java.lang.Object)null)));
+  (new Test("equ002")).ok=(!(d.equals((java.lang.Object)"foo")));
+  (new Test("equ003")).ok=(!(d.equals((java.lang.Object)(new com.ibm.icu.math.BigDecimal(66)))));
+  (new Test("equ004")).ok=d.equals((java.lang.Object)d);
+  (new Test("equ005")).ok=d.equals((java.lang.Object)((new com.ibm.icu.math.BigDecimal(10)).add(new com.ibm.icu.math.BigDecimal(7))));
+  summary("equals");
+ }
+
+ /* ----------------------------------------------------------------- */
+ 
+ /** Test the {@link com.ibm.icu.math.BigDecimal#floatValue} method. */
+ 
+ public void diagfloatvalue(){
+  java.lang.String val;
+  // 1999.03.07 Infinities no longer errors
+  val="-1";
+  (new Test("flv001")).ok=((new com.ibm.icu.math.BigDecimal(val)).floatValue())==((new java.lang.Float(val)).floatValue());
+  val="-0.1";
+  (new Test("flv002")).ok=((new com.ibm.icu.math.BigDecimal(val)).floatValue())==((new java.lang.Float(val)).floatValue());
+  val="0";
+  (new Test("flv003")).ok=((new com.ibm.icu.math.BigDecimal(val)).floatValue())==((new java.lang.Float(val)).floatValue());
+  val="0.1";
+  (new Test("flv004")).ok=((new com.ibm.icu.math.BigDecimal(val)).floatValue())==((new java.lang.Float(val)).floatValue());
+  val="1";
+  (new Test("flv005")).ok=((new com.ibm.icu.math.BigDecimal(val)).floatValue())==((new java.lang.Float(val)).floatValue());
+  val="1e200";
+  (new Test("flv006")).ok=((new com.ibm.icu.math.BigDecimal(val)).floatValue())==java.lang.Float.POSITIVE_INFINITY;
+  val="-1e200";
+  (new Test("flv007")).ok=((new com.ibm.icu.math.BigDecimal(val)).floatValue())==java.lang.Float.NEGATIVE_INFINITY;
+  val="1e1000";
+  (new Test("flv008")).ok=((new com.ibm.icu.math.BigDecimal(val)).floatValue())==java.lang.Float.POSITIVE_INFINITY;
+  val="-1e1000";
+  (new Test("flv009")).ok=((new com.ibm.icu.math.BigDecimal(val)).floatValue())==java.lang.Float.NEGATIVE_INFINITY;
+  summary("floatValue");
+ }
+
+ /* ----------------------------------------------------------------- */
+ 
+ /** Test the {@link com.ibm.icu.math.BigDecimal#format} method. */
+ 
+ public void diagformat(){
+  boolean flag=false;
+  int eng;
+  int sci;
+  com.ibm.icu.math.BigDecimal d04;
+  com.ibm.icu.math.BigDecimal d05;
+  com.ibm.icu.math.BigDecimal d06;
+  com.ibm.icu.math.BigDecimal d15;
+  java.lang.IllegalArgumentException iae=null;
+  com.ibm.icu.math.BigDecimal d050;
+  com.ibm.icu.math.BigDecimal d150;
+  com.ibm.icu.math.BigDecimal m050;
+  com.ibm.icu.math.BigDecimal m150;
+  com.ibm.icu.math.BigDecimal d051;
+  com.ibm.icu.math.BigDecimal d151;
+  com.ibm.icu.math.BigDecimal d000;
+  com.ibm.icu.math.BigDecimal d500;
+  java.lang.ArithmeticException ae=null;
+  // 1999.02.09 now only two signatures for format(), so some tests below
+  //            may now be redundant
+  
+  (new Test("for001")).ok=((new com.ibm.icu.math.BigDecimal("12.3")).format(-1,-1)).equals("12.3");
+  (new Test("for002")).ok=((new com.ibm.icu.math.BigDecimal("-12.73")).format(-1,-1)).equals("-12.73");
+  (new Test("for003")).ok=((new com.ibm.icu.math.BigDecimal("0.000")).format(-1,-1)).equals("0.000");
+  (new Test("for004")).ok=((new com.ibm.icu.math.BigDecimal("3E+3")).format(-1,-1)).equals("3000");
+  (new Test("for005")).ok=((new com.ibm.icu.math.BigDecimal("3")).format(4,-1)).equals("   3");
+  (new Test("for006")).ok=((new com.ibm.icu.math.BigDecimal("1.73")).format(4,0)).equals("   2");
+  (new Test("for007")).ok=((new com.ibm.icu.math.BigDecimal("1.73")).format(4,1)).equals("   1.7");
+  (new Test("for008")).ok=((new com.ibm.icu.math.BigDecimal("1.75")).format(4,1)).equals("   1.8");
+  (new Test("for009")).ok=((new com.ibm.icu.math.BigDecimal("0.5")).format(4,1)).equals("   0.5");
+  (new Test("for010")).ok=((new com.ibm.icu.math.BigDecimal("0.05")).format(4,1)).equals("   0.1");
+  (new Test("for011")).ok=((new com.ibm.icu.math.BigDecimal("0.04")).format(4,1)).equals("   0.0");
+  (new Test("for012")).ok=((new com.ibm.icu.math.BigDecimal("0")).format(4,0)).equals("   0");
+  (new Test("for013")).ok=((new com.ibm.icu.math.BigDecimal("0")).format(4,1)).equals("   0.0");
+  (new Test("for014")).ok=((new com.ibm.icu.math.BigDecimal("0")).format(4,2)).equals("   0.00");
+  (new Test("for015")).ok=((new com.ibm.icu.math.BigDecimal("0")).format(4,3)).equals("   0.000");
+  (new Test("for016")).ok=((new com.ibm.icu.math.BigDecimal("0")).format(4,4)).equals("   0.0000");
+  (new Test("for017")).ok=((new com.ibm.icu.math.BigDecimal("0.005")).format(4,0)).equals("   0");
+  (new Test("for018")).ok=((new com.ibm.icu.math.BigDecimal("0.005")).format(4,1)).equals("   0.0");
+  (new Test("for019")).ok=((new com.ibm.icu.math.BigDecimal("0.005")).format(4,2)).equals("   0.01");
+  (new Test("for020")).ok=((new com.ibm.icu.math.BigDecimal("0.004")).format(4,2)).equals("   0.00");
+  (new Test("for021")).ok=((new com.ibm.icu.math.BigDecimal("0.005")).format(4,3)).equals("   0.005");
+  (new Test("for022")).ok=((new com.ibm.icu.math.BigDecimal("0.005")).format(4,4)).equals("   0.0050");
+  
+  (new Test("for023")).ok=((new com.ibm.icu.math.BigDecimal("1.73")).format(4,2)).equals("   1.73");
+  (new Test("for024")).ok=((new com.ibm.icu.math.BigDecimal("1.73")).format(4,3)).equals("   1.730");
+  (new Test("for025")).ok=((new com.ibm.icu.math.BigDecimal("-.76")).format(4,1)).equals("  -0.8");
+  (new Test("for026")).ok=((new com.ibm.icu.math.BigDecimal("-12.73")).format(-1,4)).equals("-12.7300");
+  
+  (new Test("for027")).ok=((new com.ibm.icu.math.BigDecimal("3.03")).format(4,-1)).equals("   3.03");
+  (new Test("for028")).ok=((new com.ibm.icu.math.BigDecimal("3.03")).format(4,1)).equals("   3.0");
+  (new Test("for029")).ok=((new com.ibm.icu.math.BigDecimal("3.03")).format(4,-1,3,-1,-1,-1)).equals("   3.03     ");
+  (new Test("for030")).ok=((new com.ibm.icu.math.BigDecimal("3.03")).format(-1,-1,3,-1,-1,-1)).equals("3.03     ");
+  (new Test("for031")).ok=((new com.ibm.icu.math.BigDecimal("12345.73")).format(-1,-1,-1,4,-1,-1)).equals("1.234573E+4");
+  (new Test("for032")).ok=((new com.ibm.icu.math.BigDecimal("12345.73")).format(-1,-1,-1,5,-1,-1)).equals("12345.73");
+  (new Test("for033")).ok=((new com.ibm.icu.math.BigDecimal("12345.73")).format(-1,-1,-1,6,-1,-1)).equals("12345.73");
+  
+  (new Test("for034")).ok=((new com.ibm.icu.math.BigDecimal("12345.73")).format(-1,8,-1,3,-1,-1)).equals("1.23457300E+4");
+  (new Test("for035")).ok=((new com.ibm.icu.math.BigDecimal("12345.73")).format(-1,7,-1,3,-1,-1)).equals("1.2345730E+4");
+  (new Test("for036")).ok=((new com.ibm.icu.math.BigDecimal("12345.73")).format(-1,6,-1,3,-1,-1)).equals("1.234573E+4");
+  (new Test("for037")).ok=((new com.ibm.icu.math.BigDecimal("12345.73")).format(-1,5,-1,3,-1,-1)).equals("1.23457E+4");
+  (new Test("for038")).ok=((new com.ibm.icu.math.BigDecimal("12345.73")).format(-1,4,-1,3,-1,-1)).equals("1.2346E+4");
+  (new Test("for039")).ok=((new com.ibm.icu.math.BigDecimal("12345.73")).format(-1,3,-1,3,-1,-1)).equals("1.235E+4");
+  (new Test("for040")).ok=((new com.ibm.icu.math.BigDecimal("12345.73")).format(-1,2,-1,3,-1,-1)).equals("1.23E+4");
+  (new Test("for041")).ok=((new com.ibm.icu.math.BigDecimal("12345.73")).format(-1,1,-1,3,-1,-1)).equals("1.2E+4");
+  (new Test("for042")).ok=((new com.ibm.icu.math.BigDecimal("12345.73")).format(-1,0,-1,3,-1,-1)).equals("1E+4");
+  
+  (new Test("for043")).ok=((new com.ibm.icu.math.BigDecimal("99999.99")).format(-1,6,-1,3,-1,-1)).equals("9.999999E+4");
+  (new Test("for044")).ok=((new com.ibm.icu.math.BigDecimal("99999.99")).format(-1,5,-1,3,-1,-1)).equals("1.00000E+5");
+  (new Test("for045")).ok=((new com.ibm.icu.math.BigDecimal("99999.99")).format(-1,2,-1,3,-1,-1)).equals("1.00E+5");
+  (new Test("for046")).ok=((new com.ibm.icu.math.BigDecimal("99999.99")).format(-1,0,-1,3,-1,-1)).equals("1E+5");
+  (new Test("for047")).ok=((new com.ibm.icu.math.BigDecimal("99999.99")).format(3,0,-1,3,-1,-1)).equals("  1E+5");
+  
+  (new Test("for048")).ok=((new com.ibm.icu.math.BigDecimal("12345.73")).format(-1,-1,2,2,-1,-1)).equals("1.234573E+04");
+  (new Test("for049")).ok=((new com.ibm.icu.math.BigDecimal("12345.73")).format(-1,3,-1,0,-1,-1)).equals("1.235E+4");
+  (new Test("for050")).ok=((new com.ibm.icu.math.BigDecimal("1.234573")).format(-1,3,-1,0,-1,-1)).equals("1.235");
+  (new Test("for051")).ok=((new com.ibm.icu.math.BigDecimal("123.45")).format(-1,3,2,0,-1,-1)).equals("1.235E+02");
+  
+  (new Test("for052")).ok=((new com.ibm.icu.math.BigDecimal("0.444")).format(-1,0)).equals("0");
+  (new Test("for053")).ok=((new com.ibm.icu.math.BigDecimal("-0.444")).format(-1,0)).equals("0");
+  (new Test("for054")).ok=((new com.ibm.icu.math.BigDecimal("0.4")).format(-1,0)).equals("0");
+  (new Test("for055")).ok=((new com.ibm.icu.math.BigDecimal("-0.4")).format(-1,0)).equals("0");
+  
+  eng=com.ibm.icu.math.MathContext.ENGINEERING;
+  sci=com.ibm.icu.math.MathContext.SCIENTIFIC;
+  (new Test("for060")).ok=((new com.ibm.icu.math.BigDecimal("1234.5")).format(-1,3,2,0,eng,-1)).equals("1.235E+03");
+  (new Test("for061")).ok=((new com.ibm.icu.math.BigDecimal("12345")).format(-1,3,3,0,eng,-1)).equals("12.345E+003");
+  (new Test("for062")).ok=((new com.ibm.icu.math.BigDecimal("12345")).format(-1,3,3,0,sci,-1)).equals("1.235E+004");
+  (new Test("for063")).ok=((new com.ibm.icu.math.BigDecimal("1234.5")).format(4,3,2,0,eng,-1)).equals("   1.235E+03");
+  (new Test("for064")).ok=((new com.ibm.icu.math.BigDecimal("12345")).format(5,3,3,0,eng,-1)).equals("   12.345E+003");
+  (new Test("for065")).ok=((new com.ibm.icu.math.BigDecimal("12345")).format(6,3,3,0,sci,-1)).equals("     1.235E+004");
+  
+  (new Test("for066")).ok=((new com.ibm.icu.math.BigDecimal("1.2345")).format(-1,3,2,0,-1,-1)).equals("1.235    ");
+  (new Test("for067")).ok=((new com.ibm.icu.math.BigDecimal("12345.73")).format(-1,-1,3,6,-1,-1)).equals("12345.73     ");
+  (new Test("for068")).ok=((new com.ibm.icu.math.BigDecimal("12345e+5")).format(-1,0)).equals("1234500000");
+  (new Test("for069")).ok=((new com.ibm.icu.math.BigDecimal("12345e+5")).format(-1,1)).equals("1234500000.0");
+  (new Test("for070")).ok=((new com.ibm.icu.math.BigDecimal("12345e+5")).format(-1,2)).equals("1234500000.00");
+  (new Test("for071")).ok=((new com.ibm.icu.math.BigDecimal("12345e+5")).format(-1,3)).equals("1234500000.000");
+  (new Test("for072")).ok=((new com.ibm.icu.math.BigDecimal("12345e+5")).format(-1,4)).equals("1234500000.0000");
+  
+  // some from ANSI Dallas [Nov 1998]
+  (new Test("for073")).ok=((new com.ibm.icu.math.BigDecimal("99.999")).format(-1,2,-1,2,-1,-1)).equals("100.00");
+  (new Test("for074")).ok=((new com.ibm.icu.math.BigDecimal("0.99999")).format(-1,4,2,2,-1,-1)).equals("1.0000    ");
+  
+  // try some rounding modes [default ROUND_HALF_UP widely tested above]
+  // the first few also tests that defaults are accepted for the others
+  d04=new com.ibm.icu.math.BigDecimal("0.04");
+  d05=new com.ibm.icu.math.BigDecimal("0.05");
+  d06=new com.ibm.icu.math.BigDecimal("0.06");
+  d15=new com.ibm.icu.math.BigDecimal("0.15");
+  (new Test("for080")).ok=(d05.format(-1,1)).equals("0.1");
+  (new Test("for081")).ok=(d05.format(-1,1,-1,-1,-1,com.ibm.icu.math.MathContext.ROUND_HALF_UP)).equals("0.1");
+  (new Test("for082")).ok=(d05.format(-1,1,-1,-1,-1,-1)).equals("0.1");
+  (new Test("for083")).ok=(d05.format(-1,-1,-1,-1,-1,-1)).equals("0.05");
+  (new Test("for084")).ok=(d05.format(-1,-1)).equals("0.05");
+  try{
+   d05.format(-1,-1,-1,-1,-1,30); // bad mode
+   flag=false; // shouldn't get here
+  }
+  catch (java.lang.IllegalArgumentException $94){iae=$94;
+   flag=(iae.getMessage()).equals("Bad argument 6 to format: 30");
+  }
+  (new Test("for085")).ok=flag;
+  
+  (new Test("for090")).ok=(d04.format(-1,1)).equals("0.0");
+  (new Test("for091")).ok=(d06.format(-1,1)).equals("0.1");
+  (new Test("for092")).ok=(d04.format(-1,1,-1,-1,-1,com.ibm.icu.math.MathContext.ROUND_HALF_DOWN)).equals("0.0");
+  (new Test("for093")).ok=(d05.format(-1,1,-1,-1,-1,com.ibm.icu.math.MathContext.ROUND_HALF_DOWN)).equals("0.0");
+  (new Test("for094")).ok=(d06.format(-1,1,-1,-1,-1,com.ibm.icu.math.MathContext.ROUND_HALF_DOWN)).equals("0.1");
+  
+  (new Test("for095")).ok=(d04.format(-1,1,-1,-1,-1,com.ibm.icu.math.MathContext.ROUND_HALF_EVEN)).equals("0.0");
+  (new Test("for096")).ok=(d05.format(-1,1,-1,-1,-1,com.ibm.icu.math.MathContext.ROUND_HALF_EVEN)).equals("0.0");
+  (new Test("for097")).ok=(d06.format(-1,1,-1,-1,-1,com.ibm.icu.math.MathContext.ROUND_HALF_EVEN)).equals("0.1");
+  (new Test("for098")).ok=(d15.format(-1,1,-1,-1,-1,com.ibm.icu.math.MathContext.ROUND_HALF_EVEN)).equals("0.2");
+  d050=new com.ibm.icu.math.BigDecimal("0.050");
+  d150=new com.ibm.icu.math.BigDecimal("0.150");
+  (new Test("for099")).ok=(d050.format(-1,1,-1,-1,-1,com.ibm.icu.math.MathContext.ROUND_HALF_EVEN)).equals("0.0");
+  (new Test("for100")).ok=(d150.format(-1,1,-1,-1,-1,com.ibm.icu.math.MathContext.ROUND_HALF_EVEN)).equals("0.2");
+  m050=new com.ibm.icu.math.BigDecimal("-0.050");
+  m150=new com.ibm.icu.math.BigDecimal("-0.150");
+  (new Test("for101")).ok=(m050.format(-1,1,-1,-1,-1,com.ibm.icu.math.MathContext.ROUND_HALF_EVEN)).equals("0.0");
+  (new Test("for102")).ok=(m150.format(-1,1,-1,-1,-1,com.ibm.icu.math.MathContext.ROUND_HALF_EVEN)).equals("-0.2");
+  d051=new com.ibm.icu.math.BigDecimal("0.051");
+  d151=new com.ibm.icu.math.BigDecimal("0.151");
+  (new Test("for103")).ok=(d051.format(-1,1,-1,-1,-1,com.ibm.icu.math.MathContext.ROUND_HALF_EVEN)).equals("0.1");
+  (new Test("for104")).ok=(d151.format(-1,1,-1,-1,-1,com.ibm.icu.math.MathContext.ROUND_HALF_EVEN)).equals("0.2");
+  
+  (new Test("for105")).ok=(m050.format(-1,1,-1,-1,-1,com.ibm.icu.math.MathContext.ROUND_CEILING)).equals("0.0");
+  (new Test("for106")).ok=(m150.format(-1,1,-1,-1,-1,com.ibm.icu.math.MathContext.ROUND_CEILING)).equals("-0.1");
+  (new Test("for107")).ok=(d050.format(-1,1,-1,-1,-1,com.ibm.icu.math.MathContext.ROUND_CEILING)).equals("0.1");
+  (new Test("for108")).ok=(d150.format(-1,1,-1,-1,-1,com.ibm.icu.math.MathContext.ROUND_CEILING)).equals("0.2");
+  
+  (new Test("for109")).ok=(m050.format(-1,1,-1,-1,-1,com.ibm.icu.math.MathContext.ROUND_FLOOR)).equals("-0.1");
+  (new Test("for110")).ok=(m150.format(-1,1,-1,-1,-1,com.ibm.icu.math.MathContext.ROUND_FLOOR)).equals("-0.2");
+  (new Test("for111")).ok=(d050.format(-1,1,-1,-1,-1,com.ibm.icu.math.MathContext.ROUND_FLOOR)).equals("0.0");
+  (new Test("for112")).ok=(d150.format(-1,1,-1,-1,-1,com.ibm.icu.math.MathContext.ROUND_FLOOR)).equals("0.1");
+  
+  (new Test("for113")).ok=(m050.format(-1,1,-1,-1,-1,com.ibm.icu.math.MathContext.ROUND_UP)).equals("-0.1");
+  (new Test("for114")).ok=(m150.format(-1,1,-1,-1,-1,com.ibm.icu.math.MathContext.ROUND_UP)).equals("-0.2");
+  (new Test("for115")).ok=(d050.format(-1,1,-1,-1,-1,com.ibm.icu.math.MathContext.ROUND_UP)).equals("0.1");
+  (new Test("for116")).ok=(d150.format(-1,1,-1,-1,-1,com.ibm.icu.math.MathContext.ROUND_UP)).equals("0.2");
+  
+  (new Test("for117")).ok=(m050.format(-1,1,-1,-1,-1,com.ibm.icu.math.MathContext.ROUND_DOWN)).equals("0.0");
+  (new Test("for118")).ok=(m150.format(-1,1,-1,-1,-1,com.ibm.icu.math.MathContext.ROUND_DOWN)).equals("-0.1");
+  (new Test("for119")).ok=(d050.format(-1,1,-1,-1,-1,com.ibm.icu.math.MathContext.ROUND_DOWN)).equals("0.0");
+  (new Test("for120")).ok=(d150.format(-1,1,-1,-1,-1,com.ibm.icu.math.MathContext.ROUND_DOWN)).equals("0.1");
+  
+  d000=new com.ibm.icu.math.BigDecimal("0.000");
+  d500=new com.ibm.icu.math.BigDecimal("0.500");
+  (new Test("for121")).ok=(d000.format(-1,1,-1,-1,-1,com.ibm.icu.math.MathContext.ROUND_UNNECESSARY)).equals("0.0");
+  (new Test("for122")).ok=(d000.format(-1,2,-1,-1,-1,com.ibm.icu.math.MathContext.ROUND_UNNECESSARY)).equals("0.00");
+  (new Test("for123")).ok=(d000.format(-1,3,-1,-1,-1,com.ibm.icu.math.MathContext.ROUND_UNNECESSARY)).equals("0.000");
+  try{ // this should trap..
+   d050.format(-1,1,-1,-1,-1,com.ibm.icu.math.MathContext.ROUND_UNNECESSARY);
+   flag=false;
+  }
+  catch (java.lang.ArithmeticException $95){ae=$95;
+   flag=(ae.getMessage()).equals("Rounding necessary");
+  }
+  (new Test("for124")).ok=flag;
+  (new Test("for125")).ok=(d050.format(-1,2,-1,-1,-1,com.ibm.icu.math.MathContext.ROUND_UNNECESSARY)).equals("0.05");
+  (new Test("for126")).ok=(d050.format(-1,3,-1,-1,-1,com.ibm.icu.math.MathContext.ROUND_UNNECESSARY)).equals("0.050");
+  (new Test("for127")).ok=(d500.format(-1,1,-1,-1,-1,com.ibm.icu.math.MathContext.ROUND_UNNECESSARY)).equals("0.5");
+  (new Test("for128")).ok=(d500.format(-1,2,-1,-1,-1,com.ibm.icu.math.MathContext.ROUND_UNNECESSARY)).equals("0.50");
+  (new Test("for129")).ok=(d500.format(-1,3,-1,-1,-1,com.ibm.icu.math.MathContext.ROUND_UNNECESSARY)).equals("0.500");
+  
+  // bad negs --
+  try{
+   d050.format(-2,-1,-1,-1,-1,-1);
+   flag=false;
+  }
+  catch (java.lang.IllegalArgumentException $96){
+   flag=true;
+  }
+  (new Test("for131")).ok=flag;
+  try{
+   d050.format(-1,-2,-1,-1,-1,-1);
+   flag=false;
+  }
+  catch (java.lang.IllegalArgumentException $97){
+   flag=true;
+  }
+  (new Test("for132")).ok=flag;
+  try{
+   d050.format(-1,-1,-2,-1,-1,-1);
+   flag=false;
+  }
+  catch (java.lang.IllegalArgumentException $98){
+   flag=true;
+  }
+  (new Test("for133")).ok=flag;
+  try{
+   d050.format(-1,-1,-1,-2,-1,-1);
+   flag=false;
+  }
+  catch (java.lang.IllegalArgumentException $99){
+   flag=true;
+  }
+  (new Test("for134")).ok=flag;
+  try{
+   d050.format(-1,-1,-1,-1,-2,-1);
+   flag=false;
+  }
+  catch (java.lang.IllegalArgumentException $100){
+   flag=true;
+  }
+  (new Test("for135")).ok=flag;
+  try{
+   d050.format(-1,-1,-1,-1,-1,-2);
+   flag=false;
+  }
+  catch (java.lang.IllegalArgumentException $101){
+   flag=true;
+  }
+  (new Test("for136")).ok=flag;
+  
+  summary("format");
+ }
+/* ----------------------------------------------------------------- */
+ 
+ /** Test the {@link com.ibm.icu.math.BigDecimal#hashCode} method. */
+ 
+ public void diaghashcode(){
+  java.lang.String hs;
+  com.ibm.icu.math.BigDecimal d;
+  hs="27827817";
+  d=new com.ibm.icu.math.BigDecimal(hs);
+  (new Test("has001")).ok=(d.hashCode())==(hs.hashCode());
+  hs="1.265E+200";
+  d=new com.ibm.icu.math.BigDecimal(hs);
+  (new Test("has002")).ok=(d.hashCode())==(hs.hashCode());
+  hs="126.5E+200";
+  d=new com.ibm.icu.math.BigDecimal(hs);
+  (new Test("has003")).ok=(d.hashCode())!=(hs.hashCode());
+  summary("hashCode");
+ }
+/* ----------------------------------------------------------------- */
+ 
+ /** Test the {@link com.ibm.icu.math.BigDecimal#intValue} method. */
+ 
+ public void diagintvalue(){
+  boolean flag=false;
+  java.lang.String v=null;
+  java.lang.ArithmeticException ae=null;
+  java.lang.String badstrings[];
+  int i=0;
+  java.lang.String norm=null;
+  com.ibm.icu.math.BigDecimal dimax;
+  com.ibm.icu.math.BigDecimal num=null;
+  com.ibm.icu.math.BigDecimal dv=null;
+  com.ibm.icu.math.BigDecimal dimin;
+  
+  
+  // intValue --
+  
+  (new Test("inv001")).ok=imin==((new com.ibm.icu.math.BigDecimal(imin)).intValue());
+  (new Test("inv002")).ok=((99))==((new com.ibm.icu.math.BigDecimal("99")).intValue());
+  (new Test("inv003")).ok=((1))==((new com.ibm.icu.math.BigDecimal("1")).intValue());
+  (new Test("inv004")).ok=((0))==((new com.ibm.icu.math.BigDecimal("0")).intValue());
+  (new Test("inv005")).ok=((-1))==((new com.ibm.icu.math.BigDecimal("-1")).intValue());
+  (new Test("inv006")).ok=((-99))==((new com.ibm.icu.math.BigDecimal("-99")).intValue());
+  (new Test("inv007")).ok=imax==((new com.ibm.icu.math.BigDecimal(imax)).intValue());
+  (new Test("inv008")).ok=((5))==((new com.ibm.icu.math.BigDecimal("5.0")).intValue());
+  (new Test("inv009")).ok=((5))==((new com.ibm.icu.math.BigDecimal("5.3")).intValue());
+  (new Test("inv010")).ok=((5))==((new com.ibm.icu.math.BigDecimal("5.5")).intValue());
+  (new Test("inv011")).ok=((5))==((new com.ibm.icu.math.BigDecimal("5.7")).intValue());
+  (new Test("inv012")).ok=((5))==((new com.ibm.icu.math.BigDecimal("5.9")).intValue());
+  (new Test("inv013")).ok=((-5))==((new com.ibm.icu.math.BigDecimal("-5.0")).intValue());
+  (new Test("inv014")).ok=((-5))==((new com.ibm.icu.math.BigDecimal("-5.3")).intValue());
+  (new Test("inv015")).ok=((-5))==((new com.ibm.icu.math.BigDecimal("-5.5")).intValue());
+  (new Test("inv016")).ok=((-5))==((new com.ibm.icu.math.BigDecimal("-5.7")).intValue());
+  (new Test("inv017")).ok=((-5))==((new com.ibm.icu.math.BigDecimal("-5.9")).intValue());
+  (new Test("inv018")).ok=((new com.ibm.icu.math.BigDecimal("88888888888")).intValue())==(-1305424328); // ugh
+  (new Test("inv019")).ok=((new com.ibm.icu.math.BigDecimal("-88888888888")).intValue())==1305424328; // ugh
+  (new Test("inv020")).ok=((imin))==((new com.ibm.icu.math.BigDecimal((((long)imax))+1)).intValue());
+  (new Test("inv021")).ok=((imax))==((new com.ibm.icu.math.BigDecimal((((long)imin))-1)).intValue());
+  
+  // intValueExact --
+  
+  (new Test("inv101")).ok=imin==((new com.ibm.icu.math.BigDecimal(imin)).intValueExact());
+  (new Test("inv102")).ok=((99))==((new com.ibm.icu.math.BigDecimal("99")).intValue());
+  (new Test("inv103")).ok=((1))==((new com.ibm.icu.math.BigDecimal("1")).intValue());
+  (new Test("inv104")).ok=((0))==((new com.ibm.icu.math.BigDecimal("0")).intValue());
+  (new Test("inv105")).ok=((-1))==((new com.ibm.icu.math.BigDecimal("-1")).intValue());
+  (new Test("inv106")).ok=((-99))==((new com.ibm.icu.math.BigDecimal("-99")).intValue());
+  (new Test("inv107")).ok=imax==((new com.ibm.icu.math.BigDecimal(imax)).intValue());
+  (new Test("inv108")).ok=((5))==((new com.ibm.icu.math.BigDecimal("5.0")).intValue());
+  (new Test("inv109")).ok=((-5))==((new com.ibm.icu.math.BigDecimal("-5.0")).intValue());
+  (new Test("inv110")).ok=imax==((new com.ibm.icu.math.BigDecimal(imax)).intValueExact());
+  
+  try{
+   v="-88588688888";
+   (new com.ibm.icu.math.BigDecimal(v)).intValueExact();
+   flag=false;
+  }
+  catch (java.lang.ArithmeticException $102){ae=$102;
+   flag=(ae.getMessage()).equals("Conversion overflow:"+" "+v);
+  }
+  (new Test("inv200")).ok=flag;
+  
+  // this one could raise either overflow or bad decimal part
+  try{
+   v="88088818888.00001";
+   (new com.ibm.icu.math.BigDecimal(v)).intValueExact();
+   flag=false;
+  }
+  catch (java.lang.ArithmeticException $103){
+   flag=true;
+  }
+  (new Test("inv201")).ok=flag;
+  
+  // 1999.10.28: the testcases marked '*' failed
+  badstrings=new java.lang.String[]{"12345678901",(new com.ibm.icu.math.BigDecimal(imax)).add(one).toString(),(new com.ibm.icu.math.BigDecimal(imin)).subtract(one).toString(),"3731367293","4731367293","5731367293","6731367293","7731367293","8731367293","9731367293","-3731367293","-4731367293","-5731367293","-6731367293","-7731367293","-8731367293","-9731367293",(new com.ibm.icu.math.BigDecimal(imin)).multiply(two).toString(),(new com.ibm.icu.math.BigDecimal(imax)).multiply(two).toString(),(new com.ibm.icu.math.BigDecimal(imin)).multiply(ten).toString(),(new com.ibm.icu.math.BigDecimal(imax)).multiply(ten).toString(),"4731367293","4831367293","4931367293","5031367293","5131367293","5231367293","5331367293","5431367293","5531367293","5631367293","5731367293","5831367293","5931367293","6031367293","6131367293","6231367293","6331367293","6431367293","6531367293","6631367293","6731367293","2200000000","2300000000","2400000000","2500000000","2600000000","2700000000","2800000000","2900000000","-2200000000","-2300000000","-2400000000","-2500000000","-2600000000","-2700000000","-2800000000","-2900000000","25E+8","-25E+8","-12345678901"}; // 220
+  // 221
+  // 222
+  // 223
+  // 224
+  // 225  *
+  // 226
+  // 227
+  // 228
+  // 229  *
+  // 230
+  // 231
+  // 232  *
+  // 233
+  // 234
+  // 235
+  // 236  *
+  // 237
+  // 238
+  // 239
+  // 240
+  // 241
+  // 242  *
+  // 243  *
+  // 244  *
+  // 245  *
+  // 246  *
+  // 247  *
+  // 248  *
+  // 249  *
+  // 250  *
+  // 251  *
+  // 252  *
+  // 253  *
+  // 254  *
+  // 255  *
+  // 256  *
+  // 257  *
+  // 258  *
+  // 259
+  // 260
+  // 261
+  // 262
+  // 263
+  // 264
+  // 265
+  // 266
+  // 267
+  // 268
+  // 269
+  // 270
+  // 271
+  // 272
+  // 273
+  // 274
+  // 275
+  // 276
+  // 277
+  // 278
+  // 279
+  // 280
+  {int $104=badstrings.length;i=0;i:for(;$104>0;$104--,i++){
+   try{
+    v=badstrings[i];
+    (new com.ibm.icu.math.BigDecimal(v)).intValueExact();
+    flag=false;
+   }
+   catch (java.lang.ArithmeticException $105){ae=$105;
+    norm=(new com.ibm.icu.math.BigDecimal(v)).toString();
+    flag=(ae.getMessage()).equals("Conversion overflow:"+" "+norm);
+   }
+   (new Test("inv"+(220+i))).ok=flag;
+   }
+  }/*i*/
+  
+  // now slip in some single bits...
+  dimax=new com.ibm.icu.math.BigDecimal(imax);
+  {i=0;i:for(;i<=49;i++){
+   try{
+    num=two.pow(new com.ibm.icu.math.BigDecimal(i),mc50);
+    dv=dimax.add(num,mc50);
+    dv.intValueExact();
+    flag=false;
+   }
+   catch (java.lang.ArithmeticException $106){ae=$106;
+    norm=dv.toString();
+    flag=(ae.getMessage()).equals("Conversion overflow:"+" "+norm);
+   }
+   (new Test("inv"+(300+i))).ok=flag;
+   }
+  }/*i*/
+  dimin=new com.ibm.icu.math.BigDecimal(imin);
+  {i=50;i:for(;i<=99;i++){
+   try{
+    num=two.pow(new com.ibm.icu.math.BigDecimal(i),mc50);
+    dv=dimin.subtract(num,mc50);
+    dv.intValueExact();
+    flag=false;
+   }
+   catch (java.lang.ArithmeticException $107){ae=$107;
+    norm=dv.toString();
+    flag=(ae.getMessage()).equals("Conversion overflow:"+" "+norm);
+   }
+   (new Test("inv"+(300+i))).ok=flag;
+   }
+  }/*i*/
+  
+  // the following should all raise bad-decimal-part exceptions
+  badstrings=new java.lang.String[]{"0.09","0.9","0.01","0.1","-0.01","-0.1","1.01","-1.01","-1.1","-111.111","+111.111","1.09","1.05","1.04","1.99","1.9","1.5","1.4","-1.09","-1.05","-1.04","-1.99","-1.9","-1.5","-1.4","1E-1000","-1E-1000","11E-1","1.5"}; // 400-403
+  // 404-407
+  // 408-411
+  // 412-416
+  // 417-420
+  // 421-424
+  // 425-428
+  
+  {int $108=badstrings.length;i=0;i:for(;$108>0;$108--,i++){
+   try{
+    v=badstrings[i];
+    (new com.ibm.icu.math.BigDecimal(v)).intValueExact();
+    flag=false;
+   }
+   catch (java.lang.ArithmeticException $109){ae=$109;
+    norm=(new com.ibm.icu.math.BigDecimal(v)).toString();
+    flag=(ae.getMessage()).equals("Decimal part non-zero:"+" "+norm);
+   }
+   (new Test("inv"+(400+i))).ok=flag;
+   }
+  }/*i*/
+  
+  summary("intValue+");
+ }
+
+ /* ----------------------------------------------------------------- */
+ 
+ /** Test the {@link com.ibm.icu.math.BigDecimal#longValue} method. */
+ 
+ public void diaglongvalue(){
+  boolean flag=false;
+  java.lang.String v=null;
+  java.lang.ArithmeticException ae=null;
+  java.lang.String badstrings[];
+  int i=0;
+  java.lang.String norm=null;
+  com.ibm.icu.math.BigDecimal dlmax;
+  com.ibm.icu.math.BigDecimal num=null;
+  com.ibm.icu.math.BigDecimal dv=null;
+  com.ibm.icu.math.BigDecimal dlmin;
+  
+  
+  // longValue --
+  
+  (new Test("lov001")).ok=lmin==((new com.ibm.icu.math.BigDecimal(lmin)).longValue());
+  (new Test("lov002")).ok=(((long)99))==((new com.ibm.icu.math.BigDecimal("99")).longValue());
+  (new Test("lov003")).ok=(((long)1))==((new com.ibm.icu.math.BigDecimal("1")).longValue());
+  (new Test("lov004")).ok=(((long)0))==((new com.ibm.icu.math.BigDecimal("0")).longValue());
+  (new Test("lov005")).ok=(((long)-1))==((new com.ibm.icu.math.BigDecimal("-1")).longValue());
+  (new Test("lov006")).ok=(((long)-99))==((new com.ibm.icu.math.BigDecimal("-99")).longValue());
+  (new Test("lov007")).ok=lmax==((new com.ibm.icu.math.BigDecimal(lmax)).longValue());
+  (new Test("lov008")).ok=(((long)5))==((new com.ibm.icu.math.BigDecimal("5.0")).longValue());
+  (new Test("lov009")).ok=(((long)5))==((new com.ibm.icu.math.BigDecimal("5.3")).longValue());
+  (new Test("lov010")).ok=(((long)5))==((new com.ibm.icu.math.BigDecimal("5.5")).longValue());
+  (new Test("lov011")).ok=(((long)5))==((new com.ibm.icu.math.BigDecimal("5.7")).longValue());
+  (new Test("lov012")).ok=(((long)5))==((new com.ibm.icu.math.BigDecimal("5.9")).longValue());
+  (new Test("lov013")).ok=(((long)-5))==((new com.ibm.icu.math.BigDecimal("-5.0")).longValue());
+  (new Test("lov014")).ok=(((long)-5))==((new com.ibm.icu.math.BigDecimal("-5.3")).longValue());
+  (new Test("lov015")).ok=(((long)-5))==((new com.ibm.icu.math.BigDecimal("-5.5")).longValue());
+  (new Test("lov016")).ok=(((long)-5))==((new com.ibm.icu.math.BigDecimal("-5.7")).longValue());
+  (new Test("lov017")).ok=(((long)-5))==((new com.ibm.icu.math.BigDecimal("-5.9")).longValue());
+  (new Test("lov018")).ok=((new com.ibm.icu.math.BigDecimal("888888888899999999998")).longValue())==3445173361941522430L; // ugh
+  (new Test("lov019")).ok=((new com.ibm.icu.math.BigDecimal("-888888888899999999998")).longValue())==(-3445173361941522430L); // ugh
+  
+  // longValueExact --
+  
+  (new Test("lov101")).ok=lmin==((new com.ibm.icu.math.BigDecimal(lmin)).longValue());
+  (new Test("lov102")).ok=(((long)99))==((new com.ibm.icu.math.BigDecimal("99")).longValue());
+  (new Test("lov103")).ok=(((long)1))==((new com.ibm.icu.math.BigDecimal("1")).longValue());
+  (new Test("lov104")).ok=(((long)0))==((new com.ibm.icu.math.BigDecimal("0")).longValue());
+  (new Test("lov105")).ok=(((long)-1))==((new com.ibm.icu.math.BigDecimal("-1")).longValue());
+  (new Test("lov106")).ok=(((long)-99))==((new com.ibm.icu.math.BigDecimal("-99")).longValue());
+  (new Test("lov107")).ok=lmax==((new com.ibm.icu.math.BigDecimal(lmax)).longValue());
+  (new Test("lov108")).ok=(((long)5))==((new com.ibm.icu.math.BigDecimal("5.0")).longValue());
+  (new Test("lov109")).ok=(((long)-5))==((new com.ibm.icu.math.BigDecimal("-5.0")).longValue());
+  
+  try{
+   v="-888888888899999999998";
+   (new com.ibm.icu.math.BigDecimal(v)).longValueExact();
+   flag=false;
+  }
+  catch (java.lang.ArithmeticException $110){ae=$110;
+   flag=(ae.getMessage()).equals("Conversion overflow:"+" "+v);
+  }
+  (new Test("lov200")).ok=flag;
+  try{
+   v="88888887487487479488888";
+   (new com.ibm.icu.math.BigDecimal(v)).longValueExact();
+   flag=false;
+  }
+  catch (java.lang.ArithmeticException $111){ae=$111;
+   flag=(ae.getMessage()).equals("Conversion overflow:"+" "+v);
+  }
+  (new Test("lov201")).ok=flag;
+  try{
+   v="1.5";
+   (new com.ibm.icu.math.BigDecimal(v)).longValueExact();
+   flag=false;
+  }
+  catch (java.lang.ArithmeticException $112){ae=$112;
+   flag=(ae.getMessage()).equals("Decimal part non-zero:"+" "+v);
+  }
+  (new Test("lov202")).ok=flag;
+  
+  badstrings=new java.lang.String[]{"1234567890110987654321","-1234567890110987654321",(new com.ibm.icu.math.BigDecimal(lmax)).add(one).toString(),(new com.ibm.icu.math.BigDecimal(lmin)).subtract(one).toString(),(new com.ibm.icu.math.BigDecimal(lmin)).multiply(two).toString(),(new com.ibm.icu.math.BigDecimal(lmax)).multiply(two).toString(),(new com.ibm.icu.math.BigDecimal(lmin)).multiply(ten).toString(),(new com.ibm.icu.math.BigDecimal(lmax)).multiply(ten).toString(),"9223372036854775818","9323372036854775818","9423372036854775818","9523372036854775818","9623372036854775818","9723372036854775818","9823372036854775818","9923372036854775818","-9223372036854775818","-9323372036854775818","-9423372036854775818","-9523372036854775818","-9623372036854775818","-9723372036854775818","-9823372036854775818","-9923372036854775818","12345678901234567890"}; // 220
+  // 221
+  // 222
+  // 223
+  // 224
+  // 225
+  // 226
+  // 227
+  // 228
+  // 229
+  // 230
+  // 231
+  // 232
+  // 233
+  // 234
+  // 235
+  // 236
+  // 237
+  // 238
+  // 239
+  // 240
+  // 241
+  // 242
+  // 243
+  // 244
+  {int $113=badstrings.length;i=0;i:for(;$113>0;$113--,i++){
+   try{
+    v=badstrings[i];
+    (new com.ibm.icu.math.BigDecimal(v)).longValueExact();
+    flag=false;
+   }
+   catch (java.lang.ArithmeticException $114){ae=$114;
+    norm=(new com.ibm.icu.math.BigDecimal(v)).toString();
+    flag=(ae.getMessage()).equals("Conversion overflow:"+" "+norm);
+   }
+   (new Test("lov"+(220+i))).ok=flag;
+   }
+  }/*i*/
+  
+  // now slip in some single bits...
+  dlmax=new com.ibm.icu.math.BigDecimal(lmax);
+  {i=0;i:for(;i<=99;i++){
+   try{
+    num=two.pow(new com.ibm.icu.math.BigDecimal(i),mc50);
+    dv=dlmax.add(num,mc50);
+    dv.longValueExact();
+    flag=false;
+   }
+   catch (java.lang.ArithmeticException $115){ae=$115;
+    norm=dv.toString();
+    flag=(ae.getMessage()).equals("Conversion overflow:"+" "+norm);
+   }
+   (new Test("lov"+(300+i))).ok=flag;
+   }
+  }/*i*/
+  dlmin=new com.ibm.icu.math.BigDecimal(lmin);
+  {i=0;i:for(;i<=99;i++){
+   try{
+    num=two.pow(new com.ibm.icu.math.BigDecimal(i),mc50);
+    dv=dlmin.subtract(num,mc50);
+    dv.longValueExact();
+    flag=false;
+   }
+   catch (java.lang.ArithmeticException $116){ae=$116;
+    norm=dv.toString();
+    flag=(ae.getMessage()).equals("Conversion overflow:"+" "+norm);
+   }
+   (new Test("lov"+(400+i))).ok=flag;
+   }
+  }/*i*/
+  
+  summary("longValue+");
+ }
+
+ /* ----------------------------------------------------------------- */
+ 
+ /** Test the {@link com.ibm.icu.math.BigDecimal#movePointLeft} method. */
+ 
+ public void diagmovepointleft(){
+  (new Test("mpl001")).ok=((new com.ibm.icu.math.BigDecimal("-1")).movePointLeft(-10).toString()).equals("-10000000000");
+  (new Test("mpl002")).ok=((new com.ibm.icu.math.BigDecimal("-1")).movePointLeft(-5).toString()).equals("-100000");
+  (new Test("mpl003")).ok=((new com.ibm.icu.math.BigDecimal("-1")).movePointLeft(-1).toString()).equals("-10");
+  (new Test("mpl004")).ok=((new com.ibm.icu.math.BigDecimal("-1")).movePointLeft(0).toString()).equals("-1");
+  (new Test("mpl005")).ok=((new com.ibm.icu.math.BigDecimal("-1")).movePointLeft(+1).toString()).equals("-0.1");
+  (new Test("mpl006")).ok=((new com.ibm.icu.math.BigDecimal("-1")).movePointLeft(+5).toString()).equals("-0.00001");
+  (new Test("mpl007")).ok=((new com.ibm.icu.math.BigDecimal("-1")).movePointLeft(+10).toString()).equals("-0.0000000001");
+  
+  (new Test("mpl010")).ok=((new com.ibm.icu.math.BigDecimal("0")).movePointLeft(-10).toString()).equals("0");
+  (new Test("mpl010")).ok=((new com.ibm.icu.math.BigDecimal("0")).movePointLeft(-5).toString()).equals("0");
+  (new Test("mpl010")).ok=((new com.ibm.icu.math.BigDecimal("0")).movePointLeft(-1).toString()).equals("0");
+  (new Test("mpl010")).ok=((new com.ibm.icu.math.BigDecimal("0")).movePointLeft(0).toString()).equals("0");
+  (new Test("mpl010")).ok=((new com.ibm.icu.math.BigDecimal("0")).movePointLeft(+1).toString()).equals("0.0");
+  (new Test("mpl010")).ok=((new com.ibm.icu.math.BigDecimal("0")).movePointLeft(+5).toString()).equals("0.00000");
+  (new Test("mpl010")).ok=((new com.ibm.icu.math.BigDecimal("0")).movePointLeft(+10).toString()).equals("0.0000000000");
+  
+  (new Test("mpl020")).ok=((new com.ibm.icu.math.BigDecimal("+1")).movePointLeft(-10).toString()).equals("10000000000");
+  (new Test("mpl021")).ok=((new com.ibm.icu.math.BigDecimal("+1")).movePointLeft(-5).toString()).equals("100000");
+  (new Test("mpl022")).ok=((new com.ibm.icu.math.BigDecimal("+1")).movePointLeft(-1).toString()).equals("10");
+  (new Test("mpl023")).ok=((new com.ibm.icu.math.BigDecimal("+1")).movePointLeft(0).toString()).equals("1");
+  (new Test("mpl024")).ok=((new com.ibm.icu.math.BigDecimal("+1")).movePointLeft(+1).toString()).equals("0.1");
+  (new Test("mpl025")).ok=((new com.ibm.icu.math.BigDecimal("+1")).movePointLeft(+5).toString()).equals("0.00001");
+  (new Test("mpl026")).ok=((new com.ibm.icu.math.BigDecimal("+1")).movePointLeft(+10).toString()).equals("0.0000000001");
+  
+  (new Test("mpl030")).ok=((new com.ibm.icu.math.BigDecimal("0.5E+1")).movePointLeft(-10).toString()).equals("50000000000");
+  (new Test("mpl031")).ok=((new com.ibm.icu.math.BigDecimal("0.5E+1")).movePointLeft(-5).toString()).equals("500000");
+  (new Test("mpl032")).ok=((new com.ibm.icu.math.BigDecimal("0.5E+1")).movePointLeft(-1).toString()).equals("50");
+  (new Test("mpl033")).ok=((new com.ibm.icu.math.BigDecimal("0.5E+1")).movePointLeft(0).toString()).equals("5");
+  (new Test("mpl034")).ok=((new com.ibm.icu.math.BigDecimal("0.5E+1")).movePointLeft(+1).toString()).equals("0.5");
+  (new Test("mpl035")).ok=((new com.ibm.icu.math.BigDecimal("0.5E+1")).movePointLeft(+5).toString()).equals("0.00005");
+  (new Test("mpl036")).ok=((new com.ibm.icu.math.BigDecimal("0.5E+1")).movePointLeft(+10).toString()).equals("0.0000000005");
+  
+  summary("movePointLeft");
+ }
+/* ----------------------------------------------------------------- */
+ 
+ /** Test the {@link com.ibm.icu.math.BigDecimal#movePointRight} method. */
+ 
+ public void diagmovepointright(){
+  (new Test("mpr001")).ok=((new com.ibm.icu.math.BigDecimal("-1")).movePointRight(+10).toString()).equals("-10000000000");
+  (new Test("mpr002")).ok=((new com.ibm.icu.math.BigDecimal("-1")).movePointRight(+5).toString()).equals("-100000");
+  (new Test("mpr003")).ok=((new com.ibm.icu.math.BigDecimal("-1")).movePointRight(+1).toString()).equals("-10");
+  (new Test("mpr004")).ok=((new com.ibm.icu.math.BigDecimal("-1")).movePointRight(0).toString()).equals("-1");
+  (new Test("mpr005")).ok=((new com.ibm.icu.math.BigDecimal("-1")).movePointRight(-1).toString()).equals("-0.1");
+  (new Test("mpr006")).ok=((new com.ibm.icu.math.BigDecimal("-1")).movePointRight(-5).toString()).equals("-0.00001");
+  (new Test("mpr007")).ok=((new com.ibm.icu.math.BigDecimal("-1")).movePointRight(-10).toString()).equals("-0.0000000001");
+  
+  (new Test("mpr010")).ok=((new com.ibm.icu.math.BigDecimal("0")).movePointRight(+10).toString()).equals("0");
+  (new Test("mpr011")).ok=((new com.ibm.icu.math.BigDecimal("0")).movePointRight(+5).toString()).equals("0");
+  (new Test("mpr012")).ok=((new com.ibm.icu.math.BigDecimal("0")).movePointRight(+1).toString()).equals("0");
+  (new Test("mpr013")).ok=((new com.ibm.icu.math.BigDecimal("0")).movePointRight(0).toString()).equals("0");
+  (new Test("mpr014")).ok=((new com.ibm.icu.math.BigDecimal("0")).movePointRight(-1).toString()).equals("0.0");
+  (new Test("mpr015")).ok=((new com.ibm.icu.math.BigDecimal("0")).movePointRight(-5).toString()).equals("0.00000");
+  (new Test("mpr016")).ok=((new com.ibm.icu.math.BigDecimal("0")).movePointRight(-10).toString()).equals("0.0000000000");
+  
+  (new Test("mpr020")).ok=((new com.ibm.icu.math.BigDecimal("+1")).movePointRight(+10).toString()).equals("10000000000");
+  (new Test("mpr021")).ok=((new com.ibm.icu.math.BigDecimal("+1")).movePointRight(+5).toString()).equals("100000");
+  (new Test("mpr022")).ok=((new com.ibm.icu.math.BigDecimal("+1")).movePointRight(+1).toString()).equals("10");
+  (new Test("mpr023")).ok=((new com.ibm.icu.math.BigDecimal("+1")).movePointRight(0).toString()).equals("1");
+  (new Test("mpr024")).ok=((new com.ibm.icu.math.BigDecimal("+1")).movePointRight(-1).toString()).equals("0.1");
+  (new Test("mpr025")).ok=((new com.ibm.icu.math.BigDecimal("+1")).movePointRight(-5).toString()).equals("0.00001");
+  (new Test("mpr026")).ok=((new com.ibm.icu.math.BigDecimal("+1")).movePointRight(-10).toString()).equals("0.0000000001");
+  
+  (new Test("mpr030")).ok=((new com.ibm.icu.math.BigDecimal("0.5E+1")).movePointRight(+10).toString()).equals("50000000000");
+  (new Test("mpr031")).ok=((new com.ibm.icu.math.BigDecimal("0.5E+1")).movePointRight(+5).toString()).equals("500000");
+  (new Test("mpr032")).ok=((new com.ibm.icu.math.BigDecimal("0.5E+1")).movePointRight(+1).toString()).equals("50");
+  (new Test("mpr033")).ok=((new com.ibm.icu.math.BigDecimal("0.5E+1")).movePointRight(0).toString()).equals("5");
+  (new Test("mpr034")).ok=((new com.ibm.icu.math.BigDecimal("0.5E+1")).movePointRight(-1).toString()).equals("0.5");
+  (new Test("mpr035")).ok=((new com.ibm.icu.math.BigDecimal("0.5E+1")).movePointRight(-5).toString()).equals("0.00005");
+  (new Test("mpr036")).ok=((new com.ibm.icu.math.BigDecimal("0.5E+1")).movePointRight(-10).toString()).equals("0.0000000005");
+  
+  summary("movePointRight");
+ }
+/* ----------------------------------------------------------------- */
+ 
+ /** Test the {@link com.ibm.icu.math.BigDecimal#scale} method. */
+ 
+ public void diagscale(){
+  (new Test("sca001")).ok=((new com.ibm.icu.math.BigDecimal("-1")).scale())==0;
+  (new Test("sca002")).ok=((new com.ibm.icu.math.BigDecimal("-10")).scale())==0;
+  (new Test("sca003")).ok=((new com.ibm.icu.math.BigDecimal("+1")).scale())==0;
+  (new Test("sca004")).ok=((new com.ibm.icu.math.BigDecimal("+10")).scale())==0;
+  (new Test("sca005")).ok=((new com.ibm.icu.math.BigDecimal("1E+10")).scale())==0;
+  (new Test("sca006")).ok=((new com.ibm.icu.math.BigDecimal("1E-10")).scale())==10;
+  (new Test("sca007")).ok=((new com.ibm.icu.math.BigDecimal("0E-10")).scale())==0;
+  (new Test("sca008")).ok=((new com.ibm.icu.math.BigDecimal("0.000")).scale())==3;
+  (new Test("sca009")).ok=((new com.ibm.icu.math.BigDecimal("0.00")).scale())==2;
+  (new Test("sca010")).ok=((new com.ibm.icu.math.BigDecimal("0.0")).scale())==1;
+  (new Test("sca011")).ok=((new com.ibm.icu.math.BigDecimal("0.1")).scale())==1;
+  (new Test("sca012")).ok=((new com.ibm.icu.math.BigDecimal("0.12")).scale())==2;
+  (new Test("sca013")).ok=((new com.ibm.icu.math.BigDecimal("0.123")).scale())==3;
+  (new Test("sca014")).ok=((new com.ibm.icu.math.BigDecimal("-0.0")).scale())==1;
+  (new Test("sca015")).ok=((new com.ibm.icu.math.BigDecimal("-0.1")).scale())==1;
+  (new Test("sca016")).ok=((new com.ibm.icu.math.BigDecimal("-0.12")).scale())==2;
+  (new Test("sca017")).ok=((new com.ibm.icu.math.BigDecimal("-0.123")).scale())==3;
+  summary("scale");
+ }
+
+ /* ----------------------------------------------------------------- */
+ 
+ /** Test the {@link com.ibm.icu.math.BigDecimal#setScale} method. */
+ 
+ public void diagsetscale(){
+  boolean flag=false;
+  java.lang.RuntimeException e=null;
+  
+  (new Test("ssc001")).ok=((new com.ibm.icu.math.BigDecimal("-1")).setScale(0).toString()).equals("-1");
+  (new Test("ssc002")).ok=((new com.ibm.icu.math.BigDecimal("-1")).setScale(1).toString()).equals("-1.0");
+  (new Test("ssc003")).ok=((new com.ibm.icu.math.BigDecimal("-1")).setScale(2).toString()).equals("-1.00");
+  (new Test("ssc004")).ok=((new com.ibm.icu.math.BigDecimal("0")).setScale(0).toString()).equals("0");
+  (new Test("ssc005")).ok=((new com.ibm.icu.math.BigDecimal("0")).setScale(1).toString()).equals("0.0");
+  (new Test("ssc006")).ok=((new com.ibm.icu.math.BigDecimal("0")).setScale(2).toString()).equals("0.00");
+  (new Test("ssc007")).ok=((new com.ibm.icu.math.BigDecimal("+1")).setScale(0).toString()).equals("1");
+  (new Test("ssc008")).ok=((new com.ibm.icu.math.BigDecimal("+1")).setScale(1).toString()).equals("1.0");
+  (new Test("ssc009")).ok=((new com.ibm.icu.math.BigDecimal("+1")).setScale(2).toString()).equals("1.00");
+  (new Test("ssc010")).ok=((new com.ibm.icu.math.BigDecimal("-1")).setScale(0,com.ibm.icu.math.MathContext.ROUND_HALF_UP).toString()).equals("-1");
+  (new Test("ssc011")).ok=((new com.ibm.icu.math.BigDecimal("-1")).setScale(1,com.ibm.icu.math.MathContext.ROUND_HALF_UP).toString()).equals("-1.0");
+  (new Test("ssc012")).ok=((new com.ibm.icu.math.BigDecimal("-1")).setScale(2,com.ibm.icu.math.MathContext.ROUND_HALF_UP).toString()).equals("-1.00");
+  (new Test("ssc013")).ok=((new com.ibm.icu.math.BigDecimal("0")).setScale(0,com.ibm.icu.math.MathContext.ROUND_HALF_UP).toString()).equals("0");
+  (new Test("ssc014")).ok=((new com.ibm.icu.math.BigDecimal("0")).setScale(1,com.ibm.icu.math.MathContext.ROUND_HALF_UP).toString()).equals("0.0");
+  (new Test("ssc015")).ok=((new com.ibm.icu.math.BigDecimal("0")).setScale(2,com.ibm.icu.math.MathContext.ROUND_HALF_UP).toString()).equals("0.00");
+  (new Test("ssc016")).ok=((new com.ibm.icu.math.BigDecimal("+1")).setScale(0,com.ibm.icu.math.MathContext.ROUND_HALF_UP).toString()).equals("1");
+  (new Test("ssc017")).ok=((new com.ibm.icu.math.BigDecimal("+1")).setScale(1,com.ibm.icu.math.MathContext.ROUND_HALF_UP).toString()).equals("1.0");
+  (new Test("ssc018")).ok=((new com.ibm.icu.math.BigDecimal("+1")).setScale(2,com.ibm.icu.math.MathContext.ROUND_HALF_UP).toString()).equals("1.00");
+  
+  (new Test("ssc020")).ok=((new com.ibm.icu.math.BigDecimal("1.04")).setScale(3,com.ibm.icu.math.MathContext.ROUND_HALF_UP).toString()).equals("1.040");
+  (new Test("ssc021")).ok=((new com.ibm.icu.math.BigDecimal("1.04")).setScale(2,com.ibm.icu.math.MathContext.ROUND_HALF_UP).toString()).equals("1.04");
+  (new Test("ssc022")).ok=((new com.ibm.icu.math.BigDecimal("1.04")).setScale(1,com.ibm.icu.math.MathContext.ROUND_HALF_UP).toString()).equals("1.0");
+  (new Test("ssc023")).ok=((new com.ibm.icu.math.BigDecimal("1.04")).setScale(0,com.ibm.icu.math.MathContext.ROUND_HALF_UP).toString()).equals("1");
+  (new Test("ssc024")).ok=((new com.ibm.icu.math.BigDecimal("1.05")).setScale(3,com.ibm.icu.math.MathContext.ROUND_HALF_UP).toString()).equals("1.050");
+  (new Test("ssc025")).ok=((new com.ibm.icu.math.BigDecimal("1.05")).setScale(2,com.ibm.icu.math.MathContext.ROUND_HALF_UP).toString()).equals("1.05");
+  (new Test("ssc026")).ok=((new com.ibm.icu.math.BigDecimal("1.05")).setScale(1,com.ibm.icu.math.MathContext.ROUND_HALF_UP).toString()).equals("1.1");
+  (new Test("ssc027")).ok=((new com.ibm.icu.math.BigDecimal("1.05")).setScale(0,com.ibm.icu.math.MathContext.ROUND_HALF_UP).toString()).equals("1");
+  (new Test("ssc028")).ok=((new com.ibm.icu.math.BigDecimal("1.05")).setScale(3,com.ibm.icu.math.MathContext.ROUND_HALF_DOWN).toString()).equals("1.050");
+  (new Test("ssc029")).ok=((new com.ibm.icu.math.BigDecimal("1.05")).setScale(2,com.ibm.icu.math.MathContext.ROUND_HALF_DOWN).toString()).equals("1.05");
+  (new Test("ssc030")).ok=((new com.ibm.icu.math.BigDecimal("1.05")).setScale(1,com.ibm.icu.math.MathContext.ROUND_HALF_DOWN).toString()).equals("1.0");
+  (new Test("ssc031")).ok=((new com.ibm.icu.math.BigDecimal("1.05")).setScale(0,com.ibm.icu.math.MathContext.ROUND_HALF_DOWN).toString()).equals("1");
+  (new Test("ssc032")).ok=((new com.ibm.icu.math.BigDecimal("1.06")).setScale(3,com.ibm.icu.math.MathContext.ROUND_HALF_UP).toString()).equals("1.060");
+  (new Test("ssc033")).ok=((new com.ibm.icu.math.BigDecimal("1.06")).setScale(2,com.ibm.icu.math.MathContext.ROUND_HALF_UP).toString()).equals("1.06");
+  (new Test("ssc034")).ok=((new com.ibm.icu.math.BigDecimal("1.06")).setScale(1,com.ibm.icu.math.MathContext.ROUND_HALF_UP).toString()).equals("1.1");
+  (new Test("ssc035")).ok=((new com.ibm.icu.math.BigDecimal("1.06")).setScale(0,com.ibm.icu.math.MathContext.ROUND_HALF_UP).toString()).equals("1");
+  
+  (new Test("ssc040")).ok=((new com.ibm.icu.math.BigDecimal("-10")).setScale(2,com.ibm.icu.math.MathContext.ROUND_HALF_UP).toString()).equals("-10.00");
+  (new Test("ssc041")).ok=((new com.ibm.icu.math.BigDecimal("+1")).setScale(2,com.ibm.icu.math.MathContext.ROUND_HALF_UP).toString()).equals("1.00");
+  (new Test("ssc042")).ok=((new com.ibm.icu.math.BigDecimal("+10")).setScale(2,com.ibm.icu.math.MathContext.ROUND_HALF_UP).toString()).equals("10.00");
+  (new Test("ssc043")).ok=((new com.ibm.icu.math.BigDecimal("1E+10")).setScale(2,com.ibm.icu.math.MathContext.ROUND_HALF_UP).toString()).equals("10000000000.00");
+  (new Test("ssc044")).ok=((new com.ibm.icu.math.BigDecimal("1E-10")).setScale(2,com.ibm.icu.math.MathContext.ROUND_HALF_UP).toString()).equals("0.00");
+  (new Test("ssc045")).ok=((new com.ibm.icu.math.BigDecimal("1E-2")).setScale(2,com.ibm.icu.math.MathContext.ROUND_HALF_UP).toString()).equals("0.01");
+  (new Test("ssc046")).ok=((new com.ibm.icu.math.BigDecimal("0E-10")).setScale(2,com.ibm.icu.math.MathContext.ROUND_HALF_UP).toString()).equals("0.00");
+  
+  // check rounding
+  (new Test("ssc050")).ok=((new com.ibm.icu.math.BigDecimal("0.005")).setScale(2,com.ibm.icu.math.MathContext.ROUND_CEILING).toString()).equals("0.01");
+  (new Test("ssc051")).ok=((new com.ibm.icu.math.BigDecimal("0.005")).setScale(1,com.ibm.icu.math.MathContext.ROUND_CEILING).toString()).equals("0.1");
+  (new Test("ssc052")).ok=((new com.ibm.icu.math.BigDecimal("0.005")).setScale(0,com.ibm.icu.math.MathContext.ROUND_CEILING).toString()).equals("1");
+  (new Test("ssc053")).ok=((new com.ibm.icu.math.BigDecimal("0.005")).setScale(2,com.ibm.icu.math.MathContext.ROUND_DOWN).toString()).equals("0.00");
+  (new Test("ssc054")).ok=((new com.ibm.icu.math.BigDecimal("0.005")).setScale(1,com.ibm.icu.math.MathContext.ROUND_DOWN).toString()).equals("0.0");
+  (new Test("ssc055")).ok=((new com.ibm.icu.math.BigDecimal("0.005")).setScale(0,com.ibm.icu.math.MathContext.ROUND_DOWN).toString()).equals("0");
+  (new Test("ssc056")).ok=((new com.ibm.icu.math.BigDecimal("0.005")).setScale(2,com.ibm.icu.math.MathContext.ROUND_FLOOR).toString()).equals("0.00");
+  (new Test("ssc057")).ok=((new com.ibm.icu.math.BigDecimal("0.005")).setScale(1,com.ibm.icu.math.MathContext.ROUND_FLOOR).toString()).equals("0.0");
+  (new Test("ssc058")).ok=((new com.ibm.icu.math.BigDecimal("0.005")).setScale(0,com.ibm.icu.math.MathContext.ROUND_FLOOR).toString()).equals("0");
+  (new Test("ssc059")).ok=((new com.ibm.icu.math.BigDecimal("0.005")).setScale(2,com.ibm.icu.math.MathContext.ROUND_HALF_DOWN).toString()).equals("0.00");
+  (new Test("ssc060")).ok=((new com.ibm.icu.math.BigDecimal("0.005")).setScale(1,com.ibm.icu.math.MathContext.ROUND_HALF_DOWN).toString()).equals("0.0");
+  (new Test("ssc061")).ok=((new com.ibm.icu.math.BigDecimal("0.005")).setScale(0,com.ibm.icu.math.MathContext.ROUND_HALF_DOWN).toString()).equals("0");
+  (new Test("ssc062")).ok=((new com.ibm.icu.math.BigDecimal("0.005")).setScale(2,com.ibm.icu.math.MathContext.ROUND_HALF_EVEN).toString()).equals("0.00");
+  (new Test("ssc063")).ok=((new com.ibm.icu.math.BigDecimal("0.005")).setScale(1,com.ibm.icu.math.MathContext.ROUND_HALF_EVEN).toString()).equals("0.0");
+  (new Test("ssc064")).ok=((new com.ibm.icu.math.BigDecimal("0.005")).setScale(0,com.ibm.icu.math.MathContext.ROUND_HALF_EVEN).toString()).equals("0");
+  (new Test("ssc065")).ok=((new com.ibm.icu.math.BigDecimal("0.015")).setScale(2,com.ibm.icu.math.MathContext.ROUND_HALF_EVEN).toString()).equals("0.02");
+  (new Test("ssc066")).ok=((new com.ibm.icu.math.BigDecimal("0.015")).setScale(1,com.ibm.icu.math.MathContext.ROUND_HALF_EVEN).toString()).equals("0.0");
+  (new Test("ssc067")).ok=((new com.ibm.icu.math.BigDecimal("0.015")).setScale(0,com.ibm.icu.math.MathContext.ROUND_HALF_EVEN).toString()).equals("0");
+  (new Test("ssc068")).ok=((new com.ibm.icu.math.BigDecimal("0.005")).setScale(2,com.ibm.icu.math.MathContext.ROUND_HALF_UP).toString()).equals("0.01");
+  (new Test("ssc069")).ok=((new com.ibm.icu.math.BigDecimal("0.005")).setScale(1,com.ibm.icu.math.MathContext.ROUND_HALF_UP).toString()).equals("0.0");
+  (new Test("ssc070")).ok=((new com.ibm.icu.math.BigDecimal("0.005")).setScale(0,com.ibm.icu.math.MathContext.ROUND_HALF_UP).toString()).equals("0");
+  (new Test("ssc071")).ok=((new com.ibm.icu.math.BigDecimal("0.095")).setScale(2,com.ibm.icu.math.MathContext.ROUND_HALF_UP).toString()).equals("0.10");
+  (new Test("ssc072")).ok=((new com.ibm.icu.math.BigDecimal("0.095")).setScale(1,com.ibm.icu.math.MathContext.ROUND_HALF_UP).toString()).equals("0.1");
+  (new Test("ssc073")).ok=((new com.ibm.icu.math.BigDecimal("0.095")).setScale(0,com.ibm.icu.math.MathContext.ROUND_HALF_UP).toString()).equals("0");
+  (new Test("ssc074")).ok=((new com.ibm.icu.math.BigDecimal("0.005")).setScale(2,com.ibm.icu.math.MathContext.ROUND_UP).toString()).equals("0.01");
+  (new Test("ssc075")).ok=((new com.ibm.icu.math.BigDecimal("0.005")).setScale(1,com.ibm.icu.math.MathContext.ROUND_UP).toString()).equals("0.1");
+  (new Test("ssc076")).ok=((new com.ibm.icu.math.BigDecimal("0.005")).setScale(0,com.ibm.icu.math.MathContext.ROUND_UP).toString()).equals("1");
+  
+  try{checkscale:do{
+   (new com.ibm.icu.math.BigDecimal(1)).setScale(-8);
+   flag=false;
+  }while(false);}
+  catch (java.lang.RuntimeException $117){e=$117;
+   flag=(e.getMessage()).equals("Negative scale: -8");
+  }/*checkscale*/
+  (new Test("ssc100")).ok=flag;
+  try{checkrunn:do{
+   (new com.ibm.icu.math.BigDecimal(1.0001D)).setScale(3);
+   flag=false;
+  }while(false);}
+  catch (java.lang.RuntimeException $118){e=$118;
+   flag=(e.getMessage()).equals("Rounding necessary");
+  }/*checkrunn*/
+  (new Test("ssc101")).ok=flag;
+  try{checkrunn:do{
+   (new com.ibm.icu.math.BigDecimal(1E-8D)).setScale(3);
+   flag=false;
+  }while(false);}
+  catch (java.lang.RuntimeException $119){e=$119;
+   flag=(e.getMessage()).equals("Rounding necessary");
+  }/*checkrunn*/
+  (new Test("ssc102")).ok=flag;
+  summary("setScale");
+ }
+
+ /* ----------------------------------------------------------------- */
+ 
+ /** Test the <code>BigDecimal.shortValue()</code> method. */
+ 
+ public void diagshortvalue(){
+  boolean flag=false;
+  java.lang.String v=null;
+  java.lang.ArithmeticException ae=null;
+  java.lang.String badstrings[];
+  int i=0;
+  java.lang.String norm=null;
+  
+  (new Test("shv002")).ok=(((short)0))==((new com.ibm.icu.math.BigDecimal("0")).shortValue());
+  (new Test("shv003")).ok=(((short)1))==((new com.ibm.icu.math.BigDecimal("1")).shortValue());
+  (new Test("shv004")).ok=(((short)99))==((new com.ibm.icu.math.BigDecimal("99")).shortValue());
+  (new Test("shv006")).ok=((smax))==((new com.ibm.icu.math.BigDecimal(smax)).shortValue());
+  (new Test("shv007")).ok=((smin))==((new com.ibm.icu.math.BigDecimal(smin)).shortValue());
+  (new Test("shv008")).ok=((sneg))==((new com.ibm.icu.math.BigDecimal(sneg)).shortValue());
+  (new Test("shv009")).ok=((szer))==((new com.ibm.icu.math.BigDecimal(szer)).shortValue());
+  (new Test("shv010")).ok=((spos))==((new com.ibm.icu.math.BigDecimal(spos)).shortValue());
+  (new Test("shv011")).ok=((smin))==((new com.ibm.icu.math.BigDecimal(smax+1)).shortValue());
+  (new Test("shv012")).ok=((smax))==((new com.ibm.icu.math.BigDecimal(smin-1)).shortValue());
+  
+  (new Test("shv022")).ok=(((short)0))==((new com.ibm.icu.math.BigDecimal("0")).shortValueExact());
+  (new Test("shv023")).ok=(((short)1))==((new com.ibm.icu.math.BigDecimal("1")).shortValueExact());
+  (new Test("shv024")).ok=(((short)99))==((new com.ibm.icu.math.BigDecimal("99")).shortValueExact());
+  (new Test("shv026")).ok=((smax))==((new com.ibm.icu.math.BigDecimal(smax)).shortValueExact());
+  (new Test("shv027")).ok=((smin))==((new com.ibm.icu.math.BigDecimal(smin)).shortValueExact());
+  (new Test("shv028")).ok=((sneg))==((new com.ibm.icu.math.BigDecimal(sneg)).shortValueExact());
+  (new Test("shv029")).ok=((szer))==((new com.ibm.icu.math.BigDecimal(szer)).shortValueExact());
+  (new Test("shv030")).ok=((spos))==((new com.ibm.icu.math.BigDecimal(spos)).shortValueExact());
+  try{
+   v="-88888888888";
+   (new com.ibm.icu.math.BigDecimal(v)).shortValueExact();
+   flag=false;
+  }
+  catch (java.lang.ArithmeticException $120){ae=$120;
+   flag=(ae.getMessage()).equals("Conversion overflow:"+" "+v);
+  }
+  (new Test("shv100")).ok=flag;
+  try{
+   v="88888888888";
+   (new com.ibm.icu.math.BigDecimal(v)).shortValueExact();
+   flag=false;
+  }
+  catch (java.lang.ArithmeticException $121){ae=$121;
+   flag=(ae.getMessage()).equals("Conversion overflow:"+" "+v);
+  }
+  (new Test("shv101")).ok=flag;
+  try{
+   v="1.5";
+   (new com.ibm.icu.math.BigDecimal(v)).shortValueExact();
+   flag=false;
+  }
+  catch (java.lang.ArithmeticException $122){ae=$122;
+   flag=(ae.getMessage()).equals("Decimal part non-zero:"+" "+v);
+  }
+  (new Test("shv102")).ok=flag;
+  
+  badstrings=new java.lang.String[]{"123456",(new com.ibm.icu.math.BigDecimal(smax)).add(one).toString(),(new com.ibm.icu.math.BigDecimal(smin)).subtract(one).toString(),"71111","81111","91111","-71111","-81111","-91111",(new com.ibm.icu.math.BigDecimal(smin)).multiply(two).toString(),(new com.ibm.icu.math.BigDecimal(smax)).multiply(two).toString(),(new com.ibm.icu.math.BigDecimal(smin)).multiply(ten).toString(),(new com.ibm.icu.math.BigDecimal(smax)).multiply(ten).toString(),"-123456"}; // 220
+  // 221
+  // 222
+  // 223
+  // 224
+  // 225
+  // 226
+  // 227
+  // 228
+  // 229
+  // 230
+  // 231
+  // 232
+  // 233
+  {int $123=badstrings.length;i=0;i:for(;$123>0;$123--,i++){
+   try{
+    v=badstrings[i];
+    (new com.ibm.icu.math.BigDecimal(v)).shortValueExact();
+    flag=false;
+   }
+   catch (java.lang.ArithmeticException $124){ae=$124;
+    norm=(new com.ibm.icu.math.BigDecimal(v)).toString();
+    flag=(ae.getMessage()).equals("Conversion overflow:"+" "+norm);
+   }
+   (new Test("shv"+(220+i))).ok=flag;
+   }
+  }/*i*/
+  
+  
+  summary("shortValue+");
+ }
+
+ /* ----------------------------------------------------------------- */
+ 
+ /** Test the {@link com.ibm.icu.math.BigDecimal#signum} method. */
+ 
+ public void diagsignum(){
+  // necessarily checks some obscure constructions, too
+  (new Test("sig001")).ok=(-1)==((new com.ibm.icu.math.BigDecimal("-1")).signum());
+  (new Test("sig002")).ok=(-1)==((new com.ibm.icu.math.BigDecimal("-0.0010")).signum());
+  (new Test("sig003")).ok=(-1)==((new com.ibm.icu.math.BigDecimal("-0.001")).signum());
+  (new Test("sig004")).ok=0==((new com.ibm.icu.math.BigDecimal("-0.00")).signum());
+  (new Test("sig005")).ok=0==((new com.ibm.icu.math.BigDecimal("-0")).signum());
+  (new Test("sig006")).ok=0==((new com.ibm.icu.math.BigDecimal("0")).signum());
+  (new Test("sig007")).ok=0==((new com.ibm.icu.math.BigDecimal("00")).signum());
+  (new Test("sig008")).ok=0==((new com.ibm.icu.math.BigDecimal("00.0")).signum());
+  (new Test("sig009")).ok=1==((new com.ibm.icu.math.BigDecimal("00.01")).signum());
+  (new Test("sig010")).ok=1==((new com.ibm.icu.math.BigDecimal("00.01")).signum());
+  (new Test("sig011")).ok=1==((new com.ibm.icu.math.BigDecimal("00.010")).signum());
+  (new Test("sig012")).ok=1==((new com.ibm.icu.math.BigDecimal("01.01")).signum());
+  (new Test("sig013")).ok=1==((new com.ibm.icu.math.BigDecimal("+0.01")).signum());
+  (new Test("sig014")).ok=1==((new com.ibm.icu.math.BigDecimal("+0.001")).signum());
+  (new Test("sig015")).ok=1==((new com.ibm.icu.math.BigDecimal("1")).signum());
+  (new Test("sig016")).ok=1==((new com.ibm.icu.math.BigDecimal("1e+12")).signum());
+  (new Test("sig017")).ok=0==((new com.ibm.icu.math.BigDecimal("00e+12")).signum());
+  summary("signum");
+ }
+
+ /* ----------------------------------------------------------------- */
+ 
+ /** Test the {@link com.ibm.icu.math.BigDecimal#toBigDecimal} method. */
+ 
+ public void diagtobigdecimal(){
+  (new Test("tbd001")).ok=((new com.ibm.icu.math.BigDecimal("0")).toBigDecimal().toString()).equals("0");
+  (new Test("tbd002")).ok=((new com.ibm.icu.math.BigDecimal("-1")).toBigDecimal().toString()).equals("-1");
+  (new Test("tbd003")).ok=((new com.ibm.icu.math.BigDecimal("+1")).toBigDecimal().toString()).equals("1");
+  (new Test("tbd004")).ok=((new com.ibm.icu.math.BigDecimal("1")).toBigDecimal().toString()).equals("1");
+  (new Test("tbd005")).ok=((new com.ibm.icu.math.BigDecimal("1E+2")).toBigDecimal().toString()).equals("100");
+  (new Test("tbd006")).ok=((new com.ibm.icu.math.BigDecimal("1E-2")).toBigDecimal().toString()).equals("0.01");
+  if (!isJDK15OrLater)
+      (new Test("tbd007")).ok=((new com.ibm.icu.math.BigDecimal("1E-8")).toBigDecimal().toString()).equals("0.00000001");
+  if (!isJDK15OrLater)
+      (new Test("tbd008")).ok=((new com.ibm.icu.math.BigDecimal("1E-9")).toBigDecimal().toString()).equals("0.000000001");
+  (new Test("tbd009")).ok=((new com.ibm.icu.math.BigDecimal("1E10")).toBigDecimal().toString()).equals("10000000000");
+  (new Test("tbd010")).ok=((new com.ibm.icu.math.BigDecimal("1E12")).toBigDecimal().toString()).equals("1000000000000");
+  summary("toBigDecimal");
+ }
+/* ----------------------------------------------------------------- */
+ 
+ /** Test the {@link com.ibm.icu.math.BigDecimal#toBigInteger} method. */
+ 
+ public void diagtobiginteger(){
+  boolean flag=false;
+  java.lang.String badstrings[];
+  int i=0;
+  (new Test("tbi001")).ok=((new com.ibm.icu.math.BigDecimal("-1")).toBigInteger().toString()).equals("-1");
+  (new Test("tbi002")).ok=((new com.ibm.icu.math.BigDecimal("0")).toBigInteger().toString()).equals("0");
+  (new Test("tbi003")).ok=((new com.ibm.icu.math.BigDecimal("+1")).toBigInteger().toString()).equals("1");
+  (new Test("tbi004")).ok=((new com.ibm.icu.math.BigDecimal("10")).toBigInteger().toString()).equals("10");
+  (new Test("tbi005")).ok=((new com.ibm.icu.math.BigDecimal("1000")).toBigInteger().toString()).equals("1000");
+  (new Test("tbi006")).ok=((new com.ibm.icu.math.BigDecimal("-1E+0")).toBigInteger().toString()).equals("-1");
+  (new Test("tbi007")).ok=((new com.ibm.icu.math.BigDecimal("0E+0")).toBigInteger().toString()).equals("0");
+  (new Test("tbi008")).ok=((new com.ibm.icu.math.BigDecimal("+1E+0")).toBigInteger().toString()).equals("1");
+  (new Test("tbi009")).ok=((new com.ibm.icu.math.BigDecimal("10E+0")).toBigInteger().toString()).equals("10");
+  (new Test("tbi010")).ok=((new com.ibm.icu.math.BigDecimal("1E+3")).toBigInteger().toString()).equals("1000");
+  (new Test("tbi011")).ok=((new com.ibm.icu.math.BigDecimal("0.00")).toBigInteger().toString()).equals("0");
+  (new Test("tbi012")).ok=((new com.ibm.icu.math.BigDecimal("0.01")).toBigInteger().toString()).equals("0");
+  (new Test("tbi013")).ok=((new com.ibm.icu.math.BigDecimal("0.0")).toBigInteger().toString()).equals("0");
+  (new Test("tbi014")).ok=((new com.ibm.icu.math.BigDecimal("0.1")).toBigInteger().toString()).equals("0");
+  (new Test("tbi015")).ok=((new com.ibm.icu.math.BigDecimal("-0.00")).toBigInteger().toString()).equals("0");
+  (new Test("tbi016")).ok=((new com.ibm.icu.math.BigDecimal("-0.01")).toBigInteger().toString()).equals("0");
+  (new Test("tbi017")).ok=((new com.ibm.icu.math.BigDecimal("-0.0")).toBigInteger().toString()).equals("0");
+  (new Test("tbi018")).ok=((new com.ibm.icu.math.BigDecimal("-0.1")).toBigInteger().toString()).equals("0");
+  (new Test("tbi019")).ok=((new com.ibm.icu.math.BigDecimal("1.00")).toBigInteger().toString()).equals("1");
+  (new Test("tbi020")).ok=((new com.ibm.icu.math.BigDecimal("1.01")).toBigInteger().toString()).equals("1");
+  (new Test("tbi021")).ok=((new com.ibm.icu.math.BigDecimal("1.0")).toBigInteger().toString()).equals("1");
+  (new Test("tbi022")).ok=((new com.ibm.icu.math.BigDecimal("1.1")).toBigInteger().toString()).equals("1");
+  (new Test("tbi023")).ok=((new com.ibm.icu.math.BigDecimal("-1.00")).toBigInteger().toString()).equals("-1");
+  (new Test("tbi024")).ok=((new com.ibm.icu.math.BigDecimal("-1.01")).toBigInteger().toString()).equals("-1");
+  (new Test("tbi025")).ok=((new com.ibm.icu.math.BigDecimal("-1.0")).toBigInteger().toString()).equals("-1");
+  (new Test("tbi026")).ok=((new com.ibm.icu.math.BigDecimal("-1.1")).toBigInteger().toString()).equals("-1");
+  (new Test("tbi027")).ok=((new com.ibm.icu.math.BigDecimal("-111.111")).toBigInteger().toString()).equals("-111");
+  (new Test("tbi028")).ok=((new com.ibm.icu.math.BigDecimal("+111.111")).toBigInteger().toString()).equals("111");
+  (new Test("tbi029")).ok=((new com.ibm.icu.math.BigDecimal("0.09")).toBigInteger().toString()).equals("0");
+  (new Test("tbi030")).ok=((new com.ibm.icu.math.BigDecimal("0.9")).toBigInteger().toString()).equals("0");
+  (new Test("tbi031")).ok=((new com.ibm.icu.math.BigDecimal("1.09")).toBigInteger().toString()).equals("1");
+  (new Test("tbi032")).ok=((new com.ibm.icu.math.BigDecimal("1.05")).toBigInteger().toString()).equals("1");
+  (new Test("tbi033")).ok=((new com.ibm.icu.math.BigDecimal("1.04")).toBigInteger().toString()).equals("1");
+  (new Test("tbi034")).ok=((new com.ibm.icu.math.BigDecimal("1.99")).toBigInteger().toString()).equals("1");
+  (new Test("tbi034")).ok=((new com.ibm.icu.math.BigDecimal("1.9")).toBigInteger().toString()).equals("1");
+  (new Test("tbi035")).ok=((new com.ibm.icu.math.BigDecimal("1.5")).toBigInteger().toString()).equals("1");
+  (new Test("tbi036")).ok=((new com.ibm.icu.math.BigDecimal("1.4")).toBigInteger().toString()).equals("1");
+  (new Test("tbi037")).ok=((new com.ibm.icu.math.BigDecimal("-1.09")).toBigInteger().toString()).equals("-1");
+  (new Test("tbi038")).ok=((new com.ibm.icu.math.BigDecimal("-1.05")).toBigInteger().toString()).equals("-1");
+  (new Test("tbi039")).ok=((new com.ibm.icu.math.BigDecimal("-1.04")).toBigInteger().toString()).equals("-1");
+  (new Test("tbi040")).ok=((new com.ibm.icu.math.BigDecimal("-1.99")).toBigInteger().toString()).equals("-1");
+  (new Test("tbi041")).ok=((new com.ibm.icu.math.BigDecimal("-1.9")).toBigInteger().toString()).equals("-1");
+  (new Test("tbi042")).ok=((new com.ibm.icu.math.BigDecimal("-1.5")).toBigInteger().toString()).equals("-1");
+  (new Test("tbi043")).ok=((new com.ibm.icu.math.BigDecimal("-1.4")).toBigInteger().toString()).equals("-1");
+  (new Test("tbi044")).ok=((new com.ibm.icu.math.BigDecimal("1E-1000")).toBigInteger().toString()).equals("0");
+  (new Test("tbi045")).ok=((new com.ibm.icu.math.BigDecimal("-1E-1000")).toBigInteger().toString()).equals("0");
+  
+  // Exact variety --
+  (new Test("tbi101")).ok=((new com.ibm.icu.math.BigDecimal("-1")).toBigIntegerExact().toString()).equals("-1");
+  (new Test("tbi102")).ok=((new com.ibm.icu.math.BigDecimal("0")).toBigIntegerExact().toString()).equals("0");
+  (new Test("tbi103")).ok=((new com.ibm.icu.math.BigDecimal("+1")).toBigIntegerExact().toString()).equals("1");
+  (new Test("tbi104")).ok=((new com.ibm.icu.math.BigDecimal("10")).toBigIntegerExact().toString()).equals("10");
+  (new Test("tbi105")).ok=((new com.ibm.icu.math.BigDecimal("1000")).toBigIntegerExact().toString()).equals("1000");
+  (new Test("tbi106")).ok=((new com.ibm.icu.math.BigDecimal("-1E+0")).toBigIntegerExact().toString()).equals("-1");
+  (new Test("tbi107")).ok=((new com.ibm.icu.math.BigDecimal("0E+0")).toBigIntegerExact().toString()).equals("0");
+  (new Test("tbi108")).ok=((new com.ibm.icu.math.BigDecimal("+1E+0")).toBigIntegerExact().toString()).equals("1");
+  (new Test("tbi109")).ok=((new com.ibm.icu.math.BigDecimal("10E+0")).toBigIntegerExact().toString()).equals("10");
+  (new Test("tbi110")).ok=((new com.ibm.icu.math.BigDecimal("1E+3")).toBigIntegerExact().toString()).equals("1000");
+  (new Test("tbi111")).ok=((new com.ibm.icu.math.BigDecimal("0.00")).toBigIntegerExact().toString()).equals("0");
+  (new Test("tbi112")).ok=((new com.ibm.icu.math.BigDecimal("0.0")).toBigIntegerExact().toString()).equals("0");
+  (new Test("tbi113")).ok=((new com.ibm.icu.math.BigDecimal("-0.00")).toBigIntegerExact().toString()).equals("0");
+  (new Test("tbi114")).ok=((new com.ibm.icu.math.BigDecimal("-0.0")).toBigIntegerExact().toString()).equals("0");
+  (new Test("tbi115")).ok=((new com.ibm.icu.math.BigDecimal("1.00")).toBigIntegerExact().toString()).equals("1");
+  (new Test("tbi116")).ok=((new com.ibm.icu.math.BigDecimal("1.0")).toBigIntegerExact().toString()).equals("1");
+  (new Test("tbi117")).ok=((new com.ibm.icu.math.BigDecimal("-1.00")).toBigIntegerExact().toString()).equals("-1");
+  (new Test("tbi118")).ok=((new com.ibm.icu.math.BigDecimal("-1.0")).toBigIntegerExact().toString()).equals("-1");
+  (new Test("tbi119")).ok=((new com.ibm.icu.math.BigDecimal("1.00000000000000000000000000000")).toBigIntegerExact().toString()).equals("1");
+  
+  // the following should all raise exceptions
+  
+  badstrings=new java.lang.String[]{"0.09","0.9","0.01","0.1","-0.01","-0.1","1.01","-1.01","-1.1","-111.111","+111.111","1.09","1.05","1.04","1.99","1.9","1.5","1.4","-1.09","-1.05","-1.04","-1.99","-1.9","-1.5","-1.4","1E-1000","-1E-1000","11E-1","1.1","127623156123656561356123512315631231551312356.000001","0.000000000000000000000000000000000000000000000001"}; // 300-303
+  // 304-307
+  // 308-311
+  // 312-316
+  // 317-320
+  // 321-324
+  // 325-328
+  // 329
+  // 330
+  
+  {int $125=badstrings.length;i=0;i:for(;$125>0;$125--,i++){
+   try{
+    (new com.ibm.icu.math.BigDecimal(badstrings[i])).toBigIntegerExact();
+    flag=false;
+   }
+   catch (java.lang.ArithmeticException $126){
+    flag=true;
+   }
+   (new Test("tbi"+(300+i))).ok=flag;
+   }
+  }/*i*/
+  
+  summary("toBigInteger+");
+ }
+
+ /* ----------------------------------------------------------------- */
+ 
+ /** Test the {@link com.ibm.icu.math.BigDecimal#toCharArray} method. */
+ 
+ public void diagtochararray(){
+  java.lang.String str;
+  char car[];
+  com.ibm.icu.math.BigDecimal d;
+  char ca[];
+  // the function of this has been tested above, this is simply an
+  // existence proof and type-check
+  str="-123.45";
+  car=(str).toCharArray();
+  d=new com.ibm.icu.math.BigDecimal(str);
+  ca=d.toCharArray();
+  (new Test("tca001")).ok=ca.length==car.length;
+  (new Test("tca002")).ok=(new java.lang.String(ca)).equals((java.lang.Object)(new java.lang.String(car)));
+  (new Test("tca003")).ok=(d.toCharArray() instanceof char[]);
+  (new Test("tca004")).ok=(ca instanceof char[]);
+  summary("toCharArray");
+ }
+
+ /* ----------------------------------------------------------------- */
+ 
+ /** Test the {@link com.ibm.icu.math.BigDecimal#toString} method. */
+ 
+ public void diagtostring(){
+  java.lang.String str;
+  char car[];
+  com.ibm.icu.math.BigDecimal d;
+  char ca[];
+  java.lang.String cs;
+  // the function of this has been tested above, this is simply an
+  // existence proof and type-check
+  str="123.45";
+  car=(str).toCharArray();
+  d=new com.ibm.icu.math.BigDecimal(car,0,car.length);
+  ca=d.toCharArray();
+  cs=d.toString();
+  (new Test("tos001")).ok=(str.toCharArray().length)==ca.length;
+  (new Test("tos002")).ok=(str.length())==(cs.length());
+  (new Test("tos003")).ok=str.equals((java.lang.Object)(new java.lang.String(ca)));
+  (new Test("tos004")).ok=str.equals((java.lang.Object)cs);
+  (new Test("tos005")).ok=(cs instanceof java.lang.String);
+  (new Test("tos006")).ok=(d.toString() instanceof java.lang.String);
+  summary("toString");
+ }
+
+ /* ----------------------------------------------------------------- */
+ 
+ /** Test the {@link com.ibm.icu.math.BigDecimal#unscaledValue} method. */
+ 
+ public void diagunscaledvalue(){
+  // just like toBigInteger, but scaly bits are preserved [without dots]
+  (new Test("uns001")).ok=((new com.ibm.icu.math.BigDecimal("-1")).unscaledValue().toString()).equals("-1");
+  (new Test("uns002")).ok=((new com.ibm.icu.math.BigDecimal("0")).unscaledValue().toString()).equals("0");
+  (new Test("uns003")).ok=((new com.ibm.icu.math.BigDecimal("+1")).unscaledValue().toString()).equals("1");
+  (new Test("uns004")).ok=((new com.ibm.icu.math.BigDecimal("10")).unscaledValue().toString()).equals("10");
+  (new Test("uns005")).ok=((new com.ibm.icu.math.BigDecimal("1000")).unscaledValue().toString()).equals("1000");
+  (new Test("uns006")).ok=((new com.ibm.icu.math.BigDecimal("-1E+0")).unscaledValue().toString()).equals("-1");
+  (new Test("uns007")).ok=((new com.ibm.icu.math.BigDecimal("0E+0")).unscaledValue().toString()).equals("0");
+  (new Test("uns008")).ok=((new com.ibm.icu.math.BigDecimal("+1E+0")).unscaledValue().toString()).equals("1");
+  (new Test("uns009")).ok=((new com.ibm.icu.math.BigDecimal("10E+0")).unscaledValue().toString()).equals("10");
+  (new Test("uns010")).ok=((new com.ibm.icu.math.BigDecimal("1E+3")).unscaledValue().toString()).equals("1000");
+  (new Test("uns011")).ok=((new com.ibm.icu.math.BigDecimal("0.00")).unscaledValue().toString()).equals("0");
+  (new Test("uns012")).ok=((new com.ibm.icu.math.BigDecimal("0.01")).unscaledValue().toString()).equals("1");
+  (new Test("uns013")).ok=((new com.ibm.icu.math.BigDecimal("0.0")).unscaledValue().toString()).equals("0");
+  (new Test("uns014")).ok=((new com.ibm.icu.math.BigDecimal("0.1")).unscaledValue().toString()).equals("1");
+  (new Test("uns015")).ok=((new com.ibm.icu.math.BigDecimal("-0.00")).unscaledValue().toString()).equals("0");
+  (new Test("uns016")).ok=((new com.ibm.icu.math.BigDecimal("-0.01")).unscaledValue().toString()).equals("-1");
+  (new Test("uns017")).ok=((new com.ibm.icu.math.BigDecimal("-0.0")).unscaledValue().toString()).equals("0");
+  (new Test("uns018")).ok=((new com.ibm.icu.math.BigDecimal("-0.1")).unscaledValue().toString()).equals("-1");
+  (new Test("uns019")).ok=((new com.ibm.icu.math.BigDecimal("1.00")).unscaledValue().toString()).equals("100");
+  (new Test("uns020")).ok=((new com.ibm.icu.math.BigDecimal("1.01")).unscaledValue().toString()).equals("101");
+  (new Test("uns021")).ok=((new com.ibm.icu.math.BigDecimal("1.0")).unscaledValue().toString()).equals("10");
+  (new Test("uns022")).ok=((new com.ibm.icu.math.BigDecimal("1.1")).unscaledValue().toString()).equals("11");
+  (new Test("uns023")).ok=((new com.ibm.icu.math.BigDecimal("-1.00")).unscaledValue().toString()).equals("-100");
+  (new Test("uns024")).ok=((new com.ibm.icu.math.BigDecimal("-1.01")).unscaledValue().toString()).equals("-101");
+  (new Test("uns025")).ok=((new com.ibm.icu.math.BigDecimal("-1.0")).unscaledValue().toString()).equals("-10");
+  (new Test("uns026")).ok=((new com.ibm.icu.math.BigDecimal("-1.1")).unscaledValue().toString()).equals("-11");
+  (new Test("uns027")).ok=((new com.ibm.icu.math.BigDecimal("-111.111")).unscaledValue().toString()).equals("-111111");
+  (new Test("uns028")).ok=((new com.ibm.icu.math.BigDecimal("+111.111")).unscaledValue().toString()).equals("111111");
+  summary("unscaledValue");
+ }
+
+ /* ----------------------------------------------------------------- */
+ 
+ /** Test the {@link com.ibm.icu.math.BigDecimal#valueOf} method [long and double]. */
+ 
+ public void diagvalueof(){
+  boolean flag=false;
+  java.lang.NumberFormatException e=null;
+  double dzer;
+  double dpos;
+  double dneg;
+  double dpos5;
+  double dneg5;
+  double dmin;
+  double dmax;
+  double d;
+  
+  // valueOf(long [,scale]) --
+  
+  (new Test("val001")).ok=(com.ibm.icu.math.BigDecimal.valueOf((long)((byte)-2)).toString()).equals("-2");
+  (new Test("val002")).ok=(com.ibm.icu.math.BigDecimal.valueOf((long)((byte)-1)).toString()).equals("-1");
+  (new Test("val003")).ok=(com.ibm.icu.math.BigDecimal.valueOf((long)((byte)-0)).toString()).equals("0");
+  (new Test("val004")).ok=(com.ibm.icu.math.BigDecimal.valueOf((long)((byte)+1)).toString()).equals("1");
+  (new Test("val005")).ok=(com.ibm.icu.math.BigDecimal.valueOf((long)((byte)+2)).toString()).equals("2");
+  (new Test("val006")).ok=(com.ibm.icu.math.BigDecimal.valueOf((long)((byte)10)).toString()).equals("10");
+  (new Test("val007")).ok=(com.ibm.icu.math.BigDecimal.valueOf((long)((byte)11)).toString()).equals("11");
+  (new Test("val008")).ok=(com.ibm.icu.math.BigDecimal.valueOf(lmin).toString()).equals("-9223372036854775808");
+  (new Test("val009")).ok=(com.ibm.icu.math.BigDecimal.valueOf(lmax).toString()).equals("9223372036854775807");
+  (new Test("val010")).ok=(com.ibm.icu.math.BigDecimal.valueOf(lneg).toString()).equals("-1");
+  (new Test("val011")).ok=(com.ibm.icu.math.BigDecimal.valueOf(lzer).toString()).equals("0");
+  (new Test("val012")).ok=(com.ibm.icu.math.BigDecimal.valueOf(lpos).toString()).equals("1");
+  (new Test("val013")).ok=(com.ibm.icu.math.BigDecimal.valueOf(lmin,0).toString()).equals("-9223372036854775808");
+  (new Test("val014")).ok=(com.ibm.icu.math.BigDecimal.valueOf(lmax,0).toString()).equals("9223372036854775807");
+  (new Test("val015")).ok=(com.ibm.icu.math.BigDecimal.valueOf(lneg,0).toString()).equals("-1");
+  (new Test("val016")).ok=(com.ibm.icu.math.BigDecimal.valueOf(lpos,0).toString()).equals("1");
+  
+  (new Test("val017")).ok=(com.ibm.icu.math.BigDecimal.valueOf(lzer,0).toString()).equals("0");
+  (new Test("val018")).ok=(com.ibm.icu.math.BigDecimal.valueOf(lzer,1).toString()).equals("0.0");
+  (new Test("val019")).ok=(com.ibm.icu.math.BigDecimal.valueOf(lzer,2).toString()).equals("0.00");
+  (new Test("val020")).ok=(com.ibm.icu.math.BigDecimal.valueOf(lzer,3).toString()).equals("0.000");
+  (new Test("val021")).ok=(com.ibm.icu.math.BigDecimal.valueOf(lzer,10).toString()).equals("0.0000000000");
+  
+  (new Test("val022")).ok=(com.ibm.icu.math.BigDecimal.valueOf(lmin,7).toString()).equals("-922337203685.4775808");
+  (new Test("val023")).ok=(com.ibm.icu.math.BigDecimal.valueOf(lmax,11).toString()).equals("92233720.36854775807");
+  
+  
+  try{checkscale:do{
+   com.ibm.icu.math.BigDecimal.valueOf((long)23,-8);
+   flag=false;
+  }while(false);}
+  catch (java.lang.NumberFormatException $127){e=$127;
+   flag=(e.getMessage()).equals("Negative scale: -8");
+  }/*checkscale*/
+  (new Test("val100")).ok=flag;
+  
+  // valueOf(double) --
+  
+  dzer=(double)0;
+  dpos=(double)1;
+  dpos=dpos/((double)10);
+  dneg=(double)-dpos;
+  (new Test("val201")).ok=(com.ibm.icu.math.BigDecimal.valueOf(dneg).toString()).equals("-0.1");
+  (new Test("val202")).ok=(com.ibm.icu.math.BigDecimal.valueOf(dzer).toString()).equals("0.0"); // cf. constructor
+  (new Test("val203")).ok=(com.ibm.icu.math.BigDecimal.valueOf(dpos).toString()).equals("0.1");
+  dpos5=(double)0.5D;
+  dneg5=(double)-dpos5;
+  (new Test("val204")).ok=(com.ibm.icu.math.BigDecimal.valueOf(dneg5).toString()).equals("-0.5");
+  (new Test("val205")).ok=(com.ibm.icu.math.BigDecimal.valueOf(dpos5).toString()).equals("0.5");
+  dmin=java.lang.Double.MIN_VALUE;
+  dmax=java.lang.Double.MAX_VALUE;
+  (new Test("val206")).ok=(com.ibm.icu.math.BigDecimal.valueOf(dmin).toString()).equals("4.9E-324");
+  (new Test("val207")).ok=(com.ibm.icu.math.BigDecimal.valueOf(dmax).toString()).equals("1.7976931348623157E+308");
+  
+  // nasties
+  d=(double)9;
+  d=d/((double)10);
+  (new Test("val210")).ok=(com.ibm.icu.math.BigDecimal.valueOf(d).toString()).equals("0.9");
+  d=d/((double)10);
+  (new Test("val211")).ok=(com.ibm.icu.math.BigDecimal.valueOf(d).toString()).equals("0.09");
+  d=d/((double)10);
+  (new Test("val212")).ok=(com.ibm.icu.math.BigDecimal.valueOf(d).toString()).equals("0.0090");
+  d=d/((double)10);
+  (new Test("val213")).ok=(com.ibm.icu.math.BigDecimal.valueOf(d).toString()).equals("9.0E-4");
+  d=d/((double)10);
+  (new Test("val214")).ok=(com.ibm.icu.math.BigDecimal.valueOf(d).toString()).equals("8.999999999999999E-5");
+  d=d/((double)10);
+  (new Test("val215")).ok=(com.ibm.icu.math.BigDecimal.valueOf(d).toString()).equals("8.999999999999999E-6");
+  d=d/((double)10);
+  (new Test("val216")).ok=(com.ibm.icu.math.BigDecimal.valueOf(d).toString()).equals("8.999999999999999E-7");
+  d=d/((double)10);
+  (new Test("val217")).ok=(com.ibm.icu.math.BigDecimal.valueOf(d).toString()).equals("8.999999999999999E-8");
+  d=d/((double)10);
+  (new Test("val218")).ok=(com.ibm.icu.math.BigDecimal.valueOf(d).toString()).equals("8.999999999999998E-9");
+  
+  try{checkpin:do{
+   com.ibm.icu.math.BigDecimal.valueOf(java.lang.Double.POSITIVE_INFINITY);
+   flag=false;
+  }while(false);}
+  catch (java.lang.NumberFormatException $128){
+   flag=true;
+  }/*checkpin*/
+  (new Test("val301")).ok=flag;
+  try{checknin:do{
+   com.ibm.icu.math.BigDecimal.valueOf(java.lang.Double.NEGATIVE_INFINITY);
+   flag=false;
+  }while(false);}
+  catch (java.lang.NumberFormatException $129){
+   flag=true;
+  }/*checknin*/
+  (new Test("val302")).ok=flag;
+  try{checknan:do{
+   com.ibm.icu.math.BigDecimal.valueOf(java.lang.Double.NaN);
+   flag=false;
+  }while(false);}
+  catch (java.lang.NumberFormatException $130){
+   flag=true;
+  }/*checknan*/
+  (new Test("val303")).ok=flag;
+  
+  summary("valueOf");
+ }
+
+ /* ----------------------------------------------------------------- */
+ 
+ /** Test the {@link com.ibm.icu.math.MathContext} class. */
+ 
+ public void diagmathcontext(){
+  com.ibm.icu.math.MathContext mccon1;
+  com.ibm.icu.math.MathContext mccon2;
+  com.ibm.icu.math.MathContext mccon3;
+  com.ibm.icu.math.MathContext mccon4;
+  com.ibm.icu.math.MathContext mcrmc;
+  com.ibm.icu.math.MathContext mcrmd;
+  com.ibm.icu.math.MathContext mcrmf;
+  com.ibm.icu.math.MathContext mcrmhd;
+  com.ibm.icu.math.MathContext mcrmhe;
+  com.ibm.icu.math.MathContext mcrmhu;
+  com.ibm.icu.math.MathContext mcrmun;
+  com.ibm.icu.math.MathContext mcrmu;
+  boolean flag=false;
+  java.lang.IllegalArgumentException e=null;
+  // these tests are mostly existence checks
+  (new Test("mcn001")).ok=(com.ibm.icu.math.MathContext.DEFAULT.getDigits())==9;
+  (new Test("mcn002")).ok=(com.ibm.icu.math.MathContext.DEFAULT.getForm())==com.ibm.icu.math.MathContext.SCIENTIFIC;
+  (new Test("mcn003")).ok=(com.ibm.icu.math.MathContext.DEFAULT.getForm())!=com.ibm.icu.math.MathContext.ENGINEERING;
+  (new Test("mcn004")).ok=(com.ibm.icu.math.MathContext.DEFAULT.getForm())!=com.ibm.icu.math.MathContext.PLAIN;
+  (new Test("mcn005")).ok=(com.ibm.icu.math.MathContext.DEFAULT.getLostDigits()?1:0)==0;
+  (new Test("mcn006")).ok=(com.ibm.icu.math.MathContext.DEFAULT.getRoundingMode())==com.ibm.icu.math.MathContext.ROUND_HALF_UP;
+  
+  (new Test("mcn010")).ok=com.ibm.icu.math.MathContext.ROUND_CEILING>=0;
+  (new Test("mcn011")).ok=com.ibm.icu.math.MathContext.ROUND_DOWN>=0;
+  (new Test("mcn012")).ok=com.ibm.icu.math.MathContext.ROUND_FLOOR>=0;
+  (new Test("mcn013")).ok=com.ibm.icu.math.MathContext.ROUND_HALF_DOWN>=0;
+  (new Test("mcn014")).ok=com.ibm.icu.math.MathContext.ROUND_HALF_EVEN>=0;
+  (new Test("mcn015")).ok=com.ibm.icu.math.MathContext.ROUND_HALF_UP>=0;
+  (new Test("mcn016")).ok=com.ibm.icu.math.MathContext.ROUND_UNNECESSARY>=0;
+  (new Test("mcn017")).ok=com.ibm.icu.math.MathContext.ROUND_UP>=0;
+  
+  mccon1=new com.ibm.icu.math.MathContext(111);
+  (new Test("mcn021")).ok=(mccon1.getDigits())==111;
+  (new Test("mcn022")).ok=(mccon1.getForm())==com.ibm.icu.math.MathContext.SCIENTIFIC;
+  (new Test("mcn023")).ok=(mccon1.getLostDigits()?1:0)==0;
+  (new Test("mcn024")).ok=(mccon1.getRoundingMode())==com.ibm.icu.math.MathContext.ROUND_HALF_UP;
+  
+  mccon2=new com.ibm.icu.math.MathContext(78,com.ibm.icu.math.MathContext.ENGINEERING);
+  (new Test("mcn031")).ok=(mccon2.getDigits())==78;
+  (new Test("mcn032")).ok=(mccon2.getForm())==com.ibm.icu.math.MathContext.ENGINEERING;
+  (new Test("mcn033")).ok=(mccon2.getLostDigits()?1:0)==0;
+  (new Test("mcn034")).ok=(mccon2.getRoundingMode())==com.ibm.icu.math.MathContext.ROUND_HALF_UP;
+  
+  mccon3=new com.ibm.icu.math.MathContext(5,com.ibm.icu.math.MathContext.PLAIN,true);
+  (new Test("mcn041")).ok=(mccon3.getDigits())==5;
+  (new Test("mcn042")).ok=(mccon3.getForm())==com.ibm.icu.math.MathContext.PLAIN;
+  (new Test("mcn043")).ok=(mccon3.getLostDigits()?1:0)==1;
+  (new Test("mcn044")).ok=(mccon3.getRoundingMode())==com.ibm.icu.math.MathContext.ROUND_HALF_UP;
+  
+  mccon4=new com.ibm.icu.math.MathContext(0,com.ibm.icu.math.MathContext.SCIENTIFIC,false,com.ibm.icu.math.MathContext.ROUND_FLOOR);
+  (new Test("mcn051")).ok=(mccon4.getDigits())==0;
+  (new Test("mcn052")).ok=(mccon4.getForm())==com.ibm.icu.math.MathContext.SCIENTIFIC;
+  (new Test("mcn053")).ok=(mccon4.getLostDigits()?1:0)==0;
+  (new Test("mcn054")).ok=(mccon4.getRoundingMode())==com.ibm.icu.math.MathContext.ROUND_FLOOR;
+  
+  (new Test("mcn061")).ok=(mccon1.toString()).equals("digits=111 form=SCIENTIFIC lostDigits=0 roundingMode=ROUND_HALF_UP");
+  
+  (new Test("mcn062")).ok=(mccon2.toString()).equals("digits=78 form=ENGINEERING lostDigits=0 roundingMode=ROUND_HALF_UP");
+  
+  (new Test("mcn063")).ok=(mccon3.toString()).equals("digits=5 form=PLAIN lostDigits=1 roundingMode=ROUND_HALF_UP");
+  
+  (new Test("mcn064")).ok=(mccon4.toString()).equals("digits=0 form=SCIENTIFIC lostDigits=0 roundingMode=ROUND_FLOOR");
+  
+  
+  // complete testing rounding modes round trips
+  mcrmc=new com.ibm.icu.math.MathContext(0,com.ibm.icu.math.MathContext.PLAIN,false,com.ibm.icu.math.MathContext.ROUND_CEILING);
+  mcrmd=new com.ibm.icu.math.MathContext(0,com.ibm.icu.math.MathContext.PLAIN,false,com.ibm.icu.math.MathContext.ROUND_DOWN);
+  mcrmf=new com.ibm.icu.math.MathContext(0,com.ibm.icu.math.MathContext.PLAIN,false,com.ibm.icu.math.MathContext.ROUND_FLOOR);
+  mcrmhd=new com.ibm.icu.math.MathContext(0,com.ibm.icu.math.MathContext.PLAIN,false,com.ibm.icu.math.MathContext.ROUND_HALF_DOWN);
+  mcrmhe=new com.ibm.icu.math.MathContext(0,com.ibm.icu.math.MathContext.PLAIN,false,com.ibm.icu.math.MathContext.ROUND_HALF_EVEN);
+  mcrmhu=new com.ibm.icu.math.MathContext(0,com.ibm.icu.math.MathContext.PLAIN,false,com.ibm.icu.math.MathContext.ROUND_HALF_UP);
+  mcrmun=new com.ibm.icu.math.MathContext(0,com.ibm.icu.math.MathContext.PLAIN,false,com.ibm.icu.math.MathContext.ROUND_UNNECESSARY);
+  mcrmu=new com.ibm.icu.math.MathContext(0,com.ibm.icu.math.MathContext.PLAIN,false,com.ibm.icu.math.MathContext.ROUND_UP);
+  
+  (new Test("mcn071")).ok=(mcrmc.toString()).equals("digits=0 form=PLAIN lostDigits=0 roundingMode=ROUND_CEILING");
+  
+  (new Test("mcn072")).ok=(mcrmd.toString()).equals("digits=0 form=PLAIN lostDigits=0 roundingMode=ROUND_DOWN");
+  
+  (new Test("mcn073")).ok=(mcrmf.toString()).equals("digits=0 form=PLAIN lostDigits=0 roundingMode=ROUND_FLOOR");
+  
+  (new Test("mcn074")).ok=(mcrmhd.toString()).equals("digits=0 form=PLAIN lostDigits=0 roundingMode=ROUND_HALF_DOWN");
+  
+  (new Test("mcn075")).ok=(mcrmhe.toString()).equals("digits=0 form=PLAIN lostDigits=0 roundingMode=ROUND_HALF_EVEN");
+  
+  (new Test("mcn076")).ok=(mcrmhu.toString()).equals("digits=0 form=PLAIN lostDigits=0 roundingMode=ROUND_HALF_UP");
+  
+  (new Test("mcn077")).ok=(mcrmun.toString()).equals("digits=0 form=PLAIN lostDigits=0 roundingMode=ROUND_UNNECESSARY");
+  
+  (new Test("mcn078")).ok=(mcrmu.toString()).equals("digits=0 form=PLAIN lostDigits=0 roundingMode=ROUND_UP");
+  
+  
+  // [get methods tested already]
+  
+  // errors...
+  
+  try{checkdig:do{
+   new com.ibm.icu.math.MathContext(-1);
+   flag=false;
+  }while(false);}
+  catch (java.lang.IllegalArgumentException $131){e=$131;
+   flag=(e.getMessage()).equals("Digits too small: -1");
+  }/*checkdig*/
+  (new Test("mcn101")).ok=flag;
+  try{checkdigbig:do{
+   new com.ibm.icu.math.MathContext(1000000000);
+   flag=false;
+  }while(false);}
+  catch (java.lang.IllegalArgumentException $132){e=$132;
+   flag=(e.getMessage()).equals("Digits too large: 1000000000");
+  }/*checkdigbig*/
+  (new Test("mcn102")).ok=flag;
+  
+  try{checkform:do{
+   new com.ibm.icu.math.MathContext(0,5);
+   flag=false;
+  }while(false);}
+  catch (java.lang.IllegalArgumentException $133){e=$133;
+   flag=(e.getMessage()).equals("Bad form value: 5");
+  }/*checkform*/
+  (new Test("mcn111")).ok=flag;
+  try{checkformneg:do{
+   new com.ibm.icu.math.MathContext(0,-1);
+   flag=false;
+  }while(false);}
+  catch (java.lang.IllegalArgumentException $134){e=$134;
+   flag=(e.getMessage()).equals("Bad form value: -1");
+  }/*checkformneg*/
+  (new Test("mcn112")).ok=flag;
+  
+  // [lostDigits cannot be invalid]
+  
+  try{checkround:do{
+   new com.ibm.icu.math.MathContext(0,com.ibm.icu.math.MathContext.PLAIN,false,12);
+   flag=false;
+  }while(false);}
+  catch (java.lang.IllegalArgumentException $135){e=$135;
+   flag=(e.getMessage()).equals("Bad roundingMode value: 12");
+  }/*checkround*/
+  (new Test("mcn121")).ok=flag;
+  try{checkroundneg:do{
+   new com.ibm.icu.math.MathContext(0,com.ibm.icu.math.MathContext.PLAIN,false,-1);
+   flag=false;
+  }while(false);}
+  catch (java.lang.IllegalArgumentException $136){e=$136;
+   flag=(e.getMessage()).equals("Bad roundingMode value: -1");
+  }/*checkroundneg*/
+  (new Test("mcn122")).ok=flag;
+  
+  summary("MathContext");
+ }
+
+ /* ----------------------------------------------------------------- */
+ 
+ /** Test general arithmetic (base operators).
+  * <p>Unlike the specific method tests, these tests were randomly
+  * generated by an IBM Object Rexx procedure, then manually corrected
+  * for known differences from ANSI X3-274.  These differences are:
+  * <ol>
+  * <li>the trigger point in exponential notation is fixed in ANSI
+  *     X3-274 but varies with DIGITS in Classic and Object Rexx
+  * <li>some trailing zeros were missing (e.g., 1.3 + 1E-60 should show
+  *     seven trailing zeros)
+  * <li>the power operator is less accurate in Object Rexx
+  * <li>ANSI X3-274 [errata 1999] rounds input numbers to DIGITS (rather
+  *     than truncating to DIGITS+1).
+  * </ol>
+  */
+ 
+ public void diagmath(){
+  com.ibm.icu.math.MathContext def;
+  def=com.ibm.icu.math.MathContext.DEFAULT;
+  mathtest(1,def,"-9375284.42","5516.99832E+27276984","5.51699832E+27276987","-5.51699832E+27276987","-5.17234284E+27276994","-1.69934516E-27276981","0","-9375284.42","6.79057752E+41");
+  mathtest(2,def,"-410.832710","99.3588243E-502740862","-410.832710","-410.832710","-4.08198550E-502740858","-4.13483868E+502740862","","","1.36977786E+26");
+  mathtest(3,def,"80025.2340","-8.03097581","80017.2030","80033.2650","-642680.718","-9964.57167","-9964","4.59102916","5.94544517E-40");
+  mathtest(4,def,"81052020.2","-464525495","-383473475","545577515","-3.76507298E+16","-0.17448347","0","81052020.2","");
+  mathtest(5,def,"715.069294E-26923151","85.4404128E+796388557","8.54404128E+796388558","-8.54404128E+796388558","6.10958157E+769465410","8.36921628E-823311708","0","7.15069294E-26923149","4.88802213E-242308334");
+  mathtest(6,def,"-21971575.0E+31454441","-70944960.3E+111238221","-7.09449603E+111238228","7.09449603E+111238228","1.55877252E+142692677","3.09698884E-79783781","0","-2.19715750E+31454448","-4.04549502E-220181139");
+  mathtest(7,def,"682.25316","54470185.6","54470867.9","-54469503.4","3.71624563E+10","0.0000125252586","0","682.25316","3.48578699E+154365541");
+  mathtest(8,def,"-257586757.","2082888.71","-255503868","-259669646","-5.36524548E+14","-123.668036","-123","-1391445.67","-1.26879515E+17519020");
+  mathtest(9,def,"319577540.E+242599761","60.7124561","3.19577540E+242599769","3.19577540E+242599769","1.94023374E+242599771","5.26378869E+242599767","","","");
+  mathtest(10,def,"-13769977.0","24371.3381","-13745605.7","-13794348.3","-3.35592765E+11","-565.007015","-565","-170.9735","-8.73734001E+173982");
+  mathtest(11,def,"-475.434972E-725464311","-3.22214066E-865476836","-4.75434972E-725464309","-4.75434972E-725464309","","1.47552519E+140012527","","","");
+  mathtest(12,def,"842.01250","197199893","197200735","-197199051","1.66044775E+11","0.00000426984258","0","842.01250","7.00674164E+576872502");
+  mathtest(13,def,"572.173103E+280128428","-7140.19428","5.72173103E+280128430","5.72173103E+280128430","-4.08542712E+280128434","-8.01341085E+280128426","","","");
+  mathtest(14,def,"674235.954E+476135291","9684.82245","6.74235954E+476135296","6.74235954E+476135296","6.52985550E+476135300","6.96177919E+476135292","","","");
+  mathtest(15,def,"-360557.921E+437116514","930428850","-3.60557921E+437116519","-3.60557921E+437116519","-3.35473492E+437116528","-3.87517993E+437116510","","","");
+  mathtest(16,def,"957165918E-394595705","1676.59073E-829618944","9.57165918E-394595697","9.57165918E-394595697","","5.70900161E+435023244","","","9.16166595E-789191393");
+  mathtest(17,def,"-2610864.40","31245912.7","28635048.3","-33856777.1","-8.15788411E+13","-0.0835585897","0","-2610864.40","-3.12008905E+200498284");
+  mathtest(18,def,"959.548461","98.994577E+776775426","9.89945770E+776775427","-9.89945770E+776775427","9.49900940E+776775430","9.69293965E-776775426","0","959.548461","6.61712185E+29");
+  mathtest(19,def,"-41085.0268","3115477.61","3074392.58","-3156562.64","-1.27999481E+11","-0.0131873927","0","-41085.0268","4.73844173E+14373829");
+  mathtest(20,def,"-723420285.","2681660.35","-720738625","-726101945","-1.93996749E+15","-269.765813","-269","-2053650.85","4.14324113E+23757873");
+  mathtest(21,def,"63542018.0E-817732230","-8836243.22","-8836243.22","8836243.22","-5.61472726E-817732216","-7.19106711E-817732230","0","6.35420180E-817732223","");
+  mathtest(22,def,"-96051.7108","-291201.955","-387253.666","195150.244","2.79704460E+10","0.329845694","0","-96051.7108","3.53617153E-1450916");
+  mathtest(23,def,"108490.853","91685996.5","91794487.4","-91577505.7","9.94709197E+12","0.00118328706","0","108490.853","6.98124265E+461675038");
+  mathtest(24,def,"-27489.1735","-9835835.4E-506411649","-27489.1735","-27489.1735","2.70378986E-506411638","2.79479804E+506411646","","","4.05866472E-45");
+  mathtest(25,def,"-89220406.6","993391.008E-611041175","-89220406.6","-89220406.6","-8.86307496E-611041162","-8.98139865E+611041176","","","3.19625913E+79");
+  mathtest(26,def,"4.75502020","-17089144.9","-17089140.2","17089149.7","-81259229.2","-2.78247989E-7","0","4.75502020","1.0630191E-11571955");
+  mathtest(27,def,"68027916.2","-796883.839","67231032.4","68824800.0","-5.42103470E+13","-85.3674185","-85","292789.885","8.29415374E-6241744");
+  mathtest(28,def,"-8.01969439E+788605478","92154156.0","-8.01969439E+788605478","-8.01969439E+788605478","-7.39048168E+788605486","-8.70247717E+788605470","","","");
+  mathtest(29,def,"-8012.98341","96188.8651","88175.8817","-104201.849","-770759780","-0.0833046881","0","-8012.98341","-1.16010156E+375502");
+  mathtest(30,def,"21761476E+592330677","-9.70744506","2.17614760E+592330684","2.17614760E+592330684","-2.11248333E+592330685","-2.24173053E+592330683","","","");
+  mathtest(31,def,"-9840778.51","-17907.219","-9858685.73","-9822871.29","1.76220976E+11","549.542534","549","-9715.279","-6.62997437E-125225");
+  mathtest(32,def,"-4.1097614","-819.225776E-145214751","-4.10976140","-4.10976140","3.36682247E-145214748","5.01664074E+145214748","","","0.0000122876018");
+  mathtest(33,def,"-448.880985","-394.087374E-442511435","-448.880985","-448.880985","1.76898329E-442511430","1.13903925E+442511435","","","2.46306099E-11");
+  mathtest(34,def,"779.445304E+882688544","-797868519","7.79445304E+882688546","7.79445304E+882688546","-6.21894870E+882688555","-9.7690946E+882688537","","","");
+  mathtest(35,def,"799995477","-6.23675208E+156309440","-6.23675208E+156309440","6.23675208E+156309440","-4.98937346E+156309449","-1.28271169E-156309432","0","799995477","3.81482667E-54");
+  mathtest(36,def,"-51932.8170","591840275E-278480289","-51932.8170","-51932.8170","-3.07359327E-278480276","-8.7748028E+278480284","","","1.96178443E+28");
+  mathtest(37,def,"70.3552392","-4228656.73","-4228586.38","4228727.09","-297508156","-0.0000166377277","0","70.3552392","9.14742382E-7811584");
+  mathtest(38,def,"1588359.34","-12232799.2","-10644439.9","13821158.5","-1.94300809E+13","-0.129844307","0","1588359.34","1.56910086E-75854960");
+  mathtest(39,def,"2842.16206","-3.23234345","2838.92972","2845.39440","-9186.84392","-879.288388","-879","0.93216745","4.35565514E-11");
+  mathtest(40,def,"29960.2305","45.2735747E-95205475","29960.2305","29960.2305","1.35640673E-95205469","6.61759773E+95205477","","","2.413936E+22");
+  mathtest(41,def,"2916565.77","1151935.43E-787118724","2916565.77","2916565.77","3.35969544E-787118712","2.53188303E+787118724","","","2916565.77");
+  mathtest(42,def,"-52723012.9E-967143787","79.4088237","79.4088237","-79.4088237","-4.18667244E-967143778","-6.63944011E-967143782","0","-5.27230129E-967143780","");
+  mathtest(43,def,"-167473465","793646.597","-166679819","-168267112","-1.32914746E+14","-211.017682","-211","-14033.033","-1.19053789E+6526910");
+  mathtest(44,def,"-31769071.0","133.4360","-31768937.6","-31769204.4","-4.23913776E+9","-238084.707","-238084","-94.3760","-5.84252432E+997");
+  mathtest(45,def,"45960.6383","-93352.7468","-47392.1085","139313.385","-4.29055183E+9","-0.492333004","0","45960.6383","1.88335323E-435248");
+  mathtest(46,def,"606.175648","5.28528458E-981983620","606.175648","606.175648","3.20381081E-981983617","1.14691203E+981983622","","","8.18450516E+13");
+  mathtest(47,def,"171578.617E+643006110","-407774.293","1.71578617E+643006115","1.71578617E+643006115","-6.99653492E+643006120","-4.20768597E+643006109","","","");
+  mathtest(48,def,"-682286332.","-464.871699","-682286797","-682285867","3.17175606E+11","1467687.39","1467687","-182.709787","-1.6050843E-4108");
+  mathtest(49,def,"492088.428","653.72170","492742.150","491434.706","321688884","752.74911","752","489.70960","3.94658596E+3722");
+  mathtest(50,def,"74303782.5","1141.68058","74304924.2","74302640.8","8.48311855E+10","65082.812","65082","926.99244","4.94849869E+8988");
+  mathtest(51,def,"74.7794084E+119375329","-34799355.6","7.47794084E+119375330","7.47794084E+119375330","-2.60227522E+119375338","-2.14887337E+119375323","","","");
+  mathtest(52,def,"-9432.08369","33735.5058","24303.4221","-43167.5895","-318196114","-0.279589218","0","-9432.08369","2.309567E+134087");
+  mathtest(53,def,"4249198.78E-112433155","418673051.","418673051","-418673051","1.77902502E-112433140","1.01492054E-112433157","0","4.24919878E-112433149","");
+  mathtest(54,def,"-2960933.02","-207933.38","-3168866.40","-2752999.64","6.15676811E+11","14.2398158","14","-49865.70","-2.75680397E-1345624");
+  mathtest(55,def,"29317.7519E+945600035","1.43555750","2.93177519E+945600039","2.93177519E+945600039","4.20873186E+945600039","2.04225549E+945600039","","","2.93177519E+945600039");
+  mathtest(56,def,"-51.1693770","-638055.414","-638106.583","638004.245","32648898.0","0.0000801958198","0","-51.1693770","-3.48266075E-1090443");
+  mathtest(57,def,"-756343055.","-68.9248344E+217100975","-6.89248344E+217100976","6.89248344E+217100976","5.21308198E+217100985","1.09734475E-217100968","0","-756343055","-7.06265897E-63");
+  mathtest(58,def,"2538.80406E+694185197","-3386499.65","2.53880406E+694185200","2.53880406E+694185200","-8.59765906E+694185206","-7.49683839E+694185193","","","");
+  mathtest(59,def,"-54344.0672","-8086.45235","-62430.5196","-46257.6149","439450710","6.72038427","6","-5825.35310","3.62916861E-38289");
+  mathtest(60,def,"3.31600054","217481648","217481651","-217481645","721169262","1.5247266E-8","0","3.31600054","3.73134969E+113224119");
+  mathtest(61,def,"681832.671","320341.161E+629467560","3.20341161E+629467565","-3.20341161E+629467565","2.18419069E+629467571","2.12845789E-629467560","0","681832.671","3.16981139E+17");
+  mathtest(62,def,"832689481","348040024E-882122501","832689481","832689481","2.89809267E-882122484","2.3925107E+882122501","","","5.77363381E+26");
+  mathtest(63,def,"14.5512326E+257500811","60.9979577E-647314724","1.45512326E+257500812","1.45512326E+257500812","8.87595471E-389813911","2.38552784E+904815534","","","");
+  mathtest(64,def,"-901.278844","449461667.","449460766","-449462568","-4.05090292E+11","-0.00000200524074","0","-901.278844","");
+  mathtest(65,def,"-5.32627675","-738860216E-238273224","-5.32627675","-5.32627675","3.93537399E-238273215","7.20877459E+238273215","","","-0.00000822306838");
+  mathtest(66,def,"-505383463.","3.18756328","-505383460","-505383466","-1.61094177E+9","-158548527","-158548527","-0.23671144","-1.29081226E+26");
+  mathtest(67,def,"769241.44E-720927320","-145382631.","-145382631","145382631","-1.11834344E-720927306","-5.29115091E-720927323","0","7.6924144E-720927315","");
+  mathtest(68,def,"-6.45038910","56736.4411E+440937167","5.67364411E+440937171","-5.67364411E+440937171","-3.65972121E+440937172","-1.13690407E-440937171","0","-6.45038910","72030.3421");
+  mathtest(69,def,"58.4721075","-712186829","-712186771","712186887","-4.16430648E+10","-8.21022028E-8","0","58.4721075","");
+  mathtest(70,def,"8244.08357","245.302828E+652007959","2.45302828E+652007961","-2.45302828E+652007961","2.02229701E+652007965","3.36077804E-652007958","0","8244.08357","67964913.9");
+  mathtest(71,def,"45.5361397","-76579063.9","-76579018.4","76579109.4","-3.48711495E+9","-5.94629098E-7","0","45.5361397","3.98335374E-126995367");
+  mathtest(72,def,"594420.54E+685263039","-952420.179","5.94420540E+685263044","5.94420540E+685263044","-5.66138117E+685263050","-6.24115861E+685263038","","","");
+  mathtest(73,def,"-841310701.","9398110.4","-831912591","-850708811","-7.90673085E+15","-89.5191337","-89","-4878875.4","1.30001466E+83877722");
+  mathtest(74,def,"904392146E-140100276","168116093.","168116093","-168116093","1.52042874E-140100259","5.37956914E-140100276","0","9.04392146E-140100268","");
+  mathtest(75,def,"-907324792E+685539670","-15.6902171","-9.07324792E+685539678","-9.07324792E+685539678","1.42361230E+685539680","5.78274211E+685539677","","","");
+  mathtest(76,def,"987013606.","-26818.3572E+560907442","-2.68183572E+560907446","2.68183572E+560907446","-2.64700834E+560907455","-3.68036565E-560907438","0","987013606","1.0399934E-27");
+  mathtest(77,def,"-741317564","630.241530E-212782946","-741317564","-741317564","-4.67209116E-212782935","-1.1762436E+212782952","","","1.65968527E+53");
+  mathtest(78,def,"61867907.2","-139204670","-77336763","201072577","-8.61230161E+15","-0.444438446","0","61867907.2","");
+  mathtest(79,def,"-273.622743E+531282717","-4543.68684","-2.73622743E+531282719","-2.73622743E+531282719","1.24325606E+531282723","6.02204229E+531282715","","","");
+  mathtest(80,def,"-383588949.","-428640583.","-812229532","45051634","1.64421791E+17","0.89489648","0","-383588949","");
+  mathtest(81,def,"-56182.2686","32.7741649","-56149.4944","-56215.0428","-1841326.94","-1714.22426","-1714","-7.3499614","-5.45476402E+156");
+  mathtest(82,def,"-6366384.30","332014.980","-6034369.32","-6698399.28","-2.11373496E+12","-19.1749911","-19","-58099.680","-3.05392399E+2258994");
+  mathtest(83,def,"-1.27897702","-8213776.03E-686519123","-1.27897702","-1.27897702","1.05052308E-686519116","1.55711212E+686519116","","","0.139668371");
+  mathtest(84,def,"65.4059036","401162145E+884155506","4.01162145E+884155514","-4.01162145E+884155514","2.62383726E+884155516","1.63041066E-884155513","0","65.4059036","18300704.1");
+  mathtest(85,def,"-20630916.8","158987411.E-480500612","-20630916.8","-20630916.8","-3.28005605E-480500597","-1.29764468E+480500611","","","4.25634728E+14");
+  mathtest(86,def,"-4.72705853","-97626742.4","-97626747.1","97626737.7","461487325","4.84197097E-8","0","-4.72705853","2.92654449E-65858120");
+  mathtest(87,def,"8.43528169","-4573.45752","-4565.02224","4581.89280","-38578.4025","-0.00184439927","0","8.43528169","8.84248688E-4236");
+  mathtest(88,def,"1.91075189","-704247089.","-704247087","704247091","-1.34564146E+9","-2.71318394E-9","0","1.91075189","6.84547494E-198037309");
+  mathtest(89,def,"31997198E-551746308","326.892584","326.892584","-326.892584","1.04596467E-551746298","9.78829119E-551746304","0","3.1997198E-551746301","");
+  mathtest(90,def,"127589.213","84184304.","84311893.2","-84056714.8","1.07410091E+13","0.00151559385","0","127589.213","2.87917042E+429829394");
+  mathtest(91,def,"714494248","-7025063.59","707469185","721519312","-5.01936753E+15","-101.706446","-101","4962825.41","1.65018516E-62199908");
+  mathtest(92,def,"-52987680.2E+279533503","-42014114.8","-5.29876802E+279533510","-5.29876802E+279533510","2.22623048E+279533518","1.26118759E+279533503","","","");
+  mathtest(93,def,"-8795.0513","-225294.394E-884414238","-8795.05130","-8795.05130","1.98147575E-884414229","3.90380388E+884414236","","","1.2927759E-8");
+  mathtest(94,def,"83280.1394","161566354.","161649634","-161483074","1.34552685E+13","0.000515454718","0","83280.1394","5.30774809E+794993940");
+  mathtest(95,def,"112.877897","-9.96481666","102.913080","122.842714","-1124.80755","-11.3276441","-11","3.26491374","2.97790545E-21");
+  mathtest(96,def,"-572542.121E+847487397","433.843420","-5.72542121E+847487402","-5.72542121E+847487402","-2.48393632E+847487405","-1.3196976E+847487400","","","");
+  mathtest(97,def,"4709649.89","20949266.4","25658916.3","-16239616.5","9.86637102E+13","0.224812163","0","4709649.89","4.85293644E+139794213");
+  mathtest(98,def,"-9475.19322","-30885.2475E+584487341","-3.08852475E+584487345","3.08852475E+584487345","2.92643688E+584487349","3.06787026E-584487342","0","-9475.19322","-1.17553557E-12");
+  mathtest(99,def,"-213230447.","864.815822E+127783046","8.64815822E+127783048","-8.64815822E+127783048","-1.84405064E+127783057","-2.46561686E-127783041","0","-213230447","-9.11261361E+74");
+  mathtest(100,def,"-89.1168786E+403375873","6464.05744","-8.91168786E+403375874","-8.91168786E+403375874","-5.76056622E+403375878","-1.37865233E+403375871","","","");
+  mathtest(101,def,"61774.4958","-14000.7706","47773.7252","75775.2664","-864890545","-4.41222112","-4","5771.4134","7.59030407E-67077");
+  mathtest(102,def,"1.60731414","7.04330293E-427033419","1.60731414","1.60731414","1.13208004E-427033418","2.28204602E+427033418","","","27.7143921");
+  mathtest(103,def,"7955012.51","-230117662.","-222162650","238072675","-1.83058888E+15","-0.0345693261","0","7955012.51","");
+  mathtest(104,def,"4086661.08","1.77621994","4086662.86","4086659.30","7258808.90","2300762.98","2300762","1.73840572","1.67007988E+13");
+  mathtest(105,def,"-610.076931","-207.658306","-817.735237","-402.418625","126687.542","2.93788841","2","-194.760319","4.36518377E-580");
+  mathtest(106,def,"-98.6353697","-99253.3899E-716309653","-98.6353697","-98.6353697","9.78989481E-716309647","9.93773309E+716309649","","","1.14729007E-20");
+  mathtest(107,def,"-959923730","409.125542E-900295528","-959923730","-959923730","-3.92729316E-900295517","-2.3462816E+900295534","","","8.49076677E+35");
+  mathtest(108,def,"379965133","-8.15869657","379965125","379965141","-3.10002023E+9","-46571793.6","-46571793","5.19214999","2.30170697E-69");
+  mathtest(109,def,"833.646797","1389499.46E-443407251","833.646797","833.646797","1.15835177E-443407242","5.99961944E+443407247","","","833.646797");
+  mathtest(110,def,"2314933.4E-646489194","-7401538.17","-7401538.17","7401538.17","-1.71340679E-646489181","-3.12763826E-646489195","0","2.3149334E-646489188","");
+  mathtest(111,def,"808525347","-5959.74667E+58232168","-5.95974667E+58232171","5.95974667E+58232171","-4.81860624E+58232180","-1.35664382E-58232163","0","808525347","3.5796302E-54");
+  mathtest(112,def,"-17220490.6E+726428704","19.9855688","-1.72204906E+726428711","-1.72204906E+726428711","-3.44161300E+726428712","-8.61646259E+726428709","","","");
+  mathtest(113,def,"59015.9705","-72070405.4E+322957279","-7.20704054E+322957286","7.20704054E+322957286","-4.25330492E+322957291","-8.18865527E-322957283","0","59015.9705","4.01063488E-34");
+  mathtest(114,def,"16411470E+578192008","497470.005E-377473621","1.64114700E+578192015","1.64114700E+578192015","8.16421406E+200718399","3.29898684E+955665630","","","");
+  mathtest(115,def,"-107.353544E+609689808","-659.50136E-456711743","-1.07353544E+609689810","-1.07353544E+609689810","7.07998083E+152978069","","","","");
+  mathtest(116,def,"786.134163","-53.0292275E-664419768","786.134163","786.134163","-4.16880874E-664419764","-1.48245449E+664419769","","","3.33055532E-15");
+  mathtest(117,def,"23.5414714","5000786.91","5000810.45","-5000763.37","117725882","0.0000047075534","0","23.5414714","4.4895618E+6860247");
+  mathtest(118,def,"-69775.6113","561292120.","561222344","-561361896","-3.91645008E+13","-0.000124312473","0","-69775.6113","");
+  mathtest(119,def,"919043.871","-71606613.7","-70687569.8","72525657.6","-6.58096194E+13","-0.0128346227","0","919043.871","3.05862429E-427014317");
+  mathtest(120,def,"-27667.1915","-293455.107E-789181924","-27667.1915","-27667.1915","8.11907864E-789181915","9.42808315E+789181922","","","-4.72176938E-14");
+  mathtest(121,def,"-908603625.","-982.409273E+449441134","-9.82409273E+449441136","9.82409273E+449441136","8.92620627E+449441145","9.2487281E-449441129","0","-908603625","2.60768632E-90");
+  mathtest(122,def,"847.113351","5.71511268","852.828464","841.398238","4841.34825","148.223386","148","1.27667436","3.69529538E+17");
+  mathtest(123,def,"-992140475","3.82918218","-992140471","-992140479","-3.79908663E+9","-259099836","-259099836","-0.14787752","9.68930595E+35");
+  mathtest(124,def,"-12606437.5","268123145E+362798858","2.68123145E+362798866","-2.68123145E+362798866","-3.38007767E+362798873","-4.70173416E-362798860","0","-12606437.5","-2.00344362E+21");
+  mathtest(125,def,"3799470.64","-264.703992","3799205.94","3799735.34","-1.00573505E+9","-14353.6583","-14353","174.242824","2.3625466E-1744");
+  mathtest(126,def,"-8.11070247","-931284056.E-654288974","-8.11070247","-8.11070247","7.55336789E-654288965","8.70916067E+654288965","","","-6.58375662E-9");
+  mathtest(127,def,"-242660177.","-6.09832715E-943742415","-242660177","-242660177","1.47982115E-943742406","3.97912692E+943742422","","","4.89788901E-51");
+  mathtest(128,def,"76.1463803","-45.6758006E-636907996","76.1463803","76.1463803","-3.47804688E-636907993","-1.66710554E+636907996","","","3.90619287E-10");
+  mathtest(129,def,"761185.862","-70878470.9E+221214712","-7.08784709E+221214719","7.08784709E+221214719","-5.39516900E+221214725","-1.07393099E-221214714","0","761185.862","6.75406144E-42");
+  mathtest(130,def,"6203606.54","-195.92748E-833512061","6203606.54","6203606.54","-1.21545700E-833512052","-3.1662769E+833512065","","","2.59843292E-14");
+  mathtest(131,def,"-163274837.","95.0448550E+887876533","9.50448550E+887876534","-9.50448550E+887876534","-1.55184332E+887876543","-1.71787139E-887876527","0","-163274837","1.34645731E+82");
+  mathtest(132,def,"2.38638190","-807986179.","-807986177","807986181","-1.92816359E+9","-2.95349347E-9","0","2.38638190","1.19029305E-305208656");
+  mathtest(133,def,"-109022296E-811981158","7.19685680","7.19685680","-7.19685680","-7.84617852E-811981150","-1.51485988E-811981151","0","-1.09022296E-811981150","");
+  mathtest(134,def,"-559250.780E-273710421","-393780811.","-393780811","393780811","2.20222226E-273710407","1.42020831E-273710424","0","-5.59250780E-273710416","");
+  mathtest(135,def,"-88021.9966E+555334642","7599686.64E+818884053","7.59968664E+818884059","-7.59968664E+818884059","","-1.15823192E-263549413","0","-8.80219966E+555334646","");
+  mathtest(136,def,"194.317648E-197450009","-930.979064","-930.979064","930.979064","-1.80905662E-197450004","-2.08723972E-197450010","0","1.94317648E-197450007","");
+  mathtest(137,def,"9495479.65","7405697.96","16901177.6","2089781.69","7.03206543E+13","1.28218565","1","2089781.69","1.0135446E+51673383");
+  mathtest(138,def,"-1656.28925","-163050511E-682882380","-1656.28925","-1656.28925","2.70058809E-682882369","1.01581359E+682882375","","","3.64525265E-7");
+  mathtest(139,def,"95581.3784E+64262149","-99.2879365","9.55813784E+64262153","9.55813784E+64262153","-9.49007783E+64262155","-9.62668596E+64262151","","","");
+  mathtest(140,def,"643761.452","3.73446939","643765.186","643757.718","2404107.44","172383.647","172383","2.41514363","1.71751236E+23");
+  mathtest(141,def,"7960.49866E-129827423","3220.22850","3220.22850","-3220.22850","2.56346247E-129827416","2.47202913E-129827423","0","7.96049866E-129827420","");
+  mathtest(142,def,"-6356.64112E-707203818","1805054.98","1805054.98","-1805054.98","-1.14740867E-707203808","-3.52157756E-707203821","0","-6.35664112E-707203815","");
+  mathtest(143,def,"2.3904042","8476.52006","8478.91046","-8474.12966","20262.3092","0.000282003013","0","2.3904042","2.00251752E+3208");
+  mathtest(144,def,"-713298.658","-957.782729","-714256.441","-712340.875","683185135","744.739528","744","-708.307624","3.68122321E-5608");
+  mathtest(145,def,"607779233.E-820497365","-20.1188742E-857318323","6.07779233E-820497357","6.07779233E-820497357","","-3.02094057E+36820965","","","");
+  mathtest(146,def,"-205888251","-908.792922E+250680613","-9.08792922E+250680615","9.08792922E+250680615","1.87109785E+250680624","2.26551336E-250680608","0","-205888251","-1.5042358E-75");
+  mathtest(147,def,"51542399.1","-23212.2414","51519186.9","51565611.3","-1.19641461E+12","-2220.4835","-2220","11223.1920","1.71641348E-179015");
+  mathtest(148,def,"4.44287230","158923023","158923027","-158923019","706074697","2.79561275E-8","0","4.44287230","7.12573416E+102928693");
+  mathtest(149,def,"-79123682.6","-3.8571770","-79123686.5","-79123678.8","305194049","20513365.8","20513365","-2.9293950","2.55137345E-32");
+  mathtest(150,def,"-80.3324347E-569715030","883142.351","883142.351","-883142.351","-7.09449752E-569715023","-9.09620455E-569715035","0","-8.03324347E-569715029","");
+  mathtest(151,def,"13637.483","-52798.5631","-39161.0801","66436.0461","-720039507","-0.258292692","0","13637.483","1.47163791E-218310");
+  mathtest(152,def,"6.42934843E-276476458","84057440.0E-388039782","6.42934843E-276476458","6.42934843E-276476458","5.40434570E-664516232","7.64875593E+111563316","","","");
+  mathtest(153,def,"-5.64133087","-17401297.","-17401302.6","17401291.4","98166473.9","3.24190253E-7","0","-5.64133087","-1.25908916E-13075014");
+  mathtest(154,def,"95469.7057E+865733824","198.829749","9.54697057E+865733828","9.54697057E+865733828","1.89822176E+865733831","4.80158056E+865733826","","","");
+  mathtest(155,def,"-416466.209","-930153427","-930569893","929736961","3.87377472E+14","0.000447739262","0","-416466.209","");
+  mathtest(156,def,"-1541733.85","-1.99208708","-1541735.84","-1541731.86","3071268.08","773928.944","773928","-1.88034976","4.20708401E-13");
+  mathtest(157,def,"-39152691.8","-645131748.","-684284440","605979056","2.52586445E+16","0.0606894513","0","-39152691.8","");
+  mathtest(158,def,"113.939979","-58282550.4","-58282436.5","58282664.3","-6.64071257E+9","-0.0000019549587","0","113.939979","2.106557E-119868330");
+  mathtest(159,def,"-324971.736","-9517.15154","-334488.888","-315454.585","3.09280526E+9","34.1459033","34","-1388.58364","-5.82795263E-52457");
+  mathtest(160,def,"-76.9436744","-9548122.75E-273599728","-76.9436744","-76.9436744","7.34667648E-273599720","8.05851332E+273599722","","","1.37489895E-19");
+  mathtest(161,def,"-430393.282","-70.2551505","-430463.537","-430323.027","30237344.8","6126.14561","6126","-10.2300370","4.26006409E-395");
+  mathtest(162,def,"-3308051.90","-349433799.E+397813188","-3.49433799E+397813196","3.49433799E+397813196","1.15594514E+397813203","9.46689161E-397813191","0","-3308051.90","-2.76237768E-20");
+  mathtest(163,def,"23.1543212E-655822712","5848.20853","5848.20853","-5848.20853","1.35411299E-655822707","3.95921607E-655822715","0","2.31543212E-655822711","");
+  mathtest(164,def,"-174.261308E-82902077","-200096204.","-200096204","200096204","3.48690262E-82902067","8.70887626E-82902084","0","-1.74261308E-82902075","");
+  mathtest(165,def,"-50669105.2","9105789.01E+609889700","9.10578901E+609889706","-9.10578901E+609889706","-4.61382181E+609889714","-5.56449366E-609889700","0","-50669105.2","-2.20135008E+69");
+  mathtest(166,def,"424768856.","-971.71757","424767884","424769828","-4.12755361E+11","-437132.012","-437132","11.19076","2.72651473E-8387");
+  mathtest(167,def,"7181.2767","999117.918","1006299.19","-991936.641","7.17494223E+9","0.00718761677","0","7181.2767","3.09655124E+3852800");
+  mathtest(168,def,"8096417.07E-433694528","-68.4863363","-68.4863363","68.4863363","-5.54493942E-433694520","-1.18219451E-433694523","0","8.09641707E-433694522","");
+  mathtest(169,def,"1236287.5","-7119.97299E-176200498","1236287.50","1236287.50","-8.80233361E-176200489","-1.73636544E+176200500","","","2.26549784E-43");
+  mathtest(170,def,"-752995833E-654401067","-15.2736930E+803939983","-1.52736930E+803939984","1.52736930E+803939984","1.15010272E+149538926","","0","-7.52995833E-654401059","");
+  mathtest(171,def,"702992.459","-312.689474","702679.770","703305.148","-219818342","-2248.21274","-2248","66.521448","8.02493322E-1831");
+  mathtest(172,def,"-4414.38805","-17680.4630E-584364536","-4414.38805","-4414.38805","7.80484246E-584364529","2.49676044E+584364535","","","5.13167312E-8");
+  mathtest(173,def,"9.46350807","7826.65424","7836.11775","-7817.19073","74067.6056","0.00120913839","0","9.46350807","3.63271495E+7639");
+  mathtest(174,def,"2078153.7","-16934607.3E+233594439","-1.69346073E+233594446","1.69346073E+233594446","-3.51927168E+233594452","-1.2271638E-233594440","0","2078153.7","2.31549939E-13");
+  mathtest(175,def,"-9359.74629","7.07761788E+252457696","7.07761788E+252457696","-7.07761788E+252457696","-6.62447077E+252457700","-1.32244301E-252457693","0","-9359.74629","-6.29286677E+27");
+  mathtest(176,def,"66.2319284E+730468479","25.9391685E+221147044","6.62319284E+730468480","6.62319284E+730468480","1.71800115E+951615526","2.55335588E+509321435","","","");
+  mathtest(177,def,"317997088.E-90968742","-977426.461","-977426.461","977426.461","-3.10818768E-90968728","-3.2534119E-90968740","0","3.17997088E-90968734","");
+  mathtest(178,def,"227473386","-6759.61390","227466626","227480146","-1.53763226E+12","-33651.8312","-33651","5618.65110","1.40992627E-56493");
+  mathtest(179,def,"-392019.462","-245456.503","-637475.965","-146562.959","9.62237263E+10","1.59710359","1","-146562.959","-3.08656533E-1372917");
+  mathtest(180,def,"-3619556.28E+587673583","-3.45236972","-3.61955628E+587673589","-3.61955628E+587673589","1.24960465E+587673590","1.04842661E+587673589","","","");
+  mathtest(181,def,"-249.400704E-923930848","831102.919","831102.919","-831102.919","-2.07277653E-923930840","-3.00084019E-923930852","0","-2.49400704E-923930846","");
+  mathtest(182,def,"65234.2739E+154949914","-694581895","6.52342739E+154949918","6.52342739E+154949918","-4.53105456E+154949927","-9.39187652E+154949909","","","");
+  mathtest(183,def,"45.2316213","-88775083.4","-88775038.2","88775128.6","-4.01544095E+9","-5.09508069E-7","0","45.2316213","1.92314254E-146962015");
+  mathtest(184,def,"331100375.","442.343378","331100817","331099933","1.46460058E+11","748514.37","748514","163.759708","6.64011043E+3765");
+  mathtest(185,def,"81.8162765","5.61239515E+467372163","5.61239515E+467372163","-5.61239515E+467372163","4.59185273E+467372165","1.45777826E-467372162","0","81.8162765","2.99942677E+11");
+  mathtest(186,def,"-5738.13069E+789464078","33969715.0","-5.73813069E+789464081","-5.73813069E+789464081","-1.94922664E+789464089","-1.68919012E+789464074","","","");
+  mathtest(187,def,"-7413.03911","2.70630320E-254858264","-7413.03911","-7413.03911","-2.00619315E-254858260","-2.73917539E+254858267","","","-4.07369842E+11");
+  mathtest(188,def,"-417696.182","27400.6002","-390295.582","-445096.782","-1.14451261E+10","-15.2440523","-15","-6687.1790","-1.58020334E+154017");
+  mathtest(189,def,"68.8538735E+655647287","3198.17933E-132454826","6.88538735E+655647288","6.88538735E+655647288","2.20207035E+523192466","2.15290846E+788102111","","","");
+  mathtest(190,def,"-6817.04246","434420.439","427603.397","-441237.481","-2.96146258E+9","-0.0156922692","0","-6817.04246","5.94143518E+1665390");
+  mathtest(191,def,"8578.27511","647042.341E-490924334","8578.27511","8578.27511","5.55050721E-490924325","1.3257672E+490924332","","","3.98473846E+23");
+  mathtest(192,def,"4124.11615E+733109424","597385828E+375928745","4.12411615E+733109427","4.12411615E+733109427","","6.9036056E+357180673","","","");
+  mathtest(193,def,"102.714400","-919017.468","-918914.754","919120.182","-94396327.8","-0.000111765449","0","102.714400","4.04295689E-1848724");
+  mathtest(194,def,"-4614.33015E+996778733","-433.560812E+22860599","-4.61433015E+996778736","-4.61433015E+996778736","","1.06428672E+973918135","","","");
+  mathtest(195,def,"457455170.","3709230.48E+677010879","3.70923048E+677010885","-3.70923048E+677010885","1.69680666E+677010894","1.23328861E-677010877","0","457455170","4.37919376E+34");
+  mathtest(196,def,"-2522468.15","-48482043.5","-51004511.7","45959575.4","1.22294411E+14","0.0520289156","0","-2522468.15","1.42348178E-310373595");
+  mathtest(197,def,"-659811384","62777.6118","-659748606","-659874162","-4.14213829E+13","-10510.2976","-10510","-18683.9820","3.4393524E+553665");
+  mathtest(198,def,"4424.94176","-825848.20","-821423.258","830273.142","-3.65433019E+9","-0.00535805704","0","4424.94176","3.42152775E-3010966");
+  mathtest(199,def,"43.6441884","-6509.89663E-614169377","43.6441884","43.6441884","-2.84119155E-614169372","-6.70428286E+614169374","","","3.31524056E-12");
+  mathtest(200,def,"897.388381E-843864876","84195.1369","84195.1369","-84195.1369","7.55557376E-843864869","1.06584348E-843864878","0","8.97388381E-843864874","");
+  mathtest(201,def,"796199825","496.76834","796200322","796199328","3.95526865E+11","1602758.79","1602758","393.91828","6.42647264E+4423");
+  mathtest(202,def,"573583582","1598.69521","573585181","573581983","9.16985325E+11","358782.323","358782","517.16578","9.91156302E+14004");
+  mathtest(203,def,"-783144270.","6347.71496","-783137922","-783150618","-4.97117660E+12","-123374.202","-123374","-1284.52496","1.28110803E+56458");
+  mathtest(204,def,"26909234.7","52411.5081","26961646.2","26856823.2","1.41035357E+12","513.422255","513","22131.0447","9.75836528E+389415");
+  mathtest(205,def,"8.21915282","24859.7841E-843282959","8.21915282","8.21915282","2.04326365E-843282954","3.30620443E+843282955","","","67.5544731");
+  mathtest(206,def,"-688.387710","82783.5207E-831870858","-688.387710","-688.387710","-5.69871582E-831870851","-8.31551623E+831870855","","","5.04272012E+22");
+  mathtest(207,def,"-9792232.","-1749.01166","-9793981.01","-9790482.99","1.71267279E+10","5598.72311","5598","-1264.72732","-8.86985674E-12228");
+  mathtest(208,def,"-130.765600","8.67437427","-122.091226","-139.439974","-1134.30976","-15.0749317","-15","-0.64998595","-1.11799947E+19");
+  mathtest(209,def,"917.259102","-368640.426","-367723.167","369557.685","-338138786","-0.00248822169","0","917.259102","8.67104255E-1092094");
+  mathtest(210,def,"-4.9725631","-294563717.","-294563722","294563712","1.46473667E+9","1.6881112E-8","0","-4.9725631","-6.27962584E-205187284");
+  mathtest(211,def,"-60962887.2E-514249661","-243021.407","-243021.407","243021.407","1.48152866E-514249648","2.5085398E-514249659","0","-6.09628872E-514249654","");
+  mathtest(212,def,"-55389219.8","-3772200E+981866393","-3.77220000E+981866399","3.77220000E+981866399","2.08939215E+981866407","1.46835321E-981866392","0","-55389219.8","1.06242678E-31");
+  mathtest(213,def,"681.666010","626886700","626887382","-626886018","4.27327356E+11","0.00000108738311","0","681.666010","");
+  mathtest(214,def,"6.42652138","53465894.5","53465900.9","-53465888.1","343599714","1.2019852E-7","0","6.42652138","4.61155532E+43199157");
+  mathtest(215,def,"561546656","651408.476","562198064","560895248","3.65796251E+14","862.049968","862","32549.688","8.6052377E+5699419");
+  mathtest(216,def,"7845778.36E-79951139","9.45859047","9.45859047","-9.45859047","7.42100044E-79951132","8.29487056E-79951134","0","7.84577836E-79951133","1.12648216E-719560189");
+  mathtest(217,def,"54486.2112","10.7565078","54496.9677","54475.4547","586081.356","5065.41828","5065","4.4991930","1.25647168E+52");
+  mathtest(218,def,"16576482.5","-2217720.83","14358761.7","18794203.3","-3.67620105E+13","-7.47455779","-7","1052436.69","1.38259374E-16010820");
+  mathtest(219,def,"61.2793787E-392070111","6.22575651","6.22575651","-6.22575651","3.81510491E-392070109","9.84288072E-392070111","0","6.12793787E-392070110","");
+  mathtest(220,def,"5115136.39","-653674372.","-648559236","658789508","-3.34363357E+15","-0.00782520565","0","5115136.39","");
+  mathtest(221,def,"-7.84238366E-416477339","-37432758.9E+97369393","-3.74327589E+97369400","3.74327589E+97369400","2.93562057E-319107938","2.09505895E-513846739","0","-7.84238366E-416477339","");
+  mathtest(222,def,"-387781.3E+284108380","-218085.592","-3.87781300E+284108385","-3.87781300E+284108385","8.45695144E+284108390","1.77811517E+284108380","","","");
+  mathtest(223,def,"-5353.17736","3.39332346E+546685359","3.39332346E+546685359","-3.39332346E+546685359","-1.81650623E+546685363","-1.57756177E-546685356","0","-5353.17736","-1.53403369E+11");
+  mathtest(224,def,"-20837.2900E-168652772","-8236.78305E-712819173","-2.08372900E-168652768","-2.08372900E-168652768","1.71632237E-881471937","2.52978497E+544166401","","","");
+  mathtest(225,def,"-98573.8722E+829022366","309011.007","-9.85738722E+829022370","-9.85738722E+829022370","-3.04604115E+829022376","-3.18997932E+829022365","","","");
+  mathtest(226,def,"49730750.7","-5315.10636E-299586991","49730750.7","49730750.7","-2.64324229E-299586980","-9.35649211E+299586994","","","3.28756936E-39");
+  mathtest(227,def,"1539523.40","-962388.581","577134.82","2501911.98","-1.48161974E+12","-1.59969001","-1","577134.819","3.10144834E-5954673");
+  mathtest(228,def,"81596.2121","-37600.9653","43995.2468","119197.177","-3.06809634E+9","-2.17005631","-2","6394.2815","1.97878299E-184684");
+  mathtest(229,def,"590146199","-1425404.61","588720794","591571604","-8.41197113E+14","-414.020128","-414","28690.46","2.04650994E-12502170");
+  mathtest(230,def,"196.05543","505.936305","701.991735","-309.880875","99191.5598","0.387510104","0","196.05543","8.78437397E+1159");
+  mathtest(231,def,"77.8058449","-642.275274","-564.469429","720.081119","-49972.7704","-0.121140963","0","77.8058449","9.33582626E-1215");
+  mathtest(232,def,"1468.60684","10068.138","11536.7448","-8599.5312","14786136.3","0.145866777","0","1468.60684","2.54122484E+31884");
+  mathtest(233,def,"4.98774767E-387968632","4.41731439E-578812376","4.98774767E-387968632","4.98774767E-387968632","2.20324496E-966781007","1.12913577E+190843744","","","");
+  mathtest(234,def,"981.091059","-92238.9930","-91257.9020","93220.0841","-90494851.3","-0.0106364025","0","981.091059","5.29943342E-275953");
+  mathtest(235,def,"-3606.24992","8290224.70","8286618.45","-8293830.95","-2.98966222E+10","-0.000435000262","0","-3606.24992","-1.23747107E+29488793");
+  mathtest(236,def,"-8978571.35","92243.4796","-8886327.87","-9070814.83","-8.28214663E+11","-97.3355666","-97","-30953.8288","-4.95762813E+641384");
+  mathtest(237,def,"-61968.1992E+810060478","474294671.E+179263414","-6.19681992E+810060482","-6.19681992E+810060482","-2.93911867E+989323905","-1.30653374E+630797060","","","");
+  mathtest(238,def,"61298431.6E-754429041","-2584862.79","-2584862.79","2584862.79","-1.58448035E-754429027","-2.37143851E-754429040","0","6.12984316E-754429034","");
+  mathtest(239,def,"621039.064","-5351539.62","-4730500.56","5972578.68","-3.32351516E+12","-0.116048672","0","621039.064","2.41163312E-31002108");
+  mathtest(240,def,"-19.6007605","-57905696.","-57905715.6","57905676.4","1.13499568E+9","3.38494515E-7","0","-19.6007605","1.05663646E-74829963");
+  mathtest(241,def,"3626.13109E+687030346","189.896004","3.62613109E+687030349","3.62613109E+687030349","6.88587804E+687030351","1.90953523E+687030347","","","");
+  mathtest(242,def,"-249334.026","-7.54735834E-14137188","-249334.026","-249334.026","1.88181324E-14137182","3.30359332E+14137192","","","6.69495408E-44");
+  mathtest(243,def,"417613928.","-925213.216","416688715","418539141","-3.86381925E+14","-451.370474","-451","342767.584","8.38430085E-7976054");
+  mathtest(244,def,"23.8320309","-50074996.1","-50074972.3","50075019.9","-1.19338885E+9","-4.75926765E-7","0","23.8320309","5.81466387E-68961335");
+  mathtest(245,def,"49789677.7","-131827812E+156412534","-1.31827812E+156412542","1.31827812E+156412542","-6.56366427E+156412549","-3.77687204E-156412535","0","49789677.7","2.00844843E-8");
+  mathtest(246,def,"-8907163.61E-741867246","773651.288E-472033282","7.73651288E-472033277","-7.73651288E-472033277","","-1.15131504E-269833963","0","-8.90716361E-741867240","");
+  mathtest(247,def,"514021711.E+463536646","617441659.","5.14021711E+463536654","5.14021711E+463536654","3.17378418E+463536663","8.32502478E+463536645","","","");
+  mathtest(248,def,"998175750","2.39285478","998175752","998175748","2.38848961E+9","417148487","417148486","1.30513692","9.96354828E+17");
+  mathtest(249,def,"873575426.","647853.152E+497450781","6.47853152E+497450786","-6.47853152E+497450786","5.65948593E+497450795","1.3484158E-497450778","0","873575426","4.44429064E+53");
+  mathtest(250,def,"4352626.8","-130338048.E-744560911","4352626.80","4352626.80","-5.67312881E-744560897","-3.33949055E+744560909","","","2.29746322E-7");
+  mathtest(251,def,"437.286960","7.37560835","444.662568","429.911352","3225.25735","59.2882565","59","2.12606735","3.05749452E+18");
+  mathtest(252,def,"8498280.45E+220511522","588617612","8.49828045E+220511528","8.49828045E+220511528","5.00223754E+220511537","1.44376931E+220511520","","","");
+  mathtest(253,def,"-5320387.77","-7673237.46","-12993625.2","2352849.69","4.08245987E+13","0.693369363","0","-5320387.77","-1.30113745E-51609757");
+  mathtest(254,def,"587655375","-4.9748366","587655370","587655380","-2.92348947E+9","-118125563","-118125563","0.7919942","1.42687667E-44");
+  mathtest(255,def,"1266098.44","-2661.64904E-642601142","1266098.44","1266098.44","-3.36990970E-642601133","-4.75681963E+642601144","","","4.92717036E-19");
+  mathtest(256,def,"3.92737463E+482873483","-685.522747","3.92737463E+482873483","3.92737463E+482873483","-2.69230464E+482873486","-5.72902161E+482873480","","","");
+  mathtest(257,def,"22826494.1","986189474.","1.00901597E+9","-963362980","2.25112482E+16","0.0231461547","0","22826494.1","");
+  mathtest(258,def,"-647342.380","-498816386","-499463728","498169044","3.22904986E+14","0.00129775685","0","-647342.380","");
+  mathtest(259,def,"393092373.","-25.7226822","393092347","393092399","-1.01113902E+10","-15281935.6","-15281935","15.5939430","3.49252839E-224");
+  mathtest(260,def,"2.96253492","20.7444888","23.7070237","-17.7819539","61.4562725","0.142810698","0","2.96253492","8.03402246E+9");
+  mathtest(261,def,"53553.3750E+386955423","-732470876","5.35533750E+386955427","5.35533750E+386955427","-3.92262875E+386955436","-7.31133165E+386955418","","","");
+  mathtest(262,def,"-696451.406E-286535917","-73086090.8","-73086090.8","73086090.8","5.09009107E-286535904","9.52919219E-286535920","0","-6.96451406E-286535912","");
+  mathtest(263,def,"1551.29957","-580358622.E+117017265","-5.80358622E+117017273","5.80358622E+117017273","-9.00310081E+117017276","-2.67300168E-117017271","0","1551.29957","7.17506711E-20");
+  mathtest(264,def,"-205123006.E-213752799","-78638468.6","-78638468.6","78638468.6","1.61305591E-213752783","2.60843083E-213752799","0","-2.05123006E-213752791","");
+  mathtest(265,def,"77632.8073","-3378542.88E+677441319","-3.37854288E+677441325","3.37854288E+677441325","-2.62285768E+677441330","-2.29781921E-677441321","0","77632.8073","2.13729331E-15");
+  mathtest(266,def,"3068999.37","2.21006212","3069001.58","3068997.16","6782679.25","1388648.46","1388648","1.02718624","9.41875713E+12");
+  mathtest(267,def,"625524274.","55.2468624","625524329","625524219","3.45582535E+10","11322349.3","11322349","16.7522224","6.21482943E+483");
+  mathtest(268,def,"61269134.9","-845761303.","-784492168","907030438","-5.18190634E+16","-0.0724425848","0","61269134.9","");
+  mathtest(269,def,"-2840.12099","-2856.76731E-82743650","-2840.12099","-2840.12099","8.11356480E-82743644","9.94173022E+82743649","","","-4.36505254E-11");
+  mathtest(270,def,"8.9538781","-7.56603391","1.38784419","16.5199120","-67.7453453","-1.18343087","-1","1.38784419","2.42053061E-8");
+  mathtest(271,def,"-56233547.2","509752530","453518983","-565986077","-2.86651930E+16","-0.110315386","0","-56233547.2","");
+  mathtest(272,def,"-3167.47853E-854859497","-110852115","-110852115","110852115","3.51121694E-854859486","2.85739116E-854859502","0","-3.16747853E-854859494","");
+  mathtest(273,def,"-5652.52092","-632243244.","-632248897","632237592","3.57376816E+12","0.00000894042123","0","-5652.52092","");
+  mathtest(274,def,"-946.009928","820090.66E-589278015","-946.009928","-946.009928","-7.75813906E-589278007","-1.15354311E+589278012","","","6.41454053E+23");
+  mathtest(275,def,"-367.757758","-959.626016","-1327.38377","591.868258","352909.912","0.383230292","0","-367.757758","1.14982199E-2463");
+  mathtest(276,def,"809926721.E-744611554","-67.6560549","-67.6560549","67.6560549","-5.47964467E-744611544","-1.19712378E-744611547","0","8.09926721E-744611546","");
+  mathtest(277,def,"-1725.08555","75586.3031","73861.2176","-77311.3887","-130392839","-0.0228227269","0","-1725.08555","3.70540587E+244657");
+  mathtest(278,def,"2659.84191E+29314492","-74372.4551E+518196680","-7.43724551E+518196684","7.43724551E+518196684","-1.97818973E+547511180","-3.5763804E-488882190","0","2.65984191E+29314495","1.06171811E-205201468");
+  mathtest(279,def,"-91.1431113","12147507.0","12147415.9","-12147598.1","-1.10716158E+9","-0.00000750303015","0","-91.1431113","-1.52417006E+23805759");
+  mathtest(280,def,"-1136778.91E+697783878","-801552569.","-1.13677891E+697783884","-1.13677891E+697783884","9.11188056E+697783892","1.41822128E+697783875","","","");
+  mathtest(281,def,"73123773.0E+433334149","63.3548930","7.31237730E+433334156","7.31237730E+433334156","4.63274881E+433334158","1.15419298E+433334155","","","");
+  mathtest(282,def,"-9765484.8","7979.90802E-234029715","-9765484.80","-9765484.80","-7.79276705E-234029705","-1.22375907E+234029718","","","8.27085614E+55");
+  mathtest(283,def,"-695010288","-8.26582820","-695010296","-695010280","5.74483564E+9","84082353.4","84082353","-3.45024540","1.83683495E-71");
+  mathtest(284,def,"23975643.3E-155955264","-505547.692E+137258948","-5.05547692E+137258953","5.05547692E+137258953","-1.21208311E-18696303","-4.7425087E-293214211","0","2.39756433E-155955257","1.26225952E+779776283");
+  mathtest(285,def,"2862.95921","-32601248.6E-605861333","2862.95921","2862.95921","-9.33360449E-605861323","-8.78174712E+605861328","","","4.26142175E-11");
+  mathtest(286,def,"-13.133518E+246090516","-8.71269925E-945092108","-1.31335180E+246090517","-1.31335180E+246090517","1.14428392E-699001590","","","","");
+  mathtest(287,def,"-34671.2232","817710.762","783039.539","-852381.985","-2.83510323E+10","-0.0424003508","0","-34671.2232","-5.30788828E+3712382");
+  mathtest(288,def,"-22464769","62.4366060","-22464706.6","-22464831.4","-1.40262393E+9","-359801.252","-359801","-15.7245940","6.21042536E+455");
+  mathtest(289,def,"-9458.60887E-563051963","5676056.01","5676056.01","-5676056.01","-5.36875937E-563051953","-1.66640513E-563051966","0","-9.45860887E-563051960","");
+  mathtest(290,def,"-591.924123E-95331874","-134.596188","-134.596188","134.596188","7.96707305E-95331870","4.39777777E-95331874","0","-5.91924123E-95331872","");
+  mathtest(291,def,"-182566085.E+68870646","-960345993.","-1.82566085E+68870654","-1.82566085E+68870654","1.75326608E+68870663","1.9010449E+68870645","","","");
+  mathtest(292,def,"8232.54893","-99822004E+891979845","-9.98220040E+891979852","9.98220040E+891979852","-8.21789532E+891979856","-8.24722867E-891979850","0","8232.54893","6.99289156E-40");
+  mathtest(293,def,"-4336.94317","-819373.601E+563233430","-8.19373601E+563233435","8.19373601E+563233435","3.55357674E+563233439","5.29299841E-563233433","0","-4336.94317","7.98969405E-30");
+  mathtest(294,def,"-2.09044362E-876527908","-6515463.33","-6515463.33","6515463.33","1.36202087E-876527901","3.20843433E-876527915","0","-2.09044362E-876527908","");
+  mathtest(295,def,"-194343.344","1.95929977","-194341.385","-194345.303","-380776.869","-99190.2041","-99190","-0.39981370","3.77693354E+10");
+  mathtest(296,def,"-326002.927","4215.99030","-321786.937","-330218.917","-1.37442518E+9","-77.3253503","-77","-1371.67390","5.51875821E+23243");
+  mathtest(297,def,"-12037.8590E+876429044","314.81827","-1.20378590E+876429048","-1.20378590E+876429048","-3.78973794E+876429050","-3.82374854E+876429045","","","");
+  mathtest(298,def,"21036045.4E-162804809","-91.7149219","-91.7149219","91.7149219","-1.92931926E-162804800","-2.2936339E-162804804","0","2.10360454E-162804802","");
+  mathtest(299,def,"-947019.534","9916.29280","-937103.241","-956935.827","-9.39092299E+9","-95.5013686","-95","-4971.71800","3.76029022E+59261");
+  mathtest(300,def,"-5985.84136","-12.4090184E-12364204","-5985.84136","-5985.84136","7.42784156E-12364200","4.82378313E+12364206","","","-0.000167060893");
+  mathtest(301,def,"-85344379.4","-6783.08669E+218840215","-6.78308669E+218840218","6.78308669E+218840218","5.78898324E+218840226","1.25819385E-218840211","0","-85344379.4","-3.03232347E-56");
+  mathtest(302,def,"-94.1947070E-938257103","15003.240","15003.2400","-15003.2400","-1.41322580E-938257097","-6.27829102E-938257106","0","-9.41947070E-938257102","");
+  mathtest(303,def,"-4846233.6","-8289769.76","-13136003.4","3443536.16","4.01741607E+13","0.584604125","0","-4846233.6","4.25077524E-55420465");
+  mathtest(304,def,"67.9147198","-108373645.E+291715415","-1.08373645E+291715423","1.08373645E+291715423","-7.36016573E+291715424","-6.26671916E-291715422","0","67.9147198","0.0147243485");
+  mathtest(305,def,"1958.77994","5.57285137E+690137826","5.57285137E+690137826","-5.57285137E+690137826","1.09159895E+690137830","3.51486126E-690137824","0","1958.77994","5.64824968E+19");
+  mathtest(306,def,"22780314.3","8805279.83","31585594.1","13975034.5","2.00587042E+14","2.58711986","2","5169754.64","2.39132169E+64785373");
+  mathtest(307,def,"596745.184","197602423.","198199168","-197005678","1.17918294E+14","0.00301992848","0","596745.184","");
+  mathtest(308,def,"171.340497","-480349.924","-480178.584","480521.264","-82303394.7","-0.000356699332","0","171.340497","2.17914102E-1073035");
+  mathtest(309,def,"824.65555","-379287.530","-378462.875","380112.186","-312781567","-0.00217422268","0","824.65555","6.35829256E-1106108");
+  mathtest(310,def,"19.3164031","-9207644.24E+988115069","-9.20764424E+988115075","9.20764424E+988115075","-1.77858568E+988115077","-2.09786592E-988115075","0","19.3164031","2.67093711E-12");
+  mathtest(311,def,"-3123.77646E+177814265","973284435.E+383256112","9.73284435E+383256120","-9.73284435E+383256120","-3.04032301E+561070389","-3.20952062E-205441853","0","-3.12377646E+177814268","");
+  mathtest(312,def,"-850.123915E+662955309","6774849.81E-846576865","-8.50123915E+662955311","-8.50123915E+662955311","-5.75946184E-183621547","","","","");
+  mathtest(313,def,"-23349.7724","2921.35355","-20428.4189","-26271.1260","-68212940.5","-7.99279238","-7","-2900.29755","-5.6705546E+12759");
+  mathtest(314,def,"18886653.3","568707476.","587594129","-549820823","1.07409809E+16","0.0332097855","0","18886653.3","");
+  mathtest(315,def,"-90552818.0","-542.03563E-986606878","-90552818.0","-90552818.0","4.90828538E-986606868","1.67060638E+986606883","","","-1.64244241E-40");
+  mathtest(316,def,"41501126.1E+791838765","-69.6651675E+204268348","4.15011261E+791838772","4.15011261E+791838772","-2.89118290E+996107122","-5.95722763E+587570422","","","");
+  mathtest(317,def,"76783193.3E-271488154","3765.01829E-520346003","7.67831933E-271488147","7.67831933E-271488147","2.89090127E-791834146","2.03938434E+248857853","","","");
+  mathtest(318,def,"4192.9928","987822007E-146560989","4192.99280","4192.99280","4.14193056E-146560977","4.24468454E+146560983","","","1.67973653E+36");
+  mathtest(319,def,"-891845.629","48277955.","47386109.4","-49169800.6","-4.30564831E+13","-0.0184731443","0","-891845.629","-6.32964147E+287267817");
+  mathtest(320,def,"334.901176","-7609296.55E+447340228","-7.60929655E+447340234","7.60929655E+447340234","-2.54836236E+447340237","-4.40121073E-447340233","0","334.901176","6.31926575E-21");
+  mathtest(321,def,"4.49868636","-341880896E-447251873","4.49868636","4.49868636","-1.53801492E-447251864","-1.31586363E+447251865","","","0.010983553");
+  mathtest(322,def,"807615.58","-314286480","-313478865","315094096","-2.53822658E+14","-0.00256967968","0","807615.58","");
+  mathtest(323,def,"-37.7457954","53277.8129E-859225538","-37.7457954","-37.7457954","-2.01101343E-859225532","-7.08471188E+859225534","","","-76620134.1");
+  mathtest(324,def,"-28671081.","98.8819623","-28670982.1","-28671179.9","-2.83505275E+9","-289952.589","-289952","-58.2671904","-1.93625566E+738");
+  mathtest(325,def,"-89752.2106E-469496896","99.9879961","99.9879961","-99.9879961","-8.97414368E-469496890","-8.97629857E-469496894","0","-8.97522106E-469496892","");
+  mathtest(326,def,"-497983567E-13538052","39.4578742","39.4578742","-39.4578742","-1.96493729E-13538042","-1.26206385E-13538045","0","-4.97983567E-13538044","-1.55376543E-527983689");
+  mathtest(327,def,"845739221E-654202565","-33313.1551","-33313.1551","33313.1551","-2.81742418E-654202552","-2.53875449E-654202561","0","8.45739221E-654202557","");
+  mathtest(328,def,"742.332067E+537827843","-4532.70023E-855387414","7.42332067E+537827845","7.42332067E+537827845","-3.36476873E-317559565","","","","");
+  mathtest(329,def,"-893.48654","670389960","670389067","-670390853","-5.98984406E+11","-0.00000133278628","0","-893.48654","");
+  mathtest(330,def,"1.37697162","-915.737474E-351578724","1.37697162","1.37697162","-1.26094451E-351578721","-1.50367508E+351578721","","","0.0561920784");
+  mathtest(331,def,"-65.2839808E+550288403","-121389.306","-6.52839808E+550288404","-6.52839808E+550288404","7.92477712E+550288409","5.37806689E+550288399","","","");
+  mathtest(332,def,"-30346603.E+346067390","792661.544","-3.03466030E+346067397","-3.03466030E+346067397","-2.40545852E+346067403","-3.82844396E+346067391","","","");
+  mathtest(333,def,"-61170.7065","-453731131.","-453792302","453669960","2.77550538E+13","0.000134817081","0","-61170.7065","");
+  mathtest(334,def,"6569.51133","13.8706351E+399434914","1.38706351E+399434915","-1.38706351E+399434915","9.11232944E+399434918","4.73627291E-399434912","0","6569.51133","6569.51133");
+  mathtest(335,def,"300703925.","-3156736.8","297547188","303860662","-9.49243146E+14","-95.2578387","-95","813929.0","4.18609114E-26763256");
+  mathtest(336,def,"192138216E+353011592","-473.080633","1.92138216E+353011600","1.92138216E+353011600","-9.08968688E+353011602","-4.06142637E+353011597","","","");
+  mathtest(337,def,"8607.64794","-34740.3367","-26132.6888","43347.9846","-299032588","-0.247770999","0","8607.64794","1.29604519E-136698");
+  mathtest(338,def,"-67913.8241","-93815.4229","-161729.247","25901.5988","6.37136413E+9","0.723908948","0","-67913.8241","-6.96355203E-453311");
+  mathtest(339,def,"34.5559455","-998799398.","-998799364","998799433","-3.45144576E+10","-3.45974833E-8","0","34.5559455","");
+  mathtest(340,def,"387995.328","990199543.E-124623607","387995.328","387995.328","3.84192796E-124623593","3.91835495E+124623603","","","7.73152138E+55");
+  mathtest(341,def,"-471.09166E-83521919","-441222368","-441222368","441222368","2.07856178E-83521908","1.06769669E-83521925","0","-4.7109166E-83521917","");
+  mathtest(342,def,"-97834.3858","70779789.8E+502166065","7.07797898E+502166072","-7.07797898E+502166072","-6.92469726E+502166077","-1.38223617E-502166068","0","-97834.3858","-8.57907886E+34");
+  mathtest(343,def,"7732331.06","-952719.482E+115325505","-9.52719482E+115325510","9.52719482E+115325510","-7.36674244E+115325517","-8.11606271E-115325505","0","7732331.06","1.30886724E-69");
+  mathtest(344,def,"23.2745547","2.23194245E-221062592","23.2745547","23.2745547","5.19474666E-221062591","1.04279368E+221062593","","","541.704896");
+  mathtest(345,def,"671.083363E-218324205","-787150031","-787150031","787150031","-5.28243290E-218324194","-8.52548227E-218324212","0","6.71083363E-218324203","");
+  mathtest(346,def,"365167.80","-80263.6516","284904.148","445431.452","-2.93097011E+10","-4.54960362","-4","44113.1936","1.27052227E-446468");
+  mathtest(347,def,"-1.43297604E-65129780","56.598733E-135581942","-1.43297604E-65129780","-1.43297604E-65129780","-8.11046283E-200711721","-2.53181646E+70452160","","","8.65831881E-390778680");
+  mathtest(348,def,"416998859.","260.220323E-349285593","416998859","416998859","1.08511578E-349285582","1.60248383E+349285599","","","7.25111178E+25");
+  mathtest(349,def,"7267.17611E+862630607","4021.56861","7.26717611E+862630610","7.26717611E+862630610","2.92254473E+862630614","1.80705014E+862630607","","","");
+  mathtest(350,def,"12.2142434E+593908740","5.27236571E-396050748","1.22142434E+593908741","1.22142434E+593908741","6.43979581E+197857993","2.3166533E+989959488","","","");
+  mathtest(351,def,"-28.591932","-1.79153238E-817064576","-28.5919320","-28.5919320","5.12233720E-817064575","1.59594838E+817064577","","","0.00122324372");
+  mathtest(352,def,"590.849666","753424.306E+277232744","7.53424306E+277232749","-7.53424306E+277232749","4.45160500E+277232752","7.84219014E-277232748","0","590.849666","1.48530607E+22");
+  mathtest(353,def,"1.7270628","-1325026.67","-1325024.94","1325028.40","-2288404.27","-0.00000130341739","0","1.7270628","2.09260036E-314440");
+  mathtest(354,def,"33402118.","-5534.83745","33396583.2","33407652.8","-1.84875294E+11","-6034.8869","-6034","4908.82670","8.14473913E-41645");
+  mathtest(355,def,"-439842.506","-775110.807","-1214953.31","335268.301","3.40926680E+11","0.567457584","0","-439842.506","-1.84678472E-4374182");
+  mathtest(356,def,"-248664.779","-440890.44E+666433944","-4.40890440E+666433949","4.40890440E+666433949","1.09633924E+666433955","5.64005831E-666433945","0","-248664.779","2.61542877E-22");
+  mathtest(357,def,"-14161.9142","8306.49493","-5855.4193","-22468.4091","-117635869","-1.70492059","-1","-5855.41927","1.65573372E+34479");
+  mathtest(358,def,"-6417227.13","16679.8842","-6400547.25","-6433907.01","-1.07038605E+11","-384.728518","-384","-12151.5972","3.58767978E+113546");
+  mathtest(359,def,"514825024.","-25.0446345E-103809457","514825024","514825024","-1.28936046E-103809447","-2.05563002E+103809464","","","7.32860062E-27");
+  mathtest(360,def,"525948196","219450390","745398586","306497806","1.15419537E+17","2.39666102","2","87047416","");
+  mathtest(361,def,"-638509.181","45580189.0E+269212559","4.55801890E+269212566","-4.55801890E+269212566","-2.91033691E+269212572","-1.40084803E-269212561","0","-638509.181","-1.06129405E+29");
+  mathtest(362,def,"330590422","74.359928E+535377965","7.43599280E+535377966","-7.43599280E+535377966","2.45826800E+535377975","4.44581418E-535377959","0","330590422","4.31550742E+59");
+  mathtest(363,def,"-3.48593871E-940579904","-20265.9640E-322988987","-2.02659640E-322988983","2.02659640E-322988983","","1.72009519E-617590921","0","-3.48593871E-940579904","");
+  mathtest(364,def,"-328103480.","-721.949371E-923938665","-328103480","-328103480","2.36874101E-923938654","4.54468822E+923938670","","","-2.4430038E-60");
+  mathtest(365,def,"-1857.01448","19081578.1","19079721.1","-19083435.1","-3.54347668E+10","-0.0000973197537","0","-1857.01448","8.44397087E+62374153");
+  mathtest(366,def,"347.28720E+145930771","-62821.9906E-676564106","3.47287200E+145930773","3.47287200E+145930773","-2.18172732E-530633328","-5.52811518E+822494874","","","5.69990135E-875584642");
+  mathtest(367,def,"-643.211399E+441807003","-50733419.2","-6.43211399E+441807005","-6.43211399E+441807005","3.26323135E+441807013","1.26782584E+441806998","","","");
+  mathtest(368,def,"-53991661.4E-843339554","20718.7346","20718.7346","-20718.7346","-1.11863890E-843339542","-2.60593431E-843339551","0","-5.39916614E-843339547","");
+  mathtest(369,def,"-900181424","-105763982.","-1.00594541E+9","-794417442","9.52067719E+16","8.51122856","8","-54069568","1.32627061E-947045602");
+  mathtest(370,def,"94218.7462E+563233951","19262.6382E+765263890","1.92626382E+765263894","-1.92626382E+765263894","","4.89126906E-202029939","0","9.42187462E+563233955","");
+  mathtest(371,def,"28549.271E+921331828","-2150590.40","2.85492710E+921331832","2.85492710E+921331832","-6.13977881E+921331838","-1.32750853E+921331826","","","");
+  mathtest(372,def,"810.7080E+779625763","5957.94044","8.10708000E+779625765","8.10708000E+779625765","4.83014998E+779625769","1.36071854E+779625762","","","");
+  mathtest(373,def,"-23.7357549E+77116908","351.100649E+864348022","3.51100649E+864348024","-3.51100649E+864348024","-8.33363895E+941464933","-6.7603848E-787231116","0","-2.37357549E+77116909","3.17403853E+308467637");
+  mathtest(374,def,"40216102.2E+292724544","661.025962","4.02161022E+292724551","4.02161022E+292724551","2.65838876E+292724554","6.08389148E+292724548","","","");
+  mathtest(375,def,"22785024.3E+783719168","399.505989E+137478666","2.27850243E+783719175","2.27850243E+783719175","9.10275367E+921197843","5.70329981E+646240506","","","");
+  mathtest(376,def,"515.591819E+821371364","-692137914.E-149498690","5.15591819E+821371366","5.15591819E+821371366","-3.56860646E+671872685","-7.44926421E+970870047","","","");
+  mathtest(377,def,"-536883072E+477911251","624996.301","-5.36883072E+477911259","-5.36883072E+477911259","-3.35549934E+477911265","-8.59017999E+477911253","","","");
+  mathtest(378,def,"-399492.914E-334369192","5202119.87E+442442258","5.20211987E+442442264","-5.20211987E+442442264","-2.07821003E+108073078","-7.67942539E-776811452","0","-3.99492914E-334369187","");
+  mathtest(379,def,"762.071184","9851631.37","9852393.44","-9850869.30","7.50764438E+9","0.0000773548213","0","762.071184","4.02198436E+28392356");
+  mathtest(380,def,"5626.12471","72989818.3","72995444.4","-72984192.2","4.10649820E+11","0.0000770809524","0","5626.12471","1.79814757E+273727098");
+  mathtest(381,def,"-47207260.1","-2073.3152","-47209333.4","-47205186.8","9.78755299E+10","22768.9741","22768","-2019.6264","-6.02238319E-15909");
+  mathtest(382,def,"207.740860","-51.0390090","156.701851","258.779869","-10602.8876","-4.07023694","-4","3.5848240","6.40297515E-119");
+  mathtest(383,def,"-572.812464E-745934021","-182805872.E+604508681","-1.82805872E+604508689","1.82805872E+604508689","1.04713482E-141425329","","0","-5.72812464E-745934019","");
+  mathtest(384,def,"-6418504E+3531407","8459416.1","-6.41850400E+3531413","-6.41850400E+3531413","-5.42967961E+3531420","-7.58740784E+3531406","","","");
+  mathtest(385,def,"280689.531","-128212543","-127931854","128493233","-3.59879186E+13","-0.00218925173","0","280689.531","1.42173809E-698530938");
+  mathtest(386,def,"15.803551E-783422793","239108038E-489186308","2.39108038E-489186300","-2.39108038E-489186300","","6.60937672E-294236493","0","1.5803551E-783422792","");
+  mathtest(387,def,"26.515922","-9418242.96E-105481628","26.5159220","26.5159220","-2.49733396E-105481620","-2.81537885E+105481622","","","1.54326108E-13");
+  mathtest(388,def,"-88.1094557","-54029934.1","-54030022.2","54029846.0","4.76054809E+9","0.0000016307526","0","-88.1094557","5.05289826E-105089439");
+  mathtest(389,def,"6770.68602E-498420397","-6.11248908E-729616908","6.77068602E-498420394","6.77068602E-498420394","","-1.10768067E+231196514","","","");
+  mathtest(390,def,"-892973818.E-781904441","555201299.","555201299","-555201299","-4.95780224E-781904424","-1.60837847E-781904441","0","-8.92973818E-781904433","");
+  mathtest(391,def,"670175802E+135430680","27355195.4","6.70175802E+135430688","6.70175802E+135430688","1.83327900E+135430696","2.44990318E+135430681","","","");
+  mathtest(392,def,"-440950.26","205.477469E-677345561","-440950.260","-440950.260","-9.06053434E-677345554","-2.14597864E+677345564","","","1.94437132E+11");
+  mathtest(393,def,"-8.2335779","573665010E+742722075","5.73665010E+742722083","-5.73665010E+742722083","-4.72331555E+742722084","-1.43525886E-742722083","0","-8.2335779","311552.753");
+  mathtest(394,def,"452943.863","7022.23629","459966.099","445921.627","3.18067883E+9","64.5013703","64","3520.74044","5.54158976E+39716");
+  mathtest(395,def,"62874.1079","-52719654.1","-52656780.0","52782528.2","-3.31470122E+12","-0.0011926123","0","62874.1079","1.18819936E-252973775");
+  mathtest(396,def,"-7428.41741E+609772037","-46024819.3","-7.42841741E+609772040","-7.42841741E+609772040","3.41891569E+609772048","1.61400251E+609772033","","","");
+  mathtest(397,def,"2.27959297","41937.019","41939.2986","-41934.7394","95599.3337","0.0000543575348","0","2.27959297","2.89712423E+15007");
+  mathtest(398,def,"508692408E-671967782","8491989.20","8491989.20","-8491989.20","4.31981043E-671967767","5.99026207E-671967781","0","5.08692408E-671967774","");
+  mathtest(399,def,"940.533705E-379310421","-4.01176961E+464620037","-4.01176961E+464620037","4.01176961E+464620037","-3.77320453E+85309619","-2.34443599E-843930456","0","9.40533705E-379310419","");
+  mathtest(400,def,"97.0649652","-92.4485649E-151989098","97.0649652","97.0649652","-8.97351673E-151989095","-1.0499348E+151989098","","","1.30748728E-18");
+  mathtest(401,def,"297544.536E+360279473","8.80275007","2.97544536E+360279478","2.97544536E+360279478","2.61921019E+360279479","3.38013159E+360279477","","","");
+  mathtest(402,def,"-28861028.","82818.820E+138368758","8.28188200E+138368762","-8.28188200E+138368762","-2.39023628E+138368770","-3.48483932E-138368756","0","-28861028","4.81387013E+59");
+  mathtest(403,def,"36.2496238E+68828039","49243.00","3.62496238E+68828040","3.62496238E+68828040","1.78504022E+68828045","7.36137599E+68828035","","","");
+  mathtest(404,def,"22.447828E-476014683","-56067.5520","-56067.5520","56067.5520","-1.25859476E-476014677","-4.00371109E-476014687","0","2.2447828E-476014682","");
+  mathtest(405,def,"282688.791E+75011952","5.99789051","2.82688791E+75011957","2.82688791E+75011957","1.69553642E+75011958","4.7131369E+75011956","","","5.10330507E+450071744");
+  mathtest(406,def,"-981.860310E-737387002","-994046289","-994046289","994046289","9.76014597E-737386991","9.87741035E-737387009","0","-9.81860310E-737387000","");
+  mathtest(407,def,"-702.91210","-6444903.55","-6445606.46","6444200.64","4.53020069E+9","0.000109064797","0","-702.91210","1.70866703E-18348004");
+  mathtest(408,def,"972456720E-17536823","16371.2590","16371.2590","-16371.2590","1.59203408E-17536810","5.94002404E-17536819","0","9.72456720E-17536815","");
+  mathtest(409,def,"71471.2045","-74303278.4","-74231807.2","74374749.6","-5.31054481E+12","-0.00096188494","0","71471.2045","2.14535374E-360677853");
+  mathtest(410,def,"643.103951E+439708441","788251925.","6.43103951E+439708443","6.43103951E+439708443","5.06927927E+439708452","8.15860933E+439708434","","","");
+  mathtest(411,def,"4.30838663","-7.43110827","-3.12272164","11.7394949","-32.0160875","-0.579777131","0","4.30838663","0.0000362908645");
+  mathtest(412,def,"823.678025","-513.581840E-324453141","823.678025","823.678025","-4.23026076E-324453136","-1.60379118E+324453141","","","2.63762228E-15");
+  mathtest(413,def,"4461.81162","3.22081680","4465.03244","4458.59080","14370.6778","1385.30438","1385","0.98035200","8.8824688E+10");
+  mathtest(414,def,"-4458527.10","-99072605","-103531132","94614077.9","4.41717894E+14","0.0450026231","0","-4458527.10","-6.23928099E-658752715");
+  mathtest(415,def,"-577964618","487424368.","-90540250","-1.06538899E+9","-2.81714039E+17","-1.18575241","-1","-90540250","");
+  mathtest(416,def,"-867.036184","-57.1768608","-924.213045","-809.859323","49574.4072","15.1641096","15","-9.3832720","-3.40312837E-168");
+  mathtest(417,def,"771871921E-330504770","5.34285236","5.34285236","-5.34285236","4.12399771E-330504761","1.44468136E-330504762","0","7.71871921E-330504762","");
+  mathtest(418,def,"-338683.062E-728777518","166441931","166441931","-166441931","-5.63710628E-728777505","-2.03484218E-728777521","0","-3.38683062E-728777513","");
+  mathtest(419,def,"-512568743","-416376887.E-965945295","-512568743","-512568743","2.13421778E-965945278","1.23102112E+965945295","","","1.44874358E-35");
+  mathtest(420,def,"7447181.99","5318438.52","12765620.5","2128743.47","3.96073796E+13","1.40025723","1","2128743.47","1.21634782E+36548270");
+  mathtest(421,def,"54789.8207","93165435.2","93220225.0","-93110645.4","5.10451749E+12","0.000588091716","0","54789.8207","3.80769825E+441483035");
+  mathtest(422,def,"41488.5960","146.797094","41635.3931","41341.7989","6090405.33","282.625459","282","91.815492","6.84738153E+678");
+  mathtest(423,def,"785741.663E+56754529","-461.531732","7.85741663E+56754534","7.85741663E+56754534","-3.62644711E+56754537","-1.70246509E+56754532","","","");
+  mathtest(424,def,"-4.95436786","-3132.4233","-3137.37767","3127.46893","15519.1773","0.0015816406","0","-4.95436786","1.98062422E-2177");
+  mathtest(425,def,"77321.8478E+404626874","82.4797688","7.73218478E+404626878","7.73218478E+404626878","6.37748813E+404626880","9.3746441E+404626876","","","");
+  mathtest(426,def,"-7.99307725","-29153.7273","-29161.7204","29145.7342","233027.994","0.000274169994","0","-7.99307725","1.88688028E-26318");
+  mathtest(427,def,"-61.6337401E+474999517","5254.87092","-6.16337401E+474999518","-6.16337401E+474999518","-3.23877349E+474999522","-1.1728878E+474999515","","","");
+  mathtest(428,def,"-16.4043088","35.0064812","18.6021724","-51.4107900","-574.257128","-0.468607762","0","-16.4043088","-3.33831843E+42");
+  mathtest(429,def,"-8.41156520","-56508958.9","-56508967.3","56508950.5","475328792","1.48853657E-7","0","-8.41156520","-8.86365458E-52263827");
+  mathtest(430,def,"-360165.79E+503559835","-196688.515","-3.60165790E+503559840","-3.60165790E+503559840","7.08404744E+503559845","1.83114805E+503559835","","","");
+  mathtest(431,def,"-653236480.E+565648495","-930.445274","-6.53236480E+565648503","-6.53236480E+565648503","6.07800796E+565648506","7.02068674E+565648500","","","");
+  mathtest(432,def,"-3.73342903","855.029289","851.295860","-858.762718","-3192.19117","-0.00436643408","0","-3.73342903","-1.41988961E+489");
+  mathtest(433,def,"-5.14890532E+562048011","10847127.8E-390918910","-5.14890532E+562048011","-5.14890532E+562048011","-5.58508340E+171129108","-4.74679142E+952966914","","","-5.14890532E+562048011");
+  mathtest(434,def,"653311907","-810.036965E+744537823","-8.10036965E+744537825","8.10036965E+744537825","-5.29206794E+744537834","-8.06521104E-744537818","0","653311907","3.01325171E-71");
+  mathtest(435,def,"-1.31557907","98.9139300E-579281802","-1.31557907","-1.31557907","-1.30129096E-579281800","-1.33002406E+579281800","","","15.529932");
+  mathtest(436,def,"-875192389","-72071565.6","-947263955","-803120823","6.30764857E+16","12.1433797","12","-10333601.8","1.25564408E-644471405");
+  mathtest(437,def,"-72838078.8","-391.398423","-72838470.2","-72837687.4","2.85087092E+10","186097.017","186097","-6.474969","-6.574057E-3075");
+  mathtest(438,def,"29186560.9","-79.7419988","29186481.2","29186640.6","-2.32739470E+9","-366012.407","-366012","32.4352144","6.10050869E-598");
+  mathtest(439,def,"-329801660E-730249465","-6489.9256","-6489.92560","6489.92560","2.14038824E-730249453","5.08174793E-730249461","0","-3.29801660E-730249457","");
+  mathtest(440,def,"91.8429117E+103164883","7131455.16","9.18429117E+103164884","9.18429117E+103164884","6.54973607E+103164891","1.28785654E+103164878","","","");
+  mathtest(441,def,"3943866.38E+150855113","-31927007.3","3.94386638E+150855119","3.94386638E+150855119","-1.25915851E+150855127","-1.23527594E+150855112","","","");
+  mathtest(442,def,"-7002.0468E-795962156","-5937891.05","-5937891.05","5937891.05","4.15773910E-795962146","1.17921443E-795962159","0","-7.0020468E-795962153","");
+  mathtest(443,def,"696504605.","54506.4617","696559111","696450099","3.79640016E+13","12778.386","12778","21037.3974","2.6008532E+481992");
+  mathtest(444,def,"-5115.76467","690.960979E+815126701","6.90960979E+815126703","-6.90960979E+815126703","-3.53479376E+815126707","-7.4038402E-815126701","0","-5115.76467","-9.17009655E+25");
+  mathtest(445,def,"-261.279392","-613.079357","-874.358749","351.799965","160185.002","0.426175484","0","-261.279392","-2.06318841E-1482");
+  mathtest(446,def,"-591407763","-80145822.8","-671553586","-511261940","4.73988618E+16","7.37914644","7","-30387003.4","-2.79334522E-703030105");
+  mathtest(447,def,"615630407","-69.4661869","615630338","615630476","-4.27654969E+10","-8862303.15","-8862303","10.4375693","3.44283102E-607");
+  mathtest(448,def,"1078757.50","27402569.0E-713742082","1078757.50","1078757.50","2.95607268E-713742069","3.93670207E+713742080","","","1.25536924E+18");
+  mathtest(449,def,"-4865.60358E-401116515","66952.5315","66952.5315","-66952.5315","-3.25764477E-401116507","-7.26724363E-401116517","0","-4.86560358E-401116512","");
+  mathtest(450,def,"-87805.3921E-934896690","-1875.14745","-1875.14745","1875.14745","1.64648057E-934896682","4.68258601E-934896689","0","-8.78053921E-934896686","");
+  mathtest(451,def,"-232540609.E+602702520","68.0834223","-2.32540609E+602702528","-2.32540609E+602702528","-1.58321605E+602702530","-3.41552468E+602702526","","","");
+  mathtest(452,def,"-320610803.","-863871235.","-1.18448204E+9","543260432","2.76966450E+17","0.37113263","0","-320610803","");
+  mathtest(453,def,"-303956364E+278139979","229537.920E+479603725","2.29537920E+479603730","-2.29537920E+479603730","-6.97695116E+757743717","-1.3242098E-201463743","0","-3.03956364E+278139987","9.23894712E+556279974");
+  mathtest(454,def,"-439.747348","74.9494457E-353117582","-439.747348","-439.747348","-3.29588200E-353117578","-5.86725284E+353117582","","","-3.17996693E+18");
+  mathtest(455,def,"-89702231.9","1.28993993","-89702230.6","-89702233.2","-115710491","-69539852.1","-69539852","-0.07890964","-89702231.9");
+  mathtest(456,def,"-5856939.14","-6743375.34","-12600314.5","886436.20","3.94955390E+13","0.868547107","0","-5856939.14","-3.29213248E-45636942");
+  mathtest(457,def,"733317.669E+100381349","-13832.6792E+174055607","-1.38326792E+174055611","1.38326792E+174055611","-1.01437481E+274436966","-5.30134227E-73674257","0","7.33317669E+100381354","1.36366549E-100381355");
+  mathtest(458,def,"87.4798787E-80124704","108497.32","108497.320","-108497.320","9.49133239E-80124698","8.06286079E-80124708","0","8.74798787E-80124703","");
+  mathtest(459,def,"-694562052","310681.319E+549445264","3.10681319E+549445269","-3.10681319E+549445269","-2.15787454E+549445278","-2.23560932E-549445261","0","-694562052","-3.35068155E+26");
+  mathtest(460,def,"-9744135.85","1797016.04","-7947119.81","-11541151.9","-1.75103684E+13","-5.42239782","-5","-759055.65","3.83848006E+12558883");
+  mathtest(461,def,"3625.87308","-50.2208536E+658627487","-5.02208536E+658627488","5.02208536E+658627488","-1.82094441E+658627492","-7.21985554E-658627486","0","3625.87308","1.5956477E-18");
+  mathtest(462,def,"365347.52","-3655414.47","-3290066.95","4020761.99","-1.33549661E+12","-0.099946948","0","365347.52","1.02663257E-20333994");
+  mathtest(463,def,"-19706333.6E-816923050","-383858032.","-383858032","383858032","7.56443443E-816923035","5.1337557E-816923052","0","-1.97063336E-816923043","");
+  mathtest(464,def,"-86346.2616","-98.8063785","-86445.0680","-86247.4552","8531561.41","873.893598","873","-88.2931695","-2.05064086E-489");
+  mathtest(465,def,"-445588.160E-496592215","328.822976","328.822976","-328.822976","-1.46519625E-496592207","-1.35510044E-496592212","0","-4.45588160E-496592210","");
+  mathtest(466,def,"-9709213.71","-34.6690137","-9709248.38","-9709179.04","336608863","280054.512","280054","-17.7472602","-2.80903974E-245");
+  mathtest(467,def,"742395536.","-43533.6889","742352002","742439070","-3.23192163E+13","-17053.3569","-17053","15539.1883","5.7622734E-386175");
+  mathtest(468,def,"-878849193.","-5842982.47E-972537342","-878849193","-878849193","5.13510043E-972537327","1.50411061E+972537344","","","2.17027042E-54");
+  mathtest(469,def,"-78014142.1","-624658.522","-78638800.6","-77389483.6","4.87321987E+13","124.890863","124","-556485.372","-7.86063865E-4929918");
+  mathtest(470,def,"857039.371","454.379672","857493.751","856584.991","389421268","1886.17454","1886","79.309608","3.82253101E+2693");
+  mathtest(471,def,"166534010.","-173.012236","166533837","166534183","-2.88124214E+10","-962556.255","-962556","44.164784","4.78620664E-1423");
+  mathtest(472,def,"-810.879063","43776.610","42965.7309","-44587.4891","-35497536.5","-0.0185231123","0","-810.879063","-2.34758691E+127345");
+  mathtest(473,def,"-327.127935","93458944","93458616.9","-93459271.1","-3.05730314E+10","-0.00000350023145","0","-327.127935","2.29323021E+235022854");
+  mathtest(474,def,"539295218.","-9587941.10E-309643098","539295218","539295218","-5.17073079E-309643083","-5.62472394E+309643099","","","4.80545269E-88");
+  mathtest(475,def,"-3862702.65","879616.733","-2983085.92","-4742319.38","-3.39769789E+12","-4.3913474","-4","-344235.718","-3.50650167E+5793941");
+  mathtest(476,def,"-8.25290500","992.091584E+256070257","9.92091584E+256070259","-9.92091584E+256070259","-8.18763759E+256070260","-8.31869268E-256070260","0","-8.25290500","1.46577888E+9");
+  mathtest(477,def,"546875205.","447.52857E+557357101","4.47528570E+557357103","-4.47528570E+557357103","2.44742278E+557357112","1.22198948E-557357095","0","546875205","8.94443542E+34");
+  mathtest(478,def,"177623437","-7779116.14","169844321","185402553","-1.38175335E+15","-22.83337","-22","6482881.92","2.90085309E-64173820");
+  mathtest(479,def,"377204735.","13768.1401","377218503","377190967","5.19340764E+12","27396.9274","27396","12768.8204","2.06065297E+118082");
+  mathtest(480,def,"-2435.49239","-11732.0640E-23331504","-2435.49239","-2435.49239","2.85733526E-23331497","2.07592832E+23331503","","","-0.00041059459");
+  mathtest(481,def,"-6128465.14E-137123294","-5742264.27","-5742264.27","5742264.27","3.51912664E-137123281","1.06725585E-137123294","0","-6.12846514E-137123288","");
+  mathtest(482,def,"-2898065.44","-5.11638105","-2898070.56","-2898060.32","14827607.1","566428.773","566428","-3.95461060","-4.89169151E-33");
+  mathtest(483,def,"1851395.31E+594383160","-550301.475","1.85139531E+594383166","1.85139531E+594383166","-1.01882557E+594383172","-3.36432918E+594383160","","","");
+  mathtest(484,def,"536412589.E+379583977","899.601161","5.36412589E+379583985","5.36412589E+379583985","4.82557388E+379583988","5.96278231E+379583982","","","");
+  mathtest(485,def,"185.85297","867419480.","867419666","-867419294","1.61212487E+11","2.14259622E-7","0","185.85297","");
+  mathtest(486,def,"-5.26631053","-3815941.35E+183291763","-3.81594135E+183291769","3.81594135E+183291769","2.00959321E+183291770","1.38008162E-183291769","0","-5.26631053","0.00130009218");
+  mathtest(487,def,"-8.11587021E-245942806","4553.06753E+943412048","4.55306753E+943412051","-4.55306753E+943412051","-3.69521051E+697469246","","0","-8.11587021E-245942806","");
+  mathtest(488,def,"-405765.352","854963231","854557466","-855368996","-3.46914456E+14","-0.000474599769","0","-405765.352","");
+  mathtest(489,def,"-159.609757","-43356.7567","-43516.3665","43197.1470","6920161.40","0.00368131219","0","-159.609757","-8.95397849E-95519");
+  mathtest(490,def,"-564240.241E-501316672","-557.781977","-557.781977","557.781977","3.14723037E-501316664","1.01157847E-501316669","0","-5.64240241E-501316667","");
+  mathtest(491,def,"318847.270","582107878.E+399633412","5.82107878E+399633420","-5.82107878E+399633420","1.85603508E+399633426","5.47746014E-399633416","0","318847.270","1.0507423E+33");
+  mathtest(492,def,"-4426.59663","95.1096765","-4331.48695","-4521.70631","-421012.173","-46.5420217","-46","-51.5515110","-2.38037379E+346");
+  mathtest(493,def,"6037.28310","578264.105","584301.388","-572226.822","3.49114411E+9","0.010440356","0","6037.28310","3.57279483E+2186324");
+  mathtest(494,def,"-66.9556692","-53.8519404","-120.807610","-13.1037288","3605.69271","1.24332881","1","-13.1037288","2.55554086E-99");
+  mathtest(495,def,"-92486.0222","-59935.8544","-152421.877","-32550.1678","5.54322876E+9","1.5430834","1","-32550.1678","1.83152656E-297647");
+  mathtest(496,def,"852136219.E+917787351","9246221.91","8.52136219E+917787359","8.52136219E+917787359","7.87904058E+917787366","9.21604767E+917787352","","","");
+  mathtest(497,def,"-2120096.16E-269253718","9437.00514","9437.00514","-9437.00514","-2.00073584E-269253708","-2.24657731E-269253716","0","-2.12009616E-269253712","");
+  mathtest(498,def,"-524653.169E-865784226","228054.698","228054.698","-228054.698","-1.19649620E-865784215","-2.30055848E-865784226","0","-5.24653169E-865784221","");
+  mathtest(499,def,"-288193133","-312268737.","-600461870","24075604","8.99937057E+16","0.922901011","0","-288193133","");
+  mathtest(500,def,"-373484759E-113589964","844101958E-852538240","-3.73484759E-113589956","-3.73484759E-113589956","-3.15259216E-966128187","-4.42464036E+738948275","","","3.78602147E-908719644");
+  
+  summary("Arithmetic");
+ }
+
+ /* mathtest -- general arithmetic test routine
+    Arg1  is test number
+    Arg2  is MathContext
+    Arg3  is left hand side (LHS)
+    Arg4  is right hand side (RHS)
+    Arg5  is the expected result for add
+    Arg6  is the expected result for subtract
+    Arg7  is the expected result for multiply
+    Arg8  is the expected result for divide
+    Arg9  is the expected result for integerDivide
+    Arg10 is the expected result for remainder
+    Arg11 is the expected result for power
+ 
+  For power RHS, 0 is added to the number, any exponent is removed and
+  the number is then rounded to an integer, using format(rhs+0,,0)
+ 
+  If an error should result for an operation, the 'expected result' is
+  an empty string.
+  */
+ 
+ private void mathtest(int test,com.ibm.icu.math.MathContext mc,java.lang.String slhs,java.lang.String srhs,java.lang.String add,java.lang.String sub,java.lang.String mul,java.lang.String div,java.lang.String idv,java.lang.String rem,java.lang.String pow){
+  com.ibm.icu.math.BigDecimal lhs;
+  com.ibm.icu.math.BigDecimal rhs;
+  java.lang.String res=null;
+  java.lang.String sn=null;
+  int e=0;
+  
+  
+  
+  lhs=new com.ibm.icu.math.BigDecimal(slhs);
+  rhs=new com.ibm.icu.math.BigDecimal(srhs);
+  
+  try{
+   res=lhs.add(rhs,mc).toString();
+  }
+  catch (java.lang.ArithmeticException $137){
+   res="";
+  }
+  mathtestcheck(test,lhs,rhs,"add",res,add);
+  
+  try{
+   res=lhs.subtract(rhs,mc).toString();
+  }
+  catch (java.lang.ArithmeticException $138){
+   res="";
+  }
+  mathtestcheck(test,lhs,rhs,"sub",res,sub);
+  
+  try{
+   res=lhs.multiply(rhs,mc).toString();
+  }
+  catch (java.lang.ArithmeticException $139){
+   res="";
+  }
+  mathtestcheck(test,lhs,rhs,"mul",res,mul);
+  
+  try{
+   res=lhs.divide(rhs,mc).toString();
+  }
+  catch (java.lang.ArithmeticException $140){
+   res="";
+  }
+  mathtestcheck(test,lhs,rhs,"div",res,div);
+  
+  try{
+   res=lhs.divideInteger(rhs,mc).toString();
+  }
+  catch (java.lang.ArithmeticException $141){
+   res="";
+  }
+  mathtestcheck(test,lhs,rhs,"idv",res,idv);
+  
+  try{
+   res=lhs.remainder(rhs,mc).toString();
+  }
+  catch (java.lang.ArithmeticException $142){
+   res="";
+  }
+  mathtestcheck(test,lhs,rhs,"rem",res,rem);
+  
+  try{
+   // prepare an integer from the rhs
+   // in Rexx:
+   //   n=rhs+0
+   //   e=pos('E', n)
+   //   if e>0 then n=left(n,e-1)
+   //   n=format(n,,0)
+   
+   sn=rhs.plus(mc).toString();
+   e=sn.indexOf("E",0);
+   if (e>0) 
+    sn=sn.substring(0,e);
+   sn=(new com.ibm.icu.math.BigDecimal(sn)).format(-1,0);
+   
+   res=lhs.pow(new com.ibm.icu.math.BigDecimal(sn),mc).toString();
+  }
+  catch (java.lang.ArithmeticException $143){
+   res="";
+  }
+  mathtestcheck(test,lhs,rhs,"pow",res,pow);
+  return;
+  }
+
+ /* mathtestcheck -- check for general mathtest error
+    Arg1  is test number
+    Arg2  is left hand side (LHS)
+    Arg3  is right hand side (RHS)
+    Arg4  is the operation
+    Arg5  is the actual result
+    Arg6  is the expected result
+    Show error message if a problem, otherwise return quietly
+    */
+ 
+ private void mathtestcheck(int test,com.ibm.icu.math.BigDecimal lhs,com.ibm.icu.math.BigDecimal rhs,java.lang.String op,java.lang.String got,java.lang.String want){
+  boolean flag;
+  java.lang.String testnum;
+  
+  flag=want.equals((java.lang.Object)got);
+  
+  if ((!flag)) 
+   say(">"+test+">"+" "+lhs.toString()+" "+op+" "+rhs.toString()+" "+"="+" "+want+" "+"[got"+" "+got+"]");
+  
+  testnum="gen"+right((new com.ibm.icu.math.BigDecimal(test+1000)).toString(),3);
+  
+  (new Test(testnum)).ok=flag;
+  return;
+  }
+
+ 
+ /* ------------------------------------------------------------------ */
+ /* Support routines and minor classes follow                          */
+ /* ------------------------------------------------------------------ */
+ 
+ /* ----------------------------------------------------------------- */
+ /* Method called to summarise pending tests                          */
+ /* ----------------------------------------------------------------- */
+ /* Arg1 is section name */
+ 
+ private void summary(java.lang.String section){
+  int bad;
+  int count;
+  int i=0;
+  Test item=null;
+  bad=0;
+  count=Tests.size();
+  {int $144=count;i=0;i:for(;$144>0;$144--,i++){
+   item=(Test)(Tests.elementAt(i));
+   if ((!item.ok)) 
+    {
+     bad++;
+     errln("Failed:"+" "+item.name);
+    }
+   }
+  }/*i*/
+  totalcount=totalcount+count;
+  Tests=new java.util.Vector(100); // reinitialize
+  if (bad==0) 
+   say("OK"+" "+left(section,14)+" "+right("["+count+" "+"tests]",12));
+  else 
+   throw new DiagException(section+" "+"[failed"+" "+bad+" "+"of"+" "+count+" "+"tests]",bad);
+ }
+
+ 
+ /* ----------------------------------------------------------------- */
+ /* right - Utility to do a 'right' on a Java String                  */
+ /* ----------------------------------------------------------------- */
+ /* Arg1 is string to right-justify */
+ /* Arg2 is desired length */
+ 
+ private static java.lang.String right(java.lang.String s,int len){
+  int slen;
+  slen=s.length();
+  if (slen==len) 
+   return s; // length just right
+  if (slen>len) 
+   return s.substring(slen-len); // truncate on left
+  // too short
+  return (new java.lang.String(new char[len-slen])).replace('\000',' ').concat(s);
+  }
+
+ /* ----------------------------------------------------------------- */
+ /* left - Utility to do a 'left' on a Java String                    */
+ /* ----------------------------------------------------------------- */
+ /* Arg1 is string to left-justify */
+ /* Arg2 is desired length */
+ 
+ private static java.lang.String left(java.lang.String s,int len){
+  int slen;
+  slen=s.length();
+  if (slen==len) 
+   return s; // length just right
+  if (slen>len) 
+   return s.substring(0,len); // truncate on right
+  // too short
+  return s.concat((new java.lang.String(new char[len-slen])).replace('\000',' '));
+  }
+
+ /* ----------------------------------------------------------------- */
+ /* say - Utility to do a display                                     */
+ /* ----------------------------------------------------------------- */
+ /* Arg1 is string to display, omitted if none */
+ /*         [null or omitted gives blank line] */
+ // this version doesn't heed continuation final character
+ 
+ private void say(){
+  say((java.lang.String)null);return;
+  }
+ private void say(java.lang.String s){
+  if (s==null) 
+   s="  ";
+  logln(s);
+ }
+
+ /* ----------------------------------------------------------------- */
+ /* Scaffolding for stand-alone run                                   */
+ /* ----------------------------------------------------------------- */
+ /** Entry point for stand-alone run.  It constructs a
+  *  <code>DiagBigDecimal</code> object and then invokes its
+  *  {@link #diagrun(boolean)} method to run the test
+  *  suite.
+  *
+  * @param args The command line argument string array.
+  *   if the first word is '<code>continue</code>' then try and run
+  *   all tests, otherwise stop after the first failing test group.
+  */
+ public static void main(String[] args) throws Exception{
+    new DiagBigDecimal().run(args);
+ }
+ public void TestBigDecimal(){
+      boolean $continue;
+      int fails;
+      $continue=false;
+      fails=diagrun($continue); // and run the tests
+      if(fails!=0) {
+         errln("Diagnostic Tests for math failed. Number of errors: " +fails);
+      }
+  }
+
+/* ------------------------------------------------------------------ */
+/* Test -- represents a test and its status                           */
+/* ------------------------------------------------------------------ */
+/* Copyright IBM Corporation 1998, 2000.  All rights reserved.        */
+/* Author: Mike Cowlishaw                                             */
+/* ------------------------------------------------------------------ */
+/* 1998.07.15 Initial version                                         */
+/* 2000.03.27 Change to javadoc comments                              */
+
+/**
+ * The <code>Test</code> class is used to record a specific test.
+ * When constructed, it notes the name of the test and adds the test
+ * to the list of tests held by the parent.
+ *
+ * Its <code>ok</flag> is assigned directly to record whether the
+ * test succeeded (1) or failed (0).
+ *
+ * @see     com.ibm.icu.math.BigDecimal
+ * @version 1.00 2000.03.27
+ * @author  Mike Cowlishaw
+ */
+ 
+ public class Test{
+  private final transient java.lang.String $0="DiagBigDecimal.nrx";
+  /* properties shared transient */
+ /** The name of the test. */
+  transient java.lang.String name;
+ /** Success flag; will be set to 1 (true) if the test succeeded, or 0
+  * (false) if the test failed.
+  */
+  transient boolean ok;
+
+ 
+ /**
+  * Constructs a new <code>Test</code> with a specified name.
+  *
+  * @param testname The <code>String</code> naming the test.
+  */
+  
+  public Test(java.lang.String testname){super();
+   name=testname; // save the name
+   DiagBigDecimal.this.Tests.addElement((java.lang.Object)this); // and add to parent's list
+  }
+  }
+
+ /* ------------------------------------------------------------------ */
+ /* DiagException                                                      */
+ /* ------------------------------------------------------------------ */
+ /* Copyright IBM Corporation 1996, 2000.  All rights reserved.        */
+ /* Author: Mike Cowlishaw                                             */
+ /* ------------------------------------------------------------------ */
+ /* 1996.05.27 Initial version in NetRexx (as DiagX)                   */
+ /* 1998.06.25 Copied from NetRexx test suite                          */
+ /* 1999.07.03 Add fail count                                          */
+ /* 2000.03.27 Change to javadoc comments                              */
+ 
+ /**
+  * The <code>DiagException</code> class is used to signal the failure
+  * of a test group.  It records the number of failures in the group.
+  *
+  * @see     com.ibm.icu.math.BigDecimal
+  * @version 1.00 2000.03.27
+  * @author  Mike Cowlishaw
+  */
+ 
+ public static class DiagException extends java.lang.RuntimeException{
+  private final transient java.lang.String $0="DiagBigDecimal.nrx";
+ 
+  /* properties shared transient */
+ /** the count of failed tests in the group which signalled this
+   * exception.
+   */
+  transient int failcount=0;
+ // number of tests which failed
+ 
+ /**
+  * Constructs a new <code>DiagException</code> with a message and
+  * failure count.  This is thrown when a group of tests fails.
+  *
+  * @param message The <code>String</code> message describing the group.
+  * @param fails   The <code>int</code> number of failed tests in the  group.
+  */
+  
+  public DiagException(java.lang.String message,int fails){
+   super(message);
+   failcount=fails;
+  }
+ }}
diff --git a/src/com/ibm/icu/dev/test/calendar/AstroTest.java b/src/com/ibm/icu/dev/test/calendar/AstroTest.java
new file mode 100755
index 0000000..0d32a89
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/calendar/AstroTest.java
@@ -0,0 +1,293 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.test.calendar;
+
+// AstroTest
+
+import java.util.Date;
+import java.util.Locale;
+
+import com.ibm.icu.dev.test.*;
+import com.ibm.icu.util.*;
+import com.ibm.icu.impl.CalendarAstronomer;
+import com.ibm.icu.impl.CalendarAstronomer.*;
+import com.ibm.icu.text.DateFormat;
+
+// TODO: try finding next new moon after  07/28/1984 16:00 GMT
+
+public class AstroTest extends TestFmwk {
+    public static void main(String[] args) throws Exception {
+        new AstroTest().run(args);
+    }
+
+    static final double PI = Math.PI;
+
+    public void TestSolarLongitude() {
+        GregorianCalendar gc = new GregorianCalendar(new SimpleTimeZone(0, "UTC"));
+        CalendarAstronomer astro = new CalendarAstronomer();
+        final double tests[][] = {
+            { 1980, 7, 27, 00, 00, 124.114347 },
+            { 1988, 7, 27, 00, 00, 124.187732 },
+        };
+        logln("");
+        for (int i = 0; i < tests.length; i++) {
+            gc.clear();
+            gc.set((int)tests[i][0], (int)tests[i][1]-1, (int)tests[i][2], (int)tests[i][3], (int) tests[i][4]);
+
+            astro.setDate(gc.getTime());
+
+            double longitude = astro.getSunLongitude();
+            longitude = 0;
+            Equatorial result = astro.getSunPosition();
+            result = null;
+        }
+    }
+
+    public void TestLunarPosition() {
+        GregorianCalendar gc = new GregorianCalendar(new SimpleTimeZone(0, "UTC"));
+        CalendarAstronomer astro = new CalendarAstronomer();
+        final double tests[][] = {
+            { 1979, 2, 26, 16, 00,  0, 0 },
+        };
+        logln("");
+
+        for (int i = 0; i < tests.length; i++) {
+            gc.clear();
+            gc.set((int)tests[i][0], (int)tests[i][1]-1, (int)tests[i][2], (int)tests[i][3], (int) tests[i][4]);
+            astro.setDate(gc.getTime());
+
+            Equatorial result = astro.getMoonPosition();
+            result = null;
+        }
+
+    }
+
+    public void TestCoordinates() {
+        GregorianCalendar gc = new GregorianCalendar(new SimpleTimeZone(0, "UTC"));
+        CalendarAstronomer astro = new CalendarAstronomer();
+        Equatorial result = astro.eclipticToEquatorial(139.686111 * PI/ 180.0, 4.875278* PI / 180.0);
+        logln("result is " + result + ";  " + result.toHmsString());
+    }
+
+    public void TestCoverage() {
+        GregorianCalendar gc = new GregorianCalendar(new SimpleTimeZone(0, "UTC"));
+        GregorianCalendar cal = new GregorianCalendar(1958, Calendar.AUGUST, 15);
+        Date then = cal.getTime();
+        CalendarAstronomer myastro = new CalendarAstronomer(then);
+
+        //Latitude:  34 degrees 05' North
+        //Longitude:  118 degrees 22' West
+        double laLat = 34 + 5d/60, laLong = 360 - (118 + 22d/60);
+        CalendarAstronomer myastro2 = new CalendarAstronomer(laLong, laLat);
+
+        double eclLat = laLat * Math.PI / 360;
+        double eclLong = laLong * Math.PI / 360;
+        Ecliptic ecl = new Ecliptic(eclLat, eclLong);
+        logln("ecliptic: " + ecl);
+
+        CalendarAstronomer myastro3 = new CalendarAstronomer();
+        myastro3.setJulianDay((4713 + 2000) * 365.25);
+
+        CalendarAstronomer[] astronomers = {
+            myastro, myastro2, myastro3, myastro2 // check cache
+
+        };
+
+        for (int i = 0; i < astronomers.length; ++i) {
+            CalendarAstronomer astro = astronomers[i];
+
+            logln("astro: " + astro);
+            logln("   time: " + astro.getTime());
+            logln("   date: " + astro.getDate());
+            logln("   cent: " + astro.getJulianCentury());
+            logln("   gw sidereal: " + astro.getGreenwichSidereal());
+            logln("   loc sidereal: " + astro.getLocalSidereal());
+            logln("   equ ecl: " + astro.eclipticToEquatorial(ecl));
+            logln("   equ long: " + astro.eclipticToEquatorial(eclLong));
+            logln("   horiz: " + astro.eclipticToHorizon(eclLong));
+            logln("   sunrise: " + new Date(astro.getSunRiseSet(true)));
+            logln("   sunset: " + new Date(astro.getSunRiseSet(false)));
+            logln("   moon phase: " + astro.getMoonPhase());
+            logln("   moonrise: " + new Date(astro.getMoonRiseSet(true)));
+            logln("   moonset: " + new Date(astro.getMoonRiseSet(false)));
+            logln("   prev summer solstice: " + new Date(astro.getSunTime(CalendarAstronomer.SUMMER_SOLSTICE, false)));
+            logln("   next summer solstice: " + new Date(astro.getSunTime(CalendarAstronomer.SUMMER_SOLSTICE, true)));
+            logln("   prev full moon: " + new Date(astro.getMoonTime(CalendarAstronomer.FULL_MOON, false)));
+            logln("   next full moon: " + new Date(astro.getMoonTime(CalendarAstronomer.FULL_MOON, true)));
+        }
+
+    }
+
+    static final long DAY_MS = 24*60*60*1000L;
+
+    public void TestSunriseTimes() {
+
+        //        logln("Sunrise/Sunset times for San Jose, California, USA");
+        //        CalendarAstronomer astro = new CalendarAstronomer(-121.55, 37.20);
+        //        TimeZone tz = TimeZone.getTimeZone("America/Los_Angeles");
+
+        // We'll use a table generated by the UNSO website as our reference
+        // From: http://aa.usno.navy.mil/
+        //-Location: W079 25, N43 40
+        //-Rise and Set for the Sun for 2001
+        //-Zone:  4h West of Greenwich
+        int[] USNO = {
+             6,59, 19,45,
+             6,57, 19,46,
+             6,56, 19,47,
+             6,54, 19,48,
+             6,52, 19,49,
+             6,50, 19,51,
+             6,48, 19,52,
+             6,47, 19,53,
+             6,45, 19,54,
+             6,43, 19,55,
+             6,42, 19,57,
+             6,40, 19,58,
+             6,38, 19,59,
+             6,36, 20, 0,
+             6,35, 20, 1,
+             6,33, 20, 3,
+             6,31, 20, 4,
+             6,30, 20, 5,
+             6,28, 20, 6,
+             6,27, 20, 7,
+             6,25, 20, 8,
+             6,23, 20,10,
+             6,22, 20,11,
+             6,20, 20,12,
+             6,19, 20,13,
+             6,17, 20,14,
+             6,16, 20,16,
+             6,14, 20,17,
+             6,13, 20,18,
+             6,11, 20,19,
+        };
+
+        logln("Sunrise/Sunset times for Toronto, Canada");
+        CalendarAstronomer astro = new CalendarAstronomer(-(79+25/60), 43+40/60);
+
+        // As of ICU4J 2.8 the ICU4J time zones implement pass-through
+        // to the underlying JDK.  Because of variation in the
+        // underlying JDKs, we have to use a fixed-offset
+        // SimpleTimeZone to get consistent behavior between JDKs.
+        // The offset we want is [-18000000, 3600000] (raw, dst).
+        // [aliu 10/15/03]
+
+        // TimeZone tz = TimeZone.getTimeZone("America/Montreal");
+        TimeZone tz = new SimpleTimeZone(-18000000 + 3600000, "Montreal(FIXED)");
+
+        GregorianCalendar cal = new GregorianCalendar(tz, Locale.US);
+        GregorianCalendar cal2 = new GregorianCalendar(tz, Locale.US);
+        cal.clear();
+        cal.set(Calendar.YEAR, 2001);
+        cal.set(Calendar.MONTH, Calendar.APRIL);
+        cal.set(Calendar.DAY_OF_MONTH, 1);
+        cal.set(Calendar.HOUR_OF_DAY, 12); // must be near local noon for getSunRiseSet to work
+
+        DateFormat df = DateFormat.getTimeInstance(cal, DateFormat.MEDIUM, Locale.US);
+        DateFormat df2 = DateFormat.getDateTimeInstance(cal, DateFormat.MEDIUM, DateFormat.MEDIUM, Locale.US);
+        DateFormat day = DateFormat.getDateInstance(cal, DateFormat.MEDIUM, Locale.US);
+
+        for (int i=0; i < 30; i++) {
+            astro.setDate(cal.getTime());
+
+            Date sunrise = new Date(astro.getSunRiseSet(true));
+            Date sunset = new Date(astro.getSunRiseSet(false));
+
+            cal2.setTime(cal.getTime());
+            cal2.set(Calendar.SECOND,      0);
+            cal2.set(Calendar.MILLISECOND, 0);
+
+            cal2.set(Calendar.HOUR_OF_DAY, USNO[4*i+0]);
+            cal2.set(Calendar.MINUTE,      USNO[4*i+1]);
+            Date exprise = cal2.getTime();
+            cal2.set(Calendar.HOUR_OF_DAY, USNO[4*i+2]);
+            cal2.set(Calendar.MINUTE,      USNO[4*i+3]);
+            Date expset = cal2.getTime();
+            // Compute delta of what we got to the USNO data, in seconds
+            int deltarise = Math.abs((int)(sunrise.getTime() - exprise.getTime()) / 1000);
+            int deltaset = Math.abs((int)(sunset.getTime() - expset.getTime()) / 1000);
+
+            // Allow a deviation of 0..MAX_DEV seconds
+            // It would be nice to get down to 60 seconds, but at this
+            // point that appears to be impossible without a redo of the
+            // algorithm using something more advanced than Duffett-Smith.
+            final int MAX_DEV = 180;
+            if (deltarise > MAX_DEV || deltaset > MAX_DEV) {
+                if (deltarise > MAX_DEV) {
+                    errln("FAIL: " + day.format(cal.getTime()) +
+                          ", Sunrise: " + df2.format(sunrise) +
+                          " (USNO " + df.format(exprise) +
+                          " d=" + deltarise + "s)");
+                } else {
+                    logln(day.format(cal.getTime()) +
+                          ", Sunrise: " + df.format(sunrise) +
+                          " (USNO " + df.format(exprise) + ")");
+                }
+                if (deltaset > MAX_DEV) {
+                    errln("FAIL: " + day.format(cal.getTime()) +
+                          ", Sunset: " + df2.format(sunset) +
+                          " (USNO " + df.format(expset) +
+                          " d=" + deltaset + "s)");
+                } else {
+                    logln(day.format(cal.getTime()) +
+                          ", Sunset: " + df.format(sunset) +
+                          " (USNO " + df.format(expset) + ")");
+                }
+            } else {
+                logln(day.format(cal.getTime()) +
+                      ", Sunrise: " + df.format(sunrise) +
+                      " (USNO " + df.format(exprise) + ")" +
+                      ", Sunset: " + df.format(sunset) +
+                      " (USNO " + df.format(expset) + ")");
+            }
+            cal.add(Calendar.DATE, 1);
+        }
+
+//        CalendarAstronomer a = new CalendarAstronomer(-(71+5/60), 42+37/60);
+//        cal.clear();
+//        cal.set(cal.YEAR, 1986);
+//        cal.set(cal.MONTH, cal.MARCH);
+//        cal.set(cal.DATE, 10);
+//        cal.set(cal.YEAR, 1988);
+//        cal.set(cal.MONTH, cal.JULY);
+//        cal.set(cal.DATE, 27);
+//        a.setDate(cal.getTime());
+//        long r = a.getSunRiseSet2(true);
+    }
+
+    public void TestBasics() {
+        // Check that our JD computation is the same as the book's (p. 88)
+        GregorianCalendar gc = new GregorianCalendar(new SimpleTimeZone(0, "UTC"));
+        CalendarAstronomer astro = new CalendarAstronomer();
+        GregorianCalendar cal3 = new GregorianCalendar(TimeZone.getTimeZone("GMT"), Locale.US);
+        DateFormat d3 = DateFormat.getDateTimeInstance(cal3, DateFormat.MEDIUM,DateFormat.MEDIUM,Locale.US);
+        cal3.clear();
+        cal3.set(Calendar.YEAR, 1980);
+        cal3.set(Calendar.MONTH, Calendar.JULY);
+        cal3.set(Calendar.DATE, 27);
+        astro.setDate(cal3.getTime());
+        double jd = astro.getJulianDay() - 2447891.5;
+        double exp = -3444;
+        if (jd == exp) {
+            logln(d3.format(cal3.getTime()) + " => " + jd);
+        } else {
+            errln("FAIL: " + d3.format(cal3.getTime()) + " => " + jd +
+                  ", expected " + exp);
+        }
+
+
+//        cal3.clear();
+//        cal3.set(cal3.YEAR, 1990);
+//        cal3.set(cal3.MONTH, Calendar.JANUARY);
+//        cal3.set(cal3.DATE, 1);
+//        cal3.add(cal3.DATE, -1);
+//        astro.setDate(cal3.getTime());
+//        astro.foo();
+    }
+}
diff --git a/src/com/ibm/icu/dev/test/calendar/CalendarRegression.java b/src/com/ibm/icu/dev/test/calendar/CalendarRegression.java
new file mode 100755
index 0000000..65cf75f
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/calendar/CalendarRegression.java
@@ -0,0 +1,1910 @@
+/**
+ *******************************************************************************
+ * Copyright (C) 2000-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.test.calendar;
+import com.ibm.icu.util.*;
+
+import java.util.Date;
+import java.util.Locale;
+
+import com.ibm.icu.impl.CalendarAstronomer;
+import com.ibm.icu.text.*;
+
+/**
+ * @test 1.32 99/11/14
+ * @bug 4031502 4035301 4040996 4051765 4059654 4061476 4070502 4071197 4071385
+ * 4073929 4083167 4086724 4092362 4095407 4096231 4096539 4100311 4103271
+ * 4106136 4108764 4114578 4118384 4125881 4125892 4136399 4141665 4142933
+ * 4145158 4145983 4147269 4149677 4162587 4165343 4166109 4167060 4173516
+ * 4174361 4177484 4197699 4209071 4288792
+ */
+public class CalendarRegression extends com.ibm.icu.dev.test.TestFmwk {
+
+    public static void main(String[] args) throws Exception {
+        new CalendarRegression().run(args);
+    }
+    static final String[] FIELD_NAME = {
+            "ERA", "YEAR", "MONTH", "WEEK_OF_YEAR", "WEEK_OF_MONTH",
+            "DAY_OF_MONTH", "DAY_OF_YEAR", "DAY_OF_WEEK",
+            "DAY_OF_WEEK_IN_MONTH", "AM_PM", "HOUR", "HOUR_OF_DAY",
+            "MINUTE", "SECOND", "MILLISECOND", "ZONE_OFFSET",
+            "DST_OFFSET", "YEAR_WOY", "DOW_LOCAL", "EXTENDED_YEAR",
+            "JULIAN_DAY", "MILLISECONDS_IN_DAY"
+        };
+
+
+    /*
+      Synopsis: java.sql.Timestamp constructor works wrong on Windows 95
+
+      ==== Here is the test ==== 
+      public static void main (String args[]) { 
+        java.sql.Timestamp t= new java.sql.Timestamp(0,15,5,5,8,13,123456700); 
+        logln("expected=1901-04-05 05:08:13.1234567"); 
+        logln(" result="+t); 
+      } 
+      
+      ==== Here is the output of the test on Solaris or NT ==== 
+      expected=1901-04-05 05:08:13.1234567 
+      result=1901-04-05 05:08:13.1234567 
+      
+      ==== Here is the output of the test on Windows95 ==== 
+      expected=1901-04-05 05:08:13.1234567 
+      result=1901-04-05 06:08:13.1234567 
+      */
+
+    public void Test4031502() {
+        try{
+            // This bug actually occurs on Windows NT as well, and doesn't
+            // require the host zone to be set; it can be set in Java.
+            String[] ids = TimeZone.getAvailableIDs();
+            boolean bad = false;
+            for (int i=0; i<ids.length; ++i) {
+                TimeZone zone = TimeZone.getTimeZone(ids[i]);
+                GregorianCalendar cal = new GregorianCalendar(zone);
+                cal.clear();
+                cal.set(1900, 15, 5, 5, 8, 13);
+                if (cal.get(Calendar.HOUR) != 5) {
+                    logln("Fail: " + zone.getID() + " " +
+                          zone.useDaylightTime() + "; DST_OFFSET = " +
+                          cal.get(Calendar.DST_OFFSET) / (60*60*1000.0) + "; ZONE_OFFSET = " +
+                          cal.get(Calendar.ZONE_OFFSET) / (60*60*1000.0) + "; getRawOffset() = " +
+                          zone.getRawOffset() / (60*60*1000.0) +
+                          "; HOUR = " + cal.get(Calendar.HOUR));
+                    cal.clear();
+                    cal.set(1900, 15, 5, 5, 8, 13);
+                    if (cal.get(Calendar.HOUR) != 5) {
+                        logln("Fail: " + zone.getID() + " " +
+                              zone.useDaylightTime() + "; DST_OFFSET = " +
+                              cal.get(Calendar.DST_OFFSET) / (60*60*1000.0) + "; ZONE_OFFSET = " +
+                              cal.get(Calendar.ZONE_OFFSET) / (60*60*1000.0) + "; getRawOffset() = " +
+                              zone.getRawOffset() / (60*60*1000.0) +
+                              "; HOUR = " + cal.get(Calendar.HOUR));
+                        cal.clear();
+                        cal.set(1900, 15, 5, 5, 8, 13);
+                        logln("ms = " + cal.getTime() + " (" + cal.getTime().getTime() + ")");
+                        cal.get(Calendar.HOUR);
+                        java.util.GregorianCalendar cal2 = new java.util.GregorianCalendar(java.util.TimeZone.getTimeZone(ids[i]));
+                        cal2.clear();
+                        cal2.set(1900, 15, 5, 5, 8, 13);
+                        cal2.get(Calendar.HOUR);
+                        logln("java.util.GC: " + zone.getID() + " " +
+                            zone.useDaylightTime() + "; DST_OFFSET = " +
+                            cal2.get(Calendar.DST_OFFSET) / (60*60*1000.0) + "; ZONE_OFFSET = " +
+                            cal2.get(Calendar.ZONE_OFFSET) / (60*60*1000.0) + "; getRawOffset() = " +
+                            zone.getRawOffset() / (60*60*1000.0) +
+                            "; HOUR = " + cal.get(Calendar.HOUR));
+                        logln("ms = " + cal2.getTime() + " (" + cal2.getTime().getTime() + ")");
+                        bad = true;
+                    } else if (false) { // Change to true to debug
+                        logln("OK: " + zone.getID() + " " +
+                              zone.useDaylightTime() + " " +
+                              cal.get(Calendar.DST_OFFSET) / (60*60*1000) + " " +
+                              zone.getRawOffset() / (60*60*1000) +
+                              ": HOUR = " + cal.get(Calendar.HOUR));
+                    }
+                }
+                if (bad) errln("TimeZone problems with GC");
+            }
+        } catch (Exception e) {
+            warnln("Could not load data. "+ e.getMessage());
+        }
+    }
+
+    public void Test4035301() {
+        
+        try {
+            GregorianCalendar c = new GregorianCalendar(98, 8, 7);
+            GregorianCalendar d = new GregorianCalendar(98, 8, 7);
+            if (c.after(d) ||
+                c.after(c) ||
+                c.before(d) ||
+                c.before(c) ||
+                !c.equals(c) ||
+                !c.equals(d))
+                errln("Fail");
+        } catch (Exception e) {
+            // TODO Auto-generated catch block
+            warnln("Could not load data. "+ e.getMessage());
+        }
+    }
+
+    public void Test4040996() {
+        try {
+            String[] ids = TimeZone.getAvailableIDs(-8 * 60 * 60 * 1000);
+            SimpleTimeZone pdt = new SimpleTimeZone(-8 * 60 * 60 * 1000, ids[0]);
+            pdt.setStartRule(Calendar.APRIL, 1, Calendar.SUNDAY, 2 * 60 * 60 * 1000);
+            pdt.setEndRule(Calendar.OCTOBER, -1, Calendar.SUNDAY, 2 * 60 * 60 * 1000);
+            Calendar calendar = new GregorianCalendar(pdt);
+
+            calendar.set(Calendar.MONTH,3);
+            calendar.set(Calendar.DAY_OF_MONTH,18);
+            calendar.set(Calendar.SECOND, 30);
+
+            logln("MONTH: " + calendar.get(Calendar.MONTH));
+            logln("DAY_OF_MONTH: " + 
+                               calendar.get(Calendar.DAY_OF_MONTH));
+            logln("MINUTE: " + calendar.get(Calendar.MINUTE));
+            logln("SECOND: " + calendar.get(Calendar.SECOND));
+
+            calendar.add(Calendar.SECOND,6);
+            //This will print out todays date for MONTH and DAY_OF_MONTH
+            //instead of the date it was set to.
+            //This happens when adding MILLISECOND or MINUTE also
+            logln("MONTH: " + calendar.get(Calendar.MONTH));
+            logln("DAY_OF_MONTH: " + 
+                               calendar.get(Calendar.DAY_OF_MONTH));
+            logln("MINUTE: " + calendar.get(Calendar.MINUTE));
+            logln("SECOND: " + calendar.get(Calendar.SECOND));
+            if (calendar.get(Calendar.MONTH) != 3 ||
+                calendar.get(Calendar.DAY_OF_MONTH) != 18 ||
+                calendar.get(Calendar.SECOND) != 36)
+                errln("Fail: Calendar.add misbehaves");
+        } catch (Exception e) {
+            warnln("Could not load data. "+ e.getMessage());
+        }
+    }
+
+    public void Test4051765() {
+        try {
+            Calendar cal = Calendar.getInstance();
+            cal.setLenient(false);
+            cal.set(Calendar.DAY_OF_WEEK, 0);
+            try {
+                cal.getTime();
+                errln("Fail: DAY_OF_WEEK 0 should be disallowed");
+            }
+            catch (IllegalArgumentException e) {
+                return;
+            }
+        } catch (Exception e) {
+            // TODO Auto-generated catch block
+            warnln("Could not load data. "+ e.getMessage());
+        }
+    }
+    
+    /*
+     * User error - no bug here public void Test4059524() { // Create calendar
+     * for April 10, 1997 GregorianCalendar calendar = new GregorianCalendar(); //
+     * print out a bunch of interesting things logln("ERA: " +
+     * calendar.get(calendar.ERA)); logln("YEAR: " +
+     * calendar.get(calendar.YEAR)); logln("MONTH: " +
+     * calendar.get(calendar.MONTH)); logln("WEEK_OF_YEAR: " +
+     * calendar.get(calendar.WEEK_OF_YEAR)); logln("WEEK_OF_MONTH: " +
+     * calendar.get(calendar.WEEK_OF_MONTH)); logln("DATE: " +
+     * calendar.get(calendar.DATE)); logln("DAY_OF_MONTH: " +
+     * calendar.get(calendar.DAY_OF_MONTH)); logln("DAY_OF_YEAR: " +
+     * calendar.get(calendar.DAY_OF_YEAR)); logln("DAY_OF_WEEK: " +
+     * calendar.get(calendar.DAY_OF_WEEK)); logln("DAY_OF_WEEK_IN_MONTH: " +
+     * calendar.get(calendar.DAY_OF_WEEK_IN_MONTH)); logln("AM_PM: " +
+     * calendar.get(calendar.AM_PM)); logln("HOUR: " +
+     * calendar.get(calendar.HOUR)); logln("HOUR_OF_DAY: " +
+     * calendar.get(calendar.HOUR_OF_DAY)); logln("MINUTE: " +
+     * calendar.get(calendar.MINUTE)); logln("SECOND: " +
+     * calendar.get(calendar.SECOND)); logln("MILLISECOND: " +
+     * calendar.get(calendar.MILLISECOND)); logln("ZONE_OFFSET: " +
+     * (calendar.get(calendar.ZONE_OFFSET)/(60*60*1000))); logln("DST_OFFSET: " +
+     * (calendar.get(calendar.DST_OFFSET)/(60*60*1000))); calendar = new
+     * GregorianCalendar(1997,3,10); calendar.getTime(); logln("April 10,
+     * 1997"); logln("ERA: " + calendar.get(calendar.ERA)); logln("YEAR: " +
+     * calendar.get(calendar.YEAR)); logln("MONTH: " +
+     * calendar.get(calendar.MONTH)); logln("WEEK_OF_YEAR: " +
+     * calendar.get(calendar.WEEK_OF_YEAR)); logln("WEEK_OF_MONTH: " +
+     * calendar.get(calendar.WEEK_OF_MONTH)); logln("DATE: " +
+     * calendar.get(calendar.DATE)); logln("DAY_OF_MONTH: " +
+     * calendar.get(calendar.DAY_OF_MONTH)); logln("DAY_OF_YEAR: " +
+     * calendar.get(calendar.DAY_OF_YEAR)); logln("DAY_OF_WEEK: " +
+     * calendar.get(calendar.DAY_OF_WEEK)); logln("DAY_OF_WEEK_IN_MONTH: " +
+     * calendar.get(calendar.DAY_OF_WEEK_IN_MONTH)); logln("AM_PM: " +
+     * calendar.get(calendar.AM_PM)); logln("HOUR: " +
+     * calendar.get(calendar.HOUR)); logln("HOUR_OF_DAY: " +
+     * calendar.get(calendar.HOUR_OF_DAY)); logln("MINUTE: " +
+     * calendar.get(calendar.MINUTE)); logln("SECOND: " +
+     * calendar.get(calendar.SECOND)); logln("MILLISECOND: " +
+     * calendar.get(calendar.MILLISECOND)); logln("ZONE_OFFSET: " +
+     * (calendar.get(calendar.ZONE_OFFSET)/(60*60*1000))); // in hours
+     * logln("DST_OFFSET: " + (calendar.get(calendar.DST_OFFSET)/(60*60*1000))); //
+     * in hours }
+     */
+
+    public void Test4059654() {
+   //     try {
+            // work around bug for jdk1.4 on solaris 2.6, which uses funky
+            // timezone names
+            // jdk1.4.1 will drop support for 2.6 so we should be ok when it
+            // comes out
+            java.util.TimeZone javazone = java.util.TimeZone.getTimeZone("GMT");
+            TimeZone icuzone = TimeZone.getTimeZone("GMT");
+
+            GregorianCalendar gc = new GregorianCalendar(icuzone);
+            
+            gc.set(1997, 3, 1, 15, 16, 17); // April 1, 1997
+
+            gc.set(Calendar.HOUR, 0);
+            gc.set(Calendar.AM_PM, Calendar.AM);
+            gc.set(Calendar.MINUTE, 0);
+            gc.set(Calendar.SECOND, 0);
+            gc.set(Calendar.MILLISECOND, 0);
+
+            Date cd = gc.getTime();
+            java.util.Calendar cal = java.util.Calendar.getInstance(javazone);
+            cal.clear();
+            cal.set(1997, 3, 1, 0, 0, 0);
+            Date exp = cal.getTime();
+            if (!cd.equals(exp))
+                errln("Fail: Calendar.set broken. Got " + cd + " Want " + exp);
+   //     } catch (RuntimeException e) {
+            // TODO Auto-generated catch block
+   //         e.printStackTrace();
+  //      }
+    }
+
+    public void Test4061476() {
+        SimpleDateFormat fmt = new SimpleDateFormat("ddMMMyy", Locale.UK);
+        Calendar cal = GregorianCalendar.getInstance(TimeZone.getTimeZone("GMT"), 
+                                                     Locale.UK);
+        fmt.setCalendar(cal);
+        try
+            {
+                Date date = fmt.parse("29MAY97");
+                cal.setTime(date);
+            }
+        catch (Exception e) {
+            System.out.print("");
+        }
+        cal.set(Calendar.HOUR_OF_DAY, 13);
+        logln("Hour: "+cal.get(Calendar.HOUR_OF_DAY));
+        cal.add(Calendar.HOUR_OF_DAY, 6);
+        logln("Hour: "+cal.get(Calendar.HOUR_OF_DAY));
+        if (cal.get(Calendar.HOUR_OF_DAY) != 19)
+            errln("Fail: Want 19 Got " + cal.get(Calendar.HOUR_OF_DAY));
+    }
+
+    public void Test4070502() {
+        java.util.Calendar tempcal = java.util.Calendar.getInstance();
+        tempcal.clear();
+        tempcal.set(1998, 0, 30);
+        Date d = getAssociatedDate(tempcal.getTime());
+        Calendar cal = new GregorianCalendar();
+        cal.setTime(d);
+        if (cal.get(Calendar.DAY_OF_WEEK) == Calendar.SATURDAY ||
+            cal.get(Calendar.DAY_OF_WEEK) == Calendar.SUNDAY)
+            errln("Fail: Want weekday Got " + d);
+    }
+
+    /**
+     * Get the associated date starting from a specified date NOTE: the
+     * unnecessary "getTime()'s" below are a work-around for a bug in jdk 1.1.3
+     * (and probably earlier versions also)
+     * <p>
+     * 
+     * @param d
+     *            The date to start from
+     */
+    public static Date getAssociatedDate(Date d) {
+        GregorianCalendar cal = new GregorianCalendar();
+        cal.setTime(d);
+        //cal.add(field, amount); //<-- PROBLEM SEEN WITH field = DATE,MONTH
+        // cal.getTime(); // <--- REMOVE THIS TO SEE BUG
+        while (true) {
+            int wd = cal.get(Calendar.DAY_OF_WEEK);
+            if (wd == Calendar.SATURDAY || wd == Calendar.SUNDAY) {
+                cal.add(Calendar.DATE, 1);
+                // cal.getTime();
+            }
+            else
+                break;
+        }
+        return cal.getTime();
+    }
+
+    public void Test4071197() {
+        dowTest(false);
+        dowTest(true);
+    }
+
+    void dowTest(boolean lenient) {
+        GregorianCalendar cal = new GregorianCalendar();
+        cal.set(1997, Calendar.AUGUST, 12); // Wednesday
+        // cal.getTime(); // Force update
+        cal.setLenient(lenient);
+        cal.set(1996, Calendar.DECEMBER, 1); // Set the date to be December 1,
+                                             // 1996
+        int dow = cal.get(Calendar.DAY_OF_WEEK);
+        int min = cal.getMinimum(Calendar.DAY_OF_WEEK);
+        int max = cal.getMaximum(Calendar.DAY_OF_WEEK);
+        logln(cal.getTime().toString());
+        if (min != Calendar.SUNDAY || max != Calendar.SATURDAY)
+            errln("FAIL: Min/max bad");
+        if (dow < min || dow > max) 
+            errln("FAIL: Day of week " + dow + " out of range");
+        if (dow != Calendar.SUNDAY) 
+            errln("FAIL: Day of week should be SUNDAY Got " + dow);
+    }
+
+    public void Test4071385() {
+    // work around bug for jdk1.4 on solaris 2.6, which uses funky timezone
+    // names
+    // jdk1.4.1 will drop support for 2.6 so we should be ok when it comes out
+    java.util.TimeZone javazone = java.util.TimeZone.getTimeZone("GMT");
+    TimeZone icuzone = TimeZone.getTimeZone("GMT");
+
+        Calendar cal = Calendar.getInstance(icuzone);
+        java.util.Calendar tempcal = java.util.Calendar.getInstance(javazone);
+        tempcal.clear();
+        tempcal.set(1998, Calendar.JUNE, 24);
+        cal.setTime(tempcal.getTime());
+        cal.set(Calendar.MONTH, Calendar.NOVEMBER); // change a field
+        logln(cal.getTime().toString());
+        tempcal.set(1998, Calendar.NOVEMBER, 24);
+        if (!cal.getTime().equals(tempcal.getTime()))
+            errln("Fail");
+    }
+
+    public void Test4073929() {
+        GregorianCalendar foo1 = new GregorianCalendar(1997, 8, 27);
+        foo1.add(Calendar.DAY_OF_MONTH, +1);
+        int testyear = foo1.get(Calendar.YEAR);
+        int testmonth = foo1.get(Calendar.MONTH);
+        int testday = foo1.get(Calendar.DAY_OF_MONTH);
+        if (testyear != 1997 ||
+            testmonth != 8 ||
+            testday != 28)
+            errln("Fail: Calendar not initialized");
+    }
+
+    public void Test4083167() {
+        TimeZone saveZone = TimeZone.getDefault();
+        try {
+            TimeZone.setDefault(TimeZone.getTimeZone("UTC"));
+            Date firstDate = new Date();
+            Calendar cal = new GregorianCalendar();
+            cal.setTime(firstDate);
+            long firstMillisInDay = cal.get(Calendar.HOUR_OF_DAY) * 3600000L +
+                cal.get(Calendar.MINUTE) * 60000L +
+                cal.get(Calendar.SECOND) * 1000L +
+                cal.get(Calendar.MILLISECOND);
+            
+            logln("Current time: " + firstDate.toString());
+
+            for (int validity=0; validity<30; validity++) {
+                Date lastDate = new Date(firstDate.getTime() +
+                                         (long)validity*1000*24*60*60);
+                cal.setTime(lastDate);
+                long millisInDay = cal.get(Calendar.HOUR_OF_DAY) * 3600000L +
+                    cal.get(Calendar.MINUTE) * 60000L +
+                    cal.get(Calendar.SECOND) * 1000L +
+                    cal.get(Calendar.MILLISECOND);
+                if (firstMillisInDay != millisInDay) 
+                    errln("Day has shifted " + lastDate);
+            }
+        }
+        finally {
+            TimeZone.setDefault(saveZone);
+        }
+    }
+
+    public void Test4086724() {
+        SimpleDateFormat date;
+        TimeZone saveZone = TimeZone.getDefault();
+        Locale saveLocale = Locale.getDefault();
+        try {
+            Locale.setDefault(Locale.UK); 
+            TimeZone.setDefault(TimeZone.getTimeZone("GMT"));
+            date=new SimpleDateFormat("dd MMM yyy (zzzz) 'is in week' ww"); 
+            Calendar cal=Calendar.getInstance(); 
+            cal.set(1997,Calendar.SEPTEMBER,30); 
+            Date now=cal.getTime(); 
+            logln(date.format(now)); 
+            cal.set(1997,Calendar.JANUARY,1); 
+            now=cal.getTime(); 
+            logln(date.format(now)); 
+            cal.set(1997,Calendar.JANUARY,8); 
+            now=cal.getTime(); 
+            logln(date.format(now)); 
+            cal.set(1996,Calendar.DECEMBER,31); 
+            now=cal.getTime(); 
+            logln(date.format(now)); 
+        }
+        finally {
+            Locale.setDefault(saveLocale);
+            TimeZone.setDefault(saveZone);
+        }
+        logln("*** THE RESULTS OF THIS TEST MUST BE VERIFIED MANUALLY ***");
+    }
+
+    public void Test4092362() {
+        GregorianCalendar cal1 = new GregorianCalendar(1997, 10, 11, 10, 20, 40); 
+        /*
+         * cal1.set( Calendar.YEAR, 1997 ); cal1.set( Calendar.MONTH, 10 );
+         * cal1.set( Calendar.DATE, 11 ); cal1.set( Calendar.HOUR, 10 );
+         * cal1.set( Calendar.MINUTE, 20 ); cal1.set( Calendar.SECOND, 40 );
+         */
+
+        logln( " Cal1 = " + cal1.getTime().getTime() ); 
+        logln( " Cal1 time in ms = " + cal1.get(Calendar.MILLISECOND) ); 
+        for( int k = 0; k < 100 ; k++ ) {
+            System.out.print(""); 
+        }
+
+        GregorianCalendar cal2 = new GregorianCalendar(1997, 10, 11, 10, 20, 40); 
+        /*
+         * cal2.set( Calendar.YEAR, 1997 ); cal2.set( Calendar.MONTH, 10 );
+         * cal2.set( Calendar.DATE, 11 ); cal2.set( Calendar.HOUR, 10 );
+         * cal2.set( Calendar.MINUTE, 20 ); cal2.set( Calendar.SECOND, 40 );
+         */
+
+        logln( " Cal2 = " + cal2.getTime().getTime() ); 
+        logln( " Cal2 time in ms = " + cal2.get(Calendar.MILLISECOND) ); 
+        if( !cal1.equals( cal2 ) ) 
+            errln("Fail: Milliseconds randomized");
+    }
+
+    public void Test4095407() {
+        GregorianCalendar a = new GregorianCalendar(1997,Calendar.NOVEMBER, 13);
+        int dow = a.get(Calendar.DAY_OF_WEEK);
+        if (dow != Calendar.THURSDAY)
+            errln("Fail: Want THURSDAY Got " + dow);
+    }
+
+    public void Test4096231() {
+        TimeZone GMT = TimeZone.getTimeZone("GMT");
+        TimeZone PST = TimeZone.getTimeZone("PST");
+        int sec = 0, min = 0, hr = 0, day = 1, month = 10, year = 1997;
+                            
+        Calendar cal1 = new GregorianCalendar(PST);
+        cal1.setTime(new Date(880698639000L));
+        int p;
+        logln("PST 1 is: " + (p=cal1.get(Calendar.HOUR_OF_DAY)));
+        cal1.setTimeZone(GMT);
+        // Issue 1: Changing the timezone doesn't change the
+        //          represented time.
+        int h1,h2;
+        logln("GMT 1 is: " + (h1=cal1.get(Calendar.HOUR_OF_DAY)));
+        cal1.setTime(new Date(880698639000L));
+        logln("GMT 2 is: " + (h2=cal1.get(Calendar.HOUR_OF_DAY)));
+        // Note: This test had a bug in it. It wanted h1!=h2, when
+        // what was meant was h1!=p. Fixed this concurrent with fix
+        // to 4177484.
+        if (p == h1 || h1 != h2)
+            errln("Fail: Hour same in different zones");
+
+        Calendar cal2 = new GregorianCalendar(GMT);
+        Calendar cal3 = new GregorianCalendar(PST);
+        cal2.set(Calendar.MILLISECOND, 0);
+        cal3.set(Calendar.MILLISECOND, 0);
+
+        cal2.set(cal1.get(Calendar.YEAR),
+                 cal1.get(Calendar.MONTH),
+                 cal1.get(Calendar.DAY_OF_MONTH),
+                 cal1.get(Calendar.HOUR_OF_DAY),
+                 cal1.get(Calendar.MINUTE),
+                 cal1.get(Calendar.SECOND));
+
+        long t1,t2,t3,t4;
+        logln("RGMT 1 is: " + (t1=cal2.getTime().getTime()));
+        cal3.set(year, month, day, hr, min, sec);
+        logln("RPST 1 is: " + (t2=cal3.getTime().getTime()));
+        cal3.setTimeZone(GMT);
+        logln("RGMT 2 is: " + (t3=cal3.getTime().getTime()));
+        cal3.set(cal1.get(Calendar.YEAR),
+                 cal1.get(Calendar.MONTH),
+                 cal1.get(Calendar.DAY_OF_MONTH),
+                 cal1.get(Calendar.HOUR_OF_DAY),
+                 cal1.get(Calendar.MINUTE),
+                 cal1.get(Calendar.SECOND));
+        // Issue 2: Calendar continues to use the timezone in its
+        //          constructor for set() conversions, regardless
+        //          of calls to setTimeZone()
+        logln("RGMT 3 is: " + (t4=cal3.getTime().getTime()));
+        if (t1 == t2 ||
+            t1 != t4 ||
+            t2 != t3)
+            errln("Fail: Calendar zone behavior faulty");
+    }
+
+    public void Test4096539() {
+        int[] y = {31,28,31,30,31,30,31,31,30,31,30,31};
+
+        for (int x=0;x<12;x++) {
+            GregorianCalendar gc = new 
+                GregorianCalendar(1997,x,y[x]);
+            int m1,m2;
+            log((m1=gc.get(Calendar.MONTH)+1)+"/"+
+                             gc.get(Calendar.DATE)+"/"+gc.get(Calendar.YEAR)+
+                             " + 1mo = ");
+
+            gc.add(Calendar.MONTH, 1);
+            logln((m2=gc.get(Calendar.MONTH)+1)+"/"+
+                               gc.get(Calendar.DATE)+"/"+gc.get(Calendar.YEAR)
+                               );
+            int m = (m1 % 12) + 1;
+            if (m2 != m)
+                errln("Fail: Want " + m + " Got " + m2);
+        }
+        
+    }
+
+    public void Test4100311() {
+        GregorianCalendar cal = (GregorianCalendar)Calendar.getInstance();
+        cal.set(Calendar.YEAR, 1997);
+        cal.set(Calendar.DAY_OF_YEAR, 1);
+        Date d = cal.getTime();             // Should be Jan 1
+        logln(d.toString());
+        if (cal.get(Calendar.DAY_OF_YEAR) != 1)
+            errln("Fail: DAY_OF_YEAR not set");
+    }
+
+    public void Test4103271() {
+        SimpleDateFormat sdf = new SimpleDateFormat(); 
+        int numYears=40, startYear=1997, numDays=15; 
+        String output, testDesc; 
+        GregorianCalendar testCal = (GregorianCalendar)Calendar.getInstance(); 
+        testCal.clear();
+        sdf.setCalendar(testCal); 
+        sdf.applyPattern("d MMM yyyy"); 
+        boolean fail = false;
+        for (int firstDay=1; firstDay<=2; firstDay++) { 
+            for (int minDays=1; minDays<=7; minDays++) { 
+                testCal.setMinimalDaysInFirstWeek(minDays); 
+                testCal.setFirstDayOfWeek(firstDay); 
+                testDesc = ("Test" + String.valueOf(firstDay) + String.valueOf(minDays)); 
+                logln(testDesc + " => 1st day of week=" +
+                                   String.valueOf(firstDay) +
+                                   ", minimum days in first week=" +
+                                   String.valueOf(minDays)); 
+                for (int j=startYear; j<=startYear+numYears; j++) { 
+                    testCal.set(j,11,25); 
+                    for(int i=0; i<numDays; i++) { 
+                        testCal.add(Calendar.DATE,1); 
+                        String calWOY; 
+                        int actWOY = testCal.get(Calendar.WEEK_OF_YEAR);
+                        if (actWOY < 1 || actWOY > 53) {
+                            Date d = testCal.getTime(); 
+                            calWOY = String.valueOf(actWOY); 
+                            output = testDesc + " - " + sdf.format(d) + "\t"; 
+                            output = output + "\t" + calWOY; 
+                            logln(output); 
+                            fail = true;
+                        }
+                    } 
+                } 
+            } 
+        } 
+
+        int[] DATA = {
+            3, 52, 52, 52, 52, 52, 52, 52,
+                1,  1,  1,  1,  1,  1,  1,
+                2,  2,  2,  2,  2,  2,  2,
+            4, 52, 52, 52, 52, 52, 52, 52,
+               53, 53, 53, 53, 53, 53, 53,
+                1,  1,  1,  1,  1,  1,  1,
+        };
+        testCal.setFirstDayOfWeek(Calendar.SUNDAY);
+        for (int j=0; j<DATA.length; j+=22) {
+            logln("Minimal days in first week = " + DATA[j] +
+                               "  Week starts on Sunday");
+            testCal.setMinimalDaysInFirstWeek(DATA[j]);
+            testCal.set(1997, Calendar.DECEMBER, 21);
+            for (int i=0; i<21; ++i) {
+                int woy = testCal.get(Calendar.WEEK_OF_YEAR);
+                log(testCal.getTime() + " " + woy);
+                if (woy != DATA[j + 1 + i]) {
+                    log(" ERROR");
+                    fail = true;
+                }
+                //logln();
+                
+                // Now compute the time from the fields, and make sure we
+                // get the same answer back. This is a round-trip test.
+                Date save = testCal.getTime();
+                testCal.clear();
+                testCal.set(Calendar.YEAR, DATA[j+1+i] < 25 ? 1998 : 1997);
+                testCal.set(Calendar.WEEK_OF_YEAR, DATA[j+1+i]);
+                testCal.set(Calendar.DAY_OF_WEEK, (i%7) + Calendar.SUNDAY);
+                if (!testCal.getTime().equals(save)) {
+                    logln("  Parse failed: " + testCal.getTime());
+                    fail= true;
+                }
+
+                testCal.setTime(save);
+                testCal.add(Calendar.DAY_OF_MONTH, 1);
+            }
+        }
+
+        Date d[] = new Date[8];
+        java.util.Calendar tempcal = java.util.Calendar.getInstance();
+        tempcal.clear();
+        tempcal.set(1997, Calendar.DECEMBER, 28);
+        d[0] = tempcal.getTime();
+        tempcal.set(1998, Calendar.JANUARY, 10);
+        d[1] = tempcal.getTime();
+        tempcal.set(1998, Calendar.DECEMBER, 31);
+        d[2] = tempcal.getTime();
+        tempcal.set(1999, Calendar.JANUARY, 1);
+        d[3] = tempcal.getTime();
+        // Test field disambiguation with a few special hard-coded cases.
+        // This shouldn't fail if the above cases aren't failing.
+        Object[] DISAM = {
+            new Integer(1998), new Integer(1), new Integer(Calendar.SUNDAY),
+                d[0],
+            new Integer(1998), new Integer(2), new Integer(Calendar.SATURDAY),
+                d[1],
+            new Integer(1998), new Integer(53), new Integer(Calendar.THURSDAY),
+                d[2],
+            new Integer(1998), new Integer(53), new Integer(Calendar.FRIDAY),
+                d[3],
+        };
+        testCal.setMinimalDaysInFirstWeek(3);
+        testCal.setFirstDayOfWeek(Calendar.SUNDAY);
+        for (int i=0; i<DISAM.length; i+=4) {
+            int y = ((Integer)DISAM[i]).intValue();
+            int woy = ((Integer)DISAM[i+1]).intValue();
+            int dow = ((Integer)DISAM[i+2]).intValue();
+            Date exp = (Date)DISAM[i+3];
+            testCal.clear();
+            testCal.set(Calendar.YEAR, y);
+            testCal.set(Calendar.WEEK_OF_YEAR, woy);
+            testCal.set(Calendar.DAY_OF_WEEK, dow);
+            log(y + "-W" + woy +
+                             "-DOW" + dow + " expect:" + exp +
+                             " got:" + testCal.getTime());
+            if (!testCal.getTime().equals(exp)) {
+                log("  FAIL");
+                fail = true;
+            }
+            //logln();
+        }
+
+        // Now try adding and rolling
+        Object ADD = new Object();
+        Object ROLL = new Object();
+        tempcal.set(1998, Calendar.DECEMBER, 25);
+        d[0] = tempcal.getTime();
+        tempcal.set(1999, Calendar.JANUARY, 1);
+        d[1] = tempcal.getTime();
+        tempcal.set(1997, Calendar.DECEMBER, 28);
+        d[2] = tempcal.getTime();
+        tempcal.set(1998, Calendar.JANUARY, 4);
+        d[3] = tempcal.getTime();
+        tempcal.set(1998, Calendar.DECEMBER, 27);
+        d[4] = tempcal.getTime();
+        tempcal.set(1997, Calendar.DECEMBER, 28);
+        d[5] = tempcal.getTime();
+        tempcal.set(1999, Calendar.JANUARY, 2);
+        d[6] = tempcal.getTime();
+        tempcal.set(1998, Calendar.JANUARY, 3);
+        d[7] = tempcal.getTime();
+        
+        Object[] ADDROLL = {
+            ADD, new Integer(1), d[0], d[1],
+            ADD, new Integer(1), d[2], d[3],
+            ROLL, new Integer(1), d[4], d[5],
+            ROLL, new Integer(1), d[6], d[7],
+        };
+        testCal.setMinimalDaysInFirstWeek(3);
+        testCal.setFirstDayOfWeek(Calendar.SUNDAY);
+        for (int i=0; i<ADDROLL.length; i+=4) {
+            int amount = ((Integer)ADDROLL[i+1]).intValue();
+            Date before = (Date)ADDROLL[i+2];
+            Date after = (Date)ADDROLL[i+3];
+
+            testCal.setTime(before);
+            if (ADDROLL[i] == ADD) testCal.add(Calendar.WEEK_OF_YEAR, amount);
+            else testCal.roll(Calendar.WEEK_OF_YEAR, amount);
+            log((ADDROLL[i]==ADD?"add(WOY,":"roll(WOY,") +
+                             amount + ") " + before + " => " +
+                             testCal.getTime());
+            if (!after.equals(testCal.getTime())) {
+                logln("  exp:" + after + "  FAIL");
+                fail = true;
+            }
+            else logln(" ok");
+
+            testCal.setTime(after);
+            if (ADDROLL[i] == ADD) testCal.add(Calendar.WEEK_OF_YEAR, -amount);
+            else testCal.roll(Calendar.WEEK_OF_YEAR, -amount);
+            log((ADDROLL[i]==ADD?"add(WOY,":"roll(WOY,") +
+                             (-amount) + ") " + after + " => " +
+                             testCal.getTime());
+            if (!before.equals(testCal.getTime())) {
+                logln("  exp:" + before + "  FAIL");
+                fail = true;
+            }
+            else logln(" ok");
+        }
+
+        if (fail) errln("Fail: Week of year misbehaving");
+    } 
+
+    public void Test4106136() {
+        Locale saveLocale = Locale.getDefault();
+        String[] names = { "Calendar", "DateFormat", "NumberFormat" };
+        try {
+            Locale[] locales = { Locale.CHINESE, Locale.CHINA };
+            for (int i=0; i<locales.length; ++i) {
+                Locale.setDefault(locales[i]);
+                int[] n = {
+                    Calendar.getAvailableLocales().length,
+                    DateFormat.getAvailableLocales().length,
+                    NumberFormat.getAvailableLocales().length
+                };
+                for (int j=0; j<n.length; ++j) {
+                    if (n[j] == 0)
+                        errln("Fail: " + names[j] + " has no locales for " + locales[i]);
+                }
+            }
+        }
+        finally {
+            Locale.setDefault(saveLocale);
+        }
+    }
+
+    public void Test4108764() {
+        java.util.Calendar tempcal = java.util.Calendar.getInstance();
+        tempcal.clear();
+        tempcal.set(1997, Calendar.MARCH, 15, 12, 00, 00);
+        Date d00 = tempcal.getTime();
+        tempcal.set(1997, Calendar.MARCH, 15, 12, 00, 56);
+        Date d01 = tempcal.getTime();
+        tempcal.set(1997, Calendar.MARCH, 15, 12, 34, 00);
+        Date d10 = tempcal.getTime();
+        tempcal.set(1997, Calendar.MARCH, 15, 12, 34, 56);
+        Date d11 = tempcal.getTime();
+        tempcal.set(1997, Calendar.JANUARY, 15, 12, 34, 56);
+        Date dM  = tempcal.getTime();
+        tempcal.clear();
+        tempcal.set(1970, Calendar.JANUARY, 1);
+        Date epoch = tempcal.getTime();
+
+        Calendar cal = Calendar.getInstance(); 
+        cal.setTime(d11);
+
+        cal.clear( Calendar.MINUTE ); 
+        logln(cal.getTime().toString()); 
+        if (!cal.getTime().equals(d01)) {
+            errln("Fail: " + d11 + " clear(MINUTE) => expect " +
+                  d01 + ", got " + cal.getTime());
+        }
+
+        cal.set( Calendar.SECOND, 0 ); 
+        logln(cal.getTime().toString()); 
+        if (!cal.getTime().equals(d00))
+            errln("Fail: set(SECOND, 0) broken");
+
+        cal.setTime(d11);
+        cal.set( Calendar.SECOND, 0 ); 
+        logln(cal.getTime().toString()); 
+        if (!cal.getTime().equals(d10))
+            errln("Fail: set(SECOND, 0) broken #2");
+
+        cal.clear( Calendar.MINUTE ); 
+        logln(cal.getTime().toString()); 
+        if (!cal.getTime().equals(d00))
+            errln("Fail: clear(MINUTE) broken #2");
+
+        cal.clear();
+        logln(cal.getTime().toString());
+        if (!cal.getTime().equals(epoch))
+            errln("Fail: after clear() expect " + epoch + ", got " + cal.getTime());
+
+        cal.setTime(d11);
+        cal.clear( Calendar.MONTH ); 
+        logln(cal.getTime().toString()); 
+        if (!cal.getTime().equals(dM)) {
+            errln("Fail: " + d11 + " clear(MONTH) => expect " +
+                  dM + ", got " + cal.getTime());
+        }
+    }
+
+    public void Test4114578() {
+        int ONE_HOUR = 60*60*1000;
+        Calendar cal = Calendar.getInstance();
+        cal.setTimeZone(TimeZone.getTimeZone("PST"));
+        
+        java.util.Calendar tempcal = java.util.Calendar.getInstance();
+        tempcal.clear();
+        tempcal.set(1998, Calendar.APRIL, 5, 1, 0);
+        long onset = tempcal.getTime().getTime() + ONE_HOUR;
+        tempcal.set(1998, Calendar.OCTOBER, 25, 0, 0);
+        long cease = tempcal.getTime().getTime() + 2*ONE_HOUR;
+
+        boolean fail = false;
+        
+        final int ADD = 1;
+        final int ROLL = 2;
+
+        long[] DATA = {
+            // Start Action Amt Expected_change
+            onset - ONE_HOUR,   ADD,      1,     ONE_HOUR,
+            onset,              ADD,     -1,    -ONE_HOUR,
+            onset - ONE_HOUR,   ROLL,     1,     ONE_HOUR,
+            onset,              ROLL,    -1,    -ONE_HOUR,
+            cease - ONE_HOUR,   ADD,      1,     ONE_HOUR,
+            cease,              ADD,     -1,    -ONE_HOUR,
+            cease - ONE_HOUR,   ROLL,     1,     ONE_HOUR,
+            cease,              ROLL,    -1,    -ONE_HOUR,
+        };
+
+        for (int i=0; i<DATA.length; i+=4) {
+            Date date = new Date(DATA[i]);
+            int amt = (int) DATA[i+2];
+            long expectedChange = DATA[i+3];
+            
+            log(date.toString());
+            cal.setTime(date);
+
+            switch ((int) DATA[i+1]) {
+            case ADD:
+                log(" add (HOUR," + (amt<0?"":"+")+amt + ")= ");
+                cal.add(Calendar.HOUR, amt);
+                break;
+            case ROLL:
+                log(" roll(HOUR," + (amt<0?"":"+")+amt + ")= ");
+                cal.roll(Calendar.HOUR, amt);
+                break;
+            }
+
+            log(cal.getTime().toString());
+
+            long change = cal.getTime().getTime() - date.getTime();
+            if (change != expectedChange) {
+                fail = true;
+                logln(" FAIL");
+            }
+            else logln(" OK");
+        }
+
+        if (fail) errln("Fail: roll/add misbehaves around DST onset/cease");
+    }
+
+    /**
+     * Make sure maximum for HOUR field is 11, not 12.
+     */
+    public void Test4118384() {
+        Calendar cal = Calendar.getInstance();
+        if (cal.getMaximum(Calendar.HOUR) != 11 ||
+            cal.getLeastMaximum(Calendar.HOUR) != 11 ||
+            cal.getActualMaximum(Calendar.HOUR) != 11)
+            errln("Fail: maximum of HOUR field should be 11");
+    }
+
+    /**
+     * Check isLeapYear for BC years.
+     */
+    public void Test4125881() {
+        GregorianCalendar cal = (GregorianCalendar) Calendar.getInstance();
+        DateFormat fmt = new SimpleDateFormat("MMMM d, yyyy G");
+        cal.clear();
+        for (int y=-20; y<=10; ++y) {
+            cal.set(Calendar.ERA, y < 1 ? GregorianCalendar.BC : GregorianCalendar.AD);
+            cal.set(Calendar.YEAR, y < 1 ? 1 - y : y);
+            logln(y + " = " + fmt.format(cal.getTime()) + " " +
+                               cal.isLeapYear(y));
+            if (cal.isLeapYear(y) != ((y+40)%4 == 0))
+                errln("Leap years broken");
+        }
+    }
+
+    // I am disabling this test -- it is currently failing because of a bug
+    // in Sun's latest change to STZ.getOffset(). I have filed a Sun bug
+    // against this problem.
+
+    // Re-enabled after 'porting' TZ and STZ from java.util to com.ibm.icu.util.
+    /**
+     * Prove that GregorianCalendar is proleptic (it used to cut off at 45 BC,
+     * and not have leap years before then).
+     */
+    public void Test4125892() {
+        GregorianCalendar cal = (GregorianCalendar) Calendar.getInstance();
+        //DateFormat fmt = new SimpleDateFormat("MMMM d, yyyy G");
+        //fmt = null;
+        cal.clear();
+        cal.set(Calendar.ERA, GregorianCalendar.BC);
+        cal.set(Calendar.YEAR, 81); // 81 BC is a leap year (proleptically)
+        cal.set(Calendar.MONTH, Calendar.FEBRUARY);
+        cal.set(Calendar.DATE, 28);
+        cal.add(Calendar.DATE, 1);
+        if (cal.get(Calendar.DATE) != 29 ||
+            !cal.isLeapYear(-80)) // -80 == 81 BC
+            errln("Calendar not proleptic");
+    }
+
+    /**
+     * Calendar and GregorianCalendar hashCode() methods need improvement.
+     * Calendar needs a good implementation that subclasses can override, and
+     * GregorianCalendar should use that implementation.
+     */
+    public void Test4136399() {
+        /*
+         * Note: This test is actually more strict than it has to be.
+         * Technically, there is no requirement that unequal objects have
+         * unequal hashes. We only require equal objects to have equal hashes.
+         * It is desirable for unequal objects to have distributed hashes, but
+         * there is no hard requirement here.
+         * 
+         * In this test we make assumptions about certain attributes of calendar
+         * objects getting represented in the hash, which need not always be the
+         * case (although it does work currently with the given test).
+         */
+        Calendar a = Calendar.getInstance();
+        Calendar b = (Calendar)a.clone();
+        if (a.hashCode() != b.hashCode()) {
+            errln("Calendar hash code unequal for cloned objects");
+        }
+
+        b.setMinimalDaysInFirstWeek(7 - a.getMinimalDaysInFirstWeek());
+        if (a.hashCode() == b.hashCode()) {
+            errln("Calendar hash code ignores minimal days in first week");
+        }
+        b.setMinimalDaysInFirstWeek(a.getMinimalDaysInFirstWeek());
+
+        b.setFirstDayOfWeek((a.getFirstDayOfWeek() % 7) + 1); // Next day
+        if (a.hashCode() == b.hashCode()) {
+            errln("Calendar hash code ignores first day of week");
+        }
+        b.setFirstDayOfWeek(a.getFirstDayOfWeek());
+
+        b.setLenient(!a.isLenient());
+        if (a.hashCode() == b.hashCode()) {
+            errln("Calendar hash code ignores lenient setting");
+        }
+        b.setLenient(a.isLenient());
+        
+        // Assume getTimeZone() returns a reference, not a clone
+        // of a reference -- this is true as of this writing
+        b.getTimeZone().setRawOffset(a.getTimeZone().getRawOffset() + 60*60*1000);
+        if (a.hashCode() == b.hashCode()) {
+            errln("Calendar hash code ignores zone");
+        }
+        b.getTimeZone().setRawOffset(a.getTimeZone().getRawOffset());
+
+        GregorianCalendar c = new GregorianCalendar();
+        GregorianCalendar d = (GregorianCalendar)c.clone();
+        if (c.hashCode() != d.hashCode()) {
+            errln("GregorianCalendar hash code unequal for clones objects");
+        }
+        Date cutover = c.getGregorianChange();
+        d.setGregorianChange(new Date(cutover.getTime() + 24*60*60*1000));
+        if (c.hashCode() == d.hashCode()) {
+            errln("GregorianCalendar hash code ignores cutover");
+        }        
+    }
+
+    /**
+     * GregorianCalendar.equals() ignores cutover date
+     */
+    public void Test4141665() {
+        GregorianCalendar cal = new GregorianCalendar();
+        GregorianCalendar cal2 = (GregorianCalendar)cal.clone();
+        Date cut = cal.getGregorianChange();
+        Date cut2 = new Date(cut.getTime() + 100*24*60*60*1000L); // 100 days
+                                                                  // later
+        if (!cal.equals(cal2)) {
+            errln("Cloned GregorianCalendars not equal");
+        }
+        cal2.setGregorianChange(cut2);
+        if (cal.equals(cal2)) {
+            errln("GregorianCalendar.equals() ignores cutover");
+        }
+    }
+    
+    /**
+     * Bug states that ArrayIndexOutOfBoundsException is thrown by
+     * GregorianCalendar.roll() when IllegalArgumentException should be.
+     */
+    public void Test4142933() {
+        GregorianCalendar calendar = new GregorianCalendar();
+        try {
+            calendar.roll(-1, true);
+            errln("Test failed, no exception trown");
+        }
+        catch (IllegalArgumentException e) {
+            // OK: Do nothing
+            // logln("Test passed");
+            System.out.print("");
+        }
+        catch (Exception e) {
+            errln("Test failed. Unexpected exception is thrown: " + e);
+            e.printStackTrace();
+        } 
+    }
+
+    /**
+     * GregorianCalendar handling of Dates Long.MIN_VALUE and Long.MAX_VALUE is
+     * confusing; unless the time zone has a raw offset of zero, one or the
+     * other of these will wrap. We've modified the test given in the bug report
+     * to therefore only check the behavior of a calendar with a zero raw offset
+     * zone.
+     */
+    public void Test4145158() {
+        GregorianCalendar calendar = new GregorianCalendar();
+
+        calendar.setTimeZone(TimeZone.getTimeZone("GMT"));
+
+        calendar.setTime(new Date(Long.MIN_VALUE));
+        int year1 = calendar.get(Calendar.YEAR);
+        int era1 = calendar.get(Calendar.ERA);
+        
+        calendar.setTime(new Date(Long.MAX_VALUE));
+        int year2 = calendar.get(Calendar.YEAR);
+        int era2 = calendar.get(Calendar.ERA);
+        
+        if (year1 == year2 && era1 == era2) {
+            errln("Fail: Long.MIN_VALUE or Long.MAX_VALUE wrapping around");
+        }
+    }
+
+    /**
+     * Maximum value for YEAR field wrong.
+     */
+    public void Test4145983() {
+        GregorianCalendar calendar = new GregorianCalendar();
+        calendar.setTimeZone(TimeZone.getTimeZone("GMT"));
+        Date[] DATES = { new Date(Long.MAX_VALUE), new Date(Long.MIN_VALUE) };
+        for (int i=0; i<DATES.length; ++i) {
+            calendar.setTime(DATES[i]);
+            int year = calendar.get(Calendar.YEAR);
+            int maxYear = calendar.getMaximum(Calendar.YEAR);
+            if (year > maxYear) {
+                errln("Failed for "+DATES[i].getTime()+" ms: year=" +
+                      year + ", maxYear=" + maxYear);
+            }
+        }
+    }
+
+    /**
+     * This is a bug in the validation code of GregorianCalendar. As reported,
+     * the bug seems worse than it really is, due to a bug in the way the bug
+     * report test was written. In reality the bug is restricted to the
+     * DAY_OF_YEAR field. - liu 6/29/98
+     */
+    public void Test4147269() {
+        GregorianCalendar calendar = new GregorianCalendar();
+        calendar.setLenient(false);
+        java.util.Calendar tempcal = java.util.Calendar.getInstance();
+        tempcal.clear();
+        tempcal.set(1996, Calendar.JANUARY, 3); // Arbitrary date
+        Date date = tempcal.getTime(); 
+        for (int field = 0; field < calendar.getFieldCount(); field++) {
+            calendar.setTime(date);
+            // Note: In the bug report, getActualMaximum() was called instead
+            // of getMaximum() -- this was an error. The validation code doesn't
+            // use getActualMaximum(), since that's too costly.
+            int max = calendar.getMaximum(field);
+            int value = max+1;
+            calendar.set(field, value); 
+            try {
+                calendar.getTime(); // Force time computation
+                // We expect an exception to be thrown. If we fall through
+                // to the next line, then we have a bug.
+                errln("Test failed with field " + FIELD_NAME[field] +
+                      ", date before: " + date +
+                      ", date after: " + calendar.getTime() +
+                      ", value: " + value + " (max = " + max +")");
+            } catch (IllegalArgumentException e) {
+                System.out.print("");
+            } 
+        }
+    }
+
+    /**
+     * Reported bug is that a GregorianCalendar with a cutover of
+     * Date(Long.MAX_VALUE) doesn't behave as a pure Julian calendar. CANNOT
+     * REPRODUCE THIS BUG
+     */
+    public void Test4149677() {
+        TimeZone[] zones = { TimeZone.getTimeZone("GMT"),
+                             TimeZone.getTimeZone("PST"),
+                             TimeZone.getTimeZone("EAT") };
+        for (int i=0; i<zones.length; ++i) {
+            GregorianCalendar calendar = new GregorianCalendar(zones[i]);
+
+            // Make sure extreme values don't wrap around
+            calendar.setTime(new Date(Long.MIN_VALUE));
+            if (calendar.get(Calendar.ERA) != GregorianCalendar.BC) {
+                errln("Fail: Long.MIN_VALUE ms has an AD year");
+            }
+            calendar.setTime(new Date(Long.MAX_VALUE));
+            if (calendar.get(Calendar.ERA) != GregorianCalendar.AD) {
+                errln("Fail: Long.MAX_VALUE ms has a BC year");
+            }
+
+            calendar.setGregorianChange(new Date(Long.MAX_VALUE));
+            // to obtain a pure Julian calendar
+            
+            boolean is100Leap = calendar.isLeapYear(100);
+            if (!is100Leap) {
+                errln("test failed with zone " + zones[i].getID());
+                errln(" cutover date is Calendar.MAX_DATE");
+                errln(" isLeapYear(100) returns: " + is100Leap);
+            }
+        }
+    }
+
+    /**
+     * Calendar and Date HOUR broken. If HOUR is out-of-range, Calendar and Date
+     * classes will misbehave.
+     */
+    public void Test4162587() {
+        TimeZone tz = TimeZone.getTimeZone("PST");
+        TimeZone.setDefault(tz);
+        GregorianCalendar cal = new GregorianCalendar(tz);
+        Date d;
+        
+        for (int i=0; i<5; ++i) {
+            if (i>0) logln("---");
+
+            cal.clear();
+            cal.set(1998, Calendar.APRIL, 5, i, 0);
+            d = cal.getTime();
+            String s0 = d.toString();
+            logln("0 " + i + ": " + s0);
+
+            cal.clear();
+            cal.set(1998, Calendar.APRIL, 4, i+24, 0);
+            d = cal.getTime();
+            String sPlus = d.toString();
+            logln("+ " + i + ": " + sPlus);
+
+            cal.clear();
+            cal.set(1998, Calendar.APRIL, 6, i-24, 0);
+            d = cal.getTime();
+            String sMinus = d.toString();
+            logln("- " + i + ": " + sMinus);
+
+            if (!s0.equals(sPlus) || !s0.equals(sMinus)) {
+                errln("Fail: All three lines must match");
+            }
+        }
+    }
+
+    /**
+     * Adding 12 months behaves differently from adding 1 year
+     */
+    public void Test4165343() {
+        GregorianCalendar calendar = new GregorianCalendar(1996, Calendar.FEBRUARY, 29);
+        Date start = calendar.getTime();
+        logln("init date: " + start);
+        calendar.add(Calendar.MONTH, 12); 
+        Date date1 = calendar.getTime();
+        logln("after adding 12 months: " + date1);
+        calendar.setTime(start);
+        calendar.add(Calendar.YEAR, 1);
+        Date date2 = calendar.getTime();
+        logln("after adding one year : " + date2);
+        if (date1.equals(date2)) {
+            logln("Test passed");
+        } else {
+            errln("Test failed");
+        }
+    }
+
+    /**
+     * GregorianCalendar.getActualMaximum() does not account for first day of
+     * week.
+     */
+    public void Test4166109() {
+        /*
+         * Test month:
+         * 
+         * March 1998 Su Mo Tu We Th Fr Sa 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
+         * 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
+         */
+        boolean passed = true;
+        int field = Calendar.WEEK_OF_MONTH;
+
+        GregorianCalendar calendar = new GregorianCalendar(Locale.US);
+        calendar.set(1998, Calendar.MARCH, 1);
+        calendar.setMinimalDaysInFirstWeek(1);
+        logln("Date:  " + calendar.getTime());
+
+        int firstInMonth = calendar.get(Calendar.DAY_OF_MONTH);
+
+        for (int firstInWeek = Calendar.SUNDAY; firstInWeek <= Calendar.SATURDAY; firstInWeek++) {
+            calendar.setFirstDayOfWeek(firstInWeek);
+            int returned = calendar.getActualMaximum(field);
+            int expected = (31 + ((firstInMonth - firstInWeek + 7)% 7) + 6) / 7;
+
+            logln("First day of week = " + firstInWeek +
+                  "  getActualMaximum(WEEK_OF_MONTH) = " + returned +
+                  "  expected = " + expected +
+                  ((returned == expected) ? "  ok" : "  FAIL"));
+
+            if (returned != expected) {
+                passed = false;
+            }
+        }
+        if (!passed) {
+            errln("Test failed");
+        }
+    }
+
+    /**
+     * Calendar.getActualMaximum(YEAR) works wrong.
+     */
+    public void Test4167060() {
+        int field = Calendar.YEAR;
+        DateFormat format = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy G",
+                                                 Locale.US);
+
+        GregorianCalendar calendars[] = {
+            new GregorianCalendar(100, Calendar.NOVEMBER, 1),
+            new GregorianCalendar(-99 /* 100BC */, Calendar.JANUARY, 1),
+            new GregorianCalendar(1996, Calendar.FEBRUARY, 29),
+        };
+
+        String[] id = { "Hybrid", "Gregorian", "Julian" };
+
+        for (int k=0; k<3; ++k) {
+            logln("--- " + id[k] + " ---");
+
+            for (int j=0; j<calendars.length; ++j) {
+                GregorianCalendar calendar = calendars[j];
+                if (k == 1) {
+                    calendar.setGregorianChange(new Date(Long.MIN_VALUE));
+                } else if (k == 2) {
+                    calendar.setGregorianChange(new Date(Long.MAX_VALUE));
+                }
+
+                format.setCalendar((Calendar)calendar.clone());
+
+                Date dateBefore = calendar.getTime();
+
+                int maxYear = calendar.getActualMaximum(field);
+                logln("maxYear: " + maxYear + " for " + format.format(calendar.getTime()));
+                logln("date before: " + format.format(dateBefore));
+
+                int years[] = {2000, maxYear-1, maxYear, maxYear+1};
+
+                for (int i = 0; i < years.length; i++) {
+                    boolean valid = years[i] <= maxYear;
+                    calendar.set(field, years[i]);
+                    Date dateAfter = calendar.getTime();
+                    int newYear = calendar.get(field);
+                    calendar.setTime(dateBefore); // restore calendar for next
+                                                  // use
+
+                    logln(" Year " + years[i] + (valid? " ok " : " bad") +
+                          " => " + format.format(dateAfter));
+                    if (valid && newYear != years[i]) {
+                        errln("  FAIL: " + newYear + " should be valid; date, month and time shouldn't change");
+                    } else if (!valid && newYear == years[i]) {
+                        // We no longer require strict year maxima. That is, the
+                        // calendar
+                        // algorithm may work for values > the stated maximum.
+                        //errln(" FAIL: " + newYear + " should be invalid");
+                        logln("  Note: " + newYear + " > maximum, but still valid");
+                    }
+                }
+            }
+        }
+    }
+
+    /**
+     * Calendar.roll broken This bug relies on the TimeZone bug 4173604 to also
+     * be fixed.
+     */
+    public void Test4173516() {
+        int fieldsList[][] = {
+            { 1997, Calendar.FEBRUARY,  1, 10, 45, 15, 900 },
+            { 1999, Calendar.DECEMBER, 22, 23, 59, 59, 999 }
+        };
+        int limit = 40;
+        GregorianCalendar cal = new GregorianCalendar();
+
+        cal.setTime(new Date(0));
+        cal.roll(Calendar.HOUR,  0x7F000000);
+        cal.roll(Calendar.HOUR, -0x7F000000);
+        if (cal.getTime().getTime() != 0) {
+            errln("Hour rolling broken");
+        }
+
+        for (int op=0; op<2; ++op) {
+            logln("Testing GregorianCalendar " +
+                  (op==0 ? "add" : "roll"));
+            for (int field=0; field < cal.getFieldCount(); ++field) {
+                if (field != Calendar.ZONE_OFFSET &&
+                    field != Calendar.DST_OFFSET) {
+                    for (int j=0; j<fieldsList.length; ++j) {
+                        int fields[] = fieldsList[j];
+                        cal.clear();
+                        cal.set(fields[0], fields[1], fields[2],
+                                fields[3], fields[4], fields[5]);
+                        cal.set(Calendar.MILLISECOND, fields[6]);
+                        for (int i = 0; i < 2*limit; i++) {
+                            if (op == 0) {
+                                cal.add(field, i < limit ? 1 : -1);
+                            } else {
+                                cal.roll(field, i < limit ? 1 : -1);
+                            }
+                        }
+                        if (cal.get(Calendar.YEAR) != fields[0] ||
+                            cal.get(Calendar.MONTH) != fields[1] ||
+                            cal.get(Calendar.DATE) != fields[2] ||
+                            cal.get(Calendar.HOUR_OF_DAY) != fields[3] ||
+                            cal.get(Calendar.MINUTE) != fields[4] ||
+                            cal.get(Calendar.SECOND) != fields[5] ||
+                            cal.get(Calendar.MILLISECOND) != fields[6]) {
+                            errln("Field " + field +
+                                  " (" + FIELD_NAME[field] +
+                                  ") FAIL, expected " +
+                                  fields[0] +
+                                  "/" + (fields[1] + 1) +
+                                  "/" + fields[2] +
+                                  " " + fields[3] +
+                                  ":" + fields[4] +
+                                  ":" + fields[5] +
+                                  "." + fields[6] +
+                                  ", got " + cal.get(Calendar.YEAR) +
+                                  "/" + (cal.get(Calendar.MONTH) + 1) +
+                                  "/" + cal.get(Calendar.DATE) +
+                                  " " + cal.get(Calendar.HOUR_OF_DAY) +
+                                  ":" + cal.get(Calendar.MINUTE) +
+                                  ":" + cal.get(Calendar.SECOND) +
+                                  "." + cal.get(Calendar.MILLISECOND));
+                            cal.clear();
+                            cal.set(fields[0], fields[1], fields[2],
+                                    fields[3], fields[4], fields[5]);
+                            cal.set(Calendar.MILLISECOND, fields[6]);
+                            logln("Start date: " + cal.get(Calendar.YEAR) +
+                                  "/" + (cal.get(Calendar.MONTH) + 1) +
+                                  "/" + cal.get(Calendar.DATE) +
+                                  " " + cal.get(Calendar.HOUR_OF_DAY) +
+                                  ":" + cal.get(Calendar.MINUTE) +
+                                  ":" + cal.get(Calendar.SECOND) +
+                                  "." + cal.get(Calendar.MILLISECOND));
+                            long prev = cal.getTime().getTime();
+                            for (int i = 0; i < 2*limit; i++) {
+                                if (op == 0) {
+                                    cal.add(field, i < limit ? 1 : -1);
+                                } else {
+                                    cal.roll(field, i < limit ? 1 : -1);
+                                }
+                                long t = cal.getTime().getTime();
+                                long delta = t - prev;
+                                prev = t;
+                                logln((op == 0 ? "add(" : "roll(") + FIELD_NAME[field] +
+                                      (i < limit ? ", +1) => " : ", -1) => ") +
+                                      cal.get(Calendar.YEAR) +
+                                      "/" + (cal.get(Calendar.MONTH) + 1) +
+                                      "/" + cal.get(Calendar.DATE) +
+                                      " " + cal.get(Calendar.HOUR_OF_DAY) +
+                                      ":" + cal.get(Calendar.MINUTE) +
+                                      ":" + cal.get(Calendar.SECOND) +
+                                      "." + cal.get(Calendar.MILLISECOND) +
+                                      " delta=" + delta + " ms");
+                            }
+                        }
+                    }
+                }
+            }
+        }
+    }
+
+    public void Test4174361() {
+        GregorianCalendar calendar = new GregorianCalendar(1996, 1, 29);
+
+        calendar.add(Calendar.MONTH, 10); 
+        //Date date1 = calendar.getTime();
+        //date1 = null;
+        int d1 = calendar.get(Calendar.DAY_OF_MONTH);
+
+        calendar = new GregorianCalendar(1996, 1, 29);
+        calendar.add(Calendar.MONTH, 11); 
+        //Date date2 = calendar.getTime();
+        //date2 = null;
+        int d2 = calendar.get(Calendar.DAY_OF_MONTH);
+
+        if (d1 != d2) {
+            errln("adding months to Feb 29 broken");
+        }
+    }
+
+    /**
+     * Calendar does not update field values when setTimeZone is called.
+     */
+    public void Test4177484() {
+        TimeZone PST = TimeZone.getTimeZone("PST");
+        TimeZone EST = TimeZone.getTimeZone("EST");
+
+        Calendar cal = Calendar.getInstance(PST, Locale.US);
+        cal.clear();
+        cal.set(1999, 3, 21, 15, 5, 0); // Arbitrary
+        int h1 = cal.get(Calendar.HOUR_OF_DAY);
+        cal.setTimeZone(EST);
+        int h2 = cal.get(Calendar.HOUR_OF_DAY);
+        if (h1 == h2) {
+            errln("FAIL: Fields not updated after setTimeZone");
+        }
+
+        // getTime() must NOT change when time zone is changed.
+        // getTime() returns zone-independent time in ms.
+        cal.clear();
+        cal.setTimeZone(PST);
+        cal.set(Calendar.HOUR_OF_DAY, 10);
+        Date pst10 = cal.getTime();
+        cal.setTimeZone(EST);
+        Date est10 = cal.getTime();
+        if (!pst10.equals(est10)) {
+            errln("FAIL: setTimeZone changed time");
+        }
+    }
+
+    /**
+     * Week of year is wrong at the start and end of the year.
+     */
+    public void Test4197699() {
+        GregorianCalendar cal = new GregorianCalendar();
+        cal.setFirstDayOfWeek(Calendar.MONDAY);
+        cal.setMinimalDaysInFirstWeek(4);
+        DateFormat fmt = new SimpleDateFormat("E dd MMM yyyy  'DOY='D 'WOY='w");
+        fmt.setCalendar(cal);
+
+        int[] DATA = {
+            2000,  Calendar.JANUARY,   1,   52,
+            2001,  Calendar.DECEMBER,  31,  1,
+        };
+
+        for (int i=0; i<DATA.length; ) {
+            cal.set(DATA[i++], DATA[i++], DATA[i++]);
+            int expWOY = DATA[i++];
+            int actWOY = cal.get(Calendar.WEEK_OF_YEAR);
+            if (expWOY == actWOY) {
+                logln("Ok: " + fmt.format(cal.getTime()));
+            } else {
+                errln("FAIL: " + fmt.format(cal.getTime())
+                      + ", expected WOY=" + expWOY);
+                cal.add(Calendar.DATE, -8);
+                for (int j=0; j<14; ++j) {
+                    cal.add(Calendar.DATE, 1);
+                    logln(fmt.format(cal.getTime()));
+                }
+            }
+        }
+    }
+
+    /**
+     * Calendar DAY_OF_WEEK_IN_MONTH fields->time broken. The problem is in the
+     * field disambiguation code in GregorianCalendar. This code is supposed to
+     * choose the most recent set of fields among the following:
+     * 
+     * MONTH + DAY_OF_MONTH MONTH + WEEK_OF_MONTH + DAY_OF_WEEK MONTH +
+     * DAY_OF_WEEK_IN_MONTH + DAY_OF_WEEK DAY_OF_YEAR WEEK_OF_YEAR + DAY_OF_WEEK
+     */
+    public void Test4209071() {
+        Calendar cal = Calendar.getInstance(Locale.US);
+
+        // General field setting test
+        int Y = 1995;
+        
+        Date d[] = new Date[13];
+        java.util.Calendar tempcal = java.util.Calendar.getInstance();
+        tempcal.clear();
+        tempcal.set(Y, Calendar.JANUARY, 1);
+        d[0] = tempcal.getTime();
+        tempcal.set(Y, Calendar.MARCH, 1);
+        d[1] = tempcal.getTime();
+        tempcal.set(Y, Calendar.JANUARY, 4);
+        d[2] = tempcal.getTime();
+        tempcal.set(Y, Calendar.JANUARY, 18);
+        d[3] = tempcal.getTime();
+        tempcal.set(Y, Calendar.JANUARY, 18);
+        d[4] = tempcal.getTime();
+        tempcal.set(Y-1, Calendar.DECEMBER, 22);
+        d[5] = tempcal.getTime();
+        tempcal.set(Y, Calendar.JANUARY, 26);
+        d[6] = tempcal.getTime();
+        tempcal.set(Y, Calendar.JANUARY, 26);
+        d[7] = tempcal.getTime();
+        tempcal.set(Y, Calendar.MARCH, 1);
+        d[8] = tempcal.getTime();
+        tempcal.set(Y, Calendar.OCTOBER, 6);
+        d[9] = tempcal.getTime();
+        tempcal.set(Y, Calendar.OCTOBER, 13);
+        d[10] = tempcal.getTime();
+        tempcal.set(Y, Calendar.AUGUST, 10);
+        d[11] = tempcal.getTime();
+        tempcal.set(Y, Calendar.DECEMBER, 7);
+        d[12] = tempcal.getTime();
+
+        Object[] FIELD_DATA = {
+            // Add new test cases as needed.
+
+            // 0
+            new int[] {}, d[0],
+            // 1
+            new int[] { Calendar.MONTH, Calendar.MARCH }, d[1],
+            // 2
+            new int[] { Calendar.DAY_OF_WEEK, Calendar.WEDNESDAY }, d[2],
+            // 3
+            new int[] { Calendar.DAY_OF_WEEK, Calendar.THURSDAY,
+                        Calendar.DAY_OF_MONTH, 18, }, d[3],
+            // 4
+            new int[] { Calendar.DAY_OF_MONTH, 18,
+                        Calendar.DAY_OF_WEEK, Calendar.THURSDAY, }, d[4],
+            // 5 (WOM -1 is in previous month)
+            new int[] { Calendar.DAY_OF_MONTH, 18,
+                        Calendar.WEEK_OF_MONTH, -1,
+                        Calendar.DAY_OF_WEEK, Calendar.THURSDAY, }, d[5],
+            // 6
+            new int[] { Calendar.DAY_OF_MONTH, 18,
+                        Calendar.WEEK_OF_MONTH, 4,
+                        Calendar.DAY_OF_WEEK, Calendar.THURSDAY, }, d[6],
+            // 7 (DIM -1 is in same month)
+            new int[] { Calendar.DAY_OF_MONTH, 18,
+                        Calendar.DAY_OF_WEEK_IN_MONTH, -1,
+                        Calendar.DAY_OF_WEEK, Calendar.THURSDAY, }, d[7],
+            // 8
+            new int[] { Calendar.WEEK_OF_YEAR, 9,
+                        Calendar.DAY_OF_WEEK, Calendar.WEDNESDAY, }, d[8],
+            // 9
+            new int[] { Calendar.MONTH, Calendar.OCTOBER,
+                        Calendar.DAY_OF_WEEK_IN_MONTH, 1,
+                        Calendar.DAY_OF_WEEK, Calendar.FRIDAY, }, d[9],
+            // 10
+            new int[] { Calendar.MONTH, Calendar.OCTOBER,
+                        Calendar.WEEK_OF_MONTH, 2,
+                        Calendar.DAY_OF_WEEK, Calendar.FRIDAY, }, d[10],
+            // 11
+            new int[] { Calendar.MONTH, Calendar.OCTOBER,
+                        Calendar.DAY_OF_MONTH, 15,
+                        Calendar.DAY_OF_YEAR, 222, }, d[11],
+            // 12
+            new int[] { Calendar.DAY_OF_WEEK, Calendar.THURSDAY,
+                        Calendar.MONTH, Calendar.DECEMBER, }, d[12],
+        };
+
+        for (int i=0; i<FIELD_DATA.length; i+=2) {
+            int[] fields = (int[]) FIELD_DATA[i];
+            Date exp = (Date) FIELD_DATA[i+1];
+            
+            cal.clear();
+            cal.set(Calendar.YEAR, Y);
+            for (int j=0; j<fields.length; j+=2) {
+                cal.set(fields[j], fields[j+1]);
+            }
+            
+            Date act = cal.getTime();
+            if (!act.equals(exp)) {
+                errln("FAIL: Test " + (i/2) + " got " + act +
+                      ", want " + exp +
+                      " (see test/java/util/Calendar/CalendarRegression.java");
+            }
+        }
+
+        tempcal.set(1997, Calendar.JANUARY, 5);
+        d[0] = tempcal.getTime();
+        tempcal.set(1997, Calendar.JANUARY, 26);
+        d[1] = tempcal.getTime();
+        tempcal.set(1997, Calendar.FEBRUARY, 23);
+        d[2] = tempcal.getTime();
+        tempcal.set(1997, Calendar.JANUARY, 26);
+        d[3] = tempcal.getTime();
+        tempcal.set(1997, Calendar.JANUARY, 5);
+        d[4] = tempcal.getTime();
+        tempcal.set(1996, Calendar.DECEMBER, 8);
+        d[5] = tempcal.getTime();
+        // Test specific failure reported in bug
+        Object[] DATA = { 
+            new Integer(1), d[0], new Integer(4), d[1],
+            new Integer(8), d[2], new Integer(-1), d[3],
+            new Integer(-4), d[4], new Integer(-8), d[5],
+        };
+        for (int i=0; i<DATA.length; i+=2) {
+            cal.clear();
+            cal.set(Calendar.DAY_OF_WEEK_IN_MONTH,
+                    ((Number) DATA[i]).intValue());
+            cal.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);
+            cal.set(Calendar.MONTH, Calendar.JANUARY);
+            cal.set(Calendar.YEAR, 1997);
+            Date actual = cal.getTime();
+            if (!actual.equals(DATA[i+1])) {
+                errln("FAIL: Sunday " + DATA[i] +
+                      " of Jan 1997 -> " + actual +
+                      ", want " + DATA[i+1]);
+            }
+        }
+    }
+
+    /**
+     * WEEK_OF_YEAR computed incorrectly. A failure of this test can indicate a
+     * problem in several different places in the
+     */
+    public void Test4288792() throws Exception 
+    {
+    TimeZone savedTZ = TimeZone.getDefault();
+    TimeZone.setDefault(TimeZone.getTimeZone("GMT"));
+    GregorianCalendar cal = new GregorianCalendar();
+        
+    for (int i = 1900; i < 2100; i++) {
+        for (int j1 = 1; j1 <= 7; j1++) {
+        // Loop for MinimalDaysInFirstWeek: 1..7
+        for (int j = Calendar.SUNDAY; j <= Calendar.SATURDAY; j++) {
+            // Loop for FirstDayOfWeek: SUNDAY..SATURDAY
+            cal.clear();
+            cal.setMinimalDaysInFirstWeek(j1);
+            cal.setFirstDayOfWeek(j);
+                    // Set the calendar to the first day of the last week
+                    // of the year. This may overlap some of the start of
+                    // the next year; that is, the last week of 1999 may
+                    // include some of January 2000. Use the add() method
+                    // to advance through the week. For each day, call
+                    // get(WEEK_OF_YEAR). The result should be the same
+                    // for the whole week. Note that a bug in
+                    // getActualMaximum() will break this test.
+            cal.set(Calendar.YEAR, i);
+            int maxWeek = cal.getActualMaximum(Calendar.WEEK_OF_YEAR);
+            cal.set(Calendar.WEEK_OF_YEAR, maxWeek);
+            cal.set(Calendar.DAY_OF_WEEK, j);
+            for (int k = 1; k < 7; k++) {
+            cal.add(Calendar.DATE, 1);
+            int WOY = cal.get(Calendar.WEEK_OF_YEAR);
+            if (WOY != maxWeek) {
+                errln(cal.getTime() + ",got=" + WOY
+                  + ",expected=" + maxWeek 
+                  + ",min=" + j1 + ",first=" + j);
+            }
+            }
+                    // Now advance the calendar one more day. This should
+                    // put it at the first day of week 1 of the next year.
+            cal.add(Calendar.DATE, 1);
+            int WOY = cal.get(Calendar.WEEK_OF_YEAR);
+            if (WOY != 1) {
+            errln(cal.getTime() + ",got=" + WOY 
+                  + ",expected=1,min=" + j1 + ",first" + j);
+            }
+        }
+        }
+    }
+    TimeZone.setDefault(savedTZ);
+    }
+
+    /**
+     * Test fieldDifference().
+     */
+    public void TestJ438() throws Exception {
+        int DATA[] = {
+            2000, Calendar.JANUARY, 20,   2010, Calendar.JUNE, 15,
+            2010, Calendar.JUNE, 15,      2000, Calendar.JANUARY, 20,
+            1964, Calendar.SEPTEMBER, 7,  1999, Calendar.JUNE, 4,
+            1999, Calendar.JUNE, 4,       1964, Calendar.SEPTEMBER, 7,
+        };
+        Calendar cal = Calendar.getInstance(Locale.US);
+        for (int i=0; i<DATA.length; i+=6) {
+            int y1 = DATA[i];
+            int m1 = DATA[i+1];
+            int d1 = DATA[i+2];
+            int y2 = DATA[i+3];
+            int m2 = DATA[i+4];
+            int d2 = DATA[i+5];
+
+            cal.clear();
+            cal.set(y1, m1, d1);
+            Date date1 = cal.getTime();
+            cal.set(y2, m2, d2);
+            Date date2 = cal.getTime();
+
+            cal.setTime(date1);
+            int dy = cal.fieldDifference(date2, Calendar.YEAR);
+            int dm = cal.fieldDifference(date2, Calendar.MONTH);
+            int dd = cal.fieldDifference(date2, Calendar.DATE);
+
+            logln("" + date2 + " - " + date1 + " = " +
+                  dy + "y " + dm + "m " + dd + "d");
+
+            cal.setTime(date1);
+            cal.add(Calendar.YEAR, dy);
+            cal.add(Calendar.MONTH, dm);
+            cal.add(Calendar.DATE, dd);
+            Date date22 = cal.getTime();
+            if (!date2.equals(date22)) {
+                errln("FAIL: " + date1 + " + " +
+                      dy + "y " + dm + "m " + dd + "d = " +
+                      date22 + ", exp " + date2);
+            } else {
+                logln("Ok: " + date1 + " + " +
+                      dy + "y " + dm + "m " + dd + "d = " +
+                      date22);
+            }
+        }
+    }
+
+    /**
+     * Set behavior of DST_OFFSET field. ICU4J Jitterbug 9.
+     */
+    public void TestJ9() {
+        int HOURS = 60*60*1000;
+        Calendar cal = new GregorianCalendar(TimeZone.getTimeZone("PST"),
+                                             Locale.US);
+
+        final int END_FIELDS = 0x1234;
+
+        int[] DATA = {
+            // With no explicit ZONE/DST expect 12:00 am
+            Calendar.MONTH, Calendar.JUNE,
+            END_FIELDS,
+            0, 0, // expected hour, min
+
+            // Normal ZONE/DST for June 1 Pacific is 8:00/1:00
+            Calendar.MONTH, Calendar.JUNE,
+            Calendar.ZONE_OFFSET, -8*HOURS,
+            Calendar.DST_OFFSET, HOURS,
+            END_FIELDS,
+            0, 0, // expected hour, min
+
+            // With ZONE/DST of 8:00/0:30 expect time of 12:30 am
+            Calendar.MONTH, Calendar.JUNE,
+            Calendar.ZONE_OFFSET, -8*HOURS,
+            Calendar.DST_OFFSET, HOURS/2,
+            END_FIELDS,
+            0, 30, // expected hour, min
+
+            // With ZONE/DST of 8:00/UNSET expect time of 1:00 am
+            Calendar.MONTH, Calendar.JUNE,
+            Calendar.ZONE_OFFSET, -8*HOURS,
+            END_FIELDS,
+            1, 0, // expected hour, min
+
+            // With ZONE/DST of UNSET/0:30 expect 4:30 pm (day before)
+            Calendar.MONTH, Calendar.JUNE,
+            Calendar.DST_OFFSET, HOURS/2,
+            END_FIELDS,
+            16, 30, // expected hour, min
+        };
+
+        for (int i=0; i<DATA.length; ) {
+            int start = i;
+            cal.clear();
+
+            // Set fields
+            while (DATA[i] != END_FIELDS) {
+                cal.set(DATA[i++], DATA[i++]);
+            }
+            ++i; // skip over END_FIELDS
+
+            // Get hour/minute
+            int h = cal.get(Calendar.HOUR_OF_DAY);
+            int m = cal.get(Calendar.MINUTE);
+
+            // Check
+            if (h != DATA[i] || m != DATA[i+1]) {
+                errln("Fail: expected " + DATA[i] + ":" + DATA[i+1] +
+                      ", got " + h + ":" + m + " after:");
+                while (DATA[start] != END_FIELDS) {
+                    logln("set(" + FIELD_NAME[DATA[start++]] +
+                          ", " + DATA[start++] + ");");
+                }
+            }
+
+            i += 2; // skip over expected hour, min
+        }
+    }
+
+    /**
+     * DateFormat class mistakes date style and time style as follows: -
+     * DateFormat.getDateTimeInstance takes date style as time style, and time
+     * style as date style - If a Calendar is passed to
+     * DateFormat.getDateInstance, it returns time instance - If a Calendar is
+     * passed to DateFormat.getTimeInstance, it returns date instance
+     */
+    public void TestDateFormatFactoryJ26() {
+        TimeZone zone = TimeZone.getDefault();
+        try {
+            Locale loc = Locale.US;
+            TimeZone.setDefault(TimeZone.getTimeZone("America/Los_Angeles"));
+            java.util.Calendar tempcal = java.util.Calendar.getInstance();
+            tempcal.set(2001, Calendar.APRIL, 5, 17, 43, 53);
+            Date date = tempcal.getTime();
+            Calendar cal = Calendar.getInstance(loc);
+            Object[] DATA = {
+                DateFormat.getDateInstance(DateFormat.SHORT, loc),
+                "DateFormat.getDateInstance(DateFormat.SHORT, loc)",
+                "4/5/01",
+
+                DateFormat.getTimeInstance(DateFormat.SHORT, loc),
+                "DateFormat.getTimeInstance(DateFormat.SHORT, loc)",
+                "5:43 PM",
+
+                DateFormat.getDateTimeInstance(DateFormat.FULL, DateFormat.SHORT, loc),
+                "DateFormat.getDateTimeInstance(DateFormat.FULL, DateFormat.SHORT, loc)",
+                "Thursday, April 5, 2001 5:43 PM",
+
+                DateFormat.getDateInstance(cal, DateFormat.SHORT, loc),
+                "DateFormat.getDateInstance(cal, DateFormat.SHORT, loc)",
+                "4/5/01",
+
+                DateFormat.getTimeInstance(cal, DateFormat.SHORT, loc),
+                "DateFormat.getTimeInstance(cal, DateFormat.SHORT, loc)",
+                "5:43 PM",
+
+                DateFormat.getDateTimeInstance(cal, DateFormat.FULL, DateFormat.SHORT, loc),
+                "DateFormat.getDateTimeInstance(cal, DateFormat.FULL, DateFormat.SHORT, loc)",
+                "Thursday, April 5, 2001 5:43 PM",
+            
+                cal.getDateTimeFormat(DateFormat.SHORT, DateFormat.FULL, loc),
+                "cal.getDateTimeFormat(DateFormat.SHORT, DateFormat.FULL, loc)",
+                "4/5/01 5:43:53 PM PDT",
+
+                cal.getDateTimeFormat(DateFormat.FULL, DateFormat.SHORT, loc),
+                "cal.getDateTimeFormat(DateFormat.FULL, DateFormat.SHORT, loc)",
+                "Thursday, April 5, 2001 5:43 PM",
+            };
+            for (int i=0; i<DATA.length; i+=3) {
+                DateFormat df = (DateFormat) DATA[i];
+                String desc = (String) DATA[i+1];
+                String exp = (String) DATA[i+2];
+                String got = df.format(date);
+                if (got.equals(exp)) {
+                    logln("Ok: " + desc + " => " + got);
+                } else {
+                    errln("FAIL: " + desc + " => " + got + ", expected " + exp);
+                }
+            }
+        } finally {
+            TimeZone.setDefault(zone);
+        }
+    }
+
+    public void TestRegistration() {
+        /*
+         * Set names = Calendar.getCalendarFactoryNames();
+         * 
+         * TimeZone tz = TimeZone.getDefault(); Locale loc =
+         * Locale.getDefault(); Iterator iter = names.iterator(); while
+         * (iter.hasNext()) { String name = (String)iter.next(); logln("Testing
+         * factory: " + name);
+         * 
+         * Calendar cal = Calendar.getInstance(tz, loc, name); logln("Calendar
+         * class: " + cal.getClass());
+         * 
+         * DateFormat fmt = cal.getDateTimeFormat(DateFormat.LONG,
+         * DateFormat.LONG, loc);
+         * 
+         * logln("Date: " + fmt.format(cal.getTime())); }
+         *  // register new default for our locale logln("\nTesting
+         * registration"); loc = new Locale("en", "US"); Object key =
+         * Calendar.register(JapaneseCalendar.factory(), loc, true);
+         * 
+         * loc = new Locale("en", "US", "TEST"); Calendar cal =
+         * Calendar.getInstance(loc); logln("Calendar class: " +
+         * cal.getClass()); DateFormat fmt =
+         * cal.getDateTimeFormat(DateFormat.LONG, DateFormat.LONG, loc);
+         * logln("Date: " + fmt.format(cal.getTime()));
+         *  // force to use other default anyway logln("\nOverride
+         * registration"); cal = Calendar.getInstance(tz, loc, "Gregorian"); fmt =
+         * cal.getDateTimeFormat(DateFormat.LONG, DateFormat.LONG, loc);
+         * logln("Date: " + fmt.format(cal.getTime()));
+         *  // unregister default logln("\nUnregistration"); logln("Unregister
+         * returned: " + Calendar.unregister(key)); cal =
+         * Calendar.getInstance(tz, loc, "Gregorian"); fmt =
+         * cal.getDateTimeFormat(DateFormat.LONG, DateFormat.LONG, loc);
+         * logln("Date: " + fmt.format(cal.getTime()));
+         */
+    }
+
+}
+
+//eof
diff --git a/src/com/ibm/icu/dev/test/calendar/CalendarTest.java b/src/com/ibm/icu/dev/test/calendar/CalendarTest.java
new file mode 100755
index 0000000..703859e
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/calendar/CalendarTest.java
@@ -0,0 +1,368 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+package com.ibm.icu.dev.test.calendar;
+
+import com.ibm.icu.dev.test.*;
+import com.ibm.icu.text.DateFormat;
+import com.ibm.icu.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.Locale;
+import java.util.Hashtable;
+import java.util.Enumeration;
+
+import com.ibm.icu.util.*;
+
+/**
+ * A base class for classes that test individual Calendar subclasses.
+ * Defines various useful utility methods and constants
+ */
+public class CalendarTest extends TestFmwk {
+    
+    // Constants for use by subclasses, solely to save typing
+    public final static int SUN = Calendar.SUNDAY;
+    public final static int MON = Calendar.MONDAY;
+    public final static int TUE = Calendar.TUESDAY;
+    public final static int WED = Calendar.WEDNESDAY;
+    public final static int THU = Calendar.THURSDAY;
+    public final static int FRI = Calendar.FRIDAY;
+    public final static int SAT = Calendar.SATURDAY;
+
+    public final static int ERA     = Calendar.ERA;
+    public final static int YEAR    = Calendar.YEAR;
+    public final static int MONTH   = Calendar.MONTH;
+    public final static int DATE    = Calendar.DATE;
+    public final static int HOUR    = Calendar.HOUR;
+    public final static int MINUTE  = Calendar.MINUTE;
+    public final static int SECOND  = Calendar.SECOND;
+    public final static int DOY     = Calendar.DAY_OF_YEAR;
+    public final static int WOY     = Calendar.WEEK_OF_YEAR;
+    public final static int WOM     = Calendar.WEEK_OF_MONTH;
+    public final static int DOW     = Calendar.DAY_OF_WEEK;
+    public final static int DOWM    = Calendar.DAY_OF_WEEK_IN_MONTH;
+    
+    public final static SimpleTimeZone UTC = new SimpleTimeZone(0, "GMT");
+
+    private static final String[] FIELD_NAME = {
+        "ERA", "YEAR", "MONTH", "WEEK_OF_YEAR", "WEEK_OF_MONTH",
+        "DAY_OF_MONTH", "DAY_OF_YEAR", "DAY_OF_WEEK",
+        "DAY_OF_WEEK_IN_MONTH", "AM_PM", "HOUR", "HOUR_OF_DAY",
+        "MINUTE", "SECOND", "MILLISECOND", "ZONE_OFFSET",
+        "DST_OFFSET", "YEAR_WOY", "DOW_LOCAL", "EXTENDED_YEAR",
+        "JULIAN_DAY", "MILLISECONDS_IN_DAY",
+        "IS_LEAP_MONTH" // (ChineseCalendar only)
+    };
+
+    public static final String fieldName(int f) {
+        return (f>=0 && f<FIELD_NAME.length) ?
+            FIELD_NAME[f] : ("<Field " + f + ">");
+    }
+
+    /**
+     * Iterates through a list of calendar <code>TestCase</code> objects and
+     * makes sure that the time-to-fields and fields-to-time calculations work
+     * correnctly for the values in each test case.
+     */
+    public void doTestCases(TestCase[] cases, Calendar cal)
+    {
+        cal.setTimeZone(UTC);
+        
+        // Get a format to use for printing dates in the calendar system we're testing
+        DateFormat format = DateFormat.getDateTimeInstance(cal, DateFormat.SHORT, -1, Locale.getDefault());
+
+        final String pattern = (cal instanceof ChineseCalendar) ?
+            "E MMl/dd/y G HH:mm:ss.S z" :
+            "E, MM/dd/yyyy G HH:mm:ss.S z";
+    
+        ((SimpleDateFormat)format).applyPattern(pattern);
+
+        // This format is used for printing Gregorian dates.
+        DateFormat gregFormat = new SimpleDateFormat(pattern);
+        gregFormat.setTimeZone(UTC);
+
+        GregorianCalendar pureGreg = new GregorianCalendar(UTC);
+        pureGreg.setGregorianChange(new Date(Long.MIN_VALUE));
+        DateFormat pureGregFmt = new SimpleDateFormat("E M/d/yyyy G");
+        pureGregFmt.setCalendar(pureGreg);
+        
+        // Now iterate through the test cases and see what happens
+        for (int i = 0; i < cases.length; i++)
+        {
+            logln("\ntest case: " + i);
+            TestCase test = cases[i];
+            
+            //
+            // First we want to make sure that the millis -> fields calculation works
+            // test.applyTime will call setTime() on the calendar object, and
+            // test.fieldsEqual will retrieve all of the field values and make sure
+            // that they're the same as the ones in the testcase
+            //
+            test.applyTime(cal);
+            if (!test.fieldsEqual(cal, this)) {
+                errln("Fail: (millis=>fields) " +
+                      gregFormat.format(test.getTime()) + " => " +
+                      format.format(cal.getTime()) +
+                      ", expected " + test);
+            }
+
+            //
+            // If that was OK, check the fields -> millis calculation
+            // test.applyFields will set all of the calendar's fields to 
+            // match those in the test case.
+            //
+            cal.clear();
+            test.applyFields(cal);
+            if (!test.equals(cal)) {
+                errln("Fail: (fields=>millis) " + test + " => " +
+                      pureGregFmt.format(cal.getTime()) +
+                      ", expected " + pureGregFmt.format(test.getTime()));
+            }
+        }
+    }
+    
+    static public final boolean ROLL = true;
+    static public final boolean ADD = false;
+    
+    /**
+     * Process test cases for <code>add</code> and <code>roll</code> methods.
+     * Each test case is an array of integers, as follows:
+     * <ul>
+     *  <li>0: input year
+     *  <li>1:       month  (zero-based)
+     *  <li>2:       day
+     *  <li>3: field to roll or add to
+     *  <li>4: amount to roll or add
+     *  <li>5: result year
+     *  <li>6:        month (zero-based)
+     *  <li>7:        day
+     * </ul>
+     * For example:
+     * <pre>
+     *   //       input                add by          output
+     *   //  year  month     day     field amount    year  month     day
+     *   {   5759, HESHVAN,   2,     MONTH,   1,     5759, KISLEV,    2 },
+     * </pre>
+     *
+     * @param roll  <code>true</code> or <code>ROLL</code> to test the <code>roll</code> method;
+     *              <code>false</code> or <code>ADD</code> to test the <code>add</code method
+     */
+    public void doRollAdd(boolean roll, Calendar cal, int[][] tests)
+    {
+        String name = roll ? "rolling" : "adding";
+        
+        for (int i = 0; i < tests.length; i++) {
+            int[] test = tests[i];
+
+            cal.clear();
+            if (cal instanceof ChineseCalendar) {
+                cal.set(Calendar.EXTENDED_YEAR, test[0]);
+                cal.set(Calendar.MONTH, test[1]);
+                cal.set(Calendar.DAY_OF_MONTH, test[2]);
+            } else {
+                cal.set(test[0], test[1], test[2]);
+            }
+            double day0 = getJulianDay(cal);
+            if (roll) {
+                cal.roll(test[3], test[4]);
+            } else {
+                cal.add(test[3], test[4]);
+            }
+            int y = cal.get(cal instanceof ChineseCalendar ?
+                            Calendar.EXTENDED_YEAR : YEAR);
+            if (y != test[5] || cal.get(MONTH) != test[6]
+                    || cal.get(DATE) != test[7])
+            {
+                errln("Fail: " + name + " "+ ymdToString(test[0], test[1], test[2])
+                    + " (" + day0 + ")"
+                    + " " + FIELD_NAME[test[3]] + " by " + test[4]
+                    + ": expected " + ymdToString(test[5], test[6], test[7])
+                    + ", got " + ymdToString(cal));
+            } else if (isVerbose()) {
+                logln("OK: " + name + " "+ ymdToString(test[0], test[1], test[2])
+                    + " (" + day0 + ")"
+                    + " " + FIELD_NAME[test[3]] + " by " + test[4]
+                    + ": got " + ymdToString(cal));
+            }
+        }
+    }
+
+    /**
+     * Test the functions getXxxMinimum() and getXxxMaximum() by marching a
+     * test calendar 'cal' through 'numberOfDays' sequential days starting
+     * with 'startDate'.  For each date, read a field value along with its
+     * reported actual minimum and actual maximum.  These values are
+     * checked against one another as well as against getMinimum(),
+     * getGreatestMinimum(), getLeastMaximum(), and getMaximum().  We
+     * expect to see:
+     *
+     * 1. minimum <= actualMinimum <= greatestMinimum <=
+     *    leastMaximum <= actualMaximum <= maximum
+     *
+     * 2. actualMinimum <= value <= actualMaximum
+     *
+     * Note: In addition to outright failures, this test reports some
+     * results as warnings.  These are not generally of concern, but they
+     * should be evaluated by a human.  To see these, run this test in
+     * verbose mode.
+     * @param cal the calendar to be tested
+     * @param fieldsToTest an array of field values to be tested, e.g., new
+     * int[] { Calendar.MONTH, Calendar.DAY_OF_MONTH }.  It only makes
+     * sense to test the day fields; the time fields are not tested by this
+     * method.  If null, then test all standard fields.
+     * @param startDate the first date to test
+     * @param testDuration if positive, the number of days to be tested.
+     * If negative, the number of seconds to run the test.
+     */
+    protected void doLimitsTest(Calendar cal, int[] fieldsToTest,
+                                Date startDate, int testDuration) {
+        GregorianCalendar greg = new GregorianCalendar();
+        greg.setTime(startDate);
+        logln("Start: " + startDate);
+
+        if (fieldsToTest == null) {
+            fieldsToTest = new int[] {
+                Calendar.ERA, Calendar.YEAR, Calendar.MONTH,
+                Calendar.WEEK_OF_YEAR, Calendar.WEEK_OF_MONTH,
+                Calendar.DAY_OF_MONTH, Calendar.DAY_OF_YEAR,
+                Calendar.DAY_OF_WEEK_IN_MONTH, Calendar.YEAR_WOY,
+                Calendar.EXTENDED_YEAR
+            };
+        }
+
+        // Keep a record of minima and maxima that we actually see.
+        // These are kept in an array of arrays of hashes.
+        Hashtable[][] limits = new Hashtable[fieldsToTest.length][2];
+        Object nub = new Object(); // Meaningless placeholder
+
+        // This test can run for a long time; show progress.
+        long millis = System.currentTimeMillis();
+        long mark = millis + 5000; // 5 sec
+        millis -= testDuration * 1000; // stop time if testDuration<0
+
+        for (int i=0;
+             testDuration>0 ? i<testDuration
+                            : System.currentTimeMillis()<millis;
+             ++i) {
+            if (System.currentTimeMillis() >= mark) {
+                logln("(" + i + " days)");
+                mark += 5000; // 5 sec
+            }
+            cal.setTimeInMillis(greg.getTimeInMillis());
+            for (int j=0; j<fieldsToTest.length; ++j) {
+                int f = fieldsToTest[j];
+                int v = cal.get(f);
+                int minActual = cal.getActualMinimum(f);
+                int maxActual = cal.getActualMaximum(f);
+                int minLow = cal.getMinimum(f);
+                int minHigh = cal.getGreatestMinimum(f);
+                int maxLow = cal.getLeastMaximum(f);
+                int maxHigh = cal.getMaximum(f);
+
+                // Fetch the hash for this field and keep track of the
+                // minima and maxima.
+                Hashtable[] h = limits[j];
+                if (h[0] == null) {
+                    h[0] = new Hashtable();
+                    h[1] = new Hashtable();
+                }
+                h[0].put(new Integer(minActual), nub);
+                h[1].put(new Integer(maxActual), nub);
+
+                if (minActual < minLow || minActual > minHigh) {
+                    errln("Fail: " + ymdToString(cal) +
+                          " Range for min of " + FIELD_NAME[f] +
+                          "=" + minLow + ".." + minHigh +
+                          ", actual_min=" + minActual);
+                }
+                if (maxActual < maxLow || maxActual > maxHigh) {
+                    errln("Fail: " + ymdToString(cal) +
+                          " Range for max of " + FIELD_NAME[f] +
+                          "=" + maxLow + ".." + maxHigh +
+                          ", actual_max=" + maxActual);
+                }
+                if (v < minActual || v > maxActual) {
+                    errln("Fail: " + ymdToString(cal) +
+                          " " + FIELD_NAME[f] + "=" + v +
+                          ", actual range=" + minActual + ".." + maxActual +
+                          ", allowed=(" + minLow + ".." + minHigh + ")..(" +
+                          maxLow + ".." + maxHigh + ")");
+                }
+            }
+            greg.add(Calendar.DAY_OF_YEAR, 1);
+        }
+
+        // Check actual maxima and minima seen against ranges returned
+        // by API.
+        StringBuffer buf = new StringBuffer();
+        for (int j=0; j<fieldsToTest.length; ++j) {
+            int f = fieldsToTest[j];
+            buf.setLength(0);
+            buf.append(FIELD_NAME[f]);
+            Hashtable[] h = limits[j];
+            boolean fullRangeSeen = true;
+            for (int k=0; k<2; ++k) {
+                int rangeLow = (k==0) ?
+                    cal.getMinimum(f) : cal.getLeastMaximum(f);
+                int rangeHigh = (k==0) ?
+                    cal.getGreatestMinimum(f) : cal.getMaximum(f);
+                // If either the top of the range or the bottom was never
+                // seen, then there may be a problem.
+                if (h[k].get(new Integer(rangeLow)) == null ||
+                    h[k].get(new Integer(rangeHigh)) == null) {
+                    fullRangeSeen = false;
+                }
+                buf.append(k==0 ? " minima seen=(" : "; maxima seen=(");
+                for (Enumeration e=h[k].keys(); e.hasMoreElements(); ) {
+                    int v = ((Integer) e.nextElement()).intValue();
+                    buf.append(" " + v);
+                }
+                buf.append(") range=" + rangeLow + ".." + rangeHigh);
+            }
+            if (fullRangeSeen) {
+                logln("OK: " + buf.toString());
+            } else {
+                // This may or may not be an error -- if the range of dates
+                // we scan over doesn't happen to contain a minimum or
+                // maximum, it doesn't mean some other range won't.
+                logln("Warning: " + buf.toString());
+            }
+        }
+
+        logln("End: " + greg.getTime());
+    }
+
+    /**
+     * Convert year,month,day values to the form "year/month/day".
+     * On input the month value is zero-based, but in the result string it is one-based.
+     */
+    static public String ymdToString(int year, int month, int day) {
+        return "" + year + "/" + (month+1) + "/" + day;
+    }
+
+    /**
+     * Convert year,month,day values to the form "year/month/day".
+     */
+    static public String ymdToString(Calendar cal) {
+        double day = getJulianDay(cal);
+        if (cal instanceof ChineseCalendar) {
+            return "" + cal.get(Calendar.EXTENDED_YEAR) + "/" +
+                (cal.get(Calendar.MONTH)+1) +
+                (cal.get(ChineseCalendar.IS_LEAP_MONTH)==1?"(leap)":"") + "/" +
+                cal.get(Calendar.DATE) + " (" + day + ")";
+        }
+        return ymdToString(cal.get(Calendar.EXTENDED_YEAR),
+                            cal.get(MONTH), cal.get(DATE)) +
+                            " (" + day + ")";
+    }
+
+    static double getJulianDay(Calendar cal) {
+        return (cal.getTime().getTime() - JULIAN_EPOCH) / DAY_MS;
+    }
+
+    static final double DAY_MS = 24*60*60*1000.0;
+    static final long JULIAN_EPOCH = -210866760000000L;   // 1/1/4713 BC 12:00
+}
diff --git a/src/com/ibm/icu/dev/test/calendar/ChineseTest.java b/src/com/ibm/icu/dev/test/calendar/ChineseTest.java
new file mode 100755
index 0000000..1a1fcae
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/calendar/ChineseTest.java
@@ -0,0 +1,575 @@
+/*********************************************************************
+ * Copyright (C) 2000-2005, International Business Machines Corporation and
+ * others. All Rights Reserved.
+ *********************************************************************
+ */
+package com.ibm.icu.dev.test.calendar;
+import com.ibm.icu.util.*;
+import com.ibm.icu.text.*;
+
+import java.util.Date;
+import java.util.Locale;
+
+/**
+ * Test of ChineseCalendar.
+ *
+ * Leap months in this century:
+ * Wed May 23 2001 = 4638-04*-01, Year 18, Cycle 78
+ * Sun Mar 21 2004 = 4641-02*-01, Year 21, Cycle 78
+ * Thu Aug 24 2006 = 4643-07*-01, Year 23, Cycle 78
+ * Tue Jun 23 2009 = 4646-05*-01, Year 26, Cycle 78
+ * Mon May 21 2012 = 4649-04*-01, Year 29, Cycle 78
+ * Fri Oct 24 2014 = 4651-09*-01, Year 31, Cycle 78
+ * Sun Jul 23 2017 = 4654-06*-01, Year 34, Cycle 78
+ * Sat May 23 2020 = 4657-04*-01, Year 37, Cycle 78
+ * Wed Mar 22 2023 = 4660-02*-01, Year 40, Cycle 78
+ * Fri Jul 25 2025 = 4662-06*-01, Year 42, Cycle 78
+ * Fri Jun 23 2028 = 4665-05*-01, Year 45, Cycle 78
+ * Tue Apr 22 2031 = 4668-03*-01, Year 48, Cycle 78
+ * Thu Dec 22 2033 = 4670-11*-01, Year 50, Cycle 78
+ * Wed Jul 23 2036 = 4673-06*-01, Year 53, Cycle 78
+ * Wed Jun 22 2039 = 4676-05*-01, Year 56, Cycle 78
+ * Sat Mar 22 2042 = 4679-02*-01, Year 59, Cycle 78
+ * Tue Aug 23 2044 = 4681-07*-01, Year 01, Cycle 79
+ * Sun Jun 23 2047 = 4684-05*-01, Year 04, Cycle 79
+ * Thu Apr 21 2050 = 4687-03*-01, Year 07, Cycle 79
+ * Mon Sep 23 2052 = 4689-08*-01, Year 09, Cycle 79
+ * Sat Jul 24 2055 = 4692-06*-01, Year 12, Cycle 79
+ * Wed May 22 2058 = 4695-04*-01, Year 15, Cycle 79
+ * Wed Apr 20 2061 = 4698-03*-01, Year 18, Cycle 79
+ * Fri Aug 24 2063 = 4700-07*-01, Year 20, Cycle 79
+ * Wed Jun 23 2066 = 4703-05*-01, Year 23, Cycle 79
+ * Tue May 21 2069 = 4706-04*-01, Year 26, Cycle 79
+ * Thu Sep 24 2071 = 4708-08*-01, Year 28, Cycle 79
+ * Tue Jul 24 2074 = 4711-06*-01, Year 31, Cycle 79
+ * Sat May 22 2077 = 4714-04*-01, Year 34, Cycle 79
+ * Sat Apr 20 2080 = 4717-03*-01, Year 37, Cycle 79
+ * Mon Aug 24 2082 = 4719-07*-01, Year 39, Cycle 79
+ * Fri Jun 22 2085 = 4722-05*-01, Year 42, Cycle 79
+ * Fri May 21 2088 = 4725-04*-01, Year 45, Cycle 79
+ * Sun Sep 24 2090 = 4727-08*-01, Year 47, Cycle 79
+ * Thu Jul 23 2093 = 4730-06*-01, Year 50, Cycle 79
+ * Tue May 22 2096 = 4733-04*-01, Year 53, Cycle 79
+ * Sun Mar 22 2099 = 4736-02*-01, Year 56, Cycle 79
+ */
+public class ChineseTest extends CalendarTest {
+
+    public static void main(String args[]) throws Exception {
+        new ChineseTest().run(args);
+    }
+
+    /**
+     * Test basic mapping to and from Gregorian.
+     */
+    public void TestMapping() {
+
+        final int[] DATA = {
+            // (Note: months are 1-based)
+            // Gregorian    Chinese
+            1964,  9,  4,   4601,  7,0, 28,
+            1964,  9,  5,   4601,  7,0, 29,
+            1964,  9,  6,   4601,  8,0,  1,
+            1964,  9,  7,   4601,  8,0,  2,
+            1961, 12, 25,   4598, 11,0, 18,
+            1999,  6,  4,   4636,  4,0, 21,
+            
+            1990,  5, 23,   4627,  4,0, 29,
+            1990,  5, 24,   4627,  5,0,  1,
+            1990,  6, 22,   4627,  5,0, 30,
+            1990,  6, 23,   4627,  5,1,  1,
+            1990,  7, 20,   4627,  5,1, 28,
+            1990,  7, 21,   4627,  5,1, 29,
+            1990,  7, 22,   4627,  6,0,  1,
+        };
+
+        ChineseCalendar cal = new ChineseCalendar();
+        StringBuffer buf = new StringBuffer();
+
+        logln("Gregorian -> Chinese");
+        //java.util.Calendar grego = java.util.Calendar.getInstance();
+        Calendar grego = Calendar.getInstance();
+        grego.clear();
+        for (int i=0; i<DATA.length; ) {
+            grego.set(DATA[i++], DATA[i++]-1, DATA[i++]);
+            Date date = grego.getTime();
+            cal.setTime(date);
+            int y = cal.get(Calendar.EXTENDED_YEAR);
+            int m = cal.get(Calendar.MONTH)+1; // 0-based -> 1-based
+            int L = cal.get(ChineseCalendar.IS_LEAP_MONTH);
+            int d = cal.get(Calendar.DAY_OF_MONTH);
+            int yE = DATA[i++]; // Expected y, m, isLeapMonth, d
+            int mE = DATA[i++]; // 1-based
+            int LE = DATA[i++];
+            int dE = DATA[i++];
+            buf.setLength(0);
+            buf.append(date + " -> ");
+            buf.append(y + "/" + m + (L==1?"(leap)":"") + "/" + d);
+            if (y == yE && m == mE && L == LE && d == dE) {
+                logln("OK: " + buf.toString());
+            } else {
+                errln("Fail: " + buf.toString() + ", expected " +
+                      yE + "/" + mE + (LE==1?"(leap)":"") + "/" + dE);
+            }
+        }
+
+        logln("Chinese -> Gregorian");
+        for (int i=0; i<DATA.length; ) {
+            grego.set(DATA[i++], DATA[i++]-1, DATA[i++]);
+            Date dexp = grego.getTime();
+            int cyear = DATA[i++];
+            int cmonth = DATA[i++];
+            int cisleapmonth = DATA[i++];
+            int cdayofmonth = DATA[i++];
+            cal.clear();
+            cal.set(Calendar.EXTENDED_YEAR, cyear);
+            cal.set(Calendar.MONTH, cmonth-1);
+            cal.set(ChineseCalendar.IS_LEAP_MONTH, cisleapmonth);
+            cal.set(Calendar.DAY_OF_MONTH, cdayofmonth);
+            Date date = cal.getTime();
+            buf.setLength(0);
+            buf.append(cyear + "/" + cmonth +
+                       (cisleapmonth==1?"(leap)":"") + "/" + cdayofmonth);
+            buf.append(" -> " + date);
+            if (date.equals(dexp)) {
+                logln("OK: " + buf.toString());
+            } else {
+                errln("Fail: " + buf.toString() + ", expected " + dexp);
+            }
+        }
+    }
+
+    /**
+     * Make sure no Gregorian dates map to Chinese 1-based day of
+     * month zero.  This was a problem with some of the astronomical
+     * new moon determinations.
+     */
+    public void TestZeroDOM() {
+        ChineseCalendar cal = new ChineseCalendar();
+        GregorianCalendar greg = new GregorianCalendar(1989, Calendar.SEPTEMBER, 1);
+        logln("Start: " + greg.getTime());
+        for (int i=0; i<1000; ++i) {
+            cal.setTimeInMillis(greg.getTimeInMillis());
+            if (cal.get(Calendar.DAY_OF_MONTH) == 0) {
+                errln("Fail: " + greg.getTime() + " -> " +
+                      cal.get(Calendar.EXTENDED_YEAR) + "/" +
+                      cal.get(Calendar.MONTH) +
+                      (cal.get(ChineseCalendar.IS_LEAP_MONTH)==1?"(leap)":"") +
+                      "/" + cal.get(Calendar.DAY_OF_MONTH));
+            }
+            greg.add(Calendar.DAY_OF_YEAR, 1);
+        }
+        logln("End: " + greg.getTime());
+    }
+
+    /**
+     * Test minimum and maximum functions.
+     */
+    public void TestLimits() {
+        // The number of days and the start date can be adjusted
+        // arbitrarily to either speed up the test or make it more
+        // thorough, but try to test at least a full year, preferably a
+        // full non-leap and a full leap year.
+
+        // Final parameter is either number of days, if > 0, or test
+        // duration in seconds, if < 0.
+        java.util.Calendar tempcal = java.util.Calendar.getInstance();
+        tempcal.clear();
+        tempcal.set(1989, Calendar.NOVEMBER, 1);
+        doLimitsTest(new ChineseCalendar(), null, tempcal.getTime(), -10);
+    }
+
+    /**
+     * Run through several standard tests from Dershowitz & Reingold.
+     */
+    public void TestJulianDayMapping() {
+
+        final TestCase[] tests = {
+            //
+            // From Dershowitz & Reingold, "Calendrical Calculations".
+            //
+            // The months in this table are 1-based rather than 0-based.
+            //
+            // * Failing fields->millis
+            // ** Millis->fields gives 0-based month -1
+            // These failures were fixed by changing the start search date
+            // for the winter solstice from Dec 15 to Dec 1.
+            // 
+            //                  Julian Day   Era  Year Month  Leap   DOM WkDay
+            new ChineseTestCase(1507231.5,   35,   11,    6, false,   12,  SUN),
+            new ChineseTestCase(1660037.5,   42,    9,   10, false,   27,  WED),
+            new ChineseTestCase(1746893.5,   46,    7,    8, false,    4,  WED),
+            new ChineseTestCase(1770641.5,   47,   12,    8, false,    9,  SUN),
+            new ChineseTestCase(1892731.5,   52,   46,   11, false,   20,  WED),
+            new ChineseTestCase(1931579.5,   54,   33,    4, false,    5,  MON),
+            new ChineseTestCase(1974851.5,   56,   31,   10, false,   15,  SAT),
+            new ChineseTestCase(2091164.5,   61,   50,    3, false,    7,  SUN),
+            new ChineseTestCase(2121509.5,   63,   13,    4, false,   24,  SUN),
+            new ChineseTestCase(2155779.5,   64,   47,    2, false,    9,  FRI),
+            new ChineseTestCase(2174029.5,   65,   37,    2, false,    9,  SAT),
+            new ChineseTestCase(2191584.5,   66,   25,    2, false,   23,  FRI),
+            new ChineseTestCase(2195261.5,   66,   35,    3, false,    9,  SUN), //*
+            new ChineseTestCase(2229274.5,   68,    8,    5, false,    2,  SUN), //*
+            new ChineseTestCase(2245580.5,   68,   53,    1, false,    8,  WED), //**
+            new ChineseTestCase(2266100.5,   69,   49,    3, false,    4,  SAT), 
+            new ChineseTestCase(2288542.5,   70,   50,    8, false,    2,  SAT), //*
+            new ChineseTestCase(2290901.5,   70,   57,    1, false,   29,  SAT), //*
+            new ChineseTestCase(2323140.5,   72,   25,    4,  true,   20,  WED), //*
+            new ChineseTestCase(2334848.5,   72,   57,    6, false,    5,  SUN),
+            new ChineseTestCase(2348020.5,   73,   33,    6, false,    6,  FRI),
+            new ChineseTestCase(2366978.5,   74,   25,    5, false,    5,  SUN),
+            new ChineseTestCase(2385648.5,   75,   16,    6, false,   12,  MON),
+            new ChineseTestCase(2392825.5,   75,   36,    2, false,   13,  WED),
+            new ChineseTestCase(2416223.5,   76,   40,    3, false,   22,  SUN),
+            new ChineseTestCase(2425848.5,   77,    6,    7, false,   21,  SUN),
+            new ChineseTestCase(2430266.5,   77,   18,    8, false,    9,  MON),
+            new ChineseTestCase(2430833.5,   77,   20,    3, false,   15,  MON),
+            new ChineseTestCase(2431004.5,   77,   20,    9, false,    9,  THU),
+            new ChineseTestCase(2448698.5,   78,    9,    2, false,   14,  TUE),
+            new ChineseTestCase(2450138.5,   78,   13,    1, false,    7,  SUN),
+            new ChineseTestCase(2465737.5,   78,   55,   10, false,   14,  WED),
+            new ChineseTestCase(2486076.5,   79,   51,    6, false,    7,  SUN),
+
+            // Additional tests not from D&R
+            new ChineseTestCase(2467496.5,   78,   60,    8, false,    2,  FRI), // year 60
+        };
+
+        ChineseCalendar cal = new ChineseCalendar();
+        cal.setLenient(true);
+        doTestCases(tests, cal);
+    }
+
+    /**
+     * Test formatting.
+     */
+    public void TestFormat() {
+        ChineseCalendar cal = new ChineseCalendar();
+        DateFormat fmt = DateFormat.getDateTimeInstance(cal,
+                                    DateFormat.DEFAULT, DateFormat.DEFAULT);
+
+        java.util.Calendar tempcal = java.util.Calendar.getInstance();
+        tempcal.clear();
+        
+        Date[] DATA = new Date[2];
+        tempcal.set(2001, Calendar.MAY, 22);
+        DATA[0] = tempcal.getTime();
+        tempcal.set(2001, Calendar.MAY, 23);
+        DATA[1] = tempcal.getTime();
+        // Wed May 23 2001 = Month 4(leap), Day 1, Year 18, Cycle 78
+        
+        for (int i=0; i<DATA.length; ++i) {
+            String s = fmt.format(DATA[i]);
+            try {
+                Date e = fmt.parse(s);
+                if (e.equals(DATA[i])) {
+                    logln("Ok: " + DATA[i] + " -> " + s + " -> " + e);
+                } else {
+                    errln("FAIL: " + DATA[i] + " -> " + s + " -> " + e);
+                }
+            } catch (java.text.ParseException e) {
+                errln("Fail: " + s + " -> parse failure at " + e.getErrorOffset());
+                errln(e.toString());
+            }
+        }
+    }
+
+    /**
+     * Make sure IS_LEAP_MONTH participates in field resolution.
+     */
+    public void TestResolution() {
+        ChineseCalendar cal = new ChineseCalendar();
+        DateFormat fmt = DateFormat.getDateInstance(cal, DateFormat.DEFAULT);
+
+        // May 22 2001 = y4638 m4 d30 doy119
+        // May 23 2001 = y4638 m4* d1 doy120
+
+        final int THE_YEAR = 4638;
+        final int END = -1;
+
+        int[] DATA = {
+            // Format:
+            // (field, value)+, END, exp.month, exp.isLeapMonth, exp.DOM
+            // Note: exp.month is ONE-BASED
+
+            // If we set DAY_OF_YEAR only, that should be used
+            Calendar.DAY_OF_YEAR, 1,
+            END,
+            1,0,1, // Expect 1-1
+            
+            // If we set MONTH only, that should be used
+            ChineseCalendar.IS_LEAP_MONTH, 1,
+            Calendar.DAY_OF_MONTH, 1,
+            Calendar.MONTH, 3,
+            END,
+            4,1,1, // Expect 4*-1
+            
+            // If we set the DOY last, that should take precedence
+            Calendar.MONTH, 1, // Should ignore
+            ChineseCalendar.IS_LEAP_MONTH, 1, // Should ignore
+            Calendar.DAY_OF_MONTH, 1, // Should ignore
+            Calendar.DAY_OF_YEAR, 121,
+            END,
+            4,1,2, // Expect 4*-2
+            
+            // I've disabled this test because it doesn't work this way,
+            // not even with a GregorianCalendar!  MONTH alone isn't enough
+            // to supersede DAY_OF_YEAR.  Some other month-related field is
+            // also required. - Liu 11/28/00
+            //! // If we set MONTH last, that should take precedence
+            //! ChineseCalendar.IS_LEAP_MONTH, 1,
+            //! Calendar.DAY_OF_MONTH, 1,
+            //! Calendar.DAY_OF_YEAR, 5, // Should ignore
+            //! Calendar.MONTH, 3,
+            //! END,
+            //! 4,1,1, // Expect 4*-1
+            
+            // If we set IS_LEAP_MONTH last, that should take precedence
+            Calendar.MONTH, 3,
+            Calendar.DAY_OF_MONTH, 1,
+            Calendar.DAY_OF_YEAR, 5, // Should ignore
+            ChineseCalendar.IS_LEAP_MONTH, 1,
+            END,
+            4,1,1, // Expect 4*-1
+        };
+
+        StringBuffer buf = new StringBuffer();
+        for (int i=0; i<DATA.length; ) {
+            cal.clear();
+            cal.set(Calendar.EXTENDED_YEAR, THE_YEAR);
+            buf.setLength(0);
+            buf.append("EXTENDED_YEAR=" + THE_YEAR);
+            while (DATA[i] != END) {
+                cal.set(DATA[i++], DATA[i++]);
+                buf.append(" " + fieldName(DATA[i-2]) + "=" + DATA[i-1]);
+            }
+            ++i; // Skip over END mark
+            int expMonth = DATA[i++]-1;
+            int expIsLeapMonth = DATA[i++];
+            int expDOM = DATA[i++];
+            int month = cal.get(Calendar.MONTH);
+            int isLeapMonth = cal.get(ChineseCalendar.IS_LEAP_MONTH);
+            int dom = cal.get(Calendar.DAY_OF_MONTH);
+            if (expMonth == month && expIsLeapMonth == isLeapMonth &&
+                dom == expDOM) {
+                logln("OK: " + buf + " => " + fmt.format(cal.getTime()));
+            } else {
+                String s = fmt.format(cal.getTime());
+                cal.clear();
+                cal.set(Calendar.EXTENDED_YEAR, THE_YEAR);
+                cal.set(Calendar.MONTH, expMonth);
+                cal.set(ChineseCalendar.IS_LEAP_MONTH, expIsLeapMonth);
+                cal.set(Calendar.DAY_OF_MONTH, expDOM);
+                errln("Fail: " + buf + " => " + s +
+                      "=" + (month+1) + "," + isLeapMonth + "," + dom +
+                      ", expected " + fmt.format(cal.getTime()) +
+                      "=" + (expMonth+1) + "," + expIsLeapMonth + "," + expDOM);
+            }
+        }
+    }
+
+    /**
+     * Test the behavior of fields that are out of range.
+     */
+    public void TestOutOfRange() {
+        int[] DATA = new int[] {
+            // Input       Output
+            4638, 13,  1,   4639,  1,  1,
+            4638, 18,  1,   4639,  6,  1,
+            4639,  0,  1,   4638, 12,  1,
+            4639, -6,  1,   4638,  6,  1,
+            4638,  1, 32,   4638,  2,  2, // 1-4638 has 30 days
+            4638,  2, -1,   4638,  1, 29,
+        };
+        ChineseCalendar cal = new ChineseCalendar();
+        for (int i=0; i<DATA.length; ) {
+            int y1 = DATA[i++];
+            int m1 = DATA[i++]-1;
+            int d1 = DATA[i++];
+            int y2 = DATA[i++];
+            int m2 = DATA[i++]-1;
+            int d2 = DATA[i++];
+            cal.clear();
+            cal.set(Calendar.EXTENDED_YEAR, y1);
+            cal.set(MONTH, m1);
+            cal.set(DATE, d1);
+            int y = cal.get(Calendar.EXTENDED_YEAR);
+            int m = cal.get(MONTH);
+            int d = cal.get(DATE);
+            if (y!=y2 || m!=m2 || d!=d2) {
+                errln("Fail: " + y1 + "/" + (m1+1) + "/" + d1 + " resolves to " +
+                      y + "/" + (m+1) + "/" + d + ", expected " +
+                      y2 + "/" + (m2+1) + "/" + d2);
+            } else  if (isVerbose()) {
+                logln("OK: " + y1 + "/" + (m1+1) + "/" + d1 + " resolves to " +
+                      y + "/" + (m+1) + "/" + d);
+            }
+        }
+    }
+
+    /**
+     * Test the behavior of ChineseCalendar.add().  The only real
+     * nastiness with roll is the MONTH field around leap months.
+     */
+    public void TestAdd() {
+        int[][] tests = new int[][] {
+            // MONTHS ARE 1-BASED HERE
+            // input               add           output
+            // year  mon    day    field amount  year  mon    day
+            {  4642,   3,0,  15,   MONTH,   3,   4642,   6,0,  15 }, // normal
+            {  4639,  12,0,  15,   MONTH,   1,   4640,   1,0,  15 }, // across year
+            {  4640,   1,0,  15,   MONTH,  -1,   4639,  12,0,  15 }, // across year
+            {  4638,   3,0,  15,   MONTH,   3,   4638,   5,0,  15 }, // 4=leap
+            {  4638,   3,0,  15,   MONTH,   2,   4638,   4,1,  15 }, // 4=leap
+            {  4638,   4,0,  15,   MONTH,   1,   4638,   4,1,  15 }, // 4=leap
+            {  4638,   4,1,  15,   MONTH,   1,   4638,   5,0,  15 }, // 4=leap
+            {  4638,   4,0,  30,   MONTH,   1,   4638,   4,1,  29 }, // dom should pin
+            {  4638,   4,0,  30,   MONTH,   2,   4638,   5,0,  30 }, // no dom pin
+            {  4638,   4,0,  30,   MONTH,   3,   4638,   6,0,  29 }, // dom should pin
+        };
+       
+        ChineseCalendar cal = new ChineseCalendar();
+        doRollAdd(ADD, cal, tests);
+    }
+
+    /**
+     * Test the behavior of ChineseCalendar.roll().  The only real
+     * nastiness with roll is the MONTH field around leap months.
+     */
+    public void TestRoll() {
+        int[][] tests = new int[][] {
+            // MONTHS ARE 1-BASED HERE
+            // input               add           output
+            // year  mon    day    field amount  year  mon    day
+            {  4642,   3,0,  15,   MONTH,   3,   4642,   6,0,  15 }, // normal
+            {  4642,   3,0,  15,   MONTH,  11,   4642,   2,0,  15 }, // normal
+            {  4639,  12,0,  15,   MONTH,   1,   4639,   1,0,  15 }, // across year
+            {  4640,   1,0,  15,   MONTH,  -1,   4640,  12,0,  15 }, // across year
+            {  4638,   3,0,  15,   MONTH,   3,   4638,   5,0,  15 }, // 4=leap
+            {  4638,   3,0,  15,   MONTH,  16,   4638,   5,0,  15 }, // 4=leap
+            {  4638,   3,0,  15,   MONTH,   2,   4638,   4,1,  15 }, // 4=leap
+            {  4638,   3,0,  15,   MONTH,  28,   4638,   4,1,  15 }, // 4=leap
+            {  4638,   4,0,  15,   MONTH,   1,   4638,   4,1,  15 }, // 4=leap
+            {  4638,   4,0,  15,   MONTH, -12,   4638,   4,1,  15 }, // 4=leap
+            {  4638,   4,1,  15,   MONTH,   1,   4638,   5,0,  15 }, // 4=leap
+            {  4638,   4,1,  15,   MONTH, -25,   4638,   5,0,  15 }, // 4=leap
+            {  4638,   4,0,  30,   MONTH,   1,   4638,   4,1,  29 }, // dom should pin
+            {  4638,   4,0,  30,   MONTH,  14,   4638,   4,1,  29 }, // dom should pin
+            {  4638,   4,0,  30,   MONTH,  15,   4638,   5,0,  30 }, // no dom pin
+            {  4638,   4,0,  30,   MONTH, -10,   4638,   6,0,  29 }, // dom should pin
+        };
+       
+        ChineseCalendar cal = new ChineseCalendar();
+        doRollAdd(ROLL, cal, tests);
+    }
+    
+    void doRollAdd(boolean roll, ChineseCalendar cal, int[][] tests) {
+        String name = roll ? "rolling" : "adding";
+        
+        for (int i = 0; i < tests.length; i++) {
+            int[] test = tests[i];
+
+            cal.clear();
+                cal.set(Calendar.EXTENDED_YEAR, test[0]);
+                cal.set(Calendar.MONTH, test[1]-1);
+                cal.set(ChineseCalendar.IS_LEAP_MONTH, test[2]);
+                cal.set(Calendar.DAY_OF_MONTH, test[3]);
+            if (roll) {
+                cal.roll(test[4], test[5]);
+            } else {
+                cal.add(test[4], test[5]);
+            }
+            if (cal.get(Calendar.EXTENDED_YEAR) != test[6] ||
+                cal.get(MONTH) != (test[7]-1) ||
+                cal.get(ChineseCalendar.IS_LEAP_MONTH) != test[8] ||
+                cal.get(DATE) != test[9]) {
+                errln("Fail: " + name + " " +
+                      ymdToString(test[0], test[1]-1, test[2], test[3])
+                      + " " + fieldName(test[4]) + " by " + test[5]
+                      + ": expected " +
+                      ymdToString(test[6], test[7]-1, test[8], test[9])
+                      + ", got " + ymdToString(cal));
+            } else if (isVerbose()) {
+                logln("OK: " + name + " " +
+                      ymdToString(test[0], test[1]-1, test[2], test[3])
+                    + " " + fieldName(test[4]) + " by " + test[5]
+                    + ": got " + ymdToString(cal));
+            }
+        }
+    }
+
+    /**
+     * Convert year,month,day values to the form "year/month/day".
+     * On input the month value is zero-based, but in the result string it is one-based.
+     */
+    static public String ymdToString(int year, int month, int isLeapMonth, int day) {
+        return "" + year + "/" + (month+1) +
+            ((isLeapMonth!=0)?"(leap)":"") +
+            "/" + day;
+    }
+
+//    public void TestFindLeapMonths() {
+//        ChineseCalendar cal = new ChineseCalendar();
+//        cal.setTime(new Date(2000-1900, Calendar.JANUARY, 1));
+//        long end = new Date(2100-1900, Calendar.JANUARY, 1).getTime();
+//        ChineseDateFormat fmt = (ChineseDateFormat) DateFormat.getInstance(cal);
+//        fmt.applyPattern("u-MMl-dd, 'Year' y, 'Cycle' G");
+//        while (cal.getTimeInMillis() < end) {
+//            if (cal.get(ChineseCalendar.IS_LEAP_MONTH) != 0) {
+//                cal.set(Calendar.DAY_OF_MONTH, 1);
+//                logln(cal.getTime() + " = " + fmt.format(cal.getTime()));
+//                cal.set(Calendar.DAY_OF_MONTH, 29);
+//            }
+//            cal.add(Calendar.DAY_OF_YEAR, 25);
+//        }
+//    }
+
+    public void TestCoverage() {
+        ChineseCalendar cal = new ChineseCalendar();
+        DateFormat format = DateFormat.getInstance(cal);
+        if(!(format instanceof ChineseDateFormat)){
+            errln("DateFormat.getInstance("+cal+") did not return a ChineseDateFormat");
+        }
+        ChineseDateFormat fmt = (ChineseDateFormat)format;
+        fmt.applyPattern("llyyll");
+        Date time = getDate(2100, Calendar.JANUARY, 1);
+        String str = fmt.format(time);
+        try {
+            Date e = fmt.parse(str);
+            logln("chinese calendar time: " + time + " result: " + str + " --> " + e);
+        } catch (java.text.ParseException ex) {
+            logln(ex.getMessage()); // chinese calendar can't parse this, no error for now
+        }
+
+        //new ChineseCalendar(TimeZone,ULocale)
+        ChineseCalendar ccal2 = new ChineseCalendar(TimeZone.getDefault(),
+                                                   ULocale.CHINA);
+        if(ccal2==null){
+            errln("could not create ChineseCalendar with TimeZone ULocale");
+        } else {
+            fmt = (ChineseDateFormat)DateFormat.getDateInstance(ccal2, DateFormat.DEFAULT, ULocale.CHINA);
+            time = getDate(2001, Calendar.MAY, 23);
+            str = fmt.format(time);
+            logln("Chinese calendar time: " + time + " result: " + str);
+        }        
+    }
+    public void TestScratch(){
+        String[] strMonths = {"Januari", "Pebruari", "Maret", "April", "Mei", "Juni",
+                "Juli", "Agustus", "September", "Oktober", "Nopember", "Desember"};
+        String[] strShortMonths = {"Jan", "Peb", "Mar", "Apr", "Mei", "Jun",
+                     "Jul", "Agt", "Sep", "Okt", "Nop", "Des"};
+        String[] strWeeks = {"", "Minggu", "Senin", "Selasa", "Rabu", "Kamis", "Jumat", "Sabtu"};
+        DateFormatSymbols dfsDate = new DateFormatSymbols(new Locale("id", "ID"));
+        dfsDate.setMonths(strMonths);
+        dfsDate.setShortMonths(strShortMonths);
+        dfsDate.setWeekdays(strWeeks);
+        ULocale uloInd = dfsDate.getLocale(ULocale.ACTUAL_LOCALE);
+        if(uloInd==null){
+            errln("did not get the expected ULocale");
+        }
+        logln(uloInd.toString());
+        Locale locInd = uloInd.toLocale();
+        if(locInd==null){
+            errln("did not get the expected result");
+        }
+        logln(locInd.toString());
+    }
+}
diff --git a/src/com/ibm/icu/dev/test/calendar/ChineseTestCase.java b/src/com/ibm/icu/dev/test/calendar/ChineseTestCase.java
new file mode 100755
index 0000000..924b6aa
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/calendar/ChineseTestCase.java
@@ -0,0 +1,53 @@
+/**
+ *******************************************************************************
+ * Copyright (C) 2001-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.test.calendar;
+import com.ibm.icu.util.*;
+import java.util.Date;
+
+public class ChineseTestCase extends TestCase {
+
+    /**
+     * Initialize an object using a Julian day number and
+     * the corresponding fields for the calendar being tested.
+     *
+     * @param era the ERA field of tested calendar on the given Julian
+     * day
+     * @param year the YEAR field of tested calendar on the given
+     * Julian day
+     * @param month the MONTH (1-based) field of tested calendar on
+     * the given Julian day
+     * @param isLeapMonth if true, treat month as a leap month
+     * @param dayOfMonth the DAY_OF_MONTH field of tested calendar on the
+     * given Julian day
+     * @param dayOfWeek the DAY_OF_WEEK field of tested calendar on given
+     * Julian day
+     */
+    public ChineseTestCase(double julian,
+                           int era, int year, int month,
+                           boolean isLeapMonth, int dayOfMonth, int dayOfWeek) {
+
+        setTime(new Date(JULIAN_EPOCH + (long)(ONE_DAY * julian)));
+        
+        set(Calendar.ERA, era);
+        set(Calendar.YEAR, year);
+        set(Calendar.MONTH, month - 1);
+        set(ChineseCalendar.IS_LEAP_MONTH, isLeapMonth?1:0);
+        set(Calendar.DAY_OF_MONTH, dayOfMonth);
+        set(Calendar.DAY_OF_WEEK, dayOfWeek);
+    }
+
+    /**
+     * Return a String representation of this test case's time.
+     */
+    public String toString() {
+        return dowToString(get(Calendar.DAY_OF_WEEK)) +
+            get(Calendar.YEAR) + "of" + get(Calendar.ERA) +
+            "/" + (get(Calendar.MONTH)+1) +
+            (get(ChineseCalendar.IS_LEAP_MONTH)==1?"(leap)":"") + "/" +
+            get(Calendar.DAY_OF_MONTH);
+    }
+}
diff --git a/src/com/ibm/icu/dev/test/calendar/CompatibilityTest.java b/src/com/ibm/icu/dev/test/calendar/CompatibilityTest.java
new file mode 100755
index 0000000..bfa1447
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/calendar/CompatibilityTest.java
@@ -0,0 +1,1115 @@
+/**
+ *******************************************************************************
+ * Copyright (C) 2000-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.test.calendar;
+import com.ibm.icu.util.*;
+import com.ibm.icu.text.DateFormat;
+
+import java.util.Date;
+import java.util.Locale;
+import java.io.*;
+
+public class CompatibilityTest extends com.ibm.icu.dev.test.TestFmwk {
+
+    public static void main(String argv[]) throws Exception {
+        new CompatibilityTest().run(argv);
+    }
+
+    static final String[] FIELD_NAME = {
+        "ERA", "YEAR", "MONTH", "WEEK_OF_YEAR", "WEEK_OF_MONTH",
+        "DAY_OF_MONTH", "DAY_OF_YEAR", "DAY_OF_WEEK",
+        "DAY_OF_WEEK_IN_MONTH", "AM_PM", "HOUR", "HOUR_OF_DAY",
+        "MINUTE", "SECOND", "MILLISECOND", "ZONE_OFFSET",
+        "DST_OFFSET", "YEAR_WOY", "DOW_LOCAL", "EXTENDED_YEAR",
+        "JULIAN_DAY", "MILLISECONDS_IN_DAY",
+    };
+
+    /**
+     * Test the behavior of the GregorianCalendar around the changeover.
+     */
+    public void TestGregorianChangeover() {
+    
+        java.util.TimeZone jdkGMT = java.util.TimeZone.getTimeZone("GMT");
+        java.util.Calendar jdkCal = java.util.Calendar.getInstance(jdkGMT);
+        jdkCal.clear();
+        jdkCal.set(1582, Calendar.OCTOBER, 15);
+        
+//        if(jdkCal instanceof java.util.GregorianCalendar) {
+//        		logln("jdk IS grego");
+//        		java.util.GregorianCalendar jdkgc = (java.util.GregorianCalendar)
+//						jdkCal;
+//        		logln("jdk change at: " + jdkgc.getGregorianChange() + "(" + jdkgc.getGregorianChange().getTime() +")" );
+//        } else {
+//        	    logln("jdk NOT grego");
+//        }
+      
+        long a = jdkCal.getTime().getTime();
+        Date c = jdkCal.getTime();
+        c.toString();
+        long b = c.getTime();
+        if(a!=b) {
+             logln(" " + a + " != " + b);
+            	logln("JDK has Gregorian cutover anomaly (1.5?) - skipping this test.");
+            	return;
+        }
+        
+        Date co = jdkCal.getTime();
+        logln("Change over (Oct 15 1582) = " + co + " (" + co.getTime() + ")");
+        final int ONE_DAY = 24*60*60*1000;
+        TimeZone gmt = TimeZone.getTimeZone("GMT");
+        GregorianCalendar cal = new GregorianCalendar(gmt);
+        /*
+          Changeover -7 days: 1582/9/28 dow=6
+          Changeover -6 days: 1582/9/29 dow=7
+          Changeover -5 days: 1582/9/30 dow=1
+          Changeover -4 days: 1582/10/1 dow=2
+          Changeover -3 days: 1582/10/2 dow=3
+          Changeover -2 days: 1582/10/3 dow=4
+          Changeover -1 days: 1582/10/4 dow=5
+          Changeover +0 days: 1582/10/15 dow=6
+          Changeover +1 days: 1582/10/16 dow=7
+          Changeover +2 days: 1582/10/17 dow=1
+          Changeover +3 days: 1582/10/18 dow=2
+          Changeover +4 days: 1582/10/19 dow=3
+          Changeover +5 days: 1582/10/20 dow=4
+          Changeover +6 days: 1582/10/21 dow=5
+          Changeover +7 days: 1582/10/22 dow=6
+          */
+        int MON[] = {  9,  9,  9,10,10,10,10, 10, 10, 10, 10, 10, 10, 10, 10 };
+        int DOM[] = { 28, 29, 30, 1, 2, 3, 4, 15, 16, 17, 18, 19, 20, 21, 22 };
+        int DOW[] = {  6,  7,  1, 2, 3, 4, 5,  6,  7,  1,  2,  3,  4,  5,  6 };
+        //                                     ^ <-Changeover Fri Oct 15 1582
+        int j=0;
+        for (int i=-7; i<=7; ++i, ++j) {
+            Date d = new Date(co.getTime() + i*ONE_DAY);
+            cal.setTime(d);
+            int y = cal.get(Calendar.YEAR), mon = cal.get(Calendar.MONTH)+1-Calendar.JANUARY,
+                dom = cal.get(Calendar.DATE), dow = cal.get(Calendar.DAY_OF_WEEK);
+            logln("Changeover " + (i>=0?"+":"") +
+                  i + " days: " + y + "/" + mon + "/" + dom + " dow=" + dow);
+            if (y != 1582 || mon != MON[j] || dom != DOM[j] || dow != DOW[j])
+                errln(" Fail: Above line is wrong");
+        }
+    }
+
+    /**
+     * Test the mapping between millis and fields.  For the purposes
+     * of this test, we don't care about timezones and week data
+     * (first day of week, minimal days in first week).
+     */
+    public void TestMapping() {
+        if (false) {
+            Date PURE_GREGORIAN = new Date(Long.MIN_VALUE);
+            Date PURE_JULIAN = new Date(Long.MAX_VALUE);
+            GregorianCalendar cal =
+                new GregorianCalendar(TimeZone.getTimeZone("UTC"));
+            final int EPOCH_JULIAN = 2440588;
+            final long ONE_DAY = 24*60*60*1000L;
+            com.ibm.icu.text.SimpleDateFormat fmt =
+                new com.ibm.icu.text.SimpleDateFormat("EEE MMM dd yyyy G");
+                /*HH:mm:ss.SSS z*/
+
+            for (int type=0; type<2; ++type) {
+                System.out.println(type==0 ? "Gregorian" : "Julian");
+                cal.setGregorianChange(type==0 ? PURE_GREGORIAN : PURE_JULIAN);
+                fmt.setCalendar(cal);
+                int[] J = {
+                    0x7FFFFFFF,
+                    0x7FFFFFF0,
+                    0x7F000000,
+                    0x78000000,
+                    0x70000000,
+                    0x60000000,
+                    0x50000000,
+                    0x40000000,
+                    0x30000000,
+                    0x20000000,
+                    0x10000000,
+                };
+                for (int i=0; i<J.length; ++i) {
+                    String[] lim = new String[2];
+                    long[] ms = new long[2];
+                    int jd = J[i];
+                    for (int sign=0; sign<2; ++sign) {
+                        int julian = jd;
+                        if (sign==0) julian = -julian;
+                        long millis = ((long)julian - EPOCH_JULIAN) * ONE_DAY;
+                        ms[sign] = millis;
+                        cal.setTime(new Date(millis));
+                        lim[sign] = fmt.format(cal.getTime());
+                    }
+                    System.out.println("JD +/-" +
+                                       Long.toString(jd, 16) +
+                                       ": " + ms[0] + ".." + ms[1] +
+                                       ": " + lim[0] + ".." + lim[1]);
+                }
+            }
+        }
+
+        TimeZone saveZone = TimeZone.getDefault();
+        try {
+            TimeZone.setDefault(TimeZone.getTimeZone("UTC"));
+            //NEWCAL
+            Date PURE_GREGORIAN = new Date(Long.MIN_VALUE);
+            Date PURE_JULIAN = new Date(Long.MAX_VALUE);
+            GregorianCalendar cal = new GregorianCalendar();
+            final int EPOCH_JULIAN = 2440588;
+            final long ONE_DAY = 24*60*60*1000L;
+            int[] DATA = {
+                // Julian#   Year  Month               DOM   JULIAN:Year, Month,       DOM
+                2440588,     1970, Calendar.JANUARY,   1,    1969, Calendar.DECEMBER,  19, 
+                2415080,     1900, Calendar.MARCH,     1,    1900, Calendar.FEBRUARY,  17,
+                2451604,     2000, Calendar.FEBRUARY,  29,   2000, Calendar.FEBRUARY,  16,
+                2452269,     2001, Calendar.DECEMBER,  25,   2001, Calendar.DECEMBER,  12,
+                2416526,     1904, Calendar.FEBRUARY,  15,   1904, Calendar.FEBRUARY,  2,
+                2416656,     1904, Calendar.JUNE,      24,   1904, Calendar.JUNE,      11,
+                1721426,        1, Calendar.JANUARY,   1,       1, Calendar.JANUARY,   3,
+                2000000,      763, Calendar.SEPTEMBER, 18,    763, Calendar.SEPTEMBER, 14,
+                4000000,     6239, Calendar.JULY,      12,   6239, Calendar.MAY,       28,
+                8000000,    17191, Calendar.FEBRUARY,  26,  17190, Calendar.OCTOBER,   22,
+                10000000,   22666, Calendar.DECEMBER,  20,  22666, Calendar.JULY,      5,
+            };
+            for (int i=0; i<DATA.length; i+=7) {
+                int julian = DATA[i];
+                int year = DATA[i+1];
+                int month = DATA[i+2];
+                int dom = DATA[i+3];
+                int year2, month2, dom2;
+                long millis = (julian - EPOCH_JULIAN) * ONE_DAY;
+                String s;
+
+                // Test Gregorian computation
+                cal.setGregorianChange(PURE_GREGORIAN);
+                cal.clear();
+                cal.set(year, month, dom);
+                long calMillis = cal.getTime().getTime();
+                long delta = calMillis - millis;
+                cal.setTime(new Date(millis));
+                year2 = cal.get(Calendar.YEAR);
+                month2 = cal.get(Calendar.MONTH);
+                dom2 = cal.get(Calendar.DAY_OF_MONTH);
+                s = "G " + year + "-" + (month+1-Calendar.JANUARY) + "-" + dom +
+                    " => " + calMillis +
+                    " (" + ((float)delta/ONE_DAY) + " day delta) => " +
+                    year2 + "-" + (month2+1-Calendar.JANUARY) + "-" + dom2;
+                if (delta != 0 || year != year2 || month != month2 ||
+                    dom != dom2) errln(s + " FAIL");
+                else logln(s);
+                
+                // Test Julian computation
+                year = DATA[i+4];
+                month = DATA[i+5];
+                dom = DATA[i+6];
+                cal.setGregorianChange(PURE_JULIAN);
+                cal.clear();
+                cal.set(year, month, dom);
+                calMillis = cal.getTime().getTime();
+                delta = calMillis - millis;
+                cal.setTime(new Date(millis));
+                year2 = cal.get(Calendar.YEAR);
+                month2 = cal.get(Calendar.MONTH);
+                dom2 = cal.get(Calendar.DAY_OF_MONTH);
+                s = "J " + year + "-" + (month+1-Calendar.JANUARY) + "-" + dom +
+                    " => " + calMillis +
+                    " (" + ((float)delta/ONE_DAY) + " day delta) => " +
+                    year2 + "-" + (month2+1-Calendar.JANUARY) + "-" + dom2;
+                if (delta != 0 || year != year2 || month != month2 ||
+                    dom != dom2) errln(s + " FAIL");
+                else logln(s);
+            }
+
+            java.util.Calendar tempcal = java.util.Calendar.getInstance();
+            tempcal.clear();
+            tempcal.set(1582, Calendar.OCTOBER, 15);
+            cal.setGregorianChange(tempcal.getTime());
+            auxMapping(cal, 1582, Calendar.OCTOBER, 4);
+            auxMapping(cal, 1582, Calendar.OCTOBER, 15);
+            auxMapping(cal, 1582, Calendar.OCTOBER, 16);
+            for (int y=800; y<3000; y+=1+(int)(100*Math.random())) {
+                for (int m=Calendar.JANUARY; m<=Calendar.DECEMBER; ++m) {
+                    auxMapping(cal, y, m, 15);
+                }
+            }
+        }
+        finally {
+            TimeZone.setDefault(saveZone);
+        }
+    }
+    private void auxMapping(Calendar cal, int y, int m, int d) {
+        cal.clear();
+        cal.set(y, m, d);
+        long millis = cal.getTime().getTime();
+        cal.setTime(new Date(millis));
+        int year2 = cal.get(Calendar.YEAR);
+        int month2 = cal.get(Calendar.MONTH);
+        int dom2 = cal.get(Calendar.DAY_OF_MONTH);
+        if (y != year2 || m != month2 || dom2 != d)
+            errln("Round-trip failure: " + y + "-" + (m+1) + "-"+d+" =>ms=> " +
+                  year2 + "-" + (month2+1) + "-" + dom2);
+    }
+
+    public void TestGenericAPI() {
+        // not used String str;
+
+        java.util.Calendar tempcal = java.util.Calendar.getInstance();
+        tempcal.clear();
+        tempcal.set(1990, Calendar.APRIL, 15);
+        Date when = tempcal.getTime();
+
+        String tzid = "TestZone";
+        int tzoffset = 123400;
+
+        SimpleTimeZone zone = new SimpleTimeZone(tzoffset, tzid);
+        Calendar cal = (Calendar)Calendar.getInstance((SimpleTimeZone)zone.clone());
+
+        if (!zone.equals(cal.getTimeZone())) errln("FAIL: Calendar.getTimeZone failed");
+
+        Calendar cal2 = Calendar.getInstance(cal.getTimeZone());
+
+        cal.setTime(when);
+        cal2.setTime(when);
+
+        if (!(cal.equals(cal2))) errln("FAIL: Calendar.operator== failed");
+        // if ((*cal != *cal2))  errln("FAIL: Calendar.operator!= failed");
+        if (!cal.equals(cal2) ||
+            cal.before(cal2) ||
+            cal.after(cal2)) errln("FAIL: equals/before/after failed");
+
+        cal2.setTime(new Date(when.getTime() + 1000));
+        if (cal.equals(cal2) ||
+            cal2.before(cal) ||
+            cal.after(cal2)) errln("FAIL: equals/before/after failed");
+
+        cal.roll(Calendar.SECOND, true);
+        if (!cal.equals(cal2) ||
+            cal.before(cal2) ||
+            cal.after(cal2)) errln("FAIL: equals/before/after failed");
+
+        // Roll back to January
+        cal.roll(Calendar.MONTH, (int)(1 + Calendar.DECEMBER - cal.get(Calendar.MONTH)));
+        if (cal.equals(cal2) ||
+            cal2.before(cal) ||
+            cal.after(cal2)) errln("FAIL: equals/before/after failed");
+
+        // C++ only
+        /* TimeZone z = cal.orphanTimeZone();
+           if (z.getID(str) != tzid ||
+           z.getRawOffset() != tzoffset)
+           errln("FAIL: orphanTimeZone failed");
+           */
+
+        for (int i=0; i<2; ++i) {
+            boolean lenient = ( i > 0 );
+            cal.setLenient(lenient);
+            if (lenient != cal.isLenient()) errln("FAIL: setLenient/isLenient failed");
+            // Later: Check for lenient behavior
+        }
+
+        int i;
+        for (i=Calendar.SUNDAY; i<=Calendar.SATURDAY; ++i) {
+            cal.setFirstDayOfWeek(i);
+            if (cal.getFirstDayOfWeek() != i) errln("FAIL: set/getFirstDayOfWeek failed");
+        }
+
+        for (i=1; i<=7; ++i) {
+            cal.setMinimalDaysInFirstWeek(i);
+            if (cal.getMinimalDaysInFirstWeek() != i) errln("FAIL: set/getFirstDayOfWeek failed");
+        }
+
+        for (i=0; i<cal.getFieldCount(); ++i) {
+            if (cal.getMinimum(i) != cal.getGreatestMinimum(i))
+                errln("FAIL: getMinimum doesn't match getGreatestMinimum for field " + i);
+            if (cal.getLeastMaximum(i) > cal.getMaximum(i))
+                errln("FAIL: getLeastMaximum larger than getMaximum for field " + i);
+            if (cal.getMinimum(i) >= cal.getMaximum(i))
+                errln("FAIL: getMinimum not less than getMaximum for field " + i);
+        }
+
+        cal.setTimeZone(TimeZone.getDefault());
+        cal.clear();
+        cal.set(1984, 5, 24);
+        tempcal.clear();
+        tempcal.set(1984, 5, 24);
+        if (cal.getTime().getTime() != tempcal.getTime().getTime()) {
+            errln("FAIL: Calendar.set(3 args) failed");
+            logln(" Got: " + cal.getTime() + "  Expected: " + tempcal.getTime());
+        }
+
+        cal.clear();
+        cal.set(1985, 3, 2, 11, 49);
+        tempcal.clear();
+        tempcal.set(1985, 3, 2, 11, 49);
+        if (cal.getTime().getTime() != tempcal.getTime().getTime()) {
+            errln("FAIL: Calendar.set(5 args) failed");
+            logln(" Got: " + cal.getTime() + "  Expected: " + tempcal.getTime());
+        }
+
+        cal.clear();
+        cal.set(1995, 9, 12, 1, 39, 55);
+        tempcal.clear();
+        tempcal.set(1995, 9, 12, 1, 39, 55);
+        if (cal.getTime().getTime() != tempcal.getTime().getTime()) {
+            errln("FAIL: Calendar.set(6 args) failed");
+            logln(" Got: " + cal.getTime() + "  Expected: " + tempcal.getTime());
+        }
+
+        cal.getTime();
+        // This test is strange -- why do we expect certain fields to be set, and
+        // others not to be?  Revisit the appropriateness of this.  - Alan NEWCAL
+        for (i=0; i<cal.getFieldCount(); ++i) {
+            switch(i) {
+            case Calendar.YEAR: case Calendar.MONTH: case Calendar.DATE:
+            case Calendar.HOUR_OF_DAY: case Calendar.MINUTE: case Calendar.SECOND:
+            case Calendar.EXTENDED_YEAR:
+                if (!cal.isSet(i)) errln("FAIL: " + FIELD_NAME[i] + " is not set");
+                break;
+            default:
+                if (cal.isSet(i)) errln("FAIL: " + FIELD_NAME[i] + " is set");
+            }
+            cal.clear(i);
+            if (cal.isSet(i)) errln("FAIL: Calendar.clear/isSet failed");
+        }
+
+        // delete cal;
+        // delete cal2;
+
+        Locale[] loc = Calendar.getAvailableLocales();
+        long count = loc.length;
+        if (count < 1 || loc == null) {
+            errln("FAIL: getAvailableLocales failed");
+        }
+        else {
+            for (i=0; i<count; ++i) {
+                cal = Calendar.getInstance(loc[i]);
+                // delete cal;
+            }
+        }
+
+        cal = Calendar.getInstance(TimeZone.getDefault(), Locale.ENGLISH);
+        // delete cal;
+
+        cal = Calendar.getInstance(zone, Locale.ENGLISH);
+        // delete cal;
+
+        GregorianCalendar gc = new GregorianCalendar(zone);
+        // delete gc;
+
+        gc = new GregorianCalendar(Locale.ENGLISH);
+        // delete gc;
+
+        gc = new GregorianCalendar(Locale.ENGLISH);
+        // delete gc;
+
+        gc = new GregorianCalendar(zone, Locale.ENGLISH);
+        // delete gc;
+
+        gc = new GregorianCalendar(zone);
+        // delete gc;
+
+        gc = new GregorianCalendar(1998, 10, 14, 21, 43);
+        tempcal.clear();
+        tempcal.set(1998, 10, 14, 21, 43);
+        if (gc.getTime().getTime() != tempcal.getTime().getTime())
+            errln("FAIL: new GregorianCalendar(ymdhm) failed");
+        // delete gc;
+
+        gc = new GregorianCalendar(1998, 10, 14, 21, 43, 55);
+        tempcal.clear();
+        tempcal.set(1998, 10, 14, 21, 43, 55);
+        if (gc.getTime().getTime() != tempcal.getTime().getTime())
+            errln("FAIL: new GregorianCalendar(ymdhms) failed");
+
+        // C++ only:
+        // GregorianCalendar gc2 = new GregorianCalendar(Locale.ENGLISH);
+        // gc2 = gc;
+        // if (gc2 != gc || !(gc2 == gc)) errln("FAIL: GregorianCalendar assignment/operator==/operator!= failed");
+        // delete gc;
+        // delete z;
+    }
+
+    // Verify Roger Webster's bug
+    public void TestRog() {
+        GregorianCalendar gc = new GregorianCalendar();
+
+        int year = 1997, month = Calendar.APRIL, date = 1;
+        gc.set(year, month, date); // April 1, 1997
+
+        gc.set(Calendar.HOUR_OF_DAY, 23);
+        gc.set(Calendar.MINUTE, 0);
+        gc.set(Calendar.SECOND, 0);
+        gc.set(Calendar.MILLISECOND, 0);
+
+        for (int i = 0; i < 9; i++, gc.add(Calendar.DATE, 1)) {
+            if (gc.get(Calendar.YEAR) != year ||
+                gc.get(Calendar.MONTH) != month ||
+                gc.get(Calendar.DATE) != (date + i))
+                errln("FAIL: Date " + gc.getTime() + " wrong");
+        }
+    }
+
+    // Verify DAY_OF_WEEK
+    public void TestDOW943() {
+        dowTest(false);
+        dowTest(true);
+    }
+
+    void dowTest(boolean lenient) {
+        GregorianCalendar cal = new GregorianCalendar();
+        cal.set(1997, Calendar.AUGUST, 12); // Wednesday
+        cal.getTime(); // Force update
+        cal.setLenient(lenient);
+        cal.set(1996, Calendar.DECEMBER, 1); // Set the date to be December 1, 1996
+        int dow = cal.get(Calendar.DAY_OF_WEEK);
+        int min = cal.getMinimum(Calendar.DAY_OF_WEEK);
+        int max = cal.getMaximum(Calendar.DAY_OF_WEEK);
+        if (dow < min || dow > max) errln("FAIL: Day of week " + dow + " out of range");
+        if (dow != Calendar.SUNDAY) {
+            errln("FAIL2: Day of week should be SUNDAY; is " + dow + ": " + cal.getTime());
+        }
+        if (min != Calendar.SUNDAY || max != Calendar.SATURDAY) errln("FAIL: Min/max bad");
+    }
+
+    // Verify that the clone method produces distinct objects with no
+    // unintentionally shared fields.
+    public void TestClonesUnique908() {
+        Calendar c = Calendar.getInstance();
+        Calendar d = (Calendar)c.clone();
+        c.set(Calendar.MILLISECOND, 123);
+        d.set(Calendar.MILLISECOND, 456);
+        if (c.get(Calendar.MILLISECOND) != 123 ||
+            d.get(Calendar.MILLISECOND) != 456) {
+            errln("FAIL: Clones share fields");
+        }
+    }
+
+    // Verify effect of Gregorian cutoff value
+    public void TestGregorianChange768() {
+        boolean b;
+        GregorianCalendar c = new GregorianCalendar();
+        logln("With cutoff " + c.getGregorianChange());
+        logln(" isLeapYear(1800) = " + (b=c.isLeapYear(1800)));
+        logln(" (should be FALSE)");
+        if (b != false) errln("FAIL");
+        java.util.Calendar tempcal = java.util.Calendar.getInstance();
+        tempcal.clear();
+        tempcal.set(1900, 0, 1);
+        c.setGregorianChange(tempcal.getTime()); // Jan 1 1900
+        logln("With cutoff " + c.getGregorianChange());
+        logln(" isLeapYear(1800) = " + (b=c.isLeapYear(1800)));
+        logln(" (should be TRUE)");
+        if (b != true) errln("FAIL");
+    }
+
+    // Test the correct behavior of the disambiguation algorithm.
+    public void TestDisambiguation765() throws Exception {
+        Calendar c = Calendar.getInstance();
+        c.setLenient(false);
+
+        c.clear();
+        c.set(Calendar.YEAR, 1997);
+        c.set(Calendar.MONTH, Calendar.JUNE);
+        c.set(Calendar.DATE, 3);
+
+        verify765("1997 third day of June = ", c, 1997, Calendar.JUNE, 3);
+
+        c.clear();
+        c.set(Calendar.YEAR, 1997);
+        c.set(Calendar.DAY_OF_WEEK, Calendar.TUESDAY);
+        c.set(Calendar.MONTH, Calendar.JUNE);
+        c.set(Calendar.DAY_OF_WEEK_IN_MONTH, 1);
+        verify765("1997 first Tuesday in June = ", c, 1997, Calendar.JUNE, 3);
+
+        c.clear();
+        c.set(Calendar.YEAR, 1997);
+        c.set(Calendar.DAY_OF_WEEK, Calendar.TUESDAY);
+        c.set(Calendar.MONTH, Calendar.JUNE);
+        c.set(Calendar.DAY_OF_WEEK_IN_MONTH, -1);
+        verify765("1997 last Tuesday in June = ", c, 1997, Calendar.JUNE, 24);
+
+        IllegalArgumentException e = null;
+        try {
+            c.clear();
+            c.set(Calendar.YEAR, 1997);
+            c.set(Calendar.DAY_OF_WEEK, Calendar.TUESDAY);
+            c.set(Calendar.MONTH, Calendar.JUNE);
+            c.set(Calendar.DAY_OF_WEEK_IN_MONTH, 0);
+            c.getTime();
+        }
+        catch (IllegalArgumentException ex) {
+            e = ex;
+        }
+        verify765("1997 zero-th Tuesday in June = ", e, c);
+
+        c.clear();
+        c.set(Calendar.YEAR, 1997);
+        c.set(Calendar.DAY_OF_WEEK, Calendar.TUESDAY);
+        c.set(Calendar.MONTH, Calendar.JUNE);
+        c.set(Calendar.WEEK_OF_MONTH, 1);
+        verify765("1997 Tuesday in week 1 of June = ", c, 1997, Calendar.JUNE, 3);
+
+        c.clear();
+        c.set(Calendar.YEAR, 1997);
+        c.set(Calendar.DAY_OF_WEEK, Calendar.TUESDAY);
+        c.set(Calendar.MONTH, Calendar.JUNE);
+        c.set(Calendar.WEEK_OF_MONTH, 5);
+        verify765("1997 Tuesday in week 5 of June = ", c, 1997, Calendar.JULY, 1);
+
+        try {
+            c.clear();
+            c.set(Calendar.YEAR, 1997);
+            c.set(Calendar.DAY_OF_WEEK, Calendar.TUESDAY);
+            c.set(Calendar.MONTH, Calendar.JUNE);
+            c.set(Calendar.WEEK_OF_MONTH, 0);
+            verify765("1997 Tuesday in week 0 of June = ", c, 1997, Calendar.MAY, 27);
+        }
+        catch (IllegalArgumentException ex) {
+            errln("FAIL: Exception seen:");
+            // ex.printStackTrace(log);
+        }
+
+        c.clear();
+        c.set(Calendar.YEAR, 1997);
+        c.set(Calendar.DAY_OF_WEEK, Calendar.TUESDAY);
+        c.set(Calendar.WEEK_OF_YEAR, 1);
+        verify765("1997 Tuesday in week 1 of year = ", c, 1996, Calendar.DECEMBER, 31);
+
+        c.clear();
+        c.set(Calendar.YEAR, 1997);
+        c.set(Calendar.DAY_OF_WEEK, Calendar.TUESDAY);
+        c.set(Calendar.WEEK_OF_YEAR, 10);
+        verify765("1997 Tuesday in week 10 of year = ", c, 1997, Calendar.MARCH, 4);
+
+        try {
+            c.clear();
+            c.set(Calendar.YEAR, 1997);
+            c.set(Calendar.DAY_OF_WEEK, Calendar.TUESDAY);
+            c.set(Calendar.WEEK_OF_YEAR, 0);
+            verify765("1997 Tuesday in week 0 of year = ", c, 1996, Calendar.DECEMBER, 24);
+            throw new Exception("Fail: WEEK_OF_YEAR 0 should be illegal");
+        }
+        catch (IllegalArgumentException ex) {
+            System.out.print("");
+        }
+    }
+    void verify765(String msg, Calendar c, int year, int month, int day) {
+        int cy = c.get(Calendar.YEAR); // NEWCAL
+        int cm = c.get(Calendar.MONTH);
+        int cd = c.get(Calendar.DATE);
+        if (cy == year &&
+            cm == month &&
+            cd == day) {
+            logln("PASS: " + msg + c.getTime());
+        }
+        else {
+            errln("FAIL: " + msg + cy + "/" + (cm+1) + "/" + cd +
+                  "=" + c.getTime() +
+                  "; expected " +
+                  year + "/" + (month+1) + "/" + day);
+        }
+    }
+    // Called when e expected to be non-null
+    void verify765(String msg, IllegalArgumentException e, Calendar c) {
+        if (e == null) errln("FAIL: No IllegalArgumentException for " + msg +
+                             c.getTime());
+        else logln("PASS: " + msg + "IllegalArgument as expected");
+    }
+
+    // Test the behavior of GMT vs. local time
+    public void TestGMTvsLocal4064654() {
+        // Sample output 1:
+        // % /usr/local/java/jdk1.1.3/solaris/bin/java test 1997 1 1 12 0 0
+        // date = Wed Jan 01 04:00:00 PST 1997
+        // offset for Wed Jan 01 04:00:00 PST 1997= -8hr
+        aux4064654(1997, 1, 1, 12, 0, 0);
+
+        // Sample output 2:
+        // % /usr/local/java/jdk1.1.3/solaris/bin/java test 1997 4 16 18 30 0
+        // date = Wed Apr 16 10:30:00 PDT 1997
+        // offset for Wed Apr 16 10:30:00 PDT 1997= -7hr
+
+        // Note that in sample output 2 according to the offset, the gmt time
+        // of the result would be 1997 4 16 17 30 0 which is different from the
+        // input of 1997 4 16 18 30 0.
+        aux4064654(1997, 4, 16, 18, 30, 0);
+    }
+    void aux4064654(int yr, int mo, int dt, int hr, int mn, int sc) {
+        Date date;
+        Calendar gmtcal = Calendar.getInstance();
+        gmtcal.setTimeZone(TimeZone.getTimeZone("Africa/Casablanca"));
+        gmtcal.set(yr, mo-1, dt, hr, mn, sc);
+        gmtcal.set(Calendar.MILLISECOND, 0);
+
+        date = gmtcal.getTime();
+        logln("date = "+date);
+
+        Calendar cal = Calendar.getInstance();
+        cal.setTimeZone(TimeZone.getTimeZone("America/Los_Angels"));
+        cal.setTime(date);
+
+        int offset = cal.getTimeZone().getOffset(cal.get(Calendar.ERA),
+                                                 cal.get(Calendar.YEAR),
+                                                 cal.get(Calendar.MONTH),
+                                                 cal.get(Calendar.DATE),
+                                                 cal.get(Calendar.DAY_OF_WEEK),
+                                                 cal.get(Calendar.MILLISECOND));
+
+        logln("offset for "+date+"= "+(offset/1000/60/60.0) + "hr");
+
+        int utc = ((cal.get(Calendar.HOUR_OF_DAY) * 60 +
+                    cal.get(Calendar.MINUTE)) * 60 +
+                   cal.get(Calendar.SECOND)) * 1000 +
+            cal.get(Calendar.MILLISECOND) - offset;
+
+        int expected = ((hr * 60 + mn) * 60 + sc) * 1000;
+
+        if (utc != expected)
+            errln("FAIL: Discrepancy of " +
+                  (utc - expected) + " millis = " +
+                  ((utc-expected)/1000/60/60.0) + " hr");
+    }
+
+    // Verify that add and set work regardless of the order in which
+    // they are called.
+    public void TestAddSetOrder621() {
+        java.util.Calendar tempcal = java.util.Calendar.getInstance();
+        tempcal.clear();
+        tempcal.set(1997, 4, 14, 13, 23, 45);
+        Date d = tempcal.getTime();
+
+        Calendar cal = Calendar.getInstance ();
+        cal.setTime (d);
+        cal.add (Calendar.DATE, -5);
+        cal.set (Calendar.HOUR_OF_DAY, 0);
+        cal.set (Calendar.MINUTE, 0);
+        cal.set (Calendar.SECOND, 0);
+        // ma feb 03 00:00:00 GMT+00:00 1997
+        String s = cal.getTime ().toString ();
+
+        cal = Calendar.getInstance ();
+        cal.setTime (d);
+        cal.set (Calendar.HOUR_OF_DAY, 0);
+        cal.set (Calendar.MINUTE, 0);
+        cal.set (Calendar.SECOND, 0);
+        cal.add (Calendar.DATE, -5);
+        // ma feb 03 13:11:06 GMT+00:00 1997
+        String s2 = cal.getTime ().toString ();
+
+        if (s.equals(s2))
+            logln("Pass: " + s + " == " + s2);
+        else
+            errln("FAIL: " + s + " != " + s2);
+    }
+
+    // Verify that add works.
+    public void TestAdd520() {
+        int y = 1997, m = Calendar.FEBRUARY, d = 1;
+        GregorianCalendar temp = new GregorianCalendar( y, m, d );
+        check520(temp, y, m, d);
+
+        temp.add( Calendar.YEAR, 1 );
+        y++;
+        check520(temp, y, m, d);
+
+        temp.add( Calendar.MONTH, 1 );
+        m++;
+        check520(temp, y, m, d);
+
+        temp.add( Calendar.DATE, 1 );
+        d++;
+        check520(temp, y, m, d);
+
+        temp.add( Calendar.DATE, 2 );
+        d += 2;
+        check520(temp, y, m, d);
+
+        temp.add( Calendar.DATE, 28 );
+        d = 1; ++m;
+        check520(temp, y, m, d);
+    }
+    void check520(Calendar c, int y, int m, int d) {
+        if (c.get(Calendar.YEAR) != y ||
+            c.get(Calendar.MONTH) != m ||
+            c.get(Calendar.DATE) != d) {
+            errln("FAILURE: Expected YEAR/MONTH/DATE of " +
+                  y + "/" + (m+1) + "/" + d +
+                  "; got " +
+                  c.get(Calendar.YEAR) + "/" +
+                  (c.get(Calendar.MONTH)+1) + "/" +
+                  c.get(Calendar.DATE));
+        }
+        else logln("Confirmed: " +
+                   y + "/" + (m+1) + "/" + d);
+    }
+
+    // Verify that setting fields works.  This test fails when an exception is thrown.
+    public void TestFieldSet4781() {
+        try {
+            GregorianCalendar g = new GregorianCalendar();
+            GregorianCalendar g2 = new GregorianCalendar();
+            // At this point UTC value is set, various fields are not.
+            // Now set to noon.
+            g2.set(Calendar.HOUR, 12);
+            g2.set(Calendar.MINUTE, 0);
+            g2.set(Calendar.SECOND, 0);
+            // At this point the object thinks UTC is NOT set, but fields are set.
+            // The following line will result in IllegalArgumentException because
+            // it thinks the YEAR is set and it is NOT.
+            if (g2.equals(g))
+                logln("Same");
+            else
+                logln("Different");
+        }
+        catch (IllegalArgumentException e) {
+            errln("Unexpected exception seen: " + e);
+        }
+    }
+
+    // Test serialization of a Calendar object
+    public void TestSerialize337() {
+        Calendar cal = Calendar.getInstance();
+
+        boolean ok = false;
+
+        try {
+            ByteArrayOutputStream f = new ByteArrayOutputStream();
+            ObjectOutput s = new ObjectOutputStream(f);
+            s.writeObject(PREFIX);
+            s.writeObject(cal);
+            s.writeObject(POSTFIX);
+            f.close();
+
+            ByteArrayInputStream in = new ByteArrayInputStream(f.toByteArray());
+            ObjectInputStream t = new ObjectInputStream(in);
+            String pre = (String)t.readObject();
+            Calendar c = (Calendar)t.readObject();
+            String post = (String)t.readObject();
+            in.close();
+
+            ok = pre.equals(PREFIX) &&
+                post.equals(POSTFIX) &&
+                cal.equals(c);
+        }
+        catch (IOException e) {
+            errln("FAIL: Exception received:");
+            // e.printStackTrace(log);
+        }
+        catch (ClassNotFoundException e) {
+            errln("FAIL: Exception received:");
+            // e.printStackTrace(log);
+        }
+
+        if (!ok) errln("Serialization of Calendar object failed.");
+    }
+    static final String PREFIX = "abc";
+    static final String POSTFIX = "def";
+    static final String FILENAME = "tmp337.bin";
+
+    // Try to zero out the seconds field
+    public void TestSecondsZero121() {
+        Calendar        cal = new GregorianCalendar();
+        // Initialize with current date/time
+        cal.setTime(new Date());
+        // Round down to minute
+        cal.set(Calendar.SECOND, 0);
+        Date    d = cal.getTime();
+        String s = d.toString();
+        if (s.indexOf(":00 ") < 0) errln("Expected to see :00 in " + s);
+    }
+
+    // Try various sequences of add, set, and get method calls.
+    public void TestAddSetGet0610() {
+        //
+        // Error case 1:
+        // - Upon initialization calendar fields, millis = System.currentTime
+        // - After set is called fields are initialized, time is not
+        // - Addition uses millis which are still *now*
+        //
+        {
+            Calendar calendar = new GregorianCalendar( ) ;
+            calendar.set( 1993, Calendar.JANUARY, 4 ) ;
+            logln( "1A) " + value( calendar ) ) ;
+            calendar.add( Calendar.DATE, 1 ) ;
+            String v = value(calendar);
+            logln( "1B) " + v );
+            logln( "--) 1993/0/5" ) ;
+            if (!v.equals(EXPECTED_0610)) errln("Expected " + EXPECTED_0610 +
+                                                "; saw " + v);
+        }
+
+        //
+        // Error case 2:
+        // - Upon initialization calendar fields set, millis = 0
+        // - Addition uses millis which are still 1970, 0, 1
+        //
+
+        {
+            Calendar calendar = new GregorianCalendar( 1993, Calendar.JANUARY, 4 ) ;
+            logln( "2A) " + value( calendar ) ) ;
+            calendar.add( Calendar.DATE, 1 ) ;
+            String v = value(calendar);
+            logln( "2B) " + v );
+            logln( "--) 1993/0/5" ) ;
+            if (!v.equals(EXPECTED_0610)) errln("Expected " + EXPECTED_0610 +
+                                                "; saw " + v);
+        }
+
+        //
+        // Error case 3:
+        // - Upon initialization calendar fields, millis = 0
+        // - getTime( ) is called which forces the millis to be set
+        // - Addition uses millis which are correct
+        //
+
+        {
+            Calendar calendar = new GregorianCalendar( 1993, Calendar.JANUARY, 4 ) ;
+            logln( "3A) " + value( calendar ) ) ;
+            calendar.getTime( ) ;
+            calendar.add( Calendar.DATE, 1 ) ;
+            String v = value(calendar);
+            logln( "3B) " + v ) ;
+            logln( "--) 1993/0/5" ) ;
+            if (!v.equals(EXPECTED_0610)) errln("Expected " + EXPECTED_0610 +
+                                                "; saw " + v);
+        }
+    }
+    static String value( Calendar calendar ) {
+        return( calendar.get( Calendar.YEAR )  + "/" +
+                calendar.get( Calendar.MONTH ) + "/" +
+                calendar.get( Calendar.DATE ) ) ;
+    }
+    static String EXPECTED_0610 = "1993/0/5";
+
+    // Test that certain fields on a certain date are as expected.
+    public void TestFields060() {
+        int year = 1997;
+        int month = java.util.Calendar.OCTOBER;  //october
+        int dDate = 22;   //DAYOFWEEK should return 3 for Wednesday
+        GregorianCalendar calendar = null;
+
+        calendar = new GregorianCalendar( year, month, dDate);
+        for (int i=0; i<EXPECTED_FIELDS.length; ) {
+            int field = EXPECTED_FIELDS[i++];
+            int expected = EXPECTED_FIELDS[i++];
+            if (calendar.get(field) != expected) {
+                errln("Expected field " + field + " to have value " + expected +
+                      "; received " + calendar.get(field) + " instead");
+            }
+        }
+    }
+    static int EXPECTED_FIELDS[] = {
+        Calendar.YEAR, 1997,
+        Calendar.MONTH, Calendar.OCTOBER,
+        Calendar.DAY_OF_MONTH, 22,
+        Calendar.DAY_OF_WEEK, Calendar.WEDNESDAY,
+        Calendar.DAY_OF_WEEK_IN_MONTH, 4,
+        Calendar.DAY_OF_YEAR, 295
+    };
+
+    // Verify that the fields are as expected (mostly zero) at the epoch start.
+    // Note that we adjust for the default timezone to get most things to zero.
+    public void TestEpochStartFields() {
+        TimeZone z = TimeZone.getDefault();
+        Calendar c = Calendar.getInstance();
+        Date d = new Date(-z.getRawOffset());
+        if (z.inDaylightTime(d)) {
+            logln("Warning: Skipping test because " + d +
+                  " is in DST.");
+        }
+        else {
+            c.setTime(d);
+            for (int i=0; i<Calendar.ZONE_OFFSET; ++i) {
+                if (c.get(i) != EPOCH_FIELDS[i])
+                    errln("Expected field " + i + " to have value " + EPOCH_FIELDS[i] +
+                          "; saw " + c.get(i) + " instead");
+            }
+            if (c.get(Calendar.ZONE_OFFSET) != z.getRawOffset())
+                errln("Expected field ZONE_OFFSET to have value " + z.getRawOffset() +
+                      "; saw " + c.get(Calendar.ZONE_OFFSET) + " instead");
+            if (c.get(Calendar.DST_OFFSET) != 0)
+                errln("Expected field DST_OFFSET to have value 0" +
+                      "; saw " + c.get(Calendar.DST_OFFSET) + " instead");
+        }
+    }
+    // These are the fields at the epoch start
+    static int EPOCH_FIELDS[] = { 1, 1970, 0, 1, 1, 1, 1, 5, 1, 0, 0, 0, 0, 0, 0, -28800000, 0 };
+
+    // Verify that as you add days to the calendar (e.g., 24 day periods),
+    // the day of the week shifts in the expected pattern.
+    public void TestDOWProgression() {
+        Calendar cal =
+            new GregorianCalendar(1972, Calendar.OCTOBER, 26);
+        marchByDelta(cal, 24); // Last parameter must be != 0 modulo 7
+    }
+
+    // Supply a delta which is not a multiple of 7.
+    void marchByDelta(Calendar cal, int delta) {
+        Calendar cur = (Calendar)cal.clone();
+        int initialDOW = cur.get(Calendar.DAY_OF_WEEK);
+        int DOW, newDOW = initialDOW;
+        do {
+            DOW = newDOW;
+            logln("DOW = " + DOW + "  " + cur.getTime());
+
+            cur.add(Calendar.DAY_OF_WEEK, delta);
+            newDOW = cur.get(Calendar.DAY_OF_WEEK);
+            int expectedDOW = 1 + (DOW + delta - 1) % 7;
+            if (newDOW != expectedDOW) {
+                errln("Day of week should be " + expectedDOW +
+                      " instead of " + newDOW + " on " + cur.getTime());
+                return;
+            }
+        }
+        while (newDOW != initialDOW);
+    }
+
+    public void TestActualMinMax() {
+        Calendar cal = new GregorianCalendar(1967, Calendar.MARCH, 10);
+        cal.setFirstDayOfWeek(Calendar.SUNDAY);
+        cal.setMinimalDaysInFirstWeek(3);
+
+        if (cal.getActualMinimum(Calendar.DAY_OF_MONTH) != 1)
+            errln("Actual minimum date for 3/10/1967 should have been 1; got " +
+                  cal.getActualMinimum(Calendar.DAY_OF_MONTH));
+        if (cal.getActualMaximum(Calendar.DAY_OF_MONTH) != 31)
+            errln("Actual maximum date for 3/10/1967 should have been 31; got " +
+                  cal.getActualMaximum(Calendar.DAY_OF_MONTH));
+
+        cal.set(Calendar.MONTH, Calendar.FEBRUARY);
+        if (cal.getActualMaximum(Calendar.DAY_OF_MONTH) != 28)
+            errln("Actual maximum date for 2/10/1967 should have been 28; got " +
+                  cal.getActualMaximum(Calendar.DAY_OF_MONTH));
+        if (cal.getActualMaximum(Calendar.DAY_OF_YEAR) != 365)
+            errln("Number of days in 1967 should have been 365; got " +
+                  cal.getActualMaximum(Calendar.DAY_OF_YEAR));
+
+        cal.set(Calendar.YEAR, 1968);
+        if (cal.getActualMaximum(Calendar.DAY_OF_MONTH) != 29)
+            errln("Actual maximum date for 2/10/1968 should have been 29; got " +
+                  cal.getActualMaximum(Calendar.DAY_OF_MONTH));
+        if (cal.getActualMaximum(Calendar.DAY_OF_YEAR) != 366)
+            errln("Number of days in 1968 should have been 366; got " +
+                  cal.getActualMaximum(Calendar.DAY_OF_YEAR));
+        // Using week settings of SUNDAY/3 (see above)
+        if (cal.getActualMaximum(Calendar.WEEK_OF_YEAR) != 52)
+            errln("Number of weeks in 1968 should have been 52; got " +
+                  cal.getActualMaximum(Calendar.WEEK_OF_YEAR));
+
+        cal.set(Calendar.YEAR, 1976);
+        cal.set(Calendar.DAY_OF_WEEK, cal.getFirstDayOfWeek()); // Added - Liu 11/6/00
+        // Using week settings of SUNDAY/3 (see above)
+        if (cal.getActualMaximum(Calendar.WEEK_OF_YEAR) != 53)
+            errln("Number of weeks in 1976 should have been 53; got " +
+                  cal.getActualMaximum(Calendar.WEEK_OF_YEAR));
+    }
+
+    public void TestRoll() {
+        Calendar cal = new GregorianCalendar(1997, Calendar.JANUARY, 31);
+
+        int[] dayValues = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31, 31 };
+        for (int i = 0; i < dayValues.length; i++) {
+            Calendar cal2 = (Calendar)cal.clone();
+            cal2.roll(Calendar.MONTH, i);
+            if (cal2.get(Calendar.DAY_OF_MONTH) != dayValues[i])
+                errln("Rolling the month in 1/31/1997 up by " + i + " should have yielded "
+                      + ((i + 1) % 12) + "/" + dayValues[i] + "/1997, but actually yielded "
+                      + ((i + 1) % 12) + "/" + cal2.get(Calendar.DAY_OF_MONTH) + "/1997.");
+        }
+
+        cal.set(1996, Calendar.FEBRUARY, 29);
+
+        //int[] monthValues = { 1, 2, 2, 2, 1, 2, 2, 2, 1, 2 };
+        //int[] dayValues2 = { 29, 1, 1, 1, 29, 1, 1, 1, 29, 1 };
+
+        // I've revised the expected values to make more sense -- rolling
+        // the year should pin the DAY_OF_MONTH. - Liu 11/6/00
+        int[] monthValues = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 };
+        int[] dayValues2 = { 29, 28, 28, 28, 29, 28, 28, 28, 29, 28 };
+
+        for (int i = 0; i < dayValues2.length; i++) {
+            Calendar cal2 = (Calendar)cal.clone();
+            cal2.roll(Calendar.YEAR, i);
+            if (cal2.get(Calendar.DAY_OF_MONTH) != dayValues2[i] || cal2.get(Calendar.MONTH)
+                != monthValues[i])
+                errln("Roll 2/29/1996 by " + i + " year: expected "
+                      + (monthValues[i] + 1) + "/" + dayValues2[i] + "/"
+                      + (1996 + i) + ", got "
+                      + (cal2.get(Calendar.MONTH) + 1) + "/" +
+                      cal2.get(Calendar.DAY_OF_MONTH) + "/" + cal2.get(Calendar.YEAR));
+        }
+
+        // Test rolling hour of day
+        cal.set(Calendar.HOUR_OF_DAY, 0);
+        cal.roll(Calendar.HOUR_OF_DAY, -2);
+        int f = cal.get(Calendar.HOUR_OF_DAY);
+        if (f != 22) errln("Rolling HOUR_OF_DAY=0 delta=-2 gave " + f + " Wanted 22");
+        cal.roll(Calendar.HOUR_OF_DAY, 5);
+        f = cal.get(Calendar.HOUR_OF_DAY);
+        if (f != 3) errln("Rolling HOUR_OF_DAY=22 delta=5 gave " + f + " Wanted 3");
+        cal.roll(Calendar.HOUR_OF_DAY, 21);
+        f = cal.get(Calendar.HOUR_OF_DAY);
+        if (f != 0) errln("Rolling HOUR_OF_DAY=3 delta=21 gave " + f + " Wanted 0");
+
+        // Test rolling hour
+        cal.set(Calendar.HOUR_OF_DAY, 0);
+        cal.roll(Calendar.HOUR, -2);
+        f = cal.get(Calendar.HOUR);
+        if (f != 10) errln("Rolling HOUR=0 delta=-2 gave " + f + " Wanted 10");
+        cal.roll(Calendar.HOUR, 5);
+        f = cal.get(Calendar.HOUR);
+        if (f != 3) errln("Rolling HOUR=10 delta=5 gave " + f + " Wanted 3");
+        cal.roll(Calendar.HOUR, 9);
+        f = cal.get(Calendar.HOUR);
+        if (f != 0) errln("Rolling HOUR=3 delta=9 gave " + f + " Wanted 0");
+    }
+
+    public void TestComputeJulianDay4406() {
+        // jb4406 is probably not a bug, this is to document the behavior
+        GregorianCalendar cal = new GregorianCalendar();
+        final int MILLIS_IN_DAY = 1000 * 60 * 60 * 24;
+        
+        logln("julian day value jumps at changeover");
+        for (int day = 12; day < 18; ++day) {
+            cal.set(1582, 9, day);
+            logln("[" + day + "] " + (cal.getTimeInMillis()/MILLIS_IN_DAY));
+        }
+
+        logln("\njulian days not accurate before 1 March 0004");
+        for (int day = 1; day < 3; ++day) {
+            cal.set(1, 0, day);
+            logln("[" + day + "] " + (cal.getTimeInMillis()/MILLIS_IN_DAY));
+        }
+
+        DateFormat fmt = cal.getDateTimeFormat(DateFormat.LONG, 0, Locale.getDefault());
+
+        logln("\nswitchover in 1582");
+        cal.set(1582, 9, 4);
+        logln(fmt.format(cal));
+        cal.add(Calendar.DATE, 1);
+        logln(fmt.format(cal));
+        cal.set(Calendar.JULIAN_DAY, 1721426);
+        logln(fmt.format(cal));
+
+        logln("\nlate switchover - proleptic Julian");
+        cal.set(1582, 9, 4);
+        cal.setGregorianChange(new Date(Long.MAX_VALUE));
+        logln(fmt.format(cal));
+        cal.add(Calendar.DATE, 1);
+        logln(fmt.format(cal));
+        cal.set(Calendar.JULIAN_DAY, 1721426);
+        logln(fmt.format(cal));
+
+        logln("\nearly switchover - proleptic Gregorian");
+        cal.set(1582, 9, 4);
+        cal.setGregorianChange(new Date(Long.MIN_VALUE));
+        logln(fmt.format(cal));
+        cal.add(Calendar.DATE, 1);
+        logln(fmt.format(cal));
+        cal.set(Calendar.JULIAN_DAY, 1721426);
+        logln(fmt.format(cal));
+    }
+}
+
+//eof
diff --git a/src/com/ibm/icu/dev/test/calendar/CopticTest.java b/src/com/ibm/icu/dev/test/calendar/CopticTest.java
new file mode 100644
index 0000000..a4e2a76
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/calendar/CopticTest.java
@@ -0,0 +1,312 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2005, International Business Machines Corporation and         *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.test.calendar;
+
+import java.util.Date;
+import java.util.Locale;
+
+import com.ibm.icu.impl.LocaleUtility;
+import com.ibm.icu.text.DateFormat;
+import com.ibm.icu.text.SimpleDateFormat;
+import com.ibm.icu.util.Calendar;
+import com.ibm.icu.util.CopticCalendar;
+import com.ibm.icu.util.EthiopicCalendar;
+import com.ibm.icu.util.GregorianCalendar;
+import com.ibm.icu.util.TimeZone;
+import com.ibm.icu.util.ULocale;
+
+/**
+ * Tests for the <code>CopticCalendar</code> class.
+ */
+public class CopticTest extends CalendarTest 
+{
+    public static void main(String args[]) throws Exception {
+        new CopticTest().run(args);
+    }
+
+    /** Constants to save typing. */
+    public static final int TOUT      = CopticCalendar.TOUT;
+    public static final int BABA      = CopticCalendar.BABA;
+    public static final int HATOR     = CopticCalendar.HATOR;
+    public static final int KIAHK     = CopticCalendar.KIAHK;
+    public static final int TOBA      = CopticCalendar.TOBA;
+    public static final int AMSHIR    = CopticCalendar.AMSHIR;
+    public static final int BARAMHAT  = CopticCalendar.BARAMHAT;
+    public static final int BARAMOUDA = CopticCalendar.BARAMOUDA;
+    public static final int BASHANS   = CopticCalendar.BASHANS;
+    public static final int PAONA     = CopticCalendar.PAONA;
+    public static final int EPEP      = CopticCalendar.EPEP;
+    public static final int MESRA     = CopticCalendar.MESRA;
+    public static final int NASIE     = CopticCalendar.NASIE;
+
+    /* Test dates from:
+     * "The Amharic Letters of Emperor Theodore of Ethiopia to Queen Victoria and
+     * Her Special Envoy", David Appleyard, Girma Selasse Asfaw, Oxford University Press, 
+     * June 1 1979, ISBN: 0856726605, Longwood Pr Ltd
+     *  
+     * Coptic         Gregorian    JD
+     * 20/02/1579     29/10/1862  2401443 
+     * 29/10/1581     05/07/1865  2402423
+     * 22/05/1582     29/01/1866  2402631
+     * 10/08/1582     17/04/1866  2402709
+     * 28/04/1583     05/01/1867  2402972
+     * 05/05/1584     13/01/1868  2403345
+     * 
+     * --------------------------------------------------
+     * 
+     * From the Calendrica applet:  http://emr.cs.iit.edu/home/reingold/calendar-book/Calendrica.html
+     * 
+     * Coptic         Gregorian    JD
+     * 07/05/-284     01/01/0000  1721060
+     * 08/05/-283     01/01/0001  1721426
+     * 06/13/-1       29/08/0283  1824664
+     * 
+     * 01/01/0000     30/08/0283  1824665
+     * 01/01/0001     29/08/0284  1825030
+     * 01/01/0002     29/08/0285  1825395
+     * 01/01/0003     29/08/0286  1825760
+     * 01/01/0004     30/08/0287  1826126
+     * 05/13/0000     28/08/0284  1825029 
+     * 05/13/0001     28/08/0285  1825394
+     * 05/13/0002     28/08/0286  1825759
+     * 05/13/0003     28/08/0287  1826124
+     * 06/13/0003     29/08/0287  1826125  first coptic leap year
+     * 05/13/0004     28/08/0288  1826490
+     * 
+     * 06/02/1299     13/10/1582  2299159
+     * 07/02/1299     14/10/1582  2299160  Julian 04/10/1582
+     * 08/02/1299     15/10/1582  2299161
+     * 09/02/1299     16/10/1582  2299162
+     * 
+     * 23/04/1616     01/01/1900  2415021
+     * 23/04/1721     01/01/2005  2453372 
+     * 05/13/2000     12/09/2284  2555529
+     */
+
+    
+    /** A huge list of test cases to make sure that computeTime and computeFields
+     * work properly for a wide range of data in the civil calendar.
+     */
+    public void TestCases()
+    {
+        final TestCase[] tests = {
+            //
+            // The months in this table are 1-based rather than 0-based,
+            // because it's easier to edit that way.
+            //                      Coptic
+            //          Julian Day  Era  Year  Month Day  WkDay Hour Min Sec
+            //
+            // Dates from "Emporer Theodore..."
+
+            new TestCase(2401442.5,  1,  1579,    2,  20,  WED,    0,  0,  0), // Gregorian: 20/10/1862
+            new TestCase(2402422.5,  1,  1581,   10,  29,  WED,    0,  0,  0), // Gregorian: 05/07/1865
+            new TestCase(2402630.5,  1,  1582,    5,  22,  MON,    0,  0,  0), // Gregorian: 29/01/1866
+            new TestCase(2402708.5,  1,  1582,    8,  10,  TUE,    0,  0,  0), // Gregorian: 17/04/1866
+            new TestCase(2402971.5,  1,  1583,    4,  28,  SAT,    0,  0,  0), // Gregorian: 05/01/1867
+            new TestCase(2403344.5,  1,  1584,    5,   5,  MON,    0,  0,  0), // Gregorian: 13/01/1868
+            new TestCase(1721059.5,  0,  -284,    5,   7,  SAT,    0,  0,  0), // Gregorian: 01/01/0000
+            new TestCase(1721425.5,  0,  -283,    5,   8,  MON,    0,  0,  0), // Gregorian: 01/01/0001
+            new TestCase(1824663.5,  0,    -1,   13,   6,  WED,    0,  0,  0), // Gregorian: 29/08/0283
+            new TestCase(1824664.5,  1,     0,    1,   1,  THU,    0,  0,  0), // Gregorian: 30/08/0283
+            new TestCase(1825029.5,  1,     1,    1,   1,  FRI,    0,  0,  0), // Gregorian: 29/08/0284
+            new TestCase(1825394.5,  1,     2,    1,   1,  SAT,    0,  0,  0), // Gregorian: 29/08/0285
+            new TestCase(1825759.5,  1,     3,    1,   1,  SUN,    0,  0,  0), // Gregorian: 29/08/0286
+            new TestCase(1826125.5,  1,     4,    1,   1,  TUE,    0,  0,  0), // Gregorian: 30/08/0287
+            new TestCase(1825028.5,  1,     0,   13,   5,  THU,    0,  0,  0), // Gregorian: 28/08/0284
+            new TestCase(1825393.5,  1,     1,   13,   5,  FRI,    0,  0,  0), // Gregorian: 28/08/0285
+            new TestCase(1825758.5,  1,     2,   13,   5,  SAT,    0,  0,  0), // Gregorian: 28/08/0286
+            new TestCase(1826123.5,  1,     3,   13,   5,  SUN,    0,  0,  0), // Gregorian: 28/08/0287
+            new TestCase(1826124.5,  1,     3,   13,   6,  MON,    0,  0,  0), // Gregorian: 29/08/0287
+                          // above is first coptic leap year
+            new TestCase(1826489.5,  1,     4,   13,   5,  TUE,    0,  0,  0), // Gregorian: 28/08/0288
+            new TestCase(2299158.5,  1,  1299,    2,   6,  WED,    0,  0,  0), // Gregorian: 13/10/1582
+            new TestCase(2299159.5,  1,  1299,    2,   7,  THU,    0,  0,  0), // Gregorian: 14/10/1582
+
+            new TestCase(2299160.5,  1,  1299,    2,   8,  FRI,    0,  0,  0), // Gregorian: 15/10/1582
+            new TestCase(2299161.5,  1,  1299,    2,   9,  SAT,    0,  0,  0), // Gregorian: 16/10/1582
+
+            new TestCase(2415020.5,  1,  1616,    4,  23,  MON,    0,  0,  0), // Gregorian: 01/01/1900
+            new TestCase(2453371.5,  1,  1721,    4,  23,  SAT,    0,  0,  0), // Gregorian: 01/01/2005
+            new TestCase(2555528.5,  1,  2000,   13,   5,  FRI,    0,  0,  0), // Gregorian: 12/09/2284
+        };
+        
+        CopticCalendar testCalendar = new CopticCalendar();
+        testCalendar.setLenient(true);
+        doTestCases(tests, testCalendar);
+    }
+
+    // basic sanity check that the conversion algorithm round-trips
+    public void TestCopticToJD() {
+        for (int y = -2; y < 3; ++y) {
+            for (int m = 0; m < 12; ++m) { // don't understand rules for 13th month
+                for (int d = 1; d < 25; d += 3) { // play it safe on days per month
+                    int jd = CopticCalendar.copticToJD(y, m, d);
+                    Integer[] res = CopticCalendar.getDateFromJD(jd);
+                    if (!(y == res[0].intValue() &&
+                          m == res[1].intValue() &&
+                          d == res[2].intValue())) {
+                        errln("y: " + y +
+                              " m: " + m + 
+                              " d: " + d + 
+                              " --> jd: " + jd +
+                              " --> y: " + res[0].intValue() +
+                              " m: " + res[1].intValue() +
+                              " d: " + res[2].intValue());
+                    }
+                }
+            }
+        }
+    }
+
+    // basic check to see that we print out eras ok
+    // eventually should modify to use locale strings and formatter appropriate to coptic calendar
+    public void TestEraStart() {
+        CopticCalendar cal = new CopticCalendar(0, 0, 1);
+        SimpleDateFormat fmt = new SimpleDateFormat("EEE MMM dd, yyyy GG");
+        assertEquals("Coptic Date", "Thu Jan 01, 0000 AD", fmt.format(cal));
+        assertEquals("Gregorian Date", "Thu Aug 30, 0283 AD", fmt.format(cal.getTime()));
+    }
+
+    public void TestBasic() {
+        CopticCalendar cal = new CopticCalendar();
+        cal.clear();
+        cal.set(1000, 0, 30);
+        logln("1000/0/30-> " +
+              cal.get(YEAR) + "/" +
+              cal.get(MONTH) + "/" + 
+              cal.get(DATE));
+        cal.clear();
+        cal.set(1, 0, 30);
+        logln("1/0/30 -> " +
+              cal.get(YEAR) + "/" +
+              cal.get(MONTH) + "/" + 
+              cal.get(DATE));
+    }
+
+    public void TestCoverage() {
+
+        {
+            // new CopticCalendar(TimeZone)
+            CopticCalendar cal = new CopticCalendar(TimeZone.getDefault()); 
+            if(cal == null){
+                errln("could not create CopticCalendar with TimeZone");
+            }
+        }
+
+        {
+            // new CopticCalendar(ULocale)
+            CopticCalendar cal = new CopticCalendar(ULocale.getDefault());
+            if(cal == null){
+                errln("could not create CopticCalendar with ULocale");
+            }
+        }
+        
+        {
+            // new CopticCalendar(Locale)
+            CopticCalendar cal = new CopticCalendar(Locale.getDefault());
+            if(cal == null){
+                errln("could not create CopticCalendar with Locale");
+            }
+        }
+        
+        {                                                                                       
+            // new CopticCalendar(TimeZone, Locale)                                             
+            CopticCalendar cal = new CopticCalendar(TimeZone.getDefault(),Locale.getDefault()); 
+            if(cal == null){                                                                    
+                errln("could not create CopticCalendar with TimeZone, Locale");                 
+            }                                                                                   
+        }                                                                                       
+                                                                                                
+        {                                                                                       
+            // new CopticCalendar(TimeZone, ULocale)                                            
+            CopticCalendar cal = new CopticCalendar(TimeZone.getDefault(),ULocale.getDefault());
+            if(cal == null){                                                                    
+                errln("could not create CopticCalendar with TimeZone, ULocale");                
+            }                                                                                   
+        }                                                                                       
+        
+        {
+            // new CopticCalendar(Date)
+            CopticCalendar cal = new CopticCalendar(new Date());
+            if(cal == null){
+                errln("could not create CopticCalendar with Date");
+            }
+        }
+
+        {
+            // new CopticCalendar(int year, int month, int date)
+            CopticCalendar cal = new CopticCalendar(1997, CopticCalendar.TOUT, 1);
+            if(cal == null){
+                errln("could not create CopticCalendar with year,month,date");
+            }
+        }
+
+        {
+            // new CopticCalendar(int year, int month, int date, int hour, int minute, int second)
+            CopticCalendar cal = new CopticCalendar(1997, CopticCalendar.TOUT, 1, 1, 1, 1);
+            if(cal == null){
+                errln("could not create CopticCalendar with year,month,date,hour,minute,second");
+            }
+        }
+    
+        {
+            // data
+            CopticCalendar cal = new CopticCalendar(1997, CopticCalendar.TOUT, 1);
+            Date time = cal.getTime();
+
+            String[] calendarLocales = {
+                "am_ET", "gez_ET", "ti_ET"
+            };
+
+            String[] formatLocales = {
+                "en", "am", "gez", "ti"
+            };
+            for (int i = 0; i < calendarLocales.length; ++i) {
+                String calLocName = calendarLocales[i];
+                Locale calLocale = LocaleUtility.getLocaleFromName(calLocName);
+                cal = new CopticCalendar(calLocale);
+
+                for (int j = 0; j < formatLocales.length; ++j) {
+                    String locName = formatLocales[j];
+                    Locale formatLocale = LocaleUtility.getLocaleFromName(locName);
+                    DateFormat format = DateFormat.getDateTimeInstance(cal, DateFormat.FULL, DateFormat.FULL, formatLocale);
+                    logln(calLocName + "/" + locName + " --> " + format.format(time));
+                }
+            }
+        }
+    }
+
+    public void TestYear() {
+        // Gregorian Calendar
+        Calendar gCal= new GregorianCalendar();
+        Date gToday=gCal.getTime();
+        gCal.add(GregorianCalendar.MONTH,2);
+        Date gFuture=gCal.getTime();
+        DateFormat gDF = DateFormat.getDateInstance(gCal,DateFormat.FULL);
+        logln("gregorian calendar: " + gDF.format(gToday) +
+              " + 2 months = " + gDF.format(gFuture));
+
+        // Coptic Calendar
+        CopticCalendar cCal= new CopticCalendar();
+        Date cToday=cCal.getTime();
+        cCal.add(CopticCalendar.MONTH,2);
+        Date cFuture=cCal.getTime();
+        DateFormat cDF = DateFormat.getDateInstance(cCal,DateFormat.FULL);
+        logln("coptic calendar: " + cDF.format(cToday) +
+              " + 2 months = " + cDF.format(cFuture));
+
+        // EthiopicCalendar
+        EthiopicCalendar eCal= new EthiopicCalendar();
+        Date eToday=eCal.getTime();
+        eCal.add(EthiopicCalendar.MONTH,2); // add 2 months
+        eCal.setAmeteAlemEra(false);
+        Date eFuture=eCal.getTime();
+        DateFormat eDF = DateFormat.getDateInstance(eCal,DateFormat.FULL);
+        logln("ethiopic calendar: " + eDF.format(eToday) +
+              " + 2 months = " + eDF.format(eFuture));		
+    }
+}
diff --git a/src/com/ibm/icu/dev/test/calendar/EthiopicTest.java b/src/com/ibm/icu/dev/test/calendar/EthiopicTest.java
new file mode 100644
index 0000000..24e5638
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/calendar/EthiopicTest.java
@@ -0,0 +1,345 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2005, International Business Machines Corporation and         *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.test.calendar;
+
+import java.util.Date;
+import java.util.Locale;
+
+import com.ibm.icu.impl.LocaleUtility;
+import com.ibm.icu.text.DateFormat;
+import com.ibm.icu.text.SimpleDateFormat;
+import com.ibm.icu.util.Calendar;
+import com.ibm.icu.util.GregorianCalendar;
+import com.ibm.icu.util.EthiopicCalendar;
+import com.ibm.icu.util.TimeZone;
+import com.ibm.icu.util.ULocale;
+
+/**
+ * Tests for the <code>EthiopicCalendar</code> class.
+ */
+public class EthiopicTest extends CalendarTest 
+{
+    public static void main(String args[]) throws Exception {
+        new EthiopicTest().run(args);
+    }
+
+    /** Constants to save typing. */
+    public static final int MESKEREM = EthiopicCalendar.MESKEREM;
+    public static final int TEKEMT   = EthiopicCalendar.TEKEMT;
+    public static final int HEDAR    = EthiopicCalendar.HEDAR;
+    public static final int TAHSAS   = EthiopicCalendar.TAHSAS;
+    public static final int TER      = EthiopicCalendar.TER;
+    public static final int YEKATIT  = EthiopicCalendar.YEKATIT;
+    public static final int MEGABIT  = EthiopicCalendar.MEGABIT;
+    public static final int MIAZIA   = EthiopicCalendar.MIAZIA;
+    public static final int GENBOT   = EthiopicCalendar.GENBOT;
+    public static final int SENE     = EthiopicCalendar.SENE;
+    public static final int HAMLE    = EthiopicCalendar.HAMLE;
+    public static final int NEHASSE  = EthiopicCalendar.NEHASSE;
+    public static final int PAGUMEN  = EthiopicCalendar.PAGUMEN;
+
+    /* DY[20050507]  I don't know what this is for yet: 
+       public void TestRoll() {
+       int[][] tests = new int[][] {
+       //       input                roll by          output
+       //  year  month     day     field amount    year  month     day
+    
+       {   0001, QIDAH,     2,     MONTH,   1,     0001, HIJJAH,    2 },   // non-leap years
+       {   0001, QIDAH,     2,     MONTH,   2,     0001, MUHARRAM,  2 },
+       {   0001, QIDAH,     2,     MONTH,  -1,     0001, SHAWWAL,   2 },
+       {   0001, MUHARRAM,  2,     MONTH,  12,     0001, MUHARRAM,  2 },
+       {   0001, MUHARRAM,  2,     MONTH,  13,     0001, SAFAR,     2 },
+
+       {   0001, HIJJAH,    1,     DATE,   30,     0001, HIJJAH,    2 },   // 29-day month
+       {   0002, HIJJAH,    1,     DATE,   31,     0002, HIJJAH,    2 },   // 30-day month
+
+       // Try some rolls that require other fields to be adjusted
+       {   0001, MUHARRAM, 30,     MONTH,   1,     0001, SAFAR,    29 },
+       {   0002, HIJJAH,   30,     YEAR,   -1,     0001, HIJJAH,   29 },
+       };
+       
+       EthiopicCalendar cal = newCivil();
+
+       doRollAdd(ROLL, cal, tests);
+       }
+    */
+
+    /* Test dates from:
+     * "The Amharic Letters of Emperor Theodore of Ethiopia to Queen Victoria and
+     * Her Special Envoy", David Appleyard, Girma Selasse Asfaw, Oxford University Press, 
+     * June 1 1979, ISBN: 0856726605, Longwood Pr Ltd
+     *  
+     * Ethiopic       Gregorian    JD
+     * 20/02/1855     29/10/1862  2401443
+     * 29/10/1857     05/07/1865  2402423
+     * 22/05/1858     29/01/1866  2402631
+     * 10/08/1858     17/04/1866  2402709
+     * 28/04/1859     05/01/1867  2402972
+     * 05/05/1860     13/01/1868  2403345
+     * 
+     * --------------------------------------------------
+     * 
+     * From the Calendrica applet:  http://emr.cs.iit.edu/home/reingold/calendar-book/Calendrica.html
+     * 
+     * Ethiopic       Gregorian    JD
+     * 07/05/-8       01/01/0000  1721060
+     * 08/05/-7       01/01/0001  1721426
+     * 06/13/-1       27/08/0007  1723855
+     * 
+     * 01/01/0000     28/08/0007  1723856
+     * 01/01/0001     27/08/0008  1724221
+     * 01/01/0002     27/08/0009  1724586
+     * 01/01/0003     27/08/0010  1724951
+     * 01/01/0004     28/08/0011  1724537
+     * 05/13/0000     26/08/0008  1724220
+     * 05/13/0001     26/08/0009  1724585
+     * 05/13/0002     26/08/0010  1724950
+     * 05/13/0003     26/08/0011  1725315
+     * 06/13/0003     27/08/0011  1725316  first ethiopian leap year
+     * 05/13/0004     26/08/0012  1725561
+     * 
+     * 06/02/1575     13/10/1582  2299159
+     * 07/02/1575     14/10/1582  2299160  Julian 04/10/1582
+     * 08/02/1575     15/10/1582  2299161
+     * 09/02/1575     16/10/1582  2299162
+     * 
+     * 23/04/1892     01/01/1900  2415021
+     * 23/04/1997     01/01/2005  2453372
+     * 05/13/2000     10/09/2008  2454720
+     */
+    
+    /** A huge list of test cases to make sure that computeTime and computeFields
+     * work properly for a wide range of data in the civil calendar.
+     */
+    public void TestCases()
+    {
+        final TestCase[] tests = {
+            //
+            // The months in this table are 1-based rather than 0-based,
+            // because it's easier to edit that way.
+            //                      Ethiopic
+            //          Julian Day  Era  Year  Month Day  WkDay Hour Min Sec
+            //
+            // Dates from "Emporer Theodore..."
+
+            new TestCase(2401442.5,  1,  1855,    2,  20,  WED,   0,  0,  0), // Gregorian: 29/10/1862
+            new TestCase(2402422.5,  1,  1857,   10,  29,  WED,   0,  0,  0), // Gregorian: 05/07/1865
+            new TestCase(2402630.5,  1,  1858,    5,  22,  MON,   0,  0,  0), // Gregorian: 29/01/1866
+            new TestCase(2402708.5,  1,  1858,    8,  10,  TUE,   0,  0,  0), // Gregorian: 17/04/1866
+            new TestCase(2402971.5,  1,  1859,    4,  28,  SAT,   0,  0,  0), // Gregorian: 05/01/1867
+            new TestCase(2403344.5,  1,  1860,    5,   5,  MON,   0,  0,  0), // Gregorian: 13/01/1868
+                        
+            // Miscellaneous:
+            /* Skip these tests until JD bug fixed in the Gregorian calendar:
+             * http://www.jtcsv.com/cgibin/icu-bugs/incoming?id=4406;page=2;user=guest
+             */
+             new TestCase(1721059.5,  0,    -8,    5,   7,  SAT,   0,  0,  0), // Gregorian: 01/01/0000
+             new TestCase(1721425.5,  0,    -7,    5,   8,  MON,   0,  0,  0), // Gregorian: 01/01/0001
+             new TestCase(1723854.5,  0,    -1,   13,   6,  MON,   0,  0,  0), // Gregorian: 27/08/0007
+            
+             new TestCase(1723855.5,  1,     0,    1,   1,  TUE,   0,  0,  0), // Gregorian: 28/08/0007
+             new TestCase(1724220.5,  1,     1,    1,   1,  WED,   0,  0,  0), // Gregorian: 27/08/0008
+             new TestCase(1724585.5,  1,     2,    1,   1,  THU,   0,  0,  0), // Gregorian: 27/08/0009
+             new TestCase(1724950.5,  1,     3,    1,   1,  FRI,   0,  0,  0), // Gregorian: 27/08/0010
+
+            // new TestCase(1724536.5,  1,     4,    1,   1,  SUN,   0,  0,  0), // Gregorian: 28/08/0011
+             new TestCase(1725316.5,  1,     4,    1,   1,  SUN,   0,  0,  0), // Gregorian: 28/08/0011 - dlf
+             new TestCase(1724219.5,  1,     0,   13,   5,  TUE,   0,  0,  0), // Gregorian: 26/08/0008
+             new TestCase(1724584.5,  1,     1,   13,   5,  WED,   0,  0,  0), // Gregorian: 26/08/0009
+             new TestCase(1724949.5,  1,     2,   13,   5,  THU,   0,  0,  0), // Gregorian: 26/08/0010
+             new TestCase(1725314.5,  1,     3,   13,   5,  FRI,   0,  0,  0), // Gregorian: 26/08/0011
+             new TestCase(1725315.5,  1,     3,   13,   6,  SAT,   0,  0,  0), // Gregorian: 27/08/0011 - first ethiopic leap year
+            // new TestCase(1725560.5,  1,     4,   13,   5,  SUN,   0,  0,  0), // Gregorian: 26/08/0012 - dlf
+             new TestCase(1725680.5,  1,     4,   13,   5,  SUN,   0,  0,  0), // Gregorian: 26/08/0012
+             new TestCase(2299158.5,  1,  1575,    2,   6,  WED,   0,  0,  0), // Gregorian: 13/10/1582  
+             new TestCase(2299159.5,  1,  1575,    2,   7,  THU,   0,  0,  0), // Gregorian: 14/10/1582  Julian 04/10/1582
+
+            new TestCase(2299160.5,  1,  1575,    2,   8,  FRI,   0,  0,  0), // Gregorian: 15/10/1582
+            new TestCase(2299161.5,  1,  1575,    2,   9,  SAT,   0,  0,  0), // Gregorian: 16/10/1582
+                        
+            new TestCase(2415020.5,  1,  1892,    4,  23,  MON,   0,  0,  0), // Gregorian: 01/01/1900
+            new TestCase(2453371.5,  1,  1997,    4,  23,  SAT,   0,  0,  0), // Gregorian: 01/01/2005
+            new TestCase(2454719.5,  1,  2000,   13,   5,  WED,   0,  0,  0), // Gregorian: 10/09/2008
+        };
+        
+        EthiopicCalendar testCalendar = new EthiopicCalendar();
+        testCalendar.setLenient(true);
+        doTestCases(tests, testCalendar);
+    }
+
+    // basic check to see that we print out eras ok
+    // eventually should modify to use locale strings and formatter appropriate to coptic calendar
+    public void TestEraStart() {
+        EthiopicCalendar cal = new EthiopicCalendar(0, 0, 1);
+        SimpleDateFormat fmt = new SimpleDateFormat("EEE MMM dd, yyyy GG");
+        assertEquals("Ethiopic Date", "Tue Jan 01, 0000 AD", fmt.format(cal));
+
+        // The gregorian calendar gets off by two days when
+        // the date gets low, unless the gregorian changeover is set to 
+        // very early.  The funny thing is, it's ok for dates in the year
+        // 283, but not in the year 7, and it claims to be ok until the year 4.
+        // should track down when the dates start to differ...
+        
+        GregorianCalendar gc = new GregorianCalendar();
+        gc.setGregorianChange(new Date(Long.MIN_VALUE)); // act like proleptic Gregorian
+        gc.setTime(cal.getTime());
+        assertEquals("Gregorian Date", "Tue Aug 28, 0007 AD", fmt.format(gc));
+    }
+
+    public void TestBasic() {
+        EthiopicCalendar cal = new EthiopicCalendar();
+        cal.clear();
+        cal.set(1000, 0, 30);
+        logln("1000/0/30-> " +
+              cal.get(YEAR) + "/" +
+              cal.get(MONTH) + "/" + 
+              cal.get(DATE));
+        cal.clear();
+        cal.set(1, 0, 30);
+        logln("1/0/30 -> " +
+              cal.get(YEAR) + "/" +
+              cal.get(MONTH) + "/" + 
+              cal.get(DATE));
+    }
+    
+    public void TestJD(){
+        int jd = EthiopicCalendar.EthiopicToJD(1567,8,9);
+        Integer[] l = EthiopicCalendar.getDateFromJD(jd);
+        if (l[0].intValue() == 1567 &&
+            l[1].intValue() == 8 &&
+            l[2].intValue() == 9){
+            logln("EthiopicCalendar.getDateFromJD tested");
+        } else {
+            errln("EthiopicCalendar.getDateFromJD failed");
+        }
+    }
+
+    public void TestCoverage() {
+
+        {
+            // new EthiopicCalendar(TimeZone)
+            EthiopicCalendar cal = new EthiopicCalendar(TimeZone.getDefault()); 
+            if(cal == null){
+                errln("could not create EthiopicCalendar with TimeZone");
+            }
+        }
+
+        {
+            // new EthiopicCalendar(ULocale)
+            EthiopicCalendar cal = new EthiopicCalendar(ULocale.getDefault());
+            if(cal == null){
+                errln("could not create EthiopicCalendar with ULocale");
+            }
+        }
+        
+        {
+            // new EthiopicCalendar(Locale)
+            EthiopicCalendar cal = new EthiopicCalendar(Locale.getDefault());
+            if(cal == null){
+                errln("could not create EthiopicCalendar with Locale");
+            }
+        }
+
+        {
+            // new EthiopicCalendar(TimeZone, Locale)
+            EthiopicCalendar cal = new EthiopicCalendar(TimeZone.getDefault(), Locale.getDefault());
+            if(cal == null){
+                errln("could not create EthiopicCalendar with TimeZone,Locale");
+            }
+        }
+
+        {
+            // new EthiopicCalendar(TimeZone, ULocale)
+            EthiopicCalendar cal = new EthiopicCalendar(TimeZone.getDefault(), ULocale.getDefault());
+            if(cal == null){
+                errln("could not create EthiopicCalendar with TimeZone,ULocale");
+            }
+        }
+        
+        {
+            // new EthiopicCalendar(Date)
+            EthiopicCalendar cal = new EthiopicCalendar(new Date());
+            if(cal == null){
+                errln("could not create EthiopicCalendar with Date");
+            }
+        }
+
+        {
+            // new EthiopicCalendar(int year, int month, int date)
+            EthiopicCalendar cal = new EthiopicCalendar(1997, EthiopicCalendar.MESKEREM, 1);
+            if(cal == null){
+                errln("could not create EthiopicCalendar with year,month,date");
+            }
+        }
+
+        {
+            // new EthiopicCalendar(int year, int month, int date, int hour, int minute, int second)
+            EthiopicCalendar cal = new EthiopicCalendar(1997, EthiopicCalendar.MESKEREM, 1, 1, 1, 1);
+            if(cal == null){
+                errln("could not create EthiopicCalendar with year,month,date,hour,minute,second");
+            }
+        }
+
+        {
+            // setCivil/isCivil
+            // operations on non-civil calendar
+            EthiopicCalendar cal = newAmeteAlemEraCalendar();
+            cal.setAmeteAlemEra(false);
+            if (cal.isAmeteAlemEra()) {
+                errln("EthiopicCalendar calendar is old system");
+            }
+
+            Date now = new Date();
+            cal.setTime(now);
+
+            Date then = cal.getTime();
+            if (!now.equals(then)) {
+                errln("get/set time failed with non-civil EthiopicCalendar calendar");
+            }
+
+            logln(then.toString());
+
+            cal.add(Calendar.MONTH, 1);
+            cal.add(Calendar.DAY_OF_MONTH, 1);
+            cal.add(Calendar.YEAR, 1);
+
+            logln(cal.getTime().toString());
+        }
+    
+        {
+            // data
+            EthiopicCalendar cal = new EthiopicCalendar(1997, EthiopicCalendar.MESKEREM, 1);
+            Date time = cal.getTime();
+
+            String[] calendarLocales = {
+                "am_ET", "gez_ET", "ti_ET"
+            };
+
+            String[] formatLocales = {
+                "en", "am", "gez", "ti"
+            };
+            for (int i = 0; i < calendarLocales.length; ++i) {
+                String calLocName = calendarLocales[i];
+                Locale calLocale = LocaleUtility.getLocaleFromName(calLocName);
+                cal = new EthiopicCalendar(calLocale);
+
+                for (int j = 0; j < formatLocales.length; ++j) {
+                    String locName = formatLocales[j];
+                    Locale formatLocale = LocaleUtility.getLocaleFromName(locName);
+                    DateFormat format = DateFormat.getDateTimeInstance(cal, DateFormat.FULL, DateFormat.FULL, formatLocale);
+                    logln(calLocName + "/" + locName + " --> " + format.format(time));
+                }
+            }
+        }
+    }
+    
+    private static EthiopicCalendar newAmeteAlemEraCalendar() {
+        EthiopicCalendar alemawiCalendar = new EthiopicCalendar();
+        alemawiCalendar.setAmeteAlemEra(true);
+        return alemawiCalendar;
+    }
+}
diff --git a/src/com/ibm/icu/dev/test/calendar/HebrewTest.java b/src/com/ibm/icu/dev/test/calendar/HebrewTest.java
new file mode 100755
index 0000000..750e32e
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/calendar/HebrewTest.java
@@ -0,0 +1,451 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+package com.ibm.icu.dev.test.calendar;
+import java.util.Date;
+import java.util.Locale;
+import java.util.MissingResourceException;
+
+import com.ibm.icu.impl.LocaleUtility;
+import com.ibm.icu.text.DateFormat;
+import com.ibm.icu.util.Calendar;
+import com.ibm.icu.util.HebrewCalendar;
+import com.ibm.icu.util.TimeZone;
+import com.ibm.icu.util.ULocale;
+
+/**
+ * Tests for the <code>HebrewCalendar</code> class.
+ */
+public class HebrewTest extends CalendarTest {
+    public static void main(String args[]) throws Exception {
+        new HebrewTest().run(args);
+    }
+
+    // Constants to save typing.
+    public static final int TISHRI  = HebrewCalendar.TISHRI;
+    public static final int HESHVAN = HebrewCalendar.HESHVAN;
+    public static final int KISLEV  = HebrewCalendar.KISLEV;
+    public static final int TEVET   = HebrewCalendar.TEVET;
+    public static final int SHEVAT  = HebrewCalendar.SHEVAT;
+    public static final int ADAR_1  = HebrewCalendar.ADAR_1;
+    public static final int ADAR    = HebrewCalendar.ADAR;
+    public static final int NISAN   = HebrewCalendar.NISAN;
+    public static final int IYAR    = HebrewCalendar.IYAR;
+    public static final int SIVAN   = HebrewCalendar.SIVAN;
+    public static final int TAMUZ   = HebrewCalendar.TAMUZ;
+    public static final int AV      = HebrewCalendar.AV;
+    public static final int ELUL    = HebrewCalendar.ELUL;
+
+    /**
+     * Test the behavior of HebrewCalendar.roll
+     * The only real nastiness with roll is the MONTH field, since a year can
+     * have a variable number of months.
+     */
+    public void TestRoll() {
+        int[][] tests = new int[][] {
+            //       input                roll by          output
+            //  year  month     day     field amount    year  month     day
+    
+            {   5759, HESHVAN,   2,     MONTH,   1,     5759, KISLEV,    2 },   // non-leap years
+            {   5759, SHEVAT,    2,     MONTH,   1,     5759, ADAR,      2 },
+            {   5759, SHEVAT,    2,     MONTH,   2,     5759, NISAN,     2 },
+            {   5759, SHEVAT,    2,     MONTH,  12,     5759, SHEVAT,    2 },
+            {   5759, AV,        1,     MONTH,  12,     5759, AV,        1 }, // Alan
+
+            {   5757, HESHVAN,   2,     MONTH,   1,     5757, KISLEV,    2 },   // leap years
+            {   5757, SHEVAT,    2,     MONTH,   1,     5757, ADAR_1,    2 },
+            {   5757, SHEVAT,    2,     MONTH,   2,     5757, ADAR,      2 },
+            {   5757, SHEVAT,    2,     MONTH,   3,     5757, NISAN,     2 },
+            {   5757, SHEVAT,    2,     MONTH,  12,     5757, TEVET,     2 },
+            {   5757, SHEVAT,    2,     MONTH,  13,     5757, SHEVAT,    2 },
+            {   5757, AV,        1,     MONTH,  12,     5757, TAMUZ,     1 }, // Alan
+            
+            {   5757, KISLEV,    1,     DATE,   30,     5757, KISLEV,    2 },   // 29-day month
+            {   5758, KISLEV,    1,     DATE,   31,     5758, KISLEV,    2 },   // 30-day month
+            
+            // Try some other fields too
+            {   5757, TISHRI,    1,     YEAR,    1,     5758, TISHRI,    1 },
+   
+
+            // Try some rolls that require other fields to be adjusted
+            {   5757, TISHRI,   30,     MONTH,   1,     5757, HESHVAN,  29 },
+            {   5758, KISLEV,   30,     YEAR,   -1,     5757, KISLEV,   29 },
+        };
+//        try{
+            HebrewCalendar cal = new HebrewCalendar(UTC, Locale.getDefault());
+    
+            doRollAdd(ROLL, cal, tests);
+ //       }catch(MissingResourceException ex){
+//            warnln("Got Exception: "+ ex.getMessage());
+ //       }
+    }
+    
+    /**
+     * Test the behavior of HebrewCalendar.roll
+     * The only real nastiness with roll is the MONTH field, since a year can
+     * have a variable number of months.
+     */
+    public void TestAdd() {
+        int[][] tests = new int[][] {
+            //       input                add by          output
+            //  year  month     day     field amount    year  month     day
+            {   5759, HESHVAN,   2,     MONTH,   1,     5759, KISLEV,    2 },   // non-leap years
+            {   5759, SHEVAT,    2,     MONTH,   1,     5759, ADAR,      2 },
+            {   5759, SHEVAT,    2,     MONTH,   2,     5759, NISAN,     2 },
+            {   5759, SHEVAT,    2,     MONTH,  12,     5760, SHEVAT,    2 },
+
+            {   5757, HESHVAN,   2,     MONTH,   1,     5757, KISLEV,    2 },   // leap years
+            {   5757, SHEVAT,    2,     MONTH,   1,     5757, ADAR_1,    2 },
+            {   5757, SHEVAT,    2,     MONTH,   2,     5757, ADAR,      2 },
+            {   5757, SHEVAT,    2,     MONTH,   3,     5757, NISAN,     2 },
+            {   5757, SHEVAT,    2,     MONTH,  12,     5758, TEVET,     2 },
+            {   5757, SHEVAT,    2,     MONTH,  13,     5758, SHEVAT,    2 },
+            
+            {   5762, AV,        1,     MONTH,   1,     5762, ELUL,      1 },   // JB#2327
+            {   5762, AV,       30,     DATE,    1,     5762, ELUL,      1 },   // JB#2327
+            {   5762, ELUL,      1,     DATE,   -1,     5762, AV,       30 },   // JB#2327
+            {   5762, ELUL,      1,     MONTH,  -1,     5762, AV,        1 },   // JB#2327
+            
+            {   5757, KISLEV,    1,     DATE,   30,     5757, TEVET,     2 },   // 29-day month
+            {   5758, KISLEV,    1,     DATE,   31,     5758, TEVET,     2 },   // 30-day month
+        };
+        try{
+            HebrewCalendar cal = new HebrewCalendar(UTC, Locale.getDefault());
+    
+            doRollAdd(ADD, cal, tests);
+        }catch( MissingResourceException ex){
+            warnln("Could not load the locale data");
+        }
+    }
+
+    /**
+     * A huge list of test cases to make sure that computeTime and computeFields
+     * work properly for a wide range of data.
+     */
+    public void TestCases() {
+        try{
+            final TestCase[] testCases = {
+                    //
+                    // Most of these test cases were taken from the back of
+                    // "Calendrical Calculations", with some extras added to help
+                    // debug a few of the problems that cropped up in development.
+                    //
+                    // The months in this table are 1-based rather than 0-based,
+                    // because it's easier to edit that way.
+                    //
+                    //         Julian Day  Era  Year  Month Day  WkDay Hour Min Sec
+                    new TestCase(1507231.5,  0,  3174,   12,  10,  SUN,   0,  0,  0),
+                    new TestCase(1660037.5,  0,  3593,    3,  25,  WED,   0,  0,  0),
+                    new TestCase(1746893.5,  0,  3831,    1,   3,  WED,   0,  0,  0),
+                    new TestCase(1770641.5,  0,  3896,    1,   9,  SUN,   0,  0,  0),
+                    new TestCase(1892731.5,  0,  4230,    4,  18,  WED,   0,  0,  0),
+                    new TestCase(1931579.5,  0,  4336,   10,   4,  MON,   0,  0,  0),
+                    new TestCase(1974851.5,  0,  4455,    2,  13,  SAT,   0,  0,  0),
+                    new TestCase(2091164.5,  0,  4773,    9,   6,  SUN,   0,  0,  0),
+                    new TestCase(2121509.5,  0,  4856,    9,  23,  SUN,   0,  0,  0),
+                    new TestCase(2155779.5,  0,  4950,    8,   7,  FRI,   0,  0,  0),
+                    new TestCase(2174029.5,  0,  5000,    7,   8,  SAT,   0,  0,  0),
+                    new TestCase(2191584.5,  0,  5048,    8,  21,  FRI,   0,  0,  0),
+                    new TestCase(2195261.5,  0,  5058,    9,   7,  SUN,   0,  0,  0),
+                    new TestCase(2229274.5,  0,  5151,   11,   1,  SUN,   0,  0,  0),
+                    new TestCase(2245580.5,  0,  5196,    5,   7,  WED,   0,  0,  0),
+                    new TestCase(2266100.5,  0,  5252,    8,   3,  SAT,   0,  0,  0),
+                    new TestCase(2288542.5,  0,  5314,    1,   1,  SAT,   0,  0,  0),
+                    new TestCase(2290901.5,  0,  5320,    6,  27,  SAT,   0,  0,  0),
+                    new TestCase(2323140.5,  0,  5408,   10,  20,  WED,   0,  0,  0),
+                    new TestCase(2334551.5,  0,  5440,    1,   1,  THU,   0,  0,  0),
+                    new TestCase(2334581.5,  0,  5440,    2,   1,  SAT,   0,  0,  0),
+                    new TestCase(2334610.5,  0,  5440,    3,   1,  SUN,   0,  0,  0),
+                    new TestCase(2334639.5,  0,  5440,    4,   1,  MON,   0,  0,  0),
+                    new TestCase(2334668.5,  0,  5440,    5,   1,  TUE,   0,  0,  0),
+                    new TestCase(2334698.5,  0,  5440,    6,   1,  THU,   0,  0,  0),
+                    new TestCase(2334728.5,  0,  5440,    7,   1,  SAT,   0,  0,  0),
+                    new TestCase(2334757.5,  0,  5440,    8,   1,  SUN,   0,  0,  0),
+                    new TestCase(2334787.5,  0,  5440,    9,   1,  TUE,   0,  0,  0),
+                    new TestCase(2334816.5,  0,  5440,   10,   1,  WED,   0,  0,  0),
+                    new TestCase(2334846.5,  0,  5440,   11,   1,  FRI,   0,  0,  0),
+                    new TestCase(2334848.5,  0,  5440,   11,   3,  SUN,   0,  0,  0),
+                    new TestCase(2334934.5,  0,  5441,    1,   1,  TUE,   0,  0,  0),
+                    new TestCase(2348020.5,  0,  5476,   12,   5,  FRI,   0,  0,  0),
+                    new TestCase(2366978.5,  0,  5528,   11,   4,  SUN,   0,  0,  0),
+                    new TestCase(2385648.5,  0,  5579,   12,  11,  MON,   0,  0,  0),
+                    new TestCase(2392825.5,  0,  5599,    8,  12,  WED,   0,  0,  0),
+                    new TestCase(2416223.5,  0,  5663,    8,  22,  SUN,   0,  0,  0),
+                    new TestCase(2425848.5,  0,  5689,   12,  19,  SUN,   0,  0,  0),
+                    new TestCase(2430266.5,  0,  5702,    1,   8,  MON,   0,  0,  0),
+                    new TestCase(2430833.5,  0,  5703,    8,  14,  MON,   0,  0,  0),
+                    new TestCase(2431004.5,  0,  5704,    1,   8,  THU,   0,  0,  0),
+                    new TestCase(2448698.5,  0,  5752,    7,  12,  TUE,   0,  0,  0),
+                    new TestCase(2450138.5,  0,  5756,    7,   5,  SUN,   0,  0,  0),
+                    new TestCase(2465737.5,  0,  5799,    2,  12,  WED,   0,  0,  0),
+                    new TestCase(2486076.5,  0,  5854,   12,   5,  SUN,   0,  0,  0),
+
+                    // Additional test cases for bugs found during development
+                    //           G.YY/MM/DD  Era  Year  Month Day  WkDay Hour Min Sec
+                    new TestCase(1013, 9, 8, 0,  4774,    1,   1,  TUE,   0,  0,  0),
+                    new TestCase(1239, 9, 1, 0,  5000,    1,   1,  THU,   0,  0,  0),
+                    new TestCase(1240, 9,18, 0,  5001,    1,   1,  TUE,   0,  0,  0),
+
+                    // Test cases taken from a table of 14 "year types" in the Help file
+                    // of the application "Hebrew Calendar"
+                    new TestCase(2456187.5,  0,  5773,    1,   1,  MON,   0,  0,  0),
+                    new TestCase(2459111.5,  0,  5781,    1,   1,  SAT,   0,  0,  0),
+                    new TestCase(2453647.5,  0,  5766,    1,   1,  TUE,   0,  0,  0),
+                    new TestCase(2462035.5,  0,  5789,    1,   1,  THU,   0,  0,  0),
+                    new TestCase(2458756.5,  0,  5780,    1,   1,  MON,   0,  0,  0),
+                    new TestCase(2460586.5,  0,  5785,    1,   1,  THU,   0,  0,  0),
+                    new TestCase(2463864.5,  0,  5794,    1,   1,  SAT,   0,  0,  0),
+                    new TestCase(2463481.5,  0,  5793,    1,   1,  MON,   0,  0,  0),
+                    new TestCase(2470421.5,  0,  5812,    1,   1,  THU,   0,  0,  0),
+                    new TestCase(2460203.5,  0,  5784,    1,   1,  SAT,   0,  0,  0),
+                    new TestCase(2459464.5,  0,  5782,    1,   1,  TUE,   0,  0,  0),
+                    new TestCase(2467142.5,  0,  5803,    1,   1,  MON,   0,  0,  0),
+                    new TestCase(2455448.5,  0,  5771,    1,   1,  THU,   0,  0,  0),
+                
+                    // Test cases for JB#2327        
+                    // http://www.fourmilab.com/documents/calendar/
+                    // http://www.calendarhome.com/converter/
+//                2452465.5, 2002, JULY, 10, 5762, AV, 1,
+//                2452494.5, 2002, AUGUST, 8, 5762, AV, 30,
+//                2452495.5, 2002, AUGUST, 9, 5762, ELUL, 1,
+//                2452523.5, 2002, SEPTEMBER, 6, 5762, ELUL, 29,
+//                2452524.5, 2002, SEPTEMBER, 7, 5763, TISHRI, 1,
+                    //         Julian Day  Era  Year  Month Day  WkDay Hour Min Sec
+                    new TestCase(2452465.5,  0,  5762,    AV+1,  1,  WED,   0,  0,  0),
+                    new TestCase(2452494.5,  0,  5762,    AV+1, 30,  THU,   0,  0,  0),
+                    new TestCase(2452495.5,  0,  5762,  ELUL+1,  1,  FRI,   0,  0,  0),
+                    new TestCase(2452523.5,  0,  5762,  ELUL+1, 29,  FRI,   0,  0,  0),
+                    new TestCase(2452524.5,  0,  5763,TISHRI+1,  1,  SAT,   0,  0,  0),
+                };
+                doTestCases(testCases, new HebrewCalendar());
+   
+        }catch(MissingResourceException ex){
+            warnln("Got Exception: "+ ex.getMessage());
+        }
+    }
+
+    /**
+     * Problem reported by Armand Bendanan in which setting of the MONTH
+     * field in a Hebrew calendar causes the time fields to go negative.
+     */
+    public void TestTimeFields() {
+        try{
+            HebrewCalendar calendar = new HebrewCalendar(5761, 0, 11, 12, 28, 15);
+            calendar.set(Calendar.YEAR, 5717);
+            calendar.set(Calendar.MONTH, 2);
+            calendar.set(Calendar.DAY_OF_MONTH, 23);
+            if (calendar.get(Calendar.HOUR_OF_DAY) != 12) {
+                errln("Fail: HebrewCalendar HOUR_OF_DAY = " + calendar.get(Calendar.HOUR_OF_DAY));
+            }
+        }catch(MissingResourceException ex){
+            warnln("Got Exception: "+ ex.getMessage());
+        }
+    }
+
+    /**
+     * Problem reported by Armand Bendanan (armand.bendanan@free.fr)
+     * in which setting of the MONTH field in a Hebrew calendar to
+     * ELUL on non leap years causes the date to be set on TISHRI next year.
+     */
+    public void TestElulMonth() {
+        try{
+            HebrewCalendar cal = new HebrewCalendar();
+            // Leap years are:
+            // 3 6 8 11 14 17 19 (and so on - 19-year cycle)
+            for (int year=1; year<50; year++) {
+                // I hope that year = 0 does not exists
+                // because the test fails for it !
+                cal.clear();
+                
+                cal.set(Calendar.YEAR, year);
+                cal.set(Calendar.MONTH, ELUL);
+                cal.set(Calendar.DAY_OF_MONTH, 1);
+                
+                int yact = cal.get(Calendar.YEAR);
+                int mact = cal.get(Calendar.MONTH);
+                
+                if (year != yact || ELUL != mact) {
+                    errln("Fail: " + ELUL + "/" + year +
+                          " -> " +
+                          mact + "/" + yact);
+                }
+            }
+        }catch(MissingResourceException ex){
+            warnln("Got Exception: "+ ex.getMessage());
+        }   
+    }
+    
+    /**
+     * Test of the behavior of the month field.  This requires special
+     * handling in the Hebrew calendar because of the pattern of leap
+     * years.
+     */
+    public void TestMonthMovement() {
+        try{
+            HebrewCalendar cal = new HebrewCalendar();
+            // Leap years are:
+            // 3 6 8 11 14 17 19 (and so on - 19-year cycle)
+            // We can't test complete() on some lines below because of ADAR_1 -- if
+            // the calendar is set to ADAR_1 on a non-leap year, the result is undefined.
+            int[] DATA = {
+                // m1/y1 - month/year before (month is 1-based) 
+                // delta - amount to add to month field
+                // m2/y2 - month/year after add(MONTH, delta)
+                // m3/y3 - month/year after set(MONTH, m1+delta)
+              //m1  y1 delta  m2  y2  m3  y3
+                10,  2,  +24,  9,  4,  9,  4,
+                10,  2,  +60,  8,  7,  8,  7,
+                1 ,  2,  +12,  1,  3, 13,  2, //*set != add; also see '*' below
+                3 , 18,  -24,  4, 16,  4, 16,
+                1 ,  6,  -24,  1,  4,  1,  4,
+                4 ,  3,   +2,  6,  3,  6,  3, // Leap year - no skip 4,5,6,7,8
+                8 ,  3,   -2,  6,  3,  6,  3, // Leap year - no skip
+                4 ,  2,   +2,  7,  2,  7,  2, // Skip leap month 4,5,(6),7,8
+                8 ,  2,   -2,  5,  2,  7,  2, //*Skip leap month going backward
+            };
+            for (int i=0; i<DATA.length; ) {
+                int m = DATA[i++], y = DATA[i++];
+                int monthDelta = DATA[i++];
+                int m2 = DATA[i++], y2 = DATA[i++];
+                int m3 = DATA[i++], y3 = DATA[i++];
+                int mact, yact;
+    
+                cal.clear();
+                cal.set(Calendar.YEAR, y);
+                cal.set(Calendar.MONTH, m-1);
+                cal.add(Calendar.MONTH, monthDelta);
+                yact = cal.get(Calendar.YEAR); mact = cal.get(Calendar.MONTH) + 1;
+                if (y2 != yact || m2 != mact) {
+                    errln("Fail: " + m + "/" + y +
+                          " -> add(MONTH, " + monthDelta + ") -> " +
+                          mact + "/" + yact + ", expected " +
+                          m2 + "/" + y2);
+                    cal.clear();
+                    cal.set(Calendar.YEAR, y);
+                    cal.set(Calendar.MONTH, m-1);
+                    logln("Start: " + m + "/" + y);
+                    int delta = monthDelta > 0 ? 1 : -1;
+                    for (int c=0; c!=monthDelta; c+=delta) {
+                        cal.add(Calendar.MONTH, delta);
+                        logln("+ " + delta + " MONTH -> " +
+                              (cal.get(Calendar.MONTH) + 1) + "/" + cal.get(Calendar.YEAR));
+                    }
+                }
+                
+                cal.clear();
+                cal.set(Calendar.YEAR, y);
+                cal.set(Calendar.MONTH, m + monthDelta - 1);
+                yact = cal.get(Calendar.YEAR); mact = cal.get(Calendar.MONTH) + 1;
+                if (y3 != yact || m3 != mact) {
+                    errln("Fail: " + (m+monthDelta) + "/" + y +
+                          " -> complete() -> " +
+                          mact + "/" + yact + ", expected " +
+                          m3 + "/" + y3);
+                }
+            }
+        }catch(MissingResourceException ex){
+            warnln("Got Exception: "+ ex.getMessage());
+        }
+    }
+
+    /**
+     * Test handling of ADAR_1.
+     */
+    /*
+    public void TestAdar1() {
+        HebrewCalendar cal = new HebrewCalendar();
+        cal.clear();
+        cal.set(Calendar.YEAR, 1903); // leap
+        cal.set(Calendar.MONTH, HebrewCalendar.ADAR_1);
+        logln("1903(leap)/ADAR_1 => " +
+              cal.get(Calendar.YEAR) + "/" + (cal.get(Calendar.MONTH)+1));
+
+        cal.clear();
+        cal.set(Calendar.YEAR, 1904); // non-leap
+        cal.set(Calendar.MONTH, HebrewCalendar.ADAR_1);
+        logln("1904(non-leap)/ADAR_1 => " +
+              cal.get(Calendar.YEAR) + "/" + (cal.get(Calendar.MONTH)+1));
+    }
+    */
+
+    /**
+     * With no fields set, the calendar should use default values.
+     */
+    public void TestDefaultFieldValues() {
+        try{
+            HebrewCalendar cal = new HebrewCalendar();
+            cal.clear();
+            logln("cal.clear() -> " + cal.getTime());
+        }catch(MissingResourceException ex){
+            warnln("could not load the locale data");
+        }
+    }
+    
+    public void TestCoverage() {
+        try{
+            {
+                // new HebrewCalendar(TimeZone)
+                HebrewCalendar cal = new HebrewCalendar(TimeZone.getDefault());
+                if(cal == null){
+                    errln("could not create HebrewCalendar with TimeZone");
+                }
+            }
+    
+            {
+                // new HebrewCalendar(ULocale)
+                HebrewCalendar cal = new HebrewCalendar(ULocale.getDefault());
+                if(cal == null){
+                    errln("could not create HebrewCalendar with ULocale");
+                }
+            }
+                
+            {
+                // new HebrewCalendar(Locale)
+                HebrewCalendar cal = new HebrewCalendar(Locale.getDefault());
+                if(cal == null){
+                    errln("could not create HebrewCalendar with locale");
+                }
+            }
+        
+            {
+                // new HebrewCalendar(Date)
+                HebrewCalendar cal = new HebrewCalendar(new Date());
+                if(cal == null){
+                    errln("could not create HebrewCalendar with date");
+                }
+            }
+        
+            {
+                // data
+                HebrewCalendar cal = new HebrewCalendar(2800, HebrewCalendar.SHEVAT, 1);
+                Date time = cal.getTime();
+        
+                String[] calendarLocales = {
+                "iw_IL"
+                };
+        
+                String[] formatLocales = {
+                "en", "fi", "fr", "hu", "iw", "nl"
+                };
+                for (int i = 0; i < calendarLocales.length; ++i) {
+                    String calLocName = calendarLocales[i];
+                    Locale calLocale = LocaleUtility.getLocaleFromName(calLocName);
+                    cal = new HebrewCalendar(calLocale);
+            
+                    for (int j = 0; j < formatLocales.length; ++j) {
+                        String locName = formatLocales[j];
+                        Locale formatLocale = LocaleUtility.getLocaleFromName(locName);
+                        DateFormat format = DateFormat.getDateTimeInstance(cal, DateFormat.FULL, DateFormat.FULL, formatLocale);
+                        logln(calLocName + "/" + locName + " --> " + format.format(time));
+                    }
+                }
+            }
+        }catch( MissingResourceException ex){
+            warnln("Could not load the locale data. "+ ex.getMessage());
+        }
+    }
+}
diff --git a/src/com/ibm/icu/dev/test/calendar/HolidayTest.java b/src/com/ibm/icu/dev/test/calendar/HolidayTest.java
new file mode 100644
index 0000000..1edc990
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/calendar/HolidayTest.java
@@ -0,0 +1,211 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.test.calendar;
+
+import java.util.Date;
+import java.util.Locale;
+
+import com.ibm.icu.dev.test.TestFmwk;
+
+import com.ibm.icu.impl.LocaleUtility;
+import com.ibm.icu.util.Calendar;
+import com.ibm.icu.util.EasterHoliday;
+import com.ibm.icu.util.GregorianCalendar;
+import com.ibm.icu.util.Holiday;
+import com.ibm.icu.util.RangeDateRule;
+import com.ibm.icu.util.SimpleDateRule;
+import com.ibm.icu.util.SimpleHoliday;
+
+/**
+ * Tests for the <code>Holiday</code> class.
+ */
+public class HolidayTest extends TestFmwk {
+    public static void main(String args[]) throws Exception {
+        new HolidayTest().run(args);
+    }
+    protected void init()throws Exception{
+        if(cal==null){
+            cal = new GregorianCalendar(1, 0, 1);
+            longTimeAgo = cal.getTime();
+            now = new Date();
+        }
+    }
+    static  Calendar cal;
+    static  Date longTimeAgo;
+    static  Date now;
+    static  long awhile = 3600L * 24 * 28; // 28 days
+
+    public void TestAPI() {
+        {
+            // getHolidays
+            Holiday[] holidays = Holiday.getHolidays();
+            exerciseHolidays(holidays, Locale.getDefault());
+        }
+
+        {
+            // getHolidays(Locale)
+            String[] localeNames =
+            {
+                "en_US",
+                "da",
+                "da_DK",
+                "de",
+                "de_AT",
+                "de_DE",
+                "el",
+                "el_GR",
+                "en",
+                "en_CA",
+                "en_GB",
+                "es",
+                "es_MX",
+                "fr",
+                "fr_CA",
+                "fr_FR",
+                "it",
+                "it_IT",
+                "iw",
+                "iw_IL",
+                "ja",
+                "ja_JP",
+            };
+
+            for (int i = 0; i < localeNames.length; ++i) {
+                Locale locale = LocaleUtility.getLocaleFromName(localeNames[i]);
+                Holiday[] holidays = Holiday.getHolidays(locale);
+                exerciseHolidays(holidays, locale);
+            }
+        }
+    }
+
+    void exerciseHolidays(Holiday[] holidays, Locale locale) {
+        for (int i = 0; i < holidays.length; ++i) {
+            exerciseHoliday(holidays[i], locale);
+        }
+    }
+
+    void exerciseHoliday(Holiday h, Locale locale) {
+        logln("holiday: " + h.getDisplayName());
+        logln("holiday in " + locale + ": " + h.getDisplayName(locale));
+
+        Date first = h.firstAfter(longTimeAgo);
+        logln("firstAfter: " + longTimeAgo + " is " + first);
+        if (first == null) {
+            first = longTimeAgo;
+        }
+        first.setTime(first.getTime() + awhile);
+
+        Date second = h.firstBetween(first, now);
+        logln("firstBetween: " + first + " and " + now + " is " + second);
+        if (second == null) {
+            second = now;
+        }
+
+        logln("is on " + first + ": " + h.isOn(first));
+        logln("is on " + now + ": " + h.isOn(now));
+        logln(
+              "is between "
+              + first
+              + " and "
+              + now
+              + ": "
+              + h.isBetween(first, now));
+        logln(
+              "is between "
+              + first
+              + " and "
+              + second
+              + ": "
+              + h.isBetween(first, second));
+
+        //        logln("rule: " + h.getRule().toString());
+
+        //        h.setRule(h.getRule());
+    }
+    
+    public void TestCoverage(){
+        Holiday[] h = { new EasterHoliday("Ram's Easter"),
+                        new SimpleHoliday(2, 29, 0, "Leap year", 1900, 2100)};
+        exerciseHolidays(h, Locale.getDefault());
+
+        RangeDateRule rdr = new RangeDateRule();
+        rdr.add(new SimpleDateRule(7, 10));
+        Date mbd = getDate(1953, Calendar.JULY, 10);
+        Date dbd = getDate(1958, Calendar.AUGUST, 15);
+        Date nbd = getDate(1990, Calendar.DECEMBER, 17);
+        Date abd = getDate(1992, Calendar.SEPTEMBER, 16);
+        Date xbd = getDate(1976, Calendar.JULY, 4);
+        Date ybd = getDate(2003, Calendar.DECEMBER, 8);
+        rdr.add(new SimpleDateRule(Calendar.JULY, 10, Calendar.MONDAY, false));
+        rdr.add(dbd, new SimpleDateRule(Calendar.AUGUST, 15, Calendar.WEDNESDAY, true));
+        rdr.add(xbd, null);
+        rdr.add(nbd, new SimpleDateRule(Calendar.DECEMBER, 17, Calendar.MONDAY, false));
+        rdr.add(ybd, null);
+
+        logln("first after " + mbd + " is " + rdr.firstAfter(mbd));
+        logln("first between " + mbd + " and " + dbd + " is " + rdr.firstBetween(mbd, dbd));
+        logln("first between " + dbd + " and " + nbd + " is " + rdr.firstBetween(dbd, nbd));
+        logln("first between " + nbd + " and " + abd + " is " + rdr.firstBetween(nbd, abd));
+        logln("first between " + abd + " and " + xbd + " is " + rdr.firstBetween(abd, xbd));
+        logln("first between " + abd + " and " + null + " is " + rdr.firstBetween(abd, null));
+        logln("first between " + xbd + " and " + null + " is " + rdr.firstBetween(xbd, null));
+        
+        //getRule, setRule
+        logln("The rule in the holiday: " + h[1].getRule());
+        exerciseHoliday(h[1], Locale.getDefault());
+        h[1].setRule(rdr);
+        logln("Set the new rule to the SimpleHoliday ...");
+        if (!rdr.equals(h[1].getRule())) {
+            errln("FAIL: getRule and setRule not matched.");
+        }
+        exerciseHoliday(h[1], Locale.getDefault());
+    }
+
+    public void TestIsOn() {
+        // jb 1901
+        SimpleHoliday sh = new SimpleHoliday(Calendar.AUGUST, 15, "Doug's Day", 1958, 2058);
+        
+        Calendar cal = new GregorianCalendar();
+        cal.clear();
+        cal.set(Calendar.YEAR, 2000);
+        cal.set(Calendar.MONTH, Calendar.AUGUST);
+        cal.set(Calendar.DAY_OF_MONTH, 15);
+        
+        Date d0 = cal.getTime();
+        cal.add(Calendar.SECOND, 1);
+        Date d1 = cal.getTime();
+        cal.add(Calendar.SECOND, -2);
+        Date d2 = cal.getTime();
+        cal.add(Calendar.DAY_OF_MONTH, 1);
+        Date d3 = cal.getTime();
+        cal.add(Calendar.SECOND, 1);
+        Date d4 = cal.getTime();
+        cal.add(Calendar.SECOND, -2);
+        cal.set(Calendar.YEAR, 1957);
+        Date d5 = cal.getTime();
+        cal.set(Calendar.YEAR, 1958);
+        Date d6 = cal.getTime();
+        cal.set(Calendar.YEAR, 2058);
+        Date d7 = cal.getTime();
+        cal.set(Calendar.YEAR, 2059);
+        Date d8 = cal.getTime();
+
+        Date[] dates = { d0, d1, d2, d3, d4, d5, d6, d7, d8 };
+        boolean[] isOns = { true, true, false, true, false, false, true, true, false };
+        for (int i = 0; i < dates.length; ++i) {
+            Date d = dates[i];
+            logln("\ndate: " + d);
+            boolean isOn = sh.isOn(d);
+            logln("isOnDate: " + isOn);
+            if (isOn != isOns[i]) {
+                errln("date: " + d + " should be on Doug's Day!");
+            }
+            Date h = sh.firstAfter(d);
+            logln("firstAfter: " + h);
+        }
+    }
+}
diff --git a/src/com/ibm/icu/dev/test/calendar/IBMCalendarTest.java b/src/com/ibm/icu/dev/test/calendar/IBMCalendarTest.java
new file mode 100755
index 0000000..fae4b52
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/calendar/IBMCalendarTest.java
@@ -0,0 +1,847 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2000-2005, International Business Machines Corporation and
+ * others. All Rights Reserved.
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.test.calendar;
+
+import java.util.Date;
+import java.util.Locale;
+import java.text.ParseException;
+
+import com.ibm.icu.impl.LocaleUtility;
+import com.ibm.icu.impl.ZoneMeta;
+import com.ibm.icu.impl.CalendarAstronomer;
+import com.ibm.icu.text.DateFormat;
+import com.ibm.icu.text.DateFormatSymbols;
+import com.ibm.icu.text.SimpleDateFormat;
+import com.ibm.icu.util.*;
+
+/**
+ * @test
+ * @summary Tests of new functionality in IBMCalendar
+ */
+public class IBMCalendarTest extends CalendarTest {
+
+    public static void main(String[] args) throws Exception {
+        new IBMCalendarTest().run(args);
+    }
+
+    /**
+     * Test weekend support in IBMCalendar.
+     *
+     * NOTE: This test will have to be updated when the isWeekend() etc.
+     *       API is finalized later.
+     *
+     *       In particular, the test will have to be rewritten to instantiate
+     *       a Calendar in the given locale (using getInstance()) and call
+     *       that Calendar's isWeekend() etc. methods.
+     */
+    public void TestWeekend() {
+        SimpleDateFormat fmt = new SimpleDateFormat("EEE MMM dd yyyy G HH:mm:ss.SSS");
+
+        // NOTE
+        // This test tests for specific locale data.  This is probably okay
+        // as far as US data is concerned, but if the Arabic/Bahrain data
+        // changes, this test will have to be updated.
+
+        // Test specific days
+        Object[] DATA1 = {
+            Locale.US, new int[] { // Saturday:Sunday
+                2000, Calendar.MARCH, 17, 23,  0, 0, // Fri 23:00
+                2000, Calendar.MARCH, 18,  0, -1, 0, // Fri 23:59:59.999
+                2000, Calendar.MARCH, 18,  0,  0, 1, // Sat 00:00
+                2000, Calendar.MARCH, 18, 15,  0, 1, // Sat 15:00
+                2000, Calendar.MARCH, 19, 23,  0, 1, // Sun 23:00
+                2000, Calendar.MARCH, 20,  0, -1, 1, // Sun 23:59:59.999
+                2000, Calendar.MARCH, 20,  0,  0, 0, // Mon 00:00
+                2000, Calendar.MARCH, 20,  8,  0, 0, // Mon 08:00
+            },
+            new Locale("ar", "BH"), new int[] { // Thursday:Friday
+                2000, Calendar.MARCH, 15, 23,  0, 0, // Wed 23:00
+                2000, Calendar.MARCH, 16,  0, -1, 0, // Wed 23:59:59.999
+                2000, Calendar.MARCH, 16,  0,  0, 1, // Thu 00:00
+                2000, Calendar.MARCH, 16, 15,  0, 1, // Thu 15:00
+                2000, Calendar.MARCH, 17, 23,  0, 1, // Fri 23:00
+                2000, Calendar.MARCH, 18,  0, -1, 1, // Fri 23:59:59.999
+                2000, Calendar.MARCH, 18,  0,  0, 0, // Sat 00:00
+                2000, Calendar.MARCH, 18,  8,  0, 0, // Sat 08:00
+            },
+        };
+
+        // Test days of the week
+        Object[] DATA2 = {
+            Locale.US, new int[] {
+                Calendar.MONDAY,   Calendar.WEEKDAY,
+                Calendar.FRIDAY,   Calendar.WEEKDAY,
+                Calendar.SATURDAY, Calendar.WEEKEND,
+                Calendar.SUNDAY,   Calendar.WEEKEND_CEASE,
+            },
+            new Locale("ar", "BH"), new int[] { // Thursday:Friday
+                Calendar.WEDNESDAY,Calendar.WEEKDAY,
+                Calendar.SATURDAY, Calendar.WEEKDAY,
+                Calendar.THURSDAY, Calendar.WEEKEND,
+                Calendar.FRIDAY,   Calendar.WEEKEND_CEASE,
+            },
+        };
+
+        // We only test the getDayOfWeekType() and isWeekend() APIs.
+        // The getWeekendTransition() API is tested indirectly via the
+        // isWeekend() API, which calls it.
+
+        for (int i1=0; i1<DATA1.length; i1+=2) {
+            Locale loc = (Locale)DATA1[i1];
+            int[] data = (int[]) DATA1[i1+1];
+            Calendar cal = Calendar.getInstance(loc);
+            logln("Locale: " + loc);
+            for (int i=0; i<data.length; i+=6) {
+                cal.clear();
+                cal.set(data[i], data[i+1], data[i+2], data[i+3], 0, 0);
+                if (data[i+4] != 0) {
+                    cal.setTime(new Date(cal.getTime().getTime() + data[i+4]));
+                }
+                boolean isWeekend = cal.isWeekend();
+                boolean ok = isWeekend == (data[i+5] != 0);
+                if (ok) {
+                    logln("Ok:   " + fmt.format(cal.getTime()) + " isWeekend=" + isWeekend);
+                } else {
+                    errln("FAIL: " + fmt.format(cal.getTime()) + " isWeekend=" + isWeekend +
+                          ", expected=" + (!isWeekend));
+                }
+            }
+        }
+
+        for (int i2=0; i2<DATA2.length; i2+=2) {
+            Locale loc = (Locale)DATA2[i2];
+            int[] data = (int[]) DATA2[i2+1];
+            logln("Locale: " + loc);
+            Calendar cal = Calendar.getInstance(loc);
+            for (int i=0; i<data.length; i+=2) {
+                int type = cal.getDayOfWeekType(data[i]);
+                int exp  = data[i+1];
+                if (type == exp) {
+                    logln("Ok:   DOW " + data[i] + " type=" + type);
+                } else {
+                    errln("FAIL: DOW " + data[i] + " type=" + type +
+                          ", expected=" + exp);
+                }
+            }
+        }
+    }
+
+    /**
+     * Run a test of a quasi-Gregorian calendar.  This is a calendar
+     * that behaves like a Gregorian but has different year/era mappings.
+     * The int[] data array should have the format:
+     *
+     * { era, year, gregorianYear, month, dayOfMonth, ... }
+     */
+    void quasiGregorianTest(Calendar cal, int[] data) {
+        // As of JDK 1.4.1_01, using the Sun JDK GregorianCalendar as
+        // a reference throws us off by one hour.  This is most likely
+        // due to the JDK 1.4 incorporation of historical time zones.
+        //java.util.Calendar grego = java.util.Calendar.getInstance();
+        Calendar grego = Calendar.getInstance();
+        for (int i=0; i<data.length; ) {
+            int era = data[i++];
+            int year = data[i++];
+            int gregorianYear = data[i++];
+            int month = data[i++];
+            int dayOfMonth = data[i++];
+
+            grego.clear();
+            grego.set(gregorianYear, month, dayOfMonth);
+            Date D = grego.getTime();
+
+            cal.clear();
+            cal.set(Calendar.ERA, era);
+            cal.set(year, month, dayOfMonth);
+            Date d = cal.getTime();
+            if (d.equals(D)) {
+                logln("OK: " + era + ":" + year + "/" + (month+1) + "/" + dayOfMonth +
+                      " => " + d);
+            } else {
+                errln("Fail: " + era + ":" + year + "/" + (month+1) + "/" + dayOfMonth +
+                      " => " + d + ", expected " + D);
+            }
+
+            cal.clear();
+            cal.setTime(D);
+            int e = cal.get(Calendar.ERA);
+            int y = cal.get(Calendar.YEAR);
+            if (y == year && e == era) {
+                logln("OK: " + D + " => " + cal.get(Calendar.ERA) + ":" +
+                      cal.get(Calendar.YEAR) + "/" +
+                      (cal.get(Calendar.MONTH)+1) + "/" + cal.get(Calendar.DATE));
+            } else {
+                logln("Fail: " + D + " => " + cal.get(Calendar.ERA) + ":" +
+                      cal.get(Calendar.YEAR) + "/" +
+                      (cal.get(Calendar.MONTH)+1) + "/" + cal.get(Calendar.DATE) +
+                      ", expected " + era + ":" + year + "/" + (month+1) + "/" +
+                      dayOfMonth);
+            }
+        }
+    }
+
+    /**
+     * Verify that BuddhistCalendar shifts years to Buddhist Era but otherwise
+     * behaves like GregorianCalendar.
+     */
+    public void TestBuddhist() {
+        quasiGregorianTest(new BuddhistCalendar(),
+                           new int[] {
+                               // BE 2542 == 1999 CE
+                               0, 2542, 1999, Calendar.JUNE, 4
+                           });
+    }
+
+    public void TestBuddhistCoverage() {
+    {
+        // new BuddhistCalendar(ULocale)
+        BuddhistCalendar cal = new BuddhistCalendar(ULocale.getDefault());
+        if(cal == null){
+            errln("could not create BuddhistCalendar with ULocale");
+        }
+    }
+
+    {
+        // new BuddhistCalendar(TimeZone,ULocale)
+        BuddhistCalendar cal = new BuddhistCalendar(TimeZone.getDefault(),ULocale.getDefault());
+        if(cal == null){
+            errln("could not create BuddhistCalendar with TimeZone ULocale");
+        }
+    }
+
+    {
+        // new BuddhistCalendar(TimeZone)
+        BuddhistCalendar cal = new BuddhistCalendar(TimeZone.getDefault());
+        if(cal == null){
+            errln("could not create BuddhistCalendar with TimeZone");
+        }
+    }
+
+    {
+        // new BuddhistCalendar(Locale)
+        BuddhistCalendar cal = new BuddhistCalendar(Locale.getDefault());
+        if(cal == null){
+            errln("could not create BuddhistCalendar with Locale");
+        }
+    }
+
+    {
+        // new BuddhistCalendar(TimeZone, Locale)
+        BuddhistCalendar cal = new BuddhistCalendar(TimeZone.getDefault(), Locale.getDefault());
+        if(cal == null){
+            errln("could not create BuddhistCalendar with TimeZone and Locale");
+        }
+    }
+
+    {
+        // new BuddhistCalendar(Date)
+        BuddhistCalendar cal = new BuddhistCalendar(new Date());
+        if(cal == null){
+            errln("could not create BuddhistCalendar with Date");
+        }
+    }
+
+    {
+        // new BuddhistCalendar(int year, int month, int date)
+        BuddhistCalendar cal = new BuddhistCalendar(2543, Calendar.MAY, 22);
+        if(cal == null){
+            errln("could not create BuddhistCalendar with year,month,data");
+        }
+    }
+
+    {
+        // new BuddhistCalendar(int year, int month, int date, int hour, int minute, int second)
+        BuddhistCalendar cal = new BuddhistCalendar(2543, Calendar.MAY, 22, 1, 1, 1);
+        if(cal == null){
+            errln("could not create BuddhistCalendar with year,month,date,hour,minute,second");
+        }
+    }
+
+    {
+        // data
+        BuddhistCalendar cal = new BuddhistCalendar(2543, Calendar.MAY, 22);
+        Date time = cal.getTime();
+
+        String[] calendarLocales = {
+        "th_TH"
+        };
+
+        String[] formatLocales = {
+        "en", "ar", "hu", "th"
+        };
+
+        for (int i = 0; i < calendarLocales.length; ++i) {
+        String calLocName = calendarLocales[i];
+        Locale calLocale = LocaleUtility.getLocaleFromName(calLocName);
+        cal = new BuddhistCalendar(calLocale);
+
+        for (int j = 0; j < formatLocales.length; ++j) {
+            String locName = formatLocales[j];
+            Locale formatLocale = LocaleUtility.getLocaleFromName(locName);
+            DateFormat format = DateFormat.getDateTimeInstance(cal, DateFormat.FULL, DateFormat.FULL, formatLocale);
+            logln(calLocName + "/" + locName + " --> " + format.format(time));
+        }
+        }
+    }
+    }
+
+    /**
+     * Verify that JapaneseCalendar shifts years to Buddhist Era but otherwise
+     * behaves like GregorianCalendar.
+     */
+    public void TestJapanese() {
+        // First make sure this test works for GregorianCalendar
+        int[] control = {
+            GregorianCalendar.AD, 1868, 1868, Calendar.SEPTEMBER, 8,
+            GregorianCalendar.AD, 1868, 1868, Calendar.SEPTEMBER, 9,
+            GregorianCalendar.AD, 1869, 1869, Calendar.JUNE, 4,
+            GregorianCalendar.AD, 1912, 1912, Calendar.JULY, 29,
+            GregorianCalendar.AD, 1912, 1912, Calendar.JULY, 30,
+            GregorianCalendar.AD, 1912, 1912, Calendar.AUGUST, 1,
+        };
+        quasiGregorianTest(new GregorianCalendar(), control);
+
+        int[] data = {
+            JapaneseCalendar.MEIJI, 1, 1868, Calendar.SEPTEMBER, 8,
+            JapaneseCalendar.MEIJI, 1, 1868, Calendar.SEPTEMBER, 9,
+            JapaneseCalendar.MEIJI, 2, 1869, Calendar.JUNE, 4,
+            JapaneseCalendar.MEIJI, 45, 1912, Calendar.JULY, 29,
+            JapaneseCalendar.TAISHO, 1, 1912, Calendar.JULY, 30,
+            JapaneseCalendar.TAISHO, 1, 1912, Calendar.AUGUST, 1,
+        };
+        quasiGregorianTest(new JapaneseCalendar(), data);
+    }
+
+    /**
+     * Test limits of the Gregorian calendar.
+     */
+    public void TestGregorianLimits() {
+        // Final parameter is either number of days, if > 0, or test
+        // duration in seconds, if < 0.
+        Calendar cal = Calendar.getInstance();
+        cal.set(2004, Calendar.JANUARY, 1);
+        doLimitsTest(new GregorianCalendar(), null, cal.getTime(), -10);
+    }
+
+    /**
+     * Test behavior of fieldDifference around leap years.  Also test a large
+     * field difference to check binary search.
+     */
+    public void TestLeapFieldDifference() {
+        Calendar cal = Calendar.getInstance();
+        cal.set(2004, Calendar.FEBRUARY, 29);
+        Date date2004 = cal.getTime();
+        cal.set(2000, Calendar.FEBRUARY, 29);
+        Date date2000 = cal.getTime();
+        int y = cal.fieldDifference(date2004, Calendar.YEAR);
+        int d = cal.fieldDifference(date2004, Calendar.DAY_OF_YEAR);
+        if (d == 0) {
+            logln("Ok: 2004/Feb/29 - 2000/Feb/29 = " + y + " years, " + d + " days");
+        } else {
+            errln("FAIL: 2004/Feb/29 - 2000/Feb/29 = " + y + " years, " + d + " days");
+        }
+        cal.setTime(date2004);
+        y = cal.fieldDifference(date2000, Calendar.YEAR);
+        d = cal.fieldDifference(date2000, Calendar.DAY_OF_YEAR);
+        if (d == 0) {
+            logln("Ok: 2000/Feb/29 - 2004/Feb/29 = " + y + " years, " + d + " days");
+        } else {
+            errln("FAIL: 2000/Feb/29 - 2004/Feb/29 = " + y + " years, " + d + " days");
+        }
+        // Test large difference
+        cal.set(2001, Calendar.APRIL, 5); // 2452005
+        Date ayl = cal.getTime();
+        cal.set(1964, Calendar.SEPTEMBER, 7); // 2438646
+        Date asl = cal.getTime();
+        d = cal.fieldDifference(ayl, Calendar.DAY_OF_MONTH);
+        cal.setTime(ayl);
+        int d2 = cal.fieldDifference(asl, Calendar.DAY_OF_MONTH);
+        if (d == -d2 && d == 13359) {
+            logln("Ok: large field difference symmetrical " + d);
+        } else {
+            logln("FAIL: large field difference incorrect " + d + ", " + d2 +
+                  ", expect +/- 13359");
+        }
+    }
+
+    /**
+     * Test ms_MY "Malay (Malaysia)" locale.  Bug 1543.
+     */
+    public void TestMalaysianInstance() {
+        Locale loc = new Locale("ms", "MY");  // Malay (Malaysia)
+        Calendar cal = Calendar.getInstance(loc);
+        if(cal == null){
+            errln("could not create Malaysian instance");
+        }
+    }
+
+    /**
+     * setFirstDayOfWeek and setMinimalDaysInFirstWeek may change the
+     * field <=> time mapping, since they affect the interpretation of
+     * the WEEK_OF_MONTH or WEEK_OF_YEAR fields.
+     */
+    public void TestWeekShift() {
+        Calendar cal = new GregorianCalendar(
+                             TimeZone.getTimeZone("America/Los_Angeles"),
+                             new Locale("en", "US"));
+        cal.setTime(new Date(997257600000L)); // Wed Aug 08 01:00:00 PDT 2001
+        // In pass one, change the first day of week so that the weeks
+        // shift in August 2001.  In pass two, change the minimal days
+        // in the first week so that the weeks shift in August 2001.
+        //     August 2001
+        // Su Mo Tu We Th Fr Sa
+        //           1  2  3  4
+        //  5  6  7  8  9 10 11
+        // 12 13 14 15 16 17 18
+        // 19 20 21 22 23 24 25
+        // 26 27 28 29 30 31
+        for (int pass=0; pass<2; ++pass) {
+            if (pass==0) {
+                cal.setFirstDayOfWeek(Calendar.WEDNESDAY);
+                cal.setMinimalDaysInFirstWeek(4);
+            } else {
+                cal.setFirstDayOfWeek(Calendar.SUNDAY);
+                cal.setMinimalDaysInFirstWeek(4);
+            }
+            cal.add(Calendar.DATE, 1); // Force recalc
+            cal.add(Calendar.DATE, -1);
+
+            Date time1 = cal.getTime(); // Get time -- should not change
+
+            // Now change a week parameter and then force a recalc.
+            // The bug is that the recalc should not be necessary --
+            // calendar should do so automatically.
+            if (pass==0) {
+                cal.setFirstDayOfWeek(Calendar.THURSDAY);
+            } else {
+                cal.setMinimalDaysInFirstWeek(5);
+            }
+
+            int woy1 = cal.get(Calendar.WEEK_OF_YEAR);
+            int wom1 = cal.get(Calendar.WEEK_OF_MONTH);
+
+            cal.add(Calendar.DATE, 1); // Force recalc
+            cal.add(Calendar.DATE, -1);
+
+            int woy2 = cal.get(Calendar.WEEK_OF_YEAR);
+            int wom2 = cal.get(Calendar.WEEK_OF_MONTH);
+
+            Date time2 = cal.getTime();
+
+            if (!time1.equals(time2)) {
+                errln("FAIL: shifting week should not alter time");
+            } else {
+                logln(time1.toString());
+            }
+            if (woy1 == woy2 && wom1 == wom2) {
+                logln("Ok: WEEK_OF_YEAR: " + woy1 +
+                      ", WEEK_OF_MONTH: " + wom1);
+            } else {
+                errln("FAIL: WEEK_OF_YEAR: " + woy1 + " => " + woy2 +
+                      ", WEEK_OF_MONTH: " + wom1 + " => " + wom2 +
+                      " after week shift");
+            }
+        }
+    }
+
+    /**
+     * Make sure that when adding a day, we actually wind up in a
+     * different day.  The DST adjustments we use to keep the hour
+     * constant across DST changes can backfire and change the day.
+     */
+    public void TestTimeZoneTransitionAdd() {
+        Locale locale = Locale.US; // could also be CHINA
+        SimpleDateFormat dateFormat =
+            new SimpleDateFormat("MM/dd/yyyy HH:mm z", locale);
+
+        String tz[] = TimeZone.getAvailableIDs();
+
+        for (int z=0; z<tz.length; ++z) {
+            TimeZone t = TimeZone.getTimeZone(tz[z]);
+            dateFormat.setTimeZone(t);
+
+            Calendar cal = Calendar.getInstance(t, locale);
+            cal.clear();
+            // Scan the year 2003, overlapping the edges of the year
+            cal.set(Calendar.YEAR, 2002);
+            cal.set(Calendar.MONTH, Calendar.DECEMBER);
+            cal.set(Calendar.DAY_OF_MONTH, 25);
+
+            for (int i=0; i<365+10; ++i) {
+                Date yesterday = cal.getTime();
+                int yesterday_day = cal.get(Calendar.DAY_OF_MONTH);
+                cal.add(Calendar.DAY_OF_MONTH, 1);
+                if (yesterday_day == cal.get(Calendar.DAY_OF_MONTH)) {
+                    errln(tz[z] + " " +
+                          dateFormat.format(yesterday) + " +1d= " +
+                          dateFormat.format(cal.getTime()));
+                }
+            }
+        }
+    }
+
+    public void TestJB1684() {
+        class TestData {
+            int year;
+            int month;
+            int date;
+            int womyear;
+            int wommon;
+            int wom;
+            int dow;
+            String data;
+            String normalized;
+
+            public TestData(int year, int month, int date,
+                            int womyear, int wommon, int wom, int dow,
+                            String data, String normalized) {
+                this.year = year;
+                this.month = month-1;
+                this.date = date;
+                this.womyear = womyear;
+                this.wommon = wommon-1;
+                this.wom = wom;
+                this.dow = dow;
+                this.data = data; // year, month, week of month, day
+                this.normalized = data;
+                if (normalized != null) this.normalized = normalized;
+            }
+        }
+
+        //      July 2001            August 2001           January 2002
+        // Su Mo Tu We Th Fr Sa  Su Mo Tu We Th Fr Sa  Su Mo Tu We Th Fr Sa
+        //  1  2  3  4  5  6  7            1  2  3  4         1  2  3  4  5
+        //  8  9 10 11 12 13 14   5  6  7  8  9 10 11   6  7  8  9 10 11 12
+        // 15 16 17 18 19 20 21  12 13 14 15 16 17 18  13 14 15 16 17 18 19
+        // 22 23 24 25 26 27 28  19 20 21 22 23 24 25  20 21 22 23 24 25 26
+        // 29 30 31              26 27 28 29 30 31     27 28 29 30 31
+        TestData[] tests = {
+            new TestData(2001, 8,  6,  2001,8,2,Calendar.MONDAY,    "2001 08 02 Mon", null),
+            new TestData(2001, 8,  7,  2001,8,2,Calendar.TUESDAY,   "2001 08 02 Tue", null),
+            new TestData(2001, 8,  5,/*12,*/ 2001,8,2,Calendar.SUNDAY,    "2001 08 02 Sun", null),
+            new TestData(2001, 8,6, /*7,  30,*/ 2001,7,6,Calendar.MONDAY,    "2001 07 06 Mon", "2001 08 02 Mon"),
+            new TestData(2001, 8,7, /*7,  31,*/ 2001,7,6,Calendar.TUESDAY,   "2001 07 06 Tue", "2001 08 02 Tue"),
+            new TestData(2001, 8,  5,  2001,7,6,Calendar.SUNDAY,    "2001 07 06 Sun", "2001 08 02 Sun"),
+            new TestData(2001, 7,  30, 2001,8,1,Calendar.MONDAY,    "2001 08 01 Mon", "2001 07 05 Mon"),
+            new TestData(2001, 7,  31, 2001,8,1,Calendar.TUESDAY,   "2001 08 01 Tue", "2001 07 05 Tue"),
+            new TestData(2001, 7,29, /*8,  5,*/  2001,8,1,Calendar.SUNDAY,    "2001 08 01 Sun", "2001 07 05 Sun"),
+            new TestData(2001, 12, 31, 2001,12,6,Calendar.MONDAY,   "2001 12 06 Mon", null),
+            new TestData(2002, 1,  1,  2002,1,1,Calendar.TUESDAY,   "2002 01 01 Tue", null),
+            new TestData(2002, 1,  2,  2002,1,1,Calendar.WEDNESDAY, "2002 01 01 Wed", null),
+            new TestData(2002, 1,  3,  2002,1,1,Calendar.THURSDAY,  "2002 01 01 Thu", null),
+            new TestData(2002, 1,  4,  2002,1,1,Calendar.FRIDAY,    "2002 01 01 Fri", null),
+            new TestData(2002, 1,  5,  2002,1,1,Calendar.SATURDAY,  "2002 01 01 Sat", null),
+            new TestData(2001,12,30, /*2002, 1,  6,*/  2002,1,1,Calendar.SUNDAY,    "2002 01 01 Sun", "2001 12 06 Sun"),
+        };
+
+        int pass = 0, error = 0, warning = 0;
+
+        final String pattern = "yyyy MM WW EEE";
+        GregorianCalendar cal = new GregorianCalendar();
+        SimpleDateFormat sdf = new SimpleDateFormat(pattern);
+        sdf.setCalendar(cal);
+
+        cal.setFirstDayOfWeek(Calendar.SUNDAY);
+        cal.setMinimalDaysInFirstWeek(1);
+
+        for (int i = 0; i < tests.length; ++i) {
+            TestData test = tests[i];
+            log("\n-----\nTesting round trip of " + test.year +
+                  " " + (test.month + 1) +
+                  " " + test.date +
+                  " (written as) " + test.data);
+
+            cal.clear();
+            cal.set(test.year, test.month, test.date);
+            Date ms = cal.getTime();
+
+            cal.clear();
+            cal.set(Calendar.YEAR, test.womyear);
+            cal.set(Calendar.MONTH, test.wommon);
+            cal.set(Calendar.WEEK_OF_MONTH, test.wom);
+            cal.set(Calendar.DAY_OF_WEEK, test.dow);
+            Date ms2 = cal.getTime();
+
+            if (!ms2.equals(ms)) {
+                log("\nError: GregorianCalendar.DOM gave " + ms +
+                    "\n       GregorianCalendar.WOM gave " + ms2);
+                error++;
+            } else {
+                pass++;
+            }
+
+            ms2 = null;
+            try {
+                ms2 = sdf.parse(test.data);
+            }
+            catch (ParseException e) {
+                errln("parse exception: " + e);
+            }
+
+            if (!ms2.equals(ms)) {
+                log("\nError: GregorianCalendar gave      " + ms +
+                    "\n       SimpleDateFormat.parse gave " + ms2);
+                error++;
+            } else {
+                pass++;
+            }
+
+            String result = sdf.format(ms);
+            if (!result.equals(test.normalized)) {
+                log("\nWarning: format of '" + test.data + "' gave" +
+                    "\n                   '" + result + "'" +
+                    "\n          expected '" + test.normalized + "'");
+                warning++;
+            } else {
+                pass++;
+            }
+
+            Date ms3 = null;
+            try {
+                ms3 = sdf.parse(result);
+            }
+            catch (ParseException e) {
+                errln("parse exception 2: " + e);
+            }
+
+            if (!ms3.equals(ms)) {
+                error++;
+                log("\nError: Re-parse of '" + result + "' gave time of " +
+                    "\n        " + ms3 +
+                    "\n    not " + ms);
+            } else {
+                pass++;
+            }
+        }
+        String info = "\nPassed: " + pass + ", Warnings: " + warning + ", Errors: " + error;
+        if (error > 0) {
+            errln(info);
+        } else {
+            logln(info);
+        }
+    }
+
+    /**
+     * Test the ZoneMeta API.
+     */
+    public void TestZoneMeta() {
+        // Test index by country API
+
+        // Format: {country, zone1, zone2, ..., zoneN}
+        String COUNTRY[][] = { {"", "GMT", "UTC"},
+                               {"US", "America/Los_Angeles", "PST"} };
+        StringBuffer buf = new StringBuffer();
+        for (int i=0; i<COUNTRY.length; ++i) {
+            String[] a = ZoneMeta.getAvailableIDs(COUNTRY[i][0]);
+            buf.setLength(0);
+            buf.append("Country \"" + COUNTRY[i][0] + "\": [");
+            // Use bitmask to track which of the expected zones we see
+            int mask = 0;
+            for (int j=0; j<a.length; ++j) {
+                if (j!=0) buf.append(", ");
+                buf.append(a[j]);
+                for (int k=1; k<COUNTRY[i].length; ++k) {
+                    if ((mask & (1<<k)) == 0 &&
+                        a[j] == COUNTRY[i][k]) {
+                        mask |= (1<<k);
+                    }
+                }
+            }
+            buf.append("]");
+            mask >>= 1;
+            // Check bitmask to see if we saw all expected zones
+            if (mask == (1 << (COUNTRY[i].length-1))-1) {
+                logln(buf.toString());
+            } else {
+                errln(buf.toString());
+            }
+        }
+
+        // Test equivalent IDs API
+
+        int n = ZoneMeta.countEquivalentIDs("PST");
+        boolean ok = false;
+        buf.setLength(0);
+        buf.append("Equivalent to PST: ");
+        for (int i=0; i<n; ++i) {
+            String id = ZoneMeta.getEquivalentID("PST", i);
+            if (id == "America/Los_Angeles") {
+                ok = true;
+            }
+            if (i!=0) buf.append(", ");
+            buf.append(id);
+        }
+        if (ok) {
+            logln(buf.toString());
+        } else {
+            errln(buf.toString());
+        }
+    }
+
+    public void TestComparable() {
+    GregorianCalendar c0 = new GregorianCalendar();
+    GregorianCalendar c1 = new GregorianCalendar();
+    c1.add(Calendar.DAY_OF_MONTH, 1);
+    if (c0.compareTo(c1) >= 0) {
+        errln("calendar " + c0 + " not < " + c1);
+    }
+    c0.add(Calendar.MONTH, 1);
+    if (c0.compareTo(c1) <= 0) {
+        errln("calendar " + c0 + " not > " + c1);
+    }
+
+    c0.setTimeInMillis(c1.getTimeInMillis());
+    if (c0.compareTo(c1) != 0) {
+        errln("calendar " + c0 + " not == " + c1);
+    }
+
+    // coverage
+    try {
+        c0.compareTo((Object)null);
+        errln("calendar.compareTo didn't object to null arg");
+    }
+    catch (NullPointerException npe) {
+        logln("PASS: calendar.compareTo objected to null arg");
+    }
+    }
+
+    /**
+     * Miscellaneous tests to increase coverage.
+     */
+    public void TestCoverage() {
+        // BuddhistCalendar
+        BuddhistCalendar bcal = new BuddhistCalendar();
+        /*int i =*/ bcal.getMinimum(Calendar.ERA);
+        bcal.add(Calendar.YEAR, 1);
+        bcal.add(Calendar.MONTH, 1);
+        /*Date d = */bcal.getTime();
+
+        // CalendarAstronomer
+        // (This class should probably be made package-private.)
+        CalendarAstronomer astro = new CalendarAstronomer();
+        String s = astro.local(0);
+
+        // ChineseCalendar
+        ChineseCalendar ccal = new ChineseCalendar(TimeZone.getDefault(),
+                                                   Locale.getDefault());
+        ccal.add(Calendar.MONTH, 1);
+        ccal.add(Calendar.YEAR, 1);
+        ccal.roll(Calendar.MONTH, 1);
+        ccal.roll(Calendar.YEAR, 1);
+        ccal.getTime();
+
+        // ICU 2.6
+        Calendar cal = Calendar.getInstance(Locale.US);
+        logln(cal.toString());
+        logln(cal.getDisplayName(Locale.US));
+        int weekendOnset=-1;
+        int weekendCease=-1;
+        for (int i=Calendar.SUNDAY; i<=Calendar.SATURDAY; ++i) {
+            if (cal.getDayOfWeekType(i) == Calendar.WEEKEND_ONSET) {
+                weekendOnset = i;
+            }
+            if (cal.getDayOfWeekType(i) == Calendar.WEEKEND_CEASE) {
+                weekendCease = i;
+            }
+        }
+        // can't call this unless we get a transition day (unusual),
+        // but make the call anyway for coverage reasons
+        try {
+            /*int x=*/ cal.getWeekendTransition(weekendOnset);
+            /*int x=*/ cal.getWeekendTransition(weekendCease);
+        } catch (IllegalArgumentException e) {}
+        /*int x=*/ cal.isWeekend(new Date());
+
+        // new GregorianCalendar(ULocale)
+        GregorianCalendar gcal = new GregorianCalendar(ULocale.getDefault());
+        if(gcal==null){
+            errln("could not create GregorianCalendar with ULocale");
+        } else {
+            logln("Calendar display name: " + gcal.getDisplayName(ULocale.getDefault()));
+        }
+
+        //cover getAvailableULocales
+        final ULocale[] locales = Calendar.getAvailableULocales();
+        long count = locales.length;
+        if (count == 0)
+            errln("getAvailableULocales return empty list");
+        logln("" + count + " available ulocales in Calendar.");
+
+        // Jitterbug 4451, for coverage
+        class StubCalendar extends Calendar{
+            protected int handleGetLimit(int field, int limitType) {return 0;}
+            protected int handleComputeMonthStart(int eyear, int month, boolean useMonth) {return 0;}
+            protected int handleGetExtendedYear() {return 0;}
+            public void run(){
+                if (Calendar.gregorianPreviousMonthLength(2000,2) != 29){
+                    errln("Year 2000 Feb should have 29 days.");
+                }
+                long millis = Calendar.julianDayToMillis(Calendar.MAX_JULIAN);
+                if(millis != Calendar.MAX_MILLIS){
+                    errln("Did not get the expected value from julianDayToMillis. Got:" + millis);
+                }
+                DateFormat df = handleGetDateFormat("",Locale.getDefault());
+                if (!df.equals(handleGetDateFormat("",ULocale.getDefault()))){
+                    errln ("Calendar.handleGetDateFormat(String, Locale) should delegate to ( ,ULocale)");
+                }
+                if (!getType().equals("gregorian")){
+                    errln ("Calendar.getType() should be 'gregorian'");
+                }
+            }
+        }
+        StubCalendar stub = new StubCalendar();
+        stub.run();
+    }
+
+    // Tests for jb 4541
+    public void TestJB4541() {
+        ULocale loc = new ULocale("en_US");
+
+        // !!! Shouldn't we have an api like this?
+        // !!! Question: should this reflect those actually available in this copy of ICU, or 
+        // the list of types we assume is available?
+        // String[] calTypes = Calendar.getAvailableTypes();
+        final String[] calTypes = {
+            "buddhist", "chinese", "coptic", "ethiopic", "gregorian", "hebrew", 
+            "islamic", "islamic-civil", "japanese",
+        };
+        
+        // constructing a DateFormat with a locale indicating a calendar type should construct a
+        // date format appropriate to that calendar
+        final Date time = new Date();
+        for (int i = 0; i < calTypes.length; ++i) {
+            ULocale aLoc = loc.setKeywordValue("calendar", calTypes[i]);
+            logln("key: " + aLoc.getDisplayKeyword("calendar") + " val: " + aLoc.getDisplayKeywordValue("calendar"));
+
+            DateFormat df = DateFormat.getDateTimeInstance(DateFormat.FULL,
+                                                           DateFormat.FULL,
+                                                           aLoc);
+
+            logln("df type: " + df.getClass().getName());
+
+            Calendar cal = df.getCalendar();
+            // todo, what about variants of calendars, we have a type for islamic-civil, should we also have a type
+            // for variants of other calendars?
+            assertEquals("calendar types", cal.getType(), calTypes[i].equals("islamic-civil") ? "islamic" : calTypes[i]);
+            DateFormat df2 = cal.getDateTimeFormat(DateFormat.FULL, DateFormat.FULL, ULocale.US);
+            assertEquals("format results", df.format(time), df2.format(time));
+        }
+
+        // dateFormat.setCalendar should throw exception if wrong format for calendar
+        if (false) {
+            DateFormat df = DateFormat.getDateTimeInstance(DateFormat.FULL, 
+                                                           DateFormat.FULL, 
+                                                           new ULocale("en_US@calendar=chinese"));
+
+            logln("dateformat type: " + df.getClass().getName());
+
+            Calendar cal = Calendar.getInstance(new ULocale("en_US@calendar=chinese"));
+                                                
+            logln("calendar type: " + cal.getClass().getName());
+        }
+    }
+}
diff --git a/src/com/ibm/icu/dev/test/calendar/IslamicTest.java b/src/com/ibm/icu/dev/test/calendar/IslamicTest.java
new file mode 100755
index 0000000..15136d1
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/calendar/IslamicTest.java
@@ -0,0 +1,246 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.test.calendar;
+
+import java.util.Date;
+import java.util.Locale;
+
+import com.ibm.icu.impl.LocaleUtility;
+import com.ibm.icu.text.DateFormat;
+import com.ibm.icu.util.Calendar;
+import com.ibm.icu.util.IslamicCalendar;
+import com.ibm.icu.util.TimeZone;
+import com.ibm.icu.util.ULocale;
+
+/**
+ * Tests for the <code>IslamicCalendar</code> class.
+ */
+public class IslamicTest extends CalendarTest {
+    public static void main(String args[]) throws Exception {
+        new IslamicTest().run(args);
+    }
+
+    /** Constants to save typing. */
+    public static final int MUHARRAM = IslamicCalendar.MUHARRAM;
+    public static final int SAFAR =  IslamicCalendar.SAFAR;
+    public static final int RABI_1 =  IslamicCalendar.RABI_1;
+    public static final int RABI_2 =  IslamicCalendar.RABI_2;
+    public static final int JUMADA_1 =  IslamicCalendar.JUMADA_1;
+    public static final int JUMADA_2 =  IslamicCalendar.JUMADA_2;
+    public static final int RAJAB =  IslamicCalendar.RAJAB;
+    public static final int SHABAN =  IslamicCalendar.SHABAN;
+    public static final int RAMADAN =  IslamicCalendar.RAMADAN;
+    public static final int SHAWWAL =  IslamicCalendar.SHAWWAL;
+    public static final int QIDAH =  IslamicCalendar.DHU_AL_QIDAH;
+    public static final int HIJJAH =  IslamicCalendar.DHU_AL_HIJJAH;
+
+    public void TestRoll() {
+        int[][] tests = new int[][] {
+            //       input                roll by          output
+            //  year  month     day     field amount    year  month     day
+    
+            {   0001, QIDAH,     2,     MONTH,   1,     0001, HIJJAH,    2 },   // non-leap years
+            {   0001, QIDAH,     2,     MONTH,   2,     0001, MUHARRAM,  2 },
+            {   0001, QIDAH,     2,     MONTH,  -1,     0001, SHAWWAL,   2 },
+            {   0001, MUHARRAM,  2,     MONTH,  12,     0001, MUHARRAM,  2 },
+            {   0001, MUHARRAM,  2,     MONTH,  13,     0001, SAFAR,     2 },
+
+            {   0001, HIJJAH,    1,     DATE,   30,     0001, HIJJAH,    2 },   // 29-day month
+            {   0002, HIJJAH,    1,     DATE,   31,     0002, HIJJAH,    2 },   // 30-day month
+
+            // Try some rolls that require other fields to be adjusted
+            {   0001, MUHARRAM, 30,     MONTH,   1,     0001, SAFAR,    29 },
+            {   0002, HIJJAH,   30,     YEAR,   -1,     0001, HIJJAH,   29 },
+        };
+       
+        IslamicCalendar cal = newCivil();
+
+        doRollAdd(ROLL, cal, tests);
+    }
+
+    /**
+     * A huge list of test cases to make sure that computeTime and computeFields
+     * work properly for a wide range of data in the civil calendar.
+     */
+    public void TestCivilCases()
+    {
+        final TestCase[] tests = {
+            //
+            // Most of these test cases were taken from the back of
+            // "Calendrical Calculations", with some extras added to help
+            // debug a few of the problems that cropped up in development.
+            //
+            // The months in this table are 1-based rather than 0-based,
+            // because it's easier to edit that way.
+            //                       Islamic
+            //          Julian Day  Era  Year  Month Day  WkDay Hour Min Sec
+            new TestCase(1507231.5,  0, -1245,   12,   9,  SUN,   0,  0,  0),
+            new TestCase(1660037.5,  0,  -813,    2,  23,  WED,   0,  0,  0),
+            new TestCase(1746893.5,  0,  -568,    4,   1,  WED,   0,  0,  0),
+            new TestCase(1770641.5,  0,  -501,    4,   6,  SUN,   0,  0,  0),
+            new TestCase(1892731.5,  0,  -157,   10,  17,  WED,   0,  0,  0),
+            new TestCase(1931579.5,  0,   -47,    6,   3,  MON,   0,  0,  0),
+            new TestCase(1974851.5,  0,    75,    7,  13,  SAT,   0,  0,  0),
+            new TestCase(2091164.5,  0,   403,   10,   5,  SUN,   0,  0,  0),
+            new TestCase(2121509.5,  0,   489,    5,  22,  SUN,   0,  0,  0),
+            new TestCase(2155779.5,  0,   586,    2,   7,  FRI,   0,  0,  0),
+            new TestCase(2174029.5,  0,   637,    8,   7,  SAT,   0,  0,  0),
+            new TestCase(2191584.5,  0,   687,    2,  20,  FRI,   0,  0,  0),
+            new TestCase(2195261.5,  0,   697,    7,   7,  SUN,   0,  0,  0),
+            new TestCase(2229274.5,  0,   793,    7,   1,  SUN,   0,  0,  0),
+            new TestCase(2245580.5,  0,   839,    7,   6,  WED,   0,  0,  0),
+            new TestCase(2266100.5,  0,   897,    6,   1,  SAT,   0,  0,  0),
+            new TestCase(2288542.5,  0,   960,    9,  30,  SAT,   0,  0,  0),
+            new TestCase(2290901.5,  0,   967,    5,  27,  SAT,   0,  0,  0),
+            new TestCase(2323140.5,  0,  1058,    5,  18,  WED,   0,  0,  0),
+            new TestCase(2334848.5,  0,  1091,    6,   2,  SUN,   0,  0,  0),
+            new TestCase(2348020.5,  0,  1128,    8,   4,  FRI,   0,  0,  0),
+            new TestCase(2366978.5,  0,  1182,    2,   3,  SUN,   0,  0,  0),
+            new TestCase(2385648.5,  0,  1234,   10,  10,  MON,   0,  0,  0),
+            new TestCase(2392825.5,  0,  1255,    1,  11,  WED,   0,  0,  0),
+            new TestCase(2416223.5,  0,  1321,    1,  21,  SUN,   0,  0,  0),
+            new TestCase(2425848.5,  0,  1348,    3,  19,  SUN,   0,  0,  0),
+            new TestCase(2430266.5,  0,  1360,    9,   8,  MON,   0,  0,  0),
+            new TestCase(2430833.5,  0,  1362,    4,  13,  MON,   0,  0,  0),
+            new TestCase(2431004.5,  0,  1362,   10,   7,  THU,   0,  0,  0),
+            new TestCase(2448698.5,  0,  1412,    9,  13,  TUE,   0,  0,  0),
+            new TestCase(2450138.5,  0,  1416,   10,   5,  SUN,   0,  0,  0),
+            new TestCase(2465737.5,  0,  1460,   10,  12,  WED,   0,  0,  0),
+            new TestCase(2486076.5,  0,  1518,    3,   5,  SUN,   0,  0,  0),
+        };
+        
+        IslamicCalendar civilCalendar = newCivil();
+        civilCalendar.setLenient(true);
+        doTestCases(tests, civilCalendar);
+    }
+
+    public void TestBasic() {
+        IslamicCalendar cal = newCivil();
+        cal.clear();
+        cal.set(1000, 0, 30);
+        logln("1000/0/30 -> " +
+              cal.get(YEAR) + "/" +
+              cal.get(MONTH) + "/" + 
+              cal.get(DATE));
+        cal.clear();
+        cal.set(1, 0, 30);
+        logln("1/0/30 -> " +
+              cal.get(YEAR) + "/" +
+              cal.get(MONTH) + "/" + 
+              cal.get(DATE));
+    }
+
+    public void TestCoverage() {
+    {
+        // new IslamicCalendar(TimeZone)
+        IslamicCalendar cal = new IslamicCalendar(TimeZone.getDefault());
+        if(cal == null){
+            errln("could not create IslamicCalendar with TimeZone");
+        }
+    }
+
+    {
+        // new IslamicCalendar(ULocale)
+        IslamicCalendar cal = new IslamicCalendar(ULocale.getDefault());
+        if(cal == null){
+            errln("could not create IslamicCalendar with ULocale");
+        }
+    }
+        
+    {
+        // new IslamicCalendar(Locale)
+        IslamicCalendar cal = new IslamicCalendar(Locale.getDefault());
+        if(cal == null){
+            errln("could not create IslamicCalendar with Locale");
+        }
+    }
+
+    {
+        // new IslamicCalendar(Date)
+        IslamicCalendar cal = new IslamicCalendar(new Date());
+        if(cal == null){
+            errln("could not create IslamicCalendar with Date");
+        }
+    }
+
+    {
+        // new IslamicCalendar(int year, int month, int date)
+        IslamicCalendar cal = new IslamicCalendar(800, IslamicCalendar.RAMADAN, 1);
+        if(cal == null){
+            errln("could not create IslamicCalendar with year,month,date");
+        }
+    }
+
+    {
+        // new IslamicCalendar(int year, int month, int date, int hour, int minute, int second)
+        IslamicCalendar cal = new IslamicCalendar(800, IslamicCalendar.RAMADAN, 1, 1, 1, 1);
+        if(cal == null){
+            errln("could not create IslamicCalendar with year,month,date,hour,minute,second");
+        }
+    }
+
+    {
+        // setCivil/isCivil
+        // operations on non-civil calendar
+        IslamicCalendar cal = new IslamicCalendar(800, IslamicCalendar.RAMADAN, 1, 1, 1, 1);
+        cal.setCivil(false);
+        if (cal.isCivil()) {
+        errln("islamic calendar is civil");
+        }
+
+        Date now = new Date();
+        cal.setTime(now);
+
+        Date then = cal.getTime();
+        if (!now.equals(then)) {
+        errln("get/set time failed with non-civil islamic calendar");
+        }
+
+        logln(then.toString());
+
+        cal.add(Calendar.MONTH, 1);
+        cal.add(Calendar.DAY_OF_MONTH, 1);
+        cal.add(Calendar.YEAR, 1);
+
+        logln(cal.getTime().toString());
+    }
+    
+    {
+        // data
+        IslamicCalendar cal = new IslamicCalendar(800, IslamicCalendar.RAMADAN, 1);
+        Date time = cal.getTime();
+
+        String[] calendarLocales = {
+        "ar_AE", "ar_BH", "ar_DZ", "ar_EG", "ar_JO", "ar_KW", "ar_OM", 
+        "ar_QA", "ar_SA", "ar_SY", "ar_YE", "ms_MY"
+        };
+
+        String[] formatLocales = {
+        "en", "ar", "fi", "fr", "hu", "iw", "nl"
+        };
+        for (int i = 0; i < calendarLocales.length; ++i) {
+        String calLocName = calendarLocales[i];
+        Locale calLocale = LocaleUtility.getLocaleFromName(calLocName);
+        cal = new IslamicCalendar(calLocale);
+
+        for (int j = 0; j < formatLocales.length; ++j) {
+            String locName = formatLocales[j];
+            Locale formatLocale = LocaleUtility.getLocaleFromName(locName);
+            DateFormat format = DateFormat.getDateTimeInstance(cal, DateFormat.FULL, DateFormat.FULL, formatLocale);
+            logln(calLocName + "/" + locName + " --> " + format.format(time));
+        }
+        }
+    }
+    }
+
+    private static IslamicCalendar newCivil() {
+        IslamicCalendar civilCalendar = new IslamicCalendar();
+        civilCalendar.setCivil(true);
+        return civilCalendar;
+    }
+    
+}
diff --git a/src/com/ibm/icu/dev/test/calendar/JapaneseTest.java b/src/com/ibm/icu/dev/test/calendar/JapaneseTest.java
new file mode 100644
index 0000000..0227599
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/calendar/JapaneseTest.java
@@ -0,0 +1,170 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2002-2005, International Business Machines Corporation and         *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.test.calendar;
+
+import java.util.Date;
+import java.util.Locale;
+
+import com.ibm.icu.impl.LocaleUtility;
+import com.ibm.icu.text.DateFormat;
+import com.ibm.icu.util.Calendar;
+import com.ibm.icu.util.JapaneseCalendar;
+import com.ibm.icu.util.TimeZone;
+import java.text.ParsePosition;
+import com.ibm.icu.text.SimpleDateFormat;
+import com.ibm.icu.util.ULocale;
+
+/**
+ * Tests for the <code>IslamicCalendar</code> class.
+ */
+public class JapaneseTest extends CalendarTest {
+    public static void main(String args[]) throws Exception {
+        new JapaneseTest().run(args);
+    }
+
+    public void TestCoverage() {
+    {
+        // new JapaneseCalendar(TimeZone)
+        JapaneseCalendar cal = new JapaneseCalendar(TimeZone.getDefault());
+        if(cal == null){
+            errln("could not create JapaneseCalendar with TimeZone");
+        }
+    }
+
+    {
+        // new JapaneseCalendar(ULocale)
+        JapaneseCalendar cal = new JapaneseCalendar(ULocale.getDefault());
+        if(cal == null){
+            errln("could not create JapaneseCalendar with ULocale");
+        }
+    }
+
+    {
+        // new JapaneseCalendar(TimeZone, ULocale)
+        JapaneseCalendar cal = new JapaneseCalendar(TimeZone.getDefault(), ULocale.getDefault());
+        if(cal == null){
+            errln("could not create JapaneseCalendar with TimeZone ULocale");
+        }
+    }
+    
+    {
+        // new JapaneseCalendar(Locale)
+        JapaneseCalendar cal = new JapaneseCalendar(Locale.getDefault());
+        if(cal == null){
+            errln("could not create JapaneseCalendar with Locale");
+        }
+    }
+
+    {
+        // new JapaneseCalendar(TimeZone, Locale)
+        JapaneseCalendar cal = new JapaneseCalendar(TimeZone.getDefault(), Locale.getDefault());
+        if(cal == null){
+            errln("could not create JapaneseCalendar with TimeZone Locale");
+        }
+    }
+
+    {
+        // new JapaneseCalendar(Date)
+        JapaneseCalendar cal = new JapaneseCalendar(new Date());
+        if(cal == null){
+            errln("could not create JapaneseCalendar with Date");
+        }
+    }
+
+    {
+        // new JapaneseCalendar(int year, int month, int date)
+        JapaneseCalendar cal = new JapaneseCalendar(1868, Calendar.JANUARY, 1);
+        if(cal == null){
+            errln("could not create JapaneseCalendar with year,month,date");
+        }
+    }
+
+    {
+        // new JapaneseCalendar(int era, int year, int month, int date)
+        JapaneseCalendar cal = new JapaneseCalendar(JapaneseCalendar.MEIJI, 43, Calendar.JANUARY, 1);
+        if(cal == null){
+            errln("could not create JapaneseCalendar with era,year,month,date");
+        }
+    }
+
+    {
+        // new JapaneseCalendar(int year, int month, int date, int hour, int minute, int second)
+        JapaneseCalendar cal = new JapaneseCalendar(1868, Calendar.JANUARY, 1, 1, 1, 1);
+        if(cal == null){
+            errln("could not create JapaneseCalendar with year,month,date,hour,min,second");
+        }
+    }
+
+    {
+        // limits
+        JapaneseCalendar cal = new JapaneseCalendar();
+        DateFormat fmt = cal.getDateTimeFormat(DateFormat.FULL, DateFormat.FULL, Locale.ENGLISH);
+
+        cal.set(Calendar.ERA, JapaneseCalendar.MEIJI);
+        logln("date: " + cal.getTime());
+        logln("min era: " + cal.getMinimum(Calendar.ERA));
+        logln("min year: " + cal.getMinimum(Calendar.YEAR));
+        cal.set(Calendar.YEAR, cal.getActualMaximum(Calendar.YEAR));
+        logln("date: " + fmt.format(cal.getTime()));
+        cal.add(Calendar.YEAR, 1);
+        logln("date: " + fmt.format(cal.getTime()));
+    }
+    
+    {
+        // data
+        JapaneseCalendar cal = new JapaneseCalendar(1868, Calendar.JANUARY, 1);
+        Date time = cal.getTime();
+
+        String[] calendarLocales = {
+        "en", "ja_JP"
+        };
+
+        String[] formatLocales = {
+        "en", "ja"
+        };
+        for (int i = 0; i < calendarLocales.length; ++i) {
+        String calLocName = calendarLocales[i];
+        Locale calLocale = LocaleUtility.getLocaleFromName(calLocName);
+        cal = new JapaneseCalendar(calLocale);
+
+        for (int j = 0; j < formatLocales.length; ++j) {
+            String locName = formatLocales[j];
+            Locale formatLocale = LocaleUtility.getLocaleFromName(locName);
+            DateFormat format = DateFormat.getDateTimeInstance(cal, DateFormat.FULL, DateFormat.FULL, formatLocale);
+            logln(calLocName + "/" + locName + " --> " + format.format(time));
+        }
+        }
+    }
+    }
+    
+    public void Test3860()
+    {
+        ULocale loc = new ULocale("ja_JP@calendar=japanese");
+        Calendar cal = new JapaneseCalendar(loc);
+        DateFormat enjformat = cal.getDateTimeFormat(0,0,new ULocale("en_JP@calendar=japanese"));
+        DateFormat format = cal.getDateTimeFormat(0,0,loc);
+        ((SimpleDateFormat)format).applyPattern("y.M.d");  // Note: just 'y' doesn't work here.
+        ParsePosition pos = new ParsePosition(0);
+        Date aDate = format.parse("1.1.9", pos); // after the start of heisei accession.  Jan 1, 1H wouldn't work  because it is actually showa 64
+        String inEn = enjformat.format(aDate);
+        
+        cal.clear();
+        cal.setTime(aDate);
+        int gotYear = cal.get(Calendar.YEAR);
+        int gotEra = cal.get(Calendar.ERA);
+        
+        int expectYear = 1;
+        int expectEra = JapaneseCalendar.CURRENT_ERA;
+        
+        if((gotYear != expectYear) || (gotEra != expectEra)) {
+            errln("Expected year " + expectYear + ", era " + expectEra +", but got year " + gotYear + " and era " + gotEra + ", == " + inEn);
+        } else {            
+            logln("Got year " + gotYear + " and era " + gotEra + ", == " + inEn);
+        }
+    }
+}
+
diff --git a/src/com/ibm/icu/dev/test/calendar/TestAll.java b/src/com/ibm/icu/dev/test/calendar/TestAll.java
new file mode 100644
index 0000000..fd0785f
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/calendar/TestAll.java
@@ -0,0 +1,38 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.test.calendar;
+import com.ibm.icu.dev.test.TestFmwk.TestGroup;
+
+/**
+ * Top level test used to run all other calendar tests as a batch.
+ */
+public class TestAll extends TestGroup {
+    public static void main(String[] args) {
+        new TestAll().run(args);
+    }
+
+    public TestAll() {
+        super(
+              new String[] {
+                  "AstroTest",
+                  "CalendarRegression",
+                  "CompatibilityTest",
+                  "CopticTest",
+                  "EthiopicTest",
+                  "HebrewTest",
+                  "IBMCalendarTest",
+                  "IslamicTest",
+                  "JapaneseTest",
+                  "ChineseTest",
+                  "HolidayTest"
+              },
+              "Calendars, Holiday, and Astro tests"
+              );
+    }
+
+    public static final String CLASS_TARGET_NAME = "Calendar";
+}
diff --git a/src/com/ibm/icu/dev/test/calendar/TestCase.java b/src/com/ibm/icu/dev/test/calendar/TestCase.java
new file mode 100755
index 0000000..ff062d7
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/calendar/TestCase.java
@@ -0,0 +1,241 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.test.calendar;
+
+import com.ibm.icu.dev.test.*;
+import com.ibm.icu.util.Calendar;
+import com.ibm.icu.util.GregorianCalendar;
+import com.ibm.icu.util.SimpleTimeZone;
+import java.util.Date;
+import java.util.Locale;
+
+/**
+ * A pseudo <code>Calendar</code> that is useful for testing
+ * new calendars.  A <code>TestCase</code> object is used to hold the
+ * field and millisecond values that the calendar should have at one
+ * particular instant in time.  The applyFields and applyTime
+ * methods are used to apply these settings to the calendar object being
+ * tested, and the equals and fieldsEqual methods are used to ensure
+ * that the calendar has ended up in the right state.
+ */
+public class TestCase {
+
+    //------------------------------------------------------------------
+    // Pseudo-Calendar fields and methods
+    //------------------------------------------------------------------
+
+    protected int[] fields = new int[32];
+    protected boolean[] isSet = new boolean[32];
+    protected long time;
+
+    protected void set(int field, int value) {
+        fields[field] = value;
+        isSet[field] = true;
+    }
+
+    protected int get(int field) {
+        return fields[field];
+    }
+
+    protected boolean isSet(int field) {
+        return isSet[field];
+    }
+
+    protected void setTime(Date d) {
+        time = d.getTime();
+    }
+
+    public Date getTime() {
+        return new Date(time);
+    }
+
+    /**
+     * Return a String representation of this test case's time.
+     */
+    public String toString() {
+        return dowToString(get(Calendar.DAY_OF_WEEK)) + " " +
+            get(Calendar.YEAR) + "/" + (get(Calendar.MONTH)+1) + "/" +
+            get(Calendar.DATE);
+    }
+
+    private static final String[] DOW_NAMES = {
+        "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"
+    };
+
+    public static String dowToString(int dow) {
+        --dow;
+        return (dow < 0 || dow > 6) ?
+            ("<DOW " + dow + ">") : DOW_NAMES[dow];
+    }
+
+    /**
+     * Initialize a TestCase object using a julian day number and
+     * the corresponding fields for the calendar being tested.
+     *
+     * @param era       The ERA field of tested calendar on the given julian day
+     * @param year      The YEAR field of tested calendar on the given julian day
+     * @param month     The MONTH (1-based) field of tested calendar on the given julian day
+     * @param day       The DAY_OF_MONTH field of tested calendar on the given julian day
+     * @param dayOfWeek The DAY_OF_WEEK field of tested calendar on the given julian day
+     * @param hour      The HOUR field of tested calendar on the given julian day
+     * @param min       The MINUTE field of tested calendar on the given julian day
+     * @param sec       The SECOND field of tested calendar on the given julian day
+     */
+    public TestCase(double julian,
+                    int era, int year, int month, int day,
+                    int dayOfWeek,
+                    int hour, int min, int sec)
+    {
+        setTime(new Date(JULIAN_EPOCH + (long)(ONE_DAY * julian)));
+        
+        set(Calendar.ERA, era);
+        set(Calendar.YEAR, year);
+        set(Calendar.MONTH, month - 1);
+        set(Calendar.DATE, day);
+        set(Calendar.DAY_OF_WEEK, dayOfWeek);
+        set(Calendar.HOUR, hour);
+        set(Calendar.MINUTE, min);
+        set(Calendar.SECOND, sec);
+    }
+
+    /**
+     * Initialize a TestCase object using a Gregorian year/month/day and
+     * the corresponding fields for the calendar being tested.
+     *
+     * @param gregYear  The Gregorian year of the date to be tested
+     * @param gregMonth The Gregorian month of the date to be tested
+     * @param gregDay   The Gregorian day of the month of the date to be tested
+     *
+     * @param era       The ERA field of tested calendar on the given gregorian date
+     * @param year      The YEAR field of tested calendar on the given gregorian date
+     * @param month     The MONTH (0-based) field of tested calendar on the given gregorian date
+     * @param day       The DAY_OF_MONTH field of tested calendar on the given gregorian date
+     * @param dayOfWeek The DAY_OF_WEEK field of tested calendar on the given gregorian date
+     * @param hour      The HOUR field of tested calendar on the given gregorian date
+     * @param min       The MINUTE field of tested calendar on the given gregorian date
+     * @param sec       The SECOND field of tested calendar on the given gregorian date
+     */
+    public TestCase(int gregYear, int gregMonth, int gregDay,
+                    int era, int year, int month, int day,
+                    int dayOfWeek,
+                    int hour, int min, int sec)
+    {
+        GregorianCalendar greg = new GregorianCalendar(UTC, Locale.getDefault());
+        greg.clear();
+        greg.set(gregYear, gregMonth-1, gregDay);
+        setTime(greg.getTime());
+        
+        set(Calendar.ERA, era);
+        set(Calendar.YEAR, year);
+        set(Calendar.MONTH, month - 1);
+        set(Calendar.DATE, day);
+        set(Calendar.DAY_OF_WEEK, dayOfWeek);
+        set(Calendar.HOUR, hour);
+        set(Calendar.MINUTE, min);
+        set(Calendar.SECOND, sec);
+    }
+    
+    /**
+     * For subclasses.
+     */
+    protected TestCase() {}
+
+    /**
+     * Apply this test case's field values to another calendar
+     * by calling its set method for each field.  This is useful in combination
+     * with the equal method.
+     *
+     * @see com.ibm.icu.util.Calendar#equals
+     */
+    public void applyFields(Calendar c) {
+        for (int i=0; i < c.getFieldCount(); i++) {
+            if (isSet(i)) {
+                c.set(i, get(i));
+            }
+        }
+    }
+    
+    /**
+     * Apply this test case's time in milliseconds to another calendar
+     * by calling its setTime method.  This is useful in combination
+     * with fieldsEqual
+     *
+     * @see #fieldsEqual
+     */
+    public void applyTime(Calendar c) {
+        c.setTime(new Date(time));
+    }
+
+    /**
+     * Determine whether the fields of this calendar
+     * are the same as that of the other calendar.  This method is useful
+     * for determining whether the other calendar's computeFields method
+     * works properly.  For example:
+     * <pre>
+     *    Calendar testCalendar = ...
+     *    TestCase case = ...
+     *    case.applyTime(testCalendar);
+     *    if (!case.fieldsEqual(testCalendar)) {
+     *        // Error!
+     *    }
+     * </pre>
+     * 
+     * @see #applyTime
+     */
+    public boolean fieldsEqual(Calendar c, TestLog log) {
+        for (int i=0; i < c.getFieldCount(); i++) {
+            if (isSet(i) && get(i) != c.get(i)) {
+                StringBuffer buf = new StringBuffer();
+                buf.append("Fail: " + CalendarTest.fieldName(i) + " = " + c.get(i) +
+                          ", expected " + get(i));
+                for (int j=0; j<c.getFieldCount(); ++j) {
+                    if (isSet(j)) {
+                        if (get(j) == c.get(j)) {
+                            buf.append("\n  ok: " + CalendarTest.fieldName(j) + " = " +
+                                      c.get(j));
+                        } else {
+                            buf.append("\n  fail: " + CalendarTest.fieldName(j) + " = " +
+                                      c.get(j) + ", expected " + get(j));
+                        }
+                    }
+                }
+                log.errln(buf.toString());
+                return false;
+            }
+        }
+        
+        return true;
+    }
+    
+    /**
+     * Determine whether time in milliseconds of this calendar
+     * is the same as that of the other calendar.  This method is useful
+     * for determining whether the other calendar's computeTime method
+     * works properly.  For example:
+     * <pre>
+     *    Calendar testCalendar = ...
+     *    TestCase case = ...
+     *    case.applyFields(testCalendar);
+     *    if (!case.equals(testCalendar)) {
+     *        // Error!
+     *    }
+     * </pre>
+     * 
+     * @see #applyFields
+     */
+    public boolean equals(Object obj) {
+        return time == ((Calendar)obj).getTime().getTime();
+    }
+    
+    protected static final int  ONE_SECOND = 1000;
+    protected static final int  ONE_MINUTE = 60*ONE_SECOND;
+    protected static final int  ONE_HOUR   = 60*ONE_MINUTE;
+    protected static final long ONE_DAY    = 24*ONE_HOUR;
+    protected static final long JULIAN_EPOCH = -210866760000000L;   // 1/1/4713 BC 12:00
+
+    public final static SimpleTimeZone UTC = new SimpleTimeZone(0, "GMT");
+}
diff --git a/src/com/ibm/icu/dev/test/calendar/package.html b/src/com/ibm/icu/dev/test/calendar/package.html
new file mode 100755
index 0000000..ccb8858
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/calendar/package.html
@@ -0,0 +1,12 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html>
+<head>
+<!--  Copyright (C) 2000-2004, International Business Machines Corporation and
+  others. All Rights Reserved.
+
+-->
+</head>
+<body bgcolor="white">
+Tests for the calendar classes.
+</body>
+</html>
\ No newline at end of file
diff --git a/src/com/ibm/icu/dev/test/charsetdet/CharsetDetectionTests.xml b/src/com/ibm/icu/dev/test/charsetdet/CharsetDetectionTests.xml
new file mode 100644
index 0000000..03c3f82
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/charsetdet/CharsetDetectionTests.xml
@@ -0,0 +1,553 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!-- Copyright (c) 2005 IBM Corporation and others. All rights reserved -->
+<!-- See individual test cases for their specific copyright. -->
+
+<charset-detection-tests>
+    <test-case id="IUC10-ar" encodings="UTF-8 UTF-32BE UTF-32LE ISO-8859-6/ar windows-1256/ar">
+    <!-- Copyright © 1991-2005 Unicode, Inc. All rights reserved. -->
+
+    أوروبا, برمجيات الحاسوب + انترنيت :
+    تصبح عالميا مع يونيكود
+    IUC10
+    تسجّل الآن لحضور المؤتمر الدولي العاشر ليونيكود, الذي سيعقد في 10-12 آذار 1997 بمدينة ماينتس,
+    ألمانيا. وسيجمع المؤتمر بين خبراء من كافة قطاعات الصناعة على الشبكة العالمية انترنيت ويونيكود, حيث ستتم,
+    على الصعيدين الدولي والمحلي على حد سواء مناقشة سبل استخدام يونكود في النظم القائمة وفيما يخص التطبيقات
+    الحاسوبية, الخطوط, تصميم النصوص والحوسبة متعددة اللغات. 
+
+    Unicode
+    عندما يريد العالم أن يتكلّم, فهو يتحدّث بلغة يونيكود
+
+    </test-case>
+
+    <test-case id="IUC10-da-Q" encodings="UTF-8 UTF-32BE UTF-32LE windows-1252/da">
+    <!-- Copyright © 1991-2005 Unicode, Inc. All rights reserved. -->
+
+    Europa, Software + Internet:
+    Bliv global med Unicode
+    IUC10
+    Indskriv dig nu til den tiende internationale Unicode-konference, der holdes den 10-12
+    marts 1997 i Mainz, Tyskland. Konferencen samler eksperter fra hele verden inden for det
+    globale Internet og Unicode, internationalisering og lokalisering, implementering af
+    Unicode i styresystemer og programmer, skrifttyper, tekst-layout og flersproget databehandling.
+
+    Unicode
+    Når verden vil tale, taler den “Unicode.”
+
+    </test-case>
+
+    <test-case id="IUC10-da" encodings="UTF-8 UTF-32BE UTF-32LE ISO-8859-1/da">
+    <!-- Copyright © 1991-2005 Unicode, Inc. All rights reserved. -->
+
+    Europa, Software + Internet:
+    Bliv global med Unicode
+    IUC10
+    Indskriv dig nu til den tiende internationale Unicode-konference, der holdes den 10-12
+    marts 1997 i Mainz, Tyskland. Konferencen samler eksperter fra hele verden inden for det
+    globale Internet og Unicode, internationalisering og lokalisering, implementering af
+    Unicode i styresystemer og programmer, skrifttyper, tekst-layout og flersproget databehandling.
+
+    Unicode
+    Når verden vil tale, taler den Unicode.
+
+    </test-case>
+
+    <test-case id="IUC10-de" encodings="UTF-8 UTF-32BE UTF-32LE ISO-8859-1/de">
+    <!-- Copyright © 1991-2005 Unicode, Inc. All rights reserved. -->
+
+    Europa, Software + das Internet:
+    International mit Unicode
+    IUC10
+    Melden Sie sich jetzt für die 10. Internationale Unicode Konferenz an, die in der Zeit vom 10.-12. März 1997 in
+    Mainz stattfinden wird. Die Konferenz ist ein Treffpunkt für Betriebsexperten aus den Bereichen globales
+    Internet und Unicode, Internationalisierung und Lokalisierung, die Implementierung von Unicode in
+    Betriebssystemen und Programmen, sowie für Schriftarten, Textlayout und mehrsprachige Computeranwendungen.
+
+    Unicode
+    Wenn die Welt miteinander spricht, spricht sie Unicode.
+
+    </test-case>
+
+    <!-- No UTF-8 in this test because there are no non-ASCII characters. -->
+    <test-case id="IUC10-en" encodings="UTF-32BE UTF-32LE ISO-8859-1/en">
+    <!-- Copyright © 1991-2005 Unicode, Inc. All rights reserved. -->
+
+    Europe, Software + the Internet:
+    Going Global with Unicode
+    IUC10
+    Register now for the Tenth International Unicode Conference, to be held on March 10-12, 1997,
+    in Mainz, Germany. The Conference will bring together industry-wide experts on the global Internet and
+    Unicode, internationalization and localization, implementation of Unicode in operating systems and applications,
+    fonts, text layout, and multilingual computing.
+
+    Unicode
+    When the world wants to talk, it speaks Unicode.
+
+    </test-case>
+
+    <test-case id="IUC10-es" encodings="UTF-8 UTF-32BE UTF-32LE ISO-8859-1/es">
+    <!-- Copyright © 1991-2005 Unicode, Inc. All rights reserved. -->
+
+    Europa, Software + el Internet:
+    Mundializando con Unicode
+    IUC10
+    Inscríbase ahora para la Décima Conferencia Internacional Unicode, que tendrá lugar del 10 al 12 de marzo de
+    1997 en Maguncia, Alemania. La Conferencia reunirá expertos de los sectores de la mundialización del Internet y
+    Unicode, la internacionalización y localización, implementación de Unicode en sistemas operativos y aplicaciones,
+    tipos, composición de texto e informática multilingüe.
+
+    Unicode
+    Cuando el mundo quiere conversar, habla Unicode.
+
+    </test-case>
+
+    <test-case id="IUC10-fr" encodings="UTF-8 UTF-32BE UTF-32LE ISO-8859-1/fr">
+    <!-- Copyright © 1991-2005 Unicode, Inc. All rights reserved. -->
+
+    L'Europe, le logiciel et l'Internet :
+    la mondialisation avec Unicode
+    IUC10
+    Inscrivez-vous dès maintenant à la dixième Conférence internationale sur Unicode, qui se tiendra du 10 au 12
+    mars 1997 à Mayence, en Allemagne. Cette conférence rassemblera des experts de tous les horizons industriels
+    sur les sujets suivants : l'Internet mondial et Unicode, l'internationalisation et l'adaptation locale,
+    l'implémentation d'Unicode dans les systèmes d'exploitation et les applications, les polices de caractères,
+    la disposition de texte, l'informatique plurilingue.
+
+    Unicode
+    Quand le monde veut communiquer, il parle en Unicode.
+
+    </test-case>
+
+    <test-case id="IUC10-he" encodings="UTF-8 UTF-32BE UTF-32LE ISO-8859-8/he">
+    <!-- Copyright © 1991-2005 Unicode, Inc. All rights reserved. -->
+
+    אירופה, תוכנה והאינטרנט:
+    Unicode יוצא לשוק העולמי
+    IUC10
+    הירשמו כעת לכנס Unicode הבינלאומי העשירי, שייערך בין התאריכים 12-10 במרץ 1997, במיינץ שבגרמניה. בכנס
+    ישתתפו מומחים מכל ענפי התעשייה בנושא האינטרנט העולמי וה-Unicode, בהתאמה לשוק הבינלאומי והמקומי, ביישום
+    Unicode במערכות הפעלה וביישומים, בגופנים, בפריסת טקסט ובמחשוב רב-לשוני.
+
+    Unicode
+    כאשר העולם רוצה לדבר, הוא מדבר ב-Unicode
+
+    </test-case>
+
+    <test-case id="IUC10-he-Q" encodings="UTF-8 UTF-32BE UTF-32LE windows-1255/he">
+    <!-- Copyright © 1991-2005 Unicode, Inc. All rights reserved. -->
+
+    אירופה, תוכנה והאינטרנט:
+    Unicode יוצא לשוק העולמי
+    IUC10
+    הירשמו כעת לכנס Unicode הבינלאומי העשירי, שייערך בין התאריכים 12-10 במרץ 1997, במיינץ שבגרמניה. בכנס
+    ישתתפו מומחים מכל ענפי התעשייה בנושא האינטרנט העולמי וה-Unicode, בהתאמה לשוק הבינלאומי והמקומי, ביישום
+    Unicode במערכות הפעלה וביישומים, בגופנים, בפריסת טקסט ובמחשוב רב-לשוני.
+
+    Unicode
+    כאשר העולם רוצה לדבר, הוא מדבר -“Unicode.”
+
+    </test-case>
+
+    <test-case id="IUC10-hu" encodings="UTF-8 UTF-32BE UTF-32LE ISO-8859-2/hu">
+    <!-- Copyright © 1991-2005 Unicode, Inc. All rights reserved. -->
+
+    Európa, a Szoftver s az Internet -
+    Globálissá Változik a Unicode Által
+    IUC10
+    Iratkozzon már most a Tizedik Nemzetközi Unicode Konferenciára, amely Március 10-12 1997
+    lesz megtartva, Meinz-be, Németországba. Ebben a Konferencián az iparág szerte sok szakértő
+    fog részt venni: a globális Internet s Unicode nemzetközisítése s lokalizálása, a
+    Unicode beteljesítése a működő rendszerekben s alkalmazásokban, fontokba, szöveg
+    térbeosztásba s többnyelvű computerekben.
+
+    Unicode
+    Ha a világ beszélni akar, azt Unicode-ul mondja.
+
+    </test-case>
+
+    <test-case id="IUC10-hu-Q" encodings="UTF-8 UTF-32BE UTF-32LE windows-1250/hu">
+    <!-- Copyright © 1991-2005 Unicode, Inc. All rights reserved. -->
+
+    Európa, a Szoftver s az Internet -
+    Globálissá Változik a Unicode Által
+    IUC10
+    Iratkozzon már most a Tizedik Nemzetközi Unicode Konferenciára, amely Március 10-12 1997
+    lesz megtartva, Meinz-be, Németországba. Ebben a Konferencián az iparág szerte sok szakértő
+    fog részt venni: a globális Internet s Unicode nemzetközisítése s lokalizálása, a
+    Unicode beteljesítése a működő rendszerekben s alkalmazásokban, fontokba, szöveg
+    térbeosztásba s többnyelvű computerekben.
+
+    Unicode
+    Ha a világ beszélni akar, azt “Unicode”-ul mondja.
+
+    </test-case>
+
+    <test-case id="IUC10-it" encodings="UTF-8 UTF-32BE UTF-32LE ISO-8859-1/it">
+    <!-- Copyright © 1991-2005 Unicode, Inc. All rights reserved. -->
+
+    Europa, software e Internet:
+    Globalizzazione con Unicode
+    IUC10
+    Iscrivetevi subito alla X Conferenza Internazionale su Unicode, che si terrà dal 10 al 12 marzo 1997 a
+    Mainz in Germania. Alla Conferenza parteciperanno esperti di tutti i settori per discutere di Internet globale e
+    Unicode, internazionalizzazione e localizzazione, implementazione di Unicode in sistemi operativi e applicazioni,
+    caratteri, composizione dei testi ed elaborazione multilingue.
+
+    Unicode
+    Quando il mondo vuole comunicare, parla Unicode.
+
+    </test-case>
+
+    <!-- No EUC-JP in this test because it detects as GB18030 -->
+    <test-case id="IUC10-jp" encodings="UTF-8 UTF-32BE UTF-32LE Shift_JIS ISO-2022-JP">
+    <!-- Copyright © 1991-2005 Unicode, Inc. All rights reserved. -->
+
+    ヨーロッパ、ソフトウェア、そしてインターネット:
+    Unicode でグローバル化を狙って
+    IUC10
+    第 10 回の Unicode 会議は 1997 年 3 月 10-12日、ドイツのマインツで開かれます。参加希望の方は今すぐ登録してください。
+    この会議では、グローバルなインタネット、Unicode、ソフトウェアの国際化およびローカリゼーション、OS およびアプリケーションでの
+    Unicode のインプリメンテーション、フォント、テキスト表示、マルチ言語コンピューティングにおける業界の専門家が集まります。
+
+    Unicode
+    世界的に話すなら、Unicode です。
+
+    </test-case>
+
+    <test-case id="IUC10-ko" encodings="UTF-8 UTF-32BE UTF-32LE EUC-KR ISO-2022-KR">
+    <!-- Copyright © 1991-2005 Unicode, Inc. All rights reserved. -->
+
+    유럽, 소프트웨어 그리고 인터넷:
+    유니코드와 함께 세계로
+    IUC10
+    제10회 유니코드 국제 회의가 1997년 3월 10일부터 12일까지 독일의 마인즈에서 열립니다. 지금 등록하십시오.
+    이 회의에서는 업계 전반의 전문가들이 함께 모여 다음과 같은 분야를 다룹니다. - 인터넷과 유니코드, 국제화와 지역화,
+    운영 체제와 응용 프로그램에서 유니코드의 구현, 글꼴, 문자 배열, 다국어 컴퓨팅.
+
+    Unicode
+    세계를 향한 대화, 유니코드로 하십시오
+
+    </test-case>
+
+    <!-- No UTF-8 in this test because there are no non-ASCII characters. -->
+    <test-case id="IUC10-nl" encodings="UTF-32BE UTF-32LE ISO-8859-1/nl">
+    <!-- Copyright © 1991-2005 Unicode, Inc. All rights reserved. -->
+
+    Europa, Software + het Internet:
+    wereldwijd met Unicode
+    IUC10
+    Meld u nu aan voor de Tiende Internationale Unicode-conferentie, die van 10 tot 12 maart 1997 in
+    Mainz (Duitsland) wordt gehouden. De Conferentie is een ontmoetingsplaats voor experts uit de industrie op het
+    gebied van het wereldwijde Internet en Unicode, internationalisatie en localisatie, implementatie van Unicode in
+    besturingssystemen en applicaties, lettertypes, tekstopmaak en meertalig computergebruik.
+
+    Unicode
+    Als de wereld wil praten, spreekt hij Unicode.
+
+    </test-case>
+
+    <!-- No language for ISO-8859-1 in this test because no-BO is recogonized as Danish... -->
+    <test-case id="IUC10-no-BO" encodings="UTF-8 UTF-32BE UTF-32LE ISO-8859-1">
+    <!-- Copyright © 1991-2005 Unicode, Inc. All rights reserved. -->
+
+    Europa, Programvare og Internet:
+    Global fokus med Unicode
+    IUC10
+    Registrer deg som deltager på den tiende inernasjonale Unicode konferansen i Mainz, Tyskland, fra 10. til 12. mars,
+    1997. Konferansen vil samle eksperter på Internet, Unicode, internasjonalisering og integrasjon av Unicode i
+    operativsystemer og programmer, fonter, tekst layout og flerspråklig databehandling.
+
+    Unicode
+    Når verden vil snakke, snakker den Unicode
+
+    </test-case>
+
+    <test-case id="IUC10-no-NY" encodings="UTF-8 UTF-32BE UTF-32LE ISO-8859-1/no">
+    <!-- Copyright © 1991-2005 Unicode, Inc. All rights reserved. -->
+
+    Europa, programvare og Internett:
+    Femn verda med Unicode
+    IUC10
+    Meld deg på den 10. internasjonale Unicode-konferansen. Han går føre seg i Mainz i Tyskland i dagane 10.--12. mars
+    1997, og samlar fagkunnige innan konferansetemaet frå heile databransjen. Tema: Det globale Internettet og
+    Unicode, internasjonalisering og nasjonal tilpassing, implementering av Unicode i operativsystem og brukarprogram,
+    skriftsnitt (fontar), tekstutlegg, og fleirspråkleg databehandling.
+
+    Unicode
+    Når verda ønskjer å snakke, talar ho Unicode
+
+    </test-case>
+
+    <test-case id="IUC10-pt-BR" encodings="UTF-8 UTF-32BE UTF-32LE ISO-8859-1/pt">
+    <!-- Copyright © 1991-2005 Unicode, Inc. All rights reserved. -->
+
+    Europa, Software e a Internet:
+    Globalização com o Unicode
+    IUC10
+    Inscreva-se agora para a Décima Conferência Internacional Sobre O Unicode, realizada entre os dias 10 e 12 de
+    março de 1997 em Mainz na Alemanha. A Conferência reunirá peritos de todas as áreas da indústria especializados
+    em assuntos relacionados com a Internet global e o Unicode, internacionalização e localização de software,
+    implementação do Unicode em sistemas operacionais e aplicativos, fontes, layout de texto e informática multilíngüe.
+
+    Unicode
+    Quando o mundo quer falar, fala Unicode.
+
+    </test-case>
+
+    <test-case id="IUC10-pt-PT" encodings="UTF-8 UTF-32BE UTF-32LE ISO-8859-1/pt">
+    <!-- Copyright © 1991-2005 Unicode, Inc. All rights reserved. -->
+
+    Europa, Software e a Internet:
+    Globalização com o Unicode
+    IUC10
+    Inscreva-se agora para a Décima Conferência Internacional Sobre O Unicode, a ser realizada entre os dias 10 e 12
+    de Março de 1997 em Mainz na Alemanha. A Conferência reunirá peritos de todas as áreas da indústria
+    especializados em assuntos relacionados com a Internet global e o Unicode, internacionalização e localização de
+    software, implementação do Unicode em sistemas operativos e aplicações, tipos de letra, esquematização de
+    texto e informática multilíngue.
+
+    Unicode
+    Quando o mundo quer falar, fala Unicode.
+
+    </test-case>
+
+    <test-case id="IUC10-ro" encodings="UTF-8 UTF-32BE UTF-32LE ISO-8859-2/ro">
+    <!-- Copyright © 1991-2005 Unicode, Inc. All rights reserved. -->
+
+    Europa, Software şi Internet:
+    Globalizarea cu Unicode
+    IUC10
+    Inscrieţi-vă acum la a Zecea Conferinţă Internaţională "Unicode" ce va avea loc in
+    perioada de 10-12 martie, 1997 în Mainz, Germania. Conferinţa va întruni experţi din
+    variate domenii: Internet global şi Unicode, internaţionalizare şi localizare,
+    implementarede Unicode în sisteme de operare şi aplicaţii, fonturi, aranjare de text în
+    pagină, computerizare multilinguală.
+
+    Unicode
+    Când lumea vrea să comunice, vorbeşte Unicode.
+
+    </test-case>
+
+    <test-case id="IUC10-ru" encodings="UTF-8 UTF-32BE UTF-32LE ISO-8859-5/ru windows-1251/ru KOI8-R/ru">
+    <!-- Copyright © 1991-2005 Unicode, Inc. All rights reserved. -->
+
+    Европа, Программное обеспечение + Интернет:
+    Unicode в глобальных масштабах
+    IUC10
+    Зарегистрируйтесь сейчас на Десятую Международную Конференцию по Unicode, которая состоится
+    10-12 марта 1997 года в Майнце в Германии. Конференция соберет широкий круг экспертов по и
+    вопросам глобального Интернета и Unicode, локализации и интернационализации, воплощению
+    применению Unicode в различных операционных системах и программных приложениях,
+    шрифтах, верстке и многоязычных компьютерных системах.
+
+    Unicode
+    Когда мир желает общаться, он общается на Unicode.
+
+    </test-case>
+
+    <test-case id="IUC10-sv" encodings="UTF-8 UTF-32BE UTF-32LE ISO-8859-1/sv">
+    <!-- Copyright © 1991-2005 Unicode, Inc. All rights reserved. -->
+
+    Europa, programvara och Internet:
+    globalisera med Unicode
+    IUC10
+    Anmäl Dig till den tionde internationella Unicode-konferensen, som hålls den 10-12 mars 1997 i Mainz,
+    Tyskland. Vid konferensen kommer experter inom följande områden att delta: det globala Internet och Unicode,
+    internationalisering och lokalisering, implementering av Unicode i operativsystem, tillämpningar, typsnitt,
+    textlayout och mångspråklig datoranvändning.
+
+    Unicode
+    När världen vill tala, så talar den Unicode.
+
+    </test-case>
+
+    <test-case id="IUC10-yi" encodings="UTF-8 UTF-32BE UTF-32LE">
+    <!-- Copyright © 1991-2005 Unicode, Inc. All rights reserved. -->
+
+    אײראָפּע: פּראָגראַמװאַרג און די װעלטנעץ:
+    אוניקאָד איבער דער גאָרער װעלט
+    IUC10
+    פֿאַרשרײַבט זיך שױן אױף דער צענטער אינטערנאַציאָנאַלער אוניקאָד-קאָנפֿערענץ, װאָס װעט פֿאָרקומען דעם
+    10טן ביזן 12טן מאַרץ, 1997, אין מײַנץ, דײַטשלאַנד. די קאָנפֿערענץ װעט צוזאַמענברענגן מבֿינים פֿון װעלטנעץ,
+     אוניקאָד, אי אַלװעלטלעכן אי סבֿיבֿהדיקן פּראָגראַמװאַרג, אַרײַנשטעלן אוניקאָד אין אָפּעריר-סיסטעמען און
+    אָנװענדונגען, שריפֿטן, טעקסט-אױסשטעל, און מערשפּראַכיקע קאָמפּיוטערײַ.
+
+    Unicode
+    אַז די װעלט װיל רעדן, רעדט זי אוניקאָד
+
+    </test-case>
+
+    <!-- test-case id="IUC10-zh-Hant" encodings="UTF-8 UTF-32BE UTF-32LE ISO-2022-CN GB18030" -->
+    <!-- Copyright © 1991-2005 Unicode, Inc. All rights reserved. -->
+
+    <!--
+    歐洲，軟體及網際網路：
+    讓統一碼（Unicode）領你進入全世界
+    IUC10
+    你現在就應報名將在１９９７年３月１０至１２日於德國美姿城（Mainz）召開的第十屆國際統一碼研討會。
+    本次研討會將邀請多位業界專家研討關於全球網際網路及統一碼發展、國際化及本土化、
+    支援統一碼的作業系統及應用程式、字型、文字排版、電腦多國語文化等多項課題。
+
+    Unicode
+    當世界需要溝通時，請用統一碼（Unicode）
+    -->
+
+    <!-- /test-case -->
+
+    <!-- No ISO-2022-CN in this test because Java doesn't support it in both directions :-( -->
+    <test-case id="IUC10-zh-Hans" encodings="UTF-8 UTF-32BE UTF-32LE ISO-2022-CN GB18030">
+    <!-- Copyright © 1991-2005 Unicode, Inc. All rights reserved. -->
+
+    欧洲，软件＋互联网
+    用统一码 (Unicode) 走遍世界
+    IUC10
+    将于1997年 3 月10日－12日在德国 Mainz 市举行的第十届统一码国际研讨会现在开始注册。
+    本次会议将汇集各方面的专家。涉及的领域包括：国际互联网和统一码，国际化和本地化，
+    统一码在操作系统和应用软件中的实现，字型，文本格式以及多文种计算等。
+
+    Unicode
+    当世界需要沟通时，请用Unicode！
+
+Conference Program
+    </test-case>
+
+    <test-case id="WIU-cz" encodings="UTF-8 UTF-32BE UTF-32LE ISO-8859-2/cs">
+    <!-- Copyright © 1991-2005 Unicode, Inc. All rights reserved. -->
+
+    Co je Unicode?
+
+    Unicode přiřazuje každému znaku jedinečné číslo,
+    nezávisle na platformě,
+    nezávisle na programu,
+    nezávisle na jazyce.
+
+    Počítače, ze své podstaty, pracují pouze s čísly. Písmena a další znaky ukládají tak, že každému z nich
+    přiřadí číslo. Před vznikem Unicode existovaly stovky rozdílných kódovacích systémů pro přiřazování těchto
+    čísel. Žádné z těchto kódování nemohlo obsahovat dostatek znaků: například Evropská unie sama potřebuje
+    několik různých kódování, aby pokryla všechny své jazyky. Dokonce i pro jeden jediný jazyk, jako je angličtina,
+    nevyhovovalo žádné kódování pro všechny písmena, interpunkci a běžně používané technické symboly.
+
+    Tyto kódovací systémy také byly v konfliktu jeden s druhým. To znamená, že dvě kódování mohou používat
+    stejné číslo pro dva různé znaky, nebo používat různá čísla pro stejný znak. Jakýkoli počítač (zvláště servery)
+    musí podporovat mnoho různých kódování; přesto, kdykoli jsou data předávána mezi různými kódováními nebo
+    platformami, hrozí, že tato data budou poškozena.
+
+    </test-case>
+
+    <test-case id="WIU-el" encodings="UTF-8 UTF-32BE UTF-32LE ISO-8859-7/el">
+    <!-- Copyright © 1991-2005 Unicode, Inc. All rights reserved. -->
+
+    Τι είναι το Unicode;
+
+    Η κωδικοσελίδα Unicode προτείνει έναν και μοναδικό αριθμό για κάθε χαρακτήρα,
+    ανεξάρτητα από το λειτουργικό σύστημα,
+    ανεξάρτητα από το λογισμικό,
+    ανεξάρτητα από την γλώσσα.
+
+    Οι ηλεκτρονικοί υπολογιστές, σε τελική ανάλυση, χειρίζονται απλώς αριθμούς. Αποθηκεύουν γράμματα και
+    άλλους χαρακτήρες αντιστοιχώντας στο καθένα τους από έναν αριθμό (ονομάζουμε μία τέτοια αντιστοιχία
+    κωδικοσελίδα). Πριν την εφεύρεση του Unicode, υπήρχαν εκατοντάδες διαφορετικές κωδικοσελίδες. Λόγω
+    περιορισμών μεγέθους όμως, σε καμία κωδικοσελίδα δεν χωρούσαν αρκετοί χαρακτήρες: λόγου χάριν,
+    η Ευρωπαϊκή Ένωση χρειαζόταν πλήθος διαφορετικών κωδικοσελίδων για να καλύψει όλες τις γλώσσες των
+    χωρών-μελών της. Ακόμα και για μία και μόνη γλώσσα, όπως π.χ. τα Αγγλικά, μία κωδικοσελίδα δεν
+    επαρκούσε για να καλύψει όλα τα γράμματα, σημεία στίξης και τεχνικά σύμβολα ευρείας χρήσης.
+
+    Εκτός αυτού, οι κωδικοσελίδες αυτές διαφωνούσαν μεταξύ τους. Έτσι, δύο κωδικοσελίδες μπορούσαν κάλλιστα να
+    χρησιμοποιούν τον ίδιο αριθμό για δύο διαφορετικούς χαρακτήρες, ή να χρησιμοποιούν διαφορετικούς αριθμούς για
+    τον ίδιο χαρακτήρα. Κάθε υπολογιστής (και ιδίως εάν ήταν διακομιστής) έπρεπε να υποστηρίζει πλήθος διαφορετικών
+    κωδικοσελίδων· ταυτόχρονα κάθε φορά που δεδομένα μεταφέρονταν μεταξύ διαφορετικών κωδικοσελίδων ή
+    λειτουργικών συστημάτων, τα δεδομένα αυτά κινδύνευαν να αλλοιωθούν.
+
+    </test-case>
+
+    <test-case id="WIU-el-Q" encodings="UTF-8 UTF-32BE UTF-32LE windows-1253/el">
+    <!-- Copyright © 1991-2005 Unicode, Inc. All rights reserved. -->
+
+    Τι είναι το “Unicode”;
+
+    Η κωδικοσελίδα Unicode προτείνει έναν και μοναδικό αριθμό για κάθε χαρακτήρα,
+    ανεξάρτητα από το λειτουργικό σύστημα,
+    ανεξάρτητα από το λογισμικό,
+    ανεξάρτητα από την γλώσσα.
+
+    Οι ηλεκτρονικοί υπολογιστές, σε τελική ανάλυση, χειρίζονται απλώς αριθμούς. Αποθηκεύουν γράμματα και
+    άλλους χαρακτήρες αντιστοιχώντας στο καθένα τους από έναν αριθμό (ονομάζουμε μία τέτοια αντιστοιχία
+    κωδικοσελίδα). Πριν την εφεύρεση του Unicode, υπήρχαν εκατοντάδες διαφορετικές κωδικοσελίδες. Λόγω
+    περιορισμών μεγέθους όμως, σε καμία κωδικοσελίδα δεν χωρούσαν αρκετοί χαρακτήρες: λόγου χάριν,
+    η Ευρωπαϊκή Ένωση χρειαζόταν πλήθος διαφορετικών κωδικοσελίδων για να καλύψει όλες τις γλώσσες των
+    χωρών-μελών της. Ακόμα και για μία και μόνη γλώσσα, όπως π.χ. τα Αγγλικά, μία κωδικοσελίδα δεν
+    επαρκούσε για να καλύψει όλα τα γράμματα, σημεία στίξης και τεχνικά σύμβολα ευρείας χρήσης.
+
+    Εκτός αυτού, οι κωδικοσελίδες αυτές διαφωνούσαν μεταξύ τους. Έτσι, δύο κωδικοσελίδες μπορούσαν κάλλιστα να
+    χρησιμοποιούν τον ίδιο αριθμό για δύο διαφορετικούς χαρακτήρες, ή να χρησιμοποιούν διαφορετικούς αριθμούς για
+    τον ίδιο χαρακτήρα. Κάθε υπολογιστής (και ιδίως εάν ήταν διακομιστής) έπρεπε να υποστηρίζει πλήθος διαφορετικών
+    κωδικοσελίδων· ταυτόχρονα κάθε φορά που δεδομένα μεταφέρονταν μεταξύ διαφορετικών κωδικοσελίδων ή
+    λειτουργικών συστημάτων, τα δεδομένα αυτά κινδύνευαν να αλλοιωθούν.
+
+    </test-case>
+
+    <test-case id="WIU-pl" encodings="UTF-8 UTF-32BE UTF-32LE ISO-8859-2/pl">
+    <!-- Copyright © 1991-2005 Unicode, Inc. All rights reserved. -->
+
+    Czym jest Unikod ?
+
+    Unikod przypisuje unikalny numer każdemu znakowi, niezależny od używanej platformy, programu czy języka.
+
+    Zasadniczo, komputery rozumieją tylko liczby. Zapisują litery i inne znaki przypisując każdemu z nich liczbę.
+    Nim powstał Unikod, było wiele różnych systemów kodowania przypisujących te liczby. Brakowało jednego,
+    który mógłby pomieścić wystarczająco dużą liczbę znaków. Przykładowo, sama Unia Europejska potrzebowała
+    kilku różnych kodowań, by móc używać wszystkich używanych w niej języków. Nawet dla pojedynczego języka
+    takiego jak np. angielski brakowało jednego kodowania, które byłoby odpowiednie dla zaprezentowania
+    wszystkich liter, znaków przestankowych i popularnych symboli technicznych.
+
+    Innym problemem było, że kodowania te kolidowały ze sobą. Dwa, różne kodowania używały jednej liczby dla dwu
+    różnych znaków lub różnych liczb dla tego samego znaku. Wszystkie komputery (między innymi serwery) muszą
+    wspierać wszystkie te kodowania, gdyż dane przesyłane między różnymi systemami operacyjnymi zawsze
+    narażone są na uszkodzenie.
+
+    </test-case>
+
+    <test-case id="WIU-tr" encodings="UTF-8 UTF-32BE UTF-32LE ISO-8859-9/tr">
+    <!-- Copyright © 1991-2005 Unicode, Inc. All rights reserved. -->
+
+    Evrensel Kod Nedir?
+
+    Evrensel Kod her yazı karakteri için bir ve yalnız bir sayı şart koşar,
+    hangi altyapı,
+    hangi yazılım,
+    hangi dil olursa olsun.
+
+    İlke olarak, bilgisayarlar sadece sayılarla işlem yaparlar. Kelimelerin ve yazı karakterlerinin her biri için
+    birer sayı atarlar ve böyle saklarlar. Evrensel Kod keşfedilmeden önce, bu sayıları atamak için birçok şifreleme
+    yöntemi vardı. Ancak, tüm bu dilleri gösterebilecek, örneğin; Avrupa Topluluğu bünyesindeki tüm ülkelerin dillerini
+    kapsayacak bir tek şifreleme yöntemi yoktu. Bunun yanısıra, sadece İngilizcedeki harfleri, noktalama
+    işaretlerini ve teknik sembolleri kapsayan tek bir şifreleme yöntemi de bulunmamaktaydı.
+
+    Bu şifreleme yöntemleri kendi aralarında çelişmektedir. İki farklı şifreleme, aynı sayıyı iki farklı karaktere
+    vermiş olabilir ya da farklı sayılar aynı karekteri kodlayabilir. Bilgisayarlar, özellikle sunucular, birçok
+    şifrelemeyi desteklemek zorundadırlar; veriler, farklı şifreleme ve altyapılardan geçerken bozulma riski taşırlar.
+
+    </test-case>
+
+    <test-case id="WIU-tr-Q" encodings="UTF-8 UTF-32BE UTF-32LE windows-1254/tr">
+    <!-- Copyright © 1991-2005 Unicode, Inc. All rights reserved. -->
+
+    “Evrensel Kod” Nedir?
+
+    Evrensel Kod her yazı karakteri için bir ve yalnız bir sayı şart koşar,
+    hangi altyapı,
+    hangi yazılım,
+    hangi dil olursa olsun.
+
+    İlke olarak, bilgisayarlar sadece sayılarla işlem yaparlar. Kelimelerin ve yazı karakterlerinin her biri için
+    birer sayı atarlar ve böyle saklarlar. Evrensel Kod keşfedilmeden önce, bu sayıları atamak için birçok şifreleme
+    yöntemi vardı. Ancak, tüm bu dilleri gösterebilecek, örneğin; Avrupa Topluluğu bünyesindeki tüm ülkelerin dillerini
+    kapsayacak bir tek şifreleme yöntemi yoktu. Bunun yanısıra, sadece İngilizcedeki harfleri, noktalama
+    işaretlerini ve teknik sembolleri kapsayan tek bir şifreleme yöntemi de bulunmamaktaydı.
+
+    Bu şifreleme yöntemleri kendi aralarında çelişmektedir. İki farklı şifreleme, aynı sayıyı iki farklı karaktere
+    vermiş olabilir ya da farklı sayılar aynı karekteri kodlayabilir. Bilgisayarlar, özellikle sunucular, birçok
+    şifrelemeyi desteklemek zorundadırlar; veriler, farklı şifreleme ve altyapılardan geçerken bozulma riski taşırlar.
+
+    </test-case>
+</charset-detection-tests>
\ No newline at end of file
diff --git a/src/com/ibm/icu/dev/test/charsetdet/TestCharsetDetector.java b/src/com/ibm/icu/dev/test/charsetdet/TestCharsetDetector.java
new file mode 100644
index 0000000..20af4f3
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/charsetdet/TestCharsetDetector.java
@@ -0,0 +1,320 @@
+/**
+ *******************************************************************************
+ * Copyright (C) 2005, International Business Machines Corporation and         *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.test.charsetdet;
+
+import java.io.ByteArrayInputStream;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.Reader;
+
+import com.ibm.icu.dev.test.TestFmwk;
+import com.ibm.icu.impl.UTF32;
+import com.ibm.icu.text.*;
+import com.ibm.icu.util.VersionInfo;
+
+import javax.xml.parsers.*;
+import org.w3c.dom.*;
+
+
+/**
+ * @author andy
+ *
+ * TODO To change the template for this generated type comment go to
+ * Window - Preferences - Java - Code Style - Code Templates
+ */
+public class TestCharsetDetector extends TestFmwk
+{
+    
+    /**
+     * Constructor
+     */
+    public TestCharsetDetector()
+    {
+    }
+
+    public static void main(String[] args) {
+        try
+        {
+            TestCharsetDetector test = new TestCharsetDetector();
+            test.run(args);
+        }
+        catch (Exception e)
+        {
+            e.printStackTrace();
+        }
+    }
+
+    private void CheckAssert(boolean exp) {
+        if (exp == false) {
+            String msg;
+            try {
+                throw new Exception();
+            }
+            catch (Exception e) {
+                StackTraceElement failPoint = e.getStackTrace()[1];
+                msg = "Test failure in file " + failPoint.getFileName() +
+                             " at line " + failPoint.getLineNumber();
+            }
+            errln(msg);
+        }
+        
+    }
+    
+    private String stringFromReader(Reader reader)
+    {
+        StringBuffer sb = new StringBuffer();
+        char[] buffer   = new char[1024];
+        int bytesRead   = 0;
+        
+        try {
+            while ((bytesRead = reader.read(buffer, 0, 1024)) >= 0) {
+                sb.append(buffer, 0, bytesRead);
+            }
+            
+            return sb.toString();
+        } catch (Exception e) {
+            errln("stringFromReader() failed: " + e.toString());
+            return null;
+        }
+    }
+    
+    private void checkMatch(CharsetDetector det, String testString, String encoding, String language, String id) throws Exception
+    {
+        CharsetMatch m = det.detect();
+        String decoded;
+        
+        if (! m.getName().equals(encoding)) {
+            errln(id + ": encoding detection failure - expected " + encoding + ", got " + m.getName());
+            return;
+        }
+        
+        if (! (language == null || m.getLanguage().equals(language))) {
+            errln(id + ", " + encoding + ": language detection failure - expected " + language + ", got " + m.getLanguage());
+        }
+        
+        if (encoding.startsWith("UTF-32")) {
+            return;
+        }
+        
+        decoded = m.getString();
+        
+        if (! testString.equals(decoded)) {
+            errln(id + ", " + encoding + ": getString() didn't return the original string!");
+        }
+        
+        decoded = stringFromReader(m.getReader());
+        
+        if (! testString.equals(decoded)) {
+            errln(id + ", " + encoding + ": getReader() didn't yield the original string!");
+        }
+    }
+    
+    private void checkEncoding(String testString, String encoding, String id)
+    {
+        String enc = null, from = null, lang = null;
+        String[] split = encoding.split("/");
+        
+        enc = split[0];
+        
+        if (split.length > 1) {
+            lang = split[1];
+        }
+
+        if (enc.equals("ISO-2022-CN")) {
+            
+            // Don't test ISO-2022-CN on older runtimes.
+            if (! have_ISO_2022_CN) {
+                return;
+            }
+            
+            // ISO-2022-CN only works for converting *to* Unicode,
+            // we need to use x-ISO-2022-CN-GB to convert *from* unicode...
+            from = "x-ISO-2022-CN-GB";
+        } else {
+            from = enc;
+        }
+        
+        try {
+            CharsetDetector det = new CharsetDetector();
+            byte[] bytes;
+            
+            if (from.startsWith("UTF-32")) {
+                UTF32 utf32 = UTF32.getInstance(from);
+                
+                bytes = utf32.toBytes(testString);
+            } else {
+                bytes = testString.getBytes(from);
+            }
+        
+            det.setText(bytes);
+            checkMatch(det, testString, enc, lang, id);
+            
+            det.setText(new ByteArrayInputStream(bytes));
+            checkMatch(det, testString, enc, lang, id);
+         } catch (Exception e) {
+            errln(id + ": " + e.toString());
+        }
+        
+    }
+    
+    public void TestConstruction() {
+        int i;
+        CharsetDetector  det = new CharsetDetector();
+        
+        String [] charsetNames = CharsetDetector.getAllDetectableCharsets();
+        CheckAssert(charsetNames.length != 0);
+        for (i=0; i<charsetNames.length; i++) {
+            CheckAssert(charsetNames[i].equals("") == false); 
+            // System.out.println("\"" + charsetNames[i] + "\"");
+        }
+     }
+
+    public void TestInputFilter() throws Exception
+    {
+        String s = "<a> <lot> <of> <English> <inside> <the> <markup> Un tr\u00E8s petit peu de Fran\u00E7ais. <to> <confuse> <the> <detector>";
+        byte[] bytes = s.getBytes("ISO-8859-1");
+        CharsetDetector det = new CharsetDetector();
+        CharsetMatch m;
+        
+        det.enableInputFilter(true);
+        if (!det.inputFilterEnabled()){
+            errln("input filter should be enabled");
+        }
+        
+        det.setText(bytes);
+        m = det.detect();
+        
+        if (! m.getLanguage().equals("fr")) {
+            errln("input filter did not strip markup!");
+        }
+        
+        det.enableInputFilter(false);
+        det.setText(bytes);
+        m = det.detect();
+        
+        if (! m.getLanguage().equals("en")) {
+            errln("unfiltered input did not detect as English!");
+        }
+    }
+    
+    public void TestUTF8() throws Exception {
+        
+        String  s = "This is a string with some non-ascii characters that will " +
+                    "be converted to UTF-8, then shoved through the detection process.  " +
+                    "\u0391\u0392\u0393\u0394\u0395" +
+                    "Sure would be nice if our source could contain Unicode directly!";
+        byte [] bytes = s.getBytes("UTF-8");
+        CharsetDetector det = new CharsetDetector();
+        String retrievedS;
+        Reader reader;
+        
+        retrievedS = det.getString(bytes, "UTF-8");
+        CheckAssert(s.equals(retrievedS));
+        
+        reader = det.getReader(new ByteArrayInputStream(bytes), "UTF-8");
+        CheckAssert(s.equals(stringFromReader(reader)));
+        det.setDeclaredEncoding("UTF-8");	// Jitterbug 4451, for coverage
+    }
+    
+    public void TestUTF16() throws Exception
+    {
+        String source = 
+                "u0623\u0648\u0631\u0648\u0628\u0627, \u0628\u0631\u0645\u062c\u064a\u0627\u062a " +
+                "\u0627\u0644\u062d\u0627\u0633\u0648\u0628 \u002b\u0020\u0627\u0646\u062a\u0631\u0646\u064a\u062a";
+        
+        byte[] beBytes = source.getBytes("UnicodeBig");
+        byte[] leBytes = source.getBytes("UnicodeLittle");
+        CharsetDetector det = new CharsetDetector();
+        CharsetMatch m;
+        
+        det.setText(beBytes);
+        m = det.detect();
+        
+        if (! m.getName().equals("UTF-16BE")) {
+            errln("Encoding detection failure: expected UTF-16BE, got " + m.getName());
+        }
+        
+        det.setText(leBytes);
+        m = det.detect();
+        
+        if (! m.getName().equals("UTF-16LE")) {
+            errln("Encoding detection failure: expected UTF-16LE, got " + m.getName());
+        }
+
+        // Jitterbug 4451, for coverage
+        int confidence = m.getConfidence(); 
+        if(confidence != 100){
+            errln("Did not get the expected confidence level " + confidence);
+        }
+        int matchType = m.getMatchType();
+        if(matchType != 0){
+            errln("Did not get the expected matchType level " + matchType);
+        }
+}
+    
+    public void TestDetection()
+    {
+        //
+        //  Open and read the test data file.
+        //
+        InputStreamReader isr = null;
+        
+        try {
+            InputStream is = TestCharsetDetector.class.getResourceAsStream("CharsetDetectionTests.xml");
+            if (is == null) {
+                errln("Could not open test data file CharsetDetectionTests.xml");
+                return;
+            }
+            
+            isr = new InputStreamReader(is, "UTF-8"); 
+
+            // Set up an xml parser.
+            DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
+            
+            factory.setIgnoringComments(true);
+            
+            DocumentBuilder builder = factory.newDocumentBuilder();
+            
+            // Parse the xml content from the test case file.
+            Document doc = builder.parse(is, null);
+            Element root = doc.getDocumentElement();
+            
+            NodeList testCases = root.getElementsByTagName("test-case");
+            
+            // Process each test case
+            for (int n = 0; n < testCases.getLength(); n += 1) {
+                Node testCase = testCases.item(n);
+                NamedNodeMap attrs = testCase.getAttributes();
+                NodeList testData  = testCase.getChildNodes();
+                StringBuffer testText = new StringBuffer();
+                String id = attrs.getNamedItem("id").getNodeValue();
+                String encodings = attrs.getNamedItem("encodings").getNodeValue();
+                
+                // Collect the test case text.
+                for (int t = 0; t < testData.getLength(); t += 1) {
+                    Node textNode = testData.item(t);
+                    
+                    testText.append(textNode.getNodeValue());                    
+                }
+                
+                // Process test text with each encoding / language pair.
+                String testString = testText.toString();
+                String[] encodingList = encodings.split(" ");
+                
+                for (int e = 0; e < encodingList.length; e += 1) {
+                    checkEncoding(testString, encodingList[e], id);
+                }
+            }
+            
+        } catch (Exception e) {
+            errln("exception while processing test cases: " + e.toString());
+        }
+    }
+    
+    // Before Java 1.5, we cannot convert from Unicode to ISO-2022-CN, so checkEncoding() can't test it...
+    private boolean have_ISO_2022_CN = VersionInfo.javaVersion().compareTo(VersionInfo.getInstance(1, 5)) >= 0;
+}
diff --git a/src/com/ibm/icu/dev/test/collator/CollationAPITest.java b/src/com/ibm/icu/dev/test/collator/CollationAPITest.java
new file mode 100644
index 0000000..76cf888
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/collator/CollationAPITest.java
@@ -0,0 +1,1145 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2002-2005, International Business Machines Corporation and         *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+/** 
+ * Port From:   ICU4C v2.1 : collate/CollationAPITest
+ * Source File: $ICU4CRoot/source/test/intltest/apicoll.cpp
+ **/
+ 
+package com.ibm.icu.dev.test.collator;
+
+import java.util.Locale;
+import java.util.Arrays;
+import java.text.CharacterIterator;
+import java.text.StringCharacterIterator;
+import com.ibm.icu.dev.test.*;
+import com.ibm.icu.text.*;
+import com.ibm.icu.util.ULocale;
+import com.ibm.icu.util.VersionInfo;
+import java.util.MissingResourceException;
+
+public class CollationAPITest extends TestFmwk {
+    public static void main(String[] args) throws Exception {
+        new CollationAPITest().run(args);
+        //new CollationAPITest().TestGetTailoredSet();
+    }
+    
+    /**
+     * This tests the collation key related APIs.
+     * - constructor/destructor
+     * - Collator.getCollationKey
+     * - == and != operators
+     * - comparison between collation keys
+     * - creating collation key with a byte array and vice versa
+     */
+    public void TestCollationKey() {
+        logln("testing CollationKey begins...");
+        Collator col = Collator.getInstance();
+        col.setStrength(Collator.TERTIARY);
+    
+        String test1 = "Abcda";
+        String test2 = "abcda";
+    
+        logln("Testing weird arguments");
+        CollationKey sortk1 = col.getCollationKey("");
+        // key gets reset here
+        byte[] bytes = sortk1.toByteArray();
+        doAssert(bytes.length == 3 && bytes[0] == 1 && bytes[1] == 1 
+                 && bytes[2] == 0, 
+                 "Empty string should return an empty collation key");
+        // bogus key returned here
+        sortk1 = col.getCollationKey(null);
+        doAssert(sortk1 == null, "Error code should return bogus collation key");
+
+        logln("Use tertiary comparison level testing ....");
+        sortk1 = col.getCollationKey(test1);
+        CollationKey sortk2 = col.getCollationKey(test2);
+        Object sortk3 = sortk2;
+        doAssert((sortk1.compareTo(sortk2)) > 0 
+                 && (sortk1.compareTo(sortk3)) > 0, "Result should be \"Abcda\" >>> \"abcda\"");
+    
+        CollationKey sortkNew;
+        sortkNew = sortk1;
+        doAssert(!(sortk1.equals(sortk2)) && !(sortk1.equals(sortk3)), 
+                 "The sort keys should be different");
+        doAssert((sortk1.hashCode() != sortk2.hashCode()), "sort key hashCode() failed");
+        doAssert((sortk1.equals(sortkNew)), "The sort keys assignment failed");
+        doAssert((sortk1.hashCode() == sortkNew.hashCode()), "sort key hashCode() failed");
+
+        // check invaliad comparisons
+        Object fake = "fake";
+        try {
+            sortk1.compareTo(fake);
+            errln("Non-CollationKey comparison");
+        }
+        catch (Exception e) {
+                logln("PASS: Non-CollationKey comparison failed as expected");
+        }
+        if (sortk1.equals(fake)) {
+            errln("Non-CollationKey comparison");
+        }
+        
+        // port from apicoll
+        try {
+            col = Collator.getInstance();
+        } catch (Exception e) {
+            errln("Collator.getInstance() failed");
+        }
+        if (col.getStrength() != Collator.TERTIARY){
+            errln("Default collation did not have tertiary strength");
+        }
+
+        // Need to use identical strength
+        col.setStrength(Collator.IDENTICAL);
+
+        byte key2compat[] = { // 3.4 key UCA 4.1
+            (byte) 0x28, (byte) 0x2a, (byte) 0x2c, 
+            (byte) 0x2e, (byte) 0x28, (byte) 0x01, 
+            (byte) 0x09, (byte) 0x01, (byte) 0x09, 
+            (byte) 0x01, (byte) 0x27, (byte) 0x01, 
+            (byte) 0x92, (byte) 0x93, (byte) 0x94, 
+            (byte) 0x95, (byte) 0x92, (byte) 0x00        
+            //          2.6.1 key
+            /*
+            0x26, 0x28, 0x2A, 0x2C, 0x26, 0x01, 
+            0x09, 0x01, 0x09, 0x01, 0x25, 0x01, 
+            0x92, 0x93, 0x94, 0x95, 0x92, 0x00 
+            */
+            // 2.2 key
+            /*
+            0x1D, 0x1F, 0x21, 0x23, 0x1D, 0x01,
+            0x09, 0x01, 0x09, 0x01, 0x1C, 0x01,
+            0x92, 0x93, 0x94, 0x95, 0x92, 0x00
+            */
+            // 2.0 key
+            /*
+            0x19, 0x1B, 0x1D, 0x1F, 0x19,
+            0x01, 0x09, 0x01, 0x09, 0x01,
+            0x18, 0x01,
+            0x92, 0x93, 0x94, 0x95, 0x92,
+            0x00
+            */
+            // 1.8.1 key.
+            /*
+            0x19, 0x1B, 0x1D, 0x1F, 0x19,
+            0x01, 0x0A, 0x01, 0x0A, 0x01,
+            0x92, 0x93, 0x94, 0x95, 0x92,
+            0x00 
+            */
+        };
+
+        CollationKey key1 = col.getCollationKey(test1);
+        CollationKey key2 = col.getCollationKey(test2);
+        CollationKey key3 = col.getCollationKey(test2);
+    
+        doAssert(key1.compareTo(key2) > 0, 
+                 "Result should be \"Abcda\" > \"abcda\"");
+        doAssert(key2.compareTo(key1) < 0,
+                "Result should be \"abcda\" < \"Abcda\"");
+        doAssert(key2.compareTo(key3) == 0,
+                "Result should be \"abcda\" ==  \"abcda\"");
+     
+        doAssert(Arrays.equals(key2.toByteArray(), key2compat),
+                 "Binary format for 'abcda' sortkey different for identical strength!");
+    
+        logln("Use secondary comparision level testing ...");
+        col.setStrength(Collator.SECONDARY);
+    
+        key1 = col.getCollationKey(test1);
+        key2 = col.getCollationKey(test2);
+        key3 = col.getCollationKey(test2);
+    
+        doAssert(key1.compareTo(key2) == 0, 
+                "Result should be \"Abcda\" == \"abcda\"");
+        doAssert(key2.compareTo(key3) == 0,
+                "Result should be \"abcda\" ==  \"abcda\"");
+    
+        byte tempkey[] = key2.toByteArray();
+        byte subkey2compat[] = new byte[tempkey.length];
+        System.arraycopy(key2compat, 0, subkey2compat, 0, tempkey.length);
+        subkey2compat[subkey2compat.length - 1] = 0;
+        doAssert(Arrays.equals(tempkey, subkey2compat),
+                 "Binary format for 'abcda' sortkey different for secondary strength!");
+    
+        logln("testing sortkey ends...");
+    }
+    
+    public void TestRawCollationKey()
+    {
+        // testing constructors
+        RawCollationKey key = new RawCollationKey();
+        if (key.bytes != null || key.size != 0) {
+            errln("Empty default constructor expected to leave the bytes null "
+                  + "and size 0"); 
+        }
+        byte array[] = new byte[128];
+        key = new RawCollationKey(array);
+        if (key.bytes != array || key.size != 0) {
+            errln("Constructor taking an array expected to adopt it and "
+                  + "retaining its size 0"); 
+        }
+        try {
+            key = new RawCollationKey(array, 129);
+            errln("Constructor taking an array and a size > array.length "
+                  + "expected to throw an exception"); 
+        } catch (IndexOutOfBoundsException e) {
+                logln("PASS: Constructor failed as expected");
+        }
+        try {
+            key = new RawCollationKey(array, -1);
+            errln("Constructor taking an array and a size < 0 "
+                  + "expected to throw an exception"); 
+        } catch (IndexOutOfBoundsException e) {
+                logln("PASS: Constructor failed as expected");
+        }
+        key = new RawCollationKey(array, array.length >> 1);
+        if (key.bytes != array || key.size != (array.length >> 1)) {
+            errln("Constructor taking an array and a size, "
+                  + "expected to adopt it and take the size specified"); 
+        }
+        key = new RawCollationKey(10);
+        if (key.bytes == null || key.bytes.length != 10 || key.size != 0) {
+            errln("Constructor taking a specified capacity expected to "
+                  + "create a new internal byte array with length 10 and "
+                  + "retain size 0"); 
+        }
+    }
+    
+    void doAssert(boolean conditions, String message) {
+        if (!conditions) {
+            errln(message);
+        }
+    }
+    
+    /**
+     * This tests the comparison convenience methods of a collator object.
+     * - greater than
+     * - greater than or equal to
+     * - equal to
+     */
+    public void TestCompare() {
+        logln("The compare tests begin : ");
+        Collator col = Collator.getInstance(Locale.ENGLISH);
+        
+        String test1 = "Abcda";
+        String test2 = "abcda";
+        logln("Use tertiary comparison level testing ....");
+        
+        Object obj1 = test1;
+        Object obj2 = test2;
+        doAssert((col.compare(obj1, obj2) > 0), "Result should be \"Abcda\" != \"abcda\"");
+        doAssert((!col.equals(test1, test2) ), "Result should be \"Abcda\" != \"abcda\"");
+        doAssert((col.compare(test1, test2) > 0 ), "Result should be \"Abcda\" >>> \"abcda\"");
+    
+        col.setStrength(Collator.SECONDARY);
+        logln("Use secondary comparison level testing ....");
+                    
+        doAssert((col.compare(obj1, obj2) == 0), "Result should be \"Abcda\" == \"abcda\"");
+        doAssert((col.equals(test1, test2) ), "Result should be \"Abcda\" == \"abcda\"");
+        doAssert((col.compare(test1, test2) == 0), "Result should be \"Abcda\" == \"abcda\"");
+    
+        col.setStrength(Collator.PRIMARY);
+        logln("Use primary comparison level testing ....");
+        
+        doAssert((col.compare(obj1, obj2) == 0 ), "Result should be \"Abcda\" == \"abcda\"");
+        doAssert((col.equals(test1, test2) ), "Result should be \"Abcda\" == \"abcda\"");
+        doAssert((col.compare(test1, test2) == 0 ), "Result should be \"Abcda\" == \"abcda\"");
+        logln("The compare tests end.");
+        
+        Integer die = new Integer(1);
+        try {
+            col.compare(die, test1);
+            errln("Non-Strings should fail col.compare(Object, Object)");
+        } catch (Exception e) {
+                logln("PASS: Non-Strings comparison failed as expected");
+        }
+    }
+    
+    /**
+    * Tests decomposition setting
+    */
+    public void TestDecomposition() {
+        Collator en_US = null, el_GR = null, vi_VN = null;
+
+        en_US = Collator.getInstance(new Locale("en", "US"));
+        el_GR = Collator.getInstance(new Locale("el", "GR"));
+        vi_VN = Collator.getInstance(new Locale("vi", "VN"));
+
+        
+        // there is no reason to have canonical decomposition in en_US OR default locale */
+        if (vi_VN.getDecomposition() != Collator.CANONICAL_DECOMPOSITION)
+        {
+            errln("vi_VN collation did not have cannonical decomposition for normalization!");
+        }
+
+        if (el_GR.getDecomposition() != Collator.CANONICAL_DECOMPOSITION)
+        {
+            errln("el_GR collation did not have cannonical decomposition for normalization!");
+        }
+
+        if (en_US.getDecomposition() != Collator.NO_DECOMPOSITION)
+        {
+            errln("en_US collation had cannonical decomposition for normalization!");
+        }
+    }
+    
+    /**
+     * This tests the duplication of a collator object.
+     */
+    public void TestDuplicate() {
+        //Clone does not be implemented 
+        Collator col1 = Collator.getInstance(Locale.ENGLISH);
+        
+        // Collator col2 = (Collator)col1.clone();
+        // doAssert(col1.equals(col2), "Cloned object is not equal to the orginal");
+        String ruleset = "< a, A < b, B < c, C < d, D, e, E";
+        RuleBasedCollator col3 = null;
+        try {
+            col3 = new RuleBasedCollator(ruleset);
+        } catch (Exception e) {
+            errln("Failure creating RuleBasedCollator with rule:" + ruleset);
+            return;
+        }
+        doAssert(!col1.equals(col3), "Cloned object is equal to some dummy");
+        col3 = (RuleBasedCollator)col1;
+        doAssert(col1.equals(col3), "Copied object is not equal to the orginal");
+        
+    }
+    
+    /**
+     * This tests the CollationElementIterator related APIs.
+     * - creation of a CollationElementIterator object
+     * - == and != operators
+     * - iterating forward
+     * - reseting the iterator index
+     * - requesting the order properties(primary, secondary or tertiary)
+     */
+    public void TestElemIter() {
+        // logln("testing sortkey begins...");
+        Collator col = Collator.getInstance(Locale.ENGLISH);
+
+           
+        String testString1 = "XFILE What subset of all possible test cases has the highest probability of detecting the most errors?";
+        String testString2 = "Xf_ile What subset of all possible test cases has the lowest probability of detecting the least errors?";
+        // logln("Constructors and comparison testing....");
+        CollationElementIterator iterator1 = ((RuleBasedCollator)col).getCollationElementIterator(testString1);
+        
+        CharacterIterator chariter=new StringCharacterIterator(testString1);
+        // copy ctor
+        CollationElementIterator iterator2 = ((RuleBasedCollator)col).getCollationElementIterator(chariter);
+        UCharacterIterator uchariter=UCharacterIterator.getInstance(testString2);
+        CollationElementIterator iterator3 = ((RuleBasedCollator)col).getCollationElementIterator(uchariter);
+    
+        int offset = 0;
+        offset = iterator1.getOffset();
+        if (offset != 0) {
+            errln("Error in getOffset for collation element iterator");
+            return;
+        }
+        iterator1.setOffset(6);
+        iterator1.setOffset(0);
+        int order1, order2, order3;
+        
+        order1 = iterator1.next();
+        doAssert(!(iterator1.equals(iterator2)), "The first iterator advance failed");
+        order2 = iterator2.next();
+        
+        doAssert((iterator1.equals(iterator2)), "The second iterator advance failed"); 
+        doAssert((order1 == order2), "The order result should be the same");
+        order3 = iterator3.next();
+        
+        doAssert((CollationElementIterator.primaryOrder(order1) == 
+            CollationElementIterator.primaryOrder(order3)), "The primary orders should be the same");
+        doAssert((CollationElementIterator.secondaryOrder(order1) == 
+            CollationElementIterator.secondaryOrder(order3)), "The secondary orders should be the same");
+        doAssert((CollationElementIterator.tertiaryOrder(order1) == 
+            CollationElementIterator.tertiaryOrder(order3)), "The tertiary orders should be the same");
+    
+        order1 = iterator1.next(); 
+        order3 = iterator3.next();
+        
+        doAssert((CollationElementIterator.primaryOrder(order1) == 
+            CollationElementIterator.primaryOrder(order3)), "The primary orders should be identical");
+        doAssert((CollationElementIterator.tertiaryOrder(order1) != 
+            CollationElementIterator.tertiaryOrder(order3)), "The tertiary orders should be different");
+    
+        order1 = iterator1.next(); 
+        order3 = iterator3.next();
+        // invalid test wrong in UCA
+        // doAssert((CollationElementIterator.secondaryOrder(order1) != 
+        //    CollationElementIterator.secondaryOrder(order3)), "The secondary orders should not be the same");
+            
+        doAssert((order1 != CollationElementIterator.NULLORDER), "Unexpected end of iterator reached");
+    
+        iterator1.reset(); 
+        iterator2.reset(); 
+        iterator3.reset();
+        order1 = iterator1.next();
+        
+        doAssert(!(iterator1.equals(iterator2)), "The first iterator advance failed");
+        
+        order2 = iterator2.next();
+        
+        doAssert((iterator1.equals(iterator2)), "The second iterator advance failed");
+        doAssert((order1 == order2), "The order result should be the same");
+    
+        order3 = iterator3.next();
+        
+        doAssert((CollationElementIterator.primaryOrder(order1) == 
+            CollationElementIterator.primaryOrder(order3)), "The primary orders should be the same");
+        doAssert((CollationElementIterator.secondaryOrder(order1) == 
+            CollationElementIterator.secondaryOrder(order3)), "The secondary orders should be the same");
+        doAssert((CollationElementIterator.tertiaryOrder(order1) == 
+            CollationElementIterator.tertiaryOrder(order3)), "The tertiary orders should be the same");
+    
+        order1 = iterator1.next(); 
+        order2 = iterator2.next(); 
+        order3 = iterator3.next();
+        
+        doAssert((CollationElementIterator.primaryOrder(order1) == 
+            CollationElementIterator.primaryOrder(order3)), "The primary orders should be identical");
+        doAssert((CollationElementIterator.tertiaryOrder(order1) != 
+            CollationElementIterator.tertiaryOrder(order3)), "The tertiary orders should be different");
+    
+        order1 = iterator1.next(); 
+        order3 = iterator3.next();
+        
+        // obsolete invalid test, removed
+        // doAssert((CollationElementIterator.secondaryOrder(order1) != 
+        //    CollationElementIterator.secondaryOrder(order3)), "The secondary orders should not be the same");
+        doAssert((order1 != CollationElementIterator.NULLORDER), "Unexpected end of iterator reached");
+        doAssert(!(iterator2.equals(iterator3)), "The iterators should be different");
+        logln("testing CollationElementIterator ends...");
+    }
+    
+    /**
+     * This tests the hashCode method of a collator object.
+     */
+    public void TestHashCode() {
+        logln("hashCode tests begin.");
+        Collator col1 = Collator.getInstance(Locale.ENGLISH);
+    
+        Collator col2 = null;
+        Locale dk = new Locale("da", "DK", "");
+        try {
+            col2 = Collator.getInstance(dk);
+        } catch (Exception e) {
+            errln("Danish collation creation failed.");
+            return;
+        }
+    
+        Collator col3 = null;
+        try {
+            col3 = Collator.getInstance(Locale.ENGLISH);
+        } catch (Exception e) {
+            errln("2nd default collation creation failed.");
+            return;
+        }
+    
+        logln("Collator.hashCode() testing ...");
+        
+        doAssert(col1.hashCode() != col2.hashCode(), "Hash test1 result incorrect" );                 
+        doAssert(!(col1.hashCode() == col2.hashCode()), "Hash test2 result incorrect" );              
+        doAssert(col1.hashCode() == col3.hashCode(), "Hash result not equal" );               
+    
+        logln("hashCode tests end.");
+        
+        String test1 = "Abcda";
+        String test2 = "abcda";
+        
+        CollationKey sortk1, sortk2, sortk3;
+                    
+        sortk1 = col3.getCollationKey(test1);
+        sortk2 = col3.getCollationKey(test2); 
+        sortk3 = col3.getCollationKey(test2); 
+        
+        doAssert(sortk1.hashCode() != sortk2.hashCode(), "Hash test1 result incorrect");               
+        doAssert(sortk2.hashCode() == sortk3.hashCode(), "Hash result not equal" );
+    }
+    
+    /**
+     * This tests the properties of a collator object.
+     * - constructor
+     * - factory method getInstance
+     * - compare and getCollationKey
+     * - get/set decomposition mode and comparison level
+     */
+    public void TestProperty() {
+        /* 
+          All the collations have the same version in an ICU
+          version.
+          ICU 2.0 currVersionArray = {0x18, 0xC0, 0x02, 0x02};
+          ICU 2.1 currVersionArray = {0x19, 0x00, 0x03, 0x03};
+          ICU 2.8 currVersionArray = {0x29, 0x80, 0x00, 0x04};          
+        */    
+        logln("The property tests begin : ");
+        logln("Test ctors : ");
+        Collator col = Collator.getInstance(Locale.ENGLISH);
+
+    
+        logln("Test getVersion");
+        VersionInfo expectedVersion = VersionInfo.getInstance(0x31, 0xC0, 0x00, 0x04);
+        doAssert(col.getVersion().equals(expectedVersion), "Expected version "+expectedVersion.toString()+" got "+col.getVersion().toString());
+        
+        logln("Test getUCAVersion");
+        VersionInfo expectedUCAVersion = VersionInfo.getInstance(0x04, 0x01, 0, 0);
+        doAssert(col.getUCAVersion().equals(expectedUCAVersion), "Expected UCA version "+expectedUCAVersion.toString()+" got "+col.getUCAVersion().toString());
+        
+        doAssert((col.compare("ab", "abc") < 0), "ab < abc comparison failed");
+        doAssert((col.compare("ab", "AB") < 0), "ab < AB comparison failed");
+        doAssert((col.compare("blackbird", "black-bird") > 0), "black-bird > blackbird comparison failed");
+        doAssert((col.compare("black bird", "black-bird") < 0), "black bird > black-bird comparison failed");
+        doAssert((col.compare("Hello", "hello") > 0), "Hello > hello comparison failed");
+    
+        logln("Test ctors ends.");
+        
+        logln("testing Collator.getStrength() method ...");
+        doAssert((col.getStrength() == Collator.TERTIARY), "collation object has the wrong strength");
+        doAssert((col.getStrength() != Collator.PRIMARY), "collation object's strength is primary difference");
+            
+        logln("testing Collator.setStrength() method ...");
+        col.setStrength(Collator.SECONDARY);
+        doAssert((col.getStrength() != Collator.TERTIARY), "collation object's strength is secondary difference");
+        doAssert((col.getStrength() != Collator.PRIMARY), "collation object's strength is primary difference");
+        doAssert((col.getStrength() == Collator.SECONDARY), "collation object has the wrong strength");
+    
+        logln("testing Collator.setDecomposition() method ...");
+        col.setDecomposition(Collator.NO_DECOMPOSITION);
+        doAssert((col.getDecomposition() != Collator.CANONICAL_DECOMPOSITION), "Decomposition mode != Collator.CANONICAL_DECOMPOSITION");
+        doAssert((col.getDecomposition() == Collator.NO_DECOMPOSITION), "Decomposition mode = Collator.NO_DECOMPOSITION");
+        
+        
+        RuleBasedCollator rcol = (RuleBasedCollator)Collator.getInstance(new Locale("da", "DK"));
+        doAssert(rcol.getRules().length() != 0, "da_DK rules does not have length 0");
+        
+        try {
+            col = Collator.getInstance(Locale.FRENCH);
+        } catch (Exception e) {
+            errln("Creating French collation failed.");
+            return;
+        }
+    
+        col.setStrength(Collator.PRIMARY);
+        logln("testing Collator.getStrength() method again ...");
+        doAssert((col.getStrength() != Collator.TERTIARY), "collation object has the wrong strength");
+        doAssert((col.getStrength() == Collator.PRIMARY), "collation object's strength is not primary difference");
+            
+        logln("testing French Collator.setStrength() method ...");
+        col.setStrength(Collator.TERTIARY);
+        doAssert((col.getStrength() == Collator.TERTIARY), "collation object's strength is not tertiary difference");
+        doAssert((col.getStrength() != Collator.PRIMARY), "collation object's strength is primary difference");
+        doAssert((col.getStrength() != Collator.SECONDARY), "collation object's strength is secondary difference");
+    
+    }
+    public void TestJunkCollator(){
+        logln("Create junk collation: ");
+        Locale abcd = new Locale("ab", "CD", "");
+        
+        Collator junk = Collator.getInstance(abcd);
+        Collator col = Collator.getInstance();
+
+    
+        String colrules = ((RuleBasedCollator)col).getRules();
+        String junkrules = ((RuleBasedCollator)junk).getRules();
+        doAssert(colrules == junkrules || colrules.equals(junkrules), 
+                   "The default collation should be returned.");
+        Collator frCol = null;
+        try {
+            frCol = Collator.getInstance(Locale.FRANCE);
+        } catch (Exception e) {
+            errln("Creating French collator failed.");
+            return;
+        }
+    
+        doAssert(!(frCol.equals(junk)), "The junk is the same as the French collator.");
+        logln("Collator property test ended.");
+    
+    }
+    /**
+    * This tests the RuleBasedCollator
+    * - constructor/destructor
+    * - getRules
+    */
+    public void TestRuleBasedColl() {
+        RuleBasedCollator col1 = null, col2 = null, col3 = null, col4 = null;
+    
+        String ruleset1 = "&9 < a, A < b, B < c, C; ch, cH, Ch, CH < d, D, e, E"; 
+        String ruleset2 = "&9 < a, A < b, B < c, C < d, D, e, E";
+        String ruleset3 = "&";
+        
+        try {
+            col1 = new RuleBasedCollator(ruleset1);
+        } catch (Exception e) {
+            // only first error needs to be a warning since we exit function 
+            warnln("RuleBased Collator creation failed.");
+            return;
+        }
+    
+        try {
+            col2 = new RuleBasedCollator(ruleset2);
+        } catch (Exception e) {
+            errln("RuleBased Collator creation failed.");
+            return;
+        }
+    
+        try {
+            // empty rules fail
+            col3 = new RuleBasedCollator(ruleset3);
+            errln("Failure: Empty rules for the collator should fail");
+            return;
+        } catch (MissingResourceException e) {
+            warnln(e.getMessage());
+        } catch (Exception e) {
+            logln("PASS: Empty rules for the collator failed as expected");
+        }
+        
+        Locale locale = new Locale("aa", "AA");
+        try {
+            col3 = (RuleBasedCollator)Collator.getInstance(locale);
+        } catch (Exception e) {
+            errln("Fallback Collator creation failed.: %s");
+            return;
+        }
+    
+        try {
+            col3 = (RuleBasedCollator)Collator.getInstance();
+        } catch (Exception e) {
+            errln("Default Collator creation failed.: %s");
+            return;
+        }
+    
+        String rule1 = col1.getRules(); 
+        String rule2 = col2.getRules();
+        String rule3 = col3.getRules();
+    
+        doAssert(!rule1.equals(rule2), "Default collator getRules failed");
+        doAssert(!rule2.equals(rule3), "Default collator getRules failed");
+        doAssert(!rule1.equals(rule3), "Default collator getRules failed");
+        
+        try {
+            col4 = new RuleBasedCollator(rule2);
+        } catch (Exception e) {
+            errln("RuleBased Collator creation failed.");
+            return;
+        }
+    
+        String rule4 = col4.getRules();
+        doAssert(rule2.equals(rule4), "Default collator getRules failed");
+        // tests that modifier ! is always ignored
+        String exclamationrules = "!&a<b";
+        // java does not allow ! to be the start of the rule
+        String thaistr = "\u0e40\u0e01\u0e2d";
+        try {
+            RuleBasedCollator col5 = new RuleBasedCollator(exclamationrules);
+            RuleBasedCollator encol = (RuleBasedCollator)
+                                        Collator.getInstance(Locale.ENGLISH);
+            CollationElementIterator col5iter 
+                                   = col5.getCollationElementIterator(thaistr);
+            CollationElementIterator encoliter 
+                                   = encol.getCollationElementIterator(
+                                                                      thaistr);
+            while (true) {
+                // testing with en since thai has its own tailoring
+                int ce = col5iter.next();
+                int ce2 = encoliter.next();
+                if (ce2 != ce) {
+                    errln("! modifier test failed");
+                }
+                if (ce == CollationElementIterator.NULLORDER) {
+                    break;
+                }
+            }
+        } catch (Exception e) {
+            errln("RuleBased Collator creation failed for ! modifier.");
+            return;
+        }
+    }
+    
+    /**
+    * This tests the RuleBasedCollator
+    * - getRules
+    */
+    public void TestRules() {
+        RuleBasedCollator coll = (RuleBasedCollator)Collator.getInstance(new Locale("","","")); //root
+            // logln("PASS: RuleBased Collator creation passed");
+
+    
+        String rules = coll.getRules();
+        if (rules != null && rules.length() != 0) {
+            errln("Root tailored rules failed");
+        }
+    }
+    
+    public void TestSafeClone() {
+        String test1 = "abCda";
+        String test2 = "abcda";
+        
+        // one default collator & two complex ones 
+        RuleBasedCollator someCollators[] = {
+            (RuleBasedCollator)Collator.getInstance(Locale.ENGLISH),
+            (RuleBasedCollator)Collator.getInstance(Locale.KOREA),
+            (RuleBasedCollator)Collator.getInstance(Locale.JAPAN)
+        };
+        RuleBasedCollator someClonedCollators[] = new RuleBasedCollator[3];
+        
+        // change orig & clone & make sure they are independent 
+    
+        for (int index = 0; index < someCollators.length; index ++)
+        {
+            try {
+                someClonedCollators[index] 
+                            = (RuleBasedCollator)someCollators[index].clone();
+            } catch (CloneNotSupportedException e) {
+                errln("Error cloning collator");
+            }
+    
+            someClonedCollators[index].setStrength(Collator.TERTIARY);
+            someCollators[index].setStrength(Collator.PRIMARY);
+            someClonedCollators[index].setCaseLevel(false);
+            someCollators[index].setCaseLevel(false);
+            
+            doAssert(someClonedCollators[index].compare(test1, test2) > 0, 
+                     "Result should be \"abCda\" >>> \"abcda\" ");
+            doAssert(someCollators[index].compare(test1, test2) == 0, 
+                     "Result should be \"abCda\" == \"abcda\" ");
+        }
+    }
+
+    public void TestGetTailoredSet() 
+    {
+        logln("testing getTailoredSet...");
+        String rules[] = {
+            "&a < \u212b",             
+            "& S < \u0161 <<< \u0160",
+        };
+        String data[][] = {
+            { "\u212b", "A\u030a", "\u00c5" },        
+            { "\u0161", "s\u030C", "\u0160", "S\u030C" }            
+        };
+    
+        int i = 0, j = 0;
+        
+        RuleBasedCollator coll;
+        UnicodeSet set;
+        
+        for(i = 0; i < rules.length; i++) {
+            try {
+                logln("Instantiating a collator from "+rules[i]);
+                coll = new RuleBasedCollator(rules[i]);
+                set = coll.getTailoredSet();
+                logln("Got set: "+set.toPattern(true));
+                if(set.size() != data[i].length) {
+                    errln("Tailored set size different ("+set.size()+") than expected ("+data[i].length+")");
+                }
+                for(j = 0; j < data[i].length; j++) {
+                    logln("Checking to see whether "+data[i][j]+" is in set");
+                    if(!set.contains(data[i][j])) {
+                        errln("Tailored set doesn't contain "+data[i][j]+"... It should");
+                    }
+                }
+            } catch (Exception e) {
+                warnln("Couldn't open collator with rules "+ rules[i]);
+            }
+        }
+    }
+
+    /** 
+     * Simple test to see if Collator is subclassable
+     */
+    public void TestSubClass() 
+    {
+        class TestCollator extends Collator
+        {
+            public boolean equals(Object that) {
+                return this == that;
+            }
+    
+            public int hashCode() {
+                return 0;
+            }
+            
+            public int compare(String source, String target) {
+                return source.compareTo(target);
+            }
+            
+            public CollationKey getCollationKey(String source)
+            {   return new CollationKey(source, 
+                          getRawCollationKey(source, new RawCollationKey()));
+            }
+            
+            public RawCollationKey getRawCollationKey(String source, 
+                                                      RawCollationKey key)
+            {
+                byte temp1[] = source.getBytes();
+                byte temp2[] = new byte[temp1.length + 1];
+                System.arraycopy(temp1, 0, temp2, 0, temp1.length);
+                temp2[temp1.length] = 0;
+                if (key == null) {
+                    key = new RawCollationKey();
+                }
+                key.bytes = temp2; 
+                key.size = temp2.length;
+                return key;
+            }
+            
+            public void setVariableTop(int ce)
+            {
+            }
+            
+            public int setVariableTop(String str) 
+            {
+                return 0;
+            }
+            
+            public int getVariableTop()
+            {
+                return 0;
+            }
+            public VersionInfo getVersion()
+            {
+                return VersionInfo.getInstance(0);
+            }
+            public VersionInfo getUCAVersion()
+            {
+                return VersionInfo.getInstance(0);
+            }
+        }
+ 
+        Collator col1 = new TestCollator();
+        Collator col2 = new TestCollator();
+        if (col1.equals(col2)) {
+            errln("2 different instance of TestCollator should fail");
+        }
+        if (col1.hashCode() != col2.hashCode()) {
+            errln("Every TestCollator has the same hashcode");
+        }
+        String abc = "abc";
+        String bcd = "bcd";
+        if (col1.compare(abc, bcd) != abc.compareTo(bcd)) {
+            errln("TestCollator compare should be the same as the default " +
+                  "string comparison");
+        }
+        CollationKey key = col1.getCollationKey(abc);
+        byte temp1[] = abc.getBytes();
+        byte temp2[] = new byte[temp1.length + 1];
+        System.arraycopy(temp1, 0, temp2, 0, temp1.length);
+        temp2[temp1.length] = 0;
+        if (!java.util.Arrays.equals(key.toByteArray(), temp2) 
+            || !key.getSourceString().equals(abc)) {
+            errln("TestCollator collationkey API is returning wrong values");
+        }
+        UnicodeSet set = col1.getTailoredSet();
+        if (!set.equals(new UnicodeSet(0, 0x10FFFF))) {
+            errln("Error getting default tailored set");
+        }
+    }
+    
+     /** 
+     * Simple test the collator setter and getters
+     */
+    public void TestSetGet() 
+    {
+        RuleBasedCollator collator = (RuleBasedCollator)Collator.getInstance();
+        int decomp = collator.getDecomposition();
+        int strength = collator.getStrength();
+        boolean alt = collator.isAlternateHandlingShifted();
+        boolean caselevel = collator.isCaseLevel();
+        boolean french = collator.isFrenchCollation();
+        boolean hquart = collator.isHiraganaQuaternary();
+        boolean lowercase = collator.isLowerCaseFirst();
+        boolean uppercase = collator.isUpperCaseFirst();
+        
+        collator.setDecomposition(Collator.CANONICAL_DECOMPOSITION);
+        if (collator.getDecomposition() != Collator.CANONICAL_DECOMPOSITION) {
+            errln("Setting decomposition failed");
+        }
+        collator.setStrength(Collator.QUATERNARY);
+        if (collator.getStrength() != Collator.QUATERNARY) {
+            errln("Setting strength failed");
+        }
+        collator.setAlternateHandlingShifted(!alt);
+        if (collator.isAlternateHandlingShifted() == alt) {
+            errln("Setting alternate handling failed");
+        }
+        collator.setCaseLevel(!caselevel);
+        if (collator.isCaseLevel() == caselevel) {
+            errln("Setting case level failed");
+        }
+        collator.setFrenchCollation(!french);
+        if (collator.isFrenchCollation() == french) {
+            errln("Setting french collation failed");
+        }
+        collator.setHiraganaQuaternary(!hquart);
+        if (collator.isHiraganaQuaternary() == hquart) {
+            errln("Setting hiragana quartenary failed");
+        }
+        collator.setLowerCaseFirst(!lowercase);
+        if (collator.isLowerCaseFirst() == lowercase) {
+            errln("Setting lower case first failed");
+        }
+        collator.setUpperCaseFirst(!uppercase);
+        if (collator.isUpperCaseFirst() == uppercase) {
+            errln("Setting upper case first failed");
+        }   
+        collator.setDecompositionDefault();
+        if (collator.getDecomposition() != decomp) {
+            errln("Setting decomposition default failed");
+        }
+        collator.setStrengthDefault();
+        if (collator.getStrength() != strength) {
+            errln("Setting strength default failed");
+        }
+        collator.setAlternateHandlingDefault();
+        if (collator.isAlternateHandlingShifted() != alt) {
+            errln("Setting alternate handling default failed");
+        }
+        collator.setCaseLevelDefault();
+        if (collator.isCaseLevel() != caselevel) {
+            errln("Setting case level default failed");
+        }
+        collator.setFrenchCollationDefault();
+        if (collator.isFrenchCollation() != french) {
+            errln("Setting french handling default failed");
+        }
+        collator.setHiraganaQuaternaryDefault();
+        if (collator.isHiraganaQuaternary() != hquart) {
+            errln("Setting Hiragana Quartenary default failed");
+        }
+        collator.setCaseFirstDefault();
+        if (collator.isLowerCaseFirst() != lowercase 
+            || collator.isUpperCaseFirst() != uppercase) {
+            errln("Setting case first handling default failed");
+        }
+    }
+    
+    public void TestBounds() 
+    {
+        Collator coll = Collator.getInstance(new Locale("sh", ""));
+          
+        String test[] = { "John Smith", "JOHN SMITH", 
+                          "john SMITH", "j\u00F6hn sm\u00EFth",
+                          "J\u00F6hn Sm\u00EFth", "J\u00D6HN SM\u00CFTH",
+                          "john smithsonian", "John Smithsonian",
+        };
+      
+        String testStr[] = {
+                          "\u010CAKI MIHALJ", 
+                          "\u010CAKI MIHALJ",
+                          "\u010CAKI PIRO\u0160KA", 
+                          "\u010CABAI ANDRIJA",
+                          "\u010CABAI LAJO\u0160", 
+                          "\u010CABAI MARIJA",
+                          "\u010CABAI STEVAN", 
+                          "\u010CABAI STEVAN",
+                          "\u010CABARKAPA BRANKO", 
+                          "\u010CABARKAPA MILENKO",
+                          "\u010CABARKAPA MIROSLAV", 
+                          "\u010CABARKAPA SIMO",
+                          "\u010CABARKAPA STANKO", 
+                          "\u010CABARKAPA TAMARA",
+                          "\u010CABARKAPA TOMA\u0160", 
+                          "\u010CABDARI\u0106 NIKOLA",
+                          "\u010CABDARI\u0106 ZORICA",
+                          "\u010CABI NANDOR",
+                          "\u010CABOVI\u0106 MILAN",
+                          "\u010CABRADI AGNEZIJA",
+                          "\u010CABRADI IVAN",
+                          "\u010CABRADI JELENA",
+                          "\u010CABRADI LJUBICA",
+                          "\u010CABRADI STEVAN",
+                          "\u010CABRDA MARTIN",
+                          "\u010CABRILO BOGDAN",
+                          "\u010CABRILO BRANISLAV",
+                          "\u010CABRILO LAZAR",
+                          "\u010CABRILO LJUBICA",
+                          "\u010CABRILO SPASOJA",
+                          "\u010CADE\u0160 ZDENKA",
+                          "\u010CADESKI BLAGOJE",
+                          "\u010CADOVSKI VLADIMIR",
+                          "\u010CAGLJEVI\u0106 TOMA",
+                          "\u010CAGOROVI\u0106 VLADIMIR",
+                          "\u010CAJA VANKA",
+                          "\u010CAJI\u0106 BOGOLJUB",
+                          "\u010CAJI\u0106 BORISLAV",
+                          "\u010CAJI\u0106 RADOSLAV",
+                          "\u010CAK\u0160IRAN MILADIN",
+                          "\u010CAKAN EUGEN",
+                          "\u010CAKAN EVGENIJE",
+                          "\u010CAKAN IVAN",
+                          "\u010CAKAN JULIJAN",
+                          "\u010CAKAN MIHAJLO",
+                          "\u010CAKAN STEVAN",
+                          "\u010CAKAN VLADIMIR",
+                          "\u010CAKAN VLADIMIR",
+                          "\u010CAKAN VLADIMIR",
+                          "\u010CAKARA ANA",
+                          "\u010CAKAREVI\u0106 MOMIR",
+                          "\u010CAKAREVI\u0106 NEDELJKO",
+                          "\u010CAKI \u0160ANDOR",
+                          "\u010CAKI AMALIJA",
+                          "\u010CAKI ANDRA\u0160",
+                          "\u010CAKI LADISLAV",
+                          "\u010CAKI LAJO\u0160",
+                          "\u010CAKI LASLO" }; 
+        
+        CollationKey testKey[] = new CollationKey[testStr.length];
+        for (int i = 0; i < testStr.length; i ++) {
+            testKey[i] = coll.getCollationKey(testStr[i]);
+        }
+        
+        Arrays.sort(testKey);
+        for(int i = 0; i < testKey.length - 1; i ++) {
+            CollationKey lower 
+                           = testKey[i].getBound(CollationKey.BoundMode.LOWER,
+                                                 Collator.SECONDARY);
+            for (int j = i + 1; j < testKey.length; j ++) {
+                CollationKey upper 
+                           = testKey[j].getBound(CollationKey.BoundMode.UPPER,
+                                                 Collator.SECONDARY);
+                for (int k = i; k <= j; k ++) {
+                    if (lower.compareTo(testKey[k]) > 0) {
+                        errln("Problem with lower bound at i = " + i + " j = "
+                              + j + " k = " + k);
+                    }
+                    if (upper.compareTo(testKey[k]) <= 0) {
+                        errln("Problem with upper bound at i = " + i + " j = "
+                              + j + " k = " + k);
+                    }
+                }
+            }
+        }
+        
+        for (int i = 0; i < test.length; i ++) 
+        {
+            CollationKey key = coll.getCollationKey(test[i]);
+            CollationKey lower = key.getBound(CollationKey.BoundMode.LOWER,
+                                              Collator.SECONDARY);
+            CollationKey upper = key.getBound(CollationKey.BoundMode.UPPER_LONG,
+                                              Collator.SECONDARY);
+            for (int j = i + 1; j < test.length; j ++) {
+                key = coll.getCollationKey(test[j]);
+                if (lower.compareTo(key) > 0) {
+                    errln("Problem with lower bound i = " + i + " j = " + j);
+                }
+                if (upper.compareTo(key) <= 0) {
+                    errln("Problem with upper bound i = " + i + " j = " + j);
+                }
+            }
+        }
+    }
+    
+    public final void TestGetAll() {
+        Locale[] list = Collator.getAvailableLocales();
+        int errorCount = 0;
+        for (int i = 0; i < list.length; ++i) {
+            log("Locale name: ");
+            log(list[i].toString());
+            log(" , the display name is : ");
+            logln(list[i].getDisplayName());
+            try{
+                logln("     ...... Or display as: " + Collator.getDisplayName(list[i]));
+                logln("     ...... and display in Chinese: " + 
+                      Collator.getDisplayName(list[i],Locale.CHINA)); 
+            }catch(MissingResourceException ex){
+                errorCount++;
+                logln("could not get displayName for " + list[i]);
+            }           
+        }
+        if(errorCount>0){
+          warnln("Could not load the locale data.");
+        }
+    }    
+
+    private void
+    doSetsTest(UnicodeSet ref, UnicodeSet set, String inSet, String outSet) {
+        
+        set.clear();
+        set.applyPattern(inSet);
+        
+        if(!ref.containsAll(set)) {
+            err("Some stuff from "+inSet+" is not present in the set\n");            
+        }
+        
+        set.clear();
+        set.applyPattern(outSet);
+        if(!ref.containsNone(set)) {
+            err("Some stuff from "+outSet+" is present in the set\n");
+        }
+    }
+    
+    public void TestGetContractions()throws Exception {
+        /*        static struct {
+         const char* locale;
+         const char* inConts;
+         const char* outConts;
+         const char* inExp;
+         const char* outExp;
+         const char* unsafeCodeUnits;
+         const char* safeCodeUnits;
+         }
+         */
+        String tests[][] = {
+                { "ru", 
+                    "[{\u0474\u030F}{\u0475\u030F}{\u04D8\u0308}{\u04D9\u0308}{\u04E8\u0308}{\u04E9\u0308}]", 
+                    "[{\u0430\u0306}{\u0410\u0306}{\u0430\u0308}{\u0410\u0306}{\u0433\u0301}{\u0413\u0301}]",
+                    "[\u00e6]",
+                    "[a]",
+                    "[\u0474\u0475\u04d8\u04d9\u04e8\u04e9]",
+                    "[aAbB\u0430\u0410\u0433\u0413]"
+                },
+                { "uk",
+                    "[{\u0474\u030F}{\u0475\u030F}{\u04D8\u0308}{\u04D9\u0308}{\u04E8\u0308}{\u04E9\u0308}"+ 
+                    "{\u0430\u0306}{\u0410\u0306}{\u0430\u0308}{\u0410\u0306}{\u0433\u0301}{\u0413\u0301}]",
+                    "[]",
+                    "[\u00e6]",
+                    "[a]",
+                    "[\u0474\u0475\u04D8\u04D9\u04E8\u04E9\u0430\u0410\u0433\u0413]",
+                    "[aAbBxv]",
+                },
+                { "sh",
+                    "[{C\u0301}{C\u030C}{C\u0341}{DZ\u030C}{Dz\u030C}{D\u017D}{D\u017E}{lj}{nj}]",
+                    "[{\u309d\u3099}{\u30fd\u3099}]",
+                    "[\u00e6]",
+                    "[a]",
+                    "[nlcdzNLCDZ]",
+                    "[jabv]"
+                },
+                { "ja",
+                    "[{\u3053\u3099\u309D}{\u3053\u3099\u309D\u3099}{\u3053\u3099\u309E}{\u3053\u3099\u30FC}{\u3053\u309D}{\u3053\u309D\u3099}{\u3053\u309E}{\u3053\u30FC}{\u30B3\u3099\u30FC}{\u30B3\u3099\u30FD}{\u30B3\u3099\u30FD\u3099}{\u30B3\u3099\u30FE}{\u30B3\u30FC}{\u30B3\u30FD}{\u30B3\u30FD\u3099}{\u30B3\u30FE}]",
+                    "[{\u30FD\u3099}{\u309D\u3099}{\u3053\u3099}{\u30B3\u3099}{lj}{nj}]",
+                    "[\u30FE\u00e6]",
+                    "[a]",
+                    "[\u3099]",
+                    "[]"
+                }
+        };
+        
+        
+        
+        
+        RuleBasedCollator coll = null;
+        int i = 0;
+        UnicodeSet conts = new UnicodeSet();
+        UnicodeSet exp = new UnicodeSet();
+        UnicodeSet set = new UnicodeSet();
+        
+        for(i = 0; i < tests.length; i++) {
+            logln("Testing locale: "+ tests[i][0]);
+            coll = (RuleBasedCollator)Collator.getInstance(new ULocale(tests[i][0]));
+            coll.getContractionsAndExpansions(conts, exp, true);
+            logln("Contractions "+conts.size()+":\n"+conts.toPattern(true));
+            doSetsTest(conts, set, tests[i][1], tests[i][2]);
+            logln("Expansions "+exp.size()+":\n"+exp.toPattern(true));
+            doSetsTest(exp, set, tests[i][3], tests[i][4]);
+            
+            // No unsafe set in ICU4J
+            //noConts = ucol_getUnsafeSet(coll, conts, &status);
+            //doSetsTest(conts, set, tests[i][5], tests[i][6]);
+            //log_verbose("Unsafes "+conts.size()+":\n"+conts.toPattern(true)+"\n");
+        }
+    }
+}
diff --git a/src/com/ibm/icu/dev/test/collator/CollationChineseTest.java b/src/com/ibm/icu/dev/test/collator/CollationChineseTest.java
new file mode 100644
index 0000000..bf7bd16
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/collator/CollationChineseTest.java
@@ -0,0 +1,45 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2002-2005, International Business Machines Corporation and         *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+/** 
+ * Port From:   ICU4C v2.1 : Collate/CollationTurkishTest
+ * Source File: $ICU4CRoot/source/test/intltest/trcoll.cpp
+ **/
+ 
+package com.ibm.icu.dev.test.collator;
+ 
+import com.ibm.icu.dev.test.*;
+import com.ibm.icu.text.*;
+import java.util.Locale;
+ 
+public class CollationChineseTest extends TestFmwk{
+    public static void main(String[] args) throws Exception{
+        new CollationChineseTest().run(args);
+    }
+    
+    public CollationChineseTest() 
+    {
+    }
+    
+    public void TestPinYin() 
+    {
+        String seq[] 
+            = {"\u963f", "\u554a", "\u54ce", "\u6371", "\u7231", "\u9f98",
+               "\u4e5c", "\u8baa", "\u4e42", "\u53c8"};
+        RuleBasedCollator collator = null;
+        try {
+            collator = (RuleBasedCollator)Collator.getInstance(
+                                            new Locale("zh", "", "PINYIN"));
+        } catch (Exception e) {
+            warnln("ERROR: in creation of collator of zh__PINYIN locale");
+            return;
+        }
+        for (int i = 0; i < seq.length - 1; i ++) {
+            CollationTest.doTest(this, collator, seq[i], seq[i + 1], -1);
+        }
+    }
+}
\ No newline at end of file
diff --git a/src/com/ibm/icu/dev/test/collator/CollationCurrencyTest.java b/src/com/ibm/icu/dev/test/collator/CollationCurrencyTest.java
new file mode 100644
index 0000000..e66a01a
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/collator/CollationCurrencyTest.java
@@ -0,0 +1,187 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2002-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+/** 
+ * Port From:   ICU4C v2.1 : Collate/CollationCurrencyTest
+ * Source File: $ICU4CRoot/source/test/intltest/currcoll.cpp
+ **/
+ 
+package com.ibm.icu.dev.test.collator;
+ 
+import com.ibm.icu.dev.test.*;
+import com.ibm.icu.text.*;
+import java.util.Locale;
+ 
+public class CollationCurrencyTest extends TestFmwk {
+    public static void main(String[] args) throws Exception {
+        new CollationCurrencyTest().run(args);
+    }
+    
+    public void TestCurrency() {
+        // All the currency symbols, in collation order
+        char[][] currency = {
+            { 0x00A4 }, /*00A4; L; [14 36, 03, 03]    # [082B.0020.0002] # CURRENCY SIGN*/
+            { 0x00A2 }, /*00A2; L; [14 38, 03, 03]    # [082C.0020.0002] # CENT SIGN*/
+            { 0xFFE0 }, /*FFE0; L; [14 38, 03, 05]    # [082C.0020.0003] # FULLWIDTH CENT SIGN*/
+            { 0x0024 }, /*0024; L; [14 3A, 03, 03]    # [082D.0020.0002] # DOLLAR SIGN*/
+            { 0xFF04 }, /*FF04; L; [14 3A, 03, 05]    # [082D.0020.0003] # FULLWIDTH DOLLAR SIGN*/
+            { 0xFE69 }, /*FE69; L; [14 3A, 03, 1D]    # [082D.0020.000F] # SMALL DOLLAR SIGN*/
+            { 0x00A3 }, /*00A3; L; [14 3C, 03, 03]    # [082E.0020.0002] # POUND SIGN*/
+            { 0xFFE1 }, /*FFE1; L; [14 3C, 03, 05]    # [082E.0020.0003] # FULLWIDTH POUND SIGN*/
+            { 0x00A5 }, /*00A5; L; [14 3E, 03, 03]    # [082F.0020.0002] # YEN SIGN*/
+            { 0xFFE5 }, /*FFE5; L; [14 3E, 03, 05]    # [082F.0020.0003] # FULLWIDTH YEN SIGN*/
+            { 0x09F2 }, /*09F2; L; [14 40, 03, 03]    # [0830.0020.0002] # BENGALI RUPEE MARK*/
+            { 0x09F3 }, /*09F3; L; [14 42, 03, 03]    # [0831.0020.0002] # BENGALI RUPEE SIGN*/
+            { 0x0E3F }, /*0E3F; L; [14 44, 03, 03]    # [0832.0020.0002] # THAI CURRENCY SYMBOL BAHT*/
+            { 0x17DB }, /*17DB; L; [14 46, 03, 03]    # [0833.0020.0002] # KHMER CURRENCY SYMBOL RIEL*/
+            { 0x20A0 }, /*20A0; L; [14 48, 03, 03]    # [0834.0020.0002] # EURO-CURRENCY SIGN*/
+            { 0x20A1 }, /*20A1; L; [14 4A, 03, 03]    # [0835.0020.0002] # COLON SIGN*/
+            { 0x20A2 }, /*20A2; L; [14 4C, 03, 03]    # [0836.0020.0002] # CRUZEIRO SIGN*/
+            { 0x20A3 }, /*20A3; L; [14 4E, 03, 03]    # [0837.0020.0002] # FRENCH FRANC SIGN*/
+            { 0x20A4 }, /*20A4; L; [14 50, 03, 03]    # [0838.0020.0002] # LIRA SIGN*/
+            { 0x20A5 }, /*20A5; L; [14 52, 03, 03]    # [0839.0020.0002] # MILL SIGN*/
+            { 0x20A6 }, /*20A6; L; [14 54, 03, 03]    # [083A.0020.0002] # NAIRA SIGN*/
+            { 0x20A7 }, /*20A7; L; [14 56, 03, 03]    # [083B.0020.0002] # PESETA SIGN*/
+            { 0x20A9 }, /*20A9; L; [14 58, 03, 03]    # [083C.0020.0002] # WON SIGN*/
+            { 0xFFE6 }, /*FFE6; L; [14 58, 03, 05]    # [083C.0020.0003] # FULLWIDTH WON SIGN*/
+            { 0x20AA }, /*20AA; L; [14 5A, 03, 03]    # [083D.0020.0002] # NEW SHEQEL SIGN*/
+            { 0x20AB }, /*20AB; L; [14 5C, 03, 03]    # [083E.0020.0002] # DONG SIGN*/
+            { 0x20AC }, /*20AC; L; [14 5E, 03, 03]    # [083F.0020.0002] # EURO SIGN*/
+            { 0x20AD }, /*20AD; L; [14 60, 03, 03]    # [0840.0020.0002] # KIP SIGN*/
+            { 0x20AE }, /*20AE; L; [14 62, 03, 03]    # [0841.0020.0002] # TUGRIK SIGN*/
+            { 0x20AF } /*20AF; L; [14 64, 03, 03]    # [0842.0020.0002] # DRACHMA SIGN*/
+        };
+    
+        int i, j;
+        int expectedResult = 0;
+        RuleBasedCollator c = (RuleBasedCollator)Collator.getInstance(Locale.ENGLISH);
+        
+        // Compare each currency symbol against all the
+        // currency symbols, including itself
+        String source;
+        String target;
+        
+        for (i = 0; i < currency.length; i += 1) {
+            for (j = 0; j < currency.length; j += 1) {
+                source = new String(currency[i]);
+                target = new String(currency[j]);
+
+                if (i < j) {
+                    expectedResult = -1;
+                } else if ( i == j) {
+                    expectedResult = 0;
+                } else {
+                    expectedResult = 1;
+                }
+
+                int compareResult = c.compare(source, target);
+                CollationKey sourceKey = null;
+            
+                sourceKey = c.getCollationKey(source);
+
+                if (sourceKey == null) {
+                    errln("Couldn't get collationKey for source");
+                    continue;
+                }
+            
+                CollationKey targetKey = null;
+                targetKey = c.getCollationKey(target);
+                if (targetKey == null) {
+                    errln("Couldn't get collationKey for source");
+                    continue;
+                }
+
+                int keyResult = sourceKey.compareTo(targetKey);
+
+                reportCResult( source, target, sourceKey, targetKey, compareResult, keyResult, compareResult, expectedResult );
+            }
+        }
+    }
+    
+    private void reportCResult( String source, String target, CollationKey sourceKey, CollationKey targetKey,
+                                int compareResult, int keyResult, int incResult, int expectedResult ) {
+        if (expectedResult < -1 || expectedResult > 1) {
+            errln("***** invalid call to reportCResult ****");
+            return;
+        }
+
+        boolean ok1 = (compareResult == expectedResult);
+        boolean ok2 = (keyResult == expectedResult);
+        boolean ok3 = (incResult == expectedResult);
+
+        if (ok1 && ok2 && ok3 && !isVerbose()) {
+            return;    
+        } else {
+            String msg1 = ok1? "Ok: compare(\"" : "FAIL: compare(\"";
+            String msg2 = "\", \"";
+            String msg3 = "\") returned ";
+            String msg4 = "; expected ";
+            
+            String sExpect = new String("");
+            String sResult = new String("");
+            sResult = appendCompareResult(compareResult, sResult);
+            sExpect = appendCompareResult(expectedResult, sExpect);
+            if (ok1) {
+                logln(msg1 + source + msg2 + target + msg3 + sResult);
+            } else {
+                errln(msg1 + source + msg2 + target + msg3 + sResult + msg4 + sExpect);
+            }
+            
+            msg1 = ok2 ? "Ok: key(\"" : "FAIL: key(\"";
+            msg2 = "\").compareTo(key(\"";
+            msg3 = "\")) returned ";
+            sResult = appendCompareResult(keyResult, sResult);
+            if (ok2) {
+                logln(msg1 + source + msg2 + target + msg3 + sResult);
+            } else {
+                errln(msg1 + source + msg2 + target + msg3 + sResult + msg4 + sExpect);
+                msg1 = "  ";
+                msg2 = " vs. ";
+                errln(msg1 + prettify(sourceKey) + msg2 + prettify(targetKey));
+            }
+            
+            msg1 = ok3 ? "Ok: incCompare(\"" : "FAIL: incCompare(\"";
+            msg2 = "\", \"";
+            msg3 = "\") returned ";
+
+            sResult = appendCompareResult(incResult, sResult);
+
+            if (ok3) {
+                logln(msg1 + source + msg2 + target + msg3 + sResult);
+            } else {
+                errln(msg1 + source + msg2 + target + msg3 + sResult + msg4 + sExpect);
+            }                
+        }
+    }
+    
+    private String appendCompareResult(int result, String target){
+        if (result == -1) {
+            target += "LESS";
+        } else if (result == 0) {
+            target += "EQUAL";
+        } else if (result == 1) {
+            target += "GREATER";
+        } else {
+            String huh = "?";
+            target += huh + result;
+        }
+        return target;
+    }
+    
+    String prettify(CollationKey sourceKey) {
+        int i;
+        byte[] bytes= sourceKey.toByteArray();
+        String target = "[";
+    
+        for (i = 0; i < bytes.length; i++) {
+            target += Integer.toHexString(bytes[i]);
+            target += " ";
+        }
+        target += "]";
+        return target;
+    }
+}
\ No newline at end of file
diff --git a/src/com/ibm/icu/dev/test/collator/CollationDummyTest.java b/src/com/ibm/icu/dev/test/collator/CollationDummyTest.java
new file mode 100644
index 0000000..13e67cd
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/collator/CollationDummyTest.java
@@ -0,0 +1,513 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2002-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+/** 
+ * Port From:   ICU4C v2.1 : Collate/CollationDummyTest
+ * Source File: $ICU4CRoot/source/test/intltest/allcoll.cpp
+ *              $ICU4CRoot/source/test/cintltst/callcoll.c
+ **/
+ 
+package com.ibm.icu.dev.test.collator;
+ 
+import com.ibm.icu.dev.test.*;
+import com.ibm.icu.text.*;
+
+import java.util.Locale;
+ 
+public class CollationDummyTest extends TestFmwk {
+    public static void main(String[] args) throws Exception {
+        new CollationDummyTest().run(args);
+        // new CollationDummyTest().TestVariableTop();
+    }
+    
+    //testSourceCases[][] and testTargetCases[][], testCases[][] are ported from the file callcoll.c in icu4c
+    private static char[][] testSourceCases = {
+        {0x61, 0x62, 0x27, 0x63},
+        {0x63, 0x6f, 0x2d, 0x6f, 0x70},
+        {0x61, 0x62},
+        {0x61, 0x6d, 0x70, 0x65, 0x72, 0x73, 0x61, 0x64},
+        {0x61, 0x6c, 0x6c},
+        {0x66, 0x6f, 0x75, 0x72},
+        {0x66, 0x69, 0x76, 0x65},
+        {0x31},
+        {0x31},
+        {0x31},                                            //  10 
+        {0x32},
+        {0x32},
+        {0x48, 0x65, 0x6c, 0x6c, 0x6f},
+        {0x61, 0x3c, 0x62},
+        {0x61, 0x3c, 0x62},
+        {0x61, 0x63, 0x63},
+        {0x61, 0x63, 0x48, 0x63},  //  simple test 
+        {0x70, 0x00EA, 0x63, 0x68, 0x65},
+        {0x61, 0x62, 0x63},
+        {0x61, 0x62, 0x63},                                  //  20 
+        {0x61, 0x62, 0x63},
+        {0x61, 0x62, 0x63},
+        {0x61, 0x62, 0x63},
+        {0x61, 0x00E6, 0x63},
+        {0x61, 0x63, 0x48, 0x63},  //  primary test 
+        {0x62, 0x6c, 0x61, 0x63, 0x6b},
+        {0x66, 0x6f, 0x75, 0x72},
+        {0x66, 0x69, 0x76, 0x65},
+        {0x31},
+        {0x61, 0x62, 0x63},                                        //  30 
+        {0x61, 0x62, 0x63},                                  
+        {0x61, 0x62, 0x63, 0x48},
+        {0x61, 0x62, 0x63},
+        {0x61, 0x63, 0x48, 0x63},                              //  34 
+        {0x61, 0x63, 0x65, 0x30},
+        {0x31, 0x30},
+        {0x70, 0x00EA,0x30}                                    // 37     
+    };
+
+    private static char[][] testTargetCases = {
+        {0x61, 0x62, 0x63, 0x27},
+        {0x43, 0x4f, 0x4f, 0x50},
+        {0x61, 0x62, 0x63},
+        {0x26},
+        {0x26},
+        {0x34},
+        {0x35},
+        {0x6f, 0x6e, 0x65},
+        {0x6e, 0x6e, 0x65},
+        {0x70, 0x6e, 0x65},                                  //  10 
+        {0x74, 0x77, 0x6f},
+        {0x75, 0x77, 0x6f},
+        {0x68, 0x65, 0x6c, 0x6c, 0x4f},
+        {0x61, 0x3c, 0x3d, 0x62},
+        {0x61, 0x62, 0x63},
+        {0x61, 0x43, 0x48, 0x63},
+        {0x61, 0x43, 0x48, 0x63},  //  simple test 
+        {0x70, 0x00E9, 0x63, 0x68, 0x00E9},
+        {0x61, 0x62, 0x63},
+        {0x61, 0x42, 0x43},                                  //  20 
+        {0x61, 0x62, 0x63, 0x68},
+        {0x61, 0x62, 0x64},
+        {0x00E4, 0x62, 0x63},
+        {0x61, 0x00C6, 0x63},
+        {0x61, 0x43, 0x48, 0x63},  //  primary test 
+        {0x62, 0x6c, 0x61, 0x63, 0x6b, 0x2d, 0x62, 0x69, 0x72, 0x64},
+        {0x34},
+        {0x35},
+        {0x6f, 0x6e, 0x65},
+        {0x61, 0x62, 0x63},
+        {0x61, 0x42, 0x63},                                  //  30 
+        {0x61, 0x62, 0x63, 0x68},
+        {0x61, 0x62, 0x64},
+        {0x61, 0x43, 0x48, 0x63},                                //  34 
+        {0x61, 0x63, 0x65, 0x30},
+        {0x31, 0x30},
+        {0x70, 0x00EB,0x30}                                    // 37 
+    };
+    
+    private static char[][] testCases = {
+        {0x61},
+        {0x41},
+        {0x00e4},
+        {0x00c4},
+        {0x61, 0x65},
+        {0x61, 0x45},
+        {0x41, 0x65},
+        {0x41, 0x45},
+        {0x00e6},
+        {0x00c6},
+        {0x62},
+        {0x63},
+        {0x7a}
+    };
+    
+    int[] results = {
+        -1,
+        -1, //Collator::GREATER,
+        -1,
+        -1,
+        -1,
+        -1,
+        -1,
+        1,
+        1,
+        -1,                                     //  10 
+        1,
+        -1,
+        1,
+        1,
+        -1,
+        -1,
+        -1,
+    //  test primary > 17 
+        0,
+        0,
+        0,                                    //  20 
+        -1,
+        -1,
+        0,
+        0,
+        0,
+        -1,
+    //  test secondary > 26 
+        0,
+        0,
+        0,
+        0,
+        0,                                    //  30 
+        0,
+        -1,
+        0,                                     //  34 
+        0,
+        0,
+        -1 
+    };
+    
+    final int MAX_TOKEN_LEN = 16;
+    
+    public RuleBasedCollator myCollation;
+    
+    public CollationDummyTest() {
+    }
+    protected void init() throws Exception{
+        String ruleset = "& C < ch, cH, Ch, CH & Five, 5 & Four, 4 & one, 1 & Ampersand; '&' & Two, 2 ";
+        // String ruleset = "& Four, 4";
+        myCollation = null;
+        myCollation = new RuleBasedCollator(ruleset);
+    }
+    
+    // perform test with strength tertiary
+    public void TestTertiary() {
+        int i = 0;
+        myCollation.setStrength(Collator.TERTIARY);
+        for (i = 0; i < 17 ; i++) {
+            doTest(myCollation, testSourceCases[i], testTargetCases[i], results[i]);
+        }
+    }
+
+    // perform test with strength PRIMARY
+    public void TestPrimary() {
+       // problem in strcollinc for unfinshed contractions 
+       myCollation.setStrength(Collator.PRIMARY);
+        for (int i = 17; i < 26 ; i++) {
+            doTest(myCollation, testSourceCases[i], testTargetCases[i], results[i]);
+        }
+    }
+
+    //perform test with strength SECONDARY
+    public void TestSecondary() {
+        int i;
+        myCollation.setStrength(Collator.SECONDARY);
+        for (i = 26; i < 34; i++) {
+            doTest(myCollation, testSourceCases[i], testTargetCases[i], results[i]);
+        }
+    }
+
+    // perform extra tests
+    public void TestExtra() {
+        int i, j;
+        myCollation.setStrength(Collator.TERTIARY);
+        for (i = 0; i < testCases.length - 1; i++) {
+            for (j = i + 1; j < testCases.length; j += 1) {
+                doTest(myCollation, testCases[i], testCases[j], -1);
+            }
+        }
+    }
+
+    public void TestIdentical() {
+        int i;
+        myCollation.setStrength(Collator.IDENTICAL);
+        for (i= 34; i<37; i++) {
+            doTest(myCollation, testSourceCases[i], testTargetCases[i], results[i]);
+        }
+    }
+
+    public void TestJB581() {
+        String source = "THISISATEST.";
+        String target = "Thisisatest.";
+        Collator coll = null;
+        try {
+            coll = Collator.getInstance(Locale.ENGLISH);
+        } catch (Exception e) {
+            errln("ERROR: Failed to create the collator for : en_US\n");
+            return;
+        }
+
+        int result = coll.compare(source, target);
+        // result is 1, secondary differences only for ignorable space characters
+        if (result != 1) {
+            errln("Comparing two strings with only secondary differences in C failed.\n");
+            return;
+        }
+        
+        // To compare them with just primary differences 
+        coll.setStrength(Collator.PRIMARY);
+        result = coll.compare(source, target);
+        // result is 0 
+        if (result != 0) {
+            errln("Comparing two strings with no differences in C failed.\n");
+            return;
+        } 
+          
+        // Now, do the same comparison with keys 
+        CollationKey sourceKeyOut, targetKeyOut;
+        sourceKeyOut = coll.getCollationKey(source);
+        targetKeyOut = coll.getCollationKey(target);
+        result = sourceKeyOut.compareTo(targetKeyOut);
+        if (result != 0) {
+            errln("Comparing two strings with sort keys in C failed.\n");
+            return;
+        }
+    }
+    
+    //TestSurrogates() is ported from cintltst/callcoll.c
+    
+    /**
+    * Tests surrogate support.
+    */
+    public void TestSurrogates() 
+    {
+        String rules = "&z<'\ud800\udc00'<'\ud800\udc0a\u0308'<A";
+        String source[] = {"z",
+                           "\uD800\uDC00",
+                           "\ud800\udc0a\u0308",
+                           "\ud800\udc02"    
+        };
+        
+        String target[] = {"\uD800\uDC00",
+                           "\ud800\udc0a\u0308",
+                           "A",
+                           "\ud800\udc03"    
+        };
+    
+        // this test is to verify the supplementary sort key order in the english 
+        // collator
+        Collator enCollation;
+        try {
+            enCollation = Collator.getInstance(Locale.ENGLISH);
+        } catch (Exception e) {
+            errln("ERROR: Failed to create the collator for ENGLISH");
+            return;       
+        }
+        
+        myCollation.setStrength(Collator.TERTIARY);
+        int count = 0;
+        // logln("start of english collation supplementary characters test\n");
+        while (count < 2) {
+            doTest(enCollation, source[count], target[count], -1);
+            count ++;
+        }
+        doTest(enCollation, source[count], target[count], 1);
+            
+        // logln("start of tailored collation supplementary characters test\n");
+        count = 0;
+        Collator newCollation;
+        try {
+            newCollation = new RuleBasedCollator(rules);
+        } catch (Exception e) {
+            errln("ERROR: Failed to create the collator for rules");
+            return;       
+        }
+        
+        // tests getting collation elements for surrogates for tailored rules 
+        while (count < 4) {
+            doTest(newCollation, source[count], target[count], -1);
+            count ++;
+        }
+    
+        // tests that \uD801\uDC01 still has the same value, not changed 
+        CollationKey enKey = enCollation.getCollationKey(source[3]);
+        CollationKey newKey = newCollation.getCollationKey(source[3]);
+        int keyResult = enKey.compareTo(newKey);
+        if(keyResult != 0) {
+            errln("Failed : non-tailored supplementary characters should have the same value\n");
+        }
+    }
+    
+    //TestVariableTop() is ported from cintltst/callcoll.c
+    /**
+    * Tests the [variable top] tag in rule syntax. Since the default [alternate]
+    * tag has the value shifted, any codepoints before [variable top] should give
+    * a primary ce of 0.
+    */
+    public void TestVariableTop() {
+        String rule = "&z = [variable top]";
+        Collator  myColl;
+        Collator  enColl;
+        char[] source = new char[1];
+        char ch;
+        int expected[] = {0};
+    
+        try {
+            enColl = Collator.getInstance(Locale.ENGLISH);
+        } catch (Exception e) {
+            errln("ERROR: Failed to create the collator for ENGLISH");
+            return;
+        }
+        
+        try{
+            myColl = new RuleBasedCollator(rule);
+        } catch(Exception e){
+            errln("Fail to create RuleBasedCollator with rules:" + rule);
+            return;
+        }  
+        enColl.setStrength(Collator.PRIMARY);
+        myColl.setStrength(Collator.PRIMARY);
+        
+        ((RuleBasedCollator)enColl).setAlternateHandlingShifted(true);
+        ((RuleBasedCollator)myColl).setAlternateHandlingShifted(true);
+        
+        if(((RuleBasedCollator)enColl).isAlternateHandlingShifted() != true) {
+            errln("ERROR: ALTERNATE_HANDLING value can not be set to SHIFTED\n");
+        }
+        
+        // space is supposed to be a variable 
+        CollationKey key = enColl.getCollationKey(" ");   
+        byte[] result = key.toByteArray(); 
+        
+        for(int i = 0; i < result.length; i++) {
+            if(result[i]!= expected[i]) {
+                errln("ERROR: SHIFTED alternate does not return 0 for primary of space\n");  
+                break;  
+            }
+        }
+        
+        ch = 'a';
+        while (ch < 'z') {
+            source[0] = ch;
+            key = myColl.getCollationKey(new String(source));
+            result = key.toByteArray();
+            
+            for(int i = 0; i < result.length; i++) {
+                if(result[i]!= expected[i]) {
+                    errln("ERROR: SHIFTED alternate does not return 0 for primary of space\n");  
+                    break;  
+                }
+            }
+            ch ++;
+        }
+    }
+    
+    public void TestJB1401() {
+        Collator     myCollator = null;
+        char[] NFD_UnsafeStartChars = {
+            0x0f73,          // Tibetan Vowel Sign II 
+            0x0f75,          // Tibetan Vowel Sign UU 
+            0x0f81,          // Tibetan Vowel Sign Reversed II 
+            0
+        };
+        int i;
+    
+        try{
+            myCollator = Collator.getInstance(Locale.ENGLISH);
+        } catch(Exception e) {
+            errln("ERROR: Failed to create the collator for ENGLISH");
+            return;
+        }
+        myCollator.setDecomposition(Collator.CANONICAL_DECOMPOSITION);
+        for (i=0; ; i++) {
+            // Get the next funny character to be tested, and set up the
+            // three test strings X, Y, Z, consisting of an A-grave + test char,
+            // in original form, NFD, and then NFC form.
+            char c = NFD_UnsafeStartChars[i];
+            if (c==0) {break;}
+            
+            String x = "\u00C0" + c;       // \u00C0 is A Grave
+            String y;
+            String z;
+    
+            try{
+                y = Normalizer.decompose(x, false);
+                z = Normalizer.decompose(y, true);
+            } catch (Exception e) {
+                errln("ERROR: Failed to normalize test of character" + c);
+                return;
+            }
+       
+            // Collation test.  All three strings should be equal.
+            // doTest does both strcoll and sort keys, with params in both orders.
+            doTest(myCollator, x, y, 0);
+            doTest(myCollator, x, z, 0);
+            doTest(myCollator, y, z, 0); 
+    
+            // Run collation element iterators over the three strings.  Results should be same for each.
+             
+            {
+                CollationElementIterator ceiX, ceiY, ceiZ;
+                int ceX, ceY, ceZ;
+                int j;
+                try {
+                    ceiX = ((RuleBasedCollator)myCollator).getCollationElementIterator(x);
+                    ceiY = ((RuleBasedCollator)myCollator).getCollationElementIterator(y);
+                    ceiZ = ((RuleBasedCollator)myCollator).getCollationElementIterator(z);
+                } catch(Exception e) {
+                    errln("ERROR: getCollationElementIterator failed");
+                    return;
+                }
+    
+                for (j=0;; j++) {
+                    try{
+                        ceX = ceiX.next();
+                        ceY = ceiY.next();
+                        ceZ = ceiZ.next();
+                    } catch (Exception e) {
+                        errln("ERROR: CollationElementIterator.next failed for iteration " + j);
+                        break;
+                    }
+                  
+                    if (ceX != ceY || ceY != ceZ) {
+                        errln("ERROR: ucol_next failed for iteration " + j);
+                        break;
+                    }
+                    if (ceX == CollationElementIterator.NULLORDER) {
+                        break;
+                    }
+                }
+            }
+        }
+    }
+    
+    // main test method called with different strengths,
+    // tests comparison of custum collation with different strengths
+    
+    private void doTest(Collator collation, char[] source, char[] target, int result) {
+        String s = new String(source);
+        String t = new String(target);
+        doTestVariant(collation, s, t, result);
+        if(result == -1) {
+            doTestVariant(collation, t, s, 1);
+        } else if(result == 1) {
+            doTestVariant(collation, t, s, -1);
+        } else {
+            doTestVariant(collation, t, s, 0);
+        }
+    }
+    
+    // main test method called with different strengths,
+    // tests comparison of custum collation with different strengths
+    
+    private void doTest(Collator collation,String s, String t, int result) {
+        doTestVariant(collation, s, t, result);
+        if(result == -1) {
+            doTestVariant(collation, t, s, 1);
+        } else if(result == 1) {
+            doTestVariant(collation, t, s, -1);
+        } else {
+            doTestVariant(collation, t, s, 0);
+        }
+    }
+    
+    private void doTestVariant(Collator collation, String source, String target, int result) {
+        int compareResult = collation.compare(source, target);
+        CollationKey srckey , tgtkey;
+        srckey = collation.getCollationKey(source);
+        tgtkey = collation.getCollationKey(target);
+        int keyResult = srckey.compareTo(tgtkey);
+        if (compareResult != result) {
+            errln("String comparison failed in variant test\n");
+        }
+        if (keyResult != result) {
+            errln("Collation key comparison failed in variant test\n");
+        }
+    }
+}
\ No newline at end of file
diff --git a/src/com/ibm/icu/dev/test/collator/CollationEnglishTest.java b/src/com/ibm/icu/dev/test/collator/CollationEnglishTest.java
new file mode 100644
index 0000000..d1732ba
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/collator/CollationEnglishTest.java
@@ -0,0 +1,423 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2002-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+/** 
+ * Port From:   ICU4C v2.1 : Collate/CollationEnglishTest
+ * Source File: $ICU4CRoot/source/test/intltest/encoll.cpp
+ **/
+ 
+package com.ibm.icu.dev.test.collator;
+ 
+import com.ibm.icu.dev.test.*;
+import com.ibm.icu.text.*;
+
+import java.util.Locale;
+ 
+public class CollationEnglishTest extends TestFmwk{
+    public static void main(String[] args) throws Exception{
+        new CollationEnglishTest().run(args);
+    }
+    
+    private static char[][] testSourceCases = {
+        {0x0061 /* 'a' */, 0x0062 /* 'b' */},
+        {0x0062 /* 'b' */, 0x006C /* 'l' */, 0x0061 /* 'a' */, 0x0063 /* 'c' */, 0x006B /* 'k' */, 0x002D /* '-' */, 0x0062 /* 'b' */, 0x0069 /* 'i' */, 0x0072 /* 'r' */, 0x0064 /* 'd' */},
+        {0x0062 /* 'b' */, 0x006C /* 'l' */, 0x0061 /* 'a' */, 0x0063 /* 'c' */, 0x006B /* 'k' */, 0x0020 /* ' ' */, 0x0062 /* 'b' */, 0x0069 /* 'i' */, 0x0072 /* 'r' */, 0x0064 /* 'd' */},
+        {0x0062 /* 'b' */, 0x006C /* 'l' */, 0x0061 /* 'a' */, 0x0063 /* 'c' */, 0x006B /* 'k' */, 0x002D /* '-' */, 0x0062 /* 'b' */, 0x0069 /* 'i' */, 0x0072 /* 'r' */, 0x0064 /* 'd' */},
+        {0x0048 /* 'H' */, 0x0065 /* 'e' */, 0x006C /* 'l' */, 0x006C /* 'l' */, 0x006F /* 'o' */},
+        {0x0041 /* 'A' */, 0x0042 /* 'B' */, 0x0043 /* 'C' */}, 
+        {0x0061 /* 'a' */, 0x0062 /* 'b' */, 0x0063 /* 'c' */},
+        {0x0062 /* 'b' */, 0x006C /* 'l' */, 0x0061 /* 'a' */, 0x0063 /* 'c' */, 0x006B /* 'k' */, 0x0062 /* 'b' */, 0x0069 /* 'i' */, 0x0072 /* 'r' */, 0x0064 /* 'd' */},
+        {0x0062 /* 'b' */, 0x006C /* 'l' */, 0x0061 /* 'a' */, 0x0063 /* 'c' */, 0x006B /* 'k' */, 0x002D /* '-' */, 0x0062 /* 'b' */, 0x0069 /* 'i' */, 0x0072 /* 'r' */, 0x0064 /* 'd' */},
+        {0x0062 /* 'b' */, 0x006C /* 'l' */, 0x0061 /* 'a' */, 0x0063 /* 'c' */, 0x006B /* 'k' */, 0x002D /* '-' */, 0x0062 /* 'b' */, 0x0069 /* 'i' */, 0x0072 /* 'r' */, 0x0064 /* 'd' */},
+        {0x0070 /* 'p' */, 0x00EA, 0x0063 /* 'c' */, 0x0068 /* 'h' */, 0x0065 /* 'e' */},                                            
+        {0x0070 /* 'p' */, 0x00E9, 0x0063 /* 'c' */, 0x0068 /* 'h' */, 0x00E9},
+        {0x00C4, 0x0042 /* 'B' */, 0x0308, 0x0043 /* 'C' */, 0x0308},
+        {0x0061 /* 'a' */, 0x0308, 0x0062 /* 'b' */, 0x0063 /* 'c' */},
+        {0x0070 /* 'p' */, 0x00E9, 0x0063 /* 'c' */, 0x0068 /* 'h' */, 0x0065 /* 'e' */, 0x0072 /* 'r' */},
+        {0x0072 /* 'r' */, 0x006F /* 'o' */, 0x006C /* 'l' */, 0x0065 /* 'e' */, 0x0073 /* 's' */},
+        {0x0061 /* 'a' */, 0x0062 /* 'b' */, 0x0063 /* 'c' */},
+        {0x0041 /* 'A' */},
+        {0x0041 /* 'A' */},
+        {0x0061 /* 'a' */, 0x0062 /* 'b' */},                                                                
+        {0x0074 /* 't' */, 0x0063 /* 'c' */, 0x006F /* 'o' */, 0x006D /* 'm' */, 0x0070 /* 'p' */, 0x0061 /* 'a' */, 0x0072 /* 'r' */, 0x0065 /* 'e' */, 0x0070 /* 'p' */, 0x006C /* 'l' */, 0x0061 /* 'a' */, 0x0069 /* 'i' */, 0x006E /* 'n' */},
+        {0x0061 /* 'a' */, 0x0062 /* 'b' */}, 
+        {0x0061 /* 'a' */, 0x0023 /* '#' */, 0x0062 /* 'b' */},
+        {0x0061 /* 'a' */, 0x0023 /* '#' */, 0x0062 /* 'b' */},
+        {0x0061 /* 'a' */, 0x0062 /* 'b' */, 0x0063 /* 'c' */},
+        {0x0041 /* 'A' */, 0x0062 /* 'b' */, 0x0063 /* 'c' */, 0x0064 /* 'd' */, 0x0061 /* 'a' */},
+        {0x0061 /* 'a' */, 0x0062 /* 'b' */, 0x0063 /* 'c' */, 0x0064 /* 'd' */, 0x0061 /* 'a' */},
+        {0x0061 /* 'a' */, 0x0062 /* 'b' */, 0x0063 /* 'c' */, 0x0064 /* 'd' */, 0x0061 /* 'a' */},
+        {0x00E6, 0x0062 /* 'b' */, 0x0063 /* 'c' */, 0x0064 /* 'd' */, 0x0061 /* 'a' */},
+        {0x00E4, 0x0062 /* 'b' */, 0x0063 /* 'c' */, 0x0064 /* 'd' */, 0x0061 /* 'a' */},                                            
+        {0x0061 /* 'a' */, 0x0062 /* 'b' */, 0x0063 /* 'c' */},
+        {0x0061 /* 'a' */, 0x0062 /* 'b' */, 0x0063 /* 'c' */},
+        {0x0061 /* 'a' */, 0x0062 /* 'b' */, 0x0063 /* 'c' */},
+        {0x0061 /* 'a' */, 0x0062 /* 'b' */, 0x0063 /* 'c' */},
+        {0x0061 /* 'a' */, 0x0062 /* 'b' */, 0x0063 /* 'c' */},
+        {0x0061 /* 'a' */, 0x0063 /* 'c' */, 0x0048 /* 'H' */, 0x0063 /* 'c' */},
+        {0x0061 /* 'a' */, 0x0308, 0x0062 /* 'b' */, 0x0063 /* 'c' */},
+        {0x0074 /* 't' */, 0x0068 /* 'h' */, 0x0069 /* 'i' */, 0x0302, 0x0073 /* 's' */},
+        {0x0070 /* 'p' */, 0x00EA, 0x0063 /* 'c' */, 0x0068 /* 'h' */, 0x0065 /* 'e' */},
+        {0x0061 /* 'a' */, 0x0062 /* 'b' */, 0x0063 /* 'c' */},                                                         
+        {0x0061 /* 'a' */, 0x0062 /* 'b' */, 0x0063 /* 'c' */},
+        {0x0061 /* 'a' */, 0x0062 /* 'b' */, 0x0063 /* 'c' */},
+        {0x0061 /* 'a' */, 0x00E6, 0x0063 /* 'c' */},
+        {0x0061 /* 'a' */, 0x0062 /* 'b' */, 0x0063 /* 'c' */},
+        {0x0061 /* 'a' */, 0x0062 /* 'b' */, 0x0063 /* 'c' */},
+        {0x0061 /* 'a' */, 0x00E6, 0x0063 /* 'c' */},
+        {0x0061 /* 'a' */, 0x0062 /* 'b' */, 0x0063 /* 'c' */},
+        {0x0061 /* 'a' */, 0x0062 /* 'b' */, 0x0063 /* 'c' */},               
+        {0x0070 /* 'p' */, 0x00E9, 0x0063 /* 'c' */, 0x0068 /* 'h' */, 0x00E9}                                            // 49
+    };
+    
+    private static char[][] testTargetCases = {
+        {0x0061 /* 'a' */, 0x0062 /* 'b' */, 0x0063 /* 'c' */},
+        {0x0062 /* 'b' */, 0x006C /* 'l' */, 0x0061 /* 'a' */, 0x0063 /* 'c' */, 0x006B /* 'k' */, 0x0062 /* 'b' */, 0x0069 /* 'i' */, 0x0072 /* 'r' */, 0x0064 /* 'd' */},
+        {0x0062 /* 'b' */, 0x006C /* 'l' */, 0x0061 /* 'a' */, 0x0063 /* 'c' */, 0x006B /* 'k' */, 0x002D /* '-' */, 0x0062 /* 'b' */, 0x0069 /* 'i' */, 0x0072 /* 'r' */, 0x0064 /* 'd' */},
+        {0x0062 /* 'b' */, 0x006C /* 'l' */, 0x0061 /* 'a' */, 0x0063 /* 'c' */, 0x006B /* 'k' */},
+        {0x0068 /* 'h' */, 0x0065 /* 'e' */, 0x006C /* 'l' */, 0x006C /* 'l' */, 0x006F /* 'o' */},
+        {0x0041 /* 'A' */, 0x0042 /* 'B' */, 0x0043 /* 'C' */},
+        {0x0041 /* 'A' */, 0x0042 /* 'B' */, 0x0043 /* 'C' */},
+        {0x0062 /* 'b' */, 0x006C /* 'l' */, 0x0061 /* 'a' */, 0x0063 /* 'c' */, 0x006B /* 'k' */, 0x0062 /* 'b' */, 0x0069 /* 'i' */, 0x0072 /* 'r' */, 0x0064 /* 'd' */, 0x0073 /* 's' */},
+        {0x0062 /* 'b' */, 0x006C /* 'l' */, 0x0061 /* 'a' */, 0x0063 /* 'c' */, 0x006B /* 'k' */, 0x0062 /* 'b' */, 0x0069 /* 'i' */, 0x0072 /* 'r' */, 0x0064 /* 'd' */, 0x0073 /* 's' */},
+        {0x0062 /* 'b' */, 0x006C /* 'l' */, 0x0061 /* 'a' */, 0x0063 /* 'c' */, 0x006B /* 'k' */, 0x0062 /* 'b' */, 0x0069 /* 'i' */, 0x0072 /* 'r' */, 0x0064 /* 'd' */},                             
+        {0x0070 /* 'p' */, 0x00E9, 0x0063 /* 'c' */, 0x0068 /* 'h' */, 0x00E9},
+        {0x0070 /* 'p' */, 0x00E9, 0x0063 /* 'c' */, 0x0068 /* 'h' */, 0x0065 /* 'e' */, 0x0072 /* 'r' */},
+        {0x00C4, 0x0042 /* 'B' */, 0x0308, 0x0043 /* 'C' */, 0x0308},
+        {0x0041 /* 'A' */, 0x0308, 0x0062 /* 'b' */, 0x0063 /* 'c' */},
+        {0x0070 /* 'p' */, 0x00E9, 0x0063 /* 'c' */, 0x0068 /* 'h' */, 0x0065 /* 'e' */},
+        {0x0072 /* 'r' */, 0x006F /* 'o' */, 0x0302, 0x006C /* 'l' */, 0x0065 /* 'e' */},
+        {0x0041 /* 'A' */, 0x00E1, 0x0063 /* 'c' */, 0x0064 /* 'd' */},
+        {0x0041 /* 'A' */, 0x00E1, 0x0063 /* 'c' */, 0x0064 /* 'd' */},
+        {0x0061 /* 'a' */, 0x0062 /* 'b' */, 0x0063 /* 'c' */},
+        {0x0061 /* 'a' */, 0x0062 /* 'b' */, 0x0063 /* 'c' */},                                                             
+        {0x0054 /* 'T' */, 0x0043 /* 'C' */, 0x006F /* 'o' */, 0x006D /* 'm' */, 0x0070 /* 'p' */, 0x0061 /* 'a' */, 0x0072 /* 'r' */, 0x0065 /* 'e' */, 0x0050 /* 'P' */, 0x006C /* 'l' */, 0x0061 /* 'a' */, 0x0069 /* 'i' */, 0x006E /* 'n' */},
+        {0x0061 /* 'a' */, 0x0042 /* 'B' */, 0x0063 /* 'c' */},
+        {0x0061 /* 'a' */, 0x0023 /* '#' */, 0x0042 /* 'B' */},
+        {0x0061 /* 'a' */, 0x0026 /* '&' */, 0x0062 /* 'b' */},
+        {0x0061 /* 'a' */, 0x0023 /* '#' */, 0x0063 /* 'c' */},
+        {0x0061 /* 'a' */, 0x0062 /* 'b' */, 0x0063 /* 'c' */, 0x0064 /* 'd' */, 0x0061 /* 'a' */},
+        {0x00C4, 0x0062 /* 'b' */, 0x0063 /* 'c' */, 0x0064 /* 'd' */, 0x0061 /* 'a' */},
+        {0x00E4, 0x0062 /* 'b' */, 0x0063 /* 'c' */, 0x0064 /* 'd' */, 0x0061 /* 'a' */},
+        {0x00C4, 0x0062 /* 'b' */, 0x0063 /* 'c' */, 0x0064 /* 'd' */, 0x0061 /* 'a' */},
+        {0x00C4, 0x0062 /* 'b' */, 0x0063 /* 'c' */, 0x0064 /* 'd' */, 0x0061 /* 'a' */},                                             
+        {0x0061 /* 'a' */, 0x0062 /* 'b' */, 0x0023 /* '#' */, 0x0063 /* 'c' */},
+        {0x0061 /* 'a' */, 0x0062 /* 'b' */, 0x0063 /* 'c' */},
+        {0x0061 /* 'a' */, 0x0062 /* 'b' */, 0x003D /* '=' */, 0x0063 /* 'c' */},
+        {0x0061 /* 'a' */, 0x0062 /* 'b' */, 0x0064 /* 'd' */},
+        {0x00E4, 0x0062 /* 'b' */, 0x0063 /* 'c' */},
+        {0x0061 /* 'a' */, 0x0043 /* 'C' */, 0x0048 /* 'H' */, 0x0063 /* 'c' */},
+        {0x00E4, 0x0062 /* 'b' */, 0x0063 /* 'c' */},
+        {0x0074 /* 't' */, 0x0068 /* 'h' */, 0x00EE, 0x0073 /* 's' */},
+        {0x0070 /* 'p' */, 0x00E9, 0x0063 /* 'c' */, 0x0068 /* 'h' */, 0x00E9},
+        {0x0061 /* 'a' */, 0x0042 /* 'B' */, 0x0043 /* 'C' */},                                                          
+        {0x0061 /* 'a' */, 0x0062 /* 'b' */, 0x0064 /* 'd' */},
+        {0x00E4, 0x0062 /* 'b' */, 0x0063 /* 'c' */},
+        {0x0061 /* 'a' */, 0x00C6, 0x0063 /* 'c' */},
+        {0x0061 /* 'a' */, 0x0042 /* 'B' */, 0x0064 /* 'd' */},
+        {0x00E4, 0x0062 /* 'b' */, 0x0063 /* 'c' */},
+        {0x0061 /* 'a' */, 0x00C6, 0x0063 /* 'c' */},
+        {0x0061 /* 'a' */, 0x0042 /* 'B' */, 0x0064 /* 'd' */},
+        {0x00E4, 0x0062 /* 'b' */, 0x0063 /* 'c' */},          
+        {0x0070 /* 'p' */, 0x00EA, 0x0063 /* 'c' */, 0x0068 /* 'h' */, 0x0065 /* 'e' */}
+    };                                           // 49
+
+    private static int[] results = {
+    //-1:LESS; 0:EQUAL; 1:GREATER
+        -1, 
+        -1, /*Collator::GREATER,*/
+        -1,
+        1,
+        1,
+        0,
+        -1,
+        -1,
+        -1,
+        -1, /*Collator::GREATER,*/                                                          /* 10 */
+        1,
+        -1,
+        0,
+        -1,
+        1,
+        1,
+        1,
+        -1,
+        -1,
+        -1,                                                             /* 20 */
+        -1,
+        -1,
+        -1,
+        1,
+        1,
+        1,
+        /* Test Tertiary  > 26 */
+        -1,
+        -1,
+        1,
+        -1,                                                             /* 30 */
+        1,
+        0,
+        1,
+        -1,
+        -1,
+        -1,
+        /* test identical > 36 */
+        0,
+        0,
+        /* test primary > 38 */
+        0,
+        0,                                                            /* 40 */
+        -1,
+        0,
+        0,
+        /* test secondary > 43 */
+        -1,
+        -1,
+        0,
+        -1,
+        -1, 
+        -1                                                                  // 49
+    };
+
+    private static char [][] testBugs = {
+        {0x61},
+        {0x41},
+        {0x65},
+        {0x45},
+        {0x00e9},
+        {0x00e8},
+        {0x00ea},
+        {0x00eb},
+        {0x65, 0x61},
+        {0x78}
+    };
+
+    // 0x0300 is grave, 0x0301 is acute
+    // the order of elements in this array must be different than the order in CollationFrenchTest
+    private static char[][] testAcute = {
+        {0x65, 0x65},
+        {0x65, 0x65, 0x0301},
+        {0x65, 0x65, 0x0301, 0x0300},
+        {0x65, 0x65, 0x0300},
+        {0x65, 0x65, 0x0300, 0x0301},
+        {0x65, 0x0301, 0x65},
+        {0x65, 0x0301, 0x65, 0x0301},
+        {0x65, 0x0301, 0x65, 0x0301, 0x0300},
+        {0x65, 0x0301, 0x65, 0x0300},
+        {0x65, 0x0301, 0x65, 0x0300, 0x0301},
+        {0x65, 0x0301, 0x0300, 0x65},
+        {0x65, 0x0301, 0x0300, 0x65, 0x0301},
+        {0x65, 0x0301, 0x0300, 0x65, 0x0301, 0x0300},
+        {0x65, 0x0301, 0x0300, 0x65, 0x0300},
+        {0x65, 0x0301, 0x0300, 0x65, 0x0300, 0x0301},
+        {0x65, 0x0300, 0x65},
+        {0x65, 0x0300, 0x65, 0x0301},
+        {0x65, 0x0300, 0x65, 0x0301, 0x0300},
+        {0x65, 0x0300, 0x65, 0x0300},
+        {0x65, 0x0300, 0x65, 0x0300, 0x0301},
+        {0x65, 0x0300, 0x0301, 0x65},
+        {0x65, 0x0300, 0x0301, 0x65, 0x0301},
+        {0x65, 0x0300, 0x0301, 0x65, 0x0301, 0x0300},
+        {0x65, 0x0300, 0x0301, 0x65, 0x0300},
+        {0x65, 0x0300, 0x0301, 0x65, 0x0300, 0x0301}
+    };
+
+    private static char[][] testMore = {
+        {0x0061 /* 'a' */, 0x0065 /* 'e' */},
+        { 0x00E6},
+        { 0x00C6},
+        {0x0061 /* 'a' */, 0x0066 /* 'f' */},
+        {0x006F /* 'o' */, 0x0065 /* 'e' */},
+        { 0x0153},
+        { 0x0152},
+        {0x006F /* 'o' */, 0x0066 /* 'f' */},
+    };
+    
+    private Collator myCollation = null;
+    
+    public CollationEnglishTest() {
+    }
+    protected void init()throws Exception{
+        myCollation = Collator.getInstance(Locale.ENGLISH);
+    }
+    
+    //performs test with strength PRIMARY
+    public void TestPrimary() {
+        int i;
+        myCollation.setStrength(Collator.PRIMARY);
+        for (i = 38; i < 43 ; i++) {
+            doTest(testSourceCases[i], testTargetCases[i], results[i]);
+        }  
+    }
+    
+    //perform test with strength SECONDARY
+    public void TestSecondary() {
+        int i;
+        myCollation.setStrength(Collator.SECONDARY);
+        for (i = 43; i < 49 ; i++) {
+            doTest(testSourceCases[i], testTargetCases[i], results[i]);
+        }
+
+        //test acute and grave ordering (compare to french collation)
+        int j;
+        int expected;
+        for (i = 0; i < testAcute.length; i++) {
+            for (j = 0; j < testAcute.length; j++) {
+                logln("i = " + i + "; j = " + j);
+                if (i <  j)
+                    expected = -1;
+                else if (i == j)
+                    expected = 0;
+                else // (i >  j)
+                    expected = 1;
+                doTest(testAcute[i], testAcute[j], expected );
+            }
+        }
+    }
+    
+    //perform test with strength TERTIARY
+    public void TestTertiary() {
+        int i = 0;
+        myCollation.setStrength(Collator.TERTIARY);
+        //for (i = 0; i < 38 ; i++)  //attention: there is something wrong with 36, 37.
+        for (i = 0; i < 38 ; i++)
+        {
+            doTest(testSourceCases[i], testTargetCases[i], results[i]);
+        } 
+
+        int j = 0;
+        for (i = 0; i < 10; i++)
+        {
+            for (j = i+1; j < 10; j++)
+            {
+                doTest(testBugs[i], testBugs[j], -1);
+            }
+        }
+
+        //test more interesting cases
+        int expected;
+        for (i = 0; i < testMore.length; i++)
+        {
+            for (j = 0; j < testMore.length; j++)
+            {
+                if (i <  j)
+                    expected = -1;
+                else if (i == j)
+                    expected = 0;
+                else // (i >  j)
+                    expected = 1;
+                doTest(testMore[i], testMore[j], expected );
+            }
+        }
+    }
+    
+   // main test routine, tests rules defined by the "en" locale
+    private void doTest(char[] source, char[] target, int result){
+        
+        String s = new String(source);
+        String t = new String(target);
+        int compareResult = myCollation.compare(s, t);
+        CollationKey sortKey1, sortKey2;
+        sortKey1 = myCollation.getCollationKey(s);
+        sortKey2 = myCollation.getCollationKey(t);
+        int keyResult = sortKey1.compareTo(sortKey2);
+        reportCResult(s, t, sortKey1, sortKey2, compareResult, keyResult, compareResult, result);
+        
+    }
+    
+    private void reportCResult( String source, String target, CollationKey sourceKey, CollationKey targetKey,
+                                int compareResult, int keyResult, int incResult, int expectedResult ){
+        if (expectedResult < -1 || expectedResult > 1)
+        {
+            errln("***** invalid call to reportCResult ****");
+            return;
+        }
+
+        boolean ok1 = (compareResult == expectedResult);
+        boolean ok2 = (keyResult == expectedResult);
+        boolean ok3 = (incResult == expectedResult);
+
+        if (ok1 && ok2 && ok3 && !isVerbose()){
+            return;    
+        }else{
+            String msg1 = ok1? "Ok: compare(\"" : "FAIL: compare(\"";
+            String msg2 = "\", \"";
+            String msg3 = "\") returned ";
+            String msg4 = "; expected ";
+            
+            String sExpect = new String("");
+            String sResult = new String("");
+            sResult = appendCompareResult(compareResult, sResult);
+            sExpect = appendCompareResult(expectedResult, sExpect);
+            if (ok1) {
+                logln(msg1 + source + msg2 + target + msg3 + sResult);
+            } else {
+                errln(msg1 + source + msg2 + target + msg3 + sResult + msg4 + sExpect);
+            }
+            
+            msg1 = ok2 ? "Ok: key(\"" : "FAIL: key(\"";
+            msg2 = "\").compareTo(key(\"";
+            msg3 = "\")) returned ";
+            sResult = appendCompareResult(keyResult, sResult);
+            if (ok2) {
+                logln(msg1 + source + msg2 + target + msg3 + sResult);
+            } else {
+                errln(msg1 + source + msg2 + target + msg3 + sResult + msg4 + sExpect);
+                msg1 = "  ";
+                msg2 = " vs. ";
+                errln(msg1 + prettify(sourceKey) + msg2 + prettify(targetKey));
+            }
+            
+            msg1 = ok3 ? "Ok: incCompare(\"" : "FAIL: incCompare(\"";
+            msg2 = "\", \"";
+            msg3 = "\") returned ";
+
+            sResult = appendCompareResult(incResult, sResult);
+
+            if (ok3) {
+                logln(msg1 + source + msg2 + target + msg3 + sResult);
+            } else {
+                errln(msg1 + source + msg2 + target + msg3 + sResult + msg4 + sExpect);
+            }                
+        }
+    }
+    
+    private String appendCompareResult(int result, String target){
+        if (result == -1)   //LESS
+        {
+            target += "LESS";
+        }
+        else if (result == 0)   //EQUAL
+        {
+            target += "EQUAL";
+        }
+        else if (result == 1)   //GREATER
+        {
+            target += "GREATER";
+        }
+        else
+        {
+            String huh = "?";
+
+            target += huh + result;
+        }
+        return target;
+    }
+    
+    String prettify(CollationKey sourceKey) {
+        int i;
+        byte[] bytes= sourceKey.toByteArray();
+        String target = "[";
+    
+        for (i = 0; i < bytes.length; i++) {
+            target += Integer.toHexString(bytes[i]);
+            target += " ";
+        }
+        target += "]";
+        return target;
+    }
+ }
\ No newline at end of file
diff --git a/src/com/ibm/icu/dev/test/collator/CollationFinnishTest.java b/src/com/ibm/icu/dev/test/collator/CollationFinnishTest.java
new file mode 100644
index 0000000..e49ee37
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/collator/CollationFinnishTest.java
@@ -0,0 +1,172 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2002-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+/** 
+ * Port From:   ICU4C v2.1 : Collate/CollationFinnishTest
+ * Source File: $ICU4CRoot/source/test/intltest/ficoll.cpp
+ **/
+ 
+package com.ibm.icu.dev.test.collator;
+ 
+import com.ibm.icu.dev.test.*;
+import com.ibm.icu.text.*;
+
+import java.util.Locale;
+ 
+public class CollationFinnishTest extends TestFmwk {
+    public static void main(String[] args) throws Exception {
+        new CollationFinnishTest().run(args);
+    }
+    
+    private static char[][] testSourceCases = {
+        {0x77, 0x61, 0x74},
+        {0x76, 0x61, 0x74},
+        {0x61, 0x00FC, 0x62, 0x65, 0x63, 0x6b},
+        {0x4c, 0x00E5, 0x76, 0x69},
+        {0x77, 0x61, 0x74}
+    };
+
+    private static char[][] testTargetCases = {
+        {0x76, 0x61, 0x74},
+        {0x77, 0x61, 0x79},
+        {0x61, 0x78, 0x62, 0x65, 0x63, 0x6b},
+        {0x4c, 0x00E4, 0x77, 0x65},
+        {0x76, 0x61, 0x74}
+    };
+
+    private static int[] results = {
+        1,
+        -1,
+        1,
+        -1,
+        // test primary > 4
+        0, //collation rules for finnish have changed!
+    };
+
+    private Collator myCollation = null;
+    
+    public CollationFinnishTest() {
+    }
+    protected void init()throws Exception{
+        myCollation = Collator.getInstance(new Locale("fi", "FI"));
+    }
+     
+    
+    // perform tests with strength PRIMARY
+    public void TestPrimary() {
+        int i = 0;
+        myCollation.setStrength(Collator.PRIMARY);
+        for(i = 4; i < 5; i++) {
+            doTest(testSourceCases[i], testTargetCases[i], results[i]);    
+        }         
+    }
+    
+    // perform test with strength TERTIARY
+    public void TestTertiary() {
+        int i = 0;
+        myCollation.setStrength(Collator.TERTIARY);
+        for(i = 0; i < 4; i++ ) {
+            doTest(testSourceCases[i], testTargetCases[i], results[i]);
+        }    
+    }
+    
+    // main test routine, tests rules specific to the finish locale
+    private void doTest(char[] source, char[] target, int result) {
+        String s = new String(source);
+        String t = new String(target);
+        int compareResult = myCollation.compare(s, t);
+        CollationKey sortKey1, sortKey2;
+        sortKey1 = myCollation.getCollationKey(s);
+        sortKey2 = myCollation.getCollationKey(t);
+        int keyResult = sortKey1.compareTo(sortKey2);
+        reportCResult(s, t, sortKey1, sortKey2, compareResult, keyResult, compareResult, result);
+    }
+    
+    private void reportCResult( String source, String target, CollationKey sourceKey, CollationKey targetKey,
+                                int compareResult, int keyResult, int incResult, int expectedResult ) {
+        if (expectedResult < -1 || expectedResult > 1) {
+            errln("***** invalid call to reportCResult ****");
+            return;
+        }
+
+        boolean ok1 = (compareResult == expectedResult);
+        boolean ok2 = (keyResult == expectedResult);
+        boolean ok3 = (incResult == expectedResult);
+
+        if (ok1 && ok2 && ok3 && !isVerbose()) {
+            return;    
+        } else {
+            String msg1 = ok1? "Ok: compare(\"" : "FAIL: compare(\"";
+            String msg2 = "\", \"";
+            String msg3 = "\") returned ";
+            String msg4 = "; expected ";
+            
+            String sExpect = new String("");
+            String sResult = new String("");
+            sResult = appendCompareResult(compareResult, sResult);
+            sExpect = appendCompareResult(expectedResult, sExpect);
+            if (ok1) {
+                logln(msg1 + source + msg2 + target + msg3 + sResult);
+            } else {
+                errln(msg1 + source + msg2 + target + msg3 + sResult + msg4 + sExpect);
+            }
+            
+            msg1 = ok2 ? "Ok: key(\"" : "FAIL: key(\"";
+            msg2 = "\").compareTo(key(\"";
+            msg3 = "\")) returned ";
+            sResult = appendCompareResult(keyResult, sResult);
+            if (ok2) {
+                logln(msg1 + source + msg2 + target + msg3 + sResult);
+            } else {
+                errln(msg1 + source + msg2 + target + msg3 + sResult + msg4 + sExpect);
+                msg1 = "  ";
+                msg2 = " vs. ";
+                errln(msg1 + prettify(sourceKey) + msg2 + prettify(targetKey));
+            }
+            
+            msg1 = ok3 ? "Ok: incCompare(\"" : "FAIL: incCompare(\"";
+            msg2 = "\", \"";
+            msg3 = "\") returned ";
+
+            sResult = appendCompareResult(incResult, sResult);
+
+            if (ok3) {
+                logln(msg1 + source + msg2 + target + msg3 + sResult);
+            } else {
+                errln(msg1 + source + msg2 + target + msg3 + sResult + msg4 + sExpect);
+            }               
+        }
+    }
+    
+    private String appendCompareResult(int result, String target) {
+        if (result == -1) {
+            target += "LESS";
+        } else if (result == 0) {
+            target += "EQUAL";
+        } else if (result == 1) {
+            target += "GREATER";
+        } else {
+            String huh = "?";
+            target += huh + result;
+        }
+        return target;
+    }
+    
+    String prettify(CollationKey sourceKey) {
+        int i;
+        byte[] bytes= sourceKey.toByteArray();
+        String target = "[";
+    
+        for (i = 0; i < bytes.length; i++) {
+            target += Integer.toHexString(bytes[i]);
+            target += " ";
+        }
+        target += "]";
+        return target;
+    }
+}
+    
\ No newline at end of file
diff --git a/src/com/ibm/icu/dev/test/collator/CollationFrenchTest.java b/src/com/ibm/icu/dev/test/collator/CollationFrenchTest.java
new file mode 100644
index 0000000..11f3acc
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/collator/CollationFrenchTest.java
@@ -0,0 +1,278 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2002-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+/** 
+ * Port From:   ICU4C v2.1 : Collate/CollationFrenchTest
+ * Source File: $ICU4CRoot/source/test/intltest/frcoll.cpp
+ **/
+ 
+package com.ibm.icu.dev.test.collator;
+ 
+import com.ibm.icu.dev.test.*;
+import com.ibm.icu.text.*;
+import java.util.Locale;
+ 
+public class CollationFrenchTest extends TestFmwk{
+    public static void main(String[] args) throws Exception {
+        new CollationFrenchTest().run(args);
+    }
+    
+    private static char[][] testSourceCases = {
+        {0x0061/*'a'*/, 0x0062/*'b'*/, 0x0063/*'c'*/},
+        {0x0043/*'C'*/, 0x004f/*'O'*/, 0x0054/*'T'*/, 0x0045/*'E'*/},
+        {0x0063/*'c'*/, 0x006f/*'o'*/, 0x002d/*'-'*/, 0x006f/*'o'*/, 0x0070/*'p'*/},
+        {0x0070/*'p'*/, 0x00EA, 0x0063/*'c'*/, 0x0068/*'h'*/, 0x0065/*'e'*/},
+        {0x0070/*'p'*/, 0x00EA, 0x0063/*'c'*/, 0x0068/*'h'*/, 0x0065/*'e'*/, 0x0072/*'r'*/},
+        {0x0070/*'p'*/, 0x00E9, 0x0063/*'c'*/, 0x0068/*'h'*/, 0x0065/*'e'*/, 0x0072/*'r'*/},
+        {0x0070/*'p'*/, 0x00E9, 0x0063/*'c'*/, 0x0068/*'h'*/, 0x0065/*'e'*/, 0x0072/*'r'*/},
+        {0x0048/*'H'*/, 0x0065/*'e'*/, 0x006c/*'l'*/, 0x006c/*'l'*/, 0x006f/*'o'*/},
+        {0x01f1},
+        {0xfb00},
+        {0x01fa},
+        {0x0101}
+    };
+
+    private static char[][] testTargetCases = {
+        {0x0041/*'A'*/, 0x0042/*'B'*/, 0x0043/*'C'*/},
+        {0x0063/*'c'*/, 0x00f4, 0x0074/*'t'*/, 0x0065/*'e'*/},
+        {0x0043/*'C'*/, 0x004f/*'O'*/, 0x004f/*'O'*/, 0x0050/*'P'*/},
+        {0x0070/*'p'*/, 0x00E9, 0x0063/*'c'*/, 0x0068/*'h'*/, 0x00E9},
+        {0x0070/*'p'*/,  0x00E9, 0x0063/*'c'*/, 0x0068/*'h'*/, 0x00E9},
+        {0x0070/*'p'*/, 0x00EA, 0x0063/*'c'*/, 0x0068/*'h'*/, 0x0065/*'e'*/},
+        {0x0070/*'p'*/, 0x00EA, 0x0063/*'c'*/, 0x0068/*'h'*/, 0x0065/*'e'*/, 0x0072/*'r'*/},
+        {0x0068/*'h'*/, 0x0065/*'e'*/, 0x006c/*'l'*/, 0x006c/*'l'*/, 0x004f/*'O'*/},
+        {0x01ee},
+        {0x25ca},
+        {0x00e0},
+        {0x01df}
+    };
+
+    private static int[] results = {
+        -1,
+        -1,
+        -1, /*Collator::GREATER,*/
+        -1,
+        1,
+        1,
+        -1,
+        1,
+       -1, /*Collator::GREATER,*/
+        1,
+        -1,
+        -1
+    };
+
+    // 0x0300 is grave, 0x0301 is acute
+    // the order of elements in this array must be different than the order in CollationEnglishTest
+    private static char[][] testAcute = {
+    /*00*/    {0x0065/*'e'*/, 0x0065/*'e'*/},
+    /*01*/    {0x0065/*'e'*/, 0x0301, 0x0065/*'e'*/},
+    /*02*/    {0x0065/*'e'*/, 0x0300, 0x0301, 0x0065/*'e'*/},
+    /*03*/    {0x0065/*'e'*/, 0x0300, 0x0065/*'e'*/},
+    /*04*/    {0x0065/*'e'*/, 0x0301, 0x0300, 0x0065/*'e'*/},
+    /*05*/    {0x0065/*'e'*/, 0x0065/*'e'*/, 0x0301}, 
+    /*06*/    {0x0065/*'e'*/, 0x0301, 0x0065/*'e'*/, 0x0301},
+    /*07*/    {0x0065/*'e'*/, 0x0300, 0x0301, 0x0065/*'e'*/, 0x0301},
+    /*08*/    {0x0065/*'e'*/, 0x0300, 0x0065/*'e'*/, 0x0301},
+    /*09*/    {0x0065/*'e'*/, 0x0301, 0x0300, 0x0065/*'e'*/, 0x0301},
+    /*0a*/    {0x0065/*'e'*/, 0x0065/*'e'*/, 0x0300, 0x0301},
+    /*0b*/    {0x0065/*'e'*/, 0x0301, 0x0065/*'e'*/, 0x0300, 0x0301},
+    /*0c*/    {0x0065/*'e'*/, 0x0300, 0x0301, 0x0065/*'e'*/, 0x0300, 0x0301},
+    /*0d*/    {0x0065/*'e'*/, 0x0300, 0x0065/*'e'*/, 0x0300, 0x0301},
+    /*0e*/    {0x0065/*'e'*/, 0x0301, 0x0300, 0x0065/*'e'*/, 0x0300, 0x0301},
+    /*0f*/    {0x0065/*'e'*/, 0x0065/*'e'*/, 0x0300},
+    /*10*/    {0x0065/*'e'*/, 0x0301, 0x0065/*'e'*/, 0x0300},
+    /*11*/    {0x0065/*'e'*/, 0x0300, 0x0301, 0x0065/*'e'*/, 0x0300},
+    /*12*/    {0x0065/*'e'*/, 0x0300, 0x0065/*'e'*/, 0x0300},
+    /*13*/    {0x0065/*'e'*/, 0x0301, 0x0300, 0x0065/*'e'*/, 0x0300},
+    /*14*/    {0x0065/*'e'*/, 0x0065/*'e'*/, 0x0301, 0x0300},
+    /*15*/    {0x0065/*'e'*/, 0x0301, 0x0065/*'e'*/, 0x0301, 0x0300},
+    /*16*/    {0x0065/*'e'*/, 0x0300, 0x0301, 0x0065/*'e'*/, 0x0301, 0x0300},
+    /*17*/    {0x0065/*'e'*/, 0x0300, 0x0065/*'e'*/, 0x0301, 0x0300},
+    /*18*/    {0x0065/*'e'*/, 0x0301, 0x0300, 0x0065/*'e'*/, 0x0301, 0x0300}
+    };
+
+    private static char[][] testBugs = {
+        {0x0061/*'a'*/},
+        {0x0041/*'A'*/},
+        {0x0065/*'e'*/},
+        {0x0045/*'E'*/},
+        {0x00e9},
+        {0x00e8},
+        {0x00ea},
+        {0x00eb},
+        {0x0065/*'e'*/, 0x0061/*'a'*/},
+        {0x0078/*'x'*/}
+    };
+    
+    
+    private Collator myCollation = null;
+    
+    public CollationFrenchTest() {
+
+    }
+    protected void init()throws Exception{
+        myCollation = Collator.getInstance(Locale.FRENCH);
+    }
+     
+    // perform tests with strength TERTIARY
+    public void TestTertiary() {
+        int i = 0;
+        myCollation.setStrength(Collator.TERTIARY);
+        
+        for (i = 0; i < 12 ; i++) {
+            doTest(testSourceCases[i], testTargetCases[i], results[i]);
+        }
+    }
+    
+    // perform tests with strength SECONDARY
+    public void TestSecondary() {
+        //test acute and grave ordering
+        int i = 0;
+        int j;
+        int expected;
+
+        myCollation.setStrength(Collator.SECONDARY);
+        
+        for (i = 0; i < testAcute.length; i++) {
+            for (j = 0; j < testAcute.length; j++) {
+                if (i <  j) {
+                    expected = -1;
+                } else if (i == j) {
+                    expected = 0;
+                } else {
+                    expected = 1;
+                }
+                doTest(testAcute[i], testAcute[j], expected );
+            }
+        }
+    }
+
+    // perform extra tests
+    public void TestExtra() {
+        int i, j;
+        myCollation.setStrength(Collator.TERTIARY);
+        for (i = 0; i < 9 ; i++) {
+            for (j = i + 1; j < 10; j += 1) {
+                doTest(testBugs[i], testBugs[j], -1);
+            }
+        }
+    }
+    
+    public void TestContinuationReordering()
+    {
+        String rule = "&0x2f00 << 0x2f01";
+        try {
+            RuleBasedCollator collator = new RuleBasedCollator(rule);
+            collator.setFrenchCollation(true);
+            CollationKey key1 
+                        = collator.getCollationKey("a\u0325\u2f00\u2f01b\u0325");
+            CollationKey key2
+                        = collator.getCollationKey("a\u0325\u2f01\u2f01b\u0325");
+            if (key1.compareTo(key2) >= 0) {
+                errln("Error comparing continuation strings");
+            }
+        } catch (Exception e) {
+            errln(e.toString());
+        }
+    }
+     
+    // main test routine, test rules specific to the french locale
+    private void doTest(char[] source, char[] target, int result) {
+        String s = new String(source);
+        String t = new String(target);
+        int compareResult = myCollation.compare(s, t);
+        CollationKey sortKey1, sortKey2;
+        sortKey1 = myCollation.getCollationKey(s);
+        sortKey2 = myCollation.getCollationKey(t);
+        int keyResult = sortKey1.compareTo(sortKey2);
+        reportCResult(s, t, sortKey1, sortKey2, compareResult, keyResult, compareResult, result);  
+    }
+    
+    private void reportCResult( String source, String target, CollationKey sourceKey, CollationKey targetKey,
+                                int compareResult, int keyResult, int incResult, int expectedResult ) {
+        if (expectedResult < -1 || expectedResult > 1) {
+            errln("***** invalid call to reportCResult ****");
+            return;
+        }
+
+        boolean ok1 = (compareResult == expectedResult);
+        boolean ok2 = (keyResult == expectedResult);
+        boolean ok3 = (incResult == expectedResult);
+
+        if (ok1 && ok2 && ok3 && !isVerbose()) {
+            return;    
+        } else {
+            String msg1 = ok1? "Ok: compare(\"" : "FAIL: compare(\"";
+            String msg2 = "\", \"";
+            String msg3 = "\") returned ";
+            String msg4 = "; expected ";
+            
+            String sExpect = new String("");
+            String sResult = new String("");
+            sResult = appendCompareResult(compareResult, sResult);
+            sExpect = appendCompareResult(expectedResult, sExpect);
+            if (ok1) {
+                logln(msg1 + source + msg2 + target + msg3 + sResult);
+            } else {
+                errln(msg1 + source + msg2 + target + msg3 + sResult + msg4 + sExpect);
+            }
+            
+            msg1 = ok2 ? "Ok: key(\"" : "FAIL: key(\"";
+            msg2 = "\").compareTo(key(\"";
+            msg3 = "\")) returned ";
+            sResult = appendCompareResult(keyResult, sResult);
+            if (ok2) {
+                logln(msg1 + source + msg2 + target + msg3 + sResult);
+            } else {
+                errln(msg1 + source + msg2 + target + msg3 + sResult + msg4 + sExpect);
+                msg1 = "  ";
+                msg2 = " vs. ";
+                errln(msg1 + prettify(sourceKey) + msg2 + prettify(targetKey));
+            }
+            
+            msg1 = ok3 ? "Ok: incCompare(\"" : "FAIL: incCompare(\"";
+            msg2 = "\", \"";
+            msg3 = "\") returned ";
+
+            sResult = appendCompareResult(incResult, sResult);
+
+            if (ok3) {
+                logln(msg1 + source + msg2 + target + msg3 + sResult);
+            } else {
+                errln(msg1 + source + msg2 + target + msg3 + sResult + msg4 + sExpect);
+            }               
+        }
+    }
+    
+    private String appendCompareResult(int result, String target) {
+        if (result == -1) {
+            target += "LESS";
+        } else if (result == 0) {
+            target += "EQUAL";
+        } else if (result == 1) {
+            target += "GREATER";
+        } else {
+            String huh = "?";
+            target += huh + result;
+        }
+        return target;
+    }
+    
+    String prettify(CollationKey sourceKey) {
+        int i;
+        byte[] bytes= sourceKey.toByteArray();
+        String target = "[";
+    
+        for (i = 0; i < bytes.length; i++) {
+            target += Integer.toHexString(bytes[i]);
+            target += " ";
+        }
+        target += "]";
+        return target;
+    }
+} 
\ No newline at end of file
diff --git a/src/com/ibm/icu/dev/test/collator/CollationGermanTest.java b/src/com/ibm/icu/dev/test/collator/CollationGermanTest.java
new file mode 100644
index 0000000..b61671f
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/collator/CollationGermanTest.java
@@ -0,0 +1,223 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2002-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+/** 
+ * Port From:   ICU4C v2.1 : Collate/CollationGermanTest
+ * Source File: $ICU4CRoot/source/test/intltest/decoll.cpp
+ **/
+ 
+ package com.ibm.icu.dev.test.collator;
+ 
+ import com.ibm.icu.dev.test.*;
+ import com.ibm.icu.text.*;
+ import java.util.Locale;
+ 
+ public class CollationGermanTest extends TestFmwk{
+    public static void main(String[] args) throws Exception{
+        new CollationGermanTest().run(args);
+    }
+    
+    private static char[][] testSourceCases = {
+        {0x47, 0x72, 0x00F6, 0x00DF, 0x65},
+        {0x61, 0x62, 0x63},
+        {0x54, 0x00F6, 0x6e, 0x65},
+        {0x54, 0x00F6, 0x6e, 0x65},
+        {0x54, 0x00F6, 0x6e, 0x65},
+        {0x61, 0x0308, 0x62, 0x63},
+        {0x00E4, 0x62, 0x63},
+        {0x00E4, 0x62, 0x63},
+        {0x53, 0x74, 0x72, 0x61, 0x00DF, 0x65},
+        {0x65, 0x66, 0x67},
+        {0x00E4, 0x62, 0x63},
+        {0x53, 0x74, 0x72, 0x61, 0x00DF, 0x65}
+    };
+
+    private static char[][] testTargetCases = {
+        {0x47, 0x72, 0x6f, 0x73, 0x73, 0x69, 0x73, 0x74},
+        {0x61, 0x0308, 0x62, 0x63},
+        {0x54, 0x6f, 0x6e},
+        {0x54, 0x6f, 0x64},
+        {0x54, 0x6f, 0x66, 0x75},
+        {0x41, 0x0308, 0x62, 0x63},
+        {0x61, 0x0308, 0x62, 0x63},
+        {0x61, 0x65, 0x62, 0x63},
+        {0x53, 0x74, 0x72, 0x61, 0x73, 0x73, 0x65},
+        {0x65, 0x66, 0x67},
+        {0x61, 0x65, 0x62, 0x63},
+        {0x53, 0x74, 0x72, 0x61, 0x73, 0x73, 0x65}
+    };
+
+    private static int results[][] =
+    {
+        //  Primary  Tertiary
+        { -1,        -1 },
+        { 0,         -1 },
+        { 1,          1 },
+        { 1,          1 },
+        { 1,          1 },
+        { 0,         -1 },
+        { 0,          0 },
+        { -1,        -1 },
+        { 0,          1 },
+        { 0,          0 },
+        { -1,        -1 },
+        { 0,          1 }
+    };
+    
+    private Collator myCollation = null;
+    
+    public CollationGermanTest() {
+
+    }
+    protected void init() throws Exception{
+        myCollation = Collator.getInstance(Locale.GERMAN);
+        if(myCollation == null) {
+            errln("ERROR: in creation of collator of GERMAN locale");
+        }
+    }
+    // perform test with strength TERTIARY
+    public void TestTertiary(){
+        if(myCollation == null ) {
+            errln("decoll: cannot start test, collator is null\n");
+            return;
+        }
+
+        int i = 0;
+        myCollation.setStrength(Collator.TERTIARY);
+        myCollation.setDecomposition(Collator.CANONICAL_DECOMPOSITION);
+        for (i = 0; i < 12 ; i++)
+        {
+            doTest(testSourceCases[i], testTargetCases[i], results[i][1]);
+        }
+    }
+    
+    // perform test with strength SECONDARY
+    //This method in icu4c has no implementation.
+    public void TestSecondary(){
+    }
+    
+     // perform test with strength PRIMARY
+    public void TestPrimary(){
+        if(myCollation == null ) {
+            errln("decoll: cannot start test, collator is null\n");
+            return;
+        }
+        int i;
+        myCollation.setStrength(Collator.PRIMARY);
+        myCollation.setDecomposition(Collator.CANONICAL_DECOMPOSITION);
+        for (i = 0; i < 12 ; i++)
+        {
+            doTest(testSourceCases[i], testTargetCases[i], results[i][0]);
+        }
+    }
+    
+    
+    //main test routine, tests rules specific to germa locale
+    private void doTest(char[] source, char[] target, int result){
+        String s = new String(source);
+        String t = new String(target);
+        int compareResult = myCollation.compare(s, t);
+        CollationKey sortKey1, sortKey2;
+        sortKey1 = myCollation.getCollationKey(s);
+        sortKey2 = myCollation.getCollationKey(t);
+        int keyResult = sortKey1.compareTo(sortKey2);
+        reportCResult(s, t, sortKey1, sortKey2, compareResult, keyResult, compareResult, result);
+        
+    }
+    
+    private void reportCResult( String source, String target, CollationKey sourceKey, CollationKey targetKey,
+                                int compareResult, int keyResult, int incResult, int expectedResult ){
+        if (expectedResult < -1 || expectedResult > 1)
+        {
+            errln("***** invalid call to reportCResult ****");
+            return;
+        }
+
+        boolean ok1 = (compareResult == expectedResult);
+        boolean ok2 = (keyResult == expectedResult);
+        boolean ok3 = (incResult == expectedResult);
+
+        if (ok1 && ok2 && ok3 && !isVerbose()){
+            return;    
+        }else{
+            String msg1 = ok1? "Ok: compare(\"" : "FAIL: compare(\"";
+            String msg2 = "\", \"";
+            String msg3 = "\") returned ";
+            String msg4 = "; expected ";
+            
+            String sExpect = new String("");
+            String sResult = new String("");
+            sResult = appendCompareResult(compareResult, sResult);
+            sExpect = appendCompareResult(expectedResult, sExpect);
+            if (ok1) {
+                logln(msg1 + source + msg2 + target + msg3 + sResult);
+            } else {
+                errln(msg1 + source + msg2 + target + msg3 + sResult + msg4 + sExpect);
+            }
+            
+            msg1 = ok2 ? "Ok: key(\"" : "FAIL: key(\"";
+            msg2 = "\").compareTo(key(\"";
+            msg3 = "\")) returned ";
+            sResult = appendCompareResult(keyResult, sResult);
+            if (ok2) {
+                logln(msg1 + source + msg2 + target + msg3 + sResult);
+            } else {
+                errln(msg1 + source + msg2 + target + msg3 + sResult + msg4 + sExpect);
+                msg1 = "  ";
+                msg2 = " vs. ";
+                errln(msg1 + prettify(sourceKey) + msg2 + prettify(targetKey));
+            }
+            
+            msg1 = ok3 ? "Ok: incCompare(\"" : "FAIL: incCompare(\"";
+            msg2 = "\", \"";
+            msg3 = "\") returned ";
+
+            sResult = appendCompareResult(incResult, sResult);
+
+            if (ok3) {
+                logln(msg1 + source + msg2 + target + msg3 + sResult);
+            } else {
+                errln(msg1 + source + msg2 + target + msg3 + sResult + msg4 + sExpect);
+            }                
+        }
+    }
+    
+    private String appendCompareResult(int result, String target){
+        if (result == -1)   //LESS
+        {
+            target += "LESS";
+        }
+        else if (result == 0)   //EQUAL
+        {
+            target += "EQUAL";
+        }
+        else if (result == 1)   //GREATER
+        {
+            target += "GREATER";
+        }
+        else
+        {
+            String huh = "?";
+
+            target += huh + result;
+        }
+        return target;
+    }
+    
+    String prettify(CollationKey sourceKey) {
+        int i;
+        byte[] bytes= sourceKey.toByteArray();
+        String target = "[";
+    
+        for (i = 0; i < bytes.length; i++) {
+            target += Integer.toHexString(bytes[i]);
+            target += " ";
+        }
+        target += "]";
+        return target;
+    }
+}
\ No newline at end of file
diff --git a/src/com/ibm/icu/dev/test/collator/CollationIteratorTest.java b/src/com/ibm/icu/dev/test/collator/CollationIteratorTest.java
new file mode 100644
index 0000000..1ad5cf6
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/collator/CollationIteratorTest.java
@@ -0,0 +1,644 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2002-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+/** 
+ * Port From:   ICU4C v2.1 : collate/CollationIteratorTest
+ * Source File: $ICU4CRoot/source/test/intltest/itercoll.cpp
+ **/
+
+package com.ibm.icu.dev.test.collator;
+
+import java.util.Locale;
+import java.util.Arrays;
+import java.text.CharacterIterator;
+import java.text.StringCharacterIterator;
+import com.ibm.icu.dev.test.*;
+import com.ibm.icu.text.*;
+import com.ibm.icu.lang.UCharacter;
+
+public class CollationIteratorTest extends TestFmwk {
+    
+    String test1 = "What subset of all possible test cases?";
+    String test2 = "has the highest probability of detecting";
+   
+    public static void main(String[] args) throws Exception {
+        new CollationIteratorTest().run(args);
+        // new CollationIteratorTest().TestNormalizedUnicodeChar();
+    }
+    
+    /*
+     * @bug 4157299
+     */
+    public void TestClearBuffers(/* char* par */) {
+        RuleBasedCollator c = null;
+        try {
+            c = new RuleBasedCollator("&a < b < c & ab = d");
+        } catch (Exception e) {
+            warnln("Couldn't create a RuleBasedCollator.");
+            return;
+        }
+    
+        String source = "abcd";
+        CollationElementIterator i = c.getCollationElementIterator(source);
+        int e0 = 0;
+        try {
+            e0 = i.next();    // save the first collation element
+        } catch (Exception e) {
+            errln("call to i.next() failed.");
+            return;
+        }
+            
+        try {
+            i.setOffset(3);        // go to the expanding character
+        } catch (Exception e) {
+            errln("call to i.setOffset(3) failed.");
+            return;
+        }
+        
+        try {
+            i.next();                // but only use up half of it
+        } catch (Exception e) {
+            errln("call to i.next() failed.");
+            return;
+        }
+            
+        try {
+            i.setOffset(0);        // go back to the beginning
+        } catch (Exception e) {
+            errln("call to i.setOffset(0) failed. ");
+        }
+        
+        int e = 0;
+        try {
+            e = i.next();    // and get this one again
+        } catch (Exception ee) {
+            errln("call to i.next() failed. ");
+            return;
+        }
+        
+        if (e != e0) {
+            errln("got 0x" + Integer.toHexString(e) + ", expected 0x" + Integer.toHexString(e0));
+        }
+    }
+    
+    /** @bug 4108762
+     * Test for getMaxExpansion()
+     */
+    public void TestMaxExpansion(/* char* par */) {
+        int unassigned = 0xEFFFD;
+        String rule = "&a < ab < c/aba < d < z < ch";
+        RuleBasedCollator coll = null;
+        try {
+            coll = new RuleBasedCollator(rule);
+        } catch (Exception e) {
+            warnln("Fail to create RuleBasedCollator");
+            return;
+        }
+        char ch = 0;
+        String str = String.valueOf(ch);
+    
+        CollationElementIterator iter = coll.getCollationElementIterator(str);
+    
+        while (ch < 0xFFFF) {
+            int count = 1;
+            ch ++;
+            str = String.valueOf(ch);
+            iter.setText(str);
+            int order = iter.previous();
+    
+            // thai management 
+            if (order == 0) {
+                order = iter.previous();
+            }
+    
+            while (iter.previous() != CollationElementIterator.NULLORDER) {
+                count ++; 
+            }
+    
+            if (iter.getMaxExpansion(order) < count) {
+                errln("Failure at codepoint " + ch + ", maximum expansion count < " + count);
+            }
+        }
+        
+        // testing for exact max expansion 
+        ch = 0;
+        while (ch < 0x61) {
+            str = String.valueOf(ch);
+            iter.setText(str);
+            int order = iter.previous();
+            
+            if (iter.getMaxExpansion(order) != 1) {
+                errln("Failure at codepoint 0x" + Integer.toHexString(ch)
+                      + " maximum expansion count == 1");
+            }
+            ch ++;
+        }
+
+        ch = 0x63;
+        str = String.valueOf(ch);
+        iter.setText(str);
+        int temporder = iter.previous();
+            
+        if (iter.getMaxExpansion(temporder) != 3) {
+            errln("Failure at codepoint 0x" + Integer.toHexString(ch)
+                                  + " maximum expansion count == 3");
+        }
+
+        ch = 0x64;
+        str = String.valueOf(ch);
+        iter.setText(str);
+        temporder = iter.previous();
+            
+        if (iter.getMaxExpansion(temporder) != 1) {
+            errln("Failure at codepoint 0x" + Integer.toHexString(ch)
+                                  + " maximum expansion count == 1");
+        }
+
+        str = UCharacter.toString(unassigned);
+        iter.setText(str);
+        temporder = iter.previous();
+            
+        if (iter.getMaxExpansion(temporder) != 2) {
+            errln("Failure at codepoint 0x" + Integer.toHexString(ch)
+                                  + " maximum expansion count == 2");
+        }
+
+
+        // testing jamo
+        ch = 0x1165;
+        str = String.valueOf(ch);
+        iter.setText(str);
+        temporder = iter.previous();
+            
+        if (iter.getMaxExpansion(temporder) > 3) {
+            errln("Failure at codepoint 0x" + Integer.toHexString(ch)
+                                          + " maximum expansion count < 3");
+        }
+
+        // testing special jamo &a<\u1165
+        rule = "\u0026\u0071\u003c\u1165\u002f\u0071\u0071\u0071\u0071";
+
+        try {
+            coll = new RuleBasedCollator(rule);
+        } catch (Exception e) {
+            errln("Fail to create RuleBasedCollator");
+            return;
+        }
+        iter = coll.getCollationElementIterator(str);
+        
+        temporder = iter.previous();
+            
+        if (iter.getMaxExpansion(temporder) != 6) {
+            errln("Failure at codepoint 0x" + Integer.toHexString(ch)
+                                         + " maximum expansion count == 6");
+        }
+    }
+    
+    /**
+     * Test for getOffset() and setOffset()
+     */
+    public void TestOffset(/* char* par */) {
+        RuleBasedCollator en_us;
+        try {
+            en_us = (RuleBasedCollator)Collator.getInstance(Locale.US);    
+        } catch (Exception e) {
+            warnln("ERROR: in creation of collator of ENGLISH locale");
+            return;
+        }
+
+        CollationElementIterator iter = en_us.getCollationElementIterator(test1);
+        // testing boundaries
+        iter.setOffset(0);
+        if (iter.previous() != CollationElementIterator.NULLORDER) {
+            errln("Error: After setting offset to 0, we should be at the end "
+                  + "of the backwards iteration");
+        }
+        iter.setOffset(test1.length());
+        if (iter.next() != CollationElementIterator.NULLORDER) {
+            errln("Error: After setting offset to the end of the string, we " 
+                  + "should be at the end of the forwards iteration");
+        }
+    
+        // Run all the way through the iterator, then get the offset
+        int[] orders = CollationTest.getOrders(iter);
+        logln("orders.length = " + orders.length);
+        
+        int offset = iter.getOffset();
+    
+        if (offset != test1.length()) {
+            String msg1 = "offset at end != length: ";
+            String msg2 = " vs ";
+            errln(msg1 + offset + msg2 + test1.length());
+        }
+    
+        // Now set the offset back to the beginning and see if it works
+        CollationElementIterator pristine = en_us.getCollationElementIterator(test1);
+        
+        try {
+            iter.setOffset(0);
+        } catch(Exception e) {
+            errln("setOffset failed.");
+        }
+        assertEqual(iter, pristine);
+    
+        // setting offset in the middle of a contraction
+        String contraction = "change";
+        RuleBasedCollator tailored = null;
+        try {
+            tailored = new RuleBasedCollator("& a < ch");
+        } catch (Exception e) {
+            errln("Error: in creation of Spanish collator");
+        }
+        iter = tailored.getCollationElementIterator(contraction);
+        int order[] = CollationTest.getOrders(iter);
+        iter.setOffset(1); // sets offset in the middle of ch
+        int order2[] = CollationTest.getOrders(iter);
+        if (!Arrays.equals(order, order2)) {
+            errln("Error: setting offset in the middle of a contraction should be the same as setting it to the start of the contraction");
+        }
+        contraction = "peache";
+        iter = tailored.getCollationElementIterator(contraction);
+        iter.setOffset(3);
+        order = CollationTest.getOrders(iter);
+        iter.setOffset(4); // sets offset in the middle of ch
+        order2 = CollationTest.getOrders(iter);
+        if (!Arrays.equals(order, order2)) {
+            errln("Error: setting offset in the middle of a contraction should be the same as setting it to the start of the contraction");
+        }
+        // setting offset in the middle of a surrogate pair
+        String surrogate = "\ud800\udc00str";
+        iter = tailored.getCollationElementIterator(surrogate);
+        order = CollationTest.getOrders(iter);
+        iter.setOffset(1); // sets offset in the middle of surrogate
+        order2 = CollationTest.getOrders(iter);
+        if (!Arrays.equals(order, order2)) {
+            errln("Error: setting offset in the middle of a surrogate pair should be the same as setting it to the start of the surrogate pair");
+        }
+        surrogate = "simple\ud800\udc00str";
+        iter = tailored.getCollationElementIterator(surrogate);
+        iter.setOffset(6);
+        order = CollationTest.getOrders(iter);
+        iter.setOffset(7); // sets offset in the middle of surrogate
+        order2 = CollationTest.getOrders(iter);
+        if (!Arrays.equals(order, order2)) {
+            errln("Error: setting offset in the middle of a surrogate pair should be the same as setting it to the start of the surrogate pair");
+        }
+        // TODO: try iterating halfway through a messy string.
+    }
+    
+    
+
+    void assertEqual(CollationElementIterator i1, CollationElementIterator i2) {
+        int c1, c2, count = 0;
+        do {
+            c1 = i1.next();
+            c2 = i2.next();
+            if (c1 != c2) {
+                errln("    " + count + ": strength(0x" + 
+                    Integer.toHexString(c1) + ") != strength(0x" + Integer.toHexString(c2) + ")");
+                break;
+            }
+            count += 1;
+        } while (c1 != CollationElementIterator.NULLORDER);
+        CollationTest.backAndForth(this, i1);
+        CollationTest.backAndForth(this, i2);
+    }
+    
+    /**
+     * Test for CollationElementIterator.previous()
+     *
+     * @bug 4108758 - Make sure it works with contracting characters
+     * 
+     */
+    public void TestPrevious(/* char* par */) {
+        RuleBasedCollator en_us = (RuleBasedCollator)Collator.getInstance(Locale.US);
+        CollationElementIterator iter = en_us.getCollationElementIterator(test1);
+    
+        // A basic test to see if it's working at all
+        CollationTest.backAndForth(this, iter);
+    
+        // Test with a contracting character sequence
+        String source;
+        RuleBasedCollator c1 = null;
+        try {
+            c1 = new RuleBasedCollator("&a,A < b,B < c,C, d,D < z,Z < ch,cH,Ch,CH");
+        } catch (Exception e) {
+            errln("Couldn't create a RuleBasedCollator with a contracting sequence.");
+            return;
+        }
+    
+        source = "abchdcba";
+        iter = c1.getCollationElementIterator(source);
+        CollationTest.backAndForth(this, iter);
+    
+        // Test with an expanding character sequence
+        RuleBasedCollator c2 = null;
+        try {
+            c2 = new RuleBasedCollator("&a < b < c/abd < d");
+        } catch (Exception e ) {
+            errln("Couldn't create a RuleBasedCollator with an expanding sequence.");
+            return;
+        }
+    
+        source = "abcd";
+        iter = c2.getCollationElementIterator(source);
+        CollationTest.backAndForth(this, iter);
+    
+        // Now try both
+        RuleBasedCollator c3 = null;
+        try {
+            c3 = new RuleBasedCollator("&a < b < c/aba < d < z < ch");
+        } catch (Exception e) {
+            errln("Couldn't create a RuleBasedCollator with both an expanding and a contracting sequence.");
+            return;
+        }
+        
+        source = "abcdbchdc";
+        iter = c3.getCollationElementIterator(source);
+        CollationTest.backAndForth(this, iter);
+    
+        source= "\u0e41\u0e02\u0e41\u0e02\u0e27abc";
+        Collator c4 = null;
+        try {
+            c4 = Collator.getInstance(new Locale("th", "TH", ""));
+        } catch (Exception e) {
+            errln("Couldn't create a collator");
+            return;
+        }
+        
+        iter = ((RuleBasedCollator)c4).getCollationElementIterator(source);
+        CollationTest.backAndForth(this, iter);
+       
+        source= "\u0061\u30CF\u3099\u30FC";
+        Collator c5 = null;
+        try {
+            c5 = Collator.getInstance(new Locale("ja", "JP", ""));
+        } catch (Exception e) {
+            errln("Couldn't create Japanese collator\n");
+        }
+        iter = ((RuleBasedCollator)c5).getCollationElementIterator(source);
+        
+        CollationTest.backAndForth(this, iter);
+    }
+    
+    
+    
+    /**
+     * Test for setText()
+     */
+    public void TestSetText(/* char* par */) {
+        RuleBasedCollator en_us = (RuleBasedCollator)Collator.getInstance(Locale.US);
+        CollationElementIterator iter1 = en_us.getCollationElementIterator(test1);
+        CollationElementIterator iter2 = en_us.getCollationElementIterator(test2);
+    
+        // Run through the second iterator just to exercise it
+        int c = iter2.next();
+        int i = 0;
+    
+        while ( ++i < 10 && c != CollationElementIterator.NULLORDER) {
+            try {
+                c = iter2.next();
+            } catch (Exception e) {
+                errln("iter2.next() returned an error.");
+                break;
+            }
+        }
+    
+        // Now set it to point to the same string as the first iterator
+        try {
+            iter2.setText(test1);
+        } catch (Exception e) {
+            errln("call to iter2->setText(test1) failed.");
+            return;
+        }
+        assertEqual(iter1, iter2);
+        
+        iter1.reset();
+        //now use the overloaded setText(ChracterIterator&, UErrorCode) function to set the text
+        CharacterIterator chariter = new StringCharacterIterator(test1);
+        try {
+            iter2.setText(chariter);
+        } catch (Exception e ) {
+            errln("call to iter2->setText(chariter(test1)) failed.");
+            return;
+        }
+        assertEqual(iter1, iter2);
+        
+        iter1.reset();
+        //now use the overloaded setText(ChracterIterator&, UErrorCode) function to set the text
+        UCharacterIterator uchariter = UCharacterIterator.getInstance(test1);
+        try {
+            iter2.setText(uchariter);
+        } catch (Exception e ) {
+            errln("call to iter2->setText(uchariter(test1)) failed.");
+            return;
+        }
+        assertEqual(iter1, iter2);
+    }
+
+    /**
+     * Test for CollationElementIterator previous and next for the whole set of
+     * unicode characters.
+     */
+    public void TestUnicodeChar() {
+        RuleBasedCollator en_us = (RuleBasedCollator)Collator.getInstance(Locale.US);
+        CollationElementIterator iter;
+        char codepoint;
+        StringBuffer source = new StringBuffer();
+        source.append("\u0e4d\u0e4e\u0e4f");
+        // source.append("\u04e8\u04e9");
+        iter = en_us.getCollationElementIterator(source.toString());
+        // A basic test to see if it's working at all 
+        CollationTest.backAndForth(this, iter);
+        for (codepoint = 1; codepoint < 0xFFFE;) {
+            source.delete(0, source.length());
+            while (codepoint % 0xFF != 0) {
+                if (UCharacter.isDefined(codepoint)) {
+                    source.append(codepoint);
+                }
+                codepoint ++;
+            }
+            
+            if (UCharacter.isDefined(codepoint)) {
+                source.append(codepoint);
+            }
+            
+            if (codepoint != 0xFFFF) {
+                codepoint ++;
+            }
+            /*if (codepoint >= 0x04fc) {
+                System.out.println("codepoint " + Integer.toHexString(codepoint));
+                String str = source.substring(230, 232);
+                System.out.println(com.ibm.icu.impl.Utility.escape(str));
+                System.out.println("codepoint " + Integer.toHexString(codepoint) 
+                                   + "length " + str.length());
+                iter = en_us.getCollationElementIterator(str);
+                CollationTest.backAndForth(this, iter);
+            }
+            */
+            iter = en_us.getCollationElementIterator(source.toString());
+            // A basic test to see if it's working at all 
+            CollationTest.backAndForth(this, iter);
+        }
+    }
+    
+    /**
+     * Test for CollationElementIterator previous and next for the whole set of
+     * unicode characters with normalization on.
+     */
+    public void TestNormalizedUnicodeChar()
+    {
+        // thai should have normalization on
+        RuleBasedCollator th_th = null;
+        try {
+            th_th = (RuleBasedCollator)Collator.getInstance(
+                                                       new Locale("th", "TH"));
+        } catch (Exception e) {
+            warnln("Error creating Thai collator");
+            return;
+        }
+        StringBuffer source = new StringBuffer();
+        source.append('\uFDFA');
+        CollationElementIterator iter 
+                        = th_th.getCollationElementIterator(source.toString());
+        CollationTest.backAndForth(this, iter);
+        for (char codepoint = 0x1; codepoint < 0xfffe;) {
+            source.delete(0, source.length());
+            while (codepoint % 0xFF != 0) {
+                if (UCharacter.isDefined(codepoint)) {
+                    source.append(codepoint);
+                }
+                codepoint ++;
+            }
+            
+            if (UCharacter.isDefined(codepoint)) {
+                source.append(codepoint);
+            }
+            
+            if (codepoint != 0xFFFF) {
+                codepoint ++;
+            }
+            
+            /*if (((int)codepoint) >= 0xfe00) {
+                String str = source.substring(185, 190);
+                System.out.println(com.ibm.icu.impl.Utility.escape(str));
+                System.out.println("codepoint " 
+                                   + Integer.toHexString(codepoint) 
+                                   + "length " + str.length());
+                iter = th_th.getCollationElementIterator(str);
+                CollationTest.backAndForth(this, iter);
+            */
+            iter = th_th.getCollationElementIterator(source.toString());
+            // A basic test to see if it's working at all 
+            CollationTest.backAndForth(this, iter);
+        }
+    }
+    
+    /**
+    * Testing the discontiguous contractions
+    */
+    public void TestDiscontiguous() 
+    {
+        String rulestr ="&z < AB < X\u0300 < ABC < X\u0300\u0315";
+        String src[] = {"ADB", "ADBC", "A\u0315B", "A\u0315BC",
+                        // base character blocked
+                        "XD\u0300", "XD\u0300\u0315",
+                        // non blocking combining character
+                        "X\u0319\u0300", "X\u0319\u0300\u0315",
+                        // blocking combining character
+                        "X\u0314\u0300", "X\u0314\u0300\u0315",
+                        // contraction prefix
+                        "ABDC", "AB\u0315C","X\u0300D\u0315", 
+                        "X\u0300\u0319\u0315", "X\u0300\u031A\u0315",
+                        // ends not with a contraction character
+                        "X\u0319\u0300D", "X\u0319\u0300\u0315D", 
+                        "X\u0300D\u0315D", "X\u0300\u0319\u0315D", 
+                        "X\u0300\u031A\u0315D"
+        };
+        String tgt[] = {// non blocking combining character
+                        "A D B", "A D BC", "A \u0315 B", "A \u0315 BC",
+                        // base character blocked
+                        "X D \u0300", "X D \u0300\u0315",
+                        // non blocking combining character
+                        "X\u0300 \u0319", "X\u0300\u0315 \u0319",
+                        // blocking combining character
+                        "X \u0314 \u0300", "X \u0314 \u0300\u0315",
+                        // contraction prefix
+                        "AB DC", "AB \u0315 C","X\u0300 D \u0315", 
+                        "X\u0300\u0315 \u0319", "X\u0300 \u031A \u0315",
+                        // ends not with a contraction character
+                        "X\u0300 \u0319D", "X\u0300\u0315 \u0319D", 
+                        "X\u0300 D\u0315D", "X\u0300\u0315 \u0319D", 
+                        "X\u0300 \u031A\u0315D"
+        };
+        int count = 0;
+        try {
+            RuleBasedCollator coll = new RuleBasedCollator(rulestr);
+            CollationElementIterator iter 
+                                        = coll.getCollationElementIterator("");
+            CollationElementIterator resultiter 
+                                        = coll.getCollationElementIterator("");    
+            while (count < src.length) {
+                iter.setText(src[count]);
+                int s = 0;
+                while (s < tgt[count].length()) {
+                    int e = tgt[count].indexOf(' ', s);
+                    if (e < 0) {
+                        e = tgt[count].length();
+                    }
+                    String resultstr = tgt[count].substring(s, e);
+                    resultiter.setText(resultstr);
+                    int ce = resultiter.next();
+                    while (ce != CollationElementIterator.NULLORDER) {
+                        if (ce != iter.next()) {
+                            errln("Discontiguos contraction test mismatch at" 
+                                  + count);
+                            return;
+                        }
+                        ce = resultiter.next();
+                    }
+                    s = e + 1;
+                }
+                iter.reset();
+                CollationTest.backAndForth(this, iter);
+                count ++;
+            }
+        }
+        catch (Exception e) {
+            warnln("Error running discontiguous tests " + e.toString());
+        }
+    }
+
+    /**
+    * Test the incremental normalization
+    */
+    public void TestNormalization()
+    {
+        String rules = "&a < \u0300\u0315 < A\u0300\u0315 < \u0316\u0315B < \u0316\u0300\u0315";
+        String testdata[] = {"\u1ED9", "o\u0323\u0302",
+                            "\u0300\u0315", "\u0315\u0300",
+                            "A\u0300\u0315B", "A\u0315\u0300B",
+                            "A\u0316\u0315B", "A\u0315\u0316B",
+                            "\u0316\u0300\u0315", "\u0315\u0300\u0316",
+                            "A\u0316\u0300\u0315B", "A\u0315\u0300\u0316B",
+                            "\u0316\u0315\u0300", "A\u0316\u0315\u0300B"};
+        RuleBasedCollator coll = null;
+        try {
+            coll = new RuleBasedCollator(rules);
+            coll.setDecomposition(Collator.CANONICAL_DECOMPOSITION);
+        } catch (Exception e) {
+            warnln("ERROR: in creation of collator using rules " + rules);
+            return;
+        }
+        
+        CollationElementIterator iter = coll.getCollationElementIterator("testing");
+        for (int count = 0; count < testdata.length; count ++) {
+            iter.setText(testdata[count]);
+            CollationTest.backAndForth(this, iter);
+        }
+    }
+}
diff --git a/src/com/ibm/icu/dev/test/collator/CollationKanaTest.java b/src/com/ibm/icu/dev/test/collator/CollationKanaTest.java
new file mode 100644
index 0000000..4c0847e
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/collator/CollationKanaTest.java
@@ -0,0 +1,257 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2002-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+/** 
+ * Port From:   ICU4C v2.1 : Collate/CollationKanaTest
+ * Source File: $ICU4CRoot/source/test/intltest/jacoll.cpp
+ **/
+ 
+package com.ibm.icu.dev.test.collator;
+ 
+import com.ibm.icu.dev.test.*;
+import com.ibm.icu.text.*;
+import java.util.Locale;
+ 
+public class CollationKanaTest extends TestFmwk{
+    public static void main(String[] args) throws Exception{
+        new CollationKanaTest().run(args);
+    }
+
+    private static char[][] testSourceCases = {
+        {0xff9E},
+        {0x3042},
+        {0x30A2},
+        {0x3042, 0x3042},
+        {0x30A2, 0x30FC},
+        {0x30A2, 0x30FC, 0x30C8}                               /*  6 */
+    };
+
+    private static char[][] testTargetCases = {
+        {0xFF9F},
+        {0x30A2},
+        {0x3042, 0x3042},
+        {0x30A2, 0x30FC},
+        {0x30A2, 0x30FC, 0x30C8},
+        {0x3042, 0x3042, 0x3068}                              /*  6 */
+    };
+
+    private static int[] results = {
+        -1,
+        0,   //Collator::LESS, /* Katakanas and Hiraganas are equal on tertiary level(ICU 2.0)*/
+        -1,
+        1, // Collator::LESS, /* Prolonged sound mark sorts BEFORE equivalent vowel (ICU 2.0)*/
+        -1,
+        -1,    //Collator::GREATER /* Prolonged sound mark sorts BEFORE equivalent vowel (ICU 2.0)*//*  6 */
+    };
+
+    private static char[][] testBaseCases = {
+        {0x30AB},
+        {0x30AB, 0x30AD},
+        {0x30AD},
+        {0x30AD, 0x30AD}
+    };
+
+    private static char[][] testPlainDakutenHandakutenCases = {
+        {0x30CF, 0x30AB},
+        {0x30D0, 0x30AB},
+        {0x30CF, 0x30AD},
+        {0x30D0, 0x30AD}
+    };
+
+    private static char[][] testSmallLargeCases = {
+        {0x30C3, 0x30CF},
+        {0x30C4, 0x30CF},
+        {0x30C3, 0x30D0},
+        {0x30C4, 0x30D0}
+    };
+
+    private static char[][] testKatakanaHiraganaCases = {
+        {0x3042, 0x30C3},
+        {0x30A2, 0x30C3},
+        {0x3042, 0x30C4},
+        {0x30A2, 0x30C4}
+    };
+
+    private static char[][] testChooonKigooCases = {
+        /*0*/ {0x30AB, 0x30FC, 0x3042},
+        /*1*/ {0x30AB, 0x30FC, 0x30A2},
+        /*2*/ {0x30AB, 0x30A4, 0x3042},
+        /*3*/ {0x30AB, 0x30A4, 0x30A2},
+        /*6*/ {0x30AD, 0x30FC, 0x3042}, /* Prolonged sound mark sorts BEFORE equivalent vowel (ICU 2.0)*/
+        /*7*/ {0x30AD, 0x30FC, 0x30A2}, /* Prolonged sound mark sorts BEFORE equivalent vowel (ICU 2.0)*/
+        /*4*/ {0x30AD, 0x30A4, 0x3042},
+        /*5*/ {0x30AD, 0x30A4, 0x30A2}
+    };
+        
+    private Collator myCollation = null;
+    
+    public CollationKanaTest() {
+    }
+    protected void init()throws Exception{ 
+        if(myCollation==null){
+            myCollation = Collator.getInstance(Locale.JAPANESE); 
+        }
+    }
+    // performs test with strength TERIARY
+    public void TestTertiary() {
+        int i = 0;
+        myCollation.setStrength(Collator.TERTIARY);
+        
+        for (i = 0; i < 6; i++) {
+            doTest(testSourceCases[i], testTargetCases[i], results[i]);
+        }
+    }
+
+    /* Testing base letters */
+    public void TestBase() {
+        int i;
+        myCollation.setStrength(Collator.PRIMARY);
+        for (i = 0; i < 3 ; i++) {
+            doTest(testBaseCases[i], testBaseCases[i + 1], -1);
+        }
+    }
+
+    /* Testing plain, Daku-ten, Handaku-ten letters */
+    public void TestPlainDakutenHandakuten() {
+        int i;
+        myCollation.setStrength(Collator.SECONDARY);
+        for (i = 0; i < 3 ; i++) {
+            doTest(testPlainDakutenHandakutenCases[i], testPlainDakutenHandakutenCases[i + 1], -1);
+        }
+    }
+
+    /* 
+    * Test Small, Large letters
+    */
+    public void TestSmallLarge() {
+        int i;
+        myCollation.setStrength(Collator.TERTIARY);
+
+        for (i = 0; i < 3 ; i++) {
+            doTest(testSmallLargeCases[i], testSmallLargeCases[i + 1], -1);
+        }
+    }
+
+    /*
+    * Test Katakana, Hiragana letters
+    */
+    public void TestKatakanaHiragana() {
+        int i;
+        myCollation.setStrength(Collator.QUATERNARY);
+        for (i = 0; i < 3 ; i++) {
+            doTest(testKatakanaHiraganaCases[i], testKatakanaHiraganaCases[i + 1], -1);
+        }
+    }
+
+    /*
+    * Test Choo-on kigoo
+    */
+    public void TestChooonKigoo() {
+        int i;
+        myCollation.setStrength(Collator.QUATERNARY);
+        for (i = 0; i < 7 ; i++) {
+            doTest(testChooonKigooCases[i], testChooonKigooCases[i + 1], -1);
+        }
+    }
+
+    // main test routine, tests rules specific to "Kana" locale
+    private void doTest(char[] source, char[] target, int result){
+        
+        String s = new String(source);
+        String t = new String(target);
+        int compareResult = myCollation.compare(s, t);
+        CollationKey sortKey1, sortKey2;
+        sortKey1 = myCollation.getCollationKey(s);
+        sortKey2 = myCollation.getCollationKey(t);
+        int keyResult = sortKey1.compareTo(sortKey2);
+        reportCResult(s, t, sortKey1, sortKey2, compareResult, keyResult, compareResult, result);
+        
+    }
+    
+    private void reportCResult( String source, String target, CollationKey sourceKey, CollationKey targetKey,
+                                int compareResult, int keyResult, int incResult, int expectedResult ){
+        if (expectedResult < -1 || expectedResult > 1) {
+            errln("***** invalid call to reportCResult ****");
+            return;
+        }
+
+        boolean ok1 = (compareResult == expectedResult);
+        boolean ok2 = (keyResult == expectedResult);
+        boolean ok3 = (incResult == expectedResult);
+
+        if (ok1 && ok2 && ok3 && !isVerbose()){
+            return;    
+        } else {
+            String msg1 = ok1? "Ok: compare(\"" : "FAIL: compare(\"";
+            String msg2 = "\", \"";
+            String msg3 = "\") returned ";
+            String msg4 = "; expected ";
+            
+            String sExpect = new String("");
+            String sResult = new String("");
+            sResult = appendCompareResult(compareResult, sResult);
+            sExpect = appendCompareResult(expectedResult, sExpect);
+            if (ok1) {
+                logln(msg1 + source + msg2 + target + msg3 + sResult);
+            } else {
+                errln(msg1 + source + msg2 + target + msg3 + sResult + msg4 + sExpect);
+            }
+            
+            msg1 = ok2 ? "Ok: key(\"" : "FAIL: key(\"";
+            msg2 = "\").compareTo(key(\"";
+            msg3 = "\")) returned ";
+            sResult = appendCompareResult(keyResult, sResult);
+            if (ok2) {
+                logln(msg1 + source + msg2 + target + msg3 + sResult);
+            } else {
+                errln(msg1 + source + msg2 + target + msg3 + sResult + msg4 + sExpect);
+                msg1 = "  ";
+                msg2 = " vs. ";
+                errln(msg1 + prettify(sourceKey) + msg2 + prettify(targetKey));
+            }
+            
+            msg1 = ok3 ? "Ok: incCompare(\"" : "FAIL: incCompare(\"";
+            msg2 = "\", \"";
+            msg3 = "\") returned ";
+
+            sResult = appendCompareResult(incResult, sResult);
+
+            if (ok3) {
+                logln(msg1 + source + msg2 + target + msg3 + sResult);
+            } else {
+                errln(msg1 + source + msg2 + target + msg3 + sResult + msg4 + sExpect);
+            }                
+        }
+    }
+    
+    private String appendCompareResult(int result, String target){
+        if (result == -1) {
+            target += "LESS";
+        } else if (result == 0) {
+            target += "EQUAL";
+        } else if (result == 1) {
+            target += "GREATER";
+        } else {
+            String huh = "?";
+            target += huh + result;
+        }
+        return target;
+    }
+    
+    String prettify(CollationKey sourceKey) {
+        int i;
+        byte[] bytes= sourceKey.toByteArray();
+        String target = "[";
+    
+        for (i = 0; i < bytes.length; i++) {
+            target += Integer.toHexString(bytes[i]);
+            target += " ";
+        }
+        target += "]";
+        return target;
+    }
+}
\ No newline at end of file
diff --git a/src/com/ibm/icu/dev/test/collator/CollationMiscTest.java b/src/com/ibm/icu/dev/test/collator/CollationMiscTest.java
new file mode 100644
index 0000000..1f59ad7
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/collator/CollationMiscTest.java
@@ -0,0 +1,2109 @@
+ /*
+ *******************************************************************************
+ * Copyright (C) 2002-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+/** 
+ * Port From:   ICU4C v2.1 : cintltest
+ * Source File: $ICU4CRoot/source/test/cintltest/cmsccoll.c
+ */
+ 
+package com.ibm.icu.dev.test.collator;
+
+import com.ibm.icu.dev.test.TestFmwk;
+import com.ibm.icu.util.UResourceBundle;
+import com.ibm.icu.impl.ICUResourceBundle;
+import com.ibm.icu.impl.ImplicitCEGenerator;
+import com.ibm.icu.impl.Utility;
+import com.ibm.icu.text.CollationElementIterator;
+import com.ibm.icu.text.CollationKey;
+import com.ibm.icu.text.Collator;
+import com.ibm.icu.text.Normalizer;
+import com.ibm.icu.text.RuleBasedCollator;
+import com.ibm.icu.text.UTF16;
+import java.util.Locale;
+
+public class CollationMiscTest extends TestFmwk {
+
+    public static void main(String[] args) throws Exception {
+        new CollationMiscTest().run(args);
+        // new CollationMiscTest().TestLocaleRuleBasedCollators(); 
+    }
+    
+    private static final int NORM_BUFFER_TEST_LEN_ = 32;
+    private static final class Tester 
+    {
+        int u;
+        String NFC;
+        String NFD;
+    }
+    
+    private static final boolean hasCollationElements(Locale locale)
+    {
+        ICUResourceBundle rb = (ICUResourceBundle)UResourceBundle.getBundleInstance(ICUResourceBundle.ICU_COLLATION_BASE_NAME,locale);
+        if (rb != null) {
+            try {
+                String collkey = rb.getStringWithFallback("collations/default"); 
+                ICUResourceBundle elements = rb.getWithFallback("collations/" + collkey);
+                if (elements != null) {
+                    return true;
+                }
+            } catch (Exception e) {
+            }
+        }
+        return false;
+    }
+    
+    public void TestComposeDecompose() 
+    {
+        Tester t[] = new Tester[0x30000];
+        t[0] = new Tester();
+        logln("Testing UCA extensively\n");
+        RuleBasedCollator coll;
+        try {
+            coll = (RuleBasedCollator)Collator.getInstance(Locale.ENGLISH);
+        } 
+        catch (Exception e) {
+            warnln("Error opening collator\n");
+            return;
+        }
+    
+        int noCases = 0;
+        for (int u = 0; u < 0x30000; u ++) {
+            String comp = UTF16.valueOf(u);
+            int len = comp.length();
+            t[noCases].NFC = Normalizer.normalize(u, Normalizer.NFC);
+            t[noCases].NFD = Normalizer.normalize(u, Normalizer.NFD);
+    
+            if (t[noCases].NFC.length() != t[noCases].NFD.length() 
+                || (t[noCases].NFC.compareTo(t[noCases].NFD) != 0) 
+                || (len != t[noCases].NFD.length())
+                || (comp.compareTo(t[noCases].NFD) != 0)) {
+                t[noCases].u = u;
+                if (len != t[noCases].NFD.length() 
+                    || (comp.compareTo(t[noCases].NFD) != 0)) {
+                    t[noCases].NFC = comp;
+                }
+                noCases ++;
+                t[noCases] = new Tester();
+            } 
+        }
+    
+        for (int u = 0; u < noCases; u ++) {
+            if (!coll.equals(t[u].NFC, t[u].NFD)) {
+                errln("Failure: codePoint \\u" + Integer.toHexString(t[u].u) 
+                      + " fails TestComposeDecompose in the UCA");
+                CollationTest.doTest(this, coll, t[u].NFC, t[u].NFD, 0);
+            }
+        }
+    
+        logln("Testing locales, number of cases = " + noCases);
+        Locale loc[] = Collator.getAvailableLocales();
+        for (int i = 0; i < loc.length; i ++) {
+            if (hasCollationElements(loc[i])) {
+                logln("Testing locale " + loc[i].getDisplayName());
+                coll = (RuleBasedCollator)Collator.getInstance(loc[i]);
+                coll.setStrength(Collator.IDENTICAL);
+    
+                for (int u = 0; u < noCases; u ++) {
+                    if (!coll.equals(t[u].NFC, t[u].NFD)) {
+                        errln("Failure: codePoint \\u" 
+                              + Integer.toHexString(t[u].u)
+                              + " fails TestComposeDecompose for locale "
+                              + loc[i].getDisplayName());
+                        // this tests for the iterators too
+                        CollationTest.doTest(this, coll, t[u].NFC, t[u].NFD, 
+                                             0);
+                    }
+                }
+            }
+        }
+    }
+    
+    public void TestRuleOptions() {
+        // values here are hardcoded and are correct for the current UCA when 
+        // the UCA changes, one might be forced to change these values. 
+        // (\\u02d0, \\U00010FFFC etc...) 
+        String[] rules = {
+            // cannot test this anymore, as [last primary ignorable] doesn't 
+            // have a  code point associated to it anymore  
+            // "&[before 3][last primary ignorable]<<<k",
+            // - all befores here amount to zero       
+            "&[before 3][first tertiary ignorable]<<<a",
+            "&[before 3][last tertiary ignorable]<<<a",  
+            "&[before 3][first secondary ignorable]<<<a",
+            "&[before 3][last secondary ignorable]<<<a", 
+            // 'normal' befores  
+            "&[before 3][first primary ignorable]<<<c<<<b &[first primary ignorable]<a",
+            // we don't have a code point that corresponds to the last primary 
+            // ignorable 
+            "&[before 3][last primary ignorable]<<<c<<<b &[last primary ignorable]<a",
+            "&[before 3][first variable]<<<c<<<b &[first variable]<a",
+            "&[last variable]<a &[before 3][last variable]<<<c<<<b ",
+            "&[first regular]<a &[before 1][first regular]<b", 
+            "&[before 1][last regular]<b &[last regular]<a",
+            "&[before 1][first implicit]<b &[first implicit]<a",
+            "&[before 1][last implicit]<b &[last implicit]<a", 
+            "&[last variable]<z&[last primary ignorable]<x&[last secondary ignorable]<<y&[last tertiary ignorable]<<<w&[top]<u",
+        };
+        String[][] data = {
+            // {"k", "\u20e3"},
+            {"\\u0000", "a"}, // you cannot go before first tertiary ignorable 
+            {"\\u0000", "a"}, // you cannot go before last tertiary ignorable 
+            {"\\u0000", "a"}, // you cannot go before first secondary ignorable
+            {"\\u0000", "a"}, // you cannot go before first secondary ignorable
+            {"c", "b", "\\u0332", "a"},
+            {"\\u0332", "\\u20e3", "c", "b", "a"},
+            {"c", "b", "\\u0009", "a", "\\u000a"},
+            {"c", "b", "\\uD802\\uDE47", "a", "\\u02d0"},
+            {"b", "\\u02d0", "a", "\\u02d1"},
+            {"b", "\\ud800\\udfcf", "a", "\\u4e00"},
+            {"b", "\\u4e00", "a", "\\u4e01"},
+            {"b", "\\U0010FFFD", "a"},
+            {"\ufffb",  "w", "y", "\u20e3", "x", "\u137c", "z", "u"},
+        };
+        
+        for (int i = 0; i< rules.length; i++) {
+            genericRulesStarter(rules[i], data[i]);
+        }
+    }
+    
+    void genericRulesStarter(String rules, String[] s) {
+        genericRulesTestWithResult(rules, s, -1);
+    }
+    
+    void genericRulesTestWithResult(String rules, String[] s, int result) {
+        
+        RuleBasedCollator coll = null;
+        try {
+            coll = new RuleBasedCollator(rules);
+            // logln("Rules starter for " + rules);
+            genericOrderingTestWithResult(coll, s, result);
+        } catch (Exception e) {
+            warnln("Unable to open collator with rules " + rules);
+        }
+    }
+    
+    void genericOrderingTestWithResult(Collator coll, String[] s, int result) {
+        String t1 = "";
+        String t2 = "";
+        
+        for(int i = 0; i < s.length - 1; i++) {
+            for(int j = i+1; j < s.length; j++) {
+                t1 = Utility.unescape(s[i]);
+                t2 = Utility.unescape(s[j]);
+                // System.out.println(i + " " + j);
+                CollationTest.doTest(this, (RuleBasedCollator)coll, t1, t2, 
+                                     result);
+            }
+        }
+    }
+
+    void reportCResult(String source, String target, CollationKey sourceKey, CollationKey targetKey,
+                       int compareResult, int keyResult, int incResult, int expectedResult ) {
+        if (expectedResult < -1 || expectedResult > 1) {
+            errln("***** invalid call to reportCResult ****");
+            return;
+        }
+        boolean ok1 = (compareResult == expectedResult);
+        boolean ok2 = (keyResult == expectedResult);
+        boolean ok3 = (incResult == expectedResult);
+        if (ok1 && ok2 && ok3 /* synwee to undo && !isVerbose()*/) {
+            return;    
+        } else {
+            String msg1 = ok1? "Ok: compare(\"" : "FAIL: compare(\"";
+            String msg2 = "\", \"";
+            String msg3 = "\") returned ";
+            String msg4 = "; expected ";
+            String sExpect = new String("");
+            String sResult = new String("");
+            sResult = appendCompareResult(compareResult, sResult);
+            sExpect = appendCompareResult(expectedResult, sExpect);
+            if (ok1) {
+                // logln(msg1 + source + msg2 + target + msg3 + sResult);
+            } else {
+                errln(msg1 + source + msg2 + target + msg3 + sResult + msg4 + sExpect);
+            }
+            msg1 = ok2 ? "Ok: key(\"" : "FAIL: key(\"";
+            msg2 = "\").compareTo(key(\"";
+            msg3 = "\")) returned ";
+            sResult = appendCompareResult(keyResult, sResult);
+            if (ok2) {
+                // logln(msg1 + source + msg2 + target + msg3 + sResult);
+            } else {
+                errln(msg1 + source + msg2 + target + msg3 + sResult + msg4 + sExpect);
+                msg1 = "  ";
+                msg2 = " vs. ";
+                errln(msg1 + prettify(sourceKey) + msg2 + prettify(targetKey));
+            }
+            msg1 = ok3 ? "Ok: incCompare(\"" : "FAIL: incCompare(\"";
+            msg2 = "\", \"";
+            msg3 = "\") returned ";
+            sResult = appendCompareResult(incResult, sResult);
+            if (ok3) {
+                // logln(msg1 + source + msg2 + target + msg3 + sResult);
+            } else {
+                errln(msg1 + source + msg2 + target + msg3 + sResult + msg4 + sExpect);
+            }                
+        }
+    }
+    
+    String appendCompareResult(int result, String target) {
+        if (result == -1) {  //LESS
+            target += "LESS";
+        } else if (result == 0) {  //EQUAL
+            target += "EQUAL";
+        } else if (result == 1) {  //GREATER
+            target += "GREATER";
+        } else {
+            String huh = "?";
+            target += huh + result;
+        }
+        return target;
+    }
+    
+    String prettify(CollationKey sourceKey) {
+        int i;
+        byte[] bytes= sourceKey.toByteArray();
+        String target = "[";
+    
+        for (i = 0; i < bytes.length; i++) {
+            target += Integer.toHexString(bytes[i]);
+            target += " ";
+        }
+        target += "]";
+        return target;
+    }
+    
+    public void TestBeforePrefixFailure() {
+        String[] rules = {
+            "&g <<< a&[before 3]\uff41 <<< x",
+            "&\u30A7=\u30A7=\u3047=\uff6a&\u30A8=\u30A8=\u3048=\uff74&[before 3]\u30a7<<<\u30a9",
+            "&[before 3]\u30a7<<<\u30a9&\u30A7=\u30A7=\u3047=\uff6a&\u30A8=\u30A8=\u3048=\uff74",
+        };
+        String[][] data = {
+            {"x", "\uff41"},
+            {"\u30a9", "\u30a7"},
+            {"\u30a9", "\u30a7"},
+        };
+        
+        for(int i = 0; i< rules.length; i++) {
+            genericRulesStarter(rules[i], data[i]);
+        }
+    }
+    
+    public void TestContractionClosure() {
+        String[] rules = {
+            "&b=\u00e4\u00e4",
+            "&b=\u00C5",
+        };
+        String[][] data = {
+            { "b", "\u00e4\u00e4", "a\u0308a\u0308", "\u00e4a\u0308", "a\u0308\u00e4" },
+            { "b", "\u00C5", "A\u030A", "\u212B" },
+        };
+        
+        for(int i = 0; i< rules.length; i++) {
+            genericRulesTestWithResult(rules[i], data[i], 0);
+        }
+    }
+    
+    public void TestPrefixCompose() {
+        String rule1 = "&\u30a7<<<\u30ab|\u30fc=\u30ac|\u30fc";
+        
+        String string = rule1;
+        try {
+            RuleBasedCollator coll = new RuleBasedCollator(string);
+            logln("rule:" + coll.getRules());
+        } catch (Exception e) {
+            warnln("Error open RuleBasedCollator rule = " + string);
+        }
+    }
+    
+    public void TestStrCollIdenticalPrefix() {
+        String rule = "&\ud9b0\udc70=\ud9b0\udc71";
+        String test[] = {
+            "ab\ud9b0\udc70",
+            "ab\ud9b0\udc71"
+        };
+        genericRulesTestWithResult(rule, test, 0);
+    }
+    
+    public void TestPrefix() {
+        String[] rules = {
+            "&z <<< z|a",
+            "&z <<< z|   a", 
+            "[strength I]&a=\ud900\udc25&z<<<\ud900\udc25|a", 
+        };
+        String[][] data = {
+            {"zz", "za"},
+            {"zz", "za"},
+            {"aa", "az", "\ud900\udc25z", "\ud900\udc25a", "zz"},
+        };
+        
+        for(int i = 0; i<rules.length; i++) {
+            genericRulesStarter(rules[i], data[i]);
+        }
+    }
+    
+    public void TestNewJapanese() {
+        
+        String test1[] = {
+            "\u30b7\u30e3\u30fc\u30ec",
+            "\u30b7\u30e3\u30a4",
+            "\u30b7\u30e4\u30a3",
+            "\u30b7\u30e3\u30ec",
+            "\u3061\u3087\u3053",
+            "\u3061\u3088\u3053",
+            "\u30c1\u30e7\u30b3\u30ec\u30fc\u30c8",
+            "\u3066\u30fc\u305f",
+            "\u30c6\u30fc\u30bf", 
+            "\u30c6\u30a7\u30bf",
+            "\u3066\u3048\u305f",
+            "\u3067\u30fc\u305f", 
+            "\u30c7\u30fc\u30bf",
+            "\u30c7\u30a7\u30bf",
+            "\u3067\u3048\u305f",
+            "\u3066\u30fc\u305f\u30fc",
+            "\u30c6\u30fc\u30bf\u30a1",
+            "\u30c6\u30a7\u30bf\u30fc",
+            "\u3066\u3047\u305f\u3041",
+            "\u3066\u3048\u305f\u30fc",
+            "\u3067\u30fc\u305f\u30fc",
+            "\u30c7\u30fc\u30bf\u30a1",
+            "\u3067\u30a7\u305f\u30a1",
+            "\u30c7\u3047\u30bf\u3041",
+            "\u30c7\u30a8\u30bf\u30a2",
+            "\u3072\u3086",
+            "\u3073\u3085\u3042",
+            "\u3074\u3085\u3042",
+            "\u3073\u3085\u3042\u30fc",
+            "\u30d3\u30e5\u30a2\u30fc",
+            "\u3074\u3085\u3042\u30fc",
+            "\u30d4\u30e5\u30a2\u30fc",
+            "\u30d2\u30e5\u30a6",
+            "\u30d2\u30e6\u30a6",
+            "\u30d4\u30e5\u30a6\u30a2",
+            "\u3073\u3085\u30fc\u3042\u30fc", 
+            "\u30d3\u30e5\u30fc\u30a2\u30fc",
+            "\u30d3\u30e5\u30a6\u30a2\u30fc",
+            "\u3072\u3085\u3093",
+            "\u3074\u3085\u3093",
+            "\u3075\u30fc\u308a",
+            "\u30d5\u30fc\u30ea",
+            "\u3075\u3045\u308a",
+            "\u3075\u30a5\u308a",
+            "\u3075\u30a5\u30ea",
+            "\u30d5\u30a6\u30ea",
+            "\u3076\u30fc\u308a",
+            "\u30d6\u30fc\u30ea",
+            "\u3076\u3045\u308a",
+            "\u30d6\u30a5\u308a",
+            "\u3077\u3046\u308a",
+            "\u30d7\u30a6\u30ea",
+            "\u3075\u30fc\u308a\u30fc",
+            "\u30d5\u30a5\u30ea\u30fc",
+            "\u3075\u30a5\u308a\u30a3",
+            "\u30d5\u3045\u308a\u3043",
+            "\u30d5\u30a6\u30ea\u30fc",
+            "\u3075\u3046\u308a\u3043",
+            "\u30d6\u30a6\u30ea\u30a4",
+            "\u3077\u30fc\u308a\u30fc",
+            "\u3077\u30a5\u308a\u30a4",
+            "\u3077\u3046\u308a\u30fc",
+            "\u30d7\u30a6\u30ea\u30a4",
+            "\u30d5\u30fd",
+            "\u3075\u309e",
+            "\u3076\u309d",
+            "\u3076\u3075",
+            "\u3076\u30d5",
+            "\u30d6\u3075",
+            "\u30d6\u30d5",
+            "\u3076\u309e",
+            "\u3076\u3077",
+            "\u30d6\u3077",
+            "\u3077\u309d",
+            "\u30d7\u30fd",
+            "\u3077\u3075",
+        };
+        
+        String test2[] = {
+            "\u306f\u309d", // H\u309d 
+            "\u30cf\u30fd", // K\u30fd 
+            "\u306f\u306f", // HH 
+            "\u306f\u30cf", // HK 
+            "\u30cf\u30cf", // KK 
+            "\u306f\u309e", // H\u309e 
+            "\u30cf\u30fe", // K\u30fe 
+            "\u306f\u3070", // HH\u309b 
+            "\u30cf\u30d0", // KK\u309b 
+            "\u306f\u3071", // HH\u309c 
+            "\u30cf\u3071", // KH\u309c 
+            "\u30cf\u30d1", // KK\u309c 
+            "\u3070\u309d", // H\u309b\u309d 
+            "\u30d0\u30fd", // K\u309b\u30fd 
+            "\u3070\u306f", // H\u309bH 
+            "\u30d0\u30cf", // K\u309bK 
+            "\u3070\u309e", // H\u309b\u309e 
+            "\u30d0\u30fe", // K\u309b\u30fe 
+            "\u3070\u3070", // H\u309bH\u309b 
+            "\u30d0\u3070", // K\u309bH\u309b 
+            "\u30d0\u30d0", // K\u309bK\u309b 
+            "\u3070\u3071", // H\u309bH\u309c 
+            "\u30d0\u30d1", // K\u309bK\u309c 
+            "\u3071\u309d", // H\u309c\u309d 
+            "\u30d1\u30fd", // K\u309c\u30fd 
+            "\u3071\u306f", // H\u309cH 
+            "\u30d1\u30cf", // K\u309cK 
+            "\u3071\u3070", // H\u309cH\u309b 
+            "\u3071\u30d0", // H\u309cK\u309b 
+            "\u30d1\u30d0", // K\u309cK\u309b
+            "\u3071\u3071", // H\u309cH\u309c
+            "\u30d1\u30d1", // K\u309cK\u309c
+        };
+        
+        String[] att = { "strength", };
+        Object[] val = { new Integer(Collator.QUATERNARY), };
+        
+        String[] attShifted = { "strength", "AlternateHandling"};
+        Object valShifted[] = { new Integer(Collator.QUATERNARY), 
+                                new Boolean(true) };
+       
+        genericLocaleStarterWithOptions(Locale.JAPANESE, test1, att, val);
+        genericLocaleStarterWithOptions(Locale.JAPANESE, test2, att, val);
+        
+        genericLocaleStarterWithOptions(Locale.JAPANESE, test1, attShifted,
+                                        valShifted);
+        genericLocaleStarterWithOptions(Locale.JAPANESE, test2, attShifted,
+                                        valShifted);
+    }
+    
+    void genericLocaleStarter(Locale locale, String s[]) {
+        RuleBasedCollator coll = null;
+        try {
+            coll = (RuleBasedCollator)Collator.getInstance(locale);
+            
+        } catch (Exception e) {
+            warnln("Unable to open collator for locale " + locale);
+            return;
+        }
+        // logln("Locale starter for " + locale);
+        genericOrderingTest(coll, s);
+    }
+    
+    void genericLocaleStarterWithOptions(Locale locale, String[] s, String[] attrs, Object[] values) {
+        RuleBasedCollator coll = null;
+        try {
+            coll = (RuleBasedCollator)Collator.getInstance(locale);
+        } catch (Exception e) {
+            warnln("Unable to open collator for locale " + locale);
+            return;
+        }
+        // logln("Locale starter for " +locale);
+        
+        // logln("Setting attributes");
+        
+        for(int i = 0; i < attrs.length; i++) {
+            if (attrs[i].equals("strength")) {
+                coll.setStrength(((Integer)values[i]).intValue());
+            } 
+            else if (attrs[i].equals("decomp")) {
+                coll.setDecomposition(((Integer)values[i]).intValue());
+            } 
+            else if (attrs[i].equals("AlternateHandling")) {
+                coll.setAlternateHandlingShifted(((Boolean)values[i]
+                                                  ).booleanValue());
+            }
+            else if (attrs[i].equals("NumericCollation")) {
+                coll.setNumericCollation(((Boolean)values[i]).booleanValue());
+            }
+        }
+        
+        genericOrderingTest(coll, s);
+    }
+    
+    void genericOrderingTest(Collator coll, String[] s) {
+        genericOrderingTestWithResult(coll, s, -1);
+    }
+    
+    public void TestNonChars() {
+        String test[] = {
+            "\u0000",
+            "\uFFFE", "\uFFFF",
+            "\\U0001FFFE", "\\U0001FFFF",
+            "\\U0002FFFE", "\\U0002FFFF",
+            "\\U0003FFFE", "\\U0003FFFF",
+            "\\U0004FFFE", "\\U0004FFFF",
+            "\\U0005FFFE", "\\U0005FFFF",
+            "\\U0006FFFE", "\\U0006FFFF",
+            "\\U0007FFFE", "\\U0007FFFF",
+            "\\U0008FFFE", "\\U0008FFFF",
+            "\\U0009FFFE", "\\U0009FFFF",
+            "\\U000AFFFE", "\\U000AFFFF",
+            "\\U000BFFFE", "\\U000BFFFF",
+            "\\U000CFFFE", "\\U000CFFFF",
+            "\\U000DFFFE", "\\U000DFFFF",
+            "\\U000EFFFE", "\\U000EFFFF",
+            "\\U000FFFFE", "\\U000FFFFF",
+            "\\U0010FFFE", "\\U0010FFFF"
+        };
+        Collator coll = null;
+        try {
+            coll = Collator.getInstance(new Locale("en", "US"));
+        } catch (Exception e) {
+            warnln("Unable to open collator");
+            return;
+        }
+        // logln("Test non characters");
+        
+        genericOrderingTestWithResult(coll, test, 0);
+    }
+    
+    public void TestExtremeCompression() {
+        String[] test = new String[4];
+        
+        for(int i = 0; i<4; i++) {
+            StringBuffer temp = new StringBuffer();
+            for (int j = 0; j < 2047; j++) {
+                temp.append('a');
+            }
+            temp.append((char)('a' + i));
+            test[i] = temp.toString();
+        }
+        
+        genericLocaleStarter(new Locale("en", "US"), test);
+    }
+
+    /**
+     * Tests surrogate support.
+     */
+    public void TestSurrogates() {
+        String test[] = {"z","\ud900\udc25", "\ud805\udc50", "\ud800\udc00y",  
+                         "\ud800\udc00r", "\ud800\udc00f", "\ud800\udc00", 
+                         "\ud800\udc00c", "\ud800\udc00b", "\ud800\udc00fa", 
+                         "\ud800\udc00fb", "\ud800\udc00a", "c", "b"};
+
+        String rule = "&z < \ud900\udc25 < \ud805\udc50 < \ud800\udc00y "
+            + "< \ud800\udc00r < \ud800\udc00f << \ud800\udc00 "
+            + "< \ud800\udc00fa << \ud800\udc00fb < \ud800\udc00a " 
+            + "< c < b";
+        genericRulesStarter(rule, test);
+    }
+    
+    public void TestBocsuCoverage() {
+        String test = "\u0041\u0441\u4441\\U00044441\u4441\u0441\u0041";
+        Collator coll = Collator.getInstance();
+        coll.setStrength(Collator.IDENTICAL);
+        CollationKey key = coll.getCollationKey(test);
+        logln("source:" + key.getSourceString());
+    }
+    
+    public void TestCyrillicTailoring() {
+        String test[] = {
+            "\u0410b",
+            "\u0410\u0306a",
+            "\u04d0A"
+        };
+        genericLocaleStarter(new Locale("en", ""), test);
+        genericRulesStarter("&\u0410 = \u0410", test);
+        genericRulesStarter("&Z < \u0410", test);
+        genericRulesStarter("&\u0410 = \u0410 < \u04d0", test);
+        genericRulesStarter("&Z < \u0410 < \u04d0", test);
+        genericRulesStarter("&\u0410 = \u0410 < \u0410\u0301", test);
+        genericRulesStarter("&Z < \u0410 < \u0410\u0301", test);
+    }
+
+    public void TestSuppressContractions() {
+        String testNoCont2[] = {
+            "\u0410\u0302a",
+            "\u0410\u0306b",
+            "\u0410c"            
+        };
+        String testNoCont[] = {
+            "a\u0410",            
+            "A\u0410\u0306",
+            "\uFF21\u0410\u0302"
+        };
+            
+        genericRulesStarter("[suppressContractions [\u0400-\u047f]]", testNoCont);
+        genericRulesStarter("[suppressContractions [\u0400-\u047f]]", testNoCont2);
+    }
+        
+    public void TestCase() {
+        String gRules = "\u0026\u0030\u003C\u0031\u002C\u2460\u003C\u0061\u002C\u0041";
+        String[] testCase = {
+            "1a", "1A", "\u2460a", "\u2460A"
+        };
+        int[][] caseTestResults = {
+            { -1, -1, -1, 0, -1, -1, 0, 0, -1 },
+            { 1, -1, -1, 0, -1, -1, 0, 0, 1 },
+            { -1, -1, -1, 0, 1, -1, 0, 0, -1 },
+            { 1, -1, 1, 0, -1, -1, 0, 0, 1 }
+    
+        };
+        boolean[][] caseTestAttributes = {
+            { false, false},
+            { true, false},
+            { false, true},
+            { true, true}
+        };
+        
+        int i,j,k;
+        Collator  myCollation;
+        try {
+            myCollation = Collator.getInstance(new Locale("en", "US"));
+        } catch (Exception e) {
+            warnln("ERROR: in creation of rule based collator ");
+            return;
+        }
+        // logln("Testing different case settings");
+        myCollation.setStrength(Collator.TERTIARY);
+    
+        for(k = 0; k <4; k++) {
+            if (caseTestAttributes[k][0] == true) {
+                // upper case first
+                ((RuleBasedCollator)myCollation).setUpperCaseFirst(true);
+            }
+            else {
+                // upper case first
+                ((RuleBasedCollator)myCollation).setLowerCaseFirst(true);   
+            }
+            ((RuleBasedCollator)myCollation).setCaseLevel(
+                                                          caseTestAttributes[k][1]);
+          
+            // logln("Case first = " + caseTestAttributes[k][0] + ", Case level = " + caseTestAttributes[k][1]);
+            for (i = 0; i < 3 ; i++) {
+                for(j = i+1; j<4; j++) {
+                    CollationTest.doTest(this, 
+                                         (RuleBasedCollator)myCollation, 
+                                         testCase[i], testCase[j], 
+                                         caseTestResults[k][3*i+j-1]);
+                }
+            }
+        }
+        try {
+            myCollation = new RuleBasedCollator(gRules);
+        } catch (Exception e) {
+            warnln("ERROR: in creation of rule based collator");
+            return;
+        }
+        // logln("Testing different case settings with custom rules");
+        myCollation.setStrength(Collator.TERTIARY);
+    
+        for(k = 0; k<4; k++) {
+            if (caseTestAttributes[k][0] == true) {
+                ((RuleBasedCollator)myCollation).setUpperCaseFirst(true);
+            }
+            else {
+                ((RuleBasedCollator)myCollation).setUpperCaseFirst(false);
+            }
+            ((RuleBasedCollator)myCollation).setCaseLevel(
+                                                          caseTestAttributes[k][1]);
+            for (i = 0; i < 3 ; i++) {
+                for(j = i+1; j<4; j++) {
+                    CollationTest.doTest(this, 
+                                         (RuleBasedCollator)myCollation, 
+                                         testCase[i], testCase[j], 
+                                         caseTestResults[k][3*i+j-1]);
+                }
+            }
+        }
+
+        {
+            String[] lowerFirst = {
+                "h",
+                "H",
+                "ch",
+                "Ch",
+                "CH",
+                "cha",
+                "chA",
+                "Cha",
+                "ChA",
+                "CHa",
+                "CHA",
+                "i",
+                "I"
+            };
+    
+            String[] upperFirst = {
+                "H",
+                "h",
+                "CH",
+                "Ch",
+                "ch",
+                "CHA",
+                "CHa",
+                "ChA",
+                "Cha",
+                "chA",
+                "cha",
+                "I",
+                "i"
+            };
+            // logln("mixed case test");
+            // logln("lower first, case level off");
+            genericRulesStarter("[casefirst lower]&H<ch<<<Ch<<<CH", lowerFirst); 
+            // logln("upper first, case level off");
+            genericRulesStarter("[casefirst upper]&H<ch<<<Ch<<<CH", upperFirst);
+            // logln("lower first, case level on");
+            genericRulesStarter("[casefirst lower][caselevel on]&H<ch<<<Ch<<<CH", lowerFirst);
+            // logln("upper first, case level on");
+            genericRulesStarter("[casefirst upper][caselevel on]&H<ch<<<Ch<<<CH", upperFirst);
+        }
+    }
+
+    public void TestIncompleteCnt() {
+        String[] cnt1 = {
+            "AA",
+            "AC",
+            "AZ",
+            "AQ",
+            "AB",
+            "ABZ",
+            "ABQ",
+            "Z",
+            "ABC",
+            "Q",
+            "B"
+        };
+            
+        String[] cnt2 = {
+            "DA",
+            "DAD",
+            "DAZ",
+            "MAR",
+            "Z",
+            "DAVIS",
+            "MARK",
+            "DAV",
+            "DAVI"
+        };
+        RuleBasedCollator coll =  null;
+        String temp = " & Z < ABC < Q < B";
+        try {
+            coll = new RuleBasedCollator(temp);
+        } catch (Exception e) {
+            warnln("fail to create RuleBasedCollator");
+            return;
+        }
+        
+        int size = cnt1.length;
+        for(int i = 0; i < size-1; i++) {
+            for(int j = i+1; j < size; j++) {
+                String t1 = cnt1[i];
+                String t2 = cnt1[j];
+                CollationTest.doTest(this, coll, t1, t2, -1);
+            }
+        }
+        
+        temp = " & Z < DAVIS < MARK <DAV";
+        try {
+            coll = new RuleBasedCollator(temp);
+        } catch (Exception e) {
+            warnln("fail to create RuleBasedCollator");
+            return;
+        }
+        
+        size = cnt2.length;
+        for(int i = 0; i < size-1; i++) {
+            for(int j = i+1; j < size; j++) {
+                String t1 = cnt2[i];
+                String t2 = cnt2[j];
+                CollationTest.doTest(this, coll, t1, t2, -1);
+            }
+        }
+    }
+        
+    public void TestBlackBird() {
+        String[] shifted = {
+            "black bird",
+            "black-bird",
+            "blackbird",
+            "black Bird",
+            "black-Bird",
+            "blackBird",
+            "black birds",
+            "black-birds",
+            "blackbirds"
+        };
+        int[] shiftedTert = {
+            0,
+            0,
+            0,
+            -1,
+            0,
+            0,
+            -1,
+            0,
+            0
+        };
+        String[] nonignorable = {
+            "black bird",
+            "black Bird",
+            "black birds",
+            "black-bird",
+            "black-Bird",
+            "black-birds",
+            "blackbird",
+            "blackBird",
+            "blackbirds"
+        };
+        int i = 0, j = 0;
+        int size = 0;
+        Collator coll = Collator.getInstance(new Locale("en", "US"));
+        //ucol_setAttribute(coll, UCOL_NORMALIZATION_MODE, UCOL_OFF, &status);
+        //ucol_setAttribute(coll, UCOL_ALTERNATE_HANDLING, UCOL_NON_IGNORABLE, &status);
+        ((RuleBasedCollator)coll).setAlternateHandlingShifted(false);
+        size = nonignorable.length;
+        for(i = 0; i < size-1; i++) {
+            for(j = i+1; j < size; j++) {
+                String t1 = nonignorable[i];
+                String t2 = nonignorable[j];
+                CollationTest.doTest(this, (RuleBasedCollator)coll, t1, t2, -1);
+            }
+        }
+        ((RuleBasedCollator)coll).setAlternateHandlingShifted(true);
+        coll.setStrength(Collator.QUATERNARY);
+        size = shifted.length;
+        for(i = 0; i < size-1; i++) {
+            for(j = i+1; j < size; j++) {
+                String t1 = shifted[i];
+                String t2 = shifted[j];
+                CollationTest.doTest(this, (RuleBasedCollator)coll, t1, t2, -1);
+            }
+        }
+        coll.setStrength(Collator.TERTIARY);
+        size = shifted.length;
+        for(i = 1; i < size; i++) {
+            String t1 = shifted[i-1];
+            String t2 = shifted[i];
+            CollationTest.doTest(this, (RuleBasedCollator)coll, t1, t2, 
+                                 shiftedTert[i]);
+        }
+    }
+    
+    public void TestFunkyA() {
+        String[] testSourceCases = {
+            "\u0041\u0300\u0301",
+            "\u0041\u0300\u0316",
+            "\u0041\u0300",
+            "\u00C0\u0301",
+            // this would work with forced normalization 
+            "\u00C0\u0316",
+        };
+        
+        String[] testTargetCases = {
+            "\u0041\u0301\u0300",
+            "\u0041\u0316\u0300",
+            "\u00C0",
+            "\u0041\u0301\u0300",
+            // this would work with forced normalization 
+            "\u0041\u0316\u0300",
+        };
+        
+        int[] results = {
+            1,
+            0,
+            0,
+            1,
+            0
+        };
+
+        Collator  myCollation;
+        try {
+            myCollation = Collator.getInstance(new Locale("en", "US"));
+        } catch (Exception e) {
+            warnln("ERROR: in creation of rule based collator");
+            return;
+        }
+        // logln("Testing some A letters, for some reason");
+        myCollation.setDecomposition(Collator.CANONICAL_DECOMPOSITION);
+        myCollation.setStrength(Collator.TERTIARY);
+        for (int i = 0; i < 4 ; i++)
+            {
+                CollationTest.doTest(this, (RuleBasedCollator)myCollation, 
+                                     testSourceCases[i], testTargetCases[i], 
+                                     results[i]);
+            }
+    }
+    
+    public void TestChMove() {
+        String[] chTest = {
+            "c",
+            "C",
+            "ca", "cb", "cx", "cy", "CZ",
+            "c\u030C", "C\u030C",
+            "h",
+            "H",
+            "ha", "Ha", "harly", "hb", "HB", "hx", "HX", "hy", "HY",
+            "ch", "cH", "Ch", "CH",
+            "cha", "charly", "che", "chh", "chch", "chr",
+            "i", "I", "iarly",
+            "r", "R",
+            "r\u030C", "R\u030C",
+            "s",
+            "S",
+            "s\u030C", "S\u030C",
+            "z", "Z",
+            "z\u030C", "Z\u030C"
+        };
+        Collator coll = null;
+        try {
+            coll = Collator.getInstance(new Locale("cs", ""));
+        } catch (Exception e) {
+            warnln("Cannot create Collator");
+            return;
+        }
+        int size = chTest.length;
+        for(int i = 0; i < size-1; i++) {
+            for(int j = i+1; j < size; j++) {
+                String t1 = chTest[i];
+                String t2 = chTest[j];
+                CollationTest.doTest(this, (RuleBasedCollator)coll, t1, t2, -1);
+            }
+        }
+    }
+    
+    public void TestImplicitTailoring() {
+        String rules[] = { "&[before 1]\u4e00 < b < c &[before 1]\u4e00 < d < e",
+                           "&\u4e00 < a <<< A < b <<< B",
+                           "&[before 1]\u4e00 < \u4e01 < \u4e02",
+                           "&[before 1]\u4e01 < \u4e02 < \u4e03",
+        };
+        String cases[][] = {
+            { "d", "e", "b", "c", "\u4e00"}, 
+            { "\u4e00", "a", "A", "b", "B", "\u4e01"},
+            { "\u4e01", "\u4e02", "\u4e00"},
+            { "\u4e02", "\u4e03", "\u4e01"},
+        };
+        
+        int i = 0;
+        
+        for(i = 0; i < rules.length; i++) {
+            genericRulesStarter(rules[i], cases[i]);
+        }
+        
+    }
+
+    public void TestFCDProblem() {
+        String s1 = "\u0430\u0306\u0325";
+        String s2 = "\u04D1\u0325";
+        Collator coll = null;
+        try {
+            coll = Collator.getInstance();
+        } catch (Exception e) {
+            warnln("Can't create collator");
+            return;
+        }
+        
+        coll.setDecomposition(Collator.NO_DECOMPOSITION);
+        CollationTest.doTest(this, (RuleBasedCollator)coll, s1, s2, 0);
+        coll.setDecomposition(Collator.CANONICAL_DECOMPOSITION);
+        CollationTest.doTest(this, (RuleBasedCollator)coll, s1, s2, 0);
+    }
+    
+    public void TestEmptyRule() {
+        String rulez = "";
+        try {
+            RuleBasedCollator coll = new RuleBasedCollator(rulez);
+            logln("rule:" + coll.getRules());
+        } catch (Exception e) {
+            warnln(e.getMessage());
+        }
+    }
+    
+    /* superseded by TestBeforePinyin, since Chinese collation rules have changed */
+    /*
+    public void TestJ784() {
+        String[] data = {
+            "A", "\u0101", "\u00e1", "\u01ce", "\u00e0",
+            "E", "\u0113", "\u00e9", "\u011b", "\u00e8",
+            "I", "\u012b", "\u00ed", "\u01d0", "\u00ec",
+            "O", "\u014d", "\u00f3", "\u01d2", "\u00f2",
+            "U", "\u016b", "\u00fa", "\u01d4", "\u00f9",
+            "\u00fc", "\u01d6", "\u01d8", "\u01da", "\u01dc"
+        };
+        genericLocaleStarter(new Locale("zh", ""), data);
+    }
+    */
+    
+    public void TestJ815() {
+        String data[] = {
+            "aa",
+            "Aa",
+            "ab",
+            "Ab",
+            "ad",
+            "Ad",
+            "ae",
+            "Ae",
+            "\u00e6",
+            "\u00c6",
+            "af",
+            "Af",
+            "b",
+            "B"
+        };
+        genericLocaleStarter(new Locale("fr", ""), data);
+        genericRulesStarter("[backwards 2]&A<<\u00e6/e<<<\u00c6/E", data);
+    }
+    
+    public void TestJ3087()
+    {
+        String rule[] = {"&h<H&CH=\u0427",
+                         "&CH=\u0427&h<H",
+                         "&CH=\u0427"}; 
+        RuleBasedCollator rbc = null;
+        CollationElementIterator iter1;
+        CollationElementIterator iter2;
+        for (int i = 0; i < rule.length; i ++) {
+            try {
+                rbc = new RuleBasedCollator(rule[i]); 
+            } catch (Exception e) {
+                warnln(e.getMessage());
+                return;
+            }
+            iter1 = rbc.getCollationElementIterator("CH"); 
+            iter2 = rbc.getCollationElementIterator("\u0427");
+            int ce1 = CollationElementIterator.IGNORABLE;
+            int ce2 = CollationElementIterator.IGNORABLE;
+            while (ce1 != CollationElementIterator.NULLORDER
+                   && ce2 != CollationElementIterator.NULLORDER) {
+                ce1 = iter1.next();
+                ce2 = iter2.next();
+                if (ce1 != ce2) {
+                    errln("Error generating RuleBasedCollator with the rule "
+                          + rule[i]);
+                    errln("CH != \\u0427");
+                }
+            }
+        }
+    }
+    
+    public void DontTestJ831() { // Latvian does not use upper first
+        String[] data = {
+            "I",
+            "i",
+            "Y",
+            "y"
+        };
+        genericLocaleStarter(new Locale("lv", ""), data);
+    }
+    
+    public void TestBefore() {
+        String data[] = {
+            "\u0101", "\u00e1", "\u01ce", "\u00e0", "A",
+            "\u0113", "\u00e9", "\u011b", "\u00e8", "E",
+            "\u012b", "\u00ed", "\u01d0", "\u00ec", "I",
+            "\u014d", "\u00f3", "\u01d2", "\u00f2", "O",
+            "\u016b", "\u00fa", "\u01d4", "\u00f9", "U",
+            "\u01d6", "\u01d8", "\u01da", "\u01dc", "\u00fc"
+        };
+        genericRulesStarter(
+                            "&[before 1]a<\u0101<\u00e1<\u01ce<\u00e0"
+                            + "&[before 1]e<\u0113<\u00e9<\u011b<\u00e8"
+                            + "&[before 1]i<\u012b<\u00ed<\u01d0<\u00ec"
+                            + "&[before 1]o<\u014d<\u00f3<\u01d2<\u00f2"
+                            + "&[before 1]u<\u016b<\u00fa<\u01d4<\u00f9"
+                            + "&u<\u01d6<\u01d8<\u01da<\u01dc<\u00fc", data);
+    }
+
+    public void TestRedundantRules() {
+        String[] rules = {
+            //"& a <<< b <<< c << d <<< e& [before 1] e <<< x",
+            "& b <<< c <<< d << e <<< f& [before 3] f <<< x",
+            "& a < b <<< c << d <<< e& [before 1] e <<< x",
+            "& a < b < c < d& [before 1] c < m",
+            "& a < b <<< c << d <<< e& [before 3] e <<< x",
+            "& a < b <<< c << d <<< e& [before 2] e <<< x",
+            "& a < b <<< c << d <<< e <<< f < g& [before 1] g < x",
+            "& a <<< b << c < d& a < m",
+            "&a<b<<b\u0301 &z<b",
+            "&z<m<<<q<<<m",
+            "&z<<<m<q<<<m",
+            "& a < b < c < d& r < c",
+            "& a < b < c < d& r < c",
+            "& a < b < c < d& c < m",
+            "& a < b < c < d& a < m"
+        };
+        
+        String[] expectedRules = {
+            //"&\u2089<<<x",
+            "&\u0252<<<x",
+            "& a <<< x < b <<< c << d <<< e",
+            "& a < b < m < c < d",
+            "& a < b <<< c << d <<< x <<< e",
+            "& a < b <<< c <<< x << d <<< e",
+            "& a < b <<< c << d <<< e <<< f < x < g",
+            "& a <<< b << c < m < d",
+            "&a<b\u0301 &z<b",
+            "&z<q<<<m",
+            "&z<q<<<m",
+            "& a < b < d& r < c",
+            "& a < b < d& r < c",
+            "& a < b < c < m < d",
+            "& a < m < b < c < d"
+        };
+        
+        String[][] testdata = {
+            //            {"\u2089", "x"},
+            {"\u0252", "x"},
+            {"a", "x", "b", "c", "d", "e"},
+            {"a", "b", "m", "c", "d"},
+            {"a", "b", "c", "d", "x", "e"},
+            {"a", "b", "c", "x", "d", "e"},
+            {"a", "b", "c", "d", "e", "f", "x", "g"},
+            {"a", "b", "c", "m", "d"},
+            {"a", "b\u0301", "z", "b"},
+            {"z", "q", "m"},
+            {"z", "q", "m"},
+            {"a", "b", "d"},
+            {"r", "c"},
+            {"a", "b", "c", "m", "d"},
+            {"a", "m", "b", "c", "d"}
+        };
+        
+        String rlz = "";
+        for(int i = 0; i<rules.length; i++) {
+            logln("testing rule " + rules[i] + ", expected to be" + expectedRules[i]);
+            try {
+                rlz = rules[i];
+                Collator credundant = new RuleBasedCollator(rlz);
+                rlz = expectedRules[i];
+                Collator cresulting = new RuleBasedCollator(rlz);
+                logln(" credundant Rule:" + ((RuleBasedCollator)credundant).getRules());
+                logln(" cresulting Rule:" + ((RuleBasedCollator)cresulting).getRules());
+            } catch (Exception e) {
+                warnln("Cannot create RuleBasedCollator");
+            }
+            //testAgainstUCA(cresulting, credundant, "expected", TRUE, &status);
+            // logln("testing using data\n");
+            genericRulesStarter(rules[i], testdata[i]);
+        }
+    }
+    
+    public void TestExpansionSyntax() {
+        String[] rules = {
+            "&AE <<< a << b <<< c &d <<< f",
+            "&AE <<< a <<< b << c << d < e < f <<< g",
+            "&AE <<< B <<< C / D <<< F"
+        };
+        
+        String[] expectedRules = {
+            "&A <<< a / E << b / E <<< c /E  &d <<< f",
+            "&A <<< a / E <<< b / E << c / E << d / E < e < f <<< g",
+            "&A <<< B / E <<< C / ED <<< F / E"
+        };
+        
+        String[][] testdata = {
+            {"AE", "a", "b", "c"},
+            {"AE", "a", "b", "c", "d", "e", "f", "g"},
+            {"AE", "B", "C"} // / ED <<< F / E"},
+        };
+        
+        for(int i = 0; i<rules.length; i++) {
+            // logln("testing rule " + rules[i] + ", expected to be " + expectedRules[i]);
+            try {
+                String rlz = rules[i];
+                Collator credundant = new RuleBasedCollator(rlz);
+                rlz = expectedRules[i];
+                Collator cresulting = new RuleBasedCollator(rlz);
+                logln(" credundant Rule:" + ((RuleBasedCollator)credundant).getRules());
+                logln(" cresulting Rule:" + ((RuleBasedCollator)cresulting).getRules());
+            } catch (Exception e) {
+                warnln(e.getMessage());
+            }
+            // testAgainstUCA still doesn't handle expansions correctly, so this is not run 
+            // as a hard error test, but only in information mode 
+            //testAgainstUCA(cresulting, credundant, "expected", FALSE, &status);
+            
+            // logln("testing using data");
+            genericRulesStarter(rules[i], testdata[i]);
+        }
+    }
+
+    public void TestHangulTailoring() {
+        String[] koreanData = {
+            "\uac00", "\u4f3d", "\u4f73", "\u5047", "\u50f9", "\u52a0", "\u53ef", "\u5475",
+            "\u54e5", "\u5609", "\u5ac1", "\u5bb6", "\u6687", "\u67b6", "\u67b7", "\u67ef",
+            "\u6b4c", "\u73c2", "\u75c2", "\u7a3c", "\u82db", "\u8304", "\u8857", "\u8888",
+            "\u8a36", "\u8cc8", "\u8dcf", "\u8efb", "\u8fe6", "\u99d5",
+            "\u4EEE", "\u50A2", "\u5496", "\u54FF", "\u5777", "\u5B8A", "\u659D", "\u698E",
+            "\u6A9F", "\u73C8", "\u7B33", "\u801E", "\u8238", "\u846D", "\u8B0C"
+        };
+        
+        String rules =
+            "&\uac00 <<< \u4f3d <<< \u4f73 <<< \u5047 <<< \u50f9 <<< \u52a0 <<< \u53ef <<< \u5475 "
+            + "<<< \u54e5 <<< \u5609 <<< \u5ac1 <<< \u5bb6 <<< \u6687 <<< \u67b6 <<< \u67b7 <<< \u67ef "
+            + "<<< \u6b4c <<< \u73c2 <<< \u75c2 <<< \u7a3c <<< \u82db <<< \u8304 <<< \u8857 <<< \u8888 "
+            + "<<< \u8a36 <<< \u8cc8 <<< \u8dcf <<< \u8efb <<< \u8fe6 <<< \u99d5 "
+            + "<<< \u4EEE <<< \u50A2 <<< \u5496 <<< \u54FF <<< \u5777 <<< \u5B8A <<< \u659D <<< \u698E "
+            + "<<< \u6A9F <<< \u73C8 <<< \u7B33 <<< \u801E <<< \u8238 <<< \u846D <<< \u8B0C";
+        
+        String rlz = rules;
+        
+        Collator coll = null;
+        try {
+            coll = new RuleBasedCollator(rlz);
+        } catch (Exception e) {
+            warnln("Unable to open collator with rules" + rules);
+            return;
+        }
+        // logln("Using start of korean rules\n");
+        genericOrderingTest(coll, koreanData);
+        // logln("Setting jamoSpecial to TRUE and testing once more\n");
+        
+        // can't set jamo in icu4j 
+        // ((UCATableHeader *)coll->image)->jamoSpecial = TRUE; // don't try this at home
+        // genericOrderingTest(coll, koreanData);
+        
+        // no such locale in icu4j
+        // logln("Using ko__LOTUS locale\n");
+        // genericLocaleStarter(new Locale("ko__LOTUS", ""), koreanData);
+    }
+
+    public void TestIncrementalNormalize() {
+        Collator        coll = null;
+        // logln("Test 1 ....");
+        {
+            /* Test 1.  Run very long unnormalized strings, to force overflow of*/
+            /*          most buffers along the way.*/
+            
+            try {
+                coll = Collator.getInstance(new Locale("en", "US"));
+            } catch (Exception e) {
+                warnln("Cannot get default instance!");
+                return;
+            }
+            char baseA     =0x41;
+            char ccMix[]   = {0x316, 0x321, 0x300};
+            int          sLen;
+            int          i;
+            StringBuffer strA = new StringBuffer();
+            StringBuffer strB = new StringBuffer();
+            
+            coll.setDecomposition(Collator.CANONICAL_DECOMPOSITION);
+            
+            for (sLen = 1000; sLen<1001; sLen++) {
+                strA.delete(0, strA.length());
+                strA.append(baseA);
+                strB.delete(0, strB.length());
+                strB.append(baseA);
+                for (i=1; i< sLen; i++) {
+                    strA.append(ccMix[i % 3]);
+                    strB.insert(1, ccMix[i % 3]);
+                }
+                coll.setStrength(Collator.TERTIARY);   // Do test with default strength, which runs
+                CollationTest.doTest(this, (RuleBasedCollator)coll, 
+                                     strA.toString(), strB.toString(), 0);    //   optimized functions in the impl
+                coll.setStrength(Collator.IDENTICAL);   // Do again with the slow, general impl.
+                CollationTest.doTest(this, (RuleBasedCollator)coll, 
+                                     strA.toString(), strB.toString(), 0);
+            }
+        }
+        /*  Test 2:  Non-normal sequence in a string that extends to the last character*/
+        /*         of the string.  Checks a couple of edge cases.*/
+        // logln("Test 2 ....");    
+        {
+            String strA = "AA\u0300\u0316";
+            String strB = "A\u00c0\u0316";
+            coll.setStrength(Collator.TERTIARY);
+            CollationTest.doTest(this, (RuleBasedCollator)coll, strA, strB, 0);
+        }
+        /*  Test 3:  Non-normal sequence is terminated by a surrogate pair.*/
+        // logln("Test 3 ....");
+        {
+            String strA = "AA\u0300\u0316\uD800\uDC01";
+            String strB = "A\u00c0\u0316\uD800\uDC00";
+            coll.setStrength(Collator.TERTIARY);
+            CollationTest.doTest(this, (RuleBasedCollator)coll, strA, strB, 1);
+        }
+        /*  Test 4:  Imbedded nulls do not terminate a string when length is specified.*/
+        // logln("Test 4 ....");
+        /*
+         * not a valid test since string are null-terminated in java{
+         char strA[] = {0x41, 0x00, 0x42};
+         char strB[] = {0x41, 0x00, 0x00};
+            
+         int result = coll.compare(new String(strA), new String(strB));
+         if (result != 1) {
+         errln("ERROR 1 in test 4\n");
+         }
+            
+         result = coll.compare(new String(strA, 0, 1), new String(strB, 0, 1));
+         if (result != 0) {
+         errln("ERROR 1 in test 4\n");
+         }
+            
+         CollationKey sortKeyA = coll.getCollationKey(new String(strA));
+         CollationKey sortKeyB = coll.getCollationKey(new String(strB));
+            
+         int r = sortKeyA.compareTo(sortKeyB);
+         if (r <= 0) {
+         errln("Error 4 in test 4\n");
+         }
+    
+         coll.setStrength(Collator.IDENTICAL);
+         sortKeyA = coll.getCollationKey(new String(strA));
+         sortKeyB = coll.getCollationKey(new String(strB));
+    
+         r = sortKeyA.compareTo(sortKeyB);
+         if (r <= 0) {
+         errln("Error 7 in test 4\n");
+         }
+            
+         coll.setStrength(Collator.TERTIARY);
+         }
+        */
+        /*  Test 5:  Null characters in non-normal source strings.*/
+        // logln("Test 5 ....");
+        /*
+         * not a valid test since string are null-terminated in java{
+         {
+         char strA[] = {0x41, 0x41, 0x300, 0x316, 0x00, 0x42,};
+         char strB[] = {0x41, 0x41, 0x300, 0x316, 0x00, 0x00,};
+           
+    
+         int result = coll.compare(new String(strA, 0, 6), new String(strB, 0, 6));
+         if (result < 0) {
+         errln("ERROR 1 in test 5\n");
+         }
+         result = coll.compare(new String(strA, 0, 4), new String(strB, 0, 4));
+         if (result != 0) {
+         errln("ERROR 2 in test 5\n");
+         }
+    
+         CollationKey sortKeyA = coll.getCollationKey(new String(strA));
+         CollationKey sortKeyB = coll.getCollationKey(new String(strB));
+         int r = sortKeyA.compareTo(sortKeyB);
+         if (r <= 0) {
+         errln("Error 4 in test 5\n");
+         }
+    
+         coll.setStrength(Collator.IDENTICAL);
+            
+         sortKeyA = coll.getCollationKey(new String(strA));
+         sortKeyB = coll.getCollationKey(new String(strB));
+         r = sortKeyA.compareTo(sortKeyB);
+         if (r <= 0) {
+         errln("Error 7 in test 5\n");
+         }
+            
+         coll.setStrength(Collator.TERTIARY);
+         }
+        */
+        /*  Test 6:  Null character as base of a non-normal combining sequence.*/
+        // logln("Test 6 ....");
+        /*
+         * not a valid test since string are null-terminated in java{
+         {
+         char strA[] = {0x41, 0x0, 0x300, 0x316, 0x41, 0x302,};
+         char strB[] = {0x41, 0x0, 0x302, 0x316, 0x41, 0x300,};
+    
+         int result = coll.compare(new String(strA, 0, 5), new String(strB, 0, 5));
+         if (result != -1) {
+         errln("Error 1 in test 6\n");
+         }
+         result = coll.compare(new String(strA, 0, 1), new String(strB, 0, 1));
+         if (result != 0) {
+         errln("Error 2 in test 6\n");
+         }
+         }
+        */
+    }
+    
+    public void TestContraction() {
+        String[] testrules = {
+            "&A = AB / B",
+            "&A = A\\u0306/\\u0306",
+            "&c = ch / h",
+        };
+        String[] testdata = {
+            "AB", "AB", "A\u0306", "ch"
+        };
+        String[] testdata2 = {
+            "\u0063\u0067",
+            "\u0063\u0068",
+            "\u0063\u006C",
+        };
+        String[] testrules3 = {
+            "&z < xyz &xyzw << B",
+            "&z < xyz &xyz << B / w",
+            "&z < ch &achm << B",
+            "&z < ch &a << B / chm",
+            "&\ud800\udc00w << B",
+            "&\ud800\udc00 << B / w",
+            "&a\ud800\udc00m << B",
+            "&a << B / \ud800\udc00m",
+        };
+    
+        RuleBasedCollator  coll = null;
+        for (int i = 0; i < testrules.length; i ++) {
+            CollationElementIterator iter1 = null;
+            int j = 0;
+            // logln("Rule " + testrules[i] + " for testing\n");
+            String rule = testrules[i];
+            try {
+                coll = new RuleBasedCollator(rule);
+            } catch (Exception e) {
+                warnln("Collator creation failed " + testrules[i]);
+                return;
+            }
+            try {
+                iter1 = coll.getCollationElementIterator(testdata[i]);
+            } catch (Exception e) {
+                errln("Collation iterator creation failed\n");
+                return;
+            }
+            while (j < 2) {
+                CollationElementIterator iter2;
+                int ce;
+                try {
+                    iter2 = coll.getCollationElementIterator(String.valueOf(testdata[i].charAt(j)));
+                
+                }catch (Exception e) {
+                    errln("Collation iterator creation failed\n");
+                    return;
+                }
+                ce = iter2.next();
+                while (ce != CollationElementIterator.NULLORDER) {
+                    if (iter1.next() != ce) {
+                        errln("Collation elements in contraction split does not match\n");
+                        return;
+                    }
+                    ce = iter2.next();
+                }
+                j ++;
+            }
+            if (iter1.next() != CollationElementIterator.NULLORDER) {
+                errln("Collation elements not exhausted\n");
+                return;
+            }
+        }
+        String rule = "& a < b < c < ch < d & c = ch / h";
+        try {
+            coll = new RuleBasedCollator(rule);
+        } catch (Exception e) {
+            errln("cannot create rulebased collator");
+            return;
+        }
+        
+        if (coll.compare(testdata2[0], testdata2[1]) != -1) {
+            errln("Expected " + testdata2[0] + " < " + testdata2[1]);
+            return;
+        }
+        if (coll.compare(testdata2[1], testdata2[2]) != -1) {
+            errln("Expected " + testdata2[1] + " < " + testdata2[2]);
+            return;
+        }
+        for (int i = 0; i < testrules3.length; i += 2) {
+            RuleBasedCollator          coll1, coll2;
+            CollationElementIterator iter1, iter2;
+            char               ch = 0x0042;
+            int            ce;
+            rule = testrules3[i];
+            try {
+                coll1 = new RuleBasedCollator(rule);
+            } catch (Exception e) {
+                errln("Fail: cannot create rulebased collator, rule:" + rule);
+                return;
+            }
+            rule = testrules3[i + 1];
+            try {
+                coll2 = new RuleBasedCollator(rule);
+            } catch (Exception e) {
+                errln("Collator creation failed " + testrules[i]);
+                return;
+            }
+            try {
+                iter1 = coll1.getCollationElementIterator(String.valueOf(ch));
+                iter2 = coll2.getCollationElementIterator(String.valueOf(ch));
+            } catch (Exception e) {
+                errln("Collation iterator creation failed\n");
+                return;
+            }
+            ce = iter1.next();
+            
+            while (ce != CollationElementIterator.NULLORDER) {
+                if (ce != iter2.next()) {
+                    errln("CEs does not match\n");
+                    return;
+                }
+                ce = iter1.next();
+            }
+            if (iter2.next() != CollationElementIterator.NULLORDER) {
+                errln("CEs not exhausted\n");
+                return;
+            }
+        }
+    }
+    
+    public void TestExpansion() {
+        String[] testrules = {
+            "&J << K / B & K << M",
+            "&J << K / B << M"
+        };
+        String[] testdata = {
+            "JA", "MA", "KA", "KC", "JC", "MC",
+        };
+        
+        Collator  coll;
+        for (int i = 0; i < testrules.length; i++) {
+            // logln("Rule " + testrules[i] + " for testing\n");
+            String rule = testrules[i];
+            try {
+                coll = new RuleBasedCollator(rule);
+            } catch (Exception e) {
+                warnln("Collator creation failed " + testrules[i]);
+                return;
+            }
+            
+            for (int j = 0; j < 5; j ++) {
+                CollationTest.doTest(this, (RuleBasedCollator)coll, 
+                                     testdata[j], testdata[j + 1], -1);
+            }
+        }
+    }
+    
+    public void TestContractionEndCompare()
+    {
+        String rules = "&b=ch";
+        String src = "bec";
+        String tgt = "bech";
+        Collator coll = null;
+        try {
+            coll = new RuleBasedCollator(rules);
+        } catch (Exception e) {
+            warnln("Collator creation failed " + rules);
+            return;
+        }
+        CollationTest.doTest(this, (RuleBasedCollator)coll, src, tgt, 1);
+    }
+    
+    public void TestLocaleRuleBasedCollators() {
+        if (getInclusion() < 5) {
+            // not serious enough to run this
+            return;
+        }
+        Locale locale[] = Collator.getAvailableLocales();
+        String prevrule = null;
+        for (int i = 0; i < locale.length; i ++) {
+            Locale l = locale[i];
+            try {
+                ICUResourceBundle rb = (ICUResourceBundle)UResourceBundle.getBundleInstance(ICUResourceBundle.ICU_COLLATION_BASE_NAME,l);
+                String collkey = rb.getStringWithFallback("collations/default"); 
+                ICUResourceBundle elements = rb.getWithFallback("collations/" + collkey);
+                if (elements == null) {
+                    continue;
+                }
+                String rule = null;
+                /*
+                  Object[][] colldata = (Object[][])elements;
+                  // %%CollationBin
+                  if (colldata[0][1] instanceof byte[]){
+                  rule = (String)colldata[1][1];
+                  }
+                  else {
+                  rule = (String)colldata[0][1];
+                  }
+                */
+                rule = elements.getString("Sequence");   
+
+                RuleBasedCollator col1 = 
+                    (RuleBasedCollator)Collator.getInstance(l);
+                if (!rule.equals(col1.getRules())) {
+                    errln("Rules should be the same in the RuleBasedCollator and Locale");
+                }
+                if (rule != null && rule.length() > 0 
+                    && !rule.equals(prevrule)) {
+                    RuleBasedCollator col2 = new RuleBasedCollator(rule);
+                    if (!col1.equals(col2)) {
+                        errln("Error creating RuleBasedCollator from " +
+                              "locale rules for " + l.toString());
+                    }
+                }
+                prevrule = rule;
+            } catch (Exception e) {
+                warnln("Error retrieving resource bundle for testing: " + e.toString());
+            }
+        }
+    }
+    
+    public void TestOptimize() {
+        /* this is not really a test - just trying out 
+         * whether copying of UCA contents will fail 
+         * Cannot really test, since the functionality 
+         * remains the same.
+         */
+        String rules[] = {
+            "[optimize [\\uAC00-\\uD7FF]]"
+        };
+        String data[][] = {
+            { "a", "b"}
+        };
+        int i = 0;
+    
+        for(i = 0; i<rules.length; i++) {
+            genericRulesStarter(rules[i], data[i]);
+        }
+    }    
+    
+    public void TestIdenticalCompare() 
+    {    
+        try {
+            RuleBasedCollator coll 
+                = new RuleBasedCollator("& \uD800\uDC00 = \uD800\uDC01");
+            String strA = "AA\u0300\u0316\uD800\uDC01";
+            String strB = "A\u00c0\u0316\uD800\uDC00";
+            coll.setStrength(Collator.IDENTICAL);
+            CollationTest.doTest(this, coll, strA, strB, 1);
+        } catch (Exception e) {
+            warnln(e.getMessage());
+        }
+    }
+    
+    public void TestMergeSortKeys() 
+    {
+        String cases[] = {"abc", "abcd", "abcde"};
+        String prefix = "foo";
+        String suffix = "egg";
+        CollationKey mergedPrefixKeys[] = new CollationKey[cases.length];
+        CollationKey mergedSuffixKeys[] = new CollationKey[cases.length];
+        
+        Collator coll = Collator.getInstance(Locale.ENGLISH);
+        genericLocaleStarter(Locale.ENGLISH, cases);
+        
+        int strength = Collator.PRIMARY;
+        while (strength <= Collator.IDENTICAL) {
+            coll.setStrength(strength);
+            CollationKey prefixKey = coll.getCollationKey(prefix);
+            CollationKey suffixKey = coll.getCollationKey(suffix);
+            for (int i = 0; i < cases.length; i ++) {
+                CollationKey key = coll.getCollationKey(cases[i]);
+                mergedPrefixKeys[i] = prefixKey.merge(key);
+                mergedSuffixKeys[i] = suffixKey.merge(key);
+                if (mergedPrefixKeys[i].getSourceString() != null
+                    || mergedSuffixKeys[i].getSourceString() != null) {
+                    errln("Merged source string error: expected null");
+                }
+                if (i > 0) {
+                    if (mergedPrefixKeys[i-1].compareTo(mergedPrefixKeys[i])
+                        >= 0) {
+                        errln("Error while comparing prefixed keys @ strength "
+                              + strength);
+                        errln(prettify(mergedPrefixKeys[i-1]));
+                        errln(prettify(mergedPrefixKeys[i]));
+                    }
+                    if (mergedSuffixKeys[i-1].compareTo(mergedSuffixKeys[i]) 
+                        >= 0) {
+                        errln("Error while comparing suffixed keys @ strength "
+                              + strength);
+                        errln(prettify(mergedSuffixKeys[i-1]));
+                        errln(prettify(mergedSuffixKeys[i]));
+                    }
+                }
+            }
+            if (strength == Collator.QUATERNARY) {
+                strength = Collator.IDENTICAL;
+            } 
+            else {
+                strength ++;
+            }
+        }       
+    }
+    
+    public void TestVariableTop() 
+    {
+        // parseNextToken is not released as public so i create my own rules
+        String rules = "& a < b < c < de < fg & hi = j";
+        try {
+            RuleBasedCollator coll = new RuleBasedCollator(rules);
+            String tokens[] = {"a", "b", "c", "de", "fg", "hi", "j", "ab"};
+            coll.setAlternateHandlingShifted(true);
+            for (int i = 0; i < tokens.length; i ++) {
+                int varTopOriginal = coll.getVariableTop();
+                try {
+                    int varTop = coll.setVariableTop(tokens[i]);
+                    if (i > 4) {
+                        errln("Token " + tokens[i] + " expected to fail");
+                    }
+                    if (varTop != coll.getVariableTop()) {
+                        errln("Error setting and getting variable top");
+                    }
+                    CollationKey key1 = coll.getCollationKey(tokens[i]);
+                    for (int j = 0; j < i; j ++) {
+                        CollationKey key2 = coll.getCollationKey(tokens[j]);
+                        if (key2.compareTo(key1) < 0) {
+                            errln("Setting variable top shouldn't change the comparison sequence");
+                        }
+                        byte sortorder[] = key2.toByteArray();
+                        if (sortorder.length > 0 
+                            && (key2.toByteArray())[0] > 1) {
+                            errln("Primary sort order should be 0");
+                        }
+                    }
+                } catch (Exception e) {
+                    CollationElementIterator iter 
+                        = coll.getCollationElementIterator(tokens[i]);
+                    /*int ce =*/ iter.next();
+                    int ce2 = iter.next();
+                    if (ce2 == CollationElementIterator.NULLORDER) {
+                        errln("Token " + tokens[i] + " not expected to fail");
+                    }
+                    if (coll.getVariableTop() != varTopOriginal) {
+                        errln("When exception is thrown variable top should "
+                              + "not be changed");
+                    }
+                }
+                coll.setVariableTop(varTopOriginal);
+                if (varTopOriginal != coll.getVariableTop()) {
+                    errln("Couldn't restore old variable top\n");
+                }
+            }
+            
+            // Testing calling with error set
+            try {
+                coll.setVariableTop("");
+                errln("Empty string should throw an IllegalArgumentException");
+            } catch (IllegalArgumentException e) {
+                logln("PASS: Empty string failed as expected");
+            }
+            try {
+                coll.setVariableTop(null);
+                errln("Null string should throw an IllegalArgumentException");
+            } catch (IllegalArgumentException e) {
+                logln("PASS: null string failed as expected");
+            }
+        } catch (Exception e) {
+            warnln("Error creating RuleBasedCollator");
+        }
+    }
+    
+    public void TestUCARules() 
+    {
+        try {
+            // only root locale can have empty tailorings .. not English!
+            RuleBasedCollator coll 
+                = (RuleBasedCollator)Collator.getInstance(new Locale("","",""));
+            String rule 
+                = coll.getRules(false);
+            if (!rule.equals("")) {
+                errln("Empty rule string should have empty rules " + rule);
+            }
+            rule = coll.getRules(true);
+            if (rule.equals("")) {
+                errln("UCA rule string should not be empty");
+            }
+            coll = new RuleBasedCollator(rule);
+        } catch (Exception e) {
+            warnln(e.getMessage());
+        }
+    }
+    
+    /**
+     * Jitterbug 2726
+     */
+    public void TestShifted()
+    {
+        RuleBasedCollator collator = (RuleBasedCollator) Collator.getInstance();
+        collator.setStrength(Collator.PRIMARY);
+        collator.setAlternateHandlingShifted(true);
+        CollationTest.doTest(this, collator, " a", "a", 0); // works properly
+        CollationTest.doTest(this, collator, "a", "a ", 0); // inconsistent results
+    }
+    
+    /**
+     * Test for CollationElementIterator previous and next for the whole set of
+     * unicode characters with normalization on.
+     */
+    public void TestNumericCollation()
+    {
+        String basicTestStrings[] = {"hello1", "hello2", "hello123456"};
+        String preZeroTestStrings[] = {"avery1",
+                                       "avery01",
+                                       "avery001",
+                                       "avery0001"};
+        String thirtyTwoBitNumericStrings[] = {"avery42949672960",
+                                               "avery42949672961",
+                                               "avery42949672962",
+                                               "avery429496729610"};
+    
+        String supplementaryDigits[] = {"\uD835\uDFCE", // 0 
+                                        "\uD835\uDFCF", // 1 
+                                        "\uD835\uDFD0", // 2 
+                                        "\uD835\uDFD1", // 3 
+                                        "\uD835\uDFCF\uD835\uDFCE", // 10 
+                                        "\uD835\uDFCF\uD835\uDFCF", // 11 
+                                        "\uD835\uDFCF\uD835\uDFD0", // 12 
+                                        "\uD835\uDFD0\uD835\uDFCE", // 20 
+                                        "\uD835\uDFD0\uD835\uDFCF", // 21 
+                                        "\uD835\uDFD0\uD835\uDFD0" // 22 
+        };
+    
+        String foreignDigits[] = {"\u0661",
+                                  "\u0662",
+                                  "\u0663",
+                                  "\u0661\u0660",
+                                  "\u0661\u0662",
+                                  "\u0661\u0663",
+                                  "\u0662\u0660",
+                                  "\u0662\u0662",
+                                  "\u0662\u0663",
+                                  "\u0663\u0660",
+                                  "\u0663\u0662",
+                                  "\u0663\u0663"
+        };
+    
+        // Open our collator.
+        RuleBasedCollator coll 
+            = (RuleBasedCollator)Collator.getInstance(Locale.ENGLISH);
+        String att[] = {"NumericCollation"};
+        Boolean val[] = {new Boolean(true)};
+        genericLocaleStarterWithOptions(Locale.ENGLISH, basicTestStrings, att,
+                                        val);
+        genericLocaleStarterWithOptions(Locale.ENGLISH, 
+                                        thirtyTwoBitNumericStrings, att, val);
+        genericLocaleStarterWithOptions(Locale.ENGLISH, foreignDigits, att, 
+                                        val);
+        genericLocaleStarterWithOptions(Locale.ENGLISH, supplementaryDigits, 
+                                        att, val);    
+    
+        // Setting up our collator to do digits.
+        coll.setNumericCollation(true);
+    
+        // Testing that prepended zeroes still yield the correct collation 
+        // behavior. 
+        // We expect that every element in our strings array will be equal.
+        for (int i = 0; i < preZeroTestStrings.length - 1; i ++) {
+            for (int j = i + 1; j < preZeroTestStrings.length; j ++) {
+                CollationTest.doTest(this, coll, preZeroTestStrings[i], 
+                                     preZeroTestStrings[j],0);
+            }
+        }
+
+        //cover setNumericCollationDefault, getNumericCollation
+        assertTrue("The Numeric Collation setting is on", coll.getNumericCollation());
+        coll.setNumericCollationDefault();
+        logln("After set Numeric to default, the setting is: " + coll.getNumericCollation());
+    }
+    
+    public void Test3249()
+    {
+        String rule = "&x < a &z < a";
+        try {
+            RuleBasedCollator coll = new RuleBasedCollator(rule);
+            if(coll!=null){
+                logln("Collator did not throw an exception");   
+            }
+        } catch (Exception e) {
+            warnln("Error creating RuleBasedCollator with " + rule + " failed");
+        }
+    }
+    
+    public void TestTibetanConformance() 
+    {  
+        String test[] = {"\u0FB2\u0591\u0F71\u0061", "\u0FB2\u0F71\u0061"};
+        try {
+            Collator coll = Collator.getInstance();
+            coll.setDecomposition(Collator.CANONICAL_DECOMPOSITION);
+            if (coll.compare(test[0], test[1]) != 0) {
+                errln("Tibetan comparison error");
+            }
+            CollationTest.doTest(this, (RuleBasedCollator)coll, 
+                                 test[0], test[1], 0);
+        } catch (Exception e) {
+            warnln("Error creating UCA collator");
+        }
+    }
+    
+    public void TestJ3347()
+    {
+        try {
+            Collator coll = Collator.getInstance(Locale.FRENCH);
+            ((RuleBasedCollator)coll).setAlternateHandlingShifted(true);
+            if (coll.compare("6", "!6") != 0) {
+                errln("Jitterbug 3347 failed");
+            }
+        } catch (Exception e) {
+            warnln("Error creating UCA collator");
+        }
+    }
+    
+    public void TestPinyinProblem()
+    {
+        String test[] = { "\u4E56\u4E56\u7761", "\u4E56\u5B69\u5B50" };
+        genericLocaleStarter(new Locale("zh", "", "PINYIN"), test);     
+    }
+    
+    static final long topByte = 0xFF000000L;
+    static final long bottomByte = 0xFFL;
+    static final long fourBytes = 0xFFFFFFFFL;
+    
+    static final int MAX_INPUT = 0x220001; // 2 * Unicode range + 2
+    
+    private void show(int i, ImplicitCEGenerator imp) {
+        if (i >= 0 && i <= MAX_INPUT) {
+            logln(Utility.hex(i) + "\t" + Utility.hex(imp.getImplicitFromRaw(i) & fourBytes));
+        } 
+    }
+
+    private void throwError(String title, int cp, ImplicitCEGenerator imp) {
+        throw new IllegalArgumentException(title + "\t" + Utility.hex(cp, 6) + "\t" + Utility.hex(imp.getImplicitFromRaw(cp) & fourBytes));
+    }
+    
+    private void throwError(String title, long ce) {
+        errln(title + "\t" + Utility.hex(ce & fourBytes));
+    }
+    
+    public void TestImplicitGeneration()
+    {
+        logln("Start");
+        try {
+            ImplicitCEGenerator foo = new ImplicitCEGenerator(0xE0, 0xE4);
+                
+            //int x = foo.getRawImplicit(0xF810);
+            foo.getRawFromImplicit(0xE20303E7);
+
+            int gap4 = foo.getGap4();
+            logln("Gap4: " + gap4); 
+            int gap3 = foo.getGap3();
+            int minTrail = foo.getMinTrail();
+            int maxTrail = foo.getMaxTrail();
+            long last = 0;
+            long current;
+            for (int i = 0; i <= MAX_INPUT; ++i) {
+                current = foo.getImplicitFromRaw(i) & fourBytes;
+                        
+                // check that it round-trips AND that all intervening ones are illegal
+                int roundtrip = foo.getRawFromImplicit((int)current);
+                if (roundtrip != i) {
+                    throwError("No roundtrip", i, foo); 
+                }
+                if (last != 0) {
+                    for (long j = last + 1; j < current; ++j) {
+                        roundtrip = foo.getRawFromImplicit((int)j);
+                        // raise an error if it *doesn't* find an error
+                        if (roundtrip != -1) {
+                            throwError("Fails to recognize illegal", j);
+                        }
+                    }
+                }
+                // now do other consistency checks
+                long lastBottom = last & bottomByte;
+                long currentBottom = current & bottomByte;
+                long lastTop = last & topByte;
+                long currentTop = current & topByte;
+                        
+                // do some consistency checks
+                /*
+                  long gap = current - last;               
+                  if (currentBottom != 0) { // if we are a 4-byte
+                  // gap has to be at least gap4
+                  // and gap from minTrail, maxTrail has to be at least gap4
+                  if (gap <= gap4) foo.throwError("Failed gap4 between", i);
+                  if (currentBottom < minTrail + gap4) foo.throwError("Failed gap4 before", i);
+                  if (currentBottom > maxTrail - gap4) foo.throwError("Failed gap4 after", i);
+                  } else { // we are a three-byte
+                  gap = gap >> 8; // move gap down for comparison.
+                  long current3Bottom = (current >> 8) & bottomByte;
+                  if (gap <= gap3) foo.throwError("Failed gap3 between ", i);
+                  if (current3Bottom < minTrail + gap3) foo.throwError("Failed gap3 before", i);
+                  if (current3Bottom > maxTrail - gap3) foo.throwError("Failed gap3 after", i);
+                  }
+                */
+                // print out some values for spot-checking
+                if (lastTop != currentTop || i == 0x10000 || i == 0x110000) {
+                    show(i-3, foo);
+                    show(i-2, foo);
+                    show(i-1, foo);
+                    if (i == 0) {
+                        // do nothing
+                    } else if (lastBottom == 0 && currentBottom != 0) {
+                        logln("+ primary boundary, 4-byte CE's below");
+                    } else if (lastTop != currentTop) {
+                        logln("+ primary boundary");
+                    }
+                    show(i, foo);
+                    show(i+1, foo);
+                    show(i+2, foo);
+                    logln("...");
+                }
+                last = current;
+                if(foo.getCodePointFromRaw(foo.getRawFromCodePoint(i)) != i) {
+                    errln("No raw <-> code point roundtrip for "+Utility.hex(i));
+                }                       
+            }
+            show(MAX_INPUT-2, foo);
+            show(MAX_INPUT-1, foo);
+            show(MAX_INPUT, foo);
+        } catch (Exception e) {
+            e.printStackTrace();
+            warnln(e.getMessage());
+        } finally {
+            logln("End");
+        }
+    }
+
+    /* supercedes TestJ784 */
+    public void TestBeforePinyin() {
+        String rules = 
+            "&[before 2]A << \u0101  <<< \u0100 << \u00E1 <<< \u00C1 << \u01CE <<< \u01CD << \u00E0 <<< \u00C0" +
+            "&[before 2]e << \u0113 <<< \u0112 << \u00E9 <<< \u00C9 << \u011B <<< \u011A << \u00E8 <<< \u00C8" +
+            "&[before 2] i << \u012B <<< \u012A << \u00ED <<< \u00CD << \u01D0 <<< \u01CF << \u00EC <<< \u00CC" +
+            "&[before 2] o << \u014D <<< \u014C << \u00F3 <<< \u00D3 << \u01D2 <<< \u01D1 << \u00F2 <<< \u00D2" +
+            "&[before 2]u << \u016B <<< \u016A << \u00FA <<< \u00DA << \u01D4 <<< \u01D3 << \u00F9 <<< \u00D9" +
+            "&U << \u01D6 <<< \u01D5 << \u01D8 <<< \u01D7 << \u01DA <<< \u01D9 << \u01DC <<< \u01DB << \u00FC";
+    
+        String test[] = {
+            "l\u0101",
+            "la",
+            "l\u0101n",
+            "lan ",
+            "l\u0113",
+            "le",
+            "l\u0113n",
+            "len"
+        };
+    
+        String test2[] = {
+            "x\u0101",
+            "x\u0100",
+            "X\u0101",
+            "X\u0100",
+            "x\u00E1",
+            "x\u00C1",
+            "X\u00E1",
+            "X\u00C1",
+            "x\u01CE",
+            "x\u01CD",
+            "X\u01CE",
+            "X\u01CD",
+            "x\u00E0",
+            "x\u00C0",
+            "X\u00E0",
+            "X\u00C0",
+            "xa",
+            "xA",
+            "Xa",
+            "XA",
+            "x\u0101x",
+            "x\u0100x",
+            "x\u00E1x",
+            "x\u00C1x",
+            "x\u01CEx",
+            "x\u01CDx",
+            "x\u00E0x",
+            "x\u00C0x",
+            "xax",
+            "xAx"
+        };
+        /* TODO: port builder fixes to before */
+        genericRulesStarter(rules, test);
+        genericLocaleStarter(new Locale("zh"), test);
+        genericRulesStarter(rules, test2);
+        genericLocaleStarter(new Locale("zh"), test2);
+    }
+
+}
diff --git a/src/com/ibm/icu/dev/test/collator/CollationMonkeyTest.java b/src/com/ibm/icu/dev/test/collator/CollationMonkeyTest.java
new file mode 100644
index 0000000..3d78b22
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/collator/CollationMonkeyTest.java
@@ -0,0 +1,317 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2002-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+/** 
+ * Port From:   ICU4C v2.1 : collate/CollationMonkeyTest
+ * Source File: $ICU4CRoot/source/test/intltest/mnkytst.cpp
+ **/
+
+package com.ibm.icu.dev.test.collator;
+
+import com.ibm.icu.dev.test.*;
+import com.ibm.icu.text.*;
+import java.util.Random;
+import java.util.Locale;
+
+/**
+ * CollationMonkeyTest is a third level test class.  This tests the random 
+ * substrings of the default test strings to verify if the compare and 
+ * sort key algorithm works correctly.  For example, any string is always
+ * less than the string itself appended with any character.
+ */
+
+public class CollationMonkeyTest extends TestFmwk {
+    
+    private String source = "-abcdefghijklmnopqrstuvwxyz#&^$@";
+    
+    public static void main(String[] args) throws Exception {
+        new CollationMonkeyTest().run(args);
+    }
+    
+    public void TestCollationKey() {
+        if(source.length() == 0) {
+            errln("CollationMonkeyTest.TestCollationKey(): source is empty - ICU_DATA not set or data missing?");
+            return;
+        }
+        Collator myCollator;
+        try {
+             myCollator = Collator.getInstance(new Locale("en", "US"));
+        } catch (Exception e) {
+            warnln("ERROR: in creation of collator of ENGLISH locale");
+            return;
+        }
+        
+        Random rand = createRandom(); // use test framework's random seed
+        int s = rand.nextInt(0x7fff) % source.length();
+        int t = rand.nextInt(0x7fff) % source.length();
+        int slen = Math.abs(rand.nextInt(0x7fff) % source.length() - source.length()) % source.length();
+        int tlen = Math.abs(rand.nextInt(0x7fff) % source.length() - source.length()) % source.length();
+        String subs = source.substring(Math.min(s, slen), Math.min(s + slen, source.length()));
+        String subt = source.substring(Math.min(t, tlen), Math.min(t + tlen, source.length()));
+    
+        CollationKey collationKey1, collationKey2;
+    
+        myCollator.setStrength(Collator.TERTIARY);
+        collationKey1 = myCollator.getCollationKey(subs);
+        collationKey2 = myCollator.getCollationKey(subt);
+        int result = collationKey1.compareTo(collationKey2);  // Tertiary
+        int revResult = collationKey2.compareTo(collationKey1);  // Tertiary
+        report( subs, subt, result, revResult);
+    
+        myCollator.setStrength(Collator.SECONDARY);
+        collationKey1 = myCollator.getCollationKey(subs);
+        collationKey2 = myCollator.getCollationKey(subt);
+        result = collationKey1.compareTo(collationKey2);  // Secondary
+        revResult = collationKey2.compareTo(collationKey1);   // Secondary
+        report( subs, subt, result, revResult);
+    
+        myCollator.setStrength(Collator.PRIMARY);
+        collationKey1 = myCollator.getCollationKey(subs);
+        collationKey2 = myCollator.getCollationKey(subt);
+        result = collationKey1.compareTo(collationKey2);  // Primary
+        revResult = collationKey2.compareTo(collationKey1);   // Primary
+        report(subs, subt, result, revResult);
+    
+        String msg = "";
+        String addOne = subs + String.valueOf(0xE000);
+    
+        collationKey1 = myCollator.getCollationKey(subs);
+        collationKey2 = myCollator.getCollationKey(addOne);
+        result = collationKey1.compareTo(collationKey2);
+        if (result != -1) {
+            msg += "CollationKey(";
+            msg += subs;
+            msg += ") .LT. CollationKey(";
+            msg += addOne;
+            msg += ") Failed.";
+            errln(msg);
+        }
+    
+        msg = "";
+        result = collationKey2.compareTo(collationKey1);
+        if (result != 1) {
+            msg += "CollationKey(";
+            msg += addOne;
+            msg += ") .GT. CollationKey(";
+            msg += subs;
+            msg += ") Failed.";
+            errln(msg);
+        }
+    }
+    
+    // perform monkey tests using Collator.compare
+    public void TestCompare() {
+        if(source.length() == 0) {
+            errln("CollationMonkeyTest.TestCompare(): source is empty - ICU_DATA not set or data missing?");
+            return;
+        }
+        
+        Collator myCollator;
+        try {
+             myCollator = Collator.getInstance(new Locale("en", "US"));
+        } catch (Exception e) {
+            warnln("ERROR: in creation of collator of ENGLISH locale");
+            return;
+        }
+        
+        /* Seed the random-number generator with current time so that
+         * the numbers will be different every time we run.
+         */
+        
+        Random rand = createRandom(); // use test framework's random seed
+        int s = rand.nextInt(0x7fff) % source.length();
+        int t = rand.nextInt(0x7fff) % source.length();
+        int slen = Math.abs(rand.nextInt(0x7fff) % source.length() - source.length()) % source.length();
+        int tlen = Math.abs(rand.nextInt(0x7fff) % source.length() - source.length()) % source.length();
+        String subs = source.substring(Math.min(s, slen), Math.min(s + slen, source.length()));
+        String subt = source.substring(Math.min(t, tlen), Math.min(t + tlen, source.length()));
+    
+        myCollator.setStrength(Collator.TERTIARY);
+        int result = myCollator.compare(subs, subt);  // Tertiary
+        int revResult = myCollator.compare(subt, subs);  // Tertiary
+        report(subs, subt, result, revResult);
+    
+        myCollator.setStrength(Collator.SECONDARY);
+        result = myCollator.compare(subs, subt);  // Secondary
+        revResult = myCollator.compare(subt, subs);  // Secondary
+        report(subs, subt, result, revResult);
+    
+        myCollator.setStrength(Collator.PRIMARY);
+        result = myCollator.compare(subs, subt);  // Primary
+        revResult = myCollator.compare(subt, subs);  // Primary
+        report(subs, subt, result, revResult);
+    
+        String msg = "";
+        String addOne = subs + String.valueOf(0xE000);
+    
+        result = myCollator.compare(subs, addOne);
+        if (result != -1) {
+            msg += "Test : ";
+            msg += subs;
+            msg += " .LT. ";
+            msg += addOne;
+            msg += " Failed.";
+            errln(msg);
+        }
+    
+        msg = "";
+        result = myCollator.compare(addOne, subs);
+        if (result != 1) {
+            msg += "Test : ";
+            msg += addOne;
+            msg += " .GT. ";
+            msg += subs;
+            msg += " Failed.";
+            errln(msg);
+        }
+    }
+    
+    void report(String s, String t, int result, int revResult) {
+        if (revResult != -result) {
+            String msg = "";
+            msg += s; 
+            msg += " and ";
+            msg += t;
+            msg += " round trip comparison failed";
+            msg += " (result " + result + ", reverse Result " + revResult + ")"; 
+            errln(msg);
+        }
+    }
+    
+    public void TestRules() {
+        String testSourceCases[] = {
+            "\u0061\u0062\u007a", 
+            "\u0061\u0062\u007a", 
+        };
+    
+        String testTargetCases[] = {
+            "\u0061\u0062\u00e4",
+            "\u0061\u0062\u0061\u0308",
+        };
+        
+        int i=0;
+        logln("Demo Test 1 : Create a new table collation with rules \"& z < 0x00e4\"");
+        Collator col = Collator.getInstance(new Locale("en", "US"));
+        String baseRules = ((RuleBasedCollator)col).getRules();
+        String newRules = " & z < ";
+        newRules = baseRules + newRules + String.valueOf(0x00e4);
+        RuleBasedCollator myCollation = null;
+        try {
+            myCollation = new RuleBasedCollator(newRules);
+        } catch (Exception e) {
+            warnln( "Demo Test 1 Table Collation object creation failed.");
+            return;
+        }
+        
+        for(i=0; i<2; i++){
+            doTest(myCollation, testSourceCases[i], testTargetCases[i], -1);
+        }
+        logln("Demo Test 2 : Create a new table collation with rules \"& z < a 0x0308\"");
+        newRules = "";
+        newRules = baseRules + " & z < a" + String.valueOf(0x0308);
+        try {
+            myCollation = new RuleBasedCollator(newRules);
+        } catch (Exception e) {
+            errln( "Demo Test 1 Table Collation object creation failed.");
+            return;
+        }
+        for(i=0; i<2; i++){
+            doTest(myCollation, testSourceCases[i], testTargetCases[i], -1);
+        }
+    }
+    
+    void doTest(RuleBasedCollator myCollation, String mysource, String target, int result) {
+        int compareResult = myCollation.compare(source, target);
+        CollationKey sortKey1, sortKey2;
+        
+        try {
+            sortKey1 = myCollation.getCollationKey(source);
+            sortKey2 = myCollation.getCollationKey(target);
+        } catch (Exception e) {
+            errln("SortKey generation Failed.\n");
+            return;
+        }
+        int keyResult = sortKey1.compareTo(sortKey2);
+        reportCResult( mysource, target, sortKey1, sortKey2, compareResult, keyResult, compareResult, result );
+    }
+    
+    public void reportCResult(String source, String target, CollationKey sourceKey, CollationKey targetKey,
+                              int compareResult, int keyResult, int incResult, int expectedResult ) {
+        if (expectedResult < -1 || expectedResult > 1) {
+            errln("***** invalid call to reportCResult ****");
+            return;
+        }
+        boolean ok1 = (compareResult == expectedResult);
+        boolean ok2 = (keyResult == expectedResult);
+        boolean ok3 = (incResult == expectedResult);
+        if (ok1 && ok2 && ok3 && !isVerbose()) {
+            return;    
+        } else {
+            String msg1 = ok1? "Ok: compare(\"" : "FAIL: compare(\"";
+            String msg2 = "\", \"";
+            String msg3 = "\") returned ";
+            String msg4 = "; expected ";
+            String sExpect = new String("");
+            String sResult = new String("");
+            sResult = appendCompareResult(compareResult, sResult);
+            sExpect = appendCompareResult(expectedResult, sExpect);
+            if (ok1) {
+                logln(msg1 + source + msg2 + target + msg3 + sResult);
+            } else {
+                errln(msg1 + source + msg2 + target + msg3 + sResult + msg4 + sExpect);
+            }
+            msg1 = ok2 ? "Ok: key(\"" : "FAIL: key(\"";
+            msg2 = "\").compareTo(key(\"";
+            msg3 = "\")) returned ";
+            sResult = appendCompareResult(keyResult, sResult);
+            if (ok2) {
+                logln(msg1 + source + msg2 + target + msg3 + sResult);
+            } else {
+                errln(msg1 + source + msg2 + target + msg3 + sResult + msg4 + sExpect);
+                msg1 = "  ";
+                msg2 = " vs. ";
+                errln(msg1 + prettify(sourceKey) + msg2 + prettify(targetKey));
+            }
+            msg1 = ok3 ? "Ok: incCompare(\"" : "FAIL: incCompare(\"";
+            msg2 = "\", \"";
+            msg3 = "\") returned ";
+            sResult = appendCompareResult(incResult, sResult);
+            if (ok3) {
+                logln(msg1 + source + msg2 + target + msg3 + sResult);
+            } else {
+                errln(msg1 + source + msg2 + target + msg3 + sResult + msg4 + sExpect);
+            }                
+        }
+    }
+    
+    String appendCompareResult(int result, String target) {
+        if (result == -1) {  //LESS
+            target += "LESS";
+        } else if (result == 0) {  //EQUAL
+            target += "EQUAL";
+        } else if (result == 1) {  //GREATER
+            target += "GREATER";
+        } else {
+            String huh = "?";
+            target += huh + result;
+        }
+        return target;
+    }
+    
+    String prettify(CollationKey sourceKey) {
+        int i;
+        byte[] bytes= sourceKey.toByteArray();
+        String target = "[";
+    
+        for (i = 0; i < bytes.length; i++) {
+            target += Integer.toHexString(bytes[i]);
+            target += " ";
+        }
+        target += "]";
+        return target;
+    }
+}
diff --git a/src/com/ibm/icu/dev/test/collator/CollationRegressionTest.java b/src/com/ibm/icu/dev/test/collator/CollationRegressionTest.java
new file mode 100644
index 0000000..01bacf2
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/collator/CollationRegressionTest.java
@@ -0,0 +1,1196 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2002-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+/** 
+ * Port From:   ICU4C v2.1 : collate/CollationRegressionTest
+ * Source File: $ICU4CRoot/source/test/intltest/regcoll.cpp
+ **/
+ 
+package com.ibm.icu.dev.test.collator;
+
+import com.ibm.icu.dev.test.*;
+import com.ibm.icu.text.*;
+
+import java.util.Locale;
+import java.util.Vector;
+import java.text.ParseException;
+
+public class CollationRegressionTest extends TestFmwk {
+    public static void main(String[] args) throws Exception{
+        new CollationRegressionTest().run(args);
+    }
+    
+    // @bug 4048446
+    //
+    // CollationElementIterator.reset() doesn't work
+    //
+    public void Test4048446() {
+        final String test1 = "XFILE What subset of all possible test cases has the highest probability of detecting the most errors?";
+        //final String test2 = "Xf_ile What subset of all possible test cases has the lowest probability of detecting the least errors?";
+        RuleBasedCollator en_us = (RuleBasedCollator) Collator.getInstance(Locale.US);
+        CollationElementIterator i1 = en_us.getCollationElementIterator(test1);
+        CollationElementIterator i2 = en_us.getCollationElementIterator(test1);
+        
+        if (i1 == null || i2 == null) {
+            errln("Could not create CollationElementIterator's");
+            return;
+        }
+    
+        while (i1.next() != CollationElementIterator.NULLORDER) {
+            //
+        }
+    
+        i1.reset();
+        assertEqual(i1, i2);
+    }
+    
+    void assertEqual(CollationElementIterator i1, CollationElementIterator i2) {
+        int c1, c2, count = 0;
+    
+        do {
+            c1 = i1.next();
+            c2 = i2.next();
+    
+            if (c1 != c2) {
+                String msg = "";
+                String msg1 = "    ";
+                
+                msg += msg1 + count;
+                msg += ": strength(0x" + Integer.toHexString(c1);
+                msg += ") != strength(0x" + Integer.toHexString(c2);
+                msg += ")";
+                errln(msg);
+                break;
+            }
+            count += 1;
+        } while (c1 != CollationElementIterator.NULLORDER);
+    }
+    
+    // @bug 4051866
+    //
+    // Collator -> rules -> Collator round-trip broken for expanding characters
+    //
+    public void Test4051866() {
+       String rules = "< o & oe ,o\u3080& oe ,\u1530 ,O& OE ,O\u3080& OE ,\u1520< p ,P";
+
+        // Build a collator containing expanding characters
+        RuleBasedCollator c1 = null;
+        
+        try {
+            c1 = new RuleBasedCollator(rules);
+        } catch (Exception e) {
+            errln("Fail to create RuleBasedCollator with rules:" + rules);
+            return;
+        }
+    
+        // Build another using the rules from  the first
+        RuleBasedCollator c2 = null;
+        try {
+            c2 = new RuleBasedCollator(c1.getRules());
+        } catch (Exception e) {
+            errln("Fail to create RuleBasedCollator with rules:" + rules);
+            return;
+        }
+    
+        // Make sure they're the same
+        if (!(c1.getRules().equals(c2.getRules())))
+        {
+            errln("Rules are not equal");
+        }
+    }
+    
+    // @bug 4053636
+    //
+    // Collator thinks "black-bird" == "black"
+    //
+    public void Test4053636() {
+        RuleBasedCollator en_us = (RuleBasedCollator) Collator.getInstance(Locale.US);
+        if (en_us.equals("black_bird", "black")) {
+            errln("black-bird == black");
+        }
+    }
+    
+    // @bug 4054238
+    //
+    // CollationElementIterator will not work correctly if the associated
+    // Collator object's mode is changed
+    //
+    public void Test4054238(/* char* par */) {
+        final char[] chars3 = {0x61, 0x00FC, 0x62, 0x65, 0x63, 0x6b, 0x20, 0x47, 0x72, 0x00F6, 0x00DF, 0x65, 0x20, 0x4c, 0x00FC, 0x62, 0x63, 0x6b, 0};
+        final String test3 = new String(chars3);
+        RuleBasedCollator c = (RuleBasedCollator) Collator.getInstance(Locale.US);
+    
+        // NOTE: The Java code uses en_us to create the CollationElementIterators
+        // but I'm pretty sure that's wrong, so I've changed this to use c.
+        c.setDecomposition(Collator.NO_DECOMPOSITION);
+        CollationElementIterator i1 = c.getCollationElementIterator(test3);
+        logln("Offset:" + i1.getOffset());
+    }
+    
+    // @bug 4054734
+    //
+    // Collator::IDENTICAL documented but not implemented
+    //
+    public void Test4054734(/* char* par */) {
+        
+            //Here's the original Java:
+    
+            String[] decomp = {
+                "\u0001",   "<",    "\u0002",
+                "\u0001",   "=",    "\u0001",
+                "A\u0001",  ">",    "~\u0002",      // Ensure A and ~ are not compared bitwise
+                "\u00C0",   "=",    "A\u0300",      // Decomp should make these equal
+            };
+    
+        RuleBasedCollator c = (RuleBasedCollator) Collator.getInstance(Locale.US);
+        c.setStrength(Collator.IDENTICAL);
+        c.setDecomposition(Collator.CANONICAL_DECOMPOSITION);
+        compareArray(c, decomp);
+    }
+    
+    void compareArray(Collator c, String[] tests) {
+        
+        int expectedResult = 0;
+    
+        for (int i = 0; i < tests.length; i += 3) {
+            String source = tests[i];
+            String comparison = tests[i + 1];
+            String target = tests[i + 2];
+    
+            if (comparison.equals("<")) {
+                expectedResult = -1;
+            } else if (comparison.equals(">")) {
+                expectedResult = 1;
+            } else if (comparison.equals("=")) {
+                expectedResult = 0;
+            } else {
+                errln("Bogus comparison string \"" + comparison + "\"");
+            }
+            
+            int compareResult = 0;
+            
+            logln("i = " + i);
+            logln(source);
+            logln(target);
+            try {
+                compareResult = c.compare(source, target);
+            } catch (Exception e) {
+                errln(e.toString());
+            }
+    
+            CollationKey sourceKey = null, targetKey = null;
+            try {
+                sourceKey = c.getCollationKey(source);
+            } catch (Exception e) {
+                errln("Couldn't get collationKey for source");
+                continue;
+            }
+    
+            try {
+                targetKey = c.getCollationKey(target);
+            } catch (Exception e) {
+                errln("Couldn't get collationKey for target");
+                continue;
+            }
+    
+            int keyResult = sourceKey.compareTo(targetKey);
+            reportCResult( source, target, sourceKey, targetKey, compareResult, keyResult, compareResult, expectedResult );
+        }
+    }
+    
+    void reportCResult( String source, String target, CollationKey sourceKey, CollationKey targetKey,
+                                int compareResult, int keyResult, int incResult, int expectedResult ){
+        if (expectedResult < -1 || expectedResult > 1)
+        {
+            errln("***** invalid call to reportCResult ****");
+            return;
+        }
+
+        boolean ok1 = (compareResult == expectedResult);
+        boolean ok2 = (keyResult == expectedResult);
+        boolean ok3 = (incResult == expectedResult);
+
+        if (ok1 && ok2 && ok3 && !isVerbose()){
+            return;    
+        }else{
+            String msg1 = ok1? "Ok: compare(\"" : "FAIL: compare(\"";
+            String msg2 = "\", \"";
+            String msg3 = "\") returned ";
+            String msg4 = "; expected ";
+            
+            String sExpect = new String("");
+            String sResult = new String("");
+            sResult = appendCompareResult(compareResult, sResult);
+            sExpect = appendCompareResult(expectedResult, sExpect);
+            if (ok1) {
+                logln(msg1 + source + msg2 + target + msg3 + sResult);
+            } else {
+                errln(msg1 + source + msg2 + target + msg3 + sResult + msg4 + sExpect);
+            }
+            
+            msg1 = ok2 ? "Ok: key(\"" : "FAIL: key(\"";
+            msg2 = "\").compareTo(key(\"";
+            msg3 = "\")) returned ";
+            sResult = appendCompareResult(keyResult, sResult);
+            if (ok2) {
+                logln(msg1 + source + msg2 + target + msg3 + sResult);
+            } else {
+                errln(msg1 + source + msg2 + target + msg3 + sResult + msg4 + sExpect);
+                msg1 = "  ";
+                msg2 = " vs. ";
+                errln(msg1 + prettify(sourceKey) + msg2 + prettify(targetKey));
+            }
+            
+            msg1 = ok3 ? "Ok: incCompare(\"" : "FAIL: incCompare(\"";
+            msg2 = "\", \"";
+            msg3 = "\") returned ";
+
+            sResult = appendCompareResult(incResult, sResult);
+
+            if (ok3) {
+                logln(msg1 + source + msg2 + target + msg3 + sResult);
+            } else {
+                errln(msg1 + source + msg2 + target + msg3 + sResult + msg4 + sExpect);
+            }                
+        }
+    }
+    
+    String appendCompareResult(int result, String target) {
+        if (result == -1) {  //LESS
+            target += "LESS";
+        } else if (result == 0) {  //EQUAL
+            target += "EQUAL";
+        } else if (result == 1) {  //GREATER
+            target += "GREATER";
+        } else {
+            String huh = "?";
+            target += huh + result;
+        }
+        return target;
+    }
+    
+    String prettify(CollationKey sourceKey) {
+        int i;
+        byte[] bytes= sourceKey.toByteArray();
+        String target = "[";
+    
+        for (i = 0; i < bytes.length; i++) {
+            target += Integer.toHexString(bytes[i]);
+            target += " ";
+        }
+        target += "]";
+        return target;
+    }
+    
+    // @bug 4054736
+    //
+    // Full Decomposition mode not implemented
+    //
+    public void Test4054736(/* char* par */) {
+        RuleBasedCollator c = (RuleBasedCollator) Collator.getInstance(Locale.US);
+    
+        c.setStrength(Collator.SECONDARY);
+        c.setDecomposition(Collator.NO_DECOMPOSITION);
+    
+        final String[] tests = { "\uFB4F", "\u003d", "\u05D0\u05DC" };  // Alef-Lamed vs. Alef, Lamed
+        compareArray(c, tests);
+    }
+    
+    // @bug 4058613
+    //
+    // Collator::createInstance() causes an ArrayIndexOutofBoundsException for Korean  
+    //
+    public void Test4058613(/* char* par */) {
+        // Creating a default collator doesn't work when Korean is the default
+        // locale
+        
+        Locale oldDefault = Locale.getDefault();
+        Locale.setDefault(new Locale("ko", ""));
+    
+        Collator c = null;
+        
+        c = Collator.getInstance(new Locale("en", "US"));
+    
+        if (c == null) {
+            errln("Could not create a Korean collator");
+            Locale.setDefault(oldDefault);
+            return;
+        }
+        
+        // Since the fix to this bug was to turn off decomposition for Korean collators,
+        // ensure that's what we got
+        if (c.getDecomposition() != Collator.NO_DECOMPOSITION) {
+          errln("Decomposition is not set to NO_DECOMPOSITION for Korean collator");
+        }
+    
+        Locale.setDefault(oldDefault);
+    }
+    
+    // @bug 4059820
+    //
+    // RuleBasedCollator.getRules does not return the exact pattern as input
+    // for expanding character sequences
+    //
+    public void Test4059820(/* char* par */) {
+        RuleBasedCollator c = null;
+        String rules = "< a < b , c/a < d < z";
+        try {
+            c = new RuleBasedCollator(rules);
+        } catch (Exception e) {
+            errln("Failure building a collator.");
+            return;
+        }
+    
+        if ( c.getRules().indexOf("c/a") == -1)
+        {
+            errln("returned rules do not contain 'c/a'");
+        }
+    }
+    
+    // @bug 4060154
+    //
+    // MergeCollation::fixEntry broken for "& H < \u0131, \u0130, i, I"
+    //
+    public void Test4060154(/* char* par */) {
+        String rules ="< g, G < h, H < i, I < j, J & H < \u0131, \u0130, i, I";
+    
+        RuleBasedCollator c = null;
+        try {
+            c = new RuleBasedCollator(rules);
+        } catch (Exception e) {
+            //System.out.println(e);
+            errln("failure building collator.");
+            return;
+        }
+    
+        c.setDecomposition(Collator.NO_DECOMPOSITION);
+    
+        String[] tertiary = {
+            "A",        "<",    "B",
+            "H",        "<",    "\u0131",
+            "H",        "<",    "I",
+            "\u0131",   "<",    "\u0130",
+            "\u0130",   "<",    "i",
+            "\u0130",   ">",    "H",
+        };
+    
+        c.setStrength(Collator.TERTIARY);
+        compareArray(c, tertiary);
+    
+        String[] secondary = {
+            "H",        "<",    "I",
+            "\u0131",   "=",    "\u0130",
+        };
+    
+        c.setStrength(Collator.PRIMARY);
+        compareArray(c, secondary);
+    }
+    
+    // @bug 4062418
+    //
+    // Secondary/Tertiary comparison incorrect in French Secondary
+    //
+    public void Test4062418(/* char* par */) {
+        RuleBasedCollator c = null;
+        try {
+            c = (RuleBasedCollator) Collator.getInstance(Locale.FRANCE);
+        } catch (Exception e) {
+            errln("Failed to create collator for Locale::FRANCE()");
+            return;
+        }
+        c.setStrength(Collator.SECONDARY);
+    
+        String[] tests = {
+                "p\u00eache",    "<",    "p\u00e9ch\u00e9",    // Comparing accents from end, p\u00e9ch\u00e9 is greater
+        };
+    
+        compareArray(c, tests);
+    }
+    
+    // @bug 4065540
+    //
+    // Collator::compare() method broken if either string contains spaces
+    //
+    public void Test4065540(/* char* par */) {
+        RuleBasedCollator en_us = (RuleBasedCollator) Collator.getInstance(Locale.US);
+        if (en_us.compare("abcd e", "abcd f") == 0) {
+            errln("'abcd e' == 'abcd f'");
+        }
+    }
+    
+    // @bug 4066189
+    //
+    // Unicode characters need to be recursively decomposed to get the
+    // correct result. For example,
+    // u1EB1 -> \u0103 + \u0300 -> a + \u0306 + \u0300.
+    //
+    public void Test4066189(/* char* par */) {
+        final  String test1 = "\u1EB1";
+        final  String test2 = "\u0061\u0306\u0300";
+    
+        // NOTE: The java code used en_us to create the
+        // CollationElementIterator's. I'm pretty sure that
+        // was wrong, so I've change the code to use c1 and c2
+        RuleBasedCollator c1 = (RuleBasedCollator) Collator.getInstance(Locale.US);
+        c1.setDecomposition(Collator.CANONICAL_DECOMPOSITION);
+        CollationElementIterator i1 = c1.getCollationElementIterator(test1);
+    
+        RuleBasedCollator c2 = (RuleBasedCollator) Collator.getInstance(Locale.US);
+        c2.setDecomposition(Collator.NO_DECOMPOSITION);
+        CollationElementIterator i2 = c2.getCollationElementIterator(test2);
+    
+        assertEqual(i1, i2);
+    }
+    
+    // @bug 4066696
+    //
+    // French secondary collation checking at the end of compare iteration fails
+    //
+    public void Test4066696(/* char* par */) {
+        RuleBasedCollator c = null;
+        try {
+            c = (RuleBasedCollator)Collator.getInstance(Locale.FRANCE);
+        } catch(Exception e) {
+            errln("Failure creating collator for Locale::getFrance()");
+            return;
+        }
+        c.setStrength(Collator.SECONDARY);
+    
+        String[] tests = {
+            "\u00e0",   ">",     "\u01fa",       // a-grave <  A-ring-acute
+        };    
+        compareArray(c, tests);
+    }
+    
+    // @bug 4076676
+    //
+    // Bad canonicalization of same-class combining characters
+    //
+    public void Test4076676(/* char* par */) {
+        // These combining characters are all in the same class, so they should not
+        // be reordered, and they should compare as unequal.
+        final String s1 = "\u0041\u0301\u0302\u0300";
+        final String s2 = "\u0041\u0302\u0300\u0301";
+    
+        RuleBasedCollator c = (RuleBasedCollator) Collator.getInstance(Locale.US);
+        c.setStrength(Collator.TERTIARY);
+    
+        if (c.compare(s1,s2) == 0) {
+            errln("Same-class combining chars were reordered");
+        }
+    }
+
+    // @bug 4078588
+    //
+    // RuleBasedCollator breaks on "< a < bb" rule
+    //
+    public void Test4078588(/* char *par */) {
+        RuleBasedCollator rbc = null;
+        try {
+            rbc = new RuleBasedCollator("< a < bb");
+        } catch (Exception e) {
+            errln("Failed to create RuleBasedCollator.");
+            return;
+        }
+    
+        int result = rbc.compare("a","bb");
+    
+        if (result >= 0) {
+            errln("Compare(a,bb) returned " + result + "; expected -1");
+        }
+    }
+    
+    // @bug 4079231
+    //
+    // RuleBasedCollator::operator==(NULL) throws NullPointerException
+    //
+    public void Test4079231(/* char* par */) {    
+        RuleBasedCollator en_us = (RuleBasedCollator) Collator.getInstance(Locale.US);
+        try {
+            if (en_us.equals(null)) {
+                errln("en_us.equals(null) returned true");
+            }
+        } catch (Exception e) {
+            errln("en_us.equals(null) threw " + e.toString());
+        }
+    }
+    
+    // @bug 4081866
+    //
+    // Combining characters in different classes not reordered properly.
+    //
+    public void Test4081866(/* char* par */) {
+        // These combining characters are all in different classes,
+        // so they should be reordered and the strings should compare as equal.
+        String s1 = "\u0041\u0300\u0316\u0327\u0315";
+        String s2 = "\u0041\u0327\u0316\u0315\u0300";
+    
+        RuleBasedCollator c = (RuleBasedCollator) Collator.getInstance(Locale.US);
+        c.setStrength(Collator.TERTIARY);
+        
+        // Now that the default collators are set to NO_DECOMPOSITION
+        // (as a result of fixing bug 4114077), we must set it explicitly
+        // when we're testing reordering behavior.  -- lwerner, 5/5/98
+        c.setDecomposition(Collator.CANONICAL_DECOMPOSITION);
+        if (c.compare(s1,s2) != 0) {
+            errln("Combining chars were not reordered");
+        }
+    }
+    
+    // @bug 4087241
+    //
+    // string comparison errors in Scandinavian collators
+    //
+    public void Test4087241(/* char* par */) {
+        Locale da_DK = new Locale("da", "DK");
+        RuleBasedCollator c = null;
+        try {
+            c = (RuleBasedCollator) Collator.getInstance(da_DK);
+        } catch (Exception e) {
+            errln("Failed to create collator for da_DK locale");
+            return;
+        }
+        c.setStrength(Collator.SECONDARY);
+        String tests[] = {
+            "\u007a",       "\u003c", "\u00E6",            // z        < ae
+            "\u0061\u0308", "\u003c", "\u0061\u030A",      // a-unlaut < a-ring
+            "\u0059",       "\u003c", "\u0075\u0308",      // Y        < u-umlaut
+        };
+        compareArray(c, tests);
+    }
+    
+    // @bug 4087243
+    //
+    // CollationKey takes ignorable strings into account when it shouldn't
+    //
+    public void Test4087243(/* char* par */) {
+        RuleBasedCollator c = (RuleBasedCollator) Collator.getInstance(Locale.US);
+        c.setStrength(Collator.TERTIARY);
+        String tests[] = {
+            "\u0031\u0032\u0033", "\u003d", "\u0031\u0032\u0033\u0001"    // 1 2 3  =  1 2 3 ctrl-A
+        };
+        compareArray(c, tests);
+    }
+    
+    // @bug 4092260
+    //
+    // Mu/micro conflict
+    // Micro symbol and greek lowercase letter Mu should sort identically
+    //
+    public void Test4092260(/* char* par */) {
+        Locale el = new Locale("el", "");
+        Collator c = null;
+        try {
+            c = Collator.getInstance(el);
+        } catch (Exception e) {
+            errln("Failed to create collator for el locale.");
+            return;
+        }
+        // These now have tertiary differences in UCA
+        c.setStrength(Collator.SECONDARY);
+        String tests[] = {
+            "\u00B5", "\u003d", "\u03BC",
+        };
+        compareArray(c, tests);
+    }
+    
+    // @bug 4095316
+    //
+    public void Test4095316(/* char* par */) {
+        Locale el_GR = new Locale("el", "GR");
+        Collator c = null;
+        try {
+            c = Collator.getInstance(el_GR);
+        } catch (Exception e) {
+            errln("Failed to create collator for el_GR locale");
+            return;
+        }
+        // These now have tertiary differences in UCA
+        //c->setStrength(Collator::TERTIARY);
+        //c->setAttribute(UCOL_STRENGTH, UCOL_SECONDARY, status);
+        c.setStrength(Collator.SECONDARY);
+        String tests[] = {
+            "\u03D4", "\u003d", "\u03AB",
+        };
+        compareArray(c, tests);
+    }
+    
+    // @bug 4101940
+    //
+    public void Test4101940(/* char* par */) {
+        RuleBasedCollator c = null;
+        String rules = "< a < b";
+        String nothing = "";
+        try {
+            c = new RuleBasedCollator(rules);
+        } catch (Exception e) {
+            errln("Failed to create RuleBasedCollator");
+            return;
+        }
+        CollationElementIterator i = c.getCollationElementIterator(nothing);
+        i.reset();
+        if (i.next() != CollationElementIterator.NULLORDER) {
+            errln("next did not return NULLORDER");
+        }
+    }
+    
+    // @bug 4103436
+    //
+    // Collator::compare not handling spaces properly
+    //
+    public void Test4103436(/* char* par */) {
+        RuleBasedCollator c = (RuleBasedCollator) Collator.getInstance(Locale.US);
+        c.setStrength(Collator.TERTIARY);
+        String[] tests = {
+            "\u0066\u0069\u006c\u0065", "\u003c", "\u0066\u0069\u006c\u0065\u0020\u0061\u0063\u0063\u0065\u0073\u0073",
+            "\u0066\u0069\u006c\u0065", "\u003c", "\u0066\u0069\u006c\u0065\u0061\u0063\u0063\u0065\u0073\u0073",
+        };
+        compareArray(c, tests);
+    }
+    
+    // @bug 4114076
+    //
+    // Collation not Unicode conformant with Hangul syllables
+    //
+    public void Test4114076(/* char* par */) {
+        RuleBasedCollator c = (RuleBasedCollator) Collator.getInstance(Locale.US);
+        c.setStrength(Collator.TERTIARY);
+    
+        //
+        // With Canonical decomposition, Hangul syllables should get decomposed
+        // into Jamo, but Jamo characters should not be decomposed into
+        // conjoining Jamo
+        //
+        String test1[] = {
+            "\ud4db", "\u003d", "\u1111\u1171\u11b6"
+        };
+    
+        c.setDecomposition(Collator.CANONICAL_DECOMPOSITION);
+        compareArray(c, test1);
+    
+        // From UTR #15:
+        // *In earlier versions of Unicode, jamo characters like ksf
+        //  had compatibility mappings to kf + sf. These mappings were 
+        //  removed in Unicode 2.1.9 to ensure that Hangul syllables are maintained.)
+        // That is, the following test is obsolete as of 2.1.9
+    
+    //obsolete-    // With Full decomposition, it should go all the way down to
+    //obsolete-    // conjoining Jamo characters.
+    //obsolete-    //
+    //obsolete-    static const UChar test2[][CollationRegressionTest::MAX_TOKEN_LEN] =
+    //obsolete-    {
+    //obsolete-        {0xd4db, 0}, {0x3d, 0}, {0x1111, 0x116e, 0x1175, 0x11af, 0x11c2, 0}
+    //obsolete-    };
+    //obsolete-
+    //obsolete-    c->setDecomposition(Normalizer::DECOMP_COMPAT);
+    //obsolete-    compareArray(*c, test2, ARRAY_LENGTH(test2));
+    }
+
+    // @bug 4114077
+    //
+    // Collation with decomposition off doesn't work for Europe 
+    //
+    public void Test4114077(/* char* par */) {
+        // Ensure that we get the same results with decomposition off
+        // as we do with it on....
+        RuleBasedCollator c = (RuleBasedCollator) Collator.getInstance(Locale.US);
+        c.setStrength(Collator.TERTIARY);
+        String test1[] = {
+            "\u00C0",                         "\u003d", "\u0041\u0300",            // Should be equivalent
+            "\u0070\u00ea\u0063\u0068\u0065", "\u003e", "\u0070\u00e9\u0063\u0068\u00e9",
+            "\u0204",                         "\u003d", "\u0045\u030F",
+            "\u01fa",                         "\u003d", "\u0041\u030a\u0301",    // a-ring-acute -> a-ring, acute
+                                                    //   -> a, ring, acute
+            "\u0041\u0300\u0316",             "\u003c", "\u0041\u0316\u0300"        // No reordering --> unequal
+        };
+    
+        c.setDecomposition(Collator.NO_DECOMPOSITION);
+        compareArray(c, test1);
+    
+        String test2[] = {
+            "\u0041\u0300\u0316", "\u003d", "\u0041\u0316\u0300"      // Reordering --> equal
+        };
+    
+        c.setDecomposition(Collator.CANONICAL_DECOMPOSITION);
+        compareArray(c, test2);
+    }
+    
+    // @bug 4124632
+    //
+    // Collator::getCollationKey was hanging on certain character sequences
+    //
+    public void Test4124632(/* char* par */) {
+        Collator coll = null;
+        try {
+            coll = Collator.getInstance(Locale.JAPAN);
+        } catch (Exception e) {
+            errln("Failed to create collator for Locale::JAPAN");
+            return;
+        }
+        String test = "\u0041\u0308\u0062\u0063";
+        CollationKey key;
+        try {
+            key = coll.getCollationKey(test);
+            logln(key.getSourceString());
+        } catch (Exception e) {
+            errln("CollationKey creation failed.");
+        }
+    }
+    
+    // @bug 4132736
+    //
+    // sort order of french words with multiple accents has errors
+    //
+    public void Test4132736(/* char* par */) {
+        Collator c = null;
+        try {
+            c = Collator.getInstance(Locale.FRANCE);
+            c.setStrength(Collator.TERTIARY);
+        } catch (Exception e) {
+            errln("Failed to create a collator for Locale::getFrance()");
+        }
+    
+        String test1[] = {
+            "\u0065\u0300\u0065\u0301", "\u003c", "\u0065\u0301\u0065\u0300",
+            "\u0065\u0300\u0301",       "\u003c", "\u0065\u0301\u0300",
+        };
+        compareArray(c, test1);
+    }
+    
+    // @bug 4133509
+    //
+    // The sorting using java.text.CollationKey is not in the exact order
+    //
+    public void Test4133509(/* char* par */) {
+        RuleBasedCollator en_us = (RuleBasedCollator) Collator.getInstance(Locale.US);
+        String test1[] = {
+            "\u0045\u0078\u0063\u0065\u0070\u0074\u0069\u006f\u006e", "\u003c", "\u0045\u0078\u0063\u0065\u0070\u0074\u0069\u006f\u006e\u0049\u006e\u0049\u006e\u0069\u0074\u0069\u0061\u006c\u0069\u007a\u0065\u0072\u0045\u0072\u0072\u006f\u0072",
+            "\u0047\u0072\u0061\u0070\u0068\u0069\u0063\u0073",       "\u003c", "\u0047\u0072\u0061\u0070\u0068\u0069\u0063\u0073\u0045\u006e\u0076\u0069\u0072\u006f\u006e\u006d\u0065\u006e\u0074",
+            "\u0053\u0074\u0072\u0069\u006e\u0067",                   "\u003c", "\u0053\u0074\u0072\u0069\u006e\u0067\u0042\u0075\u0066\u0066\u0065\u0072",
+        };
+    
+        compareArray(en_us, test1);
+    }
+    
+    // @bug 4139572
+    //
+    // getCollationKey throws exception for spanish text 
+    // Cannot reproduce this bug on 1.2, however it DOES fail on 1.1.6
+    //
+    public void Test4139572(/* char* par */) {
+        //
+        // Code pasted straight from the bug report
+        // (and then translated to C++ ;-)
+        //
+        // create spanish locale and collator
+        Locale l = new Locale("es", "es");
+        Collator col = null;
+        try {
+            col = Collator.getInstance(l);
+        } catch (Exception e) {
+            errln("Failed to create a collator for es_es locale.");
+            return;
+        }
+        CollationKey key = null;
+        // this spanish phrase kills it!
+        try {
+            key = col.getCollationKey("Nombre De Objeto");
+            logln("source:" + key.getSourceString());
+        } catch (Exception e) {
+            errln("Error creating CollationKey for \"Nombre De Ojbeto\"");
+        }
+    }
+    
+    // @bug 4141640
+    //
+    // Support for Swedish gone in 1.1.6 (Can't create Swedish collator) 
+    //
+    public void Test4141640(/* char* par */) {
+        //
+        // Rather than just creating a Swedish collator, we might as well
+        // try to instantiate one for every locale available on the system
+        // in order to prevent this sort of bug from cropping up in the future
+        //
+        Locale locales[] = Collator.getAvailableLocales();
+        
+        for (int i = 0; i < locales.length; i += 1)
+        {
+            Collator c = null;
+            try {
+                c = Collator.getInstance(locales[i]);
+                logln("source: " + c.getStrength());
+            } catch (Exception e) {
+                String msg = "";
+                msg += "Could not create collator for locale ";
+                msg += locales[i].getDisplayName();
+                errln(msg);
+            }
+        }
+    }
+    
+    private void checkListOrder(String[] sortedList, Collator c) {
+        // this function uses the specified Collator to make sure the
+        // passed-in list is already sorted into ascending order
+        for (int i = 0; i < sortedList.length - 1; i++) {
+            if (c.compare(sortedList[i], sortedList[i + 1]) >= 0) {
+                errln("List out of order at element #" + i + ": "
+                        + sortedList[i] + " >= "
+                        + sortedList[i + 1]);
+            }
+        }
+    }
+
+    public void Test4171974() {
+        // test French accent ordering more thoroughly
+        /*String[] frenchList = {
+            "\u0075\u0075",     // u u
+            "\u00fc\u0075",     // u-umlaut u
+            "\u01d6\u0075",     // u-umlaut-macron u
+            "\u016b\u0075",     // u-macron u
+            "\u1e7b\u0075",     // u-macron-umlaut u
+            "\u0075\u00fc",     // u u-umlaut
+            "\u00fc\u00fc",     // u-umlaut u-umlaut
+            "\u01d6\u00fc",     // u-umlaut-macron u-umlaut
+            "\u016b\u00fc",     // u-macron u-umlaut
+            "\u1e7b\u00fc",     // u-macron-umlaut u-umlaut
+            "\u0075\u01d6",     // u u-umlaut-macron
+            "\u00fc\u01d6",     // u-umlaut u-umlaut-macron
+            "\u01d6\u01d6",     // u-umlaut-macron u-umlaut-macron
+            "\u016b\u01d6",     // u-macron u-umlaut-macron
+            "\u1e7b\u01d6",     // u-macron-umlaut u-umlaut-macron
+            "\u0075\u016b",     // u u-macron
+            "\u00fc\u016b",     // u-umlaut u-macron
+            "\u01d6\u016b",     // u-umlaut-macron u-macron
+            "\u016b\u016b",     // u-macron u-macron
+            "\u1e7b\u016b",     // u-macron-umlaut u-macron
+            "\u0075\u1e7b",     // u u-macron-umlaut
+            "\u00fc\u1e7b",     // u-umlaut u-macron-umlaut
+            "\u01d6\u1e7b",     // u-umlaut-macron u-macron-umlaut
+            "\u016b\u1e7b",     // u-macron u-macron-umlaut
+            "\u1e7b\u1e7b"      // u-macron-umlaut u-macron-umlaut
+        };
+        Collator french = Collator.getInstance(Locale.FRENCH);
+
+        logln("Testing French order...");
+        checkListOrder(frenchList, french);
+
+        logln("Testing French order without decomposition...");
+        french.setDecomposition(Collator.NO_DECOMPOSITION);
+        checkListOrder(frenchList, french);*/
+
+        String[] englishList = {
+            "\u0075\u0075",     // u u
+            "\u0075\u00fc",     // u u-umlaut
+            "\u0075\u01d6",     // u u-umlaut-macron
+            "\u0075\u016b",     // u u-macron
+            "\u0075\u1e7b",     // u u-macron-umlaut
+            "\u00fc\u0075",     // u-umlaut u
+            "\u00fc\u00fc",     // u-umlaut u-umlaut
+            "\u00fc\u01d6",     // u-umlaut u-umlaut-macron
+            "\u00fc\u016b",     // u-umlaut u-macron
+            "\u00fc\u1e7b",     // u-umlaut u-macron-umlaut
+            "\u01d6\u0075",     // u-umlaut-macron u
+            "\u01d6\u00fc",     // u-umlaut-macron u-umlaut
+            "\u01d6\u01d6",     // u-umlaut-macron u-umlaut-macron
+            "\u01d6\u016b",     // u-umlaut-macron u-macron
+            "\u01d6\u1e7b",     // u-umlaut-macron u-macron-umlaut
+            "\u016b\u0075",     // u-macron u
+            "\u016b\u00fc",     // u-macron u-umlaut
+            "\u016b\u01d6",     // u-macron u-umlaut-macron
+            "\u016b\u016b",     // u-macron u-macron
+            "\u016b\u1e7b",     // u-macron u-macron-umlaut
+            "\u1e7b\u0075",     // u-macron-umlaut u
+            "\u1e7b\u00fc",     // u-macron-umlaut u-umlaut
+            "\u1e7b\u01d6",     // u-macron-umlaut u-umlaut-macron
+            "\u1e7b\u016b",     // u-macron-umlaut u-macron
+            "\u1e7b\u1e7b"      // u-macron-umlaut u-macron-umlaut
+        };
+        Collator english = Collator.getInstance(Locale.ENGLISH);
+
+        logln("Testing English order...");
+        checkListOrder(englishList, english);
+
+        logln("Testing English order without decomposition...");
+        english.setDecomposition(Collator.NO_DECOMPOSITION);
+        checkListOrder(englishList, english);
+    }
+
+    public void Test4179216() throws Exception {
+        // you can position a CollationElementIterator in the middle of
+        // a contracting character sequence, yielding a bogus collation
+        // element
+        RuleBasedCollator coll = (RuleBasedCollator)Collator.getInstance(Locale.US);
+        coll = new RuleBasedCollator(coll.getRules()
+                + " & C < ch , cH , Ch , CH < cat < crunchy");
+        String testText = "church church catcatcher runcrunchynchy";
+        CollationElementIterator iter = coll.getCollationElementIterator(
+                testText);
+
+        // test that the "ch" combination works properly
+        iter.setOffset(4);
+        int elt4 = CollationElementIterator.primaryOrder(iter.next());
+
+        iter.reset();
+        int elt0 = CollationElementIterator.primaryOrder(iter.next());
+
+        iter.setOffset(5);
+        int elt5 = CollationElementIterator.primaryOrder(iter.next());
+
+        if (elt4 != elt0 || elt5 != elt0)
+            errln("The collation elements at positions 0 (" + elt0 + "), 4 ("
+                    + elt4 + "), and 5 (" + elt5 + ") don't match.");
+
+        // test that the "cat" combination works properly
+        iter.setOffset(14);
+        int elt14 = CollationElementIterator.primaryOrder(iter.next());
+
+        iter.setOffset(15);
+        int elt15 = CollationElementIterator.primaryOrder(iter.next());
+
+        iter.setOffset(16);
+        int elt16 = CollationElementIterator.primaryOrder(iter.next());
+
+        iter.setOffset(17);
+        int elt17 = CollationElementIterator.primaryOrder(iter.next());
+
+        iter.setOffset(18);
+        int elt18 = CollationElementIterator.primaryOrder(iter.next());
+
+        iter.setOffset(19);
+        int elt19 = CollationElementIterator.primaryOrder(iter.next());
+
+        if (elt14 != elt15 || elt14 != elt16 || elt14 != elt17
+                || elt14 != elt18 || elt14 != elt19)
+            errln("\"cat\" elements don't match: elt14 = " + elt14 + ", elt15 = "
+            + elt15 + ", elt16 = " + elt16 + ", elt17 = " + elt17
+            + ", elt18 = " + elt18 + ", elt19 = " + elt19);
+
+        // now generate a complete list of the collation elements,
+        // first using next() and then using setOffset(), and
+        // make sure both interfaces return the same set of elements
+        iter.reset();
+
+        int elt = iter.next();
+        int count = 0;
+        while (elt != CollationElementIterator.NULLORDER) {
+            ++count;
+            elt = iter.next();
+        }
+
+        String[] nextElements = new String[count];
+        String[] setOffsetElements = new String[count];
+        int lastPos = 0;
+
+        iter.reset();
+        elt = iter.next();
+        count = 0;
+        while (elt != CollationElementIterator.NULLORDER) {
+            nextElements[count++] = testText.substring(lastPos, iter.getOffset());
+            lastPos = iter.getOffset();
+            elt = iter.next();
+        }
+        count = 0;
+        for (int i = 0; i < testText.length(); ) {
+            iter.setOffset(i);
+            lastPos = iter.getOffset();
+            elt = iter.next();
+            setOffsetElements[count++] = testText.substring(lastPos, iter.getOffset());
+            i = iter.getOffset();
+        }
+        for (int i = 0; i < nextElements.length; i++) {
+            if (nextElements[i].equals(setOffsetElements[i])) {
+                logln(nextElements[i]);
+            } else {
+                errln("Error: next() yielded " + nextElements[i] + ", but setOffset() yielded "
+                    + setOffsetElements[i]);
+            }
+        }
+    }
+
+    public void Test4216006() throws Exception {
+        // rule parser barfs on "<\u00e0=a\u0300", and on other cases
+        // where the same token (after normalization) appears twice in a row
+        boolean caughtException = false;
+        try {
+            RuleBasedCollator dummy = new RuleBasedCollator("\u00e0<a\u0300");
+        }
+        catch (ParseException e) {
+            caughtException = true;
+        }
+        if (!caughtException) {
+            throw new Exception("\"a<a\" collation sequence didn't cause parse error!");
+        }
+
+        RuleBasedCollator collator = new RuleBasedCollator("<\u00e0=a\u0300");
+        //commented by Kevin 2003/10/21 
+        //for "FULL_DECOMPOSITION is not supported here." in ICU4J DOC
+        //collator.setDecomposition(Collator.FULL_DECOMPOSITION);
+        collator.setStrength(Collator.IDENTICAL);
+
+        String[] tests = {
+            "a\u0300", "=", "\u00e0",
+            "\u00e0",  "=", "a\u0300"
+        };
+
+        compareArray(collator, tests);
+    }
+
+    // CollationElementIterator.previous broken for expanding char sequences
+    //
+    public void Test4179686() throws Exception {
+
+        // Create a collator with a few expanding character sequences in it....
+        RuleBasedCollator coll = new RuleBasedCollator(en_us.getRules()
+                                                    + " & ae ; \u00e4 & AE ; \u00c4"
+                                                    + " & oe ; \u00f6 & OE ; \u00d6"
+                                                    + " & ue ; \u00fc & UE ; \u00dc");
+
+        String text = "T\u00f6ne"; // o-umlaut
+
+        CollationElementIterator iter = coll.getCollationElementIterator(text);
+        Vector elements = new Vector();
+        int elem;
+
+        // Iterate forward and collect all of the elements into a Vector
+        while ((elem = iter.next()) != CollationElementIterator.NULLORDER) {
+            elements.addElement(new Integer(elem));
+        }
+
+        // Now iterate backward and make sure they're the same
+        int index = elements.size() - 1;
+        while ((elem = iter.previous()) != CollationElementIterator.NULLORDER) {
+            int expect = ((Integer)elements.elementAt(index)).intValue();
+
+            if (elem != expect) {
+                errln("Mismatch at index " + index
+                      + ": got " + Integer.toString(elem,16)
+                      + ", expected " + Integer.toString(expect,16));
+            }
+            index--;
+        }
+    }
+
+    private static RuleBasedCollator en_us ;
+    protected void init()throws Exception{
+        if(en_us ==null){
+            en_us = (RuleBasedCollator)Collator.getInstance(Locale.US);
+        }
+    }
+    public void Test4244884() throws Exception {
+        RuleBasedCollator coll = (RuleBasedCollator)Collator.getInstance(Locale.US);
+        coll = new RuleBasedCollator(coll.getRules()
+                + " & C < ch , cH , Ch , CH < cat < crunchy");
+
+        String[] testStrings = new String[] {
+            "car",
+            "cave",
+            "clamp",
+            "cramp",
+            "czar",
+            "church",
+            "catalogue",
+            "crunchy",
+            "dog"
+        };
+
+        for (int i = 1; i < testStrings.length; i++) {
+            if (coll.compare(testStrings[i - 1], testStrings[i]) >= 0) {
+                errln("error: \"" + testStrings[i - 1]
+                    + "\" is greater than or equal to \"" + testStrings[i]
+                    + "\".");
+            }
+        }
+    }
+
+    //  CollationElementIterator set doesn't work propertly with next/prev
+    public void Test4663220() {
+        RuleBasedCollator collator = (RuleBasedCollator)Collator.getInstance(Locale.US);
+        java.text.StringCharacterIterator stringIter = new java.text.StringCharacterIterator("fox");
+        CollationElementIterator iter = collator.getCollationElementIterator(stringIter);
+    
+        int[] elements_next = new int[3];
+        logln("calling next:");
+        for (int i = 0; i < 3; ++i) {
+            logln("[" + i + "] " + (elements_next[i] = iter.next()));
+        }
+    
+        int[] elements_fwd = new int[3];
+        logln("calling set/next:");
+        for (int i = 0; i < 3; ++i) {
+            iter.setOffset(i);
+            logln("[" + i + "] " + (elements_fwd[i] = iter.next()));
+        }
+    
+        for (int i = 0; i < 3; ++i) {
+            if (elements_next[i] != elements_fwd[i]) {
+                errln("mismatch at position " + i + 
+                ": " + elements_next[i] + 
+                " != " + elements_fwd[i]);
+            }
+        }
+    }
+    
+    /* RuleBasedCollator not subclassable
+     * @bug 4146160
+    //
+    // RuleBasedCollator doesn't use createCollationElementIterator internally
+    //
+    public void Test4146160() {
+        //
+        // Use a custom collator class whose createCollationElementIterator
+        // methods increment a count....
+        //     
+        RuleBasedCollator en_us = (RuleBasedCollator) Collator.getInstance(Locale.US);
+        My4146160Collator.count = 0;
+        My4146160Collator mc = null;
+        try {
+            mc = new My4146160Collator(en_us);
+        } catch (Exception e) {
+            errln("Failed to create a My4146160Collator.");
+            return;
+        }
+    
+        CollationKey key = null;
+        try {
+            key = mc.getCollationKey("1");
+        } catch (Exception e) {
+            errln("Failure to get a CollationKey from a My4146160Collator.");
+            return;
+        }
+    
+        if (My4146160Collator.count < 1) {
+            errln("My4146160Collator.getCollationElementIterator not called for getCollationKey");
+        }
+    
+        My4146160Collator.count = 0;
+        mc.compare("1", "2");
+    
+        if (My4146160Collator.count < 1) {
+            errln("My4146160Collator.getCollationElementIterator not called for compare");
+        }
+    }*/
+}
+
+/* RuleBasedCollator not subclassable
+ * class My4146160Collator extends RuleBasedCollator {
+    static int count = 0;
+
+    public My4146160Collator(RuleBasedCollator rbc) throws Exception {
+        super(rbc.getRules());
+    }
+
+    public CollationElementIterator getCollationElementIterator(String text) {
+        count += 1;
+        return super.getCollationElementIterator(text);
+    }
+    
+    public CollationElementIterator getCollationElementIterator(java.text.CharacterIterator text) {
+        count += 1;
+        return super.getCollationElementIterator(text);
+    }
+}
+*/
\ No newline at end of file
diff --git a/src/com/ibm/icu/dev/test/collator/CollationServiceTest.java b/src/com/ibm/icu/dev/test/collator/CollationServiceTest.java
new file mode 100644
index 0000000..8501a41
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/collator/CollationServiceTest.java
@@ -0,0 +1,425 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2003-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+package com.ibm.icu.dev.test.collator;
+
+import java.util.Collections;
+import java.util.Locale;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.Map;
+import java.util.Set;
+import java.util.MissingResourceException;
+import com.ibm.icu.dev.test.TestFmwk;
+import com.ibm.icu.text.Collator;
+import com.ibm.icu.text.Collator.CollatorFactory;
+import com.ibm.icu.util.ULocale;
+
+public class CollationServiceTest extends TestFmwk {
+    public static void main(String[] args) {
+        new CollationServiceTest().run(args);
+    }
+
+    public void TestRegister() {
+        // register a singleton
+        Collator frcol = Collator.getInstance(ULocale.FRANCE);
+        Collator uscol = Collator.getInstance(ULocale.US);
+            
+        { // try override en_US collator
+            Object key = Collator.registerInstance(frcol, ULocale.US);
+            Collator ncol = Collator.getInstance(ULocale.US);
+            if (!frcol.equals(ncol)) {
+                errln("register of french collator for en_US failed");
+            }
+
+            // coverage
+            Collator test = Collator.getInstance(ULocale.GERMANY); // CollatorFactory.handleCreate
+
+            if (!Collator.unregister(key)) {
+                errln("failed to unregister french collator");
+            }
+            ncol = Collator.getInstance(ULocale.US);
+            if (!uscol.equals(ncol)) {
+                errln("collator after unregister does not match original");
+            }
+        }
+
+        ULocale fu_FU = new ULocale("fu_FU_FOO");
+
+        { // try create collator for new locale
+            Collator fucol = Collator.getInstance(fu_FU);
+            Object key = Collator.registerInstance(frcol, fu_FU);
+            Collator ncol = Collator.getInstance(fu_FU);
+            if (!frcol.equals(ncol)) {
+                errln("register of fr collator for fu_FU failed");
+            }
+            
+            ULocale[] locales = Collator.getAvailableULocales();
+            boolean found = false;
+            for (int i = 0; i < locales.length; ++i) {
+                if (locales[i].equals(fu_FU)) {
+                    found = true;
+                    break;
+                }
+            }
+            if (!found) {
+                errln("new locale fu_FU not reported as supported locale");
+            }
+            try{
+                String name = Collator.getDisplayName(fu_FU);
+                if (!"fu (FU, FOO)".equals(name)) {
+                    errln("found " + name + " for fu_FU");
+                }
+            }catch(MissingResourceException ex){
+                warnln("Could not load locale data."); 
+            }
+            try{
+                String name = Collator.getDisplayName(fu_FU, fu_FU);
+                if (!"fu (FU, FOO)".equals(name)) {
+                    errln("found " + name + " for fu_FU");
+                }
+            }catch(MissingResourceException ex){
+                warnln("Could not load locale data."); 
+            }
+
+            if (!Collator.unregister(key)) {
+                errln("failed to unregister french collator");
+            }
+            ncol = Collator.getInstance(fu_FU);
+            if (!fucol.equals(ncol)) {
+                errln("collator after unregister does not match original fu_FU");
+            }
+        }
+
+        {
+            // coverage after return to default 
+            ULocale[] locales = Collator.getAvailableULocales();
+    
+            Collator ncol = Collator.getInstance(ULocale.US);
+        }
+    }
+
+    public void TestRegisterFactory() {
+
+        class CollatorInfo {
+            ULocale locale;
+            Collator collator;
+            Map displayNames; // locale -> string
+
+            CollatorInfo(ULocale locale, Collator collator, Map displayNames) {
+                this.locale = locale;
+                this.collator = collator;
+                this.displayNames = displayNames;
+            }
+
+            String getDisplayName(ULocale displayLocale) {
+                String name = null;
+                if (displayNames != null) {
+                    name = (String)displayNames.get(displayLocale);
+                }
+                if (name == null) {
+                    name = locale.getDisplayName(displayLocale);
+                }
+                return name;
+            }
+        }
+
+        class TestFactory extends CollatorFactory {
+            private Map map;
+            private Set ids;
+            
+            TestFactory(CollatorInfo[] info) {
+                map = new HashMap();
+                for (int i = 0; i < info.length; ++i) {
+                    CollatorInfo ci = info[i];
+                    map.put(ci.locale, ci);
+                }
+            }
+
+            public Collator createCollator(ULocale loc) {
+                CollatorInfo ci = (CollatorInfo)map.get(loc);
+                if (ci != null) {
+                    return ci.collator;
+                }
+                return null;
+            }
+
+            public String getDisplayName(ULocale objectLocale, ULocale displayLocale) {
+                CollatorInfo ci = (CollatorInfo)map.get(objectLocale);
+                if (ci != null) {
+                    return ci.getDisplayName(displayLocale);
+                }
+                return null;
+            }
+
+            public Set getSupportedLocaleIDs() {
+                if (ids == null) {
+                    HashSet set = new HashSet();
+                    Iterator iter = map.keySet().iterator();
+                    while (iter.hasNext()) {
+                        ULocale locale = (ULocale)iter.next();
+                        String id = locale.toString();
+                        set.add(id);
+                    }
+                    ids = Collections.unmodifiableSet(set);
+                }
+                return ids;
+            }
+        }
+    
+        class TestFactoryWrapper extends CollatorFactory {
+            CollatorFactory delegate;
+    
+            TestFactoryWrapper(CollatorFactory delegate) {
+                this.delegate = delegate;
+            }
+    
+            public Collator createCollator(ULocale loc) {
+                return delegate.createCollator(loc);
+            }
+    
+            // use CollatorFactory getDisplayName(ULocale, ULocale) for coverage
+    
+            public Set getSupportedLocaleIDs() {
+                return delegate.getSupportedLocaleIDs();
+            }
+        }
+
+        ULocale fu_FU = new ULocale("fu_FU");
+        ULocale fu_FU_FOO = new ULocale("fu_FU_FOO");
+
+        Map fuFUNames = new HashMap();
+        fuFUNames.put(fu_FU, "ze leetle bunny Fu-Fu");
+        fuFUNames.put(fu_FU_FOO, "zee leetel bunny Foo-Foo");
+        fuFUNames.put(ULocale.US, "little bunny Foo Foo");
+
+        Collator frcol = Collator.getInstance(ULocale.FRANCE);
+       /* Collator uscol = */Collator.getInstance(ULocale.US);
+        Collator gecol = Collator.getInstance(ULocale.GERMANY);
+        Collator jpcol = Collator.getInstance(ULocale.JAPAN);
+        Collator fucol = Collator.getInstance(fu_FU);
+        
+        CollatorInfo[] info = {
+            new CollatorInfo(ULocale.US, frcol, null),
+            new CollatorInfo(ULocale.FRANCE, gecol, null),
+            new CollatorInfo(fu_FU, jpcol, fuFUNames),
+        };
+        TestFactory factory = null;
+        try{
+            factory = new TestFactory(info);
+        }catch(MissingResourceException ex){
+            warnln("Could not load locale data."); 
+        }
+        // coverage
+        {
+            TestFactoryWrapper wrapper = new TestFactoryWrapper(factory); // in java, gc lets us easily multiply reference!
+            Object key = Collator.registerFactory(wrapper);
+            String name = null;
+            try{
+                name = Collator.getDisplayName(fu_FU, fu_FU_FOO);
+            }catch(MissingResourceException ex){
+                warnln("Could not load locale data."); 
+            }
+            logln("*** default name: " + name);
+            Collator.unregister(key);
+    
+            Collator col = Collator.getInstance(new ULocale("bar_BAR"));
+        }
+
+        int n1 = checkAvailable("before registerFactory");
+        
+        {
+            Object key = Collator.registerFactory(factory);
+            
+            int n2 = checkAvailable("after registerFactory");
+            
+            Collator ncol = Collator.getInstance(ULocale.US);
+            if (!frcol.equals(ncol)) {
+                errln("frcoll for en_US failed");
+            }
+
+            ncol = Collator.getInstance(fu_FU_FOO);
+            if (!jpcol.equals(ncol)) {
+                errln("jpcol for fu_FU_FOO failed, got: " + ncol);
+            }
+            
+            ULocale[] locales = Collator.getAvailableULocales();
+            boolean found = false;
+            for (int i = 0; i < locales.length; ++i) {
+                if (locales[i].equals(fu_FU)) {
+                    found = true;
+                    break;
+                }
+            }
+            if (!found) {
+                errln("new locale fu_FU not reported as supported locale");
+            }
+            
+            String name = Collator.getDisplayName(fu_FU);
+            if (!"little bunny Foo Foo".equals(name)) {
+                errln("found " + name + " for fu_FU");
+            }
+
+            name = Collator.getDisplayName(fu_FU, fu_FU_FOO);
+            if (!"zee leetel bunny Foo-Foo".equals(name)) {
+                errln("found " + name + " for fu_FU in fu_FU_FOO");
+            }
+
+            if (!Collator.unregister(key)) {
+                errln("failed to unregister factory");
+            }
+
+            int n3 = checkAvailable("after unregister");
+            assertTrue("register increases count", n2>n1);
+            assertTrue("unregister restores count", n3==n1);
+            
+            ncol = Collator.getInstance(fu_FU);
+            if (!fucol.equals(ncol)) {
+                errln("collator after unregister does not match original fu_FU");
+            }
+        }
+    }
+
+    /**
+     * Check the integrity of the results of Collator.getAvailableULocales().
+     * Return the number of items returned.
+     */
+    int checkAvailable(String msg) {
+        Locale locs[] = Collator.getAvailableLocales();
+        if (!assertTrue("getAvailableLocales != null", locs!=null)) return -1;
+        checkArray(msg, locs, null);
+        ULocale ulocs[] = Collator.getAvailableULocales();
+        if (!assertTrue("getAvailableULocales != null", ulocs!=null)) return -1;
+        checkArray(msg, ulocs, null);
+        // This is not true because since ULocale objects with script code cannot be 
+        // converted to Locale objects
+        //assertTrue("getAvailableLocales().length == getAvailableULocales().length", locs.length == ulocs.length);
+        return locs.length;
+    }
+    
+    private static final String KW[] = {
+        "collation"
+    };
+
+    private static final String KWVAL[] = {
+        "phonebook",
+        "stroke"
+    };
+
+    public void TestSeparateTrees() {
+        String kw[] = Collator.getKeywords();
+        if (!assertTrue("getKeywords != null", kw!=null)) return;
+        checkArray("getKeywords", kw, KW);
+        
+        String kwval[] = Collator.getKeywordValues(KW[0]);
+        if (!assertTrue("getKeywordValues != null", kwval!=null)) return;
+        checkArray("getKeywordValues", kwval, KWVAL);
+
+        boolean isAvailable[] = new boolean[1];
+        ULocale equiv = Collator.getFunctionalEquivalent(KW[0],
+                                                         new ULocale("fr"),
+                                                         isAvailable);
+        if (assertTrue("getFunctionalEquivalent(fr)!=null", equiv!=null)) {
+            assertEquals("getFunctionalEquivalent(fr)", "fr", equiv.toString());
+        }
+        assertTrue("getFunctionalEquivalent(fr).isAvailable==true",
+                   isAvailable[0] == true);
+        
+        equiv = Collator.getFunctionalEquivalent(KW[0],
+                                                 new ULocale("fr_FR"),
+                                                 isAvailable);
+        if (assertTrue("getFunctionalEquivalent(fr_FR)!=null", equiv!=null)) {
+            assertEquals("getFunctionalEquivalent(fr_FR)", "fr", equiv.toString());
+        }
+        assertTrue("getFunctionalEquivalent(fr_FR).isAvailable==true",
+                   isAvailable[0] == true);
+
+        equiv = Collator.getFunctionalEquivalent(KW[0], new ULocale("zh_Hans"));
+        if (assertTrue("getFunctionalEquivalent(zh_Hans)!=null", equiv!=null)) {
+            assertEquals("getFunctionalEquivalent(zh_Hans)", "zh", equiv.toString());
+        }
+    }
+    
+    public void TestGetFunctionalEquivalent() {
+        String kw[] = Collator.getKeywords();
+        final String DATA[] = { 
+                          "de", "de", "t",
+                          "de@collation=direct", "de", "t",
+                          "de@collation=traditional", "de", "t",
+                          "de@collation=gb2312han", "de", "t",
+                          "de@collation=stroke", "de", "t",
+                          "de@collation=pinyin", "de", "t",
+                          "de@collation=phonebook", "de@collation=phonebook", "t",
+                          "de@collation=big5han", "de", "t",
+                          "de_AT", "de", "t",
+                          "de_AT@collation=direct", "de", "t",
+                          "de_AT@collation=traditional", "de", "t",
+                          "de_AT@collation=gb2312han", "de", "t",
+                          "de_AT@collation=stroke", "de", "t",
+                          "de_AT@collation=pinyin", "de", "t",
+                          "de_AT@collation=phonebook", "de@collation=phonebook", "t",
+                          "de_AT@collation=big5han", "de", "t",
+                          "nl", "root", "t",
+                          "nl@collation=direct", "root", "t",
+                          "nl_BE", "root", "t",
+                          "nl_BE@collation=direct", "root", "t",
+                          "nl_BE@collation=traditional", "root", "t",
+                          "nl_BE@collation=gb2312han", "root", "t",
+                          "nl_BE@collation=stroke", "root", "t",
+                          "nl_BE@collation=pinyin", "root", "t",
+                          "nl_BE@collation=big5han", "root", "t",
+                          "nl_BE@collation=phonebook", "root", "t",
+                          "en_US_VALLEYGIRL","en","f"
+                        };
+        final int DATA_COUNT=(DATA.length/3);
+        
+        for(int i=0;i<DATA_COUNT;i++) {
+            boolean isAvailable[] = new boolean[1];
+            ULocale input = new ULocale(DATA[(i*3)+0]);
+            ULocale expect = new ULocale(DATA[(i*3)+1]);
+            boolean expectAvailable = DATA[(i*3)+2].equals("t");
+            ULocale actual = Collator.getFunctionalEquivalent(kw[0],input,isAvailable);
+            if(!actual.equals(expect) || (expectAvailable!=isAvailable[0])) {
+                errln("#" + i + ": Collator.getFunctionalEquivalent(" + input + ")=" + actual + ", avail " + new Boolean(isAvailable[0]) + ", " +
+                        "expected " + expect + " avail " + new Boolean(expectAvailable));
+            } else {
+                logln("#" + i + ": Collator.getFunctionalEquivalent(" + input + ")=" + actual + ", avail " + new Boolean(isAvailable[0]));
+            }
+        }
+    }
+
+//    public void PrintFunctionalEquivalentList() {
+//        ULocale[] locales = Collator.getAvailableULocales();
+//        String[] keywords = Collator.getKeywords();
+//        logln("Collation");
+//        logln("Possible keyword=values pairs:");
+//        for (int i = 0; i < Collator.getKeywords().length; ++i) {
+//                String[] values = Collator.getKeywordValues(keywords[i]);
+//                for (int j = 0; j < values.length; ++j) {
+//                        System.out.println(keywords[i] + "=" + values[j]);
+//                }
+//        }
+//        logln("Differing Collators:");
+//        boolean[] isAvailable = {true};
+//        for (int k = 0; k < locales.length; ++k) {
+//                logln(locales[k].getDisplayName(ULocale.ENGLISH) + " [" +locales[k] + "]");
+//                for (int i = 0; i < Collator.getKeywords().length; ++i) {
+//                        ULocale base = Collator.getFunctionalEquivalent(keywords[i],locales[k]);
+//                        String[] values = Collator.getKeywordValues(keywords[i]);
+//                        for (int j = 0; j < Collator.getKeywordValues(keywords[i]).length;++j) {                          
+//                                ULocale other = Collator.getFunctionalEquivalent(keywords[i], 
+//                                        new ULocale(locales[k] + "@" + keywords[i] + "=" + values[j]),
+//                                        isAvailable);
+//                                if (isAvailable[0] && !other.equals(base)) {
+//                                        logln("\t" + keywords[i] + "=" + values[j] + ";\t" + base + ";\t" + other);
+//                                }
+//                        }
+//                }
+//        }
+//    }
+}
diff --git a/src/com/ibm/icu/dev/test/collator/CollationSpanishTest.java b/src/com/ibm/icu/dev/test/collator/CollationSpanishTest.java
new file mode 100644
index 0000000..127a8aa
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/collator/CollationSpanishTest.java
@@ -0,0 +1,181 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2002-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+/** 
+ * Port From:   ICU4C v2.1 : Collate/CollationSpanishTest
+ * Source File: $ICU4CRoot/source/test/intltest/escoll.cpp
+ **/
+ 
+ package com.ibm.icu.dev.test.collator;
+ 
+ import com.ibm.icu.dev.test.*;
+ import com.ibm.icu.text.*;
+ import java.util.Locale;
+ 
+ public class CollationSpanishTest extends TestFmwk {
+    public static void main(String[] args) throws Exception {
+        new CollationSpanishTest().run(args);
+    }
+    
+    private static char[][] testSourceCases = {
+        {0x61, 0x6c, 0x69, 0x61, 0x73},
+        {0x45, 0x6c, 0x6c, 0x69, 0x6f, 0x74},
+        {0x48, 0x65, 0x6c, 0x6c, 0x6f},
+        {0x61, 0x63, 0x48, 0x63},
+        {0x61, 0x63, 0x63},
+        {0x61, 0x6c, 0x69, 0x61, 0x73},
+        {0x61, 0x63, 0x48, 0x63},
+        {0x61, 0x63, 0x63},
+        {0x48, 0x65, 0x6c, 0x6c, 0x6f},
+    };
+
+    private static char[][] testTargetCases = {
+        {0x61, 0x6c, 0x6c, 0x69, 0x61, 0x73},
+        {0x45, 0x6d, 0x69, 0x6f, 0x74},
+        {0x68, 0x65, 0x6c, 0x6c, 0x4f},
+        {0x61, 0x43, 0x48, 0x63},
+        {0x61, 0x43, 0x48, 0x63},
+        {0x61, 0x6c, 0x6c, 0x69, 0x61, 0x73},
+        {0x61, 0x43, 0x48, 0x63},
+        {0x61, 0x43, 0x48, 0x63},
+        {0x68, 0x65, 0x6c, 0x6c, 0x4f},
+    };
+
+    private static int[] results = {
+        -1,
+        -1,
+        1,
+        -1,
+        -1,
+        // test primary > 5
+        -1,
+        0,
+        -1,
+        0
+    };
+    
+    //static public Collator myCollation = Collator.getInstance(new Locale("es", "ES"));
+    
+    private Collator myCollation = null;
+    
+    public CollationSpanishTest() {
+
+    }
+    protected void init()throws Exception{
+        myCollation = Collator.getInstance(new Locale("es", "ES"));
+    }
+    public void TestTertiary(){
+        int i = 0;
+        myCollation.setStrength(Collator.TERTIARY);
+        for (i = 0; i < 5 ; i++) {
+            doTest(testSourceCases[i], testTargetCases[i], results[i]);
+        }
+    }
+    
+    public void TestPrimary(){
+        int i;
+        myCollation.setStrength(Collator.PRIMARY);
+        for (i = 5; i < 9; i++) {
+            doTest(testSourceCases[i], testTargetCases[i], results[i]);
+        }
+    }
+    
+    // amin test routine, tests rules specific to the spanish locale
+    private void doTest(char[] source, char[] target, int result) {
+        String s = new String(source);
+        String t = new String(target);
+        int compareResult = myCollation.compare(s, t);
+        CollationKey sortKey1, sortKey2;
+        sortKey1 = myCollation.getCollationKey(s);
+        sortKey2 = myCollation.getCollationKey(t);
+        int keyResult = sortKey1.compareTo(sortKey2);
+        reportCResult(s, t, sortKey1, sortKey2, compareResult, keyResult, compareResult, result);
+    }
+    
+    private void reportCResult( String source, String target, CollationKey sourceKey, CollationKey targetKey,
+                                int compareResult, int keyResult, int incResult, int expectedResult ) {
+        if (expectedResult < -1 || expectedResult > 1) {
+            errln("***** invalid call to reportCResult ****");
+            return;
+        }
+
+        boolean ok1 = (compareResult == expectedResult);
+        boolean ok2 = (keyResult == expectedResult);
+        boolean ok3 = (incResult == expectedResult);
+
+        if (ok1 && ok2 && ok3 && !isVerbose()) {
+            return;    
+        } else {
+            String msg1 = ok1? "Ok: compare(\"" : "FAIL: compare(\"";
+            String msg2 = "\", \"";
+            String msg3 = "\") returned ";
+            String msg4 = "; expected ";
+            
+            String sExpect = new String("");
+            String sResult = new String("");
+            sResult = appendCompareResult(compareResult, sResult);
+            sExpect = appendCompareResult(expectedResult, sExpect);
+            if (ok1) {
+                logln(msg1 + source + msg2 + target + msg3 + sResult);
+            } else {
+                errln(msg1 + source + msg2 + target + msg3 + sResult + msg4 + sExpect);
+            }
+            
+            msg1 = ok2 ? "Ok: key(\"" : "FAIL: key(\"";
+            msg2 = "\").compareTo(key(\"";
+            msg3 = "\")) returned ";
+            sResult = appendCompareResult(keyResult, sResult);
+            if (ok2) {
+                logln(msg1 + source + msg2 + target + msg3 + sResult);
+            } else {
+                errln(msg1 + source + msg2 + target + msg3 + sResult + msg4 + sExpect);
+                msg1 = "  ";
+                msg2 = " vs. ";
+                errln(msg1 + prettify(sourceKey) + msg2 + prettify(targetKey));
+            }
+            
+            msg1 = ok3 ? "Ok: incCompare(\"" : "FAIL: incCompare(\"";
+            msg2 = "\", \"";
+            msg3 = "\") returned ";
+
+            sResult = appendCompareResult(incResult, sResult);
+
+            if (ok3) {
+                logln(msg1 + source + msg2 + target + msg3 + sResult);
+            } else {
+                errln(msg1 + source + msg2 + target + msg3 + sResult + msg4 + sExpect);
+            }                
+        }
+    }
+    
+    private String appendCompareResult(int result, String target){
+        if (result == -1) {
+            target += "LESS";
+        } else if (result == 0) {
+            target += "EQUAL";
+        } else if (result == 1) {
+            target += "GREATER";
+        } else {
+            String huh = "?";
+            target += huh + result;
+        }
+        return target;
+    }
+    
+    String prettify(CollationKey sourceKey) {
+        int i;
+        byte[] bytes= sourceKey.toByteArray();
+        String target = "[";
+    
+        for (i = 0; i < bytes.length; i++) {
+            target += Integer.toHexString(bytes[i]);
+            target += " ";
+        }
+        target += "]";
+        return target;
+    }
+}
diff --git a/src/com/ibm/icu/dev/test/collator/CollationTest.java b/src/com/ibm/icu/dev/test/collator/CollationTest.java
new file mode 100644
index 0000000..67e8b53
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/collator/CollationTest.java
@@ -0,0 +1,474 @@
+/**
+ *******************************************************************************
+ * Copyright (C) 2001-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.test.collator;
+
+import com.ibm.icu.dev.test.ModuleTest;
+import com.ibm.icu.dev.test.TestFmwk;
+import com.ibm.icu.text.RuleBasedCollator;
+import com.ibm.icu.text.Collator;
+import com.ibm.icu.text.CollationKey;
+import com.ibm.icu.text.RawCollationKey;
+import com.ibm.icu.text.CollationElementIterator;
+import com.ibm.icu.text.UTF16;
+import com.ibm.icu.lang.UCharacter;
+import com.ibm.icu.impl.Utility;
+import com.ibm.icu.impl.LocaleUtility;
+
+import java.util.Vector;
+import java.util.Locale;
+import java.util.MissingResourceException;
+
+public class CollationTest extends ModuleTest
+{
+    // public methods --------------------------------------------------------
+
+    public static void main(String[] args) throws Exception
+    {
+        new CollationTest().run(args);
+        /* CollationTest test = new CollationTest();
+        if (test.validate()) {
+            test.TestCIgnorableContraction();
+        }*/
+    }
+
+    public CollationTest() {
+        super("processModules");
+    }
+
+    public void processModules() {
+        while (nextSettings()) {
+            processTest();
+        }
+    }
+    
+    // package private methods ----------------------------------------------
+    
+    static void doTest(TestFmwk test, RuleBasedCollator col, String source, 
+                       String target, int result)
+    {
+        doTestVariant(test, col, source, target, result);
+        if (result == -1) {
+            doTestVariant(test, col, target, source, 1);
+        } 
+        else if (result == 1) {
+            doTestVariant(test, col, target, source, -1);
+        }
+        else {
+            doTestVariant(test, col, target, source, 0);
+        }
+
+        CollationElementIterator iter = col.getCollationElementIterator(source);
+        backAndForth(test, iter);
+        iter.setText(target);
+        backAndForth(test, iter);
+    }
+    
+    /**
+     * Return an integer array containing all of the collation orders
+     * returned by calls to next on the specified iterator
+     */
+    static int[] getOrders(CollationElementIterator iter) 
+    {
+        int maxSize = 100;
+        int size = 0;
+        int[] orders = new int[maxSize];
+        
+        int order;
+        while ((order = iter.next()) != CollationElementIterator.NULLORDER) {
+            if (size == maxSize) {
+                maxSize *= 2;
+                int[] temp = new int[maxSize];
+                System.arraycopy(orders, 0, temp,  0, size);
+                orders = temp;
+            }
+            orders[size++] = order;
+        }
+        
+        if (maxSize > size) {
+            int[] temp = new int[size];
+            System.arraycopy(orders, 0, temp,  0, size);
+            orders = temp;
+        }
+        return orders;
+    }
+    
+    static void backAndForth(TestFmwk test, CollationElementIterator iter) 
+    {
+        // Run through the iterator forwards and stick it into an array
+        iter.reset();
+        int[] orders = getOrders(iter);
+    
+        // Now go through it backwards and make sure we get the same values
+        int index = orders.length;
+        int o;
+    
+        // reset the iterator
+        iter.reset();
+    
+        while ((o = iter.previous()) != CollationElementIterator.NULLORDER) {
+            if (o != orders[--index]) {
+                if (o == 0) {
+                    index ++;
+                } else {
+                    while (index > 0 && orders[index] == 0) {
+                        index --;
+                    } 
+                    if (o != orders[index]) {
+                        test.errln("Mismatch at index " + index + ": 0x" 
+                            + Integer.toHexString(orders[index]) + " vs 0x" + Integer.toHexString(o));
+                        break;
+                    }
+                }
+            }
+        }
+    
+        while (index != 0 && orders[index - 1] == 0) {
+          index --;
+        }
+    
+        if (index != 0) {
+            String msg = "Didn't get back to beginning - index is ";
+            test.errln(msg + index);
+    
+            iter.reset();
+            test.err("next: ");
+            while ((o = iter.next()) != CollationElementIterator.NULLORDER) {
+                String hexString = "0x" + Integer.toHexString(o) + " ";
+                test.err(hexString);
+            }
+            test.errln("");
+            test.err("prev: ");
+            while ((o = iter.previous()) != CollationElementIterator.NULLORDER) {
+                String hexString = "0x" + Integer.toHexString(o) + " ";
+                 test.err(hexString);
+            }
+            test.errln("");
+        }
+    }
+    
+    // private data members --------------------------------------------------
+
+    private String m_sequence_;
+    private int m_sequenceIndex_;
+    private String m_source_;
+    private StringBuffer m_target_ = new StringBuffer();
+    private int m_nextRelation_;
+    private int m_relation_;
+
+    // private methods -------------------------------------------------------
+
+    private void processTest() {
+        RuleBasedCollator col = null;
+        // ok i have to be careful here since it seems like we can have
+        // multiple locales for each test
+        String locale = settings.getString("TestLocale");
+        if (locale != null) {
+            // this is a case where we have locale
+            try {
+                Locale l = LocaleUtility.getLocaleFromName(locale);
+                col = (RuleBasedCollator)Collator.getInstance(l);
+            }catch (MissingResourceException e){
+                warnln("Could not load the locale data for locale " + locale);
+            }catch (Exception e) {
+                errln("Error creating collator for locale " + locale);
+            }
+            logln("Testing collator for locale %s\n" + locale);
+            processCollatorTests(col);
+        }
+        String rules = settings.getString("Rules");
+        // ok i have to be careful here since it seems like we can have
+        // multiple rules for each test
+        if (rules != null) {
+            // here we deal with rules
+            try {
+                col = new RuleBasedCollator(rules);
+            }catch (MissingResourceException e){
+        warnln("Could not load the locale data: " + e.getMessage());
+            } catch (Exception e) {
+                errln("Error creating collator for rules " + rules);
+            }
+            processCollatorTests(col);
+        }
+    }
+
+    private void processCollatorTests(RuleBasedCollator col)
+    {
+
+        // ok i have to be careful here since it seems like we can have
+        // multiple rules for each test
+        String arguments = settings.getString("Arguments");
+        if (arguments != null) {
+            processArguments(col, arguments);
+        }
+        processReadyCollator(col);
+    }
+
+    /**
+     * Reads the options string and sets appropriate attributes in collator
+     */
+    private void processArguments(RuleBasedCollator col, String argument) {
+        int i = 0;
+        boolean printInfo = false;
+        while (i < argument.length()) {
+            if (!UCharacter.isWhitespace(argument.charAt(i))) {
+                // eat whitespace
+                break;
+            }
+            i ++;
+        }
+        while (i < argument.length()) {
+            // skip opening '['
+            if (argument.charAt(i) == '[') {
+                i ++;
+            }
+            else {
+                if(!isModularBuild()){
+                    errln("Error in collation arguments, missing ["); // no opening '['
+                }
+                // !!! following line has no effect
+                printInfo=true;
+                return;
+            }
+
+            int value = argument.indexOf(' ', i);
+            String option = argument.substring(i, value);
+            i = argument.indexOf(']', value);
+            String optionvalue = argument.substring(value + 1, i);
+            i ++;
+            // some options are not added because they have no public apis yet
+            // TODO add the rest of the options
+            if (option.equalsIgnoreCase("alternate")) {
+                if (optionvalue.equalsIgnoreCase("non-ignorable")) {
+                    col.setAlternateHandlingShifted(false);
+                }
+                else {
+                    col.setAlternateHandlingShifted(true);
+                }
+            }
+            else if (option.equals("strength")) {
+                if (optionvalue.equalsIgnoreCase("1")) {
+                    col.setStrength(Collator.PRIMARY);
+                }
+                else if (optionvalue.equalsIgnoreCase("2")) {
+                    col.setStrength(Collator.SECONDARY);
+                }
+                else if (optionvalue.equalsIgnoreCase("3")) {
+                    col.setStrength(Collator.TERTIARY);
+                }
+                else if (optionvalue.equalsIgnoreCase("4")) {
+                    col.setStrength(Collator.QUATERNARY);
+                }
+            }
+        }
+        if (printInfo) {
+            warnln("Could not load the locale data. Skipping...");
+        }
+        // !!! effect is odd, if no modular build, this emits no
+        // message at all.  How come?  Hmmm.  printInfo is never
+        // true if we get here, so this code is never executed.
+        /*
+        if(printInfo == true && isModularBuild()){
+            infoln("Could not load the locale data. Skipping...");
+        }
+        */
+    }
+
+    private void processReadyCollator(RuleBasedCollator col) {
+       while (nextCase()) {
+            // this is very sad, it is alittle awkward to write the c rb
+            // to have an object array of an object array of a 1 element
+            // string array. so now we have an object array of a 1 element
+            // object array of string arrays.
+            String sequence[] = testcase.getStringArray("sequence");
+            for (int i = 0; i < sequence.length; i ++) {
+                processSequence(col, sequence[i]);
+            }
+       }
+    }
+
+    private void processSequence(RuleBasedCollator col, String sequence) {
+        // TODO: have a smarter tester that remembers the sequence and ensures
+        // that the complete sequence is in order. That is why I have made a
+        // constraint in the sequence format.
+        m_sequence_ = sequence;
+        m_sequenceIndex_ = 0;
+        m_nextRelation_ = -1;
+        m_target_.delete(0, m_target_.length());
+        Vector vector = new Vector();
+        int lastsmallerthanindex = -1;
+        getNextInSequence();
+        while (getNextInSequence()) {
+            String target = m_target_.toString();
+            doTest(this, col, m_source_, target, m_relation_);
+            int vsize = vector.size();
+            for (int i = vsize - 1; i >= 0; i --) {
+                String source = (String)vector.elementAt(i);
+                if (i > lastsmallerthanindex) {
+                    doTest(this, col, source, target, m_relation_);
+                }
+                else {
+                    doTest(this, col, source, target, -1);
+                }
+            }
+            vector.addElement(target);
+            if (m_relation_ < 0) {
+                lastsmallerthanindex = vsize - 1;
+            }
+        }
+    }
+
+    /**
+     * Parses the sequence to be tested
+     */
+    private boolean getNextInSequence() {
+        if (m_sequenceIndex_ >= m_sequence_.length()) {
+            return false;
+        }
+
+        boolean quoted = false;
+        boolean quotedsingle = false;
+        boolean done = false;
+        int i = m_sequenceIndex_;
+        int offset = 0;
+        m_source_ = m_target_.toString();
+        m_relation_ = m_nextRelation_;
+        m_target_.delete(0, m_target_.length());
+        while (i < m_sequence_.length() && !done) {
+            int ch = UTF16.charAt(m_sequence_, i);
+            if (UCharacter.isSupplementary(ch)) {
+                i += 2;
+            }
+            else {
+                i ++;
+            }
+            if (!quoted) {
+                if (UCharacter.isWhitespace(ch)) {
+                    continue;
+                }
+                switch (ch) {
+                    case 0x003C : // <
+                        m_nextRelation_ = -1;
+                        done = true;
+                        break;
+                    case 0x003D : // =
+                        m_nextRelation_ = 0;
+                        done = true;
+                        break;
+                    case 0x003E : // >
+                        m_nextRelation_ = 1;
+                        done = true;
+                        break;
+                    case 0x0027 : // ' very basic quoting
+                        quoted = true;
+                        quotedsingle = false;
+                        break;
+                    case 0x005c : // \ single quote
+                        quoted = true;
+                        quotedsingle = true;
+                        break;
+                    default:
+                        UTF16.insert(m_target_, offset, ch);
+                        if (UCharacter.isSupplementary(ch)) {
+                            offset += 2;
+                        }
+                        else {
+                            offset ++;
+                        }
+                    }
+                }
+                else {
+                      if (ch == 0x0027) {
+                          quoted = false;
+                      }
+                      else {
+                          UTF16.insert(m_target_, offset, ch);
+                          if (UCharacter.isSupplementary(ch)) {
+                              offset += 2;
+                          }
+                          else {
+                              offset ++;
+                          }
+                      }
+                      if (quotedsingle) {
+                          quoted = false;
+                      }
+                }
+          }
+          if (quoted == true) {
+              errln("Quote in sequence not closed!");
+              return false;
+          }
+
+
+          m_sequenceIndex_ = i;
+          return true;
+    }
+
+    private static void doTestVariant(TestFmwk test, 
+                                      RuleBasedCollator myCollation,
+                                      String source, String target, int result)
+    {
+        boolean printInfo = false;
+        int compareResult  = myCollation.compare(source, target);
+        if (compareResult != result) {
+            
+            // !!! if not mod build, error, else nothing.
+            // warnln if not build, error, else always print warning.
+            // do we need a 'quiet warning?' (err or log).  Hmmm,
+            // would it work to have the 'verbose' flag let you 
+            // suppress warnings?  Are there ever some warnings you
+            // want to suppress, and others you don't?
+            if(!test.isModularBuild()){
+                test.errln("Comparing \"" + Utility.hex(source) + "\" with \""
+                           + Utility.hex(target) + "\" expected " + result
+                           + " but got " + compareResult);
+            }else{
+                printInfo = true;
+            }
+        }
+        CollationKey ssk = myCollation.getCollationKey(source);
+        CollationKey tsk = myCollation.getCollationKey(target);
+        compareResult = ssk.compareTo(tsk);
+        if (compareResult != result) {
+            
+            if(!test.isModularBuild()){
+                test.errln("Comparing CollationKeys of \"" + Utility.hex(source) 
+                           + "\" with \"" + Utility.hex(target) 
+                           + "\" expected " + result + " but got " 
+                           + compareResult);
+           }else{
+               printInfo = true;
+           }
+        }
+        RawCollationKey srsk = new RawCollationKey();
+        myCollation.getRawCollationKey(source, srsk);
+        RawCollationKey trsk = new RawCollationKey();
+        myCollation.getRawCollationKey(target, trsk);
+        compareResult = ssk.compareTo(tsk);
+        if (compareResult != result) {
+            
+            if(!test.isModularBuild()){
+                test.errln("Comparing RawCollationKeys of \"" 
+                           + Utility.hex(source) 
+                           + "\" with \"" + Utility.hex(target) 
+                           + "\" expected " + result + " but got " 
+                           + compareResult);
+           }else{
+               printInfo = true;
+           }
+        }
+        // hmmm, but here we issue a warning
+        // only difference is, one warning or two, and detailed info or not?
+        // hmmm, does seem preferable to omit detail if we know it is due to missing resource data.
+        // well, if we label the errors as warnings, we can let people know the details, but
+        // also know they may be due to missing resource data.  basically this code is asserting
+        // that the errors are due to missing resource data, which may or may not be true.
+        if (printInfo) {
+            test.warnln("Could not load locale data skipping.");
+        }
+    }
+}
diff --git a/src/com/ibm/icu/dev/test/collator/CollationTestData.java b/src/com/ibm/icu/dev/test/collator/CollationTestData.java
new file mode 100644
index 0000000..39cf460
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/collator/CollationTestData.java
@@ -0,0 +1,850 @@
+/**
+ *******************************************************************************
+ * Copyright (C) 2001-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.test.collator;
+
+import com.ibm.icu.impl.ICUListResourceBundle;
+
+public class CollationTestData extends ICUListResourceBundle {
+    public CollationTestData() {
+          super.contents = data;
+    }
+    static final Object[][] data = new Object[][] { 
+                {
+                    "Info",
+                    new Object[][]{
+                        {
+                            "Description",
+                            "These are the data driven tests",
+                        },
+                        {
+                            "Headers",
+                            new String[] { 
+                                "sequence",
+
+                            },
+                        },
+                        {
+                            "LongDescription",
+                            "The following entries are separate tests containing" +
+                            " test data for various locales.Each entry has the f" +
+                            "ollowing fields: Info/Description - short descriopt" +
+                            "ion of the testSettings - settings for the test.Set" +
+                            "tings/TestLocale - locale for the collator ORSettin" +
+                            "gs/Rules - rules for the collator (can't have both)" +
+                            "Settings/Arguments - arguments to be passed to the " +
+                            "collator before testing. Use rule syntax.Cases - se" +
+                            "t of test cases, which are sequences of strings tha" +
+                            "t will be parsedSequences must not change the sign " +
+                            "of relation, i.e. we can only have < and = or> and " +
+                            "= in single sequence. Cannot mix < and > in the sam" +
+                            "e sequence. Whitespace isis ignored unless quoted.",
+                        },
+                    },
+                },
+                {
+                    "TestData",
+                    new Object[][]{
+                        {
+                            "TestAlbanian",
+                            new Object[][]{
+                                {
+                                    "Cases",
+                                    new Object[]{
+                                        new Object[]{
+                                            new String[] { 
+                                                "cz<\u00E7<d<dz<dh<e<ez<\u00EB<f" +
+                                                "<gz<gj<h<lz<ll<m<nz<nj<o<rz<rr<" +
+                                                "s<sz<sh<t<tz<th<u<xz<xh<y<zz<zh",
+
+                                            },
+
+                                        },
+
+                                    },
+                                },
+                                {
+                                    "Info",
+                                    new Object[][]{
+                                        {
+                                            "Description",
+                                            "Albanian sort order.",
+                                        },
+                                    },
+                                },
+                                {
+                                    "Settings",
+                                    new Object[]{
+                                        new Object[][]{
+                                            {
+                                                "TestLocale",
+                                                "sq",
+                                            },
+                                        },
+
+                                    },
+                                },
+                            },
+                        },
+                        {
+                            "TestEstonian",
+                            new Object[][]{
+                                {
+                                    "Cases",
+                                    new Object[]{
+                                        new Object[]{
+                                            new String[] { 
+                                                "sy<\u0161<\u0161y<z<zy<\u017E<v" +
+                                                "<w<va<\u00F5<\u00F5y<\u00E4<\u00E4" +
+                                                "y<\u00F6<\u00F6y<\u00FC<\u00FCy" +
+                                                "<x",
+
+                                            },
+
+                                        },
+
+                                    },
+                                },
+                                {
+                                    "Info",
+                                    new Object[][]{
+                                        {
+                                            "Description",
+                                            "Estonian sort order.",
+                                        },
+                                    },
+                                },
+                                {
+                                    "Settings",
+                                    new Object[]{
+                                        new Object[][]{
+                                            {
+                                                "TestLocale",
+                                                "et",
+                                            },
+                                        },
+
+                                    },
+                                },
+                            },
+                        },
+                        {
+                            "TestJavaStyleRule",
+                            new Object[][]{
+                                {
+                                    "Cases",
+                                    new Object[]{
+                                        new Object[]{
+                                            new String[] { 
+                                                "a = equal < z < x < w < b < y"
+
+                                            },
+
+                                        },
+
+                                    },
+                                },
+                                {
+                                    "Info",
+                                    new Object[][]{
+                                        {
+                                            "Description",
+                                            "java.text allows rules to start as " +
+                                            "'<<<x<<<y...' we emulate this by as" +
+                                            "suming a &[first tertiary ignorable" +
+                                            "] in this case.",
+                                        },
+                                    },
+                                },
+                                {
+                                    "Settings",
+                                    new Object[]{
+                                        new Object[][]{
+                                            {
+                                                "Rules",
+                                                "=equal<<<z<<x<<<w<y &[first ter" +
+                                                "tiary ignorable]=a &[first prim" +
+                                                "ary ignorable]=b",
+                                            },
+                                        },
+
+                                    },
+                                },
+                            },
+                        },
+                        {
+                            "TestLatvian",
+                            new Object[][]{
+                                {
+                                    "Cases",
+                                    new Object[]{
+                                        new Object[]{
+                                            new String[] { 
+                                                "cz<\u010D<d<gz<\u0123<h<iz<y<j<" +
+                                                "kz<\u0137<l<lz<\u013C<m<nz<\u0146" +
+                                                "<o<rz<\u0157<s<sz<\u0161<t<zz<\u017E",
+
+                                            },
+
+                                        },
+
+                                    },
+                                },
+                                {
+                                    "Info",
+                                    new Object[][]{
+                                        {
+                                            "Description",
+                                            "Latvian sort order.",
+                                        },
+                                    },
+                                },
+                                {
+                                    "Settings",
+                                    new Object[]{
+                                        new Object[][]{
+                                            {
+                                                "TestLocale",
+                                                "lv",
+                                            },
+                                        },
+
+                                    },
+                                },
+                            },
+                        },
+                        {
+                            "TestLithuanian",
+                            new Object[][]{
+                                {
+                                    "Cases",
+                                    new Object[]{
+                                        new Object[]{
+                                            new String[] { 
+                                                "cz<\u010D<d<iz<y<j<sz<\u0161<t<" +
+                                                "zz<\u017E",
+
+                                            },
+
+                                        },
+
+                                    },
+                                },
+                                {
+                                    "Info",
+                                    new Object[][]{
+                                        {
+                                            "Description",
+                                            "Lithuanian sort order.",
+                                        },
+                                    },
+                                },
+                                {
+                                    "Settings",
+                                    new Object[]{
+                                        new Object[][]{
+                                            {
+                                                "TestLocale",
+                                                "lt",
+                                            },
+                                        },
+
+                                    },
+                                },
+                            },
+                        },
+                        {
+                            "TestNShiftedIgnorable",
+                            new Object[][]{
+                                {
+                                    "Cases",
+                                    new Object[]{
+                                        new Object[]{
+                                            new String[] { 
+                                                "a' 'b<A' 'b<a' '\u0301b<A' '\u0301" +
+                                                "b<a' '\u0300b<A' '\u0300b<a_b<A" +
+                                                "_b<a_\u0301b<A_\u0301b<a_\u0300" +
+                                                "b<A_\u0300b<a\u0301b<A\u0301b<a" +
+                                                "\u0300b<A\u0300b<",
+
+                                            },
+
+                                        },
+
+                                    },
+                                },
+                                {
+                                    "Info",
+                                    new Object[][]{
+                                        {
+                                            "Description",
+                                            "New UCA states that primary ignorab" +
+                                            "les should be completely ignorable " +
+                                            "when following a shifted code point" +
+                                            ".",
+                                        },
+                                    },
+                                },
+                                {
+                                    "Settings",
+                                    new Object[]{
+                                        new Object[][]{
+                                            {
+                                                "Arguments",
+                                                "[alternate non-ignorable][stren" +
+                                                "gth 3]",
+                                            },
+                                            {
+                                                "TestLocale",
+                                                "root",
+                                            },
+                                        },
+
+                                    },
+                                },
+                            },
+                        },
+                        {
+                            "TestSafeSurrogates",
+                            new Object[][]{
+                                {
+                                    "Cases",
+                                    new Object[]{
+                                        new Object[]{
+                                            new String[] { 
+                                                "a<x\uD800\uDC00b",
+
+                                            },
+
+                                        },
+
+                                    },
+                                },
+                                {
+                                    "Info",
+                                    new Object[][]{
+                                        {
+                                            "Description",
+                                            "It turned out that surrogates were " +
+                                            "not skipped properly when iterating" +
+                                            " backwards if they were in the midd" +
+                                            "le of a contraction. This test assu" +
+                                            "res that this is fixed.",
+                                        },
+                                    },
+                                },
+                                {
+                                    "Settings",
+                                    new Object[]{
+                                        new Object[][]{
+                                            {
+                                                "Rules",
+                                                "&a < x\uD800\uDC00b",
+                                            },
+                                        },
+
+                                    },
+                                },
+                            },
+                        },
+                        {
+                            "TestShiftedIgnorable",
+                            new Object[][]{
+                                {
+                                    "Cases",
+                                    new Object[]{
+                                        new Object[]{
+                                            new String[] { 
+                                                "a' 'b=a' '\u0300b=a' '\u0301b<a" +
+                                                "_b=a_\u0300b=a_\u0301b<A' 'b=A'" +
+                                                " '\u0300b=A' '\u0301b<A_b=A_\u0300" +
+                                                "b=A_\u0301b<a\u0301b<A\u0301b<a" +
+                                                "\u0300b<A\u0300b",
+
+                                            },
+
+                                        },
+
+                                    },
+                                },
+                                {
+                                    "Info",
+                                    new Object[][]{
+                                        {
+                                            "Description",
+                                            "New UCA states that primary ignorab" +
+                                            "les should be completely ignorable " +
+                                            "when following a shifted code point" +
+                                            ".",
+                                        },
+                                    },
+                                },
+                                {
+                                    "Settings",
+                                    new Object[]{
+                                        new Object[][]{
+                                            {
+                                                "Arguments",
+                                                "[alternate shifted][strength 4]",
+                                            },
+                                            {
+                                                "TestLocale",
+                                                "root",
+                                            },
+                                        },
+
+                                    },
+                                },
+                            },
+                        },
+                        {
+                            "TestSimplifiedChineseOrder",
+                            new Object[][]{
+                                {
+                                    "Cases",
+                                    new Object[]{
+                                        new Object[]{
+                                            new String[] { 
+                                                "\u5F20<\u5F20\u4E00\u8E3F",
+
+                                            },
+
+                                        },
+
+                                    },
+                                },
+                                {
+                                    "Info",
+                                    new Object[][]{
+                                        {
+                                            "Description",
+                                            "Sorted file has different order.",
+                                        },
+                                    },
+                                },
+                                {
+                                    "Settings",
+                                    new Object[]{
+                                        new Object[][]{
+                                            {
+                                                "Arguments",
+                                                "[normalization on]",
+                                            },
+                                            {
+                                                "TestLocale",
+                                                "root",
+                                            },
+                                        },
+
+                                    },
+                                },
+                            },
+                        },
+                        {
+                            "TestThaiPartialSortKeyProblems",
+                            new Object[][]{
+                                {
+                                    "Cases",
+                                    new Object[]{
+                                        new Object[]{
+                                            new String[] { 
+                                                "\u0E01\u0E01\u0E38\u0E18\u0E20\u0E31" +
+                                                "\u0E13\u0E11\u0E4C<\u0E01\u0E01" +
+                                                "\u0E38\u0E2A\u0E31\u0E19\u0E42\u0E18",
+                                                "\u0E01\u0E07\u0E01\u0E32\u0E23<" +
+                                                "\u0E01\u0E07\u0E42\u0E01\u0E49",
+                                                "\u0E01\u0E23\u0E19\u0E17\u0E32<" +
+                                                "\u0E01\u0E23\u0E19\u0E19\u0E40\u0E0A" +
+                                                "\u0E49\u0E32",
+                                                "\u0E01\u0E23\u0E30\u0E40\u0E08\u0E35" +
+                                                "\u0E22\u0E27<\u0E01\u0E23\u0E30" +
+                                                "\u0E40\u0E08\u0E35\u0E4A\u0E22\u0E27",
+                                                "\u0E01\u0E23\u0E23\u0E40\u0E0A\u0E2D" +
+                                                "<\u0E01\u0E23\u0E23\u0E40\u0E0A" +
+                                                "\u0E49\u0E32",
+
+                                            },
+
+                                        },
+
+                                    },
+                                },
+                                {
+                                    "Info",
+                                    new Object[][]{
+                                        {
+                                            "Description",
+                                            "These are examples of strings that " +
+                                            "caused trouble in partial sort key " +
+                                            "testing.",
+                                        },
+                                    },
+                                },
+                                {
+                                    "Settings",
+                                    new Object[]{
+                                        new Object[][]{
+                                            {
+                                                "TestLocale",
+                                                "th_TH",
+                                            },
+                                        },
+
+                                    },
+                                },
+                            },
+                        },
+                        {
+                            "TestTibetanNormalizedIterativeCrash",
+                            new Object[][]{
+                                {
+                                    "Cases",
+                                    new Object[]{
+                                        new Object[]{
+                                            new String[] { 
+                                                "\u0F71\u0F72\u0F80\u0F71\u0F72<" +
+                                                "\u0F80",
+
+                                            },
+
+                                        },
+
+                                    },
+                                },
+                                {
+                                    "Info",
+                                    new Object[][]{
+                                        {
+                                            "Description",
+                                            "This pretty much crashes.",
+                                        },
+                                    },
+                                },
+                                {
+                                    "Settings",
+                                    new Object[]{
+                                        new Object[][]{
+                                            {
+                                                "TestLocale",
+                                                "root",
+                                            },
+                                        },
+
+                                    },
+                                },
+                            },
+                        },
+                        {
+                            "TestDanishPrimary",
+                            new Object[][]{
+                                {
+                                    "Cases",
+                                    new Object[]{
+                                        new Object[]{
+                                            new String[] { 
+                                                "Lvi<Lwi",
+                                                "L\u00E4vi<L\u00F6wi",
+                                                "L\u00FCbeck=Lybeck",
+
+                                            },
+
+                                        },
+
+                                    },
+                                },
+                                {
+                                    "Info",
+                                    new Object[][]{
+                                        {
+                                            "Description",
+                                            "This test goes through primary stre" +
+                                            "ngth cases",
+                                        },
+                                    },
+                                },
+                                {
+                                    "Settings",
+                                    new Object[]{
+                                        new Object[][]{
+                                            {
+                                                "Arguments",
+                                                "[strength 1]",
+                                            },
+                                            {
+                                                "TestLocale",
+                                                "da",
+                                            },
+                                        },
+
+                                    },
+                                },
+                            },
+                        },
+                        {
+                            "TestDanishTertiary",
+                            new Object[][]{
+                                {
+                                    "Cases",
+                                    new Object[]{
+                                        new Object[]{
+                                            new String[] { 
+                                                "Luc<luck",
+                                                "luck<L\u00FCbeck",
+                                                "L\u00FCbeck>lybeck",
+                                                "L\u00E4vi<L\u00F6we",
+                                                "L\u00F6ww<mast",
+                                                "A/S<ANDRE<ANDR\u00C9<ANDREAS<AS" +
+                                                "<CA<\u00C7A<CB<\u00C7C<D.S.B.<D" +
+                                                "A<\u00D0A<DB<\u00D0C<DSB<DSC<EK" +
+                                                "STRA_ARBEJDE<EKSTRABUD0<H\u00D8" +
+                                                "ST<HAAG<H\u00C5NDBOG<HAANDV\u00C6" +
+                                                "RKSBANKEN<Karl<karl<'NIELS J\u00D8" +
+                                                "RGEN'<NIELS-J\u00D8RGEN<NIELSEN" +
+                                                "<'R\u00C9E, A'<'REE, B'<'R\u00C9" +
+                                                "E, L'<'REE, V'<'SCHYTT, B'<'SCH" +
+                                                "YTT, H'<'SCH\u00DCTT, H'<'SCHYT" +
+                                                "T, L'<'SCH\u00DCTT, M'<SS<\u00DF" +
+                                                "<SSA<'STORE VILDMOSE'<STOREK\u00C6" +
+                                                "R0<'STORM PETERSEN'<STORMLY<THO" +
+                                                "RVALD<THORVARDUR<\u00FEORVAR\u00D0" +
+                                                "UR<THYGESEN<'VESTERG\u00C5RD, A" +
+                                                "'<'VESTERGAARD, A'<'VESTERG\u00C5" +
+                                                "RD, B'<\u00C6BLE<\u00C4BLE<\u00D8" +
+                                                "BERG<\u00D6BERG",
+                                                "andere<chaque<chemin<cote<cot\u00E9" +
+                                                "<c\u00F4te<c\u00F4t\u00E9<\u010D" +
+                                                "u\u010D\u0113t<Czech<hi\u0161a<" +
+                                                "irdisch<lie<lire<llama<l\u00F5u" +
+                                                "g<l\u00F2za<lu\u010D<luck<L\u00FC" +
+                                                "beck<lye<l\u00E4vi<L\u00F6wen<m" +
+                                                "\u00E0\u0161ta<m\u00EEr<myndig<" +
+                                                "M\u00E4nner<m\u00F6chten<pi\u00F1" +
+                                                "a<pint<pylon<\u0161\u00E0ran<sa" +
+                                                "voir<\u0160erb\u016Bra<Sietla<\u015B" +
+                                                "lub<subtle<symbol<s\u00E4mtlich" +
+                                                "<verkehrt<vox<v\u00E4ga<waffle<" +
+                                                "wood<yen<yuan<yucca<\u017Eal<\u017E" +
+                                                "ena<\u017Den\u0113va<zoo0<Zvied" +
+                                                "rija<Z\u00FCrich<zysk0<\u00E4nd" +
+                                                "ere",
+
+                                            },
+
+                                        },
+
+                                    },
+                                },
+                                {
+                                    "Info",
+                                    new Object[][]{
+                                        {
+                                            "Description",
+                                            "This test goes through tertiary str" +
+                                            "ength cases",
+                                        },
+                                    },
+                                },
+                                {
+                                    "Settings",
+                                    new Object[]{
+                                        new Object[][]{
+                                            {
+                                                "Arguments",
+                                                "[strength 3]",
+                                            },
+                                            {
+                                                "TestLocale",
+                                                "da",
+                                            },
+                                        },
+
+                                    },
+                                },
+                            },
+                        },
+                        {
+                            "TestNewHindiRules",
+                            new Object[][]{
+                                {
+                                    "Cases",
+                                    new Object[]{
+                                        new Object[]{
+                                            new String[] { 
+                                                "\u0950<\u0964<\u0965<\u0970<\u0966" +
+                                                "<\u0967<\u0968<\u0969<\u096A<\u096B" +
+                                                "<\u096C<\u096D<\u096E<\u096F<\u0905" +
+                                                "<\u0906<\u0907<\u0908<\u0909<\u090A" +
+                                                "<\u090B<\u0960<\u090C<\u0961<\u090D" +
+                                                "<\u090E<\u090F<\u0910<\u0911<\u0912" +
+                                                "<\u0913<\u0914<\u0915<\u0915\u093C" +
+                                                "=\u0958<\u0915\u0901<\u0915\u0902" +
+                                                "<\u0915\u0903<\u0915\u0951<\u0915" +
+                                                "\u0952<\u0915\u0953<\u0915\u0954" +
+                                                "<\u0915\u093D<\u0915\u094D<\u0915" +
+                                                "\u093E<\u0915\u093F<\u0915\u0940" +
+                                                "<\u0915\u0941<\u0915\u0942<\u0915" +
+                                                "\u0943<\u0915\u0944<\u0915\u0962" +
+                                                "<\u0915\u0963<\u0915\u0945<\u0915" +
+                                                "\u0946<\u0915\u0947<\u0915\u0948" +
+                                                "<\u0915\u0949<\u0915\u094A<\u0915" +
+                                                "\u094B<\u0915\u094C<\u0916<\u0916" +
+                                                "\u093C =\u0959<\u0916\u0901<\u0916" +
+                                                "\u0902<\u0916\u0903<\u0916\u0951" +
+                                                "<\u0916\u0952<\u0916\u0953<\u0916" +
+                                                "\u0954<\u0916\u093D<\u0916\u094D" +
+                                                "<\u0916\u093E<\u0916\u093F<\u0916" +
+                                                "\u0940<\u0916\u0941<\u0916\u0942" +
+                                                "<\u0916\u0943<\u0916\u0944<\u0916" +
+                                                "\u0962<\u0916\u0963<\u0916\u0945" +
+                                                "<\u0916\u0946<\u0916\u0947<\u0916" +
+                                                "\u0948<\u0916\u0949<\u0916\u094A" +
+                                                "<\u0916\u094B<\u0916\u094C<\u0917" +
+                                                "<\u0917\u093C=\u095A<\u0917\u0901" +
+                                                "<\u0917\u0902<\u0917\u0903<\u0917" +
+                                                "\u0951<\u0917\u0952<\u0917\u0953" +
+                                                "<\u0917\u0954<\u0917\u093D<\u0917" +
+                                                "\u094D<\u0917\u093E<\u0917\u093F" +
+                                                "<\u0917\u0940<\u0917\u0941<\u0917" +
+                                                "\u0942<\u0917\u0943<\u0917\u0944" +
+                                                "<\u0917\u0962<\u0917\u0963<\u0917" +
+                                                "\u0945<\u0917\u0946<\u0917\u0947" +
+                                                "<\u0917\u0948<\u0917\u0949<\u0917" +
+                                                "\u094A<\u0917\u094B<\u0917\u094C" +
+                                                "<\u0918<\u0919<\u091A<\u091B<\u091C" +
+                                                "<\u091C\u093C =\u095B<\u091C\u0901" +
+                                                "<\u091C\u0902<\u091C\u0903<\u091C" +
+                                                "\u0951<\u091C\u0952<\u091C\u0953" +
+                                                "<\u091C\u0954<\u091C\u093D<\u091C" +
+                                                "\u094D<\u091C\u093E<\u091C\u093F" +
+                                                "<\u091C\u0940<\u091C\u0941<\u091C" +
+                                                "\u0942<\u091C\u0943<\u091C\u0944" +
+                                                "<\u091C\u0962<\u091C\u0963<\u091C" +
+                                                "\u0945<\u091C\u0946<\u091C\u0947" +
+                                                "<\u091C\u0948<\u091C\u0949<\u091C" +
+                                                "\u094A<\u091C\u094B<\u091C\u094C" +
+                                                "<\u091D<\u091E<\u091F<\u0920<\u0921" +
+                                                "<\u0921\u093C=\u095C<\u0921\u0901" +
+                                                "<\u0921\u0902<\u0921\u0903<\u0921" +
+                                                "\u0951<\u0921\u0952<\u0921\u0953" +
+                                                "<\u0921\u0954<\u0921\u093D<\u0921" +
+                                                "\u094D<\u0921\u093E<\u0921\u093F" +
+                                                "<\u0921\u0940<\u0921\u0941<\u0921" +
+                                                "\u0942<\u0921\u0943<\u0921\u0944" +
+                                                "<\u0921\u0962<\u0921\u0963<\u0921" +
+                                                "\u0945<\u0921\u0946<\u0921\u0947" +
+                                                "<\u0921\u0948<\u0921\u0949<\u0921" +
+                                                "\u094A<\u0921\u094B<\u0921\u094C" +
+                                                "<\u0922<\u0922\u093C=\u095D<\u0922" +
+                                                "\u0901<\u0922\u0902<\u0922\u0903" +
+                                                "<\u0922\u0951<\u0922\u0952<\u0922" +
+                                                "\u0953<\u0922\u0954<\u0922\u093D" +
+                                                "<\u0922\u094D<\u0922\u093E<\u0922" +
+                                                "\u093F<\u0922\u0940<\u0922\u0941" +
+                                                "<\u0922\u0942<\u0922\u0943<\u0922" +
+                                                "\u0944<\u0922\u0962<\u0922\u0963" +
+                                                "<\u0922\u0945<\u0922\u0946<\u0922" +
+                                                "\u0947<\u0922\u0948<\u0922\u0949" +
+                                                "<\u0922\u094A<\u0922\u094B<\u0922" +
+                                                "\u094C<\u0923<\u0924<\u0925<\u0926" +
+                                                "<\u0927<\u0928<\u0928\u093C =\u0929" +
+                                                "< \u0928\u0901<\u0928\u0902< \u0928" +
+                                                "\u0903<\u0928\u0951<\u0928\u0952" +
+                                                "<\u0928\u0953<\u0928\u0954<\u0928" +
+                                                "\u093D<\u0928\u094D<\u0928\u093E" +
+                                                "<\u0928\u093F<\u0928\u0940<\u0928" +
+                                                "\u0941<\u0928\u0942<\u0928\u0943" +
+                                                "<\u0928\u0944<\u0928\u0962<\u0928" +
+                                                "\u0963<\u0928\u0945<\u0928\u0946" +
+                                                "<\u0928\u0947<\u0928\u0948<\u0928" +
+                                                "\u0949<\u0928\u094A<\u0928\u094B" +
+                                                "<\u0928\u094C<\u092A<\u092B<\u092B" +
+                                                "\u093C=\u095E<\u092B\u0901<\u092B" +
+                                                "\u0902<\u092B\u0903<\u092B\u0951" +
+                                                "<\u092B\u0952<\u092B\u0953<\u092B" +
+                                                "\u0954<\u092B\u093D<\u092B\u094D" +
+                                                "<\u092B\u093E<\u092B\u093F<\u092B" +
+                                                "\u0940<\u092B\u0941<\u092B\u0942" +
+                                                "<\u092B\u0943<\u092B\u0944<\u092B" +
+                                                "\u0962<\u092B\u0963<\u092B\u0945" +
+                                                "<\u092B\u0946<\u092B\u0947<\u092B" +
+                                                "\u0948<\u092B\u0949<\u092B\u094A" +
+                                                "<\u092B\u094B<\u092B\u094C<\u092C" +
+                                                "<\u092D<\u092E<\u092F<\u092F\u093C" +
+                                                "=\u095F <\u092F\u0901<\u092F\u0902" +
+                                                "<\u092F\u0903<\u092F\u0951<\u092F" +
+                                                "\u0952<\u092F\u0953<\u092F\u0954" +
+                                                "<\u092F\u093D<\u092F\u094D<\u092F" +
+                                                "\u093E<\u092F\u093F<\u092F\u0940" +
+                                                "<\u092F\u0941<\u092F\u0942<\u092F" +
+                                                "\u0943<\u092F\u0944<\u092F\u0962" +
+                                                "<\u092F\u0963<\u092F\u0945<\u092F" +
+                                                "\u0946<\u092F\u0947<\u092F\u0948" +
+                                                "<\u092F\u0949<\u092F\u094A<\u092F" +
+                                                "\u094B<\u092F\u094C<\u0930<\u0930" +
+                                                "\u093C=\u0931<\u0930\u0901<\u0930" +
+                                                "\u0902<\u0930\u0903<\u0930\u0951" +
+                                                "<\u0930\u0952<\u0930\u0953<\u0930" +
+                                                "\u0954<\u0930\u093D<\u0930\u094D" +
+                                                "<\u0930\u093E<\u0930\u093F<\u0930" +
+                                                "\u0940<\u0930\u0941<\u0930\u0942" +
+                                                "<\u0930\u0943<\u0930\u0944<\u0930" +
+                                                "\u0962<\u0930\u0963<\u0930\u0945" +
+                                                "<\u0930\u0946<\u0930\u0947<\u0930" +
+                                                "\u0948<\u0930\u0949<\u0930\u094A" +
+                                                "<\u0930\u094B<\u0930\u094C<\u0932" +
+                                                "<\u0933<\u0933\u093C=\u0934<\u0933" +
+                                                "\u0901<\u0933\u0902<\u0933\u0903" +
+                                                "<\u0933\u0951<\u0933\u0952<\u0933" +
+                                                "\u0953<\u0933\u0954<\u0933\u093D" +
+                                                "<\u0933\u094D<\u0933\u093E<\u0933" +
+                                                "\u093F<\u0933\u0940<\u0933\u0941" +
+                                                "<\u0933\u0942<\u0933\u0943<\u0933" +
+                                                "\u0944<\u0933\u0962<\u0933\u0963" +
+                                                "<\u0933\u0945<\u0933\u0946<\u0933" +
+                                                "\u0947<\u0933\u0948<\u0933\u0949" +
+                                                "<\u0933\u094A<\u0933\u094B<\u0933" +
+                                                "\u094C<\u0935<\u0936<\u0937<\u0938" +
+                                                "<\u0939<\u093C<\u0901<\u0902<\u0903" +
+                                                "<\u0951<\u0952<\u0953<\u0954<\u093D" +
+                                                "<\u094D<\u093E<\u093F<\u0940<\u0941" +
+                                                "<\u0942<\u0943<\u0944<\u0962<\u0963" +
+                                                "<\u0945<\u0946<\u0947<\u0948<\u0949" +
+                                                "<\u094A<\u094B<\u094C",
+
+                                            },
+
+                                        },
+
+                                    },
+                                },
+                                {
+                                    "Info",
+                                    new Object[][]{
+                                        {
+                                            "Description",
+                                            "This test goes through new rules an" +
+                                            "d tests against old rules",
+                                        },
+                                    },
+                                },
+                                {
+                                    "Settings",
+                                    new Object[]{
+                                        new Object[][]{
+                                            {
+                                                "TestLocale",
+                                                "hi",
+                                            },
+                                        },
+
+                                    },
+                                },
+                            },
+                        },
+                    },
+                },
+    };
+}
diff --git a/src/com/ibm/icu/dev/test/collator/CollationThaiTest.java b/src/com/ibm/icu/dev/test/collator/CollationThaiTest.java
new file mode 100644
index 0000000..c2d472e
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/collator/CollationThaiTest.java
@@ -0,0 +1,355 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2002-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+/** 
+ * Port From:   ICU4C v2.1 : collate/CollationRegressionTest
+ * Source File: $ICU4CRoot/source/test/intltest/regcoll.cpp
+ **/
+ 
+package com.ibm.icu.dev.test.collator;
+
+import com.ibm.icu.dev.test.*;
+import com.ibm.icu.text.*;
+import java.util.Locale;
+import java.util.Comparator;
+import java.util.Arrays;
+import java.io.*;
+
+public class CollationThaiTest extends TestFmwk {
+    
+    final int MAX_FAILURES_TO_SHOW = -1;
+    
+    public static void main(String[] args) throws Exception {
+        new CollationThaiTest().run(args);
+    }
+    
+    /**
+     * Odd corner conditions taken from "How to Sort Thai Without Rewriting Sort",
+     * by Doug Cooper, http://seasrc.th.net/paper/thaisort.zip
+     */
+    public void TestCornerCases() {
+        String TESTS[] = {
+            // Shorter words precede longer
+            "\u0e01",                               "<",    "\u0e01\u0e01",
+    
+            // Tone marks are considered after letters (i.e. are primary ignorable)
+            "\u0e01\u0e32",                        "<",    "\u0e01\u0e49\u0e32",
+    
+            // ditto for other over-marks
+            "\u0e01\u0e32",                        "<",    "\u0e01\u0e32\u0e4c",
+    
+            // commonly used mark-in-context order.
+            // In effect, marks are sorted after each syllable.
+            "\u0e01\u0e32\u0e01\u0e49\u0e32",   "<",    "\u0e01\u0e48\u0e32\u0e01\u0e49\u0e32",
+    
+            // Hyphens and other punctuation follow whitespace but come before letters
+            "\u0e01\u0e32",                        "<",    "\u0e01\u0e32-",
+            "\u0e01\u0e32-",                       "<",    "\u0e01\u0e32\u0e01\u0e32",
+    
+            // Doubler follows an indentical word without the doubler
+            "\u0e01\u0e32",                        "<",    "\u0e01\u0e32\u0e46",
+            "\u0e01\u0e32\u0e46",                 "<",    "\u0e01\u0e32\u0e01\u0e32",
+    
+            // \u0e45 after either \u0e24 or \u0e26 is treated as a single
+            // combining character, similar to "c < ch" in traditional spanish.
+            // TODO: beef up this case
+            "\u0e24\u0e29\u0e35",                 "<",    "\u0e24\u0e45\u0e29\u0e35",
+            "\u0e26\u0e29\u0e35",                 "<",    "\u0e26\u0e45\u0e29\u0e35",
+    
+            // Vowels reorder, should compare \u0e2d and \u0e34
+            "\u0e40\u0e01\u0e2d",                 "<",    "\u0e40\u0e01\u0e34",
+    
+            // Tones are compared after the rest of the word (e.g. primary ignorable)
+            "\u0e01\u0e32\u0e01\u0e48\u0e32",   "<",    "\u0e01\u0e49\u0e32\u0e01\u0e32",
+    
+            // Periods are ignored entirely
+            "\u0e01.\u0e01.",                      "<",    "\u0e01\u0e32",
+        };
+        
+        RuleBasedCollator coll = null;
+        try {
+            coll = getThaiCollator();
+        } catch (Exception e) {
+            warnln("could not construct Thai collator");
+            return;
+        }
+        compareArray(coll, TESTS); 
+    }
+    
+    void compareArray(RuleBasedCollator c, String[] tests) {
+        for (int i = 0; i < tests.length; i += 3) {
+            int expect = 0;
+            if (tests[i+1].equals("<")) {
+                expect = -1;
+            } else if (tests[i+1].equals(">")) {
+                expect = 1;
+            } else if (tests[i+1].equals("=")) {
+                expect = 0;
+            } else {
+                // expect = Integer.decode(tests[i+1]).intValue();
+                errln("Error: unknown operator " + tests[i+1]);
+                return;
+            }
+            String s1 = tests[i];
+            String s2 = tests[i+2];
+            CollationTest.doTest(this, c, s1, s2, expect);
+        }
+    }
+    
+    int sign(int i ) {
+        if (i < 0) return -1;
+        if (i > 0) return 1;
+        return 0;
+    }
+    
+    /**
+     * Read the external dictionary file, which is already in proper
+     * sorted order, and confirm that the collator compares each line as
+     * preceding the following line.
+     */
+    public void TestDictionary() {
+        RuleBasedCollator coll = null;
+        try {
+            coll = getThaiCollator();
+        } catch (Exception e) {
+            warnln("could not construct Thai collator");
+            return;
+        }
+     
+        // Read in a dictionary of Thai words
+        BufferedReader in = null;
+        String fileName = "riwords.txt";
+        try {
+            in = TestUtil.getDataReader(fileName, "UTF-8");
+        } catch (SecurityException e) {
+            warnln("Security exception encountered reading test data file.");
+                   return;
+        } catch (Exception e) {
+            try {
+                if (in != null) {
+                    in.close();
+                }
+            } catch (IOException ioe) {}
+            errln("Error: could not open test file: " + fileName 
+                  + ". Aborting test.");
+            return;        
+        }
+    
+        //
+        // Loop through each word in the dictionary and compare it to the previous
+        // word.  They should be in sorted order.
+        //
+        String lastWord = "";
+        int line = 0;
+        int failed = 0;
+        int wordCount = 0;
+        try {
+        String word = in.readLine();
+        while (word != null) {
+            line++;
+             
+            // Skip comments and blank lines
+            if (word.length() == 0 || word.charAt(0) == 0x23) {
+                word = in.readLine();
+                continue;
+            }
+    
+            // Show the first 8 words being compared, so we can see what's happening
+            ++wordCount;
+            if (wordCount <= 8) {
+                logln("Word " + wordCount + ": " + word);
+            }
+    
+            if (lastWord.length() > 0) {
+                CollationTest.doTest(this, coll, lastWord, word, -1);
+                int result = coll.compare(lastWord, word); 
+        
+                if (result >= 0) {
+                    failed++;
+                    if (MAX_FAILURES_TO_SHOW < 0 || failed <= MAX_FAILURES_TO_SHOW) {
+                        String msg = "--------------------------------------------\n"
+                                    + line
+                                    + " compare(" + lastWord
+                                    + ", " + word + ") returned " + result
+                                    + ", expected -1\n";
+                        CollationKey k1, k2;
+                        try {
+                            k1 = coll.getCollationKey(lastWord);
+                            k2 = coll.getCollationKey(word);
+                        } catch (Exception e) {
+                            errln("Fail: getCollationKey returned ");
+                            return;
+                        }
+                        msg += "key1: " + prettify(k1) + "\n"
+                                    + "key2: " + prettify(k2);
+                        errln(msg);
+                    }
+                }
+            }
+            lastWord = word;
+            word = in.readLine();
+        }
+        } catch (IOException e) {
+            errln("IOException " + e.getMessage());
+        }
+    
+        if (failed != 0) {
+            if (failed > MAX_FAILURES_TO_SHOW) {
+                errln("Too many failures; only the first " +
+                      MAX_FAILURES_TO_SHOW + " failures were shown");
+            }
+            errln("Summary: " + failed + " of " + (line - 1) +
+                  " comparisons failed");
+        }
+    
+        logln("Words checked: " + wordCount);
+    }
+    
+    public void TestInvalidThai() 
+    {
+        String tests[] = { "\u0E44\u0E01\u0E44\u0E01",
+                           "\u0E44\u0E01\u0E01\u0E44",
+                           "\u0E01\u0E44\u0E01\u0E44",
+                           "\u0E01\u0E01\u0E44\u0E44",
+                           "\u0E44\u0E44\u0E01\u0E01",
+                           "\u0E01\u0E44\u0E44\u0E01",
+                         };
+     
+        RuleBasedCollator collator;
+        StrCmp comparator;
+        try {
+            collator = getThaiCollator();
+            comparator = new StrCmp();
+        } catch (Exception e) {
+            warnln("could not construct Thai collator");
+            return;
+        }
+        
+        Arrays.sort(tests, comparator);
+     
+        for (int i = 0; i < tests.length; i ++)
+        {
+            for (int j = i + 1; j < tests.length; j ++) {
+                if (collator.compare(tests[i], tests[j]) > 0) {
+                    // inconsistency ordering found!
+                    errln("Inconsistent ordering between strings " + i 
+                          + " and " + j);
+                }
+            }
+            CollationElementIterator iterator 
+                = collator.getCollationElementIterator(tests[i]);
+            CollationTest.backAndForth(this, iterator);
+        }
+    }
+    
+    public void TestReordering() 
+    {
+        String tests[] = {
+            "\u0E41c\u0301",      "=", "\u0E41\u0107", // composition
+            "\u0E41\uD835\uDFCE", "<", "\u0E41\uD835\uDFCF", // supplementaries
+            "\u0E41\uD834\uDD5F", "=", "\u0E41\uD834\uDD58\uD834\uDD65", // supplementary composition decomps to supplementary
+            "\u0E41\uD87E\uDC02", "=", "\u0E41\u4E41", // supplementary composition decomps to BMP
+            "\u0E41\u0301",       "=", "\u0E41\u0301", // unsafe (just checking backwards iteration)
+            "\u0E41\u0301\u0316", "=", "\u0E41\u0316\u0301",
+
+            "abc\u0E41c\u0301",      "=", "abc\u0E41\u0107", // composition
+            "abc\u0E41\uD834\uDC00", "<", "abc\u0E41\uD834\uDC01", // supplementaries
+            "abc\u0E41\uD834\uDD5F", "=", "abc\u0E41\uD834\uDD58\uD834\uDD65", // supplementary composition decomps to supplementary
+            "abc\u0E41\uD87E\uDC02", "=", "abc\u0E41\u4E41", // supplementary composition decomps to BMP
+            "abc\u0E41\u0301",       "=", "abc\u0E41\u0301", // unsafe (just checking backwards iteration)
+            "abc\u0E41\u0301\u0316", "=", "abc\u0E41\u0316\u0301",
+
+            "\u0E41c\u0301abc",      "=", "\u0E41\u0107abc", // composition
+            "\u0E41\uD834\uDC00abc", "<", "\u0E41\uD834\uDC01abc", // supplementaries
+            "\u0E41\uD834\uDD5Fabc", "=", "\u0E41\uD834\uDD58\uD834\uDD65abc", // supplementary composition decomps to supplementary
+            "\u0E41\uD87E\uDC02abc", "=", "\u0E41\u4E41abc", // supplementary composition decomps to BMP
+            "\u0E41\u0301abc",       "=", "\u0E41\u0301abc", // unsafe (just checking backwards iteration)
+            "\u0E41\u0301\u0316abc", "=", "\u0E41\u0316\u0301abc",
+
+            "abc\u0E41c\u0301abc",      "=", "abc\u0E41\u0107abc", // composition
+            "abc\u0E41\uD834\uDC00abc", "<", "abc\u0E41\uD834\uDC01abc", // supplementaries
+            "abc\u0E41\uD834\uDD5Fabc", "=", "abc\u0E41\uD834\uDD58\uD834\uDD65abc", // supplementary composition decomps to supplementary
+            "abc\u0E41\uD87E\uDC02abc", "=", "abc\u0E41\u4E41abc", // supplementary composition decomps to BMP
+            "abc\u0E41\u0301abc",       "=", "abc\u0E41\u0301abc", // unsafe (just checking backwards iteration)
+            "abc\u0E41\u0301\u0316abc", "=", "abc\u0E41\u0316\u0301abc",
+        };
+
+        RuleBasedCollator collator;
+        try {
+            collator = (RuleBasedCollator)getThaiCollator();
+        } catch (Exception e) {
+            warnln("could not construct Thai collator");
+            return;
+        }
+        compareArray(collator, tests);
+    
+        String rule = "& c < ab";
+        String testcontraction[] = { "\u0E41ab", ">", "\u0E41c"};
+        try {
+            collator = new RuleBasedCollator(rule);
+        } catch (Exception e) {
+            errln("Error: could not construct collator with rule " + rule);
+            return;
+        }
+        compareArray(collator, testcontraction);
+    }
+    
+    
+    
+    
+    
+    
+    
+    
+    
+
+    
+    String prettify(CollationKey sourceKey) {
+        int i;
+        byte[] bytes= sourceKey.toByteArray();
+        String target = "[";
+    
+        for (i = 0; i < bytes.length; i++) {
+            target += Integer.toHexString(bytes[i]);
+            target += " ";
+        }
+        target += "]";
+        return target;
+    }
+    
+    // private inner class -------------------------------------------------
+    
+    private static final class StrCmp implements Comparator 
+    {
+        public int compare(Object string1, Object string2) 
+        {
+            return collator.compare(string1, string2);
+        }
+        
+        StrCmp() throws Exception
+        {
+            collator = getThaiCollator();
+        }
+        
+        Collator collator;
+    }
+    
+    // private data members ------------------------------------------------
+    
+    private static RuleBasedCollator m_collator_;
+    
+    // private methods -----------------------------------------------------
+    
+    private static RuleBasedCollator getThaiCollator() throws Exception
+    {
+        if (m_collator_ == null) {
+            m_collator_ = (RuleBasedCollator)Collator.getInstance(
+                                                new Locale("th", "TH", ""));
+        }
+        return m_collator_;
+    }
+}
diff --git a/src/com/ibm/icu/dev/test/collator/CollationTurkishTest.java b/src/com/ibm/icu/dev/test/collator/CollationTurkishTest.java
new file mode 100644
index 0000000..2b8dd62
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/collator/CollationTurkishTest.java
@@ -0,0 +1,188 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2002-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+/** 
+ * Port From:   ICU4C v2.1 : Collate/CollationTurkishTest
+ * Source File: $ICU4CRoot/source/test/intltest/trcoll.cpp
+ **/
+ 
+package com.ibm.icu.dev.test.collator;
+ 
+import com.ibm.icu.dev.test.*;
+import com.ibm.icu.text.*;
+import java.util.Locale;
+ 
+public class CollationTurkishTest extends TestFmwk{
+    public static void main(String[] args) throws Exception{
+        new CollationTurkishTest().run(args);
+    }
+    
+    private static char[][] testSourceCases = {
+        {0x73, 0x0327},
+        {0x76, 0x00E4, 0x74},
+        {0x6f, 0x6c, 0x64},
+        {0x00FC, 0x6f, 0x69, 0x64},
+        {0x68, 0x011E, 0x61, 0x6c, 0x74},
+        {0x73, 0x74, 0x72, 0x65, 0x73, 0x015E},
+        {0x76, 0x6f, 0x0131, 0x64},
+        {0x69, 0x64, 0x65, 0x61},
+        {0x00FC, 0x6f, 0x69, 0x64},
+        {0x76, 0x6f, 0x0131, 0x64},
+        {0x69, 0x64, 0x65, 0x61}
+    };
+
+    private static char[][] testTargetCases = {
+        {0x75, 0x0308},
+        {0x76, 0x62, 0x74},
+        {0x00D6, 0x61, 0x79},
+        {0x76, 0x6f, 0x69, 0x64},
+        {0x68, 0x61, 0x6c, 0x74},
+        {0x015E, 0x74, 0x72, 0x65, 0x015E, 0x73},
+        {0x76, 0x6f, 0x69, 0x64},
+        {0x49, 0x64, 0x65, 0x61},
+        {0x76, 0x6f, 0x69, 0x64},
+        {0x76, 0x6f, 0x69, 0x64},
+        {0x49, 0x64, 0x65, 0x61}
+    };
+
+    private static int[] results = {
+        -1,
+        -1,
+        -1,
+        -1,
+        1,
+        -1,
+        -1,
+        1,
+    // test priamry > 8
+        -1,
+        -1,
+        1
+    };
+    
+    private Collator myCollation = null;
+    
+    public CollationTurkishTest() {
+
+    }
+    protected void init()throws Exception{
+        myCollation = Collator.getInstance(new Locale("tr", ""));
+    }
+    
+    public void TestTertiary() {
+        int i = 0;
+        myCollation.setStrength(Collator.TERTIARY);
+        for (i = 0; i < 8 ; i++) {
+            doTest(testSourceCases[i], testTargetCases[i], results[i]);
+        }
+    }
+    
+    public void TestPrimary() {
+        int i;
+        myCollation.setStrength(Collator.PRIMARY);
+        for (i = 8; i < 11; i++) {
+            doTest(testSourceCases[i], testTargetCases[i], results[i]);
+        }
+    }
+    
+    
+    // main test routine, tests rules specific to turkish locale
+    private void doTest(char[] source, char[] target, int result) {
+        String s = new String(source);
+        String t = new String(target);
+        int compareResult = myCollation.compare(s, t);
+        CollationKey sortKey1, sortKey2;
+        sortKey1 = myCollation.getCollationKey(s);
+        sortKey2 = myCollation.getCollationKey(t);
+        int keyResult = sortKey1.compareTo(sortKey2);
+        reportCResult(s, t, sortKey1, sortKey2, compareResult, keyResult, compareResult, result);
+        
+    }
+    
+    private void reportCResult( String source, String target, CollationKey sourceKey, CollationKey targetKey,
+                                int compareResult, int keyResult, int incResult, int expectedResult ) {
+        if (expectedResult < -1 || expectedResult > 1) {
+            errln("***** invalid call to reportCResult ****");
+            return;
+        }
+
+        boolean ok1 = (compareResult == expectedResult);
+        boolean ok2 = (keyResult == expectedResult);
+        boolean ok3 = (incResult == expectedResult);
+
+        if (ok1 && ok2 && ok3 && !isVerbose()) {
+            return;    
+        } else {
+            String msg1 = ok1? "Ok: compare(\"" : "FAIL: compare(\"";
+            String msg2 = "\", \"";
+            String msg3 = "\") returned ";
+            String msg4 = "; expected ";
+            
+            String sExpect = new String("");
+            String sResult = new String("");
+            sResult = appendCompareResult(compareResult, sResult);
+            sExpect = appendCompareResult(expectedResult, sExpect);
+            if (ok1) {
+                logln(msg1 + source + msg2 + target + msg3 + sResult);
+            } else {
+                errln(msg1 + source + msg2 + target + msg3 + sResult + msg4 + sExpect);
+            }
+            
+            msg1 = ok2 ? "Ok: key(\"" : "FAIL: key(\"";
+            msg2 = "\").compareTo(key(\"";
+            msg3 = "\")) returned ";
+            sResult = appendCompareResult(keyResult, sResult);
+            if (ok2) {
+                logln(msg1 + source + msg2 + target + msg3 + sResult);
+            } else {
+                errln(msg1 + source + msg2 + target + msg3 + sResult + msg4 + sExpect);
+                msg1 = "  ";
+                msg2 = " vs. ";
+                errln(msg1 + prettify(sourceKey) + msg2 + prettify(targetKey));
+            }
+            
+            msg1 = ok3 ? "Ok: incCompare(\"" : "FAIL: incCompare(\"";
+            msg2 = "\", \"";
+            msg3 = "\") returned ";
+
+            sResult = appendCompareResult(incResult, sResult);
+
+            if (ok3) {
+                logln(msg1 + source + msg2 + target + msg3 + sResult);
+            } else {
+                errln(msg1 + source + msg2 + target + msg3 + sResult + msg4 + sExpect);
+            }                
+        }
+    }
+    
+    private String appendCompareResult(int result, String target) {
+        if (result == -1) {
+            target += "LESS";
+        } else if (result == 0) {
+            target += "EQUAL";
+        } else if (result == 1) {
+            target += "GREATER";
+        } else {
+            String huh = "?";
+            target += huh + result;
+        }
+        return target;
+    }
+    
+    String prettify(CollationKey sourceKey) {
+        int i;
+        byte[] bytes= sourceKey.toByteArray();
+        String target = "[";
+    
+        for (i = 0; i < bytes.length; i++) {
+            target += Integer.toHexString(bytes[i]);
+            target += " ";
+        }
+        target += "]";
+        return target;
+    }
+}
\ No newline at end of file
diff --git a/src/com/ibm/icu/dev/test/collator/G7CollationTest.java b/src/com/ibm/icu/dev/test/collator/G7CollationTest.java
new file mode 100644
index 0000000..49a38b4
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/collator/G7CollationTest.java
@@ -0,0 +1,297 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2002-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+/** 
+ * Port From:   ICU4C v2.1 : Collate/G7CollationTest
+ * Source File: $ICU4CRoot/source/test/intltest/g7coll.cpp
+ **/
+ 
+package com.ibm.icu.dev.test.collator;
+ 
+import com.ibm.icu.dev.test.*;
+import com.ibm.icu.text.*;
+import java.util.Locale;
+ 
+public class G7CollationTest extends TestFmwk{
+    public static void main(String[] args) throws Exception{
+        new G7CollationTest().run(args);
+        // new G7CollationTest().TestDemo3();
+    }
+    
+    private static String[] testCases = {
+        "blackbirds", "Pat", "p\u00E9ch\u00E9", "p\u00EAche", "p\u00E9cher",            
+        "p\u00EAcher", "Tod", "T\u00F6ne", "Tofu", "blackbird", "Ton", 
+        "PAT", "black-bird", "black-birds", "pat", // 14
+        // Additional tests
+        "czar", "churo", "cat", "darn", "?",                                                                                /* 19 */
+        "quick", "#", "&", "a-rdvark", "aardvark",                                                        /* 23 */
+        "abbot", "co-p", "cop", "coop", "zebra"
+    };
+
+    private static int[][] results = {
+        { 12, 13, 9, 0, 14, 1, 11, 2, 3, 4, 5, 6, 8, 10, 7, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31 }, /* en_US */
+        { 12, 13, 9, 0, 14, 1, 11, 2, 3, 4, 5, 6, 8, 10, 7, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31 }, /* en_GB */
+        { 12, 13, 9, 0, 14, 1, 11, 2, 3, 4, 5, 6, 8, 10, 7, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31 }, /* en_CA */
+        { 12, 13, 9, 0, 14, 1, 11, 3, 2, 4, 5, 6, 8, 10, 7, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31 }, /* fr_FR */
+        { 12, 13, 9, 0, 14, 1, 11, 3, 2, 4, 5, 6, 8, 10, 7, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31 }, /* fr_CA */
+        { 12, 13, 9, 0, 14, 1, 11, 2, 3, 4, 5, 6, 8, 10, 7, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31 }, /* de_DE */
+        { 12, 13, 9, 0, 14, 1, 11, 2, 3, 4, 5, 6, 8, 10, 7, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31 }, /* it_IT */
+        { 12, 13, 9, 0, 14, 1, 11, 2, 3, 4, 5, 6, 8, 10, 7, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31 }, /* ja_JP */
+        /* new table collation with rules "& Z < p, P"  loop to FIXEDTESTSET */
+        { 12, 13, 9, 0, 6, 8, 10, 7, 14, 1, 11, 2, 3, 4, 5, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31 }, 
+        /* new table collation with rules "& C < ch , cH, Ch, CH " loop to TOTALTESTSET */
+        { 19, 22, 21, 23, 24, 25, 12, 13, 9, 0, 17, 26, 28, 27, 15, 16, 18, 14, 1, 11, 2, 3, 4, 5, 20, 6, 8, 10, 7, 29 },
+        /* new table collation with rules "& Question-mark ; ? & Hash-mark ; # & Ampersand ; '&'  " loop to TOTALTESTSET */
+        { 23, 24, 25, 22, 12, 13, 9, 0, 17, 16, 26, 28, 27, 15, 18, 21, 14, 1, 11, 2, 3, 4, 5, 19, 20, 6, 8, 10, 7, 29 },
+        /* analogous to Japanese rules " & aa ; a- & ee ; e- & ii ; i- & oo ; o- & uu ; u- " */  /* loop to TOTALTESTSET */
+        { 19, 22, 21, 24, 23, 25, 12, 13, 9, 0, 17, 16, 28, 26, 27, 15, 18, 14, 1, 11, 2, 3, 4, 5, 20, 6, 8, 10, 7, 29 }
+    };
+    
+    //private static final int MAX_TOKEN_LEN = 16;
+    //private static final int TESTLOCALES = 12;
+    private static final int FIXEDTESTSET = 15;
+    private static final int TOTALTESTSET = 30;
+    
+    // perform test with added rules " & Z < p, P"
+    public void TestDemo1() {
+        logln("Demo Test 1 : Create a new table collation with rules \"& Z < p, P\"");
+        
+        Collator col = Collator.getInstance(Locale.ENGLISH);    
+
+        
+        String baseRules = ((RuleBasedCollator)col).getRules();
+        String newRules = " & Z < p, P";
+        newRules = baseRules + newRules; 
+        RuleBasedCollator myCollation = null; 
+        try {
+            myCollation = new RuleBasedCollator(newRules);
+        } catch(Exception e) {
+            errln("Fail to create RuleBasedCollator with rules:" + newRules);
+            return;
+        }
+        
+        if (myCollation == null) {
+            errln("Demo Test 2 Table Collation object creation failed.");
+            return;
+        }
+        
+        int j, n;
+        for (j = 0; j < FIXEDTESTSET; j++) {
+            for (n = j+1; n < FIXEDTESTSET; n++) {
+                doTest(myCollation, testCases[results[8][j]], testCases[results[8][n]], -1);
+            }
+        }
+    }
+    
+
+    // perorm test with added rules "& C < ch , cH, Ch, CH"
+    public void TestDemo2() {
+        logln("Demo Test 2 : Create a new table collation with rules \"& C < ch , cH, Ch, CH\"");
+        Collator col = Collator.getInstance(Locale.ENGLISH);    
+
+
+        String baseRules = ((RuleBasedCollator)col).getRules();
+        String newRules = "& C < ch , cH, Ch, CH";
+        newRules = baseRules + newRules; 
+        RuleBasedCollator myCollation = null; 
+        try {
+            myCollation = new RuleBasedCollator(newRules);
+        }catch(Exception e){
+            errln("Fail to create RuleBasedCollator with rules:" + newRules);
+            return;
+        }  
+
+        int j, n;
+        for (j = 0; j < TOTALTESTSET; j++) {
+            for (n = j+1; n < TOTALTESTSET; n++) {
+                doTest(myCollation, testCases[results[9][j]], testCases[results[9][n]], -1);
+            }
+        }
+    }
+    
+
+    // perform test with added rules 
+    // "& Question'-'mark ; '?' & Hash'-'mark ; '#' & Ampersand ; '&'"
+    public void TestDemo3() {
+        // logln("Demo Test 3 : Create a new table collation with rules \"& Question'-'mark ; '?' & Hash'-'mark ; '#' & Ampersand ; '&'\"");
+        Collator col = Collator.getInstance(Locale.ENGLISH);    
+
+        
+        String baseRules = ((RuleBasedCollator)col).getRules();
+        String newRules = "& Question'-'mark ; '?' & Hash'-'mark ; '#' & Ampersand ; '&'";
+        newRules = baseRules + newRules;
+        RuleBasedCollator myCollation = null; 
+        try {
+            myCollation = new RuleBasedCollator(newRules);
+        }catch(Exception e){
+            errln("Fail to create RuleBasedCollator with rules:" + newRules);
+            return;
+        }  
+
+        int j, n;
+        for (j = 0; j < TOTALTESTSET; j++) {
+            for (n = j+1; n < TOTALTESTSET; n++) {
+                doTest(myCollation, testCases[results[10][j]], testCases[results[10][n]], -1);
+            }
+        }
+    }
+    
+
+    // perform test with added rules 
+    // " & aa ; a'-' & ee ; e'-' & ii ; i'-' & oo ; o'-' & uu ; u'-' "
+    public void TestDemo4() {
+        logln("Demo Test 4 : Create a new table collation with rules \" & aa ; a'-' & ee ; e'-' & ii ; i'-' & oo ; o'-' & uu ; u'-' \"");
+        Collator col = Collator.getInstance(Locale.ENGLISH);    
+
+        String baseRules = ((RuleBasedCollator)col).getRules();
+        String newRules = " & aa ; a'-' & ee ; e'-' & ii ; i'-' & oo ; o'-' & uu ; u'-' ";
+        newRules = baseRules + newRules;
+        RuleBasedCollator myCollation = null; 
+        try {
+            myCollation = new RuleBasedCollator(newRules);
+        }catch(Exception e){
+            errln("Fail to create RuleBasedCollator with rules:" + newRules);
+            return;
+        }  
+
+        int j, n;
+        for (j = 0; j < TOTALTESTSET; j++) {
+            for (n = j+1; n < TOTALTESTSET; n++) {
+                doTest(myCollation, testCases[results[11][j]], testCases[results[11][n]], -1);
+            }
+        }
+    }
+    
+    public void TestG7Data() {
+        Locale locales[] = {
+                Locale.US,
+                Locale.UK,
+                Locale.CANADA,
+                Locale.FRANCE,
+                Locale.CANADA_FRENCH,
+                Locale.GERMANY,
+                Locale.JAPAN,
+                Locale.ITALY
+            };
+        int i = 0, j = 0;
+        for (i = 0; i < locales.length; i++) {
+            Collator myCollation= null;
+            RuleBasedCollator tblColl1 = null;
+            try {
+                myCollation = Collator.getInstance(locales[i]);
+                tblColl1 = new RuleBasedCollator(((RuleBasedCollator)myCollation).getRules());
+            } catch (Exception foo) {
+                warnln("Exception: " + foo.getMessage() +
+                      "; Locale : " + locales[i].getDisplayName() + " getRules failed");
+                continue;
+            }
+            for (j = 0; j < FIXEDTESTSET; j++) {
+                for (int n = j+1; n < FIXEDTESTSET; n++) {
+                    doTest(tblColl1, testCases[results[i][j]], testCases[results[i][n]], -1);
+                }
+            }
+            myCollation = null;
+        }
+    }
+    
+    
+    // main test routine, tests comparisons for a set of strings against sets of expected results
+    private void doTest(Collator myCollation, String source, String target, 
+                        int result){
+        
+        int compareResult = myCollation.compare(source, target);
+        CollationKey sortKey1, sortKey2;
+        sortKey1 = myCollation.getCollationKey(source);
+        sortKey2 = myCollation.getCollationKey(target);
+        int keyResult = sortKey1.compareTo(sortKey2);
+        reportCResult(source, target, sortKey1, sortKey2, compareResult, 
+                      keyResult, compareResult, result);
+    }
+    
+    private void reportCResult( String source, String target, CollationKey sourceKey, CollationKey targetKey,
+                                int compareResult, int keyResult, int incResult, int expectedResult ){
+        if (expectedResult < -1 || expectedResult > 1) {
+            errln("***** invalid call to reportCResult ****");
+            return;
+        }
+
+        boolean ok1 = (compareResult == expectedResult);
+        boolean ok2 = (keyResult == expectedResult);
+        boolean ok3 = (incResult == expectedResult);
+
+        if (ok1 && ok2 && ok3 && !isVerbose()){
+            return;    
+        } else {
+            String msg1 = ok1? "Ok: compare(\"" : "FAIL: compare(\"";
+            String msg2 = "\", \"";
+            String msg3 = "\") returned ";
+            String msg4 = "; expected ";
+            
+            String sExpect = new String("");
+            String sResult = new String("");
+            sResult = appendCompareResult(compareResult, sResult);
+            sExpect = appendCompareResult(expectedResult, sExpect);
+            if (ok1) {
+                logln(msg1 + source + msg2 + target + msg3 + sResult);
+            } else {
+                errln(msg1 + source + msg2 + target + msg3 + sResult + msg4 + sExpect);
+            }
+            
+            msg1 = ok2 ? "Ok: key(\"" : "FAIL: key(\"";
+            msg2 = "\").compareTo(key(\"";
+            msg3 = "\")) returned ";
+            sResult = appendCompareResult(keyResult, sResult);
+            if (ok2) {
+                logln(msg1 + source + msg2 + target + msg3 + sResult);
+            } else {
+                errln(msg1 + source + msg2 + target + msg3 + sResult + msg4 + sExpect);
+                msg1 = "  ";
+                msg2 = " vs. ";
+                errln(msg1 + prettify(sourceKey) + msg2 + prettify(targetKey));
+            }
+            
+            msg1 = ok3 ? "Ok: incCompare(\"" : "FAIL: incCompare(\"";
+            msg2 = "\", \"";
+            msg3 = "\") returned ";
+
+            sResult = appendCompareResult(incResult, sResult);
+
+            if (ok3) {
+                logln(msg1 + source + msg2 + target + msg3 + sResult);
+            } else {
+                errln(msg1 + source + msg2 + target + msg3 + sResult + msg4 + sExpect);
+            }                
+        }
+    }
+    
+    private String appendCompareResult(int result, String target){
+        if (result == -1) {
+            target += "LESS";
+        } else if (result == 0) {
+            target += "EQUAL";
+        } else if (result == 1) {
+            target += "GREATER";
+        } else {
+            String huh = "?";
+            target += huh + result;
+        }
+        return target;
+    }
+    
+   String prettify(CollationKey sourceKey) {
+        int i;
+        byte[] bytes= sourceKey.toByteArray();
+        String target = "[";
+    
+        for (i = 0; i < bytes.length; i++) {
+            target += Integer.toHexString(bytes[i]);
+            target += " ";
+        }
+        target += "]";
+        return target;
+    }
+}
\ No newline at end of file
diff --git a/src/com/ibm/icu/dev/test/collator/LotusCollationKoreanTest.java b/src/com/ibm/icu/dev/test/collator/LotusCollationKoreanTest.java
new file mode 100644
index 0000000..3188d6e
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/collator/LotusCollationKoreanTest.java
@@ -0,0 +1,148 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2002-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+/** 
+ * Port From:   ICU4C v2.1 : Collate/LotusCollationKoreanTest
+ * Source File: $ICU4CRoot/source/test/intltest/lcukocol.cpp
+ **/
+ 
+package com.ibm.icu.dev.test.collator;
+ 
+import com.ibm.icu.dev.test.*;
+import com.ibm.icu.text.*;
+
+import java.util.Locale;
+ 
+public class LotusCollationKoreanTest extends TestFmwk{
+    public static void main(String[] args) throws Exception{
+        new LotusCollationKoreanTest().run(args);
+    }
+    
+    private static char[][] testSourceCases = {
+        {0xac00}
+    };
+    
+    private static char[][] testTargetCases = {
+        {0xac01}
+    };
+    
+    private static int[] results = {
+        -1
+    };
+    
+    private Collator myCollation;
+    
+    public LotusCollationKoreanTest() {
+    }
+    protected void init()throws Exception{
+        myCollation = Collator.getInstance(Locale.KOREAN);
+        myCollation.setDecomposition(Collator.CANONICAL_DECOMPOSITION);
+    }
+    // performs test with strength TERIARY
+    public void TestTertiary() {
+        int i = 0;
+        myCollation.setStrength(Collator.TERTIARY);
+        for (i = 0; i < 1; i++) {
+            doTest(testSourceCases[i], testTargetCases[i], results[i]);
+            }
+        }
+    
+    // main test routine, tests rules specific to "Korean" locale
+    private void doTest( char[] source, char[] target, int result) {
+        String s = new String(source);
+        String t = new String(target);
+        int compareResult = myCollation.compare(s, t);
+        CollationKey sortKey1, sortKey2;
+        sortKey1 = myCollation.getCollationKey(s);
+        sortKey2 = myCollation.getCollationKey(t);
+        int keyResult = sortKey1.compareTo(sortKey2);
+        reportCResult( s, t, sortKey1, sortKey2, compareResult, keyResult, compareResult, result ); 
+    }
+
+    private void reportCResult( String source, String target, CollationKey sourceKey, CollationKey targetKey,
+                                int compareResult, int keyResult, int incResult, int expectedResult ){
+        if (expectedResult < -1 || expectedResult > 1) {
+            errln("***** invalid call to reportCResult ****");
+            return;
+        }
+
+        boolean ok1 = (compareResult == expectedResult);
+        boolean ok2 = (keyResult == expectedResult);
+        boolean ok3 = (incResult == expectedResult);
+
+        if (ok1 && ok2 && ok3 && !isVerbose()) {
+            return;    
+        } else {
+            String msg1 = ok1? "Ok: compare(\"" : "FAIL: compare(\"";
+            String msg2 = "\", \"";
+            String msg3 = "\") returned ";
+            String msg4 = "; expected ";
+            
+            String sExpect = new String("");
+            String sResult = new String("");
+            sResult = appendCompareResult(compareResult, sResult);
+            sExpect = appendCompareResult(expectedResult, sExpect);
+            if (ok1) {
+                logln(msg1 + source + msg2 + target + msg3 + sResult);
+            } else {
+                errln(msg1 + source + msg2 + target + msg3 + sResult + msg4 + sExpect);
+            }
+            
+            msg1 = ok2 ? "Ok: key(\"" : "FAIL: key(\"";
+            msg2 = "\").compareTo(key(\"";
+            msg3 = "\")) returned ";
+            sResult = appendCompareResult(keyResult, sResult);
+            if (ok2) {
+                logln(msg1 + source + msg2 + target + msg3 + sResult);
+            } else {
+                errln(msg1 + source + msg2 + target + msg3 + sResult + msg4 + sExpect);
+                msg1 = "  ";
+                msg2 = " vs. ";
+                errln(msg1 + prettify(sourceKey) + msg2 + prettify(targetKey));
+            }
+            
+            msg1 = ok3 ? "Ok: incCompare(\"" : "FAIL: incCompare(\"";
+            msg2 = "\", \"";
+            msg3 = "\") returned ";
+
+            sResult = appendCompareResult(incResult, sResult);
+
+            if (ok3) {
+                logln(msg1 + source + msg2 + target + msg3 + sResult);
+            } else {
+                errln(msg1 + source + msg2 + target + msg3 + sResult + msg4 + sExpect);
+            }                
+        }
+    }
+    
+    private String appendCompareResult(int result, String target){
+        if (result == -1) {
+            target += "LESS";
+        } else if (result == 0) {
+            target += "EQUAL";
+        } else if (result == 1) {
+            target += "GREATER";
+        } else {
+            String huh = "?";
+            target += huh + result;
+        }
+        return target;
+    }
+    
+    String prettify(CollationKey sourceKey) {
+        int i;
+        byte[] bytes= sourceKey.toByteArray();
+        String target = "[";
+    
+        for (i = 0; i < bytes.length; i++) {
+            target += Integer.toHexString(bytes[i]);
+            target += " ";
+        }
+        target += "]";
+        return target;
+    }
+}
\ No newline at end of file
diff --git a/src/com/ibm/icu/dev/test/collator/RandomCollator.java b/src/com/ibm/icu/dev/test/collator/RandomCollator.java
new file mode 100644
index 0000000..62f0328
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/collator/RandomCollator.java
@@ -0,0 +1,294 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2002-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+ 
+package com.ibm.icu.dev.test.collator;
+
+
+import com.ibm.icu.text.Collator;
+import com.ibm.icu.text.RuleBasedCollator;
+import com.ibm.icu.text.UnicodeSet;
+
+import com.ibm.icu.dev.test.TestFmwk;
+import com.ibm.icu.dev.test.util.BNF;
+import com.ibm.icu.dev.test.util.BagFormatter;
+import com.ibm.icu.dev.test.util.Quoter;
+
+import java.io.File;
+import java.io.IOException;
+import java.io.PrintWriter;
+import java.text.ParseException;
+import java.util.Random;
+
+public class RandomCollator extends TestFmwk {
+    public static void main(String[] args) throws Exception {
+        new RandomCollator().run(args);
+        //new CollationAPITest().TestGetTailoredSet();
+    }
+
+    static final int CONSTRUCT_RANDOM_COUNT = 100;
+    static final int FORMAL_TEST_COUNT = 1000;
+    
+    static final String POSITION = "{$$$}";
+    
+    /*
+    class Shower extends BagFormatter.Shower {
+        public void print(String arg) {
+            log(arg);
+        }
+    }
+    
+    public Shower LOG = new Shower();
+    */
+       
+    public void TestRandom() throws IOException {
+//        int year 
+//        = java.util.Calendar.getInstance().get(java.util.Calendar.YEAR);
+//        if (year < 2004) {
+//            System.out.println("\nTestRandom skipped for 2003");
+//            return;
+//        }
+        if(skipIfBeforeICU(3,4)) return;
+        //String fileName;
+        PrintWriter pw = BagFormatter.openUTF8Writer(System.getProperty("user.dir")+File.separator, "RandomCollationTestLog.txt");
+        TestCollator tc = new TestCollator(chars);
+        pw.println("Collation Test Run");
+        pw.println("Note: For parse-exception, " + POSITION + " indicates the errorOffset");
+        pw.println("Rules:");
+        pw.println(currentRules);
+        String rules = "<unknown>";
+        int sCount = 0;
+        int peCount = 0;
+        int oeCount = 0;
+        for (int i = 0; i < CONSTRUCT_RANDOM_COUNT; ++i) {
+            try {
+                rules = get();
+                if (true) {                   
+                    Collator c = new RuleBasedCollator(rules.toString());
+                    tc.test(c, FORMAL_TEST_COUNT);
+                } else {
+                    pw.println(rules);
+                }
+                logln("ok");
+                sCount++;
+            } catch (ParseException pe) {
+                peCount++;
+                pw.println("========PARSE EXCEPTION======== (" + i + ")");
+                int errorOffset = pe.getErrorOffset();
+                pw.print(rules.substring(0,errorOffset));
+                pw.print(POSITION);
+                pw.println(rules.substring(errorOffset));
+                //pw.println("========ERROR======== (" + i + ")");
+                //pe.printStackTrace(pw);
+                //pw.println("========END======== (" + i + ")");
+                errln("ParseException");
+            } catch (Exception e) {
+                oeCount++;
+                pw.println("========OTHER EXCEPTION======== (" + i + ")");
+                e.printStackTrace(pw);
+                pw.println("========RULES======== (" + i + ")");
+                pw.println(rules);
+                //pw.println("========END======== (" + i + ")");
+                errln("ParseException");
+            }
+        }
+        pw.println("Successful: " + sCount 
+            + ",\tParseException: " + peCount 
+            + ",\tOther Exception: " + oeCount);
+        logln("Successful: " + sCount 
+            + ",\tParseException: " + peCount 
+            + ",\tOther Exception: " + oeCount);
+        pw.close();
+
+    }
+    
+    public static class TestCollator extends TestComparator {
+        BNF rs;
+        
+        TestCollator(UnicodeSet chars) {
+            rs = new BNF(new Random(0), new Quoter.RuleQuoter())
+            .addRules("$root = " + chars + "{1,8};").complete();
+        }
+        
+        public Object newObject(Object c) {
+            return rs.next();
+        }
+    
+        public String format(Object c) {
+            return BagFormatter.hex.transliterate(c.toString());
+        }
+    }
+
+    private BNF bnf;
+    String currentRules = null;
+    UnicodeSet chars;
+    
+    public String get() {
+        return bnf.next();
+    }
+    
+    public RandomCollator() {
+        
+    }
+    protected void init()throws Exception{
+        init(1,10, new UnicodeSet("[AZa-z<\\&\\[\\]]"));
+    }
+    private void init(int minRuleCount, int maxRuleCount, UnicodeSet chars) {
+        this.chars = chars;
+        bnf = new BNF(new Random(0), new Quoter.RuleQuoter())
+        .addSet("$chars", chars)
+        .addRules(collationBNF)
+        .complete();
+    }
+    
+    private static String collationBNF =
+        "$s = ' '? 50%;\r\n" +
+        "$relationList = (" +        "   '<'" +        " | '  <<'" +        " | '  ;'" +
+        " | '    <<<'" +        " | '    ,'" +
+        " | '      ='" +        ");\r\n" +
+        "$alternateOptions = non'-'ignorable | shifted;\r\n" +
+        "$caseFirstOptions = off | upper | lower;\r\n" +
+        "$strengthOptions = '1' | '2' | '3' | '4' | 'I';\r\n" +
+        "$commandList = '['" +        " ( alternate ' ' $alternateOptions" +        " | backwards' 2'" +        " | normalization ' ' $onoff " +        " | caseLevel ' ' $onoff " +        " | hiraganaQ ' ' $onoff" +        " | caseFirst ' ' $caseFirstOptions" +        " | strength ' ' $strengthOptions" +        " ) ']';\r\n" +
+        "$ignorableTypes = (tertiary | secondary | primary) ' ' ignorable;\r\n" +
+        "$allTypes = variable | regular | implicit | trailing | $ignorableTypes;\r\n" +
+        "$onoff = on | off;\r\n" +
+        "$positionList = '[' (first | last) ' ' $allTypes ']';\r\n" +        "$beforeList = '[before ' ('1' | '2' | '3') ']';\r\n" +        "$string = $chars{1,5}~@;\r\n" +
+        "$crlf = '\r\n';\r\n" +
+        "$rel1 = '[variable top]' $s ;\r\n" +
+        "$p1 = ($string $s '|' $s)? 25%;\r\n" +
+        "$p2 = ('\\' $s $string $s)? 25%;\r\n" +
+        "$rel2 = $p1 $string $s $p2;\r\n" +
+        "$relation = $relationList $s ($rel1 | $rel2) $crlf;\r\n" +
+        "$command = $commandList $crlf;\r\n" +
+        "$reset = '&' $s ($beforeList $s)? 10% ($positionList | $string 10%) $crlf;\r\n" +
+        "$mostRules = $command 1% | $reset 5% | $relation 25%;\r\n" +
+        "$root = $command{0,5} $reset $mostRules{1,20};\r\n";
+    
+    
+/*    
+    
+    
+    gc ; C         ; Other                            # Cc | Cf | Cn | Co | Cs
+    gc ; Cc        ; Control
+    gc ; Cf        ; Format
+    gc ; Cn        ; Unassigned
+    gc ; Co        ; Private_Use
+    gc ; Cs        ; Surrogate
+    gc ; L         ; Letter                           # Ll | Lm | Lo | Lt | Lu
+    gc ; LC        ; Cased_Letter                     # Ll | Lt | Lu
+    gc ; Ll        ; Lowercase_Letter
+    gc ; Lm        ; Modifier_Letter
+    gc ; Lo        ; Other_Letter
+    gc ; Lt        ; Titlecase_Letter
+    gc ; Lu        ; Uppercase_Letter
+    gc ; M         ; Mark                             # Mc | Me | Mn
+    gc ; Mc        ; Spacing_Mark
+    gc ; Me        ; Enclosing_Mark
+    gc ; Mn        ; Nonspacing_Mark
+    gc ; N         ; Number                           # Nd | Nl | No
+    gc ; Nd        ; Decimal_Number
+    gc ; Nl        ; Letter_Number
+    gc ; No        ; Other_Number
+    gc ; P         ; Punctuation                      # Pc | Pd | Pe | Pf | Pi | Po | Ps
+    gc ; Pc        ; Connector_Punctuation
+    gc ; Pd        ; Dash_Punctuation
+    gc ; Pe        ; Close_Punctuation
+    gc ; Pf        ; Final_Punctuation
+    gc ; Pi        ; Initial_Punctuation
+    gc ; Po        ; Other_Punctuation
+    gc ; Ps        ; Open_Punctuation
+    gc ; S         ; Symbol                           # Sc | Sk | Sm | So
+    gc ; Sc        ; Currency_Symbol
+    gc ; Sk        ; Modifier_Symbol
+    gc ; Sm        ; Math_Symbol
+    gc ; So        ; Other_Symbol
+    gc ; Z         ; Separator                        # Zl | Zp | Zs
+    gc ; Zl        ; Line_Separator
+    gc ; Zp        ; Paragraph_Separator
+    gc ; Zs        ; Space_Separator
+*/
+
+    /*
+    // each rule can be:
+    // "[" command "]"
+    // "& [" position "]"
+    // "&" before chars
+    // relation "[variable top]"
+    // relation (chars "|")? chars ("/" chars)?
+    // plus, a reset must come before a relation
+    
+    // the following reflects the above rules, plus allows whitespace.
+    Pick chars = Pick.string(1, 5, Pick.codePoint(uSet)); // insert something needing quotes
+    Pick s = Pick.maybe(0.8, Pick.unquoted(" ")).name("Space");    // optional space
+    Pick CRLF = Pick.unquoted("\r\n");
+        
+    Pick rel1 = Pick.and(Pick.unquoted("[variable top]")).and2(s);
+    Pick p1 = Pick.maybe(0.25, Pick.and(chars).and2(s).and2("|").and2(s));
+    Pick p2 = Pick.maybe(0.25, Pick.and("/").and2(s).and2(chars).and2(s));
+    Pick rel2 = Pick.and(p1).and2(chars).and2(s).and2(p2);
+    Pick relation = Pick.and(Pick.or(relationList)).and2(s)
+        .and2(Pick.or(1, rel1).or2(10, rel2))
+        .and2(CRLF).name("Relation");
+            
+    Pick command = Pick.and(Pick.or(commandList)).and2(CRLF).name("Command");
+        
+    Pick reset = Pick.and("&").and2(s)            
+        .and2(0.1, Pick.or(beforeList)).and2(s)            
+        .and2(Pick.or(0.1, Pick.or(positionList)).or2(1.0, chars))
+        .and2(CRLF).name("Reset");
+    Pick rule = Pick.and(Pick.or(1, command).or2(5, reset).or2(25, relation)).name("Rule");
+    Pick rules2 = Pick.and(Pick.repeat(0,5,command))            
+        .and2(reset)            
+        .and2(Pick.repeat(1,20,rule)).name("Rules");
+    rules = Pick.Target.make(rules2);
+   
+   static final String[] relationList = {" <", "  <<", "    <<<", "     =", "  ;", "   ,"};
+    
+    static final String[] commandList = {
+        "[alternate non-ignorable]",        "[alternate shifted]",
+        "[backwards 2]",
+        "[normalization off]",
+        "[normalization on]",
+        "[caseLevel off]",
+        "[caseLevel on]",
+        "[caseFirst off]",
+        "[caseFirst upper]",
+        "[caseFirst lower]",
+        "[strength 1]",
+        "[strength 2]",
+        "[strength 3]",
+        "[strength 4]",
+        "[strength I]",
+        "[hiraganaQ off]",
+        "[hiraganaQ on]"
+    };
+    
+    static final String[] positionList = {
+        "[first tertiary ignorable]",
+        "[last tertiary ignorable]",
+        "[first secondary ignorable]",
+        "[last secondary ignorable]",
+        "[first primary ignorable]",
+        "[last primary ignorable]",
+        "[first variable]",
+        "[last variable]",
+        "[first regular]",
+        "[last regular]",
+        "[first implicit]",
+        "[last implicit]",
+        "[first trailing]",
+        "[last trailing]"
+    };
+    
+    static final String[] beforeList = {
+        "[before 1]", 
+        "[before 2]",
+        "[before 3]"
+    };
+    */
+}
diff --git a/src/com/ibm/icu/dev/test/collator/TestAll.java b/src/com/ibm/icu/dev/test/collator/TestAll.java
new file mode 100644
index 0000000..1a1a14e
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/collator/TestAll.java
@@ -0,0 +1,53 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.test.collator;
+
+import com.ibm.icu.dev.test.TestFmwk.TestGroup;
+
+/**
+ * Top level test used to run all collation and search tests as a batch.
+ */
+public class TestAll extends TestGroup {
+    public static void main(String[] args) {
+        new TestAll().run(args);
+    }
+
+    public TestAll() {
+        super(
+              new String[] {
+                  "CollationTest",
+                  "CollationAPITest",
+                  "CollationCurrencyTest",
+                  //"CollationDanishTest", //Danish is already tested through data driven tests
+                  "CollationDummyTest",
+                  "CollationEnglishTest",
+                  "CollationFinnishTest",
+                  "CollationFrenchTest",
+                  "CollationGermanTest",
+                  "CollationIteratorTest",
+                  "CollationKanaTest",
+                  "CollationMonkeyTest",
+                  "CollationRegressionTest",
+                  "CollationSpanishTest",
+                  "CollationThaiTest",
+                  "CollationTurkishTest",
+                  "G7CollationTest",
+                  "LotusCollationKoreanTest",
+                  "CollationMiscTest",
+                  "CollationChineseTest",
+                  "CollationServiceTest",
+                  "RandomCollator",
+                  "UCAConformanceTest",
+                  // don't test Search API twice!
+                  //"com.ibm.icu.dev.test.search.SearchTest"
+              },
+              "All Collation Tests"
+              );
+    }
+
+    public static final String CLASS_TARGET_NAME = "Collator";
+}
diff --git a/src/com/ibm/icu/dev/test/collator/TestComparator.java b/src/com/ibm/icu/dev/test/collator/TestComparator.java
new file mode 100644
index 0000000..bd3f07a
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/collator/TestComparator.java
@@ -0,0 +1,74 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2002-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+ 
+package com.ibm.icu.dev.test.collator;
+
+import java.util.*;
+
+public class TestComparator {
+
+    // test the symmetry and transitivity
+    public void test(Comparator comp, int count) {
+        Object c = null;
+        Object b = newObject(c);
+        Object a = newObject(b);
+        int compab = comp.compare(a,b);
+        while (--count >= 0) {
+            // rotate old values
+            c = b;
+            b = a;
+            int compbc = compab;
+            
+            // allocate new and get comparisons
+            a = newObject(b);
+            compab = comp.compare(a,b);
+            int compba = comp.compare(b,a);
+            int compac = comp.compare(a,c);
+            
+            // check symmetry
+            if (compab != -compba) {
+                log("Symmetry Failure", new Object[] {a, b});
+            }
+            
+            // check transitivity
+            check(a, b, c,  compab,  compbc,  compac);
+            check(a, c, b,  compab, -compbc,  compab);
+            check(b, a, c, -compab,  compac,  compbc);
+            check(b, c, a,  compbc, -compac, -compab);
+            check(c, a, b, -compac,  compab, -compbc);
+            check(c, b, a, -compbc, -compab, -compac);
+        }
+    }
+    
+    private void check(Object a, Object b, Object c, 
+      int compab, int compbc, int compac) {
+        if (compab <= 0 && compbc <= 0 && !(compac <= 0)) {
+            log("Transitivity Failure", new Object[] {a, b, c});             
+        }
+    }
+   
+    public Object newObject(Object c) {
+        // return a new object
+        return "";
+    }
+    
+    public String format(Object c) {
+        // return a new object
+        return c.toString();
+    }
+    
+    public void log(String title, Object[] arguments) {
+        String result = title + ": [";
+        for (int i = 0; i < arguments.length; ++i) {
+            if (i != 0) result += ", ";
+            result += format(arguments[i]);
+        }
+        result += "]";
+        throw new RuntimeException(result);
+    }
+}
\ No newline at end of file
diff --git a/src/com/ibm/icu/dev/test/collator/UCAConformanceTest.java b/src/com/ibm/icu/dev/test/collator/UCAConformanceTest.java
new file mode 100644
index 0000000..5a409c6
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/collator/UCAConformanceTest.java
@@ -0,0 +1,244 @@
+/********************************************************************
+ * COPYRIGHT: 
+ * Copyright (c) 2002-2005, International Business Machines Corporation and
+ * others. All Rights Reserved.
+ ********************************************************************/
+
+/**
+ * UCAConformanceTest performs conformance tests defined in the data
+ * files. ICU ships with stub data files, as the whole test are too 
+ * long. To do the whole test, download the test files.
+ */
+
+package com.ibm.icu.dev.test.collator;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.util.Locale;
+
+import com.ibm.icu.dev.test.TestFmwk;
+import com.ibm.icu.dev.test.TestUtil;
+import com.ibm.icu.text.CollationKey;
+import com.ibm.icu.text.Collator;
+import com.ibm.icu.text.RuleBasedCollator;
+import com.ibm.icu.text.UTF16;
+
+public class UCAConformanceTest extends TestFmwk {
+    
+    /**
+     * @param args
+     */
+    public static void main(String[] args) {
+        new UCAConformanceTest().run(args);
+    }
+    
+    public UCAConformanceTest() {
+    }
+    protected void init()throws Exception{
+        UCA = (RuleBasedCollator)Collator.getInstance(
+                new Locale("root", "", ""));
+
+        comparer = new UTF16.StringComparator(true, false, UTF16.StringComparator.FOLD_CASE_DEFAULT);
+    }
+    RuleBasedCollator UCA;
+    RuleBasedCollator rbUCA;
+    UTF16.StringComparator comparer;
+    
+    public void TestTableNonIgnorable() {
+        setCollNonIgnorable(UCA);
+        openTestFile("NON_IGNORABLE");
+        conformanceTest(UCA);
+    }
+    
+    public void TestTableShifted() {
+        setCollShifted(UCA);
+        openTestFile("SHIFTED");
+        conformanceTest(UCA);
+    }
+    
+    public void TestRulesNonIgnorable() {
+        initRbUCA();
+        
+        setCollNonIgnorable(rbUCA);
+        openTestFile("NON_IGNORABLE");
+        conformanceTest(rbUCA);
+    }
+    
+    public void TestRulesShifted() {
+        logln("This test is currently disabled, as it is impossible to "+
+        "wholly represent fractional UCA using tailoring rules.");
+        return;
+        /*        initRbUCA();
+         
+         if(U_SUCCESS(status)) {
+         setCollShifted(rbUCA);
+         openTestFile("SHIFTED");
+         testConformance(rbUCA);
+         }
+         */
+    }
+    BufferedReader in;
+    private void openTestFile(String type)
+    {
+        String collationTest = "CollationTest_";
+        String ext = ".txt";
+        StringBuffer name;
+        try {
+            if(in != null) {
+                in.close();
+            }
+        } catch (Exception e) {
+            errln("Could not close the opened file!");
+            return;
+        }
+        try {
+            in = TestUtil.getDataReader(collationTest+type+ext);
+        } catch (Exception e) {
+            try {
+                in = TestUtil.getDataReader(collationTest+type+"_SHORT"+ext);
+            } catch (Exception e1) {
+                try {
+                    in = TestUtil.getDataReader(collationTest+type+"_STUB"+ext);
+                    logln( "INFO: Working with the stub file.\n"+
+                            "If you need the full conformance test, please\n"+
+                            "download the appropriate data files from:\n"+
+                    "http://oss.software.ibm.com/cvs/icu4j/unicodetools/com/ibm/text/data/");
+                } catch (Exception e11) {
+                    errln("ERROR: Could not find any of the test files");
+                }
+            }
+        }
+    }          
+    
+    private void setCollNonIgnorable(RuleBasedCollator coll) 
+    {
+        if(coll != null) {
+            coll.setDecomposition(RuleBasedCollator.CANONICAL_DECOMPOSITION);
+            coll.setLowerCaseFirst(false);
+            coll.setCaseLevel(false);
+            coll.setStrength(RuleBasedCollator.TERTIARY);
+            coll.setAlternateHandlingShifted(false);
+        }
+    }
+    
+    private void setCollShifted(RuleBasedCollator coll) 
+    {
+        if(coll != null) {
+            coll.setDecomposition(RuleBasedCollator.CANONICAL_DECOMPOSITION);
+            coll.setLowerCaseFirst(false);
+            coll.setCaseLevel(false);
+            coll.setStrength(RuleBasedCollator.QUATERNARY);
+            coll.setAlternateHandlingShifted(true);
+        }
+    }
+    
+    
+    
+    private void initRbUCA() 
+    {
+        /*      if(!rbUCA) {
+         UParseError parseError;
+         UChar      *ucarules = buffer;
+         int32_t size = ucol_getRulesEx(UCA, UCOL_FULL_RULES, ucarules, 
+         BUFFER_SIZE_);
+         if (size > BUFFER_SIZE_) {
+         ucarules = (UChar *)malloc(size * sizeof(UChar));
+         size = ucol_getRulesEx(UCA, UCOL_FULL_RULES, ucarules, size);
+         }
+         rbUCA = ucol_openRules(ucarules, size, UCOL_DEFAULT, UCOL_TERTIARY, 
+         &parseError, &status);
+         if (U_FAILURE(status)) {
+         errln("Failure creating UCA rule-based collator: %s", u_errorName(status));
+         return;
+         }
+         }
+         */
+    }
+    
+    private String parseString(String line) {
+        int i = 0, value;
+        StringBuffer result = new StringBuffer(), buffer = new StringBuffer();
+        
+        for(;;) {
+            while(Character.isWhitespace(line.charAt(i))) {
+                i++;
+            }
+            if(line.charAt(i) == ';' || i == line.length()) {
+                return result.toString();
+            }
+            while(Character.isLetterOrDigit(line.charAt(i))) {
+                buffer.append(line.charAt(i));
+                i++;
+            }
+            /* read one code point */
+            value = Integer.parseInt(buffer.toString(), 16);
+            buffer.delete(0, buffer.length());
+            
+            UTF16.append(result, value);
+        }
+        
+    }
+    private void conformanceTest(RuleBasedCollator coll) {
+        if(in == null || coll == null) {
+            return;
+        }
+        
+        int lineNo = 0;
+        
+        String line = null, oldLine = null, buffer = null, oldB = null;
+        CollationKey oldSk = null, newSk = null;
+        
+        int res = 0, cmpres = 0, cmpres2 = 0;
+        
+        try {
+            while ((line = in.readLine()) != null) {
+                lineNo++;
+                if(line.length() < 3 || line.charAt(0) == '#') {
+                    continue;
+                }
+                buffer = parseString(line);
+                
+                newSk = coll.getCollationKey(buffer);
+                if(oldSk != null) {
+                    res = oldSk.compareTo(newSk);
+                    cmpres = coll.compare(oldB, buffer);
+                    cmpres2 = coll.compare(buffer, oldB);
+                    
+                    if(cmpres != -cmpres2) {
+                        errln("Compare result not symmetrical on line "+lineNo);
+                    }
+                    if(((res&0x80000000) != (cmpres&0x80000000)) || (res == 0 && cmpres != 0) || (res != 0 && cmpres == 0)) {
+                        errln("Difference between ucol_strcoll and sortkey compare on line " + lineNo);
+                        logln(oldLine);
+                        logln(line);
+                    }
+                    
+                    if(res > 0) {
+                        errln("Line " + lineNo + " is not greater or equal than previous line");
+                        logln(oldLine);
+                        logln(line);
+                        cmpres = coll.compare(oldB, buffer);
+                    } else if(res == 0) {  // equal 
+                        res = comparer.compare(oldB, buffer);
+                        if (res == 0) {
+                            errln("Probable error in test file on line " + lineNo +" (comparing identical strings)");
+                            logln(oldLine);
+                            logln(line);
+                        } else if (res > 0) {
+                            errln("Sortkeys are identical, but code point comapare gives >0 on line " + lineNo);
+                            logln(oldLine);
+                            logln(line);
+                        }
+                    }
+                }
+                
+                oldSk = newSk;
+                oldB = buffer;
+                oldLine = line;
+            }
+        } catch (Exception e) {
+            errln("Unexpected exception "+e);
+        }
+    }
+    
+}
diff --git a/src/com/ibm/icu/dev/test/compression/DecompressionTest.java b/src/com/ibm/icu/dev/test/compression/DecompressionTest.java
new file mode 100755
index 0000000..913ceae
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/compression/DecompressionTest.java
@@ -0,0 +1,123 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.test.compression;
+
+import com.ibm.icu.text.UnicodeDecompressor;
+import com.ibm.icu.dev.test.TestFmwk;
+
+public class DecompressionTest extends TestFmwk {
+    public static void main(String[] args) throws Exception {
+        new DecompressionTest().run(args);
+    }
+
+    /** Print out a segment of a character array, if in verbose mode */
+    private void log(char [] chars, int start, int count) {
+        log("|");
+        for(int i = start; i < start + count; ++i) {
+            log(String.valueOf(chars[i]));
+        }
+        log("|");
+    }
+
+    /** Print out a segment of a character array, followed by a newline */
+    private void logln(char [] chars, int start, int count)
+    {
+        log(chars, start, count);
+        logln("");
+    }
+
+    /** Decompress the two segments */
+    private String decompressTest(byte [] segment1, byte [] segment2) {
+        StringBuffer s = new StringBuffer();
+        UnicodeDecompressor myDecompressor = new UnicodeDecompressor();
+
+        int [] bytesRead = new int[1];
+        char [] charBuffer = new char [2*(segment1.length + segment2.length)];
+        int count1 = 0, count2 = 0;
+
+        count1 = myDecompressor.decompress(segment1, 0, segment1.length,
+                                           bytesRead,
+                                           charBuffer, 0, charBuffer.length);
+        
+        logln("Segment 1 (" + segment1.length + " bytes) " +
+                "decompressed into " + count1  + " chars");
+        logln("Bytes consumed: " + bytesRead[0]);
+
+        logln("Got chars: ");
+        logln(charBuffer, 0, count1);
+        s.append(charBuffer, 0, count1);
+
+        count2 = myDecompressor.decompress(segment2, 0, segment2.length,
+                                           bytesRead,
+                                           charBuffer, count1, 
+                                           charBuffer.length);
+        
+        logln("Segment 2 (" + segment2.length + " bytes) " +
+                "decompressed into " + count2  + " chars");
+        logln("Bytes consumed: " + bytesRead[0]);
+
+        logln("Got chars: ");
+        logln(charBuffer, count1, count2);
+        
+        s.append(charBuffer, count1, count2);
+
+        logln("Result: ");
+        logln(charBuffer, 0, count1 + count2);
+        logln("====================");
+
+        return s.toString();
+    }
+
+
+    public void testDecompression() throws Exception {
+        String result;
+
+        // compressed segment breaking on a define window sequence
+        /*                   B     o     o     t     h     SD1  */
+        byte [] segment1 = { 0x42, 0x6f, 0x6f, 0x74, 0x68, 0x19 };
+
+        // continuation
+        /*                   IDX   ,           S     .          */
+        byte [] segment2 = { 0x01, 0x2c, 0x20, 0x53, 0x2e };
+        
+        result = decompressTest(segment1, segment2);
+        if(! result.equals("Booth, S.")) {
+            errln("Decompression test failed");
+            return;
+        }
+
+        // compressed segment breaking on a quote unicode sequence
+        /*                   B     o     o     t     SQU        */
+        byte [] segment3 = { 0x42, 0x6f, 0x6f, 0x74, 0x0e, 0x00 };
+
+        // continuation
+        /*                   h     ,           S     .          */
+        byte [] segment4 = { 0x68, 0x2c, 0x20, 0x53, 0x2e };
+
+        result = decompressTest(segment3, segment4);
+        if(! result.equals("Booth, S.")) {
+            errln("Decompression test failed");
+            return;
+        }
+
+
+        // compressed segment breaking on a quote unicode sequence
+        /*                   SCU   UQU                         */
+        byte [] segment5 = { 0x0f, (byte)0xf0, 0x00 };
+
+        // continuation
+        /*                   B                                 */
+        byte [] segment6 = { 0x42 };
+
+        result = decompressTest(segment5, segment6);
+        if(! result.equals("B")) {
+            errln("Decompression test failed");
+            return;
+        }
+    }
+
+}
diff --git a/src/com/ibm/icu/dev/test/compression/ExhaustiveTest.java b/src/com/ibm/icu/dev/test/compression/ExhaustiveTest.java
new file mode 100755
index 0000000..5d70db9
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/compression/ExhaustiveTest.java
@@ -0,0 +1,523 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.test.compression;
+
+import com.ibm.icu.text.UnicodeCompressor;
+import com.ibm.icu.text.UnicodeDecompressor;
+import java.util.Random;
+import com.ibm.icu.dev.test.TestFmwk;
+
+public class ExhaustiveTest extends TestFmwk {
+    public static void main(String args[]) throws Exception {
+        new ExhaustiveTest().run(args);
+    }
+
+    /** Test simple compress/decompress API, returning # of errors */
+    public void testSimple() throws Exception {
+        for(int i = 0; i < fTestCases.length; i++) {
+            simpleTest(fTestCases[i]);
+        }
+    }
+    private void simpleTest(String s) throws Exception {
+        byte [] compressed = UnicodeCompressor.compress(s);
+        String res = UnicodeDecompressor.decompress(compressed);
+        if (logDiffs(s.toCharArray(), s.length(), 
+                res.toCharArray(), res.length()) == false) {
+            logln(s.length() + " chars ===> " 
+                    + compressed.length + " bytes ===> " 
+                    + res.length() + " chars");
+        } else {
+            logln("Compressed:");
+            printBytes(compressed, compressed.length);
+            errln("testSimple did not compress correctly");
+        }
+    }
+
+    /** Test iterative compress/decompress API, returning # of errors */
+    public void testIterative() throws Exception {
+        for(int i = 0; i < fTestCases.length; i++) {
+            myTest(fTestCases[i].toCharArray(), fTestCases[i].length());
+        }
+    }
+    private void myTest(char[] chars, int len) {
+        UnicodeCompressor myCompressor = new UnicodeCompressor();
+        UnicodeDecompressor myDecompressor = new UnicodeDecompressor();
+        
+        // variables for my compressor
+        int myByteCount = 0;
+        int myCharCount = 0;
+        int myCompressedSize = Math.max(512, 3*len);
+        byte[] myCompressed = new byte[myCompressedSize];
+        int myDecompressedSize = Math.max(2, 2 * len);
+        char[] myDecompressed = new char[myDecompressedSize];
+        int[] unicharsRead = new int[1];
+        int[] bytesRead = new int[1];
+        
+        myByteCount = myCompressor.compress(chars, 0, len, unicharsRead,
+                myCompressed, 0, myCompressedSize);
+
+        myCharCount = myDecompressor.decompress(myCompressed, 0, myByteCount,
+                bytesRead, myDecompressed, 0, myDecompressedSize);
+
+        if (logDiffs(chars, len, myDecompressed, myCharCount) == false) {
+            logln(len + " chars ===> " 
+                    + myByteCount + " bytes ===> " 
+                    + myCharCount + " chars");
+        } else {
+            logln("Compressed:");
+            printBytes(myCompressed, myByteCount);
+            errln("Iterative test failed");
+        }
+    }
+
+    /** Test iterative compress/decompress API */
+    public void testMultipass() throws Exception {
+        for(int i = 0; i < fTestCases.length; i++) {
+            myMultipassTest(fTestCases[i].toCharArray(), fTestCases[i].length());
+        }
+    }
+    private void myMultipassTest(char [] chars, int len) throws Exception {
+        UnicodeCompressor myCompressor = new UnicodeCompressor();
+        UnicodeDecompressor myDecompressor = new UnicodeDecompressor();
+        
+        // variables for my compressor
+        
+        // for looping
+        int byteBufferSize = 4;//Math.max(4, len / 4);
+        byte[] byteBuffer = new byte [byteBufferSize];
+        // real target
+        int compressedSize = Math.max(512, 3 * len);
+        byte[] compressed = new byte[compressedSize];
+
+        // for looping
+        int unicharBufferSize = 2;//byteBufferSize;
+        char[] unicharBuffer = new char[unicharBufferSize];
+        // real target
+        int decompressedSize = Math.max(2, 2 * len);
+        char[] decompressed = new char[decompressedSize];
+
+        int bytesWritten = 0;
+        int unicharsWritten = 0;
+
+        int[] unicharsRead = new int[1];
+        int[] bytesRead = new int[1];
+        
+        int totalCharsCompressed = 0;
+        int totalBytesWritten = 0;
+
+        int totalBytesDecompressed  = 0;
+        int totalCharsWritten = 0;
+
+        // not used boolean err = false;
+
+
+        // perform the compression in a loop
+        do {
+            
+            // do the compression
+            bytesWritten = myCompressor.compress(chars, totalCharsCompressed, 
+                   len, unicharsRead, byteBuffer, 0, byteBufferSize);
+
+            // copy the current set of bytes into the target buffer
+            System.arraycopy(byteBuffer, 0, compressed, 
+                   totalBytesWritten, bytesWritten);
+            
+            // update the no. of characters compressed
+            totalCharsCompressed += unicharsRead[0];
+            
+            // update the no. of bytes written
+            totalBytesWritten += bytesWritten;
+            
+            /*System.out.logln("Compression pass complete.  Compressed "
+                               + unicharsRead[0] + " chars into "
+                               + bytesWritten + " bytes.");*/
+        } while(totalCharsCompressed < len);
+
+        if (totalCharsCompressed != len) {
+            errln("ERROR: Number of characters compressed("
+                    + totalCharsCompressed + ") != len(" + len + ")");
+        } else {
+            logln("MP: " + len + " chars ===> " + totalBytesWritten + " bytes.");
+        }
+        
+        // perform the decompression in a loop
+        do {
+            
+            // do the decompression
+            unicharsWritten = myDecompressor.decompress(compressed, 
+                    totalBytesDecompressed, totalBytesWritten, 
+                    bytesRead, unicharBuffer, 0, unicharBufferSize);
+
+            // copy the current set of chars into the target buffer
+            System.arraycopy(unicharBuffer, 0, decompressed, 
+                    totalCharsWritten, unicharsWritten);
+            
+            // update the no. of bytes decompressed
+            totalBytesDecompressed += bytesRead[0];
+            
+            // update the no. of chars written
+            totalCharsWritten += unicharsWritten;
+            
+            /*System.out.logln("Decompression pass complete.  Decompressed "
+                               + bytesRead[0] + " bytes into "
+                               + unicharsWritten + " chars.");*/
+        } while (totalBytesDecompressed < totalBytesWritten);
+
+        if (totalBytesDecompressed != totalBytesWritten) {
+            errln("ERROR: Number of bytes decompressed(" 
+                    + totalBytesDecompressed 
+                    + ") != totalBytesWritten(" 
+                    + totalBytesWritten + ")");
+        } else {
+            logln("MP: " + totalBytesWritten
+                    + " bytes ===> " + totalCharsWritten + " chars.");
+        }
+        
+        if (logDiffs(chars, len, decompressed, totalCharsWritten)) {
+            errln("ERROR: buffer contents incorrect");
+        }
+    }
+
+    /** Print differences between two character buffers */
+    private boolean logDiffs(char[] s1, int s1len, char[] s2, int s2len) {
+        boolean result  = false;
+        
+        if(s1len != s2len) {
+            logln("====================");
+            logln("Length doesn't match: expected " + s1len
+                               + ", got " + s2len);
+            logln("Expected:");
+            printChars(s1, s1len);
+            logln("Got:");
+            printChars(s2, s2len);
+            result = true;
+        }
+        
+        int len = Math.min(s1len, s2len);
+        for(int i = 0; i < len; ++i) {
+            if(s1[i] != s2[i]) {
+                if(result == false) {
+                    logln("====================");
+                }
+                logln("First difference at char " + i);
+                logln("Exp. char: " + Integer.toHexString(s1[i]));
+                logln("Got char : " + Integer.toHexString(s2[i]));
+                logln("Expected:");
+                printChars(s1, s1len);
+                logln("Got:");
+                printChars(s2, s2len);
+                result = true;
+                break;
+            }
+        }
+    
+        return result;
+    }
+
+    // generate a string of characters, with simulated runs of characters
+    private static char[] randomChars(int len, Random random) {
+        char[] result = new char [len];
+        int runLen = 0;
+        int used = 0;
+        
+        while(used < len) {
+            runLen = (int) (30 * random.nextDouble());
+            if(used + runLen >= len) {
+                runLen = len - used;
+            }
+            randomRun(result, used, runLen, random);
+            used += runLen;
+        }
+    
+        return result;
+    }
+
+    // generate a run of characters in a "window"
+    private static void randomRun(char[] target, int pos, int len, Random random) {
+        int offset = (int) (0xFFFF * random.nextDouble());
+
+        // don't overflow 16 bits
+        if(offset > 0xFF80) {
+            offset = 0xFF80;
+        }
+
+        for(int i = pos; i < pos + len; i++) {
+            target[i] = (char)(offset + (0x7F * random.nextDouble()));
+        }
+    }
+
+    private static final String [] fTestCases = {
+        "Hello \u9292 \u9192 World!",
+        "Hell\u0429o \u9292 \u9192 W\u0084rld!",
+        "Hell\u0429o \u9292 \u9292W\u0084rld!",
+
+        "\u0648\u06c8", // catch missing reset
+        "\u0648\u06c8",
+
+        "\u4444\uE001", // lowest quotable
+        "\u4444\uf2FF", // highest quotable
+        "\u4444\uf188\u4444",
+        "\u4444\uf188\uf288",
+        "\u4444\uf188abc\0429\uf288",
+        "\u9292\u2222",
+        "Hell\u0429\u04230o \u9292 \u9292W\u0084\u0192rld!",
+        "Hell\u0429o \u9292 \u9292W\u0084rld!",
+        "Hello World!123456",
+        "Hello W\u0081\u011f\u0082!", // Latin 1 run
+
+        "abc\u0301\u0302",  // uses SQn for u301 u302
+        "abc\u4411d",      // uses SQU
+        "abc\u4411\u4412d",// uses SCU
+        "abc\u0401\u0402\u047f\u00a5\u0405", // uses SQn for ua5
+        "\u9191\u9191\u3041\u9191\u3041\u3041\u3000", // SJIS like data
+        "\u9292\u2222",
+        "\u9191\u9191\u3041\u9191\u3041\u3041\u3000",
+        "\u9999\u3051\u300c\u9999\u9999\u3060\u9999\u3065\u3065\u3065\u300c",
+        "\u3000\u266a\u30ea\u30f3\u30b4\u53ef\u611b\u3044\u3084\u53ef\u611b\u3044\u3084\u30ea\u30f3\u30b4\u3002",
+
+        "", // empty input
+        "\u0000", // smallest BMP character
+        "\uFFFF", // largest BMP character
+
+        "\ud800\udc00", // smallest surrogate
+        "\ud8ff\udcff", // largest surrogate pair
+        
+        // regression tests
+        "\u6441\ub413\ua733\uf8fe\ueedb\u587f\u195f\u4899\uf23d\u49fd\u0aac\u5792\ufc22\ufc3c\ufc46\u00aa",
+        "\u30f9\u8321\u05e5\u181c\ud72b\u2019\u99c9\u2f2f\uc10c\u82e1\u2c4d\u1ebc\u6013\u66dc\ubbde\u94a5\u4726\u74af\u3083\u55b9\u000c",
+        "\u0041\u00df\u0401\u015f",
+        "\u9066\u2123abc",
+        "\ud266\u43d7\\\ue386\uc9c0\u4a6b\u9222\u901f\u7410\ua63f\u539b\u9596\u482e\u9d47\ucfe4\u7b71\uc280\uf26a\u982f\u862a\u4edd\uf513\ufda6\u869d\u2ee0\ua216\u3ff6\u3c70\u89c0\u9576\ud5ec\ubfda\u6cca\u5bb3\ubcea\u554c\u914e\ufa4a\uede3\u2990\ud2f5\u2729\u5141\u0f26\uccd8\u5413\ud196\ubbe2\u51b9\u9b48\u0dc8\u2195\u21a2\u21e9\u00e4\u9d92\u0bc0\u06c5",
+        "\uf95b\u2458\u2468\u0e20\uf51b\ue36e\ubfc1\u0080\u02dd\uf1b5\u0cf3\u6059\u7489"
+
+    };
+
+    //==========================
+    // Compression modes
+    //==========================
+    private final static int SINGLEBYTEMODE                 = 0;
+    private final static int UNICODEMODE                        = 1;
+    
+    //==========================
+    // Single-byte mode tags
+    //==========================
+    private final static int SDEFINEX                   = 0x0B;
+    private final static int SRESERVED                  = 0x0C;             // this is a reserved value
+    private final static int SQUOTEU                    = 0x0E;
+    private final static int SSWITCHU                   = 0x0F;
+
+        private final static int SQUOTE0                        = 0x01;
+        private final static int SQUOTE1                        = 0x02;
+        private final static int SQUOTE2                        = 0x03;
+        private final static int SQUOTE3                        = 0x04;
+        private final static int SQUOTE4                        = 0x05;
+        private final static int SQUOTE5                        = 0x06;
+        private final static int SQUOTE6                            = 0x07;
+        private final static int SQUOTE7                        = 0x08;
+
+        private final static int SSWITCH0                       = 0x10;
+        private final static int SSWITCH1                       = 0x11;
+        private final static int SSWITCH2                       = 0x12;
+        private final static int SSWITCH3                       = 0x13;
+        private final static int SSWITCH4                       = 0x14;
+        private final static int SSWITCH5                       = 0x15;
+        private final static int SSWITCH6                       = 0x16;
+        private final static int SSWITCH7                       = 0x17;
+
+        private final static int SDEFINE0                       = 0x18;
+        private final static int SDEFINE1                       = 0x19;
+        private final static int SDEFINE2                       = 0x1A;
+        private final static int SDEFINE3                       = 0x1B;
+        private final static int SDEFINE4                       = 0x1C;
+        private final static int SDEFINE5                       = 0x1D;
+        private final static int SDEFINE6                       = 0x1E;
+        private final static int SDEFINE7                       = 0x1F;
+
+        //==========================
+        // Unicode mode tags
+        //==========================
+        private final static int USWITCH0                       = 0xE0;
+        private final static int USWITCH1                       = 0xE1;
+        private final static int USWITCH2                       = 0xE2;
+        private final static int USWITCH3                       = 0xE3;
+        private final static int USWITCH4                       = 0xE4;
+        private final static int USWITCH5                       = 0xE5;
+        private final static int USWITCH6                       = 0xE6;
+        private final static int USWITCH7                       = 0xE7;
+
+        private final static int UDEFINE0                       = 0xE8;
+        private final static int UDEFINE1                       = 0xE9;
+        private final static int UDEFINE2                       = 0xEA;
+        private final static int UDEFINE3                       = 0xEB;
+        private final static int UDEFINE4                       = 0xEC;
+        private final static int UDEFINE5                       = 0xED;
+        private final static int UDEFINE6                       = 0xEE;
+        private final static int UDEFINE7                       = 0xEF;
+
+        private final static int UQUOTEU                        = 0xF0;
+        private final static int UDEFINEX                       = 0xF1;
+        private final static int URESERVED                      = 0xF2;         // this is a reserved value
+
+    /* Print out an array of characters, with non-printables (for me) 
+       displayed as hex values */
+    private void printChars(char[] chars, int len) {
+        for(int i = 0; i < len; i++) {
+            int c = (int)chars[i];
+            if(c < 0x0020 || c >= 0x7f) {
+                log("[0x");
+                log(Integer.toHexString(c));
+                log("]");
+            } else {
+                log(String.valueOf((char)c));
+            }
+        }
+        logln("");
+    }
+
+    private void printBytes(byte[] byteBuffer, int len) {
+        int curByteIndex = 0;
+        int byteBufferLimit = len;
+        int mode = SINGLEBYTEMODE;
+        int aByte = 0x00;
+        
+        if(len > byteBuffer.length) {
+            logln("Warning: printBytes called with length too large. Truncating");
+            byteBufferLimit = byteBuffer.length;
+        }
+        
+        while(curByteIndex < byteBufferLimit) {
+            switch(mode) {  
+            case SINGLEBYTEMODE:
+                while(curByteIndex < byteBufferLimit 
+                      && mode == SINGLEBYTEMODE)  {
+                    aByte = ((int)byteBuffer[curByteIndex++]) & 0xFF;
+                    switch(aByte) {
+                    default:
+                        log(Integer.toHexString(((int) aByte) & 0xFF) + " ");
+                        break;
+                        // quote unicode
+                    case SQUOTEU:
+                        log("SQUOTEU ");
+                        if (curByteIndex < byteBufferLimit) {
+                            log(Integer.toHexString(((int) byteBuffer[curByteIndex++]) & 0xFF) + " ");
+                        }
+                        if (curByteIndex < byteBufferLimit) {
+                            log(Integer.toHexString(((int) byteBuffer[curByteIndex++]) & 0xFF) + " ");
+                        }
+                        break;
+                        
+                        // switch to Unicode mode
+                    case SSWITCHU:
+                        log("SSWITCHU ");
+                        mode = UNICODEMODE;
+                        break;
+                        
+                        // handle all quote tags
+                    case SQUOTE0: case SQUOTE1: case SQUOTE2: case SQUOTE3:
+                    case SQUOTE4: case SQUOTE5: case SQUOTE6: case SQUOTE7:
+                        log("SQUOTE" + (aByte - SQUOTE0) + " ");
+                        if(curByteIndex < byteBufferLimit) {
+                            log(Integer.toHexString(((int) byteBuffer[curByteIndex++]) & 0xFF) + " ");
+                        }
+                        break;
+                        
+                        // handle all switch tags
+                    case SSWITCH0: case SSWITCH1: case SSWITCH2: case SSWITCH3:
+                    case SSWITCH4: case SSWITCH5: case SSWITCH6: case SSWITCH7:
+                        log("SSWITCH" + (aByte - SSWITCH0) + " ");
+                        break;
+                                        
+                        // handle all define tags
+                    case SDEFINE0: case SDEFINE1: case SDEFINE2: case SDEFINE3:
+                    case SDEFINE4: case SDEFINE5: case SDEFINE6: case SDEFINE7:
+                        log("SDEFINE" + (aByte - SDEFINE0) + " ");
+                        if (curByteIndex < byteBufferLimit) {
+                            log(Integer.toHexString(((int) byteBuffer[curByteIndex++]) & 0xFF) + " ");
+                        }
+                        break;
+                        
+                        // handle define extended tag
+                    case SDEFINEX:
+                        log("SDEFINEX ");
+                        if (curByteIndex < byteBufferLimit) {
+                            log(Integer.toHexString(((int) byteBuffer[curByteIndex++]) & 0xFF) + " ");
+                        }
+                        if (curByteIndex < byteBufferLimit) {
+                            log(Integer.toHexString(((int) byteBuffer[curByteIndex++]) & 0xFF) + " ");
+                        }
+                        break;
+                        
+                    } // end switch
+                } // end while
+                break;
+                
+            case UNICODEMODE:
+                while(curByteIndex < byteBufferLimit && mode == UNICODEMODE) {
+                    aByte = ((int)byteBuffer[curByteIndex++]) & 0xFF;
+                    switch(aByte) {
+                        // handle all define tags
+                    case UDEFINE0: case UDEFINE1: case UDEFINE2: case UDEFINE3:
+                    case UDEFINE4: case UDEFINE5: case UDEFINE6: case UDEFINE7:
+                        log("UDEFINE" + (aByte - UDEFINE0) + " ");
+                        if (curByteIndex < byteBufferLimit) {
+                            log(Integer.toHexString(((int) byteBuffer[curByteIndex++]) & 0xFF) + " ");
+                        }
+                        mode = SINGLEBYTEMODE;
+                        break;
+                        
+                        // handle define extended tag
+                    case UDEFINEX:
+                        log("UDEFINEX ");
+                        if (curByteIndex < byteBufferLimit) {
+                            log(Integer.toHexString(((int) byteBuffer[curByteIndex++]) & 0xFF) + " ");
+                        }
+                        if (curByteIndex < byteBufferLimit) {
+                            log(Integer.toHexString(((int) byteBuffer[curByteIndex++]) & 0xFF) + " ");
+                        }
+                        break;
+                        
+                        // handle all switch tags
+                    case USWITCH0: case USWITCH1: case USWITCH2: case USWITCH3:
+                    case USWITCH4: case USWITCH5: case USWITCH6: case USWITCH7:
+                        log("USWITCH" + (aByte - USWITCH0) + " ");
+                        mode = SINGLEBYTEMODE;
+                        break;
+                        
+                        // quote unicode
+                    case UQUOTEU:
+                        log("UQUOTEU ");
+                        if (curByteIndex < byteBufferLimit) {
+                            log(Integer.toHexString(((int) byteBuffer[curByteIndex++]) & 0xFF) + " ");
+                        }
+                        if (curByteIndex < byteBufferLimit) {
+                            log(Integer.toHexString(((int) byteBuffer[curByteIndex++]) & 0xFF) + " ");
+                        }
+                        break;
+                        
+                    default:
+                        log(Integer.toHexString(((int) aByte) & 0xFF) + " ");
+                        if (curByteIndex < byteBufferLimit) {
+                            log(Integer.toHexString(((int) byteBuffer[curByteIndex++]) & 0xFF) + " ");
+                        }
+                        break;
+                        
+                    } // end switch
+                } // end while
+                break;
+                
+            } // end switch( mode )
+        } // end while
+        
+        logln("");
+    }    
+}
+
+
+
+
+
+
diff --git a/src/com/ibm/icu/dev/test/compression/TestAll.java b/src/com/ibm/icu/dev/test/compression/TestAll.java
new file mode 100644
index 0000000..133435b
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/compression/TestAll.java
@@ -0,0 +1,27 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.test.compression;
+
+import com.ibm.icu.dev.test.TestFmwk.TestGroup;
+
+/**
+ * Top level test used to run all other tests as a batch.
+ */
+public class TestAll extends TestGroup {
+    public static void main(String[] args) throws Exception {
+        new TestAll().run(args);
+    }
+
+    public TestAll() {
+        super(new String[] {
+            "DecompressionTest",
+            "ExhaustiveTest",
+        });
+    }
+
+    public static final String CLASS_TARGET_NAME = "Compression";
+}
diff --git a/src/com/ibm/icu/dev/test/compression/package.html b/src/com/ibm/icu/dev/test/compression/package.html
new file mode 100755
index 0000000..426bc94
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/compression/package.html
@@ -0,0 +1,12 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html>
+<head>
+<!--  Copyright (C) 2000-2004, International Business Machines Corporation and
+  others. All Rights Reserved.
+
+-->
+</head>
+<body bgcolor="white">
+Tests for the compression classes.
+</body>
+</html>
\ No newline at end of file
diff --git a/src/com/ibm/icu/dev/test/format/BigNumberFormatTest.java b/src/com/ibm/icu/dev/test/format/BigNumberFormatTest.java
new file mode 100755
index 0000000..1152cc0
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/format/BigNumberFormatTest.java
@@ -0,0 +1,448 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.test.format;
+
+import com.ibm.icu.dev.test.*;
+import com.ibm.icu.text.*;
+import java.text.ParseException;
+import java.util.*;
+import com.ibm.icu.impl.Utility;
+
+/**
+ * @test
+ * General test of Big NumberFormat
+ */
+public class BigNumberFormatTest extends TestFmwk {
+
+    static final int ILLEGAL = -1;
+
+    public static void main(String[] args) throws Exception {
+        new BigNumberFormatTest().run(args);
+    }
+        
+    public void TestExponent() {
+        DecimalFormatSymbols US = new DecimalFormatSymbols(Locale.US);
+        DecimalFormat fmt1 = new DecimalFormat("0.###E0", US);
+        DecimalFormat fmt2 = new DecimalFormat("0.###E+0", US);
+        Number n = new Long(1234);
+        expect(fmt1, n, "1.234E3");
+        expect(fmt2, n, "1.234E+3");
+        expect(fmt1, "1.234E3", n);
+        expect(fmt1, "1.234E+3", n); // Either format should parse "E+3"
+        expect(fmt2, "1.234E+3", n);
+    }
+
+    /**
+     * Test the functioning of the secondary grouping value.
+     */
+    public void TestSecondaryGrouping() {
+        DecimalFormatSymbols US = new DecimalFormatSymbols(Locale.US);
+        DecimalFormat f = new DecimalFormat("#,##,###", US);
+        expect(f, new Long(123456789), "12,34,56,789");
+        expectPat(f, "#,##,###");
+        f.applyPattern("#,###");
+        f.setSecondaryGroupingSize(4);
+        expect(f, new Long(123456789), "12,3456,789");
+        expectPat(f, "#,####,###");
+
+        // On Sun JDK 1.2-1.3, the hi_IN locale uses '0' for a zero digit,
+        // but on IBM JDK 1.2-1.3, the locale uses U+0966.
+        f = (DecimalFormat) NumberFormat.getInstance(new Locale("hi", "IN"));
+        String str = transmute("1,87,65,43,210",
+                               f.getDecimalFormatSymbols().getZeroDigit());
+        expect(f, new Long(1876543210), str);
+    }
+
+    private void expectPad(DecimalFormat fmt, String pat, int pos) {
+        expectPad(fmt, pat, pos, 0, (char)0);
+    }
+
+    private void expectPad(DecimalFormat fmt, String pat,
+                           int pos, int width, char pad) {
+        int apos = 0, awidth = 0;
+        char apad = 0;
+        try {
+            fmt.applyPattern(pat);
+            apos = fmt.getPadPosition();
+            awidth = fmt.getFormatWidth();
+            apad = fmt.getPadCharacter();
+        } catch (IllegalArgumentException e) {
+            apos = -1;
+            awidth = width;
+            apad = pad;
+        }
+        if (apos == pos && awidth == width && apad == pad) {
+            logln("Ok   \"" + pat + "\" pos=" + apos +
+                  ((pos == -1) ? "" : " width=" + awidth + " pad=" + apad));
+        } else {
+            logln("FAIL \"" + pat + "\" pos=" + apos +
+                  " width=" + awidth + " pad=" + apad +
+                  ", expected " + pos + " " + width + " " + pad);
+        }
+    }
+
+    /**
+     */
+    public void TestPatterns() {
+        DecimalFormatSymbols US = new DecimalFormatSymbols(Locale.US);
+        DecimalFormat fmt = new DecimalFormat("#", US);
+
+        expectPad(fmt, "*^#", DecimalFormat.PAD_BEFORE_PREFIX, 1, '^');
+        expectPad(fmt, "$*^#", DecimalFormat.PAD_AFTER_PREFIX, 2, '^');
+        expectPad(fmt, "#*^", DecimalFormat.PAD_BEFORE_SUFFIX, 1, '^');
+        expectPad(fmt, "#$*^", DecimalFormat.PAD_AFTER_SUFFIX, 2, '^');
+        expectPad(fmt, "$*^$#", ILLEGAL);
+        expectPad(fmt, "#$*^$", ILLEGAL);
+        expectPad(fmt, "'pre'#,##0*x'post'", DecimalFormat.PAD_BEFORE_SUFFIX,
+                  12, 'x');
+        expectPad(fmt, "''#0*x", DecimalFormat.PAD_BEFORE_SUFFIX,
+                  3, 'x');
+        expectPad(fmt, "'I''ll'*a###.##", DecimalFormat.PAD_AFTER_PREFIX,
+                  10, 'a');
+
+        fmt.applyPattern("AA#,##0.00ZZ");
+        fmt.setPadCharacter('^');
+
+        fmt.setFormatWidth(10);
+
+        fmt.setPadPosition(DecimalFormat.PAD_BEFORE_PREFIX);
+        expectPat(fmt, "*^AA#,##0.00ZZ");
+
+        fmt.setPadPosition(DecimalFormat.PAD_BEFORE_SUFFIX);
+        expectPat(fmt, "AA#,##0.00*^ZZ");
+
+        fmt.setPadPosition(DecimalFormat.PAD_AFTER_SUFFIX);
+        expectPat(fmt, "AA#,##0.00ZZ*^");
+
+        //            12  3456789012
+        String exp = "AA*^#,##0.00ZZ";
+        fmt.setFormatWidth(12);
+        fmt.setPadPosition(DecimalFormat.PAD_AFTER_PREFIX);
+        expectPat(fmt, exp);
+
+        fmt.setFormatWidth(13);
+        //              12  34567890123
+        expectPat(fmt, "AA*^##,##0.00ZZ");
+
+        fmt.setFormatWidth(14);
+        //              12  345678901234
+        expectPat(fmt, "AA*^###,##0.00ZZ");
+
+        fmt.setFormatWidth(15);
+        //              12  3456789012345
+        expectPat(fmt, "AA*^####,##0.00ZZ"); // This is the interesting case
+
+        fmt.setFormatWidth(16);
+        //              12  34567890123456
+        expectPat(fmt, "AA*^#,###,##0.00ZZ");
+    }
+
+    private void expectPat(DecimalFormat fmt, String exp) {
+        String pat = fmt.toPattern();
+        if (pat.equals(exp)) {
+            logln("Ok   \"" + pat + '"');
+        } else {
+            errln("FAIL \"" + pat + "\", expected \"" + exp + '"');
+        }
+    }
+
+    /**
+     * Test the handling of the AlphaWorks BigDecimal
+     */
+    public void TestAlphaBigDecimal() {
+        DecimalFormatSymbols US = new DecimalFormatSymbols(Locale.US);
+        /*For ICU compatibility [Richard/GCL]*/
+        expect(NumberFormat.getScientificInstance(Locale.US),
+               new Number[] { new com.ibm.icu.math.BigDecimal("12345.678901"),
+                           },
+               "1.2345678901E4");
+        expect(new DecimalFormat("##0.####E0", US),
+               new Number[] { new com.ibm.icu.math.BigDecimal("12345.4999"),
+                              new com.ibm.icu.math.BigDecimal("12344.5001"),
+                            },
+               "12.345E3");
+        expect(new DecimalFormat("##0.####E0", US),
+               new Number[] { new com.ibm.icu.math.BigDecimal("12345.5000"),
+                              new com.ibm.icu.math.BigDecimal("12346.5000"),
+                            },
+               "12.346E3");
+    }
+
+    /**
+     */
+    public void TestScientific() {
+        DecimalFormatSymbols US = new DecimalFormatSymbols(Locale.US);
+        /*For ICU compatibility [Richard/GCL]*/
+        expect(NumberFormat.getScientificInstance(Locale.US),
+               new Number[] { new Double(12345.678901),
+                              new java.math.BigDecimal("12345.678901"),
+                            },
+               "1.2345678901E4");
+        expect(new DecimalFormat("##0.###E0", US),
+               new Double(12345),
+               "12.34E3");
+        expect(new DecimalFormat("##0.###E0", US),
+               new Double(12345.00001),
+               "12.35E3");
+        expect(new DecimalFormat("##0.####E0", US),
+               new Number[] { new Integer(12345),
+                              new Long(12345),
+                              new java.math.BigDecimal("12345.4999"),
+                              new java.math.BigDecimal("12344.5001"),
+                            },
+               "12.345E3");
+        expect(new DecimalFormat("##0.####E0", US),
+               new Number[] { new java.math.BigDecimal("12345.5000"),
+                              new java.math.BigDecimal("12346.5000"),
+                            },
+               "12.346E3");
+        /*For ICU compatibility [Richard/GCL]*/
+        expect(NumberFormat.getScientificInstance(Locale.FRANCE),
+               new Double(12345.678901),
+               "1,2345678901E4");
+        expect(new DecimalFormat("##0.####E0", US),
+               new Double(789.12345e-9),
+               "789.12E-9");
+        expect(new DecimalFormat("##0.####E0", US),
+               new Double(780.e-9),
+               "780E-9");
+        expect(new DecimalFormat(".###E0", US),
+               new Double(45678),
+               ".457E5");
+        expect(new DecimalFormat(".###E0", US),
+               new Long(0),
+               ".0E0");
+        expect(new DecimalFormat[] { new DecimalFormat("#E0", US),
+                                     new DecimalFormat("##E0", US),
+                                     new DecimalFormat("####E0", US),
+                                     new DecimalFormat("0E0", US),    
+                                     new DecimalFormat("00E0", US),   
+                                     new DecimalFormat("000E0", US), 
+                                   },
+               new Long(45678000),
+               new String[] { "4.5678E7",
+                              "45.678E6",
+                              "4567.8E4",
+                              "5E7",
+                              "46E6",  
+                              "457E5",
+                            }
+               );
+        expect(new DecimalFormat("###E0", US),
+               new Object[] { new Double(0.0000123), "12.3E-6",
+                              new Double(0.000123), "123E-6",
+                              new java.math.BigDecimal("0.00123"), "1.23E-3", // Cafe VM messes up Double(0.00123)
+                              new Double(0.0123), "12.3E-3",
+                              new Double(0.123), "123E-3",
+                              new Double(1.23), "1.23E0",
+                              new Double(12.3), "12.3E0",
+                              new Double(123), "123E0",
+                              new Double(1230), "1.23E3",
+                             });
+        expect(new DecimalFormat("0.#E+00", US),
+               new Object[] { new Double(0.00012), "1.2E-04",
+                              new Long(12000),     "1.2E+04",
+                             });
+    }
+
+    /**
+     */
+    public void TestPad() {
+        DecimalFormatSymbols US = new DecimalFormatSymbols(Locale.US);
+        expect(new DecimalFormat("*^##.##", US),
+               new Object[] { new Long(0),      "^^^^0",
+                              new Double(-1.3), "^-1.3",
+                            }
+               );
+        expect(new DecimalFormat("##0.0####E0*_ 'g-m/s^2'", US),
+               new Object[] { new Long(0),       "0.0E0______ g-m/s^2",
+                              new Double(1.0/3), "333.333E-3_ g-m/s^2",
+                            }
+               );
+        expect(new DecimalFormat("##0.0####*_ 'g-m/s^2'", US),
+               new Object[] { new Long(0),       "0.0______ g-m/s^2",
+                              new Double(1.0/3), "0.33333__ g-m/s^2",
+                            }
+               );
+        expect(new DecimalFormat("*x#,###,###,##0.00;*x(#,###,###,##0.00)", US),
+               new Object[] {
+                   new Long(-100),        "xxxxxxxx(100.00)",
+                   new Long(-1000),       "xxxxxx(1,000.00)",
+                   new Long(-1000000),    "xx(1,000,000.00)",
+                   new Long(-1000000000), "(1,000,000,000.00)",
+               });
+    }
+    
+    private void expect(NumberFormat fmt, Object[] data) {
+        for (int i=0; i<data.length; i+=2) {
+            expect(fmt, (Number) data[i], (String) data[i+1]);
+        }
+    }
+    
+    private void expect(Object fmto, Object numo, Object expo) {
+        NumberFormat fmt = null, fmts[] = null;
+        Number num = null, nums[] = null;
+        String exp = null, exps[] = null;
+        if (fmto instanceof NumberFormat[]) {
+            fmts = (NumberFormat[]) fmto;
+        } else {
+            fmt = (NumberFormat) fmto;
+        }
+        if (numo instanceof Number[]) {
+            nums = (Number[]) numo;
+        } else {
+            num = (Number) numo;
+        }
+        if (expo instanceof String[]) {
+            exps = (String[]) expo;
+        } else {
+            exp = (String) expo;
+        }
+        int n = 1;
+        if (fmts != null) {
+            n = Math.max(n, fmts.length);
+        }
+        if (nums != null) {
+            n = Math.max(n, nums.length);
+        }
+        if (exps != null) {
+            n = Math.max(n, exps.length);
+        }
+        for (int i=0; i<n; ++i) {
+            expect(fmts == null ? fmt : fmts[i],
+                   nums == null ? num : nums[i],
+                   exps == null ? exp : exps[i]);
+        }
+    }
+
+    private static String showNumber(Number n) {
+        String cls = n.getClass().getName();
+        if (!(n instanceof com.ibm.icu.math.BigDecimal
+              || n instanceof java.math.BigDecimal)) {
+            int i = cls.lastIndexOf('.');
+            cls = cls.substring(i+1);
+        }
+        return n.toString() + " (" + cls + ')';
+    }
+
+    private void expect(NumberFormat fmt, Number n, String exp) {
+        String saw = fmt.format(n);
+        String pat = ((DecimalFormat) fmt).toPattern();
+        if (saw.equals(exp)) {
+            logln("Ok   " + showNumber(n) + " x " +
+                  pat + " = " +
+                  Utility.escape(saw));
+        } else {
+            errln("FAIL " + showNumber(n) + " x " +
+                  pat + " = \"" +
+                  Utility.escape(saw) + ", expected " + Utility.escape(exp));
+        }
+    }
+
+    private void expect(NumberFormat fmt, String str, Number exp) {
+        Number saw = null;
+        try {
+            saw = fmt.parse(str);
+        } catch (ParseException e) {
+            saw = null;
+        }
+        String pat = ((DecimalFormat) fmt).toPattern();
+        if (saw.equals(exp)) {
+            logln("Ok   \"" + str + "\" x " +
+                  pat + " = " +
+                  showNumber(saw));
+        } else {
+            errln("FAIL \"" + str + "\" x " +
+                  pat + " = " +
+                  showNumber(saw) + ", expected " + showNumber(exp));
+        }
+    }
+
+    /**
+     * Given a string composed of [0-9] and other chars, convert the
+     * [0-9] chars to be offsets 0..9 from 'zero'.
+     */
+    private static String transmute(String str, char zero) {
+        StringBuffer buf = new StringBuffer();
+        for (int i=0; i<str.length(); ++i) {
+            char c = str.charAt(i);
+            if (c >= '0' && c <= '9') {
+                c = (char) (c - '0' + zero);
+            }
+            buf.append(c);
+        }
+        return buf.toString();
+    }
+
+    public void Test4161100() {
+        NumberFormat f = NumberFormat.getInstance();
+        f.setMinimumFractionDigits(1);
+        f.setMaximumFractionDigits(1);
+        double a = -0.09;
+        String s = f.format(a);
+        logln(a + " x " +
+              ((DecimalFormat) f).toPattern() + " = " +
+              s);
+        if (!s.equals("-0.1")) {
+            errln("FAIL");
+        }
+    }        
+
+    public void TestBigDecimalJ28() {
+        String[] DATA = {
+            "1", "1E0",
+            "-1", "-1E0",
+            "0", "0E0",
+            "12e34", "1.2E35",
+            "-12.3e-45", "-1.23E-44",
+            "0.73e-7", "7.3E-8",
+        };
+        NumberFormat fmt = NumberFormat.getScientificInstance(Locale.US);
+        logln("Pattern: " + ((DecimalFormat)fmt).toPattern());
+        for (int i=0; i<DATA.length; i+=2) {
+            String input = DATA[i];
+            String exp = DATA[i+1];
+            com.ibm.icu.math.BigDecimal bd = new com.ibm.icu.math.BigDecimal(input);
+            String output = fmt.format(bd);
+            if (output.equals(exp)) {
+                logln("input=" + input + " num=" + bd + " output=" + output);
+            } else {
+                errln("FAIL: input=" + input + " num=" + bd + " output=" + output +
+                      " expected=" + exp);
+            }
+        }
+    }
+
+    public void TestBigDecimalRounding() {
+        // jb 3657
+        java.text.DecimalFormat jdkFormat=new java.text.DecimalFormat("###,###,###,##0");
+        com.ibm.icu.text.DecimalFormat icuFormat=new com.ibm.icu.text.DecimalFormat("###,###,###,##0");
+        String[] values = {
+            "-1.74", "-1.24", "-0.74", "-0.24", "0.24", "0.74", "1.24", "1.74"
+        };
+        for (int i = 0; i < values.length; ++i) {
+            String val = values[i];
+            java.math.BigDecimal bd = new java.math.BigDecimal(val);
+            String jdk = jdkFormat.format(bd);
+            String icu = icuFormat.format(bd);
+            logln("Format of BigDecimal " + val + " by JDK is " + jdk);
+            logln("Format of BigDecimal " + val + " by ICU is " + icu);
+            if (!jdk.equals(icu)) {
+                errln("BigDecimal jdk: " + jdk + " != icu: " + icu);
+            }
+
+            double d = bd.doubleValue();
+            jdk = jdkFormat.format(d);
+            icu = icuFormat.format(d);
+            logln("Format of double " + val + " by JDK is " + jdk);
+            logln("Format of double " + val + " by ICU is " + icu);
+            if (!jdk.equals(icu)) {
+                errln("double jdk: " + jdk + " != icu: " + icu);
+            }
+        }
+    }
+}
diff --git a/src/com/ibm/icu/dev/test/format/DateFormatMiscTests.java b/src/com/ibm/icu/dev/test/format/DateFormatMiscTests.java
new file mode 100755
index 0000000..936fb90
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/format/DateFormatMiscTests.java
@@ -0,0 +1,157 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2001-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+/** 
+ * Port From:   ICU4C v1.8.1 : format : DateFormatMiscTests
+ * Source File: $ICU4CRoot/source/test/intltest/miscdtfm.cpp
+ **/
+
+package com.ibm.icu.dev.test.format;
+
+import com.ibm.icu.text.*;
+import com.ibm.icu.util.Calendar;
+import com.ibm.icu.util.ULocale;
+import com.ibm.icu.util.UResourceBundle;
+import com.ibm.icu.impl.ICUResourceBundle;
+
+import java.text.FieldPosition;
+import java.text.ParseException;
+import java.util.Locale;
+import java.util.Date;
+import java.util.MissingResourceException;
+
+/** 
+ * Performs miscellaneous tests for DateFormat, SimpleDateFormat, DateFormatSymbols
+ **/
+public class DateFormatMiscTests extends com.ibm.icu.dev.test.TestFmwk {
+
+    public static void main(String[] args) throws Exception{
+        new DateFormatMiscTests().run(args);
+    }
+    
+    /*
+     * @bug 4097450
+     */
+    public void Test4097450() {
+        //
+        // Date parse requiring 4 digit year.
+        //
+        String dstring[] = {
+            "97", "1997", "97", "1997", "01", "2001", "01", "2001",
+             "1", "1", "11", "11", "111", "111"}; 
+    
+        String dformat[] = 
+            {
+                "yy", "yy", "yyyy", "yyyy", "yy", "yy", "yyyy", "yyyy", 
+                "yy", "yyyy", "yy", "yyyy", "yy", "yyyy"};         
+    
+        SimpleDateFormat formatter;
+        SimpleDateFormat resultFormatter = new SimpleDateFormat("yyyy");
+        logln("Format\tSource\tResult");
+        logln("-------\t-------\t-------");
+        for (int i = 0; i < dstring.length ; i++) {
+            log(dformat[i] + "\t" + dstring[i] + "\t");
+            formatter = new SimpleDateFormat(dformat[i]);
+            try {
+                StringBuffer str = new StringBuffer("");
+                FieldPosition pos = new FieldPosition(0);
+                logln(resultFormatter.format(formatter.parse(dstring[i]), str, pos).toString()); 
+            }
+            catch (ParseException exception) {
+                errln("exception --> " + exception);
+            }
+            logln("");
+        }
+    }
+    
+    /* @Bug 4099975
+     * SimpleDateFormat constructor SimpleDateFormat(String, DateFormatSymbols)
+     * should clone the DateFormatSymbols parameter
+     */
+    public void Test4099975new() {
+        Date d = new Date();
+        //test SimpleDateFormat Constructor
+        {
+            DateFormatSymbols symbols = new DateFormatSymbols(Locale.US);
+            SimpleDateFormat df = new SimpleDateFormat("E hh:mm", symbols);
+            SimpleDateFormat dfClone = (SimpleDateFormat) df.clone();
+            
+            logln(df.toLocalizedPattern());
+            String s0 = df.format(d);
+            String s_dfClone = dfClone.format(d);
+            
+            symbols.setLocalPatternChars("abcdefghijklmonpqr"); // change value of field
+            logln(df.toLocalizedPattern());
+            String s1 = df.format(d);
+            
+            if (!s1.equals(s0) || !s1.equals(s_dfClone)) {
+                errln("Constructor: the formats are not equal");
+            }
+            if (!df.equals(dfClone)) {
+                errln("The Clone Object does not equal with the orignal source");
+            }
+        }
+        //test SimpleDateFormat.setDateFormatSymbols()
+        {
+            DateFormatSymbols symbols = new DateFormatSymbols(Locale.US);
+            SimpleDateFormat df = new SimpleDateFormat("E hh:mm");
+            df.setDateFormatSymbols(symbols);
+            SimpleDateFormat dfClone = (SimpleDateFormat) df.clone();
+            
+            logln(df.toLocalizedPattern());
+            String s0 = df.format(d);
+            String s_dfClone = dfClone.format(d);
+            
+            symbols.setLocalPatternChars("abcdefghijklmonpqr"); // change value of field
+            logln(df.toLocalizedPattern());
+            String s1 = df.format(d);
+            
+            if (!s1.equals(s0) || !s1.equals(s_dfClone)) {
+                errln("setDateFormatSymbols: the formats are not equal");
+            }
+            if (!df.equals(dfClone)) {
+                errln("The Clone Object does not equal with the orignal source");
+            }
+        }
+    }
+    
+    /*
+     * @bug 4117335
+     */
+    public void Test4117335() {
+        final String bc = "\u7D00\u5143\u524D";
+        final String ad = "\u897f\u66a6";
+        final String jstLong = "\u65e5\u672c\u6a19\u6e96\u6642";
+        final String jstShort = "JST";
+        final String tzID = "Asia/Tokyo";
+
+        DateFormatSymbols symbols = new DateFormatSymbols(Locale.JAPAN);
+        final String[] eras = symbols.getEras();
+
+        assertEquals("BC =", bc, eras[0]);
+        assertEquals("AD =", ad, eras[1]);
+
+        // don't use hard-coded index!
+        final String zones[][] = symbols.getZoneStrings();
+        int index = -1;
+        for (int i = 0; i < zones.length; ++i) {
+            if (tzID.equals(zones[i][0])) {
+                index = i;
+                break;
+            }
+        }
+
+        if (index == -1) {
+            errln("could not find " + tzID);
+        } else {
+            assertEquals("Long zone name = ", jstLong, zones[index][1]);
+            assertEquals("Short zone name = ", jstShort, zones[index][2]);
+            assertEquals("Long zone name (3) = ", jstLong, zones[index][3]);
+            assertEquals("Short zone name (4) = ", jstShort, zones[index][4]);
+        }
+    }
+}
diff --git a/src/com/ibm/icu/dev/test/format/DateFormatRegressionTest.java b/src/com/ibm/icu/dev/test/format/DateFormatRegressionTest.java
new file mode 100755
index 0000000..7032bf1
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/format/DateFormatRegressionTest.java
@@ -0,0 +1,964 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2001-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+/** 
+ * Port From:   ICU4C v1.8.1 : format : DateFormatRegressionTest
+ * Source File: $ICU4CRoot/source/test/intltest/dtfmrgts.cpp
+ **/
+
+package com.ibm.icu.dev.test.format;
+
+import com.ibm.icu.text.*;
+import com.ibm.icu.util.*;
+
+import java.io.*;
+import java.text.FieldPosition;
+import java.text.Format;
+import java.text.ParseException;
+import java.text.ParsePosition;
+import java.util.Date;
+import java.util.Locale;
+
+/** 
+ * Performs regression test for DateFormat
+ **/
+public class DateFormatRegressionTest extends com.ibm.icu.dev.test.TestFmwk {
+
+    public static void main(String[] args) throws Exception{
+        new DateFormatRegressionTest().run(args);
+    }
+    
+    /**
+     * @bug 4029195
+     */
+    public void Test4029195() {
+        Calendar cal = Calendar.getInstance();
+        Date today = cal.getTime();
+        logln("today: " + today);
+        SimpleDateFormat sdf = (SimpleDateFormat) DateFormat.getDateInstance();
+        String pat = sdf.toPattern();
+        logln("pattern: " + pat);
+        StringBuffer fmtd = new StringBuffer("");
+        FieldPosition pos = new FieldPosition(0);
+        fmtd = sdf.format(today, fmtd, pos);
+        logln("today: " + fmtd);
+    
+        sdf.applyPattern("G yyyy DDD");
+        StringBuffer todayS = new StringBuffer("");
+        todayS = sdf.format(today, todayS, pos);
+        logln("today: " + todayS);
+        try {
+            today = sdf.parse(todayS.toString());
+            logln("today date: " + today);
+        } catch (Exception e) {
+            errln("Error reparsing date: " + e.getMessage());
+        }
+    
+        try {
+            StringBuffer rt = new StringBuffer("");
+            rt = sdf.format(sdf.parse(todayS.toString()), rt, pos);
+            logln("round trip: " + rt);
+            if (!rt.toString().equals(todayS.toString()))
+                errln("Fail: Want " + todayS + " Got " + rt);
+        } catch (ParseException e) {
+            errln("Fail: " + e);
+            e.printStackTrace();
+        }
+    }
+    
+    /**
+     * @bug 4052408
+     */
+    public void Test4052408() {
+    
+        DateFormat fmt = DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.SHORT, Locale.US); 
+        Calendar cal = Calendar.getInstance();
+        cal.clear();
+        cal.set(97 + 1900, Calendar.MAY, 3, 8, 55);
+        Date dt = cal.getTime();
+        String str = fmt.format(dt);
+        logln(str);
+        
+        if (!str.equals("5/3/97 8:55 AM"))
+            errln("Fail: Test broken; Want 5/3/97 8:55 AM Got " + str);
+    
+        String expected[] = {
+            "", //"ERA_FIELD",
+            "97", //"YEAR_FIELD",
+            "5", //"MONTH_FIELD",
+            "3", //"DATE_FIELD",
+            "", //"HOUR_OF_DAY1_FIELD",
+            "", //"HOUR_OF_DAY0_FIELD",
+            "55", //"MINUTE_FIELD",
+            "", //"SECOND_FIELD",
+            "", //"MILLISECOND_FIELD",
+            "", //"DAY_OF_WEEK_FIELD",
+            "", //"DAY_OF_YEAR_FIELD",
+            "", //"DAY_OF_WEEK_IN_MONTH_FIELD",
+            "", //"WEEK_OF_YEAR_FIELD",
+            "", //"WEEK_OF_MONTH_FIELD",
+            "AM", //"AM_PM_FIELD",
+            "8", //"HOUR1_FIELD",
+            "", //"HOUR0_FIELD",
+            "" //"TIMEZONE_FIELD"
+            };        
+        String fieldNames[] = {
+                "ERA_FIELD", 
+                "YEAR_FIELD", 
+                "MONTH_FIELD", 
+                "DATE_FIELD", 
+                "HOUR_OF_DAY1_FIELD", 
+                "HOUR_OF_DAY0_FIELD", 
+                "MINUTE_FIELD", 
+                "SECOND_FIELD", 
+                "MILLISECOND_FIELD", 
+                "DAY_OF_WEEK_FIELD", 
+                "DAY_OF_YEAR_FIELD", 
+                "DAY_OF_WEEK_IN_MONTH_FIELD", 
+                "WEEK_OF_YEAR_FIELD", 
+                "WEEK_OF_MONTH_FIELD", 
+                "AM_PM_FIELD", 
+                "HOUR1_FIELD", 
+                "HOUR0_FIELD", 
+                "TIMEZONE_FIELD"}; 
+    
+        boolean pass = true;
+        for (int i = 0; i <= 17; ++i) {
+            FieldPosition pos = new FieldPosition(i);
+            StringBuffer buf = new StringBuffer("");
+            fmt.format(dt, buf, pos);
+            //char[] dst = new char[pos.getEndIndex() - pos.getBeginIndex()];
+            String dst = buf.substring(pos.getBeginIndex(), pos.getEndIndex());
+            str = dst;
+            log(i + ": " + fieldNames[i] + ", \"" + str + "\", "
+                    + pos.getBeginIndex() + ", " + pos.getEndIndex()); 
+            String exp = expected[i];
+            if ((exp.length() == 0 && str.length() == 0) || str.equals(exp))
+                logln(" ok");
+            else {
+                logln(" expected " + exp);
+                pass = false;
+            }
+        }
+        if (!pass)
+            errln("Fail: FieldPosition not set right by DateFormat");
+    }
+    
+    /**
+     * @bug 4056591
+     * Verify the function of the [s|g]et2DigitYearStart() API.
+     */
+    public void Test4056591() {
+    
+        try {
+            SimpleDateFormat fmt = new SimpleDateFormat("yyMMdd", Locale.US);
+            Calendar cal = Calendar.getInstance();
+            cal.clear();
+            cal.set(1809, Calendar.DECEMBER, 25);
+            Date start = cal.getTime();
+            fmt.set2DigitYearStart(start);
+            if ((fmt.get2DigitYearStart() != start))
+                errln("get2DigitYearStart broken");
+            cal.clear();
+            cal.set(1809, Calendar.DECEMBER, 25);
+            Date d1 = cal.getTime();
+            cal.clear();
+            cal.set(1909, Calendar.DECEMBER, 24);
+            Date d2 = cal.getTime();
+            cal.clear();
+            cal.set(1809, Calendar.DECEMBER, 26);
+            Date d3 = cal.getTime();
+            cal.clear();
+            cal.set(1861, Calendar.DECEMBER, 25);
+            Date d4 = cal.getTime();
+            
+            Date dates[] = {d1, d2, d3, d4};
+    
+            String strings[] = {"091225", "091224", "091226", "611225"};            
+    
+            for (int i = 0; i < 4; i++) {
+                String s = strings[i];
+                Date exp = dates[i];
+                Date got = fmt.parse(s);
+                logln(s + " . " + got + "; exp " + exp);
+                if (got.getTime() != exp.getTime())
+                    errln("set2DigitYearStart broken");
+            }
+        } catch (ParseException e) {
+            errln("Fail: " + e);
+            e.printStackTrace();
+        }
+    }
+    
+    /**
+     * @bug 4059917
+     */
+    public void Test4059917() {        
+        SimpleDateFormat fmt;
+        String myDate;
+        fmt = new SimpleDateFormat("yyyy/MM/dd");
+        myDate = "1997/01/01";
+        aux917( fmt, myDate );        
+        fmt = new SimpleDateFormat("yyyyMMdd");
+        myDate = "19970101";
+        aux917( fmt, myDate );
+    }
+    
+    public void aux917(SimpleDateFormat fmt, String str) {
+    
+        String pat = fmt.toPattern();
+        logln("==================");
+        logln("testIt: pattern=" + pat + " string=" + str);
+        ParsePosition pos = new ParsePosition(0);
+        Object o = fmt.parseObject(str, pos);
+        //logln( UnicodeString("Parsed object: ") + o );
+    
+        StringBuffer formatted = new StringBuffer("");
+        FieldPosition poss = new FieldPosition(0);
+        formatted = fmt.format(o, formatted, poss);
+    
+        logln("Formatted string: " + formatted);
+        if (!formatted.toString().equals(str))
+            errln("Fail: Want " + str + " Got " + formatted);
+    }
+    
+    /**
+     * @bug 4060212
+     */
+    public void Test4060212() {
+        String dateString = "1995-040.05:01:29";
+        logln("dateString= " + dateString);
+        logln("Using yyyy-DDD.hh:mm:ss");
+        SimpleDateFormat formatter = new SimpleDateFormat("yyyy-DDD.hh:mm:ss");
+        ParsePosition pos = new ParsePosition(0);
+        Date myDate = formatter.parse(dateString, pos);
+        DateFormat fmt = DateFormat.getDateTimeInstance(DateFormat.FULL, DateFormat.LONG); 
+        String myString = fmt.format(myDate);
+        logln(myString);
+        Calendar cal = new GregorianCalendar();
+        cal.setTime(myDate);
+        if ((cal.get(Calendar.DAY_OF_YEAR) != 40))
+            errln("Fail: Got " + cal.get(Calendar.DAY_OF_YEAR) + " Want 40");
+    
+        logln("Using yyyy-ddd.hh:mm:ss");
+        formatter = new SimpleDateFormat("yyyy-ddd.hh:mm:ss");
+        pos.setIndex(0);
+        myDate = formatter.parse(dateString, pos);
+        myString = fmt.format(myDate);
+        logln(myString);
+        cal.setTime(myDate);
+        if ((cal.get(Calendar.DAY_OF_YEAR) != 40))
+            errln("Fail: Got " + cal.get(Calendar.DAY_OF_YEAR) + " Want 40");
+    }
+    /**
+     * @bug 4061287
+     */
+    public void Test4061287() {
+    
+        SimpleDateFormat df = new SimpleDateFormat("dd/MM/yyyy");
+        try {
+            logln(df.parse("35/01/1971").toString());
+        } catch (ParseException e) {
+            errln("Fail: " + e);
+            e.printStackTrace();
+        }
+        df.setLenient(false);
+        boolean ok = false;
+        try {
+            logln(df.parse("35/01/1971").toString());
+        } catch (ParseException e) {
+            ok = true;
+        }
+        if (!ok)
+            errln("Fail: Lenient not working");
+    }
+    
+    /**
+     * @bug 4065240
+     */
+    public void Test4065240() {
+        Date curDate;
+        DateFormat shortdate, fulldate;
+        String strShortDate, strFullDate;
+        Locale saveLocale = Locale.getDefault();
+        TimeZone saveZone = TimeZone.getDefault();
+    
+        try {
+            Locale curLocale = new Locale("de", "DE");
+            Locale.setDefault(curLocale);
+            // {sfb} adoptDefault instead of setDefault
+            //TimeZone.setDefault(TimeZone.createTimeZone("EST"));
+            TimeZone.setDefault(TimeZone.getTimeZone("EST"));
+            Calendar cal = Calendar.getInstance();
+            cal.clear();
+            cal.set(98 + 1900, 0, 1);
+            curDate = cal.getTime();
+            shortdate = DateFormat.getDateInstance(DateFormat.SHORT);
+            fulldate = DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.LONG);
+            strShortDate = "The current date (short form) is ";
+            String temp;
+            temp = shortdate.format(curDate);
+            strShortDate += temp;
+            strFullDate = "The current date (long form) is ";
+            String temp2 = fulldate.format(curDate);
+            strFullDate += temp2;
+    
+            logln(strShortDate);
+            logln(strFullDate);
+    
+            // {sfb} What to do with resource bundle stuff?????
+    
+            // Check to see if the resource is present; if not, we can't test
+            //ResourceBundle bundle = //The variable is never used
+            //    ICULocaleData.getBundle("DateFormatZoneData", curLocale); 
+    
+            // {sfb} API change to ResourceBundle -- add getLocale()
+            /*if (bundle.getLocale().getLanguage().equals("de")) {
+                // UPDATE THIS AS ZONE NAME RESOURCE FOR <EST> in de_DE is updated
+                if (!strFullDate.endsWith("GMT-05:00"))
+                    errln("Fail: Want GMT-05:00");
+            } else {
+                logln("*** TEST COULD NOT BE COMPLETED BECAUSE DateFormatZoneData ***");
+                logln("*** FOR LOCALE de OR de_DE IS MISSING ***");
+            }*/
+        } catch (Exception e) {
+            logln(e.getMessage());
+        } finally {
+            Locale.setDefault(saveLocale);
+            TimeZone.setDefault(saveZone);
+        }
+    
+    }
+    
+    /*
+      DateFormat.equals is too narrowly defined.  As a result, MessageFormat
+      does not work correctly.  DateFormat.equals needs to be written so
+      that the Calendar sub-object is not compared using Calendar.equals,
+      but rather compared for equivalency.  This may necessitate adding a
+      (package private) method to Calendar to test for equivalency.
+      
+      Currently this bug breaks MessageFormat.toPattern
+      */
+    /**
+     * @bug 4071441
+     */
+    public void Test4071441() {
+        DateFormat fmtA = DateFormat.getInstance();
+        DateFormat fmtB = DateFormat.getInstance();
+    
+        // {sfb} Is it OK to cast away const here?
+        Calendar calA = fmtA.getCalendar();
+        Calendar calB = fmtB.getCalendar();
+        calA.clear();
+        calA.set(1900, 0 ,0);
+        calB.clear();
+        calB.set(1900, 0, 0);
+        if (!calA.equals(calB))
+            errln("Fail: Can't complete test; Calendar instances unequal");
+        if (!fmtA.equals(fmtB))
+            errln("Fail: DateFormat unequal when Calendars equal");
+        calB.clear();
+        calB.set(1961, Calendar.DECEMBER, 25);
+        if (calA.equals(calB))
+            errln("Fail: Can't complete test; Calendar instances equal");
+        if (!fmtA.equals(fmtB))
+            errln("Fail: DateFormat unequal when Calendars equivalent");
+        logln("DateFormat.equals ok");
+    }
+        
+    /* The java.text.DateFormat.parse(String) method expects for the
+      US locale a string formatted according to mm/dd/yy and parses it
+      correctly.
+    
+      When given a string mm/dd/yyyy it only parses up to the first
+      two y's, typically resulting in a date in the year 1919.
+      
+      Please extend the parsing method(s) to handle strings with
+      four-digit year values (probably also applicable to various
+      other locales.  */
+    /**
+     * @bug 4073003
+     */
+    public void Test4073003() {
+        try {
+            DateFormat fmt = DateFormat.getDateInstance(DateFormat.SHORT, Locale.US);
+            String tests[] = {"12/25/61", "12/25/1961", "4/3/2010", "4/3/10"};
+            for (int i = 0; i < 4; i += 2) {
+                Date d = fmt.parse(tests[i]);
+                Date dd = fmt.parse(tests[i + 1]);
+                String s;
+                s = fmt.format(d);
+                String ss;
+                ss = fmt.format(dd);
+                if (d.getTime() != dd.getTime())
+                    errln("Fail: " + d + " != " + dd);
+                if (!s.equals(ss))
+                    errln("Fail: " + s + " != " + ss);
+                logln("Ok: " + s + " " + d);
+            }
+        } catch (ParseException e) {
+            errln("Fail: " + e);
+            e.printStackTrace();
+        }    
+    }
+    
+    /**
+     * @bug 4089106
+     */
+    public void Test4089106() {
+        TimeZone def = TimeZone.getDefault();
+        try {
+            TimeZone z = new SimpleTimeZone((int) (1.25 * 3600000), "FAKEZONE");
+            TimeZone.setDefault(z);
+            SimpleDateFormat f = new SimpleDateFormat();
+            if (!f.getTimeZone().equals(z))
+                errln("Fail: SimpleTimeZone should use TimeZone.getDefault()");
+        } finally {
+            TimeZone.setDefault(def);
+        }
+    }
+    
+    /**
+     * @bug 4100302
+     */
+    public void Test4100302() {
+        
+        Locale locales[] = {
+            Locale.CANADA, Locale.CANADA_FRENCH, Locale.CHINA, 
+            Locale.CHINESE, Locale.ENGLISH, Locale.FRANCE, Locale.FRENCH, 
+            Locale.GERMAN, Locale.GERMANY, Locale.ITALIAN, Locale.ITALY, 
+            Locale.JAPAN, Locale.JAPANESE, Locale.KOREA, Locale.KOREAN, 
+            Locale.PRC, Locale.SIMPLIFIED_CHINESE, Locale.TAIWAN, 
+            Locale.TRADITIONAL_CHINESE, Locale.UK, Locale.US}; 
+        try {
+            boolean pass = true;
+            for (int i = 0; i < 21; i++) {
+                Format format = DateFormat.getDateTimeInstance(DateFormat.FULL, DateFormat.FULL, locales[i]); 
+                byte[] bytes;
+                ByteArrayOutputStream baos = new ByteArrayOutputStream();
+                ObjectOutputStream oos = new ObjectOutputStream(baos);
+                oos.writeObject(format);
+                oos.flush();
+                baos.close();
+                bytes = baos.toByteArray();
+                ObjectInputStream ois = new ObjectInputStream(new ByteArrayInputStream(bytes));
+                Object o = ois.readObject();
+                if (!format.equals(o)) {
+                    pass = false;
+                    logln("DateFormat instance for locale " + locales[i] + " is incorrectly serialized/deserialized."); 
+                } else {
+                    logln("DateFormat instance for locale " + locales[i] + " is OKAY.");
+                }
+            }
+            if (!pass)
+                errln("Fail: DateFormat serialization/equality bug");
+        } catch (OptionalDataException e) {
+            errln("Fail: " + e);
+        } catch (IOException e) {
+            errln("Fail: " + e);
+        } catch (ClassNotFoundException e) {
+            errln("Fail: " + e);
+        }
+    
+    }
+    
+    /**
+     * @bug 4101483
+     */
+    public void Test4101483() {
+        SimpleDateFormat sdf = new SimpleDateFormat("z", Locale.US);
+        FieldPosition fp = new FieldPosition(DateFormat.TIMEZONE_FIELD);
+        Date d = new Date(9234567890L);
+        StringBuffer buf = new StringBuffer("");
+        sdf.format(d, buf, fp);
+        logln(sdf.format(d, buf, fp).toString());
+        logln("beginIndex = " + fp.getBeginIndex());
+        logln("endIndex = " + fp.getEndIndex());
+        if (fp.getBeginIndex() == fp.getEndIndex())
+            errln("Fail: Empty field");
+    }
+    
+    /**
+     * @bug 4103340
+     * @bug 4138203
+     * This bug really only works in Locale.US, since that's what the locale
+     * used for Date.toString() is.  Bug 4138203 reports that it fails on Korean
+     * NT; it would actually have failed on any non-US locale.  Now it should
+     * work on all locales.
+     */
+    public void Test4103340() {
+    
+        // choose a date that is the FIRST of some month 
+        // and some arbitrary time
+        Calendar cal = Calendar.getInstance();
+        cal.clear();
+        cal.set(1997, 3, 1, 1, 1, 1);
+        Date d = cal.getTime(); 
+        SimpleDateFormat df = new SimpleDateFormat("MMMM", Locale.US);
+        String s = d.toString();
+        StringBuffer s2 = new StringBuffer("");
+        FieldPosition pos = new FieldPosition(0);
+        s2 = df.format(d, s2, pos);
+        logln("Date=" + s); 
+        logln("DF=" + s2);
+        String substr = s2.substring(0,2);
+        if (s.indexOf(substr) == -1)
+          errln("Months should match");
+    }
+    
+    /**
+     * @bug 4103341
+     */
+    public void Test4103341() {
+        TimeZone saveZone = TimeZone.getDefault();
+        try {
+            // {sfb} changed from adoptDefault to setDefault
+            TimeZone.setDefault(TimeZone.getTimeZone("CST"));
+            SimpleDateFormat simple = new SimpleDateFormat("MM/dd/yyyy HH:mm");
+            TimeZone temp = TimeZone.getDefault();
+            if (!simple.getTimeZone().equals(temp))
+                errln("Fail: SimpleDateFormat not using default zone");
+        } finally {
+            TimeZone.setDefault(saveZone);
+        }
+    }
+    
+    /**
+     * @bug 4104136
+     */
+    public void Test4104136() {
+        SimpleDateFormat sdf = new SimpleDateFormat();
+        String pattern = "'time' hh:mm";
+        sdf.applyPattern(pattern);
+        logln("pattern: \"" + pattern + "\"");
+        String strings[] = {"time 10:30", "time 10:x", "time 10x"};
+        ParsePosition ppos[] = {new ParsePosition(10), new ParsePosition(0), new ParsePosition(0)};
+        Calendar cal = Calendar.getInstance();
+        cal.clear();
+        cal.set(1970, Calendar.JANUARY, 1, 10, 30);
+        Date dates[] = {cal.getTime(), new Date(-1), new Date(-1)};
+        for (int i = 0; i < 3; i++) {
+            String text = strings[i];
+            ParsePosition finish = ppos[i];
+            Date exp = dates[i];
+            ParsePosition pos = new ParsePosition(0);
+            Date d = sdf.parse(text, pos);
+            logln(" text: \"" + text + "\"");
+            logln(" index: %d" + pos.getIndex());
+            logln(" result: " + d);
+            if (pos.getIndex() != finish.getIndex())
+                errln("Fail: Expected pos " + finish.getIndex());
+            if (!((d == null && exp.equals(new Date(-1))) || (d.equals(exp))))
+                errln( "Fail: Expected result " + exp);
+        }
+    }
+    
+    /**
+     * @bug 4104522
+     * CANNOT REPRODUCE
+     * According to the bug report, this test should throw a
+     * StringIndexOutOfBoundsException during the second parse.  However,
+     * this is not seen.
+     */
+    public void Test4104522() {
+        SimpleDateFormat sdf = new SimpleDateFormat();
+        String pattern = "'time' hh:mm";
+        sdf.applyPattern(pattern);
+        logln("pattern: \"" + pattern + "\"");
+        // works correctly
+        ParsePosition pp = new ParsePosition(0);
+        String text = "time ";
+        Date dt = sdf.parse(text, pp);
+        logln(" text: \"" + text + "\"" + " date: " + dt);
+        // works wrong
+        pp.setIndex(0);
+        text = "time";
+        dt = sdf.parse(text, pp);
+        logln(" text: \"" + text + "\"" + " date: " + dt);    
+    }
+    
+    /**
+     * @bug 4106807
+     */
+    public void Test4106807() {
+        Date dt;
+        DateFormat df = DateFormat.getDateTimeInstance();
+    
+        SimpleDateFormat sdfs[] = {
+                new SimpleDateFormat("yyyyMMddHHmmss"), 
+                new SimpleDateFormat("yyyyMMddHHmmss'Z'"), 
+                new SimpleDateFormat("yyyyMMddHHmmss''"), 
+                new SimpleDateFormat("yyyyMMddHHmmss'a''a'"), 
+                new SimpleDateFormat("yyyyMMddHHmmss %")}; 
+        String strings[] = {
+                "19980211140000", 
+                "19980211140000", 
+                "19980211140000", 
+                "19980211140000a", 
+                "19980211140000 "}; 
+        GregorianCalendar gc = new GregorianCalendar();
+        TimeZone timeZone = TimeZone.getDefault();
+        TimeZone gmt = (TimeZone) timeZone.clone();
+        gmt.setRawOffset(0);
+        for (int i = 0; i < 5; i++) {
+            SimpleDateFormat format = sdfs[i];
+            String dateString = strings[i];
+            try {
+                format.setTimeZone(gmt);
+                dt = format.parse(dateString);
+                // {sfb} some of these parses will fail purposely
+    
+                StringBuffer fmtd = new StringBuffer("");
+                FieldPosition pos = new FieldPosition(0);
+                fmtd = df.format(dt, fmtd, pos);
+                logln(fmtd.toString());
+                //logln(df.format(dt)); 
+                gc.setTime(dt);
+                logln("" + gc.get(Calendar.ZONE_OFFSET));
+                StringBuffer s = new StringBuffer("");
+                s = format.format(dt, s, pos);
+                logln(s.toString());
+            } catch (ParseException e) {
+                logln("No way Jose");
+            }
+        }
+    }
+    
+    /*
+      Synopsis: Chinese time zone CTT is not recogonized correctly.
+      Description: Platform Chinese Windows 95 - ** Time zone set to CST ** 
+      */
+    /**
+     * @bug 4108407
+     */
+    
+    // {sfb} what to do with this one ?? 
+    public void Test4108407() {
+        /*
+    // TODO user.timezone is a protected system property, catch securityexception and warn
+    // if this is reenabled
+        long l = System.currentTimeMillis(); 
+        logln("user.timezone = " + System.getProperty("user.timezone", "?"));
+        logln("Time Zone :" + 
+                           DateFormat.getDateInstance().getTimeZone().getID()); 
+        logln("Default format :" + 
+                           DateFormat.getDateInstance().format(new Date(l))); 
+        logln("Full format :" + 
+                           DateFormat.getDateInstance(DateFormat.FULL).format(new 
+                                                                              Date(l))); 
+        logln("*** Set host TZ to CST ***");
+        logln("*** THE RESULTS OF THIS TEST MUST BE VERIFIED MANUALLY ***");
+        */
+    }
+    
+    /**
+     * @bug 4134203
+     * SimpleDateFormat won't parse "GMT"
+     */
+    public void Test4134203() {
+        String dateFormat = "MM/dd/yy HH:mm:ss zzz";
+        SimpleDateFormat fmt = new SimpleDateFormat(dateFormat);
+    
+        ParsePosition p0 = new ParsePosition(0);
+        Date d = fmt.parse("01/22/92 04:52:00 GMT", p0);
+        logln(d.toString());
+        if(p0.equals(new ParsePosition(0)))
+            errln("Fail: failed to parse 'GMT'");
+        // In the failure case an exception is thrown by parse();
+        // if no exception is thrown, the test passes.
+    }
+    
+    /**
+     * @bug 4151631
+     * SimpleDateFormat incorrect handling of 2 single quotes in format()
+     */
+    public void Test4151631() {
+        String pattern = 
+            "'TO_DATE('''dd'-'MM'-'yyyy HH:mm:ss''' , ''DD-MM-YYYY HH:MI:SS'')'"; 
+        logln("pattern=" + pattern);
+        SimpleDateFormat format = new SimpleDateFormat(pattern, Locale.US);
+        StringBuffer result = new StringBuffer("");
+        FieldPosition pos = new FieldPosition(0);
+        Calendar cal = Calendar.getInstance();
+        cal.clear();
+        cal.set(1998, Calendar.JUNE, 30, 13, 30, 0);
+        Date d = cal.getTime();
+        result = format.format(d, result, pos); 
+        if (!result.toString().equals("TO_DATE('30-06-1998 13:30:00' , 'DD-MM-YYYY HH:MI:SS')")) {
+            errln("Fail: result=" + result);
+        } else {
+            logln("Pass: result=" + result);
+        }
+    }
+    
+    /**
+     * @bug 4151706
+     * 'z' at end of date format throws index exception in SimpleDateFormat
+     * CANNOT REPRODUCE THIS BUG ON 1.2FCS
+     */
+    public void Test4151706() {
+        String dateString = "Thursday, 31-Dec-98 23:00:00 GMT";
+        SimpleDateFormat fmt = new SimpleDateFormat("EEEE, dd-MMM-yy HH:mm:ss z", Locale.US);
+        Calendar cal = Calendar.getInstance(TimeZone.getTimeZone("UTC"), Locale.US);
+        cal.clear();
+        cal.set(1998, Calendar.DECEMBER, 31, 23, 0, 0);
+        Date d = new Date();
+        try {
+            d = fmt.parse(dateString);
+            // {sfb} what about next two lines?
+            if (d.getTime() != cal.getTime().getTime())
+                errln("Incorrect value: " + d);
+        } catch (Exception e) {
+            errln("Fail: " + e);
+        }
+        StringBuffer temp = new StringBuffer("");
+        FieldPosition pos = new FieldPosition(0);
+        logln(dateString + " . " + fmt.format(d, temp, pos));
+    }
+    
+    /**
+     * @bug 4162071
+     * Cannot reproduce this bug under 1.2 FCS -- it may be a convoluted duplicate
+     * of some other bug that has been fixed.
+     */
+    public void Test4162071() {
+        String dateString = "Thu, 30-Jul-1999 11:51:14 GMT";
+        String format = "EEE', 'dd-MMM-yyyy HH:mm:ss z"; // RFC 822/1123
+        SimpleDateFormat df = new SimpleDateFormat(format, Locale.US);
+        try {
+            Date x = df.parse(dateString);
+            StringBuffer temp = new StringBuffer("");
+            FieldPosition pos = new FieldPosition(0);
+            logln(dateString + " -> " + df.format(x, temp, pos));
+        } catch (Exception e) {
+            errln("Parse format \"" + format + "\" failed.");
+        }
+    }
+    
+    /**
+     * DateFormat shouldn't parse year "-1" as a two-digit year (e.g., "-1" . 1999).
+     */
+    public void Test4182066() {
+        SimpleDateFormat fmt = new SimpleDateFormat("MM/dd/yy", Locale.US);
+        SimpleDateFormat dispFmt = new SimpleDateFormat("MMM dd yyyy HH:mm:ss GG", Locale.US);
+        /* We expect 2-digit year formats to put 2-digit years in the right
+         * window.  Out of range years, that is, anything less than "00" or
+         * greater than "99", are treated as literal years.  So "1/2/3456"
+         * becomes 3456 AD.  Likewise, "1/2/-3" becomes -3 AD == 2 BC.
+         */
+        final String STRINGS[] = 
+            {"02/29/00", "01/23/01", "04/05/-1", "01/23/-9", "11/12/1314", "10/31/1", "09/12/+1", "09/12/001",}; 
+        int STRINGS_COUNT = STRINGS.length;
+                
+        Calendar cal = Calendar.getInstance();
+        Date FAIL_DATE = cal.getTime();
+        cal.clear();
+        cal.set(2000, Calendar.FEBRUARY, 29);
+        Date d0 = cal.getTime();
+        cal.clear();
+        cal.set(2001, Calendar.JANUARY, 23);
+        Date d1 = cal.getTime();
+        cal.clear();
+        cal.set(-1, Calendar.APRIL, 5);
+        Date d2 = cal.getTime();
+        cal.clear();
+        cal.set(-9, Calendar.JANUARY, 23);
+        Date d3 = cal.getTime();
+        cal.clear();
+        cal.set(1314, Calendar.NOVEMBER, 12);
+        Date d4 = cal.getTime();
+        cal.clear();
+        cal.set(1, Calendar.OCTOBER, 31);
+        Date d5 = cal.getTime();
+        cal.clear();        
+        cal.set(1, Calendar.SEPTEMBER, 12);
+        Date d7 = cal.getTime();
+        Date DATES[] = {d0, d1, d2, d3, d4, d5, FAIL_DATE, d7};
+    
+        String out = "";
+        boolean pass = true;
+        for (int i = 0; i < STRINGS_COUNT; ++i) {
+            String str = STRINGS[i];
+            Date expected = DATES[i];            
+            Date actual = null;
+            try {
+                actual = fmt.parse(str);
+            } catch (ParseException e) {
+                actual = FAIL_DATE;
+            }
+            String actStr = "";
+            if ((actual.getTime()) == FAIL_DATE.getTime()) {
+                actStr += "null";
+            } else {
+                // Yuck: See j25
+                actStr = ((DateFormat) dispFmt).format(actual);
+            }
+                               
+            if (expected.getTime() == (actual.getTime())) {
+                out += str + " => " + actStr + "\n";
+            } else {
+                String expStr = "";
+                if (expected.getTime() == FAIL_DATE.getTime()) {
+                    expStr += "null";
+                } else {
+                    // Yuck: See j25
+                    expStr = ((DateFormat) dispFmt).format(expected);
+                }
+                out += "FAIL: " + str + " => " + actStr + ", expected " + expStr + "\n";
+                pass = false;
+            }
+        }
+        if (pass) {
+            log(out);
+        } else {
+            err(out);
+        }
+    }
+    
+    /**
+     * j32 {JDK Bug 4210209 4209272}
+     * DateFormat cannot parse Feb 29 2000 when setLenient(false)
+     */
+    public void Test4210209() {
+    
+        String pattern = "MMM d, yyyy";
+        DateFormat fmt = new SimpleDateFormat(pattern, Locale.US);
+        DateFormat disp = new SimpleDateFormat("MMM dd yyyy GG", Locale.US);
+    
+        Calendar calx = fmt.getCalendar();
+        calx.setLenient(false);
+        Calendar calendar = Calendar.getInstance();
+        calendar.clear();
+        calendar.set(2000, Calendar.FEBRUARY, 29);
+        Date d = calendar.getTime();
+        String s = fmt.format(d);
+        logln(disp.format(d) + " f> " + pattern + " => \"" + s + "\"");
+        ParsePosition pos = new ParsePosition(0);
+        d = fmt.parse(s, pos);
+        logln("\"" + s + "\" p> " + pattern + " => " +
+              (d!=null?disp.format(d):"null"));
+        logln("Parse pos = " + pos.getIndex() + ", error pos = " + pos.getErrorIndex());
+        if (pos.getErrorIndex() != -1) {
+            errln("FAIL: Error index should be -1");
+        }
+    
+        // The underlying bug is in GregorianCalendar.  If the following lines
+        // succeed, the bug is fixed.  If the bug isn't fixed, they will throw
+        // an exception.
+        GregorianCalendar cal = new GregorianCalendar();
+        cal.clear();
+        cal.setLenient(false);
+        cal.set(2000, Calendar.FEBRUARY, 29); // This should work!
+        d = cal.getTime();
+        logln("Attempt to set Calendar to Feb 29 2000: " + disp.format(d));
+    }
+    
+    public void Test714() {
+        //TimeZone Offset
+        TimeZone defaultTZ = TimeZone.getDefault();
+        TimeZone PST = TimeZone.getTimeZone("PST");
+        int defaultOffset = defaultTZ.getRawOffset();
+        int PSTOffset = PST.getRawOffset();
+        Date d = new Date(978103543000l - (defaultOffset - PSTOffset));
+        d = new Date(d.getTime() - (defaultTZ.inDaylightTime(d) ? 3600000 : 0));
+        DateFormat fmt = DateFormat.getDateTimeInstance(-1, DateFormat.MEDIUM, Locale.US);
+        String tests = "7:25:43 AM";
+        String s = fmt.format(d);
+        if (!s.equals(tests)) {
+            errln("Fail: " + s + " != " + tests);
+        } else {
+            logln("OK: " + s + " == " + tests);
+        }
+    }
+
+    static final char kArabicZero = 0x0660;
+    static final char kHindiZero  = 0x0966;
+    static final char kLatinZero  = 0x0030;
+
+    public void TestHindiArabicDigits()
+    {
+        String s;
+        char first;
+        String what;
+
+        {
+            DateFormat df = DateFormat.getInstance(new GregorianCalendar(), new Locale("hi","IN"));
+            what = "Gregorian Calendar, hindi";
+            s = df.format(new Date(0)); /* 31/12/1969 */
+            logln(what + "=" + s);
+            first = s.charAt(0);
+            if(first<kHindiZero || first>(kHindiZero+9)) {
+                errln(what + "- wrong digit,  got " + s + " (integer digit value " + new Integer((int)first).toString());
+            }
+        }
+
+        {
+            DateFormat df = DateFormat.getInstance(new IslamicCalendar(), new Locale("ar","IQ"));
+            s = df.format(new Date(0)); /* 21/10/1989 */
+            what = "Islamic Calendar, Arabic";
+            logln(what + ": " + s);
+            first = s.charAt(0);
+            if(first<kArabicZero || first>(kArabicZero+9)) {
+                errln(what + " wrong digit, got " + s + " (integer digit value " + new Integer((int)first).toString());
+            }
+        }
+
+        {
+            DateFormat df = DateFormat.getInstance(new GregorianCalendar(), new Locale("ar","IQ"));
+            s = df.format(new Date(0)); /* 31/12/1969 */
+            what = "Gregorian,  ar_IQ, df.getInstance";
+            logln(what + ": " + s);
+            first = s.charAt(0);
+            if(first<kArabicZero || first>(kArabicZero+9)) {
+                errln(what + " wrong  digit but got " + s + " (integer digit value " + new Integer((int)first).toString());
+            }
+        }
+        {
+            DateFormat df = DateFormat.getInstance(new GregorianCalendar(), new Locale("mt","MT"));
+            s = df.format(new Date(0)); /* 31/12/1969 */
+            what = "Gregorian,  mt_MT, df.getInstance";
+            logln(what + ": " + s);
+            first = s.charAt(0);
+            if(first<kLatinZero || first>(kLatinZero+9)) {
+                errln(what + " wrong  digit but got " + s + " (integer digit value " + new Integer((int)first).toString());
+            }
+        }
+
+        {
+            DateFormat df = DateFormat.getInstance(new IslamicCalendar(), new Locale("ar","IQ"));
+            s = df.format(new Date(0)); /* 31/12/1969 */
+            what = "Islamic calendar, ar_IQ, df.getInstance";
+            logln(what+ ": " + s);
+            first = s.charAt(0);
+            if(first<kArabicZero || first>(kArabicZero+9)) {
+                errln(what + " wrong  digit but got " + s + " (integer digit value " + new Integer((int)first).toString());
+            }
+        }
+
+        {
+            DateFormat df = DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.SHORT, new Locale("ar","IQ"));
+            s = df.format(new Date(0)); /* 31/12/1969 */
+            what = "ar_IQ, getDateTimeInstance";
+            logln(what+ ": " + s);
+            first = s.charAt(0);
+            if(first<kArabicZero || first>(kArabicZero+9)) {
+                errln(what + " wrong  digit but got " + s + " (integer digit value " + new Integer((int)first).toString());
+            }
+        }
+
+        {
+            DateFormat df = DateFormat.getInstance(new JapaneseCalendar(), new Locale("ar","IQ"));
+            s = df.format(new Date(0)); /* 31/12/1969 */
+            what = "ar_IQ, Japanese Calendar, getInstance";
+            logln(what+ ": " + s);
+            first = s.charAt(0);
+            if(first<kArabicZero || first>(kArabicZero+9)) {
+                errln(what + " wrong  digit but got " + s + " (integer digit value " + new Integer((int)first).toString());
+            }
+        }
+    }
+}
diff --git a/src/com/ibm/icu/dev/test/format/DateFormatRegressionTestJ.java b/src/com/ibm/icu/dev/test/format/DateFormatRegressionTestJ.java
new file mode 100755
index 0000000..14464f2
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/format/DateFormatRegressionTestJ.java
@@ -0,0 +1,287 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2001-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+/*
+ * New added, 2001-10-17 [Jing/GCL]
+ */
+
+package com.ibm.icu.dev.test.format;
+
+import com.ibm.icu.text.*;
+import com.ibm.icu.util.*;
+import java.util.Date;
+import java.text.ParseException;
+import java.text.ParsePosition;
+import java.util.Locale;
+
+public class DateFormatRegressionTestJ extends com.ibm.icu.dev.test.TestFmwk {
+    
+    private static final String TIME_STRING = "2000/11/17 08:01:00";
+    private static final long UTC_LONG = 974476860000L;
+    private static SimpleDateFormat sdf_;
+    
+    protected void init()throws Exception{
+        sdf_ = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
+        
+    }
+    public static void main(String[] args) throws Exception {
+        new DateFormatRegressionTestJ().run(args);
+    }
+    
+    //Return value of getAmPmStrings
+    public void Test4103926() {
+        String act_Ampms[];
+        String exp_Ampms[]={"AM","PM"};
+        Locale.setDefault(Locale.US);
+        
+        DateFormatSymbols dfs = new DateFormatSymbols();
+        act_Ampms = dfs.getAmPmStrings();
+        if(act_Ampms.length != exp_Ampms.length) {
+            errln("The result is not expected!");
+        } else {
+            for(int i =0; i<act_Ampms.length; i++) {
+                if(!act_Ampms[i].equals(exp_Ampms[i]))
+                    errln("The result is not expected!");
+            }
+        }
+    }
+    
+    //Missing digit in millisecone format in SimpleDateFormat 
+    public void Test4148168() {
+            Date d = new Date(1002705212906l); 
+            String[] ISOPattern = {
+                "''yyyy-MM-dd-hh.mm.ss.S''", "''yyyy-MM-dd-hh.mm.ss.SS''", 
+                "''yyyy-MM-dd-hh.mm.ss.SSS''", "''yyyy-MM-dd-hh.mm.ss.SSSS''", 
+                "''yyyy-MM-dd-hh.mm.ss.SSSSS''", "''yyyy-MM-dd-hh.mm.ss.SSSSSS''", 
+                "''yyyy-MM-dd-hh.mm.ss.SSSSSSS''", "''yyyy-MM-dd-hh.mm.ss.SSS000''"};
+            SimpleDateFormat aSimpleDF = (SimpleDateFormat)DateFormat.getDateTimeInstance();
+    
+            for(int i = 0; i<ISOPattern.length; i++) {
+                aSimpleDF.applyPattern( ISOPattern[i] );
+                logln( "Pattern = " + aSimpleDF.toPattern());
+                logln( "Format = " + aSimpleDF.format(d));
+            }
+    }
+    
+    //DateFormat getDateTimeInstance(int, int), invalid styles no exception
+    public void Test4213086() {
+        Date someDate = new Date();
+        String d=null;
+        try {
+            DateFormat df2 = DateFormat.getDateTimeInstance(2, -2);
+            d = df2.format(someDate);
+            errln("we should catch an exception here");
+        } catch(Exception e){
+            logln("dateStyle = 2" + "\t timeStyle = -2");
+            logln("Exception caught!");
+        }            
+        
+        try {
+            DateFormat df3 = DateFormat.getDateTimeInstance(4, 2);
+            d = df3.format(someDate);
+            errln("we should catch an exception here");
+        } catch(Exception e){
+            logln("dateStyle = 4" + "\t timeStyle = 2");
+            logln("Exception caught!");
+            logln("********************************************");
+        }
+    
+        try {
+            DateFormat df4 = DateFormat.getDateTimeInstance(-12, -12);
+            d = df4.format(someDate);
+            errln("we should catch an exception here");
+        } catch(Exception e){
+            logln("dateStyle = -12" + "\t timeStyle = -12");
+            logln("Exception caught!");
+            logln("********************************************");
+        }
+    
+        try{
+            DateFormat df5 = DateFormat.getDateTimeInstance(2, 123);
+            d = df5.format(someDate);    
+            errln("we should catch an exception here");
+        } catch(Exception e){
+            logln("dateStyle = 2" + "\t timeStyle = 123");
+            logln("Exception caught!");
+            logln("********************************************");
+        }
+        //read the value in d to get rid of the warning
+        if(d!=null){
+            logln("The value of d: " + d);
+        }
+    }
+    
+    //DateFormat.format works wrongly?
+    public void Test4250359() {
+        Locale.setDefault(Locale.US);
+        Calendar cal = Calendar.getInstance();
+        cal.clear();
+        cal.set(101 + 1900, 9, 9, 17, 53);
+        Date d = cal.getTime();
+        DateFormat tf = DateFormat.getTimeInstance(DateFormat.SHORT);
+        String act_result = tf.format(d);
+        String exp_result = "5:53 PM";
+        
+        if(!act_result.equals(exp_result)){
+            errln("The result is not expected");
+        }
+    }
+    
+    //pattern "s.S, parse '1ms'"
+    public void Test4253490() {
+        Date d = new Date(1002705212231l);
+    
+        String[] ISOPattern = {
+                "''yyyy-MM-dd-hh.mm.ss.S''", 
+                "''yyyy-MM-dd-hh.mm.ss.SS''", 
+                "''yyyy-MM-dd-hh.mm.ss.SSS''", 
+                "''yyyy-MM-dd-hh.mm.ss.SSSS''", 
+                "''yyyy-MM-dd-hh.mm.ss.SSSSS''", 
+                "''yyyy-MM-dd-hh.mm.ss.SSSSSS''", 
+                "''yyyy-MM-dd-hh.mm.ss.SSSSSSS''"}; 
+    
+        SimpleDateFormat aSimpleDF = (SimpleDateFormat) DateFormat.getDateTimeInstance();
+        for (int i = 0; i < ISOPattern.length; i++) {
+            aSimpleDF.applyPattern(ISOPattern[i]);
+            logln("Pattern = " + aSimpleDF.toPattern());
+            logln("Format = " + aSimpleDF.format(d));
+        }
+    }
+    
+    //about regression test
+    public void Test4266432() {
+        Locale.setDefault(Locale.JAPAN);
+        Locale loc = Locale.getDefault();
+        String dateFormat = "MM/dd/yy HH:mm:ss zzz";
+        SimpleDateFormat fmt = new SimpleDateFormat(dateFormat);
+    
+        ParsePosition p0 = new ParsePosition(0);
+        logln("Under  " + loc +"  locale");
+        Date d = fmt.parse("01/22/92 04:52:00 GMT", p0);
+        logln(d.toString());
+    }
+    
+    //SimpleDateFormat inconsistent for number of digits for years
+    public void Test4358730() {
+        SimpleDateFormat sdf = new SimpleDateFormat();
+        Calendar cal = Calendar.getInstance();
+        cal.clear();
+        cal.set(2001,11,10);
+        Date today = cal.getTime();
+    
+        sdf.applyPattern("MM d y");
+        logln(sdf.format(today));
+        sdf.applyPattern("MM d yy");
+        logln(sdf.format(today));
+    
+        sdf.applyPattern("MM d yyy");
+        logln(sdf.format(today));
+    
+        sdf.applyPattern("MM d yyyy");
+        logln(sdf.format(today));
+    
+        sdf.applyPattern("MM d yyyyy");
+        logln(sdf.format(today));
+    }
+    
+    //Parse invalid string
+    public void Test4375399() {
+        final String pattern = new String("yyyy.MM.dd G 'at' hh:mm:ss z");
+        SimpleDateFormat sdf = new SimpleDateFormat(pattern, Locale.JAPAN);
+        try{
+            Date currentTime = sdf.parse("vggf 20  01.0 9.29 ap. J.-C. at 05:26:33 GMT+08:00",
+                                new ParsePosition(0));
+            if(currentTime ==null)
+                logln("parse right");
+        } catch(Exception e){
+            errln("Error");
+        }
+    }
+    /*
+    public void Test4407042() {
+        DateParseThread d1 = new DateParseThread();
+        DateFormatThread d2 = new DateFormatThread();
+        d1.start();
+        d2.start();
+        try {
+            logln("test");
+            Thread.sleep(1000);
+        } catch (Exception e) {}
+    }*/
+    
+    public void Test4468663() {
+        Date d =new Date(-93716671115767l);
+        String origin_d = d.toString();
+        String str;
+        final String pattern = new String("EEEE, MMMM d, yyyy");
+        SimpleDateFormat sdf = new SimpleDateFormat(pattern);
+
+        if (sdf.getTimeZone().useDaylightTime()) {
+            logln("original date: " + origin_d.toString());
+            str = sdf.format(d);
+            logln(" after format----->" + str);
+            
+            d = sdf.parse(str, new ParsePosition(0));
+            logln(" after parse----->" + d.toString());
+    
+            str = sdf.format(d);
+            logln(" after format----->" + str);
+    
+            d = sdf.parse(str, new ParsePosition(0));
+            logln(" after parse----->" + d.toString());
+    
+            str = sdf.format(d);
+            logln(" after format----->" + str);        
+        }
+    }
+    
+    //Class used by Test4407042
+    class DateParseThread extends Thread {
+        public void run() {
+            SimpleDateFormat sdf = (SimpleDateFormat) sdf_.clone();
+            TimeZone defaultTZ = TimeZone.getDefault();
+            TimeZone PST = TimeZone.getTimeZone("PST");
+            int defaultOffset = defaultTZ.getRawOffset();
+            int PSTOffset = PST.getRawOffset();
+            int offset = defaultOffset - PSTOffset;
+            long ms = UTC_LONG - offset;
+            try {
+                int i = 0;
+                while (i < 10000) {
+                    Date date = sdf.parse(TIME_STRING);
+                    long t = date.getTime();
+                    i++;
+                    if (t != ms) {
+                        throw new ParseException("Parse Error: " + i + " (" + sdf.format(date) 
+                                  + ") " + t + " != " + ms, 0);
+                    }
+                }
+            } catch (Exception e) {
+                errln("parse error: " + e.getMessage());
+            }
+        }
+    }
+    
+    //Class used by Test4407042
+    class DateFormatThread extends Thread {
+        public void run() {            
+            SimpleDateFormat sdf = (SimpleDateFormat) sdf_.clone();
+            TimeZone tz = TimeZone.getTimeZone("PST");
+            sdf.setTimeZone(tz);
+            int i = 0;
+            while (i < 10000) {
+                i++;
+                String s = sdf.format(new Date(UTC_LONG));
+                if (!s.equals(TIME_STRING)) {
+                    errln("Format Error: " + i + " " + s + " != " 
+                                    + TIME_STRING);
+                }
+            }
+        }
+    }
+    
+}
diff --git a/src/com/ibm/icu/dev/test/format/DateFormatRoundTripTest.java b/src/com/ibm/icu/dev/test/format/DateFormatRoundTripTest.java
new file mode 100755
index 0000000..ef96695
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/format/DateFormatRoundTripTest.java
@@ -0,0 +1,268 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2001-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+/** 
+ * Port From:   ICU4C v1.8.1 : format : DateFormatRoundTripTest
+ * Source File: $ICU4CRoot/source/test/intltest/dtfmtrtts.cpp
+ **/
+
+package com.ibm.icu.dev.test.format;
+
+import com.ibm.icu.text.*;
+import com.ibm.icu.util.*;
+import java.util.Locale;
+import java.util.Date;
+import java.util.Random;
+import java.text.FieldPosition;
+import java.text.ParseException;
+
+/** 
+ * Performs round-trip tests for DateFormat
+ **/
+public class DateFormatRoundTripTest extends com.ibm.icu.dev.test.TestFmwk {
+    public boolean INFINITE = false;
+    public boolean quick = true;
+    private SimpleDateFormat dateFormat;
+    private Calendar getFieldCal;
+    private int SPARSENESS = 18;
+    private int TRIALS = 4;
+    private int DEPTH = 5;
+    private Random ran;
+
+    public static void main(String[] args) throws Exception {
+        new DateFormatRoundTripTest().run(args);
+    }
+    
+    public void TestDateFormatRoundTrip() {
+        dateFormat = new SimpleDateFormat("EEE MMM dd HH:mm:ss.SSS zzz yyyy G");
+        getFieldCal = Calendar.getInstance();
+    ran = createRandom(); // use test framework's random seed
+
+        final Locale[] avail = DateFormat.getAvailableLocales();
+        int locCount = avail.length;
+        logln("DateFormat available locales: " + locCount);
+        if (quick) {
+            if (locCount > 5)
+                locCount = 5;
+            logln("Quick mode: only testing first 5 Locales");
+        }
+        TimeZone tz = TimeZone.getDefault();
+        logln("Default TimeZone:             " + tz.getID());
+    
+        if (INFINITE) {
+            // Special infinite loop test mode for finding hard to reproduce errors
+            Locale loc = Locale.getDefault();
+            logln("ENTERING INFINITE TEST LOOP FOR Locale: " + loc.getDisplayName());
+            for (;;) {
+                _test(loc);
+            }
+        } else {        
+            _test(Locale.getDefault());
+            for (int i = 0; i < locCount; ++i) {
+                _test(avail[i]);
+            }
+        }
+    }
+    
+    public String styleName(int s) {
+        switch (s) {
+            case DateFormat.SHORT :
+                return "SHORT";
+            case DateFormat.MEDIUM :
+                return "MEDIUM";
+            case DateFormat.LONG :
+                return "LONG";
+            case DateFormat.FULL :
+                return "FULL";
+            default :
+                return "Unknown";
+        }
+    }
+    
+    public void _test(Locale loc) {
+        if (!INFINITE) {
+            logln("Locale: " + loc.getDisplayName());
+        }
+        // Total possibilities = 24
+        //  4 date
+        //  4 time
+        //  16 date-time
+        boolean[] TEST_TABLE = new boolean[24];
+        int i = 0;
+        for (i = 0; i < 24; ++i)
+            TEST_TABLE[i] = true;
+    
+        // If we have some sparseness, implement it here.  Sparseness decreases
+        // test time by eliminating some tests, up to 23.
+        for (i = 0; i < SPARSENESS; i++) {
+            int random = (int) (ran.nextDouble() * 24);
+            if (random >= 0 && random < 24 && TEST_TABLE[i]) {
+                TEST_TABLE[random] = false;
+            }
+        }    
+        
+        int itable = 0;
+        int style = 0;
+        for (style = DateFormat.FULL; style <= DateFormat.SHORT; ++style) {
+            if (TEST_TABLE[itable++]) {
+                logln("Testing style " + styleName(style)); 
+                DateFormat df = DateFormat.getDateInstance(style, loc); 
+                _test(df, false);
+            }
+        }
+    
+        for (style = DateFormat.FULL; style <= DateFormat.SHORT; ++style) {
+            if (TEST_TABLE[itable++]) {
+                logln("Testing style " + styleName(style));
+                DateFormat  df = DateFormat.getTimeInstance(style, loc); 
+                _test(df, true);
+            }
+        }
+    
+        for (int dstyle = DateFormat.FULL; dstyle <= DateFormat.SHORT; ++dstyle) {
+            for (int tstyle = DateFormat.FULL; tstyle <= DateFormat.SHORT; ++tstyle) {
+                if (TEST_TABLE[itable++]) {
+                    logln("Testing dstyle " + styleName(dstyle) + ", tstyle " + styleName(tstyle)); 
+                    DateFormat df = DateFormat.getDateTimeInstance(dstyle, tstyle, loc); 
+                    _test(df, false);
+                }
+            }
+        }
+    }
+    
+    public void _test(DateFormat fmt, boolean timeOnly) {
+    
+        if (!(fmt instanceof SimpleDateFormat)) {
+            errln("DateFormat wasn't a SimpleDateFormat");
+            return;
+        }
+    
+        String pat = ((SimpleDateFormat) fmt).toPattern();
+        logln(pat);
+    
+        // NOTE TO MAINTAINER
+        // This indexOf check into the pattern needs to be refined to ignore
+        // quoted characters.  Currently, this isn't a problem with the locale
+        // patterns we have, but it may be a problem later.
+    
+        boolean hasEra = (pat.indexOf("G") != -1);
+        boolean hasZone = (pat.indexOf("Z") != -1) || (pat.indexOf("z") != -1);
+    
+        // Because patterns contain incomplete data representing the Date,
+        // we must be careful of how we do the roundtrip.  We start with
+        // a randomly generated Date because they're easier to generate.
+        // From this we get a string.  The string is our real starting point,
+        // because this string should parse the same way all the time.  Note
+        // that it will not necessarily parse back to the original date because
+        // of incompleteness in patterns.  For example, a time-only pattern won't
+        // parse back to the same date.
+    
+        try {
+            for (int i = 0; i < TRIALS; ++i) {
+                Date[] d = new Date[DEPTH];
+                String[] s = new String[DEPTH];
+    
+                d[0] = generateDate();
+                
+                // We go through this loop until we achieve a match or until
+                // the maximum loop count is reached.  We record the points at
+                // which the date and the string starts to match.  Once matching
+                // starts, it should continue.
+                int loop;
+                int dmatch = 0; // d[dmatch].getTime() == d[dmatch-1].getTime()
+                int smatch = 0; // s[smatch].equals(s[smatch-1])
+                for (loop = 0; loop < DEPTH; ++loop) {
+                    if (loop > 0) {
+                        d[loop] = fmt.parse(s[loop - 1]);
+                    }
+    
+                    s[loop] = fmt.format(d[loop]);
+    
+                    if (loop > 0) {
+                        if (smatch == 0) {
+                            boolean match = s[loop].equals(s[loop - 1]);
+                            if (smatch == 0) {
+                                if (match)
+                                    smatch = loop;
+                            } else
+                                if (!match)
+                                    errln("FAIL: String mismatch after match");
+                        }
+    
+                        if (dmatch == 0) {
+                            // {sfb} watch out here, this might not work
+                            boolean match = d[loop].getTime() == d[loop - 1].getTime();
+                            if (dmatch == 0) {
+                                if (match)
+                                    dmatch = loop;
+                            } else
+                                if (!match)
+                                    errln("FAIL: Date mismatch after match");
+                        }
+    
+                        if (smatch != 0 && dmatch != 0)
+                            break;
+                    }
+                }
+                // At this point loop == DEPTH if we've failed, otherwise loop is the
+                // max(smatch, dmatch), that is, the index at which we have string and
+                // date matching.
+    
+                // Date usually matches in 2.  Exceptions handled below.
+                int maxDmatch = 2;
+                int maxSmatch = 1;
+                if (dmatch > maxDmatch || smatch > maxSmatch) {
+                    //If the Date is BC
+                    if (!timeOnly && !hasEra && getField(d[0], Calendar.ERA) == GregorianCalendar.BC) {
+                        maxDmatch = 3;
+                        maxSmatch = 2;
+                    }
+                    if (hasZone && (fmt.getTimeZone().inDaylightTime(d[0]) || fmt.getTimeZone().inDaylightTime(d[1]) )) {
+                        maxSmatch = 2;
+                        if (timeOnly) {
+                            maxDmatch = 3;
+                        }
+                    }
+                }
+                    
+                if (dmatch > maxDmatch || smatch > maxSmatch) {
+                    SimpleDateFormat sdf = new SimpleDateFormat("EEEE, MMMM d, yyyy HH:mm:ss, z G", Locale.US);                    
+                    logln("Date = " + sdf.format(d[0]) + "; ms = " + d[0].getTime());
+                    logln("Dmatch: " + dmatch + " maxD: " + maxDmatch + " Smatch:" + smatch + " maxS:" + maxSmatch);
+                    errln("Pattern: " + pat + " failed to match" + "; ms = " + d[0].getTime());
+                    for (int j = 0; j <= loop && j < DEPTH; ++j) {
+                        StringBuffer temp = new StringBuffer("");
+                        FieldPosition pos = new FieldPosition(0);
+                        logln((j > 0 ? " P> " : "    ") + dateFormat.format(d[j], temp, pos) 
+                            + " F> " + s[j] + (j > 0 && d[j].getTime() == d[j - 1].getTime() ? " d==" : "")
+                            + (j > 0 && s[j].equals(s[j - 1]) ? " s==" : ""));
+                    }
+                }
+            }
+        } catch (ParseException e) {
+            errln("Exception: " + e.getMessage());
+            logln(e.toString());
+        }
+    }
+    
+    public int getField(Date d, int f) {
+        getFieldCal.setTime(d);
+        int ret = getFieldCal.get(f);    
+        return ret;
+    }
+    
+    public Date generateDate() {
+        double a = ran.nextDouble();
+        // Now 'a' ranges from 0..1; scale it to range from 0 to 8000 years
+        a *= 8000;
+        // Range from (4000-1970) BC to (8000-1970) AD
+        a -= 4000;
+        // Now scale up to ms
+        a *= 365.25 * 24 * 60 * 60 * 1000;
+        return new Date((long)a);
+    }
+}
diff --git a/src/com/ibm/icu/dev/test/format/DateFormatTest.java b/src/com/ibm/icu/dev/test/format/DateFormatTest.java
new file mode 100755
index 0000000..64c2fb7
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/format/DateFormatTest.java
@@ -0,0 +1,2399 @@
+ /*
+ *******************************************************************************
+ * Copyright (C) 2001-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+/** 
+ * Port From:   ICU4C v1.8.1 : format : DateFormatTest
+ * Source File: $ICU4CRoot/source/test/intltest/dtfmttst.cpp
+ **/
+
+package com.ibm.icu.dev.test.format;
+
+import com.ibm.icu.text.*;
+import com.ibm.icu.util.*;
+import com.ibm.icu.impl.*;
+import java.util.Date;
+import java.text.ParseException;
+import java.text.ParsePosition;
+import java.util.Locale;
+import java.text.FieldPosition;
+import java.util.ResourceBundle;
+
+public class DateFormatTest extends com.ibm.icu.dev.test.TestFmwk {
+    
+    public static void main(String[] args) throws Exception {
+        new DateFormatTest().run(args);
+    }
+    
+    // Test written by Wally Wedel and emailed to me.
+    public void TestWallyWedel() {
+        /*
+         * Instantiate a TimeZone so we can get the ids.
+         */
+        //TimeZone tz = new SimpleTimeZone(7, ""); //The variable is never used
+        /*
+         * Computational variables.
+         */
+        int offset, hours, minutes;
+        /*
+         * Instantiate a SimpleDateFormat set up to produce a full time
+         zone name.
+         */
+        SimpleDateFormat sdf = new SimpleDateFormat("zzzz");
+        /*
+         * A String array for the time zone ids.
+         */
+    
+        final String[] ids = TimeZone.getAvailableIDs();
+        int ids_length = ids.length; //when fixed the bug should comment it out
+    
+        /*
+         * How many ids do we have?
+         */
+        logln("Time Zone IDs size:" + ids_length);
+        /*
+         * Column headings (sort of)
+         */
+        logln("Ordinal ID offset(h:m) name");
+        /*
+         * Loop through the tzs.
+         */
+        Date today = new Date();
+        Calendar cal = Calendar.getInstance();
+        for (int i = 0; i < ids_length; i++) {
+            logln(i + " " + ids[i]);
+            TimeZone ttz = TimeZone.getTimeZone(ids[i]);
+            // offset = ttz.getRawOffset();
+            cal.setTimeZone(ttz);
+            cal.setTime(today);
+            offset = cal.get(Calendar.ZONE_OFFSET) + cal.get(Calendar.DST_OFFSET);
+            // logln(i + " " + ids[i] + " offset " + offset);
+            String sign = "+";
+            if (offset < 0) {
+                sign = "-";
+                offset = -offset;
+            }
+            hours = offset / 3600000;
+            minutes = (offset % 3600000) / 60000;
+            String dstOffset = sign + (hours < 10 ? "0" : "") + hours
+                    + ":" + (minutes < 10 ? "0" : "") + minutes; 
+            /*
+             * Instantiate a date so we can display the time zone name.
+             */
+            sdf.setTimeZone(ttz);
+            /*
+             * Format the output.
+             */
+            StringBuffer fmtOffset = new StringBuffer("");
+            FieldPosition pos = new FieldPosition(0);
+            
+            try {
+                fmtOffset = sdf.format(today, fmtOffset, pos);
+            } catch (Exception e) {            
+                logln("Exception:" + e);
+                continue;
+            }
+            // UnicodeString fmtOffset = tzS.toString();
+            String fmtDstOffset = null;
+            if (fmtOffset.toString().startsWith("GMT")) {
+                //fmtDstOffset = fmtOffset.substring(3);
+                fmtDstOffset = fmtOffset.substring(3, fmtOffset.length());
+            }
+            /*
+             * Show our result.
+             */
+    
+            boolean ok = fmtDstOffset == null || fmtDstOffset.equals("") || fmtDstOffset.equals(dstOffset);
+            if (ok) {
+                logln(i + " " + ids[i] + " " + dstOffset + " "
+                      + fmtOffset + (fmtDstOffset != null ? " ok" : " ?")); 
+            } else {
+                errln(i + " " + ids[i] + " " + dstOffset + " " + fmtOffset + " *** FAIL ***");
+            }
+        
+        }
+    }
+    
+    public void TestEquals() {
+        DateFormat fmtA = DateFormat.getDateTimeInstance(DateFormat.MEDIUM, DateFormat.FULL); 
+        DateFormat fmtB = DateFormat.getDateTimeInstance(DateFormat.MEDIUM, DateFormat.FULL); 
+        if (!fmtA.equals(fmtB))
+            errln("FAIL");    
+    }
+    
+    /**
+     * Test the parsing of 2-digit years.
+     */
+    public void TestTwoDigitYearDSTParse() {
+    
+        SimpleDateFormat fullFmt = new SimpleDateFormat("EEE MMM dd HH:mm:ss.SSS zzz yyyy G"); 
+        SimpleDateFormat fmt = new SimpleDateFormat("dd-MMM-yy h:mm:ss 'o''clock' a z", Locale.ENGLISH); 
+        String s = "03-Apr-04 2:20:47 o'clock AM PST";
+    
+        /*
+         * SimpleDateFormat(pattern, locale) Construct a SimpleDateDateFormat using
+         * the given pattern, the locale and using the TimeZone.getDefault();
+         * So it need to add the timezone offset on hour field. 
+         * ps. the Method Calendar.getTime() used by SimpleDateFormat.parse() always 
+         * return Date value with TimeZone.getDefault() [Richard/GCL]
+         */
+        
+        TimeZone defaultTZ = TimeZone.getDefault();
+        TimeZone PST = TimeZone.getTimeZone("PST");
+        int defaultOffset = defaultTZ.getRawOffset();
+        int PSTOffset = PST.getRawOffset();
+        int hour = 2 + (defaultOffset - PSTOffset) / (60*60*1000);
+        // hour is the expected hour of day, in units of seconds
+        hour = ((hour < 0) ? hour + 24 : hour) * 60*60;
+        try {
+            Date d = fmt.parse(s);
+            Calendar cal = Calendar.getInstance();
+            cal.setTime(d);
+            //DSTOffset
+            hour += defaultTZ.inDaylightTime(d) ? 1 : 0;
+            
+            logln(s + " P> " + ((DateFormat) fullFmt).format(d));
+            // hr is the actual hour of day, in units of seconds
+            // adjust for DST
+            int hr = cal.get(Calendar.HOUR_OF_DAY) * 60*60 -
+                cal.get(Calendar.DST_OFFSET) / 1000;
+            if (hr != hour)
+                errln("FAIL: Hour (-DST) = " + hr / (60*60.0)+
+                      "; expected " + hour / (60*60.0));
+        } catch (ParseException e) {
+            errln("Parse Error:" + e.getMessage());
+        }
+    
+    }
+    
+    /**
+     * Verify that returned field position indices are correct.
+     */
+    public void TestFieldPosition() {
+        int i, j, exp;
+        StringBuffer buf = new StringBuffer();
+
+        // Verify data
+        DateFormatSymbols rootSyms = new DateFormatSymbols(new Locale("", "", ""));
+        assertEquals("patternChars", PATTERN_CHARS, rootSyms.getLocalPatternChars());
+        assertTrue("DATEFORMAT_FIELD_NAMES", DATEFORMAT_FIELD_NAMES.length == DateFormat.FIELD_COUNT);
+        if(DateFormat.FIELD_COUNT != PATTERN_CHARS.length()){
+            errln("Did not get the correct value for DateFormat.FIELD_COUNT. Expected:  "+ PATTERN_CHARS.length());
+        }
+
+        // Create test formatters
+        final int COUNT = 4;
+        DateFormat[] dateFormats = new DateFormat[COUNT];
+        dateFormats[0] = DateFormat.getDateTimeInstance(DateFormat.FULL, DateFormat.FULL, Locale.US);
+        dateFormats[1] = DateFormat.getDateTimeInstance(DateFormat.FULL, DateFormat.FULL, Locale.FRANCE);
+        // Make the pattern "G y M d..."
+        buf.append(PATTERN_CHARS);
+        for (j=buf.length()-1; j>=0; --j) buf.insert(j, ' ');
+        dateFormats[2] = new SimpleDateFormat(buf.toString(), Locale.US);
+        // Make the pattern "GGGG yyyy MMMM dddd..."
+        for (j=buf.length()-1; j>=0; j-=2) {
+            for (i=0; i<3; ++i) {
+                buf.insert(j, buf.charAt(j));
+            }
+        }
+        dateFormats[3] = new SimpleDateFormat(buf.toString(), Locale.US);
+
+        Date aug13 = new Date((long) 871508052513.0);
+
+        // Expected output field values for above DateFormats on aug13
+        // Fields are given in order of DateFormat field number
+        final String EXPECTED[] = {
+             "", "1997", "August", "13", "", "", "34", "12", "",
+            "Wednesday", "", "", "", "", "PM", "2", "", "PDT", "", "", "", "", "", "", "","","",
+
+            "", "1997", "ao\u00FBt", "13", "", "14", "34", "", "",
+            "mercredi", "", "", "", "", "", "", "", "HAP (\u00C9UA)", "", "", "", "", "", "", "","","",
+
+            "AD", "1997", "8", "13", "14", "14", "34", "12", "5",
+            "Wed", "225", "2", "33", "3", "PM", "2", "2", "PDT", "1997", "4", "1997", "2450674", "52452513", "-0700", "PT","4","8",
+
+            "Anno Domini", "1997", "August", "0013", "0014", "0014", "0034", "0012", "5130",
+            "Wednesday", "0225", "0002", "0033", "0003", "PM", "0002", "0002", "Pacific Daylight Time", "1997", "0004", "1997", "2450674", "52452513", "GMT-07:00", "Pacific Time","Wednesday","August"
+        };
+
+        assertTrue("data size", EXPECTED.length == COUNT * DateFormat.FIELD_COUNT);
+
+        TimeZone PT = TimeZone.getTimeZone("America/Los_Angeles");
+        for (j = 0, exp = 0; j < COUNT; ++j) {
+          //  String str;
+            DateFormat df = dateFormats[j];
+            df.setTimeZone(PT);
+            logln(" Pattern = " + ((SimpleDateFormat) df).toPattern());
+            try {
+                logln("  Result = " + df.format(aug13));
+            } catch (Exception e) {
+                errln("FAIL: " + e);
+                e.printStackTrace();
+                continue;
+            }
+
+            for (i = 0; i < DateFormat.FIELD_COUNT; ++i, ++exp) {
+                FieldPosition pos = new FieldPosition(i);
+                buf.setLength(0);
+                df.format(aug13, buf, pos);    
+                String field = buf.substring(pos.getBeginIndex(), pos.getEndIndex());
+                assertEquals("field #" + i + " " + DATEFORMAT_FIELD_NAMES[i],
+                             EXPECTED[exp], field);
+            }
+        }
+    }
+    /**
+     * This MUST be kept in sync with DateFormatSymbols.patternChars.
+     */
+    static final String PATTERN_CHARS = "GyMdkHmsSEDFwWahKzYeugAZvcL";
+        
+    /**
+     * A list of the names of all the fields in DateFormat.
+     * This MUST be kept in sync with DateFormat.
+     */
+    static final String DATEFORMAT_FIELD_NAMES[] = {
+        "ERA_FIELD",
+        "YEAR_FIELD",
+        "MONTH_FIELD",
+        "DATE_FIELD",
+        "HOUR_OF_DAY1_FIELD",
+        "HOUR_OF_DAY0_FIELD",
+        "MINUTE_FIELD",
+        "SECOND_FIELD",
+        "MILLISECOND_FIELD",
+        "DAY_OF_WEEK_FIELD",
+        "DAY_OF_YEAR_FIELD",
+        "DAY_OF_WEEK_IN_MONTH_FIELD",
+        "WEEK_OF_YEAR_FIELD",
+        "WEEK_OF_MONTH_FIELD",
+        "AM_PM_FIELD",
+        "HOUR1_FIELD",
+        "HOUR0_FIELD",
+        "TIMEZONE_FIELD",
+        "YEAR_WOY_FIELD",
+        "DOW_LOCAL_FIELD",
+        "EXTENDED_YEAR_FIELD",
+        "JULIAN_DAY_FIELD",
+        "MILLISECONDS_IN_DAY_FIELD",
+        "TIMEZONE_RFC_FIELD",
+        "GENERIC_TIMEZONE_FIELD",
+        "STAND_ALONE_DAY_FIELD",
+        "STAND_ALONE_MONTH_FIELD",
+    };
+    
+    /**
+     * General parse/format tests.  Add test cases as needed.
+     */
+    public void TestGeneral() {
+        
+        String DATA[] = {
+            "yyyy MM dd HH:mm:ss.SSS",
+
+            // Milliseconds are left-justified, since they format as fractions of a second
+            // Both format and parse should round HALF_UP
+            "y/M/d H:mm:ss.S", "fp", "2004 03 10 16:36:31.567", "2004/3/10 16:36:31.6", "2004 03 10 16:36:31.600",
+            "y/M/d H:mm:ss.SS", "fp", "2004 03 10 16:36:31.567", "2004/3/10 16:36:31.57", "2004 03 10 16:36:31.570",
+            "y/M/d H:mm:ss.SSS", "F", "2004 03 10 16:36:31.567", "2004/3/10 16:36:31.567",
+            "y/M/d H:mm:ss.SSSS", "pf", "2004/3/10 16:36:31.5679", "2004 03 10 16:36:31.568", "2004/3/10 16:36:31.5680",
+        };
+        expect(DATA, new Locale("en", "", ""));
+    }
+
+    public void TestGenericTime() {
+        if (System.getSecurityManager() != null) {
+            // !!! if we're running under a security manager, JDKTimeZone won't return the right
+            // dst offset values for us in a few cases around the DST changeover, so ignore this test.
+            warnln("cannot pass under security manager");
+            return;
+        }
+
+        // any zone pattern should parse any zone
+        Locale en = new Locale("en", "", "");
+        String ZDATA[] = {
+            "yyyy MM dd HH:mm zzz",
+            // round trip
+            "y/M/d H:mm zzzz", "F", "2004 01 01 01:00 PST", "2004/1/1 1:00 Pacific Standard Time",
+            "y/M/d H:mm zzz", "F", "2004 01 01 01:00 PST", "2004/1/1 1:00 PST",
+            "y/M/d H:mm vvvv", "F", "2004 01 01 01:00 PST", "2004/1/1 1:00 Pacific Time",
+            "y/M/d H:mm vvv", "F", "2004 01 01 01:00 PST", "2004/1/1 1:00 PT",
+            // non-generic timezone string influences dst offset even if wrong for date/time
+            "y/M/d H:mm zzz", "pf", "2004/1/1 1:00 PDT", "2004 01 01 01:00 PDT", "2004/1/1 0:00 PST",
+            "y/M/d H:mm vvvv", "pf", "2004/1/1 1:00 PDT", "2004 01 01 01:00 PDT", "2004/1/1 0:00 Pacific Time",
+            "y/M/d H:mm zzz", "pf", "2004/7/1 1:00 PST", "2004 07 01 02:00 PDT", "2004/7/1 2:00 PDT",
+            "y/M/d H:mm vvvv", "pf", "2004/7/1 1:00 PST", "2004 07 01 02:00 PDT", "2004/7/1 2:00 Pacific Time",
+            // generic timezone generates dst offset appropriate for local time
+            "y/M/d H:mm zzz", "pf", "2004/1/1 1:00 PT", "2004 01 01 01:00 PST", "2004/1/1 1:00 PST",
+            "y/M/d H:mm vvvv", "pf", "2004/1/1 1:00 PT", "2004 01 01 01:00 PST", "2004/1/1 1:00 Pacific Time",
+            "y/M/d H:mm zzz", "pf", "2004/7/1 1:00 PT", "2004 07 01 01:00 PDT", "2004/7/1 1:00 PDT",
+            "y/M/d H:mm vvvv", "pf", "2004/7/1 1:00 PT", "2004 07 01 01:00 PDT", "2004/7/1 1:00 Pacific Time",
+            // daylight savings time transition edge cases.
+            // time to parse does not really exist, PT interpreted as earlier time
+            "y/M/d H:mm zzz", "pf", "2005/4/3 2:30 PT", "2005 04 03 01:30 PST", "2005/4/3 1:30 PST",
+            "y/M/d H:mm zzz", "pf", "2005/4/3 2:30 PST", "2005 04 03 03:30 PDT", "2005/4/3 3:30 PDT",
+            "y/M/d H:mm zzz", "pf", "2005/4/3 2:30 PDT", "2005 04 03 01:30 PST", "2005/4/3 1:30 PST",
+            "y/M/d H:mm v", "pf", "2005/4/3 2:30 PT", "2005 04 03 01:30 PST", "2005/4/3 1:30 PT",
+            "y/M/d H:mm v", "pf", "2005/4/3 2:30 PST", "2005 04 03 03:30 PDT", "2005/4/3 3:30 PT",
+            "y/M/d H:mm v", "pf", "2005/4/3 2:30 PDT", "2005 04 03 01:30 PST", "2005/4/3 1:30 PT",
+            "y/M/d H:mm", "pf", "2005/4/3 2:30", "2005 04 03 01:30 PST", "2005/4/3 1:30",
+            // time to parse is ambiguous, PT interpreted as earlier time (?)
+            "y/M/d H:mm zzz", "pf", "2004/10/31 1:30 PT", "2004 10 31 01:30 PDT", "2004/10/31 1:30 PDT",
+            "y/M/d H:mm zzz", "pf", "2004/10/31 1:30 PST", "2004 10 31 01:30 PST", "2004/10/31 1:30 PST",
+            "y/M/d H:mm zzz", "pf", "2004/10/31 1:30 PDT", "2004 10 31 01:30 PDT", "2004/10/31 1:30 PDT",
+            "y/M/d H:mm v", "pf", "2004/10/31 1:30 PT", "2004 10 31 01:30 PDT", "2004/10/31 1:30 PT",
+            "y/M/d H:mm v", "pf", "2004/10/31 1:30 PST", "2004 10 31 01:30 PST", "2004/10/31 1:30 PT",
+            "y/M/d H:mm v", "pf", "2004/10/31 1:30 PDT", "2004 10 31 01:30 PDT", "2004/10/31 1:30 PT",
+            "y/M/d H:mm", "pf", "2004/10/31 1:30", "2004 10 31 01:30 PDT", "2004/10/31 1:30",
+        };
+        expect(ZDATA, en);
+
+        logln("cross format/parse tests");
+        final String basepat = "yy/MM/dd H:mm ";
+        final SimpleDateFormat[] formats = { 
+            new SimpleDateFormat(basepat + "vvv", en),
+            new SimpleDateFormat(basepat + "vvvv", en),
+            new SimpleDateFormat(basepat + "zzz", en),
+            new SimpleDateFormat(basepat + "zzzz", en)
+        };
+
+        final SimpleDateFormat univ = new SimpleDateFormat("yyyy MM dd HH:mm zzz", en);
+        final String[] times = { "2004 01 02 03:04 PST", "2004 07 08 09:10 PDT" };
+        for (int i = 0; i < times.length; ++i) {
+            try {
+                Date d = univ.parse(times[i]);
+                logln("time: " + d);
+                for (int j = 0; j < formats.length; ++j) {
+                    String test = formats[j].format(d);
+                    logln("test: '" + test + "'");
+                    for (int k = 0; k < formats.length; ++k) {
+                        try {
+                            Date t = formats[k].parse(test);
+                            if (!d.equals(t)) {
+                                errln("format " + k + 
+                                      " incorrectly parsed output of format " + j + 
+                                      " (" + test + "), returned " +
+                                      t + " instead of " + d);
+                            } else {
+                                logln("format " + k + " parsed ok");
+                            }
+                        }
+                        catch (ParseException e) {
+                            errln("format " + k + 
+                                  " could not parse output of format " + j + 
+                                  " (" + test + ")");
+                        }
+                    }
+                }
+            }
+            catch (ParseException e) {
+                errln("univ could not parse: " + times[i]);
+            }
+        }
+
+    }
+
+    public void TestGenericTimeZoneOrder() {
+        // generic times should parse the same no matter what the placement of the time zone string
+        // should work for standard and daylight times
+
+        String XDATA[] = {
+            "yyyy MM dd HH:mm zzz",
+            // standard time, explicit daylight/standard
+            "y/M/d H:mm zzz", "pf", "2004/1/1 1:00 PT", "2004 01 01 01:00 PST", "2004/1/1 1:00 PST",
+            "y/M/d zzz H:mm", "pf", "2004/1/1 PT 1:00", "2004 01 01 01:00 PST", "2004/1/1 PST 1:00",
+            "zzz y/M/d H:mm", "pf", "PT 2004/1/1 1:00", "2004 01 01 01:00 PST", "PST 2004/1/1 1:00",
+
+            // standard time, generic
+            "y/M/d H:mm vvvv", "pf", "2004/1/1 1:00 PT", "2004 01 01 01:00 PST", "2004/1/1 1:00 Pacific Time",
+            "y/M/d vvvv H:mm", "pf", "2004/1/1 PT 1:00", "2004 01 01 01:00 PST", "2004/1/1 Pacific Time 1:00",
+            "vvvv y/M/d H:mm", "pf", "PT 2004/1/1 1:00", "2004 01 01 01:00 PST", "Pacific Time 2004/1/1 1:00",
+
+            // daylight time, explicit daylight/standard
+            "y/M/d H:mm zzz", "pf", "2004/7/1 1:00 PT", "2004 07 01 01:00 PDT", "2004/7/1 1:00 PDT",
+            "y/M/d zzz H:mm", "pf", "2004/7/1 PT 1:00", "2004 07 01 01:00 PDT", "2004/7/1 PDT 1:00",
+            "zzz y/M/d H:mm", "pf", "PT 2004/7/1 1:00", "2004 07 01 01:00 PDT", "PDT 2004/7/1 1:00",
+
+            // daylight time, generic
+            "y/M/d H:mm vvvv", "pf", "2004/7/1 1:00 PT", "2004 07 01 01:00 PDT", "2004/7/1 1:00 Pacific Time",
+            "y/M/d vvvv H:mm", "pf", "2004/7/1 PT 1:00", "2004 07 01 01:00 PDT", "2004/7/1 Pacific Time 1:00",
+            "vvvv y/M/d H:mm", "pf", "PT 2004/7/1 1:00", "2004 07 01 01:00 PDT", "Pacific Time 2004/7/1 1:00",
+        };
+        Locale en = new Locale("en", "", "");
+        expect(XDATA, en);
+    }
+
+    public void TestTimeZoneDisplayName() {
+        Calendar cal = new GregorianCalendar();
+        long julyDate = new Date(2004, 6, 15).getTime();
+        long januaryDate = new Date(2004, 0, 15).getTime();
+
+        for (int i = 0; i < fallbackTests.length; ++i) {
+            String[] info = fallbackTests[i];
+            logln(info[0] + ";" + info[1] + ";" + info[2] + ";" + info[3]);
+
+            ULocale l = new ULocale(info[0]);
+            TimeZone tz = TimeZone.getTimeZone(info[1]);
+            long time = info[2].equals("2004-07-15T00:00:00Z") 
+                ? julyDate 
+                : januaryDate;
+            SimpleDateFormat fmt = new SimpleDateFormat(info[3], l);
+            cal.setTimeInMillis(time);
+            cal.setTimeZone(tz);
+            String result = fmt.format(cal);
+            if (!result.equals(info[4])) {
+                errln(info[0] + ";" + info[1] + ";" + info[2] + ";" + info[3] + " expected: '" + 
+                      info[4] + "' but got: '" + result + "'");
+            }
+        }
+    }
+
+    private static final String[][] fallbackTests  = {
+        { "en", "America/Los_Angeles", "2004-01-15T00:00:00Z", "Z", "-0800", "-8:00" },
+        { "en", "America/Los_Angeles", "2004-01-15T00:00:00Z", "ZZZZ", "GMT-08:00", "-8:00" },
+        { "en", "America/Los_Angeles", "2004-01-15T00:00:00Z", "z", "PST", "America/Los_Angeles" },
+        { "en", "America/Los_Angeles", "2004-01-15T00:00:00Z", "zzzz", "Pacific Standard Time", "America/Los_Angeles" },
+        { "en", "America/Los_Angeles", "2004-07-15T00:00:00Z", "Z", "-0700", "-7:00" },
+        { "en", "America/Los_Angeles", "2004-07-15T00:00:00Z", "ZZZZ", "GMT-07:00", "-7:00" },
+        { "en", "America/Los_Angeles", "2004-07-15T00:00:00Z", "z", "PDT", "America/Los_Angeles" },
+        { "en", "America/Los_Angeles", "2004-07-15T00:00:00Z", "zzzz", "Pacific Daylight Time", "America/Los_Angeles" },
+        { "en", "America/Los_Angeles", "2004-07-15T00:00:00Z", "v", "PT", "America/Los_Angeles" },
+        { "en", "America/Los_Angeles", "2004-07-15T00:00:00Z", "vvvv", "Pacific Time", "America/Los_Angeles" },
+        { "en_GB", "America/Los_Angeles", "2004-01-15T12:00:00Z", "z", "PST", "America/Los_Angeles" },
+        /* JDK 1.5 doesn't support this time zone id
+        { "en", "America/Argentina/Buenos_Aires", "2004-01-15T00:00:00Z", "Z", "-0300", "-3:00" },
+        { "en", "America/Argentina/Buenos_Aires", "2004-01-15T00:00:00Z", "ZZZZ", "GMT-03:00", "-3:00" },
+        { "en", "America/Argentina/Buenos_Aires", "2004-01-15T00:00:00Z", "z", "GMT-03:00", "-3:00" },
+        { "en", "America/Argentina/Buenos_Aires", "2004-01-15T00:00:00Z", "zzzz", "GMT-03:00", "-3:00" },
+        { "en", "America/Argentina/Buenos_Aires", "2004-07-15T00:00:00Z", "Z", "-0300", "-3:00" },
+        { "en", "America/Argentina/Buenos_Aires", "2004-07-15T00:00:00Z", "ZZZZ", "GMT-03:00", "-3:00" },
+        { "en", "America/Argentina/Buenos_Aires", "2004-07-15T00:00:00Z", "z", "GMT-03:00", "-3:00" },
+        { "en", "America/Argentina/Buenos_Aires", "2004-07-15T00:00:00Z", "zzzz", "GMT-03:00", "-3:00" },
+        { "en", "America/Argentina/Buenos_Aires", "2004-07-15T00:00:00Z", "v", "Buenos Aires (Argentina)", "America/Buenos_Aires" },
+        { "en", "America/Argentina/Buenos_Aires", "2004-07-15T00:00:00Z", "vvvv", "Buenos Aires (Argentina)", "America/Buenos_Aires" },
+        */
+
+        { "en", "America/Buenos_Aires", "2004-01-15T00:00:00Z", "Z", "-0300", "-3:00" },
+        { "en", "America/Buenos_Aires", "2004-01-15T00:00:00Z", "ZZZZ", "GMT-03:00", "-3:00" },
+        { "en", "America/Buenos_Aires", "2004-01-15T00:00:00Z", "z", "GMT-03:00", "-3:00" },
+        { "en", "America/Buenos_Aires", "2004-01-15T00:00:00Z", "zzzz", "GMT-03:00", "-3:00" },
+        { "en", "America/Buenos_Aires", "2004-07-15T00:00:00Z", "Z", "-0300", "-3:00" },
+        { "en", "America/Buenos_Aires", "2004-07-15T00:00:00Z", "ZZZZ", "GMT-03:00", "-3:00" },
+        { "en", "America/Buenos_Aires", "2004-07-15T00:00:00Z", "z", "GMT-03:00", "-3:00" },
+        { "en", "America/Buenos_Aires", "2004-07-15T00:00:00Z", "zzzz", "GMT-03:00", "-3:00" },
+        { "en", "America/Buenos_Aires", "2004-07-15T00:00:00Z", "v", "Buenos Aires (Argentina)", "America/Buenos_Aires" },
+        { "en", "America/Buenos_Aires", "2004-07-15T00:00:00Z", "vvvv", "Buenos Aires (Argentina)", "America/Buenos_Aires" },
+
+        { "en", "America/Havana", "2004-01-15T00:00:00Z", "Z", "-0500", "-5:00" },
+        { "en", "America/Havana", "2004-01-15T00:00:00Z", "ZZZZ", "GMT-05:00", "-5:00" },
+        { "en", "America/Havana", "2004-01-15T00:00:00Z", "z", "GMT-05:00", "-5:00" },
+        { "en", "America/Havana", "2004-01-15T00:00:00Z", "zzzz", "GMT-05:00", "-5:00" },
+        { "en", "America/Havana", "2004-07-15T00:00:00Z", "Z", "-0400", "-4:00" },
+        { "en", "America/Havana", "2004-07-15T00:00:00Z", "ZZZZ", "GMT-04:00", "-4:00" },
+        { "en", "America/Havana", "2004-07-15T00:00:00Z", "z", "GMT-04:00", "-4:00" },
+        { "en", "America/Havana", "2004-07-15T00:00:00Z", "zzzz", "GMT-04:00", "-4:00" },
+        { "en", "America/Havana", "2004-07-15T00:00:00Z", "v", "Cuba", "America/Havana" },
+        { "en", "America/Havana", "2004-07-15T00:00:00Z", "vvvv", "Cuba", "America/Havana" },
+
+        /* ibm JDK 1.4.1 doesn't support this timezone id
+        { "en", "Australia/ACT", "2004-01-15T00:00:00Z", "Z", "+1100", "+11:00" },
+        { "en", "Australia/ACT", "2004-01-15T00:00:00Z", "ZZZZ", "GMT+11:00", "+11:00" },
+        { "en", "Australia/ACT", "2004-01-15T00:00:00Z", "z", "GMT+11:00", "+11:00" },
+        { "en", "Australia/ACT", "2004-01-15T00:00:00Z", "zzzz", "GMT+11:00", "+11:00" },
+        { "en", "Australia/ACT", "2004-07-15T00:00:00Z", "Z", "+1000", "+10:00" },
+        { "en", "Australia/ACT", "2004-07-15T00:00:00Z", "ZZZZ", "GMT+10:00", "+10:00" },
+        { "en", "Australia/ACT", "2004-07-15T00:00:00Z", "z", "GMT+10:00", "+10:00" },
+        { "en", "Australia/ACT", "2004-07-15T00:00:00Z", "zzzz", "GMT+10:00", "+10:00" },
+        { "en", "Australia/ACT", "2004-07-15T00:00:00Z", "v", "Sydney (Australia)", "Australia/Sydney" },
+        { "en", "Australia/ACT", "2004-07-15T00:00:00Z", "vvvv", "Sydney (Australia)", "Australia/Sydney" },
+        */
+        { "en", "Australia/Sydney", "2004-01-15T00:00:00Z", "Z", "+1100", "+11:00" },
+        { "en", "Australia/Sydney", "2004-01-15T00:00:00Z", "ZZZZ", "GMT+11:00", "+11:00" },
+        { "en", "Australia/Sydney", "2004-01-15T00:00:00Z", "z", "GMT+11:00", "+11:00" },
+        { "en", "Australia/Sydney", "2004-01-15T00:00:00Z", "zzzz", "GMT+11:00", "+11:00" },
+        { "en", "Australia/Sydney", "2004-07-15T00:00:00Z", "Z", "+1000", "+10:00" },
+        { "en", "Australia/Sydney", "2004-07-15T00:00:00Z", "ZZZZ", "GMT+10:00", "+10:00" },
+        { "en", "Australia/Sydney", "2004-07-15T00:00:00Z", "z", "GMT+10:00", "+10:00" },
+        { "en", "Australia/Sydney", "2004-07-15T00:00:00Z", "zzzz", "GMT+10:00", "+10:00" },
+        { "en", "Australia/Sydney", "2004-07-15T00:00:00Z", "v", "Sydney (Australia)", "Australia/Sydney" },
+        { "en", "Australia/Sydney", "2004-07-15T00:00:00Z", "vvvv", "Sydney (Australia)", "Australia/Sydney" },
+
+        { "en", "Europe/London", "2004-01-15T00:00:00Z", "Z", "+0000", "+0:00" },
+        { "en", "Europe/London", "2004-01-15T00:00:00Z", "ZZZZ", "GMT+00:00", "+0:00" },
+        { "en", "Europe/London", "2004-01-15T00:00:00Z", "z", "GMT", "+0:00" },
+        { "en", "Europe/London", "2004-01-15T00:00:00Z", "zzzz", "Greenwich Mean Time", "+0:00" },
+        { "en", "Europe/London", "2004-07-15T00:00:00Z", "Z", "+0100", "+1:00" },
+        { "en", "Europe/London", "2004-07-15T00:00:00Z", "ZZZZ", "GMT+01:00", "+1:00" },
+        { "en", "Europe/London", "2004-07-15T00:00:00Z", "z", "BST", "Europe/London" },
+        { "en", "Europe/London", "2004-07-15T00:00:00Z", "zzzz", "British Summer Time", "Europe/London" },
+    // icu en.txt has exemplar city for this time zone
+        { "en", "Europe/London", "2004-07-15T00:00:00Z", "v", "United Kingdom", "Europe/London" },
+        { "en", "Europe/London", "2004-07-15T00:00:00Z", "vvvv", "United Kingdom", "Europe/London" },
+
+        /* ibm JDK 1.4.2 doesn't support this timezone id
+        { "en", "Etc/GMT+3", "2004-01-15T00:00:00Z", "Z", "-0300", "-3:00" },
+        { "en", "Etc/GMT+3", "2004-01-15T00:00:00Z", "ZZZZ", "GMT-03:00", "-3:00" },
+        { "en", "Etc/GMT+3", "2004-01-15T00:00:00Z", "z", "GMT-03:00", "-3:00" },
+        { "en", "Etc/GMT+3", "2004-01-15T00:00:00Z", "zzzz", "GMT-03:00", "-3:00" },
+        { "en", "Etc/GMT+3", "2004-07-15T00:00:00Z", "Z", "-0300", "-3:00" },
+        { "en", "Etc/GMT+3", "2004-07-15T00:00:00Z", "ZZZZ", "GMT-03:00", "-3:00" },
+        { "en", "Etc/GMT+3", "2004-07-15T00:00:00Z", "z", "GMT-03:00", "-3:00" },
+        { "en", "Etc/GMT+3", "2004-07-15T00:00:00Z", "zzzz", "GMT-03:00", "-3:00" },
+        { "en", "Etc/GMT+3", "2004-07-15T00:00:00Z", "v", "GMT-03:00", "-3:00" },
+        { "en", "Etc/GMT+3", "2004-07-15T00:00:00Z", "vvvv", "GMT-03:00", "-3:00" },
+        */
+
+    // ==========
+
+        { "de", "America/Los_Angeles", "2004-01-15T00:00:00Z", "Z", "-0800", "-8:00" },
+        { "de", "America/Los_Angeles", "2004-01-15T00:00:00Z", "ZZZZ", "GMT-08:00", "-8:00" },
+        { "de", "America/Los_Angeles", "2004-01-15T00:00:00Z", "z", "GMT-08:00", "-8:00" },
+        { "de", "America/Los_Angeles", "2004-01-15T00:00:00Z", "zzzz", "GMT-08:00", "-8:00" },
+        { "de", "America/Los_Angeles", "2004-07-15T00:00:00Z", "Z", "-0700", "-7:00" },
+        { "de", "America/Los_Angeles", "2004-07-15T00:00:00Z", "ZZZZ", "GMT-07:00", "-7:00" },
+        { "de", "America/Los_Angeles", "2004-07-15T00:00:00Z", "z", "GMT-07:00", "-7:00" },
+        { "de", "America/Los_Angeles", "2004-07-15T00:00:00Z", "zzzz", "GMT-07:00", "-7:00" },
+        { "de", "America/Los_Angeles", "2004-07-15T00:00:00Z", "v", "Los Angeles (Vereinigte Staaten)", "America/Los_Angeles" },
+        { "de", "America/Los_Angeles", "2004-07-15T00:00:00Z", "vvvv", "Los Angeles (Vereinigte Staaten)", "America/Los_Angeles" },
+
+        /* JDK 1.5 doesn't support this time zone id
+        { "de", "America/Argentina/Buenos_Aires", "2004-01-15T00:00:00Z", "Z", "-0300", "-3:00" },
+        { "de", "America/Argentina/Buenos_Aires", "2004-01-15T00:00:00Z", "ZZZZ", "GMT-03:00", "-3:00" },
+        { "de", "America/Argentina/Buenos_Aires", "2004-01-15T00:00:00Z", "z", "GMT-03:00", "-3:00" },
+        { "de", "America/Argentina/Buenos_Aires", "2004-01-15T00:00:00Z", "zzzz", "GMT-03:00", "-3:00" },
+        { "de", "America/Argentina/Buenos_Aires", "2004-07-15T00:00:00Z", "Z", "-0300", "-3:00" },
+        { "de", "America/Argentina/Buenos_Aires", "2004-07-15T00:00:00Z", "ZZZZ", "GMT-03:00", "-3:00" },
+        { "de", "America/Argentina/Buenos_Aires", "2004-07-15T00:00:00Z", "z", "GMT-03:00", "-3:00" },
+        { "de", "America/Argentina/Buenos_Aires", "2004-07-15T00:00:00Z", "zzzz", "GMT-03:00", "-3:00" },
+        { "de", "America/Argentina/Buenos_Aires", "2004-07-15T00:00:00Z", "v", "Buenos Aires (Argentinien)", "America/Buenos_Aires" },
+        { "de", "America/Argentina/Buenos_Aires", "2004-07-15T00:00:00Z", "vvvv", "Buenos Aires (Argentinien)", "America/Buenos_Aires" },
+        */
+
+        { "de", "America/Buenos_Aires", "2004-01-15T00:00:00Z", "Z", "-0300", "-3:00" },
+        { "de", "America/Buenos_Aires", "2004-01-15T00:00:00Z", "ZZZZ", "GMT-03:00", "-3:00" },
+        { "de", "America/Buenos_Aires", "2004-01-15T00:00:00Z", "z", "GMT-03:00", "-3:00" },
+        { "de", "America/Buenos_Aires", "2004-01-15T00:00:00Z", "zzzz", "GMT-03:00", "-3:00" },
+        { "de", "America/Buenos_Aires", "2004-07-15T00:00:00Z", "Z", "-0300", "-3:00" },
+        { "de", "America/Buenos_Aires", "2004-07-15T00:00:00Z", "ZZZZ", "GMT-03:00", "-3:00" },
+        { "de", "America/Buenos_Aires", "2004-07-15T00:00:00Z", "z", "GMT-03:00", "-3:00" },
+        { "de", "America/Buenos_Aires", "2004-07-15T00:00:00Z", "zzzz", "GMT-03:00", "-3:00" },
+        { "de", "America/Buenos_Aires", "2004-07-15T00:00:00Z", "v", "Buenos Aires (Argentinien)", "America/Buenos_Aires" },
+        { "de", "America/Buenos_Aires", "2004-07-15T00:00:00Z", "vvvv", "Buenos Aires (Argentinien)", "America/Buenos_Aires" },
+
+        { "de", "America/Havana", "2004-01-15T00:00:00Z", "Z", "-0500", "-5:00" },
+        { "de", "America/Havana", "2004-01-15T00:00:00Z", "ZZZZ", "GMT-05:00", "-5:00" },
+        { "de", "America/Havana", "2004-01-15T00:00:00Z", "z", "GMT-05:00", "-5:00" },
+        { "de", "America/Havana", "2004-01-15T00:00:00Z", "zzzz", "GMT-05:00", "-5:00" },
+        { "de", "America/Havana", "2004-07-15T00:00:00Z", "Z", "-0400", "-4:00" },
+        { "de", "America/Havana", "2004-07-15T00:00:00Z", "ZZZZ", "GMT-04:00", "-4:00" },
+        { "de", "America/Havana", "2004-07-15T00:00:00Z", "z", "GMT-04:00", "-4:00" },
+        { "de", "America/Havana", "2004-07-15T00:00:00Z", "zzzz", "GMT-04:00", "-4:00" },
+        { "de", "America/Havana", "2004-07-15T00:00:00Z", "v", "Kuba", "America/Havana" },
+        { "de", "America/Havana", "2004-07-15T00:00:00Z", "vvvv", "Kuba", "America/Havana" },
+        // added to test proper fallback of country name
+        { "de_CH", "America/Havana", "2004-07-15T00:00:00Z", "v", "Kuba", "America/Havana" },
+        { "de_CH", "America/Havana", "2004-07-15T00:00:00Z", "vvvv", "Kuba", "America/Havana" },
+
+        /* ibm JDK 1.4.1 doesn't support this timezone id
+        { "de", "Australia/ACT", "2004-01-15T00:00:00Z", "Z", "+1100", "+11:00" },
+        { "de", "Australia/ACT", "2004-01-15T00:00:00Z", "ZZZZ", "GMT+11:00", "+11:00" },
+        { "de", "Australia/ACT", "2004-01-15T00:00:00Z", "z", "GMT+11:00", "+11:00" },
+        { "de", "Australia/ACT", "2004-01-15T00:00:00Z", "zzzz", "GMT+11:00", "+11:00" },
+        { "de", "Australia/ACT", "2004-07-15T00:00:00Z", "Z", "+1000", "+10:00" },
+        { "de", "Australia/ACT", "2004-07-15T00:00:00Z", "ZZZZ", "GMT+10:00", "+10:00" },
+        { "de", "Australia/ACT", "2004-07-15T00:00:00Z", "z", "GMT+10:00", "+10:00" },
+        { "de", "Australia/ACT", "2004-07-15T00:00:00Z", "zzzz", "GMT+10:00", "+10:00" },
+        { "de", "Australia/ACT", "2004-07-15T00:00:00Z", "v", "Sydney (Australien)", "Australia/Sydney" },
+        { "de", "Australia/ACT", "2004-07-15T00:00:00Z", "vvvv", "Sydney (Australien)", "Australia/Sydney" },
+        */
+
+        { "de", "Australia/Sydney", "2004-01-15T00:00:00Z", "Z", "+1100", "+11:00" },
+        { "de", "Australia/Sydney", "2004-01-15T00:00:00Z", "ZZZZ", "GMT+11:00", "+11:00" },
+        { "de", "Australia/Sydney", "2004-01-15T00:00:00Z", "z", "GMT+11:00", "+11:00" },
+        { "de", "Australia/Sydney", "2004-01-15T00:00:00Z", "zzzz", "GMT+11:00", "+11:00" },
+        { "de", "Australia/Sydney", "2004-07-15T00:00:00Z", "Z", "+1000", "+10:00" },
+        { "de", "Australia/Sydney", "2004-07-15T00:00:00Z", "ZZZZ", "GMT+10:00", "+10:00" },
+        { "de", "Australia/Sydney", "2004-07-15T00:00:00Z", "z", "GMT+10:00", "+10:00" },
+        { "de", "Australia/Sydney", "2004-07-15T00:00:00Z", "zzzz", "GMT+10:00", "+10:00" },
+        { "de", "Australia/Sydney", "2004-07-15T00:00:00Z", "v", "Sydney (Australien)", "Australia/Sydney" },
+        { "de", "Australia/Sydney", "2004-07-15T00:00:00Z", "vvvv", "Sydney (Australien)", "Australia/Sydney" },
+
+        { "de", "Europe/London", "2004-01-15T00:00:00Z", "Z", "+0000", "+0:00" },
+        { "de", "Europe/London", "2004-01-15T00:00:00Z", "ZZZZ", "GMT+00:00", "+0:00" },
+        { "de", "Europe/London", "2004-01-15T00:00:00Z", "z", "GMT+00:00", "+0:00" },
+        { "de", "Europe/London", "2004-01-15T00:00:00Z", "zzzz", "GMT+00:00", "+0:00" },
+        { "de", "Europe/London", "2004-07-15T00:00:00Z", "Z", "+0100", "+1:00" },
+        { "de", "Europe/London", "2004-07-15T00:00:00Z", "ZZZZ", "GMT+01:00", "+1:00" },
+        { "de", "Europe/London", "2004-07-15T00:00:00Z", "z", "GMT+01:00", "+1:00" },
+        { "de", "Europe/London", "2004-07-15T00:00:00Z", "zzzz", "GMT+01:00", "+1:00" },
+        { "de", "Europe/London", "2004-07-15T00:00:00Z", "v", "Vereinigtes K\u00f6nigreich", "Europe/London" },
+        { "de", "Europe/London", "2004-07-15T00:00:00Z", "vvvv", "Vereinigtes K\u00f6nigreich", "Europe/London" },
+
+        /* ibm JDK 1.4.2 doesn't support this timezone id
+        { "de", "Etc/GMT+3", "2004-01-15T00:00:00Z", "Z", "-0300", "-3:00" },
+        { "de", "Etc/GMT+3", "2004-01-15T00:00:00Z", "ZZZZ", "GMT-03:00", "-3:00" },
+        { "de", "Etc/GMT+3", "2004-01-15T00:00:00Z", "z", "GMT-03:00", "-3:00" },
+        { "de", "Etc/GMT+3", "2004-01-15T00:00:00Z", "zzzz", "GMT-03:00", "-3:00" },
+        { "de", "Etc/GMT+3", "2004-07-15T00:00:00Z", "Z", "-0300", "-3:00" },
+        { "de", "Etc/GMT+3", "2004-07-15T00:00:00Z", "ZZZZ", "GMT-03:00", "-3:00" },
+        { "de", "Etc/GMT+3", "2004-07-15T00:00:00Z", "z", "GMT-03:00", "-3:00" },
+        { "de", "Etc/GMT+3", "2004-07-15T00:00:00Z", "zzzz", "GMT-03:00", "-3:00" },
+        { "de", "Etc/GMT+3", "2004-07-15T00:00:00Z", "v", "GMT-03:00", "-3:00" },
+        { "de", "Etc/GMT+3", "2004-07-15T00:00:00Z", "vvvv", "GMT-03:00", "-3:00" },
+        */
+    // ==========
+
+        { "zh", "America/Los_Angeles", "2004-01-15T00:00:00Z", "Z", "-0800", "-8:00" },
+        { "zh", "America/Los_Angeles", "2004-01-15T00:00:00Z", "ZZZZ", "GMT-0800", "-8:00" },
+        { "zh", "America/Los_Angeles", "2004-01-15T00:00:00Z", "z", "PST", "America/Los_Angeles" },
+        { "zh", "America/Los_Angeles", "2004-01-15T00:00:00Z", "zzzz", "\u592a\u5e73\u6d0b\u6807\u51c6\u65f6\u95f4", "America/Los_Angeles" },
+        { "zh", "America/Los_Angeles", "2004-07-15T00:00:00Z", "Z", "-0700", "-7:00" },
+        { "zh", "America/Los_Angeles", "2004-07-15T00:00:00Z", "ZZZZ", "GMT-0700", "-7:00" },
+        { "zh", "America/Los_Angeles", "2004-07-15T00:00:00Z", "z", "PDT", "America/Los_Angeles" },
+        { "zh", "America/Los_Angeles", "2004-07-15T00:00:00Z", "zzzz", "\u592a\u5e73\u6d0b\u590f\u4ee4\u65f6\u95f4", "America/Los_Angeles" },
+    // icu zh.txt has exemplar city for this time zone
+        { "zh", "America/Los_Angeles", "2004-07-15T00:00:00Z", "v", "\u6d1b\u6749\u77f6 (\u7f8e\u56fd)", "America/Los_Angeles" },
+        { "zh", "America/Los_Angeles", "2004-07-15T00:00:00Z", "vvvv", "\u6d1b\u6749\u77f6 (\u7f8e\u56fd)", "America/Los_Angeles" },
+
+        /* JDK 1.5 doesn't support this time zone id
+        { "zh", "America/Argentina/Buenos_Aires", "2004-01-15T00:00:00Z", "Z", "-0300", "-3:00" },
+        { "zh", "America/Argentina/Buenos_Aires", "2004-01-15T00:00:00Z", "ZZZZ", "GMT-0300", "-3:00" },
+        { "zh", "America/Argentina/Buenos_Aires", "2004-01-15T00:00:00Z", "z", "GMT-0300", "-3:00" },
+        { "zh", "America/Argentina/Buenos_Aires", "2004-01-15T00:00:00Z", "zzzz", "GMT-0300", "-3:00" },
+        { "zh", "America/Argentina/Buenos_Aires", "2004-07-15T00:00:00Z", "Z", "-0300", "-3:00" },
+        { "zh", "America/Argentina/Buenos_Aires", "2004-07-15T00:00:00Z", "ZZZZ", "GMT-0300", "-3:00" },
+        { "zh", "America/Argentina/Buenos_Aires", "2004-07-15T00:00:00Z", "z", "GMT-0300", "-3:00" },
+        { "zh", "America/Argentina/Buenos_Aires", "2004-07-15T00:00:00Z", "zzzz", "GMT-0300", "-3:00" },
+    // icu zh.txt does not have info for this time zone
+        { "zh", "America/Argentina/Buenos_Aires", "2004-07-15T00:00:00Z", "v", "\u5E03\u5B9C\u8BFA\u65AF\u827E\u5229\u65AF (\u963f\u6839\u5ef7)", "America/Buenos_Aires" },
+        { "zh", "America/Argentina/Buenos_Aires", "2004-07-15T00:00:00Z", "vvvv", "\u5E03\u5B9C\u8BFA\u65AF\u827E\u5229\u65AF (\u963f\u6839\u5ef7)", "America/Buenos_Aires" },
+        */
+
+        { "zh", "America/Buenos_Aires", "2004-01-15T00:00:00Z", "Z", "-0300", "-3:00" },
+        { "zh", "America/Buenos_Aires", "2004-01-15T00:00:00Z", "ZZZZ", "GMT-0300", "-3:00" },
+        { "zh", "America/Buenos_Aires", "2004-01-15T00:00:00Z", "z", "GMT-0300", "-3:00" },
+        { "zh", "America/Buenos_Aires", "2004-01-15T00:00:00Z", "zzzz", "GMT-0300", "-3:00" },
+        { "zh", "America/Buenos_Aires", "2004-07-15T00:00:00Z", "Z", "-0300", "-3:00" },
+        { "zh", "America/Buenos_Aires", "2004-07-15T00:00:00Z", "ZZZZ", "GMT-0300", "-3:00" },
+        { "zh", "America/Buenos_Aires", "2004-07-15T00:00:00Z", "z", "GMT-0300", "-3:00" },
+        { "zh", "America/Buenos_Aires", "2004-07-15T00:00:00Z", "zzzz", "GMT-0300", "-3:00" },
+    // icu zh.txt does not have info for this time zone
+        { "zh", "America/Buenos_Aires", "2004-07-15T00:00:00Z", "v", "\u5E03\u5B9C\u8BFA\u65AF\u827E\u5229\u65AF (\u963f\u6839\u5ef7)", "America/Buenos_Aires" },
+        { "zh", "America/Buenos_Aires", "2004-07-15T00:00:00Z", "vvvv", "\u5E03\u5B9C\u8BFA\u65AF\u827E\u5229\u65AF (\u963f\u6839\u5ef7)", "America/Buenos_Aires" },
+
+        { "zh", "America/Havana", "2004-01-15T00:00:00Z", "Z", "-0500", "-5:00" },
+        { "zh", "America/Havana", "2004-01-15T00:00:00Z", "ZZZZ", "GMT-0500", "-5:00" },
+        { "zh", "America/Havana", "2004-01-15T00:00:00Z", "z", "GMT-0500", "-5:00" },
+        { "zh", "America/Havana", "2004-01-15T00:00:00Z", "zzzz", "GMT-0500", "-5:00" },
+        { "zh", "America/Havana", "2004-07-15T00:00:00Z", "Z", "-0400", "-4:00" },
+        { "zh", "America/Havana", "2004-07-15T00:00:00Z", "ZZZZ", "GMT-0400", "-4:00" },
+        { "zh", "America/Havana", "2004-07-15T00:00:00Z", "z", "GMT-0400", "-4:00" },
+        { "zh", "America/Havana", "2004-07-15T00:00:00Z", "zzzz", "GMT-0400", "-4:00" },
+        { "zh", "America/Havana", "2004-07-15T00:00:00Z", "v", "\u53e4\u5df4", "America/Havana" },
+        { "zh", "America/Havana", "2004-07-15T00:00:00Z", "vvvv", "\u53e4\u5df4", "America/Havana" },
+
+        /* ibm JDK 1.4.1 doesn't support this timezone id
+        { "zh", "Australia/ACT", "2004-01-15T00:00:00Z", "Z", "+1100", "+11:00" },
+        { "zh", "Australia/ACT", "2004-01-15T00:00:00Z", "ZZZZ", "GMT+1100", "+11:00" },
+        { "zh", "Australia/ACT", "2004-01-15T00:00:00Z", "z", "GMT+1100", "+11:00" },
+        { "zh", "Australia/ACT", "2004-01-15T00:00:00Z", "zzzz", "GMT+1100", "+11:00" },
+        { "zh", "Australia/ACT", "2004-07-15T00:00:00Z", "Z", "+1000", "+10:00" },
+        { "zh", "Australia/ACT", "2004-07-15T00:00:00Z", "ZZZZ", "GMT+1000", "+10:00" },
+        { "zh", "Australia/ACT", "2004-07-15T00:00:00Z", "z", "GMT+1000", "+10:00" },
+        { "zh", "Australia/ACT", "2004-07-15T00:00:00Z", "zzzz", "GMT+1000", "+10:00" },
+    // icu zh.txt does not have info for this time zone
+        { "zh", "Australia/ACT", "2004-07-15T00:00:00Z", "v", "\u6089\u5C3C (\u6fb3\u5927\u5229\u4e9a)", "Australia/Sydney" },
+        { "zh", "Australia/ACT", "2004-07-15T00:00:00Z", "vvvv", "\u6089\u5C3C (\u6fb3\u5927\u5229\u4e9a)", "Australia/Sydney" },
+        */
+
+        { "zh", "Australia/Sydney", "2004-01-15T00:00:00Z", "Z", "+1100", "+11:00" },
+        { "zh", "Australia/Sydney", "2004-01-15T00:00:00Z", "ZZZZ", "GMT+1100", "+11:00" },
+        { "zh", "Australia/Sydney", "2004-01-15T00:00:00Z", "z", "GMT+1100", "+11:00" },
+        { "zh", "Australia/Sydney", "2004-01-15T00:00:00Z", "zzzz", "GMT+1100", "+11:00" },
+        { "zh", "Australia/Sydney", "2004-07-15T00:00:00Z", "Z", "+1000", "+10:00" },
+        { "zh", "Australia/Sydney", "2004-07-15T00:00:00Z", "ZZZZ", "GMT+1000", "+10:00" },
+        { "zh", "Australia/Sydney", "2004-07-15T00:00:00Z", "z", "GMT+1000", "+10:00" },
+        { "zh", "Australia/Sydney", "2004-07-15T00:00:00Z", "zzzz", "GMT+1000", "+10:00" },
+        { "zh", "Australia/Sydney", "2004-07-15T00:00:00Z", "v", "\u6089\u5C3C (\u6fb3\u5927\u5229\u4e9a)", "Australia/Sydney" },
+        { "zh", "Australia/Sydney", "2004-07-15T00:00:00Z", "vvvv", "\u6089\u5C3C (\u6fb3\u5927\u5229\u4e9a)", "Australia/Sydney" },
+
+        { "zh", "Europe/London", "2004-01-15T00:00:00Z", "Z", "+0000", "+0:00" },
+        { "zh", "Europe/London", "2004-01-15T00:00:00Z", "ZZZZ", "GMT+0000", "+0:00" },
+        { "zh", "Europe/London", "2004-01-15T00:00:00Z", "z", "GMT+0000", "+0:00" },
+        { "zh", "Europe/London", "2004-01-15T00:00:00Z", "zzzz", "GMT+0000", "+0:00" },
+        { "zh", "Europe/London", "2004-07-15T00:00:00Z", "Z", "+0100", "+1:00" },
+        { "zh", "Europe/London", "2004-07-15T00:00:00Z", "ZZZZ", "GMT+0100", "+1:00" },
+        { "zh", "Europe/London", "2004-07-15T00:00:00Z", "z", "GMT+0100", "+1:00" },
+        { "zh", "Europe/London", "2004-07-15T00:00:00Z", "zzzz", "GMT+0100", "+1:00" },
+        { "zh", "Europe/London", "2004-07-15T00:00:00Z", "v", "\u82f1\u56fd", "Europe/London" },
+        { "zh", "Europe/London", "2004-07-15T00:00:00Z", "vvvv", "\u82f1\u56fd", "Europe/London" },
+
+        /* ibm JDK 1.4.2 doesn't support this timezone id
+        { "zh", "Etc/GMT+3", "2004-01-15T00:00:00Z", "Z", "-0300", "-3:00" },
+        { "zh", "Etc/GMT+3", "2004-01-15T00:00:00Z", "ZZZZ", "GMT-0300", "-3:00" },
+        { "zh", "Etc/GMT+3", "2004-01-15T00:00:00Z", "z", "GMT-0300", "-3:00" },
+        { "zh", "Etc/GMT+3", "2004-01-15T00:00:00Z", "zzzz", "GMT-0300", "-3:00" },
+        { "zh", "Etc/GMT+3", "2004-07-15T00:00:00Z", "Z", "-0300", "-3:00" },
+        { "zh", "Etc/GMT+3", "2004-07-15T00:00:00Z", "ZZZZ", "GMT-0300", "-3:00" },
+        { "zh", "Etc/GMT+3", "2004-07-15T00:00:00Z", "z", "GMT-0300", "-3:00" },
+        { "zh", "Etc/GMT+3", "2004-07-15T00:00:00Z", "zzzz", "GMT-0300", "-3:00" },
+        { "zh", "Etc/GMT+3", "2004-07-15T00:00:00Z", "v", "GMT-0300", "-3:00" },
+        { "zh", "Etc/GMT+3", "2004-07-15T00:00:00Z", "vvvv", "GMT-0300", "-3:00" },
+        */
+
+    // ==========
+
+        { "hi", "America/Los_Angeles", "2004-01-15T00:00:00Z", "Z", "-0800", "-8:00" },
+        { "hi", "America/Los_Angeles", "2004-01-15T00:00:00Z", "ZZZZ", "GMT-\u0966\u096e:\u0966\u0966", "-8:00" },
+        { "hi", "America/Los_Angeles", "2004-01-15T00:00:00Z", "z", "GMT-\u0966\u096e:\u0966\u0966", "-8:00" },
+        { "hi", "America/Los_Angeles", "2004-01-15T00:00:00Z", "zzzz", "GMT-\u0966\u096e:\u0966\u0966", "-8:00" },
+        { "hi", "America/Los_Angeles", "2004-07-15T00:00:00Z", "Z", "-0700", "-7:00" },
+        { "hi", "America/Los_Angeles", "2004-07-15T00:00:00Z", "ZZZZ", "GMT-\u0966\u096d:\u0966\u0966", "-7:00" },
+        { "hi", "America/Los_Angeles", "2004-07-15T00:00:00Z", "z", "GMT-\u0966\u096d:\u0966\u0966", "-7:00" },
+        { "hi", "America/Los_Angeles", "2004-07-15T00:00:00Z", "zzzz", "GMT-\u0966\u096d:\u0966\u0966", "-7:00" },
+        { "hi", "America/Los_Angeles", "2004-07-15T00:00:00Z", "v", "Los Angeles (\u0938\u0902\u092f\u0941\u0915\u094d\u0924 \u0930\u093e\u091c\u094d\u092f \u0905\u092e\u0930\u093f\u0915\u093e)", "America/Los_Angeles" },
+        { "hi", "America/Los_Angeles", "2004-07-15T00:00:00Z", "vvvv", "Los Angeles (\u0938\u0902\u092f\u0941\u0915\u094d\u0924 \u0930\u093e\u091c\u094d\u092f \u0905\u092e\u0930\u093f\u0915\u093e)", "America/Los_Angeles" },
+
+        /* JDK 1.5 doesn't support this time zone id
+        { "hi", "America/Argentina/Buenos_Aires", "2004-01-15T00:00:00Z", "Z", "-0300", "-3:00" },
+        { "hi", "America/Argentina/Buenos_Aires", "2004-01-15T00:00:00Z", "ZZZZ", "GMT-\u0966\u0969:\u0966\u0966", "-3:00" },
+        { "hi", "America/Argentina/Buenos_Aires", "2004-01-15T00:00:00Z", "z", "GMT-\u0966\u0969:\u0966\u0966", "-3:00" },
+        { "hi", "America/Argentina/Buenos_Aires", "2004-01-15T00:00:00Z", "zzzz", "GMT-\u0966\u0969:\u0966\u0966", "-3:00" },
+        { "hi", "America/Argentina/Buenos_Aires", "2004-07-15T00:00:00Z", "Z", "-0300", "-3:00" },
+        { "hi", "America/Argentina/Buenos_Aires", "2004-07-15T00:00:00Z", "ZZZZ", "GMT-\u0966\u0969:\u0966\u0966", "-3:00" },
+        { "hi", "America/Argentina/Buenos_Aires", "2004-07-15T00:00:00Z", "z", "GMT-\u0966\u0969:\u0966\u0966", "-3:00" },
+        { "hi", "America/Argentina/Buenos_Aires", "2004-07-15T00:00:00Z", "zzzz", "GMT-\u0966\u0969:\u0966\u0966", "-3:00" },
+        { "hi", "America/Argentina/Buenos_Aires", "2004-07-15T00:00:00Z", "v", "Buenos Aires (\u0905\u0930\u094d\u091c\u0947\u0928\u094d\u091f\u0940\u0928\u093e)", "America/Buenos_Aires" },
+        { "hi", "America/Argentina/Buenos_Aires", "2004-07-15T00:00:00Z", "vvvv", "Buenos Aires (\u0905\u0930\u094d\u091c\u0947\u0928\u094d\u091f\u0940\u0928\u093e)", "America/Buenos_Aires" },
+        */
+
+        { "hi", "America/Buenos_Aires", "2004-01-15T00:00:00Z", "Z", "-0300", "-3:00" },
+        { "hi", "America/Buenos_Aires", "2004-01-15T00:00:00Z", "ZZZZ", "GMT-\u0966\u0969:\u0966\u0966", "-3:00" },
+        { "hi", "America/Buenos_Aires", "2004-01-15T00:00:00Z", "z", "GMT-\u0966\u0969:\u0966\u0966", "-3:00" },
+        { "hi", "America/Buenos_Aires", "2004-01-15T00:00:00Z", "zzzz", "GMT-\u0966\u0969:\u0966\u0966", "-3:00" },
+        { "hi", "America/Buenos_Aires", "2004-07-15T00:00:00Z", "Z", "-0300", "-3:00" },
+        { "hi", "America/Buenos_Aires", "2004-07-15T00:00:00Z", "ZZZZ", "GMT-\u0966\u0969:\u0966\u0966", "-3:00" },
+        { "hi", "America/Buenos_Aires", "2004-07-15T00:00:00Z", "z", "GMT-\u0966\u0969:\u0966\u0966", "-3:00" },
+        { "hi", "America/Buenos_Aires", "2004-07-15T00:00:00Z", "zzzz", "GMT-\u0966\u0969:\u0966\u0966", "-3:00" },
+        { "hi", "America/Buenos_Aires", "2004-07-15T00:00:00Z", "v", "Buenos Aires (\u0905\u0930\u094d\u091c\u0947\u0928\u094d\u091f\u0940\u0928\u093e)", "America/Buenos_Aires" },
+        { "hi", "America/Buenos_Aires", "2004-07-15T00:00:00Z", "vvvv", "Buenos Aires (\u0905\u0930\u094d\u091c\u0947\u0928\u094d\u091f\u0940\u0928\u093e)", "America/Buenos_Aires" },
+
+        { "hi", "America/Havana", "2004-01-15T00:00:00Z", "Z", "-0500", "-5:00" },
+        { "hi", "America/Havana", "2004-01-15T00:00:00Z", "ZZZZ", "GMT-\u0966\u096b:\u0966\u0966", "-5:00" },
+        { "hi", "America/Havana", "2004-01-15T00:00:00Z", "z", "GMT-\u0966\u096b:\u0966\u0966", "-5:00" },
+        { "hi", "America/Havana", "2004-01-15T00:00:00Z", "zzzz", "GMT-\u0966\u096b:\u0966\u0966", "-5:00" },
+        { "hi", "America/Havana", "2004-07-15T00:00:00Z", "Z", "-0400", "-4:00" },
+        { "hi", "America/Havana", "2004-07-15T00:00:00Z", "ZZZZ", "GMT-\u0966\u096a:\u0966\u0966", "-4:00" },
+        { "hi", "America/Havana", "2004-07-15T00:00:00Z", "z", "GMT-\u0966\u096a:\u0966\u0966", "-4:00" },
+        { "hi", "America/Havana", "2004-07-15T00:00:00Z", "zzzz", "GMT-\u0966\u096a:\u0966\u0966", "-4:00" },
+        { "hi", "America/Havana", "2004-07-15T00:00:00Z", "v", "\u0915\u094d\u092f\u0942\u092c\u093e", "America/Havana" },
+        { "hi", "America/Havana", "2004-07-15T00:00:00Z", "vvvv", "\u0915\u094d\u092f\u0942\u092c\u093e", "America/Havana" },
+
+        /* ibm JDK 1.4.1 doesn't support this timezone id
+        { "hi", "Australia/ACT", "2004-01-15T00:00:00Z", "Z", "+1100", "+11:00" },
+        { "hi", "Australia/ACT", "2004-01-15T00:00:00Z", "ZZZZ", "GMT+\u0967\u0967:\u0966\u0966", "+11:00" },
+        { "hi", "Australia/ACT", "2004-01-15T00:00:00Z", "z", "GMT+\u0967\u0967:\u0966\u0966", "+11:00" },
+        { "hi", "Australia/ACT", "2004-01-15T00:00:00Z", "zzzz", "GMT+\u0967\u0967:\u0966\u0966", "+11:00" },
+        { "hi", "Australia/ACT", "2004-07-15T00:00:00Z", "Z", "+1000", "+10:00" },
+        { "hi", "Australia/ACT", "2004-07-15T00:00:00Z", "ZZZZ", "GMT+\u0967\u0966:\u0966\u0966", "+10:00" },
+        { "hi", "Australia/ACT", "2004-07-15T00:00:00Z", "z", "GMT+\u0967\u0966:\u0966\u0966", "+10:00" },
+        { "hi", "Australia/ACT", "2004-07-15T00:00:00Z", "zzzz", "GMT+\u0967\u0966:\u0966\u0966", "+10:00" },
+        { "hi", "Australia/ACT", "2004-07-15T00:00:00Z", "v", "Sydney (\u0911\u0938\u094d\u091f\u094d\u0930\u0947\u0932\u093f\u092f\u093e)", "Australia/Sydney" },
+        { "hi", "Australia/ACT", "2004-07-15T00:00:00Z", "vvvv", "Sydney (\u0911\u0938\u094d\u091f\u094d\u0930\u0947\u0932\u093f\u092f\u093e)", "Australia/Sydney" },
+        */
+
+        { "hi", "Australia/Sydney", "2004-01-15T00:00:00Z", "Z", "+1100", "+11:00" },
+        { "hi", "Australia/Sydney", "2004-01-15T00:00:00Z", "ZZZZ", "GMT+\u0967\u0967:\u0966\u0966", "+11:00" },
+        { "hi", "Australia/Sydney", "2004-01-15T00:00:00Z", "z", "GMT+\u0967\u0967:\u0966\u0966", "+11:00" },
+        { "hi", "Australia/Sydney", "2004-01-15T00:00:00Z", "zzzz", "GMT+\u0967\u0967:\u0966\u0966", "+11:00" },
+        { "hi", "Australia/Sydney", "2004-07-15T00:00:00Z", "Z", "+1000", "+10:00" },
+        { "hi", "Australia/Sydney", "2004-07-15T00:00:00Z", "ZZZZ", "GMT+\u0967\u0966:\u0966\u0966", "+10:00" },
+        { "hi", "Australia/Sydney", "2004-07-15T00:00:00Z", "z", "GMT+\u0967\u0966:\u0966\u0966", "+10:00" },
+        { "hi", "Australia/Sydney", "2004-07-15T00:00:00Z", "zzzz", "GMT+\u0967\u0966:\u0966\u0966", "+10:00" },
+        { "hi", "Australia/Sydney", "2004-07-15T00:00:00Z", "v", "Sydney (\u0911\u0938\u094d\u091f\u094d\u0930\u0947\u0932\u093f\u092f\u093e)", "Australia/Sydney" },
+        { "hi", "Australia/Sydney", "2004-07-15T00:00:00Z", "vvvv", "Sydney (\u0911\u0938\u094d\u091f\u094d\u0930\u0947\u0932\u093f\u092f\u093e)", "Australia/Sydney" },
+
+        { "hi", "Europe/London", "2004-01-15T00:00:00Z", "Z", "+0000", "+0:00" },
+        { "hi", "Europe/London", "2004-01-15T00:00:00Z", "ZZZZ", "GMT+\u0966\u0966:\u0966\u0966", "+0:00" },
+        { "hi", "Europe/London", "2004-01-15T00:00:00Z", "z", "GMT+\u0966\u0966:\u0966\u0966", "+0:00" },
+        { "hi", "Europe/London", "2004-01-15T00:00:00Z", "zzzz", "GMT+\u0966\u0966:\u0966\u0966", "+0:00" },
+        { "hi", "Europe/London", "2004-07-15T00:00:00Z", "Z", "+0100", "+1:00" },
+        { "hi", "Europe/London", "2004-07-15T00:00:00Z", "ZZZZ", "GMT+\u0966\u0967:\u0966\u0966", "+1:00" },
+        { "hi", "Europe/London", "2004-07-15T00:00:00Z", "z", "GMT+\u0966\u0967:\u0966\u0966", "+1:00" },
+        { "hi", "Europe/London", "2004-07-15T00:00:00Z", "zzzz", "GMT+\u0966\u0967:\u0966\u0966", "+1:00" },
+        { "hi", "Europe/London", "2004-07-15T00:00:00Z", "v", "GB", "Europe/London" },
+        { "hi", "Europe/London", "2004-07-15T00:00:00Z", "vvvv", "GB", "Europe/London" },
+
+        /* ibm JDK 1.4.2 doesn't support this timezone id
+        { "hi", "Etc/GMT+3", "2004-01-15T00:00:00Z", "Z", "-0300", "-3:00" },
+        { "hi", "Etc/GMT+3", "2004-01-15T00:00:00Z", "ZZZZ", "GMT-\u0966\u0969:\u0966\u0966", "-3:00" },
+        { "hi", "Etc/GMT+3", "2004-01-15T00:00:00Z", "z", "GMT-\u0966\u0969:\u0966\u0966", "-3:00" },
+        { "hi", "Etc/GMT+3", "2004-01-15T00:00:00Z", "zzzz", "GMT-\u0966\u0969:\u0966\u0966", "-3:00" },
+        { "hi", "Etc/GMT+3", "2004-07-15T00:00:00Z", "Z", "-0300", "-3:00" },
+        { "hi", "Etc/GMT+3", "2004-07-15T00:00:00Z", "ZZZZ", "GMT-\u0966\u0969:\u0966\u0966", "-3:00" },
+        { "hi", "Etc/GMT+3", "2004-07-15T00:00:00Z", "z", "GMT-\u0966\u0969:\u0966\u0966", "-3:00" },
+        { "hi", "Etc/GMT+3", "2004-07-15T00:00:00Z", "zzzz", "GMT-\u0966\u0969:\u0966\u0966", "-3:00" },
+        { "hi", "Etc/GMT+3", "2004-07-15T00:00:00Z", "v", "GMT-\u0966\u0969:\u0966\u0966", "-3:00" },
+        { "hi", "Etc/GMT+3", "2004-07-15T00:00:00Z", "vvvv", "GMT-\u0966\u0969:\u0966\u0966", "-3:00" },
+        */
+    // ==========
+
+        { "bg", "America/Los_Angeles", "2004-01-15T00:00:00Z", "Z", "-0800", "-8:00" },
+        { "bg", "America/Los_Angeles", "2004-01-15T00:00:00Z", "ZZZZ", "\u0413\u0440\u0438\u0438\u043d\u0443\u0438\u0447-0800", "-8:00" },
+        { "bg", "America/Los_Angeles", "2004-01-15T00:00:00Z", "z", "PST", "America/Los_Angeles" },
+        { "bg", "America/Los_Angeles", "2004-01-15T00:00:00Z", "zzzz", "\u0422\u0438\u0445\u043e\u043e\u043a\u0435\u0430\u043d\u0441\u043a\u0430 \u0447\u0430\u0441\u043e\u0432\u0430 \u0437\u043e\u043d\u0430", "America/Los_Angeles" },
+        { "bg", "America/Los_Angeles", "2004-07-15T00:00:00Z", "Z", "-0700", "-7:00" },
+        { "bg", "America/Los_Angeles", "2004-07-15T00:00:00Z", "ZZZZ", "\u0413\u0440\u0438\u0438\u043d\u0443\u0438\u0447-0700", "-7:00" },
+        { "bg", "America/Los_Angeles", "2004-07-15T00:00:00Z", "z", "PDT", "America/Los_Angeles" },
+        { "bg", "America/Los_Angeles", "2004-07-15T00:00:00Z", "zzzz", "\u0422\u0438\u0445\u043e\u043e\u043a\u0435\u0430\u043d\u0441\u043a\u0430 \u043b\u044f\u0442\u043d\u0430 \u0447\u0430\u0441\u043e\u0432\u0430 \u0437\u043e\u043d\u0430", "America/Los_Angeles" },
+    // icu bg.txt has exemplar city for this time zone
+        { "bg", "America/Los_Angeles", "2004-07-15T00:00:00Z", "v", "\u041b\u043e\u0441 \u0410\u043d\u0436\u0435\u043b\u0438\u0441 (\u0421\u0410\u0429)", "America/Los_Angeles" },
+        { "bg", "America/Los_Angeles", "2004-07-15T00:00:00Z", "vvvv", "\u041b\u043e\u0441 \u0410\u043d\u0436\u0435\u043b\u0438\u0441 (\u0421\u0410\u0429)", "America/Los_Angeles" },
+
+        /* JDK 1.5 doesn't support this time zone id
+        { "bg", "America/Argentina/Buenos_Aires", "2004-01-15T00:00:00Z", "Z", "-0300", "-3:00" },
+        { "bg", "America/Argentina/Buenos_Aires", "2004-01-15T00:00:00Z", "ZZZZ", "\u0413\u0440\u0438\u0438\u043d\u0443\u0438\u0447-0300", "-3:00" },
+        { "bg", "America/Argentina/Buenos_Aires", "2004-01-15T00:00:00Z", "z", "\u0413\u0440\u0438\u0438\u043d\u0443\u0438\u0447-0300", "-3:00" },
+        { "bg", "America/Argentina/Buenos_Aires", "2004-01-15T00:00:00Z", "zzzz", "\u0413\u0440\u0438\u0438\u043d\u0443\u0438\u0447-0300", "-3:00" },
+        { "bg", "America/Argentina/Buenos_Aires", "2004-07-15T00:00:00Z", "Z", "-0300", "-3:00" },
+        { "bg", "America/Argentina/Buenos_Aires", "2004-07-15T00:00:00Z", "ZZZZ", "\u0413\u0440\u0438\u0438\u043d\u0443\u0438\u0447-0300", "-3:00" },
+        { "bg", "America/Argentina/Buenos_Aires", "2004-07-15T00:00:00Z", "z", "\u0413\u0440\u0438\u0438\u043d\u0443\u0438\u0447-0300", "-3:00" },
+        { "bg", "America/Argentina/Buenos_Aires", "2004-07-15T00:00:00Z", "zzzz", "\u0413\u0440\u0438\u0438\u043d\u0443\u0438\u0447-0300", "-3:00" },
+    // icu bg.txt does not have info for this time zone
+        { "bg", "America/Argentina/Buenos_Aires", "2004-07-15T00:00:00Z", "v", "Buenos Aires (\u0410\u0440\u0436\u0435\u043d\u0442\u0438\u043d\u0430)", "America/Buenos_Aires" },
+        { "bg", "America/Argentina/Buenos_Aires", "2004-07-15T00:00:00Z", "vvvv", "Buenos Aires (\u0410\u0440\u0436\u0435\u043d\u0442\u0438\u043d\u0430)", "America/Buenos_Aires" },
+        */
+
+        { "bg", "America/Buenos_Aires", "2004-01-15T00:00:00Z", "Z", "-0300", "-3:00" },
+        { "bg", "America/Buenos_Aires", "2004-01-15T00:00:00Z", "ZZZZ", "\u0413\u0440\u0438\u0438\u043d\u0443\u0438\u0447-0300", "-3:00" },
+        { "bg", "America/Buenos_Aires", "2004-01-15T00:00:00Z", "z", "\u0413\u0440\u0438\u0438\u043d\u0443\u0438\u0447-0300", "-3:00" },
+        { "bg", "America/Buenos_Aires", "2004-01-15T00:00:00Z", "zzzz", "\u0413\u0440\u0438\u0438\u043d\u0443\u0438\u0447-0300", "-3:00" },
+        { "bg", "America/Buenos_Aires", "2004-07-15T00:00:00Z", "Z", "-0300", "-3:00" },
+        { "bg", "America/Buenos_Aires", "2004-07-15T00:00:00Z", "ZZZZ", "\u0413\u0440\u0438\u0438\u043d\u0443\u0438\u0447-0300", "-3:00" },
+        { "bg", "America/Buenos_Aires", "2004-07-15T00:00:00Z", "z", "\u0413\u0440\u0438\u0438\u043d\u0443\u0438\u0447-0300", "-3:00" },
+        { "bg", "America/Buenos_Aires", "2004-07-15T00:00:00Z", "zzzz", "\u0413\u0440\u0438\u0438\u043d\u0443\u0438\u0447-0300", "-3:00" },
+    // icu bg.txt does not have info for this time zone
+        { "bg", "America/Buenos_Aires", "2004-07-15T00:00:00Z", "v", "Buenos Aires (\u0410\u0440\u0436\u0435\u043d\u0442\u0438\u043d\u0430)", "America/Buenos_Aires" },
+        { "bg", "America/Buenos_Aires", "2004-07-15T00:00:00Z", "vvvv", "Buenos Aires (\u0410\u0440\u0436\u0435\u043d\u0442\u0438\u043d\u0430)", "America/Buenos_Aires" },
+
+        { "bg", "America/Havana", "2004-01-15T00:00:00Z", "Z", "-0500", "-5:00" },
+        { "bg", "America/Havana", "2004-01-15T00:00:00Z", "ZZZZ", "\u0413\u0440\u0438\u0438\u043d\u0443\u0438\u0447-0500", "-5:00" },
+        { "bg", "America/Havana", "2004-01-15T00:00:00Z", "z", "\u0413\u0440\u0438\u0438\u043d\u0443\u0438\u0447-0500", "-5:00" },
+        { "bg", "America/Havana", "2004-01-15T00:00:00Z", "zzzz", "\u0413\u0440\u0438\u0438\u043d\u0443\u0438\u0447-0500", "-5:00" },
+        { "bg", "America/Havana", "2004-07-15T00:00:00Z", "Z", "-0400", "-4:00" },
+        { "bg", "America/Havana", "2004-07-15T00:00:00Z", "ZZZZ", "\u0413\u0440\u0438\u0438\u043d\u0443\u0438\u0447-0400", "-4:00" },
+        { "bg", "America/Havana", "2004-07-15T00:00:00Z", "z", "\u0413\u0440\u0438\u0438\u043d\u0443\u0438\u0447-0400", "-4:00" },
+        { "bg", "America/Havana", "2004-07-15T00:00:00Z", "zzzz", "\u0413\u0440\u0438\u0438\u043d\u0443\u0438\u0447-0400", "-4:00" },
+        { "bg", "America/Havana", "2004-07-15T00:00:00Z", "v", "\u041a\u0443\u0431\u0430", "America/Havana" },
+        { "bg", "America/Havana", "2004-07-15T00:00:00Z", "vvvv", "\u041a\u0443\u0431\u0430", "America/Havana" },
+
+        /* ibm JDK 1.4.1 doesn't support this timezone id
+        { "bg", "Australia/ACT", "2004-01-15T00:00:00Z", "Z", "+1100", "+11:00" },
+        { "bg", "Australia/ACT", "2004-01-15T00:00:00Z", "ZZZZ", "\u0413\u0440\u0438\u0438\u043d\u0443\u0438\u0447+1100", "+11:00" },
+        { "bg", "Australia/ACT", "2004-01-15T00:00:00Z", "z", "\u0413\u0440\u0438\u0438\u043d\u0443\u0438\u0447+1100", "+11:00" },
+        { "bg", "Australia/ACT", "2004-01-15T00:00:00Z", "zzzz", "\u0413\u0440\u0438\u0438\u043d\u0443\u0438\u0447+1100", "+11:00" },
+        { "bg", "Australia/ACT", "2004-07-15T00:00:00Z", "Z", "+1000", "+10:00" },
+        { "bg", "Australia/ACT", "2004-07-15T00:00:00Z", "ZZZZ", "\u0413\u0440\u0438\u0438\u043d\u0443\u0438\u0447+1000", "+10:00" },
+        { "bg", "Australia/ACT", "2004-07-15T00:00:00Z", "z", "\u0413\u0440\u0438\u0438\u043d\u0443\u0438\u0447+1000", "+10:00" },
+        { "bg", "Australia/ACT", "2004-07-15T00:00:00Z", "zzzz", "\u0413\u0440\u0438\u0438\u043d\u0443\u0438\u0447+1000", "+10:00" },
+    // icu bg.txt does not have info for this time zone
+        { "bg", "Australia/ACT", "2004-07-15T00:00:00Z", "v", "Sydney (\u0410\u0432\u0441\u0442\u0440\u0430\u043b\u0438\u044f)", "Australia/Sydney" },
+        { "bg", "Australia/ACT", "2004-07-15T00:00:00Z", "vvvv", "Sydney (\u0410\u0432\u0441\u0442\u0440\u0430\u043b\u0438\u044f)", "Australia/Sydney" },
+        */
+
+        { "bg", "Australia/Sydney", "2004-01-15T00:00:00Z", "Z", "+1100", "+11:00" },
+        { "bg", "Australia/Sydney", "2004-01-15T00:00:00Z", "ZZZZ", "\u0413\u0440\u0438\u0438\u043d\u0443\u0438\u0447+1100", "+11:00" },
+        { "bg", "Australia/Sydney", "2004-01-15T00:00:00Z", "z", "\u0413\u0440\u0438\u0438\u043d\u0443\u0438\u0447+1100", "+11:00" },
+        { "bg", "Australia/Sydney", "2004-01-15T00:00:00Z", "zzzz", "\u0413\u0440\u0438\u0438\u043d\u0443\u0438\u0447+1100", "+11:00" },
+        { "bg", "Australia/Sydney", "2004-07-15T00:00:00Z", "Z", "+1000", "+10:00" },
+        { "bg", "Australia/Sydney", "2004-07-15T00:00:00Z", "ZZZZ", "\u0413\u0440\u0438\u0438\u043d\u0443\u0438\u0447+1000", "+10:00" },
+        { "bg", "Australia/Sydney", "2004-07-15T00:00:00Z", "z", "\u0413\u0440\u0438\u0438\u043d\u0443\u0438\u0447+1000", "+10:00" },
+        { "bg", "Australia/Sydney", "2004-07-15T00:00:00Z", "zzzz", "\u0413\u0440\u0438\u0438\u043d\u0443\u0438\u0447+1000", "+10:00" },
+    // icu bg.txt does not have info for this time zone
+        { "bg", "Australia/Sydney", "2004-07-15T00:00:00Z", "v", "Sydney (\u0410\u0432\u0441\u0442\u0440\u0430\u043b\u0438\u044f)", "Australia/Sydney" },
+        { "bg", "Australia/Sydney", "2004-07-15T00:00:00Z", "vvvv", "Sydney (\u0410\u0432\u0441\u0442\u0440\u0430\u043b\u0438\u044f)", "Australia/Sydney" },
+
+        { "bg", "Europe/London", "2004-01-15T00:00:00Z", "Z", "+0000", "+0:00" },
+        { "bg", "Europe/London", "2004-01-15T00:00:00Z", "ZZZZ", "\u0413\u0440\u0438\u0438\u043d\u0443\u0438\u0447+0000", "+0:00" },
+        { "bg", "Europe/London", "2004-01-15T00:00:00Z", "z", "\u0413\u0440\u0438\u0438\u043d\u0443\u0438\u0447+0000", "+0:00" },
+        { "bg", "Europe/London", "2004-01-15T00:00:00Z", "zzzz", "\u0413\u0440\u0438\u0438\u043d\u0443\u0438\u0447+0000", "+0:00" },
+        { "bg", "Europe/London", "2004-07-15T00:00:00Z", "Z", "+0100", "+1:00" },
+        { "bg", "Europe/London", "2004-07-15T00:00:00Z", "ZZZZ", "\u0413\u0440\u0438\u0438\u043d\u0443\u0438\u0447+0100", "+1:00" },
+        { "bg", "Europe/London", "2004-07-15T00:00:00Z", "z", "\u0413\u0440\u0438\u0438\u043d\u0443\u0438\u0447+0100", "+1:00" },
+        { "bg", "Europe/London", "2004-07-15T00:00:00Z", "zzzz", "\u0413\u0440\u0438\u0438\u043d\u0443\u0438\u0447+0100", "+1:00" },
+        { "bg", "Europe/London", "2004-07-15T00:00:00Z", "v", "\u041e\u0431\u0435\u0434\u0438\u043d\u0435\u043d\u043e \u043a\u0440\u0430\u043b\u0441\u0442\u0432\u043e", "Europe/London" },
+        { "bg", "Europe/London", "2004-07-15T00:00:00Z", "vvvv", "\u041e\u0431\u0435\u0434\u0438\u043d\u0435\u043d\u043e \u043a\u0440\u0430\u043b\u0441\u0442\u0432\u043e", "Europe/London" },
+
+        /* ibm JDK 1.4.2 doesn't support this timezone id
+        { "bg", "Etc/GMT+3", "2004-01-15T00:00:00Z", "Z", "-0300", "-3:00" },
+        { "bg", "Etc/GMT+3", "2004-01-15T00:00:00Z", "ZZZZ", "\u0413\u0440\u0438\u0438\u043d\u0443\u0438\u0447-0300", "-3:00" },
+        { "bg", "Etc/GMT+3", "2004-01-15T00:00:00Z", "z", "\u0413\u0440\u0438\u0438\u043d\u0443\u0438\u0447-0300", "-3:00" },
+        { "bg", "Etc/GMT+3", "2004-01-15T00:00:00Z", "zzzz", "\u0413\u0440\u0438\u0438\u043d\u0443\u0438\u0447-0300", "-3:00" },
+        { "bg", "Etc/GMT+3", "2004-07-15T00:00:00Z", "Z", "-0300", "-3:00" },
+        { "bg", "Etc/GMT+3", "2004-07-15T00:00:00Z", "ZZZZ", "\u0413\u0440\u0438\u0438\u043d\u0443\u0438\u0447-0300", "-3:00" },
+        { "bg", "Etc/GMT+3", "2004-07-15T00:00:00Z", "z", "\u0413\u0440\u0438\u0438\u043d\u0443\u0438\u0447-0300", "-3:00" },
+        { "bg", "Etc/GMT+3", "2004-07-15T00:00:00Z", "zzzz", "\u0413\u0440\u0438\u0438\u043d\u0443\u0438\u0447-0300", "-3:00" },
+        { "bg", "Etc/GMT+3", "2004-07-15T00:00:00Z", "v", "\u0413\u0440\u0438\u0438\u043d\u0443\u0438\u0447-0300", "-3:00" },
+        { "bg", "Etc/GMT+3", "2004-07-15T00:00:00Z", "vvvv", "\u0413\u0440\u0438\u0438\u043d\u0443\u0438\u0447-0300", "-3:00" },
+        */
+
+    // ==========
+
+        { "ja", "America/Los_Angeles", "2004-01-15T00:00:00Z", "Z", "-0800", "-8:00" },
+        { "ja", "America/Los_Angeles", "2004-01-15T00:00:00Z", "ZZZZ", "GMT-0800", "-8:00" },
+        { "ja", "America/Los_Angeles", "2004-01-15T00:00:00Z", "z", "PST", "America/Los_Angeles" },
+        { "ja", "America/Los_Angeles", "2004-01-15T00:00:00Z", "zzzz", "\u592a\u5e73\u6d0b\u6a19\u6e96\u6642", "America/Los_Angeles" },
+        { "ja", "America/Los_Angeles", "2004-07-15T00:00:00Z", "Z", "-0700", "-7:00" },
+        { "ja", "America/Los_Angeles", "2004-07-15T00:00:00Z", "ZZZZ", "GMT-0700", "-7:00" },
+        { "ja", "America/Los_Angeles", "2004-07-15T00:00:00Z", "z", "PDT", "America/Los_Angeles" },
+        { "ja", "America/Los_Angeles", "2004-07-15T00:00:00Z", "zzzz", "\u592a\u5e73\u6d0b\u590f\u6642\u9593", "America/Los_Angeles" },
+    // icu ja.txt has exemplar city for this time zone
+    // we use the region format for this case, and so append \u6642\u9593 to the result, i.e. this translates as "Los Angeles Time"
+        { "ja", "America/Los_Angeles", "2004-07-15T00:00:00Z", "v", "\u30ed\u30b5\u30f3\u30bc\u30eb\u30b9 (\u30A2\u30E1\u30EA\u30AB\u5408\u8846\u56FD)\u6642\u9593", "America/Los_Angeles" },
+        { "ja", "America/Los_Angeles", "2004-07-15T00:00:00Z", "vvvv", "\u30ed\u30b5\u30f3\u30bc\u30eb\u30b9 (\u30A2\u30E1\u30EA\u30AB\u5408\u8846\u56FD)\u6642\u9593", "America/Los_Angeles" },
+
+        /* JDK 1.5 doesn't support this time zone id
+        { "ja", "America/Argentina/Buenos_Aires", "2004-01-15T00:00:00Z", "Z", "-0300", "-3:00" },
+        { "ja", "America/Argentina/Buenos_Aires", "2004-01-15T00:00:00Z", "ZZZZ", "GMT-0300", "-3:00" },
+        { "ja", "America/Argentina/Buenos_Aires", "2004-01-15T00:00:00Z", "z", "GMT-0300", "-3:00" },
+        { "ja", "America/Argentina/Buenos_Aires", "2004-01-15T00:00:00Z", "zzzz", "GMT-0300", "-3:00" },
+        { "ja", "America/Argentina/Buenos_Aires", "2004-07-15T00:00:00Z", "Z", "-0300", "-3:00" },
+        { "ja", "America/Argentina/Buenos_Aires", "2004-07-15T00:00:00Z", "ZZZZ", "GMT-0300", "-3:00" },
+        { "ja", "America/Argentina/Buenos_Aires", "2004-07-15T00:00:00Z", "z", "GMT-0300", "-3:00" },
+        { "ja", "America/Argentina/Buenos_Aires", "2004-07-15T00:00:00Z", "zzzz", "GMT-0300", "-3:00" },
+    // icu ja.txt does not have info for this time zone
+        { "ja", "America/Argentina/Buenos_Aires", "2004-07-15T00:00:00Z", "v", "\u30A2\u30E1\u30EA\u30AB/\u30D6\u30A8\u30CE\u30B9\u30A2\u30A4\u30EC\u30B9 (\u30a2\u30eb\u30bc\u30f3\u30c1\u30f3)\u6642\u9593", "America/Buenos_Aires" },
+        { "ja", "America/Argentina/Buenos_Aires", "2004-07-15T00:00:00Z", "vvvv", "\u30A2\u30E1\u30EA\u30AB/\u30D6\u30A8\u30CE\u30B9\u30A2\u30A4\u30EC\u30B9 (\u30a2\u30eb\u30bc\u30f3\u30c1\u30f3)\u6642\u9593", "America/Buenos_Aires" },
+        */
+
+        { "ja", "America/Buenos_Aires", "2004-01-15T00:00:00Z", "Z", "-0300", "-3:00" },
+        { "ja", "America/Buenos_Aires", "2004-01-15T00:00:00Z", "ZZZZ", "GMT-0300", "-3:00" },
+        { "ja", "America/Buenos_Aires", "2004-01-15T00:00:00Z", "z", "GMT-0300", "-3:00" },
+        { "ja", "America/Buenos_Aires", "2004-01-15T00:00:00Z", "zzzz", "GMT-0300", "-3:00" },
+        { "ja", "America/Buenos_Aires", "2004-07-15T00:00:00Z", "Z", "-0300", "-3:00" },
+        { "ja", "America/Buenos_Aires", "2004-07-15T00:00:00Z", "ZZZZ", "GMT-0300", "-3:00" },
+        { "ja", "America/Buenos_Aires", "2004-07-15T00:00:00Z", "z", "GMT-0300", "-3:00" },
+        { "ja", "America/Buenos_Aires", "2004-07-15T00:00:00Z", "zzzz", "GMT-0300", "-3:00" },
+    // icu ja.txt does not have info for this time zone
+        { "ja", "America/Buenos_Aires", "2004-07-15T00:00:00Z", "v", "\u30A2\u30E1\u30EA\u30AB/\u30D6\u30A8\u30CE\u30B9\u30A2\u30A4\u30EC\u30B9 (\u30a2\u30eb\u30bc\u30f3\u30c1\u30f3)\u6642\u9593", "America/Buenos_Aires" },
+        { "ja", "America/Buenos_Aires", "2004-07-15T00:00:00Z", "vvvv", "\u30A2\u30E1\u30EA\u30AB/\u30D6\u30A8\u30CE\u30B9\u30A2\u30A4\u30EC\u30B9 (\u30a2\u30eb\u30bc\u30f3\u30c1\u30f3)\u6642\u9593", "America/Buenos_Aires" },
+
+        { "ja", "America/Havana", "2004-01-15T00:00:00Z", "Z", "-0500", "-5:00" },
+        { "ja", "America/Havana", "2004-01-15T00:00:00Z", "ZZZZ", "GMT-0500", "-5:00" },
+        { "ja", "America/Havana", "2004-01-15T00:00:00Z", "z", "GMT-0500", "-5:00" },
+        { "ja", "America/Havana", "2004-01-15T00:00:00Z", "zzzz", "GMT-0500", "-5:00" },
+        { "ja", "America/Havana", "2004-07-15T00:00:00Z", "Z", "-0400", "-4:00" },
+        { "ja", "America/Havana", "2004-07-15T00:00:00Z", "ZZZZ", "GMT-0400", "-4:00" },
+        { "ja", "America/Havana", "2004-07-15T00:00:00Z", "z", "GMT-0400", "-4:00" },
+        { "ja", "America/Havana", "2004-07-15T00:00:00Z", "zzzz", "GMT-0400", "-4:00" },
+        { "ja", "America/Havana", "2004-07-15T00:00:00Z", "v", "\u30ad\u30e5\u30fc\u30d0\u6642\u9593", "America/Havana" },
+        { "ja", "America/Havana", "2004-07-15T00:00:00Z", "vvvv", "\u30ad\u30e5\u30fc\u30d0\u6642\u9593", "America/Havana" },
+
+        /* ibm JDK 1.4.1 doesn't support this timezone id
+        { "ja", "Australia/ACT", "2004-01-15T00:00:00Z", "Z", "+1100", "+11:00" },
+        { "ja", "Australia/ACT", "2004-01-15T00:00:00Z", "ZZZZ", "GMT+1100", "+11:00" },
+        { "ja", "Australia/ACT", "2004-01-15T00:00:00Z", "z", "GMT+1100", "+11:00" },
+        { "ja", "Australia/ACT", "2004-01-15T00:00:00Z", "zzzz", "GMT+1100", "+11:00" },
+        { "ja", "Australia/ACT", "2004-07-15T00:00:00Z", "Z", "+1000", "+10:00" },
+        { "ja", "Australia/ACT", "2004-07-15T00:00:00Z", "ZZZZ", "GMT+1000", "+10:00" },
+        { "ja", "Australia/ACT", "2004-07-15T00:00:00Z", "z", "GMT+1000", "+10:00" },
+        { "ja", "Australia/ACT", "2004-07-15T00:00:00Z", "zzzz", "GMT+1000", "+10:00" },
+    // icu ja.txt does not have info for this time zone
+        { "ja", "Australia/ACT", "2004-07-15T00:00:00Z", "v", "\u30AA\u30FC\u30B9\u30C8\u30E9\u30EA\u30A2/\u30B7\u30C9\u30CB\u30FC (\u30aa\u30fc\u30b9\u30c8\u30e9\u30ea\u30a2)\u6642\u9593", "Australia/Sydney" },
+        { "ja", "Australia/ACT", "2004-07-15T00:00:00Z", "vvvv", "\u30AA\u30FC\u30B9\u30C8\u30E9\u30EA\u30A2/\u30B7\u30C9\u30CB\u30FC (\u30aa\u30fc\u30b9\u30c8\u30e9\u30ea\u30a2)\u6642\u9593", "Australia/Sydney" },
+        */
+
+        { "ja", "Australia/Sydney", "2004-01-15T00:00:00Z", "Z", "+1100", "+11:00" },
+        { "ja", "Australia/Sydney", "2004-01-15T00:00:00Z", "ZZZZ", "GMT+1100", "+11:00" },
+        { "ja", "Australia/Sydney", "2004-01-15T00:00:00Z", "z", "GMT+1100", "+11:00" },
+        { "ja", "Australia/Sydney", "2004-01-15T00:00:00Z", "zzzz", "GMT+1100", "+11:00" },
+        { "ja", "Australia/Sydney", "2004-07-15T00:00:00Z", "Z", "+1000", "+10:00" },
+        { "ja", "Australia/Sydney", "2004-07-15T00:00:00Z", "ZZZZ", "GMT+1000", "+10:00" },
+        { "ja", "Australia/Sydney", "2004-07-15T00:00:00Z", "z", "GMT+1000", "+10:00" },
+        { "ja", "Australia/Sydney", "2004-07-15T00:00:00Z", "zzzz", "GMT+1000", "+10:00" },
+        { "ja", "Australia/Sydney", "2004-07-15T00:00:00Z", "v", "\u30AA\u30FC\u30B9\u30C8\u30E9\u30EA\u30A2/\u30B7\u30C9\u30CB\u30FC (\u30aa\u30fc\u30b9\u30c8\u30e9\u30ea\u30a2)\u6642\u9593", "Australia/Sydney" },
+        { "ja", "Australia/Sydney", "2004-07-15T00:00:00Z", "vvvv", "\u30AA\u30FC\u30B9\u30C8\u30E9\u30EA\u30A2/\u30B7\u30C9\u30CB\u30FC (\u30aa\u30fc\u30b9\u30c8\u30e9\u30ea\u30a2)\u6642\u9593", "Australia/Sydney" },
+
+        { "ja", "Europe/London", "2004-01-15T00:00:00Z", "Z", "+0000", "+0:00" },
+        { "ja", "Europe/London", "2004-01-15T00:00:00Z", "ZZZZ", "GMT+0000", "+0:00" },
+        { "ja", "Europe/London", "2004-01-15T00:00:00Z", "z", "GMT+0000", "+0:00" },
+        { "ja", "Europe/London", "2004-01-15T00:00:00Z", "zzzz", "GMT+0000", "+0:00" },
+        { "ja", "Europe/London", "2004-07-15T00:00:00Z", "Z", "+0100", "+1:00" },
+        { "ja", "Europe/London", "2004-07-15T00:00:00Z", "ZZZZ", "GMT+0100", "+1:00" },
+        { "ja", "Europe/London", "2004-07-15T00:00:00Z", "z", "GMT+0100", "+1:00" },
+        { "ja", "Europe/London", "2004-07-15T00:00:00Z", "zzzz", "GMT+0100", "+1:00" },
+        { "ja", "Europe/London", "2004-07-15T00:00:00Z", "v", "\u30a4\u30ae\u30ea\u30b9\u6642\u9593", "Europe/London" },
+        { "ja", "Europe/London", "2004-07-15T00:00:00Z", "vvvv", "\u30a4\u30ae\u30ea\u30b9\u6642\u9593", "Europe/London" },
+
+        /* ibm JDK 1.4.2 doesn't support this timezone id
+        { "ja", "Etc/GMT+3", "2004-01-15T00:00:00Z", "Z", "-0300", "-3:00" },
+        { "ja", "Etc/GMT+3", "2004-01-15T00:00:00Z", "ZZZZ", "GMT-0300", "-3:00" },
+        { "ja", "Etc/GMT+3", "2004-01-15T00:00:00Z", "z", "GMT-0300", "-3:00" },
+        { "ja", "Etc/GMT+3", "2004-01-15T00:00:00Z", "zzzz", "GMT-0300", "-3:00" },
+        { "ja", "Etc/GMT+3", "2004-07-15T00:00:00Z", "Z", "-0300", "-3:00" },
+        { "ja", "Etc/GMT+3", "2004-07-15T00:00:00Z", "ZZZZ", "GMT-0300", "-3:00" },
+        { "ja", "Etc/GMT+3", "2004-07-15T00:00:00Z", "z", "GMT-0300", "-3:00" },
+        { "ja", "Etc/GMT+3", "2004-07-15T00:00:00Z", "zzzz", "GMT-0300", "-3:00" },
+        { "ja", "Etc/GMT+3", "2004-07-15T00:00:00Z", "v", "GMT-0300", "-3:00" },
+        { "ja", "Etc/GMT+3", "2004-07-15T00:00:00Z", "vvvv", "GMT-0300", "-3:00" },
+        */
+
+    // ==========
+
+        { "as", "America/Los_Angeles", "2004-01-15T00:00:00Z", "Z", "-0800", "-8:00" },
+        { "as", "America/Los_Angeles", "2004-01-15T00:00:00Z", "ZZZZ", "GMT-08:00", "-8:00" },
+        { "as", "America/Los_Angeles", "2004-01-15T00:00:00Z", "z", "GMT-08:00", "-8:00" },
+        { "as", "America/Los_Angeles", "2004-01-15T00:00:00Z", "zzzz", "GMT-08:00", "-8:00" },
+        { "as", "America/Los_Angeles", "2004-07-15T00:00:00Z", "Z", "-0700", "-7:00" },
+        { "as", "America/Los_Angeles", "2004-07-15T00:00:00Z", "ZZZZ", "GMT-07:00", "-7:00" },
+        { "as", "America/Los_Angeles", "2004-07-15T00:00:00Z", "z", "GMT-07:00", "-7:00" },
+        { "as", "America/Los_Angeles", "2004-07-15T00:00:00Z", "zzzz", "GMT-07:00", "-7:00" },
+        { "as", "America/Los_Angeles", "2004-07-15T00:00:00Z", "v", "Los Angeles (US)", "America/Los_Angeles" },
+        { "as", "America/Los_Angeles", "2004-07-15T00:00:00Z", "vvvv", "Los Angeles (US)", "America/Los_Angeles" },
+
+        /* JDK 1.5 doesn't support this time zone id
+        { "as", "America/Argentina/Buenos_Aires", "2004-01-15T00:00:00Z", "Z", "-0300", "-3:00" },
+        { "as", "America/Argentina/Buenos_Aires", "2004-01-15T00:00:00Z", "ZZZZ", "GMT-03:00", "-3:00" },
+        { "as", "America/Argentina/Buenos_Aires", "2004-01-15T00:00:00Z", "z", "GMT-03:00", "-3:00" },
+        { "as", "America/Argentina/Buenos_Aires", "2004-01-15T00:00:00Z", "zzzz", "GMT-03:00", "-3:00" },
+        { "as", "America/Argentina/Buenos_Aires", "2004-07-15T00:00:00Z", "Z", "-0300", "-3:00" },
+        { "as", "America/Argentina/Buenos_Aires", "2004-07-15T00:00:00Z", "ZZZZ", "GMT-03:00", "-3:00" },
+        { "as", "America/Argentina/Buenos_Aires", "2004-07-15T00:00:00Z", "z", "GMT-03:00", "-3:00" },
+        { "as", "America/Argentina/Buenos_Aires", "2004-07-15T00:00:00Z", "zzzz", "GMT-03:00", "-3:00" },
+        { "as", "America/Argentina/Buenos_Aires", "2004-07-15T00:00:00Z", "v", "Buenos Aires (AR)", "America/Buenos_Aires" },
+        { "as", "America/Argentina/Buenos_Aires", "2004-07-15T00:00:00Z", "vvvv", "Buenos Aires (AR)", "America/Buenos_Aires" },
+        */
+
+        { "as", "America/Buenos_Aires", "2004-01-15T00:00:00Z", "Z", "-0300", "-3:00" },
+        { "as", "America/Buenos_Aires", "2004-01-15T00:00:00Z", "ZZZZ", "GMT-03:00", "-3:00" },
+        { "as", "America/Buenos_Aires", "2004-01-15T00:00:00Z", "z", "GMT-03:00", "-3:00" },
+        { "as", "America/Buenos_Aires", "2004-01-15T00:00:00Z", "zzzz", "GMT-03:00", "-3:00" },
+        { "as", "America/Buenos_Aires", "2004-07-15T00:00:00Z", "Z", "-0300", "-3:00" },
+        { "as", "America/Buenos_Aires", "2004-07-15T00:00:00Z", "ZZZZ", "GMT-03:00", "-3:00" },
+        { "as", "America/Buenos_Aires", "2004-07-15T00:00:00Z", "z", "GMT-03:00", "-3:00" },
+        { "as", "America/Buenos_Aires", "2004-07-15T00:00:00Z", "zzzz", "GMT-03:00", "-3:00" },
+        { "as", "America/Buenos_Aires", "2004-07-15T00:00:00Z", "v", "Buenos Aires (AR)", "America/Buenos_Aires" },
+        { "as", "America/Buenos_Aires", "2004-07-15T00:00:00Z", "vvvv", "Buenos Aires (AR)", "America/Buenos_Aires" },
+
+        { "as", "America/Havana", "2004-01-15T00:00:00Z", "Z", "-0500", "-5:00" },
+        { "as", "America/Havana", "2004-01-15T00:00:00Z", "ZZZZ", "GMT-05:00", "-5:00" },
+        { "as", "America/Havana", "2004-01-15T00:00:00Z", "z", "GMT-05:00", "-5:00" },
+        { "as", "America/Havana", "2004-01-15T00:00:00Z", "zzzz", "GMT-05:00", "-5:00" },
+        { "as", "America/Havana", "2004-07-15T00:00:00Z", "Z", "-0400", "-4:00" },
+        { "as", "America/Havana", "2004-07-15T00:00:00Z", "ZZZZ", "GMT-04:00", "-4:00" },
+        { "as", "America/Havana", "2004-07-15T00:00:00Z", "z", "GMT-04:00", "-4:00" },
+        { "as", "America/Havana", "2004-07-15T00:00:00Z", "zzzz", "GMT-04:00", "-4:00" },
+        { "as", "America/Havana", "2004-07-15T00:00:00Z", "v", "CU", "America/Havana" },
+        { "as", "America/Havana", "2004-07-15T00:00:00Z", "vvvv", "CU", "America/Havana" },
+
+        /* ibm JDK 1.4.1 doesn't support this timezone id
+        { "as", "Australia/ACT", "2004-01-15T00:00:00Z", "Z", "+1100", "+11:00" },
+        { "as", "Australia/ACT", "2004-01-15T00:00:00Z", "ZZZZ", "GMT+11:00", "+11:00" },
+        { "as", "Australia/ACT", "2004-01-15T00:00:00Z", "z", "GMT+11:00", "+11:00" },
+        { "as", "Australia/ACT", "2004-01-15T00:00:00Z", "zzzz", "GMT+11:00", "+11:00" },
+        { "as", "Australia/ACT", "2004-07-15T00:00:00Z", "Z", "+1000", "+10:00" },
+        { "as", "Australia/ACT", "2004-07-15T00:00:00Z", "ZZZZ", "GMT+10:00", "+10:00" },
+        { "as", "Australia/ACT", "2004-07-15T00:00:00Z", "z", "GMT+10:00", "+10:00" },
+        { "as", "Australia/ACT", "2004-07-15T00:00:00Z", "zzzz", "GMT+10:00", "+10:00" },
+        { "as", "Australia/ACT", "2004-07-15T00:00:00Z", "v", "Sydney (AU)", "Australia/Sydney" },
+        { "as", "Australia/ACT", "2004-07-15T00:00:00Z", "vvvv", "Sydney (AU)", "Australia/Sydney" },
+        */
+
+        { "as", "Australia/Sydney", "2004-01-15T00:00:00Z", "Z", "+1100", "+11:00" },
+        { "as", "Australia/Sydney", "2004-01-15T00:00:00Z", "ZZZZ", "GMT+11:00", "+11:00" },
+        { "as", "Australia/Sydney", "2004-01-15T00:00:00Z", "z", "GMT+11:00", "+11:00" },
+        { "as", "Australia/Sydney", "2004-01-15T00:00:00Z", "zzzz", "GMT+11:00", "+11:00" },
+        { "as", "Australia/Sydney", "2004-07-15T00:00:00Z", "Z", "+1000", "+10:00" },
+        { "as", "Australia/Sydney", "2004-07-15T00:00:00Z", "ZZZZ", "GMT+10:00", "+10:00" },
+        { "as", "Australia/Sydney", "2004-07-15T00:00:00Z", "z", "GMT+10:00", "+10:00" },
+        { "as", "Australia/Sydney", "2004-07-15T00:00:00Z", "zzzz", "GMT+10:00", "+10:00" },
+        { "as", "Australia/Sydney", "2004-07-15T00:00:00Z", "v", "Sydney (AU)", "Australia/Sydney" },
+        { "as", "Australia/Sydney", "2004-07-15T00:00:00Z", "vvvv", "Sydney (AU)", "Australia/Sydney" },
+
+        { "as", "Europe/London", "2004-01-15T00:00:00Z", "Z", "+0000", "+0:00" },
+        { "as", "Europe/London", "2004-01-15T00:00:00Z", "ZZZZ", "GMT+00:00", "+0:00" },
+        { "as", "Europe/London", "2004-01-15T00:00:00Z", "z", "GMT+00:00", "+0:00" },
+        { "as", "Europe/London", "2004-01-15T00:00:00Z", "zzzz", "GMT+00:00", "+0:00" },
+        { "as", "Europe/London", "2004-07-15T00:00:00Z", "Z", "+0100", "+1:00" },
+        { "as", "Europe/London", "2004-07-15T00:00:00Z", "ZZZZ", "GMT+01:00", "+1:00" },
+        { "as", "Europe/London", "2004-07-15T00:00:00Z", "z", "GMT+01:00", "+1:00" },
+        { "as", "Europe/London", "2004-07-15T00:00:00Z", "zzzz", "GMT+01:00", "+1:00" },
+        { "as", "Europe/London", "2004-07-15T00:00:00Z", "v", "GB", "Europe/London" },
+        { "as", "Europe/London", "2004-07-15T00:00:00Z", "vvvv", "GB", "Europe/London" },
+
+        /* ibm JDK 1.4.2 doesn't support this timezone id
+        { "as", "Etc/GMT+3", "2004-01-15T00:00:00Z", "Z", "-0300", "-3:00" },
+        { "as", "Etc/GMT+3", "2004-01-15T00:00:00Z", "ZZZZ", "GMT-03:00", "-3:00" },
+        { "as", "Etc/GMT+3", "2004-01-15T00:00:00Z", "z", "GMT-03:00", "-3:00" },
+        { "as", "Etc/GMT+3", "2004-01-15T00:00:00Z", "zzzz", "GMT-03:00", "-3:00" },
+        { "as", "Etc/GMT+3", "2004-07-15T00:00:00Z", "Z", "-0300", "-3:00" },
+        { "as", "Etc/GMT+3", "2004-07-15T00:00:00Z", "ZZZZ", "GMT-03:00", "-3:00" },
+        { "as", "Etc/GMT+3", "2004-07-15T00:00:00Z", "z", "GMT-03:00", "-3:00" },
+        { "as", "Etc/GMT+3", "2004-07-15T00:00:00Z", "zzzz", "GMT-03:00", "-3:00" },
+        { "as", "Etc/GMT+3", "2004-07-15T00:00:00Z", "v", "GMT-03:00", "-3:00" },
+        { "as", "Etc/GMT+3", "2004-07-15T00:00:00Z", "vvvv", "GMT-03:00", "-3:00" },
+        /**/
+    };
+
+    /**
+     * Verify that strings which contain incomplete specifications are parsed
+     * correctly.  In some instances, this means not being parsed at all, and
+     * returning an appropriate error.
+     */
+    public void TestPartialParse994() {
+    
+        SimpleDateFormat f = new SimpleDateFormat();
+        Calendar cal = Calendar.getInstance();
+        cal.clear();
+        cal.set(1997, 1 - 1, 17, 10, 11, 42);
+        Date date = null;
+        tryPat994(f, "yy/MM/dd HH:mm:ss", "97/01/17 10:11:42", cal.getTime());
+        tryPat994(f, "yy/MM/dd HH:mm:ss", "97/01/17 10:", date);
+        tryPat994(f, "yy/MM/dd HH:mm:ss", "97/01/17 10", date);
+        tryPat994(f, "yy/MM/dd HH:mm:ss", "97/01/17 ", date);
+        tryPat994(f, "yy/MM/dd HH:mm:ss", "97/01/17", date);
+    }
+    
+    // internal test subroutine, used by TestPartialParse994
+    public void tryPat994(SimpleDateFormat format, String pat, String str, Date expected) {
+        Date Null = null;
+        logln("Pattern \"" + pat + "\"   String \"" + str + "\"");
+        try {
+            format.applyPattern(pat);
+            Date date = format.parse(str);    
+            String f = ((DateFormat) format).format(date);
+            logln(" parse(" + str + ") -> " + date);
+            logln(" format -> " + f);
+            if (expected.equals(Null) || !date.equals(expected))
+                errln("FAIL: Expected null"); //" + expected);
+            if (!f.equals(str))
+                errln("FAIL: Expected " + str);
+        } catch (ParseException e) {
+            logln("ParseException: " + e.getMessage());
+            if (!(expected ==Null))
+                errln("FAIL: Expected " + expected);
+        } catch (Exception e) {
+            errln("*** Exception:");
+            e.printStackTrace();
+        }
+    }
+    
+    /**
+     * Verify the behavior of patterns in which digits for different fields run together
+     * without intervening separators.
+     */
+    public void TestRunTogetherPattern985() {
+        String format = "yyyyMMddHHmmssSSS";
+        String now, then;
+        //UBool flag;
+        SimpleDateFormat formatter = new SimpleDateFormat(format);
+        Date date1 = new Date();
+        now = ((DateFormat) formatter).format(date1);
+        logln(now);
+        ParsePosition pos = new ParsePosition(0);
+        Date date2 = formatter.parse(now, pos);
+        if (date2 == null)
+            then = "Parse stopped at " + pos.getIndex();
+        else
+            then = ((DateFormat) formatter).format(date2);
+        logln(then);
+        if (date2 == null || !date2.equals(date1))
+            errln("FAIL");
+    }
+
+    /**
+     * Verify the behavior of patterns in which digits for different fields run together
+     * without intervening separators.
+     */
+    public void TestRunTogetherPattern917() {
+        SimpleDateFormat fmt;
+        String myDate;
+        fmt = new SimpleDateFormat("yyyy/MM/dd");
+        myDate = "1997/02/03";
+        Calendar cal = Calendar.getInstance();
+        cal.clear();
+        cal.set(1997, 2 - 1, 3);
+        _testIt917(fmt, myDate, cal.getTime());
+        fmt = new SimpleDateFormat("yyyyMMdd");
+        myDate = "19970304";
+        cal.clear();
+        cal.set(1997, 3 - 1, 4);
+        _testIt917(fmt, myDate, cal.getTime());
+    
+    }
+    
+    // internal test subroutine, used by TestRunTogetherPattern917
+    public void _testIt917(SimpleDateFormat fmt, String str, Date expected) {
+        logln("pattern=" + fmt.toPattern() + "   string=" + str);
+        Date o = new Date();
+        o = (Date) ((DateFormat) fmt).parseObject(str, new ParsePosition(0));
+        logln("Parsed object: " + o);
+        if (o == null || !o.equals(expected))
+            errln("FAIL: Expected " + expected);
+        String formatted = o==null? "null" : ((DateFormat) fmt).format(o);
+        logln( "Formatted string: " + formatted);
+        if (!formatted.equals(str))
+            errln( "FAIL: Expected " + str);
+    }
+    
+    /**
+     * Verify the handling of Czech June and July, which have the unique attribute that
+     * one is a proper prefix substring of the other.
+     */
+    public void TestCzechMonths459() {
+        DateFormat fmt = DateFormat.getDateInstance(DateFormat.FULL, new Locale("cs", "", "")); 
+        logln("Pattern " + ((SimpleDateFormat) fmt).toPattern());
+        Calendar cal = Calendar.getInstance();
+        cal.clear();
+        cal.set(1997, Calendar.JUNE, 15);
+        Date june = cal.getTime();
+        cal.clear();
+        cal.set(1997, Calendar.JULY, 15);
+        Date july = cal.getTime();
+        String juneStr = fmt.format(june);
+        String julyStr = fmt.format(july);
+        try {
+            logln("format(June 15 1997) = " + juneStr);
+            Date d = fmt.parse(juneStr);
+            String s = fmt.format(d);
+            int month, yr, day, hr, min, sec;
+            cal.setTime(d);
+            yr = cal.get(Calendar.YEAR) - 1900;
+            month = cal.get(Calendar.MONTH);
+            day = cal.get(Calendar.DAY_OF_WEEK);
+            hr = cal.get(Calendar.HOUR_OF_DAY);
+            min = cal.get(Calendar.MINUTE);
+            sec = cal.get(Calendar.SECOND);
+            logln("  . parse . " + s + " (month = " + month + ")");
+            if (month != Calendar.JUNE)
+                errln("FAIL: Month should be June");
+            logln("format(July 15 1997) = " + julyStr);
+            d = fmt.parse(julyStr);
+            s = fmt.format(d);
+            cal.setTime(d);
+            yr = cal.get(Calendar.YEAR) - 1900;
+            month = cal.get(Calendar.MONTH);
+            day = cal.get(Calendar.DAY_OF_WEEK);
+            hr = cal.get(Calendar.HOUR_OF_DAY);
+            min = cal.get(Calendar.MINUTE);
+            sec = cal.get(Calendar.SECOND);
+            logln("  . parse . " + s + " (month = " + month + ")");
+            if (month != Calendar.JULY)
+                errln("FAIL: Month should be July");
+        } catch (ParseException e) {
+            errln(e.getMessage());
+        }
+    }
+    
+    /**
+     * Test the handling of 'D' in patterns.
+     */
+    public void TestLetterDPattern212() {
+        String dateString = "1995-040.05:01:29";
+        String bigD = "yyyy-DDD.hh:mm:ss";
+        String littleD = "yyyy-ddd.hh:mm:ss";
+        Calendar cal = Calendar.getInstance();
+        cal.clear();
+        cal.set(1995, 0, 1, 5, 1, 29);
+        Date expLittleD = cal.getTime();
+        Date expBigD = new Date((long) (expLittleD.getTime() + 39 * 24 * 3600000.0));
+        expLittleD = expBigD; // Expect the same, with default lenient parsing
+        logln("dateString= " + dateString);
+        SimpleDateFormat formatter = new SimpleDateFormat(bigD);
+        ParsePosition pos = new ParsePosition(0);
+        Date myDate = formatter.parse(dateString, pos);
+        logln("Using " + bigD + " . " + myDate);
+        if (!myDate.equals(expBigD))
+            errln("FAIL: Expected " + expBigD);
+        formatter = new SimpleDateFormat(littleD);
+        pos = new ParsePosition(0);
+        myDate = formatter.parse(dateString, pos);
+        logln("Using " + littleD + " . " + myDate);
+        if (!myDate.equals(expLittleD))
+            errln("FAIL: Expected " + expLittleD);
+    }
+    
+    /**
+     * Test the day of year pattern.
+     */
+    public void TestDayOfYearPattern195() {
+        Calendar cal = Calendar.getInstance();
+        Date today = cal.getTime();
+        int year,month,day; 
+        year = cal.get(Calendar.YEAR);
+        month = cal.get(Calendar.MONTH);
+        day = cal.get(Calendar.DAY_OF_MONTH);
+        cal.clear();
+        cal.set(year, month, day);
+        Date expected = cal.getTime();
+        logln("Test Date: " + today);
+        SimpleDateFormat sdf = (SimpleDateFormat)DateFormat.getDateInstance();
+        tryPattern(sdf, today, null, expected);
+        tryPattern(sdf, today, "G yyyy DDD", expected);
+    }
+    
+    // interl test subroutine, used by TestDayOfYearPattern195
+    public void tryPattern(SimpleDateFormat sdf, Date d, String pattern, Date expected) {
+        if (pattern != null)
+            sdf.applyPattern(pattern);
+        logln("pattern: " + sdf.toPattern());
+        String formatResult = ((DateFormat) sdf).format(d);
+        logln(" format -> " + formatResult);
+        try {
+            Date d2 = sdf.parse(formatResult);
+            logln(" parse(" + formatResult + ") -> " + d2);
+            if (!d2.equals(expected))
+                errln("FAIL: Expected " + expected);
+            String format2 = ((DateFormat) sdf).format(d2);
+            logln(" format -> " + format2);
+            if (!formatResult.equals(format2))
+                errln("FAIL: Round trip drift");
+        } catch (Exception e) {
+            errln(e.getMessage());
+        }
+    }
+    
+    /**
+     * Test the handling of single quotes in patterns.
+     */
+    public void TestQuotePattern161() {
+        SimpleDateFormat formatter = new SimpleDateFormat("MM/dd/yyyy 'at' hh:mm:ss a zzz", Locale.US); 
+        Calendar cal = Calendar.getInstance();
+        cal.clear();
+        cal.set(1997, Calendar.AUGUST, 13, 10, 42, 28);
+        Date currentTime_1 = cal.getTime();
+        String dateString = ((DateFormat) formatter).format(currentTime_1);
+        String exp = "08/13/1997 at 10:42:28 AM ";
+        logln("format(" + currentTime_1 + ") = " + dateString);
+        if (!dateString.substring(0, exp.length()).equals(exp))
+            errln("FAIL: Expected " + exp);
+    
+    }
+        
+    /**
+     * Verify the correct behavior when handling invalid input strings.
+     */
+    public void TestBadInput135() {
+        int looks[] = {DateFormat.SHORT, DateFormat.MEDIUM, DateFormat.LONG, DateFormat.FULL}; 
+        int looks_length = looks.length;
+        final String[] strings = {"Mar 15", "Mar 15 1997", "asdf", "3/1/97 1:23:", "3/1/00 1:23:45 AM"}; 
+        int strings_length = strings.length;
+        DateFormat full = DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.LONG, Locale.US); 
+        String expected = "March 1, 2000 1:23:45 AM ";
+        for (int i = 0; i < strings_length; ++i) {
+            final String text = strings[i];
+            for (int j = 0; j < looks_length; ++j) {
+                int dateLook = looks[j];
+                for (int k = 0; k < looks_length; ++k) {
+                    int timeLook = looks[k];
+                    DateFormat df = DateFormat.getDateTimeInstance(dateLook, timeLook, Locale.US); 
+                    String prefix = text + ", " + dateLook + "/" + timeLook + ": "; 
+                    try {
+                        Date when = df.parse(text);
+                        if (when == null) {
+                            errln(prefix + "SHOULD NOT HAPPEN: parse returned null.");
+                            continue;
+                        }  
+                        if (when != null) {
+                            String format;
+                            format = full.format(when);
+                            logln(prefix + "OK: " + format);
+                            if (!format.substring(0, expected.length()).equals(expected))
+                                errln("FAIL: Expected " + expected);
+                        }
+                    } catch(java.text.ParseException e) {
+                        logln(e.getMessage());
+                    }
+                }
+            }
+        }
+    }
+    
+    /**
+     * Verify the correct behavior when parsing an array of inputs against an
+     * array of patterns, with known results.  The results are encoded after
+     * the input strings in each row.
+     */
+    public void TestBadInput135a() {
+    
+        SimpleDateFormat dateParse = new SimpleDateFormat("", Locale.US);
+        final String ss;
+        Date date;
+        String[] parseFormats ={"MMMM d, yyyy", "MMMM d yyyy", "M/d/yy",
+                                "d MMMM, yyyy", "d MMMM yyyy",  "d MMMM",
+                                "MMMM d", "yyyy", "h:mm a MMMM d, yyyy" };
+        String[] inputStrings = {
+            "bogus string", null, null, null, null, null, null, null, null, null,
+                "April 1, 1997", "April 1, 1997", null, null, null, null, null, "April 1", null, null,
+                "Jan 1, 1970", "January 1, 1970", null, null, null, null, null, "January 1", null, null,
+                "Jan 1 2037", null, "January 1 2037", null, null, null, null, "January 1", null, null,
+                "1/1/70", null, null, "1/1/70", null, null, null, null, "0001", null,
+                "5 May 1997", null, null, null, null, "5 May 1997", "5 May", null, "0005", null,
+                "16 May", null, null, null, null, null, "16 May", null, "0016", null,
+                "April 30", null, null, null, null, null, null, "April 30", null, null,
+                "1998", null, null, null, null, null, null, null, "1998", null,
+                "1", null, null, null, null, null, null, null, "0001", null,
+                "3:00 pm Jan 1, 1997", null, null, null, null, null, null, null, "0003", "3:00 PM January 1, 1997",
+                };
+        final int PF_LENGTH = parseFormats.length;
+        final int INPUT_LENGTH = inputStrings.length;
+    
+        dateParse.applyPattern("d MMMM, yyyy");
+        dateParse.setTimeZone(TimeZone.getDefault());
+        ss = "not parseable";
+        //    String thePat;
+        logln("Trying to parse \"" + ss + "\" with " + dateParse.toPattern());
+        try {
+            date = dateParse.parse(ss);
+        } catch (Exception ex) {
+            logln("FAIL:" + ex);
+        }
+        for (int i = 0; i < INPUT_LENGTH; i += (PF_LENGTH + 1)) {
+            ParsePosition parsePosition = new ParsePosition(0);
+            String s = inputStrings[i];
+            for (int index = 0; index < PF_LENGTH; ++index) {
+                final String expected = inputStrings[i + 1 + index];
+                dateParse.applyPattern(parseFormats[index]);
+                dateParse.setTimeZone(TimeZone.getDefault());
+                try {
+                    parsePosition.setIndex(0);
+                    date = dateParse.parse(s, parsePosition);
+                    if (parsePosition.getIndex() != 0) {
+                        String s1, s2;
+                        s1 = s.substring(0, parsePosition.getIndex());
+                        s2 = s.substring(parsePosition.getIndex(), s.length());
+                        if (date == null) {
+                            errln("ERROR: null result fmt=\"" + parseFormats[index]
+                                    + "\" pos=" + parsePosition.getIndex()
+                                    + " " + s1 + "|" + s2);
+                        } else {
+                            String result = ((DateFormat) dateParse).format(date);
+                            logln("Parsed \"" + s + "\" using \"" + dateParse.toPattern() + "\" to: " + result);
+                            if (expected == null)
+                                errln("FAIL: Expected parse failure");
+                            else
+                                if (!result.equals(expected))
+                                    errln("FAIL: Expected " + expected);
+                        }
+                    } else
+                        if (expected != null) {
+                            errln("FAIL: Expected " + expected + " from \"" + s
+                                    + "\" with \"" + dateParse.toPattern()+ "\"");
+                        }
+                } catch (Exception ex) {
+                    logln("FAIL:" + ex);
+                }
+            }
+        }
+    
+    }
+    
+    /**
+     * Test the parsing of two-digit years.
+     */
+    public void TestTwoDigitYear() {
+        DateFormat fmt = DateFormat.getDateInstance(DateFormat.SHORT, Locale.US);
+        Calendar cal = Calendar.getInstance();
+        cal.clear();
+        cal.set(117 + 1900, Calendar.JUNE, 5);
+        parse2DigitYear(fmt, "6/5/17", cal.getTime());
+        cal.clear();
+        cal.set(34 + 1900, Calendar.JUNE, 4);
+        parse2DigitYear(fmt, "6/4/34", cal.getTime());
+    }
+    
+    // internal test subroutine, used by TestTwoDigitYear
+    public void parse2DigitYear(DateFormat fmt, String str, Date expected) {
+        try {
+            Date d = fmt.parse(str);
+            logln("Parsing \""+ str+ "\" with "+ ((SimpleDateFormat) fmt).toPattern()
+                    + "  => "+ d); 
+            if (!d.equals(expected))
+                errln( "FAIL: Expected " + expected);
+        } catch (ParseException e) {
+            errln(e.getMessage());
+        }
+    }
+    
+    /**
+     * Test the formatting of time zones.
+     */
+    public void TestDateFormatZone061() {
+        Date date;
+        DateFormat formatter;
+        date = new Date(859248000000l);
+        logln("Date 1997/3/25 00:00 GMT: " + date);
+        formatter = new SimpleDateFormat("dd-MMM-yyyyy HH:mm", Locale.UK);
+        formatter.setTimeZone(TimeZone.getTimeZone("GMT"));
+        String temp = formatter.format(date);
+        logln("Formatted in GMT to: " + temp);
+        try {
+            Date tempDate = formatter.parse(temp);
+            logln("Parsed to: " + tempDate);
+            if (!tempDate.equals(date))
+                errln("FAIL: Expected " + date);
+        } catch (Throwable t) {
+            System.out.println(t);
+        }
+    
+    }
+    
+    /**
+     * Test the formatting of time zones.
+     */
+    public void TestDateFormatZone146() {
+        TimeZone saveDefault = TimeZone.getDefault();
+    
+        //try {
+        TimeZone thedefault = TimeZone.getTimeZone("GMT");
+        TimeZone.setDefault(thedefault);
+        // java.util.Locale.setDefault(new java.util.Locale("ar", "", ""));
+    
+        // check to be sure... its GMT all right
+        TimeZone testdefault = TimeZone.getDefault();
+        String testtimezone = testdefault.getID();
+        if (testtimezone.equals("GMT"))
+            logln("Test timezone = " + testtimezone);
+        else
+            errln("Test timezone should be GMT, not " + testtimezone);
+    
+        // now try to use the default GMT time zone
+        GregorianCalendar greenwichcalendar = new GregorianCalendar(1997, 3, 4, 23, 0);
+        //*****************************greenwichcalendar.setTimeZone(TimeZone.getDefault());
+        //greenwichcalendar.set(1997, 3, 4, 23, 0);
+        // try anything to set hour to 23:00 !!!
+        greenwichcalendar.set(Calendar.HOUR_OF_DAY, 23);
+        // get time
+        Date greenwichdate = greenwichcalendar.getTime();
+        // format every way
+        String DATA[] = {
+                "simple format:  ", "04/04/97 23:00 GMT+00:00", 
+                "MM/dd/yy HH:mm zzz", "full format:    ", 
+                "Friday, April 4, 1997 11:00:00 o'clock PM GMT+00:00", 
+                "EEEE, MMMM d, yyyy h:mm:ss 'o''clock' a zzz", 
+                "long format:    ", "April 4, 1997 11:00:00 PM GMT+00:00", 
+                "MMMM d, yyyy h:mm:ss a z", "default format: ", 
+                "04-Apr-97 11:00:00 PM", "dd-MMM-yy h:mm:ss a", 
+                "short format:   ", "4/4/97 11:00 PM", 
+                "M/d/yy h:mm a"}; 
+        int DATA_length = DATA.length;
+    
+        for (int i = 0; i < DATA_length; i += 3) {
+            DateFormat fmt = new SimpleDateFormat(DATA[i + 2], Locale.ENGLISH);
+            fmt.setCalendar(greenwichcalendar);
+            String result = fmt.format(greenwichdate);
+            logln(DATA[i] + result);
+            if (!result.equals(DATA[i + 1]))
+                errln("FAIL: Expected " + DATA[i + 1] + ", got " + result);
+        }
+        //}
+        //finally {
+        TimeZone.setDefault(saveDefault);
+        //}
+    
+    }
+    
+    /**
+     * Test the formatting of dates in different locales.
+     */
+    public void TestLocaleDateFormat() {
+    
+        Date testDate = new Date(874306800000l); //Mon Sep 15 00:00:00 PDT 1997
+        DateFormat dfFrench = DateFormat.getDateTimeInstance(DateFormat.FULL, DateFormat.FULL, Locale.FRENCH);
+        DateFormat dfUS = DateFormat.getDateTimeInstance(DateFormat.FULL, DateFormat.FULL, Locale.US);
+        //Set TimeZone = PDT
+        TimeZone tz = TimeZone.getTimeZone("PST");
+        dfFrench.setTimeZone(tz);
+        dfUS.setTimeZone(tz);
+        String expectedFRENCH_JDK12 = "lundi 15 septembre 1997 00 h 00 HAP (\u00C9UA)";
+        //String expectedFRENCH = "lundi 15 septembre 1997 00 h 00 PDT";
+        String expectedUS = "Monday, September 15, 1997 12:00:00 AM PDT";
+        logln("Date set to : " + testDate);
+        String out = dfFrench.format(testDate);
+        logln("Date Formated with French Locale " + out);
+        //fix the jdk resources differences between jdk 1.2 and jdk 1.3
+        /* our own data only has GMT-xxxx information here
+        String javaVersion = System.getProperty("java.version");
+        if (javaVersion.startsWith("1.2")) {
+            if (!out.equals(expectedFRENCH_JDK12))
+                errln("FAIL: Expected " + expectedFRENCH_JDK12);
+        } else {
+            if (!out.equals(expectedFRENCH))
+                errln("FAIL: Expected " + expectedFRENCH);
+        }
+        */
+        if (!out.equals(expectedFRENCH_JDK12))
+            errln("FAIL: Expected " + expectedFRENCH_JDK12);
+        out = dfUS.format(testDate);
+        logln("Date Formated with US Locale " + out);
+        if (!out.equals(expectedUS))
+            errln("FAIL: Expected " + expectedUS);
+    }
+
+    /**
+     * Test DateFormat(Calendar) API
+     */
+    public void TestDateFormatCalendar() {
+        DateFormat date=null, time=null, full=null;
+        Calendar cal=null;
+        ParsePosition pos = new ParsePosition(0);
+        String str;
+        Date when;
+
+        /* Create a formatter for date fields. */
+        date = DateFormat.getDateInstance(DateFormat.SHORT, Locale.US);
+        if (date == null) {
+            errln("FAIL: getDateInstance failed");
+            return;
+        }
+
+        /* Create a formatter for time fields. */
+        time = DateFormat.getTimeInstance(DateFormat.SHORT, Locale.US);
+        if (time == null) {
+            errln("FAIL: getTimeInstance failed");
+            return;
+        }
+
+        /* Create a full format for output */
+        full = DateFormat.getDateTimeInstance(DateFormat.FULL, DateFormat.FULL,
+                                              Locale.US);
+        if (full == null) {
+            errln("FAIL: getInstance failed");
+            return;
+        }
+
+        /* Create a calendar */
+        cal = Calendar.getInstance(Locale.US);
+        if (cal == null) {
+            errln("FAIL: Calendar.getInstance failed");
+            return;
+        }
+
+        /* Parse the date */
+        cal.clear();
+        str = "4/5/2001";
+        pos.setIndex(0);
+        date.parse(str, cal, pos);
+        if (pos.getIndex() != str.length()) {
+            errln("FAIL: DateFormat.parse(4/5/2001) failed at " +
+                  pos.getIndex());
+            return;
+        }
+
+        /* Parse the time */
+        str = "5:45 PM";
+        pos.setIndex(0);
+        time.parse(str, cal, pos);
+        if (pos.getIndex() != str.length()) {
+            errln("FAIL: DateFormat.parse(17:45) failed at " +
+                  pos.getIndex());
+            return;
+        }
+    
+        /* Check result */
+        when = cal.getTime();
+        str = full.format(when);
+        // Thursday, April 5, 2001 5:45:00 PM PDT 986517900000
+        if (when.getTime() == 986517900000.0) {
+            logln("Ok: Parsed result: " + str);
+        } else {
+            errln("FAIL: Parsed result: " + str + ", exp 4/5/2001 5:45 PM");
+        }
+    }
+
+    /**
+     * Test DateFormat's parsing of space characters.  See jitterbug 1916.
+     */
+    public void TestSpaceParsing() {
+
+        String DATA[] = {
+            "yyyy MM dd",
+
+            // pattern, input, expected output (in quotes)
+            "MMMM d yy", " 04 05 06",  null, // MMMM wants Apr/April
+            null,        "04 05 06",   null,
+            "MM d yy",   " 04 05 06",  "2006 04 05",
+            null,        "04 05 06",   "2006 04 05",
+            "MMMM d yy", " Apr 05 06", "2006 04 05",
+            null,        "Apr 05 06",  "2006 04 05",
+        };
+
+        expectParse(DATA, new Locale("en", "", ""));
+    }
+
+    /**
+     * Test handling of "HHmmss" pattern.
+     */
+    public void TestExactCountFormat() {
+        String DATA[] = {
+            "yyyy MM dd HH:mm:ss",
+
+            // pattern, input, expected parse or null if expect parse failure
+            "HHmmss", "123456", "1970 01 01 12:34:56",
+            null,     "12345",  "1970 01 01 01:23:45",
+            null,     "1234",   null,
+            null,     "00-05",  null,
+            null,     "12-34",  null,
+            null,     "00+05",  null,
+            "ahhmm",  "PM730",  "1970 01 01 19:30:00",
+        };
+
+        expectParse(DATA, new Locale("en", "", ""));
+    }
+
+    /**
+     * Test handling of white space.
+     */
+    public void TestWhiteSpaceParsing() {
+        String DATA[] = {
+            "yyyy MM dd",
+
+            // pattern, input, expected parse or null if expect parse failure
+
+            // Pattern space run should parse input text space run
+            "MM   d yy",   " 04 01 03",    "2003 04 01",
+            null,          " 04  01   03 ", "2003 04 01",
+        };
+
+        expectParse(DATA, new Locale("en", "", ""));
+    }
+
+    public void TestInvalidPattern() {
+        Exception e = null;
+        SimpleDateFormat f = null;
+        String out = null;
+        try {
+            f = new SimpleDateFormat("Yesterday");
+            out = f.format(new Date(0));
+        } catch (IllegalArgumentException e1) {
+            e = e1;
+        }
+        if (e != null) {
+            logln("Ok: Received " + e.getMessage());
+        } else {
+            errln("FAIL: Expected exception, got " + f.toPattern() +
+                  "; " + out);
+        }
+    }
+
+    public void TestGreekMay() {
+        Date date = new Date(-9896080848000L);
+        SimpleDateFormat fmt = new SimpleDateFormat("EEEE, dd MMMM yyyy h:mm:ss a",
+                             new Locale("el", "", ""));
+        String str = fmt.format(date);
+        ParsePosition pos = new ParsePosition(0);
+        Date d2 = fmt.parse(str, pos);
+        if (!date.equals(d2)) {
+            errln("FAIL: unable to parse strings where case-folding changes length");
+        }
+    }
+
+    public void testErrorChecking() {
+        try {
+            DateFormat sdf = DateFormat.getDateTimeInstance(-1, -1, Locale.US);
+            errln("Expected exception for getDateTimeInstance(-1, -1, Locale)");
+        }
+        catch(IllegalArgumentException e) {
+            logln("one ok");
+        }
+        catch(Exception e) {
+            warnln("Expected IllegalArgumentException, got: " + e);
+        }
+        
+        try {
+            DateFormat df = new SimpleDateFormat("aabbccc");
+            df.format(new Date());
+            errln("Expected exception for format with bad pattern");
+        }
+        catch(IllegalArgumentException ex) {
+            logln("two ok");
+        }
+        catch(Exception e) {
+            warnln("Expected IllegalArgumentException, got: " + e);
+        }
+        
+        {
+            SimpleDateFormat fmt = new SimpleDateFormat("dd/MM/yy"); // opposite of text
+            fmt.set2DigitYearStart(getDate(2003, Calendar.DECEMBER, 25));
+            String text = "12/25/03";
+            Calendar xcal = new GregorianCalendar();
+            xcal.setLenient(false);
+            ParsePosition pp = new ParsePosition(0);
+            fmt.parse(text, xcal, pp); // should get parse error on second field, not lenient
+            if (pp.getErrorIndex() == -1) {
+                errln("Expected parse error");
+            } else {
+                logln("three ok");
+            }
+        }
+    }
+
+    public void TestCoverage() {
+        Date now = new Date();
+        Calendar cal = new GregorianCalendar();
+        DateFormat f = DateFormat.getTimeInstance();
+        logln("time: " + f.format(now));
+
+        int hash = f.hashCode(); // sigh, everyone overrides this
+        
+        f = DateFormat.getInstance(cal);
+        if(hash == f.hashCode()){
+            errln("FAIL: hashCode equal for inequal objects");
+        }
+        logln("time again: " + f.format(now));
+
+        f = DateFormat.getTimeInstance(cal, DateFormat.FULL);
+        logln("time yet again: " + f.format(now));
+
+        f = DateFormat.getDateInstance();
+        logln("time yet again: " + f.format(now));
+
+        ICUResourceBundle rb = (ICUResourceBundle)UResourceBundle.getBundleInstance(ICUResourceBundle.ICU_BASE_NAME,"de_DE");
+        DateFormatSymbols sym = new DateFormatSymbols(rb, Locale.GERMANY);
+        DateFormatSymbols sym2 = (DateFormatSymbols)sym.clone();
+        if (sym.hashCode() != sym2.hashCode()) {
+            errln("fail, date format symbols hashcode not equal");
+        }
+        if (!sym.equals(sym2)) {
+            errln("fail, date format symbols not equal");
+        }
+        
+        Locale foo = new Locale("fu", "FU", "BAR");
+        rb = null;
+        sym = new DateFormatSymbols(GregorianCalendar.class, foo);
+        sym.equals(null);
+        
+        sym = new ChineseDateFormatSymbols();
+        sym = new ChineseDateFormatSymbols(new ChineseCalendar(), foo);
+        // cover new ChineseDateFormatSymbols(Calendar, ULocale)
+        ChineseCalendar ccal = new ChineseCalendar();
+        sym = new ChineseDateFormatSymbols(ccal, ULocale.CHINA); //gclsh1 add
+        
+        StringBuffer buf = new StringBuffer();
+        FieldPosition pos = new FieldPosition(0);
+        
+        f.format((Object)cal, buf, pos);
+        f.format((Object)now, buf, pos);
+        f.format((Object)new Long(now.getTime()), buf, pos);
+        try {
+            f.format((Object)"Howdy", buf, pos);
+        }
+        catch (Exception e) {
+        }
+
+        NumberFormat nf = f.getNumberFormat();
+        f.setNumberFormat(nf);
+        
+        boolean lenient = f.isLenient();
+        f.setLenient(lenient);
+        
+        ULocale uloc = f.getLocale(ULocale.ACTUAL_LOCALE);
+        
+        int hashCode = f.hashCode();
+        
+        boolean eq = f.equals(f);
+        eq = f.equals(null);
+        eq = f.equals(new SimpleDateFormat());
+        
+        {
+            ChineseDateFormat fmt = new ChineseDateFormat("yymm", Locale.US);
+            try {
+                Date d = fmt.parse("2"); // fewer symbols than required 2
+                errln("whoops");
+            }
+            catch (ParseException e) {
+                logln("ok");
+            }
+
+            try {
+                Date d = fmt.parse("2255"); // should succeed with obeycount
+                logln("ok");
+            }
+            catch (ParseException e) {
+                logln("whoops");
+            }
+
+            try {
+                Date d = fmt.parse("ni hao"); // not a number, should fail
+                errln("whoops ni hao");
+            }
+            catch (ParseException e) {
+                logln("ok ni hao");
+            }
+        }
+        {
+            Calendar xcal = new GregorianCalendar();
+            xcal.set(Calendar.HOUR_OF_DAY, 0);
+            DateFormat fmt = new SimpleDateFormat("k");
+            StringBuffer xbuf = new StringBuffer();
+            FieldPosition fpos = new FieldPosition(Calendar.HOUR_OF_DAY);
+            fmt.format(xcal, xbuf, fpos);
+            try {
+                Date d = fmt.parse(xbuf.toString());
+                logln("ok");
+                
+                xbuf.setLength(0);
+                xcal.set(Calendar.HOUR_OF_DAY, 25);
+                fmt.format(xcal, xbuf, fpos);
+                Date d2 = fmt.parse(xbuf.toString());
+                logln("ok again");
+            }
+            catch (ParseException e) {
+                errln("whoops");
+            }
+        }
+        
+        {
+            // cover gmt+hh:mm
+            DateFormat fmt = new SimpleDateFormat("MM/dd/yy z");
+            try {
+                Date d = fmt.parse("07/10/53 GMT+10:00");
+                logln("ok");
+            }
+            catch (ParseException e) {
+                errln("whoops");
+            }
+            
+            // cover invalid separator after GMT
+            try {
+                Date d = fmt.parse("07/10/53 GMT=10:00");
+                logln("whoops");
+            }
+            catch (ParseException e) {
+                errln("ok");
+            }
+            
+            // cover bad text after GMT+.
+            try {
+                Date d = fmt.parse("07/10/53 GMT+blecch");
+                errln("whoops GMT+blecch");
+            }
+            catch (ParseException e) {
+                logln("ok GMT+blecch");
+            }
+            
+            // cover bad text after GMT+hh:.
+            try {
+                Date d = fmt.parse("07/10/53 GMT+07:blecch");
+                errln("whoops GMT+xx:blecch");
+            }
+            catch (ParseException e) {
+                logln("ok GMT+xx:blecch");
+            }
+            
+            // cover no ':' GMT+#, # < 24 (hh)
+            try {
+                Date d = fmt.parse("07/10/53 GMT+07");
+                logln("ok");
+            }
+            catch (ParseException e) {
+                errln("whoops");
+            }
+            
+            // cover no ':' GMT+#, # > 24 (hhmm)
+            try {
+                Date d = fmt.parse("07/10/53 GMT+0730");
+                logln("ok");
+            }
+            catch (ParseException e) {
+                errln("whoops");
+            }
+            
+            // cover no ':' GMT+#, # > 2400 (this should fail, i suspect, but doesn't)
+            try {
+                Date d = fmt.parse("07/10/53 GMT+07300");
+                logln("should GMT+9999 fail?");
+            }
+            catch (ParseException e) {
+                logln("ok, I guess");
+            }
+            
+            // cover raw digits with no leading sign (bad RFC822) 
+            try {
+                Date d = fmt.parse("07/10/53 07");
+                errln("whoops");
+            }
+            catch (ParseException e) {
+                logln("ok");
+            }
+            
+            // cover raw digits (RFC822) 
+            try {
+                Date d = fmt.parse("07/10/53 +07");
+                logln("ok");
+            }
+            catch (ParseException e) {
+                errln("whoops");
+            }
+            
+            // cover raw digits (RFC822) 
+            try {
+                Date d = fmt.parse("07/10/53 -0730");
+                logln("ok");
+            }
+            catch (ParseException e) {
+                errln("whoops");
+            }
+            
+            // cover raw digits (RFC822) in DST
+            try {
+                fmt.setTimeZone(TimeZone.getTimeZone("PDT"));
+                Date d = fmt.parse("07/10/53 -0730");
+                logln("ok");
+            }
+            catch (ParseException e) {
+                errln("whoops");
+            }
+        }
+        
+        {
+            SimpleDateFormat fmt = new SimpleDateFormat("aabbcc");
+            try {
+                String pat = fmt.toLocalizedPattern();
+                errln("whoops, shouldn't have been able to localize aabbcc");
+            }
+            catch (IllegalArgumentException e) {
+                logln("aabbcc localize ok");
+            }
+        }
+
+        {
+            SimpleDateFormat fmt = new SimpleDateFormat("'aabbcc");
+            try {
+                String pat = fmt.toLocalizedPattern();
+                errln("whoops, localize unclosed quote");
+            }
+            catch (IllegalArgumentException e) {
+                logln("localize unclosed quote ok");
+            }
+        }
+        {
+            SimpleDateFormat fmt = new SimpleDateFormat("MM/dd/yy z");
+            String text = "08/15/58 DBDY"; // bogus time zone
+            try {
+                fmt.parse(text);
+                errln("recognized bogus time zone DBDY");
+            }
+            catch (ParseException e) {
+                logln("time zone ex ok");
+            }
+        }
+        
+        {
+            // force fallback to default timezone when fmt timezone 
+            // is not named
+            SimpleDateFormat fmt = new SimpleDateFormat("MM/dd/yy z");
+            // force fallback to default time zone, still fails
+            fmt.setTimeZone(TimeZone.getTimeZone("GMT+0147")); // not in equivalency group
+            String text = "08/15/58 DBDY";
+            try {
+                fmt.parse(text);
+                errln("whoops");
+            }
+            catch (ParseException e) {
+                logln("time zone ex2 ok");
+            }
+            
+            // force success on fallback
+            text = "08/15/58 " + TimeZone.getDefault().getID();
+            try {
+                fmt.parse(text);
+                logln("found default tz");
+            }
+            catch (ParseException e) {
+                errln("whoops, got parse exception");
+            }
+        }
+        
+        {
+            // force fallback to symbols list of timezones when neither 
+            // fmt and default timezone is named
+            SimpleDateFormat fmt = new SimpleDateFormat("MM/dd/yy z");
+            TimeZone oldtz = TimeZone.getDefault();
+            TimeZone newtz = TimeZone.getTimeZone("GMT+0137"); // nonstandard tz
+            fmt.setTimeZone(newtz);
+            TimeZone.setDefault(newtz); // todo: fix security issue
+
+            // fallback to symbol list, but fail
+            String text = "08/15/58 DBDY"; // try to parse the bogus time zone
+            try {
+                fmt.parse(text);
+                errln("whoops again");
+            }
+            catch (ParseException e) {
+                logln("time zone ex3 ok");
+            }
+            catch (Exception e) {
+                // hmmm... this shouldn't happen.  don't want to exit this
+                // fn with timezone improperly set, so just in case
+                TimeZone.setDefault(oldtz);
+                throw new InternalError(e.getMessage());
+            }
+
+            // create DFS that recognizes our bogus time zone, sortof
+            DateFormatSymbols xsym = new DateFormatSymbols();
+            String[][] tzids = xsym.getZoneStrings();
+            if (tzids.length > 0) { // let's hope!
+                tzids[0][1] = "DBDY"; // change a local name
+                logln("replaced '" + tzids[0][0] + "' with DBDY");
+
+                xsym.setZoneStrings(tzids);
+                fmt.setDateFormatSymbols(xsym);
+
+                try {
+                    fmt.parse(text);
+                    logln("we parsed DBDY (as GMT, but still...)");
+                }
+                catch (ParseException e) {
+                    errln("hey, still didn't recognize DBDY");
+                }
+                finally {
+                    TimeZone.setDefault(oldtz);
+                }
+            }
+        }
+
+        {
+            //cover getAvailableULocales
+            final ULocale[] locales = DateFormat.getAvailableULocales();
+            long count = locales.length;
+            if (count==0) {
+                errln(" got a empty list for getAvailableULocales");
+            }else{
+                logln("" + count + " available ulocales");            
+            }
+        }
+        
+        {
+            //cover DateFormatSymbols.getDateFormatBundle
+            cal = new GregorianCalendar();
+            Locale loc = Locale.getDefault();
+            DateFormatSymbols mysym = new DateFormatSymbols(cal, loc);
+            if (mysym == null) 
+                errln("FAIL: constructs DateFormatSymbols with calendar and locale failed");
+            
+            uloc = ULocale.getDefault();
+            ResourceBundle resb = DateFormatSymbols.getDateFormatBundle(cal, loc);
+            ResourceBundle resb2 = DateFormatSymbols.getDateFormatBundle(cal, uloc);
+            ResourceBundle resb3 = DateFormatSymbols.getDateFormatBundle(cal.getClass(), loc);
+            ResourceBundle resb4 = DateFormatSymbols.getDateFormatBundle(cal.getClass(), uloc);
+            
+            /* (ToDo) Not sure how to construct resourceBundle for this test
+                So comment out the verifying code. 
+            if (!resb.equals(resb2) || 
+                !resb.equals(resb3) ||
+                !resb.equals(resb4) )
+                errln("FAIL: getDateFormatBundle failed!");            
+            */
+        }
+    }
+
+    /**
+     * Test parsing.  Input is an array that starts with the following
+     * header:
+     *
+     * [0]   = pattern string to parse [i+2] with
+     *
+     * followed by test cases, each of which is 3 array elements:
+     *
+     * [i]   = pattern, or null to reuse prior pattern
+     * [i+1] = input string
+     * [i+2] = expected parse result (parsed with pattern [0])
+     *
+     * If expect parse failure, then [i+2] should be null.
+     */
+    void expectParse(String[] data, Locale loc) {
+        Date FAIL = null;
+        String FAIL_STR = "parse failure";
+        int i = 0;
+
+        SimpleDateFormat fmt = new SimpleDateFormat("", loc);
+        SimpleDateFormat ref = new SimpleDateFormat(data[i++], loc);
+        SimpleDateFormat gotfmt = new SimpleDateFormat("G yyyy MM dd HH:mm:ss z", loc);
+
+        String currentPat = null;
+        while (i<data.length) {
+            String pattern  = data[i++];
+            String input    = data[i++];
+            String expected = data[i++];
+
+            if (pattern != null) {
+                fmt.applyPattern(pattern);
+                currentPat = pattern;
+            }
+            String gotstr = FAIL_STR;
+            Date got;
+            try {
+                got = fmt.parse(input);
+                gotstr = gotfmt.format(got);
+            } catch (ParseException e1) {
+                got = FAIL;
+            }
+
+            Date exp = FAIL;
+            String expstr = FAIL_STR;
+            if (expected != null) {
+                expstr = expected;
+                try {
+                    exp = ref.parse(expstr);
+                } catch (ParseException e2) {
+                    errln("FAIL: Internal test error");
+                }
+            }
+
+            if (got == exp || (got != null && got.equals(exp))) {
+                logln("Ok: " + input + " x " +
+                      currentPat + " => " + gotstr);                
+            } else {
+                errln("FAIL: " + input + " x " +
+                      currentPat + " => " + gotstr + ", expected " +
+                      expstr);
+            }
+        }    
+    }
+
+    /**
+     * Test formatting and parsing.  Input is an array of String that starts
+     * with a single 'header' element
+     *
+     * [0]   = reference dateformat pattern string (ref)
+     *
+     * followed by test cases, each of which is 4 or 5 elements:
+     *
+     * [i]   = test dateformat pattern string (test), or null to reuse prior test pattern
+     * [i+1] = control string, either "fp", "pf", or "F".
+     * [i+2] = data string A
+     * [i+3] = data string B
+     * [i+4] = data string C (not present for 'F' control string)
+     *
+     * Note: the number of data strings depends on the control string.
+     *
+     * fp formats a date, checks the result, then parses the result and checks against a (possibly different) date
+     * pf parses a string, checks the result, then formats the result and checks against a (possibly different) string
+     * F is a shorthand for fp when the second date is the same as the first
+     * P is a shorthand for pf when the second string is the same as the first
+     *
+     * Examples:
+     * (fp) "y/M/d H:mm:ss.SS", "fp", "2004 03 10 16:36:31.567", "2004/3/10 16:36:31.56", "2004 03 10 16:36:31.560",
+     * -- ref.parse A, get t0
+     * -- test.format t0, get r0
+     * -- compare r0 to B, fail if not equal
+     * -- test.parse B, get t1
+     * -- ref.parse C, get t2
+     * -- compare t1 and t2, fail if not equal
+     *
+     * (F) "y/M/d H:mm:ss.SSS", "F", "2004 03 10 16:36:31.567", "2004/3/10 16:36:31.567"
+     * -- ref.parse A, get t0
+     * -- test.format t0, get r0
+     * -- compare r0 to B, fail if not equal
+     * -- test.parse B, get t1
+     * -- compare t1 and t0, fail if not equal
+     *
+     * (pf) "y/M/d H:mm:ss.SSSS", "pf", "2004/3/10 16:36:31.5679", "2004 03 10 16:36:31.567", "2004/3/10 16:36:31.5670",
+     * -- test.parse A, get t0
+     * -- ref.parse B, get t1
+     * -- compare t0 to t1, fail if not equal
+     * -- test.format t1, get r0
+     * -- compare r0 and C, fail if not equal
+     *
+     * (P) "y/M/d H:mm:ss.SSSS", "P", "2004/3/10 16:36:31.5679", "2004 03 10 16:36:31.567"",
+     * -- test.parse A, get t0
+     * -- ref.parse B, get t1
+     * -- compare t0 to t1, fail if not equal
+     * -- test.format t1, get r0
+     * -- compare r0 and A, fail if not equal
+     */
+    void expect(String[] data, Locale loc) {
+        int i = 0;
+
+        SimpleDateFormat fmt = new SimpleDateFormat("", loc);
+        SimpleDateFormat ref = new SimpleDateFormat(data[i++], loc);
+        SimpleDateFormat univ = new SimpleDateFormat("EE G yyyy MM dd HH:mm:ss.SSS zzz", loc);
+
+        String currentPat = null;
+        while (i<data.length) {
+            String pattern  = data[i++];
+            if (pattern != null) {
+                fmt.applyPattern(pattern);
+                currentPat = pattern;
+            }
+
+            String control = data[i++];
+
+            if (control.equals("fp") || control.equals("F")) {
+                // 'f'
+                String datestr = data[i++];
+                String string = data[i++];
+                String datestr2 = datestr;
+                if (control.length() == 2) {
+                    datestr2 = data[i++];
+                }
+                Date date = null;
+                try {
+                    date = ref.parse(datestr);
+                } catch (ParseException e) {
+                    errln("FAIL: Internal test error; can't parse " + datestr);
+                    continue;
+                }
+                assertEquals("\"" + currentPat + "\".format(" + datestr + ")",
+                             string,
+                             fmt.format(date));
+                // 'p'
+                if (!datestr2.equals(datestr)) {
+                    try {
+                        date = ref.parse(datestr2);
+                    } catch (ParseException e2) {
+                        errln("FAIL: Internal test error; can't parse " + datestr2);
+                        continue;
+                    }
+                }
+                try {
+                    Date parsedate = fmt.parse(string);
+                    assertEquals("\"" + currentPat + "\".parse(" + string + ")",
+                                 univ.format(date),
+                                 univ.format(parsedate));
+                } catch (ParseException e3) {
+                    errln("FAIL: \"" + currentPat + "\".parse(" + string + ") => " +
+                          e3);
+                    continue;
+                }
+            }
+            else if (control.equals("pf") || control.equals("P")) {
+                // 'p'
+                String string = data[i++];
+                String datestr = data[i++];
+                String string2 = string;
+                if (control.length() == 2) {
+                    string2 = data[i++];
+                }
+
+                Date date = null;
+                try {
+                    date = ref.parse(datestr);
+                } catch (ParseException e) {
+                    errln("FAIL: Internal test error; can't parse " + datestr);
+                    continue;
+                }
+                try {
+                    Date parsedate = fmt.parse(string);
+                    assertEquals("\"" + currentPat + "\".parse(" + string + ")",
+                                 univ.format(date),
+                                 univ.format(parsedate));
+                } catch (ParseException e2) {
+                    errln("FAIL: \"" + currentPat + "\".parse(" + string + ") => " +
+                          e2);
+                    continue;
+                }
+                // 'f'
+                assertEquals("\"" + currentPat + "\".format(" + datestr + ")",
+                             string2,
+                             fmt.format(date));
+            }
+            else {
+                errln("FAIL: Invalid control string " + control);
+                return;
+            }
+        }
+    }
+}
diff --git a/src/com/ibm/icu/dev/test/format/IntlTestDateFormat.java b/src/com/ibm/icu/dev/test/format/IntlTestDateFormat.java
new file mode 100755
index 0000000..90bc894
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/format/IntlTestDateFormat.java
@@ -0,0 +1,262 @@
+/***************************************************************************************
+ *
+ *   Copyright (C) 1996-2005, International Business Machines
+ *   Corporation and others.  All Rights Reserved.
+ */
+
+/** 
+ * Port From:   JDK 1.4b1 : java.text.Format.IntlTestDateFormat
+ * Source File: java/text/format/IntlTestDateFormat.java
+ **/
+
+/*
+    @test 1.4 98/03/06
+    @summary test International Date Format
+*/
+
+package com.ibm.icu.dev.test.format;
+
+import com.ibm.icu.text.*;
+import java.text.FieldPosition;
+import java.text.ParseException;
+import java.util.Locale;
+import java.util.Random;
+import java.util.Date;
+
+public class IntlTestDateFormat extends com.ibm.icu.dev.test.TestFmwk {
+    // Values in milliseconds (== Date)
+    private static final long ONESECOND = 1000;
+    private static final long ONEMINUTE = 60 * ONESECOND;
+    private static final long ONEHOUR = 60 * ONEMINUTE;
+    private static final long ONEDAY = 24 * ONEHOUR;
+    //private static final double ONEYEAR = 365.25 * ONEDAY; // Approximate //The variable is never used
+
+    // EModes
+    //private static final byte GENERIC = 0;
+    //private static final byte TIME = GENERIC + 1; //The variable is never used
+    //private static final byte DATE = TIME + 1; //The variable is never used
+    //private static final byte DATE_TIME = DATE + 1; //The variable is never used
+
+    private DateFormat fFormat = null;
+    private String fTestName = new String("getInstance");
+    private int fLimit = 3; // How many iterations it should take to reach convergence
+    private Random random; // initialized in randDouble
+
+    public IntlTestDateFormat() {
+        //Constructure
+    } 
+    protected void init() throws Exception{
+        fFormat = DateFormat.getInstance();
+    }
+    
+    public static void main(String[] args) throws Exception {
+        new IntlTestDateFormat().run(args);
+    }
+
+    public void TestLocale() {
+        localeTest(Locale.getDefault(), "Default Locale");
+    }
+
+    // This test does round-trip testing (format -> parse -> format -> parse -> etc.) of DateFormat.
+    public void localeTest(final Locale locale, final String localeName) {
+        int timeStyle, dateStyle;
+
+        // For patterns including only time information and a timezone, it may take
+        // up to three iterations, since the timezone may shift as the year number
+        // is determined.  For other patterns, 2 iterations should suffice.
+        fLimit = 3;
+
+        for(timeStyle = 0; timeStyle < 4; timeStyle++) {
+            fTestName = new String("Time test " + timeStyle + " (" + localeName + ")");
+            try {
+                fFormat = DateFormat.getTimeInstance(timeStyle, locale);
+            }
+            catch(StringIndexOutOfBoundsException e) {
+                errln("FAIL: localeTest time getTimeInstance exception");
+                throw e;
+            }
+            TestFormat();
+        }
+
+        fLimit = 2;
+
+        for(dateStyle = 0; dateStyle < 4; dateStyle++) {
+            fTestName = new String("Date test " + dateStyle + " (" + localeName + ")");
+            try {
+                fFormat = DateFormat.getDateInstance(dateStyle, locale);
+            }
+            catch(StringIndexOutOfBoundsException e) {
+                errln("FAIL: localeTest date getTimeInstance exception");
+                throw e;
+            }
+            TestFormat();
+        }
+
+        for(dateStyle = 0; dateStyle < 4; dateStyle++) {
+            for(timeStyle = 0; timeStyle < 4; timeStyle++) {
+                fTestName = new String("DateTime test " + dateStyle + "/" + timeStyle + " (" + localeName + ")");
+                try {
+                    fFormat = DateFormat.getDateTimeInstance(dateStyle, timeStyle, locale);
+                }
+                catch(StringIndexOutOfBoundsException e) {
+                    errln("FAIL: localeTest date/time getDateTimeInstance exception");
+                    throw e;
+                }
+                TestFormat();
+            }
+        }
+    }
+
+    public void TestFormat() {
+        if (fFormat == null) {
+            errln("FAIL: DateFormat creation failed");
+            return;
+        }
+        //        logln("TestFormat: " + fTestName);
+        Date now = new Date();
+        tryDate(new Date(0));
+        tryDate(new Date((long) 1278161801778.0));
+        tryDate(now);
+        // Shift 6 months into the future, AT THE SAME TIME OF DAY.
+        // This will test the DST handling.
+        tryDate(new Date(now.getTime() + 6*30*ONEDAY));
+
+        Date limit = new Date(now.getTime() * 10); // Arbitrary limit
+        for (int i=0; i<2; ++i)
+            //            tryDate(new Date(floor(randDouble() * limit)));
+            tryDate(new Date((long) (randDouble() * limit.getTime())));
+    }
+
+    private void describeTest() {
+        if (fFormat == null) {
+            errln("FAIL: no DateFormat");
+            return;
+        }
+
+        // Assume it's a SimpleDateFormat and get some info
+        SimpleDateFormat s = (SimpleDateFormat) fFormat;
+        logln(fTestName + " Pattern " + s.toPattern());
+    }
+    
+    private void tryDate(Date theDate) {
+        final int DEPTH = 10;
+        Date[] date = new Date[DEPTH];
+        StringBuffer[] string = new StringBuffer[DEPTH];
+
+        int dateMatch = 0;
+        int stringMatch = 0;
+        boolean dump = false;
+        int i;
+        for (i=0; i<DEPTH; ++i) string[i] = new StringBuffer();
+        for (i=0; i<DEPTH; ++i) {
+            if (i == 0) date[i] = theDate;
+            else {
+                try {
+                    date[i] = fFormat.parse(string[i-1].toString());
+                }
+                catch (ParseException e) {
+                    describeTest();
+                    errln("********** FAIL: Parse of " + string[i-1] + " failed.");
+                    dump = true;
+                    break;
+                }
+            }
+            FieldPosition position = new FieldPosition(0);
+            fFormat.format(date[i], string[i], position);
+            if (i > 0) {
+                if (dateMatch == 0 && date[i] == date[i-1]) dateMatch = i;
+                else if (dateMatch > 0 && date[i] != date[i-1]) {
+                    describeTest();
+                    errln("********** FAIL: Date mismatch after match.");
+                    dump = true;
+                    break;
+                }
+                if (stringMatch == 0 && string[i] == string[i-1]) stringMatch = i;
+                else if (stringMatch > 0 && string[i] != string[i-1]) {
+                    describeTest();
+                    errln("********** FAIL: String mismatch after match.");
+                    dump = true;
+                    break;
+                }
+            }
+            if (dateMatch > 0 && stringMatch > 0) break;
+        }
+        if (i == DEPTH) --i;
+
+        if (stringMatch > fLimit || dateMatch > fLimit) {
+            describeTest();
+            errln("********** FAIL: No string and/or date match within " + fLimit + " iterations.");
+            dump = true;
+        }
+
+        if (dump) {
+            for (int k=0; k<=i; ++k) {
+                logln("" + k + ": " + date[k] + " F> " + string[k] + " P> ");
+            }
+        }
+    }
+
+    // Return a random double from 0.01 to 1, inclusive
+    private double randDouble() {
+    if (random == null) {
+        random = createRandom();
+    }
+        // Assume 8-bit (or larger) rand values.  Also assume
+        // that the system rand() function is very poor, which it always is.
+        //        double d;
+        //        int i;
+        //        do {
+        //            for (i=0; i < sizeof(double); ++i)
+        //            {
+        //                char poke = (char*)&d;
+        //                poke[i] = (rand() & 0xFF);
+        //            }
+        //        } while (TPlatformUtilities.isNaN(d) || TPlatformUtilities.isInfinite(d));
+
+        //        if (d < 0.0) d = -d;
+        //        if (d > 0.0)
+        //        {
+        //            double e = floor(log10(d));
+        //            if (e < -2.0) d *= pow(10.0, -e-2);
+        //            else if (e > -1.0) d /= pow(10.0, e+1);
+        //        }
+        //        return d;
+        return random.nextDouble();
+    }
+
+    public void TestAvailableLocales() {
+        final Locale[] locales = DateFormat.getAvailableLocales();
+        long count = locales.length;
+        logln("" + count + " available locales");
+        if (locales != null  &&  count != 0) {
+            StringBuffer all = new StringBuffer();
+            for (int i=0; i<count; ++i) {
+                if (i!=0) all.append(", ");
+                all.append(locales[i].getDisplayName());
+            }
+            logln(all.toString());
+        }
+        else errln("********** FAIL: Zero available locales or null array pointer");
+    }
+
+    /* This test is too slow; we disable it for now
+    public void TestMonster() {
+        final Locale[] locales = DateFormat.getAvailableLocales();
+        long count = locales.length;
+        if (locales != null  &&  count != 0) {
+            for (int i=0; i<count; ++i) {
+                String name = locales[i].getDisplayName();
+                logln("Testing " + name + "...");
+                try {
+                    localeTest(locales[i], name);
+                }
+                catch(Exception e) {
+                    errln("FAIL: TestMonster localeTest exception" + e);
+                }
+            }
+        }
+    }
+    */
+}
+
+//eof
diff --git a/src/com/ibm/icu/dev/test/format/IntlTestDateFormatAPI.java b/src/com/ibm/icu/dev/test/format/IntlTestDateFormatAPI.java
new file mode 100755
index 0000000..6bfea66
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/format/IntlTestDateFormatAPI.java
@@ -0,0 +1,199 @@
+/*****************************************************************************************
+ *
+ *   Copyright (C) 1996-2004, International Business Machines
+ *   Corporation and others.  All Rights Reserved.
+ **/
+
+/** 
+ * Port From:   JDK 1.4b1 : java.text.Format.IntlTestDateFormatAPI
+ * Source File: java/text/format/IntlTestDateFormatAPI.java
+ **/
+
+/*
+    @test 1.4 98/03/06
+    @summary test International Date Format API
+*/
+
+package com.ibm.icu.dev.test.format;
+
+import com.ibm.icu.util.*;
+import com.ibm.icu.text.*;
+import java.util.Locale;
+import java.util.Date;
+import java.text.ParsePosition;
+import java.text.FieldPosition;
+import java.text.ParseException;
+
+public class IntlTestDateFormatAPI extends com.ibm.icu.dev.test.TestFmwk
+{
+    public static void main(String[] args) throws Exception {
+        new IntlTestDateFormatAPI().run(args);
+    }
+
+    // Test that the equals method works correctly.
+    public void TestEquals()
+    {
+        // Create two objects at different system times
+        DateFormat a = DateFormat.getInstance();
+        Date start = Calendar.getInstance().getTime();
+        while (true) {
+            // changed to remove compiler warnings.
+            if (!start.equals(Calendar.getInstance().getTime())) {
+                break; // Wait for time to change
+            }
+        }
+        DateFormat b = DateFormat.getInstance();
+
+        if (!(a.equals(b)))
+            errln("FAIL: DateFormat objects created at different times are unequal.");
+
+        // Why has this test been disabled??? - aliu
+//        if (b instanceof SimpleDateFormat)
+//        {
+//            //double ONE_YEAR = 365*24*60*60*1000.0; //The variable is never used
+//            try {
+//                ((SimpleDateFormat)b).setTwoDigitStartDate(start.getTime() + 50*ONE_YEAR);
+//                if (a.equals(b))
+//                    errln("FAIL: DateFormat objects with different two digit start dates are equal.");
+//            }
+//            catch (Exception e) {
+//                errln("FAIL: setTwoDigitStartDate failed.");
+//            }
+//        }
+    }
+
+    // This test checks various generic API methods in DateFormat to achieve 100% API coverage.
+    public void TestAPI()
+    {
+        logln("DateFormat API test---"); logln("");
+        Locale.setDefault(Locale.ENGLISH);
+
+
+        // ======= Test constructors
+
+        logln("Testing DateFormat constructors");
+
+        DateFormat def = DateFormat.getInstance();
+        DateFormat fr = DateFormat.getTimeInstance(DateFormat.FULL, Locale.FRENCH);
+        DateFormat it = DateFormat.getDateInstance(DateFormat.MEDIUM, Locale.ITALIAN);
+        DateFormat de = DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.LONG, Locale.GERMAN);
+
+        // ======= Test equality
+
+        logln("Testing equality operator");
+
+        if( fr.equals(it) ) {
+            errln("ERROR: equals failed");
+        }
+
+        // ======= Test various format() methods
+
+        logln("Testing various format() methods");
+
+        Date d = new Date((long)837039928046.0);
+
+        StringBuffer res1 = new StringBuffer();
+        StringBuffer res2 = new StringBuffer();
+        String res3 = new String();
+        FieldPosition pos1 = new FieldPosition(0);
+        FieldPosition pos2 = new FieldPosition(0);
+
+        res1 = fr.format(d, res1, pos1);
+        logln("" + d.getTime() + " formatted to " + res1);
+
+        res2 = it.format(d, res2, pos2);
+        logln("" + d.getTime() + " formatted to " + res2);
+
+        res3 = de.format(d);
+        logln("" + d.getTime() + " formatted to " + res3);
+
+        // ======= Test parse()
+
+        logln("Testing parse()");
+
+        String text = new String("02/03/76 2:50 AM, CST");
+        Object result1 = new Date();
+        Date result2 = new Date();
+        Date result3 = new Date();
+        ParsePosition pos = new ParsePosition(0);
+        ParsePosition pos01 = new ParsePosition(0);
+
+        result1 = def.parseObject(text, pos);
+        if (result1 == null) {
+            errln("ERROR: parseObject() failed for " + text);
+        }
+        logln(text + " parsed into " + ((Date)result1).getTime());
+
+        try {
+            result2 = def.parse(text);
+        }
+        catch (ParseException e) {
+            errln("ERROR: parse() failed");
+        }
+        logln(text + " parsed into " + result2.getTime());
+
+        result3 = def.parse(text, pos01);
+        if (result3 == null) {
+            errln("ERROR: parse() failed for " + text);
+        }
+        logln(text + " parsed into " + result3.getTime());
+
+
+        // ======= Test getters and setters
+
+        logln("Testing getters and setters");
+
+        final Locale[] locales = DateFormat.getAvailableLocales();
+        long count = locales.length;
+        logln("Got " + count + " locales" );
+        for(int i = 0; i < count; i++) {
+            String name;
+            name = locales[i].getDisplayName();
+            logln(name);
+        }
+
+        fr.setLenient(it.isLenient());
+        if(fr.isLenient() != it.isLenient()) {
+            errln("ERROR: setLenient() failed");
+        }
+
+        final Calendar cal = def.getCalendar();
+        Calendar newCal = (Calendar) cal.clone();
+        de.setCalendar(newCal);
+        it.setCalendar(newCal);
+        if( ! de.getCalendar().equals(it.getCalendar())) {
+            errln("ERROR: set Calendar() failed");
+        }
+
+        final NumberFormat nf = def.getNumberFormat();
+        NumberFormat newNf = (NumberFormat) nf.clone();
+        de.setNumberFormat(newNf);
+        it.setNumberFormat(newNf);
+        if( ! de.getNumberFormat().equals(it.getNumberFormat())) {
+            errln("ERROR: set NumberFormat() failed");
+        }
+
+        final TimeZone tz = def.getTimeZone();
+        TimeZone newTz = (TimeZone) tz.clone();
+        de.setTimeZone(newTz);
+        it.setTimeZone(newTz);
+        if( ! de.getTimeZone().equals(it.getTimeZone())) {
+            errln("ERROR: set TimeZone() failed");
+        }
+
+        // ======= Test getStaticClassID()
+
+//        logln("Testing instanceof()");
+
+//        try {
+//            DateFormat test = new SimpleDateFormat();
+
+//            if (! (test instanceof SimpleDateFormat)) {
+//                errln("ERROR: instanceof failed");
+//            }
+//        }
+//        catch (Exception e) {
+//            errln("ERROR: Couldn't create a DateFormat");
+//        }
+    }
+}
diff --git a/src/com/ibm/icu/dev/test/format/IntlTestDateFormatAPIC.java b/src/com/ibm/icu/dev/test/format/IntlTestDateFormatAPIC.java
new file mode 100755
index 0000000..21467c6
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/format/IntlTestDateFormatAPIC.java
@@ -0,0 +1,156 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2001-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+/** 
+ * Port From:   ICU4C v1.8.1 : format : IntlTestDateFormatAPI
+ * Source File: $ICU4CRoot/source/test/intltest/dtfmapts.cpp
+ **/
+
+package com.ibm.icu.dev.test.format;
+
+import com.ibm.icu.text.*;
+import java.util.Date;
+import java.text.FieldPosition;
+import java.text.ParsePosition;
+
+/*
+ * This is an API test, not a unit test.  It doesn't test very many cases, and doesn't
+ * try to test the full functionality.  It just calls each function in the class and
+ * verifies that it works on a basic level.
+ */
+public class IntlTestDateFormatAPIC extends com.ibm.icu.dev.test.TestFmwk {
+    
+    public static void main(String[] args)  throws Exception {
+        new IntlTestDateFormatAPIC().run(args);
+    }
+    
+    /**
+     * Test hiding of parse() and format() APIs in the Format hierarchy.
+     * We test the entire hierarchy, even though this test is located in
+     * the DateFormat API test.
+     */
+    public void TestNameHiding() {
+    
+        // N.B.: This test passes if it COMPILES, since it's a test of
+        // compile-time name hiding.
+    
+        Date dateObj = new Date(0);
+        Number numObj = new Double(3.1415926535897932384626433832795);
+        StringBuffer strBuffer = new StringBuffer("");
+        String str;
+        FieldPosition fpos = new FieldPosition(0);
+        ParsePosition ppos = new ParsePosition(0);
+    
+        // DateFormat calling Format API
+        {
+            logln("DateFormat");
+            DateFormat dateFmt = DateFormat.getInstance();
+            if (dateFmt != null) {
+                str = dateFmt.format(dateObj);
+                strBuffer = dateFmt.format(dateObj, strBuffer, fpos);
+            } else {
+                errln("FAIL: Can't create DateFormat");
+            }
+        }
+    
+        // SimpleDateFormat calling Format & DateFormat API
+        {
+            logln("SimpleDateFormat");
+            SimpleDateFormat sdf = new SimpleDateFormat();
+            // Format API
+            str = sdf.format(dateObj);
+            strBuffer = sdf.format(dateObj, strBuffer, fpos);
+            // DateFormat API
+            strBuffer = sdf.format(new Date(0), strBuffer, fpos);
+            str = sdf.format(new Date(0));
+            try {
+                sdf.parse(str);
+                sdf.parse(str, ppos);
+            } catch (java.text.ParseException pe) {
+                System.out.println(pe);
+            }
+        }
+    
+        // NumberFormat calling Format API
+        {
+            logln("NumberFormat");
+            NumberFormat fmt = NumberFormat.getInstance();
+            if (fmt != null) {
+                str = fmt.format(numObj);
+                strBuffer = fmt.format(numObj, strBuffer, fpos);
+            } else {
+                errln("FAIL: Can't create NumberFormat");
+            }
+        }
+    
+        // DecimalFormat calling Format & NumberFormat API
+        {
+            logln("DecimalFormat");
+            DecimalFormat fmt = new DecimalFormat();
+            // Format API
+            str = fmt.format(numObj);
+            strBuffer = fmt.format(numObj, strBuffer, fpos);
+            // NumberFormat API
+            str = fmt.format(2.71828);
+            str = fmt.format(1234567);
+            strBuffer = fmt.format(1.41421, strBuffer, fpos);
+            strBuffer = fmt.format(9876543, strBuffer, fpos);
+            Number obj = fmt.parse(str, ppos);
+            try {
+                obj = fmt.parse(str);
+                if(obj==null){
+                    errln("FAIL: The format object could not parse the string : "+str);
+                }
+            } catch (java.text.ParseException pe) {
+                System.out.println(pe);
+            }
+        }
+        
+        //ICU4J have not the classes ChoiceFormat and MessageFormat
+        /*
+        // ChoiceFormat calling Format & NumberFormat API
+        {
+            logln("ChoiceFormat");
+            ChoiceFormat fmt = new ChoiceFormat("0#foo|1#foos|2#foos");
+            // Format API
+            str = fmt.format(numObj);
+            strBuffer = fmt.format(numObj, strBuffer, fpos);
+            // NumberFormat API
+            str = fmt.format(2.71828);
+            str = fmt.format(1234567);
+            strBuffer = fmt.format(1.41421, strBuffer, fpos);
+            strBuffer = fmt.format(9876543, strBuffer, fpos);
+            Number obj = fmt.parse(str, ppos);
+            try {
+                obj = fmt.parse(str);
+            } catch (java.text.ParseException pe) {
+                System.out.println(pe);
+            }
+        }
+    
+        
+        // MessageFormat calling Format API
+        {
+            logln("MessageFormat");
+            MessageFormat fmt = new MessageFormat("");
+            // Format API
+            // We use dateObj, which MessageFormat should reject.
+            // We're testing name hiding, not the format method.
+            try {
+                str = fmt.format(dateObj);
+            } catch (Exception e) {
+                //e.printStackTrace();
+            }
+            try {
+                strBuffer = fmt.format(dateObj, strBuffer, fpos);
+            } catch (Exception e) {
+                //e.printStackTrace();
+            }
+        }
+        */
+    }
+}
\ No newline at end of file
diff --git a/src/com/ibm/icu/dev/test/format/IntlTestDateFormatSymbols.java b/src/com/ibm/icu/dev/test/format/IntlTestDateFormatSymbols.java
new file mode 100755
index 0000000..baf05d2
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/format/IntlTestDateFormatSymbols.java
@@ -0,0 +1,238 @@
+/*****************************************************************************************
+ *
+ *   Copyright (C) 1996-2005, International Business Machines
+ *   Corporation and others.  All Rights Reserved.
+ **/
+
+/** 
+ * Port From:   JDK 1.4b1 : java.text.Format.IntlTestDateFormatSymbols
+ * Source File: java/text/format/IntlTestDateFormatSymbols.java
+ **/
+ 
+/*
+    @test 1.4 98/03/06
+    @summary test International Date Format Symbols
+*/
+
+package com.ibm.icu.dev.test.format;
+
+import com.ibm.icu.text.*;
+import java.util.Locale;
+
+public class IntlTestDateFormatSymbols extends com.ibm.icu.dev.test.TestFmwk
+{
+    public static void main(String[] args) throws Exception {
+        new IntlTestDateFormatSymbols().run(args);
+    }
+
+    // Test getMonths
+    public void TestGetMonths()
+    {
+        final String[] month;
+        DateFormatSymbols symbol;
+
+        symbol=new DateFormatSymbols(Locale.getDefault());
+
+        month=symbol.getMonths();
+        int cnt = month.length;
+
+        logln("size = " + cnt);
+
+        for (int i=0; i<cnt; ++i)
+        {
+            logln(month[i]);
+        }
+    }
+
+    public void TestGetMonths2()
+    {
+        DateFormatSymbols symbol;
+        symbol=new DateFormatSymbols(Locale.getDefault());
+
+        int[] context = {DateFormatSymbols.STANDALONE, DateFormatSymbols.FORMAT};
+        int[] width = {DateFormatSymbols.WIDE, DateFormatSymbols.ABBREVIATED, DateFormatSymbols.NARROW};
+        
+        for (int i = 0; i < context.length; i++) {
+            for (int j = 0; j < width.length; j++) {
+                String[] month =symbol.getMonths(context[i],width[j]);
+                int cnt = month.length;
+
+                logln("size = " + cnt);
+
+                for (int k = 0; k < month.length; k++) {
+                    logln(month[k]);
+                }
+            }
+        }
+    }
+    
+    public void TestGetWeekdays2(){
+        DateFormatSymbols symbol;
+        symbol=new DateFormatSymbols(Locale.getDefault());
+
+        int[] context = {DateFormatSymbols.STANDALONE, DateFormatSymbols.FORMAT};
+        int[] width = {DateFormatSymbols.WIDE, DateFormatSymbols.ABBREVIATED, DateFormatSymbols.NARROW};
+        
+        for (int i = 0; i < context.length; i++) {
+            for (int j = 0; j < width.length; j++) {
+                String[] wd =symbol.getWeekdays(context[i],width[j]);
+                int cnt = wd.length;
+
+                logln("size = " + cnt);
+
+                for (int k = 0; k < wd.length; k++) {
+                    logln(wd[k]);
+                }
+            }
+        }
+        
+    }
+    
+    public void TestGetEraNames(){
+        DateFormatSymbols symbol;
+        symbol=new DateFormatSymbols(Locale.getDefault());
+        String[] s = symbol.getEraNames();
+        for (int i = 0; i < s.length; i++) {
+            logln(s[i]);
+        }
+        
+    }
+
+    // Test the API of DateFormatSymbols; primarily a simple get/set set.
+    public void TestSymbols()
+    {
+        DateFormatSymbols fr = new DateFormatSymbols(Locale.FRENCH);
+
+        DateFormatSymbols en = new DateFormatSymbols(Locale.ENGLISH);
+
+        if(en.equals(fr)) {
+            errln("ERROR: English DateFormatSymbols equal to French");
+        }
+
+        // just do some VERY basic tests to make sure that get/set work
+
+        long count;
+        final String[] eras = en.getEras();
+        fr.setEras(eras);
+        final String[] eras1 = fr.getEras();
+        count = eras.length;
+        if( count != eras1.length) {
+            errln("ERROR: setEras() failed (different size array)");
+        }
+        else {
+            for(int i = 0; i < count; i++) {
+                if(! eras[i].equals(eras1[i])) {
+                    errln("ERROR: setEras() failed (different string values)");
+                }
+            }
+        }
+
+
+        final String[] months = en.getMonths();
+        fr.setMonths(months);
+        final String[] months1 = fr.getMonths();
+        count = months.length;
+        if( count != months1.length) {
+            errln("ERROR: setMonths() failed (different size array)");
+        }
+        else {
+            for(int i = 0; i < count; i++) {
+                if(! months[i].equals(months1[i])) {
+                    errln("ERROR: setMonths() failed (different string values)");
+                }
+            }
+        }
+
+        final String[] shortMonths = en.getShortMonths();
+        fr.setShortMonths(shortMonths);
+        final String[] shortMonths1 = fr.getShortMonths();
+        count = shortMonths.length;
+        if( count != shortMonths1.length) {
+            errln("ERROR: setShortMonths() failed (different size array)");
+        }
+        else {
+            for(int i = 0; i < count; i++) {
+                if(! shortMonths[i].equals(shortMonths1[i])) {
+                    errln("ERROR: setShortMonths() failed (different string values)");
+                }
+            }
+        }
+
+        final String[] weekdays = en.getWeekdays();
+        fr.setWeekdays(weekdays);
+        final String[] weekdays1 = fr.getWeekdays();
+        count = weekdays.length;
+        if( count != weekdays1.length) {
+            errln("ERROR: setWeekdays() failed (different size array)");
+        }
+        else {
+            for(int i = 0; i < count; i++) {
+                if(! weekdays[i].equals(weekdays1[i])) {
+                    errln("ERROR: setWeekdays() failed (different string values)");
+                }
+            }
+        }
+
+        final String[] shortWeekdays = en.getShortWeekdays();
+        fr.setShortWeekdays(shortWeekdays);
+        final String[] shortWeekdays1 = fr.getShortWeekdays();
+        count = shortWeekdays.length;
+        if( count != shortWeekdays1.length) {
+            errln("ERROR: setShortWeekdays() failed (different size array)");
+        }
+        else {
+            for(int i = 0; i < count; i++) {
+                if(! shortWeekdays[i].equals(shortWeekdays1[i])) {
+                    errln("ERROR: setShortWeekdays() failed (different string values)");
+                }
+            }
+        }
+
+        final String[] ampms = en.getAmPmStrings();
+        fr.setAmPmStrings(ampms);
+        final String[] ampms1 = fr.getAmPmStrings();
+        count = ampms.length;
+        if( count != ampms1.length) {
+            errln("ERROR: setAmPmStrings() failed (different size array)");
+        }
+        else {
+            for(int i = 0; i < count; i++) {
+                if(! ampms[i].equals(ampms1[i])) {
+                    errln("ERROR: setAmPmStrings() failed (different string values)");
+                }
+            }
+        }
+
+        long rowCount = 0, columnCount = 0;
+        final String[][] strings = en.getZoneStrings();
+        fr.setZoneStrings(strings);
+        final String[][] strings1 = fr.getZoneStrings();
+        rowCount = strings.length;
+        for(int i = 0; i < rowCount; i++) {
+            columnCount = strings[i].length;
+            for(int j = 0; j < columnCount; j++) {
+                if( strings[i][j] != strings1[i][j] ) {
+                    errln("ERROR: setZoneStrings() failed");
+                }
+            }
+        }
+
+//        final String pattern = DateFormatSymbols.getPatternChars();
+
+        String localPattern; // pat1, pat2; //The variable is never used
+        localPattern = en.getLocalPatternChars();
+        fr.setLocalPatternChars(localPattern);
+        if(! en.getLocalPatternChars().equals(fr.getLocalPatternChars())) {
+            errln("ERROR: setLocalPatternChars() failed");
+        }
+
+
+        //DateFormatSymbols foo = new DateFormatSymbols(); //The variable is never used
+
+        en = (DateFormatSymbols) fr.clone();
+
+        if(! en.equals(fr)) {
+            errln("ERROR: Clone failed");
+        }
+    }
+}
diff --git a/src/com/ibm/icu/dev/test/format/IntlTestDecimalFormatAPI.java b/src/com/ibm/icu/dev/test/format/IntlTestDecimalFormatAPI.java
new file mode 100755
index 0000000..41a5f26
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/format/IntlTestDecimalFormatAPI.java
@@ -0,0 +1,269 @@
+/*****************************************************************************************
+ *
+ *   Copyright (C) 1996-2004, International Business Machines
+ *   Corporation and others.  All Rights Reserved.
+ **/
+
+/** 
+ * Port From:   JDK 1.4b1 : java.text.Format.IntlTestDecimalFormatAPI
+ * Source File: java/text/format/IntlTestDecimalFormatAPI.java
+ **/
+ 
+/*
+    @test 1.4 98/03/06
+    @summary test International Decimal Format API
+*/
+
+package com.ibm.icu.dev.test.format;
+
+import com.ibm.icu.text.*;
+import com.ibm.icu.math.BigDecimal;
+import java.util.Locale;
+import java.text.ParsePosition;
+import java.text.Format;
+import java.text.FieldPosition;
+
+public class IntlTestDecimalFormatAPI extends com.ibm.icu.dev.test.TestFmwk
+{
+    public static void main(String[] args)  throws Exception {
+        new IntlTestDecimalFormatAPI().run(args);
+    }
+    
+    /**
+     * Problem 1: simply running 
+     * decF4.setRoundingMode(java.math.BigDecimal.ROUND_HALF_UP) does not work 
+     * as decF4.setRoundingIncrement(.0001) must also be run.
+     * Problem 2: decF4.format(8.88885) does not return 8.8889 as expected. 
+     * You must run decF4.format(new BigDecimal(Double.valueOf(8.88885))) in 
+     * order for this to work as expected.
+     * Problem 3: There seems to be no way to set half up to be the default 
+     * rounding mode.
+     * We solved the problem with the code at the bottom of this page however 
+     * this is not quite general purpose enough to include in icu4j. A static
+     * setDefaultRoundingMode function would solve the problem nicely. Also 
+     * decimal places past 20 are not handled properly. A small ammount of work 
+     * would make bring this up to snuff.
+     */
+    public void testJB1871()
+    {
+        // problem 2
+        double number = 8.88885;
+        String expected = "8.8889";
+        
+        String pat = ",##0.0000";
+        DecimalFormat dec = new DecimalFormat(pat);
+        dec.setRoundingMode(BigDecimal.ROUND_HALF_UP);
+        double roundinginc = 0.0001;
+        dec.setRoundingIncrement(roundinginc);
+        String str = dec.format(number);
+        if (!str.equals(expected)) {
+            errln("Fail: " + number + " x \"" + pat + "\" = \"" +
+                  str + "\", expected \"" + expected + "\"");
+        }   
+
+        pat = ",##0.0001";
+        dec = new DecimalFormat(pat);
+        dec.setRoundingMode(BigDecimal.ROUND_HALF_UP);
+        str = dec.format(number);
+        if (!str.equals(expected)) {
+            errln("Fail: " + number + " x \"" + pat + "\" = \"" +
+                  str + "\", expected \"" + expected + "\"");
+        }  
+        
+        // testing 20 decimal places
+        pat = ",##0.00000000000000000001";
+        dec = new DecimalFormat(pat);
+        BigDecimal bignumber = new BigDecimal("8.888888888888888888885");
+        expected = "8.88888888888888888889";
+        
+        dec.setRoundingMode(BigDecimal.ROUND_HALF_UP);
+        str = dec.format(bignumber); 
+        if (!str.equals(expected)) {
+            errln("Fail: " + bignumber + " x \"" + pat + "\" = \"" +
+                  str + "\", expected \"" + expected + "\"");
+        }   
+        
+    }
+
+    /** 
+     * This test checks various generic API methods in DecimalFormat to achieve 
+     * 100% API coverage.
+     */
+    public void TestAPI()
+    {
+        logln("DecimalFormat API test---"); logln("");
+        Locale.setDefault(Locale.ENGLISH);
+
+        // ======= Test constructors
+
+        logln("Testing DecimalFormat constructors");
+
+        DecimalFormat def = new DecimalFormat();
+
+        final String pattern = new String("#,##0.# FF");
+        DecimalFormat pat = null;
+        try {
+            pat = new DecimalFormat(pattern);
+        }
+        catch (IllegalArgumentException e) {
+            errln("ERROR: Could not create DecimalFormat (pattern)");
+        }
+
+        DecimalFormatSymbols symbols = new DecimalFormatSymbols(Locale.FRENCH);
+
+        DecimalFormat cust1 = new DecimalFormat(pattern, symbols);
+
+        // ======= Test clone(), assignment, and equality
+
+        logln("Testing clone() and equality operators");
+
+        Format clone = (Format) def.clone();
+        if( ! def.equals(clone)) {
+            errln("ERROR: Clone() failed");
+        }
+
+        // ======= Test various format() methods
+
+        logln("Testing various format() methods");
+
+//        final double d = -10456.0037; // this appears as -10456.003700000001 on NT
+//        final double d = -1.04560037e-4; // this appears as -1.0456003700000002E-4 on NT
+        final double d = -10456.00370000000000; // this works!
+        final long l = 100000000;
+        logln("" + d + " is the double value");
+
+        StringBuffer res1 = new StringBuffer();
+        StringBuffer res2 = new StringBuffer();
+        StringBuffer res3 = new StringBuffer();
+        StringBuffer res4 = new StringBuffer();
+        FieldPosition pos1 = new FieldPosition(0);
+        FieldPosition pos2 = new FieldPosition(0);
+        FieldPosition pos3 = new FieldPosition(0);
+        FieldPosition pos4 = new FieldPosition(0);
+
+        res1 = def.format(d, res1, pos1);
+        logln("" + d + " formatted to " + res1);
+
+        res2 = pat.format(l, res2, pos2);
+        logln("" + l + " formatted to " + res2);
+
+        res3 = cust1.format(d, res3, pos3);
+        logln("" + d + " formatted to " + res3);
+
+        res4 = cust1.format(l, res4, pos4);
+        logln("" + l + " formatted to " + res4);
+
+        // ======= Test parse()
+
+        logln("Testing parse()");
+
+        String text = new String("-10,456.0037");
+        ParsePosition pos = new ParsePosition(0);
+        String patt = new String("#,##0.#");
+        pat.applyPattern(patt);
+        double d2 = pat.parse(text, pos).doubleValue();
+        if(d2 != d) {
+            errln("ERROR: Roundtrip failed (via parse(" + d2 + " != " + d + ")) for " + text);
+        }
+        logln(text + " parsed into " + (long) d2);
+
+        // ======= Test getters and setters
+
+        logln("Testing getters and setters");
+
+        final DecimalFormatSymbols syms = pat.getDecimalFormatSymbols();
+        def.setDecimalFormatSymbols(syms);
+        if( ! pat.getDecimalFormatSymbols().equals(def.getDecimalFormatSymbols())) {
+            errln("ERROR: set DecimalFormatSymbols() failed");
+        }
+
+        String posPrefix;
+        pat.setPositivePrefix("+");
+        posPrefix = pat.getPositivePrefix();
+        logln("Positive prefix (should be +): " + posPrefix);
+        if(posPrefix != "+") {
+            errln("ERROR: setPositivePrefix() failed");
+        }
+
+        String negPrefix;
+        pat.setNegativePrefix("-");
+        negPrefix = pat.getNegativePrefix();
+        logln("Negative prefix (should be -): " + negPrefix);
+        if(negPrefix != "-") {
+            errln("ERROR: setNegativePrefix() failed");
+        }
+
+        String posSuffix;
+        pat.setPositiveSuffix("_");
+        posSuffix = pat.getPositiveSuffix();
+        logln("Positive suffix (should be _): " + posSuffix);
+        if(posSuffix != "_") {
+            errln("ERROR: setPositiveSuffix() failed");
+        }
+
+        String negSuffix;
+        pat.setNegativeSuffix("~");
+        negSuffix = pat.getNegativeSuffix();
+        logln("Negative suffix (should be ~): " + negSuffix);
+        if(negSuffix != "~") {
+            errln("ERROR: setNegativeSuffix() failed");
+        }
+
+        long multiplier = 0;
+        pat.setMultiplier(8);
+        multiplier = pat.getMultiplier();
+        logln("Multiplier (should be 8): " + multiplier);
+        if(multiplier != 8) {
+            errln("ERROR: setMultiplier() failed");
+        }
+
+        int groupingSize = 0;
+        pat.setGroupingSize(2);
+        groupingSize = pat.getGroupingSize();
+        logln("Grouping size (should be 2): " + (long) groupingSize);
+        if(groupingSize != 2) {
+            errln("ERROR: setGroupingSize() failed");
+        }
+
+        pat.setDecimalSeparatorAlwaysShown(true);
+        boolean tf = pat.isDecimalSeparatorAlwaysShown();
+        logln("DecimalSeparatorIsAlwaysShown (should be true) is " +  (tf ? "true" : "false"));
+        if(tf != true) {
+            errln("ERROR: setDecimalSeparatorAlwaysShown() failed");
+        }
+
+        String funkyPat;
+        funkyPat = pat.toPattern();
+        logln("Pattern is " + funkyPat);
+
+        String locPat;
+        locPat = pat.toLocalizedPattern();
+        logln("Localized pattern is " + locPat);
+
+        // ======= Test applyPattern()
+
+        logln("Testing applyPattern()");
+
+        String p1 = new String("#,##0.0#;(#,##0.0#)");
+        logln("Applying pattern " + p1);
+        pat.applyPattern(p1);
+        String s2;
+        s2 = pat.toPattern();
+        logln("Extracted pattern is " + s2);
+        if( ! s2.equals(p1) ) {
+            errln("ERROR: toPattern() result did not match pattern applied");
+        }
+
+        String p2 = new String("#,##0.0# FF;(#,##0.0# FF)");
+        logln("Applying pattern " + p2);
+        pat.applyLocalizedPattern(p2);
+        String s3;
+        s3 = pat.toLocalizedPattern();
+        logln("Extracted pattern is " + s3);
+        if( ! s3.equals(p2) ) {
+            errln("ERROR: toLocalizedPattern() result did not match pattern applied");
+        }
+    }
+}
+
+
diff --git a/src/com/ibm/icu/dev/test/format/IntlTestDecimalFormatAPIC.java b/src/com/ibm/icu/dev/test/format/IntlTestDecimalFormatAPIC.java
new file mode 100755
index 0000000..d2d493d
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/format/IntlTestDecimalFormatAPIC.java
@@ -0,0 +1,281 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2001-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+/** 
+ * Port From:   ICU4C v1.8.1 : format : IntlTestDecimalFormatAPI
+ * Source File: $ICU4CRoot/source/test/intltest/dcfmapts.cpp
+ **/
+
+package com.ibm.icu.dev.test.format;
+
+import java.util.Locale;
+import java.text.ParsePosition;
+import java.text.Format;
+import com.ibm.icu.text.*;
+import java.text.FieldPosition;
+
+// This is an API test, not a unit test.  It doesn't test very many cases, and doesn't
+// try to test the full functionality.  It just calls each function in the class and
+// verifies that it works on a basic level.
+public class IntlTestDecimalFormatAPIC extends com.ibm.icu.dev.test.TestFmwk {
+    
+    public static void main(String[] args)  throws Exception {
+        new IntlTestDecimalFormatAPIC().run(args);
+    }
+
+    // This test checks various generic API methods in DecimalFormat to achieve 100% API coverage.
+    public void TestAPI() {
+        
+        logln("DecimalFormat API test---");
+        logln("");
+        Locale.setDefault(Locale.ENGLISH);
+    
+        // ======= Test constructors
+    
+        logln("Testing DecimalFormat constructors");
+    
+        DecimalFormat def = new DecimalFormat();
+    
+        final String pattern = new String("#,##0.# FF");
+        DecimalFormat pat = null;
+        try {
+            pat = new DecimalFormat(pattern);
+        } catch (IllegalArgumentException e) {
+            errln("ERROR: Could not create DecimalFormat (pattern)");
+        }
+    
+        DecimalFormatSymbols symbols = new DecimalFormatSymbols(Locale.FRENCH);
+    
+        DecimalFormat cust1 = new DecimalFormat(pattern, symbols);
+    
+        // ======= Test clone(), assignment, and equality
+    
+        logln("Testing clone() and equality operators");
+    
+        Format clone = (Format) def.clone();
+        if (!def.equals(clone)) {
+            errln("ERROR: Clone() failed");
+        }
+    
+        // ======= Test various format() methods
+    
+        logln("Testing various format() methods");
+    
+        //        final double d = -10456.0037; // this appears as -10456.003700000001 on NT
+        //        final double d = -1.04560037e-4; // this appears as -1.0456003700000002E-4 on NT
+        final double d = -10456.00370000000000; // this works!
+        final long l = 100000000;
+        logln("" + Double.toString(d) + " is the double value");
+    
+        StringBuffer res1 = new StringBuffer();
+        StringBuffer res2 = new StringBuffer();
+        StringBuffer res3 = new StringBuffer();
+        StringBuffer res4 = new StringBuffer();
+        FieldPosition pos1 = new FieldPosition(0);
+        FieldPosition pos2 = new FieldPosition(0);
+        FieldPosition pos3 = new FieldPosition(0);
+        FieldPosition pos4 = new FieldPosition(0);
+    
+        res1 = def.format(d, res1, pos1);
+        logln("" + Double.toString(d) + " formatted to " + res1);
+    
+        res2 = pat.format(l, res2, pos2);
+        logln("" + l + " formatted to " + res2);
+    
+        res3 = cust1.format(d, res3, pos3);
+        logln("" + Double.toString(d) + " formatted to " + res3);
+    
+        res4 = cust1.format(l, res4, pos4);
+        logln("" + l + " formatted to " + res4);
+    
+        // ======= Test parse()
+    
+        logln("Testing parse()");
+    
+        String text = new String("-10,456.0037");
+        ParsePosition pos = new ParsePosition(0);
+        String patt = new String("#,##0.#");
+        pat.applyPattern(patt);
+        double d2 = pat.parse(text, pos).doubleValue();
+        if (d2 != d) {
+            errln(
+                "ERROR: Roundtrip failed (via parse(" + Double.toString(d2) + " != " + Double.toString(d) + ")) for " + text); 
+        }
+        logln(text + " parsed into " + (long) d2);
+    
+        // ======= Test getters and setters
+    
+        logln("Testing getters and setters");
+    
+        final DecimalFormatSymbols syms = pat.getDecimalFormatSymbols();
+        def.setDecimalFormatSymbols(syms);
+        if (!pat.getDecimalFormatSymbols().equals(def.getDecimalFormatSymbols())) {
+            errln("ERROR: set DecimalFormatSymbols() failed");
+        }
+    
+        String posPrefix;
+        pat.setPositivePrefix("+");
+        posPrefix = pat.getPositivePrefix();
+        logln("Positive prefix (should be +): " + posPrefix);
+        if (posPrefix != "+") {
+            errln("ERROR: setPositivePrefix() failed");
+        }
+    
+        String negPrefix;
+        pat.setNegativePrefix("-");
+        negPrefix = pat.getNegativePrefix();
+        logln("Negative prefix (should be -): " + negPrefix);
+        if (negPrefix != "-") {
+            errln("ERROR: setNegativePrefix() failed");
+        }
+    
+        String posSuffix;
+        pat.setPositiveSuffix("_");
+        posSuffix = pat.getPositiveSuffix();
+        logln("Positive suffix (should be _): " + posSuffix);
+        if (posSuffix != "_") {
+            errln("ERROR: setPositiveSuffix() failed");
+        }
+    
+        String negSuffix;
+        pat.setNegativeSuffix("~");
+        negSuffix = pat.getNegativeSuffix();
+        logln("Negative suffix (should be ~): " + negSuffix);
+        if (negSuffix != "~") {
+            errln("ERROR: setNegativeSuffix() failed");
+        }
+    
+        long multiplier = 0;
+        pat.setMultiplier(8);
+        multiplier = pat.getMultiplier();
+        logln("Multiplier (should be 8): " + multiplier);
+        if (multiplier != 8) {
+            errln("ERROR: setMultiplier() failed");
+        }
+    
+        int groupingSize = 0;
+        pat.setGroupingSize(2);
+        groupingSize = pat.getGroupingSize();
+        logln("Grouping size (should be 2): " + (long) groupingSize);
+        if (groupingSize != 2) {
+            errln("ERROR: setGroupingSize() failed");
+        }
+    
+        pat.setDecimalSeparatorAlwaysShown(true);
+        boolean tf = pat.isDecimalSeparatorAlwaysShown();
+        logln(
+            "DecimalSeparatorIsAlwaysShown (should be true) is " + (tf ? "true" : "false")); 
+        if (tf != true) {
+            errln("ERROR: setDecimalSeparatorAlwaysShown() failed");
+        }
+    
+        String funkyPat;
+        funkyPat = pat.toPattern();
+        logln("Pattern is " + funkyPat);
+    
+        String locPat;
+        locPat = pat.toLocalizedPattern();
+        logln("Localized pattern is " + locPat);
+    
+        // ======= Test applyPattern()
+    
+        logln("Testing applyPattern()");
+    
+        String p1 = new String("#,##0.0#;(#,##0.0#)");
+        logln("Applying pattern " + p1);
+        pat.applyPattern(p1);
+        String s2;
+        s2 = pat.toPattern();
+        logln("Extracted pattern is " + s2);
+        if (!s2.equals(p1)) {
+            errln("ERROR: toPattern() result did not match pattern applied");
+        }
+    
+        String p2 = new String("#,##0.0# FF;(#,##0.0# FF)");
+        logln("Applying pattern " + p2);
+        pat.applyLocalizedPattern(p2);
+        String s3;
+        s3 = pat.toLocalizedPattern();
+        logln("Extracted pattern is " + s3);
+        if (!s3.equals(p2)) {
+            errln("ERROR: toLocalizedPattern() result did not match pattern applied");
+        }
+    
+        // ======= Test getStaticClassID()
+    
+        //        logln("Testing instanceof()");
+    
+        //        try {
+        //           NumberFormat test = new DecimalFormat();
+    
+        //            if (! (test instanceof DecimalFormat)) {
+        //                errln("ERROR: instanceof failed");
+        //            }
+        //        }
+        //        catch (Exception e) {
+        //            errln("ERROR: Couldn't create a DecimalFormat");
+        //        }
+       
+    }
+
+    public void TestRounding() {
+        double Roundingnumber = 2.55;
+        double Roundingnumber1 = -2.55;
+        //+2.55 results   -2.55 results
+        double result[] = {
+            3, -3,   
+            2, -2, 
+            3, -2, 
+            2, -3, 
+            3, -3, 
+            3, -3, 
+            3, -3 
+        };
+        DecimalFormat pat = new DecimalFormat();
+        String s = "";
+        s = pat.toPattern();
+        logln("pattern = " + s);
+        int mode;
+        int i = 0;
+        String message;
+        String resultStr;
+        for (mode = 0; mode < 7; mode++) {
+            pat.setRoundingMode(mode);
+            if (pat.getRoundingMode() != mode) {
+                errln(
+                     "SetRoundingMode or GetRoundingMode failed for mode=" + mode); 
+            }
+    
+            //for +2.55 with RoundingIncrement=1.0
+            pat.setRoundingIncrement(1.0);
+            resultStr = pat.format(Roundingnumber);
+            message = "round(" + (double) Roundingnumber
+                    + "," + mode + ",FALSE) with RoundingIncrement=1.0==>"; 
+            verify(message, resultStr, result[i++]);
+            message = "";
+            resultStr = "";
+    
+            //for -2.55 with RoundingIncrement=1.0
+            resultStr = pat.format(Roundingnumber1);
+            message = "round(" + (double) Roundingnumber1
+                    + "," + mode + ",FALSE) with RoundingIncrement=1.0==>"; 
+            verify(message, resultStr, result[i++]);
+            message = "";
+            resultStr = "";
+        }
+    }
+    
+    /*Helper functions */
+    public void verify(String message, String got, double expected) {
+        logln(message + got + " Expected : " + (long)expected);
+        String expectedStr = "";
+        expectedStr=expectedStr + (long)expected;
+        if(!got.equals(expectedStr) ) {
+            errln("ERROR: Round() failed:  " + message + got + "  Expected : " + expectedStr);
+        }
+    }
+}
\ No newline at end of file
diff --git a/src/com/ibm/icu/dev/test/format/IntlTestDecimalFormatSymbols.java b/src/com/ibm/icu/dev/test/format/IntlTestDecimalFormatSymbols.java
new file mode 100755
index 0000000..3e4c301
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/format/IntlTestDecimalFormatSymbols.java
@@ -0,0 +1,152 @@
+/*****************************************************************************************
+ *
+ *   Copyright (C) 1996-2005, International Business Machines
+ *   Corporation and others.  All Rights Reserved.
+ **/
+
+/** 
+ * Port From:   JDK 1.4b1 : java.text.Format.IntlTestDecimalFormatSymbols
+ * Source File: java/text/format/IntlTestDecimalFormatSymbols.java
+ **/
+ 
+/*
+    @test 1.4 98/03/06
+    @summary test International Decimal Format Symbols
+*/
+
+
+package com.ibm.icu.dev.test.format;
+
+import com.ibm.icu.text.*;
+import com.ibm.icu.util.Currency;
+
+import java.util.Locale;
+
+public class IntlTestDecimalFormatSymbols extends com.ibm.icu.dev.test.TestFmwk
+{
+    public static void main(String[] args) throws Exception {
+        new IntlTestDecimalFormatSymbols().run(args);
+    }
+
+    // Test the API of DecimalFormatSymbols; primarily a simple get/set set.
+    public void TestSymbols()
+    {
+        DecimalFormatSymbols fr = new DecimalFormatSymbols(Locale.FRENCH);
+
+        DecimalFormatSymbols en = new DecimalFormatSymbols(Locale.ENGLISH);
+
+        if(en.equals(fr)) {
+            errln("ERROR: English DecimalFormatSymbols equal to French");
+        }
+
+        // just do some VERY basic tests to make sure that get/set work
+
+        char zero = en.getZeroDigit();
+        fr.setZeroDigit(zero);
+        if(fr.getZeroDigit() != en.getZeroDigit()) {
+            errln("ERROR: get/set ZeroDigit failed");
+        }
+
+        char sigDigit = en.getSignificantDigit();
+        fr.setSignificantDigit(sigDigit); 
+        if(fr.getSignificantDigit() != en.getSignificantDigit()) {
+            errln("ERROR: get/set SignificantDigit failed");
+        }
+
+        Currency currency = Currency.getInstance("USD");
+        fr.setCurrency(currency);
+        if (!fr.getCurrency().equals(currency)){
+            errln("ERROR: get/set Currency failed");
+        }
+            
+        char group = en.getGroupingSeparator();
+        fr.setGroupingSeparator(group);
+        if(fr.getGroupingSeparator() != en.getGroupingSeparator()) {
+            errln("ERROR: get/set GroupingSeparator failed");
+        }
+
+        char decimal = en.getDecimalSeparator();
+        fr.setDecimalSeparator(decimal);
+        if(fr.getDecimalSeparator() != en.getDecimalSeparator()) {
+            errln("ERROR: get/set DecimalSeparator failed");
+        }
+
+        char perMill = en.getPerMill();
+        fr.setPerMill(perMill);
+        if(fr.getPerMill() != en.getPerMill()) {
+            errln("ERROR: get/set PerMill failed");
+        }
+
+        char percent = en.getPercent();
+        fr.setPercent(percent);
+        if(fr.getPercent() != en.getPercent()) {
+            errln("ERROR: get/set Percent failed");
+        }
+
+        char digit = en.getDigit();
+        fr.setDigit(digit);
+        if(fr.getPercent() != en.getPercent()) {
+            errln("ERROR: get/set Percent failed");
+        }
+
+        char patternSeparator = en.getPatternSeparator();
+        fr.setPatternSeparator(patternSeparator);
+        if(fr.getPatternSeparator() != en.getPatternSeparator()) {
+            errln("ERROR: get/set PatternSeparator failed");
+        }
+
+        String infinity = en.getInfinity();
+        fr.setInfinity(infinity);
+        String infinity2 = fr.getInfinity();
+        if(! infinity.equals(infinity2)) {
+            errln("ERROR: get/set Infinity failed");
+        }
+
+        String nan = en.getNaN();
+        fr.setNaN(nan);
+        String nan2 = fr.getNaN();
+        if(! nan.equals(nan2)) {
+            errln("ERROR: get/set NaN failed");
+        }
+
+        char minusSign = en.getMinusSign();
+        fr.setMinusSign(minusSign);
+        if(fr.getMinusSign() != en.getMinusSign()) {
+            errln("ERROR: get/set MinusSign failed");
+        }
+
+        char plusSign = en.getPlusSign();
+        fr.setPlusSign(plusSign);
+        if(fr.getPlusSign() != en.getPlusSign()) {
+            errln("ERROR: get/set PlusSign failed");
+        }
+
+        char padEscape = en.getPadEscape();
+        fr.setPadEscape(padEscape);
+        if(fr.getPadEscape() != en.getPadEscape()) {
+            errln("ERROR: get/set PadEscape failed");
+        }
+
+        String exponential = en.getExponentSeparator();
+        fr.setExponentSeparator(exponential);
+        if(fr.getExponentSeparator() != en.getExponentSeparator()) {
+            errln("ERROR: get/set Exponential failed");
+        }
+
+        //DecimalFormatSymbols foo = new DecimalFormatSymbols(); //The variable is never used
+
+        en = (DecimalFormatSymbols) fr.clone();
+
+        if(! en.equals(fr)) {
+            errln("ERROR: Clone failed");
+        }
+    }
+    
+    public void testCoverage() {
+        DecimalFormatSymbols df = new DecimalFormatSymbols();
+        DecimalFormatSymbols df2 = (DecimalFormatSymbols)df.clone();
+        if (!df.equals(df2) || df.hashCode() != df2.hashCode()) {
+            errln("decimal format symbols clone, equals, or hashCode failed");            
+        }
+    }
+}
diff --git a/src/com/ibm/icu/dev/test/format/IntlTestDecimalFormatSymbolsC.java b/src/com/ibm/icu/dev/test/format/IntlTestDecimalFormatSymbolsC.java
new file mode 100755
index 0000000..7f782a3
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/format/IntlTestDecimalFormatSymbolsC.java
@@ -0,0 +1,141 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2001-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+/** 
+ * Port From:   ICU4C v1.8.1 : format : IntlTestDecimalFormatSymbols
+ * Source File: $ICU4CRoot/source/test/intltest/tsdcfmsy.cpp
+ **/
+
+package com.ibm.icu.dev.test.format;
+
+import java.text.FieldPosition;
+import java.util.Locale;
+import com.ibm.icu.text.*;
+
+/**
+ * Tests for DecimalFormatSymbols
+ **/
+public class IntlTestDecimalFormatSymbolsC extends com.ibm.icu.dev.test.TestFmwk {
+    
+    public static void main(String[] args) throws Exception {
+        new IntlTestDecimalFormatSymbolsC().run(args);
+    }
+
+    /**
+     * Test the API of DecimalFormatSymbols; primarily a simple get/set set.
+     */
+    public void TestSymbols() {    
+        DecimalFormatSymbols fr = new DecimalFormatSymbols(Locale.FRENCH);    
+        DecimalFormatSymbols en = new DecimalFormatSymbols(Locale.ENGLISH);
+    
+        if (en.equals(fr)) {
+            errln("ERROR: English DecimalFormatSymbols equal to French");
+        }
+    
+        // just do some VERY basic tests to make sure that get/set work
+    
+        char zero = en.getZeroDigit();
+        fr.setZeroDigit(zero);
+        if (fr.getZeroDigit() != en.getZeroDigit()) {
+            errln("ERROR: get/set ZeroDigit failed");
+        }
+    
+        char group = en.getGroupingSeparator();
+        fr.setGroupingSeparator(group);
+        if (fr.getGroupingSeparator() != en.getGroupingSeparator()) {
+            errln("ERROR: get/set GroupingSeparator failed");
+        }
+    
+        char decimal = en.getDecimalSeparator();
+        fr.setDecimalSeparator(decimal);
+        if (fr.getDecimalSeparator() != en.getDecimalSeparator()) {
+            errln("ERROR: get/set DecimalSeparator failed");
+        }
+    
+        char perMill = en.getPerMill();
+        fr.setPerMill(perMill);
+        if (fr.getPerMill() != en.getPerMill()) {
+            errln("ERROR: get/set PerMill failed");
+        }
+    
+        char percent = en.getPercent();
+        fr.setPercent(percent);
+        if (fr.getPercent() != en.getPercent()) {
+            errln("ERROR: get/set Percent failed");
+        }
+    
+        char digit = en.getDigit();
+        fr.setDigit(digit);
+        if (fr.getPercent() != en.getPercent()) {
+            errln("ERROR: get/set Percent failed");
+        }
+    
+        char patternSeparator = en.getPatternSeparator();
+        fr.setPatternSeparator(patternSeparator);
+        if (fr.getPatternSeparator() != en.getPatternSeparator()) {
+            errln("ERROR: get/set PatternSeparator failed");
+        }
+    
+        String infinity = en.getInfinity();
+        fr.setInfinity(infinity);
+        String infinity2 = fr.getInfinity();
+        if (!infinity.equals(infinity2)) {
+            errln("ERROR: get/set Infinity failed");
+        }
+    
+        String nan = en.getNaN();
+        fr.setNaN(nan);
+        String nan2 = fr.getNaN();
+        if (!nan.equals(nan2)) {
+            errln("ERROR: get/set NaN failed");
+        }
+    
+        char minusSign = en.getMinusSign();
+        fr.setMinusSign(minusSign);
+        if (fr.getMinusSign() != en.getMinusSign()) {
+            errln("ERROR: get/set MinusSign failed");
+        }
+    
+        //        char exponential = en.getExponentialSymbol();
+        //        fr.setExponentialSymbol(exponential);
+        //        if(fr.getExponentialSymbol() != en.getExponentialSymbol()) {
+        //            errln("ERROR: get/set Exponential failed");
+        //        }
+    
+        //DecimalFormatSymbols foo = new DecimalFormatSymbols(); //The variable is never used
+    
+        en = (DecimalFormatSymbols) fr.clone();
+    
+        if (!en.equals(fr)) {
+            errln("ERROR: Clone failed");
+        }
+        
+        DecimalFormatSymbols sym = new DecimalFormatSymbols(Locale.US);
+    
+        verify(34.5, "00.00", sym, "34.50");
+        sym.setDecimalSeparator('S');
+        verify(34.5, "00.00", sym, "34S50");
+        sym.setPercent('P');
+        verify(34.5, "00 %", sym, "3450 P");
+        sym.setCurrencySymbol("D");
+        verify(34.5, "\u00a4##.##", sym, "D34.5");
+        sym.setGroupingSeparator('|');
+        verify(3456.5, "0,000.##", sym, "3|456S5");
+    }
+    
+    /** helper functions**/
+    public void verify(double value, String pattern, DecimalFormatSymbols sym, String expected) {
+        DecimalFormat df = new DecimalFormat(pattern, sym);
+        StringBuffer buffer = new StringBuffer("");
+        FieldPosition pos = new FieldPosition(-1);
+        buffer = df.format(value, buffer, pos);
+        if(!buffer.toString().equals(expected)){
+            errln("ERROR: format failed after setSymbols()\n Expected" + 
+                expected + ", Got " + buffer);
+        }
+    }
+}
\ No newline at end of file
diff --git a/src/com/ibm/icu/dev/test/format/IntlTestNumberFormat.java b/src/com/ibm/icu/dev/test/format/IntlTestNumberFormat.java
new file mode 100755
index 0000000..c278451
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/format/IntlTestNumberFormat.java
@@ -0,0 +1,289 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2001-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+/** 
+ * Port From:   ICU4C v1.8.1 : format : IntlTestNumberFormat
+ * Source File: $ICU4CRoot/source/test/intltest/tsnmfmt.cpp
+ **/
+
+package com.ibm.icu.dev.test.format;
+import java.util.Locale;
+import java.util.Random;
+
+import com.ibm.icu.text.*;
+
+/**
+ * This test does round-trip testing (format -> parse -> format -> parse -> etc.) of
+ * NumberFormat.
+ */
+public class IntlTestNumberFormat extends com.ibm.icu.dev.test.TestFmwk {
+    
+    public NumberFormat fNumberFormat;
+
+    public static void main(String[] args) throws Exception {
+        new IntlTestNumberFormat().run(args);
+    }
+    
+    /**
+     * Internal use
+     */
+    public void _testLocale(Locale locale) {
+        String localeName = locale + " (" + locale.getDisplayName() + ")";
+            
+        logln("Number test " + localeName);
+        fNumberFormat = NumberFormat.getInstance(locale);
+        _testFormat();
+    
+        logln("Currency test " + localeName);
+        fNumberFormat = NumberFormat.getCurrencyInstance(locale);
+        _testFormat();
+    
+        logln("Percent test " + localeName);
+        fNumberFormat = NumberFormat.getPercentInstance(locale);
+        _testFormat();
+    }
+    
+    /**
+     * call _testFormat for currency, percent and plain number instances
+     */
+    public void TestLocale() {
+        Locale locale = Locale.getDefault();
+        String localeName = locale + " (" + locale.getDisplayName() + ")";
+            
+        logln("Number test " + localeName);
+        fNumberFormat = NumberFormat.getInstance(locale);
+        _testFormat();
+    
+        logln("Currency test " + localeName);
+        fNumberFormat = NumberFormat.getCurrencyInstance(locale);
+        _testFormat();
+    
+        logln("Percent test " + localeName);
+        fNumberFormat = NumberFormat.getPercentInstance(locale);
+        _testFormat();
+    }
+    
+    /**
+     * call tryIt with many variations, called by testLocale
+     */
+    public void _testFormat() {
+        
+        if (fNumberFormat == null){
+            errln("**** FAIL: Null format returned by createXxxInstance.");
+             return;
+        }
+        DecimalFormat s = (DecimalFormat)fNumberFormat;
+        logln("pattern :" + s.toPattern());
+    
+        tryIt(-2.02147304840132e-68);
+        tryIt(3.88057859588817e-68); 
+        tryIt(-2.64651110485945e+65);
+        tryIt(9.29526819488338e+64);
+    
+        tryIt(-2.02147304840132e-100);
+        tryIt(3.88057859588817e-096); 
+        tryIt(-2.64651110485945e+306);
+        tryIt(9.29526819488338e+250); 
+    
+        tryIt(-9.18228054496402e+64);
+        tryIt(-9.69413034454191e+64);
+    
+        tryIt(-9.18228054496402e+255);
+        tryIt(-9.69413034454191e+273);
+    
+    
+        tryIt(1.234e-200);
+        tryIt(-2.3e-168);
+    
+        tryIt(Double.NaN);
+        tryIt(Double.POSITIVE_INFINITY);
+        tryIt(Double.NEGATIVE_INFINITY);
+    
+        tryIt(251887531);
+        tryIt(5e-20 / 9);
+        tryIt(5e20 / 9);
+        tryIt(1.234e-50);
+        tryIt(9.99999999999996);
+        tryIt(9.999999999999996);
+    
+        tryIt(Integer.MIN_VALUE);
+        tryIt(Integer.MAX_VALUE);
+        tryIt((double)Integer.MIN_VALUE);
+        tryIt((double)Integer.MAX_VALUE);
+        tryIt((double)Integer.MIN_VALUE - 1.0);
+        tryIt((double)Integer.MAX_VALUE + 1.0);
+    
+        tryIt(5.0 / 9.0 * 1e-20);
+        tryIt(4.0 / 9.0 * 1e-20);
+        tryIt(5.0 / 9.0 * 1e+20);
+        tryIt(4.0 / 9.0 * 1e+20);
+    
+        tryIt(2147483647.);
+        tryIt(0);
+        tryIt(0.0);
+        tryIt(1);
+        tryIt(10);
+        tryIt(100);
+        tryIt(-1);
+        tryIt(-10);
+        tryIt(-100);
+        tryIt(-1913860352);
+    
+        Random random = createRandom(); // use test framework's random seed
+        for (int j = 0; j < 10; j++) {
+            double d = random.nextDouble()*2e10 - 1e10;
+            tryIt(d);
+            
+        }
+    }
+    
+    /**
+     * Perform tests using aNumber and fNumberFormat, called in many variations
+     */
+    public void tryIt(double aNumber) {    
+        final int DEPTH = 10;
+        double[] number = new double[DEPTH];
+        String[] string = new String[DEPTH];
+        int numberMatch = 0;
+        int stringMatch = 0;
+        boolean dump = false;
+        int i;
+    
+        for (i = 0; i < DEPTH; i++) {
+            if (i == 0) {
+                number[i] = aNumber;
+            } else {
+                try {
+                    number[i - 1] = fNumberFormat.parse(string[i - 1]).doubleValue();
+                } catch(java.text.ParseException pe) {
+                    errln("**** FAIL: Parse of " + string[i-1] + " failed.");
+                    dump = true;
+                    break;
+                }
+            }
+    
+            string[i] = fNumberFormat.format(number[i]);
+            if (i > 0)
+            {
+                if (numberMatch == 0 && number[i] == number[i-1])
+                    numberMatch = i;
+                else if (numberMatch > 0 && number[i] != number[i-1])
+                {
+                    errln("**** FAIL: Numeric mismatch after match.");
+                    dump = true;
+                    break;
+                }
+                if (stringMatch == 0 && string[i] == string[i-1])
+                    stringMatch = i;
+                else if (stringMatch > 0 && string[i] != string[i-1])
+                {
+                    errln("**** FAIL: String mismatch after match.");
+                    dump = true;
+                    break;
+                }
+            }
+            if (numberMatch > 0 && stringMatch > 0)
+                break;
+    
+            if (i == DEPTH)
+            --i;
+    
+        if (stringMatch > 2 || numberMatch > 2)
+        {
+            errln("**** FAIL: No string and/or number match within 2 iterations.");
+            dump = true;
+        }
+    
+        if (dump)
+        {
+            for (int k=0; k<=i; ++k)
+            {
+                logln(k + ": " + number[k] + " F> " +
+                      string[k] + " P> ");
+            }
+        }
+        }
+    }
+    
+    /**
+     *  perform tests using aNumber and fNumberFormat, called in many variations
+     **/
+    public void tryIt(int aNumber) {
+        long number;
+        
+        String stringNum = fNumberFormat.format(aNumber);
+        try {
+            number = fNumberFormat.parse(stringNum).longValue();
+        } catch (java.text.ParseException pe) {
+            errln("**** FAIL: Parse of " + stringNum + " failed.");
+            return;
+        }
+    
+        if (number != aNumber) {
+            errln("**** FAIL: Parse of " + stringNum + " failed. Got:" + number
+                + " Expected:" + aNumber);
+        }
+        
+    }
+    
+    /**
+     *  test NumberFormat::getAvailableLocales
+     **/
+    public void TestAvailableLocales() {
+        final Locale[] locales = NumberFormat.getAvailableLocales();
+        int count = locales.length;
+        logln(count + " available locales");
+        if (count != 0)
+        {
+            String all = "";
+            for (int i = 0; i< count; ++i)
+            {
+                if (i!=0)
+                    all += ", ";
+                all += locales[i].getDisplayName();
+            }
+            logln(all);
+        }
+        else
+            errln("**** FAIL: Zero available locales or null array pointer");
+    }
+    
+    /**
+     *  call testLocale for all locales
+     **/    
+    public void TestMonster() {
+        final String SEP = "============================================================\n";
+        int count;
+        final Locale[] allLocales = NumberFormat.getAvailableLocales();
+        Locale[] locales = allLocales;
+        count = locales.length;
+        if (count != 0)
+        {
+            if (getInclusion() < 10 && count > 6) {
+                count = 6;
+                locales = new Locale[6];
+                locales[0] = allLocales[0];
+                locales[1] = allLocales[1];
+                locales[2] = allLocales[2];
+                // In a quick test, make sure we test locales that use
+                // currency prefix, currency suffix, and choice currency
+                // logic.  Otherwise bugs in these areas can slip through.
+                locales[3] = new Locale("ar", "AE", "");
+                locales[4] = new Locale("cs", "CZ", "");
+                locales[5] = new Locale("en", "IN", "");
+            }
+            for (int i=0; i<count; ++i)
+            {
+                String name = locales[i].getDisplayName();
+                logln(SEP);
+                _testLocale(locales[i]);
+            }
+        }
+    
+        logln(SEP);
+    }
+}
diff --git a/src/com/ibm/icu/dev/test/format/IntlTestNumberFormatAPI.java b/src/com/ibm/icu/dev/test/format/IntlTestNumberFormatAPI.java
new file mode 100755
index 0000000..8129ebc
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/format/IntlTestNumberFormatAPI.java
@@ -0,0 +1,225 @@
+/*****************************************************************************************
+ *
+ *   Copyright (C) 1996-2005, International Business Machines
+ *   Corporation and others.  All Rights Reserved.
+ **/
+
+/** 
+ * Port From:   JDK 1.4b1 : java.text.Format.IntlTestNumberFormatAPI
+ * Source File: java/text/format/IntlTestNumberFormatAPI.java
+ **/
+
+/*
+    @test 1.4 98/03/06
+    @summary test International Number Format API
+*/
+
+package com.ibm.icu.dev.test.format;
+
+import com.ibm.icu.text.*;
+import com.ibm.icu.util.ULocale;
+
+import java.util.Locale;
+import java.util.Set;
+import java.math.BigDecimal;
+import java.math.BigInteger;
+import java.text.FieldPosition;
+import java.text.ParsePosition;
+import java.text.ParseException;
+
+public class IntlTestNumberFormatAPI extends com.ibm.icu.dev.test.TestFmwk
+{
+    public static void main(String[] args) throws Exception {
+        new IntlTestNumberFormatAPI().run(args);
+    }
+
+    // This test checks various generic API methods in DecimalFormat to achieve 100% API coverage.
+    public void TestAPI()
+    {
+        logln("NumberFormat API test---"); logln("");
+        Locale.setDefault(Locale.ENGLISH);
+
+        // ======= Test constructors
+
+        logln("Testing NumberFormat constructors");
+
+        NumberFormat def = NumberFormat.getInstance();
+
+        NumberFormat fr = NumberFormat.getInstance(Locale.FRENCH);
+
+        NumberFormat cur = NumberFormat.getCurrencyInstance();
+
+        NumberFormat cur_fr = NumberFormat.getCurrencyInstance(Locale.FRENCH);
+
+        NumberFormat per = NumberFormat.getPercentInstance();
+
+        NumberFormat per_fr = NumberFormat.getPercentInstance(Locale.FRENCH);
+        
+        NumberFormat integer = NumberFormat.getIntegerInstance();
+        
+        NumberFormat int_fr = NumberFormat.getIntegerInstance(Locale.FRENCH);
+        
+        //Fix "The variable is never used" compilation warnings
+        logln("Currency : " + cur.format(1234.5));
+        logln("Percent : " + per.format(1234.5));
+        logln("Integer : " + integer.format(1234.5));
+        logln("Int_fr : " + int_fr.format(1234.5));
+        
+        // ======= Test equality
+
+        logln("Testing equality operator");
+
+        if( per_fr.equals(cur_fr) ) {
+            errln("ERROR: == failed");
+        }
+
+        // ======= Test various format() methods
+
+        logln("Testing various format() methods");
+
+//        final double d = -10456.0037; // this appears as -10456.003700000001 on NT
+//        final double d = -1.04560037e-4; // this appears as -1.0456003700000002E-4 on NT
+        final double d = -10456.00370000000000; // this works!
+        final long l = 100000000;
+
+        String res1 = new String();
+        String res2 = new String();
+        StringBuffer res3 = new StringBuffer();
+        StringBuffer res4 = new StringBuffer();
+        StringBuffer res5 = new StringBuffer();
+        StringBuffer res6 = new StringBuffer();
+        FieldPosition pos1 = new FieldPosition(0);
+        FieldPosition pos2 = new FieldPosition(0);
+        FieldPosition pos3 = new FieldPosition(0);
+        FieldPosition pos4 = new FieldPosition(0);
+
+        res1 = cur_fr.format(d);
+        logln( "" + d + " formatted to " + res1);
+
+        res2 = cur_fr.format(l);
+        logln("" + l + " formatted to " + res2);
+
+        res3 = cur_fr.format(d, res3, pos1);
+        logln( "" + d + " formatted to " + res3);
+
+        res4 = cur_fr.format(l, res4, pos2);
+        logln("" + l + " formatted to " + res4);
+
+        res5 = cur_fr.format(d, res5, pos3);
+        logln("" + d + " formatted to " + res5);
+
+        res6 = cur_fr.format(l, res6, pos4);
+        logln("" + l + " formatted to " + res6);
+
+
+        // ======= Test parse()
+
+        logln("Testing parse()");
+
+//        String text = new String("-10,456.0037");
+        String text = new String("-10456,0037");
+        ParsePosition pos = new ParsePosition(0);
+        ParsePosition pos01 = new ParsePosition(0);
+        double d1 = ((Number)fr.parseObject(text, pos)).doubleValue();
+        if(d1 != d) {
+            errln("ERROR: Roundtrip failed (via parse()) for " + text);
+        }
+        logln(text + " parsed into " + d1);
+
+        double d2 = fr.parse(text, pos01).doubleValue();
+        if(d2 != d) {
+            errln("ERROR: Roundtrip failed (via parse()) for " + text);
+        }
+        logln(text + " parsed into " + d2);
+
+        double d3 = 0;
+        try {
+            d3 = fr.parse(text).doubleValue();
+        }
+        catch (ParseException e) {
+            errln("ERROR: parse() failed");
+        }
+        if(d3 != d) {
+            errln("ERROR: Roundtrip failed (via parse()) for " + text);
+        }
+        logln(text + " parsed into " + d3);
+
+
+        // ======= Test getters and setters
+
+        logln("Testing getters and setters");
+
+        final Locale[] locales = NumberFormat.getAvailableLocales();
+        long count = locales.length;
+        logln("Got " + count + " locales" );
+        for(int i = 0; i < count; i++) {
+            String name;
+            name = locales[i].getDisplayName();
+            logln(name);
+        }
+
+        fr.setParseIntegerOnly( def.isParseIntegerOnly() );
+        if(fr.isParseIntegerOnly() != def.isParseIntegerOnly() ) {
+                errln("ERROR: setParseIntegerOnly() failed");
+        }
+
+        fr.setGroupingUsed( def.isGroupingUsed() );
+        if(fr.isGroupingUsed() != def.isGroupingUsed() ) {
+                errln("ERROR: setGroupingUsed() failed");
+        }
+
+        fr.setMaximumIntegerDigits( def.getMaximumIntegerDigits() );
+        if(fr.getMaximumIntegerDigits() != def.getMaximumIntegerDigits() ) {
+                errln("ERROR: setMaximumIntegerDigits() failed");
+        }
+
+        fr.setMinimumIntegerDigits( def.getMinimumIntegerDigits() );
+        if(fr.getMinimumIntegerDigits() != def.getMinimumIntegerDigits() ) {
+                errln("ERROR: setMinimumIntegerDigits() failed");
+        }
+
+        fr.setMaximumFractionDigits( def.getMaximumFractionDigits() );
+        if(fr.getMaximumFractionDigits() != def.getMaximumFractionDigits() ) {
+                errln("ERROR: setMaximumFractionDigits() failed");
+        }
+
+        fr.setMinimumFractionDigits( def.getMinimumFractionDigits() );
+        if(fr.getMinimumFractionDigits() != def.getMinimumFractionDigits() ) {
+                errln("ERROR: setMinimumFractionDigits() failed");
+        }
+
+        // ======= Test getStaticClassID()
+
+//        logln("Testing instanceof()");
+
+//        try {
+//            NumberFormat test = new DecimalFormat();
+
+//            if (! (test instanceof DecimalFormat)) {
+//                errln("ERROR: instanceof failed");
+//            }
+//        }
+//        catch (Exception e) {
+//            errln("ERROR: Couldn't create a DecimalFormat");
+//        }
+    }
+    
+    // Jitterbug 4451, for coverage
+    public void TestCoverage(){
+        class StubNumberFormat extends NumberFormat{
+            public void run(){
+                String p = NumberFormat.getPattern(ULocale.getDefault().toLocale(),0);
+                if (!p.equals(NumberFormat.getPattern(ULocale.getDefault(),0))){
+                    errln("NumberFormat.getPattern(Locale, int) should delegate to (ULocale,)");
+                }
+            }
+            public StringBuffer format(double number, StringBuffer toAppendTo, FieldPosition pos) {return null;}
+            public StringBuffer format(long number, StringBuffer toAppendTo, FieldPosition pos) {return null;}
+            public StringBuffer format(BigInteger number, StringBuffer toAppendTo, FieldPosition pos) {return null;}
+            public StringBuffer format(BigDecimal number, StringBuffer toAppendTo, FieldPosition pos) {return null;}
+            public StringBuffer format(com.ibm.icu.math.BigDecimal number, StringBuffer toAppendTo, FieldPosition pos) {return null;}
+            public Number parse(String text, ParsePosition parsePosition) {return null;}
+        }
+        new StubNumberFormat().run();
+    }
+}
diff --git a/src/com/ibm/icu/dev/test/format/IntlTestSimpleDateFormatAPI.java b/src/com/ibm/icu/dev/test/format/IntlTestSimpleDateFormatAPI.java
new file mode 100755
index 0000000..c27590f
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/format/IntlTestSimpleDateFormatAPI.java
@@ -0,0 +1,183 @@
+/*****************************************************************************************
+ * (C) Copyright Taligent, Inc. 1996, 1997 - All Rights Reserved
+ * (C) Copyright IBM Corp. 1996-2005 - All Rights Reserved
+ *
+ *   The original version of this source code and documentation is copyrighted and
+ * owned by Taligent, Inc., a wholly-owned subsidiary of IBM. These materials are
+ * provided under terms of a License Agreement between Taligent and Sun. This
+ * technology is protected by multiple US and International patents. This notice and
+ * attribution to Taligent may not be removed.
+ *   Taligent is a registered trademark of Taligent, Inc.
+ **/
+
+/** 
+ * Port From:   JDK 1.4b1 : java.text.Format.IntlTestSimpleDateFormatAPI
+ * Source File: java/text/format/IntlTestSimpleDateFormatAPI.java
+ **/
+ 
+/*
+    @test 1.4 98/03/06
+    @summary test International Simple Date Format API
+*/
+
+package com.ibm.icu.dev.test.format;
+
+import com.ibm.icu.text.*;
+import java.util.Locale;
+import java.util.Date;
+import java.text.ParsePosition;
+import java.text.Format;
+import java.text.FieldPosition;
+import java.text.ParseException;
+
+public class IntlTestSimpleDateFormatAPI extends com.ibm.icu.dev.test.TestFmwk
+{
+    public static void main(String[] args) throws Exception {
+        new IntlTestSimpleDateFormatAPI().run(args);
+    }
+
+    // This test checks various generic API methods in DecimalFormat to achieve 100% API coverage.
+    public void TestAPI()
+    {
+        logln("SimpleDateFormat API test---"); logln("");
+
+        Locale.setDefault(Locale.ENGLISH);
+
+        // ======= Test constructors
+
+        logln("Testing SimpleDateFormat constructors");
+
+        SimpleDateFormat def = new SimpleDateFormat();
+
+        final String pattern = new String("yyyy.MM.dd G 'at' hh:mm:ss z");
+        SimpleDateFormat pat = new SimpleDateFormat(pattern);
+
+        SimpleDateFormat pat_fr = new SimpleDateFormat(pattern, Locale.FRENCH);
+
+        DateFormatSymbols symbols = new DateFormatSymbols(Locale.FRENCH);
+
+        SimpleDateFormat cust1 = new SimpleDateFormat(pattern, symbols);
+
+        // ======= Test clone() and equality
+
+        logln("Testing clone(), assignment and equality operators");
+
+        Format clone = (Format) def.clone();
+        if( ! clone.equals(def) ) {
+            errln("ERROR: Format clone or equals failed");
+        }
+
+        // ======= Test various format() methods
+
+        logln("Testing various format() methods");
+
+        Date d = new Date((long)837039928046.0);
+
+        StringBuffer res1 = new StringBuffer();
+        StringBuffer res2 = new StringBuffer();
+        FieldPosition pos1 = new FieldPosition(0);
+        FieldPosition pos2 = new FieldPosition(0);
+
+        res1 = def.format(d, res1, pos1);
+        logln( "" + d.getTime() + " formatted to " + res1);
+
+        res2 = cust1.format(d, res2, pos2);
+        logln("" + d.getTime() + " formatted to " + res2);
+
+        // ======= Test parse()
+
+        logln("Testing parse()");
+
+        String text = new String("02/03/76 2:50 AM, CST");
+        Date result1 = new Date();
+        Date result2 = new Date();
+        ParsePosition pos= new ParsePosition(0);
+        result1 = def.parse(text, pos);
+        logln(text + " parsed into " + result1);
+
+        try {
+            result2 = def.parse(text);
+        }
+        catch (ParseException e) {
+            errln("ERROR: parse() failed");
+        }
+        logln(text + " parsed into " + result2);
+
+        // ======= Test getters and setters
+
+        logln("Testing getters and setters");
+
+        final DateFormatSymbols syms = pat.getDateFormatSymbols();
+        def.setDateFormatSymbols(syms);
+        pat_fr.setDateFormatSymbols(syms);
+        if( ! pat.getDateFormatSymbols().equals(def.getDateFormatSymbols()) ) {
+            errln("ERROR: set DateFormatSymbols() failed");
+        }
+
+        /*
+        DateFormatSymbols has not the method getTwoDigitStartDate();
+        //Date startDate = null; //The variable is never used
+        try {
+//            startDate = pat.getTwoDigitStartDate();
+        }
+        catch (Exception e) {
+            errln("ERROR: getTwoDigitStartDate() failed");
+        }
+
+        try {
+//            pat_fr.setTwoDigitStartDate(startDate);
+        }
+        catch (Exception e) {
+            errln("ERROR: setTwoDigitStartDate() failed");
+        }*/
+
+        // ======= Test applyPattern()
+
+        logln("Testing applyPattern()");
+
+        String p1 = new String("yyyy.MM.dd G 'at' hh:mm:ss z");
+        logln("Applying pattern " + p1);
+        pat.applyPattern(p1);
+
+        String s2 = pat.toPattern();
+        logln("Extracted pattern is " + s2);
+        if( ! s2.equals(p1) ) {
+            errln("ERROR: toPattern() result did not match pattern applied");
+        }
+
+        logln("Applying pattern " + p1);
+        pat.applyLocalizedPattern(p1);
+        String s3 = pat.toLocalizedPattern();
+        logln("Extracted pattern is " + s3);
+        if( ! s3.equals(p1) ) {
+            errln("ERROR: toLocalizedPattern() result did not match pattern applied");
+        }
+
+        // ======= Test getStaticClassID()
+
+//        logln("Testing instanceof");
+
+//        try {
+//            DateFormat test = new SimpleDateFormat();
+
+//            if (! (test instanceof SimpleDateFormat)) {
+//                errln("ERROR: instanceof failed");
+//            }
+//        }
+//        catch (Exception e) {
+//            errln("ERROR: Couldn't create a SimpleDateFormat");
+//        }
+    }
+    
+    // Jitterbug 4451, for coverage
+    public void TestCoverage(){
+        class StubDateFormat extends SimpleDateFormat{
+            public void run(){
+                if (!zeroPaddingNumber(12, 4, 6).equals("0012")){
+                    errln("SimpleDateFormat(zeroPaddingNumber(long , int , int )");
+                }
+            }
+        }
+        new StubDateFormat().run();
+    }
+}
diff --git a/src/com/ibm/icu/dev/test/format/MessageRegression.java b/src/com/ibm/icu/dev/test/format/MessageRegression.java
new file mode 100644
index 0000000..6af6f1f
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/format/MessageRegression.java
@@ -0,0 +1,629 @@
+/*
+**********************************************************************
+* Copyright (c) 2005, International Business Machines
+* Corporation and others.  All Rights Reserved.
+**********************************************************************
+* Author: Alan Liu
+* Created: April 12, 2004
+* Since: ICU 3.0
+**********************************************************************
+*/
+/**
+ * MessageRegression.java
+ *
+ * @test 1.29 01/03/12
+ * @bug 4031438 4058973 4074764 4094906 4104976 4105380 4106659 4106660 4106661
+ * 4111739 4112104 4113018 4114739 4114743 4116444 4118592 4118594 4120552
+ * 4142938 4169959 4232154 4293229
+ * @summary Regression tests for MessageFormat and associated classes
+ */
+/*
+(C) Copyright Taligent, Inc. 1996 - All Rights Reserved
+(C) Copyright IBM Corp. 1996 - All Rights Reserved
+
+  The original version of this source code and documentation is copyrighted and
+owned by Taligent, Inc., a wholly-owned subsidiary of IBM. These materials are
+provided under terms of a License Agreement between Taligent and Sun. This
+technology is protected by multiple US and International patents. This notice and
+attribution to Taligent may not be removed.
+  Taligent is a registered trademark of Taligent, Inc.
+*/
+package com.ibm.icu.dev.test.format;
+
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
+import java.text.ChoiceFormat;
+import java.text.ParsePosition;
+import java.util.Date;
+import java.util.Locale;
+
+import com.ibm.icu.text.MessageFormat;
+
+public class MessageRegression extends com.ibm.icu.dev.test.TestFmwk {
+
+    public static void main(String[] args) throws Exception {
+        new MessageRegression().run(args);
+    }
+
+    /* @bug 4074764
+     * Null exception when formatting pattern with MessageFormat
+     * with no parameters.
+     */
+    public void Test4074764() {
+        String[] pattern = {"Message without param",
+        "Message with param:{0}",
+        "Longer Message with param {0}"};
+        //difference between the two param strings are that
+        //in the first one, the param position is within the
+        //length of the string without param while it is not so
+        //in the other case.
+
+        MessageFormat messageFormatter = new MessageFormat("");
+
+        try {
+            //Apply pattern with param and print the result
+            messageFormatter.applyPattern(pattern[1]);
+            Object[] params = {new String("BUG"), new Date()};
+            String tempBuffer = messageFormatter.format(params);
+            if (!tempBuffer.equals("Message with param:BUG"))
+                errln("MessageFormat with one param test failed.");
+            logln("Formatted with one extra param : " + tempBuffer);
+
+            //Apply pattern without param and print the result
+            messageFormatter.applyPattern(pattern[0]);
+            tempBuffer = messageFormatter.format(null);
+            if (!tempBuffer.equals("Message without param"))
+                errln("MessageFormat with no param test failed.");
+            logln("Formatted with no params : " + tempBuffer);
+
+             tempBuffer = messageFormatter.format(params);
+             if (!tempBuffer.equals("Message without param"))
+                errln("Formatted with arguments > subsitution failed. result = " + tempBuffer.toString());
+             logln("Formatted with extra params : " + tempBuffer);
+            //This statement gives an exception while formatting...
+            //If we use pattern[1] for the message with param,
+            //we get an NullPointerException in MessageFormat.java(617)
+            //If we use pattern[2] for the message with param,
+            //we get an StringArrayIndexOutOfBoundsException in MessageFormat.java(614)
+            //Both are due to maxOffset not being reset to -1
+            //in applyPattern() when the pattern does not
+            //contain any param.
+        } catch (Exception foo) {
+            errln("Exception when formatting with no params.");
+        }
+    }
+
+    /* @bug 4058973
+     * MessageFormat.toPattern has weird rounding behavior.
+     */
+    public void Test4058973() {
+
+        MessageFormat fmt = new MessageFormat("{0,choice,0#no files|1#one file|1< {0,number,integer} files}");
+        String pat = fmt.toPattern();
+        if (!pat.equals("{0,choice,0.0#no files|1.0#one file|1.0< {0,number,integer} files}")) {
+            errln("MessageFormat.toPattern failed");
+        }
+    }
+    /* @bug 4031438
+     * More robust message formats.
+     */
+    public void Test4031438() {
+        String pattern1 = "Impossible {1} has occurred -- status code is {0} and message is {2}.";
+        String pattern2 = "Double '' Quotes {0} test and quoted '{1}' test plus 'other {2} stuff'.";
+
+        MessageFormat messageFormatter = new MessageFormat("");
+
+        try {
+            logln("Apply with pattern : " + pattern1);
+            messageFormatter.applyPattern(pattern1);
+            Object[] params = {new Integer(7)};
+            String tempBuffer = messageFormatter.format(params);
+            if (!tempBuffer.equals("Impossible {1} has occurred -- status code is 7 and message is {2}."))
+                errln("Tests arguments < substitution failed");
+            logln("Formatted with 7 : " + tempBuffer);
+            ParsePosition status = new ParsePosition(0);
+            Object[] objs = messageFormatter.parse(tempBuffer, status);
+            if (objs[params.length] != null)
+                errln("Parse failed with more than expected arguments");
+            for (int i = 0; i < objs.length; i++) {
+                if (objs[i] != null && !objs[i].toString().equals(params[i].toString())) {
+                    errln("Parse failed on object " + objs[i] + " at index : " + i);
+                }
+            }
+            tempBuffer = messageFormatter.format(null);
+            if (!tempBuffer.equals("Impossible {1} has occurred -- status code is {0} and message is {2}."))
+                errln("Tests with no arguments failed");
+            logln("Formatted with null : " + tempBuffer);
+            logln("Apply with pattern : " + pattern2);
+            messageFormatter.applyPattern(pattern2);
+            tempBuffer = messageFormatter.format(params);
+            if (!tempBuffer.equals("Double ' Quotes 7 test and quoted {1} test plus other {2} stuff."))
+                errln("quote format test (w/ params) failed.");
+            logln("Formatted with params : " + tempBuffer);
+            tempBuffer = messageFormatter.format(null);
+            if (!tempBuffer.equals("Double ' Quotes {0} test and quoted {1} test plus other {2} stuff."))
+                errln("quote format test (w/ null) failed.");
+            logln("Formatted with null : " + tempBuffer);
+            logln("toPattern : " + messageFormatter.toPattern());
+        } catch (Exception foo) {
+            warnln("Exception when formatting in bug 4031438. "+foo.getMessage());
+        }
+    }
+    public void Test4052223()
+    {
+        ParsePosition pos = new ParsePosition(0);
+        if (pos.getErrorIndex() != -1) {
+            errln("ParsePosition.getErrorIndex initialization failed.");
+        }
+        MessageFormat fmt = new MessageFormat("There are {0} apples growing on the {1} tree.");
+        String str = new String("There is one apple growing on the peach tree.");
+        Object[] objs = fmt.parse(str, pos);
+        logln("unparsable string , should fail at " + pos.getErrorIndex());
+        if (pos.getErrorIndex() == -1)
+            errln("Bug 4052223 failed : parsing string " + str);
+        pos.setErrorIndex(4);
+        if (pos.getErrorIndex() != 4)
+            errln("setErrorIndex failed, got " + pos.getErrorIndex() + " instead of 4");
+        ChoiceFormat f = new ChoiceFormat(
+            "-1#are negative|0#are no or fraction|1#is one|1.0<is 1+|2#are two|2<are more than 2.");
+        pos.setIndex(0); pos.setErrorIndex(-1);
+        Number obj = f.parse("are negative", pos);
+        if (pos.getErrorIndex() != -1 && obj.doubleValue() == -1.0)
+            errln("Parse with \"are negative\" failed, at " + pos.getErrorIndex());
+        pos.setIndex(0); pos.setErrorIndex(-1);
+        obj = f.parse("are no or fraction ", pos);
+        if (pos.getErrorIndex() != -1 && obj.doubleValue() == 0.0)
+            errln("Parse with \"are no or fraction\" failed, at " + pos.getErrorIndex());
+        pos.setIndex(0); pos.setErrorIndex(-1);
+        obj = f.parse("go postal", pos);
+        if (pos.getErrorIndex() == -1 && !Double.isNaN(obj.doubleValue()))
+            errln("Parse with \"go postal\" failed, at " + pos.getErrorIndex());
+    }
+    /* @bug 4104976
+     * ChoiceFormat.equals(null) throws NullPointerException
+     */
+    public void Test4104976()
+    {
+        double[] limits = {1, 20};
+        String[] formats = {"xyz", "abc"};
+        ChoiceFormat cf = new ChoiceFormat(limits, formats);
+        try {
+            log("Compares to null is always false, returned : ");
+            logln(cf.equals(null) ? "TRUE" : "FALSE");
+        } catch (Exception foo) {
+            errln("ChoiceFormat.equals(null) throws exception.");
+        }
+    }
+    /* @bug 4106659
+     * ChoiceFormat.ctor(double[], String[]) doesn't check
+     * whether lengths of input arrays are equal.
+     */
+    public void Test4106659()
+    {
+        double[] limits = {1, 2, 3};
+        String[] formats = {"one", "two"};
+        ChoiceFormat cf = null;
+        try {
+            cf = new ChoiceFormat(limits, formats);
+        } catch (Exception foo) {
+            logln("ChoiceFormat constructor should check for the array lengths");
+            cf = null;
+        }
+        if (cf != null) errln(cf.format(5));
+    }
+
+    /* @bug 4106660
+     * ChoiceFormat.ctor(double[], String[]) allows unordered double array.
+     * This is not a bug, added javadoc to emphasize the use of limit
+     * array must be in ascending order.
+     */
+    public void Test4106660()
+    {
+        double[] limits = {3, 1, 2};
+        String[] formats = {"Three", "One", "Two"};
+        ChoiceFormat cf = new ChoiceFormat(limits, formats);
+        double d = 5.0;
+        String str = cf.format(d);
+        if (!str.equals("Two"))
+            errln("format(" + d + ") = " + cf.format(d));
+    }
+
+    /* @bug 4111739
+     * MessageFormat is incorrectly serialized/deserialized.
+     */
+    public void Test4111739()
+    {
+        MessageFormat format1 = null;
+        MessageFormat format2 = null;
+        ObjectOutputStream ostream = null;
+        ByteArrayOutputStream baos = null;
+        ObjectInputStream istream = null;
+
+        try {
+            baos = new ByteArrayOutputStream();
+            ostream = new ObjectOutputStream(baos);
+        } catch(IOException e) {
+            errln("Unexpected exception : " + e.getMessage());
+            return;
+        }
+
+        try {
+            format1 = new MessageFormat("pattern{0}");
+            ostream.writeObject(format1);
+            ostream.flush();
+
+            byte bytes[] = baos.toByteArray();
+
+            istream = new ObjectInputStream(new ByteArrayInputStream(bytes));
+            format2 = (MessageFormat)istream.readObject();
+        } catch(Exception e) {
+            errln("Unexpected exception : " + e.getMessage());
+        }
+
+        if (!format1.equals(format2)) {
+            errln("MessageFormats before and after serialization are not" +
+                " equal\nformat1 = " + format1 + "(" + format1.toPattern() + ")\nformat2 = " +
+                format2 + "(" + format2.toPattern() + ")");
+        } else {
+            logln("Serialization for MessageFormat is OK.");
+        }
+    }
+    /* @bug 4114743
+     * MessageFormat.applyPattern allows illegal patterns.
+     */
+    public void Test4114743()
+    {
+        String originalPattern = "initial pattern";
+        MessageFormat mf = new MessageFormat(originalPattern);
+        try {
+            String illegalPattern = "ab { '}' de";
+            mf.applyPattern(illegalPattern);
+            errln("illegal pattern: \"" + illegalPattern + "\"");
+        } catch (IllegalArgumentException foo) {
+            if (!originalPattern.equals(mf.toPattern()))
+                errln("pattern after: \"" + mf.toPattern() + "\"");
+        }
+    }
+
+    /* @bug 4116444
+     * MessageFormat.parse has different behavior in case of null.
+     */
+    public void Test4116444()
+    {
+        String[] patterns = {"", "one", "{0,date,short}"};
+        MessageFormat mf = new MessageFormat("");
+
+        for (int i = 0; i < patterns.length; i++) {
+            String pattern = patterns[i];
+            mf.applyPattern(pattern);
+            try {
+                Object[] array = mf.parse(null, new ParsePosition(0));
+                logln("pattern: \"" + pattern + "\"");
+                log(" parsedObjects: ");
+                if (array != null) {
+                    log("{");
+                    for (int j = 0; j < array.length; j++) {
+                        if (array[j] != null)
+                            err("\"" + array[j].toString() + "\"");
+                        else
+                            log("null");
+                        if (j < array.length - 1) log(",");
+                    }
+                    log("}") ;
+                } else {
+                    log("null");
+                }
+                logln("");
+            } catch (Exception e) {
+                errln("pattern: \"" + pattern + "\"");
+                errln("  Exception: " + e.getMessage());
+            }
+        }
+
+    }
+    /* @bug 4114739 (FIX and add javadoc)
+     * MessageFormat.format has undocumented behavior about empty format objects.
+     */
+    public void Test4114739()
+    {
+
+        MessageFormat mf = new MessageFormat("<{0}>");
+        Object[] objs1 = null;
+        Object[] objs2 = {};
+        Object[] objs3 = {null};
+        try {
+            logln("pattern: \"" + mf.toPattern() + "\"");
+            log("format(null) : ");
+            logln("\"" + mf.format(objs1) + "\"");
+            log("format({})   : ");
+            logln("\"" + mf.format(objs2) + "\"");
+            log("format({null}) :");
+            logln("\"" + mf.format(objs3) + "\"");
+        } catch (Exception e) {
+            errln("Exception thrown for null argument tests.");
+        }
+    }
+
+    /* @bug 4113018
+     * MessageFormat.applyPattern works wrong with illegal patterns.
+     */
+    public void Test4113018()
+    {
+        String originalPattern = "initial pattern";
+        MessageFormat mf = new MessageFormat(originalPattern);
+        String illegalPattern = "format: {0, xxxYYY}";
+        logln("pattern before: \"" + mf.toPattern() + "\"");
+        logln("illegal pattern: \"" + illegalPattern + "\"");
+        try {
+            mf.applyPattern(illegalPattern);
+            errln("Should have thrown IllegalArgumentException for pattern : " + illegalPattern);
+        } catch (IllegalArgumentException e) {
+            if (!originalPattern.equals(mf.toPattern()))
+                errln("pattern after: \"" + mf.toPattern() + "\"");
+        }
+    }
+    /* @bug 4106661
+     * ChoiceFormat is silent about the pattern usage in javadoc.
+     */
+    public void Test4106661()
+    {
+        ChoiceFormat fmt = new ChoiceFormat(
+          "-1#are negative| 0#are no or fraction | 1#is one |1.0<is 1+ |2#are two |2<are more than 2.");
+        logln("Formatter Pattern : " + fmt.toPattern());
+
+        logln("Format with -INF : " + fmt.format(Double.NEGATIVE_INFINITY));
+        logln("Format with -1.0 : " + fmt.format(-1.0));
+        logln("Format with 0 : " + fmt.format(0));
+        logln("Format with 0.9 : " + fmt.format(0.9));
+        logln("Format with 1.0 : " + fmt.format(1));
+        logln("Format with 1.5 : " + fmt.format(1.5));
+        logln("Format with 2 : " + fmt.format(2));
+        logln("Format with 2.1 : " + fmt.format(2.1));
+        logln("Format with NaN : " + fmt.format(Double.NaN));
+        logln("Format with +INF : " + fmt.format(Double.POSITIVE_INFINITY));
+    }
+    /* @bug 4094906
+     * ChoiceFormat should accept \u221E as eq. to INF.
+     */
+    public void Test4094906()
+    {
+        ChoiceFormat fmt = new ChoiceFormat(
+          "-\u221E<are negative|0<are no or fraction|1#is one|1.0<is 1+|\u221E<are many.");
+        if (!fmt.toPattern().startsWith("-\u221E<are negative|0.0<are no or fraction|1.0#is one|1.0<is 1+|\u221E<are many."))
+            errln("Formatter Pattern : " + fmt.toPattern());
+        logln("Format with -INF : " + fmt.format(Double.NEGATIVE_INFINITY));
+        logln("Format with -1.0 : " + fmt.format(-1.0));
+        logln("Format with 0 : " + fmt.format(0));
+        logln("Format with 0.9 : " + fmt.format(0.9));
+        logln("Format with 1.0 : " + fmt.format(1));
+        logln("Format with 1.5 : " + fmt.format(1.5));
+        logln("Format with 2 : " + fmt.format(2));
+        logln("Format with +INF : " + fmt.format(Double.POSITIVE_INFINITY));
+    }
+
+    /* @bug 4118592
+     * MessageFormat.parse fails with ChoiceFormat.
+     */
+    public void Test4118592()
+    {
+        MessageFormat mf = new MessageFormat("");
+        String pattern = "{0,choice,1#YES|2#NO}";
+        String prefix = "";
+        for (int i = 0; i < 5; i++) {
+            String formatted = prefix + "YES";
+            mf.applyPattern(prefix + pattern);
+            prefix += "x";
+            Object[] objs = mf.parse(formatted, new ParsePosition(0));
+            logln(i + ". pattern :\"" + mf.toPattern() + "\"");
+            log(" \"" + formatted + "\" parsed as ");
+            if (objs == null) logln("  null");
+            else logln("  " + objs[0]);
+        }
+    }
+    /* @bug 4118594
+     * MessageFormat.parse fails for some patterns.
+     */
+    public void Test4118594()
+    {
+        MessageFormat mf = new MessageFormat("{0}, {0}, {0}");
+        String forParsing = "x, y, z";
+        Object[] objs = mf.parse(forParsing, new ParsePosition(0));
+        logln("pattern: \"" + mf.toPattern() + "\"");
+        logln("text for parsing: \"" + forParsing + "\"");
+        if (!objs[0].toString().equals("z"))
+            errln("argument0: \"" + objs[0] + "\"");
+        mf.setLocale(Locale.US);
+        mf.applyPattern("{0,number,#.##}, {0,number,#.#}");
+        Object[] oldobjs = {new Double(3.1415)};
+        String result = mf.format( oldobjs );
+        logln("pattern: \"" + mf.toPattern() + "\"");
+        logln("text for parsing: \"" + result + "\"");
+        // result now equals "3.14, 3.1"
+        if (!result.equals("3.14, 3.1"))
+            errln("result = " + result);
+        Object[] newobjs = mf.parse(result, new ParsePosition(0));
+        // newobjs now equals {new Double(3.1)}
+        if (((Number)newobjs[0]).doubleValue() != 3.1) // was (Double) [alan]
+            errln( "newobjs[0] = " + newobjs[0]);
+    }
+    /* @bug 4105380
+     * When using ChoiceFormat, MessageFormat is not good for I18n.
+     */
+    public void Test4105380()
+    {
+        String patternText1 = "The disk \"{1}\" contains {0}.";
+        String patternText2 = "There are {0} on the disk \"{1}\"";
+        MessageFormat form1 = new MessageFormat(patternText1);
+        MessageFormat form2 = new MessageFormat(patternText2);
+        double[] filelimits = {0,1,2};
+        String[] filepart = {"no files","one file","{0,number} files"};
+        ChoiceFormat fileform = new ChoiceFormat(filelimits, filepart);
+        form1.setFormat(1, fileform);
+        form2.setFormat(0, fileform);
+        Object[] testArgs = {new Long(12373), "MyDisk"};
+        logln(form1.format(testArgs));
+        logln(form2.format(testArgs));
+    }
+    /* @bug 4120552
+     * MessageFormat.parse incorrectly sets errorIndex.
+     */
+    public void Test4120552()
+    {
+        MessageFormat mf = new MessageFormat("pattern");
+        String texts[] = {"pattern", "pat", "1234"};
+        logln("pattern: \"" + mf.toPattern() + "\"");
+        for (int i = 0; i < texts.length; i++) {
+            ParsePosition pp = new ParsePosition(0);
+            Object[] objs = mf.parse(texts[i], pp);
+            log("  text for parsing: \"" + texts[i] + "\"");
+            if (objs == null) {
+                logln("  (incorrectly formatted string)");
+                if (pp.getErrorIndex() == -1)
+                    errln("Incorrect error index: " + pp.getErrorIndex());
+            } else {
+                logln("  (correctly formatted string)");
+            }
+        }
+    }
+
+    /**
+     * @bug 4142938
+     * MessageFormat handles single quotes in pattern wrong.
+     * This is actually a problem in ChoiceFormat; it doesn't
+     * understand single quotes.
+     */
+    public void Test4142938() {
+        String pat = "''Vous'' {0,choice,0#n''|1#}avez s\u00E9lectionne\u00E9 " + 
+            "{0,choice,0#aucun|1#{0}} client{0,choice,0#s|1#|2#s} " + 
+            "personnel{0,choice,0#s|1#|2#s}.";
+        MessageFormat mf = new MessageFormat(pat);
+
+        String[] PREFIX = {
+            "'Vous' n'avez s\u00E9lectionne\u00E9 aucun clients personnels.",
+            "'Vous' avez s\u00E9lectionne\u00E9 ",
+            "'Vous' avez s\u00E9lectionne\u00E9 "
+        };  
+        String[] SUFFIX = {
+            null,
+            " client personnel.",
+            " clients personnels."
+        };
+    
+        for (int i=0; i<3; i++) {
+            String out = mf.format(new Object[]{new Integer(i)});
+            if (SUFFIX[i] == null) {
+                if (!out.equals(PREFIX[i]))
+                    errln("" + i + ": Got \"" + out + "\"; Want \"" + PREFIX[i] + "\"");
+            }
+            else {
+                if (!out.startsWith(PREFIX[i]) ||
+                    !out.endsWith(SUFFIX[i]))
+                    errln("" + i + ": Got \"" + out + "\"; Want \"" + PREFIX[i] + "\"...\"" +
+                          SUFFIX[i] + "\"");
+            }
+        }
+    }
+
+    /**
+     * @bug 4142938
+     * Test the applyPattern and toPattern handling of single quotes
+     * by ChoiceFormat.  (This is in here because this was a bug reported
+     * against MessageFormat.)  The single quote is used to quote the
+     * pattern characters '|', '#', '<', and '\u2264'.  Two quotes in a row
+     * is a quote literal.
+     */
+    public void TestChoicePatternQuote() {
+        String[] DATA = {
+            // Pattern                  0 value           1 value
+            "0#can''t|1#can",           "can't",          "can",
+            "0#'pound(#)=''#'''|1#xyz", "pound(#)='#'",   "xyz",
+            "0#'1<2 | 1\u22641'|1#''",  "1<2 | 1\u22641", "'",
+        };
+        for (int i=0; i<DATA.length; i+=3) {
+            try {
+                ChoiceFormat cf = new ChoiceFormat(DATA[i]);
+                for (int j=0; j<=1; ++j) {
+                    String out = cf.format(j);
+                    if (!out.equals(DATA[i+1+j]))
+                        errln("Fail: Pattern \"" + DATA[i] + "\" x "+j+" -> " +
+                              out + "; want \"" + DATA[i+1+j] + '"');
+                }
+                String pat = cf.toPattern();
+                String pat2 = new ChoiceFormat(pat).toPattern();
+                if (!pat.equals(pat2))
+                    errln("Fail: Pattern \"" + DATA[i] + "\" x toPattern -> \"" + pat + '"');
+                else
+                    logln("Ok: Pattern \"" + DATA[i] + "\" x toPattern -> \"" + pat + '"');
+            }
+            catch (IllegalArgumentException e) {
+                errln("Fail: Pattern \"" + DATA[i] + "\" -> " + e);
+            }
+        }
+    }
+
+    /**
+     * @bug 4112104
+     * MessageFormat.equals(null) throws a NullPointerException.  The JLS states
+     * that it should return false.
+     */
+    public void Test4112104() {
+        MessageFormat format = new MessageFormat("");
+        try {
+            // This should NOT throw an exception
+            if (format.equals(null)) {
+                // It also should return false
+                errln("MessageFormat.equals(null) returns false");
+            }
+        }
+        catch (NullPointerException e) {
+            errln("MessageFormat.equals(null) throws " + e);
+        }
+    }
+
+    /**
+     * @bug 4169959
+     * MessageFormat does not format null objects. CANNOT REPRODUCE THIS BUG.
+     */
+    public void Test4169959() {
+        // This works
+        logln(MessageFormat.format( "This will {0}",
+                                    new String[]{"work"} ) );
+        
+        // This fails
+        logln(MessageFormat.format( "This will {0}",
+                                    new Object[]{ null } ) );
+    }
+    
+    public void test4232154() {
+        boolean gotException = false;
+        try {
+            MessageFormat format = new MessageFormat("The date is {0:date}");
+        } catch (Exception e) {
+            gotException = true;
+            if (!(e instanceof IllegalArgumentException)) {
+                throw new RuntimeException("got wrong exception type");
+            }
+            if ("argument number too large at ".equals(e.getMessage())) {
+                throw new RuntimeException("got wrong exception message");
+            }
+        }
+        if (!gotException) {
+            throw new RuntimeException("didn't get exception for invalid input");
+        }
+    }
+    
+    public void test4293229() {
+        MessageFormat format = new MessageFormat("'''{'0}'' '''{0}'''");
+        Object[] args = { null };
+        String expected = "'{0}' '{0}'";
+        String result = format.format(args);
+        if (!result.equals(expected)) {
+            throw new RuntimeException("wrong format result - expected \"" +
+                    expected + "\", got \"" + result + "\"");
+        }
+    }
+}
+
diff --git a/src/com/ibm/icu/dev/test/format/NumberFormatRegistrationTest.java b/src/com/ibm/icu/dev/test/format/NumberFormatRegistrationTest.java
new file mode 100644
index 0000000..411afb2
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/format/NumberFormatRegistrationTest.java
@@ -0,0 +1,114 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2003-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.test.format;
+
+import com.ibm.icu.text.*;
+import com.ibm.icu.text.NumberFormat.*;
+import com.ibm.icu.util.ULocale;
+
+import java.util.Arrays;
+
+public class NumberFormatRegistrationTest extends com.ibm.icu.dev.test.TestFmwk {
+
+    public static void main(String[] args) {
+        new NumberFormatRegistrationTest().run(args);
+    }
+
+    public void TestRegistration() {
+        final ULocale SRC_LOC = ULocale.FRANCE;
+        final ULocale SWAP_LOC = ULocale.US;
+
+        class TestFactory extends SimpleNumberFormatFactory {
+            NumberFormat currencyStyle;
+
+            TestFactory() {
+                this(SRC_LOC, SWAP_LOC);
+            }
+
+            TestFactory(ULocale srcLoc, ULocale swapLoc) {
+                super(srcLoc);
+                currencyStyle = NumberFormat.getIntegerInstance(swapLoc);
+            }
+
+            public NumberFormat createFormat(ULocale loc, int formatType) {
+                if (formatType == FORMAT_CURRENCY) {
+                    return currencyStyle;
+                }
+                return null;
+            }
+        }
+
+        {
+            // coverage before registration
+
+            try {
+                NumberFormat.unregister(null);
+                errln("did not throw exception on null unregister");
+            }
+            catch (Exception e) {
+            	logln("PASS: null unregister failed as expected");
+            }
+
+            try {
+                NumberFormat.registerFactory(null);
+                errln("did not throw exception on null register");
+            }
+            catch (Exception e) {
+            	logln("PASS: null register failed as expected");
+            }
+
+            try {
+                // if no NF has been registered yet, shim is null, so this silently
+                // returns false.  if, on the other hand, a NF has been registered,
+                // this will try to cast the argument to a Factory, and throw
+                // an exception.
+                if (NumberFormat.unregister("")) {
+                    errln("unregister of empty string key succeeded");
+                }
+            }
+            catch (Exception e) {
+            }
+        }
+
+        ULocale fu_FU = new ULocale("fu_FU");
+        NumberFormat f0 = NumberFormat.getIntegerInstance(SWAP_LOC);
+        NumberFormat f1 = NumberFormat.getIntegerInstance(SRC_LOC);
+        NumberFormat f2 = NumberFormat.getCurrencyInstance(SRC_LOC);
+        Object key = NumberFormat.registerFactory(new TestFactory());
+        Object key2 = NumberFormat.registerFactory(new TestFactory(fu_FU, ULocale.GERMANY));
+        if (!Arrays.asList(NumberFormat.getAvailableULocales()).contains(fu_FU)) {
+            errln("did not list fu_FU");
+        }
+        NumberFormat f3 = NumberFormat.getCurrencyInstance(SRC_LOC);
+        NumberFormat f4 = NumberFormat.getIntegerInstance(SRC_LOC);
+        NumberFormat.unregister(key); // restore for other tests
+        NumberFormat f5 = NumberFormat.getCurrencyInstance(SRC_LOC);
+
+        NumberFormat.unregister(key2);
+
+        float n = 1234.567f;
+        logln("f0 swap int: " + f0.format(n));
+        logln("f1 src int: " + f1.format(n));
+        logln("f2 src cur: " + f2.format(n));
+        logln("f3 reg cur: " + f3.format(n));
+        logln("f4 reg int: " + f4.format(n));
+        logln("f5 unreg cur: " + f5.format(n));
+
+        if (!f3.format(n).equals(f0.format(n))) {
+            errln("registered service did not match");
+        }
+        if (!f4.format(n).equals(f1.format(n))) {
+            errln("registered service did not inherit");
+        }
+        if (!f5.format(n).equals(f2.format(n))) {
+            errln("unregistered service did not match original");
+        }
+
+        // coverage
+        NumberFormat f6 = NumberFormat.getNumberInstance(fu_FU);
+    }
+}
diff --git a/src/com/ibm/icu/dev/test/format/NumberFormatRegressionTest.java b/src/com/ibm/icu/dev/test/format/NumberFormatRegressionTest.java
new file mode 100755
index 0000000..513c7d6
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/format/NumberFormatRegressionTest.java
@@ -0,0 +1,182 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2001-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+/** 
+ * Port From:   ICU4C v1.8.1 : format : NumberFormatRegressionTest
+ * Source File: $ICU4CRoot/source/test/intltest/numrgts.cpp
+ **/
+
+package com.ibm.icu.dev.test.format;
+
+import com.ibm.icu.text.*;
+import com.ibm.icu.util.*;
+import java.util.Locale;
+import java.util.Date;
+import java.text.ParseException;
+import java.io.*;
+
+/** 
+ * Performs regression test for MessageFormat
+ **/
+public class NumberFormatRegressionTest extends com.ibm.icu.dev.test.TestFmwk {
+    
+    public static void main(String[] args) throws Exception{
+        new NumberFormatRegressionTest().run(args);
+    }
+    
+    /**
+     * alphaWorks upgrade
+     */
+    public void Test4161100() {
+        NumberFormat nf = NumberFormat.getInstance(Locale.US);
+        nf.setMinimumFractionDigits(1);
+        nf.setMaximumFractionDigits(1);
+        double a = -0.09;
+        String s = nf.format(a);
+        logln(a + " x " +
+              ((DecimalFormat) nf).toPattern() + " = " + s);
+        if (!s.equals("-0.1")) {
+            errln("FAIL");
+        }
+    }
+    
+    /**
+     * DateFormat should call setIntegerParseOnly(TRUE) on adopted
+     * NumberFormat objects.
+     */
+    public void TestJ691() {
+        
+        Locale loc = new Locale("fr", "CH");
+    
+        // set up the input date string & expected output
+        String udt = "11.10.2000";
+        String exp = "11.10.00";
+    
+        // create a Calendar for this locale
+        Calendar cal = Calendar.getInstance(loc);
+    
+        // create a NumberFormat for this locale
+        NumberFormat nf = NumberFormat.getInstance(loc);
+    
+        // *** Here's the key: We don't want to have to do THIS:
+        //nf.setParseIntegerOnly(true);
+    
+        // create the DateFormat
+        DateFormat df = DateFormat.getDateInstance(DateFormat.SHORT, loc);
+    
+        df.setCalendar(cal);
+        df.setNumberFormat(nf);
+    
+        // set parsing to lenient & parse
+        Date ulocdat = new Date();
+        df.setLenient(true);
+        try {
+            ulocdat = df.parse(udt);
+        } catch (java.text.ParseException pe) {
+            errln(pe.getMessage());
+        }
+        // format back to a string
+        String outString = df.format(ulocdat);
+    
+        if (!outString.equals(exp)) {
+            errln("FAIL: " + udt + " => " + outString);
+        }
+    }
+    
+    /**
+     * Test getIntegerInstance();
+     */
+    public void Test4408066() {
+        
+        NumberFormat nf1 = NumberFormat.getIntegerInstance();
+        NumberFormat nf2 = NumberFormat.getIntegerInstance(Locale.CHINA);
+    
+        //test isParseIntegerOnly
+        if (!nf1.isParseIntegerOnly() || !nf2.isParseIntegerOnly()) {
+            errln("Failed : Integer Number Format Instance should set setParseIntegerOnly(true)");
+        }
+    
+        //Test format
+        {
+            double[] data = {
+                -3.75, -2.5, -1.5, 
+                -1.25, 0,    1.0, 
+                1.25,  1.5,  2.5, 
+                3.75,  10.0, 255.5
+                };
+            String[] expected = {
+                "-4", "-2", "-2",
+                "-1", "0",  "1",
+                "1",  "2",  "2",
+                "4",  "10", "256"
+                };
+    
+            for (int i = 0; i < data.length; ++i) {
+                String result = nf1.format(data[i]);
+                if (!result.equals(expected[i])) {
+                    errln("Failed => Source: " + Double.toString(data[i]) 
+                        + ";Formatted : " + result
+                        + ";but expectted: " + expected[i]);
+                }
+            }
+        }
+        //Test parse, Parsing should stop at "."
+        {
+            String data[] = {
+                "-3.75", "-2.5", "-1.5", 
+                "-1.25", "0",    "1.0", 
+                "1.25",  "1.5",  "2.5", 
+                "3.75",  "10.0", "255.5"
+                };
+            long[] expected = {
+                -3, -2, -1,
+                -1, 0,  1,
+                1,  1,  2,
+                3,  10, 255
+                };
+            
+            for (int i = 0; i < data.length; ++i) {
+                Number n = null;
+                try {
+                    n = nf1.parse(data[i]);
+                } catch (ParseException e) {
+                    errln("Failed: " + e.getMessage());
+                }
+                if (!(n instanceof Long) || (n instanceof Integer)) {
+                    errln("Failed: Integer Number Format should parse string to Long/Integer");
+                }
+                if (n.longValue() != expected[i]) {
+                    errln("Failed=> Source: " + data[i] 
+                        + ";result : " + n.toString()
+                        + ";expected :" + Long.toString(expected[i]));
+                }
+            }
+        }
+    }
+    
+    //Test New serialized DecimalFormat(2.0) read old serialized forms of DecimalFormat(1.3.1.1)
+    public void TestSerialization() throws IOException, ClassNotFoundException{
+        byte[][] contents = NumberFormatSerialTestData.getContent();
+        double data = 1234.56;
+        String[] expected = {
+            "1,234.56", "$1,234.56", "123,456%", "1.23456E3"};
+        for (int i = 0; i < 4; ++i) {
+            ObjectInputStream ois = new ObjectInputStream(new ByteArrayInputStream(contents[i]));
+            try {
+                NumberFormat format = (NumberFormat) ois.readObject();
+                String result = format.format(data);
+                if (result.equals(expected[i])) {
+                    logln("OK: Deserialized bogus NumberFormat(new version read old version)");
+                } else {
+                    errln("FAIL: the test data formats are not euqal");
+                }
+            } catch (Exception e) {
+                warnln("FAIL: " + e.getMessage());
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/src/com/ibm/icu/dev/test/format/NumberFormatRoundTripTest.java b/src/com/ibm/icu/dev/test/format/NumberFormatRoundTripTest.java
new file mode 100755
index 0000000..b269130
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/format/NumberFormatRoundTripTest.java
@@ -0,0 +1,234 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2001-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+/** 
+ * Porting From: ICU4C v1.8.1 : format : NumberFormatRoundTripTest
+ * Source File: $ICU4CRoot/source/test/intltest/nmfmtrt.cpp
+ **/
+
+package com.ibm.icu.dev.test.format;
+
+import com.ibm.icu.text.*;
+import java.util.Locale;
+import java.util.Random;
+
+/** 
+ * Performs round-trip tests for NumberFormat
+ **/
+public class NumberFormatRoundTripTest extends com.ibm.icu.dev.test.TestFmwk {
+    
+    public double MAX_ERROR = 1e-14;
+    public double max_numeric_error = 0.0;
+    public double min_numeric_error = 1.0;
+    public boolean verbose = false;
+    public boolean STRING_COMPARE = false;
+    public boolean EXACT_NUMERIC_COMPARE = false;
+    public boolean DEBUG = false;
+    public boolean quick = true;
+    
+    public static void main(String[] args) throws Exception {
+        new NumberFormatRoundTripTest().run(args);
+    }
+    
+    public void TestNumberFormatRoundTrip() {
+    
+        NumberFormat fmt = null;
+    
+        logln("Default Locale");
+        
+        logln("Default Number format");
+        fmt = NumberFormat.getInstance();
+        _test(fmt);
+    
+        logln("Currency Format");
+        fmt = NumberFormat.getCurrencyInstance();
+        _test(fmt);
+    
+        logln("Percent Format");
+        fmt = NumberFormat.getPercentInstance();
+        _test(fmt);
+    
+    
+        int locCount = 0;
+        final Locale[] loc = NumberFormat.getAvailableLocales();
+        if(quick) {
+            if(locCount > 5)
+                locCount = 5;
+            logln("Quick mode: only _testing first 5 Locales");
+        }
+        for(int i = 0; i < locCount; ++i) {
+            logln(loc[i].getDisplayName());
+    
+            fmt = NumberFormat.getInstance(loc[i]);
+            _test(fmt);
+        
+            fmt = NumberFormat.getCurrencyInstance(loc[i]);
+            _test(fmt);
+        
+            fmt = NumberFormat.getPercentInstance(loc[i]);
+            _test(fmt);
+        }
+    
+        logln("Numeric error " + min_numeric_error + " to " + max_numeric_error);
+    }
+    
+    /**
+     * Return a random value from -range..+range.
+     */
+    private Random random;
+    public double randomDouble(double range) {
+        if (random == null) {
+            random = createRandom(); // use test framework's random seed
+        }
+        return  random.nextDouble() * range;
+    } 
+    
+    public void _test(NumberFormat fmt) {
+    
+        _test(fmt, Double.NaN);
+        _test(fmt, Double.POSITIVE_INFINITY);
+        _test(fmt, Double.NEGATIVE_INFINITY);
+    
+        _test(fmt, 500);
+        _test(fmt, 0);
+        _test(fmt, -0);
+        _test(fmt, 0.0);
+        double negZero = 0.0;
+        negZero /= -1.0;
+        _test(fmt, negZero);
+        _test(fmt, 9223372036854775808.0d);
+        _test(fmt, -9223372036854775809.0d);
+        //_test(fmt, 6.936065876100493E74d);
+        
+    //    _test(fmt, 6.212122845281909E48d);
+        for (int i = 0; i < 10; ++i) {
+    
+            _test(fmt, randomDouble(1));
+            
+            _test(fmt, randomDouble(10000));
+    
+            _test(fmt, Math.floor((randomDouble(10000))));
+    
+            _test(fmt, randomDouble(1e50));
+    
+            _test(fmt, randomDouble(1e-50));
+    
+            _test(fmt, randomDouble(1e100));
+    
+            _test(fmt, randomDouble(1e75));
+    
+            _test(fmt, randomDouble(1e308) / ((DecimalFormat) fmt).getMultiplier());
+    
+            _test(fmt, randomDouble(1e75) / ((DecimalFormat) fmt).getMultiplier());
+    
+            _test(fmt, randomDouble(1e65) / ((DecimalFormat) fmt).getMultiplier());
+    
+            _test(fmt, randomDouble(1e-292));
+    
+            _test(fmt, randomDouble(1e-78));
+    
+            _test(fmt, randomDouble(1e-323));
+    
+            _test(fmt, randomDouble(1e-100));
+    
+            _test(fmt, randomDouble(1e-78));
+        }
+    }
+    
+    public void _test(NumberFormat fmt, double value) {
+        _test(fmt, new Double(value));
+    }
+    
+    public void _test(NumberFormat fmt, long value) {
+        _test(fmt, new Long(value));
+    }
+    
+    public void _test(NumberFormat fmt, Number value) {
+        logln("test data = " + value);
+        fmt.setMaximumFractionDigits(999);
+        String s, s2;
+        if (value.getClass().getName().equalsIgnoreCase("java.lang.Double"))
+            s = fmt.format(value.doubleValue());
+        else
+            s = fmt.format(value.longValue());
+    
+        Number n = new Double(0);
+        boolean show = verbose;
+        if (DEBUG)
+            logln(
+            /*value.getString(temp) +*/ " F> " + s);
+        try {
+            n = fmt.parse(s);
+        } catch (java.text.ParseException e) {
+            System.out.println(e);
+        }
+    
+        if (DEBUG)
+            logln(s + " P> " /*+ n.getString(temp)*/);
+    
+        if (value.getClass().getName().equalsIgnoreCase("java.lang.Double"))
+            s2 = fmt.format(n.doubleValue());
+        else
+            s2 = fmt.format(n.longValue());
+    
+        if (DEBUG)
+            logln(/*n.getString(temp) +*/ " F> " + s2);
+    
+        if (STRING_COMPARE) {
+            if (!s.equals(s2)) {
+                errln("*** STRING ERROR \"" + s + "\" != \"" + s2 + "\"");
+                show = true;
+            }
+        }
+    
+        if (EXACT_NUMERIC_COMPARE) {
+            if (value != n) {
+                errln("*** NUMERIC ERROR");
+                show = true;
+            }
+        } else {
+            // Compute proportional error
+            double error = proportionalError(value, n);
+    
+            if (error > MAX_ERROR) {
+                errln("*** NUMERIC ERROR " + error);
+                show = true;
+            }
+    
+            if (error > max_numeric_error)
+                max_numeric_error = error;
+            if (error < min_numeric_error)
+                min_numeric_error = error;
+        }
+    
+        if (show)
+            logln(
+            /*value.getString(temp) +*/ value.getClass().getName() + " F> " + s + " P> " +
+            /*n.getString(temp) +*/ n.getClass().getName() + " F> " + s2);
+    
+    }
+        
+    public double proportionalError(Number a, Number b) {
+        double aa,bb;
+        
+        if(a.getClass().getName().equalsIgnoreCase("java.lang.Double"))
+            aa = a.doubleValue();
+        else
+            aa = a.longValue();
+    
+        if(a.getClass().getName().equalsIgnoreCase("java.lang.Double"))
+            bb = b.doubleValue();
+        else
+            bb = b.longValue();
+    
+        double error = aa - bb;
+        if(aa != 0 && bb != 0) 
+            error /= aa;
+           
+        return Math.abs(error);
+    }   
+}
diff --git a/src/com/ibm/icu/dev/test/format/NumberFormatSerialTestData.java b/src/com/ibm/icu/dev/test/format/NumberFormatSerialTestData.java
new file mode 100755
index 0000000..f3d7a49
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/format/NumberFormatSerialTestData.java
@@ -0,0 +1,306 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2001-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+package com.ibm.icu.dev.test.format;
+
+public class NumberFormatSerialTestData {
+    //get Content
+    public static byte[][] getContent() {
+            return content;
+    }
+
+    //NumberFormat.getInstance(Locale.US)
+    static byte[] generalInstance = new byte[]{ 
+        -84, -19, 0, 5, 115, 114, 0, 30, 99, 111, 109, 46, 105, 98, 109, 46, 105, 99, 117, 46, 
+        116, 101, 120, 116, 46, 68, 101, 99, 105, 109, 97, 108, 70, 111, 114, 109, 97, 116, 11, -1, 
+        3, 98, -40, 114, 48, 58, 2, 0, 22, 90, 0, 27, 100, 101, 99, 105, 109, 97, 108, 83, 
+        101, 112, 97, 114, 97, 116, 111, 114, 65, 108, 119, 97, 121, 115, 83, 104, 111, 119, 110, 90, 
+        0, 23, 101, 120, 112, 111, 110, 101, 110, 116, 83, 105, 103, 110, 65, 108, 119, 97, 121, 115, 
+        83, 104, 111, 119, 110, 73, 0, 11, 102, 111, 114, 109, 97, 116, 87, 105, 100, 116, 104, 66, 
+        0, 12, 103, 114, 111, 117, 112, 105, 110, 103, 83, 105, 122, 101, 66, 0, 13, 103, 114, 111, 
+        117, 112, 105, 110, 103, 83, 105, 122, 101, 50, 66, 0, 17, 109, 105, 110, 69, 120, 112, 111, 
+        110, 101, 110, 116, 68, 105, 103, 105, 116, 115, 73, 0, 10, 109, 117, 108, 116, 105, 112, 108, 
+        105, 101, 114, 67, 0, 3, 112, 97, 100, 73, 0, 11, 112, 97, 100, 80, 111, 115, 105, 116, 
+        105, 111, 110, 73, 0, 12, 114, 111, 117, 110, 100, 105, 110, 103, 77, 111, 100, 101, 73, 0, 
+        21, 115, 101, 114, 105, 97, 108, 86, 101, 114, 115, 105, 111, 110, 79, 110, 83, 116, 114, 101, 
+        97, 109, 90, 0, 22, 117, 115, 101, 69, 120, 112, 111, 110, 101, 110, 116, 105, 97, 108, 78, 
+        111, 116, 97, 116, 105, 111, 110, 76, 0, 16, 110, 101, 103, 80, 114, 101, 102, 105, 120, 80, 
+        97, 116, 116, 101, 114, 110, 116, 0, 18, 76, 106, 97, 118, 97, 47, 108, 97, 110, 103, 47, 
+        83, 116, 114, 105, 110, 103, 59, 76, 0, 16, 110, 101, 103, 83, 117, 102, 102, 105, 120, 80, 
+        97, 116, 116, 101, 114, 110, 113, 0, 126, 0, 1, 76, 0, 14, 110, 101, 103, 97, 116, 105, 
+        118, 101, 80, 114, 101, 102, 105, 120, 113, 0, 126, 0, 1, 76, 0, 14, 110, 101, 103, 97, 
+        116, 105, 118, 101, 83, 117, 102, 102, 105, 120, 113, 0, 126, 0, 1, 76, 0, 16, 112, 111, 
+        115, 80, 114, 101, 102, 105, 120, 80, 97, 116, 116, 101, 114, 110, 113, 0, 126, 0, 1, 76, 
+        0, 16, 112, 111, 115, 83, 117, 102, 102, 105, 120, 80, 97, 116, 116, 101, 114, 110, 113, 0, 
+        126, 0, 1, 76, 0, 14, 112, 111, 115, 105, 116, 105, 118, 101, 80, 114, 101, 102, 105, 120, 
+        113, 0, 126, 0, 1, 76, 0, 14, 112, 111, 115, 105, 116, 105, 118, 101, 83, 117, 102, 102, 
+        105, 120, 113, 0, 126, 0, 1, 76, 0, 17, 114, 111, 117, 110, 100, 105, 110, 103, 73, 110, 
+        99, 114, 101, 109, 101, 110, 116, 116, 0, 22, 76, 106, 97, 118, 97, 47, 109, 97, 116, 104, 
+        47, 66, 105, 103, 68, 101, 99, 105, 109, 97, 108, 59, 76, 0, 7, 115, 121, 109, 98, 111, 
+        108, 115, 116, 0, 39, 76, 99, 111, 109, 47, 105, 98, 109, 47, 105, 99, 117, 47, 116, 101, 
+        120, 116, 47, 68, 101, 99, 105, 109, 97, 108, 70, 111, 114, 109, 97, 116, 83, 121, 109, 98, 
+        111, 108, 115, 59, 120, 114, 0, 29, 99, 111, 109, 46, 105, 98, 109, 46, 105, 99, 117, 46, 
+        116, 101, 120, 116, 46, 78, 117, 109, 98, 101, 114, 70, 111, 114, 109, 97, 116, -33, -10, -77, 
+        -65, 19, 125, 7, -24, 3, 0, 11, 90, 0, 12, 103, 114, 111, 117, 112, 105, 110, 103, 85, 
+        115, 101, 100, 66, 0, 17, 109, 97, 120, 70, 114, 97, 99, 116, 105, 111, 110, 68, 105, 103, 
+        105, 116, 115, 66, 0, 16, 109, 97, 120, 73, 110, 116, 101, 103, 101, 114, 68, 105, 103, 105, 
+        116, 115, 73, 0, 21, 109, 97, 120, 105, 109, 117, 109, 70, 114, 97, 99, 116, 105, 111, 110, 
+        68, 105, 103, 105, 116, 115, 73, 0, 20, 109, 97, 120, 105, 109, 117, 109, 73, 110, 116, 101, 
+        103, 101, 114, 68, 105, 103, 105, 116, 115, 66, 0, 17, 109, 105, 110, 70, 114, 97, 99, 116, 
+        105, 111, 110, 68, 105, 103, 105, 116, 115, 66, 0, 16, 109, 105, 110, 73, 110, 116, 101, 103, 
+        101, 114, 68, 105, 103, 105, 116, 115, 73, 0, 21, 109, 105, 110, 105, 109, 117, 109, 70, 114, 
+        97, 99, 116, 105, 111, 110, 68, 105, 103, 105, 116, 115, 73, 0, 20, 109, 105, 110, 105, 109, 
+        117, 109, 73, 110, 116, 101, 103, 101, 114, 68, 105, 103, 105, 116, 115, 90, 0, 16, 112, 97, 
+        114, 115, 101, 73, 110, 116, 101, 103, 101, 114, 79, 110, 108, 121, 73, 0, 21, 115, 101, 114, 
+        105, 97, 108, 86, 101, 114, 115, 105, 111, 110, 79, 110, 83, 116, 114, 101, 97, 109, 120, 114, 
+        0, 16, 106, 97, 118, 97, 46, 116, 101, 120, 116, 46, 70, 111, 114, 109, 97, 116, -5, -40, 
+        -68, 18, -23, 15, 24, 67, 2, 0, 0, 120, 112, 1, 3, 127, 0, 0, 0, 3, 0, 0, 
+        1, 53, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 120, 0, 0, 
+        0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 1, 0, 32, 0, 0, 0, 0, 0, 0, 0, 
+        6, 0, 0, 0, 2, 0, 116, 0, 1, 45, 116, 0, 0, 116, 0, 1, 45, 116, 0, 0, 
+        116, 0, 0, 116, 0, 0, 116, 0, 0, 116, 0, 0, 112, 115, 114, 0, 37, 99, 111, 109, 
+        46, 105, 98, 109, 46, 105, 99, 117, 46, 116, 101, 120, 116, 46, 68, 101, 99, 105, 109, 97, 
+        108, 70, 111, 114, 109, 97, 116, 83, 121, 109, 98, 111, 108, 115, 80, 29, 23, -103, 8, 104, 
+        -109, -100, 2, 0, 18, 67, 0, 16, 100, 101, 99, 105, 109, 97, 108, 83, 101, 112, 97, 114, 
+        97, 116, 111, 114, 67, 0, 5, 100, 105, 103, 105, 116, 67, 0, 11, 101, 120, 112, 111, 110, 
+        101, 110, 116, 105, 97, 108, 67, 0, 17, 103, 114, 111, 117, 112, 105, 110, 103, 83, 101, 112, 
+        97, 114, 97, 116, 111, 114, 67, 0, 9, 109, 105, 110, 117, 115, 83, 105, 103, 110, 67, 0, 
+        17, 109, 111, 110, 101, 116, 97, 114, 121, 83, 101, 112, 97, 114, 97, 116, 111, 114, 67, 0, 
+        9, 112, 97, 100, 69, 115, 99, 97, 112, 101, 67, 0, 16, 112, 97, 116, 116, 101, 114, 110, 
+        83, 101, 112, 97, 114, 97, 116, 111, 114, 67, 0, 7, 112, 101, 114, 77, 105, 108, 108, 67, 
+        0, 7, 112, 101, 114, 99, 101, 110, 116, 67, 0, 8, 112, 108, 117, 115, 83, 105, 103, 110, 
+        73, 0, 21, 115, 101, 114, 105, 97, 108, 86, 101, 114, 115, 105, 111, 110, 79, 110, 83, 116, 
+        114, 101, 97, 109, 67, 0, 9, 122, 101, 114, 111, 68, 105, 103, 105, 116, 76, 0, 3, 78, 
+        97, 78, 113, 0, 126, 0, 1, 76, 0, 14, 99, 117, 114, 114, 101, 110, 99, 121, 83, 121, 
+        109, 98, 111, 108, 113, 0, 126, 0, 1, 76, 0, 17, 101, 120, 112, 111, 110, 101, 110, 116, 
+        83, 101, 112, 97, 114, 97, 116, 111, 114, 113, 0, 126, 0, 1, 76, 0, 8, 105, 110, 102, 
+        105, 110, 105, 116, 121, 113, 0, 126, 0, 1, 76, 0, 18, 105, 110, 116, 108, 67, 117, 114, 
+        114, 101, 110, 99, 121, 83, 121, 109, 98, 111, 108, 113, 0, 126, 0, 1, 120, 112, 0, 46, 
+        0, 35, 0, 0, 0, 44, 0, 45, 0, 46, 0, 42, 0, 59, 32, 48, 0, 37, 0, 43, 
+        0, 0, 0, 2, 0, 48, 116, 0, 3, -17, -65, -67, 116, 0, 1, 36, 116, 0, 1, 69, 
+        116, 0, 3, -30, -120, -98, 116, 0, 3, 85, 83, 68, 
+    };
+
+    //NumberFormat.getCurrencyInstance(Locale.US)
+    static byte[] currencyInstance = new byte[]{ 
+        -84, -19, 0, 5, 115, 114, 0, 30, 99, 111, 109, 46, 105, 98, 109, 46, 105, 99, 117, 46, 
+        116, 101, 120, 116, 46, 68, 101, 99, 105, 109, 97, 108, 70, 111, 114, 109, 97, 116, 11, -1, 
+        3, 98, -40, 114, 48, 58, 2, 0, 22, 90, 0, 27, 100, 101, 99, 105, 109, 97, 108, 83, 
+        101, 112, 97, 114, 97, 116, 111, 114, 65, 108, 119, 97, 121, 115, 83, 104, 111, 119, 110, 90, 
+        0, 23, 101, 120, 112, 111, 110, 101, 110, 116, 83, 105, 103, 110, 65, 108, 119, 97, 121, 115, 
+        83, 104, 111, 119, 110, 73, 0, 11, 102, 111, 114, 109, 97, 116, 87, 105, 100, 116, 104, 66, 
+        0, 12, 103, 114, 111, 117, 112, 105, 110, 103, 83, 105, 122, 101, 66, 0, 13, 103, 114, 111, 
+        117, 112, 105, 110, 103, 83, 105, 122, 101, 50, 66, 0, 17, 109, 105, 110, 69, 120, 112, 111, 
+        110, 101, 110, 116, 68, 105, 103, 105, 116, 115, 73, 0, 10, 109, 117, 108, 116, 105, 112, 108, 
+        105, 101, 114, 67, 0, 3, 112, 97, 100, 73, 0, 11, 112, 97, 100, 80, 111, 115, 105, 116, 
+        105, 111, 110, 73, 0, 12, 114, 111, 117, 110, 100, 105, 110, 103, 77, 111, 100, 101, 73, 0, 
+        21, 115, 101, 114, 105, 97, 108, 86, 101, 114, 115, 105, 111, 110, 79, 110, 83, 116, 114, 101, 
+        97, 109, 90, 0, 22, 117, 115, 101, 69, 120, 112, 111, 110, 101, 110, 116, 105, 97, 108, 78, 
+        111, 116, 97, 116, 105, 111, 110, 76, 0, 16, 110, 101, 103, 80, 114, 101, 102, 105, 120, 80, 
+        97, 116, 116, 101, 114, 110, 116, 0, 18, 76, 106, 97, 118, 97, 47, 108, 97, 110, 103, 47, 
+        83, 116, 114, 105, 110, 103, 59, 76, 0, 16, 110, 101, 103, 83, 117, 102, 102, 105, 120, 80, 
+        97, 116, 116, 101, 114, 110, 113, 0, 126, 0, 1, 76, 0, 14, 110, 101, 103, 97, 116, 105, 
+        118, 101, 80, 114, 101, 102, 105, 120, 113, 0, 126, 0, 1, 76, 0, 14, 110, 101, 103, 97, 
+        116, 105, 118, 101, 83, 117, 102, 102, 105, 120, 113, 0, 126, 0, 1, 76, 0, 16, 112, 111, 
+        115, 80, 114, 101, 102, 105, 120, 80, 97, 116, 116, 101, 114, 110, 113, 0, 126, 0, 1, 76, 
+        0, 16, 112, 111, 115, 83, 117, 102, 102, 105, 120, 80, 97, 116, 116, 101, 114, 110, 113, 0, 
+        126, 0, 1, 76, 0, 14, 112, 111, 115, 105, 116, 105, 118, 101, 80, 114, 101, 102, 105, 120, 
+        113, 0, 126, 0, 1, 76, 0, 14, 112, 111, 115, 105, 116, 105, 118, 101, 83, 117, 102, 102, 
+        105, 120, 113, 0, 126, 0, 1, 76, 0, 17, 114, 111, 117, 110, 100, 105, 110, 103, 73, 110, 
+        99, 114, 101, 109, 101, 110, 116, 116, 0, 22, 76, 106, 97, 118, 97, 47, 109, 97, 116, 104, 
+        47, 66, 105, 103, 68, 101, 99, 105, 109, 97, 108, 59, 76, 0, 7, 115, 121, 109, 98, 111, 
+        108, 115, 116, 0, 39, 76, 99, 111, 109, 47, 105, 98, 109, 47, 105, 99, 117, 47, 116, 101, 
+        120, 116, 47, 68, 101, 99, 105, 109, 97, 108, 70, 111, 114, 109, 97, 116, 83, 121, 109, 98, 
+        111, 108, 115, 59, 120, 114, 0, 29, 99, 111, 109, 46, 105, 98, 109, 46, 105, 99, 117, 46, 
+        116, 101, 120, 116, 46, 78, 117, 109, 98, 101, 114, 70, 111, 114, 109, 97, 116, -33, -10, -77, 
+        -65, 19, 125, 7, -24, 3, 0, 11, 90, 0, 12, 103, 114, 111, 117, 112, 105, 110, 103, 85, 
+        115, 101, 100, 66, 0, 17, 109, 97, 120, 70, 114, 97, 99, 116, 105, 111, 110, 68, 105, 103, 
+        105, 116, 115, 66, 0, 16, 109, 97, 120, 73, 110, 116, 101, 103, 101, 114, 68, 105, 103, 105, 
+        116, 115, 73, 0, 21, 109, 97, 120, 105, 109, 117, 109, 70, 114, 97, 99, 116, 105, 111, 110, 
+        68, 105, 103, 105, 116, 115, 73, 0, 20, 109, 97, 120, 105, 109, 117, 109, 73, 110, 116, 101, 
+        103, 101, 114, 68, 105, 103, 105, 116, 115, 66, 0, 17, 109, 105, 110, 70, 114, 97, 99, 116, 
+        105, 111, 110, 68, 105, 103, 105, 116, 115, 66, 0, 16, 109, 105, 110, 73, 110, 116, 101, 103, 
+        101, 114, 68, 105, 103, 105, 116, 115, 73, 0, 21, 109, 105, 110, 105, 109, 117, 109, 70, 114, 
+        97, 99, 116, 105, 111, 110, 68, 105, 103, 105, 116, 115, 73, 0, 20, 109, 105, 110, 105, 109, 
+        117, 109, 73, 110, 116, 101, 103, 101, 114, 68, 105, 103, 105, 116, 115, 90, 0, 16, 112, 97, 
+        114, 115, 101, 73, 110, 116, 101, 103, 101, 114, 79, 110, 108, 121, 73, 0, 21, 115, 101, 114, 
+        105, 97, 108, 86, 101, 114, 115, 105, 111, 110, 79, 110, 83, 116, 114, 101, 97, 109, 120, 114, 
+        0, 16, 106, 97, 118, 97, 46, 116, 101, 120, 116, 46, 70, 111, 114, 109, 97, 116, -5, -40, 
+        -68, 18, -23, 15, 24, 67, 2, 0, 0, 120, 112, 1, 2, 127, 0, 0, 0, 2, 0, 0, 
+        1, 53, 2, 1, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 0, 1, 120, 0, 0, 
+        0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 1, 0, 32, 0, 0, 0, 0, 0, 0, 0, 
+        6, 0, 0, 0, 2, 0, 116, 0, 3, 40, -62, -92, 116, 0, 1, 41, 116, 0, 2, 40, 
+        36, 116, 0, 1, 41, 116, 0, 2, -62, -92, 116, 0, 0, 116, 0, 1, 36, 116, 0, 0, 
+        112, 115, 114, 0, 37, 99, 111, 109, 46, 105, 98, 109, 46, 105, 99, 117, 46, 116, 101, 120, 
+        116, 46, 68, 101, 99, 105, 109, 97, 108, 70, 111, 114, 109, 97, 116, 83, 121, 109, 98, 111, 
+        108, 115, 80, 29, 23, -103, 8, 104, -109, -100, 2, 0, 18, 67, 0, 16, 100, 101, 99, 105, 
+        109, 97, 108, 83, 101, 112, 97, 114, 97, 116, 111, 114, 67, 0, 5, 100, 105, 103, 105, 116, 
+        67, 0, 11, 101, 120, 112, 111, 110, 101, 110, 116, 105, 97, 108, 67, 0, 17, 103, 114, 111, 
+        117, 112, 105, 110, 103, 83, 101, 112, 97, 114, 97, 116, 111, 114, 67, 0, 9, 109, 105, 110, 
+        117, 115, 83, 105, 103, 110, 67, 0, 17, 109, 111, 110, 101, 116, 97, 114, 121, 83, 101, 112, 
+        97, 114, 97, 116, 111, 114, 67, 0, 9, 112, 97, 100, 69, 115, 99, 97, 112, 101, 67, 0, 
+        16, 112, 97, 116, 116, 101, 114, 110, 83, 101, 112, 97, 114, 97, 116, 111, 114, 67, 0, 7, 
+        112, 101, 114, 77, 105, 108, 108, 67, 0, 7, 112, 101, 114, 99, 101, 110, 116, 67, 0, 8, 
+        112, 108, 117, 115, 83, 105, 103, 110, 73, 0, 21, 115, 101, 114, 105, 97, 108, 86, 101, 114, 
+        115, 105, 111, 110, 79, 110, 83, 116, 114, 101, 97, 109, 67, 0, 9, 122, 101, 114, 111, 68, 
+        105, 103, 105, 116, 76, 0, 3, 78, 97, 78, 113, 0, 126, 0, 1, 76, 0, 14, 99, 117, 
+        114, 114, 101, 110, 99, 121, 83, 121, 109, 98, 111, 108, 113, 0, 126, 0, 1, 76, 0, 17, 
+        101, 120, 112, 111, 110, 101, 110, 116, 83, 101, 112, 97, 114, 97, 116, 111, 114, 113, 0, 126, 
+        0, 1, 76, 0, 8, 105, 110, 102, 105, 110, 105, 116, 121, 113, 0, 126, 0, 1, 76, 0, 
+        18, 105, 110, 116, 108, 67, 117, 114, 114, 101, 110, 99, 121, 83, 121, 109, 98, 111, 108, 113, 
+        0, 126, 0, 1, 120, 112, 0, 46, 0, 35, 0, 0, 0, 44, 0, 45, 0, 46, 0, 42, 
+        0, 59, 32, 48, 0, 37, 0, 43, 0, 0, 0, 2, 0, 48, 116, 0, 3, -17, -65, -67, 
+        116, 0, 1, 36, 116, 0, 1, 69, 116, 0, 3, -30, -120, -98, 116, 0, 3, 85, 83, 68, 
+        
+    };
+
+    //NumberFormat.getPercentInstance(Locale.US)
+    static byte[] percentInstance = new byte[]{ 
+        -84, -19, 0, 5, 115, 114, 0, 30, 99, 111, 109, 46, 105, 98, 109, 46, 105, 99, 117, 46, 
+        116, 101, 120, 116, 46, 68, 101, 99, 105, 109, 97, 108, 70, 111, 114, 109, 97, 116, 11, -1, 
+        3, 98, -40, 114, 48, 58, 2, 0, 22, 90, 0, 27, 100, 101, 99, 105, 109, 97, 108, 83, 
+        101, 112, 97, 114, 97, 116, 111, 114, 65, 108, 119, 97, 121, 115, 83, 104, 111, 119, 110, 90, 
+        0, 23, 101, 120, 112, 111, 110, 101, 110, 116, 83, 105, 103, 110, 65, 108, 119, 97, 121, 115, 
+        83, 104, 111, 119, 110, 73, 0, 11, 102, 111, 114, 109, 97, 116, 87, 105, 100, 116, 104, 66, 
+        0, 12, 103, 114, 111, 117, 112, 105, 110, 103, 83, 105, 122, 101, 66, 0, 13, 103, 114, 111, 
+        117, 112, 105, 110, 103, 83, 105, 122, 101, 50, 66, 0, 17, 109, 105, 110, 69, 120, 112, 111, 
+        110, 101, 110, 116, 68, 105, 103, 105, 116, 115, 73, 0, 10, 109, 117, 108, 116, 105, 112, 108, 
+        105, 101, 114, 67, 0, 3, 112, 97, 100, 73, 0, 11, 112, 97, 100, 80, 111, 115, 105, 116, 
+        105, 111, 110, 73, 0, 12, 114, 111, 117, 110, 100, 105, 110, 103, 77, 111, 100, 101, 73, 0, 
+        21, 115, 101, 114, 105, 97, 108, 86, 101, 114, 115, 105, 111, 110, 79, 110, 83, 116, 114, 101, 
+        97, 109, 90, 0, 22, 117, 115, 101, 69, 120, 112, 111, 110, 101, 110, 116, 105, 97, 108, 78, 
+        111, 116, 97, 116, 105, 111, 110, 76, 0, 16, 110, 101, 103, 80, 114, 101, 102, 105, 120, 80, 
+        97, 116, 116, 101, 114, 110, 116, 0, 18, 76, 106, 97, 118, 97, 47, 108, 97, 110, 103, 47, 
+        83, 116, 114, 105, 110, 103, 59, 76, 0, 16, 110, 101, 103, 83, 117, 102, 102, 105, 120, 80, 
+        97, 116, 116, 101, 114, 110, 113, 0, 126, 0, 1, 76, 0, 14, 110, 101, 103, 97, 116, 105, 
+        118, 101, 80, 114, 101, 102, 105, 120, 113, 0, 126, 0, 1, 76, 0, 14, 110, 101, 103, 97, 
+        116, 105, 118, 101, 83, 117, 102, 102, 105, 120, 113, 0, 126, 0, 1, 76, 0, 16, 112, 111, 
+        115, 80, 114, 101, 102, 105, 120, 80, 97, 116, 116, 101, 114, 110, 113, 0, 126, 0, 1, 76, 
+        0, 16, 112, 111, 115, 83, 117, 102, 102, 105, 120, 80, 97, 116, 116, 101, 114, 110, 113, 0, 
+        126, 0, 1, 76, 0, 14, 112, 111, 115, 105, 116, 105, 118, 101, 80, 114, 101, 102, 105, 120, 
+        113, 0, 126, 0, 1, 76, 0, 14, 112, 111, 115, 105, 116, 105, 118, 101, 83, 117, 102, 102, 
+        105, 120, 113, 0, 126, 0, 1, 76, 0, 17, 114, 111, 117, 110, 100, 105, 110, 103, 73, 110, 
+        99, 114, 101, 109, 101, 110, 116, 116, 0, 22, 76, 106, 97, 118, 97, 47, 109, 97, 116, 104, 
+        47, 66, 105, 103, 68, 101, 99, 105, 109, 97, 108, 59, 76, 0, 7, 115, 121, 109, 98, 111, 
+        108, 115, 116, 0, 39, 76, 99, 111, 109, 47, 105, 98, 109, 47, 105, 99, 117, 47, 116, 101, 
+        120, 116, 47, 68, 101, 99, 105, 109, 97, 108, 70, 111, 114, 109, 97, 116, 83, 121, 109, 98, 
+        111, 108, 115, 59, 120, 114, 0, 29, 99, 111, 109, 46, 105, 98, 109, 46, 105, 99, 117, 46, 
+        116, 101, 120, 116, 46, 78, 117, 109, 98, 101, 114, 70, 111, 114, 109, 97, 116, -33, -10, -77, 
+        -65, 19, 125, 7, -24, 3, 0, 11, 90, 0, 12, 103, 114, 111, 117, 112, 105, 110, 103, 85, 
+        115, 101, 100, 66, 0, 17, 109, 97, 120, 70, 114, 97, 99, 116, 105, 111, 110, 68, 105, 103, 
+        105, 116, 115, 66, 0, 16, 109, 97, 120, 73, 110, 116, 101, 103, 101, 114, 68, 105, 103, 105, 
+        116, 115, 73, 0, 21, 109, 97, 120, 105, 109, 117, 109, 70, 114, 97, 99, 116, 105, 111, 110, 
+        68, 105, 103, 105, 116, 115, 73, 0, 20, 109, 97, 120, 105, 109, 117, 109, 73, 110, 116, 101, 
+        103, 101, 114, 68, 105, 103, 105, 116, 115, 66, 0, 17, 109, 105, 110, 70, 114, 97, 99, 116, 
+        105, 111, 110, 68, 105, 103, 105, 116, 115, 66, 0, 16, 109, 105, 110, 73, 110, 116, 101, 103, 
+        101, 114, 68, 105, 103, 105, 116, 115, 73, 0, 21, 109, 105, 110, 105, 109, 117, 109, 70, 114, 
+        97, 99, 116, 105, 111, 110, 68, 105, 103, 105, 116, 115, 73, 0, 20, 109, 105, 110, 105, 109, 
+        117, 109, 73, 110, 116, 101, 103, 101, 114, 68, 105, 103, 105, 116, 115, 90, 0, 16, 112, 97, 
+        114, 115, 101, 73, 110, 116, 101, 103, 101, 114, 79, 110, 108, 121, 73, 0, 21, 115, 101, 114, 
+        105, 97, 108, 86, 101, 114, 115, 105, 111, 110, 79, 110, 83, 116, 114, 101, 97, 109, 120, 114, 
+        0, 16, 106, 97, 118, 97, 46, 116, 101, 120, 116, 46, 70, 111, 114, 109, 97, 116, -5, -40, 
+        -68, 18, -23, 15, 24, 67, 2, 0, 0, 120, 112, 1, 0, 127, 0, 0, 0, 0, 0, 0, 
+        1, 53, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 120, 0, 0, 
+        0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 100, 0, 32, 0, 0, 0, 0, 0, 0, 0, 
+        6, 0, 0, 0, 2, 0, 116, 0, 1, 45, 116, 0, 1, 37, 116, 0, 1, 45, 116, 0, 
+        1, 37, 116, 0, 0, 113, 0, 126, 0, 8, 116, 0, 0, 116, 0, 1, 37, 112, 115, 114, 
+        0, 37, 99, 111, 109, 46, 105, 98, 109, 46, 105, 99, 117, 46, 116, 101, 120, 116, 46, 68, 
+        101, 99, 105, 109, 97, 108, 70, 111, 114, 109, 97, 116, 83, 121, 109, 98, 111, 108, 115, 80, 
+        29, 23, -103, 8, 104, -109, -100, 2, 0, 18, 67, 0, 16, 100, 101, 99, 105, 109, 97, 108, 
+        83, 101, 112, 97, 114, 97, 116, 111, 114, 67, 0, 5, 100, 105, 103, 105, 116, 67, 0, 11, 
+        101, 120, 112, 111, 110, 101, 110, 116, 105, 97, 108, 67, 0, 17, 103, 114, 111, 117, 112, 105, 
+        110, 103, 83, 101, 112, 97, 114, 97, 116, 111, 114, 67, 0, 9, 109, 105, 110, 117, 115, 83, 
+        105, 103, 110, 67, 0, 17, 109, 111, 110, 101, 116, 97, 114, 121, 83, 101, 112, 97, 114, 97, 
+        116, 111, 114, 67, 0, 9, 112, 97, 100, 69, 115, 99, 97, 112, 101, 67, 0, 16, 112, 97, 
+        116, 116, 101, 114, 110, 83, 101, 112, 97, 114, 97, 116, 111, 114, 67, 0, 7, 112, 101, 114, 
+        77, 105, 108, 108, 67, 0, 7, 112, 101, 114, 99, 101, 110, 116, 67, 0, 8, 112, 108, 117, 
+        115, 83, 105, 103, 110, 73, 0, 21, 115, 101, 114, 105, 97, 108, 86, 101, 114, 115, 105, 111, 
+        110, 79, 110, 83, 116, 114, 101, 97, 109, 67, 0, 9, 122, 101, 114, 111, 68, 105, 103, 105, 
+        116, 76, 0, 3, 78, 97, 78, 113, 0, 126, 0, 1, 76, 0, 14, 99, 117, 114, 114, 101, 
+        110, 99, 121, 83, 121, 109, 98, 111, 108, 113, 0, 126, 0, 1, 76, 0, 17, 101, 120, 112, 
+        111, 110, 101, 110, 116, 83, 101, 112, 97, 114, 97, 116, 111, 114, 113, 0, 126, 0, 1, 76, 
+        0, 8, 105, 110, 102, 105, 110, 105, 116, 121, 113, 0, 126, 0, 1, 76, 0, 18, 105, 110, 
+        116, 108, 67, 117, 114, 114, 101, 110, 99, 121, 83, 121, 109, 98, 111, 108, 113, 0, 126, 0, 
+        1, 120, 112, 0, 46, 0, 35, 0, 0, 0, 44, 0, 45, 0, 46, 0, 42, 0, 59, 32, 
+        48, 0, 37, 0, 43, 0, 0, 0, 2, 0, 48, 116, 0, 3, -17, -65, -67, 116, 0, 1, 
+        36, 116, 0, 1, 69, 116, 0, 3, -30, -120, -98, 116, 0, 3, 85, 83, 68, 
+    };
+
+    //NumberFormat.getScientificInstance(Locale.US)
+    static byte[] scientificInstance = new byte[]{ 
+        -84, -19, 0, 5, 115, 114, 0, 30, 99, 111, 109, 46, 105, 98, 109, 46, 105, 99, 117, 46, 
+        116, 101, 120, 116, 46, 68, 101, 99, 105, 109, 97, 108, 70, 111, 114, 109, 97, 116, 11, -1, 
+        3, 98, -40, 114, 48, 58, 2, 0, 22, 90, 0, 27, 100, 101, 99, 105, 109, 97, 108, 83, 
+        101, 112, 97, 114, 97, 116, 111, 114, 65, 108, 119, 97, 121, 115, 83, 104, 111, 119, 110, 90, 
+        0, 23, 101, 120, 112, 111, 110, 101, 110, 116, 83, 105, 103, 110, 65, 108, 119, 97, 121, 115, 
+        83, 104, 111, 119, 110, 73, 0, 11, 102, 111, 114, 109, 97, 116, 87, 105, 100, 116, 104, 66, 
+        0, 12, 103, 114, 111, 117, 112, 105, 110, 103, 83, 105, 122, 101, 66, 0, 13, 103, 114, 111, 
+        117, 112, 105, 110, 103, 83, 105, 122, 101, 50, 66, 0, 17, 109, 105, 110, 69, 120, 112, 111, 
+        110, 101, 110, 116, 68, 105, 103, 105, 116, 115, 73, 0, 10, 109, 117, 108, 116, 105, 112, 108, 
+        105, 101, 114, 67, 0, 3, 112, 97, 100, 73, 0, 11, 112, 97, 100, 80, 111, 115, 105, 116, 
+        105, 111, 110, 73, 0, 12, 114, 111, 117, 110, 100, 105, 110, 103, 77, 111, 100, 101, 73, 0, 
+        21, 115, 101, 114, 105, 97, 108, 86, 101, 114, 115, 105, 111, 110, 79, 110, 83, 116, 114, 101, 
+        97, 109, 90, 0, 22, 117, 115, 101, 69, 120, 112, 111, 110, 101, 110, 116, 105, 97, 108, 78, 
+        111, 116, 97, 116, 105, 111, 110, 76, 0, 16, 110, 101, 103, 80, 114, 101, 102, 105, 120, 80, 
+        97, 116, 116, 101, 114, 110, 116, 0, 18, 76, 106, 97, 118, 97, 47, 108, 97, 110, 103, 47, 
+        83, 116, 114, 105, 110, 103, 59, 76, 0, 16, 110, 101, 103, 83, 117, 102, 102, 105, 120, 80, 
+        97, 116, 116, 101, 114, 110, 113, 0, 126, 0, 1, 76, 0, 14, 110, 101, 103, 97, 116, 105, 
+        118, 101, 80, 114, 101, 102, 105, 120, 113, 0, 126, 0, 1, 76, 0, 14, 110, 101, 103, 97, 
+        116, 105, 118, 101, 83, 117, 102, 102, 105, 120, 113, 0, 126, 0, 1, 76, 0, 16, 112, 111, 
+        115, 80, 114, 101, 102, 105, 120, 80, 97, 116, 116, 101, 114, 110, 113, 0, 126, 0, 1, 76, 
+        0, 16, 112, 111, 115, 83, 117, 102, 102, 105, 120, 80, 97, 116, 116, 101, 114, 110, 113, 0, 
+        126, 0, 1, 76, 0, 14, 112, 111, 115, 105, 116, 105, 118, 101, 80, 114, 101, 102, 105, 120, 
+        113, 0, 126, 0, 1, 76, 0, 14, 112, 111, 115, 105, 116, 105, 118, 101, 83, 117, 102, 102, 
+        105, 120, 113, 0, 126, 0, 1, 76, 0, 17, 114, 111, 117, 110, 100, 105, 110, 103, 73, 110, 
+        99, 114, 101, 109, 101, 110, 116, 116, 0, 22, 76, 106, 97, 118, 97, 47, 109, 97, 116, 104, 
+        47, 66, 105, 103, 68, 101, 99, 105, 109, 97, 108, 59, 76, 0, 7, 115, 121, 109, 98, 111, 
+        108, 115, 116, 0, 39, 76, 99, 111, 109, 47, 105, 98, 109, 47, 105, 99, 117, 47, 116, 101, 
+        120, 116, 47, 68, 101, 99, 105, 109, 97, 108, 70, 111, 114, 109, 97, 116, 83, 121, 109, 98, 
+        111, 108, 115, 59, 120, 114, 0, 29, 99, 111, 109, 46, 105, 98, 109, 46, 105, 99, 117, 46, 
+        116, 101, 120, 116, 46, 78, 117, 109, 98, 101, 114, 70, 111, 114, 109, 97, 116, -33, -10, -77, 
+        -65, 19, 125, 7, -24, 3, 0, 11, 90, 0, 12, 103, 114, 111, 117, 112, 105, 110, 103, 85, 
+        115, 101, 100, 66, 0, 17, 109, 97, 120, 70, 114, 97, 99, 116, 105, 111, 110, 68, 105, 103, 
+        105, 116, 115, 66, 0, 16, 109, 97, 120, 73, 110, 116, 101, 103, 101, 114, 68, 105, 103, 105, 
+        116, 115, 73, 0, 21, 109, 97, 120, 105, 109, 117, 109, 70, 114, 97, 99, 116, 105, 111, 110, 
+        68, 105, 103, 105, 116, 115, 73, 0, 20, 109, 97, 120, 105, 109, 117, 109, 73, 110, 116, 101, 
+        103, 101, 114, 68, 105, 103, 105, 116, 115, 66, 0, 17, 109, 105, 110, 70, 114, 97, 99, 116, 
+        105, 111, 110, 68, 105, 103, 105, 116, 115, 66, 0, 16, 109, 105, 110, 73, 110, 116, 101, 103, 
+        101, 114, 68, 105, 103, 105, 116, 115, 73, 0, 21, 109, 105, 110, 105, 109, 117, 109, 70, 114, 
+        97, 99, 116, 105, 111, 110, 68, 105, 103, 105, 116, 115, 73, 0, 20, 109, 105, 110, 105, 109, 
+        117, 109, 73, 110, 116, 101, 103, 101, 114, 68, 105, 103, 105, 116, 115, 90, 0, 16, 112, 97, 
+        114, 115, 101, 73, 110, 116, 101, 103, 101, 114, 79, 110, 108, 121, 73, 0, 21, 115, 101, 114, 
+        105, 97, 108, 86, 101, 114, 115, 105, 111, 110, 79, 110, 83, 116, 114, 101, 97, 109, 120, 114, 
+        0, 16, 106, 97, 118, 97, 46, 116, 101, 120, 116, 46, 70, 111, 114, 109, 97, 116, -5, -40, 
+        -68, 18, -23, 15, 24, 67, 2, 0, 0, 120, 112, 0, 0, 1, 0, 0, 0, 0, 0, 0, 
+        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 120, 0, 0, 
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 32, 0, 0, 0, 0, 0, 0, 0, 
+        6, 0, 0, 0, 2, 1, 116, 0, 1, 45, 116, 0, 0, 116, 0, 1, 45, 116, 0, 0, 
+        116, 0, 0, 113, 0, 126, 0, 8, 116, 0, 0, 116, 0, 0, 112, 115, 114, 0, 37, 99, 
+        111, 109, 46, 105, 98, 109, 46, 105, 99, 117, 46, 116, 101, 120, 116, 46, 68, 101, 99, 105, 
+        109, 97, 108, 70, 111, 114, 109, 97, 116, 83, 121, 109, 98, 111, 108, 115, 80, 29, 23, -103, 
+        8, 104, -109, -100, 2, 0, 18, 67, 0, 16, 100, 101, 99, 105, 109, 97, 108, 83, 101, 112, 
+        97, 114, 97, 116, 111, 114, 67, 0, 5, 100, 105, 103, 105, 116, 67, 0, 11, 101, 120, 112, 
+        111, 110, 101, 110, 116, 105, 97, 108, 67, 0, 17, 103, 114, 111, 117, 112, 105, 110, 103, 83, 
+        101, 112, 97, 114, 97, 116, 111, 114, 67, 0, 9, 109, 105, 110, 117, 115, 83, 105, 103, 110, 
+        67, 0, 17, 109, 111, 110, 101, 116, 97, 114, 121, 83, 101, 112, 97, 114, 97, 116, 111, 114, 
+        67, 0, 9, 112, 97, 100, 69, 115, 99, 97, 112, 101, 67, 0, 16, 112, 97, 116, 116, 101, 
+        114, 110, 83, 101, 112, 97, 114, 97, 116, 111, 114, 67, 0, 7, 112, 101, 114, 77, 105, 108, 
+        108, 67, 0, 7, 112, 101, 114, 99, 101, 110, 116, 67, 0, 8, 112, 108, 117, 115, 83, 105, 
+        103, 110, 73, 0, 21, 115, 101, 114, 105, 97, 108, 86, 101, 114, 115, 105, 111, 110, 79, 110, 
+        83, 116, 114, 101, 97, 109, 67, 0, 9, 122, 101, 114, 111, 68, 105, 103, 105, 116, 76, 0, 
+        3, 78, 97, 78, 113, 0, 126, 0, 1, 76, 0, 14, 99, 117, 114, 114, 101, 110, 99, 121, 
+        83, 121, 109, 98, 111, 108, 113, 0, 126, 0, 1, 76, 0, 17, 101, 120, 112, 111, 110, 101, 
+        110, 116, 83, 101, 112, 97, 114, 97, 116, 111, 114, 113, 0, 126, 0, 1, 76, 0, 8, 105, 
+        110, 102, 105, 110, 105, 116, 121, 113, 0, 126, 0, 1, 76, 0, 18, 105, 110, 116, 108, 67, 
+        117, 114, 114, 101, 110, 99, 121, 83, 121, 109, 98, 111, 108, 113, 0, 126, 0, 1, 120, 112, 
+        0, 46, 0, 35, 0, 0, 0, 44, 0, 45, 0, 46, 0, 42, 0, 59, 32, 48, 0, 37, 
+        0, 43, 0, 0, 0, 2, 0, 48, 116, 0, 3, -17, -65, -67, 116, 0, 1, 36, 116, 0, 
+        1, 69, 116, 0, 3, -30, -120, -98, 116, 0, 3, 85, 83, 68, 
+    };
+
+    final static byte[][] content = {generalInstance, currencyInstance, percentInstance, scientificInstance};
+}
diff --git a/src/com/ibm/icu/dev/test/format/NumberFormatTest.java b/src/com/ibm/icu/dev/test/format/NumberFormatTest.java
new file mode 100755
index 0000000..ddff68c
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/format/NumberFormatTest.java
@@ -0,0 +1,1375 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2001-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+/** 
+ * Port From:   ICU4C v1.8.1 : format : NumberFormatTest
+ * Source File: $ICU4CRoot/source/test/intltest/numfmtst.cpp
+ **/
+
+package com.ibm.icu.dev.test.format;
+
+import com.ibm.icu.dev.test.TestUtil;
+import com.ibm.icu.text.*;
+import com.ibm.icu.text.NumberFormat.*;
+import com.ibm.icu.util.*;
+import com.ibm.icu.impl.LocaleUtility;
+import com.ibm.icu.impl.data.ResourceReader;
+import com.ibm.icu.impl.data.TokenIterator;
+import java.math.BigInteger;
+import java.text.FieldPosition;
+import java.text.ParsePosition;
+import java.text.ParseException;
+import java.util.Locale;
+
+public class NumberFormatTest extends com.ibm.icu.dev.test.TestFmwk {
+    private static final char EURO = '\u20ac';
+
+    public static void main(String[] args) throws Exception {
+        new NumberFormatTest().run(args);
+    }
+    
+    // Test various patterns
+    public void TestPatterns() {
+    
+        DecimalFormatSymbols sym = new DecimalFormatSymbols(Locale.US);
+        final String pat[]    = { "#.#", "#.", ".#", "#" };
+        int pat_length = pat.length;
+        final String newpat[] = { "#0.#", "#0.", "#.0", "#" };
+        final String num[]    = { "0",   "0.", ".0", "0" };
+        for (int i=0; i<pat_length; ++i)
+        {
+            DecimalFormat fmt = new DecimalFormat(pat[i], sym);
+            String newp = fmt.toPattern();
+            if (!newp.equals(newpat[i]))
+                errln("FAIL: Pattern " + pat[i] + " should transmute to " + newpat[i] +
+                      "; " + newp + " seen instead");
+    
+            String s = ((NumberFormat)fmt).format(0);
+            if (!s.equals(num[i]))
+            {
+                errln("FAIL: Pattern " + pat[i] + " should format zero as " + num[i] +
+                      "; " + s + " seen instead");
+                logln("Min integer digits = " + fmt.getMinimumIntegerDigits());
+            }
+        }
+    }
+    
+    // Test exponential pattern
+    public void TestExponential() {
+    
+        DecimalFormatSymbols sym = new DecimalFormatSymbols(Locale.US);
+        final String pat[] = { "0.####E0", "00.000E00", "##0.######E000", "0.###E0;[0.###E0]" };
+        int pat_length = pat.length;
+    
+        double val[] = { 0.01234, 123456789, 1.23e300, -3.141592653e-271 };
+        int val_length = val.length;
+        final String valFormat[] = {
+            // 0.####E0
+            "1.234E-2", "1.2346E8", "1.23E300", "-3.1416E-271",
+            // 00.000E00
+            "12.340E-03", "12.346E07", "12.300E299", "-31.416E-272",
+            // ##0.######E000
+            "12.34E-003", "123.4568E006", "1.23E300", "-314.1593E-273",
+            // 0.###E0;[0.###E0]
+            "1.234E-2", "1.235E8", "1.23E300", "[3.142E-271]" };
+        /*double valParse[] =
+            {
+                0.01234, 123460000, 1.23E300, -3.1416E-271,
+                0.01234, 123460000, 1.23E300, -3.1416E-271,
+                0.01234, 123456800, 1.23E300, -3.141593E-271,
+                0.01234, 123500000, 1.23E300, -3.142E-271,
+            };*/ //The variable is never used
+    
+        int lval[] = { 0, -1, 1, 123456789 };
+        int lval_length = lval.length;
+        final String lvalFormat[] = {
+            // 0.####E0
+            "0E0", "-1E0", "1E0", "1.2346E8",
+            // 00.000E00
+            "00.000E00", "-10.000E-01", "10.000E-01", "12.346E07",
+            // ##0.######E000
+            "0E000", "-1E000", "1E000", "123.4568E006",
+            // 0.###E0;[0.###E0]
+            "0E0", "[1E0]", "1E0", "1.235E8" };
+        int lvalParse[] = 
+            {
+                0, -1, 1, 123460000, 
+                0, -1, 1, 123460000, 
+                0, -1, 1, 123456800, 
+                0, -1, 1, 123500000, 
+            };
+        int ival = 0, ilval = 0;
+        for (int p = 0; p < pat_length; ++p) {
+            DecimalFormat fmt = new DecimalFormat(pat[p], sym);
+            logln("Pattern \"" + pat[p] + "\" -toPattern-> \"" + fmt.toPattern() + "\"");
+            int v;
+            for (v = 0; v < val_length; ++v) {
+                String s;
+                s = ((NumberFormat) fmt).format(val[v]);
+                logln(" " + val[v] + " -format-> " + s);
+                if (!s.equals(valFormat[v + ival]))
+                    errln("FAIL: Expected " + valFormat[v + ival]);
+    
+                ParsePosition pos = new ParsePosition(0);
+                double a = fmt.parse(s, pos).doubleValue();
+                if (pos.getIndex() == s.length()) {
+                    logln("  -parse-> " + Double.toString(a));
+                    // Use epsilon comparison as necessary
+                } else
+                    errln("FAIL: Partial parse (" + pos.getIndex() + " chars) -> " + a);
+            }
+            for (v = 0; v < lval_length; ++v) {
+                String s;
+                s = ((NumberFormat) fmt).format(lval[v]);
+                logln(" " + lval[v] + "L -format-> " + s);
+                if (!s.equals(lvalFormat[v + ilval]))
+                    errln("ERROR: Expected " + lvalFormat[v + ilval] + " Got: " + s);
+    
+                ParsePosition pos = new ParsePosition(0);
+                long a = 0;
+                Number A = fmt.parse(s, pos);
+                if (A != null) {
+                    a = A.longValue();
+                    if (pos.getIndex() == s.length()) {
+                        logln("  -parse-> " + a);
+                        if (a != lvalParse[v + ilval])
+                            errln("FAIL: Expected " + lvalParse[v + ilval]);
+                    } else
+                        errln("FAIL: Partial parse (" + pos.getIndex() + " chars) -> " + Long.toString(a));
+                } else {
+                    errln("Fail to parse the string: " + s);
+                }
+            }
+            ival += val_length;
+            ilval += lval_length;
+        }
+    }
+
+    // Test the handling of quotes
+    public void TestQuotes() {
+    
+        StringBuffer pat;
+        DecimalFormatSymbols sym = new DecimalFormatSymbols(Locale.US);
+        pat = new StringBuffer("a'fo''o'b#");
+        DecimalFormat fmt = new DecimalFormat(pat.toString(), sym);
+        String s = ((NumberFormat)fmt).format(123);
+        logln("Pattern \"" + pat + "\"");
+        logln(" Format 123 . " + s);
+        if (!s.equals("afo'ob123")) 
+            errln("FAIL: Expected afo'ob123");
+        
+        s ="";
+        pat = new StringBuffer("a''b#");
+        fmt = new DecimalFormat(pat.toString(), sym);
+        s = ((NumberFormat)fmt).format(123);
+        logln("Pattern \"" + pat + "\"");
+        logln(" Format 123 . " + s);
+        if (!s.equals("a'b123")) 
+            errln("FAIL: Expected a'b123");
+    }
+    
+    public void TestParseCurrencyTrailingSymbol() {
+        // see sun bug 4709840
+        NumberFormat fmt = NumberFormat.getCurrencyInstance(Locale.GERMANY);
+        float val = 12345.67f;
+        String str = fmt.format(val);
+        logln("val: " + val + " str: " + str);
+        try {
+            Number num = fmt.parse(str);
+            logln("num: " + num);
+        } catch (ParseException e) {
+            errln("parse of '" + str + "' threw exception: " + e);
+        }
+    }
+
+    /**
+     * Test the handling of the currency symbol in patterns.
+     **/
+    public void TestCurrencySign() {
+        DecimalFormatSymbols sym = new DecimalFormatSymbols(Locale.US);
+        StringBuffer pat = new StringBuffer("");
+        char currency = 0x00A4;
+        // "\xA4#,##0.00;-\xA4#,##0.00"
+        pat.append(currency).append("#,##0.00;-").append(currency).append("#,##0.00");
+        DecimalFormat fmt = new DecimalFormat(pat.toString(), sym);
+        String s = ((NumberFormat) fmt).format(1234.56);
+        pat = new StringBuffer("");
+        logln("Pattern \"" + fmt.toPattern() + "\"");
+        logln(" Format " + 1234.56 + " . " + s);
+        if (!s.equals("$1,234.56"))
+            errln("FAIL: Expected $1,234.56");
+        s = "";
+        s = ((NumberFormat) fmt).format(-1234.56);
+        logln(" Format " + Double.toString(-1234.56) + " . " + s);
+        if (!s.equals("-$1,234.56"))
+            errln("FAIL: Expected -$1,234.56");
+    
+        pat = new StringBuffer("");
+        // "\xA4\xA4 #,##0.00;\xA4\xA4 -#,##0.00"
+        pat.append(currency).append(currency).append(" #,##0.00;").append(currency).append(currency).append(" -#,##0.00"); 
+        fmt = new DecimalFormat(pat.toString(), sym);
+        s = "";
+        s = ((NumberFormat) fmt).format(1234.56);
+        logln("Pattern \"" + fmt.toPattern() + "\"");
+        logln(" Format " + Double.toString(1234.56) + " . " + s);
+    
+        if (!s.equals("USD 1,234.56"))
+            errln("FAIL: Expected USD 1,234.56");
+        s = "";
+        s = ((NumberFormat) fmt).format(-1234.56);
+        logln(" Format " + Double.toString(-1234.56) + " . " + s);
+        if (!s.equals("USD -1,234.56"))
+            errln("FAIL: Expected USD -1,234.56");
+    
+    }
+    
+    /**
+     * Test localized currency patterns.
+     */
+    public void TestCurrency() {
+        String[] DATA = {
+            "fr", "CA", "", "1,50 $",
+            "de", "DE", "", "1,50 \u20AC",
+            "de", "DE", "PREEURO", "1,50 DM",
+            "fr", "FR", "", "1,50 \u20AC",
+            "fr", "FR", "PREEURO", "1,50 F",
+        };
+
+        for (int i=0; i<DATA.length; i+=4) {
+            Locale locale = new Locale(DATA[i], DATA[i+1], DATA[i+2]);
+            NumberFormat fmt = NumberFormat.getCurrencyInstance(locale);
+            String s = fmt.format(1.50);
+            if (s.equals(DATA[i+3])) {
+                logln("Ok: 1.50 x " + locale + " => " + s);
+            } else {
+                logln("FAIL: 1.50 x " + locale + " => " + s +
+                      ", expected " + DATA[i+3]);
+            }
+        }
+        
+        // format currency with CurrencyAmount
+        for (int i=0; i<DATA.length; i+=4) {
+            Locale locale = new Locale(DATA[i], DATA[i+1], DATA[i+2]);
+            
+            Currency curr = Currency.getInstance(locale);
+            logln("\nName of the currency is: " + curr.getName(locale, Currency.LONG_NAME, new boolean[] {false}));
+            CurrencyAmount cAmt = new CurrencyAmount(1.5, curr);
+            logln("CurrencyAmount object's hashCode is: " + cAmt.hashCode()); //cover hashCode
+            
+            NumberFormat fmt = NumberFormat.getCurrencyInstance(locale);
+            String sCurr = fmt.format(cAmt);
+            if (sCurr.equals(DATA[i+3])) {
+                logln("Ok: 1.50 x " + locale + " => " + sCurr);
+            } else {
+                errln("FAIL: 1.50 x " + locale + " => " + sCurr +
+                      ", expected " + DATA[i+3]);
+            }            
+        }
+        
+        //Cover MeasureFormat.getCurrencyFormat()
+        ULocale save = ULocale.getDefault();
+        ULocale.setDefault(ULocale.US);
+        MeasureFormat curFmt = MeasureFormat.getCurrencyFormat();
+        //Not knowing how to test this factory method,
+        //  because the concreat class of MeasureFormat -
+        //  CurrencyFormat is just for internal use.
+        ULocale.setDefault(save);        
+    }
+
+    /**
+     * Test the Currency object handling, new as of ICU 2.2.
+     */
+    public void TestCurrencyObject() {
+        NumberFormat fmt = 
+            NumberFormat.getCurrencyInstance(Locale.US);
+        
+        expectCurrency(fmt, null, 1234.56, "$1,234.56");
+
+        expectCurrency(fmt, Currency.getInstance(Locale.FRANCE),
+                       1234.56, "\u20AC1,234.56"); // Euro
+
+        expectCurrency(fmt, Currency.getInstance(Locale.JAPAN),
+                       1234.56, "\u00A51,235"); // Yen
+
+        expectCurrency(fmt, Currency.getInstance(new Locale("fr", "CH", "")),
+                       1234.56, "SwF1,234.55"); // 0.05 rounding
+
+        expectCurrency(fmt, Currency.getInstance(Locale.US),
+                       1234.56, "$1,234.56");
+
+        fmt = NumberFormat.getCurrencyInstance(Locale.FRANCE);
+        
+        expectCurrency(fmt, null, 1234.56, "1 234,56 \u20AC");
+
+        expectCurrency(fmt, Currency.getInstance(Locale.JAPAN),
+                       1234.56, "1 235 \u00A5"); // Yen
+
+        expectCurrency(fmt, Currency.getInstance(new Locale("fr", "CH", "")),
+                       1234.56, "1 234,55 sFr."); // 0.25 rounding
+
+        expectCurrency(fmt, Currency.getInstance(Locale.US),
+                       1234.56, "1 234,56 $");
+
+        expectCurrency(fmt, Currency.getInstance(Locale.FRANCE),
+                       1234.56, "1 234,56 \u20AC"); // Euro
+    }
+    
+    public void TestCurrencyPatterns() {
+        int i;
+        Locale[] locs = NumberFormat.getAvailableLocales();
+        for (i=0; i<locs.length; ++i) {
+            NumberFormat nf = NumberFormat.getCurrencyInstance(locs[i]);
+            // Make sure currency formats do not have a variable number
+            // of fraction digits
+            int min = nf.getMinimumFractionDigits();
+            int max = nf.getMaximumFractionDigits();
+            if (min != max) {
+                String a = nf.format(1.0);
+                String b = nf.format(1.125);
+                errln("FAIL: " + locs[i] +
+                      " min fraction digits != max fraction digits; "+
+                      "x 1.0 => " + a +
+                      "; x 1.125 => " + b);
+            }
+                
+            // Make sure EURO currency formats have exactly 2 fraction digits
+            if (nf instanceof DecimalFormat) {
+                Currency curr = ((DecimalFormat) nf).getCurrency();
+                if (curr != null && "EUR".equals(curr.getCurrencyCode())) {
+                    if (min != 2 || max != 2) {
+                        String a = nf.format(1.0);
+                        errln("FAIL: " + locs[i] +
+                              " is a EURO format but it does not have 2 fraction digits; "+
+                              "x 1.0 => " +
+                              a);
+                    }
+                }
+            }
+        }
+    }
+
+    /**
+     * Do rudimentary testing of parsing.
+     */
+    public void TestParse() {
+        String arg = "0.0";
+        DecimalFormat format = new DecimalFormat("00");
+        double aNumber = 0l;
+        try {
+            aNumber = format.parse(arg).doubleValue();
+        } catch (ParseException e) {
+            System.out.println(e);
+        }
+        logln("parse(" + arg + ") = " + aNumber);
+    }
+    
+    /**
+     * Test proper rounding by the format method.
+     */
+    public void TestRounding487() {
+    
+        NumberFormat nf = NumberFormat.getInstance();
+        roundingTest(nf, 0.00159999, 4, "0.0016");
+        roundingTest(nf, 0.00995, 4, "0.01");
+    
+        roundingTest(nf, 12.3995, 3, "12.4");
+    
+        roundingTest(nf, 12.4999, 0, "12");
+        roundingTest(nf, - 19.5, 0, "-20");
+    
+    }
+    
+    /**
+     * Test the functioning of the secondary grouping value.
+     */
+    public void TestSecondaryGrouping() {
+    
+        DecimalFormatSymbols US = new DecimalFormatSymbols(Locale.US);
+        DecimalFormat f = new DecimalFormat("#,##,###", US);
+    
+        expect(f, 123456789L, "12,34,56,789");
+        expectPat(f, "#,##,###");
+        f.applyPattern("#,###");
+    
+        f.setSecondaryGroupingSize(4);
+        expect(f, 123456789L, "12,3456,789");
+        expectPat(f, "#,####,###");
+        NumberFormat g = NumberFormat.getInstance(new Locale("hi", "IN"));
+    
+        String out = "";
+        long l = 1876543210L;
+        out = g.format(l);
+    
+        // expect "1,87,65,43,210", but with Hindi digits
+        //         01234567890123
+        boolean ok = true;
+        if (out.length() != 14) {
+            ok = false;
+        } else {
+            for (int i = 0; i < out.length(); ++i) {
+                boolean expectGroup = false;
+                switch (i) {
+                    case 1 :
+                    case 4 :
+                    case 7 :
+                    case 10 :
+                        expectGroup = true;
+                        break;
+                }
+                // Later -- fix this to get the actual grouping
+                // character from the resource bundle.
+                boolean isGroup = (out.charAt(i) == 0x002C);
+                if (isGroup != expectGroup) {
+                    ok = false;
+                    break;
+                }
+            }
+        }
+        if (!ok) {
+            errln("FAIL  Expected "+ l + " x hi_IN . \"1,87,65,43,210\" (with Hindi digits), got \""
+                    + out + "\""); 
+        } else {
+            logln("Ok    " + l + " x hi_IN . \"" + out + "\"");
+        }
+    }
+    
+    public void roundingTest(NumberFormat nf, double x, int maxFractionDigits, final String expected) {
+        nf.setMaximumFractionDigits(maxFractionDigits);
+        String out = nf.format(x);
+        logln(x + " formats with " + maxFractionDigits + " fractional digits to " + out); 
+        if (!out.equals(expected))
+            errln("FAIL: Expected " + expected);
+    }
+    
+    /**
+     * Upgrade to alphaWorks
+     */
+    public void TestExponent() {
+        DecimalFormatSymbols US = new DecimalFormatSymbols(Locale.US);
+        DecimalFormat fmt1 = new DecimalFormat("0.###E0", US);
+        DecimalFormat fmt2 = new DecimalFormat("0.###E+0", US);
+        int n = 1234;
+        expect2(fmt1, n, "1.234E3");
+        expect2(fmt2, n, "1.234E+3");
+        expect(fmt1, "1.234E+3", n); // Either format should parse "E+3"
+
+    }
+    
+    /**
+     * Upgrade to alphaWorks
+     */
+    public void TestScientific() {
+    
+        DecimalFormatSymbols US = new DecimalFormatSymbols(Locale.US);
+    
+        // Test pattern round-trip
+        final String PAT[] = { "#E0", "0.####E0", "00.000E00", "##0.####E000", "0.###E0;[0.###E0]" };
+        int PAT_length = PAT.length;
+        int DIGITS[] = {
+            // min int, max int, min frac, max frac
+            0, 1, 0, 0, // "#E0"
+            1, 1, 0, 4, // "0.####E0"
+            2, 2, 3, 3, // "00.000E00"
+            1, 3, 0, 4, // "##0.####E000"
+            1, 1, 0, 3, // "0.###E0;[0.###E0]"
+        };
+        for (int i = 0; i < PAT_length; ++i) {
+            String pat = PAT[i];
+            DecimalFormat df = new DecimalFormat(pat, US);
+            String pat2 = df.toPattern();
+            if (pat.equals(pat2)) {
+                logln("Ok   Pattern rt \"" + pat + "\" . \"" + pat2 + "\"");
+            } else {
+                errln("FAIL Pattern rt \"" + pat + "\" . \"" + pat2 + "\"");
+            }
+            // Make sure digit counts match what we expect
+            if (df.getMinimumIntegerDigits() != DIGITS[4 * i]
+                || df.getMaximumIntegerDigits() != DIGITS[4 * i + 1]
+                || df.getMinimumFractionDigits() != DIGITS[4 * i + 2]
+                || df.getMaximumFractionDigits() != DIGITS[4 * i + 3]) {
+                errln("FAIL \""+ pat+ "\" min/max int; min/max frac = "
+                        + df.getMinimumIntegerDigits() + "/"
+                        + df.getMaximumIntegerDigits() + ";"
+                        + df.getMinimumFractionDigits() + "/"
+                        + df.getMaximumFractionDigits() + ", expect "
+                        + DIGITS[4 * i] + "/"
+                        + DIGITS[4 * i + 1] + ";" 
+                        + DIGITS[4 * i + 2] + "/"
+                        + DIGITS[4 * i + 3]); 
+            }
+        }
+    
+        expect2(new DecimalFormat("#E0", US), 12345.0, "1.2345E4");
+        expect(new DecimalFormat("0E0", US), 12345.0, "1E4");
+    
+        // pattern of NumberFormat.getScientificInstance(Locale.US) = "0.######E0" not "#E0"
+        // so result = 1.234568E4 not 1.2345678901E4
+        //when the pattern problem is finalized, delete comment mark'//' 
+        //of the following code
+        expect2(NumberFormat.getScientificInstance(Locale.US), 12345.678901, "1.2345678901E4");
+        logln("Testing NumberFormat.getScientificInstance(ULocale) ..."); 
+        expect2(NumberFormat.getScientificInstance(ULocale.US), 12345.678901, "1.2345678901E4");        
+    
+        expect(new DecimalFormat("##0.###E0", US), 12345.0, "12.34E3");
+        expect(new DecimalFormat("##0.###E0", US), 12345.00001, "12.35E3");
+        expect2(new DecimalFormat("##0.####E0", US), 12345, "12.345E3");
+    
+        // pattern of NumberFormat.getScientificInstance(Locale.US) = "0.######E0" not "#E0"
+        // so result = 1.234568E4 not 1.2345678901E4
+        expect2(NumberFormat.getScientificInstance(Locale.FRANCE), 12345.678901, "1,2345678901E4");
+        logln("Testing NumberFormat.getScientificInstance(ULocale) ...");
+        expect2(NumberFormat.getScientificInstance(ULocale.FRANCE), 12345.678901, "1,2345678901E4");        
+    
+        expect(new DecimalFormat("##0.####E0", US), 789.12345e-9, "789.12E-9");
+        expect2(new DecimalFormat("##0.####E0", US), 780.e-9, "780E-9");
+        expect(new DecimalFormat(".###E0", US), 45678.0, ".457E5");
+        expect2(new DecimalFormat(".###E0", US), 0, ".0E0");
+        /*
+        expect(new DecimalFormat[] { new DecimalFormat("#E0", US),
+                                     new DecimalFormat("##E0", US),
+                                     new DecimalFormat("####E0", US),
+                                     new DecimalFormat("0E0", US),    
+                                     new DecimalFormat("00E0", US),   
+                                     new DecimalFormat("000E0", US), 
+                                   },
+               new Long(45678000),
+               new String[] { "4.5678E7",
+                              "45.678E6",
+                              "4567.8E4",
+                              "5E7",
+                              "46E6",  
+                              "457E5",
+                            }
+               );
+        !
+        ! Unroll this test into individual tests below...
+        !
+        */
+        expect2(new DecimalFormat("#E0", US), 45678000, "4.5678E7");
+        expect2(new DecimalFormat("##E0", US), 45678000, "45.678E6");
+        expect2(new DecimalFormat("####E0", US), 45678000, "4567.8E4");
+        expect(new DecimalFormat("0E0", US), 45678000, "5E7");
+        expect(new DecimalFormat("00E0", US), 45678000, "46E6");
+        expect(new DecimalFormat("000E0", US), 45678000, "457E5");
+        /*
+        expect(new DecimalFormat("###E0", US, status),
+               new Object[] { new Double(0.0000123), "12.3E-6",
+                              new Double(0.000123), "123E-6",
+                              new Double(0.00123), "1.23E-3",
+                              new Double(0.0123), "12.3E-3",
+                              new Double(0.123), "123E-3",
+                              new Double(1.23), "1.23E0",
+                              new Double(12.3), "12.3E0",
+                              new Double(123), "123E0",
+                              new Double(1230), "1.23E3",
+                             });
+        !
+        ! Unroll this test into individual tests below...
+        !
+        */
+        expect2(new DecimalFormat("###E0", US), 0.0000123, "12.3E-6");
+        expect2(new DecimalFormat("###E0", US), 0.000123, "123E-6");
+        expect2(new DecimalFormat("###E0", US), 0.00123, "1.23E-3");
+        expect2(new DecimalFormat("###E0", US), 0.0123, "12.3E-3");
+        expect2(new DecimalFormat("###E0", US), 0.123, "123E-3");
+        expect2(new DecimalFormat("###E0", US), 1.23, "1.23E0");
+        expect2(new DecimalFormat("###E0", US), 12.3, "12.3E0");
+        expect2(new DecimalFormat("###E0", US), 123.0, "123E0");
+        expect2(new DecimalFormat("###E0", US), 1230.0, "1.23E3");
+        /*
+        expect(new DecimalFormat("0.#E+00", US, status),
+               new Object[] { new Double(0.00012), "1.2E-04",
+                              new Long(12000),     "1.2E+04",
+                             });
+        !
+        ! Unroll this test into individual tests below...
+        !
+        */
+        expect2(new DecimalFormat("0.#E+00", US), 0.00012, "1.2E-04");
+        expect2(new DecimalFormat("0.#E+00", US), 12000, "1.2E+04");
+    }
+    
+    /**
+     * Upgrade to alphaWorks
+     */
+    public void TestPad() {
+    
+        DecimalFormatSymbols US = new DecimalFormatSymbols(Locale.US);
+        expect2(new DecimalFormat("*^##.##", US), 0, "^^^^0");
+        expect2(new DecimalFormat("*^##.##", US), -1.3, "^-1.3");
+        expect2(
+            new DecimalFormat("##0.0####E0*_ 'g-m/s^2'", US), 
+            0, 
+            "0.0E0______ g-m/s^2"); 
+        expect(
+            new DecimalFormat("##0.0####E0*_ 'g-m/s^2'", US), 
+            1.0 / 3, 
+            "333.333E-3_ g-m/s^2"); 
+        expect2(new DecimalFormat("##0.0####*_ 'g-m/s^2'", US), 0, "0.0______ g-m/s^2");
+        expect(
+            new DecimalFormat("##0.0####*_ 'g-m/s^2'", US), 
+            1.0 / 3, 
+            "0.33333__ g-m/s^2"); 
+    
+        // Test padding before a sign
+        final String formatStr = "*x#,###,###,##0.0#;*x(###,###,##0.0#)";
+        expect2(new DecimalFormat(formatStr, US), -10, "xxxxxxxxxx(10.0)");
+        expect2(new DecimalFormat(formatStr, US), -1000, "xxxxxxx(1,000.0)");
+        expect2(new DecimalFormat(formatStr, US), -1000000, "xxx(1,000,000.0)");
+        expect2(new DecimalFormat(formatStr, US), -100.37, "xxxxxxxx(100.37)");
+        expect2(new DecimalFormat(formatStr, US), -10456.37, "xxxxx(10,456.37)");
+        expect2(new DecimalFormat(formatStr, US), -1120456.37, "xx(1,120,456.37)");
+        expect2(new DecimalFormat(formatStr, US), -112045600.37, "(112,045,600.37)");
+        expect2(new DecimalFormat(formatStr, US), -1252045600.37, "(1,252,045,600.37)");
+    
+        expect2(new DecimalFormat(formatStr, US), 10, "xxxxxxxxxxxx10.0");
+        expect2(new DecimalFormat(formatStr, US), 1000, "xxxxxxxxx1,000.0");
+        expect2(new DecimalFormat(formatStr, US), 1000000, "xxxxx1,000,000.0");
+        expect2(new DecimalFormat(formatStr, US), 100.37, "xxxxxxxxxx100.37");
+        expect2(new DecimalFormat(formatStr, US), 10456.37, "xxxxxxx10,456.37");
+        expect2(new DecimalFormat(formatStr, US), 1120456.37, "xxxx1,120,456.37");
+        expect2(new DecimalFormat(formatStr, US), 112045600.37, "xx112,045,600.37");
+        expect2(new DecimalFormat(formatStr, US), 10252045600.37, "10,252,045,600.37");
+    
+        // Test padding between a sign and a number
+        final String formatStr2 = "#,###,###,##0.0#*x;(###,###,##0.0#*x)";
+        expect2(new DecimalFormat(formatStr2, US), -10, "(10.0xxxxxxxxxx)");
+        expect2(new DecimalFormat(formatStr2, US), -1000, "(1,000.0xxxxxxx)");
+        expect2(new DecimalFormat(formatStr2, US), -1000000, "(1,000,000.0xxx)");
+        expect2(new DecimalFormat(formatStr2, US), -100.37, "(100.37xxxxxxxx)");
+        expect2(new DecimalFormat(formatStr2, US), -10456.37, "(10,456.37xxxxx)");
+        expect2(new DecimalFormat(formatStr2, US), -1120456.37, "(1,120,456.37xx)");
+        expect2(new DecimalFormat(formatStr2, US), -112045600.37, "(112,045,600.37)");
+        expect2(new DecimalFormat(formatStr2, US), -1252045600.37, "(1,252,045,600.37)"); 
+    
+        expect2(new DecimalFormat(formatStr2, US), 10, "10.0xxxxxxxxxxxx");
+        expect2(new DecimalFormat(formatStr2, US), 1000, "1,000.0xxxxxxxxx");
+        expect2(new DecimalFormat(formatStr2, US), 1000000, "1,000,000.0xxxxx");
+        expect2(new DecimalFormat(formatStr2, US), 100.37, "100.37xxxxxxxxxx");
+        expect2(new DecimalFormat(formatStr2, US), 10456.37, "10,456.37xxxxxxx");
+        expect2(new DecimalFormat(formatStr2, US), 1120456.37, "1,120,456.37xxxx");
+        expect2(new DecimalFormat(formatStr2, US), 112045600.37, "112,045,600.37xx");
+        expect2(new DecimalFormat(formatStr2, US), 10252045600.37, "10,252,045,600.37");
+    
+        //testing the setPadCharacter(UnicodeString) and getPadCharacterString()
+        DecimalFormat fmt = new DecimalFormat("#", US);
+        char padString = 'P';
+        fmt.setPadCharacter(padString);
+        expectPad(fmt, "*P##.##", DecimalFormat.PAD_BEFORE_PREFIX, 5, padString);
+        fmt.setPadCharacter('^');
+        expectPad(fmt, "*^#", DecimalFormat.PAD_BEFORE_PREFIX, 1, '^');
+        //commented untill implementation is complete
+        /*  fmt.setPadCharacter((UnicodeString)"^^^");
+          expectPad(fmt, "*^^^#", DecimalFormat.kPadBeforePrefix, 3, (UnicodeString)"^^^");
+          padString.remove();
+          padString.append((UChar)0x0061);
+          padString.append((UChar)0x0302);
+          fmt.setPadCharacter(padString);
+          UChar patternChars[]={0x002a, 0x0061, 0x0302, 0x0061, 0x0302, 0x0023, 0x0000};
+          UnicodeString pattern(patternChars);
+          expectPad(fmt, pattern , DecimalFormat.kPadBeforePrefix, 4, padString);
+          */
+    }
+    
+    /**
+     * Upgrade to alphaWorks
+     */
+    public void TestPatterns2() {
+        DecimalFormatSymbols US = new DecimalFormatSymbols(Locale.US);
+        DecimalFormat fmt = new DecimalFormat("#", US);
+    
+        char hat = 0x005E; /*^*/
+    
+        expectPad(fmt, "*^#", DecimalFormat.PAD_BEFORE_PREFIX, 1, hat);
+        expectPad(fmt, "$*^#", DecimalFormat.PAD_AFTER_PREFIX, 2, hat);
+        expectPad(fmt, "#*^", DecimalFormat.PAD_BEFORE_SUFFIX, 1, hat);
+        expectPad(fmt, "#$*^", DecimalFormat.PAD_AFTER_SUFFIX, 2, hat);
+        expectPad(fmt, "$*^$#", -1);
+        expectPad(fmt, "#$*^$", -1);
+        expectPad(fmt, "'pre'#,##0*x'post'", DecimalFormat.PAD_BEFORE_SUFFIX, 12, (char) 0x0078 /*x*/); 
+        expectPad(fmt, "''#0*x", DecimalFormat.PAD_BEFORE_SUFFIX, 3, (char) 0x0078 /*x*/); 
+        expectPad(fmt, "'I''ll'*a###.##", DecimalFormat.PAD_AFTER_PREFIX, 10, (char) 0x0061 /*a*/); 
+    
+        fmt.applyPattern("AA#,##0.00ZZ");
+        fmt.setPadCharacter(hat);
+    
+        fmt.setFormatWidth(10);
+    
+        fmt.setPadPosition(DecimalFormat.PAD_BEFORE_PREFIX);
+        expectPat(fmt, "*^AA#,##0.00ZZ");
+    
+        fmt.setPadPosition(DecimalFormat.PAD_BEFORE_SUFFIX);
+        expectPat(fmt, "AA#,##0.00*^ZZ");
+    
+        fmt.setPadPosition(DecimalFormat.PAD_AFTER_SUFFIX);
+        expectPat(fmt, "AA#,##0.00ZZ*^");
+    
+        //            12  3456789012
+        String exp = "AA*^#,##0.00ZZ";
+        fmt.setFormatWidth(12);
+        fmt.setPadPosition(DecimalFormat.PAD_AFTER_PREFIX);
+        expectPat(fmt, exp);
+    
+        fmt.setFormatWidth(13);
+        //              12  34567890123
+        expectPat(fmt, "AA*^##,##0.00ZZ");
+    
+        fmt.setFormatWidth(14);
+        //              12  345678901234
+        expectPat(fmt, "AA*^###,##0.00ZZ");
+    
+        fmt.setFormatWidth(15);
+        //              12  3456789012345
+        expectPat(fmt, "AA*^####,##0.00ZZ"); // This is the interesting case
+    
+        fmt.setFormatWidth(16);
+        //              12  34567890123456
+        expectPat(fmt, "AA*^#,###,##0.00ZZ");
+    }
+
+    public void TestRegistration() {
+        final ULocale SRC_LOC = ULocale.FRANCE;
+        final ULocale SWAP_LOC = ULocale.US;
+
+        class TestFactory extends SimpleNumberFormatFactory {
+            NumberFormat currencyStyle;
+
+            TestFactory() {
+                super(SRC_LOC, true);
+                currencyStyle = NumberFormat.getIntegerInstance(SWAP_LOC);
+            }
+
+            public NumberFormat createFormat(ULocale loc, int formatType) {
+                if (formatType == FORMAT_CURRENCY) {
+                    return currencyStyle;
+                }
+                return null;
+            }
+        }
+        
+        NumberFormat f0 = NumberFormat.getIntegerInstance(SWAP_LOC);
+        NumberFormat f1 = NumberFormat.getIntegerInstance(SRC_LOC);
+        NumberFormat f2 = NumberFormat.getCurrencyInstance(SRC_LOC);
+        Object key = NumberFormat.registerFactory(new TestFactory());
+        NumberFormat f3 = NumberFormat.getCurrencyInstance(SRC_LOC);
+        NumberFormat f4 = NumberFormat.getIntegerInstance(SRC_LOC);
+        NumberFormat.unregister(key); // restore for other tests
+        NumberFormat f5 = NumberFormat.getCurrencyInstance(SRC_LOC);
+
+        float n = 1234.567f;
+        logln("f0 swap int: " + f0.format(n));
+        logln("f1 src int: " + f1.format(n));
+        logln("f2 src cur: " + f2.format(n));
+        logln("f3 reg cur: " + f3.format(n));
+        logln("f4 reg int: " + f4.format(n));
+        logln("f5 unreg cur: " + f5.format(n));
+
+        if (!f3.format(n).equals(f0.format(n))) {
+            errln("registered service did not match");
+        }
+        if (!f4.format(n).equals(f1.format(n))) {
+            errln("registered service did not inherit");
+        }
+        if (!f5.format(n).equals(f2.format(n))) {
+            errln("unregistered service did not match original");
+        }
+    }
+
+    public void TestScientific2() {
+        // jb 2552
+        DecimalFormat fmt = (DecimalFormat)NumberFormat.getCurrencyInstance();
+        Number num = new Double(12.34);
+        expect(fmt, num, "$12.34");
+        fmt.setScientificNotation(true);
+        expect(fmt, num, "$1.23E1");
+        fmt.setScientificNotation(false);
+        expect(fmt, num, "$12.34");
+    }
+
+    public void TestScientificGrouping() {
+        // jb 2552
+        DecimalFormat fmt = new DecimalFormat("###.##E0");
+        expect(fmt, .01234, "12.3E-3");
+        expect(fmt, .1234, "123E-3");
+        expect(fmt, 1.234, "1.23E0");
+        expect(fmt, 12.34, "12.3E0");
+        expect(fmt, 123.4, "123E0");
+        expect(fmt, 1234, "1.23E3");
+    }
+
+    // additional coverage tests
+    
+    // sigh, can't have static inner classes, why not?
+
+    static final class PI extends Number {
+        private PI() {}
+        public int intValue() { return (int)Math.PI; }
+        public long longValue() { return (long)Math.PI; }
+        public float  floatValue() { return (float)Math.PI; }
+        public double doubleValue() { return (double)Math.PI; }
+        public byte byteValue() { return (byte)Math.PI; }
+        public short shortValue() { return (short)Math.PI; }
+
+        public static final Number INSTANCE = new PI();
+    }
+
+    public void TestCoverage() {
+        NumberFormat fmt = NumberFormat.getNumberInstance(); // default locale
+        logln(fmt.format(new BigInteger("1234567890987654321234567890987654321", 10)));
+
+        fmt = NumberFormat.getScientificInstance(); // default locale
+
+        logln(fmt.format(PI.INSTANCE));
+
+        try {
+            logln(fmt.format("12345"));
+            errln("numberformat of string did not throw exception");
+        }
+        catch (Exception e) {
+        	logln("PASS: numberformat of string failed as expected");
+        }
+
+        int hash = fmt.hashCode();
+
+        logln("compare to string returns: " + fmt.equals(""));
+
+        // For ICU 2.6 - alan
+        DecimalFormatSymbols US = new DecimalFormatSymbols(Locale.US);
+        DecimalFormat df = new DecimalFormat("'*&'' '\u00A4' ''&*' #,##0.00", US);
+        df.setCurrency(Currency.getInstance("INR"));
+        expect2(df, 1.0, "*&' Re. '&* 1.00");
+        expect2(df, -2.0, "-*&' Rs. '&* 2.00");
+        df.applyPattern("#,##0.00 '*&'' '\u00A4' ''&*'");
+        expect2(df, 2.0, "2.00 *&' Rs. '&*");
+        expect2(df, -1.0, "-1.00 *&' Re. '&*");
+
+        java.math.BigDecimal r = df.getRoundingIncrement();
+        if (r != null) {
+            errln("FAIL: rounding = " + r + ", expect null");
+        }
+        
+        if (df.isScientificNotation()) {
+            errln("FAIL: isScientificNotation = true, expect false");
+        }
+
+        df.applyPattern("0.00000");
+        df.setScientificNotation(true);
+        if (!df.isScientificNotation()) {
+            errln("FAIL: isScientificNotation = false, expect true");
+        }
+        df.setMinimumExponentDigits((byte)2);
+        if (df.getMinimumExponentDigits() != 2) {
+            errln("FAIL: getMinimumExponentDigits = " +
+                  df.getMinimumExponentDigits() + ", expect 2");
+        }
+        df.setExponentSignAlwaysShown(true);
+        if (!df.isExponentSignAlwaysShown()) {
+            errln("FAIL: isExponentSignAlwaysShown = false, expect true");
+        }
+        df.setSecondaryGroupingSize(0);
+        if (df.getSecondaryGroupingSize() != 0) {
+            errln("FAIL: getSecondaryGroupingSize = " +
+                  df.getSecondaryGroupingSize() + ", expect 0");
+        }
+        expect2(df, 3.14159, "3.14159E+00");
+    }
+
+    public void TestWhiteSpaceParsing() {
+        DecimalFormatSymbols US = new DecimalFormatSymbols(Locale.US);
+        DecimalFormat fmt = new DecimalFormat("a  b#0c  ", US);
+        int n = 1234;
+        expect(fmt, "a b1234c ", n);
+        expect(fmt, "a   b1234c   ", n);
+    }
+
+    /**
+     * Test currencies whose display name is a ChoiceFormat.
+     */
+    public void TestComplexCurrency() {
+        Locale loc = new Locale("en", "IN", "");
+        NumberFormat fmt = NumberFormat.getCurrencyInstance(loc);
+
+        expect2(fmt, 1.0, "Re. 1.00");
+        expect(fmt, 1.001, "Re. 1.00"); // tricky
+        expect2(fmt, 12345678.0, "Rs. 1,23,45,678.00");
+        expect2(fmt, 0.5, "Rs. 0.50");
+        expect2(fmt, -1.0, "-Re. 1.00");
+        expect2(fmt, -10.0, "-Rs. 10.00");
+    }
+
+    public void TestCurrencyKeyword() {
+    ULocale locale = new ULocale("th_TH@currency=QQQ");
+    NumberFormat format = NumberFormat.getCurrencyInstance(locale);
+    String result = format.format(12.34f);
+    if (!"QQQ12.34".equals(result)) {
+        errln("got unexpected currency: " + result);
+    }
+    }
+    
+    public void TestThreadedFormat() {
+
+        class FormatTask implements Runnable {
+            DecimalFormat fmt;
+            StringBuffer buf;
+            boolean inc;
+            float num;
+
+            FormatTask(DecimalFormat fmt, int index) {
+                this.fmt = fmt;
+                this.buf = new StringBuffer();
+                this.inc = (index & 0x1) == 0;
+                this.num = inc ? 0 : 10000;
+            }
+
+            public void run() {
+        if (inc) {
+            while (num < 10000) {
+            buf.append(fmt.format(num) + "\n");
+            num += 3.14159;
+            }
+        } else {
+            while (num > 0) {
+            buf.append(fmt.format(num) + "\n");
+            num -= 3.14159;
+            }
+        }
+        }
+
+        String result() {
+        return buf.toString();
+        }
+    }
+
+        DecimalFormat fmt = new DecimalFormat("0.####");
+        FormatTask[] tasks = new FormatTask[8];
+        for (int i = 0; i < tasks.length; ++i) {
+        tasks[i] = new FormatTask(fmt, i);
+    }
+
+    TestUtil.runUntilDone(tasks);
+
+        for (int i = 2; i < tasks.length; i++) {
+        String str1 = tasks[i].result();
+        String str2 = tasks[i-2].result();
+            if (!str1.equals(str2)) {
+                System.out.println("mismatch at " + i);
+                System.out.println(str1);
+                System.out.println(str2);
+                errln("decimal format thread mismatch");
+                
+                break;
+            }
+            str1 = str2;
+        }
+    }
+
+    public void TestPerMill() {
+        DecimalFormat fmt = new DecimalFormat("###.###\u2030");
+        assertEquals("0.4857 x ###.###\u2030",
+                     "485.7\u2030", fmt.format(0.4857));
+
+        DecimalFormatSymbols sym = new DecimalFormatSymbols(Locale.ENGLISH);
+        sym.setPerMill('m');
+        DecimalFormat fmt2 = new DecimalFormat("", sym);
+        fmt2.applyLocalizedPattern("###.###m");
+        assertEquals("0.4857 x ###.###m",
+                     "485.7m", fmt2.format(0.4857));
+    }
+
+    public void TestIllegalPatterns() {
+        // Test cases:
+        // Prefix with "-:" for illegal patterns
+        // Prefix with "+:" for legal patterns
+        String DATA[] = {
+            // Unquoted special characters in the suffix are illegal
+            "-:000.000|###",
+            "+:000.000'|###'",
+        };
+        for (int i=0; i<DATA.length; ++i) {
+            String pat=DATA[i];
+            boolean valid = pat.charAt(0) == '+';
+            pat = pat.substring(2);
+            Exception e = null;
+            try {
+                // locale doesn't matter here
+                new DecimalFormat(pat);
+            } catch (IllegalArgumentException e1) {
+                e = e1;
+            } catch (IndexOutOfBoundsException e1) {
+                e = e1;
+            }
+            String msg = (e==null) ? "success" : e.getMessage();
+            if ((e==null) == valid) {
+                logln("Ok: pattern \"" + pat + "\": " + msg);
+            } else {
+                errln("FAIL: pattern \"" + pat + "\" should have " +
+                      (valid?"succeeded":"failed") + "; got " + msg);
+            }
+        }
+    }
+
+    /**
+     * Parse a CurrencyAmount using the given NumberFormat, with
+     * the 'delim' character separating the number and the currency.
+     */
+    private static CurrencyAmount parseCurrencyAmount(String str, NumberFormat fmt,
+                                                      char delim) 
+        throws ParseException {
+        int i = str.indexOf(delim);
+        return new CurrencyAmount(fmt.parse(str.substring(0,i)),
+                                  Currency.getInstance(str.substring(i+1)));
+    }
+
+    /**
+     * Return an integer representing the next token from this
+     * iterator.  The integer will be an index into the given list, or
+     * -1 if there are no more tokens, or -2 if the token is not on
+     * the list.
+     */
+    private static int keywordIndex(String tok) {
+        for (int i=0; i<KEYWORDS.length; ++i) {
+            if (tok.equals(KEYWORDS[i])) {
+                return i;
+            }
+        }
+        return -1;
+    }
+
+    private static final String KEYWORDS[] = {
+        /*0*/ "ref=", // <reference pattern to parse numbers>
+        /*1*/ "loc=", // <locale for formats>
+        /*2*/ "f:",   // <pattern or '-'> <number> <exp. string>
+        /*3*/ "fp:",  // <pattern or '-'> <number> <exp. string> <exp. number>
+        /*4*/ "rt:",  // <pattern or '-'> <(exp.) number> <(exp.) string>
+        /*5*/ "p:",   // <pattern or '-'> <string> <exp. number>
+        /*6*/ "perr:", // <pattern or '-'> <invalid string>
+        /*7*/ "pat:", // <pattern or '-'> <exp. toPattern or '-' or 'err'>
+        /*8*/ "fpc:", // <loc or '-'> <curr.amt> <exp. string> <exp. curr.amt>
+    };
+
+    public void TestCases() {
+        String caseFileName = "NumberFormatTestCases.txt";
+        java.io.InputStream is = NumberFormatTest.class.getResourceAsStream(caseFileName);
+
+        ResourceReader reader = new ResourceReader(is, caseFileName);
+        TokenIterator tokens = new TokenIterator(reader);
+
+        Locale loc = new Locale("en", "US", "");
+        DecimalFormat ref = null, fmt = null;
+        MeasureFormat mfmt = null;
+        String pat = null, str = null, mloc = null;
+
+        try {
+            for (;;) {
+                String tok = tokens.next();
+                if (tok == null) {
+                    break;
+                }
+                String where = "(" + tokens.getLineNumber() + ") ";
+                int cmd = keywordIndex(tok);
+                switch (cmd) {
+                case 0:
+                    // ref= <reference pattern>
+                    ref = new DecimalFormat(tokens.next(),
+                                            new DecimalFormatSymbols(Locale.US));
+                    break;
+                case 1:
+                    // loc= <locale>
+                    loc = LocaleUtility.getLocaleFromName(tokens.next());
+                    break;
+                case 2: // f:
+                case 3: // fp:
+                case 4: // rt:
+                case 5: // p:
+                    tok = tokens.next();
+                    if (!tok.equals("-")) {
+                        pat = tok;
+                        try {
+                            fmt = new DecimalFormat(pat, new DecimalFormatSymbols(loc));
+                        } catch (IllegalArgumentException iae) {
+                            errln(where + "Pattern \"" + pat + '"');
+                            iae.printStackTrace();
+                            tokens.next(); // consume remaining tokens
+                            tokens.next();
+                            if (cmd == 3) tokens.next();
+                            continue;
+                        }
+                    }
+                    str = null;
+                    try {
+                        if (cmd == 2 || cmd == 3 || cmd == 4) {
+                            // f: <pattern or '-'> <number> <exp. string>
+                            // fp: <pattern or '-'> <number> <exp. string> <exp. number>
+                            // rt: <pattern or '-'> <number> <string>
+                            String num = tokens.next();
+                            str = tokens.next();
+                            Number n = (Number) ref.parse(num);
+                            assertEquals(where + '"' + pat + "\".format(" + num + ")",
+                                         str, fmt.format(n));
+                            if (cmd == 3) { // fp:
+                                n = (Number) ref.parse(tokens.next());
+                            }
+                            if (cmd != 2) { // != f:
+                                assertEquals(where + '"' + pat + "\".parse(\"" + str + "\")",
+                                             n, fmt.parse(str));
+                            } 
+                        }
+                        // p: <pattern or '-'> <string to parse> <exp. number>
+                        else {
+                            str = tokens.next();
+                            String expstr = tokens.next();
+                            Number exp = (Number) ref.parse(expstr);
+                            assertEquals(where + '"' + pat + "\".parse(\"" + str + "\")",
+                                         exp, fmt.parse(str));
+                        }
+                    } catch (ParseException e) {
+                        errln(where + '"' + pat + "\".parse(\"" + str +
+                              "\") threw an exception");
+                        e.printStackTrace();
+                    }
+                    break;
+                case 6:
+                    // perr: <pattern or '-'> <invalid string>
+                    errln("Under construction");
+                    return;
+                case 7:
+                    // pat: <pattern> <exp. toPattern, or '-' or 'err'>
+                    String testpat = tokens.next();
+                    String exppat  = tokens.next();
+                    boolean err    = exppat.equals("err");
+                    if (testpat.equals("-")) {
+                        if (err) {
+                            errln("Invalid command \"pat: - err\" at " +  tokens.describePosition());
+                            continue;
+                        }
+                        testpat = pat;
+                    }
+                    if (exppat.equals("-")) exppat = testpat;
+                    try {
+                        DecimalFormat f = null;
+                        if (testpat == pat) { // [sic]
+                            f = fmt;
+                        } else {
+                            f = new DecimalFormat(testpat);
+                        }
+                        if (err) {
+                            errln(where + "Invalid pattern \"" + testpat +
+                                  "\" was accepted");
+                        } else {
+                            assertEquals(where + '"' + testpat + "\".toPattern()",
+                                         exppat, f.toPattern());
+                        }
+                    } catch (IllegalArgumentException iae2) {
+                        if (err) {
+                            logln("Ok: " + where + "Invalid pattern \"" + testpat +
+                                  "\" threw an exception");
+                        } else {
+                            errln(where + "Valid pattern \"" + testpat +
+                                  "\" threw an exception");
+                            iae2.printStackTrace();
+                        }
+                    }
+                    break;
+                case 8: // fpc:
+                    tok = tokens.next();
+                    if (!tok.equals("-")) {
+                        mloc = tok;
+                        ULocale l = new ULocale(mloc);
+                        try {
+                            mfmt = MeasureFormat.getCurrencyFormat(l);
+                        } catch (IllegalArgumentException iae) {
+                            errln(where + "Loc \"" + tok + '"');
+                            iae.printStackTrace();
+                            tokens.next(); // consume remaining tokens
+                            tokens.next();
+                            tokens.next();
+                            continue;
+                        }
+                    }
+                    str = null;
+                    try {
+                        // fpc: <loc or '-'> <curr.amt> <exp. string> <exp. curr.amt>
+                        String currAmt = tokens.next();
+                        str = tokens.next();
+                        CurrencyAmount n = parseCurrencyAmount(currAmt, ref, '/');
+                        assertEquals(where + "getCurrencyFormat(" + mloc + ").format(" + currAmt + ")",
+                                     str, mfmt.format(n));
+                        n = parseCurrencyAmount(tokens.next(), ref, '/');
+                        assertEquals(where + "getCurrencyFormat(" + mloc + ").parse(\"" + str + "\")",
+                                     n, (CurrencyAmount) mfmt.parseObject(str));
+                    } catch (ParseException e) {
+                        errln(where + '"' + pat + "\".parse(\"" + str +
+                              "\") threw an exception");
+                        e.printStackTrace();
+                    }
+                    break;
+                case -1:
+                    errln("Unknown command \"" + tok + "\" at " + tokens.describePosition());
+                    return;
+                }
+            }
+        } catch (java.io.IOException e) {
+            throw new RuntimeException(e);
+        }
+    }
+
+    //------------------------------------------------------------------
+    // Support methods
+    //------------------------------------------------------------------
+
+    // Format-Parse test
+    public void expect2(NumberFormat fmt, Number n, String exp) {
+        // Don't round-trip format test, since we explicitly do it
+        expect(fmt, n, exp, false);
+        expect(fmt, exp, n);
+    }
+
+    // Format-Parse test (convenience)
+    public void expect2(NumberFormat fmt, double n, String exp) {
+        expect2(fmt, new Double(n), exp);
+    }
+
+    // Format-Parse test (convenience)
+    public void expect2(NumberFormat fmt, long n, String exp) {
+        expect2(fmt, new Long(n), exp);
+    }
+
+    // Format test
+    public void expect(NumberFormat fmt, Number n, String exp, boolean rt) {
+        StringBuffer saw = new StringBuffer();
+        FieldPosition pos = new FieldPosition(0); 
+        fmt.format(n, saw, pos);
+        String pat = ((DecimalFormat)fmt).toPattern();
+        if (saw.toString().equals(exp)) {
+            logln("Ok   " + n + " x " +
+                  pat + " = \"" +
+                  saw + "\"");
+            // We should be able to round-trip the formatted string =>
+            // number => string (but not the other way around: number
+            // => string => number2, might have number2 != number):
+            if (rt) {
+                try {
+                    Number n2 = fmt.parse(exp);
+                    StringBuffer saw2 = new StringBuffer();
+                    fmt.format(n2, saw2, pos);
+                    if (!saw2.toString().equals(exp)) {
+                        errln("FAIL \"" + exp + "\" => " + n2 +
+                              " => \"" + saw2 + '"');
+                    }
+                } catch (ParseException e) {
+                    errln(e.getMessage());
+                    return;
+                }
+            }
+        } else {
+            errln("FAIL " + n + " x " +
+                  pat + " = \"" +
+                  saw + "\", expected \"" + exp + "\"");
+        }
+    }
+    
+    // Format test (convenience)
+    public void expect(NumberFormat fmt, Number n, String exp) {
+        expect(fmt, n, exp, true);
+    }
+
+    // Format test (convenience)
+    public void expect(NumberFormat fmt, double n, String exp) {
+        expect(fmt, new Double(n), exp);
+    }
+    
+    // Format test (convenience)
+    public void expect(NumberFormat fmt, long n, String exp) {
+        expect(fmt, new Long(n), exp);
+    }
+    
+    // Parse test
+    public void expect(NumberFormat fmt, String str, Number n) {
+        Number num = null;
+        try {
+            num = (Number) fmt.parse(str);
+        } catch (ParseException e) {
+            errln(e.getMessage());
+            return;
+        }
+        String pat = ((DecimalFormat)fmt).toPattern();
+        // A little tricky here -- make sure Double(12345.0) and
+        // Long(12345) match.
+        if (num.equals(n) || num.doubleValue() == n.doubleValue()) {
+            logln("Ok   \"" + str + "\" x " +
+                  pat + " = " +
+                  num);
+        } else {
+            errln("FAIL \"" + str + "\" x " +
+                  pat + " = " +
+                  num + ", expected " + n);
+        }
+    }
+    
+    // Parse test (convenience)
+    public void expect(NumberFormat fmt, String str, double n) {
+        expect(fmt, str, new Double(n));
+    }
+    
+    // Parse test (convenience)
+    public void expect(NumberFormat fmt, String str, long n) {
+        expect(fmt, str, new Long(n));
+    }
+    
+    private void expectCurrency(NumberFormat nf, Currency curr,
+                                double value, String string) {
+        DecimalFormat fmt = (DecimalFormat) nf;
+        if (curr != null) {
+            fmt.setCurrency(curr);
+        }
+        String s = fmt.format(value).replace('\u00A0', ' ');
+
+        if (s.equals(string)) {
+            logln("Ok: " + value + " x " + curr + " => " + s);
+        } else {
+            errln("FAIL: " + value + " x " + curr + " => " + s +
+                  ", expected " + string);
+        }
+    }
+
+    public void expectPad(DecimalFormat fmt, String pat, int pos) {
+        expectPad(fmt, pat, pos, 0, (char)0);
+    }
+    
+    public void expectPad(DecimalFormat fmt, final String pat, int pos, int width, final char pad) {
+        int apos = 0, awidth = 0;
+        char apadStr;
+        try {
+            fmt.applyPattern(pat);
+            apos = fmt.getPadPosition();
+            awidth = fmt.getFormatWidth();
+            apadStr = fmt.getPadCharacter();
+        } catch (Exception e) {
+            apos = -1;
+            awidth = width;
+            apadStr = pad;
+        }
+    
+        if (apos == pos && awidth == width && apadStr == pad) {
+            logln("Ok   \"" + pat + "\" pos="
+                    + apos + ((pos == -1) ? "" : " width=" + awidth + " pad=" + apadStr)); 
+        } else {
+            errln("FAIL \"" + pat + "\" pos=" + apos + " width="
+                    + awidth + " pad=" + apadStr + ", expected "
+                    + pos + " " + width + " " + pad); 
+        }
+    }
+
+    public void expectPat(DecimalFormat fmt, final String exp) {
+        String pat = fmt.toPattern();
+        if (pat.equals(exp)) {
+            logln("Ok   \"" + pat + "\"");
+        } else {
+            errln("FAIL \"" + pat + "\", expected \"" + exp + "\"");
+        }
+    }
+}
diff --git a/src/com/ibm/icu/dev/test/format/NumberFormatTestCases.txt b/src/com/ibm/icu/dev/test/format/NumberFormatTestCases.txt
new file mode 100644
index 0000000..137f566
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/format/NumberFormatTestCases.txt
@@ -0,0 +1,85 @@
+######################################################################
+# Copyright (c) 2004, International Business Machines
+# Corporation and others.  All Rights Reserved.
+######################################################################
+# Author: Alan Liu
+# Created: March 15 2004
+# Since: ICU 3.0
+######################################################################
+
+ref= "#.#"
+
+rt:  "0.###"  1.0         "1"         
+
+# Basics
+fp:  "0.####" 0.10005     "0.1"        0.1
+fp:  -        0.10006     "0.1001"     0.1001
+pat: -        "#0.####"
+fp:  "#.####" 0.10005     "0.1"        0.1
+pat: -        "#0.####"
+
+rt:  "0"      1234        "1234"
+pat: -        "#0"
+
+# Significant digits                                                  
+fp:  "@@@"    1.234567    "1.23"       1.23
+fp:  -        1234567     "1230000"    1230000
+fp:  -        0.012345    "0.0123"     0.0123
+pat: -        -                                    
+fp:  "#,@@@"  1234567     "1,230,000"  1230000
+pat: -        "#,@@@"
+rt:  "@@@@"   0.0012      "0.001200"  
+fp:  -        0.99999     "1.000"      1
+pat: -        -
+rt:  "@###"   0.00123     "0.00123"   
+rt:  -        123000      "123000"    
+fp:  -        123456      "123500"     123500
+fp:  -        12.3456     "12.35"      12.35
+fp:  -        0.0123456   "0.01235"    0.01235
+pat: -        -
+fp:  "@,###"  27182       "27,180"     27180
+rt:  -        123000      "123,000"   
+fp:  -        0.99999     "1"          1
+rt:  -        0.9999      "0.9999"    
+pat: -        -
+rt:  "@##E0"  20000       "2E4"
+rt:  -        27000       "2.7E4"     
+rt:  -        27100       "2.71E4"
+fp:  -        27182       "2.72E4"     27200
+pat: -        -
+rt:  "@@@E0"  20000       "2.00E4"
+rt:  -        27000       "2.70E4"    
+rt:  -        27100       "2.71E4"
+fp:  -        27182       "2.72E4"     27200
+pat: -        -
+fp:  "#,@@##" 314156      "31,4200"    314200
+rt:  -        3           "3.0"       
+rt:  -        5000        "5000"      
+rt:  -        0.005       "0.0050"    
+pat: -        -
+fp:  "@@@@@@" 123456.7    "123457"     123457
+pat: -        -
+
+pat: "##,@@##" "#,@@##"
+pat: "##@@##"  "@@##"
+
+pat: "@@.@@"  err  # decimal sep. disallowed in sig. digits
+pat: "@#@"    err  # only one cluster of sig. digits
+pat: "@@0"    err  # either @ or 0, not both
+
+# NumberRegression/Test4140009
+rt:  ""       123.456     "123.456"
+rt:  ""       -123.456    "-123.456"
+
+# Currency
+fpc: "en_US"        1234.56/USD  "$1,234.56"    1234.56/USD
+fpc: -              1234.56/JPY  "\u00A51,235"  1235/JPY
+# ISO codes that overlap display names (QQQ vs. Q)
+fpc: -              123/QQQ      "QQQ123.00"    123/QQQ   # QQQ is fake
+fpc: -              123/GTQ      "Q123.00"      123/GTQ
+# ChoiceFormat-based display names
+fpc: -              1/INR        "Re.1.00"      1/INR
+fpc: -              2/INR        "Rs.2.00"      2/INR
+# Display names with shared prefix (YDD vs. Y)
+fpc: -              100/YDD      "YDD100.00"    100/YDD
+fpc: -              100/CNY      "Y100.00"      100/CNY
diff --git a/src/com/ibm/icu/dev/test/format/NumberRegression.java b/src/com/ibm/icu/dev/test/format/NumberRegression.java
new file mode 100755
index 0000000..b194c38
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/format/NumberRegression.java
@@ -0,0 +1,1832 @@
+/*****************************************************************************************
+ *
+ * Copyright (C) 1996-2005, International Business Machines
+ * Corporation and others.  All Rights Reserved.
+ **/
+
+/** 
+ * Port From:   JDK 1.4b1 : java.text.Format.NumberRegression
+ * Source File: java/text/format/NumberRegression.java
+ **/
+ 
+/**
+ * @test 1.49 01/05/21
+ * @bug 4052223 4059870 4061302 4062486 4066646 4068693 4070798 4071005 4071014
+ * 4071492 4071859 4074454 4074620 4075713 4083018 4086575 4087244 4087245
+ * 4087251 4087535 4088161 4088503 4090489 4090504 4092480 4092561 4095713
+ * 4098741 4099404 4101481 4106658 4106662 4106664 4108738 4110936 4122840
+ * 4125885 4134034 4134300 4140009 4141750 4145457 4147295 4147706 4162198
+ * 4162852 4167494 4170798 4176114 4179818 4185761 4212072 4212073 4216742
+ * 4217661 4243011 4243108 4330377 4233840
+ * @summary Regression tests for NumberFormat and associated classes
+ */
+
+package com.ibm.icu.dev.test.format;
+
+//import com.ibm.icu.impl.ICULocaleData;
+import com.ibm.icu.impl.ICUResourceBundle;
+import com.ibm.icu.text.*;
+import com.ibm.icu.util.*;
+
+import java.io.*;
+import java.math.BigDecimal;
+import java.math.BigInteger;
+import java.text.FieldPosition;
+import java.text.ParseException;
+import java.text.ParsePosition;
+import java.util.Date;
+import java.util.Locale;
+
+public class NumberRegression extends com.ibm.icu.dev.test.TestFmwk {
+
+    public static void main(String[] args) throws Exception {
+        new NumberRegression().run(args);
+    }
+
+    private static final char EURO = '\u20ac';
+
+    /**
+     * NumberFormat.equals comparing with null should always return false.
+     */
+    public void Test4075713(){
+
+        try {
+            MyNumberFormatTest tmp = new MyNumberFormatTest();
+            if (!tmp.equals(null))
+                logln("NumberFormat.equals passed");
+        } catch (NullPointerException e) {
+            errln("(new MyNumberFormatTest()).equals(null) throws unexpected exception");
+        }
+    }
+
+    /**
+     * NumberFormat.equals comparing two obj equal even the setGroupingUsed
+     * flag is different.
+     */
+    public void Test4074620() {
+
+        MyNumberFormatTest nf1 = new MyNumberFormatTest();
+        MyNumberFormatTest nf2 = new MyNumberFormatTest();
+
+        nf1.setGroupingUsed(false);
+        nf2.setGroupingUsed(true);
+
+        if (nf1.equals(nf2)) errln("Test for bug 4074620 failed");
+        else logln("Test for bug 4074620 passed.");
+        return;
+    }
+
+
+    /**
+     * DecimalFormat.format() incorrectly uses maxFractionDigits setting.
+     */
+
+    public void Test4088161 (){
+        DecimalFormat df = new DecimalFormat();
+        double d = 100;
+        df.setMinimumFractionDigits(0);
+        df.setMaximumFractionDigits(16);
+        StringBuffer sBuf1 = new StringBuffer("");
+        FieldPosition fp1 = new FieldPosition(0);
+        logln("d = " + d);
+        logln("maxFractionDigits = " + df.getMaximumFractionDigits());
+        logln(" format(d) = '" + df.format(d, sBuf1, fp1) + "'");
+        df.setMaximumFractionDigits(17);
+        StringBuffer sBuf2 = new StringBuffer("");
+        FieldPosition fp2 = new FieldPosition(0);
+        logln("maxFractionDigits = " + df.getMaximumFractionDigits());
+        df.format(d, sBuf2, fp2);
+        if (!sBuf2.toString().equals("100"))
+            errln(" format(d) = '" + sBuf2 + "'");
+    }
+    /**
+     * DecimalFormatSymbols should be cloned in the ctor DecimalFormat.
+     * DecimalFormat(String, DecimalFormatSymbols).
+     */
+    public void Test4087245 (){
+        DecimalFormatSymbols symbols = new DecimalFormatSymbols();
+        DecimalFormat df = new DecimalFormat("#,##0.0", symbols);
+        long n = 123;
+        StringBuffer buf1 = new StringBuffer();
+        StringBuffer buf2 = new StringBuffer();
+        logln("format(" + n + ") = " +
+        df.format(n, buf1, new FieldPosition(0)));
+        symbols.setDecimalSeparator('p'); // change value of field
+        logln("format(" + n + ") = " +
+        df.format(n, buf2, new FieldPosition(0)));
+        if (!buf1.toString().equals(buf2.toString()))
+            errln("Test for bug 4087245 failed");
+    }
+    /**
+     * DecimalFormat.format() incorrectly formats 0.0
+     */
+    public void Test4087535 ()
+    {
+        DecimalFormat df = new DecimalFormat();
+        df.setMinimumIntegerDigits(0);
+
+        double n = 0;
+        String buffer = new String();
+        buffer = df.format(n);
+        if (buffer.length() == 0)
+            errln(n + ": '" + buffer + "'");
+        n = 0.1;
+        buffer = df.format(n);
+        if (buffer.length() == 0)
+            errln(n + ": '" + buffer + "'");
+    }
+
+    /**
+     * DecimalFormat.format fails when groupingSize is set to 0.
+     */
+    public void Test4088503 (){
+        DecimalFormat df = new DecimalFormat();
+        df.setGroupingSize(0);
+        StringBuffer sBuf = new StringBuffer("");
+        FieldPosition fp = new FieldPosition(0);
+        try {
+            logln(df.format(123, sBuf, fp).toString());
+        } catch (Exception foo) {
+            errln("Test for bug 4088503 failed.");
+        }
+
+    }
+    /**
+     * NumberFormat.getCurrencyInstance is wrong.
+     */
+    public void Test4066646 () {
+        //float returnfloat = 0.0f; //The variable is never used
+        assignFloatValue(2.04f);
+        assignFloatValue(2.03f);
+        assignFloatValue(2.02f);
+        assignFloatValue(0.0f);
+    }
+
+    public float assignFloatValue(float returnfloat)
+    {
+        logln(" VALUE " + returnfloat);
+        NumberFormat nfcommon =  NumberFormat.getCurrencyInstance(Locale.US);
+        nfcommon.setGroupingUsed(false);
+
+        String stringValue = nfcommon.format(returnfloat).substring(1);
+        if (Float.valueOf(stringValue).floatValue() != returnfloat)
+            errln(" DISPLAYVALUE " + stringValue);
+        return returnfloat;
+    } // End Of assignFloatValue()
+
+    /**
+     * DecimalFormat throws exception when parsing "0"
+     */
+    public void Test4059870() {
+        DecimalFormat format = new DecimalFormat("00");
+        try {
+            logln(format.parse("0").toString());
+        } catch (Exception e) { errln("Test for bug 4059870 failed : " + e); }
+    }
+    /**
+     * DecimalFormatSymbol.equals should always return false when
+     * comparing with null.
+     */
+
+    public void Test4083018 (){
+        DecimalFormatSymbols dfs = new DecimalFormatSymbols();
+        try {
+            if (!dfs.equals(null))
+                logln("Test Passed!");
+        } catch (Exception foo) {
+            errln("Test for bug 4083018 failed => Message : " + foo.getMessage());
+        }
+    }
+    /**
+     * DecimalFormat does not round up correctly.
+     */
+    public void Test4071492 (){
+        double x = 0.00159999;
+        NumberFormat nf = NumberFormat.getInstance();
+        nf.setMaximumFractionDigits(4);
+        String out = nf.format(x);
+        logln("0.00159999 formats with 4 fractional digits to " + out);
+        String expected = "0.0016";
+        if (!out.equals(expected))
+            errln("FAIL: Expected " + expected);
+    }
+
+    /**
+     * A space as a group separator for localized pattern causes
+     * wrong format.  WorkAround : use non-breaking space.
+     */
+    public void Test4086575() {
+
+        NumberFormat nf = NumberFormat.getInstance(Locale.FRANCE);
+        logln("nf toPattern1: " + ((DecimalFormat)nf).toPattern());
+        logln("nf toLocPattern1: " + ((DecimalFormat)nf).toLocalizedPattern());
+
+        // No group separator
+        logln("...applyLocalizedPattern ###,00;(###,00) ");
+        ((DecimalFormat)nf).applyLocalizedPattern("###,00;(###,00)");
+        logln("nf toPattern2: " + ((DecimalFormat)nf).toPattern());
+        logln("nf toLocPattern2: " + ((DecimalFormat)nf).toLocalizedPattern());
+
+        logln("nf: " + nf.format(1234)); // 1234,00
+        logln("nf: " + nf.format(-1234)); // (1234,00)
+
+        // Space as group separator
+
+        logln("...applyLocalizedPattern # ###,00;(# ###,00) ");
+        ((DecimalFormat)nf).applyLocalizedPattern("#\u00a0###,00;(#\u00a0###,00)");
+        logln("nf toPattern2: " + ((DecimalFormat)nf).toPattern());
+        logln("nf toLocPattern2: " + ((DecimalFormat)nf).toLocalizedPattern());
+        String buffer = nf.format(1234);
+        if (!buffer.equals("1\u00a0234,00"))
+            errln("nf : " + buffer); // Expect 1 234,00
+        buffer = nf.format(-1234);
+        if (!buffer.equals("(1\u00a0234,00)"))
+            errln("nf : " + buffer); // Expect (1 234,00)
+
+        // Erroneously prints:
+        // 1234,00 ,
+        // (1234,00 ,)
+
+    }
+    /**
+     * DecimalFormat.parse returns wrong value
+     */
+    public void Test4068693()
+    {
+        logln("----- Test Application -----");
+        //ParsePosition pos;
+        DecimalFormat df = new DecimalFormat();
+        Number d = df.parse("123.55456", new ParsePosition(0));
+        if (!d.toString().equals("123.55456")) {
+            errln("Result -> " + d.doubleValue());
+        }
+    }
+
+    /* bugs 4069754, 4067878
+     * null pointer thrown when accessing a deserialized DecimalFormat
+     * object.
+     */
+    public void Test4069754() throws Exception
+    {
+        //try {
+            ByteArrayOutputStream baos = new ByteArrayOutputStream();
+            ObjectOutputStream oos = new ObjectOutputStream(baos);
+            myformat it = new myformat();
+            logln(it.Now());
+            oos.writeObject(it);
+            oos.flush();
+            baos.close();
+            logln("Save OK!");
+            byte [] bytes = baos.toByteArray();
+            ObjectInputStream ois = new ObjectInputStream(new ByteArrayInputStream(bytes));
+            myformat o = (myformat)ois.readObject();
+            ois.close();
+            it.Now();
+            logln("Load OK!");
+            if (!o._dateFormat.equals(it._dateFormat)) {
+                throw new Exception("The saved and loaded object are not equals!");
+            }
+            logln("Compare OK!");
+        //} catch (Exception foo) {
+            //errln("Test for bug 4069754 or 4057878 failed => Exception: " + foo.getMessage());
+        //}
+    }
+
+    /**
+     * DecimalFormat.applyPattern(String) allows illegal patterns
+     */
+    public void Test4087251 (){
+        DecimalFormat df = new DecimalFormat();
+        try {
+            df.applyPattern("#.#.#");
+            logln("toPattern() returns \"" + df.toPattern() + "\"");
+            errln("applyPattern(\"#.#.#\") doesn't throw IllegalArgumentException");
+        } catch (IllegalArgumentException e) {
+            logln("Caught Illegal Argument Error !");
+        }
+        // Second test; added 5/11/98 when reported to fail on 1.2b3
+        try {
+            df.applyPattern("#0.0#0#0");
+            logln("toPattern() returns \"" + df.toPattern() + "\"");
+            errln("applyPattern(\"#0.0#0#0\") doesn't throw IllegalArgumentException");
+        } catch (IllegalArgumentException e) {
+            logln("Ok - IllegalArgumentException for #0.0#0#0");
+        }
+    }
+
+    /**
+     * DecimalFormat.format() loses precision
+     */
+    public void Test4090489 (){
+        DecimalFormat df = new DecimalFormat();
+        df.setMinimumFractionDigits(10);
+        df.setGroupingUsed(false);
+        double d = 1.000000000000001E7;
+        BigDecimal bd = new BigDecimal(d);
+        StringBuffer sb = new StringBuffer("");
+        FieldPosition fp = new FieldPosition(0);
+        logln("d = " + d);
+        logln("BigDecimal.toString():  " + bd.toString());
+        df.format(d, sb, fp);
+        if (!sb.toString().equals("10000000.0000000100")) {
+            errln("DecimalFormat.format(): " + sb.toString());
+        }
+    }
+
+    /**
+     * DecimalFormat.format() loses precision
+     */
+    public void Test4090504 ()
+    {
+        double d = 1;
+        logln("d = " + d);
+        DecimalFormat df = new DecimalFormat();
+        StringBuffer sb;
+        FieldPosition fp;
+        try {
+            for (int i = 17; i <= 20; i++) {
+                df.setMaximumFractionDigits(i);
+                sb = new StringBuffer("");
+                fp = new FieldPosition(0);
+                logln("  getMaximumFractionDigits() = " + i);
+                logln("  formated: " + df.format(d, sb, fp));
+            }
+        } catch (Exception foo) {
+            errln("Bug 4090504 regression test failed. Message : " + foo.getMessage());
+        }
+    }
+    /**
+     * DecimalFormat.parse(String str, ParsePosition pp) loses precision
+     */
+    public void Test4095713 ()
+    {
+        DecimalFormat df = new DecimalFormat();
+        String str = "0.1234";
+        Double d1 = new Double(str);
+        Number d2 = df.parse(str, new ParsePosition(0));
+        logln(d1.toString());
+        if (d2.doubleValue() != d1.doubleValue())
+            errln("Bug 4095713 test failed, new double value : " + d2.doubleValue());
+    }
+
+    /**
+     * DecimalFormat.parse() fails when multiplier is not set to 1
+     */
+    public void Test4092561 ()
+    {
+        Locale savedLocale = Locale.getDefault();
+        Locale.setDefault(Locale.US);
+        DecimalFormat df = new DecimalFormat();
+        String str = Long.toString(Long.MIN_VALUE);
+        logln("Long.MIN_VALUE : " + df.parse(str, new ParsePosition(0)).toString());
+        df.setMultiplier(100);
+        Number num = df.parse(str, new ParsePosition(0));
+        if (num.doubleValue() != -9.223372036854776E16) {
+            errln("Bug 4092561 test failed when multiplier is set to not 1.");
+        }
+        Locale.setDefault(savedLocale);
+    }
+
+    /**
+     * DecimalFormat: Negative format ignored.
+     */
+    public void Test4092480 ()
+    {
+        DecimalFormat dfFoo = new DecimalFormat("000");
+
+        try {
+            dfFoo.applyPattern("0000;-000");
+            if (!dfFoo.toPattern().equals("#0000"))
+                errln("dfFoo.toPattern : " + dfFoo.toPattern());
+            logln(dfFoo.format(42));
+            logln(dfFoo.format(-42));
+            dfFoo.applyPattern("000;-000");
+            if (!dfFoo.toPattern().equals("#000"))
+                errln("dfFoo.toPattern : " + dfFoo.toPattern());
+            logln(dfFoo.format(42));
+            logln(dfFoo.format(-42));
+
+            dfFoo.applyPattern("000;-0000");
+            if (!dfFoo.toPattern().equals("#000"))
+                errln("dfFoo.toPattern : " + dfFoo.toPattern());
+            logln(dfFoo.format(42));
+            logln(dfFoo.format(-42));
+
+            dfFoo.applyPattern("0000;-000");
+            if (!dfFoo.toPattern().equals("#0000"))
+                errln("dfFoo.toPattern : " + dfFoo.toPattern());
+            logln(dfFoo.format(42));
+            logln(dfFoo.format(-42));
+        } catch (Exception foo) {
+            errln("Message " + foo.getMessage());
+        }
+    }
+    /**
+     * NumberFormat.getCurrencyInstance() produces format that uses
+     * decimal separator instead of monetary decimal separator.
+     *
+     * Rewrote this test not to depend on the actual pattern.  Pattern should
+     * never contain the monetary separator!  Decimal separator in pattern is
+     * interpreted as monetary separator if currency symbol is seen!
+     */
+    public void Test4087244 () {
+        Locale de = new Locale("pt", "PT");
+        DecimalFormat df = (DecimalFormat) NumberFormat.getCurrencyInstance(de);
+        DecimalFormatSymbols sym = df.getDecimalFormatSymbols();
+        sym.setMonetaryDecimalSeparator('$');
+    df.setDecimalFormatSymbols(sym);
+        char decSep = sym.getDecimalSeparator();
+        char monSep = sym.getMonetaryDecimalSeparator();
+        //char zero = sym.getZeroDigit(); //The variable is never used
+        if (decSep == monSep) {
+            errln("ERROR in test: want decimal sep != monetary sep");
+        } else {
+            df.setMinimumIntegerDigits(1);
+            df.setMinimumFractionDigits(2);
+            String str = df.format(1.23);
+            String monStr = "1" + monSep + "23";
+            String decStr = "1" + decSep + "23";
+            if (str.indexOf(monStr) >= 0 && str.indexOf(decStr) < 0) {
+                logln("OK: 1.23 -> \"" + str + "\" contains \"" +
+                      monStr + "\" and not \"" + decStr + '"');
+            } else {
+                errln("FAIL: 1.23 -> \"" + str + "\", should contain \"" +
+                      monStr +
+                      "\" and not \"" + decStr + '"');
+            }
+        }
+    }
+    /**
+     * Number format data rounding errors for locale FR
+     */
+    public void Test4070798 () {
+        NumberFormat formatter;
+        String tempString;
+        /* User error :
+        String expectedDefault = "-5\u00a0789,987";
+        String expectedCurrency = "5\u00a0789,98 F";
+        String expectedPercent = "-578\u00a0998%";
+        */
+        String expectedDefault = "-5\u00a0789,988";
+        String expectedCurrency = "5\u00a0789,99 " + EURO; // euro
+        String expectedPercent = "-578\u00a0999%";
+
+        formatter = NumberFormat.getNumberInstance(Locale.FRANCE);
+        tempString = formatter.format (-5789.9876);
+
+        if (tempString.equals(expectedDefault)) {
+            logln ("Bug 4070798 default test passed.");
+        } else {
+            errln("Failed:" +
+            " Expected " + expectedDefault +
+            " Received " + tempString );
+        }
+
+
+        formatter = NumberFormat.getCurrencyInstance(Locale.FRANCE);
+        tempString = formatter.format( 5789.9876 );
+
+        if (tempString.equals(expectedCurrency) ) {
+            logln ("Bug 4070798 currency test assed.");
+        } else {
+            errln("Failed:" +
+            " Expected " + expectedCurrency +
+            " Received " + tempString );
+        }
+
+
+        formatter = NumberFormat.getPercentInstance(Locale.FRANCE);
+        tempString = formatter.format (-5789.9876);
+
+        if (tempString.equals(expectedPercent) ) {
+            logln ("Bug 4070798 percentage test passed.");
+        } else {
+            errln("Failed:" +
+            " Expected " + expectedPercent +
+            " Received " + tempString );
+        }
+    }
+    /**
+     * Data rounding errors for French (Canada) locale
+     */
+    public void Test4071005 () {
+
+        NumberFormat formatter;
+        String tempString;
+    /* user error :
+        String expectedDefault = "-5 789,987";
+        String expectedCurrency = "5 789,98 $";
+        String expectedPercent = "-578 998%";
+    */
+        String expectedDefault = "-5\u00a0789,988";
+        String expectedCurrency = "5\u00a0789,99 $";
+        String expectedPercent = "-578\u00a0999%";
+
+        formatter = NumberFormat.getNumberInstance(Locale.CANADA_FRENCH);
+        tempString = formatter.format (-5789.9876);
+        if (tempString.equals(expectedDefault)) {
+            logln ("Bug 4071005 default test passed.");
+        } else {
+            errln("Failed:" +
+            " Expected " + expectedDefault +
+            " Received " + tempString );
+        }
+
+        formatter = NumberFormat.getCurrencyInstance(Locale.CANADA_FRENCH);
+        tempString = formatter.format( 5789.9876 ) ;
+
+        if (tempString.equals(expectedCurrency) ) {
+            logln ("Bug 4071005 currency test passed.");
+        } else {
+            errln("Failed:" +
+            " Expected " + expectedCurrency +
+            " Received " + tempString );
+        }
+        formatter = NumberFormat.getPercentInstance(Locale.CANADA_FRENCH);
+        tempString = formatter.format (-5789.9876);
+
+        if (tempString.equals(expectedPercent) ) {
+            logln ("Bug 4071005 percentage test passed.");
+        } else {
+            errln("Failed:" +
+            " Expected " + expectedPercent +
+            " Received " + tempString );
+        }
+    }
+
+    /**
+     * Data rounding errors for German (Germany) locale
+     */
+    public void Test4071014 () {
+        NumberFormat formatter;
+        String tempString;
+        /* user error :
+        String expectedDefault = "-5.789,987";
+        String expectedCurrency = "5.789,98 DM";
+        String expectedPercent = "-578.998%";
+        */
+        String expectedDefault = "-5.789,988";
+        String expectedCurrency = "5.789,99 " + EURO;
+        String expectedPercent = "-578.999%";
+
+        formatter = NumberFormat.getNumberInstance(Locale.GERMANY);
+        tempString = formatter.format (-5789.9876);
+
+        if (tempString.equals(expectedDefault)) {
+            logln ("Bug 4071014 default test passed.");
+        } else {
+            errln("Failed:" +
+            " Expected " + expectedDefault +
+            " Received " + tempString );
+        }
+
+        formatter = NumberFormat.getCurrencyInstance(Locale.GERMANY);
+        tempString = formatter.format( 5789.9876 ) ;
+
+        if (tempString.equals(expectedCurrency) ) {
+            logln ("Bug 4071014 currency test passed.");
+        } else {
+            errln("Failed:" +
+            " Expected " + expectedCurrency +
+            " Received " + tempString );
+        }
+
+        formatter = NumberFormat.getPercentInstance(Locale.GERMANY);
+        tempString = formatter.format (-5789.9876);
+
+        if (tempString.equals(expectedPercent) ) {
+            logln ("Bug 4071014 percentage test passed.");
+        } else {
+            errln("Failed:" +
+            " Expected " + expectedPercent +
+            " Received " + tempString );
+        }
+
+    }
+    /**
+     * Data rounding errors for Italian locale number formats
+     * Note- with the Euro, there is no need for currency rounding anymore
+     */
+    public void Test4071859 () {
+        NumberFormat formatter;
+        String tempString;
+        /* user error :
+        String expectedDefault = "-5.789,987";
+        String expectedCurrency = "-L. 5.789,98";
+        String expectedPercent = "-578.998%";
+        */
+        String expectedDefault = "-5.789,988";
+        String expectedCurrency = "-" + EURO + " 5.789,99";
+        String expectedPercent = "-578.999%";
+
+        formatter = NumberFormat.getNumberInstance(Locale.ITALY);
+        tempString = formatter.format (-5789.9876);
+
+        if (tempString.equals(expectedDefault)) {
+            logln ("Bug 4071859 default test passed.");
+        } else {
+            errln("a) Failed:" +
+            " Expected " + expectedDefault +
+            " Received " + tempString );
+        }
+
+        formatter = NumberFormat.getCurrencyInstance(Locale.ITALY);
+        tempString = formatter.format( -5789.9876 ) ;
+
+        if (tempString.equals(expectedCurrency) ) {
+            logln ("Bug 4071859 currency test passed.");
+        } else {
+            errln("b) Failed:" +
+            " Expected " + expectedCurrency +
+            " Received " + tempString );
+        }
+
+        formatter = NumberFormat.getPercentInstance(Locale.ITALY);
+        tempString = formatter.format (-5789.9876);
+
+        if (tempString.equals(expectedPercent) ) {
+            logln ("Bug 4071859 percentage test passed.");
+        } else {
+            errln("c) Failed:" +
+            " Expected " + expectedPercent +
+            " Received " + tempString );
+        }
+
+    }
+    /* bug 4071859
+     * Test rounding for nearest even.
+     */
+    public void Test4093610()
+    {
+        DecimalFormat df = new DecimalFormat("#0.#");
+        roundingTest(df, 12.35, "12.4");
+        roundingTest(df, 12.45, "12.4");
+        roundingTest(df, 12.452,"12.5");
+        roundingTest(df, 12.55, "12.6");
+        roundingTest(df, 12.65, "12.6");
+        roundingTest(df, 12.652,"12.7");
+        roundingTest(df, 12.75, "12.8");
+        roundingTest(df, 12.752,"12.8");
+        roundingTest(df, 12.85, "12.8");
+        roundingTest(df, 12.852,"12.9");
+        roundingTest(df, 12.95, "13");
+        roundingTest(df, 12.952,"13");
+
+    }
+    void roundingTest(DecimalFormat df, double x, String expected)
+    {
+        String out = df.format(x);
+        logln("" + x + " formats with 1 fractional digits to " + out);
+        if (!out.equals(expected)) errln("FAIL: Expected " + expected);
+    }
+    /**
+     * Tests the setMaximumFractionDigits limit.
+     */
+    public void Test4098741()
+    {
+        try {
+            NumberFormat fmt = NumberFormat.getPercentInstance();
+            fmt.setMaximumFractionDigits(20);
+            logln(fmt.format(.001));
+        } catch (Exception foo) {
+            warnln("Bug 4098471 failed with exception thrown : " + foo.getMessage());
+        }
+    }
+    /**
+     * Tests illegal pattern exception.
+     * Fix comment : HShih A31 Part1 will not be fixed and javadoc needs to be updated.
+     * Part2 has been fixed.
+     */
+    public void Test4074454()
+    {
+        try {
+            DecimalFormat fmt = new DecimalFormat("#,#00.00;-#.#");
+            logln("format 3456.78: " + fmt.format(3456.78)); //fix "The variable 'fmt' is never used"
+            logln("Inconsistent negative pattern is fine.");
+            DecimalFormat newFmt = new DecimalFormat("#,#00.00 p''ieces;-#,#00.00 p''ieces");
+            String tempString = newFmt.format(3456.78);
+            if (!tempString.equals("3,456.78 p'ieces"))
+                errln("Failed!  3456.78 p'ieces expected, but got : " + tempString);
+        } catch (Exception foo) {
+            warnln("An exception was thrown for any inconsistent negative pattern.");
+        }
+    }
+    /**
+     * Tests all different comments.
+     * Response to some comments :
+     * [1] DecimalFormat.parse API documentation is more than just one line.
+     * This is not a reproducable doc error in 116 source code.
+     * [2] See updated javadoc.
+     * [3] Fixed.
+     * [4] NumberFormat.parse(String, ParsePosition) : If parsing fails,
+     * a null object will be returned.  The unchanged parse position also
+     * reflects an error.
+     * NumberFormat.parse(String) : If parsing fails, an ParseException
+     * will be thrown.
+     * See updated javadoc for more details.
+     * [5] See updated javadoc.
+     * [6] See updated javadoc.
+     * [7] This is a correct behavior if the DateFormat object is linient.
+     * Otherwise, an IllegalArgumentException will be thrown when formatting
+     * "January 35".  See GregorianCalendar class javadoc for more details.
+     */
+    public void Test4099404()
+    {
+        try {
+            DecimalFormat fmt = new DecimalFormat("000.0#0");
+            logln("format 3456.78: " + fmt.format(3456.78)); //fix "The variable 'fmt' is never used"
+            errln("Bug 4099404 failed applying illegal pattern \"000.0#0\"");
+        } catch (Exception foo) {
+            logln("Bug 4099404 pattern \"000.0#0\" passed");
+        }
+        try {
+            DecimalFormat fmt = new DecimalFormat("0#0.000");
+            logln("format 3456.78: " + fmt.format(3456.78)); //fix "The variable 'fmt' is never used"
+            errln("Bug 4099404 failed applying illegal pattern \"0#0.000\"");
+        } catch (Exception foo) {
+            logln("Bug 4099404 pattern \"0#0.000\" passed");
+        }
+    }
+    /**
+     * DecimalFormat.applyPattern doesn't set minimum integer digits
+     */
+    public void Test4101481()
+    {
+        DecimalFormat sdf = new DecimalFormat("#,##0");
+        if (sdf.getMinimumIntegerDigits() != 1)
+            errln("Minimum integer digits : " + sdf.getMinimumIntegerDigits());
+    }
+    /**
+     * Tests ParsePosition.setErrorPosition() and ParsePosition.getErrorPosition().
+     */
+    public void Test4052223()
+    {
+        try {
+            DecimalFormat fmt = new DecimalFormat("#,#00.00");
+            Number num = fmt.parse("abc3");
+            errln("Bug 4052223 failed : can't parse string \"a\".  Got " + num);
+        } catch (ParseException foo) {
+            logln("Caught expected ParseException : " + foo.getMessage() + " at index : " + foo.getErrorOffset());
+        }
+    }
+    /**
+     * API tests for API addition request A9.
+     */
+    public void Test4061302()
+    {
+        DecimalFormatSymbols fmt = new DecimalFormatSymbols();
+        String currency = fmt.getCurrencySymbol();
+        String intlCurrency = fmt.getInternationalCurrencySymbol();
+        char monDecSeparator = fmt.getMonetaryDecimalSeparator();
+        if (currency.equals("") ||
+            intlCurrency.equals("") ||
+            monDecSeparator == 0) {
+            errln("getCurrencySymbols failed, got empty string.");
+        }
+        logln("Before set ==> Currency : " + currency + " Intl Currency : " + intlCurrency + " Monetary Decimal Separator : " + monDecSeparator);
+        fmt.setCurrencySymbol("XYZ");
+        fmt.setInternationalCurrencySymbol("ABC");
+        fmt.setMonetaryDecimalSeparator('*');
+        currency = fmt.getCurrencySymbol();
+        intlCurrency = fmt.getInternationalCurrencySymbol();
+        monDecSeparator = fmt.getMonetaryDecimalSeparator();
+        if (!currency.equals("XYZ") ||
+            !intlCurrency.equals("ABC") ||
+            monDecSeparator != '*') {
+            errln("setCurrencySymbols failed.");
+        }
+        logln("After set ==> Currency : " + currency + " Intl Currency : " + intlCurrency + " Monetary Decimal Separator : " + monDecSeparator);
+    }
+    /**
+     * API tests for API addition request A23. FieldPosition.getBeginIndex and
+     * FieldPosition.getEndIndex.
+     */
+    public void Test4062486()
+    {
+        DecimalFormat fmt = new DecimalFormat("#,##0.00");
+        StringBuffer formatted = new StringBuffer();
+        FieldPosition field = new FieldPosition(0);
+        Double num = new Double(1234.5);
+        fmt.format(num, formatted, field);
+        if (field.getBeginIndex() != 0 && field.getEndIndex() != 5)
+            errln("Format 1234.5 failed. Begin index: " + field.getBeginIndex() + " End index: " + field.getEndIndex());
+        field.setBeginIndex(7);
+        field.setEndIndex(4);
+        if (field.getBeginIndex() != 7 && field.getEndIndex() != 4)
+            errln("Set begin/end field indexes failed. Begin index: " + field.getBeginIndex() + " End index: " + field.getEndIndex());
+    }
+
+    /**
+     * DecimalFormat.parse incorrectly works with a group separator.
+     */
+    public void Test4108738()
+    {
+
+        DecimalFormat df = new DecimalFormat("#,##0.###", new
+        DecimalFormatSymbols(java.util.Locale.US));
+        String text = "1.222,111";
+        Number num = df.parse(text,new ParsePosition(0));
+        if (!num.toString().equals("1.222"))
+            errln("\"" + text + "\"  is parsed as " + num);
+        text = "1.222x111";
+        num = df.parse(text,new ParsePosition(0));
+        if (!num.toString().equals("1.222"))
+            errln("\"" + text + "\"  is parsed as " + num);
+    }
+
+    /**
+     * DecimalFormat.format() incorrectly formats negative doubles.
+     */
+    public void Test4106658()
+    {
+        Locale savedLocale = Locale.getDefault();
+        Locale.setDefault(Locale.US);
+        DecimalFormat df = new DecimalFormat(); // Corrected; see 4147706
+        double d1 = -0.0;
+        double d2 = -0.0001;
+        StringBuffer buffer = new StringBuffer();
+        logln("pattern: \"" + df.toPattern() + "\"");
+        df.format(d1, buffer, new FieldPosition(0));
+        if (!buffer.toString().equals("-0")) { // Corrected; see 4147706
+            errln(d1 + "      is formatted as " + buffer);
+        }
+        buffer.setLength(0);
+        df.format(d2, buffer, new FieldPosition(0));
+        if (!buffer.toString().equals("-0")) { // Corrected; see 4147706
+            errln(d2 + "      is formatted as " + buffer);
+        }
+        Locale.setDefault(savedLocale);
+    }
+
+    /**
+     * DecimalFormat.parse returns 0 if string parameter is incorrect.
+     */
+    public void Test4106662()
+    {
+        DecimalFormat df = new DecimalFormat();
+        String text = "x";
+        ParsePosition pos1 = new ParsePosition(0), pos2 = new ParsePosition(0);
+
+        logln("pattern: \"" + df.toPattern() + "\"");
+        Number num = df.parse(text, pos1);
+        if (num != null) {
+            errln("Test Failed: \"" + text + "\" is parsed as " + num);
+        }
+        df = null;
+        df = new DecimalFormat("$###.00");
+        num = df.parse("$", pos2);
+        if (num != null){
+            errln("Test Failed: \"$\" is parsed as " + num);
+        }
+    }
+
+    /**
+     * NumberFormat.parse doesn't return null
+     */
+    public void Test4114639()
+    {
+        NumberFormat format = NumberFormat.getInstance();
+        String text = "time 10:x";
+        ParsePosition pos = new ParsePosition(8);
+        Number result = format.parse(text, pos);
+        if (result != null) errln("Should return null but got : " + result); // Should be null; it isn't
+    }
+
+    /**
+     * DecimalFormat.format(long n) fails if n * multiplier > MAX_LONG.
+     */
+    public void Test4106664()
+    {
+        DecimalFormat df = new DecimalFormat();
+        long n = 1234567890123456L;
+        int m = 12345678;
+        BigInteger bigN = BigInteger.valueOf(n);
+        bigN = bigN.multiply(BigInteger.valueOf(m));
+        df.setMultiplier(m);
+        df.setGroupingUsed(false);
+        logln("formated: " +
+            df.format(n, new StringBuffer(), new FieldPosition(0)));
+        logln("expected: " + bigN.toString());
+    }
+    /**
+     * DecimalFormat.format incorrectly formats -0.0.
+     */
+    public void Test4106667()
+    {
+        Locale savedLocale = Locale.getDefault();
+        Locale.setDefault(Locale.US);
+        DecimalFormat df = new DecimalFormat();
+        df.setPositivePrefix("+");
+        double d = -0.0;
+        logln("pattern: \"" + df.toPattern() + "\"");
+        StringBuffer buffer = new StringBuffer();
+        df.format(d, buffer, new FieldPosition(0));
+        if (!buffer.toString().equals("-0")) { // Corrected; see 4147706
+            errln(d + "  is formatted as " + buffer);
+        }
+        Locale.setDefault(savedLocale);
+    }
+
+    /**
+     * DecimalFormat.setMaximumIntegerDigits() works incorrectly.
+     */
+    public void Test4110936()
+    {
+        NumberFormat nf = NumberFormat.getInstance();
+        nf.setMaximumIntegerDigits(128);
+        logln("setMaximumIntegerDigits(128)");
+        if (nf.getMaximumIntegerDigits() != 128)
+            errln("getMaximumIntegerDigits() returns " +
+                nf.getMaximumIntegerDigits());
+    }
+    
+    /**
+     * Locale data should use generic currency symbol
+     *
+     * 1) Make sure that all currency formats use the generic currency symbol.
+     * 2) Make sure we get the same results using the generic symbol or a
+     *    hard-coded one.
+     */
+    public void Test4122840()
+    {
+        Locale[] locales = NumberFormat.getAvailableLocales();
+        
+        for (int i = 0; i < locales.length; i++) {
+            ICUResourceBundle rb = (ICUResourceBundle)UResourceBundle.getBundleInstance(ICUResourceBundle.ICU_BASE_NAME,locales[i]);
+
+            //
+            // Get the currency pattern for this locale.  We have to fish it
+            // out of the ResourceBundle directly, since DecimalFormat.toPattern
+            // will return the localized symbol, not \00a4
+            //
+            ICUResourceBundle numPatterns = rb.get("NumberPatterns");
+            String pattern = numPatterns.getString(1);
+            
+            if (pattern.indexOf('\u00A4') == -1 ) { // 'x' not "x" -- workaround bug in IBM JDK 1.4.1
+                errln("Currency format for " + locales[i] +
+                        " does not contain generic currency symbol:" +
+                        pattern );
+            }
+            
+            // Create a DecimalFormat using the pattern we got and format a number
+            DecimalFormatSymbols symbols = new DecimalFormatSymbols(locales[i]);
+            DecimalFormat fmt1 = new DecimalFormat(pattern, symbols);
+            
+            String result1 = fmt1.format(1.111);
+            
+            //
+            // Now substitute in the locale's currency symbol and create another
+            // pattern.  Replace the decimal separator with the monetary separator.
+            //
+            //char decSep = symbols.getDecimalSeparator(); //The variable is never used
+            char monSep = symbols.getMonetaryDecimalSeparator();
+            StringBuffer buf = new StringBuffer(pattern);
+            for (int j = 0; j < buf.length(); j++) {
+                if (buf.charAt(j) == '\u00a4') {
+                    String cur = "'" + symbols.getCurrencySymbol() + "'";
+                    buf.replace(j, j+1, cur); 
+                    j += cur.length() - 1;
+                }
+            }
+            symbols.setDecimalSeparator(monSep);
+            DecimalFormat fmt2 = new DecimalFormat(buf.toString(), symbols);
+            
+            String result2 = fmt2.format(1.111);
+            
+            // NOTE: en_IN is a special case (ChoiceFormat currency display name)
+            if (!result1.equals(result2) &&
+                !locales[i].toString().equals("en_IN")) {
+                errln("Results for " + locales[i] + " differ: " +
+                      result1 + " vs " + result2);
+            }
+        }
+    }
+     
+    /**
+     * DecimalFormat.format() delivers wrong string.
+     */
+    public void Test4125885()
+    {
+        double rate = 12.34;
+        DecimalFormat formatDec = new DecimalFormat ("000.00");
+        logln("toPattern: " + formatDec.toPattern());
+        String rateString= formatDec.format(rate);
+        if (!rateString.equals("012.34"))
+            errln("result : " + rateString + " expected : 012.34");
+        rate = 0.1234;
+        formatDec = null;
+        formatDec = new DecimalFormat ("+000.00%;-000.00%");
+        logln("toPattern: " + formatDec.toPattern());
+        rateString= formatDec.format(rate);
+        if (!rateString.equals("+012.34%"))
+            errln("result : " + rateString + " expected : +012.34%");
+    }
+
+    /**
+     **
+     * DecimalFormat produces extra zeros when formatting numbers.
+     */
+    public void Test4134034() {
+        DecimalFormat nf = new DecimalFormat("##,###,###.00");
+        
+        String f = nf.format(9.02);
+        if (f.equals("9.02")) logln(f + " ok"); else errln("9.02 -> " + f + "; want 9.02");
+
+        f = nf.format(0);
+        if (f.equals(".00")) logln(f + " ok"); else errln("0 -> " + f + "; want .00");
+    }
+
+    /**
+     * CANNOT REPRODUCE - This bug could not be reproduced.  It may be
+     * a duplicate of 4134034.
+     *
+     * JDK 1.1.6 Bug, did NOT occur in 1.1.5
+     * Possibly related to bug 4125885.
+     * 
+     * This class demonstrates a regression in version 1.1.6
+     * of DecimalFormat class.
+     * 
+     * 1.1.6 Results
+     * Value 1.2 Format #.00 Result '01.20' !!!wrong
+     * Value 1.2 Format 0.00 Result '001.20' !!!wrong
+     * Value 1.2 Format 00.00 Result '0001.20' !!!wrong
+     * Value 1.2 Format #0.0# Result '1.2'
+     * Value 1.2 Format #0.00 Result '001.20' !!!wrong
+     * 
+     * 1.1.5 Results
+     * Value 1.2 Format #.00 Result '1.20'
+     * Value 1.2 Format 0.00 Result '1.20'
+     * Value 1.2 Format 00.00 Result '01.20'
+     * Value 1.2 Format #0.0# Result '1.2'
+     * Value 1.2 Format #0.00 Result '1.20'
+     */
+    public void Test4134300() {
+        String[] DATA = {
+         // Pattern      Expected string
+            "#.00",      "1.20",
+            "0.00",      "1.20",
+            "00.00",     "01.20",
+            "#0.0#",     "1.2",
+            "#0.00",     "1.20",
+        };
+        for (int i=0; i<DATA.length; i+=2) {
+            String result = new DecimalFormat(DATA[i]).format(1.2);
+            if (!result.equals(DATA[i+1])) {
+                errln("Fail: 1.2 x " + DATA[i] + " = " + result +
+                      "; want " + DATA[i+1]);
+            }
+            else {
+                logln("Ok: 1.2 x " + DATA[i] + " = " + result);
+            }
+        }
+    }
+
+    /**
+     * Empty pattern produces double negative prefix.
+     */
+    public void Test4140009() {
+        final double IN[]  = {  123.456,   -123.456  };
+        final String OUT[] = { "123.456", "-123.456" };
+        for (int i=0; i<2; ++i) {
+            DecimalFormat f = null;
+            switch (i) {
+            case 0:
+                f = new DecimalFormat("",
+                            new DecimalFormatSymbols(Locale.ENGLISH));
+                break;
+            case 1:
+                f = new DecimalFormat("#.#",
+                            new DecimalFormatSymbols(Locale.ENGLISH));
+                f.applyPattern("");
+                break;
+            }
+            for (int j=0; j<2; ++j) {
+                assertEquals("<empty pat " + i + ">.format(" + IN[j] + ")",
+                             OUT[j], f.format(IN[j]));
+            }
+        }
+    }
+
+    /**
+     * BigDecimal numbers get their fractions truncated by NumberFormat.
+     */
+    public void Test4141750() {
+        try {
+            String str = "12345.67";
+            BigDecimal bd = new BigDecimal(str);
+            String sd = NumberFormat.getInstance(Locale.US).format(bd);
+            if (!sd.endsWith("67")) errln("Fail: " + str + " x format -> " + sd);
+        }
+        catch (Exception e) {
+            warnln(e.toString());
+            //e.printStackTrace();
+        }
+    }
+    
+    /**
+     * DecimalFormat toPattern() doesn't quote special characters or handle
+     * single quotes.
+     */
+    public void Test4145457() {
+        try {
+            DecimalFormat nf = (DecimalFormat)NumberFormat.getInstance();
+            DecimalFormatSymbols sym = nf.getDecimalFormatSymbols();
+            sym.setDecimalSeparator('\'');
+            nf.setDecimalFormatSymbols(sym);
+            double pi = 3.14159;
+
+            String[] PATS = { "#.00 'num''ber'", "''#.00''" };
+
+            for (int i=0; i<PATS.length; ++i) {
+                nf.applyPattern(PATS[i]);
+                String out = nf.format(pi);
+                String pat = nf.toPattern();
+                double val = nf.parse(out).doubleValue();
+            
+                nf.applyPattern(pat);
+                String out2 = nf.format(pi);
+                String pat2 = nf.toPattern();
+                double val2 = nf.parse(out2).doubleValue();
+            
+                if (!pat.equals(pat2))
+                    errln("Fail with \"" + PATS[i] + "\": Patterns should concur, \"" +
+                          pat + "\" vs. \"" + pat2 + "\"");
+                else
+                    logln("Ok \"" + PATS[i] + "\" toPattern() -> \"" + pat + '"');
+
+                if (val == val2 && out.equals(out2)) {
+                    logln("Ok " + pi + " x \"" + PATS[i] + "\" -> \"" +
+                          out + "\" -> " + val + " -> \"" +
+                          out2 + "\" -> " + val2);
+                }
+                else {
+                    errln("Fail " + pi + " x \"" + PATS[i] + "\" -> \"" +
+                          out + "\" -> " + val + " -> \"" +
+                          out2 + "\" -> " + val2);
+                }
+            }
+        }
+        catch (ParseException e) {
+            errln("Fail: " + e);
+            e.printStackTrace();
+        }
+    }
+
+    /**
+     * DecimalFormat.applyPattern() sets minimum integer digits incorrectly.
+     * CANNOT REPRODUCE
+     * This bug is a duplicate of 4139344, which is a duplicate of 4134300
+     */
+    public void Test4147295() {
+        DecimalFormat sdf = new DecimalFormat();
+        String pattern = "#,###";
+        logln("Applying pattern \"" + pattern + "\"");
+        sdf.applyPattern(pattern);
+        int minIntDig = sdf.getMinimumIntegerDigits();
+        if (minIntDig != 0) {
+            errln("Test failed");
+            errln(" Minimum integer digits : " + minIntDig);
+            errln(" new pattern: " + sdf.toPattern());
+        } else {
+            logln("Test passed");
+            logln(" Minimum integer digits : " + minIntDig);
+        }
+    }
+
+    /**
+     * DecimalFormat formats -0.0 as +0.0
+     * See also older related bug 4106658, 4106667
+     */
+    public void Test4147706() {
+        DecimalFormat df = new DecimalFormat("#,##0.0##");
+        df.setDecimalFormatSymbols(new DecimalFormatSymbols(Locale.ENGLISH));
+        double d1 = -0.0;
+        double d2 = -0.0001;
+        StringBuffer f1 = df.format(d1, new StringBuffer(), new FieldPosition(0));
+        StringBuffer f2 = df.format(d2, new StringBuffer(), new FieldPosition(0));
+        if (!f1.toString().equals("-0.0")) {
+            errln(d1 + " x \"" + df.toPattern() + "\" is formatted as \"" + f1 + '"');
+        }
+        if (!f2.toString().equals("-0.0")) {
+            errln(d2 + " x \"" + df.toPattern() + "\" is formatted as \"" + f2 + '"');
+        }
+    }
+
+    /**
+     * NumberFormat cannot format Double.MAX_VALUE
+     */
+    public void Test4162198() {
+        double dbl = Double.MAX_VALUE;
+        NumberFormat f = NumberFormat.getInstance();
+        f.setMaximumFractionDigits(Integer.MAX_VALUE);
+        f.setMaximumIntegerDigits(Integer.MAX_VALUE);
+        String s = f.format(dbl);
+        logln("The number " + dbl + " formatted to " + s);
+        Number n = null;
+        try {
+            n = f.parse(s);
+        } catch (java.text.ParseException e) {
+            errln("Caught a ParseException:");
+            e.printStackTrace();
+        }
+        logln("The string " + s + " parsed as " + n);
+        if (n.doubleValue() != dbl) {
+            errln("Round trip failure");
+        }
+    }
+
+    /**
+     * NumberFormat does not parse negative zero.
+     */
+    public void Test4162852() throws ParseException {
+        for (int i=0; i<2; ++i) {
+            NumberFormat f = (i == 0) ? NumberFormat.getInstance()
+                : NumberFormat.getPercentInstance();
+            double d = -0.0;
+            String s = f.format(d);
+            double e = f.parse(s).doubleValue();
+            logln("" +
+                  d + " -> " +
+                  '"' + s + '"' + " -> " +
+              e);
+            if (e != 0.0 || 1.0/e > 0.0) {
+                logln("Failed to parse negative zero");
+            }
+        }
+    }
+
+    /**
+     * NumberFormat truncates data
+     */
+    public void Test4167494() throws Exception {
+        NumberFormat fmt = NumberFormat.getInstance(Locale.US);
+        
+        double a = Double.MAX_VALUE;
+        String s = fmt.format(a);
+        double b = fmt.parse(s).doubleValue();
+        boolean match = a == b;
+        if (match) {
+            logln("" + a + " -> \"" + s + "\" -> " + b + " ok");
+        } else {
+            errln("" + a + " -> \"" + s + "\" -> " + b + " FAIL");
+        }
+
+        // We don't test Double.MIN_VALUE because the locale data for the US
+        // currently doesn't specify enough digits to display Double.MIN_VALUE.
+        // This is correct for now; however, we leave this here as a reminder
+        // in case we want to address this later.
+        if (false) {
+            a = Double.MIN_VALUE;
+            s = fmt.format(a);
+            b = fmt.parse(s).doubleValue();
+            match = a == b;
+            if (match) {
+                logln("" + a + " -> \"" + s + "\" -> " + b + " ok");
+            } else {
+                errln("" + a + " -> \"" + s + "\" -> " + b + " FAIL");
+            }
+        }
+    }
+
+    /**
+     * DecimalFormat.parse() fails when ParseIntegerOnly set to true
+     */
+    public void Test4170798() {
+        Locale savedLocale = Locale.getDefault();
+        Locale.setDefault(Locale.US);
+        DecimalFormat df = new DecimalFormat();
+        df.setParseIntegerOnly(true);
+        Number n = df.parse("-0.0", new ParsePosition(0));
+        if (!(n instanceof Double)
+            || n.intValue() != 0) {
+            errln("FAIL: parse(\"-0.0\") returns " +
+                  n + " (" + n.getClass().getName() + ')');
+        }
+        Locale.setDefault(savedLocale);
+    }
+
+    /**
+     * toPattern only puts the first grouping separator in.
+     */
+    public void Test4176114() {
+        String[] DATA = {
+            "00", "#00",
+            "000", "#000", // No grouping
+            "#000", "#000", // No grouping
+            "#,##0", "#,##0",
+            "#,000", "#,000",
+            "0,000", "#0,000",
+            "00,000", "#00,000",
+            "000,000", "#,000,000",
+            "0,000,000,000,000.0000", "#0,000,000,000,000.0000", // Reported
+        };
+        for (int i=0; i<DATA.length; i+=2) {
+            DecimalFormat df = new DecimalFormat(DATA[i]);
+            String s = df.toPattern();
+            if (!s.equals(DATA[i+1])) {
+                errln("FAIL: " + DATA[i] + " -> " + s + ", want " + DATA[i+1]);
+            }
+        }
+    }
+
+    /**
+     * DecimalFormat is incorrectly rounding numbers like 1.2501 to 1.2
+     */
+    public void Test4179818() {
+        String DATA[] = {
+            // Input  Pattern  Expected output
+            "1.2511", "#.#",   "1.3",
+            "1.2501", "#.#",   "1.3",
+            "0.9999", "#",     "1",
+        };
+        DecimalFormat fmt = new DecimalFormat("#",
+                new DecimalFormatSymbols(Locale.US));
+        for (int i=0; i<DATA.length; i+=3) {
+            double in = Double.valueOf(DATA[i]).doubleValue();
+            String pat = DATA[i+1];
+            String exp = DATA[i+2];
+            fmt.applyPattern(pat);
+            String out = fmt.format(in);
+            if (out.equals(exp)) {
+                logln("Ok: " + in + " x " + pat + " = " + out);
+            } else {
+                errln("FAIL: " + in + " x  " + pat + " = " + out +
+                      ", expected " + exp);
+            }
+        }
+    }
+
+    public void Test4185761() throws IOException, ClassNotFoundException {
+        ByteArrayOutputStream baos = new ByteArrayOutputStream();
+        ObjectOutputStream oos = new ObjectOutputStream(baos);
+        
+        NumberFormat nf = NumberFormat.getInstance(Locale.US);
+
+    // Set special values we are going to search for in the output byte stream
+    // These are all legal values.
+        nf.setMinimumIntegerDigits(0x111); // Keep under 309
+        nf.setMaximumIntegerDigits(0x112); // Keep under 309
+        nf.setMinimumFractionDigits(0x113); // Keep under 340
+        nf.setMaximumFractionDigits(0x114); // Keep under 340
+        
+        oos.writeObject(nf);
+        oos.flush();
+        baos.close();
+        
+        byte[] bytes = baos.toByteArray();
+
+    // Scan for locations of min/max int/fract values in the byte array.
+    // At the moment (ICU4J 2.1), there is only one instance of each target pair
+        // in the byte stream, so assume first match is it.  Note this is not entirely
+    // failsafe, and needs to be checked if we change the package or structure of
+    // this class.
+    // Current positions are 890, 880, 886, 876
+    int[] offsets = new int[4];
+    for (int i = 0; i < bytes.length - 1; ++i) {
+        if (bytes[i] == 0x01) { // high byte
+        for (int j = 0; j < offsets.length; ++j) {
+            if ((offsets[j] == 0) && (bytes[i+1] == (0x11 + j))) { // low byte
+            offsets[j] = i;
+            break;
+            }
+        }
+        }
+    }
+
+        {
+            ObjectInputStream ois = new ObjectInputStream(new ByteArrayInputStream(bytes));
+            Object o = ois.readObject();
+            ois.close();
+            
+            if (!nf.equals(o)) {
+                errln("Fail: DateFormat serialization/equality bug");
+            } else {
+                logln("DateFormat serialization/equality is OKAY.");
+            }
+        }
+
+    // Change the values in the byte stream so that min > max.
+    // Numberformat should catch this and throw an exception.
+    for (int i = 0; i < offsets.length; ++i) {
+        bytes[offsets[i]] = (byte)(4 - i);
+    }
+
+        {
+            ObjectInputStream ois = new ObjectInputStream(new ByteArrayInputStream(bytes));
+            try {
+                NumberFormat format = (NumberFormat) ois.readObject();
+                logln("format: " + format.format(1234.56)); //fix "The variable is never used"
+                errln("FAIL: Deserialized bogus NumberFormat with minXDigits > maxXDigits");
+            } catch (InvalidObjectException e) {
+                logln("Ok: " + e.getMessage());
+            }
+        }
+
+    // Set values so they are too high, but min <= max
+    // Format should pass the min<= max test, and DecimalFormat should reset to current maximum
+    // (for compatibility with versions streamed out before the maximums were imposed).
+    for (int i = 0; i < offsets.length; ++i) {
+        bytes[offsets[i]] = 4;
+    }
+
+        {
+            ObjectInputStream ois = new ObjectInputStream(new ByteArrayInputStream(bytes));
+            NumberFormat format = (NumberFormat) ois.readObject();
+            //For compatibility with previous version
+            if ((format.getMaximumIntegerDigits() != 309) 
+                || format.getMaximumFractionDigits() != 340) {
+                errln("FAIL: Deserialized bogus NumberFormat with values out of range," +
+                      " intMin: " + format.getMinimumIntegerDigits() +
+                      " intMax: " + format.getMaximumIntegerDigits() +
+                      " fracMin: " + format.getMinimumFractionDigits() +
+                      " fracMax: " + format.getMaximumFractionDigits());
+            } else {
+                logln("Ok: Digit count out of range");
+            }
+        }
+    }
+
+
+    /**
+     * Some DecimalFormatSymbols changes are not picked up by DecimalFormat.
+     * This includes the minus sign, currency symbol, international currency
+     * symbol, percent, and permille.  This is filed as bugs 4212072 and
+     * 4212073.
+     */
+    public void Test4212072() throws IOException, ClassNotFoundException {
+        DecimalFormatSymbols sym = new DecimalFormatSymbols(Locale.US);
+        DecimalFormat fmt = new DecimalFormat("#", sym);
+
+        sym.setMinusSign('^');
+        fmt.setDecimalFormatSymbols(sym);
+        if (!fmt.format(-1).equals("^1")) {
+            errln("FAIL: -1 x (minus=^) -> " + fmt.format(-1) +
+                  ", exp ^1");
+        }
+        if (!fmt.getNegativePrefix().equals("^")) {
+            errln("FAIL: (minus=^).getNegativePrefix -> " +
+                  fmt.getNegativePrefix() + ", exp ^");
+        }
+        sym.setMinusSign('-');
+
+        fmt.applyPattern("#%");
+        sym.setPercent('^');
+        fmt.setDecimalFormatSymbols(sym);
+        if (!fmt.format(0.25).equals("25^")) {
+            errln("FAIL: 0.25 x (percent=^) -> " + fmt.format(0.25) +
+                  ", exp 25^");
+        }
+        if (!fmt.getPositiveSuffix().equals("^")) {
+            errln("FAIL: (percent=^).getPositiveSuffix -> " +
+                  fmt.getPositiveSuffix() + ", exp ^");
+        }
+        sym.setPercent('%');
+        
+        fmt.applyPattern("#\u2030");
+        sym.setPerMill('^');
+        fmt.setDecimalFormatSymbols(sym);
+        if (!fmt.format(0.25).equals("250^")) {
+            errln("FAIL: 0.25 x (permill=^) -> " + fmt.format(0.25) +
+                  ", exp 250^");
+        }
+        if (!fmt.getPositiveSuffix().equals("^")) {
+            errln("FAIL: (permill=^).getPositiveSuffix -> " +
+                  fmt.getPositiveSuffix() + ", exp ^");
+        }
+        sym.setPerMill('\u2030');
+
+        fmt.applyPattern("\u00A4#.00");
+        sym.setCurrencySymbol("usd");
+        fmt.setDecimalFormatSymbols(sym);
+        if (!fmt.format(12.5).equals("usd12.50")) {
+            errln("FAIL: 12.5 x (currency=usd) -> " + fmt.format(12.5) +
+                  ", exp usd12.50");
+        }
+        if (!fmt.getPositivePrefix().equals("usd")) {
+            errln("FAIL: (currency=usd).getPositivePrefix -> " +
+                  fmt.getPositivePrefix() + ", exp usd");
+        }
+        sym.setCurrencySymbol("$");
+
+        fmt.applyPattern("\u00A4\u00A4#.00");
+        sym.setInternationalCurrencySymbol("DOL");
+        fmt.setDecimalFormatSymbols(sym);
+        if (!fmt.format(12.5).equals("DOL12.50")) {
+            errln("FAIL: 12.5 x (intlcurrency=DOL) -> " + fmt.format(12.5) +
+                  ", exp DOL12.50");
+        }
+        if (!fmt.getPositivePrefix().equals("DOL")) {
+            errln("FAIL: (intlcurrency=DOL).getPositivePrefix -> " +
+                  fmt.getPositivePrefix() + ", exp DOL");
+        }
+        sym.setInternationalCurrencySymbol("USD");
+
+        if (VersionInfo.ICU_VERSION == VersionInfo.getInstance(2,2)) {
+            // bug in 2.2 that fails this test
+            // to be fixed in the later versions
+            System.out.println("\n        Test skipped for release 2.2");
+            return;
+        }
+        
+        // Since the pattern logic has changed, make sure that patterns round
+        // trip properly.  Test stream in/out integrity too.
+        Locale[] avail = NumberFormat.getAvailableLocales();
+        for (int i=0; i<avail.length; ++i) {
+            for (int j=0; j<3; ++j) {
+                NumberFormat nf;
+                switch (j) {
+                case 0:
+                    nf = NumberFormat.getInstance(avail[i]);
+                    break;
+                case 1:
+                    nf = NumberFormat.getCurrencyInstance(avail[i]);
+                    break;
+                default:
+                    nf = NumberFormat.getPercentInstance(avail[i]);
+                    break;
+                }
+                DecimalFormat df = (DecimalFormat) nf;
+                
+                // Test toPattern/applyPattern round trip
+                String pat = df.toPattern();
+                DecimalFormatSymbols symb = new DecimalFormatSymbols(avail[i]);
+                DecimalFormat f2 = new DecimalFormat(pat, symb);
+                if (!df.equals(f2)) {
+                    errln("FAIL: " + avail[i] + " #" + j + " -> \"" + pat +
+                          "\" -> \"" + f2.toPattern() + '"');
+                }
+
+                // Test toLocalizedPattern/applyLocalizedPattern round trip
+                pat = df.toLocalizedPattern();
+                f2.applyLocalizedPattern(pat);
+                if (!df.equals(f2)) {
+                    errln("FAIL: " + avail[i] + " #" + j + " -> localized \"" + pat +
+                          "\" -> \"" + f2.toLocalizedPattern() + '"');
+                }
+
+                // Test writeObject/readObject round trip
+                ByteArrayOutputStream baos = new ByteArrayOutputStream();
+                ObjectOutputStream oos = new ObjectOutputStream(baos);
+                oos.writeObject(df);
+                oos.flush();
+                baos.close();
+                byte[] bytes = baos.toByteArray();
+                ObjectInputStream ois =
+                    new ObjectInputStream(new ByteArrayInputStream(bytes));
+                f2 = (DecimalFormat) ois.readObject();
+                if (!df.equals(f2)) {
+                    errln("FAIL: Stream in/out " + avail[i] + " -> \"" + pat +
+                          "\" -> " +
+                          (f2 != null ? ("\""+f2.toPattern()+'"') : "null"));
+                }
+
+            }
+        }
+
+        // @since ICU 2.4
+        // Make sure that all special characters, when quoted in a suffix or
+        // prefix, lose their special meaning.
+        char[] SPECIALS = { '0', ',', '.', '\u2030', '%', '#',
+                            ';', 'E', '*', '+', '-' };
+        sym = new DecimalFormatSymbols(Locale.US);
+        for (int j=0; j<SPECIALS.length; ++j) {
+            char special = SPECIALS[j];
+            String pat = "'" + special + "'#0'" + special + "'";
+            try {
+                fmt = new DecimalFormat(pat, sym);
+                String pat2 = fmt.toPattern();
+                if (!pat.equals(pat2)) {
+                    errln("FAIL: Pattern \"" + pat + "\" => toPattern() => \"" +
+                          pat2 + "\"");
+                }
+                String s = fmt.format(123);
+                String exp = "" + special + "123" + special;
+                if (!s.equals(exp)) {
+                    errln("FAIL: 123 x \"" + pat + "\" => \"" + s + "\", exp \"" +
+                          exp + "\"");
+                }
+            } catch (IllegalArgumentException e) {
+                errln("FAIL: Pattern \"" + pat + "\" => " + e.getMessage());
+            }
+        }
+    }
+
+    /**
+     * DecimalFormat.parse() fails for mulipliers 2^n.
+     */
+    public void Test4216742() throws ParseException {
+        DecimalFormat fmt = (DecimalFormat) NumberFormat.getInstance(Locale.US);
+        long[] DATA = { Long.MIN_VALUE, Long.MAX_VALUE, -100000000L, 100000000L};
+        for (int i=0; i<DATA.length; ++i) {
+            String str = Long.toString(DATA[i]);
+            for (int m = 1; m <= 100; m++) {
+                fmt.setMultiplier(m);
+                long n = ((Number) fmt.parse(str)).longValue();
+                if (n > 0 != DATA[i] > 0) {
+                    errln("\"" + str + "\" parse(x " + fmt.getMultiplier() +
+                          ") => " + n);
+                }
+            }
+        }
+    }
+
+    /**
+     * DecimalFormat formats 1.001 to "1.00" instead of "1" with 2 fraction
+     * digits.
+     */
+    public void Test4217661() {
+        Object[] DATA = {
+            new Double(0.001), "0",
+            new Double(1.001), "1",
+            new Double(0.006), "0.01",
+            new Double(1.006), "1.01",
+        };
+        NumberFormat fmt = NumberFormat.getInstance(Locale.US);
+        fmt.setMaximumFractionDigits(2); 
+        for (int i=0; i<DATA.length; i+=2) {
+            String s = fmt.format(((Double) DATA[i]).doubleValue());
+            if (!s.equals(DATA[i+1])) {
+                errln("FAIL: Got " + s + ", exp " + DATA[i+1]); 
+            }
+        }
+    }
+    
+    /**
+     * 4243011: Formatting .5 rounds to "1" instead of "0"
+     */
+    public void Test4243011() {
+        double DATA[] = {0.5, 1.5, 2.5, 3.5, 4.5};
+        String EXPECTED[] = {"0.", "2.", "2.", "4.", "4."};
+        
+        DecimalFormat format = new DecimalFormat("0.");
+        for (int i = 0; i < DATA.length; i++) {
+            String result = format.format(DATA[i]);
+            if (result.equals(EXPECTED[i])) {
+                logln("OK: got " + result);
+            } else {
+                errln("FAIL: got " + result);
+            }
+        }
+    }
+    
+    /**
+     * 4243108: format(0.0) gives "0.1" if preceded by parse("99.99")
+     */
+    public void Test4243108() {
+        DecimalFormat f = new DecimalFormat("#.#");
+        String result = f.format(0.0);
+        if (result.equals("0")) {
+            logln("OK: got " + result);
+        } else {
+            errln("FAIL: got " + result);
+        }
+        try {
+            double dResult = f.parse("99.99").doubleValue();
+            if (dResult == 99.99) {
+                logln("OK: got " + dResult);
+            } else {
+                errln("FAIL: got " + dResult);
+            }
+        } catch (ParseException e) {
+            errln("Caught a ParseException:");
+            e.printStackTrace();
+        }            
+        result = f.format(0.0);
+        if (result.equals("0")) {
+            logln("OK: got " + result);
+        } else {
+            errln("FAIL: got " + result);
+        }
+    }
+    
+    /**
+     * 4330377: DecimalFormat engineering notation gives incorrect results
+     */
+    public void test4330377() {
+        /*
+        double[] input = {5000.0, 500.0, 50.0, 5.0, 0.5, 0.05, 0.005, 0.0005,
+               5050.0, 505.0, 50.5, 5.05, 0.505, 0.0505, 0.00505, 0.000505};
+        String[] pattern = {"000.#E0", "##0.#E0", "#00.#E0"};
+        String[][] expected = {
+            // it's questionable whether "#00.#E0" should result in post-decimal
+            // zeroes, i.e., whether "5.0E3", "5.0E0", "5.0E-3" are really good
+            {"500E1", "5E3", "5.0E3"},
+            {"500E0", "500E0", "500E0"},
+            {"500E-1", "50E0", "50E0"},
+            {"500E-2", "5E0", "5.0E0"},
+            {"500E-3", "500E-3", "500E-3"},
+            {"500E-4", "50E-3", "50E-3"},
+            {"500E-5", "5E-3", "5.0E-3"},
+            {"500E-6", "500E-6", "500E-6"},
+            {"505E1", "5.05E3", "5.05E3"},
+            {"505E0", "505E0", "505E0"},
+            {"505E-1", "50.5E0", "50.5E0"},
+            {"505E-2", "5.05E0", "5.05E0"},
+            {"505E-3", "505E-3", "505E-3"},
+            {"505E-4", "50.5E-3", "50.5E-3"},
+            {"505E-5", "5.05E-3", "5.05E-3"},
+            {"505E-6", "505E-6", "505E-6"}
+        };
+        for (int i = 0; i < input.length; i++) {
+            for (int j = 0; j < pattern.length; j++) {
+                DecimalFormat format = new DecimalFormat(pattern[j]);
+                String result = format.format(input[i]);
+                if (!result.equals(expected[i][j])) {
+                    errln("FAIL: input: " + input[i] +
+                            ", pattern: " + pattern[j] +
+                            ", expected: " + expected[i][j] +
+                            ", got: " + result);
+                }
+            }
+        }
+        */
+    }
+    
+    /**
+     * 4233840: NumberFormat does not round correctly
+     */
+    public void test4233840() {
+        float f = 0.0099f;
+
+        NumberFormat nf = new DecimalFormat("0.##", new DecimalFormatSymbols(Locale.US));
+    nf.setMinimumFractionDigits(2);
+    
+    String result = nf.format(f);
+    
+    if (!result.equals("0.01")) {
+        errln("FAIL: input: " + f + ", expected: 0.01, got: " + result);
+    }
+    }
+    
+    /**
+     * 4241880: Decimal format doesnt round a double properly when the number is less than 1
+     */
+    public void test4241880() {
+        Locale savedLocale = Locale.getDefault();
+        Locale.setDefault(Locale.US);
+        double[] input = {
+                .019, .009, .015, .016, .014,
+                .004, .005, .006, .007, .008,
+                .5, 1.5, .05, .15, .005,
+                .015, .0005, .0015,
+        };
+        String[] pattern = {
+                "##0%", "##0%", "##0%", "##0%", "##0%",
+                "##0%", "##0%", "##0%", "##0%", "##0%",
+                "#,##0", "#,##0", "#,##0.0", "#,##0.0", "#,##0.00",
+                "#,##0.00", "#,##0.000", "#,##0.000",
+        };
+        String[] expected = {
+                "2%", "1%", "2%", "2%", "1%",
+                "0%", "0%", "1%", "1%", "1%",
+                "0", "2", "0.0", "0.2", "0.00",
+                "0.02", "0.000", "0.002",
+        };
+        for (int i = 0; i < input.length; i++) {
+            DecimalFormat format = new DecimalFormat(pattern[i]);
+            String result = format.format(input[i]);
+            if (!result.equals(expected[i])) {
+                errln("FAIL: input: " + input[i] +
+                        ", pattern: " + pattern[i] +
+                        ", expected: " + expected[i] +
+                        ", got: " + result);
+            }
+        }
+        Locale.setDefault(savedLocale);
+    }
+}
+
+class myformat implements Serializable
+{
+    DateFormat _dateFormat = DateFormat.getDateInstance();
+
+    public String Now()
+    {
+        GregorianCalendar calendar = new GregorianCalendar();
+        Date t = calendar.getTime();
+        String nowStr = _dateFormat.format(t);
+        return nowStr;
+    }
+}
+
+class MyNumberFormatTest extends NumberFormat {
+    public StringBuffer format(double number, StringBuffer toAppendTo, FieldPosition pos) {
+        return new StringBuffer("");
+    }
+    public StringBuffer format(long number,StringBuffer toAppendTo, FieldPosition pos) {
+        return new StringBuffer("");
+    }
+    public Number parse(String text, ParsePosition parsePosition) {
+        return new Integer(0);
+    }
+    public StringBuffer format(BigDecimal number, StringBuffer toAppendTo, FieldPosition pos) {
+        return new StringBuffer("");
+    }
+    public StringBuffer format(BigInteger number, StringBuffer toAppendTo, FieldPosition pos) {
+        return new StringBuffer("");
+    }
+    public StringBuffer format(com.ibm.icu.math.BigDecimal number, StringBuffer toAppendTo, FieldPosition pos) {
+        return new StringBuffer("");
+    }
+}
+
diff --git a/src/com/ibm/icu/dev/test/format/RBNFParseTest.java b/src/com/ibm/icu/dev/test/format/RBNFParseTest.java
new file mode 100644
index 0000000..e26c93b
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/format/RBNFParseTest.java
@@ -0,0 +1,101 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2004, International Business Machines Corporation and         *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.test.format;
+
+import com.ibm.icu.text.RuleBasedNumberFormat;
+import com.ibm.icu.dev.test.TestFmwk;
+
+import java.util.Locale;
+
+public class RBNFParseTest extends TestFmwk {
+    public static void main(String[] args) {
+    new RBNFParseTest().run(args);
+    }
+
+  public void TestParse() {
+
+    // these rules make no sense but behave rationally
+    String[] okrules = {
+      "random text",
+      "%foo:bar",
+      "%foo: bar",
+      "0:",
+      "0::",
+      "%%foo:;",
+      "-",
+      "-1",
+      "-:",
+      ".",
+      ".1",
+      "[",
+      "]",
+      "[]",
+      "[foo]",
+      "[[]",
+      "[]]",
+      "[[]]",
+      "[][]",
+      "<",
+      ">",
+      "=",
+      "==",
+      "===",
+      "=foo=",
+    };
+
+    String[] exceptrules = {
+      "",
+      ";",
+      ";;",
+      ":",
+      "::",
+      ":1",
+      ":;",
+      ":;:;",
+      "<<",
+      "<<<",
+      "10:;9:;",
+      ">>",
+      ">>>",
+      "10:", // formatting any value with a one's digit will fail
+      "11: << x", // formating a multiple of 10 causes rollback rule to fail
+      "%%foo: 0 foo; 10: =%%bar=; %%bar: 0: bar; 10: =%%foo=;",
+    };
+
+    String[][] allrules = {
+      okrules,
+      exceptrules,
+    };
+
+    for (int j = 0; j < allrules.length; ++j) {
+      String[] tests = allrules[j];
+      boolean except = tests == exceptrules;
+      for (int i = 0; i < tests.length; ++i) {
+    logln("----------");
+    logln("rules: '" + tests[i] + "'");
+    boolean caughtException = false;
+    try {
+      RuleBasedNumberFormat fmt = new RuleBasedNumberFormat(tests[i], Locale.US);
+      logln("1.23: " + fmt.format(20));
+      logln("-123: " + fmt.format(-123));
+      logln(".123: " + fmt.format(.123));
+      logln(" 123: " + fmt.format(123));
+    }
+    catch (Exception e) {
+      if (!except) {
+        errln("Unexpected exception: " + e.getMessage());
+      } else {
+        caughtException = true;
+      }
+    }
+    if (except && !caughtException) {
+      errln("expected exception but didn't get one!");
+    }
+      }
+    }
+  }
+}
diff --git a/src/com/ibm/icu/dev/test/format/RbnfRoundTripTest.java b/src/com/ibm/icu/dev/test/format/RbnfRoundTripTest.java
new file mode 100755
index 0000000..afd5b12
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/format/RbnfRoundTripTest.java
@@ -0,0 +1,213 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.test.format;
+
+import com.ibm.icu.text.RuleBasedNumberFormat;
+import com.ibm.icu.dev.test.TestFmwk;
+
+import java.util.Locale;
+
+public class RbnfRoundTripTest extends TestFmwk {
+    /**
+     * Puts a copyright in the .class file
+     */
+    private static final String copyrightNotice
+        = "Copyright \u00a91997-1998 IBM Corp.  All rights reserved.";
+
+    public static void main(String[] args) {
+        RbnfRoundTripTest test = new RbnfRoundTripTest();
+
+        try {
+            test.run(args);
+        }
+        catch (Throwable e) {
+            System.out.println("Entire test failed because of exception: "
+                            + e.toString());
+            e.printStackTrace();
+        }
+    }
+
+    /**
+     * Perform an exhaustive round-trip test on the English spellout rules
+     */
+    public void TestEnglishSpelloutRT() {
+        RuleBasedNumberFormat formatter
+                        = new RuleBasedNumberFormat(Locale.US,
+                        RuleBasedNumberFormat.SPELLOUT);
+
+        doTest(formatter, -12345678, 12345678);
+    }
+
+    /**
+     * Perform an exhaustive round-trip test on the duration-formatting rules
+     */
+    public void TestDurationsRT() {
+        RuleBasedNumberFormat formatter
+                        = new RuleBasedNumberFormat(Locale.US,
+                        RuleBasedNumberFormat.DURATION);
+
+        doTest(formatter, 0, 12345678);
+    }
+
+    /**
+     * Perform an exhaustive round-trip test on the Spanish spellout rules
+     */
+    public void TestSpanishSpelloutRT() {
+        RuleBasedNumberFormat formatter
+                        = new RuleBasedNumberFormat(new Locale("es", "es",
+                        ""), RuleBasedNumberFormat.SPELLOUT);
+
+        doTest(formatter, -12345678, 12345678);
+    }
+
+    /**
+     * Perform an exhaustive round-trip test on the French spellout rules
+     */
+    public void TestFrenchSpelloutRT() {
+        RuleBasedNumberFormat formatter
+                        = new RuleBasedNumberFormat(Locale.FRANCE,
+                        RuleBasedNumberFormat.SPELLOUT);
+
+        doTest(formatter, -12345678, 12345678);
+    }
+
+    /**
+     * Perform an exhaustive round-trip test on the Swiss French spellout rules
+     */
+    public void TestSwissFrenchSpelloutRT() {
+        RuleBasedNumberFormat formatter
+                        = new RuleBasedNumberFormat(new Locale("fr", "CH",
+                        ""), RuleBasedNumberFormat.SPELLOUT);
+
+        doTest(formatter, -12345678, 12345678);
+    }
+
+    /**
+     * Perform an exhaustive round-trip test on the Italian spellout rules
+     */
+    public void TestItalianSpelloutRT() {
+        RuleBasedNumberFormat formatter
+                        = new RuleBasedNumberFormat(Locale.ITALIAN,
+                        RuleBasedNumberFormat.SPELLOUT);
+
+        doTest(formatter, -999999, 999999);
+    }
+
+    /**
+     * Perform an exhaustive round-trip test on the German spellout rules
+     */
+    public void TestGermanSpelloutRT() {
+        RuleBasedNumberFormat formatter
+                        = new RuleBasedNumberFormat(Locale.GERMANY,
+                        RuleBasedNumberFormat.SPELLOUT);
+
+        doTest(formatter, 0, 12345678);
+    }
+
+    /**
+     * Perform an exhaustive round-trip test on the Swedish spellout rules
+     */
+    public void TestSwedishSpelloutRT() {
+        RuleBasedNumberFormat formatter
+                        = new RuleBasedNumberFormat(new Locale("sv", "SE",
+                        ""), RuleBasedNumberFormat.SPELLOUT);
+
+        doTest(formatter, 0, 12345678);
+    }
+
+    /**
+     * Perform an exhaustive round-trip test on the Dutch spellout rules
+     */
+    public void TestDutchSpelloutRT() {
+        RuleBasedNumberFormat formatter
+                        = new RuleBasedNumberFormat(new Locale("nl", "NL",
+                        ""), RuleBasedNumberFormat.SPELLOUT);
+
+        doTest(formatter, -12345678, 12345678);
+    }
+
+    /**
+     * Perform an exhaustive round-trip test on the Japanese spellout rules
+     */
+    public void TestJapaneseSpelloutRT() {
+        RuleBasedNumberFormat formatter
+                        = new RuleBasedNumberFormat(Locale.JAPAN,
+                        RuleBasedNumberFormat.SPELLOUT);
+
+        doTest(formatter, 0, 12345678);
+    }
+
+    /**
+     * Perform an exhaustive round-trip test on the Russian spellout rules
+     */
+    public void TestRussianSpelloutRT() {
+        RuleBasedNumberFormat formatter
+                        = new RuleBasedNumberFormat(new Locale("ru", "RU",
+                        ""), RuleBasedNumberFormat.SPELLOUT);
+
+        doTest(formatter, 0, 12345678);
+    }
+
+    /**
+     * Perform an exhaustive round-trip test on the Greek spellout rules
+     */
+    public void TestGreekSpelloutRT() {
+        RuleBasedNumberFormat formatter
+                        = new RuleBasedNumberFormat(new Locale("el", "GR",
+                        ""), RuleBasedNumberFormat.SPELLOUT);
+
+        doTest(formatter, 0, 12345678);
+    }
+
+    void doTest(RuleBasedNumberFormat formatter,  long lowLimit,
+                    long highLimit) {
+        try {
+            long count = 0;
+            long increment = 1;
+            for (long i = lowLimit; i <= highLimit; i += increment) {
+                if (count % 1000 == 0)
+                    logln(Long.toString(i));
+
+                if (Math.abs(i) < 5000)
+                    increment = 1;
+                else if (Math.abs(i) < 500000)
+                    increment = 2737;
+                else
+                    increment = 267437;
+
+                String text = formatter.format(i);
+                long rt = formatter.parse(text).longValue();
+
+                if (rt != i) {
+                    errln("Round-trip failed: " + i + " -> " + text +
+                                    " -> " + rt);
+                }
+
+                ++count;
+            }
+
+            if (lowLimit < 0) {
+                double d = 1.234;
+                while (d < 1000) {
+                    String text = formatter.format(d);
+                    double rt = formatter.parse(text).doubleValue();
+
+                    if (rt != d) {
+                        errln("Round-trip failed: " + d + " -> " + text +
+                                        " -> " + rt);
+                    }
+                    d *= 10;
+                }
+            }
+        }
+        catch (Throwable e) {
+            errln("Test failed with exception: " + e.toString());
+            e.printStackTrace();
+        }
+    }
+}
+
diff --git a/src/com/ibm/icu/dev/test/format/RbnfTest.java b/src/com/ibm/icu/dev/test/format/RbnfTest.java
new file mode 100755
index 0000000..51eef0e
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/format/RbnfTest.java
@@ -0,0 +1,1055 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.test.format;
+
+import com.ibm.icu.text.RuleBasedNumberFormat;
+import com.ibm.icu.dev.test.TestFmwk;
+import com.ibm.icu.util.ULocale;
+
+import java.math.BigInteger;
+import java.math.BigDecimal;
+import java.util.Locale;
+import java.util.Random;
+import java.text.DecimalFormat;
+import java.text.NumberFormat;
+
+public class RbnfTest extends TestFmwk {
+    /**
+     * Puts a copyright in the .class file
+     */
+    private static final String copyrightNotice
+        = "Copyright \u00a91997-1999 IBM Corp.  All rights reserved.";
+
+    public static void main(String[] args) {
+        RbnfTest test = new RbnfTest();
+
+        try {
+            test.run(args);
+        }
+        catch (Throwable e) {
+            System.out.println("Entire test failed because of exception: "
+                               + e.toString());
+            e.printStackTrace();
+        }
+    }
+
+    static String fracRules = 
+        "%main:\n" +
+        // this rule formats the number if it's 1 or more.  It formats
+        // the integral part using a DecimalFormat ("#,##0" puts
+        // thousands separators in the right places) and the fractional
+        // part using %%frac.  If there is no fractional part, it
+        // just shows the integral part.
+        "    x.0: <#,##0<[ >%%frac>];\n" +
+        // this rule formats the number if it's between 0 and 1.  It
+        // shows only the fractional part (0.5 shows up as "1/2," not
+        // "0 1/2")
+        "    0.x: >%%frac>;\n" +
+        // the fraction rule set.  This works the same way as the one in the
+        // preceding example: We multiply the fractional part of the number
+        // being formatted by each rule's base value and use the rule that
+        // produces the result closest to 0 (or the first rule that produces 0).
+        // Since we only provide rules for the numbers from 2 to 10, we know
+        // we'll get a fraction with a denominator between 2 and 10.
+        // "<0<" causes the numerator of the fraction to be formatted
+        // using numerals
+        "%%frac:\n" +
+        "    2: 1/2;\n" +
+        "    3: <0</3;\n" +
+        "    4: <0</4;\n" +
+        "    5: <0</5;\n" +
+        "    6: <0</6;\n" +
+        "    7: <0</7;\n" +
+        "    8: <0</8;\n" +
+        "    9: <0</9;\n" +
+        "   10: <0</10;\n";
+
+    static {
+        // mondo hack
+    char[] fracRulesArr = fracRules.toCharArray();
+        int len = fracRulesArr.length;
+        int change = 2;
+        for (int i = 0; i < len; ++i) {
+            char ch = fracRulesArr[i];
+            if (ch == '\n') {
+                change = 2; // change ok
+            } else if (ch == ':') {
+                change = 1; // change, but once we hit a non-space char, don't change
+            } else if (ch == ' ') {
+                if (change != 0) {
+                    fracRulesArr[i] = (char)0x200e;
+                }
+            } else {
+                if (change == 1) {
+                    change = 0;
+                }
+            }
+        }
+    fracRules = new String(fracRulesArr);
+    }
+
+    static final String durationInSecondsRules =
+        // main rule set for formatting with words
+        "%with-words:\n"
+        // take care of singular and plural forms of "second"
+        + "    0 seconds; 1 second; =0= seconds;\n"
+        // use %%min to format values greater than 60 seconds
+        + "    60/60: <%%min<[, >>];\n"
+        // use %%hr to format values greater than 3,600 seconds
+        // (the ">>>" below causes us to see the number of minutes
+        // when when there are zero minutes)
+        + "    3600/60: <%%hr<[, >>>];\n"
+        // this rule set takes care of the singular and plural forms
+        // of "minute"
+        + "%%min:\n"
+        + "    0 minutes; 1 minute; =0= minutes;\n"
+        // this rule set takes care of the singular and plural forms
+        // of "hour"
+        + "%%hr:\n"
+        + "    0 hours; 1 hour; =0= hours;\n"
+
+        // main rule set for formatting in numerals
+        + "%in-numerals:\n"
+        // values below 60 seconds are shown with "sec."
+        + "    =0= sec.;\n"
+        // higher values are shown with colons: %%min-sec is used for
+        // values below 3,600 seconds...
+        + "    60: =%%min-sec=;\n"
+        // ...and %%hr-min-sec is used for values of 3,600 seconds
+        // and above
+        + "    3600: =%%hr-min-sec=;\n"
+        // this rule causes values of less than 10 minutes to show without
+        // a leading zero
+        + "%%min-sec:\n"
+        + "    0: :=00=;\n"
+        + "    60/60: <0<>>;\n"
+        // this rule set is used for values of 3,600 or more.  Minutes are always
+        // shown, and always shown with two digits
+        + "%%hr-min-sec:\n"
+        + "    0: :=00=;\n"
+        + "    60/60: <00<>>;\n"
+        + "    3600/60: <#,##0<:>>>;\n"
+        // the lenient-parse rules allow several different characters to be used
+        // as delimiters between hours, minutes, and seconds
+        + "%%lenient-parse:\n"
+        + "    & : = . = ' ' = -;\n";
+
+    public void TestCoverage() {
+        // extra calls to boost coverage numbers
+        RuleBasedNumberFormat fmt0 = new RuleBasedNumberFormat(RuleBasedNumberFormat.SPELLOUT);
+        RuleBasedNumberFormat fmt1 = (RuleBasedNumberFormat)fmt0.clone();
+        RuleBasedNumberFormat fmt2 = new RuleBasedNumberFormat(RuleBasedNumberFormat.SPELLOUT);
+        if (!fmt0.equals(fmt0)) {
+            errln("self equality fails");
+        }
+        if (!fmt0.equals(fmt1)) {
+            errln("clone equality fails");
+        }
+        if (!fmt0.equals(fmt2)) {
+            errln("duplicate equality fails");
+        }
+        String str = fmt0.toString();
+        logln(str);
+
+        RuleBasedNumberFormat fmt3 =  new RuleBasedNumberFormat(durationInSecondsRules);
+
+        if (fmt0.equals(fmt3)) {
+            errln("nonequal fails");
+        }
+        if (!fmt3.equals(fmt3)) {
+            errln("self equal 2 fails");
+        }
+        str = fmt3.toString();
+        logln(str);
+
+        String[] names = fmt3.getRuleSetNames();
+
+        try {
+            fmt3.setDefaultRuleSet(null);
+            fmt3.setDefaultRuleSet("%%foo");
+            errln("sdrf %%foo didn't fail");
+        }
+        catch (Exception e) {
+            logln("Got the expected exception");
+        }
+
+        try {
+            fmt3.setDefaultRuleSet("%bogus");
+            errln("sdrf %bogus didn't fail");
+        }
+        catch (Exception e) {
+            logln("Got the expected exception");
+        }
+
+        try {
+            str = fmt3.format(2.3, names[0]);
+            logln(str);
+            str = fmt3.format(2.3, "%%foo");
+            errln("format double %%foo didn't fail");
+        }
+        catch (Exception e) {
+            logln("Got the expected exception");
+        }
+
+        try {
+            str = fmt3.format(123L, names[0]);
+            logln(str);
+            str = fmt3.format(123L, "%%foo");
+            errln("format double %%foo didn't fail");
+        }
+        catch (Exception e) {
+            logln("Got the expected exception");
+        }
+
+        RuleBasedNumberFormat fmt4 = new RuleBasedNumberFormat(fracRules, Locale.ENGLISH);
+        RuleBasedNumberFormat fmt5 = new RuleBasedNumberFormat(fracRules, Locale.ENGLISH);
+        str = fmt4.toString();
+        logln(str);
+        if (!fmt4.equals(fmt5)) {
+            errln("duplicate 2 equality failed");
+        }
+        str = fmt4.format(123L);
+        logln(str);
+        try {
+            Number num = fmt4.parse(str);
+            logln(num.toString());
+        }
+        catch (Exception e) {
+            errln("parse caught exception");
+        }
+
+        str = fmt4.format(.000123);
+        logln(str);
+        try {
+            Number num = fmt4.parse(str);
+            logln(num.toString());
+        }
+        catch (Exception e) {
+            errln("parse caught exception");
+        }
+
+        str = fmt4.format(456.000123);
+        logln(str);
+        try {
+            Number num = fmt4.parse(str);
+            logln(num.toString());
+        }
+        catch (Exception e) {
+            errln("parse caught exception");
+        }
+    }
+
+    public void TestUndefinedSpellout() {
+        Locale greek = new Locale("el", "", "");
+        RuleBasedNumberFormat[] formatters = {
+            new RuleBasedNumberFormat(greek, RuleBasedNumberFormat.SPELLOUT),
+            new RuleBasedNumberFormat(greek, RuleBasedNumberFormat.ORDINAL),
+            new RuleBasedNumberFormat(greek, RuleBasedNumberFormat.DURATION),
+        };
+
+        String[] data = {
+            "0",
+            "1",
+            "15",
+            "20",
+            "23",
+            "73",
+            "88",
+            "100",
+            "106",
+            "127",
+            "200",
+            "579",
+            "1,000",
+            "2,000",
+            "3,004",
+            "4,567",
+            "15,943",
+            "105,000",
+            "2,345,678",
+            "-36",
+            "-36.91215",
+            "234.56789"
+        };
+
+        NumberFormat decFormat = NumberFormat.getInstance(Locale.US);
+        for (int j = 0; j < formatters.length; ++j) {
+            com.ibm.icu.text.NumberFormat formatter = formatters[j];
+            logln("formatter[" + j + "]");
+            for (int i = 0; i < data.length; ++i) {
+                try {
+                    String result = formatter.format(decFormat.parse(data[i]));
+                    logln("[" + i + "] " + data[i] + " ==> " + result);
+                }
+                catch (Exception e) {
+                    errln("formatter[" + j + "], data[" + i + "] " + data[i] + " threw exception " + e.getMessage());
+                }
+            }
+        }
+    }
+
+    /**
+     * Perform a simple spot check on the English spellout rules
+     */
+    public void TestEnglishSpellout() {
+        RuleBasedNumberFormat formatter
+            = new RuleBasedNumberFormat(Locale.US,
+                                        RuleBasedNumberFormat.SPELLOUT);
+        String[][] testData = {
+            { "1", "one" },
+            { "15", "fifteen" },
+            { "20", "twenty" },
+            { "23", "twenty-three" },
+            { "73", "seventy-three" },
+            { "88", "eighty-eight" },
+            { "100", "one hundred" },
+            { "106", "one hundred and six" },
+            { "127", "one hundred and twenty-seven" },
+            { "200", "two hundred" },
+            { "579", "five hundred and seventy-nine" },
+            { "1,000", "one thousand" },
+            { "2,000", "two thousand" },
+            { "3,004", "three thousand and four" },
+            { "4,567", "four thousand five hundred and sixty-seven" },
+            { "15,943", "fifteen thousand nine hundred and forty-three" },
+            { "2,345,678", "two million, three hundred and forty-five "
+              + "thousand, six hundred and seventy-eight" },
+            { "-36", "minus thirty-six" },
+            { "234.567", "two hundred and thirty-four point five six seven" }
+        };
+
+        doTest(formatter, testData, true);
+
+        formatter.setLenientParseMode(true);
+        String[][] lpTestData = {
+            { "FOurhundred     thiRTY six", "436" },
+            // test spaces before fifty-7 causing lenient parse match of "fifty-" to " fifty"
+            // leaving "-7" for remaining parse, resulting in 2643 as the parse result.
+            { "fifty-7", "57" },
+            { " fifty-7", "57" },
+            { "  fifty-7", "57" },
+            { "2 thousand six HUNDRED   fifty-7", "2,657" },
+            { "fifteen hundred and zero", "1,500" }
+        };
+        doLenientParseTest(formatter, lpTestData);
+    }
+
+    /**
+     * Perform a simple spot check on the English ordinal-abbreviation rules
+     */
+    public void TestOrdinalAbbreviations() {
+        RuleBasedNumberFormat formatter
+            = new RuleBasedNumberFormat(Locale.US,
+                                        RuleBasedNumberFormat.ORDINAL);
+        String[][] testData = {
+            { "1", "1st" },
+            { "2", "2nd" },
+            { "3", "3rd" },
+            { "4", "4th" },
+            { "7", "7th" },
+            { "10", "10th" },
+            { "11", "11th" },
+            { "13", "13th" },
+            { "20", "20th" },
+            { "21", "21st" },
+            { "22", "22nd" },
+            { "23", "23rd" },
+            { "24", "24th" },
+            { "33", "33rd" },
+            { "102", "102nd" },
+            { "312", "312th" },
+            { "12,345", "12,345th" }
+        };
+
+        doTest(formatter, testData, false);
+    }
+
+    /**
+     * Perform a simple spot check on the duration-formatting rules
+     */
+    public void TestDurations() {
+        RuleBasedNumberFormat formatter
+            = new RuleBasedNumberFormat(Locale.US,
+                                        RuleBasedNumberFormat.DURATION);
+        String[][] testData = {
+            { "3,600", "1:00:00" },             //move me and I fail
+            { "0", "0 sec." },
+            { "1", "1 sec." },
+            { "24", "24 sec." },
+            { "60", "1:00" },
+            { "73", "1:13" },
+            { "145", "2:25" },
+            { "666", "11:06" },
+            //            { "3,600", "1:00:00" },
+            { "3,740", "1:02:20" },
+            { "10,293", "2:51:33" }
+        };
+
+        doTest(formatter, testData, true);
+
+        formatter.setLenientParseMode(true);
+        String[][] lpTestData = {
+            { "2-51-33", "10,293" }
+        };
+        doLenientParseTest(formatter, lpTestData);
+    }
+
+    /**
+     * Perform a simple spot check on the Spanish spellout rules
+     */
+    public void TestSpanishSpellout() {
+        RuleBasedNumberFormat formatter
+            = new RuleBasedNumberFormat(new Locale("es", "es",
+                                                   ""), RuleBasedNumberFormat.SPELLOUT);
+        String[][] testData = {
+            { "1", "uno" },
+            { "6", "seis" },
+            { "16", "diecis\u00e9is" },
+            { "20", "veinte" },
+            { "24", "veinticuatro" },
+            { "26", "veintis\u00e9is" },
+            { "73", "setenta y tres" },
+            { "88", "ochenta y ocho" },
+            { "100", "cien" },
+            { "106", "ciento seis" },
+            { "127", "ciento veintisiete" },
+            { "200", "doscientos" },
+            { "579", "quinientos setenta y nueve" },
+            { "1,000", "mil" },
+            { "2,000", "dos mil" },
+            { "3,004", "tres mil cuatro" },
+            { "4,567", "cuatro mil quinientos sesenta y siete" },
+            { "15,943", "quince mil novecientos cuarenta y tres" },
+            { "2,345,678", "dos mill\u00f3n trescientos cuarenta y cinco mil "
+              + "seiscientos setenta y ocho"},
+            { "-36", "menos treinta y seis" },
+            { "234.567", "doscientos treinta y cuatro punto cinco seis siete" }
+        };
+
+        doTest(formatter, testData, true);
+    }
+
+    /**
+     * Perform a simple spot check on the French spellout rules
+     */
+    public void TestFrenchSpellout() {
+        RuleBasedNumberFormat formatter
+            = new RuleBasedNumberFormat(Locale.FRANCE,
+                                        RuleBasedNumberFormat.SPELLOUT);
+        String[][] testData = {
+            { "1", "un" },
+            { "15", "quinze" },
+            { "20", "vingt" },
+            { "21", "vingt-et-un" },
+            { "23", "vingt-trois" },
+            { "62", "soixante-deux" },
+            { "70", "soixante-dix" },
+            { "71", "soixante et onze" },
+            { "73", "soixante-treize" },
+            { "80", "quatre-vingts" },
+            { "88", "quatre-vingt-huit" },
+            { "100", "cent" },
+            { "106", "cent six" },
+            { "127", "cent vingt-sept" },
+            { "200", "deux cents" },
+            { "579", "cinq cents soixante-dix-neuf" },
+            { "1,000", "mille" },
+            { "1,123", "onze cents vingt-trois" },
+            { "1,594", "mille cinq cents quatre-vingt-quatorze" },
+            { "2,000", "deux mille" },
+            { "3,004", "trois mille quatre" },
+            { "4,567", "quatre mille cinq cents soixante-sept" },
+            { "15,943", "quinze mille neuf cents quarante-trois" },
+            { "2,345,678", "deux million trois cents quarante-cinq mille "
+              + "six cents soixante-dix-huit" },
+            { "-36", "moins trente-six" },
+            { "234.567", "deux cents trente-quatre virgule cinq six sept" }
+        };
+
+        doTest(formatter, testData, true);
+
+        formatter.setLenientParseMode(true);
+        String[][] lpTestData = {
+            { "trente-un", "31" },
+            { "un cents quatre vingt dix huit", "198" }
+        };
+        doLenientParseTest(formatter, lpTestData);
+    }
+
+    /**
+     * Perform a simple spot check on the Swiss French spellout rules
+     */
+    public void TestSwissFrenchSpellout() {
+        RuleBasedNumberFormat formatter
+            = new RuleBasedNumberFormat(new Locale("fr", "CH",
+                                                   ""), RuleBasedNumberFormat.SPELLOUT);
+        String[][] testData = {
+            { "1", "un" },
+            { "15", "quinze" },
+            { "20", "vingt" },
+            { "21", "vingt-et-un" },
+            { "23", "vingt-trois" },
+            { "62", "soixante-deux" },
+            { "70", "septante" },
+            { "71", "septante-et-un" },
+            { "73", "septante-trois" },
+            { "80", "huitante" },
+            { "88", "huitante-huit" },
+            { "100", "cent" },
+            { "106", "cent six" },
+            { "127", "cent vingt-sept" },
+            { "200", "deux cents" },
+            { "579", "cinq cents septante-neuf" },
+            { "1,000", "mille" },
+            { "1,123", "onze cents vingt-trois" },
+            { "1,594", "mille cinq cents nonante-quatre" },
+            { "2,000", "deux mille" },
+            { "3,004", "trois mille quatre" },
+            { "4,567", "quatre mille cinq cents soixante-sept" },
+            { "15,943", "quinze mille neuf cents quarante-trois" },
+            { "2,345,678", "deux million trois cents quarante-cinq mille "
+              + "six cents septante-huit" },
+            { "-36", "moins trente-six" },
+            { "234.567", "deux cents trente-quatre virgule cinq six sept" }
+        };
+
+        doTest(formatter, testData, true);
+    }
+
+    /**
+     * Perform a simple spot check on the Italian spellout rules
+     */
+    public void TestItalianSpellout() {
+        RuleBasedNumberFormat formatter
+            = new RuleBasedNumberFormat(Locale.ITALIAN,
+                                        RuleBasedNumberFormat.SPELLOUT);
+        String[][] testData = {
+            { "1", "uno" },
+            { "15", "quindici" },
+            { "20", "venti" },
+            { "23", "ventitre" },
+            { "73", "settantatre" },
+            { "88", "ottantotto" },
+            { "100", "cento" },
+            { "106", "centosei" },
+            { "108", "centotto" },
+            { "127", "centoventisette" },
+            { "181", "centottantuno" },
+            { "200", "duecento" },
+            { "579", "cinquecentosettantanove" },
+            { "1,000", "mille" },
+            { "2,000", "duemila" },
+            { "3,004", "tremilaquattro" },
+            { "4,567", "quattromilacinquecentosessantasette" },
+            { "15,943", "quindicimilanovecentoquarantatre" },
+            { "-36", "meno trentisei" },
+            { "234.567", "duecentotrentiquattro virgola cinque sei sette" }
+        };
+
+        doTest(formatter, testData, true);
+    }
+
+    /**
+     * Perform a simple spot check on the German spellout rules
+     */
+    public void TestGermanSpellout() {
+        RuleBasedNumberFormat formatter
+            = new RuleBasedNumberFormat(Locale.GERMANY,
+                                        RuleBasedNumberFormat.SPELLOUT);
+        String[][] testData = {
+            { "1", "eins" },
+            { "15", "f\u00fcnfzehn" },
+            { "20", "zwanzig" },
+            { "23", "dreiundzwanzig" },
+            { "73", "dreiundsiebzig" },
+            { "88", "achtundachtzig" },
+            { "100", "hundert" },
+            { "106", "hundertsechs" },
+            { "127", "hundertsiebenundzwanzig" },
+            { "200", "zweihundert" },
+            { "579", "f\u00fcnfhundertneunundsiebzig" },
+            { "1,000", "tausend" },
+            { "2,000", "zweitausend" },
+            { "3,004", "dreitausendvier" },
+            { "4,567", "viertausendf\u00fcnfhundertsiebenundsechzig" },
+            { "15,943", "f\u00fcnfzehntausendneunhundertdreiundvierzig" },
+            { "2,345,678", "zwei Millionen dreihundertf\u00fcnfundvierzigtausend"
+              + "sechshundertachtundsiebzig" }
+        };
+
+        doTest(formatter, testData, true);
+
+        formatter.setLenientParseMode(true);
+        String[][] lpTestData = {
+            { "ein Tausend sechs Hundert fuenfunddreissig", "1,635" }
+        };
+        doLenientParseTest(formatter, lpTestData);
+    }
+
+    /**
+     * Perform a simple spot check on the Thai spellout rules
+     */
+    public void TestThaiSpellout() {
+        RuleBasedNumberFormat formatter
+            = new RuleBasedNumberFormat(new Locale("th", "TH", ""),
+                                        RuleBasedNumberFormat.SPELLOUT);
+        String[][] testData = {
+            { "0", "\u0e28\u0e39\u0e19\u0e22\u0e4c" },
+            { "1", "\u0e2b\u0e19\u0e36\u0e48\u0e07" },
+            { "10", "\u0e2a\u0e34\u0e1a" },
+            { "11", "\u0e2a\u0e34\u0e1a\u0e40\u0e2d\u0e47\u0e14" },
+            { "21", "\u0e22\u0e35\u0e48\u0e2a\u0e34\u0e1a\u0e40\u0e2d\u0e47\u0e14" },
+            { "101", "\u0e2b\u0e19\u0e36\u0e48\u0e07\u0e23\u0e49\u0e2d\u0e22\u0e2b\u0e19\u0e36\u0e48\u0e07" },
+            { "1.234", "\u0e2b\u0e19\u0e36\u0e48\u0e07\u0e08\u0e38\u0e14\u0e2a\u0e2d\u0e07\u0e2a\u0e32\u0e21\u0e2a\u0e35\u0e48" },
+            { "21.45", "\u0e22\u0e35\u0e48\u0e2a\u0e34\u0e1a\u0e40\u0e2d\u0e47\u0e14\u0e08\u0e38\u0e14\u0e2a\u0e35\u0e48\u0e2b\u0e49\u0e32" },
+            { "22.45", "\u0e22\u0e35\u0e48\u0e2a\u0e34\u0e1a\u0e2a\u0e2d\u0e07\u0e08\u0e38\u0e14\u0e2a\u0e35\u0e48\u0e2b\u0e49\u0e32" },
+            { "23.45", "\u0e22\u0e35\u0e48\u0e2a\u0e34\u0e1a\u0e2a\u0e32\u0e21\u0e08\u0e38\u0e14\u0e2a\u0e35\u0e48\u0e2b\u0e49\u0e32" },
+            { "123.45", "\u0e2b\u0e19\u0e36\u0e48\u0e07\u0e23\u0e49\u0e2d\u0e22\u0e22\u0e35\u0e48\u0e2a\u0e34\u0e1a\u0e2a\u0e32\u0e21\u0e08\u0e38\u0e14\u0e2a\u0e35\u0e48\u0e2b\u0e49\u0e32" },
+            { "12,345.678", "\u0E2B\u0E19\u0E36\u0E48\u0E07\u0E2B\u0E21\u0E37\u0E48\u0E19\u0E2A\u0E2D\u0E07\u0E1E\u0E31\u0E19\u0E2A\u0E32\u0E21\u0E23\u0E49\u0E2D\u0E22\u0E2A\u0E35\u0E48\u0E2A\u0E34\u0E1A\u0E2B\u0E49\u0E32\u0E08\u0E38\u0E14\u0E2B\u0E01\u0E40\u0E08\u0E47\u0E14\u0E41\u0E1B\u0E14" },
+        };
+
+        doTest(formatter, testData, true);
+
+        /*
+          formatter.setLenientParseMode(true);
+          String[][] lpTestData = {
+          { "ein Tausend sechs Hundert fuenfunddreissig", "1,635" }
+          };
+          doLenientParseTest(formatter, lpTestData);
+        */
+    }
+
+    public void TestFractionalRuleSet() {
+
+
+        RuleBasedNumberFormat formatter =
+            new RuleBasedNumberFormat(fracRules, Locale.ENGLISH);
+
+        String[][] testData = {
+            { "0", "0" },
+            { "1", "1" },
+            { "10", "10" },
+            { ".1", "1/10" },
+            { ".11", "1/9" },
+            { ".125", "1/8" },
+            { ".1428", "1/7" },
+            { ".1667", "1/6" },
+            { ".2", "1/5" },
+            { ".25", "1/4" },
+            { ".333", "1/3" },
+            { ".5", "1/2" },
+            { "1.1", "1 1/10" },
+            { "2.11", "2 1/9" },
+            { "3.125", "3 1/8" },
+            { "4.1428", "4 1/7" },
+            { "5.1667", "5 1/6" },
+            { "6.2", "6 1/5" },
+            { "7.25", "7 1/4" },
+            { "8.333", "8 1/3" },
+            { "9.5", "9 1/2" },
+            { ".2222", "2/9" },
+            { ".4444", "4/9" },
+            { ".5555", "5/9" },
+            { "1.2856", "1 2/7" }
+        };
+        doTest(formatter, testData, false); // exact values aren't parsable from fractions
+    }
+
+    public void TestSwedishSpellout()
+    {
+        Locale locale = new Locale("sv", "", "");
+        RuleBasedNumberFormat formatter = new RuleBasedNumberFormat(locale, RuleBasedNumberFormat.SPELLOUT);
+
+        String[][] testDataDefault = {
+            { "101", "etthundra\u00aden" },
+            { "123", "etthundra\u00adtjugotre" },
+            { "1,001", "ettusen en" },
+            { "1,100", "ettusen etthundra" },
+            { "1,101", "ettusen etthundra\u00aden" },
+            { "1,234", "ettusen tv\u00e5hundra\u00adtrettiofyra" },
+            { "10,001", "tio\u00adtusen en" },
+            { "11,000", "elva\u00adtusen" },
+            { "12,000", "tolv\u00adtusen" },
+            { "20,000", "tjugo\u00adtusen" },
+            { "21,000", "tjugoen\u00adtusen" },
+            { "21,001", "tjugoen\u00adtusen en" },
+            { "200,000", "tv\u00e5hundra\u00adtusen" },
+            { "201,000", "tv\u00e5hundra\u00aden\u00adtusen" },
+            { "200,200", "tv\u00e5hundra\u00adtusen tv\u00e5hundra" },
+            { "2,002,000", "tv\u00e5 miljoner tv\u00e5\u00adtusen" },
+            { "12,345,678", "tolv miljoner trehundra\u00adfyrtiofem\u00adtusen sexhundra\u00adsjuttio\u00e5tta" },
+            { "123,456.789", "etthundra\u00adtjugotre\u00adtusen fyrahundra\u00adfemtiosex komma sju \u00e5tta nio" },
+            { "-12,345.678", "minus tolv\u00adtusen trehundra\u00adfyrtiofem komma sex sju \u00e5tta" }
+        };
+
+        logln("testing default rules");
+        doTest(formatter, testDataDefault, true);
+
+        String[][] testDataNeutrum = {
+            { "101", "etthundra\u00adett" },
+            { "1,001", "ettusen ett" },
+            { "1,101", "ettusen etthundra\u00adett" },
+            { "10,001", "tio\u00adtusen ett" },
+            { "21,001", "tjugoen\u00adtusen ett" }
+        };
+
+        formatter.setDefaultRuleSet("%neutrum");
+        logln("testing neutrum rules");
+        doTest(formatter, testDataNeutrum, true);
+
+        String[][] testDataYear = {
+            { "101", "etthundra\u00adett" },
+            { "900", "niohundra" },
+            { "1,001", "tiohundra\u00adett" },
+            { "1,100", "elvahundra" },
+            { "1,101", "elvahundra\u00adett" },
+            { "1,234", "tolvhundra\u00adtrettiofyra" },
+            { "2,001", "tjugohundra\u00adett" },
+            { "10,001", "tio\u00adtusen ett" }
+        };
+
+        formatter.setDefaultRuleSet("%year");
+        logln("testing year rules");
+        doTest(formatter, testDataYear, true);
+    }
+
+    public void TestBigNumbers() {
+        BigInteger bigI = new BigInteger("1234567890", 10);
+        StringBuffer buf = new StringBuffer();
+        RuleBasedNumberFormat fmt = new RuleBasedNumberFormat(RuleBasedNumberFormat.SPELLOUT);
+        fmt.format(bigI, buf, null);
+        logln("big int: " + buf.toString());
+
+        buf.setLength(0);
+        BigDecimal bigD = new BigDecimal(bigI);
+        fmt.format(bigD, buf, null);
+        logln("big dec: " + buf.toString());
+    }
+
+  public void TestTrailingSemicolon() {
+    String thaiRules = 
+        "%default:\n" +
+        "  -x: \u0e25\u0e1a>>;\n" +
+        "  x.x: <<\u0e08\u0e38\u0e14>>>;\n" +
+        "  \u0e28\u0e39\u0e19\u0e22\u0e4c; \u0e2b\u0e19\u0e36\u0e48\u0e07; \u0e2a\u0e2d\u0e07; \u0e2a\u0e32\u0e21;\n" +
+        "  \u0e2a\u0e35\u0e48; \u0e2b\u0e49\u0e32; \u0e2b\u0e01; \u0e40\u0e08\u0e47\u0e14; \u0e41\u0e1b\u0e14;\n" +
+        "  \u0e40\u0e01\u0e49\u0e32; \u0e2a\u0e34\u0e1a; \u0e2a\u0e34\u0e1a\u0e40\u0e2d\u0e47\u0e14;\n" +
+        "  \u0e2a\u0e34\u0e1a\u0e2a\u0e2d\u0e07; \u0e2a\u0e34\u0e1a\u0e2a\u0e32\u0e21;\n" +
+        "  \u0e2a\u0e34\u0e1a\u0e2a\u0e35\u0e48; \u0e2a\u0e34\u0e1a\u0e2b\u0e49\u0e32;\n" +
+        "  \u0e2a\u0e34\u0e1a\u0e2b\u0e01; \u0e2a\u0e34\u0e1a\u0e40\u0e08\u0e47\u0e14;\n" +
+        "  \u0e2a\u0e34\u0e1a\u0e41\u0e1b\u0e14; \u0e2a\u0e34\u0e1a\u0e40\u0e01\u0e49\u0e32;\n" +
+        "  20: \u0e22\u0e35\u0e48\u0e2a\u0e34\u0e1a[>%%alt-ones>];\n" +
+        "  30: \u0e2a\u0e32\u0e21\u0e2a\u0e34\u0e1a[>%%alt-ones>];\n" +
+        "  40: \u0e2a\u0e35\u0e48\u0e2a\u0e34\u0e1a[>%%alt-ones>];\n" +
+        "  50: \u0e2b\u0e49\u0e32\u0e2a\u0e34\u0e1a[>%%alt-ones>];\n" +
+        "  60: \u0e2b\u0e01\u0e2a\u0e34\u0e1a[>%%alt-ones>];\n" +
+        "  70: \u0e40\u0e08\u0e47\u0e14\u0e2a\u0e34\u0e1a[>%%alt-ones>];\n" +
+        "  80: \u0e41\u0e1b\u0e14\u0e2a\u0e34\u0e1a[>%%alt-ones>];\n" +
+        "  90: \u0e40\u0e01\u0e49\u0e32\u0e2a\u0e34\u0e1a[>%%alt-ones>];\n" +
+        "  100: <<\u0e23\u0e49\u0e2d\u0e22[>>];\n" +
+        "  1000: <<\u0e1e\u0e31\u0e19[>>];\n" +
+        "  10000: <<\u0e2b\u0e21\u0e37\u0e48\u0e19[>>];\n" +
+        "  100000: <<\u0e41\u0e2a\u0e19[>>];\n" +
+        "  1,000,000: <<\u0e25\u0e49\u0e32\u0e19[>>];\n" +
+        "  1,000,000,000: <<\u0e1e\u0e31\u0e19\u0e25\u0e49\u0e32\u0e19[>>];\n" +
+        "  1,000,000,000,000: <<\u0e25\u0e49\u0e32\u0e19\u0e25\u0e49\u0e32\u0e19[>>];\n" +
+        "  1,000,000,000,000,000: =#,##0=;\n" +
+        "%%alt-ones:\n" +
+        "  \u0e28\u0e39\u0e19\u0e22\u0e4c;\n" +
+        "  \u0e40\u0e2d\u0e47\u0e14;\n" +
+        "  =%default=;\n ; ;; ";
+
+        RuleBasedNumberFormat formatter
+            = new RuleBasedNumberFormat(thaiRules, new Locale("th", "TH", ""));
+
+        String[][] testData = {
+            { "0", "\u0e28\u0e39\u0e19\u0e22\u0e4c" },
+            { "1", "\u0e2b\u0e19\u0e36\u0e48\u0e07" },
+            { "123.45", "\u0e2b\u0e19\u0e36\u0e48\u0e07\u0e23\u0e49\u0e2d\u0e22\u0e22\u0e35\u0e48\u0e2a\u0e34\u0e1a\u0e2a\u0e32\u0e21\u0e08\u0e38\u0e14\u0e2a\u0e35\u0e48\u0e2b\u0e49\u0e32" }
+        };
+        
+        doTest(formatter, testData, true);
+    }
+
+    public void TestSmallValues() {
+    String[][] testData = {
+        { "0.001", "zero point zero zero one" },
+        { "0.0001", "zero point zero zero zero one" },
+        { "0.00001", "zero point zero zero zero zero one" },
+        { "0.000001", "zero point zero zero zero zero zero one" },
+        { "0.0000001", "zero point zero zero zero zero zero zero one" },
+        { "0.00000001", "zero point zero zero zero zero zero zero zero one" },
+        { "0.000000001", "zero point zero zero zero zero zero zero zero zero one" },
+        { "0.0000000001", "zero point zero zero zero zero zero zero zero zero zero one" },
+        { "0.00000000001", "zero point zero zero zero zero zero zero zero zero zero zero one" },
+        { "0.000000000001", "zero point zero zero zero zero zero zero zero zero zero zero zero one" },
+        { "0.0000000000001", "zero point zero zero zero zero zero zero zero zero zero zero zero zero one" },
+        { "0.00000000000001", "zero point zero zero zero zero zero zero zero zero zero zero zero zero zero one" },
+        { "0.000000000000001", "zero point zero zero zero zero zero zero zero zero zero zero zero zero zero zero one" },
+        { "10,000,000.001", "ten million point zero zero one" },
+        { "10,000,000.0001", "ten million point zero zero zero one" },
+        { "10,000,000.00001", "ten million point zero zero zero zero one" },
+        { "10,000,000.000001", "ten million point zero zero zero zero zero one" },
+        { "10,000,000.0000001", "ten million point zero zero zero zero zero zero one" },
+        { "10,000,000.00000001", "ten million point zero zero zero zero zero zero zero one" },
+        { "10,000,000.000000002", "ten million point zero zero zero zero zero zero zero zero two" },
+        { "10,000,000", "ten million" },
+        { "1,234,567,890.0987654", "one billion, two hundred and thirty-four million, five hundred and sixty-seven thousand, eight hundred and ninety point zero nine eight seven six five four" },
+        { "123,456,789.9876543", "one hundred and twenty-three million, four hundred and fifty-six thousand, seven hundred and eighty-nine point nine eight seven six five four three" },
+        { "12,345,678.87654321", "twelve million, three hundred and forty-five thousand, six hundred and seventy-eight point eight seven six five four three two one" },
+        { "1,234,567.7654321", "one million, two hundred and thirty-four thousand, five hundred and sixty-seven point seven six five four three two one" },
+        { "123,456.654321", "one hundred and twenty-three thousand, four hundred and fifty-six point six five four three two one" },
+        { "12,345.54321", "twelve thousand three hundred and forty-five point five four three two one" },
+        { "1,234.4321", "one thousand two hundred and thirty-four point four three two one" },
+        { "123.321", "one hundred and twenty-three point three two one" },
+        { "0.0000000011754944", "zero point zero zero zero zero zero zero zero zero one one seven five four nine four four" },
+        { "0.000001175494351", "zero point zero zero zero zero zero one one seven five four nine four three five one" },
+    };
+
+    RuleBasedNumberFormat formatter
+        = new RuleBasedNumberFormat(Locale.US, RuleBasedNumberFormat.SPELLOUT);
+    doTest(formatter, testData, true);
+    }
+
+    public void TestRuleSetDisplayName() {
+        ULocale.setDefault(ULocale.US);
+        String[][] localizations = new String[][] {
+            /* public rule sets*/
+            {"%simplified", "%default", "%ordinal"},
+            /* display names in "en_US" locale*/
+            {"en_US", "Simplified", "Default", "Ordinal"},
+            /* display names in "zh_Hans" locale*/
+            {"zh_Hans", "\u7B80\u5316", "\u7F3A\u7701",  "\u5E8F\u5217"},
+            /* display names in a fake locale*/
+            {"foo_Bar_BAZ", "Simplified", "Default", "Ordinal"}
+        };
+        
+        //Construct RuleBasedNumberFormat by rule sets and localizations list
+        RuleBasedNumberFormat formatter
+            = new RuleBasedNumberFormat(ukEnglish, localizations, ULocale.US);
+        RuleBasedNumberFormat f2= new RuleBasedNumberFormat(ukEnglish, localizations);
+        assertTrue("Check the two formatters' equality", formatter.equals(f2));        
+
+        //get displayName by name
+        String[] ruleSetNames = formatter.getRuleSetNames();
+        for (int i=0; i<ruleSetNames.length; i++) {
+            logln("Rule set name: " + ruleSetNames[i]);
+            String RSName_defLoc = formatter.getRuleSetDisplayName(ruleSetNames[i]);
+            assertEquals("Display name in default locale", localizations[1][i+1], RSName_defLoc);
+            String RSName_loc = formatter.getRuleSetDisplayName(ruleSetNames[i], ULocale.CHINA);
+            assertEquals("Display name in Chinese", localizations[2][i+1], RSName_loc);
+        }
+                
+        // getDefaultRuleSetName
+        String defaultRS = formatter.getDefaultRuleSetName();
+        //you know that the default rule set is %simplified according to rule sets string ukEnglish
+        assertEquals("getDefaultRuleSetName", "%simplified", defaultRS);
+        
+        //get locales of localizations
+        ULocale[] locales = formatter.getRuleSetDisplayNameLocales();
+        for (int i=0; i<locales.length; i++) {
+            logln(locales[i].getName());
+        }
+        
+        //get displayNames
+        String[] RSNames_defLoc = formatter.getRuleSetDisplayNames();
+        for (int i=0; i<RSNames_defLoc.length; i++) {
+            assertEquals("getRuleSetDisplayNames in default locale", localizations[1][i+1], RSNames_defLoc[i]);
+        }
+        
+        String[] RSNames_loc = formatter.getRuleSetDisplayNames(ULocale.UK);
+        for (int i=0; i<RSNames_loc.length; i++) {
+            assertEquals("getRuleSetDisplayNames in English", localizations[1][i+1], RSNames_loc[i]);
+        }    
+        
+        RSNames_loc = formatter.getRuleSetDisplayNames(ULocale.CHINA);
+        for (int i=0; i<RSNames_loc.length; i++) {
+            assertEquals("getRuleSetDisplayNames in Chinese", localizations[2][i+1], RSNames_loc[i]);
+        }        
+
+        RSNames_loc = formatter.getRuleSetDisplayNames(new ULocale("foo_Bar_BAZ"));
+        for (int i=0; i<RSNames_loc.length; i++) {
+            assertEquals("getRuleSetDisplayNames in fake locale", localizations[3][i+1], RSNames_loc[i]);
+        }              
+    }
+
+    public void TestAllLocales() {
+	StringBuffer errors = null;
+	ULocale[] locales = ULocale.getAvailableLocales();
+	Random r = createRandom();
+	String[] names = {
+	    " (spellout) ",
+	    " (ordinal)  ",
+	    " (duration) "
+	};
+	for (int i = 0; i < locales.length; ++i) {
+	    ULocale loc = locales[i];
+	    for (int j = 0; j < 3; ++j) {
+		try {
+		    RuleBasedNumberFormat fmt = new RuleBasedNumberFormat(loc, j+1);
+		    float n = ((int)(r.nextInt(1000) - 300)) / 16f;
+		    String s = fmt.format(n);
+		    if (isVerbose()) {
+			logln(loc.getName() + names[j] + "success: " + n + " -> " + s);
+		    }
+		}
+		catch (Exception e) {
+		    String msg = loc.getName() + names[j] + "ERROR:" + e.getMessage();
+		    if (isVerbose()) {
+			logln(msg);
+		    }
+		    if (errors == null) {
+			errors = new StringBuffer();
+		    }
+		    errors.append("\n" + msg);
+		}
+	    }
+	}
+	if (errors != null) {
+	    errln(errors.toString());
+	}
+    }
+
+    void doTest(RuleBasedNumberFormat formatter, String[][] testData,
+                boolean testParsing) {
+    //        NumberFormat decFmt = NumberFormat.getInstance(Locale.US);
+    NumberFormat decFmt = new DecimalFormat("#,###.################");
+        try {
+            for (int i = 0; i < testData.length; i++) {
+                String number = testData[i][0];
+                String expectedWords = testData[i][1];
+                logln("test[" + i + "] number: " + number + " target: " + expectedWords);
+                Number num = decFmt.parse(number);
+                String actualWords = formatter.format(num);
+
+                if (!actualWords.equals(expectedWords)) {
+                    errln("Spot check format failed: for " + number + ", expected\n    "
+                          + expectedWords + ", but got\n    " +
+                          actualWords);
+                }
+                else if (testParsing) {
+                    String actualNumber = decFmt.format(formatter
+                                                        .parse(actualWords));
+
+                    if (!actualNumber.equals(number)) {
+                        errln("Spot check parse failed: for " + actualWords +
+                              ", expected " + number + ", but got " +
+                              actualNumber);
+                    }
+                }
+            }
+        }
+        catch (Throwable e) {
+            e.printStackTrace();
+            errln("Test failed with exception: " + e.toString());
+        }
+    }
+
+    void doLenientParseTest(RuleBasedNumberFormat formatter,
+                            String[][] testData) {
+        NumberFormat decFmt = NumberFormat.getInstance(Locale.US);
+
+        try {
+            for (int i = 0; i < testData.length; i++) {
+                String words = testData[i][0];
+                String expectedNumber = testData[i][1];
+                String actualNumber = decFmt.format(formatter.parse(words));
+
+                if (!actualNumber.equals(expectedNumber)) {
+                    errln("Lenient-parse spot check failed: for "
+                          + words + ", expected " + expectedNumber
+                          + ", but got " + actualNumber);
+                }
+            }
+        }
+        catch (Throwable e) {
+            errln("Test failed with exception: " + e.toString());
+            e.printStackTrace();
+        }
+    }
+
+
+    /**
+     * Spellout rules for U.K. English.  
+     * I borrow the rule sets for TestRuleSetDisplayName()
+     */
+    public static final String ukEnglish =
+        "%simplified:\n"
+        + "    -x: minus >>;\n"
+        + "    x.x: << point >>;\n"
+        + "    zero; one; two; three; four; five; six; seven; eight; nine;\n"
+        + "    ten; eleven; twelve; thirteen; fourteen; fifteen; sixteen;\n"
+        + "        seventeen; eighteen; nineteen;\n"
+        + "    20: twenty[->>];\n"
+        + "    30: thirty[->>];\n"
+        + "    40: forty[->>];\n"
+        + "    50: fifty[->>];\n"
+        + "    60: sixty[->>];\n"
+        + "    70: seventy[->>];\n"
+        + "    80: eighty[->>];\n"
+        + "    90: ninety[->>];\n"
+        + "    100: << hundred[ >>];\n"
+        + "    1000: << thousand[ >>];\n"
+        + "    1,000,000: << million[ >>];\n"
+        + "    1,000,000,000,000: << billion[ >>];\n"
+        + "    1,000,000,000,000,000: =#,##0=;\n"
+        + "%alt-teens:\n"
+        + "    =%simplified=;\n"
+        + "    1000>: <%%alt-hundreds<[ >>];\n"
+        + "    10,000: =%simplified=;\n"
+        + "    1,000,000: << million[ >%simplified>];\n"
+        + "    1,000,000,000,000: << billion[ >%simplified>];\n"
+        + "    1,000,000,000,000,000: =#,##0=;\n"
+        + "%%alt-hundreds:\n"
+        + "    0: SHOULD NEVER GET HERE!;\n"
+        + "    10: <%simplified< thousand;\n"
+        + "    11: =%simplified= hundred>%%empty>;\n"
+        + "%%empty:\n"
+        + "    0:;"
+        + "%ordinal:\n"
+        + "    zeroth; first; second; third; fourth; fifth; sixth; seventh;\n"
+        + "        eighth; ninth;\n"
+        + "    tenth; eleventh; twelfth; thirteenth; fourteenth;\n"
+        + "        fifteenth; sixteenth; seventeenth; eighteenth;\n"
+        + "        nineteenth;\n"
+        + "    twentieth; twenty->>;\n"
+        + "    30: thirtieth; thirty->>;\n"
+        + "    40: fortieth; forty->>;\n"
+        + "    50: fiftieth; fifty->>;\n"
+        + "    60: sixtieth; sixty->>;\n"
+        + "    70: seventieth; seventy->>;\n"
+        + "    80: eightieth; eighty->>;\n"
+        + "    90: ninetieth; ninety->>;\n"
+        + "    100: <%simplified< hundredth; <%simplified< hundred >>;\n"
+        + "    1000: <%simplified< thousandth; <%simplified< thousand >>;\n"
+        + "    1,000,000: <%simplified< millionth; <%simplified< million >>;\n"
+        + "    1,000,000,000,000: <%simplified< billionth;\n"
+        + "        <%simplified< billion >>;\n"
+        + "    1,000,000,000,000,000: =#,##0=;"
+        + "%default:\n"
+        + "    -x: minus >>;\n"
+        + "    x.x: << point >>;\n"
+        + "    =%simplified=;\n"
+        + "    100: << hundred[ >%%and>];\n"
+        + "    1000: << thousand[ >%%and>];\n"
+        + "    100,000>>: << thousand[>%%commas>];\n"
+        + "    1,000,000: << million[>%%commas>];\n"
+        + "    1,000,000,000,000: << billion[>%%commas>];\n"
+        + "    1,000,000,000,000,000: =#,##0=;\n"
+        + "%%and:\n"
+        + "    and =%default=;\n"
+        + "    100: =%default=;\n"
+        + "%%commas:\n"
+        + "    ' and =%default=;\n"
+        + "    100: , =%default=;\n"
+        + "    1000: , <%default< thousand, >%default>;\n"
+        + "    1,000,000: , =%default=;"
+        + "%%lenient-parse:\n"
+        + "    & ' ' , ',' ;\n";
+
+}
+
diff --git a/src/com/ibm/icu/dev/test/format/TestAll.java b/src/com/ibm/icu/dev/test/format/TestAll.java
new file mode 100644
index 0000000..419a0da
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/format/TestAll.java
@@ -0,0 +1,88 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.test.format;
+
+import com.ibm.icu.dev.test.TestFmwk.TestGroup;
+
+/**
+ * Top level test used to run all other tests as a batch.
+ */
+
+public class TestAll extends TestGroup {
+
+    public static void main(String[] args) {
+        new TestAll().run(args);
+    }
+
+    public TestAll() {
+        super(new String[] {
+                  "TestAll$RBNF",
+                  "TestAll$NumberFormat",
+                  "TestAll$DateFormat",
+                  "TestAll$MessageFormat",
+                  "com.ibm.icu.dev.test.format.BigNumberFormatTest"
+              },
+              "Formatting Tests");
+    }
+
+    public static class RBNF extends TestGroup {
+        public RBNF() {
+            super(new String[] {
+                "RbnfTest",
+                "RbnfRoundTripTest",
+        "RBNFParseTest",
+            });
+        }
+    }
+
+    public static class NumberFormat extends TestGroup {
+        public NumberFormat() {
+            super(new String[] {
+                "IntlTestNumberFormat",
+                "IntlTestNumberFormatAPI",
+                "NumberFormatTest",
+                "NumberFormatRegistrationTest",
+                "NumberFormatRoundTripTest",
+                "NumberRegression",
+                "NumberFormatRegressionTest",
+                "IntlTestDecimalFormatAPI",
+                "IntlTestDecimalFormatAPIC",
+                "IntlTestDecimalFormatSymbols",
+                "IntlTestDecimalFormatSymbolsC",
+            });
+        }
+    }
+
+    public static class DateFormat extends TestGroup {
+        public DateFormat() {
+            super(new String[] {
+                "DateFormatMiscTests",
+                "DateFormatRegressionTest",
+                "DateFormatRoundTripTest",
+                "DateFormatTest",
+                "IntlTestDateFormat",
+                "IntlTestDateFormatAPI",
+                "IntlTestDateFormatAPIC",
+                "IntlTestDateFormatSymbols",
+                "IntlTestSimpleDateFormatAPI",
+                "DateFormatRegressionTestJ",
+            });
+        }
+    }
+
+    public static class MessageFormat extends TestGroup {
+        public MessageFormat() {
+            super(new String[] {
+                "TestMessageFormat",
+                "MessageRegression",
+            });
+        }
+    }
+
+    public static final String CLASS_TARGET_NAME = "Format";
+}
+
diff --git a/src/com/ibm/icu/dev/test/format/TestMessageFormat.java b/src/com/ibm/icu/dev/test/format/TestMessageFormat.java
new file mode 100644
index 0000000..fa13c04
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/format/TestMessageFormat.java
@@ -0,0 +1,936 @@
+/*
+**********************************************************************
+* Copyright (c) 2004-2005, International Business Machines
+* Corporation and others.  All Rights Reserved.
+**********************************************************************
+* Author: Alan Liu
+* Created: April 6, 2004
+* Since: ICU 3.0
+**********************************************************************
+*/
+package com.ibm.icu.dev.test.format;
+
+import java.text.ChoiceFormat;
+import java.text.FieldPosition;
+import java.text.Format;
+import java.text.ParseException;
+import java.text.ParsePosition;
+import java.util.Date;
+import java.util.Locale;
+
+import com.ibm.icu.text.DecimalFormat;
+import com.ibm.icu.text.MessageFormat;
+import com.ibm.icu.text.NumberFormat;
+import com.ibm.icu.text.DateFormat;
+import com.ibm.icu.text.UFormat;
+import com.ibm.icu.util.ULocale;
+
+public class TestMessageFormat extends com.ibm.icu.dev.test.TestFmwk {
+
+    public static void main(String[] args) throws Exception {
+        new TestMessageFormat().run(args);
+    }
+
+    public void TestBug3()
+    {
+        double myNumber = -123456;
+        DecimalFormat form = null;
+        Locale locale[] = {
+            new Locale("ar", "", ""),
+            new Locale("be", "", ""),
+            new Locale("bg", "", ""),
+            new Locale("ca", "", ""),
+            new Locale("cs", "", ""),
+            new Locale("da", "", ""),
+            new Locale("de", "", ""),
+            new Locale("de", "AT", ""),
+            new Locale("de", "CH", ""),
+            new Locale("el", "", ""),       // 10
+            new Locale("en", "CA", ""),
+            new Locale("en", "GB", ""),
+            new Locale("en", "IE", ""),
+            new Locale("en", "US", ""),
+            new Locale("es", "", ""),
+            new Locale("et", "", ""),
+            new Locale("fi", "", ""),
+            new Locale("fr", "", ""),
+            new Locale("fr", "BE", ""),
+            new Locale("fr", "CA", ""),     // 20
+            new Locale("fr", "CH", ""),
+            new Locale("he", "", ""),
+            new Locale("hr", "", ""),
+            new Locale("hu", "", ""),
+            new Locale("is", "", ""),
+            new Locale("it", "", ""),
+            new Locale("it", "CH", ""),
+            new Locale("ja", "", ""),
+            new Locale("ko", "", ""),
+            new Locale("lt", "", ""),       // 30
+            new Locale("lv", "", ""),
+            new Locale("mk", "", ""),
+            new Locale("nl", "", ""),
+            new Locale("nl", "BE", ""),
+            new Locale("no", "", ""),
+            new Locale("pl", "", ""),
+            new Locale("pt", "", ""),
+            new Locale("ro", "", ""),
+            new Locale("ru", "", ""),
+            new Locale("sh", "", ""),       // 40
+            new Locale("sk", "", ""),
+            new Locale("sl", "", ""),
+            new Locale("sq", "", ""),
+            new Locale("sr", "", ""),
+            new Locale("sv", "", ""),
+            new Locale("tr", "", ""),
+            new Locale("uk", "", ""),
+            new Locale("zh", "", ""),
+            new Locale("zh", "TW", "")      // 49
+        };
+        StringBuffer buffer = new StringBuffer();
+        ParsePosition parsePos = new ParsePosition(0);
+        int i;
+        for (i= 0; i < 49; i++) {
+    //        form = (DecimalFormat)NumberFormat.getCurrencyInstance(locale[i]);
+            form = (DecimalFormat)NumberFormat.getInstance(locale[i]);
+            if (form == null) {
+                errln("Number format creation failed for " + locale[i].getDisplayName());
+                continue;
+            }
+            FieldPosition pos = new FieldPosition(0);
+            buffer.setLength(0);
+            form.format(myNumber, buffer, pos);
+            parsePos.setIndex(0);
+            Object result = form.parse(buffer.toString(), parsePos);
+            logln(locale[i].getDisplayName() + " -> " + result);
+            if (parsePos.getIndex() != buffer.length()) {
+                errln("Number format parse failed.");
+            }
+        }
+    }
+
+    public void TestBug1()
+    {
+        final double limit[] = {0.0, 1.0, 2.0};
+        final String formats[] = {"0.0<=Arg<1.0",
+                                  "1.0<=Arg<2.0",
+                                  "2.0<-Arg"};
+        ChoiceFormat cf = new ChoiceFormat(limit, formats);
+        FieldPosition status = new FieldPosition(0);
+        assertEquals("ChoiceFormat.format", formats[1], cf.format(1));
+    }
+
+    public void TestBug2()
+    {
+        String result;
+        // {sfb} use double format in pattern, so result will match (not strictly necessary)
+        final String pattern = "There {0,choice,0.0#are no files|1.0#is one file|1.0<are {0, number} files} on disk {1}. ";
+        logln("The input pattern : " + pattern);
+        try {
+            MessageFormat fmt = new MessageFormat(pattern);
+            assertEquals("toPattern", pattern, fmt.toPattern());
+        } catch (IllegalArgumentException e) {
+            errln("MessageFormat pattern creation failed.");
+        }
+    }
+
+    public void TestPattern() // aka PatternTest()
+    {
+        Object testArgs[] = {
+            new Double(1), new Double(3456),
+            "Disk", new Date(1000000000L)
+        };
+        String testCases[] = {
+           "Quotes '', '{', 'a' {0} '{0}'",
+           "Quotes '', '{', 'a' {0,number} '{0}'",
+           "'{'1,number,'#',##} {1,number,'#',##}",
+           "There are {1} files on {2} at {3}.",
+           "On {2}, there are {1} files, with {0,number,currency}.",
+           "'{1,number,percent}', {1,number,percent},",
+           "'{1,date,full}', {1,date,full},",
+           "'{3,date,full}', {3,date,full},",
+           "'{1,number,#,##}' {1,number,#,##}",
+        };
+
+        String testResultPatterns[] = {
+            "Quotes '', '{', a {0} '{'0}",
+            "Quotes '', '{', a {0,number} '{'0}",
+            "'{'1,number,#,##} {1,number,'#'#,##}",
+            "There are {1} files on {2} at {3}.",
+            "On {2}, there are {1} files, with {0,number,currency}.",
+            "'{'1,number,percent}, {1,number,percent},",
+            "'{'1,date,full}, {1,date,full},",
+            "'{'3,date,full}, {3,date,full},",
+            "'{'1,number,#,##} {1,number,#,##}"
+        };
+
+        String testResultStrings[] = {
+            "Quotes ', {, a 1 {0}",
+            "Quotes ', {, a 1 {0}",
+            "{1,number,#,##} #34,56",
+            "There are 3,456 files on Disk at 1/12/70 5:46 AM.",
+            "On Disk, there are 3,456 files, with $1.00.",
+            "{1,number,percent}, 345,600%,",
+            "{1,date,full}, Wednesday, December 31, 1969,",
+            "{3,date,full}, Monday, January 12, 1970,",
+            "{1,number,#,##} 34,56"
+        };
+
+        for (int i = 0; i < 9; ++i) {
+            //it_out << "\nPat in:  " << testCases[i]);
+
+            String buffer;
+            MessageFormat form = null;
+            try {
+                form = new MessageFormat(testCases[i], Locale.US);
+            } catch (IllegalArgumentException e1) {
+                errln("MessageFormat for " + testCases[i] + " creation failed.");
+                continue;
+            }
+            assertEquals("\"" + testCases[i] + "\".toPattern()", testResultPatterns[i], form.toPattern());
+
+            //it_out << "Pat out: " << form.toPattern(buffer));
+            StringBuffer result = new StringBuffer();
+            int count = 4;
+            FieldPosition fieldpos = new FieldPosition(0);
+            form.format(testArgs, result, fieldpos);
+            assertEquals("format", testResultStrings[i], result.toString());
+
+            //it_out << "Result:  " << result);
+    //#if 0
+    //        /* TODO: Look at this test and see if this is still a valid test */
+    //        logln("---------------- test parse ----------------");
+    //
+    //        form.toPattern(buffer);
+    //        logln("MSG pattern for parse: " + buffer);
+    //
+    //        int parseCount = 0;
+    //        Formattable* values = form.parse(result, parseCount, success);
+    //        if (U_FAILURE(success)) {
+    //            errln("MessageFormat failed test #5");
+    //            logln(String("MessageFormat failed test #5 with error code ")+(int)success);
+    //        } else if (parseCount != count) {
+    //            errln("MSG count not %d as expected. Got %d", count, parseCount);
+    //        }
+    //        UBool failed = FALSE;
+    //        for (int j = 0; j < parseCount; ++j) {
+    //             if (values == 0 || testArgs[j] != values[j]) {
+    //                errln(((String)"MSG testargs[") + j + "]: " + toString(testArgs[j]));
+    //                errln(((String)"MSG values[") + j + "]  : " + toString(values[j]));
+    //                failed = TRUE;
+    //             }
+    //        }
+    //        if (failed)
+    //            errln("MessageFormat failed test #6");
+    //#endif
+        }
+    }
+
+    public void TestSample() // aka sample()
+    {
+        MessageFormat form = null;
+        StringBuffer buffer2 = new StringBuffer();
+        try {
+            form = new MessageFormat("There are {0} files on {1}");
+        } catch (IllegalArgumentException e1) {
+            errln("Sample message format creation failed.");
+            return;
+        }
+        Object testArgs1[] = { "abc", "def" };
+        FieldPosition fieldpos = new FieldPosition(0);
+        assertEquals("format",
+                     "There are abc files on def",
+                     form.format(testArgs1, buffer2, fieldpos).toString());
+    }
+
+    public void TestStaticFormat()
+    {
+        Object arguments[] = {
+            new Integer(7),
+            new Date(871068000000L),
+            "a disturbance in the Force"
+        };
+
+        assertEquals("format",
+            "At 12:20:00 PM on Aug 8, 1997, there was a disturbance in the Force on planet 7.",
+            MessageFormat.format("At {1,time} on {1,date}, there was {2} on planet {0,number,integer}.",
+                                 arguments));
+    }
+
+    static final int FieldPosition_DONT_CARE = -1;
+
+    public void TestSimpleFormat()
+    {
+        Object testArgs1[] = {new Integer(0), "MyDisk"};
+        Object testArgs2[] = {new Integer(1), "MyDisk"};
+        Object testArgs3[] = {new Integer(12), "MyDisk"};
+
+        MessageFormat form = new MessageFormat(
+            "The disk \"{1}\" contains {0} file(s).");
+
+        StringBuffer string = new StringBuffer();
+        FieldPosition ignore = new FieldPosition(FieldPosition_DONT_CARE);
+        form.format(testArgs1, string, ignore);
+        assertEquals("format",
+                     "The disk \"MyDisk\" contains 0 file(s).",
+                     string.toString());
+
+        string.setLength(0);
+        form.format(testArgs2, string, ignore);
+        assertEquals("format",
+                     "The disk \"MyDisk\" contains 1 file(s).",
+                     string.toString());
+
+        string.setLength(0);
+        form.format(testArgs3, string, ignore);
+        assertEquals("format",
+                     "The disk \"MyDisk\" contains 12 file(s).",
+                     string.toString());
+    }
+
+    public void TestMsgFormatChoice()
+    {
+        MessageFormat form = new MessageFormat("The disk \"{1}\" contains {0}.");
+        double filelimits[] = {0,1,2};
+        String filepart[] = {"no files","one file","{0,number} files"};
+        ChoiceFormat fileform = new ChoiceFormat(filelimits, filepart);
+        form.setFormat(1, fileform); // NOT zero, see below
+
+        FieldPosition ignore = new FieldPosition(FieldPosition_DONT_CARE);
+        StringBuffer string = new StringBuffer();
+        Object testArgs1[] = {new Integer(0), "MyDisk"};
+        form.format(testArgs1, string, ignore);
+        assertEquals("format#1",
+                     "The disk \"MyDisk\" contains no files.",
+                     string.toString());
+
+        string.setLength(0);
+        Object testArgs2[] = {new Integer(1), "MyDisk"};
+        form.format(testArgs2, string, ignore);
+        assertEquals("format#2",
+                     "The disk \"MyDisk\" contains one file.",
+                     string.toString());
+
+        string.setLength(0);
+        Object testArgs3[] = {new Integer(1273), "MyDisk"};
+        form.format(testArgs3, string, ignore);
+        assertEquals("format#3",
+                     "The disk \"MyDisk\" contains 1,273 files.",
+                     string.toString());
+    }
+
+    //---------------------------------
+    //  API Tests
+    //---------------------------------
+
+    public void TestClone()
+    {
+        MessageFormat x = new MessageFormat("There are {0} files on {1}");
+        MessageFormat z = new MessageFormat("There are {0} files on {1} created");
+        MessageFormat y = null;
+        y = (MessageFormat)x.clone();
+        if (x.equals(y) &&
+            !x.equals(z) &&
+            !y.equals(z) )
+            logln("First test (operator ==): Passed!");
+        else {
+            errln("First test (operator ==): Failed!");
+        }
+        if ((x.equals(y) && y.equals(x)) &&
+            (!x.equals(z) && !z.equals(x)) &&
+            (!y.equals(z) && !z.equals(y)) )
+            logln("Second test (equals): Passed!");
+        else {
+            errln("Second test (equals): Failed!");
+        }
+
+    }
+
+    public void TestEquals()
+    {
+        MessageFormat x = new MessageFormat("There are {0} files on {1}");
+        MessageFormat y = new MessageFormat("There are {0} files on {1}");
+        if (!x.equals(y)) {
+            errln("First test (operator ==): Failed!");
+        }
+
+    }
+
+    public void TestNotEquals()
+    {
+        MessageFormat x = new MessageFormat("There are {0} files on {1}");
+        MessageFormat y = new MessageFormat("There are {0} files on {1}");
+        y.setLocale(Locale.FRENCH);
+        if (x.equals(y)) {
+            errln("First test (operator !=): Failed!");
+        }
+        y = new MessageFormat("There are {0} files on {1}");
+        y.applyPattern("There are {0} files on {1} the disk");
+        if (x.equals(y)) {
+            errln("Second test (operator !=): Failed!");
+        }
+    }
+
+    public void TestHashCode()
+    {
+        ULocale save = ULocale.getDefault();
+        ULocale.setDefault(ULocale.US);
+
+        MessageFormat x = new MessageFormat("There are {0} files on {1}");
+        MessageFormat z = new MessageFormat("There are {0} files on {1}");
+        MessageFormat y = null;
+        y = (MessageFormat)x.clone();
+        if (x.hashCode() != y.hashCode())
+            errln("FAIL: identical objects have different hashcodes");
+        if (x.hashCode() != z.hashCode())
+            errln("FAIL: identical objects have different hashcodes");
+
+    /* These are not errors
+        y.setLocale(ULocale.FRENCH);
+        if (x.hashCode() == y.hashCode())
+            errln("FAIL: different objects have same hashcodes. Locale ignored");
+
+        z.applyPattern("There are {0} files on {1} the disk");
+        if (x.hashCode() == z.hashCode())
+            errln("FAIL: different objects have same hashcodes. Pattern ignored");
+    */
+
+        ULocale.setDefault(save);
+    }
+
+    public void TestSetLocale()
+    {
+        Object arguments[] = {
+            new Double(456.83),
+            new Date(871068000000L),
+            "deposit"
+            };
+
+        StringBuffer result = new StringBuffer();
+
+        //String formatStr = "At {1,time} on {1,date}, you made a {2} of {0,number,currency}.";
+        String formatStr = "At <time> on {1,date}, you made a {2} of {0,number,currency}.";
+        // {sfb} to get $, would need Locale::US, not Locale::ENGLISH
+        // Just use unlocalized currency symbol.
+        //String compareStrEng = "At <time> on Aug 8, 1997, you made a deposit of $456.83.";
+        String compareStrEng = "At <time> on Aug 8, 1997, you made a deposit of ";
+        compareStrEng += '\u00a4';
+        compareStrEng += "456.83.";
+        // {sfb} to get DM, would need Locale::GERMANY, not Locale::GERMAN
+        // Just use unlocalized currency symbol.
+        //String compareStrGer = "At <time> on 08.08.1997, you made a deposit of 456,83 DM.";
+        String compareStrGer = "At <time> on 08.08.1997, you made a deposit of ";
+        compareStrGer += '\u00a4';
+        compareStrGer += " 456,83.";
+
+        MessageFormat msg = new MessageFormat(formatStr, Locale.ENGLISH);
+        result.setLength(0);
+        FieldPosition pos = new FieldPosition(0);
+        result = msg.format(
+            arguments,
+            result,
+            pos);
+        assertEquals("format", compareStrEng, result.toString());
+
+        msg.setLocale(Locale.ENGLISH);
+        assertEquals("getLocale", Locale.ENGLISH, msg.getLocale());
+
+        msg.setLocale(Locale.GERMAN);
+        assertEquals("getLocale", Locale.GERMAN, msg.getLocale());
+
+        msg.applyPattern(formatStr);
+        result.setLength(0);
+        result = msg.format(
+            arguments,
+            result,
+            pos);
+        assertEquals("format", compareStrGer, result.toString());
+
+        //Cover getULocale()
+        logln("Testing set/get ULocale ...");
+        msg.setLocale(ULocale.ENGLISH);
+        assertEquals("getULocale", ULocale.ENGLISH, msg.getULocale());
+
+        msg.setLocale(ULocale.GERMAN);
+        assertEquals("getULocale", ULocale.GERMAN, msg.getULocale());
+
+        msg.applyPattern(formatStr);
+        result.setLength(0);
+        result = msg.format(
+            arguments,
+            result,
+            pos);
+        assertEquals("format", compareStrGer, result.toString());
+    }
+
+    public void TestFormat()
+    {
+        final Object ft_arr[] =
+        {
+            new Date(871068000000L)
+        };
+
+        StringBuffer result = new StringBuffer();
+
+        //String formatStr = "At {1,time} on {1,date}, you made a {2} of {0,number,currency}.";
+        String formatStr = "On {0,date}, it began.";
+        String compareStr = "On Aug 8, 1997, it began.";
+
+        MessageFormat msg = new MessageFormat(formatStr);
+        FieldPosition fp = new FieldPosition(0);
+
+        try {
+            msg.format(new Date(871068000000L),
+                       result,
+                       fp);
+            errln("*** MSG format without expected error code.");
+        } catch (Exception e1) {
+        }
+
+        result.setLength(0);
+        result = msg.format(
+            ft_arr,
+            result,
+            fp);
+        assertEquals("format", compareStr, result.toString());
+    }
+
+    public void TestParse()
+    {
+        String msgFormatString = "{0} =sep= {1}";
+        MessageFormat msg = new MessageFormat(msgFormatString);
+        String source = "abc =sep= def";
+        String tmp1, tmp2;
+
+        try {
+            Object[] fmt_arr = msg.parse(source);
+            if (fmt_arr.length != 2) {
+                errln("*** MSG parse (ustring, count, err) count err.");
+            } else {
+                if (fmt_arr.length != 2) {
+                    errln("*** MSG parse (ustring, parsepos., count) count err.");
+                } else {
+                    assertEquals("parse()[0]", "abc", fmt_arr[0]);
+                    assertEquals("parse()[1]", "def", fmt_arr[1]);
+                }
+            }
+        } catch (ParseException e1) {
+            errln("*** MSG parse (ustring, count, err) error.");
+        }
+
+        ParsePosition pp = new ParsePosition(0);
+
+        Object[] fmt_arr = msg.parse(source, pp);
+        if (pp.getIndex()==0 || fmt_arr==null) {
+            errln("*** MSG parse (ustring, parsepos., count) error.");
+        } else {
+            if (fmt_arr.length != 2) {
+                errln("*** MSG parse (ustring, parsepos., count) count err.");
+            } else {
+                assertEquals("parse()[0]", "abc", fmt_arr[0]);
+                assertEquals("parse()[1]", "def", fmt_arr[1]);
+            }
+        }
+
+        pp.setIndex(0);
+        Object[] fmta;
+
+        fmta = (Object[]) msg.parseObject( source, pp );
+        if (pp.getIndex() == 0) {
+            errln("*** MSG parse (ustring, Object, parsepos ) error.");
+        } else {
+            if (fmta.length != 2) {
+                errln("*** MSG parse (ustring, count, err) count err.");
+            } else {
+                if (fmt_arr.length != 2) {
+                    errln("*** MSG parse (ustring, parsepos., count) count err.");
+                } else {
+                    assertEquals("parse()[0]", "abc", fmt_arr[0]);
+                    assertEquals("parse()[1]", "def", fmt_arr[1]);
+                }
+            }
+        }
+    }
+
+    /**
+     * Of course, in Java there is no adopt, but we retain the same
+     * method name. [alan]
+     */
+    public void TestAdopt()
+    {
+        String formatStr = "{0,date},{1},{2,number}";
+        String formatStrChange = "{0,number},{1,number},{2,date}";
+        MessageFormat msg = new MessageFormat(formatStr);
+        MessageFormat msgCmp = new MessageFormat(formatStr);
+        Format[] formats = msg.getFormats();
+        Format[] formatsCmp = msgCmp.getFormats();
+        Format[] formatsChg = null;
+        Format[] formatsAct = null;
+        Format a = null;
+        Format b = null;
+        String patCmp;
+        String patAct;
+        Format[] formatsToAdopt = null;
+
+        if (formats==null || formatsCmp==null || (formats.length <= 0) || (formats.length != formatsCmp.length)) {
+            errln("Error getting Formats");
+            return;
+        }
+
+        int i;
+
+        for (i = 0; i < formats.length; i++) {
+            a = formats[i];
+            b = formatsCmp[i];
+            if ((a != null) && (b != null)) {
+                if (!a.equals(b)) {
+                    errln("a != b");
+                    return;
+                }
+            } else if ((a != null) || (b != null)) {
+                errln("(a != null) || (b != null)");
+                return;
+            }
+        }
+
+        msg.applyPattern( formatStrChange ); //set msg formats to something different
+        formatsChg = msg.getFormats(); // tested function
+        if (formatsChg==null || (formatsChg.length != formats.length)) {
+            errln("Error getting Formats");
+            return;
+        }
+
+        boolean diff;
+        diff = true;
+        for (i = 0; i < formats.length; i++) {
+            a = formatsChg[i];
+            b = formatsCmp[i];
+            if ((a != null) && (b != null)) {
+                if (a.equals(b)) {
+                    logln("formatsChg == formatsCmp at index " + i);
+                    diff = false;
+                }
+            }
+        }
+        if (!diff) {
+            errln("*** MSG getFormats diff err.");
+            return;
+        }
+
+        logln("MSG getFormats tested.");
+
+        msg.setFormats( formatsCmp ); //tested function
+
+        formatsAct = msg.getFormats();
+        if (formatsAct==null || (formatsAct.length <=0) || (formatsAct.length != formatsCmp.length)) {
+            errln("Error getting Formats");
+            return;
+        }
+
+        assertEquals("msgCmp.toPattern()", formatStr, msgCmp.toPattern());
+        assertEquals("msg.toPattern()", formatStr, msg.toPattern());
+
+        for (i = 0; i < formatsAct.length; i++) {
+            a = formatsAct[i];
+            b = formatsCmp[i];
+            if ((a != null) && (b != null)) {
+                if (!a.equals(b)) {
+                    errln("formatsAct != formatsCmp at index " + i);
+                    return;
+                }
+            } else if ((a != null) || (b != null)) {
+                errln("(a != null) || (b != null)");
+                return;
+            }
+        }
+        logln("MSG setFormats tested.");
+
+        //----
+
+        msg.applyPattern( formatStrChange ); //set msg formats to something different
+
+        formatsToAdopt = new Format[formatsCmp.length];
+        if (formatsToAdopt==null) {
+            errln("memory allocation error");
+            return;
+        }
+
+        for (i = 0; i < formatsCmp.length; i++) {
+            if (formatsCmp[i] == null) {
+                formatsToAdopt[i] = null;
+            } else {
+                formatsToAdopt[i] = (Format) formatsCmp[i].clone();
+                if (formatsToAdopt[i]==null) {
+                    errln("Can't clone format at index " + i);
+                    return;
+                }
+            }
+        }
+        msg.setFormats( formatsToAdopt ); // function to test
+
+        assertEquals("msgCmp.toPattern()", formatStr, msgCmp.toPattern());
+        assertEquals("msg.toPattern()", formatStr, msg.toPattern());
+
+        formatsAct = msg.getFormats();
+        if (formatsAct==null || (formatsAct.length <=0) || (formatsAct.length != formatsCmp.length)) {
+            errln("Error getting Formats");
+            return;
+        }
+
+        for (i = 0; i < formatsAct.length; i++) {
+            a = formatsAct[i];
+            b = formatsCmp[i];
+            if ((a != null) && (b != null)) {
+                if (!a.equals(b)) {
+                    errln("a != b");
+                    return;
+                }
+            } else if ((a != null) || (b != null)) {
+                errln("(a != null) || (b != null)");
+                return;
+            }
+        }
+        logln("MSG adoptFormats tested.");
+
+        //---- adoptFormat
+
+        msg.applyPattern( formatStrChange ); //set msg formats to something different
+
+        formatsToAdopt = new Format[formatsCmp.length];
+        if (formatsToAdopt==null) {
+            errln("memory allocation error");
+            return;
+        }
+
+        for (i = 0; i < formatsCmp.length; i++) {
+            if (formatsCmp[i] == null) {
+                formatsToAdopt[i] = null;
+            } else {
+                formatsToAdopt[i] = (Format) formatsCmp[i].clone();
+                if (formatsToAdopt[i]==null) {
+                    errln("Can't clone format at index " + i);
+                    return;
+                }
+            }
+        }
+
+        for ( i = 0; i < formatsCmp.length; i++ ) {
+            msg.setFormat( i, formatsToAdopt[i] ); // function to test
+        }
+
+        assertEquals("msgCmp.toPattern()", formatStr, msgCmp.toPattern());
+        assertEquals("msg.toPattern()", formatStr, msg.toPattern());
+
+        formatsAct = msg.getFormats();
+        if (formatsAct==null || (formatsAct.length <=0) || (formatsAct.length != formatsCmp.length)) {
+            errln("Error getting Formats");
+            return;
+        }
+
+        for (i = 0; i < formatsAct.length; i++) {
+            a = formatsAct[i];
+            b = formatsCmp[i];
+            if ((a != null) && (b != null)) {
+                if (!a.equals(b)) {
+                    errln("a != b");
+                    return;
+                }
+            } else if ((a != null) || (b != null)) {
+                errln("(a != null) || (b != null)");
+                return;
+            }
+        }
+        logln("MSG adoptFormat tested.");
+    }
+
+    /**
+     * Verify that MessageFormat accomodates more than 10 arguments and
+     * more than 10 subformats.
+     */
+    public void TestUnlimitedArgsAndSubformats() {
+        final String pattern =
+            "On {0,date} (aka {0,date,short}, aka {0,date,long}) "+
+            "at {0,time} (aka {0,time,short}, aka {0,time,long}) "+
+            "there were {1,number} werjes "+
+            "(a {3,number,percent} increase over {2,number}) "+
+            "despite the {4}''s efforts "+
+            "and to delight of {5}, {6}, {7}, {8}, {9}, and {10} {11}.";
+        try {
+            MessageFormat msg = new MessageFormat(pattern);
+
+            final Object ARGS[] = {
+                new Date(10000000000000L),
+                new Integer(1303),
+                new Integer(1202),
+                new Double(1303.0/1202 - 1),
+                "Glimmung",
+                "the printers",
+                "Nick",
+                "his father",
+                "his mother",
+                "the spiddles",
+                "of course",
+                "Horace"
+            };
+
+            String expected =
+                "On Nov 20, 2286 (aka 11/20/86, aka November 20, 2286) "+
+                "at 9:46:40 AM (aka 9:46 AM, aka 9:46:40 AM PST) "+
+                "there were 1,303 werjes "+
+                "(a 8% increase over 1,202) "+
+                "despite the Glimmung's efforts "+
+                "and to delight of the printers, Nick, his father, "+
+                "his mother, the spiddles, and of course Horace.";
+            String result;
+            assertEquals("format", expected, msg.format(ARGS));
+        } catch (IllegalArgumentException e1) {
+            errln("FAIL: constructor failed");
+        }
+    }
+
+    // test RBNF extensions to message format
+    public void TestRBNF() {
+        // WARNING: this depends on the RBNF formats for en_US
+        Locale locale = Locale.US;
+        String[] values = {
+            // decimal values do not format completely for ordinal or duration, and
+            // do not always parse, so do not include them
+            "0", "1", "12", "100", "123", "1001", "123,456", "-17",
+        };
+        String[] formats = {
+            "There are {0,spellout} files to search.",
+            "There are {0,spellout,%simplified} files to search.",
+            "The bogus spellout {0,spellout,%BOGUS} files behaves like the default.",
+            "This is the {0,ordinal} file to search.", // TODO fix bug, ordinal does not parse
+            "Searching this file will take {0,duration} to complete.",
+            "Searching this file will take {0,duration,%with-words} to complete.",
+        };
+        final NumberFormat numFmt = NumberFormat.getInstance(locale);
+        Object[] args = new Object[1];
+        Number num = null;
+        for (int i = 0; i < formats.length; ++i) {
+            MessageFormat fmt = new MessageFormat(formats[i], locale);
+            logln("Testing format pattern: '" + formats[i] + "'");
+            for (int j = 0; j < values.length; ++j) {
+                try {
+                    num = numFmt.parse(values[j]);
+                }
+                catch (Exception e) {
+                    throw new InternalError("failed to parse test argument");
+                }
+                args[0] = num;
+                String result = fmt.format(args);
+                logln("value: " + num + " --> " + result);
+
+                if (i != 3) { // TODO: fix this, for now skip ordinal parsing (format string at index 3)
+                    try {
+                        Object[] parsedArgs = fmt.parse(result);
+                        if (parsedArgs.length != 1) {
+                            errln("parse returned " + parsedArgs.length + " args");
+                        } else if (!parsedArgs[0].equals(num)) {
+                            errln("parsed argument " + parsedArgs[0] + " != " + num);
+                        }
+                    }
+                    catch (Exception e) {
+                        errln("parse of '" + result + " returned exception: " + e.getMessage());
+                    }
+                }
+            }
+        }
+    }
+
+    public void TestSetGetFormats()
+    {
+        Object arguments[] = {
+            new Double(456.83),
+            new Date(871068000000L),
+            "deposit"
+            };
+
+        StringBuffer result = new StringBuffer();
+
+        String formatStr = "At <time> on {1,date}, you made a {2} of {0,number,currency}.";
+        // original expected format result
+        String compareStr = "At <time> on Aug 8, 1997, you made a deposit of $456.83.";
+        // the date being German-style, but the currency being English-style
+        String compareStr2 = "At <time> on 08.08.1997, you made a deposit of ";
+        compareStr2 += '\u00a4';
+        compareStr2 += "456.83.";
+        // both date and currency formats are German-style
+        String compareStr3 = "At <time> on 08.08.1997, you made a deposit of ";
+        compareStr3 += '\u00a4';
+        compareStr3 += " 456,83.";
+
+        MessageFormat msg = new MessageFormat(formatStr, ULocale.US);
+        result.setLength(0);
+        FieldPosition pos = new FieldPosition(0);
+        result = msg.format(
+            arguments,
+            result,
+            pos);
+        assertEquals("format", compareStr, result.toString());
+
+        // constructs a Format array with a English-style Currency formatter
+        //                            and a German-style Date formatter
+        //      might not meaningful, just for testing setFormatsByArgIndex
+        Format[] fmts = new Format[] {
+            NumberFormat.getCurrencyInstance(ULocale.ENGLISH),
+            DateFormat.getDateInstance(DateFormat.DEFAULT, ULocale.GERMAN)
+            };
+
+        msg.setFormatsByArgumentIndex(fmts);
+        result.setLength(0);
+        pos = new FieldPosition(0);
+        result = msg.format(
+            arguments,
+            result,
+            pos);
+        assertEquals("format", compareStr2, result.toString());
+
+        // Construct a German-style Currency formatter, replace the corresponding one
+        // Thus both formatters should format objects with German-style
+        Format newFmt = NumberFormat.getCurrencyInstance(ULocale.GERMAN);
+        msg.setFormatByArgumentIndex(0, newFmt);
+        result.setLength(0);
+        pos = new FieldPosition(0);
+        result = msg.format(
+            arguments,
+            result,
+            pos);
+        assertEquals("format", compareStr3, result.toString());
+
+        // verify getFormatsByArgumentIndex
+        //   you should got three formats by that
+        //          - DecimalFormat     locale: de
+        //          - SimpleDateFormat  locale: de
+        //          - null
+        Format[] fmts2 = msg.getFormatsByArgumentIndex();
+        assertEquals("1st subformmater: Format Class", "com.ibm.icu.text.DecimalFormat", fmts2[0].getClass().getName());
+        assertEquals("1st subformmater: its Locale", ULocale.GERMAN, ((UFormat)fmts2[0]).getLocale(ULocale.VALID_LOCALE));
+        assertEquals("2nd subformatter: Format Class", "com.ibm.icu.text.SimpleDateFormat", fmts2[1].getClass().getName());
+        assertEquals("2nd subformmater: its Locale", ULocale.GERMAN, ((UFormat)fmts2[1]).getLocale(ULocale.VALID_LOCALE));
+        assertTrue("The third subFormatter is null", null == fmts2[2]);
+    }
+
+    // Test the fix pattern api
+    public void TestAutoQuoteApostrophe() {
+        final String[] patterns = { // new pattern, expected pattern
+            "'", "''",
+            "''", "''",
+            "'{", "'{'",
+            "' {", "'' {",
+            "'a", "''a",
+            "'{'a", "'{'a",
+            "'{a'", "'{a'",
+            "'{}", "'{}'",
+            "{'", "{'",
+            "{'a", "{'a",
+            "{'a{}'a}'a", "{'a{}'a}''a",
+	    "'}'", "'}'",
+	    "'} '{'}'", "'} '{'}''",
+	    "'} {{{''", "'} {{{'''",
+        };
+        for (int i = 0; i < patterns.length; i += 2) {
+            assertEquals("[" + (i/2) + "] \"" + patterns[i] + "\"", patterns[i+1], MessageFormat.autoQuoteApostrophe(patterns[i]));
+        }
+    }
+}
diff --git a/src/com/ibm/icu/dev/test/format/TimeZoneAliases.txt b/src/com/ibm/icu/dev/test/format/TimeZoneAliases.txt
new file mode 100644
index 0000000..d9ffead
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/format/TimeZoneAliases.txt
@@ -0,0 +1,165 @@
+#--------------------------------------------------------------------
+# Copyright (c) 2004, International Business Machines
+# Corporation and others. All Rights Reserved.
+#--------------------------------------------------------------------
+America/Atka ; America/Adak
+America/Ensenada ; America/Tijuana
+America/Fort_Wayne ; America/Indianapolis
+America/Indiana/Indianapolis ; America/Indianapolis
+America/Kentucky/Louisville ; America/Louisville
+America/Knox_IN ; America/Indiana/Knox
+America/Porto_Acre ; America/Rio_Branco
+America/Rosario ; America/Cordoba
+America/Shiprock ; America/Denver
+America/Virgin ; America/St_Thomas
+Antarctica/South_Pole ; Antarctica/McMurdo
+Arctic/Longyearbyen ; Europe/Oslo
+Asia/Ashkhabad ; Asia/Ashgabat
+Asia/Chungking ; Asia/Chongqing
+Asia/Dacca ; Asia/Dhaka
+Asia/Istanbul ; Europe/Istanbul
+Asia/Macao ; Asia/Macau
+Asia/Tel_Aviv ; Asia/Jerusalem
+Asia/Thimbu ; Asia/Thimphu
+Asia/Ujung_Pandang ; Asia/Makassar
+Asia/Ulan_Bator ; Asia/Ulaanbaatar
+#Atlantic/Jan_Mayen ; Europe/Oslo
+Australia/ACT ; Australia/Sydney
+Australia/Canberra ; Australia/Sydney
+Australia/LHI ; Australia/Lord_Howe
+Australia/NSW ; Australia/Sydney
+Australia/North ; Australia/Darwin
+Australia/Queensland ; Australia/Brisbane
+Australia/South ; Australia/Adelaide
+Australia/Tasmania ; Australia/Hobart
+Australia/Victoria ; Australia/Melbourne
+Australia/West ; Australia/Perth
+Australia/Yancowinna ; Australia/Broken_Hill
+Brazil/Acre ; America/Porto_Acre
+Brazil/DeNoronha ; America/Noronha
+Brazil/East ; America/Sao_Paulo
+Brazil/West ; America/Manaus
+CST6CDT ; America/Chicago
+Canada/Atlantic ; America/Halifax
+Canada/Central ; America/Winnipeg
+Canada/East-Saskatchewan ; America/Regina
+Canada/Eastern ; America/Toronto
+Canada/Mountain ; America/Edmonton
+Canada/Newfoundland ; America/St_Johns
+Canada/Pacific ; America/Vancouver
+Canada/Saskatchewan ; America/Regina
+Canada/Yukon ; America/Whitehorse
+Chile/Continental ; America/Santiago
+Chile/EasterIsland ; Pacific/Easter
+Cuba ; America/Havana
+EST ; America/Indianapolis
+EST5EDT ; America/New_York
+Egypt ; Africa/Cairo
+Eire ; Europe/Dublin
+Etc/GMT+0 ; Etc/GMT
+Etc/GMT-0 ; Etc/GMT
+Etc/GMT0 ; Etc/GMT
+Etc/Greenwich ; Etc/GMT
+Etc/Universal ; Etc/UTC
+Etc/Zulu ; Etc/UTC
+#Europe/Bratislava ; Europe/Prague
+#Europe/Ljubljana ; Europe/Belgrade
+Europe/Nicosia ; Asia/Nicosia
+#Europe/San_Marino ; Europe/Rome
+#Europe/Sarajevo ; Europe/Belgrade
+#Europe/Skopje ; Europe/Belgrade
+Europe/Tiraspol ; Europe/Chisinau
+#Europe/Vatican ; Europe/Rome
+#Europe/Zagreb ; Europe/Belgrade
+GB ; Europe/London
+GB-Eire ; Europe/London
+GMT ; Etc/GMT
+GMT+0 ; Etc/GMT+0
+GMT-0 ; Etc/GMT-0
+GMT0 ; Etc/GMT0
+Greenwich ; Etc/Greenwich
+HST ; Pacific/Honolulu
+Hongkong ; Asia/Hong_Kong
+Iceland ; Atlantic/Reykjavik
+Iran ; Asia/Tehran
+Israel ; Asia/Jerusalem
+Jamaica ; America/Jamaica
+Japan ; Asia/Tokyo
+Kwajalein ; Pacific/Kwajalein
+Libya ; Africa/Tripoli
+MST ; America/Phoenix
+MST7MDT ; America/Denver
+Mexico/BajaNorte ; America/Tijuana
+Mexico/BajaSur ; America/Mazatlan
+Mexico/General ; America/Mexico_City
+Mideast/Riyadh87 ; Asia/Riyadh87
+Mideast/Riyadh88 ; Asia/Riyadh88
+Mideast/Riyadh89 ; Asia/Riyadh89
+NZ ; Pacific/Auckland
+NZ-CHAT ; Pacific/Chatham
+Navajo ; America/Denver
+PRC ; Asia/Shanghai
+PST8PDT ; America/Los_Angeles
+Pacific/Samoa ; Pacific/Pago_Pago
+Poland ; Europe/Warsaw
+Portugal ; Europe/Lisbon
+ROC ; Asia/Taipei
+ROK ; Asia/Seoul
+Singapore ; Asia/Singapore
+SystemV/AST4 ; America/Puerto_Rico
+SystemV/AST4ADT ; America/Halifax
+SystemV/CST6 ; America/Regina
+SystemV/CST6CDT ; America/Chicago
+SystemV/EST5 ; America/Indianapolis
+SystemV/EST5EDT ; America/New_York
+SystemV/HST10 ; Pacific/Honolulu
+SystemV/MST7 ; America/Phoenix
+SystemV/MST7MDT ; America/Denver
+SystemV/PST8 ; Pacific/Pitcairn
+SystemV/PST8PDT ; America/Los_Angeles
+SystemV/YST9 ; Pacific/Gambier
+SystemV/YST9YDT ; America/Anchorage
+Turkey ; Europe/Istanbul
+UCT ; Etc/UCT
+US/Alaska ; America/Anchorage
+US/Aleutian ; America/Adak
+US/Arizona ; America/Phoenix
+US/Central ; America/Chicago
+US/East-Indiana ; America/Indianapolis
+US/Eastern ; America/New_York
+US/Hawaii ; Pacific/Honolulu
+US/Indiana-Starke ; America/Indiana/Knox
+US/Michigan ; America/Detroit
+US/Mountain ; America/Denver
+US/Pacific ; America/Los_Angeles
+US/Pacific-New ; America/Los_Angeles
+US/Samoa ; Pacific/Pago_Pago
+UTC ; Etc/UTC
+Universal ; Etc/Universal
+W-SU ; Europe/Moscow
+Zulu ; Etc/Zulu
+ACT ; Australia/Darwin
+AET ; Australia/Sydney
+AGT ; America/Buenos_Aires
+ART ; Africa/Cairo
+AST ; America/Anchorage
+BET ; America/Sao_Paulo
+BST ; Asia/Dhaka
+CAT ; Africa/Harare
+CNT ; America/St_Johns
+CST ; America/Chicago
+CTT ; Asia/Shanghai
+EAT ; Africa/Addis_Ababa
+ECT ; Europe/Paris
+IET ; America/Indianapolis
+IST ; Asia/Calcutta
+JST ; Asia/Tokyo
+MIT ; Pacific/Apia
+NET ; Asia/Yerevan
+NST ; Pacific/Auckland
+PLT ; Asia/Karachi
+PNT ; America/Phoenix
+PRT ; America/Puerto_Rico
+PST ; America/Los_Angeles
+SST ; Pacific/Guadalcanal
+VST ; Asia/Saigon
\ No newline at end of file
diff --git a/src/com/ibm/icu/dev/test/format/WriteNumberFormatSerialTestData.java b/src/com/ibm/icu/dev/test/format/WriteNumberFormatSerialTestData.java
new file mode 100755
index 0000000..81b575a
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/format/WriteNumberFormatSerialTestData.java
@@ -0,0 +1,89 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2001-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+ 
+package com.ibm.icu.dev.test.format;
+
+import com.ibm.icu.text.*;
+import java.util.Locale;
+import java.io.*;
+
+/**
+ * @version     1.0
+ * @author Ram Viswanadha
+ */
+public class WriteNumberFormatSerialTestData {
+    static final String header="/*\n" +
+                               " *******************************************************************************\n"+
+                               " * Copyright (C) 2001, International Business Machines Corporation and         *\n"+
+                               " * others. All Rights Reserved.                                                *\n"+
+                               " *******************************************************************************\n"+
+                               " */\n\n"+
+                               "package com.ibm.icu.dev.test.format;\n\n"+
+                                
+                               "public class NumberFormatSerialTestData {\n"+
+                               "    //get Content\n"+
+                               "    public static byte[][] getContent() {\n"+
+                               "            return content;\n"+
+                               "    }\n";
+                              
+    static final String footer ="\n    final static byte[][] content = {generalInstance, currencyInstance, percentInstance, scientificInstance};\n"+
+                                "}\n";                           
+    public static void main(String[] args){
+        NumberFormat nf     = NumberFormat.getInstance(Locale.US);
+        NumberFormat nfc    = NumberFormat.getCurrencyInstance(Locale.US);
+        NumberFormat nfp     = NumberFormat.getPercentInstance(Locale.US);
+        NumberFormat nfsp     = NumberFormat.getScientificInstance(Locale.US);
+        
+        try{
+            FileOutputStream file = new FileOutputStream("NumberFormatSerialTestData.java");
+            file.write(header.getBytes());
+            write(file,(Object)nf,"generalInstance", "//NumberFormat.getInstance(Locale.US)");
+            write(file,(Object)nfc,"currencyInstance","//NumberFormat.getCurrencyInstance(Locale.US)");
+            write(file,(Object)nfp,"percentInstance","//NumberFormat.getPercentInstance(Locale.US)");
+            write(file,(Object)nfsp,"scientificInstance","//NumberFormat.getScientificInstance(Locale.US)");
+            file.write(footer.getBytes());            
+            file.close();
+        }catch( Exception e){
+            System.out.println(e.getMessage());
+            e.printStackTrace();
+        }
+    }
+    private static void write(FileOutputStream file,Object o ,String name,String comment){
+        try{
+            ByteArrayOutputStream bts =  new ByteArrayOutputStream();
+            ObjectOutputStream os = new ObjectOutputStream(bts);    
+            os.writeObject((Object)o);
+            os.flush();
+            os.close();
+            byte[] myArr = bts.toByteArray();
+            //String temp = new String(myArr);
+            System.out.println("    "+comment+ " :");
+            /*System.out.println("minimumIntegerDigits : "  + (temp.indexOf("minimumIntegerDigits")+"minimumIntegerDigits".length()));
+            System.out.println("maximumIntegerDigits : "  + (temp.indexOf("maximumIntegerDigits")+"maximumIntegerDigits".length()));
+            System.out.println("minimumFractionDigits : " + (temp.indexOf("minimumFractionDigits")+"minimumFractionDigits".length()));
+            System.out.println("maximumFractionDigits : " + (temp.indexOf("maximumFractionDigits")+"maximumFractionDigits".length()));
+            */
+            //file.write(myArr);
+            file.write(("\n    "+comment).getBytes());
+            file.write(new String("\n    static byte[] "+name+" = new byte[]{ \n").getBytes("UTF-8"));
+            file.write( "        ".getBytes());
+            for(int i=0; i<myArr.length; i++){
+                file.write(String.valueOf((int)myArr[i]).getBytes());
+                file.write( ", ".getBytes());
+                if((i+1)%20 == 0){
+                    file.write("\n".getBytes());
+                    file.write( "        ".getBytes());
+                }
+            }
+            file.write(new String("\n    };\n").getBytes("UTF-8"));
+        }catch( Exception e){
+            System.out.println(e.getMessage());
+            e.printStackTrace();
+        }
+    
+    }
+}
diff --git a/src/com/ibm/icu/dev/test/impl/TestAll.java b/src/com/ibm/icu/dev/test/impl/TestAll.java
new file mode 100644
index 0000000..719d232
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/impl/TestAll.java
@@ -0,0 +1,32 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.test.impl;
+
+import com.ibm.icu.dev.test.TestFmwk.TestGroup;
+
+/**
+ * Top level test used to run all other tests as a batch.
+ */
+public class TestAll extends TestGroup {
+    public static void main(String[] args) throws Exception {
+        new TestAll().run(args);
+    }
+
+    public TestAll() {
+        super("com.ibm.icu.dev.test.util",
+              new String[] {
+                  "ICUServiceTest",
+                  "ICUServiceThreadTest",
+                  "ICUBinaryTest"
+              },
+              "Test miscellaneous implementation utilities");
+    }
+
+    public static final String CLASS_TARGET_NAME = "Impl";
+}
+
+
diff --git a/src/com/ibm/icu/dev/test/iterator/TestUCharacterIterator.java b/src/com/ibm/icu/dev/test/iterator/TestUCharacterIterator.java
new file mode 100644
index 0000000..9cc713f
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/iterator/TestUCharacterIterator.java
@@ -0,0 +1,484 @@
+/**
+ *******************************************************************************
+ * Copyright (C) 2001-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.test.iterator;
+
+import com.ibm.icu.dev.test.TestFmwk;
+import com.ibm.icu.text.UCharacterIterator;
+import com.ibm.icu.text.UTF16;
+import com.ibm.icu.text.ReplaceableString;
+import java.text.CharacterIterator;
+import java.text.StringCharacterIterator;
+
+/**
+ * @author ram
+ *
+ * To change this generated comment edit the template variable "typecomment":
+ * Window>Preferences>Java>Templates.
+ * To enable and disable the creation of type comments go to
+ * Window>Preferences>Java>Code Generation.
+ */
+public class TestUCharacterIterator extends TestFmwk{
+
+    // constructor -----------------------------------------------------
+  
+    /**
+     * Constructor
+     */
+    public TestUCharacterIterator()
+    {
+    }
+  
+    // public methods --------------------------------------------------
+  
+    /**
+    * Testing cloning
+    */
+    public void TestClone() throws CloneNotSupportedException
+    {
+         UCharacterIterator iterator = UCharacterIterator.getInstance("testing");
+         UCharacterIterator cloned = (UCharacterIterator)iterator.clone();
+         int completed = 0;
+         while (completed != UCharacterIterator.DONE) {
+            completed = iterator.next();
+            if (completed != cloned.next()) {
+                errln("Cloned operation failed");
+            }
+         }
+    }
+    public void getText(UCharacterIterator iterator, String result){
+        /* test getText */
+        char[] buf= new char[1];
+        for(;;){
+            try{
+                iterator.getText(buf);
+                break;
+            }catch(IndexOutOfBoundsException e){
+                buf = new char[iterator.getLength()];
+            }
+        }
+        if(result.compareTo(new String(buf,0,iterator.getLength()))!=0){
+            errln("getText failed for iterator");
+        }
+    }
+    
+    /**
+     * Testing iteration
+     */
+    public void TestIteration()
+    {
+        UCharacterIterator iterator  = UCharacterIterator.getInstance(
+                                                       ITERATION_STRING_);
+        UCharacterIterator iterator2 = UCharacterIterator.getInstance(
+                                                       ITERATION_STRING_);
+        iterator.setToStart();                                               
+        if (iterator.current() != ITERATION_STRING_.charAt(0)) {
+            errln("Iterator failed retrieving first character");
+        }
+        iterator.setToLimit(); 
+        if (iterator.previous() != ITERATION_STRING_.charAt(
+                                       ITERATION_STRING_.length() - 1)) {
+            errln("Iterator failed retrieving last character");
+        }                                               
+        if (iterator.getLength() != ITERATION_STRING_.length()) {
+            errln("Iterator failed determining begin and end index");
+        }  
+        iterator2.setIndex(0);
+        iterator.setIndex(0);
+        int ch = 0;
+        while (ch != UCharacterIterator.DONE) {
+            int index = iterator2.getIndex();
+            ch = iterator2.nextCodePoint();
+            if (index != ITERATION_SUPPLEMENTARY_INDEX) {
+                if (ch != (int)iterator.next() && 
+                    ch != UCharacterIterator.DONE) {
+                    errln("Error mismatch in next() and nextCodePoint()"); 
+                }
+            }
+            else {
+                if (UTF16.getLeadSurrogate(ch) != iterator.next() ||
+                    UTF16.getTrailSurrogate(ch) != iterator.next()) {
+                    errln("Error mismatch in next and nextCodePoint for " +
+                          "supplementary characters");
+                }
+            }
+        }
+        iterator.setIndex(ITERATION_STRING_.length());
+        iterator2.setIndex(ITERATION_STRING_.length());
+        while (ch != UCharacterIterator.DONE) {
+            int index = iterator2.getIndex();
+            ch = iterator2.previousCodePoint();
+            if (index != ITERATION_SUPPLEMENTARY_INDEX) {
+                if (ch != (int)iterator.previous() && 
+                    ch != UCharacterIterator.DONE) {
+                    errln("Error mismatch in previous() and " +
+                          "previousCodePoint()"); 
+                }
+            }
+            else {
+                if (UTF16.getLeadSurrogate(ch) != iterator.previous() || 
+                    UTF16.getTrailSurrogate(ch) != iterator.previous()) {
+                    errln("Error mismatch in previous and " +
+                          "previousCodePoint for supplementary characters");
+                }
+            }
+        }
+    }
+    
+    public static void main(String[] arg)
+    {
+        try
+        {
+            TestUCharacterIterator test = new TestUCharacterIterator();
+            test.run(arg);
+        }
+        catch (Exception e)
+        {
+            e.printStackTrace();
+        }
+    }
+    
+    //Tests for new API for utf-16 support 
+    public void TestIterationUChar32() {
+        String text="\u0061\u0062\ud841\udc02\u20ac\ud7ff\ud842\udc06\ud801\udc00\u0061";
+        int c;
+        int i;
+        {
+            UCharacterIterator iter = UCharacterIterator.getInstance(text);
+    
+            String iterText = iter.getText();
+            if (!iterText.equals(text))
+              errln("iter.getText() failed");
+            
+            iter.setIndex(1);
+            if (iter.currentCodePoint() != UTF16.charAt(text,1))
+                errln("Iterator didn't start out in the right place.");
+    
+            iter.setToStart();
+            c=iter.currentCodePoint();
+            i=0;
+            i=iter.moveCodePointIndex(1);
+            c=iter.currentCodePoint();
+            if(c != UTF16.charAt(text,1) || i!=1)
+                errln("moveCodePointIndex(1) didn't work correctly expected "+ hex(c) +" got "+hex(UTF16.charAt(text,1)) + " i= " + i);
+    
+            i=iter.moveCodePointIndex(2);
+            c=iter.currentCodePoint();
+            if(c != UTF16.charAt(text,4) || i!=4)
+                errln("moveCodePointIndex(2) didn't work correctly expected "+ hex(c) +" got "+hex(UTF16.charAt(text,4)) + " i= " + i);
+                
+            i=iter.moveCodePointIndex(-2);
+            c=iter.currentCodePoint();
+            if(c != UTF16.charAt(text,1) || i!=1)
+                 errln("moveCodePointIndex(-2) didn't work correctly expected "+ hex(c) +" got "+hex(UTF16.charAt(text,1)) + " i= " + i);
+
+            iter.setToLimit();
+            i=iter.moveCodePointIndex(-2);
+            c=iter.currentCodePoint();
+            if(c != UTF16.charAt(text,(text.length()-3)) || i!=(text.length()-3))
+                errln("moveCodePointIndex(-2) didn't work correctly expected "+ hex(c) +" got "+hex(UTF16.charAt(text,(text.length()-3)) ) + " i= " + i);
+            
+            iter.setToStart();
+            c = iter.currentCodePoint();
+            i = 0;
+    
+            //testing first32PostInc, nextCodePointPostInc, setTostart
+            i = 0;
+            iter.setToStart();
+            c =iter.next();
+            if(c != UTF16.charAt(text,i))
+                errln("first32PostInc failed.  Expected->"+hex(UTF16.charAt(text,i))+" Got-> "+hex(c));
+            if(iter.getIndex() != UTF16.getCharCount(c) + i)
+                errln("getIndex() after first32PostInc() failed");
+    
+            iter.setToStart();
+            i=0;
+            if (iter.getIndex() != 0)
+                errln("setToStart failed");
+           
+            logln("Testing forward iteration...");
+            do {
+                if (c != UCharacterIterator.DONE)
+                    c = iter.nextCodePoint();
+    
+                if(c != UTF16.charAt(text,i))
+                    errln("Character mismatch at position "+i+", iterator has "+hex(c)+", string has "+hex(UTF16.charAt(text,i)));
+    
+                i+=UTF16.getCharCount(c);
+                if(iter.getIndex() != i)
+                    errln("getIndex() aftr nextCodePointPostInc() isn't working right");
+                c = iter.currentCodePoint();                   
+                if( c!=UCharacterIterator.DONE && c != UTF16.charAt(text,i))
+                    errln("current() after nextCodePointPostInc() isn't working right");
+
+            } while (c!=UCharacterIterator.DONE);
+            c=iter.nextCodePoint();
+            if(c!= UCharacterIterator.DONE)
+                errln("nextCodePointPostInc() didn't return DONE at the beginning");
+    
+    
+        }
+    }  
+    
+    class UCharIterator {
+    
+       public UCharIterator(int[] src, int len, int index){
+            
+            s=src;
+            length=len;
+            i=index;
+       }
+    
+        public int current() {
+            if(i<length) {
+                return s[i];
+            } else {
+                return -1;
+            }
+        }
+    
+        public int next() {
+            if(i<length) {
+                return s[i++];
+            } else {
+                return -1;
+            }
+        }
+    
+        public int previous() {
+            if(i>0) {
+                return s[--i];
+            } else {
+                return -1;
+            }
+        }
+    
+        public int getIndex() {
+            return i;
+        }
+    
+        private int[] s;
+        private int length, i;
+    };
+    // src and expect strings
+    private final char src[]={
+        UTF16.getLeadSurrogate(0x2f999), UTF16.getTrailSurrogate(0x2f999),
+        UTF16.getLeadSurrogate(0x1d15f), UTF16.getTrailSurrogate(0x1d15f),
+        0xc4,
+        0x1ed0
+    };
+    public void TestPreviousNext(){
+        // iterators
+        UCharacterIterator iter1 = UCharacterIterator.getInstance(new ReplaceableString(new String(src)));
+        UCharacterIterator iter2 = UCharacterIterator.getInstance(src/*char array*/);
+        UCharacterIterator iter3 = UCharacterIterator.getInstance(new StringCharacterIterator(new String(src)));
+        UCharacterIterator iter4 = UCharacterIterator.getInstance(new StringBuffer(new String(src)));
+        previousNext(iter1);
+        previousNext(iter2);
+        previousNext(iter3);
+        previousNext(iter4);
+        getText(iter1,new String(src));
+        getText(iter2,new String(src));
+        getText(iter3,new String(src));
+        /* getCharacterIterator */
+        CharacterIterator citer1 = iter1.getCharacterIterator();
+        CharacterIterator citer2 = iter2.getCharacterIterator();
+        CharacterIterator citer3 = iter3.getCharacterIterator();
+        if(citer1.first() !=iter1.current()){
+            errln("getCharacterIterator for iter1 failed");
+        }
+        if(citer2.first() !=iter2.current()){
+            errln("getCharacterIterator for iter2 failed");
+        }
+        if(citer3.first() !=iter3.current()){
+            errln("getCharacterIterator for iter3 failed");
+        }
+        /* Test clone()  && moveIndex()*/
+        try{
+            UCharacterIterator clone1 = (UCharacterIterator)iter1.clone();
+            UCharacterIterator clone2 = (UCharacterIterator)iter2.clone();
+            UCharacterIterator clone3 = (UCharacterIterator)iter3.clone();
+            if(clone1.moveIndex(3)!=iter1.moveIndex(3)){
+                errln("moveIndex for iter1 failed");
+            }
+            if(clone2.moveIndex(3)!=iter2.moveIndex(3)){
+                errln("moveIndex for iter2 failed");
+            }
+            if(clone3.moveIndex(3)!=iter3.moveIndex(3)){
+                errln("moveIndex for iter1 failed");
+            }
+        }catch (Exception e){
+            errln("could not clone the iterator");
+        }
+    }
+    public void previousNext(UCharacterIterator iter) {
+
+        int expect[]={
+            0x2f999,
+            0x1d15f,
+            0xc4,
+            0x1ed0
+        };
+    
+        // expected src indexes corresponding to expect indexes
+        int expectIndex[]={
+            0,0,
+            1,1,
+            2,
+            3,
+            4 //needed 
+        };
+    
+        // initial indexes into the src and expect strings
+        
+        final int SRC_MIDDLE=4;
+        final int EXPECT_MIDDLE=2;
+        
+    
+        // movement vector
+        // - for previous(), 0 for current(), + for next()
+        // not const so that we can terminate it below for the error message
+        String moves="0+0+0--0-0-+++0--+++++++0--------";
+    
+        
+        UCharIterator iter32 = new UCharIterator(expect, expect.length, 
+                                                     EXPECT_MIDDLE);
+    
+        int c1, c2;
+        char m;
+    
+        // initially set the indexes into the middle of the strings
+        iter.setIndex(SRC_MIDDLE);
+    
+        // move around and compare the iteration code points with
+        // the expected ones
+        int movesIndex =0;
+        while(movesIndex<moves.length()) {
+            m=moves.charAt(movesIndex++);
+            if(m=='-') {
+                c1=iter.previousCodePoint();
+                c2=iter32.previous();
+            } else if(m=='0') {
+                c1=iter.currentCodePoint();
+                c2=iter32.current();
+            } else  {// m=='+' 
+                c1=iter.nextCodePoint();
+                c2=iter32.next();
+            }
+    
+            // compare results
+            if(c1!=c2) {
+                // copy the moves until the current (m) move, and terminate
+                String history = moves.substring(0,movesIndex);
+                errln("error: mismatch in Normalizer iteration at "+history+": "
+                      +"got c1= " + hex(c1) +" != expected c2= "+ hex(c2));
+                break;
+            }
+    
+            // compare indexes
+            if(expectIndex[iter.getIndex()]!=iter32.getIndex()) {
+                // copy the moves until the current (m) move, and terminate
+                String history = moves.substring(0,movesIndex);
+                errln("error: index mismatch in Normalizer iteration at "
+                      +history+ " : "+ "Normalizer index " +iter.getIndex()
+                      +" expected "+ expectIndex[iter32.getIndex()]);
+                break;
+            }
+        }
+    }
+    public void TestUCharacterIteratorWrapper(){
+        String source ="asdfasdfjoiuyoiuy2341235679886765";
+        UCharacterIterator it = UCharacterIterator.getInstance(source);
+        CharacterIterator wrap_ci = it.getCharacterIterator();
+        CharacterIterator ci = new StringCharacterIterator(source);
+        wrap_ci.setIndex(10);
+        ci.setIndex(10);
+        String moves="0+0+0--0-0-+++0--+++++++0--------++++0000----0-";
+        int c1, c2;
+        char m;
+        int movesIndex =0;
+        
+        while(movesIndex<moves.length()) {
+            m=moves.charAt(movesIndex++);
+            if(m=='-') {
+                c1=wrap_ci.previous();
+                c2=ci.previous();
+            } else if(m=='0') {
+                c1=wrap_ci.current();
+                c2=ci.current();
+            } else  {// m=='+' 
+                c1=wrap_ci.next();
+                c2=ci.next();
+            }
+    
+            // compare results
+            if(c1!=c2) {
+                // copy the moves until the current (m) move, and terminate
+                String history = moves.substring(0,movesIndex);
+                errln("error: mismatch in Normalizer iteration at "+history+": "
+                      +"got c1= " + hex(c1) +" != expected c2= "+ hex(c2));
+                break;
+            }
+    
+            // compare indexes
+            if(wrap_ci.getIndex()!=ci.getIndex()) {
+                // copy the moves until the current (m) move, and terminate
+                String history = moves.substring(0,movesIndex);
+                errln("error: index mismatch in Normalizer iteration at "
+                      +history+ " : "+ "Normalizer index " +wrap_ci.getIndex()
+                      +" expected "+ ci.getIndex());
+                break;
+            }
+        }
+        if(ci.first()!=wrap_ci.first()){
+            errln("CharacterIteratorWrapper.first() failed. expected: " + ci.first() + " got: " +wrap_ci.first());
+        }
+        if(ci.last()!=wrap_ci.last()){
+            errln("CharacterIteratorWrapper.last() failed expected: " + ci.last() + " got: " +wrap_ci.last());
+        }
+        if(ci.getBeginIndex()!=wrap_ci.getBeginIndex()){
+            errln("CharacterIteratorWrapper.getBeginIndex() failed expected: " + ci.getBeginIndex() + " got: " +wrap_ci.getBeginIndex());
+        }
+        if(ci.getEndIndex()!=wrap_ci.getEndIndex()){
+            errln("CharacterIteratorWrapper.getEndIndex() failed expected: " + ci.getEndIndex() + " got: " +wrap_ci.getEndIndex());
+        }
+        try{
+            CharacterIterator cloneWCI = (CharacterIterator) wrap_ci.clone();
+            if(wrap_ci.getIndex()!=cloneWCI.getIndex()){
+                errln("CharacterIteratorWrapper.clone() failed expected: " +wrap_ci.getIndex() + " got: " + cloneWCI.getIndex());
+            }
+        }catch(Exception e){
+             errln("CharacterIterator.clone() failed");
+        }
+    }
+    // private data members ---------------------------------------------
+    
+    private static final String ITERATION_STRING_ =
+                                        "Testing 1 2 3 \ud800\udc00 456";
+    private static final int ITERATION_SUPPLEMENTARY_INDEX = 14;
+    
+    public void TestJitterbug1952(){
+        //test previous code point
+        char[] src = new char[]{ '\uDC00','\uD800','\uDC01','\uD802','\uDC02','\uDC03'};
+        UCharacterIterator iter = UCharacterIterator.getInstance(src);
+        iter.setIndex(1);
+        int ch;
+        // this should never go into a infinite loop
+        // if it does then we have a problem
+        while((ch=iter.previousCodePoint())!=UCharacterIterator.DONE){
+            if(ch!=0xDc00){
+                errln("iter.previousCodePoint() failed");
+            }
+        }
+        iter.setIndex(5);
+        while((ch=iter.nextCodePoint()) !=UCharacterIterator.DONE){
+            if(ch!= 0xDC03){
+                errln("iter.nextCodePoint() failed");
+            } 
+        }      
+    }
+        
+}
diff --git a/src/com/ibm/icu/dev/test/lang/TestAll.java b/src/com/ibm/icu/dev/test/lang/TestAll.java
new file mode 100644
index 0000000..6e72fe1
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/lang/TestAll.java
@@ -0,0 +1,30 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.test.lang;
+
+import com.ibm.icu.dev.test.TestFmwk.TestGroup;
+
+/**
+ * Top level test used to run character property tests.
+ */
+public class TestAll extends TestGroup {
+    public static void main(String[] args) throws Exception {
+        new TestAll().run(args);
+    }
+
+    public TestAll() {
+        super(
+              new String[] { 
+                  "TestCharacter", 
+                  "TestUScript", 
+                  "TestUScriptRun" 
+              },
+              "Character and Script Tests");
+    }
+
+    public static final String CLASS_TARGET_NAME = "Property";
+}
diff --git a/src/com/ibm/icu/dev/test/lang/TestCharacter.java b/src/com/ibm/icu/dev/test/lang/TestCharacter.java
new file mode 100644
index 0000000..e332023
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/lang/TestCharacter.java
@@ -0,0 +1,30 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.test.lang;
+
+import com.ibm.icu.dev.test.TestFmwk.TestGroup;
+
+public class TestCharacter extends TestGroup {
+    public static void main(String[] args) {
+        new TestCharacter().run(args);
+    }
+
+    public TestCharacter() {
+        super(
+              new String[] { 
+                  "UCharacterTest", 
+                  "UCharacterCaseTest", 
+                  "UCharacterIteratorTest",
+                  "UCharacterCategoryTest", 
+                  "UCharacterDirectionTest", 
+                  "UPropertyAliasesTest",
+                  "UTF16Test",
+          "UCharacterSurrogateTest"
+              },
+              "Character Property and UTF16 Tests");
+    }
+}
diff --git a/src/com/ibm/icu/dev/test/lang/TestUScript.java b/src/com/ibm/icu/dev/test/lang/TestUScript.java
new file mode 100755
index 0000000..0c2d15d
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/lang/TestUScript.java
@@ -0,0 +1,380 @@
+/**
+*******************************************************************************
+* Copyright (C) 1996-2004, International Business Machines Corporation and    *
+* others. All Rights Reserved.                                                *
+*******************************************************************************
+*/
+
+package com.ibm.icu.dev.test.lang;
+
+import com.ibm.icu.lang.UScript;
+import com.ibm.icu.util.ULocale;
+import com.ibm.icu.dev.test.TestFmwk;
+
+import java.util.Locale;
+
+public class TestUScript extends TestFmwk {
+
+    /**
+    * Constructor
+    */
+    public TestUScript()
+    {
+    }
+
+    public static void main(String[] args) throws Exception {
+        new TestUScript().run(args);
+    }
+    public void TestLocaleGetCode(){
+        final ULocale[] testNames={
+        /* test locale */
+        new ULocale("en"), new ULocale("en_US"),
+        new ULocale("sr"), new ULocale("ta") ,
+        new ULocale("te_IN"),
+        new ULocale("hi"),
+        new ULocale("he"), new ULocale("ar"),
+        new ULocale("abcde"),
+        new ULocale("abcde_cdef"),
+        new ULocale("iw")
+        };
+        final int[] expected ={
+                /* locales should return */
+                UScript.LATIN, UScript.LATIN,
+                UScript.CYRILLIC, UScript.TAMIL,
+                UScript.TELUGU,UScript.DEVANAGARI,
+                UScript.HEBREW, UScript.ARABIC,
+                UScript.INVALID_CODE,UScript.INVALID_CODE,
+                UScript.HEBREW
+        };
+        int i =0;
+        int numErrors =0;
+
+        for( ; i<testNames.length; i++){
+            int[] code = UScript.getCode(testNames[i]);
+
+            if(code==null){
+                if(expected[i]!=UScript.INVALID_CODE){
+                    logln("Error getting script code Got: null" + " Expected: " +expected[i] +" for name "+testNames[i]);
+                    numErrors++;
+                }
+                // getCode returns null if the code could not be found
+                continue;
+            }
+            if((code[0] != expected[i])){
+                logln("Error getting script code Got: " +code[0] + " Expected: " +expected[i] +" for name "+testNames[i]);
+                numErrors++;
+            }
+        }
+        reportDataErrors(numErrors);
+        
+        // 
+        ULocale defaultLoc = ULocale.getDefault(); 
+        ULocale esparanto = new ULocale("eo_DE");
+        ULocale.setDefault(esparanto);
+        int[] code = UScript.getCode(esparanto); 
+        if(code != null){
+            if( code[0] != UScript.LATIN){
+                errln("Did not get the expected script code for Esparanto");
+            }
+        }else{
+            warnln("Could not load the locale data.");
+        }
+        ULocale.setDefault(defaultLoc);
+    }
+
+    private void reportDataErrors(int numErrors) {
+        if (numErrors >0) {
+            if (isModularBuild()) {
+                // assume missing locale data, so not an error, just a warning
+                if (!noData()) {
+                    // if nodata is set don't even warn
+                    warnln("Could not find locale data");
+                }
+            } else {
+                errln("encountered " + numErrors + " errors.");
+            }
+        }
+    }
+
+    public void TestMultipleCode(){
+        final String[] testNames = { "ja" ,"ko_KR","zh","zh_TW"};
+        final int[][] expected = {
+                                {UScript.KATAKANA,UScript.HIRAGANA,UScript.HAN},
+                                {UScript.HANGUL, UScript.HAN},
+                                {UScript.HAN},
+                                {UScript.HAN,UScript.BOPOMOFO}
+                              };
+
+        int numErrors = 0;
+        for(int i=0; i<testNames.length;i++){
+            int[] code = UScript.getCode(testNames[i]);
+            int[] expt = (int[]) expected[i];
+            if(code!=null){
+                for(int j =0; j< code.length;j++){
+                    if(code[j]!=expt[j]){
+                        numErrors++;
+                        logln("Error getting script code Got: " +code[j] + " Expected: " +expt[j] +" for name "+testNames[i]);
+                    }
+                }
+            }else{
+                numErrors++;
+                logln("Error getting script code for name "+testNames[i]);
+            }
+        }
+        reportDataErrors(numErrors);
+        
+        //cover UScript.getCode(Locale)
+        Locale[] testLocales = new Locale[] {
+            Locale.JAPANESE,
+            Locale.KOREA,
+            Locale.CHINESE,
+            Locale.TAIWAN };
+        logln("Testing UScript.getCode(Locale) ...");
+        numErrors = 0;
+        for(int i=0; i<testNames.length;i++){
+            logln("  Testing locale: " + testLocales[i].getDisplayName());
+            int[] code = UScript.getCode(testLocales[i]);
+            int[] expt = (int[]) expected[i];
+            if(code!=null){
+                for(int j =0; j< code.length;j++){
+                    if(code[j]!=expt[j]){
+                        numErrors++;
+                        logln("  Error getting script code Got: " +code[j] + " Expected: " +expt[j] +" for name "+testNames[i]);
+                    }
+                }
+            }else{
+                numErrors++;
+                logln("  Error getting script code for name "+testNames[i]);
+            }
+        }
+        reportDataErrors(numErrors);                 
+    }
+
+    public void TestGetCode(){
+
+        final String[] testNames={
+            /* test locale */
+            "en", "en_US", "sr", "ta", "gu", "te_IN", 
+            "hi", "he", "ar",
+            /* test abbr */
+            "Hani", "Hang","Hebr","Hira",
+            "Knda","Kana","Khmr","Lao",
+            "Latn",/*"Latf","Latg",*/
+            "Mlym", "Mong",
+
+            /* test names */
+            "CYRILLIC","DESERET","DEVANAGARI","ETHIOPIC","GEORGIAN",
+            "GOTHIC",  "GREEK",  "GUJARATI", "COMMON", "INHERITED",
+            /* test lower case names */
+            "malayalam", "mongolian", "myanmar", "ogham", "old-italic",
+            "oriya",     "runic",     "sinhala", "syriac","tamil",
+            "telugu",    "thaana",    "thai",    "tibetan",
+            /* test the bounds*/
+            "Cans", "arabic","Yi","Zyyy"
+        };
+        final int[] expected ={
+            /* locales should return */
+            UScript.LATIN, UScript.LATIN,
+            UScript.CYRILLIC, UScript.TAMIL, UScript.GUJARATI,
+            UScript.TELUGU,UScript.DEVANAGARI,
+            UScript.HEBREW, UScript.ARABIC,
+            /* abbr should return */
+            UScript.HAN, UScript.HANGUL, UScript.HEBREW, UScript.HIRAGANA,
+            UScript.KANNADA, UScript.KATAKANA, UScript.KHMER, UScript.LAO,
+            UScript.LATIN,/* UScript.LATIN, UScript.LATIN,*/
+            UScript.MALAYALAM, UScript.MONGOLIAN,
+            /* names should return */
+            UScript.CYRILLIC, UScript.DESERET, UScript.DEVANAGARI, UScript.ETHIOPIC, UScript.GEORGIAN,
+            UScript.GOTHIC, UScript.GREEK, UScript.GUJARATI, UScript.COMMON, UScript.INHERITED,
+            /* lower case names should return */
+            UScript.MALAYALAM, UScript.MONGOLIAN, UScript.MYANMAR, UScript.OGHAM, UScript.OLD_ITALIC,
+            UScript.ORIYA, UScript.RUNIC, UScript.SINHALA, UScript.SYRIAC, UScript.TAMIL,
+            UScript.TELUGU, UScript.THAANA, UScript.THAI, UScript.TIBETAN,
+            /* bounds */
+            UScript.CANADIAN_ABORIGINAL, UScript.ARABIC, UScript.YI, UScript.COMMON
+        };
+        int i =0;
+        int numErrors =0;
+
+        for( ; i<testNames.length; i++){
+            int[] code = UScript.getCode(testNames[i]);
+            if(code == null){
+                if(expected[i]==UScript.INVALID_CODE){
+                    // getCode returns null if the code could not be found
+                    continue;
+                }
+                // currently commented out until jitterbug#2678 is fixed
+                logln("Error getting script code Got: null" + " Expected: " +expected[i] +" for name "+testNames[i]);
+                numErrors++;
+                continue;
+            }
+            if((code[0] != expected[i])){
+                logln("Error getting script code Got: " +code[0] + " Expected: " +expected[i] +" for name "+testNames[i]);
+                numErrors++;
+            }
+        }
+        reportDataErrors(numErrors);
+    }
+
+    public void TestGetName(){
+
+        final int[] testCodes={
+            /* names should return */
+            UScript.CYRILLIC, UScript.DESERET, UScript.DEVANAGARI, UScript.ETHIOPIC, UScript.GEORGIAN,
+            UScript.GOTHIC, UScript.GREEK, UScript.GUJARATI,
+        };
+
+        final String[] expectedNames={
+
+            /* test names */
+            "Cyrillic","Deseret","Devanagari","Ethiopic","Georgian",
+            "Gothic",  "Greek",  "Gujarati",
+        };
+        int i =0;
+        int numErrors=0;
+        while(i< testCodes.length){
+            String scriptName  = UScript.getName(testCodes[i]);
+            if(!expectedNames[i].equals(scriptName)){
+                logln("Error getting abbreviations Got: " +scriptName +" Expected: "+expectedNames[i]);
+                numErrors++;
+            }
+            i++;
+        }
+        if(numErrors >0 ){
+            warnln("encountered " + numErrors + " errors in UScript.getName()");
+        }
+
+    }
+    public void TestGetShortName(){
+        final int[] testCodes={
+            /* abbr should return */
+            UScript.HAN, UScript.HANGUL, UScript.HEBREW, UScript.HIRAGANA,
+            UScript.KANNADA, UScript.KATAKANA, UScript.KHMER, UScript.LAO,
+            UScript.LATIN,
+            UScript.MALAYALAM, UScript.MONGOLIAN,
+        };
+
+        final String[] expectedAbbr={
+              /* test abbr */
+            "Hani", "Hang","Hebr","Hira",
+            "Knda","Kana","Khmr","Laoo",
+            "Latn",
+            "Mlym", "Mong",
+        };
+        int i=0;
+        int numErrors=0;
+        while(i<testCodes.length){
+            String  shortName = UScript.getShortName(testCodes[i]);
+            if(!expectedAbbr[i].equals(shortName)){
+                logln("Error getting abbreviations Got: " +shortName+ " Expected: " +expectedAbbr[i]);
+                numErrors++;
+            }
+            i++;
+        }
+        if(numErrors >0 ){
+            warnln("encountered " + numErrors + " errors in UScript.getShortName()");
+        }
+    }
+    public void TestGetScript(){
+        int codepoints[] = {
+                0x0000FF9D,
+                0x0000FFBE,
+                0x0000FFC7,
+                0x0000FFCF,
+                0x0000FFD7,
+                0x0000FFDC,
+                0x00010300,
+                0x00010330,
+                0x0001034A,
+                0x00010400,
+                0x00010428,
+                0x0001D167,
+                0x0001D17B,
+                0x0001D185,
+                0x0001D1AA,
+                0x00020000,
+                0x00000D02,
+                0x00000D00,
+                0x00000000,
+                0x0001D169,
+                0x0001D182,
+                0x0001D18B,
+                0x0001D1AD,
+        };
+
+        int expected[] = {
+                UScript.KATAKANA ,
+                UScript.HANGUL ,
+                UScript.HANGUL ,
+                UScript.HANGUL ,
+                UScript.HANGUL ,
+                UScript.HANGUL ,
+                UScript.OLD_ITALIC,
+                UScript.GOTHIC ,
+                UScript.GOTHIC ,
+                UScript.DESERET ,
+                UScript.DESERET ,
+                UScript.INHERITED,
+                UScript.INHERITED,
+                UScript.INHERITED,
+                UScript.INHERITED,
+                UScript.HAN ,
+                UScript.MALAYALAM,
+                UScript.COMMON,
+                UScript.COMMON,
+                UScript.INHERITED ,
+                UScript.INHERITED ,
+                UScript.INHERITED ,
+                UScript.INHERITED ,
+        };
+        int i =0;
+        int code = UScript.INVALID_CODE;
+        boolean passed = true;
+
+        while(i< codepoints.length){
+            code = UScript.getScript(codepoints[i]);
+
+            if(code != expected[i]){
+                logln("UScript.getScript for codepoint 0x"+ hex(codepoints[i])+" failed");
+                passed = false;
+            }
+
+            i++;
+        }
+        if(!passed){
+           errln("UScript.getScript failed.");
+        }
+    }
+    public void TestScriptNames(){
+        for(int i=0; i<UScript.CODE_LIMIT;i++){
+            String name = UScript.getName(i);
+            if(name.equals("") ){
+                errln("FAILED: getName for code : "+i);
+            }
+            String shortName= UScript.getShortName(i);
+            if(shortName.equals("")){
+                errln("FAILED: getName for code : "+i);
+            }
+        }
+    }
+    public void TestAllCodepoints(){
+        int code;
+        //String oldId="";
+        //String oldAbbrId="";
+        for( int i =0; i <= 0x10ffff; i++){
+          code =UScript.INVALID_CODE;
+          code = UScript.getScript(i);
+          if(code==UScript.INVALID_CODE){
+                errln("UScript.getScript for codepoint 0x"+ hex(i)+" failed");
+          }
+          String id =UScript.getName(code);
+          if(id.indexOf("INVALID")>=0){
+                 errln("UScript.getScript for codepoint 0x"+ hex(i)+" failed");
+          }
+          String abbr = UScript.getShortName(code);
+          if(abbr.indexOf("INV")>=0){
+                 errln("UScript.getScript for codepoint 0x"+ hex(i)+" failed");
+          }
+        }
+    }
+ }
diff --git a/src/com/ibm/icu/dev/test/lang/TestUScriptRun.java b/src/com/ibm/icu/dev/test/lang/TestUScriptRun.java
new file mode 100644
index 0000000..7508b44
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/lang/TestUScriptRun.java
@@ -0,0 +1,402 @@
+/**
+*******************************************************************************
+* Copyright (C) 1999-2005, International Business Machines Corporation and    *
+* others. All Rights Reserved.                                                *
+*******************************************************************************
+*/
+
+package com.ibm.icu.dev.test.lang;
+
+import com.ibm.icu.lang.UScript;
+import com.ibm.icu.lang.UScriptRun;
+import com.ibm.icu.dev.test.TestFmwk;
+
+public class TestUScriptRun extends TestFmwk
+{
+    public TestUScriptRun()
+    {
+        // nothing
+    }
+    
+    public static void main(String[] args) throws Exception {
+        new TestUScriptRun().run(args);
+    }
+
+    private static final class RunTestData
+    {
+        String runText;
+        int    runScript;
+        
+        public RunTestData(String theText, int theScriptCode)
+        {
+            runText   = theText;
+            runScript = theScriptCode;
+        }
+    }
+    
+    private static final RunTestData[][] testData = {
+        {
+            new RunTestData("\u0020\u0946\u0939\u093F\u0928\u094D\u0926\u0940\u0020", UScript.DEVANAGARI),
+            new RunTestData("\u0627\u0644\u0639\u0631\u0628\u064A\u0629\u0020", UScript.ARABIC),
+            new RunTestData("\u0420\u0443\u0441\u0441\u043A\u0438\u0439\u0020", UScript.CYRILLIC),
+            new RunTestData("English (", UScript.LATIN),
+            new RunTestData("\u0E44\u0E17\u0E22", UScript.THAI),
+            new RunTestData(") ", UScript.LATIN),
+            new RunTestData("\u6F22\u5B75", UScript.HAN),
+            new RunTestData("\u3068\u3072\u3089\u304C\u306A\u3068", UScript.HIRAGANA),
+            new RunTestData("\u30AB\u30BF\u30AB\u30CA", UScript.KATAKANA),
+            new RunTestData("\uD801\uDC00\uD801\uDC01\uD801\uDC02\uD801\uDC03", UScript.DESERET),
+        },
+        {
+            new RunTestData("((((((((((abc))))))))))", UScript.LATIN)
+        }
+    };
+    
+    private static final String padding = "This string is used for padding...";
+    
+    private void CheckScriptRuns(UScriptRun scriptRun, int[] runStarts, RunTestData[] testData)
+    {
+        int run, runStart, runLimit;
+        int runScript;
+
+        /* iterate over all the runs */
+        run = 0;
+        while (scriptRun.next()) {
+            runStart  = scriptRun.getScriptStart();
+            runLimit  = scriptRun.getScriptLimit();
+            runScript = scriptRun.getScriptCode();
+            
+            if (runStart != runStarts[run]) {
+                errln("Incorrect start offset for run " + run + ": expected " + runStarts[run] + ", got " + runStart);
+            }
+
+            if (runLimit != runStarts[run + 1]) {
+                errln("Incorrect limit offset for run " + run + ": expected " + runStarts[run + 1] + ", got " + runLimit);
+            }
+
+            if (runScript != testData[run].runScript) {
+                errln("Incorrect script for run " + run + ": expected \"" + UScript.getName(testData[run].runScript) + "\", got \"" + UScript.getName(runScript) + "\"");
+            }
+            
+            run += 1;
+
+            /* stop when we've seen all the runs we expect to see */
+            if (run >= testData.length) {
+                break;
+            }
+        }
+
+        /* Complain if we didn't see then number of runs we expected */
+        if (run != testData.length) {
+            errln("Incorrect number of runs: expected " + testData.length + ", got " + run);
+        }
+    }
+
+    public void TestContstruction()
+    {
+        UScriptRun scriptRun = null;
+        char[] nullChars  = null, dummyChars  = {'d', 'u', 'm', 'm', 'y'};
+        String nullString = null, dummyString = new String(dummyChars);
+        
+        try {
+            scriptRun = new UScriptRun(nullString, 0, 100);
+            errln("new UScriptRun(nullString, 0, 100) did not produce an IllegalArgumentException!");
+        } catch (IllegalArgumentException iae) {
+        	logln("PASS: UScriptRun failed as expected");
+        }
+        
+        try {
+            scriptRun = new UScriptRun(nullString, 100, 0);
+            errln("new UScriptRun(nullString, 100, 0) did not produce an IllegalArgumentException!");
+        } catch (IllegalArgumentException iae) {
+        	logln("PASS: UScriptRun failed as expected");
+        }
+        
+        try {
+            scriptRun = new UScriptRun(nullString, 0, -100);
+            errln("new UScriptRun(nullString, 0, -100) did not produce an IllegalArgumentException!");
+        } catch (IllegalArgumentException iae) {
+        	logln("PASS: UScriptRun failed as expected");
+        }
+        
+        try {
+            scriptRun = new UScriptRun(nullString, -100, 0);
+            errln("new UScriptRun(nullString, -100, 0) did not produce an IllegalArgumentException!");
+        } catch (IllegalArgumentException iae) {
+        	logln("PASS: UScriptRun failed as expected");
+        }
+        
+        try {
+            scriptRun = new UScriptRun(nullChars, 0, 100);
+            errln("new UScriptRun(nullChars, 0, 100) did not produce an IllegalArgumentException!");
+        } catch (IllegalArgumentException iae) {
+        	logln("PASS: UScriptRun failed as expected");
+        }
+        
+        try {
+            scriptRun = new UScriptRun(nullChars, 100, 0);
+            errln("new UScriptRun(nullChars, 100, 0) did not produce an IllegalArgumentException!");
+        } catch (IllegalArgumentException iae) {
+        	logln("PASS: UScriptRun failed as expected");
+        }
+        
+        try {
+            scriptRun = new UScriptRun(nullChars, 0, -100);
+            errln("new UScriptRun(nullChars, 0, -100) did not produce an IllegalArgumentException!");
+        } catch (IllegalArgumentException iae) {
+        	logln("PASS: UScriptRun failed as expected");
+        }
+        
+        try {
+            scriptRun = new UScriptRun(nullChars, -100, 0);
+            errln("new UScriptRun(nullChars, -100, 0) did not produce an IllegalArgumentException!");
+        } catch (IllegalArgumentException iae) {
+        	logln("PASS: UScriptRun failed as expected");
+        }
+        
+        try {
+            scriptRun = new UScriptRun(dummyString, 0, 6);
+            errln("new UScriptRun(dummyString, 0, 6) did not produce an IllegalArgumentException!");
+        } catch (IllegalArgumentException iae) {
+        	logln("PASS: UScriptRun failed as expected");
+        }
+        
+        try {
+            scriptRun = new UScriptRun(dummyString, 6, 0);
+            errln("new UScriptRun(dummy, 6, 0) did not produce an IllegalArgumentException!");
+        }catch (IllegalArgumentException iae) {
+        	logln("PASS: UScriptRun failed as expected");
+        }
+        
+        try {
+            scriptRun = new UScriptRun(dummyString, 0, -100);
+            errln("new UScriptRun(dummyString, 0, -100) did not produce an IllegalArgumentException!");
+        } catch (IllegalArgumentException iae) {
+        	logln("PASS: UScriptRun failed as expected");
+        }
+        
+        try {
+            scriptRun = new UScriptRun(dummyString, -100, 0);
+            errln("new UScriptRun(dummy, -100, 0) did not produce an IllegalArgumentException!");
+        } catch (IllegalArgumentException iae) {
+        	logln("PASS: UScriptRun failed as expected");
+        }
+        
+        try {
+            scriptRun = new UScriptRun(dummyChars, 0, 6);
+            errln("new UScriptRun(dummyChars, 0, 6) did not produce an IllegalArgumentException!");
+        } catch (IllegalArgumentException iae) {
+        	logln("PASS: UScriptRun failed as expected");
+        }
+        
+        try {
+            scriptRun = new UScriptRun(dummyChars, 6, 0);
+            errln("new UScriptRun(dummyChars, 6, 0) did not produce an IllegalArgumentException!");
+        }catch (IllegalArgumentException iae) {
+        	logln("PASS: UScriptRun failed as expected");
+        }
+        
+        try {
+            scriptRun = new UScriptRun(dummyChars, 0, -100);
+            errln("new UScriptRun(dummyChars, 0, -100) did not produce an IllegalArgumentException!");
+        } catch (IllegalArgumentException iae) {
+        	logln("PASS: UScriptRun failed as expected");
+        }
+        
+        try {
+            scriptRun = new UScriptRun(dummyChars, -100, 0);
+            errln("new UScriptRun(dummy, -100, 0) did not produce an IllegalArgumentException!");
+        } catch (IllegalArgumentException iae) {
+        	logln("PASS: UScriptRun failed as expected");
+        }
+        if(scriptRun!=null){
+            errln("Did not get the expected Exception");
+        }
+    }
+    
+    public void TestReset()
+    {
+        UScriptRun scriptRun = null;
+        char[] dummy = {'d', 'u', 'm', 'm', 'y'};
+        
+        try {
+            scriptRun = new UScriptRun();
+        } catch (IllegalArgumentException iae) {
+            errln("new UScriptRun() produced an IllegalArgumentException!");
+        }
+        
+        try {
+            scriptRun.reset(0, 100);
+            errln("scriptRun.reset(0, 100) did not produce an IllegalArgumentException!");
+        } catch (IllegalArgumentException iae) {
+        	logln("PASS: scriptRun.reset failed as expected");
+        }
+        
+        try {
+            scriptRun.reset(100, 0);
+            errln("scriptRun.reset(100, 0) did not produce an IllegalArgumentException!");
+        } catch (IllegalArgumentException iae) {
+        	logln("PASS: scriptRun.reset failed as expected");
+        }
+        
+        try {
+            scriptRun.reset(0, -100);
+            errln("scriptRun.reset(0, -100) did not produce an IllegalArgumentException!");
+        } catch (IllegalArgumentException iae) {
+        	logln("PASS: scriptRun.reset failed as expected");
+        }
+        
+        try {
+            scriptRun.reset(-100, 0);
+            errln("scriptRun.reset(-100, 0) did not produce an IllegalArgumentException!");
+        } catch (IllegalArgumentException iae) {
+        	logln("PASS: scriptRun.reset failed as expected");
+        }
+        
+        try {
+            scriptRun.reset(dummy, 0, 6);
+            errln("scriptRun.reset(dummy, 0, 6) did not produce an IllegalArgumentException!");
+        } catch (IllegalArgumentException iae) {
+        	logln("PASS: scriptRun.reset failed as expected");
+        }
+        
+        try {
+            scriptRun.reset(dummy, 6, 0);
+            errln("scriptRun.reset(dummy, 6, 0) did not produce an IllegalArgumentException!");
+        }catch (IllegalArgumentException iae) {
+        	logln("PASS: scriptRun.reset failed as expected");
+        }
+        
+        try {
+            scriptRun.reset(dummy, 0, -100);
+            errln("scriptRun.reset(dummy, 0, -100) did not produce an IllegalArgumentException!");
+        } catch (IllegalArgumentException iae) {
+        	logln("PASS: scriptRun.reset failed as expected");
+        }
+        
+        try {
+            scriptRun.reset(dummy, -100, 0);
+            errln("scriptRun.reset(dummy, -100, 0) did not produce an IllegalArgumentException!");
+        } catch (IllegalArgumentException iae) {
+        	logln("PASS: scriptRun.reset failed as expected");
+        }
+        
+        try {
+            scriptRun.reset(dummy, 0, dummy.length);
+        } catch (IllegalArgumentException iae) {
+            errln("scriptRun.reset(dummy, 0, dummy.length) produced an IllegalArgumentException!");
+        }
+        
+        
+        try {
+            scriptRun.reset(0, 6);
+            errln("scriptRun.reset(0, 6) did not produce an IllegalArgumentException!");
+        } catch (IllegalArgumentException iae) {
+        	logln("PASS: scriptRun.reset failed as expected");
+        }
+        
+        try {
+            scriptRun.reset(6, 0);
+            errln("scriptRun.reset(6, 0) did not produce an IllegalArgumentException!");
+        } catch (IllegalArgumentException iae) {
+        	logln("PASS: scriptRun.reset failed as expected");
+        }
+    }
+    
+    public void TestRuns()
+    {
+        for (int i = 0; i < testData.length; i += 1) {
+            RunTestData[] test = testData[i];
+            int stringLimit = 0;
+            int[] runStarts = new int[test.length + 1];
+            String testString = "";
+            UScriptRun scriptRun = null;
+        
+            /*
+             * Fill in the test string and the runStarts array.
+             */
+            for (int run = 0; run < test.length; run += 1) {
+                runStarts[run] = stringLimit;
+                stringLimit += test[run].runText.length();
+                testString  += test[run].runText;
+            }
+
+            /* The limit of the last run */ 
+            runStarts[test.length] = stringLimit;
+        
+            try {
+                scriptRun = new UScriptRun(testString);
+                CheckScriptRuns(scriptRun, runStarts, test);
+            } catch (IllegalArgumentException iae) {
+                errln("new UScriptRun(testString) produced an IllegalArgumentException!");
+            }
+        
+            try {
+                scriptRun.reset();
+                CheckScriptRuns(scriptRun, runStarts, test);
+            } catch (IllegalArgumentException iae) {
+                errln("scriptRun.reset() on a valid UScriptRun produced an IllegalArgumentException!");
+            }
+        
+            try {
+                scriptRun = new UScriptRun(testString.toCharArray());
+                CheckScriptRuns(scriptRun, runStarts, test);
+            } catch (IllegalArgumentException iae) {
+                errln("new UScriptRun(testString.toCharArray()) produced an IllegalArgumentException!");
+            }
+        
+            try {
+                scriptRun.reset();
+                CheckScriptRuns(scriptRun, runStarts, test);
+            } catch (IllegalArgumentException iae) {
+                errln("scriptRun.reset() on a valid UScriptRun produced an IllegalArgumentException!");
+            }
+        
+            try {
+                scriptRun = new UScriptRun();
+            
+                if (scriptRun.next()) {
+                    errln("scriptRun.next() on an empty UScriptRun returned true!");
+                }
+            } catch (IllegalArgumentException iae) {
+                errln("new UScriptRun() produced an IllegalArgumentException!");
+            }
+        
+            try {
+                scriptRun.reset(testString, 0, testString.length());
+                CheckScriptRuns(scriptRun, runStarts, test);
+            } catch (IllegalArgumentException iae) {
+                errln("scriptRun.reset(testString, 0, testString.length) produced an IllegalArgumentException!");
+            }
+
+            try {
+                scriptRun.reset(testString.toCharArray(), 0, testString.length());
+                CheckScriptRuns(scriptRun, runStarts, test);
+            } catch (IllegalArgumentException iae) {
+                errln("scriptRun.reset(testString.toCharArray(), 0, testString.length) produced an IllegalArgumentException!");
+            }
+
+            String paddedTestString = padding + testString + padding;
+            int startOffset = padding.length();
+            int count = testString.length();
+            
+            for (int run = 0; run < runStarts.length; run += 1) {
+                runStarts[run] += startOffset;
+            }
+            
+            try {
+                scriptRun.reset(paddedTestString, startOffset, count);
+                CheckScriptRuns(scriptRun, runStarts, test);
+            } catch (IllegalArgumentException iae) {
+                errln("scriptRun.reset(paddedTestString, startOffset, count) produced an IllegalArgumentException!");
+            }
+
+            try {
+                scriptRun.reset(paddedTestString.toCharArray(), startOffset, count);
+                CheckScriptRuns(scriptRun, runStarts, test);
+            } catch (IllegalArgumentException iae) {
+                errln("scriptRun.reset(paddedTestString.toCharArray(), startOffset, count) produced an IllegalArgumentException!");
+            }
+        }
+    }
+}
diff --git a/src/com/ibm/icu/dev/test/lang/UCharacterCaseTest.java b/src/com/ibm/icu/dev/test/lang/UCharacterCaseTest.java
new file mode 100644
index 0000000..ef96aba
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/lang/UCharacterCaseTest.java
@@ -0,0 +1,842 @@
+/**
+*******************************************************************************
+* Copyright (C) 1996-2005, International Business Machines Corporation and    *
+* others. All Rights Reserved.                                                *
+*******************************************************************************
+*/
+
+
+package com.ibm.icu.dev.test.lang;
+
+
+import com.ibm.icu.dev.test.TestFmwk;
+import com.ibm.icu.dev.test.TestUtil;
+import com.ibm.icu.lang.UCharacter;
+import com.ibm.icu.text.UTF16;
+import com.ibm.icu.text.BreakIterator;
+import com.ibm.icu.impl.Utility;
+import java.util.Locale;
+import java.io.BufferedReader;
+import java.util.Vector;
+
+
+/**
+* <p>Testing character casing</p>
+* <p>Mostly following the test cases in strcase.cpp for ICU</p>
+* @author Syn Wee Quek
+* @since march 14 2002
+*/
+public final class UCharacterCaseTest extends TestFmwk
+{
+    // constructor -----------------------------------------------------------
+
+    /**
+     * Constructor
+     */
+    public UCharacterCaseTest()
+    {
+    }
+
+    // public methods --------------------------------------------------------
+
+    public static void main(String[] arg)
+    {
+        try
+        {
+            UCharacterCaseTest test = new UCharacterCaseTest();
+            test.run(arg);
+        }
+        catch (Exception e)
+        {
+            e.printStackTrace();
+        }
+    }
+
+    /**
+     * Testing the uppercase and lowercase function of UCharacter
+     */
+    public void TestCharacter()
+    {
+        for (int i = 0; i < CHARACTER_LOWER_.length; i ++) {
+            if (UCharacter.isLetter(CHARACTER_LOWER_[i]) &&
+                !UCharacter.isLowerCase(CHARACTER_LOWER_[i])) {
+                errln("FAIL isLowerCase test for \\u" +
+                      hex(CHARACTER_LOWER_[i]));
+                break;
+            }
+            if (UCharacter.isLetter(CHARACTER_UPPER_[i]) &&
+                !(UCharacter.isUpperCase(CHARACTER_UPPER_[i]) ||
+                  UCharacter.isTitleCase(CHARACTER_UPPER_[i]))) {
+                errln("FAIL isUpperCase test for \\u" +
+                      hex(CHARACTER_UPPER_[i]));
+                break;
+            }
+            if (CHARACTER_LOWER_[i] !=
+                UCharacter.toLowerCase(CHARACTER_UPPER_[i]) ||
+                (CHARACTER_UPPER_[i] !=
+                UCharacter.toUpperCase(CHARACTER_LOWER_[i]) &&
+                CHARACTER_UPPER_[i] !=
+                UCharacter.toTitleCase(CHARACTER_LOWER_[i]))) {
+                errln("FAIL case conversion test for \\u" +
+                      hex(CHARACTER_UPPER_[i]) +
+                      " to \\u" + hex(CHARACTER_LOWER_[i]));
+                break;
+            }
+            if (CHARACTER_LOWER_[i] !=
+                UCharacter.toLowerCase(CHARACTER_LOWER_[i])) {
+                errln("FAIL lower case conversion test for \\u" +
+                      hex(CHARACTER_LOWER_[i]));
+                break;
+            }
+            if (CHARACTER_UPPER_[i] !=
+                UCharacter.toUpperCase(CHARACTER_UPPER_[i]) &&
+                CHARACTER_UPPER_[i] !=
+                UCharacter.toTitleCase(CHARACTER_UPPER_[i])) {
+                errln("FAIL upper case conversion test for \\u" +
+                      hex(CHARACTER_UPPER_[i]));
+                break;
+            }
+            logln("Ok    \\u" + hex(CHARACTER_UPPER_[i]) + " and \\u" +
+                  hex(CHARACTER_LOWER_[i]));
+        }
+    }
+
+    public void TestFolding()
+    {
+        // test simple case folding
+        for (int i = 0; i < FOLDING_SIMPLE_.length; i += 3) {
+            if (UCharacter.foldCase(FOLDING_SIMPLE_[i], true) !=
+                FOLDING_SIMPLE_[i + 1]) {
+                errln("FAIL: foldCase(\\u" + hex(FOLDING_SIMPLE_[i]) +
+                      ", true) should be \\u" + hex(FOLDING_SIMPLE_[i + 1]));
+            }
+            if (UCharacter.foldCase(FOLDING_SIMPLE_[i], 
+                                    UCharacter.FOLD_CASE_DEFAULT) !=
+                                                      FOLDING_SIMPLE_[i + 1]) {
+                errln("FAIL: foldCase(\\u" + hex(FOLDING_SIMPLE_[i]) +
+                      ", UCharacter.FOLD_CASE_DEFAULT) should be \\u" 
+                      + hex(FOLDING_SIMPLE_[i + 1]));
+            }
+            if (UCharacter.foldCase(FOLDING_SIMPLE_[i], false) !=
+                FOLDING_SIMPLE_[i + 2]) {
+                errln("FAIL: foldCase(\\u" + hex(FOLDING_SIMPLE_[i]) +
+                      ", false) should be \\u" + hex(FOLDING_SIMPLE_[i + 2]));
+            }
+            if (UCharacter.foldCase(FOLDING_SIMPLE_[i], 
+                                    UCharacter.FOLD_CASE_EXCLUDE_SPECIAL_I) !=
+                                    FOLDING_SIMPLE_[i + 2]) {
+                errln("FAIL: foldCase(\\u" + hex(FOLDING_SIMPLE_[i]) +
+                      ", UCharacter.FOLD_CASE_EXCLUDE_SPECIAL_I) should be \\u" 
+                      + hex(FOLDING_SIMPLE_[i + 2]));
+            }
+        }
+
+        // Test full string case folding with default option and separate
+        // buffers
+        if (!FOLDING_DEFAULT_[0].equals(UCharacter.foldCase(FOLDING_MIXED_[0], true))) {
+            errln("FAIL: foldCase(" + prettify(FOLDING_MIXED_[0]) +
+                  ", true)=" + prettify(UCharacter.foldCase(FOLDING_MIXED_[0], true)) +
+                  " should be " + prettify(FOLDING_DEFAULT_[0]));
+        }
+        
+        if (!FOLDING_DEFAULT_[0].equals(UCharacter.foldCase(FOLDING_MIXED_[0], UCharacter.FOLD_CASE_DEFAULT))) {
+                    errln("FAIL: foldCase(" + prettify(FOLDING_MIXED_[0]) +
+                          ", UCharacter.FOLD_CASE_DEFAULT)=" + prettify(UCharacter.foldCase(FOLDING_MIXED_[0], UCharacter.FOLD_CASE_DEFAULT))
+                          + " should be " + prettify(FOLDING_DEFAULT_[0]));
+                }
+
+        if (!FOLDING_EXCLUDE_SPECIAL_I_[0].equals(
+                            UCharacter.foldCase(FOLDING_MIXED_[0], false))) {
+            errln("FAIL: foldCase(" + prettify(FOLDING_MIXED_[0]) +
+                  ", false)=" + prettify(UCharacter.foldCase(FOLDING_MIXED_[0], false))
+                  + " should be " + prettify(FOLDING_EXCLUDE_SPECIAL_I_[0]));
+        }
+        
+        if (!FOLDING_EXCLUDE_SPECIAL_I_[0].equals(
+                                    UCharacter.foldCase(FOLDING_MIXED_[0], UCharacter.FOLD_CASE_EXCLUDE_SPECIAL_I))) {
+            errln("FAIL: foldCase(" + prettify(FOLDING_MIXED_[0]) +
+                  ", UCharacter.FOLD_CASE_EXCLUDE_SPECIAL_I)=" + prettify(UCharacter.foldCase(FOLDING_MIXED_[0], UCharacter.FOLD_CASE_EXCLUDE_SPECIAL_I))
+                  + " should be " + prettify(FOLDING_EXCLUDE_SPECIAL_I_[0]));
+        }
+
+        if (!FOLDING_DEFAULT_[1].equals(UCharacter.foldCase(FOLDING_MIXED_[1], true))) {
+           errln("FAIL: foldCase(" + prettify(FOLDING_MIXED_[1]) +
+                 ", true)=" + prettify(UCharacter.foldCase(FOLDING_MIXED_[1], true))
+                 + " should be " + prettify(FOLDING_DEFAULT_[1]));
+        }
+
+        if (!FOLDING_DEFAULT_[1].equals(UCharacter.foldCase(FOLDING_MIXED_[1], UCharacter.FOLD_CASE_DEFAULT))) {
+            errln("FAIL: foldCase(" + prettify(FOLDING_MIXED_[1]) +
+                         ", UCharacter.FOLD_CASE_DEFAULT)=" + prettify(UCharacter.foldCase(FOLDING_MIXED_[1], UCharacter.FOLD_CASE_DEFAULT))
+                         + " should be " + prettify(FOLDING_DEFAULT_[1]));
+        }
+        
+        // alternate handling for dotted I/dotless i (U+0130, U+0131)
+        if (!FOLDING_EXCLUDE_SPECIAL_I_[1].equals(
+                        UCharacter.foldCase(FOLDING_MIXED_[1], false))) {
+            errln("FAIL: foldCase(" + prettify(FOLDING_MIXED_[1]) +
+                  ", false)=" + prettify(UCharacter.foldCase(FOLDING_MIXED_[1], false))
+                  + " should be " + prettify(FOLDING_EXCLUDE_SPECIAL_I_[1]));
+        }
+        
+        if (!FOLDING_EXCLUDE_SPECIAL_I_[1].equals(
+                                UCharacter.foldCase(FOLDING_MIXED_[1], UCharacter.FOLD_CASE_EXCLUDE_SPECIAL_I))) {
+            errln("FAIL: foldCase(" + prettify(FOLDING_MIXED_[1]) +
+                  ", UCharacter.FOLD_CASE_EXCLUDE_SPECIAL_I)=" + prettify(UCharacter.foldCase(FOLDING_MIXED_[1], UCharacter.FOLD_CASE_EXCLUDE_SPECIAL_I))
+                  + " should be "
+                  + prettify(FOLDING_EXCLUDE_SPECIAL_I_[1]));
+        }
+    }
+
+    /**
+     * Testing the strings case mapping methods
+     */
+    public void TestUpper()
+    {
+        // uppercase with root locale and in the same buffer
+        if (!UPPER_ROOT_.equals(UCharacter.toUpperCase(UPPER_BEFORE_))) {
+            errln("Fail " + UPPER_BEFORE_ + " after uppercase should be " +
+                  UPPER_ROOT_ + " instead got " +
+                  UCharacter.toUpperCase(UPPER_BEFORE_));
+        }
+
+        // uppercase with turkish locale and separate buffers
+        if (!UPPER_TURKISH_.equals(UCharacter.toUpperCase(TURKISH_LOCALE_,
+                                                         UPPER_BEFORE_))) {
+            errln("Fail " + UPPER_BEFORE_ +
+                  " after turkish-sensitive uppercase should be " +
+                  UPPER_TURKISH_ + " instead of " +
+                  UCharacter.toUpperCase(TURKISH_LOCALE_, UPPER_BEFORE_));
+        }
+
+        // uppercase a short string with root locale
+        if (!UPPER_MINI_UPPER_.equals(UCharacter.toUpperCase(UPPER_MINI_))) {
+            errln("error in toUpper(root locale)=\"" + UPPER_MINI_ +
+                  "\" expected \"" + UPPER_MINI_UPPER_ + "\"");
+        }
+
+        if (!SHARED_UPPERCASE_TOPKAP_.equals(
+                       UCharacter.toUpperCase(SHARED_LOWERCASE_TOPKAP_))) {
+            errln("toUpper failed: expected \"" +
+                  SHARED_UPPERCASE_TOPKAP_ + "\", got \"" +
+                  UCharacter.toUpperCase(SHARED_LOWERCASE_TOPKAP_) + "\".");
+        }
+
+        if (!SHARED_UPPERCASE_TURKISH_.equals(
+                  UCharacter.toUpperCase(TURKISH_LOCALE_,
+                                         SHARED_LOWERCASE_TOPKAP_))) {
+            errln("toUpper failed: expected \"" +
+                  SHARED_UPPERCASE_TURKISH_ + "\", got \"" +
+                  UCharacter.toUpperCase(TURKISH_LOCALE_,
+                                     SHARED_LOWERCASE_TOPKAP_) + "\".");
+        }
+
+        if (!SHARED_UPPERCASE_GERMAN_.equals(
+                UCharacter.toUpperCase(GERMAN_LOCALE_,
+                                       SHARED_LOWERCASE_GERMAN_))) {
+            errln("toUpper failed: expected \"" + SHARED_UPPERCASE_GERMAN_
+                  + "\", got \"" + UCharacter.toUpperCase(GERMAN_LOCALE_,
+                                        SHARED_LOWERCASE_GERMAN_) + "\".");
+        }
+
+        if (!SHARED_UPPERCASE_GREEK_.equals(
+                UCharacter.toUpperCase(SHARED_LOWERCASE_GREEK_))) {
+            errln("toLower failed: expected \"" + SHARED_UPPERCASE_GREEK_ +
+                  "\", got \"" + UCharacter.toUpperCase(
+                                        SHARED_LOWERCASE_GREEK_) + "\".");
+        }
+    }
+
+    public void TestLower()
+    {
+        if (!LOWER_ROOT_.equals(UCharacter.toLowerCase(LOWER_BEFORE_))) {
+            errln("Fail " + LOWER_BEFORE_ + " after lowercase should be " +
+                  LOWER_ROOT_ + " instead of " +
+                  UCharacter.toLowerCase(LOWER_BEFORE_));
+        }
+
+        // lowercase with turkish locale
+        if (!LOWER_TURKISH_.equals(UCharacter.toLowerCase(TURKISH_LOCALE_,
+                                                          LOWER_BEFORE_))) {
+            errln("Fail " + LOWER_BEFORE_ +
+                  " after turkish-sensitive lowercase should be " +
+                  LOWER_TURKISH_ + " instead of " +
+                  UCharacter.toLowerCase(TURKISH_LOCALE_, LOWER_BEFORE_));
+        }
+        if (!SHARED_LOWERCASE_ISTANBUL_.equals(
+                     UCharacter.toLowerCase(SHARED_UPPERCASE_ISTANBUL_))) {
+            errln("1. toLower failed: expected \"" +
+                  SHARED_LOWERCASE_ISTANBUL_ + "\", got \"" +
+              UCharacter.toLowerCase(SHARED_UPPERCASE_ISTANBUL_) + "\".");
+        }
+
+        if (!SHARED_LOWERCASE_TURKISH_.equals(
+                UCharacter.toLowerCase(TURKISH_LOCALE_,
+                                       SHARED_UPPERCASE_ISTANBUL_))) {
+            errln("2. toLower failed: expected \"" +
+                  SHARED_LOWERCASE_TURKISH_ + "\", got \"" +
+                  UCharacter.toLowerCase(TURKISH_LOCALE_,
+                                SHARED_UPPERCASE_ISTANBUL_) + "\".");
+        }
+        if (!SHARED_LOWERCASE_GREEK_.equals(
+                UCharacter.toLowerCase(GREEK_LOCALE_,
+                                       SHARED_UPPERCASE_GREEK_))) {
+            errln("toLower failed: expected \"" + SHARED_LOWERCASE_GREEK_ +
+                  "\", got \"" + UCharacter.toLowerCase(GREEK_LOCALE_,
+                                        SHARED_UPPERCASE_GREEK_) + "\".");
+        }
+    }
+
+    public void TestTitle()
+    {
+         try{ 
+              BreakIterator TITLE_BREAKITERATORS_[] =
+              {
+                BreakIterator.getCharacterInstance(),
+                BreakIterator.getWordInstance(),
+                BreakIterator.getTitleInstance(),
+                BreakIterator.getCharacterInstance(),
+                null,
+                null
+              };
+            for (int i = 0; i < TITLE_BREAKITERATORS_.length; i ++) {
+                String test = TITLE_DATA_[i << 1];
+                String expected = TITLE_DATA_[(i << 1) + 1];
+                if (!expected.equals(
+                    UCharacter.toTitleCase(test,
+                                           TITLE_BREAKITERATORS_[i]))) {
+                    errln("error: titlecasing for " + prettify(test) + " should be " +
+                          prettify(expected) + " but got " +
+                          prettify(UCharacter.toTitleCase(test,
+                                                     TITLE_BREAKITERATORS_[i])));
+                }
+                //cover toTitleCase(Locale, String, BreakIterator)
+                Locale def = Locale.getDefault();
+                String data = TITLE_DATA_[i << 1];
+                if (!expected.equals(
+                    UCharacter.toTitleCase(def, data,
+                                           TITLE_BREAKITERATORS_[i]))) {
+                    errln("error: titlecasing for " + prettify(data) + " should be " +
+                          prettify(expected) + " but got " +
+                          prettify(UCharacter.toTitleCase(def, data,
+                                                     TITLE_BREAKITERATORS_[i])));
+                }                
+            }
+         }catch(Exception ex){
+            warnln("Could not find data for BreakIterators");
+         }catch(InternalError e){
+            warnln("Could not find data for BreakIterators");
+         }
+    }
+
+    public void TestSpecial()
+    {
+        for (int i = 0; i < SPECIAL_LOCALES_.length; i ++) {
+            int    j      = i * 3;
+            Locale locale = SPECIAL_LOCALES_[i];
+            String str    = SPECIAL_DATA_[j];
+            if (locale != null) {
+                if (!SPECIAL_DATA_[j + 1].equals(
+                     UCharacter.toLowerCase(locale, str))) {
+                    errln("error lowercasing special characters " +
+                        hex(str) + " expected " + hex(SPECIAL_DATA_[j + 1])
+                        + " for locale " + locale.toString() + " but got " +
+                        hex(UCharacter.toLowerCase(locale, str)));
+                }
+                if (!SPECIAL_DATA_[j + 2].equals(
+                     UCharacter.toUpperCase(locale, str))) {
+                    errln("error uppercasing special characters " +
+                        hex(str) + " expected " + SPECIAL_DATA_[j + 2]
+                        + " for locale " + locale.toString() + " but got " +
+                        hex(UCharacter.toUpperCase(locale, str)));
+                }
+            }
+            else {
+                if (!SPECIAL_DATA_[j + 1].equals(
+                     UCharacter.toLowerCase(str))) {
+                    errln("error lowercasing special characters " +
+                        hex(str) + " expected " + SPECIAL_DATA_[j + 1] +
+                        " but got " +
+                        hex(UCharacter.toLowerCase(locale, str)));
+                }
+                if (!SPECIAL_DATA_[j + 2].equals(
+                     UCharacter.toUpperCase(locale, str))) {
+                    errln("error uppercasing special characters " +
+                        hex(str) + " expected " + SPECIAL_DATA_[j + 2] +
+                        " but got " +
+                        hex(UCharacter.toUpperCase(locale, str)));
+                }
+            }
+        }
+
+        // turkish & azerbaijani dotless i & dotted I
+        // remove dot above if there was a capital I before and there are no
+        // more accents above
+        if (!SPECIAL_DOTTED_LOWER_TURKISH_.equals(UCharacter.toLowerCase(
+                                        TURKISH_LOCALE_, SPECIAL_DOTTED_))) {
+            errln("error in dots.toLower(tr)=\"" + SPECIAL_DOTTED_ +
+                  "\" expected \"" + SPECIAL_DOTTED_LOWER_TURKISH_ +
+                  "\" but got " + UCharacter.toLowerCase(TURKISH_LOCALE_,
+                                                         SPECIAL_DOTTED_));
+        }
+        if (!SPECIAL_DOTTED_LOWER_GERMAN_.equals(UCharacter.toLowerCase(
+                                             GERMAN_LOCALE_, SPECIAL_DOTTED_))) {
+            errln("error in dots.toLower(de)=\"" + SPECIAL_DOTTED_ +
+                  "\" expected \"" + SPECIAL_DOTTED_LOWER_GERMAN_ +
+                  "\" but got " + UCharacter.toLowerCase(GERMAN_LOCALE_,
+                                                         SPECIAL_DOTTED_));
+        }
+
+        // lithuanian dot above in uppercasing
+        if (!SPECIAL_DOT_ABOVE_UPPER_LITHUANIAN_.equals(
+             UCharacter.toUpperCase(LITHUANIAN_LOCALE_, SPECIAL_DOT_ABOVE_))) {
+            errln("error in dots.toUpper(lt)=\"" + SPECIAL_DOT_ABOVE_ +
+                  "\" expected \"" + SPECIAL_DOT_ABOVE_UPPER_LITHUANIAN_ +
+                  "\" but got " + UCharacter.toUpperCase(LITHUANIAN_LOCALE_,
+                                                         SPECIAL_DOT_ABOVE_));
+        }
+        if (!SPECIAL_DOT_ABOVE_UPPER_GERMAN_.equals(UCharacter.toUpperCase(
+                                        GERMAN_LOCALE_, SPECIAL_DOT_ABOVE_))) {
+            errln("error in dots.toUpper(de)=\"" + SPECIAL_DOT_ABOVE_ +
+                  "\" expected \"" + SPECIAL_DOT_ABOVE_UPPER_GERMAN_ +
+                  "\" but got " + UCharacter.toUpperCase(GERMAN_LOCALE_,
+                                                         SPECIAL_DOT_ABOVE_));
+        }
+
+        // lithuanian adds dot above to i in lowercasing if there are more
+        // above accents
+        if (!SPECIAL_DOT_ABOVE_LOWER_LITHUANIAN_.equals(
+            UCharacter.toLowerCase(LITHUANIAN_LOCALE_,
+                                   SPECIAL_DOT_ABOVE_UPPER_))) {
+            errln("error in dots.toLower(lt)=\"" + SPECIAL_DOT_ABOVE_UPPER_ +
+                  "\" expected \"" + SPECIAL_DOT_ABOVE_LOWER_LITHUANIAN_ +
+                  "\" but got " + UCharacter.toLowerCase(LITHUANIAN_LOCALE_,
+                                                   SPECIAL_DOT_ABOVE_UPPER_));
+        }
+        if (!SPECIAL_DOT_ABOVE_LOWER_GERMAN_.equals(
+            UCharacter.toLowerCase(GERMAN_LOCALE_,
+                                   SPECIAL_DOT_ABOVE_UPPER_))) {
+            errln("error in dots.toLower(de)=\"" + SPECIAL_DOT_ABOVE_UPPER_ +
+                  "\" expected \"" + SPECIAL_DOT_ABOVE_LOWER_GERMAN_ +
+                  "\" but got " + UCharacter.toLowerCase(GERMAN_LOCALE_,
+                                                   SPECIAL_DOT_ABOVE_UPPER_));
+        }
+    }
+
+    /**
+     * Tests for case mapping in the file SpecialCasing.txt
+     * This method reads in SpecialCasing.txt file for testing purposes.
+     * A default path is provided relative to the src path, however the user
+     * could set a system property to change the directory path.<br>
+     * e.g. java -DUnicodeData="data_dir_path" com.ibm.dev.test.lang.UCharacterTest
+     */
+    public void TestSpecialCasingTxt()
+    {
+        try
+        {
+            // reading in the SpecialCasing file
+            BufferedReader input = TestUtil.getDataReader(
+                                                  "unicode/SpecialCasing.txt");
+            while (true)
+            {
+                String s = input.readLine();
+                if (s == null) {
+                    break;
+                }
+                if (s.length() == 0 || s.charAt(0) == '#') {
+                    continue;
+                }
+
+                String chstr[] = getUnicodeStrings(s);
+                StringBuffer strbuffer   = new StringBuffer(chstr[0]);
+                StringBuffer lowerbuffer = new StringBuffer(chstr[1]);
+                StringBuffer upperbuffer = new StringBuffer(chstr[3]);
+                Locale locale = null;
+                for (int i = 4; i < chstr.length; i ++) {
+                    String condition = chstr[i];
+                    if (Character.isLowerCase(chstr[i].charAt(0))) {
+                        // specified locale
+                        locale = new Locale(chstr[i], "");
+                    }
+                    else if (condition.compareToIgnoreCase("Not_Before_Dot")
+                                                      == 0) {
+                        // turns I into dotless i
+                    }
+                    else if (condition.compareToIgnoreCase(
+                                                      "More_Above") == 0) {
+                            strbuffer.append((char)0x300);
+                            lowerbuffer.append((char)0x300);
+                            upperbuffer.append((char)0x300);
+                    }
+                    else if (condition.compareToIgnoreCase(
+                                                "After_Soft_Dotted") == 0) {
+                            strbuffer.insert(0, 'i');
+                            lowerbuffer.insert(0, 'i');
+                            String lang = "";
+                            if (locale != null) {
+                                lang = locale.getLanguage();
+                            }
+                            if (lang.equals("tr") || lang.equals("az")) {
+                                // this is to be removed when 4.0 data comes out
+                                // and upperbuffer.insert uncommented
+                                // see jitterbug 2344
+                                chstr[i] = "After_I";
+                                strbuffer.deleteCharAt(0);
+                                lowerbuffer.deleteCharAt(0);
+                                i --;
+                                continue;
+                                // upperbuffer.insert(0, '\u0130');
+                            }
+                            else {
+                                upperbuffer.insert(0, 'I');
+                            }
+                    }
+                    else if (condition.compareToIgnoreCase(
+                                                      "Final_Sigma") == 0) {
+                            strbuffer.insert(0, 'c');
+                            lowerbuffer.insert(0, 'c');
+                            upperbuffer.insert(0, 'C');
+                    }
+                    else if (condition.compareToIgnoreCase("After_I") == 0) {
+                            strbuffer.insert(0, 'I');
+                            lowerbuffer.insert(0, 'i');
+                            String lang = "";
+                            if (locale != null) {
+                                lang = locale.getLanguage();
+                            }
+                            if (lang.equals("tr") || lang.equals("az")) {
+                                upperbuffer.insert(0, 'I');
+                            }
+                    }
+                }
+                chstr[0] = strbuffer.toString();
+                chstr[1] = lowerbuffer.toString();
+                chstr[3] = upperbuffer.toString();
+                if (locale == null) {
+                    if (!UCharacter.toLowerCase(chstr[0]).equals(chstr[1])) {
+                        errln(s);
+                        errln("Fail: toLowerCase for character " +
+                              Utility.escape(chstr[0]) + ", expected "
+                              + Utility.escape(chstr[1]) + " but resulted in " +
+                              Utility.escape(UCharacter.toLowerCase(chstr[0])));
+                    }
+                    if (!UCharacter.toUpperCase(chstr[0]).equals(chstr[3])) {
+                        errln(s);
+                        errln("Fail: toUpperCase for character " +
+                              Utility.escape(chstr[0]) + ", expected "
+                              + Utility.escape(chstr[3]) + " but resulted in " +
+                              Utility.escape(UCharacter.toUpperCase(chstr[0])));
+                    }
+                }
+                else {
+                    if (!UCharacter.toLowerCase(locale, chstr[0]).equals(
+                                                                   chstr[1])) {
+                        errln(s);
+                        errln("Fail: toLowerCase for character " +
+                              Utility.escape(chstr[0]) + ", expected "
+                              + Utility.escape(chstr[1]) + " but resulted in " +
+                              Utility.escape(UCharacter.toLowerCase(locale,
+                                                                    chstr[0])));
+                    }
+                    if (!UCharacter.toUpperCase(locale, chstr[0]).equals(
+                                                                   chstr[3])) {
+                        errln(s);
+                        errln("Fail: toUpperCase for character " +
+                              Utility.escape(chstr[0]) + ", expected "
+                              + Utility.escape(chstr[3]) + " but resulted in " +
+                              Utility.escape(UCharacter.toUpperCase(locale,
+                                                                    chstr[0])));
+                    }
+                }
+            }
+            input.close();
+        }
+        catch (Exception e)
+        {
+          e.printStackTrace();
+        }
+    }
+
+    public void TestUpperLower()
+    {
+        int upper[] = {0x0041, 0x0042, 0x00b2, 0x01c4, 0x01c6, 0x01c9, 0x01c8,
+                        0x01c9, 0x000c};
+        int lower[] = {0x0061, 0x0062, 0x00b2, 0x01c6, 0x01c6, 0x01c9, 0x01c9,
+                        0x01c9, 0x000c};
+        String upperTest = "abcdefg123hij.?:klmno";
+        String lowerTest = "ABCDEFG123HIJ.?:KLMNO";
+
+        // Checks LetterLike Symbols which were previously a source of
+        // confusion [Bertrand A. D. 02/04/98]
+        for (int i = 0x2100; i < 0x2138; i ++) {
+            if (i != 0x2126 && i != 0x212a && i != 0x212b) {
+                if (i != UCharacter.toLowerCase(i)) { // itself
+                    errln("Failed case conversion with itself: \\u"
+                            + Utility.hex(i, 4));
+                }
+                if (i != UCharacter.toUpperCase(i)) {
+                    errln("Failed case conversion with itself: \\u"
+                            + Utility.hex(i, 4));
+                }
+            }
+        }
+        for (int i = 0; i < upper.length; i ++) {
+            if (UCharacter.toLowerCase(upper[i]) != lower[i]) {
+                errln("FAILED UCharacter.tolower() for \\u"
+                        + Utility.hex(upper[i], 4)
+                        + " Expected \\u" + Utility.hex(lower[i], 4)
+                        + " Got \\u"
+                        + Utility.hex(UCharacter.toLowerCase(upper[i]), 4));
+            }
+        }
+        logln("testing upper lower");
+        for (int i = 0; i < upperTest.length(); i ++) {
+            logln("testing to upper to lower");
+            if (UCharacter.isLetter(upperTest.charAt(i)) &&
+                !UCharacter.isLowerCase(upperTest.charAt(i))) {
+                errln("Failed isLowerCase test at \\u"
+                        + Utility.hex(upperTest.charAt(i), 4));
+            }
+            else if (UCharacter.isLetter(lowerTest.charAt(i))
+                     && !UCharacter.isUpperCase(lowerTest.charAt(i))) {
+                errln("Failed isUpperCase test at \\u"
+                      + Utility.hex(lowerTest.charAt(i), 4));
+            }
+            else if (upperTest.charAt(i)
+                            != UCharacter.toLowerCase(lowerTest.charAt(i))) {
+                errln("Failed case conversion from \\u"
+                        + Utility.hex(lowerTest.charAt(i), 4) + " To \\u"
+                        + Utility.hex(upperTest.charAt(i), 4));
+            }
+            else if (lowerTest.charAt(i)
+                    != UCharacter.toUpperCase(upperTest.charAt(i))) {
+                errln("Failed case conversion : \\u"
+                        + Utility.hex(upperTest.charAt(i), 4) + " To \\u"
+                        + Utility.hex(lowerTest.charAt(i), 4));
+            }
+            else if (upperTest.charAt(i)
+                    != UCharacter.toLowerCase(upperTest.charAt(i))) {
+                errln("Failed case conversion with itself: \\u"
+                        + Utility.hex(upperTest.charAt(i)));
+            }
+            else if (lowerTest.charAt(i)
+                    != UCharacter.toUpperCase(lowerTest.charAt(i))) {
+                errln("Failed case conversion with itself: \\u"
+                        + Utility.hex(lowerTest.charAt(i)));
+            }
+        }
+        logln("done testing upper Lower");
+    }
+
+    // private data members - test data --------------------------------------
+
+    private static final Locale TURKISH_LOCALE_ = new Locale("tr", "TR");
+    private static final Locale GERMAN_LOCALE_ = new Locale("de", "DE");
+    private static final Locale GREEK_LOCALE_ = new Locale("el", "GR");
+    private static final Locale ENGLISH_LOCALE_ = new Locale("en", "US");
+    private static final Locale LITHUANIAN_LOCALE_ = new Locale("lt", "LT");
+
+    private static final int CHARACTER_UPPER_[] =
+                      {0x41, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,
+                       0x00b1, 0x00b2, 0xb3, 0x0048, 0x0049, 0x004a, 0x002e,
+                       0x003f, 0x003a, 0x004b, 0x004c, 0x4d, 0x004e, 0x004f,
+                       0x01c4, 0x01c8, 0x000c, 0x0000};
+    private static final int CHARACTER_LOWER_[] =
+                      {0x61, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,
+                       0x00b1, 0x00b2, 0xb3, 0x0068, 0x0069, 0x006a, 0x002e,
+                       0x003f, 0x003a, 0x006b, 0x006c, 0x6d, 0x006e, 0x006f,
+                       0x01c6, 0x01c9, 0x000c, 0x0000};
+
+    /*
+     * CaseFolding.txt says about i and its cousins:
+     *   0049; C; 0069; # LATIN CAPITAL LETTER I
+     *   0049; T; 0131; # LATIN CAPITAL LETTER I
+     *
+     *   0130; F; 0069 0307; # LATIN CAPITAL LETTER I WITH DOT ABOVE
+     *   0130; T; 0069; # LATIN CAPITAL LETTER I WITH DOT ABOVE
+     * That's all.
+     * See CaseFolding.txt and the Unicode Standard for how to apply the case foldings.
+     */
+    private static final int FOLDING_SIMPLE_[] = {
+        // input, default, exclude special i
+        0x61,   0x61,  0x61,
+        0x49,   0x69,  0x131,
+        0x130,  0x130, 0x69,
+        0x131,  0x131, 0x131,
+        0xdf,   0xdf,  0xdf,
+        0xfb03, 0xfb03, 0xfb03,
+        0x1040e,0x10436,0x10436,
+        0x5ffff,0x5ffff,0x5ffff
+    };
+    private static final String FOLDING_MIXED_[] =
+                          {"\u0061\u0042\u0130\u0049\u0131\u03d0\u00df\ufb03\ud93f\udfff",
+                           "A\u00df\u00b5\ufb03\uD801\uDC0C\u0130\u0131"};
+    private static final String FOLDING_DEFAULT_[] =
+         {"\u0061\u0062\u0069\u0307\u0069\u0131\u03b2\u0073\u0073\u0066\u0066\u0069\ud93f\udfff",
+          "ass\u03bcffi\uD801\uDC34i\u0307\u0131"};
+    private static final String FOLDING_EXCLUDE_SPECIAL_I_[] =
+         {"\u0061\u0062\u0069\u0131\u0131\u03b2\u0073\u0073\u0066\u0066\u0069\ud93f\udfff",
+          "ass\u03bcffi\uD801\uDC34i\u0131"};
+    /**
+     * "IESUS CHRISTOS"
+     */
+    private static final String SHARED_UPPERCASE_GREEK_ =
+        "\u0399\u0395\u03a3\u03a5\u03a3\u0020\u03a7\u03a1\u0399\u03a3\u03a4\u039f\u03a3";
+    /**
+     * "iesus christos"
+     */
+    private static final String SHARED_LOWERCASE_GREEK_ =
+        "\u03b9\u03b5\u03c3\u03c5\u03c2\u0020\u03c7\u03c1\u03b9\u03c3\u03c4\u03bf\u03c2";
+    private static final String SHARED_LOWERCASE_TURKISH_ =
+        "\u0069\u0073\u0074\u0061\u006e\u0062\u0075\u006c\u002c\u0020\u006e\u006f\u0074\u0020\u0063\u006f\u006e\u0073\u0074\u0061\u006e\u0074\u0131\u006e\u006f\u0070\u006c\u0065\u0021";
+    private static final String SHARED_UPPERCASE_TURKISH_ =
+        "\u0054\u004f\u0050\u004b\u0041\u0050\u0049\u0020\u0050\u0041\u004c\u0041\u0043\u0045\u002c\u0020\u0130\u0053\u0054\u0041\u004e\u0042\u0055\u004c";
+    private static final String SHARED_UPPERCASE_ISTANBUL_ =
+                                          "\u0130STANBUL, NOT CONSTANTINOPLE!";
+    private static final String SHARED_LOWERCASE_ISTANBUL_ =
+                                          "i\u0307stanbul, not constantinople!";
+    private static final String SHARED_LOWERCASE_TOPKAP_ =
+                                          "topkap\u0131 palace, istanbul";
+    private static final String SHARED_UPPERCASE_TOPKAP_ =
+                                          "TOPKAPI PALACE, ISTANBUL";
+    private static final String SHARED_LOWERCASE_GERMAN_ =
+                                          "S\u00FC\u00DFmayrstra\u00DFe";
+    private static final String SHARED_UPPERCASE_GERMAN_ =
+                                          "S\u00DCSSMAYRSTRASSE";
+
+    private static final String UPPER_BEFORE_ =
+         "\u0061\u0042\u0069\u03c2\u00df\u03c3\u002f\ufb03\ufb03\ufb03\ud93f\udfff";
+    private static final String UPPER_ROOT_ =
+         "\u0041\u0042\u0049\u03a3\u0053\u0053\u03a3\u002f\u0046\u0046\u0049\u0046\u0046\u0049\u0046\u0046\u0049\ud93f\udfff";
+    private static final String UPPER_TURKISH_ =
+         "\u0041\u0042\u0130\u03a3\u0053\u0053\u03a3\u002f\u0046\u0046\u0049\u0046\u0046\u0049\u0046\u0046\u0049\ud93f\udfff";
+    private static final String UPPER_MINI_ = "\u00df\u0061";
+    private static final String UPPER_MINI_UPPER_ = "\u0053\u0053\u0041";
+
+    private static final String LOWER_BEFORE_ =
+                      "\u0061\u0042\u0049\u03a3\u00df\u03a3\u002f\ud93f\udfff";
+    private static final String LOWER_ROOT_ =
+                      "\u0061\u0062\u0069\u03c3\u00df\u03c2\u002f\ud93f\udfff";
+    private static final String LOWER_TURKISH_ = 
+                      "\u0061\u0062\u0131\u03c3\u00df\u03c2\u002f\ud93f\udfff";
+
+    /**
+     * each item is an array with input string, result string, locale
+     */
+    private static final String TITLE_DATA_[] = {
+        "\u0061\u0042\u0020\u0069\u03c2\u0020\u00df\u03c3\u002f\ufb03\ud93f\udfff",
+        "\u0041\u0042\u0020\u0049\u03a3\u0020\u0053\u0073\u03a3\u002f\u0046\u0066\u0069\ud93f\udfff",
+        
+        "\u0061\u0042\u0020\u0069\u03c2\u0020\u00df\u03c3\u002f\ufb03\ud93f\udfff",
+        "\u0041\u0062\u0020\u0049\u03c2\u0020\u0053\u0073\u03c3\u002f\u0046\u0066\u0069\ud93f\udfff",
+        
+        " tHe QUIcK bRoWn", " The Quick Brown",
+        
+        "\u01c4\u01c5\u01c6\u01c7\u01c8\u01c9\u01ca\u01cb\u01cc", 
+        "\u01c5\u01c5\u01c5\u01c8\u01c8\u01c8\u01cb\u01cb\u01cb", // UBRK_CHARACTER
+        
+        "\u01c9ubav ljubav", "\u01c8ubav Ljubav", // Lj vs. L+j
+        
+        "'oH dOn'T tItLeCaSe AfTeR lEtTeR+'",  "'Oh Don't Titlecase After Letter+'"
+
+    };
+
+
+    /**
+     * <p>basic string, lower string, upper string, title string</p>
+     */
+    private static final String SPECIAL_DATA_[] = {
+        UTF16.valueOf(0x1043C) + UTF16.valueOf(0x10414),
+        UTF16.valueOf(0x1043C) + UTF16.valueOf(0x1043C),
+        UTF16.valueOf(0x10414) + UTF16.valueOf(0x10414),
+        "ab'cD \uFB00i\u0131I\u0130 \u01C7\u01C8\u01C9 " +
+                         UTF16.valueOf(0x1043C) + UTF16.valueOf(0x10414),
+        "ab'cd \uFB00i\u0131ii\u0307 \u01C9\u01C9\u01C9 " +
+                              UTF16.valueOf(0x1043C) + UTF16.valueOf(0x1043C),
+        "AB'CD FFIII\u0130 \u01C7\u01C7\u01C7 " +
+                              UTF16.valueOf(0x10414) + UTF16.valueOf(0x10414),
+        // sigmas followed/preceded by cased letters
+        "i\u0307\u03a3\u0308j \u0307\u03a3\u0308j i\u00ad\u03a3\u0308 \u0307\u03a3\u0308 ",
+        "i\u0307\u03c3\u0308j \u0307\u03c3\u0308j i\u00ad\u03c2\u0308 \u0307\u03c3\u0308 ",
+        "I\u0307\u03a3\u0308J \u0307\u03a3\u0308J I\u00ad\u03a3\u0308 \u0307\u03a3\u0308 "
+    };
+    private static final Locale SPECIAL_LOCALES_[] = {
+        null,
+        ENGLISH_LOCALE_,
+        null,
+    };
+
+    private static final String SPECIAL_DOTTED_ =
+            "I \u0130 I\u0307 I\u0327\u0307 I\u0301\u0307 I\u0327\u0307\u0301";
+    private static final String SPECIAL_DOTTED_LOWER_TURKISH_ =
+            "\u0131 i i i\u0327 \u0131\u0301\u0307 i\u0327\u0301";
+    private static final String SPECIAL_DOTTED_LOWER_GERMAN_ =
+            "i i\u0307 i\u0307 i\u0327\u0307 i\u0301\u0307 i\u0327\u0307\u0301";
+    private static final String SPECIAL_DOT_ABOVE_ =
+            "a\u0307 \u0307 i\u0307 j\u0327\u0307 j\u0301\u0307";
+    private static final String SPECIAL_DOT_ABOVE_UPPER_LITHUANIAN_ =
+            "A\u0307 \u0307 I J\u0327 J\u0301\u0307";
+    private static final String SPECIAL_DOT_ABOVE_UPPER_GERMAN_ =
+            "A\u0307 \u0307 I\u0307 J\u0327\u0307 J\u0301\u0307";
+    private static final String SPECIAL_DOT_ABOVE_UPPER_ =
+            "I I\u0301 J J\u0301 \u012e \u012e\u0301 \u00cc\u00cd\u0128";
+    private static final String SPECIAL_DOT_ABOVE_LOWER_LITHUANIAN_ =
+            "i i\u0307\u0301 j j\u0307\u0301 \u012f \u012f\u0307\u0301 i\u0307\u0300i\u0307\u0301i\u0307\u0303";
+    private static final String SPECIAL_DOT_ABOVE_LOWER_GERMAN_ =
+            "i i\u0301 j j\u0301 \u012f \u012f\u0301 \u00ec\u00ed\u0129";
+
+    // private methods -------------------------------------------------------
+
+    /**
+     * Converting the hex numbers represented betwee                             n ';' to Unicode strings
+     * @param str string to break up into Unicode strings
+     * @return array of Unicode strings ending with a null
+     */
+    private String[] getUnicodeStrings(String str)
+    {
+        Vector v = new Vector(10);
+        int start = 0;
+        for (int casecount = 4; casecount > 0; casecount --) {
+            int end = str.indexOf("; ", start);
+            String casestr = str.substring(start, end);
+            StringBuffer buffer = new StringBuffer();
+            int spaceoffset = 0;
+            while (spaceoffset < casestr.length()) {
+                int nextspace = casestr.indexOf(' ', spaceoffset);
+                if (nextspace == -1) {
+                    nextspace = casestr.length();
+                }
+                buffer.append((char)Integer.parseInt(
+                                     casestr.substring(spaceoffset, nextspace),
+                                                      16));
+                spaceoffset = nextspace + 1;
+            }
+            start = end + 2;
+            v.add(buffer.toString());
+        }
+        int comments = str.indexOf(" #", start);
+        if (comments != -1 && comments != start) {
+            if (str.charAt(comments - 1) == ';') {
+                comments --;
+            }
+            String conditions = str.substring(start, comments);
+            int offset = 0;
+            while (offset < conditions.length()) {
+                int spaceoffset = conditions.indexOf(' ', offset);
+                if (spaceoffset == -1) {
+                    spaceoffset = conditions.length();
+                }
+                v.add(conditions.substring(offset, spaceoffset));
+                offset = spaceoffset + 1;
+            }
+        }
+        int size = v.size();
+        String result[] = new String[size];
+        for (int i = 0; i < size; i ++) {
+            result[i] = (String)v.elementAt(i);
+        }
+        return result;
+    }
+}
+
+
diff --git a/src/com/ibm/icu/dev/test/lang/UCharacterCategoryTest.java b/src/com/ibm/icu/dev/test/lang/UCharacterCategoryTest.java
new file mode 100644
index 0000000..3ed1c76
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/lang/UCharacterCategoryTest.java
@@ -0,0 +1,86 @@
+/**
+*******************************************************************************
+* Copyright (C) 1996-2004, International Business Machines Corporation and    *
+* others. All Rights Reserved.                                                *
+*******************************************************************************
+*/
+package com.ibm.icu.dev.test.lang;
+import com.ibm.icu.dev.test.TestFmwk;
+import com.ibm.icu.lang.UCharacterCategory;
+
+/**
+* Testing UCharacterCategory
+* @author Syn Wee Quek
+* @since April 02 2002
+*/
+public class UCharacterCategoryTest extends TestFmwk
+{
+    // constructor -----------------------------------------------------------
+    
+    /**
+    * Private constructor to prevent initialisation
+    */
+    public UCharacterCategoryTest()
+    {
+    }
+    
+      // public methods --------------------------------------------------------
+      
+    public static void main(String[] arg)  
+    {
+        try
+        {
+              UCharacterCategoryTest test = new UCharacterCategoryTest();
+              test.run(arg);
+        }
+        catch (Exception e)
+        {
+              e.printStackTrace();
+        }
+    }
+    
+    /**
+    * Gets the name of the argument category
+    * @return category name
+    */
+    public void TestToString()
+    {
+          String name[] = {"Unassigned",
+                           "Letter, Uppercase",
+                           "Letter, Lowercase",
+                           "Letter, Titlecase",
+                           "Letter, Modifier",
+                           "Letter, Other",
+                           "Mark, Non-Spacing",
+                           "Mark, Enclosing",
+                           "Mark, Spacing Combining",
+                           "Number, Decimal Digit",
+                           "Number, Letter",
+                           "Number, Other",
+                           "Separator, Space",
+                           "Separator, Line",
+                           "Separator, Paragraph",
+                           "Other, Control",
+                           "Other, Format",
+                           "Other, Private Use",
+                           "Other, Surrogate",
+                           "Punctuation, Dash",
+                           "Punctuation, Open",
+                           "Punctuation, Close",
+                           "Punctuation, Connector",
+                           "Punctuation, Other",
+                           "Symbol, Math",
+                           "Symbol, Currency",
+                           "Symbol, Modifier",
+                           "Symbol, Other", 
+                           "Punctuation, Initial quote",
+                           "Punctuation, Final quote"};
+        for (int i = UCharacterCategory.UNASSIGNED; 
+                 i < UCharacterCategory.CHAR_CATEGORY_COUNT; i ++) {
+             if (!UCharacterCategory.toString(i).equals(name[i])) {
+                 errln("Error toString for category " + i + " expected " +
+                       name[i]);
+             }
+        }
+    }
+}
diff --git a/src/com/ibm/icu/dev/test/lang/UCharacterCompare.java b/src/com/ibm/icu/dev/test/lang/UCharacterCompare.java
new file mode 100755
index 0000000..91f81bf
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/lang/UCharacterCompare.java
@@ -0,0 +1,309 @@
+/**
+*******************************************************************************
+* Copyright (C) 1996-2004, International Business Machines Corporation and    *
+* others. All Rights Reserved.                                                *
+*******************************************************************************
+*/
+
+package com.ibm.icu.dev.test.lang;
+
+import com.ibm.icu.lang.UCharacter;
+import com.ibm.icu.lang.UCharacterCategory;
+import java.io.FileWriter;
+import java.io.PrintWriter;
+import java.util.Hashtable;
+import java.util.Enumeration;
+
+/**
+* A class to compare the difference in methods between java.lang.Character and
+* UCharacter
+* @author Syn Wee Quek
+* @since oct 06 2000
+* @see com.ibm.icu.lang.UCharacter
+*/
+
+public final class UCharacterCompare
+{ 
+  // private variables ================================================
+  
+  private static Hashtable m_hashtable_ = new Hashtable();
+  
+  // public methods ======================================================
+  
+  /**
+  * Main testing method
+  */
+  public static void main(String arg[])
+  {
+      System.out.println("Starting character compare");
+    try
+    {
+      FileWriter f;
+      if (arg.length == 0)
+        f = new FileWriter("compare.txt");
+      else
+        f = new FileWriter(arg[0]);
+      PrintWriter p = new PrintWriter(f);
+      p.print("char  character name                                                           ");
+      p.println("method name               ucharacter character");
+      for (char i = Character.MIN_VALUE; i < Character.MAX_VALUE; i ++)
+      {
+          System.out.println("character \\u" + Integer.toHexString(i));
+        if (UCharacter.isDefined(i) != Character.isDefined(i))
+          trackDifference(p, i, "isDefined()", "" + UCharacter.isDefined(i), 
+                          "" + Character.isDefined(i));
+        else
+        {
+          if (UCharacter.digit(i, 10) != Character.digit(i, 10))
+            trackDifference(p, i, "digit()", "" + UCharacter.digit(i, 10),
+                            "" + Character.digit(i, 10));
+          if (UCharacter.getNumericValue(i) != Character.getNumericValue(i))
+            trackDifference(p, i, "getNumericValue()", 
+                            "" + UCharacter.getNumericValue(i),
+                            "" + Character.getNumericValue(i));
+          if (!compareType(UCharacter.getType(i), Character.getType(i)))
+            trackDifference(p, i, "getType()", "" + UCharacter.getType(i),
+                            "" + Character.getType(i));
+          if (UCharacter.isDigit(i) != Character.isDigit(i))
+            trackDifference(p, i, "isDigit()",
+                            "" + UCharacter.isDigit(i), 
+                            "" + Character.isDigit(i));
+          if (UCharacter.isISOControl(i) != Character.isISOControl(i))
+            trackDifference(p, i, "isISOControl()", 
+                            "" + UCharacter.isISOControl(i),
+                            "" + Character.isISOControl(i));
+          if (UCharacter.isLetter(i) != Character.isLetter(i))
+            trackDifference(p, i, "isLetter()", "" + UCharacter.isLetter(i),
+                            "" + Character.isLetter(i));
+          if (UCharacter.isLetterOrDigit(i) != Character.isLetterOrDigit(i))
+            trackDifference(p, i, "isLetterOrDigit()", 
+                            "" + UCharacter.isLetterOrDigit(i),
+                            "" + Character.isLetterOrDigit(i));
+          if (UCharacter.isLowerCase(i) != Character.isLowerCase(i))
+            trackDifference(p, i, "isLowerCase()", 
+                            "" + UCharacter.isLowerCase(i),
+                            "" + Character.isLowerCase(i));
+          if (UCharacter.isWhitespace(i) != Character.isWhitespace(i))
+            trackDifference(p, i, "isWhitespace()", 
+                            "" + UCharacter.isWhitespace(i),
+                            "" + Character.isWhitespace(i));
+          if (UCharacter.isSpaceChar(i) != Character.isSpaceChar(i))
+            trackDifference(p, i, "isSpaceChar()", 
+                            "" + UCharacter.isSpaceChar(i),
+                            "" + Character.isSpaceChar(i));
+          if (UCharacter.isTitleCase(i) != Character.isTitleCase(i))
+            trackDifference(p, i, "isTitleChar()", 
+                            "" + UCharacter.isTitleCase(i),
+                            "" + Character.isTitleCase(i));
+          if (UCharacter.isUnicodeIdentifierPart(i) != 
+              Character.isUnicodeIdentifierPart(i))
+            trackDifference(p, i, "isUnicodeIdentifierPart()", 
+                            "" + UCharacter.isUnicodeIdentifierPart(i),
+                            "" + Character.isUnicodeIdentifierPart(i));
+          if (UCharacter.isUnicodeIdentifierStart(i) != 
+              Character.isUnicodeIdentifierStart(i))
+            trackDifference(p, i, "isUnicodeIdentifierStart()",
+                            "" + UCharacter.isUnicodeIdentifierStart(i),
+                            "" + Character.isUnicodeIdentifierStart(i));
+          if (UCharacter.isIdentifierIgnorable(i) != 
+              Character.isIdentifierIgnorable(i))
+            trackDifference(p, i, "isIdentifierIgnorable()",
+                            "" + UCharacter.isIdentifierIgnorable(i),
+                            "" + Character.isIdentifierIgnorable(i));
+          if (UCharacter.isUpperCase(i) != Character.isUpperCase(i))
+            trackDifference(p, i, "isUpperCase()", 
+                            "" + UCharacter.isUpperCase(i),
+                            "" + Character.isUpperCase(i));
+          if (UCharacter.toLowerCase(i) != Character.toLowerCase(i))
+            trackDifference(p, i, "toLowerCase()", 
+                            Integer.toHexString(UCharacter.toLowerCase(i)),
+                            Integer.toHexString(Character.toLowerCase(i)));
+          if (!UCharacter.toString(i).equals(new Character(i).toString()))
+            trackDifference(p, i, "toString()",
+                            UCharacter.toString(i),
+                            new Character(i).toString());
+          if (UCharacter.toTitleCase(i) != Character.toTitleCase(i))
+            trackDifference(p, i, "toTitleCase()",
+                            Integer.toHexString(UCharacter.toTitleCase(i)),
+                            Integer.toHexString(Character.toTitleCase(i)));
+          if (UCharacter.toUpperCase(i) != Character.toUpperCase(i))
+            trackDifference(p, i, "toUpperCase()",
+                            Integer.toHexString(UCharacter.toUpperCase(i)),
+                            Integer.toHexString(Character.toUpperCase(i)));
+        }
+      }
+      summary(p);
+      p.close();
+    } 
+    catch (Exception e)
+    {
+      e.printStackTrace();
+    }
+  }
+  
+  // private methods ===================================================
+  
+  /**
+  * Comparing types
+  * @param uchartype UCharacter type
+  * @param jchartype java.lang.Character type
+  */
+  private static boolean compareType(int uchartype, int jchartype)
+  {
+    if (uchartype == UCharacterCategory.UNASSIGNED && 
+        jchartype == Character.UNASSIGNED)
+      return true;
+    if (uchartype == UCharacterCategory.UPPERCASE_LETTER && 
+        jchartype == Character.UPPERCASE_LETTER)
+      return true;                                                   
+    if (uchartype == UCharacterCategory.LOWERCASE_LETTER && 
+        jchartype == Character.LOWERCASE_LETTER)
+      return true;                                                   
+    if (uchartype == UCharacterCategory.TITLECASE_LETTER && 
+        jchartype == Character.TITLECASE_LETTER)
+      return true;
+    if (uchartype == UCharacterCategory.MODIFIER_LETTER && 
+        jchartype == Character.MODIFIER_LETTER)
+      return true;
+    if (uchartype == UCharacterCategory.OTHER_LETTER && 
+        jchartype == Character.OTHER_LETTER)
+      return true;
+    if (uchartype == UCharacterCategory.NON_SPACING_MARK && 
+        jchartype == Character.NON_SPACING_MARK)
+      return true;
+    if (uchartype == UCharacterCategory.ENCLOSING_MARK && 
+        jchartype == Character.ENCLOSING_MARK)
+      return true;
+    if (uchartype == UCharacterCategory.COMBINING_SPACING_MARK && 
+        jchartype == Character.COMBINING_SPACING_MARK)
+      return true;
+      if (uchartype == UCharacterCategory.DECIMAL_DIGIT_NUMBER && 
+        jchartype == Character.DECIMAL_DIGIT_NUMBER)
+      return true;
+      if (uchartype == UCharacterCategory.LETTER_NUMBER && 
+        jchartype == Character.LETTER_NUMBER)
+      return true;
+      if (uchartype == UCharacterCategory.OTHER_NUMBER && 
+        jchartype == Character.OTHER_NUMBER)
+      return true;
+      if (uchartype == UCharacterCategory.SPACE_SEPARATOR && 
+        jchartype == Character.SPACE_SEPARATOR)
+      return true;
+      if (uchartype == UCharacterCategory.LINE_SEPARATOR && 
+        jchartype == Character.LINE_SEPARATOR)
+      return true;
+      if (uchartype == UCharacterCategory.PARAGRAPH_SEPARATOR && 
+        jchartype == Character.PARAGRAPH_SEPARATOR)
+      return true;
+      if (uchartype == UCharacterCategory.CONTROL && 
+        jchartype == Character.CONTROL)
+      return true;
+    if (uchartype == UCharacterCategory.FORMAT && 
+        jchartype == Character.FORMAT)
+      return true;
+      if (uchartype == UCharacterCategory.PRIVATE_USE && 
+        jchartype == Character.PRIVATE_USE)
+      return true;
+    if (uchartype == UCharacterCategory.SURROGATE && 
+        jchartype == Character.SURROGATE)
+      return true;
+    if (uchartype == UCharacterCategory.DASH_PUNCTUATION && 
+        jchartype == Character.DASH_PUNCTUATION)
+      return true;
+      if (uchartype == UCharacterCategory.START_PUNCTUATION && 
+        jchartype == Character.START_PUNCTUATION)
+      return true;
+      if (uchartype == UCharacterCategory.END_PUNCTUATION && 
+        jchartype == Character.END_PUNCTUATION)
+      return true;
+    if (uchartype == UCharacterCategory.CONNECTOR_PUNCTUATION && 
+        jchartype == Character.CONNECTOR_PUNCTUATION)
+      return true;
+    if (uchartype == UCharacterCategory.OTHER_PUNCTUATION && 
+        jchartype == Character.OTHER_PUNCTUATION)
+      return true;
+      if (uchartype == UCharacterCategory.MATH_SYMBOL && 
+        jchartype == Character.MATH_SYMBOL)
+      return true;
+      if (uchartype == UCharacterCategory.CURRENCY_SYMBOL && 
+        jchartype == Character.CURRENCY_SYMBOL)
+      return true;
+      if (uchartype == UCharacterCategory.MODIFIER_SYMBOL && 
+        jchartype == Character.MODIFIER_SYMBOL)
+      return true;
+      if (uchartype == UCharacterCategory.OTHER_SYMBOL && 
+        jchartype == Character.OTHER_SYMBOL)
+      return true;
+      if (uchartype == UCharacterCategory.INITIAL_PUNCTUATION && 
+        jchartype == Character.START_PUNCTUATION)
+      return true;
+    if (uchartype == UCharacterCategory.FINAL_PUNCTUATION && 
+        jchartype == Character.END_PUNCTUATION)
+      return true;
+      /*if (uchartype == UCharacterCategory.GENERAL_OTHER_TYPES && 
+        jchartype == Character.GENERAL_OTHER_TYPES)
+      return true;*/
+    return false;
+    }
+    
+    /**
+    * Difference writing to file
+    * @param f file outputstream
+    * @param ch code point
+    * @param method for testing
+    * @param ucharval UCharacter value after running method
+    * @param charval Character value after running method
+    * @exception thrown when error occur in writing to file
+    */
+    private static void trackDifference(PrintWriter f, int ch, String method,
+                                        String ucharval, String charval)
+      throws Exception
+    {
+      if (m_hashtable_.containsKey(method))
+      {
+        Integer value = (Integer)m_hashtable_.get(method);
+        m_hashtable_.put(method, new Integer(value.intValue() + 1));
+      }
+      else
+        m_hashtable_.put(method, new Integer(1));
+      
+      String temp = Integer.toHexString(ch);
+      StringBuffer s = new StringBuffer(temp);
+      for (int i = 0; i < 6 - temp.length(); i ++)
+        s.append(' ');
+      temp = UCharacter.getExtendedName(ch);
+      if (temp == null)
+        temp = " ";
+      s.append(temp);
+      for (int i = 0; i < 73 - temp.length(); i ++)
+        s.append(' ');
+      
+      s.append(method);
+      for (int i = 0; i < 27 - method.length(); i ++)
+        s.append(' ');
+      s.append(ucharval);
+      for (int i = 0; i < 11 - ucharval.length(); i ++)
+        s.append(' ');
+      s.append(charval);
+      f.println(s.toString());
+    }
+    
+    /**
+    * Does up a summary of the differences
+    * @param f file outputstream
+    */
+    private static void summary(PrintWriter f)
+    {
+      f.println("==================================================");
+      f.println("Summary of differences");
+      for (Enumeration e = m_hashtable_.keys() ; e.hasMoreElements() ;) 
+      {
+        StringBuffer method = new StringBuffer((String)e.nextElement());
+        int count = ((Integer)m_hashtable_.get(method.toString())).intValue();
+        for (int i = 30 - method.length(); i > 0; i --)
+          method.append(' ');
+      f.println(method + "  " + count);
+    }
+    }
+}
+
diff --git a/src/com/ibm/icu/dev/test/lang/UCharacterDirectionTest.java b/src/com/ibm/icu/dev/test/lang/UCharacterDirectionTest.java
new file mode 100644
index 0000000..b8ec273
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/lang/UCharacterDirectionTest.java
@@ -0,0 +1,77 @@
+/**
+ *******************************************************************************
+ * Copyright (C) 2001-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.test.lang;
+
+import com.ibm.icu.dev.test.TestFmwk;
+import com.ibm.icu.lang.UCharacterDirection;
+
+/**
+* Testing UCharacterDirection
+* @author Syn Wee Quek
+* @since July 22 2002
+*/
+public class UCharacterDirectionTest extends TestFmwk
+{    
+    // constructor -----------------------------------------------------------
+    
+    /**
+    * Private constructor to prevent initialisation
+    */
+    public UCharacterDirectionTest()
+    {
+    }
+    
+    // public methods --------------------------------------------------------
+      
+    public static void main(String[] arg)  
+    {
+        try
+        {
+            UCharacterDirectionTest test = new UCharacterDirectionTest();
+            test.run(arg);
+        }
+        catch (Exception e)
+        {
+            e.printStackTrace();
+        }
+    }
+    
+    /**
+    * Gets the name of the argument category
+    * @return category name
+    */
+    public void TestToString()
+    {
+        String name[] = {"Left-to-Right",
+                         "Right-to-Left", 
+                         "European Number",
+                         "European Number Separator",
+                         "European Number Terminator",
+                         "Arabic Number",
+                         "Common Number Separator",
+                         "Paragraph Separator",
+                         "Segment Separator",
+                         "Whitespace",
+                         "Other Neutrals",
+                         "Left-to-Right Embedding",
+                         "Left-to-Right Override",
+                         "Right-to-Left Arabic",
+                         "Right-to-Left Embedding",
+                         "Right-to-Left Override",
+                         "Pop Directional Format",
+                         "Non-Spacing Mark",
+                         "Boundary Neutral",
+                         "Unassigned"};
+        for (int i = UCharacterDirection.LEFT_TO_RIGHT; 
+                 i < UCharacterDirection.CHAR_DIRECTION_COUNT; i ++) {
+             if (!UCharacterDirection.toString(i).equals(name[i])) {
+                errln("Error toString for direction " + i + " expected " +
+                      name[i]);
+             }
+        }
+    }
+}
diff --git a/src/com/ibm/icu/dev/test/lang/UCharacterIteratorTest.java b/src/com/ibm/icu/dev/test/lang/UCharacterIteratorTest.java
new file mode 100644
index 0000000..c856460
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/lang/UCharacterIteratorTest.java
@@ -0,0 +1,131 @@
+/**
+*******************************************************************************
+* Copyright (C) 1996-2005, International Business Machines Corporation and    *
+* others. All Rights Reserved.                                                *
+*******************************************************************************
+*/
+
+package com.ibm.icu.dev.test.lang;
+
+
+import com.ibm.icu.dev.test.TestFmwk;
+
+/**
+* Testing class for UCharacterIterator
+* @author Syn Wee Quek
+* @since april 02 2002
+*/
+public final class UCharacterIteratorTest extends TestFmwk
+{ 
+    // constructor -----------------------------------------------------
+  
+    /**
+     * Constructor
+     */
+      public UCharacterIteratorTest()
+      {
+      }
+  
+      // public methods --------------------------------------------------
+  
+      /**
+      * Testing cloning
+      */
+    /*
+      public void TestClone()
+      {
+          UnicodeCharacterIterator iterator = new UnicodeCharacterIterator("testing");
+          UnicodeCharacterIterator cloned = (UnicodeCharacterIterator)iterator.clone();
+          char completed = 0;
+          while (completed != UnicodeCharacterIterator.DONE) {
+              completed = iterator.next();
+              if (completed != cloned.next()) {
+                  errln("Cloned operation failed");
+              }
+          }
+      }
+    *
+      
+      /**
+       * Testing iteration
+       */
+    /*
+      public void TestIteration()
+      {
+          UnicodeCharacterIterator iterator  = new UnicodeCharacterIterator(
+                                                         ITERATION_STRING_);
+          UnicodeCharacterIterator iterator2 = new UnicodeCharacterIterator(
+                                                         ITERATION_STRING_);
+          if (iterator.first() != ITERATION_STRING_.charAt(0)) {
+              errln("Iterator failed retrieving first character");
+          }
+          if (iterator.last() != ITERATION_STRING_.charAt(
+                                       ITERATION_STRING_.length() - 1)) {
+              errln("Iterator failed retrieving last character");
+          }                                               
+          if (iterator.getBeginIndex() != 0 || 
+              iterator.getEndIndex() != ITERATION_STRING_.length()) {
+              errln("Iterator failed determining begin and end index");
+          }  
+          iterator2.setIndex(0);
+          iterator.setIndex(0);
+          int ch = 0;
+          while (ch != UnicodeCharacterIterator.DONE_CODEPOINT) {
+              int index = iterator2.getIndex();
+              ch = iterator2.nextCodePoint();
+              if (index != ITERATION_SUPPLEMENTARY_INDEX) {
+                  if (ch != (int)iterator.next() && 
+                      ch != UnicodeCharacterIterator.DONE_CODEPOINT) {
+                      errln("Error mismatch in next() and nextCodePoint()"); 
+                  }
+              }
+              else {
+                  if (UTF16.getLeadSurrogate(ch) != iterator.next() ||
+                      UTF16.getTrailSurrogate(ch) != iterator.next()) {
+                      errln("Error mismatch in next and nextCodePoint for " +
+                            "supplementary characters");
+                  }
+              }
+          }
+          iterator.setIndex(ITERATION_STRING_.length());
+          iterator2.setIndex(ITERATION_STRING_.length());
+          while (ch != UnicodeCharacterIterator.DONE_CODEPOINT) {
+              int index = iterator2.getIndex();
+              ch = iterator2.previousCodePoint();
+              if (index != ITERATION_SUPPLEMENTARY_INDEX) {
+                  if (ch != (int)iterator.previous() && 
+                      ch != UnicodeCharacterIterator.DONE_CODEPOINT) {
+                      errln("Error mismatch in previous() and " +
+                            "previousCodePoint()"); 
+                  }
+              }
+              else {
+                  if (UTF16.getLeadSurrogate(ch) != iterator.previous() || 
+                      UTF16.getTrailSurrogate(ch) != iterator.previous()) {
+                      errln("Error mismatch in previous and " +
+                            "previousCodePoint for supplementary characters");
+                  }
+              }
+          }
+      }
+    */
+    public static void main(String[] arg)
+    {
+        try
+        {
+            UCharacterIteratorTest test = new UCharacterIteratorTest();
+            test.run(arg);
+        }
+        catch (Exception e)
+        {
+            e.printStackTrace();
+        }
+    }
+    
+    // private data members ---------------------------------------------
+    
+    //private static final String ITERATION_STRING_ =
+    //                                    "Testing 1 2 3 \ud800\udc00 456";
+    //private static final int ITERATION_SUPPLEMENTARY_INDEX = 14;    
+}
+
diff --git a/src/com/ibm/icu/dev/test/lang/UCharacterSurrogateTest.java b/src/com/ibm/icu/dev/test/lang/UCharacterSurrogateTest.java
new file mode 100644
index 0000000..c1e8eaf
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/lang/UCharacterSurrogateTest.java
@@ -0,0 +1,419 @@
+/**
+ *******************************************************************************
+ * Copyright (C) 2004-2005, International Business Machines Corporation and         *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+package com.ibm.icu.dev.test.lang;
+
+import com.ibm.icu.dev.test.TestFmwk;
+import com.ibm.icu.impl.Utility;
+import com.ibm.icu.lang.UCharacter;
+import com.ibm.icu.text.UTF16;
+
+/**
+ * Test JDK 1.5 cover APIs.
+ */
+public final class UCharacterSurrogateTest extends TestFmwk {
+
+    public static void main(String[] args) {
+        new UCharacterSurrogateTest().run(args);
+    }
+
+    public void TestUnicodeBlockForName() {
+        String[] names = {"Optical Character Recognition",
+                "CJK Unified Ideographs Extension A", "Supplemental Arrows-B",
+                "Supplementary Private Use Area-B",
+                "supplementary_Private_Use_Area-b",
+                "supplementary_PRIVATE_Use_Area_b"};
+        for (int i = 0; i < names.length; ++i) {
+            try {
+                UCharacter.UnicodeBlock b = UCharacter.UnicodeBlock
+                        .forName(names[i]);
+                logln("found: " + b + " for name: " + names[i]);
+            } catch (Exception e) {
+                errln("could not find block for name: " + names[i]);
+                break;
+            }
+        }
+    }
+
+    public void TestIsValidCodePoint() {
+        if (UCharacter.isValidCodePoint(-1))
+            errln("-1");
+        if (!UCharacter.isValidCodePoint(0))
+            errln("0");
+        if (!UCharacter.isValidCodePoint(UCharacter.MAX_CODE_POINT))
+            errln("0x10ffff");
+        if (UCharacter.isValidCodePoint(UCharacter.MAX_CODE_POINT + 1))
+            errln("0x110000");
+    }
+
+    public void TestIsSupplementaryCodePoint() {
+        if (UCharacter.isSupplementaryCodePoint(-1))
+            errln("-1");
+        if (UCharacter.isSupplementaryCodePoint(0))
+            errln("0");
+        if (UCharacter
+                .isSupplementaryCodePoint(UCharacter.MIN_SUPPLEMENTARY_CODE_POINT - 1))
+            errln("0xffff");
+        if (!UCharacter
+                .isSupplementaryCodePoint(UCharacter.MIN_SUPPLEMENTARY_CODE_POINT))
+            errln("0x10000");
+        if (!UCharacter.isSupplementaryCodePoint(UCharacter.MAX_CODE_POINT))
+            errln("0x10ffff");
+        if (UCharacter.isSupplementaryCodePoint(UCharacter.MAX_CODE_POINT + 1))
+            errln("0x110000");
+    }
+
+    public void TestIsHighSurrogate() {
+        if (UCharacter
+                .isHighSurrogate((char) (UCharacter.MIN_HIGH_SURROGATE - 1)))
+            errln("0xd7ff");
+        if (!UCharacter.isHighSurrogate(UCharacter.MIN_HIGH_SURROGATE))
+            errln("0xd800");
+        if (!UCharacter.isHighSurrogate(UCharacter.MAX_HIGH_SURROGATE))
+            errln("0xdbff");
+        if (UCharacter
+                .isHighSurrogate((char) (UCharacter.MAX_HIGH_SURROGATE + 1)))
+            errln("0xdc00");
+    }
+
+    public void TestIsLowSurrogate() {
+        if (UCharacter
+                .isLowSurrogate((char) (UCharacter.MIN_LOW_SURROGATE - 1)))
+            errln("0xdbff");
+        if (!UCharacter.isLowSurrogate(UCharacter.MIN_LOW_SURROGATE))
+            errln("0xdc00");
+        if (!UCharacter.isLowSurrogate(UCharacter.MAX_LOW_SURROGATE))
+            errln("0xdfff");
+        if (UCharacter
+                .isLowSurrogate((char) (UCharacter.MAX_LOW_SURROGATE + 1)))
+            errln("0xe000");
+    }
+
+    public void TestIsSurrogatePair() {
+        if (UCharacter.isSurrogatePair(
+                (char) (UCharacter.MIN_HIGH_SURROGATE - 1),
+                UCharacter.MIN_LOW_SURROGATE))
+            errln("0xd7ff,0xdc00");
+        if (UCharacter.isSurrogatePair(
+                (char) (UCharacter.MAX_HIGH_SURROGATE + 1),
+                UCharacter.MIN_LOW_SURROGATE))
+            errln("0xd800,0xdc00");
+        if (UCharacter.isSurrogatePair(UCharacter.MIN_HIGH_SURROGATE,
+                (char) (UCharacter.MIN_LOW_SURROGATE - 1)))
+            errln("0xd800,0xdbff");
+        if (UCharacter.isSurrogatePair(UCharacter.MIN_HIGH_SURROGATE,
+                (char) (UCharacter.MAX_LOW_SURROGATE + 1)))
+            errln("0xd800,0xe000");
+        if (!UCharacter.isSurrogatePair(UCharacter.MIN_HIGH_SURROGATE,
+                UCharacter.MIN_LOW_SURROGATE))
+            errln("0xd800,0xdc00");
+    }
+
+    public void TestCharCount() {
+        UCharacter.charCount(-1);
+        UCharacter.charCount(UCharacter.MAX_CODE_POINT + 1);
+        if (UCharacter.charCount(UCharacter.MIN_SUPPLEMENTARY_CODE_POINT - 1) != 1)
+            errln("0xffff");
+        if (UCharacter.charCount(UCharacter.MIN_SUPPLEMENTARY_CODE_POINT) != 2)
+            errln("0x010000");
+    }
+
+    public void TestToCodePoint() {
+        final char[] pairs = {(char) (UCharacter.MIN_HIGH_SURROGATE + 0),
+                (char) (UCharacter.MIN_LOW_SURROGATE + 0),
+                (char) (UCharacter.MIN_HIGH_SURROGATE + 1),
+                (char) (UCharacter.MIN_LOW_SURROGATE + 1),
+                (char) (UCharacter.MIN_HIGH_SURROGATE + 2),
+                (char) (UCharacter.MIN_LOW_SURROGATE + 2),
+                (char) (UCharacter.MAX_HIGH_SURROGATE - 2),
+                (char) (UCharacter.MAX_LOW_SURROGATE - 2),
+                (char) (UCharacter.MAX_HIGH_SURROGATE - 1),
+                (char) (UCharacter.MAX_LOW_SURROGATE - 1),
+                (char) (UCharacter.MAX_HIGH_SURROGATE - 0),
+                (char) (UCharacter.MAX_LOW_SURROGATE - 0),};
+        for (int i = 0; i < pairs.length; i += 2) {
+            int cp = UCharacter.toCodePoint(pairs[i], pairs[i + 1]);
+            if (pairs[i] != UTF16.getLeadSurrogate(cp)
+                    || pairs[i + 1] != UTF16.getTrailSurrogate(cp)) {
+
+                errln(Integer.toHexString(pairs[i]) + ", " + pairs[i + 1]);
+                break;
+            }
+        }
+    }
+
+    public void TestCodePointAtBefore() {
+        String s = "" + UCharacter.MIN_HIGH_SURROGATE + // isolated high
+                UCharacter.MIN_HIGH_SURROGATE + // pair
+                UCharacter.MIN_LOW_SURROGATE + UCharacter.MIN_LOW_SURROGATE; // isolated
+                                                                             // low
+        char[] c = s.toCharArray();
+        int[] avalues = {
+                UCharacter.MIN_HIGH_SURROGATE,
+                UCharacter.toCodePoint(UCharacter.MIN_HIGH_SURROGATE,
+                        UCharacter.MIN_LOW_SURROGATE),
+                UCharacter.MIN_LOW_SURROGATE, UCharacter.MIN_LOW_SURROGATE};
+        int[] bvalues = {
+                UCharacter.MIN_HIGH_SURROGATE,
+                UCharacter.MIN_HIGH_SURROGATE,
+                UCharacter.toCodePoint(UCharacter.MIN_HIGH_SURROGATE,
+                        UCharacter.MIN_LOW_SURROGATE),
+                UCharacter.MIN_LOW_SURROGATE,};
+        StringBuffer b = new StringBuffer(s);
+        for (int i = 0; i < avalues.length; ++i) {
+            if (UCharacter.codePointAt(s, i) != avalues[i])
+                errln("string at: " + i);
+            if (UCharacter.codePointAt(c, i) != avalues[i])
+                errln("chars at: " + i);
+            if (UCharacter.codePointAt(b, i) != avalues[i])
+                errln("stringbuffer at: " + i);
+
+            if (UCharacter.codePointBefore(s, i + 1) != bvalues[i])
+                errln("string before: " + i);
+            if (UCharacter.codePointBefore(c, i + 1) != bvalues[i])
+                errln("chars before: " + i);
+            if (UCharacter.codePointBefore(b, i + 1) != bvalues[i])
+                errln("stringbuffer before: " + i);
+        }
+
+        //cover codePointAtBefore with limit
+        logln("Testing codePointAtBefore with limit ...");
+        for (int i = 0; i < avalues.length; ++i) {
+            if (UCharacter.codePointAt(c, i, 4) != avalues[i])
+                errln("chars at: " + i);
+            if (UCharacter.codePointBefore(c, i + 1, 0) != bvalues[i])
+                errln("chars before: " + i);
+        }
+
+    }
+
+    public void TestToChars() {
+        char[] chars = new char[3];
+        int cp = UCharacter.toCodePoint(UCharacter.MIN_HIGH_SURROGATE,
+                UCharacter.MIN_LOW_SURROGATE);
+        UCharacter.toChars(cp, chars, 1);
+        if (chars[1] != UCharacter.MIN_HIGH_SURROGATE
+                || chars[2] != UCharacter.MIN_LOW_SURROGATE) {
+
+            errln("fail");
+        }
+
+        chars = UCharacter.toChars(cp);
+        if (chars[0] != UCharacter.MIN_HIGH_SURROGATE
+                || chars[1] != UCharacter.MIN_LOW_SURROGATE) {
+
+            errln("fail");
+        }
+    }
+
+    public void TestCodePointCount() {
+        class Test {
+            String str(String s, int start, int limit) {
+                if(s==null){
+                    s="";
+                }
+                return "codePointCount('" + Utility.escape(s) + "' " + start
+                        + ", " + limit + ")";
+            }
+
+            void test(String s, int start, int limit, int expected) {
+                int val1 = UCharacter.codePointCount(s.toCharArray(), start,
+                        limit);
+                int val2 = UCharacter.codePointCount(s, start, limit);
+                if (val1 != expected) {
+                    errln("char[] " + str(s, start, limit) + "(" + val1
+                            + ") != " + expected);
+                } else if (val2 != expected) {
+                    errln("String " + str(s, start, limit) + "(" + val2
+                            + ") != " + expected);
+                } else if (isVerbose()) {
+                    logln(str(s, start, limit) + " == " + expected);
+                }
+            }
+
+            void fail(String s, int start, int limit, Class exc) {
+                try {
+                    UCharacter.codePointCount(s, start, limit);
+                    errln("unexpected success " + str(s, start, limit));
+                } catch (Throwable e) {
+                    if (!exc.isInstance(e)) {
+                        warnln("bad exception " + str(s, start, limit)
+                                + e.getClass().getName());
+                    }
+                }
+            }
+        }
+
+        Test test = new Test();
+        test.fail(null, 0, 1, NullPointerException.class);
+        test.fail("a", -1, 0, IndexOutOfBoundsException.class);
+        test.fail("a", 1, 2, IndexOutOfBoundsException.class);
+        test.fail("a", 1, 0, IndexOutOfBoundsException.class);
+        test.test("", 0, 0, 0);
+        test.test("\ud800", 0, 1, 1);
+        test.test("\udc00", 0, 1, 1);
+        test.test("\ud800\udc00", 0, 1, 1);
+        test.test("\ud800\udc00", 1, 2, 1);
+        test.test("\ud800\udc00", 0, 2, 1);
+        test.test("\udc00\ud800", 0, 1, 1);
+        test.test("\udc00\ud800", 1, 2, 1);
+        test.test("\udc00\ud800", 0, 2, 2);
+        test.test("\ud800\ud800\udc00", 0, 2, 2);
+        test.test("\ud800\ud800\udc00", 1, 3, 1);
+        test.test("\ud800\ud800\udc00", 0, 3, 2);
+        test.test("\ud800\udc00\udc00", 0, 2, 1);
+        test.test("\ud800\udc00\udc00", 1, 3, 2);
+        test.test("\ud800\udc00\udc00", 0, 3, 2);
+    }
+
+    public void TestOffsetByCodePoints() {
+        class Test {
+            String str(String s, int start, int count, int index, int offset) {
+                return "offsetByCodePoints('" + Utility.escape(s) + "' "
+                        + start + ", " + count + ", " + index + ", " + offset
+                        + ")";
+            }
+
+            void test(String s, int start, int count, int index, int offset,
+                    int expected, boolean flip) {
+                char[] chars = s.toCharArray();
+                String string = s.substring(start, start + count);
+                int val1 = UCharacter.offsetByCodePoints(chars, start, count,
+                        index, offset);
+                int val2 = UCharacter.offsetByCodePoints(string, index - start,
+                        offset)
+                        + start;
+
+                if (val1 != expected) {
+                    errln("char[] " + str(s, start, count, index, offset) + "("
+                            + val1 + ") != " + expected);
+                } else if (val2 != expected) {
+                    errln("String " + str(s, start, count, index, offset) + "("
+                            + val2 + ") != " + expected);
+                } else if (isVerbose()) {
+                    logln(str(s, start, count, index, offset) + " == "
+                            + expected);
+                }
+
+                if (flip) {
+                    val1 = UCharacter.offsetByCodePoints(chars, start, count,
+                            expected, -offset);
+                    val2 = UCharacter.offsetByCodePoints(string, expected
+                            - start, -offset)
+                            + start;
+                    if (val1 != index) {
+                        errln("char[] "
+                                + str(s, start, count, expected, -offset) + "("
+                                + val1 + ") != " + index);
+                    } else if (val2 != index) {
+                        errln("String "
+                                + str(s, start, count, expected, -offset) + "("
+                                + val2 + ") != " + index);
+                    } else if (isVerbose()) {
+                        logln(str(s, start, count, expected, -offset) + " == "
+                                + index);
+                    }
+                }
+            }
+
+            void fail(char[] text, int start, int count, int index, int offset,
+                    Class exc) {
+                try {
+                    UCharacter.offsetByCodePoints(text, start, count, index,
+                            offset);
+                    errln("unexpected success "
+                            + str(new String(text), start, count, index, offset));
+                } catch (Throwable e) {
+                    if (!exc.isInstance(e)) {
+                        errln("bad exception "
+                                + str(new String(text), start, count, index,
+                                        offset) + e.getClass().getName());
+                    }
+                }
+            }
+
+            void fail(String text, int index, int offset, Class exc) {
+                try {
+                    UCharacter.offsetByCodePoints(text, index, offset);
+                    errln("unexpected success "
+                            + str(text, index, offset, 0, text.length()));
+                } catch (Throwable e) {
+                    if (!exc.isInstance(e)) {
+                        errln("bad exception "
+                                + str(text, 0, text.length(), index, offset)
+                                + e.getClass().getName());
+                    }
+                }
+            }
+        }
+
+        Test test = new Test();
+
+        test.test("\ud800\ud800\udc00", 0, 2, 0, 1, 1, true);
+
+        test.fail((char[]) null, 0, 1, 0, 1, NullPointerException.class);
+        test.fail((String) null, 0, 1, NullPointerException.class);
+        test.fail("abc", -1, 0, IndexOutOfBoundsException.class);
+        test.fail("abc", 4, 0, IndexOutOfBoundsException.class);
+        test.fail("abc", 1, -2, IndexOutOfBoundsException.class);
+        test.fail("abc", 2, 2, IndexOutOfBoundsException.class);
+        char[] abc = "abc".toCharArray();
+        test.fail(abc, -1, 2, 0, 0, IndexOutOfBoundsException.class);
+        test.fail(abc, 2, 2, 3, 0, IndexOutOfBoundsException.class);
+        test.fail(abc, 1, -1, 0, 0, IndexOutOfBoundsException.class);
+        test.fail(abc, 1, 1, 2, -2, IndexOutOfBoundsException.class);
+        test.fail(abc, 1, 1, 1, 2, IndexOutOfBoundsException.class);
+        test.fail(abc, 1, 2, 1, 3, IndexOutOfBoundsException.class);
+        test.fail(abc, 0, 2, 2, -3, IndexOutOfBoundsException.class);
+        test.test("", 0, 0, 0, 0, 0, false);
+        test.test("\ud800", 0, 1, 0, 1, 1, true);
+        test.test("\udc00", 0, 1, 0, 1, 1, true);
+
+        String s = "\ud800\udc00";
+        test.test(s, 0, 1, 0, 1, 1, true);
+        test.test(s, 0, 2, 0, 1, 2, true);
+        test.test(s, 0, 2, 1, 1, 2, false);
+        test.test(s, 1, 1, 1, 1, 2, true);
+
+        s = "\udc00\ud800";
+        test.test(s, 0, 1, 0, 1, 1, true);
+        test.test(s, 0, 2, 0, 1, 1, true);
+        test.test(s, 0, 2, 0, 2, 2, true);
+        test.test(s, 0, 2, 1, 1, 2, true);
+        test.test(s, 1, 1, 1, 1, 2, true);
+
+        s = "\ud800\ud800\udc00";
+        test.test(s, 0, 1, 0, 1, 1, true);
+        test.test(s, 0, 2, 0, 1, 1, true);
+        test.test(s, 0, 2, 0, 2, 2, true);
+        test.test(s, 0, 2, 1, 1, 2, true);
+        test.test(s, 0, 3, 0, 1, 1, true);
+        test.test(s, 0, 3, 0, 2, 3, true);
+        test.test(s, 0, 3, 1, 1, 3, true);
+        test.test(s, 0, 3, 2, 1, 3, false);
+        test.test(s, 1, 1, 1, 1, 2, true);
+        test.test(s, 1, 2, 1, 1, 3, true);
+        test.test(s, 1, 2, 2, 1, 3, false);
+        test.test(s, 2, 1, 2, 1, 3, true);
+
+        s = "\ud800\udc00\udc00";
+        test.test(s, 0, 1, 0, 1, 1, true);
+        test.test(s, 0, 2, 0, 1, 2, true);
+        test.test(s, 0, 2, 1, 1, 2, false);
+        test.test(s, 0, 3, 0, 1, 2, true);
+        test.test(s, 0, 3, 0, 2, 3, true);
+        test.test(s, 0, 3, 1, 1, 2, false);
+        test.test(s, 0, 3, 1, 2, 3, false);
+        test.test(s, 0, 3, 2, 1, 3, true);
+        test.test(s, 1, 1, 1, 1, 2, true);
+        test.test(s, 1, 2, 1, 1, 2, true);
+        test.test(s, 1, 2, 1, 2, 3, true);
+        test.test(s, 1, 2, 2, 1, 3, true);
+        test.test(s, 2, 1, 2, 1, 3, true);
+    }
+}
+
diff --git a/src/com/ibm/icu/dev/test/lang/UCharacterTest.java b/src/com/ibm/icu/dev/test/lang/UCharacterTest.java
new file mode 100755
index 0000000..7d694bb
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/lang/UCharacterTest.java
@@ -0,0 +1,2345 @@
+/**
+*******************************************************************************
+* Copyright (C) 1996-2005, International Business Machines Corporation and    *
+* others. All Rights Reserved.                                                *
+*******************************************************************************
+*/
+
+package com.ibm.icu.dev.test.lang;
+
+import com.ibm.icu.impl.UBiDiProps;
+import com.ibm.icu.impl.UCaseProps;
+
+import com.ibm.icu.dev.test.TestFmwk;
+import com.ibm.icu.dev.test.TestUtil;
+import com.ibm.icu.lang.UCharacter;
+import com.ibm.icu.lang.UCharacterCategory;
+import com.ibm.icu.lang.UCharacterDirection;
+import com.ibm.icu.lang.UProperty;
+import com.ibm.icu.lang.UScript;
+import com.ibm.icu.text.UTF16;
+import com.ibm.icu.text.UnicodeSet;
+import com.ibm.icu.text.UnicodeSetIterator;
+import com.ibm.icu.util.RangeValueIterator;
+import com.ibm.icu.util.ValueIterator;
+import com.ibm.icu.util.VersionInfo;
+import com.ibm.icu.impl.UCharacterName;
+import com.ibm.icu.impl.Utility;
+import com.ibm.icu.impl.USerializedSet;
+import com.ibm.icu.impl.NormalizerImpl;
+import com.ibm.icu.impl.UCharacterProperty;
+import java.io.BufferedReader;
+import java.util.Arrays;
+
+/**
+* Testing class for UCharacter
+* Mostly following the test cases for ICU
+* @author Syn Wee Quek
+* @since nov 04 2000
+*/
+public final class UCharacterTest extends TestFmwk
+{
+    // private variables =============================================
+
+    /**
+    * ICU4J data version number
+    */
+    private final VersionInfo VERSION_ = VersionInfo.getInstance("4.1.0.0");
+
+    // constructor ===================================================
+
+    /**
+    * Constructor
+    */
+    public UCharacterTest()
+    {
+    }
+
+    // public methods ================================================
+
+    public static void main(String[] arg)
+    {
+        try
+        {
+            UCharacterTest test = new UCharacterTest();
+            test.run(arg);
+        }
+        catch (Exception e)
+        {
+        e.printStackTrace();
+        }
+    }
+
+    /**
+    * Testing the letter and number determination in UCharacter
+    */
+    public void TestLetterNumber()
+    {
+        for (int i = 0x0041; i < 0x005B; i ++)
+        if (!UCharacter.isLetter(i))
+            errln("FAIL \\u" + hex(i) + " expected to be a letter");
+
+        for (int i = 0x0660; i < 0x066A; i ++)
+        if (UCharacter.isLetter(i))
+            errln("FAIL \\u" + hex(i) + " expected not to be a letter");
+
+        for (int i = 0x0660; i < 0x066A; i ++)
+        if (!UCharacter.isDigit(i))
+            errln("FAIL \\u" + hex(i) + " expected to be a digit");
+
+        for (int i = 0x0041; i < 0x005B; i ++)
+            if (!UCharacter.isLetterOrDigit(i))
+                errln("FAIL \\u" + hex(i) + " expected not to be a digit");
+
+        for (int i = 0x0660; i < 0x066A; i ++)
+            if (!UCharacter.isLetterOrDigit(i))
+                errln("FAIL \\u" + hex(i) +
+                    "expected to be either a letter or a digit");
+
+        /*
+         * The following checks work only starting from Unicode 4.0.
+         * Check the version number here.
+         */
+        VersionInfo version =    UCharacter.getUnicodeVersion();
+        if(version.getMajor()<4 || version.equals(VersionInfo.getInstance(4, 0, 1))) {
+            return;
+        }
+
+
+
+        /*
+         * Sanity check:
+         * Verify that exactly the digit characters have decimal digit values.
+         * This assumption is used in the implementation of u_digit()
+         * (which checks nt=de)
+         * compared with the parallel java.lang.Character.digit()
+         * (which checks Nd).
+         *
+         * This was not true in Unicode 3.2 and earlier.
+         * Unicode 4.0 fixed discrepancies.
+         * Unicode 4.0.1 re-introduced problems in this area due to an
+         * unintentionally incomplete last-minute change.
+         */
+        String digitsPattern = "[:Nd:]";
+        String decimalValuesPattern = "[:Numeric_Type=Decimal:]";
+
+        UnicodeSet digits, decimalValues;
+
+        digits= new UnicodeSet(digitsPattern);
+        decimalValues=new UnicodeSet(decimalValuesPattern);
+
+
+        compareUSets(digits, decimalValues, "[:Nd:]", "[:Numeric_Type=Decimal:]", true);
+
+
+    }
+
+    /**
+    * Tests for space determination in UCharacter
+    */
+    public void TestSpaces()
+    {
+        int spaces[] = {0x0020, 0x0000a0, 0x002000, 0x002001, 0x002005};
+        int nonspaces[] = {0x61, 0x0062, 0x0063, 0x0064, 0x0074};
+        int whitespaces[] = {0x2008, 0x002009, 0x00200a, 0x00001c, 0x00000c};
+        int nonwhitespaces[] = {0x61, 0x0062, 0x003c, 0x0028, 0x003f};
+
+        int size = spaces.length;
+        for (int i = 0; i < size; i ++)
+        {
+            if (!UCharacter.isSpaceChar(spaces[i]))
+            {
+                errln("FAIL \\u" + hex(spaces[i]) +
+                    " expected to be a space character");
+                break;
+            }
+
+            if (UCharacter.isSpaceChar(nonspaces[i]))
+            {
+                errln("FAIL \\u" + hex(nonspaces[i]) +
+                " expected not to be space character");
+                break;
+            }
+
+            if (!UCharacter.isWhitespace(whitespaces[i]))
+            {
+                errln("FAIL \\u" + hex(whitespaces[i]) +
+                        " expected to be a white space character");
+                break;
+            }
+            if (UCharacter.isWhitespace(nonwhitespaces[i]))
+            {
+                errln("FAIL \\u" + hex(nonwhitespaces[i]) +
+                            " expected not to be a space character");
+                break;
+            }
+            logln("Ok    \\u" + hex(spaces[i]) + " and \\u" +
+                  hex(nonspaces[i]) + " and \\u" + hex(whitespaces[i]) +
+                  " and \\u" + hex(nonwhitespaces[i]));
+        }
+
+        int rulewhitespace[] = {0x9, 0xd, 0x20, 0x85,
+                                0x200e, 0x200f, 0x2028, 0x2029};
+        int nonrulewhitespace[] = {0x8, 0xe, 0x21, 0x86, 0xa0, 0xa1,
+                                   0x1680, 0x1681, 0x180e, 0x180f,
+                                   0x1FFF, 0x2000, 0x200a, 0x200b,
+                                   0x2010, 0x202f, 0x2030, 0x205f,
+                                   0x2060, 0x3000, 0x3001};
+        for (int i = 0; i < rulewhitespace.length; i ++) {
+            if (!UCharacterProperty.isRuleWhiteSpace(rulewhitespace[i])) {
+                errln("\\u" + Utility.hex(rulewhitespace[i], 4)
+                      + " expected to be a rule white space");
+            }
+        }
+        for (int i = 0; i < nonrulewhitespace.length; i ++) {
+            if (UCharacterProperty.isRuleWhiteSpace(nonrulewhitespace[i])) {
+                errln("\\u" + Utility.hex(nonrulewhitespace[i], 4)
+                      + " expected to be a non rule white space");
+            }
+        }
+    }
+
+    /**
+    * Tests for defined and undefined characters
+    */
+    public void TestDefined()
+    {
+        int undefined[] = {0xfff1, 0xfff7, 0xfa6b};
+        int defined[] = {0x523E, 0x004f88, 0x00fffd};
+
+        int size = undefined.length;
+        for (int i = 0; i < size; i ++)
+        {
+            if (UCharacter.isDefined(undefined[i]))
+            {
+                errln("FAIL \\u" + hex(undefined[i]) +
+                            " expected not to be defined");
+                break;
+            }
+            if (!UCharacter.isDefined(defined[i]))
+            {
+                errln("FAIL \\u" + hex(defined[i]) + " expected defined");
+                break;
+            }
+        }
+    }
+
+    /**
+    * Tests for base characters and their cellwidth
+    */
+    public void TestBase()
+    {
+        int base[] = {0x0061, 0x000031, 0x0003d2};
+        int nonbase[] = {0x002B, 0x000020, 0x00203B};
+        int size = base.length;
+        for (int i = 0; i < size; i ++)
+        {
+            if (UCharacter.isBaseForm(nonbase[i]))
+            {
+                errln("FAIL \\u" + hex(nonbase[i]) +
+                            " expected not to be a base character");
+                break;
+            }
+            if (!UCharacter.isBaseForm(base[i]))
+            {
+                errln("FAIL \\u" + hex(base[i]) +
+                      " expected to be a base character");
+                break;
+            }
+        }
+    }
+
+    /**
+    * Tests for digit characters
+    */
+    public void TestDigits()
+    {
+        int digits[] = {0x0030, 0x000662, 0x000F23, 0x000ED5, 0x002160};
+
+        //special characters not in the properties table
+        int digits2[] = {0x3007, 0x004e00, 0x004e8c, 0x004e09, 0x0056d8,
+                         0x004e94, 0x00516d, 0x4e03, 0x00516b, 0x004e5d};
+        int nondigits[] = {0x0010, 0x000041, 0x000122, 0x0068FE};
+
+        int digitvalues[] = {0, 2, 3, 5, 1};
+        int digitvalues2[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
+
+        int size  = digits.length;
+        for (int i = 0; i < size; i ++) {
+            if (UCharacter.isDigit(digits[i]) &&
+                UCharacter.digit(digits[i]) != digitvalues[i])
+            {
+                errln("FAIL \\u" + hex(digits[i]) +
+                        " expected digit with value " + digitvalues[i]);
+                break;
+            }
+        }
+        size = nondigits.length;
+        for (int i = 0; i < size; i ++)
+            if (UCharacter.isDigit(nondigits[i]))
+            {
+                errln("FAIL \\u" + hex(nondigits[i]) + " expected nondigit");
+                break;
+            }
+
+        size = digits2.length;
+        for (int i = 0; i < 10; i ++) {
+            if (UCharacter.isDigit(digits2[i]) &&
+                UCharacter.digit(digits2[i]) != digitvalues2[i])
+            {
+                errln("FAIL \\u" + hex(digits2[i]) +
+                    " expected digit with value " + digitvalues2[i]);
+                break;
+            }
+        }
+    }
+
+    /**
+    *  Tests for numeric characters
+    */
+    public void TestNumeric()
+    {
+        if (UCharacter.getNumericValue(0x00BC) != -2) {
+            errln("Numeric value of 0x00BC expected to be -2");
+        }
+
+        for (int i = '0'; i < '9'; i ++) {
+            int n1 = UCharacter.getNumericValue(i);
+            double n2 = UCharacter.getUnicodeNumericValue(i);
+            if (n1 != n2 ||  n1 != (i - '0')) {
+                errln("Numeric value of " + (char)i + " expected to be " +
+                      (i - '0'));
+            }
+        }
+        for (int i = 'A'; i < 'F'; i ++) {
+            int n1 = UCharacter.getNumericValue(i);
+            double n2 = UCharacter.getUnicodeNumericValue(i);
+            if (n2 != UCharacter.NO_NUMERIC_VALUE ||  n1 != (i - 'A' + 10)) {
+                errln("Numeric value of " + (char)i + " expected to be " +
+                      (i - 'A' + 10));
+            }
+        }
+        for (int i = 0xFF21; i < 0xFF26; i ++) {
+            // testing full wideth latin characters A-F
+            int n1 = UCharacter.getNumericValue(i);
+            double n2 = UCharacter.getUnicodeNumericValue(i);
+            if (n2 != UCharacter.NO_NUMERIC_VALUE ||  n1 != (i - 0xFF21 + 10)) {
+                errln("Numeric value of " + (char)i + " expected to be " +
+                      (i - 0xFF21 + 10));
+            }
+        }
+        // testing han numbers
+        int han[] = {0x96f6, 0, 0x58f9, 1, 0x8cb3, 2, 0x53c3, 3,
+                     0x8086, 4, 0x4f0d, 5, 0x9678, 6, 0x67d2, 7,
+                     0x634c, 8, 0x7396, 9, 0x5341, 10, 0x62fe, 10,
+                     0x767e, 100, 0x4f70, 100, 0x5343, 1000, 0x4edf, 1000,
+                     0x824c, 10000, 0x5104, 100000000};
+        for (int i = 0; i < han.length; i += 2) {
+            if (UCharacter.getHanNumericValue(han[i]) != han[i + 1]) {
+                errln("Numeric value of \\u" +
+                      Integer.toHexString(han[i]) + " expected to be " +
+                      han[i + 1]);
+            }
+        }
+    }
+
+    /**
+    * Tests for version
+    */
+    public void TestVersion()
+    {
+        if (!UCharacter.getUnicodeVersion().equals(VERSION_))
+            errln("FAIL expected: " + VERSION_ + "got: " + UCharacter.getUnicodeVersion());
+    }
+
+    /**
+    * Tests for control characters
+    */
+    public void TestISOControl()
+    {
+        int control[] = {0x001b, 0x000097, 0x000082};
+        int noncontrol[] = {0x61, 0x000031, 0x0000e2};
+
+        int size = control.length;
+        for (int i = 0; i < size; i ++)
+        {
+            if (!UCharacter.isISOControl(control[i]))
+            {
+                errln("FAIL 0x" + Integer.toHexString(control[i]) +
+                        " expected to be a control character");
+                break;
+            }
+            if (UCharacter.isISOControl(noncontrol[i]))
+            {
+                errln("FAIL 0x" + Integer.toHexString(noncontrol[i]) +
+                        " expected to be not a control character");
+                break;
+            }
+
+            logln("Ok    0x" + Integer.toHexString(control[i]) + " and 0x" +
+                    Integer.toHexString(noncontrol[i]));
+        }
+    }
+
+    /**
+     * Test Supplementary
+     */
+    public void TestSupplementary()
+    {
+        for (int i = 0; i < 0x10000; i ++) {
+            if (UCharacter.isSupplementary(i)) {
+                errln("Codepoint \\u" + Integer.toHexString(i) +
+                      " is not supplementary");
+            }
+        }
+        for (int i = 0x10000; i < 0x10FFFF; i ++) {
+            if (!UCharacter.isSupplementary(i)) {
+                errln("Codepoint \\u" + Integer.toHexString(i) +
+                      " is supplementary");
+            }
+        }
+    }
+
+    /**
+     * Test mirroring
+     */
+    public void TestMirror()
+    {
+        if (!(UCharacter.isMirrored(0x28) && UCharacter.isMirrored(0xbb) &&
+              UCharacter.isMirrored(0x2045) && UCharacter.isMirrored(0x232a)
+              && !UCharacter.isMirrored(0x27) &&
+              !UCharacter.isMirrored(0x61) && !UCharacter.isMirrored(0x284)
+              && !UCharacter.isMirrored(0x3400))) {
+            errln("isMirrored() does not work correctly");
+        }
+
+        if (!(UCharacter.getMirror(0x3c) == 0x3e &&
+              UCharacter.getMirror(0x5d) == 0x5b &&
+              UCharacter.getMirror(0x208d) == 0x208e &&
+              UCharacter.getMirror(0x3017) == 0x3016 &&
+
+              UCharacter.getMirror(0xbb) == 0xab &&
+              UCharacter.getMirror(0x2215) == 0x29F5 &&
+              UCharacter.getMirror(0x29F5) == 0x2215 && /* large delta between the code points */
+
+              UCharacter.getMirror(0x2e) == 0x2e &&
+              UCharacter.getMirror(0x6f3) == 0x6f3 &&
+              UCharacter.getMirror(0x301c) == 0x301c &&
+              UCharacter.getMirror(0xa4ab) == 0xa4ab)) {
+            errln("getMirror() does not work correctly");
+        }
+
+        /* verify that Bidi_Mirroring_Glyph roundtrips */
+        UnicodeSet set=new UnicodeSet("[:Bidi_Mirrored:]");
+        UnicodeSetIterator iter=new UnicodeSetIterator(set);
+        int start, end, c2, c3;
+        while(iter.nextRange() && (start=iter.codepoint)>=0) {
+            end=iter.codepointEnd;
+            do {
+                c2=UCharacter.getMirror(start);
+                c3=UCharacter.getMirror(c2);
+                if(c3!=start) {
+                    errln("getMirror() does not roundtrip: U+"+hex(start)+"->U+"+hex(c2)+"->U+"+hex(c3));
+                }
+            } while(++start<=end);
+        }
+    }
+
+    /**
+    * Tests for printable characters
+    */
+    public void TestPrint()
+    {
+        int printable[] = {0x0042, 0x00005f, 0x002014};
+        int nonprintable[] = {0x200c, 0x00009f, 0x00001b};
+
+        int size = printable.length;
+        for (int i = 0; i < size; i ++)
+        {
+            if (!UCharacter.isPrintable(printable[i]))
+            {
+                errln("FAIL \\u" + hex(printable[i]) +
+                    " expected to be a printable character");
+                break;
+            }
+            if (UCharacter.isPrintable(nonprintable[i]))
+            {
+                errln("FAIL \\u" + hex(nonprintable[i]) +
+                        " expected not to be a printable character");
+                break;
+            }
+            logln("Ok    \\u" + hex(printable[i]) + " and \\u" +
+                    hex(nonprintable[i]));
+        }
+
+        // test all ISO 8 controls
+        for (int ch = 0; ch <= 0x9f; ++ ch) {
+            if (ch == 0x20) {
+                // skip ASCII graphic characters and continue with DEL
+                ch = 0x7f;
+            }
+            if (UCharacter.isPrintable(ch)) {
+                errln("Fail \\u" + hex(ch) +
+                    " is a ISO 8 control character hence not printable\n");
+            }
+        }
+
+        /* test all Latin-1 graphic characters */
+        for (int ch = 0x20; ch <= 0xff; ++ ch) {
+            if (ch == 0x7f) {
+                ch = 0xa0;
+            }
+            if (!UCharacter.isPrintable(ch)
+                && ch != 0x00AD/* Unicode 4.0 changed the defintion of soft hyphen to be a Cf*/) {
+                errln("Fail \\u" + hex(ch) +
+                      " is a Latin-1 graphic character\n");
+            }
+        }
+    }
+
+    /**
+    * Testing for identifier characters
+    */
+    public void TestIdentifier()
+    {
+        int unicodeidstart[] = {0x0250, 0x0000e2, 0x000061};
+        int nonunicodeidstart[] = {0x2000, 0x00000a, 0x002019};
+        int unicodeidpart[] = {0x005f, 0x000032, 0x000045};
+        int nonunicodeidpart[] = {0x2030, 0x0000a3, 0x000020};
+        int idignore[] = {0x0006, 0x0010, 0x206b};
+        int nonidignore[] = {0x0075, 0x0000a3, 0x000061};
+
+        int size = unicodeidstart.length;
+        for (int i = 0; i < size; i ++)
+        {
+            if (!UCharacter.isUnicodeIdentifierStart(unicodeidstart[i]))
+            {
+                errln("FAIL \\u" + hex(unicodeidstart[i]) +
+                    " expected to be a unicode identifier start character");
+                break;
+            }
+            if (UCharacter.isUnicodeIdentifierStart(nonunicodeidstart[i]))
+            {
+                errln("FAIL \\u" + hex(nonunicodeidstart[i]) +
+                        " expected not to be a unicode identifier start " +
+                        "character");
+                break;
+            }
+            if (!UCharacter.isUnicodeIdentifierPart(unicodeidpart[i]))
+            {
+                errln("FAIL \\u" + hex(unicodeidpart[i]) +
+                    " expected to be a unicode identifier part character");
+                break;
+            }
+            if (UCharacter.isUnicodeIdentifierPart(nonunicodeidpart[i]))
+            {
+                errln("FAIL \\u" + hex(nonunicodeidpart[i]) +
+                        " expected not to be a unicode identifier part " +
+                        "character");
+                break;
+            }
+            if (!UCharacter.isIdentifierIgnorable(idignore[i]))
+            {
+                errln("FAIL \\u" + hex(idignore[i]) +
+                        " expected to be a ignorable unicode character");
+                break;
+            }
+            if (UCharacter.isIdentifierIgnorable(nonidignore[i]))
+            {
+                errln("FAIL \\u" + hex(nonidignore[i]) +
+                    " expected not to be a ignorable unicode character");
+                break;
+            }
+            logln("Ok    \\u" + hex(unicodeidstart[i]) + " and \\u" +
+                    hex(nonunicodeidstart[i]) + " and \\u" +
+                    hex(unicodeidpart[i]) + " and \\u" +
+                    hex(nonunicodeidpart[i]) + " and \\u" +
+                    hex(idignore[i]) + " and \\u" + hex(nonidignore[i]));
+        }
+    }
+
+    /**
+    * Tests for the character types, direction.<br>
+    * This method reads in UnicodeData.txt file for testing purposes. A
+    * default path is provided relative to the src path, however the user
+    * could set a system property to change the directory path.<br>
+    * e.g. java -DUnicodeData="data_directory_path"
+    * com.ibm.icu.dev.test.lang.UCharacterTest
+    */
+    public void TestUnicodeData()
+    {
+        // this is the 2 char category types used in the UnicodeData file
+        final String TYPE =
+            "LuLlLtLmLoMnMeMcNdNlNoZsZlZpCcCfCoCsPdPsPePcPoSmScSkSoPiPf";
+
+        // directory types used in the UnicodeData file
+        // padded by spaces to make each type size 4
+        final String DIR =
+            "L   R   EN  ES  ET  AN  CS  B   S   WS  ON  LRE LRO AL  RLE RLO PDF NSM BN  ";
+
+        final int LASTUNICODECHAR = 0xFFFD;
+        int ch = 0,
+            index = 0,
+            type = 0,
+            dir = 0;
+
+        try
+        {
+            BufferedReader input = TestUtil.getDataReader(
+                                                "unicode/UnicodeData.txt");
+            int numErrors = 0;
+
+            while (ch != LASTUNICODECHAR)
+            {
+                String s = input.readLine();
+                if(s.length()<4 || s.startsWith("#")) {
+                    continue;
+                }
+                // geting the unicode character, its type and its direction
+                ch = Integer.parseInt(s.substring(0, 4), 16);
+                index = s.indexOf(';', 5);
+                String t = s.substring(index + 1, index + 3);
+                index += 4;
+                int oldindex = index;
+                index = s.indexOf(';', index);
+                int cc = Integer.parseInt(s.substring(oldindex, index));
+                oldindex = index + 1;
+                index = s.indexOf(';', oldindex);
+                String d = s.substring(oldindex, index);
+
+                for (int i = 0; i < 6; i ++) {
+                    index = s.indexOf(';', index + 1);
+                    // skipping to the 11th field
+                }
+                // iso comment
+                oldindex = index + 1;
+                index = s.indexOf(';', oldindex);
+                String isocomment = s.substring(oldindex, index);
+                // uppercase
+                oldindex = index + 1;
+                index = s.indexOf(';', oldindex);
+                String upper = s.substring(oldindex, index);
+                // lowercase
+                oldindex = index + 1;
+                index = s.indexOf(';', oldindex);
+                String lower = s.substring(oldindex, index);
+                // titlecase last element
+                oldindex = index + 1;
+                String title = s.substring(oldindex);
+
+                // testing the category
+                // we override the general category of some control
+                // characters
+                type = TYPE.indexOf(t);
+                if (type < 0)
+                    type = 0;
+                else
+                    type = (type >> 1) + 1;
+                if (UCharacter.getType(ch) != type)
+                {
+                    errln("FAIL \\u" + hex(ch) + " expected type " +
+                            type);
+                    break;
+                }
+
+                if (UCharacter.getIntPropertyValue(ch,
+                           UProperty.GENERAL_CATEGORY_MASK) != (1 << type)) {
+                    errln("error: getIntPropertyValue(\\u" +
+                          Integer.toHexString(ch) +
+                          ", UProperty.GENERAL_CATEGORY_MASK) != " +
+                          "getMask(getType(ch))");
+                }
+
+                // testing combining class
+                if (UCharacter.getCombiningClass(ch) != cc)
+                {
+                    errln("FAIL \\u" + hex(ch) + " expected combining " +
+                            "class " + cc);
+                    break;
+                }
+
+                // testing the direction
+                if (d.length() == 1)
+                    d = d + "   ";
+
+                dir = DIR.indexOf(d) >> 2;
+                if (UCharacter.getDirection(ch) != dir)
+                {
+                    errln("FAIL \\u" + hex(ch) +
+                        " expected direction " + dir + " but got " +
+              UCharacter.getDirection(ch));
+                    break;
+                }
+
+                byte bdir = (byte)dir;
+                if (UCharacter.getDirectionality(ch) != bdir)
+                {
+                    errln("FAIL \\u" + hex(ch) +
+                        " expected directionality " + bdir + " but got " +
+              UCharacter.getDirectionality(ch));
+                    break;
+                }
+
+                // testing iso comment
+                try{
+                    String comment = UCharacter.getISOComment(ch);
+                    if (comment == null) {
+                        comment = "";
+                    }
+                    if (!comment.equals(isocomment)) {
+                        errln("FAIL \\u" + hex(ch) +
+                            " expected iso comment " + isocomment);
+                        break;
+                    }
+                }catch(Exception e){
+                    if(e.getMessage().indexOf("unames.icu") >= 0){
+                        numErrors++;
+                    }else{
+                        throw e;
+                    }
+                }
+
+                int tempchar = ch;
+                if (upper.length() > 0) {
+                    tempchar = Integer.parseInt(upper, 16);
+                }
+                if (UCharacter.toUpperCase(ch) != tempchar) {
+                    errln("FAIL \\u" + Utility.hex(ch, 4)
+                            + " expected uppercase \\u"
+                            + Utility.hex(tempchar, 4));
+                    break;
+                }
+                tempchar = ch;
+                if (lower.length() > 0) {
+                    tempchar = Integer.parseInt(lower, 16);
+                }
+                if (UCharacter.toLowerCase(ch) != tempchar) {
+                    errln("FAIL \\u" + Utility.hex(ch, 4)
+                            + " expected lowercase \\u"
+                            + Utility.hex(tempchar, 4));
+                    break;
+                }
+                tempchar = ch;
+                if (title.length() > 0) {
+                    tempchar = Integer.parseInt(title, 16);
+                }
+                if (UCharacter.toTitleCase(ch) != tempchar) {
+                    errln("FAIL \\u" + Utility.hex(ch, 4)
+                            + " expected titlecase \\u"
+                            + Utility.hex(tempchar, 4));
+                    break;
+                }
+            }
+            input.close();
+            if(numErrors > 0){
+                warnln("Could not find unames.icu");
+            }
+        }
+        catch (Exception e)
+        {
+            e.printStackTrace();
+        }
+
+
+        if (UCharacter.UnicodeBlock.of(0x0041)
+                                        != UCharacter.UnicodeBlock.BASIC_LATIN
+            || UCharacter.getIntPropertyValue(0x41, UProperty.BLOCK)
+                              != UCharacter.UnicodeBlock.BASIC_LATIN.getID()) {
+            errln("UCharacter.UnicodeBlock.of(\\u0041) property failed! "
+                    + "Expected : "
+                    + UCharacter.UnicodeBlock.BASIC_LATIN.getID() + " got "
+                    + UCharacter.UnicodeBlock.of(0x0041));
+        }
+
+        // sanity check on repeated properties
+        for (ch = 0xfffe; ch <= 0x10ffff;) {
+            type = UCharacter.getType(ch);
+            if (UCharacter.getIntPropertyValue(ch,
+                                               UProperty.GENERAL_CATEGORY_MASK)
+                != (1 << type)) {
+                errln("error: UCharacter.getIntPropertyValue(\\u"
+                      + Integer.toHexString(ch)
+                      + ", UProperty.GENERAL_CATEGORY_MASK) != "
+                      + "getMask(getType())");
+            }
+            if (type != UCharacterCategory.UNASSIGNED) {
+                errln("error: UCharacter.getType(\\u" + Utility.hex(ch, 4)
+                        + " != UCharacterCategory.UNASSIGNED (returns "
+                        + UCharacterCategory.toString(UCharacter.getType(ch))
+                        + ")");
+            }
+            if ((ch & 0xffff) == 0xfffe) {
+                ++ ch;
+            }
+            else {
+                ch += 0xffff;
+            }
+        }
+
+        // test that PUA is not "unassigned"
+        for(ch = 0xe000; ch <= 0x10fffd;) {
+            type = UCharacter.getType(ch);
+            if (UCharacter.getIntPropertyValue(ch,
+                                               UProperty.GENERAL_CATEGORY_MASK)
+                != (1 << type)) {
+                errln("error: UCharacter.getIntPropertyValue(\\u"
+                      + Integer.toHexString(ch)
+                      + ", UProperty.GENERAL_CATEGORY_MASK) != "
+                      + "getMask(getType())");
+            }
+
+            if (type == UCharacterCategory.UNASSIGNED) {
+                errln("error: UCharacter.getType(\\u"
+                        + Utility.hex(ch, 4)
+                        + ") == UCharacterCategory.UNASSIGNED");
+            }
+            else if (type != UCharacterCategory.PRIVATE_USE) {
+                logln("PUA override: UCharacter.getType(\\u"
+                      + Utility.hex(ch, 4) + ")=" + type);
+            }
+            if (ch == 0xf8ff) {
+                ch = 0xf0000;
+            }
+            else if (ch == 0xffffd) {
+                ch = 0x100000;
+            }
+            else {
+                ++ ch;
+            }
+        }
+    }
+
+
+    /**
+    * Test for the character names
+    */
+    public void TestNames()
+    {
+        try{
+            int length = UCharacterName.getInstance().getMaxCharNameLength();
+            if (length < 83) { // Unicode 3.2 max char name length
+               errln("getMaxCharNameLength()=" + length + " is too short");
+            }
+            // ### TODO same tests for max ISO comment length as for max name length
+
+            int c[] = {0x0061,                //LATIN SMALL LETTER A
+                       0x000284,              //LATIN SMALL LETTER DOTLESS J WITH STROKE AND HOOK
+                       0x003401,              //CJK UNIFIED IDEOGRAPH-3401
+                       0x007fed,              //CJK UNIFIED IDEOGRAPH-7FED
+                       0x00ac00,              //HANGUL SYLLABLE GA
+                       0x00d7a3,              //HANGUL SYLLABLE HIH
+                       0x00d800, 0x00dc00,    //LINEAR B SYLLABLE B008 A
+                       0xff08,                //FULLWIDTH LEFT PARENTHESIS
+                       0x00ffe5,              //FULLWIDTH YEN SIGN
+                       0x00ffff,              //null
+                       0x0023456              //CJK UNIFIED IDEOGRAPH-23456
+                       };
+            String name[] = {
+                             "LATIN SMALL LETTER A",
+                             "LATIN SMALL LETTER DOTLESS J WITH STROKE AND HOOK",
+                             "CJK UNIFIED IDEOGRAPH-3401",
+                             "CJK UNIFIED IDEOGRAPH-7FED",
+                             "HANGUL SYLLABLE GA",
+                             "HANGUL SYLLABLE HIH",
+                             "",
+                             "",
+                             "FULLWIDTH LEFT PARENTHESIS",
+                             "FULLWIDTH YEN SIGN",
+                             "",
+                             "CJK UNIFIED IDEOGRAPH-23456"
+                             };
+            String oldname[] = {"", "LATIN SMALL LETTER DOTLESS J BAR HOOK", "",
+                            "",
+                            "", "", "", "", "FULLWIDTH OPENING PARENTHESIS", "",
+                            "", ""};
+            String extendedname[] = {"LATIN SMALL LETTER A",
+                                 "LATIN SMALL LETTER DOTLESS J WITH STROKE AND HOOK",
+                                 "CJK UNIFIED IDEOGRAPH-3401",
+                                 "CJK UNIFIED IDEOGRAPH-7FED",
+                                 "HANGUL SYLLABLE GA",
+                                 "HANGUL SYLLABLE HIH",
+                                 "<lead surrogate-D800>",
+                                 "<trail surrogate-DC00>",
+                                 "FULLWIDTH LEFT PARENTHESIS",
+                                 "FULLWIDTH YEN SIGN",
+                                 "<noncharacter-FFFF>",
+                                 "CJK UNIFIED IDEOGRAPH-23456"};
+
+            int size = c.length;
+            String str;
+            int uc;
+
+            for (int i = 0; i < size; i ++)
+            {
+                // modern Unicode character name
+                str = UCharacter.getName(c[i]);
+                if ((str == null && name[i].length() > 0) ||
+                    (str != null && !str.equals(name[i])))
+                {
+                    errln("FAIL \\u" + hex(c[i]) + " expected name " +
+                            name[i]);
+                    break;
+                }
+
+                // 1.0 Unicode character name
+                str = UCharacter.getName1_0(c[i]);
+                if ((str == null && oldname[i].length() > 0) ||
+                    (str != null && !str.equals(oldname[i])))
+                {
+                    errln("FAIL \\u" + hex(c[i]) + " expected 1.0 name " +
+                            oldname[i]);
+                    break;
+                }
+
+                // extended character name
+                str = UCharacter.getExtendedName(c[i]);
+                if (str == null || !str.equals(extendedname[i]))
+                {
+                    errln("FAIL \\u" + hex(c[i]) + " expected extended name " +
+                            extendedname[i]);
+                    break;
+                }
+
+                // retrieving unicode character from modern name
+                uc = UCharacter.getCharFromName(name[i]);
+                if (uc != c[i] && name[i].length() != 0)
+                {
+                    errln("FAIL " + name[i] + " expected character \\u" +
+                          hex(c[i]));
+                    break;
+                }
+
+                //retrieving unicode character from 1.0 name
+                uc = UCharacter.getCharFromName1_0(oldname[i]);
+                if (uc != c[i] && oldname[i].length() != 0)
+                {
+                    errln("FAIL " + oldname[i] + " expected 1.0 character \\u" +
+                          hex(c[i]));
+                    break;
+                }
+
+                //retrieving unicode character from 1.0 name
+                uc = UCharacter.getCharFromExtendedName(extendedname[i]);
+                if (uc != c[i] && i != 0 && (i == 1 || i == 6))
+                {
+                    errln("FAIL " + extendedname[i] +
+                          " expected extended character \\u" + hex(c[i]));
+                    break;
+                }
+            }
+
+            // test getName works with mixed-case names (new in 2.0)
+            if (0x61 != UCharacter.getCharFromName("LATin smALl letTER A")) {
+                errln("FAIL: 'LATin smALl letTER A' should result in character "
+                      + "U+0061");
+            }
+
+            if (getInclusion() >= 5) {
+                // extra testing different from icu
+                for (int i = UCharacter.MIN_VALUE; i < UCharacter.MAX_VALUE; i ++)
+                {
+                    str = UCharacter.getName(i);
+                    if (str != null && UCharacter.getCharFromName(str) != i)
+                    {
+                        errln("FAIL \\u" + hex(i) + " " + str  +
+                                            " retrieval of name and vice versa" );
+                        break;
+                    }
+                }
+            }
+
+            // Test getCharNameCharacters
+            if (getInclusion() >= 10) {
+                boolean map[] = new boolean[256];
+
+                UnicodeSet set = new UnicodeSet(1, 0); // empty set
+                UnicodeSet dumb = new UnicodeSet(1, 0); // empty set
+
+                // uprv_getCharNameCharacters() will likely return more lowercase
+                // letters than actual character names contain because
+                // it includes all the characters in lowercased names of
+                // general categories, for the full possible set of extended names.
+                UCharacterName.getInstance().getCharNameCharacters(set);
+
+                // build set the dumb (but sure-fire) way
+                Arrays.fill(map, false);
+
+                int maxLength = 0;
+                for (int cp = 0; cp < 0x110000; ++ cp) {
+                    String n = UCharacter.getExtendedName(cp);
+                    int len = n.length();
+                    if (len > maxLength) {
+                        maxLength = len;
+                    }
+
+                    for (int i = 0; i < len; ++ i) {
+                        char ch = n.charAt(i);
+                        if (!map[ch & 0xff]) {
+                            dumb.add(ch);
+                            map[ch & 0xff] = true;
+                        }
+                    }
+                }
+
+                length = UCharacterName.getInstance().getMaxCharNameLength();
+                if (length != maxLength) {
+                    errln("getMaxCharNameLength()=" + length
+                          + " differs from the maximum length " + maxLength
+                          + " of all extended names");
+                }
+
+                // compare the sets.  Where is my uset_equals?!!
+                boolean ok = true;
+                for (int i = 0; i < 256; ++ i) {
+                    if (set.contains(i) != dumb.contains(i)) {
+                        if (0x61 <= i && i <= 0x7a // a-z
+                            && set.contains(i) && !dumb.contains(i)) {
+                            // ignore lowercase a-z that are in set but not in dumb
+                            ok = true;
+                        }
+                        else {
+                            ok = false;
+                            break;
+                        }
+                    }
+                }
+
+                String pattern1 = set.toPattern(true);
+                String pattern2 = dumb.toPattern(true);
+
+                if (!ok) {
+                    errln("FAIL: getCharNameCharacters() returned " + pattern1
+                          + " expected " + pattern2
+                          + " (too many lowercase a-z are ok)");
+                } else {
+                    logln("Ok: getCharNameCharacters() returned " + pattern1);
+                }
+            }
+            // improve code coverage
+           String expected = "LATIN SMALL LETTER A|LATIN SMALL LETTER DOTLESS J WITH STROKE AND HOOK|"+
+                             "CJK UNIFIED IDEOGRAPH-3401|CJK UNIFIED IDEOGRAPH-7FED|HANGUL SYLLABLE GA|"+
+                             "HANGUL SYLLABLE HIH|LINEAR B SYLLABLE B008 A|FULLWIDTH LEFT PARENTHESIS|"+
+                             "FULLWIDTH YEN SIGN|"+
+                             "null|"+ // getName returns null because 0xFFFF does not have a name, but has an extended name!
+                             "CJK UNIFIED IDEOGRAPH-23456";
+           String separator= "|";
+           String source = Utility.valueOf(c);
+           String result = UCharacter.getName(source, separator);
+           if(!result.equals(expected)){
+               errln("UCharacter.getName did not return the expected result.\n\t Expected: "+ expected+"\n\t Got: "+ result);
+           }
+
+        }catch(IllegalArgumentException e){
+            if(e.getMessage().indexOf("unames.icu") >= 0){
+                warnln("Could not find unames.icu");
+            }else{
+                throw e;
+            }
+        }
+
+    }
+
+
+    /**
+    * Testing name iteration
+    */
+    public void TestNameIteration()throws Exception
+    {
+        try {
+            ValueIterator iterator = UCharacter.getExtendedNameIterator();
+            ValueIterator.Element element = new ValueIterator.Element();
+            ValueIterator.Element old     = new ValueIterator.Element();
+            // testing subrange
+            iterator.setRange(-10, -5);
+            if (iterator.next(element)) {
+                errln("Fail, expected iterator to return false when range is set outside the meaningful range");
+            }
+            iterator.setRange(0x110000, 0x111111);
+            if (iterator.next(element)) {
+                errln("Fail, expected iterator to return false when range is set outside the meaningful range");
+            }
+            try {
+                iterator.setRange(50, 10);
+                errln("Fail, expected exception when encountered invalid range");
+            } catch (Exception e) {
+            }
+
+            iterator.setRange(-10, 10);
+            if (!iterator.next(element) || element.integer != 0) {
+                errln("Fail, expected iterator to return 0 when range start limit is set outside the meaningful range");
+            }
+
+            iterator.setRange(0x10FFFE, 0x200000);
+            int last = 0;
+            while (iterator.next(element)) {
+                last = element.integer;
+            }
+            if (last != 0x10FFFF) {
+                errln("Fail, expected iterator to return 0x10FFFF when range end limit is set outside the meaningful range");
+            }
+
+            iterator = UCharacter.getNameIterator();
+            iterator.setRange(0xF, 0x45);
+            while (iterator.next(element)) {
+                if (element.integer <= old.integer) {
+                    errln("FAIL next returned a less codepoint \\u" +
+                        Integer.toHexString(element.integer) + " than \\u" +
+                        Integer.toHexString(old.integer));
+                    break;
+                }
+                if (!UCharacter.getName(element.integer).equals(element.value))
+                {
+                    errln("FAIL next codepoint \\u" +
+                        Integer.toHexString(element.integer) +
+                        " does not have the expected name " +
+                        UCharacter.getName(element.integer) +
+                        " instead have the name " + (String)element.value);
+                    break;
+                }
+                old.integer = element.integer;
+            }
+
+            iterator.reset();
+            iterator.next(element);
+            if (element.integer != 0x20) {
+                errln("FAIL reset in iterator");
+            }
+
+            iterator.setRange(0, 0x110000);
+            old.integer = 0;
+            while (iterator.next(element)) {
+                if (element.integer != 0 && element.integer <= old.integer) {
+                    errln("FAIL next returned a less codepoint \\u" +
+                        Integer.toHexString(element.integer) + " than \\u" +
+                        Integer.toHexString(old.integer));
+                    break;
+                }
+                if (!UCharacter.getName(element.integer).equals(element.value))
+                {
+                    errln("FAIL next codepoint \\u" +
+                            Integer.toHexString(element.integer) +
+                            " does not have the expected name " +
+                            UCharacter.getName(element.integer) +
+                            " instead have the name " + (String)element.value);
+                    break;
+                }
+                for (int i = old.integer + 1; i < element.integer; i ++) {
+                    if (UCharacter.getName(i) != null) {
+                        errln("FAIL between codepoints are not null \\u" +
+                                Integer.toHexString(old.integer) + " and " +
+                                Integer.toHexString(element.integer) + " has " +
+                                Integer.toHexString(i) + " with a name " +
+                                UCharacter.getName(i));
+                        break;
+                    }
+                }
+                old.integer = element.integer;
+            }
+
+            iterator = UCharacter.getExtendedNameIterator();
+            old.integer = 0;
+            while (iterator.next(element)) {
+                if (element.integer != 0 && element.integer != old.integer) {
+                    errln("FAIL next returned a codepoint \\u" +
+                            Integer.toHexString(element.integer) +
+                            " different from \\u" +
+                            Integer.toHexString(old.integer));
+                    break;
+                }
+                if (!UCharacter.getExtendedName(element.integer).equals(
+                                                              element.value)) {
+                    errln("FAIL next codepoint \\u" +
+                        Integer.toHexString(element.integer) +
+                        " name should be "
+                        + UCharacter.getExtendedName(element.integer) +
+                        " instead of " + (String)element.value);
+                    break;
+                }
+                old.integer++;
+            }
+            iterator = UCharacter.getName1_0Iterator();
+            old.integer = 0;
+            while (iterator.next(element)) {
+                logln(Integer.toHexString(element.integer) + " " +
+                                                        (String)element.value);
+                if (element.integer != 0 && element.integer <= old.integer) {
+                    errln("FAIL next returned a less codepoint \\u" +
+                        Integer.toHexString(element.integer) + " than \\u" +
+                        Integer.toHexString(old.integer));
+                    break;
+                }
+                if (!element.value.equals(UCharacter.getName1_0(
+                                                            element.integer))) {
+                    errln("FAIL next codepoint \\u" +
+                            Integer.toHexString(element.integer) +
+                            " name cannot be null");
+                    break;
+                }
+                for (int i = old.integer + 1; i < element.integer; i ++) {
+                    if (UCharacter.getName1_0(i) != null) {
+                        errln("FAIL between codepoints are not null \\u" +
+                            Integer.toHexString(old.integer) + " and " +
+                            Integer.toHexString(element.integer) + " has " +
+                            Integer.toHexString(i) + " with a name " +
+                            UCharacter.getName1_0(i));
+                        break;
+                    }
+                }
+                old.integer = element.integer;
+            }
+        } catch(Exception e){
+            // !!! wouldn't preflighting be simpler?  This looks like
+            // it is effectively be doing that.  It seems that for every
+            // true error the code will call errln, which will throw the error, which
+            // this will catch, which this will then rethrow the error.  Just seems
+            // cumbersome.
+            if(e.getMessage().indexOf("unames.icu") >= 0){
+                warnln("Could not find unames.icu");
+            } else {
+                errln(e.getMessage());
+            }
+        }
+    }
+
+    /**
+    * Testing the for illegal characters
+    */
+    public void TestIsLegal()
+    {
+        int illegal[] = {0xFFFE, 0x00FFFF, 0x005FFFE, 0x005FFFF, 0x0010FFFE,
+                         0x0010FFFF, 0x110000, 0x00FDD0, 0x00FDDF, 0x00FDE0,
+                         0x00FDEF, 0xD800, 0xDC00, -1};
+        int legal[] = {0x61, 0x00FFFD, 0x0010000, 0x005FFFD, 0x0060000,
+                       0x0010FFFD, 0xFDCF, 0x00FDF0};
+        for (int count = 0; count < illegal.length; count ++) {
+            if (UCharacter.isLegal(illegal[count])) {
+                errln("FAIL \\u" + hex(illegal[count]) +
+                        " is not a legal character");
+            }
+        }
+
+        for (int count = 0; count < legal.length; count ++) {
+            if (!UCharacter.isLegal(legal[count])) {
+                errln("FAIL \\u" + hex(legal[count]) +
+                                                   " is a legal character");
+            }
+        }
+
+        String illegalStr = "This is an illegal string ";
+        String legalStr = "This is a legal string ";
+
+        for (int count = 0; count < illegal.length; count ++) {
+            StringBuffer str = new StringBuffer(illegalStr);
+            if (illegal[count] < 0x10000) {
+                str.append((char)illegal[count]);
+            }
+            else {
+                char lead = UTF16.getLeadSurrogate(illegal[count]);
+                char trail = UTF16.getTrailSurrogate(illegal[count]);
+                str.append(lead);
+                str.append(trail);
+            }
+            if (UCharacter.isLegal(str.toString())) {
+                errln("FAIL " + hex(str.toString()) +
+                      " is not a legal string");
+            }
+        }
+
+        for (int count = 0; count < legal.length; count ++) {
+            StringBuffer str = new StringBuffer(legalStr);
+            if (legal[count] < 0x10000) {
+                str.append((char)legal[count]);
+            }
+            else {
+                char lead = UTF16.getLeadSurrogate(legal[count]);
+                char trail = UTF16.getTrailSurrogate(legal[count]);
+                str.append(lead);
+                str.append(trail);
+            }
+            if (!UCharacter.isLegal(str.toString())) {
+                errln("FAIL " + hex(str.toString()) + " is a legal string");
+            }
+        }
+    }
+
+    /**
+     * Test getCodePoint
+     */
+    public void TestCodePoint()
+    {
+        int ch = 0x10000;
+        for (char i = 0xD800; i < 0xDC00; i ++) {
+            for (char j = 0xDC00; j <= 0xDFFF; j ++) {
+                if (UCharacter.getCodePoint(i, j) != ch) {
+                    errln("Error getting codepoint for surrogate " +
+                          "characters \\u"
+                          + Integer.toHexString(i) + " \\u" +
+                          Integer.toHexString(j));
+                }
+                ch ++;
+            }
+        }
+        try
+        {
+            UCharacter.getCodePoint((char)0xD7ff, (char)0xDC00);
+            errln("Invalid surrogate characters should not form a " +
+                  "supplementary");
+        } catch(Exception e) {
+        }
+        for (char i = 0; i < 0xFFFF; i++) {
+            if (i == 0xFFFE ||
+                (i >= 0xD800 && i <= 0xDFFF) ||
+                (i >= 0xFDD0 && i <= 0xFDEF)) {
+                // not a character
+                try {
+                    UCharacter.getCodePoint(i);
+                    errln("Not a character is not a valid codepoint");
+                } catch (Exception e) {
+                }
+            }
+            else {
+                if (UCharacter.getCodePoint(i) != i) {
+                    errln("A valid codepoint should return itself");
+                }
+            }
+        }
+    }
+
+    /**
+    * This method is alittle different from the type test in icu4c.
+    * But combined with testUnicodeData, they basically do the same thing.
+    */
+    public void TestIteration()
+    {
+        int limit     = 0;
+        int prevtype  = -1;
+        int shouldBeDir;
+        int test[][]={{0x41, UCharacterCategory.UPPERCASE_LETTER},
+                        {0x308, UCharacterCategory.NON_SPACING_MARK},
+                        {0xfffe, UCharacterCategory.GENERAL_OTHER_TYPES},
+                        {0xe0041, UCharacterCategory.FORMAT},
+                        {0xeffff, UCharacterCategory.UNASSIGNED}};
+
+        // default Bidi classes for unassigned code points
+        int defaultBidi[][]={{ 0x0590, UCharacterDirection.LEFT_TO_RIGHT },
+            { 0x0600, UCharacterDirection.RIGHT_TO_LEFT },
+            { 0x07C0, UCharacterDirection.RIGHT_TO_LEFT_ARABIC },
+            { 0x0900, UCharacterDirection.RIGHT_TO_LEFT },
+            { 0xFB1D, UCharacterDirection.LEFT_TO_RIGHT },
+            { 0xFB50, UCharacterDirection.RIGHT_TO_LEFT },
+            { 0xFE00, UCharacterDirection.RIGHT_TO_LEFT_ARABIC },
+            { 0xFE70, UCharacterDirection.LEFT_TO_RIGHT },
+            { 0xFF00, UCharacterDirection.RIGHT_TO_LEFT_ARABIC },
+            { 0x10800, UCharacterDirection.LEFT_TO_RIGHT },
+            { 0x11000, UCharacterDirection.RIGHT_TO_LEFT },
+            { 0x110000, UCharacterDirection.LEFT_TO_RIGHT }};
+
+        RangeValueIterator iterator = UCharacter.getTypeIterator();
+        RangeValueIterator.Element result = new RangeValueIterator.Element();
+        while (iterator.next(result)) {
+            if (result.start != limit) {
+                errln("UCharacterIteration failed: Ranges not continuous " +
+                        "0x" + Integer.toHexString(result.start));
+            }
+
+            limit = result.limit;
+            if (result.value == prevtype) {
+                errln("Type of the next set of enumeration should be different");
+            }
+            prevtype = result.value;
+
+            for (int i = result.start; i < limit; i ++) {
+                int temptype = UCharacter.getType(i);
+                if (temptype != result.value) {
+                    errln("UCharacterIteration failed: Codepoint \\u" +
+                            Integer.toHexString(i) + " should be of type " +
+                            temptype + " not " + result.value);
+                }
+            }
+
+            for (int i = 0; i < test.length; ++ i) {
+                if (result.start <= test[i][0] && test[i][0] < result.limit) {
+                    if (result.value != test[i][1]) {
+                        errln("error: getTypes() has range ["
+                              + Integer.toHexString(result.start) + ", "
+                              + Integer.toHexString(result.limit)
+                              + "] with type " + result.value
+                              + " instead of ["
+                              + Integer.toHexString(test[i][0]) + ", "
+                              + Integer.toHexString(test[i][1]));
+                    }
+                }
+            }
+
+            // LineBreak.txt specifies:
+            //   #  - Assigned characters that are not listed explicitly are given the value
+            //   #    "AL".
+            //   #  - Unassigned characters are given the value "XX".
+            //
+            // PUA characters are listed explicitly with "XX".
+            // Verify that no assigned character has "XX".
+            if (result.value != UCharacterCategory.UNASSIGNED
+                && result.value != UCharacterCategory.PRIVATE_USE) {
+                int c = result.start;
+                while (c < result.limit) {
+                    if (0 == UCharacter.getIntPropertyValue(c,
+                                                UProperty.LINE_BREAK)) {
+                        logln("error UProperty.LINE_BREAK(assigned \\u"
+                              + Utility.hex(c, 4) + ")=XX");
+                    }
+                    ++ c;
+                }
+            }
+
+            /*
+             * Verify default Bidi classes.
+             * For recent Unicode versions, see UCD.html.
+             *
+             * For older Unicode versions:
+             * See table 3-7 "Bidirectional Character Types" in UAX #9.
+             * http://www.unicode.org/reports/tr9/
+             *
+             * See also DerivedBidiClass.txt for Cn code points!
+             *
+             * Unicode 4.0.1/Public Review Issue #28 (http://www.unicode.org/review/resolved-pri.html)
+             * changed some default values.
+             * In particular, non-characters and unassigned Default Ignorable Code Points
+             * change from L to BN.
+             *
+             * UCD.html version 4.0.1 does not yet reflect these changes.
+             */
+            if (result.value == UCharacterCategory.UNASSIGNED
+                || result.value == UCharacterCategory.PRIVATE_USE) {
+                int c = result.start;
+                for (int i = 0; i < defaultBidi.length && c < result.limit;
+                     ++ i) {
+                    if (c < defaultBidi[i][0]) {
+                        while (c < result.limit && c < defaultBidi[i][0]) {
+                            // TODO change to public UCharacter.isNonCharacter(c) once it's available
+                            if(com.ibm.icu.impl.UCharacterUtility.isNonCharacter(c) || UCharacter.hasBinaryProperty(c, UProperty.DEFAULT_IGNORABLE_CODE_POINT)) {
+                                shouldBeDir=UCharacter.BOUNDARY_NEUTRAL;
+                            } else {
+                                shouldBeDir=defaultBidi[i][1];
+                            }
+
+                            if (UCharacter.getDirection(c) != shouldBeDir
+                                || UCharacter.getIntPropertyValue(c,
+                                                          UProperty.BIDI_CLASS)
+                                   != shouldBeDir) {
+                                errln("error: getDirection(unassigned/PUA "
+                                      + Integer.toHexString(c)
+                                      + ") should be "
+                                      + shouldBeDir);
+                            }
+                            ++ c;
+                        }
+                    }
+                }
+            }
+        }
+
+        iterator.reset();
+        if (iterator.next(result) == false || result.start != 0) {
+            System.out.println("result " + result.start);
+            errln("UCharacterIteration reset() failed");
+        }
+    }
+
+    /**
+     * Testing getAge
+     */
+    public void TestGetAge()
+    {
+        int ages[] = {0x41,    1, 1, 0, 0,
+                      0xffff,  1, 1, 0, 0,
+                      0x20ab,  2, 0, 0, 0,
+                      0x2fffe, 2, 0, 0, 0,
+                      0x20ac,  2, 1, 0, 0,
+                      0xfb1d,  3, 0, 0, 0,
+                      0x3f4,   3, 1, 0, 0,
+                      0x10300, 3, 1, 0, 0,
+                      0x220,   3, 2, 0, 0,
+                      0xff60,  3, 2, 0, 0};
+        for (int i = 0; i < ages.length; i += 5) {
+            VersionInfo age = UCharacter.getAge(ages[i]);
+            if (age != VersionInfo.getInstance(ages[i + 1], ages[i + 2],
+                                               ages[i + 3], ages[i + 4])) {
+                errln("error: getAge(\\u" + Integer.toHexString(ages[i]) +
+                      ") == " + age.toString() + " instead of " +
+                      ages[i + 1] + "." + ages[i + 2] + "." + ages[i + 3] +
+                      "." + ages[i + 4]);
+            }
+        }
+    }
+
+    /**
+     * Test binary non core properties
+     */
+    public void TestAdditionalProperties()
+    {
+        // test data for hasBinaryProperty()
+        int props[][] = { // code point, property
+            { 0x0627, UProperty.ALPHABETIC, 1 },
+            { 0x1034a, UProperty.ALPHABETIC, 1 },
+            { 0x2028, UProperty.ALPHABETIC, 0 },
+
+            { 0x0066, UProperty.ASCII_HEX_DIGIT, 1 },
+            { 0x0067, UProperty.ASCII_HEX_DIGIT, 0 },
+
+            { 0x202c, UProperty.BIDI_CONTROL, 1 },
+            { 0x202f, UProperty.BIDI_CONTROL, 0 },
+
+            { 0x003c, UProperty.BIDI_MIRRORED, 1 },
+            { 0x003d, UProperty.BIDI_MIRRORED, 0 },
+
+            { 0x058a, UProperty.DASH, 1 },
+            { 0x007e, UProperty.DASH, 0 },
+
+            { 0x0c4d, UProperty.DIACRITIC, 1 },
+            { 0x3000, UProperty.DIACRITIC, 0 },
+
+            { 0x0e46, UProperty.EXTENDER, 1 },
+            { 0x0020, UProperty.EXTENDER, 0 },
+
+            { 0xfb1d, UProperty.FULL_COMPOSITION_EXCLUSION, 1 },
+            { 0x1d15f, UProperty.FULL_COMPOSITION_EXCLUSION, 1 },
+            { 0xfb1e, UProperty.FULL_COMPOSITION_EXCLUSION, 0 },
+
+            { 0x110a, UProperty.NFD_INERT, 1 },      /* Jamo L */
+            { 0x0308, UProperty.NFD_INERT, 0 },
+
+            { 0x1164, UProperty.NFKD_INERT, 1 },     /* Jamo V */
+            { 0x1d79d, UProperty.NFKD_INERT, 0 },   /* math compat version of xi */
+
+            { 0x0021, UProperty.NFC_INERT, 1 },      /* ! */
+            { 0x0061, UProperty.NFC_INERT, 0 },     /* a */
+            { 0x00e4, UProperty.NFC_INERT, 0 },     /* a-umlaut */
+            { 0x0102, UProperty.NFC_INERT, 0 },     /* a-breve */
+            { 0xac1c, UProperty.NFC_INERT, 0 },     /* Hangul LV */
+            { 0xac1d, UProperty.NFC_INERT, 1 },      /* Hangul LVT */
+
+            { 0x1d79d, UProperty.NFKC_INERT, 0 },   /* math compat version of xi */
+            { 0x2a6d6, UProperty.NFKC_INERT, 1 },    /* Han, last of CJK ext. B */
+
+            { 0x00e4, UProperty.SEGMENT_STARTER, 1 },
+            { 0x0308, UProperty.SEGMENT_STARTER, 0 },
+            { 0x110a, UProperty.SEGMENT_STARTER, 1 }, /* Jamo L */
+            { 0x1164, UProperty.SEGMENT_STARTER, 0 },/* Jamo V */
+            { 0xac1c, UProperty.SEGMENT_STARTER, 1 }, /* Hangul LV */
+            { 0xac1d, UProperty.SEGMENT_STARTER, 1 }, /* Hangul LVT */
+
+            { 0x0044, UProperty.HEX_DIGIT, 1 },
+            { 0xff46, UProperty.HEX_DIGIT, 1 },
+            { 0x0047, UProperty.HEX_DIGIT, 0 },
+
+            { 0x30fb, UProperty.HYPHEN, 1 },
+            { 0xfe58, UProperty.HYPHEN, 0 },
+
+            { 0x2172, UProperty.ID_CONTINUE, 1 },
+            { 0x0307, UProperty.ID_CONTINUE, 1 },
+            { 0x005c, UProperty.ID_CONTINUE, 0 },
+
+            { 0x2172, UProperty.ID_START, 1 },
+            { 0x007a, UProperty.ID_START, 1 },
+            { 0x0039, UProperty.ID_START, 0 },
+
+            { 0x4db5, UProperty.IDEOGRAPHIC, 1 },
+            { 0x2f999, UProperty.IDEOGRAPHIC, 1 },
+            { 0x2f99, UProperty.IDEOGRAPHIC, 0 },
+
+            { 0x200c, UProperty.JOIN_CONTROL, 1 },
+            { 0x2029, UProperty.JOIN_CONTROL, 0 },
+
+            { 0x1d7bc, UProperty.LOWERCASE, 1 },
+            { 0x0345, UProperty.LOWERCASE, 1 },
+            { 0x0030, UProperty.LOWERCASE, 0 },
+
+            { 0x1d7a9, UProperty.MATH, 1 },
+            { 0x2135, UProperty.MATH, 1 },
+            { 0x0062, UProperty.MATH, 0 },
+
+            { 0xfde1, UProperty.NONCHARACTER_CODE_POINT, 1 },
+            { 0x10ffff, UProperty.NONCHARACTER_CODE_POINT, 1 },
+            { 0x10fffd, UProperty.NONCHARACTER_CODE_POINT, 0 },
+
+            { 0x0022, UProperty.QUOTATION_MARK, 1 },
+            { 0xff62, UProperty.QUOTATION_MARK, 1 },
+            { 0xd840, UProperty.QUOTATION_MARK, 0 },
+
+            { 0x061f, UProperty.TERMINAL_PUNCTUATION, 1 },
+            { 0xe003f, UProperty.TERMINAL_PUNCTUATION, 0 },
+
+            { 0x1d44a, UProperty.UPPERCASE, 1 },
+            { 0x2162, UProperty.UPPERCASE, 1 },
+            { 0x0345, UProperty.UPPERCASE, 0 },
+
+            { 0x0020, UProperty.WHITE_SPACE, 1 },
+            { 0x202f, UProperty.WHITE_SPACE, 1 },
+            { 0x3001, UProperty.WHITE_SPACE, 0 },
+
+            { 0x0711, UProperty.XID_CONTINUE, 1 },
+            { 0x1d1aa, UProperty.XID_CONTINUE, 1 },
+            { 0x007c, UProperty.XID_CONTINUE, 0 },
+
+            { 0x16ee, UProperty.XID_START, 1 },
+            { 0x23456, UProperty.XID_START, 1 },
+            { 0x1d1aa, UProperty.XID_START, 0 },
+
+            /*
+             * Version break:
+             * The following properties are only supported starting with the
+             * Unicode version indicated in the second field.
+             */
+            { -1, 0x320, 0 },
+
+            { 0x180c, UProperty.DEFAULT_IGNORABLE_CODE_POINT, 1 },
+            { 0xfe02, UProperty.DEFAULT_IGNORABLE_CODE_POINT, 1 },
+            { 0x1801, UProperty.DEFAULT_IGNORABLE_CODE_POINT, 0 },
+
+            { 0x0341, UProperty.DEPRECATED, 1 },
+            { 0xe0041, UProperty.DEPRECATED, 0 },
+
+            { 0x00a0, UProperty.GRAPHEME_BASE, 1 },
+            { 0x0a4d, UProperty.GRAPHEME_BASE, 0 },
+            { 0xff9f, UProperty.GRAPHEME_BASE, 1 },      /* changed from Unicode 3.2 to 4 */
+
+            { 0x0300, UProperty.GRAPHEME_EXTEND, 1 },
+            { 0xff9f, UProperty.GRAPHEME_EXTEND, 0 },   /* changed from Unicode 3.2 to 4 */
+            { 0x0603, UProperty.GRAPHEME_EXTEND, 0 },
+
+            { 0x0a4d, UProperty.GRAPHEME_LINK, 1 },
+            { 0xff9f, UProperty.GRAPHEME_LINK, 0 },
+
+            { 0x2ff7, UProperty.IDS_BINARY_OPERATOR, 1 },
+            { 0x2ff3, UProperty.IDS_BINARY_OPERATOR, 0 },
+
+            { 0x2ff3, UProperty.IDS_TRINARY_OPERATOR, 1 },
+            { 0x2f03, UProperty.IDS_TRINARY_OPERATOR, 0 },
+
+            { 0x0ec1, UProperty.LOGICAL_ORDER_EXCEPTION, 1 },
+            { 0xdcba, UProperty.LOGICAL_ORDER_EXCEPTION, 0 },
+
+            { 0x2e9b, UProperty.RADICAL, 1 },
+            { 0x4e00, UProperty.RADICAL, 0 },
+
+            { 0x012f, UProperty.SOFT_DOTTED, 1 },
+            { 0x0049, UProperty.SOFT_DOTTED, 0 },
+
+            { 0xfa11, UProperty.UNIFIED_IDEOGRAPH, 1 },
+            { 0xfa12, UProperty.UNIFIED_IDEOGRAPH, 0 },
+
+            { -1, 0x401, 0 }, /* version break for Unicode 4.0.1 */
+
+            { 0x002e, UProperty.S_TERM, 1 },
+            { 0x0061, UProperty.S_TERM, 0 },
+
+            { 0x180c, UProperty.VARIATION_SELECTOR, 1 },
+            { 0xfe03, UProperty.VARIATION_SELECTOR, 1 },
+            { 0xe01ef, UProperty.VARIATION_SELECTOR, 1 },
+            { 0xe0200, UProperty.VARIATION_SELECTOR, 0 },
+
+            /* enum/integer type properties */
+            /* test default Bidi classes for unassigned code points */
+            { 0x0590, UProperty.BIDI_CLASS, UCharacterDirection.RIGHT_TO_LEFT },
+            { 0x05cf, UProperty.BIDI_CLASS, UCharacterDirection.RIGHT_TO_LEFT },
+            { 0x05ed, UProperty.BIDI_CLASS, UCharacterDirection.RIGHT_TO_LEFT },
+            { 0x07f2, UProperty.BIDI_CLASS, UCharacterDirection.RIGHT_TO_LEFT },
+            { 0x08ba, UProperty.BIDI_CLASS, UCharacterDirection.RIGHT_TO_LEFT },
+            { 0xfb37, UProperty.BIDI_CLASS, UCharacterDirection.RIGHT_TO_LEFT },
+            { 0xfb42, UProperty.BIDI_CLASS, UCharacterDirection.RIGHT_TO_LEFT },
+            { 0x10806, UProperty.BIDI_CLASS, UCharacterDirection.RIGHT_TO_LEFT },
+            { 0x10909, UProperty.BIDI_CLASS, UCharacterDirection.RIGHT_TO_LEFT },
+            { 0x10fe4, UProperty.BIDI_CLASS, UCharacterDirection.RIGHT_TO_LEFT },
+
+            { 0x0606, UProperty.BIDI_CLASS, UCharacterDirection.RIGHT_TO_LEFT_ARABIC },
+            { 0x061c, UProperty.BIDI_CLASS, UCharacterDirection.RIGHT_TO_LEFT_ARABIC },
+            { 0x063f, UProperty.BIDI_CLASS, UCharacterDirection.RIGHT_TO_LEFT_ARABIC },
+            { 0x070e, UProperty.BIDI_CLASS, UCharacterDirection.RIGHT_TO_LEFT_ARABIC },
+            { 0x0775, UProperty.BIDI_CLASS, UCharacterDirection.RIGHT_TO_LEFT_ARABIC },
+            { 0xfbc2, UProperty.BIDI_CLASS, UCharacterDirection.RIGHT_TO_LEFT_ARABIC },
+            { 0xfd90, UProperty.BIDI_CLASS, UCharacterDirection.RIGHT_TO_LEFT_ARABIC },
+            { 0xfefe, UProperty.BIDI_CLASS, UCharacterDirection.RIGHT_TO_LEFT_ARABIC },
+
+            { 0x02AF, UProperty.BLOCK, UCharacter.UnicodeBlock.IPA_EXTENSIONS.getID() },
+            { 0x0C4E, UProperty.BLOCK, UCharacter.UnicodeBlock.TELUGU.getID()},
+            { 0x155A, UProperty.BLOCK, UCharacter.UnicodeBlock.UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS.getID() },
+            { 0x1717, UProperty.BLOCK, UCharacter.UnicodeBlock.TAGALOG.getID() },
+            { 0x1900, UProperty.BLOCK, UCharacter.UnicodeBlock.LIMBU.getID() },
+            { 0x1AFF, UProperty.BLOCK, UCharacter.UnicodeBlock.NO_BLOCK.getID()},
+            { 0x3040, UProperty.BLOCK, UCharacter.UnicodeBlock.HIRAGANA.getID()},
+            { 0x1D0FF, UProperty.BLOCK, UCharacter.UnicodeBlock.BYZANTINE_MUSICAL_SYMBOLS.getID()},
+            { 0x50000, UProperty.BLOCK, UCharacter.UnicodeBlock.NO_BLOCK.getID() },
+            { 0xEFFFF, UProperty.BLOCK, UCharacter.UnicodeBlock.NO_BLOCK.getID() },
+            { 0x10D0FF, UProperty.BLOCK, UCharacter.UnicodeBlock.SUPPLEMENTARY_PRIVATE_USE_AREA_B.getID() },
+
+            /* UProperty.CANONICAL_COMBINING_CLASS tested for assigned characters in TestUnicodeData() */
+            { 0xd7d7, UProperty.CANONICAL_COMBINING_CLASS, 0 },
+
+            { 0x00A0, UProperty.DECOMPOSITION_TYPE, UCharacter.DecompositionType.NOBREAK },
+            { 0x00A8, UProperty.DECOMPOSITION_TYPE, UCharacter.DecompositionType.COMPAT },
+            { 0x00bf, UProperty.DECOMPOSITION_TYPE, UCharacter.DecompositionType.NONE },
+            { 0x00c0, UProperty.DECOMPOSITION_TYPE, UCharacter.DecompositionType.CANONICAL },
+            { 0x1E9B, UProperty.DECOMPOSITION_TYPE, UCharacter.DecompositionType.CANONICAL },
+            { 0xBCDE, UProperty.DECOMPOSITION_TYPE, UCharacter.DecompositionType.CANONICAL },
+            { 0xFB5D, UProperty.DECOMPOSITION_TYPE, UCharacter.DecompositionType.MEDIAL },
+            { 0x1D736, UProperty.DECOMPOSITION_TYPE, UCharacter.DecompositionType.FONT },
+            { 0xe0033, UProperty.DECOMPOSITION_TYPE, UCharacter.DecompositionType.NONE },
+
+            { 0x0009, UProperty.EAST_ASIAN_WIDTH, UCharacter.EastAsianWidth.NEUTRAL },
+            { 0x0020, UProperty.EAST_ASIAN_WIDTH, UCharacter.EastAsianWidth.NARROW },
+            { 0x00B1, UProperty.EAST_ASIAN_WIDTH, UCharacter.EastAsianWidth.AMBIGUOUS },
+            { 0x20A9, UProperty.EAST_ASIAN_WIDTH, UCharacter.EastAsianWidth.HALFWIDTH },
+            { 0x2FFB, UProperty.EAST_ASIAN_WIDTH, UCharacter.EastAsianWidth.WIDE },
+            { 0x3000, UProperty.EAST_ASIAN_WIDTH, UCharacter.EastAsianWidth.FULLWIDTH },
+            { 0x35bb, UProperty.EAST_ASIAN_WIDTH, UCharacter.EastAsianWidth.WIDE },
+            { 0x58bd, UProperty.EAST_ASIAN_WIDTH, UCharacter.EastAsianWidth.WIDE },
+            { 0xD7A3, UProperty.EAST_ASIAN_WIDTH, UCharacter.EastAsianWidth.WIDE },
+            { 0xEEEE, UProperty.EAST_ASIAN_WIDTH, UCharacter.EastAsianWidth.AMBIGUOUS },
+            { 0x1D198, UProperty.EAST_ASIAN_WIDTH, UCharacter.EastAsianWidth.NEUTRAL },
+            { 0x20000, UProperty.EAST_ASIAN_WIDTH, UCharacter.EastAsianWidth.WIDE },
+            { 0x2F8C7, UProperty.EAST_ASIAN_WIDTH, UCharacter.EastAsianWidth.WIDE },
+            { 0x3a5bd, UProperty.EAST_ASIAN_WIDTH, UCharacter.EastAsianWidth.WIDE },
+            { 0x5a5bd, UProperty.EAST_ASIAN_WIDTH, UCharacter.EastAsianWidth.NEUTRAL },
+            { 0xFEEEE, UProperty.EAST_ASIAN_WIDTH, UCharacter.EastAsianWidth.AMBIGUOUS },
+            { 0x10EEEE, UProperty.EAST_ASIAN_WIDTH, UCharacter.EastAsianWidth.AMBIGUOUS },
+
+            /* UProperty.GENERAL_CATEGORY tested for assigned characters in TestUnicodeData() */
+            { 0xd7d7, UProperty.GENERAL_CATEGORY, 0 },
+
+            { 0x0444, UProperty.JOINING_GROUP, UCharacter.JoiningGroup.NO_JOINING_GROUP },
+            { 0x0639, UProperty.JOINING_GROUP, UCharacter.JoiningGroup.AIN },
+            { 0x072A, UProperty.JOINING_GROUP, UCharacter.JoiningGroup.DALATH_RISH },
+            { 0x0647, UProperty.JOINING_GROUP, UCharacter.JoiningGroup.HEH },
+            { 0x06C1, UProperty.JOINING_GROUP, UCharacter.JoiningGroup.HEH_GOAL },
+            { 0x06C3, UProperty.JOINING_GROUP, UCharacter.JoiningGroup.HAMZA_ON_HEH_GOAL },
+
+            { 0x200C, UProperty.JOINING_TYPE, UCharacter.JoiningType.NON_JOINING },
+            { 0x200D, UProperty.JOINING_TYPE, UCharacter.JoiningType.JOIN_CAUSING },
+            { 0x0639, UProperty.JOINING_TYPE, UCharacter.JoiningType.DUAL_JOINING },
+            { 0x0640, UProperty.JOINING_TYPE, UCharacter.JoiningType.JOIN_CAUSING },
+            { 0x06C3, UProperty.JOINING_TYPE, UCharacter.JoiningType.RIGHT_JOINING },
+            { 0x0300, UProperty.JOINING_TYPE, UCharacter.JoiningType.TRANSPARENT },
+            { 0x070F, UProperty.JOINING_TYPE, UCharacter.JoiningType.TRANSPARENT },
+            { 0xe0033, UProperty.JOINING_TYPE, UCharacter.JoiningType.TRANSPARENT },
+
+            /* TestUnicodeData() verifies that no assigned character has "XX" (unknown) */
+            { 0xe7e7, UProperty.LINE_BREAK, UCharacter.LineBreak.UNKNOWN },
+            { 0x10fffd, UProperty.LINE_BREAK, UCharacter.LineBreak.UNKNOWN },
+            { 0x0028, UProperty.LINE_BREAK, UCharacter.LineBreak.OPEN_PUNCTUATION },
+            { 0x232A, UProperty.LINE_BREAK, UCharacter.LineBreak.CLOSE_PUNCTUATION },
+            { 0x3401, UProperty.LINE_BREAK, UCharacter.LineBreak.IDEOGRAPHIC },
+            { 0x4e02, UProperty.LINE_BREAK, UCharacter.LineBreak.IDEOGRAPHIC },
+            { 0x20004, UProperty.LINE_BREAK, UCharacter.LineBreak.IDEOGRAPHIC },
+            { 0xf905, UProperty.LINE_BREAK, UCharacter.LineBreak.IDEOGRAPHIC },
+            { 0xdb7e, UProperty.LINE_BREAK, UCharacter.LineBreak.SURROGATE },
+            { 0xdbfd, UProperty.LINE_BREAK, UCharacter.LineBreak.SURROGATE },
+            { 0xdffc, UProperty.LINE_BREAK, UCharacter.LineBreak.SURROGATE },
+            { 0x2762, UProperty.LINE_BREAK, UCharacter.LineBreak.EXCLAMATION },
+            { 0x002F, UProperty.LINE_BREAK, UCharacter.LineBreak.BREAK_SYMBOLS },
+            { 0x1D49C, UProperty.LINE_BREAK, UCharacter.LineBreak.ALPHABETIC },
+            { 0x1731, UProperty.LINE_BREAK, UCharacter.LineBreak.ALPHABETIC },
+
+            /* UProperty.NUMERIC_TYPE tested in TestNumericProperties() */
+
+            /* UProperty.SCRIPT tested in TestUScriptCodeAPI() */
+
+            { 0x1100, UProperty.HANGUL_SYLLABLE_TYPE, UCharacter.HangulSyllableType.LEADING_JAMO },
+            { 0x1111, UProperty.HANGUL_SYLLABLE_TYPE, UCharacter.HangulSyllableType.LEADING_JAMO },
+            { 0x1159, UProperty.HANGUL_SYLLABLE_TYPE, UCharacter.HangulSyllableType.LEADING_JAMO },
+            { 0x115f, UProperty.HANGUL_SYLLABLE_TYPE, UCharacter.HangulSyllableType.LEADING_JAMO },
+
+            { 0x1160, UProperty.HANGUL_SYLLABLE_TYPE, UCharacter.HangulSyllableType.VOWEL_JAMO },
+            { 0x1161, UProperty.HANGUL_SYLLABLE_TYPE, UCharacter.HangulSyllableType.VOWEL_JAMO },
+            { 0x1172, UProperty.HANGUL_SYLLABLE_TYPE, UCharacter.HangulSyllableType.VOWEL_JAMO },
+            { 0x11a2, UProperty.HANGUL_SYLLABLE_TYPE, UCharacter.HangulSyllableType.VOWEL_JAMO },
+
+            { 0x11a8, UProperty.HANGUL_SYLLABLE_TYPE, UCharacter.HangulSyllableType.TRAILING_JAMO },
+            { 0x11b8, UProperty.HANGUL_SYLLABLE_TYPE, UCharacter.HangulSyllableType.TRAILING_JAMO },
+            { 0x11c8, UProperty.HANGUL_SYLLABLE_TYPE, UCharacter.HangulSyllableType.TRAILING_JAMO },
+            { 0x11f9, UProperty.HANGUL_SYLLABLE_TYPE, UCharacter.HangulSyllableType.TRAILING_JAMO },
+
+            { 0x115a, UProperty.HANGUL_SYLLABLE_TYPE, 0 },
+            { 0x115e, UProperty.HANGUL_SYLLABLE_TYPE, 0 },
+            { 0x11a3, UProperty.HANGUL_SYLLABLE_TYPE, 0 },
+            { 0x11a7, UProperty.HANGUL_SYLLABLE_TYPE, 0 },
+            { 0x11fa, UProperty.HANGUL_SYLLABLE_TYPE, 0 },
+            { 0x11ff, UProperty.HANGUL_SYLLABLE_TYPE, 0 },
+
+            { 0xac00, UProperty.HANGUL_SYLLABLE_TYPE, UCharacter.HangulSyllableType.LV_SYLLABLE },
+            { 0xac1c, UProperty.HANGUL_SYLLABLE_TYPE, UCharacter.HangulSyllableType.LV_SYLLABLE },
+            { 0xc5ec, UProperty.HANGUL_SYLLABLE_TYPE, UCharacter.HangulSyllableType.LV_SYLLABLE },
+            { 0xd788, UProperty.HANGUL_SYLLABLE_TYPE, UCharacter.HangulSyllableType.LV_SYLLABLE },
+
+            { 0xac01, UProperty.HANGUL_SYLLABLE_TYPE, UCharacter.HangulSyllableType.LVT_SYLLABLE },
+            { 0xac1b, UProperty.HANGUL_SYLLABLE_TYPE, UCharacter.HangulSyllableType.LVT_SYLLABLE },
+            { 0xac1d, UProperty.HANGUL_SYLLABLE_TYPE, UCharacter.HangulSyllableType.LVT_SYLLABLE },
+            { 0xc5ee, UProperty.HANGUL_SYLLABLE_TYPE, UCharacter.HangulSyllableType.LVT_SYLLABLE },
+            { 0xd7a3, UProperty.HANGUL_SYLLABLE_TYPE, UCharacter.HangulSyllableType.LVT_SYLLABLE },
+
+            { 0xd7a4, UProperty.HANGUL_SYLLABLE_TYPE, 0 },
+
+            { -1, 0x410, 0 }, /* version break for Unicode 4.1 */
+
+            { 0x00d7, UProperty.PATTERN_SYNTAX, 1 },
+            { 0xfe45, UProperty.PATTERN_SYNTAX, 1 },
+            { 0x0061, UProperty.PATTERN_SYNTAX, 0 },
+
+            { 0x0020, UProperty.PATTERN_WHITE_SPACE, 1 },
+            { 0x0085, UProperty.PATTERN_WHITE_SPACE, 1 },
+            { 0x200f, UProperty.PATTERN_WHITE_SPACE, 1 },
+            { 0x00a0, UProperty.PATTERN_WHITE_SPACE, 0 },
+            { 0x3000, UProperty.PATTERN_WHITE_SPACE, 0 },
+
+            { 0x1d200, UProperty.BLOCK, UCharacter.UnicodeBlock.ANCIENT_GREEK_MUSICAL_NOTATION_ID },
+            { 0x2c8e,  UProperty.BLOCK, UCharacter.UnicodeBlock.COPTIC_ID },
+            { 0xfe17,  UProperty.BLOCK, UCharacter.UnicodeBlock.VERTICAL_FORMS_ID },
+
+            { 0x1a00,  UProperty.SCRIPT, UScript.BUGINESE },
+            { 0x2cea,  UProperty.SCRIPT, UScript.COPTIC },
+            { 0xa82b,  UProperty.SCRIPT, UScript.SYLOTI_NAGRI },
+            { 0x103d0, UProperty.SCRIPT, UScript.OLD_PERSIAN },
+
+            { 0xcc28, UProperty.LINE_BREAK, UCharacter.LineBreak.H2 },
+            { 0xcc29, UProperty.LINE_BREAK, UCharacter.LineBreak.H3 },
+            { 0xac03, UProperty.LINE_BREAK, UCharacter.LineBreak.H3 },
+            { 0x115f, UProperty.LINE_BREAK, UCharacter.LineBreak.JL },
+            { 0x11aa, UProperty.LINE_BREAK, UCharacter.LineBreak.JT },
+            { 0x11a1, UProperty.LINE_BREAK, UCharacter.LineBreak.JV },
+
+            { 0xb2c9, UProperty.GRAPHEME_CLUSTER_BREAK, UCharacter.GraphemeClusterBreak.LVT },
+            { 0x036f, UProperty.GRAPHEME_CLUSTER_BREAK, UCharacter.GraphemeClusterBreak.EXTEND },
+            { 0x0000, UProperty.GRAPHEME_CLUSTER_BREAK, UCharacter.GraphemeClusterBreak.CONTROL },
+            { 0x1160, UProperty.GRAPHEME_CLUSTER_BREAK, UCharacter.GraphemeClusterBreak.V },
+
+            { 0x05f4, UProperty.WORD_BREAK, UCharacter.WordBreak.MIDLETTER },
+            { 0x4ef0, UProperty.WORD_BREAK, UCharacter.WordBreak.OTHER },
+            { 0x19d9, UProperty.WORD_BREAK, UCharacter.WordBreak.NUMERIC },
+            { 0x2044, UProperty.WORD_BREAK, UCharacter.WordBreak.MIDNUM },
+
+            { 0xfffd, UProperty.SENTENCE_BREAK, UCharacter.SentenceBreak.OTHER },
+            { 0x1ffc, UProperty.SENTENCE_BREAK, UCharacter.SentenceBreak.UPPER },
+            { 0xff63, UProperty.SENTENCE_BREAK, UCharacter.SentenceBreak.CLOSE },
+            { 0x2028, UProperty.SENTENCE_BREAK, UCharacter.SentenceBreak.SEP },
+
+            /* undefined UProperty values */
+            { 0x61, 0x4a7, 0 },
+            { 0x234bc, 0x15ed, 0 }
+        };
+
+
+        if (UCharacter.getIntPropertyMinValue(UProperty.DASH) != 0
+            || UCharacter.getIntPropertyMinValue(UProperty.BIDI_CLASS) != 0
+            || UCharacter.getIntPropertyMinValue(UProperty.BLOCK)!= 0  /* j2478 */
+            || UCharacter.getIntPropertyMinValue(UProperty.SCRIPT)!= 0 /* JB#2410 */
+            || UCharacter.getIntPropertyMinValue(0x2345) != 0) {
+            errln("error: UCharacter.getIntPropertyMinValue() wrong");
+        }
+
+        if (UCharacter.getIntPropertyMaxValue(UProperty.DASH) != 1
+            || UCharacter.getIntPropertyMaxValue(UProperty.ID_CONTINUE) != 1
+            || UCharacter.getIntPropertyMaxValue(UProperty.BINARY_LIMIT-1) != 1
+            || UCharacter.getIntPropertyMaxValue(UProperty.BIDI_CLASS)
+                                != UCharacterDirection.CHAR_DIRECTION_COUNT - 1
+            || UCharacter.getIntPropertyMaxValue(UProperty.BLOCK)
+                                        != UCharacter.UnicodeBlock.COUNT - 1
+            || UCharacter.getIntPropertyMaxValue(UProperty.LINE_BREAK)
+                                        != UCharacter.LineBreak.COUNT - 1
+            || UCharacter.getIntPropertyMaxValue(UProperty.SCRIPT)
+                                        != UScript.CODE_LIMIT - 1
+            || UCharacter.getIntPropertyMaxValue(0x2345) != -1 //JB#2410
+            || UCharacter.getIntPropertyMaxValue(UProperty.DECOMPOSITION_TYPE) != (UCharacter.DecompositionType.COUNT - 1)
+            || UCharacter.getIntPropertyMaxValue(UProperty.JOINING_GROUP) !=  (UCharacter.JoiningGroup.COUNT -1)
+            || UCharacter.getIntPropertyMaxValue(UProperty.JOINING_TYPE) !=  (UCharacter.JoiningType.COUNT -1)
+            || UCharacter.getIntPropertyMaxValue(UProperty.EAST_ASIAN_WIDTH) !=  (UCharacter.EastAsianWidth.COUNT -1)
+
+           ) {
+            errln("error: UCharacter.getIntPropertyMaxValue() wrong");
+        }
+
+        VersionInfo version = UCharacter.getUnicodeVersion();
+
+        // test hasBinaryProperty()
+        for (int i = 0; i < props.length; ++ i) {
+            if (props[i][0] < 0) {
+                if (version.compareTo(VersionInfo.getInstance(props[i][1] >> 8,
+                                                          (props[i][1] >> 4) & 0xF,
+                                                          props[i][1] & 0xF,
+                                                          0)) < 0) {
+                    break;
+                }
+                continue;
+            }
+            boolean expect = true;
+            if (props[i][2] == 0) {
+                expect = false;
+            }
+            if (props[i][1] < UProperty.INT_START) {
+                if (UCharacter.hasBinaryProperty(props[i][0], props[i][1])
+                    != expect) {
+                    errln("error: UCharacter.hasBinaryProperty(\\u" +
+                          Integer.toHexString(props[i][0]) + ", " +
+                          Integer.toHexString(props[i][1])
+                          + ") has an error expected " + props[i][2]);
+                }
+            }
+
+            int retVal = UCharacter.getIntPropertyValue(props[i][0], props[i][1]);
+            if (retVal != props[i][2]) {
+                errln("error: UCharacter.getIntPropertyValue(\\u" +
+                      Utility.hex(props[i][0], 4) +
+                      ", " + props[i][1] + " is wrong, should be "
+                      + props[i][2] + " not " + retVal);
+            }
+
+            // test separate functions, too
+            switch (props[i][1]) {
+            case UProperty.ALPHABETIC:
+                if (UCharacter.isUAlphabetic(props[i][0]) != expect) {
+                    errln("error: UCharacter.isUAlphabetic(\\u" +
+                          Integer.toHexString(props[i][0]) +
+                          ") is wrong expected " + props[i][2]);
+                }
+                break;
+            case UProperty.LOWERCASE:
+                if (UCharacter.isULowercase(props[i][0]) != expect) {
+                    errln("error: UCharacter.isULowercase(\\u" +
+                          Integer.toHexString(props[i][0]) +
+                          ") is wrong expected " +props[i][2]);
+                }
+                break;
+            case UProperty.UPPERCASE:
+                if (UCharacter.isUUppercase(props[i][0]) != expect) {
+                    errln("error: UCharacter.isUUppercase(\\u" +
+                          Integer.toHexString(props[i][0]) +
+                          ") is wrong expected " + props[i][2]);
+                }
+                break;
+            case UProperty.WHITE_SPACE:
+                if (UCharacter.isUWhiteSpace(props[i][0]) != expect) {
+                    errln("error: UCharacter.isUWhiteSpace(\\u" +
+                          Integer.toHexString(props[i][0]) +
+                          ") is wrong expected " + props[i][2]);
+                }
+                break;
+            default:
+                break;
+            }
+        }
+    }
+
+    public void TestNumericProperties()
+    {
+        // see UnicodeData.txt, DerivedNumericValues.txt
+        int testvar[][] = {
+            { 0x0F33, UCharacter.NumericType.NUMERIC },
+            { 0x0C66, UCharacter.NumericType.DECIMAL },
+            { 0x2159, UCharacter.NumericType.NUMERIC },
+            { 0x00BD, UCharacter.NumericType.NUMERIC },
+            { 0x0031, UCharacter.NumericType.DECIMAL },
+            { 0x10320, UCharacter.NumericType.NUMERIC },
+            { 0x0F2B, UCharacter.NumericType.NUMERIC },
+            { 0x00B2, UCharacter.NumericType.DIGIT }, /* Unicode 4.0 change */
+            { 0x1813, UCharacter.NumericType.DECIMAL },
+            { 0x2173, UCharacter.NumericType.NUMERIC },
+            { 0x278E, UCharacter.NumericType.DIGIT },
+            { 0x1D7F2, UCharacter.NumericType.DECIMAL },
+            { 0x247A, UCharacter.NumericType.DIGIT },
+            { 0x1372, UCharacter.NumericType.NUMERIC },
+            { 0x216B, UCharacter.NumericType.NUMERIC },
+            { 0x16EE, UCharacter.NumericType.NUMERIC },
+            { 0x249A, UCharacter.NumericType.NUMERIC },
+            { 0x303A, UCharacter.NumericType.NUMERIC },
+            { 0x32B2, UCharacter.NumericType.NUMERIC },
+            { 0x1375, UCharacter.NumericType.NUMERIC },
+            { 0x10323, UCharacter.NumericType.NUMERIC },
+            { 0x0BF1, UCharacter.NumericType.NUMERIC },
+            { 0x217E, UCharacter.NumericType.NUMERIC },
+            { 0x2180, UCharacter.NumericType.NUMERIC },
+            { 0x2181, UCharacter.NumericType.NUMERIC },
+            { 0x137C, UCharacter.NumericType.NUMERIC },
+            { 0x61, UCharacter.NumericType.NONE },
+            { 0x3000, UCharacter.NumericType.NONE },
+            { 0xfffe, UCharacter.NumericType.NONE },
+            { 0x10301, UCharacter.NumericType.NONE },
+            { 0xe0033, UCharacter.NumericType.NONE },
+            { 0x10ffff, UCharacter.NumericType.NONE },
+            /* Unicode 4.0 Changes */
+            { 0x96f6,  UCharacter.NumericType.NUMERIC },
+            { 0x4e00,  UCharacter.NumericType.NUMERIC },
+            { 0x58f1,  UCharacter.NumericType.NUMERIC },
+            { 0x5f10,  UCharacter.NumericType.NUMERIC },
+            { 0x5f0e,  UCharacter.NumericType.NUMERIC },
+            { 0x8086,  UCharacter.NumericType.NUMERIC },
+            { 0x7396,  UCharacter.NumericType.NUMERIC },
+            { 0x5345,  UCharacter.NumericType.NUMERIC },
+            { 0x964c,  UCharacter.NumericType.NUMERIC },
+            { 0x4edf,  UCharacter.NumericType.NUMERIC },
+            { 0x4e07,  UCharacter.NumericType.NUMERIC },
+            { 0x4ebf,  UCharacter.NumericType.NUMERIC },
+            { 0x5146,  UCharacter.NumericType.NUMERIC }
+        };
+
+        double expected[] = {-1/(double)2,
+                             0,
+                             1/(double)6,
+                             1/(double)2,
+                             1,
+                             1,
+                             3/(double)2,
+                             2,
+                             3,
+                             4,
+                             5,
+                             6,
+                             7,
+                             10,
+                             12,
+                             17,
+                             19,
+                             30,
+                             37,
+                             40,
+                             50,
+                             100,
+                             500,
+                             1000,
+                             5000,
+                             10000,
+                             UCharacter.NO_NUMERIC_VALUE,
+                             UCharacter.NO_NUMERIC_VALUE,
+                             UCharacter.NO_NUMERIC_VALUE,
+                             UCharacter.NO_NUMERIC_VALUE,
+                             UCharacter.NO_NUMERIC_VALUE,
+                             UCharacter.NO_NUMERIC_VALUE,
+                             0 ,
+                             1 ,
+                             1 ,
+                             2 ,
+                             3 ,
+                             4 ,
+                             9 ,
+                             30 ,
+                             100 ,
+                             1000 ,
+                             10000 ,
+                             100000000 ,
+                             1000000000000.00
+        };
+
+
+        for (int i = 0; i < testvar.length; ++ i) {
+            int c = testvar[i][0];
+            int type = UCharacter.getIntPropertyValue(c,
+                                                      UProperty.NUMERIC_TYPE);
+            double nv = UCharacter.getUnicodeNumericValue(c);
+
+            if (type != testvar[i][1]) {
+                errln("UProperty.NUMERIC_TYPE(\\u" + Utility.hex(c, 4)
+                       + ") = " + type + " should be " + testvar[i][1]);
+            }
+            if (0.000001 <= Math.abs(nv - expected[i])) {
+                errln("UCharacter.getNumericValue(\\u" + Utility.hex(c, 4)
+                        + ") = " + nv + " should be " + expected[i]);
+            }
+        }
+    }
+
+    /**
+     * Test the property values API.  See JB#2410.
+     */
+    public void TestPropertyValues() {
+        int i, p, min, max;
+
+        /* Min should be 0 for everything. */
+        /* Until JB#2478 is fixed, the one exception is UCHAR_BLOCK. */
+        for (p=UProperty.INT_START; p<UProperty.INT_LIMIT; ++p) {
+            min = UCharacter.getIntPropertyMinValue(p);
+            if (min != 0) {
+                if (p == UProperty.BLOCK) {
+                    /* This is okay...for now.  See JB#2487.
+                       TODO Update this for JB#2487. */
+                } else {
+                    String name;
+                    name = UCharacter.getPropertyName(p, UProperty.NameChoice.LONG);
+                    errln("FAIL: UCharacter.getIntPropertyMinValue(" + name + ") = " +
+                          min + ", exp. 0");
+                }
+            }
+        }
+
+        if (UCharacter.getIntPropertyMinValue(UProperty.GENERAL_CATEGORY_MASK)
+            != 0
+            || UCharacter.getIntPropertyMaxValue(
+                                               UProperty.GENERAL_CATEGORY_MASK)
+               != -1) {
+            errln("error: UCharacter.getIntPropertyMin/MaxValue("
+                  + "UProperty.GENERAL_CATEGORY_MASK) is wrong");
+        }
+
+        /* Max should be -1 for invalid properties. */
+        max = UCharacter.getIntPropertyMaxValue(-1);
+        if (max != -1) {
+            errln("FAIL: UCharacter.getIntPropertyMaxValue(-1) = " +
+                  max + ", exp. -1");
+        }
+
+        /* Script should return 0 for an invalid code point. If the API
+           throws an exception then that's fine too. */
+        for (i=0; i<2; ++i) {
+            try {
+                int script = 0;
+                String desc = null;
+                switch (i) {
+                case 0:
+                    script = UScript.getScript(-1);
+                    desc = "UScript.getScript(-1)";
+                    break;
+                case 1:
+                    script = UCharacter.getIntPropertyValue(-1, UProperty.SCRIPT);
+                    desc = "UCharacter.getIntPropertyValue(-1, UProperty.SCRIPT)";
+                    break;
+                }
+                if (script != 0) {
+                    errln("FAIL: " + desc + " = " + script + ", exp. 0");
+                }
+            } catch (IllegalArgumentException e) {}
+        }
+    }
+
+    public void TestIsBMP()
+    {
+        int ch[] = {0x0, -1, 0xffff, 0x10ffff, 0xff, 0x1ffff};
+        boolean flag[] = {true, false, true, false, true, false};
+        for (int i = 0; i < ch.length; i ++) {
+            if (UCharacter.isBMP(ch[i]) != flag[i]) {
+                errln("Fail: \\u" + Utility.hex(ch[i], 8)
+                      + " failed at UCharacter.isBMP");
+            }
+        }
+    }
+
+    /* add characters from a serialized set to a normal one */
+    private static void _setAddSerialized(UnicodeSet set, USerializedSet sset) {
+     //  int start, end;
+       int i, count;
+
+       count=sset.countRanges();
+       int[] range = new int[2];
+       for(i=0; i<count; ++i) {
+           sset.getRange(i,range);
+           set.add(range[0],range[1]);
+       }
+    }
+
+    private boolean showADiffB(UnicodeSet a, UnicodeSet b,
+                                        String a_name, String b_name,
+                                        boolean expect,
+                                        boolean diffIsError){
+        int i, start, end, length;
+        boolean equal;
+        equal=true;
+        i=0;
+        for(;;) {
+            start  = a.getRangeStart(i);
+            length = (i < a.getRangeCount()) ? 0 : a.getRangeCount();
+            end    = a.getRangeEnd(i);
+
+            if(length!=0) {
+                return equal; /* done with code points, got a string or -1 */
+            }
+
+            if(expect!=b.contains(start, end)) {
+                equal=false;
+                while(start<=end) {
+                    if(expect!=b.contains(start)) {
+                        if(diffIsError) {
+                            if(expect) {
+                                errln("error: "+ a_name +" contains "+ hex(start)+" but "+ b_name +" does not");
+                            } else {
+                                errln("error: "+a_name +" and "+ b_name+" both contain "+hex(start) +" but should not intersect");
+                            }
+                        } else {
+                            if(expect) {
+                                logln("info: "+a_name +" contains "+hex(start)+ "but " + b_name +" does not");
+                            } else {
+                                logln("info: "+a_name +" and "+b_name+" both contain "+hex(start)+" but should not intersect");
+                            }
+                        }
+                    }
+                    ++start;
+                }
+            }
+
+            ++i;
+        }
+    }
+    private boolean showAMinusB(UnicodeSet a, UnicodeSet b,
+                                        String a_name, String b_name,
+                                        boolean diffIsError) {
+
+        return showADiffB(a, b, a_name, b_name, true, diffIsError);
+    }
+
+    private boolean showAIntersectB(UnicodeSet a, UnicodeSet b,
+                                            String a_name, String b_name,
+                                            boolean diffIsError) {
+        return showADiffB(a, b, a_name, b_name, false, diffIsError);
+    }
+
+    private boolean compareUSets(UnicodeSet a, UnicodeSet b,
+                                         String a_name, String b_name,
+                                         boolean diffIsError) {
+        return
+            showAMinusB(a, b, a_name, b_name, diffIsError) &&
+            showAMinusB(b, a, b_name, a_name, diffIsError);
+    }
+
+   /* various tests for consistency of UCD data and API behavior */
+   public void TestConsistency() {
+       char[] buffer16 = new char[300];
+       char[] buffer   = new char[300];
+       UnicodeSet set1, set2, set3, set4;
+
+       USerializedSet sset;
+       int start, end;
+       int i, length;
+
+       String hyphenPattern = "[:Hyphen:]";
+       String dashPattern = "[:Dash:]";
+       String lowerPattern = "[:Lowercase:]";
+       String formatPattern = "[:Cf:]";
+       String alphaPattern  =  "[:Alphabetic:]";
+
+       /*
+        * It used to be that UCD.html and its precursors said
+        * "Those dashes used to mark connections between pieces of words,
+        *  plus the Katakana middle dot."
+        *
+        * Unicode 4 changed 00AD Soft Hyphen to Cf and removed it from Dash
+        * but not from Hyphen.
+        * UTC 94 (2003mar) decided to leave it that way and to changed UCD.html.
+        * Therefore, do not show errors when testing the Hyphen property.
+        */
+       logln("Starting with Unicode 4, inconsistencies with [:Hyphen:] are\n"
+                   + "known to the UTC and not considered errors.\n");
+
+       set1=new UnicodeSet(hyphenPattern);
+       set2=new UnicodeSet(dashPattern);
+
+           /* remove the Katakana middle dot(s) from set1 */
+           set1.remove(0x30fb);
+           set2.remove (0xff65); /* halfwidth variant */
+           showAMinusB(set1, set2, "[:Hyphen:]", "[:Dash:]", false);
+
+
+       /* check that Cf is neither Hyphen nor Dash nor Alphabetic */
+       set3=new UnicodeSet(formatPattern);
+       set4=new UnicodeSet(alphaPattern);
+
+       showAIntersectB(set3, set1, "[:Cf:]", "[:Hyphen:]", false);
+       showAIntersectB(set3, set2, "[:Cf:]", "[:Dash:]", true);
+       showAIntersectB(set3, set4, "[:Cf:]", "[:Alphabetic:]", true);
+       /*
+        * Check that each lowercase character has "small" in its name
+        * and not "capital".
+        * There are some such characters, some of which seem odd.
+        * Use the verbose flag to see these notices.
+        */
+       set1=new UnicodeSet(lowerPattern);
+
+       for(i=0;; ++i) {
+//               try{
+//                   length=set1.getItem(set1, i, &start, &end, NULL, 0, &errorCode);
+//               }catch(Exception e){
+//                   break;
+//               }
+            start = set1.getRangeStart(i);
+            end = set1.getRangeEnd(i);
+            length = i<set1.getRangeCount() ? set1.getRangeCount() : 0;
+           if(length!=0) {
+               break; /* done with code points, got a string or -1 */
+           }
+
+           while(start<=end) {
+               String name=UCharacter.getName(start);
+
+               if( (name.indexOf("SMALL")< 0 || name.indexOf("CAPITAL")<-1) &&
+                   name.indexOf("SMALL CAPITAL")==-1
+               ) {
+                   logln("info: [:Lowercase:] contains U+"+hex(start) + " whose name does not suggest lowercase: " + name);
+               }
+               ++start;
+           }
+       }
+
+
+       /*
+        * Test for an example that unorm_getCanonStartSet() delivers
+        * all characters that compose from the input one,
+        * even in multiple steps.
+        * For example, the set for "I" (0049) should contain both
+        * I-diaeresis (00CF) and I-diaeresis-acute (1E2E).
+        * In general, the set for the middle such character should be a subset
+        * of the set for the first.
+        */
+       set1=new UnicodeSet();
+       set2=new UnicodeSet();
+       sset = new USerializedSet();
+       NormalizerImpl.getCanonStartSet(0x49,sset);
+       _setAddSerialized(set1, sset);
+
+       /* enumerate all characters that are plausible to be latin letters */
+       for(start=0xa0; start<0x2000; ++start) {
+           if(NormalizerImpl.getDecomposition(start, false, buffer16,0,buffer16.length) > 1 && buffer[0]==0x0049) {
+               set2.add(start);
+           }
+       }
+
+       compareUSets(set1, set2,
+                    "[canon start set of 0049]", "[all c with canon decomp with 0049]",
+                    false);
+
+   }
+
+    public void TestCoverage() {
+        //cover forDigit
+        char ch1 = UCharacter.forDigit(7, 11);
+        assertEquals("UCharacter.forDigit ", "7", String.valueOf(ch1));
+        char ch2 = UCharacter.forDigit(17, 20);
+        assertEquals("UCharacter.forDigit ", "h", String.valueOf(ch2));
+
+        //Jitterbug 4451, for coverage
+        for (int i = 0x0041; i < 0x005B; i++) {
+            if (!UCharacter.isJavaLetter(i))
+                errln("FAIL \\u" + hex(i) + " expected to be a letter");
+            if (!UCharacter.isJavaIdentifierStart(i))
+                errln("FAIL \\u" + hex(i) + " expected to be a Java identifier start character");
+            if (!UCharacter.isJavaLetterOrDigit(i))
+                errln("FAIL \\u" + hex(i) + " expected not to be a Java letter");
+            if (!UCharacter.isJavaIdentifierPart(i))
+                errln("FAIL \\u" + hex(i) + " expected to be a Java identifier part character");
+        }
+        char[] spaces = {'\t','\n','\f','\r',' '};
+        for (int i = 0; i < spaces.length; i++){
+            if (!UCharacter.isSpace(spaces[i]))
+                errln("FAIL \\u" + hex(spaces[i]) + " expected to be a Java space");
+        }
+        if (!UCharacter.getStringPropertyValue(UProperty.AGE,'\u3400',0).equals("3.0.0.0")){
+            errln("FAIL \\u3400 expected to be 3.0.0.0");
+        }
+    }
+
+    public void TestCasePropsDummy() {
+        // code coverage for UCaseProps.getDummy() 
+        if(UCaseProps.getDummy().tolower(0x41)!=0x41) {
+            errln("UCaseProps.getDummy().tolower(0x41)!=0x41");
+        }
+    }
+
+    public void TestBiDiPropsDummy() {
+        // code coverage for UBiDiProps.getDummy() 
+        if(UBiDiProps.getDummy().getClass(0x20)!=0) {
+            errln("UBiDiProps.getDummy().getClass(0x20)!=0");
+        }
+    }
+}
diff --git a/src/com/ibm/icu/dev/test/lang/UPropertyAliasesTest.java b/src/com/ibm/icu/dev/test/lang/UPropertyAliasesTest.java
new file mode 100644
index 0000000..0482e25
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/lang/UPropertyAliasesTest.java
@@ -0,0 +1,128 @@
+/*
+**********************************************************************
+* Copyright (c) 2002-2003, International Business Machines
+* Corporation and others.  All Rights Reserved.
+**********************************************************************
+* Author: Alan Liu
+* Created: November 5 2002
+* Since: ICU 2.4
+**********************************************************************
+*/
+package com.ibm.icu.dev.test.lang;
+
+import java.io.*;
+import com.ibm.icu.lang.*;
+import com.ibm.icu.dev.test.TestFmwk;
+
+public class UPropertyAliasesTest extends TestFmwk {
+  
+    public UPropertyAliasesTest() {}
+    
+    public static void main(String[] args) throws Exception {
+        new UPropertyAliasesTest().run(args);
+    }
+
+    /**
+     * Test the property names and property value names API.
+     */
+    public void TestPropertyNames() throws IOException {
+        int p, v, choice, rev;
+        for (p=0; ; ++p) {
+            boolean sawProp = false;
+            for (choice=0; ; ++choice) {
+                String name = null;
+                try {
+                    name = UCharacter.getPropertyName(p, choice);
+                    if (!sawProp) log("prop " + p + ":");
+                    String n = (name != null) ? ("\"" + name + '"') : "null";
+                    log(" " + choice + "=" + n);
+                    sawProp = true;
+                } catch (IllegalArgumentException e) {
+                    if (choice > 0) break;
+                }
+                if (name != null) {
+                    /* test reverse mapping */
+                    rev = UCharacter.getPropertyEnum(name);
+                    if (rev != p) {
+                        errln("Property round-trip failure: " + p + " -> " +
+                              name + " -> " + rev);
+                    }
+                }
+            }
+            if (sawProp) {
+                /* looks like a valid property; check the values */
+                String pname = UCharacter.getPropertyName(p, UProperty.NameChoice.LONG);
+                int max = 0;
+                if (p == UProperty.CANONICAL_COMBINING_CLASS) {
+                    max = 255;
+                } else if (p == UProperty.GENERAL_CATEGORY_MASK) {
+                    /* it's far too slow to iterate all the way up to
+                       the real max, U_GC_P_MASK */
+                    max = 0x1000; // U_GC_NL_MASK;
+                } else if (p == UProperty.BLOCK) {
+                    /* UBlockCodes, unlike other values, start at 1 */
+                    max = 1;
+                }
+                logln("");
+                for (v=-1; ; ++v) {
+                    boolean sawValue = false;
+                    for (choice=0; ; ++choice) {
+                        String vname = null;
+                        try {
+                            vname = UCharacter.getPropertyValueName(p, v, choice);
+                            String n = (vname != null) ? ("\"" + vname + '"') : "null";
+                            if (!sawValue) log(" " + pname + ", value " + v + ":");
+                            log(" " + choice + "=" + n);
+                            sawValue = true;
+                        }
+                        catch (IllegalArgumentException e) {
+                            if (choice>0) break;
+                        }
+                        if (vname != null) {
+                            /* test reverse mapping */
+                            rev = UCharacter.getPropertyValueEnum(p, vname);
+                            if (rev != v) {
+                                errln("Value round-trip failure (" + pname +
+                                      "): " + v + " -> " +
+                                      vname + " -> " + rev);
+                            }
+                        }
+                    }
+                    if (sawValue) {
+                        logln("");
+                    }
+                    if (!sawValue && v>=max) break;
+                }
+            }
+            if (!sawProp) {
+                if (p>=UProperty.STRING_LIMIT) {
+                    break;
+                } else if (p>=UProperty.DOUBLE_LIMIT) {
+                    p = UProperty.STRING_START - 1;
+                } else if (p>=UProperty.MASK_LIMIT) {
+                    p = UProperty.DOUBLE_START - 1;
+                } else if (p>=UProperty.INT_LIMIT) {
+                    p = UProperty.MASK_START - 1;
+                } else if (p>=UProperty.BINARY_LIMIT) {
+                    p = UProperty.INT_START - 1;
+                }
+            }
+        }
+        
+        int i = UCharacter.getIntPropertyMinValue(
+                                        UProperty.CANONICAL_COMBINING_CLASS);
+        try {
+            for (; i <= UCharacter.getIntPropertyMaxValue(
+                                          UProperty.CANONICAL_COMBINING_CLASS);
+                 i ++) {   
+                 UCharacter.getPropertyValueName(
+                                           UProperty.CANONICAL_COMBINING_CLASS,
+                                           i, UProperty.NameChoice.LONG);
+            }
+        }      
+        catch (IllegalArgumentException e) {
+            errln("0x" + Integer.toHexString(i) 
+                  + " should have a null property value name");
+        }
+    }
+}
diff --git a/src/com/ibm/icu/dev/test/lang/UTF16Test.java b/src/com/ibm/icu/dev/test/lang/UTF16Test.java
new file mode 100755
index 0000000..082f876
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/lang/UTF16Test.java
@@ -0,0 +1,1641 @@
+/*
+*******************************************************************************
+* Copyright (C) 1996-2005, International Business Machines Corporation and    *
+* others. All Rights Reserved.                                                *
+*******************************************************************************
+*/
+
+package com.ibm.icu.dev.test.lang;
+
+import com.ibm.icu.dev.test.TestFmwk;
+import com.ibm.icu.dev.test.UTF16Util;
+import com.ibm.icu.lang.UCharacter;
+import com.ibm.icu.text.UTF16;
+import com.ibm.icu.text.ReplaceableString;
+import com.ibm.icu.impl.Utility;
+
+/**
+* Testing class for UTF16
+* @author Syn Wee Quek
+* @since feb 09 2001
+*/
+public final class UTF16Test extends TestFmwk
+{
+    // constructor ===================================================
+
+    /**
+     * Constructor
+     */
+    public UTF16Test()
+    {
+    }
+
+    // public methods ================================================
+
+    /**
+     * Testing UTF16 class methods append
+     */
+    public void TestAppend()
+    {
+          StringBuffer strbuff = new StringBuffer("this is a string ");
+          char array[] = new char[UCharacter.MAX_VALUE >> 2];
+          int strsize = strbuff.length();
+          int arraysize = strsize;
+
+          Utility.getChars(strbuff, 0, strsize, array, 0);
+          for (int i = 1; i < UCharacter.MAX_VALUE; i += 100) {
+        UTF16.append(strbuff, i);
+        arraysize = UTF16.append(array, arraysize, i);
+
+        String arraystr = new String(array, 0, arraysize);
+        if (!arraystr.equals(strbuff.toString())) {
+        errln("FAIL Comparing char array append and string append " +
+              "with 0x" + Integer.toHexString(i));
+        }
+
+        // this is to cater for the combination of 0xDBXX 0xDC50 which
+        // forms a supplementary character
+        if (i == 0xDC51) {
+        strsize --;
+        }
+
+        if (UTF16.countCodePoint(strbuff) != strsize + (i / 100) + 1) {
+        errln("FAIL Counting code points in string appended with " +
+              " 0x" + Integer.toHexString(i));
+        break;
+        }
+    }
+
+    // coverage for new 1.5 - cover only so no real test
+    strbuff = new StringBuffer();
+    UTF16.appendCodePoint(strbuff, 0x10000);
+    if (strbuff.length() != 2) {
+        errln("fail appendCodePoint");
+    }
+    }
+
+    /**
+     * Testing UTF16 class methods bounds
+     */
+    public void TestBounds()
+    {
+          StringBuffer strbuff =
+                        //0     12345     6     7     8     9
+        new StringBuffer("\udc000123\ud800\udc00\ud801\udc01\ud802");
+          String str = strbuff.toString();
+          char array[] = str.toCharArray();
+          int boundtype[] = {UTF16.SINGLE_CHAR_BOUNDARY,
+               UTF16.SINGLE_CHAR_BOUNDARY,
+               UTF16.SINGLE_CHAR_BOUNDARY,
+               UTF16.SINGLE_CHAR_BOUNDARY,
+               UTF16.SINGLE_CHAR_BOUNDARY,
+               UTF16.LEAD_SURROGATE_BOUNDARY,
+               UTF16.TRAIL_SURROGATE_BOUNDARY,
+               UTF16.LEAD_SURROGATE_BOUNDARY,
+               UTF16.TRAIL_SURROGATE_BOUNDARY,
+               UTF16.SINGLE_CHAR_BOUNDARY};
+          int length = str.length();
+          for (int i = 0; i < length; i ++) {
+        if (UTF16.bounds(str, i) != boundtype[i]) {
+                  errln("FAIL checking bound type at index " + i);
+        }
+        if (UTF16.bounds(strbuff, i) != boundtype[i]) {
+                  errln("FAIL checking bound type at index " + i);
+        }
+        if (UTF16.bounds(array, 0, length, i) != boundtype[i]) {
+                  errln("FAIL checking bound type at index " + i);
+        }
+          }
+          // does not straddle between supplementary character
+          int start = 4;
+          int limit = 9;
+          int subboundtype1[] = {UTF16.SINGLE_CHAR_BOUNDARY,
+                   UTF16.LEAD_SURROGATE_BOUNDARY,
+                   UTF16.TRAIL_SURROGATE_BOUNDARY,
+                   UTF16.LEAD_SURROGATE_BOUNDARY,
+                   UTF16.TRAIL_SURROGATE_BOUNDARY};
+          try {
+        UTF16.bounds(array, start, limit, -1);
+        errln("FAIL Out of bounds index in bounds should fail");
+          } catch (Exception e) {
+        // getting rid of warnings
+        System.out.print("");
+          }
+
+          for (int i = 0; i < limit - start; i ++) {
+        if (UTF16.bounds(array, start, limit, i) != subboundtype1[i]) {
+                  errln("FAILED Subarray bounds in [" + start + ", " + limit +
+              "] expected " + subboundtype1[i] + " at offset " + i);
+        }
+          }
+
+          // starts from the mid of a supplementary character
+          int subboundtype2[] = {UTF16.SINGLE_CHAR_BOUNDARY,
+                   UTF16.LEAD_SURROGATE_BOUNDARY,
+                   UTF16.TRAIL_SURROGATE_BOUNDARY};
+
+          start = 6;
+          limit = 9;
+          for (int i = 0; i < limit - start; i ++) {
+        if (UTF16.bounds(array, start, limit, i) != subboundtype2[i]) {
+                  errln("FAILED Subarray bounds in [" + start + ", " + limit +
+              "] expected " + subboundtype2[i] + " at offset " + i);
+        }
+          }
+
+          // ends in the mid of a supplementary character
+          int subboundtype3[] = {UTF16.LEAD_SURROGATE_BOUNDARY,
+                   UTF16.TRAIL_SURROGATE_BOUNDARY,
+                   UTF16.SINGLE_CHAR_BOUNDARY};
+          start = 5;
+          limit = 8;
+          for (int i = 0; i < limit - start; i ++) {
+        if (UTF16.bounds(array, start, limit, i) != subboundtype3[i]) {
+                  errln("FAILED Subarray bounds in [" + start + ", " + limit +
+              "] expected " + subboundtype3[i] + " at offset " + i);
+        }
+          }
+    }
+
+    /**
+     * Testing UTF16 class methods charAt and charAtCodePoint
+     */
+    public void TestCharAt()
+    {
+          StringBuffer strbuff =
+        new StringBuffer("12345\ud800\udc0167890\ud800\udc02");
+          if (UTF16.charAt(strbuff, 0) != '1' || UTF16.charAt(strbuff, 2) != '3'
+              || UTF16.charAt(strbuff, 5) != 0x10001 ||
+        UTF16.charAt(strbuff, 6) != 0x10001 ||
+        UTF16.charAt(strbuff, 12) != 0x10002 ||
+        UTF16.charAt(strbuff, 13) != 0x10002) {
+        errln("FAIL Getting character from string buffer error" );
+          }
+          String str = strbuff.toString();
+          if (UTF16.charAt(str, 0) != '1' || UTF16.charAt(str, 2) != '3' ||
+        UTF16.charAt(str, 5) != 0x10001 || UTF16.charAt(str, 6) != 0x10001
+        || UTF16.charAt(str, 12) != 0x10002 ||
+        UTF16.charAt(str, 13) != 0x10002)
+        {
+              errln("FAIL Getting character from string error" );
+        }
+          char array[] = str.toCharArray();
+          int start = 0;
+          int limit = str.length();
+          if (UTF16.charAt(array, start, limit, 0) != '1' ||
+        UTF16.charAt(array, start, limit, 2) != '3' ||
+        UTF16.charAt(array, start, limit, 5) != 0x10001 ||
+        UTF16.charAt(array, start, limit, 6) != 0x10001 ||
+        UTF16.charAt(array, start, limit, 12) != 0x10002 ||
+        UTF16.charAt(array, start, limit, 13) != 0x10002) {
+        errln("FAIL Getting character from array error" );
+          }
+          // check the sub array here.
+          start = 6;
+          limit = 13;
+          try {
+        UTF16.charAt(array, start, limit, -1);
+        errln("FAIL out of bounds error expected");
+          } catch (Exception e) {
+        System.out.print("");
+          }
+          try {
+        UTF16.charAt(array, start, limit, 8);
+        errln("FAIL out of bounds error expected");
+          } catch (Exception e) {
+        System.out.print("");
+          }
+          if (UTF16.charAt(array, start, limit, 0) != 0xdc01) {
+        errln("FAIL Expected result in subarray 0xdc01");
+          }
+          if (UTF16.charAt(array, start, limit, 6) != 0xd800) {
+        errln("FAIL Expected result in subarray 0xd800");
+          }
+          ReplaceableString replaceable = new ReplaceableString(str);
+          if (UTF16.charAt(replaceable, 0) != '1' ||
+              UTF16.charAt(replaceable, 2) != '3' ||
+        UTF16.charAt(replaceable, 5) != 0x10001 ||
+        UTF16.charAt(replaceable, 6) != 0x10001 ||
+        UTF16.charAt(replaceable, 12) != 0x10002 ||
+        UTF16.charAt(replaceable, 13) != 0x10002) {
+        errln("FAIL Getting character from replaceable error" );
+          }
+    }
+
+    /**
+     * Testing UTF16 class methods countCodePoint
+     */
+    public void TestCountCodePoint()
+    {
+        StringBuffer strbuff = new StringBuffer("");
+        char         array[] = null;
+        if (UTF16.countCodePoint(strbuff) != 0 ||
+        UTF16.countCodePoint("") != 0 ||
+        UTF16.countCodePoint(array,0 ,0) != 0) {
+        errln("FAIL Counting code points for empty strings");
+        }
+
+        strbuff = new StringBuffer("this is a string ");
+        String str = strbuff.toString();
+        array = str.toCharArray();
+        int size = str.length();
+
+        if (UTF16.countCodePoint(array, 0, 0) != 0) {
+        errln("FAIL Counting code points for 0 offset array");
+        }
+
+        if (UTF16.countCodePoint(str) != size ||
+        UTF16.countCodePoint(strbuff) != size ||
+        UTF16.countCodePoint(array, 0, size) != size) {
+        errln("FAIL Counting code points");
+        }
+
+        UTF16.append(strbuff, 0x10000);
+        str = strbuff.toString();
+        array = str.toCharArray();
+        if (UTF16.countCodePoint(str) != size + 1 ||
+        UTF16.countCodePoint(strbuff) != size + 1 ||
+        UTF16.countCodePoint(array, 0, size + 1) != size + 1 ||
+        UTF16.countCodePoint(array, 0, size + 2) != size + 1) {
+        errln("FAIL Counting code points");
+        }
+        UTF16.append(strbuff, 0x61);
+        str = strbuff.toString();
+        array = str.toCharArray();
+        if (UTF16.countCodePoint(str) != size + 2 ||
+        UTF16.countCodePoint(strbuff) != size + 2 ||
+        UTF16.countCodePoint(array, 0, size + 1) != size + 1 ||
+        UTF16.countCodePoint(array, 0, size + 2) != size + 1 ||
+        UTF16.countCodePoint(array, 0, size + 3) != size + 2) {
+        errln("FAIL Counting code points");
+        }
+    }
+
+    /**
+     * Testing UTF16 class methods delete
+     */
+    public void TestDelete()
+    {                                        //01234567890123456
+        StringBuffer strbuff = new StringBuffer("these are strings");
+        int size = strbuff.length();
+        char array[] = strbuff.toString().toCharArray();
+
+        UTF16.delete(strbuff, 3);
+        UTF16.delete(strbuff, 3);
+        UTF16.delete(strbuff, 3);
+        UTF16.delete(strbuff, 3);
+        UTF16.delete(strbuff, 3);
+        UTF16.delete(strbuff, 3);
+        try {
+        UTF16.delete(strbuff, strbuff.length());
+        errln("FAIL deleting out of bounds character should fail");
+        } catch (Exception e) {
+        System.out.print("");
+        }
+        UTF16.delete(strbuff, strbuff.length() - 1);
+        if (!strbuff.toString().equals("the string")) {
+        errln("FAIL expected result after deleting characters is " +
+          "\"the string\"");
+        }
+
+        size = UTF16.delete(array, size, 3);
+        size = UTF16.delete(array, size, 3);
+        size = UTF16.delete(array, size, 3);
+        size = UTF16.delete(array, size, 3);
+        size = UTF16.delete(array, size, 3);
+        size = UTF16.delete(array, size, 3);
+        try {
+        UTF16.delete(array, size, size);
+        errln("FAIL deleting out of bounds character should fail");
+        } catch (Exception e) {
+        System.out.print("");
+        }
+        size = UTF16.delete(array, size, size - 1);
+        String str = new String(array, 0, size);
+        if (!str.equals("the string")) {
+        errln("FAIL expected result after deleting characters is " +
+          "\"the string\"");
+        }
+    //012345678     9     01     2      3     4
+        strbuff = new StringBuffer("string: \ud800\udc00 \ud801\udc01 \ud801\udc01");
+        size = strbuff.length();
+        array = strbuff.toString().toCharArray();
+
+        UTF16.delete(strbuff, 8);
+        UTF16.delete(strbuff, 8);
+        UTF16.delete(strbuff, 9);
+        UTF16.delete(strbuff, 8);
+        UTF16.delete(strbuff, 9);
+        UTF16.delete(strbuff, 6);
+        UTF16.delete(strbuff, 6);
+        if (!strbuff.toString().equals("string")) {
+        errln("FAIL expected result after deleting characters is \"string\"");
+        }
+
+        size = UTF16.delete(array, size, 8);
+        size = UTF16.delete(array, size, 8);
+        size = UTF16.delete(array, size, 9);
+        size = UTF16.delete(array, size, 8);
+        size = UTF16.delete(array, size, 9);
+        size = UTF16.delete(array, size, 6);
+        size = UTF16.delete(array, size, 6);
+        str = new String(array, 0, size);
+        if (!str.equals("string")) {
+        errln("FAIL expected result after deleting characters is \"string\"");
+        }
+    }
+
+    /**
+     * Testing findOffsetFromCodePoint and findCodePointOffset
+     */
+    public void TestfindOffset()
+    {
+        // jitterbug 47
+        String str = "a\uD800\uDC00b";
+        StringBuffer strbuff = new StringBuffer(str);
+        char array[] = str.toCharArray();
+        int limit = str.length();
+        if (UTF16.findCodePointOffset(str, 0) != 0 ||
+        UTF16.findOffsetFromCodePoint(str, 0) != 0 ||
+        UTF16.findCodePointOffset(strbuff, 0) != 0 ||
+        UTF16.findOffsetFromCodePoint(strbuff, 0) != 0 ||
+        UTF16.findCodePointOffset(array, 0, limit, 0) != 0 ||
+        UTF16.findOffsetFromCodePoint(array, 0, limit, 0) != 0) {
+        errln("FAIL Getting the first codepoint offset to a string with " +
+          "supplementary characters");
+        }
+        if (UTF16.findCodePointOffset(str, 1) != 1 ||
+        UTF16.findOffsetFromCodePoint(str, 1) != 1 ||
+        UTF16.findCodePointOffset(strbuff, 1) != 1 ||
+        UTF16.findOffsetFromCodePoint(strbuff, 1) != 1 ||
+        UTF16.findCodePointOffset(array, 0, limit, 1) != 1 ||
+        UTF16.findOffsetFromCodePoint(array, 0, limit, 1) != 1) {
+        errln("FAIL Getting the second codepoint offset to a string with " +
+          "supplementary characters");
+        }
+        if (UTF16.findCodePointOffset(str, 2) != 1 ||
+        UTF16.findOffsetFromCodePoint(str, 2) != 3 ||
+        UTF16.findCodePointOffset(strbuff, 2) != 1 ||
+        UTF16.findOffsetFromCodePoint(strbuff, 2) != 3 ||
+        UTF16.findCodePointOffset(array, 0, limit, 2) != 1 ||
+        UTF16.findOffsetFromCodePoint(array, 0, limit, 2) != 3) {
+        errln("FAIL Getting the third codepoint offset to a string with " +
+          "supplementary characters");
+        }
+        if (UTF16.findCodePointOffset(str, 3) != 2 ||
+        UTF16.findOffsetFromCodePoint(str, 3) != 4 ||
+        UTF16.findCodePointOffset(strbuff, 3) != 2 ||
+        UTF16.findOffsetFromCodePoint(strbuff, 3) != 4 ||
+        UTF16.findCodePointOffset(array, 0, limit, 3) != 2 ||
+        UTF16.findOffsetFromCodePoint(array, 0, limit, 3) != 4) {
+        errln("FAIL Getting the last codepoint offset to a string with " +
+          "supplementary characters");
+        }
+        if (UTF16.findCodePointOffset(str, 4) != 3 ||
+        UTF16.findCodePointOffset(strbuff, 4) != 3 ||
+        UTF16.findCodePointOffset(array, 0, limit, 4) != 3) {
+        errln("FAIL Getting the length offset to a string with " +
+          "supplementary characters");
+        }
+        try {
+        UTF16.findCodePointOffset(str, 5);
+        errln("FAIL Getting the a non-existence codepoint to a string " +
+          "with supplementary characters");
+        } catch (Exception e) {
+        // this is a success
+        logln("Passed out of bounds codepoint offset");
+        }
+        try {
+        UTF16.findOffsetFromCodePoint(str, 4);
+        errln("FAIL Getting the a non-existence codepoint to a string " +
+          "with supplementary characters");
+        } catch (Exception e) {
+        // this is a success
+        logln("Passed out of bounds codepoint offset");
+        }
+        try {
+        UTF16.findCodePointOffset(strbuff, 5);
+        errln("FAIL Getting the a non-existence codepoint to a string " +
+          "with supplementary characters");
+        } catch (Exception e) {
+        // this is a success
+        logln("Passed out of bounds codepoint offset");
+        }
+        try {
+        UTF16.findOffsetFromCodePoint(strbuff, 4);
+        errln("FAIL Getting the a non-existence codepoint to a string " +
+          "with supplementary characters");
+        } catch (Exception e) {
+        // this is a success
+        logln("Passed out of bounds codepoint offset");
+        }
+        try {
+        UTF16.findCodePointOffset(array, 0, limit, 5);
+        errln("FAIL Getting the a non-existence codepoint to a string " +
+          "with supplementary characters");
+        } catch (Exception e) {
+        // this is a success
+        logln("Passed out of bounds codepoint offset");
+        }
+        try {
+        UTF16.findOffsetFromCodePoint(array, 0, limit, 4);
+        errln("FAIL Getting the a non-existence codepoint to a string " +
+          "with supplementary characters");
+        } catch (Exception e) {
+        // this is a success
+        logln("Passed out of bounds codepoint offset");
+        }
+
+        if (UTF16.findCodePointOffset(array, 1, 3, 0) != 0 ||
+        UTF16.findOffsetFromCodePoint(array, 1, 3, 0) != 0 ||
+        UTF16.findCodePointOffset(array, 1, 3, 1) != 0 ||
+        UTF16.findCodePointOffset(array, 1, 3, 2) != 1 ||
+        UTF16.findOffsetFromCodePoint(array, 1, 3, 1) != 2) {
+        errln("FAIL Getting valid codepoint offset in sub array");
+        }
+    }
+
+    /**
+     * Testing UTF16 class methods getCharCount, *Surrogate
+     */
+    public void TestGetCharCountSurrogate()
+    {
+        if (UTF16.getCharCount(0x61) != 1 ||
+        UTF16.getCharCount(0x10000) != 2) {
+        errln("FAIL getCharCount result failure");
+        }
+        if (UTF16.getLeadSurrogate(0x61) != 0 ||
+        UTF16.getTrailSurrogate(0x61) != 0x61 ||
+        UTF16.isLeadSurrogate((char)0x61) ||
+        UTF16.isTrailSurrogate((char)0x61) ||
+        UTF16.getLeadSurrogate(0x10000) != 0xd800 ||
+        UTF16.getTrailSurrogate(0x10000) != 0xdc00 ||
+        UTF16.isLeadSurrogate((char)0xd800) != true ||
+        UTF16.isTrailSurrogate((char)0xd800) ||
+        UTF16.isLeadSurrogate((char)0xdc00) ||
+        UTF16.isTrailSurrogate((char)0xdc00) != true) {
+        errln("FAIL *Surrogate result failure");
+        }
+
+        if (UTF16.isSurrogate((char)0x61) || !UTF16.isSurrogate((char)0xd800)
+            || !UTF16.isSurrogate((char)0xdc00)) {
+        errln("FAIL isSurrogate result failure");
+        }
+    }
+
+    /**
+     * Testing UTF16 class method insert
+     */
+    public void TestInsert()
+    {
+        StringBuffer strbuff = new StringBuffer("0123456789");
+        char array[] = new char[128];
+        Utility.getChars(strbuff, 0, strbuff.length(), array, 0);
+        int length = 10;
+        UTF16.insert(strbuff, 5, 't');
+        UTF16.insert(strbuff, 5, 's');
+        UTF16.insert(strbuff, 5, 'e');
+        UTF16.insert(strbuff, 5, 't');
+        if (!(strbuff.toString().equals("01234test56789"))) {
+        errln("FAIL inserting \"test\"");
+        }
+        length = UTF16.insert(array, length, 5, 't');
+        length = UTF16.insert(array, length, 5, 's');
+        length = UTF16.insert(array, length, 5, 'e');
+        length = UTF16.insert(array, length, 5, 't');
+        String str = new String(array, 0, length);
+        if (!(str.equals("01234test56789"))) {
+        errln("FAIL inserting \"test\"");
+        }
+        UTF16.insert(strbuff, 0, 0x10000);
+        UTF16.insert(strbuff, 11, 0x10000);
+        UTF16.insert(strbuff, strbuff.length(), 0x10000);
+        if (!(strbuff.toString().equals(
+                    "\ud800\udc0001234test\ud800\udc0056789\ud800\udc00"))) {
+        errln("FAIL inserting supplementary characters");
+        }
+        length = UTF16.insert(array, length, 0, 0x10000);
+        length = UTF16.insert(array, length, 11, 0x10000);
+        length = UTF16.insert(array, length, length, 0x10000);
+        str = new String(array, 0, length);
+        if (!(str.equals(
+             "\ud800\udc0001234test\ud800\udc0056789\ud800\udc00"))) {
+        errln("FAIL inserting supplementary characters");
+        }
+
+        try {
+        UTF16.insert(strbuff, -1, 0);
+        errln("FAIL invalid insertion offset");
+        } catch (Exception e) {
+        System.out.print("");
+        }
+        try {
+        UTF16.insert(strbuff, 64, 0);
+        errln("FAIL invalid insertion offset");
+        } catch (Exception e) {
+        System.out.print("");
+        }
+        try {
+        UTF16.insert(array, length, -1, 0);
+        errln("FAIL invalid insertion offset");
+        } catch (Exception e) {
+        System.out.print("");
+        }
+        try {
+        UTF16.insert(array, length, 64, 0);
+        errln("FAIL invalid insertion offset");
+        } catch (Exception e) {
+        System.out.print("");
+        }
+        try {
+        // exceeded array size
+        UTF16.insert(array, array.length, 64, 0);
+        errln("FAIL invalid insertion offset");
+        } catch (Exception e) {
+        System.out.print("");
+        }
+    }
+
+    /*
+     * Testing moveCodePointOffset APIs
+     */
+
+    //
+    //   checkMoveCodePointOffset
+    //      Run a single test case through each of the moveCodePointOffset() functions.
+    //          Parameters -
+    //              s               The string to work in.
+    //              startIdx        The starting position within the string.
+    //              amount          The number of code points to move.
+    //              expectedResult  The string index after the move, or -1 if the
+    //                              function should throw an exception.
+    private void checkMoveCodePointOffset(String s, int startIdx, int amount, int expectedResult) {
+        // Test with the String flavor of moveCodePointOffset
+        try {
+            int result = UTF16.moveCodePointOffset(s, startIdx, amount);
+            if (result != expectedResult) {
+                errln("FAIL: UTF16.moveCodePointOffset(String \"" + s + "\", " + startIdx + ", " + amount + ")" +
+                        " returned "  + result + ", expected result was " +
+                        (expectedResult==-1 ? "exception" : Integer.toString(expectedResult)));
+            }
+        }
+        catch (IndexOutOfBoundsException e) {
+            if (expectedResult != -1) {
+                errln("FAIL: UTF16.moveCodePointOffset(String \"" + s + "\", " + startIdx + ", " + amount + ")" +
+                        " returned exception" + ", expected result was " + expectedResult);
+            }
+        }
+
+        // Test with the StringBuffer flavor of moveCodePointOffset
+        StringBuffer sb = new StringBuffer(s);
+        try {
+            int result = UTF16.moveCodePointOffset(sb, startIdx, amount);
+            if (result != expectedResult) {
+                errln("FAIL: UTF16.moveCodePointOffset(StringBuffer \"" + s + "\", " + startIdx + ", " + amount + ")" +
+                        " returned "  + result + ", expected result was " +
+                        (expectedResult==-1 ? "exception" : Integer.toString(expectedResult)));
+            }
+        }
+        catch (IndexOutOfBoundsException e) {
+            if (expectedResult != -1) {
+                errln("FAIL: UTF16.moveCodePointOffset(StringBuffer \"" + s + "\", " + startIdx + ", " + amount + ")" +
+                        " returned exception" + ", expected result was " + expectedResult);
+            }
+        }
+
+        // Test with the char[] flavor of moveCodePointOffset
+        char ca[] = s.toCharArray();
+        try {
+            int result = UTF16.moveCodePointOffset(ca, 0, s.length(), startIdx, amount);
+            if (result != expectedResult) {
+                errln("FAIL: UTF16.moveCodePointOffset(char[] \"" + s + "\", 0, " + s.length()
+                        + ", " + startIdx + ", " + amount + ")" +
+                        " returned "  + result + ", expected result was " +
+                        (expectedResult==-1 ? "exception" : Integer.toString(expectedResult)));
+            }
+        }
+        catch (IndexOutOfBoundsException e) {
+            if (expectedResult != -1) {
+                errln("FAIL: UTF16.moveCodePointOffset(char[] \"" + s + "\", 0, " + s.length()
+                        + ", " + startIdx + ", " + amount + ")" +
+                        " returned exception" + ", expected result was " + expectedResult);
+            }
+        }
+
+        // Put the test string into the interior of a char array,
+        //   run test on the subsection of the array.
+        char ca2[] = new char[s.length()+2];
+        ca2[0] = (char)0xd800;
+        ca2[s.length()+1] = (char)0xd8ff;
+        s.getChars(0, s.length(), ca2, 1);
+        try {
+            int result = UTF16.moveCodePointOffset(ca2, 1, s.length()+1, startIdx, amount);
+            if (result != expectedResult) {
+                errln("UTF16.moveCodePointOffset(char[] \"" + "." + s + ".\", 1, " + (s.length()+1)
+                        + ", " + startIdx + ", " + amount + ")" +
+                         " returned "  + result + ", expected result was " +
+                        (expectedResult==-1 ? "exception" : Integer.toString(expectedResult)));
+            }
+        }
+        catch (IndexOutOfBoundsException e) {
+            if (expectedResult != -1) {
+                errln("UTF16.moveCodePointOffset(char[] \"" + "." + s + ".\", 1, " + (s.length()+1)
+                        + ", " + startIdx + ", " + amount + ")" +
+                        " returned exception" + ", expected result was " + expectedResult);
+            }
+        }
+
+    }
+
+
+    public void TestMoveCodePointOffset()
+    {
+        // checkMoveCodePointOffset(String, startIndex, amount, expected );  expected=-1 for exception.
+
+        // No Supplementary chars
+        checkMoveCodePointOffset("abc", 1,  1, 2);
+        checkMoveCodePointOffset("abc", 1, -1, 0);
+        checkMoveCodePointOffset("abc", 1, -2, -1);
+        checkMoveCodePointOffset("abc", 1,  2, 3);
+        checkMoveCodePointOffset("abc", 1,  3, -1);
+        checkMoveCodePointOffset("abc", 1,  0, 1);
+
+        checkMoveCodePointOffset("abc", 3, 0, 3);
+        checkMoveCodePointOffset("abc", 4, 0, -1);
+        checkMoveCodePointOffset("abc", 0, 0, 0);
+        checkMoveCodePointOffset("abc", -1, 0, -1);
+
+        checkMoveCodePointOffset("", 0, 0, 0);
+        checkMoveCodePointOffset("", 0, -1, -1);
+        checkMoveCodePointOffset("", 0, 1, -1);
+
+        checkMoveCodePointOffset("a", 0, 0, 0);
+        checkMoveCodePointOffset("a", 1, 0, 1);
+        checkMoveCodePointOffset("a", 0, 1, 1);
+        checkMoveCodePointOffset("a", 1, -1, 0);
+
+
+        // Supplementary in middle of string
+        checkMoveCodePointOffset("a\ud800\udc00b", 0, 1, 1);
+        checkMoveCodePointOffset("a\ud800\udc00b", 0, 2, 3);
+        checkMoveCodePointOffset("a\ud800\udc00b", 0, 3, 4);
+        checkMoveCodePointOffset("a\ud800\udc00b", 0, 4, -1);
+
+        checkMoveCodePointOffset("a\ud800\udc00b", 4, -1, 3);
+        checkMoveCodePointOffset("a\ud800\udc00b", 4, -2, 1);
+        checkMoveCodePointOffset("a\ud800\udc00b", 4, -3, 0);
+        checkMoveCodePointOffset("a\ud800\udc00b", 4, -4, -1);
+
+        // Supplementary at start of string
+        checkMoveCodePointOffset("\ud800\udc00ab", 0, 1, 2);
+        checkMoveCodePointOffset("\ud800\udc00ab", 1, 1, 2);
+        checkMoveCodePointOffset("\ud800\udc00ab", 2, 1, 3);
+        checkMoveCodePointOffset("\ud800\udc00ab", 2, -1, 0);
+        checkMoveCodePointOffset("\ud800\udc00ab", 1, -1, 0);
+        checkMoveCodePointOffset("\ud800\udc00ab", 0, -1, -1);
+
+
+        // Supplementary at end of string
+        checkMoveCodePointOffset("ab\ud800\udc00", 1, 1, 2);
+        checkMoveCodePointOffset("ab\ud800\udc00", 2, 1, 4);
+        checkMoveCodePointOffset("ab\ud800\udc00", 3, 1, 4);
+        checkMoveCodePointOffset("ab\ud800\udc00", 4, 1, -1);
+
+        checkMoveCodePointOffset("ab\ud800\udc00", 5, -2, -1);
+        checkMoveCodePointOffset("ab\ud800\udc00", 4, -1, 2);
+        checkMoveCodePointOffset("ab\ud800\udc00", 3, -1, 2);
+        checkMoveCodePointOffset("ab\ud800\udc00", 2, -1, 1);
+        checkMoveCodePointOffset("ab\ud800\udc00", 1, -1, 0);
+
+        // Unpaired surrogate in middle
+        checkMoveCodePointOffset("a\ud800b", 0, 1, 1);
+        checkMoveCodePointOffset("a\ud800b", 1, 1, 2);
+        checkMoveCodePointOffset("a\ud800b", 2, 1, 3);
+
+        checkMoveCodePointOffset("a\udc00b", 0, 1, 1);
+        checkMoveCodePointOffset("a\udc00b", 1, 1, 2);
+        checkMoveCodePointOffset("a\udc00b", 2, 1, 3);
+
+        checkMoveCodePointOffset("a\udc00\ud800b", 0, 1, 1);
+        checkMoveCodePointOffset("a\udc00\ud800b", 1, 1, 2);
+        checkMoveCodePointOffset("a\udc00\ud800b", 2, 1, 3);
+        checkMoveCodePointOffset("a\udc00\ud800b", 3, 1, 4);
+
+        checkMoveCodePointOffset("a\ud800b", 1, -1, 0);
+        checkMoveCodePointOffset("a\ud800b", 2, -1, 1);
+        checkMoveCodePointOffset("a\ud800b", 3, -1, 2);
+
+        checkMoveCodePointOffset("a\udc00b", 1, -1, 0);
+        checkMoveCodePointOffset("a\udc00b", 2, -1, 1);
+        checkMoveCodePointOffset("a\udc00b", 3, -1, 2);
+
+        checkMoveCodePointOffset("a\udc00\ud800b", 1, -1, 0);
+        checkMoveCodePointOffset("a\udc00\ud800b", 2, -1, 1);
+        checkMoveCodePointOffset("a\udc00\ud800b", 3, -1, 2);
+        checkMoveCodePointOffset("a\udc00\ud800b", 4, -1, 3);
+
+        // Unpaired surrogate at start
+        checkMoveCodePointOffset("\udc00ab", 0, 1, 1);
+        checkMoveCodePointOffset("\ud800ab", 0, 2, 2);
+        checkMoveCodePointOffset("\ud800\ud800ab", 0, 3, 3);
+        checkMoveCodePointOffset("\udc00\udc00ab", 0, 4, 4);
+
+        checkMoveCodePointOffset("\udc00ab", 2, -1, 1);
+        checkMoveCodePointOffset("\ud800ab", 1, -1, 0);
+        checkMoveCodePointOffset("\ud800ab", 1, -2, -1);
+        checkMoveCodePointOffset("\ud800\ud800ab", 2, -1, 1);
+        checkMoveCodePointOffset("\udc00\udc00ab", 2, -2, 0);
+        checkMoveCodePointOffset("\udc00\udc00ab", 2, -3, -1);
+
+        // Unpaired surrogate at end
+        checkMoveCodePointOffset("ab\udc00\udc00ab", 3, 1, 4);
+        checkMoveCodePointOffset("ab\udc00\udc00ab", 2, 1, 3);
+        checkMoveCodePointOffset("ab\udc00\udc00ab", 1, 1, 2);
+
+        checkMoveCodePointOffset("ab\udc00\udc00ab", 4, -1, 3);
+        checkMoveCodePointOffset("ab\udc00\udc00ab", 3, -1, 2);
+        checkMoveCodePointOffset("ab\udc00\udc00ab", 2, -1, 1);
+
+
+                               //01234567890     1     2     3     45678901234
+        String str = new String("0123456789\ud800\udc00\ud801\udc010123456789");
+        int move1[] = { 1,  2,  3,  4,  5,  6,  7,  8,  9, 10,
+                       12, 12, 14, 14, 15, 16, 17, 18, 19, 20,
+                       21, 22, 23, 24};
+        int move2[] = { 2,  3,  4,  5,  6,  7,  8,  9, 10, 12,
+                       14, 14, 15, 15, 16, 17, 18, 19, 20, 21,
+                       22, 23, 24, -1};
+        int move3[] = { 3,  4,  5,  6,  7,  8,  9, 10, 12, 14,
+                       15, 15, 16, 16, 17, 18, 19, 20, 21, 22,
+                       23, 24, -1, -1};
+        int size = str.length();
+        for (int i = 0; i < size; i ++) {
+            checkMoveCodePointOffset(str, i, 1, move1[i]);
+            checkMoveCodePointOffset(str, i, 2, move2[i]);
+            checkMoveCodePointOffset(str, i, 3, move3[i]);
+        }
+
+        char strarray[] = str.toCharArray();
+        if (UTF16.moveCodePointOffset(strarray, 9, 13, 0, 2) != 3) {
+            errln("FAIL: Moving offset 0 by 2 codepoint in subarray [9, 13] " +
+            "expected result 3");
+        }
+        if (UTF16.moveCodePointOffset(strarray, 9, 13, 1, 2) != 4) {
+            errln("FAIL: Moving offset 1 by 2 codepoint in subarray [9, 13] " +
+            "expected result 4");
+        }
+        if (UTF16.moveCodePointOffset(strarray, 11, 14, 0, 2) != 3) {
+            errln("FAIL: Moving offset 0 by 2 codepoint in subarray [11, 14] "
+                    + "expected result 3");
+        }
+    }
+
+    /**
+     * Testing UTF16 class methods setCharAt
+     */
+    public void TestSetCharAt()
+    {
+        StringBuffer strbuff = new StringBuffer("012345");
+        char array[] = new char[128];
+        Utility.getChars(strbuff, 0, strbuff.length(), array, 0);
+        int length = 6;
+        for (int i = 0; i < length; i ++) {
+        UTF16.setCharAt(strbuff, i, '0');
+        UTF16.setCharAt(array, length, i, '0');
+        }
+        String str = new String(array, 0, length);
+        if (!(strbuff.toString().equals("000000")) ||
+        !(str.equals("000000"))) {
+        errln("FAIL: setChar to '0' failed");
+        }
+        UTF16.setCharAt(strbuff, 0, 0x10000);
+        UTF16.setCharAt(strbuff, 4, 0x10000);
+        UTF16.setCharAt(strbuff, 7, 0x10000);
+        if (!(strbuff.toString().equals(
+                    "\ud800\udc0000\ud800\udc000\ud800\udc00"))) {
+        errln("FAIL: setChar to 0x10000 failed");
+        }
+        length = UTF16.setCharAt(array, length, 0, 0x10000);
+        length = UTF16.setCharAt(array, length, 4, 0x10000);
+        length = UTF16.setCharAt(array, length, 7, 0x10000);
+        str = new String(array, 0, length);
+        if (!(str.equals("\ud800\udc0000\ud800\udc000\ud800\udc00"))) {
+        errln("FAIL: setChar to 0x10000 failed");
+        }
+        UTF16.setCharAt(strbuff, 0, '0');
+        UTF16.setCharAt(strbuff, 1, '1');
+        UTF16.setCharAt(strbuff, 2, '2');
+        UTF16.setCharAt(strbuff, 4, '3');
+        UTF16.setCharAt(strbuff, 4, '4');
+        UTF16.setCharAt(strbuff, 5, '5');
+        if (!strbuff.toString().equals("012345")) {
+        errln("Fail converting supplementaries in StringBuffer to BMP " +
+          "characters");
+        }
+        length = UTF16.setCharAt(array, length, 0, '0');
+        length = UTF16.setCharAt(array, length, 1, '1');
+        length = UTF16.setCharAt(array, length, 2, '2');
+        length = UTF16.setCharAt(array, length, 4, '3');
+        length = UTF16.setCharAt(array, length, 4, '4');
+        length = UTF16.setCharAt(array, length, 5, '5');
+        str = new String(array, 0, length);
+        if (!str.equals("012345")) {
+        errln("Fail converting supplementaries in array to BMP " +
+          "characters");
+        }
+        try {
+        UTF16.setCharAt(strbuff, -1, 0);
+        errln("FAIL: setting character at invalid offset");
+        } catch (Exception e) {
+        System.out.print("");
+        }
+        try {
+        UTF16.setCharAt(array, length, -1, 0);
+        errln("FAIL: setting character at invalid offset");
+        } catch (Exception e) {
+        System.out.print("");
+        }
+        try {
+        UTF16.setCharAt(strbuff, length, 0);
+        errln("FAIL: setting character at invalid offset");
+        } catch (Exception e) {
+        System.out.print("");
+        }
+        try {
+        UTF16.setCharAt(array, length, length, 0);
+        errln("FAIL: setting character at invalid offset");
+        } catch (Exception e) {
+        System.out.print("");
+        }
+    }
+
+    /**
+     * Testing UTF16 valueof APIs
+     */
+    public void TestValueOf()
+    {
+        if (!UTF16.valueOf(0x61).equals("a") ||
+        !UTF16.valueOf(0x10000).equals("\ud800\udc00")) {
+        errln("FAIL: valueof(char32)");
+        }
+        String str = new String("01234\ud800\udc0056789");
+        StringBuffer strbuff = new StringBuffer(str);
+        char array[] = str.toCharArray();
+        int length = str.length();
+
+        String expected[] = {"0", "1", "2", "3", "4", "\ud800\udc00",
+                 "\ud800\udc00", "5", "6", "7", "8", "9"};
+        for (int i = 0; i < length; i ++) {
+        if (!UTF16.valueOf(str, i).equals(expected[i]) ||
+                !UTF16.valueOf(strbuff, i).equals(expected[i]) ||
+                !UTF16.valueOf(array, 0, length, i).equals(expected[i])) {
+                errln("FAIL: valueOf() expected " + expected[i]);
+        }
+        }
+        try {
+        UTF16.valueOf(str, -1);
+        errln("FAIL: out of bounds error expected");
+        } catch (Exception e) {
+        System.out.print("");
+        }
+        try {
+        UTF16.valueOf(strbuff, -1);
+        errln("FAIL: out of bounds error expected");
+        } catch (Exception e) {
+        System.out.print("");
+        }
+        try {
+        UTF16.valueOf(array, 0, length, -1);
+        errln("FAIL: out of bounds error expected");
+        } catch (Exception e) {
+        System.out.print("");
+        }
+        try {
+        UTF16.valueOf(str, length);
+        errln("FAIL: out of bounds error expected");
+        } catch (Exception e) {
+        System.out.print("");
+        }
+        try {
+        UTF16.valueOf(strbuff, length);
+        errln("FAIL: out of bounds error expected");
+        } catch (Exception e) {
+        System.out.print("");
+        }
+        try {
+        UTF16.valueOf(array, 0, length, length);
+        errln("FAIL: out of bounds error expected");
+        } catch (Exception e) {
+        System.out.print("");
+        }
+        if (!UTF16.valueOf(array, 6, length, 0).equals("\udc00") ||
+        !UTF16.valueOf(array, 0, 6, 5).equals("\ud800")) {
+        errln("FAIL: error getting partial supplementary character");
+        }
+        try {
+        UTF16.valueOf(array, 3, 5, -1);
+        errln("FAIL: out of bounds error expected");
+        } catch (Exception e) {
+        System.out.print("");
+        }
+        try {
+        UTF16.valueOf(array, 3, 5, 3);
+        errln("FAIL: out of bounds error expected");
+        } catch (Exception e) {
+        System.out.print("");
+        }
+    }
+
+    public void TestIndexOf()
+    {
+    //012345678901234567890123456789012345
+        String test1     = "test test ttest tetest testesteststt";
+        String test2     = "test";
+        int    testChar1 = 0x74;
+        int    testChar2 = 0x20402;
+        // int    testChar3 = 0xdc02;
+        // int    testChar4 = 0xd841;
+        String test3     = "\ud841\udc02\u0071\udc02\ud841\u0071\ud841\udc02\u0071\u0072\ud841\udc02\u0071\ud841\udc02\u0071\udc02\ud841\u0073";
+        String test4     = UCharacter.toString(testChar2);
+
+        if (UTF16.indexOf(test1, test2) != 0 ||
+            UTF16.indexOf(test1, test2, 0) != 0) {
+            errln("indexOf failed: expected to find '" + test2 +
+                  "' at position 0 in text '" + test1 + "'");
+        }
+        if (UTF16.indexOf(test1, testChar1) != 0 ||
+            UTF16.indexOf(test1, testChar1, 0) != 0) {
+            errln("indexOf failed: expected to find 0x" +
+                  Integer.toHexString(testChar1) +
+                  " at position 0 in text '" + test1 + "'");
+        }
+        if (UTF16.indexOf(test3, testChar2) != 0 ||
+            UTF16.indexOf(test3, testChar2, 0) != 0) {
+            errln("indexOf failed: expected to find 0x" +
+                  Integer.toHexString(testChar2) +
+                  " at position 0 in text '" + Utility.hex(test3) + "'");
+        }
+        String test5 = "\ud841\ud841\udc02";
+        if (UTF16.indexOf(test5, testChar2) != 1 ||
+            UTF16.indexOf(test5, testChar2, 0) != 1) {
+            errln("indexOf failed: expected to find 0x" +
+                  Integer.toHexString(testChar2) +
+                  " at position 0 in text '" + Utility.hex(test3) + "'");
+        }
+        if (UTF16.lastIndexOf(test1, test2) != 29 ||
+            UTF16.lastIndexOf(test1, test2, test1.length()) != 29) {
+            errln("lastIndexOf failed: expected to find '" + test2 +
+                  "' at position 29 in text '" + test1 + "'");
+        }
+        if (UTF16.lastIndexOf(test1, testChar1) != 35 ||
+            UTF16.lastIndexOf(test1, testChar1, test1.length()) != 35) {
+            errln("lastIndexOf failed: expected to find 0x" +
+                  Integer.toHexString(testChar1) +
+                  " at position 35 in text '" + test1 + "'");
+        }
+        if (UTF16.lastIndexOf(test3, testChar2) != 13 ||
+            UTF16.lastIndexOf(test3, testChar2, test3.length()) != 13) {
+            errln("indexOf failed: expected to find 0x" +
+                  Integer.toHexString(testChar2) +
+                  " at position 13 in text '" + Utility.hex(test3) + "'");
+        }
+        int occurrences = 0;
+        for (int startPos = 0; startPos != -1 && startPos < test1.length();)
+        {
+        startPos = UTF16.indexOf(test1, test2, startPos);
+        if (startPos >= 0) {
+            ++ occurrences;
+            startPos += 4;
+        }
+        }
+        if (occurrences != 6) {
+            errln("indexOf failed: expected to find 6 occurrences, found "
+                  + occurrences);
+        }
+
+        occurrences = 0;
+        for (int startPos = 10; startPos != -1 && startPos < test1.length();)
+        {
+        startPos = UTF16.indexOf(test1, test2, startPos);
+        if (startPos >= 0) {
+            ++ occurrences;
+            startPos += 4;
+        }
+        }
+        if (occurrences != 4) {
+            errln("indexOf with starting offset failed: expected to find 4 occurrences, found "
+                  + occurrences);
+        }
+
+        occurrences = 0;
+        for (int startPos = 0;
+         startPos != -1 && startPos < test3.length();) {
+            startPos = UTF16.indexOf(test3, test4, startPos);
+            if (startPos != -1) {
+                ++ occurrences;
+                startPos += 2;
+            }
+        }
+        if (occurrences != 4) {
+            errln("indexOf failed: expected to find 4 occurrences, found "
+          + occurrences);
+        }
+
+        occurrences = 0;
+        for (int startPos = 10;
+             startPos != -1 && startPos < test3.length();) {
+            startPos = UTF16.indexOf(test3, test4, startPos);
+            if (startPos != -1) {
+                ++ occurrences;
+                startPos += 2;
+            }
+        }
+        if (occurrences != 2) {
+            errln("indexOf failed: expected to find 2 occurrences, found "
+                  + occurrences);
+        }
+
+        occurrences = 0;
+        for (int startPos = 0;
+         startPos != -1 && startPos < test1.length();) {
+            startPos = UTF16.indexOf(test1, testChar1, startPos);
+            if (startPos != -1) {
+                ++ occurrences;
+                startPos += 1;
+            }
+        }
+        if (occurrences != 16) {
+            errln("indexOf with character failed: expected to find 16 occurrences, found "
+                  + occurrences);
+        }
+
+        occurrences = 0;
+        for (int startPos = 10;
+         startPos != -1 && startPos < test1.length();) {
+            startPos = UTF16.indexOf(test1, testChar1, startPos);
+            if (startPos != -1) {
+                ++ occurrences;
+                startPos += 1;
+            }
+        }
+        if (occurrences != 12) {
+            errln("indexOf with character & start offset failed: expected to find 12 occurrences, found "
+          + occurrences);
+        }
+
+        occurrences = 0;
+        for (int startPos = 0;
+         startPos != -1 && startPos < test3.length();) {
+            startPos = UTF16.indexOf(test3, testChar2, startPos);
+            if (startPos != -1) {
+                ++ occurrences;
+                startPos += 1;
+            }
+        }
+        if (occurrences != 4) {
+            errln("indexOf failed: expected to find 4 occurrences, found "
+                  + occurrences);
+        }
+
+        occurrences = 0;
+        for (int startPos = 5; startPos != -1 && startPos < test3.length();) {
+            startPos = UTF16.indexOf(test3, testChar2, startPos);
+            if (startPos != -1) {
+                ++ occurrences;
+                startPos += 1;
+            }
+        }
+        if (occurrences != 3) {
+            errln("indexOf with character & start & end offsets failed: expected to find 2 occurrences, found "
+          + occurrences);
+        }
+        occurrences = 0;
+        for (int startPos = 32; startPos != -1;) {
+            startPos = UTF16.lastIndexOf(test1, test2, startPos);
+            if (startPos != -1) {
+                ++ occurrences;
+                startPos -= 5;
+            }
+        }
+        if (occurrences != 6) {
+            errln("lastIndexOf with starting and ending offsets failed: expected to find 4 occurrences, found "
+                  + occurrences);
+        }
+        occurrences = 0;
+        for (int startPos = 32; startPos != -1;) {
+            startPos = UTF16.lastIndexOf(test1, testChar1, startPos);
+            if (startPos != -1) {
+                ++ occurrences;
+                startPos -= 5;
+            }
+        }
+        if (occurrences != 7) {
+            errln("lastIndexOf with character & start & end offsets failed: expected to find 11 occurrences, found "
+          + occurrences);
+        }
+
+        //testing UChar32
+        occurrences = 0;
+        for (int startPos = test3.length(); startPos != -1;) {
+            startPos = UTF16.lastIndexOf(test3, testChar2, startPos - 5);
+            if (startPos != -1) {
+                ++ occurrences;
+            }
+        }
+        if (occurrences != 3) {
+            errln("lastIndexOf with character & start & end offsets failed: expected to find 3 occurrences, found "
+          + occurrences);
+        }
+
+        // testing supplementary
+        for (int i = 0; i < INDEXOF_SUPPLEMENTARY_CHAR_.length; i ++) {
+        int ch = INDEXOF_SUPPLEMENTARY_CHAR_[i];
+        for (int j = 0; j < INDEXOF_SUPPLEMENTARY_CHAR_INDEX_[i].length;
+         j ++) {
+        int index = 0;
+        int expected = INDEXOF_SUPPLEMENTARY_CHAR_INDEX_[i][j];
+        if  (j > 0) {
+            index = INDEXOF_SUPPLEMENTARY_CHAR_INDEX_[i][j - 1] + 1;
+        }
+        if (UTF16.indexOf(INDEXOF_SUPPLEMENTARY_STRING_, ch, index) !=
+            expected ||
+            UTF16.indexOf(INDEXOF_SUPPLEMENTARY_STRING_,
+                  UCharacter.toString(ch), index) !=
+            expected) {
+            errln("Failed finding index for supplementary 0x" +
+              Integer.toHexString(ch));
+        }
+        index = INDEXOF_SUPPLEMENTARY_STRING_.length();
+        if (j < INDEXOF_SUPPLEMENTARY_CHAR_INDEX_[i].length - 1) {
+            index = INDEXOF_SUPPLEMENTARY_CHAR_INDEX_[i][j + 1] - 1;
+        }
+        if (UTF16.lastIndexOf(INDEXOF_SUPPLEMENTARY_STRING_, ch,
+                      index) != expected ||
+            UTF16.lastIndexOf(INDEXOF_SUPPLEMENTARY_STRING_,
+                      UCharacter.toString(ch), index)
+            != expected)
+            {
+            errln("Failed finding last index for supplementary 0x" +
+                  Integer.toHexString(ch));
+            }
+        }
+        }
+
+        for (int i = 0; i < INDEXOF_SUPPLEMENTARY_STR_INDEX_.length; i ++) {
+        int index = 0;
+        int expected = INDEXOF_SUPPLEMENTARY_STR_INDEX_[i];
+        if  (i > 0) {
+        index = INDEXOF_SUPPLEMENTARY_STR_INDEX_[i - 1] + 1;
+        }
+        if (UTF16.indexOf(INDEXOF_SUPPLEMENTARY_STRING_,
+                  INDEXOF_SUPPLEMENTARY_STR_, index) != expected) {
+        errln("Failed finding index for supplementary string " +
+              hex(INDEXOF_SUPPLEMENTARY_STRING_));
+        }
+        index = INDEXOF_SUPPLEMENTARY_STRING_.length();
+        if (i < INDEXOF_SUPPLEMENTARY_STR_INDEX_.length - 1) {
+        index = INDEXOF_SUPPLEMENTARY_STR_INDEX_[i + 1] - 1;
+        }
+        if (UTF16.lastIndexOf(INDEXOF_SUPPLEMENTARY_STRING_,
+                              INDEXOF_SUPPLEMENTARY_STR_, index) != expected) {
+        errln("Failed finding last index for supplementary string " +
+              hex(INDEXOF_SUPPLEMENTARY_STRING_));
+        }
+        }
+    }
+
+    public void TestReplace()
+    {
+        String test1 = "One potato, two potato, three potato, four\n";
+        String test2 = "potato";
+        String test3 = "MISSISSIPPI";
+
+        String result = UTF16.replace(test1, test2, test3);
+        String expectedValue =
+            "One MISSISSIPPI, two MISSISSIPPI, three MISSISSIPPI, four\n";
+        if (!result.equals(expectedValue)) {
+            errln("findAndReplace failed: expected \"" + expectedValue +
+                  "\", got \"" + test1 + "\".");
+        }
+        result = UTF16.replace(test1, test3, test2);
+        expectedValue = test1;
+        if (!result.equals(expectedValue)) {
+            errln("findAndReplace failed: expected \"" + expectedValue +
+                  "\", got \"" + test1 + "\".");
+        }
+
+        result = UTF16.replace(test1, ',', 'e');
+        expectedValue = "One potatoe two potatoe three potatoe four\n";
+        if (!result.equals(expectedValue)) {
+            errln("findAndReplace failed: expected \"" + expectedValue +
+                  "\", got \"" + test1 + "\".");
+        }
+
+        result = UTF16.replace(test1, ',', 0x10000);
+        expectedValue = "One potato\ud800\udc00 two potato\ud800\udc00 three potato\ud800\udc00 four\n";
+        if (!result.equals(expectedValue)) {
+            errln("findAndReplace failed: expected \"" + expectedValue +
+                  "\", got \"" + test1 + "\".");
+        }
+
+        result = UTF16.replace(test1, "potato", "\ud800\udc00\ud801\udc01");
+        expectedValue = "One \ud800\udc00\ud801\udc01, two \ud800\udc00\ud801\udc01, three \ud800\udc00\ud801\udc01, four\n";
+        if (!result.equals(expectedValue)) {
+            errln("findAndReplace failed: expected \"" + expectedValue +
+                  "\", got \"" + test1 + "\".");
+        }
+
+        String test4 = "\ud800\ud800\udc00\ud800\udc00\udc00\ud800\ud800\udc00\ud800\udc00\udc00";
+        result = UTF16.replace(test4, 0xd800, 'A');
+        expectedValue = "A\ud800\udc00\ud800\udc00\udc00A\ud800\udc00\ud800\udc00\udc00";
+        if (!result.equals(expectedValue)) {
+            errln("findAndReplace failed: expected \"" + expectedValue +
+                  "\", got \"" + test1 + "\".");
+        }
+
+        result = UTF16.replace(test4, 0xdC00, 'A');
+        expectedValue = "\ud800\ud800\udc00\ud800\udc00A\ud800\ud800\udc00\ud800\udc00A";
+        if (!result.equals(expectedValue)) {
+            errln("findAndReplace failed: expected \"" + expectedValue +
+                  "\", got \"" + test1 + "\".");
+        }
+
+        result = UTF16.replace(test4, 0x10000, 'A');
+        expectedValue = "\ud800AA\udc00\ud800AA\udc00";
+        if (!result.equals(expectedValue)) {
+            errln("findAndReplace failed: expected \"" + expectedValue +
+                  "\", got \"" + test1 + "\".");
+        }
+    }
+
+    public void TestReverse()
+    {
+        StringBuffer test = new StringBuffer(
+                         "backwards words say to used I");
+
+        StringBuffer result = UTF16.reverse(test);
+        if (!result.toString().equals("I desu ot yas sdrow sdrawkcab")) {
+            errln("reverse() failed:  Expected \"I desu ot yas sdrow sdrawkcab\",\n got \""
+          + result + "\"");
+        }
+        StringBuffer testbuffer = new StringBuffer();
+        UTF16.append(testbuffer, 0x2f999);
+        UTF16.append(testbuffer, 0x1d15f);
+        UTF16.append(testbuffer, 0x00c4);
+        UTF16.append(testbuffer, 0x1ed0);
+        result = UTF16.reverse(testbuffer);
+        if (result.charAt(0) != 0x1ed0 ||
+            result.charAt(1) != 0xc4 ||
+            UTF16.charAt(result, 2) != 0x1d15f ||
+            UTF16.charAt(result, 4)!=0x2f999) {
+            errln("reverse() failed with supplementary characters");
+        }
+    }
+
+    /**
+     * Testing the setter and getter apis for StringComparator
+     */
+    public void TestStringComparator()
+    {
+        UTF16.StringComparator compare = new UTF16.StringComparator();
+        if (compare.getCodePointCompare() != false) {
+            errln("Default string comparator should be code unit compare");
+        }
+        if (compare.getIgnoreCase() != false) {
+            errln("Default string comparator should be case sensitive compare");
+        }
+        if (compare.getIgnoreCaseOption()
+            != UTF16.StringComparator.FOLD_CASE_DEFAULT) {
+            errln("Default string comparator should have fold case default compare");
+        }
+        compare.setCodePointCompare(true);
+        if (compare.getCodePointCompare() != true) {
+            errln("Error setting code point compare");
+        }
+        compare.setCodePointCompare(false);
+        if (compare.getCodePointCompare() != false) {
+            errln("Error setting code point compare");
+        }
+        compare.setIgnoreCase(true, UTF16.StringComparator.FOLD_CASE_DEFAULT);
+        if (compare.getIgnoreCase() != true
+            || compare.getIgnoreCaseOption()
+        != UTF16.StringComparator.FOLD_CASE_DEFAULT) {
+            errln("Error setting ignore case and options");
+        }
+        compare.setIgnoreCase(false, UTF16.StringComparator.FOLD_CASE_EXCLUDE_SPECIAL_I);
+        if (compare.getIgnoreCase() != false
+            || compare.getIgnoreCaseOption()
+        != UTF16.StringComparator.FOLD_CASE_EXCLUDE_SPECIAL_I) {
+            errln("Error setting ignore case and options");
+        }
+        compare.setIgnoreCase(true, UTF16.StringComparator.FOLD_CASE_EXCLUDE_SPECIAL_I);
+        if (compare.getIgnoreCase() != true
+            || compare.getIgnoreCaseOption()
+        != UTF16.StringComparator.FOLD_CASE_EXCLUDE_SPECIAL_I) {
+            errln("Error setting ignore case and options");
+        }
+        compare.setIgnoreCase(false, UTF16.StringComparator.FOLD_CASE_DEFAULT);
+        if (compare.getIgnoreCase() != false
+            || compare.getIgnoreCaseOption()
+        != UTF16.StringComparator.FOLD_CASE_DEFAULT) {
+            errln("Error setting ignore case and options");
+        }
+    }
+
+    public void TestCodePointCompare()
+    {
+        // these strings are in ascending order
+        String str[] = {"\u0061", "\u20ac\ud801", "\u20ac\ud800\udc00",
+                        "\ud800", "\ud800\uff61", "\udfff",
+                        "\uff61\udfff", "\uff61\ud800\udc02", "\ud800\udc02",
+                        "\ud84d\udc56"};
+        UTF16.StringComparator cpcompare
+            = new UTF16.StringComparator(true, false,
+                     UTF16.StringComparator.FOLD_CASE_DEFAULT);
+        UTF16.StringComparator cucompare
+            = new UTF16.StringComparator();
+        for (int i = 0; i < str.length - 1; ++ i) {
+            if (cpcompare.compare(str[i], str[i + 1]) >= 0) {
+                errln("error: compare() in code point order fails for string "
+                      + Utility.hex(str[i]) + " and "
+                      + Utility.hex(str[i + 1]));
+            }
+            // test code unit compare
+            if (cucompare.compare(str[i], str[i + 1])
+                != str[i].compareTo(str[i + 1])) {
+                errln("error: compare() in code unit order fails for string "
+                      + Utility.hex(str[i]) + " and "
+                      + Utility.hex(str[i + 1]));
+            }
+        }
+    }
+
+    public void TestCaseCompare()
+    {
+        String mixed = "\u0061\u0042\u0131\u03a3\u00df\ufb03\ud93f\udfff";
+        String otherDefault = "\u0041\u0062\u0131\u03c3\u0073\u0053\u0046\u0066\u0049\ud93f\udfff";
+        String otherExcludeSpecialI = "\u0041\u0062\u0131\u03c3\u0053\u0073\u0066\u0046\u0069\ud93f\udfff";
+        String different = "\u0041\u0062\u0131\u03c3\u0073\u0053\u0046\u0066\u0049\ud93f\udffd";
+
+        UTF16.StringComparator compare = new UTF16.StringComparator();
+        compare.setIgnoreCase(true, UTF16.StringComparator.FOLD_CASE_DEFAULT);
+        // test u_strcasecmp()
+        int result = compare.compare(mixed, otherDefault);
+        if (result != 0) {
+            errln("error: default compare(mixed, other) = " + result
+                  + " instead of 0");
+        }
+
+        // test u_strcasecmp() - exclude special i
+        compare.setIgnoreCase(true,
+                  UTF16.StringComparator.FOLD_CASE_EXCLUDE_SPECIAL_I);
+        result = compare.compare(mixed, otherExcludeSpecialI);
+        if (result != 0) {
+            errln("error: exclude_i compare(mixed, other) = " + result
+                  + " instead of 0");
+        }
+
+        // test u_strcasecmp()
+        compare.setIgnoreCase(true,
+                              UTF16.StringComparator.FOLD_CASE_DEFAULT);
+        result = compare.compare(mixed, different);
+        if (result <= 0) {
+            errln("error: default compare(mixed, different) = " + result
+                  + " instead of positive");
+        }
+
+        // test substrings - stop before the sharp s (U+00df)
+        compare.setIgnoreCase(true,
+                              UTF16.StringComparator.FOLD_CASE_DEFAULT);
+        result = compare.compare(mixed.substring(0, 4),
+                                 different.substring(0, 4));
+        if (result != 0) {
+            errln("error: default compare(mixed substring, different substring) = "
+          + result + " instead of 0");
+        }
+        // test substrings - stop in the middle of the sharp s (U+00df)
+        compare.setIgnoreCase(true,
+                              UTF16.StringComparator.FOLD_CASE_DEFAULT);
+        result = compare.compare(mixed.substring(0, 5),
+                                 different.substring(0, 5));
+        if (result <= 0) {
+            errln("error: default compare(mixed substring, different substring) = "
+          + result + " instead of positive");
+        }
+    }
+
+    public void TestHasMoreCodePointsThan()
+    {
+        String str = "\u0061\u0062\ud800\udc00\ud801\udc01\u0063\ud802\u0064"
+        + "\udc03\u0065\u0066\ud804\udc04\ud805\udc05\u0067";
+        int length = str.length();
+        while (length >= 0) {
+            for (int i = 0; i <= length; ++ i) {
+                String s = str.substring(0, i);
+                for (int number = -1; number <= ((length - i) + 2); ++ number) {
+                    boolean flag = UTF16.hasMoreCodePointsThan(s, number);
+                    if (flag != (UTF16.countCodePoint(s) > number)) {
+                        errln("hasMoreCodePointsThan(" + Utility.hex(s)
+                              + ", " + number + ") = " + flag + " is wrong");
+                    }
+                }
+            }
+            -- length;
+        }
+
+        // testing for null bad input
+        for(length = -1; length <= 1; ++ length) {
+            for (int i = 0; i <= length; ++ i) {
+                for (int number = -2; number <= 2; ++ number) {
+                    boolean flag = UTF16.hasMoreCodePointsThan((String)null,
+                                                               number);
+                    if (flag != (UTF16.countCodePoint((String)null) > number)) {
+                        errln("hasMoreCodePointsThan(null, " + number + ") = "
+                  + flag + " is wrong");
+                    }
+                }
+            }
+        }
+
+        length = str.length();
+        while (length >= 0) {
+            for (int i = 0; i <= length; ++ i) {
+                StringBuffer s = new StringBuffer(str.substring(0, i));
+                for (int number = -1; number <= ((length - i) + 2); ++ number) {
+                    boolean flag = UTF16.hasMoreCodePointsThan(s, number);
+                    if (flag != (UTF16.countCodePoint(s) > number)) {
+                        errln("hasMoreCodePointsThan(" + Utility.hex(s)
+                              + ", " + number + ") = " + flag + " is wrong");
+                    }
+                }
+            }
+            -- length;
+        }
+
+        // testing for null bad input
+        for (length = -1; length <= 1; ++ length) {
+            for (int i = 0; i <= length; ++ i) {
+                for (int number = -2; number <= 2; ++ number) {
+                    boolean flag = UTF16.hasMoreCodePointsThan(
+                                   (StringBuffer)null, number);
+                    if (flag
+                        != (UTF16.countCodePoint((StringBuffer)null) > number))
+            {
+                errln("hasMoreCodePointsThan(null, " + number + ") = "
+                  + flag + " is wrong");
+            }
+                }
+            }
+        }
+
+        char strarray[] = str.toCharArray();
+        while (length >= 0) {
+            for (int limit = 0; limit <= length; ++ limit) {
+                for (int start = 0; start <= limit; ++ start) {
+                    for (int number = -1; number <= ((limit - start) + 2);
+                         ++ number) {
+                        boolean flag = UTF16.hasMoreCodePointsThan(strarray,
+                                   start, limit, number);
+                        if (flag != (UTF16.countCodePoint(strarray, start,
+                                                          limit) > number)) {
+                            errln("hasMoreCodePointsThan("
+                                  + Utility.hex(str.substring(start, limit))
+                                  + ", " + start + ", " + limit + ", " + number
+                                  + ") = " + flag + " is wrong");
+                        }
+                    }
+                }
+            }
+            -- length;
+        }
+
+        // testing for null bad input
+        for (length = -1; length <= 1; ++ length) {
+            for (int i = 0; i <= length; ++ i) {
+                for (int number = -2; number <= 2; ++ number) {
+                    boolean flag = UTF16.hasMoreCodePointsThan(
+                                   (StringBuffer)null, number);
+                    if (flag
+                        != (UTF16.countCodePoint((StringBuffer)null) > number))
+            {
+                errln("hasMoreCodePointsThan(null, " + number + ") = "
+                  + flag + " is wrong");
+            }
+                }
+            }
+        }
+
+        // bad input
+        try {
+            UTF16.hasMoreCodePointsThan(strarray, -2, -1, 5);
+            errln("hasMoreCodePointsThan(chararray) with negative indexes has to throw an exception");
+        } catch (Exception e) {
+        	logln("PASS: UTF16.hasMoreCodePointsThan failed as expected");
+        }
+        try {
+            UTF16.hasMoreCodePointsThan(strarray, 5, 2, 5);
+            errln("hasMoreCodePointsThan(chararray) with limit less than start index has to throw an exception");
+        } catch (Exception e) {
+        	logln("PASS: UTF16.hasMoreCodePointsThan failed as expected");
+        }
+        try {
+            if (UTF16.hasMoreCodePointsThan(strarray, -2, 2, 5)) {
+                errln("hasMoreCodePointsThan(chararray) with negative start indexes can't return true");
+            }
+        } catch (Exception e) {
+        }
+    }
+
+    public void TestNewString() {
+    final int[] codePoints = {
+        UCharacter.toCodePoint(UCharacter.MIN_HIGH_SURROGATE, UCharacter.MAX_LOW_SURROGATE),
+        UCharacter.toCodePoint(UCharacter.MAX_HIGH_SURROGATE, UCharacter.MIN_LOW_SURROGATE),
+        UCharacter.MAX_HIGH_SURROGATE,
+        'A',
+        -1,
+    };
+
+    final String cpString = "" +
+        UCharacter.MIN_HIGH_SURROGATE +
+        UCharacter.MAX_LOW_SURROGATE +
+        UCharacter.MAX_HIGH_SURROGATE +
+        UCharacter.MIN_LOW_SURROGATE +
+        UCharacter.MAX_HIGH_SURROGATE +
+        'A';
+
+    final int[][] tests = {
+        { 0, 1, 0, 2 },
+        { 0, 2, 0, 4 },
+        { 1, 1, 2, 2 },
+        { 1, 2, 2, 3 },
+        { 1, 3, 2, 4 },
+        { 2, 2, 4, 2 },
+        { 2, 3, 0, -1 },
+        { 4, 5, 0, -1 },
+        { 3, -1, 0, -1 }
+    };
+
+     for (int i = 0; i < tests.length; ++i) {
+        int[] t = tests[i];
+        int s = t[0];
+        int c = t[1];
+        int rs = t[2];
+        int rc = t[3];
+
+        Exception e = null;
+        try {
+        String str = UTF16.newString(codePoints, s, c);
+        if (rc == -1 || !str.equals(cpString.substring(rs, rs+rc))) {
+            errln("failed codePoints iter: " + i + " start: " + s + " len: " + c);
+        }
+        continue;
+        }
+        catch (IndexOutOfBoundsException e1) {
+        e = e1;
+        }
+        catch (IllegalArgumentException e2) {
+        e = e2;
+        }
+        if (rc != -1) {
+        errln(e.getMessage());
+        }
+    }
+    }
+
+    public static void main(String[] arg)
+    {
+        try
+        {
+        UTF16Test test = new UTF16Test();
+        test.run(arg);
+        // test.TestCaseCompare();
+        }
+        catch (Exception e)
+        {
+        e.printStackTrace();
+        }
+    }
+
+
+    // private data members ----------------------------------------------
+
+    private final static String INDEXOF_SUPPLEMENTARY_STRING_ =
+        "\ud841\udc02\u0071\udc02\ud841\u0071\ud841\udc02\u0071\u0072" +
+        "\ud841\udc02\u0071\ud841\udc02\u0071\udc02\ud841\u0073";
+    private final static int INDEXOF_SUPPLEMENTARY_CHAR_[] =
+    {0x71, 0xd841, 0xdc02,
+     UTF16Util.getRawSupplementary((char)0xd841,
+                 (char)0xdc02)};
+    private final static int INDEXOF_SUPPLEMENTARY_CHAR_INDEX_[][] =
+    {{2, 5, 8, 12, 15},
+     {4, 17},
+     {3, 16},
+     {0, 6, 10, 13}
+    };
+    private final static String INDEXOF_SUPPLEMENTARY_STR_ = "\udc02\ud841";
+    private final static int INDEXOF_SUPPLEMENTARY_STR_INDEX_[] =
+    {3, 16};
+
+    // private methods ---------------------------------------------------
+}
+
diff --git a/src/com/ibm/icu/dev/test/manifest.test.stub b/src/com/ibm/icu/dev/test/manifest.test.stub
new file mode 100644
index 0000000..e1ad499
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/manifest.test.stub
@@ -0,0 +1,14 @@
+Manifest-Version: 1.0
+Class-Path: icu4j.jar
+Main-Class: com.ibm.icu.dev.test.TestAll
+
+Name: com/ibm/icu/
+Specification-Title: ICU for Java Tests
+Specification-Version: 3.4
+Specification-Vendor: ICU
+Implementation-Title: ICU for Java
+Implementation-Version: 3.4.0
+Implementation-Vendor: IBM Corporation
+Implementation-Vendor-Id: com.ibm
+Copyright-Info: Copyright (c) 2000-2005, International Business Machines Corporation and others.  All Rights Reserved.
+Sealed: false
diff --git a/src/com/ibm/icu/dev/test/normalizer/BasicTest.java b/src/com/ibm/icu/dev/test/normalizer/BasicTest.java
new file mode 100755
index 0000000..6c445ae
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/normalizer/BasicTest.java
@@ -0,0 +1,2922 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+package com.ibm.icu.dev.test.normalizer;
+
+import java.text.StringCharacterIterator;
+import java.util.Random;
+
+import com.ibm.icu.dev.test.TestFmwk;
+import com.ibm.icu.impl.NormalizerImpl;
+import com.ibm.icu.impl.USerializedSet;
+import com.ibm.icu.impl.Utility;
+import com.ibm.icu.lang.*;
+import com.ibm.icu.lang.UCharacter;
+import com.ibm.icu.lang.UCharacterCategory;
+import com.ibm.icu.text.Normalizer;
+import com.ibm.icu.text.UCharacterIterator;
+import com.ibm.icu.text.UTF16;
+import com.ibm.icu.text.UnicodeSet;
+import com.ibm.icu.text.UnicodeSetIterator;
+
+
+public class BasicTest extends TestFmwk {
+    public static void main(String[] args) throws Exception {
+        new BasicTest().run(args);
+    }
+
+    String[][] canonTests = {
+        // Input                Decomposed              Composed
+        { "cat",                "cat",                  "cat"               },
+        { "\u00e0ardvark",      "a\u0300ardvark",       "\u00e0ardvark",    },
+
+        { "\u1e0a",             "D\u0307",              "\u1e0a"            }, // D-dot_above
+        { "D\u0307",            "D\u0307",              "\u1e0a"            }, // D dot_above
+
+        { "\u1e0c\u0307",       "D\u0323\u0307",        "\u1e0c\u0307"      }, // D-dot_below dot_above
+        { "\u1e0a\u0323",       "D\u0323\u0307",        "\u1e0c\u0307"      }, // D-dot_above dot_below
+        { "D\u0307\u0323",      "D\u0323\u0307",        "\u1e0c\u0307"      }, // D dot_below dot_above
+
+        { "\u1e10\u0307\u0323", "D\u0327\u0323\u0307",  "\u1e10\u0323\u0307"}, // D dot_below cedilla dot_above
+        { "D\u0307\u0328\u0323","D\u0328\u0323\u0307",  "\u1e0c\u0328\u0307"}, // D dot_above ogonek dot_below
+
+        { "\u1E14",             "E\u0304\u0300",        "\u1E14"            }, // E-macron-grave
+        { "\u0112\u0300",       "E\u0304\u0300",        "\u1E14"            }, // E-macron + grave
+        { "\u00c8\u0304",       "E\u0300\u0304",        "\u00c8\u0304"      }, // E-grave + macron
+
+        { "\u212b",             "A\u030a",              "\u00c5"            }, // angstrom_sign
+        { "\u00c5",             "A\u030a",              "\u00c5"            }, // A-ring
+
+        { "\u00c4ffin",         "A\u0308ffin",          "\u00c4ffin"        },
+        { "\u00c4\uFB03n",      "A\u0308\uFB03n",       "\u00c4\uFB03n"     },
+
+        { "\u00fdffin",         "y\u0301ffin",          "\u00fdffin"        }, //updated with 3.0
+        { "\u00fd\uFB03n",      "y\u0301\uFB03n",       "\u00fd\uFB03n"     }, //updated with 3.0
+
+        { "Henry IV",           "Henry IV",             "Henry IV"          },
+        { "Henry \u2163",       "Henry \u2163",         "Henry \u2163"      },
+
+        { "\u30AC",             "\u30AB\u3099",         "\u30AC"            }, // ga (Katakana)
+        { "\u30AB\u3099",       "\u30AB\u3099",         "\u30AC"            }, // ka + ten
+        { "\uFF76\uFF9E",       "\uFF76\uFF9E",         "\uFF76\uFF9E"      }, // hw_ka + hw_ten
+        { "\u30AB\uFF9E",       "\u30AB\uFF9E",         "\u30AB\uFF9E"      }, // ka + hw_ten
+        { "\uFF76\u3099",       "\uFF76\u3099",         "\uFF76\u3099"      }, // hw_ka + ten
+
+        { "A\u0300\u0316", "A\u0316\u0300", "\u00C0\u0316" },
+        {"\\U0001d15e\\U0001d157\\U0001d165\\U0001d15e","\\U0001D157\\U0001D165\\U0001D157\\U0001D165\\U0001D157\\U0001D165", "\\U0001D157\\U0001D165\\U0001D157\\U0001D165\\U0001D157\\U0001D165"},
+    };
+
+    String[][] compatTests = {
+            // Input                Decomposed              Composed
+        { "cat",                 "cat",                     "cat"           },
+        { "\uFB4f",             "\u05D0\u05DC",         "\u05D0\u05DC",     }, // Alef-Lamed vs. Alef, Lamed
+
+        { "\u00C4ffin",         "A\u0308ffin",          "\u00C4ffin"        },
+        { "\u00C4\uFB03n",      "A\u0308ffin",          "\u00C4ffin"        }, // ffi ligature -> f + f + i
+
+        { "\u00fdffin",         "y\u0301ffin",          "\u00fdffin"        },        //updated for 3.0
+        { "\u00fd\uFB03n",      "y\u0301ffin",          "\u00fdffin"        }, // ffi ligature -> f + f + i
+
+        { "Henry IV",           "Henry IV",             "Henry IV"          },
+        { "Henry \u2163",       "Henry IV",             "Henry IV"          },
+
+        { "\u30AC",             "\u30AB\u3099",         "\u30AC"            }, // ga (Katakana)
+        { "\u30AB\u3099",       "\u30AB\u3099",         "\u30AC"            }, // ka + ten
+
+        { "\uFF76\u3099",       "\u30AB\u3099",         "\u30AC"            }, // hw_ka + ten
+
+        /* These two are broken in Unicode 2.1.2 but fixed in 2.1.5 and later*/
+        { "\uFF76\uFF9E",       "\u30AB\u3099",         "\u30AC"            }, // hw_ka + hw_ten
+        { "\u30AB\uFF9E",       "\u30AB\u3099",         "\u30AC"            }, // ka + hw_ten
+
+    };
+
+    // With Canonical decomposition, Hangul syllables should get decomposed
+    // into Jamo, but Jamo characters should not be decomposed into
+    // conjoining Jamo
+    String[][] hangulCanon = {
+        // Input                Decomposed              Composed
+        { "\ud4db",             "\u1111\u1171\u11b6",   "\ud4db"        },
+        { "\u1111\u1171\u11b6", "\u1111\u1171\u11b6",   "\ud4db"        },
+    };
+
+    // With compatibility decomposition turned on,
+    // it should go all the way down to conjoining Jamo characters.
+    // THIS IS NO LONGER TRUE IN UNICODE v2.1.8, SO THIS TEST IS OBSOLETE
+    String[][] hangulCompat = {
+        // Input        Decomposed                          Composed
+        // { "\ud4db",     "\u1111\u116e\u1175\u11af\u11c2",   "\ud478\u1175\u11af\u11c2"  },
+    };
+
+    public void TestHangulCompose()
+                throws Exception{
+        // Make sure that the static composition methods work
+        logln("Canonical composition...");
+        staticTest(Normalizer.NFC, hangulCanon,  2);
+        logln("Compatibility composition...");
+        staticTest(Normalizer.NFKC, hangulCompat, 2);
+        // Now try iterative composition....
+        logln("Iterative composition...");
+        Normalizer norm = new Normalizer("", Normalizer.NFC,0);
+        iterateTest(norm, hangulCanon, 2);
+
+        norm.setMode(Normalizer.NFKD);
+        iterateTest(norm, hangulCompat, 2);
+
+        // And finally, make sure you can do it in reverse too
+        logln("Reverse iteration...");
+        norm.setMode(Normalizer.NFC);
+        backAndForth(norm, hangulCanon);
+     }
+
+    public void TestHangulDecomp() throws Exception{
+        // Make sure that the static decomposition methods work
+        logln("Canonical decomposition...");
+        staticTest(Normalizer.NFD, hangulCanon,  1);
+        logln("Compatibility decomposition...");
+        staticTest(Normalizer.NFKD, hangulCompat, 1);
+
+         // Now the iterative decomposition methods...
+        logln("Iterative decomposition...");
+        Normalizer norm = new Normalizer("", Normalizer.NFD,0);
+        iterateTest(norm, hangulCanon, 1);
+
+        norm.setMode(Normalizer.NFKD);
+        iterateTest(norm, hangulCompat, 1);
+
+        // And finally, make sure you can do it in reverse too
+        logln("Reverse iteration...");
+        norm.setMode(Normalizer.NFD);
+        backAndForth(norm, hangulCanon);
+    }
+    public void TestNone() throws Exception{
+        Normalizer norm = new Normalizer("", Normalizer.NONE,0);
+        iterateTest(norm, canonTests, 0);
+        staticTest(Normalizer.NONE, canonTests, 0);
+    }
+    public void TestDecomp() throws Exception{
+        Normalizer norm = new Normalizer("", Normalizer.NFD,0);
+        iterateTest(norm, canonTests, 1);
+        staticTest(Normalizer.NFD, canonTests, 1);
+        decomposeTest(Normalizer.NFD, canonTests, 1);
+    }
+
+    public void TestCompatDecomp() throws Exception{
+        Normalizer norm = new Normalizer("", Normalizer.NFKD,0);
+        iterateTest(norm, compatTests, 1);
+        staticTest(Normalizer.NFKD,compatTests, 1);
+        decomposeTest(Normalizer.NFKD,compatTests, 1);
+    }
+
+    public void TestCanonCompose() throws Exception{
+        Normalizer norm = new Normalizer("", Normalizer.NFC,0);
+        iterateTest(norm, canonTests, 2);
+        staticTest(Normalizer.NFC, canonTests, 2);
+        composeTest(Normalizer.NFC, canonTests, 2);
+    }
+
+    public void TestCompatCompose() throws Exception{
+        Normalizer norm = new Normalizer("", Normalizer.NFKC,0);
+        iterateTest(norm, compatTests, 2);
+        staticTest(Normalizer.NFKC,compatTests, 2);
+        composeTest(Normalizer.NFKC,compatTests, 2);
+    }
+
+    public void TestExplodingBase() throws Exception{
+        // \u017f - Latin small letter long s
+        // \u0307 - combining dot above
+        // \u1e61 - Latin small letter s with dot above
+        // \u1e9b - Latin small letter long s with dot above
+        String[][] canon = {
+            // Input                Decomposed              Composed
+            { "Tschu\u017f",        "Tschu\u017f",          "Tschu\u017f"    },
+            { "Tschu\u1e9b",        "Tschu\u017f\u0307",    "Tschu\u1e9b"    },
+        };
+        String[][] compat = {
+            // Input                Decomposed              Composed
+            { "\u017f",        "s",              "s"           },
+            { "\u1e9b",        "s\u0307",        "\u1e61"      },
+        };
+
+        staticTest(Normalizer.NFD, canon,  1);
+        staticTest(Normalizer.NFC, canon,  2);
+
+        staticTest(Normalizer.NFKD, compat, 1);
+        staticTest(Normalizer.NFKC, compat, 2);
+
+    }
+
+    /**
+     * The Tibetan vowel sign AA, 0f71, was messed up prior to
+     * Unicode version 2.1.9.
+     * Once 2.1.9 or 3.0 is released, uncomment this test.
+     */
+    public void TestTibetan() throws Exception{
+        String[][] decomp = {
+            { "\u0f77", "\u0f77", "\u0fb2\u0f71\u0f80" }
+        };
+        String[][] compose = {
+            { "\u0fb2\u0f71\u0f80", "\u0fb2\u0f71\u0f80", "\u0fb2\u0f71\u0f80" }
+        };
+
+        staticTest(Normalizer.NFD, decomp, 1);
+        staticTest(Normalizer.NFKD,decomp, 2);
+        staticTest(Normalizer.NFC, compose, 1);
+        staticTest(Normalizer.NFKC,compose, 2);
+    }
+
+    /**
+     * Make sure characters in the CompositionExclusion.txt list do not get
+     * composed to.
+     */
+    public void TestCompositionExclusion()
+                throws Exception{
+        // This list is generated from CompositionExclusion.txt.
+        // Update whenever the normalizer tables are updated.  Note
+        // that we test all characters listed, even those that can be
+        // derived from the Unicode DB and are therefore commented
+        // out.
+        String EXCLUDED =
+            "\u0340\u0341\u0343\u0344\u0374\u037E\u0387\u0958" +
+            "\u0959\u095A\u095B\u095C\u095D\u095E\u095F\u09DC" +
+            "\u09DD\u09DF\u0A33\u0A36\u0A59\u0A5A\u0A5B\u0A5E" +
+            "\u0B5C\u0B5D\u0F43\u0F4D\u0F52\u0F57\u0F5C\u0F69" +
+            "\u0F73\u0F75\u0F76\u0F78\u0F81\u0F93\u0F9D\u0FA2" +
+            "\u0FA7\u0FAC\u0FB9\u1F71\u1F73\u1F75\u1F77\u1F79" +
+            "\u1F7B\u1F7D\u1FBB\u1FBE\u1FC9\u1FCB\u1FD3\u1FDB" +
+            "\u1FE3\u1FEB\u1FEE\u1FEF\u1FF9\u1FFB\u1FFD\u2000" +
+            "\u2001\u2126\u212A\u212B\u2329\u232A\uF900\uFA10" +
+            "\uFA12\uFA15\uFA20\uFA22\uFA25\uFA26\uFA2A\uFB1F" +
+            "\uFB2A\uFB2B\uFB2C\uFB2D\uFB2E\uFB2F\uFB30\uFB31" +
+            "\uFB32\uFB33\uFB34\uFB35\uFB36\uFB38\uFB39\uFB3A" +
+            "\uFB3B\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46" +
+            "\uFB47\uFB48\uFB49\uFB4A\uFB4B\uFB4C\uFB4D\uFB4E";
+        for (int i=0; i<EXCLUDED.length(); ++i) {
+            String a = String.valueOf(EXCLUDED.charAt(i));
+            String b = Normalizer.normalize(a, Normalizer.NFKD);
+            String c = Normalizer.normalize(b, Normalizer.NFC);
+            if (c.equals(a)) {
+                errln("FAIL: " + hex(a) + " x DECOMP_COMPAT => " +
+                      hex(b) + " x COMPOSE => " +
+                      hex(c));
+            } else if (isVerbose()) {
+                logln("Ok: " + hex(a) + " x DECOMP_COMPAT => " +
+                      hex(b) + " x COMPOSE => " +
+                      hex(c));
+            }
+        }
+        // The following method works too, but it is somewhat
+        // incestuous.  It uses UInfo, which is the same database that
+        // NormalizerBuilder uses, so if something is wrong with
+        // UInfo, the following test won't show it.  All it will show
+        // is that NormalizerBuilder has been run with whatever the
+        // current UInfo is.
+        //
+        // We comment this out in favor of the test above, which
+        // provides independent verification (but also requires
+        // independent updating).
+//      logln("---");
+//      UInfo uinfo = new UInfo();
+//      for (int i=0; i<=0xFFFF; ++i) {
+//          if (!uinfo.isExcludedComposition((char)i) ||
+//              (!uinfo.hasCanonicalDecomposition((char)i) &&
+//               !uinfo.hasCompatibilityDecomposition((char)i))) continue;
+//          String a = String.valueOf((char)i);
+//          String b = Normalizer.normalize(a,Normalizer.DECOMP_COMPAT,0);
+//          String c = Normalizer.normalize(b,Normalizer.COMPOSE,0);
+//          if (c.equals(a)) {
+//              errln("FAIL: " + hex(a) + " x DECOMP_COMPAT => " +
+//                    hex(b) + " x COMPOSE => " +
+//                    hex(c));
+//          } else if (isVerbose()) {
+//              logln("Ok: " + hex(a) + " x DECOMP_COMPAT => " +
+//                    hex(b) + " x COMPOSE => " +
+//                    hex(c));
+//          }
+//      }
+    }
+
+    /**
+     * Test for a problem that showed up just before ICU 1.6 release
+     * having to do with combining characters with an index of zero.
+     * Such characters do not participate in any canonical
+     * decompositions.  However, having an index of zero means that
+     * they all share one typeMask[] entry, that is, they all have to
+     * map to the same canonical class, which is not the case, in
+     * reality.
+     */
+    public void TestZeroIndex()
+                throws Exception{
+        String[] DATA = {
+            // Expect col1 x COMPOSE_COMPAT => col2
+            // Expect col2 x DECOMP => col3
+            "A\u0316\u0300", "\u00C0\u0316", "A\u0316\u0300",
+            "A\u0300\u0316", "\u00C0\u0316", "A\u0316\u0300",
+            "A\u0327\u0300", "\u00C0\u0327", "A\u0327\u0300",
+            "c\u0321\u0327", "c\u0321\u0327", "c\u0321\u0327",
+            "c\u0327\u0321", "\u00E7\u0321", "c\u0327\u0321",
+        };
+
+        for (int i=0; i<DATA.length; i+=3) {
+            String a = DATA[i];
+            String b = Normalizer.normalize(a, Normalizer.NFKC);
+            String exp = DATA[i+1];
+            if (b.equals(exp)) {
+                logln("Ok: " + hex(a) + " x COMPOSE_COMPAT => " + hex(b));
+            } else {
+                errln("FAIL: " + hex(a) + " x COMPOSE_COMPAT => " + hex(b) +
+                      ", expect " + hex(exp));
+            }
+            a = Normalizer.normalize(b, Normalizer.NFD);
+            exp = DATA[i+2];
+            if (a.equals(exp)) {
+                logln("Ok: " + hex(b) + " x DECOMP => " + hex(a));
+            } else {
+                errln("FAIL: " + hex(b) + " x DECOMP => " + hex(a) +
+                      ", expect " + hex(exp));
+            }
+        }
+    }
+
+    /**
+     * Test for a problem found by Verisign.  Problem is that
+     * characters at the start of a string are not put in canonical
+     * order correctly by compose() if there is no starter.
+     */
+    public void TestVerisign()
+                throws Exception{
+        String[] inputs = {
+            "\u05b8\u05b9\u05b1\u0591\u05c3\u05b0\u05ac\u059f",
+            "\u0592\u05b7\u05bc\u05a5\u05b0\u05c0\u05c4\u05ad"
+        };
+        String[] outputs = {
+            "\u05b1\u05b8\u05b9\u0591\u05c3\u05b0\u05ac\u059f",
+            "\u05b0\u05b7\u05bc\u05a5\u0592\u05c0\u05ad\u05c4"
+        };
+
+        for (int i = 0; i < inputs.length; ++i) {
+            String input = inputs[i];
+            String output = outputs[i];
+            String result = Normalizer.decompose(input, false);
+            if (!result.equals(output)) {
+                errln("FAIL input: " + hex(input));
+                errln(" decompose: " + hex(result));
+                errln("  expected: " + hex(output));
+            }
+            result = Normalizer.compose(input, false);
+            if (!result.equals(output)) {
+                errln("FAIL input: " + hex(input));
+                errln("   compose: " + hex(result));
+                errln("  expected: " + hex(output));
+            }
+        }
+
+    }
+    public void  TestQuickCheckResultNO()
+                 throws Exception{
+        final char CPNFD[] = {0x00C5, 0x0407, 0x1E00, 0x1F57, 0x220C,
+                                0x30AE, 0xAC00, 0xD7A3, 0xFB36, 0xFB4E};
+        final char CPNFC[] = {0x0340, 0x0F93, 0x1F77, 0x1FBB, 0x1FEB,
+                                0x2000, 0x232A, 0xF900, 0xFA1E, 0xFB4E};
+        final char CPNFKD[] = {0x00A0, 0x02E4, 0x1FDB, 0x24EA, 0x32FE,
+                                0xAC00, 0xFB4E, 0xFA10, 0xFF3F, 0xFA2D};
+        final char CPNFKC[] = {0x00A0, 0x017F, 0x2000, 0x24EA, 0x32FE,
+                                0x33FE, 0xFB4E, 0xFA10, 0xFF3F, 0xFA2D};
+
+
+        final int SIZE = 10;
+
+        int count = 0;
+        for (; count < SIZE; count ++)
+        {
+            if (Normalizer.quickCheck(String.valueOf(CPNFD[count]),
+                    Normalizer.NFD,0) != Normalizer.NO)
+            {
+                errln("ERROR in NFD quick check at U+" +
+                       Integer.toHexString(CPNFD[count]));
+                return;
+            }
+            if (Normalizer.quickCheck(String.valueOf(CPNFC[count]),
+                        Normalizer.NFC,0) !=Normalizer.NO)
+            {
+                errln("ERROR in NFC quick check at U+"+
+                       Integer.toHexString(CPNFC[count]));
+                return;
+            }
+            if (Normalizer.quickCheck(String.valueOf(CPNFKD[count]),
+                                Normalizer.NFKD,0) != Normalizer.NO)
+            {
+                errln("ERROR in NFKD quick check at U+"+
+                       Integer.toHexString(CPNFKD[count]));
+                return;
+            }
+            if (Normalizer.quickCheck(String.valueOf(CPNFKC[count]),
+                                         Normalizer.NFKC,0) !=Normalizer.NO)
+            {
+                errln("ERROR in NFKC quick check at U+"+
+                       Integer.toHexString(CPNFKC[count]));
+                return;
+            }
+            // for improving coverage
+            if (Normalizer.quickCheck(String.valueOf(CPNFKC[count]),
+                                         Normalizer.NFKC) !=Normalizer.NO)
+            {
+                errln("ERROR in NFKC quick check at U+"+
+                       Integer.toHexString(CPNFKC[count]));
+                return;
+            }
+        }
+    }
+
+
+    public void TestQuickCheckResultYES()
+                throws Exception{
+        final char CPNFD[] = {0x00C6, 0x017F, 0x0F74, 0x1000, 0x1E9A,
+                                0x2261, 0x3075, 0x4000, 0x5000, 0xF000};
+        final char CPNFC[] = {0x0400, 0x0540, 0x0901, 0x1000, 0x1500,
+                                0x1E9A, 0x3000, 0x4000, 0x5000, 0xF000};
+        final char CPNFKD[] = {0x00AB, 0x02A0, 0x1000, 0x1027, 0x2FFB,
+                                0x3FFF, 0x4FFF, 0xA000, 0xF000, 0xFA27};
+        final char CPNFKC[] = {0x00B0, 0x0100, 0x0200, 0x0A02, 0x1000,
+                                0x2010, 0x3030, 0x4000, 0xA000, 0xFA0E};
+
+        final int SIZE = 10;
+        int count = 0;
+
+        char cp = 0;
+        while (cp < 0xA0)
+        {
+            if (Normalizer.quickCheck(String.valueOf(cp), Normalizer.NFD,0)
+                                            != Normalizer.YES)
+            {
+                errln("ERROR in NFD quick check at U+"+
+                                                      Integer.toHexString(cp));
+                return;
+            }
+            if (Normalizer.quickCheck(String.valueOf(cp), Normalizer.NFC,0)
+                                             != Normalizer.YES)
+            {
+                errln("ERROR in NFC quick check at U+"+
+                                                      Integer.toHexString(cp));
+                return;
+            }
+            if (Normalizer.quickCheck(String.valueOf(cp), Normalizer.NFKD,0)
+                                             != Normalizer.YES)
+            {
+                errln("ERROR in NFKD quick check at U+" +
+                                                      Integer.toHexString(cp));
+                return;
+            }
+            if (Normalizer.quickCheck(String.valueOf(cp), Normalizer.NFKC,0)
+                                             != Normalizer.YES)
+            {
+                errln("ERROR in NFKC quick check at U+"+
+                                                       Integer.toHexString(cp));
+                return;
+            }
+            // improve the coverage
+            if (Normalizer.quickCheck(String.valueOf(cp), Normalizer.NFKC)
+                                             != Normalizer.YES)
+            {
+                errln("ERROR in NFKC quick check at U+"+
+                                                       Integer.toHexString(cp));
+                return;
+            }
+            cp++;
+        }
+
+        for (; count < SIZE; count ++)
+        {
+            if (Normalizer.quickCheck(String.valueOf(CPNFD[count]),
+                                         Normalizer.NFD,0)!=Normalizer.YES)
+            {
+                errln("ERROR in NFD quick check at U+"+
+                                             Integer.toHexString(CPNFD[count]));
+                return;
+            }
+            if (Normalizer.quickCheck(String.valueOf(CPNFC[count]),
+                                         Normalizer.NFC,0)!=Normalizer.YES)
+            {
+                errln("ERROR in NFC quick check at U+"+
+                                             Integer.toHexString(CPNFC[count]));
+                return;
+            }
+            if (Normalizer.quickCheck(String.valueOf(CPNFKD[count]),
+                                         Normalizer.NFKD,0)!=Normalizer.YES)
+            {
+                errln("ERROR in NFKD quick check at U+"+
+                                    Integer.toHexString(CPNFKD[count]));
+                return;
+            }
+            if (Normalizer.quickCheck(String.valueOf(CPNFKC[count]),
+                                         Normalizer.NFKC,0)!=Normalizer.YES)
+            {
+                errln("ERROR in NFKC quick check at U+"+
+                        Integer.toHexString(CPNFKC[count]));
+                return;
+            }
+            // improve the coverage
+            if (Normalizer.quickCheck(String.valueOf(CPNFKC[count]),
+                                         Normalizer.NFKC)!=Normalizer.YES)
+            {
+                errln("ERROR in NFKC quick check at U+"+
+                        Integer.toHexString(CPNFKC[count]));
+                return;
+            }
+        }
+    }
+    public void TestBengali() throws Exception{
+        String input = "\u09bc\u09be\u09cd\u09be";
+        String output=Normalizer.normalize(input,Normalizer.NFC);
+        if(!input.equals(output)){
+             errln("ERROR in NFC of string");
+        }
+    }
+    public void TestQuickCheckResultMAYBE()
+                throws Exception{
+
+        final char[] CPNFC = {0x0306, 0x0654, 0x0BBE, 0x102E, 0x1161,
+                                0x116A, 0x1173, 0x1175, 0x3099, 0x309A};
+        final char[] CPNFKC = {0x0300, 0x0654, 0x0655, 0x09D7, 0x0B3E,
+                                0x0DCF, 0xDDF, 0x102E, 0x11A8, 0x3099};
+
+
+        final int SIZE = 10;
+
+        int count = 0;
+
+        /* NFD and NFKD does not have any MAYBE codepoints */
+        for (; count < SIZE; count ++)
+        {
+            if (Normalizer.quickCheck(String.valueOf(CPNFC[count]),
+                                        Normalizer.NFC,0)!=Normalizer.MAYBE)
+            {
+                errln("ERROR in NFC quick check at U+"+
+                                            Integer.toHexString(CPNFC[count]));
+                return;
+            }
+            if (Normalizer.quickCheck(String.valueOf(CPNFKC[count]),
+                                       Normalizer.NFKC,0)!=Normalizer.MAYBE)
+            {
+                errln("ERROR in NFKC quick check at U+"+
+                                            Integer.toHexString(CPNFKC[count]));
+                return;
+            }
+            if (Normalizer.quickCheck(new char[]{CPNFC[count]},
+                                        Normalizer.NFC,0)!=Normalizer.MAYBE)
+            {
+                errln("ERROR in NFC quick check at U+"+
+                                            Integer.toHexString(CPNFC[count]));
+                return;
+            }
+            if (Normalizer.quickCheck(new char[]{CPNFKC[count]},
+                                       Normalizer.NFKC,0)!=Normalizer.MAYBE)
+            {
+                errln("ERROR in NFKC quick check at U+"+
+                                            Integer.toHexString(CPNFKC[count]));
+                return;
+            }
+            if (Normalizer.quickCheck(new char[]{CPNFKC[count]},
+                                       Normalizer.NONE,0)!=Normalizer.MAYBE)
+            {
+                errln("ERROR in NFKC quick check at U+"+
+                                            Integer.toHexString(CPNFKC[count]));
+                return;
+            }
+        }
+    }
+
+    public void TestQuickCheckStringResult()
+                throws Exception{
+        int count;
+        String d;
+        String c;
+
+        for (count = 0; count < canonTests.length; count ++)
+        {
+            d = canonTests[count][1];
+            c = canonTests[count][2];
+            if (Normalizer.quickCheck(d,Normalizer.NFD,0)
+                                            != Normalizer.YES)
+            {
+                errln("ERROR in NFD quick check for string at count " + count);
+                return;
+            }
+
+            if (Normalizer.quickCheck(c, Normalizer.NFC,0)
+                                            == Normalizer.NO)
+            {
+                errln("ERROR in NFC quick check for string at count " + count);
+                return;
+            }
+        }
+
+        for (count = 0; count < compatTests.length; count ++)
+        {
+            d = compatTests[count][1];
+            c = compatTests[count][2];
+            if (Normalizer.quickCheck(d, Normalizer.NFKD,0)
+                                            != Normalizer.YES)
+            {
+                errln("ERROR in NFKD quick check for string at count " + count);
+                return;
+            }
+
+            if (Normalizer.quickCheck(c,  Normalizer.NFKC,0)
+                                            != Normalizer.YES)
+            {
+                errln("ERROR in NFKC quick check for string at count " + count);
+                return;
+            }
+        }
+    }
+
+    static final int qcToInt(Normalizer.QuickCheckResult qc) {
+        if(qc==Normalizer.NO) {
+            return 0;
+        } else if(qc==Normalizer.YES) {
+            return 1;
+        } else /* Normalizer.MAYBE */ {
+            return 2;
+        }
+    }
+
+    public void TestQuickCheckPerCP() {
+        int c, lead, trail;
+        String s, nfd;
+        int lccc1, lccc2, tccc1, tccc2;
+        int qc1, qc2;
+
+        if(
+            UCharacter.getIntPropertyMaxValue(UProperty.NFD_QUICK_CHECK)!=1 || // YES
+            UCharacter.getIntPropertyMaxValue(UProperty.NFKD_QUICK_CHECK)!=1 ||
+            UCharacter.getIntPropertyMaxValue(UProperty.NFC_QUICK_CHECK)!=2 || // MAYBE
+            UCharacter.getIntPropertyMaxValue(UProperty.NFKC_QUICK_CHECK)!=2 ||
+            UCharacter.getIntPropertyMaxValue(UProperty.LEAD_CANONICAL_COMBINING_CLASS)!=UCharacter.getIntPropertyMaxValue(UProperty.CANONICAL_COMBINING_CLASS) ||
+            UCharacter.getIntPropertyMaxValue(UProperty.TRAIL_CANONICAL_COMBINING_CLASS)!=UCharacter.getIntPropertyMaxValue(UProperty.CANONICAL_COMBINING_CLASS)
+        ) {
+            errln("wrong result from one of the u_getIntPropertyMaxValue(UCHAR_NF*_QUICK_CHECK) or UCHAR_*_CANONICAL_COMBINING_CLASS");
+        }
+
+        /*
+         * compare the quick check property values for some code points
+         * to the quick check results for checking same-code point strings
+         */
+        c=0;
+        while(c<0x110000) {
+            s=UTF16.valueOf(c);
+
+            qc1=UCharacter.getIntPropertyValue(c, UProperty.NFC_QUICK_CHECK);
+            qc2=qcToInt(Normalizer.quickCheck(s, Normalizer.NFC));
+            if(qc1!=qc2) {
+                errln("getIntPropertyValue(NFC)="+qc1+" != "+qc2+"=quickCheck(NFC) for U+"+Integer.toHexString(c));
+            }
+
+            qc1=UCharacter.getIntPropertyValue(c, UProperty.NFD_QUICK_CHECK);
+            qc2=qcToInt(Normalizer.quickCheck(s, Normalizer.NFD));
+            if(qc1!=qc2) {
+                errln("getIntPropertyValue(NFD)="+qc1+" != "+qc2+"=quickCheck(NFD) for U+"+Integer.toHexString(c));
+            }
+
+            qc1=UCharacter.getIntPropertyValue(c, UProperty.NFKC_QUICK_CHECK);
+            qc2=qcToInt(Normalizer.quickCheck(s, Normalizer.NFKC));
+            if(qc1!=qc2) {
+                errln("getIntPropertyValue(NFKC)="+qc1+" != "+qc2+"=quickCheck(NFKC) for U+"+Integer.toHexString(c));
+            }
+
+            qc1=UCharacter.getIntPropertyValue(c, UProperty.NFKD_QUICK_CHECK);
+            qc2=qcToInt(Normalizer.quickCheck(s, Normalizer.NFKD));
+            if(qc1!=qc2) {
+                errln("getIntPropertyValue(NFKD)="+qc1+" != "+qc2+"=quickCheck(NFKD) for U+"+Integer.toHexString(c));
+            }
+
+            nfd=Normalizer.normalize(s, Normalizer.NFD);
+            lead=UTF16.charAt(nfd, 0);
+            trail=UTF16.charAt(nfd, nfd.length()-1);
+
+            lccc1=UCharacter.getIntPropertyValue(c, UProperty.LEAD_CANONICAL_COMBINING_CLASS);
+            lccc2=UCharacter.getCombiningClass(lead);
+            tccc1=UCharacter.getIntPropertyValue(c, UProperty.TRAIL_CANONICAL_COMBINING_CLASS);
+            tccc2=UCharacter.getCombiningClass(trail);
+
+            if(lccc1!=lccc2) {
+                errln("getIntPropertyValue(lccc)="+lccc1+" != "+lccc2+"=getCombiningClass(lead) for U+"+Integer.toHexString(c));
+            }
+            if(tccc1!=tccc2) {
+                errln("getIntPropertyValue(tccc)="+tccc1+" != "+tccc2+"=getCombiningClass(trail) for U+"+Integer.toHexString(c));
+            }
+
+            /* skip some code points */
+            c=(20*c)/19+1;
+        }
+    }
+
+    //------------------------------------------------------------------------
+    // Internal utilities
+    //
+       //------------------------------------------------------------------------
+    // Internal utilities
+    //
+
+    private void backAndForth(Normalizer iter, String input)
+    {
+        iter.setText(input);
+
+        // Run through the iterator forwards and stick it into a StringBuffer
+        StringBuffer forward =  new StringBuffer();
+        for (int ch = iter.first(); ch != Normalizer.DONE; ch = iter.next()) {
+            forward.append(ch);
+        }
+
+        // Now do it backwards
+        StringBuffer reverse = new StringBuffer();
+        for (int ch = iter.last(); ch != Normalizer.DONE; ch = iter.previous()) {
+            reverse.insert(0, ch);
+        }
+
+        if (!forward.toString().equals(reverse.toString())) {
+            errln("FAIL: Forward/reverse mismatch for input " + hex(input)
+                  + ", forward: " + hex(forward) + ", backward: "+hex(reverse));
+        } else if (isVerbose()) {
+            logln("Ok: Forward/reverse for input " + hex(input)
+                  + ", forward: " + hex(forward) + ", backward: "+hex(reverse));
+        }
+    }
+
+    private void backAndForth(Normalizer iter, String[][] tests)
+    {
+        for (int i = 0; i < tests.length; i++)
+        {
+            iter.setText(tests[i][0]);
+
+            // Run through the iterator forwards and stick it into a
+            // StringBuffer
+            StringBuffer forward =  new StringBuffer();
+            for (int ch = iter.first(); ch != Normalizer.DONE; ch = iter.next()) {
+                forward.append(ch);
+            }
+
+            // Now do it backwards
+            StringBuffer reverse = new StringBuffer();
+            for (int ch = iter.last(); ch != Normalizer.DONE; ch = iter.previous()) {
+                reverse.insert(0, ch);
+            }
+
+            if (!forward.toString().equals(reverse.toString())) {
+                errln("FAIL: Forward/reverse mismatch for input "
+                    + hex(tests[i][0]) + ", forward: " + hex(forward)
+                    + ", backward: " + hex(reverse));
+            } else if (isVerbose()) {
+                logln("Ok: Forward/reverse for input " + hex(tests[i][0])
+                      + ", forward: " + hex(forward) + ", backward: "
+                      + hex(reverse));
+            }
+        }
+    }
+
+    private void staticTest (Normalizer.Mode mode,
+                             String[][] tests, int outCol) throws Exception{
+        for (int i = 0; i < tests.length; i++)
+        {
+            String input = Utility.unescape(tests[i][0]);
+            String expect = Utility.unescape(tests[i][outCol]);
+
+            logln("Normalizing '" + input + "' (" + hex(input) + ")" );
+
+            String output = Normalizer.normalize(input, mode);
+
+            if (!output.equals(expect)) {
+                errln("FAIL: case " + i
+                    + " expected '" + expect + "' (" + hex(expect) + ")"
+                    + " but got '" + output + "' (" + hex(output) + ")" );
+            }
+        }
+        char[] output = new char[1];
+        for (int i = 0; i < tests.length; i++)
+        {
+            char[] input = Utility.unescape(tests[i][0]).toCharArray();
+            String expect =Utility.unescape( tests[i][outCol]);
+
+            logln("Normalizing '" + new String(input) + "' (" +
+                        hex(new String(input)) + ")" );
+            int reqLength=0;
+            while(true){
+                try{
+                    reqLength=Normalizer.normalize(input,output, mode,0);
+                    if(reqLength<=output.length    ){
+                        break;
+                    }
+                }catch(IndexOutOfBoundsException e){
+                    output= new char[Integer.parseInt(e.getMessage())];
+                    continue;
+                }
+            }
+            if (!expect.equals(new String(output,0,reqLength))) {
+                errln("FAIL: case " + i
+                    + " expected '" + expect + "' (" + hex(expect) + ")"
+                    + " but got '" + new String(output)
+                    + "' ("  + hex(new String(output)) + ")" );
+            }
+        }
+    }
+    private void decomposeTest(Normalizer.Mode mode,
+                             String[][] tests, int outCol) throws Exception{
+        for (int i = 0; i < tests.length; i++)
+        {
+            String input = Utility.unescape(tests[i][0]);
+            String expect = Utility.unescape(tests[i][outCol]);
+
+            logln("Normalizing '" + input + "' (" + hex(input) + ")" );
+
+            String output = Normalizer.decompose(input, mode==Normalizer.NFKD);
+
+            if (!output.equals(expect)) {
+                errln("FAIL: case " + i
+                    + " expected '" + expect + "' (" + hex(expect) + ")"
+                    + " but got '" + output + "' (" + hex(output) + ")" );
+            }
+        }
+        char[] output = new char[1];
+        for (int i = 0; i < tests.length; i++)
+        {
+            char[] input = Utility.unescape(tests[i][0]).toCharArray();
+            String expect = Utility.unescape(tests[i][outCol]);
+
+            logln("Normalizing '" + new String(input) + "' (" +
+                        hex(new String(input)) + ")" );
+            int reqLength=0;
+            while(true){
+                try{
+                    reqLength=Normalizer.decompose(input,output, mode==Normalizer.NFKD,0);
+                    if(reqLength<=output.length ){
+                        break;
+                    }
+                }catch(IndexOutOfBoundsException e){
+                    output= new char[Integer.parseInt(e.getMessage())];
+                    continue;
+                }
+            }
+            if (!expect.equals(new String(output,0,reqLength))) {
+                errln("FAIL: case " + i
+                    + " expected '" + expect + "' (" + hex(expect) + ")"
+                    + " but got '" + new String(output)
+                    + "' ("  + hex(new String(output)) + ")" );
+            }
+        }
+        output = new char[1];
+        for (int i = 0; i < tests.length; i++)
+        {
+           char[] input = Utility.unescape(tests[i][0]).toCharArray();
+           String expect = Utility.unescape(tests[i][outCol]);
+    
+           logln("Normalizing '" + new String(input) + "' (" +
+                       hex(new String(input)) + ")" );
+           int reqLength=0;
+           while(true){
+               try{
+                   reqLength=Normalizer.decompose(input,0,input.length,output,0,output.length, mode==Normalizer.NFKD,0);
+                   if(reqLength<=output.length ){
+                       break;
+                   }
+               }catch(IndexOutOfBoundsException e){
+                   output= new char[Integer.parseInt(e.getMessage())];
+                   continue;
+               }
+           }
+           if (!expect.equals(new String(output,0,reqLength))) {
+               errln("FAIL: case " + i
+                   + " expected '" + expect + "' (" + hex(expect) + ")"
+                   + " but got '" + new String(output)
+                   + "' ("  + hex(new String(output)) + ")" );
+           }
+           char[] output2 = new char[reqLength * 2];
+           System.arraycopy(output, 0, output2, 0, reqLength);
+           int retLength = Normalizer.decompose(input,0,input.length, output2, reqLength, output2.length, mode==Normalizer.NFKC,0);
+           if(retLength != reqLength){
+               logln("FAIL: Normalizer.compose did not return the expected length. Expected: " +reqLength + " Got: " + retLength);
+           }
+        }
+    }
+
+    private void composeTest(Normalizer.Mode mode,
+                             String[][] tests, int outCol) throws Exception{
+        for (int i = 0; i < tests.length; i++)
+        {
+            String input = Utility.unescape(tests[i][0]);
+            String expect = Utility.unescape(tests[i][outCol]);
+
+            logln("Normalizing '" + input + "' (" + hex(input) + ")" );
+
+            String output = Normalizer.compose(input, mode==Normalizer.NFKC);
+
+            if (!output.equals(expect)) {
+                errln("FAIL: case " + i
+                    + " expected '" + expect + "' (" + hex(expect) + ")"
+                    + " but got '" + output + "' (" + hex(output) + ")" );
+            }
+        }
+        char[] output = new char[1];
+        for (int i = 0; i < tests.length; i++)
+        {
+            char[] input = Utility.unescape(tests[i][0]).toCharArray();
+            String expect = Utility.unescape(tests[i][outCol]);
+
+            logln("Normalizing '" + new String(input) + "' (" +
+                        hex(new String(input)) + ")" );
+            int reqLength=0;
+            while(true){
+                try{
+                    reqLength=Normalizer.compose(input,output, mode==Normalizer.NFKC,0);
+                    if(reqLength<=output.length ){
+                        break;
+                    }
+                }catch(IndexOutOfBoundsException e){
+                    output= new char[Integer.parseInt(e.getMessage())];
+                    continue;
+                }
+            }
+            if (!expect.equals(new String(output,0,reqLength))) {
+                errln("FAIL: case " + i
+                    + " expected '" + expect + "' (" + hex(expect) + ")"
+                    + " but got '" + new String(output)
+                    + "' ("  + hex(new String(output)) + ")" );
+            }
+        }
+        output = new char[1];
+        for (int i = 0; i < tests.length; i++)
+        {
+            char[] input = Utility.unescape(tests[i][0]).toCharArray();
+            String expect = Utility.unescape(tests[i][outCol]);
+
+            logln("Normalizing '" + new String(input) + "' (" +
+                        hex(new String(input)) + ")" );
+            int reqLength=0;
+            while(true){
+                try{
+                    reqLength=Normalizer.compose(input,0,input.length, output, 0, output.length, mode==Normalizer.NFKC,0);
+                    if(reqLength<=output.length ){
+                        break;
+                    }
+                }catch(IndexOutOfBoundsException e){
+                    output= new char[Integer.parseInt(e.getMessage())];
+                    continue;
+                }
+            }
+            if (!expect.equals(new String(output,0,reqLength))) {
+                errln("FAIL: case " + i
+                    + " expected '" + expect + "' (" + hex(expect) + ")"
+                    + " but got '" + new String(output)
+                    + "' ("  + hex(new String(output)) + ")" );
+            }
+            
+            char[] output2 = new char[reqLength * 2];
+            System.arraycopy(output, 0, output2, 0, reqLength);
+            int retLength = Normalizer.compose(input,0,input.length, output2, reqLength, output2.length, mode==Normalizer.NFKC,0);
+            if(retLength != reqLength){
+                logln("FAIL: Normalizer.compose did not return the expected length. Expected: " +reqLength + " Got: " + retLength);
+            }
+        }
+    }
+    private void iterateTest(Normalizer iter, String[][] tests, int outCol){
+        for (int i = 0; i < tests.length; i++)
+        {
+            String input = Utility.unescape(tests[i][0]);
+            String expect = Utility.unescape(tests[i][outCol]);
+
+            logln("Normalizing '" + input + "' (" + hex(input) + ")" );
+
+            iter.setText(input);
+            assertEqual(expect, iter, "case " + i + " ");
+        }
+    }
+
+    private void assertEqual(String expected, Normalizer iter, String msg)
+    {
+        int index = 0;
+        int ch;
+        UCharacterIterator cIter =  UCharacterIterator.getInstance(expected);
+        
+        while ((ch=iter.next())!= Normalizer.DONE){
+            if (index >= expected.length()) {
+                errln("FAIL: " + msg + "Unexpected character '" + (char)ch
+                        + "' (" + hex(ch) + ")"
+                        + " at index " + index);
+                break;
+            }
+            int want = UTF16.charAt(expected,index);
+            if (ch != want) {
+                errln("FAIL: " + msg + "got '" + (char)ch
+                        + "' (" + hex(ch) + ")"
+                        + " but expected '" + want + "' (" + hex(want)+ ")"
+                        + " at index " + index);
+            }
+            index+=  UTF16.getCharCount(ch);
+        }
+        if (index < expected.length()) {
+            errln("FAIL: " + msg + "Only got " + index + " chars, expected "
+            + expected.length());
+        }
+        
+        cIter.setToLimit();
+        while((ch=iter.previous())!=Normalizer.DONE){
+            int want = cIter.previousCodePoint();
+            if (ch != want ) {
+                errln("FAIL: " + msg + "got '" + (char)ch
+                        + "' (" + hex(ch) + ")"
+                        + " but expected '" + want + "' (" + hex(want) + ")"
+                        + " at index " + index);
+            }
+        }
+    }
+    //--------------------------------------------------------------------------
+
+    // NOTE: These tests are used for quick debugging so are not ported
+    // to ICU4C tsnorm.cpp in intltest
+    //
+
+    public void TestDebugStatic(){
+        String in = Utility.unescape("\\U0001D157\\U0001D165");
+        if(!Normalizer.isNormalized(in,Normalizer.NFC,0)){
+            errln("isNormalized failed");
+        }
+
+        String input  =  "\uAD8B\uAD8B\uAD8B\uAD8B"+
+            "\\U0001d15e\\U0001d157\\U0001d165\\U0001d15e\\U0001d15e\\U0001d15e\\U0001d15e"+
+            "\\U0001d15e\\U0001d157\\U0001d165\\U0001d15e\\U0001d15e\\U0001d15e\\U0001d15e"+
+            "\\U0001d15e\\U0001d157\\U0001d165\\U0001d15e\\U0001d15e\\U0001d15e\\U0001d15e"+
+            "\\U0001d157\\U0001d165\\U0001d15e\\U0001d15e\\U0001d15e\\U0001d15e\\U0001d15e"+
+            "\\U0001d157\\U0001d165\\U0001d15e\\U0001d15e\\U0001d15e\\U0001d15e\\U0001d15e"+
+            "aaaaaaaaaaaaaaaaaazzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz"+
+            "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"+
+            "ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc"+
+            "ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd"+
+            "\uAD8B\uAD8B\uAD8B\uAD8B"+
+            "d\u031B\u0307\u0323";
+        String expect = "\u1100\u116F\u11AA\u1100\u116F\u11AA\u1100\u116F"+
+                        "\u11AA\u1100\u116F\u11AA\uD834\uDD57\uD834\uDD65"+
+                        "\uD834\uDD57\uD834\uDD65\uD834\uDD57\uD834\uDD65"+
+                        "\uD834\uDD57\uD834\uDD65\uD834\uDD57\uD834\uDD65"+
+                        "\uD834\uDD57\uD834\uDD65\uD834\uDD57\uD834\uDD65"+
+                        "\uD834\uDD57\uD834\uDD65\uD834\uDD57\uD834\uDD65"+
+                        "\uD834\uDD57\uD834\uDD65\uD834\uDD57\uD834\uDD65"+
+                        "\uD834\uDD57\uD834\uDD65\uD834\uDD57\uD834\uDD65"+
+                        "\uD834\uDD57\uD834\uDD65\uD834\uDD57\uD834\uDD65"+
+                        "\uD834\uDD57\uD834\uDD65\uD834\uDD57\uD834\uDD65"+
+                        "\uD834\uDD57\uD834\uDD65\uD834\uDD57\uD834\uDD65"+
+                        "\uD834\uDD57\uD834\uDD65\uD834\uDD57\uD834\uDD65"+
+                        "\uD834\uDD57\uD834\uDD65\uD834\uDD57\uD834\uDD65"+
+                        "\uD834\uDD57\uD834\uDD65\uD834\uDD57\uD834\uDD65"+
+                        "\uD834\uDD57\uD834\uDD65\uD834\uDD57\uD834\uDD65"+
+                        "\uD834\uDD57\uD834\uDD65\uD834\uDD57\uD834\uDD65"+
+                        "\uD834\uDD57\uD834\uDD65aaaaaaaaaaaaaaaaaazzzzzz"+
+                        "zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz"+
+                        "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"+
+                        "bbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccc"+
+                        "cccccccccccccccccccccccccccccccccccccccccccccccc"+
+                        "ddddddddddddddddddddddddddddddddddddddddddddddddddddd"+
+                        "dddddddddddddddddddddddd"+
+                        "\u1100\u116F\u11AA\u1100\u116F\u11AA\u1100\u116F"+
+                        "\u11AA\u1100\u116F\u11AA\u0064\u031B\u0323\u0307";
+            String output = Normalizer.normalize(Utility.unescape(input),
+                            Normalizer.NFD);
+            if(!expect.equals(output)){
+                errln("FAIL expected: "+hex(expect) + " got: "+hex(output));
+            }
+
+
+
+    }
+    public void TestDebugIter(){
+        String src = Utility.unescape("\\U0001d15e\\U0001d157\\U0001d165\\U0001d15e");
+        String expected = Utility.unescape("\\U0001d15e\\U0001d157\\U0001d165\\U0001d15e");
+        Normalizer iter = new Normalizer(new StringCharacterIterator(Utility.unescape(src)),
+                                                Normalizer.NONE,0);
+        int index = 0;
+        int ch;
+        UCharacterIterator cIter =  UCharacterIterator.getInstance(expected);
+        
+        while ((ch=iter.next())!= Normalizer.DONE){
+            if (index >= expected.length()) {
+                errln("FAIL: " +  "Unexpected character '" + (char)ch
+                        + "' (" + hex(ch) + ")"
+                        + " at index " + index);
+                break;
+            }
+            int want = UTF16.charAt(expected,index);
+            if (ch != want) {
+                errln("FAIL: " +  "got '" + (char)ch
+                        + "' (" + hex(ch) + ")"
+                        + " but expected '" + want + "' (" + hex(want)+ ")"
+                        + " at index " + index);
+            }
+            index+=  UTF16.getCharCount(ch);
+        }
+        if (index < expected.length()) {
+            errln("FAIL: " +  "Only got " + index + " chars, expected "
+            + expected.length());
+        }
+        
+        cIter.setToLimit();
+        while((ch=iter.previous())!=Normalizer.DONE){
+            int want = cIter.previousCodePoint();
+            if (ch != want ) {
+                errln("FAIL: " + "got '" + (char)ch
+                        + "' (" + hex(ch) + ")"
+                        + " but expected '" + want + "' (" + hex(want) + ")"
+                        + " at index " + index);
+            }
+        }
+    }
+    public void TestDebugIterOld(){
+        String input = "\\U0001D15E";
+        String expected = "\uD834\uDD57\uD834\uDD65";
+        String expectedReverse = "\uD834\uDD65\uD834\uDD57";
+        int index = 0;
+        int ch;
+        Normalizer iter = new Normalizer(new StringCharacterIterator(Utility.unescape(input)),
+                                                Normalizer.NFKC,0);
+        StringBuffer got = new StringBuffer();
+        for (ch = iter.first();ch!=Normalizer.DONE;ch=iter.next())
+        {
+            if (index >= expected.length()) {
+                errln("FAIL: " +  "Unexpected character '" + (char)ch +
+                       "' (" + hex(ch) + ")" + " at index " + index);
+                break;
+            }
+            got.append(UCharacter.toString(ch));
+            index++;
+        }
+        if (!expected.equals(got.toString())) {
+                errln("FAIL: " +  "got '" +got+ "' (" + hex(got) + ")"
+                        + " but expected '" + expected + "' ("
+                        + hex(expected) + ")");
+        }
+        if (got.length() < expected.length()) {
+            errln("FAIL: " +  "Only got " + index + " chars, expected "
+                           + expected.length());
+        }
+
+        logln("Reverse Iteration\n");
+        iter.setIndexOnly(iter.endIndex());
+        got.setLength(0);
+        for(ch=iter.previous();ch!=Normalizer.DONE;ch=iter.previous()){
+            if (index >= expected.length()) {
+                errln("FAIL: " +  "Unexpected character '" + (char)ch
+                               + "' (" + hex(ch) + ")" + " at index " + index);
+                break;
+            }
+            got.append(UCharacter.toString(ch));
+        }
+        if (!expectedReverse.equals(got.toString())) {
+                errln("FAIL: " +  "got '" +got+ "' (" + hex(got) + ")"
+                               + " but expected '" + expected
+                               + "' (" + hex(expected) + ")");
+        }
+        if (got.length() < expected.length()) {
+            errln("FAIL: " +  "Only got " + index + " chars, expected "
+                      + expected.length());
+        }
+
+    }
+    //--------------------------------------------------------------------------
+    // helper class for TestPreviousNext()
+    // simple UTF-32 character iterator
+    class UCharIterator {
+
+       public UCharIterator(int[] src, int len, int index){
+
+            s=src;
+            length=len;
+            i=index;
+       }
+
+        public int current() {
+            if(i<length) {
+                return s[i];
+            } else {
+                return -1;
+            }
+        }
+
+        public int next() {
+            if(i<length) {
+                return s[i++];
+            } else {
+                return -1;
+            }
+        }
+
+        public int previous() {
+            if(i>0) {
+                return s[--i];
+            } else {
+                return -1;
+            }
+        }
+
+        public int getIndex() {
+            return i;
+        }
+
+        private int[] s;
+        private int length, i;
+    }
+    public void TestPreviousNext() {
+        // src and expect strings
+        char src[]={
+            UTF16.getLeadSurrogate(0x2f999), UTF16.getTrailSurrogate(0x2f999),
+            UTF16.getLeadSurrogate(0x1d15f), UTF16.getTrailSurrogate(0x1d15f),
+            0xc4,
+            0x1ed0
+        };
+        int expect[]={
+            0x831d,
+            0x1d158, 0x1d165,
+            0x41, 0x308,
+            0x4f, 0x302, 0x301
+        };
+
+        // expected src indexes corresponding to expect indexes
+        int expectIndex[]={
+            0,
+            2, 2,
+            4, 4,
+            5, 5, 5,
+            6 // behind last character
+        };
+
+        // initial indexes into the src and expect strings
+
+        final int SRC_MIDDLE=4;
+        final int EXPECT_MIDDLE=3;
+
+
+        // movement vector
+        // - for previous(), 0 for current(), + for next()
+        // not const so that we can terminate it below for the error message
+        String moves="0+0+0--0-0-+++0--+++++++0--------";
+
+        // iterators
+        Normalizer iter = new Normalizer(new String(src),
+                                                Normalizer.NFD,0);
+        UCharIterator iter32 = new UCharIterator(expect, expect.length,
+                                                     EXPECT_MIDDLE);
+
+        int c1, c2;
+        char m;
+
+        // initially set the indexes into the middle of the strings
+        iter.setIndexOnly(SRC_MIDDLE);
+
+        // move around and compare the iteration code points with
+        // the expected ones
+        int movesIndex =0;
+        while(movesIndex<moves.length()) {
+            m=moves.charAt(movesIndex++);
+            if(m=='-') {
+                c1=iter.previous();
+                c2=iter32.previous();
+            } else if(m=='0') {
+                c1=iter.current();
+                c2=iter32.current();
+            } else /* m=='+' */ {
+                c1=iter.next();
+                c2=iter32.next();
+            }
+
+            // compare results
+            if(c1!=c2) {
+                // copy the moves until the current (m) move, and terminate
+                String history = moves.substring(0,movesIndex);
+                errln("error: mismatch in Normalizer iteration at "+history+": "
+                      +"got c1= " + hex(c1) +" != expected c2= "+ hex(c2));
+                break;
+            }
+
+            // compare indexes
+            if(iter.getIndex()!=expectIndex[iter32.getIndex()]) {
+                // copy the moves until the current (m) move, and terminate
+                String history = moves.substring(0,movesIndex);
+                errln("error: index mismatch in Normalizer iteration at "
+                      +history+ " : "+ "Normalizer index " +iter.getIndex()
+                      +" expected "+ expectIndex[iter32.getIndex()]);
+                break;
+            }
+        }
+    }
+    // Only in ICU4j
+    public void TestPreviousNextJCI() {
+        // src and expect strings
+        char src[]={
+            UTF16.getLeadSurrogate(0x2f999), UTF16.getTrailSurrogate(0x2f999),
+            UTF16.getLeadSurrogate(0x1d15f), UTF16.getTrailSurrogate(0x1d15f),
+            0xc4,
+            0x1ed0
+        };
+        int expect[]={
+            0x831d,
+            0x1d158, 0x1d165,
+            0x41, 0x308,
+            0x4f, 0x302, 0x301
+        };
+
+        // expected src indexes corresponding to expect indexes
+        int expectIndex[]={
+            0,
+            2, 2,
+            4, 4,
+            5, 5, 5,
+            6 // behind last character
+        };
+
+        // initial indexes into the src and expect strings
+
+        final int SRC_MIDDLE=4;
+        final int EXPECT_MIDDLE=3;
+
+
+        // movement vector
+        // - for previous(), 0 for current(), + for next()
+        // not const so that we can terminate it below for the error message
+        String moves="0+0+0--0-0-+++0--+++++++0--------";
+
+        // iterators
+        StringCharacterIterator text = new StringCharacterIterator(new String(src));
+        Normalizer iter = new Normalizer(text,Normalizer.NFD,0);
+        UCharIterator iter32 = new UCharIterator(expect, expect.length,
+                                                     EXPECT_MIDDLE);
+
+        int c1, c2;
+        char m;
+
+        // initially set the indexes into the middle of the strings
+        iter.setIndexOnly(SRC_MIDDLE);
+
+        // move around and compare the iteration code points with
+        // the expected ones
+        int movesIndex =0;
+        while(movesIndex<moves.length()) {
+            m=moves.charAt(movesIndex++);
+            if(m=='-') {
+                c1=iter.previous();
+                c2=iter32.previous();
+            } else if(m=='0') {
+                c1=iter.current();
+                c2=iter32.current();
+            } else /* m=='+' */ {
+                c1=iter.next();
+                c2=iter32.next();
+            }
+
+            // compare results
+            if(c1!=c2) {
+                // copy the moves until the current (m) move, and terminate
+                String history = moves.substring(0,movesIndex);
+                errln("error: mismatch in Normalizer iteration at "+history+": "
+                      +"got c1= " + hex(c1) +" != expected c2= "+ hex(c2));
+                break;
+            }
+
+            // compare indexes
+            if(iter.getIndex()!=expectIndex[iter32.getIndex()]) {
+                // copy the moves until the current (m) move, and terminate
+                String history = moves.substring(0,movesIndex);
+                errln("error: index mismatch in Normalizer iteration at "
+                      +history+ " : "+ "Normalizer index " +iter.getIndex()
+                      +" expected "+ expectIndex[iter32.getIndex()]);
+                break;
+            }
+        }
+    }
+
+    // test APIs that are not otherwise used - improve test coverage
+    public void TestNormalizerAPI() throws Exception {
+        try{
+            // instantiate a Normalizer from a CharacterIterator
+            String s=Utility.unescape("a\u0308\uac00\\U0002f800");
+            // make s a bit longer and more interesting
+            UCharacterIterator iter = UCharacterIterator.getInstance(s+s);
+            Normalizer norm = new Normalizer(iter, Normalizer.NFC,0);
+            if(norm.next()!=0xe4) {
+                errln("error in Normalizer(CharacterIterator).next()");
+            }   
+    
+            // test clone(), ==, and hashCode()
+            Normalizer clone=(Normalizer)norm.clone();
+            if(clone.equals(norm)) {
+                errln("error in Normalizer(Normalizer(CharacterIterator)).clone()!=norm");
+            }
+    
+            
+            if(clone.getLength()!= norm.getLength()){
+               errln("error in Normalizer.getBeginIndex()");
+            } 
+            // clone must have the same hashCode()
+            //if(clone.hashCode()!=norm.hashCode()) {
+            //    errln("error in Normalizer(Normalizer(CharacterIterator)).clone().hashCode()!=copy.hashCode()");
+            //}
+            if(clone.next()!=0xac00) {
+                errln("error in Normalizer(Normalizer(CharacterIterator)).next()");
+            }
+            int ch = clone.next();
+            if(ch!=0x4e3d) {
+                errln("error in Normalizer(Normalizer(CharacterIterator)).clone().next()");
+            }
+            // position changed, must change hashCode()
+            if(clone.hashCode()==norm.hashCode()) {
+                errln("error in Normalizer(Normalizer(CharacterIterator)).clone().next().hashCode()==copy.hashCode()");
+            }
+    
+            // test compose() and decompose()
+            StringBuffer tel;
+            String nfkc, nfkd;
+            tel=new StringBuffer("\u2121\u2121\u2121\u2121\u2121\u2121\u2121\u2121\u2121\u2121");
+            tel.insert(1,(char)0x0301);
+    
+            nfkc=Normalizer.compose(tel.toString(), true);
+            nfkd=Normalizer.decompose(tel.toString(), true);
+            if(
+                !nfkc.equals(Utility.unescape("TE\u0139TELTELTELTELTELTELTELTELTEL"))||
+                !nfkd.equals(Utility.unescape("TEL\u0301TELTELTELTELTELTELTELTELTEL"))
+            ) {
+                errln("error in Normalizer::(de)compose(): wrong result(s)");
+            }
+    
+            // test setIndex()
+//            ch=norm.setIndex(3);
+//            if(ch!=0x4e3d) {
+//                errln("error in Normalizer(CharacterIterator).setIndex(3)");
+//            }
+    
+            // test setText(CharacterIterator) and getText()
+            String out, out2;
+            clone.setText(iter);
+    
+            out = clone.getText();
+            out2 = iter.getText();
+            if( !out.equals(out2) ||
+                clone.startIndex()!=0||
+                clone.endIndex()!=iter.getLength()
+            ) {
+                errln("error in Normalizer::setText() or Normalizer::getText()");
+            }
+     
+            char[] fillIn1 = new char[clone.getLength()];
+            char[] fillIn2 = new char[iter.getLength()];
+            int len = clone.getText(fillIn1);
+            iter.getText(fillIn2,0);
+            if(!Utility.arrayRegionMatches(fillIn1,0,fillIn2,0,len)){
+                errln("error in Normalizer.getText(). Normalizer: "+
+                                Utility.hex(new String(fillIn1))+ 
+                                " Iter: " + Utility.hex(new String(fillIn2)));
+            }
+            
+            clone.setText(fillIn1);
+            len = clone.getText(fillIn2);
+            if(!Utility.arrayRegionMatches(fillIn1,0,fillIn2,0,len)){
+                errln("error in Normalizer.setText() or Normalizer.getText()"+
+                                Utility.hex(new String(fillIn1))+ 
+                                " Iter: " + Utility.hex(new String(fillIn2)));
+            }
+    
+            // test setText(UChar *), getUMode() and setMode()
+            clone.setText(s);
+            clone.setIndexOnly(1);
+            clone.setMode(Normalizer.NFD);
+            if(clone.getMode()!=Normalizer.NFD) {
+                errln("error in Normalizer::setMode() or Normalizer::getMode()");
+            }
+            if(clone.next()!=0x308 || clone.next()!=0x1100) {
+                errln("error in Normalizer::setText() or Normalizer::setMode()");
+            }
+    
+            // test last()/previous() with an internal buffer overflow
+            StringBuffer buf = new StringBuffer("aaaaaaaaaa");
+            buf.setCharAt(10-1,'\u0308');
+            clone.setText(buf);
+            if(clone.last()!=0x308) {
+                errln("error in Normalizer(10*U+0308).last()");
+            }
+    
+            // test UNORM_NONE
+            norm.setMode(Normalizer.NONE);
+            if(norm.first()!=0x61 || norm.next()!=0x308 || norm.last()!=0x2f800) {
+                errln("error in Normalizer(UNORM_NONE).first()/next()/last()");
+            }
+            out=Normalizer.normalize(s, Normalizer.NONE);
+            if(!out.equals(s)) {
+                errln("error in Normalizer::normalize(UNORM_NONE)");
+            }
+            ch = 0x1D15E;
+            String exp = "\\U0001D157\\U0001D165";
+            String ns = Normalizer.normalize(ch,Normalizer.NFC);
+            if(!ns.equals(Utility.unescape(exp))){
+                errln("error in Normalizer.normalize(int,Mode)");
+            }
+            ns = Normalizer.normalize(ch,Normalizer.NFC,0);
+            if(!ns.equals(Utility.unescape(exp))){
+                errln("error in Normalizer.normalize(int,Mode,int)");
+            }
+            
+            
+        }catch(Exception e){
+            throw e;
+        }
+    }
+
+    public void TestConcatenate() {
+
+        Object[][]cases=new Object[][]{
+            /* mode, left, right, result */
+            {
+                Normalizer.NFC,
+                "re",
+                "\u0301sum\u00e9",
+                "r\u00e9sum\u00e9"
+            },
+            {
+                Normalizer.NFC,
+                "a\u1100",
+                "\u1161bcdefghijk",
+                "a\uac00bcdefghijk"
+            },
+            /* ### TODO: add more interesting cases */
+            {
+                Normalizer.NFD,
+                "\u0340\u0341\u0343\u0344\u0374\u037E\u0387\u0958" +
+                "\u0959\u095A\u095B\u095C\u095D\u095E\u095F\u09DC" +
+                "\u09DD\u09DF\u0A33\u0A36\u0A59\u0A5A\u0A5B\u0A5E" +
+                "\u0B5C\u0B5D\u0F43\u0F4D\u0F52\u0F57\u0F5C\u0F69" +
+                "\u0F73\u0F75\u0F76\u0F78\u0F81\u0F93\u0F9D\u0FA2" +
+                "\u0FA7\u0FAC\u0FB9\u1F71\u1F73\u1F75\u1F77\u1F79" +
+                "\u1F7B\u1F7D\u1FBB\u1FBE\u1FC9\u1FCB\u1FD3\u1FDB",
+
+                "\u1FE3\u1FEB\u1FEE\u1FEF\u1FF9\u1FFB\u1FFD\u2000" +
+                "\u2001\u2126\u212A\u212B\u2329\u232A\uF900\uFA10" +
+                "\uFA12\uFA15\uFA20\uFA22\uFA25\uFA26\uFA2A\uFB1F" +
+                "\uFB2A\uFB2B\uFB2C\uFB2D\uFB2E\uFB2F\uFB30\uFB31" +
+                "\uFB32\uFB33\uFB34\uFB35\uFB36\uFB38\uFB39\uFB3A" +
+                "\uFB3B\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46" +
+                "\uFB47\uFB48\uFB49\uFB4A\uFB4B\uFB4C\uFB4D\uFB4E",
+
+                "\u0340\u0341\u0343\u0344\u0374\u037E\u0387\u0958" +
+                "\u0959\u095A\u095B\u095C\u095D\u095E\u095F\u09DC" +
+                "\u09DD\u09DF\u0A33\u0A36\u0A59\u0A5A\u0A5B\u0A5E" +
+                "\u0B5C\u0B5D\u0F43\u0F4D\u0F52\u0F57\u0F5C\u0F69" +
+                "\u0F73\u0F75\u0F76\u0F78\u0F81\u0F93\u0F9D\u0FA2" +
+                "\u0FA7\u0FAC\u0FB9\u1F71\u1F73\u1F75\u1F77\u1F79" +
+                "\u1F7B\u1F7D\u1FBB\u1FBE\u1FC9\u1FCB\u1FD3\u0399" +
+                "\u0301\u03C5\u0308\u0301\u1FEB\u1FEE\u1FEF\u1FF9" +
+                "\u1FFB\u1FFD\u2000\u2001\u2126\u212A\u212B\u2329" +
+                "\u232A\uF900\uFA10\uFA12\uFA15\uFA20\uFA22\uFA25" +
+                "\uFA26\uFA2A\uFB1F\uFB2A\uFB2B\uFB2C\uFB2D\uFB2E" +
+                "\uFB2F\uFB30\uFB31\uFB32\uFB33\uFB34\uFB35\uFB36" +
+                "\uFB38\uFB39\uFB3A\uFB3B\uFB3C\uFB3E\uFB40\uFB41" +
+                "\uFB43\uFB44\uFB46\uFB47\uFB48\uFB49\uFB4A\uFB4B" +
+                "\uFB4C\uFB4D\uFB4E"
+            }
+        };
+
+        String left, right, expect, result;
+        Normalizer.Mode mode;
+        int i;
+
+        /* test concatenation */
+        for(i=0; i<cases.length; ++i) {
+            mode = (Normalizer.Mode)cases[i][0];
+
+            left=(String)cases[i][1];
+            right=(String)cases[i][2];
+            expect=(String)cases[i][3];
+            {
+                result=Normalizer.concatenate(left, right, mode,0);
+                if( result.equals(expect)) {
+                    errln("error in Normalizer.concatenate(), cases[] failed"
+                          +", result==expect: expected: "
+                          + hex(expect)+" =========> got: " + hex(result));
+                }
+            }
+            {
+                result=Normalizer.concatenate(left.toCharArray(), right.toCharArray(), mode,0);
+                if( result.equals(expect)) {
+                    errln("error in Normalizer.concatenate(), cases[] failed"
+                          +", result==expect: expected: "
+                          + hex(expect)+" =========> got: " + hex(result));
+                }
+            }
+        }
+    }
+    private final int RAND_MAX = 0x7fff;
+
+    public void TestCheckFCD()
+    {
+      char[] FAST = {0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,
+                     0x0008, 0x0009, 0x000A};
+
+      char[] FALSE = {0x0001, 0x0002, 0x02EA, 0x03EB, 0x0300, 0x0301,
+                      0x02B9, 0x0314, 0x0315, 0x0316};
+
+      char[] TRUE = {0x0030, 0x0040, 0x0440, 0x056D, 0x064F, 0x06E7,
+                     0x0050, 0x0730, 0x09EE, 0x1E10};
+
+      char[][] datastr= { {0x0061, 0x030A, 0x1E05, 0x0302, 0},
+                          {0x0061, 0x030A, 0x00E2, 0x0323, 0},
+                          {0x0061, 0x0323, 0x00E2, 0x0323, 0},
+                          {0x0061, 0x0323, 0x1E05, 0x0302, 0}
+                        };
+      Normalizer.QuickCheckResult result[] = {Normalizer.YES, Normalizer.NO, Normalizer.NO, Normalizer.YES};
+
+      char[] datachar= {        0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69,
+                                0x6a,
+                                0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9,
+                                0xea,
+                                0x0300, 0x0301, 0x0302, 0x0303, 0x0304, 0x0305, 0x0306,
+                                0x0307, 0x0308, 0x0309, 0x030a,
+                                0x0320, 0x0321, 0x0322, 0x0323, 0x0324, 0x0325, 0x0326,
+                                0x0327, 0x0328, 0x0329, 0x032a,
+                                0x1e00, 0x1e01, 0x1e02, 0x1e03, 0x1e04, 0x1e05, 0x1e06,
+                                0x1e07, 0x1e08, 0x1e09, 0x1e0a
+                       };
+
+      int count = 0;
+
+      if (Normalizer.quickCheck(FAST,0,FAST.length, Normalizer.FCD,0) != Normalizer.YES)
+        errln("Normalizer.quickCheck(FCD) failed: expected value for fast Normalizer.quickCheck is Normalizer.YES\n");
+      if (Normalizer.quickCheck(FALSE,0, FALSE.length,Normalizer.FCD,0) != Normalizer.NO)
+        errln("Normalizer.quickCheck(FCD) failed: expected value for error Normalizer.quickCheck is Normalizer.NO\n");
+      if (Normalizer.quickCheck(TRUE,0,TRUE.length,Normalizer.FCD,0) != Normalizer.YES)
+        errln("Normalizer.quickCheck(FCD) failed: expected value for correct Normalizer.quickCheck is Normalizer.YES\n");
+
+
+      while (count < 4)
+      {
+        Normalizer.QuickCheckResult fcdresult = Normalizer.quickCheck(datastr[count],0,datastr[count].length, Normalizer.FCD,0);
+        if (result[count] != fcdresult) {
+            errln("Normalizer.quickCheck(FCD) failed: Data set "+ count
+                    + " expected value "+ result[count]);
+        }
+        count ++;
+      }
+
+      /* random checks of long strings */
+      //srand((unsigned)time( NULL ));
+      Random rand = createRandom(); // use test framework's random
+
+      for (count = 0; count < 50; count ++)
+      {
+        int size = 0;
+        Normalizer.QuickCheckResult testresult = Normalizer.YES;
+        char[] data= new char[20];
+        char[] norm= new char[100];
+        char[] nfd = new char[100];
+        int normStart = 0;
+        int nfdsize = 0;
+        while (size != 19) {
+          data[size] = datachar[rand.nextInt(RAND_MAX)*50/RAND_MAX];
+          logln("0x"+data[size]);
+          normStart += Normalizer.normalize(data,size,size+1,
+                                              norm,normStart,100,
+                                              Normalizer.NFD,0);
+          size ++;
+        }
+        logln("\n");
+
+        nfdsize = Normalizer.normalize(data,0,size, nfd,0,nfd.length,Normalizer.NFD,0);
+        //    nfdsize = unorm_normalize(data, size, UNORM_NFD, UCOL_IGNORE_HANGUL,
+        //                      nfd, 100, &status);
+        if (nfdsize != normStart || Utility.arrayRegionMatches(nfd,0, norm,0,nfdsize) ==false) {
+          testresult = Normalizer.NO;
+        }
+        if (testresult == Normalizer.YES) {
+          logln("result Normalizer.YES\n");
+        }
+        else {
+          logln("result Normalizer.NO\n");
+        }
+
+        if (Normalizer.quickCheck(data,0,data.length, Normalizer.FCD,0) != testresult) {
+          errln("Normalizer.quickCheck(FCD) failed: expected "+ testresult +" for random data: "+hex(new String(data)) );
+        }
+      }
+    }
+
+
+    // reference implementation of Normalizer::compare
+    private int ref_norm_compare(String s1, String s2, int options) {
+        String t1, t2,r1,r2;
+
+        int normOptions=(int)(options>>Normalizer.COMPARE_NORM_OPTIONS_SHIFT);
+        
+        if((options&Normalizer.COMPARE_IGNORE_CASE)!=0) {
+            // NFD(toCasefold(NFD(X))) = NFD(toCasefold(NFD(Y)))
+            r1 = Normalizer.decompose(s1,false,normOptions);
+            r2 = Normalizer.decompose(s2,false,normOptions);
+            r1 = UCharacter.foldCase(r1,options);
+            r2 = UCharacter.foldCase(r2,options);
+        }else{
+            r1 = s1;
+            r2 = s2;
+        }
+        
+        t1 = Normalizer.decompose(r1, false, normOptions);
+        t2 = Normalizer.decompose(r2, false, normOptions);
+
+        if((options&Normalizer.COMPARE_CODE_POINT_ORDER)!=0) {
+            UTF16.StringComparator comp 
+                    = new UTF16.StringComparator(true, false, 
+                                     UTF16.StringComparator.FOLD_CASE_DEFAULT);
+            return comp.compare(t1,t2);
+        } else {
+            return t1.compareTo(t2);
+        }
+
+    }
+
+    // test wrapper for Normalizer::compare, sets UNORM_INPUT_IS_FCD appropriately
+    private int norm_compare(String s1, String s2, int options) {
+        int normOptions=(int)(options>>Normalizer.COMPARE_NORM_OPTIONS_SHIFT);
+
+        if( Normalizer.YES==Normalizer.quickCheck(s1,Normalizer.FCD,normOptions) &&
+            Normalizer.YES==Normalizer.quickCheck(s2,Normalizer.FCD,normOptions)) {
+            options|=Normalizer.INPUT_IS_FCD;
+        }
+
+        return Normalizer.compare(s1, s2, options);
+    }
+
+    // reference implementation of UnicodeString::caseCompare
+    private int ref_case_compare(String s1, String s2, int options) {
+        String t1, t2;
+
+        t1=s1;
+        t2=s2;
+
+        t1 = UCharacter.foldCase(t1,((options&Normalizer.FOLD_CASE_EXCLUDE_SPECIAL_I)==0));
+        t2 = UCharacter.foldCase(t2,((options&Normalizer.FOLD_CASE_EXCLUDE_SPECIAL_I)==0));
+
+        if((options&Normalizer.COMPARE_CODE_POINT_ORDER)!=0) {
+            UTF16.StringComparator comp 
+                    = new UTF16.StringComparator(true, false,
+                                    UTF16.StringComparator.FOLD_CASE_DEFAULT);
+            return comp.compare(t1,t2);
+        } else {
+            return t1.compareTo(t2);
+        }
+
+    }
+
+    // reduce an integer to -1/0/1
+    private static int sign(int value) {
+        if(value==0) {
+            return 0;
+        } else {
+            return (value>>31)|1;
+        }
+    }
+    private static String signString(int value) {
+        if(value<0) {
+            return "<0";
+        } else if(value==0) {
+            return "=0";
+        } else /* value>0 */ {
+            return ">0";
+        }
+    }
+    // test Normalizer::compare and unorm_compare (thinly wrapped by the former)
+    // by comparing it with its semantic equivalent
+    // since we trust the pieces, this is sufficient
+
+    // test each string with itself and each other
+    // each time with all options
+    private  String strings[]=new String[]{
+                // some cases from NormalizationTest.txt
+                // 0..3
+                "D\u031B\u0307\u0323",
+                "\u1E0C\u031B\u0307",
+                "D\u031B\u0323\u0307",
+                "d\u031B\u0323\u0307",
+        
+                // 4..6
+                "\u00E4",
+                "a\u0308",
+                "A\u0308",
+        
+                // Angstrom sign = A ring
+                // 7..10
+                "\u212B",
+                "\u00C5",
+                "A\u030A",
+                "a\u030A",
+        
+                // 11.14
+                "a\u059A\u0316\u302A\u032Fb",
+                "a\u302A\u0316\u032F\u059Ab",
+                "a\u302A\u0316\u032F\u059Ab",
+                "A\u059A\u0316\u302A\u032Fb",
+        
+                // from ICU case folding tests
+                // 15..20
+                "A\u00df\u00b5\ufb03\\U0001040c\u0131",
+                "ass\u03bcffi\\U00010434i",
+                "\u0061\u0042\u0131\u03a3\u00df\ufb03\ud93f\udfff",
+                "\u0041\u0062\u0069\u03c3\u0073\u0053\u0046\u0066\u0049\ud93f\udfff",
+                "\u0041\u0062\u0131\u03c3\u0053\u0073\u0066\u0046\u0069\ud93f\udfff",
+                "\u0041\u0062\u0069\u03c3\u0073\u0053\u0046\u0066\u0049\ud93f\udffd",
+        
+                //     U+d800 U+10001   see implementation comment in unorm_cmpEquivFold
+                // vs. U+10000          at bottom - code point order
+                // 21..22
+                "\ud800\ud800\udc01",
+                "\ud800\udc00",
+        
+                // other code point order tests from ustrtest.cpp
+                // 23..31
+                "\u20ac\ud801",
+                "\u20ac\ud800\udc00",
+                "\ud800",
+                "\ud800\uff61",
+                "\udfff",
+                "\uff61\udfff",
+                "\uff61\ud800\udc02",
+                "\ud800\udc02",
+                "\ud84d\udc56",
+        
+                // long strings, see cnormtst.c/TestNormCoverage()
+                // equivalent if case-insensitive
+                // 32..33
+                "\uAD8B\uAD8B\uAD8B\uAD8B"+
+                "\\U0001d15e\\U0001d157\\U0001d165\\U0001d15e\\U0001d15e\\U0001d15e\\U0001d15e"+
+                "\\U0001d15e\\U0001d157\\U0001d165\\U0001d15e\\U0001d15e\\U0001d15e\\U0001d15e"+
+                "\\U0001d15e\\U0001d157\\U0001d165\\U0001d15e\\U0001d15e\\U0001d15e\\U0001d15e"+
+                "\\U0001d157\\U0001d165\\U0001d15e\\U0001d15e\\U0001d15e\\U0001d15e\\U0001d15e"+
+                "\\U0001d157\\U0001d165\\U0001d15e\\U0001d15e\\U0001d15e\\U0001d15e\\U0001d15e"+
+                "aaaaaaaaaaaaaaaaaazzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz"+
+                "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"+
+                "ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc"+
+                "ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd"+
+                "\uAD8B\uAD8B\uAD8B\uAD8B"+
+                "d\u031B\u0307\u0323",
+        
+                "\u1100\u116f\u11aa\uAD8B\uAD8B\u1100\u116f\u11aa"+
+                "\\U0001d157\\U0001d165\\U0001d15e\\U0001d15e\\U0001d15e\\U0001d15e\\U0001d15e"+
+                "\\U0001d157\\U0001d165\\U0001d15e\\U0001d15e\\U0001d15e\\U0001d15e\\U0001d15e"+
+                "\\U0001d157\\U0001d165\\U0001d15e\\U0001d15e\\U0001d15e\\U0001d15e\\U0001d15e"+
+                "\\U0001d15e\\U0001d157\\U0001d165\\U0001d15e\\U0001d15e\\U0001d15e\\U0001d15e"+
+                "\\U0001d15e\\U0001d157\\U0001d165\\U0001d15e\\U0001d15e\\U0001d15e\\U0001d15e"+
+                "aaaaaaaaaaAAAAAAAAZZZZZZZZZZZZZZZZzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz"+
+                "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"+
+                "ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc"+
+                "ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd"+
+                "\u1100\u116f\u11aa\uAD8B\uAD8B\u1100\u116f\u11aa"+
+                "\u1E0C\u031B\u0307",
+        
+                // some strings that may make a difference whether the compare function
+                // case-folds or decomposes first
+                // 34..41
+                "\u0360\u0345\u0334",
+                "\u0360\u03b9\u0334",
+        
+                "\u0360\u1f80\u0334",
+                "\u0360\u03b1\u0313\u03b9\u0334",
+        
+                "\u0360\u1ffc\u0334",
+                "\u0360\u03c9\u03b9\u0334",
+        
+                "a\u0360\u0345\u0360\u0345b",
+                "a\u0345\u0360\u0345\u0360b",
+        
+                // interesting cases for canonical caseless match with turkic i handling
+                // 42..43
+                "\u00cc",
+                "\u0069\u0300",
+        
+                // strings with post-Unicode 3.2 normalization or normalization corrections
+                // 44..45
+                "\u00e4\u193b\\U0002f868",
+                "\u0061\u193b\u0308\u36fc",
+
+
+    };
+
+    // all combinations of options
+    // UNORM_INPUT_IS_FCD is set automatically if both input strings fulfill FCD conditions
+    final class Temp {
+        int options;
+        String name;
+        public Temp(int opt,String str){
+            options =opt;
+            name = str;
+        }
+
+    }
+    // set UNORM_UNICODE_3_2 in one additional combination
+  
+    private Temp[] opt = new Temp[]{
+                    new Temp(0,"default"),
+                    new Temp(Normalizer.COMPARE_CODE_POINT_ORDER, "code point order" ),
+                    new Temp(Normalizer.COMPARE_IGNORE_CASE, "ignore case" ),
+                    new Temp(Normalizer.COMPARE_CODE_POINT_ORDER|Normalizer.COMPARE_IGNORE_CASE, "code point order & ignore case" ),
+                    new Temp(Normalizer.COMPARE_IGNORE_CASE|Normalizer.FOLD_CASE_EXCLUDE_SPECIAL_I, "ignore case & special i"),
+                    new Temp(Normalizer.COMPARE_CODE_POINT_ORDER|Normalizer.COMPARE_IGNORE_CASE|Normalizer.FOLD_CASE_EXCLUDE_SPECIAL_I, "code point order & ignore case & special i"),
+                    new Temp(Normalizer.UNICODE_3_2 << Normalizer.COMPARE_NORM_OPTIONS_SHIFT, "Unicode 3.2")
+            };
+
+
+    public void TestCompareDebug(){
+
+        String[] s = new String[100]; // at least as many items as in strings[] !
+
+
+        int i, j, k, count=strings.length;
+        int result, refResult;
+
+        // create the UnicodeStrings
+        for(i=0; i<count; ++i) {
+            s[i]=Utility.unescape(strings[i]);
+        }
+        UTF16.StringComparator comp = new UTF16.StringComparator(true, false, 
+                                     UTF16.StringComparator.FOLD_CASE_DEFAULT);
+        // test them each with each other
+
+        i = 42;
+        j = 43;
+        k = 2;
+        // test Normalizer::compare
+        result=norm_compare(s[i], s[j], opt[k].options);
+        refResult=ref_norm_compare(s[i], s[j], opt[k].options);
+        if(sign(result)!=sign(refResult)) {
+            errln("Normalizer::compare( " + i +", "+j + ", " +k+"( " +opt[k].name+"))=" + result +" should be same sign as " + refResult);
+        }
+
+        // test UnicodeString::caseCompare - same internal implementation function
+         if(0!=(opt[k].options&Normalizer.COMPARE_IGNORE_CASE)) {
+        //    result=s[i]. (s[j], opt[k].options);
+            if ((opt[k].options & Normalizer.FOLD_CASE_EXCLUDE_SPECIAL_I) == 0)
+            {
+                comp.setIgnoreCase(true, UTF16.StringComparator.FOLD_CASE_DEFAULT);
+            }
+            else {
+                comp.setIgnoreCase(true, UTF16.StringComparator.FOLD_CASE_EXCLUDE_SPECIAL_I);
+            }
+            
+            result=comp.compare(s[i],s[j]);
+            refResult=ref_case_compare(s[i], s[j], opt[k].options);
+            if(sign(result)!=sign(refResult)) {
+                      errln("Normalizer::compare( " + i +", "+j + ", "+k+"( " +opt[k].name+"))=" + result +" should be same sign as " + refResult);
+                            }
+        }
+        String value1 = "\u00dater\u00fd";
+        String value2 = "\u00fater\u00fd";
+        if(Normalizer.compare(value1,value2,0)!=0){
+            if(Normalizer.compare(value1,value2,Normalizer.COMPARE_IGNORE_CASE)==0){
+
+            }
+        }
+    }
+
+    public void TestCompare() {
+
+        String[] s = new String[100]; // at least as many items as in strings[] !
+
+        int i, j, k, count=strings.length;
+        int result, refResult;
+
+        // create the UnicodeStrings
+        for(i=0; i<count; ++i) {
+            s[i]=Utility.unescape(strings[i]);
+        }
+        UTF16.StringComparator comp = new UTF16.StringComparator();
+        // test them each with each other
+        for(i=0; i<count; ++i) {
+            for(j=i; j<count; ++j) {
+                for(k=0; k<opt.length; ++k) {
+                    // test Normalizer::compare
+                    result=norm_compare(s[i], s[j], opt[k].options);
+                    refResult=ref_norm_compare(s[i], s[j], opt[k].options);
+                    if(sign(result)!=sign(refResult)) {
+                        errln("Normalizer::compare( " + i +", "+j + ", " +k+"( " +opt[k].name+"))=" + result +" should be same sign as " + refResult);
+                    }
+
+                    // test UnicodeString::caseCompare - same internal implementation function
+                     if(0!=(opt[k].options&Normalizer.COMPARE_IGNORE_CASE)) {
+                        //    result=s[i]. (s[j], opt[k].options);
+                        if ((opt[k].options & Normalizer.FOLD_CASE_EXCLUDE_SPECIAL_I) == 0)
+                        {
+                            comp.setIgnoreCase(true, UTF16.StringComparator.FOLD_CASE_DEFAULT);
+                        }
+                        else {
+                            comp.setIgnoreCase(true, UTF16.StringComparator.FOLD_CASE_EXCLUDE_SPECIAL_I);
+                        }
+                        
+                        comp.setCodePointCompare((opt[k].options & Normalizer.COMPARE_CODE_POINT_ORDER) != 0);
+                        // result=comp.caseCompare(s[i],s[j], opt[k].options);
+                        result=comp.compare(s[i],s[j]);
+                        refResult=ref_case_compare(s[i], s[j], opt[k].options);
+                        if(sign(result)!=sign(refResult)) {
+                                  errln("Normalizer::compare( " + i +", "+j + ", "+k+"( " +opt[k].name+"))=" + result +" should be same sign as " + refResult);
+                                         }
+                    }
+                }
+            }
+        }
+        
+        // test cases with i and I to make sure Turkic works
+        char[] iI= new char[]{ 0x49, 0x69, 0x130, 0x131 };
+        USerializedSet sset=new USerializedSet();
+        UnicodeSet set = new UnicodeSet();
+    
+        String s1, s2;
+        int start, end;
+    
+        // collect all sets into one for contiguous output
+        int[] startEnd = new int[2];
+        for(i=0; i<iI.length; ++i) {
+            if(NormalizerImpl.getCanonStartSet(iI[i], sset)) {
+                count=sset.countRanges();
+                for(j=0; j<count; ++j) {
+                    sset.getRange(j, startEnd);
+                    set.add(startEnd[0], startEnd[1]);
+                }
+            }
+        }
+
+        // test all of these precomposed characters
+        UnicodeSetIterator it = new UnicodeSetIterator(set);
+        while(it.nextRange() && it.codepoint!=UnicodeSetIterator.IS_STRING) {
+            start=it.codepoint;
+            end=it.codepointEnd;
+            while(start<=end) {
+                s1 = Integer.toString(start);
+                s2 = Normalizer.decompose(s1, false, 0);
+//                if(U_FAILURE(errorCode)) {
+//                    errln("Normalizer::decompose(U+%04x) failed: %s", start, u_errorName(errorCode));
+//                    return;
+//                }
+                for(k=0; k<opt.length; ++k) {
+                    // test Normalizer::compare
+
+                    result= norm_compare(s1, s2, opt[k].options);
+                    refResult=ref_norm_compare(s1, s2, opt[k].options);
+                    if(sign(result)!=sign(refResult)) {
+                        errln("Normalizer.compare(U+"+hex(start)+" with its NFD, "+opt[k].name+")" 
+                              + signString(result)+" should be "+signString(refResult));
+                    }
+    
+                    // test UnicodeString::caseCompare - same internal implementation function
+                    if((opt[k].options & Normalizer.COMPARE_IGNORE_CASE)>0) {
+                         if ((opt[k].options & Normalizer.FOLD_CASE_EXCLUDE_SPECIAL_I) == 0)
+                        {
+                            comp.setIgnoreCase(true, UTF16.StringComparator.FOLD_CASE_DEFAULT);
+                        }
+                        else {
+                            comp.setIgnoreCase(true, UTF16.StringComparator.FOLD_CASE_EXCLUDE_SPECIAL_I);
+                        }
+                        
+                        comp.setCodePointCompare((opt[k].options & Normalizer.COMPARE_CODE_POINT_ORDER) != 0);
+         
+                        result=comp.compare(s1,s2);
+                        refResult=ref_case_compare(s1, s2, opt[k].options);
+                        if(sign(result)!=sign(refResult)) {
+                            errln("UTF16.compare(U+"+hex(start)+" with its NFD, "
+                                  +opt[k].name+")"+signString(result) +" should be "+signString(refResult));
+                        }
+                    }
+                }
+    
+                ++start;
+            }
+        }
+
+    }
+
+    // verify that case-folding does not un-FCD strings
+    int countFoldFCDExceptions(int foldingOptions) {
+        String s, d;
+        int c;
+        int count;
+        int/*unsigned*/ cc, trailCC, foldCC, foldTrailCC;
+        Normalizer.QuickCheckResult qcResult;
+        int category;
+        boolean isNFD;
+
+
+        logln("Test if case folding may un-FCD a string (folding options 0x)"+hex(foldingOptions));
+
+        count=0;
+        for(c=0; c<=0x10ffff; ++c) {
+            category=UCharacter.getType(c);
+            if(category==UCharacterCategory.UNASSIGNED) {
+                continue; // skip unassigned code points
+            }
+            if(c==0xac00) {
+                c=0xd7a3; // skip Hangul - no case folding there
+                continue;
+            }
+            // skip Han blocks - no case folding there either
+            if(c==0x3400) {
+                c=0x4db5;
+                continue;
+            }
+            if(c==0x4e00) {
+                c=0x9fa5;
+                continue;
+            }
+            if(c==0x20000) {
+                c=0x2a6d6;
+                continue;
+            }
+
+            s= UTF16.valueOf(c);
+
+            // get leading and trailing cc for c
+            d= Normalizer.decompose(s,false);
+            isNFD= s==d;
+            cc=UCharacter.getCombiningClass(UTF16.charAt(d,0));
+            trailCC=UCharacter.getCombiningClass(UTF16.charAt(d,d.length()-1));
+
+            // get leading and trailing cc for the case-folding of c
+            UCharacter.foldCase(s,(foldingOptions==0));
+            d = Normalizer.decompose(s, false);
+            foldCC=UCharacter.getCombiningClass(UTF16.charAt(d,0));
+            foldTrailCC=UCharacter.getCombiningClass(UTF16.charAt(d,d.length()-1));
+
+            qcResult=Normalizer.quickCheck(s, Normalizer.FCD,0);
+
+
+            // bad:
+            // - character maps to empty string: adjacent characters may then need reordering
+            // - folding has different leading/trailing cc's, and they don't become just 0
+            // - folding itself is not FCD
+            if( qcResult!=Normalizer.YES ||
+                s.length()==0 ||
+                (cc!=foldCC && foldCC!=0) || (trailCC!=foldTrailCC && foldTrailCC!=0)
+            ) {
+                ++count;
+                errln("U+"+hex(c)+": case-folding may un-FCD a string (folding options 0x"+hex(foldingOptions)+")");
+                //errln("  cc %02x trailCC %02x    foldCC(U+%04lx) %02x foldTrailCC(U+%04lx) %02x   quickCheck(folded)=%d", cc, trailCC, UTF16.charAt(d,0), foldCC, UTF16.charAt(d,d.length()-1), foldTrailCC, qcResult);
+                continue;
+            }
+
+            // also bad:
+            // if a code point is in NFD but its case folding is not, then
+            // unorm_compare will also fail
+            if(isNFD && Normalizer.YES!=Normalizer.quickCheck(s, Normalizer.NFD,0)) {
+                ++count;
+                errln("U+"+hex(c)+": case-folding may un-FCD a string (folding options 0x"+hex(foldingOptions)+")");
+            }
+        }
+
+        logln("There are "+hex(count)+" code points for which case-folding may un-FCD a string (folding options"+foldingOptions+"x)" );
+        return count;
+    }
+
+    public void TestFindFoldFCDExceptions() {
+        int count;
+
+        count=countFoldFCDExceptions(0);
+        count+=countFoldFCDExceptions(Normalizer.FOLD_CASE_EXCLUDE_SPECIAL_I);
+        if(count>0) {
+            //*
+            //* If case-folding un-FCDs any strings, then unorm_compare() must be
+            //* re-implemented.
+            //* It currently assumes that one can check for FCD then case-fold
+            //* and then still have FCD strings for raw decomposition without reordering.
+            //*
+            errln("error: There are "+count+" code points for which case-folding"+
+                  " may un-FCD a string for all folding options.\n See comment"+
+                  " in BasicNormalizerTest::FindFoldFCDExceptions()!");
+        }
+    }
+    
+    public void TestCombiningMarks(){
+        String src = "\u0f71\u0f72\u0f73\u0f74\u0f75";
+        String expected = "\u0F71\u0F71\u0F71\u0F72\u0F72\u0F74\u0F74";
+        String result = Normalizer.decompose(src,false);
+        if(!expected.equals(result)){
+            errln("Reordering of combining marks failed. Expected: "+Utility.hex(expected)+" Got: "+ Utility.hex(result));
+        }
+    }
+
+    /*
+     * Re-enable this test when UTC fixes UAX 21
+    public void TestUAX21Failure(){
+        final String[][] cases = new String[][]{
+                {"\u0061\u0345\u0360\u0345\u0062", "\u0061\u0360\u0345\u0345\u0062"},
+                {"\u0061\u0345\u0345\u0360\u0062", "\u0061\u0360\u0345\u0345\u0062"},
+                {"\u0061\u0345\u0360\u0362\u0360\u0062", "\u0061\u0362\u0360\u0360\u0345\u0062"},
+                {"\u0061\u0360\u0345\u0360\u0362\u0062", "\u0061\u0362\u0360\u0360\u0345\u0062"},
+                {"\u0061\u0345\u0360\u0362\u0361\u0062", "\u0061\u0362\u0360\u0361\u0345\u0062"},
+                {"\u0061\u0361\u0345\u0360\u0362\u0062", "\u0061\u0362\u0361\u0360\u0345\u0062"},
+        };
+        for(int i = 0; i< cases.length; i++){
+            String s1 =cases[0][0]; 
+            String s2 = cases[0][1];
+            if( (Normalizer.compare(s1,s2,Normalizer.FOLD_CASE_DEFAULT ==0)//case sensitive compare
+                &&
+                (Normalizer.compare(s1,s2,Normalizer.COMPARE_IGNORE_CASE)!=0)){
+                errln("Normalizer.compare() failed for s1: " 
+                        + Utility.hex(s1) +" s2: " + Utility.hex(s2));
+            }
+        }
+    }
+    */
+    public void TestFCNFKCClosure() {
+        final class TestStruct{
+            int c;
+            String s;
+            TestStruct(int cp, String src){
+                c=cp;
+                s=src;
+            }
+        }
+        
+        TestStruct[] tests= new TestStruct[]{
+            new TestStruct( 0x037A, "\u0020\u03B9" ),
+            new TestStruct( 0x03D2, "\u03C5" ),
+            new TestStruct( 0x20A8, "\u0072\u0073" ) ,
+            new TestStruct( 0x210B, "\u0068" ),
+            new TestStruct( 0x210C, "\u0068" ),
+            new TestStruct( 0x2121, "\u0074\u0065\u006C" ),
+            new TestStruct( 0x2122, "\u0074\u006D" ),
+            new TestStruct( 0x2128, "\u007A" ),
+            new TestStruct( 0x1D5DB,"\u0068" ),
+            new TestStruct( 0x1D5ED,"\u007A" ),
+            new TestStruct( 0x0061, "" )
+        };
+    
+
+        for(int i = 0; i < tests.length; ++ i) {
+            String result=Normalizer.getFC_NFKC_Closure(tests[i].c);
+            if(!result.equals(new String(tests[i].s))) {
+                errln("getFC_NFKC_Closure(U+"+Integer.toHexString(tests[i].c)+") is wrong");
+            }
+        }
+    
+        /* error handling */
+
+        int length=Normalizer.getFC_NFKC_Closure(0x5c, null);
+        if(length!=0){
+            errln("getFC_NFKC_Closure did not perform error handling correctly");
+        }
+    }
+    public void TestBugJ2324(){
+       /* String[] input = new String[]{
+                            //"\u30FD\u3099",
+                            "\u30FA\u309A",
+                            "\u30FB\u309A",
+                            "\u30FC\u309A",
+                            "\u30FE\u309A",
+                            "\u30FD\u309A",
+
+        };*/
+        String troublesome = "\u309A";
+        for(int i=0x3000; i<0x3100;i++){
+            String input = ((char)i)+troublesome;
+            try{                            
+              /*  String result =*/ Normalizer.compose(input,false);
+            }catch(IndexOutOfBoundsException e){
+                errln("compose() failed for input: " + Utility.hex(input) + " Exception: " + e.toString());
+            }
+        }
+                
+    }
+
+     static final int D = 0, C = 1, KD= 2, KC = 3, FCD=4, NONE=5;   
+    private static UnicodeSet[] initSkippables(UnicodeSet[] skipSets){
+        if( skipSets.length < 4 ){
+            return null;
+        }
+        skipSets[D].applyPattern(
+            "[^\\u00C0-\\u00C5\\u00C7-\\u00CF\\u00D1-\\u00D6\\u00D9-\\u00DD"
+          + "\\u00E0-\\u00E5\\u00E7-\\u00EF\\u00F1-\\u00F6\\u00F9-\\u00FD"
+          + "\\u00FF-\\u010F\\u0112-\\u0125\\u0128-\\u0130\\u0134-\\u0137"
+          + "\\u0139-\\u013E\\u0143-\\u0148\\u014C-\\u0151\\u0154-\\u0165"
+          + "\\u0168-\\u017E\\u01A0\\u01A1\\u01AF\\u01B0\\u01CD-\\u01DC"
+          + "\\u01DE-\\u01E3\\u01E6-\\u01F0\\u01F4\\u01F5\\u01F8-\\u021B"
+          + "\\u021E\\u021F\\u0226-\\u0233\\u0300-\\u034E\\u0350-\\u036F"
+          + "\\u0374\\u037E\\u0385-\\u038A\\u038C\\u038E-\\u0390\\u03AA-"
+          + "\\u03B0\\u03CA-\\u03CE\\u03D3\\u03D4\\u0400\\u0401\\u0403\\u0407"
+          + "\\u040C-\\u040E\\u0419\\u0439\\u0450\\u0451\\u0453\\u0457\\u045C"
+          + "-\\u045E\\u0476\\u0477\\u0483-\\u0486\\u04C1\\u04C2\\u04D0-"
+          + "\\u04D3\\u04D6\\u04D7\\u04DA-\\u04DF\\u04E2-\\u04E7\\u04EA-"
+          + "\\u04F5\\u04F8\\u04F9\\u0591-\\u05B9\\u05BB-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4"
+          + "\\u05C5\\u05C7\\u0610-\\u0615\\u0622-\\u0626\\u064B-\\u065E\\u0670"
+          + "\\u06C0\\u06C2\\u06D3\\u06D6-\\u06DC\\u06DF-\\u06E4\\u06E7"
+          + "\\u06E8\\u06EA-\\u06ED\\u0711\\u0730-\\u074A\\u0929\\u0931"
+          + "\\u0934\\u093C\\u094D\\u0951-\\u0954\\u0958-\\u095F\\u09BC"
+          + "\\u09CB-\\u09CD\\u09DC\\u09DD\\u09DF\\u0A33\\u0A36\\u0A3C\\u0A4D"
+          + "\\u0A59-\\u0A5B\\u0A5E\\u0ABC\\u0ACD\\u0B3C\\u0B48\\u0B4B-"
+          + "\\u0B4D\\u0B5C\\u0B5D\\u0B94\\u0BCA-\\u0BCD\\u0C48\\u0C4D\\u0C55"
+          + "\\u0C56\\u0CBC\\u0CC0\\u0CC7\\u0CC8\\u0CCA\\u0CCB\\u0CCD\\u0D4A-"
+          + "\\u0D4D\\u0DCA\\u0DDA\\u0DDC-\\u0DDE\\u0E38-\\u0E3A\\u0E48-"
+          + "\\u0E4B\\u0EB8\\u0EB9\\u0EC8-\\u0ECB\\u0F18\\u0F19\\u0F35\\u0F37"
+          + "\\u0F39\\u0F43\\u0F4D\\u0F52\\u0F57\\u0F5C\\u0F69\\u0F71-\\u0F76"
+          + "\\u0F78\\u0F7A-\\u0F7D\\u0F80-\\u0F84\\u0F86\\u0F87\\u0F93"
+          + "\\u0F9D\\u0FA2\\u0FA7\\u0FAC\\u0FB9\\u0FC6\\u1026\\u1037\\u1039"
+          + "\\u135F\\u1714\\u1734\\u17D2\\u17DD\\u18A9\\u1939-\\u193B\\u1A17"
+          + "\\u1A18\\u1DC0-\\u1DC3\\u1E00-\\u1E99\\u1E9B\\u1EA0-\\u1EF9"
+          + "\\u1F00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D"
+          + "\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-"
+          + "\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC1-\\u1FC4\\u1FC6-\\u1FD3"
+          + "\\u1FD6-\\u1FDB\\u1FDD-\\u1FEF\\u1FF2-\\u1FF4\\u1FF6-\\u1FFD"
+          + "\\u2000\\u2001\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20EB\\u2126"
+          + "\\u212A\\u212B\\u219A\\u219B\\u21AE\\u21CD-\\u21CF\\u2204\\u2209"
+          + "\\u220C\\u2224\\u2226\\u2241\\u2244\\u2247\\u2249\\u2260\\u2262"
+          + "\\u226D-\\u2271\\u2274\\u2275\\u2278\\u2279\\u2280\\u2281\\u2284"
+          + "\\u2285\\u2288\\u2289\\u22AC-\\u22AF\\u22E0-\\u22E3\\u22EA-"
+          + "\\u22ED\\u2329\\u232A\\u2ADC\\u302A-\\u302F\\u304C\\u304E\\u3050"
+          + "\\u3052\\u3054\\u3056\\u3058\\u305A\\u305C\\u305E\\u3060\\u3062"
+          + "\\u3065\\u3067\\u3069\\u3070\\u3071\\u3073\\u3074\\u3076\\u3077"
+          + "\\u3079\\u307A\\u307C\\u307D\\u3094\\u3099\\u309A\\u309E\\u30AC"
+          + "\\u30AE\\u30B0\\u30B2\\u30B4\\u30B6\\u30B8\\u30BA\\u30BC\\u30BE"
+          + "\\u30C0\\u30C2\\u30C5\\u30C7\\u30C9\\u30D0\\u30D1\\u30D3\\u30D4"
+          + "\\u30D6\\u30D7\\u30D9\\u30DA\\u30DC\\u30DD\\u30F4\\u30F7-\\u30FA"
+          + "\\u30FE\\uA806\\uAC00-\\uD7A3\\uF900-\\uFA0D\\uFA10\\uFA12"
+          + "\\uFA15-\\uFA1E\\uFA20\\uFA22\\uFA25\\uFA26\\uFA2A-\\uFA2D"
+          + "\\uFA30-\\uFA6A\\uFA70-\\uFAD9\\uFB1D-\\uFB1F\\uFB2A-\\uFB36"
+          + "\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-"
+          + "\\uFB4E\\uFE20-\\uFE23\\U00010A0D\\U00010A0F\\U00010A38-\\U00010"
+          + "A3A\\U00010A3F\\U0001D15E-\\U0001D169\\U0001D16D-\\U0001D172"
+          + "\\U0001D17B-\\U0001D182\\U0001D185-\\U0001D18B\\U0001D1AA-"
+          + "\\U0001D1AD\\U0001D1BB-\\U0001D1C0\\U0001D242-\\U0001D244\\U0002"
+          + "F800-\\U0002FA1D]", false);
+
+      skipSets[C].applyPattern(
+            "[^<->A-PR-Za-pr-z\\u00A8\\u00C0-\\u00CF\\u00D1-\\u00D6\\u00D8-"
+          + "\\u00DD\\u00E0-\\u00EF\\u00F1-\\u00F6\\u00F8-\\u00FD\\u00FF-"
+          + "\\u0103\\u0106-\\u010F\\u0112-\\u0117\\u011A-\\u0121\\u0124"
+          + "\\u0125\\u0128-\\u012D\\u0130\\u0139\\u013A\\u013D\\u013E\\u0143"
+          + "\\u0144\\u0147\\u0148\\u014C-\\u0151\\u0154\\u0155\\u0158-"
+          + "\\u015D\\u0160\\u0161\\u0164\\u0165\\u0168-\\u0171\\u0174-"
+          + "\\u017F\\u01A0\\u01A1\\u01AF\\u01B0\\u01B7\\u01CD-\\u01DC\\u01DE"
+          + "-\\u01E1\\u01E6-\\u01EB\\u01F4\\u01F5\\u01F8-\\u01FB\\u0200-"
+          + "\\u021B\\u021E\\u021F\\u0226-\\u0233\\u0292\\u0300-\\u034E"
+          + "\\u0350-\\u036F\\u0374\\u037E\\u0387\\u0391\\u0395\\u0397\\u0399"
+          + "\\u039F\\u03A1\\u03A5\\u03A9\\u03AC\\u03AE\\u03B1\\u03B5\\u03B7"
+          + "\\u03B9\\u03BF\\u03C1\\u03C5\\u03C9-\\u03CB\\u03CE\\u03D2\\u0406"
+          + "\\u0410\\u0413\\u0415-\\u0418\\u041A\\u041E\\u0423\\u0427\\u042B"
+          + "\\u042D\\u0430\\u0433\\u0435-\\u0438\\u043A\\u043E\\u0443\\u0447"
+          + "\\u044B\\u044D\\u0456\\u0474\\u0475\\u0483-\\u0486\\u04D8\\u04D9"
+          + "\\u04E8\\u04E9\\u0591-\\u05B9\\u05BB-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7"
+          + "\\u0610-\\u0615\\u0622\\u0623\\u0627\\u0648\\u064A-\\u065E"
+          + "\\u0670\\u06C1\\u06D2\\u06D5-\\u06DC\\u06DF-\\u06E4\\u06E7"
+          + "\\u06E8\\u06EA-\\u06ED\\u0711\\u0730-\\u074A\\u0928\\u0930"
+          + "\\u0933\\u093C\\u094D\\u0951-\\u0954\\u0958-\\u095F\\u09BC"
+          + "\\u09BE\\u09C7\\u09CD\\u09D7\\u09DC\\u09DD\\u09DF\\u0A33\\u0A36"
+          + "\\u0A3C\\u0A4D\\u0A59-\\u0A5B\\u0A5E\\u0ABC\\u0ACD\\u0B3C\\u0B3E"
+          + "\\u0B47\\u0B4D\\u0B56\\u0B57\\u0B5C\\u0B5D\\u0B92\\u0BBE\\u0BC6"
+          + "\\u0BC7\\u0BCD\\u0BD7\\u0C46\\u0C4D\\u0C55\\u0C56\\u0CBC\\u0CBF"
+          + "\\u0CC2\\u0CC6\\u0CCA\\u0CCD\\u0CD5\\u0CD6\\u0D3E\\u0D46\\u0D47"
+          + "\\u0D4D\\u0D57\\u0DCA\\u0DCF\\u0DD9\\u0DDC\\u0DDF\\u0E38-\\u0E3A"
+          + "\\u0E48-\\u0E4B\\u0EB8\\u0EB9\\u0EC8-\\u0ECB\\u0F18\\u0F19"
+          + "\\u0F35\\u0F37\\u0F39\\u0F43\\u0F4D\\u0F52\\u0F57\\u0F5C\\u0F69"
+          + "\\u0F71-\\u0F76\\u0F78\\u0F7A-\\u0F7D\\u0F80-\\u0F84\\u0F86"
+          + "\\u0F87\\u0F93\\u0F9D\\u0FA2\\u0FA7\\u0FAC\\u0FB9\\u0FC6\\u1025"
+          + "\\u102E\\u1037\\u1039\\u1100-\\u1112\\u1161-\\u1175\\u11A8-"
+          + "\\u11C2\\u135F\\u1714\\u1734\\u17D2\\u17DD\\u18A9\\u1939-\\u193B"
+          + "\\u1A17\\u1A18\\u1DC0-\\u1DC3\\u1E00-\\u1E03\\u1E0A-\\u1E0F"
+          + "\\u1E12-\\u1E1B\\u1E20-\\u1E27\\u1E2A-\\u1E41\\u1E44-\\u1E53"
+          + "\\u1E58-\\u1E7D\\u1E80-\\u1E87\\u1E8E-\\u1E91\\u1E96-\\u1E99"
+          + "\\u1EA0-\\u1EF3\\u1EF6-\\u1EF9\\u1F00-\\u1F11\\u1F18\\u1F19"
+          + "\\u1F20-\\u1F31\\u1F38\\u1F39\\u1F40\\u1F41\\u1F48\\u1F49\\u1F50"
+          + "\\u1F51\\u1F59\\u1F60-\\u1F71\\u1F73-\\u1F75\\u1F77\\u1F79"
+          + "\\u1F7B-\\u1F7D\\u1F80\\u1F81\\u1F88\\u1F89\\u1F90\\u1F91\\u1F98"
+          + "\\u1F99\\u1FA0\\u1FA1\\u1FA8\\u1FA9\\u1FB3\\u1FB6\\u1FBB\\u1FBC"
+          + "\\u1FBE\\u1FBF\\u1FC3\\u1FC6\\u1FC9\\u1FCB\\u1FCC\\u1FD3\\u1FDB"
+          + "\\u1FE3\\u1FEB\\u1FEE\\u1FEF\\u1FF3\\u1FF6\\u1FF9\\u1FFB-\\u1FFE"
+          + "\\u2000\\u2001\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20EB\\u2126"
+          + "\\u212A\\u212B\\u2190\\u2192\\u2194\\u21D0\\u21D2\\u21D4\\u2203"
+          + "\\u2208\\u220B\\u2223\\u2225\\u223C\\u2243\\u2245\\u2248\\u224D"
+          + "\\u2261\\u2264\\u2265\\u2272\\u2273\\u2276\\u2277\\u227A-\\u227D"
+          + "\\u2282\\u2283\\u2286\\u2287\\u2291\\u2292\\u22A2\\u22A8\\u22A9"
+          + "\\u22AB\\u22B2-\\u22B5\\u2329\\u232A\\u2ADC\\u302A-\\u302F"
+          + "\\u3046\\u304B\\u304D\\u304F\\u3051\\u3053\\u3055\\u3057\\u3059"
+          + "\\u305B\\u305D\\u305F\\u3061\\u3064\\u3066\\u3068\\u306F\\u3072"
+          + "\\u3075\\u3078\\u307B\\u3099\\u309A\\u309D\\u30A6\\u30AB\\u30AD"
+          + "\\u30AF\\u30B1\\u30B3\\u30B5\\u30B7\\u30B9\\u30BB\\u30BD\\u30BF"
+          + "\\u30C1\\u30C4\\u30C6\\u30C8\\u30CF\\u30D2\\u30D5\\u30D8\\u30DB"
+          + "\\u30EF-\\u30F2\\u30FD\\uA806\\uAC00\\uAC1C\\uAC38\\uAC54\\uAC70"
+          + "\\uAC8C\\uACA8\\uACC4\\uACE0\\uACFC\\uAD18\\uAD34\\uAD50\\uAD6C"
+          + "\\uAD88\\uADA4\\uADC0\\uADDC\\uADF8\\uAE14\\uAE30\\uAE4C\\uAE68"
+          + "\\uAE84\\uAEA0\\uAEBC\\uAED8\\uAEF4\\uAF10\\uAF2C\\uAF48\\uAF64"
+          + "\\uAF80\\uAF9C\\uAFB8\\uAFD4\\uAFF0\\uB00C\\uB028\\uB044\\uB060"
+          + "\\uB07C\\uB098\\uB0B4\\uB0D0\\uB0EC\\uB108\\uB124\\uB140\\uB15C"
+          + "\\uB178\\uB194\\uB1B0\\uB1CC\\uB1E8\\uB204\\uB220\\uB23C\\uB258"
+          + "\\uB274\\uB290\\uB2AC\\uB2C8\\uB2E4\\uB300\\uB31C\\uB338\\uB354"
+          + "\\uB370\\uB38C\\uB3A8\\uB3C4\\uB3E0\\uB3FC\\uB418\\uB434\\uB450"
+          + "\\uB46C\\uB488\\uB4A4\\uB4C0\\uB4DC\\uB4F8\\uB514\\uB530\\uB54C"
+          + "\\uB568\\uB584\\uB5A0\\uB5BC\\uB5D8\\uB5F4\\uB610\\uB62C\\uB648"
+          + "\\uB664\\uB680\\uB69C\\uB6B8\\uB6D4\\uB6F0\\uB70C\\uB728\\uB744"
+          + "\\uB760\\uB77C\\uB798\\uB7B4\\uB7D0\\uB7EC\\uB808\\uB824\\uB840"
+          + "\\uB85C\\uB878\\uB894\\uB8B0\\uB8CC\\uB8E8\\uB904\\uB920\\uB93C"
+          + "\\uB958\\uB974\\uB990\\uB9AC\\uB9C8\\uB9E4\\uBA00\\uBA1C\\uBA38"
+          + "\\uBA54\\uBA70\\uBA8C\\uBAA8\\uBAC4\\uBAE0\\uBAFC\\uBB18\\uBB34"
+          + "\\uBB50\\uBB6C\\uBB88\\uBBA4\\uBBC0\\uBBDC\\uBBF8\\uBC14\\uBC30"
+          + "\\uBC4C\\uBC68\\uBC84\\uBCA0\\uBCBC\\uBCD8\\uBCF4\\uBD10\\uBD2C"
+          + "\\uBD48\\uBD64\\uBD80\\uBD9C\\uBDB8\\uBDD4\\uBDF0\\uBE0C\\uBE28"
+          + "\\uBE44\\uBE60\\uBE7C\\uBE98\\uBEB4\\uBED0\\uBEEC\\uBF08\\uBF24"
+          + "\\uBF40\\uBF5C\\uBF78\\uBF94\\uBFB0\\uBFCC\\uBFE8\\uC004\\uC020"
+          + "\\uC03C\\uC058\\uC074\\uC090\\uC0AC\\uC0C8\\uC0E4\\uC100\\uC11C"
+          + "\\uC138\\uC154\\uC170\\uC18C\\uC1A8\\uC1C4\\uC1E0\\uC1FC\\uC218"
+          + "\\uC234\\uC250\\uC26C\\uC288\\uC2A4\\uC2C0\\uC2DC\\uC2F8\\uC314"
+          + "\\uC330\\uC34C\\uC368\\uC384\\uC3A0\\uC3BC\\uC3D8\\uC3F4\\uC410"
+          + "\\uC42C\\uC448\\uC464\\uC480\\uC49C\\uC4B8\\uC4D4\\uC4F0\\uC50C"
+          + "\\uC528\\uC544\\uC560\\uC57C\\uC598\\uC5B4\\uC5D0\\uC5EC\\uC608"
+          + "\\uC624\\uC640\\uC65C\\uC678\\uC694\\uC6B0\\uC6CC\\uC6E8\\uC704"
+          + "\\uC720\\uC73C\\uC758\\uC774\\uC790\\uC7AC\\uC7C8\\uC7E4\\uC800"
+          + "\\uC81C\\uC838\\uC854\\uC870\\uC88C\\uC8A8\\uC8C4\\uC8E0\\uC8FC"
+          + "\\uC918\\uC934\\uC950\\uC96C\\uC988\\uC9A4\\uC9C0\\uC9DC\\uC9F8"
+          + "\\uCA14\\uCA30\\uCA4C\\uCA68\\uCA84\\uCAA0\\uCABC\\uCAD8\\uCAF4"
+          + "\\uCB10\\uCB2C\\uCB48\\uCB64\\uCB80\\uCB9C\\uCBB8\\uCBD4\\uCBF0"
+          + "\\uCC0C\\uCC28\\uCC44\\uCC60\\uCC7C\\uCC98\\uCCB4\\uCCD0\\uCCEC"
+          + "\\uCD08\\uCD24\\uCD40\\uCD5C\\uCD78\\uCD94\\uCDB0\\uCDCC\\uCDE8"
+          + "\\uCE04\\uCE20\\uCE3C\\uCE58\\uCE74\\uCE90\\uCEAC\\uCEC8\\uCEE4"
+          + "\\uCF00\\uCF1C\\uCF38\\uCF54\\uCF70\\uCF8C\\uCFA8\\uCFC4\\uCFE0"
+          + "\\uCFFC\\uD018\\uD034\\uD050\\uD06C\\uD088\\uD0A4\\uD0C0\\uD0DC"
+          + "\\uD0F8\\uD114\\uD130\\uD14C\\uD168\\uD184\\uD1A0\\uD1BC\\uD1D8"
+          + "\\uD1F4\\uD210\\uD22C\\uD248\\uD264\\uD280\\uD29C\\uD2B8\\uD2D4"
+          + "\\uD2F0\\uD30C\\uD328\\uD344\\uD360\\uD37C\\uD398\\uD3B4\\uD3D0"
+          + "\\uD3EC\\uD408\\uD424\\uD440\\uD45C\\uD478\\uD494\\uD4B0\\uD4CC"
+          + "\\uD4E8\\uD504\\uD520\\uD53C\\uD558\\uD574\\uD590\\uD5AC\\uD5C8"
+          + "\\uD5E4\\uD600\\uD61C\\uD638\\uD654\\uD670\\uD68C\\uD6A8\\uD6C4"
+          + "\\uD6E0\\uD6FC\\uD718\\uD734\\uD750\\uD76C\\uD788\\uF900-\\uFA0D"
+          + "\\uFA10\\uFA12\\uFA15-\\uFA1E\\uFA20\\uFA22\\uFA25\\uFA26\\uFA2A"
+          + "-\\uFA2D\\uFA30-\\uFA6A\\uFA70-\\uFAD9\\uFB1D-\\uFB1F\\uFB2A-"
+          + "\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46"
+          + "-\\uFB4E\\uFE20-\\uFE23\\U00010A0D\\U00010A0F\\U00010A38-\\U0001"
+          + "0A3A\\U00010A3F\\U0001D15E-\\U0001D169\\U0001D16D-\\U0001D172"
+          + "\\U0001D17B-\\U0001D182\\U0001D185-\\U0001D18B\\U0001D1AA-"
+          + "\\U0001D1AD\\U0001D1BB-\\U0001D1C0\\U0001D242-\\U0001D244\\U0002"
+          + "F800-\\U0002FA1D]", false);
+
+        skipSets[KD].applyPattern(
+            "[^\\u00A0\\u00A8\\u00AA\\u00AF\\u00B2-\\u00B5\\u00B8-\\u00BA"
+          + "\\u00BC-\\u00BE\\u00C0-\\u00C5\\u00C7-\\u00CF\\u00D1-\\u00D6"
+          + "\\u00D9-\\u00DD\\u00E0-\\u00E5\\u00E7-\\u00EF\\u00F1-\\u00F6"
+          + "\\u00F9-\\u00FD\\u00FF-\\u010F\\u0112-\\u0125\\u0128-\\u0130"
+          + "\\u0132-\\u0137\\u0139-\\u0140\\u0143-\\u0149\\u014C-\\u0151"
+          + "\\u0154-\\u0165\\u0168-\\u017F\\u01A0\\u01A1\\u01AF\\u01B0"
+          + "\\u01C4-\\u01DC\\u01DE-\\u01E3\\u01E6-\\u01F5\\u01F8-\\u021B"
+          + "\\u021E\\u021F\\u0226-\\u0233\\u02B0-\\u02B8\\u02D8-\\u02DD"
+          + "\\u02E0-\\u02E4\\u0300-\\u034E\\u0350-\\u036F\\u0374\\u037A"
+          + "\\u037E\\u0384-\\u038A\\u038C\\u038E-\\u0390\\u03AA-\\u03B0"
+          + "\\u03CA-\\u03CE\\u03D0-\\u03D6\\u03F0-\\u03F2\\u03F4\\u03F5"
+          + "\\u03F9\\u0400\\u0401\\u0403\\u0407\\u040C-\\u040E\\u0419\\u0439"
+          + "\\u0450\\u0451\\u0453\\u0457\\u045C-\\u045E\\u0476\\u0477\\u0483"
+          + "-\\u0486\\u04C1\\u04C2\\u04D0-\\u04D3\\u04D6\\u04D7\\u04DA-"
+          + "\\u04DF\\u04E2-\\u04E7\\u04EA-\\u04F5\\u04F8\\u04F9\\u0587"
+          + "\\u0591-\\u05B9\\u05BB-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u0610-"
+          + "\\u0615\\u0622-\\u0626\\u064B-\\u065E\\u0670\\u0675-\\u0678"
+          + "\\u06C0\\u06C2\\u06D3\\u06D6-\\u06DC\\u06DF-\\u06E4\\u06E7"
+          + "\\u06E8\\u06EA-\\u06ED\\u0711\\u0730-\\u074A\\u0929\\u0931"
+          + "\\u0934\\u093C\\u094D\\u0951-\\u0954\\u0958-\\u095F\\u09BC"
+          + "\\u09CB-\\u09CD\\u09DC\\u09DD\\u09DF\\u0A33\\u0A36\\u0A3C\\u0A4D"
+          + "\\u0A59-\\u0A5B\\u0A5E\\u0ABC\\u0ACD\\u0B3C\\u0B48\\u0B4B-"
+          + "\\u0B4D\\u0B5C\\u0B5D\\u0B94\\u0BCA-\\u0BCD\\u0C48\\u0C4D\\u0C55"
+          + "\\u0C56\\u0CBC\\u0CC0\\u0CC7\\u0CC8\\u0CCA\\u0CCB\\u0CCD\\u0D4A-"
+          + "\\u0D4D\\u0DCA\\u0DDA\\u0DDC-\\u0DDE\\u0E33\\u0E38-\\u0E3A"
+          + "\\u0E48-\\u0E4B\\u0EB3\\u0EB8\\u0EB9\\u0EC8-\\u0ECB\\u0EDC"
+          + "\\u0EDD\\u0F0C\\u0F18\\u0F19\\u0F35\\u0F37\\u0F39\\u0F43\\u0F4D"
+          + "\\u0F52\\u0F57\\u0F5C\\u0F69\\u0F71-\\u0F7D\\u0F80-\\u0F84"
+          + "\\u0F86\\u0F87\\u0F93\\u0F9D\\u0FA2\\u0FA7\\u0FAC\\u0FB9\\u0FC6"
+          + "\\u1026\\u1037\\u1039\\u10FC\\u135F\\u1714\\u1734\\u17D2\\u17DD"
+          + "\\u18A9\\u1939-\\u193B\\u1A17\\u1A18\\u1D2C-\\u1D2E\\u1D30-"
+          + "\\u1D3A\\u1D3C-\\u1D4D\\u1D4F-\\u1D6A\\u1D78\\u1D9B-\\u1DC3"
+          + "\\u1E00-\\u1E9B\\u1EA0-\\u1EF9\\u1F00-\\u1F15\\u1F18-\\u1F1D"
+          + "\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B"
+          + "\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FC4\\u1FC6-"
+          + "\\u1FD3\\u1FD6-\\u1FDB\\u1FDD-\\u1FEF\\u1FF2-\\u1FF4\\u1FF6-"
+          + "\\u1FFE\\u2000-\\u200A\\u2011\\u2017\\u2024-\\u2026\\u202F"
+          + "\\u2033\\u2034\\u2036\\u2037\\u203C\\u203E\\u2047-\\u2049\\u2057"
+          + "\\u205F\\u2070\\u2071\\u2074-\\u208E\\u2090-\\u2094\\u20A8"
+          + "\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20EB\\u2100-\\u2103\\u2105-"
+          + "\\u2107\\u2109-\\u2113\\u2115\\u2116\\u2119-\\u211D\\u2120-"
+          + "\\u2122\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2131"
+          + "\\u2133-\\u2139\\u213B-\\u2140\\u2145-\\u2149\\u2153-\\u217F"
+          + "\\u219A\\u219B\\u21AE\\u21CD-\\u21CF\\u2204\\u2209\\u220C\\u2224"
+          + "\\u2226\\u222C\\u222D\\u222F\\u2230\\u2241\\u2244\\u2247\\u2249"
+          + "\\u2260\\u2262\\u226D-\\u2271\\u2274\\u2275\\u2278\\u2279\\u2280"
+          + "\\u2281\\u2284\\u2285\\u2288\\u2289\\u22AC-\\u22AF\\u22E0-"
+          + "\\u22E3\\u22EA-\\u22ED\\u2329\\u232A\\u2460-\\u24EA\\u2A0C"
+          + "\\u2A74-\\u2A76\\u2ADC\\u2D6F\\u2E9F\\u2EF3\\u2F00-\\u2FD5"
+          + "\\u3000\\u302A-\\u302F\\u3036\\u3038-\\u303A\\u304C\\u304E"
+          + "\\u3050\\u3052\\u3054\\u3056\\u3058\\u305A\\u305C\\u305E\\u3060"
+          + "\\u3062\\u3065\\u3067\\u3069\\u3070\\u3071\\u3073\\u3074\\u3076"
+          + "\\u3077\\u3079\\u307A\\u307C\\u307D\\u3094\\u3099-\\u309C\\u309E"
+          + "\\u309F\\u30AC\\u30AE\\u30B0\\u30B2\\u30B4\\u30B6\\u30B8\\u30BA"
+          + "\\u30BC\\u30BE\\u30C0\\u30C2\\u30C5\\u30C7\\u30C9\\u30D0\\u30D1"
+          + "\\u30D3\\u30D4\\u30D6\\u30D7\\u30D9\\u30DA\\u30DC\\u30DD\\u30F4"
+          + "\\u30F7-\\u30FA\\u30FE\\u30FF\\u3131-\\u318E\\u3192-\\u319F"
+          + "\\u3200-\\u321E\\u3220-\\u3243\\u3250-\\u327E\\u3280-\\u32FE"
+          + "\\u3300-\\u33FF\\uA806\\uAC00-\\uD7A3\\uF900-\\uFA0D\\uFA10"
+          + "\\uFA12\\uFA15-\\uFA1E\\uFA20\\uFA22\\uFA25\\uFA26\\uFA2A-"
+          + "\\uFA2D\\uFA30-\\uFA6A\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-"
+          + "\\uFB17\\uFB1D-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41"
+          + "\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F"
+          + "\\uFD92-\\uFDC7\\uFDF0-\\uFDFC\\uFE10-\\uFE19\\uFE20-\\uFE23"
+          + "\\uFE30-\\uFE44\\uFE47-\\uFE52\\uFE54-\\uFE66\\uFE68-\\uFE6B"
+          + "\\uFE70-\\uFE72\\uFE74\\uFE76-\\uFEFC\\uFF01-\\uFFBE\\uFFC2-"
+          + "\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC\\uFFE0-"
+          + "\\uFFE6\\uFFE8-\\uFFEE\\U00010A0D\\U00010A0F\\U00010A38-\\U00010"
+          + "A3A\\U00010A3F\\U0001D15E-\\U0001D169\\U0001D16D-\\U0001D172"
+          + "\\U0001D17B-\\U0001D182\\U0001D185-\\U0001D18B\\U0001D1AA-"
+          + "\\U0001D1AD\\U0001D1BB-\\U0001D1C0\\U0001D242-\\U0001D244\\U0001"
+          + "D400-\\U0001D454\\U0001D456-\\U0001D49C\\U0001D49E\\U0001D49F"
+          + "\\U0001D4A2\\U0001D4A5\\U0001D4A6\\U0001D4A9-\\U0001D4AC\\U0001D"
+          + "4AE-\\U0001D4B9\\U0001D4BB\\U0001D4BD-\\U0001D4C3\\U0001D4C5-"
+          + "\\U0001D505\\U0001D507-\\U0001D50A\\U0001D50D-\\U0001D514\\U0001"
+          + "D516-\\U0001D51C\\U0001D51E-\\U0001D539\\U0001D53B-\\U0001D53E"
+          + "\\U0001D540-\\U0001D544\\U0001D546\\U0001D54A-\\U0001D550\\U0001"
+          + "D552-\\U0001D6A5\\U0001D6A8-\\U0001D7C9\\U0001D7CE-\\U0001D7FF"
+          + "\\U0002F800-\\U0002FA1D]", false);
+
+        skipSets[KC].applyPattern(
+            "[^<->A-PR-Za-pr-z\\u00A0\\u00A8\\u00AA\\u00AF\\u00B2-\\u00B5"
+          + "\\u00B8-\\u00BA\\u00BC-\\u00BE\\u00C0-\\u00CF\\u00D1-\\u00D6"
+          + "\\u00D8-\\u00DD\\u00E0-\\u00EF\\u00F1-\\u00F6\\u00F8-\\u00FD"
+          + "\\u00FF-\\u0103\\u0106-\\u010F\\u0112-\\u0117\\u011A-\\u0121"
+          + "\\u0124\\u0125\\u0128-\\u012D\\u0130\\u0132\\u0133\\u0139\\u013A"
+          + "\\u013D-\\u0140\\u0143\\u0144\\u0147-\\u0149\\u014C-\\u0151"
+          + "\\u0154\\u0155\\u0158-\\u015D\\u0160\\u0161\\u0164\\u0165\\u0168"
+          + "-\\u0171\\u0174-\\u017F\\u01A0\\u01A1\\u01AF\\u01B0\\u01B7"
+          + "\\u01C4-\\u01DC\\u01DE-\\u01E1\\u01E6-\\u01EB\\u01F1-\\u01F5"
+          + "\\u01F8-\\u01FB\\u0200-\\u021B\\u021E\\u021F\\u0226-\\u0233"
+          + "\\u0292\\u02B0-\\u02B8\\u02D8-\\u02DD\\u02E0-\\u02E4\\u0300-"
+          + "\\u034E\\u0350-\\u036F\\u0374\\u037A\\u037E\\u0384\\u0385\\u0387"
+          + "\\u0391\\u0395\\u0397\\u0399\\u039F\\u03A1\\u03A5\\u03A9\\u03AC"
+          + "\\u03AE\\u03B1\\u03B5\\u03B7\\u03B9\\u03BF\\u03C1\\u03C5\\u03C9-"
+          + "\\u03CB\\u03CE\\u03D0-\\u03D6\\u03F0-\\u03F2\\u03F4\\u03F5"
+          + "\\u03F9\\u0406\\u0410\\u0413\\u0415-\\u0418\\u041A\\u041E\\u0423"
+          + "\\u0427\\u042B\\u042D\\u0430\\u0433\\u0435-\\u0438\\u043A\\u043E"
+          + "\\u0443\\u0447\\u044B\\u044D\\u0456\\u0474\\u0475\\u0483-\\u0486"
+          + "\\u04D8\\u04D9\\u04E8\\u04E9\\u0587\\u0591-\\u05B9\\u05BB-\\u05BD\\u05BF\\u05C1"
+          + "\\u05C2\\u05C4\\u05C5\\u05C7\\u0610-\\u0615\\u0622\\u0623\\u0627\\u0648"
+          + "\\u064A-\\u065E\\u0670\\u0675-\\u0678\\u06C1\\u06D2\\u06D5-"
+          + "\\u06DC\\u06DF-\\u06E4\\u06E7\\u06E8\\u06EA-\\u06ED\\u0711"
+          + "\\u0730-\\u074A\\u0928\\u0930\\u0933\\u093C\\u094D\\u0951-"
+          + "\\u0954\\u0958-\\u095F\\u09BC\\u09BE\\u09C7\\u09CD\\u09D7\\u09DC"
+          + "\\u09DD\\u09DF\\u0A33\\u0A36\\u0A3C\\u0A4D\\u0A59-\\u0A5B\\u0A5E"
+          + "\\u0ABC\\u0ACD\\u0B3C\\u0B3E\\u0B47\\u0B4D\\u0B56\\u0B57\\u0B5C"
+          + "\\u0B5D\\u0B92\\u0BBE\\u0BC6\\u0BC7\\u0BCD\\u0BD7\\u0C46\\u0C4D"
+          + "\\u0C55\\u0C56\\u0CBC\\u0CBF\\u0CC2\\u0CC6\\u0CCA\\u0CCD\\u0CD5"
+          + "\\u0CD6\\u0D3E\\u0D46\\u0D47\\u0D4D\\u0D57\\u0DCA\\u0DCF\\u0DD9"
+          + "\\u0DDC\\u0DDF\\u0E33\\u0E38-\\u0E3A\\u0E48-\\u0E4B\\u0EB3"
+          + "\\u0EB8\\u0EB9\\u0EC8-\\u0ECB\\u0EDC\\u0EDD\\u0F0C\\u0F18\\u0F19"
+          + "\\u0F35\\u0F37\\u0F39\\u0F43\\u0F4D\\u0F52\\u0F57\\u0F5C\\u0F69"
+          + "\\u0F71-\\u0F7D\\u0F80-\\u0F84\\u0F86\\u0F87\\u0F93\\u0F9D"
+          + "\\u0FA2\\u0FA7\\u0FAC\\u0FB9\\u0FC6\\u1025\\u102E\\u1037\\u1039"
+          + "\\u10FC\\u1100-\\u1112\\u1161-\\u1175\\u11A8-\\u11C2\\u135F"
+          + "\\u1714\\u1734\\u17D2\\u17DD\\u18A9\\u1939-\\u193B\\u1A17\\u1A18"
+          + "\\u1D2C-\\u1D2E\\u1D30-\\u1D3A\\u1D3C-\\u1D4D\\u1D4F-\\u1D6A"
+          + "\\u1D78\\u1D9B-\\u1DC3\\u1E00-\\u1E03\\u1E0A-\\u1E0F\\u1E12-"
+          + "\\u1E1B\\u1E20-\\u1E27\\u1E2A-\\u1E41\\u1E44-\\u1E53\\u1E58-"
+          + "\\u1E7D\\u1E80-\\u1E87\\u1E8E-\\u1E91\\u1E96-\\u1E9B\\u1EA0-"
+          + "\\u1EF3\\u1EF6-\\u1EF9\\u1F00-\\u1F11\\u1F18\\u1F19\\u1F20-"
+          + "\\u1F31\\u1F38\\u1F39\\u1F40\\u1F41\\u1F48\\u1F49\\u1F50\\u1F51"
+          + "\\u1F59\\u1F60-\\u1F71\\u1F73-\\u1F75\\u1F77\\u1F79\\u1F7B-"
+          + "\\u1F7D\\u1F80\\u1F81\\u1F88\\u1F89\\u1F90\\u1F91\\u1F98\\u1F99"
+          + "\\u1FA0\\u1FA1\\u1FA8\\u1FA9\\u1FB3\\u1FB6\\u1FBB-\\u1FC1\\u1FC3"
+          + "\\u1FC6\\u1FC9\\u1FCB-\\u1FCF\\u1FD3\\u1FDB\\u1FDD-\\u1FDF"
+          + "\\u1FE3\\u1FEB\\u1FED-\\u1FEF\\u1FF3\\u1FF6\\u1FF9\\u1FFB-"
+          + "\\u1FFE\\u2000-\\u200A\\u2011\\u2017\\u2024-\\u2026\\u202F"
+          + "\\u2033\\u2034\\u2036\\u2037\\u203C\\u203E\\u2047-\\u2049\\u2057"
+          + "\\u205F\\u2070\\u2071\\u2074-\\u208E\\u2090-\\u2094\\u20A8"
+          + "\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20EB\\u2100-\\u2103\\u2105-"
+          + "\\u2107\\u2109-\\u2113\\u2115\\u2116\\u2119-\\u211D\\u2120-"
+          + "\\u2122\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2131"
+          + "\\u2133-\\u2139\\u213B-\\u2140\\u2145-\\u2149\\u2153-\\u217F"
+          + "\\u2190\\u2192\\u2194\\u21D0\\u21D2\\u21D4\\u2203\\u2208\\u220B"
+          + "\\u2223\\u2225\\u222C\\u222D\\u222F\\u2230\\u223C\\u2243\\u2245"
+          + "\\u2248\\u224D\\u2261\\u2264\\u2265\\u2272\\u2273\\u2276\\u2277"
+          + "\\u227A-\\u227D\\u2282\\u2283\\u2286\\u2287\\u2291\\u2292\\u22A2"
+          + "\\u22A8\\u22A9\\u22AB\\u22B2-\\u22B5\\u2329\\u232A\\u2460-"
+          + "\\u24EA\\u2A0C\\u2A74-\\u2A76\\u2ADC\\u2D6F\\u2E9F\\u2EF3\\u2F00"
+          + "-\\u2FD5\\u3000\\u302A-\\u302F\\u3036\\u3038-\\u303A\\u3046"
+          + "\\u304B\\u304D\\u304F\\u3051\\u3053\\u3055\\u3057\\u3059\\u305B"
+          + "\\u305D\\u305F\\u3061\\u3064\\u3066\\u3068\\u306F\\u3072\\u3075"
+          + "\\u3078\\u307B\\u3099-\\u309D\\u309F\\u30A6\\u30AB\\u30AD\\u30AF"
+          + "\\u30B1\\u30B3\\u30B5\\u30B7\\u30B9\\u30BB\\u30BD\\u30BF\\u30C1"
+          + "\\u30C4\\u30C6\\u30C8\\u30CF\\u30D2\\u30D5\\u30D8\\u30DB\\u30EF-"
+          + "\\u30F2\\u30FD\\u30FF\\u3131-\\u318E\\u3192-\\u319F\\u3200-"
+          + "\\u321E\\u3220-\\u3243\\u3250-\\u327E\\u3280-\\u32FE\\u3300-"
+          + "\\u33FF\\uA806\\uAC00\\uAC1C\\uAC38\\uAC54\\uAC70\\uAC8C\\uACA8"
+          + "\\uACC4\\uACE0\\uACFC\\uAD18\\uAD34\\uAD50\\uAD6C\\uAD88\\uADA4"
+          + "\\uADC0\\uADDC\\uADF8\\uAE14\\uAE30\\uAE4C\\uAE68\\uAE84\\uAEA0"
+          + "\\uAEBC\\uAED8\\uAEF4\\uAF10\\uAF2C\\uAF48\\uAF64\\uAF80\\uAF9C"
+          + "\\uAFB8\\uAFD4\\uAFF0\\uB00C\\uB028\\uB044\\uB060\\uB07C\\uB098"
+          + "\\uB0B4\\uB0D0\\uB0EC\\uB108\\uB124\\uB140\\uB15C\\uB178\\uB194"
+          + "\\uB1B0\\uB1CC\\uB1E8\\uB204\\uB220\\uB23C\\uB258\\uB274\\uB290"
+          + "\\uB2AC\\uB2C8\\uB2E4\\uB300\\uB31C\\uB338\\uB354\\uB370\\uB38C"
+          + "\\uB3A8\\uB3C4\\uB3E0\\uB3FC\\uB418\\uB434\\uB450\\uB46C\\uB488"
+          + "\\uB4A4\\uB4C0\\uB4DC\\uB4F8\\uB514\\uB530\\uB54C\\uB568\\uB584"
+          + "\\uB5A0\\uB5BC\\uB5D8\\uB5F4\\uB610\\uB62C\\uB648\\uB664\\uB680"
+          + "\\uB69C\\uB6B8\\uB6D4\\uB6F0\\uB70C\\uB728\\uB744\\uB760\\uB77C"
+          + "\\uB798\\uB7B4\\uB7D0\\uB7EC\\uB808\\uB824\\uB840\\uB85C\\uB878"
+          + "\\uB894\\uB8B0\\uB8CC\\uB8E8\\uB904\\uB920\\uB93C\\uB958\\uB974"
+          + "\\uB990\\uB9AC\\uB9C8\\uB9E4\\uBA00\\uBA1C\\uBA38\\uBA54\\uBA70"
+          + "\\uBA8C\\uBAA8\\uBAC4\\uBAE0\\uBAFC\\uBB18\\uBB34\\uBB50\\uBB6C"
+          + "\\uBB88\\uBBA4\\uBBC0\\uBBDC\\uBBF8\\uBC14\\uBC30\\uBC4C\\uBC68"
+          + "\\uBC84\\uBCA0\\uBCBC\\uBCD8\\uBCF4\\uBD10\\uBD2C\\uBD48\\uBD64"
+          + "\\uBD80\\uBD9C\\uBDB8\\uBDD4\\uBDF0\\uBE0C\\uBE28\\uBE44\\uBE60"
+          + "\\uBE7C\\uBE98\\uBEB4\\uBED0\\uBEEC\\uBF08\\uBF24\\uBF40\\uBF5C"
+          + "\\uBF78\\uBF94\\uBFB0\\uBFCC\\uBFE8\\uC004\\uC020\\uC03C\\uC058"
+          + "\\uC074\\uC090\\uC0AC\\uC0C8\\uC0E4\\uC100\\uC11C\\uC138\\uC154"
+          + "\\uC170\\uC18C\\uC1A8\\uC1C4\\uC1E0\\uC1FC\\uC218\\uC234\\uC250"
+          + "\\uC26C\\uC288\\uC2A4\\uC2C0\\uC2DC\\uC2F8\\uC314\\uC330\\uC34C"
+          + "\\uC368\\uC384\\uC3A0\\uC3BC\\uC3D8\\uC3F4\\uC410\\uC42C\\uC448"
+          + "\\uC464\\uC480\\uC49C\\uC4B8\\uC4D4\\uC4F0\\uC50C\\uC528\\uC544"
+          + "\\uC560\\uC57C\\uC598\\uC5B4\\uC5D0\\uC5EC\\uC608\\uC624\\uC640"
+          + "\\uC65C\\uC678\\uC694\\uC6B0\\uC6CC\\uC6E8\\uC704\\uC720\\uC73C"
+          + "\\uC758\\uC774\\uC790\\uC7AC\\uC7C8\\uC7E4\\uC800\\uC81C\\uC838"
+          + "\\uC854\\uC870\\uC88C\\uC8A8\\uC8C4\\uC8E0\\uC8FC\\uC918\\uC934"
+          + "\\uC950\\uC96C\\uC988\\uC9A4\\uC9C0\\uC9DC\\uC9F8\\uCA14\\uCA30"
+          + "\\uCA4C\\uCA68\\uCA84\\uCAA0\\uCABC\\uCAD8\\uCAF4\\uCB10\\uCB2C"
+          + "\\uCB48\\uCB64\\uCB80\\uCB9C\\uCBB8\\uCBD4\\uCBF0\\uCC0C\\uCC28"
+          + "\\uCC44\\uCC60\\uCC7C\\uCC98\\uCCB4\\uCCD0\\uCCEC\\uCD08\\uCD24"
+          + "\\uCD40\\uCD5C\\uCD78\\uCD94\\uCDB0\\uCDCC\\uCDE8\\uCE04\\uCE20"
+          + "\\uCE3C\\uCE58\\uCE74\\uCE90\\uCEAC\\uCEC8\\uCEE4\\uCF00\\uCF1C"
+          + "\\uCF38\\uCF54\\uCF70\\uCF8C\\uCFA8\\uCFC4\\uCFE0\\uCFFC\\uD018"
+          + "\\uD034\\uD050\\uD06C\\uD088\\uD0A4\\uD0C0\\uD0DC\\uD0F8\\uD114"
+          + "\\uD130\\uD14C\\uD168\\uD184\\uD1A0\\uD1BC\\uD1D8\\uD1F4\\uD210"
+          + "\\uD22C\\uD248\\uD264\\uD280\\uD29C\\uD2B8\\uD2D4\\uD2F0\\uD30C"
+          + "\\uD328\\uD344\\uD360\\uD37C\\uD398\\uD3B4\\uD3D0\\uD3EC\\uD408"
+          + "\\uD424\\uD440\\uD45C\\uD478\\uD494\\uD4B0\\uD4CC\\uD4E8\\uD504"
+          + "\\uD520\\uD53C\\uD558\\uD574\\uD590\\uD5AC\\uD5C8\\uD5E4\\uD600"
+          + "\\uD61C\\uD638\\uD654\\uD670\\uD68C\\uD6A8\\uD6C4\\uD6E0\\uD6FC"
+          + "\\uD718\\uD734\\uD750\\uD76C\\uD788\\uF900-\\uFA0D\\uFA10\\uFA12"
+          + "\\uFA15-\\uFA1E\\uFA20\\uFA22\\uFA25\\uFA26\\uFA2A-\\uFA2D"
+          + "\\uFA30-\\uFA6A\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17"
+          + "\\uFB1D-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43"
+          + "\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-"
+          + "\\uFDC7\\uFDF0-\\uFDFC\\uFE10-\\uFE19\\uFE20-\\uFE23\\uFE30-"
+          + "\\uFE44\\uFE47-\\uFE52\\uFE54-\\uFE66\\uFE68-\\uFE6B\\uFE70-"
+          + "\\uFE72\\uFE74\\uFE76-\\uFEFC\\uFF01-\\uFFBE\\uFFC2-\\uFFC7"
+          + "\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC\\uFFE0-\\uFFE6"
+          + "\\uFFE8-\\uFFEE\\U00010A0D\\U00010A0F\\U00010A38-\\U00010A3A"
+          + "\\U00010A3F\\U0001D15E-\\U0001D169\\U0001D16D-\\U0001D172\\U0001"
+          + "D17B-\\U0001D182\\U0001D185-\\U0001D18B\\U0001D1AA-\\U0001D1AD"
+          + "\\U0001D1BB-\\U0001D1C0\\U0001D242-\\U0001D244\\U0001D400-"
+          + "\\U0001D454\\U0001D456-\\U0001D49C\\U0001D49E\\U0001D49F\\U0001D"
+          + "4A2\\U0001D4A5\\U0001D4A6\\U0001D4A9-\\U0001D4AC\\U0001D4AE-"
+          + "\\U0001D4B9\\U0001D4BB\\U0001D4BD-\\U0001D4C3\\U0001D4C5-\\U0001"
+          + "D505\\U0001D507-\\U0001D50A\\U0001D50D-\\U0001D514\\U0001D516-"
+          + "\\U0001D51C\\U0001D51E-\\U0001D539\\U0001D53B-\\U0001D53E\\U0001"
+          + "D540-\\U0001D544\\U0001D546\\U0001D54A-\\U0001D550\\U0001D552-"
+          + "\\U0001D6A5\\U0001D6A8-\\U0001D7C9\\U0001D7CE-\\U0001D7FF\\U0002"
+          + "F800-\\U0002FA1D]", false);
+
+        return skipSets;
+    }
+
+    public void TestSkippable() {
+       UnicodeSet starts;
+       UnicodeSet[] skipSets = new UnicodeSet[]{
+                                                    new UnicodeSet(), //NFD
+                                                    new UnicodeSet(), //NFC
+                                                    new UnicodeSet(), //NFKC
+                                                    new UnicodeSet(), //NFKD
+                                                    new UnicodeSet(), //FCD
+                                                    new UnicodeSet(), //NONE
+                                               };
+       UnicodeSet[] expectSets = new UnicodeSet[]{
+                                                    new UnicodeSet(),
+                                                    new UnicodeSet(),
+                                                    new UnicodeSet(),
+                                                    new UnicodeSet(),
+                                                    new UnicodeSet(),
+                                                    new UnicodeSet(),
+                                               };
+       StringBuffer s, pattern;
+       int start, limit, rangeEnd;
+       int i, range, count;
+       starts = new UnicodeSet();
+       /*
+       //[\u0350-\u0357\u035D-\u035F\u0610-\u0615\u0656-\u0658\u0CBC\u17DD\u1939-\u193B]
+       for(int ch=0;ch<=0x10FFFF;ch++){
+               if(Normalizer.isNFSkippable(ch, Normalizer.NFD)) {
+                   skipSets[D].add(ch);
+               }
+               if(Normalizer.isNFSkippable(ch, Normalizer.NFKD)) {
+                   skipSets[KD].add(ch);
+               }
+               if(Normalizer.isNFSkippable(ch, Normalizer.NFC)) {
+                   skipSets[C].add(ch);
+               }
+               if(Normalizer.isNFSkippable(ch, Normalizer.NFKC)) {
+                   skipSets[KC].add(ch);
+               }
+               if(Normalizer.isNFSkippable(ch, Normalizer.FCD)) {
+                   skipSets[FCD].add(ch);
+               }
+               if(Normalizer.isNFSkippable(ch, Normalizer.NONE)) {
+                   skipSets[NONE].add(ch);
+               }
+       }
+       */
+       // build NF*Skippable sets from runtime data 
+       NormalizerImpl.addPropertyStarts(starts);
+       count=starts.getRangeCount();
+   
+       start=limit=0;
+       rangeEnd=0;
+       range=0;
+       for(;;) {
+           if(start<limit) {
+               // get properties for start and apply them to [start..limit[ 
+               if(Normalizer.isNFSkippable(start, Normalizer.NFD)) {
+                   skipSets[D].add(start, limit-1);
+               }
+               if(Normalizer.isNFSkippable(start, Normalizer.NFKD)) {
+                   skipSets[KD].add(start, limit-1);
+               }
+               if(Normalizer.isNFSkippable(start, Normalizer.NFC)) {
+                   skipSets[C].add(start, limit-1);
+               }
+               if(Normalizer.isNFSkippable(start, Normalizer.NFKC)) {
+                   skipSets[KC].add(start, limit-1);
+               }
+               if(Normalizer.isNFSkippable(start, Normalizer.FCD)) {
+                   skipSets[FCD].add(start, limit-1);
+               }
+               if(Normalizer.isNFSkippable(start, Normalizer.NONE)) {
+                   skipSets[NONE].add(start, limit-1);
+               }
+               
+           }
+   
+           // go to next range of same properties 
+           start=limit;
+           if(++limit>rangeEnd) {
+               if(range<count) {
+                   limit=starts.getRangeStart(range);
+                   rangeEnd=starts.getRangeEnd(range);
+                   ++range;
+               } else if(range==count) {
+                   // additional range to complete the Unicode code space 
+                   limit=rangeEnd=0x110000;
+                   ++range;
+               } else {
+                   break;
+               }
+           }
+       }
+   
+       expectSets = initSkippables(expectSets);
+       if(expectSets[D].contains(0x0350)){
+            errln("expectSets[D] contains 0x0350");
+       }
+       //expectSets.length for now do not test FCD and NONE since there is no data
+       for(i=0; i< 4; ++i) {
+
+           if(!skipSets[i].equals(expectSets[i])) {
+               errln("error: TestSkippable skipSets["+i+"]!=expectedSets["+i+"]\n"+
+                     "may need to update hardcoded UnicodeSet patterns in com.ibm.icu.dev.test.normalizer.BasicTest.java\n"+
+                     "see ICU4J - unicodetools.com.ibm.text.UCD.NFSkippable");
+   
+               s=new StringBuffer();
+               
+               s.append("\n\nskip=       ");
+               s.append(skipSets[i].toPattern(true));
+               s.append("\n\n");
+               
+               s.append("skip-expect=");             
+               pattern = new StringBuffer(((UnicodeSet)skipSets[i].clone()).removeAll(expectSets[i]).toPattern(true));
+               s.append(pattern);
+   
+               pattern.delete(0,pattern.length());
+               s.append("\n\nexpect-skip=");
+               pattern = new StringBuffer(((UnicodeSet)expectSets[i].clone()).removeAll(skipSets[i]).toPattern(true));
+               s.append(pattern);
+               s.append("\n\n");
+               
+               pattern.delete(0,pattern.length());
+               s.append("\n\nintersection(expect,skip)=");
+               UnicodeSet intersection  = ((UnicodeSet) expectSets[i].clone()).retainAll(skipSets[i]);
+               pattern = new StringBuffer(intersection.toPattern(true));
+               s.append(pattern);
+               s.append("\n\n");
+               
+
+               
+               errln(s.toString());
+           }
+       }
+     }
+     
+     public void TestBugJ2068(){
+        String sample = "The quick brown fox jumped over the lazy dog";
+        UCharacterIterator text = UCharacterIterator.getInstance(sample);
+        Normalizer norm = new Normalizer(text,Normalizer.NFC,0);
+        text.setIndex(4);
+        if(text.current() == norm.current()){
+            errln("Normalizer is not cloning the UCharacterIterator");
+        }
+     }   
+     public void TestGetCombiningClass(){
+        for(int i=0;i<0x10FFFF;i++){
+            int cc = UCharacter.getCombiningClass(i);
+            if(0xD800<= i && i<=0xDFFF && cc >0 ){
+                cc = UCharacter.getCombiningClass(i);
+                errln("CC: "+ cc + " for codepoint: " +Utility.hex(i,8));
+            } 
+        }
+    }  
+    
+    public void TestGetNX(){
+        UnicodeSet set = NormalizerImpl.getNX(1 /*NormalizerImpl.NX_HANGUL*/);
+        if(!set.contains(0xac01)){
+            errln("getNX did not return correct set for NX_HANGUL");
+        }
+        
+        set = NormalizerImpl.getNX(2/*NormalizerImpl.NX_CJK_COMPAT*/);
+        if(!set.contains('\uFA20')){
+            errln("getNX did not return correct set for NX_CJK_COMPAT");
+        }
+    }
+    public void TestSerializedSet(){
+        USerializedSet sset=new USerializedSet();
+        UnicodeSet set = new UnicodeSet();
+        int start, end;
+    
+        // collect all sets into one for contiguous output
+        int[] startEnd = new int[2];
+
+        if(NormalizerImpl.getCanonStartSet(0x0130, sset)) {
+            int count=sset.countRanges();
+            for(int j=0; j<count; ++j) {
+                sset.getRange(j, startEnd);
+                set.add(startEnd[0], startEnd[1]);
+            }
+        }
+       
+
+        // test all of these precomposed characters
+        UnicodeSetIterator it = new UnicodeSetIterator(set);
+        while(it.nextRange() && it.codepoint!=UnicodeSetIterator.IS_STRING) {
+            start=it.codepoint;
+            end=it.codepointEnd;
+            while(start<=end) {
+                if(!sset.contains(start)){
+                    errln("USerializedSet.contains failed for "+Utility.hex(start,8));
+                }
+            }
+        }
+    }
+    
+    public void TestReturnFailure(){
+        char[] term = {'r','\u00e9','s','u','m','\u00e9' };
+        char[] decomposed_term = new char[10 + term.length + 2];
+        int rc = Normalizer.decompose(term,0,term.length, decomposed_term,0,decomposed_term.length,true, 0);
+        int rc1 = Normalizer.decompose(term,0,term.length, decomposed_term,10,decomposed_term.length,true, 0); 
+        if(rc!=rc1){
+            errln("Normalizer decompose did not return correct length");
+        }
+    }
+
+    private final static class TestCompositionCase {
+        public Normalizer.Mode mode;
+        public int options;
+        public String input, expect;
+        TestCompositionCase(Normalizer.Mode mode, int options, String input, String expect) {
+            this.mode=mode;
+            this.options=options;
+            this.input=input;
+            this.expect=expect;
+        }
+    }
+
+    public void TestComposition() {
+        final TestCompositionCase cases[]=new TestCompositionCase[]{
+            /*
+             * special cases for UAX #15 bug
+             * see Unicode Public Review Issue #29
+             * at http://www.unicode.org/review/resolved-pri.html#pri29
+             */
+            new TestCompositionCase(Normalizer.NFC, 0, "\u1100\u0300\u1161\u0327",      "\u1100\u0300\u1161\u0327"),
+            new TestCompositionCase(Normalizer.NFC, 0, "\u1100\u0300\u1161\u0327\u11a8","\u1100\u0300\u1161\u0327\u11a8"),
+            new TestCompositionCase(Normalizer.NFC, 0, "\uac00\u0300\u0327\u11a8",      "\uac00\u0327\u0300\u11a8"),
+            new TestCompositionCase(Normalizer.NFC, 0, "\u0b47\u0300\u0b3e",            "\u0b47\u0300\u0b3e"),
+
+            new TestCompositionCase(Normalizer.NFC, NormalizerImpl.BEFORE_PRI_29, "\u1100\u0300\u1161\u0327",       "\uac00\u0300\u0327"),
+            new TestCompositionCase(Normalizer.NFC, NormalizerImpl.BEFORE_PRI_29, "\u1100\u0300\u1161\u0327\u11a8", "\uac01\u0300\u0327"),
+            new TestCompositionCase(Normalizer.NFC, NormalizerImpl.BEFORE_PRI_29, "\uac00\u0300\u0327\u11a8",       "\uac01\u0327\u0300"),
+            new TestCompositionCase(Normalizer.NFC, NormalizerImpl.BEFORE_PRI_29, "\u0b47\u0300\u0b3e",             "\u0b4b\u0300")
+
+            /* TODO: add test cases for UNORM_FCC here (j2151) */
+        };
+
+        String output;
+        int i, length;
+
+        for(i=0; i<cases.length; ++i) {
+            output=Normalizer.normalize(cases[i].input, cases[i].mode, cases[i].options);
+            if(!output.equals(cases[i].expect)) {
+                errln("unexpected result for case "+i);
+            }
+        }
+    }
+}
diff --git a/src/com/ibm/icu/dev/test/normalizer/ConformanceTest.java b/src/com/ibm/icu/dev/test/normalizer/ConformanceTest.java
new file mode 100755
index 0000000..5940c06
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/normalizer/ConformanceTest.java
@@ -0,0 +1,515 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+package com.ibm.icu.dev.test.normalizer;
+
+import com.ibm.icu.dev.test.TestFmwk;
+import com.ibm.icu.dev.test.TestUtil;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.text.StringCharacterIterator;
+import com.ibm.icu.impl.Utility;
+import com.ibm.icu.text.Normalizer;
+import com.ibm.icu.text.UTF16;
+import com.ibm.icu.text.UnicodeSet;
+
+public class ConformanceTest extends TestFmwk {
+
+    Normalizer normalizer;
+
+    public static void main(String[] args) throws Exception {
+        new ConformanceTest().run(args);
+    }
+    
+    public ConformanceTest() {
+        // Doesn't matter what the string and mode are; we'll change
+        // them later as needed.
+        normalizer = new Normalizer("", Normalizer.NFC, 0);
+    }
+    // more interesting conformance test cases, not in the unicode.org NormalizationTest.txt
+    static  String[] moreCases ={
+        // Markus 2001aug30
+        "0061 0332 0308;00E4 0332;0061 0332 0308;00E4 0332;0061 0332 0308; # Markus 0",
+    
+        // Markus 2001oct26 - test edge case for iteration: U+0f73.cc==0 but decomposition.lead.cc==129
+        "0061 0301 0F73;00E1 0F71 0F72;0061 0F71 0F72 0301;00E1 0F71 0F72;0061 0F71 0F72 0301; # Markus 1"
+    };
+
+    /**
+     * Test the conformance of Normalizer to
+     * http://www.unicode.org/unicode/reports/tr15/conformance/Draft-TestSuite.txt.* http://www.unicode.org/Public/UNIDATA/NormalizationTest.txt
+     * This file must be located at the path specified as TEST_SUITE_FILE.
+     */
+    public void TestConformance() throws Exception{
+        runConformance("unicode/NormalizationTest.txt",0);
+    }
+    public void TestConformance_3_2() throws Exception{
+        runConformance("unicode/NormalizationTest-3.2.0.txt",Normalizer.UNICODE_3_2);
+    }
+    
+    public void runConformance(String fileName, int options) throws Exception{
+        BufferedReader input = null;
+        String line = null;
+        String[] fields = new String[5];
+        StringBuffer buf = new StringBuffer();
+        int passCount = 0;
+        int failCount = 0;
+        UnicodeSet other = new UnicodeSet(0, 0x10ffff);
+        int c=0;
+        try {
+            input = TestUtil.getDataReader(fileName);
+            for (int count = 0;;++count) {
+                line = input.readLine();
+                if (line == null) {
+                    //read the extra test cases
+                    if(count > moreCases.length) {
+                        count = 0;
+                    } else if(count == moreCases.length) {
+                        // all done
+                        break;
+                    }
+                    line = moreCases[count++];
+                }
+                if (line.length() == 0) continue;
+
+                // Expect 5 columns of this format:
+                // 1E0C;1E0C;0044 0323;1E0C;0044 0323; # <comments>
+
+                // Skip comments
+                if (line.charAt(0) == '#'  || line.charAt(0)=='@') continue;
+
+                // Parse out the fields
+                hexsplit(line, ';', fields, buf);
+                
+                // Remove a single code point from the "other" UnicodeSet
+                if(fields[0].length()==UTF16.moveCodePointOffset(fields[0],0, 1)) {
+                    c=UTF16.charAt(fields[0],0); 
+                    if(0xac20<=c && c<=0xd73f) {
+                        // not an exhaustive test run: skip most Hangul syllables
+                        if(c==0xac20) {
+                            other.remove(0xac20, 0xd73f);
+                        }
+                        continue;
+                    }
+                    other.remove(c);
+                }
+                if (checkConformance(fields, line,options)) {
+                    ++passCount;
+                } else {
+                    ++failCount;
+                }
+                if ((count % 1000) == 999) {
+                    logln("Line " + (count+1));
+                }
+            }
+        } catch (IOException ex) {
+            try {
+                input.close();
+            } catch (Exception ex2) {
+                System.out.print("");
+            }
+            ex.printStackTrace();
+            throw new IllegalArgumentException("Couldn't read file "
+              + ex.getClass().getName() + " " + ex.getMessage()
+              + " line = " + line
+              );
+        }
+
+        if (failCount != 0) {
+            errln("Total: " + failCount + " lines failed, " +
+                  passCount + " lines passed");
+        } else {
+            logln("Total: " + passCount + " lines passed");
+        }
+    }
+    
+    /**
+     * Verify the conformance of the given line of the Unicode
+     * normalization (UTR 15) test suite file.  For each line,
+     * there are five columns, corresponding to field[0]..field[4].
+     *
+     * The following invariants must be true for all conformant implementations
+     *  c2 == NFC(c1) == NFC(c2) == NFC(c3)
+     *  c3 == NFD(c1) == NFD(c2) == NFD(c3)
+     *  c4 == NFKC(c1) == NFKC(c2) == NFKC(c3) == NFKC(c4) == NFKC(c5)
+     *  c5 == NFKD(c1) == NFKD(c2) == NFKD(c3) == NFKD(c4) == NFKD(c5)
+     *
+     * @param field the 5 columns
+     * @param line the source line from the test suite file
+     * @return true if the test passes
+     */
+    private boolean checkConformance(String[] field, String line, int options) throws Exception{
+        boolean pass = true;
+        StringBuffer buf = new StringBuffer(); // scratch
+        String out,fcd;
+        int i=0;
+        for (i=0; i<5; ++i) {
+            if (i<3) {
+                out = Normalizer.normalize(field[i], Normalizer.NFC, options);
+                pass &= assertEqual("C", field[i], out, field[1], "c2!=C(c" + (i+1));
+                
+                out = iterativeNorm(field[i], Normalizer.NFC, buf, +1,options);
+                pass &= assertEqual("C(+1)", field[i], out, field[1], "c2!=C(c" + (i+1));
+                
+                out = iterativeNorm(field[i], Normalizer.NFC, buf, -1,options);
+                pass &= assertEqual("C(-1)", field[i], out, field[1], "c2!=C(c" + (i+1));
+
+                out = iterativeNorm(new StringCharacterIterator(field[i]), Normalizer.NFC, buf, +1,options);
+                pass &= assertEqual("C(+1)", field[i], out, field[1], "c2!=C(c" + (i+1));
+                
+                out = iterativeNorm(new StringCharacterIterator(field[i]), Normalizer.NFC, buf, -1,options);
+                pass &= assertEqual("C(-1)", field[i], out, field[1], "c2!=C(c" + (i+1));
+                 
+                out = Normalizer.normalize(field[i], Normalizer.NFD);
+                pass &= assertEqual("D", field[i], out, field[2], "c3!=D(c" + (i+1));
+                
+                out = iterativeNorm(field[i], Normalizer.NFD, buf, +1,options);
+                pass &= assertEqual("D(+1)", field[i], out, field[2], "c3!=D(c" + (i+1));
+                
+                out = iterativeNorm(field[i], Normalizer.NFD, buf, -1,options);
+                pass &= assertEqual("D(-1)", field[i], out, field[2], "c3!=D(c" + (i+1));
+
+                out = iterativeNorm(new StringCharacterIterator(field[i]), Normalizer.NFD, buf, +1,options);
+                pass &= assertEqual("D(+1)", field[i], out, field[2], "c3!=D(c" + (i+1));
+                
+                out = iterativeNorm(new StringCharacterIterator(field[i]), Normalizer.NFD, buf, -1,options);
+                pass &= assertEqual("D(-1)", field[i], out, field[2], "c3!=D(c" + (i+1));
+                
+                cross(field[2] /*NFD String*/, field[1]/*NFC String*/, Normalizer.NFC);
+                cross(field[1] /*NFC String*/, field[2]/*NFD String*/, Normalizer.NFD);
+            }
+            out = Normalizer.normalize(field[i], Normalizer.NFKC,options);
+            pass &= assertEqual("KC", field[i], out, field[3], "c4!=KC(c" + (i+1));
+            
+            out = iterativeNorm(field[i], Normalizer.NFKC, buf, +1,options);
+            pass &= assertEqual("KD(+1)", field[i], out, field[3], "c4!=KC(c" + (i+1));
+            
+            out = iterativeNorm(field[i], Normalizer.NFKC, buf, -1,options);
+            pass &= assertEqual("KD(-1)", field[i], out, field[3], "c4!=KC(c" + (i+1));
+
+            out = iterativeNorm(new StringCharacterIterator(field[i]), Normalizer.NFKC, buf, +1,options);
+            pass &= assertEqual("KD(+1)", field[i], out, field[3], "c4!=KC(c" + (i+1));
+            
+            out = iterativeNorm(new StringCharacterIterator(field[i]), Normalizer.NFKC, buf, -1,options);
+            pass &= assertEqual("KD(-1)", field[i], out, field[3], "c4!=KC(c" + (i+1));
+              
+
+            out = Normalizer.normalize(field[i], Normalizer.NFKD,options);
+            pass &= assertEqual("KD", field[i], out, field[4], "c5!=KD(c" + (i+1));
+            
+            out = iterativeNorm(field[i], Normalizer.NFKD, buf, +1,options);
+            pass &= assertEqual("KD(+1)", field[i], out, field[4], "c5!=KD(c" + (i+1));
+            
+            out = iterativeNorm(field[i], Normalizer.NFKD, buf, -1,options);
+            pass &= assertEqual("KD(-1)", field[i], out, field[4], "c5!=KD(c" + (i+1));
+         
+            out = iterativeNorm(new StringCharacterIterator(field[i]), Normalizer.NFKD, buf, +1,options);
+            pass &= assertEqual("KD(+1)", field[i], out, field[4], "c5!=KD(c" + (i+1));
+            
+            out = iterativeNorm(new StringCharacterIterator(field[i]), Normalizer.NFKD, buf, -1,options);
+            pass &= assertEqual("KD(-1)", field[i], out, field[4], "c5!=KD(c" + (i+1));
+            
+            cross(field[4] /*NFKD String*/, field[3]/*NFKC String*/, Normalizer.NFKC);
+            cross(field[3] /*NFKC String*/, field[4]/*NFKD String*/, Normalizer.NFKD);
+  
+        }
+        compare(field[1],field[2]);
+        compare(field[0],field[1]);
+        compare(field[0],field[2]);
+         // test quick checks
+        if(Normalizer.NO == Normalizer.quickCheck(field[1], Normalizer.NFC,options)) {
+            errln("Normalizer error: quickCheck(NFC(s), Normalizer.NFC) is Normalizer.NO");
+            pass = false;
+        }
+        if(Normalizer.NO == Normalizer.quickCheck(field[2], Normalizer.NFD,options)) {
+            errln("Normalizer error: quickCheck(NFD(s), Normalizer.NFD) is Normalizer.NO");
+            pass = false;
+        }
+        if(Normalizer.NO == Normalizer.quickCheck(field[3], Normalizer.NFKC,options)) {
+            errln("Normalizer error: quickCheck(NFKC(s), Normalizer.NFKC) is Normalizer.NO");
+            pass = false;
+        }
+        if(Normalizer.NO == Normalizer.quickCheck(field[4], Normalizer.NFKD,options)) {
+            errln("Normalizer error: quickCheck(NFKD(s), Normalizer.NFKD) is Normalizer.NO");
+            pass = false;
+        }
+    
+        if(!Normalizer.isNormalized(field[1], Normalizer.NFC, options)) {
+            errln("Normalizer error: isNormalized(NFC(s), Normalizer.NFC) is false");
+            pass = false;
+        }
+        if(!field[0].equals(field[1]) && Normalizer.isNormalized(field[0], Normalizer.NFC, options)) {
+            errln("Normalizer error: isNormalized(s, Normalizer.NFC) is TRUE");
+            pass = false;
+        }
+        if(!Normalizer.isNormalized(field[3], Normalizer.NFKC, options)) {
+            errln("Normalizer error: isNormalized(NFKC(s), Normalizer.NFKC) is false");
+            pass = false;
+        }
+        if(!field[0].equals(field[3]) && Normalizer.isNormalized(field[0], Normalizer.NFKC, options)) {
+            errln("Normalizer error: isNormalized(s, Normalizer.NFKC) is TRUE");
+            pass = false;
+        }
+        // test api that takes a char[]
+        if(!Normalizer.isNormalized(field[1].toCharArray(),0,field[1].length(), Normalizer.NFC,options)) {
+            errln("Normalizer error: isNormalized(NFC(s), Normalizer.NFC) is false");
+            pass = false;
+        }
+        // test api that takes a codepoint
+        if(!Normalizer.isNormalized(UTF16.charAt(field[1],0), Normalizer.NFC,options)) {
+            errln("Normalizer error: isNormalized(NFC(s), Normalizer.NFC) is false");
+            pass = false;
+        }
+        // test FCD quick check and "makeFCD"
+        fcd=Normalizer.normalize(field[0], Normalizer.FCD);
+        if(Normalizer.NO == Normalizer.quickCheck(fcd, Normalizer.FCD,options)) {
+            errln("Normalizer error: quickCheck(FCD(s), Normalizer.FCD) is Normalizer.NO");
+            pass = false;
+        }
+        // check FCD return length
+        {
+            char[] fcd2 = new char[ fcd.length() * 2 ];
+            char[] src = field[0].toCharArray();
+            int fcdLen = Normalizer.normalize(src, 0, src.length, fcd2, fcd.length(), fcd2.length,Normalizer.FCD, 0);
+            if(fcdLen != fcd.length()){
+                errln("makeFCD did not return the correct length");
+            }
+        }
+        if(Normalizer.NO == Normalizer.quickCheck(fcd, Normalizer.FCD, options)) {
+            errln("Normalizer error: quickCheck(FCD(s), Normalizer.FCD) is Normalizer.NO");
+            pass = false;
+        }
+        if(Normalizer.NO == Normalizer.quickCheck(field[2], Normalizer.FCD, options)) {
+            errln("Normalizer error: quickCheck(NFD(s), Normalizer.FCD) is Normalizer.NO");
+            pass = false;
+        }
+
+        if(Normalizer.NO == Normalizer.quickCheck(field[4], Normalizer.FCD, options)) {
+            errln("Normalizer error: quickCheck(NFKD(s), Normalizer.FCD) is Normalizer.NO");
+            pass = false;
+        }
+        
+        out = iterativeNorm(new StringCharacterIterator(field[0]), Normalizer.FCD, buf, +1,options);
+        out = iterativeNorm(new StringCharacterIterator(field[0]), Normalizer.FCD, buf, -1,options);
+        
+        out = iterativeNorm(new StringCharacterIterator(field[2]), Normalizer.FCD, buf, +1,options);
+        out = iterativeNorm(new StringCharacterIterator(field[2]), Normalizer.FCD, buf, -1,options);
+        
+        out = iterativeNorm(new StringCharacterIterator(field[4]), Normalizer.FCD, buf, +1,options);
+        out = iterativeNorm(new StringCharacterIterator(field[4]), Normalizer.FCD, buf, -1,options);
+        
+        out=Normalizer.normalize(fcd, Normalizer.NFD);
+        if(!out.equals(field[2])) {
+            errln("Normalizer error: NFD(FCD(s))!=NFD(s)");
+            pass = false;
+        }    
+        if (!pass) {
+            errln("FAIL: " + line);
+        }     
+        if(field[0]!=field[2]) {
+            // two strings that are canonically equivalent must test
+            // equal under a canonical caseless match
+            // see UAX #21 Case Mappings and Jitterbug 2021 and
+            // Unicode Technical Committee meeting consensus 92-C31
+            int rc;
+            if((rc = Normalizer.compare(field[0], field[2], (options<<Normalizer.COMPARE_NORM_OPTIONS_SHIFT)|Normalizer.COMPARE_IGNORE_CASE))!=0){
+               errln("Normalizer.compare(original, NFD, case-insensitive) returned "+rc+" instead of 0 for equal");
+               pass=false;
+            }
+        }
+        
+        return pass;
+    }
+    // two strings that are canonically equivalent must test
+    // equal under a canonical caseless match
+    // see UAX #21 Case Mappings and Jitterbug 2021 and
+    // Unicode Technical Committee meeting consensus 92-C31
+    private void compare(String s1, String s2){
+        if(s1.length()==1 && s2.length()==1){
+            if(Normalizer.compare(UTF16.charAt(s1,0),UTF16.charAt(s2,0),Normalizer.COMPARE_IGNORE_CASE)!=0){
+                errln("Normalizer.compare(int,int) failed for s1: "
+                        +Utility.hex(s1) + " s2: " + Utility.hex(s2));
+            }    
+        }
+        if(s1.length()==1 && s2.length()>1){
+            if(Normalizer.compare(UTF16.charAt(s1,0),s2,Normalizer.COMPARE_IGNORE_CASE)!=0){
+                errln("Normalizer.compare(int,String) failed for s1: "
+                        +Utility.hex(s1) + " s2: " + Utility.hex(s2));
+            }    
+        }
+        if(s1.length()>1 && s2.length()>1){
+            // TODO: Re-enable this tests after UTC fixes UAX 21
+            if(Normalizer.compare(s1.toCharArray(),s2.toCharArray(),Normalizer.COMPARE_IGNORE_CASE)!=0){
+                errln("Normalizer.compare(char[],char[]) failed for s1: "
+                        +Utility.hex(s1) + " s2: " + Utility.hex(s2));
+            }    
+        }    
+    }
+    private void cross(String s1, String s2,Normalizer.Mode mode){
+        String result = Normalizer.normalize(s1,mode);
+        if(!result.equals(s2)){
+            errln("cross test failed s1: " + Utility.hex(s1) + " s2: " 
+                        +Utility.hex(s2));
+        }
+    }
+    /**
+     * Do a normalization using the iterative API in the given direction.
+     * @param buf scratch buffer
+     * @param dir either +1 or -1
+     */
+    private String iterativeNorm(String str, Normalizer.Mode mode,
+                                 StringBuffer buf, int dir ,int options) throws Exception{
+        normalizer.setText(str);
+        normalizer.setMode(mode);
+        buf.setLength(0);
+        normalizer.setOption(-1, false);      // reset all options
+        normalizer.setOption(options, true);  // set desired options
+
+        int ch;
+        if (dir > 0) {
+            for (ch = normalizer.first(); ch != Normalizer.DONE;
+                 ch = normalizer.next()) {
+                buf.append(UTF16.valueOf(ch));
+            }
+        } else {
+            for (ch = normalizer.last(); ch != Normalizer.DONE;
+                 ch = normalizer.previous()) {
+                buf.insert(0, UTF16.valueOf(ch));
+            }
+        }
+        return buf.toString();
+    }
+    
+    /**
+     * Do a normalization using the iterative API in the given direction.
+     * @param str a Java StringCharacterIterator
+     * @param buf scratch buffer
+     * @param dir either +1 or -1
+     */
+    private String iterativeNorm(StringCharacterIterator str, Normalizer.Mode mode,
+                                 StringBuffer buf, int dir,int options) throws Exception{
+        normalizer.setText(str);
+        normalizer.setMode(mode);
+        buf.setLength(0);
+        normalizer.setOption(-1, false);      // reset all options
+        normalizer.setOption(options, true);  // set desired options
+
+        int ch;
+        if (dir > 0) {
+            for (ch = normalizer.first(); ch != Normalizer.DONE;
+                 ch = normalizer.next()) {
+                buf.append(UTF16.valueOf(ch));
+            }
+        } else {
+            for (ch = normalizer.last(); ch != Normalizer.DONE;
+                 ch = normalizer.previous()) {
+                buf.insert(0, UTF16.valueOf(ch));
+            }
+        }
+        return buf.toString();
+    }
+
+    /**
+     * @param op name of normalization form, e.g., "KC"
+     * @param s string being normalized
+     * @param got value received
+     * @param exp expected value
+     * @param msg description of this test
+     * @returns true if got == exp
+     */
+    private boolean assertEqual(String op, String s, String got,
+                                String exp, String msg) {
+        if (exp.equals(got)) {
+            return true;
+        }
+        errln(("      " + msg + ") " + op + "(" + s + ")=" + hex(got) +
+                             ", exp. " + hex(exp)));
+        return false;
+    }
+
+    /**
+     * Split a string into pieces based on the given delimiter
+     * character.  Then, parse the resultant fields from hex into
+     * characters.  That is, "0040 0400;0C00;0899" -> new String[] {
+     * "\u0040\u0400", "\u0C00", "\u0899" }.  The output is assumed to
+     * be of the proper length already, and exactly output.length
+     * fields are parsed.  If there are too few an exception is
+     * thrown.  If there are too many the extras are ignored.
+     *
+     * @param buf scratch buffer
+     */
+    private static void hexsplit(String s, char delimiter,
+                                 String[] output, StringBuffer buf) {
+        int i;
+        int pos = 0;
+        for (i=0; i<output.length; ++i) {
+            int delim = s.indexOf(delimiter, pos);
+            if (delim < 0) {
+                throw new IllegalArgumentException("Missing field in " + s);
+            }
+            // Our field is from pos..delim-1.
+            buf.setLength(0);
+            
+            String toHex = s.substring(pos,delim);
+            pos = delim;
+            int index = 0;
+            int len = toHex.length();
+            while(index< len){
+                if(toHex.charAt(index)==' '){
+                    index++;
+                }else{
+                    int spacePos = toHex.indexOf(' ', index);
+                    if(spacePos==-1){
+                        appendInt(buf,toHex.substring(index,len),s);
+                        spacePos = len;
+                    }else{
+                        appendInt(buf,toHex.substring(index, spacePos),s);
+                    }
+                    index = spacePos+1;
+                }
+            }
+            
+            if (buf.length() < 1) {
+                throw new IllegalArgumentException("Empty field " + i + " in " + s);
+            }
+            output[i] = buf.toString();
+            ++pos; // Skip over delim
+        }
+    }
+    public static void appendInt(StringBuffer buf, String strToHex, String s){
+        int hex = Integer.parseInt(strToHex,16);
+        if (hex < 0 ) {
+            throw new IllegalArgumentException("Out of range hex " +
+                                                hex + " in " + s);
+        }else if (hex > 0xFFFF){
+            buf.append((char)((hex>>10)+0xd7c0)); 
+            buf.append((char)((hex&0x3ff)|0xdc00));
+        }else{
+            buf.append((char) hex);
+        }
+    }
+            
+    // Specific tests for debugging.  These are generally failures
+    // taken from the conformance file, but culled out to make
+    // debugging easier.  These can be eliminated without affecting
+    // coverage.
+
+    public void _hideTestCase6(int options) throws Exception{
+        _testOneLine("0385;0385;00A8 0301;0020 0308 0301;0020 0308 0301;",options);
+    }
+
+    public void _testOneLine(String line,int options) throws Exception{
+        String[] fields = new String[5];
+        StringBuffer buf = new StringBuffer();
+        // Parse out the fields
+        hexsplit(line, ';', fields, buf);
+        checkConformance(fields, line,options);
+    }
+    
+
+}
diff --git a/src/com/ibm/icu/dev/test/normalizer/IntHashtable.java b/src/com/ibm/icu/dev/test/normalizer/IntHashtable.java
new file mode 100644
index 0000000..889be6c
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/normalizer/IntHashtable.java
@@ -0,0 +1,38 @@
+package com.ibm.icu.dev.test.normalizer;
+
+import java.util.Hashtable;
+
+/**
+ *******************************************************************************
+ * Copyright (C) 1998-2003, International Business Machines Corporation and    *
+ * Unicode, Inc. All Rights Reserved.                                          *
+ *******************************************************************************
+ *
+ * Integer hash table. Uses Java Hashtable for now.
+ * @author Mark Davis
+ */
+ 
+public class IntHashtable {
+    static final String copyright = "Copyright (C) 1998-2003 International Business Machines Corporation and Unicode, Inc.";
+    
+    public IntHashtable (int defaultValue) {
+        this.defaultValue = defaultValue;
+    }
+    
+    public void put(int key, int value) {
+        if (value == defaultValue) {
+            table.remove(new Integer(key));
+        } else {
+            table.put(new Integer(key), new Integer(value));
+        }
+    }
+    
+    public int get(int key) {
+        Object value = table.get(new Integer(key));
+        if (value == null) return defaultValue;
+        return ((Integer)value).intValue();
+    }
+    
+    private int defaultValue;
+    private Hashtable table = new Hashtable();
+}
\ No newline at end of file
diff --git a/src/com/ibm/icu/dev/test/normalizer/IntStringHashtable.java b/src/com/ibm/icu/dev/test/normalizer/IntStringHashtable.java
new file mode 100644
index 0000000..3f7de21
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/normalizer/IntStringHashtable.java
@@ -0,0 +1,38 @@
+package com.ibm.icu.dev.test.normalizer;
+
+import java.util.Hashtable;
+
+/**
+ *******************************************************************************
+ * Copyright (C) 1998-2003, International Business Machines Corporation and    *
+ * Unicode, Inc. All Rights Reserved.                                          *
+ *******************************************************************************
+ *
+ * Integer-String hash table. Uses Java Hashtable for now.
+ * @author Mark Davis
+ */
+ 
+public class IntStringHashtable {
+    static final String copyright = "Copyright (C) 1998-2003 International Business Machines Corporation and Unicode, Inc.";
+    
+    public IntStringHashtable (String defaultValue) {
+        this.defaultValue = defaultValue;
+    }
+    
+    public void put(int key, String value) {
+        if (value == defaultValue) {
+            table.remove(new Integer(key));
+        } else {
+            table.put(new Integer(key), value);
+        }
+    }
+    
+    public String get(int key) {
+        Object value = table.get(new Integer(key));
+        if (value == null) return defaultValue;
+        return (String)value;
+    }
+    
+    private String defaultValue;
+    private Hashtable table = new Hashtable();
+}
\ No newline at end of file
diff --git a/src/com/ibm/icu/dev/test/normalizer/LongHashtable.java b/src/com/ibm/icu/dev/test/normalizer/LongHashtable.java
new file mode 100644
index 0000000..b35eb06
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/normalizer/LongHashtable.java
@@ -0,0 +1,40 @@
+package com.ibm.icu.dev.test.normalizer;
+
+import java.util.Hashtable;
+
+/**
+ *******************************************************************************
+ * Copyright (C) 2002-2003, International Business Machines Corporation and    *
+ * Unicode, Inc. All Rights Reserved.                                          *
+ *******************************************************************************
+ *
+ * Hashtable storing ints addressed by longs. Used
+ * for storing of composition data. Uses Java Hashtable
+ * for now.
+ * @author Vladimir Weinstein
+ */
+public class LongHashtable {
+    static final String copyright = "Copyright (C) 2002-2003 International Business Machines Corporation and Unicode, Inc.";
+    
+    public LongHashtable (int defaultValue) {
+        this.defaultValue = defaultValue;
+    }
+    
+    public void put(long key, int value) {
+        if (value == defaultValue) {
+            table.remove(new Long(key));
+        } else {
+            table.put(new Long(key), new Integer(value));
+        }
+    }
+    
+    public int get(long key) {
+        Object value = table.get(new Long(key));
+        if (value == null) return defaultValue;
+        return ((Integer)value).intValue();
+    }
+    
+    private int defaultValue;
+    private Hashtable table = new Hashtable();
+
+}
diff --git a/src/com/ibm/icu/dev/test/normalizer/NormalizationMonkeyTest.java b/src/com/ibm/icu/dev/test/normalizer/NormalizationMonkeyTest.java
new file mode 100644
index 0000000..a36bac9
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/normalizer/NormalizationMonkeyTest.java
@@ -0,0 +1,110 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+package com.ibm.icu.dev.test.normalizer;
+
+import java.util.Random;
+
+import com.ibm.icu.dev.test.TestFmwk;
+import com.ibm.icu.lang.UCharacter;
+import com.ibm.icu.lang.UCharacterCategory;
+import com.ibm.icu.text.Normalizer;
+import com.ibm.icu.text.UTF16;
+
+public class NormalizationMonkeyTest extends TestFmwk {
+    int loopCount = 100;
+    int maxCharCount = 20;
+    int maxCodePoint = 0x10ffff;
+    Random random = null; // initialized in getTestSource
+    UnicodeNormalizer unicode_NFD;
+    UnicodeNormalizer unicode_NFC;
+    UnicodeNormalizer unicode_NFKD;
+    UnicodeNormalizer unicode_NFKC;
+    
+    public NormalizationMonkeyTest() {
+    }
+    
+    public static void main(String[] args) throws Exception {
+        new NormalizationMonkeyTest().run(args);
+    }
+    
+    public void TestNormalize() {
+        if (unicode_NFD == null) {
+            try {
+                unicode_NFD = new UnicodeNormalizer(UnicodeNormalizer.D, true);
+                unicode_NFC = new UnicodeNormalizer(UnicodeNormalizer.C, true);
+                unicode_NFKD = new UnicodeNormalizer(UnicodeNormalizer.KD, true);
+                unicode_NFKC = new UnicodeNormalizer(UnicodeNormalizer.KC, true);
+            }
+            catch (Exception e) {
+                String msg = "Normalization tests could not be run: " + e.getMessage();
+                if (isModularBuild()) {
+                    warnln(msg);
+                } else {
+                    errln(msg);
+                }
+            }
+        }
+        int i = 0;
+        while (i < loopCount) {
+            String source = getTestSource();
+            logln("Test source:" + source);
+            //NFD
+            String uncodeNorm = unicode_NFD.normalize(source);
+            String icuNorm = Normalizer.normalize(source, Normalizer.NFD);
+            logln("\tNFD(Unicode): " + uncodeNorm);
+            logln("\tNFD(icu4j)  : " + icuNorm);
+            if (!uncodeNorm.equals(icuNorm)) {
+                errln("NFD: Unicode sample output => " + uncodeNorm + "; icu4j output=> " + icuNorm);
+            }
+            //NFC
+            uncodeNorm = unicode_NFC.normalize(source);
+            icuNorm = Normalizer.normalize(source, Normalizer.NFC);
+            logln("\tNFC(Unicode): " + uncodeNorm);
+            logln("\tNFC(icu4j)  : " + icuNorm);
+            if (!uncodeNorm.equals(icuNorm)) {
+                errln("NFC: Unicode sample output => " + uncodeNorm + "; icu4j output=> " + icuNorm);
+            }
+            //NFKD
+            uncodeNorm = unicode_NFKD.normalize(source);
+            icuNorm = Normalizer.normalize(source, Normalizer.NFKD);
+            logln("\tNFKD(Unicode): " + uncodeNorm);
+            logln("\tNFKD(icu4j)  : " + icuNorm);
+            if (!uncodeNorm.equals(icuNorm)) {
+                errln("NFKD: Unicode sample output => " + uncodeNorm + "; icu4j output=> " + icuNorm);
+            }
+            //NFKC
+            uncodeNorm = unicode_NFKC.normalize(source);
+            icuNorm = Normalizer.normalize(source, Normalizer.NFKC);
+            logln("\tNFKC(Unicode): " + uncodeNorm);
+            logln("\tNFKC(icu4j)  : " + icuNorm);
+            if (!uncodeNorm.equals(icuNorm)) {
+                errln("NFKC: Unicode sample output => " + uncodeNorm + "; icu4j output=> " + icuNorm);
+            }
+            
+            i++;
+        }
+    }
+    
+    String getTestSource() {
+    if (random == null) {
+        random = createRandom(); // use test framework's random seed
+    }
+        String source = "";
+        int i = 0;
+        while (i < (random.nextInt(maxCharCount) + 1)) {
+            int codepoint = random.nextInt(maxCodePoint);
+            //Elimate unassigned characters
+            while (UCharacter.getType(codepoint) == UCharacterCategory.UNASSIGNED) {
+                codepoint = random.nextInt(maxCodePoint);
+            }
+            source = source + UTF16.valueOf(codepoint);
+            i++;
+        }
+        return source;
+    }
+}
diff --git a/src/com/ibm/icu/dev/test/normalizer/NormalizerBuilder.java b/src/com/ibm/icu/dev/test/normalizer/NormalizerBuilder.java
new file mode 100644
index 0000000..d28ff9a
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/normalizer/NormalizerBuilder.java
@@ -0,0 +1,507 @@
+/**
+ * Builds the normalization tables. This is a separate class so that it
+ * can be unloaded once not needed.<br>
+ * Copyright (C) 1998-2004 International Business Machines Corporation and
+ * Unicode, Inc. All Rights Reserved.<br>
+ * The Unicode Consortium makes no expressed or implied warranty of any
+ * kind, and assumes no liability for errors or omissions.
+ * No liability is assumed for incidental and consequential damages
+ * in connection with or arising out of the use of the information here.
+ * @author Mark Davis
+ * Updates for supplementary code points:
+ * Vladimir Weinstein & Markus Scherer
+ */
+
+package com.ibm.icu.dev.test.normalizer;
+
+import java.io.BufferedReader;
+import java.util.BitSet;
+
+import com.ibm.icu.dev.test.TestUtil;
+import com.ibm.icu.dev.test.UTF16Util;
+
+class NormalizerBuilder {
+    static final String copyright = "Copyright (C) 1998-2003 International Business Machines Corporation and Unicode, Inc.";
+
+    /**
+     * Testing flags
+     */
+
+    private static final boolean DEBUG = false;
+    private static final boolean GENERATING = false;
+
+    /**
+     * Constants for the data file version to use.
+     */
+    /*static final boolean NEW_VERSION = true;
+    private static final String DIR = "D:\\UnicodeData\\" + (NEW_VERSION ? "WorkingGroups\\" : "");
+
+    static final String UNIDATA_VERSION = NEW_VERSION ? "3.0.0d12" : "2.1.9";
+    static final String EXCLUSIONS_VERSION = NEW_VERSION ? "1d4" : "1";
+
+    public static final String UNICODE_DATA = DIR + "UnicodeData-" + UNIDATA_VERSION + ".txt";
+    public static final String COMPOSITION_EXCLUSIONS = DIR + "CompositionExclusions-" + EXCLUSIONS_VERSION +".txt";
+    */
+
+    /**
+     * Called exactly once by NormalizerData to build the static data
+     */
+
+    static NormalizerData build(boolean fullData) {
+        try {
+            IntHashtable canonicalClass = new IntHashtable(0);
+            IntStringHashtable decompose = new IntStringHashtable(null);
+            LongHashtable compose = new LongHashtable(NormalizerData.NOT_COMPOSITE);
+            BitSet isCompatibility = new BitSet();
+            BitSet isExcluded = new BitSet();
+            if (fullData) {
+                //System.out.println("Building Normalizer Data from file.");
+                readExclusionList(isExcluded);
+                //System.out.println(isExcluded.get(0x00C0));
+                buildDecompositionTables(canonicalClass, decompose, compose,
+                  isCompatibility, isExcluded);
+            } else {    // for use in Applets
+                //System.out.println("Building abridged data.");
+                setMinimalDecomp(canonicalClass, decompose, compose,
+                  isCompatibility, isExcluded);
+            }
+            return new NormalizerData(canonicalClass, decompose, compose,
+                  isCompatibility, isExcluded);
+        } catch (java.io.IOException e) {
+            System.err.println("Can't load data file." + e + ", " + e.getMessage());
+            return null;
+        }
+    }
+
+// =============================================================
+// Building Decomposition Tables
+// =============================================================
+
+    /**
+     * Reads exclusion list and stores the data
+     */
+    private static void readExclusionList(BitSet isExcluded) throws java.io.IOException {
+        if (DEBUG) System.out.println("Reading Exclusions");
+
+        BufferedReader in = TestUtil.getDataReader("unicode/CompositionExclusions.txt");
+
+        while (true) {
+            // read a line, discarding comments and blank lines
+
+            String line = in.readLine();
+            if (line == null) break;
+            int comment = line.indexOf('#');                    // strip comments
+            if (comment != -1) line = line.substring(0,comment);
+            if (line.length() == 0) continue;                   // ignore blanks
+            if(line.indexOf(' ') != -1) {
+                line = line.substring(0, line.indexOf(' '));
+            }
+            // store -1 in the excluded table for each character hit
+
+            int value = Integer.parseInt(line,16);
+            isExcluded.set(value);
+            //System.out.println("Excluding " + hex(value));
+        }
+        in.close();
+        if (DEBUG) System.out.println("Done reading Exclusions");
+    }
+
+    /**
+     * Builds a decomposition table from a UnicodeData file
+     */
+    private static void buildDecompositionTables(
+      IntHashtable canonicalClass, IntStringHashtable decompose,
+      LongHashtable compose, BitSet isCompatibility, BitSet isExcluded)
+      throws java.io.IOException {
+        if (DEBUG) System.out.println("Reading Unicode Character Database");
+        //BufferedReader in = new BufferedReader(new FileReader(UNICODE_DATA), 64*1024);
+        BufferedReader in = null;
+        try {
+            in = TestUtil.getDataReader("unicode/UnicodeData.txt");
+        } catch (Exception e) {
+            System.err.println("Failed to read UnicodeData.txt");
+            System.exit(1);
+        }
+
+        int value;
+        long pair;
+        int counter = 0;
+        while (true) {
+
+            // read a line, discarding comments and blank lines
+
+            String line = in.readLine();
+            if (line == null) break;
+            int comment = line.indexOf('#');                    // strip comments
+            if (comment != -1) line = line.substring(0,comment);
+            if (line.length() == 0) continue;
+            if (DEBUG) {
+                counter++;
+                if ((counter & 0xFF) == 0) System.out.println("At: " + line);
+            }
+
+            // find the values of the particular fields that we need
+            // Sample line: 00C0;LATIN ...A GRAVE;Lu;0;L;0041 0300;;;;N;LATIN ... GRAVE;;;00E0;
+
+            int start = 0;
+            int end = line.indexOf(';'); // code
+            value = Integer.parseInt(line.substring(start,end),16);
+            if (true && value == '\u00c0') {
+                //System.out.println("debug: " + line);
+            }
+            end = line.indexOf(';',start=end+1); // name
+            /*String name = line.substring(start,end);*/
+            end = line.indexOf(';',start=end+1); // general category
+            end = line.indexOf(';',start=end+1); // canonical class
+
+            // check consistency: canonical classes must be from 0 to 255
+
+            int cc = Integer.parseInt(line.substring(start,end));
+            if (cc != (cc & 0xFF)) System.err.println("Bad canonical class at: " + line);
+            canonicalClass.put(value,cc);
+            end = line.indexOf(';',start=end+1); // BIDI
+            end = line.indexOf(';',start=end+1); // decomp
+
+            // decomp requires more processing.
+            // store whether it is canonical or compatibility.
+            // store the decomp in one table, and the reverse mapping (from pairs) in another
+
+            if (start != end) {
+                String segment = line.substring(start, end);
+                boolean compat = segment.charAt(0) == '<';
+                if (compat) isCompatibility.set(value);
+                String decomp = fromHex(segment);
+
+                // a small snippet of code to generate the Applet data
+
+                /*if (GENERATING) {
+                    if (value < 0xFF) {
+                        System.out.println(
+                            "\"\\u" + hex((char)value) + "\", "
+                            + "\"\\u" + hex(decomp, "\\u") + "\", "
+                            + (compat ? "\"K\"," : "\"\",")
+                            + "// " + name);
+                    }
+                }*/
+
+                // check consistency: all canon decomps must be singles or pairs!
+                int decompLen = UTF16Util.countCodePoint(decomp);
+                if (decompLen < 1 || decompLen > 2 && !compat) {
+                    System.err.println("Bad decomp at: " + line);
+                }
+                decompose.put(value, decomp);
+
+                // only compositions are canonical pairs
+                // skip if script exclusion
+
+                if (!compat && !isExcluded.get(value)) {
+                    int first = '\u0000';
+                    int second = UTF16Util.nextCodePoint(decomp, 0);
+                    if (decompLen > 1) {
+                        first = second;
+                        second = UTF16Util.nextCodePoint(decomp,
+                            UTF16Util.codePointLength(first));
+                    }
+
+                    // store composition pair in single integer
+
+                    pair = ((long)first << 32) | second;
+                    if (DEBUG && value == '\u00C0') {
+                        System.out.println("debug2: " + line);
+                    }
+                    compose.put(pair, value);
+                } else if (DEBUG) {
+                    System.out.println("Excluding: " + decomp);
+                }
+            }
+        }
+        in.close();
+        if (DEBUG) System.out.println("Done reading Unicode Character Database");
+
+        // add algorithmic Hangul decompositions
+        // this is more compact if done at runtime, but for simplicity we
+        // do it this way.
+
+        if (DEBUG) System.out.println("Adding Hangul");
+
+        for (int SIndex = 0; SIndex < SCount; ++SIndex) {
+            int TIndex = SIndex % TCount;
+            char first, second;
+            if (TIndex != 0) { // triple
+                first = (char)(SBase + SIndex - TIndex);
+                second = (char)(TBase + TIndex);
+            } else {
+                first = (char)(LBase + SIndex / NCount);
+                second = (char)(VBase + (SIndex % NCount) / TCount);
+            }
+            pair = ((long)first << 32) | second;
+            value = SIndex + SBase;
+            decompose.put(value, String.valueOf(first) + second);
+            compose.put(pair, value);
+        }
+        if (DEBUG) System.out.println("Done adding Hangul");
+    }
+
+    /**
+     * Hangul composition constants
+     */
+    static final int
+        SBase = 0xAC00, LBase = 0x1100, VBase = 0x1161, TBase = 0x11A7,
+        LCount = 19, VCount = 21, TCount = 28,
+        NCount = VCount * TCount,   // 588
+        SCount = LCount * NCount;   // 11172
+
+    /**
+     * For use in an applet: just load a minimal set of data.
+     */
+    private static void setMinimalDecomp(IntHashtable canonicalClass, IntStringHashtable decompose,
+      LongHashtable compose, BitSet isCompatibility, BitSet isExcluded) {
+        String[] decomposeData = {
+            "\u005E", "\u0020\u0302", "K",
+            "\u005F", "\u0020\u0332", "K",
+            "\u0060", "\u0020\u0300", "K",
+            "\u00A0", "\u0020", "K",
+            "\u00A8", "\u0020\u0308", "K",
+            "\u00AA", "\u0061", "K",
+            "\u00AF", "\u0020\u0304", "K",
+            "\u00B2", "\u0032", "K",
+            "\u00B3", "\u0033", "K",
+            "\u00B4", "\u0020\u0301", "K",
+            "\u00B5", "\u03BC", "K",
+            "\u00B8", "\u0020\u0327", "K",
+            "\u00B9", "\u0031", "K",
+            "\u00BA", "\u006F", "K",
+            "\u00BC", "\u0031\u2044\u0034", "K",
+            "\u00BD", "\u0031\u2044\u0032", "K",
+            "\u00BE", "\u0033\u2044\u0034", "K",
+            "\u00C0", "\u0041\u0300", "",
+            "\u00C1", "\u0041\u0301", "",
+            "\u00C2", "\u0041\u0302", "",
+            "\u00C3", "\u0041\u0303", "",
+            "\u00C4", "\u0041\u0308", "",
+            "\u00C5", "\u0041\u030A", "",
+            "\u00C7", "\u0043\u0327", "",
+            "\u00C8", "\u0045\u0300", "",
+            "\u00C9", "\u0045\u0301", "",
+            "\u00CA", "\u0045\u0302", "",
+            "\u00CB", "\u0045\u0308", "",
+            "\u00CC", "\u0049\u0300", "",
+            "\u00CD", "\u0049\u0301", "",
+            "\u00CE", "\u0049\u0302", "",
+            "\u00CF", "\u0049\u0308", "",
+            "\u00D1", "\u004E\u0303", "",
+            "\u00D2", "\u004F\u0300", "",
+            "\u00D3", "\u004F\u0301", "",
+            "\u00D4", "\u004F\u0302", "",
+            "\u00D5", "\u004F\u0303", "",
+            "\u00D6", "\u004F\u0308", "",
+            "\u00D9", "\u0055\u0300", "",
+            "\u00DA", "\u0055\u0301", "",
+            "\u00DB", "\u0055\u0302", "",
+            "\u00DC", "\u0055\u0308", "",
+            "\u00DD", "\u0059\u0301", "",
+            "\u00E0", "\u0061\u0300", "",
+            "\u00E1", "\u0061\u0301", "",
+            "\u00E2", "\u0061\u0302", "",
+            "\u00E3", "\u0061\u0303", "",
+            "\u00E4", "\u0061\u0308", "",
+            "\u00E5", "\u0061\u030A", "",
+            "\u00E7", "\u0063\u0327", "",
+            "\u00E8", "\u0065\u0300", "",
+            "\u00E9", "\u0065\u0301", "",
+            "\u00EA", "\u0065\u0302", "",
+            "\u00EB", "\u0065\u0308", "",
+            "\u00EC", "\u0069\u0300", "",
+            "\u00ED", "\u0069\u0301", "",
+            "\u00EE", "\u0069\u0302", "",
+            "\u00EF", "\u0069\u0308", "",
+            "\u00F1", "\u006E\u0303", "",
+            "\u00F2", "\u006F\u0300", "",
+            "\u00F3", "\u006F\u0301", "",
+            "\u00F4", "\u006F\u0302", "",
+            "\u00F5", "\u006F\u0303", "",
+            "\u00F6", "\u006F\u0308", "",
+            "\u00F9", "\u0075\u0300", "",
+            "\u00FA", "\u0075\u0301", "",
+            "\u00FB", "\u0075\u0302", "",
+            "\u00FC", "\u0075\u0308", "",
+            "\u00FD", "\u0079\u0301", "",
+// EXTRAS, outside of Latin 1
+            "\u1EA4", "\u00C2\u0301", "",
+            "\u1EA5", "\u00E2\u0301", "",
+            "\u1EA6", "\u00C2\u0300", "",
+            "\u1EA7", "\u00E2\u0300", "",
+        };
+
+        int[] classData = {
+            0x0300, 230,
+            0x0301, 230,
+            0x0302, 230,
+            0x0303, 230,
+            0x0304, 230,
+            0x0305, 230,
+            0x0306, 230,
+            0x0307, 230,
+            0x0308, 230,
+            0x0309, 230,
+            0x030A, 230,
+            0x030B, 230,
+            0x030C, 230,
+            0x030D, 230,
+            0x030E, 230,
+            0x030F, 230,
+            0x0310, 230,
+            0x0311, 230,
+            0x0312, 230,
+            0x0313, 230,
+            0x0314, 230,
+            0x0315, 232,
+            0x0316, 220,
+            0x0317, 220,
+            0x0318, 220,
+            0x0319, 220,
+            0x031A, 232,
+            0x031B, 216,
+            0x031C, 220,
+            0x031D, 220,
+            0x031E, 220,
+            0x031F, 220,
+            0x0320, 220,
+            0x0321, 202,
+            0x0322, 202,
+            0x0323, 220,
+            0x0324, 220,
+            0x0325, 220,
+            0x0326, 220,
+            0x0327, 202,
+            0x0328, 202,
+            0x0329, 220,
+            0x032A, 220,
+            0x032B, 220,
+            0x032C, 220,
+            0x032D, 220,
+            0x032E, 220,
+            0x032F, 220,
+            0x0330, 220,
+            0x0331, 220,
+            0x0332, 220,
+            0x0333, 220,
+            0x0334, 1,
+            0x0335, 1,
+            0x0336, 1,
+            0x0337, 1,
+            0x0338, 1,
+            0x0339, 220,
+            0x033A, 220,
+            0x033B, 220,
+            0x033C, 220,
+            0x033D, 230,
+            0x033E, 230,
+            0x033F, 230,
+            0x0340, 230,
+            0x0341, 230,
+            0x0342, 230,
+            0x0343, 230,
+            0x0344, 230,
+            0x0345, 240,
+            0x0360, 234,
+            0x0361, 234
+        };
+
+        // build the same tables we would otherwise get from the
+        // Unicode Character Database, just with limited data
+
+        for (int i = 0; i < decomposeData.length; i+=3) {
+            char value = decomposeData[i].charAt(0);
+            String decomp = decomposeData[i+1];
+            boolean compat = decomposeData[i+2].equals("K");
+            if (compat) isCompatibility.set(value);
+            decompose.put(value, decomp);
+            if (!compat) {
+                int first = '\u0000';
+                int second = UTF16Util.nextCodePoint(decomp, 0);
+                if (decomp.length() > 1) {
+                    first = second;
+                    second = UTF16Util.nextCodePoint(decomp,
+                        UTF16Util.codePointLength(first));
+                }
+                long pair = (first << 16) | second;
+                compose.put(pair, value);
+            }
+        }
+
+        for (int i = 0; i < classData.length;) {
+            canonicalClass.put(classData[i++], classData[i++]);
+        }
+    }
+
+    /**
+     * Utility: Parses a sequence of hex Unicode characters separated by spaces
+     */
+    static public String fromHex(String source) {
+        StringBuffer result = new StringBuffer();
+        for (int i = 0; i < source.length(); ++i) {
+            char c = source.charAt(i);
+            switch (c) {
+              case ' ': break; // ignore
+              case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7':
+              case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F':
+              case 'a': case 'b': case 'c': case 'd': case 'e': case 'f':
+                int end = 0;
+                int value = 0;
+                try {
+                    //System.out.println(source.substring(i, i + 4) + "************" + source);
+                    end = source.indexOf(' ',i);
+                    if (end < 0) {
+                        end = source.length();
+                    }
+                    value = Integer.parseInt(source.substring(i, end),16);
+                    UTF16Util.appendCodePoint(result, value);
+                } catch (Exception e) {
+                    System.out.println("i: " + i + ";end:" + end + "source:" + source);
+                    //System.out.println(source.substring(i, i + 4) + "************" + source);
+                    System.exit(1);
+                }
+                //i+= 3; // skip rest of number
+                i = end;
+                break;
+              case '<': int j = source.indexOf('>',i); // skip <...>
+                if (j > 0) {
+                    i = j;
+                    break;
+                } // else fall through--error
+              default:
+                throw new IllegalArgumentException("Bad hex value in " + source);
+            }
+        }
+        return result.toString();
+    }
+
+    /**
+     * Utility: Supplies a zero-padded hex representation of an integer (without 0x)
+     */
+    static public String hex(int i) {
+        String result = Long.toString(i & 0xFFFFFFFFL, 16).toUpperCase();
+        return "00000000".substring(result.length(),8) + result;
+    }
+
+    /**
+     * Utility: Supplies a zero-padded hex representation of a Unicode character (without 0x, \\u)
+     */
+    static public String hex(char i) {
+        String result = Integer.toString(i, 16).toUpperCase();
+        return "0000".substring(result.length(),4) + result;
+    }
+
+    /**
+     * Utility: Supplies a zero-padded hex representation of a Unicode character (without 0x, \\u)
+     */
+    public static String hex(String s, String sep) {
+        StringBuffer result = new StringBuffer();
+        for (int i = 0; i < s.length(); ++i) {
+            if (i != 0) result.append(sep);
+            result.append(hex(s.charAt(i)));
+        }
+        return result.toString();
+    }
+}
diff --git a/src/com/ibm/icu/dev/test/normalizer/NormalizerData.java b/src/com/ibm/icu/dev/test/normalizer/NormalizerData.java
new file mode 100644
index 0000000..d18288b
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/normalizer/NormalizerData.java
@@ -0,0 +1,135 @@
+package com.ibm.icu.dev.test.normalizer;
+
+import java.util.BitSet;
+
+import com.ibm.icu.dev.test.UTF16Util;
+
+/**
+ * Accesses the Normalization Data used for Forms C and D.<br>
+ * Copyright (C) 1998-2004 International Business Machines Corporation and
+ * Unicode, Inc. All Rights Reserved.<br>
+ * The Unicode Consortium makes no expressed or implied warranty of any
+ * kind, and assumes no liability for errors or omissions.
+ * No liability is assumed for incidental and consequential damages
+ * in connection with or arising out of the use of the information here.
+ * @author Mark Davis
+ * Updates for supplementary code points:
+ * Vladimir Weinstein & Markus Scherer
+ */
+public class NormalizerData {
+    static final String copyright = "Copyright (C) 1998-2003 International Business Machines Corporation and Unicode, Inc.";
+
+    /**
+    * Constant for use in getPairwiseComposition
+    */
+    public static final int NOT_COMPOSITE = '\uFFFF';
+
+    /**
+    * Gets the combining class of a character from the
+    * Unicode Character Database.
+    * @param   ch      the source character
+    * @return          value from 0 to 255
+    */
+    public int getCanonicalClass(int ch) {
+        return canonicalClass.get(ch);
+    }
+
+    /**
+    * Returns the composite of the two characters. If the two
+    * characters don't combine, returns NOT_COMPOSITE.
+    * @param   first   first character (e.g. 'c')
+    * @param   second  second character (e.g. \u0327 cedilla)
+    * @return          composite (e.g. \u00C7 c cedilla)
+    */
+    public int getPairwiseComposition(int first, int second) {
+        return compose.get(((long)first << 32) | second);
+    }
+
+
+    /**
+    * Gets recursive decomposition of a character from the
+    * Unicode Character Database.
+    * @param   canonical    If true
+    *                  bit is on in this byte, then selects the recursive
+    *                  canonical decomposition, otherwise selects
+    *                  the recursive compatibility and canonical decomposition.
+    * @param   ch      the source character
+    * @param   buffer  buffer to be filled with the decomposition
+    */
+    public void getRecursiveDecomposition(boolean canonical, int ch, StringBuffer buffer) {
+        String decomp = decompose.get(ch);
+        if (decomp != null && !(canonical && isCompatibility.get(ch))) {
+            for (int i = 0; i < decomp.length(); i+=UTF16Util.codePointLength(ch)) {
+                ch = UTF16Util.nextCodePoint(decomp, i);
+                getRecursiveDecomposition(canonical, ch, buffer);
+            }
+        } else {                    // if no decomp, append
+            UTF16Util.appendCodePoint(buffer, ch);
+        }
+    }
+
+    // =================================================
+    //                   PRIVATES
+    // =================================================
+
+    /**
+     * Only accessed by NormalizerBuilder.
+     */
+    NormalizerData(IntHashtable canonicalClass, IntStringHashtable decompose,
+      LongHashtable compose, BitSet isCompatibility, BitSet isExcluded) {
+        this.canonicalClass = canonicalClass;
+        this.decompose = decompose;
+        this.compose = compose;
+        this.isCompatibility = isCompatibility;
+        this.isExcluded = isExcluded;
+    }
+
+    /**
+    * Just accessible for testing.
+    */
+    boolean getExcluded (char ch) {
+        return isExcluded.get(ch);
+    }
+
+    /**
+    * Just accessible for testing.
+    */
+    String getRawDecompositionMapping (char ch) {
+        return decompose.get(ch);
+    }
+
+    /**
+    * For now, just use IntHashtable
+    * Two-stage tables would be used in an optimized implementation.
+    */
+    private IntHashtable canonicalClass;
+
+    /**
+    * The main data table maps chars to a 32-bit int.
+    * It holds either a pair: top = first, bottom = second
+    * or singleton: top = 0, bottom = single.
+    * If there is no decomposition, the value is 0.
+    * Two-stage tables would be used in an optimized implementation.
+    * An optimization could also map chars to a small index, then use that
+    * index in a small array of ints.
+    */
+    private IntStringHashtable decompose;
+
+    /**
+    * Maps from pairs of characters to single.
+    * If there is no decomposition, the value is NOT_COMPOSITE.
+    */
+    private LongHashtable compose;
+
+    /**
+    * Tells whether decomposition is canonical or not.
+    */
+    private BitSet isCompatibility = new BitSet();
+
+    /**
+    * Tells whether character is script-excluded or not.
+    * Used only while building, and for testing.
+    */
+
+    private BitSet isExcluded = new BitSet();
+}
diff --git a/src/com/ibm/icu/dev/test/normalizer/NormalizerRegressionTests.java b/src/com/ibm/icu/dev/test/normalizer/NormalizerRegressionTests.java
new file mode 100644
index 0000000..558e677
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/normalizer/NormalizerRegressionTests.java
@@ -0,0 +1,46 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2005, International Business Machines Corporation and         *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+package com.ibm.icu.dev.test.normalizer;
+
+import com.ibm.icu.dev.test.TestFmwk;
+import com.ibm.icu.text.Normalizer;
+
+public class NormalizerRegressionTests extends TestFmwk {
+    public static void main(String[] args) throws Exception {
+        new NormalizerRegressionTests().run(args);
+    }
+
+    public void TestJB4472() {
+        // submitter's test case
+        String tamil = "\u0b87\u0ba8\u0bcd\u0ba4\u0bbf\u0baf\u0bbe";
+        logln("Normalized: " + Normalizer.isNormalized(tamil, Normalizer.NFC, 0));
+
+        // markus's test case
+        // the combining cedilla can't be applied to 'b', so this is in normalized form.
+        // but the isNormalized test identifies the cedilla as a 'maybe' and so tries
+        // to normalize the relevant substring ("b\u0327")and compare the result to the
+        // original.  the original code was passing in the start and length of the
+        // substring (3, 5-3 = 2) but the called code was expecting start and limit.
+        // it subtracted the start again to get what it thought was the length, but
+        // ended up with -1.  the loop was incrementing an index from 0 and testing
+        // against length, but 0 was never == -1 before it walked off the array end.
+
+        // a workaround in lieu of this patch is to catch the exception and always
+        // normalize.
+
+        // this should return true, since the string is normalized (and it should
+        // not throw an exception!)
+        String sample = "aaab\u0327";
+        logln("Normalized: " + Normalizer.isNormalized(sample, Normalizer.NFC, 0));
+
+        // this should return false, since the string is _not_ normalized (and it should
+        // not throw an exception!)
+        String sample2 = "aaac\u0327";
+        logln("Normalized: " + Normalizer.isNormalized(sample2, Normalizer.NFC, 0));
+    }
+}
diff --git a/src/com/ibm/icu/dev/test/normalizer/TestAll.java b/src/com/ibm/icu/dev/test/normalizer/TestAll.java
new file mode 100644
index 0000000..201ee93
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/normalizer/TestAll.java
@@ -0,0 +1,32 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.test.normalizer;
+
+import com.ibm.icu.dev.test.TestFmwk.TestGroup;
+
+/**
+ * Top level test used to run normalizer tests as a batch.
+ */
+public class TestAll extends TestGroup {
+
+    public static void main(String[] args) {
+        new TestAll().run(args);
+    }
+
+    public TestAll() {
+        super(new String[] {
+            "BasicTest",
+            "ConformanceTest",
+            "TestDeprecatedNormalizerAPI",
+            "TestCanonicalIterator",
+            "NormalizationMonkeyTest",
+	    "NormalizerRegressionTests",
+        });
+    }
+
+    public static final String CLASS_TARGET_NAME = "Normalizer";
+}
diff --git a/src/com/ibm/icu/dev/test/normalizer/TestCanonicalIterator.java b/src/com/ibm/icu/dev/test/normalizer/TestCanonicalIterator.java
new file mode 100755
index 0000000..2a1ceaf
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/normalizer/TestCanonicalIterator.java
@@ -0,0 +1,276 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.test.normalizer;
+
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.SortedSet;
+import java.util.TreeSet;
+import java.util.Set;
+import com.ibm.icu.dev.test.TestFmwk;
+import com.ibm.icu.impl.Utility;
+import com.ibm.icu.lang.UCharacter;
+import com.ibm.icu.text.CanonicalIterator;
+import com.ibm.icu.text.Normalizer;
+import com.ibm.icu.text.UTF16;
+
+
+// TODO: fit into test framework
+
+public class TestCanonicalIterator extends TestFmwk {
+    
+    static final boolean SHOW_NAMES = false;
+
+    public static void main(String[] args) throws Exception {
+        new TestCanonicalIterator().run(args);
+    }
+    
+    static final String testArray[][] = {
+        {"\u00C5d\u0307\u0327", "A\u030Ad\u0307\u0327, A\u030Ad\u0327\u0307, A\u030A\u1E0B\u0327, "
+            + "A\u030A\u1E11\u0307, \u00C5d\u0307\u0327, \u00C5d\u0327\u0307, "
+            + "\u00C5\u1E0B\u0327, \u00C5\u1E11\u0307, \u212Bd\u0307\u0327, "
+            + "\u212Bd\u0327\u0307, \u212B\u1E0B\u0327, \u212B\u1E11\u0307"},
+        {"\u010d\u017E", "c\u030Cz\u030C, c\u030C\u017E, \u010Dz\u030C, \u010D\u017E"},
+        {"x\u0307\u0327", "x\u0307\u0327, x\u0327\u0307, \u1E8B\u0327"},
+    };
+    
+     
+    public void TestExhaustive() {
+        int counter = 0;
+        int mixedCounter = 0;
+        int lastMixedCounter = -1;
+        CanonicalIterator it = new CanonicalIterator("");
+        /*
+        CanonicalIterator slowIt = new CanonicalIterator("");
+        slowIt.SKIP_ZEROS = false;
+        */
+        //Transliterator name = Transliterator.getInstance("[^\\u0020-\\u007F] name");
+        //Set itSet = new TreeSet();
+        //Set slowItSet = new TreeSet();
+        
+        
+        for (int i = 0; i < 0x10FFFF; ++i) {
+            
+            // skip characters we know don't have decomps
+            int type = UCharacter.getType(i);
+            if (type == Character.UNASSIGNED || type == Character.PRIVATE_USE
+                || type == Character.SURROGATE) continue;
+                
+            if ((++counter % 5000) == 0) logln("Testing " + Utility.hex(i,0));
+            
+            String s = UTF16.valueOf(i);
+            
+            if (! skipIfBeforeICU(3, 4)) {
+                characterTest(s, i, it);
+            }
+            
+            characterTest(s + "\u0345", i, it);
+        }
+    }
+    
+    public int TestSpeed() {
+         // skip unless verbose
+        if (!isVerbose()) return 0;
+
+           String s = "\uAC01\u0345";
+           
+        CanonicalIterator it = new CanonicalIterator(s);
+        double start, end;
+        int x = 0; // just to keep code from optimizing away.
+        int iterations = 10000;
+        double slowDelta = 0;
+        
+        /*
+        CanonicalIterator slowIt = new CanonicalIterator(s);
+        slowIt.SKIP_ZEROS = false;
+
+        start = System.currentTimeMillis();
+        for (int i = 0; i < iterations; ++i) {
+            slowIt.setSource(s);
+            while (true) {
+                String item = slowIt.next();
+                if (item == null) break;
+                x += item.length();
+            }
+        }
+        end = System.currentTimeMillis();
+        double slowDelta = (end-start) / iterations;
+        logln("Slow iteration: " + slowDelta);
+        */
+
+        start = System.currentTimeMillis();
+        for (int i = 0; i < iterations; ++i) {
+            it.setSource(s);
+            while (true) {
+                String item = it.next();
+                if (item == null) break;
+                x += item.length();
+            }
+        }
+        end = System.currentTimeMillis();
+        double fastDelta = (end-start) / iterations;
+        logln("Fast iteration: " + fastDelta + (slowDelta != 0 ? ", " + (fastDelta/slowDelta) : ""));
+        
+        
+        return x;
+    }
+    
+    public void TestBasic() {
+//      This is not interesting anymore as the data is already built 
+//      beforehand
+
+//        check build
+//        UnicodeSet ss = CanonicalIterator.getSafeStart();
+//        logln("Safe Start: " + ss.toPattern(true));
+//        ss = CanonicalIterator.getStarts('a');
+//        expectEqual("Characters with 'a' at the start of their decomposition: ", "", CanonicalIterator.getStarts('a'),
+//            new UnicodeSet("[\u00E0-\u00E5\u0101\u0103\u0105\u01CE\u01DF\u01E1\u01FB"
+//            + "\u0201\u0203\u0227\u1E01\u1EA1\u1EA3\u1EA5\u1EA7\u1EA9\u1EAB\u1EAD\u1EAF\u1EB1\u1EB3\u1EB5\u1EB7]")
+//                );
+        
+        // check permute
+        // NOTE: we use a TreeSet below to sort the output, which is not guaranteed to be sorted!
+        
+        Set results = new TreeSet();
+        CanonicalIterator.permute("ABC", false, results);
+        expectEqual("Simple permutation ", "", collectionToString(results), "ABC, ACB, BAC, BCA, CAB, CBA");
+        
+        // try samples
+        SortedSet set = new TreeSet();
+        for (int i = 0; i < testArray.length; ++i) {
+            //logln("Results for: " + name.transliterate(testArray[i]));
+            CanonicalIterator it = new CanonicalIterator(testArray[i][0]);
+           // int counter = 0;
+            set.clear();
+            String first = null;
+            while (true) {
+                String result = it.next();
+                if(first==null){
+                    first = result;
+                }
+                if (result == null) break;
+                set.add(result); // sort them
+                //logln(++counter + ": " + hex.transliterate(result));
+                //logln(" = " + name.transliterate(result));
+            }
+            expectEqual(i + ": ", testArray[i][0], collectionToString(set), testArray[i][1]);
+            it.reset();
+            if(!it.next().equals(first)){
+                errln("CanonicalIterator.reset() failed");
+            }
+            if(!it.getSource().equals(Normalizer.normalize(testArray[i][0],Normalizer.NFD))){
+                errln("CanonicalIterator.getSource() does not return NFD of input source");
+            }
+        }
+    }
+    
+    public void expectEqual(String message, String item, Object a, Object b) {
+        if (!a.equals(b)) {
+            errln("FAIL: " + message + getReadable(item));
+            errln("\t" + getReadable(a));
+            errln("\t" + getReadable(b));
+        } else {
+            logln("Checked: " + message + getReadable(item));
+            logln("\t" + getReadable(a));
+            logln("\t" + getReadable(b));
+        }
+    }
+    
+    //Transliterator name = null;
+    //Transliterator hex = null;
+        
+    public String getReadable(Object obj) {
+        if (obj == null) return "null";
+        String s = obj.toString();
+        if (s.length() == 0) return "";
+        // set up for readable display
+        //if (name == null) name = Transliterator.getInstance("[^\\ -\\u007F] name");
+        //if (hex == null) hex = Transliterator.getInstance("[^\\ -\\u007F] hex");
+        return "[" + (SHOW_NAMES ? hex(s) + "; " : "") + hex(s) + "]";
+    }
+    
+    public void characterTest(String s, int ch, CanonicalIterator it)
+    {
+        int counter = 0;
+        int mixedCounter = 0;
+        int lastMixedCounter = -1;
+        boolean gotDecomp = false;
+        boolean gotComp = false;
+        boolean gotSource = false;
+        String decomp = Normalizer.decompose(s, false);
+        String comp = Normalizer.compose(s, false);
+        
+        // skip characters that don't have either decomp.
+        // need quick test for this!
+        if (s.equals(decomp) && s.equals(comp)) return;
+        
+        it.setSource(s);
+
+        while (true) {
+            String item = it.next();
+            if (item == null) break;
+            if (item.equals(s)) gotSource = true;
+            if (item.equals(decomp)) gotDecomp = true;
+            if (item.equals(comp)) gotComp = true;
+            if ((mixedCounter & 0x7F) == 0 && (ch < 0xAD00 || ch > 0xAC00 + 11172)) {
+                if (lastMixedCounter != mixedCounter) {
+                    logln("");
+                    lastMixedCounter = mixedCounter;
+                }
+                logln("\t" + mixedCounter + "\t" + hex(item)
+                + (item.equals(s) ? "\t(*original*)" : "")
+                + (item.equals(decomp) ? "\t(*decomp*)" : "")
+                + (item.equals(comp) ? "\t(*comp*)" : "")
+                );
+            }
+
+        }
+        
+        // check that zeros optimization doesn't mess up.
+        /*
+        if (true) {
+            it.reset();
+            itSet.clear();
+            while (true) {
+                String item = it.next();
+                if (item == null) break;
+                itSet.add(item);
+            }
+            slowIt.setSource(s);
+            slowItSet.clear();
+            while (true) {
+                String item = slowIt.next();
+                if (item == null) break;
+                slowItSet.add(item);
+            }
+            if (!itSet.equals(slowItSet)) {
+                errln("Zero optimization failure with " + getReadable(s));
+            }
+        }
+        */
+        
+        mixedCounter++;
+        if (!gotSource || !gotDecomp || !gotComp) {
+            errln("FAIL CanonicalIterator: " + s + " decomp: " +decomp+" comp: "+comp);
+            it.reset();
+            for(String item=it.next();item!=null;item=it.next()){
+                err(item + "    ");
+            }
+            errln("");   
+        }
+    }
+    
+    static String collectionToString(Collection col) {
+        StringBuffer result = new StringBuffer();
+        Iterator it = col.iterator();
+        while (it.hasNext()) {
+            if (result.length() != 0) result.append(", ");
+            result.append(it.next().toString());
+        }
+        return result.toString();
+    }
+}
\ No newline at end of file
diff --git a/src/com/ibm/icu/dev/test/normalizer/TestDeprecatedNormalizerAPI.java b/src/com/ibm/icu/dev/test/normalizer/TestDeprecatedNormalizerAPI.java
new file mode 100644
index 0000000..2479151
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/normalizer/TestDeprecatedNormalizerAPI.java
@@ -0,0 +1,176 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.test.normalizer;
+
+import com.ibm.icu.dev.test.TestFmwk;
+import com.ibm.icu.impl.NormalizerImpl;
+import com.ibm.icu.impl.Utility;
+import com.ibm.icu.lang.UCharacter;
+import com.ibm.icu.text.ComposedCharIter;
+import com.ibm.icu.text.Normalizer;
+import com.ibm.icu.text.StringCharacterIterator;
+
+public class TestDeprecatedNormalizerAPI extends TestFmwk
+{
+     
+    public static void main(String[] args) throws Exception
+    {
+        String[] tempArgs = new String[args.length];
+        int count = 0;
+
+        // Allow the test to be pointed at a specific version of the Unicode database
+        //for (int i = 0; i < args.length; i++)
+        //{
+        //    if (args[i].equals("-data")) {
+        //        tempInfo = new UInfo(args[++i], args[++i]);
+        //    } else {
+        //        tempArgs[count++] = args[i];
+        //    }
+        //}
+
+        args = new String[count];
+        System.arraycopy(tempArgs, 0, args, 0, count);
+
+
+
+        new TestDeprecatedNormalizerAPI().run(args);
+    }
+    
+    public TestDeprecatedNormalizerAPI() {
+    }
+
+    public void TestNormalizerAPI(){
+         // instantiate a Normalizer from a CharacterIterator
+        String s=Utility.unescape("a\u0308\uac00\\U0002f800");
+        // make s a bit longer and more interesting
+        java.text.CharacterIterator iter = new StringCharacterIterator(s+s);
+        //test deprecated constructors
+        Normalizer norm = new Normalizer(iter, Normalizer.NFC,0);
+        Normalizer norm2 = new Normalizer(s,Normalizer.NFC,0);
+        if(norm.next()!=0xe4) {
+            errln("error in Normalizer(CharacterIterator).next()");
+        }       
+        // test clone(), ==, and hashCode()
+        Normalizer clone=(Normalizer)norm.clone();
+        if(clone.getBeginIndex()!= norm.getBeginIndex()){
+           errln("error in Normalizer.getBeginIndex()");
+        }
+        
+        if(clone.getEndIndex()!= norm.getEndIndex()){
+           errln("error in Normalizer.getEndIndex()");
+        }
+        // test setOption() and getOption()
+        clone.setOption(0xaa0000, true);
+        clone.setOption(0x20000, false);
+        if(clone.getOption(0x880000) ==0|| clone.getOption(0x20000)==1) {
+           errln("error in Normalizer::setOption() or Normalizer::getOption()");
+        }
+        //test deprecated normalize method
+        Normalizer.normalize(s,Normalizer.NFC,0);
+        //test deprecated compose method
+        Normalizer.compose(s,false,0);
+        //test deprecated decompose method
+        Normalizer.decompose(s,false,0);
+
+    }
+
+    /**
+     * Run through all of the characters returned by a composed-char iterator
+     * and make sure that:
+     * <ul>
+     * <li>a) They do indeed have decompositions.
+     * <li>b) The decomposition according to the iterator is the same as
+     *          returned by Normalizer.decompose().
+     * <li>c) All characters <em>not</em> returned by the iterator do not
+     *          have decompositions.
+     * </ul>
+     */
+    public void TestComposedCharIter() {
+        doTestComposedChars(false);
+    }
+
+    public void doTestComposedChars(boolean compat) {
+        int options = Normalizer.IGNORE_HANGUL;
+        ComposedCharIter iter = new ComposedCharIter(compat, options);
+
+        char lastChar = 0;
+
+        while (iter.hasNext()) {
+            char ch = iter.next();
+
+            // Test all characters between the last one and this one to make
+            // sure that they don't have decompositions
+            assertNoDecomp(lastChar, ch, compat, options);
+            lastChar = ch;
+
+            // Now make sure that the decompositions for this character
+            // make sense
+            String chString   = new StringBuffer().append(ch).toString();
+            String iterDecomp = iter.decomposition();
+            String normDecomp = Normalizer.decompose(chString, compat);
+
+            if (iterDecomp.equals(chString)) {
+                errln("ERROR: " + hex(ch) + " has identical decomp");
+            }
+            else if (!iterDecomp.equals(normDecomp)) {
+                errln("ERROR: Normalizer decomp for " + hex(ch) + " (" + hex(normDecomp) + ")"
+                    + " != iter decomp (" + hex(iterDecomp) + ")" );
+            }
+        }
+        assertNoDecomp(lastChar, '\uFFFF', compat, options);
+    }
+
+    void assertNoDecomp(char start, char limit, boolean compat, int options)
+    {
+        for (char x = ++start; x < limit; x++) {
+            String xString   = new StringBuffer().append(x).toString();
+            String decomp = Normalizer.decompose(xString, compat);
+            if (!decomp.equals(xString)) {
+                errln("ERROR: " + hex(x) + " has decomposition (" + hex(decomp) + ")"
+                    + " but was not returned by iterator");
+            }
+        }
+    }
+
+
+    public void TestRoundTrip() {
+        int options = Normalizer.IGNORE_HANGUL;
+        boolean compat = false;
+
+        ComposedCharIter iter = new ComposedCharIter(false, options);
+        while (iter.hasNext()) {
+            char ch = iter.next();
+
+            String chStr = new StringBuffer().append(ch).toString();
+            String decomp = Normalizer.decompose(chStr, compat);
+            String comp = Normalizer.compose(decomp, compat);
+
+            int cClass = UCharacter.getCombiningClass(decomp.charAt(0));
+            cClass = 0;
+
+            if (NormalizerImpl.isFullCompositionExclusion(ch)) {
+                logln("Skipped excluded char " + hex(ch) + " (" + UCharacter.getName(ch) + ")" );
+                continue;
+            }
+
+            // Avoid disparaged characters
+            if (getDecomposition(ch,compat).length() == 4) continue;
+
+            if (!comp.equals(chStr)) {
+                errln("ERROR: Round trip invalid: " + hex(chStr) + " --> " + hex(decomp)
+                    + " --> " + hex(comp));
+
+                errln("  char decomp is '" + getDecomposition(ch,compat) + "'");
+            }
+        }
+    }
+    private String getDecomposition(char ch, boolean compat){
+        char[] dest = new char[10];   
+        int length = NormalizerImpl.getDecomposition(ch,compat,dest,0,dest.length);   
+        return new String(dest,0,length);
+    }
+}
diff --git a/src/com/ibm/icu/dev/test/normalizer/UnicodeNormalizer.java b/src/com/ibm/icu/dev/test/normalizer/UnicodeNormalizer.java
new file mode 100644
index 0000000..c560dc8
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/normalizer/UnicodeNormalizer.java
@@ -0,0 +1,185 @@
+/**
+ * Implements Unicode Normalization Forms C, D, KC, KD.<br>
+ * See UTR#15 for details.<br>
+ * Copyright (C) 1998-2003 International Business Machines Corporation and
+ * Unicode, Inc. All Rights Reserved.<br>
+ * The Unicode Consortium makes no expressed or implied warranty of any
+ * kind, and assumes no liability for errors or omissions.
+ * No liability is assumed for incidental and consequential damages
+ * in connection with or arising out of the use of the information here.
+ * @author Mark Davis
+ * Updates for supplementary code points:
+ * Vladimir Weinstein & Markus Scherer
+ */
+
+package com.ibm.icu.dev.test.normalizer;
+
+import com.ibm.icu.dev.test.UTF16Util;
+
+public class UnicodeNormalizer {
+    static final String copyright = "Copyright (C) 1998-2003 International Business Machines Corporation and Unicode, Inc.";
+
+    /**
+     * Create a normalizer for a given form.
+     */
+    public UnicodeNormalizer(byte form, boolean fullData) {
+        this.form = form;
+        if (data == null) data = NormalizerBuilder.build(fullData); // load 1st time
+    }
+
+    /**
+    * Masks for the form selector
+    */
+    static final byte
+        COMPATIBILITY_MASK = 1,
+        COMPOSITION_MASK = 2;
+
+    /**
+    * Normalization Form Selector
+    */
+    public static final byte
+        D = 0 ,
+        C = COMPOSITION_MASK,
+        KD = COMPATIBILITY_MASK,
+        KC = (byte)(COMPATIBILITY_MASK + COMPOSITION_MASK);
+
+    /**
+    * Normalizes text according to the chosen form,
+    * replacing contents of the target buffer.
+    * @param   source      the original text, unnormalized
+    * @param   target      the resulting normalized text
+    */
+    public StringBuffer normalize(String source, StringBuffer target) {
+
+        // First decompose the source into target,
+        // then compose if the form requires.
+
+        if (source.length() != 0) {
+            internalDecompose(source, target);
+            if ((form & COMPOSITION_MASK) != 0) {
+                internalCompose(target);
+            }
+        }
+        return target;
+    }
+
+    /**
+    * Normalizes text according to the chosen form
+    * @param   source      the original text, unnormalized
+    * @return  target      the resulting normalized text
+    */
+    public String normalize(String source) {
+        return normalize(source, new StringBuffer()).toString();
+    }
+
+    // ======================================
+    //                  PRIVATES
+    // ======================================
+
+    /**
+     * The current form.
+     */
+    private byte form;
+
+    /**
+    * Decomposes text, either canonical or compatibility,
+    * replacing contents of the target buffer.
+    * @param   form        the normalization form. If COMPATIBILITY_MASK
+    *                      bit is on in this byte, then selects the recursive
+    *                      compatibility decomposition, otherwise selects
+    *                      the recursive canonical decomposition.
+    * @param   source      the original text, unnormalized
+    * @param   target      the resulting normalized text
+    */
+    private void internalDecompose(String source, StringBuffer target) {
+        StringBuffer buffer = new StringBuffer();
+        boolean canonical = (form & COMPATIBILITY_MASK) == 0;
+        int ch;
+        for (int i = 0; i < source.length();) {
+            buffer.setLength(0);
+            ch = UTF16Util.nextCodePoint(source, i);
+            i+=UTF16Util.codePointLength(ch);
+            data.getRecursiveDecomposition(canonical, ch, buffer);
+
+            // add all of the characters in the decomposition.
+            // (may be just the original character, if there was
+            // no decomposition mapping)
+
+            for (int j = 0; j < buffer.length();) {
+                ch = UTF16Util.nextCodePoint(buffer, j);
+                j+=UTF16Util.codePointLength(ch);
+                int chClass = data.getCanonicalClass(ch);
+                int k = target.length(); // insertion point
+                if (chClass != 0) {
+
+                    // bubble-sort combining marks as necessary
+
+                    int ch2;
+                    for (; k > 0; k -= UTF16Util.codePointLength(ch2)) {
+                        ch2 = UTF16Util.prevCodePoint(target, k);
+                        if (data.getCanonicalClass(ch2) <= chClass) break;
+                    }
+                }
+                UTF16Util.insertCodePoint(target, k, ch);
+            }
+        }
+    }
+
+    /**
+    * Composes text in place. Target must already
+    * have been decomposed.
+    * @param   target      input: decomposed text.
+    *                      output: the resulting normalized text.
+    */
+    private void internalCompose(StringBuffer target) {
+
+        int starterPos = 0;
+        int starterCh = UTF16Util.nextCodePoint(target,0);
+        int compPos = UTF16Util.codePointLength(starterCh);
+        int lastClass = data.getCanonicalClass(starterCh);
+        if (lastClass != 0) lastClass = 256; // fix for irregular combining sequence
+
+        // Loop on the decomposed characters, combining where possible
+
+        for (int decompPos = UTF16Util.codePointLength(starterCh); decompPos < target.length(); ) {
+            int ch = UTF16Util.nextCodePoint(target, decompPos);
+            decompPos += UTF16Util.codePointLength(ch);
+            int chClass = data.getCanonicalClass(ch);
+            int composite = data.getPairwiseComposition(starterCh, ch);
+            if (composite != NormalizerData.NOT_COMPOSITE
+            && (lastClass < chClass || lastClass == 0)) {
+                UTF16Util.setCodePointAt(target, starterPos, composite);
+                starterCh = composite;
+            } else {
+                if (chClass == 0) {
+                    starterPos = compPos;
+                    starterCh  = ch;
+                }
+                lastClass = chClass;
+                decompPos += UTF16Util.setCodePointAt(target, compPos, ch);
+                compPos += UTF16Util.codePointLength(ch);
+            }
+        }
+        target.setLength(compPos);
+    }
+
+    /**
+    * Contains normalization data from the Unicode Character Database.
+    * use false for the minimal set, true for the real set.
+    */
+    private static NormalizerData data = null;
+
+    /**
+    * Just accessible for testing.
+    */
+    boolean getExcluded (char ch) {
+        return data.getExcluded(ch);
+    }
+
+    /**
+    * Just accessible for testing.
+    */
+    String getRawDecompositionMapping (char ch) {
+        return data.getRawDecompositionMapping(ch);
+    }
+}
\ No newline at end of file
diff --git a/src/com/ibm/icu/dev/test/normalizer/UnicodeNormalizerConformanceTest.java b/src/com/ibm/icu/dev/test/normalizer/UnicodeNormalizerConformanceTest.java
new file mode 100644
index 0000000..e559656
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/normalizer/UnicodeNormalizerConformanceTest.java
@@ -0,0 +1,268 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+package com.ibm.icu.dev.test.normalizer;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+
+import com.ibm.icu.dev.test.TestFmwk;
+import com.ibm.icu.dev.test.TestUtil;
+import com.ibm.icu.text.UTF16;
+import com.ibm.icu.text.UnicodeSet;
+
+
+public class UnicodeNormalizerConformanceTest extends TestFmwk {
+
+    UnicodeNormalizer normalizer_C, normalizer_D, normalizer_KC, normalizer_KD;
+
+    public static void main(String[] args) throws Exception {
+        new UnicodeNormalizerConformanceTest().run(args);
+    }
+    
+    public UnicodeNormalizerConformanceTest() {
+        // Doesn't matter what the string and mode are; we'll change
+        // them later as needed.
+        normalizer_C = new UnicodeNormalizer(UnicodeNormalizer.C, true);
+        normalizer_D = new UnicodeNormalizer(UnicodeNormalizer.D, false);
+        normalizer_KC = new UnicodeNormalizer(UnicodeNormalizer.KC, false);
+        normalizer_KD = new UnicodeNormalizer(UnicodeNormalizer.KD, false);
+        
+    }
+    // more interesting conformance test cases, not in the unicode.org NormalizationTest.txt
+    static  String[] moreCases ={
+        // Markus 2001aug30
+        "0061 0332 0308;00E4 0332;0061 0332 0308;00E4 0332;0061 0332 0308; # Markus 0",
+    
+        // Markus 2001oct26 - test edge case for iteration: U+0f73.cc==0 but decomposition.lead.cc==129
+        "0061 0301 0F73;00E1 0F71 0F72;0061 0F71 0F72 0301;00E1 0F71 0F72;0061 0F71 0F72 0301; # Markus 1"
+    };
+
+    /**
+     * Test the conformance of NewNormalizer to
+     * http://www.unicode.org/unicode/reports/tr15/conformance/Draft-TestSuite.txt.
+     * This file must be located at the path specified as TEST_SUITE_FILE.
+     */
+    public void TestConformance() throws Exception{
+        BufferedReader input = null;
+        String line = null;
+        String[] fields = new String[5];
+        StringBuffer buf = new StringBuffer();
+        int passCount = 0;
+        int failCount = 0;
+        UnicodeSet other = new UnicodeSet(0, 0x10ffff);
+        int c=0;
+        try {
+            input = TestUtil.getDataReader("unicode/NormalizationTest.txt");
+            for (int count = 0;;++count) {
+                line = input.readLine();
+                if (line == null) {
+                    //read the extra test cases
+                    if(count > moreCases.length) {
+                        count = 0;
+                    } else if(count == moreCases.length) {
+                        // all done
+                        break;
+                    }
+                    line = moreCases[count++];
+                }
+                if (line.length() == 0) continue;
+
+                // Expect 5 columns of this format:
+                // 1E0C;1E0C;0044 0323;1E0C;0044 0323; # <comments>
+
+                // Skip comments
+                if (line.charAt(0) == '#'  || line.charAt(0)=='@') continue;
+
+                // Parse out the fields
+                hexsplit(line, ';', fields, buf);
+                
+                // Remove a single code point from the "other" UnicodeSet
+                if(fields[0].length()==UTF16.moveCodePointOffset(fields[0],0, 1)) {
+                    c=UTF16.charAt(fields[0],0); 
+                    if(0xac20<=c && c<=0xd73f) {
+                        // not an exhaustive test run: skip most Hangul syllables
+                        if(c==0xac20) {
+                            other.remove(0xac20, 0xd73f);
+                        }
+                        continue;
+                    }
+                    other.remove(c);
+                }
+                if (checkConformance(fields, line)) {
+                    ++passCount;
+                } else {
+                    ++failCount;
+                }
+                if ((count % 1000) == 999) {
+                    logln("Line " + (count+1));
+                }
+            }
+        } catch (IOException ex) {
+            try {
+                input.close();
+            } catch (Exception ex2) {
+                System.out.print("");
+            }
+            ex.printStackTrace();
+            throw new IllegalArgumentException("Couldn't read file "
+              + ex.getClass().getName() + " " + ex.getMessage()
+              + " line = " + line
+              );
+        }
+
+        if (failCount != 0) {
+            errln("Total: " + failCount + " lines failed, " +
+                  passCount + " lines passed");
+        } else {
+            logln("Total: " + passCount + " lines passed");
+        }
+    }
+    
+    /**
+     * Verify the conformance of the given line of the Unicode
+     * normalization (UTR 15) test suite file.  For each line,
+     * there are five columns, corresponding to field[0]..field[4].
+     *
+     * The following invariants must be true for all conformant implementations
+     *  c2 == NFC(c1) == NFC(c2) == NFC(c3)
+     *  c3 == NFD(c1) == NFD(c2) == NFD(c3)
+     *  c4 == NFKC(c1) == NFKC(c2) == NFKC(c3) == NFKC(c4) == NFKC(c5)
+     *  c5 == NFKD(c1) == NFKD(c2) == NFKD(c3) == NFKD(c4) == NFKD(c5)
+     *
+     * @param field the 5 columns
+     * @param line the source line from the test suite file
+     * @return true if the test passes
+     */
+    private boolean checkConformance(String[] field, String line) throws Exception{
+        boolean pass = true;
+       // StringBuffer buf = new StringBuffer(); // scratch
+        String out;
+        int i=0;
+        for (i=0; i<5; ++i) {
+            if (i<3) {
+                out = normalizer_C.normalize(field[i]);
+                pass &= assertEqual("C", field[i], out, field[1], "c2!=C(c" + (i+1));
+                 
+                out = normalizer_D.normalize(field[i]);
+                pass &= assertEqual("D", field[i], out, field[2], "c3!=D(c" + (i+1));
+                
+            }
+            out = normalizer_KC.normalize(field[i]);
+            pass &= assertEqual("KC", field[i], out, field[3], "c4!=KC(c" + (i+1));
+
+            out = normalizer_KD.normalize(field[i]);
+            pass &= assertEqual("KD", field[i], out, field[4], "c5!=KD(c" + (i+1));
+              
+        }
+        
+        if (!pass) {
+            errln("FAIL: " + line);
+        }     
+       
+        return pass;
+    }
+    
+    /**
+     * @param op name of normalization form, e.g., "KC"
+     * @param s string being normalized
+     * @param got value received
+     * @param exp expected value
+     * @param msg description of this test
+     * @returns true if got == exp
+     */
+    private boolean assertEqual(String op, String s, String got,
+                                String exp, String msg) {
+        if (exp.equals(got)) {
+            return true;
+        }
+        errln(("      " + msg + ") " + op + "(" + s + ")=" + hex(got) +
+                             ", exp. " + hex(exp)));
+        return false;
+    }
+
+    /**
+     * Split a string into pieces based on the given delimiter
+     * character.  Then, parse the resultant fields from hex into
+     * characters.  That is, "0040 0400;0C00;0899" -> new String[] {
+     * "\u0040\u0400", "\u0C00", "\u0899" }.  The output is assumed to
+     * be of the proper length already, and exactly output.length
+     * fields are parsed.  If there are too few an exception is
+     * thrown.  If there are too many the extras are ignored.
+     *
+     * @param buf scratch buffer
+     */
+    private static void hexsplit(String s, char delimiter,
+                                 String[] output, StringBuffer buf) {
+        int i;
+        int pos = 0;
+        for (i=0; i<output.length; ++i) {
+            int delim = s.indexOf(delimiter, pos);
+            if (delim < 0) {
+                throw new IllegalArgumentException("Missing field in " + s);
+            }
+            // Our field is from pos..delim-1.
+            buf.setLength(0);
+            
+            String toHex = s.substring(pos,delim);
+            pos = delim;
+            int index = 0;
+            int len = toHex.length();
+            while(index< len){
+                if(toHex.charAt(index)==' '){
+                    index++;
+                }else{
+                    int spacePos = toHex.indexOf(' ', index);
+                    if(spacePos==-1){
+                        appendInt(buf,toHex.substring(index,len),s);
+                        spacePos = len;
+                    }else{
+                        appendInt(buf,toHex.substring(index, spacePos),s);
+                    }
+                    index = spacePos+1;
+                }
+            }
+            
+            if (buf.length() < 1) {
+                throw new IllegalArgumentException("Empty field " + i + " in " + s);
+            }
+            output[i] = buf.toString();
+            ++pos; // Skip over delim
+        }
+    }
+    public static void appendInt(StringBuffer buf, String strToHex, String s){
+        int hex = Integer.parseInt(strToHex,16);
+        if (hex < 0 ) {
+            throw new IllegalArgumentException("Out of range hex " +
+                                                hex + " in " + s);
+        }else if (hex > 0xFFFF){
+            buf.append((char)((hex>>10)+0xd7c0)); 
+            buf.append((char)((hex&0x3ff)|0xdc00));
+        }else{
+            buf.append((char) hex);
+        }
+    }
+            
+    // Specific tests for debugging.  These are generally failures
+    // taken from the conformance file, but culled out to make
+    // debugging easier.  These can be eliminated without affecting
+    // coverage.
+
+    public void _hideTestCase6() throws Exception{
+        _testOneLine("0385;0385;00A8 0301;0020 0308 0301;0020 0308 0301;");
+    }
+
+    public void _testOneLine(String line) throws Exception{
+        String[] fields = new String[5];
+        StringBuffer buf = new StringBuffer();
+        // Parse out the fields
+        hexsplit(line, ';', fields, buf);
+        checkConformance(fields, line);
+    }
+    
+
+}
diff --git a/src/com/ibm/icu/dev/test/normalizer/package.html b/src/com/ibm/icu/dev/test/normalizer/package.html
new file mode 100755
index 0000000..d7a927a
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/normalizer/package.html
@@ -0,0 +1,12 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html>
+<head>
+<!--  Copyright (C) 2000-2004, International Business Machines Corporation and
+  others. All Rights Reserved.
+
+-->
+</head>
+<body bgcolor="white">
+Tests for Normalizer.
+</body>
+</html>
\ No newline at end of file
diff --git a/src/com/ibm/icu/dev/test/package.html b/src/com/ibm/icu/dev/test/package.html
new file mode 100755
index 0000000..61370bf
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/package.html
@@ -0,0 +1,12 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html>
+<head>
+<!--  Copyright (C) 2000-2004, International Business Machines Corporation and
+  others. All Rights Reserved.
+
+-->
+</head>
+<body bgcolor="white">
+Shared utilities for tests.
+</body>
+</html>
\ No newline at end of file
diff --git a/src/com/ibm/icu/dev/test/perf/CollationPerformanceTest.java b/src/com/ibm/icu/dev/test/perf/CollationPerformanceTest.java
new file mode 100644
index 0000000..73f68318
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/perf/CollationPerformanceTest.java
@@ -0,0 +1,1262 @@
+/**
+*******************************************************************************
+* Copyright (C) 2002-2004, International Business Machines Corporation and    *
+* others. All Rights Reserved.                                                *
+*******************************************************************************
+*/
+
+package com.ibm.icu.dev.test.perf;
+
+import com.ibm.icu.text.*;
+import java.util.*;
+import java.io.*;
+import com.ibm.icu.impl.LocaleUtility;
+
+public class CollationPerformanceTest {
+    static final String usageString = 
+        "usage:  collperf options...\n"
+        + "-help                      Display this message.\n"
+        + "-file file_name            utf-16 format file of names.\n"
+        + "-locale name               ICU locale to use.  Default is en_US\n"
+        + "-rules file_name           Collation rules file (overrides locale)\n"
+        //+ "-langid 0x1234             Windows Language ID number.  Default to value for -locale option\n"
+        //+ "                              see http://msdn.microsoft.com/library/psdk/winbase/nls_8xo3.htm\n"
+        //+ "-win                       Run test using Windows native services.  (ICU is default)\n"
+        //+ "-unix                      Run test using Unix strxfrm, strcoll services.\n"
+        //+ "-uselen                    Use API with string lengths.  Default is null-terminated strings\n"
+        + "-usekeys                   Run tests using sortkeys rather than strcoll\n"
+        + "-strcmp                    Run tests using u_strcmp rather than strcoll\n"
+        + "-strcmpCPO                 Run tests using u_strcmpCodePointOrder rather than strcoll\n"
+        + "-loop nnnn                 Loopcount for test.  Adjust for reasonable total running time.\n"
+        + "-iloop n                   Inner Loop Count.  Default = 1.  Number of calls to function\n"
+        + "                               under test at each call point.  For measuring test overhead.\n"
+        + "-terse                     Terse numbers-only output.  Intended for use by scripts.\n"
+        + "-french                    French accent ordering\n"
+        + "-frenchoff                 No French accent ordering (for use with French locales.)\n"
+        + "-norm                      Normalizing mode on\n"
+        + "-shifted                   Shifted mode\n"
+        + "-lower                     Lower case first\n"
+        + "-upper                     Upper case first\n"
+        + "-case                      Enable separate case level\n"
+        + "-level n                   Sort level, 1 to 5, for Primary, Secndary, Tertiary, Quaternary, Identical\n"
+        + "-keyhist                   Produce a table sort key size vs. string length\n"
+        + "-binsearch                 Binary Search timing test\n"
+        + "-keygen                    Sort Key Generation timing test\n"
+        + "-qsort                     Quicksort timing test\n"
+        + "-iter                      Iteration Performance Test\n"
+        + "-dump                      Display strings, sort keys and CEs.\n"
+        + "-java                      Run test using java.text.Collator.\n";
+    
+    //enum {FLAG, NUM, STRING} type;
+    static StringBuffer temp_opt_fName      = new StringBuffer("");
+    static StringBuffer temp_opt_locale     = new StringBuffer("en_US");
+    //static StringBuffer temp_opt_langid     = new StringBuffer("0");         // Defaults to value corresponding to opt_locale.
+    static StringBuffer temp_opt_rules      = new StringBuffer("");
+    static StringBuffer temp_opt_help       = new StringBuffer("");
+    static StringBuffer temp_opt_loopCount  = new StringBuffer("1");
+    static StringBuffer temp_opt_iLoopCount = new StringBuffer("1");
+    static StringBuffer temp_opt_terse      = new StringBuffer("false");
+    static StringBuffer temp_opt_qsort      = new StringBuffer("");
+    static StringBuffer temp_opt_binsearch  = new StringBuffer("");
+    static StringBuffer temp_opt_icu        = new StringBuffer("true");
+    //static StringBuffer opt_win        = new StringBuffer("");      // Run with Windows native functions.
+    //static StringBuffer opt_unix       = new StringBuffer("");      // Run with UNIX strcoll, strxfrm functions.
+    //static StringBuffer opt_uselen     = new StringBuffer("");
+    static StringBuffer temp_opt_usekeys    = new StringBuffer("");
+    static StringBuffer temp_opt_strcmp     = new StringBuffer("");
+    static StringBuffer temp_opt_strcmpCPO  = new StringBuffer("");
+    static StringBuffer temp_opt_norm       = new StringBuffer("");
+    static StringBuffer temp_opt_keygen     = new StringBuffer("");
+    static StringBuffer temp_opt_french     = new StringBuffer("");
+    static StringBuffer temp_opt_frenchoff  = new StringBuffer("");
+    static StringBuffer temp_opt_shifted    = new StringBuffer("");
+    static StringBuffer temp_opt_lower      = new StringBuffer("");
+    static StringBuffer temp_opt_upper      = new StringBuffer("");
+    static StringBuffer temp_opt_case       = new StringBuffer("");
+    static StringBuffer temp_opt_level      = new StringBuffer("0");
+    static StringBuffer temp_opt_keyhist    = new StringBuffer("");
+    static StringBuffer temp_opt_itertest   = new StringBuffer("");
+    static StringBuffer temp_opt_dump       = new StringBuffer("");
+    static StringBuffer temp_opt_java       = new StringBuffer("");
+    
+    
+    static String   opt_fName      = "";
+    static String   opt_locale     = "en_US";
+    //static int      opt_langid     = 0;         // Defaults to value corresponding to opt_locale.
+    static String   opt_rules      = "";
+    static boolean  opt_help       = false;
+    static int      opt_loopCount  = 1;
+    static int      opt_iLoopCount = 1;
+    static boolean  opt_terse      = false;
+    static boolean  opt_qsort      = false;
+    static boolean  opt_binsearch  = false;
+    static boolean  opt_icu        = true;
+    //static boolean  opt_win        = false;      // Run with Windows native functions.
+    //static boolean  opt_unix       = false;      // Run with UNIX strcoll, strxfrm functions.
+    //static boolean  opt_uselen     = false;
+    static boolean  opt_usekeys    = false;
+    static boolean  opt_strcmp     = false;
+    static boolean  opt_strcmpCPO  = false;
+    static boolean  opt_norm       = false;
+    static boolean  opt_keygen     = false;
+    static boolean  opt_french     = false;
+    static boolean  opt_frenchoff  = false;
+    static boolean  opt_shifted    = false;
+    static boolean  opt_lower      = false;
+    static boolean  opt_upper      = false;
+    static boolean  opt_case       = false;
+    static int      opt_level      = 0;
+    static boolean  opt_keyhist    = false;
+    static boolean  opt_itertest   = false;
+    static boolean  opt_dump       = false;
+    static boolean  opt_java       = false;
+
+    static OptionSpec[] options = {
+        new OptionSpec("-file", 2, temp_opt_fName),
+        new OptionSpec("-locale", 2, temp_opt_locale),
+        //new OptionSpec("-langid", 1, temp_opt_langid),
+        new OptionSpec("-rules", 2, temp_opt_rules),
+        new OptionSpec("-qsort", 0, temp_opt_qsort),
+        new OptionSpec("-binsearch", 0, temp_opt_binsearch),
+        new OptionSpec("-iter", 0, temp_opt_itertest),
+        //new OptionSpec("-win", 0, temp_opt_win),
+        //new OptionSpec("-unix", 0, temp_opt_unix),
+        //new OptionSpec("-uselen", 0, temp_opt_uselen),
+        new OptionSpec("-usekeys", 0, temp_opt_usekeys),
+        new OptionSpec("-strcmp", 0, temp_opt_strcmp),
+        new OptionSpec("-strcmpCPO", 0, temp_opt_strcmpCPO),
+        new OptionSpec("-norm", 0, temp_opt_norm),
+        new OptionSpec("-french", 0, temp_opt_french),
+        new OptionSpec("-frenchoff", 0, temp_opt_frenchoff),
+        new OptionSpec("-shifted", 0, temp_opt_shifted),
+        new OptionSpec("-lower", 0, temp_opt_lower),
+        new OptionSpec("-upper", 0, temp_opt_upper),
+        new OptionSpec("-case", 0, temp_opt_case),
+        new OptionSpec("-level", 1, temp_opt_level),
+        new OptionSpec("-keyhist", 0, temp_opt_keyhist),
+        new OptionSpec("-keygen", 0, temp_opt_keygen),
+        new OptionSpec("-loop", 1, temp_opt_loopCount),
+        new OptionSpec("-iloop", 1, temp_opt_iLoopCount),
+        new OptionSpec("-terse", 0, temp_opt_terse),
+        new OptionSpec("-dump", 0, temp_opt_dump),
+        new OptionSpec("-help", 0, temp_opt_help),
+        new OptionSpec("-?", 0, temp_opt_help),
+        new OptionSpec("-java", 0, temp_opt_java),
+    };
+    
+    static java.text.Collator javaCol = null;
+    static com.ibm.icu.text.Collator icuCol = null;
+    static NumberFormat nf = null;
+    static NumberFormat percent = null;
+    ArrayList list = null;
+    String[] tests = null;
+    int globalCount = 0;
+    
+    public static void main(String[] args) {
+        CollationPerformanceTest collPerf = new CollationPerformanceTest();
+        if ( !CollationPerformanceTest.processOptions(args) || opt_help || opt_fName.length()==0) {
+            System.out.println(usageString);
+            System.exit(1);
+        }
+        
+        nf = NumberFormat.getInstance();
+        nf.setMaximumFractionDigits(2);
+        percent = NumberFormat.getPercentInstance();
+        
+        collPerf.setOptions();
+        collPerf.readDataLines();
+        
+        if (opt_dump) {
+            collPerf.doDump();
+        }
+        
+        if (opt_qsort) {
+            collPerf.doQSort();
+        }
+        
+        if (opt_binsearch) {
+            collPerf.doBinarySearch();
+        }
+        
+        if (opt_keygen) {
+            collPerf.doKeyGen();
+        }
+        
+        if (opt_keyhist) {
+            collPerf.doKeyHist();
+        }
+        
+        if (opt_itertest) {
+            collPerf.doIterTest();
+        }
+        
+    }
+    
+    //Dump file lines, CEs, Sort Keys if requested
+    void doDump() {
+        for(int i = 0; i < list.size(); i++) {
+            //print the line
+            String line = com.ibm.icu.impl.Utility.escape((String)list.get(i));
+            System.out.println(line);
+            
+            System.out.print("  CEs:  ");
+            CollationElementIterator CEiter = ((com.ibm.icu.text.RuleBasedCollator)icuCol).getCollationElementIterator(line);
+            int ce;
+            int j = 0;
+            for(;;) {
+                ce = CEiter.next();
+                if (ce == CollationElementIterator.NULLORDER) {
+                    break;
+                }
+                //System.out.print();
+                String outStr = Integer.toHexString(ce); 
+                for (int len = 0; len < 8 - outStr.length(); len++) {
+                    outStr ='0' + outStr;
+                }
+                System.out.print(outStr + "  ");
+                if(++j >8) {
+                    System.out.print("\n        ");
+                    j = 0;
+                }
+            }
+                
+            System.out.print("\n   ICU Sort Key: ");
+            CollationKey ck = ((com.ibm.icu.text.RuleBasedCollator)icuCol).getCollationKey(line);
+            byte[] cks = ck.toByteArray();
+            j = 0;
+            for(int k = 0; k < cks.length; k++) {
+                String outStr = Integer.toHexString(cks[k]);
+                switch (outStr.length()) {
+                case 1:     outStr = '0' + outStr;
+                            break;
+                case 8:     outStr = outStr.substring(6);
+                            break; 
+                }
+                System.out.print(outStr);
+                System.out.print("  ");
+                j++;
+                if(j > 0 && j % 20 == 0) {
+                    System.out.print("\n                 ");
+                }
+            }
+            System.out.println("\n");
+        }
+    }
+    
+    /**---------------------------------------------------------------------------------------
+     *
+     *   doQSort()    The quick sort timing test.
+     *
+     *---------------------------------------------------------------------------------------
+     */
+    void doQSort() {
+        callGC();
+        //String[] sortTests = (String[]) tests.clone();
+        //Adjust loop count to compensate for file size. QSort should be nlog(n) 
+        double dLoopCount = opt_loopCount * 3000 / ((Math.log(tests.length) / Math.log(10)* tests.length));
+ 
+        if(opt_usekeys) {
+            dLoopCount *= 5;
+        }
+        
+        int adj_loopCount = (int)dLoopCount;
+        if(adj_loopCount < 1) {
+            adj_loopCount = 1;
+        }
+        
+        globalCount = 0;
+        long startTime = 0;
+        long endTime = 0;
+        if (opt_icu && opt_usekeys) {
+            startTime = System.currentTimeMillis();
+            qSortImpl_icu_usekeys(tests, 0, tests.length -1, icuCol);
+            endTime = System.currentTimeMillis();
+        }
+        if (opt_icu && !opt_usekeys){
+            startTime = System.currentTimeMillis();
+            qSortImpl_nokeys(tests, 0, tests.length -1, icuCol);
+            endTime = System.currentTimeMillis();
+        }
+        if (opt_java && opt_usekeys) {
+            startTime = System.currentTimeMillis();
+            qSortImpl_java_usekeys(tests, 0, tests.length -1, javaCol);
+            endTime = System.currentTimeMillis();
+        }
+        if (opt_java && !opt_usekeys){
+            startTime = System.currentTimeMillis();
+            qSortImpl_nokeys(tests, 0, tests.length -1, javaCol);
+            endTime = System.currentTimeMillis();
+        }
+        long elapsedTime = endTime - startTime;
+        int ns = (int)(1000000 * elapsedTime / (globalCount + 0.0));
+        if (!opt_terse) {
+            System.out.println("qsort:  total # of string compares = " + globalCount);
+            System.out.println("qsort:  time per compare = " + ns);
+        } else {
+            System.out.println(ns);
+        }
+    }
+    
+    /**---------------------------------------------------------------------------------------
+     *
+     *    doBinarySearch()    Binary Search timing test.  Each name from the list
+     *                        is looked up in the full sorted list of names.
+     *
+     *---------------------------------------------------------------------------------------
+     */
+    void doBinarySearch() {
+        callGC();
+        int gCount = 0;
+        int loops = 0;
+        double dLoopCount = opt_loopCount * 3000 / (Math.log(tests.length) / Math.log(10)* tests.length);
+        long startTime = 0;
+        long elapsedTime = 0;
+        
+        if(opt_usekeys) {
+            dLoopCount *= 5;
+        }
+        int adj_loopCount = (int)dLoopCount;
+        if(adj_loopCount < 1) {
+            adj_loopCount = 1;
+        }
+        
+        //int opt2 = 0;
+        
+        for(;;) {   //not really a loop, just allows "break" to work, to simplify 
+                    //inadvertantly running more than one test through here
+            if(opt_strcmp) {
+                int r = 0;
+                startTime = System.currentTimeMillis();
+                for(loops = 0; loops < adj_loopCount; loops++) {
+                    for (int j = 0; j < tests.length; j++) {
+                        int hi = tests.length-1;
+                        int lo = 0;
+                        int guess = -1;
+                        for(;;) {
+                            int newGuess = (hi + lo) / 2;
+                            if(newGuess == guess){
+                                break;
+                            }
+                            guess = newGuess;
+                            r = tests[j].compareTo(tests[guess]);
+                            gCount++;
+                            if(r == 0) {
+                                break;
+                            }
+                            if (r < 0) {
+                                hi = guess;
+                            } else {
+                                lo = guess;
+                            }
+                        }
+                    }
+                }
+                elapsedTime = System.currentTimeMillis() - startTime;
+                break;
+            }
+            
+            if (opt_strcmpCPO) {
+                int r = 0;
+                startTime = System.currentTimeMillis();
+                for(loops = 0; loops < adj_loopCount; loops++) {
+                    for (int j = 0; j < tests.length; j++) {
+                        int hi = tests.length-1;
+                        int lo = 0;
+                        int guess = -1;
+                        for(;;) {
+                            int newGuess = (hi + lo) / 2;
+                            if(newGuess == guess){
+                                break;
+                            }
+                            guess = newGuess;
+                            r = com.ibm.icu.text.Normalizer.compare(tests[j], tests[guess], Normalizer.COMPARE_CODE_POINT_ORDER);
+                            gCount++;
+                            if(r == 0) {
+                                break;
+                            }
+                            if (r < 0) {
+                                hi = guess;
+                            } else {
+                                lo = guess;
+                            }
+                        }
+                    }
+                }
+                elapsedTime = System.currentTimeMillis() - startTime;
+                break;
+            }
+            
+            if (opt_icu) {
+               
+                int r = 0;
+                startTime = System.currentTimeMillis();
+                for (loops = 0; loops < adj_loopCount; loops++) {
+                    for (int j = 0; j < tests.length; j++) {
+                        int hi = tests.length - 1;
+                        int lo = 0;
+                        int guess = -1;
+                        for (;;) {
+                            int newGuess = (hi + lo) / 2;
+                            if (newGuess == guess) {
+                                break;
+                            }
+                            guess = newGuess;
+                            if (opt_usekeys) {
+                                com.ibm.icu.text.CollationKey sortKey1 = icuCol.getCollationKey(tests[j]);
+                                com.ibm.icu.text.CollationKey sortKey2 = icuCol.getCollationKey(tests[guess]);
+                                r = sortKey1.compareTo(sortKey2);
+                                gCount ++;
+                            } else {
+                                r = icuCol.compare(tests[j], tests[guess]);
+                                gCount++;
+                            }
+                            if (r == 0) {
+                                break;
+                            }
+                            if (r < 0) {
+                                hi = guess;
+                            } else {
+                                lo = guess;
+                            }
+                        }
+                    }
+                }
+                elapsedTime = System.currentTimeMillis() - startTime;
+                break;
+            }
+            if (opt_java) {
+               
+                int r = 0;
+                startTime = System.currentTimeMillis();
+                for (loops = 0; loops < adj_loopCount; loops++) {
+                    for (int j = 0; j < tests.length; j++) {
+                        int hi = tests.length - 1;
+                        int lo = 0;
+                        int guess = -1;
+                        for (;;) {
+                            int newGuess = (hi + lo) / 2;
+                            if (newGuess == guess) {
+                                break;
+                            }
+                            guess = newGuess;
+                            if (opt_usekeys) {
+                                java.text.CollationKey sortKey1 = javaCol.getCollationKey(tests[j]);
+                                java.text.CollationKey sortKey2 = javaCol.getCollationKey(tests[guess]);
+                                r = sortKey1.compareTo(sortKey2);
+                                gCount ++;
+                            } else {
+                                r = javaCol.compare(tests[j], tests[guess]);
+                                gCount++;
+                            }
+                            if (r == 0) {
+                                break;
+                            }
+                            if (r < 0) {
+                                hi = guess;
+                            } else {
+                                lo = guess;
+                            }
+                        }
+                    }
+                }
+                elapsedTime = System.currentTimeMillis() - startTime;
+                break;
+            }
+            break; 
+        }
+        int ns = (int)((float)(1000000) * (float)elapsedTime / (float)gCount);
+        if (!opt_terse) {
+            System.out.println("binary search:  total # of string compares = " + gCount);
+            System.out.println("binary search:  compares per loop = " + gCount / loops);
+            System.out.println("binary search:  time per compare = " + ns);
+        } else {
+            System.out.println(ns);
+        }
+    }
+    
+    /**---------------------------------------------------------------------------------------
+     *
+     *   doKeyGen()     Key Generation Timing Test
+     *
+     *---------------------------------------------------------------------------------------
+     */
+    void doKeyGen() {
+        callGC();
+        
+        // Adjust loop count to compensate for file size.   Should be order n
+        double dLoopCount = opt_loopCount * (1000.0 /  (double)list.size());
+        int adj_loopCount = (int)dLoopCount;
+        if (adj_loopCount < 1) adj_loopCount = 1;
+
+        long startTime = 0;
+        long totalKeyLen = 0;
+        long totalChars = 0;
+        if (opt_java) {
+            startTime = System.currentTimeMillis();
+            for (int loops=0; loops<adj_loopCount; loops++) {
+                for (int line=0; line < tests.length; line++) {
+                    for (int iLoop=0; iLoop < opt_iLoopCount; iLoop++) {
+                        totalChars += tests[line].length();
+                        byte[] sortKey = javaCol.getCollationKey(tests[line]).toByteArray();
+                        totalKeyLen += sortKey.length;
+                    }
+                }
+            }
+        } else {
+            startTime = System.currentTimeMillis();
+            for (int loops=0; loops<adj_loopCount; loops++) {
+                for (int line=0; line < tests.length; line++) {
+                    for (int iLoop=0; iLoop < opt_iLoopCount; iLoop++) {
+                        totalChars += tests[line].length();
+                        byte[] sortKey = icuCol.getCollationKey(tests[line]).toByteArray();
+                        totalKeyLen += sortKey.length;
+                    }
+                }
+            }
+        }
+        
+        long elapsedTime = System.currentTimeMillis() - startTime;
+        long ns = (long)(1000000 * elapsedTime / (adj_loopCount * tests.length + 0.0));
+        if (!opt_terse) {
+            System.out.println("Sort Key Generation:  total # of keys =" + adj_loopCount * tests.length);
+            System.out.println("Sort Key Generation:  time per key = " + ns + " ns");
+            System.out.println("Key Length / character = " + nf.format(totalKeyLen / (totalChars + 0.0)));
+        }
+        else {
+            System.out.print(ns + ",  ");
+            System.out.println(nf.format(totalKeyLen / (totalChars + 0.0)) + ", ");
+        }
+    }
+    
+    /**---------------------------------------------------------------------------------------
+     *
+     *    doKeyHist()       Output a table of data for average sort key size vs. string length.
+     *
+     *---------------------------------------------------------------------------------------
+     */
+    void doKeyHist() {
+        callGC();
+        int     maxLen = 0;
+
+        // Find the maximum string length
+        for (int i = 0; i < tests.length; i++) {
+            if (tests[i].length() > maxLen) maxLen = tests[i].length();
+        }
+        
+        int[] accumulatedLen  = new int[maxLen + 1];
+        int[] numKeysOfSize   = new int[maxLen + 1];
+        
+        // Fill the arrays...
+        for (int i = 0; i < tests.length; i++) {
+            int len = tests[i].length();
+            accumulatedLen[len] += icuCol.getCollationKey(tests[i]).toByteArray().length;
+            numKeysOfSize[len]  += 1;
+        }
+        
+        // And write out averages
+        System.out.println("String Length,  Avg Key Length,  Avg Key Len per char");
+        for (int i = 1; i <= maxLen; i++) {
+            if (numKeysOfSize[i] > 0) {
+                System.out.println(i + ", " + nf.format(accumulatedLen[i] / (numKeysOfSize[i]+ 0.0)) + ", " 
+                    + nf.format(accumulatedLen[i] / (numKeysOfSize[i] * i + 0.0)));
+            }
+        }
+        
+    }
+    
+    void doForwardIterTest() {
+        callGC();
+        System.out.print("\n\nPerforming forward iteration performance test with ");
+        System.out.println("performance test on strings from file -----------");
+    
+        CollationElementIterator iter = ((RuleBasedCollator)icuCol).getCollationElementIterator("");
+        
+        int gCount = 0;
+        int count = 0;
+        long startTime = System.currentTimeMillis();
+        while (count < opt_loopCount) {
+            int linecount = 0;
+            while (linecount < tests.length) {
+                String str = tests[linecount];
+                iter.setText(str);
+                while (iter.next() != CollationElementIterator.NULLORDER) {
+                    gCount++;
+                }
+                linecount ++;
+            }
+            count ++;
+        }
+        
+        long elapsedTime = System.currentTimeMillis() - startTime;
+        System.out.println("elapsedTime " + elapsedTime + " ms");
+        
+        // empty loop recalculation
+        count = 0;
+        startTime = System.currentTimeMillis();
+        while (count < opt_loopCount) { 
+            int linecount = 0;
+            while (linecount < tests.length) {
+                String str = tests[linecount];
+                iter.setText(str);
+                linecount ++;
+            }
+            count ++;
+        }
+        elapsedTime -= (System.currentTimeMillis() - startTime);
+        System.out.println("elapsedTime " + elapsedTime + " ms");
+
+        int ns = (int)(1000000 * elapsedTime / (gCount + 0.0));
+        System.out.println("Total number of strings compared " + tests.length 
+                            + "in " + opt_loopCount + " loops");
+        System.out.println("Average time per CollationElementIterator.next() nano seconds " + ns);
+        System.out.println("performance test on skipped-5 concatenated strings from file -----------");
+        
+        String totalStr = "";
+        int    strlen = 0;
+        // appending all the strings
+        int linecount = 0;
+        while (linecount < tests.length) {
+            totalStr += tests[linecount];
+            strlen += tests[linecount].length();
+            linecount ++;
+        }
+        System.out.println("Total size of strings " + strlen);
+        
+        gCount = 0;
+        count  = 0;
+        iter = ((RuleBasedCollator)icuCol).getCollationElementIterator(totalStr);
+        strlen -= 5; // any left over characters are not iterated,
+                     // this is to ensure the backwards and forwards iterators
+                     // gets the same position
+        int strindex = 0;
+        startTime = System.currentTimeMillis();
+        while (count < opt_loopCount) {
+            int count5 = 5;
+            strindex = 0;
+            iter.setOffset(strindex);
+            while (true) {
+                if (iter.next() == CollationElementIterator.NULLORDER) {
+                    break;
+                }
+                gCount++;
+                count5 --;
+                if (count5 == 0) {
+                    strindex += 10;
+                    if (strindex > strlen) {
+                        break;
+                    }
+                    iter.setOffset(strindex);
+                    count5 = 5;
+                }
+            }
+            count ++;
+        }
+    
+        elapsedTime = System.currentTimeMillis() - startTime;
+        System.out.println("elapsedTime " + elapsedTime);
+        
+        // empty loop recalculation
+        int tempgCount = 0;
+        count = 0;
+        startTime = System.currentTimeMillis();
+        while (count < opt_loopCount) {
+            int count5 = 5;
+            strindex = 0;
+            iter.setOffset(strindex);
+            while (true) {
+                tempgCount ++;
+                count5 --;
+                if (count5 == 0) {
+                    strindex += 10;
+                    if (strindex > strlen) {
+                        break;
+                    }
+                    iter.setOffset(strindex);
+                    count5 = 5;
+                }
+            }
+            count ++;
+        }
+        elapsedTime -= (System.currentTimeMillis() - startTime);
+        System.out.println("elapsedTime " + elapsedTime);
+    
+        System.out.println("gCount " + gCount);
+        ns = (int)(1000000 * elapsedTime / (gCount + 0.0));
+        System.out.println("Average time per CollationElementIterator.next() nano seconds " + ns);
+    }
+    
+    void doBackwardIterTest() {
+        System.out.print("\n\nPerforming backward iteration performance test with ");
+        System.out.println("performance test on strings from file -----------\n");
+        
+        CollationElementIterator iter = ((RuleBasedCollator)icuCol).getCollationElementIterator("");
+        
+        int gCount = 0;
+        int count = 0;
+        long startTime = System.currentTimeMillis();
+        while (count < opt_loopCount) {
+            int linecount = 0;
+            while (linecount < tests.length) {
+                String str = tests[linecount];
+                iter.setText(str);
+                while (iter.previous() != CollationElementIterator.NULLORDER) {
+                    gCount++;
+                }
+                linecount ++;
+            }
+            count ++;
+        }
+        long elapsedTime = System.currentTimeMillis() - startTime;
+        System.out.println("elapsedTime " + elapsedTime + " ms");
+        
+        // empty loop recalculation
+        count = 0;
+        startTime = System.currentTimeMillis();
+        while (count < opt_loopCount) {
+            int linecount = 0;
+            while (linecount < tests.length) {
+                String str = tests[linecount];
+                iter.setText(str);
+                linecount ++;
+            }
+            count ++;
+        }
+        elapsedTime -= (System.currentTimeMillis() - startTime);
+        System.out.println("elapsedTime " + elapsedTime + " ms");
+        
+        int ns = (int)(1000000 * elapsedTime / (gCount + 0.0));
+        System.out.println("Total number of strings compared " + tests.length 
+                            + "in " + opt_loopCount + " loops");
+        System.out.println("Average time per CollationElementIterator.previous() nano seconds " + ns);
+        System.out.println("performance test on skipped-5 concatenated strings from file -----------");
+    
+        String totalStr = "";
+        int    strlen = 0;
+        // appending all the strings
+        int linecount = 0;
+        while (linecount < tests.length) {
+            totalStr += tests[linecount];
+            strlen += tests[linecount].length();
+            linecount ++;
+        }
+        System.out.println("Total size of strings " + strlen);
+        
+        gCount = 0;
+        count  = 0;
+    
+        iter = ((RuleBasedCollator)icuCol).getCollationElementIterator(totalStr);
+        int strindex = 0;
+        startTime = System.currentTimeMillis();
+        while (count < opt_loopCount) {
+            int count5 = 5;
+            strindex = 5;
+            iter.setOffset(strindex);
+            while (true) {
+                if (iter.previous() == CollationElementIterator.NULLORDER) {
+                    break;
+                }
+                 gCount ++;
+                 count5 --;
+                 if (count5 == 0) {
+                     strindex += 10;
+                     if (strindex > strlen) {
+                        break;
+                     }
+                     iter.setOffset(strindex);
+                     count5 = 5;
+                 }
+            }
+            count ++;
+        }
+    
+        elapsedTime = System.currentTimeMillis() - startTime;
+        System.out.println("elapsedTime " + elapsedTime);
+        
+        // empty loop recalculation
+        count = 0;
+        int tempgCount = 0;
+        startTime = System.currentTimeMillis();
+        while (count < opt_loopCount) {
+            int count5 = 5;
+            strindex = 5;
+            iter.setOffset(strindex);
+            while (true) {
+                 tempgCount ++;
+                 count5 --;
+                 if (count5 == 0) {
+                     strindex += 10;
+                     if (strindex > strlen) {
+                        break;
+                     }
+                     iter.setOffset(strindex);
+                     count5 = 5;
+                 }
+            }
+            count ++;
+        }
+        elapsedTime -= (System.currentTimeMillis() - startTime);
+        System.out.println("elapsedTime " + elapsedTime);
+    
+        System.out.println("gCount " + gCount);
+        ns = (int)(1000000 * elapsedTime / (gCount + 0.0));
+        System.out.println("Average time per CollationElementIterator.previous() nano seconds " + ns);
+    }
+    
+    
+    /**---------------------------------------------------------------------------------------
+     *
+     *    doIterTest()       Iteration test
+     *
+     *---------------------------------------------------------------------------------------
+     */
+    void doIterTest() {
+        doForwardIterTest();
+        doBackwardIterTest();
+    }
+    
+    void setOptions() {
+        
+        if (opt_java) {
+            opt_icu = false;
+        }
+        
+        if (opt_rules.length() != 0) {
+            try {
+                icuCol = new com.ibm.icu.text.RuleBasedCollator(getCollationRules(opt_rules));
+            } catch (Exception e) {
+                System.out.println("Cannot open rules:" + e.getMessage());
+                System.exit(1);
+            }
+        } else {
+            icuCol = com.ibm.icu.text.Collator.getInstance(
+                                LocaleUtility.getLocaleFromName(opt_locale));
+        }
+        
+        javaCol = java.text.Collator.getInstance(
+                                LocaleUtility.getLocaleFromName(opt_locale));
+        
+        if (opt_norm) {
+            javaCol.setDecomposition(java.text.Collator.CANONICAL_DECOMPOSITION);
+            icuCol.setDecomposition(com.ibm.icu.text.Collator.CANONICAL_DECOMPOSITION);
+        }
+        
+        if (opt_french && opt_frenchoff) {
+            System.err.println("Error: specified both -french and -frenchoff options.");
+        }
+        
+        if (opt_french) {
+            ((com.ibm.icu.text.RuleBasedCollator)icuCol).setFrenchCollation(true);
+        }
+        if (opt_frenchoff) {
+            ((com.ibm.icu.text.RuleBasedCollator)icuCol).setFrenchCollation(false);
+        }
+        
+        if (opt_lower) {
+            ((com.ibm.icu.text.RuleBasedCollator)icuCol).setLowerCaseFirst(true);
+        }
+        
+        if (opt_upper) {
+            ((com.ibm.icu.text.RuleBasedCollator)icuCol).setUpperCaseFirst(true);
+        }
+        
+        if (opt_shifted) {
+            ((com.ibm.icu.text.RuleBasedCollator)icuCol).setAlternateHandlingShifted(true);
+        }
+        
+        if (opt_level != 0) {
+            switch (opt_level) {
+                case 1 :
+                        javaCol.setStrength(java.text.Collator.PRIMARY);
+                        icuCol.setStrength(com.ibm.icu.text.Collator.PRIMARY);
+                        break;
+                case 2 :
+                        javaCol.setStrength(java.text.Collator.SECONDARY);
+                        icuCol.setStrength(com.ibm.icu.text.Collator.SECONDARY);
+                        break;
+                case 3 :
+                        javaCol.setStrength(java.text.Collator.TERTIARY);
+                        icuCol.setStrength(com.ibm.icu.text.Collator.TERTIARY);
+                        break;
+                case 4 :
+                        icuCol.setStrength(com.ibm.icu.text.Collator.QUATERNARY);
+                        break;
+                case 5 :
+                        javaCol.setStrength(java.text.Collator.IDENTICAL);
+                        icuCol.setStrength(com.ibm.icu.text.Collator.IDENTICAL);
+                        break;
+                default:
+                    System.err.println("-level param must be between 1 and 5\n");
+                    System.exit(1);
+            }
+        }
+        // load classes at least once before starting
+        javaCol.compare("a", "b");
+        icuCol.compare("a", "b");
+    }
+    
+    static boolean processOptions(String[] args) {
+        int argNum;
+        for (argNum =0; argNum < args.length; argNum++) {
+            for (int i = 0; i < options.length; i++) {
+                if (args[argNum].equalsIgnoreCase(options[i].name)) {
+                    switch (options[i].type) {
+                        case 0:
+                                options[i].value.delete(0, options[i].value.capacity()).append("true");
+                                break;
+                        case 1:
+                                argNum++;
+                                if ((argNum >= args.length) || (args[argNum].charAt(0)=='-')) {
+                                    System.err.println("value expected for"+ options[i].name +"option.\n");
+                                    return false;
+                                }
+                                try {
+                                   /* int value =*/ Integer.parseInt(args[argNum]);
+                                    options[i].value.delete(0, options[i].value.capacity()).append(args[argNum]);
+                                } catch (NumberFormatException e) {
+                                    System.err.println("Expected: a number value");
+                                    return false;    
+                                }
+                                break;
+                        case 2:
+                                argNum++;
+                                if ((argNum >= args.length) || (args[argNum].charAt(0)=='-')) {
+                                    System.err.println("value expected for"+ options[i].name +"option.\n");
+                                    return false;
+                                }
+                                options[i].value.delete(0, options[i].value.capacity()).append(args[argNum]);
+                                break;
+                        default:
+                                System.err.println("Option type error: {FLAG=0, NUM=1, STRING=2}");
+                                return false;
+                    }
+                }
+            }
+        }
+        
+        opt_fName      = temp_opt_fName.toString();
+        opt_locale     = temp_opt_locale.toString();
+        opt_rules      = temp_opt_rules.toString();
+        if (temp_opt_help.toString().equalsIgnoreCase("true")) {
+            opt_help = true;
+        }
+        opt_loopCount  = Integer.parseInt(temp_opt_loopCount.toString());
+        opt_iLoopCount = Integer.parseInt(temp_opt_iLoopCount.toString());
+        if (temp_opt_terse.toString().equalsIgnoreCase("true")) {
+            opt_terse = true;
+        }
+        if (temp_opt_qsort.toString().equalsIgnoreCase("true")) {
+            opt_qsort = true;
+        }
+        if (temp_opt_binsearch.toString().equalsIgnoreCase("true")) {
+            opt_binsearch = true;
+        }
+        if (temp_opt_icu.toString().equalsIgnoreCase("true")) {
+            opt_icu = true;
+        }
+        if (temp_opt_usekeys.toString().equalsIgnoreCase("true")) {
+            opt_usekeys = true;
+        }
+        if (temp_opt_strcmp.toString().equalsIgnoreCase("true")) {
+            opt_strcmp = true;
+        }
+        if (temp_opt_strcmpCPO.toString().equalsIgnoreCase("true")) {
+            opt_strcmpCPO = true;
+        }
+        if (temp_opt_keygen.toString().equalsIgnoreCase("true")) {
+            opt_keygen = true;
+        }
+        if (temp_opt_norm.toString().equalsIgnoreCase("true")) {
+            opt_norm = true;
+        }
+        if (temp_opt_french.toString().equalsIgnoreCase("true")) {
+            opt_french = true;
+        }
+        if (temp_opt_frenchoff.toString().equalsIgnoreCase("true")) {
+            opt_frenchoff = true;
+        }
+        if (temp_opt_shifted.toString().equalsIgnoreCase("true")) {
+            opt_shifted = true;
+        }
+        if (temp_opt_lower.toString().equalsIgnoreCase("true")) {
+            opt_lower = true;
+        }
+        if (temp_opt_upper.toString().equalsIgnoreCase("true")) {
+            opt_upper = true;
+        }
+        if (temp_opt_case.toString().equalsIgnoreCase("true")) {
+            opt_case = true;
+        }
+        opt_level      = Integer.parseInt(temp_opt_level.toString());
+        if (temp_opt_keyhist.toString().equalsIgnoreCase("true")) {
+            opt_keyhist = true;
+        }
+        if (temp_opt_itertest.toString().equalsIgnoreCase("true")) {
+            opt_itertest = true;
+        }
+        if (temp_opt_dump.toString().equalsIgnoreCase("true")) {
+            opt_dump = true;
+        }
+        if (temp_opt_java.toString().equalsIgnoreCase("true")) {
+            opt_java = true;
+        }
+        
+        return true;
+    }
+    
+    /**
+     * Invoke the runtime's garbage collection procedure repeatedly
+     * until the amount of free memory stabilizes to within 10%.
+     */    
+    private void callGC() {
+        // From "Java Platform Performance".  This is the procedure
+        // recommended by Javasoft.
+        try {
+            System.gc();
+            Thread.sleep(100);
+            System.runFinalization();
+            Thread.sleep(100);
+            
+            System.gc();
+            Thread.sleep(100);
+            System.runFinalization();
+            Thread.sleep(100);
+        } catch (InterruptedException e) {}
+    }
+
+    private boolean needCRLF = false;
+    
+    public int DOTMASK = 0x7FF;
+ 
+    void dot(int i) {
+        if ((i % DOTMASK) == 0) {
+            needCRLF = true;
+            // I do not know why print the dot here
+            //System.out.print('.');
+        }
+    }
+    
+    String readDataLine(BufferedReader br) throws Exception {
+        String originalLine = "";
+        String line = "";
+        
+        try {
+            line = originalLine = br.readLine();
+            if (line == null) return null;
+            if (line.length() > 0 && line.charAt(0) == 0xFEFF) line = line.substring(1);
+            int commentPos = line.indexOf('#');
+            if (commentPos >= 0) line = line.substring(0, commentPos);
+            line = line.trim();
+        } catch (Exception e) {
+            throw new Exception("Line \"{0}\",  \"{1}\"" + originalLine + " "
+                                + line + " " + e.toString());
+        }
+        return line;
+    }
+    
+    void readDataLines() {
+        // Read in  the input file.
+        //   File assumed to be utf-16.
+        //   Lines go onto heap buffers.  Global index array to line starts is created.
+        //   Lines themselves are null terminated.
+        //
+        FileInputStream fis = null;
+        InputStreamReader isr = null;
+        BufferedReader br = null;
+        try {
+            fis = new FileInputStream(opt_fName);
+            isr = new InputStreamReader(fis, "UTF-8");
+            br= new BufferedReader(isr, 32*1024);
+        } catch (Exception e) {
+            System.err.println("Error: File access exception: " + e.getMessage() + "!");
+            System.exit(2);
+        }
+        
+        int counter = 0;
+        
+        list = new ArrayList();
+        while (true) {
+            String line = null;
+            try {
+                line = readDataLine(br);
+            } catch (Exception e) {
+                System.err.println("Read File Error" + e.getMessage() + "!");
+                System.exit(1);
+            }
+            
+            if (line == null) break;
+            if (line.length() == 0) continue;
+            dot(counter++);
+            list.add(line);
+        }
+        if (!opt_terse) {
+            System.out.println("Read " + counter + " lines in file");
+        }
+        
+        int size = list.size();
+        tests = new String [size];
+        
+        for (int i = 0; i < size; ++i) {
+            tests[i] = (String) list.get(i);
+        }
+    }
+    
+    /**
+     * Get the Collator Rules
+     * The Rule File format:
+     * 1. leading and trailing whitespaces will be omitted
+     * 2. lines with the leading character '#' will be treated as comments
+     * 3. File encoding is ISO-8859-1
+     */
+    String getCollationRules(String ruleFileName) {
+        FileInputStream fis = null;
+        InputStreamReader isr = null;
+        BufferedReader br = null;
+        try {
+            fis = new FileInputStream(opt_rules);
+            isr = new InputStreamReader(fis,"ISO-8859-1");
+            br= new BufferedReader(isr);
+        } catch (Exception e) {
+            System.err.println("Error: File access exception: " + e.getMessage() + "!");
+            System.exit(2);
+        }
+        String rules = "";
+        String line = "";
+        while (true) {
+            try {
+                line = br.readLine();
+            } catch (IOException e) {
+                System.err.println("Read File Error" + e.getMessage() + "!");
+                System.exit(1);
+            }
+            if (line == null) {
+                break;
+            }
+            int commentPos = line.indexOf('#');
+            if (commentPos >= 0) line = line.substring(0, commentPos);
+            line = line.trim();
+            rules = rules + line;
+        }
+        return rules;
+    }
+    
+    //Implementing qsort
+    void qSortImpl_java_usekeys(String src[], int fromIndex, int toIndex, java.text.Collator c) {
+        int low = fromIndex;
+        int high = toIndex;
+        String middle = "";
+        if (high > low) {
+            middle = src[ (low + high) / 2 ];
+            while(low <= high) {
+                while((low < toIndex) && (compare(c.getCollationKey(src[low]), c.getCollationKey(middle)) < 0)) {
+                    ++low;
+                }
+                while((high > fromIndex) && (compare(c.getCollationKey(src[high]), c.getCollationKey(middle)) > 0)) {
+                    --high;
+                }
+                if(low <= high) {
+                    String swap = src[low];
+                    src[low] = src[high];
+                    src[high] = swap;
+                    ++low;
+                    --high;
+                }
+            }
+            if(fromIndex < high) {
+                qSortImpl_java_usekeys(src, fromIndex, high, c);
+            }
+            
+            if(low < toIndex) {
+                qSortImpl_java_usekeys(src, low, toIndex, c);
+            }
+        }
+    }
+    
+    void qSortImpl_icu_usekeys(String src[], int fromIndex, int toIndex, com.ibm.icu.text.Collator c) {
+        int low = fromIndex;
+        int high = toIndex;
+        String middle = "";
+        if (high > low) {
+            middle = src[ (low + high) / 2 ];
+            while(low <= high) {
+                while((low < toIndex) && (compare(c.getCollationKey(src[low]), c.getCollationKey(middle)) < 0)) {
+                    ++low;
+                }
+                while((high > fromIndex) && (compare(c.getCollationKey(src[high]), c.getCollationKey(middle)) > 0)) {
+                    --high;
+                }
+                if(low <= high) {
+                    String swap = src[low];
+                    src[low] = src[high];
+                    src[high] = swap;
+                    ++low;
+                    --high;
+                }
+            }
+            if(fromIndex < high) {
+                qSortImpl_icu_usekeys(src, fromIndex, high, c);
+            }
+            
+            if(low < toIndex) {
+                qSortImpl_icu_usekeys(src, low, toIndex, c);
+            }
+        }
+    }
+    
+    void qSortImpl_nokeys(String src[], int fromIndex, int toIndex, Comparator c) {
+        int low = fromIndex;
+        int high = toIndex;
+        String middle = "";
+        if (high > low) {
+            middle = src[ (low + high) / 2 ];
+            while(low <= high) {
+                while((low < toIndex) && (compare(src[low], middle, c) < 0)) {
+                    ++low;
+                }
+                while((high > fromIndex) && (compare(src[high], middle, c) > 0)) {
+                    --high;
+                }
+                if(low <= high) {
+                    String swap = src[low];
+                    src[low] = src[high];
+                    src[high] = swap;
+                    ++low;
+                    --high;
+                }
+            }
+            if(fromIndex < high) {
+                qSortImpl_nokeys(src, fromIndex, high, c);
+            }
+            
+            if(low < toIndex) {
+                qSortImpl_nokeys(src, low, toIndex, c);
+            }
+        }
+    }
+    
+    int compare(String source, String target, Comparator c) {
+        globalCount++;
+        return c.compare(source, target);
+    }
+    
+    int compare(java.text.CollationKey source, java.text.CollationKey target) {
+        globalCount++;
+        return source.compareTo(target);
+    }
+    
+    int compare(com.ibm.icu.text.CollationKey source, com.ibm.icu.text.CollationKey target) {
+        globalCount++;
+        return source.compareTo(target);
+    } 
+    
+    //Class for command line option
+    static class OptionSpec {
+        String name;
+        int type;
+        StringBuffer value;
+        public OptionSpec(String name, int type, StringBuffer value) {
+            this.name = name;
+            this.type = type;
+            this.value = value;
+        }
+    }
+}
\ No newline at end of file
diff --git a/src/com/ibm/icu/dev/test/perf/Dataset.pm b/src/com/ibm/icu/dev/test/perf/Dataset.pm
new file mode 100644
index 0000000..1e08efc
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/perf/Dataset.pm
@@ -0,0 +1,86 @@
+#/**
+# *******************************************************************************
+# * Copyright (C) 2002-2004, International Business Machines Corporation and    *
+# * others. All Rights Reserved.                                                *
+# *******************************************************************************
+# */
+package Dataset;
+use Statistics::Descriptive;
+use Statistics::Distributions;
+use strict;
+
+# Create a new Dataset with the given data.
+sub new {
+    my ($class) = shift;
+    my $self = bless {
+        _data => \@_,
+        _scale => 1.0,
+        _mean => 0.0,
+        _error => 0.0,
+    }, $class;
+
+    my $n = @_;
+    
+    if ($n >= 1) {
+        my $stats = Statistics::Descriptive::Full->new();
+        $stats->add_data(@{$self->{_data}});
+        $self->{_mean} = $stats->mean();
+
+        if ($n >= 2) {
+            # Use a t distribution rather than Gaussian because (a) we
+            # assume an underlying normal dist, (b) we do not know the
+            # standard deviation -- we estimate it from the data, and (c)
+            # we MAY have a small sample size (also works for large n).
+            my $t = Statistics::Distributions::tdistr($n-1, 0.005);
+            $self->{_error} = $t * $stats->standard_deviation();
+        }
+    }
+
+    $self;
+}
+
+# Set a scaling factor for all data; 1.0 means no scaling.
+# Scale must be > 0.
+sub setScale {
+    my ($self, $scale) = @_;
+    $self->{_scale} = $scale;
+}
+
+# Multiply the scaling factor by a value.
+sub scaleBy {
+    my ($self, $a) = @_;
+    $self->{_scale} *= $a;
+}
+
+# Return the mean.
+sub getMean {
+    my $self = shift;
+    return $self->{_mean} * $self->{_scale};
+}
+
+# Return a 99% error based on the t distribution.  The dataset
+# is desribed as getMean() +/- getError().
+sub getError {
+    my $self = shift;
+    return $self->{_error} * $self->{_scale};
+}
+
+# Divide two Datasets and return a new one, maintaining the
+# mean+/-error.  The new Dataset has no data points.
+sub divide {
+    my $self = shift;
+    my $rhs = shift;
+    
+    my $minratio = ($self->{_mean} - $self->{_error}) /
+                   ($rhs->{_mean} + $rhs->{_error});
+    my $maxratio = ($self->{_mean} + $self->{_error}) /
+                   ($rhs->{_mean} - $rhs->{_error});
+
+    my $result = Dataset->new();
+    $result->{_mean} = ($minratio + $maxratio) / 2;
+    $result->{_error} = $result->{_mean} - $minratio;
+    $result->{_scale} = $self->{_scale} / $rhs->{_scale};
+    $result;
+}
+
+1;
diff --git a/src/com/ibm/icu/dev/test/perf/NormalizerPerformanceTest.java b/src/com/ibm/icu/dev/test/perf/NormalizerPerformanceTest.java
new file mode 100644
index 0000000..e499637
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/perf/NormalizerPerformanceTest.java
@@ -0,0 +1,651 @@
+/*
+**********************************************************************
+* Copyright (c) 2002-2004, International Business Machines
+* Corporation and others.  All Rights Reserved.
+**********************************************************************
+*/
+package com.ibm.icu.dev.test.perf;
+
+import com.ibm.icu.text.*;
+
+public class NormalizerPerformanceTest extends PerfTest {
+    
+    String[] NFDFileLines;
+    String[] NFCFileLines;
+    String[] fileLines;
+    
+    public static void main(String[] args) throws Exception {
+        new NormalizerPerformanceTest().run(args);
+    }
+    
+    protected void setup(String[] args) {
+        if(bulk_mode == line_mode){
+            printUsage();
+        }
+        if (fileName.equalsIgnoreCase("")){
+            printUsage();
+        }
+        fileLines = readLines(fileName, encoding, bulk_mode);
+        NFDFileLines = normalizeInput(fileLines, Normalizer.NFD);
+        NFCFileLines = normalizeInput(fileLines, Normalizer.NFC);
+    }
+    
+    // Test NFC Performance
+    PerfTest.Function TestICU_NFC_NFD_Text() {
+        return new PerfTest.Function() {
+            public void call() {
+                for (int i = 0; i < NFDFileLines.length; i++) {
+                    Normalizer.normalize(NFDFileLines[i], Normalizer.NFC);
+                }
+            }
+            
+            public long getOperationsPerIteration() {
+                int totalChars = 0;
+                for (int i = 0; i < NFDFileLines.length; i++) {
+                    totalChars = totalChars + NFDFileLines[i].length();
+                }
+                return totalChars;
+            }
+        };
+    }
+    
+    PerfTest.Function TestICU_NFC_NFC_Text() {
+        return new PerfTest.Function() {
+            public void call() {
+                for (int i = 0; i < NFCFileLines.length; i++) {
+                    Normalizer.normalize(NFCFileLines[i], Normalizer.NFC);
+                }
+            }
+            
+            public long getOperationsPerIteration() {
+                int totalChars = 0;
+                for (int i = 0; i < NFCFileLines.length; i++) {
+                    totalChars = totalChars + NFCFileLines[i].length();
+                }
+                return totalChars;
+            }
+        };
+    }
+    
+    PerfTest.Function TestICU_NFC_Orig_Text() {
+        return new PerfTest.Function() {
+            public void call() {
+                for (int i = 0; i < fileLines.length; i++) {
+                    Normalizer.normalize(fileLines[i], Normalizer.NFC);
+                }
+            }
+            
+            public long getOperationsPerIteration() {
+                int totalChars = 0;
+                for (int i = 0; i < fileLines.length; i++) {
+                    totalChars = totalChars + fileLines[i].length();
+                }
+                return totalChars;
+            }
+        };
+    }
+    
+    // Test NFD Performance
+    PerfTest.Function TestICU_NFD_NFD_Text() {
+        return new PerfTest.Function() {
+            public void call() {
+                for (int i = 0; i < NFDFileLines.length; i++) {
+                    Normalizer.normalize(NFDFileLines[i], Normalizer.NFD);
+                }
+            }
+            
+            public long getOperationsPerIteration() {
+                int totalChars = 0;
+                for (int i = 0; i < NFDFileLines.length; i++) {
+                    totalChars = totalChars + NFDFileLines[i].length();
+                }
+                return totalChars;
+            }
+        };
+    }
+    
+    PerfTest.Function TestICU_NFD_NFC_Text() {
+        return new PerfTest.Function() {
+            public void call() {
+                for (int i = 0; i < NFCFileLines.length; i++) {
+                    Normalizer.normalize(NFCFileLines[i], Normalizer.NFD);
+                }
+            }
+            
+            public long getOperationsPerIteration() {
+                int totalChars = 0;
+                for (int i = 0; i < NFCFileLines.length; i++) {
+                    totalChars = totalChars + NFCFileLines[i].length();
+                }
+                return totalChars;
+            }
+        };
+    }
+    
+    PerfTest.Function TestICU_NFD_Orig_Text() {
+        return new PerfTest.Function() {
+            public void call() {
+                for (int i = 0; i < fileLines.length; i++) {
+                    Normalizer.normalize(fileLines[i], Normalizer.NFD);
+                }
+            }
+            
+            public long getOperationsPerIteration() {
+                int totalChars = 0;
+                for (int i = 0; i < fileLines.length; i++) {
+                    totalChars = totalChars + fileLines[i].length();
+                }
+                return totalChars;
+            }
+        };
+    }
+/** I really wish there was conditional compilation in Java      
+        // Test NFC Performance
+    PerfTest.Function TestJDK_NFC_NFD_Text() {
+        return new PerfTest.Function() {
+            public void call() {
+                for (int i = 0; i < NFDFileLines.length; i++) {
+                    String nfc = sun.text.Normalizer.normalize(NFDFileLines[i], sun.text.Normalizer.COMPOSE,0);
+                }
+            }
+            
+            public long getOperationsPerIteration() {
+                int totalChars = 0;
+                for (int i = 0; i < NFDFileLines.length; i++) {
+                    totalChars = totalChars + NFDFileLines[i].length();
+                }
+                return totalChars;
+            }
+        };
+    }
+  
+    PerfTest.Function TestJDK_NFC_NFC_Text() {
+        return new PerfTest.Function() {
+            public void call() {
+                for (int i = 0; i < NFCFileLines.length; i++) {
+                    String nfc = sun.text.Normalizer.normalize(NFCFileLines[i], sun.text.Normalizer.COMPOSE,0);
+                }
+            }
+            
+            public long getOperationsPerIteration() {
+                int totalChars = 0;
+                for (int i = 0; i < NFCFileLines.length; i++) {
+                    totalChars = totalChars + NFCFileLines[i].length();
+                }
+                return totalChars;
+            }
+        };
+    }
+    
+    PerfTest.Function TestJDK_NFC_Orig_Text() {
+        return new PerfTest.Function() {
+            public void call() {
+                for (int i = 0; i < fileLines.length; i++) {
+                    String nfc = sun.text.Normalizer.normalize(fileLines[i], sun.text.Normalizer.COMPOSE,0);
+                }
+            }
+            
+            public long getOperationsPerIteration() {
+                int totalChars = 0;
+                for (int i = 0; i < fileLines.length; i++) {
+                    totalChars = totalChars + fileLines[i].length();
+                }
+                return totalChars;
+            }
+        };
+    }
+    
+    // Test NFD Performance
+    PerfTest.Function TestJDK_NFD_NFD_Text() {
+        return new PerfTest.Function() {
+            public void call() {
+                for (int i = 0; i < NFDFileLines.length; i++) {
+                    String nfc = sun.text.Normalizer.normalize(NFDFileLines[i], sun.text.Normalizer.DECOMP,0);
+                }
+            }
+            
+            public long getOperationsPerIteration() {
+                int totalChars = 0;
+                for (int i = 0; i < NFDFileLines.length; i++) {
+                    totalChars = totalChars + NFDFileLines[i].length();
+                }
+                return totalChars;
+            }
+        };
+    }
+    
+    PerfTest.Function TestJDK_NFD_NFC_Text() {
+        return new PerfTest.Function() {
+            public void call() {
+                for (int i = 0; i < NFCFileLines.length; i++) {
+                    String nfc = sun.text.Normalizer.normalize(NFCFileLines[i], sun.text.Normalizer.DECOMP,0);
+                }
+            }
+            
+            public long getOperationsPerIteration() {
+                int totalChars = 0;
+                for (int i = 0; i < NFCFileLines.length; i++) {
+                    totalChars = totalChars + NFCFileLines[i].length();
+                }
+                return totalChars;
+            }
+        };
+    }
+    
+    PerfTest.Function TestJDK_NFD_Orig_Text() {
+        return new PerfTest.Function() {
+            public void call() {
+                for (int i = 0; i < fileLines.length; i++) {
+                    String nfc = sun.text.Normalizer.normalize(fileLines[i], sun.text.Normalizer.DECOMP,0);
+                }
+            }
+            
+            public long getOperationsPerIteration() {
+                int totalChars = 0;
+                for (int i = 0; i < fileLines.length; i++) {
+                    totalChars = totalChars + fileLines[i].length();
+                }
+                return totalChars;
+            }
+        };
+    }
+    // Test FCD Performance
+    PerfTest.Function TestICU_FCD_NFD_Text() {
+        return new PerfTest.Function() {
+            public void call() {
+                for (int i = 0; i < NFDFileLines.length; i++) {
+                    String nfc = Normalizer.normalize(NFDFileLines[i], Normalizer.FCD);
+                }
+            }
+            
+            public long getOperationsPerIteration() {
+                int totalChars = 0;
+                for (int i = 0; i < NFDFileLines.length; i++) {
+                    totalChars = totalChars + NFDFileLines[i].length();
+                }
+                return totalChars;
+            }
+        };
+    }
+**/    
+    PerfTest.Function TestICU_FCD_NFC_Text() {
+        return new PerfTest.Function() {
+            public void call() {
+                for (int i = 0; i < NFCFileLines.length; i++) {
+                    Normalizer.normalize(NFCFileLines[i], Normalizer.FCD);
+                }
+            }
+            
+            public long getOperationsPerIteration() {
+                int totalChars = 0;
+                for (int i = 0; i < NFCFileLines.length; i++) {
+                    totalChars = totalChars + NFCFileLines[i].length();
+                }
+                return totalChars;
+            }
+        };
+    }
+    
+    PerfTest.Function TestICU_FCD_Orig_Text() {
+        return new PerfTest.Function() {
+            public void call() {
+                for (int i = 0; i < fileLines.length; i++) {
+                    Normalizer.normalize(fileLines[i], Normalizer.FCD);
+                }
+            }
+            
+            public long getOperationsPerIteration() {
+                int totalChars = 0;
+                for (int i = 0; i < fileLines.length; i++) {
+                    totalChars = totalChars + fileLines[i].length();
+                }
+                return totalChars;
+            }
+        };
+    }
+    
+    // Test Quick Check Performance
+    PerfTest.Function TestQC_NFC_NFD_Text() {
+        return new PerfTest.Function() {
+            public void call() {
+                for (int i = 0; i < NFDFileLines.length; i++) {
+                    Normalizer.quickCheck(NFDFileLines[i], Normalizer.NFC,0);
+                }
+            }
+            
+            public long getOperationsPerIteration() {
+                int totalChars = 0;
+                for (int i = 0; i < NFDFileLines.length; i++) {
+                    totalChars = totalChars + NFDFileLines[i].length();
+                }
+                return totalChars;
+            }
+        };
+    }
+    
+    PerfTest.Function TestQC_NFC_NFC_Text() {
+        return new PerfTest.Function() {
+            public void call() {
+                for (int i = 0; i < NFCFileLines.length; i++) {
+                    Normalizer.quickCheck(NFCFileLines[i], Normalizer.NFC,0);
+                }
+            }
+            
+            public long getOperationsPerIteration() {
+                int totalChars = 0;
+                for (int i = 0; i < NFCFileLines.length; i++) {
+                    totalChars = totalChars + NFCFileLines[i].length();
+                }
+                return totalChars;
+            }
+        };
+    }
+    
+    PerfTest.Function TestQC_NFC_Orig_Text() {
+        return new PerfTest.Function() {
+            public void call() {
+                for (int i = 0; i < fileLines.length; i++) {
+                    Normalizer.quickCheck(fileLines[i], Normalizer.NFC,0);
+                }
+            }
+            
+            public long getOperationsPerIteration() {
+                int totalChars = 0;
+                for (int i = 0; i < fileLines.length; i++) {
+                    totalChars = totalChars + fileLines[i].length();
+                }
+                return totalChars;
+            }
+        };
+    }
+    
+    PerfTest.Function TestQC_NFD_NFD_Text() {
+        return new PerfTest.Function() {
+            public void call() {
+                for (int i = 0; i < NFDFileLines.length; i++) {
+                    Normalizer.quickCheck(NFDFileLines[i], Normalizer.NFD,0);
+                }
+            }
+            
+            public long getOperationsPerIteration() {
+                int totalChars = 0;
+                for (int i = 0; i < NFDFileLines.length; i++) {
+                    totalChars = totalChars + NFDFileLines[i].length();
+                }
+                return totalChars;
+            }
+        };
+    }
+    
+    PerfTest.Function TestQC_NFD_NFC_Text() {
+        return new PerfTest.Function() {
+            public void call() {
+                for (int i = 0; i < NFCFileLines.length; i++) {
+                     Normalizer.quickCheck(NFCFileLines[i], Normalizer.NFD,0);
+                }
+            }
+            
+            public long getOperationsPerIteration() {
+                int totalChars = 0;
+                for (int i = 0; i < NFCFileLines.length; i++) {
+                    totalChars = totalChars + NFCFileLines[i].length();
+                }
+                return totalChars;
+            }
+        };
+    }
+    
+    PerfTest.Function TestQC_NFD_Orig_Text() {
+        return new PerfTest.Function() {
+            public void call() {
+                for (int i = 0; i < fileLines.length; i++) {
+                     Normalizer.quickCheck(fileLines[i], Normalizer.NFD,0);
+                }
+            }
+            
+            public long getOperationsPerIteration() {
+                int totalChars = 0;
+                for (int i = 0; i < fileLines.length; i++) {
+                    totalChars = totalChars + fileLines[i].length();
+                }
+                return totalChars;
+            }
+        };
+    }
+    
+    PerfTest.Function TestQC_FCD_NFD_Text() {
+        return new PerfTest.Function() {
+            public void call() {
+                for (int i = 0; i < NFDFileLines.length; i++) {
+                     Normalizer.quickCheck(NFDFileLines[i], Normalizer.FCD,0);
+                }
+            }
+            
+            public long getOperationsPerIteration() {
+                int totalChars = 0;
+                for (int i = 0; i < NFDFileLines.length; i++) {
+                    totalChars = totalChars + NFDFileLines[i].length();
+                }
+                return totalChars;
+            }
+        };
+    }
+    
+    PerfTest.Function TestQC_FCD_NFC_Text() {
+        return new PerfTest.Function() {
+            public void call() {
+                for (int i = 0; i < NFCFileLines.length; i++) {
+                     Normalizer.quickCheck(NFCFileLines[i], Normalizer.FCD,0);
+                }
+            }
+            
+            public long getOperationsPerIteration() {
+                int totalChars = 0;
+                for (int i = 0; i < NFCFileLines.length; i++) {
+                    totalChars = totalChars + NFCFileLines[i].length();
+                }
+                return totalChars;
+            }
+        };
+    }
+    
+    PerfTest.Function TestQC_FCD_Orig_Text() {
+        return new PerfTest.Function() {
+            public void call() {
+                for (int i = 0; i < fileLines.length; i++) {
+                     Normalizer.quickCheck(fileLines[i], Normalizer.FCD,0);
+                }
+            }
+            
+            public long getOperationsPerIteration() {
+                int totalChars = 0;
+                for (int i = 0; i < fileLines.length; i++) {
+                    totalChars = totalChars + fileLines[i].length();
+                }
+                return totalChars;
+            }
+        };
+    }
+    
+    // Test isNormalized Performance
+    PerfTest.Function TestIsNormalized_NFC_NFD_Text() {
+        return new PerfTest.Function() {
+            public void call() {
+                for (int i = 0; i < NFDFileLines.length; i++) {
+                     Normalizer.isNormalized(NFDFileLines[i], Normalizer.NFC, 0);
+                }
+            }
+            
+            public long getOperationsPerIteration() {
+                int totalChars = 0;
+                for (int i = 0; i < NFDFileLines.length; i++) {
+                    totalChars = totalChars + NFDFileLines[i].length();
+                }
+                return totalChars;
+            }
+        };
+    }
+    
+    PerfTest.Function TestIsNormalized_NFC_NFC_Text() {
+        return new PerfTest.Function() {
+            public void call() {
+                for (int i = 0; i < NFCFileLines.length; i++) {
+                    Normalizer.isNormalized(NFCFileLines[i], Normalizer.NFC, 0);
+                }
+            }
+            
+            public long getOperationsPerIteration() {
+                int totalChars = 0;
+                for (int i = 0; i < NFCFileLines.length; i++) {
+                    totalChars = totalChars + NFCFileLines[i].length();
+                }
+                return totalChars;
+            }
+        };
+    }
+    
+    PerfTest.Function TestIsNormalized_NFC_Orig_Text() {
+        return new PerfTest.Function() {
+            public void call() {
+                for (int i = 0; i < fileLines.length; i++) {
+                    Normalizer.isNormalized(fileLines[i], Normalizer.NFC, 0);
+                }
+            }
+            
+            public long getOperationsPerIteration() {
+                int totalChars = 0;
+                for (int i = 0; i < fileLines.length; i++) {
+                    totalChars = totalChars + fileLines[i].length();
+                }
+                return totalChars;
+            }
+        };
+    }
+    
+    PerfTest.Function TestIsNormalized_NFD_NFD_Text() {
+        return new PerfTest.Function() {
+            public void call() {
+                for (int i = 0; i < NFDFileLines.length; i++) {
+                     Normalizer.isNormalized(NFDFileLines[i], Normalizer.NFD, 0);
+                }
+            }
+            
+            public long getOperationsPerIteration() {
+                int totalChars = 0;
+                for (int i = 0; i < NFDFileLines.length; i++) {
+                    totalChars = totalChars + NFDFileLines[i].length();
+                }
+                return totalChars;
+            }
+        };
+    }
+    
+    PerfTest.Function TestIsNormalized_NFD_NFC_Text() {
+        return new PerfTest.Function() {
+            public void call() {
+                for (int i = 0; i < NFCFileLines.length; i++) {
+                     Normalizer.isNormalized(NFCFileLines[i], Normalizer.NFD, 0);
+                }
+            }
+            
+            public long getOperationsPerIteration() {
+                int totalChars = 0;
+                for (int i = 0; i < NFCFileLines.length; i++) {
+                    totalChars = totalChars + NFCFileLines[i].length();
+                }
+                return totalChars;
+            }
+        };
+    }
+    
+    PerfTest.Function TestIsNormalized_NFD_Orig_Text() {
+        return new PerfTest.Function() {
+            public void call() {
+                for (int i = 0; i < fileLines.length; i++) {
+                    Normalizer.isNormalized(fileLines[i], Normalizer.NFD, 0);
+                }
+            }
+            
+            public long getOperationsPerIteration() {
+                int totalChars = 0;
+                for (int i = 0; i < fileLines.length; i++) {
+                    totalChars = totalChars + fileLines[i].length();
+                }
+                return totalChars;
+            }
+        };
+    }
+    
+    PerfTest.Function TestIsNormalized_FCD_NFD_Text() {
+        return new PerfTest.Function() {
+            public void call() {
+                for (int i = 0; i < NFDFileLines.length; i++) {
+                     Normalizer.isNormalized(NFDFileLines[i], Normalizer.FCD, 0);
+                }
+            }
+            
+            public long getOperationsPerIteration() {
+                int totalChars = 0;
+                for (int i = 0; i < NFDFileLines.length; i++) {
+                    totalChars = totalChars + NFDFileLines[i].length();
+                }
+                return totalChars;
+            }
+        };
+    }
+    
+    PerfTest.Function TestIsNormalized_FCD_NFC_Text() {
+        return new PerfTest.Function() {
+            public void call() {
+                for (int i = 0; i < NFCFileLines.length; i++) {
+                     Normalizer.isNormalized(NFCFileLines[i], Normalizer.FCD, 0);
+                }
+            }
+            
+            public long getOperationsPerIteration() {
+                int totalChars = 0;
+                for (int i = 0; i < NFCFileLines.length; i++) {
+                    totalChars = totalChars + NFCFileLines[i].length();
+                }
+                return totalChars;
+            }
+        };
+    }
+    
+    PerfTest.Function TestIsNormalized_FCD_Orig_Text() {
+        return new PerfTest.Function() {
+            public void call() {
+                for (int i = 0; i < fileLines.length; i++) {
+                     Normalizer.isNormalized(fileLines[i], Normalizer.FCD, 0);
+                }
+            }
+            
+            public long getOperationsPerIteration() {
+                int totalChars = 0;
+                for (int i = 0; i < fileLines.length; i++) {
+                    totalChars = totalChars + fileLines[i].length();
+                }
+                return totalChars;
+            }
+        };
+    }
+      
+    private void printUsage() {
+        System.out.println("Usage: " + this.getClass().getName() + " [OPTIONS] fileName\n"
+                            + "\t-f or --fileName  \tfile to be used as test data\n"
+                            + "\t-s or --sourceDir \tsource directory for files followed by path\n"
+                            + "\t-e or --encoding  \tencoding of source files\n"
+                            + "\t-b or --bulkMode  \tnormalize whole file at once\n"
+                            + "\t-l or --lineMode  \tnormalize file one line at a time\n"
+            );
+        System.exit(1);
+    }
+    String[] normalizeInput(String[] src, Normalizer.Mode mode) {
+        String[] dest = new String[src.length];
+        for (int i = 0; i < src.length; i++) {
+            dest[i] = Normalizer.normalize(src[i], mode);
+        }
+        
+        return dest;
+    }
+}
diff --git a/src/com/ibm/icu/dev/test/perf/PerfTest.java b/src/com/ibm/icu/dev/test/perf/PerfTest.java
new file mode 100644
index 0000000..daee02f
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/perf/PerfTest.java
@@ -0,0 +1,681 @@
+/*
+**********************************************************************
+* Copyright (c) 2002-2004, International Business Machines
+* Corporation and others.  All Rights Reserved.
+**********************************************************************
+*/
+package com.ibm.icu.dev.test.perf;
+import com.ibm.icu.dev.tool.UOption;
+import com.ibm.icu.impl.LocaleUtility;
+import java.util.List;
+import java.util.ArrayList;
+import java.util.Map;
+import java.util.HashMap;
+import java.util.Locale;
+import java.util.Iterator;
+import java.util.TreeSet;
+import java.io.BufferedReader;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.lang.reflect.*;
+
+/**
+ * Base class for performance testing framework.  To use, subclass and
+ * define one or more instance methods with names beginning with
+ * "test" (case ignored).  Each such method must then call two
+ * functions, setTestFunction(), and setEventsPerCall().  In addition,
+ * the subclass should define a main() method that calls run() as
+ * defined here.  If the subclasses uses any command line arguments
+ * (beyond those handled automatically by this calss) then it should
+ * override setup() to handle its arguments.
+ *
+ * Example invocation:
+ * java -cp classes -verbose:gc com.ibm.icu.dev.test.perf.UnicodeSetPerf --gc --passes 4 --iterations 100 UnicodeSetAdd [[:l:][:c:]]
+ *
+ * Example output:
+ * [GC 511K->192K(1984K), 0.0086170 secs]
+ * [GC 704K->353K(1984K), 0.0059619 secs]
+ * [Full GC 618K->371K(1984K), 0.0242779 secs]
+ * [Full GC 371K->371K(1984K), 0.0228649 secs]
+ * = testUnicodeSetAdd begin 100
+ * = testUnicodeSetAdd end 11977 1109044
+ * = testUnicodeSetAdd begin 100
+ * = testUnicodeSetAdd end 12047 1109044
+ * = testUnicodeSetAdd begin 100
+ * = testUnicodeSetAdd end 11987 1109044
+ * = testUnicodeSetAdd begin 100
+ * = testUnicodeSetAdd end 11978 1109044
+ *
+ * The [] lines are emitted by the JVM as a result of the -verbose:gc
+ * switch.
+ *
+ * Lines beginning with '=' are emitted by PerfTest:
+ *
+ * = testUnicodeSetAdd begin 100
+ * A 'begin' statement contains the name of the setup method, which
+ * determines what test function is measures, and the number of
+ * iterations that will be times.
+ *
+ * = testUnicodeSetAdd end 12047 1109044
+ * An 'end' statement gives the name of the setup method again, and
+ * then two integers.  The first is the total elapsed time in
+ * milliseconds, and the second is the number of events per iteration.
+ * In this example, the time per event is 12047 / (100 * 1109044) or
+ * 108.6 ns/event.
+ *
+ * Raw times are given as integer ms, because this is what the system
+ * measures.
+ *
+ * @author Alan Liu
+ * @since ICU 2.4
+ */
+public abstract class PerfTest {
+
+    /**
+     * A map of munged names to Method objects.  All available methods
+     * in the current object beginning with "test" (case ignored).
+     */
+    private Map availableTests; // NOT static
+
+    // Command-line options set these:
+    protected boolean        verbose;
+    protected String         sourceDir;
+    protected String         fileName;
+    //protected String         resolvedFileName;
+    protected String         encoding;
+    protected boolean        uselen;
+    protected int            iterations;
+    protected int            passes;
+    protected int            time;
+    protected boolean        line_mode;
+    protected boolean        bulk_mode;
+    protected Locale         locale;
+    protected boolean        doPriorGC;
+
+    /**
+     * Subclasses of PerfTest will need to create subclasses of
+     * Function that define a call() method which contains the code to
+     * be timed.  They then call setTestFunction() in their "Test..."
+     * method to establish this as the current test functor.
+     */
+    public abstract static class Function {
+
+        /**
+         * Subclasses must implement this method to do the action to be
+         * measured.
+         */
+        public abstract void call();
+
+        /**
+         * Subclasses may implement this method to return positive
+         * integer indicating the number of operations in a single
+         * call to this object's call() method.  If subclasses do not
+         * override this method, the default implementation returns 1.
+         */
+        public long getOperationsPerIteration() {
+            return 1;
+        }
+
+        /**
+         * Subclasses may implement this method to return either positive
+         * or negative integer indicating the number of events in a single
+         * call to this object's call() method.  If subclasses do not
+         * override this method, the default implementation returns -1,
+         * indicating that events are not applicable to this test.
+         * e.g: Number of breaks / iterations for break iterator
+         */
+        public long getEventsPerIteration() {
+            return -1;
+        }
+
+        /**
+         * Call call() n times in a tight loop and return the elapsed
+         * milliseconds.  If n is small and call() is fast the return
+         * result may be zero.  Small return values have limited
+         * meaningfulness, depending on the underlying VM and OS.
+         */
+        public final long time(long n) {
+            long start, stop;
+            start = System.currentTimeMillis();
+            while (n-- > 0) {
+                call();
+            }
+            stop = System.currentTimeMillis();
+            return stop - start; // ms
+        }
+    }
+
+    /**
+     * Exception indicating a usage error.
+     */
+    public static class UsageException extends Exception {
+        public UsageException(String message) {
+            super(message);
+        }
+
+        public UsageException() {
+            super();
+        }
+    }
+
+    /**
+     * Constructor.
+     */
+    protected PerfTest() {
+    }
+
+    /**
+     * Framework method.  Default implementation does not parse any
+     * extra arguments.  Subclasses may override this to parse extra
+     * arguments.  Subclass implementations should NOT call the base
+     * class implementation.
+     */
+    protected void setup(String[] args) {
+        if (args.length > 0) {
+            throw new RuntimeException("Extra arguments received");
+        }
+    }
+
+    /**
+     * These must be kept in sync with getOptions().
+     */
+    static final int HELP1 = 0;
+    static final int HELP2 = 1;
+    static final int VERBOSE = 2;
+    static final int SOURCEDIR = 3;
+    static final int ENCODING = 4;
+    static final int USELEN = 5;
+    static final int FILE_NAME = 6;
+    static final int PASSES = 7;
+    static final int ITERATIONS = 8;
+    static final int TIME = 9;
+    static final int LINE_MODE = 10;
+    static final int BULK_MODE = 11;
+    static final int LOCALE = 12;
+    // Options above here are identical to those in C; keep in sync with C
+    // Options below here are unique to Java; shift down as necessary
+    static final int GARBAGE_COLLECT = 13;
+    static final int LIST = 14;
+
+    UOption[] getOptions() {
+        return new UOption[] {
+            UOption.HELP_H(),
+            UOption.HELP_QUESTION_MARK(),
+            UOption.VERBOSE(),
+            UOption.SOURCEDIR(),
+            UOption.ENCODING(),
+            UOption.DEF( "uselen",        'u', UOption.NO_ARG),
+            UOption.DEF( "file-name",     'f', UOption.REQUIRES_ARG),
+            UOption.DEF( "passes",        'p', UOption.REQUIRES_ARG),
+            UOption.DEF( "iterations",    'i', UOption.REQUIRES_ARG),
+            UOption.DEF( "time",          't', UOption.REQUIRES_ARG),
+            UOption.DEF( "line-mode",     'l', UOption.NO_ARG),
+            UOption.DEF( "bulk-mode",     'b', UOption.NO_ARG),
+            UOption.DEF( "locale",        'L', UOption.REQUIRES_ARG),
+
+            // Options above here are identical to those in C; keep in sync
+            // Options below here are unique to Java
+
+            UOption.DEF( "gc",            'g', UOption.NO_ARG),
+            UOption.DEF( "list",     (char)-1, UOption.NO_ARG),
+        };
+    }
+
+    /**
+     * Subclasses should call this method in their main().  run() will
+     * in turn call setup() with any arguments it does not parse.
+     * This method parses the command line and runs the tests given on
+     * the command line, with the given parameters.  See the class
+     * description for details.
+     */
+    protected final void run(String[] args) throws Exception {
+        ArrayList methodList = new ArrayList();
+        Method meth = null;
+
+        availableTests = null;
+        doPriorGC = false;
+        encoding = "";
+        uselen = false;
+        fileName = null;
+        sourceDir = null;
+        //lines = null;
+        line_mode = false;
+        //buffer = null;
+        //bufferLen = 0;
+        verbose = false;
+        bulk_mode = false;
+        passes = iterations = time = 0;
+        locale = null;
+
+        UOption[] options = getOptions();
+        int remainingArgc = UOption.parseArgs(args, options);
+
+        if(args.length==0 || options[HELP1].doesOccur || options[HELP2].doesOccur) {
+            throw new UsageException();
+        }
+
+        if(options[VERBOSE].doesOccur) {
+            verbose = true;
+        }
+
+        if(options[SOURCEDIR].doesOccur) {
+            sourceDir = options[SOURCEDIR].value;
+        }
+
+        if(options[ENCODING].doesOccur) {
+            encoding = options[ENCODING].value;
+        }
+
+        if(options[USELEN].doesOccur) {
+            uselen = true;
+        }
+
+        if(options[FILE_NAME].doesOccur){
+            fileName = options[FILE_NAME].value;
+        }
+
+        if (options[TIME].doesOccur && options[ITERATIONS].doesOccur) {
+            throw new UsageException("Cannot specify both time and iterations");
+        }
+
+        if(options[PASSES].doesOccur) {
+            passes = Integer.parseInt(options[PASSES].value);
+        }
+
+        if(options[ITERATIONS].doesOccur) {
+            iterations = Integer.parseInt(options[ITERATIONS].value);
+            time =0;
+        }
+
+        if(options[TIME].doesOccur) {
+            time = Integer.parseInt(options[TIME].value);
+            iterations = 0;
+        }
+
+        if (options[LINE_MODE].doesOccur && options[BULK_MODE].doesOccur) {
+            throw new UsageException("Cannot specify both line mode and bulk mode");
+        }
+
+        if(options[LINE_MODE].doesOccur) {
+            line_mode = true;
+            bulk_mode = false;
+        }
+
+        if(options[BULK_MODE].doesOccur) {
+            bulk_mode = true;
+            line_mode = false;
+        }
+
+        if(options[LOCALE].doesOccur) {
+            locale = LocaleUtility.getLocaleFromName(options[LOCALE].value);
+        }
+
+        if(options[GARBAGE_COLLECT].doesOccur) {
+            doPriorGC = true;
+        }
+
+        int i, j;
+        for (i=0; i<remainingArgc; ++i) {
+
+            // is args[i] a method name?
+            Method m = getTestMethod(args[i]);
+            if (m != null) {
+                methodList.add(m);
+                continue;
+            }
+
+            // args[i] is neither a method name nor a number.  Pass
+            // everything from here on through to the subclass via
+            // setup().
+            break;
+        }
+
+        if (methodList.size() < 1 || options[LIST].doesOccur) {
+            System.err.println("Available tests:");
+            Iterator methods = getAvailableTests().values().iterator();
+            TreeSet methodNames = new TreeSet();
+            while (methods.hasNext()) {
+                methodNames.add(((Method)methods.next()).getName());
+            }
+            Iterator tests = methodNames.iterator();
+            while (tests.hasNext()) {
+                System.err.println(" " + tests.next());
+            }
+            if (options[LIST].doesOccur) {
+                System.exit(0);
+            }
+            throw new UsageException("Must specify at least one method name");
+        }
+
+        // Pass remaining arguments, if any, through to the subclass
+        // via setup() method.
+        String[] subclassArgs = new String[remainingArgc - i];
+        for (j=0; i<remainingArgc; ++j) {
+            subclassArgs[j] = args[i++];
+        }
+        setup(subclassArgs);
+
+        if (doPriorGC) {
+            // Put the heap in a consistent state
+            gc();
+        }
+
+        final Object[] NO_ARGS = new Object[0];
+
+        // Run the tests
+        for (i=0; i<methodList.size(); ++i) {
+            meth = (Method) methodList.get(i);
+
+            // Call meth to set up the test
+           // long eventsPerCall = -1;
+            Function testFunction = (Function)meth.invoke(this, NO_ARGS);
+            if (testFunction == null) {
+                throw new RuntimeException(meth.getName() + " failed to return a test function");
+            }
+            if (testFunction.getOperationsPerIteration() < 1) {
+                throw new RuntimeException(meth.getName() + " returned an illegal operations/iteration()");
+            }
+
+            int n;
+            long t;
+            // ---------------------------------------------------------------------------------------------------
+            //The rest of this method is modified by GCL Shanghai. To synchronize this class with ICU4C's uperf.cpp
+            //----------------------------------------------------------------------------------------------------
+            long loops = 0;
+            //for (j=0; j<passes; ++j) {
+                if (iterations > 0) {
+                    // Run specified number of iterations
+                    loops = iterations;
+//                    System.out.println("= " + meth.getName() + " begin " + iterations + " iterations");
+//                    t = testFunction.time(iterations);
+//                    System.out.println("= " + meth.getName() + " end " + (t/1000.0) + " " + testFunction.getOperationsPerIteration());
+                } else {
+                    // Run for specified duration in seconds
+                    //first calibrate to determine iterations/pass
+                    if (verbose) {
+                        System.out.println("= " + meth.getName() + " calibrating " + time + " seconds" );
+                    }
+                    n = time * 1000; // s => ms
+                    //System.out.println("# " + meth.getName() + " " + n + " sec");
+
+                    int failsafe = 1; // last resort for very fast methods
+                    t = 0;
+                    while (t < (int)(n * 0.9)) { // 90% is close enough
+                        if (loops == 0 || t == 0) {
+                            loops = failsafe;
+                            failsafe *= 10;
+                        } else {
+                            //System.out.println("# " + meth.getName() + " x " + loops + " = " + t);
+                            loops = (int)((double)n / t * loops + 0.5);
+                            if (loops == 0) {
+                                throw new RuntimeException("Unable to converge on desired duration");
+                            }
+                        }
+                        //System.out.println("# " + meth.getName() + " x " + loops);
+                        t = testFunction.time(loops);
+                    }
+
+                }
+            //}
+            for (j=0; j<passes; ++j) {
+                long events = -1;
+                if (verbose) {
+                    if (iterations > 0) {
+                        System.out.println("= " + meth.getName() + " begin " + iterations);
+                    } else {
+                        System.out.println("= " + meth.getName() + " begin " + time + " seconds");
+                    }
+                } else {
+                    System.out.println("= " + meth.getName() + " begin " );
+                }
+
+                t = testFunction.time(loops);   //ms
+                events = testFunction.getEventsPerIteration();
+
+                if (verbose) {
+                    if (events == -1){
+                        System.out.println("= " + meth.getName() + " end " + (t/1000.0) + " loops: " + loops +
+                                                " operations: " + testFunction.getOperationsPerIteration());
+                    } else {
+                        System.out.println("= " + meth.getName() + " end " + (t/1000.0) + " loops: " + loops +
+                                                " operations: " + testFunction.getOperationsPerIteration() +" events: " + events);
+                    }
+                } else {
+                    if (events == -1){
+                        System.out.println("= " + meth.getName() + " end " + (t/1000.0) + " " + loops +
+                                                " " + testFunction.getOperationsPerIteration());
+                    } else {
+                        System.out.println("= " + meth.getName() + " end " + (t/1000.0) + " " + loops +
+                                                " " + testFunction.getOperationsPerIteration() + " " + events);
+                    }
+                }
+
+            }
+        }
+    }
+
+    /**
+     * Invoke the runtime's garbage collection procedure repeatedly
+     * until the amount of free memory stabilizes to within 10%.
+     */
+    protected void gc() {
+        if (false) {
+            long last;
+            long free = 1;
+            Runtime runtime = Runtime.getRuntime();
+            do {
+                runtime.gc();
+                last = free;
+                free = runtime.freeMemory();
+            } while (((double)Math.abs(free - last)) / free > 0.1);
+            // Wait for the change in free memory to drop under 10%
+            // between successive calls.
+        }
+
+        // From "Java Platform Performance".  This is the procedure
+        // recommended by Javasoft.
+        try {
+            System.gc();
+            Thread.sleep(100);
+            System.runFinalization();
+            Thread.sleep(100);
+
+            System.gc();
+            Thread.sleep(100);
+            System.runFinalization();
+            Thread.sleep(100);
+        } catch (InterruptedException e) {}
+    }
+
+    /**
+     * Return a map of String to Method objects.  Each string is a
+     * munged all-lowercase name.  For this reason, test methods
+     * (beginning with "test", ignoring case) must not collide when
+     * case folded.
+     */
+    private Map getAvailableTests() {
+        if (availableTests == null) {
+            availableTests = new HashMap();
+            Method[] methods = getClass().getDeclaredMethods();
+            for (int i=0; i<methods.length; i++) {
+                String name = methods[i].getName().toLowerCase();
+                // Note: methods named "test()" are ignored
+                if (name.length() > 4 && name.startsWith("test")) {
+                    if (availableTests.get(name) != null) {
+                        throw new RuntimeException("Duplicate method name ignoring case: " + name);
+                    }
+                    availableTests.put(name, methods[i]);
+                }
+            }
+        }
+        return availableTests;
+    }
+
+    /**
+     * Given a name, return the associated Method object, or null if
+     * not found.  The given name will map to a method of the same
+     * name, or a method named "test" + name.  Case is ignored.
+     */
+    private Method getTestMethod(String name) {
+        Map avail = getAvailableTests();
+        String key = name.toLowerCase();
+        Method m = (Method) avail.get(key);
+        if (m != null) {
+            return m;
+        }
+        return (Method) avail.get("test" + key);
+    }
+
+    /**
+     * Private utility to convert a List of Integer objects to int[].
+     */
+    private static int[] toIntArray(List list) {
+        int[] result = new int[list.size()];
+        for (int i=0; i<list.size(); ++i) {
+            result[i] = ((Integer) list.get(i)).intValue();
+        }
+        return result;
+    }
+    public static char[] readToEOS(InputStreamReader stream) {
+        ArrayList vec = new ArrayList();
+        int count = 0;
+        int pos = 0;
+        final int MAXLENGTH = 0x8000; // max buffer size - 32K
+        int length = 0x80; // start with small buffers and work up
+        do {
+            pos = 0;
+            length = length >= MAXLENGTH ? MAXLENGTH : length * 2;
+            char[] buffer = new char[length];
+            try {
+                do {
+                    int n = stream.read(buffer, pos, length - pos);
+                    if (n == -1) {
+                    break;
+                    }
+                    pos += n;
+                } while (pos < length);
+            }
+            catch (IOException e) {
+            }
+            vec.add(buffer);
+            count += pos;
+        } while (pos == length);
+
+        char[] data = new char[count];
+        pos = 0;
+        for (int i = 0; i < vec.size(); ++i) {
+            char[] buf = (char[])vec.get(i);
+            int len = Math.min(buf.length, count - pos);
+            System.arraycopy(buf, 0, data, pos, len);
+            pos += len;
+        }
+        return data;
+    }
+    public static byte[] readToEOS(InputStream stream) {
+
+        ArrayList vec = new ArrayList();
+        int count = 0;
+        int pos = 0;
+        final int MAXLENGTH = 0x8000; // max buffer size - 32K
+        int length = 0x80; // start with small buffers and work up
+        do {
+            pos = 0;
+            length = length >= MAXLENGTH ? MAXLENGTH : length * 2;
+            byte[] buffer = new byte[length];
+            try {
+                do {
+                    int n = stream.read(buffer, pos, length - pos);
+                    if (n == -1) {
+                    break;
+                    }
+                    pos += n;
+                } while (pos < length);
+            }
+            catch (IOException e) {
+            }
+            vec.add(buffer);
+            count += pos;
+        } while (pos == length);
+
+
+        byte[] data = new byte[count];
+        pos = 0;
+        for (int i = 0; i < vec.size(); ++i) {
+            byte[] buf = (byte[])vec.get(i);
+            int len = Math.min(buf.length, count - pos);
+            System.arraycopy(buf, 0, data, pos, len);
+            pos += len;
+        }
+        return data;
+    }
+
+    public String[] readLines(String fileName, String encoding, boolean bulkMode) {
+        FileInputStream fis = null;
+        InputStreamReader isr = null;
+        BufferedReader br = null;
+        try {
+            fis = new FileInputStream(fileName);
+            isr = new InputStreamReader(fis, encoding);
+            br= new BufferedReader(isr);
+        } catch (Exception e) {
+            System.err.println("Error: File access exception: " + e.getMessage() + "!");
+            System.exit(1);
+        }
+        ArrayList list = new ArrayList();
+        while (true) {
+            String line = null;
+            try {
+                line = readDataLine(br);
+            } catch (Exception e) {
+                System.err.println("Read File Error" + e.getMessage() + "!");
+                System.exit(1);
+            }
+            if (line == null) break;
+            if (line.length() == 0) continue;
+            list.add(line);
+        }
+
+        int size = list.size();
+        String[] lines = null;
+
+        if (bulkMode) {
+            lines = new String[1];
+            StringBuffer buffer = new StringBuffer("");
+            for (int i = 0; i < size; ++i) {
+                buffer.append((String) list.get(i));
+                /*if (i < (size - 1)) {
+                    buffer.append("\r\n");
+                }*/
+            }
+            lines[0] = buffer.toString();
+        } else {
+            lines = new String [size];
+            for (int i = 0; i < size; ++i) {
+                lines[i] = (String) list.get(i);
+            }
+        }
+
+        return lines;
+    }
+
+    public String readDataLine(BufferedReader br) throws Exception {
+        String originalLine = "";
+        String line = "";
+        try {
+            line = originalLine = br.readLine();
+            if (line == null) return null;
+            if (line.length() > 0 && line.charAt(0) == 0xFEFF) line = line.substring(1);
+            int commentPos = line.indexOf('#');
+            if (commentPos >= 0) line = line.substring(0, commentPos);
+            line = line.trim();
+        } catch (Exception e) {
+            throw new Exception("Line \"{0}\",  \"{1}\"" + originalLine + " "
+                                + line + " " + e.toString());
+        }
+        return line;
+    }
+}
+
+//eof
diff --git a/src/com/ibm/icu/dev/test/perf/RBBIPerf.java b/src/com/ibm/icu/dev/test/perf/RBBIPerf.java
new file mode 100644
index 0000000..7f03287
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/perf/RBBIPerf.java
@@ -0,0 +1,157 @@
+/*
+**********************************************************************
+* Copyright (c) 2002-2004, International Business Machines
+* Corporation and others.  All Rights Reserved.
+**********************************************************************
+*/
+package com.ibm.icu.dev.test.perf;
+import com.ibm.icu.text.*;
+import java.io.FileInputStream;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.IOException;
+import java.text.BreakIterator;
+
+/**
+ * A class for testing UnicodeSet performance.
+ *
+ * @author Alan Liu
+ * @since ICU 2.4
+ */
+public class RBBIPerf extends PerfTest {
+
+    String                  dataFileName;
+    RuleBasedBreakIterator  bi;
+    BreakIterator           jdkbi;
+    String                  testString;
+
+    public static void main(String[] args) throws Exception {
+        new RBBIPerf().run(args);
+    }
+
+    protected void setup(String[] args) {
+        // We only take one argument, the pattern
+        if (args.length != 2) {
+            throw new RuntimeException("RBBITest params:  data_file_name break_iterator_type ");
+        }
+
+        try {
+            dataFileName = args[0];
+            StringBuffer  testFileBuf = new StringBuffer();
+            InputStream is = new FileInputStream(dataFileName);
+            InputStreamReader isr = new InputStreamReader(is, "UTF-8");           
+            int c;
+            for (;;) {
+                c = isr.read();
+                if (c < 0) {
+                    break;
+                }
+                UTF16.append(testFileBuf, c);
+            }
+            testString = testFileBuf.toString();
+        }
+        catch (IOException e) {
+            throw new RuntimeException(e.toString());   
+        }
+        
+        if (args.length >= 2) {
+            if (args[1].equals("char")) {
+                bi  = (RuleBasedBreakIterator)com.ibm.icu.text.BreakIterator.getCharacterInstance();  
+            } else if (args[1].equals("word")) {
+                bi  = (RuleBasedBreakIterator)com.ibm.icu.text.BreakIterator.getWordInstance();
+            } else if (args[1].equals("line")) {
+                bi  = (RuleBasedBreakIterator)com.ibm.icu.text.BreakIterator.getLineInstance();
+            } else if (args[1].equals("jdkline")) {
+                jdkbi  = BreakIterator.getLineInstance();
+            }
+        }
+        if (bi!=null ) {
+            bi.setText(testString);
+        }
+        if (jdkbi != null) {
+            jdkbi.setText(testString);   
+        }
+        
+    }
+
+    
+    
+    PerfTest.Function testRBBINext() {
+        return new PerfTest.Function() {
+            
+            public void call() {
+                int n;
+                if (bi != null) {
+                    n = bi.first();
+                    for (; n != BreakIterator.DONE; n=bi.next()) {
+                    }   
+                } else {
+                    n = jdkbi.first();
+                    for (; n != BreakIterator.DONE; n=jdkbi.next()) {
+                    }   
+                }
+            }
+        
+            
+            public long getOperationsPerIteration() {
+                int n;
+                int count = 0;
+                if (bi != null) {
+                    for (n=bi.first(); n != BreakIterator.DONE; n=bi.next()) {
+                        count++;
+                    }
+                } else {                  
+                    for (n=jdkbi.first(); n != BreakIterator.DONE; n=jdkbi.next()) {
+                        count++;
+                    }
+                }
+                return count;
+            }
+        };
+    }
+    
+    
+    PerfTest.Function testRBBIPrevious() {
+        return new PerfTest.Function() {
+            
+            public void call() {
+                bi.first();
+                int n=0;
+                for (n=bi.last(); n != BreakIterator.DONE; n=bi.previous()) {
+                }   
+            }
+            
+            
+            public long getOperationsPerIteration() {
+                int n;
+                int count = 0;
+                for (n=bi.last(); n != BreakIterator.DONE; n=bi.previous()) {
+                    count++;
+                }   
+                return count;
+            }
+        };
+    }
+
+
+    PerfTest.Function testRBBIIsBoundary() {
+        return new PerfTest.Function() {
+            
+            public void call() {
+                int n=testString.length();
+                int i;
+                for (i=0; i<n; i++) {
+                    bi.isBoundary(i);
+                }   
+            }
+            
+            public long getOperationsPerIteration() {
+                int n = testString.length();
+                return n;
+            }
+        };
+    }
+
+
+ 
+}
diff --git a/src/com/ibm/icu/dev/test/perf/UCharacterPerf.java b/src/com/ibm/icu/dev/test/perf/UCharacterPerf.java
new file mode 100644
index 0000000..4eab56b
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/perf/UCharacterPerf.java
@@ -0,0 +1,533 @@
+/**
+ *******************************************************************************
+ * Copyright (C) 2001-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+package com.ibm.icu.dev.test.perf;
+
+import com.ibm.icu.lang.UCharacter;
+
+/**
+ * Base performance test that takes in a method name for testing with JDK.
+ * To use 
+ * <code>
+ * java com.ibm.icu.dev.test.perf.UCharacterPerf $MethodName $LoopCount - 
+ *                                  $START_TEST_CHARACTER $END_TEST_CHARACTER
+ * </code>
+ * where $*_TEST_CHARACTER are in hex decimals with a leading 0x
+ */
+public final class UCharacterPerf extends PerfTest 
+{
+    // public methods ------------------------------------------------------
+    
+    public static void main(String[] args) throws Exception
+    {   
+        new UCharacterPerf().run(args);
+        // new UCharacterPerf().TestPerformance();
+    }
+    
+    protected void setup(String[] args) {
+        // We only take one argument, the pattern
+        MIN_ = Character.MIN_VALUE;
+        MAX_ = Character.MAX_VALUE;
+        if (args.length >= 1) {
+            MIN_ = Integer.parseInt(args[0], 16);
+        }
+        if (args.length >= 2) {
+            MAX_ = Integer.parseInt(args[1], 16);
+        }
+    }
+    
+    PerfTest.Function testDigit() 
+    {
+        return new PerfTest.Function() {
+            public void call() {
+                for (int ch = MIN_; ch < MAX_; ch ++) {
+                    UCharacter.digit(ch, 10);
+                }
+            }
+
+            public long getOperationsPerIteration() {
+                return MAX_ - MIN_ + 1;
+            }
+        };
+    }
+    
+    PerfTest.Function testJDKDigit() 
+    {
+        return new PerfTest.Function() {
+            public void call() {
+                for (char ch = (char)MIN_; ch < (char)MAX_; ch ++) {
+                    Character.digit(ch, 10);
+                }
+            }
+
+            public long getOperationsPerIteration() {
+                return MAX_ - MIN_ + 1;
+            }
+        };
+    }
+    
+    PerfTest.Function testGetNumericValue() 
+    {
+        return new PerfTest.Function() {
+            public void call() {
+                for (int ch = MIN_; ch < MAX_; ch ++) {
+                    UCharacter.getNumericValue(ch);
+                }
+            }
+
+            public long getOperationsPerIteration() {
+                return MAX_ - MIN_ + 1;
+            }
+        };
+    }
+
+    PerfTest.Function testJDKGetNumericValue() 
+    {
+        return new PerfTest.Function() {
+            public void call() {
+                for (char ch = (char)MIN_; ch < (char)MAX_; ch ++) {
+                    Character.getNumericValue(ch);
+                }
+            }
+
+            public long getOperationsPerIteration() {
+                return MAX_ - MIN_ + 1;
+            }
+        };
+    }
+     
+    PerfTest.Function testGetType() 
+    {
+        return new PerfTest.Function() {
+            public void call() {
+                for (int ch = MIN_; ch < MAX_; ch ++) {
+                    UCharacter.getType(ch);
+                }
+            }
+
+            public long getOperationsPerIteration() {
+                return MAX_ - MIN_ + 1;
+            }
+        };
+    }   
+
+    PerfTest.Function testJDKGetType() 
+    {
+        return new PerfTest.Function() {
+            public void call() {
+                for (char ch = (char)MIN_; ch < (char)MAX_; ch ++) {
+                    Character.getType(ch);
+                }
+            }
+
+            public long getOperationsPerIteration() {
+                return MAX_ - MIN_ + 1;
+            }
+        };
+    }
+
+    PerfTest.Function testIsDefined() 
+    {
+        return new PerfTest.Function() {
+            public void call() {
+                for (int ch = MIN_; ch < MAX_; ch ++) {
+                    UCharacter.isDefined(ch);
+                }
+            }
+
+            public long getOperationsPerIteration() {
+                return MAX_ - MIN_ + 1;
+            }
+        };
+    }    
+    
+    PerfTest.Function testJDKIsDefined() 
+    {
+        return new PerfTest.Function() {
+            public void call() {
+                for (char ch = (char)MIN_; ch < (char)MAX_; ch ++) {
+                    Character.isDefined(ch);
+                }
+            }
+
+            public long getOperationsPerIteration() {
+                return MAX_ - MIN_ + 1;
+            }
+        };
+    }    
+
+    PerfTest.Function testIsDigit() 
+    {
+        return new PerfTest.Function() {
+            public void call() {
+                for (int ch = MIN_; ch < MAX_; ch ++) {
+                    UCharacter.isDigit(ch);
+                }
+            }
+
+            public long getOperationsPerIteration() {
+                return MAX_ - MIN_ + 1;
+            }
+        };
+    }    
+    
+    PerfTest.Function testJDKIsDigit() 
+    {
+        return new PerfTest.Function() {
+            public void call() {
+                for (char ch = (char)MIN_; ch < (char)MAX_; ch ++) {
+                    Character.isDigit(ch);
+                }
+            }
+
+            public long getOperationsPerIteration() {
+                return MAX_ - MIN_ + 1;
+            }
+        };
+    }
+    
+    PerfTest.Function testIsIdentifierIgnorable() 
+    {
+        return new PerfTest.Function() {
+            public void call() {
+                for (int ch = MIN_; ch < MAX_; ch ++) {
+                    UCharacter.isIdentifierIgnorable(ch);
+                }
+            }
+
+            public long getOperationsPerIteration() {
+                return MAX_ - MIN_ + 1;
+            }
+        };
+    }    
+    
+    PerfTest.Function testJDKIsIdentifierIgnorable() 
+    {
+        return new PerfTest.Function() {
+            public void call() {
+                for (char ch = (char)MIN_; ch < (char)MAX_; ch ++) {
+                    Character.isIdentifierIgnorable(ch);
+                }
+            }
+
+            public long getOperationsPerIteration() {
+                return MAX_ - MIN_ + 1;
+            }
+        };
+    }
+    
+    PerfTest.Function testIsISOControl() 
+    {
+        return new PerfTest.Function() {
+            public void call() {
+                for (int ch = MIN_; ch < MAX_; ch ++) {
+                    UCharacter.isISOControl(ch);
+                }
+            }
+
+            public long getOperationsPerIteration() {
+                return MAX_ - MIN_ + 1;
+            }
+        };
+    }
+    
+    PerfTest.Function testJDKIsISOControl() 
+    {
+        return new PerfTest.Function() {
+            public void call() {
+                for (char ch = (char)MIN_; ch < (char)MAX_; ch ++) {
+                    Character.isISOControl(ch);
+                }
+            }
+
+            public long getOperationsPerIteration() {
+                return MAX_ - MIN_ + 1;
+            }
+        };
+    }
+    
+    PerfTest.Function testIsLetter() 
+    {
+        return new PerfTest.Function() {
+            public void call() {
+                for (int ch = MIN_; ch < MAX_; ch ++) {
+                    UCharacter.isLetter(ch);
+                }
+            }
+
+            public long getOperationsPerIteration() {
+                return MAX_ - MIN_ + 1;
+            }
+        };
+    }
+    
+    PerfTest.Function testJDKIsLetter() 
+    {
+        return new PerfTest.Function() {
+            public void call() {
+                for (char ch = (char)MIN_; ch < (char)MAX_; ch ++) {
+                    Character.isLetter(ch);
+                }
+            }
+
+            public long getOperationsPerIteration() {
+                return MAX_ - MIN_ + 1;
+            }
+        };
+    }
+    
+    PerfTest.Function testIsLetterOrDigit() 
+    {
+        return new PerfTest.Function() {
+            public void call() {
+                for (int ch = MIN_; ch < MAX_; ch ++) {
+                    UCharacter.isLetterOrDigit(ch);
+                }
+            }
+
+            public long getOperationsPerIteration() {
+                return MAX_ - MIN_ + 1;
+            }
+        };
+    }
+    
+    PerfTest.Function testJDKIsLetterOrDigit() 
+    {
+        return new PerfTest.Function() {
+            public void call() {
+                for (char ch = (char)MIN_; ch < (char)MAX_; ch ++) {
+                    Character.isLetterOrDigit(ch);
+                }
+            }
+
+            public long getOperationsPerIteration() {
+                return MAX_ - MIN_ + 1;
+            }
+        };
+    }
+
+    PerfTest.Function testIsLowerCase() 
+    {
+        return new PerfTest.Function() {
+            public void call() {
+                for (int ch = MIN_; ch < MAX_; ch ++) {
+                    UCharacter.isLowerCase(ch);
+                }
+            }
+
+            public long getOperationsPerIteration() {
+                return MAX_ - MIN_ + 1;
+            }
+        };
+    }    
+    
+    PerfTest.Function testJDKIsLowerCase() 
+    {
+        return new PerfTest.Function() {
+            public void call() {
+                for (char ch = (char)MIN_; ch < (char)MAX_; ch ++) {
+                    Character.isLowerCase(ch);
+                }
+            }
+
+            public long getOperationsPerIteration() {
+                return MAX_ - MIN_ + 1;
+            }
+        };
+    }    
+    
+    PerfTest.Function testIsSpaceChar() 
+    {
+        return new PerfTest.Function() {
+            public void call() {
+                for (int ch = MIN_; ch < MAX_; ch ++) {
+                    UCharacter.isSpaceChar(ch);
+                }
+            }
+
+            public long getOperationsPerIteration() {
+                return MAX_ - MIN_ + 1;
+            }
+        };
+    } 
+    
+    PerfTest.Function testJDKIsSpaceChar() 
+    {
+        return new PerfTest.Function() {
+            public void call() {
+                for (char ch = (char)MIN_; ch < (char)MAX_; ch ++) {
+                    Character.isSpaceChar(ch);
+                }
+            }
+
+            public long getOperationsPerIteration() {
+                return MAX_ - MIN_ + 1;
+            }
+        };
+    }  
+    
+    PerfTest.Function testIsTitleCase() 
+    {
+        return new PerfTest.Function() {
+            public void call() {
+                for (int ch = MIN_; ch < MAX_; ch ++) {
+                    UCharacter.isTitleCase(ch);
+                }
+            }
+
+            public long getOperationsPerIteration() {
+                return MAX_ - MIN_ + 1;
+            }
+        };
+    }
+    
+    PerfTest.Function testJDKIsTitleCase() 
+    {
+        return new PerfTest.Function() {
+            public void call() {
+                for (char ch = (char)MIN_; ch < (char)MAX_; ch ++) {
+                    Character.isTitleCase(ch);
+                }
+            }
+
+            public long getOperationsPerIteration() {
+                return MAX_ - MIN_ + 1;
+            }
+        };
+    }    
+    
+    PerfTest.Function testIsUnicodeIdentifierPart() 
+    {
+        return new PerfTest.Function() {
+            public void call() {
+                for (int ch = MIN_; ch < MAX_; ch ++) {
+                    UCharacter.isUnicodeIdentifierPart(ch);
+                }
+            }
+
+            public long getOperationsPerIteration() {
+                return MAX_ - MIN_ + 1;
+            }
+        };
+    } 
+    
+    PerfTest.Function testJDKIsUnicodeIdentifierPart() 
+    {
+        return new PerfTest.Function() {
+            public void call() {
+                for (char ch = (char)MIN_; ch < (char)MAX_; ch ++) {
+                    Character.isUnicodeIdentifierPart(ch);
+                }
+            }
+
+            public long getOperationsPerIteration() {
+                return MAX_ - MIN_ + 1;
+            }
+        };
+    } 
+    
+    PerfTest.Function testIsUnicodeIdentifierStart() 
+    {
+        return new PerfTest.Function() {
+            public void call() {
+                for (int ch = MIN_; ch < MAX_; ch ++) {
+                    UCharacter.isUnicodeIdentifierStart(ch);
+                }
+            }
+
+            public long getOperationsPerIteration() {
+                return MAX_ - MIN_ + 1;
+            }
+        };
+    } 
+    
+    PerfTest.Function testJDKIsUnicodeIdentifierStart() 
+    {
+        return new PerfTest.Function() {
+            public void call() {
+                for (char ch = (char)MIN_; ch < (char)MAX_; ch ++) {
+                    Character.isUnicodeIdentifierStart(ch);
+                }
+            }
+
+            public long getOperationsPerIteration() {
+                return MAX_ - MIN_ + 1;
+            }
+        };
+    } 
+    
+    PerfTest.Function testIsUpperCase() 
+    {
+        return new PerfTest.Function() {
+            public void call() {
+                for (char ch = (char)MIN_; ch < (char)MAX_; ch ++) {
+                    UCharacter.isUpperCase(ch);
+                }
+            }
+
+            public long getOperationsPerIteration() {
+                return MAX_ - MIN_ + 1;
+            }
+        };
+    }
+    
+    PerfTest.Function testJDKIsUpperCase() 
+    {
+        return new PerfTest.Function() {
+            public void call() {
+                for (char ch = (char)MIN_; ch < (char)MAX_; ch ++) {
+                    Character.isUpperCase(ch);
+                }
+            }
+
+            public long getOperationsPerIteration() {
+                return MAX_ - MIN_ + 1;
+            }
+        };
+    }    
+         
+    PerfTest.Function testIsWhiteSpace() 
+    {
+        return new PerfTest.Function() {
+            public void call() {
+                for (int ch = MIN_; ch < MAX_; ch ++) {
+                    UCharacter.isWhitespace(ch);
+                }
+            }
+
+            public long getOperationsPerIteration() {
+                return MAX_ - MIN_ + 1;
+            }
+        };
+    }
+    
+    PerfTest.Function testJDKIsWhiteSpace() 
+    {
+        return new PerfTest.Function() {
+            public void call() {
+                for (char ch = (char)MIN_; ch < (char)MAX_; ch ++) {
+                    Character.isWhitespace(ch);
+                }
+            }
+
+            public long getOperationsPerIteration() {
+                return MAX_ - MIN_ + 1;
+            }
+        };
+    }
+    
+    // private data member --------------------------------------------------
+    
+    /**
+     * Minimum codepoint to do test. Test is ran from MIN_ to MAX_
+     */
+    private static int MIN_;
+    /**
+     * Minimum codepoint to do test. Test is ran from MIN_ to MAX_
+     */
+    private static int MAX_;
+}
diff --git a/src/com/ibm/icu/dev/test/perf/UnicodeSetPerf.java b/src/com/ibm/icu/dev/test/perf/UnicodeSetPerf.java
new file mode 100644
index 0000000..129fa51
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/perf/UnicodeSetPerf.java
@@ -0,0 +1,161 @@
+/*
+**********************************************************************
+* Copyright (c) 2002-2004, International Business Machines
+* Corporation and others.  All Rights Reserved.
+**********************************************************************
+*/
+package com.ibm.icu.dev.test.perf;
+import com.ibm.icu.text.*;
+import java.util.HashSet;
+import java.util.Iterator;
+
+/**
+ * A class for testing UnicodeSet performance.
+ *
+ * @author Alan Liu
+ * @since ICU 2.4
+ */
+public class UnicodeSetPerf extends PerfTest {
+
+    String pattern;
+    UnicodeSet testChars;
+    UnicodeSetIterator it;
+    UnicodeSet us;
+    HashSet hs;
+
+    public static void main(String[] args) throws Exception {
+        new UnicodeSetPerf().run(args);
+    }
+
+    protected void setup(String[] args) {
+        // We only take one argument, the pattern
+        if (args.length != 1) {
+            throw new RuntimeException("Please supply UnicodeSet pattern");
+        }
+
+        pattern = args[0];
+        testChars = new UnicodeSet(pattern);
+        it = new UnicodeSetIterator(testChars);
+        us = new UnicodeSet();
+        hs = new HashSet();
+    }
+
+    PerfTest.Function testUnicodeSetAdd() {
+        return new PerfTest.Function() {
+            public void call() {
+                us.clear();
+                it.reset();
+                int n=0;
+                while (it.nextRange()) {
+                    for (int cp = it.codepoint; cp <= it.codepointEnd; ++cp) {
+                        us.add(cp);
+                        ++n;
+                    }
+                }
+            }
+
+            public long getOperationsPerIteration() {
+                return testChars.size();
+            }
+        };
+    }
+
+    PerfTest.Function testHashSetAdd() {
+        return new PerfTest.Function() {
+            public void call() {
+                hs.clear();
+                it.reset();
+                int n=0;
+                while (it.nextRange()) {
+                    for (int cp = it.codepoint; cp <= it.codepointEnd; ++cp) {
+                        hs.add(new Integer(cp));
+                        ++n;
+                    }
+                }
+            }
+
+            public long getOperationsPerIteration() {
+                return testChars.size();
+            }
+        };
+    }
+
+    PerfTest.Function testUnicodeSetContains() {
+        us.clear();
+        us.set(testChars);
+        
+        return new PerfTest.Function() {
+            public void call() {
+                int temp = 0;
+                for (int cp = 0; cp <= 0x10FFFF; ++cp) {
+                    if (us.contains(cp)) {
+                        temp += cp;
+                    }
+                }
+            }
+
+            public long getOperationsPerIteration() {
+                return 0x110000;
+            }
+        };
+    }
+
+    PerfTest.Function testHashSetContains() {
+        hs.clear();
+        it.reset();
+        while (it.next()) {
+            hs.add(new Integer(it.codepoint));
+        }
+        return new PerfTest.Function() {
+            public void call() {
+                int temp = 0;
+                for (int cp = 0; cp <= 0x10FFFF; ++cp) {
+                    if (hs.contains(new Integer(cp))) {
+                        temp += cp;
+                    }
+                }
+            }
+
+            public long getOperationsPerIteration() {
+                return 0x110000;
+            }
+        };
+    }
+
+    PerfTest.Function testUnicodeSetIterate() {
+        return new PerfTest.Function() {
+            public void call() {
+                int temp = 0;
+                UnicodeSetIterator uit = new UnicodeSetIterator(testChars);
+                while (uit.next()) {
+                    temp += uit.codepoint;
+                }
+            }
+
+            public long getOperationsPerIteration() {
+                return testChars.size();
+            }
+        };
+    }
+
+    PerfTest.Function testHashSetIterate() {
+        hs.clear();
+        it.reset();
+        while (it.next()) {
+            hs.add(new Integer(it.codepoint));
+        }
+        return new PerfTest.Function() {
+            public void call() {
+                int temp = 0;
+                Iterator it = hs.iterator();
+                while (it.hasNext()) {
+                    temp += ((Integer)it.next()).intValue();
+                }
+            }
+
+            public long getOperationsPerIteration() {
+                return testChars.size();
+            }
+        };
+    }
+}
diff --git a/src/com/ibm/icu/dev/test/perf/collationperf.pl b/src/com/ibm/icu/dev/test/perf/collationperf.pl
new file mode 100755
index 0000000..0f0548a
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/perf/collationperf.pl
@@ -0,0 +1,126 @@
+#/**
+# *******************************************************************************
+# * Copyright (C) 2002-2004, International Business Machines Corporation and    *
+# * others. All Rights Reserved.                                                *
+# *******************************************************************************
+# */
+#
+#  ICU and Windows Collation performance test script
+#      Used in conjunction with the collperf test program.
+#      This script defines the locales and data files to be tested,
+#        runs the collperf program, and formats and prints the results.
+#
+#        7 June 2001   Andy Heninger
+#
+#  ICU4J and Java Collator performance test script
+#  2002-09-25 modified by Richard Liang
+
+print "To run this performance test\n";
+print "cd to the ICU4J root directory, one directory below src\n";
+print "run perl src\\com\\ibm\\icu\\dev\\test\\perf\\collationperf.pl\n";
+
+#
+# Map defines the set of data files to run in each locale
+#
+%dataFiles = (
+   "en_US",         "TestNames_Latin.txt",
+   "da_DK",         "TestNames_Latin.txt",
+   "de_DE",         "TestNames_Latin.txt",
+   "de__PHONEBOOK", "TestNames_Latin.txt",
+   "fr_FR",         "TestNames_Latin.txt",
+   "ja_JP",         "TestNames_Latin.txt TestNames_Japanese_h.txt TestNames_Japanese_k.txt TestNames_Asian.txt",
+   "zh_CN",         "TestNames_Latin.txt TestNames_Chinese.txt",
+   "zh_TW",         "TestNames_Latin.txt TestNames_Chinese.txt",
+   "zh__PINYIN",    "TestNames_Latin.txt TestNames_Chinese.txt",
+   "ru_RU", 	    "TestNames_Latin.txt TestNames_Russian.txt",
+   "th",            "TestNames_Latin.txt TestNames_Thai.txt",
+   "ko_KR",         "TestNames_Latin.txt TestNames_Korean.txt",
+   );
+
+
+#
+#  Outer loop runs through the locales to test
+#     (Edit this list dirctly to make changes)
+#
+   foreach $locale (
+	   "en_US",
+	   "da_DK",
+	   "de_DE",
+	   "de__PHONEBOOK",
+	   "fr_FR",
+	   "ja_JP",
+       "zh_CN",
+	   "zh_TW",
+	   "zh__PINYIN",
+       "ko_KR",
+	   "ru_RU",
+	   "th",
+                   )
+       {
+       #
+       # Inner loop runs over the set of data files specified for each locale.
+       #    (Edit the %datafiles initialization, above, to make changes.
+       #
+       $ff = $dataFiles{$locale};
+       @ff = split(/[\s]+/, $ff);
+       foreach $data (@ff) {
+
+          #
+          # Run ICU Test for this (locale, data file) pair.
+          #
+          $iStrCol = `java -classpath classes com.ibm.icu.dev.test.perf.CollationPerformanceTest -terse -file src/com/ibm/icu/dev/test/perf/data/collation/$data -locale $locale -loop 1000 -binsearch`;
+          $iStrCol =~s/[,\s]*//g;  # whack off the leading "  ," in the returned result.
+          doKeyTimes("java -classpath classes com.ibm.icu.dev.test.perf.CollationPerformanceTest -terse -file src/com/ibm/icu/dev/test/perf/data/collation/$data -locale $locale -loop 1000 -keygen",
+                     $iKeyGen, $iKeyLen);
+
+
+          #
+          # Run Windows test for this (locale, data file) pair.  Only do if
+          #    we are not on Windows 98/ME and we hava a windows langID
+          #    for the locale.
+          #
+          $wStrCol = $wKeyGen = $wKeyLen = 0;
+          $wStrCol = `java -classpath classes com.ibm.icu.dev.test.perf.CollationPerformanceTest -terse -file src/com/ibm/icu/dev/test/perf/data/collation/$data -locale $locale -loop 1000 -binsearch -java`;
+          $wStrCol =~s/[,\s]*//g;  # whack off the leading "  ," in the returned result.
+          doKeyTimes("java -classpath classes com.ibm.icu.dev.test.perf.CollationPerformanceTest -terse -file src/com/ibm/icu/dev/test/perf/data/collation/$data -locale $locale -loop 1000 -keygen -java",
+                     $wKeyGen, $wKeyLen);
+                     
+          $collDiff = $keyGenDiff = $keyLenDiff = 0;
+          if ($wKeyLen > 0) {
+              $collDiff   = (($wStrCol - $iStrCol) / $iStrCol) * 100;
+              $keyGenDiff = (($wKeyGen - $iKeyGen) / $iKeyGen) * 100;
+              $keyLenDiff = (($wKeyLen - $iKeyLen) / $iKeyLen) * 100;
+          }
+
+         #
+         #  Write the line of results for this (locale, data file).
+         #
+         write;
+    }
+ }
+
+#
+#  doKeyGenTimes($Command_to_run, $time, $key_length)
+#       Do a key-generation test and return the time and key length/char values.
+#
+sub doKeyTimes($$$) {
+   # print "$_[0]";
+   local($x) = `$_[0]`;                  # execute the collperf command.
+   ($_[1], $_[2]) = split(/\,/, $x);     # collperf returns "time, keylength" string.
+}
+
+
+#
+#  Output Formats ...
+#
+#
+format STDOUT_TOP =
+                                      -------- ICU --------   ------ JAVA -------      (JAVA - ICU)/ICU
+Locale     Data file                  strcoll keygen  keylen  strcoll keygen  keylen    coll  keygen  keylen
+------------------------------------------------------------------------------------------------------------
+.
+
+format STDOUT =
+@<<<<<<<<< @<<<<<<<<<<<<<<<<<<<<<<<<| @######  @####   @#.##  |@##### @#####   @#.## | @###%  @###%   @###%
+$locale, $data, $iStrCol, $iKeyGen, $iKeyLen, $wStrCol, $wKeyGen, $wKeyLen, $collDiff, $keyGenDiff, $keyLenDiff
+.
diff --git a/src/com/ibm/icu/dev/test/perf/data/collation/TestNames_Asian.txt b/src/com/ibm/icu/dev/test/perf/data/collation/TestNames_Asian.txt
new file mode 100644
index 0000000..ecb8f83
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/perf/data/collation/TestNames_Asian.txt
@@ -0,0 +1,10008 @@
+﻿#/**
+# *******************************************************************************
+# * Copyright (C) 2002-2004, International Business Machines Corporation and    *
+# * others. All Rights Reserved.                                                *
+# *******************************************************************************
+# */
+
+あきもと,やすお
+あいかわ,のりお
+あかつか,かずひこ
+あわず,あきら
+あさの,よしや
+あらき,よしかず
+いのうえ,ひろひと
+かとう,まさとし
+なかむら,けいぞう
+ふじわら,たかこ
+やなぎはら,みどり
+かわだ,なおこ
+いしの,きよなが
+ごとう,かつのり
+いしじま,りょうへい
+あとう,まさのり
+みしま,たかゆき
+みよし,のぶまさ
+たちの,じゅん
+おおの,かずお
+きたがわ,よしたか
+ふるさわ,さとし
+おおはし,ひとし
+よしかわ,としゆき
+かわい,としお
+いしと,こうき
+いまい,たかゆき
+やまなか,さつみ
+ほりかわ,かつみ
+すずき,しゅんじ
+あわえ,あつし
+ながせ,たかひろ
+こばやし,じゅんいち
+まえだ,ひろし
+かとう,まさかず
+すみた,かおる
+せきぐち,たかゆき
+たなか,てるひさ
+ひらの,たかし
+はまぐち,しんじ
+さかがみ,のりかず
+こばやし,やすし
+たきもと,のりこ
+ほし,ひろふみ
+おおたか,ゆうこ
+すぎむら,しげお
+あおき,まさる
+なかはら,ゆうぞう
+かとう,おさむ
+まえさか,ともみつ
+ふじたに,かずひこ
+ほった,しげひと
+あきやま,ゆたか
+ふじた,まさゆき
+とよなが,やすひろ
+はっとり,まさお
+のむら,しげお
+かわしま,たかこ
+むろや,てつお
+あしかわ,やすしげ
+はやし,たかお
+みやがわ,ふみのり
+おぐら,やすひろ
+よしだ,としひこ
+くどう,ひろし
+くまがい,たかゆき
+にしお,ひでき
+おおいやま,のぼる
+たけたに,ふとし
+いしだ,かつや
+おいかわ,のぶあき
+たかはし,せいじ
+むらた,とおる
+すずき,すすむ
+はやし,しんちょう
+くろかわ,まさあき
+やじま,とおる
+かつらい,わたる
+あかり,りょうじ
+あずま,のぶゆき
+あつみ,しゅうじ
+まるお,よしゆき
+いけお,みのる
+とりやま,りつお
+はまの,よういち
+やまもと,こうたろう
+こうち,ゆうすけ
+なかじま,のりひこ
+あら,ひろし
+ほそかわ,まさひろ
+いずみ,かねみつ
+あわじ,あつお
+みずひき,よしお
+おだじま,なほみ
+ふるかわ,しげお
+みずぐち,じろう
+いとう,ひろし
+ふくい,さとし
+ふじはら,たけひと
+やの,ゆうじ
+はやしぐち,ひろし
+ほり,としゆき
+よしい,たかし
+あんどう,ひろし
+はた,こういち
+こばり,ひでゆき
+おだしま,かつろう
+うえやま,みつなり
+むた,まなぶ
+たなか,しげお
+こんの,ゆうこ
+ふじわら,としはる
+みやき,ゆたか
+はなわ,まさひろ
+てじま,あきら
+くぼ,あつし
+おおば,しんご
+こんの,たくや
+まつばら,ひでお
+はしもと,すみこ
+わたなべ,かずひろ
+こたき,てつや
+ふかや,ももき
+まつうら,てっぺい
+ふなだ,かずひこ
+ひがしだ,としゆき
+いのまた,ひろし
+さとう,ひろみ
+いとう,たつし
+みたむら,まゆみ
+すがはら,みつる
+たかみや,ひでのぶ
+やまぐち,こすけ
+おた,つよし
+せのお,はじめ
+しばざき,あつし
+なかむら,やすひろ
+ふじかわ,ひろゆき
+あらい,りゅうじ
+おおくら,ひさのり
+まつば,しげる
+ためひろ,もとこ
+まんぽ,かつみ
+こぐち,たかし
+たにぐち,なおすけ
+やまもと,たかひろ
+ひらもと,ひであき
+あんらく,たかし
+たなか,のりこ
+ちゃき,しげひで
+さかい,ちはる
+いなおか,ひろかず
+うしじま,しんいち
+こけつ,あきひさ
+むらた,ひとし
+きむら,よしひろ
+しんたに,りゅうじ
+おおはた,のぶあき
+たぶち,ゆたか
+すみだ,きよし
+みうら,ななこ
+りゅうと,ひろみ
+いけだ,ひろなり
+たかやなぎ,ひろふみ
+えんど,けんいち
+おしかわ,しんじ
+こばやし,ひでゆき
+やまだ,いわお
+おだ,まさお
+たきざわ,あつし
+もり,やすのり
+かなざわ,たつゆき
+おおた,たかあき
+おおつ,てつろう
+ふじもと,かずひろ
+もりかわ,まさのぶ
+いとう,こうじ
+かとう,こういち
+うえの,よしひこ
+おおかわ,さかえ
+まるい,じゅんこ
+いわお,しゅうじ
+うめだ,かずや
+めかた,まさる
+つじ,つぐひこ
+たご,ひろし
+やました,まさと
+すぎやま,ひろゆき
+ふたば,としあき
+みやひら,みちあき
+にしざき,すすむ
+たなか,くにこ
+むらもと,ともあき
+まえだ,ひさかず
+みやけ,あつし
+とうじま,たつひろ
+おおや,まさる
+うえの,ともひろ
+たかさき,やすひさ
+こんの,よしひさ
+たけお,のりかず
+かなやま,やすひこ
+おおおか,としろう
+こばやし,しゅう
+にしざか,みか
+ますみだ,ともひこ
+つぼい,やすお
+たがみ,まさる
+おかだ,てるお
+かたぎり,さとし
+かわて,たかし
+みずい,あやお
+かさおか,としひこ
+ひがしたに,ひでふみ
+うしき,かずいち
+ひらさわ,ながこ
+なりた,しゅういち
+こだま,かずひろ
+いのまた,ひろみ
+きむら,しょうご
+いとう,ふみお
+わたなべ,てるあき
+てらさわ,みつお
+はやし,しんいち
+あさくら,しんや
+やまき,こういち
+なかむら,しんいちろう
+えのもと,ひろみち
+かまた,たかひろ
+はしもと,なおき
+あらい,よしみ
+かりや,たかひこ
+こんど,よしき
+ますだ,ひろお
+いとう,けいすけ
+おか,みちはる
+おおつか,ひでき
+まつお,こうじ
+あそ,てるかず
+かみむら,ひろゆき
+たかばたけ,しげのり
+ふくだ,ひろゆき
+たかはし,けんと
+いわき,まこと
+すん,とよゆき
+あんどう,よしお
+はしもと,かな
+やはた,ひでお
+ふじき,けんじ
+まつお,さとし
+あおき,よういちろう
+ごとう,しんじ
+にしかわ,ひとし
+すみと,まさふみ
+ひらの,こうじ
+いとう,けい
+こいずみ,のりこ
+かわばた,のぞみ
+むとう,かつのり
+あだち,まさし
+きら,まさし
+あやの,こうき
+たるい,よしお
+はやし,きょうこ
+いけだ,じゅん
+ほりみぞ,けいすけ
+ふるなが,はるひこ
+おしま,なすお
+はやし,ひとし
+にし,ゆきみつ
+こむろ,かなめ
+ひろたに,よしお
+すが,ひろし
+つるみ,あきひさ
+とみやま,かずみつ
+やまざき,ようこ
+いしだ,しょういちろう
+うちとみ,あきら
+おおさわ,よしかず
+やなぎ,ひでひろ
+みやした,ひでき
+たかはし,こうじ
+とがわ,ひろゆき
+なかむら,しげる
+うえむら,たけし
+あさの,ゆういち
+おおやま,けんじ
+かわの,えいこ
+ばば,ひとし
+いとう,しんいち
+うえの,のぶゆき
+しらい,けんしん
+いかみ,はるお
+かわしま,ともゆき
+みやけ,たかひろ
+さくらい,けんじ
+たけのした,しゅうへい
+にしおか,せいいちろう
+くろき,まさよし
+たなか,みのる
+いいじま,たかし
+さとう,ひろあき
+さくらい,かずしげ
+やなぎさわ,のぶお
+うちやま,しげよし
+おくつ,かずとし
+にしやま,せいじ
+たけだ,たかこ
+ふりはら,かずお
+やぶき,まさひろ
+なか,かずひろ
+よしおか,かずや
+もちずき,たかゆき
+すぎやま,ひでひろ
+いわなが,けいいち
+みわ,はるかず
+ほりかわ,かつき
+たかだ,こうじ
+いしまる,しげやす
+おむら,ひでお
+きたむら,りか
+すぎき,たかき
+にしむら,ちえこ
+なかはら,こういち
+まつもと,あきら
+ふくしま,まさる
+かじおか,あきひと
+なかざわ,のぼる
+ますざき,たかし
+なか,としたか
+おさだ,はじめ
+かわた,なおみ
+よしだ,こうじ
+なか,としひろ
+えいどめ,ひでかず
+まつもと,よしまさ
+ながさか,よしあき
+ふじさわ,かつひこ
+きよたに,つとむ
+ありもと,せいこ
+えぞえ,けいいち
+つちや,かずや
+ふじおか,やすこ
+つかもと,ふみお
+たかはし,とよひこ
+さかいだ,やすひろ
+すずき,こうじ
+おしま,やすとし
+まきうち,たくや
+はらだ,ひさかず
+まさき,あきら
+おがわ,のぶあき
+うしまる,けん
+いしだ,のぶたか
+はなぶさ,あつこ
+よしむら,よしひさ
+たにがわ,まりお
+さとう,たつし
+かつ,たかし
+やまぐち,ひろき
+はくちょう,いさお
+いとう,たかし
+さかい,かずのり
+たんご,ひでお
+こいずみ,けんすけ
+わかすぎ,ただたか
+うえの,しんいち
+うえだ,ともき
+すずき,ひさえ
+おおの,よしのり
+あべ,けんいち
+しいき,ひろし
+あらき,きよはる
+あずま,ひろよし
+でぐち,ひろのり
+えりかわ,ゆうこ
+ふかやま,のぶゆき
+ふなき,さかえ
+いちむら,まこと
+はしもと,のりあき
+ひがし,きよたか
+ひろさわ,あつし
+ほりぐち,ゆういち
+いばらき,ゆういち
+いなむら,こういち
+いしかわ,みきお
+いとい,ただし
+かなざし,のりこ
+かたぎし,まさし
+かとう,やすし
+かわだ,けんすけ
+きのした,やすひろ
+こばやし,かつのり
+こまつ,やすたか
+こたに,ひでき
+くろせ,おさむ
+まえだ,ゆうじ
+まんたに,よういち
+まつもと,やすあき
+みむら,しげのぶ
+みわ,まさひろ
+もりた,あきひこ
+むねむら,としみつ
+ながた,けんじ
+なかこじ,たつや
+なかむら,よういち
+なかやま,たかし
+にむら,すすむ
+やじま,よしえ
+のま,とよみ
+ぬきい,かつみ
+おがさわら,しゅうじ
+おおさわ,ひでたか
+まつなが,よしあき
+おかもと,ひろゆき
+おさだ,むつみ
+さいとう,あきひろ
+さくらい,しげのり
+さとう,よしのり
+せざい,かずやす
+しみず,あきとし
+しょうみつ,よしひろ
+すぎさわ,のぶゆき
+すずき,ゆうじ
+すずき,ゆうこ
+たかはし,たかゆき
+たかさか,はじめ
+ふじい,あつこ
+たまき,さとこ
+たに,かずひこ
+ときぞの,しげお
+とりざわ,えみ
+つるかわ,えいじ
+うだ,ひさよし
+うめむら,きみひろ
+わたり,やすよし
+やまもと,てつや
+やまもと,まさよし
+やの,ゆきお
+よだ,いさお
+やまぐち,かずよし
+ほ,あきら
+まつみや,ゆういち
+さわだ,ひろし
+こはら,まさのり
+さいとう,みつる
+やの,みつお
+ふじもり,のりこ
+やまぐち,やすひろ
+やまだ,たかし
+ふじた,としき
+きむら,たけお
+はやし,まさひろ
+まえざわ,いずみ
+しぶかわ,きよひさ
+みほ,まさのり
+すぎやま,しんいち
+ふるかわ,よしふみ
+のちせ,かずひこ
+まつもと,ひであき
+おくの,ゆきお
+やまざき,やすひろ
+いしげ,あきこ
+みうら,りゅうぞう
+ばば,たくや
+もちずき,えみこ
+とくなが,ふみひと
+くろかわ,ひろし
+いけの,めぐみ
+やまかげ,ようじ
+やぎはし,しゅういち
+きよみつ,けんじ
+むらやま,えいじゅ
+おおつか,ひでひこ
+おやまだ,たかし
+あげた,じゅんいち
+あもう,あきお
+あらかわ,ひでし
+ばんの,まさきよ
+えさき,しんいち
+ふかざわ,ともひと
+ふなばし,まさゆき
+はなだ,かつのり
+はしもと,えみこ
+ひじくろ,なおゆき
+ほうや,かずひこ
+ほそだ,ちえみ
+いけざわ,のぶやす
+いぬつか,なおき
+かじたに,おさむ
+いとう,ちくさ
+いわした,しこ
+かみや,くにあき
+かすや,あきら
+かわばた,だい
+かわくぼ,かずとし
+きばし,ひでひこ
+きりさわ,いちろう
+こだま,おさむ
+とうどう,こうじ
+こやいし,みか
+くらた,こすけ
+くわの,ひろたか
+ますだ,じゅん
+まつした,ただし
+みやけ,あつし
+みよだ,たかひさ
+みずたに,つよし
+もりわき,しんいちろう
+むとう,かつき
+ながわ,しんいち
+なかしま,ひさよし
+にしだ,ひろよし
+にしお,まさと
+のむら,てつや
+おだおおはら,しんご
+おおひら,いちろう
+おおぬま,なるし
+おおやぎ,まさひろ
+おかね,たかし
+おくの,かつし
+さいとう,よしみ
+さかうえ,やすゆき
+さとう,たけし
+せきもと,としゆき
+しいな,ふみはる
+しみず,ひでとし
+しらさき,ようこ
+すどう,さとこ
+すずき,ひろし
+ほそかわ,ゆり
+やまざき,なおき
+たかす,かずよ
+たけだ,ひろゆき
+たまたに,かずあき
+たにもと,しんいち
+とみなが,ひろひさ
+つかだ,ひでき
+うらかわ,ゆうじ
+わたり,こうじ
+やまもと,あつし
+やました,としひで
+やざき,たけし
+よこた,ゆうこ
+よしかわ,みつひろ
+あさの,みちこ
+おくだ,ひさこ
+いなだ,まさつな
+しもかわ,ふみひこ
+つぼた,のりお
+おおくぼ,たけし
+さいとう,しゅういち
+ふじた,つねお
+まきむら,たけお
+にのみや,かずお
+たばた,よしたか
+むらかみ,ひろき
+いまにし,たけお
+たきがわ,しげよし
+おんずか,ひろし
+とのかわ,たけし
+いけだ,ときお
+ごとう,かずや
+そだ,けんじ
+もりた,まさゆき
+たんの,えいいち
+ごうだ,きょうこ
+やまぐち,ひろかず
+おさない,あつし
+ひがし,しょうこ
+やまもと,ひであき
+さとう,たかお
+みぞぐち,としゆき
+きたがわ,ひろし
+おおにし,そういち
+あいはら,ひでお
+あきば,つとむ
+あまの,とおる
+あおやぎ,たかお
+あら,あきお
+あさの,よしひろ
+ばん,こうたろう
+えびぬま,あけみ
+ふじえだ,じゅん
+ふじい,しげのり
+おぐら,あやこ
+ふかお,みつひろ
+ふくだ,みか
+ふくおか,しんご
+ごうだ,よりこ
+はぎわら,きくお
+はなみつ,よしたか
+はら,みゆき
+はつしま,けん
+はっとり,よしのり
+はやし,かつみ
+ひなた,じゅん
+ひらさわ,かずひろ
+ひろせ,ひさゆき
+すぎもと,せいいち
+ほり,かずお
+ほそ,かずみ
+いでい,まさかず
+いいむら,よしのぶ
+いけだ,くにひろ
+いまい,ただし
+いのうえ,ひろたか
+いしぐろ,ひろし
+いしかわ,ようこ
+いしわた,なおひさ
+いとう,てつや
+いとう,たかし
+いわくぼ,たかゆき
+いわさき,たつひこ
+かがみ,しげよし
+かまもと,たえこ
+かみ,まこと
+かなざわ,さだいち
+かねこ,やえ
+かしわぎ,ひろし
+かたおか,あつし
+ごとう,ひろかず
+かわはら,ひろあき
+かわきた,やすこ
+きだ,よしふみ
+きむら,みのる
+おかざき,たけお
+きたむら,あきお
+こばやし,みよこ
+ひろせ,はるお
+こさか,よしゆき
+こくまい,みえこ
+こもおか,ふみお
+こんどう,たつと
+くぼ,たかゆき
+くまもと,あきひこ
+くりやま,ゆきえ
+くしだ,わたる
+まえかわ,ひでたか
+ますだ,みきお
+まつだ,しげお
+かのう,ひろゆき
+まつなみ,ひろゆき
+まつざき,ただし
+みもり,ひろし
+みうら,よういち
+みやはし,きょうこ
+みやたけ,しげみ
+みずこし,としお
+もりき,やすひろ
+もり,さとる
+むかい,たつみ
+むらた,さとし
+むつしか,えいいち
+ながさわ,かずと
+ながえ,たかゆき
+なかじま,かつとも
+なかまた,のりひろ
+なかむら,はじめ
+おおにし,まさのり
+なかの,もえこ
+なかた,しげこ
+なかやま,かつひこ
+なつやま,ゆうこ
+もり,ゆきこ
+にわ,まさき
+のま,さとし
+のりかね,まさる
+おだね,よしかず
+おおばやし,やすゆき
+おき,よしゆき
+おらい,すすむ
+おおとも,あきお
+おひゃ,くにひこ
+おかもと,よしお
+うえだ,とよかず
+にし,あつき
+ただ,たかゆき
+やました,けんじ
+ささもり,ゆたか
+はせがわ,ともゆき
+いまい,みゆき
+よこやま,けんじ
+すぎやま,よしまさ
+あらい,ともこ
+あまがや,ゆめの
+つる,みのる
+やいた,まき
+せき,まり
+はら,よしのり
+みうら,すすむ
+ささ,ゆきこ
+たかさき,まきこ
+はらだ,えみこ
+くらた,やすひろ
+あげまつ,ひろみち
+ふくもと,みきお
+おくむら,だい
+おそえがわ,やすなり
+さいた,まさひろ
+さかい,ひろみ
+さかり,のぶひろ
+さの,ゆたか
+さとう,よしひこ
+さとう,あきお
+さとう,さとし
+せきかわ,あきら
+せしも,こうじ
+しぶや,まさのり
+しまもり,まさひこ
+しもだ,けいみん
+しんたに,ゆうじ
+しらい,しげき
+しゅう,ごいち
+すだ,なおき
+すぎた,ゆういちろ
+すざき,てつや
+すずき,としや
+すずき,のりゆき
+たがい,やすし
+たかぎ,けんたろう
+たかはし,まさこ
+たかいし,ともあき
+たかおか,たかき
+たかやま,しんいち
+たけもと,のぞみ
+たまち,ひろし
+たなか,ひろふみ
+たに,ひろぶみ
+てらさき,ひろゆき
+さくらぎ,のりひさ
+とよさと,ひろし
+つじもと,ゆきお
+つるた,しのぶ
+うちやま,たけし
+ききょう,よしたか
+うえの,よしこ
+ながた,のりこ
+わだ,しずお
+いとい,よしひさ
+わたなべ,ひでとし
+やぶうち,しょうへい
+やまだ,あきお
+やまもと,あきひろ
+やまもと,まさとし
+やました,つとむ
+やました,あきら
+やの,ともゆき
+よこた,みなこ
+よねむら,ただし
+よしむら,ひろみ
+まつだ,よしつぐ
+ほそや,しょうじ
+みやした,しげとも
+しが,まさみつ
+やまだ,ゆういち
+はやし,さほり
+いけだ,つよし
+うえの,かずたか
+さいとう,てるよし
+ながやす,こうじ
+はぎお,ともひこ
+はまだ,まさじ
+むらかみ,のりひろ
+あべ,しゅんじ
+あきやま,としゆき
+あんどう,てんせい
+あらき,しげみつ
+あそ,くにかず
+ばば,ゆうすけ
+えびさわ,ひろし
+ふじい,よしのり
+ふじい,たつや
+ふじた,ひろし
+ふじわら,ひろむ
+ふくだ,じゅん
+ふくおか,いさお
+ふるや,としゆき
+がど,ひさし
+はが,あつし
+はましま,ゆみ
+はせ,ゆたか
+はしずめ,なおき
+つだ,ひろこ
+はやし,としろう
+ひらい,ゆういち
+ひらさか,ひろゆき
+ひろわたり,たかひろ
+すずき,ひでき
+ほそみ,ひろあき
+いだ,ちはる
+いがらし,ゆきや
+いいじま,たけし
+いまむら,こういち
+いれい,まさる
+いしい,ともゆき
+いその,みつとし
+いとう,よしまさ
+いわさ,としみ
+いずみさわ,せいじ
+かいだ,こうじ
+かまた,としえ
+かんべ,たかひろ
+かねこ,あきら
+よねもち,なおし
+かたおか,かずひこ
+かとう,やすひろ
+かとう,ゆうじ
+たまがわ,こういちろう
+なるけ,たかし
+きど,たかふみ
+きくら,かつみ
+きむら,まさき
+きのした,やすひろ
+きたあき,ひろゆき
+こばやし,かずひろ
+こばやし,としき
+こんの,よう
+こみやま,よしひろ
+こにし,あきのり
+こやま,ひろみ
+くどう,じゅん
+くりや,ゆういち
+よしだ,さとる
+まきの,としお
+まさき,ひでよ
+まつい,やすひろ
+まつもと,たけし
+まつやま,じゅん
+みたむら,じゅん
+みわた,なおき
+みやもと,ひとみ
+もちずき,しゅういち
+もり,まさゆき
+まつだ,けんじ
+もりわき,のぶゆき
+むらかみ,たけお
+むらやま,さとし
+ながしま,みちのり
+うちぞの,たかし
+なかじま,ひろあき
+なかむら,ひろし
+なかむら,よしひこ
+なかしま,のりお
+ならはら,さとし
+にしぶ,あやこ
+にしもと,なおこ
+にしざわ,だいすけ
+のじま,のりお
+ぬわ,たけし
+おがわ,けんいち
+おおがき,かずひろ
+おき,まさひこ
+おおもり,ひろあき
+おおぬま,まさお
+おおたけ,さえこ
+さこだ,しゅういち
+おかだ,てつじ
+おきた,さとこ
+おおの,たかし
+おりい,しゅんじ
+おざわ,やすひろ
+さいとう,けいじ
+さかもと,よしお
+さかた,まさひろ
+さなぎ,よしき
+ささき,ながまさ
+さとう,まもる
+さとう,ひでき
+せきの,のりひろ
+しまだ,あつし
+しみず,たかあき
+しもだ,ひろゆき
+しのざき,あつし
+しょうだ,けんじ
+すがの,ひろゆき
+すぎさき,ようこ
+すぎやま,たけし
+すずき,ひでゆき
+すずき,まさのり
+たぐち,しん
+たかはし,かずのり
+たかはし,おさむ
+たかはし,ひでき
+たかやなぎ,しげる
+たけい,のぶお
+たけしま,かつしろう
+たむら,しょういち
+たなか,やすじ
+さの,ひろふみ
+てらまえ,まき
+とぐち,たけし
+とみい,まさひろ
+とっとり,あきひこ
+つじ,まさひこ
+つきざわ,こうじ
+つるた,のりこ
+うちだ,しょうこ
+うえだ,ようすけ
+うえの,じゅんじ
+えがしら,ただし
+きたわき,せいき
+わたなべ,たかし
+わたなべ,ひろゆき
+わたらい,じろう
+やまだ,あつし
+ふじた,まさとし
+やまもと,やすし
+やまね,みちる
+やました,しげみ
+やまざき,ただし
+よだ,しゅんすけ
+よしだ,かずよし
+よしむら,さとる
+おざわ,かつゆき
+やまだ,きよし
+ささき,のぶゆき
+あぜがみ,しげかず
+ふくはら,のぶゆき
+はしもと,よしひろ
+いそだ,こういち
+かまた,たつや
+きむら,よしひろ
+こばやし,げん
+くまさき,よしあき
+みくに,とみお
+えだ,たかし
+ねもと,まさゆき
+おの,たくじ
+さえき,のりゆき
+せき,ゆきお
+すやま,ひろこ
+たなか,けんご
+たざわ,みきお
+えんど,じゅんこ
+やまぐち,のりお
+やすだ,さとし
+すずき,たけし
+ひろはし,やすお
+かとう,ひろよし
+うえはま,みのる
+まとば,ちひろ
+わたなべ,とおる
+かわしま,てつお
+ふじかた,みつお
+こいけ,おさむ
+たなか,りょうぞう
+だけやま,ひろゆき
+くしびき,すけひで
+すがはら,てつお
+ひがし,ふみひろ
+ほか,けんたろう
+いわた,たかゆき
+すがわら,ますこ
+すと,まさみ
+まつざき,まさのり
+あかまる,おさむ
+あべかわ,れいじ
+よねだ,まさお
+そがべ,ゆきお
+わかばやし,はれお
+すみた,てつや
+いのうえ,たかよし
+みやもと,つとむ
+ふじかわ,なおと
+さいとう,ふみお
+たなべ,けんじ
+しみず,せいじ
+のぐち,しげあき
+かわなみ,まさあき
+ふくしま,あきら
+おだわら,みちお
+おおた,ようじ
+かわの,ただよし
+くにゆき,やすひろ
+しまだ,みつる
+たかしま,みつぎ
+つや,まこと
+なかしま,まさお
+やぎした,としお
+きしもと,まこと
+くげ,けんじ
+あさの,よしあき
+かわかみ,つねお
+しまだ,しゅういち
+ふじい,しゅんいち
+ひが,じゅんき
+たなべ,あきら
+くらや,きへい
+なかざわ,まさひと
+あわた,しげる
+じだ,あきお
+ほそかわ,としお
+しぶや,よしかず
+こばやし,きよし
+きたがわ,よしてる
+みずたに,あきら
+たかせ,としお
+みやむら,とおる
+よこはた,としひこ
+なりた,みつよし
+あべ,さだひろ
+なまえ,けんじ
+きむら,ゆたか
+なごし,ひであき
+とみなか,よしお
+なかの,つもる
+おおさく,かずお
+はやし,しげあき
+おおさ,たかし
+やまうち,じ
+おだ,りょうじ
+めぐろ,ひろよし
+かなさき,とみお
+おかの,やすお
+くさかわ,なおき
+いのうえ,たけし
+やだ,かずおみ
+まつおか,ゆきお
+すずき,ゆうじ
+たきもと,くにお
+ひがしばた,ひでお
+いいだ,けんし
+かんの,まさひろ
+たなか,しげる
+いくた,やすひさ
+さの,ひでまさ
+すがわら,やすひろ
+ながた,ゆきお
+うらの,さとし
+すぎやま,かつゆき
+おかべ,ふみお
+こいで,たかし
+いしたに,さとし
+もり,えいじ
+きたむら,たかし
+いわみ,やすお
+ふかだ,たかし
+うえだ,ゆうじ
+ふるたに,たかまさ
+どい,たかし
+ながの,としのり
+きむら,あきら
+かどや,ゆうご
+おおた,くにお
+たけうち,けんいちろ
+とくもと,たかあき
+いとう,しふみ
+やまざき,ときお
+あおき,よしみ
+ちぎり,えいじろう
+よしなが,ちかえ
+ひらばやし,ひろかず
+なかはら,けんじ
+ひろや,のりひろ
+かない,かんせい
+とおやま,たかし
+うの,きんご
+しばた,としお
+きたがわ,きはちろう
+はらだ,ひでゆき
+やまむら,けんじ
+くまみ,ゆうぞう
+いしばし,としゆき
+しばた,はるき
+さくやま,かずお
+いけだ,せいいち
+たけもと,かずお
+たもと,とみお
+こむろ,りょういち
+たなか,まさとし
+かまだ,ひろし
+たばた,けいいち
+ひらかた,かずお
+たけうち,てつお
+いまず,やすただ
+ふじた,としみち
+やまもと,つとむ
+やまき,ゆうじ
+しらいち,まさる
+ささき,むつみ
+みやかわ,まさたか
+くどう,けいこ
+あらまき,のぶお
+きはら,なおき
+おか,きょう
+こにし,しげみ
+たけうち,さちこ
+たなか,しんいちろう
+さかもと,まもる
+まつだいら,えいじ
+いの,たつろう
+おばな,しげやす
+おおくわ,きよし
+ごとう,しんじ
+すずき,きよし
+にしおか,さぶろう
+ささき,ひでお
+はら,いくお
+せき,ひろし
+さいとう,ひとし
+ふじた,しゅんすけ
+さかた,こういち
+まえざき,いさお
+しおみ,みつお
+たかくわ,まさのぶ
+いしはら,ちえこ
+こくぼ,けいこ
+みやざき,しげお
+ありま,けいこ
+うちやま,たかし
+なしき,かおる
+ふじた,ゆみこ
+たかぎわ,いさむ
+にしだ,ひとし
+きくち,ひでふみ
+なかい,まさみ
+いいだ,やすし
+やまぐち,のぶひろ
+やの,ゆういち
+やまもと,ひさし
+ほりむき,よしま
+あだち,ふみのり
+うらの,こういち
+たけだ,みちこ
+さいとう,ひろつぐ
+しまむら,こうじ
+ふくだ,つよし
+きむら,えいこ
+やまもと,えりこ
+しげやす,えいいち
+かのう,ひろあき
+すわ,ふみお
+おかざき,のりお
+ふかや,まさひろ
+こざい,みつる
+ほどやま,ひでお
+くぼた,きよし
+いいずか,りょうこ
+たかぎ,たけのり
+いわお,まさし
+いしい,いさむ
+わかばやし,としひで
+ぜんけ,としお
+わたべ,よしみ
+まつもと,ひろしげ
+まるやま,けいじ
+なかの,ひでのり
+おおくぼ,かずはる
+くぼた,まさと
+にしかわ,ひろし
+にった,ふみこ
+いしだ,ひでひこ
+かます,けんぞう
+かげやま,みのる
+まつむら,としみち
+ささき,すすむ
+ひらの,よしかず
+すずき,いちろう
+にしはら,けい
+くろいわ,たかし
+たかはし,ひろし
+たけうち,ひであつ
+しみず,あきひで
+さたけ,しんじ
+こたに,たくもり
+こでら,まさと
+はまの,みちお
+なかむら,ひろし
+ゆあさ,けんじ
+おかだ,よしひろ
+こばやし,よしはる
+ふくだ,じゅんいち
+かみむら,たかし
+いまだ,まさひろ
+そね,ふみお
+みのぐち,よしのり
+くだなみ,まさゆき
+いのうえ,みどり
+うえむら,のぼる
+みうら,おさむ
+すがわら,さとし
+わたなべ,なおゆき
+にしわき,ようじ
+おおたに,まさあき
+くろかわ,きよし
+くぼた,のぶお
+たむら,ひろひこ
+えびはら,きいち
+なかむら,ようこ
+やまね,よしと
+あさま,まさひろ
+みうら,やすのぶ
+あらかわ,しんじ
+こじま,よしあき
+さかた,こうへい
+こばやし,おさふみ
+おがわ,よしお
+かとう,たかゆき
+みつい,けいいち
+てしま,かずまさ
+あそ,ひろいち
+もりや,ひとし
+やな,かずお
+さいとう,ひろゆき
+いちき,ひろし
+おおた,ひろし
+ほりうち,けいいち
+たにぐち,よしお
+にしの,そういちろう
+ふるはし,こうぞう
+あきた,としお
+おくしま,たかし
+おおたに,ただひろ
+かめおか,よしお
+はらおか,かつやす
+なかむら,ひろし
+あらしま,ゆきお
+ながさわ,よしろう
+やまおか,きよし
+はせ,まさかつ
+きしもと,くにお
+すずき,よしお
+かめや,かつみ
+ますだ,まさはる
+えんど,けんいち
+さくらい,たかあき
+ふるしょう,ふじお
+うしき,かずみ
+こいけ,ひろし
+とうま,さちひろ
+なかざと,ひろし
+やまおか,よしのぶ
+なかね,のぶはる
+とみた,のりかず
+さとむら,けいじ
+ひさまつ,とよとし
+おがわ,まさと
+さかい,たけし
+なかぎ,ゆみ
+さわぐち,まさくに
+まつもと,としお
+ふるかわ,こういち
+ふたみ,きよし
+たなか,ふくむ
+ひびの,ひろし
+すなはら,しょうじ
+いけだ,たかし
+ごとう,のぶゆき
+いしの,つとむ
+きむら,しげる
+やまだ,みつお
+もりもと,まさる
+おかもと,まつお
+なかじま,さかえ
+きたむら,ますみ
+なかいし,たけゆき
+わさ,ひでお
+こしむら,まさし
+ひなた,きょうへい
+なかむら,のぶお
+ふくい,たつひこ
+たかだ,かずお
+なかむら,ひろし
+にしやま,まさひろ
+なかやま,たかやす
+はりがや,ひろあき
+ますもと,よしお
+てらにし,まさのぶ
+ながくぼ,おさむ
+よしの,たかし
+もりた,のぼる
+てらお,みつひろ
+よしむら,きよじ
+わたなべ,けんじ
+まつもと,きよし
+おざき,よしあき
+ひぐち,ふじき
+みやもと,みさお
+やまぐち,ますみ
+やまもと,えつこ
+かとう,こういち
+なかい,かずみ
+ふじた,ひろし
+すがわら,こうじょう
+いしざき,たかゆき
+たつみ,よしあき
+なかした,まこと
+おじま,ひろあき
+あさした,まさふみ
+ほりい,みよし
+いり,けんいち
+ふじまき,ただあき
+かじわら,しゅういち
+はせがわ,みつお
+ふなやま,えつお
+きはら,たかし
+たけだ,けいこ
+いいだ,かなえ
+ふるど,まさお
+もり,しゅういち
+ふくと,なおや
+おおはし,あきひと
+あおき,ひでし
+たじま,ひろし
+おおつか,ともひろ
+あおの,じんいち
+いのうえ,ひとし
+えんど,まさひろ
+ひろせ,よしかつ
+えんど,あきお
+かわい,みちる
+あいざわ,ふとし
+こいたばし,きよひろ
+さとう,やすひろ
+かのう,しげき
+うえむら,まさとし
+すみよし,ひでお
+ひろた,さとる
+いなとみ,かずよし
+いとう,のりかつ
+くぼ,ひであき
+かぶらぎ,としひろ
+いけだ,よしのり
+たかはし,かずお
+さかい,まさひろ
+かとう,やすくに
+たけい,やすゆき
+はんだ,とおる
+ながや,かつみ
+はっとり,ひろのり
+しみず,よしなお
+いまにし,まさと
+くまべ,まさお
+まちだ,つかさ
+やぎ,ちはる
+おだま,ゆきお
+きたじま,じゅんこ
+たちばな,たくろう
+ふじもと,しゅうじ
+みずの,いくお
+えぐち,かつみ
+かわべ,さつこ
+なかむら,ちあき
+あすま,きよかず
+はむら,つとむ
+いとう,ゆうじ
+いけざき,たけし
+やまさき,のりゆき
+にしざわ,そうじ
+にわ,えいひこ
+みうら,ひさし
+かたおか,あけみ
+はやし,まきこ
+みさき,たけし
+おだくら,ひろみち
+ふしみ,ちかと
+ひろた,たかし
+はたや,としゆき
+さかい,ゆうじ
+いだ,いちろう
+さとう,ただし
+ほしの,のぼる
+おがわ,なつあき
+ふくざと,りゅういち
+たなか,せいじ
+ささき,きょうこ
+おずち,みつお
+ふろもと,みのる
+にしむら,しんや
+たけだ,とみこ
+たけとみ,こういち
+おかだ,みちお
+まと,かずゆき
+すずき,あきよし
+むかい,よういち
+こが,やすお
+かとう,かずみ
+よこい,ふみとし
+うしごめ,まさたか
+こまつ,よしたか
+いとう,ひさあき
+さとう,しゅんすけ
+ひろせ,のりよし
+ごみ,じゅん
+たなか,たつお
+まつもと,たいいち
+はやし,せいじ
+たかはし,かつひろ
+あらい,としゆき
+ほし,きよし
+てらだ,しげる
+いずは,はるお
+すなだ,やすじろう
+いじま,ふみお
+たかだ,としはる
+わかまつ,こうじ
+つだ,としゆき
+ほしくま,まさはる
+ほんだ,ひろみ
+かまだ,えいじ
+はやし,みつひろ
+いまい,たつる
+つちや,いずみ
+わだ,いくと
+よしだ,きみひろ
+だて,じゅん
+はすこ,よしのり
+たけなか,ひろあき
+おくだ,かずお
+ほし,ゆうすけ
+かめだ,かおる
+ひしぬま,ひろふみ
+おおにし,ひろあき
+さとう,まさあき
+ほそかわ,あきら
+よしざわ,ひでお
+はらだ,よしたか
+ささき,ともゆき
+いいだ,ひでみ
+きがわ,こういち
+いけお,ひろゆき
+あらい,やすお
+かきかわ,じゅんいち
+ごとう,くにとし
+みやこし,やすえ
+ふじた,あつみ
+くらた,ひろゆき
+もりおか,ゆみこ
+やまうら,やすよし
+くろは,ようこ
+いずはら,なおかず
+しげとめ,よしあき
+にし,やすふみ
+あきやま,とみお
+いけだ,かずきち
+もり,やすみ
+ひろかわ,ゆうじ
+そめや,あきお
+さくらい,えみこ
+みずの,いさむ
+てらだ,としかず
+ひらまつ,しげる
+おおた,ごろう
+ひらまつ,えつお
+にしだ,ゆきお
+むらた,ひでゆき
+みずこし,けんいち
+とみた,たかお
+かわみ,せいいち
+しいの,しげお
+なかむら,のぶお
+いしかわ,こういち
+かねたけ,かなめ
+おしげ,たいち
+こじま,ゆうぞう
+とば,まこと
+いわた,ひであき
+おの,けんじ
+こさか,ひさたけ
+かんの,あきお
+いとう,としつぐ
+たかぎ,みちこ
+たかの,しんいち
+いながき,てつお
+のざき,じゅん
+たけだ,ふみこ
+ごとう,しんじ
+ほりかわ,かずひろ
+すぎもと,りょう
+あらい,せいじ
+ふじわら,ひですぎ
+よしだ,しゅういち
+おしま,たけし
+ごとう,だいじろう
+いずみさわ,よしとも
+いわぶち,まさつぐ
+いまきた,しょうじ
+むらた,しょうこ
+しもの,かずひろ
+ごかいち,こうじ
+やまもと,のぼる
+ながしま,じろう
+みしま,よしひろ
+やすなが,かつみ
+おふち,じろう
+こむかい,きよみ
+ながさわ,たいせい
+きたおか,かずひこ
+はら,かずや
+ふかだ,のりふみ
+きたがわ,たかあき
+おおもり,れいこ
+はぶち,ひでかず
+みやざき,ひろむ
+しろた,まさゆき
+こみや,こうじ
+てらお,じろう
+にしぐち,としあき
+かねずか,ひろあき
+すぎやま,てつじ
+たちばなき,はるあき
+もりおか,まさかず
+よのもと,ひでき
+くすだ,かずいち
+ありやす,えつお
+つじもと,ひさと
+ふかみ,じゅんいち
+あきやま,きよし
+もちずき,よしたか
+のむら,しゅんじ
+わだ,きよし
+おち,ひろし
+むらまつ,ちえこ
+やの,おさむ
+もちずき,きよし
+ひらた,なおき
+わかまつ,としさだ
+さかもり,かよこ
+こばやし,あきひこ
+いまむら,よしひろ
+おおすが,かえで
+たかやま,たかとら
+きたみ,ひろひで
+まえだ,たえこ
+ともの,けんいち
+かぶらぎ,まさゆき
+ねぎし,けいぞう
+わだ,ゆみこ
+すずき,やすゆき
+さなえ,かずまさ
+の,たつや
+いしばし,ひろゆき
+やました,つねお
+すずき,かずひろ
+みやわき,としひこ
+まつうら,よしあき
+きたやま,よしひろ
+やまぐち,じゅんじ
+にしやま,かつじ
+かわばた,まさひこ
+みかみ,じゅん
+すぎやま,いさお
+きじま,のりお
+ひがし,しゅうじ
+あべ,まさと
+いのうえ,ようこ
+ふかだ,あきお
+むらまつ,じゅん
+ひらばる,たけお
+ちょうなん,よしまろ
+かわむろ,さとし
+つくだ,みのる
+みやもと,としひろ
+すえひろ,じゅんいち
+しらかわ,こうじ
+たなか,けいし
+やすい,よしのぶ
+きむら,かつこ
+なかがわ,かつよし
+くさの,としひろ
+あだち,よしひろ
+なかとも,むつみ
+ますもと,つとむ
+わたぬき,やすひろ
+たかはし,かつじ
+こぼり,みきお
+おがわ,こういち
+ふじもり,みきお
+いはら,えみ
+わたなべ,ゆうこ
+うらべ,いさむ
+みうら,みつる
+なかい,けいいち
+わらしな,しげる
+ふくなが,よしかず
+おおつぼ,よしあき
+よしだ,みのる
+はやみ,かつひこ
+のむら,まさかず
+ひらい,よしゆき
+しまだ,まさえ
+すずき,なおとし
+てらしま,きみひこ
+しずはら,れいこ
+やまとや,かずひこ
+おぎの,ひろお
+まつぐま,しげほ
+きたい,としひこ
+あかだ,しずお
+たけよし,せいのすけ
+ひろの,そおじゃ
+しまむら,とまさ
+りゅうご,しゅんいち
+くにえだ,まきお
+おおつか,ほこく
+いけがみ,ひでとし
+かねまつ,かねひで
+おおがわら,よしのぶ
+すずき,たかし
+てらだ,せつこ
+かわさき,てつじ
+おしやま,よしひさ
+かわかみ,しげき
+なかむら,としあき
+みたに,としひこ
+こまつ,ひろたか
+あかいわ,としひこ
+いちい,ふみや
+ふくやま,まさあき
+くどう,よしてる
+まつした,しんじ
+にしかわ,ゆきひろ
+あまがみ,しん
+やしき,あいいちろう
+わだ,あつこ
+ますだ,ともこ
+よしむら,ゆうじ
+おだ,しんじ
+よこやま,たかふみ
+いとい,ゆりこ
+すずき,かつひろ
+ながはま,ひろゆき
+やざき,ていぞう
+やじま,きよし
+むかえだ,さとる
+なかむら,たつあき
+やまむら,こういち
+のもと,としゆき
+やまざき,としひこ
+さとう,としや
+いのうえ,ひろゆき
+おかの,ひでお
+なかにし,はるひさ
+うえだ,ひろみ
+あいざわ,あきお
+あらい,ともなり
+ながいし,かつみ
+はこい,まさお
+くすもと,たかよし
+ありとみ,じつろう
+はら,たみお
+ほんま,まさはる
+はしもと,みちはる
+はしもと,まさお
+おおぬま,いさお
+はなき,しんいちろう
+はしもと,あきこ
+さくらざわ,ひでとし
+あかぎ,やすひと
+あきずき,まさとし
+あんどう,ひろき
+あらい,たまお
+あさむら,かつみ
+ちば,あこ
+えぐち,ゆきたか
+ふちの,とおる
+ふじまる,ひさと
+ふじさわ,のりお
+ふかだ,ふみひろ
+ふくい,ひろし
+ふくとみ,りゅうさく
+ぎま,かずよし
+はぎわら,いちろう
+はら,きよたか
+はるな,たかあき
+はつみ,あずさ
+はやせ,しんご
+はやつ,ひろし
+ひらおか,まゆみ
+ひろし,のぶこ
+ほしこ,まさひろ
+いちかわ,まさる
+いがわ,きよし
+いいずか,ありさ
+みつもと,ひろたか
+いまむら,ひろゆき
+いなみ,ひろみち
+いのうえ,たけし
+いせ,ゆきお
+すぎはら,ひろたか
+いしもと,けんじ
+いしずか,とおる
+いとう,ようじ
+かみかわ,ただみつ
+いわさき,けいこ
+いずみ,みわ
+かまだ,たかひろ
+たけうち,みき
+のむら,えみこ
+かたの,てるひさ
+かとう,たかし
+かわだ,ひろゆき
+いしい,やすき
+かわしま,えいこ
+きくかわ,ゆかり
+きし,たくし
+こばやし,てつや
+こばやし,かずひこ
+こやま,あきら
+こくぼ,ようこ
+こんど,みえ
+こしお,まさとし
+くぼ,つとむ
+ほしの,としや
+くさかわ,けいいち
+くすみ,ゆたか
+まきの,ちひろ
+まるやま,まこと
+なかむら,ちとせ
+まつもと,あつし
+めざわ,ひとし
+みね,まさやす
+みと,のぶお
+みやもと,しげる
+みやざわ,かつみ
+みずた,けんじ
+もり,はずき
+もりもと,まなぶ
+もろおか,みつひろ
+あんどう,いわお
+みょうが,たかゆき
+ながお,あきひろ
+ながせ,すすむ
+ないとう,さだみつ
+なかじま,とおる
+なかまる,としこ
+なかむら,りゅういち
+なかにし,ひでと
+なかの,つかさ
+しなだ,あきら
+なりた,たくじ
+にいやま,ひろし
+にしかわ,あきら
+にしずか,としや
+ひの,かずゆき
+はせがわ,みつあき
+おがた,ひとし
+むさし,みつる
+おおくぼ,はるし
+おおさわ,ひでき
+おおた,しんじ
+おおわだ,ひろのり
+おかだ,たかよし
+おかもと,ひろし
+おきもと,まさひこ
+おにつか,まさあき
+おさき,たかし
+さえき,よしひろ
+さかい,りょうじ
+さかき,きょうこ
+さかうえ,たかゆき
+さの,としふみ
+さとう,やすし
+さとう,さとし
+さわい,みちひろ
+せきはら,あきら
+せしも,しゅういち
+しばた,てつろう
+むらた,りゅうたろう
+しみず,はやとし
+しもおさ,たけし
+しのだ,はつえ
+しらい,かずひこ
+すどう,もとゆき
+すぎしま,まさる
+すやま,とものり
+すずき,ゆたか
+しゅくや,じゅんいち
+たぐち,なおゆき
+みやもと,たかし
+たかはし,けんりゅう
+たかはし,ゆきえ
+たかはし,いちろう
+たかせ,しげき
+みかみ,けいすけ
+たけやま,としあき
+たなべ,ひろゆき
+たなか,ひろこ
+たなか,のりあき
+たにぐち,じゅんこ
+たていし,なおや
+てるきな,あきよ
+とみおか,なおき
+とよだ,まさひこ
+つちや,よしひろ
+つじ,ひろし
+つのがい,やすのり
+うちだ,まさふみ
+うだ,けいじ
+うえはら,しんじ
+うえの,ゆうじ
+うめはら,まこと
+うすい,こうへい
+わだ,よしあき
+わたなべ,さとし
+やはぎ,なおふみ
+やまだ,としお
+やまぐち,ともかず
+やまもと,けんじろう
+やまもと,まなぶ
+やました,りんじゅ
+やまざき,ひとし
+やすだ,まさみ
+よどがわ,のりお
+よろずや,なおひさ
+よしまつ,ちはる
+えだひろ,みどり
+こじま,やすひさ
+おがわ,めぐみ
+たかせ,まみこ
+ふくた,かずみ
+たぐち,ひろむ
+あさの,としひこ
+ふじい,けんじ
+ふじわら,こうじ
+ごとう,ひろかず
+はやし,としあき
+ひらい,ひろたか
+いちい,しげゆき
+いけだ,いくじろう
+いしまる,みわ
+いとう,てつや
+かげやま,つよし
+かさま,のりまさ
+かとう,こうた
+きくち,ともあき
+きたがわ,みちはる
+こばやし,こうたろう
+こんど,のりこ
+くどう,はやと
+くさふか,しのぶ
+まつだいら,まき
+みくに,やすし
+みやち,たかふみ
+みやざわ,ひろき
+もりた,くるみ
+むろぞの,ひろあき
+なかみち,しょう
+にしむら,しんや
+おがわ,たかし
+おおえ,まさみち
+おおた,たかし
+おかやま,みつより
+さいとう,たかのぶ
+さの,たくや
+さとう,たかし
+しい,みさこ
+しんきゅう,まさゆき
+すぎやま,きよたか
+たかぎ,よしお
+たけうち,かほる
+たなか,のぶこ
+たるさわ,あきこ
+ともの,かずみ
+わたなべ,まさとし
+やまもと,ひでと
+やまざき,ふみの
+よねみつ,まこと
+ゆり,ともお
+まつぐま,ふみこ
+あじま,やすあき
+あまの,ちあき
+あおき,よしこ
+あおき,なおひさ
+あらき,かつじ
+あさくら,たつお
+あずま,りえ
+さたけ,けいこ
+だいお,ひでき
+なかむら,たかこ
+ふじい,たつのり
+ふじおか,てつろう
+ふくい,こうじ
+ふなだ,ゆうこ
+ごとう,かいちろう
+はまだ,よしみ
+さとう,せいご
+はりま,なおき
+はせがわ,あきひこ
+はた,しんいちろう
+はっとり,ゆき
+はやみ,すみひと
+はやし,まさのり
+ひえだ,みちかず
+ひおき,とうめい
+ほだ,ひろき
+ひろすえ,じゅんこ
+ひしだ,ひろし
+ほんごう,まさと
+ほりえ,あきのり
+ほしな,こういち
+いちかわ,ひとし
+いがた,えいいちろう
+いいずか,まこと
+いけだ,たかゆき
+ほそい,けんたろう
+いの,じゅん
+いのうえ,ふみのり
+おおもり,けんいちろ
+いしい,けいじろう
+いしい,やすし
+いしつか,としゆき
+いそがい,ゆうこ
+いとう,さとし
+いわはし,ゆうこ
+いわさき,ひろゆき
+かがぶ,しんじろう
+かまほり,ともひこ
+かみや,のぶゆき
+かない,のりこ
+かんだ,ちえ
+かのう,たけし
+たまたに,しま
+かとう,ひろき
+かとう,じゅんこ
+かわぐち,こうじ
+かわむら,しゅうじ
+かわしま,のぶこ
+きくち,いちろう
+きむら,たかひさ
+きし,なおき
+きたがわ,なおみ
+きよはら,つとむ
+こばやし,けんじ
+こだま,やすひろ
+こいわ,ともゆき
+こじま,さとし
+こんど,けんいち
+くぼ,なおき
+くまくら,けんいち
+ひらい,こうじ
+くろだ,あつし
+くろさわ,えいじろう
+まえだ,さとし
+しぶたに,こうじ
+ますだ,ゆうこ
+はら,けんじ
+まつい,しんじ
+まつもと,ひろし
+まつなみ,よしこ
+まつおか,しんご
+まつやま,あきら
+みかみ,ひでお
+みなみ,あきら
+みたむら,まさとし
+みつま,かずひと
+みやした,ひろゆき
+はしぐち,しげき
+みずの,としゆき
+もり,まさし
+もり,ひろかず
+もりや,むつお
+むねかた,かずよし
+むらた,ゆきもと
+みょうじん,みちお
+ながしま,よしかず
+ないとう,まさき
+なかじま,てるみ
+なかもと,ひろかず
+なかむら,ゆうじ
+なかむら,けんた
+なかや,わたる
+なん,けいすけ
+なとり,けんや
+にいざわ,よしのり
+にしだ,やすお
+にしな,きよし
+にしざわ,よしひろ
+のがわ,ひろや
+のむら,まさひろ
+おがさわら,かずてる
+おがわ,やすのり
+おはし,さとし
+おおの,ひろやす
+おしま,つとむ
+おおたき,ふとし
+おおつか,えいき
+おおや,むねお
+おかだ,ひろゆき
+おかざき,こうたろう
+おおみ,あやこ
+おのでら,まさひこ
+おの,たかあき
+おざき,よしまさ
+さいだ,ももこ
+さかぐち,こうじ
+さかい,なおき
+さこ,あかし
+さんべ,まこと
+ささき,ゆたか
+さたけ,としき
+さとう,ゆきたか
+ひらの,ひろあき
+さわむら,ひろし
+せきね,かずあき
+しばはら,かずの
+しばざき,まさこ
+しま,こすけ
+しみず,けいすけ
+しもかわべ,あきひろ
+しのざき,ひろし
+しらはま,みちひさ
+しょうなご,たかしげ
+すだ,めいじろう
+すぎもと,みか
+すぎた,たかゆき
+すみだ,あつし
+すずき,まさふみ
+すずき,しげる
+すずの,かつふみ
+たぐち,みゆき
+たかぎ,としかず
+たかはし,ひろみち
+たかはし,ひでのり
+たかはし,けんいち
+たかの,みきこ
+たかしま,ただし
+たけだ,いずみ
+たけなか,けんいち
+たけやす,れいじ
+たむら,ひろゆき
+たなか,こういち
+たなか,たかよし
+たなか,とおる
+たにぐち,かつひこ
+てらまえ,せいいちろう
+ときわ,ちえこ
+とりごえ,さだゆき
+つちたに,ひでき
+つじむら,たかし
+つかもと,けんたろう
+つつみ,まさのり
+うちの,さとし
+ねず,としあき
+うえつぼ,よしたか
+うおずみ,さんぺい
+わだ,みつのり
+わたなべ,よしき
+やぶ,こうじ
+やまだ,ゆうこ
+ひさの,りか
+やまぐち,のりゆき
+やまかわ,ゆきこ
+やまもと,なおと
+やまもと,しんいち
+やまうち,しんいちろう
+やまざき,たかお
+はぎわら,みきお
+よねざわ,えり
+よしだ,さちこ
+よしまつ,けんたろう
+ずし,ゆきお
+いわかわ,そうたろう
+いしまつ,ひろやす
+あべ,えいいち
+あかいし,えいち
+あまがた,たかし
+あんざい,まさひで
+あらき,としみつ
+あしだ,さとし
+ちょう,えいじ
+どい,けんいち
+えのもと,きよみ
+ふじい,さつき
+ふじた,たかし
+ふくむろ,たかし
+ふなき,なおき
+ふるや,ともや
+いわさき,さえこ
+いとう,しろう
+はだ,ひであき
+はなど,みのる
+はらだ,たけし
+はらぞの,のぶひろ
+はしもと,さとし
+はっとり,まこと
+はやし,たかよし
+ひがし,かずお
+ひらの,ひろこ
+ひりき,けんいちろ
+ほんだ,さなえ
+ほしやま,みぎふみ
+いちはら,たかし
+いがらし,かつのぶ
+いけだ,りょう
+いまむら,おさむ
+いなむら,とものり
+いのうえ,やすひろ
+いさか,しげる
+いしだ,けいいち
+いしい,のぼる
+いしずか,ゆきお
+いとう,しょうこ
+いとう,まさみ
+いとう,えいじ
+いわなが,なおこ
+じんば,つねのり
+かじもと,たくや
+かこ,としひこ
+かん,たくや
+かのう,まゆみ
+かすや,まさなり
+かとう,けんじ
+かわべ,よしゆき
+かわかみ,けんいち
+かわの,まさひこ
+かわしま,やすのぶ
+きくち,まもる
+きむら,あつし
+きの,あき
+きたがわ,おさむ
+こばやし,としひろ
+いとう,しんじ
+こくしょう,まさる
+こんど,まさゆき
+こやま,ひろたか
+くれまつ,たかひで
+くりゅう,よしえ
+まちた,まさき
+まるいち,まさゆき
+ますだ,ゆきこ
+まつい,ひでし
+まつもと,よしき
+なかむら,ひろゆき
+まつおか,たけし
+まつやま,こうたろう
+みしま,かずみ
+みつもと,きよみ
+みやもと,としあき
+うちやま,みきこ
+みずの,まさよし
+もぎ,もゆる
+もり,まさひろ
+もりた,かずひさ
+もとばやし,さとる
+むらかみ,ひろあき
+むらた,とものり
+なば,ひろゆき
+ながおけ,さとし
+ながた,しょうへい
+なかがわ,よしゆき
+なかじま,たかし
+なかむら,たつや
+なかにし,いずる
+なかお,あきこ
+なかやま,ふみお
+ねもと,みつあき
+にしだ,よしや
+にしむら,きわむ
+のぶはら,こうじ
+のぞえ,はじめ
+おおぎ,たけし
+おおえ,よういち
+おおくぼ,ひろふみ
+おおもり,なおき
+おの,あきら
+おおた,あさこ
+おおたに,やすひろ
+おか,ふみこ
+おかまつ,たかひろ
+おかもと,のりお
+おおの,なおき
+とくみや,てつや
+さいとう,ゆたか
+さかきばら,たかお
+みたに,けんいち
+さの,しゅうぞう
+ささき,せいじ
+さとう,たかかず
+さとう,のぼる
+さとう,ともき
+さやの,いくや
+せんな,としみつ
+しぶたに,きょうこ
+しまむら,よしみつ
+しなだ,かつみ
+しらはま,たろう
+しゅとう,ゆみこ
+すだ,なおひろ
+すぎやま,ひでまさ
+すみおか,ともや
+すずき,ひでひろ
+たばこ,くみこ
+たがわ,まこと
+たかはし,しんや
+わたなべ,まき
+たかくら,けんすけ
+たかおか,ごう
+たけはな,まさかつ
+たけうち,さとし
+たなか,けんたろう
+たなか,せいじ
+たなか,のりひろ
+たにい,ゆりこ
+たしろ,けんいち
+てらもと,えいじ
+ときおか,たかしげ
+とみかわ,のりこ
+とりかい,なおき
+つだ,こういち
+さかい,みほこ
+うだ,あつこ
+うえの,おさむ
+うめはら,としお
+うしば,みのる
+わかお,けいじ
+わたべ,まさとし
+わたなべ,だいち
+とみやす,としひさ
+やまだ,まき
+やまこし,だいすけ
+やまもと,じゅん
+やました,なおこ
+やなぎ,としあき
+よこさわ,たくや
+よこやま,かずのぶ
+よしだ,なおと
+よしみ,たいき
+よしざわ,としかつ
+いま,まさひろ
+くぼ,まさひこ
+なかはら,たくや
+おぐら,とおる
+たかまつ,けんいち
+いのうえ,むねひろ
+あいば,さとし
+あまの,なおこ
+ありた,ひであき
+あたぐち,ひろし
+だて,しげひこ
+えざわ,なりひで
+ふじもと,みきお
+ふくどめ,たかし
+ふるかわ,あけみ
+はぎわら,りゅうた
+はなた,ひらく
+はせがわ,ゆたか
+かじわら,よしこ
+はっとり,たかゆき
+ひがし,りゅうすけ
+ひらお,まさゆき
+ひろせ,みつる
+ほんま,たけし
+ふくろい,けんじ
+いちのせき,としひろ
+いけだ,ゆたか
+いまむら,けんすけ
+いのうえ,かずお
+いしだ,こうじ
+いしかわ,あきら
+いわさき,たけし
+かいずか,ひろこ
+かみがき,のりひで
+かねこ,くにひこ
+かたぎり,なおゆき
+かとう,けんじ
+かわかみ,こうじ
+かつき,あきとも
+きむら,さとる
+きのした,ゆかり
+きたやま,ちひろ
+あめした,なおき
+こばやし,たかひろ
+こが,のりゆき
+こいけ,あきお
+こんど,とものり
+くぼき,いくこ
+くらしな,かつひと
+くろき,つよし
+まえだ,やすひろ
+まさだ,ひろゆき
+まつだ,なおみ
+まつもと,しゅういち
+めかた,ひろき
+みやもと,あきひろ
+もり,ゆか
+もりた,かずよし
+むらかみ,まさあき
+むた,ひさし
+ながやま,てつや
+なかはら,たかこ
+なかむら,あきのぶ
+なかむら,まり
+なかた,こういち
+なかざわ,けいすけ
+にし,かねのぶ
+にしやま,みなこ
+のと,じゅんいち
+おがわ,ようじ
+おおば,まさひで
+おむら,まゆ
+いけまつ,たかこ
+おいだ,ひとし
+おかざわ,ひとし
+おの,なおみ
+さいとう,あきひさ
+さかい,のぶやす
+さくた,よしあき
+さとう,まさひこ
+さとう,こうじ
+さわはし,たつゆき
+しばた,あやこ
+しみず,かつゆき
+しおみ,しんじ
+したら,ひさし
+すぎた,かつひこ
+すけがわ,のぶよし
+すずき,あきひろ
+しょう,しょうたろう
+たい,まさてる
+たかぎ,てつろう
+たかはし,としお
+たかやま,ひでつぐ
+たけした,しょうぞう
+たこ,よしき
+たなか,きょうへい
+たに,かずなり
+たずけ,せいいち
+ともとし,けんじ
+つちもと,ふみお
+つのだ,しょうじ
+うちだ,さとる
+うえだ,あきのり
+うのき,のぶひこ
+わだ,ひろたつ
+わしず,しょう
+わたなべ,こうせい
+やまだ,たかと
+やまぐち,ようじ
+やまもと,みつぞう
+やまな,せいいちろう
+やしろ,たけし
+よこやま,まさひこ
+よしだ,ともみ
+ゆき,せつこ
+ひらかわ,まなぶ
+もりいち,えいじろう
+しみず,けい
+ふじゅう,しんいち
+はがわ,たかし
+はせがわ,ひであき
+ひらの,たくや
+ほんごう,てるひこ
+いけだ,としゆき
+いしかわ,ひろき
+いとう,よしみ
+かなやま,こうじ
+かたぎり,しんすけ
+きもと,たくや
+きやま,せいじ
+こじな,けん
+こんど,ひろひこ
+くりた,さとし
+ますだ,だいち
+みかみ,みつお
+みわ,たかのぶ
+もちずき,のぶゆき
+もりやま,としお
+ながふじ,きみひと
+なかじま,まさひこ
+なかむら,ひさと
+なすの,なおき
+のだ,ゆうこ
+おがわ,りょうこ
+おおかわ,じゅんこ
+おおたに,けん
+おくむら,まなみ
+いぎ,あきのり
+さなだ,よしひろ
+さとう,ひでひさ
+せき,よういち
+しばた,ゆきのり
+しまかわ,しげる
+しおじり,ひろし
+すだ,ともはる
+すずき,こうじ
+たかだ,たかのり
+たかはし,きょうこ
+たかす,つよし
+たにぐち,なおき
+つねかわ,ひろふみ
+うえはら,ひであき
+やぎもと,ひろし
+やまぐち,ともこ
+やました,かずき
+やざき,なおき
+よしだ,はるひこ
+あいかわ,ひろふみ
+ちかはら,おさむ
+わたなべ,たかえ
+のざき,てるあき
+あかにし,なおひろ
+しまもと,あとむ
+あなざわ,みのる
+いうち,まこと
+いしかわ,こういち
+いちかわ,そよ
+いまはやし,しんいち
+うちやま,よしたか
+おうさか,まさたか
+おおたに,ひでき
+おおばやし,しんじ
+おぐら,ひろこ
+かきもと,ひろし
+かとう,しげのり
+かみやま,ひろかず
+かわせ,なおき
+きたじま,あきひろ
+くさかべ,まえこ
+こいで,ひでき
+こまつ,けいいち
+さいとう,ひでき
+さとう,じゅん
+しゅう,まさや
+しのだ,ますみ
+しみず,さとし
+すがわら,しげふみ
+すみかわ,かつあき
+たかせ,きよたか
+たけだ,けいいち
+たなか,けんじ
+たばた,みわこ
+つちはし,むねひろ
+とむろ,なつひこ
+なかがわ,たかこ
+なす,ひろし
+にしはら,なおき
+のむら,かずひこ
+はせがわ,けんいち
+はらだ,ともこ
+ひじり,えり
+ふじた,のぶこ
+ほそかわ,たつお
+ますぶち,たかし
+まつなが,ゆき
+まつやま,てつや
+みた,みのる
+みよし,ようこ
+むらやま,まこと
+もりした,かずひろ
+やじま,なおこ
+やまざき,ひろゆき
+くりはら,まさき
+よこやま,ようこ
+わたなべ,よしひと
+くわしま,すぐる
+さかもと,ひでのぶ
+いとう,ただひろ
+うめない,すすむ
+おかしろ,しろう
+かわおか,ひでき
+くば,たかし
+こうだ,まさたけ
+さとう,まゆみ
+あべ,まさはる
+たかはし,ひさみ
+たばた,かつゆき
+なかがわ,こういち
+はしもと,とおる
+ひらの,まさたか
+ほその,あきひと
+むらかみ,けいこ
+よしむら,えり
+あまや,まさる
+ちょう,だいすけ
+ごうだ,きよのぶ
+はやかわ,ひろき
+ふるた,なるき
+いいだ,たかひろ
+いしわたり,ひろかつ
+かばやま,まさき
+かんだ,やすひと
+きたむら,よしお
+こんの,こういち
+まちだ,はるみ
+まつい,たけし
+みうら,けいご
+たはら,のりこ
+むらかみ,たつひこ
+なかみね,まもる
+なかざわ,きよし
+おおた,しげあき
+いしかわ,よう
+いとう,ともや
+さとう,つぐひで
+しばた,なおき
+そめや,あきひこ
+たけだ,あきら
+たなか,こういちろう
+たにした,ふみの
+つちや,よしこ
+わじま,りこ
+やまだ,ひろき
+やまざき,ゆたか
+たかはし,まさき
+あんどう,ゆき
+いしもと,りょうすけ
+いわさき,みずまさ
+うめはら,たかし
+おがた,やすし
+おにざわ,しげき
+かじ,おさむ
+かねこ,のぶかつ
+かわまた,ひろき
+くぼ,とものり
+こうさき,こういち
+さいほ,なるひろ
+さなだ,おさむ
+ししど,くにお
+すぎはら,きよしげ
+たかおか,ゆみ
+いとう,じゅんじ
+なかお,しんじ
+なかの,じ
+にしかい,としみつ
+ねろめ,ひろし
+はぶ,まこと
+ひらい,かおり
+ふじわら,とおる
+ほんま,ゆきのぶ
+まつざわ,ちから
+みやもと,やすじ
+もりや,ほまれ
+やの,ひろし
+やました,まいこ
+よだ,たかひろ
+わたべ,たかし
+あきば,けいいち
+あべ,まゆみ
+いとう,ようじ
+いしむら,ゆみこ
+いとう,まさる
+いまい,たけし
+うえはら,もとこ
+うめつ,あきひこ
+いまにし,ひろゆき
+おおいし,まさはる
+おかの,ゆき
+おがわ,とおる
+かがみ,えりか
+かたやま,みつこ
+かみ,よしてる
+かわさき,ひとし
+かわもと,みちお
+きたもと,つとむ
+ぎょうぶ,ひろこ
+こいけだ,たつろう
+こだま,たいちろう
+こばやし,ひでひと
+さいごう,みわこ
+さかがみ,いちろう
+ささき,ななえ
+さわ,けんご
+しみず,ゆきお
+しょうだ,しげのり
+すずき,かずひら
+いしはま,けんと
+たかはし,まきこ
+たけわ,しんじ
+たはら,さとし
+つつみ,まこと
+ないとう,こうじ
+なかじま,のぞむ
+なかむら,そういちろう
+いけだ,まさたか
+にし,つねあき
+ののいちや,ますお
+はしずめ,ゆうこ
+はっとり,ゆう
+いのぐち,かつふみ
+ひまき,とものり
+ふかざわ,りえ
+ふじなが,ふみこ
+ふるや,まりこ
+ほりかわ,ともひろ
+いぐち,たかひろ
+みつはし,えいいち
+みやした,ようこ
+むらまつ,まさゆき
+いのうえ,あきのり
+やの,ただたか
+やまだ,たつお
+やまもと,むねたか
+よしだ,りょう
+わたなべ,ひでゆき
+わたなべ,としえ
+こうだ,さとる
+おがわ,ひろあき
+あきもと,すすむ
+あさの,ともひこ
+あべ,まさおみ
+いつの,みきお
+いちのせ,こずえ
+いりた,やすあき
+いしおか,しんいち
+いちき,まさと
+いはら,きよたか
+いまず,つよし
+いわすぎ,みか
+うすい,まさひろ
+えとう,けんじ
+おう,よしひろ
+いわきり,わたる
+おおつき,じゅん
+おむら,くみ
+おかざき,ともみち
+おがわ,あきら
+きたむら,まりこ
+おおやま,ちずる
+かさざき,よしひろ
+かつの,たかのり
+かとり,けんじ
+がみ,ひろし
+かわかみ,まさみ
+かわみ,しんじ
+きたしろ,かずよし
+きむら,しげる
+くじらおか,だいき
+いしぐろ,たろう
+いなとみ,だいすけ
+こずま,まいこ
+こしい,ともひろ
+こにし,ただし
+こばやし,よしお
+さいとう,ともえ
+さかい,みねお
+さかもと,じゅんこ
+さとう,しんいちろう
+いしぐろ,ひでたか
+しなだ,よしこ
+しまだ,よしさだ
+いとう,きょうこ
+すぎやま,かずな
+すずき,こうじ
+せきぐち,けいこ
+かみや,かすみ
+たかの,けんいち
+たかはし,こういちろう
+たかみざわ,りゅうき
+たけうち,たかきよ
+たけもと,かずひこ
+たちばな,あやこ
+たなか,なおこ
+たなみ,つねお
+たのおか,みえこ
+ちゅう,さやか
+つちや,せれな
+とじ,まさこ
+とよだ,たくや
+なかじま,ともこ
+ながた,よしひこ
+ながはら,よしゆき
+なかむら,まさかつ
+にしかわ,いわお
+にわ,ゆきえ
+のがみ,ゆか
+はしずめ,たかし
+はせべ,ようへい
+はなぶさ,おさむ
+はやし,まこと
+はるたに,たかひろ
+ひょうえ,ともひろ
+ひらぬま,かずお
+ふくだ,たかひろ
+ふじお,たかゆき
+いのうえ,のりお
+ふるかわ,まさみつ
+ふわ,みお
+まえかわ,るみ
+まきた,かつゆき
+まつうら,えりこ
+まつだ,たかし
+まつみや,けんいち
+まなべ,りょうすけ
+みなと,ひろゆき
+むらかみ,まさみ
+もとよし,まこと
+もりた,けんじ
+やぎ,けいすけ
+がん,はなえ
+やまぐち,やすまさ
+やまさき,じゅん
+やまだ,たつじ
+やまにし,なおき
+よこた,ともふみ
+よしかわ,たくや
+よしむら,くにひこ
+わきた,とおる
+わたなべ,そう
+あまこ,よしお
+まの,あき
+うちむら,ちなつ
+さくらい,まみ
+しらい,ゆたか
+てらくら,ようじ
+おかだ,たつし
+ごとう,あきひろ
+つばき,せいいちろう
+いながき,ひでとし
+ほりべ,もとじ
+かい,よしえ
+たかだ,とくひこ
+こたに,ふみひこ
+いはら,けいこ
+あきはら,しゅんすけ
+あべ,ゆき
+あらき,ひろし
+いしい,のぶやす
+いしぜき,だいすけ
+いたに,たかし
+いとう,しずこ
+いの,みき
+いわざき,ひろたか
+うえの,けんじ
+うめはら,なつこ
+おおえ,だいすけ
+おおつ,ちえ
+おおつぼ,まさみつ
+おかだ,たつや
+おかもと,ひさし
+おくなか,せいし
+おばら,ゆりこ
+かじなが,ゆたか
+かとう,りょう
+かとう,わたる
+かわい,こうじ
+かわぐち,すすむ
+きし,れいこ
+きどころ,あつし
+くぼた,まゆみ
+くわばら,ゆかり
+こくぼ,ももえ
+ごとう,けいこ
+こみやま,まさよし
+さいとう,しげる
+さかもと,ちから
+ささの,あかぎ
+さなだ,まさゆき
+しまだ,たけし
+しもふじ,のぶひこ
+しわ,けんいち
+すぎはら,ひろのぶ
+すずき,まさや
+せき,あつなり
+たかぎ,かよ
+たかはし,ひろなお
+たきざわ,さとし
+たけだ,ゆういちろ
+たなか,せいじ
+たにかわ,よしつぐ
+たばた,けいたろう
+つかだ,りえ
+つぼた,まさや
+とうかいりん,ゆみ
+とのい,あきこ
+なかがわ,よしのり
+ながの,りょうた
+なかやま,ともひろ
+にしおか,しんいち
+ねぎし,りか
+のざき,だいすけ
+はしぐち,としひろ
+はっとり,ゆういち
+はまだ,だいじ
+ひしぬま,あつし
+ひらた,まみこ
+ふくだ,たかし
+ふじえだ,ひさかず
+ふじわら,たくと
+ほりかわ,しゅうじ
+まつお,ひでのり
+まつやま,みつてる
+みや,あきら
+みやもと,くにこ
+むらかみ,たつひろ
+もりた,まみ
+やぐら,しんじ
+やまだ,みずほ
+ゆら,けんいち
+よしざわ,ゆうこ
+ろく,あきこ
+わらび,ひろのり
+みひら,りょうへい
+みぎた,まな
+たけうち,りょう
+おのでら,くにひろ
+あかがわ,もとこ
+あさぬま,あや
+あらい,つよし
+いざわ,ちはる
+いしばし,としゆき
+いで,なるみ
+いのうえ,まこと
+いまぜき,くみこ
+いわた,こうじ
+うさみ,まりこ
+えのきど,よりこ
+おきた,ゆきのり
+おおつか,もとい
+おの,ひろし
+おかだ,かずひろ
+おくくぼ,たかし
+かない,けんいち
+かみや,さちこ
+かわさき,ひろき
+きだ,えいすけ
+きむら,ふみと
+くめうち,けんじ
+くわはら,しの
+こが,たくじ
+こばやし,あんな
+さいとう,けんいち
+ささき,はなこ
+さとう,みき
+さはら,たかふみ
+しだ,よしひろ
+しみず,たつお
+しもざき,たつひこ
+すぎうら,まさのぶ
+すと,さとし
+せと,けいじ
+たかぎ,のりゆき
+たかはし,みか
+たけだ,ゆうじ
+ただ,よしたか
+たにぐち,たかのり
+たむら,けいこ
+つかはら,みずほ
+つぼうち,あきふみ
+てらだ,よしき
+とみい,じゅんこ
+ないとう,たかお
+ながさか,こうじ
+ながの,やすお
+なかむら,えいじ
+にし,なおゆき
+にしだ,りょうへいた
+のぐち,かずよし
+のむら,かずお
+はっとり,さとみ
+はやかわ,ゆき
+はらだ,みえ
+ひでしま,みきこ
+ふかお,みゆき
+ふくはら,ゆきこ
+ふじもと,えりこ
+ほしの,すみお
+ほりぐち,じゅんいち
+まきの,たけお
+こみや,のぼる
+こばやし,ひろし
+かみくぼ,けんじ
+まつお,きよし
+なかち,きよし
+こすぎ,よしみ
+かつまた,としかず
+かがやま,まさはる
+くぜ,みきお
+くまだ,まさあき
+こじょう,さなえ
+かしくま,けんぞう
+きくち,よしひさ
+くまの,まさゆき
+こばやし,しゅんじ
+こばやし,のぶこ
+こにし,けんいち
+こばしがわ,ひとし
+かいど,みほ
+くろき,じゅん
+かなたに,りえ
+きたがわ,なおたか
+みずもと,なるき
+みやおか,けんろう
+むらた,けんじ
+もりた,ひでとも
+やなぎだ,えりこ
+やまざき,けん
+やまもと,やすのり
+よご,とものり
+よねだ,ゆみこ
+わこ,りえ
+あかはね,ひろあき
+あさべ,かよ
+あらい,ひでお
+いけだ,よしたか
+いしど,ゆきこ
+いずの,みつひろ
+いとう,たけし
+いのうえ,のぶたか
+いわた,よしひろ
+うかい,ひさなが
+えとう,ひろき
+おおさか,たてき
+おおにし,みつる
+おむら,ともこ
+おかの,やすふみ
+おがわ,たくや
+おざき,たかゆき
+おとがわ,りょうこ
+かさい,なおこ
+かすが,さなこ
+かとう,けんいちろ
+かめたか,たいすけ
+かわぐち,あゆみ
+かわばた,あゆみ
+きたがわ,たけし
+きむら,よしかず
+きりさこ,てっぺい
+くらはし,たかあき
+ごうだ,たけひろ
+こてら,きみひろ
+こばやし,なつこ
+こまつばら,ともひさ
+さいとう,てるひさ
+さかい,たかゆき
+さくらい,さだよし
+さとう,あき
+さわさき,たかし
+しまの,としあき
+しょうだ,くみ
+しんたに,けんた
+すぎやま,たかね
+せきもと,かつあき
+たかはし,れい
+たぐち,わたる
+たちばな,なおと
+たなか,さちえ
+たまき,なおこ
+つかだ,てつや
+つぼくら,たくや
+どい,のぶたか
+とだ,しゅんすけ
+ながさか,みちこ
+なかしま,あきひろ
+なかにし,みどり
+なかむら,まゆ
+なかやま,たけし
+にしの,ゆか
+のくお,かおり
+ばこし,しんご
+はたの,ようこ
+はやし,さとこ
+はらだ,あつし
+ひらい,ゆうすけ
+ひろえ,あつし
+ふくだ,さやか
+ふじむら,あきこ
+ふるかわ,ひろこ
+ほそだ,しゅんご
+まえかわ,みわ
+まさとうみ,まいこ
+まつおか,ともこ
+まつばら,あきこ
+みうら,きよまさ
+みぞはた,ちえ
+みはら,まさき
+みやむら,あや
+むらた,くみこ
+もり,くみこ
+もろえ,ひろかず
+やなぎさわ,けいすけ
+やまがた,まこと
+やまだ,のぶこ
+やまもと,てるひこ
+やまもと,わたる
+よこやま,あゆみ
+よしだ,なおこ
+よしむら,だいすけ
+わだ,いさむ
+わたなべ,ひろし
+ささの,すすむ
+こだま,たかひこ
+かわしま,まさなり
+かわの,こういち
+かみうら,かずひで
+こんの,ひでき
+くやま,たけし
+こい,せいいちろう
+かさじま,ひろふみ
+かとう,ともみ
+くぼた,ひろゆき
+けがさわ,ひさし
+かわぎし,ひろし
+かまだ,たかし
+きくち,おさむ
+かとう,かずひこ
+まちだ,かずお
+むらさき,としお
+まつもと,けんいち
+まさき,きくお
+みずたに,なおひこ
+まるやま,せいじ
+むらしま,ただお
+みずた,よしお
+もりい,ぎょじ
+みやざわ,よしお
+みずの,ゆりこ
+むらいし,まもる
+むらかみ,かずお
+むらまつ,あつし
+みたく,けいぞう
+まえだ,あきお
+むらい,とよみ
+まつだ,さとし
+みてら,やすお
+もり,つとむ
+まつい,たかし
+みうら,くにお
+まつもと,たけし
+まつざわ,よしお
+みかみ,はるき
+たぶち,けんじ
+なかじま,まさひろ
+ないとう,たけお
+にしな,きみひと
+なかがみ,しゅういち
+なかはた,かずとし
+にしおか,ひろし
+にしだ,よしろう
+のむら,くにひこ
+なかむら,ひでゆき
+ないとう,かずあき
+にった,ゆたか
+なかじま,かつお
+なかせ,としあき
+なかがわ,のぶお
+なかじま,むねたか
+なかむら,ほずみ
+ながしま,なおじ
+おき,すみお
+おくだ,としお
+おおはし,ひろし
+おがわ,とおる
+おざわ,ひろし
+おおはし,ゆたか
+おおの,みつお
+おおいし,じ
+おおかわ,かおる
+おりがさ,やすたけ
+おおた,よしひこ
+おざき,じゅんいち
+おだしま,ただし
+おおひら,せつじ
+おおや,ひでほ
+おかの,あきこ
+おぐし,あけみ
+おおいがわ,たかはる
+なかたに,しんいち
+しらおがわ,らいた
+なかむら,としみつ
+あべ,えみこ
+かわうち,まりえ
+いとう,けんそう
+こいずみ,たくや
+かなおか,ひろし
+ありま,やよい
+うまやはら,やすみ
+かねまつ,さきこ
+ふかや,くにあき
+ごとう,ゆういちろう
+すぎもと,くにお
+くりはら,とよひこ
+おおた,ゆきこ
+すずき,たけし
+よしだ,かずとし
+はっとり,ひろし
+かどた,あきひろ
+いしざわ,ゆずき
+みやもと,みどり
+おじ,やすひろ
+あらい,としあき
+きたむら,りかこ
+さいとう,よしひと
+こばやし,きょうぞう
+にしかわ,ともみ
+たなか,かずひろ
+ずし,やすお
+あらい,しょうへい
+まえでら,てるゆき
+こんど,なお
+ながほり,ゆきこ
+いわさき,みやび
+なかたに,たかし
+なかがき,けいこ
+くわはら,まこと
+すずき,ゆき
+ただ,えいき
+わだ,なおこ
+さの,ひろし
+ときた,なつこ
+こさい,ゆうこ
+せごえ,さとこ
+なかい,あつみ
+はらだ,としまさ
+きのした,みちお
+みやざき,かずみ
+たきざわ,まさあき
+さとう,こういちろう
+みずしま,たける
+たにぐち,はるみ
+まつした,たかし
+すぎうら,けんたろう
+たにがき,せいこ
+さとう,しげお
+やまかわ,さだはる
+すずき,しげひろ
+とくだ,まんなり
+いわま,のぶあき
+おおはら,ゆきなお
+しおぬま,ひでとし
+すずき,あきよし
+すずき,よしこ
+すずき,のぶあき
+せき,おさむ
+すずき,つとむ
+すがお,てつじ
+すずき,けいたろう
+さどとも,あきら
+しま,みのる
+さいとう,おさむ
+すずき,まさひろ
+さいとう,ゆきお
+そま,おさむ
+さとう,けんじ
+しろさき,よういち
+すずき,ようじろう
+すずき,てつろう
+すぎもと,まさお
+さかい,しんいち
+すずき,かずゆき
+さとう,たつじ
+しおた,とよお
+そま,かんじ
+しゅどう,たかお
+さくらい,としお
+そうや,せいじ
+さわむら,なるみ
+せお,ゆうじ
+しみず,としお
+さきもり,いわお
+さいとう,ひさお
+しみず,えいぞう
+しおのや,きよかず
+たかぎ,ひでお
+たきいし,りょうじ
+とば,まさし
+たぐち,まさお
+たかの,むねお
+たかやす,とよみ
+たなか,しげる
+たかはま,よしあき
+つちだ,まもる
+たかお,ますみ
+たにぐち,みちあき
+つじかわ,ゆういち
+よしざわ,まさはる
+たなか,じゅんぞう
+たまる,まさみ
+たかぎ,きょうこ
+つねひろ,じゅんじ
+たかはし,としあき
+あさい,ゆうじ
+たかさき,あきら
+たかなみ,まさる
+ともなが,つねかず
+たかぎ,いつお
+つかもと,あきお
+てらうち,さだゆき
+たのおか,すすむ
+うすぎ,かずひろ
+うつき,てつお
+うちだ,けんすけ
+うめむら,としお
+うの,としひで
+わたなべ,ひさゆき
+わたなべ,かつなり
+わたなべ,こんごう
+わだ,たけみつ
+おおた,まこと
+なかじま,けいいち
+ふるさわ,つよし
+かしわぎ,こ
+はた,しょうすけ
+うしじま,まさかず
+まつい,あきら
+かわな,だいじろう
+みやもと,たかひさ
+よしだ,すみゆき
+おおかわら,げんたろう
+すやま,くんろう
+すずき,ゆうじ
+くにぎた,よういち
+きど,まさし
+いしい,ちかとし
+うえだ,たかし
+いちかわ,かずお
+おさじま,としや
+うえむら,としひで
+きむら,ときち
+よこやま,ひさお
+いとう,まさゆき
+みやべ,かずと
+たまい,かずみち
+こり,こういちろう
+いわさわ,まなぶ
+よしやす,ごう
+またき,しんご
+やまもり,かつお
+たかた,のりお
+すどう,しょうこ
+うえむら,ゆたか
+すずき,みのる
+すずき,あきら
+あらき,せきね
+かだ,あきら
+にしより,みのる
+いなば,かずと
+ほりい,つねお
+すどう,まさひこ
+しろやま,こ
+てらい,あきこ
+まつもと,なおたけ
+いとう,せいじ
+そとやま,かつのり
+ひらおか,やすし
+ひらき,たもつ
+たなべ,ゆうじろう
+ためちか,たてお
+よねだ,としひで
+えじま,とものり
+たかはし,みさこ
+てらお,ひろひさ
+ほんだ,ゆみ
+おちり,やすひろ
+おおい,なおみ
+かわい,みのる
+むらかみ,みよし
+なかじま,ひとし
+いしはら,ふみたか
+あかほり,みつのぶ
+やすだ,あきら
+よこせ,ともしげ
+よしかわ,としろう
+やまぐち,みのる
+よしむら,まさひこ
+よねだ,かおる
+やました,しょうぞう
+やまだ,えいぞう
+やまざき,すすむ
+よしだ,ひろし
+やまたに,ひろつぐ
+やまね,よねたか
+やまかわ,じゅんいち
+よしだ,たかお
+やまさき,のりお
+やまもと,てるお
+よこた,えいいち
+やまだ,かつひろ
+よしの,だいすけ
+よしだ,むつお
+のむら,まさたか
+やまだ,さとる
+いしかわ,ちよたけ
+すずき,ひろふみ
+ますだ,けんじ
+いまい,まさぞう
+きゅうそじん,けんすけ
+やまだ,あきら
+ひらの,たいき
+なかにし,かずしげ
+たつた,しげる
+みむら,まさお
+ひらまつ,さだお
+とみた,まさひろ
+こばやし,しんいちろう
+たけなか,まさひろ
+あまの,のりこ
+いしい,きょうこ
+いで,さきこ
+おかだ,りえこ
+ひらいし,まり
+よしもと,ひろこ
+かわしま,まゆみ
+とばた,のりかず
+たなか,ひかる
+あんべ,まなみ
+たかはし,まさひろ
+とみやま,よしあき
+たかやま,としゆき
+みやした,みのる
+はしもと,みきお
+とがめ,みわこ
+のぐち,かずまさ
+のぐち,あきら
+そうみや,けんじ
+きむら,ようじ
+かとう,ともゆき
+すずき,けんじ
+おかだ,ひろみ
+やの,じゅんこ
+おのさと,はん
+まつだ,よしあき
+きむら,たかし
+たむら,とものり
+かとう,としや
+いぬまる,ひろじ
+おのでら,なおこ
+すずき,ちはる
+たにかわ,ほずえ
+さくま,しま
+いまむら,るりこ
+えいどめ,ゆき
+よしい,ただひろ
+おおたき,ゆみこ
+くすもと,いさお
+みやした,ゆきお
+まちい,かずひろ
+はやしだ,たかとし
+はるはら,たかし
+てらもと,ゆうじろう
+まつもり,かずお
+わたなべ,こうじ
+かねこ,やすし
+おりがさ,まつのり
+つかもと,ひろみち
+よしだ,みな
+にしだ,ひさえ
+ふるかわ,りえ
+むらかみ,たかお
+おおばやし,こうきち
+さとう,けいこ
+やま,ふみこ
+みやた,たかてる
+虹如
+丁心嵐
+丁志宏
+丁建文
+丁偉民
+丁甦南
+丁綺慧
+丁譽琳
+于秀美
+于殿聖
+尹居才
+尹曉恩
+孔繁霖
+尤良
+尤星策
+尤盟貴
+尤蒔萱
+文儀詠
+方文鋒
+方志明
+方幸宜
+方俊雄
+方彥程
+方若珊
+方健剛
+方淑儒
+方策民
+方裕欽
+方慧琴
+方麗雅
+毛佩娟
+毛漢梅
+王一珍
+王上維
+王大昌
+王子熙
+王中憓
+王仁宗
+王友志
+王心忠
+王文平
+王文郁
+王文鴻
+王世宇
+王世廣
+王弘毅
+王永仁
+王玉文
+王生勳
+王光麃
+王宇清
+王有權
+王伯逸
+王孝君
+王宏嘉
+王志文
+王志峰
+王志欽
+王志銘
+王秀芬
+王育德
+王依韻
+王佩
+王坤賢
+王岡陵
+王怡文
+王怡清
+王怡蘋
+王明珊
+王欣之
+王治邦
+王金華
+王信仁
+王信裕
+王俊彥
+王俊凱
+王俊超
+王俞文
+王則勝
+王奕鈞
+王威能
+王建文
+王建雄
+王彥智
+王思潔
+王昭人
+王昱凱
+王柏堯
+王為蒨
+王盈傑
+王紀
+王美淑
+王美懿
+王英蓉
+王郁欣
+王郁珺
+王哲聰
+王悅如
+王時蔚
+王浩倫
+王素卿
+王偉州
+王健民
+王國彥
+王執信
+王崑龍
+王啟宗
+王敏銓
+王清鴻
+王淑眉
+王淑雯
+王淨瑩
+王莉汶
+王傑立
+王凱蒂
+王博文
+王富昌
+王惠玲
+王敦正
+王景泉
+王智鳴
+王朝鍵
+王琪
+王翔寧
+王菁蘭
+王逸修
+王雅伶
+王雅雯
+王雯
+王勤善
+王愛嘉
+王毓菁
+王瑞吟
+王瑞頤
+王聖
+王聖棋
+王裕正
+王詩婷
+王鉅翔
+王嘉君
+王嘉農
+王嘉齡
+王睿君
+王維如
+王翠華
+王銘梅
+王德皓
+王慧英
+王慧靜
+王儒隆
+王曉雯
+王興邦
+王錦慧
+王爵暐
+王謙維
+王禮謙
+王瓊珮
+王韻淑
+王麗芬
+王麗雯
+王耀暉
+王鐘銘
+王齡梓
+王躍霖
+王浟美
+王棨德
+王嫆棻
+王筱萱
+王薏雯
+丘真綺
+包宮維
+古玉鳳
+古明晟
+古桂菊
+古智偉
+古俶綺
+史明原
+史曜彰
+甘永裕
+甘霈霖
+田沐恩
+田芳茹
+田淑君
+田璧菀
+白大尹
+白佳渝
+白振源
+白喜文
+白榮修
+石乃如
+石育玟
+石明周
+石峻平
+石傑宇
+石錦航
+伍世揚
+伍家誼
+任才俊
+任新蘭
+向西陽
+成丹玲
+朱文碧
+朱玉汶
+朱妍如
+朱沛怡
+朱宗蔚
+朱東應
+朱俊祥
+朱建泰
+朱珍慧
+朱郁庭
+朱家欣
+朱峰誼
+朱珮儀
+朱偉傑
+朱康銘
+朱寓理
+朱雅鈴
+朱達明
+朱鳳薇
+朱靜文
+朱芮宜
+江中健
+江文瓊
+江立峰
+江呈陽
+江秀玲
+江佳霖
+江協勇
+江宗哲
+江岩達
+江昌鴻
+江明璋
+江欣容
+江長壽
+江俊興
+江建銘
+江政儒
+江玲慧
+江衍龍
+江振宇
+江純玫
+江啟仲
+江盛龍
+江智維
+江雅惠
+江嘉倫
+江寬慈
+江憶雯
+江蕾
+江媞
+牟昕
+何仁田
+何世雄
+何亙彬
+何君萍
+何育杰
+何佳融
+何其澤
+何季秦
+何宗禧
+何怡君
+何明宗
+何昇儒
+何秉欣
+何俊廷
+何冠霖
+何彥駒
+何炳賢
+何若瑜
+何峻杰
+何素君
+何敏菁
+何涵
+何惠鈺
+何雅琪
+何嘉展
+何銘宏
+何學厚
+何靜儀
+何旻霜
+余心農
+余吉祥
+余佳音
+余坪芳
+余宛儒
+余明娟
+余金典
+余俊儒
+余彥霖
+余盈鋒
+余泰男
+余婉萍
+余惠文
+余瑞萍
+余齊威
+余謝輝
+利秀蘭
+吳大維
+吳仁佑
+吳元嫈
+吳文玉
+吳文發
+吳文斌
+吳世達
+吳平和
+吳永昌
+吳玉茹
+吳立民
+吳兆文
+吳安邦
+吳行中
+吳妙倫
+吳志宏
+吳志漢
+吳沛晃
+吳秀紋
+吳育霖
+吳依蓓
+吳佳南
+吳佳容
+吳佳蓉
+吳佳穎
+吳佳鴻
+吳佩珊
+吳佩純
+吳佩諭
+吳其霖
+吳坤鴻
+吳孟宗
+吳孟娟
+吳孟憲
+吳宗岱
+吳宗隆
+吳宗翰
+吳宜芳
+吳宜穆
+吳宛縈
+吳岡儒
+吳幸真
+吳忠霖
+吳怡萍
+吳怡憲
+吳承璋
+吳昌庭
+吳明
+吳明哲
+吳明達
+吳明曄
+吳昕姿
+吳東霖
+吳欣怡
+吳欣儒
+吳治英
+吳秉勳
+吳芳瑜
+吳金玉
+吳雨哲
+吳亭誼
+吳信輝
+吳俊奇
+吳俊儀
+吳俊緯
+吳俊諺
+吳冠群
+吳品蓉
+吳姿儀
+吳宣鋒
+吳建芝
+吳建勳
+吳律銘
+吳思穎
+吳政彬
+吳政穎
+吳春緩
+吳昭龍
+吳柏儀
+吳炫宗
+吳皇欣
+吳秋美
+吳美玲
+吳美慧
+吳致銘
+吳英鴻
+吳重毅
+吳原宇
+吳家明
+吳家慧
+吳振成
+吳晏平
+吳泰昌
+吳珮禎
+吳純欣
+吳偉誠
+吳國偉
+吳堅瑋
+吳婉歆
+吳悠
+吳敏真
+吳淑如
+吳淑敏
+吳涵宜
+吳雪妮
+吳勝祺
+吳惠君
+吳斯燻
+吳犀靈
+吳詠宸
+吳鈞婷
+吳雅嵐
+吳雲驥
+吳毓真
+吳瑞哲
+吳聖威
+吳鼎偉
+吳嘉勝
+吳寧瑄
+吳福量
+吳肇騰
+吳銓友
+吳慶文
+吳慧敏
+吳賜忠
+吳曉青
+吳曉薇
+吳蕙紋
+吳錦鎰
+吳靜芳
+吳總成
+吳鴻昌
+吳豐吉
+吳韻卉
+吳馨怡
+吳佼佼
+吳昶葳
+吳瑋琳
+呂子豪
+呂文專
+呂正安
+呂自達
+呂育芳
+呂佳容
+呂佩純
+呂宗銘
+呂宜霖
+呂怡慧
+呂明泰
+呂芳俊
+呂保岸
+呂南畿
+呂建鋒
+呂昭儀
+呂秋雲
+呂英瑋
+呂格豪
+呂國培
+呂淑卿
+呂紹榮
+呂詠真
+呂雯歆
+呂嘉元
+呂銘智
+呂學叡
+呂靜蓉
+呂廳嚴
+宋心慧
+宋伯瑜
+宋佩珊
+宋昌霖
+宋奕儒
+宋禹瑩
+宋舫臣
+宋喬玉
+宋碧琳
+宋竄
+巫戎怡
+巫明翰
+巫振嘉
+巫嘉興
+李乃文
+李中任
+李仁凱
+李元裕
+李心仁
+李文志
+李文惠
+李文達
+李月星
+李世寬
+李巧琳
+李正彥
+李永昌
+李玉卿
+李立仁
+李仲玄
+李兆斌
+李如珍
+李安琳
+李羽
+李君彥
+李宏文
+李志成
+李志偉
+李沛杰
+李秀玲
+李秀蘅
+李育瑩
+李亞倫
+李依恂
+李佳芳
+李佳珍
+李佳晃
+李佳雯
+李佳儒
+李佳霖
+李佳蓁
+李佩芝
+李佩玲
+李佩儀
+李佩嬬
+李函芬
+李坤源
+李奇翰
+李孟哲
+李孟穎
+李宗坤
+李宗義
+李宗穎
+李宗鴻
+李宜洲
+李宜峻
+李宜樺
+李宛玲
+李尚賢
+李岳峰
+李幸娟
+李忠穎
+李怡玲
+李怡慧
+李怡旻
+李易修
+李昆宏
+李明利
+李明彥
+李明釗
+李明勳
+李明霞
+李昇翰
+李東龍
+李欣怡
+李欣達
+李法漢
+李玥瑩
+李芳圻
+李芝綾
+李金鈴
+李長榮
+李青陽
+李信德
+李俊宏
+李俊彥
+李俊德
+李俊賢
+李俞慧
+李冠瑩
+李南嬌
+李姿儀
+李威德
+李建民
+李建明
+李建賢
+李建興
+李彥宜
+李彥霖
+李思萱
+李思諭
+李政哲
+李政龍
+李昭美
+李昱春
+李柏蓉
+李珊珊
+李盈潔
+李秋梅
+李美玉
+李美儀
+李胤瑤
+李英志
+李貞宜
+李郁偉
+李倩
+李哲緯
+李家豪
+李容婷
+李振昌
+李晉豪
+李泰霖
+李珮琳
+李祖珍
+李訓億
+李偉愷
+李健源
+李國強
+李國維
+李基弘
+李婉瑞
+李康正
+李敏吉
+李清吟
+李淑貞
+李淑華
+李祥瑞
+李連峰
+李凱楨
+李惠芬
+李惠雯
+李智強
+李湘樺
+李詠秋
+李進福
+李雅玲
+李雅惠
+李雅燕
+李意雯
+李毓真
+李瑞華
+李聖琰
+李道林
+李嘉凌
+李嘉鴻
+李榮馳
+李福蓉
+李維楨
+李銘毓
+李廣祁
+李慶華
+李慧珠
+李賢淦
+李曉妮
+李曉菁
+李璟郁
+李蕙如
+李錦昇
+李靜怡
+李龍生
+李聰岳
+李鴻達
+李鎔阡
+李麗珠
+李馨怡
+李劭軍
+李苹慈
+李絜
+李鈺雯
+李恒君
+杜志賢
+杜宛諭
+杜芳政
+杜彥霖
+杜珮詩
+杜陽圓
+杜燕華
+沈士傑
+沈正德
+沈佑翰
+沈志龍
+沈佳慧
+沈宗慶
+沈昌明
+沈秉誼
+沈冠宏
+沈建德
+沈柏寬
+沈郁康
+沈益承
+沈晨鐘
+沈舒琳
+沈瑞欽
+沈維毓
+沈蕙君
+沈筱雲
+汪秀燕
+汪青蓉
+汪家瑩
+汪靖國
+谷泓道
+辛奕成
+邢能文
+阮信憲
+阮斐瑜
+阮鵬碩
+卓志忠
+卓芳如
+卓英哲
+卓淑媛
+卓誌隆
+周士傑
+周中興
+周文雅
+周代尉
+周玉蓮
+周吉龍
+周佑禎
+周孝芳
+周志清
+周秀晏
+周亞欣
+周佩宜
+周奇蓉
+周宜芳
+周怡伶
+周明弘
+周杰
+周玟萱
+周金燕
+周俊豪
+周威呈
+周彥岑
+周柏甫
+周秋萍
+周郁文
+周娟如
+周振凱
+周珮如
+周偉茹
+周敏鈺
+周惠蓮
+周詠訓
+周雲棠
+周煌耿
+周裕豐
+周嘉慶
+周翠芬
+周賢德
+周燕盈
+周聰宇
+周蘭芳
+周鈺翔
+季育澤
+官芳如
+尚書
+於家珍
+昌孟翰
+林上志
+林于禎
+林士力
+林士傑
+林士農
+林女滿
+林子傑
+林子勤
+林小琪
+林之菁
+林介一
+林天民
+林文中
+林文將
+林文斯
+林文德
+林木興
+林世芳
+林世淇
+林主恩
+林可鈞
+林平苑
+林正一
+林正偉
+林永昌
+林永祥
+林永晟
+林玉玲
+林玉菁
+林石隆
+林立偉
+林仰望
+林后唯
+林守德
+林百揚
+林佑珊
+林伯岳
+林伶貞
+林呈任
+林君翰
+林妙君
+林孝全
+林宏韋
+林宏儒
+林廷吉
+林志成
+林志杰
+林志皇
+林志堅
+林志豪
+林志穎
+林志鴻
+林材俊
+林灼龍
+林秀玲
+林秀真
+林秀穎
+林育民
+林育名
+林育宏
+林育進
+林育慧
+林育麟
+林谷峰
+林享燁
+林佳生
+林佳怡
+林佳盈
+林佳綺
+林佳慶
+林佳潔
+林佳樺
+林佳鴻
+林佩怡
+林佩雯
+林佩慧
+林侑青
+林協村
+林坤韋
+林奇模
+林孟萱
+林孟穎
+林季燁
+林宗慶
+林宗澤
+林宜君
+林宜聖
+林宜樺
+林宜蓁
+林宛樺
+林岱蓉
+林幸蓉
+林忠岳
+林怡汝
+林怡君
+林怡君
+林怡均
+林怡芳
+林怡萱
+林怡礽
+林於妮
+林昌賢
+林明生
+林明杰
+林明楓
+林明毅
+林明環
+林昇龍
+林杰欣
+林欣怡
+林欣慈
+林欣毅
+林欣麗
+林牧台
+林玫君
+林秉瑩
+林芳如
+林芳儀
+林芬芳
+林金仕
+林金龍
+林青志
+林亮仁
+林信宏
+林保成
+林俊佑
+林俊宏
+林俊男
+林俊逸
+林俊魁
+林俐亭
+林冠吟
+林冠儒
+林品宜
+林奕秀
+林姿吾
+林威名
+林威良
+林建一
+林建吾
+林建廷
+林建良
+林建華
+林彥文
+林彥伶
+林彥甫
+林彥興
+林恆碩
+林政良
+林政儀
+林春年
+林昭志
+林星晨
+林柑杏
+林柏村
+林柏翰
+林為文
+林玲至
+林盈君
+林祈均
+林秋惠
+林美如
+林美吟
+林美玲
+林美華
+林致君
+林英男
+林虹如
+林貞延
+林郁敏
+林郁蘭
+林韋嘉
+林倩如
+林原合
+林哲宏
+林娟如
+林家生
+林家勇
+林家聖
+林家慶
+林容仟
+林峻暉
+林庭瑋
+林振浩
+林晉全
+林晏稚
+林書楷
+林桂珠
+林泰維
+林珮如
+林益弘
+林祐禾
+林窈意
+林素華
+林耘德
+林起翎
+林偉民
+林偉德
+林國欣
+林培堯
+林婉瑜
+林康寧
+林敏裕
+林清雲
+林淑玲
+林淑娥
+林淑萍
+林淑儀
+林盛傑
+林雪萍
+林博隆
+林惠文
+林惠敏
+林惠琇
+林智能
+林期
+林湘惠
+林紫菁
+林視尊
+林逸昀
+林逸儒
+林雅君
+林雅倫
+林雅惠
+林雅華
+林雅謙
+林順安
+林嵩山
+林敬文
+林新凡
+林楠棋
+林毓超
+林煌軒
+林瑞家
+林瑞蘭
+林祺勛
+林義傑
+林群峰
+林聖恩
+林聖鈞
+林裕堅
+林詩凡
+林詩雯
+林雍翔
+林鼎植
+林嘉珍
+林嘉群
+林榮欽
+林睿暘
+林精湛
+林翠萍
+林銘煌
+林齊蔚
+林廣義
+林慧君
+林慧美
+林慧萍
+林慧麗
+林瑾蘭
+林賢得
+林學隆
+林曉君
+林曉華
+林澤義
+林穎
+林興釗
+林錦隆
+林靜宜
+林靜芬
+林懋州
+林駿逸
+林鴻達
+林豐舜
+林麗君
+林麗華
+林繼平
+林巍龍
+林芊亨
+林姝均
+林倬世
+林琮閔
+林煒鴻
+林筱菁
+林鈺凱
+林驧
+祁義國
+初若凡
+邵奕鈞
+邵懷德
+邱千綺
+邱子楓
+邱天宏
+邱文鴻
+邱幼媚
+邱玉玲
+邱安台
+邱志光
+邱秀英
+邱佳松
+邱延齡
+邱昌裕
+邱泓彰
+邱信益
+邱俊榮
+邱品華
+邱奕睿
+邱建誠
+邱政湧
+邱柏瑜
+邱盈棠
+邱致穎
+邱重憲
+邱振峰
+邱珮綺
+邱國恭
+邱婉嬅
+邱清龍
+邱淑慧
+邱創儉
+邱惠詩
+邱湘雲
+邱雅芬
+邱雅茜
+邱毓玲
+邱盟琇
+邱詩琁
+邱嘉慧
+邱韶瑩
+邱慧婷
+邱靜宜
+邱豐祥
+邱韻寧
+邱繼瑩
+邱顯桓
+邱琬淑
+邱鈺斐
+金明輝
+金勤
+侯文哲
+侯宏昌
+侯岳宏
+侯信宇
+侯柏青
+侯淵銘
+侯雅雯
+侯靜汝
+俞佳凡
+俞芊薈
+姜宏榮
+姜芝怡
+姜凱傑
+姜增炫
+姜旻姍
+姚立三
+姚佳慧
+姚威宇
+姚凱文
+姚德麟
+律振揚
+施可隆
+施宇駿
+施孝德
+施育瑜
+施佩華
+施宛直
+施明妍
+施俊名
+施建宇
+施柏如
+施郁蕙
+施敏男
+施博元
+施智勇
+施雅娟
+施嘉琪
+施慧君
+施靜怡
+施瑋瑜
+柯文祥
+柯全益
+柯志明
+柯佩君
+柯宛君
+柯欣儀
+柯俊隆
+柯盈如
+柯敏盛
+柯博元
+柯棋棣
+柯毓萍
+柯鳳儀
+柯瓊鎣
+柳佩君
+柳棋元
+段明宏
+洪力壹
+洪士育
+洪子婷
+洪文明
+洪世嘉
+洪永昌
+洪玉蒨
+洪名衡
+洪君祥
+洪志明
+洪村銘
+洪良欣
+洪坤錡
+洪宜良
+洪怡真
+洪明龍
+洪俊雄
+洪政霈
+洪美萍
+洪重卿
+洪振益
+洪珮芳
+洪偉哲
+洪曼珊
+洪國翔
+洪婉紋
+洪御彗
+洪清健
+洪淑淩
+洪雪芳
+洪惠棋
+洪菁隆
+洪雅苓
+洪慈伶
+洪煌凱
+洪瑞鴻
+洪萱鋒
+洪靖凱
+洪嘉蓮
+洪榮輝
+洪綺
+洪肇彥
+洪銘鍾
+洪慶銘
+洪瑩珍
+洪靜怡
+洪藝菁
+洪繼賢
+洪晢惇
+洪鈺櫻
+紀文欽
+紀志霖
+紀怡婷
+紀盈州
+紀博敏
+紀順興
+紀蘭潔
+胡文瑜
+胡玉慧
+胡廷威
+胡定宇
+胡芳慈
+胡玲婉
+胡家榮
+胡純菁
+胡淑君
+胡博硯
+胡智銘
+胡雅智
+胡瑞洙
+胡碧媜
+胡靜苑
+胡懿心
+范文政
+范吉慶
+范明中
+范姜慧怡
+范家誠
+范耕魁
+范博彰
+范智欽
+范瑞祥
+范綱賢
+范耀聰
+計竹宇
+韋桂仁
+倪威遠
+倪瑞期
+凌明德
+唐千惠
+唐邦泰
+唐英娜
+唐淑芬
+唐義堯
+唐譽玫
+夏春香
+夏慧齡
+孫元俊
+孫永信
+孫伯中
+孫協裕
+孫建崴
+孫振涼
+孫國書
+孫淑芬
+孫傳凱
+孫道隆
+孫豪志
+孫學儀
+孫瑀
+徐乙可
+徐士勛
+徐仁乾
+徐文益
+徐仕泓
+徐永光
+徐立達
+徐如昇
+徐克鈞
+徐志偉
+徐育慈
+徐佩錦
+徐昆羿
+徐松鴻
+徐信中
+徐思維
+徐美華
+徐家楷
+徐浚傑
+徐偉峻
+徐國倫
+徐婉儀
+徐敏芳
+徐淑娟
+徐莉真
+徐掌瑛
+徐詠媛
+徐順宏
+徐瑞恭
+徐裕彬
+徐嘉宏
+徐夢麟
+徐維揚
+徐銘謙
+徐慧心
+徐震東
+徐鴻仁
+徐繼政
+徐菡禧
+徐鈺綾
+柴學舜
+殷肇陽
+祖曉鳳
+秦梓銘
+翁于琪
+翁文茹
+翁仲賢
+翁育稔
+翁明安
+翁柏聖
+翁珮怡
+翁崇庭
+翁淑華
+翁逸軒
+翁義宗
+翁夢君
+翁銘遜
+翁靜瑜
+翁靚晏
+袁如岡
+袁偉倫
+袁榮燦
+馬一文
+馬玉娟
+馬佳伶
+馬英傑
+馬智君
+馬緒川
+高一銘
+高小文
+高世昌
+高正國
+高伊俊
+高宏銘
+高秀鈴
+高妮瑋
+高明
+高咸實
+高美芳
+高峰
+高健
+高培真
+高敏娉
+高笙輔
+高琪舒
+高雅腹
+高照閔
+高詩娉
+高彰隆
+高翠翎
+高銘琇
+高慧萍
+高譜倫
+高斌鑫
+商弘易
+崔倩苓
+康乃月
+康攸華
+康美玲
+康傑民
+康雅婷
+康曉蕙
+張一鴻
+張力夫
+張千里
+張小萍
+張仁杰
+張元隆
+張天鳳
+張心瑜
+張文彥
+張文欽
+張文豪
+張文騰
+張世明
+張世儒
+張仕育
+張可欣
+張弘泰
+張正忠
+張正衛
+張永俊
+張玄鴻
+張玉琪
+張立文
+張亦寧
+張光仁
+張匡杰
+張如瑩
+張旭宗
+張至睿
+張佑群
+張克偉
+張妙慧
+張宏瑞
+張志
+張志明
+張志祥
+張志達
+張志豪
+張沅璽
+張秀琪
+張育崧
+張育誠
+張育瑋
+張亞銜
+張佳惠
+張佩瑛
+張孟婷
+張宜新
+張念慈
+張昆煌
+張明照
+張林芬
+張治國
+張芝友
+張金鳳
+張俊偉
+張冠華
+張建豪
+張恆瑋
+張柔明
+張界聰
+張紀君
+張美雯
+張茂醒
+張香璽
+張倫瑋
+張哲健
+張哲維
+張家振
+張家菱
+張家群
+張家綺
+張家豪
+張家銘
+張家瑋
+張峻嘉
+張庭源
+張振源
+張晉豪
+張書維
+張書馨
+張桂鳳
+張珮怡
+張益維
+張秦芸
+張純益
+張耿崚
+張高瑞
+張健良
+張國媛
+張婉暄
+張惟捷
+張梅君
+張清凱
+張淑珍
+張淑茹
+張淑雅
+張淵富
+張莉茹
+張凱宇
+張凱琳
+張勝傑
+張博勛
+張喬翔
+張富淳
+張惠娟
+張惠菁
+張敦義
+張景渾
+張智清
+張智翔
+張智謙
+張湘怡
+張登翔
+張紫鈴
+張舜華
+張証荃
+張逸群
+張鈞貽
+張雅姍
+張雅敏
+張雅婷
+張雅惠
+張雅琴
+張雅鈴
+張雯儀
+張嗣文
+張新宏
+張毓倫
+張瑚珊
+張瑞芸
+張瑞氶
+張祺昇
+張聖莉
+張詩怡
+張靖怡
+張嘉正
+張嘉芬
+張嘉晉
+張嘉惠
+張嘉聲
+張榕容
+張睿穎
+張碩桓
+張綵芳
+張維哲
+張翠文
+張蓓萱
+張銘宗
+張鳳平
+張慶怡
+張慧娟
+張瑩珊
+張憶君
+張曉菁
+張翰文
+張靜如
+張環伊
+張鴻智
+張簡欣華
+張豐璸
+張瓊文
+張藝馨
+張寶云
+張耀云
+張耀聲
+張馨文
+張巍耀
+張芃
+張琇閔
+張琬菁
+張瑋芸
+張筱雯
+張禕倫
+張恒中
+曹士敏
+曹聿男
+曹昌男
+曹哲嘉
+曹淑媛
+曹皓雲
+曹嘉文
+曹璽穠
+梁文安
+梁正忠
+梁汝舜
+梁志銘
+梁東林
+梁彥豪
+梁家明
+梁晉魁
+梁啟玄
+梁勝銘
+梁朝凱
+梁愷芸
+梁嘉珍
+梁慧華
+梁瓊丹
+梅光宇
+盛心
+莫星宇
+莊士國
+莊文昭
+莊弘任
+莊玉麟
+莊志榮
+莊依婷
+莊坤哲
+莊宗勳
+莊怡軒
+莊東明
+莊金靜
+莊政憲
+莊倉杰
+莊峻榕
+莊純純
+莊培鑫
+莊淑芬
+莊淑珺
+莊勝利
+莊復貴
+莊惠蓉
+莊智涵
+莊登發
+莊雅心
+莊雅惠
+莊雯雯
+莊裕文
+莊銘景
+莊樹宏
+莊靜怡
+莊鎔璞
+莊懿強
+莊筱婷
+許又仁
+許壬耀
+許文厚
+許文豪
+許世民
+許加宏
+許正忠
+許永毅
+許玉嬋
+許名世
+許汎穎
+許克仲
+許宏德
+許志崇
+許志遠
+許秀珊
+許良
+許佳雯
+許孟翔
+許怡珮
+許松等
+許芳銘
+許信榮
+許恬綾
+許珊瑜
+許美華
+許郁敏
+許哲瑞
+許哲瑋
+許家暘
+許家豪
+許峻哲
+許庭瑋
+許晉熒
+許書銓
+許珮嘉
+許素菁
+許財得
+許婉茹
+許梅菁
+許淑芬
+許淑惠
+許莉莉
+許勝勛
+許堡如
+許惠如
+許惠雯
+許景鈞
+許智凱
+許智德
+許竣能
+許華倚
+許逸章
+許雅玲
+許雅惠
+許雅雁
+許雯琳
+許楨祥
+許瑞
+許瑞儀
+許聖杰
+許嘉元
+許嘉珮
+許榕
+許碩修
+許維真
+許銘仁
+許閣文
+許慧貞
+許憶芳
+許錦文
+許嶸仁
+許瓊文
+許麗華
+許馨仁
+許昶華
+許筱萍
+許恒達
+連佑仁
+連建智
+連桂宏
+連啟智
+連嘉純
+郭乃榮
+郭于禎
+郭子立
+郭仁哲
+郭文惠
+郭世蘭
+郭永明
+郭仲淵
+郭年真
+郭君怡
+郭志宏
+郭育先
+郭邦彥
+郭佳鑫
+郭孟蓉
+郭怡伶
+郭怡秀
+郭明宗
+郭明瑋
+郭玥妦
+郭芝睿
+郭保君
+郭俊億
+郭品秀
+郭威志
+郭建良
+郭思宜
+郭昭安
+郭柏秀
+郭盈君
+郭美善
+郭貞孍
+郭凌志
+郭家祥
+郭宸昀
+郭振漢
+郭桂鳳
+郭素綾
+郭國正
+郭添新
+郭淑慧
+郭惠青
+郭智瑋
+郭進昌
+郭雅菱
+郭瑞欽
+郭嘉偉
+郭碧娟
+郭慶生
+郭儒謙
+郭燕玲
+郭靜美
+郭鎮元
+郭獻文
+郭籠慶
+郭暐
+陳一華
+陳乃榮
+陳又昕
+陳千錦
+陳子彥
+陳己升
+陳仁宗
+陳元靖
+陳天賞
+陳心潔
+陳文忠
+陳文涓
+陳文欽
+陳文德
+陳文鈺
+陳世宗
+陳世政
+陳世章
+陳世澤
+陳以靜
+陳仕叡
+陳可欣
+陳巧珊
+陳幼欣
+陳弘訓
+陳札培
+陳正峰
+陳正豪
+陳永
+陳永青
+陳永誌
+陳玉文
+陳玉芬
+陳玉珠
+陳玉菁
+陳玉璘
+陳石育
+陳立倫
+陳立維
+陳伊倫
+陳光甫
+陳向榮
+陳如蘋
+陳安佑
+陳江立
+陳至凱
+陳佑庭
+陳伯蒼
+陳君航
+陳均碩
+陳妍秀
+陳宏仁
+陳宏美
+陳宏達
+陳宏煒
+陳志平
+陳志沛
+陳志明
+陳志彥
+陳志祥
+陳志源
+陳志維
+陳志豪
+陳志穎
+陳攸婷
+陳汶津
+陳秀芝
+陳秀惠
+陳秀慧
+陳育佐
+陳育詩
+陳良政
+陳酉茹
+陳依翔
+陳佳吟
+陳佳玥
+陳佳惠
+陳佳雯
+陳佳璘
+陳侃婷
+陳佩佩
+陳佩琳
+陳其鈞
+陳坤佐
+陳委承
+陳孟偉
+陳孟輝
+陳宗志
+陳宗旗
+陳宜平
+陳宜姿
+陳宜璋
+陳尚文
+陳幸足
+陳忠良
+陳怡文
+陳怡如
+陳怡如
+陳怡竹
+陳怡伶
+陳怡君
+陳怡君
+陳怡君
+陳怡昌
+陳怡真
+陳怡琴
+陳怡誠
+陳怡潔
+陳怡靜
+陳怡叡
+陳昌文
+陳明正
+陳明材
+陳明珠
+陳明楷
+陳明豐
+陳東華
+陳欣如
+陳欣怡
+陳欣蘭
+陳泓翔
+陳泊辰
+陳玟瑛
+陳玫臻
+陳秉斌
+陳芝倩
+陳金良
+陳長慶
+陳亭君
+陳亮穎
+陳信吟
+陳信甫
+陳信裕
+陳保元
+陳俊仰
+陳俊宇
+陳俊旭
+陳俊宏
+陳俊廷
+陳俊良
+陳俊郎
+陳俊華
+陳俊榕
+陳俊銘
+陳俊樺
+陳俐安
+陳俞仲
+陳冠夫
+陳冠宇
+陳冠宏
+陳冠傑
+陳冠銘
+陳勇在
+陳勁吾
+陳品先
+陳奕中
+陳奕廷
+陳奕穎
+陳姿文
+陳姿吟
+陳姿穎
+陳威全
+陳威助
+陳威邑
+陳威儒
+陳宣每
+陳帥名
+陳建任
+陳建安
+陳建旭
+陳建宏
+陳建廷
+陳建甫
+陳建邦
+陳建揚
+陳建達
+陳建輔
+陳建璋
+陳建烜
+陳彥任
+陳彥帆
+陳彥君
+陳彥廷
+陳彥昌
+陳彥綸
+陳彥勳
+陳思年
+陳思源
+陳思穎
+陳政文
+陳政裕
+陳春妃
+陳昭文
+陳昭偉
+陳昭瑋
+陳映儒
+陳昱丞
+陳昱甫
+陳柔安
+陳柏份
+陳柏年
+陳柏志
+陳柏峰
+陳柏寧
+陳柏輯
+陳炫君
+陳炳錕
+陳珍瑩
+陳盈全
+陳盈安
+陳盈孜
+陳盈婷
+陳盈璇
+陳禹齊
+陳秋帆
+陳秋萍
+陳紀足
+陳美如
+陳美君
+陳美芝
+陳美純
+陳美琴
+陳美慧
+陳羿谷
+陳致福
+陳茂雄
+陳英傑
+陳虹曲
+陳衍至
+陳貞妤
+陳郁文
+陳郁菁
+陳重廷
+陳韋伶
+陳音
+陳香吟
+陳倖翠
+陳哲強
+陳家珍
+陳家雯
+陳家慧
+陳容萱
+陳振東
+陳時盟
+陳桂玉
+陳泰峰
+陳浩茹
+陳珮珮
+陳益裕
+陳素娥
+陳耘寬
+陳乾淦
+陳偉莉
+陳健霖
+陳國峰
+陳國榮
+陳培端
+陳婉菁
+陳崑銘
+陳啟存
+陳敏新
+陳清奇
+陳淑君
+陳淑芬
+陳淑娟
+陳淑羚
+陳淑雅
+陳淑靜
+陳紹庭
+陳許民
+陳傑裕
+陳勝嘉
+陳婷玟
+陳惠文
+陳惠玲
+陳惠萍
+陳惠齡
+陳景泰
+陳智偉
+陳朝熙
+陳湘琴
+陳琦琳
+陳肅權
+陳詠亮
+陳逸平
+陳逸菁
+陳進隆
+陳隆斌
+陳雅芬
+陳雅苓
+陳雅惠
+陳雅琴
+陳雅雯
+陳雅韻
+陳順發
+陳意雯
+陳敬文
+陳榆涵
+陳毓鈞
+陳照慈
+陳瑞利
+陳瑞瑜
+陳瑜詩
+陳義忠
+陳聖宜
+陳蜂灝
+陳裕智
+陳詩婷
+陳運徵
+陳鼎仁
+陳嘉宏
+陳嘉峰
+陳嘉雁
+陳嘉瑩
+陳旗昌
+陳榮燿
+陳碧紅
+陳福林
+陳維哲
+陳肇鴻
+陳銘泉
+陳銘耀
+陳儀
+陳廣麟
+陳德遠
+陳慶華
+陳慶鴻
+陳慧芝
+陳慧美
+陳慧純
+陳慧雯
+陳慕儒
+陳潔音
+陳瑩瑄
+陳誼芳
+陳黎桂
+陳憲儀
+陳曉青
+陳曉筠
+陳樹年
+陳燕菁
+陳穎祥
+陳蕙芳
+陳錦秀
+陳錦鴻
+陳靜怡
+陳靜淑
+陳靜慧
+陳龍寬
+陳薇
+陳駿揚
+陳鴻清
+陳璿如
+陳瓊淇
+陳贊中
+陳韻如
+陳韻竹
+陳麒元
+陳麗如
+陳麗芬
+陳麗婷
+陳寶玉
+陳耀笙
+陳櫻容
+陳艷鈴
+陳旻政
+陳姵如
+陳昶昱
+陳堜
+陳琬菁
+陳瑋典
+陳筱芳
+陳鈺玫
+陳銚茹
+陳瀅如
+陳嬿伶
+陸正義
+陸津華
+陸鳳玲
+章文芝
+章翔
+麥盧寶全
+傅文進
+傅亞凡
+傅建國
+傅珮淇
+傅淑雯
+傅鉛文
+傅琮
+喬宗堯
+彭仁志
+彭文慧
+彭玉華
+彭成傑
+彭佳偉
+彭朋雍
+彭俊福
+彭建榮
+彭若慈
+彭浩倫
+彭崇信
+彭盛
+彭滋萍
+彭雅絹
+彭聖萍
+彭慧如
+彭錦炫
+彭馨慧
+景雨秋
+曾士軒
+曾小玲
+曾孔鈺
+曾文彬
+曾令瑜
+曾玉如
+曾仲盟
+曾羽嶺
+曾志傑
+曾育菁
+曾季歆
+曾承志
+曾芝蘭
+曾俊智
+曾冠樺
+曾建和
+曾建霖
+曾思維
+曾映齡
+曾秋敏
+曾美齡
+曾郁穎
+曾珮琳
+曾偉翔
+曾國書
+曾婉惠
+曾淑芳
+曾涵副
+曾凱悌
+曾惠玲
+曾智祺
+曾華齡
+曾雅青
+曾意文
+曾溥元
+曾瑛琳
+曾裕凱
+曾嘉英
+曾維群
+曾慶瑄
+曾憲忠
+曾繁青
+曾瓊慧
+曾寶磁
+曾馨儀
+曾暐清
+曾瞍
+游大緯
+游世斌
+游兆君
+游李雄
+游佩勳
+游昌翰
+游青霏
+游秋怡
+游家豪
+游婉青
+游淑惠
+游喬智
+游智超
+游進富
+游雅筠
+游榮華
+游錫宗
+游獻群
+湯一珊
+湯志忠
+湯家豪
+湯富棋
+湯慶錚
+程之寧
+程尚則
+程建翰
+程偉政
+程雅惠
+程瓊萱
+童弘
+童美滿
+童韻如
+華國鋒
+賀厚平
+辜信福
+閔任遠
+須上苑
+馮永瀅
+馮長龍
+馮彩娟
+馮瑞陽
+馮耀文
+黃力言
+黃于芬
+黃于真
+黃千凌
+黃士原
+黃士嘉
+黃大倫
+黃子卿
+黃小娟
+黃中偉
+黃仁良
+黃元隆
+黃天健
+黃心怡
+黃心姮
+黃文怡
+黃文玲
+黃文隆
+黃文璋
+黃月瑾
+黃世朋
+黃世嘉
+黃以喬
+黃巧婷
+黃弘毅
+黃正佩
+黃永仁
+黃永漢
+黃玉雨
+黃玉菁
+黃立芬
+黃亦萱
+黃任延
+黃兆敏
+黃夙慧
+黃宇廷
+黃旭弘
+黃聿君
+黃伯年
+黃妙芬
+黃宏進
+黃志成
+黃志強
+黃志嘉
+黃志龍
+黃秀容
+黃育信
+黃依文
+黃佳媛
+黃佩俐
+黃坤德
+黃宗基
+黃幸儀
+黃怡珊
+黃怡菁
+黃怡維
+黃明志
+黃明瑞
+黃東海
+黃欣愉
+黃玟瑾
+黃芷雲
+黃長澤
+黃信捷
+黃信彰
+黃信斌
+黃俊哲
+黃俊傑
+黃俊舜
+黃俊嘉
+黃俊賢
+黃俞斐
+黃冠雅
+黃勇慧
+黃品毅
+黃姿綾
+黃宣凱
+黃建文
+黃建程
+黃建彰
+黃建勳
+黃彥太
+黃彥瑜
+黃彥斌
+黃思賢
+黃政揚
+黃昭智
+黃昱中
+黃柏元
+黃柏翔
+黃柏翰
+黃炳憲
+黃盈惠
+黃秋萍
+黃美玉
+黃美羚
+黃美蓉
+黃若薇
+黃英傑
+黃貞穎
+黃郁珊
+黃郁雯
+黃韋琪
+黃倉彥
+黃家隆
+黃庭鈺
+黃振誠
+黃書鈺
+黃浩鈞
+黃珮舒
+黃祖賢
+黃能豐
+黃偉峰
+黃偉銘
+黃健溢
+黃國芳
+黃國軒
+黃國裕
+黃國鐘
+黃婉貞
+黃崇訓
+黃彩銘
+黃啟修
+黃敏修
+黃梅玲
+黃清麟
+黃淑玲
+黃淑梅
+黃淑華
+黃淑靜
+黃祥斌
+黃莉娟
+黃途巖
+黃凱威
+黃勝裕
+黃堯偉
+黃富詳
+黃惠芬
+黃惠琴
+黃惠霞
+黃景裕
+黃智康
+黃朝琴
+黃湘巧
+黃琪婷
+黃竣南
+黃舒彥
+黃菊英
+黃逸
+黃閔農
+黃雅津
+黃雅淑
+黃雅琪
+黃雅萱
+黃雅齡
+黃順吉
+黃意超
+黃敬斌
+黃榆婷
+黃源璋
+黃瑞伶
+黃瑞陽
+黃盟凱
+黃義君
+黃聖哲
+黃聖鴻
+黃裕盛
+黃詩芸
+黃詩雯
+黃鈴琪
+黃靖惠
+黃嘉勇
+黃嘉萱
+黃榮順
+黃睿伸
+黃維智
+黃銘偉
+黃儀君
+黃慶華
+黃慧茹
+黃澄偉
+黃震宇
+黃曉佩
+黃燕娥
+黃錚暉
+黃靜宜
+黃應璿
+黃駿達
+黃薰瑩
+黃瀚德
+黃瓊儀
+黃瓊誼
+黃韻如
+黃麗妃
+黃麗蓉
+黃寶儀
+黃繼增
+黃耀瑩
+黃鐘葦
+黃馨慧
+黃齡萱
+黃艷玉
+黃昶斌
+黃翊宸
+黃琬君
+黃菀鈴
+黃瑋寧
+黃筱雁
+黃鈺婷
+黃鉦閔
+黃謵說
+塗時雨
+楊三賢
+楊士弘
+楊士賢
+楊子毅
+楊之慧
+楊允中
+楊文宏
+楊文瑞
+楊世凱
+楊可歆
+楊正彬
+楊玉鼎
+楊仲民
+楊守城
+楊伶慧
+楊志能
+楊志雍
+楊秀珠
+楊育儒
+楊佳菁
+楊佩珊
+楊坤英
+楊孟蓉
+楊宗堯
+楊宗翰
+楊宜璋
+楊岱儒
+楊怡芳
+楊承熹
+楊昆霖
+楊明寰
+楊東敏
+楊欣珮
+楊秉順
+楊長潔
+楊俊輝
+楊思雋
+楊昭輝
+楊紀芸
+楊美藝
+楊哲安
+楊家銘
+楊振宗
+楊書豪
+楊珮琦
+楊虔雅
+楊健國
+楊培恩
+楊惟白
+楊淳硯
+楊淑佳
+楊淑敏
+楊淑慧
+楊盛斌
+楊凱仲
+楊勝宇
+楊博欽
+楊婷鈞
+楊循婷
+楊惠婷
+楊斯凱
+楊景雯
+楊智傑
+楊智鈞
+楊森發
+楊皓瑋
+楊舒帆
+楊菁芬
+楊貴媛
+楊閔翔
+楊雅倫
+楊雅嵐
+楊雅翔
+楊雅雲
+楊雲翔
+楊煥章
+楊裕
+楊嘉玲
+楊槐駒
+楊趙銘
+楊慶隆
+楊璋
+楊曉菁
+楊蕙芳
+楊靜如
+楊戴州
+楊礎遠
+楊豐銘
+楊瓊華
+楊曦琳
+楊琇如
+楊琬婷
+楊鎧伊
+溫至任
+溫承翰
+溫若婷
+溫培青
+溫雅清
+溫曉華
+萬佳昕
+萬曉明
+葉又嘉
+葉大葦
+葉天將
+葉代權
+葉亦盛
+葉如雯
+葉宏傑
+葉秀梅
+葉佳欣
+葉佩真
+葉宗智
+葉怡君
+葉昌倫
+葉明鑫
+葉玟君
+葉長青
+葉俊宏
+葉俞杉
+葉建君
+葉思儀
+葉昱志
+葉秋月
+葉郁菁
+葉家宇
+葉峻賓
+葉書瑋
+葉耿齊
+葉張建
+葉淑鈴
+葉惠禎
+葉詠晴
+葉雅雯
+葉義松
+葉銘昌
+葉潔恩
+葉蕙芳
+葉駿逸
+葉騰遠
+葉琤怡
+葛倩如
+董巧玲
+董怡君
+董彥宏
+董振雄
+董慧美
+裘元愷
+詹子民
+詹世傑
+詹宏彬
+詹佳振
+詹孟晃
+詹忠榮
+詹青艷
+詹美珍
+詹浚昇
+詹茗芸
+詹淑萍
+詹勝欽
+詹景堯
+詹証富
+詹雅閔
+詹嘉璿
+詹穎萍
+詹玓瑋
+賈治國
+鄒一仲
+鄒李昌
+鄒金德
+鄒新全
+雍敦元
+雷雅菁
+廖于文
+廖大樟
+廖元利
+廖文評
+廖月觀
+廖正偉
+廖丞晞
+廖含潔
+廖志偉
+廖育良
+廖佩如
+廖怡玲
+廖明儀
+廖芝堅
+廖俊欽
+廖姿毓
+廖彥凱
+廖昱樹
+廖美玲
+廖英男
+廖述茂
+廖卿惠
+廖家瑩
+廖恩慈
+廖書珮
+廖珮玫
+廖素卿
+廖偉成
+廖偉鴻
+廖國勛
+廖培瑜
+廖寄萍
+廖惇治
+廖梓茜
+廖淑惠
+廖貫珮
+廖惠娟
+廖進平
+廖楷文
+廖嗾
+廖銘仁
+廖瑩璇
+廖錦瑜
+廖麒閔
+廖斌傑
+熊立新
+熊崇緯
+管幼仲
+臺文照
+裴偉程
+褚家德
+趙仁佑
+趙文忠
+趙必昌
+趙君杰
+趙佩芬
+趙明輝
+趙品彥
+趙炫勛
+趙家良
+趙桂青
+趙偉廷
+趙培霖
+趙皎君
+趙鈞志
+趙廣元
+趙雙駿
+鄞豪輝
+劉乃萱
+劉力豪
+劉千瑜
+劉大榮
+劉子頎
+劉仁正
+劉心儀
+劉文勝
+劉日順
+劉世慶
+劉正河
+劉玉文
+劉玉琇
+劉仲涵
+劉全彬
+劉如薰
+劉旭芬
+劉君祺
+劉廷楷
+劉志源
+劉秀郁
+劉育宗
+劉育穎
+劉亞芸
+劉佳芳
+劉佳達
+劉佩青
+劉坤穎
+劉宗怡
+劉宜昆
+劉岡陵
+劉怡伶
+劉怡和
+劉怡靜
+劉昌誠
+劉明哲
+劉果珍
+劉欣茹
+劉玫寧
+劉芳蘭
+劉金鳳
+劉信良
+劉俊廷
+劉俊巖
+劉冠良
+劉品宜
+劉姿吟
+劉建宏
+劉建良
+劉建町
+劉彥博
+劉恪人
+劉映秀
+劉柏麟
+劉盈如
+劉秋成
+劉美侖
+劉羿汝
+劉軍毅
+劉修明
+劉哲瑋
+劉家昇
+劉家鳳
+劉峻伶
+劉振中
+劉書宏
+劉浚銘
+劉益禎
+劉純杏
+劉偉誠
+劉國龍
+劉康楝
+劉敏琪
+劉淑莉
+劉祥民
+劉博文
+劉揚銘
+劉朝蓮
+劉舒慈
+劉閔結
+劉雅萍
+劉勤經
+劉源倫
+劉經綸
+劉嘉育
+劉嘉樺
+劉熙慧
+劉肇鵬
+劉德正
+劉慧玲
+劉瑩娟
+劉曉芬
+劉樹蕙
+劉穎蒨
+劉錦堂
+劉龍山
+劉鴻霖
+劉瀚陽
+劉寶婷
+劉懿慧
+劉姵嘉
+劉瑋玲
+厲斌中
+歐士源
+歐志盈
+歐怡秀
+歐建民
+歐娉妦
+歐逸青
+歐陽惠如
+歐穎君
+潘允仁
+潘玉惠
+潘宏宗
+潘佩君
+潘怡君
+潘玟樺
+潘冠宏
+潘建成
+潘政緯
+潘美玲
+潘能哲
+潘惠娟
+潘瑞香
+潘儀恬
+潘鴻銘
+潘鈺柔
+蔣中衍
+蔣沆祥
+蔣宜靜
+蔣長旻
+蔣淑慧
+蔣濱州
+蔡士旺
+蔡仁偉
+蔡天祺
+蔡文博
+蔡文鴻
+蔡世鴻
+蔡正宗
+蔡玉秋
+蔡亦雯
+蔡名書
+蔡旭曜
+蔡伯鴻
+蔡宏培
+蔡志明
+蔡志鴻
+蔡汶鴻
+蔡育正
+蔡育勳
+蔡依容
+蔡佳宏
+蔡佳芬
+蔡佳容
+蔡佳蓉
+蔡佳霖
+蔡佩君
+蔡佩珊
+蔡佩娥
+蔡佩穎
+蔡其珮
+蔡坤雄
+蔡奇霖
+蔡孟芳
+蔡孟真
+蔡孟諭
+蔡宗志
+蔡宗達
+蔡宗翰
+蔡宜廷
+蔡宜倩
+蔡宜霖
+蔡尚岳
+蔡岳書
+蔡幸淳
+蔡忠穎
+蔡承璋
+蔡易陞
+蔡昌儒
+蔡明汎
+蔡明芳
+蔡明峰
+蔡明蒲
+蔡明龍
+蔡昇穎
+蔡杰志
+蔡欣怡
+蔡武諺
+蔡秉昆
+蔡芳洵
+蔡金龍
+蔡信良
+蔡品儀
+蔡思捷
+蔡政哲
+蔡政龍
+蔡玲津
+蔡美芝
+蔡郁君
+蔡娟娟
+蔡悅玟
+蔡珮怡
+蔡偉杰
+蔡培譯
+蔡添文
+蔡淑玲
+蔡淑薇
+蔡勝雄
+蔡富貴
+蔡惠燕
+蔡智暐
+蔡舒宇
+蔡逸珊
+蔡雅芬
+蔡雅菁
+蔡傳德
+蔡瑞文
+蔡裕健
+蔡嘉恆
+蔡榮昌
+蔡碧容
+蔡裴伶
+蔡銘賢
+蔡慧民
+蔡賢皇
+蔡曉然
+蔡翰熊
+蔡靜宜
+蔡鴻民
+蔡豐文
+蔡鵑彌
+蔡麗惠
+蔡馨儀
+蔡旻憲
+蔡瑋竑
+鄭一凡
+鄭力仁
+鄭子見
+鄭仁富
+鄭心如
+鄭文富
+鄭世昌
+鄭巧青
+鄭玉伶
+鄭立享
+鄭仲宏
+鄭光淳
+鄭吏孜
+鄭如欣
+鄭宇淨
+鄭成棠
+鄭百婷
+鄭伯南
+鄭志功
+鄭秀娟
+鄭貝如
+鄭佳儀
+鄭孟玲
+鄭怡君
+鄭明忠
+鄭欣榮
+鄭俊宏
+鄭彥達
+鄭美玉
+鄭迪允
+鄭振宜
+鄭祐阡
+鄭偉珊
+鄭培聰
+鄭梅君
+鄭淑米
+鄭淑燕
+鄭莉雯
+鄭凱文
+鄭勝旭
+鄭喬銘
+鄭惠文
+鄭惠霜
+鄭景文
+鄭智元
+鄭朝營
+鄭皓云
+鄭翔龍
+鄭詔謙
+鄭雅友
+鄭雅芬
+鄭雅甄
+鄭意中
+鄭瑜琳
+鄭裕年
+鄭嘉揚
+鄭肇心
+鄭慶哲
+鄭蔚蟬
+鄭曉薇
+鄭靜芳
+鄭鴻源
+鄭獻文
+鄭埵
+鄭靋
+鄧永忠
+鄧旭敦
+鄧明芳
+鄧振英
+鄧博仁
+鄧翔仁
+鄧福隆
+鄧劦呈
+黎世廉
+黎俐均
+黎銘仁
+盧仁杰
+盧弘海
+盧吉勇
+盧育聖
+盧定均
+盧怡涵
+盧雨涵
+盧俊儒
+盧威霖
+盧思源
+盧美如
+盧家鈺
+盧淑麗
+盧愷莉
+盧慧宜
+盧龍生
+盧筱瑩
+蕭尹貞
+蕭文筆
+蕭以亮
+蕭玉貞
+蕭兆琳
+蕭如珊
+蕭有宏
+蕭宏裕
+蕭育隆
+蕭季薇
+蕭昆廷
+蕭青萍
+蕭美娟
+蕭振安
+蕭國正
+蕭清燕
+蕭雪吟
+蕭博仰
+蕭惠芳
+蕭智梅
+蕭詠方
+蕭雅文
+蕭愛玲
+蕭詩璇
+蕭維倩
+蕭慧怡
+蕭靜宜
+蕭鶴軒
+賴乃頌
+賴天鴻
+賴世維
+賴正野
+賴玉霜
+賴旭彥
+賴廷禹
+賴志綱
+賴育廷
+賴佳欣
+賴孟華
+賴居正
+賴怡君
+賴明宏
+賴欣宜
+賴芳延
+賴信誠
+賴俊達
+賴勇志
+賴威均
+賴建佑
+賴彥佐
+賴思霖
+賴昭龍
+賴柏龍
+賴紅霞
+賴茂廷
+賴郁雯
+賴浩豐
+賴國恩
+賴淑怡
+賴莉雯
+賴貴義
+賴順振
+賴葦帆
+賴榮璉
+賴慶銘
+賴鋒
+賴錦億
+賴麗
+賴柊棋
+遲尚權
+錢欣宜
+錢德俊
+霍莘瑜
+駱芳梧
+駱嘉慶
+龍星兆
+戴乙菁
+戴文雄
+戴全利
+戴宏丞
+戴佳平
+戴明珠
+戴振遠
+戴莉
+戴傳家
+戴嘉宏
+戴賢祥
+戴薏珊
+薛丹桂
+薛光程
+薛依蒨
+薛奕龍
+薛偉伯
+薛景文
+薛瑞珍
+薛儒霙
+謝于櫻
+謝心雅
+謝文瑜
+謝弘亮
+謝玉珠
+謝如鴻
+謝佐宜
+謝宏忠
+謝志明
+謝扶錦
+謝育娟
+謝依倫
+謝佳倩
+謝佳穎
+謝佩芳
+謝佩真
+謝周熾
+謝孟芸
+謝孟芩
+謝宗賢
+謝宜芳
+謝宜臻
+謝尚儒
+謝怡婷
+謝易霖
+謝明宏
+謝明倫
+謝明憲
+謝昇哲
+謝松憲
+謝欣釗
+謝秉諺
+謝長原
+謝俊宏
+謝彥吏
+謝柏舟
+謝美玲
+謝家菱
+謝素菱
+謝國彬
+謝梓麟
+謝淑娟
+謝凱偉
+謝嵐屏
+謝景仁
+謝皓智
+謝雅雪
+謝順隆
+謝萬龍
+謝嘉銘
+謝翠環
+謝鳳玲
+謝慧瓊
+謝燕玲
+謝靜宜
+謝鴻駿
+謝瓊文
+謝顯銘
+謝煒頻
+鍾元振
+鍾月圓
+鍾兆民
+鍾孝其
+鍾秀芳
+鍾佳穎
+鍾卓儒
+鍾宜興
+鍾承璋
+鍾明憲
+鍾秉諺
+鍾政民
+鍾美琳
+鍾商駿
+鍾淑萍
+鍾智傑
+鍾雲光
+鍾禎元
+鍾樂吟
+鍾薰嫺
+鞠岱琦
+韓佩劭
+韓相宜
+韓嘉駿
+簡士益
+簡文亨
+簡巧婷
+簡立人
+簡宇屏
+簡伶娟
+簡宏倫
+簡志雄
+簡秀純
+簡佩琪
+簡明雁
+簡昭萸
+簡家新
+簡國斌
+簡淑婷
+簡森乙
+簡順立
+簡瑞棻
+簡嘉宏
+簡禎佑
+簡銘辰
+簡憶如
+簡驪潔
+聶東南
+藍元皓
+藍仲偉
+藍春發
+藍國華
+藍雅齡
+藍黛瑩
+闕逢毅
+顏大福
+顏弘祥
+顏如玉
+顏呈旭
+顏宏叡
+顏志麟
+顏宗平
+顏奕仁
+顏家祺
+顏尉凱
+顏華成
+顏瑞文
+顏嘉成
+顏福順
+顏澤宇
+顏鈺芸
+魏仁威
+魏任廷
+魏百盛
+魏孝寬
+魏秀恬
+魏明章
+魏英鎮
+魏崇桓
+魏朝信
+魏筠文
+魏嫦妝
+魏慕帆
+魏瑄誼
+羅子軒
+羅元甫
+羅心屏
+羅月凰
+羅巧莉
+羅玉萍
+羅兆維
+羅宏一
+羅亞寧
+羅怡惠
+羅芷青
+羅美蓮
+羅振廷
+羅素花
+羅國華
+羅強
+羅淇文
+羅傑
+羅惠蘭
+羅華濃
+羅雯琴
+羅聖琳
+羅際川
+羅曉威
+羅馨宜
+譚光華
+譚諦
+關淑雲
+嚴可君
+嚴婉玲
+嚴維德
+藺心怡
+蘇子翔
+蘇文娟
+蘇巧寧
+蘇玉修
+蘇竹安
+蘇志堅
+蘇育弘
+蘇佳足
+蘇怡如
+蘇怡馨
+蘇武龍
+蘇青妙
+蘇俊銘
+蘇奕傑
+蘇建志
+蘇恆至
+蘇柏州
+蘇皇原
+蘇美玲
+蘇貞燕
+蘇倉永
+蘇家信
+蘇庭瑤
+蘇益祿
+蘇軒民
+蘇堂豪
+蘇清安
+蘇博玄
+蘇湘怡
+蘇雅君
+蘇順誠
+蘇猷翔
+蘇聖涵
+蘇靖嵐
+蘇聞謹
+蘇慧娟
+蘇曉芃
+蘇聲振
+蘇旻君
+蘇瑋琳
+鐘士欽
+鐘佳絹
+鐘敏愫
+鐘碧蘭
+饒亮
+黨一為
+顧倩如
+龔于珊
+龔佩君
+龔書聖
+龔靖詒
+佘尚鴻
+涂世和
+涂政男
+涂富星
+涂慧珍
+粘育瑋
+鄔心怡
+欒季強
+銘源
+アキモト,ヤスオ
+アイカワ,ノリオ
+アカツカ,カズヒコ
+アワズ,アキラ
+アサノ,ヨシヤ
+アラキ,ヨシカズ
+イノウエ,ヒロヒト
+カトウ,マサトシ
+ナカムラ,ケイゾウ
+フジワラ,タカコ
+ヤナギハラ,ミドリ
+カワダ,ナオコ
+イシノ,キヨナガ
+ゴトウ,カツノリ
+イシジマ,リョウヘイ
+アトウ,マサノリ
+ミシマ,タカユキ
+ミヨシ,ノブマサ
+タチノ,ジュン
+オオノ,カズオ
+キタガワ,ヨシタカ
+フルサワ,サトシ
+オオハシ,ヒトシ
+ヨシカワ,トシユキ
+カワイ,トシオ
+イシト,コウキ
+イマイ,タカユキ
+ヤマナカ,サツミ
+ホリカワ,カツミ
+スズキ,シュンジ
+アワエ,アツシ
+ナガセ,タカヒロ
+コバヤシ,ジュンイチ
+マエダ,ヒロシ
+カトウ,マサカズ
+スミタ,カオル
+セキグチ,タカユキ
+タナカ,テルヒサ
+ヒラノ,タカシ
+ハマグチ,シンジ
+サカガミ,ノリカズ
+コバヤシ,ヤスシ
+タキモト,ノリコ
+ホシ,ヒロフミ
+オオタカ,ユウコ
+スギムラ,シゲオ
+アオキ,マサル
+ナカハラ,ユウゾウ
+カトウ,オサム
+マエサカ,トモミツ
+フジタニ,カズヒコ
+ホッタ,シゲヒト
+アキヤマ,ユタカ
+フジタ,マサユキ
+トヨナガ,ヤスヒロ
+ハットリ,マサオ
+ノムラ,シゲオ
+カワシマ,タカコ
+ムロヤ,テツオ
+アシカワ,ヤスシゲ
+ハヤシ,タカオ
+ミヤガワ,フミノリ
+オグラ,ヤスヒロ
+ヨシダ,トシヒコ
+クドウ,ヒロシ
+クマガイ,タカユキ
+ニシオ,ヒデキ
+オオイヤマ,ノボル
+タケタニ,フトシ
+イシダ,カツヤ
+オイカワ,ノブアキ
+タカハシ,セイジ
+ムラタ,トオル
+スズキ,ススム
+ハヤシ,シンチョウ
+クロカワ,マサアキ
+ヤジマ,トオル
+カツライ,ワタル
+アカリ,リョウジ
+アズマ,ノブユキ
+アツミ,シュウジ
+マルオ,ヨシユキ
+イケオ,ミノル
+トリヤマ,リツオ
+ハマノ,ヨウイチ
+ヤマモト,コウタロウ
+コウチ,ユウスケ
+ナカジマ,ノリヒコ
+アラ,ヒロシ
+ホソカワ,マサヒロ
+イズミ,カネミツ
+アワジ,アツオ
+ミズヒキ,ヨシオ
+オダジマ,ナホミ
+フルカワ,シゲオ
+ミズグチ,ジロウ
+イトウ,ヒロシ
+フクイ,サトシ
+フジハラ,タケヒト
+ヤノ,ユウジ
+ハヤシグチ,ヒロシ
+ホリ,トシユキ
+ヨシイ,タカシ
+アンドウ,ヒロシ
+ハタ,コウイチ
+コバリ,ヒデユキ
+オダシマ,カツロウ
+ウエヤマ,ミツナリ
+ムタ,マナブ
+タナカ,シゲオ
+コンノ,ユウコ
+フジワラ,トシハル
+ミヤキ,ユタカ
+ハナワ,マサヒロ
+テジマ,アキラ
+クボ,アツシ
+オオバ,シンゴ
+コンノ,タクヤ
+マツバラ,ヒデオ
+ハシモト,スミコ
+ワタナベ,カズヒロ
+コタキ,テツヤ
+フカヤ,モモキ
+マツウラ,テッペイ
+フナダ,カズヒコ
+ヒガシダ,トシユキ
+イノマタ,ヒロシ
+サトウ,ヒロミ
+イトウ,タツシ
+ミタムラ,マユミ
+スガハラ,ミツル
+タカミヤ,ヒデノブ
+ヤマグチ,コスケ
+オタ,ツヨシ
+セノオ,ハジメ
+シバザキ,アツシ
+ナカムラ,ヤスヒロ
+フジカワ,ヒロユキ
+アライ,リュウジ
+オオクラ,ヒサノリ
+マツバ,シゲル
+タメヒロ,モトコ
+マンポ,カツミ
+コグチ,タカシ
+タニグチ,ナオスケ
+ヤマモト,タカヒロ
+ヒラモト,ヒデアキ
+アンラク,タカシ
+タナカ,ノリコ
+チャキ,シゲヒデ
+サカイ,チハル
+イナオカ,ヒロカズ
+ウシジマ,シンイチ
+コケツ,アキヒサ
+ムラタ,ヒトシ
+キムラ,ヨシヒロ
+シンタニ,リュウジ
+オオハタ,ノブアキ
+タブチ,ユタカ
+スミダ,キヨシ
+ミウラ,ナナコ
+リュウト,ヒロミ
+イケダ,ヒロナリ
+タカヤナギ,ヒロフミ
+エンド,ケンイチ
+オシカワ,シンジ
+コバヤシ,ヒデユキ
+ヤマダ,イワオ
+オダ,マサオ
+タキザワ,アツシ
+モリ,ヤスノリ
+カナザワ,タツユキ
+オオタ,タカアキ
+オオツ,テツロウ
+フジモト,カズヒロ
+モリカワ,マサノブ
+イトウ,コウジ
+カトウ,コウイチ
+ウエノ,ヨシヒコ
+オオカワ,サカエ
+マルイ,ジュンコ
+イワオ,シュウジ
+ウメダ,カズヤ
+メカタ,マサル
+ツジ,ツグヒコ
+タゴ,ヒロシ
+ヤマシタ,マサト
+スギヤマ,ヒロユキ
+フタバ,トシアキ
+ミヤヒラ,ミチアキ
+ニシザキ,ススム
+タナカ,クニコ
+ムラモト,トモアキ
+マエダ,ヒサカズ
+ミヤケ,アツシ
+トウジマ,タツヒロ
+オオヤ,マサル
+ウエノ,トモヒロ
+タカサキ,ヤスヒサ
+コンノ,ヨシヒサ
+タケオ,ノリカズ
+カナヤマ,ヤスヒコ
+オオオカ,トシロウ
+コバヤシ,シュウ
+ニシザカ,ミカ
+マスミダ,トモヒコ
+ツボイ,ヤスオ
+タガミ,マサル
+オカダ,テルオ
+カタギリ,サトシ
+カワテ,タカシ
+ミズイ,アヤオ
+カサオカ,トシヒコ
+ヒガシタニ,ヒデフミ
+ウシキ,カズイチ
+ヒラサワ,ナガコ
+ナリタ,シュウイチ
+コダマ,カズヒロ
+イノマタ,ヒロミ
+キムラ,ショウゴ
+イトウ,フミオ
+ワタナベ,テルアキ
+テラサワ,ミツオ
+ハヤシ,シンイチ
+アサクラ,シンヤ
+ヤマキ,コウイチ
+ナカムラ,シンイチロウ
+エノモト,ヒロミチ
+カマタ,タカヒロ
+ハシモト,ナオキ
+アライ,ヨシミ
+カリヤ,タカヒコ
+コンド,ヨシキ
+マスダ,ヒロオ
+イトウ,ケイスケ
+オカ,ミチハル
+オオツカ,ヒデキ
+マツオ,コウジ
+アソ,テルカズ
+カミムラ,ヒロユキ
+タカバタケ,シゲノリ
+フクダ,ヒロユキ
+タカハシ,ケント
+イワキ,マコト
+スン,トヨユキ
+アンドウ,ヨシオ
+ハシモト,カナ
+ヤハタ,ヒデオ
+フジキ,ケンジ
+マツオ,サトシ
+アオキ,ヨウイチロウ
+ゴトウ,シンジ
+ニシカワ,ヒトシ
+スミト,マサフミ
+ヒラノ,コウジ
+イトウ,ケイ
+コイズミ,ノリコ
+カワバタ,ノゾミ
+ムトウ,カツノリ
+アダチ,マサシ
+キラ,マサシ
+アヤノ,コウキ
+タルイ,ヨシオ
+ハヤシ,キョウコ
+イケダ,ジュン
+ホリミゾ,ケイスケ
+フルナガ,ハルヒコ
+オシマ,ナスオ
+ハヤシ,ヒトシ
+ニシ,ユキミツ
+コムロ,カナメ
+ヒロタニ,ヨシオ
+スガ,ヒロシ
+ツルミ,アキヒサ
+トミヤマ,カズミツ
+ヤマザキ,ヨウコ
+イシダ,ショウイチロウ
+ウチトミ,アキラ
+オオサワ,ヨシカズ
+ヤナギ,ヒデヒロ
+ミヤシタ,ヒデキ
+タカハシ,コウジ
+トガワ,ヒロユキ
+ナカムラ,シゲル
+ウエムラ,タケシ
+アサノ,ユウイチ
+オオヤマ,ケンジ
+カワノ,エイコ
+ババ,ヒトシ
+イトウ,シンイチ
+ウエノ,ノブユキ
+シライ,ケンシン
+イカミ,ハルオ
+カワシマ,トモユキ
+ミヤケ,タカヒロ
+サクライ,ケンジ
+タケノシタ,シュウヘイ
+ニシオカ,セイイチロウ
+クロキ,マサヨシ
+タナカ,ミノル
+イイジマ,タカシ
+サトウ,ヒロアキ
+サクライ,カズシゲ
+ヤナギサワ,ノブオ
+ウチヤマ,シゲヨシ
+オクツ,カズトシ
+ニシヤマ,セイジ
+タケダ,タカコ
+フリハラ,カズオ
+ヤブキ,マサヒロ
+ナカ,カズヒロ
+ヨシオカ,カズヤ
+モチズキ,タカユキ
+スギヤマ,ヒデヒロ
+イワナガ,ケイイチ
+ミワ,ハルカズ
+ホリカワ,カツキ
+タカダ,コウジ
+イシマル,シゲヤス
+オムラ,ヒデオ
+キタムラ,リカ
+スギキ,タカキ
+ニシムラ,チエコ
+ナカハラ,コウイチ
+マツモト,アキラ
+フクシマ,マサル
+カジオカ,アキヒト
+ナカザワ,ノボル
+マスザキ,タカシ
+ナカ,トシタカ
+オサダ,ハジメ
+カワタ,ナオミ
+ヨシダ,コウジ
+ナカ,トシヒロ
+エイドメ,ヒデカズ
+マツモト,ヨシマサ
+ナガサカ,ヨシアキ
+フジサワ,カツヒコ
+キヨタニ,ツトム
+アリモト,セイコ
+エゾエ,ケイイチ
+ツチヤ,カズヤ
+フジオカ,ヤスコ
+ツカモト,フミオ
+タカハシ,トヨヒコ
+サカイダ,ヤスヒロ
+スズキ,コウジ
+オシマ,ヤストシ
+マキウチ,タクヤ
+ハラダ,ヒサカズ
+マサキ,アキラ
+オガワ,ノブアキ
+ウシマル,ケン
+イシダ,ノブタカ
+ハナブサ,アツコ
+ヨシムラ,ヨシヒサ
+タニガワ,マリオ
+サトウ,タツシ
+カツ,タカシ
+ヤマグチ,ヒロキ
+ハクチョウ,イサオ
+イトウ,タカシ
+サカイ,カズノリ
+タンゴ,ヒデオ
+コイズミ,ケンスケ
+ワカスギ,タダタカ
+ウエノ,シンイチ
+ウエダ,トモキ
+スズキ,ヒサエ
+オオノ,ヨシノリ
+アベ,ケンイチ
+シイキ,ヒロシ
+アラキ,キヨハル
+アズマ,ヒロヨシ
+デグチ,ヒロノリ
+エリカワ,ユウコ
+フカヤマ,ノブユキ
+フナキ,サカエ
+イチムラ,マコト
+ハシモト,ノリアキ
+ヒガシ,キヨタカ
+ヒロサワ,アツシ
+ホリグチ,ユウイチ
+イバラキ,ユウイチ
+イナムラ,コウイチ
+イシカワ,ミキオ
+イトイ,タダシ
+カナザシ,ノリコ
+カタギシ,マサシ
+カトウ,ヤスシ
+カワダ,ケンスケ
+キノシタ,ヤスヒロ
+コバヤシ,カツノリ
+コマツ,ヤスタカ
+コタニ,ヒデキ
+クロセ,オサム
+マエダ,ユウジ
+マンタニ,ヨウイチ
+マツモト,ヤスアキ
+ミムラ,シゲノブ
+ミワ,マサヒロ
+モリタ,アキヒコ
+ムネムラ,トシミツ
+ナガタ,ケンジ
+ナカコジ,タツヤ
+ナカムラ,ヨウイチ
+ナカヤマ,タカシ
+ニムラ,ススム
+ヤジマ,ヨシエ
+ノマ,トヨミ
+ヌキイ,カツミ
+オガサワラ,シュウジ
+オオサワ,ヒデタカ
+マツナガ,ヨシアキ
+オカモト,ヒロユキ
+オサダ,ムツミ
+サイトウ,アキヒロ
+サクライ,シゲノリ
+サトウ,ヨシノリ
+セザイ,カズヤス
+シミズ,アキトシ
+ショウミツ,ヨシヒロ
+スギサワ,ノブユキ
+スズキ,ユウジ
+スズキ,ユウコ
+タカハシ,タカユキ
+タカサカ,ハジメ
+フジイ,アツコ
+タマキ,サトコ
+タニ,カズヒコ
+トキゾノ,シゲオ
+トリザワ,エミ
+ツルカワ,エイジ
+ウダ,ヒサヨシ
+ウメムラ,キミヒロ
+ワタリ,ヤスヨシ
+ヤマモト,テツヤ
+ヤマモト,マサヨシ
+ヤノ,ユキオ
+ヨダ,イサオ
+ヤマグチ,カズヨシ
+ホ,アキラ
+マツミヤ,ユウイチ
+サワダ,ヒロシ
+コハラ,マサノリ
+サイトウ,ミツル
+ヤノ,ミツオ
+フジモリ,ノリコ
+ヤマグチ,ヤスヒロ
+ヤマダ,タカシ
+フジタ,トシキ
+キムラ,タケオ
+ハヤシ,マサヒロ
+マエザワ,イズミ
+シブカワ,キヨヒサ
+ミホ,マサノリ
+スギヤマ,シンイチ
+フルカワ,ヨシフミ
+ノチセ,カズヒコ
+マツモト,ヒデアキ
+オクノ,ユキオ
+ヤマザキ,ヤスヒロ
+イシゲ,アキコ
+ミウラ,リュウゾウ
+ババ,タクヤ
+モチズキ,エミコ
+トクナガ,フミヒト
+クロカワ,ヒロシ
+イケノ,メグミ
+ヤマカゲ,ヨウジ
+ヤギハシ,シュウイチ
+キヨミツ,ケンジ
+ムラヤマ,エイジュ
+オオツカ,ヒデヒコ
+オヤマダ,タカシ
+アゲタ,ジュンイチ
+アモウ,アキオ
+アラカワ,ヒデシ
+バンノ,マサキヨ
+エサキ,シンイチ
+フカザワ,トモヒト
+フナバシ,マサユキ
+ハナダ,カツノリ
+ハシモト,エミコ
+ヒジクロ,ナオユキ
+ホウヤ,カズヒコ
+ホソダ,チエミ
+イケザワ,ノブヤス
+イヌツカ,ナオキ
+カジタニ,オサム
+イトウ,チクサ
+イワシタ,シコ
+カミヤ,クニアキ
+カスヤ,アキラ
+カワバタ,ダイ
+カワクボ,カズトシ
+キバシ,ヒデヒコ
+キリサワ,イチロウ
+コダマ,オサム
+トウドウ,コウジ
+コヤイシ,ミカ
+クラタ,コスケ
+クワノ,ヒロタカ
+マスダ,ジュン
+マツシタ,タダシ
+ミヤケ,アツシ
+ミヨダ,タカヒサ
+ミズタニ,ツヨシ
+モリワキ,シンイチロウ
+ムトウ,カツキ
+ナガワ,シンイチ
+ナカシマ,ヒサヨシ
+ニシダ,ヒロヨシ
+ニシオ,マサト
+ノムラ,テツヤ
+オダオオハラ,シンゴ
+オオヒラ,イチロウ
+オオヌマ,ナルシ
+オオヤギ,マサヒロ
+オカネ,タカシ
+オクノ,カツシ
+サイトウ,ヨシミ
+サカウエ,ヤスユキ
+サトウ,タケシ
+セキモト,トシユキ
+シイナ,フミハル
+シミズ,ヒデトシ
+シラサキ,ヨウコ
+スドウ,サトコ
+スズキ,ヒロシ
+ホソカワ,ユリ
+ヤマザキ,ナオキ
+タカス,カズヨ
+タケダ,ヒロユキ
+タマタニ,カズアキ
+タニモト,シンイチ
+トミナガ,ヒロヒサ
+ツカダ,ヒデキ
+ウラカワ,ユウジ
+ワタリ,コウジ
+ヤマモト,アツシ
+ヤマシタ,トシヒデ
+ヤザキ,タケシ
+ヨコタ,ユウコ
+ヨシカワ,ミツヒロ
+アサノ,ミチコ
+オクダ,ヒサコ
+イナダ,マサツナ
+シモカワ,フミヒコ
+ツボタ,ノリオ
+オオクボ,タケシ
+サイトウ,シュウイチ
+フジタ,ツネオ
+マキムラ,タケオ
+ニノミヤ,カズオ
+タバタ,ヨシタカ
+ムラカミ,ヒロキ
+イマニシ,タケオ
+タキガワ,シゲヨシ
+オンズカ,ヒロシ
+トノカワ,タケシ
+イケダ,トキオ
+ゴトウ,カズヤ
+ソダ,ケンジ
+モリタ,マサユキ
+タンノ,エイイチ
+ゴウダ,キョウコ
+ヤマグチ,ヒロカズ
+オサナイ,アツシ
+ヒガシ,ショウコ
+ヤマモト,ヒデアキ
+サトウ,タカオ
+ミゾグチ,トシユキ
+キタガワ,ヒロシ
+オオニシ,ソウイチ
+アイハラ,ヒデオ
+アキバ,ツトム
+アマノ,トオル
+アオヤギ,タカオ
+アラ,アキオ
+アサノ,ヨシヒロ
+バン,コウタロウ
+エビヌマ,アケミ
+フジエダ,ジュン
+フジイ,シゲノリ
+オグラ,アヤコ
+フカオ,ミツヒロ
+フクダ,ミカ
+フクオカ,シンゴ
+ゴウダ,ヨリコ
+ハギワラ,キクオ
+ハナミツ,ヨシタカ
+ハラ,ミユキ
+ハツシマ,ケン
+ハットリ,ヨシノリ
+ハヤシ,カツミ
+ヒナタ,ジュン
+ヒラサワ,カズヒロ
+ヒロセ,ヒサユキ
+スギモト,セイイチ
+ホリ,カズオ
+ホソ,カズミ
+イデイ,マサカズ
+イイムラ,ヨシノブ
+イケダ,クニヒロ
+イマイ,タダシ
+イノウエ,ヒロタカ
+イシグロ,ヒロシ
+イシカワ,ヨウコ
+イシワタ,ナオヒサ
+イトウ,テツヤ
+イトウ,タカシ
+イワクボ,タカユキ
+イワサキ,タツヒコ
+カガミ,シゲヨシ
+カマモト,タエコ
+カミ,マコト
+カナザワ,サダイチ
+カネコ,ヤエ
+カシワギ,ヒロシ
+カタオカ,アツシ
+ゴトウ,ヒロカズ
+カワハラ,ヒロアキ
+カワキタ,ヤスコ
+キダ,ヨシフミ
+キムラ,ミノル
+オカザキ,タケオ
+キタムラ,アキオ
+コバヤシ,ミヨコ
+ヒロセ,ハルオ
+コサカ,ヨシユキ
+コクマイ,ミエコ
+コモオカ,フミオ
+コンドウ,タツト
+クボ,タカユキ
+クマモト,アキヒコ
+クリヤマ,ユキエ
+クシダ,ワタル
+マエカワ,ヒデタカ
+マスダ,ミキオ
+マツダ,シゲオ
+カノウ,ヒロユキ
+マツナミ,ヒロユキ
+マツザキ,タダシ
+ミモリ,ヒロシ
+ミウラ,ヨウイチ
+ミヤハシ,キョウコ
+ミヤタケ,シゲミ
+ミズコシ,トシオ
+モリキ,ヤスヒロ
+モリ,サトル
+ムカイ,タツミ
+ムラタ,サトシ
+ムツシカ,エイイチ
+ナガサワ,カズト
+ナガエ,タカユキ
+ナカジマ,カツトモ
+ナカマタ,ノリヒロ
+ナカムラ,ハジメ
+オオニシ,マサノリ
+ナカノ,モエコ
+ナカタ,シゲコ
+ナカヤマ,カツヒコ
+ナツヤマ,ユウコ
+モリ,ユキコ
+ニワ,マサキ
+ノマ,サトシ
+ノリカネ,マサル
+オダネ,ヨシカズ
+オオバヤシ,ヤスユキ
+オキ,ヨシユキ
+オライ,ススム
+オオトモ,アキオ
+オヒャ,クニヒコ
+オカモト,ヨシオ
+ウエダ,トヨカズ
+ニシ,アツキ
+タダ,タカユキ
+ヤマシタ,ケンジ
+ササモリ,ユタカ
+ハセガワ,トモユキ
+イマイ,ミユキ
+ヨコヤマ,ケンジ
+スギヤマ,ヨシマサ
+アライ,トモコ
+アマガヤ,ユメノ
+ツル,ミノル
+ヤイタ,マキ
+セキ,マリ
+ハラ,ヨシノリ
+ミウラ,ススム
+ササ,ユキコ
+タカサキ,マキコ
+ハラダ,エミコ
+クラタ,ヤスヒロ
+アゲマツ,ヒロミチ
+フクモト,ミキオ
+オクムラ,ダイ
+オソエガワ,ヤスナリ
+サイタ,マサヒロ
+サカイ,ヒロミ
+サカリ,ノブヒロ
+サノ,ユタカ
+サトウ,ヨシヒコ
+サトウ,アキオ
+サトウ,サトシ
+セキカワ,アキラ
+セシモ,コウジ
+シブヤ,マサノリ
+シマモリ,マサヒコ
+シモダ,ケイミン
+シンタニ,ユウジ
+シライ,シゲキ
+シュウ,ゴイチ
+スダ,ナオキ
+スギタ,ユウイチロ
+スザキ,テツヤ
+スズキ,トシヤ
+スズキ,ノリユキ
+タガイ,ヤスシ
+タカギ,ケンタロウ
+タカハシ,マサコ
+タカイシ,トモアキ
+タカオカ,タカキ
+タカヤマ,シンイチ
+タケモト,ノゾミ
+タマチ,ヒロシ
+タナカ,ヒロフミ
+タニ,ヒロブミ
+テラサキ,ヒロユキ
+サクラギ,ノリヒサ
+トヨサト,ヒロシ
+ツジモト,ユキオ
+ツルタ,シノブ
+ウチヤマ,タケシ
+キキョウ,ヨシタカ
+ウエノ,ヨシコ
+ナガタ,ノリコ
+ワダ,シズオ
+イトイ,ヨシヒサ
+ワタナベ,ヒデトシ
+ヤブウチ,ショウヘイ
+ヤマダ,アキオ
+ヤマモト,アキヒロ
+ヤマモト,マサトシ
+ヤマシタ,ツトム
+ヤマシタ,アキラ
+ヤノ,トモユキ
+ヨコタ,ミナコ
+ヨネムラ,タダシ
+ヨシムラ,ヒロミ
+マツダ,ヨシツグ
+ホソヤ,ショウジ
+ミヤシタ,シゲトモ
+シガ,マサミツ
+ヤマダ,ユウイチ
+ハヤシ,サホリ
+イケダ,ツヨシ
+ウエノ,カズタカ
+サイトウ,テルヨシ
+ナガヤス,コウジ
+ハギオ,トモヒコ
+ハマダ,マサジ
+ムラカミ,ノリヒロ
+アベ,シュンジ
+アキヤマ,トシユキ
+アンドウ,テンセイ
+アラキ,シゲミツ
+アソ,クニカズ
+ババ,ユウスケ
+エビサワ,ヒロシ
+フジイ,ヨシノリ
+フジイ,タツヤ
+フジタ,ヒロシ
+フジワラ,ヒロム
+フクダ,ジュン
+フクオカ,イサオ
+フルヤ,トシユキ
+ガド,ヒサシ
+ハガ,アツシ
+ハマシマ,ユミ
+ハセ,ユタカ
+ハシズメ,ナオキ
+ツダ,ヒロコ
+ハヤシ,トシロウ
+ヒライ,ユウイチ
+ヒラサカ,ヒロユキ
+ヒロワタリ,タカヒロ
+スズキ,ヒデキ
+ホソミ,ヒロアキ
+イダ,チハル
+イガラシ,ユキヤ
+イイジマ,タケシ
+イマムラ,コウイチ
+イレイ,マサル
+イシイ,トモユキ
+イソノ,ミツトシ
+イトウ,ヨシマサ
+イワサ,トシミ
+イズミサワ,セイジ
+カイダ,コウジ
+カマタ,トシエ
+カンベ,タカヒロ
+カネコ,アキラ
+ヨネモチ,ナオシ
+カタオカ,カズヒコ
+カトウ,ヤスヒロ
+カトウ,ユウジ
+タマガワ,コウイチロウ
+ナルケ,タカシ
+キド,タカフミ
+キクラ,カツミ
+キムラ,マサキ
+キノシタ,ヤスヒロ
+キタアキ,ヒロユキ
+コバヤシ,カズヒロ
+コバヤシ,トシキ
+コンノ,ヨウ
+コミヤマ,ヨシヒロ
+コニシ,アキノリ
+コヤマ,ヒロミ
+クドウ,ジュン
+クリヤ,ユウイチ
+ヨシダ,サトル
+マキノ,トシオ
+マサキ,ヒデヨ
+マツイ,ヤスヒロ
+マツモト,タケシ
+マツヤマ,ジュン
+ミタムラ,ジュン
+ミワタ,ナオキ
+ミヤモト,ヒトミ
+モチズキ,シュウイチ
+モリ,マサユキ
+マツダ,ケンジ
+モリワキ,ノブユキ
+ムラカミ,タケオ
+ムラヤマ,サトシ
+ナガシマ,ミチノリ
+ウチゾノ,タカシ
+ナカジマ,ヒロアキ
+ナカムラ,ヒロシ
+ナカムラ,ヨシヒコ
+ナカシマ,ノリオ
+ナラハラ,サトシ
+ニシブ,アヤコ
+ニシモト,ナオコ
+ニシザワ,ダイスケ
+ノジマ,ノリオ
+ヌワ,タケシ
+オガワ,ケンイチ
+オオガキ,カズヒロ
+オキ,マサヒコ
+オオモリ,ヒロアキ
+オオヌマ,マサオ
+オオタケ,サエコ
+サコダ,シュウイチ
+オカダ,テツジ
+オキタ,サトコ
+オオノ,タカシ
+オリイ,シュンジ
+オザワ,ヤスヒロ
+サイトウ,ケイジ
+サカモト,ヨシオ
+サカタ,マサヒロ
+サナギ,ヨシキ
+ササキ,ナガマサ
+サトウ,マモル
+サトウ,ヒデキ
+セキノ,ノリヒロ
+シマダ,アツシ
+シミズ,タカアキ
+シモダ,ヒロユキ
+シノザキ,アツシ
+ショウダ,ケンジ
+スガノ,ヒロユキ
+スギサキ,ヨウコ
+スギヤマ,タケシ
+スズキ,ヒデユキ
+スズキ,マサノリ
+タグチ,シン
+タカハシ,カズノリ
+タカハシ,オサム
+タカハシ,ヒデキ
+タカヤナギ,シゲル
+タケイ,ノブオ
+タケシマ,カツシロウ
+タムラ,ショウイチ
+タナカ,ヤスジ
+サノ,ヒロフミ
+テラマエ,マキ
+トグチ,タケシ
+トミイ,マサヒロ
+トットリ,アキヒコ
+ツジ,マサヒコ
+ツキザワ,コウジ
+ツルタ,ノリコ
+ウチダ,ショウコ
+ウエダ,ヨウスケ
+ウエノ,ジュンジ
+エガシラ,タダシ
+キタワキ,セイキ
+ワタナベ,タカシ
+ワタナベ,ヒロユキ
+ワタライ,ジロウ
+ヤマダ,アツシ
+フジタ,マサトシ
+ヤマモト,ヤスシ
+ヤマネ,ミチル
+ヤマシタ,シゲミ
+ヤマザキ,タダシ
+ヨダ,シュンスケ
+ヨシダ,カズヨシ
+ヨシムラ,サトル
+オザワ,カツユキ
+ヤマダ,キヨシ
+ササキ,ノブユキ
+アゼガミ,シゲカズ
+フクハラ,ノブユキ
+ハシモト,ヨシヒロ
+イソダ,コウイチ
+カマタ,タツヤ
+キムラ,ヨシヒロ
+コバヤシ,ゲン
+クマサキ,ヨシアキ
+ミクニ,トミオ
+エダ,タカシ
+ネモト,マサユキ
+オノ,タクジ
+サエキ,ノリユキ
+セキ,ユキオ
+スヤマ,ヒロコ
+タナカ,ケンゴ
+タザワ,ミキオ
+エンド,ジュンコ
+ヤマグチ,ノリオ
+ヤスダ,サトシ
+スズキ,タケシ
+ヒロハシ,ヤスオ
+カトウ,ヒロヨシ
+ウエハマ,ミノル
+マトバ,チヒロ
+ワタナベ,トオル
+カワシマ,テツオ
+フジカタ,ミツオ
+コイケ,オサム
+タナカ,リョウゾウ
+ダケヤマ,ヒロユキ
+クシビキ,スケヒデ
+スガハラ,テツオ
+ヒガシ,フミヒロ
+ホカ,ケンタロウ
+イワタ,タカユキ
+スガワラ,マスコ
+スト,マサミ
+マツザキ,マサノリ
+アカマル,オサム
+アベカワ,レイジ
+ヨネダ,マサオ
+ソガベ,ユキオ
+ワカバヤシ,ハレオ
+スミタ,テツヤ
+イノウエ,タカヨシ
+ミヤモト,ツトム
+フジカワ,ナオト
+サイトウ,フミオ
+タナベ,ケンジ
+シミズ,セイジ
+ノグチ,シゲアキ
+カワナミ,マサアキ
+フクシマ,アキラ
+オダワラ,ミチオ
+オオタ,ヨウジ
+カワノ,タダヨシ
+クニユキ,ヤスヒロ
+シマダ,ミツル
+タカシマ,ミツギ
+ツヤ,マコト
+ナカシマ,マサオ
+ヤギシタ,トシオ
+キシモト,マコト
+クゲ,ケンジ
+アサノ,ヨシアキ
+カワカミ,ツネオ
+シマダ,シュウイチ
+フジイ,シュンイチ
+ヒガ,ジュンキ
+タナベ,アキラ
+クラヤ,キヘイ
+ナカザワ,マサヒト
+アワタ,シゲル
+ジダ,アキオ
+ホソカワ,トシオ
+シブヤ,ヨシカズ
+コバヤシ,キヨシ
+キタガワ,ヨシテル
+ミズタニ,アキラ
+タカセ,トシオ
+ミヤムラ,トオル
+ヨコハタ,トシヒコ
+ナリタ,ミツヨシ
+アベ,サダヒロ
+ナマエ,ケンジ
+キムラ,ユタカ
+ナゴシ,ヒデアキ
+トミナカ,ヨシオ
+ナカノ,ツモル
+オオサク,カズオ
+ハヤシ,シゲアキ
+オオサ,タカシ
+ヤマウチ,ジ
+オダ,リョウジ
+メグロ,ヒロヨシ
+カナサキ,トミオ
+オカノ,ヤスオ
+クサカワ,ナオキ
+イノウエ,タケシ
+ヤダ,カズオミ
+マツオカ,ユキオ
+スズキ,ユウジ
+タキモト,クニオ
+ヒガシバタ,ヒデオ
+イイダ,ケンシ
+カンノ,マサヒロ
+タナカ,シゲル
+イクタ,ヤスヒサ
+サノ,ヒデマサ
+スガワラ,ヤスヒロ
+ナガタ,ユキオ
+ウラノ,サトシ
+スギヤマ,カツユキ
+オカベ,フミオ
+コイデ,タカシ
+イシタニ,サトシ
+モリ,エイジ
+キタムラ,タカシ
+イワミ,ヤスオ
+フカダ,タカシ
+ウエダ,ユウジ
+フルタニ,タカマサ
+ドイ,タカシ
+ナガノ,トシノリ
+キムラ,アキラ
+カドヤ,ユウゴ
+オオタ,クニオ
+タケウチ,ケンイチロ
+トクモト,タカアキ
+イトウ,シフミ
+ヤマザキ,トキオ
+アオキ,ヨシミ
+チギリ,エイジロウ
+ヨシナガ,チカエ
+ヒラバヤシ,ヒロカズ
+ナカハラ,ケンジ
+ヒロヤ,ノリヒロ
+カナイ,カンセイ
+トオヤマ,タカシ
+ウノ,キンゴ
+シバタ,トシオ
+キタガワ,キハチロウ
+ハラダ,ヒデユキ
+ヤマムラ,ケンジ
+クマミ,ユウゾウ
+イシバシ,トシユキ
+シバタ,ハルキ
+サクヤマ,カズオ
+イケダ,セイイチ
+タケモト,カズオ
+タモト,トミオ
+コムロ,リョウイチ
+タナカ,マサトシ
+カマダ,ヒロシ
+タバタ,ケイイチ
+ヒラカタ,カズオ
+タケウチ,テツオ
+イマズ,ヤスタダ
+フジタ,トシミチ
+ヤマモト,ツトム
+ヤマキ,ユウジ
+シライチ,マサル
+ササキ,ムツミ
+ミヤカワ,マサタカ
+クドウ,ケイコ
+アラマキ,ノブオ
+キハラ,ナオキ
+オカ,キョウ
+コニシ,シゲミ
+タケウチ,サチコ
+タナカ,シンイチロウ
+サカモト,マモル
+マツダイラ,エイジ
+イノ,タツロウ
+オバナ,シゲヤス
+オオクワ,キヨシ
+ゴトウ,シンジ
+スズキ,キヨシ
+ニシオカ,サブロウ
+ササキ,ヒデオ
+ハラ,イクオ
+セキ,ヒロシ
+サイトウ,ヒトシ
+フジタ,シュンスケ
+サカタ,コウイチ
+マエザキ,イサオ
+シオミ,ミツオ
+タカクワ,マサノブ
+イシハラ,チエコ
+コクボ,ケイコ
+ミヤザキ,シゲオ
+アリマ,ケイコ
+ウチヤマ,タカシ
+ナシキ,カオル
+フジタ,ユミコ
+タカギワ,イサム
+ニシダ,ヒトシ
+キクチ,ヒデフミ
+ナカイ,マサミ
+イイダ,ヤスシ
+ヤマグチ,ノブヒロ
+ヤノ,ユウイチ
+ヤマモト,ヒサシ
+ホリムキ,ヨシマ
+アダチ,フミノリ
+ウラノ,コウイチ
+タケダ,ミチコ
+サイトウ,ヒロツグ
+シマムラ,コウジ
+フクダ,ツヨシ
+キムラ,エイコ
+ヤマモト,エリコ
+シゲヤス,エイイチ
+カノウ,ヒロアキ
+スワ,フミオ
+オカザキ,ノリオ
+フカヤ,マサヒロ
+コザイ,ミツル
+ホドヤマ,ヒデオ
+クボタ,キヨシ
+イイズカ,リョウコ
+タカギ,タケノリ
+イワオ,マサシ
+イシイ,イサム
+ワカバヤシ,トシヒデ
+ゼンケ,トシオ
+ワタベ,ヨシミ
+マツモト,ヒロシゲ
+マルヤマ,ケイジ
+ナカノ,ヒデノリ
+オオクボ,カズハル
+クボタ,マサト
+ニシカワ,ヒロシ
+ニッタ,フミコ
+イシダ,ヒデヒコ
+カマス,ケンゾウ
+カゲヤマ,ミノル
+マツムラ,トシミチ
+ササキ,ススム
+ヒラノ,ヨシカズ
+スズキ,イチロウ
+ニシハラ,ケイ
+クロイワ,タカシ
+タカハシ,ヒロシ
+タケウチ,ヒデアツ
+シミズ,アキヒデ
+サタケ,シンジ
+コタニ,タクモリ
+コデラ,マサト
+ハマノ,ミチオ
+ナカムラ,ヒロシ
+ユアサ,ケンジ
+オカダ,ヨシヒロ
+コバヤシ,ヨシハル
+フクダ,ジュンイチ
+カミムラ,タカシ
+イマダ,マサヒロ
+ソネ,フミオ
+ミノグチ,ヨシノリ
+クダナミ,マサユキ
+イノウエ,ミドリ
+ウエムラ,ノボル
+ミウラ,オサム
+スガワラ,サトシ
+ワタナベ,ナオユキ
+ニシワキ,ヨウジ
+オオタニ,マサアキ
+クロカワ,キヨシ
+クボタ,ノブオ
+タムラ,ヒロヒコ
+エビハラ,キイチ
+ナカムラ,ヨウコ
+ヤマネ,ヨシト
+アサマ,マサヒロ
+ミウラ,ヤスノブ
+アラカワ,シンジ
+コジマ,ヨシアキ
+サカタ,コウヘイ
+コバヤシ,オサフミ
+オガワ,ヨシオ
+カトウ,タカユキ
+ミツイ,ケイイチ
+テシマ,カズマサ
+アソ,ヒロイチ
+モリヤ,ヒトシ
+ヤナ,カズオ
+サイトウ,ヒロユキ
+イチキ,ヒロシ
+オオタ,ヒロシ
+ホリウチ,ケイイチ
+タニグチ,ヨシオ
+ニシノ,ソウイチロウ
+フルハシ,コウゾウ
+アキタ,トシオ
+オクシマ,タカシ
+オオタニ,タダヒロ
+カメオカ,ヨシオ
+ハラオカ,カツヤス
+ナカムラ,ヒロシ
+アラシマ,ユキオ
+ナガサワ,ヨシロウ
+ヤマオカ,キヨシ
+ハセ,マサカツ
+キシモト,クニオ
+スズキ,ヨシオ
+カメヤ,カツミ
+マスダ,マサハル
+エンド,ケンイチ
+サクライ,タカアキ
+フルショウ,フジオ
+ウシキ,カズミ
+コイケ,ヒロシ
+トウマ,サチヒロ
+ナカザト,ヒロシ
+ヤマオカ,ヨシノブ
+ナカネ,ノブハル
+トミタ,ノリカズ
+サトムラ,ケイジ
+ヒサマツ,トヨトシ
+オガワ,マサト
+サカイ,タケシ
+ナカギ,ユミ
+サワグチ,マサクニ
+マツモト,トシオ
+フルカワ,コウイチ
+フタミ,キヨシ
+タナカ,フクム
+ヒビノ,ヒロシ
+スナハラ,ショウジ
+イケダ,タカシ
+ゴトウ,ノブユキ
+イシノ,ツトム
+キムラ,シゲル
+ヤマダ,ミツオ
+モリモト,マサル
+オカモト,マツオ
+ナカジマ,サカエ
+キタムラ,マスミ
+ナカイシ,タケユキ
+ワサ,ヒデオ
+コシムラ,マサシ
+ヒナタ,キョウヘイ
+ナカムラ,ノブオ
+フクイ,タツヒコ
+タカダ,カズオ
+ナカムラ,ヒロシ
+ニシヤマ,マサヒロ
+ナカヤマ,タカヤス
+ハリガヤ,ヒロアキ
+マスモト,ヨシオ
+テラニシ,マサノブ
+ナガクボ,オサム
+ヨシノ,タカシ
+モリタ,ノボル
+テラオ,ミツヒロ
+ヨシムラ,キヨジ
+ワタナベ,ケンジ
+マツモト,キヨシ
+オザキ,ヨシアキ
+ヒグチ,フジキ
+ミヤモト,ミサオ
+ヤマグチ,マスミ
+ヤマモト,エツコ
+カトウ,コウイチ
+ナカイ,カズミ
+フジタ,ヒロシ
+スガワラ,コウジョウ
+イシザキ,タカユキ
+タツミ,ヨシアキ
+ナカシタ,マコト
+オジマ,ヒロアキ
+アサシタ,マサフミ
+ホリイ,ミヨシ
+イリ,ケンイチ
+フジマキ,タダアキ
+カジワラ,シュウイチ
+ハセガワ,ミツオ
+フナヤマ,エツオ
+キハラ,タカシ
+タケダ,ケイコ
+イイダ,カナエ
+フルド,マサオ
+モリ,シュウイチ
+フクト,ナオヤ
+オオハシ,アキヒト
+アオキ,ヒデシ
+タジマ,ヒロシ
+オオツカ,トモヒロ
+アオノ,ジンイチ
+イノウエ,ヒトシ
+エンド,マサヒロ
+ヒロセ,ヨシカツ
+エンド,アキオ
+カワイ,ミチル
+アイザワ,フトシ
+コイタバシ,キヨヒロ
+サトウ,ヤスヒロ
+カノウ,シゲキ
+ウエムラ,マサトシ
+スミヨシ,ヒデオ
+ヒロタ,サトル
+イナトミ,カズヨシ
+イトウ,ノリカツ
+クボ,ヒデアキ
+カブラギ,トシヒロ
+イケダ,ヨシノリ
+タカハシ,カズオ
+サカイ,マサヒロ
+カトウ,ヤスクニ
+タケイ,ヤスユキ
+ハンダ,トオル
+ナガヤ,カツミ
+ハットリ,ヒロノリ
+シミズ,ヨシナオ
+イマニシ,マサト
+クマベ,マサオ
+マチダ,ツカサ
+ヤギ,チハル
+オダマ,ユキオ
+キタジマ,ジュンコ
+タチバナ,タクロウ
+フジモト,シュウジ
+ミズノ,イクオ
+エグチ,カツミ
+カワベ,サツコ
+ナカムラ,チアキ
+アスマ,キヨカズ
+ハムラ,ツトム
+イトウ,ユウジ
+イケザキ,タケシ
+ヤマサキ,ノリユキ
+ニシザワ,ソウジ
+ニワ,エイヒコ
+ミウラ,ヒサシ
+カタオカ,アケミ
+ハヤシ,マキコ
+ミサキ,タケシ
+オダクラ,ヒロミチ
+フシミ,チカト
+ヒロタ,タカシ
+ハタヤ,トシユキ
+サカイ,ユウジ
+イダ,イチロウ
+サトウ,タダシ
+ホシノ,ノボル
+オガワ,ナツアキ
+フクザト,リュウイチ
+タナカ,セイジ
+ササキ,キョウコ
+オズチ,ミツオ
+フロモト,ミノル
+ニシムラ,シンヤ
+タケダ,トミコ
+タケトミ,コウイチ
+オカダ,ミチオ
+マト,カズユキ
+スズキ,アキヨシ
+ムカイ,ヨウイチ
+コガ,ヤスオ
+カトウ,カズミ
+ヨコイ,フミトシ
+ウシゴメ,マサタカ
+コマツ,ヨシタカ
+イトウ,ヒサアキ
+サトウ,シュンスケ
+ヒロセ,ノリヨシ
+ゴミ,ジュン
+タナカ,タツオ
+マツモト,タイイチ
+ハヤシ,セイジ
+タカハシ,カツヒロ
+アライ,トシユキ
+ホシ,キヨシ
+テラダ,シゲル
+イズハ,ハルオ
+スナダ,ヤスジロウ
+イジマ,フミオ
+タカダ,トシハル
+ワカマツ,コウジ
+ツダ,トシユキ
+ホシクマ,マサハル
+ホンダ,ヒロミ
+カマダ,エイジ
+ハヤシ,ミツヒロ
+イマイ,タツル
+ツチヤ,イズミ
+ワダ,イクト
+ヨシダ,キミヒロ
+ダテ,ジュン
+ハスコ,ヨシノリ
+タケナカ,ヒロアキ
+オクダ,カズオ
+ホシ,ユウスケ
+カメダ,カオル
+ヒシヌマ,ヒロフミ
+オオニシ,ヒロアキ
+サトウ,マサアキ
+ホソカワ,アキラ
+ヨシザワ,ヒデオ
+ハラダ,ヨシタカ
+ササキ,トモユキ
+イイダ,ヒデミ
+キガワ,コウイチ
+イケオ,ヒロユキ
+アライ,ヤスオ
+カキカワ,ジュンイチ
+ゴトウ,クニトシ
+ミヤコシ,ヤスエ
+フジタ,アツミ
+クラタ,ヒロユキ
+モリオカ,ユミコ
+ヤマウラ,ヤスヨシ
+クロハ,ヨウコ
+イズハラ,ナオカズ
+シゲトメ,ヨシアキ
+ニシ,ヤスフミ
+アキヤマ,トミオ
+イケダ,カズキチ
+モリ,ヤスミ
+ヒロカワ,ユウジ
+ソメヤ,アキオ
+サクライ,エミコ
+ミズノ,イサム
+テラダ,トシカズ
+ヒラマツ,シゲル
+オオタ,ゴロウ
+ヒラマツ,エツオ
+ニシダ,ユキオ
+ムラタ,ヒデユキ
+ミズコシ,ケンイチ
+トミタ,タカオ
+カワミ,セイイチ
+シイノ,シゲオ
+ナカムラ,ノブオ
+イシカワ,コウイチ
+カネタケ,カナメ
+オシゲ,タイチ
+コジマ,ユウゾウ
+トバ,マコト
+イワタ,ヒデアキ
+オノ,ケンジ
+コサカ,ヒサタケ
+カンノ,アキオ
+イトウ,トシツグ
+タカギ,ミチコ
+タカノ,シンイチ
+イナガキ,テツオ
+ノザキ,ジュン
+タケダ,フミコ
+ゴトウ,シンジ
+ホリカワ,カズヒロ
+スギモト,リョウ
+アライ,セイジ
+フジワラ,ヒデスギ
+ヨシダ,シュウイチ
+オシマ,タケシ
+ゴトウ,ダイジロウ
+イズミサワ,ヨシトモ
+イワブチ,マサツグ
+イマキタ,ショウジ
+ムラタ,ショウコ
+シモノ,カズヒロ
+ゴカイチ,コウジ
+ヤマモト,ノボル
+ナガシマ,ジロウ
+ミシマ,ヨシヒロ
+ヤスナガ,カツミ
+オフチ,ジロウ
+コムカイ,キヨミ
+ナガサワ,タイセイ
+キタオカ,カズヒコ
+ハラ,カズヤ
+フカダ,ノリフミ
+キタガワ,タカアキ
+オオモリ,レイコ
+ハブチ,ヒデカズ
+ミヤザキ,ヒロム
+シロタ,マサユキ
+コミヤ,コウジ
+テラオ,ジロウ
+ニシグチ,トシアキ
+カネズカ,ヒロアキ
+スギヤマ,テツジ
+タチバナキ,ハルアキ
+モリオカ,マサカズ
+ヨノモト,ヒデキ
+クスダ,カズイチ
+アリヤス,エツオ
+ツジモト,ヒサト
+フカミ,ジュンイチ
+アキヤマ,キヨシ
+モチズキ,ヨシタカ
+ノムラ,シュンジ
+ワダ,キヨシ
+オチ,ヒロシ
+ムラマツ,チエコ
+ヤノ,オサム
+モチズキ,キヨシ
+ヒラタ,ナオキ
+ワカマツ,トシサダ
+サカモリ,カヨコ
+コバヤシ,アキヒコ
+イマムラ,ヨシヒロ
+オオスガ,カエデ
+タカヤマ,タカトラ
+キタミ,ヒロヒデ
+マエダ,タエコ
+トモノ,ケンイチ
+カブラギ,マサユキ
+ネギシ,ケイゾウ
+ワダ,ユミコ
+スズキ,ヤスユキ
+サナエ,カズマサ
+ノ,タツヤ
+イシバシ,ヒロユキ
+ヤマシタ,ツネオ
+スズキ,カズヒロ
+ミヤワキ,トシヒコ
+マツウラ,ヨシアキ
+キタヤマ,ヨシヒロ
+ヤマグチ,ジュンジ
+ニシヤマ,カツジ
+カワバタ,マサヒコ
+ミカミ,ジュン
+スギヤマ,イサオ
+キジマ,ノリオ
+ヒガシ,シュウジ
+アベ,マサト
+イノウエ,ヨウコ
+フカダ,アキオ
+ムラマツ,ジュン
+ヒラバル,タケオ
+チョウナン,ヨシマロ
+カワムロ,サトシ
+ツクダ,ミノル
+ミヤモト,トシヒロ
+スエヒロ,ジュンイチ
+シラカワ,コウジ
+タナカ,ケイシ
+ヤスイ,ヨシノブ
+キムラ,カツコ
+ナカガワ,カツヨシ
+クサノ,トシヒロ
+アダチ,ヨシヒロ
+ナカトモ,ムツミ
+マスモト,ツトム
+ワタヌキ,ヤスヒロ
+タカハシ,カツジ
+コボリ,ミキオ
+オガワ,コウイチ
+フジモリ,ミキオ
+イハラ,エミ
+ワタナベ,ユウコ
+ウラベ,イサム
+ミウラ,ミツル
+ナカイ,ケイイチ
+ワラシナ,シゲル
+フクナガ,ヨシカズ
+オオツボ,ヨシアキ
+ヨシダ,ミノル
+ハヤミ,カツヒコ
+ノムラ,マサカズ
+ヒライ,ヨシユキ
+シマダ,マサエ
+スズキ,ナオトシ
+テラシマ,キミヒコ
+シズハラ,レイコ
+ヤマトヤ,カズヒコ
+オギノ,ヒロオ
+マツグマ,シゲホ
+キタイ,トシヒコ
+アカダ,シズオ
+タケヨシ,セイノスケ
+ヒロノ,ソオジャ
+シマムラ,トマサ
+リュウゴ,シュンイチ
+クニエダ,マキオ
+オオツカ,ホコク
+イケガミ,ヒデトシ
+カネマツ,カネヒデ
+オオガワラ,ヨシノブ
+スズキ,タカシ
+テラダ,セツコ
+カワサキ,テツジ
+オシヤマ,ヨシヒサ
+カワカミ,シゲキ
+ナカムラ,トシアキ
+ミタニ,トシヒコ
+コマツ,ヒロタカ
+アカイワ,トシヒコ
+イチイ,フミヤ
+フクヤマ,マサアキ
+クドウ,ヨシテル
+マツシタ,シンジ
+ニシカワ,ユキヒロ
+アマガミ,シン
+ヤシキ,アイイチロウ
+ワダ,アツコ
+マスダ,トモコ
+ヨシムラ,ユウジ
+オダ,シンジ
+ヨコヤマ,タカフミ
+イトイ,ユリコ
+スズキ,カツヒロ
+ナガハマ,ヒロユキ
+ヤザキ,テイゾウ
+ヤジマ,キヨシ
+ムカエダ,サトル
+ナカムラ,タツアキ
+ヤマムラ,コウイチ
+ノモト,トシユキ
+ヤマザキ,トシヒコ
+サトウ,トシヤ
+イノウエ,ヒロユキ
+オカノ,ヒデオ
+ナカニシ,ハルヒサ
+ウエダ,ヒロミ
+アイザワ,アキオ
+アライ,トモナリ
+ナガイシ,カツミ
+ハコイ,マサオ
+クスモト,タカヨシ
+アリトミ,ジツロウ
+ハラ,タミオ
+ホンマ,マサハル
+ハシモト,ミチハル
+ハシモト,マサオ
+オオヌマ,イサオ
+ハナキ,シンイチロウ
+ハシモト,アキコ
+サクラザワ,ヒデトシ
+アカギ,ヤスヒト
+アキズキ,マサトシ
+アンドウ,ヒロキ
+アライ,タマオ
+アサムラ,カツミ
+チバ,アコ
+エグチ,ユキタカ
+フチノ,トオル
+フジマル,ヒサト
+フジサワ,ノリオ
+フカダ,フミヒロ
+フクイ,ヒロシ
+フクトミ,リュウサク
+ギマ,カズヨシ
+ハギワラ,イチロウ
+ハラ,キヨタカ
+ハルナ,タカアキ
+ハツミ,アズサ
+ハヤセ,シンゴ
+ハヤツ,ヒロシ
+ヒラオカ,マユミ
+ヒロシ,ノブコ
+ホシコ,マサヒロ
+イチカワ,マサル
+イガワ,キヨシ
+イイズカ,アリサ
+ミツモト,ヒロタカ
+イマムラ,ヒロユキ
+イナミ,ヒロミチ
+イノウエ,タケシ
+イセ,ユキオ
+スギハラ,ヒロタカ
+イシモト,ケンジ
+イシズカ,トオル
+イトウ,ヨウジ
+カミカワ,タダミツ
+イワサキ,ケイコ
+イズミ,ミワ
+カマダ,タカヒロ
+タケウチ,ミキ
+ノムラ,エミコ
+カタノ,テルヒサ
+カトウ,タカシ
+カワダ,ヒロユキ
+イシイ,ヤスキ
+カワシマ,エイコ
+キクカワ,ユカリ
+キシ,タクシ
+コバヤシ,テツヤ
+コバヤシ,カズヒコ
+コヤマ,アキラ
+コクボ,ヨウコ
+コンド,ミエ
+コシオ,マサトシ
+クボ,ツトム
+ホシノ,トシヤ
+クサカワ,ケイイチ
+クスミ,ユタカ
+マキノ,チヒロ
+マルヤマ,マコト
+ナカムラ,チトセ
+マツモト,アツシ
+メザワ,ヒトシ
+ミネ,マサヤス
+ミト,ノブオ
+ミヤモト,シゲル
+ミヤザワ,カツミ
+ミズタ,ケンジ
+モリ,ハズキ
+モリモト,マナブ
+モロオカ,ミツヒロ
+アンドウ,イワオ
+ミョウガ,タカユキ
+ナガオ,アキヒロ
+ナガセ,ススム
+ナイトウ,サダミツ
+ナカジマ,トオル
+ナカマル,トシコ
+ナカムラ,リュウイチ
+ナカニシ,ヒデト
+ナカノ,ツカサ
+シナダ,アキラ
+ナリタ,タクジ
+ニイヤマ,ヒロシ
+ニシカワ,アキラ
+ニシズカ,トシヤ
+ヒノ,カズユキ
+ハセガワ,ミツアキ
+オガタ,ヒトシ
+ムサシ,ミツル
+オオクボ,ハルシ
+オオサワ,ヒデキ
+オオタ,シンジ
+オオワダ,ヒロノリ
+オカダ,タカヨシ
+オカモト,ヒロシ
+オキモト,マサヒコ
+オニツカ,マサアキ
+オサキ,タカシ
+サエキ,ヨシヒロ
+サカイ,リョウジ
+サカキ,キョウコ
+サカウエ,タカユキ
+サノ,トシフミ
+サトウ,ヤスシ
+サトウ,サトシ
+サワイ,ミチヒロ
+セキハラ,アキラ
+セシモ,シュウイチ
+シバタ,テツロウ
+ムラタ,リュウタロウ
+シミズ,ハヤトシ
+シモオサ,タケシ
+シノダ,ハツエ
+シライ,カズヒコ
+スドウ,モトユキ
+スギシマ,マサル
+スヤマ,トモノリ
+スズキ,ユタカ
+シュクヤ,ジュンイチ
+タグチ,ナオユキ
+ミヤモト,タカシ
+タカハシ,ケンリュウ
+タカハシ,ユキエ
+タカハシ,イチロウ
+タカセ,シゲキ
+ミカミ,ケイスケ
+タケヤマ,トシアキ
+タナベ,ヒロユキ
+タナカ,ヒロコ
+タナカ,ノリアキ
+タニグチ,ジュンコ
+タテイシ,ナオヤ
+テルキナ,アキヨ
+トミオカ,ナオキ
+トヨダ,マサヒコ
+ツチヤ,ヨシヒロ
+ツジ,ヒロシ
+ツノガイ,ヤスノリ
+ウチダ,マサフミ
+ウダ,ケイジ
+ウエハラ,シンジ
+ウエノ,ユウジ
+ウメハラ,マコト
+ウスイ,コウヘイ
+ワダ,ヨシアキ
+ワタナベ,サトシ
+ヤハギ,ナオフミ
+ヤマダ,トシオ
+ヤマグチ,トモカズ
+ヤマモト,ケンジロウ
+ヤマモト,マナブ
+ヤマシタ,リンジュ
+ヤマザキ,ヒトシ
+ヤスダ,マサミ
+ヨドガワ,ノリオ
+ヨロズヤ,ナオヒサ
+ヨシマツ,チハル
+エダヒロ,ミドリ
+コジマ,ヤスヒサ
+オガワ,メグミ
+タカセ,マミコ
+フクタ,カズミ
+タグチ,ヒロム
+アサノ,トシヒコ
+フジイ,ケンジ
+フジワラ,コウジ
+ゴトウ,ヒロカズ
+ハヤシ,トシアキ
+ヒライ,ヒロタカ
+イチイ,シゲユキ
+イケダ,イクジロウ
+イシマル,ミワ
+イトウ,テツヤ
+カゲヤマ,ツヨシ
+カサマ,ノリマサ
+カトウ,コウタ
+キクチ,トモアキ
+キタガワ,ミチハル
+コバヤシ,コウタロウ
+コンド,ノリコ
+クドウ,ハヤト
+クサフカ,シノブ
+マツダイラ,マキ
+ミクニ,ヤスシ
+ミヤチ,タカフミ
+ミヤザワ,ヒロキ
+モリタ,クルミ
+ムロゾノ,ヒロアキ
+ナカミチ,ショウ
+ニシムラ,シンヤ
+オガワ,タカシ
+オオエ,マサミチ
+オオタ,タカシ
+オカヤマ,ミツヨリ
+サイトウ,タカノブ
+サノ,タクヤ
+サトウ,タカシ
+シイ,ミサコ
+シンキュウ,マサユキ
+スギヤマ,キヨタカ
+タカギ,ヨシオ
+タケウチ,カホル
+タナカ,ノブコ
+タルサワ,アキコ
+トモノ,カズミ
+ワタナベ,マサトシ
+ヤマモト,ヒデト
+ヤマザキ,フミノ
+ヨネミツ,マコト
+ユリ,トモオ
+マツグマ,フミコ
+アジマ,ヤスアキ
+アマノ,チアキ
+アオキ,ヨシコ
+アオキ,ナオヒサ
+アラキ,カツジ
+アサクラ,タツオ
+アズマ,リエ
+サタケ,ケイコ
+ダイオ,ヒデキ
+ナカムラ,タカコ
+フジイ,タツノリ
+フジオカ,テツロウ
+フクイ,コウジ
+フナダ,ユウコ
+ゴトウ,カイチロウ
+ハマダ,ヨシミ
+サトウ,セイゴ
+ハリマ,ナオキ
+ハセガワ,アキヒコ
+ハタ,シンイチロウ
+ハットリ,ユキ
+ハヤミ,スミヒト
+ハヤシ,マサノリ
+ヒエダ,ミチカズ
+ヒオキ,トウメイ
+ホダ,ヒロキ
+ヒロスエ,ジュンコ
+ヒシダ,ヒロシ
+ホンゴウ,マサト
+ホリエ,アキノリ
+ホシナ,コウイチ
+イチカワ,ヒトシ
+イガタ,エイイチロウ
+イイズカ,マコト
+イケダ,タカユキ
+ホソイ,ケンタロウ
+イノ,ジュン
+イノウエ,フミノリ
+オオモリ,ケンイチロ
+イシイ,ケイジロウ
+イシイ,ヤスシ
+イシツカ,トシユキ
+イソガイ,ユウコ
+イトウ,サトシ
+イワハシ,ユウコ
+イワサキ,ヒロユキ
+カガブ,シンジロウ
+カマホリ,トモヒコ
+カミヤ,ノブユキ
+カナイ,ノリコ
+カンダ,チエ
+カノウ,タケシ
+タマタニ,シマ
+カトウ,ヒロキ
+カトウ,ジュンコ
+カワグチ,コウジ
+カワムラ,シュウジ
+カワシマ,ノブコ
+キクチ,イチロウ
+キムラ,タカヒサ
+キシ,ナオキ
+キタガワ,ナオミ
+キヨハラ,ツトム
+コバヤシ,ケンジ
+コダマ,ヤスヒロ
+コイワ,トモユキ
+コジマ,サトシ
+コンド,ケンイチ
+クボ,ナオキ
+クマクラ,ケンイチ
+ヒライ,コウジ
+クロダ,アツシ
+クロサワ,エイジロウ
+マエダ,サトシ
+シブタニ,コウジ
+マスダ,ユウコ
+ハラ,ケンジ
+マツイ,シンジ
+マツモト,ヒロシ
+マツナミ,ヨシコ
+マツオカ,シンゴ
+マツヤマ,アキラ
+ミカミ,ヒデオ
+ミナミ,アキラ
+ミタムラ,マサトシ
+ミツマ,カズヒト
+ミヤシタ,ヒロユキ
+ハシグチ,シゲキ
+ミズノ,トシユキ
+モリ,マサシ
+モリ,ヒロカズ
+モリヤ,ムツオ
+ムネカタ,カズヨシ
+ムラタ,ユキモト
+ミョウジン,ミチオ
+ナガシマ,ヨシカズ
+ナイトウ,マサキ
+ナカジマ,テルミ
+ナカモト,ヒロカズ
+ナカムラ,ユウジ
+ナカムラ,ケンタ
+ナカヤ,ワタル
+ナン,ケイスケ
+ナトリ,ケンヤ
+ニイザワ,ヨシノリ
+ニシダ,ヤスオ
+ニシナ,キヨシ
+ニシザワ,ヨシヒロ
+ノガワ,ヒロヤ
+ノムラ,マサヒロ
+オガサワラ,カズテル
+オガワ,ヤスノリ
+オハシ,サトシ
+オオノ,ヒロヤス
+オシマ,ツトム
+オオタキ,フトシ
+オオツカ,エイキ
+オオヤ,ムネオ
+オカダ,ヒロユキ
+オカザキ,コウタロウ
+オオミ,アヤコ
+オノデラ,マサヒコ
+オノ,タカアキ
+オザキ,ヨシマサ
+サイダ,モモコ
+サカグチ,コウジ
+サカイ,ナオキ
+サコ,アカシ
+サンベ,マコト
+ササキ,ユタカ
+サタケ,トシキ
+サトウ,ユキタカ
+ヒラノ,ヒロアキ
+サワムラ,ヒロシ
+セキネ,カズアキ
+シバハラ,カズノ
+シバザキ,マサコ
+シマ,コスケ
+シミズ,ケイスケ
+シモカワベ,アキヒロ
+シノザキ,ヒロシ
+シラハマ,ミチヒサ
+ショウナゴ,タカシゲ
+スダ,メイジロウ
+スギモト,ミカ
+スギタ,タカユキ
+スミダ,アツシ
+スズキ,マサフミ
+スズキ,シゲル
+スズノ,カツフミ
+タグチ,ミユキ
+タカギ,トシカズ
+タカハシ,ヒロミチ
+タカハシ,ヒデノリ
+タカハシ,ケンイチ
+タカノ,ミキコ
+タカシマ,タダシ
+タケダ,イズミ
+タケナカ,ケンイチ
+タケヤス,レイジ
+タムラ,ヒロユキ
+タナカ,コウイチ
+タナカ,タカヨシ
+タナカ,トオル
+タニグチ,カツヒコ
+テラマエ,セイイチロウ
+トキワ,チエコ
+トリゴエ,サダユキ
+ツチタニ,ヒデキ
+ツジムラ,タカシ
+ツカモト,ケンタロウ
+ツツミ,マサノリ
+ウチノ,サトシ
+ネズ,トシアキ
+ウエツボ,ヨシタカ
+ウオズミ,サンペイ
+ワダ,ミツノリ
+ワタナベ,ヨシキ
+ヤブ,コウジ
+ヤマダ,ユウコ
+ヒサノ,リカ
+ヤマグチ,ノリユキ
+ヤマカワ,ユキコ
+ヤマモト,ナオト
+ヤマモト,シンイチ
+ヤマウチ,シンイチロウ
+ヤマザキ,タカオ
+ハギワラ,ミキオ
+ヨネザワ,エリ
+ヨシダ,サチコ
+ヨシマツ,ケンタロウ
+ズシ,ユキオ
+イワカワ,ソウタロウ
+イシマツ,ヒロヤス
+アベ,エイイチ
+アカイシ,エイチ
+アマガタ,タカシ
+アンザイ,マサヒデ
+アラキ,トシミツ
+アシダ,サトシ
+チョウ,エイジ
+ドイ,ケンイチ
+エノモト,キヨミ
+フジイ,サツキ
+フジタ,タカシ
+フクムロ,タカシ
+フナキ,ナオキ
+フルヤ,トモヤ
+イワサキ,サエコ
+イトウ,シロウ
+ハダ,ヒデアキ
+ハナド,ミノル
+ハラダ,タケシ
+ハラゾノ,ノブヒロ
+ハシモト,サトシ
+ハットリ,マコト
+ハヤシ,タカヨシ
+ヒガシ,カズオ
+ヒラノ,ヒロコ
+ヒリキ,ケンイチロ
+ホンダ,サナエ
+ホシヤマ,ミギフミ
+イチハラ,タカシ
+イガラシ,カツノブ
+イケダ,リョウ
+イマムラ,オサム
+イナムラ,トモノリ
+イノウエ,ヤスヒロ
+イサカ,シゲル
+イシダ,ケイイチ
+イシイ,ノボル
+イシズカ,ユキオ
+イトウ,ショウコ
+イトウ,マサミ
+イトウ,エイジ
+イワナガ,ナオコ
+ジンバ,ツネノリ
+カジモト,タクヤ
+カコ,トシヒコ
+カン,タクヤ
+カノウ,マユミ
+カスヤ,マサナリ
+カトウ,ケンジ
+カワベ,ヨシユキ
+カワカミ,ケンイチ
+カワノ,マサヒコ
+カワシマ,ヤスノブ
+キクチ,マモル
+キムラ,アツシ
+キノ,アキ
+キタガワ,オサム
+コバヤシ,トシヒロ
+イトウ,シンジ
+コクショウ,マサル
+コンド,マサユキ
+コヤマ,ヒロタカ
+クレマツ,タカヒデ
+クリュウ,ヨシエ
+マチタ,マサキ
+マルイチ,マサユキ
+マスダ,ユキコ
+マツイ,ヒデシ
+マツモト,ヨシキ
+ナカムラ,ヒロユキ
+マツオカ,タケシ
+マツヤマ,コウタロウ
+ミシマ,カズミ
+ミツモト,キヨミ
+ミヤモト,トシアキ
+ウチヤマ,ミキコ
+ミズノ,マサヨシ
+モギ,モユル
+モリ,マサヒロ
+モリタ,カズヒサ
+モトバヤシ,サトル
+ムラカミ,ヒロアキ
+ムラタ,トモノリ
+ナバ,ヒロユキ
+ナガオケ,サトシ
+ナガタ,ショウヘイ
+ナカガワ,ヨシユキ
+ナカジマ,タカシ
+ナカムラ,タツヤ
+ナカニシ,イズル
+ナカオ,アキコ
+ナカヤマ,フミオ
+ネモト,ミツアキ
+ニシダ,ヨシヤ
+ニシムラ,キワム
+ノブハラ,コウジ
+ノゾエ,ハジメ
+オオギ,タケシ
+オオエ,ヨウイチ
+オオクボ,ヒロフミ
+オオモリ,ナオキ
+オノ,アキラ
+オオタ,アサコ
+オオタニ,ヤスヒロ
+オカ,フミコ
+オカマツ,タカヒロ
+オカモト,ノリオ
+オオノ,ナオキ
+トクミヤ,テツヤ
+サイトウ,ユタカ
+サカキバラ,タカオ
+ミタニ,ケンイチ
+サノ,シュウゾウ
+ササキ,セイジ
+サトウ,タカカズ
+サトウ,ノボル
+サトウ,トモキ
+サヤノ,イクヤ
+センナ,トシミツ
+シブタニ,キョウコ
+シマムラ,ヨシミツ
+シナダ,カツミ
+シラハマ,タロウ
+シュトウ,ユミコ
+スダ,ナオヒロ
+スギヤマ,ヒデマサ
+スミオカ,トモヤ
+スズキ,ヒデヒロ
+タバコ,クミコ
+タガワ,マコト
+タカハシ,シンヤ
+ワタナベ,マキ
+タカクラ,ケンスケ
+タカオカ,ゴウ
+タケハナ,マサカツ
+タケウチ,サトシ
+タナカ,ケンタロウ
+タナカ,セイジ
+タナカ,ノリヒロ
+タニイ,ユリコ
+タシロ,ケンイチ
+テラモト,エイジ
+トキオカ,タカシゲ
+トミカワ,ノリコ
+トリカイ,ナオキ
+ツダ,コウイチ
+サカイ,ミホコ
+ウダ,アツコ
+ウエノ,オサム
+ウメハラ,トシオ
+ウシバ,ミノル
+ワカオ,ケイジ
+ワタベ,マサトシ
+ワタナベ,ダイチ
+トミヤス,トシヒサ
+ヤマダ,マキ
+ヤマコシ,ダイスケ
+ヤマモト,ジュン
+ヤマシタ,ナオコ
+ヤナギ,トシアキ
+ヨコサワ,タクヤ
+ヨコヤマ,カズノブ
+ヨシダ,ナオト
+ヨシミ,タイキ
+ヨシザワ,トシカツ
+イマ,マサヒロ
+クボ,マサヒコ
+ナカハラ,タクヤ
+オグラ,トオル
+タカマツ,ケンイチ
+イノウエ,ムネヒロ
+アイバ,サトシ
+アマノ,ナオコ
+アリタ,ヒデアキ
+アタグチ,ヒロシ
+ダテ,シゲヒコ
+エザワ,ナリヒデ
+フジモト,ミキオ
+フクドメ,タカシ
+フルカワ,アケミ
+ハギワラ,リュウタ
+ハナタ,ヒラク
+ハセガワ,ユタカ
+カジワラ,ヨシコ
+ハットリ,タカユキ
+ヒガシ,リュウスケ
+ヒラオ,マサユキ
+ヒロセ,ミツル
+ホンマ,タケシ
+フクロイ,ケンジ
+イチノセキ,トシヒロ
+イケダ,ユタカ
+イマムラ,ケンスケ
+イノウエ,カズオ
+イシダ,コウジ
+イシカワ,アキラ
+イワサキ,タケシ
+カイズカ,ヒロコ
+カミガキ,ノリヒデ
+カネコ,クニヒコ
+カタギリ,ナオユキ
+カトウ,ケンジ
+カワカミ,コウジ
+カツキ,アキトモ
+キムラ,サトル
+キノシタ,ユカリ
+キタヤマ,チヒロ
+アメシタ,ナオキ
+コバヤシ,タカヒロ
+コガ,ノリユキ
+コイケ,アキオ
+コンド,トモノリ
+クボキ,イクコ
+クラシナ,カツヒト
+クロキ,ツヨシ
+マエダ,ヤスヒロ
+マサダ,ヒロユキ
+マツダ,ナオミ
+マツモト,シュウイチ
+メカタ,ヒロキ
+ミヤモト,アキヒロ
+モリ,ユカ
+モリタ,カズヨシ
+ムラカミ,マサアキ
+ムタ,ヒサシ
+ナガヤマ,テツヤ
+ナカハラ,タカコ
+ナカムラ,アキノブ
+ナカムラ,マリ
+ナカタ,コウイチ
+ナカザワ,ケイスケ
+ニシ,カネノブ
+ニシヤマ,ミナコ
+ノト,ジュンイチ
+オガワ,ヨウジ
+オオバ,マサヒデ
+オムラ,マユ
+イケマツ,タカコ
+オイダ,ヒトシ
+オカザワ,ヒトシ
+オノ,ナオミ
+サイトウ,アキヒサ
+サカイ,ノブヤス
+サクタ,ヨシアキ
+サトウ,マサヒコ
+サトウ,コウジ
+サワハシ,タツユキ
+シバタ,アヤコ
+シミズ,カツユキ
+シオミ,シンジ
+シタラ,ヒサシ
+スギタ,カツヒコ
+スケガワ,ノブヨシ
+スズキ,アキヒロ
+ショウ,ショウタロウ
+タイ,マサテル
+タカギ,テツロウ
+タカハシ,トシオ
+タカヤマ,ヒデツグ
+タケシタ,ショウゾウ
+タコ,ヨシキ
+タナカ,キョウヘイ
+タニ,カズナリ
+タズケ,セイイチ
+トモトシ,ケンジ
+ツチモト,フミオ
+ツノダ,ショウジ
+ウチダ,サトル
+ウエダ,アキノリ
+ウノキ,ノブヒコ
+ワダ,ヒロタツ
+ワシズ,ショウ
+ワタナベ,コウセイ
+ヤマダ,タカト
+ヤマグチ,ヨウジ
+ヤマモト,ミツゾウ
+ヤマナ,セイイチロウ
+ヤシロ,タケシ
+ヨコヤマ,マサヒコ
+ヨシダ,トモミ
+ユキ,セツコ
+ヒラカワ,マナブ
+モリイチ,エイジロウ
+シミズ,ケイ
+フジュウ,シンイチ
+ハガワ,タカシ
+ハセガワ,ヒデアキ
+ヒラノ,タクヤ
+ホンゴウ,テルヒコ
+イケダ,トシユキ
+イシカワ,ヒロキ
+イトウ,ヨシミ
+カナヤマ,コウジ
+カタギリ,シンスケ
+キモト,タクヤ
+キヤマ,セイジ
+コジナ,ケン
+コンド,ヒロヒコ
+クリタ,サトシ
+マスダ,ダイチ
+ミカミ,ミツオ
+ミワ,タカノブ
+モチズキ,ノブユキ
+モリヤマ,トシオ
+ナガフジ,キミヒト
+ナカジマ,マサヒコ
+ナカムラ,ヒサト
+ナスノ,ナオキ
+ノダ,ユウコ
+オガワ,リョウコ
+オオカワ,ジュンコ
+オオタニ,ケン
+オクムラ,マナミ
+イギ,アキノリ
+サナダ,ヨシヒロ
+サトウ,ヒデヒサ
+セキ,ヨウイチ
+シバタ,ユキノリ
+シマカワ,シゲル
+シオジリ,ヒロシ
+スダ,トモハル
+スズキ,コウジ
+タカダ,タカノリ
+タカハシ,キョウコ
+タカス,ツヨシ
+タニグチ,ナオキ
+ツネカワ,ヒロフミ
+ウエハラ,ヒデアキ
+ヤギモト,ヒロシ
+ヤマグチ,トモコ
+ヤマシタ,カズキ
+ヤザキ,ナオキ
+ヨシダ,ハルヒコ
+アイカワ,ヒロフミ
+チカハラ,オサム
+ワタナベ,タカエ
+ノザキ,テルアキ
+アカニシ,ナオヒロ
+シマモト,アトム
+アナザワ,ミノル
+イウチ,マコト
+イシカワ,コウイチ
+イチカワ,ソヨ
+イマハヤシ,シンイチ
+ウチヤマ,ヨシタカ
+オウサカ,マサタカ
+オオタニ,ヒデキ
+オオバヤシ,シンジ
+オグラ,ヒロコ
+カキモト,ヒロシ
+カトウ,シゲノリ
+カミヤマ,ヒロカズ
+カワセ,ナオキ
+キタジマ,アキヒロ
+クサカベ,マエコ
+コイデ,ヒデキ
+コマツ,ケイイチ
+サイトウ,ヒデキ
+サトウ,ジュン
+シュウ,マサヤ
+シノダ,マスミ
+シミズ,サトシ
+スガワラ,シゲフミ
+スミカワ,カツアキ
+タカセ,キヨタカ
+タケダ,ケイイチ
+タナカ,ケンジ
+タバタ,ミワコ
+ツチハシ,ムネヒロ
+トムロ,ナツヒコ
+ナカガワ,タカコ
+ナス,ヒロシ
+ニシハラ,ナオキ
+ノムラ,カズヒコ
+ハセガワ,ケンイチ
+ハラダ,トモコ
+ヒジリ,エリ
+フジタ,ノブコ
+ホソカワ,タツオ
+マスブチ,タカシ
+マツナガ,ユキ
+マツヤマ,テツヤ
+ミタ,ミノル
+ミヨシ,ヨウコ
+ムラヤマ,マコト
+モリシタ,カズヒロ
+ヤジマ,ナオコ
+ヤマザキ,ヒロユキ
+クリハラ,マサキ
+ヨコヤマ,ヨウコ
+ワタナベ,ヨシヒト
+クワシマ,スグル
+サカモト,ヒデノブ
+イトウ,タダヒロ
+ウメナイ,ススム
+オカシロ,シロウ
+カワオカ,ヒデキ
+クバ,タカシ
+コウダ,マサタケ
+サトウ,マユミ
+アベ,マサハル
+タカハシ,ヒサミ
+タバタ,カツユキ
+ナカガワ,コウイチ
+ハシモト,トオル
+ヒラノ,マサタカ
+ホソノ,アキヒト
+ムラカミ,ケイコ
+ヨシムラ,エリ
+アマヤ,マサル
+チョウ,ダイスケ
+ゴウダ,キヨノブ
+ハヤカワ,ヒロキ
+フルタ,ナルキ
+イイダ,タカヒロ
+イシワタリ,ヒロカツ
+カバヤマ,マサキ
+カンダ,ヤスヒト
+キタムラ,ヨシオ
+コンノ,コウイチ
+マチダ,ハルミ
+マツイ,タケシ
+ミウラ,ケイゴ
+タハラ,ノリコ
+ムラカミ,タツヒコ
+ナカミネ,マモル
+ナカザワ,キヨシ
+オオタ,シゲアキ
+イシカワ,ヨウ
+イトウ,トモヤ
+サトウ,ツグヒデ
+シバタ,ナオキ
+ソメヤ,アキヒコ
+タケダ,アキラ
+タナカ,コウイチロウ
+タニシタ,フミノ
+ツチヤ,ヨシコ
+ワジマ,リコ
+ヤマダ,ヒロキ
+ヤマザキ,ユタカ
+タカハシ,マサキ
+アンドウ,ユキ
+イシモト,リョウスケ
+イワサキ,ミズマサ
+ウメハラ,タカシ
+オガタ,ヤスシ
+オニザワ,シゲキ
+カジ,オサム
+カネコ,ノブカツ
+カワマタ,ヒロキ
+クボ,トモノリ
+コウサキ,コウイチ
+サイホ,ナルヒロ
+サナダ,オサム
+シシド,クニオ
+スギハラ,キヨシゲ
+タカオカ,ユミ
+イトウ,ジュンジ
+ナカオ,シンジ
+ナカノ,ジ
+ニシカイ,トシミツ
+ネロメ,ヒロシ
+ハブ,マコト
+ヒライ,カオリ
+フジワラ,トオル
+ホンマ,ユキノブ
+マツザワ,チカラ
+ミヤモト,ヤスジ
+モリヤ,ホマレ
+ヤノ,ヒロシ
+ヤマシタ,マイコ
+ヨダ,タカヒロ
+ワタベ,タカシ
+アキバ,ケイイチ
+アベ,マユミ
+イトウ,ヨウジ
+イシムラ,ユミコ
+イトウ,マサル
+イマイ,タケシ
+ウエハラ,モトコ
+ウメツ,アキヒコ
+イマニシ,ヒロユキ
+オオイシ,マサハル
+オカノ,ユキ
+オガワ,トオル
+カガミ,エリカ
+カタヤマ,ミツコ
+カミ,ヨシテル
+カワサキ,ヒトシ
+カワモト,ミチオ
+キタモト,ツトム
+ギョウブ,ヒロコ
+コイケダ,タツロウ
+コダマ,タイチロウ
+コバヤシ,ヒデヒト
+サイゴウ,ミワコ
+サカガミ,イチロウ
+ササキ,ナナエ
+サワ,ケンゴ
+シミズ,ユキオ
+ショウダ,シゲノリ
+スズキ,カズヒラ
+イシハマ,ケント
+タカハシ,マキコ
+タケワ,シンジ
+タハラ,サトシ
+ツツミ,マコト
+ナイトウ,コウジ
+ナカジマ,ノゾム
+ナカムラ,ソウイチロウ
+イケダ,マサタカ
+ニシ,ツネアキ
+ノノイチヤ,マスオ
+ハシズメ,ユウコ
+ハットリ,ユウ
+イノグチ,カツフミ
+ヒマキ,トモノリ
+フカザワ,リエ
+フジナガ,フミコ
+フルヤ,マリコ
+ホリカワ,トモヒロ
+イグチ,タカヒロ
+ミツハシ,エイイチ
+ミヤシタ,ヨウコ
+ムラマツ,マサユキ
+イノウエ,アキノリ
+ヤノ,タダタカ
+ヤマダ,タツオ
+ヤマモト,ムネタカ
+ヨシダ,リョウ
+ワタナベ,ヒデユキ
+ワタナベ,トシエ
+コウダ,サトル
+オガワ,ヒロアキ
+アキモト,ススム
+アサノ,トモヒコ
+アベ,マサオミ
+イツノ,ミキオ
+イチノセ,コズエ
+イリタ,ヤスアキ
+イシオカ,シンイチ
+イチキ,マサト
+イハラ,キヨタカ
+イマズ,ツヨシ
+イワスギ,ミカ
+ウスイ,マサヒロ
+エトウ,ケンジ
+オウ,ヨシヒロ
+イワキリ,ワタル
+オオツキ,ジュン
+オムラ,クミ
+オカザキ,トモミチ
+オガワ,アキラ
+キタムラ,マリコ
+オオヤマ,チズル
+カサザキ,ヨシヒロ
+カツノ,タカノリ
+カトリ,ケンジ
+ガミ,ヒロシ
+カワカミ,マサミ
+カワミ,シンジ
+キタシロ,カズヨシ
+キムラ,シゲル
+クジラオカ,ダイキ
+イシグロ,タロウ
+イナトミ,ダイスケ
+コズマ,マイコ
+コシイ,トモヒロ
+コニシ,タダシ
+コバヤシ,ヨシオ
+サイトウ,トモエ
+サカイ,ミネオ
+サカモト,ジュンコ
+サトウ,シンイチロウ
+イシグロ,ヒデタカ
+シナダ,ヨシコ
+シマダ,ヨシサダ
+イトウ,キョウコ
+スギヤマ,カズナ
+スズキ,コウジ
+セキグチ,ケイコ
+カミヤ,カスミ
+タカノ,ケンイチ
+タカハシ,コウイチロウ
+タカミザワ,リュウキ
+タケウチ,タカキヨ
+タケモト,カズヒコ
+タチバナ,アヤコ
+タナカ,ナオコ
+タナミ,ツネオ
+タノオカ,ミエコ
+チュウ,サヤカ
+ツチヤ,セレナ
+トジ,マサコ
+トヨダ,タクヤ
+ナカジマ,トモコ
+ナガタ,ヨシヒコ
+ナガハラ,ヨシユキ
+ナカムラ,マサカツ
+ニシカワ,イワオ
+ニワ,ユキエ
+ノガミ,ユカ
+ハシズメ,タカシ
+ハセベ,ヨウヘイ
+ハナブサ,オサム
+ハヤシ,マコト
+ハルタニ,タカヒロ
+ヒョウエ,トモヒロ
+ヒラヌマ,カズオ
+フクダ,タカヒロ
+フジオ,タカユキ
+イノウエ,ノリオ
+フルカワ,マサミツ
+フワ,ミオ
+マエカワ,ルミ
+マキタ,カツユキ
+マツウラ,エリコ
+マツダ,タカシ
+マツミヤ,ケンイチ
+マナベ,リョウスケ
+ミナト,ヒロユキ
+ムラカミ,マサミ
+モトヨシ,マコト
+モリタ,ケンジ
+ヤギ,ケイスケ
+ガン,ハナエ
+ヤマグチ,ヤスマサ
+ヤマサキ,ジュン
+ヤマダ,タツジ
+ヤマニシ,ナオキ
+ヨコタ,トモフミ
+ヨシカワ,タクヤ
+ヨシムラ,クニヒコ
+ワキタ,トオル
+ワタナベ,ソウ
+アマコ,ヨシオ
+マノ,アキ
+ウチムラ,チナツ
+サクライ,マミ
+シライ,ユタカ
+テラクラ,ヨウジ
+オカダ,タツシ
+ゴトウ,アキヒロ
+ツバキ,セイイチロウ
+イナガキ,ヒデトシ
+ホリベ,モトジ
+カイ,ヨシエ
+タカダ,トクヒコ
+コタニ,フミヒコ
+イハラ,ケイコ
+アキハラ,シュンスケ
+アベ,ユキ
+アラキ,ヒロシ
+イシイ,ノブヤス
+イシゼキ,ダイスケ
+イタニ,タカシ
+イトウ,シズコ
+イノ,ミキ
+イワザキ,ヒロタカ
+ウエノ,ケンジ
+ウメハラ,ナツコ
+オオエ,ダイスケ
+オオツ,チエ
+オオツボ,マサミツ
+オカダ,タツヤ
+オカモト,ヒサシ
+オクナカ,セイシ
+オバラ,ユリコ
+カジナガ,ユタカ
+カトウ,リョウ
+カトウ,ワタル
+カワイ,コウジ
+カワグチ,ススム
+キシ,レイコ
+キドコロ,アツシ
+クボタ,マユミ
+クワバラ,ユカリ
+コクボ,モモエ
+ゴトウ,ケイコ
+コミヤマ,マサヨシ
+サイトウ,シゲル
+サカモト,チカラ
+ササノ,アカギ
+サナダ,マサユキ
+シマダ,タケシ
+シモフジ,ノブヒコ
+シワ,ケンイチ
+スギハラ,ヒロノブ
+スズキ,マサヤ
+セキ,アツナリ
+タカギ,カヨ
+タカハシ,ヒロナオ
+タキザワ,サトシ
+タケダ,ユウイチロ
+タナカ,セイジ
+タニカワ,ヨシツグ
+タバタ,ケイタロウ
+ツカダ,リエ
+ツボタ,マサヤ
+トウカイリン,ユミ
+トノイ,アキコ
+ナカガワ,ヨシノリ
+ナガノ,リョウタ
+ナカヤマ,トモヒロ
+ニシオカ,シンイチ
+ネギシ,リカ
+ノザキ,ダイスケ
+ハシグチ,トシヒロ
+ハットリ,ユウイチ
+ハマダ,ダイジ
+ヒシヌマ,アツシ
+ヒラタ,マミコ
+フクダ,タカシ
+フジエダ,ヒサカズ
+フジワラ,タクト
+ホリカワ,シュウジ
+マツオ,ヒデノリ
+マツヤマ,ミツテル
+ミヤ,アキラ
+ミヤモト,クニコ
+ムラカミ,タツヒロ
+モリタ,マミ
+ヤグラ,シンジ
+ヤマダ,ミズホ
+ユラ,ケンイチ
+ヨシザワ,ユウコ
+ロク,アキコ
+ワラビ,ヒロノリ
+ミヒラ,リョウヘイ
+ミギタ,マナ
+タケウチ,リョウ
+オノデラ,クニヒロ
+アカガワ,モトコ
+アサヌマ,アヤ
+アライ,ツヨシ
+イザワ,チハル
+イシバシ,トシユキ
+イデ,ナルミ
+イノウエ,マコト
+イマゼキ,クミコ
+イワタ,コウジ
+ウサミ,マリコ
+エノキド,ヨリコ
+オキタ,ユキノリ
+オオツカ,モトイ
+オノ,ヒロシ
+オカダ,カズヒロ
+オククボ,タカシ
+カナイ,ケンイチ
+カミヤ,サチコ
+カワサキ,ヒロキ
+キダ,エイスケ
+キムラ,フミト
+クメウチ,ケンジ
+クワハラ,シノ
+コガ,タクジ
+コバヤシ,アンナ
+サイトウ,ケンイチ
+ササキ,ハナコ
+サトウ,ミキ
+サハラ,タカフミ
+シダ,ヨシヒロ
+シミズ,タツオ
+シモザキ,タツヒコ
+スギウラ,マサノブ
+スト,サトシ
+セト,ケイジ
+タカギ,ノリユキ
+タカハシ,ミカ
+タケダ,ユウジ
+タダ,ヨシタカ
+タニグチ,タカノリ
+タムラ,ケイコ
+ツカハラ,ミズホ
+ツボウチ,アキフミ
+テラダ,ヨシキ
+トミイ,ジュンコ
+ナイトウ,タカオ
+ナガサカ,コウジ
+ナガノ,ヤスオ
+ナカムラ,エイジ
+ニシ,ナオユキ
+ニシダ,リョウヘイタ
+ノグチ,カズヨシ
+ノムラ,カズオ
+ハットリ,サトミ
+ハヤカワ,ユキ
+ハラダ,ミエ
+ヒデシマ,ミキコ
+フカオ,ミユキ
+フクハラ,ユキコ
+フジモト,エリコ
+ホシノ,スミオ
+ホリグチ,ジュンイチ
+マキノ,タケオ
+コミヤ,ノボル
+コバヤシ,ヒロシ
+カミクボ,ケンジ
+マツオ,キヨシ
+ナカチ,キヨシ
+コスギ,ヨシミ
+カツマタ,トシカズ
+カガヤマ,マサハル
+クゼ,ミキオ
+クマダ,マサアキ
+コジョウ,サナエ
+カシクマ,ケンゾウ
+キクチ,ヨシヒサ
+クマノ,マサユキ
+コバヤシ,シュンジ
+コバヤシ,ノブコ
+コニシ,ケンイチ
+コバシガワ,ヒトシ
+カイド,ミホ
+クロキ,ジュン
+カナタニ,リエ
+キタガワ,ナオタカ
+ミズモト,ナルキ
+ミヤオカ,ケンロウ
+ムラタ,ケンジ
+モリタ,ヒデトモ
+ヤナギダ,エリコ
+ヤマザキ,ケン
+ヤマモト,ヤスノリ
+ヨゴ,トモノリ
+ヨネダ,ユミコ
+ワコ,リエ
+アカハネ,ヒロアキ
+アサベ,カヨ
+アライ,ヒデオ
+イケダ,ヨシタカ
+イシド,ユキコ
+イズノ,ミツヒロ
+イトウ,タケシ
+イノウエ,ノブタカ
+イワタ,ヨシヒロ
+ウカイ,ヒサナガ
+エトウ,ヒロキ
+オオサカ,タテキ
+オオニシ,ミツル
+オムラ,トモコ
+オカノ,ヤスフミ
+オガワ,タクヤ
+オザキ,タカユキ
+オトガワ,リョウコ
+カサイ,ナオコ
+カスガ,サナコ
+カトウ,ケンイチロ
+カメタカ,タイスケ
+カワグチ,アユミ
+カワバタ,アユミ
+キタガワ,タケシ
+キムラ,ヨシカズ
+キリサコ,テッペイ
+クラハシ,タカアキ
+ゴウダ,タケヒロ
+コテラ,キミヒロ
+コバヤシ,ナツコ
+コマツバラ,トモヒサ
+サイトウ,テルヒサ
+サカイ,タカユキ
+サクライ,サダヨシ
+サトウ,アキ
+サワサキ,タカシ
+シマノ,トシアキ
+ショウダ,クミ
+シンタニ,ケンタ
+スギヤマ,タカネ
+セキモト,カツアキ
+タカハシ,レイ
+タグチ,ワタル
+タチバナ,ナオト
+タナカ,サチエ
+タマキ,ナオコ
+ツカダ,テツヤ
+ツボクラ,タクヤ
+ドイ,ノブタカ
+トダ,シュンスケ
+ナガサカ,ミチコ
+ナカシマ,アキヒロ
+ナカニシ,ミドリ
+ナカムラ,マユ
+ナカヤマ,タケシ
+ニシノ,ユカ
+ノクオ,カオリ
+バコシ,シンゴ
+ハタノ,ヨウコ
+ハヤシ,サトコ
+ハラダ,アツシ
+ヒライ,ユウスケ
+ヒロエ,アツシ
+フクダ,サヤカ
+フジムラ,アキコ
+フルカワ,ヒロコ
+ホソダ,シュンゴ
+マエカワ,ミワ
+マサトウミ,マイコ
+マツオカ,トモコ
+マツバラ,アキコ
+ミウラ,キヨマサ
+ミゾハタ,チエ
+ミハラ,マサキ
+ミヤムラ,アヤ
+ムラタ,クミコ
+モリ,クミコ
+モロエ,ヒロカズ
+ヤナギサワ,ケイスケ
+ヤマガタ,マコト
+ヤマダ,ノブコ
+ヤマモト,テルヒコ
+ヤマモト,ワタル
+ヨコヤマ,アユミ
+ヨシダ,ナオコ
+ヨシムラ,ダイスケ
+ワダ,イサム
+ワタナベ,ヒロシ
+ササノ,ススム
+コダマ,タカヒコ
+カワシマ,マサナリ
+カワノ,コウイチ
+カミウラ,カズヒデ
+コンノ,ヒデキ
+クヤマ,タケシ
+コイ,セイイチロウ
+カサジマ,ヒロフミ
+カトウ,トモミ
+クボタ,ヒロユキ
+ケガサワ,ヒサシ
+カワギシ,ヒロシ
+カマダ,タカシ
+キクチ,オサム
+カトウ,カズヒコ
+マチダ,カズオ
+ムラサキ,トシオ
+マツモト,ケンイチ
+マサキ,キクオ
+ミズタニ,ナオヒコ
+マルヤマ,セイジ
+ムラシマ,タダオ
+ミズタ,ヨシオ
+モリイ,ギョジ
+ミヤザワ,ヨシオ
+ミズノ,ユリコ
+ムライシ,マモル
+ムラカミ,カズオ
+ムラマツ,アツシ
+ミタク,ケイゾウ
+マエダ,アキオ
+ムライ,トヨミ
+マツダ,サトシ
+ミテラ,ヤスオ
+モリ,ツトム
+マツイ,タカシ
+ミウラ,クニオ
+マツモト,タケシ
+マツザワ,ヨシオ
+ミカミ,ハルキ
+タブチ,ケンジ
+ナカジマ,マサヒロ
+ナイトウ,タケオ
+ニシナ,キミヒト
+ナカガミ,シュウイチ
+ナカハタ,カズトシ
+ニシオカ,ヒロシ
+ニシダ,ヨシロウ
+ノムラ,クニヒコ
+ナカムラ,ヒデユキ
+ナイトウ,カズアキ
+ニッタ,ユタカ
+ナカジマ,カツオ
+ナカセ,トシアキ
+ナカガワ,ノブオ
+ナカジマ,ムネタカ
+ナカムラ,ホズミ
+ナガシマ,ナオジ
+オキ,スミオ
+オクダ,トシオ
+オオハシ,ヒロシ
+オガワ,トオル
+オザワ,ヒロシ
+オオハシ,ユタカ
+オオノ,ミツオ
+オオイシ,ジ
+オオカワ,カオル
+オリガサ,ヤスタケ
+オオタ,ヨシヒコ
+オザキ,ジュンイチ
+オダシマ,タダシ
+オオヒラ,セツジ
+オオヤ,ヒデホ
+オカノ,アキコ
+オグシ,アケミ
+オオイガワ,タカハル
+ナカタニ,シンイチ
+シラオガワ,ライタ
+ナカムラ,トシミツ
+アベ,エミコ
+カワウチ,マリエ
+イトウ,ケンソウ
+コイズミ,タクヤ
+カナオカ,ヒロシ
+アリマ,ヤヨイ
+ウマヤハラ,ヤスミ
+カネマツ,サキコ
+フカヤ,クニアキ
+ゴトウ,ユウイチロウ
+スギモト,クニオ
+クリハラ,トヨヒコ
+オオタ,ユキコ
+スズキ,タケシ
+ヨシダ,カズトシ
+ハットリ,ヒロシ
+カドタ,アキヒロ
+イシザワ,ユズキ
+ミヤモト,ミドリ
+オジ,ヤスヒロ
+アライ,トシアキ
+キタムラ,リカコ
+サイトウ,ヨシヒト
+コバヤシ,キョウゾウ
+ニシカワ,トモミ
+タナカ,カズヒロ
+ズシ,ヤスオ
+アライ,ショウヘイ
+マエデラ,テルユキ
+コンド,ナオ
+ナガホリ,ユキコ
+イワサキ,ミヤビ
+ナカタニ,タカシ
+ナカガキ,ケイコ
+クワハラ,マコト
+スズキ,ユキ
+タダ,エイキ
+ワダ,ナオコ
+サノ,ヒロシ
+トキタ,ナツコ
+コサイ,ユウコ
+セゴエ,サトコ
+ナカイ,アツミ
+ハラダ,トシマサ
+キノシタ,ミチオ
+ミヤザキ,カズミ
+タキザワ,マサアキ
+サトウ,コウイチロウ
+ミズシマ,タケル
+タニグチ,ハルミ
+マツシタ,タカシ
+スギウラ,ケンタロウ
+タニガキ,セイコ
+サトウ,シゲオ
+ヤマカワ,サダハル
+スズキ,シゲヒロ
+トクダ,マンナリ
+イワマ,ノブアキ
+オオハラ,ユキナオ
+シオヌマ,ヒデトシ
+スズキ,アキヨシ
+スズキ,ヨシコ
+スズキ,ノブアキ
+セキ,オサム
+スズキ,ツトム
+スガオ,テツジ
+スズキ,ケイタロウ
+サドトモ,アキラ
+シマ,ミノル
+サイトウ,オサム
+スズキ,マサヒロ
+サイトウ,ユキオ
+ソマ,オサム
+サトウ,ケンジ
+シロサキ,ヨウイチ
+スズキ,ヨウジロウ
+スズキ,テツロウ
+スギモト,マサオ
+サカイ,シンイチ
+スズキ,カズユキ
+サトウ,タツジ
+シオタ,トヨオ
+ソマ,カンジ
+シュドウ,タカオ
+サクライ,トシオ
+ソウヤ,セイジ
+サワムラ,ナルミ
+セオ,ユウジ
+シミズ,トシオ
+サキモリ,イワオ
+サイトウ,ヒサオ
+シミズ,エイゾウ
+シオノヤ,キヨカズ
+タカギ,ヒデオ
+タキイシ,リョウジ
+トバ,マサシ
+タグチ,マサオ
+タカノ,ムネオ
+タカヤス,トヨミ
+タナカ,シゲル
+タカハマ,ヨシアキ
+ツチダ,マモル
+タカオ,マスミ
+タニグチ,ミチアキ
+ツジカワ,ユウイチ
+ヨシザワ,マサハル
+タナカ,ジュンゾウ
+タマル,マサミ
+タカギ,キョウコ
+ツネヒロ,ジュンジ
+タカハシ,トシアキ
+アサイ,ユウジ
+タカサキ,アキラ
+タカナミ,マサル
+トモナガ,ツネカズ
+タカギ,イツオ
+ツカモト,アキオ
+テラウチ,サダユキ
+タノオカ,ススム
+ウスギ,カズヒロ
+ウツキ,テツオ
+ウチダ,ケンスケ
+ウメムラ,トシオ
+ウノ,トシヒデ
+ワタナベ,ヒサユキ
+ワタナベ,カツナリ
+ワタナベ,コンゴウ
+ワダ,タケミツ
+オオタ,マコト
+ナカジマ,ケイイチ
+フルサワ,ツヨシ
+カシワギ,コ
+ハタ,ショウスケ
+ウシジマ,マサカズ
+マツイ,アキラ
+カワナ,ダイジロウ
+ミヤモト,タカヒサ
+ヨシダ,スミユキ
+オオカワラ,ゲンタロウ
+スヤマ,クンロウ
+スズキ,ユウジ
+クニギタ,ヨウイチ
+キド,マサシ
+イシイ,チカトシ
+ウエダ,タカシ
+イチカワ,カズオ
+オサジマ,トシヤ
+ウエムラ,トシヒデ
+キムラ,トキチ
+ヨコヤマ,ヒサオ
+イトウ,マサユキ
+ミヤベ,カズト
+タマイ,カズミチ
+コリ,コウイチロウ
+イワサワ,マナブ
+ヨシヤス,ゴウ
+マタキ,シンゴ
+ヤマモリ,カツオ
+タカタ,ノリオ
+スドウ,ショウコ
+ウエムラ,ユタカ
+スズキ,ミノル
+スズキ,アキラ
+アラキ,セキネ
+カダ,アキラ
+ニシヨリ,ミノル
+イナバ,カズト
+ホリイ,ツネオ
+スドウ,マサヒコ
+シロヤマ,コ
+テライ,アキコ
+マツモト,ナオタケ
+イトウ,セイジ
+ソトヤマ,カツノリ
+ヒラオカ,ヤスシ
+ヒラキ,タモツ
+タナベ,ユウジロウ
+タメチカ,タテオ
+ヨネダ,トシヒデ
+エジマ,トモノリ
+タカハシ,ミサコ
+テラオ,ヒロヒサ
+ホンダ,ユミ
+オチリ,ヤスヒロ
+オオイ,ナオミ
+カワイ,ミノル
+ムラカミ,ミヨシ
+ナカジマ,ヒトシ
+イシハラ,フミタカ
+アカホリ,ミツノブ
+ヤスダ,アキラ
+ヨコセ,トモシゲ
+ヨシカワ,トシロウ
+ヤマグチ,ミノル
+ヨシムラ,マサヒコ
+ヨネダ,カオル
+ヤマシタ,ショウゾウ
+ヤマダ,エイゾウ
+ヤマザキ,ススム
+ヨシダ,ヒロシ
+ヤマタニ,ヒロツグ
+ヤマネ,ヨネタカ
+ヤマカワ,ジュンイチ
+ヨシダ,タカオ
+ヤマサキ,ノリオ
+ヤマモト,テルオ
+ヨコタ,エイイチ
+ヤマダ,カツヒロ
+ヨシノ,ダイスケ
+ヨシダ,ムツオ
+ノムラ,マサタカ
+ヤマダ,サトル
+イシカワ,チヨタケ
+スズキ,ヒロフミ
+マスダ,ケンジ
+イマイ,マサゾウ
+キュウソジン,ケンスケ
+ヤマダ,アキラ
+ヒラノ,タイキ
+ナカニシ,カズシゲ
+タツタ,シゲル
+ミムラ,マサオ
+ヒラマツ,サダオ
+トミタ,マサヒロ
+コバヤシ,シンイチロウ
+タケナカ,マサヒロ
+アマノ,ノリコ
+イシイ,キョウコ
+イデ,サキコ
+オカダ,リエコ
+ヒライシ,マリ
+ヨシモト,ヒロコ
+カワシマ,マユミ
+トバタ,ノリカズ
+タナカ,ヒカル
+アンベ,マナミ
+タカハシ,マサヒロ
+トミヤマ,ヨシアキ
+タカヤマ,トシユキ
+ミヤシタ,ミノル
+ハシモト,ミキオ
+トガメ,ミワコ
+ノグチ,カズマサ
+ノグチ,アキラ
+ソウミヤ,ケンジ
+キムラ,ヨウジ
+カトウ,トモユキ
+スズキ,ケンジ
+オカダ,ヒロミ
+ヤノ,ジュンコ
+オノサト,ハン
+マツダ,ヨシアキ
+キムラ,タカシ
+タムラ,トモノリ
+カトウ,トシヤ
+イヌマル,ヒロジ
+オノデラ,ナオコ
+スズキ,チハル
+タニカワ,ホズエ
+サクマ,シマ
+イマムラ,ルリコ
+エイドメ,ユキ
+ヨシイ,タダヒロ
+オオタキ,ユミコ
+クスモト,イサオ
+ミヤシタ,ユキオ
+マチイ,カズヒロ
+ハヤシダ,タカトシ
+ハルハラ,タカシ
+テラモト,ユウジロウ
+マツモリ,カズオ
+ワタナベ,コウジ
+カネコ,ヤスシ
+オリガサ,マツノリ
+ツカモト,ヒロミチ
+ヨシダ,ミナ
+ニシダ,ヒサエ
+フルカワ,リエ
+ムラカミ,タカオ
+オオバヤシ,コウキチ
+サトウ,ケイコ
+ヤマ,フミコ
+ミヤタ,タカテル
\ No newline at end of file
diff --git a/src/com/ibm/icu/dev/test/perf/data/collation/TestNames_Chinese.txt b/src/com/ibm/icu/dev/test/perf/data/collation/TestNames_Chinese.txt
new file mode 100644
index 0000000..593a0f6
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/perf/data/collation/TestNames_Chinese.txt
@@ -0,0 +1,10902 @@
+﻿#/**
+# *******************************************************************************
+# * Copyright (C) 2002-2004, International Business Machines Corporation and    *
+# * others. All Rights Reserved.                                                *
+# *******************************************************************************
+# */
+
+虹如
+丁一賢
+丁川偉
+丁心嵐
+丁弘光
+丁任法
+丁志宏
+丁幸姬
+丁俊夫
+丁建文
+丁映純
+丁羿文
+丁哲
+丁偉民
+丁國梅
+丁淑玲
+丁甦南
+丁毓彥
+丁雍哲
+丁綺慧
+丁慧嵐
+丁璟楓
+丁譽琳
+丁鋐鎰
+卜正倫
+于弋翔
+于秀美
+于秉弘
+于清華
+于殿聖
+山傑
+尹寸欣
+尹居才
+尹振威
+尹瑞豐
+尹曉恩
+仇家琪
+孔守中
+孔智杰
+孔繁霖
+尤心瑜
+尤吟文
+尤良
+尤明仲
+尤俊響
+尤星策
+尤偉仕
+尤淨纓
+尤欽樂
+尤盟貴
+尤寬宏
+尤韻琇
+尤蒔萱
+文志忠
+文真花
+文儀詠
+方士銘
+方天中
+方文鋒
+方永清
+方汝育
+方孝君
+方志明
+方秀敏
+方佳俊
+方幸宜
+方怡潔
+方長揚
+方俊雄
+方奕斌
+方建智
+方彥程
+方映芬
+方柏欽
+方秋錦
+方若珊
+方重凱
+方晉德
+方健剛
+方彩宜
+方淑芬
+方淑儒
+方凱玲
+方景弘
+方策民
+方雅琪
+方愛珍
+方瑞遠
+方裕欽
+方嘉興
+方翠鴻
+方慧琴
+方靜宜
+方瓊儀
+方麗雅
+方鐘鋒
+方菀萍
+毛文勇
+毛佩娟
+毛彥喬
+毛淑芬
+毛漢梅
+水祥苓
+牛貴賢
+王一珍
+王乃俐
+王力平
+王上維
+王士忠
+王士榮
+王士豪
+王大昌
+王子成
+王子英
+王子熙
+王小芬
+王中平
+王中憓
+王尹聖
+王仁君
+王仁宗
+王仁舜
+王元助
+王元興
+王友志
+王天文
+王少文
+王心忠
+王心怡
+王心智
+王文平
+王文君
+王文志
+王文杰
+王文郁
+王文琪
+王文瑤
+王文鴻
+王方怡
+王月婷
+王世宇
+王世明
+王世傑
+王世廣
+王丕銓
+王可欣
+王巧瑩
+王弘毅
+王正威
+王正達
+王永仁
+王永昇
+王永誠
+王玉文
+王玉珠
+王玉雲
+王生勳
+王立梅
+王立瑋
+王仲琦
+王光麃
+王吉佳
+王如玉
+王宇清
+王安凱
+王旭全
+王有權
+王自強
+王佐輔
+王伯逸
+王利生
+王君瑞
+王妙紅
+王孝君
+王宏仁
+王宏哲
+王宏嘉
+王序綸
+王志仁
+王志文
+王志弘
+王志呈
+王志忠
+王志峰
+王志偉
+王志清
+王志欽
+王志誠
+王志豪
+王志銘
+王杏如
+王秀云
+王秀芬
+王秀珠
+王秀雯
+王秀椿
+王育德
+王谷神
+王亞志
+王依韻
+王佳珍
+王佳琪
+王佩
+王佩音
+王佩詩
+王坤賢
+王孟謙
+王宗棋
+王宜彥
+王岡陵
+王念慈
+王怡仁
+王怡文
+王怡方
+王怡珍
+王怡清
+王怡婷
+王怡晴
+王怡雅
+王怡蘋
+王承舜
+王明仁
+王明珊
+王明富
+王昀珩
+王欣之
+王欣慧
+王泓翔
+王治邦
+王玫樺
+王芳慧
+王邵郁
+王金華
+王雨湘
+王亭鈞
+王信仁
+王信泰
+王信富
+王信裕
+王俊仁
+王俊立
+王俊彥
+王俊清
+王俊傑
+王俊凱
+王俊凱
+王俊富
+王俊欽
+王俊超
+王俊道
+王俊龍
+王俞文
+王冠倫
+王冠然
+王則勝
+王勁凌
+王品淇
+王奕君
+王奕鈞
+王姿今
+王姿萍
+王威能
+王宣卿
+王建山
+王建文
+王建政
+王建凱
+王建欽
+王建雄
+王建斌
+王彥能
+王彥智
+王律之
+王思捷
+王思潔
+王政治
+王政權
+王昭人
+王昭淑
+王昭懿
+王星皓
+王昱凱
+王昱蘋
+王柏欣
+王柏堯
+王柏鈞
+王派軒
+王為蒨
+王玲英
+王盈心
+王盈傑
+王盈雅
+王祈鈞
+王秋惠
+王紀
+王美玉
+王美玲
+王美淑
+王美惠
+王美雯
+王美懿
+王致棠
+王若筑
+王英文
+王英蓉
+王衍易
+王貞懿
+王郁欣
+王郁婷
+王郁菁
+王郁珺
+王韋翔
+王修蘭
+王哲聰
+王家偉
+王家瑜
+王展瑋
+王悅如
+王振宇
+王振浩
+王時蔚
+王桂岑
+王海天
+王浩倫
+王珮倫
+王珮璇
+王素卿
+王純美
+王茹馨
+王偉民
+王偉州
+王偉軍
+王偉德
+王健民
+王健勳
+王國
+王國彥
+王國隆
+王國龍
+王執信
+王培樺
+王婉瑜
+王崇明
+王崑龍
+王彩霞
+王惇慧
+王啟宗
+王啟樵
+王敏貞
+王敏銓
+王晨曄
+王梅蘭
+王淳慧
+王清鴻
+王淑怡
+王淑冠
+王淑眉
+王淑娟
+王淑媛
+王淑雯
+王淑慧
+王淑韻
+王淨瑩
+王祥宇
+王祥霖
+王紹真
+王莉汶
+王莉雯
+王雪如
+王傑立
+王凱弘
+王凱怡
+王凱蒂
+王勝弘
+王勝雄
+王博文
+王博修
+王堯弘
+王婷儀
+王富昌
+王復輝
+王惠君
+王惠玲
+王惠敏
+王惠慧
+王敦正
+王晴姿
+王景元
+王景泉
+王智弘
+王智立
+王智益
+王智鳴
+王智龍
+王朝永
+王朝鍵
+王欽帝
+王湘雲
+王琪
+王琦枚
+王皓正
+王紫雯
+王翔寧
+王舒瑜
+王舜生
+王菁蘭
+王詠慧
+王貴龍
+王逸修
+王進鴻
+王閔韋
+王雅伶
+王雅姿
+王雅貞
+王雅惠
+王雅雯
+王雅儀
+王雅慧
+王雯
+王雲生
+王順鴻
+王勤善
+王意惠
+王慈慶
+王愛嘉
+王敬翔
+王新慧
+王榆富
+王毓菁
+王毓煇
+王照興
+王瑞吟
+王瑞烽
+王瑞雲
+王瑞頤
+王瑞薌
+王盟仁
+王稜鈞
+王聖
+王聖尤
+王聖淳
+王聖棋
+王聖維
+王聖瑋
+王裕正
+王裕智
+王詩郁
+王詩婷
+王詩雅
+王詩馨
+王道仁
+王鉅翔
+王靖雯
+王鼎允
+王嘉君
+王嘉郁
+王嘉琪
+王嘉農
+王嘉慧
+王嘉興
+王嘉齡
+王彰懋
+王榮發
+王漢祥
+王睿君
+王碩慶
+王福祥
+王維如
+王維雯
+王維燦
+王翠華
+王蒼龍
+王豪傑
+王銘梅
+王銘鴻
+王鳳宜
+王儀穎
+王德皓
+王慶堂
+王慧君
+王慧英
+王慧凱
+王慧雯
+王慧靜
+王標欽
+王瑾瑜
+王輝銘
+王儒隆
+王憲盟
+王曉音
+王曉雯
+王曉瑋
+王燕強
+王興邦
+王蕙容
+王錫祿
+王錦慧
+王靜怡
+王靜琪
+王靜慧
+王爵暐
+王臆鈴
+王薇媛
+王謙維
+王鴻志
+王鴻鈞
+王禮謙
+王寵惠
+王瀚基
+王瓊珮
+王瓊瑤
+王繪嵐
+王證雄
+王韻淑
+王鵬
+王麒鈞
+王麗芬
+王麗淑
+王麗琦
+王麗雯
+王麓斯
+王寶龍
+王繼堯
+王耀暉
+王耀慶
+王耀鐸
+王鐘銘
+王馨敏
+王馨苹
+王齡梓
+王儷穎
+王櫻娟
+王躍霖
+王顯卉
+王芊雯
+王姵雯
+王浟美
+王琇姿
+王翊螢
+王棨德
+王琮瑋
+王琡雯
+王嫆棻
+王瑋鈴
+王筱婷
+王筱萱
+王鈺欣
+王鈺植
+王蓁儀
+王薏雯
+王嬿淑
+世潓靜
+丘真綺
+冉兆珍
+包志文
+包宮維
+古一真
+古月娥
+古玉鳳
+古秀鈴
+古佩玉
+古承弘
+古明晟
+古俊綱
+古英山
+古桂菊
+古惟銘
+古莉霜
+古智偉
+古雲仁
+古詩儀
+古學涵
+古俶綺
+司順安
+史先鴻
+史明原
+史國福
+史聖鴻
+史曜彰
+左宗元
+左蓌
+甘永裕
+甘孟龍
+甘政弘
+甘惠華
+甘霈霖
+田世賢
+田兆琪
+田沐恩
+田佩灝
+田怡
+田芳茹
+田英志
+田珮促
+田淑君
+田欽文
+田嘉玲
+田曉鈞
+田璧菀
+申志斌
+申富鑫
+白大尹
+白全成
+白岑怡
+白佳渝
+白宜錚
+白欣松
+白玲慈
+白振源
+白耿行
+白淑瑜
+白喜文
+白舜元
+白煌麒
+白榮修
+白靜如
+白麗娜
+石乃如
+石世名
+石玉鳳
+石旭生
+石育玟
+石佳蓉
+石宗仁
+石明周
+石芳珊
+石美玲
+石峻平
+石純綺
+石彩慧
+石傑宇
+石朝安
+石雅惠
+石慶和
+石錦航
+石馥瑄
+石瑋靜
+伍世揚
+伍秀蓉
+伍建文
+伍家誼
+伍健鵬
+伍碧玲
+任才俊
+任君敏
+任俊儒
+任純慧
+任新蘭
+任筱清
+危明康
+向西陽
+向德容
+安志偉
+成丹玲
+曲昌隆
+朱乙真
+朱心怡
+朱文碧
+朱世鈞
+朱正文
+朱玉汶
+朱亦丹
+朱百晟
+朱妍如
+朱希振
+朱志洋
+朱沛怡
+朱育佑
+朱育瑩
+朱佳琪
+朱宗蔚
+朱念英
+朱怡臻
+朱東應
+朱秉慧
+朱邱明
+朱俊祥
+朱俊龍
+朱奎州
+朱建泰
+朱彥儒
+朱政哲
+朱柏蒼
+朱珍慧
+朱秋慧
+朱若梅
+朱郁庭
+朱原宏
+朱家正
+朱家欣
+朱家慧
+朱容練
+朱峰誼
+朱時彥
+朱書賢
+朱殷廷
+朱珮儀
+朱祐呈
+朱純瑩
+朱偉傑
+朱健誠
+朱培萱
+朱康銘
+朱敏道
+朱淑惠
+朱陳啟源
+朱寓理
+朱朝麟
+朱詠聯
+朱雅鈴
+朱嗣芬
+朱瑞勇
+朱達明
+朱榮宏
+朱福山
+朱鳳薇
+朱慧真
+朱輝耀
+朱曉晴
+朱靜文
+朱璿尹
+朱麗婷
+朱芮宜
+朱琬蓁
+次蘭英
+江中健
+江天授
+江文松
+江文瓊
+江世華
+江正傑
+江玉卉
+江立峰
+江吉祥
+江成斌
+江呈陽
+江志宏
+江志隆
+江秀玲
+江育霆
+江佳芳
+江佳純
+江佳霖
+江佩玲
+江佩縈
+江協勇
+江孟芝
+江孟澤
+江宗哲
+江宜芳
+江宜樺
+江岩達
+江忠遠
+江怡萱
+江怡禛
+江昌鴻
+江明松
+江明書
+江明璋
+江明藝
+江東懋
+江欣容
+江玩萩
+江芝敏
+江長壽
+江信東
+江俊明
+江俊億
+江俊興
+江品儀
+江威德
+江建銘
+江彥輝
+江恬
+江政儒
+江昭賢
+江柏葦
+江玲慧
+江紀明
+江美慧
+江英信
+江衍龍
+江風遠
+江家銘
+江振宇
+江書瑩
+江珮宙
+江純玫
+江健成
+江國慶
+江寅甫
+江啟仲
+江條均
+江淑貞
+江盛龍
+江凱潔
+江惠華
+江智維
+江逸安
+江雅文
+江雅惠
+江傳江
+江瑞祥
+江裕國
+江嘉倫
+江榕櫻
+江翠芳
+江寬慈
+江慧芳
+江慕屏
+江憶雯
+江穎明
+江錦輝
+江蕾
+江豐良
+江麗娟
+江劭倫
+江媞
+江檉皇
+池泰宏
+牟昕
+艾青蓉
+何大新
+何仁田
+何天恩
+何文文
+何文萱
+何世雄
+何永琳
+何玉潔
+何亙彬
+何光櫺
+何旭平
+何君萍
+何志浩
+何沛熙
+何育杰
+何享蓉
+何佳南
+何佳真
+何佳融
+何佩芝
+何佩純
+何其澤
+何姍蓉
+何孟賢
+何季秦
+何宗彬
+何宗熹
+何宗禧
+何宜倩
+何宜璇
+何岳珈
+何怡君
+何承仲
+何易展
+何明宗
+何明書
+何明穎
+何昇儒
+何松瑤
+何欣軒
+何秉欣
+何芷瑄
+何雨雯
+何信宗
+何俊廷
+何俊達
+何俊賢
+何冠霖
+何威德
+何建樂
+何彥駒
+何思穎
+何政翰
+何昭賢
+何炳賢
+何秋萱
+何美玲
+何若瑜
+何香葉
+何家菁
+何峻杰
+何振維
+何浚銘
+何素君
+何健維
+何國晟
+何崇維
+何敏菁
+何清龍
+何淑婷
+何涵
+何勝合
+何惠君
+何惠鈺
+何舒嵐
+何逸然
+何雅琪
+何意瑩
+何瑞美
+何萱璇
+何嘉展
+何榮文
+何維耕
+何銘宏
+何慶興
+何慧儀
+何學厚
+何曉盈
+何燕屏
+何錦題
+何靜儀
+何織
+何麗君
+何旻霜
+何翊綺
+余子銘
+余心農
+余文裕
+余弘偉
+余吉祥
+余伶
+余志龍
+余迅
+余佳音
+余佳興
+余佩娟
+余坪芳
+余孟霏
+余宗儒
+余宛儒
+余忠燈
+余昌翰
+余明娟
+余明澤
+余東曉
+余法昌
+余金典
+余信偉
+余俊淵
+余俊儒
+余勁毅
+余帝慶
+余彥霖
+余政隆
+余星柔
+余盈鋒
+余若帆
+余凌昌
+余家瑩
+余泰男
+余素蘭
+余國安
+余婉萍
+余晨華
+余盛欽
+余惠文
+余智傑
+余雅淑
+余慈宴
+余瑞萍
+余嘉峰
+余福浩
+余齊威
+余憲宗
+余諧
+余謝輝
+余麗琴
+余琬瑜
+利秀蘭
+利德絃
+吳乃元
+吳千慧
+吳大維
+吳子豪
+吳中宏
+吳仁佑
+吳仁貴
+吳元平
+吳元嫈
+吳少鈞
+吳心惠
+吳文玉
+吳文怡
+吳文益
+吳文傑
+吳文發
+吳文鈴
+吳文毅
+吳文斌
+吳火山
+吳世偉
+吳世達
+吳仕強
+吳仟一
+吳平和
+吳必勝
+吳正奇
+吳正華
+吳永昌
+吳永裕
+吳玉吟
+吳玉茹
+吳玉景
+吳玉蓉
+吳立民
+吳立勤
+吳伊蘋
+吳仲泂
+吳兆文
+吳吉龍
+吳如楦
+吳安邦
+吳旭泰
+吳至仁
+吳行中
+吳伶麗
+吳君育
+吳妙倫
+吳宏仁
+吳宏基
+吳希祖
+吳志宏
+吳志恆
+吳志偉
+吳志漢
+吳志龍
+吳杏旋
+吳沛晃
+吳汶汶
+吳秀玲
+吳秀紋
+吳秀鵑
+吳育宗
+吳育碩
+吳育霖
+吳亞欣
+吳依妮
+吳依蓓
+吳佳和
+吳佳芳
+吳佳南
+吳佳玲
+吳佳玲
+吳佳倩
+吳佳容
+吳佳真
+吳佳惠
+吳佳蓉
+吳佳憬
+吳佳樺
+吳佳穎
+吳佳蕙
+吳佳靜
+吳佳鴻
+吳佩君
+吳佩芳
+吳佩城
+吳佩珊
+吳佩玲
+吳佩娥
+吳佩純
+吳佩蓉
+吳佩儒
+吳佩諭
+吳佩蓁
+吳侑庭
+吳其霖
+吳函蓁
+吳叔鎮
+吳坤祐
+吳坤鴻
+吳奇哲
+吳奇龍
+吳孟宗
+吳孟芬
+吳孟貞
+吳孟娟
+吳孟茹
+吳孟蓉
+吳孟憲
+吳孟錫
+吳孟蕎
+吳季瑾
+吳宗岱
+吳宗祈
+吳宗桓
+吳宗隆
+吳宗儒
+吳宗憲
+吳宗翰
+吳宗興
+吳宗龍
+吳定疆
+吳宜芳
+吳宜貞
+吳宜祐
+吳宜穆
+吳宜嬪
+吳宛怡
+吳宛縈
+吳尚倍
+吳尚儒
+吳岡儒
+吳岱霖
+吳岳桐
+吳幸枝
+吳幸真
+吳延晃
+吳忠政
+吳忠霖
+吳怡君
+吳怡珊
+吳怡萍
+吳怡慶
+吳怡瑩
+吳怡憲
+吳怡靜
+吳怡嫺
+吳承哲
+吳承璋
+吳招
+吳易遜
+吳昌庭
+吳昆
+吳昆璋
+吳明
+吳明忠
+吳明芳
+吳明珍
+吳明哲
+吳明恭
+吳明軒
+吳明達
+吳明璋
+吳明勳
+吳明曄
+吳明龍
+吳明顏
+吳昕姿
+吳昇橋
+吳東和
+吳東耿
+吳東霖
+吳松沛
+吳欣佩
+吳欣怡
+吳欣倫
+吳欣碩
+吳欣儒
+吳欣鴻
+吳泓玳
+吳治英
+吳玫姍
+吳直耕
+吳秉倫
+吳秉勳
+吳秉駿
+吳芳青
+吳芳瑜
+吳芝緯
+吳采芳
+吳金玉
+吳金曆
+吳長柏
+吳雨哲
+吳青育
+吳青峰
+吳青環
+吳亭誼
+吳信幸
+吳信寬
+吳信輝
+吳侯璋
+吳俊宏
+吳俊奇
+吳俊杰
+吳俊傑
+吳俊達
+吳俊儀
+吳俊德
+吳俊毅
+吳俊緯
+吳俊賢
+吳俊鋒
+吳俊諺
+吳俊叡
+吳俞瑩
+吳冠群
+吳冠賢
+吳冠翬
+吳勁龍
+吳品蓉
+吳奕成
+吳奕羲
+吳姿儀
+吳姿樺
+吳威芳
+吳宣鋒
+吳建生
+吳建男
+吳建芝
+吳建達
+吳建德
+吳建賢
+吳建勳
+吳建旻
+吳彥慶
+吳律銘
+吳思萱
+吳思瑩
+吳思穎
+吳政
+吳政旺
+吳政原
+吳政彬
+吳政德
+吳政勳
+吳政穎
+吳政霖
+吳春生
+吳春緩
+吳昭蓉
+吳昭毅
+吳昭龍
+吳昱宏
+吳柄德
+吳柏青
+吳柏儀
+吳柏毅
+吳柏穎
+吳炫宗
+吳炳嶢
+吳玲媛
+吳皇欣
+吳盈潔
+吳祉龍
+吳秋美
+吳秋慧
+吳紀君
+吳美妮
+吳美玲
+吳美惠
+吳美禎
+吳美慧
+吳美螢
+吳羿諠
+吳致銘
+吳若華
+吳英宏
+吳英鴻
+吳貞宜
+吳貞瑩
+吳郁芳
+吳重毅
+吳飛龍
+吳倩
+吳原宇
+吳哲雯
+吳哲權
+吳家明
+吳家琪
+吳家榮
+吳家豪
+吳家慧
+吳容瑩
+吳庭獄
+吳振成
+吳振豪
+吳挺鋒
+吳晏平
+吳書榮
+吳桂箐
+吳泰昌
+吳海芬
+吳珮君
+吳珮慈
+吳珮禎
+吳益芳
+吳素芬
+吳純欣
+吳軒軒
+吳偉倫
+吳偉誠
+吳健民
+吳健鑫
+吳國偉
+吳國獅
+吳國熙
+吳國銘
+吳堅瑋
+吳培賢
+吳婉婷
+吳婉歆
+吳崇銘
+吳彩邑
+吳悠
+吳啟揚
+吳啟斌
+吳敏真
+吳敏鉅
+吳梓逢
+吳添鋒
+吳淑如
+吳淑芬
+吳淑卿
+吳淑敏
+吳淑華
+吳淑鳳
+吳涵宜
+吳祥維
+吳紹華
+吳莉婷
+吳雪妮
+吳竟芳
+吳凱雯
+吳勝祺
+吳喬森
+吳復興
+吳惠君
+吳惠彩
+吳惠雯
+吳斯燻
+吳智東
+吳智豪
+吳棟隆
+吳犀靈
+吳善銘
+吳菁菁
+吳詠宸
+吳逸民
+吳逸群
+吳鈞婷
+吳雅坤
+吳雅郁
+吳雅嵐
+吳雅萍
+吳雅雯
+吳雅綺
+吳雲驥
+吳圓朗
+吳敬琪
+吳毓真
+吳源章
+吳瑞
+吳瑞哲
+吳瑞欽
+吳瑞慶
+吳稚霆
+吳聖威
+吳詩婷
+吳誠昌
+吳鼎偉
+吳嘉信
+吳嘉娟
+吳嘉勝
+吳嘉榮
+吳嘉蕙
+吳寧瑄
+吳榮泰
+吳漢銘
+吳碧俐
+吳福量
+吳維倩
+吳維裕
+吳肇騰
+吳遠誠
+吳銘振
+吳銓友
+吳鳳蘭
+吳德元
+吳慶文
+吳慧君
+吳慧玲
+吳慧貞
+吳慧敏
+吳慧雯
+吳潔珊
+吳賜忠
+吳憲中
+吳憶屏
+吳曉青
+吳曉純
+吳曉菁
+吳曉薇
+吳燕芬
+吳穎軒
+吳蕙如
+吳蕙紋
+吳遵先
+吳錦佳
+吳錦鎰
+吳靜宜
+吳靜怡
+吳靜芳
+吳靜茹
+吳靜雯
+吳龍寶
+吳總成
+吳聲源
+吳邁
+吳鴻昌
+吳鴻森
+吳曜臣
+吳豐吉
+吳鎮利
+吳瓊玉
+吳韻卉
+吳麗春
+吳麗婷
+吳獻良
+吳馨怡
+吳懿婷
+吳顯宗
+吳佼佼
+吳旻儒
+吳玠蓉
+吳昶葳
+吳淩安
+吳琮傑
+吳瑋琳
+吳筱珈
+吳璁
+吳韞德
+呂子豪
+呂仁團
+呂友婷
+呂文專
+呂文鈴
+呂世豪
+呂正安
+呂玉秋
+呂立偉
+呂如英
+呂自達
+呂志宏
+呂志鋒
+呂育芳
+呂育瑋
+呂佳宜
+呂佳容
+呂佳樺
+呂佩姍
+呂佩純
+呂其霖
+呂姍姍
+呂季芳
+呂宗銘
+呂宜芳
+呂宜晏
+呂宜霖
+呂居勳
+呂忠育
+呂怡慧
+呂旺騏
+呂明
+呂明泰
+呂明龍
+呂杰緯
+呂欣穎
+呂芳俊
+呂金彥
+呂長馨
+呂保岸
+呂俊儀
+呂俐
+呂南畿
+呂威德
+呂建彥
+呂建鋒
+呂彥融
+呂政彥
+呂政諭
+呂昭儀
+呂柏宏
+呂皇其
+呂秋雲
+呂美惠
+呂美齡
+呂英瑋
+呂韋箴
+呂哲明
+呂庭維
+呂格豪
+呂祐吉
+呂偉欽
+呂國培
+呂婉茹
+呂梅音
+呂淑卿
+呂淑禎
+呂理霖
+呂紹榮
+呂雪瑜
+呂惠菁
+呂智傑
+呂詠真
+呂雅玲
+呂雅琪
+呂雯歆
+呂滄堯
+呂聖章
+呂嘉元
+呂嘉豐
+呂維玲
+呂銘智
+呂慧惠
+呂學君
+呂學智
+呂學叡
+呂燕林
+呂錦順
+呂靜蓉
+呂鴻麟
+呂麗娟
+呂廳嚴
+呂翊民
+宋大辰
+宋之揆
+宋心慧
+宋世文
+宋玉婷
+宋伯瑜
+宋沛勇
+宋育瑋
+宋佩珊
+宋孟瑛
+宋幸真
+宋昌霖
+宋東威
+宋秉萱
+宋俊洋
+宋奕儒
+宋建欣
+宋政隆
+宋禹瑩
+宋致遠
+宋家霖
+宋舫臣
+宋培元
+宋敏華
+宋喬玉
+宋朝斌
+宋雲明
+宋嘉仁
+宋碧琳
+宋慧潔
+宋燕儷
+宋竄
+宋旻真
+巫子懿
+巫戎怡
+巫佩璇
+巫宜學
+巫明翰
+巫芷瑋
+巫冠誼
+巫柏毅
+巫振嘉
+巫清文
+巫善福
+巫嘉興
+巫曉芬
+巫晟逸
+李乃文
+李士享
+李子允
+李小芬
+李中任
+李中慧
+李仁修
+李仁凱
+李今黛
+李元圃
+李元裕
+李友淳
+李天樺
+李心仁
+李心嵐
+李文
+李文吉
+李文志
+李文政
+李文莉
+李文惠
+李文琦
+李文意
+李文達
+李文賢
+李文斌
+李月星
+李世安
+李世偉
+李世剴
+李世寬
+李以新
+李可立
+李巧琳
+李弘昊
+李正元
+李正彥
+李正勝
+李正豪
+李永昌
+李永欽
+李永鴻
+李玉佩
+李玉卿
+李玉琳
+李玉鈴
+李立仁
+李立強
+李亦晴
+李仲玄
+李光
+李光祥
+李光倢
+李兆斌
+李吉敏
+李名倫
+李如珍
+李宇弘
+李守維
+李安琳
+李成漢
+李有欽
+李羽
+李至章
+李佐寧
+李伯毅
+李君彥
+李含仁
+李妍瑩
+李宏文
+李宏洲
+李廷偉
+李志成
+李志明
+李志峰
+李志偉
+李志章
+李志銘
+李志鵬
+李沛杰
+李汪盛
+李秀年
+李秀玲
+李秀卿
+李秀華
+李秀蘅
+李育枝
+李育庭
+李育群
+李育瑩
+李育融
+李見汶
+李亞倫
+李京樺
+李依純
+李依恂
+李佳汶
+李佳明
+李佳芳
+李佳芬
+李佳玲
+李佳玲
+李佳珍
+李佳倩
+李佳家
+李佳晃
+李佳真
+李佳訓
+李佳雯
+李佳蓉
+李佳慶
+李佳儒
+李佳樺
+李佳穎
+李佳臻
+李佳霖
+李佳霏
+李佳鍵
+李佳蓁
+李侃洋
+李佩佩
+李佩芝
+李佩姿
+李佩珊
+李佩玲
+李佩倩
+李佩真
+李佩陵
+李佩儀
+李佩曄
+李佩諭
+李佩嬬
+李侑宬
+李其澧
+李函芬
+李卓道
+李和昌
+李坤明
+李坤源
+李坤霖
+李奇展
+李奇翰
+李孟坤
+李孟珊
+李孟哲
+李孟軒
+李孟儒
+李孟穎
+李孟燦
+李孟璁
+李季華
+李宗坤
+李宗倫
+李宗恩
+李宗義
+李宗賢
+李宗憲
+李宗穎
+李宗翰
+李宗霖
+李宗鴻
+李定遠
+李宜明
+李宜芳
+李宜洲
+李宜玲
+李宜哲
+李宜峻
+李宜純
+李宜潔
+李宜樺
+李宜霖
+李宜韓
+李宜圜
+李宛玲
+李宛萍
+李宛靜
+李尚賢
+李岩暉
+李岱蓁
+李岳峰
+李岳樺
+李岳鴻
+李幸娟
+李幸錠
+李忠和
+李忠義
+李忠穎
+李念蒨
+李怡昌
+李怡玲
+李怡萱
+李怡寬
+李怡慧
+李怡瑾
+李怡穎
+李怡旻
+李承宗
+李承璋
+李承龍
+李易修
+李易諺
+李昌達
+李昆宏
+李昆達
+李昆龍
+李明利
+李明怡
+李明杰
+李明彥
+李明修
+李明哲
+李明書
+李明釗
+李明達
+李明潔
+李明勳
+李明樺
+李明諭
+李明霞
+李明墉
+李昀臻
+李昊
+李昇翰
+李東彥
+李東隆
+李東龍
+李杰如
+李松家
+李欣怡
+李欣怡
+李欣哲
+李欣達
+李欣儒
+李欣穎
+李欣霞
+李法漢
+李治安
+李玟玟
+李玥瑩
+李秉朔
+李秉翰
+李芳圻
+李芳婷
+李芳儀
+李芝綾
+李芸彥
+李虎峰
+李金泓
+李金鈴
+李金樺
+李長文
+李長榮
+李長紘
+李青松
+李青陽
+李非霏
+李信成
+李信杰
+李信德
+李信穎
+李保蓁
+李俊宏
+李俊奇
+李俊昀
+李俊彥
+李俊祺
+李俊億
+李俊德
+李俊毅
+李俊賢
+李俊賢
+李俊賢
+李俊勳
+李俊錡
+李俞慧
+李冠朋
+李冠儀
+李冠瑩
+李冠臻
+李勇寧
+李南嬌
+李品慧
+李奕枚
+李奏銳
+李姿儀
+李姿瑩
+李威宏
+李威德
+李威霖
+李宣瑩
+李建民
+李建宏
+李建邦
+李建明
+李建威
+李建葦
+李建寬
+李建賢
+李建鋒
+李建樺
+李建興
+李建禲
+李彥宏
+李彥宜
+李彥儀
+李彥瑩
+李彥儒
+李彥霖
+李律瑋
+李思怡
+李思萱
+李思儀
+李思瑩
+李思諭
+李政
+李政忠
+李政哲
+李政達
+李政輝
+李政曄
+李政龍
+李春枝
+李春燕
+李昭美
+李昭緯
+李映萱
+李昱春
+李昱燐
+李柏杉
+李柏蓉
+李柏賢
+李柏璁
+李炳坤
+李珊珊
+李界鋒
+李盈盈
+李盈潔
+李盈穎
+李科泯
+李秋梅
+李秋儀
+李秋麟
+李美玉
+李美芳
+李美倫
+李美瑜
+李美儀
+李美瑩
+李美錡
+李胤瑤
+李致慧
+李茂全
+李英志
+李英瑞
+李英瑋
+李虹儀
+李貞宜
+李貞慧
+李述申
+李郁偉
+李重賢
+李音慧
+李倩
+李修齊
+李哲安
+李哲緯
+李家宏
+李家珍
+李家萱
+李家豪
+李家儂
+李家興
+李容婷
+李師媺
+李悅嘉
+李振昌
+李振誠
+李振儀
+李晉豪
+李書涵
+李根嘉
+李桃森
+李泰霖
+李浩庭
+李珮如
+李珮琳
+李珮嘉
+李益榮
+李祖珍
+李素梅
+李純慧
+李能遠
+李訓億
+李乾暉
+李偉吉
+李偉愷
+李偉嘉
+李偉顒
+李健源
+李健銘
+李國全
+李國強
+李國華
+李國瑞
+李國榮
+李國維
+李國銀
+李國興
+李基弘
+李培華
+李婉真
+李婉瑞
+李崇仁
+李崇豪
+李康正
+李彩瑩
+李啟弘
+李啟滄
+李敏吉
+李敏嘉
+李敏龍
+李清吟
+李淑君
+李淑芬
+李淑貞
+李淑茹
+李淑惠
+李淑華
+李淑蓉
+李淑靜
+李涵富
+李祥瑞
+李紹綺
+李翎毓
+李連峰
+李雪萍
+李傑如
+李凱楨
+李勝雄
+李喬錚
+李嵐琦
+李惠芬
+李惠珠
+李惠琳
+李惠雯
+李晴雯
+李智怡
+李智強
+李智維
+李森
+李湘樺
+李皖玲
+李善同
+李舜華
+李詠秋
+李逸才
+李逸群
+李進福
+李隆華
+李雅玫
+李雅玲
+李雅梅
+李雅婷
+李雅惠
+李雅惠
+李雅萍
+李雅雯
+李雅燕
+李雯燕
+李傳君
+李意雯
+李想
+李新澤
+李毓真
+李源
+李瑞文
+李瑞貞
+李瑞華
+李瑞騏
+李義雄
+李聖琰
+李詩偉
+李詩楷
+李道林
+李嘉
+李嘉林
+李嘉凌
+李嘉軒
+李嘉華
+李嘉銘
+李嘉鴻
+李寧芳
+李榮茂
+李榮馳
+李漢祺
+李碧婷
+李福蓉
+李維仁
+李維倫
+李維楨
+李肇欣
+李誌明
+李銘周
+李銘毓
+李鳴宇
+李齊芳
+李廣祁
+李德海
+李慶宏
+李慶華
+李慧芬
+李慧美
+李慧珠
+李慧儀
+李毅信
+李瑩潔
+李賢淦
+李學明
+李憲斌
+李曉妮
+李曉玲
+李曉嵐
+李曉菁
+李曉榕
+李澤育
+李燕玲
+李璟郁
+李翰青
+李興舜
+李蕙如
+李蕙芸
+李豫凡
+李錦昇
+李錦蓮
+李靜宜
+李靜怡
+李靜怡
+李靜美
+李靜蓉
+李龍生
+李龍麟
+李爵臣
+李聰岳
+李輿鑫
+李鴻志
+李鴻達
+李曜存
+李謹帆
+李鎔阡
+李馥如
+李瓊英
+李麗枝
+李麗珠
+李寶玉
+李耀民
+李馨怡
+李懿如
+李權家
+李劭軍
+李旻昇
+李旻瑋
+李昶欣
+李苹慈
+李涴汝
+李堨
+李絜
+李瑋琪
+李筱雲
+李鈺雯
+李靚宸
+李鎧任
+李恒君
+杜文傑
+杜民傑
+杜全林
+杜志賢
+杜佳豪
+杜孟政
+杜宛諭
+杜承鑫
+杜昇翰
+杜芳政
+杜俊毅
+杜威廷
+杜彥霖
+杜炳龍
+杜美慧
+杜家昌
+杜珮詩
+杜婉雯
+杜淑錚
+杜陽圓
+杜嘉玲
+杜維修
+杜燕華
+杜耀仁
+沙正悅
+沈士傑
+沈仁傑
+沈文祥
+沈世閔
+沈正德
+沈立仁
+沈如峰
+沈佑翰
+沈君璐
+沈志川
+沈志龍
+沈汶萍
+沈育星
+沈依穎
+沈佳慧
+沈佩雯
+沈坤昇
+沈宗慶
+沈宜蓁
+沈怡伶
+沈昌明
+沈明萱
+沈欣學
+沈秉誼
+沈芸萩
+沈信增
+沈俊翔
+沈冠宏
+沈姿慧
+沈建成
+沈建德
+沈恆光
+沈昭賢
+沈柏寬
+沈盈菁
+沈美娟
+沈郁康
+沈哲標
+沈家榮
+沈振興
+沈益承
+沈純如
+沈國銓
+沈晨鐘
+沈淑華
+沈惠菁
+沈舒琳
+沈雅惠
+沈暉庭
+沈瑞欽
+沈聖崑
+沈道論
+沈嘉蕙
+沈維毓
+沈德厚
+沈學成
+沈蕙君
+沈鴻洲
+沈妏真
+沈筱雲
+汪大倫
+汪巧玲
+汪百軒
+汪秀燕
+汪孟涵
+汪怡華
+汪青蓉
+汪冠宏
+汪美玉
+汪家瑩
+汪啟文
+汪雅萍
+汪靖國
+汪慶珍
+汪麗娟
+狄家溧
+谷泓道
+車益華
+辛宗潭
+辛奕成
+辛菁娥
+辛旻修
+邢能文
+阮文祥
+阮呂真
+阮信憲
+阮昱宏
+阮飛銘
+阮淑茹
+阮斐瑜
+阮雅倫
+阮睿祥
+阮鵬碩
+卓士勛
+卓永堂
+卓志忠
+卓佳慶
+卓宛君
+卓明儀
+卓芳如
+卓俊宏
+卓建隆
+卓英哲
+卓家楠
+卓訓良
+卓淑媛
+卓朝閔
+卓瑞崇
+卓誌隆
+卓靜如
+卓恒生
+周上欽
+周士傑
+周大鈞
+周子敬
+周中興
+周心怡
+周文政
+周文雅
+周月霜
+周世豐
+周代尉
+周弘敏
+周正國
+周永雄
+周玉蓮
+周立偉
+周仲凱
+周吉龍
+周年盛
+周至芬
+周佑禎
+周伯鑫
+周君鴻
+周孝芳
+周宏瑜
+周廷隆
+周志忠
+周志清
+周志勳
+周汶珊
+周秀晏
+周育伶
+周育潤
+周亞欣
+周佳怡
+周佳蓉
+周佳震
+周佩宜
+周佩儀
+周協利
+周奇蓉
+周孟誼
+周宗建
+周宜芳
+周宛萱
+周幸蓉
+周怡伶
+周怡君
+周怡邦
+周怡儷
+周明弘
+周明徹
+周明輝
+周杰
+周欣芸
+周欣瑩
+周玟萱
+周芳如
+周芝涵
+周金燕
+周青蓉
+周信輝
+周俊宏
+周俊豪
+周冠伶
+周品妍
+周威呈
+周建呈
+周建銘
+周彥岑
+周思微
+周政翰
+周星同
+周柏甫
+周玲
+周盈杉
+周秋萍
+周美春
+周致丞
+周郁文
+周韋翰
+周凌悌
+周娟如
+周家浩
+周家慶
+周峰正
+周振凱
+周書婷
+周泰安
+周珮如
+周祐慧
+周耿行
+周偉茹
+周國靖
+周婉琳
+周敏鈺
+周淑娟
+周淑燕
+周凱慧
+周惠蓮
+周智敏
+周渝珊
+周詠訓
+周逸蘭
+周雅婷
+周雲棠
+周敬晏
+周業欽
+周煌耿
+周瑞楠
+周義峰
+周聖慧
+周裕豐
+周道泓
+周嘉松
+周嘉慶
+周漢源
+周福鳳
+周翠芬
+周億信
+周慧姿
+周樂天
+周賢德
+周憲邦
+周曉萍
+周燕盈
+周融駿
+周靜雯
+周聰宇
+周鎮邦
+周麗玲
+周蘭芳
+周旻靜
+周旆瑜
+周瑋
+周鈺翔
+孟天祥
+孟慶安
+季育澤
+官大弘
+官育萱
+官芳如
+官苑傑
+官農哲
+尚書
+屈道剛
+岳維鋌
+房兆隆
+於家珍
+易足真
+易智健
+昌孟翰
+東慎琳
+林一煒
+林上志
+林久勻
+林于正
+林于婷
+林于禎
+林千媚
+林千毓
+林士力
+林士郁
+林士淵
+林士傑
+林士揚
+林士越
+林士農
+林大元
+林大祥
+林大鈞
+林女滿
+林子玄
+林子偉
+林子傑
+林子惠
+林子詠
+林子勤
+林子綺
+林子瑄
+林小琪
+林山雲
+林才元
+林中強
+林之菁
+林仁彥
+林仁傑
+林介一
+林元愷
+林升權
+林天民
+林心如
+林心嵐
+林文中
+林文全
+林文泳
+林文科
+林文將
+林文祥
+林文勝
+林文斯
+林文琦
+林文雯
+林文德
+林文聰
+林文媄
+林月英
+林木興
+林世平
+林世昌
+林世芳
+林世峰
+林世偉
+林世淇
+林世翔
+林世寰
+林主恩
+林以晨
+林仕偉
+林加冠
+林可鈞
+林巨淙
+林巧梅
+林平苑
+林弘昇
+林弘祥
+林正一
+林正宗
+林正軍
+林正偉
+林正凱
+林正福
+林民基
+林永昌
+林永信
+林永清
+林永祥
+林永森
+林永慶
+林永晟
+林玉如
+林玉芳
+林玉玲
+林玉珮
+林玉敏
+林玉婷
+林玉菁
+林玉雲
+林玉龍
+林石隆
+林立任
+林立倫
+林立偉
+林立群
+林立鑫
+林仲威
+林仰望
+林兆盈
+林吉伯
+林后唯
+林如敏
+林宇星
+林守德
+林安緹
+林有俊
+林百揚
+林至承
+林行謙
+林佑安
+林佑珊
+林佑儒
+林佑鍾
+林伯岳
+林伯峻
+林伯勳
+林伶貞
+林克威
+林克寰
+林呈任
+林君宜
+林君玲
+林君瑜
+林君翰
+林吟姿
+林均郁
+林妙君
+林妙娥
+林妍妤
+林孝全
+林孝憲
+林宏坤
+林宏亮
+林宏韋
+林宏乾
+林宏達
+林宏儒
+林宏錡
+林岐益
+林廷吉
+林廷輝
+林志民
+林志成
+林志良
+林志忠
+林志明
+林志杰
+林志芬
+林志勇
+林志皇
+林志峰
+林志偉
+林志堅
+林志揚
+林志慎
+林志豪
+林志豪
+林志銘
+林志儒
+林志穎
+林志謀
+林志龍
+林志鴻
+林志鴻
+林李銘
+林材俊
+林沛君
+林沛蓁
+林灼龍
+林秀坪
+林秀花
+林秀俐
+林秀玲
+林秀美
+林秀卿
+林秀真
+林秀雯
+林秀鳳
+林秀穎
+林秀馨
+林育仕
+林育正
+林育民
+林育生
+林育立
+林育名
+林育如
+林育成
+林育宏
+林育昀
+林育珊
+林育進
+林育群
+林育萱
+林育蓓
+林育慧
+林育賢
+林育鋒
+林育麟
+林良俊
+林見明
+林谷峰
+林貝珊
+林里燕
+林享燁
+林依盈
+林依潔
+林依璇
+林佳生
+林佳宏
+林佳良
+林佳怡
+林佳欣
+林佳亭
+林佳盈
+林佳貞
+林佳陵
+林佳陽
+林佳綺
+林佳蓉
+林佳億
+林佳慶
+林佳慧
+林佳慧
+林佳潔
+林佳瑩
+林佳賢
+林佳樺
+林佳燕
+林佳臻
+林佳靜
+林佳鴻
+林佳潓
+林佩君
+林佩怡
+林佩芬
+林佩貞
+林佩雯
+林佩蓉
+林佩蓉
+林佩慧
+林佩樺
+林佩錦
+林佩璇
+林侑青
+林其侯
+林其鋒
+林協村
+林和秀
+林坤生
+林坤韋
+林坤樑
+林坤霂
+林奇模
+林孟仕
+林孟君
+林孟亭
+林孟萱
+林孟德
+林孟賢
+林孟穎
+林孟葳
+林季苗
+林季燁
+林宗廷
+林宗順
+林宗億
+林宗慶
+林宗賢
+林宗輝
+林宗澤
+林宗謨
+林官逸
+林宜君
+林宜玫
+林宜珍
+林宜聖
+林宜蓉
+林宜慧
+林宜賢
+林宜樺
+林宜錚
+林宜靜
+林宜蓁
+林宜嫺
+林宛瑜
+林宛樺
+林尚良
+林尚穎
+林岱蓉
+林岱融
+林岳儀
+林岳嶙
+林幸蓉
+林庚立
+林征衛
+林忠岳
+林忠慶
+林怡
+林怡汝
+林怡伶
+林怡利
+林怡君
+林怡君
+林怡君
+林怡君
+林怡君
+林怡君
+林怡君
+林怡均
+林怡秀
+林怡辰
+林怡芳
+林怡青
+林怡莉
+林怡菁
+林怡萱
+林怡寬
+林怡儒
+林怡礽
+林承岳
+林承毅
+林於妮
+林易珊
+林昌弘
+林昌賢
+林昆田
+林昆模
+林昆煇
+林明生
+林明志
+林明宗
+林明杰
+林明彥
+林明莉
+林明楓
+林明誌
+林明德
+林明毅
+林明緯
+林明輝
+林明勳
+林明環
+林昀龍
+林昇永
+林昇龍
+林東茂
+林東毅
+林杰欣
+林松堯
+林欣立
+林欣怡
+林欣怡
+林欣怡
+林欣政
+林欣慈
+林欣儀
+林欣儀
+林欣毅
+林欣誼
+林欣穎
+林欣麗
+林武諺
+林泓君
+林泱秀
+林牧台
+林玟君
+林玟妏
+林玫君
+林玫蓉
+林秉泓
+林秉瑩
+林芳一
+林芳如
+林芳如
+林芳州
+林芳芳
+林芳新
+林芳儀
+林芝卉
+林芝寧
+林芬芳
+林芸暉
+林芷筠
+林金仕
+林金明
+林金蓮
+林金龍
+林長志
+林長慶
+林雨農
+林青志
+林青慧
+林青霞
+林亮仁
+林信全
+林信佑
+林信宏
+林信廷
+林信延
+林信義
+林保成
+林俊仲
+林俊宇
+林俊佑
+林俊伯
+林俊宏
+林俊宏
+林俊廷
+林俊甫
+林俊男
+林俊言
+林俊杰
+林俊傑
+林俊逸
+林俊達
+林俊豪
+林俊魁
+林俊賢
+林俊麟
+林俐亭
+林俞增
+林冠宇
+林冠吟
+林冠宏
+林冠秀
+林冠瑛
+林冠儒
+林勇成
+林南宏
+林品宜
+林奕成
+林奕伶
+林奕秀
+林奕嵐
+林奎君
+林姿伶
+林姿吾
+林姿妙
+林姿婷
+林威名
+林威利
+林威廷
+林威良
+林宣任
+林宣鰲
+林建一
+林建仲
+林建宇
+林建成
+林建吾
+林建宏
+林建宏
+林建廷
+林建志
+林建男
+林建良
+林建邦
+林建昇
+林建華
+林建彰
+林建瑩
+林建勳
+林彥文
+林彥名
+林彥亨
+林彥伶
+林彥孝
+林彥宏
+林彥甫
+林彥享
+林彥嘉
+林彥興
+林思吟
+林思華
+林思親
+林恆碩
+林恪群
+林政位
+林政良
+林政浩
+林政裕
+林政儀
+林政緯
+林政鋒
+林政翰
+林春年
+林春美
+林昭宇
+林昭志
+林昭銘
+林映汝
+林星晨
+林昱君
+林昱偉
+林柑杏
+林柏州
+林柏伸
+林柏宏
+林柏村
+林柏城
+林柏榮
+林柏翰
+林泉洋
+林洪霄
+林為文
+林炳煌
+林珊如
+林玲至
+林珍如
+林皇利
+林盈成
+林盈君
+林盈志
+林盈萱
+林祈均
+林科宏
+林秋良
+林秋惠
+林秋菊
+林秋蓮
+林紀元
+林美如
+林美伶
+林美君
+林美吟
+林美秀
+林美怡
+林美玲
+林美珠
+林美智
+林美華
+林美慧
+林美齡
+林羿妏
+林致君
+林致穎
+林茂盛
+林英男
+林英傑
+林英銘
+林虹如
+林虹宏
+林貞
+林貞延
+林郁文
+林郁欣
+林郁芬
+林郁敏
+林郁森
+林郁雄
+林郁蘭
+林韋丞
+林韋廷
+林韋嘉
+林香君
+林倍伊
+林倩如
+林倩慧
+林修民
+林倫旭
+林原合
+林哲民
+林哲任
+林哲宏
+林哲裕
+林哲輝
+林娟如
+林娉孜
+林家弘
+林家弘
+林家生
+林家如
+林家亨
+林家勇
+林家惠
+林家暉
+林家聖
+林家禎
+林家銘
+林家慶
+林家賢
+林家蕙
+林家斌
+林容仟
+林容聖
+林展聖
+林峻暉
+林峰年
+林師群
+林庭瑋
+林恩光
+林恩霈
+林振浩
+林振暘
+林振濱
+林時新
+林晉全
+林晉畿
+林晏如
+林晏稚
+林書弘
+林書聿
+林書楷
+林書毅
+林書澤
+林桓賦
+林桂珠
+林格妃
+林泰安
+林泰維
+林浚傑
+林浩群
+林珮如
+林珮菁
+林珮儒
+林益弘
+林益如
+林益運
+林真綺
+林祐禾
+林祐榆
+林祐瑄
+林窈意
+林素如
+林素貞
+林素華
+林純如
+林純湘
+林耘德
+林耿弘
+林耿真
+林茵
+林起翎
+林軒頡
+林高源
+林偉民
+林偉彬
+林偉楨
+林偉德
+林健青
+林唯凱
+林國欣
+林國祥
+林國隆
+林國勳
+林培堯
+林婉君
+林婉婷
+林婉瑜
+林崇宇
+林崇毅
+林康寧
+林啟人
+林啟航
+林啟豐
+林敏裕
+林梅隴
+林清吉
+林清雲
+林淑君
+林淑芬
+林淑玲
+林淑貞
+林淑娟
+林淑娥
+林淑梅
+林淑媛
+林淑惠
+林淑萍
+林淑華
+林淑雯
+林淑儀
+林淑錚
+林涵瑜
+林盛傑
+林莘怡
+林荷芳
+林雪萍
+林傑聖
+林創
+林勝傑
+林博隆
+林婷
+林富美
+林惠文
+林惠怡
+林惠美
+林惠敏
+林惠萍
+林惠雯
+林惠琇
+林敦煌
+林景民
+林景雰
+林智能
+林智清
+林智業
+林期
+林森田
+林港貴
+林湘惠
+林湲舒
+林琦國
+林登山
+林紫菁
+林舒慧
+林華一
+林視尊
+林詠翔
+林超
+林逸昀
+林逸峰
+林逸菁
+林逸儒
+林進益
+林鈞陶
+林雁敏
+林雅君
+林雅芬
+林雅玲
+林雅倫
+林雅淳
+林雅博
+林雅惠
+林雅琪
+林雅萍
+林雅華
+林雅雯
+林雅慧
+林雅慧
+林雅謙
+林雯宣
+林雲正
+林順安
+林順興
+林勤淙
+林嵩山
+林意倫
+林意騰
+林愛惠
+林敬文
+林敬淵
+林敬翔
+林新凡
+林新發
+林暉皓
+林楠棋
+林殿一
+林毓珊
+林毓超
+林源河
+林照男
+林煜庭
+林煌軒
+林煥欽
+林瑞明
+林瑞家
+林瑞雪
+林瑞德
+林瑞蘭
+林瑜莉
+林盟傑
+林祺勛
+林稚揚
+林經維
+林義峰
+林義傑
+林義智
+林義雄
+林群峰
+林群耀
+林聖怡
+林聖恩
+林聖傑
+林聖智
+林聖鈞
+林聖耀
+林葦萍
+林裕昕
+林裕堅
+林裕勝
+林裕舜
+林詩凡
+林詩倩
+林詩淵
+林詩雯
+林詩苹
+林運浩
+林鉉智
+林雍翔
+林靖修
+林頌博
+林鼎植
+林嘉禾
+林嘉信
+林嘉珍
+林嘉偉
+林嘉琪
+林嘉群
+林嘉慧
+林嘉鴻
+林摑彥
+林榮欽
+林漢
+林漢斌
+林睿暘
+林碧惠
+林碩儒
+林精湛
+林維珊
+林維莉
+林翠萍
+林蓓羚
+林豪彥
+林銘洲
+林銘煌
+林銘熛
+林鳳珍
+林齊蔚
+林儀虹
+林增威
+林廣義
+林德晉
+林慶昇
+林慶蓉
+林慧君
+林慧怡
+林慧珊
+林慧美
+林慧珠
+林慧淳
+林慧萍
+林慧華
+林慧雯
+林慧麗
+林憬良
+林澄澤
+林瑩芳
+林瑾蘭
+林蔚玲
+林衛聖
+林賢得
+林適之
+林儒民
+林學隆
+林憲政
+林憶淳
+林曉君
+林曉芳
+林曉玲
+林曉婷
+林曉華
+林曉嘉
+林曉娸
+林澤義
+林燕梅
+林璟
+林穎
+林穎莉
+林穎聰
+林興釗
+林蕙淇
+林豫亭
+林錦伶
+林錦隆
+林錦鴻
+林靜吟
+林靜宜
+林靜怡
+林靜怡
+林靜芬
+林靜雯
+林靜儀
+林龍生
+林懋州
+林聰仁
+林謙妙
+林駿逸
+林鴻君
+林鴻彬
+林鴻達
+林鴻錡
+林禮強
+林豐舜
+林瀛文
+林瓊芳
+林韻娟
+林麗君
+林麗美
+林麗珠
+林麗華
+林麗蓉
+林寶秀
+林繼平
+林耀南
+林藹文
+林巍龍
+林懿君
+林麟
+林夆賓
+林芊亨
+林旻逸
+林炅嶔
+林姝均
+林昶安
+林珈妤
+林倬世
+林紓瑋
+林琇雯
+林棨任
+林琮閔
+林琬瑜
+林暐庭
+林煒鴻
+林瑋竣
+林筱玲
+林筱菁
+林萩燕
+林鈺庭
+林鈺凱
+林鈺慧
+林璇怡
+林霙真
+林驧
+武良文
+武敬和
+祁義國
+花羽薇
+花雅斐
+初若凡
+邵文泰
+邵志豐
+邵奕鈞
+邵郁惠
+邵勝添
+邵愛玟
+邵懷德
+邱一真
+邱于倩
+邱千綺
+邱士恭
+邱大剛
+邱子楓
+邱小嫚
+邱仁傑
+邱天宏
+邱文玉
+邱文柏
+邱文欽
+邱文鴻
+邱世民
+邱仕傑
+邱幼媚
+邱正祥
+邱永嘉
+邱玉玲
+邱立國
+邱仲韻
+邱名仕
+邱安台
+邱有諒
+邱君清
+邱志光
+邱志強
+邱志斌
+邱秀英
+邱秀靜
+邱良毅
+邱佳松
+邱佳潁
+邱孟月
+邱定邦
+邱延齡
+邱怡喬
+邱怡禎
+邱昌裕
+邱明琪
+邱欣怡
+邱泓彰
+邱芳宜
+邱金生
+邱信益
+邱信輝
+邱俊昌
+邱俊智
+邱俊榮
+邱俊霖
+邱冠瑜
+邱品華
+邱垂章
+邱奕明
+邱奕睿
+邱姿惠
+邱建中
+邱建誠
+邱建鋐
+邱彥瑛
+邱思嘉
+邱政湧
+邱昭欽
+邱昱臻
+邱柏瑜
+邱柏霖
+邱珀祥
+邱盈棠
+邱紀華
+邱美惠
+邱美慧
+邱致穎
+邱軍浩
+邱郁淑
+邱重憲
+邱哲琳
+邱家賢
+邱振峰
+邱桂鈴
+邱浩彰
+邱珮綺
+邱純瑋
+邱偉倫
+邱健雄
+邱國恭
+邱國潔
+邱培瑜
+邱婉嬅
+邱啟翔
+邱敏蕙
+邱清龍
+邱淑娟
+邱淑琴
+邱淑慧
+邱紹溢
+邱莉婷
+邱凱
+邱創儉
+邱富源
+邱惠娥
+邱惠詩
+邱景萍
+邱智傑
+邱湘雲
+邱結
+邱詠淳
+邱逸群
+邱雅芬
+邱雅莉
+邱雅雯
+邱雅茜
+邱圓惠
+邱敬雯
+邱毓玲
+邱煥文
+邱瑞梅
+邱盟琇
+邱聖文
+邱聖斌
+邱詩淵
+邱詩琁
+邱靖雯
+邱嘉傑
+邱嘉慧
+邱碧施
+邱維婉
+邱韶瑩
+邱德凱
+邱慧如
+邱慧婷
+邱緯平
+邱曉玲
+邱樹國
+邱靜宜
+邱靜雯
+邱鍾仁
+邱豐祥
+邱瓊惠
+邱瓊慧
+邱韻寧
+邱麗英
+邱寶萱
+邱繼瑩
+邱蘊靜
+邱馨儀
+邱齡頤
+邱顯桓
+邱顯霖
+邱姵綾
+邱琬淑
+邱椿凱
+邱筱雯
+邱鈺斐
+邱瞍
+金士為
+金京榮
+金明輝
+金政諺
+金珞琳
+金勤
+金磊
+侯力維
+侯文哲
+侯正鴻
+侯如芬
+侯宏昌
+侯秀如
+侯佳典
+侯函秀
+侯岳宏
+侯昆助
+侯欣翰
+侯信宇
+侯咸仰
+侯彥伸
+侯柏青
+侯致中
+侯素雲
+侯淵銘
+侯博元
+侯景勛
+侯貴齡
+侯雅雯
+侯嘉珍
+侯慶辰
+侯靜汝
+侯麗慧
+侯霈青
+俞佳凡
+俞泊霖
+俞能方
+俞雅婷
+俞芊薈
+姜元鈞
+姜后怡
+姜宏榮
+姜佩伶
+姜明宏
+姜芝怡
+姜建銘
+姜堉潁
+姜凱傑
+姜智鈞
+姜雅婷
+姜義愷
+姜增炫
+姜樹錦
+姜禮豪
+姜旻姍
+姚又文
+姚方潔
+姚立三
+姚克鈞
+姚志憲
+姚佳慧
+姚宗樸
+姚怡蘭
+姚金源
+姚威宇
+姚盈任
+姚素蘭
+姚凱文
+姚琛富
+姚瑞賢
+姚德麟
+姚麗人
+宣志凌
+律振揚
+施大維
+施文
+施文豪
+施可隆
+施玉品
+施名玥
+施宇駿
+施百樺
+施伯宜
+施孝德
+施宏澤
+施志豪
+施秀宛
+施育瑜
+施佳君
+施佩君
+施佩華
+施孟宏
+施宜呈
+施宛直
+施怡如
+施怡鈴
+施明妍
+施杰松
+施玫君
+施雨佐
+施俊名
+施俊賢
+施奕涵
+施建宇
+施彥甫
+施政豪
+施柏如
+施皇旭
+施美瑛
+施郁蕙
+施振坤
+施素卿
+施健鴻
+施敏男
+施淑惠
+施雪姿
+施博元
+施富浩
+施惠琪
+施智勇
+施程凱
+施詠然
+施鈞倫
+施雅娟
+施雯琪
+施義滄
+施嘉琪
+施漢嶸
+施誌豪
+施慧君
+施瑾倫
+施曉雯
+施靜怡
+施瓊如
+施馨貴
+施旻宜
+施瑋瑜
+柯力豪
+柯元凱
+柯文祥
+柯世賢
+柯永忠
+柯全益
+柯伯彥
+柯宏威
+柯志明
+柯沛志
+柯良蕙
+柯佳秀
+柯佩君
+柯坤明
+柯宗伯
+柯宛君
+柯怡玟
+柯明翰
+柯欣儀
+柯金杏
+柯俊吉
+柯俊隆
+柯宣宇
+柯彥旭
+柯昭生
+柯盈如
+柯虹如
+柯泰名
+柯敏盛
+柯淑惠
+柯連田
+柯博元
+柯富議
+柯惠菱
+柯智仁
+柯棋棣
+柯閔文
+柯雅華
+柯毓萍
+柯嘉汶
+柯碧昭
+柯鳳儀
+柯憲蒼
+柯錦男
+柯瓊鎣
+柯旻良
+查慧琳
+柳如庭
+柳佩君
+柳建良
+柳茹萍
+柳棋元
+柳嘉軒
+柳鶴松
+段明宏
+段逸軒
+洪一中
+洪力壹
+洪于閔
+洪千惠
+洪千琦
+洪士育
+洪士傑
+洪大為
+洪子婷
+洪小惠
+洪元斌
+洪文明
+洪文凱
+洪文賢
+洪世昇
+洪世嘉
+洪加達
+洪正光
+洪永昌
+洪玉芳
+洪玉婷
+洪玉蒨
+洪亦潔
+洪光億
+洪名衡
+洪安俐
+洪百賢
+洪佑昇
+洪君祥
+洪宏政
+洪志生
+洪志明
+洪志雄
+洪志銘
+洪村銘
+洪秀芳
+洪秀瑩
+洪良欣
+洪依琪
+洪佳琳
+洪佩伶
+洪坤錡
+洪孟瑤
+洪宗漢
+洪宜良
+洪尚銘
+洪忠聖
+洪怡真
+洪明化
+洪明偉
+洪明龍
+洪欣昇
+洪芷漪
+洪信嘉
+洪俊雄
+洪宣竹
+洪思琪
+洪政霈
+洪柏寧
+洪秋華
+洪美萍
+洪茂雄
+洪英傑
+洪郁庭
+洪重卿
+洪家琪
+洪悅玲
+洪振益
+洪振銘
+洪根華
+洪珮芳
+洪珮綺
+洪耿智
+洪偉哲
+洪偉傑
+洪偉諭
+洪健峰
+洪曼珊
+洪國哲
+洪國惟
+洪國翔
+洪國耀
+洪培倫
+洪婉紋
+洪崇恩
+洪崑健
+洪御彗
+洪啟偉
+洪敏芳
+洪敏雄
+洪清健
+洪淑貞
+洪淑惠
+洪淑淩
+洪紹文
+洪翎賓
+洪雪芳
+洪勝凱
+洪惠文
+洪惠棋
+洪晴晴
+洪智賢
+洪琦惠
+洪菁隆
+洪菱紫
+洪隆智
+洪雅苓
+洪雅雯
+洪順男
+洪慈伶
+洪愷廷
+洪楨邦
+洪毓嬪
+洪煌凱
+洪瑞堂
+洪瑞蓉
+洪瑞鴻
+洪萬得
+洪聖恩
+洪萱鋒
+洪裕焜
+洪詩雅
+洪靖凱
+洪嘉圻
+洪嘉珊
+洪嘉琳
+洪嘉蓮
+洪嘉駿
+洪寧
+洪榮輝
+洪甄苡
+洪碩偉
+洪綺
+洪維良
+洪維澤
+洪肇彥
+洪誌強
+洪銘佐
+洪銘陽
+洪銘鍾
+洪魁禧
+洪寬泰
+洪慶銘
+洪慧玲
+洪慧萍
+洪瑩珍
+洪儒明
+洪曉嵐
+洪蕙心
+洪靜怡
+洪聲銓
+洪禮君
+洪藝菁
+洪麗姿
+洪麗鈞
+洪繼賢
+洪儷鳳
+洪劭元
+洪晢惇
+洪斌凱
+洪歆怡
+洪筱佩
+洪鈺櫻
+相孟豪
+紀人瑋
+紀文欽
+紀吉如
+紀伯璁
+紀志霖
+紀佳宜
+紀宗霖
+紀怡婷
+紀泓堯
+紀長興
+紀威羽
+紀盈州
+紀祖豪
+紀淑芳
+紀博敏
+紀智仁
+紀鈞閎
+紀順興
+紀銘坤
+紀曉恩
+紀蘭潔
+胡丁元
+胡小萍
+胡心慧
+胡文瑜
+胡世融
+胡正翰
+胡玉慧
+胡同亮
+胡成章
+胡廷威
+胡志銘
+胡育維
+胡佳禎
+胡定宇
+胡怡芳
+胡東昇
+胡芳慈
+胡金灝
+胡帝
+胡玲婉
+胡若男
+胡修瑀
+胡家榮
+胡展銘
+胡振中
+胡書綿
+胡純菁
+胡乾鋒
+胡授淳
+胡淑君
+胡淑雅
+胡凱智
+胡博硯
+胡惠婷
+胡景雯
+胡智銘
+胡竣硯
+胡貴月
+胡雅妍
+胡雅智
+胡順隆
+胡毓發
+胡瑞洙
+胡詩菁
+胡嘉真
+胡碧媜
+胡赫廷
+胡慧如
+胡憲霖
+胡靜苑
+胡瓊文
+胡耀仁
+胡懿心
+胡煒珍
+范中威
+范文政
+范世璋
+范玉萱
+范吉慶
+范均沛
+范甫宗
+范佳雯
+范明中
+范冠偉
+范姜彥如
+范姜慧怡
+范秋霞
+范郁如
+范家誠
+范振文
+范振麟
+范耕魁
+范國基
+范淑玲
+范莉苓
+范博彰
+范揚宜
+范揚騰
+范智欽
+范鈞傑
+范毓貞
+范瑞祥
+范詩漪
+范漢君
+范綱賢
+范慧如
+范曉怡
+范瀚文
+范耀聰
+范琇璇
+苗後傑
+計竹宇
+韋人瑜
+韋志鴻
+韋桂仁
+候昺辰
+倪玉龍
+倪志鴻
+倪威遠
+倪偉智
+倪淑婷
+倪瑞期
+倪慧珊
+凌世芳
+凌明德
+凌雪惠
+凌慧萍
+唐千惠
+唐文賢
+唐永興
+唐作豪
+唐邦泰
+唐明志
+唐思維
+唐英娜
+唐珮珊
+唐國忠
+唐淑芬
+唐朝緯
+唐雅燕
+唐義堯
+唐嘉羚
+唐韶霙
+唐曉微
+唐譽玫
+夏正邦
+夏良玉
+夏春香
+夏淑蓉
+夏達偉
+夏慧齡
+夏翊倫
+孫上雯
+孫士烘
+孫元俊
+孫方儀
+孫可為
+孫永信
+孫立民
+孫如彬
+孫伯中
+孫志勇
+孫育芝
+孫協裕
+孫忠凱
+孫明駿
+孫采薇
+孫建崴
+孫美英
+孫郁婷
+孫振涼
+孫珮芳
+孫偉倫
+孫國書
+孫崇哲
+孫惟正
+孫淑芬
+孫傑
+孫琦
+孫逸燕
+孫傳凱
+孫溢堂
+孫睦傑
+孫道隆
+孫嘉蔭
+孫綱
+孫豪志
+孫銘鴻
+孫慧津
+孫學儀
+孫龍翔
+孫麗娟
+孫炘宜
+孫瑀
+宮姍姍
+師宜青
+徐乙可
+徐千祐
+徐千雅
+徐士勛
+徐子平
+徐子強
+徐小萍
+徐仁乾
+徐心宜
+徐文君
+徐文益
+徐月娥
+徐世基
+徐仕泓
+徐巧凌
+徐正怡
+徐永光
+徐永鳴
+徐玉芬
+徐玉慈
+徐立達
+徐光平
+徐匡平
+徐如昇
+徐有慶
+徐艾伶
+徐克鈞
+徐宏宇
+徐志宇
+徐志偉
+徐志豪
+徐李全
+徐秀玲
+徐育慈
+徐佳如
+徐佩如
+徐佩錦
+徐宗源
+徐忠義
+徐昆羿
+徐明華
+徐明鴻
+徐松鴻
+徐欣妏
+徐知本
+徐采薇
+徐信中
+徐俊傑
+徐奕暉
+徐思維
+徐柏韜
+徐美玉
+徐美華
+徐若馨
+徐英碩
+徐郁樺
+徐家楷
+徐振洲
+徐書政
+徐浚傑
+徐珮禎
+徐偉凡
+徐偉峻
+徐偉順
+徐健順
+徐國倫
+徐國智
+徐國耀
+徐培溶
+徐婉儀
+徐崑崙
+徐從誥
+徐敏芳
+徐敏華
+徐梅凌
+徐淑娟
+徐淑嬪
+徐祥然
+徐莉真
+徐雪瓊
+徐富康
+徐惠珍
+徐掌瑛
+徐朝康
+徐舒亞
+徐詠媛
+徐進寶
+徐雅棋
+徐順宏
+徐愛婷
+徐毓良
+徐瑚鎂
+徐瑞恭
+徐瑞聰
+徐瑜敏
+徐裕彬
+徐資証
+徐靖惠
+徐嘉宏
+徐嘉琳
+徐嘉駒
+徐夢麟
+徐榮辰
+徐甄鴻
+徐福祥
+徐維揚
+徐翠遙
+徐銘佛
+徐銘謙
+徐鳳憶
+徐德賢
+徐慧心
+徐慧婷
+徐毅宏
+徐震東
+徐曉筠
+徐興淦
+徐靜儀
+徐鴻仁
+徐贊登
+徐麗珍
+徐繼政
+徐櫻芳
+徐淯
+徐菡禧
+徐瑋芬
+徐筱芸
+徐鈺綾
+徐鑫豪
+書百川
+桑怡秋
+柴學舜
+殷芷若
+殷紹閔
+殷肇陽
+浦曉鳳
+留乾焜
+祖曉鳳
+秦一平
+秦安立
+秦建瑋
+秦梓銘
+秦聖傑
+秦麗雅
+翁于琪
+翁士軒
+翁子婷
+翁文茹
+翁以哲
+翁玉娟
+翁仲賢
+翁宇駿
+翁宏霖
+翁志豪
+翁育稔
+翁佳韻
+翁宗裕
+翁明安
+翁林鋌
+翁信臺
+翁柏聖
+翁英斌
+翁振芳
+翁珮怡
+翁偉倫
+翁健緯
+翁基清
+翁崇庭
+翁啟信
+翁晨耀
+翁淑華
+翁壹姿
+翁滋珮
+翁逸軒
+翁雅惠
+翁毓翎
+翁瑞羚
+翁義宗
+翁鼎昌
+翁嘉翎
+翁夢君
+翁碧壕
+翁維良
+翁銘遜
+翁德卿
+翁曉芬
+翁靜瑜
+翁麒昌
+翁儷倩
+翁瑋娟
+翁靚晏
+荊偉政
+袁天英
+袁如岡
+袁怡茹
+袁柏偉
+袁偉倫
+袁啟鑫
+袁雅惠
+袁榮燦
+袁靜華
+記佳雯
+郝政鴻
+馬一文
+馬中驊
+馬占峰
+馬玉娟
+馬安妮
+馬志明
+馬佳伶
+馬岳宏
+馬南欣
+馬英傑
+馬珮婷
+馬國蕾
+馬淑卿
+馬智君
+馬煌坤
+馬嘉隆
+馬緒川
+馬憶婷
+馬櫻菁
+高一銘
+高千惠
+高士明
+高子淇
+高小文
+高友慧
+高文彬
+高世昌
+高主強
+高弘州
+高正國
+高玉如
+高玉馨
+高伊俊
+高合助
+高旭慶
+高至寬
+高宏銘
+高志偉
+高志魁
+高秀鈴
+高亞蘭
+高佩吟
+高妮瑋
+高宗煒
+高幸瑜
+高明
+高明瑋
+高欣潔
+高金志
+高咸實
+高彥勛
+高柏豪
+高美芳
+高英凱
+高郁凱
+高峰
+高栩
+高珮綺
+高偉倫
+高健
+高國哲
+高國寧
+高培真
+高彬原
+高啟祐
+高敏娉
+高淑芳
+高淑惠
+高笙輔
+高雪卿
+高婷
+高景怡
+高琪舒
+高詠彥
+高雅芳
+高雅腹
+高意禎
+高毓辰
+高照閔
+高瑞瑤
+高義忠
+高詩娉
+高頌清
+高嘉良
+高嘉嶼
+高彰隆
+高睿蘭
+高端玫
+高翠翎
+高銀穗
+高銘傑
+高銘琇
+高儀銘
+高慶斌
+高慧萍
+高憶如
+高靜民
+高薇薇
+高譜倫
+高麗蕙
+高顥哲
+高斌鑫
+高筱慧
+高薏涵
+商弘易
+商鳳英
+寇麗雯
+崔佑維
+崔倩苓
+崔琦民
+常欣玉
+康乃月
+康仕宗
+康宇寧
+康攸華
+康孟意
+康金鋒
+康美玲
+康家彰
+康庭瑞
+康配容
+康傑民
+康智昇
+康登傑
+康雅婷
+康稚暘
+康嘉蘭
+康曉蕙
+康麗貞
+張
+張一鴻
+張乃文
+張乃偉
+張力仁
+張力夫
+張又千
+張又牙
+張千里
+張士賢
+張子昌
+張小萍
+張中薇
+張尹馨
+張仁杰
+張仁傑
+張仁聰
+張元
+張元隆
+張元鴻
+張友
+張天鳳
+張尤子
+張心怡
+張心瑜
+張心馨
+張文育
+張文明
+張文彥
+張文玲
+張文軒
+張文欽
+張文雯
+張文榮
+張文豪
+張文樵
+張文爐
+張文騰
+張月容
+張世中
+張世岳
+張世明
+張世芬
+張世雯
+張世儒
+張世壎
+張以全
+張仕育
+張仕旻
+張加昇
+張可欣
+張央昌
+張巧玲
+張幼瑋
+張弘泰
+張必明
+張正余
+張正忠
+張正杰
+張正隆
+張正衛
+張正玗
+張永材
+張永昆
+張永俊
+張永棋
+張永勳
+張玄鴻
+張玉欣
+張玉玲
+張玉琪
+張玉蓉
+張玉旻
+張立文
+張立欣
+張立鈞
+張立緯
+張亦寧
+張仲平
+張仲銓
+張光仁
+張光偉
+張兆域
+張匡杰
+張吉豐
+張好禮
+張如瑩
+張宇竣
+張安妮
+張式良
+張旭宗
+張汎騏
+張羽潔
+張至睿
+張艾鈴
+張佑民
+張佑群
+張作成
+張伯駿
+張克偉
+張君如
+張君瑜
+張吟慈
+張妙慧
+張宋萍
+張宏春
+張宏瑞
+張宏銘
+張希聖
+張志
+張志仰
+張志宇
+張志舟
+張志明
+張志偉
+張志堅
+張志祥
+張志琳
+張志源
+張志達
+張志豪
+張志豪
+張志豪
+張志銘
+張志鴻
+張志瑄
+張沅璽
+張秀玉
+張秀珍
+張秀琪
+張秀蓉
+張育平
+張育崧
+張育菁
+張育慎
+張育誠
+張育彰
+張育綸
+張育銓
+張育瑋
+張良源
+張邑如
+張亞銜
+張佳文
+張佳音
+張佳惠
+張佳雯
+張佳蓉
+張佩帆
+張佩瑛
+張叔美
+張孟玉
+張孟婷
+張宗仁
+張宗賢
+張宜新
+張尚鈞
+張延任
+張念慈
+張怡欣
+張怡莉
+張怡慧
+張昆煌
+張明利
+張明祥
+張明照
+張明璋
+張昇欽
+張林芬
+張欣怡
+張欣蕙
+張治國
+張秉祺
+張芳菁
+張芳綾
+張芝友
+張芸慧
+張金山
+張金鳳
+張雨筑
+張信發
+張俊偉
+張俊堯
+張俊賢
+張冠華
+張姿媚
+張建邦
+張建祥
+張建豪
+張彥菁
+張思儀
+張恆瑋
+張政傑
+張昭元
+張柔明
+張洲期
+張為棟
+張玲婉
+張界聰
+張盈鴻
+張秋婷
+張紀君
+張美玲
+張美羚
+張美雯
+張美霞
+張致蒨
+張茂醒
+張英琦
+張郁芬
+張郁婷
+張香璽
+張倖碧
+張修豪
+張倫瑋
+張剛維
+張原謀
+張哲健
+張哲瑞
+張哲榕
+張哲維
+張哲銘
+張娟華
+張家明
+張家振
+張家淦
+張家棟
+張家菱
+張家源
+張家瑜
+張家群
+張家榕
+張家榮
+張家碩
+張家綺
+張家豪
+張家豪
+張家豪
+張家赫
+張家銘
+張家銘
+張家潤
+張家懷
+張家瑋
+張容菱
+張宸宗
+張峻杰
+張峻嘉
+張峻嚴
+張峰榮
+張庭源
+張庭瑋
+張恩瓊
+張振源
+張振鎰
+張晉通
+張晉豪
+張晏誠
+張晏齡
+張書航
+張書維
+張書豪
+張書銘
+張書馨
+張根源
+張桂華
+張桂鳳
+張泰青
+張浩堂
+張珮怡
+張珮琪
+張益州
+張益華
+張益維
+張祐慈
+張祐維
+張秦芸
+張素秋
+張素華
+張純益
+張純瑋
+張耿
+張耿維
+張耿崚
+張訓義
+張軒豪
+張高瑞
+張偉倫
+張偉鈞
+張健良
+張國志
+張國浩
+張國媛
+張國璽
+張堂凡
+張婉君
+張婉暄
+張崇偉
+張康虔
+張惟捷
+張啟明
+張敏芝
+張梅君
+張淳惠
+張清文
+張清凱
+張淑君
+張淑芳
+張淑芬
+張淑珍
+張淑貞
+張淑娟
+張淑茹
+張淑婷
+張淑琦
+張淑雅
+張淑嫻
+張淑謹
+張淵富
+張涵軒
+張盛綱
+張紹暉
+張莉茹
+張逢時
+張雪雲
+張凱宇
+張凱淳
+張凱嵐
+張凱琳
+張凱超
+張凱維
+張勝仁
+張勝傑
+張勝雄
+張博和
+張博勛
+張博鈞
+張喻
+張喬翔
+張壹能
+張婷韻
+張富淳
+張富禎
+張惠如
+張惠珊
+張惠娟
+張惠婷
+張惠琪
+張惠菁
+張惠雯
+張惠蘭
+張敦義
+張晴晴
+張景倫
+張景渾
+張景閎
+張智安
+張智剛
+張智清
+張智傑
+張智崴
+張智翔
+張智鈞
+張智豪
+張智謙
+張朝凱
+張朝龍
+張棋雯
+張湘怡
+張琪華
+張琦紹
+張登翔
+張皓崴
+張程順
+張紫鈴
+張翔智
+張舒琦
+張舜華
+張菁茹
+張華倩
+張詠茵
+張証荃
+張貴琳
+張逸凡
+張逸群
+張量然
+張鈞富
+張鈞貽
+張閔富
+張雁婷
+張雅姍
+張雅芬
+張雅玲
+張雅卿
+張雅敏
+張雅婷
+張雅婷
+張雅婷
+張雅婷
+張雅嵐
+張雅惠
+張雅惠
+張雅琪
+張雅琴
+張雅萍
+張雅雯
+張雅雯
+張雅鈴
+張雅瑩
+張雯茵
+張雯儀
+張順吉
+張順福
+張嗣文
+張意誠
+張慈灑
+張愷晏
+張新宏
+張毓
+張毓芬
+張毓倫
+張毓潔
+張源鑫
+張瑚珊
+張瑞君
+張瑞杰
+張瑞芸
+張瑞娟
+張瑞景
+張瑞樺
+張瑞氶
+張瑜君
+張瑜娟
+張祺昇
+張義忠
+張群朋
+張聖莉
+張裕昌
+張裕雯
+張詩怡
+張詩雯
+張資昊
+張道智
+張靖怡
+張鼎鉉
+張嘉元
+張嘉正
+張嘉宏
+張嘉欣
+張嘉芬
+張嘉玲
+張嘉玲
+張嘉哲
+張嘉晉
+張嘉真
+張嘉訓
+張嘉惠
+張嘉雄
+張嘉維
+張嘉聲
+張嘉珣
+張寧馨
+張榕容
+張榮盈
+張榮憲
+張熒珊
+張睿穎
+張碧娟
+張碩元
+張碩桓
+張福政
+張綱邑
+張綵芳
+張維全
+張維珊
+張維哲
+張維真
+張維淳
+張維潔
+張翠文
+張翠琪
+張肇樑
+張蓓萱
+張豪文
+張銀芳
+張銘宗
+張銘峰
+張銘翰
+張鳳平
+張鳳儀
+張廣浩
+張德榆
+張慶怡
+張慶豐
+張慧怡
+張慧娟
+張慧萍
+張慧箴
+張瑩珊
+張衛帆
+張適恆
+張學倫
+張憶君
+張曉昀
+張曉婷
+張曉菁
+張曉鳳
+張燕妮
+張翰文
+張醒世
+張錦婷
+張靜如
+張靜怡
+張靜茹
+張龍仁
+張環伊
+張謙達
+張鴻如
+張鴻智
+張曜銓
+張簡正偉
+張簡欣華
+張簡嘉人
+張藍尹
+張豐璸
+張懷恩
+張瓊之
+張瓊文
+張瓊文
+張瓊方
+張瓊惠
+張藝馨
+張麗君
+張麗淑
+張寶云
+張獻壬
+張繽文
+張繼昌
+張耀云
+張耀允
+張耀正
+張耀聲
+張釋文
+張馨文
+張馨文
+張騰元
+張儷薰
+張巍耀
+張譽馨
+張鶴耀
+張霽月
+張芃
+張倛
+張茜茹
+張琇閔
+張媜媜
+張琬宜
+張琬菁
+張菀倩
+張煒寧
+張瑋芸
+張瑋倫
+張瑋婷
+張筱君
+張筱雯
+張鄐憛
+張鈺彩
+張禕倫
+張璁文
+張鐙尹
+張恒中
+戚久智
+敖永龍
+曹士敏
+曹文彥
+曹世浩
+曹立行
+曹聿男
+曹志強
+曹佳安
+曹昌男
+曹欣良
+曹春文
+曹哲嘉
+曹峻昌
+曹珮怡
+曹偉茹
+曹淑媛
+曹勝豐
+曹智欣
+曹皓雲
+曹雅惠
+曹新彥
+曹嘉文
+曹維倫
+曹毅勇
+曹璽穠
+曹莨賢
+梁乃健
+梁仁華
+梁文安
+梁文賓
+梁世豪
+梁正忠
+梁玉玲
+梁任中
+梁汝舜
+梁君霙
+梁志彬
+梁志銘
+梁育華
+梁佳進
+梁怡芬
+梁東林
+梁信元
+梁俐琦
+梁彥豪
+梁炳鑄
+梁郁蓁
+梁家明
+梁家豪
+梁峻銘
+梁晉魁
+梁珮珮
+梁秦宜
+梁健忠
+梁啟玄
+梁淑娟
+梁莉娟
+梁勝銘
+梁惠婷
+梁景堯
+梁朝凱
+梁舒怡
+梁逸芬
+梁雅舒
+梁愷芸
+梁瑞軒
+梁聖昌
+梁嘉珍
+梁碧慧
+梁翠珊
+梁慧華
+梁曉維
+梁靜宜
+梁瓊丹
+梁繼仁
+梁懿德
+梁瑋真
+梅光宇
+梅雅婷
+畢志華
+盛心
+盛祥
+符肇中
+莫星宇
+莊一凡
+莊于瑩
+莊士國
+莊子凱
+莊仁宏
+莊心萍
+莊文昭
+莊文豪
+莊世杰
+莊弘任
+莊正揚
+莊永福
+莊玉麟
+莊如軒
+莊克偉
+莊志明
+莊志榮
+莊秀鈴
+莊育榕
+莊依婷
+莊佳榮
+莊佩雯
+莊坤哲
+莊孟玲
+莊孟紓
+莊宗勳
+莊官璇
+莊宜璇
+莊忠益
+莊怡軒
+莊昌曄
+莊明達
+莊東明
+莊欣哲
+莊玥嬛
+莊金靜
+莊俊傑
+莊建
+莊政憲
+莊秋子
+莊美馨
+莊英琴
+莊倉杰
+莊家昇
+莊家銘
+莊峻榕
+莊桓嘉
+莊珮鈴
+莊純純
+莊偉仁
+莊國辰
+莊培鑫
+莊啟文
+莊梨青
+莊清富
+莊淑芬
+莊淑婷
+莊淑閔
+莊淑珺
+莊莉莉
+莊凱茵
+莊勝利
+莊博清
+莊堯任
+莊富傑
+莊復貴
+莊惠茹
+莊惠萍
+莊惠蓉
+莊晴雲
+莊景琇
+莊智涵
+莊智鈞
+莊朝鈞
+莊登發
+莊善芳
+莊賀喬
+莊閔旭
+莊雅心
+莊雅玲
+莊雅婷
+莊雅惠
+莊雅萍
+莊雅雲
+莊雯雯
+莊嵩緯
+莊瑞南
+莊裕文
+莊嘉玲
+莊漢清
+莊維銘
+莊銘景
+莊慧心
+莊瑩姿
+莊樹宏
+莊蕙萍
+莊錦平
+莊靜怡
+莊濱綺
+莊曜旭
+莊蟬妃
+莊鎔璞
+莊馥綱
+莊麗足
+莊懿強
+莊捃娉
+莊斌智
+莊筱婷
+許一之
+許乃積
+許又仁
+許大容
+許仁全
+許元銘
+許壬耀
+許心盈
+許文忠
+許文厚
+許文桐
+許文華
+許文豪
+許文藍
+許日春
+許世民
+許世昌
+許世恬
+許世賢
+許加宏
+許平
+許弘毅
+許正忠
+許正誼
+許永明
+許永毅
+許玉芳
+許玉娟
+許玉嬋
+許甲
+許立群
+許仲賢
+許名世
+許宇杰
+許戎岑
+許汎穎
+許至全
+許佑銓
+許克仲
+許君豪
+許妍希
+許宏偉
+許宏德
+許志同
+許志宏
+許志崇
+許志雄
+許志維
+許志遠
+許志鵬
+許汶州
+許秀珊
+許秀蓉
+許育菁
+許育誠
+許良
+許貝如
+許佳政
+許佳雯
+許佩茹
+許卓塵
+許孟翔
+許宗榮
+許幸雯
+許怡珮
+許承訓
+許明傑
+許明德
+許松等
+許泓琮
+許芳慈
+許芳銘
+許芙瑲
+許金發
+許信榮
+許俊雄
+許姿怡
+許彥然
+許恬綾
+許昭元
+許柏樺
+許珊瑜
+許秋玲
+許美芳
+許美華
+許致維
+許英傑
+許郁敏
+許俸昌
+許修銘
+許原銘
+許哲瑞
+許哲彰
+許哲豪
+許哲瑋
+許家宣
+許家傑
+許家暘
+許家彰
+許家榮
+許家豪
+許家豪
+許家慶
+許宸豪
+許峻哲
+許峻瑋
+許峰銘
+許庭瑋
+許振湖
+許時嘉
+許晉熒
+許書
+許書榮
+許書銓
+許根宜
+許栓豪
+許浩瑋
+許珮嘉
+許益軒
+許祐萊
+許素菁
+許純瑜
+許耿豪
+許財得
+許偉忠
+許國安
+許國賢
+許婉茹
+許彩真
+許啟揚
+許梅菁
+許淳琇
+許清楓
+許淑芬
+許淑貞
+許淑茹
+許淑惠
+許淑華
+許淑蓮
+許盛昌
+許莉莉
+許凱惇
+許凱嘉
+許勝勛
+許博為
+許博森
+許堡如
+許富忠
+許富雄
+許惠如
+許惠珍
+許惠茹
+許惠琳
+許惠雯
+許惠瀅
+許晴斐
+許景鈞
+許智玲
+許智惟
+許智凱
+許智翔
+許智雄
+許智德
+許朝富
+許欽豪
+許登淵
+許竣能
+許善凱
+許舒茜
+許華倚
+許詠勝
+許貴彰
+許逸章
+許進興
+許閔雄
+許雅欣
+許雅玲
+許雅淑
+許雅婷
+許雅惠
+許雅惠
+許雅萍
+許雅雁
+許雅雯
+許雅慧
+許雯琳
+許順清
+許意苹
+許愷翔
+許楨祥
+許毓娟
+許源泉
+許瑞
+許瑞芸
+許瑞恩
+許瑞儀
+許瑜芳
+許稟曼
+許聖杰
+許裕億
+許詩筠
+許鈴英
+許嘉元
+許嘉芳
+許嘉倩
+許嘉珮
+許嘉惠
+許嘉穎
+許榕
+許榮隆
+許瑤馨
+許碧珠
+許碩修
+許箔涵
+許維育
+許維真
+許翠端
+許誘
+許銘仁
+許銘哲
+許銘財
+許閣文
+許鳳雅
+許慶文
+許慧君
+許慧貞
+許慕貞
+許適楓
+許憶芳
+許曉菁
+許燕萍
+許錦文
+許靜宜
+許靜雪
+許嶸仁
+許鴻文
+許薰文
+許懷文
+許瓊文
+許瓊月
+許隴祺
+許麗華
+許繽如
+許耀文
+許馨仁
+許騰元
+許躍議
+許昶華
+許琇婷
+許琮邦
+許嫈玉
+許筱萍
+許鈺茹
+許鋑鴻
+許恒達
+連仁聖
+連世和
+連佑仁
+連秀仁
+連佩泠
+連芸凰
+連建智
+連秋旺
+連容琪
+連桂宏
+連偉傑
+連婉儀
+連啟智
+連勝祥
+連雅貞
+連嘉純
+連慶豐
+連靜茹
+郭一樺
+郭乃榮
+郭人豪
+郭力瑋
+郭于禎
+郭士華
+郭士鳳
+郭子立
+郭子熒
+郭子禕
+郭仁哲
+郭天立
+郭文同
+郭文彥
+郭文惠
+郭文銓
+郭水山
+郭世蘭
+郭卉雯
+郭正宗
+郭永明
+郭玉珍
+郭立
+郭立達
+郭仲淵
+郭兆雯
+郭夙吟
+郭年真
+郭有鎮
+郭至哲
+郭君怡
+郭宏文
+郭宏駿
+郭志宏
+郭志祥
+郭杏
+郭沂村
+郭育先
+郭育昌
+郭育維
+郭邦彥
+郭佳欣
+郭佳雯
+郭佳鑫
+郭佩琦
+郭奇文
+郭孟蓉
+郭宗慶
+郭尚勳
+郭忠和
+郭怡伶
+郭怡君
+郭怡君
+郭怡秀
+郭怡鈴
+郭承儀
+郭明宗
+郭明峰
+郭明道
+郭明瑋
+郭松穎
+郭武安
+郭玟玟
+郭玥妦
+郭芳君
+郭芳雯
+郭芝睿
+郭長樹
+郭信宏
+郭保君
+郭俊宏
+郭俊男
+郭俊信
+郭俊億
+郭俐亨
+郭冠廷
+郭品秀
+郭姿伶
+郭姿欣
+郭威志
+郭建宏
+郭建廷
+郭建良
+郭建源
+郭彥君
+郭彥甫
+郭思宜
+郭政忠
+郭政璋
+郭昭安
+郭昭顯
+郭昱旻
+郭柏秀
+郭炳成
+郭玲慈
+郭盈君
+郭省萱
+郭美君
+郭美姍
+郭美善
+郭美蘭
+郭茂虔
+郭貞孍
+郭倍安
+郭倖銓
+郭凌志
+郭哲成
+郭哲瑋
+郭家宏
+郭家祥
+郭家豪
+郭家慧
+郭宸昀
+郭峰昇
+郭庭蓉
+郭振漢
+郭晏佑
+郭書豪
+郭桂鳳
+郭浩志
+郭益元
+郭祖佑
+郭素綾
+郭耿任
+郭軒
+郭國正
+郭婉玲
+郭啟沐
+郭添新
+郭淑芯
+郭淑敏
+郭淑慧
+郭逢祥
+郭勝
+郭喬年
+郭惠青
+郭惠旻
+郭智明
+郭智瑋
+郭琪媧
+郭詠珮
+郭進昌
+郭雅汝
+郭雅婷
+郭雅菱
+郭雅薇
+郭慈盈
+郭煜崇
+郭瑞欽
+郭義棠
+郭詩屏
+郭嘉偉
+郭夢竹
+郭榮慶
+郭碧娟
+郭綸益
+郭肇強
+郭銘傑
+郭慶生
+郭慧珍
+郭慧薄
+郭儒謙
+郭曉卉
+郭曉雯
+郭燕玲
+郭蕙萍
+郭錕霖
+郭靜美
+郭濟維
+郭駿
+郭曜彰
+郭鎮元
+郭瓊媛
+郭麗秋
+郭獻文
+郭蘊忱
+郭馨鎂
+郭籠慶
+郭旻瑜
+郭晟宇
+郭暐
+郭鈺芳
+郭恒妙
+陳一成
+陳一華
+陳一瑋
+陳乃釧
+陳乃榮
+陳人甄
+陳力凡
+陳又昕
+陳又聖
+陳上倫
+陳千錦
+陳士傑
+陳大同
+陳子仁
+陳子彥
+陳子鈞
+陳小萍
+陳己升
+陳中銘
+陳之諭
+陳仁宗
+陳仁傑
+陳今凡
+陳元孝
+陳元靖
+陳兮
+陳天仁
+陳天賞
+陳心怡
+陳心怡
+陳心潔
+陳文川
+陳文成
+陳文忠
+陳文亮
+陳文昭
+陳文郎
+陳文涓
+陳文彬
+陳文章
+陳文欽
+陳文華
+陳文蓉
+陳文德
+陳文學
+陳文鴻
+陳文鈺
+陳月妮
+陳水泉
+陳世宇
+陳世宗
+陳世明
+陳世杰
+陳世政
+陳世庭
+陳世偉
+陳世章
+陳世棻
+陳世盟
+陳世豪
+陳世澤
+陳世鴻
+陳主欣
+陳以靜
+陳仕芳
+陳仕源
+陳仕叡
+陳加明
+陳功霖
+陳可欣
+陳右民
+陳右諭
+陳巨鶠
+陳巧珊
+陳巧惠
+陳巧頤
+陳幼欣
+陳弘文
+陳弘欣
+陳弘訓
+陳弘毅
+陳弘鎧
+陳札培
+陳正宏
+陳正昌
+陳正芳
+陳正峰
+陳正傑
+陳正雄
+陳正豪
+陳正興
+陳民
+陳永
+陳永宗
+陳永昌
+陳永青
+陳永凌
+陳永康
+陳永富
+陳永誌
+陳永穆
+陳永珩
+陳玉文
+陳玉奇
+陳玉芳
+陳玉芬
+陳玉珊
+陳玉珍
+陳玉娟
+陳玉珠
+陳玉梅
+陳玉琳
+陳玉菁
+陳玉雲
+陳玉嬌
+陳玉璘
+陳玉馨
+陳生松
+陳石育
+陳立凡
+陳立言
+陳立欣
+陳立倫
+陳立偉
+陳立翎
+陳立維
+陳立翰
+陳亦凡
+陳伊倫
+陳仲志
+陳仲賢
+陳光甫
+陳光華
+陳兆奕
+陳吉利
+陳向榮
+陳在明
+陳如芬
+陳如蘋
+陳宇杰
+陳宇超
+陳安佑
+陳安樸
+陳旬
+陳有志
+陳江立
+陳百傑
+陳羽珊
+陳至凱
+陳亨成
+陳佑任
+陳佑庭
+陳伸田
+陳伯杰
+陳伯蒼
+陳克宇
+陳克銘
+陳君妃
+陳君航
+陳君榮
+陳君儒
+陳均碩
+陳妙楨
+陳妍伶
+陳妍秀
+陳妤蕙
+陳孝銓
+陳宏仁
+陳宏安
+陳宏昌
+陳宏波
+陳宏美
+陳宏彬
+陳宏隆
+陳宏達
+陳宏銘
+陳宏賢
+陳宏煒
+陳廷俊
+陳志山
+陳志平
+陳志仲
+陳志安
+陳志宏
+陳志沛
+陳志岳
+陳志怡
+陳志明
+陳志昇
+陳志欣
+陳志彥
+陳志浩
+陳志偉
+陳志強
+陳志祥
+陳志翔
+陳志雄
+陳志源
+陳志達
+陳志榮
+陳志維
+陳志豪
+陳志豪
+陳志豪
+陳志遠
+陳志銘
+陳志寬
+陳志穎
+陳志鴻
+陳志斌
+陳攸婷
+陳村龍
+陳沛吟
+陳汶津
+陳甸
+陳秀君
+陳秀芝
+陳秀玲
+陳秀娟
+陳秀敏
+陳秀惠
+陳秀雅
+陳秀鈴
+陳秀慧
+陳秀蘭
+陳育正
+陳育佐
+陳育奇
+陳育章
+陳育廉
+陳育詩
+陳育瑩
+陳育斌
+陳良政
+陳見秋
+陳辰揚
+陳酉茹
+陳亞鈴
+陳依辰
+陳依翔
+陳佳
+陳佳汝
+陳佳伶
+陳佳吟
+陳佳宏
+陳佳妮
+陳佳玥
+陳佳盈
+陳佳真
+陳佳惠
+陳佳琪
+陳佳琦
+陳佳雯
+陳佳群
+陳佳鳳
+陳佳慧
+陳佳璘
+陳佳駿
+陳佳怜
+陳侃婷
+陳佩君
+陳佩君
+陳佩佩
+陳佩芸
+陳佩真
+陳佩琳
+陳佩瑜
+陳佩瑩
+陳侑娥
+陳其鈞
+陳協昌
+陳和成
+陳坤佐
+陳坤傑
+陳坤鍾
+陳委承
+陳孟伶
+陳孟良
+陳孟威
+陳孟偉
+陳孟琪
+陳孟鈴
+陳孟輝
+陳季佑
+陳宗仁
+陳宗志
+陳宗盈
+陳宗雄
+陳宗旗
+陳宗緯
+陳宗龍
+陳定至
+陳宜平
+陳宜君
+陳宜秀
+陳宜姿
+陳宜培
+陳宜群
+陳宜璋
+陳宜旻
+陳宛姍
+陳尚文
+陳尚瑜
+陳居仁
+陳岳君
+陳幸足
+陳幸滿
+陳延道
+陳忠良
+陳忠義
+陳怡
+陳怡文
+陳怡卉
+陳怡冰
+陳怡如
+陳怡如
+陳怡如
+陳怡如
+陳怡如
+陳怡如
+陳怡安
+陳怡竹
+陳怡伶
+陳怡伶
+陳怡伶
+陳怡利
+陳怡君
+陳怡君
+陳怡君
+陳怡君
+陳怡君
+陳怡君
+陳怡君
+陳怡君
+陳怡君
+陳怡廷
+陳怡秀
+陳怡昌
+陳怡芳
+陳怡珊
+陳怡香
+陳怡真
+陳怡婷
+陳怡婷
+陳怡琴
+陳怡菁
+陳怡雯
+陳怡誠
+陳怡碩
+陳怡蓉
+陳怡潔
+陳怡儒
+陳怡穎
+陳怡靜
+陳怡靜
+陳怡蘋
+陳怡蓁
+陳怡叡
+陳招誠
+陳易村
+陳昌文
+陳昌港
+陳昆杰
+陳昂佑
+陳明正
+陳明伸
+陳明宏
+陳明材
+陳明昌
+陳明政
+陳明珠
+陳明莉
+陳明婷
+陳明楷
+陳明裕
+陳明德
+陳明賢
+陳明豐
+陳昕方
+陳昇毅
+陳東華
+陳杰盛
+陳松萍
+陳欣如
+陳欣宏
+陳欣宜
+陳欣怡
+陳欣怡
+陳欣泰
+陳欣瑜
+陳欣蘭
+陳泳任
+陳法光
+陳泓翔
+陳泓霖
+陳治宇
+陳泊辰
+陳玟光
+陳玟伶
+陳玟瑛
+陳玫如
+陳玫君
+陳玫芳
+陳玫臻
+陳玥燕
+陳秉淳
+陳秉斌
+陳芳珍
+陳芳萱
+陳芝倩
+陳芝範
+陳芯怡
+陳邵鑫
+陳金良
+陳金堤
+陳金聲
+陳長慶
+陳雨新
+陳青瑜
+陳亭君
+陳亮丞
+陳亮君
+陳亮穎
+陳信伊
+陳信宇
+陳信旭
+陳信吟
+陳信宏
+陳信宏
+陳信甫
+陳信忠
+陳信智
+陳信裕
+陳信豪
+陳信學
+陳保元
+陳保彰
+陳俊仁
+陳俊文
+陳俊仰
+陳俊吉
+陳俊如
+陳俊宇
+陳俊安
+陳俊成
+陳俊旭
+陳俊佑
+陳俊呈
+陳俊宏
+陳俊宏
+陳俊宏
+陳俊宏
+陳俊廷
+陳俊男
+陳俊男
+陳俊良
+陳俊和
+陳俊杰
+陳俊郎
+陳俊彬
+陳俊傑
+陳俊凱
+陳俊華
+陳俊源
+陳俊達
+陳俊榕
+陳俊維
+陳俊豪
+陳俊銘
+陳俊銘
+陳俊璋
+陳俊樺
+陳俊諺
+陳俊龍
+陳俊瑋
+陳俐安
+陳俐秀
+陳俐潔
+陳俞仲
+陳俞妙
+陳俞靜
+陳冠夫
+陳冠仰
+陳冠如
+陳冠宇
+陳冠州
+陳冠舟
+陳冠含
+陳冠宏
+陳冠廷
+陳冠男
+陳冠傑
+陳冠嗚
+陳冠維
+陳冠銘
+陳冠樺
+陳冠妏
+陳則欽
+陳勇在
+陳勇志
+陳勇達
+陳勁吾
+陳南居
+陳厚銘
+陳品先
+陳品秀
+陳品輝
+陳奕中
+陳奕任
+陳奕帆
+陳奕利
+陳奕廷
+陳奕盈
+陳奕達
+陳奕穎
+陳奕蓁
+陳奎每
+陳姿文
+陳姿百
+陳姿利
+陳姿吟
+陳姿岐
+陳姿珊
+陳姿蓉
+陳姿穎
+陳姿璇
+陳威丞
+陳威全
+陳威宇
+陳威成
+陳威助
+陳威廷
+陳威志
+陳威志
+陳威邑
+陳威翔
+陳威豪
+陳威儒
+陳威霖
+陳宣任
+陳宣每
+陳宥任
+陳宥諭
+陳帥名
+陳建中
+陳建元
+陳建文
+陳建任
+陳建同
+陳建宇
+陳建安
+陳建州
+陳建成
+陳建旭
+陳建行
+陳建呈
+陳建宏
+陳建宏
+陳建宏
+陳建宏
+陳建廷
+陳建志
+陳建志
+陳建甫
+陳建男
+陳建良
+陳建邦
+陳建明
+陳建國
+陳建揚
+陳建華
+陳建評
+陳建源
+陳建達
+陳建榮
+陳建蓉
+陳建輔
+陳建銘
+陳建銘
+陳建璋
+陳建勳
+陳建樺
+陳建龍
+陳建烜
+陳彥夫
+陳彥文
+陳彥任
+陳彥合
+陳彥宇
+陳彥帆
+陳彥竹
+陳彥伸
+陳彥君
+陳彥壯
+陳彥宏
+陳彥宏
+陳彥廷
+陳彥甫
+陳彥良
+陳彥昌
+陳彥凱
+陳彥愷
+陳彥綸
+陳彥豪
+陳彥慰
+陳彥勳
+陳彥霖
+陳律元
+陳思先
+陳思年
+陳思妤
+陳思亮
+陳思源
+陳思蓉
+陳思樸
+陳思穎
+陳思翰
+陳思璇
+陳政文
+陳政宏
+陳政昕
+陳政堯
+陳政裕
+陳政毅
+陳政謙
+陳春妃
+陳春明
+陳春燕
+陳昭文
+陳昭宇
+陳昭伶
+陳昭志
+陳昭偉
+陳昭榮
+陳昭銘
+陳昭瑋
+陳映旭
+陳映志
+陳映儒
+陳星宇
+陳星熹
+陳昱丞
+陳昱全
+陳昱汝
+陳昱宏
+陳昱甫
+陳昱達
+陳昱樺
+陳柔安
+陳柄方
+陳柏元
+陳柏份
+陳柏宇
+陳柏州
+陳柏年
+陳柏舟
+陳柏含
+陳柏宏
+陳柏志
+陳柏沅
+陳柏岳
+陳柏峰
+陳柏凱
+陳柏瑞
+陳柏寧
+陳柏蓉
+陳柏璋
+陳柏翰
+陳柏輯
+陳柏瑋
+陳洲星
+陳炫君
+陳炳仲
+陳炳辰
+陳炳錕
+陳炯錦
+陳珊珊
+陳珍瑩
+陳皆興
+陳皇旭
+陳皇龍
+陳盈全
+陳盈如
+陳盈如
+陳盈安
+陳盈竹
+陳盈君
+陳盈孜
+陳盈杉
+陳盈貝
+陳盈婷
+陳盈綺
+陳盈璋
+陳盈諭
+陳盈璇
+陳相達
+陳祈賓
+陳禹齊
+陳科順
+陳秋方
+陳秋帆
+陳秋秀
+陳秋純
+陳秋萍
+陳秋雯
+陳秋燕
+陳紅玉
+陳紀足
+陳美云
+陳美玉
+陳美如
+陳美年
+陳美伶
+陳美君
+陳美吟
+陳美廷
+陳美秀
+陳美芝
+陳美玲
+陳美娟
+陳美純
+陳美喬
+陳美惠
+陳美琴
+陳美菱
+陳美鈴
+陳美慧
+陳美儒
+陳美靜
+陳美鈺
+陳羿谷
+陳致仰
+陳致宏
+陳致福
+陳致叡
+陳若曦
+陳茂雄
+陳英杰
+陳英振
+陳英傑
+陳英蓓
+陳英鴻
+陳苓娟
+陳虹曲
+陳虹吟
+陳虹潔
+陳衍至
+陳衍霖
+陳貞旭
+陳貞妤
+陳貞蓉
+陳貞瑋
+陳郁仁
+陳郁文
+陳郁芬
+陳郁傑
+陳郁菁
+陳郁楓
+陳重光
+陳重廷
+陳重儒
+陳韋在
+陳韋伶
+陳韋廷
+陳韋承
+陳韋豪
+陳音
+陳飛良
+陳香如
+陳香吟
+陳香婷
+陳倍甄
+陳倖翠
+陳凌硯
+陳哲民
+陳哲強
+陳哲賢
+陳家正
+陳家奇
+陳家珍
+陳家祥
+陳家湖
+陳家雯
+陳家漢
+陳家儀
+陳家慧
+陳家興
+陳家琮
+陳容萱
+陳峰州
+陳恕
+陳恩榮
+陳振東
+陳振湧
+陳振銘
+陳時盟
+陳書光
+陳書毓
+陳桂玉
+陳桂慧
+陳泰全
+陳泰伶
+陳泰峰
+陳泰銘
+陳浚欽
+陳浩茹
+陳珮云
+陳珮怡
+陳珮珮
+陳珮瑜
+陳珮瑋
+陳益裕
+陳祐悌
+陳紡
+陳素珍
+陳素娥
+陳素瑜
+陳純怡
+陳耘寬
+陳荃豪
+陳郡怡
+陳乾淦
+陳偉民
+陳偉信
+陳偉莉
+陳偉裕
+陳健上
+陳健封
+陳健霖
+陳國元
+陳國明
+陳國峰
+陳國梁
+陳國棋
+陳國榮
+陳國鋒
+陳堅民
+陳培育
+陳培端
+陳婉育
+陳婉卿
+陳婉菁
+陳婉潔
+陳崇原
+陳崑銘
+陳彩純
+陳捷
+陳啟存
+陳啟清
+陳啟銘
+陳敏星
+陳敏新
+陳梓瑋
+陳梅馨
+陳清奇
+陳清源
+陳淑
+陳淑君
+陳淑怡
+陳淑芬
+陳淑芬
+陳淑玲
+陳淑秋
+陳淑貞
+陳淑娟
+陳淑娟
+陳淑真
+陳淑羚
+陳淑惠
+陳淑萍
+陳淑雅
+陳淑鈴
+陳淑慧
+陳淑靜
+陳淵秋
+陳猛宗
+陳祥鈞
+陳紹庭
+陳莊偉
+陳莉婷
+陳許民
+陳雪芬
+陳雪華
+陳傑裕
+陳凱玲
+陳凱鈿
+陳勝如
+陳勝嘉
+陳博康
+陳喬宇
+陳婷玟
+陳富民
+陳富榮
+陳惠文
+陳惠君
+陳惠芬
+陳惠玲
+陳惠美
+陳惠娟
+陳惠婷
+陳惠萍
+陳惠雯
+陳惠雯
+陳惠齡
+陳揚哲
+陳晶晶
+陳景泰
+陳景鑫
+陳智亮
+陳智偉
+陳智陽
+陳智寬
+陳朝文
+陳朝熙
+陳棋珍
+陳湘于
+陳湘琴
+陳渝文
+陳琪雯
+陳琦琳
+陳登隆
+陳筑筠
+陳肅權
+陳舒憛
+陳菁
+陳華偉
+陳詠亮
+陳賀鈺
+陳辜亮
+陳逸平
+陳逸明
+陳逸盈
+陳逸菁
+陳逸維
+陳逸鴻
+陳進志
+陳進隆
+陳鈞屏
+陳閔隆
+陳隆斌
+陳雅君
+陳雅玫
+陳雅芬
+陳雅玲
+陳雅玲
+陳雅苓
+陳雅珮
+陳雅雪
+陳雅婷
+陳雅惠
+陳雅惠
+陳雅琪
+陳雅琴
+陳雅菁
+陳雅雯
+陳雅雯
+陳雅鈴
+陳雅慧
+陳雅韻
+陳雯
+陳雯惠
+陳雲樸
+陳順發
+陳傳興
+陳意文
+陳意雯
+陳慈雅
+陳愛甄
+陳敬文
+陳敬傑
+陳新烈
+陳業統
+陳榆涵
+陳毓良
+陳毓茹
+陳毓鈞
+陳源正
+陳溫萍
+陳照慈
+陳煦淑
+陳煥森
+陳瑞利
+陳瑞昌
+陳瑞芬
+陳瑞釧
+陳瑞瑜
+陳瑞霖
+陳瑞麟
+陳瑜詩
+陳祺富
+陳經國
+陳義忠
+陳義緯
+陳聖尹
+陳聖宜
+陳聖傑
+陳聖憲
+陳萱蔓
+陳蜂灝
+陳裕升
+陳裕廷
+陳裕智
+陳詩平
+陳詩泉
+陳詩婷
+陳詩詩
+陳詩蘋
+陳運徵
+陳達裕
+陳雍
+陳靖怡
+陳鼎仁
+陳嘉仁
+陳嘉亨
+陳嘉宏
+陳嘉怡
+陳嘉玲
+陳嘉峰
+陳嘉茵
+陳嘉淦
+陳嘉惠
+陳嘉雁
+陳嘉勤
+陳嘉德
+陳嘉瑩
+陳嘉營
+陳嘉琮
+陳旗昌
+陳榮杰
+陳榮進
+陳榮燿
+陳漢珍
+陳漢蔚
+陳瑤真
+陳碧紅
+陳碧雲
+陳碩偉
+陳福林
+陳綺華
+陳維邦
+陳維哲
+陳維儀
+陳翠婷
+陳肇鴻
+陳蓓玲
+陳誌睿
+陳銘
+陳銘泉
+陳銘強
+陳銘雄
+陳銘耀
+陳鳳玲
+陳鳳鳴
+陳儀
+陳儀珊
+陳儀潔
+陳寬如
+陳廣麟
+陳德和
+陳德堂
+陳德遠
+陳徵宗
+陳慶星
+陳慶華
+陳慶維
+陳慶翰
+陳慶鴻
+陳慧玉
+陳慧如
+陳慧君
+陳慧芝
+陳慧珊
+陳慧玲
+陳慧美
+陳慧卿
+陳慧真
+陳慧純
+陳慧敏
+陳慧萍
+陳慧雯
+陳慧蓉
+陳慧樵
+陳慧蘭
+陳慕儒
+陳毅正
+陳毅鴻
+陳潔音
+陳瑩芳
+陳瑩蓉
+陳瑩瑄
+陳緯恩
+陳蔚青
+陳誼芳
+陳賢典
+陳輝吉
+陳震宇
+陳黎桂
+陳學明
+陳憲仁
+陳憲儀
+陳憶雯
+陳曉姍
+陳曉青
+陳曉風
+陳曉嵐
+陳曉菁
+陳曉筠
+陳曉慧
+陳曉麗
+陳樹年
+陳澤珊
+陳燕伶
+陳燕菁
+陳燕怜
+陳穎君
+陳穎祥
+陳穎慧
+陳穆蓉
+陳翰璋
+陳蕙芳
+陳蕙苹
+陳錫華
+陳錦秀
+陳錦堂
+陳錦慧
+陳錦鴻
+陳靜如
+陳靜宜
+陳靜怡
+陳靜怡
+陳靜怡
+陳靜芳
+陳靜淑
+陳靜寧
+陳靜儀
+陳靜慧
+陳靜賢
+陳龍生
+陳龍寬
+陳曙東
+陳聰仁
+陳臆仁
+陳薇
+陳薇如
+陳謙毅
+陳駿揚
+陳鴻文
+陳鴻志
+陳鴻清
+陳鴻裕
+陳鴻霖
+陳璿如
+陳豐振
+陳懷哲
+陳璽爭
+陳瓊淇
+陳瓊樺
+陳藝心
+陳贊中
+陳鏗任
+陳韻夙
+陳韻如
+陳韻如
+陳韻如
+陳韻竹
+陳韻婷
+陳韻靜
+陳鵬禾
+陳麒元
+陳麒全
+陳麗文
+陳麗如
+陳麗宇
+陳麗而
+陳麗芬
+陳麗卿
+陳麗珠
+陳麗婷
+陳麗萍
+陳麗雯
+陳麗蓮
+陳寶玉
+陳寶蓮
+陳耀仁
+陳耀笙
+陳馨怡
+陳儷文
+陳櫻容
+陳譽齡
+陳鶴中
+陳懿映
+陳艷鈴
+陳芊秀
+陳怜君
+陳旻政
+陳玠源
+陳姮霏
+陳姵如
+陳姵吟
+陳姵瑱
+陳昶昱
+陳珈琦
+陳彧馨
+陳琇如
+陳堜
+陳琮閔
+陳琬婷
+陳琬菁
+陳椸涓
+陳瑋
+陳瑋典
+陳瑋耘
+陳瑋昶
+陳筱芳
+陳筱婷
+陳筱筠
+陳萩芸
+陳鈺玫
+陳鈺婷
+陳鈺璽
+陳銚茹
+陳霈宇
+陳薏雯
+陳瀅如
+陳瀅淑
+陳嬿因
+陳嬿伶
+陳顗文
+陳鑫麟
+陸小燕
+陸正義
+陸季宏
+陸信龍
+陸津華
+陸梅婷
+陸雲泰
+陸鳳玲
+陸淯鈴
+陶育均
+陶惟萱
+章文芝
+章佳雲
+章根源
+章翔
+章瓊方
+麥佩雯
+麥盧寶全
+傅一雄
+傅子恒
+傅文進
+傅正希
+傅光智
+傅宏斌
+傅亞凡
+傅怡芳
+傅金宏
+傅建國
+傅映先
+傅美蓉
+傅珮淇
+傅國棟
+傅啟皇
+傅淑雯
+傅斯平
+傅雅卿
+傅煌錦
+傅鉛文
+傅德政
+傅鍬淼
+傅琮
+單亦俠
+喻至善
+喬宗堯
+富康翔
+彭上吉
+彭士恒
+彭仁志
+彭及辰
+彭文宏
+彭文慧
+彭以信
+彭正良
+彭玉華
+彭伊芬
+彭如敏
+彭成傑
+彭旭初
+彭宏君
+彭志豪
+彭佳偉
+彭宗意
+彭怡蕙
+彭朋雍
+彭秉正
+彭保欣
+彭俊福
+彭冠瑛
+彭威翔
+彭建榮
+彭律凡
+彭柏威
+彭秋萍
+彭若慈
+彭郁仁
+彭哲仁
+彭浩倫
+彭偉君
+彭國峰
+彭崇信
+彭啟鈞
+彭淑珍
+彭盛
+彭雪琦
+彭喜浩
+彭晶聲
+彭滋萍
+彭舒彥
+彭開明
+彭雅絹
+彭愛蘋
+彭瑞苓
+彭聖萍
+彭嘉君
+彭榮桂
+彭銘淇
+彭慧如
+彭賢一
+彭曉琪
+彭錦炫
+彭駿洁
+彭麗慧
+彭馨慧
+彭瑋彥
+彭頎蘋
+景雨秋
+曾凡哲
+曾于慈
+曾千豪
+曾士軒
+曾士恒
+曾子庭
+曾小玲
+曾仁佑
+曾元志
+曾孔鈺
+曾文
+曾文忠
+曾文彬
+曾文慧
+曾文顗
+曾世煌
+曾令瑜
+曾平誥
+曾正耀
+曾玉如
+曾玉菁
+曾立德
+曾仲盟
+曾吉宏
+曾如君
+曾安琪
+曾羽嶺
+曾君豪
+曾志玄
+曾志傑
+曾志麟
+曾秀梅
+曾育菁
+曾佳玲
+曾佳瑱
+曾季歆
+曾尚志
+曾怡娟
+曾怡嘉
+曾承志
+曾明德
+曾泓霖
+曾芝蘭
+曾信傑
+曾俊彥
+曾俊智
+曾俊豪
+曾俊瑋
+曾冠樺
+曾品彰
+曾姿綺
+曾威諭
+曾建和
+曾建博
+曾建榮
+曾建霖
+曾彥閔
+曾彥翰
+曾思維
+曾政豪
+曾昭翔
+曾映齡
+曾柏涵
+曾柏興
+曾皇龍
+曾秋敏
+曾美怡
+曾美華
+曾美齡
+曾英峰
+曾郁文
+曾郁穎
+曾家振
+曾展其
+曾書慧
+曾珮琳
+曾素鈴
+曾軒彬
+曾偉翔
+曾健逢
+曾國志
+曾國書
+曾國裕
+曾國鋆
+曾婉惠
+曾庸哲
+曾啟強
+曾梅玉
+曾淑芳
+曾淑敏
+曾淑萍
+曾涵副
+曾祥達
+曾貫智
+曾凱悌
+曾博彥
+曾富鈺
+曾惠玲
+曾惠雯
+曾斐紅
+曾智弘
+曾智祺
+曾湘雲
+曾舒平
+曾華齡
+曾貴禎
+曾鈞鼎
+曾雅青
+曾雅惠
+曾雅鉉
+曾雲沐
+曾意文
+曾慈惠
+曾暉洸
+曾溥元
+曾煥傑
+曾瑞晃
+曾瑛琳
+曾筠凊
+曾聖然
+曾裕凱
+曾詩翰
+曾靖娟
+曾鼎元
+曾嘉英
+曾榮
+曾碧蓮
+曾維群
+曾銘銜
+曾德龍
+曾慶瑄
+曾慧真
+曾澄堉
+曾憲忠
+曾曉琪
+曾蕙菁
+曾靜怡
+曾繁青
+曾鴻家
+曾懷賢
+曾瓊慧
+曾韻真
+曾麗娟
+曾寶磁
+曾繼增
+曾耀賢
+曾馨儀
+曾齡慧
+曾郅絜
+曾琮彥
+曾暐清
+曾筱婷
+曾鈺芬
+曾瞍
+游力行
+游士漢
+游大緯
+游之嫻
+游文志
+游文聰
+游世斌
+游本威
+游玉姿
+游兆君
+游君苹
+游志偉
+游李雄
+游亞俐
+游佳敏
+游佩勳
+游宗憲
+游宜群
+游怡祥
+游昌翰
+游明儀
+游欣
+游青霏
+游奕霖
+游政璋
+游秋怡
+游英如
+游娟娟
+游家豪
+游恩政
+游珮筠
+游高杰
+游婉青
+游啟輝
+游淑如
+游淑惠
+游祥杰
+游凱媜
+游喬智
+游惠玲
+游景翔
+游智超
+游朝舜
+游竣盛
+游舜傑
+游進富
+游雅芳
+游雅婷
+游雅筠
+游瑞蓮
+游裕德
+游榮華
+游慶芳
+游輝祥
+游曉芸
+游錫宗
+游駿偉
+游鎮邦
+游獻群
+游旻憲
+游矞皇
+湯一珊
+湯今蘭
+湯玉琴
+湯志忠
+湯佳翰
+湯岳豊
+湯治邦
+湯家豪
+湯健文
+湯淵富
+湯富棋
+湯詠瑜
+湯雅楓
+湯慶錚
+湯鴻賢
+焦信祥
+程之寧
+程文鍾
+程立輝
+程志文
+程尚則
+程秉鑫
+程奕欣
+程建翰
+程柏章
+程秋蘭
+程偉政
+程婉欣
+程淑玲
+程斐文
+程雅惠
+程詩婷
+程潔菡
+程瓊萱
+程蘊霞
+童士芬
+童弘
+童安亨
+童信和
+童美滿
+童惟新
+童湘芸
+童聖傑
+童韻如
+童瀅蓉
+舒婷婷
+華國鋒
+覃思齊
+費騏葳
+賀厚平
+賀瑞麗
+買菁華
+辜信福
+辜郁仁
+辜惠群
+辜靜怡
+閔任遠
+陽正光
+雲智勇
+須上苑
+馮允中
+馮文政
+馮永瀅
+馮佑雄
+馮佳琦
+馮長龍
+馮建筌
+馮美珊
+馮晉嘉
+馮彩娟
+馮博偉
+馮翔瑜
+馮瑞陽
+馮誌遵
+馮熾煒
+馮耀文
+黃一
+黃一倫
+黃乙上
+黃力言
+黃上芳
+黃凡維
+黃于芬
+黃于珊
+黃于哲
+黃于真
+黃于禎
+黃千芳
+黃千凌
+黃千華
+黃士
+黃士欣
+黃士原
+黃士峰
+黃士釗
+黃士嘉
+黃士豪
+黃士賢
+黃大倫
+黃子才
+黃子建
+黃子卿
+黃子軒
+黃子穆
+黃小佩
+黃小娟
+黃山峰
+黃才旺
+黃中偉
+黃之亭
+黃仁弘
+黃仁良
+黃仁柏
+黃仁璋
+黃元山
+黃元隆
+黃元駿
+黃友謙
+黃天健
+黃少雨
+黃心怡
+黃心怡
+黃心怡
+黃心儀
+黃心姮
+黃文正
+黃文孝
+黃文村
+黃文怡
+黃文信
+黃文彥
+黃文玲
+黃文益
+黃文勝
+黃文隆
+黃文祺
+黃文榮
+黃文璋
+黃文龍
+黃文麒
+黃日青
+黃月瑾
+黃世安
+黃世宜
+黃世朋
+黃世堅
+黃世湧
+黃世嘉
+黃世增
+黃世穎
+黃以喬
+黃仕達
+黃加欣
+黃可甄
+黃巧婷
+黃平宇
+黃弘吉
+黃弘毅
+黃正一
+黃正安
+黃正佩
+黃正偉
+黃正順
+黃正錕
+黃永仁
+黃永昇
+黃永智
+黃永漢
+黃汀滿
+黃玉君
+黃玉雨
+黃玉娟
+黃玉婷
+黃玉菁
+黃玉瑩
+黃玉蘭
+黃立文
+黃立芬
+黃立達
+黃立緯
+黃亦萱
+黃仲正
+黃仲煦
+黃任延
+黃光玉
+黃光滿
+黃兆敏
+黃全富
+黃吉廷
+黃名池
+黃夙慧
+黃如真
+黃如翰
+黃宇廷
+黃守田
+黃安德
+黃旭弘
+黃旭輝
+黃江瑜
+黃百燦
+黃聿君
+黃至枰
+黃至鵬
+黃伯年
+黃克任
+黃君怡
+黃妙芬
+黃孝彰
+黃宏亮
+黃宏進
+黃宏駿
+黃志仁
+黃志平
+黃志成
+黃志明
+黃志偉
+黃志強
+黃志揚
+黃志雄
+黃志嘉
+黃志豪
+黃志銘
+黃志龍
+黃杏如
+黃沛聲
+黃秀玲
+黃秀容
+黃秀華
+黃秀蓉
+黃育信
+黃良
+黃邦彥
+黃依文
+黃佳元
+黃佳春
+黃佳媛
+黃佳華
+黃佳嫻
+黃佳蕙
+黃佩俐
+黃佩萱
+黃卓君
+黃坤德
+黃孟專
+黃孟樵
+黃宗基
+黃宗賢
+黃宜玲
+黃宛貞
+黃幸儀
+黃念芹
+黃怡君
+黃怡珊
+黃怡茹
+黃怡萍
+黃怡菁
+黃怡雯
+黃怡嘉
+黃怡維
+黃怡齡
+黃承德
+黃昌鼎
+黃明志
+黃明彥
+黃明理
+黃明瑞
+黃明慧
+黃昕嵐
+黃東海
+黃松筠
+黃欣怡
+黃欣愉
+黃欣蕙
+黃河順
+黃治平
+黃玟瑾
+黃秉鈞
+黃芝華
+黃芷雲
+黃金湯
+黃金樹
+黃長澤
+黃亭萍
+黃亮凱
+黃信文
+黃信捷
+黃信棠
+黃信愷
+黃信彰
+黃信銘
+黃信穎
+黃信斌
+黃保璁
+黃俊生
+黃俊哲
+黃俊淇
+黃俊傑
+黃俊傑
+黃俊傑
+黃俊凱
+黃俊棋
+黃俊舜
+黃俊隆
+黃俊祺
+黃俊嘉
+黃俊維
+黃俊豪
+黃俊賢
+黃俊穎
+黃俊龍
+黃俊燁
+黃俞斐
+黃冠怡
+黃冠程
+黃冠雅
+黃冠賓
+黃冠龍
+黃勇慧
+黃厚盛
+黃品傑
+黃品毅
+黃奕揆
+黃奕霖
+黃姿婷
+黃姿綾
+黃威凱
+黃威銘
+黃宣凱
+黃宣穆
+黃建中
+黃建文
+黃建青
+黃建凱
+黃建智
+黃建程
+黃建鈞
+黃建源
+黃建彰
+黃建豪
+黃建銘
+黃建勳
+黃建穎
+黃建龍
+黃彥太
+黃彥強
+黃彥博
+黃彥皓
+黃彥瑜
+黃彥賓
+黃彥樵
+黃彥斌
+黃思凱
+黃思嘉
+黃思賢
+黃思瑋
+黃政原
+黃政揚
+黃政龍
+黃春堤
+黃昭仁
+黃昭智
+黃昭維
+黃映瑄
+黃昱中
+黃昱愷
+黃昱龍
+黃柏元
+黃柏強
+黃柏喬
+黃柏翔
+黃柏瑞
+黃柏綺
+黃柏璋
+黃柏翰
+黃柏禲
+黃為棟
+黃炳憲
+黃珊萍
+黃珀鐘
+黃盈惠
+黃盈彰
+黃相志
+黃秋芳
+黃秋萍
+黃秋瑛
+黃秋霞
+黃美玉
+黃美玲
+黃美娟
+黃美羚
+黃美筑
+黃美雯
+黃美蓉
+黃美燕
+黃致恆
+黃致遠
+黃若薇
+黃茂源
+黃英彥
+黃英傑
+黃英銘
+黃衍欽
+黃貞穎
+黃郁仁
+黃郁玫
+黃郁珊
+黃郁茗
+黃郁婷
+黃郁棠
+黃郁雯
+黃郁靜
+黃重凱
+黃韋琪
+黃韋勳
+黃香榕
+黃倉彥
+黃哲楓
+黃孫宇
+黃家珍
+黃家隆
+黃家緯
+黃峻崢
+黃庭鈺
+黃振甫
+黃振庭
+黃振誠
+黃振瑲
+黃書寅
+黃書鈺
+黃泰崑
+黃泰霖
+黃浩天
+黃浩鈞
+黃珮芸
+黃珮娟
+黃珮舒
+黃珮瑜
+黃益建
+黃祖賢
+黃素真
+黃純美
+黃能豐
+黃釗俊
+黃偉宙
+黃偉修
+黃偉峰
+黃偉傑
+黃偉誠
+黃偉銘
+黃健奇
+黃健晏
+黃健溢
+黃凰慈
+黃國全
+黃國芳
+黃國倫
+黃國展
+黃國晉
+黃國軒
+黃國棟
+黃國鈞
+黃國裕
+黃國榮
+黃國豪
+黃國鐘
+黃堂軒
+黃培峻
+黃培銘
+黃婉貞
+黃婉菁
+黃尉翔
+黃崇訓
+黃崇銘
+黃常樹
+黃彩銘
+黃惟聖
+黃啟宏
+黃啟修
+黃啟書
+黃啟彰
+黃敏
+黃敏修
+黃敏華
+黃敏慧
+黃梅玲
+黃添虎
+黃清泰
+黃清麟
+黃淑岑
+黃淑芬
+黃淑玲
+黃淑貞
+黃淑卿
+黃淑桃
+黃淑梅
+黃淑媛
+黃淑琪
+黃淑華
+黃淑雯
+黃淑甄
+黃淑靜
+黃淵賢
+黃皎
+黃祥恩
+黃祥斌
+黃紹萱
+黃莉
+黃莉娟
+黃莉琪
+黃莉嘉
+黃途巖
+黃雪鳳
+黃傑文
+黃凱威
+黃凱琪
+黃凱麟
+黃勝志
+黃勝裕
+黃博泰
+黃喜麟
+黃堯偉
+黃婷婷
+黃富
+黃富詳
+黃復聰
+黃惠君
+黃惠芬
+黃惠珍
+黃惠娥
+黃惠敏
+黃惠琴
+黃惠勤
+黃惠詩
+黃惠霞
+黃揚名
+黃斯駿
+黃景裕
+黃智勇
+黃智偉
+黃智康
+黃智隆
+黃智銘
+黃智瑋
+黃朝琴
+黃朝樑
+黃植懋
+黃湘巧
+黃湘婷
+黃渝芳
+黃琪婷
+黃琳鈞
+黃琦棻
+黃登鍵
+黃竣南
+黃筑鈺
+黃善暉
+黃舒彥
+黃舜忠
+黃菁薇
+黃菊英
+黃詠瑞
+黃貴堂
+黃逸
+黃逸純
+黃逸瑋
+黃鈞沁
+黃閔農
+黃雅君
+黃雅芳
+黃雅津
+黃雅玲
+黃雅卿
+黃雅淑
+黃雅雪
+黃雅惠
+黃雅琪
+黃雅琴
+黃雅萍
+黃雅雯
+黃雅萱
+黃雅鈴
+黃雅慧
+黃雅齡
+黃雯玉
+黃雯筠
+黃順吉
+黃傳圍
+黃廉智
+黃意茹
+黃意超
+黃慈嫺
+黃敬元
+黃敬斌
+黃暉文
+黃楷祺
+黃榆婷
+黃毓翎
+黃毓華
+黃源璋
+黃照凱
+黃煦雰
+黃瑟芸
+黃瑞伶
+黃瑞屏
+黃瑞祥
+黃瑞陽
+黃瑞興
+黃瑜淑
+黃盟凱
+黃祺芬
+黃筠真
+黃義君
+黃義銘
+黃群雄
+黃聖圳
+黃聖哲
+黃聖傑
+黃聖棻
+黃聖鴻
+黃裕中
+黃裕宜
+黃裕盛
+黃裕翔
+黃裕昶
+黃詩芸
+黃詩茹
+黃詩涵
+黃詩惠
+黃詩雯
+黃詩蘋
+黃道全
+黃鈴琪
+黃雋琦
+黃靖芸
+黃靖惠
+黃靖雯
+黃鼎能
+黃嘉民
+黃嘉勇
+黃嘉倫
+黃嘉雪
+黃嘉萱
+黃嘉賢
+黃榮山
+黃榮順
+黃漢光
+黃漢輝
+黃睿伸
+黃碧雲
+黃禎慶
+黃維
+黃維智
+黃肇宏
+黃遠宏
+黃銘偉
+黃銘輝
+黃魁彬
+黃儀君
+黃德秀
+黃德煒
+黃慶華
+黃慧玉
+黃慧芬
+黃慧娟
+黃慧茹
+黃慧菁
+黃慧禎
+黃澄偉
+黃蔚仁
+黃賢章
+黃震宇
+黃憲得
+黃憶菁
+黃曉佩
+黃曉音
+黃曉菱
+黃曉薇
+黃燕娥
+黃興元
+黃蕙萍
+黃錚暉
+黃錦章
+黃靜子
+黃靜宜
+黃靜怡
+黃靜莉
+黃龍一
+黃應璿
+黃聰琪
+黃薇瓊
+黃駿達
+黃鴻智
+黃禮伸
+黃薰瑩
+黃雙玉
+黃懷慶
+黃瀚德
+黃瓊妃
+黃瓊華
+黃瓊儀
+黃瓊儀
+黃瓊慧
+黃瓊慧
+黃瓊誼
+黃瓊嫺
+黃鏡生
+黃韻如
+黃韻韻
+黃鵬圖
+黃麗妃
+黃麗芬
+黃麗香
+黃麗容
+黃麗蓉
+黃麗錚
+黃寶玉
+黃寶儀
+黃寶稹
+黃獻諄
+黃繼增
+黃耀文
+黃耀俊
+黃耀德
+黃耀瑩
+黃耀輝
+黃議德
+黃鐘葦
+黃馨怡
+黃馨儀
+黃馨慧
+黃馨毅
+黃馨霈
+黃齡萱
+黃蘭玉
+黃鐵豪
+黃顯婷
+黃艷玉
+黃玠晟
+黃姵瑄
+黃昶斌
+黃勖軒
+黃琇苓
+黃翊宸
+黃棖吉
+黃琮富
+黃琬君
+黃琬婷
+黃琬雯
+黃琬瑂
+黃菀鈴
+黃暐睿
+黃瑋欣
+黃瑋寧
+黃筱芸
+黃筱喬
+黃筱雁
+黃筱蘋
+黃鈺娟
+黃鈺婷
+黃鈺婷
+黃鈺斐
+黃鈺雯
+黃鉦閔
+黃瞍
+黃薏澄
+黃謵說
+黃齠
+塗巧憶
+塗時雨
+塗媄雲
+楊
+楊人穎
+楊三賢
+楊千里
+楊千慧
+楊士弘
+楊士朋
+楊士毅
+楊士賢
+楊大毅
+楊子恆
+楊子毅
+楊子瑢
+楊小慧
+楊中孚
+楊之慧
+楊仁華
+楊介文
+楊允中
+楊心怡
+楊心德
+楊文宏
+楊文杰
+楊文媛
+楊文瑞
+楊文儀
+楊文瑋
+楊世平
+楊世凱
+楊世鵬
+楊仕馨
+楊可歆
+楊弘先
+楊本聖
+楊正彬
+楊永正
+楊永琦
+楊玉君
+楊玉鼎
+楊白鯨
+楊立群
+楊仲民
+楊兆欽
+楊妃婷
+楊守城
+楊旨祥
+楊自雄
+楊伶慧
+楊妙恩
+楊宏祥
+楊志平
+楊志能
+楊志偉
+楊志祥
+楊志雍
+楊志學
+楊沛蒔
+楊秀珠
+楊秀慧
+楊育真
+楊育儒
+楊亞琦
+楊佳欣
+楊佳展
+楊佳菁
+楊佳撰
+楊佳螢
+楊佩珊
+楊佩儒
+楊其瀚
+楊坤英
+楊奇惠
+楊孟修
+楊孟蓉
+楊孟翰
+楊宗
+楊宗倍
+楊宗堯
+楊宗儒
+楊宗穎
+楊宗翰
+楊宗烜
+楊宜文
+楊宜璋
+楊宜蓁
+楊尚訓
+楊尚融
+楊岱儒
+楊忠仁
+楊忠憲
+楊怡芳
+楊怡萍
+楊承
+楊承熹
+楊易倫
+楊昌賓
+楊昆霖
+楊明杰
+楊明純
+楊明誠
+楊明寰
+楊明禧
+楊昇樺
+楊東敏
+楊松銘
+楊欣怡
+楊欣珮
+楊欣燕
+楊泓褘
+楊秉順
+楊芳雄
+楊芸
+楊金璋
+楊長潔
+楊青峰
+楊俊宏
+楊俊輝
+楊奕昶
+楊建彥
+楊思雋
+楊政彬
+楊政勳
+楊政霖
+楊昭輝
+楊為舜
+楊秋男
+楊紀芸
+楊美玲
+楊美惠
+楊美藝
+楊苑利
+楊倩
+楊哲安
+楊哲銘
+楊家明
+楊家祺
+楊家銘
+楊家瑋
+楊恭沛
+楊振宗
+楊振漢
+楊晏菁
+楊書豪
+楊涓櫻
+楊珮君
+楊珮琦
+楊真珠
+楊素卿
+楊荐翔
+楊虔雅
+楊偉文
+楊偉琪
+楊健國
+楊國松
+楊國鼎
+楊培恩
+楊婉莉
+楊崇鑫
+楊惟白
+楊啟宏
+楊敏芳
+楊梵孛
+楊淳硯
+楊清桃
+楊淑元
+楊淑佳
+楊淑芬
+楊淑美
+楊淑敏
+楊淑惠
+楊淑萍
+楊淑雅
+楊淑慧
+楊淵勝
+楊淨芝
+楊盛斌
+楊莉芳
+楊雪雅
+楊凱仲
+楊凱傑
+楊凱鈞
+楊勝宇
+楊勝斐
+楊勛凱
+楊博宇
+楊博欽
+楊喻閔
+楊壹舒
+楊婷鈞
+楊富安
+楊富琛
+楊循婷
+楊惠宇
+楊惠真
+楊惠婷
+楊惠琳
+楊惠雯
+楊敦傑
+楊斯凱
+楊景元
+楊景堯
+楊景雯
+楊智元
+楊智宏
+楊智傑
+楊智堯
+楊智善
+楊智鈞
+楊智龍
+楊朝敏
+楊朝舜
+楊森發
+楊湧評
+楊登安
+楊皓瑋
+楊策航
+楊善惠
+楊舒帆
+楊舒媛
+楊舒雯
+楊舜欽
+楊菁芬
+楊菱雅
+楊詠菘
+楊貴媛
+楊逸莉
+楊鈞百
+楊閔翔
+楊雅玉
+楊雅芳
+楊雅倫
+楊雅淑
+楊雅婷
+楊雅婷
+楊雅嵐
+楊雅惠
+楊雅晶
+楊雅翔
+楊雅超
+楊雅雯
+楊雅雲
+楊雅茜
+楊雯惠
+楊雲翔
+楊順棋
+楊慈儀
+楊毓玲
+楊煥章
+楊瑞傑
+楊萬帆
+楊裕
+楊詩軒
+楊道忠
+楊嘉玲
+楊嘉瑜
+楊嘉豐
+楊榮吉
+楊槐駒
+楊碧雯
+楊維華
+楊趙銘
+楊銘顧
+楊德志
+楊慶隆
+楊慧玲
+楊慧瓊
+楊璋
+楊震偉
+楊憲昇
+楊曉青
+楊曉菁
+楊橋霖
+楊燕雲
+楊蕙芳
+楊蕙嘉
+楊錫憲
+楊靜如
+楊靜怡
+楊靜雯
+楊戴州
+楊爵駿
+楊駿民
+楊曜準
+楊礎遠
+楊繡綾
+楊豐全
+楊豐銘
+楊鎮遠
+楊馥誠
+楊瓊華
+楊麗冠
+楊麗琴
+楊曦琳
+楊鐘鉉
+楊靈苓
+楊茜卉
+楊琇如
+楊琇媛
+楊翊珮
+楊琬婷
+楊瑋琦
+楊蓁蓁
+楊鎧伊
+溫丈緯
+溫心嵐
+溫正龍
+溫至任
+溫秀怡
+溫宗
+溫承翰
+溫金瑞
+溫建聲
+溫若婷
+溫展華
+溫素梅
+溫培青
+溫淑怡
+溫凱
+溫智連
+溫雅清
+溫聖延
+溫銘哲
+溫曉華
+溫馥遠
+溫菘渝
+萬佳昕
+萬建明
+萬敏婉
+萬曉明
+葉丁源
+葉乃禎
+葉人賓
+葉又嘉
+葉千菊
+葉士新
+葉大葦
+葉子豪
+葉山華
+葉天將
+葉文偉
+葉文龍
+葉世民
+葉代權
+葉正聖
+葉玉玲
+葉亦盛
+葉光愉
+葉向陽
+葉如雯
+葉竹育
+葉佐駿
+葉宏傑
+葉志彥
+葉志博
+葉步旻
+葉秀梅
+葉育峰
+葉依青
+葉佳欣
+葉佳菁
+葉佳勳
+葉佩真
+葉奉杰
+葉孟堯
+葉宗智
+葉宗鑫
+葉宛軒
+葉忠欣
+葉怡君
+葉怡芳
+葉承泓
+葉昌倫
+葉明昇
+葉明旋
+葉明鑫
+葉松炫
+葉欣毓
+葉玟君
+葉芳伶
+葉芳萍
+葉芷妘
+葉長青
+葉亭志
+葉信廷
+葉俊宏
+葉俊甫
+葉俊慶
+葉俞杉
+葉冠慧
+葉奕維
+葉姿妏
+葉建君
+葉建昇
+葉彥志
+葉思儀
+葉政輝
+葉昭伶
+葉昱志
+葉柏綱
+葉玲岑
+葉秋月
+葉美娟
+葉致忠
+葉衍孜
+葉郁菁
+葉倩
+葉哲全
+葉家宇
+葉家鈴
+葉家儒
+葉峻賓
+葉振福
+葉晉嘉
+葉書瑋
+葉涓涓
+葉益昇
+葉素綾
+葉耿齊
+葉健偉
+葉國賢
+葉張建
+葉欲恒
+葉淑珍
+葉淑鈴
+葉紹任
+葉勝玄
+葉惠文
+葉惠禎
+葉智仁
+葉森渝
+葉詠晴
+葉雁甄
+葉雅婷
+葉雅雯
+葉雲鵬
+葉毓峰
+葉義松
+葉鈴珊
+葉嘉華
+葉睿哲
+葉銘昌
+葉儀芳
+葉慧欣
+葉潔恩
+葉曉芬
+葉樹開
+葉蕙芳
+葉錦鳳
+葉曙慶
+葉駿逸
+葉禮維
+葉瓊文
+葉寶壬
+葉騰遠
+葉驥
+葉玴豪
+葉琤怡
+葉懌馨
+葛世萱
+葛倩如
+董人宏
+董子青
+董巧玲
+董合恩
+董志仁
+董佳豪
+董怡君
+董芳銘
+董姿利
+董彥宏
+董秋瑾
+董修銘
+董振雄
+董能瑞
+董惠芳
+董聖緣
+董慧美
+董鴻楠
+董嶢泓
+裘元愷
+解美鈴
+詹于芳
+詹子民
+詹仁嘉
+詹文祥
+詹世傑
+詹永祥
+詹立成
+詹如鈐
+詹宏彬
+詹志鴻
+詹育雯
+詹佳振
+詹佳興
+詹佩穎
+詹孟晃
+詹宗憲
+詹宜紋
+詹忠榮
+詹昌吉
+詹明潔
+詹欣宜
+詹青艷
+詹前泰
+詹政峰
+詹美珍
+詹卿苹
+詹家銓
+詹浚昇
+詹益偉
+詹益銘
+詹茗芸
+詹婉君
+詹啟緯
+詹淑妃
+詹淑萍
+詹淑芩
+詹凱捷
+詹勝欽
+詹富智
+詹惠媛
+詹景堯
+詹智傑
+詹森
+詹翔任
+詹証富
+詹鈞維
+詹雅婷
+詹雅閔
+詹雯瑩
+詹群毅
+詹嘉璿
+詹德馨
+詹勳明
+詹穎萍
+詹璨嶸
+詹豐宇
+詹鵑年
+詹玓瑋
+詹琬渝
+資君儀
+賈治國
+賈愛玫
+賈髐憛
+鄒一仲
+鄒文隆
+鄒立彥
+鄒李昌
+鄒佳華
+鄒宗華
+鄒明原
+鄒金德
+鄒國龍
+鄒智仁
+鄒新全
+鄒維剛
+鄒靜珮
+雍敦元
+雷宜庭
+雷衍興
+雷惠琦
+雷雅菁
+雷鵬程
+廖丁逸
+廖于文
+廖千慧
+廖士堯
+廖大樟
+廖小華
+廖仁禾
+廖元利
+廖允靖
+廖文平
+廖文茹
+廖文評
+廖文甄
+廖文潔
+廖月觀
+廖仕綺
+廖本元
+廖正偉
+廖玉
+廖玉萍
+廖丞晞
+廖光輝
+廖守正
+廖伯璋
+廖含潔
+廖宏慈
+廖志民
+廖志偉
+廖志遠
+廖秀卿
+廖育良
+廖良淮
+廖佳玥
+廖佩如
+廖佩鳳
+廖宗山
+廖宜群
+廖怡玲
+廖怡景
+廖承慶
+廖明儀
+廖欣儀
+廖芳玲
+廖芝堅
+廖青松
+廖信寬
+廖俊傑
+廖俊欽
+廖冠美
+廖奕任
+廖姿毓
+廖建城
+廖建鈞
+廖彥凱
+廖恆毅
+廖春菊
+廖昱樹
+廖炳焜
+廖盈奇
+廖秋怡
+廖美玲
+廖美琳
+廖茂良
+廖英男
+廖英傑
+廖苑君
+廖述茂
+廖郁婷
+廖倩宜
+廖卿惠
+廖哲論
+廖家玲
+廖家寧
+廖家瑩
+廖家婧
+廖峻毅
+廖恩慈
+廖振良
+廖挺崴
+廖書珮
+廖桂君
+廖浚宏
+廖珮君
+廖珮玫
+廖珮愛
+廖益群
+廖素卿
+廖耕輝
+廖乾成
+廖偉成
+廖偉辰
+廖偉斯
+廖偉鴻
+廖健明
+廖健銘
+廖國宏
+廖國勛
+廖國華
+廖基宏
+廖培瑜
+廖婉利
+廖婉欣
+廖寄萍
+廖崇碩
+廖康霖
+廖惇治
+廖啟良
+廖敏汝
+廖敏玲
+廖梓茜
+廖淑君
+廖淑貞
+廖淑惠
+廖淑麗
+廖祥達
+廖貫珮
+廖章棋
+廖富田
+廖惠娟
+廖智輝
+廖琪美
+廖舒儀
+廖進平
+廖雅倩
+廖順帆
+廖楷文
+廖筠怡
+廖萱芹
+廖嗾
+廖嘉陽
+廖漢鼎
+廖維珍
+廖銘仁
+廖慶賀
+廖慧雯
+廖瑩璇
+廖憲堂
+廖曉慧
+廖錦瑜
+廖擎帆
+廖曜瑩
+廖麒閔
+廖耀東
+廖顯慶
+廖偲妤
+廖斌傑
+廖鈺銘
+漢述仁
+熊立新
+熊東增
+熊凌霆
+熊崇緯
+熊勤云
+甄慧明
+管幼仲
+管金玲
+管琪芸
+翟敦敏
+臺文照
+蒲信全
+蒲駿毅
+裴偉程
+褚心怡
+褚俊偉
+褚家德
+賓敬文
+趙士齊
+趙子維
+趙仁佑
+趙元宏
+趙友崧
+趙文忠
+趙方愷
+趙世裕
+趙必昌
+趙玉蓮
+趙安琪
+趙君杰
+趙宏鈞
+趙志豪
+趙育琳
+趙佩芬
+趙宜君
+趙怡婷
+趙明輝
+趙芷菁
+趙俊凱
+趙品彥
+趙建勝
+趙恬儀
+趙炫勛
+趙秋鳳
+趙英龍
+趙修霖
+趙家良
+趙家賢
+趙振宏
+趙桂青
+趙珮汛
+趙祐甄
+趙偉廷
+趙偉翔
+趙國志
+趙培霖
+趙崇閔
+趙敏如
+趙淑芳
+趙皎君
+趙婷完
+趙湘君
+趙鈞志
+趙瑞昌
+趙嘉敬
+趙廣元
+趙慕群
+趙樹儀
+趙龍基
+趙雙駿
+趙玹羲
+遠藤永康
+鄞豪輝
+齊雪汝
+劉乙萱
+劉乃萱
+劉人豪
+劉几萍
+劉力豪
+劉又慈
+劉上旗
+劉于菁
+劉千瑜
+劉士華
+劉士豪
+劉大榮
+劉子由
+劉子嘉
+劉子頎
+劉山豪
+劉中琪
+劉仁正
+劉仁裕
+劉元鳳
+劉少維
+劉心儀
+劉文玉
+劉文玲
+劉文勝
+劉文超
+劉文福
+劉日順
+劉世文
+劉世清
+劉世慶
+劉以筠
+劉台
+劉弘偉
+劉正河
+劉正雄
+劉永健
+劉玉文
+劉玉家
+劉玉萍
+劉玉琇
+劉立偉
+劉亦昇
+劉伊修
+劉仲涵
+劉光杰
+劉兆容
+劉全彬
+劉名娟
+劉如芳
+劉如薰
+劉宇薇
+劉安祥
+劉旭芬
+劉汝娟
+劉至安
+劉伯彥
+劉君祺
+劉孝倫
+劉宏偉
+劉廷楷
+劉志勇
+劉志浩
+劉志源
+劉志瑋
+劉沂昀
+劉秀郁
+劉秀雯
+劉育成
+劉育志
+劉育宗
+劉育洸
+劉育誠
+劉育穎
+劉邦平
+劉邦相
+劉亞芸
+劉依文
+劉佳沐
+劉佳怡
+劉佳芳
+劉佳洧
+劉佳琪
+劉佳達
+劉佳穎
+劉侃如
+劉佩青
+劉佩綾
+劉和德
+劉坤穎
+劉孟佳
+劉孟冠
+劉孟翰
+劉宗怡
+劉宗葆
+劉定宇
+劉宜昆
+劉宜婷
+劉宛如
+劉岡陵
+劉幸雪
+劉忠勳
+劉怡伶
+劉怡君
+劉怡君
+劉怡君
+劉怡和
+劉怡芬
+劉怡惠
+劉怡靜
+劉承樺
+劉昌
+劉昌誠
+劉明合
+劉明杰
+劉明哲
+劉明達
+劉明麗
+劉昇鑫
+劉果珍
+劉欣坤
+劉欣怡
+劉欣茹
+劉武浚
+劉玟成
+劉玫寧
+劉穹林
+劉芳吟
+劉芳玲
+劉芳蘭
+劉芬芳
+劉采真
+劉金鳳
+劉青蘋
+劉信宏
+劉信良
+劉信鴻
+劉俊宏
+劉俊廷
+劉俊良
+劉俊杰
+劉俊毅
+劉俊巖
+劉俐梅
+劉冠妍
+劉冠良
+劉冠顯
+劉勃彥
+劉品宜
+劉奕志
+劉姿
+劉姿吟
+劉威汗
+劉威昌
+劉建民
+劉建宏
+劉建宏
+劉建村
+劉建良
+劉建明
+劉建德
+劉建町
+劉彥君
+劉彥廷
+劉彥良
+劉彥博
+劉律明
+劉思潔
+劉恪人
+劉政勳
+劉昭如
+劉映秀
+劉昱辰
+劉柏宏
+劉柏麟
+劉為明
+劉珊妮
+劉珍佑
+劉盈如
+劉盈秀
+劉盈蘭
+劉秋成
+劉秋燕
+劉美君
+劉美侖
+劉美玲
+劉美華
+劉羿汝
+劉若謹
+劉英龍
+劉貞伶
+劉軍毅
+劉韋成
+劉倍如
+劉修明
+劉哲宇
+劉哲郎
+劉哲瑋
+劉家成
+劉家宏
+劉家昇
+劉家琳
+劉家僖
+劉家豪
+劉家鳳
+劉家馨
+劉容懿
+劉峻伶
+劉峰郡
+劉恩吉
+劉振中
+劉振豪
+劉晉育
+劉晏誠
+劉書宏
+劉根豪
+劉桐盛
+劉浚銘
+劉珮怡
+劉益伸
+劉益禎
+劉祖寧
+劉素玲
+劉純杏
+劉耕維
+劉軒宇
+劉偉立
+劉偉誠
+劉國平
+劉國棟
+劉國龍
+劉婉玲
+劉崇理
+劉康楝
+劉得光
+劉啟平
+劉敏琪
+劉淳雅
+劉淑芬
+劉淑貞
+劉淑莉
+劉淑華
+劉淑慧
+劉祥民
+劉莉燕
+劉凱茹
+劉博文
+劉富明
+劉惠怡
+劉惠紋
+劉揚銘
+劉智仁
+劉智鈞
+劉朝蓮
+劉湘琪
+劉皓寧
+劉舒慈
+劉詠薇
+劉逸竹
+劉閔結
+劉雅君
+劉雅玲
+劉雅惠
+劉雅萍
+劉雅慧
+劉雲霞
+劉勤經
+劉敬民
+劉毓波
+劉源倫
+劉瑞芳
+劉瑞豪
+劉經綸
+劉裕宏
+劉詩韻
+劉靖
+劉嘉育
+劉嘉淳
+劉嘉雯
+劉嘉樺
+劉彰
+劉榮德
+劉熙慧
+劉碩穩
+劉維泰
+劉肇鵬
+劉銘村
+劉銘輝
+劉鳳興
+劉德正
+劉德誠
+劉慶鎮
+劉慧玲
+劉慧婷
+劉慧瓏
+劉瑩娟
+劉賢熒
+劉震鴻
+劉憶
+劉曉芬
+劉曉琪
+劉曉樺
+劉樹蕙
+劉燕萍
+劉璟鋒
+劉穎蒨
+劉興家
+劉蕙瑄
+劉錦堂
+劉錦鴻
+劉靜芳
+劉靜華
+劉龍山
+劉爵維
+劉鍾霖
+劉鴻霖
+劉璧瑩
+劉鎮嘉
+劉瀚陽
+劉韻琦
+劉麗惠
+劉寶婷
+劉耀升
+劉譯聰
+劉灌輝
+劉懿慧
+劉讚嘻
+劉旻珊
+劉姵嘉
+劉挐
+劉翊邡
+劉瑋玲
+劉筱慧
+劉瀅騿
+厲斌中
+樊乃嘉
+樊修龍
+樂子駿
+歐士源
+歐世洋
+歐如程
+歐志盈
+歐邦華
+歐宗原
+歐怡秀
+歐昀修
+歐長晏
+歐俊彥
+歐建民
+歐政艷
+歐美瑩
+歐娉妦
+歐書豪
+歐淑姿
+歐逸青
+歐陽有慧
+歐陽玫
+歐陽惠如
+歐陽銘文
+歐陽忻憶
+歐榮杰
+歐穎君
+歐繕嘉
+潘
+潘允仁
+潘文華
+潘正元
+潘玉惠
+潘亦蕾
+潘成富
+潘宏宗
+潘志偉
+潘秀盈
+潘佳妤
+潘佩君
+潘宗裕
+潘延輝
+潘怡君
+潘怡瑾
+潘明楷
+潘玟樺
+潘亮如
+潘信翰
+潘俊良
+潘冠宏
+潘品潔
+潘威歷
+潘建成
+潘建彰
+潘彥蓉
+潘政緯
+潘柔考
+潘珍琪
+潘美玲
+潘述東
+潘家銘
+潘泰全
+潘能哲
+潘婉萍
+潘淑雯
+潘惠娟
+潘進益
+潘雅馨
+潘瑞香
+潘裕智
+潘睿哲
+潘儀恬
+潘慧敏
+潘儒瑩
+潘錦昌
+潘鴻銘
+潘麗萍
+潘姵如
+潘鈺柔
+滕憶雯
+練建伸
+蔣中衍
+蔣正福
+蔣汝安
+蔣沆祥
+蔣佳珊
+蔣佩餘
+蔣孟儒
+蔣宜靜
+蔣怡慧
+蔣明儒
+蔣長旻
+蔣政穎
+蔣珮泠
+蔣淑慧
+蔣萍
+蔣葦立
+蔣德才
+蔣濱州
+蔣耀毅
+蔡丁經哲
+蔡士旺
+蔡子怡
+蔡中鈞
+蔡仁偉
+蔡元正
+蔡元雄
+蔡天祺
+蔡文仁
+蔡文彥
+蔡文偉
+蔡文博
+蔡文欽
+蔡文嘉
+蔡文鴻
+蔡月珠
+蔡世杰
+蔡世鴻
+蔡巧如
+蔡弘原
+蔡正宗
+蔡正暉
+蔡永彬
+蔡永瑩
+蔡玉秋
+蔡玉菁
+蔡立芬
+蔡亦雯
+蔡仲寧
+蔡兆驊
+蔡名書
+蔡如婷
+蔡宇倫
+蔡安喬
+蔡旭曜
+蔡羽容
+蔡行真
+蔡伯鴻
+蔡君毅
+蔡宏文
+蔡宏培
+蔡廷穎
+蔡志宏
+蔡志明
+蔡志晃
+蔡志揚
+蔡志維
+蔡志鴻
+蔡沁玲
+蔡沛婷
+蔡汶鴻
+蔡秀玲
+蔡秀惠
+蔡育正
+蔡育彥
+蔡育真
+蔡育勳
+蔡貝珊
+蔡享翰
+蔡依珊
+蔡依容
+蔡依齡
+蔡佳伶
+蔡佳宏
+蔡佳良
+蔡佳欣
+蔡佳芬
+蔡佳玲
+蔡佳珍
+蔡佳容
+蔡佳真
+蔡佳航
+蔡佳琳
+蔡佳蓉
+蔡佳樺
+蔡佳穎
+蔡佳霖
+蔡佳礽
+蔡佩如
+蔡佩君
+蔡佩妤
+蔡佩芳
+蔡佩芬
+蔡佩珊
+蔡佩珊
+蔡佩玲
+蔡佩娥
+蔡佩紋
+蔡佩蓉
+蔡佩穎
+蔡佩靜
+蔡侑廷
+蔡其珮
+蔡協甫
+蔡受勳
+蔡坤佑
+蔡坤雄
+蔡坤錦
+蔡奇均
+蔡奇霖
+蔡孟君
+蔡孟育
+蔡孟芳
+蔡孟秋
+蔡孟哲
+蔡孟真
+蔡孟雄
+蔡孟儒
+蔡孟樺
+蔡孟諭
+蔡季玲
+蔡宗佑
+蔡宗志
+蔡宗玫
+蔡宗益
+蔡宗達
+蔡宗儒
+蔡宗憲
+蔡宗穎
+蔡宗翰
+蔡宗霖
+蔡宜君
+蔡宜廷
+蔡宜芳
+蔡宜珊
+蔡宜倩
+蔡宜真
+蔡宜蓉
+蔡宜霖
+蔡宜蓁
+蔡宛玲
+蔡宛諭
+蔡尚岳
+蔡尚穎
+蔡岱勳
+蔡岳書
+蔡幸如
+蔡幸恆
+蔡幸淳
+蔡弦豪
+蔡忠信
+蔡忠穎
+蔡怡君
+蔡怡萍
+蔡承昊
+蔡承璋
+蔡承翰
+蔡易亨
+蔡易陞
+蔡易憲
+蔡昌宇
+蔡昌儒
+蔡昆佑
+蔡明
+蔡明汎
+蔡明宏
+蔡明杉
+蔡明宗
+蔡明芳
+蔡明倫
+蔡明哲
+蔡明峰
+蔡明茵
+蔡明欽
+蔡明蒲
+蔡明賜
+蔡明憲
+蔡明穎
+蔡明龍
+蔡昀甫
+蔡昇伯
+蔡昇穎
+蔡東明
+蔡東穎
+蔡杰志
+蔡松柏
+蔡松霖
+蔡欣怡
+蔡欣倫
+蔡欣達
+蔡欣穎
+蔡武諺
+蔡牧勳
+蔡直勳
+蔡秉昆
+蔡秉璋
+蔡秉諭
+蔡芳洵
+蔡采芳
+蔡金峰
+蔡金龍
+蔡長榮
+蔡雨潔
+蔡青峰
+蔡信良
+蔡俊晏
+蔡俊賢
+蔡品儀
+蔡宥定
+蔡建裕
+蔡思捷
+蔡政宏
+蔡政言
+蔡政哲
+蔡政群
+蔡政勳
+蔡政翰
+蔡政龍
+蔡昭龍
+蔡柏毅
+蔡玲津
+蔡禹歆
+蔡紀源
+蔡美芝
+蔡美莉
+蔡美慧
+蔡英宗
+蔡郁君
+蔡韋志
+蔡凌鳳
+蔡娟娟
+蔡家華
+蔡容瑛
+蔡悅玟
+蔡振議
+蔡栩維
+蔡珮怡
+蔡真禕
+蔡素碧
+蔡茹茵
+蔡偉杰
+蔡國手
+蔡國聖
+蔡培譯
+蔡崇民
+蔡啟堂
+蔡添文
+蔡淑妃
+蔡淑怡
+蔡淑玲
+蔡淑真
+蔡淑惠
+蔡淑瑜
+蔡淑薇
+蔡盛勳
+蔡雪卿
+蔡勝雄
+蔡博全
+蔡喬安
+蔡富貴
+蔡惠如
+蔡惠美
+蔡惠琪
+蔡惠燕
+蔡景淑
+蔡智宏
+蔡智暐
+蔡湘怡
+蔡皓明
+蔡舒宇
+蔡菁菁
+蔡詠翔
+蔡逸珊
+蔡進昌
+蔡隆泰
+蔡雅君
+蔡雅芬
+蔡雅茹
+蔡雅惠
+蔡雅菁
+蔡雅慧
+蔡雯淇
+蔡傳德
+蔡楨瑜
+蔡毓霖
+蔡瑞文
+蔡瑞峰
+蔡瑞麒
+蔡義益
+蔡裕健
+蔡詩薏
+蔡嘉仁
+蔡嘉恆
+蔡嘉章
+蔡嘉慶
+蔡榮昌
+蔡榮賢
+蔡漢義
+蔡碧容
+蔡福晏
+蔡維玲
+蔡維蓁
+蔡裴伶
+蔡銘
+蔡銘峰
+蔡銘賢
+蔡鳳儀
+蔡徵霖
+蔡慧民
+蔡慧貞
+蔡慧萱
+蔡毅軒
+蔡賢皇
+蔡學文
+蔡憶鈴
+蔡曉然
+蔡澤銘
+蔡穎箴
+蔡翰熊
+蔡蕙婷
+蔡錦坡
+蔡靜宜
+蔡靜惠
+蔡龍儀
+蔡翼如
+蔡鴻民
+蔡鴻斌
+蔡璧光
+蔡豐文
+蔡豐杰
+蔡鎮嶽
+蔡鵑彌
+蔡瓊儀
+蔡麗芳
+蔡麗惠
+蔡獻毅
+蔡耀群
+蔡耀駒
+蔡馨儀
+蔡佶興
+蔡旻芳
+蔡旻憲
+蔡琄竹
+蔡歆怡
+蔡瑋竑
+蔡緶
+蔡鑫廷
+談昭蘭
+鄭一凡
+鄭乃佳
+鄭人元
+鄭力仁
+鄭又仁
+鄭士韋
+鄭子見
+鄭小嵐
+鄭尹斯
+鄭仁富
+鄭元孝
+鄭元瑜
+鄭友誠
+鄭心如
+鄭文正
+鄭文彬
+鄭文富
+鄭文嘉
+鄭月枝
+鄭世昌
+鄭世湘
+鄭仕鑫
+鄭巧青
+鄭弘偉
+鄭正誠
+鄭永津
+鄭玉伶
+鄭玉英
+鄭玉菁
+鄭立享
+鄭亙吟
+鄭伊真
+鄭仲宏
+鄭仲賢
+鄭光佑
+鄭光淳
+鄭兆均
+鄭先萌
+鄭吉佑
+鄭吏孜
+鄭合修
+鄭夙涵
+鄭如欣
+鄭如純
+鄭宇宏
+鄭宇淨
+鄭守東
+鄭安芸
+鄭安翔
+鄭成棠
+鄭旭盛
+鄭有財
+鄭百婷
+鄭羽晴
+鄭至剛
+鄭伯南
+鄭君達
+鄭宏明
+鄭志功
+鄭志偉
+鄭志龍
+鄭秀怡
+鄭秀娟
+鄭秀慧
+鄭育昇
+鄭貝如
+鄭佳宜
+鄭佳祥
+鄭佳儀
+鄭佩珊
+鄭其雯
+鄭孟玲
+鄭宗杰
+鄭宜芳
+鄭幸宜
+鄭怡君
+鄭怡婷
+鄭昌岳
+鄭明忠
+鄭明銓
+鄭欣如
+鄭欣榮
+鄭秉泓
+鄭芸芸
+鄭長志
+鄭俊宏
+鄭勇猛
+鄭建佳
+鄭彥達
+鄭春菊
+鄭省村
+鄭美玉
+鄭美琴
+鄭若琤
+鄭迪允
+鄭倩如
+鄭家典
+鄭家銘
+鄭振宜
+鄭書鈺
+鄭珮君
+鄭祐阡
+鄭素彬
+鄭茗聰
+鄭偉珊
+鄭國正
+鄭國祥
+鄭培聰
+鄭崇佑
+鄭惟心
+鄭啟榮
+鄭梅君
+鄭清俊
+鄭淑云
+鄭淑米
+鄭淑玲
+鄭淑婷
+鄭淑燕
+鄭淵藤
+鄭祥如
+鄭莉雯
+鄭傑元
+鄭凱仁
+鄭凱元
+鄭凱文
+鄭凱育
+鄭凱鴻
+鄭勝旭
+鄭博仁
+鄭博文
+鄭喬銘
+鄭婷文
+鄭富仁
+鄭尊孝
+鄭惠文
+鄭惠君
+鄭惠紋
+鄭惠霜
+鄭斯尹
+鄭景仁
+鄭景文
+鄭景隆
+鄭智仁
+鄭智元
+鄭智昌
+鄭智豪
+鄭朝元
+鄭朝營
+鄭植寰
+鄭湘昀
+鄭皓云
+鄭程議
+鄭絲雯
+鄭翔龍
+鄭舒蕊
+鄭詠仁
+鄭詔謙
+鄭逸嫻
+鄭閔鴻
+鄭雅云
+鄭雅友
+鄭雅文
+鄭雅妃
+鄭雅芬
+鄭雅娟
+鄭雅琪
+鄭雅甄
+鄭雅黛
+鄭雲鵬
+鄭意中
+鄭敬樺
+鄭毓齡
+鄭瑞美
+鄭瑜琳
+鄭義憲
+鄭聖賢
+鄭裕年
+鄭詩慧
+鄭嘉仁
+鄭嘉揚
+鄭嘉旻
+鄭榮娟
+鄭福和
+鄭肇心
+鄭銘泰
+鄭鳳齡
+鄭慶哲
+鄭慧芳
+鄭慧鎂
+鄭蔚蟬
+鄭憲存
+鄭曉怡
+鄭曉薇
+鄭穎銓
+鄭蕙琦
+鄭霖駿
+鄭靜芳
+鄭懋傑
+鄭謝冠
+鄭鴻源
+鄭豐嘉
+鄭麗君
+鄭獻文
+鄭旻軒
+鄭琇仁
+鄭埵
+鄭絜心
+鄭瑋隆
+鄭鈺鐘
+鄭靋
+鄧升敦
+鄧文儀
+鄧永忠
+鄧伊容
+鄧后琛
+鄧旭敦
+鄧志煌
+鄧佳玲
+鄧宜欣
+鄧明芳
+鄧金鴻
+鄧秋惠
+鄧振英
+鄧偉賢
+鄧淑玲
+鄧博仁
+鄧惠文
+鄧景龍
+鄧翔仁
+鄧雅心
+鄧順展
+鄧裕馨
+鄧福隆
+鄧震宇
+鄧穎駿
+鄧劦呈
+魯忠豪
+魯憲雲
+黎世廉
+黎宇容
+黎明倫
+黎俐均
+黎家伶
+黎婉儀
+黎煥元
+黎銘仁
+黎禮智
+盧三仁
+盧仁杰
+盧文忠
+盧文晟
+盧弘海
+盧永昇
+盧申泰
+盧吉勇
+盧呈芳
+盧志忠
+盧志融
+盧育聖
+盧佳惠
+盧叔欣
+盧定均
+盧延華
+盧怡伶
+盧怡涵
+盧承業
+盧欣宜
+盧玫妏
+盧雨涵
+盧保全
+盧俊言
+盧俊儒
+盧冠曄
+盧奎伯
+盧威霖
+盧建宏
+盧建銘
+盧思源
+盧星全
+盧柏良
+盧盈宏
+盧美如
+盧英仁
+盧韋仁
+盧家鈺
+盧祖翔
+盧婉瑜
+盧淑麗
+盧惠傑
+盧超群
+盧愷莉
+盧群育
+盧嘉振
+盧德芳
+盧慧宜
+盧輝展
+盧穎志
+盧龍生
+盧韻岑
+盧譽允
+盧筱瑩
+穆美蕙
+蕭人豪
+蕭士泰
+蕭尹貞
+蕭允泰
+蕭文欣
+蕭文筆
+蕭文魁
+蕭世民
+蕭以亮
+蕭正平
+蕭永泓
+蕭玉貞
+蕭立韋
+蕭亦維
+蕭仲志
+蕭兆琳
+蕭名沂
+蕭圭妙
+蕭如珊
+蕭宇伯
+蕭安廷
+蕭有宏
+蕭聿宏
+蕭君怡
+蕭宏裕
+蕭志羽
+蕭志豪
+蕭秀惠
+蕭育隆
+蕭佳悌
+蕭佩珊
+蕭季薇
+蕭尚文
+蕭怡芳
+蕭昆廷
+蕭欣怡
+蕭芳盈
+蕭青萍
+蕭俊賢
+蕭彥彰
+蕭柏軒
+蕭美娟
+蕭述仁
+蕭夏敏
+蕭振安
+蕭珮如
+蕭訓國
+蕭國正
+蕭國寶
+蕭崇論
+蕭敏彥
+蕭清燕
+蕭淑珍
+蕭淑穎
+蕭雪吟
+蕭凱懋
+蕭博仁
+蕭博仰
+蕭富元
+蕭惠元
+蕭惠芳
+蕭惠鄉
+蕭斐如
+蕭景聰
+蕭智梅
+蕭棋元
+蕭竣鴻
+蕭詠方
+蕭逸平
+蕭雅丹
+蕭雅文
+蕭雅莉
+蕭雯心
+蕭愛玲
+蕭煥緯
+蕭瑛旗
+蕭聖樺
+蕭詩璇
+蕭嘉琪
+蕭寧君
+蕭維倩
+蕭輔彥
+蕭銘權
+蕭慧怡
+蕭瑩真
+蕭憶蘭
+蕭翰英
+蕭靜宜
+蕭豐智
+蕭麗娟
+蕭鶴軒
+蕭琮翰
+蕭檉譁
+賴乃頌
+賴士超
+賴仁祐
+賴天鴻
+賴文英
+賴文華
+賴世昌
+賴世維
+賴可恩
+賴弘璘
+賴正野
+賴永鈴
+賴玉唐
+賴玉霜
+賴亦貞
+賴妃君
+賴旭彥
+賴伯威
+賴妙宣
+賴宏昌
+賴廷禹
+賴志昌
+賴志偉
+賴志綱
+賴杏儒
+賴秀春
+賴育廷
+賴育麟
+賴佳伶
+賴佳欣
+賴佳慧
+賴佩君
+賴其亮
+賴孟華
+賴宗誠
+賴宜佳
+賴居正
+賴怡文
+賴怡伶
+賴怡君
+賴怡欣
+賴怡樺
+賴昌彥
+賴明宏
+賴明德
+賴東延
+賴欣宜
+賴武溪
+賴玫如
+賴芳延
+賴長佑
+賴信光
+賴信誠
+賴俊兆
+賴俊宏
+賴俊杰
+賴俊達
+賴俐卉
+賴冠宏
+賴勇志
+賴奕帆
+賴姿均
+賴威均
+賴宣妤
+賴建合
+賴建佑
+賴建志
+賴建雄
+賴建融
+賴彥佐
+賴彥良
+賴彥樺
+賴思霖
+賴政寬
+賴昭光
+賴昭龍
+賴昱勛
+賴柏伸
+賴柏龍
+賴珀賢
+賴盈青
+賴科印
+賴紅霞
+賴美冠
+賴美錵
+賴茂廷
+賴虹伶
+賴軍舉
+賴郁雯
+賴韋達
+賴家弘
+賴振生
+賴浩豐
+賴秩光
+賴高志
+賴國恩
+賴基淥
+賴啟源
+賴淑怡
+賴淑貞
+賴淑萍
+賴莉雯
+賴惠君
+賴愉芳
+賴欽詮
+賴貴義
+賴隆平
+賴雅琴
+賴順振
+賴源淳
+賴義中
+賴葦帆
+賴靖宜
+賴嘉慧
+賴榮璉
+賴維廷
+賴銘相
+賴增聰
+賴慶銘
+賴慧娟
+賴潔芳
+賴鋒
+賴曉楓
+賴穎輝
+賴錦億
+賴靜璇
+賴鴻銘
+賴韻如
+賴麗
+賴麗雯
+賴芃君
+賴柊棋
+賴瑋昀
+賴霈儒
+遲尚權
+錢以恬
+錢良蕙
+錢欣宜
+錢威融
+錢郁蘋
+錢逸霖
+錢德俊
+錡惠雯
+閻惠玲
+霍莘瑜
+駱永建
+駱季平
+駱芳梧
+駱建呈
+駱衍龍
+駱嘉慶
+鮑行仁
+鮑國峰
+龍秀貞
+龍星兆
+儲于超
+應志宏
+戴乙菁
+戴大鈞
+戴元利
+戴文雄
+戴正平
+戴立人
+戴全利
+戴守正
+戴佑洲
+戴呈安
+戴宏丞
+戴志昇
+戴杏芳
+戴佳平
+戴季全
+戴怡貞
+戴明珠
+戴俊緯
+戴秋香
+戴郁芳
+戴振遠
+戴國良
+戴惟有
+戴莉
+戴森地
+戴雅如
+戴傳家
+戴瑞君
+戴群峰
+戴嘉宏
+戴嘉憲
+戴維伸
+戴增瑜
+戴賢祥
+戴靜儀
+戴忞臻
+戴薏珊
+繆信宇
+薛乃允
+薛丹桂
+薛世煌
+薛玉鋒
+薛光程
+薛如君
+薛百惠
+薛志宏
+薛依蒨
+薛幸嘉
+薛昇旭
+薛奕龍
+薛美芳
+薛展立
+薛偉伯
+薛淑靖
+薛凱文
+薛圍中
+薛景文
+薛竣綸
+薛雅萍
+薛瑞珍
+薛嘉雄
+薛蓓芳
+薛儒霙
+薛韻婷
+薛鈺真
+謝于櫻
+謝小梅
+謝仁哲
+謝元貴
+謝心雅
+謝文娟
+謝文堯
+謝文瑜
+謝文斌
+謝以欣
+謝弘亮
+謝正益
+謝永信
+謝玉珠
+謝立群
+謝光中
+謝吉豐
+謝如鴻
+謝戌嘉
+謝聿
+謝佐宜
+謝克強
+謝均毅
+謝宏忠
+謝宏緯
+謝志宏
+謝志明
+謝志偉
+謝志逸
+謝志德
+謝扶錦
+謝秀青
+謝秀蓮
+謝育娟
+謝育霖
+謝亞嵐
+謝依倫
+謝佳文
+謝佳宏
+謝佳芳
+謝佳倩
+謝佳純
+謝佳雯
+謝佳穎
+謝佳櫻
+謝佩君
+謝佩芳
+謝佩珊
+謝佩珍
+謝佩真
+謝佩蓉
+謝侑書
+謝其斌
+謝周熾
+謝坤憲
+謝孟君
+謝孟芸
+謝孟真
+謝孟樺
+謝孟芩
+謝宗佑
+謝宗容
+謝宗賢
+謝宗憲
+謝宗翰
+謝宜
+謝宜芳
+謝宜倫
+謝宜婷
+謝宜臻
+謝宛玲
+謝宛諮
+謝尚儒
+謝幸宜
+謝庚翰
+謝忠勤
+謝怡婷
+謝承達
+謝於叡
+謝易霖
+謝昌瑾
+謝明
+謝明宏
+謝明村
+謝明芳
+謝明倫
+謝明書
+謝明惠
+謝明憬
+謝明憲
+謝明翰
+謝明諴
+謝昇哲
+謝東昇
+謝東曉
+謝松憲
+謝欣宏
+謝欣怡
+謝欣釗
+謝欣霖
+謝牧阮
+謝秉容
+謝秉諺
+謝芝青
+謝金貞
+謝長原
+謝雨青
+謝青樺
+謝俊宏
+謝俞枰
+謝奕姝
+謝彥吏
+謝政男
+謝政達
+謝政翰
+謝柏舟
+謝皇翔
+謝秋燕
+謝美玲
+謝致群
+謝郁瑄
+謝家菱
+謝庭恩
+謝晉賢
+謝浩然
+謝素菱
+謝乾駿
+謝曼盈
+謝國彬
+謝婉玲
+謝啟文
+謝梓麟
+謝清洲
+謝淑芬
+謝淑娟
+謝淑鈞
+謝皎盈
+謝笠元
+謝凱偉
+謝博皓
+謝媛琪
+謝嵐屏
+謝惠芬
+謝惠萍
+謝景仁
+謝智浩
+謝植岡
+謝皓智
+謝菊蕙
+謝進忠
+謝雅如
+謝雅雪
+謝雅萍
+謝雯凱
+謝順隆
+謝毓玲
+謝瑞梅
+謝萬龍
+謝詩慧
+謝嘉珊
+謝嘉銘
+謝榮哲
+謝碧菁
+謝維仁
+謝翠環
+謝銘忠
+謝銘智
+謝鳳玲
+謝德鈞
+謝慧珍
+謝慧瓊
+謝蔚儒
+謝學綱
+謝曉嵐
+謝燕玲
+謝蕙
+謝融齊
+謝靜宜
+謝靜儀
+謝璦如
+謝鴻駿
+謝禮成
+謝鎮宇
+謝瓊文
+謝韻儒
+謝寶瑢
+謝耀養
+謝顯銘
+謝旻莉
+謝晟銘
+謝煒頻
+謝燿聰
+鍾乙民
+鍾元振
+鍾文宇
+鍾文欽
+鍾月圓
+鍾幼凌
+鍾永雄
+鍾玉惠
+鍾兆民
+鍾成奇
+鍾伯君
+鍾孝其
+鍾志宏
+鍾志豪
+鍾秀芳
+鍾育諺
+鍾依靜
+鍾佳真
+鍾佳穎
+鍾佩芸
+鍾佩婷
+鍾卓儒
+鍾孟憬
+鍾宜全
+鍾宜興
+鍾尚儒
+鍾延華
+鍾承璋
+鍾易達
+鍾明秀
+鍾明晏
+鍾明憲
+鍾昇穎
+鍾欣翰
+鍾秉諺
+鍾金璋
+鍾俊甫
+鍾政民
+鍾政錦
+鍾盈慧
+鍾美琳
+鍾郁翎
+鍾振泓
+鍾紋易
+鍾商駿
+鍾崇梅
+鍾淑芬
+鍾淑萍
+鍾凱依
+鍾惠如
+鍾智傑
+鍾絢如
+鍾逸石
+鍾雲光
+鍾源德
+鍾裕文
+鍾嘉鳳
+鍾禎元
+鍾銘智
+鍾德霖
+鍾樂吟
+鍾曉嵐
+鍾錦琳
+鍾薰嫺
+鍾鵬飛
+鍾懿華
+鍾旻圜
+鞠岱琦
+韓文豐
+韓克儉
+韓佩劭
+韓宜潔
+韓明倫
+韓相宜
+韓梅
+韓雅而
+韓嘉駿
+韓寶瑩
+叢淑華
+簡上哲
+簡士益
+簡士濠
+簡小蕙
+簡文亨
+簡文貴
+簡世裕
+簡巧婷
+簡民龍
+簡玉珍
+簡立人
+簡伊婕
+簡仰壯
+簡吉聰
+簡宇屏
+簡百應
+簡至霆
+簡伶娟
+簡君玲
+簡妤玲
+簡宏倫
+簡廷安
+簡志安
+簡志峰
+簡志雄
+簡志穎
+簡秀杏
+簡秀純
+簡貝珊
+簡佳琪
+簡佩琪
+簡宗德
+簡怡婷
+簡明雁
+簡玫玉
+簡雨蔭
+簡建一
+簡昭萸
+簡美娟
+簡虹琪
+簡家新
+簡珮雅
+簡健俊
+簡國斌
+簡啟恆
+簡淑芬
+簡淑婷
+簡莉靜
+簡博彬
+簡惠湘
+簡森乙
+簡華真
+簡雅如
+簡順立
+簡敬庭
+簡溢均
+簡瑞棻
+簡聖豪
+簡詩峰
+簡嘉宏
+簡嘉彬
+簡嘉齡
+簡漢璋
+簡禎佑
+簡維萱
+簡遠真
+簡銘辰
+簡鳳儀
+簡慧娟
+簡憶如
+簡錫淵
+簡駿貿
+簡藝峰
+簡驪潔
+簡瑋倫
+簡恒聖
+聶東南
+聶暐峻
+藍子桓
+藍元皓
+藍文孝
+藍弘偉
+藍仲偉
+藍志發
+藍怡平
+藍昕緯
+藍春發
+藍峻彬
+藍偉仁
+藍國華
+藍梓侖
+藍惠萍
+藍雅齡
+藍嘉哲
+藍慧珊
+藍黛瑩
+闕少芳
+闕吟夙
+闕明慧
+闕逢毅
+闕瀅芬
+顏士彬
+顏大福
+顏小凡
+顏月
+顏弘祥
+顏永芳
+顏玉瑋
+顏光玗
+顏如玉
+顏有男
+顏伯奇
+顏呈旭
+顏妙芳
+顏宏哲
+顏宏叡
+顏志成
+顏志揚
+顏志麟
+顏秀真
+顏良澤
+顏佳慧
+顏宗平
+顏承偉
+顏秉德
+顏奕仁
+顏秋琴
+顏若庭
+顏家祺
+顏珮嵐
+顏國書
+顏尉凱
+顏晨暐
+顏淑雲
+顏婷玲
+顏華成
+顏雅卉
+顏雯韻
+顏瑞文
+顏瑜慧
+顏聖鴻
+顏嘉成
+顏嘉琳
+顏寧佑
+顏福順
+顏銀桐
+顏鳴慶
+顏瑩鵬
+顏澤宇
+顏鴻欽
+顏獻佑
+顏鈺芸
+魏士傑
+魏子晴
+魏仁威
+魏文綺
+魏巧晴
+魏玉雯
+魏任廷
+魏名汎
+魏宇達
+魏百盛
+魏伶娟
+魏君潔
+魏孝寬
+魏岑芬
+魏志倫
+魏秀恬
+魏良佑
+魏佳卿
+魏宜寬
+魏明章
+魏俊旺
+魏春生
+魏英鎮
+魏晉一
+魏偉
+魏崇桓
+魏淑玫
+魏逢毅
+魏朝信
+魏逸玲
+魏愛津
+魏滇佑
+魏筠文
+魏鈴芝
+魏嘉良
+魏嫦妝
+魏碩穎
+魏銘漢
+魏慕帆
+魏趨吉
+魏麒容
+魏瑄誼
+龐永培
+曠婉君
+羅千雯
+羅子軒
+羅尹伶
+羅仁勇
+羅元甫
+羅允中
+羅友聲
+羅心屏
+羅文宜
+羅文彬
+羅文齊
+羅月凰
+羅世銘
+羅仕棋
+羅巧莉
+羅正邦
+羅永智
+羅玉萍
+羅亦旋
+羅仰真
+羅兆維
+羅宇任
+羅旭君
+羅至善
+羅宏一
+羅志雄
+羅秀玲
+羅亞寧
+羅佳琦
+羅宜君
+羅怡惠
+羅明章
+羅欣慈
+羅芷青
+羅俊彥
+羅彥
+羅玲玲
+羅美蓮
+羅苑榕
+羅家欣
+羅振廷
+羅泰倫
+羅珮娟
+羅素花
+羅偉哲
+羅健志
+羅唯瑄
+羅國華
+羅國暐
+羅婉娥
+羅強
+羅敏文
+羅敏儀
+羅淇文
+羅淑蓉
+羅紹文
+羅傑
+羅凱頤
+羅博俊
+羅惠方
+羅惠蘭
+羅智能
+羅紫菁
+羅華濃
+羅鈞耀
+羅雅敏
+羅雯琴
+羅毓傑
+羅瑞榮
+羅聖琳
+羅達
+羅嘉玲
+羅榮輝
+羅際川
+羅慶傑
+羅瑩棻
+羅曉威
+羅興安
+羅鴻基
+羅馨宜
+羅煒程
+譚又民
+譚光華
+譚佩嵐
+譚悅馨
+譚智仁
+譚諦
+關一心
+關志宇
+關淑雲
+嚴子筑
+嚴心元
+嚴可君
+嚴志哲
+嚴春鳳
+嚴振興
+嚴婉玲
+嚴淑菁
+嚴詠聖
+嚴維德
+嚴馥
+竇瑞霞
+藺心怡
+蘇千代
+蘇士豪
+蘇子翔
+蘇中怡
+蘇元乙
+蘇文
+蘇文娟
+蘇文輝
+蘇世庭
+蘇巧寧
+蘇正家
+蘇永傑
+蘇玉修
+蘇立凱
+蘇如蕙
+蘇竹安
+蘇君霏
+蘇宏泰
+蘇志孟
+蘇志堅
+蘇志鴻
+蘇秀玲
+蘇育弘
+蘇育俞
+蘇育瑱
+蘇佳足
+蘇佩瑜
+蘇宗一
+蘇尚瑾
+蘇怡如
+蘇怡君
+蘇怡菁
+蘇怡馨
+蘇明俊
+蘇明鴻
+蘇武龍
+蘇芳正
+蘇芳瑩
+蘇青妙
+蘇信源
+蘇俊夫
+蘇俊祥
+蘇俊銘
+蘇俞如
+蘇勇誠
+蘇奕傑
+蘇威達
+蘇建中
+蘇建志
+蘇建豪
+蘇彥熒
+蘇恆至
+蘇政謙
+蘇昭君
+蘇昱任
+蘇柏州
+蘇柏樺
+蘇珊瑩
+蘇皇原
+蘇盈穗
+蘇紀敏
+蘇美玲
+蘇致仁
+蘇英皓
+蘇貞燕
+蘇郁倫
+蘇郁雅
+蘇香琪
+蘇倉永
+蘇哲億
+蘇家
+蘇家信
+蘇家瑩
+蘇峻民
+蘇庭瑤
+蘇振銘
+蘇桓慶
+蘇浩為
+蘇益祿
+蘇窈瑱
+蘇純慧
+蘇軒民
+蘇偉誠
+蘇國典
+蘇堂豪
+蘇婉惠
+蘇敏
+蘇清安
+蘇淑婷
+蘇皎慧
+蘇莉惠
+蘇博玄
+蘇惠貞
+蘇晶新
+蘇湘怡
+蘇舜卿
+蘇逸真
+蘇雅君
+蘇雅惠
+蘇雅慧
+蘇順誠
+蘇意嵐
+蘇敬菱
+蘇毓彬
+蘇猷翔
+蘇睦仁
+蘇群傑
+蘇聖涵
+蘇裕文
+蘇詩婷
+蘇靖嵐
+蘇嘉宏
+蘇嘉鴻
+蘇碧昭
+蘇聞謹
+蘇億珍
+蘇慧文
+蘇慧娟
+蘇毅
+蘇曉如
+蘇曉芃
+蘇錦昇
+蘇靜芳
+蘇聲振
+蘇鴻儀
+蘇鵬翰
+蘇麗華
+蘇旻君
+蘇烜毅
+蘇琡評
+蘇瑋琳
+蘇豊棋
+蘇鈺菁
+鐘士欽
+鐘文秀
+鐘玉如
+鐘佳絹
+鐘盈凱
+鐘挺豪
+鐘國銘
+鐘敏愫
+鐘惠宇
+鐘順禹
+鐘碧蘭
+鐘馨誼
+饒志豪
+饒亮
+饒珮齡
+饒敬國
+黨一為
+顧文絢
+顧立蘋
+顧宗沛
+顧倩如
+顧崇德
+顧翠華
+龔于珊
+龔文穎
+龔兆祺
+龔佩君
+龔青雲
+龔彥名
+龔貞如
+龔書聖
+龔淑苗
+龔雅欣
+龔靖詒
+龔豫慧
+亓隆祥
+佘尚鴻
+佘聯斌
+邾亦南
+涂世和
+涂君蓉
+涂育榮
+涂欣宏
+涂政男
+涂振民
+涂啟原
+涂富星
+涂雅燕
+涂嘉原
+涂慧珍
+涂耀升
+粘弘吉
+粘育瑋
+粘純如
+粘聖鑫
+粘耀仁
+鄔心怡
+靳立偉
+鄺光寧
+欒季強
+芳琦
+婉婷
+銘源
+文勳
+鳳琪
+信義
diff --git a/src/com/ibm/icu/dev/test/perf/data/collation/TestNames_Japanese.txt b/src/com/ibm/icu/dev/test/perf/data/collation/TestNames_Japanese.txt
new file mode 100644
index 0000000..fcece28
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/perf/data/collation/TestNames_Japanese.txt
@@ -0,0 +1,22833 @@
+﻿#/**
+# *******************************************************************************
+# * Copyright (C) 2002-2004, International Business Machines Corporation and    *
+# * others. All Rights Reserved.                                                *
+# *******************************************************************************
+# */
+
+あきもと,ひろし
+あきば,ひろし
+あらい,よしひろ
+あらい,ひとし
+あかがわ,えいじ
+あらき,きよみ
+あいかわ,よしひろ
+あきの,みちお
+あきやま,ひろし
+あさい,かずまさ
+あべ,きよたか
+ありが,ひろし
+あきた,ひろし
+あかつか,とる
+あらい,かずお
+あさはら,つとむ
+あつみ,けんいち
+あわや,かずや
+あさかわ,よしゆき
+あおき,ひろし
+あわず,やすお
+あきくさ,しげる
+あおやぎ,ひであき
+あじさわ,けんいち
+あいそ,としお
+あおしま,せいご
+あと,のりお
+あさの,ゆきお
+ありが,つよし
+あおき,ひとし
+あいかわ,まもる
+あきた,つとむ
+あさの,よしてる
+あさと,かずひこ
+あらき,まさはる
+あんどう,かずお
+あさかわ,まさあき
+いいだ,ひとし
+いわさわ,としあき
+いしかわ,おさむ
+いのうえ,あきら
+いしはら,よすけ
+うかじ,はつかず
+うめたに,しゅひち
+おけたに,やすし
+おすぎ,ちよかず
+おかわ,まさひこ
+かとう,よしや
+かも,そひち
+くまがい,りょへい
+こんど,ゆきお
+すぎもと,まさひろ
+はまさき,のりあき
+ちだ,ひでし
+なかむら,よしかず
+ながた,やすし
+さわむら,ひろし
+なるお,まこと
+なりた,まさき
+はせがわ,まさお
+ふじた,ひろひと
+ふじわら,よしのり
+ぶよ,さちこ
+ほり,かつひこ
+みなみむら,けんじ
+みやじま,あきひろ
+やまだ,みきひこ
+やまぐち,まさとし
+やなぎはら,まさあき
+よしの,まさし
+にいだ,あきら
+おひゃま,おさむ
+かながわ,よしのり
+きむら,しゅんじ
+つかざき,けいぞ
+かわだ,ちえこ
+あさかわ,かちこ
+しもつ,よしのぶ
+おか,ゆみこ
+おがわ,ひろこ
+たいら,けいこ
+いしの,たかこ
+きみしま,てつお
+さとう,こうじ
+やまだ,ちあき
+おた,ちより
+まえだ,まり
+かざらし,たかし
+ごと,みどり
+ほし,しんいち
+くろだ,くにひこ
+つかわき,ゆうこ
+いながき,いちろう
+いわもと,りえこ
+つるた,みほ
+いしじま,なおこ
+やまなか,みさこ
+うえき,まさあき
+にしむら,たかひと
+わいだ,こすけ
+よしだ,しょひち
+しぶや,きよなが
+あと,あきら
+みやた,てつや
+おたき,おさむ
+きよおか,なおみち
+おたに,ひでとし
+にしわき,みつる
+にしやま,かつのり
+みしま,まもる
+かとう,しんや
+いまお,としや
+おざき,まさひろ
+せきや,たもつ
+つくだ,たかし
+みよし,りょへい
+よしみ,ひろとし
+ささおか,あきこ
+おしま,あつこ
+くぼた,ただし
+しばやま,るみ
+おくぼ,ゆたか
+たちの,まさのり
+わだ,かおる
+まつした,つぎお
+こむら,まこと
+まきした,たかし
+あかお,なおみ
+はしもと,たかし
+おの,たかゆき
+せきもと,ひろし
+まえだ,みずほ
+みつほり,こうじ
+みなみぞの,まさゆき
+せがわ,のぶゆき
+すずき,のぶまさ
+きたがわ,たかゆき
+よしやす,たかし
+やまもと,ちはる
+かとう,ちずこ
+かわかみ,しゅぞ
+まきの,となみ
+すずき,じゅん
+ふるさわ,みちよ
+はやし,まさもり
+いまにし,やすひこ
+みやもと,けいこ
+まき,やすひろ
+こいで,ひとし
+わたなべ,かずお
+おはし,よしお
+あかお,ちから
+あさい,なおき
+いまい,まさき
+きら,かおり
+にしむら,とよじ
+よしかわ,よしたか
+みなみ,じろ
+つるた,まり
+なかむら,ひろし
+たなか,よ
+まつうら,なおき
+すぎた,まさお
+かわい,さとし
+こくぼ,じょじ
+つだ,としひこ
+みやたけ,ゆか
+くろさわ,くにあき
+すみひら,さほ
+たかき,まさこ
+いしと,ひとし
+やまだ,あきお
+にいつ,かずこ
+いわむら,たかし
+かわなべ,まさひこ
+ながい,てるき
+やまね,としゆき
+いまい,けんじ
+なかお,のりお
+おしきり,じゅにち
+いしかわ,けんじ
+おかじま,たけし
+おにし,じょじ
+すずき,としお
+やまなか,さつき
+たにぐち,まこと
+かわべ,としたか
+こんの,よしかず
+さとう,まさひこ
+たかやま,まさお
+もりみち,こき
+ほりかわ,もとかず
+ふくい,のぶあき
+きたむら,かんじ
+なかはら,よしひろ
+いちい,ひろゆき
+いわさ,ちあき
+すずき,たかゆき
+よねたに,いさお
+たの,ふみはる
+しばた,じゅん
+いのうえ,じゅん
+いしかわ,まさはる
+きし,てつじょ
+あわえ,さつみ
+たけお,かずひろ
+きのした,ときお
+つかだ,みき
+ありどめ,やすひろ
+きっかわ,しんいち
+おがさわら,いたる
+ながせ,かつみ
+はるやま,たまこ
+おず,あきら
+こさか,ひろみ
+しらさき,ひでのり
+たなべ,かよこ
+いけがみ,しゅんじ
+こばやし,かつふみ
+まつばら,たけし
+なかがわ,ひでよ
+おがわ,まさのり
+よしだ,としお
+いけ,まさみ
+たにぐち,あつし
+まえだ,よしあき
+ひらの,かずひこ
+しみず,ふみあき
+やまだ,としゆき
+たなか,としあき
+こまつざき,ひさかず
+かとう,たかひろ
+おわ,あつひこ
+いわむら,やすお
+いりえ,としかず
+あかやま,とる
+あきもと,つとむ
+かみむら,つよし
+すみた,じゅにち
+はまさき,なおと
+やすだ,もりひろ
+たけむら,せいじ
+むらかみ,まさのぶ
+なかじま,さだのぶ
+もりもと,まさみち
+せきぐち,ひろし
+なかじま,たかゆき
+きがわ,きみこ
+たかひら,あきとし
+もちだ,ひろあき
+かめやま,まもる
+おやまだ,まさかず
+たなか,のりこ
+ほんま,ひろただ
+きのした,かずゆき
+しのつか,まさゆき
+あいはら,ひろあき
+ながまつ,あきひこ
+とよむら,かおる
+ひらの,あつし
+きむら,まもる
+いけだ,みきや
+いしはら,とみつぐ
+のぐち,ひさとも
+こけつ,こうじ
+おくやま,たかゆき
+はまぐち,まさひこ
+つじさか,ひろひさ
+いちかわ,たかし
+よしだ,あつし
+やまだ,たかし
+しみず,まさひさ
+さかがみ,てるひさ
+こすぎ,しんじ
+にしだ,やすひこ
+いいだ,のぶしげ
+うちだ,やすふみ
+もとやま,えいじ
+みやもと,まさあき
+こばやし,たかし
+かとう,じゅん
+しらい,せいじ
+はぎわら,ゆうこ
+やまうち,まさる
+みつはし,みつまさ
+もんじ,あつひこ
+たきもと,しんじ
+おくだ,ひであき
+つかもと,さとる
+むこはら,せいご
+さるや,よひち
+おかじま,やすし
+ほしの,のりかず
+ほし,ひさひこ
+ふしみ,せいじ
+たかはし,かつら
+にしやま,やすみ
+つるまち,ちはや
+とみた,いくよ
+うちだ,やすし
+おたか,ひろゆき
+さかい,さとし
+そがべ,こうじ
+わだ,ゆきひで
+こさか,かおり
+あそ,よひち
+あらい,のりこ
+すぎむら,しゅじ
+あきよし,しゅじ
+あさかわ,やすいく
+わだ,みちお
+いけだ,としひこ
+おかもと,ひさと
+あおき,ひろふみ
+うえさわ,こういち
+うやま,たつや
+なかはま,しんじ
+かわもと,しょひち
+しょひゃま,なると
+すえまつ,とる
+ながい,ゆうこ
+なかはら,たかひさ
+なわた,かつみ
+かつざわ,けんじ
+やまうち,まさみ
+あかぎし,あけみ
+くさずみ,としはる
+ほかり,しげお
+かとう,かずお
+きりう,つとむ
+おがわ,さかえ
+たなか,こういち
+あいむら,りょじ
+いがらし,まさる
+かわわき,つよし
+まえさか,ひであき
+まつしま,すすむ
+まつもと,まさゆき
+かたい,ひろき
+こじま,じゅんじ
+つじもと,さとし
+なわた,ゆぞ
+ふじたに,なりあき
+きせ,ひろし
+さかぐち,みゆき
+すずき,つよし
+はまさき,としひこ
+よしだ,ひろし
+ほった,おさむ
+ますこ,ひろき
+たけなか,まさと
+いしい,まさよし
+たさか,つとむ
+まつだ,まさと
+はた,たかみち
+あきやま,ともみつ
+たかはし,あつし
+やまかわ,ひでと
+よこち,まさひろ
+よねたに,まさあき
+ふじの,とる
+はせがわ,さとし
+ふじた,かずひこ
+あんらく,てつろ
+はしもと,じゅにち
+いなだ,としゆき
+ゆげ,まさひろ
+いまだ,ひとし
+さかもと,しげひと
+とよなが,ひさお
+はしもと,こすけ
+はない,はるき
+しみず,ひろし
+なかむら,まさひろ
+かじむら,たかし
+いしがき,ゆたか
+はっとり,やすひと
+あまの,しょじ
+みかみ,まさひろ
+ふるてら,きいちろう
+まみや,ゆすけ
+つるの,かつとし
+あさい,まさゆき
+のむら,まさこ
+よこやま,のぶゆき
+いけだ,れいこ
+あんどう,まさよし
+おかやす,いずみ
+ごと,かずひさ
+かわしま,やすひろ
+はぎわら,てつお
+あたらし,よしのり
+たかやま,たつお
+にしやま,よしはる
+えちご,よしひこ
+やまざき,けんぞ
+むろや,まさお
+きむら,りょ
+なかはら,かおる
+うえの,まゆみ
+よしだ,ひでき
+つかもと,むつこ
+おざき,やすき
+あしかわ,しげお
+ねぎし,しんじ
+きゅの,ゆたか
+さとう,あきお
+いのうえ,やすこ
+きくずみ,ひであき
+まつもと,たかこ
+はやし,えり
+ふくおじ,ゆみこ
+なるせ,としひと
+まつもと,としゆき
+もり,しんいち
+みき,よしひろ
+なかたに,てつお
+みやがわ,ゆきお
+ありよし,ふみお
+しらい,たかし
+みなみ,けんた
+とりごえ,ただし
+こすが,とおる
+つじの,やすしげ
+おぐら,とものり
+おりた,しゅひち
+あみもと,よしひで
+おさか,かずひこ
+はやし,まさる
+みなみ,だいさく
+よしだ,たかお
+にしはら,かんじ
+おくがわ,けんたろう
+つじ,まさき
+なかい,まさし
+にしむら,のぶお
+にたない,よしあき
+くどう,ふみのり
+さい,いくお
+しょ,よしゆき
+いのうえ,まさよし
+たにぐち,ふじお
+なかにし,ただし
+おもり,かずひろ
+くまがい,やすひろ
+いしあい,ちかし
+はぎはら,じゅにち
+たがた,とる
+すずき,よしひろ
+くぼ,みのる
+かなうち,としひこ
+にしお,よしお
+いなだ,まさとも
+たけいち,てるゆき
+あんどう,たかし
+まつなみ,つぐお
+みなくち,けんご
+かなうち,ひろし
+おひゃま,たかお
+ますだ,まなぶ
+やぎはら,かおる
+みずの,ひろたね
+のぶくみ,しんじ
+なだ,ひろゆき
+たけたに,たかゆき
+いまいずみ,とよかず
+いなだ,かずのり
+いまに,けんじ
+おき,みちお
+ふくしま,ぜんさく
+いいお,しんや
+いしだ,ひでき
+ひらた,ひでのぶ
+いたがき,しんじ
+やまふく,まこと
+さとう,しょひち
+なかがわ,しゅさく
+おさか,なおき
+おいかわ,のぼる
+かしお,しょじ
+ほしざき,としお
+せきじま,けんじ
+おかまえ,とる
+さとう,たかあき
+こいで,ふとし
+たかはし,いちろう
+おがわ,いさお
+てらしま,たかふみ
+やました,まさひろ
+のせ,よすけ
+まつまえ,ひろとも
+よした,かつや
+むらた,こうじ
+はら,かずひろ
+やまうち,さとし
+かみじょ,のりお
+すがい,りょ
+たかの,しゅひち
+ところ,のぶあき
+すずき,よしひろ
+ささき,しげき
+つのだ,こうじ
+やまさき,のりひろ
+みうら,たかし
+おだぎり,たかなお
+はやし,せいじ
+とみおか,こういち
+いぐち,たくお
+こんど,まさあき
+くぼ,ひでゆき
+くらぬき,あゆみ
+とみまつ,のりあき
+くろかわ,とる
+のざわ,のりひこ
+かわさき,けんじ
+たけだ,かつゆき
+しのはら,たつゆき
+ふるや,よしのぶ
+なかむら,よししろ
+やじま,すすむ
+にしがき,あつゆき
+なかがわ,てつろ
+ひらやま,てつや
+やまぐち,かつみ
+よしむら,あつこ
+つだ,しんちょ
+かつらい,ひとし
+みない,せいいち
+たきぐち,たかし
+わけべ,ひでお
+にしかわ,きょこ
+しらがき,なおこ
+ばば,まさあき
+あかり,すみお
+あべ,くにあき
+かい,かつや
+おもり,あきひろ
+すずき,しげる
+ながさわ,さとる
+さわだ,とる
+あずま,きよし
+おの,そ
+かわにし,しゅにち
+まなべ,むつひろ
+ありやま,ゆうじ
+にしかわ,たかゆき
+あつみ,わたる
+いとう,としかず
+ひろた,かずお
+ほかぞの,よしひろ
+ほしの,まさや
+やまぐち,ひろあき
+あがた,まさかず
+まるお,りょじ
+こいで,たくや
+かみむら,くにひろ
+さいとう,ひでかつ
+ふくみつ,たかし
+ひらやま,ひとし
+さいとう,えみこ
+いけお,のぶゆき
+ふるかわ,ひでき
+いいだ,のぶひで
+みやざき,かずひろ
+よしだ,ゆうじ
+きくた,きよし
+ちば,しゅじ
+とりやま,ひろゆき
+えざわ,としや
+おば,かずと
+やまもと,やすひろ
+にしかわ,まこと
+えんど,こうじ
+ふくい,よしゆき
+はまの,ひろあき
+きたはら,まさひで
+さとう,なおき
+まつお,あつし
+とよた,ひかる
+ひらもと,てつや
+やまもと,みのる
+はまだ,じゅにち
+いわかみ,ひろあき
+くぼ,もとひろ
+えんど,やすゆき
+かげやま,えりこ
+にいや,てつお
+こち,りつお
+あだち,りゅうたろう
+はやし,よしたみ
+なかの,おさむ
+いしはま,まさのぶ
+こくぼ,まさはる
+かわの,おさむ
+なかじま,よいち
+たいら,けんじょ
+たけぎ,ゆきひろ
+もりしま,まさふみ
+なかむら,ひでや
+のぐち,としひで
+あらき,こうたろう
+あら,まゆみ
+いとう,みのる
+はやさか,てつお
+こつか,かずひろ
+たけうち,まさのり
+いわた,ともゆき
+まえだ,ゆすけ
+ほそかわ,しげゆき
+あらい,しゅんじ
+おくら,まこと
+たけこし,まさひろ
+やまぐち,りゅひち
+しみず,はじめ
+いとう,のりひこ
+いずみ,つよし
+ごと,りつお
+おつぼ,ともこ
+かみこがわ,ひろあき
+たけい,ひろき
+みやはら,やすてる
+あわじ,ひろし
+うしろだ,なおこ
+もりいずみ,ふとし
+ながの,まさかず
+たなか,ひろし
+ふかえ,たかし
+ふるや,よしお
+みずひき,まさひろ
+くぼ,やすひろ
+たぐち,かんじ
+なかお,あつし
+やました,けんじ
+くろき,かつとし
+まつだ,よしつぐ
+おだじま,かねみつ
+ほり,そうたろう
+たにぐち,かずみ
+あらい,しんいち
+ごと,さとこ
+とねがわ,まさし
+もりた,あつお
+ふるかわ,かおる
+ゆき,はじめ
+しらいし,あつし
+いけや,むねゆき
+わたなべ,けんじ
+たにぐち,みさお
+ますだ,よしお
+みずぐち,みつよし
+はやみず,ふみあき
+ほかり,つぎと
+いしい,ゆひち
+しらいし,しょご
+しもかわら,けんいち
+もりもと,なほみ
+いとう,ゆきお
+おひゃ,つねやす
+みよし,としのり
+しばた,てつじ
+たんざん,のりゆき
+いわさき,たかこ
+ふくい,しげお
+もりばやし,よしのり
+やまだ,たかひろ
+ふじわら,さちこ
+なつめ,たつおき
+しのはら,こういち
+おさだ,しのぶ
+ふじはら,じろ
+ふじもと,ゆみ
+きの,あきひこ
+やまもと,のりひこ
+いしじま,まさひこ
+いが,しげひろ
+なかえ,ともこ
+やの,ひろし
+かなみつ,けいじ
+すずき,みのる
+たかだ,のりひろ
+いしばし,ともひこ
+おつぼ,ひでかず
+すぎ,さとし
+はやしぐち,かずや
+てらした,ひでみ
+しもやま,さとし
+みやざき,やすと
+もり,ひろし
+やまもと,まさし
+であい,たけひと
+ほり,ひろみ
+あねざき,よしお
+くぼた,もとき
+ごじょ,もりひろ
+ひきだ,あきら
+さかぐち,だいじ
+よしい,ゆうじ
+きたはら,おさむ
+ふじい,てるお
+なめき,りょこ
+よしむら,ひろゆき
+たむら,みつはる
+うみの,たかし
+あんどう,ひろし
+よしもと,かずお
+ねもと,よしふみ
+みやざき,みつる
+たかもり,やすひろ
+くまがい,ひとし
+ごだ,きよひろ
+はた,としゆき
+くずみ,かずお
+なつい,たかひろ
+しまだ,まさとし
+おつき,ひろし
+まみや,のりあき
+さとう,たかし
+こばり,かつと
+ささき,みどり
+かねこ,やすこ
+おの,としお
+おひゃま,だいすけ
+まとば,ひろし
+いたくら,ひろし
+おだしま,たけし
+しいき,よしふみ
+しばた,まさひこ
+かつら,ちえこ
+あらい,くにお
+さいとう,こうたろう
+まつもと,こういち
+うえやま,さちこ
+まの,いくお
+みさお,ひでお
+そのべ,かずひろ
+すずき,ひろかず
+やたに,けんじ
+むた,ひでゆき
+まるやま,やすゆき
+ふだ,まさき
+こばやし,とおる
+わたなべ,よしえ
+おだ,まさはる
+おふち,じゅにち
+たなか,かつろ
+さわき,のりこ
+さいとう,かずひろ
+はぎの,ちかこ
+うしやま,よしのり
+おくひら,つよし
+よしいけ,まさのり
+こんの,みつなり
+のだ,しんいち
+えんど,なおき
+すずき,きみゆき
+たなか,あきお
+きど,きょこ
+いとう,まなぶ
+ふじわら,ふみあき
+はせがわ,たかよし
+ますもと,けいいちろう
+かい,かおる
+たかはた,まこと
+ひでしま,まさお
+たかやま,しげお
+みやき,まさし
+ふせ,ひろし
+ももい,のぼる
+つゆき,たかし
+かわはら,のぶひろ
+まつい,さなえ
+はなわ,ゆうこ
+ひわだ,としお
+ますい,としゆき
+かとう,みつお
+たけま,よしひろ
+しらいし,けいじ
+ふるかわ,まさのぶ
+てじま,としはる
+あきもと,あきら
+すぎやま,けいじ
+なんぶ,ひとし
+つじの,ともこ
+てらさか,かずのり
+さかい,しげき
+くぼ,ゆたか
+まるたに,かずひこ
+たかはし,ひろやす
+まつうら,みつぐ
+たなか,しげる
+ゆざわ,あきひろ
+たかはし,まさひろ
+おば,てつや
+まえかわ,たかし
+にわ,ただつぐ
+かわむら,ふみお
+こいけ,よしお
+くりした,しょいち
+ひろせ,あきら
+この,さとし
+はせがわ,ひろあき
+いとう,ゆきひろ
+きざき,けん
+えなみ,いっしん
+つかなか,ひであき
+さかもと,あつし
+まつばら,まさや
+てらい,みのる
+おした,しんや
+たなか,せんじ
+やまもと,たかあき
+いしぐろ,かずや
+はしもと,しんご
+さとう,とおる
+やまもと,とおる
+ふるかわ,まさき
+やまだ,かずえ
+いくた,としゆき
+さとう,おさむ
+わたなべ,たくや
+かこ,ひろひこ
+ますだ,ひろし
+かみじ,あつし
+いはら,のりあき
+あさみ,ふみあき
+なかじま,ひろみ
+こたき,ひでお
+かわもと,しげあき
+かわしま,たかよし
+あずま,よしあき
+なかの,まなぶ
+ひらの,よしと
+たかはし,すみこ
+ふかや,やすひろ
+おば,とおる
+さくらい,としのぶ
+さかい,ひろと
+あおき,しょこ
+よしだ,ゆひち
+こはし,かずひろ
+まつうら,たつじ
+さとう,ひろのり
+にしきおり,たかゆき
+みよし,かずひろ
+こすぎ,かずひろ
+さとう,たかし
+ふじい,てつや
+ふなだ,えいいち
+すぎた,かずひこ
+しょだ,りゅじ
+もりした,しゅいち
+ひら,さとし
+しんたく,まさる
+ひがしだ,ももき
+くりた,たけし
+いなだ,ひろあき
+にしの,いっせい
+いけじり,たくお
+なかむら,やすし
+なかかど,まさのり
+いのまた,てっぺい
+つるみ,おさむ
+ひらもと,ともこ
+みよし,よしひさ
+あわの,つかさ
+あきた,たかいち
+ひがしやま,よしひろ
+さとう,かずひこ
+かわさき,とおる
+まるやま,かずひろ
+すなが,としお
+いまい,ひとし
+ふじい,ひろゆき
+まきた,としゆき
+いとう,まさよし
+たかはし,ゆさく
+きりま,としや
+おにし,のりあき
+みのしま,なおひろ
+さとう,よひち
+やました,ひろし
+みたむら,ひろよし
+さとう,しげき
+とまつ,ふみあき
+えびしま,たかし
+わだ,よしえ
+すずき,たけし
+すがはら,ひろみ
+たぐち,けいいち
+とがし,はつお
+ながはら,ひでき
+やまもと,たみこ
+たけだ,ゆきお
+さとう,みつお
+たかみや,たつし
+あおき,りゅひち
+こやぎ,しんじ
+おのざき,ともゆき
+もりた,たけひと
+さくらぎ,かずたか
+おかさか,たかゆき
+やまぐち,まゆみ
+かわしま,しげる
+いわの,たまみ
+ごこ,やすゆき
+もりた,かずや
+しげたか,きよたか
+てずか,みつる
+おた,ひろむ
+やまだ,まさひこ
+ふかだ,さとる
+はせべ,けいこ
+まつの,まさゆき
+つじかわ,みのる
+まつもと,ひでのぶ
+せのお,たかひろ
+のむら,すみたか
+あらい,りょすけ
+おぐり,のりこ
+じんの,ゆみこ
+ひろずみ,ひろのり
+まつい,こすけ
+しばざき,よしのり
+いのうえ,かずのり
+たなか,やすはる
+さそ,やすじ
+しらはま,なおき
+たなか,えいさく
+なかむら,つよし
+いしがみ,まさはる
+しばた,ひさゆき
+のぐち,もとあき
+いちば,あつし
+かわぐち,けんいちろ
+よしみ,かつみ
+ふじかわ,はじめ
+かとう,さとし
+たかはし,とよしげ
+ふじさわ,すみえ
+みずたに,まさひろ
+せきぐち,みのる
+まえかわ,すすむ
+あらい,あつし
+もり,ひでお
+さとう,ひでかず
+くわた,なおふみ
+おぐり,あきひこ
+ひらい,なおき
+にしむら,やすひろ
+おくら,よしあき
+そのべ,てっぺい
+いいだ,あゆみ
+こぐち,こうじ
+もろほし,ひでこ
+はまだ,ひでみ
+かなざわ,ひろゆき
+まつば,つよし
+いわた,いさむ
+あずち,かずお
+こんど,ともふみ
+たかはし,よしろ
+あまの,むつみ
+かただ,りゅじ
+ためひろ,けいたろう
+まつだ,なおこ
+なりいし,しょひち
+おきた,ひろし
+やました,かつひこ
+すずき,ふみとし
+まんぽ,ひさのり
+いちい,あきこ
+こいで,やすあき
+たかはし,えいいちろう
+なかがわ,ひでかず
+おはま,のりかつ
+たかはた,かずゆき
+こぐち,しげる
+みやがわ,ひでとし
+しばやま,まさる
+あらい,いさお
+わたなべ,よしお
+なかむら,ひろあき
+ふるはた,おさむ
+たにぐち,もとこ
+ほんだ,たかし
+まつもと,やすよし
+たかき,もりみち
+きくち,ひろし
+いのうえ,ゆうじ
+はら,かつみ
+やまもと,けんじ
+むらかみ,ともこ
+ばば,なおこ
+はせがわ,かずお
+ささき,たかし
+あつた,ひろみ
+たちかわ,たかし
+ひらもと,かずや
+なかむら,はじめ
+つむら,やすひろ
+たかはし,すすむ
+よこやま,ゆたか
+こたけ,まさなり
+あんらく,なおすけ
+みずの,すすむ
+おぬき,あきひろ
+さかい,はるみつ
+おた,しんや
+はやし,こういち
+さいとう,まさお
+たなか,たかひろ
+はるはら,ともやす
+おつか,まさひこ
+きたがわ,としひこ
+よこた,あきふみ
+よしむら,ひとみ
+おひら,ひろつぐ
+ちゃき,ひであき
+さかぐち,としや
+すずき,たかお
+ちかざわ,そういちろう
+なかじま,みのる
+わたなべ,みつお
+しば,たかし
+さかい,しんいち
+やまみさか,あきら
+よしがみ,はじめ
+ひらて,しょぞ
+わくしま,のりお
+あさま,あきひろ
+あずみ,のりこ
+いなおか,とご
+さない,まさゆき
+やまうち,ひでみ
+いはら,かっぺい
+たやま,あつこ
+ささき,しんいち
+ふじうち,しげひで
+うしじま,こういち
+ののむら,あきひろ
+にし,まゆみ
+いけだ,まさのり
+すぎたに,ただお
+おざき,じゅんこ
+こけつ,ちはる
+さとう,てつお
+せんば,あきら
+あずま,まさゆき
+なおい,ただし
+ほしの,ちから
+かみや,ただし
+むらた,ひろかず
+いちみや,ひろし
+たるい,やすひろ
+はぎはら,としひこ
+たかはし,おさむ
+おちあい,しんや
+あきやま,としあき
+きむら,しんいち
+はやし,まさたか
+やまぐち,たけひろ
+ところ,ひろみ
+かすや,ひろし
+いりえ,たけし
+むらいし,あきひさ
+しんたに,よすけ
+うえの,あつし
+うちだ,ひでと
+はせがわ,いちろう
+くろだ,よしき
+いとう,やすひろ
+ほりうち,ひとし
+おはた,けいこ
+ほんだ,やすあき
+なかむら,みわこ
+さえき,たかし
+あべ,ひとし
+うめだ,けいすけ
+ぬま,よしひろ
+たぶち,ひでお
+きむら,みつる
+うだ,なおたか
+あおき,えつこ
+なかむら,しゅじ
+ふじこし,みなこ
+すみだ,りゅじ
+くずはら,みほ
+わたなべ,こうじ
+あらた,
+ろっかくゆきひろ,るりこ
+いのうえ,かつひろ
+つじもと,まや
+みうら,のぶあき
+ねもと,ひでゆき
+あめみや,すすむ
+なかむら,おきもり
+あいば,てるひさ
+よねざわ,たかひろ
+ふじむら,まさゆき
+りゅと,ゆたか
+わたなべ,みつる
+きたがわ,たかみ
+あたらし,のりこ
+きくち,まさと
+すずき,さとし
+たなか,きよし
+いけだ,のぼる
+よこかわ,ひろし
+くさつぐ,さとみ
+みずの,まゆみ
+ながほり,みつまさ
+すぎもと,まさみ
+あんどう,ななこ
+たかやなぎ,よしお
+しば,よしかず
+かみやま,ひろゆき
+おひら,のぶたか
+ほんま,しんや
+たばた,しゅ
+えんど,ひろみ
+いしがき,ともみ
+しば,しんじ
+やまだ,ともなお
+たかの,じゅん
+よしだ,あきら
+あまさき,ひろし
+おしかわ,ひろなり
+にしの,みつひこ
+かとう,たかし
+はまおか,けんじ
+さの,こういち
+すえしげ,こうじ
+なかた,つねお
+こばやし,ひろふみ
+すどう,まさこ
+つつみ,かずひろ
+みたに,ひろみ
+いしだ,はるゆき
+いいずか,のぶよし
+しらい,けんいち
+やまだ,せいじ
+つじかど,ゆひちろ
+まつなが,まさひと
+たなか,かつお
+みなみ,たつや
+さかい,としひこ
+うえき,しんじ
+おだ,みほこ
+まえだ,おさむ
+できたに,ともこ
+あまの,たかかず
+みやこし,くにてる
+あんざい,ひろみ
+うめだ,ひでゆき
+たきざわ,やすし
+むらにし,きよひと
+くりはら,こうじ
+やまさき,やすふみ
+おつか,ゆたか
+あみの,ゆみ
+もり,いわお
+にしもり,かずこ
+たけの,こういち
+しんがき,かずえ
+まつお,ひろし
+ふじね,まさゆき
+かなまる,しおり
+かなざわ,まさお
+しみず,せいじ
+わだ,じゅん
+いしくら,たかひろ
+ふくだ,しげかず
+うかい,としみち
+ありま,ゆきお
+おた,あつし
+もりたに,きよし
+あだち,としひこ
+くまで,まり
+あら,みつひろ
+はしもと,たかし
+とよおか,やすのり
+おつ,しんじ
+みやき,まさお
+いしかわ,よしかず
+いがらし,よしき
+おにし,まさき
+しらいし,ひろよし
+よこめ,たつゆき
+ふじもと,りゅじ
+かんの,いつこ
+たちばな,たけし
+やまだ,あきひろ
+あさみ,よしこ
+みうら,おさむ
+とくひろ,たかあき
+もりかわ,たかし
+いとう,よしひろ
+さの,まさのり
+すずき,すすむ
+しもとの,とおる
+まかべ,まこと
+いとう,てつろ
+つくだ,けいいち
+よしかわ,じゅにち
+たかやなぎ,なおつぐ
+ほんだ,きんや
+にしの,こういち
+きむら,よしあき
+かとう,かずひろ
+おはた,もりやす
+うつみ,みちお
+あんどう,ちなみ
+はまたに,しげお
+きのした,やすし
+かわせ,ひろのぶ
+うえの,まさのぶ
+しかま,みきひさ
+すずき,ともみつ
+ふじおか,まこと
+いのうえ,まなぶ
+きたざき,さとみ
+あいべ,こうじ
+おかわ,じゅんじ
+たけい,みつぐ
+からはし,ひろき
+すずき,たかよし
+あらい,ゆうじ
+いのだ,よしひろ
+おくむら,こういち
+まるい,じゅん
+ひろずみ,かずひこ
+わしず,かずひさ
+よしむら,みのる
+かつまた,たかふみ
+ますかわ,としたか
+いわお,よしひこ
+やまもと,りょじ
+たなか,まさゆき
+たけうち,まさひろ
+のはら,ともひろ
+ふなはし,やすゆき
+なごし,ひろし
+うめだ,さかえ
+あきやま,やすはる
+なかだ,ひろし
+さいとう,まゆみ
+たはら,ひろし
+にしまつ,のりゆき
+ひらみつ,えり
+めかた,じゅんこ
+たかみ,あきひさ
+そのだ,たくや
+みやざき,たかひさ
+まるやま,たかし
+つのかわ,かつら
+はらだ,しゅじ
+つじ,よしひと
+いがらし,さとる
+よしだ,のりゆき
+たけがた,しゅぞ
+あべ,かずのり
+あかぬま,けんじ
+かわだ,かずや
+たご,ひとし
+かみむら,まさと
+まつや,めぐみ
+いわた,じゅにちろ
+まえかわ,よしひろ
+やまぐち,まこと
+しろした,まさる
+やました,りゅうたろう
+つじかわ,ひでゆき
+たなか,ゆうじ
+みなみ,ひであき
+さとう,まさし
+うおずみ,かつみ
+すぎやま,つぐひこ
+ちば,としお
+かない,かおり
+まつやま,こき
+たかの,りょじ
+くまがい,とくひろ
+たけこし,ひろあき
+ふたば,ひろし
+うめざき,まさし
+おいわけ,げん
+ながつか,あきひこ
+いまがわ,さとし
+はしもと,れいこ
+おひら,ともひろ
+みやひら,まさと
+のぐち,じゅにち
+すぎもと,よしふみ
+かわぐち,ともひろ
+しのせ,よしあき
+なりさわ,あきら
+ひろせ,ひろゆき
+にしざき,まさゆき
+もり,さとし
+ふかお,つよし
+みやじま,あきら
+まつの,こういち
+いわい,むつひさ
+かい,としあき
+たなか,かずただ
+ちば,よすけ
+その,まなぶ
+よこやま,ひとみ
+たかしま,あきら
+おかもと,ゆたろう
+みやかわ,みちあき
+むらもと,けいぞ
+きむら,かずふみ
+まつなが,かつのり
+ふくだ,つよし
+おにし,よしひと
+あい,あきひろ
+まえだ,すすむ
+いのうえ,のぶゆき
+いいだ,よしこ
+ふじい,けいぞ
+さくらい,かずしげ
+まつい,しげのぶ
+いまだ,みどり
+みやけ,くにこ
+さかい,まさみ
+かとう,ひろし
+いわた,あきひさ
+おの,じゅん
+いそべ,こうじ
+おやまだ,だいすけ
+とじま,ともあき
+たけうち,こういち
+なかやま,ゆみこ
+しらいし,つとむ
+かのまた,まさし
+すどう,ひでかず
+しらやま,ひさかず
+おひゃ,よしみ
+みながわ,たかひさ
+きむら,ひろゆき
+たかぎ,たくや
+さとう,ういり
+ふじわら,しんじ
+いもと,あつし
+うえの,ひろひさ
+きょの,おさむ
+きりう,なおと
+くぼた,まさや
+こせき,たかよし
+すざき,つとむ
+たかさき,たつひろ
+つかもと,かずひこ
+ないとう,ますお
+なかごめ,おさむ
+なかむら,あつし
+はぎわら,たかひろ
+まつもと,あきひろ
+この,まさる
+さいぐさ,ともひろ
+ほんだ,たつや
+たなか,だいぞ
+まつとみ,ゆきお
+あかさか,みつる
+せんがん,ようた
+たけお,ともひろ
+むらた,けんご
+かわせ,よしただ
+にしざき,つねお
+へいとう,たかし
+おさわ,まさひろ
+うえだ,やすひさ
+かなやま,しんいち
+はらだ,けんじ
+なかがわ,ひろかず
+みやもり,ひでやす
+かい,かつみ
+きぐち,かよこ
+さたけ,よしひさ
+おほか,たもつ
+なかざわ,ゆきお
+やすおか,ひろし
+くろみつ,かよこ
+かなだ,ひろあき
+まるかわ,あきひで
+ながさわ,のりかず
+こばやし,ひろゆき
+えんど,ともひろ
+いんなみ,たつゆき
+やまもと,えいいち
+ながくら,まさはる
+うえの,よひち
+にしざか,やすひこ
+さとう,ともゆき
+もりやま,あつし
+こはやせ,まこと
+どいた,けんじ
+ほそかわ,しゅじ
+あおき,けんじ
+ますみだ,としろ
+おち,こうじ
+すずき,まさひで
+すぎやま,やすたか
+ふじわら,ひでき
+たなべ,ひでき
+とだ,たけゆき
+つぼい,しゅ
+すぎた,まさのり
+あだち,はるお
+ふじい,きよたか
+すがもり,さとし
+やすだ,まちこ
+たかはし,みか
+たがみ,てつろ
+とみやま,たつお
+はねだ,しげお
+おざき,ひろし
+おぐら,のぶお
+てらさき,みつい
+つちや,ともひこ
+おかだ,まさいち
+あべ,けんじ
+あべ,けんいち
+もりわき,せいや
+はやの,みつゆき
+とみなが,あつし
+すずき,やすお
+かたぎり,まさのり
+あはら,けいた
+ほし,まさき
+いしかわ,ひろし
+しもむら,なおひこ
+わきもと,ひろゆき
+かわて,まさる
+あぶらかわ,ゆうじ
+よしたけ,やすゆき
+いしだ,たけし
+ほんだ,やすゆき
+したま,のぶや
+のぐち,えつこ
+みずい,てるお
+あんどう,のぶゆき
+よねしま,みつえ
+あきた,こういちろ
+うえ,けんた
+すぎ,じゅん
+なかじま,みき
+かさおか,さとし
+のだ,はやと
+まつざわ,ななこ
+わたべ,たつや
+あいざわ,よしひさ
+いわさ,みゆき
+こが,たかし
+ひがしたに,かずおみ
+いけだ,たかし
+あきなか,まさゆき
+ふじた,としろ
+やまおか,よしお
+わち,たけし
+うえの,あやお
+うしき,なおふみ
+やまもと,なつみ
+かとう,じゅんこ
+ながい,あつし
+ふくだ,こういち
+なかたに,まり
+ひらさわ,としひこ
+みやざき,てつふみ
+てらしま,こういちろ
+あらい,たつお
+たなか,けいじろ
+かねこ,しん
+さとう,あきひこ
+なりた,ひでふみ
+ながしま,としや
+さかの,やすはる
+みうら,かずや
+やまぐち,ひさたか
+おでら,せつや
+あべ,けんたろう
+こだま,かずいち
+やまもと,はるひこ
+おしま,まさとし
+いしず,ただひろ
+かんばやし,あやこ
+おかわ,えみ
+ひえだ,ながこ
+いのまた,まさる
+まきた,むねかず
+がなは,ちが
+はやかわ,しんいち
+あかぬま,たかあき
+むろかわ,てつじ
+おの,しゅひち
+きむら,じゅにちろ
+はたざわ,としお
+ふじた,さとし
+うえだ,けい
+やまのうち,なおとし
+ふるた,あつし
+おくやま,かずひろ
+いとう,ひろゆき
+おさない,とおる
+こたに,つとむ
+おつか,ゆきお
+ふくしま,ひろゆき
+いいずか,たけひこ
+わたなべ,ひろみ
+もりた,としや
+かとう,たかゆき
+ほんだ,ひろゆき
+かとう,てつや
+あさぬま,まさのり
+あずま,けいすけ
+てらさわ,しょご
+あかし,やすこ
+かとう,まさき
+おのさと,だいすけ
+なかむら,いさお
+のむら,よしひろ
+いのうえ,けんいちろ
+はやし,ふみお
+たむら,せいいち
+さかい,たけし
+すぎむら,ただあき
+とみやま,こすけ
+かきざわ,けん
+にしたに,てるあき
+あさくら,けんいちろ
+いしざき,ひろき
+まつもと,としあき
+ながお,あきのり
+きの,やすひろ
+あべ,まさお
+とじょ,みつお
+やまき,つねお
+あらい,なおと
+やまだ,たかし
+おくむら,ひろつぐ
+はら,ひでみ
+やまもと,えいいち
+なかむら,しんいち
+あらい,がく
+いけど,すえのぶ
+いとう,りょ
+いとう,けい
+うりゅ,としあき
+うちやま,しょういちろう
+えのもと,しんや
+えずら,さとし
+おつか,しんいちろう
+えにゃ,としお
+あかお,りえ
+おにし,たすく
+かがや,こうじ
+かまた,こういち
+かわかみ,げん
+ささき,けいじ
+たかはし,かずえ
+ただ,しょたろう
+にしの,かつひさ
+あさお,しんいちろう
+はしもと,かずや
+はっとり,まさたか
+ほし,けいじ
+ほりた,ゆうじ
+まえぞの,あきら
+まえじま,ただし
+みやざき,ひろみち
+あらい,とおる
+もり,けいすけ
+まえだ,すすむ
+おち,けいすけ
+あさくら,しょじ
+うさみ,いなん
+おくやま,たかひろ
+かりや,のぶひさ
+うえだ,やすよし
+おたべ,なおひこ
+きむら,こういち
+くしだ,まさよし
+あまは,なおき
+こんど,なおき
+しみず,たかこ
+すずき,たお
+すん,しんいち
+たどころ,なるひで
+とねさく,みのる
+なかむら,ゆみこ
+ますだ,よしみ
+みやざき,こすけ
+よしなが,ひろし
+よこかわ,けん
+つちや,のりお
+たかはし,あつし
+たなべ,たかし
+いとう,たかひこ
+ながお,ひでゆき
+さとう,けいぞ
+ただ,いさむ
+あきもと,よしはる
+たむら,こうじ
+たむら,よしき
+おか,しょういちろう
+さくらぎ,しゅこう
+すずき,すみお
+もりおか,ひとし
+やぐち,いさむ
+みやもと,ひろし
+しらかわ,ひろお
+おつか,みはる
+やまもと,あきひさ
+なかまち,たくま
+わかはら,まゆみ
+あき,まさのり
+たきた,まさじ
+あらかわ,けいすけ
+まつお,しんいち
+ちょ,たけし
+くろだ,ともひろ
+やました,しゅんすけ
+ともおか,まもる
+なかお,かずゆき
+あそ,みちはる
+ふくだ,けんいち
+あおき,ひろし
+くる,ただし
+むらかみ,ゆし
+くろだ,さとし
+みかみ,ひでき
+かみむら,ひでき
+きたじま,ともやす
+まるやま,やすふみ
+さたけ,やすお
+もてき,たかし
+とみた,かずひろ
+にわ,けいいち
+たかばたけ,こうじ
+あずま,ゆういち
+ふるや,しげる
+なす,たろう
+こり,えみこ
+いけだ,わたる
+ごと,てるかず
+まる,のぶたか
+ふくだ,ひとし
+すがはら,ひさと
+きむら,やすひろ
+たかせ,たくや
+にしおか,あきひろ
+ふるかわ,ひろゆき
+くどう,なおき
+たかはし,よしひさ
+やまもと,けんいち
+みやもと,たけし
+のた,ふき
+なかむら,ふみこ
+あきば,しげのり
+いわき,まさる
+かとう,さちこ
+もりもと,よしひろ
+なかむら,まり
+なかやま,まさひろ
+おたに,こうじ
+すぎやま,じあぃん
+すん,ひろゆき
+やまもと,じゅんじ
+ほんど,としひこ
+はが,まり
+しおざき,りょ
+ふじの,てつお
+おの,けんいち
+あんどう,けんと
+やまぐち,よしひろ
+くろだ,りょへい
+あんどう,ゆきひろ
+うの,しのぶ
+いとうたに,みや
+おか,まこと
+みうら,しほ
+はしもと,まさかず
+えもと,かずとし
+こが,かずや
+きはら,しげひろ
+まつだ,みのる
+やまだ,とよゆき
+たかはし,ひろし
+やはた,ゆたか
+たざき,かくじ
+やまもと,かずひこ
+たかだ,みのる
+のだ,けんじ
+さいみょ,よしお
+こばやし,としあき
+ふじき,たかし
+しらさか,じぇ
+ちぇん,りょひち
+たかはし,たけひこ
+やつ,えつみ
+うおたに,のぶゆき
+たむら,かな
+まつお,まこと
+なかざわ,ひろし
+きだ,ひろし
+たんげ,ふみただ
+ひろせ,あきこ
+まつしま,よひち
+おかの,ひでお
+あおき,けいた
+はせがわ,りゅひち
+にしほり,ひろみ
+いしずか,まさつぐ
+つぼい,かおる
+いしだ,あらた
+はしもと,けんじ
+ごと,ふみお
+あきやま,のぶひろ
+みつはし,とおる
+ごしま,あつお
+ふくだ,ふみひこ
+やました,としひこ
+なかざわ,さとし
+にしかわ,たくや
+いけうち,ゆきこ
+たがみ,てつろ
+かわきた,すすむ
+なかむら,みちや
+こまい,さとる
+ほしや,よひちろ
+すみと,りゅじ
+ほしの,ちから
+なかや,たかや
+はら,ひでゆき
+むろやま,まさる
+しのだ,さとる
+もり,しんじ
+しらいし,ひろき
+ひらの,しげる
+はしもと,かずお
+あべ,ひろし
+いしかわ,なおふみ
+あずま,ひさし
+おつか,ひとし
+いとう,かずゆき
+おしま,たかお
+こざい,けんじろ
+かわかみ,がく
+なかの,こすけ
+うじもと,あゆむ
+きしだ,まさふみ
+こいずみ,かずお
+ないとう,しんいち
+よしずみ,みずほ
+すぎもり,かずひこ
+あおき,かしゅく
+たかはし,ひでき
+いが,まさひろ
+かわばた,こうじ
+しばた,ゆうこ
+だんじょ,じゅんじ
+たぐち,ありかつ
+まちだ,よしみ
+あしだ,のぶお
+あんどう,けい
+むと,ちかお
+こやま,きよひろ
+すずき,まさとし
+のむら,むねひこ
+いとや,まさひこ
+ちかおか,ひとし
+じんぶ,のりこ
+あだち,としひろ
+かわい,よしき
+みのわ,としひろ
+あさひ,ともはる
+おた,こういち
+たなか,のりかね
+きら,のぞみ
+やまざき,ひろひで
+やまうち,まなみ
+ほった,かずひろ
+あらかわ,ともお
+おくむら,ゆうこ
+かねこ,ていじ
+あやの,かつのり
+はやかわ,きよと
+いとう,けいいち
+おくむら,じゅん
+たんざわ,まさとし
+さきの,つとむ
+かわはら,みちやす
+たるい,まさし
+ありもと,やすし
+えびこ,こういち
+ひの,としあき
+やまだ,よしあき
+おの,きよし
+たけした,まさし
+はやし,みか
+いしだ,みつる
+しおや,よしのり
+あんどう,しげお
+まつばら,じゅん
+にしだ,いたる
+なかむら,こき
+いけだ,ともなり
+はやみ,まさひこ
+すずき,ひさのり
+おがわ,たつお
+いしかわ,よしひろ
+あさみ,とおる
+はたけやま,よしお
+ほりみぞ,あつし
+まるたに,ともなり
+さとう,かつや
+さかなか,しょよ
+なかむら,くみ
+いとう,ゆりこ
+ふるなが,きょこ
+ふくしま,けん
+みずがみ,たけし
+たけうち,のぼる
+とりうみ,まさふみ
+ねぎし,まさる
+こやま,まさのり
+おしま,じゅん
+かたおか,ひでお
+たきぐち,しょぞ
+こまつ,あきら
+やぎ,としあき
+たかぎ,けんじ
+ますい,たかし
+はやし,けいすけ
+あねたい,ちひろ
+きはら,あきお
+さいとう,かずお
+きたわき,ともひこ
+のぐち,かおる
+さかぐち,はるひこ
+にし,まさと
+いけだ,よしゆき
+さとう,みちお
+いまい,みのる
+やまだ,しげき
+たなか,あきのり
+おさこ,なすお
+こむろ,たかし
+さいとう,ひでふみ
+すずき,かずお
+ふなとがわ,たかし
+いしい,よしお
+まつい,てつろ
+すえひら,ひとし
+ひろたに,まさゆき
+ひがし,けんいち
+いむら,しげお
+あべ,みちひこ
+よねくら,ひろみち
+わたなべ,もとい
+すが,ゆきみつ
+さの,てつお
+しば,たかし
+やまぐち,まさひと
+きざわ,しげいく
+かさまき,やすひさ
+きむら,まこと
+つるみ,かなめ
+あおき,ひでき
+いしだ,けんいち
+もろ,ゆかり
+おくむら,てるあき
+たかぎ,のぼる
+いけや,ひとし
+とみやま,よしお
+やぎ,きよし
+とみき,あつこ
+とのむら,やすのり
+やつずか,のぶとし
+ぶま,よしみつ
+なかざわ,ひろし
+やまざき,ひろし
+まつした,ともじ
+いだ,しゅんじ
+すずき,よしひろ
+なかの,よしろ
+かわぐち,けいすけ
+たかはし,あきひさ
+いしだ,しょこ
+うだ,もとし
+ふじわら,あきお
+こいで,ひろゆき
+つかだ,こうじ
+ひらやま,みちお
+うちとみ,かずみつ
+いまはら,たかお
+うえだ,てつろ
+ささかわ,みのる
+あいかわ,としひろ
+うえき,けんしょ
+なかやま,ふみとも
+おさわ,ようこ
+たかおか,しのぶ
+わだ,しん
+いぬずか,よしひろ
+たなか,やすひろ
+たけだ,まさお
+やまだ,つとむ
+やなぎ,しょういちろう
+たけした,さとる
+にし,りゅじ
+おたけ,としたけ
+にたない,へいはち
+ほんま,ひろし
+なかの,あきら
+みやした,ひろよし
+うえの,ひとし
+ばば,よしひろ
+みやざき,たかあき
+くにい,たかよし
+こばやし,よしみ
+ますだ,よしかず
+たかはし,としゆき
+つかお,つぎお
+かわむら,くにひさ
+かわばた,こうきち
+あかさか,きよたか
+いいだ,のぼる
+しらはま,ひでひろ
+とがわ,よしたけ
+いとう,たつひこ
+おかべ,ゆひち
+わたなべ,しげお
+さかば,のぶひこ
+ひろさわ,よしのり
+なかむら,ひでき
+やすい,じゅんじろ
+ひらた,さだむ
+きたがわ,まさお
+あまの,つとむ
+つじむら,けいじ
+かわさき,ひろし
+うえむら,こうじ
+むらかみ,ひろき
+いのうえ,たかゆき
+はぜ,こぞ
+としひろ,じゅんこ
+こばやし,てつや
+いの,ただし
+あさの,ひろゆき
+もり,ひでいち
+いなざわ,まさし
+こばやし,ひろお
+さかき,としひろ
+うちやま,ひとし
+まなべ,しげる
+おひゃま,さとし
+しみず,かずひさ
+よねむら,しんいち
+ばらだ,てつや
+ふるぞの,えつろ
+ふじもと,こういち
+さの,たけし
+かわの,しげな
+ほしかわ,きよし
+ささもと,けん
+すどう,きみひろ
+さとう,しげゆき
+はやし,ただのり
+ばば,ゆひち
+ばば,こうじ
+おやね,こよ
+ながさわ,てるひろ
+さかもと,よしひこ
+あおき,せいじ
+むなかた,やすき
+いとう,けんじ
+かわばた,まさひこ
+すぎもと,ひろゆき
+ばんど,あきひこ
+のむら,よしかず
+この,かずあき
+かわい,まもる
+うえの,えいこ
+はらだ,こうじ
+かの,もとつぐ
+おおはた,まさと
+すどう,たかお
+まつだ,ひろし
+いけがみ,ひでのり
+しらい,ひとし
+さとう,ひでお
+さかい,やすゆき
+おき,まさはる
+かわむら,せいじ
+やまだ,まさはる
+いとう,しんいち
+いかみ,ひろゆき
+あずまお,みちお
+ふじむら,じゅん
+きたむら,あきひこ
+とがみ,よしみち
+こすげ,かずのり
+せき,のぶゆき
+かわしま,ひろし
+たかい,あきら
+あきやま,みきお
+すずき,たかし
+なかむら,ひとし
+にしの,まこと
+みやけ,けんしん
+よねもち,たかあき
+たかしま,たけし
+さかい,としゆき
+おつき,けんじ
+かわさき,ひろお
+にしかわ,あきひさ
+さくらい,はるお
+すぎ,ひでと
+ほりこし,とおる
+もり,ゆうじ
+はけだ,としみ
+にいだ,まさお
+きくたに,ひろゆき
+たけのした,ともゆき
+たかはし,ゆご
+たなべ,ゆきお
+いけもと,としふみ
+まつやま,しゅいち
+よしざわ,たかゆき
+あかい,たかひろ
+にしおか,もとじ
+たけもと,しげお
+とくだ,としのり
+おもり,あきとし
+かとう,みき
+かわと,たきお
+まえだ,けんじ
+くろき,ひであき
+いいだ,とおる
+こやなぎ,かつや
+まつなが,たかし
+いとう,しんいち
+やまもと,さとし
+つつい,しゅへい
+たなか,ひろみ
+ふくしま,まさこ
+こじま,のりこ
+にしだ,ゆきこ
+にしやま,よしひさ
+すずき,みのる
+いいじま,せいいちろう
+たまい,のぶお
+この,よしお
+みます,やすひろ
+よねはら,たつし
+よしだ,ふみお
+ふくだ,そひち
+さとう,まさよし
+やまもと,くみこ
+きたご,はじめ
+さんの,あつし
+やさか,やすあき
+むらた,たつお
+なかもと,としあき
+さくらい,みのる
+はらだ,しゅにち
+さとう,よしひこ
+さいとう,みつぐ
+そね,じゅんこ
+はすみ,だいすけ
+ひらた,たかし
+やなぎさわ,すすむ
+たちばな,おさむ
+いとう,としみつ
+はら,せいいち
+さいとう,かずみ
+いとう,ひろし
+たなか,ひろあき
+うちやま,ひろし
+かがわ,のぼる
+たきざわ,ともとし
+しながわ,としお
+かきはら,しげみ
+すがぬま,あきし
+かめい,かずしげ
+おくつ,よしもと
+いしかわ,あつお
+すぎうら,みつお
+うめだ,けいこ
+みなぐち,あきひろ
+ほしの,かずひろ
+にしやま,のぶお
+たけだ,ようこ
+さかい,まさずみ
+やつだ,あきら
+もりた,としひろ
+さきま,こういち
+あらい,かずや
+たけだ,しげよし
+たむら,けいいち
+おかだ,ゆうじん
+やまね,くにひこ
+なかむら,しろ
+あおの,じゅにち
+すぎやま,としや
+ふりはら,かずとし
+わたなべ,しょしゅん
+かつ,もりお
+さはら,ひさし
+かくた,いちろう
+えのもと,たけひこ
+わたなべ,せいじ
+やぶき,たつや
+あまさき,きいちろう
+よこた,たけし
+ほりのうち,けいぞ
+きはら,なおひろ
+たけだ,ゆたか
+いねな,たかこ
+なかじょ,よしこ
+いちやなぎ,はるみ
+すずき,ちはる
+なるしま,ゆひち
+しらいし,たつお
+おの,かねよし
+よしおか,かずお
+まつうら,のぶと
+ふじた,つかさ
+いわみ,ひろみ
+とくしげ,あきひこ
+たなだ,たかし
+おかの,まこと
+もちずき,まさひろ
+たかしま,こういち
+とりうみ,まさひで
+たかみ,としあき
+はやせ,つねお
+たかはら,つるまつ
+きん,まさひこ
+すぎやま,かずひろ
+きたじま,ただし
+にった,しょけい
+ぶん,なおきち
+しゃ,たかし
+おか,とおる
+おはし,かずや
+はらだ,ひろかず
+わきさか,てつじ
+いわなが,とよはる
+かわしり,けいじ
+いなもと,きみひこ
+さわ,かずまさ
+たけだ,たかゆき
+いいだ,こういち
+かじの,かずお
+みわ,よしたか
+ふくい,ともゆき
+すえなが,えいじ
+くにえだ,まさゆき
+きたおか,ひでひろ
+いど,こうじ
+おくだ,よしのぶ
+ほりかわ,さとる
+すえもと,ひろかず
+よこやま,ゆきのぶ
+ふじもと,ひろし
+きせ,きはちろ
+にしむら,ひろし
+たかだ,けいいち
+つかだ,みつお
+とよだ,まさかず
+さの,ひろゆき
+にしだ,たけひこ
+おもり,よしひと
+おざき,まもる
+いしまる,はるかず
+たなか,けいいち
+かしわばら,とおる
+あさの,ゆたか
+ひらの,かずひこ
+たにやま,とおる
+うめばやし,りょすけ
+おむら,かつき
+さかぐち,てつや
+おかむら,としひろ
+やまもと,とみお
+えちご,しょじ
+さわだ,ひでひこ
+よこい,こうじ
+きたむら,まさかず
+やす,えいじ
+たかお,とおる
+かつらおか,まさひこ
+つぼい,いちろう
+つじ,とおる
+たかはし,しげやす
+すぎき,こういち
+たけうち,のぼる
+かみじょ,やすかず
+こばやかわ,しんじ
+あおと,てつろ
+ただ,けんじ
+ひだか,ひでお
+にしむら,きよかず
+えばら,しょご
+みずもと,あきら
+すずき,これあき
+しいな,やすひこ
+しおた,かずゆき
+なかはら,りか
+ごだ,かおる
+ふるた,じゅんこ
+ますもと,しんぞ
+なかがわ,まさひこ
+いど,しげお
+よりふじ,あきお
+まつもと,たかき
+さいとう,たかひろ
+なつい,としかず
+うおの,やすひこ
+たなご,じつじ
+たまがわ,よりこ
+おか,のりこ
+ふくしま,ちえこ
+おかだ,つねお
+きのした,かずや
+しみず,きよし
+こばやし,はるよし
+のだ,みつひこ
+かの,こういち
+かじおか,きよし
+おの,まさひさ
+おはし,じゅにち
+こばやし,きいち
+こいずみ,たかゆき
+たなか,のぼる
+ふくだ,あきら
+なかざわ,くにあき
+ほりかわ,ひでき
+うちやま,かおり
+いずたに,けいこ
+たきい,のりひと
+たかせ,たかし
+ますざき,まさる
+あんどう,ゆうこ
+かたぎり,ひでひこ
+もりやま,あきら
+さとう,きよたか
+ひるかわ,まさし
+うえだ,つぐひろ
+なか,あきひと
+みやざき,たかし
+おくぼ,まさゆき
+たちかわ,ゆひち
+わたなべ,いくお
+あさかわ,ひとし
+かわはら,としや
+おさだ,のぼる
+さかい,さとし
+くりやま,もりひろ
+さいとう,じゅにち
+すきがら,としこ
+あけひ,のぶつぐ
+はやし,たかし
+かわた,とおる
+しまがき,しげいちろう
+ほり,としや
+のむら,あきひろ
+とむら,さとし
+くぼ,まさお
+にしもと,としたか
+よしだ,ひろし
+さぎ,まさたか
+かんの,まこと
+やぶの,みちなお
+やすなが,せいじ
+ひがしうえ,まさや
+こさき,はじめ
+なかじょ,はるお
+おの,さなえ
+むらた,こずえ
+しょじ,よしこ
+かわもと,くみこ
+えさき,きよみ
+えいどめ,なおみ
+すずき,みさえ
+もとやま,かずよ
+はまだ,よしこ
+こしかわ,しんいち
+はやし,きよこ
+やまざき,のりひと
+まつもと,こうじ
+おの,たかよし
+はなわ,けいこ
+はせがわ,まさき
+みやた,ひろゆき
+きたざわ,ひろひと
+えんど,まさゆき
+ながさか,としひろ
+よしもと,とおる
+くろさわ,こぞ
+まるやま,ひであき
+なかにし,あきひろ
+よしだ,まさる
+ふくた,ひでかず
+ふじさわ,ゆたか
+さくま,やすかず
+はしもと,あきら
+わだ,としお
+にしざき,まさはる
+ふかがわ,ゆきや
+あおやま,よしまさ
+きよたに,しんいち
+とりはら,ただし
+ながの,けいじ
+おが,まさあき
+さかの,まさかず
+みつはし,やすひこ
+ありもと,よしあき
+よしまつ,ひろみつ
+あおやぎ,けんさく
+やまだ,よしはる
+むらた,かずゆき
+いりえ,けいいち
+やまざき,ひでや
+えぞえ,かつひこ
+さとう,よしはる
+おた,かつみ
+いのう,まさおみ
+かど,のぶお
+ささき,えつこ
+かけひ,まさかず
+つちや,つとむ
+まさおか,ひろゆき
+すずき,たけし
+とね,ゆたか
+おわだ,たかし
+うえき,まさひろ
+まえだ,せいこ
+ふじおか,たかあき
+うらべ,あきお
+なかむら,まさひこ
+いさか,ゆみこ
+にしさか,しんいち
+いわさ,まさのり
+たくしま,けいいち
+つかもと,つよし
+さくま,きよし
+ひょど,もりひと
+なかむら,たつや
+ささき,よしひろ
+ふくわき,よしひろ
+おくむら,かずや
+たかはし,しょぞ
+しろい,やすお
+こかぶ,とみひろ
+のぐち,のりあき
+たかつ,まさと
+よねざわ,かずのり
+さかいだ,やすこ
+こいずみ,なおこ
+まえだ,ゆひち
+まんだ,まさあき
+こぐれ,のぶお
+あきもと,えいいち
+たけむら,よしお
+すずき,ふみお
+やまうち,たけひこ
+さえき,ひろし
+わかばやし,こういちろ
+あきもと,まさお
+よしだ,としや
+さとう,まさよし
+おしま,とよひこ
+ささき,やすし
+あらい,ただお
+わたなべ,ひろき
+いけもと,ひろかず
+きくい,てつや
+ひらた,やすひろ
+まきうち,みつや
+こせき,かつゆき
+にしかわ,ただし
+いがらし,いちろう
+たなか,よしと
+ほんだ,ともあき
+はった,こうじ
+はらだ,じゅにち
+よしだ,ゆうじ
+わたなべ,のぶゆき
+こいずみ,まさひこ
+こすだ,ひろあき
+みやけ,つねお
+ふじや,やすとし
+まさき,まさひで
+さくらい,あきひで
+にしやま,てつじ
+かわせ,ゆきお
+おかざわ,こういち
+あさか,ひろみ
+おがわ,たくや
+ながさわ,しろ
+きたわき,やすひろ
+しみず,ふみお
+こばやし,ただつね
+たちばな,えいいち
+いまなか,ひろみ
+うしまる,ひさかず
+おかむら,おさむ
+やまの,ひろし
+きたむら,りょひち
+たかまつ,なおひさ
+ときかわ,まさあき
+いけだ,たけし
+いしだ,あきら
+たにはら,ひでき
+おがわ,よしお
+たなか,たかのぶ
+なかじょ,しんや
+ともざわ,としゆき
+はらだ,のぶあき
+はなぶさ,はじめ
+とくおか,まさお
+べっしょ,まさのり
+なかしま,まさはる
+あさくら,しげこ
+みやでら,さとみ
+すずき,けん
+よしむら,けんいち
+さわ,ゆういち
+なかやま,みちかず
+ひらざわ,ひでき
+ふじわら,かずひで
+すがわら,としや
+たにがわ,のぶたか
+ほんだ,みつぎ
+はない,ひとし
+えぐち,しょすけ
+かさい,けいこ
+くろさわ,のぶこ
+たじま,せつこ
+さとう,あつこ
+ひびの,あつし
+すがや,まさひろ
+くらた,かつひこ
+ますだ,やすひこ
+すぎはら,ひろし
+かねこ,なおき
+かつ,よしひさ
+まる,まさゆき
+たなか,こういち
+としおか,よしひろ
+しげの,まさあき
+やまもと,とおる
+なかがわ,まりお
+やまぐち,やすと
+かわもり,こういち
+むらやま,さくめい
+しゅ,よひち
+いけだ,ひろし
+こだま,しん
+かとう,たつし
+はくちょ,つねお
+かげん,しゅ
+てずか,こういち
+たにぐち,はるき
+てらだ,けいこ
+かとう,よしゆき
+ないとう,たかし
+いとう,ひろや
+こばやし,ひでかず
+たなか,あきら
+ささき,りょじ
+ほんだ,さとみ
+ひえだ,かつみ
+さかい,ひろき
+かつみ,よしひろ
+たけべ,まさる
+のぐち,なおや
+わだ,ひろゆき
+うえやま,たつお
+うえの,さとる
+たんご,いさお
+むらかみ,かおる
+あらき,こうじ
+あらせ,まさたけ
+やまもと,なおき
+わしお,たかき
+わけじま,たけお
+こいずみ,たかし
+とくやま,けんじ
+とみなが,ひでとし
+きしだ,わたる
+じょけん,みちと
+ひろせ,あきお
+うちやま,かずのり
+わかすぎ,たかし
+いしぐろ,たかし
+にしむら,つよし
+いのまた,えいじ
+つつみ,けんじ
+いりえ,たかひろ
+さいとう,ひでお
+うえの,かつみ
+ほんだ,こぞ
+きたむら,ますひろ
+やまがみ,しろ
+なかにし,ひろゆき
+うえだ,よしふみ
+ひろた,けんすけ
+うえだ,としふみ
+いけだ,けんじ
+はなぶさ,せいじ
+こだま,みちひろ
+おかもと,よしゆき
+すずき,けんいち
+すずき,ただたか
+にいくら,かつのり
+にしだ,ひろかず
+おさべ,かおる
+ほそかわ,としひこ
+いまお,あつし
+ふじた,かずお
+おの,しんいち
+なかやま,おさむ
+はやし,かよこ
+すがはら,なみ
+はらだ,まさひろ
+あべ,たかし
+あべ,わたる
+あべ,ともき
+あだち,ひろし
+あいば,よりのぶ
+あかばね,ひろあき
+あんどう,なおき
+あんどう,ひろみつ
+あおき,ひさえ
+しいき,あきひろ
+あらい,ひろひさ
+あらい,じゅにち
+あらい,けんいち
+あらかわ,よひち
+あらき,よしのぶ
+あらき,よしのり
+あらき,よしお
+あらき,けいじ
+あらまき,かずのり
+あらめ,いちろう
+ありむら,しゅにち
+あさみ,けいいち
+あずま,けんいち
+ばば,ただひろ
+ばば,だいすけ
+ちば,かずお
+ちば,えいほ
+ちん,ともゆき
+だいこく,まさし
+でぐち,ひろし
+でき,しょひち
+どい,とおる
+えださわ,たけし
+えぐち,いさお
+えんど,たつや
+えんど,たかゆき
+えりかわ,きよはる
+ふじい,かずあき
+ふじもと,まきお
+ふじもと,たかね
+ふじの,たけし
+ふかはら,しゅひち
+ふかみ,ひろよし
+ふかやま,ひでかず
+ふくだ,もとこ
+ふくい,のぶあき
+ふくもと,こういち
+ふくなが,ともゆき
+ふくしま,よしのぶ
+ふくしま,ひろのり
+ふなき,よしあき
+ふなき,のぶひこ
+ふるや,ひでき
+ごはら,よしなり
+ごと,かずろ
+はが,まさお
+はぎの,ゆうこ
+いちむら,ひろし
+はま,ひでと
+はなだ,まゆみ
+いば,よしあき
+はせべ,あきら
+はせがわ,なおき
+はしもと,のぶゆき
+はし,まさゆき
+はたの,まさひこ
+はとり,ひろし
+はやし,まさひこ
+はやし,のぶお
+ひだか,かずたか
+ひがし,さかえ
+まの,やすふみ
+ひらい,いさお
+かみさき,よしひさ
+ひらの,しんいちろう
+ひろい,ただし
+ひろもり,かずろ
+ひろさわ,まこと
+ひろさわ,なおき
+ひろせ,まさよし
+ほんだ,きよさだ
+ほんま,かつへい
+ほりべ,としろ
+ほりえ,のりあき
+ほりぐち,なおあき
+まつもと,のぶひろ
+ほり,しんたろう
+ほり,あきひこ
+ほしかわ,こうじ
+ほそかわ,かずこ
+ひょど,きよたか
+いばらき,よしかず
+いちおか,よしたか
+いけだ,としひこ
+いまい,まさひこ
+いまむら,ひでお
+いまなか,よしはる
+いなだ,あつし
+いなむら,おさむ
+いのうえ,しんいち
+あらい,よ
+いのうえ,ひろやす
+いしい,しげる
+いしい,ひろし
+いしかわ,ゆひち
+いしかわ,としひで
+いしおか,はじめ
+いそだ,ひろみ
+いとう,のりゆき
+いとう,すすむ
+いとう,まさはる
+いとい,ゆひち
+いとう,あつふみ
+いわい,たかひと
+いずみや,よしたか
+かじた,たかあき
+かめい,ともや
+かない,ひろし
+かなざし,こういち
+かねこ,さとる
+かねこ,としみ
+かの,えいじ
+かりう,きよみ
+つきじ,ひろし
+かさまつ,みきお
+かたぎし,あきら
+かたやま,まこと
+かたやま,まりこ
+いそだ,まさひろ
+かたやま,ちずこ
+かとう,かずひと
+かとう,ただし
+かとう,しんじ
+かとう,あきら
+かつまた,まさのり
+かわべ,さとし
+かわべ,しんじ
+かわべ,まさひろ
+かわだ,のりこ
+かわだ,たけし
+かわもと,まこと
+かわたに,いくお
+きみずか,しげじ
+きむら,たかのり
+きむら,ひろゆき
+きのした,まさし
+きさか,あきら
+きしだ,てつめい
+きたがわ,たかお
+きたむら,こうじ
+きた,さつお
+きよの,まこと
+こばやし,やすし
+こだま,ちえ
+どひ,たくや
+こはら,ゆきのぶ
+こいで,あつし
+こいわ,むねひと
+こいずみ,けんすけ
+こまつ,あきひこ
+こめだ,あきお
+こんど,せいき
+こんど,みちろ
+こにし,かずや
+こさか,りょたろう
+こたき,やすひろ
+こたに,ひでお
+ことぶき,たかこ
+たしろ,きょひち
+くぼた,よしひろ
+くぼ,ひでと
+くどう,まさゆき
+くまがい,かつのり
+くろせ,かずなり
+くしま,ひらやす
+くしみや,まさき
+くつかけ,としや
+くわの,ひょじ
+ぇえ,はるこ
+まつなが,やすたか
+まえだ,ひろゆき
+まえはら,みき
+えのき,とおる
+まえかわ,じゅんじ
+まえき,ひろあき
+まんの,じゅん
+まの,ひでき
+まんたに,ひろし
+まるやま,かずのり
+ませ,ゆきまさ
+ますざわ,てつや
+まつだ,まさと
+まつい,やすひろ
+まつい,おさむ
+まつもと,やすこ
+まつむら,こき
+まつの,しんいち
+まつざき,しゅぞ
+みき,かずひろ
+みこだ,ひでき
+みむら,ゆうじ
+みむら,さとし
+みなみ,としや
+みなみ,こうじろ
+みなと,あやこ
+みねまつ,しんぎ
+みね,えいじ
+みしま,よひち
+みわ,やすひろ
+みやぐち,かずひこ
+みよし,まさお
+みずた,みつのり
+もものい,いつこ
+ほんだ,まさと
+もりた,やすあき
+もりた,かずあき
+もり,のりゆき
+もり,れいこ
+もり,しげる
+もり,てるゆき
+もり,かずたか
+むねむら,しげのぶ
+むらかみ,さとし
+むらおか,のぶひろ
+みょが,やすし
+ながみね,のりこ
+やまだ,まさたか
+ながお,ひろゆき
+ながた,まさひろ
+ないとう,たかひろ
+なかがわ,ゆうこ
+なかいち,じゅんこ
+ささき,けいすけ
+なかじま,たけし
+なかしま,やすし
+なかこじ,あきひこ
+なかむら,あきら
+なかむら,あつし
+なかむら,かずひろ
+なかむら,みのる
+なかむら,たかし
+なかむら,としみつ
+なかむら,よじ
+なかむら,こうじ
+なかにし,ひろき
+なかの,まさし
+なかの,しんいち
+なかしお,としかず
+なかた,けんじ
+なかやま,こういちろう
+なんけ,たろう
+ならざき,ひろのり
+なりせ,つかさ
+なるおか,ひろし
+ねもと,そうたろう
+にむら,たつや
+にむら,まさふみ
+にしむら,さとし
+にしの,とおる
+にしした,じゅん
+にしうち,だいすけ
+にしやま,ゆうこ
+やじま,よひち
+にしざわ,くみこ
+にわ,としゆき
+のぶなが,てつや
+のがみ,きんや
+のぐち,こういちろ
+のぐち,かなこ
+のま,たかし
+のま,あつし
+のむら,たいちろう
+のむら,ゆきひろ
+のむら,いさむ
+のせ,ただし
+のざわ,すすむ
+ぬきい,まさゆき
+ぬまお,つとむ
+ぬまた,かずまさ
+おちあい,てつのり
+おちあい,しゅひち
+おだはら,なおひと
+おだ,よしえ
+おがさわら,ゆたか
+おどまり,あきら
+おかど,みつし
+おまさ,まこと
+おなが,しんいち
+おの,みゆき
+おさき,とよみ
+おさわ,こういち
+おすみ,こうじ
+やました,のりお
+おた,しゅにちろ
+おた,ただあき
+おつか,よひち
+まつなが,かつみ
+おひゃま,あきら
+おかだ,かずひろ
+おかだ,たかゆき
+おかだ,よしお
+おかだ,いくお
+おのでら,みのる
+おかもと,しゅじ
+おかざき,とひちろ
+おくだ,ふみお
+おく,あきら
+おの,ひろゆき
+おの,ひでゆき
+おりて,あつし
+おさだ,ひでたか
+さいとう,かずゆき
+さいとう,まさる
+さいとう,なんてつ
+さいとう,たかし
+さいとう,たつや
+さいとう,よしあき
+さいとう,のりゆき
+さかい,りえ
+いしざき,たけし
+さかもと,ひろふみ
+さかのうえ,よしのり
+さかうえ,たかお
+さこだ,ひろゆき
+さくらい,たかあき
+さくらい,としゆき
+さぬき,のぶゆき
+ささき,さちこ
+とみた,けいいちろう
+さとう,けんいち
+さとう,むつみ
+さとう,むつお
+さとう,しんご
+さとう,しゅじ
+さとう,よいち
+さとう,ゆたか
+さわだ,かずひろ
+せお,あきひろ
+せざい,いちろう
+しばた,ゆきのり
+しばた,ひろし
+しがき,ひでお
+しみず,かずまさ
+しみず,のぶお
+しみず,しげのり
+しみず,たかし
+しみず,りゅうたろう
+しもむら,あきと
+しのはら,ともなり
+しらつ,てつお
+しろした,なおき
+しょじ,よしのり
+しょみつ,まさゆき
+そだ,としや
+そもり,かきょ
+そ,あつこ
+なか,まさと
+すぎむら,けんさく
+すぎの,かずやす
+すぎさわ,たけひこ
+すぎた,よ
+すぎうち,あきひこ
+すぎやま,ひろむ
+すぎやま,よしみ
+すぎやま,あきら
+すずき,あきとし
+すずき,ひでお
+すずき,ひろあき
+すずき,かずひろ
+すずき,まこと
+すずき,さとし
+すずき,ゆうこ
+すずき,よしひろ
+たちばな,かつすけ
+たいら,たつお
+たいら,かずひこ
+たかだ,ゆうじ
+たかぎ,けいし
+たかはし,まさひろ
+たかはし,のぶゆき
+たかはし,さゆり
+ますざわ,しんすけ
+たかはし,あきのり
+たかま,まさのり
+たかの,かずみ
+たかの,しんや
+たかさか,ゆうじ
+たかせ,しん
+たかた,ひろあき
+たかやま,としあき
+たかやなぎ,ひでと
+たけだ,こういち
+たけだ,ゆうこ
+ふじい,たかし
+たけのり,あきら
+たけした,ひであき
+たけうち,ひろゆき
+たけうち,まさかず
+たきざわ,のりいつ
+たきざわ,たかゆき
+たまき,はじめ
+たむら,ひとし
+たむら,まさあき
+たむら,ひさと
+たなか,みえこ
+わたなべ,かずよし
+たにやま,はじめ
+たに,かつじ
+てらきた,くみこ
+てずか,あつし
+とばり,ありひろ
+とがし,えり
+やまだ,あきら
+ときぞの,あつこ
+とみなが,いくし
+とみなが,ひろかず
+とみた,ゆうじ
+とみた,たかとし
+ともおか,まさあき
+とのさき,つよし
+とりざわ,さとこ
+こいけ,あきひろ
+とよかわ,てつね
+とよかわ,のぶお
+つぼい,しょご
+つかだ,あきひろ
+つくい,のぼる
+つるかわ,かずひこ
+つつい,ながのり
+つつい,しんいち
+うちだ,すすむ
+うちだ,じゅにち
+うちま,けんいち
+うちやま,しげお
+うだ,もとひさ
+うえだ,しんじ
+うえの,しんじ
+うえの,てつお
+うえの,ひとし
+うけがわ,よしのり
+うまずめ,えみ
+うめむら,ひろこ
+わだ,まさよし
+わだ,ひさよし
+わたなべ,ただし
+いいだ,とおる
+わたなべ,ひさし
+わたり,えいじ
+やぎ,としかず
+やまだ,ゆうじ
+やまが,ひろき
+やまぐち,じゅにち
+やまぐち,しゅにち
+やまぐち,あきひろ
+やまもと,ひさよし
+やまもと,かずのり
+やまもと,きよし
+やまもと,のりお
+やまもと,たかし
+やまもと,たかゆき
+やまもと,よしひろ
+やまもと,きみひろ
+やまなか,ひろし
+やました,やすひこ
+やまうち,りょ
+やまざき,さとし
+やまざき,たかし
+やまざき,やすよし
+やの,よしゆき
+やの,ひろゆき
+やすだ,ひでお
+やすまつ,まさのり
+やすもと,ひでお
+やすにわ,まさし
+よだ,てつや
+よだ,まさゆき
+よしだ,かずゆき
+よしい,ひでし
+よしなが,まさのり
+よしの,かずと
+よしたけ,かおる
+たきざわ,まさよし
+やまぐち,えいじ
+かばしま,さとる
+さくら,かずあき
+むらやま,はるひこ
+ひきだ,まさとし
+むらい,けんじ
+じょほ,ゆきお
+えんど,こういち
+てらむら,たけし
+わたなべ,かつなり
+いまい,こうじ
+もりもと,たかゆき
+こやり,おさむ
+まつみや,いさお
+しばた,よしひろ
+ちしろ,たつや
+いたみ,ゆみこ
+おざき,たつみ
+ふくもと,あきひろ
+おかだ,たかし
+さわだ,かずよし
+さくらい,かずひさ
+はやし,ゆすけ
+まつおか,ひろゆき
+みよし,かずみ
+やまなか,くにひろ
+しみず,あきら
+こはら,せいじ
+にしかわ,たつお
+いまい,たかひこ
+ふじむら,しげや
+こじま,としかず
+こばやし,せいじ
+きくち,ゆひち
+さいとう,かずお
+やました,よしひろ
+あべ,ひでお
+てずか,ひとし
+たなか,まさつぐ
+にわ,ひろし
+かめい,ひろし
+やの,たかし
+なかまる,よしのり
+おはた,やすのり
+やすやま,のりよし
+かすが,こうじろ
+いしい,ひとし
+ふじもり,まさのり
+いわもと,ひろし
+やました,やすお
+きた,ひろゆき
+むらおか,やすゆき
+いぐさ,ひろし
+ながさわ,かつひこ
+やまぐち,みつる
+おだじま,ひであき
+おた,しんじ
+はぎの,たかし
+やぶき,わたる
+いき,みのる
+さいとう,みずほ
+やまだ,みつお
+なかやま,やすし
+むらまつ,まさのり
+たしろ,まさひろ
+いしはら,みつお
+しばおか,あきひこ
+なかお,のりこ
+ふじた,ひろし
+さくた,るみこ
+はた,ともみ
+おひゃま,ゆうこ
+たご,よしずみ
+まつむら,ひろじ
+いとう,やすひろ
+きむら,ゆたか
+あおき,まみ
+こまがた,なおいちろう
+ならむら,としあき
+ふじもと,よしとし
+みやさか,まさと
+はやし,たかし
+さいとう,まりこ
+おがさわら,かおる
+おつか,しょひち
+かわい,まさゆき
+しまず,たつお
+たかはし,やすのり
+まえざわ,としき
+はだ,まさゆき
+まつひら,すすむ
+すぎはら,ただし
+なかじま,きょこ
+はたけやま,かずお
+あおき,まさゆき
+しぶかわ,たけお
+いしだ,みつたか
+おかだ,ひでとし
+いとう,かずこ
+かとう,まさき
+こばやし,としひこ
+むらさわ,まさひろ
+みほ,かずひこ
+すがね,しょじ
+いしかわ,としゆき
+おか,ともゆき
+いわみ,よひち
+なかやま,きしこ
+いとう,いずみ
+すぎやま,かおる
+かしもと,えり
+なかむら,のぼる
+あおやま,よしのぶ
+しばた,てつや
+まつお,まさひこ
+しのむら,きよひさ
+ふるかわ,しげる
+もとき,たかし
+わたなべ,あきら
+あんどう,まさひろ
+たけひ,なおみつ
+いしい,みのる
+のちせ,まさのり
+みやなが,よしのぶ
+しんど,よしひこ
+おた,やすひろ
+たに,ゆみこ
+こむろ,ひろし
+いわさ,かずき
+まつもと,しんいち
+きむら,よしこ
+あおき,まさゆき
+まつばやし,ひでのり
+ごと,けんいち
+おがわ,よしのり
+すぎたに,あおい
+おくの,よしふみ
+さくらだ,しゅひち
+むこひゃま,ちお
+いとう,まさひろ
+やまもと,さちこ
+やまもと,あきふみ
+かねこ,かずひこ
+やまざき,としこ
+なかむら,ひろみ
+みわ,みよこ
+さむかわ,よしあき
+なかだ,ふみのり
+よしとみ,ひろみち
+たかしま,ひであき
+いしげ,ひさと
+すえはら,あきひこ
+いのうえ,ひろし
+のじま,ふみゆき
+さくま,あきら
+さの,はるお
+むらおか,ゆきお
+みうら,しんぺい
+さかもと,のりこ
+なるお,さとし
+はせがわ,ただし
+おかだ,まさとし
+やひろ,しゅへい
+ばば,やすひろ
+あた,とも
+ながせ,おさむ
+かわえ,しろ
+みうら,としゆき
+ふじた,けんいち
+つるみ,つねじ
+もちずき,あきこ
+よしだ,ひろゆき
+おかもと,ひでみ
+やすもと,まりこ
+ねもと,さちえ
+ひだか,よしみち
+ますだ,かつじ
+とくなが,りゅぞ
+なかざわ,じゅん
+ふじなわ,せいこ
+よびかわ,みつひろ
+きただ,てつお
+よしの,のぶゆき
+ばば,たくや
+くろかわ,あやの
+かとう,きよし
+わたなべ,いずみ
+つちだ,まきよ
+すずき,さとこ
+みずの,よしお
+たにもと,えみこ
+いけの,かずあき
+いとう,まさふみ
+たけだ,みつはる
+まえだ,たくじ
+くどう,うえみつ
+かげやま,くみこ
+やまかげ,ふみひと
+さえぐさ,すすむ
+みずたに,よしはる
+くどう,かずひろ
+こおりやま,たけし
+かたよせ,やすひろ
+おさだ,よしと
+やぎはし,ひろし
+すみ,たかし
+たなか,としお
+くどう,あつこ
+たけひ,みゆき
+あめみや,あきら
+なかむら,たくみ
+きよみつ,めぐみ
+いずみだ,しょこ
+ふなき,とおる
+たけした,こへい
+みうら,かつみ
+いしばし,みねお
+もりあい,よじ
+むらやま,れいこ
+おさわ,なおこ
+ふかだ,としひこ
+やまだ,みずほ
+いとう,よしえ
+おのでら,けいこ
+はやさか,しゅひち
+おつか,たつお
+とひゃま,あつし
+かわはら,ゆきお
+えびさわ,あきら
+やまかわ,みちひろ
+やまもと,たかし
+すずき,けんじ
+おやまだ,よしか
+まつやま,ひろあき
+あべ,かずひこ
+あべ,きくお
+あべ,のぶこ
+あべ,けいじ
+あげた,えいじゅ
+あかはね,やすのり
+あけなが,よしかず
+あきやま,ひでひこ
+あきざわ,あきら
+あまだ,とみお
+あまの,まさみち
+あも,ひでひこ
+あんどう,ひろたか
+あんどう,みつる
+あんどう,まさき
+あおの,てつや
+あおやま,やすとも
+あらい,とおる
+あらかわ,たかし
+ありもと,りゅひち
+ありお,のぶひろ
+あさい,やすお
+あさかわ,かずまさ
+くろき,ゆきお
+あずま,じゅにち
+ばんの,ひでひろ
+べつやく,じゅん
+びと,しげお
+ちば,ひでかず
+ちゅじょ,みきお
+えだ,まさし
+えんど,あきお
+えさき,ひであき
+ふじい,なおき
+ふじい,としふみ
+ふじもと,ひろき
+ふじた,いわお
+ふじた,かずひろ
+ふじわら,ひでし
+ふかざわ,ひでき
+ふくだ,まこと
+ふくはら,あきら
+ふくしま,よしひと
+ふくどめ,ゆきのり
+ふくやま,しんじ
+ふなばし,まさきよ
+ふるだて,けんご
+ふるさわ,じん
+ふるた,ひろし
+ふるや,かつき
+ふしき,けんいちろ
+はまだ,なおみ
+はなだ,しんいち
+はなみ,ひろし
+はらだ,ふみお
+はるかわ,あきら
+はせがわ,きよなお
+おつ,あきひろ
+はしもと,さとし
+はしもと,ともひと
+はすもと,すすむ
+はっとり,やすひこ
+はやさか,かずよし
+ひだか,かずひさ
+ひぐち,さとし
+ひぐち,まさゆき
+ひじくろ,あきひこ
+ひらかわ,しんじ
+ひらの,りきや
+ひらた,しんいち
+ひろせ,ゆひち
+ひさだ,こういちろ
+ほり,かつのり
+ほひゃ,ひでお
+ほんだ,あきら
+ほんま,いずみ
+たなか,よひち
+ほしじま,むねひろ
+ほしか,あつし
+ほそだ,えみこ
+いちかわ,あつし
+いちむら,つよし
+いがの,たかお
+いいだ,けさお
+いいおか,けいこ
+ながの,ふさゆき
+いけざわ,なおゆき
+いもと,じゅにち
+いなずみ,ひろよ
+くしみや,まさひろ
+いのうえ,さちこ
+いのうえ,たかし
+いのうえ,のりやす
+いぬつか,かずひこ
+いさじ,しげゆき
+いしだ,たつや
+いしだ,つよし
+いしだ,たつお
+いしがき,たけし
+いしがみ,ちえみ
+かじたに,やすひろ
+いしはら,けいご
+いしむら,みどり
+いしやま,まさゆき
+いしざき,ひろし
+いそべ,さとる
+いそざき,のぶやす
+いとう,すみれ
+いとう,やすはる
+いわあさ,しんいち
+いわい,しんや
+いわま,あきら
+いわもと,ともゆき
+いわなが,なおき
+いわした,ひでと
+いわた,しゅひち
+いわた,いさお
+かどわき,くにあき
+かげやま,えりこ
+わたなべ,じゅにち
+かみや,おさむ
+かみや,ひろゆき
+かんばやし,まさひこ
+かの,しゅひち
+かりや,のぶお
+かさき,よしひこ
+かしま,まさあき
+かすや,ちくさ
+かとう,ひさと
+かとう,けんたろう
+かとう,なおたか
+かとう,さとし
+かとう,よひち
+かとう,ひろのり
+かわばた,しこ
+かわばた,かずまさ
+かわぐち,えいじ
+かわはら,さとし
+かわはら,けんいち
+かわじり,いずみ
+かわかみ,くにあき
+かわくぼ,けんいち
+かわまた,きんじ
+かわむら,ひろし
+かわの,なりやす
+かわさき,じゅん
+かわしま,まさお
+かわず,あきら
+きばし,たかき
+きまち,かずひろ
+きもと,けんじ
+きむら,みつぐ
+きんばら,ひでのり
+きのした,ひろゆき
+きのした,だい
+きりさわ,あつし
+こばやし,ひでみち
+こばやし,ひろみ
+こばやし,かずふみ
+こばやし,みちお
+こだま,てつお
+こだま,かずとし
+たかむら,たかのぶ
+こひなた,ひとし
+この,のりあき
+この,まさひと
+こひゃま,としひさ
+こずき,まさのり
+とど,ひでひこ
+こじま,まさき
+こんど,たけし
+こんど,たくや
+こんど,よしみち
+こんの,やすし
+こたき,ひろき
+こやいし,いちろう
+こやなぎ,じゅにち
+くぼ,ひろあき
+くどう,まさお
+くまがい,ふじひこ
+くまき,こうじ
+くらち,おさむ
+くらた,もとひこ
+くりた,ゆすけ
+くりやま,ひろし
+くろだ,たかひろ
+くろかぎ,こうじ
+くろさわ,としお
+くろさわ,こうじ
+くわの,しんじ
+まえばし,あきら
+まえざわ,たかし
+まの,まさとし
+まるわか,かおる
+うちやま,ひとし
+ますだ,みか
+まつい,のぼる
+まつい,けんたろう
+まつもと,きみひと
+まつもと,なおゆき
+まつなが,しんじ
+まつしま,たかゆき
+まつした,こすけ
+まつざき,みき
+いないし,しゅんじ
+みかみ,こすけ
+みなぎ,まさのぶ
+みつやま,しんじ
+みうら,せいき
+みやけ,ひろたか
+みやもと,としあき
+みやた,のぶゆき
+みやうち,よしお
+みやうち,ひでなお
+みやざわ,たつお
+みやざわ,じゅん
+みよだ,しげき
+みぞぶち,さとし
+みぞた,しんいち
+ちば,ひさと
+みずはし,まさとし
+みずまち,もりひろ
+みずたに,ただし
+みずたに,たけし
+みずたに,よしお
+もちずき,けいいち
+もりもと,あきみつ
+もりたに,こういちろ
+もりた,しげき
+もりた,あつし
+もりわき,あつこ
+おくい,こうじ
+もり,まさき
+もり,いちろう
+むこひゃま,あきら
+むらて,たかし
+むと,たかひさ
+ながい,けんじ
+ながの,たけお
+ながおか,ひろひさ
+ながせ,まこと
+ながた,せいじ
+ながた,さとし
+ながわ,つよし
+なかまる,ひろゆき
+なかむら,みのる
+なかむら,ななこ
+あべ,たかし
+なかむら,とよひこ
+なかむら,たかし
+なかしま,しんいちろう
+なかしお,たけひこ
+なか,たけみ
+なみき,たかゆき
+なんぶ,ひろゆき
+やまぐち,しんいち
+にいみ,かつき
+にしだ,みつひろ
+にしだ,みつとし
+にしだ,たかひろ
+にしだ,かつみ
+にしくぼ,ひろゆき
+にしむら,もとき
+にしむら,しんいち
+にしお,よしき
+にしお,あきら
+にしやま,ともこ
+やがわ,よひちろ
+にった,としや
+のべおか,あきら
+のじり,ひさよし
+のむら,ひろゆき
+のなか,のりこ
+おばな,のりかず
+おちあい,ひろしげ
+おちみず,しんじ
+おち,しげふみ
+おだおはら,ひろよし
+おだ,えいじ
+おがた,まさあき
+おがわ,すすむ
+おがわ,あきひろ
+おぐら,たかあき
+おひら,つよし
+おひら,まさと
+おひし,しんじ
+おひし,たかし
+おき,けいじ
+おくぼ,ひろみ
+おの,あきほ
+おぬま,よしのぶ
+おぬま,てつや
+おたき,かつし
+おた,みのる
+おた,としゆき
+おた,たかし
+おと,みつのり
+おつぼ,しんご
+おひゃぎ,ひろかず
+おひゃま,まさき
+おいえ,まさとし
+おじま,えつこ
+おかべ,なおゆき
+おかだ,のぶゆき
+おかもと,いちろう
+おかね,あきら
+おかの,まこと
+おかの,かゆ
+おかざき,かずこ
+わたなべ,けいこ
+おくだ,しげのぶ
+おくの,なるし
+おなや,まさひで
+おの,とおる
+おの,よしなが
+おの,こういち
+おさない,まさずみ
+おざき,ひろふみ
+さいとう,まさひろ
+さいとう,あつし
+さじ,かずや
+さじ,あきら
+さかい,いちろう
+さかい,とおる
+さかくら,まさき
+さかうえ,たかし
+ささべ,ひでお
+ささき,まさこ
+なみき,はるひこ
+さたけ,まさとし
+さたけ,あつひろ
+さとう,かつし
+さとう,かずこ
+さとう,きよし
+さとう,しんや
+さとう,ゆたか
+さとう,きよあき
+さわだ,ひでお
+せきぐち,よしみ
+せきもと,じゅん
+せきね,やすひで
+せきおか,かずお
+せきや,かずひこ
+せき,ともすけ
+せんた,たかひろ
+しばた,やすゆき
+しいな,まこと
+しいや,ひでかず
+しまばやし,ひろし
+しまだ,かつひろ
+しまだ,わき
+しまむら,しゅひち
+しみず,たけし
+しみず,なおき
+しもむら,ゆぞ
+しのだ,しげき
+しのはら,ひろし
+しおざわ,はじめ
+しらいし,ひろあき
+しらさき,としゆき
+しらとり,きいち
+しさい,まもる
+しょだ,ひろあき
+そう,じゅにちろ
+そのべ,のりあき
+すどう,さとし
+すどう,ふみはる
+すぎうら,ひでき
+すぎやま,まもる
+すぎやま,しんいちろう
+すみだ,みちとし
+すみかわ,あきひと
+すずき,ひでとし
+すずき,いたる
+すずき,かつあき
+すずき,こうじ
+すずき,もとゆき
+すずき,のぶゆき
+すずき,ゆうじ
+すずき,ようこ
+ほそかわ,ひでじ
+たぶし,まさひろ
+たちざわ,けいすけ
+ただ,なおき
+ただ,とおる
+たかた,しゅにち
+たかがき,さとこ
+やまざき,なおき
+たかはし,りょひち
+たかはし,ともじ
+たかはし,ひろき
+たかの,ひとし
+たかさき,みねかず
+たかす,ひろし
+たかとり,あつし
+たかやま,としなり
+たかやま,よしゆき
+たかやま,やすぞ
+たかや,はじめ
+たけだ,かずあき
+たけだ,ゆり
+まつおか,いくた
+たけい,のりふみ
+たけうち,たかあき
+たけうち,ひろとし
+たけ,ゆすけ
+たきみや,ひでかず
+たまたに,なおき
+たむら,よしつぐ
+たむら,ひろき
+たなか,まさやす
+たなか,たかひろ
+たなか,たかし
+たなか,かずよ
+たにもと,こうじ
+たにやま,まさみ
+たんの,しげる
+たの,ゆうじ
+てらざわ,よしかず
+とくしげ,たえこ
+ごと,ひろゆき
+とみなが,よしひろ
+とんしょ,のぶひこ
+つぼい,ともおき
+つぼた,のりとし
+つじむら,けいこ
+まつむら,ともひろ
+つかだ,かずあき
+つねよし,よしひろ
+つるおか,けんじ
+つる,かずひさ
+うちだ,ともやす
+うえだ,あやこ
+うめさき,のりひろ
+うらかわ,しんいち
+うらかわ,あきひこ
+わだ,おさむ
+わかばやし,ひさお
+わかまつ,あきら
+わたなべ,さとる
+わたなべ,なおき
+わたり,ひろひさ
+やべ,ひでゆき
+やはぎ,しょひち
+やまだ,しょじ
+やまだ,なおき
+やまこし,あきら
+やまもと,ひでき
+やまもと,さとみ
+やまもと,まさや
+やまもと,よしお
+やまもと,ひでゆき
+やまうち,たもつ
+やまの,きよし
+やまおか,ゆうじ
+やました,かずし
+やまうち,じゅん
+やまざき,けんじ
+やまざき,よしかず
+やなぎしま,あつこ
+やまもと,たかし
+やの,こうじ
+やざき,こういち
+よご,しんじ
+よこい,かずひろ
+よこみぞ,かずひろ
+よこた,まさゆき
+よこた,そひち
+よこた,あつし
+よしだ,よいち
+よしだ,さち
+よしふさ,まさみ
+よしはら,とおる
+よしいえ,ひろふみ
+よしかわ,ともたか
+よしかわ,としひで
+よしお,たけし
+ゆあさ,ひろまさ
+ゆき,ゆかり
+あだち,ますみ
+おにし,みかこ
+おた,たかひこ
+あさの,たけし
+にしむら,やすはる
+やまだ,かつまさ
+さい,としき
+みやもと,ゆうじ
+すずき,ひさお
+ふくい,ゆうこ
+おくだ,しんいちろう
+さいとう,まちこ
+ふるや,いくふみ
+もとやま,ともまさ
+よしざき,はじめ
+なかむら,ちえ
+ときわ,みつひろ
+いなだ,ゆうじ
+ときわ,まさよし
+よしだ,あきら
+たかの,としゆき
+うえだ,かずお
+つちや,みわこ
+しもかわ,みちこ
+まつい,みつよし
+すがや,ひろのり
+みのぐち,くにお
+うえだ,かずお
+いの,かずひこ
+まえだ,くにや
+つぼた,ひさこ
+よしみ,たかお
+いちかわ,かつみ
+ほり,なおひろ
+はやし,ゆひち
+しばた,あつろ
+こばやし,しゅひち
+おくぼ,まさつな
+いわた,のりゆき
+ふじた,たかゆき
+きたむら,けいこ
+くろき,ともこ
+やまもと,ゆうこ
+やまばた,ふみひこ
+さいとう,かつみ
+ふじわら,よしお
+いとう,やすこ
+いいけ,ひかる
+さむかわ,ともじ
+あずま,まこと
+あおき,のりお
+ふじた,いくお
+みよし,しげひろ
+せきやま,ひでや
+てらだ,ゆたか
+えんど,いくこ
+かきもと,ますひこ
+ふるや,たけし
+まきむら,のぶゆき
+こんの,まさひろ
+すぎさき,かずお
+よしだ,けいこ
+はぎわら,たかし
+やざき,ゆきこ
+にのみや,しゅひち
+こさか,ただし
+さの,かずと
+さいとう,とおる
+しもせ,あきのり
+たかはし,まさき
+たつおか,あつし
+たばた,つねお
+なおい,としかず
+ながた,よしお
+にしおか,てるひさ
+まつかわ,たけし
+みずの,けんじろう
+とくなが,いわお
+むらかみ,たけお
+やすかわ,ひろし
+やまぐち,としゆき
+よこうえ,しげお
+あずま,ひろし
+いなだ,ゆうじ
+いしい,かずお
+いまにし,ひろやす
+おかの,しんご
+きし,だいすけ
+くぼた,たかよし
+こみなみ,かずひと
+あいやま,まさき
+さの,よしたか
+たきがわ,まさこ
+こんの,まさお
+せんだい,しげる
+にわの,あつし
+しじょ,ゆうこ
+かとう,けいこ
+あかさか,ひろき
+おんずか,としのり
+こが,ゆきお
+はやかわ,ただし
+はせがわ,のぼる
+ふるかわ,みつゆき
+ふじかど,のぼる
+とのかわ,たけお
+まつお,かねみつ
+きみずか,としこ
+おち,まさのり
+いちこはら,まゆみ
+いけだ,しょじろ
+あらたけ,ちから
+いけだ,しげよし
+いとう,ひろやす
+いけだ,たかし
+いいだ,ひですけ
+おくま,なおよし
+くさば,かずなり
+こばやし,くにお
+ごと,ひろし
+すずき,こういち
+せきね,ともみ
+たかだ,まさよし
+こんど,たけし
+たけやま,ゆうじ
+たかいち,たけし
+そだ,よしお
+たの,まさのり
+しのざき,まこと
+はらだ,まさやす
+くどう,あきこ
+つのだ,いくお
+ふるかわ,ときお
+もりた,よひち
+やまもと,えつ
+やました,まさと
+ゆかわ,かずえ
+よしだ,まさき
+はやし,さよこ
+たんの,かずや
+たかはし,もとのり
+なりあい,ひろし
+たかむら,としゆき
+たんの,よすけ
+こばやし,けいしろ
+ごと,おさむ
+ごだ,けんじ
+なかしま,まこと
+ほしの,さとし
+わこ,あや
+すずき,かつこ
+よしまつ,じゅね なおこ
+なみおか,としあき
+やまぐち,まさゆき
+いしばし,とおる
+いしだ,よしはる
+うちやま,よしお
+えんど,えいこ
+なかの,としたか
+いまい,えいいち
+おさない,まこと
+さかもと,よしのり
+しおみ,あきお
+しまざき,てつお
+てるや,こういち
+なかたに,とおる
+はぎわら,きょこ
+ひがし,みつお
+ほりうち,ふみただ
+みぞろぎ,なおき
+もり,しげお
+いのうえ,まさくに
+しだ,しんじ
+やまもと,ひろかず
+やまもと,まこと
+おたき,せんや
+ふじ,せいじ
+あきもと,しげる
+いいじま,まさふみ
+おぐま,かずお
+さとう,あつし
+つちや,きよし
+さいとう,ちかし
+はら,なおき
+ふじまき,としや
+むろた,なおき
+もり,きよかず
+みぞぐち,しょこ
+いけはた,よしお
+おがわ,なおき
+うえの,たもつ
+たなか,たけひこ
+こばやし,みちよ
+くろす,みちこ
+きたがわ,ひであき
+しのみ,かずや
+はせ,さなえ
+てるぬま,まもる
+きくち,あきこ
+はしもと,ゆみこ
+おかわ,たかお
+おにし,よしひろ
+あべ,かずよし
+あだち,せいいちろう
+あだち,しんや
+あだち,みつまさ
+あご,とおる
+あいはら,としゆき
+あいはら,ひろゆき
+あいざわ,ひろたか
+あかまつ,まさとし
+あかま,かずひろ
+あかせ,まさかず
+あかやま,やすじ
+ふくしま,ひろし
+あきば,まさゆき
+あきの,ゆぞ
+あきしか,ようこ
+なめき,さとし
+あきずき,のりゆき
+あまだ,しんと
+あまの,そひち
+あみの,まさひと
+あんべ,ひでき
+あんどう,まさと
+あんざい,としゆき
+あんざい,かおり
+あおき,あきひこ
+あおやぎ,ひでお
+あおやぎ,じゅにち
+あおやぎ,たつお
+あらかわ,ともみ
+あらかわ,まさゆき
+あらき,しんげん
+あらやす,ともの
+あら,つとむ
+ありた,はるき
+あさだ,ゆうじ
+あさだ,なおみ
+あさかわ,しんいち
+あさくら,ゆきお
+なかさと,とおる
+あさの,のぶはる
+あさり,やすし
+あつみ,ひろとし
+あわか,たかよし
+ばば,ひろし
+ばん,さとし
+ばん,たかお
+ばん,ひろゆき
+ちょさ,ひさし
+だいど,たいすけ
+だいもん,まさゆき
+でむら,としゆき
+どい,ひとし
+えびぬま,あきお
+えぐち,きょこ
+えはら,くにお
+えなみ,ひろあき
+えと,のりえ
+いわさき,ともゆき
+えざき,あきら
+ふじえだ,よしひろ
+ふじえ,かずき
+ふじがき,あきよし
+ふじい,かつみ
+ふじい,かずひろ
+ふじい,けんぞ
+ふじい,わたる
+ふじい,こうたろう
+ふじかわ,まさし
+ふじもり,けいしん
+ふじもと,なおひこ
+ふじもと,よしと
+ふじの,たかし
+ふじおか,あけみ
+おぐら,じゅん
+ふじた,かずお
+ふじた,なつこ
+ふじた,よしなる
+ふじた,かずお
+ふじわら,ゆうじ
+ふかだ,じゅん
+ふかお,こういち
+ふかお,よしちか
+ふかせ,としゆき
+ふくち,あきら
+ふくだ,じゅにち
+ふくだ,みゆき
+まつかわ,しげのり
+ふくだ,しんいち
+ふくだ,ともの
+ふくだ,しょご
+ふくはら,しの
+ふくい,たかし
+ふくい,やすし
+ふくおか,あやこ
+しが,まさと
+ふくしま,さとる
+ふくしま,ゆきお
+ふくしま,しょじ
+おの,ひろし
+ふなつ,あつし
+ごだ,みつひろ
+ごだ,みさき
+ご,まりこ
+こぐれ,よしひろ
+ごと,ゆうこ
+ごと,ふみひこ
+はが,ひでお
+はぎわら,みか
+はまだ,ゆきこ
+まえだ,けんじ
+はまはた,ゆきお
+はまの,ひろし
+はなぶさ,じゅにち
+はなた,しんご
+はなみつ,なおと
+はんだ,あつし
+はらだ,ちかこ
+はらだ,なおき
+はらだ,なおき
+はらだ,としゆき
+はら,よりこ
+はら,ひであき
+はせがわ,かいろ
+はしぐち,きんや
+はしもと,たかし
+はしもと,ゆきよ
+はたけやま,りょいち
+はたなか,きくお
+はつしま,あきお
+はっとり,けんいち
+はっとり,のぼる
+はっとり,のぶひろ
+はっとり,りゅひちろ
+はっとり,よしじ
+はっとり,よしたか
+はやかわ,すみと
+はやしだ,あやこ
+かんだ,ふみお
+はやし,じゅにち
+はやし,まさのり
+はやし,まさゆき
+はやし,みゆき
+とびかわ,まこと
+ひげた,いさお
+ひぐち,まさとし
+ひぐち,のりき
+ひじかわ,さとし
+ひかい,きよし
+ひなた,けん
+ひの,よしひさ
+ひの,つねひさ
+ひらぎ,まさこ
+よもだ,ふみお
+ひらの,ゆきひこ
+ひらの,よしのり
+ひらさわ,あきら
+ひらた,まさや
+あさの,けんじ
+ひらた,こうじ
+ひらつか,つよし
+ひろかわ,ひろし
+ひろなか,かつみ
+ひろせ,みゆき
+たしろ,よひち
+ひろせ,みつひろ
+ひしぬま,ゆうこ
+いわもと,よしのり
+ひうら,まどか
+すぎもと,じゅん
+ほんま,しょひち
+ほんま,たかゆき
+ほんま,やすし
+ほんま,かずと
+ほりかわ,まさのぶ
+ほりお,ひろゆき
+ほり,かずひろ
+ほり,まさひろ
+ほり,ひろし
+ほしの,ひさお
+ほしの,たけし
+ほしの,ふみあき
+ほし,かずひさ
+ほそ,ひさゆき
+ほたて,きみこ
+いちかわ,まこと
+いちかわ,ひろのぶ
+いちき,じゅん
+いちのせ,ひとし
+いだ,せいいち
+いでい,やすゆき
+いがらし,つよし
+いぐち,たいら
+いいだ,たつろ
+いいだ,じゅにち
+いいじま,かつよし
+いいじま,かずお
+いいむら,あつし
+いいの,こういち
+いいずか,しんじ
+いいずか,あきこ
+はるた,ふとし
+いけだ,ひろこ
+すずき,かずみ
+いけだ,ゆか
+いそべ,ゆみこ
+いけやま,さとし
+いくた,たけし
+いまいずみ,あり
+もりした,なおき
+いまい,まさかず
+いまむら,ゆうじ
+いまむら,ご
+いなみ,えいざぶろ
+いのうえ,ふじお
+いのうえ,ひろゆき
+いのうえ,かずのり
+いのうえ,よしのぶ
+いのうえ,ひでき
+いぬい,ひろし
+いしだ,かつひこ
+いしだ,としこ
+いしだ,なおひろ
+いしぐろ,とおる
+いしぐろ,くにひろ
+いしはら,こうじ
+いしい,すぎお
+いしい,としあき
+いしい,ちずこ
+ゆきまさ,しげき
+いしかわ,ただし
+いしかわ,まなぶ
+いしくら,のりゆき
+いしもり,けんや
+いしもと,やすひで
+いしもと,ひろし
+いしおか,ひろし
+いしおか,ひろたか
+いしわた,みつこ
+かん,ゆきとし
+いしざか,まなぶ
+いそがい,としひろ
+いたばし,ゆたか
+いたばし,まり
+さぎや,ひろし
+いとう,じゅにち
+いとう,かおる
+いとう,けいいち
+いとう,こうじ
+いとう,まさとし
+いとう,たかし
+いとう,ようこ
+さかい,ゆたか
+いとう,ひろあき
+いわい,りえ
+しまむら,さちこ
+いわい,ゆか
+かわなか,のぶお
+いわくぼ,なおひさ
+いわもと,よひちろ
+いわもと,かよこ
+たけだ,たかひろ
+いわむら,しんいち
+いわなが,しげき
+いわお,ひであき
+いわさき,てつや
+いわさき,あけみ
+せがわ,のぞむ
+いわしろ,なおよし
+いずみ,かずしげ
+かえりやま,なおゆき
+かがみ,たかし
+かがみ,こういち
+かじたに,かずゆき
+やまもと,かおる
+かきぬま,ふさちか
+かく,きょこ
+かまだ,かずみ
+いながき,たかゆき
+かまもと,さやか
+かまたに,ひであき
+かまた,さちこ
+やまだ,ひろゆき
+かめだ,ひでお
+かめや,こういち
+かみじょ,たつひこ
+かみお,とらひこ
+かみや,まさたか
+かもと,よしひさ
+かなだ,まこと
+かない,なおき
+かない,いくお
+かなざわ,しげよし
+かんだ,かずひこ
+かねいち,えいいち
+かねこ,ひろあき
+かねこ,ひろゆき
+かねこ,まこと
+かねこ,まさえ
+かねこ,たえこ
+かねこ,なおふみ
+かねまる,ともこ
+かりや,えいじ
+かるべ,あきこ
+かしま,ひでき
+かしわぎ,まこと
+かしわぎ,まなみ
+かすや,まさのり
+かすや,よりこ
+かすや,まさたか
+かたの,きょこ
+しらき,りえこ
+かたおか,さだいち
+かたおか,たかひろ
+かたやま,あきお
+かとう,ひろぶみ
+かとう,ますお
+かとう,しゅじ
+かとう,たけひこ
+かとう,やえ
+ごと,ひさし
+かつや,あつし
+かわだ,よしのぶ
+かわだ,きょじ
+かわぐち,ひろゆき
+かわはら,よしゆき
+かわはら,ひろし
+かわはた,けいご
+かわい,しょこ
+かわい,たかし
+かわい,けんいち
+かわかみ,かつお
+かわきた,よひちろ
+かわきた,あつし
+かわむら,まりこ
+かわむら,たてお
+かわむら,ひろし
+かわぞえ,ひろこ
+ふたくち,ひろや
+きだ,たけし
+きだ,ひろかず
+きど,ひろし
+きはら,みちお
+きくち,さちこ
+きくち,さとし
+きくた,せいいちろう
+きもと,ひろあき
+きむら,ひろゆき
+きむら,じゅにち
+きむら,かよこ
+きむら,みほ
+まつもと,たけし
+きむら,ともあき
+きむら,やすこ
+おかざき,ゆきまさ
+きむら,ゆき
+きむら,まさゆき
+きのした,みな
+きし,ただし
+きす,やすひろ
+きたかぜ,よしふみ
+きたむら,あきお
+きうち,かつとし
+きうち,こうじ
+きよた,あいこ
+こばやし,いさお
+こばやし,かずまさ
+こばやし,みのる
+こばやし,なほみ
+こばやし,しゅにち
+こばやし,すみひろ
+こばやし,たくろ
+こばやし,としお
+こばやし,じゅんこ
+ひろせ,たけお
+こでら,ゆか
+こがい,あつし
+こぐれ,けいこ
+もりた,きみひこ
+こもと,じゅんこ
+この,のぶき
+こさか,あきお
+こいけ,なおと
+こいけ,たかぞ
+こいし,だいすけ
+こじま,まさはる
+こじま,けんじ
+こくほ,みよこ
+こくまい,よしゆき
+こまがた,たかし
+こまき,ひであき
+こまつ,ゆひち
+こまつ,よしお
+こみね,ひろひで
+こみやま,はるお
+こもおか,あきひろ
+こもり,ひさたか
+こんど,かずお
+こんど,みちひこ
+こんど,よすけ
+こんど,あきひろ
+こんどう,よしゆき
+こんの,きよし
+こすぎ,よひち
+こだ,あきお
+こやなぎ,かずたか
+くぼた,てつ
+くぼた,かつや
+くぼ,みえこ
+くどう,まこと
+くが,かずゆき
+くじま,よひち
+くまだ,あつし
+くまき,かつのり
+くまくら,よしのぶ
+くまもと,ふみお
+くもかわ,しげのり
+くらしま,ひろし
+くりはら,みきお
+くりはら,よしぞ
+くりむら,たかゆき
+くりす,たつと
+くりやま,てつお
+くりやま,よひち
+くろだ,としゆき
+くろかわ,のぶひこ
+くろき,ひろゆき
+くろさき,なおき
+くろす,たかゆき
+くしだ,ご
+くすだ,しげる
+くわばら,えり
+うちだ,ひろし
+まえだ,まき
+にわ,かつと
+まえひら,あきひこ
+まえかわ,ひろのり
+まきむら,こういち
+まきの,こうじ
+まきの,ゆみこ
+ようこた,しゅじ
+まるやま,ひろし
+ますだ,ゆきえ
+ますだ,じゅにち
+ますひろ,あきら
+ますやま,ひろし
+まつばら,のぶや
+まつばら,のぶあき
+まつだいら,ひろし
+まつだ,わたる
+ささもと,よしこ
+まつだ,いちろう
+まつふさ,けいいち
+まつい,やすひこ
+まつい,しげみつ
+まつき,まさと
+かの,ひでたか
+まつもと,ひろみつ
+まつもと,ゆうじ
+まつもと,まり
+はしもと,みちやす
+まつむら,ただし
+まつむら,みきお
+まつなみ,てるあき
+まつなみ,きみ
+ちば,たくじ
+まつしば,こうじ
+まつした,やすなり
+まつした,まさと
+まつうら,しげお
+まつざき,さゆり
+いまい,としみ
+まゆやま,かつじ
+めんじょ,とおる
+みちがみ,じゅにち
+みはら,あきひこ
+みき,ひろゆき
+みもり,ゆひち
+みなみぐち,としゆき
+みなずき,ふじお
+みねむら,しょじ
+みしな,きにち
+みつい,ひろゆき
+みうら,ひろゆき
+みうら,ゆきお
+むらかみ,てつや
+みわ,こういち
+みやがわ,ひろし
+みやぎ,えいいち
+みやはら,いちろう
+みやはし,ただし
+みやかわ,まさゆき
+みやき,あつし
+みやもと,まさと
+みやもと,のりお
+みやもと,はるこ
+みやさか,あつし
+みやたけ,ひろし
+みやた,かなめ
+みやた,なおゆき
+みやた,ゆかり
+くろだ,かずひろ
+みよし,たけはる
+みずこし,よひち
+みずこし,けんいち
+みずの,まさはる
+みずの,しげゆき
+みずたに,まさお
+もり,みちこ
+もり,としお
+もりかわ,きょこ
+もりき,まさとし
+もりした,まさずみ
+もりた,せいじ
+もりた,ひろし
+もりやま,まさひろ
+もりぞの,なおき
+もり,しげみ
+もり,としひろ
+もり,ゆうじ
+もり,まさみち
+もろずみ,けいこ
+いのはな,なおこ
+こじま,まきお
+むかい,としお
+むかい,たつや
+むらい,のぶはる
+むらかみ,しんじ
+むらかみ,しょじ
+むらまつ,のりこ
+にわ,あきこ
+むらた,やすひろ
+むらた,よしみ
+おの,ただし
+むらやま,かずひろ
+むと,としお
+むと,つよし
+むと,さとる
+むつしか,かつとみ
+ながい,やすお
+ながい,ひろのり
+ながもと,のぼる
+あらい,かずお
+ながお,しんご
+ながさわ,たつみ
+ながさわ,さちお
+ながやま,ちなつ
+ないとう,とおる
+ないとう,ちはる
+なかばやし,まさかず
+なかだて,かつひろ
+なかがき,さとし
+ながえ,いちろう
+なかがわ,たかし
+なかがわ,ちはる
+なかごめ,ひろや
+なかひら,たかし
+なかい,あまね
+なかじま,えいいち
+なかじま,ひろし
+なかじま,かつゆき
+なかじま,けんいち
+なかじま,たけとし
+なかじま,やすなり
+なかじま,あつし
+なかまた,かずと
+なかみち,あきひろ
+なかむら,ふさのぶ
+なかむら,かつお
+なかむら,かずひさ
+なかむら,こういち
+なかむら,まさのり
+なかむら,たかゆき
+なかむら,てるじ
+なかむら,としゆき
+なかむら,よしなり
+なかむら,ゆたか
+なかむら,えみこ
+なかにし,かつとも
+おおにし,みえこ
+なかにし,なおや
+なかにし,えり
+なかの,つねあき
+おかざわ,けいいち
+なかの,なおひで
+なかの,のりひろ
+なかの,しゅにちろ
+なかおか,まさき
+なかお,としあき
+なかお,まこと
+なかせ,てるひろ
+なかそぎ,しんじ
+なかた,はじめ
+なかつか,のりあき
+なかつか,ひろゆき
+なかやま,かずひこ
+なかやま,まさゆき
+なかやま,なおき
+なかやま,としあき
+なかやま,まさのり
+なかざわ,としゆき
+なみき,のぶやす
+ならしま,きよたか
+なら,かよこ
+くどう,のぞみ
+なつの,よしふみ
+なつやま,もえこ
+えと,てつや
+にへい,ふみこ
+おくの,えいじ
+まえほり,こし
+にしだ,まさとみ
+にしぐち,しげこ
+もり,たかし
+にしかわ,まこと
+にしくら,ひでき
+にしもと,あつし
+にしお,たつや
+にしわき,こへい
+にし,かつひこ
+にわ,みつぐ
+のぶまさ,くにお
+のだ,まさあき
+のぐち,たけひこ
+のぐち,ひさし
+のほり,みちはる
+のたに,ゆうこ
+のま,ひろし
+のみやま,たかし
+のもと,さゆり
+たんざん,ひろみ
+おかわ,ひとし
+ののやま,たつお
+のりかね,ゆきこ
+のろ,まさし
+の,しげる
+おばな,まさき
+おびなた,としひこ
+おちあい,けいこ
+しまむら,まさる
+おだね,まさき
+おがわ,みさと
+おぐら,もとひこ
+おぐら,たかし
+おぐら,けん
+おぐろ,ひでゆき
+おばやし,まさたけ
+おばやし,さとし
+おば,としろ
+おち,としあき
+おで,みちお
+おほり,かずひこ
+おほ,まさき
+おひし,まさる
+おき,せいいち
+おくぼ,しんいち
+おくぼ,ひろし
+おみち,あきひこ
+おむら,よしのり
+おおにし,ひろし
+おの,よしかず
+おらい,なおみ
+おさき,ひでとし
+おさわ,せいじ
+おさわ,しんすけ
+おさわ,いわお
+おたに,けいぞ
+おた,やすゆき
+おとも,えりこ
+おざき,しんご
+おつか,としひこ
+おつか,のりお
+おつき,こすけ
+おひゃ,もといち
+おひゃ,よしゆき
+おひゃ,まさひろ
+おかだ,まさくに
+おかだ,たけのり
+おかだ,つねあき
+おかだ,いさお
+おかはら,こういちろ
+おかもと,すすむ
+くさば,さとし
+おかむら,そういちろう
+おかむら,ただし
+おかの,りゅじ
+とびた,けんじ
+ほそかわ,なおき
+うえだ,あきお
+こせき,こうじ
+たざわ,たけし
+やまざき,としろ
+えぐち,てつや
+もちだ,まさひろ
+あきもと,くにひこ
+にし,すぐる
+いまいし,つぐお
+たかやす,よしひろ
+はた,としひろ
+ふじさわ,しんいち
+むと,ひろき
+もたい,よしお
+ただ,ひろし
+こいずみ,まさかず
+つぼくら,まさき
+ひらばやし,ひろし
+つじかわ,しゅへい
+みついし,こうじ
+やました,とよかず
+まるおか,ゆみ
+ふかお,しゅんじ
+つむら,よしかず
+まゆみ,ひろゆき
+あらかわ,すすむ
+おふち,きえい
+ささもり,あつき
+さとう,しげとし
+たかぎ,のぶよし
+たなか,まさゆき
+つぼご,あきら
+とりさわ,ひさし
+なかぐき,しんいち
+はせがわ,たかゆき
+はやし,かずよし
+ひらやま,こぞ
+ふくしま,ひろじ
+まつしま,ひろかず
+よしい,せいいち
+いしい,けんじ
+いまい,のぶたか
+なかつじ,とおる
+ほいだ,かなこ
+さわはた,としえ
+たはら,みどり
+たかはし,じゅん
+すずき,ゆたか
+よこやま,あきら
+いしかわ,まこと
+あさの,まさみつ
+かねこ,ふみひこ
+くろせ,ひろゆき
+さかきばら,けいご
+かさま,ともゆき
+すぎやま,こうじ
+すだ,しげる
+たなか,としき
+つぼい,かずひろ
+はしもと,ひでき
+ふくち,のりこ
+あらい,みゆき
+たなか,ゆきえ
+やしま,つねお
+かわまた,みつる
+すんだ,しょうじ
+みずたに,みねまさ
+やまこし,ひであき
+あまがや,けんじ
+あらき,けんじ
+いまい,よしたか
+いまざき,しゅうじ
+きむら,ようすけ
+すぎやま,あらた
+すずき,けいこ
+つる,よしまさ
+はこざき,てつや
+たきざわ,あや
+いとう,えつこ
+ますだ,ちえこ
+つばき,さとみ
+みすみ,ともこ
+やいた,けんじ
+かわつ,なおゆき
+つかだ,たけのり
+なかもと,あつや
+ふなびき,みのる
+よしざわ,のりゆき
+とま,ゆめの
+せき,ひさよ
+むらた,としはる
+かたやま,たかひさ
+きど,かつひで
+こばやし,いさお
+しのみや,だいすけ
+たなか,みのる
+はら,あきら
+もりたに,つよし
+いちのせ,かずのぶ
+ふじもと,よしのり
+うえの,ちあき
+ししど,ちかこ
+みうら,まき
+うちだ,ひとし
+どい,たけひこ
+そすみ,ふみこ
+よしだ,さなえ
+たかはし,きょこ
+やまぐち,ようこ
+ささ,まり
+はせがわ,なおき
+あつた,まさひろ
+いちかわ,しゅじ
+うの,こうじ
+おがわ,ともかず
+おだ,かずゆき
+たかさき,よしのり
+たかはし,しょへい
+ただ,かずゆき
+たなか,かつゆき
+とくなが,こうじ
+とみた,としのり
+ないとう,すすむ
+はらだ,るみこ
+ひらかわ,こういち
+ふなもと,としゆき
+どばし,まさゆき
+みうら,としお
+よしだ,なえこ
+おたけ,ゆきこ
+くらた,かおり
+くりた,よしお
+だんじょ,まさあき
+もりしま,さとみ
+よしだ,ゆきこ
+わかばやし,ひろかず
+あげまつ,まきこ
+いしぐろ,つよし
+かとう,ただし
+さいとう,ひろし
+ないとう,ひろし
+みやまえ,じゅんこ
+かどわき,りえ
+ふくもと,えみこ
+にしはら,ともこ
+おかやま,ひろたか
+おかやす,ゆき
+くろかわ,ちこ
+おきた,ひろあき
+おくみや,じゅんじ
+おくむら,やすひろ
+おのだ,さとし
+おのでら,まこと
+おの,しんじ
+おの,よじ
+おの,ゆみこ
+まつい,ひろみち
+おそえがわ,こすけ
+おざき,かずひろ
+おぜき,しんいち
+たかの,みちよ
+りょかい,としや
+さげさか,あつし
+さぎや,みきお
+さいた,あきら
+さいとう,かずなり
+さいとう,みえこ
+さいとう,とおる
+さいとう,よしひさ
+さいとう,まさかず
+さかぐち,だい
+さかい,なるみ
+しまだ,ひとし
+さかきばら,はるゆき
+さかもと,なおふみ
+さかもと,よしふみ
+さかもと,てるお
+さかり,やすなり
+さかた,のぶゆき
+さくま,ひろゆき
+さくらい,いさお
+さくらい,よしき
+さくらい,りゅひち
+さんのまる,きょひち
+さの,まさひろ
+ささべ,あきみつ
+ささき,ごろ
+ささき,ひろゆき
+ささき,つねお
+ささき,りか
+よしだ,ひであき
+さとう,ひろみ
+さとう,ひろし
+さとう,いつろ
+さとう,けんじ
+さとう,まさき
+さとう,むねひろ
+さとう,のぶひろ
+さとう,さとる
+さとう,しんじ
+さとう,たかのぶ
+さとう,たかし
+さとう,よしひろ
+さとう,ゆきお
+さとう,ゆたか
+さとう,たつろ
+さわいで,しんご
+さわい,ともひろ
+さやなぎ,たけし
+せがわ,なおと
+せいみや,ひろし
+せいやま,よしひこ
+せきかわ,かずのり
+せき,たかのり
+せき,はやと
+せんだ,やすひこ
+せんごく,よしゆき
+せの,よしと
+せしも,あきお
+せたか,まさこ
+すが,ともこ
+みなみ,ゆひち
+しばた,ちあき
+しぶや,かずや
+しぶや,まさみ
+しぶや,さとし
+しいの,ゆひち
+しかた,こういちろ
+しきぶ,まり
+しまだ,よしひろ
+しまだ,ひろし
+しまがみ,しげき
+しまもり,あきら
+しまむら,こうじ
+しまざき,たけし
+しまざき,ひろたか
+しみず,きょこ
+しみず,としあき
+しみず,こうじ
+しもだ,けい
+しもひら,りょひち
+しのはら,やすし
+しのはら,ちあき
+しのざき,ひろみち
+しのざき,つよし
+しんぽ,まさのり
+しんたに,ひろこ
+おきど,たかひろ
+しおぬま,ひろし
+しおた,まさひろ
+しおや,ひろし
+しおざわ,としあき
+しらい,まさひこ
+しらさき,ゆきのり
+しらさき,こ
+しらとり,たかあき
+しらとり,えいぞ
+しろき,りえ
+しろした,ひろし
+かしま,けいみん
+しゅ,こうたろう
+いまい,あきひろ
+そえだ,まなぶ
+そが,のぶこ
+そわ,ひろき
+すだ,かすみ
+すだ,ゆうじ
+すだ,そとひろ
+すえだ,きよみ
+すえもり,くにあき
+すえおか,まさひろ
+すがわら,いさお
+すげの,しげき
+すぎもと,ひろし
+すぎた,こひょ
+すぎやま,まさとし
+すぎやま,たかひろ
+すぎやま,ひとし
+すみとも,しげき
+すみ,よしお
+すなが,ごいち
+すざき,ひではる
+すずき,ひろこ
+すずき,いずる
+すずき,かずなり
+すずき,こういち
+すずき,まさる
+すずき,なおき
+すずき,のりよし
+すずき,さきこ
+すずき,しょひち
+すずき,しんじ
+おおにし,やすひろ
+すずき,やすお
+すずき,ゆひちろ
+すずき,みつお
+たぼ,けいいちろう
+たぶち,えいじ
+たぶさ,のぼる
+たちかわ,ゆき
+ひらき,ひでゆき
+たがい,てつや
+たがわ,てるみ
+たが,あきら
+たぐち,やすし
+たぐち,ゆきお
+たぐち,しのぶ
+たかばたけ,しんいち
+たかぎ,としや
+たかはら,ひろし
+たかはし,かずあき
+たかはし,けいじ
+たかはし,まさはる
+たかはし,のぶお
+たかはし,のりゆき
+たかはし,りょすけ
+たかはし,しん
+たかはし,たつや
+たかはし,としふみ
+たかはし,やすゆき
+たかはし,ゆひち
+たかはし,やすし
+たかいし,みほ
+こばやし,のぶたか
+たかみ,みさお
+たかむら,しん
+たかなし,みなこ
+はせがわ,よいち
+たかの,けんたろう
+たかおか,としや
+たかおか,としゆき
+たかたに,ひろし
+たかつじ,せいいち
+たかつか,よしひさ
+たかつ,はるさだ
+たかやま,まさこ
+たかやま,まさゆき
+たかやま,ひでお
+たけだ,かずしげ
+たけだ,のりひこ
+たけだ,とよみ
+たけだ,みのる
+たけもと,ともあき
+たけもと,かずひろ
+たけうち,みのる
+たけうち,しろ
+たけうち,よしのり
+たけうち,ひろゆき
+たきもと,きょこ
+たまち,たかき
+たむら,のぶゆき
+たなべ,あきら
+たなか,かつじ
+たなか,きよし
+たなか,まさみ
+たなか,しんいち
+たなか,とおる
+たなか,やすし
+たなか,こういち
+たんだ,やすのり
+たにだ,たかかず
+たにがわ,なおひと
+たにむら,のぞみ
+たに,かつし
+たしろ,たかこ
+ひらさか,ひろかず
+たわだ,ゆひち
+たわら,とおる
+てらだ,たかひろ
+てらさき,ひろし
+てらしま,としひろ
+こばやし,つかさ
+てらうち,けいこ
+わたなべ,なぎさ
+ときとも,たかゆき
+とくだ,まき
+さくらぎ,ひろふみ
+とみもと,くにひこ
+とみた,かおり
+ともみ,みきこ
+とんぐ,きみほ
+とりうみ,よしたか
+とよだ,よしなり
+とよさと,ひろぶみ
+とよしま,ゆきお
+つちだ,のぶゆき
+つちもと,えいえつ
+つちや,しんじ
+つだ,とよひさ
+つだ,ひろゆき
+つじもと,ひでこ
+つじ,たいぞ
+つじ,やすみつ
+つかごし,しんいち
+つかもと,まさのり
+つきだて,たかゆき
+もりた,のりひさ
+つるた,まさひこ
+つしま,ひでお
+つし,ひろみつ
+つつみ,まさし
+つやま,ひろすけ
+うちだ,かつひさ
+うちだ,ひろし
+うちやま,てつや
+うだ,じゅん
+うえだ,まこと
+うえだ,めぐみ
+つかもと,たつろ
+うえだ,ゆか
+ききょ,ゆきお
+うえだ,のりお
+うえぐり,ひろし
+うえはら,としかず
+うえまつ,けいじ
+さとう,ひろし
+うえの,こぞ
+うえの,しのぶ
+うえの,ともあき
+うえの,としひこ
+うえの,すみと
+うえやま,やすき
+うめだ,ゆきお
+うめかわ,ようこ
+ながた,たけし
+うらご,ゆかり
+うるしざか,さおり
+たかはし,ひろし
+うつのみや,ちえみ
+わだ,ひでお
+わだ,よしたか
+わだ,いくえ
+わかばやし,とおる
+わかばやし,ひろゆき
+わかまつ,かつや
+わかまつ,かずひこ
+わきもと,ひでたか
+わくい,よしこ
+いとい,ひろゆき
+わたべ,しげき
+わたべ,ひでき
+わたなべ,ひろのり
+わたなべ,かなう
+わたなべ,かよ
+わたなべ,のりこ
+わたなべ,とよひろ
+わたなべ,ゆきお
+わたなべ,しょひち
+わたぬき,しんぺい
+やぶした,かずひろ
+やぶた,みきえ
+やぶうち,しずお
+やじま,ゆみこ
+やくしじ,かずひこ
+やまだ,かずき
+やまだ,こうじ
+やまだ,なりと
+やまだ,しゅじ
+やまだ,よしひさ
+やまだ,かつや
+やまがみ,なおたか
+やまぐち,しゅにち
+やまぐち,ひろし
+やまかわ,ただし
+やまこし,えいいち
+やまもと,ひでとし
+やまもと,ひろゆき
+やまもと,ひろゆき
+やまもと,まさる
+やまもと,みどり
+やまもと,みつよし
+やまもと,しょへい
+やまもと,ようこ
+かわぐち,ふみひろ
+やまむろ,ゆきこ
+いわた,ひろえ
+やまおか,ひさ
+やまさき,あきのぶ
+やました,あきお
+やました,えいすけ
+やました,ひろふみ
+やました,じろ
+やました,こうじ
+やました,しん
+やました,たかし
+やました,あきひろ
+やまざき,けい
+やまざき,まさみち
+やまざき,ひろゆき
+やながわ,えいじ
+たかおか,ひろふみ
+やなせ,まさのり
+やの,まさとし
+やお,あきら
+やすだ,ひろみち
+やすかわ,たけし
+よがい,かずひろ
+よこがわ,ひでくに
+よこさわ,ひろし
+よこた,つとむ
+よこた,としあき
+よこうち,あきこ
+なかやま,ひろゆき
+よこやま,かずひで
+よこやま,かつゆき
+よねはら,あきら
+よねむら,ひろゆき
+よしだ,かおる
+みやむら,こうじ
+よしだ,まさひろ
+よしだ,ひかる
+なか,りょひち
+よしむら,ともゆき
+よしむら,えりこ
+ぬまお,としふみ
+よしざき,ひとみ
+なかむら,こういち
+ゆあさ,せいじ
+ゆげ,まさゆき
+ゆかわ,みなこ
+まつだ,やすし
+あべ,つとむ
+はせがわ,あつし
+はしもと,はるひこ
+ひらつか,まさお
+ほしかわ,としゆき
+ほそや,ただし
+いしはら,まさとし
+いわき,つとむ
+かねだ,きみあき
+きむら,まさかつ
+こんの,よしひろ
+まつだ,よひち
+みやした,ひろみ
+さかもと,みねお
+のむら,えいじ
+おばやし,けんじ
+さいとう,りょた
+ささがわ,たかひろ
+さとう,よしたか
+しが,よしつぐ
+しのはら,やすひろ
+しょ,かつまさ
+たけがわ,ひとし
+たつみ,たもつ
+とみえ,みのる
+わたなべ,しょじ
+やまだ,たかし
+やまだ,たちはる
+やまもと,こうじ
+やまざき,たけし
+こまつざき,まこと
+ふちだ,よしひさ
+たなか,しげとも
+はやし,まり
+ながた,しんいち
+ばば,えつこ
+あかま,ゆきえ
+かざま,ゆうこ
+すずき,やよい
+もり,まさみつ
+いけだ,まさし
+わたなべ,めぐみ
+みま,みえこ
+あんどう,ゆたか
+まえぞの,のりひこ
+おたか,まもる
+はやし,ゆういち
+うえの,とみひろ
+つのだ,たけし
+すどう,まさお
+さかもと,ちあき
+たなか,まさひこ
+ことうだ,かずゆき
+かるべ,さほり
+さいとう,せいいち
+ひらの,まこと
+さとう,たかし
+なかやま,かずしげ
+のだ,じゅい-ちぇん
+ま,ひろあき
+しながわ,つよし
+ながやす,かつと
+あおき,ふみお
+なかた,ともひろ
+みくりや,みつひろ
+まるやま,こういち
+えちぜん,まさひろ
+なかにし,かずたか
+はぎお,けいいち
+たむら,たかとし
+たぐち,みつあき
+おざわ,もりしげ
+やおいた,ゆきのり
+あさの,ふみひろ
+くさの,てるよし
+はまだ,ひろこ
+いりやま,ひろまさ
+むらた,けんいち
+あさの,ゆりこ
+たかの,やすひろ
+やまぐち,ちから
+むらかみ,こうじ
+たなか,こうじ
+たかおか,はやと
+すずき,てるゆき
+みねぎし,ひでとし
+あべ,ひさし
+あべ,しょひち
+あべ,ともひこ
+あべ,まさあき
+あがつま,よしとし
+あいざわ,おさむ
+あかいけ,としひろ
+あきもと,のりやす
+あきたや,てるひろ
+あきやま,まさじ
+あくつ,はなこ
+あまの,なおや
+あまの,よじ
+あまの,けんいち
+あめみや,あきとし
+あんどう,のりひろ
+あんどう,かつじ
+あんざい,じゅにち
+あおき,みさほ
+あおき,なおや
+あおき,のりあき
+あらい,みずほ
+あらき,しゅんじ
+あらき,ひでき
+あらや,あきら
+ありよし,たかし
+あさひな,じゅんこ
+あさい,よしのぶ
+あさみ,ゆきお
+あさつけ,としゆき
+あそ,しげき
+あずま,ただかつ
+あずま,あつのり
+ばば,ふみえ
+ばば,かずみ
+かが,まさひろ
+ばば,てんせい
+ばん,ゆうじ
+びるかわ,りつこ
+ぼ,たかゆき
+だいご,さだはる
+だいごく,はるひと
+どばし,よひち
+えびさわ,しげみつ
+えはら,よしたか
+えんにゅ,とものぶ
+ふちがみ,よひち
+ふじばやし,なりと
+ふじえだ,ひろゆき
+ふじい,かずゆき
+ふじい,くにかず
+ふじい,まこと
+ふじい,さとこ
+ふじい,すみこ
+さかもと,ともこ
+きただ,よしき
+ふじい,ゆすけ
+ふじい,ゆか
+ふじい,れいこ
+ふじかわ,ふくお
+ふじもり,しゅんすけ
+ふじもと,じゅにち
+ふじの,とおる
+ふじさわ,ひろし
+ふじた,ひろとし
+ふじた,さとこ
+ふじた,りゅうたろう
+くすもと,ひろし
+ふじわら,りょひち
+ふじわら,せいご
+ふじわら,しんじ
+ふじわら,よしのり
+ふじわら,まさや
+ふかぼり,ひであき
+ふかみ,しゅへい
+ふかみ,えいいち
+ふくだ,かおる
+ふくだ,しんいち
+ふくだ,たつや
+ふくだ,かずひこ
+ふくい,きょこ
+ふくい,ひろし
+ふくなが,せいじ
+ふくなが,ひろたか
+ふくおか,としや
+ふくおか,ひろし
+ふくし,けいじ
+ふくしま,ひろふみ
+ふくとめ,ひろし
+ふくやま,けい
+ふなばし,まこと
+ふるの,ひろむ
+ふるや,としき
+ふるや,ひでお
+ふるやま,さなえ
+ふたば,ひさこ
+あなみ,ゆうこ
+ふたみ,さとみ
+ふたむら,じゅん
+がど,ゆか
+ご,のりちか
+ごだ,ともじ
+ごか,けんじ
+ごと,まさやす
+ごと,みのる
+はぶ,いさお
+はが,やすのり
+はぎ,としゆき
+はま,せいじ
+はまだ,かつひと
+はまの,とおる
+はまの,あきら
+はましま,としゆき
+はましま,ひろゆき
+はない,みのる
+はら,ゆみこ
+おた,ひさのり
+はらだ,ふじお
+はらこ,ともこ
+はせ,ひさし
+はせがわ,りょこ
+はせがわ,しん
+はしもと,たつや
+はしもと,としたか
+はしもと,しのぶ
+はしずめ,しょじ
+はしずめ,あつし
+はた,けんじ
+はた,ただひろ
+はた,まさる
+はたの,おさむ
+はたの,たつや
+はたの,ゆみ
+つだ,さだみつ
+はやかわ,てつお
+はやの,たつき
+はやし,こういち
+はやし,なおき
+はやし,たつひろ
+はやし,ゆたか
+はやし,ひろし
+はやしたに,しょじ
+ひがしの,さとし
+ひぐち,せつお
+ひぐち,あけみ
+ひめの,まさき
+ひらばやし,なおき
+ひらい,しんいち
+ひらかわ,よしひこ
+ひらき,たけひこ
+ひらの,きょこ
+あおき,やすゆき
+ひらおか,よしひろ
+ひらさか,ひろこ
+ひらやま,よしのり
+ひろはた,かなこ
+まえかわ,さおり
+ひろせ,すすむ
+ひろせ,のぶゆき
+ひろた,ひろゆき
+ひろわたり,としろ
+ひろみつ,あきら
+ひうら,きみたけ
+ほぼ,かずひこ
+ほくら,しんいちろう
+ほんだ,やすし
+ほんだ,ゆうこ
+すずき,ゆひち
+ほんご,ひろし
+ほりぐち,ひろし
+ほりい,せいりょ
+ほりかわ,みちこ
+ほしの,まさや
+ほそかわ,ひろゆき
+ほそみ,よしのり
+ほった,ゆひちろ
+いぶか,やすひろ
+いぶき,まなぶ
+いちかわ,ひろよし
+いちむら,まさのぶ
+いだ,たかひろ
+いだ,ひろし
+いで,まもる
+いで,たいすけ
+いで,まこと
+いでた,いさお
+いがらし,ようこ
+いがらし,ひでき
+いげ,かずたか
+いいだ,きいちろう
+いいだ,きにち
+いいだ,てるお
+いいだ,やすひろ
+いいはら,ひでゆき
+いいじま,ひろあき
+いけだ,かずあき
+いけだ,のぶみち
+いこま,ひでゆき
+いまい,ひろし
+いまい,きみえ
+たなか,かなめ
+いまむら,ちはる
+いまなり,やすひで
+いまぜき,きよたか
+いなだ,なおゆき
+いなます,たかし
+いのうえ,けいこ
+いで,ゆきや
+いれい,さつき
+いしはら,しょぞ
+いしはら,たかゆき
+いしはら,たまみ
+いしはら,よしひさ
+いしはら,ひろし
+いしい,たけし
+いしい,かつや
+いしかわ,まさあき
+いしかわ,のぶまさ
+いしむら,きよひと
+いしわたり,まこと
+いしざき,きょこ
+いしずか,こういち
+いその,たつや
+いそやま,じゅんじ
+いすだ,まゆみ
+いたくら,ひろし
+いとう,ひろゆき
+いとう,まさひろ
+いとう,まさる
+いとう,みつみ
+まつい,みゆき
+いとう,なおき
+いとう,すすむ
+いとう,じゅにち
+いわかみ,たかゆき
+いわさ,ともゆき
+いわさき,ゆうじ
+いわさき,なおふみ
+いわした,ひろゆき
+いずみ,ますみ
+いとう,のりよし
+いずみ,なおとく
+いずみさわ,みつとし
+じんの,みつのぶ
+じょみど,しげお
+かが,まさひろ
+かがみ,まさひろ
+かげやま,ひろふみ
+かい,よしまさ
+かいだ,はるお
+かいず,たけひこ
+かじた,たけひこ
+かけひ,まさちか
+かきもと,まさひこ
+かきぬま,つとむ
+かきぬま,としみ
+かまた,ゆうじ
+かまた,なおゆき
+かみぐち,みちたか
+かみむら,とおる
+かねこ,あつし
+かなまる,とへい
+かなざわ,せいじ
+かんべ,やすし
+かんだ,りゅじ
+かねはら,あけみ
+ごと,ふさお
+かねこ,ひさなが
+かねこ,ひとし
+かねこ,こうじ
+かねこ,たけひと
+かねこ,じょじ
+かねみつ,あけみ
+かねむら,ともひろ
+かねた,さちこ
+たなか,しずか
+よねもち,としえ
+かんの,けんいち
+かさい,みえこ
+かしま,よしお
+たかぎ,まさのり
+きたむら,じょじ
+かたおか,まもる
+かたおか,たかひろ
+かたおか,こぞ
+かたせ,けん
+かたやま,しげかず
+かたやま,たけし
+かたやま,やすなお
+かたやま,あきら
+かとう,ひでとし
+かとう,ひろふみ
+かとう,ひろみつ
+かとう,かずお
+かとう,こういち
+かとう,まさよし
+かとう,なおし
+かとう,やすまさ
+かとう,ゆかり
+そめや,こうじろ
+かわばた,ひでき
+かわぐち,まさみ
+かわぐち,やすゆき
+たまがわ,かずひこ
+かわはら,しげゆき
+かわはら,やすなり
+かわひと,みちこ
+かわい,なおゆき
+かわい,ゆうこ
+はぎわら,きょこ
+なるけ,やすひろ
+かわさき,ひろあき
+かわしま,しんいち
+かわしま,つとむ
+かわた,ひろゆき
+かやま,としひろ
+かざまつり,よしみ
+きど,ゆうじ
+きがみ,つとむ
+きごし,じゅんこ
+もりさわ,まこと
+きくち,まさいち
+きくち,しんや
+きくち,こういちろ
+きくら,ひさし
+きむら,じゅんじ
+きむら,かつひさ
+きむら,のりひさ
+きむら,のりこ
+きむら,しげき
+きむら,たかし
+きむら,よしひろ
+きむら,ゆかり
+きむら,ゆきこ
+きむら,ゆたか
+きむら,ひろかず
+きのした,ひろこ
+きのした,たかふみ
+きのした,まなぶ
+きしべ,ひさや
+きしだ,きよし
+きしもと,みつぐ
+きしもと,きいち
+きた,のりお
+きたあき,かつみ
+きただ,つねお
+きたがわ,ひろき
+きたほり,あけみ
+きたじま,ともひさ
+きたむら,かつのり
+こばやし,けいいち
+こばやし,まさき
+こばやし,まさゆき
+こばやし,けんいち
+しらい,のりこ
+こばやし,しんきち
+こばやし,たいこ
+こばやし,としひこ
+こばやし,やすひろ
+こばやし,ひろき
+こだま,よしのり
+こぎた,たけし
+こぐれ,たつや
+こはし,たかみち
+こご,ひろゆき
+この,ひろゆき
+この,としゆき
+この,ひろゆき
+このす,たつや
+こいで,ひろし
+こまつばら,しげよし
+こみや,かずひろ
+こみやま,ちふゆ
+こもだ,やすゆき
+こんど,だいすけ
+こんど,ひろゆき
+こんど,しんいち
+こんど,としや
+こんど,としき
+こにし,なおふみ
+こさ,ひろゆき
+こすぎ,けいいち
+こたき,よしかず
+こたに,のりしげ
+こやま,たかひで
+こやま,よ
+こやま,きんや
+こざわ,やすひろ
+こずる,ひろかず
+くぼた,こうじ
+くぼた,ひでとし
+くぼや,おさむ
+くどう,よしひろ
+せのお,たかし
+くまがい,かずまさ
+くらどみ,まさと
+くらもと,ひとし
+くらとみ,かつや
+くりの,かずとし
+くりや,あきのり
+くろだ,まさと
+くろかわ,けんいちろ
+くさかわ,まさゆき
+くさの,けいいち
+くわばら,みき
+くわの,ひろみ
+よしだ,かつひこ
+くずの,まさのり
+まちだ,よしあき
+まえだ,ひろし
+まえかわ,じゅんこ
+おたに,ともこ
+まき,じゅん
+まきの,ひとし
+まるおか,かずのり
+まるやま,きよふみ
+まるやま,のりゆき
+まるやま,けいすけ
+まさい,やすひろ
+まさき,ゆひち
+ませ,ひろし
+ますだ,みつあき
+まとば,のぶみつ
+まとば,さとし
+まつばら,としひろ
+まつい,やすひろ
+まつい,さとる
+まつかわ,ひろかず
+まつもり,ひろし
+まつもと,けんいち
+まつもと,みねかず
+まつもと,ただしげ
+まつもと,たくや
+まつもと,としお
+まつもと,やすひろ
+まつもと,じゅんこう
+ぇえ,のりひろ
+まつお,みのる
+まつおか,しんご
+まつしま,ひでよ
+なかにわ,たかし
+まつやま,ゆたか
+まつやま,たかとし
+まつざわ,くにひこ
+みむら,たかあき
+みにゅ,ひさし
+みた,やすひろ
+みた,せいいち
+みたむら,しょぞ
+みつだ,たかし
+みつだ,まさよし
+みつまた,しげる
+みつおか,じゅんこ
+みうら,たけし
+みうら,とおる
+みわた,さだお
+ながせ,えいいち
+みやけ,かずよし
+みやけ,たけとし
+みやま,たかひろ
+みやもと,としろ
+みやもと,じゅん
+みやなが,じゅんじ
+みやざき,ひでよ
+みずば,しゅにち
+みずぬま,こういち
+みずさき,まなぶ
+みずた,ひろかず
+もちずき,じゅん
+もちずき,おさむ
+もちずき,じゅにち
+もぎ,よしのり
+ももせ,あやこ
+ひらの,きょこ
+もり,みどり
+もり,なおき
+もり,たかし
+もり,あきお
+もりかわ,ゆかり
+やぎした,せいじ
+もりもと,てつお
+もりもと,ひとみ
+まつだ,まさかつ
+もりおか,もとふみ
+もりした,ひろし
+もりた,かつみ
+もりた,みわ
+かねこ,のりあき
+もりた,しゅひち
+もりわき,あつき
+もろどみ,ちから
+もとはし,ひろし
+もとじま,つよし
+もとき,あきひで
+もり,ゆうき
+うすい,まさゆき
+むらかみ,まさゆき
+むらかみ,しげお
+むらかみ,しんじ
+むらかみ,いさお
+むらた,こういちろ
+むらた,こうじ
+むらやま,けんじ
+むと,あきひこ
+なだぐち,りえ
+ながはし,くにひろ
+ながい,きよえい
+ながむら,かずあき
+ながお,まさゆき
+ながしま,のぶゆき
+ながしま,よひち
+ながた,よしひで
+ながた,てつお
+ながつか,けいこ
+ながやま,みわ
+うちだ,かおる
+うちぞの,たけお
+なかだ,だいせい
+なかがわ,ひでし
+なかがわ,ひとし
+なかがわ,よしお
+なかがわ,きよひこ
+なかじま,さとし
+なかじま,よしひろ
+なかじま,すみと
+なかみち,いさお
+なかもと,まさひろ
+なかもと,まこと
+なかむら,まさみ
+なかむら,みちのり
+なかむら,みよこ
+あきやま,なおり
+なかむら,のぼる
+なかむら,のりゆき
+なかむら,さなえ
+なかむら,たかひで
+なかむら,たかし
+なかむら,としや
+なかむら,やすひろ
+なかむら,ゆきひろ
+なかむら,ちはる
+なかの,なおゆき
+なかの,こういちろ
+なかしま,ひろあき
+なかつぼ,きょこ
+なかつか,りゅひち
+なかやま,やすとも
+なかやま,ひろし
+なかざわ,ひろし
+なおつか,ゆみこ
+ならはら,ひろし
+なるしま,たかじ
+なとり,ひでと
+にいじま,つとむ
+にいや,たかこ
+にし,ゆきこ
+にし,よしひこ
+にしぶ,せいじ
+にしだ,ゆひち
+にしはら,ひろみ
+にしかわ,さとし
+たなか,たかし
+にしかわ,けいじ
+にしもと,のりお
+にしもと,まさひこ
+にしむら,てつろ
+にしむら,まこと
+にしの,まさひこ
+にしの,おさむ
+にしおか,あきこ
+にしざき,さとし
+にしざわ,まさこ
+にわ,ひろたか
+のぶ,ゆか
+のがいと,りか
+のぐち,としひさ
+のじ,まさひろ
+のじま,あやこ
+のむら,たつや
+のむら,たかあき
+のなか,まさこ
+なかじま,いさお
+のざき,まさと
+のざき,ひであき
+ぬわ,なおこ
+おち,たかし
+おちあい,こぞ
+おだ,けんじ
+おがさわら,しんや
+おがさわら,まさのぶ
+おがた,けんじ
+おがわ,だいすけ
+おぎはら,もりよし
+おはら,みのる
+おば,のぶゆき
+おば,ようこ
+まつだ,ひろゆき
+おへ,のりお
+おがき,あきこ
+しょじま,しんいち
+おはま,ゆきのり
+おはし,ちふゆ
+おぎの,みきお
+おかわ,よしゆき
+おかわら,たけし
+おき,たかし
+ねもと,としゆき
+おくぼ,あつし
+おくら,よしゆき
+おま,とみお
+おみか,かずはる
+おもり,けんいち
+おもり,ひろき
+わたなべ,かつみ
+おおにし,ゆみこ
+おおにし,えいじ
+おの,しげゆき
+おの,ゆうじ
+おぬま,かずひろ
+おしま,としひで
+おしま,ひろゆき
+おた,けいこ
+おた,しげき
+おた,こういち
+おたか,まなぶ
+おたけ,まさひこ
+おたけ,じゅん
+おたに,のぶゆき
+おつぼ,ともひこ
+おつか,ともひさ
+おつか,てつし
+おつき,ひでみ
+さこだ,ひろあき
+おわ,かずあき
+おひゃ,みつる
+おいかわ,まさひで
+おかべ,さなえ
+こばやし,じゅんこ
+おかだ,まさお
+おかだ,たかゆき
+おかだ,まさし
+おかもと,まさゆき
+おかもと,もとい
+めら,かおる
+おかの,としあき
+おかざき,さえこ
+おきた,ひでふみ
+おくだ,くにお
+おくぬき,あつゆき
+おんだ,てつお
+おんだ,としひこ
+うつみ,いずみ
+おの,しゅひち
+おの,さとし
+かわもと,じゅんせい
+かど,まさき
+おしま,まなぶ
+おすみ,そ
+おた,やすみつ
+おりい,てつじ
+おりた,てつや
+おさか,ひであき
+おそのい,ひでのぶ
+おざさ,ひろゆき
+おざわ,かずのり
+おざわ,かずゆき
+おざわ,さとこ
+しらとり,えいいちろう
+おぞね,まさかず
+さの,ちずこ
+さいとう,ひらたか
+さいとう,まさひろ
+さいとう,たかし
+さいとう,ゆきひろ
+さいとう,ひでゆき
+さかい,くにひろ
+さかい,しろ
+さかい,あきら
+さかきばら,かずゆき
+さかもと,しゅんじ
+さかもと,しゅひち
+さかもと,とよひで
+さかもと,ゆきお
+さかもと,ゆきのぶ
+さかむら,たつじ
+さかね,なおのり
+さかた,やすひろ
+さかた,じゅん
+あくたがわ,あきお
+さくらい,ひろひさ
+さくらい,まさみ
+まつばら,なおき
+さくらい,みえこ
+さなぎ,けいじ
+さの,ちかこ
+おがき,ひろみ
+ささき,けんじ
+ささき,まこと
+ささき,みつあき
+ささき,れいこ
+ささき,よしお
+ささき,ともこ
+さたけ,じゅんぺい
+こだま,かおる
+さとう,けんじ
+さとう,こうじ
+さとう,まさひこ
+さとう,まさひろ
+さとう,まさひろ
+さとう,まさと
+さとう,るりこ
+さとう,りょこ
+さとう,さとる
+さとう,よしき
+さとう,ゆきこ
+さかい,ちひろ
+さわだ,ふみひろ
+せがわ,とおる
+せいの,ひでゆき
+せき,いくふみ
+せきど,ながまさ
+せきの,ともこ
+せお,たかゆき
+せりかわ,まさひろ
+しばさき,とおる
+しが,ふじお
+しげる,ひではる
+しまだ,まもる
+しまだ,まゆみ
+しまだ,しろ
+しまだ,けんじ
+しまもと,ひでのり
+しまむら,けいいち
+しまの,あきひろ
+しみず,ひでき
+しみず,けんじ
+しみず,こうたろう
+しみず,さとる
+しみず,しょじ
+しみず,つとむ
+しみず,しんじ
+しもだ,のりひろ
+しもがき,たかゆき
+しもはた,おさむ
+しもむら,ひろのり
+しもおか,かなみ
+しむら,よしこ
+やえがし,あつし
+しのざき,みつえ
+はぎわら,まこと
+しおだ,かおる
+しおた,みつやす
+しおざわ,たつや
+しらい,たかし
+しらいし,たかあき
+しょだ,としひろ
+しゅ,ただし
+そめや,つとむ
+すだ,こうじろ
+すえ,さとる
+すえた,みずき
+しぶいち,ひろゆき
+すがの,けんや
+すがわら,ひろゆき
+すぎえ,のぶひろ
+すぎまさ,としあき
+すぎもり,しょひち
+すぎもと,あつこ
+すぎさき,あつし
+すぎうら,ひでお
+すぎうら,まさひと
+みずおち,ひさよし
+すぎやま,けんいち
+すぎやま,たけし
+すぎやま,ともひさ
+すぎやま,けんじ
+すみ,ともこ
+たべい,まさし
+すなみ,くみこ
+すさわ,ひでお
+すずき,ひでお
+すずき,ひでゆき
+すずき,ひろゆき
+すずき,ひさたか
+すずき,かつとし
+すずき,けいた
+すずき,のぶゆき
+すずき,とおる
+すずき,ようこ
+すずき,ゆきお
+すずき,じゅにち
+たべ,たかし
+たちはら,まさや
+たげ,まなぶ
+たぐち,けん
+なかた,たけし
+たぐち,まさもと
+たじま,よしのり
+たじま,ひろこ
+たかだ,おさむ
+たかぎわ,あきこ
+たかはし,えいじ
+たかはし,ひでゆき
+たかはし,ひろあき
+たかはし,かなこ
+たかくら,かなこ
+たかくら,かずよし
+たかはし,けんた
+たかはし,こうじ
+たかはし,まさのり
+たかはし,なりまさ
+たかはし,りゅひちろ
+たかはし,たかし
+たかはし,としき
+たかはし,わたる
+たかはし,わたる
+たかはし,しん
+たかくら,あきら
+たかみや,まこと
+たかさご,こういち
+たかさき,みつひろ
+たかせ,かずよし
+たかつか,ひろやす
+たかやなぎ,かずのり
+たかやなぎ,みつとし
+たけち,こうじ
+たけだ,やすまさ
+たけだ,やひろ
+たけがみ,あきふみ
+たけひさ,おさむ
+たけい,ゆうじ
+たけい,ひろゆき
+たけかわ,つかさ
+たけむら,しんいち
+たけなか,ゆうこ
+いまい,まこと
+たけさこ,ひでき
+たけしま,つとむ
+たけうち,たまみ
+ひだか,くにひこ
+たきもと,まさと
+たきざわ,まさひと
+たまい,しんいち
+たむら,しげる
+たなべ,やえきち
+たなべ,ひであき
+たなか,ひろし
+たなか,いつひと
+たなか,かつみ
+たなか,まこと
+たなか,のぶお
+たなか,ただゆき
+たなか,たけひこ
+たなか,としひで
+たなか,としひろ
+たなか,よひち
+たなか,よひち
+さの,かつしろ
+たに,ひろとし
+たにむら,とおる
+たにやま,みどり
+たさか,きくみ
+かとう,まさる
+てらだ,しょひち
+てらまえ,えいじ
+てらにし,よへい
+てらにし,あきと
+てらぞの,いさむ
+とびた,みどり
+いずみさわ,よしなり
+とだ,やすじ
+とぐち,たかし
+とまつ,ありひと
+あきむら,しんご
+ときたけ,しゅひち
+とくます,ひろゆき
+とくたけ,たかし
+とまき,ひろふみ
+とみい,えいいちろう
+とみた,よしふみ
+とみやま,だいすけ
+ともだ,やすまさ
+ともなが,えいじ
+とさか,よしゆき
+とっとり,まき
+まつお,のぶゆき
+とよだ,ひろみつ
+つぼい,かおり
+かとう,まさみ
+つちや,ひでき
+つだ,さとし
+つじ,たけし
+つじ,ともあき
+つじの,のぶゆき
+つかこし,たけし
+つかもと,あきひろ
+つかざき,あきひこ
+つきあし,かずや
+つきざわ,まさひろ
+つみた,きみお
+えんど,まさと
+つと,くみこ
+つむら,まさのり
+つねかわ,なおと
+つるおか,あきひこ
+つるた,よしゆき
+つるた,よしゆき
+つるた,あきら
+つつみ,としひろ
+つつみ,かずし
+つわこ,しんご
+つやま,まさひこ
+うちだ,よひち
+うちだ,よすけ
+うちだ,あきら
+うちやま,しげひろ
+うちやま,ふみひろ
+うど,あきら
+うえだ,こうじ
+うえだ,えいいち
+まつむら,ただひこ
+うえだ,としひろ
+うえだ,よしお
+うえまつ,そのすけ
+うえの,よしひこ
+うえの,のりこ
+いしだ,もとゆき
+うめだ,たつゆき
+うめがき,しゅんや
+うの,かつみ
+うらはし,ゆか
+しみず,きよふさ
+えがしら,しょこ
+すえかね,まさひろ
+うつ,せつこ
+うつはし,しんご
+うつみ,ひでお
+わだ,きよみ
+わだ,はるき
+きたわき,よすけ
+わしず,だいじろ
+わたべ,あけみ
+わたなべ,あきお
+わたなべ,ひでお
+わたなべ,ひろみ
+わたなべ,じゅんじ
+わたなべ,かずひこ
+わたなべ,こせい
+わたなべ,くにこ
+わたなべ,まもる
+わたなべ,まりこ
+わたなべ,さとし
+わたなべ,ただし
+わたなべ,てるゆき
+わたなべ,とおる
+わたなべ,としひろ
+わたなべ,けいいち
+えはら,つねふみ
+わたなべ,たつみ
+わたらい,せいき
+やえがし,はるなが
+やはぎ,ふみよ
+やまだ,ひろし
+やまだ,まさや
+やまだ,さとみ
+こんど,しんいち
+やまだ,たかし
+やまだ,つとむ
+やまだ,よしあき
+やまだ,つねお
+えのもと,まさよ
+さいとう,えいじ
+やまぐち,ひろこ
+ふじた,ひろゆき
+やまぐち,かつし
+やまぐち,ゆうじろ
+えざき,やすお
+やまぐち,あつし
+やまもと,ひであき
+やまもと,じろ
+やまもと,おさむ
+やまもと,しのぶ
+やまもと,しゅひち
+やまもと,たけし
+やまもと,よじ
+やまもと,としや
+やまなか,あつし
+やまね,おさむ
+やまのくち,みき
+やまさき,あきひろ
+やました,ひろし
+やました,ひろゆき
+やました,きんや
+やました,まさとし
+やました,さとこ
+しさい,やすひろ
+やました,ひとし
+やまうち,さとる
+やまうち,さとし
+やまざき,とおる
+やまざき,やすし
+やまざき,たけし
+やなぎもと,こういち
+やの,こき
+やの,としゆき
+やしろ,まさる
+やざわ,ひろし
+よだ,みちる
+よぎ,さとし
+よこい,たかし
+よこやま,まさかず
+よねざき,ひろき
+よしだ,けいいちろう
+よしだ,こき
+よしだ,しげみ
+よしだ,まさゆき
+えびな,としひろ
+よしだ,としゆき
+よしだ,まこと
+よしいけ,ひでお
+よしむら,ただし
+よしむら,むつみ
+よしの,たけし
+よしお,りょじ
+よしたけ,ひろき
+ゆあさ,やすし
+おわだ,まこと
+えぐち,しゅんすけ
+おざわ,ふみゆき
+さとう,こうじ
+しんたに,けんしょ
+すぎたに,ふとし
+たかはし,じゅん
+たきざわ,りえこ
+みよだ,かずよし
+やまだ,じゅんこ
+やはぎ,せいいち
+きや,ただし
+みせき,たつお
+えのもと,やすのり
+さくらだ,みつゆき
+ささき,さとる
+ばば,しんいち
+あぼ,のぼる
+あだち,しげよし
+あかさか,てつじ
+あまさき,しょじ
+あおき,さとる
+あぜがみ,かつゆき
+えどの,みつあき
+どい,たけみ
+ふじい,よしひこ
+ふじい,いずみ
+ふじもと,なおき
+ふじもと,けんじ
+ふくはら,きよし
+ふくおか,さとし
+ふくしま,ただし
+ふさやま,のりかず
+ごと,けんたろう
+はまべ,まさき
+はなだ,のぶゆき
+はしもと,たけお
+ひび,かおり
+ひらつか,こへい
+いかり,まさひろ
+いくた,ひでと
+いまい,かんじ
+いしはら,しげかず
+いそだ,ふみひろ
+いそざき,かずお
+じんぐ,ともひと
+じょない,さゆり
+じょにし,ひろき
+かじはら,たけし
+かまた,のぶゆき
+かめい,てつや
+かみやま,けんいち
+かとう,こういち
+かとう,よしひろ
+えみ,えいじ
+かわもり,けいすけ
+きむら,よしひろ
+きむら,さかえ
+きしべ,かずゆき
+きしかわ,たかゆき
+きたがわ,あきひこ
+きたなか,てつし
+こばやし,やすひろ
+こばやし,こういち
+こいけ,よしたか
+こいずみ,よしあき
+こじま,みのる
+こにし,おさみ
+こやま,よしあき
+くどう,たつや
+くまさき,あきら
+くろだ,てつや
+くさか,たつじ
+えんど,としゆき
+まえかわ,ひであき
+まるた,まもる
+まつした,よしひろ
+みくに,かずお
+えんど,くにひこ
+みね,かずよし
+みうら,しんいち
+みぞぐち,めぐみ
+ほんじょ,まさゆき
+みずしま,げん
+えだ,とた
+ながお,かずや
+なかむら,たかひさ
+なかにし,きよかず
+なかの,たくや
+なかお,かずや
+ねもと,よしあき
+にしかわ,ひろかず
+にしわき,しんご
+のだ,けんじ
+のぐち,まさひろ
+おちあい,ひでき
+おはし,しんご
+おの,とみお
+えみ,よしのり
+おくむら,やすたか
+おくの,しゅひち
+えんど,しょじ
+おおにし,よしあき
+おざき,しげる
+さえき,たかし
+さがわ,あつし
+さくま,とおる
+さとう,ゆうじ
+さとう,ようこ
+さわ,かつや
+せがわ,まさゆき
+せき,こうじ
+せんだ,けんいち
+しぶや,たかこ
+しみず,みとし
+しんでん,こうじ
+しおた,やすよし
+しゅくたに,たくじ
+すやま,ひでお
+すずむら,まさひろ
+たかおか,ひでみつ
+たけうち,よしただ
+たけうち,あきら
+たまい,くにはる
+たん,のりゆき
+たなか,のぼる
+えと,まさほ
+たにひら,しげあき
+たにやま,みつひろ
+たおか,きよたか
+たしま,こうじ
+たざわ,ゆきお
+ときた,けんじ
+とみた,しゅひち
+とみた,よしはる
+とみた,あきよし
+つじべ,ひとし
+つじかわ,としお
+えんど,ひろこ
+みやざき,いさお
+わだ,よしゆき
+わたなべ,かつのり
+やまだ,かずし
+やまだ,まさひろ
+やまだ,かずひろ
+やまぐち,けんご
+やまもと,てるあき
+やまおか,かずひろ
+やました,きくお
+やました,しげき
+やまぞえ,まさゆき
+やお,みきお
+やすだ,かつよし
+よつたに,しげき
+よしはら,けんじ
+よこうら,あきお
+ひらせ,ひろこ
+まつい,けんいち
+こばやし,じゅんこ
+すずき,まきこ
+かとう,よしたか
+くにとも,ひろみ
+えんど,なおや
+いとう,ただし
+おかざき,さやか
+ひろはし,のりお
+さかき,たかこ
+みき,かつのり
+くまき,のぶお
+たやま,かずひさ
+おわき,ひろまさ
+みょど,やすはる
+かとう,さとし
+ばば,よしお
+かねこ,ひでお
+こぐれ,まさお
+たけだ,しげお
+いちむら,いちたろう
+いとう,かずひさ
+うえはま,たけし
+なかい,としくに
+こばやし,のぶゆき
+しまだ,ご
+めぐろ,さとる
+やまや,ひでお
+ふじた,やすお
+まとば,ようこ
+いとう,ときこ
+なかい,まさお
+おかだ,てつお
+のもと,きはち
+ながしま,まさと
+よねかわ,ひろよし
+わたなべ,みきお
+むらまつ,はるひこ
+きたに,ひろあき
+みかみ,よしのり
+あだち,まもる
+いのうえ,のぼる
+おかだ,みのる
+かわしま,こうじ
+せき,まさお
+たかはし,まなお
+わたなべ,しげる
+くりはら,ひろし
+わたなべ,みつぐ
+ふじかた,ちひろ
+よしと,もとかず
+かわせ,しずお
+たなか,まさひと
+いまい,としき
+こむろ,よじ
+まえだ,たもつ
+こいけ,とおる
+わたなべ,ともちか
+こんど,ゆひちろ
+いしい,ひろし
+みしま,みつお
+こばやし,まさあき
+やました,たかあき
+たなか,てつお
+やまだ,あきら
+かみや,よしじ
+やまもと,まさる
+しおざき,ちはる
+なかむら,けいすけ
+たけもと,みつお
+だけやま,のりお
+あらかわ,おさむ
+よこた,まこと
+なかむら,けんじ
+あらかわ,ゆきとし
+おみち,えいご
+まつき,おさむ
+くしびき,みちあき
+にった,ひさとし
+つぼうち,ひさや
+さいとう,たかし
+たけむら,よしかず
+たなべ,けんじ
+まえだ,りょぞ
+すがはら,まさとし
+かねこ,みちやす
+やまうち,りきお
+かみざわ,とおる
+こが,ちかし
+つるさき,さちお
+ひがし,ひろゆき
+いしだ,ぜんじ
+なかがわ,まさゆき
+てらしま,かずひこ
+きたむら,としお
+はっとり,まこと
+ささき,えいき
+ほか,すけひで
+のむら,てるひこ
+はやの,みきお
+あんざい,ひろゆき
+ふるの,としひろ
+にしわき,かずお
+はせがわ,もとくに
+いわた,てつお
+とだ,しょじ
+なかむら,まさひこ
+ふるいし,ひろふみ
+なかむら,とくひろ
+なかがわ,すなお
+なかま,ふみひろ
+すがわら,やすひろ
+まつもと,はるお
+はしもと,ひさはる
+なかつ,しゅんじ
+さとうり,ひでみ
+いきた,よしひろ
+やまだ,けんたろう
+きくち,てるお
+すと,かずお
+しばた,しんいち
+ないとう,きよひで
+もり,くに
+いとい,まさお
+いとう,たかゆき
+まつざき,ひろあき
+うえの,まさと
+かたおか,ますみ
+ばんど,ふじお
+さいとう,ひでお
+いわい,たつや
+しもやま,ますこ
+あかまる,つとむ
+ごと,ようたろう
+まつだ,やすかず
+ねがみ,あきら
+やました,ゆきのぶ
+よねやま,しょへつ
+いしやま,たけし
+あべかわ,まさみ
+いまむら,ひさのり
+いわなが,こうじ
+うえだ,かずこ
+ふじかわ,あきら
+たむら,けんじ
+かしい,まさのり
+よねだ,みつのり
+よこつ,きよかず
+あさお,たつお
+たなか,じゅんじ
+たなか,しげる
+やしき,みのる
+かいがい,おさむ
+そがべ,はじめ
+ふるかわ,すすむ
+かわうち,としお
+ふじい,まさおみ
+いけのや,りゅへい
+おち,ひさお
+なかもと,れいじ
+わかばやし,しげる
+あらき,みのる
+やべ,くにひこ
+たかはし,ゆきお
+しばの,よしひさ
+たがしら,まさと
+すみた,まさお
+さとう,あきお
+ちの,ゆうじ
+やまだ,けいじ
+いがらし,ただみ
+いけがみ,やすゆき
+ふなだ,たけし
+いのうえ,ゆきお
+にしやま,けんじ
+いしはら,ゆひち
+すずき,のりゆき
+こもりや,たつお
+ちゅご,のりお
+こばやし,なおはる
+みやもと,はれお
+なかた,ふみお
+いりたに,ひでお
+おがわ,やすひろ
+おね,みつお
+こまつ,としお
+みのわ,てつや
+ふじかわ,こうじろ
+かわぐち,しげと
+ちば,やすひろ
+なかにし,のりよし
+さくま,けんいち
+たけまさ,たかゆき
+せき,たかよし
+さいとう,ひろし
+ふじもと,としたか
+おぐり,たいち
+いしばし,かずお
+あざみ,ひろし
+おがさわら,おさむ
+さいとう,つとむ
+たなべ,たかゆき
+もりやま,たくお
+きたざわ,ゆきち
+かなざわ,けんじ
+はらだ,まさあき
+おくやま,ひろし
+しみず,なおと
+いのまた,やすひろ
+ふるさわ,としひこ
+たけうち,さだお
+おの,ひとし
+もろおか,としゆき
+しのざき,よひち
+のぐち,ふみお
+しまだ,やすお
+かわさき,たつじ
+おかわ,きよし
+さめしま,しげる
+ほそじま,なおいち
+わたなべ,ひろし
+かわなみ,けんじ
+くさの,しゅへい
+つちた,ひでとし
+おはし,かつお
+のだ,まさと
+わたなべ,さとし
+よしたけ,せいじ
+ふくしま,ゆきお
+いわや,せいき
+さかもと,しろ
+くぼた,つとむ
+いそやま,けんじ
+おの,ふみあき
+あべ,しげあき
+おだわら,こうじ
+きうち,ゆたか
+いしかわ,まこと
+よしだ,まさひろ
+ちゃばたけ,かずひこ
+さかい,とみお
+おた,まさあき
+なかの,けいさく
+はだ,ともあき
+なかやま,こうじ
+さかぐち,みきお
+ながしま,ひさお
+さがら,やすひろ
+かわの,あきら
+かねこ,たかお
+なかだ,もとはる
+あまの,しょじ
+やざき,こういち
+ひらぎの,みつあき
+たばた,たつお
+くにゆき,みちお
+おくうち,けんじ
+すぎもと,としふみ
+なかむら,たつお
+すぎさき,まさふみ
+やました,よしお
+のむら,よじ
+しまだ,まさみ
+ふくだ,たかし
+さとう,じゅんじ
+おくぼり,けんじ
+よこかわ,やすお
+でんだ,としひろ
+ふくなが,ただよし
+たかしま,いさお
+かとう,みつる
+いしぐろ,たかし
+いけべ,しゅじ
+おつか,かずお
+しみず,いちお
+すずき,やすひろ
+つや,ひろのり
+うちだ,ひでじ
+おち,りょじ
+ありが,わたる
+なかしま,たかてる
+まさき,かずみ
+なかしま,みつる
+あさはら,かずのり
+ごと,ひでお
+うえまつ,ひろし
+さきもり,まさみ
+よしだ,きよし
+ふじた,すすむ
+やぎした,みつぎ
+むろふし,てつお
+かめだ,あきのり
+いかわ,くにゆき
+やまざき,すすむ
+つるはし,よしのり
+みのしま,たかお
+きしもと,まこと
+たけした,まさたか
+なかた,けんいち
+えんど,たけし
+もりや,かつじ
+くぼた,まつみ
+なおはら,まさお
+くげ,まさよし
+かさの,ひさお
+いいむら,ひろし
+すずき,よしあき
+おた,つとむ
+たけこ,やすよし
+むらこし,としお
+よしだ,まさひろ
+あさの,えいいち
+よしだ,ひろただ
+はやし,ひろし
+すずき,まこと
+おだ,のりお
+やまうち,まこと
+かわかみ,まさし
+うすだ,しんいち
+さとう,きよし
+くらしま,けいめい
+ませ,すみお
+この,ひろし
+まつざわ,けんじ
+しまだ,まさはる
+やまもと,たかし
+おくぼ,けにつ
+おぐら,まさゆき
+さくま,ひろふみ
+のぐち,としお
+ひなた,けんじ
+ふじい,よしあき
+すぎもと,まさとし
+つかはら,てつろ
+みつなが,たつや
+なかむら,りょひち
+やじま,きよし
+かみた,つねお
+ひが,こうじ
+みながわ,しんいち
+とみ,しんじ
+さかきばら,のぼる
+かくた,ひろし
+つちや,あきら
+むらた,しゅひち
+たなべ,よしのり
+しもだ,けんじ
+つかもと,かずのり
+はなはた,えいじ
+かんだ,ひろのり
+かわだ,こういち
+よしい,しゅにち
+くらや,まさし
+てらしま,ごろ
+きたがわ,まさあき
+いで,まさよし
+つる,たけし
+うつのみや,すすむ
+なかざわ,じゅんき
+ひだ,よしてる
+ほそかわ,たかお
+ちぐさ,ひろし
+そひゃ,あきひろ
+やまぐち,ひでゆき
+さかて,けん
+あわた,あきら
+わかばやし,よしのり
+えんじゅじ,くらじ
+のぐち,ひでお
+かわむら,しんじ
+もりもと,ゆきお
+よねはな,つねお
+じだ,きへい
+うえだ,ひでゆき
+しのはら,よしお
+たかやま,としひろ
+やまむろ,ひさお
+わき,としかず
+あまの,まさひと
+ほそかわ,よしのぶ
+とご,ひでじ
+なか,せいじ
+のだ,ひろみ
+やました,こへい
+なかじま,ふみお
+ながおか,しげる
+しぶや,かずひこ
+せりざわ,まこと
+ふじもり,こういち
+ふくだ,まさお
+ふじた,みきお
+やまじ,ただひろ
+こばやし,あきお
+こばやし,けんじ
+ししくら,いさむ
+こぐれ,まさかず
+もり,まさのぶ
+なかむら,じゅんこ
+いいじま,まつお
+きたがわ,としお
+たむら,ひろひさ
+ながしま,とみお
+えのき,たかのり
+さとう,ちえこ
+まつもと,ひろし
+うえだ,こうじ
+みずたに,よしかず
+じゅの,こぞ
+あかし,せいじ
+なかもと,たつひろ
+なかやま,たかひさ
+ふじい,ひであき
+なかやま,いずみ
+よねみつ,きよし
+たかせ,よしあき
+わたなべ,まさはる
+ふかざわ,よひち
+かげうら,のりたか
+しんど,のりゆき
+しみず,よしてる
+さかした,ただよし
+みやむら,やすえ
+たなか,いずみ
+たかいし,よしのぶ
+いしがき,よしお
+たかだ,ひろお
+たていし,あきら
+さかた,とくよし
+よこはた,たつお
+くや,おさむ
+よしだ,ひろのぶ
+きただ,やすひろ
+よしだ,しょひち
+こばやし,てつお
+なりた,としお
+いぬい,ひとし
+やすかわ,としのぶ
+のぐち,まさみ
+しょだ,かつじ
+やまだ,たつみ
+わくだ,よしの
+あべ,とおる
+たけかわ,まさとし
+さとう,すすむ
+はなおか,けんじ
+おの,よしかず
+たなか,かずなか
+つのだ,ひでお
+なまえ,としひこ
+たかはし,たもつ
+なかじま,まさひで
+なかむら,はるお
+うりう,しんじろ
+ふじいわ,かずみ
+ささき,みつよし
+きむら,まさよし
+たかぎ,ふみお
+かたやま,すなお
+いぐち,いちぞ
+あべ,てるひさ
+すずき,つとむ
+ひら,さだひろ
+なごし,たかお
+あだち,ひでき
+むらやま,よしお
+くにかた,ひでお
+まつい,けんぞ
+こいで,あきお
+ひろた,けんじ
+とみなか,ただひさ
+わきた,しげる
+うめむら,きみこ
+ふけ,はるたけ
+うえまつ,ふみひこ
+まつざき,たかし
+なかの,ゆたか
+こだか,しゅひち
+ひろたに,ひろと
+たかはし,おさむ
+さの,てるお
+しみず,たかひろ
+かんざき,かずひろ
+おさく,ひであき
+わしだ,けんじ
+くにもと,まもる
+しろかわ,すすむ
+かわはら,まこと
+おか,みつお
+こもり,ひろやす
+はやし,よしお
+かねこ,ふじお
+かどいけ,しょじ
+おかむら,よひち
+おかむろ,かつみ
+たぶち,やすひろ
+やまもと,つもる
+おさ,たけお
+いりえ,けんじ
+たかは,こういち
+たいら,じゅにちろ
+みなみ,よしかず
+いけだ,てるよし
+あおき,かずお
+やまうち,まさひで
+よしはら,やすまさ
+ささき,まこと
+みずたに,けんいち
+ひらの,つねかず
+ながた,よしあき
+かたやま,しげあき
+おだ,いくお
+えのもと,なおみち
+たけなか,じゅにち
+まつざき,じゅにちろ
+まつばら,なおこ
+やました,あきのり
+めぐろ,たかし
+おざき,しんいちろう
+おがみ,かずひこ
+おまえ,はるお
+きだ,やすまさ
+うえの,しげる
+おかだ,ふみお
+かなさき,じょじ
+やかべ,まさふみ
+なむら,あきひと
+いいじま,としいち
+ささき,かつゆき
+もちずき,あきら
+ぶんや,けい
+おかの,りょじ
+たけうち,ゆうき
+うえの,さかえ
+ふじもと,ひろし
+かわぐち,こうじ
+たきもと,せつこ
+かたおか,ひろよし
+くさかわ,ひでゆき
+あさい,こういち
+もり,しんいち
+くぼ,かんじ
+あんどう,おさむ
+うらやま,かつゆき
+くりた,とみお
+いのうえ,ひろゆき
+かねかわ,ゆみこ
+うえもと,もとあき
+なかお,のぶゆき
+おかもと,よしのぶ
+にしむら,としお
+やだ,やすお
+きど,さとし
+おかばやし,とおる
+かわしま,ひでと
+はしき,みつはる
+みやもと,まさのり
+なかお,しげる
+まつおか,なおき
+ひびの,ひとし
+にしかわ,えいいち
+かぶた,よしくに
+わたなべ,いちろう
+やまの,おさむ
+さいとう,よしお
+すずき,たけし
+くわはら,ひでお
+もりた,りょぞ
+ふじい,けんいち
+ながしま,はるお
+いなむら,きよし
+おざわ,かずおみ
+たきもと,おさむ
+みやした,みつひろ
+もうり,じゅんぞ
+いのうえ,たかみち
+ながの,いちろう
+はらと,たかひこ
+まみや,ゆきお
+ひがしばた,ひろみ
+にしたに,かおる
+たかく,けんじ
+はなだ,きよし
+あさの,こういち
+ばば,しげみつ
+いとう,ゆうじ
+いいだ,さとし
+こはやかわ,としひろ
+ふじわら,すみよし
+しゅくり,つねゆき
+ゆたに,まさひろ
+むねかわ,ひとし
+かんの,くにお
+にと,ひさし
+たむら,まさゆき
+なかしま,みつお
+おた,もとあき
+いのうえ,よしお
+くままる,としかず
+たなか,ひでお
+まえだ,さとし
+あみ,のぶゆき
+みなと,みのる
+にしだ,みちお
+いしはら,ひろし
+なかしま,しんきち
+いくた,けんし
+おき,たけひこ
+かがわ,かつみ
+ひらかわ,やすひこ
+やまざき,けん
+くまがい,いくこ
+たしろ,まさひろ
+さの,かつみ
+みどりかわ,よしあき
+なかむら,さとし
+よしみ,ちかこ
+いなみ,よしこ
+わたなべ,けんじ
+こが,しげる
+すがわら,まさあき
+たけうち,のぶお
+えだ,あきら
+あんどう,かずお
+たるい,さぶろ
+ごと,としお
+しもがき,やすひさ
+ながた,ただお
+ほしかわ,しゅひちろ
+こみなみ,としお
+かが,としのり
+はぜかわ,こうじろ
+ちば,みつしげ
+うらの,ひでまさ
+この,ふみひこ
+こばやし,まさのり
+ももせ,ひろこ
+つげ,ひでと
+やすこち,きよし
+ほそざわ,ともひで
+すぎやま,やすひろ
+あべ,よひち
+たなか,よしろ
+せいけ,ひろお
+つげ,ゆたか
+わかばやし,ひろし
+おくぼ,しげる
+おかべ,ゆきお
+いわい,じゅにち
+たなか,まさお
+やまもと,よ
+たかやま,のぶお
+たじま,しずか
+かずしろ,さとし
+こいで,としき
+かも,かずよし
+きたじま,ゆうこ
+はまの,じゅんじ
+いいやま,やすたか
+やました,しょひち
+きた,かつゆき
+いしたに,たけゆき
+くじめ,のぶゆき
+きしかわ,やすひろ
+ながの,まさのぶ
+よむら,あきお
+なかしま,たかお
+もり,ふみお
+やまじ,ひさお
+おぜき,てるゆき
+いなだ,みつお
+はやせ,なおき
+ほんぽ,ひでのり
+おひゃ,まさはる
+きたむら,たかし
+としん,たつのり
+たけい,よしゆき
+おかやま,しげる
+いしずか,としゆき
+はた,しょひち
+すがはら,しげゆき
+いわみ,さとし
+ゆもと,さだお
+きたがわ,かずお
+いはら,まさひろ
+のむら,ただのり
+みやさか,としゆき
+よしだ,えいじ
+ふかだ,よしかず
+ふじわら,まさたか
+きと,やすし
+うえもり,たかし
+やまかわ,すすむ
+くろだ,かんじ
+おつか,たかし
+うえだ,さとおる
+その,やすふみ
+じょだい,のぶお
+しんぞ,こうたろう
+うえだ,としあき
+わかみや,ゆうじ
+かむら,やすお
+ふるたに,ひでお
+かつうら,ゆたか
+くまい,ゆぞ
+ばば,いちろう
+かねとも,けんじ
+むらはし,ともよし
+どい,たかし
+なみかわ,かずみつ
+たかおか,としあき
+まつもと,いさお
+わたなべ,まさみ
+ただ,みちろ
+ありま,ひろし
+ながの,ゆうじ
+やの,みきお
+いさか,ともみち
+いとう,ひろかず
+やまざき,ゆたか
+くの,かずみ
+しば,ふみつぐ
+きむら,たかまさ
+すみだ,かつみ
+もとがいと,せいじ
+にわ,はるつぐ
+たけうち,たつみ
+たむら,とおる
+ぼた,たかし
+かどや,しげはる
+はらだ,けんじ
+みついし,りゅひちろ
+いのうえ,よぞ
+むらはし,まさひろ
+にしかわ,よしてる
+ますだ,としのり
+おた,てるゆき
+ふくい,ゆきひろ
+かげやま,とくいち
+ながつか,すみお
+くさの,かずお
+こじま,けんじ
+くらた,あきら
+たけうち,かずお
+いけだ,ひろかず
+たかの,しげこ
+くらや,ゆうじ
+おの,かずよし
+なかだ,けいすけ
+とくもと,ゆご
+おはし,よしのぶ
+やまだ,ひろし
+はんだ,けいすけ
+いしはら,まこと
+よしはら,しんいち
+たていし,こうじ
+いとう,くにお
+さとう,まさお
+おくら,けんじ
+なかすじ,ただゆき
+たいら,しげお
+きひら,ひろゆき
+なかじま,ただし
+やまざき,けんいちろ
+とびた,あつお
+なかざわ,ゆたか
+にしはら,しんいち
+めぐろ,つとむ
+まるやま,じゅんぞ
+きくち,たかあき
+あおき,としふみ
+きったか,あきら
+やすい,てつお
+いちまる,せいじ
+やまざき,さとし
+すがはら,としひこ
+とみなが,しふみ
+ちぎり,たかお
+おば,しょじろ
+まつい,よひち
+ひらやま,ひろし
+やまむら,はるひこ
+おで,ひでつね
+よしなが,ときお
+こじま,あきら
+とみなが,はるお
+さが,かずお
+はら,じゅんじ
+とみよし,こぞ
+よしだ,ひさのり
+ひらばやし,よしみ
+まつど,たみお
+いまふく,ゆきこ
+きよせ,よしあき
+はなぶさ,としゆき
+ちば,じゅにち
+やまざき,よしひこ
+なかはら,えいじろ
+おの,ゆりこ
+うえまつ,ふくみ
+あきやま,まさひろ
+とたに,みつのぶ
+よねだ,まさみ
+ふるくさ,ちかえ
+ひろや,たけのり
+よしだ,ちえこ
+かねこ,てつや
+ながた,ゆうじろ
+いべ,たかし
+せきね,そのえ
+おかだ,ひろかず
+かない,ひでお
+さとう,ゆし
+さかきばら,しんや
+いまい,すすむ
+ひめじ,としのり
+おぎはら,りゅじ
+たけむら,けんじ
+とひゃま,こへい
+きたはら,かよこ
+おさか,まさあき
+おこち,よいち
+たかお,まさひろ
+うど,さかえ
+うの,のりひろ
+ふじき,しんさく
+さとう,しげる
+いそがい,まさはる
+からさき,しんじ
+やまだ,まさゆき
+わだ,まさはる
+しばた,かんせい
+しおざき,ひとし
+しが,よしお
+くりた,みはる
+はしもと,しんぞ
+よしむら,まさよし
+みやざき,たかのり
+きたがわ,たかし
+おだけ,たかひさ
+すずき,かつひこ
+やまいし,かずまさ
+おぜき,のりこ
+たかい,としろ
+かねこ,きんご
+はらだ,ひろみ
+しまだ,としお
+やなぎ,まさみ
+すずき,よしお
+たかはし,たもつ
+おぐりやま,えつお
+わたなべ,としお
+やまむら,たつお
+たかはし,みつのぶ
+しおじま,みちお
+つるおか,よしろ
+いとう,たかし
+まつうら,ひろのり
+やまもと,きはちろ
+くまみ,ちから
+けんよし,あきら
+やまかげ,きよあき
+ごと,ひろし
+たけうち,さとみ
+はやし,けんじ
+いしばし,ひでゆき
+いな,けんさく
+いのうえ,たけお
+にしかわ,たかひと
+はんだ,やすお
+たてばやし,とおる
+おしま,のぶゆき
+しばた,けんじ
+みうら,ただひで
+こかご,かおる
+いいだ,とおる
+たけすえ,としみち
+いがらし,せいき
+ますやま,たかお
+さくやま,ゆぞ
+さくらい,たかし
+たまり,よしあき
+いまにし,ひろお
+おがわ,まさとし
+はぎわら,かずゆき
+おくに,としゆき
+いけだ,りょ
+まえじま,たかゆき
+いわい,ひでお
+やまだ,きよじ
+すだ,かずよし
+ときわ,くにひこ
+はやし,はるき
+たけもと,あつし
+かんばやし,かずのり
+とざわ,ゆたか
+たての,かずみ
+かんべ,てつや
+おくだ,よしお
+たもと,かずお
+ながい,けん
+おざわ,まさお
+さとう,みのる
+こんど,まさひと
+ねぎし,きよし
+たなか,ひでひこ
+こむろ,せいいち
+よしだ,あきら
+いいじま,かつみ
+にいほり,まさき
+こもりや,まさと
+しんど,おさむ
+やの,ゆひち
+たなか,かずお
+はぎたに,まさお
+こすぎ,つとむ
+いべ,しんご
+かなざわ,けいこ
+ただ,よしと
+ながた,とみお
+かまだ,のぶたか
+たかはし,しんいち
+おいで,やすなり
+たかくら,あきお
+やすまつ,ただし
+まる,てつお
+くぼた,りょひち
+たばた,とよふみ
+もりた,ひろみ
+くにとも,かずお
+あさぬま,よしたか
+ほしな,ひでずみ
+のざわ,よひち
+まつむら,まさとし
+ひらかた,ろくろ
+ひらま,だいきち
+しみず,のりお
+よこかわ,ひろし
+きくち,ただひさ
+くろさわ,りゅすけ
+たけうち,ひろし
+ひらが,よしお
+さいとう,まこと
+うちぼり,ひろし
+いなむら,すすむ
+おさだ,よしひさ
+すぎやま,のぼる
+いまず,けいいち
+うらの,のりお
+もちずき,つねじ
+すがわ,ひろかず
+いけだ,やすお
+たなか,はるひさ
+さいとう,しんいち
+ふじた,かずお
+みやね,はるお
+かまだ,たかし
+ねぎし,わたる
+おくがわ,あつし
+はやし,いさむ
+ばば,てつお
+やまもと,よじ
+えんど,のりお
+そめや,こういち
+あらい,よしはる
+あべ,たかし
+ちば,たかとし
+たかやま,やすただ
+やまき,まさよし
+たけうち,かずお
+たけべ,しげる
+あだち,としお
+たかしま,はるお
+よこやま,たつじ
+しらいち,としみち
+くどう,つとむ
+すずき,みのる
+たかしま,よしのり
+やまがた,ゆきお
+よしだ,ひさし
+みやかわ,のぶひこ
+ささき,つとむ
+いでうら,のぼる
+たなか,おさむ
+いとう,よしゆき
+おつ,あきら
+ふえき,たつお
+しもふさ,みのる
+みやかわ,ゆうじ
+はしもと,しげふさ
+やまぞえ,たかお
+にいくら,よしあき
+わたなべ,あきら
+むろふし,のりなお
+かんだ,まさる
+くどう,しげお
+たかはら,きよし
+おかだ,たかし
+どい,みのる
+たなべ,たくお
+こむろ,けんじ
+もりやま,むつみ
+あらまき,かずこ
+こしべ,ひろし
+さの,あつひこ
+おかだ,たけし
+ふじわら,としかず
+まつお,あつし
+たなか,まさたか
+きはら,たかし
+にしはた,こうじ
+にしわき,のぶお
+おかざき,としのり
+ふじわら,かな
+やすだ,かつまさ
+おか,けいこ
+ほその,わたる
+あかし,けいじ
+なかい,さとる
+やすだ,まもる
+てらむら,けんいち
+くぼた,ふみこ
+こにし,のぶお
+のむら,かずろ
+いのせ,のぶひろ
+わたなべ,よしまさ
+にしお,きょこ
+もみき,かずみ
+すなだ,みねお
+たけうち,なおき
+あきせ,ゆ
+しおた,よしたか
+きど,ひろかず
+いしわたり,おさむ
+しらがみ,ゆかこ
+うちなが,きょ
+たなか,しげお
+くろさき,たくま
+おとし,こういち
+さとう,きくじ
+すずき,ふみたか
+ひろた,よしゆき
+やのかわ,しげみ
+さかもと,あきら
+こむろ,くにこ
+いまた,やすひこ
+ほそや,かずひさ
+てらさか,こすけ
+ほんま,ひろたか
+かすが,さちこ
+まつだいら,ひろし
+かわかみ,よしひこ
+ねごろ,よしあき
+ふくだ,としお
+すずき,たかひろ
+とまつ,ひでや
+いの,しんいちろう
+すずき,てつお
+あさい,ゆひち
+はら,まさお
+ほし,まさゆき
+なるかわ,さいじ
+おだ,じゅにち
+おばな,まもる
+たにざわ,まさと
+ふじおか,よひち
+ごと,かずたか
+これなが,まさゆき
+たかはし,かずえ
+たから,ひろしげ
+おくわ,えいじ
+たなか,しゅじ
+さとう,しんじ
+しまぬき,えいぞ
+そね,ひろし
+たなか,よしじ
+ふじむら,たつろ
+ごと,じゅんじ
+はしもと,かずお
+ひるま,たかのり
+ほしば,くにかつ
+かめわり,かずのり
+おくい,たかあき
+ひさもと,しげやす
+すずき,まさひろ
+ひらさわ,たかし
+きたで,たかじ
+ふくだ,としあき
+しおざき,だいすけ
+むと,みつはる
+にしおか,きよし
+つぼの,ひでかず
+なつうめ,のりお
+たにがき,けん
+おすが,ひろし
+うちだ,かずお
+かとう,こうじ
+ささき,しんじ
+かしま,やすたか
+あかさか,あきら
+かわかみ,ひでよ
+しど,ひろみ
+やまうち,ひろし
+かの,おさむ
+はら,きよし
+まつばら,よしたか
+てらかど,のりあき
+しおた,かずひさ
+おかだ,けいじ
+くろだ,ゆたか
+もりもと,さぶろ
+せき,ひろひさ
+すずき,としまさ
+たけくさ,ひろあき
+たがしら,かずお
+こばやし,ひでお
+さえき,えいじ
+たつざわ,ひでお
+さいとう,のりお
+ふるかわ,かずお
+たむら,よひち
+つりや,たつや
+さかぐち,よしひで
+ふくしま,ゆたか
+おかわ,いくお
+ふじた,けんじ
+かわぐち,かずひろ
+ときおか,よしのり
+なかの,ひとし
+いのうえ,りょ
+くにとし,ふじお
+さかた,ひろし
+もりかわ,あきら
+のぐち,ひろし
+くぼた,のぶお
+なかおか,おさむ
+のふじ,けいじ
+もがり,きみあき
+まえざき,ひとし
+おつか,きよし
+みずた,ふみと
+すぎやま,まちお
+かがわ,ふみとし
+にしはら,よひち
+てずか,ひろし
+しおみ,しゅんすけ
+おはら,かつのり
+あさくら,てるお
+しまだ,とみお
+しまかわ,まさゆき
+はしもと,たくろ
+うず,こういち
+たかくわ,つねお
+みちた,ひろし
+うえだ,むつみ
+しが,たつお
+いけみ,けいじ
+もり,えいじ
+かしもと,いさお
+いしはら,しげよし
+かねこ,けんのすけ
+たかはし,よしひさ
+もとい,よしたか
+こたけ,よしふみ
+かさい,しんいち
+かとう,みつお
+こくぼ,ただあき
+わかやま,あきひろ
+さなだ,てつや
+さかた,すすむ
+のむら,ひとし
+はやかわ,しずお
+みやざき,まさのぶ
+おにつか,しゅにち
+いで,ういり
+ながさこ,たかつぐ
+いとう,みつぐ
+かねたけ,まさあき
+くぼた,ますみ
+ありま,ちえこ
+わかお,ちえこ
+いしざか,としお
+おた,まさお
+さかもと,みちお
+おほり,すえこ
+しんたに,のりこ
+うちやま,けいこ
+ひらた,しげや
+ありぞの,まさひこ
+いとう,とみよし
+あおやぎ,みつお
+なかむら,かずみ
+いいだ,しげお
+なしき,けんじ
+むらせ,おさむ
+まつお,たかのり
+さとう,みちたか
+あさぬま,てるあき
+ふたみ,きよゆき
+ふなと,けいこ
+ふじた,ひろし
+ふるかわ,たかゆき
+ふなはし,ぜんはちろ
+ぶと,けいご
+かの,ゆきお
+おきつ,としあき
+たかぎわ,たかし
+ほしの,みなこ
+にしじま,さとこ
+かまた,たかし
+つじもと,まさあき
+はなだ,さだお
+ひろせ,みちお
+にしだ,かおる
+うえき,かずお
+よしの,けいご
+きたむら,しろ
+しみず,しんいちろう
+いしざき,やすまさ
+はやし,くにみ
+きくち,ゆみこ
+おかど,たけお
+こむら,ひさや
+はしもと,ひろゆき
+なかつか,かつひろ
+おひし,ひろたか
+くろだ,いさむ
+なかい,ちえこ
+きたざわ,くにひろ
+きしだ,ちあき
+かなまる,としいち
+あらい,しんじ
+ふたつぎ,まさお
+きくち,ひとし
+いいだ,としかず
+なかえ,きよお
+ひらまつ,せいいち
+にしおか,みちこ
+さとう,ひさし
+もり,みつのぶ
+ほしの,ひでふみ
+やまぐち,つぐお
+うすい,しげる
+まつばら,つとむ
+ありさか,たけし
+にしお,ますよし
+きだ,まさよし
+やの,まさみ
+かとう,のりあき
+わたなべ,しげる
+はやし,まこと
+わたべ,しずお
+わたなべ,はるお
+ゆぐち,としお
+やまもと,やすし
+さいとう,あきお
+かいず,みのる
+ほしの,じゅんぞ
+しのはら,けいき
+おぬま,はるお
+みわ,いさお
+ほりむき,のぶひろ
+いしたて,よひち
+みふね,えいいち
+もみき,まさき
+はせがわ,えいじ
+すぎやま,てつお
+つくだ,ゆひち
+あだち,けんた
+でざわ,ちひろ
+おた,やすお
+さとう,よひち
+せきぐち,まさお
+こくぶん,ひろこ
+ほしな,ひさし
+うらの,ふみお
+たけむら,けんいち
+とくなが,ひでお
+くりはら,のぶひろ
+おくむら,まもる
+さいとう,たけし
+まつした,よしま
+たけだ,しんいちろう
+にしき,きよし
+うめだ,まこと
+ほんだ,てるお
+かも,しゅんじ
+うしだ,ただし
+さいとう,ふみのり
+はすだ,ただよし
+みかわ,きよし
+うちだ,あきら
+にしざき,みつのり
+いがらし,よしき
+わたなべ,ゆきふみ
+しまむら,こういち
+かとう,やすひろ
+かわべ,ひとし
+さかもと,ひでと
+もりした,じゅにち
+すがはら,しんいちろう
+とみやま,けいぞ
+ふくだ,みちこ
+おとざき,もとよし
+ふじもり,さかえ
+こもり,いくお
+ふくなが,かずうみ
+みやはら,つよし
+じんの,ひろつぐ
+きむら,ますお
+いながき,ようこ
+もり,くにひこ
+わたなべ,しょひち
+つじもと,しょじ
+もんぜん,あさこ
+なむら,こうじ
+やまもと,のりこ
+はしもと,しょこ
+やまうち,よじ
+あらい,もとよし
+ふじい,りょ
+わたなべ,かつひこ
+はせがわ,つよし
+しげやす,あつひこ
+やまのい,たかお
+こばやし,きよゆき
+ながい,まさあき
+さわ,かつのり
+まつよし,みつお
+さいとう,えいこ
+かの,ゆきこ
+うしごめ,のりお
+いしい,かつのり
+うすき,あきお
+すどう,ひろゆき
+かじやま,まりこ
+おば,えりこ
+すわ,ひろき
+いわた,うん
+と,やすのり
+おいかわ,ひろし
+ひらい,てつ
+たかしま,とよかず
+ふみの,えいいち
+おかざき,たくま
+しらき,まさる
+たけもと,よしあき
+まつもと,のぶお
+まつばら,みちお
+えびはら,かおる
+ふじの,ひろあき
+ふかや,やすお
+ほしの,こうじ
+かたやま,いずる
+あらかわ,よしお
+たかの,たかきみ
+くろだ,ひでき
+いとう,ふみお
+こざい,やすと
+うえやま,はじめ
+はっとり,ひとし
+にしむら,えいこ
+ふるかわ,としお
+やしき,ひろし
+ほどやま,のりお
+えと,まさつね
+やまもと,ゆうじ
+せきぐち,のりひこ
+たなべ,ひろし
+たけだ,こうじ
+しんたに,やすお
+くぼた,まさひろ
+すぎおか,たかし
+やまざき,さちこ
+さいとう,まさゆき
+うえの,かずお
+しまもと,やすひろ
+きたの,じゅんこ
+いいずか,みつる
+いずみ,きよし
+はらだ,としき
+おちあい,としたか
+やまうち,たかお
+えぐち,しげき
+はぎわら,ひでお
+たかぎ,ともひこ
+おくもと,まさとし
+まつざき,いさむ
+いちむら,ひでとし
+みやさか,としゆき
+みやた,かたし
+ながお,きよし
+いわお,さとみ
+ふかざわ,さだのり
+たむら,ひでき
+きりゅ,としたけ
+まつざき,こすけ
+かとう,まさみ
+みた,りょこ
+いしい,きょじ
+おかもと,たかゆき
+うえおか,さとし
+きょの,あきひろ
+かねこ,ひでつね
+さくらい,たけし
+わかばやし,たけのり
+わたなべ,まなぶ
+あさい,りょひち
+かどの,ゆりこ
+やまざき,ともこ
+あわの,せいいち
+おがわ,しょきち
+ぜんけ,まさし
+ふくもと,しげる
+おど,まさお
+もりもと,ただお
+とぼ,よしお
+かたやま,てるみつ
+ながまつ,なおと
+わたべ,いさむ
+いしき,てつお
+いながわ,のぶお
+なかの,まさと
+にしやま,ゆぞ
+しもだ,きょこ
+しげた,としひで
+まつもと,よしひろ
+かたやま,にすけ
+その,ゆうじ
+いせき,とよひろ
+いとう,としゆき
+せきね,たかのり
+むらやま,としお
+まるやま,ともひこ
+くろさわ,かずのり
+すみ,たかお
+のぐち,かずみ
+さとうみ,まさし
+おかわ,たかあき
+なかの,よしみ
+おひし,ゆ
+はぶ,ゆうこ
+うちだ,たかはる
+みき,やすよし
+すずき,みよこ
+かさはら,たかお
+おくぼ,ひろしげ
+かたかみ,ゆ
+たかはし,かつみ
+いしかわ,ゆきお
+たかとり,よしかず
+たにぐち,まさお
+せき,ふじお
+くぼた,けいじ
+あべかわ,よしふみ
+ふじまき,とおる
+かたやま,ゆうじ
+こやま,ひでき
+はしもと,つぐひと
+すみ,ひでのり
+にしかわ,じょじ
+さわま,あきら
+はしもと,のりまさ
+なかた,ふみのぶ
+うちやま,つねゆき
+ささき,いずみ
+あさはら,かずはる
+にった,のりかず
+だん,としひこ
+すぎた,かずや
+やまもと,たかお
+おふち,しんじ
+こばやし,ゆきまさ
+みよし,まさと
+いしだ,むつお
+おにき,たけし
+くりはら,まさゆき
+しらい,けんじ
+さかにし,あけみ
+おだ,みちお
+かます,ひろし
+なかがわ,あやこ
+かしもと,ゆうこ
+ばんど,やすまさ
+ふたみ,ひろし
+やました,まり
+はやし,みつひろ
+かげやま,ふみこ
+あすま,るりこ
+しもむら,てつし
+やまぐち,しんいち
+やまと,みき
+さとう,みわこ
+まつだいら,こうきち
+まつむら,ひでひこ
+この,のぼる
+おはし,たみお
+きくた,つかさ
+よしおか,けんいち
+さの,ひさし
+たなか,けんぞ
+ささき,まさよし
+かわぐち,きょひち
+やました,ゆずる
+たけむら,まさし
+ふくち,たかし
+まなか,ゆうじ
+あらき,みのる
+ひらの,のぶお
+なかむら,ゆひち
+はしもと,ただし
+かとう,ひろし
+はまかわ,しげる
+はやし,かずや
+いとう,としみち
+すずき,よしや
+たけうち,やさぶろ
+にし,しげき
+いわほり,ひろし
+いまい,よしお
+もりの,ゆきのり
+にしはら,すすむ
+きりや,あつし
+さとう,たつお
+ほそだ,ふみお
+たかはし,かずえ
+なかじま,とみえ
+やすはら,たかのぶ
+くろいわ,よしかず
+かも,つとむ
+あかまつ,としかつ
+きたむら,いくこ
+にしだ,くにお
+おかだ,けいこ
+ささき,けんいち
+たかはし,いちろう
+しみず,かずひこ
+えんど,こういち
+うだがわ,としまさ
+しみず,くみこ
+あおやぎ,たかし
+はしもと,けい
+たけうち,ひさと
+あらい,とよこ
+いしじま,ひさこ
+こがね,ただし
+さわしま,しげる
+たかやなぎ,なるゆき
+まさだ,たかし
+しみず,ひろし
+おのでら,くにあき
+たなか,まゆみ
+のむら,ゆきこ
+よしだ,しんいち
+よしだ,としゆき
+さたけ,ひろし
+さいとう,いさむ
+みやぎ,しんすけ
+たかしま,てるお
+かばや,のりふみ
+いしざき,せいぞ
+かがや,かずお
+こたに,ひであつ
+こすだ,やすし
+いじり,いさお
+まるやま,ひでお
+かない,しんいち
+やぎ,みのる
+ふじの,ひろみち
+こでら,あきひで
+すぎお,たかお
+すがはら,みつる
+さいとう,のぶお
+おか,ひろし
+いしまる,としすけ
+みやざき,しんじ
+はまの,まもる
+こたじま,ひろし
+たかしま,けいじ
+つかだ,ひろふみ
+なかむら,しんいち
+たけだ,よひち
+やすむろ,たくもり
+なかむら,やすあき
+ふじしま,ゆたか
+おかだ,たみや
+あや,よしお
+なかむら,みつぐ
+たかはし,さとし
+すがはら,まさと
+ゆあさ,まさゆき
+いしい,こういち
+おくぼ,みつやす
+おさわ,はるやす
+やまもと,おさむ
+いまいずみ,こぞ
+おかだ,みちお
+なかむら,よしのり
+たなか,あけふみ
+なかの,せいいち
+おもり,かつふみ
+やまもと,まさのり
+ながい,はるひこ
+こばやし,ひろし
+ひきち,しげまさ
+やまだ,たけし
+つかもと,みつまる
+いのうえ,みつまる
+いのうえ,たけひろ
+すみかわ,しげただ
+ふくだ,けんじ
+やまもと,むねよし
+さいとう,ひろとし
+かんば,まさたけ
+さらい,みきお
+さかき,かずひこ
+やすい,よしひろ
+かみむら,くにお
+せべ,きよし
+よしだ,たくお
+ながせ,かずひこ
+ふくち,かずお
+ふくだ,ゆきまさ
+のなか,よしはる
+いまだ,ひさし
+にしかわ,としお
+こやの,つとむ
+なかざわ,まさと
+おがわ,あきら
+なかやま,かおる
+ぬのかわ,じゅにち
+そね,せつこ
+みぞぐち,ゆうこ
+こばやし,よしみつ
+よしまつ,まさあき
+おはら,しょじ
+やまだ,たかし
+みのぐち,たかし
+しんめん,よしたか
+のせ,としかず
+いわはし,ただし
+あかい,いずみ
+つたもと,じょじ
+なかもと,のぶひこ
+くだなみ,まさひろ
+いちだ,ますこ
+やの,ひでお
+まつき,あきお
+ささき,たかし
+ふるの,はるひさ
+ふじた,けいこ
+いのうえ,ふみお
+たや,ゆきお
+みやざわ,いわお
+わたなべ,まさお
+あくね,まさおみ
+ほしの,しんじ
+よしだ,よしのり
+うえむら,たかふみ
+かみや,まさお
+すずき,りょひち
+あんどう,たけし
+とよいずみ,まさはる
+くわな,みのる
+にいみ,まさゆき
+みうら,たかし
+のむら,えいじ
+おかだ,きみお
+あさぬま,よししげ
+ささお,かおる
+いながき,あきら
+すがわら,みどり
+しょじ,みつやす
+たがわ,たろう
+そが,ようこ
+しょわ,としろ
+まつかわ,しんいち
+しもむら,かずお
+わたなべ,のぼる
+こばやし,けんじ
+いいだ,たけし
+ふくもと,たかはる
+むらやま,としお
+ほり,のりこ
+やまの,かつし
+にしわき,おさむ
+まつお,あきら
+おかもと,じゅん
+おさき,かずひろ
+うめもと,ひでゆき
+おかむら,まさと
+こいけ,さとし
+おたに,たけさだ
+かたおか,みのる
+おかだ,のぶとも
+ふくしま,きよみ
+えだなか,ひろゆき
+すずき,ゆうじ
+いちかわ,なおゆき
+くろかわ,しんじ
+さとう,こういち
+おさわ,けんいち
+もちずき,ひろき
+やました,まさあき
+いちかわ,ひでお
+ふかざわ,よじ
+くぼた,まさな
+にしむら,まこと
+ねぎし,けんいち
+こんど,なおふみ
+ふるや,あたる
+こばやし,こせい
+たむら,まさあき
+みつはし,まさき
+くまざわ,しちろ
+やまだ,よしお
+ひろつ,やすのり
+かねだ,しげる
+あそ,せいいち
+えびはら,きよし
+やすい,きよひさ
+すどう,かずひこ
+やはた,すえひろ
+さかい,けいいちろう
+さが,たかし
+やまざき,かずほ
+なかむら,のぶお
+いざわ,こうじ
+あらい,ひさゆき
+うぶかた,けんじ
+わたぬき,みつぎ
+ひした,たつお
+かとう,ひろひこ
+やまね,だいはちろ
+やました,かつみ
+のむら,よしお
+やない,かずみつ
+むらかみ,ゆたか
+あおき,ゆきお
+やしろ,きいち
+あさま,くにお
+おくだ,ひろこ
+いしばし,まさのり
+みなみで,ともひろ
+いぬずか,よしお
+ときわ,えみこ
+みうら,ようこ
+まぶち,ひろちか
+おばら,けんいち
+まつき,さだみ
+えぐち,ただゆき
+おみ,のぼる
+わたなべ,ゆうこ
+あらかわ,よしと
+すがの,ひろし
+やすい,よしろ
+みやもと,まさゆき
+ふじぎわ,まさみち
+きたがわ,あきら
+たにぐち,すすむ
+こじま,まさひろ
+あまかわ,ふみお
+おぬき,ゆうじ
+たなべ,ひであき
+まるはし,こへい
+やどや,よしはる
+おがく,やすのぶ
+さかた,としはる
+はら,ひろゆき
+たかぎ,ひろし
+あいはら,けんいち
+おた,たけし
+あきやま,たけし
+しみず,しんじ
+こばやし,あきら
+はたもと,こへい
+うすだ,ひろやす
+たかはし,こういち
+なかがわ,みきお
+まつばら,みつる
+くぬぎ,よしあき
+おがわ,ゆたか
+つじ,ゆたか
+かわい,こうじ
+すがわら,いさお
+むと,じゅにち
+おばら,よしひろ
+かとう,こへい
+かぶらき,ひでみ
+わかたべ,ひでお
+おがわ,あきら
+いわさき,とおる
+なりた,よしひろ
+あきやま,たかお
+みつい,おさふみ
+えんど,けんじ
+よねた,たかのぶ
+あおい,かずお
+おかもと,てつお
+おつか,はるお
+ふくもり,ゆたか
+てしま,よしお
+はま,かずたか
+よしだ,けいいちろう
+かわべ,しゅひち
+たなか,かずお
+たかはし,やすとし
+たなべ,たかゆき
+あそ,ゆきお
+たかだ,つとむ
+みやの,こしろ
+うえずみ,ひろゆき
+いちかわ,おさむ
+あさわ,たかし
+いなもと,けいいち
+もりや,ゆたか
+なかたに,あきお
+みやもと,きよし
+みくに,よしひさ
+きたむら,しんいち
+やたべ,さかえ
+ながかわ,かずまさ
+やな,ひでき
+さくま,はじめ
+あらい,よしはる
+しまだ,やすのり
+てずか,きょひち
+うえの,ふみあき
+さいとう,ひろいち
+おくわだ,ひろし
+よこやま,としお
+わたなべ,ひとし
+にしむら,やすあき
+たかまつ,ともふみ
+にしむら,かずお
+いちき,ひとし
+いわした,けん
+おの,いちぞ
+にしき,えいいち
+さわ,ただまさ
+たかみ,まさひで
+やすふく,りょひち
+おた,かずお
+おかもと,みつる
+さかい,としお
+ふじもと,なおこ
+まつもと,しゅにち
+おひゃぶ,しゅにち
+にしむら,ひろゆき
+ほりうち,まなぶ
+いしもと,よしおみ
+まつもと,よひち
+たけうち,あきのり
+もとやま,こういち
+よしなが,たつま
+ふるかわ,ひろし
+たにぐち,のぶつな
+たけこし,としお
+つむら,たつお
+おの,かずお
+おかもと,おさむ
+ふるた,けんじ
+にしの,ひろし
+みずたに,ひろまさ
+こやま,やすお
+きくち,ときお
+おこうち,しげのり
+かわた,かずや
+くはら,しゅひち
+ふるはし,けいいち
+たかよし,しゅひち
+かす,なりお
+あみもと,しんいちろうう
+むねとう,こしろ
+まつもと,こうじ
+たかなし,みちお
+あきた,よしお
+たかはし,まさとし
+ながい,こせい
+よしだ,しげお
+まつもと,さとし
+とくだ,まさひろ
+ひらい,そういちろう
+おくしま,ひろゆき
+ました,ひさし
+やまだ,けんいち
+さくらい,まさあき
+たきざわ,たかし
+ますこ,よしゆき
+しんかわ,こぞ
+おたに,ふみとよ
+かわの,のぶゆき
+あらかわ,すすむ
+あだち,としお
+うちだ,すすむ
+こはら,まさあき
+おはし,としお
+かめおか,やすみち
+みむら,たかし
+いき,つかさ
+あしずか,やすあき
+やまもと,みちお
+よしだ,のぞむ
+はらおか,たかし
+うるわし,しげお
+おんだ,きみひろ
+いんど,ともお
+たけなか,さとし
+ふじさわ,ゆうじ
+おもり,ひろえ
+なかむら,ただひろ
+しょじ,よしみつ
+きたじま,てつお
+いとう,たかゆき
+ひらお,けんじ
+すみもと,としひこ
+なかたに,かずひこ
+あらしま,よしお
+かたやま,とみお
+うえだ,よぞ
+ふじもと,ひろし
+やまはた,ひろのり
+おたに,おさむ
+いいぬま,かつやす
+ながさわ,ひろし
+やすだ,けんじ
+ふくしま,まさお
+さかきばら,まさとし
+かとう,まもる
+よこざわ,まさゆき
+かどの,ひろし
+やまおか,よしのり
+かみたに,よしあき
+かとう,あきら
+のもと,かずたか
+すぎもと,のぶや
+ふじの,ひろし
+いのうえ,ゆきお
+はせ,ゆきのぶ
+もり,まさひろ
+かわばた,ひろふみ
+かわぞえ,りゅじ
+はしもと,つとむ
+ひろまさ,よしひろ
+きしもと,よしろ
+ひらつか,しゅじ
+うえだ,りょひち
+あらい,あやこ
+いいだ,たかし
+ひろしま,ふみたか
+いさか,かずみ
+すずき,きよし
+くらもち,ひろき
+さいとう,えつろ
+すずき,としかず
+ふかや,せいいち
+さかい,こうじ
+おわだ,しょじ
+かめや,まさかつ
+くさうら,えらぶ
+わだ,ひでお
+ごと,しょひち
+ひらふく,だいしん
+もろや,やすひろ
+いけだ,くにお
+ますだ,みのる
+みずの,よしゆき
+はやし,としひこ
+あおき,まさゆき
+こばり,しょぞ
+みさわ,かつひろ
+たかぎ,よしお
+えんど,たかお
+すがさわ,まさお
+おりはら,みつぐ
+まつなが,てつじ
+かさい,としろ
+せむら,としお
+さくらい,かつみ
+てらかど,としお
+ふじた,かずお
+かわのべ,きょひち
+あおば,あきら
+むらもと,ひでとし
+つぼうち,さだゆき
+ふるしょ,まさはる
+しばやま,としたか
+やまもと,きよとし
+うちだ,としひこ
+まえざわ,まさゆき
+こむら,さぶろ
+やまさき,てつお
+うしき,けんいち
+まちやま,せいじ
+ふじぬき,とよみ
+なかむら,たかふみ
+くすもと,きよあき
+すずき,たかし
+うえやま,たかあき
+こいけ,よしゆき
+はせがわ,やすあき
+ふるかわ,かいち
+やまだ,まさる
+ゆはらぎ,ゆきよし
+おしま,たかし
+そね,ふじお
+とま,ふみお
+たかはし,たかひろ
+かけはた,ひろふみ
+いしい,とみお
+さとう,あきのぶ
+むらやま,よしじ
+ほりぐち,かずみ
+なかざと,しょじ
+さとう,すすむ
+かねこ,まつみ
+かしま,てるお
+とぐち,よしお
+こみやま,としゆき
+やまおか,ひろし
+たかはし,みつあき
+もりた,やすひろ
+よこい,あきお
+ひらい,みつよし
+しいばし,のりゆき
+かねこ,まさひろ
+なかね,さちひろ
+せきぐち,しずお
+みもり,まさお
+きくち,しげる
+やまもと,のりゆき
+あらかわ,けんじ
+ともくに,まこと
+とみた,ひろし
+たかはし,まこと
+とがし,りゅぞ
+かわむら,としのぶ
+ふくなが,ひろむ
+まきた,きみあきら
+さの,よしのぶ
+さとむら,けいいち
+さかの,けいいち
+つちはし,よしのぶ
+うえの,けいいち
+なかがわ,まさたけ
+とくなが,まさふみ
+いとう,のぶはる
+ひさまつ,てつお
+おつか,たかひこ
+かわもと,まさたか
+のむら,かつじ
+かの,たかお
+うえさか,まさき
+ふじわら,のりかず
+おがわ,しゅへい
+くらた,のぶお
+はなそと,としひろ
+にしかわ,けいじ
+えびす,とくみ
+やすのり,みのる
+さかい,けいじ
+まえだ,じゅんや
+ふくだ,しげあき
+やまもと,けんぞ
+しおた,ひであき
+むらかみ,けんじ
+いくみ,かずお
+なかぎ,とよとし
+とくまつ,かめお
+たにい,しげき
+おひゃま,よしいち
+たの,ゆたか
+おた,ゆうじ
+くまの,ひらお
+さわぐち,まさと
+あさの,ともふみ
+さかぐち,とよふみ
+わたなべ,たかよし
+かとう,ひでお
+まえかわ,よしはる
+まつもと,たけし
+まつもと,よしあき
+やまなか,しげたか
+こばやし,まさずみ
+ふじた,やすまさ
+やぎ,ともよ
+いわい,たかし
+ふくしま,ゆみ
+ふるかわ,たかお
+おがた,としゆき
+すずき,けんじ
+しかま,たかちほ
+きしもと,ひろのぶ
+ころぎ,あきお
+ふたみ,まさくに
+やしろ,かずお
+はりいけ,のりゆき
+しむら,つとむ
+ながくら,かずお
+みなみ,たかし
+とくなが,かずお
+たなか,としお
+てらさき,えいじ
+かとう,こうじ
+みずの,たつお
+たもと,まさみ
+うちだ,まさたか
+たけいち,ひでみ
+ひびの,こういち
+こばやし,まさのり
+わたなべ,ただひこ
+ふかだ,たかし
+いしたに,しゅにち
+いで,かつみ
+にいさと,きよし
+すなはら,としお
+しみず,よしはる
+かとう,ありまさ
+ないとう,いちろう
+こいけ,こうじ
+きたむら,きよし
+かがわ,ふくむ
+いけだ,しろ
+かの,とおる
+おかもと,よしあき
+こばやし,ひとし
+いしい,ひろかず
+さえき,よしゆき
+さわだ,ひろし
+ごと,りょへい
+おの,ひろただ
+ふなおか,まさひろ
+しんや,かずひさ
+ほんざわ,よしゆき
+やまうち,まさゆき
+いしの,しょじ
+いおく,まさお
+あらき,のりゆき
+ふじわき,じゅんじ
+いちむら,とすけ
+はやし,とよひこ
+もり,としゆき
+きむら,たかし
+ゆきふき,たかし
+はぎもと,そじ
+はしもと,さだひろ
+きたやま,まさひろ
+ふじもり,ますゆき
+おくの,たかし
+やまだ,のぶゆき
+たご,まさひろ
+あさい,まさあき
+もりの,まさかず
+みない,ひかる
+もりさわ,しげじ
+なりさわ,つとむ
+もりもと,ひでとし
+こばやし,ようこ
+しまだ,みのる
+すずき,まさき
+ふくだ,よしさだ
+あらい,たくじ
+たにやま,しげる
+おかもと,まさひさ
+だいもん,いわお
+はやし,ひでお
+いしだ,よしてる
+ひろさわ,けんじ
+よしおか,おさむ
+まつもと,みつお
+なかじま,たかし
+きた,よしひろ
+にしむら,ひろし
+はっとり,けいこ
+やまもと,とよこ
+いとう,ふみこ
+きたむら,まさる
+たなか,よしのり
+いおき,ひでき
+かまた,みさこ
+しみず,けい
+ますおか,あきのぶ
+さわだ,しゅひち
+なかいし,まつお
+わたなべ,みのる
+よしざわ,よしなお
+ささおか,ふくお
+たかみ,よしみち
+やまぐち,まさずみ
+いまふく,しんいち
+かみや,さかえ
+わさ,さなえ
+きくち,しげかず
+うかい,ひでお
+いわま,かずお
+つじ,あきら
+たけだ,ますみ
+せとがわ,とみお
+こしむら,とみやす
+わたなべ,こうじ
+うさみ,ひろし
+おかだ,ひでお
+ふじわら,しょこ
+かとう,たけゆき
+いしはら,まさひろ
+ひなた,あきお
+うえすぎ,のりあき
+しばた,しょひょ
+おくだ,としお
+すなやま,ただし
+いまい,とみえ
+なかむら,ひでお
+なかもり,あきひこ
+ふかさわ,みきお
+みずた,せいいち
+おの,ぶんじ
+さいとう,さだつぐ
+しゅど,しげとし
+ふくい,まさし
+のだ,じゅにち
+おの,みつのぶ
+こがみ,としひこ
+みき,しょじ
+いけだ,やすゆき
+ふじもり,まさる
+たかだ,きょへい
+いけだ,しげひろ
+いとう,のぶかず
+わたなべ,まさる
+さわだ,よしお
+まえじま,あきひこ
+いなむら,のぶお
+なかむら,こうじ
+なかじま,むねひさ
+いわま,しんいち
+わかつき,かずし
+はせがわ,ひろし
+いのうえ,みのる
+かさはら,たつひこ
+にしやま,かなえ
+すどう,はるき
+おかべ,よしまさ
+ふくば,まさゆき
+まつなが,ふみお
+さかい,としひこ
+ふじた,かずお
+なかやま,のぶぞ
+よねだ,のぶたか
+くまた,かずひろ
+こやま,まさふみ
+よねやま,まこと
+ふじかわ,すすむ
+はりがや,ひろし
+はせがわ,しのぶ
+よしだ,よしゆき
+くすのき,ひでき
+たかはし,よしろ
+ながた,たかし
+そのくら,こうじ
+ますもと,まさひろ
+おぎはら,じゅひち
+よしだ,としひろ
+たなか,けんじ
+えだ,やすお
+なかじょ,ひろひこ
+いいずか,ゆきお
+てらにし,たかやす
+ふくい,けんぞ
+でむら,こういち
+さえき,ひろゆき
+うちだ,たけし
+しいな,けんじ
+ふるや,ひろあき
+ながくぼ,かずひと
+てらうち,ただし
+おたか,よしふみ
+ふじよし,さちこ
+さいとう,しんじ
+くろさわ,ひろし
+いしかわ,よしお
+よしの,ひろし
+こみや,まなぶ
+やまがた,まさひこ
+つや,せいいち
+にしの,たもつ
+うちだ,のぼる
+わたなべ,まさのぶ
+もりた,せいじ
+こしだ,かずひこ
+ひろせ,しげはる
+よしむら,ひでのり
+みうら,のぶお
+こいずみ,よしはる
+てらお,おさむ
+せがわ,ひであき
+かいずか,まさあき
+ふくます,とおる
+いとうず,まさお
+せきがみ,ふさえ
+ふじ,けんそ
+よしむら,たかし
+ふるもと,かずよし
+たきた,としお
+おかだ,かおる
+たかはし,のりゆき
+たにふじ,ひさお
+いまおか,かずみち
+わたなべ,のぼる
+やまもと,こぞ
+よだ,りょへい
+ふかやま,かつとし
+やまぐち,よしかず
+さの,ひでのぶ
+たかはし,みつひろ
+まつもと,みちお
+やの,あきら
+あきば,すずよ
+みどりかわ,じょじ
+たかし,ひろし
+ふるかわ,いずみ
+ひきた,きよじ
+おざき,よしゆき
+あおき,まなぶ
+さえぐさ,ひろひさ
+ふじもと,あきら
+こにし,まさあき
+おにし,かずひろ
+ひぐち,けんじ
+くぼた,かおる
+やまぐち,やすお
+ふるかわ,ひろし
+なりた,ひさお
+たなか,きみ
+はたけやま,ゆり
+みやもと,きよし
+のざき,ひさし
+はせがわ,かずよし
+しらかわ,ひろみつ
+あいだ,みよこ
+ひろかわ,みのる
+りゅかわ,えいじ
+やまぐち,よしあき
+くりさき,しげおみ
+もりもと,まさひろ
+くぼた,ひろし
+くまさこ,ゆうじ
+あだち,しゅんすけ
+この,ふじき
+やまもと,じゅにち
+いわい,しろ
+おはら,まさと
+いしはら,いちろう
+あおき,ふさいち
+もり,てつお
+ろっぽんぎ,みさお
+かとう,やすはる
+さとう,ちょしろ
+まえぞの,よしひこ
+ふじもと,こへい
+たにむら,ひろし
+なかにし,つよむ
+たかはし,ますみ
+なかい,ひでお
+たかはし,よしみち
+しも,まさあき
+しばた,もりしげ
+ふるみち,けんた
+たけだ,ひろあき
+ふじた,えつこ
+かぎやま,りょた
+わち,ひでお
+ふじた,とものり
+こんど,たけし
+まつもと,よりこ
+ふくい,まさあき
+すがわら,こういち
+ふかやま,やすお
+いまい,えいじろ
+さとう,ひでのぶ
+かなざわ,ひろし
+ふちざき,ゆたか
+つかだ,しんじ
+いしざき,かずみ
+とくら,たけふみ
+とのさき,ゆひちろ
+たかき,いさむ
+ふじた,よしお
+ながせ,あきら
+たなか,ひろし
+たつみ,てつや
+やまもと,まさのり
+ふくた,ひとし
+くわはら,しげのり
+ふじた,たかし
+いなくま,ひでゆき
+みさお,こうじょ
+なかした,あきら
+おくやま,まさたか
+ながえ,くにひこ
+ながい,かずお
+やまざき,おさむ
+しらいし,しょひち
+うえだ,たかゆき
+おじま,みきお
+ひろせ,もとよし
+ひらの,ひでお
+ふるた,ひろゆき
+こぬま,れいこ
+たかやま,ひろゆき
+あさした,よしあき
+よつはし,ゆひち
+つちや,たかなお
+おにし,よしゆき
+やまぐち,えいぞ
+しずの,としこ
+はしべ,こぞ
+ほりい,まこと
+ながおか,ゆうじ
+くりた,かずひろ
+きば,しょご
+いだ,まさる
+ふくとみ,しょひち
+こばやし,しげる
+いり,ひろあき
+さた,まさのぶ
+まるやま,まさる
+あおやま,たかお
+しんど,かおる
+あいかわ,ともはる
+さかのうえ,まさふみ
+ふじまき,ひろし
+かわはら,たかみ
+むらた,いさお
+よしだ,しょじ
+いたくら,いさむ
+じぞばら,りょひち
+たなか,みよし
+かじわら,のりこ
+たなか,しょへい
+はすいけ,さなえ
+とま,まちこ
+かわきた,かずみ
+まつもと,のぼる
+はせがわ,けんいち
+ふじい,ますぐ
+のむら,ひろふみ
+ようこた,しげる
+かなざわ,やすお
+ますやま,きょじ
+かの,けんいち
+ふなやま,ただあき
+やました,まこと
+さとう,ひでゆき
+かめもと,ゆひち
+いとう,てつや
+おくむら,よ
+ふじい,としお
+きはら,しゅひち
+のむら,おさむ
+あくたがわ,しゅじ
+いしだ,ゆみこ
+うめはら,あきら
+おぎ,やすひこ
+こんど,みつお
+たけだ,とおる
+まつい,みちたか
+かみおか,ひでお
+かもした,こぞ
+やなぎさわ,しんいち
+たけうち,ひろし
+もんま,えつお
+いいだ,きちひこ
+はせがわ,まさかず
+ながほり,よしふみ
+もりおか,きよし
+にしやま,しげお
+やまもと,てるお
+いしだ,たかし
+ふるど,りさく
+かんだ,つとむ
+いしだ,くにお
+さいとう,しげる
+きむら,なおゆき
+いわみ,はるお
+もり,けいこ
+たかやま,ふみえい
+はやしぐち,まさる
+さいとう,ひろみ
+しばたき,たけひろ
+おぎはら,まもる
+かとう,みのる
+ふくと,かなえ
+おだ,としじ
+さとう,ひろし
+なかむら,ただのり
+はまだ,あきお
+おがさわら,やすお
+むらき,としお
+おはし,まさお
+たかの,まさあき
+なかざわ,しげる
+みやじ,たかひろ
+すえなが,ひとし
+たたき,やすのぶ
+よしだ,しゅいち
+あおき,しょぞ
+すぎむら,あきひこ
+いとう,やすお
+たかはし,くにあき
+すずき,よしはる
+かたやま,いさみ
+さいとう,なおや
+たじま,ひであき
+あべ,まさひろ
+なかじま,ゆたか
+やまぐち,たかひろ
+わきざか,てつや
+さこ,かずひこ
+おつか,あきひと
+つかもと,たかし
+いのうえ,かずとし
+ながお,あきひろ
+うらば,やすお
+こじま,あきら
+たけだ,いわお
+あおの,ひでし
+いずかわ,かおる
+くどう,まさとし
+なかむら,しんいち
+まつお,いさむ
+いながき,としひこ
+にしもと,まさし
+いのうえ,ひろし
+おのでら,よひちろ
+いしざか,しげき
+はぎわら,まこと
+ふるた,まさひこ
+うえじま,さだと
+ぬまた,ともひろ
+えんど,すすむ
+かがやま,ふみお
+ゆりもと,とおる
+ふち,まさお
+ふじおき,やすひろ
+さいとう,ゆうじ
+まつもと,じにち
+ひろせ,のぶお
+ばば,かずあき
+こばやし,としゆき
+すずき,まさふみ
+なかやま,しんいち
+きし,しょひち
+あさの,ひとし
+えんど,てつや
+いしばし,としひこ
+かいだ,けんぞ
+いけじま,まさる
+はらだ,とみお
+はまの,しゅひち
+かわい,まさひろ
+わだ,しんや
+さとう,ひとし
+たなか,ただお
+あくつ,ひろのぶ
+いとう,まさとし
+あんどう,みつあき
+あいざわ,よしかつ
+くぼた,じゅひちろ
+ふかうみ,ひろゆき
+しみず,まさみ
+たかはし,かずお
+なみき,ひろし
+のざわ,まさかず
+こいたばし,あきお
+たていし,だいご
+かわかみ,みつお
+こばやし,ひであき
+おのずか,としお
+たぐち,このむ
+たかはし,みちる
+さとう,としまさ
+くわはら,ひろし
+せと,せいじ
+ごけ,よしのり
+よしむら,きよみ
+たかやま,いわじ
+ささき,ふとし
+かの,きよし
+たかはし,さとし
+ながおか,ひとし
+すずき,さとし
+やまぐち,てつろ
+もり,やすし
+すずき,きよひろ
+うえむら,ひろみ
+やぶはら,かずお
+しらいし,かずのり
+きくた,ひでお
+なかい,みつぐ
+くらもと,まさあき
+すみよし,やすひろ
+たかぎ,しろ
+しょじ,さとし
+おさだ,ひでき
+あさの,きよし
+いわさ,のぶゆき
+ばば,ゆきお
+ひろた,しげき
+ふじもと,しげはる
+さの,ともゆき
+もとき,ひでき
+いとう,あきら
+うけがわ,さとる
+うめばやし,いつお
+いなとみ,まさとし
+たかやなぎ,みつよし
+はら,かずき
+なかはら,まさのぶ
+さいたけ,みつのり
+かしやま,ゆたか
+さかい,ひでお
+いとう,ひろひさ
+なかむら,のりお
+おのぎ,まさゆき
+いかみ,さとし
+たかはし,きよし
+しいな,ゆたか
+たまのい,さとおる
+くぼ,みさこ
+きむら,まさる
+ほった,やすゆき
+ほかり,まさのり
+さとう,ふみお
+ほしの,いさお
+かぶらぎ,かずよし
+おさだ,まさあき
+すえひろ,いさお
+むらかわ,ぶんろ
+いわさき,せいじ
+やまむら,ひろし
+もりた,ともゆき
+いけだ,のりかつ
+やうち,よしのぶ
+やました,たけし
+わたなべ,ゆたか
+あなん,しんいち
+にしの,とみお
+こしみず,しょひち
+たかはし,ひであき
+えがわ,たかし
+やまざき,ひとし
+いまぜき,たかゆき
+すずき,あきお
+にしはら,しゅひち
+おかべ,としひろ
+さかい,としふみ
+ただ,たかお
+すえよし,よしみ
+はやし,けんじ
+たかはし,しんじ
+こあし,たつお
+もりかわ,よしのり
+かとう,ひろし
+まえば,かずひで
+やの,ひろし
+いとう,えつじ
+なかい,たつろ
+おだぎり,やすお
+えんど,かずお
+たけい,としお
+なかたに,たつひろ
+いわさき,よしふゆ
+からかさ,ひでき
+あさの,ゆひち
+いわぶち,いさむ
+はんだ,まさひろ
+てらお,としお
+たけい,みきお
+はしもと,いたる
+みやさか,けんじ
+てらだ,はじめ
+さかた,えいし
+ながや,やすくに
+はしもと,まさひろ
+おくら,たつお
+なかさき,よしはる
+きりはら,ひろし
+あらい,かずお
+いわの,てつお
+はっとり,やすゆき
+すずき,みちのり
+にしはら,ともひろ
+ささき,あきひろ
+はなふさ,けんいち
+のどの,まさる
+かわばた,とおる
+しみず,よしゆき
+ながしま,よしもと
+もり,よしみ
+しみず,つとむ
+ひさやす,いちろう
+かたうら,やすゆき
+たけむら,かつみ
+いまにし,けんじ
+おかだ,つとむ
+なかえ,みつぐ
+しろの,としゆき
+よこやま,しゅんじ
+おかざわ,ひろゆき
+かみじょ,ひろのり
+くまべ,とおる
+しみず,ひろし
+やなぎさわ,しずお
+まきの,つとむ
+さわ,たつゆき
+うしろだ,くにお
+まちだ,よしなお
+こばやし,つぐひこ
+しげむら,かずお
+ひぐち,しげあき
+いいぬま,けいぞ
+いずみ,しげゆき
+はやし,あきみつ
+やぎ,まさと
+おかわら,あきひこ
+ふくおじ,おさむ
+うがじん,じゅにち
+たなべ,のぶお
+ごしま,まさひこ
+あんどう,のりとし
+おだま,まさお
+おかざき,たつろ
+いしかわ,しょひち
+むらやま,ゆうじ
+はやさか,わたる
+なかじま,くにお
+たけもと,つかさ
+きたじま,たかお
+みかみ,としはる
+わらしな,たかし
+きむら,まさゆき
+おざわ,みのる
+やまむら,ひろとし
+よしだ,ちはる
+たちばな,きよたけ
+まつもと,おさむ
+みしま,まさみ
+せき,しん
+でぐち,まさひで
+たかはし,ひろし
+おひけ,ゆきお
+ふじもと,いわお
+よしむら,ふみゆき
+こばやし,まさこ
+おがみ,けいじ
+かい,たく
+かえつ,よしみ
+もろい,じゅんこ
+みずの,なみ
+おつか,じゅんや
+おた,しん
+せきね,よしかず
+みやぐち,ひとし
+よねだ,しげき
+ほりうち,たくろ
+えぐち,のりのすけ
+うしろまつ,ひであき
+いいだ,ひろし
+よしだ,じゅんど
+なかせ,やすひさ
+すずき,まさし
+おいかわ,しゅじ
+かわべ,のぶひこ
+たにざわ,めいじ
+かねこ,よしゆき
+ふじおか,しょたろう
+むらおか,まさはる
+うぬま,たかひろ
+みやけ,いくお
+なかむら,あきひこ
+おわ,かおる
+ねもと,りゅじ
+にしむら,かずたか
+たつみ,なほこ
+さとう,まさこ
+すのはら,かつみ
+あすま,かずみ
+たかば,ゆきひろ
+よしむら,よしみ
+あべ,あきお
+きくち,ゆうこ
+なかむら,えいこ
+はむら,さつこ
+すずき,たかお
+かわむら,はるよ
+ひびの,けいこ
+きただ,つよし
+さとう,けいこ
+かとう,ふきこ
+いとう,ちあき
+ふくとみ,まさはる
+むろずみ,いちろう
+やまなか,ともひさ
+おかだ,いわお
+とご,あきお
+なりた,としひこ
+いけざき,きよかず
+かわばた,のぶあき
+まつおか,さとし
+なかだ,なおと
+さとう,けいじ
+たけざわ,かずまさ
+やながわ,つとむ
+やまさき,のぶひと
+しがき,としや
+ゆみ,ひさえ
+おざき,まさひろ
+ながしま,つねお
+やぶうち,かずお
+ほそや,ゆうじ
+にしざわ,まさる
+はやみ,まさひろ
+はせがわ,じゅにち
+かわさき,けんいち
+とよいずみ,たけし
+おくむら,たかし
+やまだ,たけし
+にわ,しろ
+にしざき,のぶお
+すぎもと,ひろし
+おさわ,しんや
+とだ,よしひろ
+なかの,ひろし
+みうら,のりゆき
+やまざき,のりあき
+さかもと,たけし
+やまだ,つとむ
+いのうえ,たいすけ
+やすい,ひさお
+まつだ,ひさし
+かたおか,そじ
+すずき,よしお
+はやし,なおみ
+はままつ,かつひこ
+はまの,たかゆき
+みずたに,まさと
+すみた,のぶひろ
+はやし,えいひこ
+とくなが,ひろし
+かとう,しげる
+まつうら,ともなお
+ひゃくな,としあき
+あんざい,よしかつ
+ふかまち,ひさし
+みさき,なおゆき
+もちずき,ひらく
+あおやぎ,みちこ
+たかはし,かよこ
+きせ,まさよ
+うえもり,ゆみ
+あずま,あけみ
+おだくら,けいこ
+たなか,けいこ
+といたに,やすこ
+やまざき,えり
+はしもと,みよこ
+まつみや,もとちか
+ふしみ,まきこ
+きょひゃま,ゆみこ
+よしだ,のぶこ
+うるしど,みえこ
+せお,ひでこ
+みなかわ,ようこ
+ふじの,すみお
+ひろた,たけし
+おた,とよひこ
+おが,あきら
+ながはま,ゆきひで
+じんの,あきら
+いちかわ,しげる
+はやし,みえこ
+はたや,ひろみち
+ほりこし,ひさお
+かに,かつろ
+ほんだ,けんいち
+つちや,たかし
+たまて,まさひこ
+ゆかわ,ちかと
+さかい,てるお
+みやじ,けいこ
+たむら,あつこ
+かわぐち,みえこ
+さの,つきこ
+なかむら,かずゆき
+こばやし,たかし
+いだ,よしみ
+せきもと,まさのり
+かわまた,たつお
+くぼ,やすき
+たかの,はじめ
+わたなべ,ただし
+いかるぎ,としゆき
+さとう,のぶひこ
+ひだか,あきお
+よしい,もとひさ
+しまむら,とみお
+おび,みつる
+なかじま,えいじ
+ほしの,ゆうじ
+かわもと,ゆひち
+にしだ,ひとし
+しみず,ひでまる
+たむら,まさかず
+とよしま,ゆひち
+えんど,ゆきお
+おがわ,いちろう
+きたはら,よしひろ
+おぐに,かずお
+おぶち,ひろし
+みよし,やすひろ
+いけの,やよい
+うえまつ,みのる
+ふくざと,ただし
+あおき,よしひこ
+さめじま,こぞ
+きどま,えいろ
+こだいら,としお
+ひぐち,とくのぶ
+まえしろ,のぼる
+たなか,じゅんじ
+なかがわ,やすひで
+いのうえ,まさあき
+とりう,じゅん
+まるやま,よしみつ
+まつうら,たかお
+ためちか,なつあき
+ささき,ふみお
+おたき,けんじ
+おがわ,けいぞ
+まつみ,かずお
+ありまつ,しんいち
+こらく,かつあき
+みやした,りゅひち
+おずち,たかし
+さかきばら,さちお
+さとう,けんじ
+ひろせ,きくお
+つちだ,たつお
+はしら,かずひろ
+ふろもと,せいじ
+こさか,よすけ
+たけいち,やすひで
+てらだ,まさあき
+こいで,なおき
+さいとう,けんじ
+みやなが,かおる
+にしむら,きょこ
+たなか,しんすけ
+じょ,まこと
+ゆくひろ,ますえ
+よしわら,しげお
+あおき,ゆぞ
+たていし,みのる
+たけだ,みつお
+やすだ,たかこ
+あおき,あきら
+よしだ,ともこ
+あだち,としあき
+のぐち,ちよ
+わたなべ,みのる
+たけとみ,あきひろ
+くりわき,よいち
+きたずめ,よしかず
+ふなばし,ひでき
+おさだ,しょひち
+あしがい,のりひこ
+さかした,しんや
+つちだ,ゆうぞ
+おかだ,ゆみこ
+たなか,れいこ
+おたごし,じゅん
+くろさか,るみこ
+すざき,ゆりこ
+かねみつ,とみこ
+まと,ふじこ
+とよふく,ひでゆき
+あらい,なおこ
+ふじかわ,あきこ
+よこお,よしのぶ
+あまの,しげゆき
+おの,こういち
+すずき,まさき
+かとう,もとひこ
+さいとう,しゅれい
+おう,としお
+みやざき,よしたか
+きや,きよし
+ふじた,しゅにち
+むかい,みちお
+まつもと,ひでちか
+かわい,こぞ
+まつもと,えいじ
+たけうち,あつし
+こじま,ひろゆき
+はせがわ,かずゆき
+こが,まさお
+やまだ,ひろかず
+おた,のぶあき
+やまもと,たかよし
+さくらもと,はるお
+やなぎさわ,たかふみ
+ふくい,あきよし
+かとう,まさゆき
+いわた,みつお
+ふじもと,かつみ
+きのした,いさお
+やまだ,ふみたま
+くらまえ,かずひこ
+くらた,よひち
+よこい,かおる
+こばやし,ゆきお
+かとう,きよたか
+ますい,りょじ
+うらた,ひでお
+たかはし,たつお
+うしごめ,やすお
+はらい,こういち
+うだがわ,みのる
+たかぎ,しんすけ
+みやざき,ふじと
+やまむら,くにお
+やまぎし,こうじ
+こまつ,かずみ
+はまぐち,やすゆき
+もり,ただふさ
+やまだ,あきひこ
+かがわ,じろ
+きくち,こうじ
+くじ,たかし
+いとう,ふみとし
+かわぐち,ひでや
+あらき,もりよし
+おかべ,ひとし
+こぼり,てるあき
+おち,まさひろ
+まるお,まさたか
+さとう,しんじ
+たなか,としろ
+まつやま,かずゆき
+おつか,さとみ
+やまもと,まさひろ
+ふじお,りゅひち
+のむら,よしたか
+ひろせ,ゆか
+あんざい,ひろかず
+おつぼ,やすのり
+さいとう,みちお
+いとう,ふみき
+わらさわ,やすし
+あらかわ,ひさあき
+ごみ,よしかず
+えんど,しんすけ
+よしだ,ひろみ
+うちだ,しんいち
+あさいね,おさむ
+おしま,はじめ
+たなか,しゅんすけ
+おこ,ひでのり
+いずつ,としお
+はやし,くにお
+ふじき,けんじ
+しおかい,みつえ
+ながふち,ひさたか
+まつもと,のりよし
+かとう,しげのり
+わたなべ,みちろ
+はまぐち,りゅじ
+かねこ,さとし
+さとう,きくお
+おひ,やすなり
+はやし,じゅん
+きみつか,さちお
+ふくだ,まさはる
+なかむら,ひでお
+やばし,てつや
+こばやし,しげお
+とくだ,たつお
+たかはし,まさろ
+いとう,なおる
+のぐち,まさゆき
+かわな,とおる
+なかの,かずひこ
+やまだ,きよつぐ
+ひらまつ,たいいち
+あらい,ひろし
+よしの,けいじ
+はまだ,りゅひち
+おた,ゆたか
+しばた,としお
+わかやま,まさき
+ほし,せいじ
+みわ,まさお
+たなか,まもる
+かなや,ただし
+たけなか,けんじ
+さとう,たかゆき
+みずしま,ともかず
+てらだ,かつひろ
+もりや,みつお
+すぎやま,よひちろ
+うみ,のりお
+きぐち,つやこ
+うるわし,まさこ
+ひらまつ,そうたろう
+いずは,としゆき
+いとう,かおり
+さとう,かずお
+しげのぶ,としひこ
+よしもと,ますあき
+しばた,あきひろ
+ふなこし,きよし
+すなだ,まさお
+まりこ,ゆうじ
+きくま,のりひこ
+すと,じん
+にしざわ,としゆき
+こばやし,とよいち
+かわごえ,しげる
+いじま,ただゆき
+にしお,もとはる
+にしやま,はるお
+さいとう,よひちろ
+かどわき,たけし
+ひろせ,みちおき
+たぐち,はるお
+たかだ,まこと
+わたなべ,ますお
+かとう,けんじ
+なかはら,かずお
+いしくぼ,つよし
+やまだ,いちぞ
+わかまつ,やすじろ
+かわしま,やすお
+かたもと,なおひこ
+たかやま,さとし
+つちだ,ひでお
+たちばな,みつこ
+こばやし,まさひこ
+つだ,ふみお
+もりかわ,ひろし
+おくの,のぶゆき
+いまい,よしあき
+むらお,ひろみ
+しもむら,たかお
+えんど,たかよし
+ほしくま,としはる
+かわせ,けんじ
+まちだ,しげあき
+こばやし,くにお
+はだ,りゅひち
+つくだ,よしお
+にしかわ,こうじ
+ほんだ,ひろゆき
+わしおか,けんじ
+むろい,きみひこ
+やすだ,たつし
+よしだ,ひでお
+ほり,あきら
+こだ,としゆき
+かまだ,ゆきお
+うえむら,よしお
+まつばら,まもる
+みなとぐち,ただし
+くがてん,じろ
+いわせ,としのぶ
+はやし,まさはる
+いくなみ,しんさく
+いとう,むねし
+こやま,たつお
+おとまる,ひろし
+ながい,まさはる
+いとう,しょ
+いまい,ひろみ
+ますだ,としひろ
+かわべ,よ
+さとう,まさし
+さこ,ひろゆき
+むかい,あつこ
+おしま,こうえ
+つちや,えいじ
+はやしぐち,ひろみ
+さとう,かずや
+むらさと,しげる
+はるやま,やすし
+しげもり,のぶひろ
+ふなき,みつひろ
+わだ,しんじ
+つぼか,たかし
+とだ,ひろみち
+やまむら,よしひと
+いしぐろ,もとはる
+ふなはし,まこと
+すずき,たつる
+よしだ,たかひろ
+わたなべ,りょた
+なかにし,けいじ
+やまもと,まさはる
+いしかわ,じゅにち
+たけうち,くすたか
+おくの,いずみ
+だて,としあき
+たべ,せいいち
+やぎ,ゆきひこ
+よしだ,まさお
+ふるた,しゅにち
+かわぐち,ひさお
+はすこ,いくと
+ながみね,しんすけ
+たけした,じゅにちろ
+あかお,ただあき
+わきもと,しんいち
+たさか,ゆき
+なかしま,よしお
+たけなか,きみひろ
+やました,つぎお
+くぼえ,たかみつ
+おぐし,じゅんじ
+あさか,まさゆき
+えぐち,こういち
+おさき,さとし
+おくだ,じゅん
+おくむら,まさとし
+かなまる,りょひち
+きのした,かずお
+ささき,たかゆき
+たかの,りゅうたろう
+はしだ,よしのり
+ほし,しゅんじ
+みずの,さとし
+みつはし,かずゆき
+もとはし,たかし
+やまだ,けんじ
+ながの,やすよし
+いしい,ひろあき
+かめだ,なおひこ
+きはた,てるお
+こばやし,しょひち
+しらふね,しげとし
+なつはら,ひろよし
+にしはら,まこと
+はしば,かずお
+ひしぬま,かずろ
+ひびや,よしひこ
+みや,おさむ
+むらかみ,きよひで
+むらた,たつお
+わたなべ,しげる
+おにし,ゆすけ
+たけした,かつひこ
+つばきもと,たつや
+はまおか,まさし
+みずの,てつじ
+あべ,まさゆき
+あらいし,ゆきひろ
+さとう,かおる
+さわの,たけひで
+しもじょう,おさむ
+たかだ,たかよし
+ながた,ひろあき
+にしはた,やすひさ
+はやし,たくお
+ほそかわ,ひろふみ
+あおき,しんたろう
+よしだ,ひではる
+わたなべ,ふみお
+いわさわ,はじめ
+のせ,しょひち
+ひらした,ひろあき
+よしざわ,ひろし
+むと,やすし
+みわうら,たけお
+きくち,とよたか
+えぞえ,ひろみ
+いしかわ,まさみ
+いちかわ,まさあき
+はらだ,せいざぶろ
+むらた,ただみ
+いとう,かずひで
+ほしな,やすひろ
+とくだ,まさふみ
+たぐり,そひち
+ささき,あきら
+たまる,みきとし
+にしはし,ひろとし
+じつかわ,たかお
+すずき,たかはる
+おにし,すえお
+ながさき,ひろやす
+いいだ,ひでお
+たかの,けいぞ
+ひさの,ひであき
+いのうえ,はじめ
+いしくら,ひろみ
+あきやま,たけし
+いちかわ,たかし
+きがわ,よしたか
+さいとう,よしと
+よだ,みきお
+あらき,けいや
+すぎはら,のりお
+かわぐち,かずよし
+みや,ともゆき
+いけお,はるお
+さくらい,しげお
+こしの,かずひこ
+きくかわ,さいち
+ゆあさ,きみこ
+すずき,ゆうこ
+ますだ,ひでみ
+あらい,まさひろ
+いけだ,としつぐ
+きす,ひでき
+うしやま,まさゆき
+かまた,こうじ
+うさみ,せんり
+なかの,こういち
+かきかわ,ひろゆき
+きじま,みきお
+むかい,ゆうじ
+ながやま,ひでひさ
+はっとり,ていじ
+みしま,まさひこ
+ごと,ひろゆき
+いとう,ふじお
+おがた,よすけ
+くさば,かずお
+てらえ,たかし
+ほんだ,ゆうじ
+あくたがわ,しんたろう
+みやこし,やすお
+ふくしま,としお
+しのずか,あきら
+おたき,れい
+ながまつ,えつし
+あらい,きよし
+まつだ,たけし
+ふじた,じゅにち
+かみぐち,ひろゆき
+かとう,まさよし
+やまざき,まさこ
+うめたに,まさお
+なるせ,つよし
+くぼ,くにとし
+くらた,ひろゆき
+こんど,かよこ
+たけうち,はるゆき
+いのうえ,ひさと
+たかだ,のりお
+あくつ,みのる
+とりい,やすえ
+もりおか,けいすけ
+かくたに,ともこ
+たけいち,しょじ
+たい,せいいちろう
+つちや,まさる
+ますだ,さちよ
+かんだ,あつみ
+やまうら,ひろあき
+きのした,ひとし
+ほさか,たけのり
+まるおか,あつこ
+かまた,じゅんこ
+はたなか,くにお
+くろは,ひろゆき
+とつか,てるお
+いしい,みきや
+もりた,のりお
+ほんま,よしかず
+あらかき,かつゆき
+たけ,ひろみ
+いずはら,ゆみこ
+ひさとみ,まなぶ
+すずき,ちえこ
+にしなか,けいこ
+みずの,まさふみ
+もりむら,まさたか
+たかはし,ひさお
+しげとめ,やすよし
+ひろかわ,しげみつ
+さとう,くにお
+まえかわ,ひでゆき
+よしい,ひろし
+ほそや,まさみ
+さかもと,ようこ
+こいずみ,ようこ
+にし,ふよ
+かねこ,まち
+すみくら,しげる
+よこお,よしとも
+ささき,たけひこ
+はやし,なおかず
+たなか,たろう
+あきやま,よしひろ
+さいす,ひさのり
+のがみ,こぞ
+とよしま,あきら
+しんじょ,としかず
+ふきの,よしあき
+いけだ,けの
+おだわら,ゆうじ
+たかはし,まさみ
+けいま,としのり
+しみず,ひでひこ
+いまいずみ,かずお
+もりた,しげみ
+もり,やすふみ
+まえかわ,あきら
+やなぎだ,しょへい
+むらもと,たかお
+すずき,かずお
+ほそえ,あきら
+いしくら,きよし
+ひろかわ,とみお
+からしま,よしかず
+まちだ,せいじ
+もりやま,しゅいちろう
+たけむら,たかし
+つかもと,もりよし
+やまぐち,かずきち
+そめや,りつ
+なかごめ,としかつ
+いわなが,じゅん
+せきや,こうじ
+てらい,ともじ
+たなか,ゆみこ
+せきや,やすみ
+さくらい,やすかず
+いそべ,すすむ
+まつおか,ひろし
+いちじょ,ひろし
+やまもと,まさひこ
+でぐち,せいじ
+ひらまつ,ゆうじ
+みずの,たかし
+とみなが,しんいち
+たかしま,ひさのり
+のがみ,てつぞ
+おつ,あきふみ
+こばやし,ひろひと
+てらだ,あきお
+さいとう,ひでお
+あさの,けいすけ
+しもむら,けんじ
+おひし,かずひろ
+たなか,ひでお
+まつもと,じゅんろ
+ひらまつ,えみこ
+たけうち,まつたろう
+しげはら,たかひこ
+おかもと,まさのり
+むらやま,しろ
+こまつばら,たかとし
+えばた,よしお
+おた,いさむ
+てらお,まさひろ
+おさわ,ひとし
+かわしま,ひろし
+あらい,ひろふみ
+はしずめ,けんいち
+みずしま,としかず
+ひらまつ,たつや
+おくむら,たかや
+みずなか,のりとし
+ほりうち,のりよし
+たきもと,つねお
+やすば,きよし
+きたの,しげる
+にしだ,みのる
+いしかわ,てるまさ
+おば,はじめ
+かしわぎ,もとこ
+さとう,しずお
+まつだ,けんじ
+こむろ,ごろ
+むらた,ひろゆき
+ささがわ,まさる
+さたけ,たつみ
+くわの,まさし
+ごと,あきら
+ふじい,こうじ
+みずこし,えつお
+ふじまき,よしこ
+いでた,こし
+なかつか,しゅひち
+うんの,としお
+すずき,こうじ
+はま,もとのぶ
+とみた,ゆきお
+たにつ,としみ
+すずき,ひさお
+おくむら,かずゆき
+ふくしま,おさむ
+おはし,あきお
+やました,なおき
+かわみ,ひでゆき
+はるた,かずお
+みやもと,はるとし
+つじた,ひさお
+いまむら,かつみ
+さとう,しんいち
+なかじま,けんいち
+しいの,かずや
+ごと,ひとし
+かとう,たかし
+ながい,たけみ
+うちの,かずひろ
+えいじま,ひろし
+やまなか,たかお
+なかむら,ゆご
+すずき,まさみち
+せむら,ちよじ
+なかがわ,かずひこ
+たや,ひかる
+むらかみ,たかお
+いしかわ,せいいち
+せきぐち,けんいちろ
+おの,ひろし
+おいかわ,ゆうこ
+いわい,まさお
+あさひ,さぶろ
+ごと,ゆきこ
+かねたけ,しげお
+うえまつ,みのる
+ふくしま,もとはる
+ふくだ,ちえこ
+すずき,あつし
+おぐら,おさむ
+ひらで,こうじ
+おしげ,のぶお
+まつもと,やすゆき
+ささき,りゅひち
+ごんだ,かつひろ
+まつおか,たかし
+うめざわ,ひろのり
+にしお,こういち
+こじま,しょういちろう
+たにぐち,よしゆき
+おぎす,としや
+さだひさ,くにやす
+ふじわら,けんじ
+はっとり,かおる
+かまた,かなめ
+とば,としのり
+やまだ,ひろじ
+やまもと,たかゆき
+たけうち,きょこ
+あらき,ゆきひこ
+にしお,のぶかず
+もりうち,たいち
+いわた,えりこ
+ささき,えつお
+まえがわ,まさる
+ふくにし,せいじ
+うえだ,まさつぐ
+やまぎし,かずなり
+おの,ゆぞ
+ふじた,よしつぐ
+きたむら,ひろし
+よしはら,こういち
+いわさわ,もりお
+こまつ,なおゆき
+たにむら,としお
+こさか,まこと
+たしま,ただひろ
+にしおか,みきお
+すずき,たけし
+ごと,ひでふみ
+かわはら,せつこ
+たじま,さなえ
+かんの,ひであき
+かたしま,まさろ
+はしもと,やすつぐ
+なかだ,かずのぶ
+かさはら,ともよ
+てらもと,まこと
+わかまつ,けんじ
+いとう,ふくきち
+わだ,よしみつ
+たんじ,ゆりこ
+おつか,たくみ
+つじもと,たつよし
+せりざわ,ひろあき
+とのさき,ひさたけ
+たかぎ,まさゆき
+おふち,かつゆき
+あまの,としお
+なかむら,やすひら
+たばた,じゅにち
+とよずみ,しょじ
+しゅくや,あきお
+たかの,しんや
+むらかみ,みすず
+いしずか,ひろし
+いいずか,せいいち
+しらい,たかあき
+ふくはら,まなみ
+いながき,としつぐ
+ひらしま,ひでみ
+つじばやし,ひろあき
+まつお,めぐみ
+やまもと,けいいち
+もりの,のぶはる
+たじま,ふみえ
+のざき,みちこ
+あだち,かつなり
+たかや,みちお
+おの,あきら
+まつもと,ゆうじ
+はしもと,まさあき
+かの,よしろ
+たけだ,しんいち
+きりはら,ひとし
+たなか,のぶよし
+とりい,としひこ
+なかしま,あきら
+せすみ,すえはる
+まえのその,てつお
+ごと,ひとし
+ほり,あつし
+たかいら,まさみ
+たにだ,まなぶ
+ふるどい,たかお
+おぎや,としお
+なかじま,じゅん
+ほりかわ,のぶたか
+すずき,たかし
+あおき,まさお
+おくはた,かつあき
+くわばら,かずひで
+かんだ,やすし
+すぎもと,ふみこ
+やまもと,けいこ
+かねこ,やすひこ
+なりた,あきのぶ
+にしお,まさお
+いかり,じゅん
+ふるかわ,かずなり
+あらい,しんじ
+くずかみ,ゆきよし
+ごと,きょひち
+やまはら,あきひろ
+やまだ,しゅひちろ
+いじ,まさなお
+くらもち,のぶよし
+ふじわら,かずひろ
+たけだ,まこと
+たかのせ,のぶゆき
+ともむら,まさひろ
+さとう,ゆすけ
+さかきばら,ひろみつ
+みやざき,りょ
+よしだ,ひであき
+たなか,まさる
+ごと,もとゆき
+にしだ,たけひろ
+なかしま,はるお
+きむら,けんいち
+いのうえ,せいじ
+おしま,ひろし
+おひゃ,しゅひち
+みやもと,ますみ
+やました,しげる
+たなか,としろ
+もり,みきお
+なるみ,ひですぎ
+ごと,さとし
+やまちか,えつお
+ささき,しげふみ
+きしだ,はじめ
+おひゃま,まさゆき
+しいの,ゆうじ
+いずみさわ,しゅひち
+かみむら,よしひこ
+さかい,みちお
+ごと,けいいち
+かとう,みつひろ
+たかはし,しげゆき
+くの,まさとし
+いわぶち,たけし
+ほんぶ,まもる
+もりた,まさのり
+せきや,おさむ
+ぬまた,ますみ
+ごと,あつし
+まなべ,おさむ
+いまきた,だいじろ
+こだか,あきら
+よしだ,まさひと
+さとう,みちお
+くすみ,よすけ
+はぎわら,かつや
+ふるせ,よしとも
+むらた,だいに
+おくむら,けんいち
+たにがみ,かずお
+なかむら,きいちろう
+こいずみ,こうじ
+すどう,たつひこ
+いで,まさつぐ
+しもの,まさふみ
+たかぎ,じゅん
+さかい,こ
+いのうえ,かずや
+ふるた,めいさい
+あさい,まさる
+ふかさわ,しょじ
+ごかいち,けんじ
+おつか,たけひさ
+さとう,たけし
+いのうえ,かずゆき
+たけだ,としかず
+ますだ,てるひこ
+やまもと,しょこ
+おはら,まさひこ
+ふなつ,たいち
+こやま,しんじ
+やまざき,まさひこ
+たじり,ひろし
+さとう,てつや
+ながしま,かずひろ
+つだ,よしあき
+ながお,あつし
+おすぎ,かずお
+いとう,みちのぶ
+たまい,きよし
+みやした,くにひこ
+みしま,こうじ
+ほりい,やすのり
+ごと,さとし
+やお,しげる
+ひじや,まさゆき
+ほりい,よしひこ
+たけだ,のぼる
+やすなが,まなぶ
+やまざき,かずひこ
+やの,じゅんぞ
+しわく,としひろ
+かみの,みねはる
+なかじま,つよし
+ますだ,じろ
+おふち,たかし
+ふくざき,ともみ
+いたがき,ひろゆき
+しも,ともなり
+ふくい,ゆたか
+いび,よひちろ
+こむかい,よしひろ
+ふじえ,なおあき
+まつき,まこと
+こばやし,じゅいち
+ごち,たつや
+はせがわ,ひでじ
+かわごえ,たかよし
+ながさわ,かつみ
+やました,ひでひと
+いしざき,あきら
+おだ,みのる
+しんど,あきら
+しもさこ,たいじろ
+つつみ,くにひこ
+きたおか,じろ
+きたざわ,れいこ
+なかおか,しげき
+いしばし,ちえ
+はしぐち,のぶあき
+わたなべ,じにち
+おば,きよみ
+はら,のぶゆき
+しみず,かずひこ
+いざわ,かずよし
+よしやま,かずとし
+すぎもと,けん
+こまつ,ともふみ
+へんみ,たいせい
+ふかだ,さかえ
+こばやし,しんいちろう
+すぎもと,みちひろ
+よこやま,たかあき
+たなか,はるひさ
+みやたに,きよし
+はせがわ,かずひこ
+きたがわ,こうじ
+ふくおか,えいじ
+おむら,みゆき
+いぐち,みわこ
+はやし,あきひろ
+ひらい,かなめ
+おもり,かずや
+おぎの,こみな
+たむら,よしひこ
+たけだ,あきら
+みやなが,ひろゆき
+ひらい,こういち
+にしむら,こぞ
+はぶち,のりふみ
+おくら,よしひさ
+はった,けんじ
+いこま,つとむ
+あさひな,のりひこ
+かの,さとる
+なかにし,あつし
+みやざき,たかあき
+いちかど,ひろゆき
+ながさわ,さとる
+はまぐち,まこと
+やしろ,まりこ
+むらお,かえこ
+おぎまち,れいこ
+しろた,いちろう
+てしま,みつお
+かわさき,ひであき
+やまだ,こういちろ
+ほんだ,のりまさ
+かねこ,ひろゆき
+まつしま,ひでかず
+こみや,よしあき
+わだ,えいじ
+よしだ,ひろゆき
+もりさき,たかし
+いまひがし,しんご
+くらもち,しゅじ
+ゆかわ,ひろむ
+てらお,とよあき
+こんど,あきのぶ
+さいとう,はるお
+よしなが,ひろのり
+ゆあさ,まき
+とべっと,あきら
+せんが,まさゆき
+にしぐち,みつお
+うえだ,やすゆき
+やまおか,おさむ
+やまもと,まさひで
+ふじかわ,しげる
+おぐら,ひろずみ
+かわの,こうじ
+かねずか,つよし
+おかもと,たかし
+かわつき,ゆうじ
+すえよし,ひでお
+かわべ,わたる
+たかはし,さとし
+もり,じろ
+すぎやま,まき
+まえやま,まさゆき
+こめたに,ひろし
+ふじわら,はるゆき
+あでがわ,かずま
+とみざわ,よしお
+なかた,としあき
+たちばなき,なおき
+こだま,としお
+はない,かずお
+ちのね,としたけ
+しみず,たかし
+たきざわ,ひでお
+くどう,ひろあき
+もりおか,ゆすけ
+かねひら,かずお
+さとう,たつや
+やばな,しげゆき
+さかずめ,たかゆき
+はしもと,しんすけ
+よのもと,てつじ
+ばんしょ,きよし
+ふちえ,ゆうじ
+すずき,きよし
+すずき,ひろゆき
+こばやし,おさむ
+かとう,まさあき
+くすだ,はるあき
+みやたけ,しょご
+さの,ちほ
+まるた,かずお
+まきた,こういち
+かしわぎ,まさと
+たに,けんじ
+ありやす,まさかず
+かとう,あきお
+たなか,ひろのぶ
+つじた,としお
+おがわら,ひろゆき
+むらさわ,きよ
+せきもと,ひでき
+つじもと,くにお
+しおたに,かずお
+みわ,いくお
+ながさか,ゆきのり
+こいで,かずひろ
+おぐら,たかつぐ
+つつみ,かずいち
+ふかみ,よしひろ
+よしだ,ひでじ
+もろほし,としあき
+しおの,まりこ
+やまぐち,はじめ
+まみや,よしみ
+さいとう,えつお
+あきやま,しゅじ
+あだち,まさひと
+かわの,ひろし
+なかむら,ただお
+やまぐち,としひろ
+さくま,ひさし
+もちずき,ひさと
+わたなべ,よひちろ
+こばやし,としお
+きし,せいじ
+はやさか,あきら
+こふじ,つとむ
+さいとう,たかのり
+のむら,じゅにち
+まつい,たかし
+はやしだ,すすむ
+おがわ,ただひで
+ほんだ,のぶみち
+こざわ,つかさ
+ささき,しげゆき
+わだ,きよし
+やまわき,かずひろ
+ふじい,としみつ
+たきざわ,あきひろ
+さとう,としき
+みかみ,ひでみ
+みわ,よしたか
+おち,よじ
+ふじた,せいじ
+ながた,みれい
+くぼた,みちよ
+あおがき,まさのぶ
+かりやど,あきこ
+みはし,しゅんじ
+むらまつ,ゆきお
+かたやま,まさえ
+やまざき,たかし
+おぎそ,たかし
+ばば,よしもと
+みしま,ひであき
+やの,きよし
+なかじま,たみ
+たけした,はるよ
+なかの,やすひこ
+たかの,こうじ
+かわだ,さとし
+たじま,のぼる
+もちずき,ひろし
+きむら,けいじ
+あきほ,いちろう
+やまもと,ようこ
+かわせ,げん
+ささ,なおこ
+のせ,しんいち
+ひらた,ちえこ
+こばやし,おさむ
+あがわ,としひこ
+てらもと,きよたか
+おざき,まさかず
+もり,まさひこ
+うつ,おさむ
+わかまつ,あきひこ
+いまい,きょこ
+くぼ,みのる
+たかの,ゆき
+ひびの,かずまさ
+すずき,こうたろう
+たなか,きよし
+さかもり,かつみ
+たきざわ,とみもと
+よしかわ,あき
+とよだ,ゆたか
+うらしま,ひさお
+こんの,かずなり
+てらかわ,なおき
+こばやし,しゅひち
+きむら,ゆすけ
+かみお,ひろふみ
+くればやし,さかえ
+かねだ,きょこ
+かわもと,ひとし
+いまむら,としさだ
+こはぎざわ,ふみこ
+しのざき,たかひろ
+めぐろ,じゅんじ
+くにさだ,ひでお
+もり,はるき
+かわぎし,たかはる
+おすが,かよこ
+すだ,てつ
+なかむら,たえこ
+いしこ,りゅひち
+すずき,ゆうじ
+きくち,もとひろ
+おぎた,たけなが
+たかやま,あきひこ
+なかしま,たかこ
+つじもと,れい
+はやま,きよみ
+いたがき,ひろこ
+やまもと,こへい
+あだち,よしひろ
+きたみ,みのる
+たまき,しゅひちろ
+まえだ,さとし
+あだち,まさはる
+たまだ,きよ
+もりぐち,たかゆき
+よしなが,かえで
+まえだ,ひろし
+わたなべ,きよかず
+たかはし,じゅん
+いしこ,なおや
+おじま,かずひこ
+しばやま,あきら
+しば,たかとら
+ともの,きよし
+すみ,ひろし
+みつなが,くにひろ
+うらの,まさあき
+よこずか,ひろあき
+ふじかわ,ひろし
+かぶらぎ,ひろひで
+よしだ,みちお
+さいとう,ゆうじ
+やの,しょぞ
+よこた,ぐんじ
+なかむら,ゆうじ
+なみさと,のりこ
+ねぎし,たえこ
+きの,たまき
+なかじま,よりたか
+つつみ,てつろ
+こだ,かつじ
+ほり,よしあき
+この,たけひこ
+わだ,けんいち
+まつなが,まさふみ
+にしむら,あきこ
+いい,まさき
+やすい,さとし
+こばやし,はるひろ
+やまさき,まさゆき
+すずき,ゆたか
+いわた,よしあき
+しげもり,たかひさ
+いまむら,なおみ
+つかもと,あつし
+いとう,まさかず
+くぼ,けいぞ
+さなえ,のぼる
+こだま,あきら
+いとう,しゅひち
+あくつ,やすひこ
+あたらし,みゆき
+たぐり,かずや
+じょの,ゆみこ
+あかまつ,さだお
+あさの,としゆき
+なかがわ,やすひろ
+かわしま,なおき
+さとう,しゅひち
+おぐら,まさひろ
+いしばし,やすゆき
+まつおか,はるひこ
+たきざわ,たかし
+いたくら,のぶたか
+ほんご,あきよ
+ながやす,しんすい
+うちだ,じろ
+やました,かずまさ
+いしぐろ,あきお
+もり,かつし
+たなか,ようこ
+ひぐち,みえこ
+きと,じゅんこ
+たなか,たつや
+すずき,けんじろ
+すがい,けんじ
+よねざわ,まさあき
+あらかわ,あさこ
+いのだ,ひでお
+かとう,せいじ
+かげやま,ひろゆき
+みやわき,たかよし
+みちやま,まさよし
+もり,さとし
+もりさわ,よしかず
+にしむら,たかゆき
+さいとう,ひろし
+やまもと,つねお
+まつうら,ひろし
+はせがわ,とよひこ
+うちだ,こういち
+やすだ,しげと
+いしだ,しんいち
+もりの,かずゆき
+きたやま,かずひろ
+さかもと,けんじ
+そうみや,よしかず
+きくち,りゅじ
+しぶい,やすひさ
+とみた,まさお
+もり,まさし
+やまぐち,としひこ
+きたやま,ただやす
+まんもと,としあき
+たなか,しんいちろう
+もり,かつゆき
+いたくら,やすのり
+いちみや,よすけ
+にしやま,よしあき
+わたなべ,つとむ
+はんがい,じゅにち
+ながの,こういち
+しば,とおる
+こじま,かつまさ
+たたの,よしひろ
+かわばた,よしのり
+たけだ,ひろゆき
+おむら,しんいち
+さこ,こうじ
+いしはら,あつし
+いちのせ,こうじ
+きしだ,じゅんじ
+みかみ,よしひろ
+はやし,あきら
+ささき,ゆたか
+よねみつ,かずひろ
+せきね,いさむ
+いまにし,まさし
+あおき,かつじ
+すぎやま,ひろし
+なかもり,はるお
+しまだ,けいいちろう
+ますだ,けんじ
+つぼい,すすむ
+せきや,さとし
+きじま,まさひこ
+よしずみ,たろう
+やなぎだて,いくろ
+しげまつ,ひろし
+いのうえ,みのる
+たけうち,すすむ
+たなか,よしみ
+ひがし,じゅん
+たかた,たくじ
+なかい,あゆみ
+はせがわ,かずなり
+たに,よしなり
+こばやし,きよただ
+たかはし,ただし
+あべ,いさお
+こばやし,よしふみ
+おの,まさひこ
+たかはし,ふさお
+くろだ,ひろし
+わたなべ,すすむ
+あべ,のりお
+いのうえ,ひでたか
+えんど,しんや
+ののした,はるやす
+かない,なおき
+こたき,けいこ
+たかはし,たけし
+しげやま,しゅじ
+ふかだ,なおひろ
+しおじ,つぎお
+もりや,じゅにち
+おつか,たかし
+あべ,みきとよ
+ひらい,あさこ
+むらまつ,まさと
+みずた,よしぞ
+ほりえ,いくや
+ひかさ,ゆきひろ
+おしたに,あつし
+こばやし,ひろし
+くらはし,しんじ
+ひらばる,ようこ
+ふじえだ,よしお
+とざわ,しげふみ
+やなせ,くみこ
+くぼた,じょじ
+まみや,ようこ
+ゆはらぎ,とみお
+ちょなん,あきお
+みよし,かつゆき
+のじま,ふみひろ
+もりさき,まさや
+こやま,まさたか
+かとう,たかゆき
+きのした,じゅん
+かわむろ,まさみ
+もり,かずゆき
+ひらした,まさたか
+かわしま,まこと
+ふるかわ,かつみ
+いんでん,ひでゆき
+やまだ,たけお
+つくだ,まこと
+いわさき,かつみ
+おまえ,しげる
+すずき,よしお
+はら,まさき
+さかい,まさみ
+もりや,よしまろ
+みやもと,とおる
+しげた,よしのり
+いしかわ,まこと
+たざき,としあき
+すえひろ,ひろき
+かねだ,やちよ
+すえひろ,さとし
+ささき,けいいち
+ひやま,さだき
+きどぐち,りょ
+しまだ,あきと
+みやけ,まさひこ
+もり,やすゆき
+しらかわ,みのる
+わかばやし,まさひと
+やました,おさむ
+あまの,まさゆき
+たけいち,まさひこ
+しんじょ,たつむね
+かさはら,かずまさ
+たなか,としひろ
+おくだ,まさひろ
+かとう,ひでのり
+かわさき,さだむ
+かとう,むねや
+いちせ,こういち
+きたがわ,じゅにち
+やすい,りゅさく
+えだ,たつはる
+はやし,よしひろ
+ながい,としゆき
+とのむら,ひとみ
+たなか,じろ
+くりばやし,こうじ
+きむら,しんいちろう
+はぜき,かずお
+あんの,じゅんじ
+たかよし,ひろたか
+あんざい,けいこ
+たかはし,てつや
+はらの,けいし
+なかがわ,あきら
+にしかわ,ともこ
+しぶや,まさこ
+かとう,かずお
+あだち,まさあき
+さくらい,げんへい
+くさの,よしのぶ
+みなみぞの,とみかず
+つじむら,たつじ
+やまだ,さとし
+かつしま,まさのり
+こやなか,のぶゆき
+たばた,よしのり
+あだち,かつこ
+ひろの,のぶゆき
+つざき,あつし
+たちばな,よしさと
+べっしょ,しょじろ
+まつした,おさむ
+たにぐち,つねお
+なかとも,かつよし
+にしむら,ゆきお
+みうら,かずひろ
+こんど,のぶひろ
+まつい,としひろ
+まつもと,やすたか
+ほりい,としひろ
+ますもと,みのる
+なかじま,あきとし
+きむら,いさむ
+みわ,しげみ
+いしばし,ひろゆき
+えぐち,あきら
+いなふく,よしひろ
+わたぬき,せいいち
+ひぐち,ひろあき
+いけの,しげあき
+うめはら,かずみ
+のざわ,ちゅぞ
+いまい,けんしゅ
+たかはし,むつみ
+いいだ,ひろし
+ふじかわ,まこと
+にしえ,おさむ
+こすげ,まさき
+おた,ひろかず
+のじ,ひろし
+こぼり,つとむ
+すぎやま,ちかし
+かわた,けんいち
+さめしま,ひろゆき
+こやま,やすし
+えんかい,のりひさ
+こもだ,じゅん
+おがわ,やすひろ
+やまむら,よしひこ
+えのもと,きくお
+たかだ,まなぶ
+なかみぞ,ただし
+おかむら,まさき
+かみばやし,かつじ
+ふじもり,はるひさ
+くろだ,かおる
+さとう,ただひこ
+よしむら,ひろし
+もたい,じゅんこ
+むらた,くにひこ
+みわ,みきお
+いはら,よしあき
+いまい,てつひこ
+ひの,みねお
+まつもと,きよたか
+せと,たかし
+くまがい,つとむ
+やまだ,こういち
+わたなべ,かずまさ
+やさか,れいじ
+さとう,ひさただ
+みやたけ,ゆみこ
+まつうら,ひろし
+まつした,せいじ
+うらべ,みきお
+しがき,しんいち
+てらだ,よりえ
+いわもと,たきお
+いのうえ,たくじ
+もちずき,とおる
+よしずみ,なおと
+みうら,えみ
+みずの,たかし
+よしい,かずお
+ふるい,たかし
+はやし,よじ
+しらいし,やすひろ
+すがわら,よしお
+なかい,ゆうこ
+のふじ,ひろし
+さとう,あきひろ
+くろだ,ひろのぶ
+いけだ,ひとし
+さが,まこと
+みやかわ,いさむ
+わらしな,まさよし
+きたがわ,よしひと
+いまい,よしあき
+みさき,じろ
+いしだ,ゆきお
+りくら,えいいち
+しょじ,みつる
+ふくなが,たかゆき
+くろき,じゅにち
+またき,よしひろ
+せきね,しげあき
+やました,ひでお
+たなか,たつお
+おおはま,けいいち
+おつぼ,よしはる
+たい,ひろかず
+つるや,きいち
+よしだ,たかし
+ますみつ,けいし
+かすや,いくひさ
+よしだ,しげる
+かわむら,のぶゆき
+はやし,ふみあき
+くにもと,ひろのぶ
+あらかわ,たけし
+なかむら,ひであき
+いしぐろ,こういちろ
+はやみ,よしかず
+みなみぞの,たかお
+さかた,しょざん
+かわもと,まさはる
+むらおか,みつひろ
+いとう,よしあき
+わたなべ,まさひろ
+のむら,よしあき
+さとう,ひさはる
+わたなべ,まさのり
+こばやし,よひち
+ぬるき,たかし
+よしだ,しげお
+さいとう,みのる
+ひらい,ひでき
+きむら,くにひこ
+おく,まさゆき
+はやさか,ひなこ
+あさの,まさのり
+ふじさき,せいじ
+あきもと,かつひこ
+しまだ,きんじ
+みずかみ,みのる
+なかがわ,ふみかず
+さとう,やすのり
+こばしり,よしお
+あらき,みちお
+すずき,まさかず
+にしで,はるな
+おちあい,ひろし
+のなか,まさかつ
+やすい,ひでひこ
+こはた,よひち
+みのしま,ひろし
+てらしま,よしゆき
+やくわ,たかし
+すがわら,ろ
+みつはし,やすこ
+のむら,けんじ
+ちょ,しんや
+さとう,りか
+しずはら,まさえ
+はやしかわ,まさはる
+にわ,とおる
+みえの,てつや
+しまだ,けんじ
+なかむら,よしお
+ひらの,なおとし
+やまとや,せつ
+つのだ,よしひさ
+こばやし,たかし
+さかくら,りゅじ
+まつだ,けんいち
+いまむら,あつお
+やぎはし,きみひこ
+おぎの,よしお
+たなか,みちお
+ひが,てつろ
+さこ,のりこ
+たざき,あずみ
+いいだ,りょこ
+いいだ,れいこ
+まつぐま,けんじ
+むらた,よしお
+やすもと,けんいち
+しみず,ひでと
+わくい,としお
+たかはし,りょひち
+きたい,かずひこ
+あだち,やすのり
+はなぶち,のぶあき
+さとう,きょこ
+あらい,まさあき
+たけなか,せいし
+かい,なおこ
+あかだ,ひろお
+くにすえ,よしまさ
+まえかわ,よしかず
+みなみ,つとむ
+たきがみ,たもつ
+まつい,まさはる
+しらい,りょすけ
+たけよし,しげほ
+たかだ,けん
+たかぎ,まこと
+くどう,ひろし
+しまだ,よしたか
+かとう,よしお
+しぎょ,としひこ
+ひろの,しょういちろう
+きのした,はじめ
+しみず,くにひろ
+しむら,としひこ
+くさかり,さとし
+かるべ,みほこ
+まつもと,しずお
+しまむら,ひろあき
+かつかわ,あきら
+いず,みつし
+さくらもと,ひでゆき
+もりた,まこと
+たなべ,まさみち
+はっとり,せいのすけ
+りゅご,きよたか
+おまつざわ,たかひこ
+おとわ,きよたか
+こだま,のぶこ
+かやしま,かずお
+こばやし,ひであき
+くにえだ,そおじゃ
+こ,よしえ
+にしやま,しょぞ
+わだ,ひろあき
+にしもと,みほ
+さいとう,としはる
+としま,なおゆき
+おつか,とまさ
+おの,たかお
+すずき,いさお
+さくらい,いつじ
+おぜき,じろ
+おかだ,くにいち
+おがわ,ふみと
+いけがみ,しゅにち
+こまつ,まさはる
+よしい,ゆきよし
+ひらの,せいいち
+たかすか,ゆうじ
+はしもと,しげる
+くわえ,まきお
+かねまつ,かずなり
+まつお,ひとみ
+いど,ひろや
+いの,たかし
+さいとう,かつのり
+かみやま,よひち
+こしもと,ほこく
+おがわら,まさる
+たかはし,たかし
+ながまつ,たかし
+すずき,たかし
+てらお,まさみつ
+ほりけ,ひろし
+すずき,ひでとし
+おがわ,たかのり
+みやもと,よしあき
+おすみ,しょいち
+いわぶち,ひろし
+まつうら,やすゆき
+さわち,きくお
+てらだ,かねひで
+いばやし,けいいち
+いわせ,たかひこ
+おがわ,じゅにち
+あそ,たけし
+ふくもと,こうじ
+いで,こういち
+かわさき,よしのぶ
+はるな,まこと
+たじま,しんいち
+かなやま,ごろ
+たなか,よじ
+まつざき,かおる
+いのさか,たかし
+おしやま,こういち
+たけうち,のぶお
+ささおか,ひろゆき
+こもり,のぶやす
+たじま,たつお
+いけがみ,ちかお
+やまぐち,せつこ
+かわかみ,ゆたか
+いせき,じゅにちろ
+たけだ,せいじ
+たかやす,やすとも
+かめだ,さゆり
+ふじの,ふみたか
+みさき,てつじ
+なかむら,まさのり
+おがわ,ゆきふみ
+なかざわ,よじ
+せき,わたる
+よしかわ,まさお
+たがわ,こうじ
+みたに,よしひさ
+すえた,たかし
+いぬい,としゆき
+おさだ,まさあき
+ふるかわ,ひろあき
+すずき,けんじ
+きたむら,まさあき
+こまつ,しげき
+あさだ,えいすけ
+かんざき,ひでゆき
+うすい,まなぶ
+ふるや,たけとし
+よけむら,まこと
+よこえ,やすのり
+あかいわ,としあき
+ふくしま,こうじ
+やじま,ひでとし
+はら,やすくに
+きしだ,たくや
+くぼ,たかし
+かたぎり,としひこ
+いちい,あきひと
+まつき,けん
+わけべ,さとし
+まるやま,かつお
+つばき,まこと
+さの,りょすけ
+みやもと,ひろたか
+ふくやま,よひちろ
+うえむら,やすまさ
+くわかど,よしふみ
+くにまつ,としひこ
+かたおか,ふみよし
+とみた,よしき
+なかむら,としひこ
+くどう,ひろやす
+おぶち,やすし
+よしかわ,みゆき
+かげやま,ゆぞ
+とだ,みつる
+たかはら,やすのり
+まつした,ふみや
+こだいら,としあき
+しんかい,けんじ
+てらだ,ひでお
+かわきた,しげる
+みうら,ひろし
+あべ,まさとし
+にしかわ,まさあき
+ほそだ,まさる
+ますだ,りき
+かざま,まさる
+あらまき,のりゆき
+わたぬき,かずのり
+さかもと,あつひこ
+あまがみ,よしてる
+この,てるひこ
+おくだ,とおる
+おはく,まこと
+なかむら,けいいち
+なかむら,さとし
+うしやま,しんじ
+やしき,ひでし
+きのせ,もとお
+わかやま,まさひと
+いまい,はじめ
+まえだ,さなえ
+まつした,ひとし
+ひらぐち,ゆきひろ
+わだ,いわお
+わたなべ,よしお
+まつい,たけし
+まつもと,かずお
+なかむら,みつぎ
+たきた,つよし
+ますだ,しん
+みやうち,いさお
+しむら,よしのり
+まつい,みつお
+はらはた,よしふみ
+ひさたに,ゆひち
+かがみ,ゆきお
+よしむら,あいいちろう
+おつか,しゅにち
+たなか,こういち
+ひらの,まさゆき
+たけすえ,きよし
+にしの,えいじ
+おつか,ひろし
+おだ,あつこ
+しみず,そひち
+はまもと,しんいち
+みやまえ,みきお
+ながしま,じゅにちろ
+みつめ,よしと
+かごたに,ともこ
+よこやま,まゆみ
+さかた,さかえ
+おいくぼ,たきこ
+くらもち,とみたろう
+あんざい,あつし
+ふくしま,まさつぐ
+なかむら,ゆうじ
+いとい,けいご
+ほしの,しんいち
+こいで,しゅ
+おざき,てつや
+せじも,よしゆき
+すどう,めぐみ
+かじわら,しんじ
+すずき,ゆたか
+ほしの,たかよし
+なかむら,まさなり
+もりた,えいじ
+やまざき,こうじ
+おくがわ,よしかず
+ながはま,たかふみ
+よしむら,けんじ
+まつだ,あきひで
+ほかぞの,ひろや
+あべ,まさゆき
+ながい,りえ
+とがし,ひとみ
+やざき,ゆりこ
+やまうち,みちこ
+みさき,ひろひこ
+よしだ,じゅん
+なかもと,まさみち
+しのはら,まさみつ
+なかにし,みどり
+やじま,かつひろ
+とよふく,はるこ
+たかしま,よしあき
+ふしにし,あきかず
+むかい,としひこ
+にしむら,まさひこ
+かわばた,ひろゆき
+むかえだ,あきみつ
+しせき,たかとし
+かたおか,あつひさ
+ないとう,としつぐ
+みと,こうじ
+おにし,としひと
+よこやま,ていぞ
+なかむら,ひでき
+いざわ,なおき
+たにがわ,しんじ
+すぎた,しげる
+おした,つねかず
+しまだ,あきら
+やまむら,きよし
+ふくおか,ゆうじ
+やなり,かつじ
+すずき,きみえ
+さかい,てつや
+やまだ,ひろゆし
+やまこし,さとし
+のもと,さとる
+たけした,いっしん
+みのだ,よしひで
+あさい,ひろき
+むねやす,やすと
+かわにし,としろ
+さかぐち,たかし
+やまざき,たつあき
+あさおか,ひさのり
+きのした,とみえ
+みま,ゆか
+ふくもりた,まさゆき
+かじやま,ともこ
+やまざき,こういち
+さとう,まさし
+かわべ,ひろあき
+まるやま,しんじ
+おがらね,さとる
+どい,ゆきひろ
+たなか,しげる
+おぎしま,としゆき
+いのうえ,もとき
+ふるや,しげゆき
+ふくい,しほ
+ますだ,ひでゆき
+ほんだ,まこと
+なかにし,やすひさ
+みやまえ,としひこ
+おかの,ひでのぶ
+ばば,みきぞ
+だけやま,きよみ
+やまぐち,しげお
+はやし,よしこ
+とみずか,じゅにち
+なかにし,としや
+あべ,みつひこ
+あおやぎ,のぶよし
+てらわき,のぶこ
+かたぎり,ゆぞ
+なかがわ,みつお
+こばやし,おさむ
+うえだ,ひろゆき
+ふじわら,ひろのり
+はやさか,つよし
+きむら,たかひろ
+ごと,ゆみこ
+しむら,なおたか
+せき,なおひこ
+あいざわ,ひでお
+のむら,よひちろ
+かんだ,さくこ
+うらい,やすお
+もとやま,としろ
+かみむら,やすひろ
+ひらい,はるひさ
+あらい,はじめ
+さいとう,ひろこ
+まきはら,きよこ
+おわく,のぼる
+もちずき,まさお
+はんがい,かずひろ
+いのうえ,ひろみ
+ながいし,あきひろ
+にしもと,たつみ
+つちや,ひろし
+まつもと,まさひろ
+ほんじょ,けいぞ
+いわい,としかず
+くぼ,あきお
+はこい,こすけ
+わたなべ,しゅじ
+すぎた,ますみ
+なかむら,よしはる
+からさき,てつお
+のりまつ,まさゆき
+くすもと,ともなり
+にしむら,よひち
+こすげ,まさし
+ふくみつ,おさむ
+やまぐち,まさひろ
+いしぐろ,よしひろ
+とくだ,かずひと
+ありとみ,かつみ
+ひやま,あきら
+ひろせ,しょひち
+にしだ,たかし
+はっとり,しょご
+ひらばやし,たつや
+はらしま,まさお
+はら,まさお
+はまの,のりお
+はまだ,としみつ
+はしもと,かずひろ
+はやし,こういち
+ひぐち,みつひこ
+ひらの,たかよし
+ほんま,さとし
+はるまし,まさな
+はしもと,やすみ
+ひだ,さぶろ
+ひらすか,かずみ
+はぎわら,なおや
+はまだ,じつろ
+はしもと,しんいち
+ほんま,まさとし
+ほかり,とおる
+はらだ,よしみ
+はやし,けんいち
+ほりべ,えいじ
+はしもと,たみお
+はせがわ,かずゆき
+ひろべ,まさとし
+はしもと,かつひこ
+ひらの,ひさじ
+はしもと,まさみ
+ひじかた,ゆたか
+おぬま,まさはる
+はぶつ,よしまさ
+ひだか,やすお
+はしもと,たかし
+はまの,ちょじ
+ひしぬま,こういち
+はら,きみえ
+はなき,みちはる
+はら,みよし
+はが,やすひろ
+はなだ,みちこ
+ひらやなぎ,けんじ
+ほりかわ,かずお
+ほりかわ,まさお
+はしもと,ただかず
+はた,みきお
+ひらい,かずみ
+はらぐち,まさゆき
+ひらお,けん
+はしずめ,つぎえ
+つじ,いさお
+さくらざわ,ひろゆき
+あべ,かずひろ
+あべ,きんや
+あべ,なおき
+あべ,のぶゆき
+あべ,よしみ
+あべ,しんいちろう
+あかぎ,けんじ
+おかもと,たけお
+えんど,まさのり
+あかいし,のぶたか
+にしな,みつのり
+あきもと,けん
+あきずき,あきこ
+ひらばやし,としひこ
+あめみや,じゅん
+あみの,やすまさ
+あなみ,ゆひち
+あなざわ,かんた
+あんどう,まなぶ
+あんどう,ひでとし
+あおやま,こういち
+あおやま,まさひろ
+あおやま,ひろた
+あらい,こうじ
+あらい,おさむ
+あらい,たかお
+あらい,やすひと
+あらい,しずお
+あらき,みちこ
+すがわら,つねはる
+あさひ,まこと
+あさくら,としお
+あさみ,まさとし
+あさむら,しげまさ
+やましな,あきら
+あさり,あきひろ
+あさず,まさかず
+あつみ,かおる
+ばん,ゆうぞう
+べっしょ,ひろき
+ちば,まさき
+ちかきよ,こうじ
+ちむら,しんいち
+どばし,こういち
+えばし,まさし
+えびはら,まこと
+えがみ,たまお
+えぐち,まさやす
+えぐち,みゆき
+えじり,ともみ
+えんど,しげる
+えんど,たかし
+えのもと,ふみとし
+ふちの,かつみ
+ふじい,かずお
+ふじい,まさこ
+いしい,ともこ
+むらやま,よしゆき
+ふじかた,ひろやす
+ふじかわ,けいいち
+ふじまる,あこ
+ふじもと,なおひさ
+ふじもと,たみえ
+ふじもと,たけお
+ふじの,しょへい
+ふじお,よしふみ
+ふじさか,ゆきお
+ふじさわ,ゆきたか
+ふじさわ,さとし
+ふじた,すぐる
+ふじた,まゆみ
+ふじわら,たつお
+ふじわら,よしつぐ
+ふじわら,とおる
+ふかだ,おさむ
+ふかがわ,てつ
+ふかの,じゅん
+ふかわ,としひさ
+ふかや,たつや
+ふかざわ,かずとも
+ふくだ,ひさと
+ふくい,くにひろ
+ふくもと,ただよし
+ふくもと,としかず
+ふくもと,やすとも
+ふくもと,としあき
+ふくしま,さとし
+ふくとみ,のりお
+ふなき,たかひろ
+ふるさわ,まさゆき
+あびこ,まさゆき
+ふせ,とおる
+ふせがわ,まさゆき
+ふしみ,しんしょ
+ぎま,ふみひろ
+ごみ,あつひろ
+ごと,けい
+ごと,せいじ
+ごと,としかず
+ぐんじ,ひとし
+はぎわら,こうじ
+はぎわら,ひろし
+はいの,ひろたか
+はかまだ,ひろあき
+はまだ,まさひこ
+はまだ,すすむ
+はまぐち,ひろゆき
+はら,りゅさく
+はら,しんじ
+はら,たろう
+はら,まさゆき
+はらだ,のりお
+はらだ,よしなお
+はらだ,なおひさ
+はらこ,かずよし
+はるな,まこと
+はせがわ,のりこ
+おしま,ともあき
+はしもと,ひさのり
+はたの,みよ
+はたざわ,よしこ
+はと,いちろう
+はつみ,ひさよし
+はっとり,のりゆき
+はやかわ,ゆき
+はやかわ,ゆきお
+はやかわ,けんじ
+はやの,しんいち
+はやせ,きよたか
+はやし,くにひこ
+はやし,まさなり
+はやし,ますみ
+はやし,みなこ
+はやし,のりこ
+いもと,たかひろ
+はやつ,たかあき
+ひがき,たくや
+ひがし,あきら
+ひの,たかし
+ひらばやし,かずひろ
+ひらの,かずみち
+ひらの,まさし
+ひらおか,あずさ
+はらさき,ともゆき
+ひらて,としひろ
+ひらやま,あつろ
+ひろえ,としひこ
+ひろかわ,あつし
+ひろせ,しんご
+ひろし,たかはる
+ひさむね,かおり
+ほんだ,よしひろ
+ほりかわ,けいじ
+ほりこし,せいた
+ほりこし,まさよし
+ほし,ひろし
+ほしこ,ひであき
+ひらさわ,すみこ
+ほそい,けんじ
+ひょど,なおと
+ひょど,かずひろ
+いべ,けいいち
+いちかわ,まゆみ
+いちかわ,たつや
+いちかわ,ひでお
+いちのみや,とおる
+いで,よしかず
+いで,しゅひち
+いがらし,ひでたか
+いがわ,のぶこ
+いぐち,けいこ
+いいだ,こういち
+いいだ,のりあき
+いいじま,しんいち
+いいつか,ひろゆき
+いいずか,ゆきお
+いいずか,まさひろ
+いからし,さだゆき
+いけだ,しんいち
+いけだ,たかし
+いけだ,ゆすけ
+いけだ,しんいち
+いけなが,まさひろ
+みつもと,まさる
+いけやま,ゆみ
+いけざ,みつる
+いけざき,みつゆき
+いくた,ゆり
+いまい,やすゆき
+いまいずみ,きよし
+いまむら,しんや
+いまむら,しゅひち
+いまにし,ひろし
+いながき,こういち
+いながき,のぶお
+いながわ,かずのり
+いなほ,ありさ
+いなみ,ともき
+いなつぐ,なおき
+いなよし,まさふみ
+いの,じゅん
+いのおか,ひでと
+いのうえ,ひろお
+いのうえ,ひろたか
+いのうえ,ひろゆき
+いのうえ,ひとし
+いのうえ,おさむ
+いのうえ,てるゆき
+いのうえ,よしのり
+いりさわ,のりひろ
+いせ,ひろゆき
+いせき,えいり
+いしだ,ともひろ
+いしだ,かおり
+おかだ,かつゆき
+いしい,たつや
+やまだ,まさる
+すぎはら,ひろみち
+いしかわ,みさお
+いしかわ,たつお
+いしかわ,かずと
+いしまる,しんや
+いしもと,たかゆき
+いしもと,たけし
+いしもと,ひでかず
+いしの,たかし
+いしつか,たかあき
+いしわた,ゆひち
+いしわた,きくお
+ひらばやし,あきひこ
+いしざき,ゆきお
+いしずか,かつや
+いそだ,やすのり
+とおか,つよし
+くりはら,はるみ
+いとう,えいじ
+いとう,ひろぶみ
+いとう,ひろたか
+いとう,かつら
+いとう,まさこ
+いちやなぎ,まさみ
+いとう,のりこ
+ながた,たつお
+いとう,まさひろ
+かみかわ,けんじ
+いわい,かくいちろう
+いわかわ,さとし
+いわみ,たくや
+いわみ,ゆうじ
+いわもと,えいじ
+いわなが,もとのり
+いわさき,とおる
+いわさき,たけし
+いわせ,としゆき
+いわした,けいじ
+いわた,けんいち
+いわた,よしあき
+いわたて,えつき
+いずみ,ようじ
+じんの,さとし
+かがわ,しげひと
+かいぬま,つねひろ
+かじた,かつみ
+かけがわ,たかはる
+かきぬま,ただみつ
+かまだ,のぼる
+かまた,てるひさ
+かめたに,としひこ
+かみじょ,たかし
+かみむら,ともこ
+かみやま,まさひろ
+かなうち,けいこ
+たけうち,ふみかず
+かねこ,ひろゆき
+かねこ,おさむ
+かんぬき,こせい
+かの,さとし
+からはし,ひでき
+かさい,みわ
+のむら,たかやす
+かさい,ひでお
+かせ,のぶお
+かしくら,たかみち
+かしむら,かずたか
+かしわぎ,なおき
+かたの,たかひろ
+かたおか,ひろき
+かとう,くにあき
+かとう,まさのり
+かとう,まさし
+かとう,まさゆき
+かとう,たかゆき
+かとう,みき
+かとうおか,やすのぶ
+かつい,やすき
+かつまた,せいいち
+かわばた,きよくに
+かわちや,ひろあき
+かわだ,みのる
+かわだ,えみこ
+いりさわ,ももこ
+かわい,じゅにち
+かわかみ,よしろ
+かわかみ,さとし
+かわみ,かよこ
+かわむら,てるひさ
+いしい,やすし
+かわの,おさむ
+かわむら,なおき
+かわさき,けい
+かわせ,まさはる
+かわせ,たかあき
+かわせ,たかし
+かわしま,ゆかり
+かわたに,じょじ
+けいだ,みのる
+きだ,たかお
+きだち,としあき
+きはら,りせい
+きくかわ,ひろゆき
+きもと,ふみお
+きむら,みわ
+かまた,けんじ
+いくみ,みのる
+きのした,あきら
+きのうち,けんじ
+きし,やすき
+きしもと,まさひろ
+きうち,きよひろ
+こば,のぶゆき
+もり,なおき
+こばやかわ,ひろし
+くぼた,えいじ
+こばやし,えいこ
+おかわ,くにひこ
+こばやし,まさあき
+こばやし,しげこ
+こまた,しげお
+こばやし,ともえ
+こばやし,ゆかり
+こばやし,まさひで
+こだま,けんいち
+こえじ,ひろゆき
+こぐち,まゆみ
+こはた,しげかず
+こひら,まき
+なかがわ,たくし
+こひゃま,かずひろ
+こいで,とよあき
+こいで,ひろゆき
+こいけ,ひでき
+こいずみ,たけし
+こじま,ひとし
+こけぐち,てつや
+こくぼ,しん
+こまつ,てつじ
+こまつ,きよのり
+こみや,えいたつ
+こんど,かつみ
+こんど,かつゆき
+こんど,かずひこ
+こんど,やすし
+こんど,つとむ
+こにし,けんじ
+こさか,としひこ
+こせき,きみお
+こしいし,りえこ
+こしお,あきら
+こすげ,よしろ
+こひゃ,じゅん
+こやま,しげる
+こやま,もとこ
+たけち,たくや
+くぼ,やすまさ
+くぼ,ようこ
+くぼ,たかこ
+くがい,ゆみこ
+いからし,よじ
+くまざわ,かずとし
+くにみつ,あきら
+くの,みえ
+ほしの,たかゆき
+くらしげ,たつお
+くりはら,たかこ
+なかがわ,まさひろ
+やなぎだ,としひこ
+くりやま,たつや
+くろかわ,まさとし
+くさかわ,としあき
+くさなぎ,まさのり
+くさの,かずし
+くせ,おさむ
+くしだ,しゅぞ
+くすだ,としや
+くすき,つとむ
+くすみ,ふみき
+まえだ,たかゆき
+まえだ,かずひろ
+まえかわ,のぶこ
+まえかわ,ひさよし
+まがりふち,せいし
+まきの,としや
+まきの,こうじ
+まなべ,みか
+あがつま,しょひち
+まるお,ゆきお
+まるた,ひであき
+まるやま,ひでゆき
+まるやま,けいいち
+まるやま,おさむ
+まるやま,ひでひこ
+ますだ,さとる
+ますだ,ちえ
+かんばら,こういちろ
+まつばら,ちえこ
+なかむら,ゆたか
+まつだ,たつや
+まつだ,あきお
+まつい,ひろこ
+まつい,たかお
+まつい,よしお
+まつい,ちひろ
+まつもと,けんじ
+まつもと,まさよ
+まつもと,たつゆき
+まつもと,しげる
+まつおか,なおき
+なるせ,ゆか
+まつや,まこと
+めざわ,たかひろ
+みえの,ゆうじ
+みぎた,てるみつ
+みかみ,としや
+みむら,いずみ
+やなぎ,ひろし
+みなかた,ちとせ
+みね,くにのり
+みね,まさゆき
+みのわ,ひろゆき
+みさわ,よしのり
+みさわ,しゅひちろ
+みしま,ちよこ
+みたむら,あつし
+みと,けんじ
+みつひら,まさかつ
+みついし,しんや
+みつなり,みほ
+みうら,りゅじ
+みやべ,のぶひこ
+みやじま,ひとし
+みやもと,きゅひゃ
+みやもと,まゆみ
+みやさか,しょじ
+みやさか,かずや
+みやした,こういち
+みやした,まさゆき
+みやざき,まさやす
+みやざわ,やすえい
+みやざわ,きよえ
+みぞはし,まきこ
+さかい,たかひろ
+みずの,つよし
+みずおち,ともひろ
+みずしま,のぶお
+みずた,まりこ
+もちはら,まさふみ
+もちずき,たかえ
+ももせ,ひろかず
+もり,けんじ
+もり,しげき
+もり,しげる
+もり,ともみ
+もり,ゆひちろ
+もり,けんいちろ
+もりかわ,ひろか
+もりもと,じゅんこ
+もりもと,のりしげ
+もりもと,かつみ
+もりむら,たかゆき
+もりの,たけひこ
+もりさわ,ひろし
+しまおか,ひろあき
+もりした,たかお
+もりやま,けんじ
+もろおか,けんじ
+もろとみ,くに
+もとき,こういち
+もとの,しゅひち
+もとたか,ひろき
+むぐるま,あきひろ
+むかい,ちえ
+あんどう,はずき
+はね,ひでき
+むらかみ,まもる
+むらまつ,まさよ
+むらしげ,やすひろ
+しもむら,こういち
+むらた,まなぶ
+みょが,しんいち
+ながはら,かずみ
+いとう,くにかず
+ながい,おさむ
+ながい,ゆか
+いわと,ひろこ
+たけしげ,みつひろ
+ながお,なおき
+ながお,ただとし
+ながお,かつゆき
+ふくつか,ひでき
+ながさわ,たくじ
+ながさわ,よしみ
+ながせ,いわお
+ながしま,こき
+ながたに,としかず
+ながわき,つとむ
+ながやま,かずゆき
+なごや,じゅん
+ないとう,まこと
+ないとう,たかゆき
+なかだ,ひろし
+なかがき,かつみ
+なかがわ,けいた
+なかがわ,とおる
+なかがわ,よしき
+なかがわ,ちほこ
+なかじま,あきひろ
+ほりうち,みちのり
+なかはら,いさえ
+なかじま,けいこ
+なかじま,ひでき
+きくた,やすひろ
+なかじま,すすむ
+なかまる,あきお
+なかむら,ふみひこ
+なかむら,ひろやす
+なかむら,まさひで
+なかむら,もりお
+なかむら,のぶゆき
+なかむら,さだみつ
+なかむら,たくや
+なかむら,ひろあき
+はっとり,てるのぶ
+なかむら,としひろ
+なかむら,やすひろ
+なかむら,まさし
+みやもと,とおる
+なかにし,とよじ
+なかにし,かずひと
+なかの,かずゆき
+なかの,こうじ
+なかの,みか
+なかの,としあき
+なかの,としこ
+なかの,よし
+なかの,まこと
+なかお,ちえ
+なかおか,のりこ
+なかしま,たかお
+なかしま,たかし
+しなだ,りゅひち
+なかた,しげかず
+なかや,まなぶ
+さいかわ,さぶろ
+はせがわ,とおる
+なかざわ,たつじ
+なまつ,いずる
+なりた,ひでと
+なすの,すなお
+ねもと,よしあき
+ねおい,ちゆき
+ねず,やすひで
+にいむら,おさむ
+にいやま,つかさ
+にいやま,けい
+にのみや,よしのぶ
+にのみや,たかひろ
+にし,まさかつ
+にしだ,しんいち
+にしだ,かずなり
+にしどの,あきら
+にしかわ,かずなり
+にしきど,たくじ
+にしむら,ひとし
+にしな,ひろし
+にしお,まみ
+いのうえ,まみ
+にしざわ,たくじ
+にしずか,たかあき
+にった,みねあき
+のだ,まこと
+のむら,なおき
+ののむら,かずまさ
+のりはし,ちかげ
+ひの,ひろし
+のざき,ひろし
+のざわ,かずあき
+ぬまの,たかお
+おびせ,まさのり
+おぼかた,まさし
+おち,よしのり
+はせがわ,あきら
+まなべ,あきひこ
+おだ,あきら
+おだ,だいいつ
+おだ,じゅんじ
+おだ,かずとし
+おだくら,たかあき
+おがた,としや
+おがわ,ひとみ
+あべ,わかこ
+おぐち,さとし
+おぐま,ひろゆき
+おぐら,いさお
+おぐら,かずゆき
+むさし,しん
+おぐら,まさひろ
+おぐり,のぶこ
+おば,ひろき
+おはし,けんすけ
+おひ,あきひろ
+おひえ,みつあき
+おくぼ,ひろゆき
+おくま,かつみ
+おくま,しんすけ
+おの,ひでひろ
+おぬま,じゅんこ
+たかせ,ぎょ
+おさわ,ひとし
+おさわ,としひこ
+おさわ,よすけ
+おさわ,こき
+おしま,まさよし
+おしま,たまき
+おしま,ひでお
+おた,みつる
+おたか,まさひこ
+おたき,まこと
+おたに,けんじ
+おつか,よひち
+おつか,ひろかず
+おわ,けんじ
+おわだ,はるし
+おひゃま,いさむ
+おぞね,ひろし
+おか,かつみ
+おか,かよこ
+おか,よしひで
+おか,ひでき
+おかだ,ひろし
+おかだ,けんじ
+おかだ,そすけ
+おかだ,まりこ
+おかどめ,ひろお
+おかもと,みつひろ
+おかもと,しんじ
+おかもと,ひろゆき
+おかむら,たけし
+おかの,よじ
+おかのや,ひろのぶ
+おかお,てつお
+おかざき,まこと
+おき,ひろのり
+おきもと,ひとし
+おくむら,のぶゆき
+おくむら,やすし
+おくの,ひろあき
+おまた,かずしげ
+おにき,たかのり
+おにつか,たかよし
+おのでら,ひとし
+おのざわ,まさゆき
+おにし,とよあき
+おにし,きよかつ
+おつか,やすし
+おさだ,こうじ
+おさき,ひろし
+おさなみ,りか
+おやまだ,あきら
+おざわ,みつる
+おざわ,やすじ
+おざわ,ひでお
+ろ,ひろゆき
+さえぐさ,まさひこ
+さえき,ともこ
+なかじま,ゆきひこ
+さいた,あい
+おがわ,あきよし
+さいとう,ひろゆき
+さいとう,まさあき
+さいとう,あきら
+さかい,ひでつぐ
+さかい,けん
+さかい,くによし
+さかい,なおひさ
+さかい,とものぶ
+さかい,たかし
+さかいり,しずよし
+さかき,やすのり
+さかま,こうじろ
+さかまき,しろ
+さかもと,やすのり
+さかもと,よりと
+さかもと,やすのり
+さかた,よしひろ
+さかうえ,たけし
+さかずめ,ちえこ
+なかの,やすはる
+さくま,かずひさ
+さんぼんまつ,たかひこ
+さの,よしのり
+さの,りょじ
+ささがわ,ひでのり
+ささき,けいじ
+ささき,たけし
+ささき,たく
+ささき,しょご
+ささざわ,ひろゆき
+さとう,きょこ
+さとう,まさのり
+さとう,まさとも
+さとう,まさとし
+さとう,さとる
+さとう,しゅひち
+さとう,たかし
+さとう,たかゆき
+さとう,たくみ
+さとう,ともひろ
+さとう,よしひこ
+さとう,かずひろ
+さつま,たけし
+さわぐち,としふみ
+さわい,ゆたか
+さわらぎ,ゆりこ
+さわたに,やすゆき
+せいた,かずよし
+せき,こうじ
+せき,としゆき
+せき,やすし
+せきはら,かつひと
+せきね,よしたか
+せきね,たかゆき
+しらいし,のぶたか
+せんが,ゆすけ
+せの,ひでゆき
+せしも,さとし
+せと,おさむ
+せとぐち,まゆみ
+てるや,のぶお
+しいば,ひでのり
+しばの,みわこ
+しばさき,なおと
+しばた,みちひろ
+しぶさわ,やすお
+しぶさわ,くにお
+しち,あつし
+しちた,まさまろ
+しげひさ,のぶひろ
+しげさわ,のりやす
+むらた,あきら
+しまず,ゆすけ
+しまず,ひろゆき
+きしだ,まさひろ
+しみず,のぶお
+しみず,のりゆき
+しみず,しゅひち
+しみず,たつお
+しみず,たつや
+しみず,ゆひち
+しみず,りか
+みやこし,ともゆき
+しもみち,いくこ
+なかばやし,てつろ
+しもおさ,まさふみ
+しもつじ,よしひろ
+しなだ,だいえい
+しながわ,たかゆき
+しんもと,とおる
+しの,みゆき
+しのだ,りゅうたろう
+しのだ,たかつぐ
+しのざき,たつし
+しおたに,たかし
+しおや,みちお
+しらべ,えいいち
+しらがき,ひろし
+しらい,はやとし
+しらいし,くんじ
+しらいし,けいこ
+しらき,ひろしげ
+しずた,としひろ
+しょじ,まりこ
+そのだ,かおる
+すどう,たけし
+すえだ,しんじ
+すえつぐ,ちかし
+すがた,のぶお
+すがわら,まさひろ
+すぎの,よしのり
+すぎさき,りゅうたろう
+すぎしま,はつえ
+ながい,しょじ
+すぎやま,てつひろ
+すみ,つかさ
+すみたに,いっせい
+すさき,よしはる
+すすき,かずひこ
+すやま,えつひろ
+すずき,ひろし
+すずき,かずひろ
+すずき,けいこ
+たじま,けいた
+すずき,みどり
+すずき,もとゆき
+すずき,せいこ
+すずき,たかし
+すずき,やすすけ
+すずき,よしあき
+すずき,よしのぶ
+すずき,ゆうじ
+すずき,まさる
+しゅくや,まりこ
+たちばな,としひろ
+たちやま,かつひろ
+たどころ,しんいち
+たがわ,ひろゆき
+たぐち,こういち
+たぐち,とものり
+たぐち,みちお
+たい,けんいち
+たじま,こういち
+たかだ,さとき
+たかだ,たくや
+たかぎ,やすこ
+みやもと,ゆたか
+たかはま,あきこ
+たかはし,あつし
+たかはし,ひでとも
+たかはし,ひでとし
+たかはし,ひでとし
+たかはし,ひろき
+たかはし,じゅにち
+たかはし,かよ
+たかはし,こういち
+たかはし,まさあき
+たかはし,まさひと
+たかはし,もとかず
+たかはし,なおゆき
+たかはし,のぶひさ
+たかはし,のりお
+たかはし,さちえ
+たかはし,さとる
+たかはし,しげのぶ
+たかはし,すすむ
+たかはし,たかし
+たかはし,てつお
+たかはし,やすあき
+たかはし,まさのり
+たかなし,つとむ
+たかの,まさゆき
+たかおか,まこと
+たかせ,けんりゅ
+たかしな,としひさ
+たかしな,やすし
+たかた,ひろゆき
+たかやま,やすのり
+たかやなぎ,ひろし
+たけばやし,もとやす
+みかみ,ゆきえ
+たけい,やすこ
+たけき,たかし
+たけもり,よしひさ
+たけむら,としゆき
+たけうち,さとこ
+たけや,ひでき
+たけやま,いちろう
+たきぐち,のぶあき
+たきした,みつる
+たきざわ,しん
+たまい,かつのり
+たみや,てつや
+たむら,しげき
+たなべ,こせい
+たなはし,だいさく
+たなか,ひろあき
+たなか,ひろゆき
+たなか,じゅん
+たなか,かつみ
+たなか,けいすけ
+たなか,まこと
+たなか,ましゅ
+たなか,のぶひこ
+たなか,おさむ
+たなか,けん
+こだま,しょひち
+たなか,としあき
+たなか,としかず
+たなか,としゆき
+たなか,あきら
+たなむら,しげる
+たんば,あきこ
+たにぐち,よすけ
+たにぐち,ひろゆき
+たにい,よしゆき
+たにむら,しげと
+たにわき,ひでのり
+たるい,ひろゆき
+たさき,ひろき
+たしろ,ゆきこ
+たていし,ひろこ
+たうち,じゅにち
+たうら,しん
+てらだ,まさかず
+さとう,じゅんこ
+てらにし,よしひこ
+てらした,あさお
+てるきな,のりあき
+とべ,さとし
+とご,おさむ
+とぐち,さとし
+とじ,かずなり
+とみなが,けいじ
+とみなが,じゅんこ
+とみおか,げん
+とみた,とものり
+とみやま,おさむ
+とねがわ,しょじ
+としなり,かずゆき
+とよだ,まさや
+とよだ,なおや
+とよだ,りょこ
+おもり,ひろあき
+とずか,よしお
+やまかわ,あきら
+つぼい,もりゆき
+つちはし,ひろし
+つちの,あきよ
+つちや,えりこ
+まき,たかはる
+つだ,えいじ
+つがわ,かつのり
+つじ,まさと
+つじ,やすまさ
+つじ,なおき
+つかだ,すぐる
+つかもと,ひろたか
+つむら,あきら
+つなしま,じゅんこ
+おくやま,こうじ
+つのだ,かつや
+つのがい,まさひこ
+つしま,よひちろ
+つつみ,ひでお
+つずき,りゅへい
+つるおか,じゅんこ
+うちだ,かつみ
+うちだ,みのる
+うちだ,よしひろ
+うちだ,ひでのり
+うちの,みつのぶ
+うちのくら,けんじ
+うちやま,さとし
+うちやま,とよかず
+うちやま,ひろし
+うだ,ひろゆき
+うえだ,きよし
+うえだ,たかゆき
+うえだ,ゆきお
+うえだ,まもる
+うえはら,さだはる
+うえはら,やすのり
+うえはら,のぼる
+うえじま,ひろし
+うえき,かつみ
+うえむら,ひでと
+うえの,ひさし
+うえの,まさる
+うえの,まさふみ
+うえやま,やすし
+うい,あきひこ
+うめだ,めぐみ
+うめだ,みちはる
+うめだ,たかのり
+うめだ,のぶひろ
+うめはら,けいじ
+うめかわ,しげる
+うるしだに,なつこ
+いのうえ,よしと
+うさみ,としはる
+うしまる,しげる
+うしやま,まさお
+うすい,しんじ
+うすい,ひろゆき
+うつみ,えりこ
+ささがわ,くにひろ
+そめや,たかひで
+わだ,とくひろ
+わだ,ゆうじ
+わだ,よしこ
+たのうえ,けいすけ
+わしだ,しょひち
+わたい,あつし
+わたなべ,ちはる
+わたなべ,けんじ
+わたなべ,まこと
+わたなべ,まさのり
+わたなべ,まさゆき
+わたなべ,たけし
+わたなべ,ゆうこ
+わたなべ,たつひろ
+やぎ,かつゆき
+やご,こへい
+やはぎ,おさむ
+やくし,じろ
+やまだ,かずあき
+やまだ,けんじ
+やまだ,まさお
+やまだ,まさよし
+やまだ,よしあき
+やまだ,ゆひち
+やまだ,ひであき
+やまがた,みちあき
+やまぎし,まさゆき
+はり,あきお
+やまぐち,かずひさ
+やまぐち,さとし
+やまぐち,ひでき
+あおつか,とおる
+やまぐち,ひろゆき
+やまじ,あきら
+やまもと,かずお
+やまもと,まさひこ
+やまもと,なおふみ
+やまもと,おさむ
+やまもと,れいき
+やまもと,たかし
+やまもと,とみやす
+やまもと,としひろ
+やまもと,としお
+やまもと,よしお
+やまもと,ゆか
+やまもと,たけし
+やまむら,まさえ
+やまなか,まさゆき
+やましな,かつし
+やました,ともかず
+やました,ともみ
+やました,よしさと
+やました,まさのり
+やまて,みちお
+やまうち,ひろのり
+やまざき,じゅにち
+やまざき,けんじろ
+やまざき,かずひろ
+やなぎ,ひろふみ
+やなぎだ,たかゆき
+やなぎだ,あきひで
+やない,としのり
+やなか,えいじ
+やすだ,まなぶ
+やすだ,としゆき
+やすだ,なおふみ
+やすもと,ともかず
+やつか,ゆたか
+やざわ,しんじ
+よだ,ゆきひろ
+よどがわ,りんじゅ
+よだ,けんじ
+よこはた,ひとし
+よこやま,けい
+よこやま,あきら
+よもり,ゆきひさ
+よねもち,のぼる
+よろずや,ひとし
+よしだ,かずお
+よしだ,こういちろ
+よしだ,みほ
+ふじさき,さとし
+よしだ,ただし
+よしだ,まさみ
+よしまつ,いわお
+よしもと,せきこ
+よしむら,かずや
+いしばし,なおき
+よしの,みずほ
+たかの,てつや
+ゆはし,のりお
+えだひろ,ひろのり
+はらだ,ひろや
+はやさか,いわお
+いながき,しげる
+いのうえ,あきよし
+いしはら,よしつぐ
+こじま,なおひさ
+こすぎ,たつぞ
+くぼた,たかし
+もり,のりお
+なかばやし,こういち
+ねもと,ひとし
+にのみや,てつお
+おがわ,ちはる
+おたに,ゆすけ
+せき,かつや
+しぶたに,ただし
+しんと,たつや
+そぶえ,けいご
+たかはし,しょこ
+たかせ,みどり
+とよだ,まさゆき
+うえだ,りゅせい
+やまもと,まさき
+やまずみ,さとし
+よしだ,たかし
+あさかい,やすひさ
+ふくた,しんご
+かわさき,なるみ
+ひろせ,たかし
+はら,なおひさ
+かさはら,たかし
+おざわ,けい
+かとう,めぐみ
+なかむら,まさこ
+たぐち,くみ
+あだち,つとむ
+あかし,ひろゆき
+あきやま,ひとし
+あおき,たけし
+あらき,まみこ
+あさひ,ひろひで
+あさの,しんたろう
+あわの,やすゆき
+あわの,ひろし
+どじ,こうじ
+どぞの,なるとし
+ふちかみ,かずみ
+ふじい,かずお
+ふじい,よしかず
+ふじいえ,かが
+こわ,せつこ
+ふじしろ,けいいち
+ふじた,けいいち
+ふじた,せいえい
+ふじわら,ひろむ
+ふくだ,りょせい
+ふくだ,よしひさ
+ふくだ,えみ
+さいとう,しょじ
+ふくやま,ともたけ
+ふるはた,ふみのり
+ごと,としひこ
+はむろ,おさむ
+はせ,じゅんじろ
+はしもと,なおゆき
+はしもと,せいや
+はっとり,かつろ
+はやし,けんじ
+はやし,こういち
+はやし,のぶや
+はやし,しゅにち
+はやし,まさお
+はやし,ようこ
+ひび,ひろゆき
+ひぐま,こうじ
+ひらい,なおゆき
+ひらかわ,たつお
+ひらの,けん
+ひろなか,おさみ
+ほりぐち,じゅにち
+ほさか,こうじ
+ほそや,ひろかず
+いちい,おさむ
+いちかわ,たくひさ
+いぐま,まさひろ
+いいさか,じゅにち
+いかわ,じゅん
+いけだ,かつひこ
+いけだ,としあき
+いけがみ,まさかず
+いのうえ,しげみつ
+いのうえ,めい
+こばやし,まさつぐ
+いしばし,ひろゆき
+いしだ,たくや
+いしまる,ひろたか
+いしずか,つねとも
+いそ,かずひこ
+いとう,みのる
+いとう,のぶあき
+いとう,さとし
+いとう,せいじ
+いとう,しげゆき
+いとう,もとひろ
+いとう,えいいち
+いわた,まゆみ
+かりや,いわお
+じょがさき,あゆこ
+かが,いくじろ
+かげやま,まもる
+かじなみ,しろ
+かみひらた,ひさあき
+かなもり,とくじろ
+かねこ,やすひさ
+かねこ,よしゆき
+かにわ,みわ
+かさま,としゆき
+かせ,ひであき
+かしむら,ひであき
+かたおか,あきひこ
+かとう,まさひろ
+かとう,さわこ
+かとう,てつや
+かとう,よしみね
+かとう,けんいち
+かわち,さとし
+かわぐち,せいいち
+かわの,しげお
+かわしま,かずひさ
+きくち,つよし
+きもと,たかゆき
+きむら,ひろゆき
+きのした,たつや
+きしはら,てるお
+きしかわ,よしお
+きた,あきら
+きたがわ,のりまさ
+きたの,ひろゆき
+きたやま,ふみとし
+きよおか,けんじ
+きよせ,じゅんこ
+こばり,けいじ
+こばやし,こた
+こばやし,あきひこ
+こぼり,のぶひで
+こいわ,けいこ
+こじま,ちさと
+はしもと,みつお
+こみやま,てつじ
+こんど,ともあき
+こんど,よしひろ
+こんど,かつや
+こしかわ,てつ
+こてがわ,つぐあき
+こわ,ひでゆき
+くぼた,りえ
+くぼた,みちはる
+くどう,りえこ
+くが,せいこ
+もり,まさよ
+くにたけ,つかさ
+くらかけ,たてき
+くり,かおる
+くさふか,こうたろう
+くわばら,たまみ
+まちだ,たけし
+まるやま,ふみよ
+たけうち,こういち
+まつば,たかひろ
+まつばら,ともゆき
+まつだいら,のりこ
+まつもと,よすけ
+まつもと,あきふみ
+まつなが,けんじ
+まつお,のぶゆき
+まつお,しょひち
+まつお,ひろゆき
+みくに,はやと
+みながわ,よしひろ
+みながわ,ゆきひろ
+みのて,はじめ
+みた,ひろかず
+みとめ,まさひと
+みつやま,しのぶ
+みやち,とおる
+みやじ,ひろゆき
+みやじま,ゆき
+みやた,あきお
+みやざき,あつし
+みやざき,たけろ
+みやざと,まき
+みやざわ,よりこ
+みぞぐち,よしあき
+みずい,みほ
+もんの,まさや
+もり,のりゆき
+もり,しんや
+もりた,やすし
+もりた,わたる
+もりやま,しげる
+むらかみ,ともあき
+むらかみ,よしくに
+むらかみ,たけし
+むらまつ,しゅいち
+むろぞの,たかふみ
+ながぶち,こうじ
+ながの,みつお
+ながせ,けいこ
+ながたに,きよあき
+なごや,まこと
+なかがわ,よしなり
+なかみち,ひろき
+なかむら,もとこ
+なかむら,まさよし
+なかの,えいじ
+なかしま,みつひろ
+にしだ,のりすみ
+にしはら,くるみ
+にしむら,としあき
+にしおか,まりこ
+のぐち,りゅひち
+のせ,こういちろ
+おばた,みのる
+おちあい,しんすけ
+おちあい,ひろあき
+おがわ,ひろし
+おがわ,みつる
+おがわ,りゅひち
+おがわ,しほ
+おぎの,ひろあき
+おぐら,かおり
+こんど,しょ
+おへ,じゅにちろ
+おがき,まさのり
+おにし,ひろし
+おの,ひろのり
+おた,じゅん
+おしろ,あつと
+おた,しんや
+おたしろ,かずひこ
+おつ,のぼる
+おつ,まさずみ
+おひゃぎ,ゆうじ
+おひゃま,いくこ
+おかもと,ひでひこ
+おかやま,たかし
+おけたに,まさと
+おくやま,たみや
+おのでら,かつとし
+おざわ,まゆみ
+さいとう,たかあき
+さいとう,やすゆき
+さいとう,まさみち
+さかぐち,じろ
+さかなか,のりあき
+さかにわ,まさみち
+さかうち,ひろし
+さくらい,かずしげ
+さくらい,たかし
+さの,ひでき
+ささき,まさかず
+ささき,めぐみ
+ささき,えいじ
+ささま,ちはる
+さとう,ひろぶみ
+さとう,みつより
+さとう,たつこ
+さとう,くみこ
+にしまた,ひでとし
+さわだ,みのる
+せんば,かずひで
+せと,てるお
+しぶや,たかのぶ
+しい,ひろかず
+しまだ,もとむ
+しまだ,よりこ
+おかもと,としたか
+しながわ,つとむ
+しんかわ,まさゆき
+しんきゅ,たくや
+しのだ,まさみ
+しのはら,えり
+あさかわ,りえ
+しおはら,まさかず
+しろた,たけや
+すぎもと,ひろゆき
+すぎやま,たかし
+すぐち,みわ
+もろとみ,てつお
+すずき,まさひさ
+たぐち,ゆひち
+たぐち,よしのり
+たはら,ゆきお
+たかぎ,みさこ
+たかはし,こへい
+たかい,みえ
+たかやま,まさとし
+たけ,さちえ
+たけばやし,ひさや
+たけかわ,まさゆき
+たけうち,てるえ
+わたなべ,せいいち
+たけうち,かおる
+たみや,まさと
+たむら,かつひろ
+たなべ,かずひで
+たなか,きよたか
+たなか,のぶこ
+たなか,はるこ
+たにぐち,まさふみ
+たにぐち,あきお
+たにむら,ゆうじ
+たのうえ,ひろゆき
+たるさわ,よしお
+たしろ,かずお
+てらだ,けんじ
+とが,かずこ
+とがし,なおき
+とご,りゅじ
+とくなが,じゅんこ
+ともの,かほる
+とよだ,こうじ
+つちや,ひでき
+つかはら,まさかず
+うらさき,ひろし
+わだ,まさひろ
+わだ,けいこ
+わたなべ,のぶこ
+わたなべ,つよし
+やぎぬま,あつし
+やまだ,かずひろ
+やまだ,たつお
+やまだ,あきひろ
+やまもと,あきこ
+やまもと,としはる
+やまもと,ゆきひこ
+やまもと,ひでみね
+やまなか,しげお
+やまなか,しんや
+やました,あやこ
+ひぐち,かずみ
+やまざき,よじろ
+やなぎ,ひろあき
+やすだ,のぶひろ
+やすえ,ゆうじ
+よこえ,ともやす
+よこやま,れいこ
+よねはら,まさとし
+よねみつ,ふみお
+よりまつ,けいこ
+よしだ,としあき
+よしの,ひさし
+よしたき,けいじ
+ゆかわ,まさあき
+ゆり,ひでと
+もり,たつや
+ささき,ゆきひろ
+しらはま,ちひろ
+てんぱく,かおる
+うちだ,まさひろ
+やまうら,じゅんじ
+まつぐま,ふみの
+あべ,ひろし
+あべ,のぶゆき
+あべ,としや
+あべ,のぶあき
+あだち,りえこ
+あいはら,こういち
+あじま,まこと
+あかさか,ともこ
+あきもと,ふみひろ
+あきやま,みつひろ
+あきやま,おさむ
+あくね,じゅんや
+あまの,ともお
+あまの,たかひさ
+あめみや,かつひこ
+あんどう,たけひろ
+あんどう,ゆひちろ
+あんどう,なおや
+あんじき,とる
+あんぺいじ,ふみこ
+あおき,ひろゆき
+あおき,かつみ
+あおき,かずお
+あおき,なおあき
+あおき,ななお
+はらしま,つよし
+あおき,やすあき
+あおき,とおる
+あおやぎ,こぞ
+あおやま,たかし
+あおやま,たつや
+あらい,ひろし
+あらき,まなぶ
+あらき,ちあき
+あらた,まさつぐ
+あらや,みき
+こばやかわ,みわ
+ありた,かずお
+あさば,ゆうこ
+あさえだ,しゅにち
+あさか,よしこ
+あさくら,しげはる
+あさの,ゆきこ
+あさの,じゅん
+あしべ,としあき
+あわみや,りか
+あざみ,つとむ
+あぜやなぎ,なおひさ
+あずま,たかゆき
+あずま,よひち
+あずま,けいすけ
+ばば,こういち
+ばば,まこと
+ばば,かつじ
+ばなか,みき
+さたけ,しんいち
+ちば,やすひろ
+ちぎら,なるひと
+ちはら,よしゆき
+ちかい,なむす
+ちょん,ともちか
+ちゅま,たつお
+だい,しゅじ
+だいお,ともあき
+だて,まさひこ
+でぐち,ひろゆき
+でわ,つとむ
+どい,ひろみ
+えびさわ,りえ
+なかむら,たかゆき
+えいもり,なおゆき
+えんど,よしかず
+えんど,かつゆき
+えのもと,だいすけ
+ふじい,かずや
+ふじい,けいこ
+ふじい,もとはる
+ふじい,のぶひこ
+ふじい,たかふみ
+ふじかわ,あつし
+ふじもり,あつこ
+あおき,たけし
+ふじもと,まさひろ
+ふじおか,ひでき
+ふじた,ひろし
+ふじた,こうじ
+ふかお,えみこ
+ふくだ,たいぞ
+ふくだ,ひろみつ
+ふくい,たかこ
+ふくい,はるみ
+ふくもと,なおき
+ふくしま,たかお
+ふくしま,けいこ
+ひの,ひろかず
+ふくざわ,けんいちろ
+ふくざわ,たつのり
+ふなだ,みつよし
+ふるだて,としあき
+ふるや,しのぶ
+ふたむら,あきこ
+なかむら,あきら
+ごと,なおや
+ごと,てつろ
+ごと,やすひさ
+ごと,むつお
+はば,しんいち
+はちやま,かつひこ
+はぎわら,ひろし
+はまべ,ひでお
+はまだ,こうじ
+はまだ,ひでたか
+まえおか,ひでのぶ
+はなみ,のぶこ
+はなおか,さち
+せざい,きょこ
+はら,みきこ
+さとう,ゆうこ
+はら,けいこ
+はらだ,けいすけ
+はらだ,みきや
+はらだ,もとひさ
+はらだ,しげき
+はらだ,かずや
+はりま,かいちろう
+ほんま,ようこ
+はるやま,ようこ
+はせ,まさみ
+はせがわ,しん
+はせがわ,たかゆき
+はせがわ,よしみ
+はせがわ,たかひで
+はしぐち,ひとし
+はしもと,やすひで
+はしもと,あきこ
+はしずめ,なおき
+はしずめ,りょじ
+はしずめ,せいご
+はた,あつし
+はたの,なつみ
+はたの,えいいち
+はとり,かずひこ
+はっとり,まさあき
+はっとり,みつのり
+はっとり,なおき
+はっとり,のぶあき
+はっとり,しげる
+はっとり,よひち
+はっとり,たつお
+はやかわ,やよい
+はやかわ,けんたろう
+はやみ,あきひこ
+はやし,ひとし
+はやし,かつこ
+はやし,かずや
+はやし,こうたろう
+はやし,みわ
+ささたに,しゅんすけ
+はやし,しんいちろう
+はざま,ちから
+へんみ,かずとも
+ひび,なおき
+ひだか,たけし
+ひだか,よいち
+ひだか,あきひこ
+ひえだ,ゆき
+ひがき,さとし
+ひがし,まさき
+ひいどめ,わたる
+ひじくろ,けいこ
+ふくい,なおみ
+ひま,すみひと
+ひおき,ひであき
+ひらい,ゆみこ
+みき,まさたか
+ひらの,まゆみ
+ひらの,やすひろ
+ひらた,あきら
+ひらつか,まさのり
+ほだ,せいいち
+ひらやま,かなこ
+ひろべ,ともみ
+ひろい,とこ
+ひろさわ,ゆうこ
+ひろさわ,たろう
+ひろすえ,みちかず
+ひろた,しょじ
+はやま,よしひさ
+ひろわたり,ひろみち
+ひさもと,せいいち
+ひさの,いさお
+ひさゆき,よしき
+ひしだ,とめい
+ひしたに,まり
+わだ,まさゆき
+ひやま,ふきよ
+ありくら,かずひろ
+ほんだ,しろ
+ほんだ,ふみかず
+ほんご,ひろき
+ほんま,なおこ
+ほんま,きくみ
+まつもと,まさひろ
+ほり,まさひろ
+ほり,なおこ
+ほりべ,じゅんこ
+ほりえ,おさむ
+ほりえ,ゆうこ
+ほりえ,さゆり
+ほりうち,みかこ
+ほしば,よしあき
+ほしかわ,ゆかり
+かとう,ひろし
+ほしな,やすし
+ほり,ふみえ
+ほしの,のぶひこ
+ほそだ,ゆたか
+ほった,みのる
+ほちど,けいすけ
+いぶか,まさと
+いちかわ,ゆひち
+いちかわ,あきのぶ
+いちます,けんた
+いちのせ,まなぶ
+いで,あきと
+いがらし,としゆき
+いがた,あきのり
+いい,まさひこ
+いいだ,ただし
+いいだ,よしふみ
+いいだ,とおる
+いいの,ひでお
+いいより,なおき
+いいずか,こういち
+いかるぎ,のりゆき
+いかわ,たかし
+いけち,のぶお
+いけだ,さおり
+いけだ,たかや
+いけだ,よしてる
+いけだ,ひとし
+いけがみ,まりこ
+いけじり,つとむ
+いけたき,かつみ
+いくもと,まさひこ
+いまい,まさと
+いまい,えいいちろう
+ほそい,ゆりこ
+いまい,まさよし
+いまにし,まさゆき
+いなだ,しんじ
+いながき,いちろう
+いなげ,みちはる
+はざま,まこと
+いの,かつや
+いのまた,けいすけ
+いのうえ,まみ
+やすかわ,こういちろ
+はる,もとはる
+いのうえ,たかこ
+いのうえ,たかゆき
+いのうえ,ともひろ
+いのうえ,かずや
+いおき,くにおみ
+いりえ,しん
+いさか,たけし
+いさか,れいこ
+おもり,けんたろう
+いしばし,さぶろ
+いしだ,たけし
+いしだ,はじめ
+いしはら,まなぶ
+いしはら,けんいち
+ひらと,ひさもと
+いしい,じゅん
+いしい,けいたろう
+いしい,りえ
+いしい,たかひと
+いしい,とおる
+いしい,てるお
+はねいし,つとむ
+いしい,ふみのり
+いしかわ,ひろひさ
+いしかわ,まさみち
+いしかわ,のぶゆき
+いしかわ,とおる
+いしかわ,わたる
+いしおか,けんいちろ
+いしつか,まなぶ
+いしわた,けいいち
+いしざか,うらら
+いしざか,よしと
+いしざき,はるお
+いしずき,ひでお
+いそ,けいじろ
+いそがい,みきお
+いたば,あつし
+いとう,はるお
+いとう,けいじ
+いとう,まさこ
+いとう,しんすけ
+いとう,やすし
+いとう,ようこ
+ひだか,よすけ
+いとう,よしひこ
+いとう,ゆか
+にし,のりこ
+いわだれ,よしゆき
+いわはし,としゆき
+いわき,ありひろ
+いわもと,こうじ
+いわさき,えいいち
+ひらつか,こうじ
+いわさき,なおと
+いわさき,しげひと
+いわさき,ゆうこ
+じんぐ,ゆうじ
+いわしげ,いのり
+いわた,まさひろ
+じんぐ,まさひろ
+じょご,ばん
+かが,さとし
+かがぶ,あつし
+かぎやま,ひでつぐ
+かい,まさひろ
+かいだ,ゆき
+かいだ,しんいち
+かまち,よしのり
+かまだ,ゆうこ
+かまほり,みずほ
+かまた,よしのり
+かめだ,のぶかず
+かめい,ひろし
+かみの,ひろゆき
+かみの,まさゆき
+かみとの,ひろゆき
+かみや,さとこ
+かみや,まこと
+かみやま,ひろし
+かもん,よしのり
+かもん,やすかず
+かん,かつや
+かない,しんじろ
+かない,ひでお
+かなじ,ゆぞ
+かなおか,のりゆき
+かなざわ,のりまさ
+かんべ,ひろゆき
+かんだ,まさこ
+かんだ,ともひこ
+かねき,こういちろう
+かねきよ,まゆみ
+かねこ,ふみひこ
+かねした,たけし
+かねやす,ひとし
+かの,りゅじ
+かの,のぶゆき
+かんずい,ちあき
+かさはら,けんぎ
+かさはら,ひでき
+かさい,えいたろう
+かさまつ,とものり
+かさも,のりこ
+たまたに,すみこ
+かしわぎ,まさゆき
+かしわぐら,たみお
+かただ,かつひさ
+かたおか,さおり
+ほし,やすたか
+かたおか,ちえ
+かとう,えいすけ
+かとう,ひろと
+かとう,ひろゆき
+かとう,かずひろ
+かとう,なおや
+かとう,しんじ
+かとう,たけし
+かとう,たみゆき
+かとう,ななこ
+かとの,ひでひさ
+かつむら,えいいち
+かわばた,くにとし
+かわごえ,けんいちろ
+かわぐち,しま
+かわはら,ゆりみ
+かしむら,ひでゆき
+かわい,さちこ
+かわい,なおき
+かわもと,ひろと
+かわむら,しゅじ
+かわむら,ひろき
+かわな,やすゆき
+かわな,もりひろ
+かわなみ,しんいち
+かわの,りょた
+かわせ,けいこ
+はらだ,てるひこ
+かわしま,じゅんこ
+かざみ,みちや
+かずさわ,きよし
+きばやし,ひでき
+きだ,いちろう
+きはら,あきら
+きくち,こうじ
+きくち,ますみ
+さいとう,ゆうこ
+きくい,なおみ
+きもと,ひろゆき
+きむら,まなぶ
+きむら,さとる
+きむら,しゅじ
+きむら,ゆきひと
+きむら,まさかず
+きの,ひでひこ
+きりの,しんじ
+きさぬき,じゅにちろ
+きし,しゅこ
+きし,のぶこ
+きしだ,なおと
+きしかわ,やすひろ
+ひらて,ゆひち
+きしなみ,たけし
+きそ,よしひこ
+きた,ひろし
+きたがわ,いちろう
+きたじま,けんじ
+きたじま,つよし
+きたむら,ようこ
+きたの,のぶゆき
+きたざき,つよし
+きたざわ,としつぐ
+きよはら,たかひさ
+はしもと,はるみ
+のざき,かずまさ
+こばやし,かずや
+こばやし,まこと
+こばやし,まさき
+こばやし,なおき
+こばやし,さとし
+こばやし,しん
+こばやし,しんじ
+こばやし,やすまさ
+こばやし,よしお
+こばやし,ひであき
+こち,なおみ
+こだま,ひろゆき
+こが,せいか
+とど,のりこ
+こはら,としゆき
+こひ,ただし
+この,たつし
+こいけ,つとむ
+こいわ,おさむ
+こいずみ,ふみきよ
+こじか,ふみお
+こじま,まさゆき
+こじま,なおき
+こじま,たかはる
+こじま,けんじ
+こまつばら,あつし
+こみや,えいじ
+こもだ,さちこ
+こむろ,しょじ
+こんど,ともひろ
+こんど,ゆき
+こんど,やすひろ
+こさけ,あきひろ
+こせ,しゅひち
+こすぎ,なおすみ
+こずか,はるみ
+くぼ,ひろふみ
+くぼ,とおる
+くぼ,ともゆき
+くぼ,しゅご
+くぼじょ,みえこ
+くどう,ながお
+くどう,りちこ
+くどう,かずひこ
+くまかわ,さとし
+くまくら,りゅた
+くましろ,きよし
+くまた,あきよし
+くにもと,としゆき
+くらもち,なつみ
+くらしま,けんじ
+くりはら,けんいち
+ひらい,こういち
+くりはら,たかし
+くりはら,たけし
+くりはら,やすのり
+くりはら,はるみ
+くりはし,たけひろ
+くりす,なおき
+くろだ,しげお
+くろだ,ひろし
+くろき,まり
+くろき,せいいち
+くろき,まさき
+くろめ,けんじ
+くろさわ,けんいち
+くるみや,せいいち
+くさやなぎ,しろ
+くすのせ,じゅんじ
+くわはら,しゅひち
+まちだ,ひろし
+まだらめ,かずひろ
+まえだ,こうじ
+まえだ,よしゆき
+まえだ,かつよ
+まえがわ,ゆうじ
+まえはら,てつお
+まえきた,みつのぶ
+まきの,ようこ
+しぶたに,あつし
+まなべ,ひろゆき
+まるやま,たかひろ
+まるやま,ともこ
+まるやま,えいじ
+まさおか,まこと
+ますぶち,えいじろ
+ますだ,こき
+ますだ,まさとし
+ますだ,なおおみ
+ますだ,しんじ
+ますだ,ようこ
+ますだ,としたか
+まつば,さとし
+はら,さとる
+まつだ,しんいちろう
+まつだ,ふみひで
+まつふじ,ぎんじ
+まつふじ,かずこ
+たちくい,たかひろ
+まつい,こうじ
+まつかわ,よしのり
+まつまる,あきら
+まつもと,ひろゆき
+まつもと,けいいち
+まつもと,たかし
+まつもと,よしのり
+まつもと,ゆうこ
+まつもと,よしはる
+しおばら,たかとし
+まつむら,たくや
+まつむら,ひろかず
+まつなが,ひろき
+まつなが,のぞみ
+まつなみ,けんじ
+まつお,けんじ
+まつお,だいすけ
+まつおか,あきお
+はやしだ,かずなり
+まつおか,みき
+あぜやなぎ,しんじ
+まつおか,たかひろ
+まつおか,しゅさく
+まつせ,あきお
+まつしま,かずのり
+まつした,あきひこ
+まつたに,のりこ
+まつわか,ひろし
+まつやま,つとむ
+まつざき,しんいち
+まつなが,しゅにち
+ほんな,よしのり
+めかた,ゆきこ
+みかじり,まさひろ
+みかみ,よしこ
+みかみ,としや
+みき,ともひろ
+みみた,えいこ
+みなくち,かずひろ
+みなみ,せいいち
+みなみ,せいじ
+みなみ,しんご
+みなと,ひろあき
+みね,たかゆき
+みね,けんじ
+みしま,こうじ
+みしま,しんじ
+みその,さとし
+みたむら,あきら
+みたんだ,きくお
+みつぼ,まこと
+みつぼし,きわむ
+はすむら,けんじ
+みつはし,きょこ
+しなだ,しんすけ
+みつま,ひでお
+みやはら,まさゆき
+みやはら,みちろ
+みやい,ふみはる
+みやじま,さとし
+みやもと,ともゆき
+みやもと,あきら
+みやした,しょじ
+みやた,よしたか
+みやた,あつし
+みやうち,こうじ
+みやうち,おさむ
+みやうら,ひろひさ
+みやざき,まさとし
+はしぐち,けんいち
+みやざわ,よしかず
+みやざわ,としひろ
+みやず,としふみ
+みぞかみ,ひろみつ
+みずの,ひろゆき
+みずの,かずひと
+みずたに,じつや
+もちだ,ひではる
+もちずき,みえこ
+もちずき,ゆかこ
+みよし,かずなり
+もり,ひでのり
+もり,ひろゆき
+もり,ひろゆき
+もり,かおる
+もり,けんじ
+もり,おさむ
+もり,たけひさ
+もり,たけし
+もり,しげき
+もりぐち,こうじ
+もりかわ,あきお
+もりなが,やすひと
+もりさき,じゅにち
+もりた,てつひこ
+もりた,としゆき
+もりや,のぶゆき
+もりやま,あきひろ
+もてぎ,あきお
+もとき,じろ
+はぎわら,たかし
+むかいだ,まさき
+むねひろ,まさし
+むねかた,だいいち
+むらかみ,まさゆき
+むらかみ,てつや
+むらかみ,ひろかず
+むらこし,つねあき
+むらまつ,いずみ
+むらぬき,ひろかず
+むらた,ひろき
+むらた,こうじ
+むらた,まさし
+むらやま,あけみ
+やました,よひち
+むろた,えいじ
+みょじん,むつお
+ながい,ひでお
+はしもと,みつひろ
+ながぬま,くにひろ
+ながお,のぶよし
+ながおか,しこ
+ながさわ,ひでゆき
+ながしま,かずよし
+ながしま,つよし
+ながた,やすひろ
+ながた,やすお
+はせがわ,ひろこ
+いがらし,まさと
+ながやま,けいじ
+ながよし,ゆきもと
+ないとう,まさき
+なかばやし,せいじ
+なかがわ,よしはる
+なかごめ,あきひろ
+なかしま,ひろかず
+なかじま,みちお
+なかじま,のりこ
+なかじま,おこ
+なかじま,ゆきお
+なかじま,えり
+なかくき,みほ
+なかまる,かおる
+なかみち,たかし
+なかもと,よしかず
+なかもと,よしやす
+なかもと,ちえこ
+わたなべ,ひろあき
+なかむら,かずひろ
+なかむら,けんじ
+なかむら,まさかつ
+なかむら,まさき
+なかむら,まさのり
+なかむら,しんいち
+はぎわら,さとし
+なかむら,としあき
+なかむら,やすまさ
+なかむら,ゆうこ
+なかむら,てるみ
+なかの,くらと
+なかお,ゆうじ
+なかお,しんいちろう
+なかおか,りか
+なかしま,みか
+にしじま,ゆきひろ
+なかや,ひろかず
+なかやま,ひろゆき
+なかざと,ひろふみ
+なまため,まさなり
+なめら,しんいちろう
+ななみ,せいじ
+なんば,かずのり
+なんじょ,ゆうじ
+なんぽ,てるゆき
+ならぶ,さとこ
+なりはら,まきこ
+なりとみ,ひでゆき
+なるしま,てつや
+なすかわ,けんた
+なとり,やすし
+ねぎし,ゆうこ
+ねもと,ひろゆき
+にえだ,ともゆき
+にいじま,さとし
+にいくら,たかし
+にいつま,わたる
+にいざわ,ひろし
+にしだ,かつあき
+にしだ,まもる
+にしだ,もりひと
+にしだ,ただとし
+ひだか,たかお
+にしだ,けいすけ
+にしかど,あきら
+にしかわ,ひでき
+にしかわ,ひろみ
+にしかわ,なおき
+にしもと,まこと
+にしむら,じゅんや
+にしな,けんや
+にしの,えみこ
+にした,いずみ
+ふかみ,とおる
+にしわき,まこと
+にしやま,まさる
+にしやま,けんじ
+にしざわ,よしのり
+にった,ひろひと
+にわた,たけし
+にわやま,えいじ
+のあみ,ひでと
+のぼりたて,ゆきまさ
+のだ,やすお
+のがわ,あつし
+のぐち,えいじゅ
+のぐち,ともあき
+のじり,まさのぶ
+のもと,ひでや
+のむら,まさのり
+はやさか,きよし
+のむら,ひろかず
+のと,みき
+のざき,かずよ
+こさか,たけひこ
+おばな,かつし
+おち,ひとし
+おだ,よしひろ
+おがさわら,ひろよし
+おがた,ほずみ
+くき,ちず
+おかだ,くにこ
+おがわ,まなぶ
+おがわ,たかゆき
+おがわ,ひろや
+おぎはら,ともあき
+おぎの,たかし
+おぶ,ひろゆき
+おはら,ゆうこ
+はまもと,みきこ
+おはら,かずひろ
+おはし,まさひろ
+おかわ,そのみ
+おくぼ,としや
+おみや,やすし
+おもり,あやこ
+おむら,まさてる
+おにし,はるのぶ
+おの,かずてる
+おぬき,ひろやす
+おさき,ゆたか
+おさき,ひろあき
+おさわ,ひろゆき
+おしま,まさゆき
+おしま,やすのり
+おしま,かずとし
+おた,こういち
+おた,みか
+おた,ただひこ
+おた,やすこ
+あんどう,ゆうじ
+おた,さとし
+おたか,まさと
+おたき,まさあき
+おたに,せいじ
+おたに,てつや
+おたに,りょひち
+はやし,まさたか
+おつぼ,ひろやす
+おつか,かずお
+おつか,さとし
+おつか,ゆうこ
+はやし,しろ
+おつる,たけし
+おふち,たかお
+おわ,つとむ
+おひゃ,やすお
+おじお,のぶひろ
+おか,みか
+おかべ,ひろし
+おかだ,けんいち
+おかだ,おた
+おかだ,たかあき
+おかだ,ふとし
+おかもと,かずひこ
+おかもと,のりひさ
+おかもと,まさかず
+おかむら,ゆきこ
+おかむら,たけひさ
+おかざき,よしのり
+おかざき,えいき
+おきの,あつし
+おくだ,えみこ
+おくだ,みちえ
+おくがわ,としこ
+はぎはら,たけし
+おくうち,むねお
+おみ,ふみのぶ
+おむら,まさとし
+おんだ,あゆむ
+おの,まさき
+おの,たかや
+おの,とおる
+おの,ひろゆき
+おのでら,たかゆき
+おのでら,ゆ
+おのでら,ともゆき
+おのむら,ひろくに
+おのざわ,けいいち
+おぬき,ひろとし
+おの,こうたろう
+おひゃま,かおる
+おりど,はじめ
+おりしきだ,まさのり
+おさか,じゅにち
+おやま,けんじ
+おざき,むねし
+おざき,あやこ
+おざわ,ひとし
+こざわ,かずひろ
+おざわ,ゆたか
+おざわ,ひょそお
+ぇえ,みのる
+はたなか,しゅんすけ
+さえき,まさひこ
+さいだ,よしのり
+さいぐさ,としお
+はんだ,みのる
+さいとう,しんや
+さいとう,てつろ
+さいとう,たかあき
+さかち,ひとし
+さかぐち,ひであき
+さかい,こういち
+さかい,ただお
+ひらの,たいち
+さかい,たつや
+さかい,よしまさ
+さかい,ゆすけ
+さかい,ひろし
+さかもと,まさはる
+さかもと,たけし
+ひろせ,まさし
+さかもと,みつひろ
+さかた,りょこ
+きしだ,ももこ
+さこ,ひろし
+さくま,たけし
+さくらば,やすとも
+さくらい,まさひさ
+さくらやま,しげひと
+さめしま,まさお
+さんべ,こうじ
+さるわたり,みのる
+はせがわ,こぞ
+ささえ,あきひろ
+ささはら,あきら
+ささき,ひろみ
+ささき,みきお
+ささき,なおき
+ささき,たかし
+はびろ,やすひろ
+ささお,よしあき
+ささおか,よきち
+ささたに,ともじ
+さた,ひろあき
+さたけ,あかし
+さとう,まさる
+ほしの,えみ
+さとう,はるみ
+はっとり,ひろし
+さとう,かずよし
+さとう,まこと
+さとう,まさき
+さとう,まさと
+さとう,なおき
+さとう,りょじ
+さとう,たかまさ
+さとう,たかし
+さとう,ゆたか
+ひらの,ゆきこ
+さとう,ゆたか
+さとう,かずしげ
+さわだ,ともこ
+さわだ,よしみ
+さわふじ,ともみ
+さわき,としき
+さわむら,じゅん
+せがわ,けいじ
+せがわ,まさはる
+せき,しんや
+せき,とおる
+せきぐち,しげき
+せきね,ゆきたか
+せきね,りょひち
+ひらの,たつき
+せんごく,けいじ
+せお,まりお
+せら,としあき
+せら,けいいち
+しばはら,ひろあき
+しばた,ひろゆき
+しばた,やすのり
+はせがわ,けいいち
+しばた,こへい
+しばた,たかひろ
+しばた,こへい
+しばざき,ひろし
+しぶたに,しんたろう
+しぶや,かずき
+しちひょ,りつこ
+しき,たいち
+しきしま,ひさし
+しま,かずあき
+しま,かつみ
+しまだ,えいいち
+しまぬき,やすし
+しまおか,ひろし
+しました,ただし
+しまず,ひろかつ
+しみず,かずの
+しみず,かずひこ
+はせがわ,ともひろ
+しみず,ともみつ
+しみず,ゆたか
+しみず,まさたけ
+しもがい,まさゆき
+しもかわべ,まさこ
+しもおか,ともはる
+しもさか,ともかつ
+しもやま,きみあき
+しんぼり,まさる
+しのはら,たけし
+しのはら,あきこ
+しのざき,こすけ
+しのざき,かつひろ
+しのずか,たかし
+しんや,やすたか
+しおた,なおひろ
+しおたに,けいいち
+しおや,ひでき
+しらはま,けいすけ
+しらい,ちえこ
+しらいし,まさお
+しらいし,ゆりこ
+しらいし,かずひさ
+しらき,としこ
+しらさき,あきひろ
+しょなご,あきひろ
+おひゃま,ひでゆき
+しゅと,てつや
+しもいず,ひろえ
+そえだ,なおたか
+ほりの,ひさとし
+そとじま,ひろし
+すだ,よしこ
+すだ,けんいち
+すどう,ひでこ
+すが,じゅんきち
+すがぬま,けんじ
+すがわら,とおる
+すぎばやし,みちひさ
+すぎもと,みか
+すぎもと,みさ
+すぎむら,やすひと
+すぎの,つとむ
+すぎさき,けいすけ
+すぎさわ,かずゆき
+すぎた,たかしげ
+はやし,みか
+すぎうら,ひろき
+すぎやま,よりと
+すぎやま,たくみ
+すご,ひろかつ
+すいた,ふとし
+すみだ,めいじろ
+すみかわ,ここ
+すなが,ひでひと
+すのはら,はじめ
+すずき,ひろかず
+すずき,けい
+すずき,まさとし
+すずき,みか
+すずき,のぶこ
+すずき,のりひこ
+すずき,さとる
+すずき,しんいち
+すずき,たかお
+すずき,たかゆき
+すずき,たみ
+やまかわ,とおる
+すずき,としや
+すずき,しんじ
+はが,やすお
+すずき,よしひさ
+すずき,あつし
+すずの,さとし
+しゅと,とおる
+たばら,まさみ
+ただ,あきら
+はりがい,ともゆき
+ただ,よしゆき
+たがしら,まさふみ
+たぐち,しょご
+たぐち,たけひろ
+たじま,よしのり
+たじま,かずふ
+ほった,あきこ
+たかだ,かつひこ
+たかぎ,しげる
+たかぎ,たつお
+たかぎ,あさこ
+たかはし,あきひこ
+はしぐち,ひろかず
+たかはし,いさと
+たかはし,かおり
+たかはし,かつふみ
+たかはし,くにひで
+たかはし,まこ
+たかはし,まさる
+たかはし,たかのぶ
+はせがわ,まさゆき
+たかはし,みなこ
+たかはし,みゆき
+たかはし,のぶあき
+たかはし,しんじ
+たかはし,しんじ
+たかはし,しゅにち
+たかはし,とものり
+たかはし,としかず
+たかはし,よひち
+たかはし,ゆうこ
+おみ,えいこ
+たかひら,ひろあき
+たかい,ひろし
+たかみや,なおみ
+たかなし,ひろみち
+たかの,かつとし
+たかの,かずこ
+たかの,かずお
+たかの,ともひろ
+たかの,てるお
+はやかわ,けんたろう
+たかお,ひでのり
+たかしま,かつみ
+たかす,しんいち
+たかとうり,よしみつ
+たかとり,かずひろ
+たかや,いちたろう
+たけ,あつのり
+たけだ,けんいち
+たけだ,ふさひこ
+ほり,けんじ
+たけだ,みのる
+たけはら,よしとも
+たけい,こうじ
+たけもと,りほ
+たけもと,みきこ
+たけなか,よしひろ
+はやし,たまよ
+たかぎ,よしひと
+たけとみ,あきひろ
+たけうち,もとひろ
+たけうち,しゅひゃ
+たけうち,ただし
+たけやす,かつのり
+たけざわ,ひでひこ
+たきば,ふさみ
+たくぼ,のりあき
+はにゅう,あきひろ
+たまより,せいじ
+たもつ,いずみ
+たむら,こぞ
+たむら,しんいち
+たむら,ひかる
+たなべ,しんいち
+たなべ,あき
+たなか,あきすけ
+たなか,けんいち
+たなか,まさひこ
+たなか,まさき
+たけだ,まさのり
+たなか,みほ
+はせがわ,みつお
+たなか,のぶよし
+たなか,れいじ
+たなか,りょじ
+たなか,さとし
+たなか,たかのり
+たなか,つよし
+たなか,ゆうこ
+たなか,ゆた
+たなか,ひろゆき
+たに,あけみ
+みたに,あきら
+たにぐち,やすのり
+はっとり,ひでひこ
+たにぐち,ひろゆき
+たにぐち,よしゆき
+たにぐち,こういち
+たにかわ,あつし
+たさか,よしこ
+たしま,ただし
+たてかわ,まさる
+たての,ひでゆき
+てらじま,たかよし
+てらまえ,まなぶ
+てらさわ,かつき
+てらやま,まこと
+てしま,ゆうこ
+とだ,こういち
+ととみ,よしお
+とひゃま,とおる
+ときわ,ひろこ
+ふくやま,へいご
+とくざわ,ひであき
+とみなが,ひろこ
+とみた,けんいち
+とみやま,ゆうこ
+さわむら,かつひこ
+とりごえ,けんし
+とりたに,まこと
+とさか,けいすけ
+つぼい,まさる
+ひらばやし,こうじ
+つちだ,はじめ
+つちたに,せいいちろう
+つちや,まこと
+つだ,みよこ
+つだ,えつまさ
+つじ,もとゆき
+つじい,たけひこ
+つじむら,ゆきひこ
+つじむら,ちえこ
+つじの,けんじ
+つじさわ,まさる
+つかだ,こうじ
+つかはら,ひでし
+つかもと,かずのり
+つかもと,たつみ
+つかもと,さだゆき
+つねだ,ひでのり
+つのだ,しゅじ
+つのだ,まさひこ
+つるまる,ともなり
+つさか,ひろゆき
+つつい,ひでき
+つつみ,しげと
+つつみ,ひろし
+つつみはら,あつよし
+うちだ,ひろし
+うちだ,かずお
+はやし,なると
+うちだ,たかし
+うちの,しゅひち
+うちやま,ゆみ
+うだがわ,たいぞ
+うえだ,てつお
+うえだ,やすき
+うえだ,よしみ
+ねず,けんたろう
+うえむら,まさひろ
+うえむら,たけし
+うえむら,けんいちろ
+うえの,たかし
+うえの,けん
+うえさわ,たかしげ
+うえつぼ,まさのり
+うえつき,まさはる
+うけの,たかお
+うまはし,まこと
+うめだ,さだゆき
+うめむら,たかゆき
+うみだ,たつや
+うおずみ,さとし
+うらた,あやの
+うしくさ,しんいち
+うすなみ,ひろゆき
+わだ,けんじ
+わだ,たけし
+わだ,としあき
+わだ,さとし
+わかせ,しょた
+わき,けんいち
+わたなべ,しんや
+わたなべ,ともふみ
+わたなべ,としひろ
+わたなべ,よしたか
+わたなべ,よしてる
+わたなべ,ゆすけ
+わたなべ,ひでふみ
+わたぬき,やすたか
+わたぬき,かおる
+わたり,こうきち
+はしぐち,さんぺい
+やぶ,せんた
+やぎぬま,としゆき
+やじま,じゅん
+やまだ,じゅにち
+やまだ,かおり
+やまだ,みき
+やまだ,みつのり
+やまだ,さとよし
+やまだ,ただし
+やまだ,たけし
+やまだ,ともあき
+やまだ,よしひさ
+やまだ,ていじ
+ひさの,よしき
+やまだ,よしゆき
+やまだ,かずと
+やまふじ,よしひさ
+やまぎわ,ひでお
+やまぐち,ひろみつ
+やまぐち,じゅんや
+やまぐち,こうじ
+やまぐち,みつあき
+やまぐち,なおき
+やまぐち,しげふみ
+やまぐち,よしたか
+やまぐち,ゆすけ
+やまぐち,ゆうこ
+やまかわ,あきあつ
+やまもと,あきら
+やまもと,ちえ
+みずたに,ひろこ
+やまもと,かずみ
+やまもと,まさよし
+やまもと,りか
+やまもと,さとし
+やまもと,さやか
+やまもと,たつや
+やまもと,やすひこ
+やまもと,やすひろ
+やまもと,よしひろ
+やまもと,のりゆき
+やまね,ゆい
+やまね,いさお
+やました,てつや
+やました,たけはる
+はんだ,あきら
+やまうち,たかひろ
+やまうち,ゆきこ
+やまうら,ひろし
+やまざき,かなこ
+やまざき,きみお
+やまざき,みどり
+たむら,みつひろ
+やまざき,よのすけ
+やまざき,なおと
+やまぞえ,たかし
+やなぎさわ,かつじ
+やの,かず
+やすだ,かずあき
+やすはら,ひなこ
+こしもと,しんいち
+はぎわら,まこと
+よこた,やすひさ
+よこやま,としお
+よもだ,かずひさ
+よなが,いさお
+よねだ,よしや
+よねやま,しんいちろう
+よねざわ,たかし
+よねざわ,ひろと
+よしだ,かずよし
+よしだ,けんいち
+よしだ,まさとし
+よしだ,さとし
+よしだ,たかお
+よしだ,たかし
+よしだ,ゆみこ
+よしだ,たけし
+よしぐち,ひでき
+よしい,けいこ
+よしいけ,もと
+よしまつ,みきお
+よしの,てるひさ
+よしの,たけし
+よしざわ,あきら
+よつたに,さとし
+ゆきざね,ひろたけ
+ゆやま,さちよ
+ずし,えり
+あらい,ともひさ
+ふじき,まゆみ
+ひらの,てるやす
+かめやま,かつひろ
+こじま,まさと
+なかお,あきひさ
+いわかわ,さちこ
+つちや,けんご
+いじろ,きよひと
+くどう,のぶこ
+ながしま,ゆきお
+はしぐち,きよゆき
+つちや,けんたろう
+いしまつ,ひさよし
+はらだ,しげお
+みずの,おさむ
+ほしの,みつひろ
+あべ,せいじ
+あべ,よしひさ
+あべ,ゆきお
+あべ,まさと
+あぶかわ,ゆひち
+あだち,しげる
+あいざわ,ひでのぶ
+あじろ,かずお
+あかい,めぐみ
+たもと,そうたろう
+あかいし,たつや
+あかし,こうじ
+あきいけ,ともこ
+あきた,かずひと
+あきやま,かつゆき
+あまがい,けいこ
+あまがた,ひろやす
+あまの,ひろたか
+あめみや,ふみお
+あんどう,はるお
+あんどう,しげのり
+あんどう,たかこ
+あんどう,ゆたか
+あんざい,えいいち
+あおき,みさ
+あおき,けんたろう
+あおやぎ,きりこ
+あおやま,まさゆき
+あらい,としあき
+あらい,みきお
+あらき,えいち
+あらや,まゆみ
+ありま,やすひろ
+ありたけ,のりちか
+あさだ,むつみ
+あさひ,ひでふみ
+あさの,たかし
+あしだ,みほ
+あしかわ,かつみ
+ばば,かずひろ
+ばば,たかゆき
+ばば,だいご
+ちば,しんご
+ごと,まさひで
+ちょ,まさとし
+だいど,あきふみ
+どあい,あつと
+どい,ゆうこ
+ほそい,まさし
+どい,ともなり
+どい,としみつ
+えがしら,ひろあき
+えぐち,しんいち
+えばら,せいじ
+えんど,たけお
+えんど,ゆうじ
+あまり,じゅんこ
+えのもと,さとし
+えのもと,さとし
+えのもと,やすゆき
+えのもと,たかはる
+えざき,けんじ
+ふじはら,じゅんこ
+ふじい,まさひこ
+ふじい,えいじ
+ひるかわ,ゆうこ
+ふじい,こうじ
+ふじさわ,ともひろ
+ふじさわ,たくじ
+ひご,いさお
+ふじた,けんいち
+ふじた,ひでたか
+ふじわら,やすひろ
+ふかみ,つとむ
+ふかざわ,しんいち
+はせがわ,さとし
+ふくだ,けんじ
+ふくもと,きよみ
+ふくむろ,まさみ
+ふくろ,あきら
+ふくし,ちから
+ふくしま,かずひと
+ふくしま,まさはる
+はぎわら,たかし
+ふくしま,さつき
+ふなき,けん
+ふなくぼ,まさひこ
+はらだ,はるみ
+ふるはた,ひろゆき
+ふるかわ,かつゆき
+ふるもと,つよし
+ふるや,たかし
+ふしみ,とおる
+ごだ,やすゆき
+いりえ,たけし
+いしはら,よすけ
+いちかわ,じゅんこ
+いば,みつお
+いわさき,たかし
+いのうえ,やすこ
+いいもり,ひろみ
+いはら,たかみ
+いわむら,しんいち
+いながき,としお
+いしじま,あきら
+いとう,なおき
+ごんど,ふみお
+ごと,みのる
+いしかわ,もとふみ
+いとう,まちこ
+いせき,たかし
+ごと,ともや
+はだ,ひろみ
+はぎわら,みきお
+はぎわら,しんじ
+はいじま,あきら
+はまだ,まさゆき
+はまの,まみ
+はまおか,さえこ
+はなど,あやこ
+はなた,まさひろ
+はら,せいじ
+はら,しょた
+はら,ゆきお
+はら,かずひろ
+はらだ,しろ
+はらだ,しゅじ
+はらだ,すみれ
+すずき,まさひこ
+はらが,まさのぶ
+はらみ,りこ
+はらやま,ひろゆき
+はらぞの,ひであき
+はせべ,みわこ
+かねこ,ともこ
+つちだ,あいこ
+はしもと,ひろし
+はしもと,ひろつぐ
+はしもと,こすけ
+はしもと,みのる
+はしもと,てつや
+はしもと,ともひこ
+はしもと,ゆうじ
+はしもと,たけし
+はた,きょこ
+はっとり,しん
+はっとり,たけし
+はっとり,あきひと
+はやかわ,たけろ
+はやかわ,たつや
+はやさか,けんたろう
+はやさき,のぶひこ
+はやし,のぶひろ
+はやし,たくじ
+はやし,ともあき
+はやし,よひち
+はやし,りえ
+はやしだ,ふみひろ
+ひび,かなえ
+ひがし,さとし
+ひがし,たかあき
+ひぐち,ひでき
+ひじかた,ひでき
+ひじや,よしひこ
+ひなが,けいこ
+ひらかわ,ひであき
+ひらの,まこと
+ひらの,せいじ
+ひらの,きよし
+ひらお,ひではる
+ひらしま,よしかず
+ひらやま,せいご
+ひらやす,としひこ
+ひりき,たかよし
+ひろまさ,たかなり
+ひろもと,やすき
+ひろおか,あきら
+ひろせ,けんぞ
+ひろせ,かずのぶ
+うめだ,やすひろ
+ほんだ,かずお
+ほんど,こういちろ
+ほりもと,けんじ
+ほりの,よしお
+ほりうち,たけし
+ほさか,ひであき
+ほしの,ひろこ
+ほしやま,いたる
+ほそかわ,ただお
+ほそかわ,たかひと
+ほそかわ,なおき
+ほそや,としろ
+いばらき,ひとし
+いちはら,けんいちろ
+いちはら,わたる
+いちはら,しんじ
+いちかわ,まなぶ
+いちのせ,ゆみこ
+いだ,まつたろう
+いでぐち,りょひち
+いど,さなえ
+いがらし,たけし
+いがらし,やすゆき
+いがらし,かずしげ
+いいだ,たかね
+いいだ,あきこ
+いいじま,まこと
+いけだ,みぎふみ
+いけだ,てつや
+いけだ,よしひろ
+いけだ,しげお
+いまい,ひろし
+いまいずみ,のぶお
+いまいずみ,ひさみつ
+いまむら,たかし
+いまむら,のぶこ
+いもん,けんいち
+いなだ,さとし
+いながき,たけし
+いながき,かずひと
+いなむら,まさし
+いなむら,かつのぶ
+いの,ゆきひこ
+いのかわ,ひろし
+いのまた,ひろお
+いのうえ,かつとし
+いのうえ,こうじ
+いのうえ,りょ
+いのうえ,ともみ
+いのうえ,ともみ
+いのうえ,ようこ
+いのうえ,こき
+いぬい,けいこ
+いぬしま,みわ
+いりえ,おさむ
+いさか,みのる
+いしば,かずゆき
+いしばし,ますみ
+いしばし,かずや
+いしだ,みつや
+いしだ,たかし
+いしだ,とものり
+いしだ,せいいちろう
+いしがみ,あすこ
+いしぐろ,かずひと
+いしはら,ひろかず
+いしい,さとし
+いしい,しほ
+いしい,やすひろ
+いしい,ゆうじ
+いしい,ゆうた
+いしい,こういちろ
+いしかわ,しんいちろう
+いしまる,まゆみ
+かわず,まさのり
+いしずか,しげる
+いたや,ちひろ
+いいだ,だいすけ
+いとう,ひでき
+いとう,ひろみつ
+いとう,ひろし
+いとう,かつひろ
+いとう,けいいち
+いとう,こういち
+いとう,こうじ
+いとう,まりこ
+いとう,まさひろ
+いとう,なおみ
+いとう,のぼる
+いとう,せつこ
+いとう,ただし
+いとう,たかはる
+いとう,としお
+いとう,つよし
+いとう,よひち
+いとう,ゆきお
+いとう,のりひさ
+いとう,あきひろ
+いわい,ひろみち
+いわい,ひろし
+いわみ,いくお
+いわむら,かずや
+いわなが,しょこ
+いわお,かずひろ
+いわさき,じゅん
+いわた,まこと
+いわた,おさむ
+いわた,よしまさ
+いずみ,まさゆき
+じんば,まさみ
+じょのうち,ひろあき
+じょらく,たまき
+かがみ,きよたか
+かがわ,まさふみ
+かげやま,ひろかず
+かい,ゆきお
+かじもと,えいじ
+かじわら,みほこ
+くりはら,たかゆき
+かきむら,かずしげ
+かきのき,きよし
+かきうち,よしたか
+かきざき,なおこ
+かこ,かずあき
+かめしま,りゅこ
+かみえす,きよこ
+かみくら,みつひろ
+かみむら,しんじ
+かみたき,のぞむ
+かみよしかわ,つねのり
+かん,りえ
+かない,よしのり
+かんばやし,ひろし
+かんだ,けいた
+かねこ,たまき
+かねこ,じゅん
+かねた,たくや
+かの,せいじ
+かりの,えいじ
+かさみ,じゅん
+かさなみ,たかあき
+かせ,ひろゆき
+かすが,こうじ
+かすや,としひこ
+かたおか,だいすけ
+かとう,えいいち
+かとう,ひろし
+かとう,こういちろう
+かとう,まさじ
+かとう,まさゆき
+かとう,たくや
+かとう,としかず
+かとう,いちろう
+かとう,よしひと
+かとう,たかゆき
+かつまた,やすゆき
+かつら,たかし
+かわべ,まゆみ
+かわだ,ひろし
+かわぐち,かなえ
+さいとう,たかと
+かわぐち,まもる
+かわはた,ひろし
+かわかみ,まさなり
+かわかみ,のりこ
+やじま,なおこ
+かわもと,ひろし
+かわむら,まさゆき
+かわむら,のりあき
+かわむら,ただあき
+かわむら,けんじ
+かわの,けんじ
+かわの,たかゆき
+かわさき,あきひと
+かわせ,じろ
+かわしま,くみ
+かわしま,まさき
+かわしま,よしゆき
+かわしま,たけし
+きだ,ひでき
+きくち,ひでたか
+きくち,いくこ
+やまもと,かおり
+あきよし,かずよし
+きくち,けんいち
+きくち,みつよ
+きくち,つよし
+きくち,ひであき
+きむら,ひろし
+きむら,じゅにち
+きむら,まり
+きむら,まさひこ
+きむら,まさかつ
+きむら,しげゆき
+きむら,けんじ
+かとう,としや
+きなせ,よしはる
+きね,ひでき
+きの,やすのぶ
+きの,みのる
+きのした,かずや
+きら,たかひで
+きしもと,やすひろ
+きたばたけ,やすひろ
+きたばたけ,まもる
+きたがわ,たつや
+きたがわ,みつる
+きたむら,あきこ
+たかはし,ふみひこ
+きたやま,まさひこ
+きよなり,あきひこ
+こばやし,あつし
+こばやし,ひろし
+こばやし,まさき
+こばやし,みのる
+こばやし,しょじ
+こばやし,ゆうじ
+こばやし,まさこ
+いとう,あき
+この,かずひろ
+この,けいた
+この,ようこ
+この,とおる
+こいけ,あきお
+こじま,たかひこ
+こくしょ,おさむ
+こまき,ちかこ
+まかべ,ひろあき
+こまつ,めぐみ
+こまつ,えいじ
+こんど,ひろし
+こんど,きよし
+こんど,としひろ
+こしば,あきこ
+よこえ,たかし
+こてがわ,ひろし
+この,ひろあき
+こやま,なおき
+こやま,しんじ
+こやま,よひち
+こざす,たかみつ
+くちいし,ひろし
+くぎみや,かずあき
+くじらい,ともふみ
+くまのみど,わたる
+くまざき,まさる
+くれまつ,かずや
+くりき,さぶろ
+くりやま,たけし
+くりやま,ひろえ
+くろべ,しん
+くろさわ,たくみ
+くろさわ,まさゆき
+くりゅ,みき
+くさの,やすのり
+くわはら,まさのり
+くずの,かずあき
+きゅだ,れいこ
+まぶち,もとくに
+まちた,ひろたか
+まえだ,としのり
+まえいえ,かずとし
+まえかわ,りゅすけ
+ままだ,あつし
+まなべ,ひろし
+まなべ,ともき
+まるいち,たかひで
+まるたに,まさゆき
+まるやま,としろ
+まさおか,ひろし
+ますだ,なおと
+ますだ,ともあき
+ますだ,やすゆき
+ますだ,よしえ
+ますだ,かつゆき
+まつばら,じゅん
+まつだ,よしたか
+まつだ,たくや
+まつだいら,けんいち
+まつえだ,まさき
+まつい,よひち
+まつい,あきふみ
+まつもと,ちあき
+まつもと,ひろし
+まつもと,ひろたか
+まつもと,かずお
+まつもと,まさゆき
+まつもと,たかひで
+まつもと,たかこ
+まつもと,たかゆき
+まつもと,たつみ
+まつもと,つよし
+まつもと,よしぶみ
+まつもと,ゆきこ
+なかむら,ひろかず
+まつむら,こぞ
+まつなが,かつや
+まつの,ひろゆき
+まつお,としふみ
+まつお,あゆみ
+まつおか,ひでし
+まつおか,ひろき
+まつおか,のぶお
+まつおか,せいいち
+まつおか,かずひろ
+まつしま,きよかず
+まつたに,きょこ
+まつやま,よしき
+みちもと,なりあき
+みえき,あきのり
+みかみ,けん
+みかみ,としかず
+みながわ,けん
+みなかわ,だい
+みしま,ひろゆき
+みしま,くみ
+みしま,けんじろ
+みたち,かずと
+みつだ,りゅいち
+みつはし,たかお
+みつい,たけし
+みつもと,かずのり
+みうら,ただあき
+みうら,ひろし
+みやべ,あつし
+みやち,きみお
+みやじま,あや
+ばん,こうたろう
+みやもと,まゆみ
+よこえ,たくろ
+みやさか,かずみ
+みやた,よしたか
+みやた,つよし
+みやうち,しょこ
+うちやま,かずみ
+さかい,しのぶ
+みやざわ,ひろあき
+みぞぶち,こうじ
+みぞぐち,なおき
+みぞぐち,じゅん
+みずもと,ひろし
+みずの,きよみ
+みずの,きょじ
+みずの,まさひろ
+みずしま,あきら
+みずた,まさゆき
+みずたに,あきのり
+もぎ,まなぶ
+もぎ,としあき
+もぎ,こぞ
+ももせ,けいいち
+もんま,ひろゆき
+もり,かずお
+もり,まさひろ
+もり,みきこ
+もり,りょすけ
+もり,としあき
+もり,えいこ
+もりもと,あきら
+もりの,いずみ
+よしだ,あつひこ
+もりた,まさよし
+もりた,まさゆき
+もりた,ゆうじ
+もりた,ゆきお
+もりた,ゆたか
+もりわき,ひさと
+もろ,かずのり
+もたい,もゆる
+もとばやし,ひろし
+もとはし,だいすけ
+もとやま,ゆうじ
+もとざわ,れいこ
+むかわ,けいすけ
+むなかた,けんいち
+むらかみ,まさひろ
+むらかみ,りか
+むらかみ,つとむ
+むらかみ,ゆきひろ
+むらかみ,よすけ
+むらかわ,なおふみ
+むらなか,ひでのぶ
+むらた,かずひさ
+むらた,かつみ
+むらやま,よしや
+むらやま,しげお
+むろはし,たくお
+むと,よしろ
+むと,ひろし
+なば,さとる
+ながい,しげまさ
+ながい,まさのり
+ながの,ゆうじ
+ながの,いつこ
+ながお,ふみこ
+やまもと,ひろあき
+ながおけ,よしき
+ながおさ,ひろゆき
+ながしま,やすこ
+ながしま,あきひさ
+ながた,まさこ
+おば,まゆこ
+ながた,とものり
+ながた,ひろき
+ながたに,けんじ
+ないとう,ひろし
+なかち,こうじ
+なかだ,かおる
+なかだい,あきこ
+なかがわ,ひろゆき
+なかがわ,まさる
+なかがわ,なおあき
+なかがわ,かつや
+なかはら,たまみ
+なかい,やすひろ
+なかい,かずひろ
+なかじま,さとし
+なかじま,あきひろ
+なかむら,かつや
+なかむら,くみ
+きみひら,みき
+いとう,さとし
+なかむら,しんじ
+なかむら,しょへい
+なかむら,つよし
+なかむら,やすのり
+なかむら,よしはる
+なかむら,よしゆき
+なかむら,ゆひち
+なかむら,なおゆき
+なかにし,よしゆき
+なかにし,あつし
+なかの,ひろゆき
+なかの,じゅん
+なかの,けいいち
+なかの,しの
+なかの,たかし
+なかお,こうじ
+なかさく,しゅご
+なかせ,まさゆき
+なかた,みか
+なかた,たかひさ
+なかた,こうじ
+なかたけ,たつや
+なかやま,かずゆき
+なみき,はじめ
+ななさわ,まさあき
+なんば,ひろき
+なんもく,みき
+ねもと,ともお
+ねもと,いずる
+にい,たかひろ
+にいで,ゆうこ
+にいくら,やすあき
+にいずま,てつや
+にかみ,かずのり
+にしばやし,あつし
+にしだ,あきこ
+にしはら,しょたつ
+にしはら,ひろたか
+にしかわ,くるみ
+にしかぜ,ひろみ
+にしみや,やすひろ
+にしむら,たくお
+にしむら,ふみお
+にしやま,けいし
+にしやま,なみじ
+にった,だいすけ
+にわ,えみこ
+とご,なつこ
+にわ,みつあき
+のぶはら,よしこ
+おがわ,ひでつぐ
+のがみ,ひでや
+のがみ,たいちろう
+のもと,あきら
+のむら,まさひこ
+のむら,よしや
+のぞえ,しきこ
+ぬまた,さとし
+おだじま,たかひろ
+おがえり,かずのり
+おがた,さとし
+おがわ,しんいち
+おがわ,きわむ
+おぎ,ひとし
+おぎくぼ,もとあき
+おご,かつあき
+おぐら,きよし
+おば,まなぶ
+おばやし,かつや
+おへ,こうじ
+おがま,ゆうこ
+おはし,おさむ
+おひし,じゅにち
+おかわ,みか
+おきど,まなぶ
+おくぼ,たかひろ
+おくぼ,はじめ
+おくま,てつ
+おま,えり
+おまえ,とおる
+おまえ,ひでき
+おもり,しげる
+おもり,たけお
+おもり,たけし
+おもり,よじろ
+おもり,ともき
+おもと,ひろゆき
+おにし,ともひろ
+おにし,よりこ
+おにし,よひち
+おの,こういち
+おぬま,なおき
+おさか,けんじ
+おさわ,やすひこ
+おさわ,まさお
+おしま,ひろゆき
+おしろ,ひろふみ
+おた,まこと
+おた,まもる
+おた,むつろ
+おた,たかし
+おた,ともひろ
+おた,みつよし
+おたに,なおき
+おつ,ひろき
+おつか,まさやす
+おつき,みつる
+おいかわ,あいこ
+おか,けんじ
+おか,まさてる
+おか,あきら
+おかだ,ひろき
+おかだ,りさ
+おかだ,たかひろ
+おかだ,すみこ
+おかぐち,たかし
+おかい,しんいち
+おかまつ,あさこ
+おかもと,あつお
+おかもと,ひでゆき
+おかもと,まさみ
+おかもと,むねやす
+おかもと,しんいちろう
+おかもと,やすひろ
+おかもと,ひろゆき
+おかの,たかし
+おかざき,あきひろ
+おきもと,みちお
+おくの,よしひさ
+おくやま,ひでき
+おみ,ふみこ
+おの,みき
+おの,やすし
+おの,ゆひち
+おのせ,さとる
+おのざき,のぶひろ
+おりえ,ゆたか
+おざき,たかひろ
+とくみや,よしあき
+さいち,えいいち
+さいとう,ひでお
+さいとう,まさぶみ
+さいとう,まさひろ
+さいとう,みちはる
+さいとう,のりお
+さいとう,ともひろ
+さいとう,ゆきと
+さいとう,えつこ
+はかまだ,よしたみ
+さかぐち,やすお
+さかい,しげる
+さかきばら,なおき
+さかきもと,ひろふみ
+さかもと,ひろし
+さかもと,じゅんこ
+さかもと,たかし
+さかもと,よしこ
+さかもと,まさこ
+みたに,てつや
+さかうち,かおり
+さきもと,しんいち
+さくま,ひとき
+さくらい,ひであき
+さの,ひろたか
+さの,ゆたか
+さの,やすひこ
+ささだ,たいし
+ささはら,かおる
+ささき,かよ
+ささき,こうじ
+ささき,まりこ
+とだに,たかお
+ささき,よしえ
+さたけ,えいじ
+さとう,えり
+さとう,ひでひろ
+さとう,いずみ
+さとう,けいいち
+さとう,けんいち
+さとう,くにひこ
+さとう,まさひこ
+さとう,みつる
+さとう,もとのり
+さとう,りきや
+さとう,りゅひち
+さとう,しゅぞ
+さとう,しゅんすけ
+さとう,すすむ
+さとう,たかひと
+さとう,としひこ
+さとう,やすふみ
+さとう,つよし
+さとう,せいじ
+さわだ,つねのり
+さわだ,やすひろ
+さわだ,しんご
+いわた,ひさはる
+さわい,ゆひち
+さわい,よしあき
+さやの,たかかず
+せき,りえこ
+せきぐち,とおる
+せきぐち,ゆひち
+せきぐち,はるお
+せきね,しんいちろう
+せきの,のぼる
+せんな,こうじ
+せりざわ,だいすけ
+せと,あきら
+しばた,けいたろう
+しばた,ともこ
+しばた,じゅんじ
+しばたに,ともき
+しぶたに,けいたろう
+しが,まこ
+しげのぶ,みちよ
+しま,まゆみ
+しまだ,としひこ
+しまだ,そういちろう
+しまむら,いくや
+しみず,たけし
+しみず,まさよし
+しもばやし,みか
+しもがわ,あきら
+しもひごし,あきひろ
+しもいで,たかし
+しなだ,としみつ
+しねい,ひろゆき
+しんがい,かつや
+しのだ,こういち
+しのはら,まさひで
+しのざき,けいすけ
+しおや,さとし
+しらはま,きょこ
+しらいし,さとる
+しらいし,かずよし
+したら,みきこ
+しょじ,れいじろ
+しょじ,さとこ
+ますやま,よしみつ
+しゅと,たけかず
+そえだ,さだみち
+そね,きよし
+そねだ,こうじ
+そのべ,てつひさ
+そのべ,たいし
+そらの,かつみ
+すだ,ゆか
+すがい,ただし
+すがわら,こうじ
+すぎもと,たかひろ
+すぎもと,ともよし
+すぎうら,たくや
+すぎやま,たろう
+すぎやま,ゆひち
+すぎやま,たかし
+すじゃく,たけし
+すか,ひろゆき
+すけがわ,しん
+すみなが,まさひで
+すみおか,ゆみこ
+すなやま,ひでかず
+すずき,ひでき
+すずき,たくお
+いしい,まさひろ
+すずき,まさし
+すずき,みほ
+すずき,なおひろ
+やましろ,のりゆき
+すずき,せいま
+すずき,たかひろ
+すずき,たかまさ
+すずき,よしのり
+すずき,まさひろ
+たばこ,ひでまさ
+たばた,れいこ
+なかじま,たかやす
+たばた,とおる
+たちばな,ひろゆき
+たがみ,きみこ
+ままだ,ともや
+たがわ,けんいち
+たじま,まさや
+たかばやし,ひろし
+たかだ,やすひこ
+たかだ,しげる
+たかぎ,たかゆき
+たかぎ,ひでひろ
+たかはし,ひでき
+たかはし,ひろし
+たかはし,じょ
+たかはし,かつゆき
+たかはし,かずのり
+たかはし,こういち
+たかはし,くみこ
+わたなべ,まさき
+たかはし,てるゆき
+たかはし,よしつぐ
+たかはし,としゆき
+たかはし,たいせい
+たかい,けんじ
+たかくら,まこと
+たかくら,もとひろ
+たかまち,ゆき
+たかまつ,ともよ
+まつなが,たかひろ
+たかもと,えみ
+たかむら,だいすけ
+たかおか,しんや
+たかすぎ,ゆきお
+たかや,ひろき
+たかやま,ひろこ
+きたはら,いずる
+たけだ,まさき
+たけだ,みしょ
+たけはな,まき
+たけまつ,やすし
+たけおか,ゆたか
+いしかわ,こへい
+たけした,まさふみ
+たけたに,ひでき
+たけうち,けんすけ
+たけうち,しほ
+たけやま,かつのり
+たけざわ,あきよし
+たきざわ,やすひろ
+たきざわ,よしき
+たまい,のぶかつ
+たなはし,ご
+たなか,はるこ
+たなか,ひであき
+たなか,ひろゆき
+たなか,けんいち
+たなか,くにひで
+たなか,まさひろ
+たなか,まさかつ
+たなか,まさみ
+たなか,みのる
+たなか,もとふみ
+たなか,なおき
+たなか,のぶゆき
+たなか,さとし
+たなか,さとし
+たなか,たけし
+たなか,きよじ
+いしだ,つとむ
+たなか,ちから
+たにぐち,ともゆき
+たにぐち,のぶゆき
+たにい,けんたろう
+たにむら,こすけ
+たにおか,ひろゆき
+たんの,ひろし
+たぬま,けいこ
+よこやま,もとき
+たしろ,せいじ
+たしろ,かずひと
+たて,ゆうこ
+たうら,えいいち
+たぞえ,えいじ
+たずけ,つねひろ
+てんも,まさひろ
+てらだ,のりひろ
+てらもと,かずなお
+てらおか,のぼる
+てずか,けんや
+とぐち,かずお
+とま,しげる
+とま,けんいち
+とひゃま,ゆりこ
+ときおか,みちよ
+たにやま,ともこ
+みうら,ゆきお
+とくら,まもる
+とくやま,わたる
+とみいし,あきら
+とみかわ,けんいち
+とみなが,ひでと
+とみた,まこと
+とみた,ゆうこ
+おもり,まこと
+ともた,かよこ
+ともの,ちえこ
+とりかい,えいじ
+とりうみ,けい
+とつか,ひろゆき
+とよだ,じゅんこ
+とよだ,こういち
+とよおか,ひろやす
+つちだ,かずゆき
+つだ,たかしげ
+つじたに,ひであき
+つかもと,そひち
+つかもと,かずお
+つかわき,ひろや
+つるまき,くにひこ
+いちばんがせ,のりこ
+さかい,あつし
+うちだ,ふみえ
+かなおか,もとよし
+うちだ,まさゆき
+うちうみ,ひでひこ
+うちやま,けいじ
+うちやま,なおき
+うだ,よしのぶ
+うだがわ,あやこ
+おしま,けいいち
+うえだ,みきひろ
+うえだ,たくのぶ
+うえはら,こうじ
+うえむら,こういち
+うえの,まさつぐ
+うえの,よしてる
+うえすぎ,ひろあき
+うえつき,まさたか
+うかわ,ようこ
+うまずめ,ゆきこ
+うめはら,みほこ
+うめむら,かずひろ
+うめざわ,こへい
+うの,たつや
+うの,なおひこ
+うらもと,ふみたか
+うるま,ゆき
+うしば,あつこ
+ながた,たろう
+うしぐさ,あつこ
+はせがわ,えいか
+さかまき,よしみつ
+うわべ,ひでゆき
+わだ,まさき
+わかお,おさむ
+わかお,ひろのり
+わきた,まさみ
+いのまた,たいち
+わくい,まさひで
+わしざわ,しんや
+わしずか,としお
+わたべ,ひろふみ
+わたなべ,ひろし
+わたなべ,ひろし
+わたなべ,ひさや
+わたなべ,けい
+わたなべ,まさふみ
+わたなべ,みのる
+わたなべ,りゅた
+わたなべ,としあき
+わたなべ,よしあき
+わたなべ,ゆり
+とよた,まさゆき
+わたり,あきこ
+とみやす,けいじ
+やえがき,れいこ
+やぎ,ようこ
+やぎ,ひろみ
+やぎぬま,まさや
+やく,けいこ
+やまだ,こうじ
+やまだ,まさとし
+やまだ,のりゆき
+やまぎし,かずひろ
+やまぐち,しげる
+やまぐち,たかお
+やまぐち,つよし
+やまぐち,ともゆき
+やまこし,だいち
+やまもと,ひでき
+やまもと,ひろかず
+やまもと,ひろみ
+やまもと,ひとし
+やまもと,けいこ
+たちばな,としひさ
+やまもと,よしあき
+やまもと,みよこ
+はらたに,よしまさ
+やまなか,だいすけ
+やまね,あきと
+やました,かずひこ
+やました,まき
+やました,ようこ
+やまたに,あつし
+やまうち,こういち
+やまざき,としゆき
+やな,かおる
+やなべ,あきら
+やながわ,だいすけ
+やなぎ,まさひろ
+やなぎだ,けんじ
+やさか,たけお
+やすだ,せいいち
+やすふく,しゅじ
+やすかわ,まさとし
+よこさわ,じゅん
+よこた,けんいち
+よこた,ともこ
+はらだ,たかし
+よこうち,よしふみ
+よこうち,あきひこ
+よこやま,ひろし
+よこやま,なおこ
+よねだ,たかし
+よねの,ともこ
+かさはら,あきら
+よしだ,ひろあき
+よしだ,ひろき
+よしだ,りょ
+よしだ,としあき
+よしだ,りゅひち
+よしどめ,かずひで
+よしはら,まさみつ
+よしい,ゆたか
+よしい,きよかず
+よしかわ,たくや
+よしみ,ひろし
+よしの,かずひろ
+よしの,こすけ
+よしの,まさひろ
+よしおか,しんすけ
+よしおか,まこと
+よしたけ,かずのぶ
+よしざわ,なおき
+ゆずはら,なおみ
+ぜんげ,さとみ
+ずし,ひでお
+ごみ,じゅん
+ごと,ひろし
+いけだ,なおと
+いまじょ,ひろし
+あべ,しずか
+かとう,たかひろ
+かわばた,さとる
+こばやし,まこと
+こんど,しおり
+くぼ,たいき
+くらもち,ふみお
+まるやま,やすし
+もりかく,ともこ
+むらおか,けんいち
+ながしま,こういちろ
+なか,ただし
+なかはら,としかつ
+なかむら,こうじ
+なかせ,かずたか
+なりた,みお
+にしむら,ひろき
+のなか,ひろし
+おがわ,たけはる
+おぐら,まさひろ
+おみ,まなぶ
+おかの,しげる
+しまだ,しげる
+しみず,ゆきひこ
+しむら,くにむね
+たかはし,まさひこ
+たかまつ,ようこ
+うえだ,よしあき
+うじ,ゆきお
+うつみ,ひろゆき
+あべ,ようこ
+こんど,としや
+たかのうち,たくや
+いのうえ,つよし
+なかはら,とみ
+あだち,ひさえ
+なかの,えみこ
+あいば,ひでなお
+あいば,よしお
+あいば,とおる
+あいだ,まこと
+あいはら,まさや
+あかいし,じゅんじ
+あかいわ,かずのしん
+あかおぎ,ひでゆき
+あきた,みつまさ
+あまの,けんいち
+あおき,むつお
+あおき,ご
+あおぬま,しゅひち
+あおやぎ,よひち
+あらき,たかし
+ありまち,けんさく
+ありた,むねひろ
+あさだ,ひとし
+あさえだ,ゆたか
+あさはら,ひろき
+あさかわ,のりあき
+あさもと,たけし
+あさの,さとし
+あたぐち,まさひろ
+あやき,あつし
+ばば,まさおみ
+ばば,よしひろ
+ばば,としひで
+ばん,つよし
+だいこく,なおこ
+だて,ひろこ
+さの,ゆきこ
+みつおか,ひとし
+でんだ,えいじ
+どい,あきら
+えんど,としのぶ
+えんど,ひであき
+えざわ,てつや
+ふじえ,たかひろ
+ふじい,よしはる
+ふじい,かずひこ
+ふじまき,つとむ
+ふじもと,ゆたか
+ふじもと,ひろし
+ふじむろ,はるこ
+もろずみ,しゅんすけ
+ふじさわ,かおる
+ふじた,ななこ
+ふかせ,たけし
+ふくだ,みちよ
+ふくどめ,しげひこ
+ふくい,じゅにち
+ふくなが,しげき
+ふくしま,かずひこ
+ふくざわ,えみ
+ふるばやし,ともひこ
+ふるかわ,よひちろ
+ふるかわ,なりひで
+ご,たけふみ
+ごまる,かずひろ
+ごと,まさあき
+ごと,まさかつ
+ごと,みわ
+のもと,みきお
+はぎわら,こうじ
+はいやま,かんじ
+はま,けんじ
+はまち,ひろゆき
+はまだ,たつや
+はまたに,しせい
+はない,たかし
+はなた,ひさし
+はねじ,ふみひさ
+はんざわ,ひでお
+はら,まりか
+はら,あきら
+はらだ,ひでき
+はらだ,あけみ
+はせがわ,はな
+はせがわ,すすむ
+はせがわ,しょ
+はしぐち,たつや
+はしもと,ちずか
+ごと,かおる
+かじわら,りゅた
+はすみ,きょこ
+かたやなぎ,かずみち
+はたけやま,しゅひち
+むらい,なおひさ
+はたに,しげお
+はっとり,やすひと
+はっとり,ひらく
+はやし,ひろこ
+おすみ,まさひこ
+はやし,みほ
+はやし,しんじ
+はやしだ,かずひで
+ひが,きよし
+ひがし,ゆたか
+ひがしだ,なおこ
+とよだ,てつや
+ひの,まさよし
+ひら,やすゆき
+ひらもと,けい
+ひらお,よしこ
+ひらお,つぐのり
+ひらた,えいいち
+ひらやま,しんいち
+ひろい,みつゆき
+ひろかわ,りゅひち
+ひろかわ,やすのぶ
+ひろます,たかゆき
+ひろせ,たかゆき
+ひろせ,まさこ
+ひしや,かずなり
+ほしょ,よしのぶ
+ほんだ,さき
+はやし,たけお
+ほんま,りゅすけ
+ほりぐち,しゅひち
+ほりい,ゆひちろ
+ほし,たけひこ
+ほそい,てつや
+ほそみ,じゅんこ
+ほった,まさと
+ふくろい,まさゆき
+ふるや,なおみ
+いぶか,たけし
+いちば,たかし
+いちはら,のりかず
+いちかわ,よたろう
+いちむら,かずゆき
+いちのせき,みつる
+いいだ,たかお
+いいだ,さとし
+いいじま,あきこ
+しのはら,みほこ
+いけだ,のぞむ
+いけだ,たけし
+いけだ,てるお
+いけだ,ひろみ
+いけざわ,あきひこ
+いまい,かつや
+いまい,やすお
+いまい,まさひで
+いまき,けんじ
+いまむら,あきひと
+いもと,そひち
+あべ,たかし
+いなだ,ひろし
+いのうえ,ひろし
+いのうえ,じゅにちろ
+いのうえ,としひろ
+いのうえ,としや
+いりえ,じゅんこ
+つるおか,ようこ
+おはし,はじめ
+いしだ,りえ
+いしだ,ゆき
+いしだ,ゆたか
+いしだ,ようこ
+いしぐろ,かずたか
+いしはら,まゆみ
+いしはら,けいた
+いしい,くにひこ
+いしかわ,みのる
+いしかわ,けんすけ
+いしわた,しょひち
+いとう,よしやす
+いとう,ゆきこ
+いとやま,ともひろ
+いつき,たかし
+いわき,まさひこ
+いわさき,かずお
+いずつ,よしひこ
+じぶ,ひとし
+かどい,ひさとし
+あだち,ゆうじ
+かい,けんじ
+かいせ,こうじ
+かいずか,はじめ
+かじわら,よしき
+かき,しげお
+かきみ,じゅんこ
+すぎた,みつひこ
+かくたに,まさのり
+かみばやし,あきら
+かみがき,まさのり
+かみや,たかし
+かもだ,あきこ
+かもと,としお
+かんばやし,かずひろ
+かねこ,こうたろう
+かねこ,たけし
+かねこ,ゆうじ
+かねこ,えみこ
+かにさわ,てるやす
+かる,けんじ
+かしわぎ,たかゆき
+かすみ,ひろあき
+かたぎり,ひろこ
+かとう,ひろし
+かとう,かつとし
+かとう,こうじ
+かとう,れいき
+かとう,やすこ
+たぐち,かつひこ
+かとう,のりひで
+かとう,さとし
+かとう,こういち
+かつら,たもつ
+そご,もとひろ
+かわひと,しんご
+かわい,みつや
+かわかみ,くにひこ
+かわみ,みつお
+かわむら,たつや
+かわむら,たかゆき
+かわさき,てつや
+かわさき,よひちろ
+かわうち,なおゆき
+かつき,みつひろ
+きだ,あつし
+きどころ,ゆうこ
+もり,のぶお
+きくち,たつろ
+きくがわ,じゅんこ
+きむら,けんじ
+きむら,こう
+きむら,しん-いち
+きむら,あきら
+きのした,けん
+きのした,まこと
+きのした,りえこ
+きのした,こうじ
+きしだ,しげる
+きしかわ,しんじ
+きた,てるき
+きたぐち,ひろし
+あまの,ともかず
+きたむら,まさあき
+きたやま,あきとも
+こばやし,へいじ
+こばやし,ひろし
+こばやし,けんじ
+こばやし,まこと
+こばやし,みえ
+こばやし,みつひろ
+あめした,さとる
+こばやし,たけし
+こばやし,たくみ
+こばやし,とよき
+こばやし,よしあき
+こばやし,よしはる
+こばやし,ゆかり
+こばやし,ゆきこ
+おだ,まさひこ
+こぼり,としお
+こだいら,けいすけ
+こだま,みちよ
+かわぐち,まなぶ
+こだて,ちひろ
+こが,なおと
+こが,もとのり
+こがねまる,ひろゆき
+こはら,やすてる
+こだ,ともあき
+この,じゅんじ
+こざい,なおき
+こいけ,こういち
+こいずみ,ひろみ
+こじま,けんじ
+こじま,きよたか
+こまつ,まゆみ
+こもり,だいすけ
+こんど,たかひろ
+こんど,まさひこ
+こんた,ひでみ
+こたか,のぶひろ
+こたけ,せいじ
+こやま,あつし
+くぼ,みつる
+くぼき,のりゆき
+くぼた,あきら
+くが,まさみ
+くまがい,ともなり
+くにもり,けんいち
+くらもと,まなぶ
+くらさわ,こういち
+くらしな,あきお
+くらた,まさお
+くりもと,やすろ
+くりた,けん
+くろだ,たかし
+くろだ,よしたか
+くろかわ,とものり
+くろき,いさむ
+くろさき,けんいち
+くろさわ,みつのり
+くりゅ,まさき
+くわた,とろく
+くずみ,ひろし
+まぶち,いくこ
+まえだ,よひち
+まえだ,たつじ
+まえがわ,やすなり
+まえかわ,よひち
+まきお,じゅん
+まめはら,あつし
+まさだ,かつひと
+ますだ,さとし
+ますだ,たけお
+ますだ,よしまさ
+ますだ,としかず
+ますやま,ひであき
+まつだ,しんご
+まつだ,つよし
+まつえだ,りょひち
+まつい,ひろゆき
+まつもと,けんじ
+まつもと,まさひこ
+まつもと,たかひろ
+まつもと,たくみ
+まつもと,やすひろ
+まつもと,けいし
+まつなが,あきひこ
+まつの,やすとし
+まつの,せいいち
+まつおか,あきひろ
+まゆみ,ひろゆき
+めかた,よすけ
+めら,ひろし
+みたに,たかし
+みたに,ともこ
+みと,りつこ
+みやがみ,むつみ
+いおき,なおみ
+みやもと,つよし
+みやむら,たかまさ
+みやの,けんたろう
+みやうち,けいじ
+みやざき,せいいち
+もちずき,ゆひち
+ももい,しゅひち
+もり,ようたろう
+もり,まさゆき
+もりもと,やすひこ
+もりもと,しんいち
+もりおか,みちこ
+もりさわ,あきら
+もりた,ひろき
+もりた,こうじ
+もりた,たろう
+もりた,みちひと
+もりやま,ゆみこ
+もりやま,しげひさ
+もてぎ,まさあき
+むらかみ,あきひろ
+あさの,ともゆき
+あゆかわ,たかあき
+むらお,まさはる
+むらおか,まさかつ
+むらた,ゆき
+むしあけ,ひでまさ
+むた,ゆか
+なべい,くみこ
+ながい,よひち
+ながい,むつこ
+ながみね,けんじ
+ながさわ,ともひろ
+ながた,かずよし
+ながやま,ひろのぶ
+なぐら,あきひこ
+ないとう,しんや
+なかがわ,たかし
+なかがわ,たつひこ
+なかがわ,とおる
+なかがわ,まさあき
+なかはら,けんご
+なかい,さとし
+なかい,だいすけ
+なかじま,しげる
+なかじま,ともかず
+なかじま,えみこ
+さわだ,ひさし
+なかむら,まさひろ
+ばんば,こういち
+なかむら,まさこ
+なかむら,さゆり
+なかむら,ただし
+なかむら,てつお
+なかむら,てつや
+なかむら,ゆみこ
+なかむら,ひろし
+なかの,りゅじ
+なかの,ゆみこ
+なかお,やすし
+なかしま,まさひろ
+なかた,たかこ
+なかた,しげる
+なかやま,たかひろ
+なかやま,とおる
+なかやま,ゆみこ
+なかやま,かつや
+なかざわ,みえこ
+なかざわ,あきのぶ
+ながおか,てつや
+ななしゃ,ひでひと
+なりた,こういち
+なりた,まさのり
+なす,かずお
+なすた,まり
+にし,たけし
+にしだ,あきひろ
+にしむら,ふみこ
+まさだ,ひろかず
+にしむら,のぶゆき
+にしむら,やすひろ
+にしお,こういち
+にしやま,あきこ
+にった,なおやす
+のがみ,ひろふみ
+のなか,あきひろ
+のせ,けいこ
+のたべ,かつや
+のと,けいすけ
+のて,ゆたか
+ぬくい,よしひろ
+おち,つよし
+おちあい,まこと
+おだ,たけし
+おがさわら,ひろし
+おがわ,かねのぶ
+おがわ,のぶゆき
+おがわ,さちお
+おがわ,たけひこ
+おがわ,ともこ
+おがわ,まさゆき
+おぎの,よしただ
+おば,みなこ
+たきみや,かおり
+おはし,やすひろ
+おはし,たかひろ
+おひ,ひでお
+おかわ,しんご
+おもり,じゅにち
+おむら,ひろき
+おなかはら,まさひろ
+おにし,あきひこ
+おの,としゆき
+おほか,よしかず
+おしま,ゆうじ
+おしま,よじ
+いけまつ,こうじ
+おた,まさひこ
+おた,まさや
+おた,なおたけ
+おた,ともみ
+ふくだ,まこと
+おぜき,まさひで
+おいだ,ゆきお
+おいじ,ただゆき
+おかだ,たくみん
+すぎもと,ちさと
+おかざき,えみ
+おかざき,じゅんか
+おかざわ,まゆ
+おくだ,たけつぐ
+おくだ,よしのり
+おくだ,あきこ
+おくむら,たかし
+おくむら,のぶ
+おくの,けんいち
+おくやま,たかこ
+おの,たけし
+おぬき,たかし
+おはし,さちこ
+とひゃ,たみこ
+おとぐろ,みえ
+ぇえ,けいいち
+さいご,ひとし
+さいとう,くにひろ
+さいとう,しんじ
+さいとう,たかゆき
+さいとう,やすひろ
+さいとう,やすし
+さいとう,ひとし
+さいとう,てつや
+さかえだに,ちゅんぁん
+ちぇん,まさき
+さかい,しげる
+さかい,ひでひと
+さかた,こうたろう
+さかた,あきひろ
+さくま,なおみ
+さくらばやし,ひでのり
+さくらい,としお
+さくた,まさひろ
+ささき,のぶゆき
+ささき,たかあき
+ささき,たけひろ
+ささき,よしたろう
+ささめ,あきひさ
+さとう,ふみひこ
+さとう,ひろき
+さとう,ひろし
+さとう,じゅん
+さとう,かんじ
+さとう,みか
+さとう,もとゆき
+さとう,のぶやす
+さとう,とくじろ
+さとう,つよし
+さとう,かずひこ
+さとう,たかひろ
+さとう,あつし
+さわだ,まつお
+さわはし,よしあき
+さわの,まさかず
+せぐち,あきら
+せき,さちこ
+せきぐち,よしゆき
+せきぐち,よひち
+しば,かずのり
+しばた,まさひこ
+しばた,よしひろ
+しぶや,よしろ
+しまだ,はじめ
+しみず,ひろみ
+いしかわ,ひろし
+しみず,こうじ
+しみず,しょじ
+しみず,やえ
+しみず,くみこ
+ふじえだ,ひろやす
+しもやまだ,りえ
+しながわ,たかね
+しんや,たつゆき
+しおみ,かずひろ
+しおつ,しゅへい
+せきぐち,ともこ
+つのだ,よしひろ
+しらさか,さとし
+しろした,かおり
+したら,あやこ
+しょ,まさはる
+すがわら,たかし
+すがわら,しゅじ
+すぎもと,かつゆき
+すぎた,たかゆき
+すぎた,ともひろ
+すぎた,かつゆき
+すぎうら,けんじ
+すぎうら,けんたろう
+すぎやま,こういちろ
+いけぞえ,しんいち
+すぎやま,ともひで
+すか,みつのり
+すけがわ,しんじ
+すみのうえ,かつひこ
+すみよし,とおる
+すみよし,たかし
+すなみ,あつお
+すずき,ひろゆき
+すずき,ひさし
+すずき,じゆにち
+すずき,みほ
+すずき,さとし
+すずき,しょひち
+すずき,ともかず
+すずき,まさより
+しょじ,かつひこ
+しょじょ,さとこ
+たばた,とよひさ
+ただ,みずほ
+たどころ,まさとし
+たがみ,ひろあき
+たぐち,ともゆき
+たぐち,のぶよし
+たい,ひでき
+たいら,たねかず
+たいさ,としみつ
+たじま,ひろゆき
+たかだ,やちよ
+たかだ,まもる
+たかぎ,あきひろ
+たかはし,あきら
+たかはし,ひろあき
+たかはし,いっぺい
+たかはし,まさと
+たかはし,のぶあき
+たかはし,しず
+たかはし,しょたろう
+たかはし,そういちろう
+たかはし,としお
+たかはし,ひでゆき
+たかい,こうじ
+たかの,たかし
+たかしま,ひろあき
+たかやま,まさてる
+たけだ,あつし
+たけいち,みつひろ
+たけまさ,きよし
+たけむら,ただなお
+たけむら,えつろ
+たけなか,てつろ
+たけした,あつや
+たけうち,ひろし
+たけうち,とおる
+たけうち,なおき
+たきかわ,さとし
+たききた,ゆうじ
+たきざわ,としお
+たこ,ゆすけ
+たかの,なおき
+たまがわ,よしふみ
+たまき,しのぶ
+たむら,かんこ
+たなべ,なおや
+たなべ,ひでつぐ
+たなか,かずよし
+たなか,けいすけ
+たなか,けんいち
+たなか,しほ
+たなか,しゅんすけ
+たなか,なおと
+たに,しょぞ
+たにぐち,あつと
+たにしょ,ひとし
+たてやま,えいいちろう
+たつみ,あつし
+たうら,たかし
+たざわ,ひでと
+たずけ,よしき
+てらだ,もとゆき
+とま,ひろゆき
+とひゃま,おさむ
+とめおく,かずたか
+とみいえ,ひろのぶ
+ふたつぎ,ふみお
+ともとし,きょへい
+とねがわ,きょこ
+おくむら,みほ
+とししげ,よしひさ
+とよだ,ようこ
+とよなか,まさよし
+つばき,かずなり
+つちもと,のぶひろ
+つだ,しんご
+つだ,よしふみ
+つだ,ますみ
+つじい,たかとし
+つじむら,ともゆき
+つかはら,せいいち
+つのだ,けいこ
+つるぎ,かずひろ
+つるた,かずひろ
+つしま,あきお
+つつい,はやと
+つちだ,ひろし
+うちだ,けんじ
+うちだ,あきこ
+うちくら,のりひこ
+うちたに,ひろし
+うえだ,かずなり
+うえだ,まさや
+うえだ,てつや
+うえだ,ふみお
+うえむら,さとし
+うえの,かよ
+うえつき,としえ
+いけ,ともたか
+うめだ,のりこ
+うめむら,としろ
+うのき,しょじ
+うらした,はるひこ
+うらた,てるひこ
+うしお,きぬよ
+うたがわ,ひろゆき
+わだ,かつゆき
+わだ,さとる
+わだ,たくじ
+わだ,たけし
+わがつま,かつこ
+わかまつ,さきこ
+わきた,ちえ
+わこ,がく
+わりかた,あきのり
+わしず,ひろこ
+わたなべ,ひろし
+わたなべ,まき
+わたなべ,まさる
+わたなべ,みほ
+わたなべ,なつこ
+おむら,のぶひこ
+わたなべ,ともこ
+わたなべ,ともゆき
+わたなべ,よしお
+わたなべ,てつや
+やぎ,ともこ
+やぎ,あきひと
+やまだ,ひろたつ
+やまだ,まさひろ
+やまだ,しょひち
+やまだ,ゆうじ
+やまだ,ひろあき
+やまふく,ひろかず
+やまぐち,なおゆき
+やまぐち,しょ
+やまぐち,しゅんじ
+やまぐち,よしゆき
+やまじ,としお
+やまかわ,がく
+やまもと,ひろふみ
+やまもと,ひろひで
+やまもと,こせい
+やまもと,なおこ
+やまもと,りゅひち
+やまもと,てつろ
+やまもと,ともみ
+やまもと,ゆうこ
+やまもと,たかと
+やまな,のりとし
+やまさき,ひでふみ
+やました,しげお
+やました,たけひろ
+やまざき,ひでお
+やなぎ,まりこ
+やの,よじ
+やしろ,ようこ
+やすい,ひろかず
+やすむろ,とおる
+やすうじ,こうじ
+よこえ,たかのり
+よこい,けんいち
+よこみぞ,みつぞ
+よこやま,ゆきこ
+よねざわ,ひろやす
+よしだ,こうじ
+よしだ,まさき
+よしだ,ゆうじ
+よしだ,ゆたか
+よしだ,せいいちろう
+よしい,かつみ
+よしむら,のりとし
+よしやま,とおる
+よしざわ,ひろし
+ふじしま,りょ
+ゆあさ,けんたろう
+ゆき,たけし
+ゆき,ふとし
+ゆい,たかし
+あだち,よしゆき
+ばん,ひでのり
+ふるい,まや
+はせがわ,きよしげ
+ひらかわ,まさひこ
+いとう,かずひこ
+いわさき,けんや
+かとう,のぶひろ
+かわはら,かつや
+まえはら,かずあき
+まつたに,ともみ
+もりいち,しげと
+にしうち,てるかず
+ふじまき,えいじ
+おはら,さちこ
+さなだ,けんたろう
+そね,けい
+とのむら,せつこ
+しみず,あきよ
+みしま,だいすけ
+ふじた,なおたけ
+ふじた,たかし
+ふじた,よしのり
+ふじわら,はじめ
+ふじゅ,まなぶ
+ふかだ,としひこ
+ふくだ,りょじ
+ふくひさ,けんじ
+ふくざと,よしみつ
+ふくざわ,おさむ
+ふるさわ,しげお
+はがわ,えいじろ
+はぎ,のぶゆき
+はらだ,たいぞ
+はらだ,たかし
+はらだ,ひであき
+はらまき,つとむ
+はせがわ,よしゆき
+はせがわ,けい
+はしお,まりこ
+はすみ,たろう
+はすみ,ひでき
+はっとり,よ
+いしかわ,こうじろ
+はやし,しんいち
+ひらの,たくや
+ひらの,ゆたか
+ひらの,なおたか
+ひろべ,あや
+しのだ,たかし
+ひさだ,きはる
+ほじょ,たかし
+ほんご,ひろたか
+ほし,みつる
+ほしの,のぶひろ
+ほそかわ,まき
+ほその,なおこ
+かとう,りえ
+いぎ,ひであき
+いけだ,ゆか
+いくろ,ひろし
+いまい,けんいちろ
+いなだ,よりこ
+いのぐち,ぶんぺい
+いしぐろ,たかこ
+いしかわ,たくや
+いしかわ,かずあき
+いしざき,としあき
+いしぜき,ひでき
+いとう,けんじ
+いとう,たかゆき
+いとう,たけし
+いとう,てるひこ
+いまがわ,みちこ
+いざわ,まさき
+いずみ,ひろかず
+いずみだて,ゆみ
+かぶらぎ,よしろ
+かみやま,ようこ
+かなやま,としゆき
+かなざわ,のりひろ
+かんばら,かずよし
+かんだ,こへい
+かんだ,たかゆき
+かねこ,つぐかず
+かしむら,ひろき
+かたぎり,けんじ
+かとう,ゆかり
+かとう,よしと
+かわだ,てつや
+かわすみ,まさよし
+きど,なおき
+きくち,よしみ
+きもと,けい
+きむら,こうじ
+きんど,しょじ
+きたむら,のりとし
+きたの,かおり
+きたわたせ,とおる
+きった,こうじ
+きやま,じろ
+きよた,かつよし
+こばやし,ゆうこ
+こばやし,みすまる
+こが,なりとも
+こはら,ひろし
+こじな,しんすけ
+この,ひろのり
+こずか,のぶひさ
+こいで,はるみ
+こまつ,ようこ
+こみなと,しゅにち
+こもり,のぶひろ
+こんど,たくや
+こにし,けんた
+くぼやま,みちはる
+くまがい,みほ
+くまた,さだお
+くりはら,すすむ
+くりはら,やすこ
+くりた,せいじ
+くさの,ひろゆき
+くしだ,じゅんじ
+まえだ,ようこ
+まき,あつや
+まきた,たかゆき
+まるやま,けん
+ますだ,けいご
+まつばら,まさき
+まつばら,しんじ
+まつい,りゅすけ
+まつもと,しゅうじ
+まつむら,さとこ
+まつお,ひろひこ
+みかみ,のりこ
+みき,ただあき
+みのうら,りょじ
+みしま,たかこ
+みつなが,たけし
+みうら,けいこ
+みわ,さとし
+みやお,ひろふみ
+みやた,あきひこ
+みずたに,ゆき
+みずたに,けいすけ
+もちずき,しんじ
+もちずき,つねお
+もちずき,だいち
+もぎ,ちから
+もり,ひでとし
+もり,けいこ
+もり,まさゆき
+もり,しんたろう
+もり,かずひろ
+もりやま,みつお
+もろおか,たかあき
+もとば,せいじ
+むねと,けんいち
+むらい,よしゆき
+むらおか,まさのり
+むろい,たかのぶ
+ながふじ,やすはる
+ながい,かなう
+ないとう,かずひこ
+ないとう,ひでのぶ
+なかがわ,みつる
+なかはら,くみこ
+なかじま,のぶゆき
+なかじま,ひろし
+なかむら,さとる
+なかむら,ただひこ
+なかむら,ただゆき
+なかむら,ともひさ
+なかむら,としき
+なかむら,としお
+なかむら,ゆき
+やまだ,だいさく
+なかお,かつまさ
+なかつかさ,よしこ
+なかやま,けん
+なむら,ひでひろ
+なすの,きみひと
+にいぜき,あきら
+にしかわ,ゆきこ
+にしきおり,たろう
+にしざわ,みのる
+のあき,みやこ
+のだ,ゆたか
+のだ,まさひこ
+のぐち,たけし
+のむら,ひろし
+おちあい,あや
+もり,あきら
+おがさわら,あきら
+おがさわら,あつし
+おがわ,ひさと
+おがわ,たかし
+おがわ,えいじ
+おぐら,きよし
+おぐら,まり
+おひし,むねゆき
+おかわ,なおき
+おかわ,としはる
+おかぜ,こぞ
+おき,よしあき
+おむら,かつのり
+おすみ,ようこ
+おた,けんたろう
+おたけ,ゆうこ
+おたに,ひさし
+おひゃま,ひでき
+おぜき,こすけ
+おかもと,まりこ
+おかむら,みつひさ
+おかむら,たつし
+おくむら,りょこ
+おんだ,たかひろ
+おのでら,やすひさ
+おやべ,ふみのり
+さが,まさき
+さいとう,ひろや
+さかい,としあき
+いぎ,じゅんこ
+さかもと,なおき
+さかもと,てつや
+さかつぎ,あつし
+さかうえ,まさひろ
+さくま,ふみひこ
+さくら,てつじ
+さなだ,けん
+ささき,けんじ
+ささき,ひろし
+さとう,じゅん
+さとう,こしん
+さとう,まもる
+さとう,まなみ
+さとう,のりひこ
+さとう,のりゆき
+さとう,たかのり
+さとう,としあき
+さとう,ゆうこ
+さとう,さなえ
+せいけ,あきのり
+せき,ひさね
+せき,よしひろ
+せき,かずお
+せきぐち,けんじ
+せた,まりこ
+しんがい,えいき
+しばた,よしひろ
+しばた,たけお
+しぶき,なおや
+しげとみ,かつゆき
+しが,たかひろ
+しいば,としあき
+しまだ,しゅういち
+しまかわ,ひでひさ
+しみず,かつひろ
+しみず,きょこ
+しみず,やすひと
+しみず,かずひで
+しもむら,さとみ
+しもむら,まさのり
+しおじり,よういち
+しおざわ,てつや
+しらい,てつ
+しらかわ,たけし
+そまん,としお
+そひゃ,あきこ
+そのだ,よしこ
+すだ,ゆきのり
+すがの,じろ
+すがぬま,かずみつ
+すがわ,ひろし
+すぎうら,みか
+すぎやま,いちろう
+すずき,しげる
+すずき,すすむ
+すずき,たかつな
+すずき,おさむ
+しょじ,たかし
+たぐち,たかし
+たいら,あきら
+たじま,ひろし
+たかだ,あやこ
+おかやま,ゆうこ
+たかぎし,ふみえ
+たかはし,じん
+たかはし,まさと
+たかはし,まゆみ
+たかはし,ともはる
+たかはし,けんいち
+たかき,さとし
+たかおか,せいいち
+たかおか,きょすけ
+いまいずみ,ともひろ
+たかさわ,けん
+たかす,こうじ
+たけい,あつし
+たけなか,しんいちろう
+たけざき,てつや
+たまいし,かつや
+たまき,ただと
+たなか,りえ
+たにぐち,たかのり
+たうち,あさこ
+てらみつ,みかこ
+とだ,しんいちろう
+とみなが,やすし
+とみた,まさよし
+とんぐ,とおる
+つねかわ,きょこ
+つつい,よいち
+うちだ,たくや
+うちはし,ひろゆき
+うえだ,よしお
+いとう,たかし
+うえだ,つよし
+うえはら,せつこ
+ふじた,たけし
+うめだ,よしこ
+うめはら,ひであき
+うらべ,しげる
+わたべ,あきら
+やがさき,なおき
+やぎもと,ひろなお
+やじま,だいすけ
+やまだ,まや
+やまだ,しんいちろう
+やまだ,あきよ
+やまぐち,ひでとし
+やまぐち,ひろふみ
+やまもと,かつよし
+やまもと,たけし
+やまもと,たくお
+やまもと,まさひこ
+やまね,よひち
+やまさき,ひろし
+やました,ひであき
+やまざき,しほ
+やまさき,てつや
+やながわ,やよい
+やなぎだ,ひさこ
+おの,やすし
+やなぎさわ,すみか
+やざき,ひろし
+やざわ,かつみ
+よこやま,みちこ
+よこやま,たかし
+よも,みかこ
+よしだ,さとこ
+よしだ,ともこ
+よしだ,やすひろ
+よしはら,やすひろ
+よしはら,なおき
+よしもり,こうじ
+ぜっつ,かずひろ
+あべ,はるのり
+あだち,かずき
+あいかわ,まさゆき
+あかえ,としや
+あんどう,たけし
+あさみ,やすお
+いまなか,ひでのぶ
+べっぷ,やすし
+べっぷ,なおき
+ちかはら,せいじ
+ふじい,ひろこ
+ふじさき,たけし
+ふくしま,きょじ
+くろだ,ひでお
+もり,ゆうじ
+なかむら,はるひこ
+わたなべ,あゆみ
+くろだ,まさひで
+みやうち,たかし
+いとう,ひでよ
+いいだ,よしただ
+かわの,こうじ
+あいうら,ひろふみ
+のざき,みちこ
+びたに,まき
+たにあい,みさ
+あおき,はるよ
+おき,ゆすけ
+あおき,ひろあき
+あおやぎ,おさむ
+あかにし,みつとし
+あさお,たかゆき
+あさくら,あずさ
+あしざわ,としみ
+あたく,まさひで
+あだち,しゅひょ
+いとう,たかえ
+しまもと,あさこ
+さいとう,じゅんこ
+しのはら,きくこ
+おかの,まゆみ
+おかもと,まい
+ひらかわ,としお
+すがぬま,てるあき
+あなざわ,あやみ
+あらい,だいすけ
+あらい,じゅにち
+あらかわ,きさく
+あらかね,かずゆき
+あらき,けんた
+あんどう,なおひろ
+いうち,まさひこ
+いけだ,かえ
+いけや,かずき
+いしかわ,ひろし
+いしかわ,ゆうこ
+いしかわ,ゆり
+いしかわ,あとむ
+いしがき,まさる
+いしぐろ,かつみ
+いしはら,ひでこ
+いそむら,ひろし
+いたがき,よごろ
+いいだ,ともみち
+いちかわ,みのる
+いちかわ,としかず
+いで,きんや
+いとう,ゆみこ
+いぬい,あきこ
+いのうえ,しげのり
+いまにし,ひろひさ
+いまはやし,まこと
+いわさき,やすひろ
+いわさき,まさき
+いわもと,ひろし
+うえの,まさみ
+うえの,ひろし
+うちいけ,こういち
+うちやま,ひろし
+うめだ,かおる
+うめむら,まさき
+うめもと,くみこ
+うるしばら,きよみ
+えぐま,しろ
+えら,そよ
+おうさか,よしとし
+おかわ,いたる
+おさわ,ひろふみ
+おしま,まきと
+おしま,のぶひろ
+おすが,むねたか
+おたに,しんいち
+おつ,まさつぐ
+おつか,まゆみ
+おね,けいいち
+おの,えいじ
+おはし,かずのり
+おはし,よしあき
+おばやし,よしたか
+おひょし,しゅじ
+おかもと,さよ
+おがさわら,ちほこ
+おがわ,よしひこ
+おくたに,えり
+おくむら,なおや
+おぐら,まさたか
+いいかわ,まさみつ
+おぐら,まさひこ
+おざわ,よしたか
+おざわ,まなぶ
+おの,たつひこ
+かきもと,ひでき
+かきもと,まさふみ
+かげやま,ただひさ
+いしかわ,まさゆき
+かそり,あきら
+かつみ,けんいち
+かとう,けんご
+かとう,しんじ
+かとう,たかゆき
+かとう,ただゆき
+かとう,よしこ
+けずか,ひでのり
+かどわき,ご
+かねこ,ゆうこ
+かの,ひろこ
+かみやま,けんいちろ
+かわしま,さとし
+かわせ,たかのり
+かわの,ひでひこ
+かわもと,やすのり
+かわもと,れいこ
+かわせ,ひろし
+かんだ,ともみ
+きくち,ひろし
+きくち,やすひと
+きくち,なおき
+きたあらし,なおこ
+きたおか,のりこ
+きたじま,しげのり
+きたむら,だいすけ
+きたむら,けいじ
+きてら,あきら
+きのした,みつしろ
+きむら,あきひろ
+きりう,のりこ
+くさかべ,ひろかず
+くぼた,ひろゆき
+くまがい,さとる
+くまの,かずき
+くりはら,まさたか
+くるしま,しん
+なかがわ,なおき
+こいで,ひでとし
+この,ひさゆき
+こもと,あきこ
+こが,のぶお
+こじま,まいこ
+こにし,みゆき
+こばやし,あきひろ
+こまつ,たけみ
+こみや,あつし
+こんど,さとし
+こんど,じゅんこ
+ごと,たかひろ
+さいとう,たけし
+さいとう,まえこ
+さいとう,こすけ
+さかもと,けんじろ
+さくま,さり
+しみず,まさと
+さだちか,あきよし
+さと,ちか
+さとう,ひでき
+さとう,まさし
+さとう,ゆうこ
+さとう,くにはる
+さわだ,たいじ
+いそわ,かよこ
+しもじょ,せいう
+しゅ,けいいち
+しおかわ,しんや
+しおざわ,さとし
+しかうち,つとむ
+しずり,だいすけ
+しの,たつや
+しのざき,こうじ
+しのだ,ひでき
+しのだ,たけお
+しばざき,としかず
+しばた,なおき
+しまむら,けいじゅ
+しみず,さよこ
+しみず,じゅん
+しみず,ひとみ
+しみず,みか
+たきたに,かつゆき
+しらの,じゅんじ
+すえひろ,まさひこ
+すがい,たかあき
+すがよし,まさや
+すがわら,あやの
+すぎうら,まさひこ
+すぎしま,みつる
+すぎもと,たけし
+すずかわ,てつじ
+すだ,じゅんじろ
+すみかわ,ますみ
+すみの,ゆきこ
+せきぐち,あきひと
+そえじま,さおり
+たおか,のぼる
+たかき,みまこ
+たかしま,ゆうじ
+たかせ,さとし
+たかはし,しんいちろう
+たかはし,ゆひち
+たかはし,たかゆき
+たきたに,けん
+たけうち,みきお
+たけうち,けんじ
+たけだ,しげふみ
+たけだ,のりあき
+たけだ,しゅんすけ
+たけむら,ひさし
+たご,よしえ
+たきざわ,あきよし
+たなか,かつあき
+たなか,こうじ
+たなか,しげみ
+いわの,やすなり
+たなか,ただし
+たにえ,きょこ
+たにぐち,しんいち
+たにぐち,きよたか
+たにまつ,かつや
+たばた,たつや
+たまき,えいいち
+いせもと,なな
+たみや,ひろぶみ
+ちゃもと,けんわ
+ちん,ただゆき
+つかもと,けいいち
+つちはし,いくひこ
+てらさわ,なおひさ
+とじょ,まさこ
+ふくしま,ちかこ
+とば,ようこ
+とみよし,りょすけ
+とむろ,けんじ
+とよしま,かずしげ
+とりやま,ひろし
+ないとう,さだよし
+いで,かずえ
+はた,じょじ
+なかがき,ひろし
+なかがわ,みわこ
+なかざわ,たつや
+なかで,じょ
+なかはら,あき
+たけうち,ふさし
+なかむら,よひちろ
+なかむら,ようこ
+なす,むねひろ
+にいむら,たつや
+にしおか,みちこ
+にしかわ,なおし
+にしざわ,きょこ
+にしと,ひとき
+にしの,なつひこ
+にしはら,じゅにち
+にしむら,なおゆき
+ねもと,ひろゆき
+のぐち,みちかず
+のぐち,ふさお
+のじり,みき
+のじり,たかこ
+のむら,よしこ
+はった,しょこ
+はしば,あつし
+はしもと,かつひさ
+はしもと,さとし
+いのうえ,たけし
+はしもと,ひろし
+はせがわ,としひろ
+はた,ひであき
+はた,あきら
+はたの,しげる
+はやし,やすこ
+はやし,こうじ
+はらだ,なおき
+はらだ,くにもり
+ばば,さちよ
+ばば,えみ
+ひぐち,まさや
+ひぐち,よしなお
+ひさき,たかひろ
+ひじり,かずひこ
+ひらやま,あきこ
+ふくだ,ちかこ
+ふじい,ゆか
+すがい,いちろう
+ふじた,きよし
+ふじた,たかこ
+ふじた,けんいち
+ふじたに,かずき
+ふじなみ,よしかつ
+ふじの,まいこ
+ののむら,ひろゆき
+ふせ,くみこ
+すぎもと,ともこ
+ほそかわ,けんいち
+ほりうち,ひろふみ
+ほりかわ,あすか
+まきの,のぶひこ
+まきの,きょこ
+ましこ,ごじ
+ますだ,えり
+ますぶち,たかゆき
+ますぶち,まゆみ
+まつい,ひろふみ
+まつざわ,さとみ
+とみなが,かずや
+まつなが,ゆきこ
+まつなが,のぶこ
+すずき,さとし
+まつむら,しげゆき
+まつもと,たつゆき
+まつもと,かつじ
+まつやま,たてる
+まつやま,よひちろ
+まつやま,たつお
+まつよし,なおみ
+まの,ひろあき
+まるおか,いくこ
+みかみ,のりひこ
+みき,としひこ
+みぞぐち,かずや
+みた,たかし
+みね,あきひろ
+みねお,まきこ
+さとう,まさと
+いくた,たかし
+みやざき,よしこ
+たかぎわ,ゆき
+みよし,やすじ
+むかい,けいいち
+むらかみ,ひでふみ
+いしだ,ともひさ
+むらかみ,のりこ
+むらかみ,こうじ
+むらやま,てつや
+むらやま,あきこ
+むろい,せいじ
+もたい,としやす
+もとき,ようこ
+もとむら,ひろき
+もり,まさみ
+かせ,みのる
+もりした,ちあき
+もりた,さとる
+もろとみ,かつのり
+もろはし,あや
+かわもと,ひでき
+やぐち,しげる
+やじま,ようこ
+やすかわ,みつたか
+やすだ,まさあき
+やつずか,つかさ
+やなぎさわ,さとし
+やまぐち,かずたか
+やまさき,こうじ
+やまざき,まこと
+やまざき,まさたか
+やまざき,かずまさ
+やまだ,かずや
+やまだ,こうじ
+やまだ,かつひろ
+やまなか,あきよし
+くりはら,かずひろ
+やまもと,なおき
+やまもと,ひでのぶ
+やまもと,ゆきこ
+まつお,ひろのり
+よぎ,てるひこ
+よこやま,なおこ
+よこやま,ひろし
+よしかわ,まさひと
+よしかわ,まりこ
+よしだ,ゆき
+わくい,きんや
+わたなべ,たかや
+わたなべ,ひろゆき
+わたなべ,よしこ
+わたなべ,せいじろ
+はやし,けんたろう
+やまだ,なおき
+わかばやし,たかのり
+いわむら,しゅひち
+わたなべ,まさき
+くわしま,まさこ
+おばた,しんたろう
+あなざわ,やすし
+やぎ,ますみ
+あかお,ちとせ
+しみず,ひでき
+さかもと,ようこ
+あおき,なおひで
+あずま,よしこ
+いいだ,こうじ
+いけうち,てつや
+いしかわ,けんたろう
+いそがい,しほ
+いとう,よしひと
+いば,まなぶ
+いわもと,たかし
+うえさか,のぶや
+うえの,さとし
+うえひら,のりまさ
+うちやま,のぼる
+うめない,すぐる
+えむら,さとみ
+おきた,ひかる
+おくぼ,こすけ
+おたに,ともかず
+おつ,なつこ
+おつか,ひでのぶ
+おかしろ,しげあき
+おだ,こういち
+おの,えな
+かとう,めばえ
+かねひさ,てつお
+かみや,まこと
+かわい,ただひろ
+かわおか,あずさ
+きたの,しんじ
+きぶし,たけひろ
+きむら,まもる
+きむら,けんご
+くさか,けんじ
+くば,すすむ
+くぼた,たかひろ
+くろいわ,じゅにち
+くわばら,ひろし
+こいけ,あや
+こいたばし,ひろこ
+こだ,よしみ
+こだ,しろ
+こしむら,あつし
+こやなぎ,ひろみ
+はとり,よしゆき
+さかうえ,なおこ
+あべ,おさむ
+さとう,たくよし
+さとう,ひでき
+さとう,じゅにち
+しまだ,つへ
+いまい,まさたか
+すがぬま,まさこ
+せき,さとみ
+せの,たかし
+あべ,しろ
+たかすが,しんじ
+たかすぎ,えいじ
+たかはし,すみお
+たかはし,つかさ
+たかはし,ひでお
+たかはし,まさたけ
+たかはし,あつし
+たきもと,ひさこ
+たくぼ,ゆうこ
+たけうち,さわ
+たけなか,こういち
+たなか,やすみつ
+たなか,まゆみ
+たばた,よしお
+たみや,りえ
+たむら,かつあき
+ちゅま,ちよ
+ほんご,あきひろ
+なかお,たかやす
+なかがわ,まさはる
+なかぞの,まゆみ
+なかの,のぶこ
+にった,ともみ
+にわ,けんたろう
+のじ,あきひと
+はざの,こうじ
+はしもと,ひさみ
+はしもと,ゆうた
+はやし,よしゆき
+はやし,ともこ
+はらぐち,ゆきひこ
+はるぐち,もといち
+ひらで,ちずる
+ひらの,かつゆき
+ひらやま,たけし
+ふかざわ,れいこ
+ふくます,ひろたか
+ふくもり,ゆうこ
+ふじかわ,のぶあき
+ほしの,こういち
+ほその,ひでのり
+まつおか,みつひろ
+まつむら,はな
+みずかみ,りょひち
+みつい,ひろあき
+みのかみ,たかし
+みやもと,とおる
+むらかみ,ゆうこ
+むらかみ,ちおり
+やた,とこ
+やなぎた,たかし
+やまぐち,としお
+やました,いさむ
+やまもと,まさたか
+よしたけ,ゆき
+よしむら,ひろみ
+ひぐち,かよ
+はしもと,まさる
+わたなべ,しげる
+あきば,のりこ
+あきもと,あきひと
+あまや,よしなり
+あんどう,なみこ
+あんざわ,てつろ
+あさはた,たいすけ
+ばば,としゆき
+べっしょ,たつし
+ちかもと,きょひょ
+ちょ,けいこ
+ふじひら,なおこ
+ふじい,みのる
+ふじたに,こうじ
+ふかだ,みちお
+ふるだて,ゆひちろ
+ふるやま,ひでのり
+ごだ,えり
+こいけ,たけし
+はかまだ,あつし
+はせがわ,ゆき
+はしもと,たけひこ
+はった,みつよ
+はっとり,まさる
+はやかわ,てつろ
+はやかわ,のぶひろ
+ひぬま,かずひと
+ひろき,みちひと
+ほりのうち,てるひと
+ほその,さおり
+ふじおか,だいすけ
+ふるた,みわこ
+ふさの,けいこ
+ふしみ,よしかつ
+いたど,まさあき
+いだ,なおき
+いはら,ひろゆき
+いいだ,きよのぶ
+いなやま,よしゆき
+いの,こぞ
+いのうえ,たかお
+いしだ,こういち
+いしもと,けんいち
+いしわ,たかひろ
+いしわたり,ひろき
+いたくら,なるつぐ
+いとう,たくや
+いとう,ともひで
+いわい,ゆうじ
+いざわ,あつこ
+じぶ,ひでき
+かばやま,なるき
+かい,けん
+かきぬま,おさむ
+かきざき,ひとし
+かくだ,まさひろ
+かながわ,けい
+かんべ,たかひろ
+かんだ,ひろかず
+かさだ,じゅにち
+かわい,めぐみ
+ささき,よしつぐ
+かわせ,やすよし
+きもと,みつる
+きたはら,ひろかつ
+きたむら,なほこ
+こばやし,たかひろ
+こぶけ,しゅひち
+こいずみ,ななこ
+こみやま,
+こんのかずひろ,すぐる
+こしかわ,まさき
+この,ゆうこ
+くぼ,じゅん
+くぼかわ,まさき
+くどう,しゅすけ
+くりはら,しん
+くろぎ,たけお
+まちだ,やすひと
+まじま,みちたか
+いしず,ともこ
+まかべ,いくえ
+まるやま,さほ
+ますだ,みきね
+まつがさき,のぶお
+まつい,よしお
+まつい,ひろえ
+まつもと,ゆうこ
+まわたり,かなこ
+みちもと,まりこ
+みき,やすひと
+みつま,たかゆき
+みうら,こういち
+みわ,まさのぶ
+みやもと,なつき
+みやもと,ともか
+みやもと,かついち
+みやた,さえこ
+むらかみ,はるみ
+たはら,やすこ
+みずたに,のりゆき
+もり,ひろよ
+もりぐち,ひであき
+もりかわ,かよ
+もりもと,あきら
+もりた,たけし
+むらかみ,さおり
+あでがわ,けんじ
+ながさか,かんじ
+ながた,としひろ
+ながた,すみこ
+いざわ,たかのり
+なかみね,けいご
+なかむら,まこと
+なかむら,かつひさ
+いもと,やすのぶ
+なかむら,たけのぶ
+なかお,まさし
+なかやま,とおる
+なかざわ,のりこ
+なみき,ともか
+にいみ,ゆき
+にいぜき,まさひこ
+にしで,ひろし
+にわ,かずみ
+のべ,れいこ
+おた,たつひこ
+おがわ,あい
+おぐす,ひかる
+おもと,じゅり
+おしま,かつのぶ
+おた,かおり
+おひゃ,まもる
+いしかわ,ひろのり
+おかだ,たつや
+おく,こういちろ
+おくだ,たけし
+おしくぼ,ゆうじ
+おぜき,うしん
+らい,きよし
+いとう,はるよし
+さいき,あきひろ
+さいとう,かおり
+よしだ,ひであき
+さこ,ひでき
+ささじま,みさ
+ささき,しげあき
+さとう,まさよし
+いわもと,ゆすけ
+さとう,しょじ
+さわだ,たかのり
+せきかわ,けんいち
+せきね,ひみこ
+しばた,よ
+しげはら,たけし
+しまおか,ふみゆき
+しみず,まさき
+しもじょ,けんいち
+しもむら,かつひこ
+しむら,ゆうじ
+そめや,ともや
+すえよし,ひろし
+すずき,たつや
+すずき,みちやす
+たかだ,しげみつ
+たかはし,じゅんや
+たかせ,ゆきこ
+たけだ,つぐひで
+たけい,かずひこ
+たけもと,ちえこ
+たまい,ひでやす
+たむら,いずみ
+たむら,みつお
+いしかわ,なおき
+たなか,しんや
+たなか,あきひこ
+たにぐち,かずひろ
+たにぐち,まさあき
+たにぐち,たかし
+たにぐち,たかひさ
+いしだ,あきひこ
+たにした,けんいち
+てらにし,ひでゆき
+とひゃま,なおき
+とみた,いちろう
+とねがわ,じょ
+とよだ,まなぶ
+とよた,あきら
+つちや,ひさよし
+いしかわ,はじめ
+つむら,としひこ
+つのかわ,たかゆき
+うちだ,さとる
+うさみ,ひとし
+わじま,こういちろ
+わたなべ,まさひろ
+わたなべ,たけのり
+わたなべ,ひろたか
+やぎ,けんじ
+やぎ,けん
+やくわ,あつし
+やまだ,ふみの
+やまだ,つよし
+やまぐち,きょこ
+やまのくち,みわ
+やました,たく
+やました,のりこ
+やまざき,しゅじ
+やまざき,よしこ
+やながわ,なおき
+やすだ,としあき
+やすえ,よしみ
+いそがい,ひとし
+やたがい,たけし
+よしだ,りこ
+たかはし,まき
+おかだ,よひち
+あおき,やよい
+あきば,けいいち
+あべ,きょこ
+あまの,ひろふみ
+ありもと,ひろき
+あんどう,たかゆき
+いかわ,としゆき
+いしい,まさこ
+いしかわ,こういち
+いしずか,なおゆき
+いしばし,ひでゆき
+いしもと,ゆたか
+いで,たつろ
+いちのせ,とよあき
+いなだ,ともゆき
+いぬい,ただのぶ
+いのうえ,えり
+いやま,りょこ
+いわさき,まさき
+いわま,しゅひち
+いわまつ,まさる
+うえだ,あきこ
+うえの,あきこ
+うちだ,まさお
+うど,しゅじ
+うめはら,ゆき
+えぐち,たいへい
+えのき,のりひろ
+えもと,なおこ
+えもり,ゆみ
+なかがわ,しゅんすけ
+おた,りょすけ
+おがた,さとこ
+おがわ,さとし
+おがわ,まなぶ
+おくい,やすよ
+おくむら,まみこ
+おたに,こうじ
+おつとも,みずまさ
+おにざわ,かずこ
+おの,おさなお
+おばな,ひろこ
+おまがり,ひろき
+かきざわ,たかお
+かけひ,けんじ
+かさはら,たかし
+かじ,とみさぶ
+かじた,よしこ
+かじた,みつもと
+かじやま,せいや
+かとう,なおあき
+かなだ,ひでゆき
+かねこ,やすし
+かねこ,のぶたか
+いたの,れいこ
+ながつま,たくじ
+かの,もとこ
+かまえ,てるあき
+かわい,ゆきこ
+かわまた,しげき
+かんの,のりあき
+きうち,せいいちろうう
+きし,まさや
+きたがわ,てつひろ
+きのした,えりこ
+きょがく,まどか
+くぼ,おさむ
+くぼた,たかお
+くぼた,たかお
+くりはら,みのる
+くりやま,よしのぶ
+いしがき,けい
+くろい,のぶかつ
+こうさき,りょた
+こだ,けんすけ
+こばやし,しゅへい
+こばやし,せいじ
+こばやし,なおき
+こばやし,てつお
+いのうえ,ひろき
+さいほ,まいこ
+さかがわ,いずみ
+かわむら,ようこ
+ささおか,とものぶ
+ささき,なりとし
+さとう,まこと
+さとう,とものり
+さなだ,たくや
+さるやま,しんぺい
+しおつ,りえ
+しおのや,けいこ
+しおやま,としふさ
+しぎはら,いつろ
+ししど,こういち
+しのざき,あつし
+しばた,のぶあき
+しみず,てつや
+しょの,ゆすけ
+しらき,こうじ
+すぎおか,のぶあき
+すぎはら,なるひろ
+すずき,ようへい
+すずき,ゆたか
+すみやま,ようこ
+せった,のぼる
+いしわた,のりかず
+せんごく,まなぶ
+たかおか,おさむ
+たかざわ,けんいち
+たかはし,えいすけ
+たかむら,しのぶ
+たきと,のぼる
+たなか,ひろゆき
+たなか,くにお
+いとう,かずひと
+たなべ,みのる
+たにぐち,
+ちゃわんやたけし,しんいち
+てらさか,ひろゆき
+ところ,みつかず
+なかい,きよしげ
+なかお,ひさてる
+ながおか,しげゆき
+なかがわ,せいじ
+なかじま,まさき
+ながせ,だいじゅ
+なかの,みのる
+なかの,ゆみ
+ながの,たかしげ
+いけだ,あやこ
+なかむら,たかゆき
+なかやま,ひでき
+にお,かず
+にしお,あきこ
+にしかい,じゅんじ
+にしざか,けんじ
+にしだ,まなぶ
+にしだ,よしはる
+いいじま,ひろき
+にしはら,じゅにち
+にしむら,たかし
+ねろめ,しんじ
+のじま,みほ
+のなか,もとあき
+はしば,すひち
+はちや,たつや
+はっとり,せいた
+いいだ,じょじ
+はぶ,ゆうこ
+はやかわ,あきこ
+はやし,まりこ
+はやしま,かつとし
+はら,じゅにち
+ひがしだ,のりこ
+せきぐち,としみつ
+ひらい,よしこ
+ひろすえ,だいすけ
+ひろはた,たかし
+ふくしま,まさき
+ふじお,かずゆき
+ふじた,かずや
+ふじまき,ひろし
+ふじわら,さねひろ
+ふるいち,だいすけ
+ほさか,のりかず
+ほしの,たかひろ
+ほり,こ
+ほりもと,ひろゆき
+ほんま,まこと
+まえかわ,てつろ
+まえだ,なおこ
+まえだ,ひでし
+まえだ,たくみ
+まさい,まさる
+まつい,きょひち
+まつざわ,かおり
+まつだ,ひろゆき
+まつとも,たくや
+まつなが,みつお
+まつもと,てんぺい
+みずぐち,ゆういちろう
+みやもと,ゆきひこ
+みやもと,とおる
+むらかみ,ゆすけ
+むらかみ,たけし
+むらなか,こうじ
+もちずき,ゆきこ
+もとくら,ゆうじ
+もり,ゆきのぶ
+もりや,たけはる
+やすい,たかひと
+やすだ,みきお
+やすだ,たつや
+やた,くみ
+やたき,ひでのぶ
+やち,ちから
+やの,たかゆき
+やまいずみ,まさなお
+やまおか,けんじ
+やまぐち,よすけ
+やまぐち,ともたか
+やまざき,まゆみ
+やまざき,やすじ
+やました,かずひで
+やまもと,まさひろ
+よこぜき,さとし
+よしだ,たくや
+よしの,ともこ
+よしみ,くにかず
+よだ,ほまれ
+よだ,たいげん
+ら,みきこ
+ろじ,きよひと
+わだ,かずひろ
+わたなべ,のぶお
+わたなべ,ふみひこ
+わたなべ,ひろし
+わたべ,よしあき
+かの,まさき
+にった,やすひろ
+あおき,よしのり
+あおき,あきお
+あおやま,なな
+あおやま,まいこ
+あきば,けん
+あさだ,たいち
+あだち,なおと
+あだち,やすお
+あとべ,たかし
+あべ,たかひろ
+あべ,ひろあき
+あべ,ともき
+あまの,ふみあき
+あまの,まみ
+あらかわ,ゆきお
+ありた,ひでき
+ありとも,かずお
+あんざい,たかし
+いとう,たかとし
+あんどう,おさむ
+いがらし,しゅう
+いけだ,はなこ
+たかはし,まさあき
+いしばし,ぬい
+いしむら,けいいち
+いしもと,まりこ
+いちい,ともみ
+いちかわ,ゆうこ
+いちかわ,はると
+いちのせ,かつひこ
+いとう,のぶお
+いとう,まゆみ
+いとう,まき
+いなおか,じゅにちろ
+いなば,りょうすけ
+いぬずか,ようへい
+いのうえ,ひろし
+いのかわ,ひであき
+いまい,よじ
+いましゅく,りえこ
+いわい,みおこ
+いわしま,いずみ
+うえぞの,あつお
+うえだ,ただし
+うえはら,ゆみこ
+うえはら,まりこ
+かきた,けいこ
+うさみ,ひろと
+うちだ,まきこ
+うちだ,きよし
+うちぼり,あきひろ
+うめがい,まさる
+うめつ,りさ
+うめの,まさふみ
+うらかわ,ひろたけ
+うらべ,まゆみ
+えぐち,ひでおみ
+えずみ,しゅんすけ
+えのもと,たけし
+いまにし,りょ
+えのもと,ともひこ
+えんど,しゅいち
+おいかわ,めぐみ
+おいかわ,たかひろ
+おひ,たかゆき
+おひし,もとこ
+おた,けん
+おつか,ひじり
+おにし,ひろき
+おにし,あやこ
+おかだ,みさと
+おかだ,かずえ
+おかの,あきひこ
+おかべ,たけし
+おかべ,ゆき
+おかむら,しげひさ
+おかもと,ただし
+おかもと,いくよ
+おがわ,たろう
+おがわ,ひろゆき
+おくだ,ふみこ
+おくだ,よしき
+おざき,まさき
+おの,ゆきふみ
+おやま,よじ
+かいずか,まさはる
+かがみ,ふみかず
+かきた,しんすけ
+かく,かつあき
+かさい,みちえ
+かじい,やすお
+かじた,まさる
+かたえ,ゆき
+かたやま,よしひろ
+かつ,ひであき
+かとう,りょう
+かとう,みき
+かみじょ,みゆき
+かねこ,たえこ
+かまだ,とおる
+かみじょ,けん
+かみひさ,てつや
+かみもと,まみこ
+かみや,なおこ
+かみやま,たかし
+かわかみ,としふみ
+かわさき,えりか
+かわせ,かおる
+かわはた,こうじ
+かわはら,ゆきのり
+かわむら,あかね
+かわもと,なおや
+かわもと,ゆうじん
+かわもと,みつこ
+かんだ,とおる
+きくち,たく
+きたがわ,だいすけ
+きたなが,あつこ
+きたの,くにひと
+きたむら,かずひろ
+きたもと,よしてる
+きのえ,ゆうじ
+きぶせ,かおり
+きむら,かずお
+きむら,まき
+きもと,ますみ
+きもと,ひとし
+ぎょうぶ,ひろかず
+くに,たけちか
+くにまさ,じゅんこ
+くまさか,かずひろ
+くらしげ,けいすけ
+くりた,ひろし
+くりはら,みちお
+こいけ,たけし
+こいけだ,えり
+こいずみ,まさぶみ
+こいぬま,さかえ
+こつか,しんご
+こが,たつや
+こしもと,つとむ
+こだま,ひろし
+こだま,たかえ
+ごと,じゅにち
+こにし,ともき
+こばやし,ひでゆき
+こばやし,ゆり
+こばやし,ひろこ
+こばやし,みほ
+こまき,みえこ
+こまば,たいせつ
+こみや,あきお
+こやま,こひゃ
+こやま,たけし
+さいき,めぐみ
+さいご,たつろ
+さいとう,ひろし
+さいとう,みちこ
+さいとう,かずあき
+いがらし,しげき
+さえぐさ,ひろみつ
+さかい,たいちろうう
+さかがみ,まさかず
+さかね,ありよし
+さかもと,ともこ
+さかもと,よしじ
+さくらい,まさき
+さくらだ,やすたか
+さこん,ひでひと
+ささき,たつや
+ささはら,かずのり
+さとう,かつひこ
+さとう,まさのり
+さとう,やすのり
+さとう,ともひさ
+さの,みわこ
+さわ,けんじ
+しぶや,てつお
+しぶや,いさむ
+しまだ,しょうご
+しまだ,なみ
+しまだ,あきら
+しみず,いちろう
+しみず,だいき
+しみず,とものり
+しみず,まこと
+しみず,ひろみ
+いのうえ,りょうじ
+しも,まさひろ
+しょだ,ななえ
+じんの,わかこ
+じんの,げん
+しんまち,じゅにち
+すぎい,けんご
+すぎおか,なおと
+すぎもと,ひであき
+すずき,けんご
+すずき,ただし
+すずき,ひでお
+すずき,まなえ
+すずき,ひでたけ
+せお,やよい
+せき,ゆきお
+いしはま,だいすけ
+そのだ,ひでき
+たい,あきの
+たかいわ,なおゆき
+たかぎ,けいすけ
+たかはし,さとし
+たかはし,しげのり
+たかはし,まこと
+たかはし,りゅうじ
+たかはし,たけし
+たかむく,まさなお
+たぐち,たかひこ
+たけうち,みちのり
+たけかわ,かずひら
+たけわ,だいすけ
+ただまつ,かずひろ
+たたら,ひろしげ
+たなか,ゆういちろう
+たにもと,のりこ
+たねむら,そう
+たはら,けんと
+たむら,こうたろう
+だん,よしあき
+いいだ,きよし
+ちば,ゆうじ
+ちょとく,まきこ
+つかはら,のぶゆき
+つつみ,まきこ
+つもり,たけし
+てらした,あきひこ
+どい,けんし
+どい,ひろこ
+どい,よしこ
+としま,まさし
+ないとう,しんじ
+なかい,ひでき
+なかい,こうじ
+なかお,たかし
+なかがわ,ゆうじ
+ながさき,あきふみ
+なかじま,さとし
+なかじま,ひろし
+なかしま,たかゆき
+なかだ,むねのり
+なかはら,えいすけ
+なかむら,ひでゆき
+なかむら,ひろゆき
+なかむら,まこと
+なかむら,まりこ
+なかむら,ゆういちろう
+なかむら,ゆたか
+なかむら,よしえ
+ほしの,よういち
+なかもと,こへい
+いけだ,こうじ
+なかもり,まさひろ
+ながよし,しゅへい
+なではら,きほこ
+ななもり,ちあき
+ならさか,かおり
+なんば,たかふみ
+にし,のぞむ
+にしかわ,さなえ
+にしだ,きよこ
+にしむら,みなこ
+のぐち,じゅんぞう
+のだ,しゅうたろう
+のなみ,ゆり
+ののいちや,そういちろう
+のむら,みつひろ
+のもと,かつひこ
+はがや,ひでや
+はぎわら,としはる
+はく,あきこ
+はし,まさたか
+はしずめ,とおる
+はしば,たかまさ
+はせべ,ひろし
+はた,つとむ
+はたえ,ひろし
+はたの,ゆき
+はちの,つねあき
+はっとり,ひであき
+はやし,けんし
+はやしだ,ゆき
+はやふね,さとし
+はら,けんいち
+はらだ,すぐる
+はらだ,ますお
+いのぐち,ともひこ
+はらだ,ゆういち
+ひがしやま,なおゆき
+ひぐち,やすゆき
+ひご,ともひと
+ひだの,たかし
+ひまき,ゆうこ
+くらしげ,まこと
+いしはら,たかまさ
+ひらた,まさみち
+ひろさわ,みきと
+ひろた,あきよし
+ふかさわ,すすむ
+ふかざわ,ゆう
+ふかざわ,れいこ
+ふくむろ,あきら
+ふじい,よしあき
+いとう,たつじ
+ふじい,くみこ
+ふじなが,まさこ
+ふじなが,かつふみ
+ふじわら,たかゆき
+ふじわら,ようこ
+ふじわら,ひでき
+ふたつぎ,ひろし
+ふたつもり,ともや
+ふるはた,とものり
+ふるや,かずゆき
+へんみ,れいこ
+ほし,しげお
+ほしの,ゆきこ
+ほり,けいこ
+ほりえ,みきこ
+ほりおか,りえ
+ほりかわ,たかし
+まえふね,まさとも
+まきの,てつや
+ますだ,けいこ
+まつうら,みおこ
+まつした,けいじ
+まつもと,ふみこ
+いぐち,のりひろ
+まつやま,りえ
+まなべ,なおゆき
+まるやま,つよし
+みうら,しずか
+みき,のぶあき
+みつはし,まりこ
+みつべ,まさる
+みとべ,まいこ
+ちょとく,かつあき
+いけふじ,きみひろ
+みやざき,しんじ
+みやざき,あつこ
+みやした,ともひろ
+みやた,なみこ
+むこうやま,やすのり
+むらい,おくと
+むらかみ,たけし
+むらかみ,あきし
+むらた,ひでたか
+むらまつ,たかひろ
+もとき,まさひろ
+もとよし,ちの
+もみやま,なおゆき
+もり,みちる
+もり,たかゆき
+もりうえ,えいいち
+いのうえ,まさと
+もりうち,ひさや
+もりた,たまき
+やぎさわ,のぶよし
+やしま,まさはる
+やすだ,あきら
+やの,ようこ
+やの,たかし
+やまぐち,みちひで
+やまさき,みほ
+やまざき,まみ
+やました,みつあき
+やました,ともゆき
+やまだ,まさゆき
+やまな,じゅんた
+やまみち,せいいち
+いなか,えいじ
+やまもと,たかし
+やまもと,たけや
+やまもと,よしたか
+やまもと,あきのり
+ゆば,しんたろう
+よこたに,ゆうき
+よこやま,かずみ
+よしだ,こうじ
+よしだ,ふみひこ
+いわさき,みき
+よしだ,ただたか
+よだ,じゅん
+ぅお,ふみひこ
+わかまつ,のぶひこ
+わさ,けいじ
+わだ,あつし
+わたなべ,たつお
+いわくら,かな
+わたなべ,けいすけ
+わたなべ,げんた
+わたなべ,こうじ
+わたなべ,たくや
+わたなべ,ひでお
+わたなべ,むねたか
+わたなべ,ゆたか
+わたなべ,まこと
+おひ,よしお
+いいだ,かずひろ
+むかい,としかず
+ふみはら,としかず
+かわごえ,りょう
+くろかわ,えみ
+こうだ,あきひこ
+ふじた,みちえ
+こばやし,りょこ
+はまむら,かおる
+いわせ,けいぞ
+たけだ,えいいち
+おがわ,ひでゆき
+みずた,かずみね
+いいだ,しょたろう
+あいはら,ゆき
+あおう,しげる
+あおき,ひろゆき
+あおば,きよかず
+あきもと,としえ
+あさい,のぶひろ
+いしやま,ゆきこ
+あさお,たかし
+あさだ,かおり
+あさだ,まさはる
+あさの,ひろみ
+あさの,さとる
+あざみ,ゆうこ
+あすま,たけし
+あそう,かよ
+あだち,やすひろ
+あとみ,まさる
+あなみ,ひろあき
+あべ,さとる
+あべ,あつし
+あべ,やすこ
+あまの,としき
+あやべ,しんこ
+たけきた,ひろよし
+あらい,すすむ
+いつの,ゆうこ
+ありかわ,しゅんすけ
+ありた,えみこ
+あんじゅ,としき
+あんどう,けんたろう
+あんどう,ふじお
+いちのせ,ともひこ
+いいぬま,としゆき
+いうえ,しゅへい
+いがらし,ゆか
+いけうち,きょういち
+いけがみ,のりひろ
+いけだ,やすひさ
+いりた,まさおみ
+いけだ,まこと
+いけだ,まこと
+いけだ,まさとし
+いしい,たろう
+いしい,まなぶ
+いしい,まき
+いしおか,みきお
+いまい,よしのぶ
+いしかわ,こういち
+いしかわ,つよし
+いしぐろ,まさき
+いしだ,りゅた
+いせき,こずえ
+いちき,ひろゆき
+いちのせ,よしあき
+いちのみや,あきこ
+いとう,おりか
+いとう,みのる
+いなだ,たけし
+いなば,やすあき
+いはら,しゅひち
+いのうえ,しょいち
+いのうえ,じろ
+いのうえ,じゅにち
+いまいずみ,ともこ
+いまじょ,なおみ
+いまだ,しんいち
+いまず,たけし
+いまむら,りょへい
+いりたに,とものぶ
+いわき,ゆきひろ
+いわさき,たつゆき
+いわさき,たけし
+いわすぎ,まさと
+いわた,ともひろ
+いわはし,ふみたけ
+いわぶち,しんいち
+いわほり,のりこ
+うえだ,よしたか
+うえまつ,せいいちろう
+うすい,きよたか
+うすい,おさむ
+うちだ,のりこ
+うつみ,ともゆき
+うめだ,あつし
+うらの,さとこ
+えがわ,みお
+えざき,つよし
+えと,みつとし
+えのもと,たくじ
+えのもと,たつや
+えま,まり
+えんど,まな
+えんど,みか
+おいたに,しょしゅ
+お,いちろう
+おひ,なほ
+おへ,あきひこ
+おき,のぶえ
+おくぼ,たかし
+おさわ,ともいち
+おさわ,まさひろ
+いわきり,かおり
+おすみ,まきこ
+おた,ひでのぶ
+おた,やすひろ
+おつか,たけし
+おつか,あつこ
+おつか,けんじ
+おつき,はるひら
+おなか,あきら
+おにし,あきこ
+おぼ,ひさのり
+おま,よしまさ
+おむら,ゆき
+おむら,よしひろ
+いしい,かおる
+おもり,あきひろ
+おもり,あや
+おもり,ふみのり
+おわだ,いさお
+おかい,ひさし
+おかざき,わたる
+おかざき,もとひこ
+いけだ,みつひろ
+おかの,たかし
+おかべ,あきのり
+おかもと,こういち
+おがわ,ともひろ
+おがわ,じゅん
+おがわ,だいすけ
+おがわ,ようこ
+おがわら,まさこ
+おくはら,きよし
+おくやま,しのぶ
+おぐら,くみ
+きたむら,なおこ
+おざわ,よしひろ
+おち,ひろかず
+おの,のぶひさ
+おの,たかふみ
+おのでら,れい
+おばた,ともみち
+おやま,かずひと
+おんた,あきお
+いわた,えいいち
+かいぶき,うらら
+かきもと,えつこ
+かざぐち,ゆうこ
+かさざき,あきら
+かじ,りょひち
+かじむら,きよの
+かしわい,くにはる
+かしわばら,さとし
+かたくら,まこ
+かたやま,やすはる
+かつの,まりこ
+かど,しげみつ
+かとう,もとひろ
+いその,たかし
+かとう,ちか
+かとう,けんし
+かとう,かつよし
+かとり,ちずる
+かなさか,めぐみ
+かなざわ,たけし
+かなやま,ゆみ
+かねこ,まちこ
+かねこ,まさのり
+かねだ,よしひろ
+がみ,さおり
+かめおか,はるな
+からさわ,のりこ
+からしま,なおや
+かるいし,よしゆき
+かわい,まいこ
+かわい,たかのり
+かわかみ,ちえこ
+かわかみ,のぶゆき
+かわず,みどり
+かわなか,たかし
+かわの,しほ
+かわばた,あきよし
+かわべ,けんじ
+かわみ,もとひろ
+かんばし,みちこ
+かんばら,かなこ
+きしい,ゆきお
+きしだ,ともこ
+きたがわ,もとき
+きたしろ,ひろし
+きたはら,まなみ
+きたむら,あきてる
+きど,きよふみ
+きのした,いずみ
+えだ,なおゆき
+きむら,たかおみ
+きむら,まさみ
+きむら,けんた
+きよなが,あつし
+きよみや,えいすけ
+きりや,たかし
+いとう,なおや
+くしだ,しほ
+くじらおか,しんじ
+くにもと,みちこ
+くぬぎ,あつし
+くぼ,やすえ
+くぼさわ,あきひろ
+くぼた,まさき
+くめの,かずよし
+いしぐろ,よしかず
+くら,よひち
+くらさわ,ちえこ
+くらた,わかこ
+くろかわ,えい
+くろす,なつこ
+くろやなぎ,しげる
+いなとみ,あつし
+こいけ,のりみつ
+こいけ,たかお
+こいしかわ,まさき
+こいずみ,ともや
+こいずみ,きょこ
+こいで,だいき
+こずま,たけとし
+この,とおる
+こひゃま,あつし
+こり,まさき
+かつかわ,たかひろ
+こがの,のぶお
+こしい,たろう
+こしまる,ともあき
+こすぎ,ふみはる
+こせき,りょこ
+こたに,たかひさ
+こだま,まみこ
+こにし,さんしろ
+こにし,だいすけ
+こば,まゆこ
+こばたけ,わたる
+こばやし,ひでゆき
+こばやし,てるみ
+こばやし,のりまさ
+こばやし,まどか
+こばやし,まいこ
+なかむら,あつこ
+こばやし,だいき
+こぼり,たかひで
+こまつ,せいいちろう
+こやま,あきふみ
+こんど,ともひろ
+こんの,だいとく
+さいとう,まさし
+さいとう,まなぶ
+さいとう,やいち
+さいとう,せんじ
+いとう,たみこ
+さかい,ただし
+さかい,ともき
+さかい,けいいち
+さかきばら,あきこ
+さかぐち,やすゆき
+いわさき,よじ
+さかもと,まさや
+さかもと,よしお
+さかもと,よへい
+ささき,ひろこ
+ささき,くにひこ
+ささき,つよし
+ささき,つぎお
+いまはし,きょほ
+さつみ,たかこ
+さとう,ともえ
+さとう,あつこ
+さとう,ひろゆき
+さとう,ひろゆき
+さとう,ふきこ
+さとう,ちひろ
+さの,きよし
+いしぐろ,みねお
+さわやなぎ,としき
+しおた,いちろう
+しき,れいこ
+しげおか,のりお
+しげた,よじ
+ししど,じゅんこ
+しなだ,かつとし
+いで,こさく
+しばた,じゅんこ
+しばた,れな
+しばた,ひろみ
+しばた,たかゆき
+しまず,しんいちろう
+しまだ,ゆうじ
+しまず,ともくに
+しみず,まりこ
+しみず,こき
+しもはし,ゆみこ
+しもやま,しの
+じょじょ,ひでたか
+いとう,みつひろ
+すがた,けいすけ
+すがや,ゆうこ
+すぎた,れい
+すぎなか,まもる
+すぎもと,りか
+すぎやま,よしこ
+すぎやま,よしふみ
+すぎやま,ようこ
+すげの,ありひと
+すずき,りょ
+すずき,しゅいち
+すずき,もなみ
+すずき,よしさだ
+すずき,つねお
+いわさき,ひでただ
+すずき,くにえ
+すずき,ひろのぶ
+いちかわ,かおり
+せき,たかし
+せきぐち,きょこ
+せきや,のぶえ
+せこ,あきひろ
+せら,たかひろ
+そが,えいじ
+そが,ふみお
+いとう,かずな
+かみや,ゆうじ
+そんく,とおる
+たかき,ご
+たかぎ,こうじ
+たかさき,まさひろ
+いけだ,ひであき
+たかしま,こうじ
+たかの,ゆうこ
+たかの,ともふみ
+たかの,ようこ
+たかの,こうじ
+たかの,りか
+たかはし,まさよし
+たかはし,けいこ
+たかはし,けんじ
+たかはし,けんたろう
+たかはし,ひろゆき
+たかはし,ゆか
+たかまつ,えいこ
+たがみ,あきら
+たかみざわ,かすみ
+たからだ,としかず
+たきかわ,ゆみこ
+たきざわ,よしはる
+いいの,やすお
+たけい,ひとし
+たけうち,やすひと
+たけうち,けんいち
+たけきた,ひでき
+たけなか,まきこ
+たけのうち,なおひろ
+たけはな,よしひさ
+いとう,よしお
+たけもと,こへい
+たけもと,こういちろ
+たご,がく
+たさか,かな
+たじま,たかのり
+たしろ,ひろし
+たしろ,ひとし
+たたら,りゅき
+たちばな,しんいち
+いちむら,えみこ
+たていし,いわお
+たての,ゆみ
+たての,よしひろ
+たなか,しんいちろう
+たなか,たかきよ
+たなか,まき
+たなか,ふみお
+たなか,りょじ
+たなか,ふみ
+たなか,とくこ
+がみ,まさる
+たなみ,かずひこ
+たに,すすむ
+たにぐち,よしのぶ
+なかおか,ひろかず
+たにざわ,よしこ
+たにだ,ご
+たにもと,さなえ
+たのおか,あやこ
+たばた,さとし
+たはら,ゆき
+たむら,ひさし
+ちかざわ,だいぞ
+ちの,けんいちろ
+ちはら,まさひろ
+ちゅじょ,なおこ
+ちゅま,とおる
+つかだ,きょこ
+つかもと,やすし
+つかもと,ようこ
+つだ,まこと
+つちだ,つねお
+つちや,まみ
+つちや,ゆみこ
+つねき,ゆき
+でみせ,よしのり
+てらおか,のぶゆき
+いずみ,あきみ
+と,みえこ
+とじ,まさき
+としおか,みかこ
+とだ,ゆきひろ
+とびない,のりひと
+ともい,たかのぶ
+とやま,ひさの
+とよしま,さやか
+とよだ,けいいち
+とよはま,ひでたけ
+ながえ,のぶたか
+ながえ,ゆたか
+なかお,とものり
+なかお,まさお
+なかじま,せれな
+なかじま,あき
+なかじま,くみこ
+ながしま,たかし
+ながせ,かなこ
+なかぞの,あつし
+なかた,せいじ
+ながた,まさこ
+ながと,みすず
+なかにし,はなえ
+なかの,あきこ
+ながの,みねき
+ながの,あいこ
+ながの,こういち
+ながはら,たくや
+なかひがし,としお
+なかむら,けんじ
+いぬずか,しほ
+なかむら,ともひで
+なかむら,けんたろう
+なかむら,ともこ
+なかむら,よしたか
+なかや,つよし
+なかや,まり
+ならさき,こういちろ
+なりた,じゅんこ
+なりた,あさこ
+にいだ,よしひこ
+にしかわ,まりこ
+にしむら,げん
+にしむら,よしこ
+にしむら,ひろき
+にしやま,たかし
+にしやま,てつや
+にむら,よしゆき
+にわ,めぐみ
+ぬまた,きふみ
+ぬまた,ともかず
+ぬまだ,ふみき
+ねぎし,ひとし
+のざき,みほ
+のがみ,まさかつ
+のだ,ゆたか
+のはら,けい
+のぶはら,のぶなり
+はが,りゅた
+はぎわら,よしこ
+はぎわら,ともあき
+はしずめ,いわお
+はしもと,ちぎり
+はしもと,たいいち
+はしもと,かつみ
+はせがわ,とおる
+はせがわ,のりまさ
+はせがわ,ひろゆき
+はせべ,ゆきえ
+はた,なおこ
+はたけやま,たかひろ
+はたなか,つよし
+はたの,いさお
+はっとり,たかなお
+はなざき,ゆか
+はなぶさ,たつや
+はなむら,つよし
+ばば,ゆうこ
+はまさき,まさと
+はまだ,ただかず
+はやし,かつら
+はやし,たかし
+はやし,たかゆき
+はやし,そよか
+はら,あきら
+はらしま,まこと
+はらだ,まゆみ
+はらだ,かずたか
+はるたに,ようへい
+ひがしの,まさひろ
+ひがしやま,はずき
+ひぐち,いくぞ
+いしはら,あつよ
+ひじかた,あきよし
+ひび,たつや
+ひょへ,おさむ
+ひらい,ご
+ひらかわ,あきこ
+ひらく,よしゆき
+ひらさわ,つぐき
+いのはら,まなぶ
+ひらた,たけひろ
+ひらぬま,まこと
+ひらの,りょ
+ひらやま,まさひで
+ひろうち,おさむ
+ひろおか,なおや
+ひろかわ,りえ
+ふくい,たかひろ
+ふくだ,まき
+ふくだ,ゆ
+こり,しげみつ
+ふじい,たけよし
+ふじい,ひろあき
+いで,たつと
+ふじい,ともひろ
+ふじお,ひでのり
+ふじおか,じゅんや
+ふじくら,しげき
+ふじさわ,けんじ
+ふじさわ,たくひろ
+ふじしげ,くにつぐ
+ふじた,かずお
+いのうえ,たろう
+ふじと,しげる
+ふじなが,れい
+ふじわら,ゆかこ
+ふじわら,けんたろう
+ふせ,まさき
+ふるかわ,たかひろ
+ふるかわ,すすむ
+いしい,きょこ
+ふるさわ,じゅにち
+ふるた,だいぞ
+ふるた,ちえこ
+ふるた,ひろかず
+ふわ,たかゆき
+ほし,けんいち
+ほそだ,きくこ
+いしい,こうじ
+ほりかわ,けんたろう
+ほりこし,けいいち
+ほんだ,けんいち
+まえかわ,のりお
+まえだ,ゆか
+まえだ,ながまさ
+まえだ,ともはる
+まえの,としき
+まき,かおる
+まきぞの,まさみつ
+まきた,ゆういち
+まきの,だいすけ
+まさき,ひろき
+ますざき,こういち
+ますだ,よしあき
+ますぶち,なおこ
+まちだ,みお
+まつうら,まゆみ
+まつかわ,けいすけ
+まつざき,ひろみち
+まつざき,なおこ
+まつした,ひろあき
+まつしま,のぼる
+まつだ,るみ
+まつだ,みなこ
+まつだ,たろう
+まつなが,たかし
+まつなみ,さとし
+まつばら,なみ
+まつばら,さやか
+まつみや,かつゆき
+まつもと,むねき
+まつもと,ゆずる
+まつもと,よしこ
+まつもと,ゆすけ
+まつもと,かずひろ
+まつやま,みゆき
+まなべ,えりこ
+まるやま,もとよ
+まるやま,だいすけ
+みうら,まき
+みくに,こずえ
+みずかみ,ひでお
+みつはし,しげゆき
+みなと,たかし
+みなみ,あゆみ
+みふね,たかし
+みやがわ,こうじ
+みやさか,のりふみ
+みやざわ,さとみ
+むらお,けんいち
+むらかみ,まこと
+むらた,かずひで
+むらまつ,たけふみ
+むらやま,ゆすけ
+むらやま,ひろこ
+めぐろ,ちずこ
+もちずき,りょすけ
+もとよし,まさき
+ももず,ひろき
+もり,やすみつ
+もり,ふみなり
+もり,ひでき
+もり,のりよし
+もりた,ひろゆき
+もりた,たかゆき
+もりの,よしひろ
+もりもと,まさし
+もりもと,しのぶ
+もりやま,じゅん
+もりわき,まさこ
+やぎ,まさみ
+やぎ,けんすけ
+やくしじ,のぶゆき
+やこ,としお
+やざわ,かずあき
+やすま,ともひこ
+やとご,こういち
+じょがん,まこと
+やなぶ,ゆきこ
+やの,まさき
+やぶた,やすたか
+やまうち,みほ
+やまうち,たまよ
+やまぐち,けんじ
+やまぐち,けんいちろ
+やまぐち,みちお
+じだい,たかし
+やまぐち,ゆきこ
+やまぐち,かずゆき
+やまぐち,ふみあき
+やまさき,けいすけ
+やまさき,ゆたか
+やまざき,おさむ
+やました,つよし
+やました,けんいち
+やました,けんじろ
+やまだ,あい
+やまだ,はなえ
+やまだ,さとし
+やまだ,しゅこ
+やまだ,ひろし
+やまとや,ゆきこ
+やまなか,みつはる
+やまなし,りょ
+やまにし,やすまさ
+やまもと,なおこ
+やまもと,ひろあき
+やまもと,えいた
+やまもと,せいこ
+やまもと,こうじ
+やまもと,やすひろ
+やまもと,じゅん
+よこた,あつや
+よこた,かずひろ
+よこた,まさと
+よこて,たくや
+よしおか,たかし
+よしおか,やすお
+よしおか,たつじ
+よしかわ,やすひさ
+よしかわ,きょこ
+よしだ,まりこ
+よしだ,ひふみ
+よしだ,じゅん
+よしの,なおき
+よしみ,ちか
+よしむら,かずや
+よだ,りか
+よねざわ,まなみ
+りゅと,ぐおふい
+ぃん,よすけ
+わかつき,たつや
+わきざか,ともふみ
+わきた,しげゆき
+わきた,かよ
+わきもと,せいいちろう
+わだ,たかし
+わだ,あつし
+わたせ,ひでと
+わたなべ,たくや
+わたなべ,りょひち
+わたなべ,まさゆき
+わたなべ,じゅんこ
+わたなべ,あかね
+きのした,みのる
+あおき,まさゆき
+やなぎはら,くにひこ
+あまこ,のりひさ
+こんどう,あらた
+しらかわ,けい
+こやま,ご
+こんど,しんすけ
+もり,しんや
+おの,ゆすけ
+まの,とおる
+ながの,しょこ
+さとう,たかし
+みやざき,あきこ
+おがわ,だい
+きむら,やすはる
+よこお,そう
+うちむら,ひろゆき
+ごしま,なおこ
+さえき,よしたか
+なかじま,ゆうこ
+いわみ,よしひこ
+えげ,きよし
+うめぞの,よしお
+さくらい,しおり
+わたなべ,ようこ
+ながい,たかゆき
+おそがみ,まこと
+くろかわ,としお
+たかすか,ひでよし
+おばた,あき
+しらい,すみこ
+まつうら,えり
+なかざわ,あや
+まつい,あきら
+こせき,ひでとし
+つかだ,けんじ
+てらくら,ちなつ
+にへい,りゅいち
+かわむら,みき
+ひご,ひろみ
+こばやし,みほ
+ふるた,れい
+もちずき,かおり
+おかだ,まみ
+さいとう,まや
+かわはら,しょご
+すずかけ,あつひこ
+いとう,まさよし
+いしずか,よしかず
+たべい,まさひこ
+ごと,ゆたか
+しもさか,まこと
+かわい,よしひさ
+わたなべ,ゆひち
+すずき,こうたろう
+まつやま,のりゆき
+はら,よじ
+つばき,きよし
+やすい,たかゆき
+こばやし,まさゆき
+おかべ,きよのり
+おがわ,たかゆき
+やまぐち,ひろゆき
+ふじかわ,たつし
+いながき,ゆきこ
+ちぞ,ゆき
+はなだ,たくや
+おこ,あつこ
+おくら,ひさと
+まつお,やすまさ
+えんど,あきひろ
+ほりべ,とおる
+かつ,かずま
+おたか,よしかず
+たかはし,いつふみ
+むらやま,ひろし
+よしおか,りょへい
+かい,せいいちろう
+たかはし,たかゆき
+ぐんげ,けんたろう
+やの,さゆり
+はやし,しょこ
+みうら,さとし
+あおやぎ,けんじ
+たかだ,ひでとし
+ぬまた,としひこ
+かたおか,じゅんや
+しみず,もとあき
+しみず,すみひろ
+まつむら,つとむ
+おりと,まりこ
+こたに,もとじ
+おはし,てつひろ
+かんせき,まさのぶ
+きたむら,としや
+さくた,ゆうこ
+よしだ,さゆり
+こはら,よしえ
+ぃ,わかこ
+いはら,たまよ
+つじうら,たい
+なかむら,あやこ
+あおき,まなみ
+あおやま,ひろたか
+あかいけ,とくひこ
+あかつ,けんじ
+あきはら,かおる
+あきもと,さちこ
+あさくら,ゆうこ
+あさの,たろう
+あびる,さとし
+あべ,ふみひこ
+あべ,りょ
+あべ,けいこ
+あべかわ,こうたろう
+あらい,しんいちろう
+あらい,たかし
+あらかわ,とおる
+あらき,はるな
+あらき,けいこ
+ありえ,かずひろ
+あんどう,つよし
+いいだ,あきこ
+いけだ,だいすけ
+いけだ,ひろみ
+いけだ,じゅん
+いしい,しゅんすけ
+いしい,まり
+いしがき,たかし
+いしかわ,りょ
+いしかわ,あいこ
+いしざわ,のりたか
+いしずみ,ゆき
+いしぜき,たくや
+いしだ,ともこ
+いしだ,のりひと
+いしだ,まさとし
+いしづ,ひろき
+いしはら,たかあき
+いしまる,ひろし
+いたに,まさふみ
+いたはら,けんたろう
+いちま,じゅにち
+いとう,しゅんすけ
+いとう,たけし
+いとう,なおき
+いとう,のぶやす
+いとう,はやと
+いとう,みやこ
+いとう,ゆき
+いとう,ゆみこ
+いながき,てるき
+いなみ,しゅへい
+いの,だいすけ
+いのうえ,ゆうじ
+いのうえ,れいこ
+いまお,よしたか
+いまだ,たかし
+いわかみ,ふみなお
+いわくら,しゅひち
+いわざき,たかし
+いわた,ひさつぐ
+いわもと,なおと
+うえすぎ,ゆうこ
+うえだ,ゆういちろう
+うえたか,ひろかず
+うえち,あきこ
+うえの,しずこ
+ひりゅ,おき
+うえむら,つよし
+うちだ,ひろゆき
+うちだ,しげき
+うちはし,れお
+うちやま,みき
+うめはら,まさき
+うりたに,たかし
+えべ,じゅんぺい
+おいかわ,けんいち
+おおい,ゆすけ
+おおい,ゆたか
+おおいし,ひろたか
+おうち,こうじ
+おえ,ひろき
+おおおか,じゅんこ
+おおかわ,まさや
+おおくぼ,しょじ
+おおくま,まり
+おおた,けんじ
+おたに,こうじ
+おおつ,まさひろ
+おおつ,あや
+おおつか,きいち
+おおつか,ご
+おおつか,れみ
+おおつか,なつこ
+おおつぼ,ますみ
+おおはた,ゆひゃ
+おおまさ,けんたろう
+おおや,ともゆき
+おやま,かよこ
+おか,まさひこ
+おかじま,けんしん
+おかだ,だいすけ
+おかだ,まさひろ
+おかだ,まさや
+おかだ,りょ
+おかだ,のりひろ
+おかはた,のぶひろ
+おかべ,しずか
+おかもと,ちえ
+おかもと,てつや
+おかもと,じゅん
+おがわ,てるひろ
+おがわ,あきら
+おくだ,けい
+おくと,まさみつ
+おくなか,あきこ
+おぐら,たつお
+おざき,けいじ
+おさだ,たいすけ
+おざわ,たろう
+おじま,みつのぶ
+おじま,たつや
+おばら,ちひろ
+かいとう,のりよし
+かきくら,さとし
+かきもと,るみ
+かく,たつや
+かげやま,やすまさ
+かじなが,ひさし
+かしま,よしのり
+かたおか,ひでき
+かたぎり,けいこ
+かたやま,だいすけ
+かど,こへい
+かとう,さち
+かとう,せいし
+かとう,たろう
+かとう,のぶあき
+かとう,ひろし
+かとう,ひろみ
+かとう,まこと
+かとう,まさし
+かとう,ゆりこ
+かとう,たかし
+かなもと,まさゆき
+かなや,てつや
+かねこ,こうじ
+かねもり,ただひさ
+かわ,ゆたか
+かわい,よしひこ
+かわい,たかひろ
+かわかみ,なつこ
+かわぐち,まひと
+かわぐち,ゆみこ
+かわぐち,りつこ
+かわぐち,りょ
+かわぐち,ふみ
+かわごいし,れいこ
+かわしま,すみれ
+かわな,ひろし
+かわのべ,てつや
+かんの,さとし
+きくち,わたる
+きし,こういちろ
+きしもと,あきこ
+きしろ,しんや
+きたお,よしかず
+きたはま,ゆ
+きたむら,よしかず
+きどころ,こうじ
+きむら,はるこ
+きむら,まさおみ
+きむら,ちかこ
+きりあけ,しゅんすけ
+くきもと,としひこ
+くぼ,ひろき
+くぼた,すすむ
+くまくら,たかゆき
+くまだ,ごろ
+くまもと,たけし
+くめ,ゆきこ
+くらや,やすのぶ
+くりわき,のぞみ
+くわばら,れいこ
+ご,たけし
+こいけ,やすし
+こいけ,しん
+こさか,たけのり
+こだ,よしのり
+こが,あつし
+こくぼ,こういち
+こくら,まこと
+こご,あいこ
+こさき,えいさく
+こじま,としき
+こでら,くにゆき
+ごと,まゆみ
+ごと,りか
+ごと,ゆすけ
+こはた,ひろあき
+こばやし,まさひと
+こばやし,こへい
+こまつばら,まきこ
+こみや,ゆかり
+こみやま,てるお
+こやなぎ,さとる
+こやま,れおな
+こんど,むつみ
+こんの,あやこ
+さいとう,こういち
+さいとう,ももえ
+さいとう,りえ
+さいとう,りゅじ
+さいとう,りょうすけ
+さかい,ひろこ
+さかの,かずと
+さかもと,だいすけ
+さかもと,けいこ
+さくらい,かずのり
+ささき,ちよみ
+ささき,とおる
+ささき,なほこ
+ささき,みほ
+ささき,とくこ
+ささの,まさよし
+さだもと,しんや
+さとう,たかこ
+さとう,のぶか
+さとう,のぶほ
+さとう,ひろひで
+さとう,しげる
+さなだ,けんいち
+さねしげ,けんご
+さの,あい
+しげとみ,りょすけ
+しのはら,ゆきこ
+しばかわ,わたる
+しばの,ちから
+しまだ,まさふみ
+しまだ,よしこ
+しみず,たけゆき
+しむら,ゆきお
+しむら,さき
+しもかわ,やすひろ
+しもふじ,あかぎ
+しもやま,げんこ
+しょ,ひろき
+しらい,ゆひちろ
+しらが,たかし
+しらかわ,たかひろ
+しらす,ともこ
+しわ,まさゆき
+しんけ,としのぶ
+しんど,かずひこ
+すがはら,さとこ
+すぎうち,もりひこ
+すぎうら,けんじろ
+すぎさわ,りょ
+すぎはら,たけし
+すぎもと,たつろ
+すぎやま,たかお
+すずき,たかのり
+すずき,たけし
+すずき,ともや
+すずき,のぶひこ
+すずき,ひでかず
+すずき,ひろゆき
+すずき,りえ
+すずき,こうじ
+すだ,やすこ
+すと,みゆき
+すみだ,けんいち
+せき,ないしん
+せき,ともかず
+せんだ,ひろかず
+そめみや,しょたろう
+そや,ちあき
+だいまる,ようこ
+たかお,ひろのぶ
+たかぎ,てるゆき
+たかざわ,たつや
+たかせ,まさゆき
+たかね,しんいち
+たかはし,たいすけ
+たかはし,まこと
+たかはし,まさや
+たかはし,りゅた
+たかはし,のりこ
+たかやま,みかこ
+たきうち,りんや
+たきかわ,てつや
+たきぐち,あきひろ
+たきざわ,あつなり
+たきざわ,かずき
+たきざわ,ゆきこ
+たきた,ちえ
+たぐち,ひろき
+たけい,あきら
+たけうち,はなえ
+たけだ,かよ
+たけはら,だん
+たての,けんじ
+たなか,さとし
+たなか,じゅんこ
+たなか,たかし
+たなか,ひろなお
+たなか,ひろゆき
+たなか,まなぶ
+たなか,ゆきお
+たなか,りえ
+たなか,あきら
+たなべ,けんたろう
+たに,さとし
+たにかわ,こうじろ
+たにぐち,ちひろ
+たになか,あきら
+たにもと,けんたろう
+たぬま,くにお
+たばた,しんご
+たばた,ゆひちろ
+たばた,ようこ
+たばた,なおたか
+たむら,だいすけ
+たるき,すすむ
+たんじ,あきら
+ちば,なお
+ちば,せいじ
+つかだ,とおる
+つきもと,なおこ
+つじ,えりこ
+つだ,みつえ
+つちもと,しんいちろう
+つつみ,ちかよ
+つつみ,よしつぐ
+つぼた,けつ
+てい,ひろたか
+てらかど,ちずる
+みのうら,ふみひこ
+てるい,じゅん
+どい,こ
+と,よすけ
+とかいりん,けいたろう
+どめん,こういち
+とかい,ゆき
+とくなが,きよのり
+とくやま,かずゆき
+としま,ひろかず
+どち,りえ
+とのい,あつし
+とのむら,ひろし
+とみた,きみひこ
+ともの,しんご
+とりい,ともこ
+ながい,じゅにち
+なかがわ,まさや
+なかがわ,わかみ
+なかがわ,みつあき
+なかざと,まなぶ
+なかしま,まり
+ながた,こうたろう
+なかの,まきこ
+ながの,ゆみ
+ながの,えつこ
+なかむら,かおり
+なかむら,きみたか
+なかむら,たいが
+なかむら,みわこ
+なかもり,ともゆき
+なかやま,あきこ
+なるせ,りえこ
+なんご,くにお
+なんば,ひでかず
+なんば,まもる
+にいみ,とものり
+にしお,いくま
+にしおか,よしのり
+にしおか,だいすけ
+にしさか,もとのぶ
+にしざき,ちかこ
+にしざわ,ゆか
+にしの,かな
+ぬまたき,りょた
+ねぎし,りょ
+ねやま,ようこ
+のだ,さとし
+のぐち,たけし
+のぐち,てつや
+のぐち,とくこ
+のぐち,ともひろ
+のざき,たかし
+のだ,まさき
+のぼり,けん
+のむら,こうじ
+のむら,こへい
+のむら,よじ
+はぎわら,しんいち
+はしぐち,ともこ
+はしもと,まみ
+まき,たくま
+はせがわ,なおき
+はせがわ,さとし
+はだ,もとき
+はっとり,りか
+はっとり,たけし
+ばば,ちあき
+ばば,のりこ
+ばば,よすけ
+ばば,けいじ
+はまだ,しんきち
+はまだ,だいすけ
+はまだ,ひろこ
+はまだ,よしひろ
+はまの,しゅひち
+はやし,みさこ
+ひぐち,けんじ
+ひさつね,しょたろう
+ひしぬま,としひろ
+びょど,たかふみ
+ひらい,かずと
+ひらおか,たけお
+ひらかわ,おさむ
+ひらさわ,あやこ
+ひらしま,ゆひち
+ひらた,まゆこ
+ひらの,まさき
+ひるま,けんじ
+ひろせ,しんいちろう
+ひろせ,りかこ
+ひろた,くみこ
+ふくい,だいじ
+ふくだ,りさ
+ふくば,ふみひろ
+ふくむら,まさゆき
+ふくもと,あきのり
+ふじい,こき
+ふじい,まこと
+ふじい,あつし
+ふじえだ,ひろこ
+ふじた,まさかず
+ふじた,みき
+ふじつ,ともひろ
+ふじの,たくじ
+ふじもと,じろ
+ふじわら,まみこ
+ふじわら,やよい
+ふじわら,ゆひち
+ふるかわ,ひでき
+ほじょ,かつよし
+ほしの,ひろし
+ほそかわ,あずさ
+ほりかわ,たかし
+ほんご,かなめ
+まえだ,ゆみこ
+まおか,だいすけ
+ますぶち,けん
+ますみつ,ゆき
+まつい,みわ
+まつお,ひさかず
+まつおか,ひでかず
+まつおか,ゆきこ
+まつだ,たけし
+まつばら,たかほ
+わたなべ,さとこ
+まつやま,たくと
+まつやま,りな
+まつやま,くみ
+まとば,りょ
+みうら,まさのり
+みつぎ,むねとも
+みと,てるひこ
+みのうら,しゅじ
+みや,よしあき
+みやけ,あつし
+みやした,つとむ
+みやした,つよし
+みやた,きょへい
+みやもと,けんたろう
+みやもと,ひでのり
+みやもと,きょすけ
+むくだ,さちこ
+むしか,りょ
+むと,あきこ
+むらかみ,だいすけ
+むらかみ,たけし
+むらかみ,みつてる
+むらかみ,よしき
+むらたに,ともひろ
+むらまつ,まさき
+むらやま,たけし
+もちずき,しゅひち
+もりぐち,やすひさ
+もりた,あきら
+もりばやし,ひでまさ
+もろと,あい
+やえがし,ゆきお
+やおやま,あきひろ
+やがみ,たつや
+やぎ,くにこ
+やぐら,まさひろ
+やすこち,ともあり
+やすだ,ゆきこ
+やすだ,あきら
+やまぐち,ゆか
+やまぐち,かなこ
+やまだ,たつひろ
+やまだ,ひでつぐ
+やまだ,もとひろ
+やまみち,まさこ
+やまもと,よしあき
+やまもと,としひこ
+ゆき,みさと
+ゆみば,まみ
+ゆら,こめい
+よこすか,ひろたつ
+よこた,ひでゆき
+よこやま,げんた
+よしおか,よしひろ
+よしおか,けいじ
+よしざわ,しんじ
+よしだ,のぼる
+よしだ,ゆすけ
+よしだ,のりこ
+よしの,ゆすけ
+よしむら,しょしん
+りゅ,わいけん
+ろく,みずほ
+さかもと,あきら
+わたなべ,かつゆき
+わたなべ,じゅんこ
+わたなべ,ひろみ
+わたなべ,まみこ
+わたなべ,けいいち
+わらび,けんいち
+のざわ,はるのぶ
+くぼ,あい
+よしもと,あやこ
+やまもと,なおこ
+やまもと,かずひろ
+ひろさわ,ゆうこ
+みひら,みつる
+おの,あかり
+おだ,たかし
+おばたけ,かずみ
+かどえ,ゆうこ
+にしだ,えいじ
+まつもと,あきこ
+みぎた,けいこ
+みやもり,れいな
+やました,ゆふこ
+やまだ,ゆ
+のりとみ,たかこ
+いけだ,やよい
+もりた,ひろのり
+たけうち,ゆうこ
+みた,やすこ
+いぬい,こ
+と,たかし
+まきの,たかし
+なつめ,りえ
+おのでら,りょへい
+おた,ひろゆき
+うるしさこ,かずひこ
+さかきばら,みほこ
+あおき,あい
+あおき,とよひろ
+あおき,よしあき
+あかがわ,まな
+あかつか,みお
+あかほり,まどか
+あきやま,しんご
+あさい,ちえ
+あさい,ゆすけ
+あさおか,りょじ
+あさぬま,りょ
+あそ,よしのり
+あたけ,けん
+あだち,のりゆき
+あべ,まり
+あべ,しんや
+あべ,くにひろ
+あらい,みきこ
+ありま,りつこ
+いいずか,しげのり
+いがらし,えいすけ
+いけだ,なおと
+いけだ,ゆうこ
+いけはた,もとこ
+いざわ,かずひと
+いしい,けいじろ
+いしかわ,かずひろ
+いしぐろ,てるみ
+いしだ,しんぺい
+いしだ,けんじ
+いしばし,あや
+いしはら,なおふみ
+いしもと,としき
+いそはた,しんご
+いたみ,たかみち
+いちかわ,のぶやす
+いっしき,ゆきえ
+いで,つよし
+いで,ともこ
+いとう,だいすけ
+いとう,ゆたか
+いとう,こずえ
+いとう,けんたろう
+いとう,ひろき
+いのうえ,ちはる
+いのうえ,やすし
+いのうえ,りょこ
+いのうえ,あきひろ
+いのくち,こうたろう
+いまい,たつお
+いまきゅれい,としゆき
+いまぜき,たかひろ
+いまむら,まゆこ
+いまむら,あさこ
+いわい,たかあき
+いわい,なるたか
+いわさき,たつや
+いわせ,なるみ
+いわた,こうじ
+いわで,まゆみ
+いわむら,じゅんぺい
+うえだ,まさお
+うえの,なつこ
+うえの,まい
+うかい,まこと
+うさみ,よすけ
+うちうみ,なおき
+うちやま,かつき
+うらはら,のりゆき
+えぎ,りほ
+えじり,れいこ
+えのきど,くみこ
+えもり,ますみ
+えんど,けんいちろ
+おひ,さとる
+おひけ,たかし
+おふら,ともこ
+おかわ,すすむ
+おきた,こうじ
+おさわ,けんたろう
+おた,まさひと
+おた,ふみお
+おた,まさふみ
+おたに,しんじ
+おたに,ひろき
+おつか,まりこ
+おつか,りえこ
+おつか,まさふみ
+おつき,たいじ
+おど,たかひこ
+おとんべ,ひろし
+おの,よりこ
+おの,いつき
+おはし,はじめ
+おはた,なつこ
+おみち,ともかず
+おひゃま,だいすけ
+おかざき,よしこ
+おかじま,ゆきのり
+おかだ,まさゆき
+おかだ,ともこ
+おかもと,あきなお
+おかもと,よへい
+おがわ,たかあき
+おぎた,ゆきひで
+おくくぼ,もとい
+おちあい,よしのり
+おまた,だいじろ
+かさ,さとる
+かしわ,たくみ
+かとう,たつや
+かとう,まさひこ
+かない,ひろし
+かなやま,たつや
+かねこ,あきら
+かねつき,みほ
+かねまる,みきひと
+かべうち,たつふみ
+かみむら,みなこ
+かみや,かずひろ
+かみや,たくま
+かわい,たけし
+かわい,だいすけ
+かわかみ,じゅん
+かわぐち,としふみ
+かわさき,たかし
+かわさき,とものり
+かわさき,けん
+かわしま,ゆきこ
+かわた,だいすけ
+かわまた,こへい
+かわもと,ただし
+きしもと,けんいち
+きしろ,だいすけ
+きだ,ふみや
+きたおか,じゅんや
+きただ,あずさ
+きたの,なおと
+きたはら,かおり
+きたむら,さちこ
+きたもと,こういちろ
+きむら,ゆみこ
+きむら,ひろし
+きもと,らい
+きん,みん ちゃう
+んぐいぇん,やすひろ
+くしやま,てつあき
+くどう,ひろき
+くどう,たかお
+くめうち,けいいち
+くらしげ,こた
+くらち,けいすけ
+くらなか,あきよし
+くりはら,けいた
+くろき,えいすけ
+くろさか,じゅん
+くわはら,う
+ゆえ,まさひこ
+こいずみ,そうへい
+こうじま,たろう
+こだ,みほ
+この,たけひろ
+こが,ふみと
+こが,けいこ
+こくぶん,よしゆき
+こさか,だいすけ
+こって,あきよ
+はたなか,とものり
+こばやし,しゅんすけ
+こばやし,けんじ
+こばやし,こうじ
+こばやし,かずひろ
+こばやし,たけし
+こまつ,よすけ
+こまつばら,まさき
+こめだに,ようこ
+さいき,しの
+さいとう,かつのり
+さかい,しんや
+さかぐち,よしひこ
+さかまき,かつゆき
+さくま,けんいち
+さこ,しょひち
+ささい,たくじ
+ささお,ちかこ
+ささき,あきこ
+ささき,まいこ
+さとう,たかし
+さとう,ゆか
+さとう,ひでき
+さとう,あんな
+さとう,のりあき
+さとう,きみひこ
+さとう,しんすけ
+さとう,ふみ
+さとう,てつろ
+さの,あつし
+さの,けんいち
+さはら,ひろあき
+さるやま,たろう
+さわぐち,ぁん
+し,ゆきこ
+しおざき,まや
+しおだ,なおや
+しき,かずきみ
+しだ,はなこ
+しのはら,まさお
+しのはら,かつひこ
+しぶさわ,かずゆき
+しまだ,ひろひと
+しまだ,まさき
+しまだ,みき
+しみず,まさこ
+しみず,みき
+しみず,のぶゆき
+しみず,りょさく
+しみず,まさこ
+しみず,なぎさ
+しも,たかふみ
+しもざき,たかゆき
+しもじま,あや
+しもつ,えみ
+しもの,ひであき
+しもや,えいじ
+しらす,まさる
+すぎうら,よしひろ
+すぎうら,ひとし
+すずき,ひさし
+すずき,よすけ
+すずき,りゅた
+すずき,みほこ
+すずき,けんたろう
+すと,たつお
+すなだ,わたる
+すやま,ともこ
+せお,さとこ
+せき,じゅにち
+せきね,じろ
+せきば,きぬえ
+せと,たつひこ
+せんごく,えいいちろう
+せんだ,たかひろ
+せんば,あきひこ
+そめや,よりこ
+たかぎ,しんご
+たかぎ,まさのぶ
+たかぎ,としろ
+たかせ,ともみ
+たかだ,えりこ
+たかはし,ゆすけ
+たかはし,よしのり
+たかはし,よしき
+たかはし,さとし
+たかはし,さとし
+たかはし,だいすけ
+たかみざわ,かおり
+たきざわ,こへい
+たぐち,みつる
+たけした,まき
+たけだ,けいじ
+たけだ,のりひさ
+たけだ,ゆうこ
+たけなか,みずほ
+たけはら,けいご
+たけやま,ひでき
+たじ,あい
+ただ,のりゆき
+だて,よひちろ
+たなか,よすけ
+たなか,やすゆき
+たなか,よしのり
+たなか,たかのり
+たなか,まさと
+たにぐち,みか
+たにこし,やすひろ
+たにの,こずえ
+たぶき,けいぞ
+たぶち,きょこ
+たまおき,けん
+たまがわ,かずま
+たむら,ゆうじ
+ためのり,こうじ
+たんの,たかひろ
+たんぼ,みきこ
+ちだ,みつる
+ちねん,みか
+つがねざわ,よしたか
+つかはら,くみこ
+つちや,ちかふみ
+つちや,のりひこ
+つちや,たくなが
+つずき,たかゆき
+つずらはら,たかゆき
+つねよし,たかのり
+つぼうち,けんたろう
+つるしま,たかあき
+でぐち,たろう
+てずか,よしひと
+てらかわ,まさよし
+てらぐち,ともこ
+てらしま,けいこ
+てらだ,よへい
+とがし,えり
+とくむら,あきひこ
+とざわ,かつひさ
+とびおか,ゆき
+とまりの,のぶゆき
+とみい,みずほ
+とみざわ,まゆみ
+とみた,よすけ
+とみた,やすゆき
+とみなが,まみ
+とよだ,さちこ
+とらたに,てるのぶ
+ないとう,あきふみ
+ながい,りえ
+ながい,たくや
+なかいけ,みつのぶ
+なかうえ,たかし
+ながお,むねのり
+なかこじ,けんじ
+ながさか,よしき
+なかじま,だいすけ
+なかじま,こういち
+ながた,ゆうこ
+ながた,たけし
+ながた,じゅんこ
+なかつる,じゅんこ
+ながの,あや
+なかむら,たいち
+なかむら,ゆうた
+なかむら,ようこ
+なかむら,そうたろう
+なかむら,まさこ
+なかむら,たかお
+なかむら,ちえ
+なつはら,じゅんこ
+なりさだ,しんご
+なんぶ,だいすけ
+にかいど,りょこ
+にし,さやか
+にし,こうじ
+にしお,ゆきこ
+にしかわ,まり
+にしくら,かつや
+にしざわ,あつひさ
+にしざわ,なおき
+にしだ,ひろあき
+にしだ,やすお
+にしやま,さとる
+ぬのや,ひろし
+ぬまざき,くみこ
+ぬまた,ひろし
+のどみ,ゆか
+のみ,まさあき
+のぐち,えいじ
+のじま,さやか
+のじり,しんすけ
+のだ,のぶゆき
+のだ,ともや
+のむら,そういちろう
+のむら,なおゆき
+のむら,としや
+はこしま,けんじ
+はしもと,さとこ
+はしもと,いさむ
+はせがわ,えりな
+はたけやま,しんいち
+はった,りょへいた
+はっとり,ひさのり
+はない,しげお
+はなだ,ゆきお
+はまぐち,たけし
+はまだ,りな
+はまだ,まさき
+はまの,かずよし
+はやかわ,てるあき
+はやし,としゆき
+はやし,みきこ
+はやし,ゆきこ
+はら,しんへい
+はら,かずえ
+はらだ,かずお
+ひえかた,わたる
+ひがさ,りょ
+ひがみ,けい
+ひきの,けんたろう
+ひだ,ゆふこ
+ひだか,ゆひ
+ひでしま,さとみ
+さかい,たけはる
+ひらい,けいすけ
+ひらいわ,けん
+ひらた,まなみ
+ひらばやし,けいこ
+ひろせ,たかゆき
+ふかお,ゆき
+ふくい,てつお
+ふくざき,ともなが
+ふくだ,けんたろう
+ふくだ,ちかこ
+ふくだ,やすあき
+ふくだ,みえ
+ふくはら,さとこ
+ふくむろ,あつし
+ふじうら,せいじ
+ふじおか,てつじ
+ふじおか,たかし
+ふじた,しん
+ふじもと,みきこ
+ふじもと,じゅんや
+ふじわら,はやと
+ふたむれ,えつこ
+ふるさわ,ひでき
+ふるた,なおゆき
+ふるや,あやこ
+ほこら,みゆき
+ほしの,ひでひこ
+ほしの,みれい
+ほその,よへい
+ほり,やすひろ
+ほりうち,まさる
+ほりおか,じゅにち
+ほりぐち,ゆきこ
+ほんま,ひろふみ
+まえかわ,あや
+まえじま,こういちろ
+まえだ,まや
+まえはら,しげる
+まき,ゆかり
+まきの,えりこ
+ますい,あきひろ
+ますだ,いさお
+ますだ,いちろう
+まつい,ひさお
+くまがい,ひでお
+かねこ,まつお
+こみや,すみお
+こがいと,たもつ
+かんばやし,ひろみち
+きのした,とし
+きくち,えつお
+こまば,やすお
+こくぶ,じゅにち
+こばやし,いさお
+こばやし,ともゆき
+きつたか,こうじ
+まつお,としひろ
+かわい,としひこ
+くりはら,しげのり
+かどの,たけお
+かみくぼ,ひろし
+かわぐち,きよし
+かまた,まさみつ
+かんだ,かんじ
+かんだ,かつひこ
+こしむら,りょじ
+まつお,のぼる
+くさき,みちこ
+かもはら,てるまさ
+かさじま,はるひこ
+まつき,みのる
+かみくら,ゆたか
+くりはら,みつこ
+なかち,ひろし
+かがわ,てるお
+こばやし,ちゅけん
+かんの,たかゆき
+まつした,まなぶ
+かしわだ,とおる
+こんの,ひろよし
+こすぎ,けんじ
+こもり,たかし
+かわの,まさもと
+きたむら,かずみ
+かじま,みつお
+かとう,としゆき
+こやの,きよし
+かつまた,じゅんじ
+くわだ,まさふみ
+こたに,としまさ
+かじうち,よしかず
+こんど,つねお
+こんど,のぶあき
+まつなみ,きよし
+かがやま,しんいち
+かねこ,せいじ
+こやま,としお
+きつかわ,ふみお
+かしくら,おさむ
+くろき,かずお
+こいずみ,よしみ
+くぜ,としろ
+かわかみ,ゆきお
+かみじょ,たけひこ
+きむら,てつや
+まつの,ひでお
+きくた,ゆきお
+くまだ,としかず
+くにはら,けいじ
+こじま,やまと
+くりはら,のぶこ
+よねくら,たかし
+こばやし,よしかず
+こばやし,しんや
+こじょう,まさはる
+きむら,やすひこ
+こばやし,やすはる
+こんど,こせい
+かわい,かんじ
+くまはら,よしゆき
+きせ,しゅへい
+かしくま,みきお
+かこ,けいこ
+いしがい,さちお
+かみぐち,とおる
+くもだ,かずひさ
+こまつ,おさむ
+かねだ,まさあき
+きくち,しゅにち
+こたに,ゆたか
+こばやし,まさのり
+かわぐち,よしたみ
+かねこ,つねお
+かも,てつお
+かわむら,さなえ
+くまの,じゅにち
+こばやし,まさあき
+きむら,のぶかず
+きしもと,としかつ
+きむら,けんじ
+かみぐち,みちやす
+きむら,けんぞ
+こばやし,じゅにち
+かどくら,よしあき
+きたむら,ただし
+かつき,としお
+かんざき,しょひち
+かたぎり,みつお
+こばやし,よしひさ
+こまつざき,よしゆき
+きた,やすと
+かつはら,よしお
+こぐれ,ひろあき
+こじま,よしあき
+こめだ,えいじ
+こにし,まさゆき
+くわはら,よしえ
+こやま,かずひさ
+まつもと,ひろひさ
+かじもと,きしお
+くまざわ,てつや
+きむら,まさはち
+こばしがわ,しゅんじ
+かみや,かなこ
+まつもと,ひでよ
+こはし,ひさし
+こだま,まさのぶ
+かわかみ,いくみ
+まつもと,のぶこ
+かいど,こぞ
+きむら,ひろのり
+くご,しゅ
+まつもと,あきえ
+まつやま,あつし
+まるやま,ひさし
+この,けんいち
+くろき,やすまさ
+こみや,ひであき
+きむら,のりゆき
+きの,よしあき
+こまつ,かつみ
+かねちか,としお
+かなたに,ひとし
+こばやし,ゆ
+きたやま,しょじ
+かじ,えいぞ
+かわしま,ぜにち
+きむら,かずみ
+こばら,はるお
+きたがわ,みほ
+まるやま,としお
+かもん,きよみ
+みうら,よしゆき
+みしま,りょすけ
+みすぎ,さちこ
+みずた,きよし
+みずもと,じゅん
+みぞぐち,りょこ
+みずか,なおゆき
+みなみ,みあ
+みなみたに,ゆき
+みねた,りょすけ
+みやい,りえ
+みやおか,よしろ
+みやざき,かなこ
+みやざき,ひろこ
+みやはら,なおき
+みよし,まきこ
+むらかみ,たくま
+むらき,なおたか
+むらた,なほこ
+むらた,まさし
+むらた,たかし
+むらやま,かつひろ
+もとの,ともあき
+もり,じゅんこ
+もり,なるき
+もりた,まさこ
+もりた,ゆたか
+もりやま,たける
+もりやま,まさと
+やざわ,ゆきこ
+やじま,こた
+やなぎだ,けんろ
+やまがた,まゆみ
+やまかわ,じゅり
+やまぐち,たつひこ
+やまぐち,あきのぶ
+やまぐち,まさひで
+やまさき,あつこ
+やまざき,けんじ
+やました,みちや
+やまだ,めぐみ
+やまだ,まさこ
+やまだ,やすまさ
+やまなか,としゆき
+やまね,なお
+やまもと,ひでとも
+やまもと,りえ
+やまもと,あつし
+ゆかわ,かおり
+ゆざ,かずこ
+ゆたに,ともひろ
+ゆたに,えりこ
+よご,けいいち
+よこぼり,しんや
+よしおか,さとみ
+よしかわ,ゆき
+よしだ,ただゆき
+よしだ,まさき
+よしもと,けん
+よねだ,しゅくほ
+ら,よしあき
+わかさや,けんいち
+わたなべ,しゅん
+わたなべ,まさし
+みつやま,しんご
+ひらおか,やすのり
+かんの,かずひろ
+わこ,ひでゆき
+あおき,さとし
+あかお,あきこ
+あかぎ,りえ
+あかし,だいすけ
+あかつか,とものり
+あかはね,まさたけ
+あかほり,ただあき
+あきもと,ひろみ
+あきやま,ひろたか
+あさい,きょこ
+あさの,もとお
+あさひ,ゆみこ
+あさべ,ともこ
+あはれん,しずか
+あべ,じゅにちろ
+あべ,やすひろ
+あべ,まさみ
+あまの,りさ
+あめもり,かつと
+あらい,りえ
+あらい,わたる
+あらい,まさのり
+あらたに,りょへい
+ありなか,ひろこ
+いいご,やすゆき
+いいだ,ひろあき
+いけだ,ゆうこ
+いこが,ちえ
+いしい,みほ
+いしおか,まさかず
+いしざか,やすひろ
+いしじま,あさこ
+いしだ,かよ
+いしど,だいすけ
+いしの,としひこ
+いしまぶし,かおる
+いせり,ひろふみ
+いそべ,まさみ
+いたに,ありさ
+いずの,ひでお
+いでの,えつこ
+いとう,かつひろ
+いとう,さつき
+いとう,ともひろ
+いとう,のりあき
+いとう,まゆみ
+いとう,よしたか
+いとやま,えみこ
+いな,かおり
+いなさき,たかし
+いなば,ゆきえ
+いなば,みお
+いのうえ,ゆい
+いのうえ,ゆきこ
+いのうえ,たかお
+いべ,あきひと
+いまい,おとひこ
+いまおか,はるか
+いまむら,たかあき
+いわた,みつひろ
+いわた,よへい
+いわた,ようこ
+いわみ,みつたか
+いわもと,よしあき
+うえだ,ゆかり
+うえの,まな
+うえはら,たけし
+うかい,あつし
+うだがわ,あきら
+うちやま,やすのり
+うつみ,よすけ
+うつみ,ただし
+うの,たけし
+えがしら,のぶたか
+えと,まりこ
+えとみ,きょこ
+えんど,ゆきえ
+えんど,しゅへい
+おかど,まさし
+おくら,たけひろ
+おさか,よしひろ
+おさか,おさむ
+おさわ,ゆうこ
+おすみ,けんいちろ
+おた,れいこ
+おたに,さら
+おにし,たかのり
+おにし,ひさなが
+おにし,ゆひち
+おにし,ひろまさ
+おの,ひろゆき
+おの,まりこ
+おの,まこと
+おまつ,しゅんすけ
+おむら,ひろき
+おや,ひでみ
+おか,めぐみ
+おかい,ひろき
+おかうち,たかひさ
+おかだ,ひろこ
+おかだ,たてき
+おかの,こうたろう
+おかむら,さち
+おかもと,さとこ
+おがわ,ちえこ
+おがわ,まこと
+おがわ,まさひろ
+おがわ,みつる
+おがわ,むさし
+おがわ,まさお
+おぎの,なほこ
+おく,みかこ
+おくかわ,ようこ
+おくだ,よすけ
+おくむら,ともこ
+おざき,ゆきえ
+おじま,のりひと
+おぜき,けんいち
+おだ,とものり
+おだ,ゆうき
+おちあい,まりこ
+おとがわ,やすふみ
+おの,あかり
+おはら,そ
+かいじま,いずみ
+かがわ,こずえ
+かきお,きんや
+かけひ,みちこ
+かさい,たくや
+かさみ,ゆみこ
+かじた,えりこ
+かじたに,さやか
+かしま,ひろあき
+かしま,あきお
+かじもと,さとこ
+かすが,たかゆき
+かせ,たかし
+かたぎり,けいいち
+かたやま,ひろゆき
+かたやま,あつこ
+かとう,なおき
+かとう,りょこ
+かとう,みずき
+かなざわ,けいこ
+かねみつ,けんた
+かの,ともみつ
+かまた,たかや
+かみざき,ともみ
+かみじょ,なおこ
+かめたか,よしふみ
+かも,けいいち
+かわい,まさなり
+かわい,やすひろ
+かわかみ,ゆうこ
+かわかみ,あやこ
+かわぐち,さなこ
+かわぐち,れいこ
+かわぐち,かずしげ
+かわさき,りょこ
+かわさき,ゆうじ
+かわなみ,ひとし
+かわね,くにあき
+かわばた,けんいちろ
+かわむら,ひろかず
+かわもと,とものり
+かんだ,ゆきえ
+かんだ,ひろたか
+かんの,まさとし
+きしもと,よひち
+きたがわ,たいすけ
+きたはら,けんや
+きたむら,ともかず
+きたむら,じゅり
+きぬや,たかし
+きのした,みお
+きはら,あゆみ
+きむら,かずひで
+きむら,さとし
+きむら,じん
+きむら,なおき
+きよしま,あきこ
+きよずか,かなこ
+きら,あゆみ
+きりさこ,もう
+きん,ゆ
+きん,みどり
+くにえだ,なおし
+くぼ,まさこ
+くまの,けんたろう
+くらた,たけし
+くらはし,ともはる
+くれ,しょ
+くろい,しんご
+くろき,としみ
+くわの,てつじょ
+ご,たつや
+ごだ,よしかず
+こが,まさひろ
+こくしょ,あきよし
+こさか,じゅん
+こじま,はるみ
+こぞの,ゆき
+こだま,たかし
+こてら,てっぺい
+こでら,さゆり
+ごと,なおこ
+ごと,かずあき
+こにし,ご
+こにし,たけと
+こにし,あきひろ
+こばやし,たかあき
+こばやし,とおる
+こばやし,よしたか
+こばやし,ゆうこ
+こぶせ,ひろたか
+こまき,さえ
+こまざわ,たけひろ
+こまつばら,けい
+こやま,つよし
+こんど,しゅいちろう
+さいき,りょすけ
+さいじょ,あいわ
+さいとう,いくお
+さいとう,きみひろ
+さいとう,しんたろう
+さいとう,ただのり
+さいとう,ひろこ
+さいとう,みさき
+さいとう,ようこ
+さいとう,ともや
+さかい,なつこ
+さかみ,こうじ
+さかもと,ちえ
+さかもと,つよし
+さかもと,ひでゆき
+さかもと,ひろなお
+さかもと,たかまさ
+さくらい,ともひさ
+さくらぎ,いちろう
+ささき,ひろこ
+ささき,かおる
+さとう,かずや
+さとう,きょこ
+さとう,こういち
+さとう,てるひさ
+さとう,はじめ
+さとう,ひろみ
+さとう,ふみこ
+さとう,ひとし
+さの,まきこ
+さの,たかゆき
+さわさき,たかし
+さわだ,こうじ
+さんぺい,ひでき
+しおずか,まさよし
+しの,ななこ
+しばた,よひちろ
+しま,さだよし
+しまの,なほこ
+しみず,まさき
+しみず,ゆみえ
+しもかわ,ふくたろう
+しもむら,しゅさく
+しゅくり,たかし
+しょじま,あき
+しょだ,けんいちろ
+しらいし,かずみち
+しらかた,ゆみ
+しらさき,りょすけ
+しろた,とおる
+じんぐうじ,りょすけ
+しんたに,たかし
+しんぼ,ひろこ
+じんぼ,さとる
+しんむら,あつし
+すがい,かずのり
+すぎもと,かずたか
+すぎもり,じゅん
+すぎやま,としあき
+すぎやま,よしこ
+すぎやま,まみ
+すずき,よしおみ
+せがわ,えいぶ
+せき,まなみ
+せきね,たつお
+せきもと,くみ
+せと,のりかず
+せら,じゅん
+そでやま,ももこ
+そのい,まさひろ
+たいら,しげかず
+たかき,けんた
+たかはし,のぶゆき
+たかはし,もとはる
+たかはし,ひでとし
+たかはま,つとむ
+たかみや,みほ
+たかやなぎ,ひろこ
+たかやま,たかね
+たぐち,じゅん
+たけうち,たくま
+たけざき,きくこ
+たけした,じゅん
+たけもと,けんじ
+ただ,ひろし
+たちかわ,かつあき
+たちばな,あつし
+たつがわ,かずよし
+たなか,そらこ
+たなか,てるえ
+たなか,まさし
+たなか,みちる
+たなか,れい
+たなか,みねこ
+たなべ,ともお
+たにぐち,こき
+たにわき,ちはる
+たばた,かずひこ
+たはら,さとし
+たまき,わたる
+たまむら,あつし
+たるみ,まゆこ
+たんばら,さとみ
+ちかつ,ひろとも
+ちば,あつこ
+ちょ,まこと
+つかだ,なおと
+つかもと,ともこ
+つじもと,やすのり
+つちだ,あきよ
+つちや,まさたか
+つちや,こうすけ
+つつみ,さちえ
+つぼくら,しょへい
+つむら,のりこ
+てしま,たけし
+てらさき,ひろふみ
+てらさき,よしひさ
+てらだ,けんじ
+どい,なおこ
+どい,まこと
+と,ひろみ
+ときた,りょこ
+ときと,てつひこ
+とくだ,かほり
+としずみ,りょた
+とだ,てつや
+とよだ,さちか
+ないとう,みき
+なかい,けいこ
+なかお,たかあき
+ながお,ちから
+なかがわ,さとし
+ながさか,たくや
+なかさか,ともえ
+ながさき,あきこ
+なかざわ,まさひと
+なかざわ,くみ
+なかしま,たけはる
+なかじま,ともこ
+なかしま,のぶたか
+なかじま,ひろこ
+なかじま,しんいちろう
+なかだ,りょすけ
+なかだ,えみ
+ながつか,まほ
+なかと,しゅんすけ
+なかにし,ひろあき
+なかにし,りょた
+なかにし,まさとし
+ながまつ,あきひこ
+なかむら,えりこ
+なかむら,ともみ
+なかむら,みちこ
+なかむら,やすひろ
+なかむら,ゆひちろ
+なかむら,ゆへい
+なかむら,ようこ
+なかむら,ゆや
+なかもり,えみこ
+なかや,あきひろ
+なかやま,しゅたろう
+なす,りょすけ
+なりとみ,かよこ
+なんぶ,あやこ
+にいみ,いさお
+にしかわ,しゅじ
+にしの,みどり
+にしやま,すすむ
+ぬかだ,いたる
+ぬまた,まさひろ
+ぬまた,しげとし
+のがみ,きょこ
+のぎ,あやこ
+のくお,まゆ
+のぐち,けいこ
+のざき,なおこ
+のじ,ひろかず
+のま,さやこ
+のむら,てつや
+のむら,ゆうじ
+ばこし,たけし
+はしもと,こうじ
+はすぬま,しんたろう
+はせ,ともや
+はせがわ,やすたか
+はたがわ,そのこ
+はたけやま,ゆか
+はたの,たかひろ
+はない,よしこ
+はまさき,ゆういち
+はまだ,さとし
+はまで,さとし
+はやかわ,あやこ
+はやし,かおり
+はやし,たかゆき
+はやし,なつね
+はやし,ゆき
+はやし,れいこ
+はやし,まさお
+はら,ゆひち
+はらしな,しんご
+はらだ,なおこ
+はらだ,ちえ
+はるな,よいち
+ひきた,ひろし
+ひだい,じゅんこ
+ひらい,ゆうこ
+ひらい,ようこ
+ひらい,りか
+ひらいわ,まこと
+ひらお,ひろたか
+ひらかわ,たかし
+ひらた,あき
+ひらまつ,あや
+ひろえ,さとこ
+ひろせ,さとし
+ふかざわ,じゅん
+ふかほり,ようこ
+ふくしま,すすむ
+ふくだ,ともひさ
+ふくだ,のぶき
+ふくだ,あつし
+ふじい,みどり
+ふじかわ,しゅすけ
+ふじた,ひでと
+ふじた,まゆみ
+ふじた,きょこ
+ふじむら,ゆすけ
+ふじむら,えりこ
+ふじもと,くみこ
+ふじもと,ひでかず
+ふじわら,まき
+ふじわら,よしあき
+ふたかた,たかお
+ふない,あつし
+ふるかわ,ひでのり
+ふるかわ,ひでゆき
+ふるまた,のりひろ
+ほし,まきお
+ほしうら,ひろゆき
+ほしろ,ひろふみ
+ほそだ,さやか
+ほり,りえこ
+ほり,かずみ
+ほりえ,けんじ
+ほりぐち,まさお
+ほんな,よしろ
+ほんぼ,ともゆき
+まえかわ,あきこ
+まえだ,しょへい
+まえだ,りゅへい
+まえだ,けいさく
+まきうち,さとし
+まきの,じろ
+まきもと,さちこ
+まさとうみ,ひろこ
+ますい,じゅにち
+ますだ,ともや
+ますだ,ゆき
+まつい,ひろし
+まつうら,いつみ
+まつおか,しゅんご
+まつおか,のぶひで
+まつおか,ゆき
+まつおか,のぶと
+まつかげ,のぞむ
+まつした,かおる
+まつなが,ひろゆき
+まつばら,みわ
+まつばら,こすけ
+まつもと,たかし
+まつもと,えつこ
+まつやま,けいじ
+みうら,しょこ
+みうら,とものり
+みうら,まいこ
+みうら,よすけ
+みき,まさゆき
+みずかわ,みほ
+みずたに,みお
+みずの,かずひさ
+みその,あきひろ
+みぞはた,ともこ
+みながわ,まゆみ
+みながわ,だいすけ
+みなみ,ひさお
+みなみ,さとし
+みなみかた,わたる
+みなみむら,のぞみ
+みはら,あきこ
+みむら,ひろみつ
+みやい,ほくと
+みやざき,まいこ
+みやざわ,りょ
+みやざわ,あつし
+みやむら,あつし
+みやむら,きよまさ
+みやもと,ゆうじ
+みやもと,ひろゆき
+みよし,ゆきこ
+むねむら,ゆせい
+むらかた,ただまさ
+むらずみ,ちえ
+むらた,まちこ
+むらた,あや
+むらもと,ひろゆき
+むらやま,たかし
+もり,たかのぶ
+もり,ひでき
+もり,まさき
+もり,みきこ
+もり,のぶあき
+もりうち,あつし
+もりした,なおや
+もりたに,あきら
+もりもと,かおり
+もりやま,あや
+もろえ,ゆへい
+やご,まさや
+やすがき,つかさ
+やすだ,ちかふみ
+やすもと,ともゆき
+やつなみ,みつのり
+やなぎさわ,くみこ
+やなぎはら,まき
+やぶなか,かずのぶ
+やまうち,なお
+やまおか,なおこ
+やまおか,かつまさ
+やまおき,あつひこ
+やまがた,くみこ
+やまぐち,みき
+やまぐち,のりこ
+やました,ゆひちろ
+やました,かずと
+やまだ,げん
+やまだ,こうじ
+やまだ,ひろかず
+やまだ,みのる
+やまだ,ともふみ
+やまなか,あやこ
+やまむら,あつし
+やまむろ,あきお
+やまもと,けいすけ
+やまもと,しんすけ
+やまもと,たいし
+やまもと,たかゆき
+やまもと,ただし
+やまもと,なおや
+やまもと,ひろゆき
+やまもと,まこと
+やまもと,しんいち
+ゆあさ,ひろこ
+ゆき,まどか
+ゆりやま,ちえ
+よこた,ちえ
+よこはま,じゅんじ
+よこやま,のぶこ
+よこやま,あや
+よしおか,まきこ
+よしおか,めぐみ
+よしおか,いっせい
+よしだ,かなこ
+よしだ,こうへい
+よしだ,てるひこ
+よしだ,まさゆき
+よしだ,みつよし
+よしだ,みのる
+よしの,しのぶ
+よしひろ,とおる
+よしまつ,あすか
+よしむら,わたる
+よしむら,くみこ
+わかまつ,なおこ
+わきた,のりひろ
+わきた,あつひさ
+わしお,としゆき
+わしざわ,あゆみ
+わだ,かずき
+わだ,きょうこ
+わだ,まいこ
+わだ,まりこ
+わだ,たかとし
+わたなべ,なおこ
+わたなべ,なおこ
+わたなべ,まりえ
+わたなべ,ゆうじ
+わたなべ,ゆうじ
+わたなべ,ゆか
+わたなべ,ゆみ
+やまぐち,とおる
+すずき,だいすけ
+ささの,かずふみ
+かねこ,ひろや
+くぼた,かずお
+こすけがわ,けんしろ
+かない,よしあき
+かとう,ちあき
+こだま,いさむ
+こばやし,としお
+こじま,いさお
+かめやま,たけし
+くらばやし,かつえ
+かんだ,かずしん
+こんの,とくじ
+かわしま,ひろし
+かわかみ,きよおみ
+かなか,よしひろ
+かわむら,よりみつ
+きむら,けいじ
+かすが,もとじ
+こじま,じろ
+かわの,すすむ
+かわな,たけし
+こずま,れいこ
+かわさき,まさなお
+かたの,さぶろ
+かただ,こういち
+きくち,たかひこ
+かみうら,としひろ
+かねだ,とおる
+この,かずひこ
+かわもと,のぶお
+かばや,かずゆき
+こぶくろ,じゅんじ
+くまがい,まさなり
+この,こうじ
+こやま,かくたろう
+きたしろ,ひろうみ
+こだま,しゅにち
+かとう,ひろし
+きむら,もとよし
+こいで,こういち
+くやま,よしまさ
+きりはら,たけし
+かよ,まさあき
+かねこ,まさあき
+こはら,あきお
+かとう,まさおみ
+こい,かずひで
+かやま,てつお
+こいけ,やすお
+こじま,しげみ
+こまつ,ひろし
+きたむら,けんきち
+きたわき,ゆうじ
+かさじま,ひでき
+きむら,しょひち
+かみぐち,ひとし
+かとう,たけし
+かわむら,えいいち
+かどた,としはる
+おたけ,いさお
+かとう,たけし
+きの,もりひろ
+かみじょ,まさただ
+きくち,としお
+かきうち,いわお
+こじま,ゆきお
+かたおか,せいいちろう
+くぼた,いさお
+きたざわ,くにひこ
+こみね,あきと
+くぼ,まさじ
+きたずめ,のりよし
+こばやし,ぜにちろ
+かわぐち,ひろふみ
+けがさわ,てつろ
+こち,さちお
+こやま,ふじお
+かわきた,としひと
+かわみつ,のぶたか
+かたひら,しげる
+かわぎし,ともみ
+こんど,のぶひさ
+きむら,まさみ
+くぼやま,まさゆき
+くまもと,ひろひさ
+かわた,まさみ
+くにのぶ,しゅんすけ
+かまだ,ひろゆき
+かく,まさあき
+かねこ,もとゆき
+こばやし,たかゆき
+かしお,かずとし
+かないわ,かつお
+けんもち,よしひこ
+きくち,ひさし
+かざま,みちお
+こまつもと,とおる
+こんど,たかひで
+きくしま,しょぞ
+こばやし,あつお
+くまがい,ひろし
+かとう,よしみつ
+まるばやし,あきひこ
+むと,しんたろう
+みたに,まさき
+みわ,ふみよ
+しみず,やすお
+みずの,たかし
+まちだ,おさむ
+まつい,おさむ
+みうら,あきら
+ひの,けんじ
+むらかみ,けいじ
+みやの,ただし
+まるい,おさむ
+むらさき,やすあき
+まさか,えいこ
+みねた,かつひこ
+まつなが,かつまさ
+みながわ,せいこ
+みやけ,まさとし
+まつもと,かずひこ
+みさわ,たかし
+まえだ,かつみ
+うだがわ,たけし
+みやはら,まさし
+むらい,つとむ
+まつもり,としお
+まさき,かずお
+みうら,かずたみ
+もとみや,りゅひち
+むらかみ,りょひち
+まとば,まさひろ
+みうら,ひろゆき
+まつかわ,まさのり
+みずたに,としお
+みやの,ひでのり
+まつだ,たけみ
+みす,ゆたか
+まつやま,せいじ
+みやもと,なおあき
+みずの,けんいち
+まるやま,としゆき
+まるこ,こぞ
+もちだ,としかつ
+もとはし,こうじ
+みずや,しょじ
+みやざき,しげき
+みやがわ,きくお
+むらしま,えいじ
+ますさこ,きよし
+もり,ひろふみ
+もりた,まさあき
+みなみ,としお
+みやき,かずひろ
+もりやま,なおひこ
+みずた,まさゆき
+まつい,ふさちか
+まつお,あきら
+まつした,としえ
+こばやし,ただあつ
+むかえ,ふみお
+もりい,せいじ
+もりた,みちたか
+むかい,とおる
+まつお,まもる
+むらやま,こうじ
+まつもと,みちまさ
+みやさと,みつる
+みやざわ,ただお
+もりむら,せいいち
+むらの,いちろう
+ますだ,かずお
+むらた,よしあき
+みやさか,まさお
+もとばやし,けんじ
+みずの,よしお
+ももい,みつぐ
+まつだ,まさよ
+すがわら,ゆたか
+まつばら,かつみ
+まつもと,まさじ
+みやはら,ぎょじ
+むらいし,たいぞ
+まつむら,まさお
+みよし,ときわ
+もりもと,よしひこ
+みずたに,としお
+まつば,みのる
+まつい,よしお
+むらかみ,たかし
+もりた,ひでお
+むらた,みのる
+まさき,のぶお
+みやざき,けんじ
+まつばら,まさみつ
+むらまつ,ゆりこ
+もり,よしお
+もりむら,とくお
+すわ,なおえ
+こわたり,まこと
+まつざき,みのる
+まっさき,あつよし
+みたく,まもる
+まつかわ,まもる
+もぎ,てつよし
+まぶち,かずお
+まつもと,たけし
+もり,あつし
+まつうら,かん
+まえだ,かずお
+ますだ,しげはる
+まえにし,しげお
+まるやま,ひろし
+まつだ,よしき
+まき,しんいち
+もうえ,あつし
+むらい,のぶゆき
+まつい,まさかず
+もりた,よしみ
+まえだ,なおき
+むらうち,よしのぶ
+みつやす,まさひろ
+もり,けいぞ
+まつだ,さとし
+まつお,しこ
+まるやま,きよし
+まつがえ,としろ
+かみくら,りょひち
+みどりかわ,かずなり
+ますだ,あきお
+みてら,ひろし
+まつなが,ひろし
+もりおか,なおや
+みそお,たかお
+むらやま,としひこ
+もりもと,しんいちろう
+もり,とよみ
+ますだ,くにひこ
+みやもと,まさる
+むらた,たかぶみ
+みなみさわ,いさむ
+ましま,あきら
+もりぐち,けんじ
+まつい,さとし
+まえかわ,まさふみ
+もちずき,あきお
+ますだ,しげひろ
+まつもと,こういち
+もりなが,ゆうじろ
+ますだ,しげのぶ
+みうら,やすお
+まつの,あきら
+まつおか,よしみ
+まちい,えつお
+みずたに,かつよし
+まつもと,しげる
+まさき,つとむ
+まつもと,ひろたか
+みつや,かつまさ
+みずの,よしてる
+まえだ,かずひろ
+むらまつ,すみひろ
+むさしの,よしあき
+まえはた,たかし
+まつざわ,ひとし
+みつい,じゅん
+ももだ,しんきち
+まつお,じゅんぞ
+みわ,かずのり
+むらかみ,ひろたみ
+みかみ,くにお
+ぬかざわ,ただお
+なかむら,よしてる
+にしむら,こういち
+にった,としお
+ながつゆ,よしのり
+にいの,ひでと
+たぶち,たけし
+にしの,ひでやす
+ぬかた,じろ
+にしむら,ふみお
+ながの,けんじ
+なかがわ,あきら
+にしやま,まさひこ
+なかじま,よしお
+にしだ,よしかず
+なかむら,みつかず
+のむら,かつみ
+なかもと,しゅじ
+なかがわ,てつや
+なるさわ,はるき
+ないとう,しんじ
+のべ,しずえ
+にしな,くにひこ
+のむら,けんじ
+なかむら,ときやす
+にかいど,ひろし
+なかだ,けんじ
+にしな,さぶろ
+なりた,たもつ
+のぐち,ひさお
+のや,たかゆき
+ながい,よしあき
+なかむら,ひろし
+にいずま,まさひろ
+なかがみ,みつお
+ながた,ふみお
+にしざわ,ゆきお
+のせ,のりあき
+ながい,かずたみ
+にしざわ,つねお
+なかはた,たけお
+なかじま,よしひで
+なかだ,やすのり
+のなか,ただし
+なかがわ,しんじろ
+なかしま,よしやす
+なかもと,たつお
+にしおか,きみひと
+にしまえ,としお
+なかむら,よしひろ
+なかにし,こき
+のだ,まさと
+なかむら,きよし
+なかざわ,たかみ
+にしだ,しゅひち
+にしだ,きしお
+にい,はつえ
+やまもと,じゅろ
+なかうち,ゆきお
+なかじま,まさお
+なかむら,かずとし
+のむら,ひろし
+にしむら,まつお
+のなか,まさき
+にしむら,まさあき
+にしお,たみお
+ながお,まさる
+にいみ,ひろし
+なかむら,しんたろう
+ねずか,まさお
+なかむら,かずお
+なかざと,むつや
+あさの,あきひこ
+のがみ,りょひち
+なかじま,よしろ
+ないとう,ただゆき
+なかむら,りょじ
+なかにし,ひとし
+なかだ,やすお
+ながさわ,かずたか
+ながの,まさみ
+にった,くにひこ
+なんば,やすひろ
+のずえ,ただひこ
+ながみ,としひで
+ながい,きよし
+なかはら,きよし
+なかじま,けんじ
+なかじま,ひでゆき
+にしだ,よしのり
+なおい,ゆきとし
+なべしま,てつや
+なかの,じゅん
+なかむら,くにひろ
+のだ,かずひこ
+なかせ,かずあき
+なかじま,よしのり
+ながさわ,きよあき
+にへい,たみお
+ながい,たかし
+なかしま,かずゆき
+なかお,ゆたか
+なかがわ,みつひろ
+ないとう,くにみつ
+のじま,ひろし
+ながの,じゅにち
+にしだ,みずほ
+なかだ,たけよし
+なかはら,かつお
+なかじま,あきひこ
+ねもと,しちろ
+なかむら,よしまさ
+ながとも,しょひち
+なかむら,はるお
+なかやま,みつよし
+なかむら,としあき
+なかむら,みつしげ
+のじま,ただし
+ながふち,みつよ
+なかの,りょすけ
+にしやま,たかお
+なかむら,せい
+ながしま,のぶお
+にわ,こういちろ
+なかの,ゆすけ
+おにざわ,ゆきお
+おしかた,かずお
+おか,きよし
+おくやま,たかのすけ
+おき,むねたか
+おかみや,きよし
+おぐら,けんじ
+おで,まさみ
+おのだ,ひとみ
+おにし,よしお
+おくだ,ほずみ
+おくだ,ふみのり
+おがわ,てつろ
+おの,やすろ
+おすみ,ごいち
+おつか,しんいち
+おとも,まさゆき
+おかざき,なおじ
+おはし,ゆたか
+おぎの,やすあき
+おさだ,ゆきお
+おば,まさお
+おしま,かつひろ
+おかわ,のぼる
+おかもと,すみお
+おがわ,けんじ
+おの,まさき
+おかの,まさのり
+おざわ,まさひこ
+おはく,まさき
+おしたに,きょいちろう
+おざわ,としお
+おはし,こうじ
+おはた,まさお
+おのでら,こうじ
+おの,たかし
+おほか,まさあき
+おの,ゆうじ
+おはし,ひろし
+おた,ふみお
+おもり,しずあき
+おしま,ひさし
+おかもと,あやこ
+ひろせ,かずや
+おみず,ひろし
+おの,とおる
+おちあい,きよと
+おかべ,とおる
+おたに,ゆきまさ
+おくの,ひろし
+おすが,たかし
+おのき,ひろし
+おひし,たかのぶ
+おかだ,ことく
+おみじゃ,みや
+さたけ,ふみお
+おだぎ,ふじこ
+おた,よしのり
+おふち,ゆたか
+おかわ,たかし
+おかど,けんたろう
+おさわ,こ
+おぎさわ,こういち
+おかべ,ともゆき
+おとよし,やすお
+おがわ,みつお
+おりがさ,まさひさ
+おば,たい
+おばた,あきひろ
+おの,しげお
+おさか,けんいち
+おみね,かおる
+おた,じょじ
+いのうえ,もとつぐ
+おこし,ゆきひろ
+おざわ,つねお
+おかべ,はちろ
+おぼら,さとる
+おた,ただよし
+おざき,かおる
+おくだ,さとる
+おざわ,ひでき
+おかだ,ゆきひろ
+おつか,あつし
+おのでら,ひでお
+おしお,たつろ
+おだしま,やすたけ
+おざき,ゆきこ
+まえだ,たかし
+おき,たかよし
+おのだ,まさや
+おなぎ,けんぞ
+おくだ,よしひこ
+おひら,あきお
+おのざわ,しげき
+おぎはら,ひでお
+おくま,けいいち
+おはら,えいじろ
+おき,じょひちろ
+おがわ,じゅにち
+おひゃ,やすひろ
+おさわ,てるあき
+おはら,すすむ
+おだ,こうじ
+おざわ,こういち
+おがた,ただしげ
+おかの,ただし
+おひし,しげる
+おない,みつお
+おつか,まさお
+おつか,ときえ
+おいで,あきら
+おきやま,よしきよ
+おぐし,せつじ
+おだ,としひこ
+おかばやし,くにあき
+おたに,かずお
+おつき,のぶひろ
+おかだ,かつすけ
+おすみ,たつや
+おひがわ,ひでほ
+おかだ,さぶろ
+おざわ,ひろよし
+おたに,たかこ
+おざき,みつお
+おた,りょすけ
+やなぎや,あきこ
+なかたに,しま
+こばやし,ひろゆき
+みくに,じゅんこ
+すずき,てつお
+はだの,よしあき
+みやま,かずこ
+たかはし,あけみ
+しらおがわ,やすし
+なかむら,ただひろ
+まつざき,じゅんじ
+やました,あゆみ
+しもやま,ひろし
+ふたむら,ちはる
+くわ,たかはる
+なかむら,すすむ
+よこやま,かずひこ
+ひるま,てつろ
+たちかわ,ひろゆき
+わかばやし,まさこ
+たかはた,ゆかり
+あべ,しんいち
+せき,ひでし
+やまざき,よしひろ
+やまね,じゅにち
+たざわ,ゆきまさ
+かじかわ,かおり
+さとう,まさと
+かわうち,らいた
+おひゃま,あそか
+しんみょ,きいちろう
+たちわだ,たかよし
+おくぼ,しげる
+とご,のぶゆき
+ながくら,たかし
+いとう,としみつ
+やまざき,ひろあき
+かざま,ゆきこ
+かんばやし,なおみ
+ささの,てるみ
+かわしま,とも
+しんぐう,えみこ
+こいずみ,りゅご
+かねこ,ひとし
+こばやし,よしひろ
+かもした,じゅんじ
+たむら,あさこ
+はせがわ,まさひろ
+くりはら,まりえ
+かなおか,のぶこ
+こばやし,じゅんこ
+ひいし,なおみ
+にへい,てつや
+まるた,ひろゆき
+とひゃま,たかはる
+せきざわ,けんそう
+ありま,せい
+くりはら,はるゆき
+すみの,ひでお
+よしだ,めいこ
+きのした,みゆき
+おちあい,のりあき
+うまやはら,たくや
+ほそかわ,よしみ
+ふかがわ,すえつぐ
+かわむら,しゅいち
+まつい,さちよ
+よしもと,たかし
+うなかみ,ひろふみ
+かねまつ,ひろし
+かわかみ,ゆきたか
+とよだ,たかゆき
+やの,いくこ
+せき,なおこ
+なかにし,なみ
+はしもと,ちか
+ふかや,やよい
+みやもと,ともえ
+たけだ,みのる
+みやざわ,ひでき
+いけだ,ともこ
+おしま,みゆき
+なかむら,やすみ
+ごと,ひろこ
+うしごめ,しんじ
+くわやま,えいぞ
+つかだ,けいこ
+むらた,たかひろ
+さとう,ともこ
+くろだ,さきこ
+すぎもと,まこと
+やすだ,ひでお
+きうち,あきひこ
+けどういん,たかあき
+たなか,ひとし
+なかむら,あき
+くりはら,くにあき
+たきざわ,ひでくに
+うえだ,としふみ
+こべ,みきお
+のぐち,かずひこ
+この,ひろし
+とみた,えりこ
+おた,ゆういちろう
+まき,ひろし
+あまの,ひろあき
+こみね,ちはる
+さとう,ちかお
+いまで,よしたか
+まつなが,かおり
+すずき,くにお
+まつお,こういち
+さいとう,さとし
+よしざわ,じゅにち
+うやま,ちか
+あんどう,ひろあき
+すずき,とよひこ
+よしだ,かずのり
+かわだ,ひであき
+ふくだ,ひであき
+もりしま,ふみお
+つちだ,ともひこ
+さかい,かなめ
+つかだ,ゆきこ
+はっとり,ひかる
+たむら,けんいちろ
+わたなべ,あきひろ
+こすぎ,ともや
+ひらた,ゆうじ
+すぎやま,たつや
+もりかわ,たけし
+かどた,かえ
+さの,きょいち
+おざき,わたる
+よこまつ,けいこ
+たなか,まさひこ
+いしさか,さとし
+いしざわ,かずとし
+こばやし,えみこ
+よしだ,けい
+きむら,まさし
+おつか,とうる
+あだち,みちやす
+あかさか,あつし
+みやもと,ひろし
+いちむら,こうじ
+おした,なおき
+ほんだ,たかあき
+かやぬま,けいた
+のざき,よしゆき
+かどわき,もとはる
+おじ,あきひろ
+たぐち,ひろし
+たけいし,てつお
+ひらい,かつひさ
+かなざわ,ゆみこ
+ふるかわ,こういちろう
+もりなか,ゆずき
+あらい,じゅん
+たなか,ともあき
+しみず,りえこ
+いちはら,たける
+きたのはら,たかし
+きたお,しょうじ
+もりもと,みどり
+きたむら,かおり
+ささざわ,のぶゆき
+まつおか,おさむ
+こうら,こうじ
+みわ,ゆうじ
+よしおか,ふじえ
+ほり,やすひろ
+さいとう,やすつね
+ながせ,あきと
+もりしま,しんじ
+おわり,じゅにち
+たなか,えりか
+てらむら,まさよ
+こばやし,としあき
+さいとう,よしのり
+きむら,よしゆき
+はしもと,まさる
+なかがわ,ひでひろ
+なかむら,ともひと
+はぎわら,ひでき
+にしかわ,りかこ
+きたじま,たけし
+たかうら,なおこ
+あさだ,たかひろ
+きたずめ,ひろこ
+ねもと,ひろこ
+たなか,ゆみこ
+たなか,よしひと
+あだち,ひではる
+はら,ひろか
+あかまつ,まきこ
+いまむら,みき
+むらやま,としまさ
+たけうち,きょぞ
+ずし,ひろのり
+こばやし,たけし
+やまざき,よしひさ
+はまぐち,てつや
+かげやま,まさおき
+かなもり,くにひこ
+かとり,ともみ
+あらい,こういち
+みやた,やすお
+すずき,ひでよ
+はるた,あらた
+なかざわ,わかこ
+すが,まさひこ
+まえでら,かずひろ
+あらまき,かずひこ
+きたの,まさゆき
+よしの,けんご
+みくりや,あつし
+おくのぎ,よじ
+さくらい,たかゆき
+こんど,やすお
+すずき,かほ
+くりはら,あつこ
+むこうぐち,そいち
+ふじい,ひろゆき
+かげ,ひでき
+まえだ,つよし
+ながほり,しょへい
+つじ,まりこ
+きむら,えみこ
+まつお,ひでや
+たての,たかし
+きむら,まさゆき
+すざき,てるゆき
+いわさき,あつし
+さとう,たつや
+にった,しげみつ
+たなか,ようこ
+しまだ,けんじ
+たにぐち,よしかつ
+ほんだ,なお
+なかたに,のりこ
+みやじま,くみこ
+くきやま,まき
+せきね,あきひろ
+よしはら,ゆうこ
+ひらた,のぶや
+ながさわ,ゆきこ
+なかがき,ももこ
+くろかわ,しんたろう
+かけたり,こういち
+いとう,のりよし
+まえかわ,まこと
+まつだ,たつや
+くわはら,みやび
+いいずか,ゆり
+まじま,だいかん
+むらた,まり
+あきいけ,あかね
+なみき,のりこ
+よしの,すなお
+すずき,たかし
+たむら,しゅん
+かめだ,こうじ
+にし,りょたろう
+いなおか,さとる
+いわさき,まさかず
+かんだ,としお
+ただ,けいこ
+うつ,やすゆき
+しまだ,けんじろ
+よしだ,かよこ
+おくがわ,じゅんじ
+すずき,あきお
+たんぽ,まこと
+わだ,わかこ
+うるしはら,ひでゆき
+いいお,ともこ
+にいはら,ゆういち
+おむら,てつや
+いのうえ,みきこ
+もりなが,ゆき
+さの,みどり
+なかたに,しんや
+あべ,やすし
+うちだ,けんじ
+ひろた,ゆうじ
+いわくら,なみ
+いしおか,えいき
+ときた,ともあき
+きのした,まさお
+みずの,ひろゆき
+やすえ,よしふみ
+いわもと,けいこ
+やまじ,みねこ
+こさい,なおこ
+くぼ,えいすけ
+ちば,たろう
+やつたに,きょこ
+いがらし,たくや
+あらかわ,ぜんじろ
+てらさき,としひろ
+せごえ,ひろし
+とくしま,まさやす
+ばんど,まさなお
+たきざわ,けんじ
+みずさき,ゆさく
+たきぐち,かいじろ
+ひおき,ひであき
+なかい,なつこ
+おいかわ,なおすけ
+まつむら,あいこ
+えんど,まさみ
+たじま,さとる
+やまざき,ゆかり
+せのお,ゆうこ
+はらだ,としえ
+ふくい,ひかる
+まつうら,あつし
+かわむら,たかずみ
+てらもと,あかね
+はぎわら,もとあき
+なかしま,さとこ
+きのした,まさこ
+あらい,しょこ
+むらやま,けんじ
+さえぐさ,けんたろうう
+たなか,けい
+まえだ,まさし
+みやざき,あつみ
+いけべ,れいこ
+くわばら,ちぐさ
+よだ,よしお
+たちばな,さとこ
+やまぐち,えいじ
+いしはら,こうじ
+たきざわ,としまさ
+ひらの,ともか
+かわさき,けい
+やまもと,ゆういち
+あらせ,たかみち
+やなぎさわ,たくみ
+しおや,えみこ
+さとう,みちお
+かとう,ちずる
+おの,じゅんこ
+きたはま,ともみ
+ごと,みつこ
+にのみや,おさむ
+うすい,かずみ
+みずしま,あきら
+すどう,たかのり
+いけだ,たかお
+なかひがし,やすあき
+くりもと,よしあき
+とだ,けいこ
+はかまた,まさあき
+たにぐち,よしぶみ
+いまぜき,たかよし
+ほりお,ひさとし
+かすが,あつし
+かわせ,まさのぶ
+さとう,あきえ
+たかなし,こういちろう
+まつした,ひとみ
+やぐち,よしたか
+かねこ,やすまさ
+ひだか,のりこ
+さっさ,まゆみ
+そが,とものり
+すぎうら,たける
+さとう,まこと
+たにばやし,あきこ
+にしおか,ありしげ
+ともなが,ろわる
+おはし,ひろたか
+ながしま,あつのぶ
+たにがき,はるみ
+こうだ,いくこ
+きよの,まゆみ
+やまかわ,つよし
+なかじま,なおこ
+もてぎ,ひろみ
+おぬま,のぶあき
+さとう,たかし
+ふるいえ,ひでき
+あいもと,かずゆき
+よこお,みお
+にしかわ,たいち
+びと,たくや
+きたむら,けんたろう
+やまかわ,あみこ
+とみた,さちこ
+つちだ,たかし
+いしぐろ,なおき
+まつお,ひでき
+うえもと,せいた
+いいだ,せいこ
+すずき,こみな
+たむら,さとし
+おくだ,としお
+ほり,ひろし
+くさつぐ,こうじ
+やまだ,ゆたか
+あさはら,しげお
+とくだ,よしこ
+いでた,もとふみ
+いとう,くにお
+さとう,けんじ
+つじさわ,よしなが
+おの,しんや
+いわま,さだはる
+だいごく,たけし
+やまむら,ひでと
+はせがわ,りえ
+いぎ,とおる
+まかべ,こういちろ
+おかもと,みきこ
+おはら,しげひろ
+せきやま,かずよし
+きたじま,のぼる
+とりうみ,よしみ
+みやざき,やすし
+うい,まさなお
+くらもち,たかひろ
+しおぬま,まんなり
+らいた,よしひろ
+しもこべ,てるみち
+さわの,きいちろう
+さかにし,けい
+ささき,こうじ
+せいの,のぶあき
+すずき,じゅにち
+さかもと,よしかず
+すずき,としかず
+さわの,たかひろ
+しが,まさかつ
+ごと,かつお
+すだ,ゆきなお
+すずき,かずお
+さかきばら,ひろあき
+さとう,まさひろ
+さかぐち,たてお
+すぎさき,よしひと
+すえき,かずひろ
+すずき,ひでとし
+しばた,いくお
+すぎやま,のぶかず
+さかい,てるお
+しみず,ゆうじ
+すぎもと,としお
+さとう,けいぞ
+せき,あきよし
+さくらい,としお
+せきぐち,しろ
+さとう,かつや
+すずき,てつや
+さいとう,とくまさ
+せきね,じゅんじ
+すずき,よしこ
+いいだ,としお
+すずき,けんじ
+ささき,よしのり
+すえなが,みつくに
+さかもと,たかし
+さいとう,のぶあき
+すがお,ことじ
+しまず,ただお
+さいとう,まさゆき
+しのざき,ただし
+すずき,としお
+すなが,たくじ
+さとう,おさむ
+すずき,はるゆき
+せきね,こすけ
+ささき,えいじ
+さわだ,ゆのすけ
+さいとう,ただお
+しもぞの,とよふみ
+すえ,つとむ
+さどとも,きよたか
+せきね,ひろし
+さとう,みつお
+さんご,としお
+すどう,ひであき
+そのだ,まさみ
+しま,てつじ
+さとう,みのる
+さとう,ふみお
+しぶや,あきら
+さとう,よしゆき
+さとう,けん
+さかた,おさむ
+さいとう,けいたろう
+すわき,さだのり
+そり,としお
+さかもと,あきら
+しらいし,かずお
+すずき,ただひこ
+しまだ,たかし
+すずき,あきら
+すずき,けんすけ
+さとう,さとし
+すずき,よしのぶ
+さとう,くにあき
+しげまつ,なおみ
+さがら,みのる
+さいとう,よねぞ
+しんぐ,とみお
+すがぬま,かずあき
+そが,かずお
+ささき,てるひこ
+さとう,よねお
+さわだ,おさむ
+そま,たかし
+しばた,たけじ
+さとう,しゅにち
+さとう,まさとし
+しまだ,あきお
+ささき,としお
+さとう,まさひろ
+さいとう,よしお
+しもで,はじめ
+ささき,きよし
+さとう,つとむ
+さとう,きよし
+さわだ,たかとし
+しろさき,ゆきお
+しばい,たかお
+さいとう,てるのぶ
+すずき,たけし
+そがべ,のぶゆき
+せがわ,しげる
+しみず,てつお
+すずき,おさむ
+しろやま,たけお
+しいな,みちこ
+さやま,きよし
+さかもと,ひでお
+さとう,のぶお
+すずき,けんじ
+すずき,しげる
+ささせ,ひでき
+さくらい,としお
+しまだ,よ
+さとう,ひさお
+しもの,しんいち
+すずき,よひち
+すぎもと,すすむ
+しみず,みちお
+さの,としお
+すずき,いさお
+しまだ,ちひろ
+すずき,みのる
+すぎふじ,よじろ
+さかい,よしひこ
+さかぐち,よしお
+すがわら,まもる
+しのずか,まこと
+しが,ひろし
+さかがみ,ただよし
+すずき,てつろ
+すぎの,かつゆき
+すぎうら,まさき
+しみず,せいじ
+すずき,かつひろ
+ささこ,よすけ
+せき,よしなり
+さとう,まさお
+しま,たけお
+すずき,よしのぶ
+さかもと,こへい
+ささき,かずひこ
+しまだ,はるひさ
+さいとう,ひとし
+しおた,しんいち
+しおだ,えいじ
+すだ,だいさく
+しいな,じゅにち
+しおのや,みつお
+さいしょ,とよま
+そいだ,かずゆき
+そま,ひでお
+さとう,すすむ
+さとう,かずみ
+しおばら,たけしげ
+ささおか,せいぞ
+ささき,ゆきよし
+せと,たつじ
+しゅど,ひろし
+さかもと,きよてる
+さくま,よしかず
+しのざわ,ひろし
+しおばら,いそじ
+さくらい,ただひさ
+さとう,とよお
+さくらい,いさむ
+ささべ,えいじ
+さとう,けんぞ
+すぎうら,てつお
+さかい,やすひろ
+そま,えいいち
+そひゃ,かんじ
+そねかつ,ひろし
+せきね,たけみち
+すずき,きよえ
+せきね,よしたか
+さかきばら,みつのぶ
+しもかわべ,ふみお
+さわむら,たかお
+せき,ひろし
+すずき,たかし
+さかまき,つよし
+さがわ,ひろゆき
+すぎやま,ゆずる
+すぎもと,めぐむ
+せお,としお
+さいとう,ひろし
+さかい,りゅぞ
+さくらい,ゆぞ
+せきね,まさお
+さとう,のぶお
+しみず,せいじ
+しみず,あきら
+さいとう,たけお
+さくらい,のりお
+すぎやま,としつぐ
+しずか,かずとし
+しらかわ,けん
+さいとう,なるみ
+さきもり,じゅにち
+さとう,こずえ
+せきぐち,ひであき
+せきね,としひさ
+しばた,たけゆき
+すずき,こ
+さいとう,ゆうじ
+さとう,たかし
+せきね,みきお
+さかい,ただひろ
+ささお,まさのり
+すどう,はつみ
+もり,たかし
+しみず,としお
+さとう,まさお
+すずき,まさあき
+しむら,やすお
+しばさき,ひさなお
+すがまた,あきら
+すずき,ゆずる
+しおのや,いわお
+たかはし,てつお
+つきやま,おきとし
+つのだ,のりこ
+たかはし,こうじろ
+とくざわ,たかひろ
+たぐち,ひさお
+たかぎ,のりお
+たかの,おさむ
+たはら,はるひこ
+とよさわ,しんじ
+とよます,まこと
+たかはし,しょじ
+たけうち,えいぞ
+たきいし,てるお
+たかいし,いさお
+たかさき,ひろとし
+たにがわ,ひろし
+たかはし,かずお
+たなはし,ひろし
+たまき,きよかず
+とば,としろ
+たばた,きくお
+つじ,よしき
+たなか,なおと
+たかはし,もりはる
+とくなが,まさお
+たぐち,ひでお
+たきざわ,てるみつ
+とみ,きよかず
+つじ,こういち
+うちだ,けいいち
+たなか,まさのぶ
+つねよし,ていじ
+たかの,りょじ
+たかはし,しげお
+たかやなぎ,けんじ
+たけだ,ひろゆき
+たぼ,まさとし
+たなか,こうじ
+たけうち,ひろし
+たかやす,まさし
+つちや,たかし
+とくなが,たかお
+つちだ,あつし
+つぼい,まさのり
+たかはし,きみお
+つかもと,まさお
+たなか,かつしげ
+ともつね,たねまさ
+ちじ,けいこ
+さとう,としお
+たかた,いわお
+とはた,のりかず
+たかはし,むねお
+たかはま,ゆきち
+てらさわ,よいち
+たかばやし,けいすけ
+てらだ,ゆたか
+つかだ,かずお
+たなか,まさき
+とりまる,とよみ
+つちだ,ゆはつ
+たきもと,けんじ
+たきい,なおかた
+たねだ,えいえつ
+たむら,まさしげ
+たどころ,さだむ
+たかお,しげる
+たなか,すすむ
+たかはし,としはる
+たかはし,せいじ
+たかはし,つねお
+とみた,よしみ
+たかはし,みのる
+たにぐち,よしあき
+たなか,なおこ
+つぼい,しょじ
+たけうち,しゅじ
+つだ,せいじ
+たけだ,ひでお
+たけい,たみお
+つじかわ,まもる
+たけむら,としひこ
+たき,ひであき
+たかだ,けんじ
+たきざわ,よしのり
+たなか,ひさお
+たにむら,ますみ
+よしざわ,ひかる
+つねかわ,はつお
+たなか,しげゆき
+たかだ,ふじお
+つる,とおる
+たに,あつのり
+たぐち,みちあき
+たなか,ゆぞ
+たにぐち,ひろみ
+たなか,ほぶん
+つじ,とよし
+たなか,まさゆき
+つゆき,しげお
+たまる,ゆういち
+つちや,せいじゅ
+つるおか,まさあき
+たかはし,まさあき
+たかはし,しげる
+とふくじ,まさじ
+たなか,たけよし
+たかぎ,まさはる
+たかはし,たろう
+たにぐち,ひろし
+とよだ,かつお
+たかぎ,あきら
+たけい,まさひろ
+つだ,いさお
+つねひろ,じゅんぞ
+たきざわ,かずひろ
+たちばな,のりみつ
+たかはし,ゆひち
+たにぐち,かつみ
+たけだ,ひさお
+つちや,まさみ
+たかはし,けいじ
+たのうえ,のぶお
+たかばたけ,てつお
+たかはし,みつこ
+ふなき,としお
+たけだ,おきつぐ
+とくなが,きょこ
+あさい,よしひさ
+たかはし,りょじ
+たかはし,ひとし
+たがわ,たけし
+たなか,しげる
+たちかわ,ふみお
+たぐち,じゅんじ
+たかさき,としお
+たまおき,ごいち
+たなか,かつゆき
+たかの,こすけ
+たけうち,かずと
+つだ,けんいち
+たかなみ,としあき
+つきなわ,ひこさぶろ
+とみもり,まさのぶ
+たけだ,またさぶろ
+とがし,てるやす
+つずき,かつまさ
+とびた,たつ
+ともなが,ゆうじ
+つつい,みきこ
+たかぎ,のりお
+たにぐち,しょひち
+たかの,のぶゆき
+たなか,たけし
+とまつり,かずよし
+たかぎ,あきら
+たかしま,しずお
+たはら,せいいちろう
+たなか,しん
+たかだ,しげる
+とりい,せんじ
+たけべ,まさる
+つかもと,よしなお
+たむら,すすむ
+とみなが,とおる
+たかいわ,てつひこ
+たばた,しげとし
+たかはし,のぶあき
+てんぽりん,つねかず
+てらうち,しげあき
+たかはし,じゅんじ
+たかせ,かずとし
+たけむら,としひろ
+たむかい,さとし
+たかはし,しろ
+たけつ,いつお
+たのおか,ふみお
+たかはし,よしあき
+とひゃま,かずこ
+たけうち,よしお
+たかはし,みつゆき
+うしお,のぶゆき
+うすぎ,あきお
+うちやま,のぶひろ
+うめだ,さかえ
+うけもり,さとし
+うちだ,けんじ
+うえだ,くにお
+うちだ,そひち
+うつき,さだゆき
+うえだ,きよし
+うちだ,ちから
+うえはら,もとい
+うえむら,ふみお
+うちだ,ゆうじ
+うちむら,かつじ
+うちだ,すすむ
+うちだ,ただし
+うえき,きよのぶ
+うかじ,あつし
+うちだ,まさお
+うえむら,ゆずる
+うしお,かずひろ
+うめむら,よいち
+うめしま,かずすけ
+うこん,まさな
+うちいけ,みちや
+うるしの,ひさお
+うちなし,けいじ
+うぐさ,てつお
+うの,みきひこ
+うえき,ひでき
+うえもと,しゅ
+うえむら,のぶや
+うえはら,さだゆき
+うえだ,けいいち
+わたなべ,けんすけ
+わたなべ,けいいち
+わたなべ,あきこ
+わかむら,まさてる
+わたなべ,まさあき
+わたなべ,ひでお
+わたなべ,とくじ
+わたなべ,としお
+わたなべ,りきつぐ
+わたなべ,かおる
+わたなべ,じゅにち
+わたなべ,たかあき
+わきた,へいた
+わたなべ,まさゆき
+わたなべ,としひで
+わたなべ,みのる
+わたなべ,けん
+わたなべ,ゆきお
+わたなべ,ひろし
+わだ,しんぺい
+わたなべ,ひさゆき
+わだ,かつみ
+わだ,きんや
+わたなべ,やすろ
+わたなべ,ひでじ
+わたなべ,よしたか
+わかばやし,ひろはる
+わたなべ,かつなり
+おた,ひでお
+ふじわら,かつひこ
+こいけ,やすあき
+かたおか,ただし
+ひろしげ,こめい
+しんざわ,ときお
+みずかみ,こんご
+なかじま,あきら
+ふくしま,おさむ
+なか,けんじ
+ひらやま,すみただ
+にわやま,やすし
+しみず,たつひこ
+ふるさわ,たけみつ
+さくらい,ほまれ
+たけなか,まさあき
+すぎうら,あきら
+かとう,しげあき
+ほしかわ,みねお
+おがわ,ひさお
+かしわぎ,まこと
+さかい,すみあき
+もり,みちお
+ほんぼ,てつや
+いいじま,きよし
+こじま,ひろし
+たかはし,まさみつ
+はた,けいいち
+おがわ,しげき
+つちや,ひろし
+こやま,まさこ
+ふるみ,かつじ
+くめ,そじろ
+くらた,つよし
+うしじま,みずほ
+えばと,あつのぶ
+さとう,かよこ
+むしゃ,けんじ
+ゆあさ,まさお
+きくち,いさお
+まつばやし,こ
+まつい,ひろこ
+たけむら,はるお
+てらしま,のぶゆき
+くら,よしあき
+まつい,たかお
+うえだ,のぼる
+はやし,しょすけ
+かわな,あきのり
+はやし,かつや
+でもと,いさお
+しぶき,てつお
+はま,つねお
+えんど,せつお
+みやもと,まさかず
+まつだ,かつのり
+やまもと,のぶゆき
+むらかみ,なおひこ
+おかだ,まもる
+わたなべ,なおき
+いわさき,てるよし
+よしだ,あきら
+おもり,ひろし
+みずたに,よすけ
+すぎうら,ひでくに
+のなか,よしお
+わたなべ,いさお
+さいとう,しんいち
+おかわら,だいじろ
+かどいけ,かずお
+まつもと,まさひろ
+なか,たけし
+かとう,たつお
+かわいし,こざぶろ
+ながさわ,たかひさ
+すやま,ひろし
+くましろ,ともこ
+たかばやし,しげお
+こんど,だいきち
+いなば,かずゆき
+こばやし,あきよ
+やまぐち,すみゆき
+すずき,まさのり
+あきやま,ひさえ
+たかだ,かずお
+さわい,みつたか
+なかた,いさむ
+いたば,たけお
+くにぎた,げんたろう
+やまだ,たけただ
+やまだ,のりかず
+たかはし,たかお
+うめむら,けんぞ
+こばやし,ゆうこ
+かねみつ,つとむ
+なかがわ,くんろ
+きど,ひろし
+かねき,ひでお
+こむら,けんぞ
+ふじもり,さとる
+やました,としひろ
+くりやま,みかこ
+とざわ,ゆうじ
+いしい,ゆたか
+たかはし,あきら
+たなか,まさひこ
+いしざき,きよゆき
+はらだ,ゆひち
+とくひさ,よひち
+いしむら,ようこ
+うえだ,ゆうこ
+おふち,よいちろう
+やつるぎ,のりひこ
+みなと,のぶあき
+よしだ,ただお
+みなみ,よざぶ
+おか,まさし
+いちかわ,ただお
+おくぼ,まさひろ
+いしだ,けんいち
+とみた,てるたけ
+ひらおか,まさひろ
+かとう,たかし
+おむら,ちかとし
+おさじま,よひち
+ふなこし,かずみ
+こだ,てつお
+あさおか,まさひろ
+かすが,しげやす
+ももはら,ただひろ
+うえむら,たかし
+おばた,くにひろ
+おのだ,みつお
+みやした,まゆみ
+ほそや,まさひろ
+やしろ,やすお
+わたなべ,あきお
+きむら,かずお
+かみじょ,ひでき
+さとう,ひろゆき
+まつしま,いさお
+かたやま,ひろひさ
+ひらの,ひでお
+なからい,むつお
+よこやま,としや
+おがね,せつお
+きむら,ひであき
+のざさ,たつお
+もりの,あけみ
+えちごや,ぶにち
+ふくしま,としひで
+いとう,かずこ
+いけだ,ゆきお
+とくなが,かんじ
+きもと,やすお
+おしだ,ゆきお
+はしもと,あつし
+のぐち,ときち
+みやべ,ひさえ
+くわはら,よしおき
+きむら,あきら
+おだ,ようこ
+あいざわ,ごへい
+うえの,だいすけ
+まつばら,ひさお
+たまい,ともひろ
+しらい,まこと
+おはし,よしのり
+たみや,かずしげ
+はらだ,みちひこ
+うすい,ひでお
+こり,まさゆき
+のだ,ゆきこ
+なみき,りえ
+なかお,あいこ
+かどや,さとこ
+おの,のりかず
+しぶかわ,としのり
+いわさわ,かずと
+たぶせ,やすえ
+おさわ,ひろみ
+なかだい,かずゆき
+えがしら,たみお
+ささき,かつお
+ふくち,のりゆき
+よしやす,かずみち
+わたなべ,よしお
+うえの,こうじ
+えと,ふみや
+よしだ,よしこ
+たけい,たかし
+はやし,こういちろ
+またき,しげひこ
+もりもと,まさと
+いはら,まさみつ
+つかはら,あきら
+かの,としひで
+むねゆき,しんいち
+おつぼ,まなぶ
+やまもり,いちろう
+あんどう,たかよし
+やまざき,けんじ
+たきもと,ひろゆき
+たけむら,かつお
+むらかみ,かずひこ
+たかた,ご
+ひろせ,こさと
+やくわ,れいこ
+しんぐりょ,まさのり
+たち,まさお
+さとう,ゆひち
+やまもと,ひさし
+すどう,しんご
+ほんま,いちろう
+おつぼ,けんじ
+かざま,てるお
+あがわ,ともこ
+いのうえ,ひでまさ
+あらい,よしたか
+うえむら,かつお
+にしくら,せいき
+みやざき,よしあき
+ふくだ,よひち
+つりや,なおかず
+たなか,まこと
+おがわ,のりお
+すずき,つたひろ
+はまぐち,たかし
+かめだ,ようこ
+ももはら,まさし
+ひらお,かずお
+たかだ,まさひろ
+いけだ,しょこ
+すずき,ひろき
+たかはし,としお
+たなか,みつひろ
+せら,みほこ
+たけむら,りゅひち
+ほりきり,まさち
+いけだ,ゆたか
+あらき,まさひろ
+おつか,よしかず
+くにまつ,もりまさ
+うしば,ただお
+はやし,ひろかず
+いしい,こうじ
+かだ,みのる
+やぎ,たくじ
+ひらい,かつや
+くろせ,ひでお
+おかべ,たかこ
+かねこ,なおゆき
+こじま,よしひろ
+にしより,あきら
+なかじょ,かずよし
+はしくら,じろ
+たかはし,たいち
+うえくさ,としあき
+しばた,まもる
+たかはし,みのる
+いなば,せきね
+じゅにちろ,かずいちろう
+はやかわ,せいざぶろ
+いとう,たかし
+きもと,まさと
+いだ,みきお
+ほじょ,あきら
+ほりい,ただお
+かいせ,こういちろう
+はしもと,ひろし
+すずき,いさむ
+かねさか,としゆき
+やまぐち,さとる
+すずき,みのる
+すどう,じろ
+おば,つとむ
+むらた,たつお
+あきやま,のぶあき
+あすま,ひろし
+かわじり,てるお
+まつもと,かずと
+しろやま,あきのり
+ふじい,ひでお
+ごと,たけし
+たにあい,まさつぐ
+かつぼり,ひろし
+ひあて,かつひこ
+てらい,つねお
+はんだ,あつし
+みしま,やすあき
+たかしま,ひとし
+まつだ,よしお
+こんど,ゆうじ
+いたや,まさかず
+まつもと,まさひこ
+いいやま,みほこ
+じっと,としこ
+くぼた,まさし
+いしぐろ,たけお
+もり,ひでお
+かんの,きょじ
+いとう,こ
+よしだ,あつこ
+まるやま,だいすけ
+さとう,やすまさ
+こだ,まき
+わたに,くみこ
+させ,あきこ
+そとやま,まさこ
+ほんだ,ひろみ
+いぬい,かずみ
+すずき,あきら
+こにし,のりこ
+すぎい,けんじ
+あらき,なおたけ
+ひらおか,ひでお
+おつか,かつひろ
+かとう,さちこ
+しおの,えいじ
+かたやま,うつみ
+ふちかみ,さちこ
+ひらき,せいじ
+いわさき,りゅじ
+えのき,くにお
+いわた,なほ
+しゅと,よじ
+とひゃま,まもる
+こいで,いくお
+たなべ,かつのり
+やまもと,てるくに
+かいはつ,ゆたか
+あらい,よしのり
+うえだ,よしのぶ
+くらおか,ゆきひさ
+こばやし,のぶお
+ためちか,やすし
+よしだ,むつお
+まつもと,しげお
+さかした,ひろし
+わだ,ひろのり
+いとう,たけひこ
+よしだ,たもつ
+よねだ,きみお
+おむら,じゅん
+たかぎ,せいいち
+うちやま,ただし
+かしわぎ,まつのり
+にしだ,じゅんざぶろ
+おしか,ゆうじろ
+えじま,しゅにち
+おか,せいし
+よしだ,かつじ
+いまい,ゆぞ
+やまみち,そういちろう
+あいもの,えつひろ
+ひの,たてお
+たかはし,しずお
+よこた,しげる
+いのう,かねお
+よしだ,としあき
+よしおか,やすお
+うめざわ,かつじ
+てらお,としひで
+かわはら,まさみ
+はせがわ,しちろ
+きし,あきこ
+はしずめ,けいこ
+よしだ,せつお
+みねふじ,たけお
+ほんだ,とものり
+たかさわ,けんいち
+おはし,やすえ
+かがわ,やすしろ
+にしだ,ともこ
+いたがき,かつお
+あきやま,もとこ
+さいとう,みさこ
+おちり,えいこ
+のざわ,たえこ
+さいとう,ひろこ
+きむら,あきこ
+あべ,うきこ
+くすのき,ひろひさ
+はやし,はるお
+おひ,みのる
+かみおか,てるこ
+あきやま,みつひろ
+ありた,めぐみ
+きたむら,なおこ
+ますむら,ゆみ
+おさわ,みゆき
+かわい,ようこ
+いたがき,ちか
+もり,まり
+あおき,あきこ
+ふじしろ,のりひろ
+しみず,こひょ
+むらかみ,やすひろ
+なかじま,こうじ
+もぎ,けんじ
+みうら,ちえ
+たかまつ,なおと
+たかだ,ともこ
+こんど,やすひろ
+なかじま,なおみ
+ねれい,はるよし
+うしく,いさお
+きたざわ,かつみ
+さっさ,みちゆき
+いっしき,たかのり
+かわの,けん
+いしはら,みのる
+かめおか,ひでお
+きうち,たかお
+ながい,みきお
+のぐち,こうじ
+おした,もとしげ
+よしむら,みよし
+あかほり,てつお
+まるなが,あきお
+よしの,かずお
+やの,けんじ
+やまぐち,しょひち
+やまぐち,まさこ
+せんどだ,ひとし
+やすだ,ひろし
+よこえ,おさむ
+やました,こ
+よしだ,のぶひろ
+やました,よしひろ
+やすい,のりつぐ
+やまおか,ふみたか
+よこせ,ただお
+やまぐち,のりかず
+やはぎ,ひとし
+やまおか,みちお
+よつや,たかお
+やまもと,としみち
+よしかわ,みつのぶ
+やました,よしつぐ
+やまおか,こうたろう
+よねみつ,よしひろ
+よしだ,まさひで
+やまざき,かつとし
+やまもと,まさる
+やまぐち,あきら
+やまうち,じゅにち
+よしざわ,せいざぶろ
+よしおか,とみぞ
+やまもと,すすむ
+やまおか,かずお
+やまざき,きょすけ
+よしむら,ともしげ
+やすだ,けんじ
+やました,やすはる
+やだ,ひろまる
+よしだ,とおる
+やまもと,じゅんこ
+やまだ,としろ
+よねだ,しょじ
+よしだ,ひろこ
+やまだ,せいじ
+やまぐち,けんいち
+やまぐち,てつお
+やまもと,ひかる
+よしだ,みのる
+やました,さかえ
+やんべ,かつみ
+やまぐち,かつひと
+やまもと,のぶお
+やまね,みちとし
+やまさき,あきら
+やすおか,まさひこ
+やまだ,こうじ
+よしざわ,せいいち
+やじま,しんや
+やない,いちろう
+やまざき,つとむ
+やまうち,ごろ
+やまざき,かおる
+よしの,まさひろ
+やまかげ,くすお
+やぎ,たかふみ
+やすだ,ふみひろ
+やまや,たかこ
+たかぐち,すすむ
+よしだ,しょぞ
+よしの,あつひろ
+やまむら,のりよし
+やぎ,じゅんじ
+やまだ,こうじろ
+ゆかわ,けんたろう
+やまもと,ゆきお
+やまたに,えいぞ
+やまむろ,じろ
+よしだ,あきら
+よこかわ,てつお
+やまざき,かずお
+やまもと,ふくみち
+よしの,すすむ
+やまね,たつゆき
+やすなが,ただのぶ
+やなか,じつのり
+やまね,まさお
+やまうち,のぶお
+やまぐち,のぼる
+やまわき,ひろし
+やまかわ,こうじ
+やまだ,じゅにち
+よこやま,かつのり
+やまもと,こすけ
+やまぐち,まさとし
+やまぐち,じょじ
+よしだ,ひろつぐ
+やまなか,よしかね
+やまもと,としひこ
+よしだ,ともよし
+やまだ,こういち
+やまおか,たけお
+よこやま,きよし
+やまさき,よねたか
+やまもと,あきひろ
+やまかわ,けいいち
+やうち,てつお
+よしはら,よしゆき
+よこみぞ,ゆうじ
+やまもと,しょたろう
+やまもと,じゅにち
+やまもと,かずみ
+よしだ,しょたろう
+よしだ,やそみ
+やすい,のぼる
+やまぐち,たかよし
+やまもと,たかお
+よこた,かずみ
+よしだ,ただはる
+よこやま,たかお
+やすい,さとる
+やまさき,よしとも
+よしおか,まさひさ
+よしだ,のりお
+やまだ,かつひこ
+やまもと,まさよし
+よしだ,ただよし
+やまざき,かつじ
+やまね,しげる
+ゆたに,しゅぞ
+よねざわ,てるお
+よしの,えいいちろう
+よしだ,まさひろ
+よしもり,ふみひろ
+よしわら,みのる
+やまだ,しげる
+よしだ,あきら
+よしだ,えいいち
+やまもと,ゆたか
+こじま,ひでき
+おの,かずもと
+まえかわ,かずひろ
+この,のぶお
+まきせ,しゅんろく
+のむら,かつひろ
+やすはら,よじ
+ながしま,せいぞ
+きたはし,せいしろ
+つる,なおじ
+つくだ,すすむ
+てらうち,よしひろ
+やまだ,だいすけ
+せんば,たけお
+さえき,ひさとよ
+おかだ,たけし
+みやうち,としき
+こんど,としかず
+ふきあげ,むつお
+いしかわ,もりひこ
+いわもと,くにかつ
+くぼ,しげお
+たなか,こうたろう
+わだ,のぶゆき
+いわお,きよし
+くまがい,まさたか
+すずき,まさひこ
+たかむら,あつよし
+にしうら,まさお
+みつじ,きよみち
+たききた,みちお
+おうち,たけし
+こま,さとる
+ますだ,すすむ
+かとう,のりお
+いいずか,しょひち
+まるやま,ひさお
+としたに,としお
+はなぶち,やすお
+いまい,ちよたけ
+おかひろ,まさお
+きむら,じゅにちろ
+たじま,ひろかつ
+かんだ,のりお
+どい,つねのり
+あらがき,たかひろ
+きゅそじん,ひろふみ
+たけうち,ひろし
+うぬま,せいいちろう
+やまぐち,まさし
+よもり,あきら
+しまざき,けんじ
+とくや,あきお
+やまだ,けんじ
+ふかや,としろ
+えぐち,かずひこ
+さの,のぶあき
+とくの,とおる
+おとも,まさひろ
+しらおがわ,まさぞ
+ひらの,つねお
+おだ,としひこ
+たなか,まさはる
+ふじた,つらゆき
+あらい,おさむ
+ふじた,やすのぶ
+なかがわ,けんすけ
+なかにし,つねよ
+はら,ひでなり
+ちば,よしたか
+いしわた,もとひさ
+やぐち,くにひこ
+てじま,としお
+たつた,あきら
+くさか,しげお
+ふるた,はるお
+ごと,ひでのぶ
+おだぎり,あきら
+すずき,さだむ
+くまがい,ひろし
+むらかみ,たいき
+みむら,ゆうじ
+よこい,りょぞ
+いなげ,あきら
+あめみや,あきひで
+いのうえ,ゆうじ
+ぬまた,ひろゆき
+さかもと,かずしげ
+ひらまつ,あきひろ
+なりた,としこ
+つねみ,としひさ
+たかしま,たけひろ
+みす,かずお
+さきやま,しげる
+ふじわら,たけし
+とみた,たけはる
+つなわき,まさのぶ
+はせがわ,ただし
+ふくざわ,だぇ
+ごえけ,たける
+なか,みずほ
+えばと,まさお
+こばやし,くにひこ
+ひらつか,ともゆき
+さとう,みつお
+いのうえ,さだお
+はすぬま,じにち
+ふるはた,ごへい
+うえの,さだお
+たけなか,かおる
+くにたけ,いちろう
+ひらた,ふさひこ
+はせがわ,かずみ
+ふくはら,よしひこ
+ふなぐち,ただし
+あまの,まさひろ
+おの,みねお
+すわ,たけし
+のがみ,ゆぞ
+うめの,あきら
+いけの,まさひろ
+なかじま,けいこ
+いしい,しんいちろう
+さいとう,きよし
+たなか,のぶお
+たていし,あきら さとし
+すずき,まさお
+きのした,あさこ
+おさわ,あつし
+いで,まさひろ
+おがわ,よしお
+えのもと,ゆうこ
+おざわ,げん
+はたけやま,あつし
+いいだ,とおる
+しのざき,のりこ
+おかだ,みずのり
+たかま,のりこ
+やぎ,みか
+さかい,やすゆき
+しみず,ゆうこ
+ほりかわ,はなこ
+ながお,きょこ
+ひらいし,ともこ
+さがわ,かずゆき
+はらだ,としかず
+たかはし,よしひこ
+たち,ひかる
+ひえ,よしひろ
+とむら,さきこ
+ただ,しほ
+よしもと,わきこ
+もちずき,みずほ
+たなか,ともひろ
+たぐち,みつあき
+さとう,じゅにち
+さかした,りえこ
+かわしま,まさし
+ほりぐち,ひろゆき
+ふくま,まさよ
+かわたに,こうじ
+じびき,ようこ
+さいとう,こへい
+しおつ,まり
+とばた,たもつ
+やまもと,まさみ
+おふち,りゅいち
+しのはら,まさよ
+やまかわ,きみお
+たむら,まりちゅ
+はたけやま,みなこ
+たなか,ひろこ
+かなざわ,ちひろ
+たかはし,こうじ
+ふじむら,まゆみ
+ながしま,いくお
+きのした,ゆきえ
+こんど,まゆみ
+あんべ,かおり
+さいとう,すみたか
+あさだ,あきら
+きのした,おさむ
+かどや,みつる
+うえだ,いさお
+さいとう,のりかず
+たかはし,まさひこ
+いしざき,ひろみち
+おざわ,のぶお
+はやし,かずただ
+やがわ,としお
+たかはし,たかこ
+とみやま,ひかる
+あだち,ひであき
+あかいわ,えりこ
+かがや,みなこ
+あらい,よしゆき
+おしきり,ときこ
+やまむら,まみ
+たかやま,まなみ
+よこやま,いずみ
+ばん,みき
+いずみ,ふみえ
+みずの,あきこ
+ぶんや,とおる
+てらおか,もに
+みやした,まさひろ
+あさま,しもん
+ささき,てるひさ
+にしお,おさむ
+ふるや,みちお
+いまだ,たみお
+いしはら,よしあき
+はしもと,ゆぞ
+まるやま,しょすけ
+かじ,ゆきのぶ
+かねこ,さおり
+なかだ,たかし
+ちざわ,えいじ
+さわ,としゆき
+とがめ,おさむ
+よしだ,つぐお
+おの,よしのり
+やこ,ただお
+いしかわ,みのる
+ことだ,しょじ
+さがわ,みのる
+のぐち,けいこ
+でんぼ,てつお
+はるき,よりと
+いね,てつお
+おの,ひでゆき
+かねだ,いくえ
+のぐち,みきお
+おば,ともゆき
+おた,かずたか
+しもまき,はなこ
+わたひき,のりひと
+やまもと,なほ
+ふじむら,あさこ
+そうみや,みわこ
+しま,げん
+ささき,ひろこ
+かがわ,まさひこ
+たけうち,あきのり
+さいき,ひろこ
+いとう,かずま
+きむら,かずまさ
+たばた,ひろふみ
+くめ,あきひこ
+たかだ,しょうえい
+たむら,くにお
+たかまつ,たつひこ
+しろした,あきら
+かとう,ひろみつ
+あわい,とくいちろう
+ほさか,やすお
+たなか,ゆうこ
+みひら,まり
+さとう,まりこ
+おざわ,けんじ
+すずき,くみ
+みやざき,たかゆき
+もりたに,れいこ
+いわぐろ,くみこ
+うえま,みよこ
+ふかた,のりこ
+ひろせ,よじ
+おかだ,たかひろ
+かとう,とよあき
+まき,まりこ
+のだ,みえ
+くぼ,まきこ
+にしきおり,しゅさく
+やの,ともゆき
+かわむこう,としのり
+やすむら,のりこ
+とにし,るみ
+やまもと,しゅさく
+しもだ,けいこ
+おたに,ゆきお
+おのさと,けんじ
+かなざわ,りゅぞ
+おかもと,ゆかり
+さいとう,つとむ
+かしわばら,しょこ
+たかはし,ちか
+さいとう,あきこ
+まつだ,ひろみ
+たちざき,ありか
+こんど,さゆり
+しみず,ともかず
+ながおか,きょこ
+なかがわ,つぎお
+たかと,じゅんこ
+きむら,なおき
+なるせ,みよこ
+おぐま,ともこ
+たかはし,ひかる
+きくち,だいすけ
+さとう,くにお
+えんど,はん
+んぐいぇん,ひろあき
+たむら,みわこ
+やまもと,みなこ
+あさい,のぶこ
+もり,まさのぶ
+たかしろ, まなぶ
+おか,よしあき
+かとう,わかこ
+いぐち,ともこ
+たなか,だいすけ
+よしだ,かおり
+あきもと,あつし
+にしい,ひろゆき
+わしおか,たかし
+いぬまる,きよみ
+ほし,かえ
+よねやま,みなえ
+くろべ,せいこ
+いしい,はじめ
+ひぐち,まりこ
+なかだ,ひろき
+おのでら,とものり
+とだ,こうじ
+まえだ,よしひろ
+ながい,おさむ
+こぬた,めぐみ
+しばさき,さいか
+うかい,としや
+すずき,さちこ
+ひらき,きょこ
+なかむら,こうじ
+やまだ,まどか
+かどくら,じゅんじ
+たかさき,こうじ
+なかた,ひろじ
+たにかわ,しずか
+にしむら,まさのぶ
+みなみ,ゆういち
+おぬき,ひさえ
+さとう,じゅにち
+たかはし,たかはる
+ひだ,なおこ
+さくま,としゆき
+にえだ,ひろこ
+よこい,ゆきこ
+よねくら,ひさよし
+ばんば,かつとし
+やまだ,あきか
+いまむら,ちはる
+いけだ,のぶこ
+なかむら,ゆうこ
+すどう,まさみ
+なかそね,まさし
+おさわ,こうじ
+さとう,きよみ
+えいどめ,ほずえ
+いがらし,まさや
+たや,あやみ
+おひら,みのる
+いしぐち,ひろし
+わたなべ,たかお
+さかもと,おさむ
+すぎもと,しま
+かとう,たかし
+よしい,れみ
+いわや,たけお
+きのした,りえ
+すぎさわ,あきひで
+わだ,るりこ
+みやした,ちあき
+うえの,みなこ
+おたき,りえ
+いしばし,かおり
+いわした,ちかこ
+いしかわ,しちろ
+きし,ゆき
+まるやま,みか
+ほんま,たかこ
+くすもと,よしこ
+いまの,ぃさ
+ぐあにお,ぃさ
+げれみあ,さとし
+おにし,こうじ
+やまだ,みなこ
+ふじおか,ただひろ
+はなだ,ようこ
+しばた,きょこ
+みやした,かずよ
+かさはら,みよこ
+おやけ,えみこ
+いまい,のぶこ
+こせき,ゆみこ
+おた,きょこ
+まちい,まさお
+きくち,ひでひこ
+ひぐち,たてお
+みなよし,ひさお
+すずき,たかお
+なんば,いさお
+おにし,きみひで
+はやしだ,たかお
+たなか,かん
+かねこ,せいぞ
+つちや,しょ
+いいだ,とらお
+ふるや,やすかず
+なかむら,あさお
+はるはら,ゆきお
+ほりえ,まさお
+おた,はるお
+すずき,くにお
+おと,まりこ
+なかがわ,のぼる
+かわしま,かずひろ
+てらもと,せつお
+きむら,かずえ
+よどなわ,じゅんじ
+こだいら,ひろかず
+かくらい,なおき
+おぐり,だいさく
+はた,たかとし
+まつもり,ひでひろ
+よしおか,かずのり
+しげた,ともゆき
+かわぐち,えつお
+かねこ,かずお
+あさひ,みつぐ
+わたなべ,たかし
+ありやま,よりしげ
+つじた,たけし
+よしはし,やすつぐ
+みしま,まさとし
+さとう,まゆみ
+かねまる,よへい
+かねこ,ゆうじろ
+えじま,あきら
+みつくち,ゆかり
+もり,ひであき
+おち,ようこ
+まえかわ,ひろよし
+たなか,けんじ
+おりがさ,かずお
+こせき,せいじ
+ひらやま,みちあき
+こぼり,ともひろ
+なかうえ,まさお
+すとう,ただあき
+ごと,こうじ
+つかもと,つぐお
+えびはら,たつお
+もりの,ひでお
+すずき,せいし
+よしだ,かつじ
+いまい,えつひろ
+ひの,やすし
+よしだ,ひろあき
+おにずか,じゅん
+たかぎ,きみお
+おむら,せいいち
+うちやま,かずお
+くろかわ,まさのり
+やました,まつのり
+にしだ,かおる
+わたなべ,ただし
+かしわぎ,えつよし
+かねこ,たつお
+くまだ,まさお
+こじま,きよひこ
+しらい,ひろみち
+ふるかわ,よしあき
+むしう,ひでのり
+よしの,まさあき
+すぎうら,まこと
+ふじさわ,まさき
+さとう,むねたか
+えざき,みな
+むらかみ,すみただ
+にわやま,まさひこ
+やすの,かつひと
+どだ,えつこ
+かじい,よしのぶ
+たなか,たきお
+まつなり,ひさえ
+おばやし,すさん
+つあぞん,ひろし
+たかはし,ゆきこ
+まつむら,みきお
+こもり,なおずみ
+のぞえ,てつひこ
+おの,りえ
+かんの,ただあき
+さとう,としお
+のなか,せいいち
+かわはら,まり
+なかむら,あきひろ
+やました,たかゆき
+こういち,たかお
+いたや,まつもり
+やま,みか
+やまもと,ともひこ
+くらた,もなみ
+かわず,ようこ
+みかみ,いさお
+たきがわ,こうきち
+たなか,まなぶ
+みやた,たくや
+ないとう,やすまさ
+まるた,まきこ
+わだ,かずえ
+ひえだ,きよみ
+たけだ,こずえ
+かじもと,けいこ
+のむら,わかこ
+ねや,ゆみ
+すずき,まゆみ
+きむら,としかず
+むらた,ももえ
+いしかわ,ひでお
+ふじわら,ふみこ
+もり,そういちろう
+あいもの,やすこ
+たかだ,いたる
+おだ,こういち
+きのした,よしかず
+たなか,ひろあき
+さくま,たかてる
+じょうこう,きみのり
\ No newline at end of file
diff --git a/src/com/ibm/icu/dev/test/perf/data/collation/TestNames_Japanese_h.txt b/src/com/ibm/icu/dev/test/perf/data/collation/TestNames_Japanese_h.txt
new file mode 100644
index 0000000..70619ef
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/perf/data/collation/TestNames_Japanese_h.txt
@@ -0,0 +1,22749 @@
+﻿#/**
+# *******************************************************************************
+# * Copyright (C) 2002-2004, International Business Machines Corporation and    *
+# * others. All Rights Reserved.                                                *
+# *******************************************************************************
+# */
+
+あきもと,やすお
+あきば,しげる
+あらい,ひであき
+あらい,けんいち
+あかがわ,としお
+あらき,せいご
+あいかわ,のりお
+あきの,ゆきお
+あきやま,つよし
+あさい,ひとし
+あべ,まもる
+ありが,つとむ
+あきた,よしてる
+あかつか,かずひこ
+あらい,まさはる
+あさはら,かずお
+あつみ,まさあき
+あわや,ひとし
+あさかわ,としあき
+あおき,おさむ
+あわず,あきら
+あきくさ,ようすけ
+あおやぎ,はつかず
+あじさわ,しゅういち
+あいそ,やすし
+あおしま,ちよかず
+あとう,まさひこ
+あさの,よしや
+ありが,そういち
+あおき,りょうへい
+あいかわ,ゆきお
+あきた,まさひろ
+あさの,のりあき
+あさと,ひでし
+あらき,よしかず
+あんどう,やすし
+あさかわ,ひろし
+いいだ,まこと
+いわさわ,まさき
+いしかわ,まさお
+いのうえ,ひろひと
+いしはら,よしのり
+うかじ,さちこ
+うめたに,かつひこ
+おけたに,けんじ
+おおすぎ,あきひろ
+おおかわ,みきひこ
+かとう,まさとし
+かも,まさあき
+くまがい,まさし
+こんど,あきら
+すぎもと,おさむ
+はまさき,よしのり
+ちだ,しゅんじ
+なかむら,けいぞう
+ながた,ちえこ
+さわむら,かちこ
+なるお,よしのぶ
+なりた,ゆみこ
+はせがわ,ひろこ
+ふじた,けいこ
+ふじわら,たかこ
+ぶよう,てつお
+ほり,こうじ
+みなみむら,ちあき
+みやじま,ちより
+やまだ,まり
+やまぐち,たかし
+やなぎはら,みどり
+よしの,しんいち
+にいだ,くにひこ
+おおいやま,ゆうこ
+かながわ,いちろう
+きむら,りえこ
+つかざき,みほ
+かわだ,なおこ
+あさかわ,みさこ
+しもつ,まさあき
+おか,たかひと
+おがわ,こすけ
+たいら,しょういち
+いしの,きよなが
+きみしま,あきら
+さとう,てつや
+やまだ,おさむ
+おおた,なおみち
+まえだ,ひでとし
+かざらし,みつる
+ごとう,かつのり
+ほし,まもる
+くろだ,しんや
+つかわき,としや
+いながき,まさひろ
+いわもと,たもつ
+つるた,たかし
+いしじま,りょうへい
+やまなか,ひろとし
+うえき,あきこ
+にしむら,あつこ
+わいだ,ただし
+よしだ,るみ
+しぶや,ゆたか
+あとう,まさのり
+みやた,かおる
+おおたき,つぎお
+きよおか,まこと
+おおたに,たかし
+にしわき,なおみ
+にしやま,たかし
+みしま,たかゆき
+かとう,ひろし
+いまお,みずほ
+おざき,こうじ
+せきや,まさゆき
+つくだ,のぶゆき
+みよし,のぶまさ
+よしみ,たかゆき
+ささおか,たかし
+おしま,ちはる
+くぼた,ちずこ
+しばやま,しゅうぞう
+おおくぼ,となみ
+たちの,じゅん
+わだ,みちよ
+まつした,まさもり
+こむら,やすひこ
+まきした,けいこ
+あかお,やすひろ
+はしもと,ひとし
+おおの,かずお
+せきもと,よしお
+まえだ,ちから
+みつほり,なおき
+みなみぞの,まさき
+せがわ,かおり
+すずき,とよじ
+きたがわ,よしたか
+よしやす,じろう
+やまもと,まり
+かとう,ひろし
+かわかみ,よう
+まきの,なおき
+すずき,まさお
+ふるさわ,さとし
+はやし,じ
+いまにし,としひこ
+みやもと,ゆか
+まき,くにあき
+こいで,さほ
+わたなべ,まさこ
+おおはし,ひとし
+あかお,あきお
+あさい,かずこ
+いまい,たかし
+きら,まさひこ
+にしむら,てるき
+よしかわ,としゆき
+みなみ,けんじ
+つるた,のりお
+なかむら,じゅんいち
+たなか,けんじ
+まつうら,たけし
+すぎた,じ
+かわい,としお
+こくぼ,さつき
+つだ,まこと
+みやたけ,としたか
+くろさわ,よしかず
+すみひら,まさひこ
+たかき,まさお
+いしと,こうき
+やまだ,もとかず
+にいつ,のぶあき
+いわむら,かんじ
+かわなべ,よしひろ
+ながい,ひろゆき
+やまね,ちあき
+いまい,たかゆき
+なかお,いさお
+おしきり,ふみはる
+いしかわ,じゅん
+おかじま,じゅん
+おおにし,まさはる
+すずき,てつ
+やまなか,さつみ
+たにぐち,かずひろ
+かわべ,ときお
+こんの,みき
+さとう,やすひろ
+たかやま,しんいち
+もりみち,いたる
+ほりかわ,かつみ
+ふくい,たまこ
+きたむら,あきら
+なかはら,ひろみ
+いちい,ひでのり
+いわさ,かよこ
+すずき,しゅんじ
+よねたに,かつふみ
+たの,たけし
+しばた,ひでよ
+いのうえ,まさのり
+いしかわ,としお
+きし,まさみ
+あわえ,あつし
+たけお,よしあき
+きのした,かずひこ
+つかだ,ふみあき
+ありどめ,としゆき
+きっかわ,としあき
+おがさわら,ひさかず
+ながせ,たかひろ
+はるやま,あつひこ
+おず,やすお
+こさか,としかず
+しらさき,とおる
+たなべ,つとむ
+いけがみ,つよし
+こばやし,じゅんいち
+まつばら,なおと
+なかがわ,もりひろ
+おがわ,せいじ
+よしだ,まさのぶ
+いけ,さだのぶ
+たにぐち,まさみち
+まえだ,ひろし
+ひらの,たかゆき
+しみず,きみこ
+やまだ,あきとし
+たなか,ひろあき
+こまつざき,まもる
+かとう,まさかず
+おわ,のりこ
+いわむら,ひろただ
+いりえ,かずゆき
+あかやま,まさゆき
+あきもと,ひろあき
+かみむら,あきひこ
+すみた,かおる
+はまさき,あつし
+やすだ,まもる
+たけむら,みきや
+むらかみ,とみつぐ
+なかじま,ひさとも
+もりもと,こうじ
+せきぐち,たかゆき
+なかじま,まさひこ
+きがわ,ひろひさ
+たかひら,たかし
+もちだ,あつし
+かめやま,たかし
+おやまだ,まさひさ
+たなか,てるひさ
+ほんま,しんじ
+きのした,やすひこ
+しのつか,のぶしげ
+あいはら,やすふみ
+ながまつ,えいじ
+とよむら,まさあき
+ひらの,たかし
+きむら,じゅん
+いけだ,せいじ
+いしはら,ゆうこ
+のぐち,まさる
+こけつ,みつまさ
+おくやま,あつひこ
+はまぐち,しんじ
+つじさか,ひであき
+いちかわ,さとる
+よしだ,せいご
+やまだ,よういち
+しみず,やすし
+さかがみ,のりかず
+こすぎ,ひさひこ
+にしだ,せいじ
+いいだ,かつら
+うちだ,やすみ
+もとやま,ちはや
+みやもと,いくよ
+こばやし,やすし
+かとう,ひろゆき
+しらい,さとし
+はぎわら,こうじ
+やまうち,ゆきひで
+みつはし,かおり
+もんじ,よういち
+たきもと,のりこ
+おくだ,しゅうじ
+つかもと,しゅうじ
+むこはら,やすいく
+さるや,みちお
+おかじま,としひこ
+ほしの,ひさと
+ほし,ひろふみ
+ふしみ,こういち
+たかはし,たつや
+にしやま,しんじ
+つるまち,しょういち
+とみた,なると
+うちだ,とおる
+おおたか,ゆうこ
+さかい,たかひさ
+そがべ,かつみ
+わだ,けんじ
+こさか,まさみ
+あそ,あけみ
+あらい,としはる
+すぎむら,しげお
+あきよし,かずお
+あさかわ,つとむ
+わだ,さかえ
+いけだ,こういち
+おかもと,りょうじ
+あおき,まさる
+うえさわ,つよし
+うやま,ひであき
+なかはま,すすむ
+かわもと,まさゆき
+すえまつ,じゅんじ
+ながい,さとし
+なかはら,ゆうぞう
+なわた,なりあき
+かつざわ,ひろし
+やまうち,みゆき
+あかぎし,つよし
+くさずみ,としひこ
+ほかり,ひろし
+かとう,おさむ
+きりう,ひろき
+おがわ,まさと
+たなか,まさよし
+あいむら,つとむ
+いがらし,まさと
+かわわき,たかみち
+まえさか,ともみつ
+まつしま,あつし
+まつもと,ひでと
+かたい,まさひろ
+こじま,まさあき
+つじもと,とおる
+なわた,さとし
+ふじたに,かずひこ
+きせ,てつろう
+さかぐち,じゅんいち
+すずき,としゆき
+はまさき,まさひろ
+よしだ,ひとし
+ほった,しげひと
+ますこ,ひさお
+たけなか,こすけ
+いしい,はるき
+たさか,ひろし
+まつだ,まさひろ
+はた,たかし
+あきやま,ゆたか
+たかはし,やすひと
+やまかわ,しょうじ
+よこち,まさひろ
+よねたに,きいちろう
+ふじの,ゆうすけ
+はせがわ,かつとし
+ふじた,まさゆき
+あんらく,まさこ
+はしもと,のぶゆき
+いなだ,れいこ
+ゆげ,まさよし
+いまだ,いずみ
+さかもと,かずひさ
+とよなが,やすひろ
+はしもと,てつお
+はない,よしのり
+しみず,たつお
+なかむら,よしはる
+かじむら,よしひこ
+いしがき,けんぞう
+はっとり,まさお
+あまの,りょう
+みかみ,かおる
+ふるてら,まゆみ
+まみや,ひでき
+つるの,むつこ
+あさい,やすき
+のむら,しげお
+よこやま,しんじ
+いけだ,ゆたか
+あんどう,あきお
+おかやす,やすこ
+ごとう,ひであき
+かわしま,たかこ
+はぎわら,えり
+あたらし,ゆみこ
+たかやま,としひと
+にしやま,としゆき
+えちご,しんいち
+やまざき,よしひろ
+むろや,てつお
+きむら,ゆきお
+なかはら,ふみお
+うえの,たかし
+よしだ,けんた
+つかもと,ただし
+おざき,とおる
+あしかわ,やすしげ
+ねぎし,とものり
+きゅうの,しゅういち
+さとう,よしひで
+いのうえ,かずひこ
+きくずみ,まさる
+まつもと,だいさく
+はやし,たかお
+ふくおじ,かんじ
+なるせ,けんたろう
+まつもと,まさき
+もり,まさし
+みき,のぶお
+なかたに,よしあき
+みやがわ,ふみのり
+ありよし,いくお
+しらい,よしゆき
+みなみ,まさよし
+とりごえ,ふじお
+こすが,ただし
+つじの,かずひろ
+おぐら,やすひろ
+おりた,ちかし
+あみもと,じゅんいち
+おさか,とおる
+はやし,よしひろ
+みなみ,みのる
+よしだ,としひこ
+にしはら,よしお
+おくがわ,まさとも
+つじ,てるゆき
+なかい,たかし
+にしむら,つぐお
+にたない,けんご
+くどう,ひろし
+さい,たかお
+しょう,まなぶ
+いのうえ,かおる
+たにぐち,ひろたね
+なかにし,しんじ
+おおもり,ひろゆき
+くまがい,たかゆき
+いしあい,とよかず
+はぎはら,かずのり
+たがた,けんじ
+すずき,みちお
+くぼ,ぜんさく
+かなうち,しんや
+にしお,ひでき
+いなだ,ひでのぶ
+たけいち,しんじ
+あんどう,まこと
+まつなみ,しょういち
+みなくち,しゅうさく
+かなうち,なおき
+おおいやま,のぼる
+ますだ,しょうじ
+やぎはら,としお
+みずの,けんじ
+のぶくみ,とおる
+なだ,たかあき
+たけたに,ふとし
+いまいずみ,いちろう
+いなだ,いさお
+いまに,たかふみ
+おき,まさひろ
+ふくしま,ようすけ
+いいお,ひろとも
+いしだ,かつや
+ひらた,こうじ
+いたがき,かずひろ
+やまふく,さとし
+さとう,のりお
+なかがわ,りょう
+おさか,しゅういち
+おいかわ,のぶあき
+かしお,よしひろ
+ほしざき,しげき
+せきじま,こうじ
+おかまえ,のりひろ
+さとう,たかし
+こいで,たかなお
+たかはし,せいじ
+おがわ,こういち
+てらしま,たくお
+やました,まさあき
+のせ,ひでゆき
+まつまえ,あゆみ
+よした,のりあき
+むらた,とおる
+はら,のりひこ
+やまうち,けんじ
+かみ,かつゆき
+すがい,たつゆき
+たかの,よしのぶ
+ところ,よしひろ
+すずき,すすむ
+ささき,あつゆき
+つのだ,てつろう
+やまさき,てつや
+みうら,かつみ
+おだぎり,あつこ
+はやし,しんちょう
+とみおか,ひとし
+いぐち,せいいち
+こんど,たかし
+くぼ,ひでお
+くらぬき,きょうこ
+とみまつ,なおこ
+くろかわ,まさあき
+のざわ,すみお
+かわさき,くにあき
+たけだ,かつや
+しのはら,あきひろ
+ふるや,しげる
+なかむら,さとる
+やじま,とおる
+にしがき,きよし
+なかがわ,そう
+ひらやま,しゅんいち
+やまぐち,むつひろ
+よしむら,ゆうじ
+つだ,たかゆき
+かつらい,わたる
+みない,としかず
+たきぐち,かずお
+わけべ,よしひろ
+にしかわ,まさや
+しらがき,ひろあき
+ばば,まさかず
+あかり,りょうじ
+あべ,たくや
+かい,くにひろ
+おおもり,ひでかつ
+すずき,たかし
+ながさわ,ひとし
+さわだ,えみこ
+あずま,のぶゆき
+おの,ひでき
+かわにし,のぶひで
+まなべ,かずひろ
+ありやま,ゆうじ
+にしかわ,きよし
+あつみ,しゅうじ
+いとう,ひろゆき
+ひろた,としや
+ほかぞの,かずと
+ほしの,やすひろ
+やまぐち,まこと
+あがた,こうじ
+まるお,よしゆき
+こいで,ひろあき
+かみむら,まさひで
+さいとう,なおき
+ふくみつ,あつし
+ひらやま,ひかる
+さいとう,てつや
+いけお,みのる
+ふるかわ,じゅんいち
+いいだ,ひろあき
+みやざき,もとひろ
+よしだ,やすゆき
+きくた,えりこ
+ちば,てつお
+とりやま,りつお
+えざわ,りゅうたろう
+おおば,よしたみ
+やまもと,おさむ
+にしかわ,まさのぶ
+えんど,まさはる
+ふくい,おさむ
+はまの,よういち
+きたはら,けんじょう
+さとう,ゆきひろ
+まつお,まさふみ
+とよた,ひでや
+ひらもと,としひで
+やまもと,こうたろう
+はまだ,まゆみ
+いわかみ,みのる
+くぼ,てつお
+えんど,かずひろ
+かげやま,まさのり
+にいや,ともゆき
+こうち,ゆうすけ
+あだち,しげゆき
+はやし,しゅんじ
+なかの,まこと
+いしはま,まさひろ
+こくぼ,りゅういち
+かわの,はじめ
+なかじま,のりひこ
+たいら,つよし
+たけぎ,りつお
+もりしま,ともこ
+なかむら,ひろあき
+のぐち,ひろき
+あらき,やすてる
+あら,ひろし
+いとう,なおこ
+はやさか,ふとし
+こつか,まさかず
+たけうち,ひろし
+いわた,たかし
+まえだ,よしお
+ほそかわ,まさひろ
+あらい,やすひろ
+おおくら,かんじ
+たけこし,あつし
+やまぐち,けんじ
+しみず,かつとし
+いとう,よしつぐ
+いずみ,かねみつ
+ごとう,そうたろう
+おおつぼ,かずみ
+かみこがわ,しんいち
+たけい,さとこ
+みやはら,まさし
+あわじ,あつお
+うしろだ,かおる
+もりいずみ,はじめ
+ながの,あつし
+たなか,むねゆき
+ふかえ,けんじ
+ふるや,みさお
+みずひき,よしお
+くぼ,みつよし
+たぐち,ふみあき
+なかお,つぎと
+やました,ゆういち
+くろき,しょうご
+まつだ,けんいち
+おだじま,なほみ
+ほり,ゆきお
+たにぐち,つねやす
+あらい,としのり
+ごとう,てつじ
+とねがわ,のりゆき
+もりた,たかこ
+ふるかわ,しげお
+ゆき,よしのり
+しらいし,たかひろ
+いけや,さちこ
+わたなべ,たつおき
+たにぐち,こういち
+ますだ,しのぶ
+みずぐち,じろう
+はやみず,ゆみ
+ほかり,あきひこ
+いしい,のりひこ
+しらいし,まさひこ
+しもかわら,しげひろ
+もりもと,ともこ
+いとう,ひろし
+おおや,けいじ
+みよし,みのる
+しばた,のりひろ
+たんざん,ともひこ
+いわさき,ひでかず
+ふくい,さとし
+もりばやし,かずや
+やまだ,ひでみ
+ふじわら,さとし
+なつめ,やすと
+しのはら,ひろし
+おさだ,まさし
+ふじはら,たけひと
+ふじもと,ひろみ
+きの,よしお
+やまもと,もとき
+いしじま,もりひろ
+いが,あきら
+なかえ,だいじ
+やの,ゆうじ
+かなみつ,おさむ
+すずき,てるお
+たかだ,りょうこ
+いしばし,ひろゆき
+おおつぼ,みつはる
+すぎ,たかし
+はやしぐち,ひろし
+てらした,かずお
+しもやま,よしふみ
+みやざき,みつる
+もり,やすひろ
+やまもと,ひとし
+であい,きよひろ
+ほり,としゆき
+あねざき,かずお
+くぼた,たかひろ
+ご,まさとし
+ひきだ,ひろし
+さかぐち,のりあき
+よしい,たかし
+きたはら,かつと
+ふじい,みどり
+なめき,やすこ
+よしむら,としお
+たむら,だいすけ
+うみの,ひろし
+あんどう,ひろし
+よしもと,たけし
+ねもと,よしふみ
+みやざき,まさひこ
+たかもり,ちえこ
+くまがい,くにお
+ごうだ,こうたろう
+はた,こういち
+くずみ,さちこ
+なつい,いくお
+しまだ,ひでお
+おおつき,かずひろ
+まみや,ひろかず
+さとう,けんじ
+こばり,ひでゆき
+ささき,やすゆき
+かねこ,まさき
+おの,とおる
+おおやま,よしえ
+まとば,まさはる
+いたくら,じゅんいち
+おだしま,かつろう
+しいき,のりこ
+しばた,かずひろ
+かつら,ちかこ
+あらい,よしのり
+さいとう,つよし
+まつもと,まさのり
+うえやま,みつなり
+まの,しんいち
+みさお,なおき
+そのべ,きみゆき
+すずき,あきお
+やたに,きょうこ
+むた,まなぶ
+まるやま,ふみあき
+ふだ,たかよし
+こばやし,けいいちろう
+わたなべ,かおる
+おだ,まこと
+おふち,まさお
+たなか,しげお
+さわき,まさし
+さいとう,ひろし
+はぎの,のぼる
+うしやま,たかし
+おくひら,のぶひろ
+よしいけ,さなえ
+こんの,ゆうこ
+のだ,としお
+えんど,としゆき
+すずき,みつお
+たなか,よしひろ
+きど,けいじ
+いとう,まさのぶ
+ふじわら,としはる
+はせがわ,あきら
+ますもと,けいじ
+かい,ひとし
+たかはた,ともこ
+ひでしま,かずのり
+たかやま,しげき
+みやき,ゆたか
+ふせ,かずひこ
+ももい,ひろやす
+つゆき,みつぐ
+かわはら,しげる
+まつい,あきひろ
+はなわ,まさひろ
+ひわだ,てつや
+ますい,たかし
+かとう,ただつぐ
+たけま,ふみお
+しらいし,よしお
+ふるかわ,しょういち
+てじま,あきら
+あきもと,さとし
+すぎやま,ひろあき
+なんぶ,ゆきひろ
+つじの,けん
+てらさか,いっしん
+さかい,ひであき
+くぼ,あつし
+まるたに,まさや
+たかはし,みのる
+まつうら,しんや
+たなか,せんじ
+ゆざわ,たかあき
+たかはし,かずや
+おおば,しんご
+まえかわ,とおる
+にわ,とおる
+かわむら,まさき
+こいけ,かずえ
+くりした,としゆき
+ひろせ,おさむ
+こんの,たくや
+はせがわ,ひろひこ
+いとう,ひろし
+きざき,あつし
+えなみ,のりあき
+つかなか,ふみあき
+さかもと,ひろみ
+まつばら,ひでお
+てらい,しげあき
+おした,たかよし
+たなか,よしあき
+やまもと,まなぶ
+いしぐろ,よしと
+はしもと,すみこ
+さとう,やすひろ
+やまもと,とおる
+ふるかわ,としのぶ
+やまだ,ひろと
+いくた,しょうこ
+さとう,ゆういち
+わたなべ,かずひろ
+かこ,たつじ
+ますだ,ひろのり
+かみじ,たかゆき
+いはら,かずひろ
+あさみ,かずひろ
+なかじま,たかし
+こたき,てつや
+かわもと,えいいち
+かわしま,かずひこ
+あずま,りゅうじ
+なかの,しゅういち
+ひらの,さとし
+たかはし,まさる
+ふかや,ももき
+おおば,たけし
+さくらい,ひろあき
+さかい,いっせい
+あおき,たくお
+よしだ,やすし
+こはし,まさのり
+まつうら,てっぺい
+さとう,おさむ
+にしきおり,ともこ
+みよし,よしひさ
+こすぎ,つかさ
+さとう,たかいち
+ふじい,よしひろ
+ふなだ,かずひこ
+すぎた,とおる
+しょうだ,かずひろ
+もりした,としお
+ひら,ひとし
+しんたく,ひろゆき
+ひがしだ,としゆき
+くりた,まさよし
+いなだ,ゆうさく
+にしの,としや
+いけじり,のりあき
+なかむら,なおひろ
+なかかど,よういち
+いのまた,ひろし
+つるみ,ひろよし
+ひらもと,しげき
+みよし,ふみあき
+あわの,たかし
+あきた,よしえ
+ひがしやま,たけし
+さとう,ひろみ
+かわさき,けいいち
+まるやま,はつお
+すなが,ひでき
+いまい,たみこ
+ふじい,ゆきお
+まきた,みつお
+いとう,たつし
+たかはし,りゅういち
+きりま,しんじ
+おおにし,ともゆき
+みのしま,たけひと
+さとう,かずたか
+やました,たかゆき
+みたむら,まゆみ
+さとう,しげる
+とまつ,たまみ
+えびしま,やすゆき
+わだ,かずや
+すずき,きよたか
+すがはら,みつる
+たぐち,ひろむ
+とがし,まさひこ
+ながはら,さとる
+やまもと,けいこ
+たけだ,まさゆき
+さとう,みのる
+たかみや,ひでのぶ
+あおき,たかひろ
+こやぎ,すみたか
+おのざき,りょうすけ
+もりた,のりこ
+さくらぎ,ゆみこ
+おかさか,ひろのり
+やまぐち,こすけ
+かわしま,よしのり
+いわの,かずのり
+ごうこ,やすはる
+もりた,やすじ
+しげたか,なおき
+てずか,えいさく
+おた,つよし
+やまだ,まさはる
+ふかだ,ひさゆき
+はせべ,もとあき
+まつの,あつし
+つじかわ,けんいちろ
+まつもと,かつみ
+せのお,はじめ
+のむら,さとし
+あらい,とよしげ
+おぐり,すみえ
+じんの,まさひろ
+ひろずみ,みのる
+まつい,すすむ
+しばざき,あつし
+いのうえ,ひでお
+たなか,ひでかず
+さそ,なおふみ
+しらはま,あきひこ
+たなか,なおき
+なかむら,やすひろ
+いしがみ,よしあき
+しばた,てっぺい
+のぐち,あゆみ
+いちば,こうじ
+かわぐち,ひでこ
+よしみ,ひでみ
+ふじかわ,ひろゆき
+かとう,つよし
+たかはし,いさむ
+ふじさわ,かずお
+みずたに,ともふみ
+せきぐち,よしろう
+まえかわ,むつみ
+あらい,りゅうじ
+もり,けいたろう
+さとう,なおこ
+くわた,しょういち
+おぐり,ひろし
+ひらい,かつひこ
+にしむら,ふみとし
+おおくら,ひさのり
+そのべ,あきこ
+いいだ,やすあき
+こぐち,えいいちろう
+もろほし,ひでかず
+はまだ,のりかつ
+かなざわ,かずゆき
+まつば,しげる
+いわた,ひでとし
+あずち,まさる
+こんど,いさお
+たかはし,よしお
+あまの,ひろあき
+かただ,おさむ
+ためひろ,もとこ
+まつだ,たかし
+なりいし,やすよし
+おきた,もりみち
+やました,ひろし
+すずき,ゆうじ
+まんぽ,かつみ
+いちい,けんじ
+こいで,ともこ
+たかはし,なおこ
+なかがわ,かずお
+おはま,たかし
+たかはた,ひろみ
+こぐち,たかし
+みやがわ,かずや
+しばやま,はじめ
+あらい,やすひろ
+わたなべ,すすむ
+なかむら,ゆたか
+ふるはた,まさなり
+たにぐち,なおすけ
+ほんだ,すすむ
+まつもと,あきひろ
+たかき,はるみつ
+きくち,しんや
+いのうえ,こういち
+はら,まさお
+やまもと,たかひろ
+むらかみ,ともやす
+ばば,まさひこ
+はせがわ,としひこ
+ささき,あきふみ
+あつた,ひとみ
+たちかわ,ひろつぐ
+ひらもと,ひであき
+なかむら,としや
+つむら,たかお
+たかはし,そういちろう
+よこやま,みのる
+こたけ,みつお
+あんらく,たかし
+みずの,しんいち
+おおぬき,あきら
+さかい,はじめ
+おた,しょうぞう
+はやし,のりお
+さいとう,あきひろ
+たなか,のりこ
+はるはら,とうご
+おおつか,まさゆき
+きたがわ,ひでみ
+よこた,かっぺい
+よしむら,あつこ
+おおひら,しんいち
+ちゃき,しげひで
+さかぐち,こういち
+すずき,あきひろ
+ちかざわ,まゆみ
+なかじま,まさのり
+わたなべ,ただお
+しば,じゅんこ
+さかい,ちはる
+やまみさか,てつお
+よしがみ,あきら
+ひらて,まさゆき
+わくしま,ただし
+あさま,ちから
+あずみ,ただし
+いなおか,ひろかず
+さない,ひろし
+やまうち,やすひろ
+いはら,としひこ
+たやま,おさむ
+ささき,しんや
+ふじうち,としあき
+うしじま,しんいち
+ののむら,まさたか
+にし,たけひろ
+いけだ,ひろみ
+すぎたに,ひろし
+おざき,たけし
+こけつ,あきひさ
+さとう,ようすけ
+せんば,あつし
+あずま,ひでと
+なおい,いちろう
+ほしの,よしき
+かみや,やすひろ
+むらた,ひとし
+いちみや,けいこ
+たるい,やすあき
+はぎはら,みわこ
+たかはし,たかし
+おちあい,ひとし
+あきやま,けいすけ
+きむら,よしひろ
+はやし,ひでお
+やまぐち,みつる
+ところ,なおたか
+かすや,えつこ
+いりえ,しゅうじ
+むらいし,みなこ
+しんたに,りゅうじ
+うえの,みほ
+うちだ,こうじ
+はせがわ,
+くろだ,るりこ
+いとう,かつひろ
+ほりうち,まや
+おおはた,のぶあき
+ほんだ,ひでゆき
+なかむら,すすむ
+さえき,おきもり
+あべ,てるひさ
+うめだ,たかひろ
+ぬま,まさゆき
+たぶち,ゆたか
+きむら,みつる
+うだ,たかみ
+あおき,のりこ
+なかむら,まさと
+ふじこし,さとし
+すみだ,きよし
+くずはら,のぼる
+わたなべ,ひろし
+あらた,さとみ
+ろっかく,まゆみ
+いのうえ,みつまさ
+つじもと,まさみ
+みうら,ななこ
+ねもと,よしお
+あめみや,よしかず
+なかむら,ひろゆき
+あいば,のぶたか
+よねざわ,しんや
+ふじむら,しゅう
+りゅうと,ひろみ
+わたなべ,ともみ
+きたがわ,しんじ
+あたらし,ともなお
+きくち,じゅん
+すずき,あきら
+たなか,ひろし
+いけだ,ひろなり
+よこかわ,みつひこ
+くさつぐ,たかし
+みずの,けんじ
+ながほり,こういち
+すぎもと,こうじ
+あんどう,つねお
+たかやなぎ,ひろふみ
+しば,まさこ
+かみやま,かずひろ
+おおひら,ひろみ
+ほんま,はるゆき
+たばた,のぶよし
+えんど,けんいち
+いしがき,せいじ
+しば,ゆういちろ
+やまだ,まさひと
+たかの,かつお
+よしだ,たつや
+あまさき,としひこ
+おしかわ,しんじ
+にしの,みほこ
+かとう,おさむ
+はまおか,ともこ
+さの,たかかず
+すえしげ,くにてる
+なかた,ひろみ
+こばやし,ひでゆき
+すどう,やすし
+つつみ,きよひと
+みたに,こうじ
+いしだ,やすふみ
+いいずか,ゆたか
+しらい,ゆみ
+やまだ,いわお
+つじかど,かずこ
+まつなが,こういち
+たなか,かずえ
+みなみ,ひろし
+さかい,まさゆき
+うえき,しおり
+おだ,まさお
+まえだ,せいじ
+できたに,じゅん
+あまの,たかひろ
+みやこし,しげかず
+あんざい,としみち
+うめだ,ゆきお
+たきざわ,あつし
+むらにし,きよし
+くりはら,としひこ
+やまさき,まり
+おおつか,みつひろ
+あみの,たかし
+もり,やすのり
+にしもり,しんじ
+たけの,まさお
+しんがき,よしかず
+まつお,よしき
+ふじね,まさき
+かなまる,ひろよし
+かなざわ,たつゆき
+しみず,りゅうじ
+わだ,いつこ
+いしくら,たけし
+ふくだ,あきひろ
+うかい,よしこ
+ありま,おさむ
+おおた,たかあき
+もりたに,たかし
+あだち,よしひろ
+くまで,まさのり
+あら,すすむ
+はしもと,とおる
+とよおか,まこと
+おおつ,てつろう
+みやき,けいいち
+いしかわ,じゅんいち
+いがらし,なおつぐ
+おおにし,きんや
+しらいし,こういち
+よこめ,よしあき
+ふじもと,かずひろ
+かんの,もりやす
+たちばな,みちお
+やまだ,ちなみ
+あさみ,しげお
+みうら,やすし
+とくひろ,ひろのぶ
+もりかわ,まさのぶ
+いとう,みきひさ
+さの,ともみつ
+すずき,まこと
+しもとの,まなぶ
+まかべ,さとみ
+いとう,こうじ
+つくだ,じゅんじ
+よしかわ,みつぐ
+たかやなぎ,ひろき
+ほんだ,たかよし
+にしの,ゆうじ
+きむら,よしひろ
+かとう,こういち
+おおはた,じゅん
+うつみ,かずひこ
+あんどう,かずひさ
+はまたに,みのる
+きのした,たかふみ
+かわせ,としたか
+うえの,よしひこ
+しかま,りょうじ
+すずき,まさゆき
+ふじおか,まさひろ
+いのうえ,ともひろ
+きたざき,やすゆき
+あいべ,ひろし
+おおかわ,さかえ
+たけい,やすはる
+からはし,ひろし
+すずき,まゆみ
+あらい,ひろし
+いのだ,のりゆき
+おくむら,えり
+まるい,じゅんこ
+ひろずみ,あきひさ
+わしず,たくや
+よしむら,たかひさ
+かつまた,たかし
+ますかわ,かつら
+いわお,しゅうじ
+やまもと,よしひと
+たなか,さとる
+たけうち,のりゆき
+のはら,しゅうぞう
+ふなはし,かずのり
+なごし,けんじ
+うめだ,かずや
+あきやま,ひとし
+なかだ,まさと
+さいとう,めぐみ
+たはら,じゅんいちろ
+にしまつ,よしひろ
+ひらみつ,まこと
+めかた,まさる
+たかみ,りゅうたろう
+そのだ,ひでゆき
+みやざき,ゆうじ
+まるやま,ひであき
+つのかわ,まさし
+はらだ,かつみ
+つじ,つぐひこ
+いがらし,としお
+よしだ,かおり
+たけがた,こうき
+あべ,りょうじ
+あかぬま,とくひろ
+かわだ,ひろあき
+たご,ひろし
+かみむら,まさし
+まつや,げん
+いわた,あきひこ
+まえかわ,さとし
+やまぐち,れいこ
+しろした,ともひろ
+やました,まさと
+つじかわ,じゅんいち
+たなか,よしふみ
+みなみ,ともひろ
+さとう,よしあき
+うおずみ,あきら
+すぎやま,ひろゆき
+ちば,まさゆき
+かない,さとし
+まつやま,つよし
+たかの,あきら
+くまがい,こういち
+たけこし,むつひさ
+ふたば,としあき
+うめざき,かずただ
+おいわけ,ようすけ
+ながつか,まなぶ
+いまがわ,ひとみ
+はしもと,あきら
+おおひら,ゆうたろう
+みやひら,みちあき
+のぐち,けいぞう
+すぎもと,かずふみ
+かわぐち,かつのり
+しのせ,つよし
+なりさわ,よしひと
+ひろせ,あきひろ
+にしざき,すすむ
+もり,のぶゆき
+ふかお,よしこ
+みやじま,けいぞう
+まつの,かずしげ
+いわい,しげのぶ
+かい,みどり
+たなか,くにこ
+ちば,まさみ
+その,ひろし
+よこやま,あきひさ
+たかしま,じゅん
+おかもと,こうじ
+みやかわ,だいすけ
+むらもと,ともあき
+きむら,こういち
+まつなが,ゆみこ
+ふくだ,つとむ
+おおにし,まさし
+あい,ひでかず
+まえだ,ひさかず
+いのうえ,よしみ
+いいだ,たかひさ
+ふじい,ひろゆき
+さくらい,たくや
+まつい,ういり
+いまだ,しんじ
+みやけ,あつし
+さかい,ひろひさ
+かとう,おさむ
+いわた,なおと
+おおの,まさや
+いそべ,たかよし
+おやまだ,つとむ
+とうじま,たつひろ
+たけうち,かずひこ
+なかやま,ますお
+しらいし,おさむ
+かのまた,あつし
+すどう,たかひろ
+しらやま,あきひろ
+おおや,まさる
+みながわ,ともひろ
+きむら,たつや
+たかぎ,だいぞ
+さとう,ゆきお
+ふじわら,みつる
+いもと,ようた
+うえの,ともひろ
+きょうの,けんご
+きりう,よしただ
+くぼた,つねお
+こせき,たかし
+すざき,まさひろ
+たかさき,やすひさ
+つかもと,しんいち
+ないとう,けんじ
+なかごめ,ひろかず
+なかむら,ひでやす
+はぎわら,かつみ
+まつもと,かよこ
+こんの,よしひさ
+さいぐさ,たもつ
+ほんだ,ゆきお
+たなか,ひろし
+まつとみ,かよこ
+あかさか,ひろあき
+せんがん,あきひで
+たけお,のりかず
+むらた,ひろゆき
+かわせ,ともひろ
+にしざき,たつゆき
+へいとう,えいいち
+おおさわ,まさはる
+うえだ,よういち
+かなやま,やすひこ
+はらだ,ともゆき
+なかがわ,あつし
+みやもり,まこと
+かい,けんじ
+きぐち,しゅうじ
+さたけ,けんじ
+おおおか,としろう
+なかざわ,こうじ
+やすおか,まさひで
+くろみつ,やすたか
+かなだ,ひでき
+まるかわ,ひでき
+ながさわ,たけゆき
+こばやし,しゅう
+えんど,まさのり
+いんなみ,はるお
+やまもと,きよたか
+ながくら,さとし
+うえの,まちこ
+にしざか,みか
+さとう,てつろう
+もりやま,たつお
+こはやせ,しげお
+どいた,ひろし
+ほそかわ,のぶお
+あおき,みつい
+ますみだ,ともひこ
+おち,まさいち
+すずき,けんじ
+すぎやま,けんいち
+ふじわら,せいや
+たなべ,みつゆき
+とだ,あつし
+つぼい,やすお
+すぎた,まさのり
+あだち,けいた
+ふじい,まさき
+すがもり,ひろし
+やすだ,なおひこ
+たかはし,ひろゆき
+たがみ,まさる
+とみやま,ゆうじ
+はねだ,やすゆき
+おざき,たけし
+おぐら,やすゆき
+てらさき,のぶや
+つちや,えつこ
+おかだ,てるお
+あべ,のぶゆき
+あべ,みつえ
+もりわき,こういちろう
+はやの,けんた
+とみなが,じゅん
+すずき,みき
+かたぎり,さとし
+あはら,はやと
+ほし,ななこ
+いしかわ,たつや
+しもむら,よしひさ
+わきもと,みゆき
+かわて,たかし
+あぶらかわ,かずおみ
+よしたけ,たかし
+いしだ,まさゆき
+ほんだ,としろう
+したま,よしお
+のぐち,たけし
+みずい,あやお
+あんどう,なおふみ
+よねしま,なつみ
+あきた,じゅんこ
+うえ,あつし
+すぎ,こういち
+なかじま,まり
+かさおか,としひこ
+のだ,てつふみ
+まつざわ,こういちろう
+わたべ,たつお
+あいざわ,けいじろう
+いわさ,しん
+こが,あきひこ
+ひがしたに,ひでふみ
+いけだ,としや
+あきなか,やすはる
+ふじた,かずや
+やまおか,ひさたか
+わち,せつや
+うえの,けんたろう
+うしき,かずいち
+やまもと,はるひこ
+かとう,まさとし
+ながい,ただひろ
+ふくだ,あやこ
+なかたに,えみ
+ひらさわ,ながこ
+みやざき,まさる
+てらしま,むねかず
+あらい,ちが
+たなか,しんいち
+かねこ,たかあき
+さとう,てつじ
+なりた,しゅういち
+ながしま,じゅんいちろ
+さかの,としお
+みうら,さとし
+やまぐち,けい
+おでら,なおとし
+あべ,あつし
+こだま,かずひろ
+やまもと,ひろゆき
+おしま,とおる
+いしず,つとむ
+かんばやし,ゆきお
+おおかわ,ひろゆき
+ひえだ,たけひこ
+いのまた,ひろみ
+まきた,としや
+がなは,たかゆき
+はやかわ,ひろゆき
+あかぬま,てつや
+むろかわ,まさのり
+おの,けいすけ
+きむら,しょうご
+はたざわ,やすこ
+ふじた,まさき
+うえだ,だいすけ
+やまのうち,いさお
+ふるた,よしひろ
+おくやま,けんいちろ
+いとう,ふみお
+おさない,せいいち
+こたに,たけし
+おおつか,ただあき
+ふくしま,こすけ
+いいずか,けん
+わたなべ,てるあき
+もりた,けんいちろ
+かとう,ひろき
+ほんだ,としあき
+かとう,あきのり
+あさぬま,やすひろ
+あずま,まさお
+てらさわ,みつお
+あかし,つねお
+かとう,なおと
+おのさと,たかし
+なかむら,ひろつぐ
+のむら,ひでみ
+いのうえ,えいいち
+はやし,しんいち
+たむら,がく
+さかい,すえのぶ
+すぎむら,りょう
+とみやま,けい
+かきざわ,としあき
+にしたに,しょういちろう
+あさくら,しんや
+いしざき,さとし
+まつもと,しんいちろう
+ながお,としお
+きの,りえ
+あべ,たすく
+と,こうじ
+やまき,こういち
+あらい,げん
+やまだ,けいじ
+おくむら,かずえ
+はら,しょうたろう
+やまもと,かつひさ
+なかむら,しんいちろう
+あらい,かずや
+いけど,まさたか
+いとう,けいじ
+いとう,ゆうじ
+うりゅう,あきら
+うちやま,ただし
+えのもと,ひろみち
+えずら,とおる
+おおつか,けいすけ
+えにゃ,すすむ
+あかお,けいすけ
+おおにし,しょうじ
+かがや,いなん
+かまた,たかひろ
+かわかみ,のぶひさ
+ささき,やすよし
+たかはし,なおひこ
+ただ,こういち
+にしの,まさよし
+あさお,なおき
+はしもと,なおき
+はっとり,たかこ
+ほし,たお
+ほりた,しんいち
+まえぞの,なるひで
+まえじま,みのる
+みやざき,ゆみこ
+あらい,よしみ
+もり,こすけ
+まえだ,ひろし
+おち,けん
+あさくら,のりお
+うさみ,あつし
+おくやま,たかし
+かりや,たかひこ
+うえだ,ひでゆき
+おたべ,けいぞう
+きむら,いさむ
+くしだ,よしはる
+あまは,こうじ
+こんど,よしき
+しみず,しょういちろう
+すずき,しゅうこう
+すん,すみお
+たどころ,ひとし
+とねさく,いさむ
+なかむら,ひろし
+ますだ,ひろお
+みやざき,みはる
+よしなが,あきひさ
+よこかわ,たくま
+つちや,まゆみ
+たかはし,まさのり
+たなべ,まさじ
+いとう,けいすけ
+ながお,しんいち
+さとう,たけし
+ただ,ともひろ
+あきもと,しゅんすけ
+たむら,まもる
+たむら,かずゆき
+おか,みちはる
+さくらぎ,けんいち
+すずき,ひろし
+もりおか,ただし
+やぐち,ゆうし
+みやもと,さとし
+しらかわ,ひでき
+おおつか,ひでき
+やまもと,ともやす
+なかまち,やすふみ
+わかはら,やすお
+あき,たかし
+たきた,かずひろ
+あらかわ,けいいち
+まつお,こうじ
+ちょう,ゆういち
+くろだ,しげる
+やました,たろう
+ともおか,えみこ
+なかお,わたる
+あそ,てるかず
+ふくだ,のぶたか
+あおき,ひとし
+くる,ひさと
+むらかみ,やすひろ
+くろだ,たくや
+みかみ,あきひろ
+かみむら,ひろゆき
+きたじま,なおき
+まるやま,よしひさ
+さたけ,けんいち
+もてき,たけし
+とみた,ふき
+にわ,ふみこ
+たかばたけ,しげのり
+あずま,まさる
+ふるや,さちこ
+なす,よしひろ
+こり,まり
+いけだ,まさひろ
+ごとう,こうじ
+ふくだ,ひろゆき
+すがはら,じゅんじ
+きむら,としひこ
+たかせ,まり
+にしおか,りょう
+ふるかわ,てつお
+くどう,けんいち
+たかはし,けんと
+やまもと,よしひろ
+みやもと,りょうへい
+のた,ゆきひろ
+なかむら,しのぶ
+あきば,みや
+いわき,まこと
+かとう,しほ
+もりもと,まさかず
+なかむら,かずとし
+なかやま,かずや
+おおたに,しげひろ
+すぎやま,みのる
+すん,とよゆき
+やまもと,ひろし
+ほんど,ゆたか
+はが,かくじ
+しおざき,かずひこ
+ふじの,みのる
+おの,けんじ
+あんどう,よしお
+やまぐち,としあき
+くろだ,たかし
+うの,りょういち
+いとうたに,たけひこ
+おか,えつみ
+みうら,のぶゆき
+はしもと,かな
+えもと,まこと
+こが,ひろし
+きはら,ひろし
+まつだ,ふみただ
+やまだ,あきこ
+たかはし,よういち
+やはた,ひでお
+たざき,けいた
+やまもと,りゅういち
+たかだ,ひろみ
+のだ,まさつぐ
+さいみょう,かおる
+こばやし,あらた
+ふじき,けんじ
+しらさか,ふみお
+たかはし,とおる
+やつ,あつお
+うおたに,ふみひこ
+たむら,としひこ
+まつお,さとし
+なかざわ,たくや
+きだ,ゆきこ
+たんげ,てつろう
+ひろせ,すすむ
+まつしま,みちや
+おかの,さとる
+あおき,よういちろう
+はせがわ,りゅうじ
+にしほり,ちから
+いしずか,たかや
+つぼい,ひでゆき
+いしだ,まさる
+はしもと,さとる
+ごとう,しんじ
+あきやま,ひろき
+みつはし,しげる
+ごしま,かずお
+ふくだ,ひろし
+やました,なおふみ
+なかざわ,ひさし
+にしかわ,ひとし
+いけうち,かずゆき
+たがみ,たかお
+かわきた,けんじろう
+なかむら,がく
+こまい,こすけ
+ほしや,あゆむ
+すみと,まさふみ
+ほしの,かずお
+なかや,しんいち
+はら,みずほ
+むろやま,かずひこ
+もり,ひでき
+しらいし,まさひろ
+ひらの,こうじ
+はしもと,ゆうこ
+あべ,じゅんじ
+いしかわ,ありかつ
+あずま,よしみ
+おおつか,のぶお
+いとう,けい
+おしま,ちかお
+こざい,きよひろ
+かわかみ,まさとし
+なかの,むねひこ
+うじもと,まさひこ
+きしだ,ひとし
+こいずみ,のりこ
+ないとう,としひろ
+よしずみ,よしき
+すぎもり,としひろ
+あおき,ともはる
+たかはし,こういち
+いが,のりかね
+かわばた,のぞみ
+しばた,ひろひで
+だん,まなみ
+たぐち,かずひろ
+まちだ,ともお
+あしだ,ゆうこ
+あんどう,ていじ
+むとう,かつのり
+こやま,きよと
+すずき,けいいち
+のむら,じゅん
+いとや,まさとし
+ちかおか,つとむ
+じんぶ,みちやす
+あだち,まさし
+かわい,やすし
+みのわ,こういち
+あさひ,としあき
+おおた,よしあき
+たなか,きよし
+きら,まさし
+やまざき,みか
+やまうち,みつる
+ほった,よしのり
+あらかわ,しげお
+おくむら,じゅん
+かねこ,いたる
+あやの,こうき
+はやかわ,ともなり
+いとう,まさひこ
+おくむら,ひさのり
+たんざわ,たつお
+さきの,よしひろ
+かわはら,とおる
+たるい,よしお
+ありもと,あつし
+えびこ,ともなり
+ひの,かつや
+やまだ,しょうよう
+おおの,くみ
+たけした,ゆりこ
+はやし,きょうこ
+いしだ,けん
+しおや,たけし
+あんどう,のぼる
+まつばら,まさふみ
+にしだ,まさる
+なかむら,まさのり
+いけだ,じゅん
+はやみ,ひでお
+すずき,しょうぞう
+おがわ,あきら
+いしかわ,としあき
+あさみ,けんじ
+はたけやま,たかし
+ほりみぞ,けいすけ
+まるたに,ちひろ
+さとう,あきお
+さかなか,かずお
+なかむら,ともひこ
+いとう,かおる
+ふるなが,はるひこ
+ふくしま,まさと
+みずがみ,よしゆき
+たけうち,みちお
+とりうみ,みのる
+ねぎし,しげき
+こやま,あきのり
+おしま,なすお
+かたおか,たかし
+たきぐち,ひでふみ
+こまつ,かずお
+やぎ,たかし
+たかぎ,よしお
+ますい,てつろう
+はやし,ひとし
+あねたい,まさゆき
+きはら,けんいち
+さいとう,しげお
+きたわき,みちひこ
+のぐち,ひろみち
+さかぐち,もとい
+にし,ゆきみつ
+いけだ,てつお
+さとう,たかし
+いまい,まさひと
+やまだ,しげいく
+たなか,やすひさ
+おおさこ,まこと
+こむろ,かなめ
+さいとう,ひでき
+すずき,けんいち
+ふなとがわ,ゆかり
+いしい,てるあき
+まつい,のぼる
+すえひら,ひとし
+ひろたに,よしお
+ひがし,きよし
+いむら,あつこ
+あべ,やすのり
+よねくら,のぶとし
+わたなべ,よしみつ
+すが,ひろし
+さの,ひろし
+しば,ともじ
+やまぐち,しゅんじ
+きざわ,よしひろ
+かさまき,よしろう
+きむら,けいすけ
+つるみ,あきひさ
+あおき,しょうこ
+いしだ,もとし
+もろ,あきお
+おくむら,ひろゆき
+たかぎ,こうじ
+いけや,みちお
+とみやま,かずみつ
+やぎ,たかお
+とみき,てつろう
+とのむら,みのる
+やつずか,としひろ
+ぶま,けんしょう
+なかざわ,ふみとも
+やまざき,ようこ
+まつした,しのぶ
+いだ,しん
+すずき,よしひろ
+なかの,やすひろ
+かわぐち,まさお
+たかはし,つとむ
+いしだ,しょういちろう
+うだ,さとる
+ふじわら,りゅうじ
+こいで,としたけ
+つかだ,へいはち
+ひらやま,ひろし
+うちとみ,あきら
+いまはら,ひろよし
+うえだ,ひとし
+ささかわ,よしひろ
+あいかわ,たかあき
+うえき,たかよし
+なかやま,よしみ
+おおさわ,よしかず
+たかおか,としゆき
+わだ,つぎお
+いぬずか,くにひさ
+たなか,こうきち
+たけだ,きよたか
+やまだ,のぼる
+やなぎ,ひでひろ
+たけした,よしたけ
+にし,たつひこ
+おおたけ,ゆういち
+にたない,しげお
+ほんま,のぶひこ
+なかの,よしのり
+みやした,ひでき
+うえの,じゅんじろう
+ばば,さだむ
+みやざき,まさお
+くにい,つとむ
+こばやし,けいじ
+ますだ,ひろし
+たかはし,こうじ
+つかお,ひろき
+かわむら,たかゆき
+かわばた,こうぞう
+あかさか,じゅんこ
+いいだ,てつや
+しらはま,ただし
+とがわ,ひろゆき
+いとう,ひでいち
+おかべ,まさし
+わたなべ,ひろお
+さかば,としひろ
+ひろさわ,ひとし
+なかむら,しげる
+やすい,さとし
+ひらた,かずひさ
+きたがわ,しんいち
+あまの,てつや
+つじむら,えつろう
+かわさき,こういち
+うえむら,たけし
+むらかみ,しげな
+いのうえ,きよし
+はぜ,けん
+としひろ,きみひろ
+こばやし,しげゆき
+いの,ただのり
+あさの,ゆういち
+もり,こうじ
+いなざわ,こうよう
+こばやし,てるひろ
+さかき,よしひこ
+うちやま,せいじ
+まなべ,やすき
+おおやま,けんじ
+しみず,まさひこ
+よねむら,ひろゆき
+ばらだ,あきひこ
+ふるぞの,よしかず
+ふじもと,かずあき
+さの,まもる
+かわの,えいこ
+ほしかわ,こうじ
+ささもと,もとつぐ
+すどう,まさと
+さとう,たかお
+はやし,ひろし
+ばば,ひでのり
+ばば,ひとし
+おおやね,ひでお
+ながさわ,やすゆき
+さかもと,まさはる
+あおき,せいじ
+むなかた,まさはる
+いとう,しんいち
+かわばた,ひろゆき
+すぎもと,みちお
+ばんどう,じゅん
+のむら,あきひこ
+こんの,よしみち
+かわい,かずのり
+うえの,のぶゆき
+はらだ,ひろし
+かのう,あきら
+おおはた,みきお
+すどう,たかし
+まつだ,ひとし
+いけがみ,まこと
+しらい,けんしん
+さとう,たかあき
+さかい,たけし
+おき,としゆき
+かわむら,けんじ
+やまだ,ひろお
+いとう,あきひさ
+いかみ,はるお
+あずまお,ひでと
+ふじむら,とおる
+きたむら,ゆうじ
+とがみ,としみ
+こすげ,まさお
+せき,ひろゆき
+かわしま,ともゆき
+たかい,ゆうご
+あきやま,ゆきお
+すずき,としふみ
+なかむら,しゅういち
+にしの,たかゆき
+みやけ,たかひろ
+よねもち,もとじ
+たかしま,しげお
+さかい,としのり
+おおつき,あきとし
+かわさき,みき
+にしかわ,たきお
+さくらい,けんじ
+すぎ,ひであき
+ほりこし,とおる
+もり,かつや
+はけだ,たかし
+にいだ,しんいち
+きくたに,さとし
+たけのした,しゅうへい
+たかはし,ひろみ
+たなべ,まさこ
+いけもと,のりこ
+まつやま,ゆきこ
+よしざわ,よしひさ
+あかい,みのる
+にしおか,せいいちろう
+たけもと,のぶお
+とくだ,よしお
+おおもり,やすひろ
+かとう,たつし
+かわと,ふみお
+まえだ,そういち
+くろき,まさよし
+いいだ,くみこ
+こやなぎ,はじめ
+まつなが,あつし
+いとう,やすあき
+やまもと,たつお
+つつい,としあき
+たなか,みのる
+ふくしま,しゅんいち
+こじま,よしひこ
+にしだ,みつぐ
+にしやま,じゅんこ
+すずき,だいすけ
+いいじま,たかし
+たまい,すすむ
+こんの,おさむ
+みます,としみつ
+よねはら,せいいち
+よしだ,かずみ
+ふくだ,ひろし
+さとう,ひろあき
+やまもと,ひろし
+きたご,のぼる
+さんの,ともとし
+やさか,としお
+むらた,しげみ
+なかもと,あきし
+さくらい,かずしげ
+はらだ,よしもと
+さとう,あつお
+さいとう,みつお
+そね,けいこ
+はすみ,あきひろ
+ひらた,かずひろ
+やなぎさわ,のぶお
+たちばな,ようこ
+いとう,まさずみ
+はら,あきら
+さいとう,としひろ
+いとう,こういち
+たなか,かずや
+うちやま,しげよし
+かがわ,けいいち
+たきざわ,ゆうじん
+しながわ,くにひこ
+かきはら,しろう
+すがぬま,じゅんいち
+かめい,としや
+おくつ,かずとし
+いしかわ,しょうしゅん
+すぎうら,もりお
+うめだ,ひさし
+みなぐち,いちろう
+ほしの,たけひこ
+にしやま,せいじ
+たけだ,たつや
+さかい,きいちろう
+やつだ,たけし
+もりた,けいぞう
+さきま,なおひろ
+あらい,ゆたか
+たけだ,たかこ
+たむら,よしこ
+おかだ,はるみ
+やまね,ちはる
+なかむら,ゆういち
+あおの,たつお
+すぎやま,かねよし
+ふりはら,かずお
+わたなべ,のぶと
+かつ,つかさ
+さはら,ひろみ
+かくた,あきひこ
+えのもと,たかし
+わたなべ,まこと
+やぶき,まさひろ
+あまさき,こういち
+よこた,まさひで
+ほりのうち,としあき
+きはら,つねお
+たけだ,つるまつ
+いねな,まさひこ
+なか,かずひろ
+いちやなぎ,ただし
+すずき,しょうけい
+なるしま,なおきち
+しらいし,たかし
+おの,とおる
+よしおか,かずや
+まつうら,ひろかず
+ふじた,てつじ
+いわみ,とよはる
+とくしげ,けいじ
+たなだ,きみひこ
+おかの,かずまさ
+もちずき,たかゆき
+たかしま,こういち
+とりうみ,かずお
+たかみ,よしたか
+はやせ,ともゆき
+たかはら,えいじ
+きん,まさゆき
+すぎやま,ひでひろ
+きたじま,こうじ
+にった,よしのぶ
+おか,ゆきのぶ
+おおはし,ひろし
+はらだ,きはちろう
+わきさか,ひろし
+いわなが,けいいち
+かわしり,みつお
+いなもと,まさかず
+さわ,ひろゆき
+たけだ,たけひこ
+いいだ,よしひと
+かじの,まもる
+みわ,はるかず
+ふくい,けいいち
+すえなが,とおる
+くにえだ,ゆたか
+きたおか,かずひこ
+いど,とおる
+おくだ,りょうすけ
+ほりかわ,かつき
+すえもと,てつや
+よこやま,としひろ
+ふじもと,とみお
+きせ,しょうじ
+にしむら,ひでひこ
+たかだ,こうじ
+つかだ,まさかず
+とよだ,えいじ
+さの,とおる
+にしだ,まさひこ
+おおもり,いちろう
+おざき,とおる
+いしまる,しげやす
+たなか,こういち
+かしわばら,のぼる
+あさの,やすかず
+ひらの,しんじ
+たにやま,てつろう
+うめばやし,けんじ
+おむら,ひでお
+さかぐち,きよかず
+おかむら,しょうご
+やまもと,あきら
+えちご,これあき
+さわだ,やすひこ
+よこい,かずゆき
+きたむら,りか
+やす,かおる
+たかお,じゅんこ
+かつらおか,しんぞう
+つぼい,まさひこ
+つじ,しげお
+たかはし,あきお
+すぎき,たかき
+たけうち,たかひろ
+かみ,としかず
+こばやかわ,やすひこ
+あおと,じつじ
+ただ,よりこ
+ひだか,のりこ
+にしむら,ちえこ
+えばら,つねお
+みずもと,かずや
+すずき,きよし
+しいな,はるよし
+しおた,みつひこ
+なかはら,こういち
+ごうだ,きよし
+ふるた,まさひさ
+ますもと,じゅんいち
+なかがわ,きいち
+いど,たかゆき
+よりふじ,のぼる
+まつもと,あきら
+さいとう,くにあき
+なつい,ひでき
+うおの,かおり
+たなご,けいこ
+たまがわ,のりひと
+おか,たかし
+ふくしま,まさる
+おかだ,ゆうこ
+きのした,ひでひこ
+しみず,あきら
+こばやし,きよたか
+のだ,まさし
+かのう,つぐひろ
+かじおか,あきひと
+おおの,たかし
+おおはし,まさゆき
+こばやし,ゆういち
+こいずみ,いくお
+たなか,ひとし
+ふくだ,としや
+なかざわ,のぼる
+ほりかわ,さとし
+うちやま,もりひろ
+いずたに,じゅんいち
+たきい,としこ
+たかせ,のぶつぐ
+ますざき,たかし
+あんどう,とおる
+かたぎり,しげいちろう
+もりやま,としや
+さとう,あきひろ
+ひるかわ,さとし
+うえだ,まさお
+なか,としたか
+みやざき,ひろし
+おおくぼ,まさたか
+たちかわ,まこと
+わたなべ,みちなお
+あさかわ,せいじ
+かわはら,まさや
+おさだ,はじめ
+さかい,はるお
+くりやま,さなえ
+さいとう,こずえ
+すきがら,よしこ
+あけひ,くみこ
+はやし,きよみ
+かわた,なおみ
+しまがき,みさえ
+ほり,かずよ
+のむら,よしこ
+とむら,しんいち
+くぼ,きよこ
+にしもと,のりひと
+よしだ,こうじ
+さぎ,たかよし
+かんの,けいこ
+やぶの,まさき
+やすなが,ひろゆき
+ひがしうえ,ひろひと
+こさき,まさゆき
+なか,としひろ
+おの,とおる
+むらた,こうぞう
+しょうじ,ひであき
+かわもと,あきひろ
+えさき,まさる
+えいどめ,ひでかず
+すずき,ゆたか
+もとやま,やすかず
+はまだ,あきら
+こしかわ,としお
+はやし,まさはる
+やまざき,ゆきや
+まつもと,よしまさ
+おの,しんいち
+はなわ,ただし
+はせがわ,けいじ
+みやた,まさあき
+きたざわ,まさかず
+えんど,やすひこ
+ながさか,よしあき
+よしもと,ひろみつ
+くろさわ,けんさく
+まるやま,よしはる
+なかにし,かずゆき
+よしだ,けいいち
+ふくた,ひでや
+ふじさわ,かつひこ
+さくま,よしはる
+はしもと,かつみ
+わだ,まさおみ
+にしざき,のぶお
+ふかがわ,えつこ
+あおやま,まさかず
+きよたに,つとむ
+とりはら,ひろゆき
+ながの,たけし
+おおが,ゆたか
+さかの,たかし
+みつはし,まさひろ
+ありもと,せいこ
+よしまつ,たかあき
+あおやぎ,あきお
+やまだ,まさひこ
+むらた,ゆみこ
+いりえ,しんいち
+やまざき,まさのり
+えぞえ,けいいち
+さとう,つよし
+おおた,きよし
+いのう,もりひと
+かど,たつや
+ささき,よしひろ
+かけひ,よしひろ
+つちや,かずや
+まさおか,しょうぞう
+すずき,やすお
+とね,とみひろ
+おおわだ,のりあき
+うえき,まさと
+まえだ,かずのり
+ふじおか,やすこ
+うらべ,なおこ
+なかむら,ゆういち
+いさか,まさあき
+にしさか,のぶお
+いわさ,えいいち
+たくしま,よしお
+つかもと,ふみお
+さくま,たけひこ
+ひょうどう,ひろし
+なかむら,こういちろう
+ささき,まさお
+ふくわき,としや
+おくむら,まさよし
+たかはし,とよひこ
+しろい,やすし
+こかぶ,ただお
+のぐち,ひろき
+たかつ,ひろかず
+よねざわ,てつや
+さかいだ,やすひろ
+こいずみ,みつや
+まえだ,かつゆき
+まんだ,ただし
+こぐれ,いちろう
+あきもと,よしと
+たけむら,ともあき
+すずき,こうじ
+やまうち,じゅんいち
+さえき,ゆうじ
+わかばやし,のぶゆき
+あきもと,まさひこ
+よしだ,ひろあき
+さとう,つねお
+おしま,やすとし
+ささき,まさひで
+あらい,あきひで
+わたなべ,てつじ
+いけもと,ゆきお
+きくい,こういち
+ひらた,ひろみ
+まきうち,たくや
+こせき,しろう
+にしかわ,やすひろ
+いがらし,ふみお
+たなか,ただつね
+ほんだ,えいいち
+はった,ひろみ
+はらだ,ひさかず
+よしだ,おさむ
+わたなべ,ひろし
+こいずみ,りょういち
+こすだ,なおひさ
+みやけ,まさあき
+ふじや,たけし
+まさき,あきら
+さくらい,ひでき
+にしやま,よしお
+かわせ,たかのぶ
+おかざわ,しんや
+あさか,としゆき
+おがわ,のぶあき
+ながさわ,はじめ
+きたわき,まさお
+しみず,まさのり
+こばやし,まさはる
+たちばな,しげこ
+いまなか,さとみ
+うしまる,けん
+おかむら,けんいち
+やまの,ゆういち
+きたむら,みちかず
+たかまつ,ひでき
+ときかわ,かずひで
+いけだ,としや
+いしだ,のぶたか
+たにはら,みつぎ
+おがわ,ひとし
+たなか,しょうすけ
+なか,けいこ
+ともざわ,のぶこ
+はらだ,せつこ
+はなぶさ,あつこ
+とくおか,あつし
+べっしょ,まさひろ
+なかしま,かつひこ
+あさくら,やすひこ
+みやでら,ひろし
+すずき,なおき
+よしむら,よしひさ
+さわ,まさゆき
+なかやま,こういち
+ひらざわ,よしひろ
+ふじわら,まさあき
+すがわら,とおる
+たにがわ,まりお
+ほんだ,やすと
+はない,こういち
+えぐち,さくめい
+かさい,よういち
+くろさわ,ひろし
+たじま,しん
+さとう,たつし
+ひびの,つねお
+すがや,しゅう
+くらた,こういち
+ますだ,はるき
+すぎはら,けいこ
+かねこ,よしゆき
+かつ,たかし
+まる,ひろや
+たなか,ひでかず
+としおか,あきら
+しげの,りょうじ
+やまもと,さとみ
+なかがわ,かつみ
+やまぐち,ひろき
+かわもり,よしひろ
+むらやま,まさる
+しゅう,なおや
+いけだ,ひろゆき
+こだま,たつお
+かとう,さとる
+はくちょう,いさお
+かげん,かおる
+てずか,こうじ
+たにぐち,まさたけ
+てらだ,なおき
+かとう,たかき
+ないとう,たけお
+いとう,たかし
+こばやし,けんじ
+たなか,ひでとし
+ささき,わたる
+ほんだ,みちと
+ひえだ,あきお
+さかい,かずのり
+かつみ,たかし
+たけべ,たかし
+のぐち,つよし
+わだ,えいじ
+うえやま,けんじ
+うえの,たかひろ
+たんご,ひでお
+むらかみ,かつみ
+あらき,こうぞう
+あらせ,ますひろ
+やまもと,しろう
+わしお,ひろゆき
+わけじま,よしふみ
+こいずみ,けんすけ
+とくやま,としふみ
+とみなが,けんじ
+きしだ,せいじ
+けん,みちひろ
+ひろせ,よしゆき
+うちやま,けんいち
+わかすぎ,ただたか
+いしぐろ,かつのり
+にしむら,ひろかず
+いのまた,かおる
+つつみ,としひこ
+いりえ,あつし
+さいとう,かずお
+うえの,しんいち
+ほんだ,おさむ
+きたむら,かよこ
+やまがみ,なみ
+なかにし,まさひろ
+うえだ,たかし
+ひろた,わたる
+うえだ,ともき
+いけだ,ひろし
+はなぶさ,よりのぶ
+こだま,ひろあき
+おかもと,なおき
+すずき,ひろみつ
+すずき,ひさえ
+にいくら,あきひろ
+にしだ,ひろひさ
+おさべ,じゅんいち
+ほそかわ,けんいち
+いまお,よういち
+ふじた,よしのぶ
+おおの,よしのり
+なかやま,よしお
+はやし,けいじ
+すがはら,かずのり
+はらだ,いちろう
+あべ,しゅんいち
+あべ,けいいち
+あべ,けんいち
+あだち,ただひろ
+あいば,だいすけ
+あかばね,かずお
+あんどう,えいほ
+あんどう,ともゆき
+あおき,まさし
+しいき,ひろし
+あらい,しょういち
+あらい,とおる
+あらい,たけし
+あらかわ,いさお
+あらき,たつや
+あらき,たかゆき
+あらき,きよはる
+あらき,かずあき
+あらまき,まきお
+あらめ,たかね
+ありむら,たけし
+あさみ,しゅういち
+あずま,ひろよし
+ばば,ひでかず
+ばば,もとこ
+ちば,のぶあき
+ちば,こういち
+ちの,ともゆき
+だいこく,よしのぶ
+でぐち,ひろのり
+でき,よしあき
+どい,のぶひこ
+えださわ,ひでき
+えぐち,よしなり
+えんど,かずろ
+えんど,まさお
+えりかわ,ゆうこ
+ふじい,ひろし
+ふじもと,ひでと
+ふじもと,まゆみ
+ふじの,よしあき
+ふかはら,あきら
+ふかみ,なおき
+ふかやま,のぶゆき
+ふくだ,まさゆき
+ふくい,まさひこ
+ふくもと,ひろし
+ふくなが,まさひこ
+ふくしま,のぶお
+ふくしま,かずたか
+ふなき,さかえ
+ふなき,やすふみ
+ふるや,いさお
+ごうはら,よしひさ
+ごとう,しんいちろう
+はが,ただし
+はぎの,かずろ
+いちむら,まこと
+はま,なおき
+はなだ,まさよし
+いば,きよさだ
+はせべ,かつへい
+はせがわ,としろう
+はしもと,のりあき
+はし,なおあき
+はたの,のぶひろ
+はとり,しんたろう
+はやし,あきひこ
+はやし,こうじ
+ひだか,かずこ
+ひがし,きよたか
+まの,よしかず
+ひらい,よしたか
+かみさき,としひこ
+ひらの,まさひこ
+ひろい,ひでお
+ひろもり,よしはる
+ひろさわ,あつし
+ひろさわ,おさむ
+ひろせ,しんいち
+ほんだ,よう
+ほんま,ひろやす
+ほりべ,しげる
+ほりえ,ひろし
+ほりぐち,ゆういち
+まつもと,としひで
+ほり,はじめ
+ほり,ひろみ
+ほしかわ,のりゆき
+ほそかわ,すすむ
+ひょうどう,まさはる
+いばらき,ゆういち
+いちおか,あつふみ
+いけだ,たかひと
+いまい,よしたか
+いまむら,たかあき
+いまなか,ともや
+いなだ,ひろし
+いなむら,こういち
+いのうえ,さとる
+あらい,としみ
+いのうえ,えいじ
+いしい,きよみ
+いしい,ひろし
+いしかわ,みきお
+いしかわ,あきら
+いしおか,まこと
+いそだ,
+いとう,まさひろ
+いとう,ちずこ
+いとう,かずひと
+いとい,ただし
+いとう,しんじ
+いわい,あきら
+いずみや,まさのり
+かじた,さとし
+かめい,しんじ
+かない,まさひろ
+かなざし,のりこ
+かねこ,たけし
+かねこ,まこと
+かのう,いくお
+かりう,しげじ
+つきじ,たかのり
+かさまつ,ひろゆき
+かたぎし,まさし
+かたやま,あきら
+かたやま,てつめい
+いそだ,たかお
+かたやま,こうじ
+かとう,さつお
+かとう,まこと
+かとう,やすし
+かとう,ちえ
+かつまた,たくや
+かわべ,ゆきのぶ
+かわべ,あつし
+かわべ,むねひと
+かわだ,けんすけ
+かわだ,あきひこ
+かわもと,あきお
+かわたに,せいき
+きみずか,みちろ
+きむら,かずや
+きむら,りょうたろう
+きのした,やすひろ
+きさか,ひでお
+きしだ,たかこ
+きたがわ,きょういち
+きたむら,よしひろ
+きた,ひでと
+きよの,まさゆき
+こばやし,かつのり
+こだま,かずなり
+どひ,ひらやす
+こはら,まさき
+こいで,としや
+こいわ,ひょうじ
+こいずみ,はるこ
+こまつ,やすたか
+こめだ,ひろゆき
+こんど,みき
+こんど,とおる
+こにし,じゅんじ
+こさか,ひろあき
+こたき,じゅん
+こたに,ひでき
+ことぶき,ひろし
+たしろ,かずのり
+くぼた,ゆきまさ
+くぼ,てつや
+くどう,まさと
+くまがい,やすひろ
+くろせ,おさむ
+くしま,やすこ
+くしみや,こうき
+くつかけ,しんいち
+くわの,しゅうぞう
+まつなが,ひでき
+まえだ,ゆうじ
+まえはら,さとし
+えのき,としや
+まえかわ,こうじろう
+まえき,あやこ
+まんの,しんぎ
+まの,えいじ
+まんたに,よういち
+まるやま,やすひろ
+ませ,かずひこ
+ますざわ,まさお
+まつだ,みつのり
+まつい,いつこ
+まつい,まさと
+まつもと,やすあき
+まつむら,かずあき
+まつの,のりゆき
+まつざき,れいこ
+みき,しげる
+みこだ,てるゆき
+みむら,かずたか
+みむら,しげのぶ
+みなみ,さとし
+みなみ,のぶひろ
+みなと,やすし
+みねまつ,のりこ
+みね,まさたか
+みしま,ひろゆき
+みわ,まさひろ
+みやぐち,たかひろ
+みよし,ゆうこ
+みずた,じゅんこ
+もものい,けいすけ
+ほんだ,たけし
+もりた,やすし
+もりた,あきひこ
+もり,あきら
+もり,あつし
+もり,かずひろ
+もり,みのる
+もり,たかし
+むねむら,としみつ
+むらかみ,ようじ
+むらおか,こうじ
+みょうが,ひろき
+ながみね,まさし
+やまだ,しんいち
+ながお,としかず
+ながた,けんじ
+ないとう,こういちろう
+なかがわ,たろう
+なかいち,ひろのり
+ささき,つかさ
+なかじま,ひろし
+なかしま,そうたろう
+なかこじ,たつや
+なかむら,まさふみ
+なかむら,さとし
+なかむら,とおる
+なかむら,じゅん
+なかむら,だいすけ
+なかむら,ゆうこ
+なかむら,よういち
+なかむら,くみこ
+なかにし,としゆき
+なかの,てつや
+なかの,きんや
+なかしお,こういちろう
+なかた,かなこ
+なかやま,たかし
+なんけ,あつし
+ならざき,たいちろう
+なりせ,ゆきひろ
+なるおか,いさむ
+ねもと,ただし
+にむら,すすむ
+にむら,まさゆき
+にしむら,つとむ
+にしの,かずまさ
+にしした,てつのり
+にしうち,しゅういち
+にしやま,なおひと
+やじま,よしえ
+にしざわ,ゆたか
+にわ,あきら
+のぶなが,みつし
+のがみ,まこと
+のぐち,しんいち
+のぐち,みゆき
+のま,とよみ
+のま,こういち
+のむら,こうじ
+のむら,のりお
+のむら,しゅんいちろう
+のせ,ただあき
+のざわ,よういち
+ぬきい,かつみ
+ぬまお,あきら
+ぬまた,かずひろ
+おちあい,たかゆき
+おちあい,よしお
+おだはら,いくお
+おだ,みのる
+おがさわら,しゅうじ
+おどまり,とういちろう
+おかど,ふみお
+おまさ,あきら
+おなが,ひろゆき
+おおの,ひでゆき
+おおさき,あつし
+おおさわ,ひでたか
+おおすみ,かずゆき
+やました,まさる
+おおた,なんてつ
+おおた,たかし
+おおつか,たつや
+まつなが,よしあき
+おおやま,のりゆき
+おかだ,りえ
+おかだ,たけし
+おかだ,ひろふみ
+おかだ,よしのり
+おのでら,たかお
+おかもと,ひろゆき
+おかざき,たかあき
+おくだ,としゆき
+おく,のぶゆき
+おの,さちこ
+おの,けいいちろう
+おりて,けんいち
+おさだ,むつみ
+さいとう,むつお
+さいとう,しんご
+さいとう,しゅうじ
+さいとう,よういち
+さいとう,ゆたか
+さいとう,かずひろ
+さいとう,あきひろ
+さかい,いちろう
+いしざき,ゆきのり
+さかもと,ひろし
+さかのうえ,ひでお
+さかうえ,かずまさ
+さこだ,のぶお
+さくらい,しげのり
+さくらい,たかし
+さぬき,りゅうたろう
+ささき,あきと
+とみた,ともなり
+さとう,てつお
+さとう,なおき
+さとう,よしのり
+さとう,まさゆき
+さとう,としや
+さとう,あつこ
+さわだ,まさと
+せお,けんさく
+せざい,かずやす
+しばた,たけひこ
+しばた,よう
+しがき,あきひこ
+しみず,ひろむ
+しみず,よしみ
+しみず,あきら
+しみず,あきとし
+しみず,ひでお
+しもむら,ひろあき
+しのはら,かずひろ
+しらつ,まこと
+しろした,さとし
+しょうじ,ゆうこ
+しょうみつ,よしひろ
+そだ,かつすけ
+そもり,たつお
+そう,かずひこ
+なか,ゆうじ
+すぎむら,けいし
+すぎの,まさひろ
+すぎさわ,のぶゆき
+すぎた,さゆり
+すぎうち,しんすけ
+すぎやま,あきのり
+すぎやま,まさのり
+すぎやま,かずみ
+すずき,しんや
+すずき,ゆうじ
+すずき,しん
+すずき,ひろあき
+すずき,としあき
+すずき,ひでと
+すずき,こういち
+すずき,ゆうこ
+たちばな,たかし
+たいら,あきら
+たいら,ひであき
+たかだ,ひろゆき
+たかぎ,まさかず
+たかはし,のりいつ
+たかはし,たかゆき
+たかはし,はじめ
+ますざわ,ひとし
+たかはし,まさあき
+たかま,ひさと
+たかの,みえこ
+たかの,かずよし
+たかさか,はじめ
+たかせ,かつじ
+たかた,くみこ
+たかやま,あつし
+たかやなぎ,ありひろ
+たけだ,えり
+たけだ,あきら
+ふじい,あつこ
+たけのり,いくし
+たけした,ひろかず
+たけうち,ゆうじ
+たけうち,たかとし
+たきざわ,まさあき
+たきざわ,つよし
+たまき,さとこ
+たむら,あきひろ
+たむら,てつね
+たむら,のぶお
+たなか,しょうご
+わたなべ,あきひろ
+たにやま,のぼる
+たに,かずひこ
+てらきた,ながのり
+てずか,しんいち
+とばり,すすむ
+とがし,じゅんいち
+やまだ,けんいち
+ときぞの,しげお
+とみなが,もとひさ
+とみなが,しんじ
+とみた,しんじ
+とみた,てつお
+ともおか,ひとし
+とのさき,よしのり
+とりざわ,えみ
+こいけ,ひろこ
+とよかわ,まさよし
+とよかわ,ひさよし
+つぼい,ただし
+つかだ,とおる
+つくい,ひさし
+つるかわ,えいじ
+つつい,としかず
+つつい,ゆうじ
+うちだ,ひろき
+うちだ,じゅんいち
+うちま,しゅんいち
+うちやま,あきひろ
+うだ,ひさよし
+うえだ,かずのり
+うえの,きよし
+うえの,のりお
+うえの,たかし
+うけがわ,たかゆき
+うまずめ,よしひろ
+うめむら,きみひろ
+わだ,ひろし
+わだ,やすひこ
+わたなべ,りょう
+いいだ,さとし
+わたなべ,たかし
+わたり,やすよし
+やぎ,よしゆき
+やまだ,ひろゆき
+やまが,ひでお
+やまぐち,まさのり
+やまぐち,ひでお
+やまぐち,まさし
+やまもと,てつや
+やまもと,まさゆき
+やまもと,かずゆき
+やまもと,ひでし
+やまもと,まさのり
+やまもと,かずと
+やまもと,かおる
+やまもと,まさよし
+やまなか,えいじ
+やました,さとる
+やまうち,かずあき
+やまざき,はるひこ
+やまざき,まさとし
+やまざき,けんじ
+やの,ゆきお
+やの,こういち
+やすだ,たけし
+やすまつ,かつなり
+やすもと,こうじ
+やすにわ,たかゆき
+よだ,おさむ
+よだ,いさお
+よしだ,よしひろ
+よしい,たつや
+よしなが,ゆみこ
+よしの,たつみ
+よしたけ,あきひろ
+たきざわ,たかし
+やまぐち,かずよし
+かばしま,かずひさ
+さくら,ゆうすけ
+むらやま,ひろゆき
+ひきだ,かずみ
+むらい,くにひろ
+ほ,あきら
+えんど,せいじ
+てらむら,たつお
+わたなべ,たかひこ
+いまい,しげや
+もりもと,としかず
+こやり,せいじ
+まつみや,ゆういち
+しばた,かずお
+ちしろ,よしひろ
+いたみ,ひでお
+おざき,ひとし
+ふくもと,まさつぐ
+おかだ,ひろし
+さわだ,ひろし
+さくらい,たかし
+はやし,よしのり
+まつおか,やすのり
+みよし,のりよし
+やまなか,こうじろう
+しみず,ひとし
+こはら,まさのり
+にしかわ,ひろし
+いまい,やすお
+ふじむら,ひろゆき
+こじま,やすゆき
+こばやし,ひろし
+きくち,かつひこ
+さいとう,みつる
+やました,ひであき
+あべ,しんじ
+てずか,たかし
+たなか,わたる
+にわ,みのる
+かめい,みずほ
+やの,みつお
+なかまる,やすし
+おおはた,まさのり
+やすやま,まさひろ
+かすが,みつお
+いしい,あきひこ
+ふじもり,のりこ
+いわもと,ひろし
+やました,るみこ
+きた,ともみ
+むらおか,ゆうこ
+いぐさ,よしずみ
+ながさわ,ひろじ
+やまぐち,やすひろ
+おだじま,ゆたか
+おおた,まみ
+はぎの,なおいちろう
+やぶき,としあき
+いき,よしとし
+さいとう,まさと
+やまだ,たかし
+なかやま,
+むらまつ,かおる
+たしろ,しょういち
+いしはら,まさゆき
+しばおか,たつお
+なかお,やすのり
+ふじた,としき
+さくた,まさゆき
+はた,すすむ
+おおやま,ただし
+たご,きょうこ
+まつむら,かずお
+いとう,まさゆき
+きむら,たけお
+あおき,みつたか
+こまがた,ひでとし
+ならむら,かずこ
+ふじもと,まさき
+みやさか,としひこ
+はやし,まさひろ
+さいとう,かずひこ
+おがさわら,しょうじ
+おおつか,としゆき
+かわい,ともゆき
+しまず,よういち
+たかはし,きしこ
+まえざわ,いずみ
+はだ,かおる
+まつひら,えり
+すぎはら,のぼる
+なかじま,よしのぶ
+はたけやま,てつや
+あおき,まさひこ
+しぶかわ,きよひさ
+いしだ,しげる
+おかだ,たかし
+いとう,あきら
+かとう,まさひろ
+こばやし,なおみつ
+むらさわ,みのる
+みほ,まさのり
+すがね,よしのぶ
+いしかわ,よしひこ
+おか,やすひろ
+いわみ,ゆみこ
+なかやま,ひろし
+いとう,かずき
+すぎやま,しんいち
+かしもと,よしこ
+なかむら,まさゆき
+あおやま,ひでのり
+しばた,けんいち
+まつお,よしのり
+しのむら,あおい
+ふるかわ,よしふみ
+もとき,しゅういち
+わたなべ,ちお
+あんどう,まさひろ
+たけひ,さちこ
+いしい,あきふみ
+のちせ,かずひこ
+みやなが,としこ
+しんどう,ひろみ
+おおた,みよこ
+たに,よしあき
+こむろ,ふみのり
+いわさ,ひろみち
+まつもと,ひであき
+きむら,ひさと
+あおき,あきひこ
+まつばやし,ひろし
+ごとう,ふみゆき
+おがわ,あきら
+すぎたに,はるお
+おくの,ゆきお
+さくらだ,しんぺい
+むこやま,のりこ
+いとう,さとし
+やまもと,ただし
+やまもと,まさとし
+かねこ,しゅうへい
+やまざき,やすひろ
+なかむら,とも
+みわ,おさむ
+さむかわ,しろう
+なかだ,としゆき
+よしとみ,けんいち
+たかしま,つねじ
+いしげ,あきこ
+すえはら,ひろゆき
+いのうえ,ひでみ
+のじま,
+さくま,さちえ
+さの,よしみち
+むらおか,かつじ
+みうら,りゅうぞう
+さかもと,じゅん
+なるお,せいこ
+はせがわ,みつひろ
+おかだ,てつお
+やひろ,のぶゆき
+ばば,たくや
+あた,あやの
+ながせ,きよし
+かわえ,いずみ
+みうら,まきよ
+ふじた,さとこ
+つるみ,よしお
+もちずき,えみこ
+よしだ,かずあき
+おかもと,まさふみ
+やすもと,みつはる
+ねもと,たくじ
+ひだか,うえみつ
+ますだ,くみこ
+とくなが,ふみひと
+なかざわ,すすむ
+ふじなわ,よしはる
+よびかわ,かずひろ
+きただ,たけし
+よしの,やすひろ
+ばば,よしと
+くろかわ,ひろし
+かとう,たかし
+わたなべ,としお
+つちだ,あつこ
+すずき,みゆき
+みずの,あきら
+たにもと,たくみ
+いけの,めぐみ
+いとう,しょうこ
+たけだ,とおる
+まえだ,こうへい
+くどう,かつみ
+かげやま,みねお
+やまかげ,ようじ
+さえぐさ,れいこ
+みずたに,なおこ
+くどう,としひこ
+こおりやま,みずほ
+かたよせ,よしえ
+おさだ,けいこ
+やぎはし,しゅういち
+すみ,たつお
+たなか,あつし
+くどう,ゆきお
+たけひ,あきら
+あめみや,みちひろ
+なかむら,たかし
+きよみつ,けんじ
+いずみだ,よしか
+ふなき,ひろあき
+たけした,かずひこ
+みうら,きくお
+いしばし,のぶこ
+もりあい,けいじ
+むらやま,えいじゅ
+おさわ,やすのり
+ふかだ,よしかず
+やまだ,ひでひこ
+いとう,あきら
+おのでら,とみお
+はやさか,まさみち
+おおつか,ひでひこ
+とおやま,ひろたか
+かわはら,みつる
+えびさわ,まさき
+やまかわ,てつや
+やまもと,やすとも
+すずき,とおる
+おやまだ,たかし
+まつやま,りゅういち
+あべ,のぶひろ
+あべ,やすお
+あべ,かずまさ
+あべ,ゆきお
+あげた,じゅんいち
+あかはね,ひでひろ
+あけなが,じゅん
+あきやま,しげお
+あきざわ,ひでかず
+あまだ,みきお
+あまの,まさし
+あもう,あきお
+あんどう,ひであき
+あんどう,なおき
+あんどう,としふみ
+あおの,ひろき
+あおやま,いわお
+あらい,かずひろ
+あらかわ,ひでし
+ありもと,ひでき
+ありお,まこと
+あさい,あきら
+あさかわ,よしひと
+くろき,ゆきのり
+あずま,しんじ
+ばんの,まさきよ
+べつやく,けんご
+びとう,じん
+ちば,ひろし
+ちゅう,かつき
+えだ,けんいちろ
+えんど,なおみ
+えさき,しんいち
+ふじい,ひろし
+ふじい,ふみお
+ふじもと,あきら
+ふじた,きよなお
+ふじた,あきひろ
+ふじわら,さとし
+ふかざわ,ともひと
+ふくだ,すすむ
+ふくはら,やすひこ
+ふくしま,かずよし
+ふくどめ,かずひさ
+ふくやま,さとし
+ふなばし,まさゆき
+ふるだて,あきひこ
+ふるさわ,しんじ
+ふるた,りきや
+ふるや,しんいち
+ふしき,ゆういち
+はまだ,こういちろう
+はなだ,かつのり
+はなみ,ひでお
+はらだ,あきら
+はるかわ,いずみ
+はせがわ,よういち
+おおつ,むねひろ
+はしもと,あつし
+はしもと,えみこ
+はすもと,あつし
+はっとり,つよし
+はやさか,たかお
+ひだか,けさお
+ひぐち,けいこ
+ひぐち,ふさゆき
+ひじくろ,なおゆき
+ひらかわ,じゅんいち
+ひらの,ひろよ
+ひらた,まさひろ
+ひろせ,さちこ
+ひさだ,たかし
+ほり,のりやす
+ほうや,かずひこ
+ほんだ,しげゆき
+ほんま,たつや
+たなか,つよし
+ほしじま,たつお
+ほしか,たけし
+ほそだ,ちえみ
+いちかわ,やすひろ
+いちむら,けいご
+いがの,みどり
+いいだ,まさゆき
+いいおか,ひろし
+ながの,さとる
+いけざわ,のぶやす
+いもと,すみれ
+いなずみ,やすはる
+くしみや,しんいち
+いのうえ,しんや
+いのうえ,あきら
+いのうえ,ともゆき
+いぬつか,なおき
+いさじ,ひでと
+いしだ,しゅういち
+いしだ,いさお
+いしだ,くにあき
+いしがき,えりこ
+いしがみ,じゅんいち
+かじたに,おさむ
+いしはら,ひろゆき
+いしむら,まさひこ
+いしやま,しゅういち
+いしざき,のぶお
+いそべ,よしひこ
+いそざき,まさあき
+いとう,ちくさ
+いとう,ひさと
+いわあさ,けんたろう
+いわい,なおたか
+いわま,さとし
+いわもと,よういち
+いわなが,ひろのり
+いわした,しこ
+いわた,かずまさ
+いわた,えいじ
+かどわき,さとし
+かげやま,けんいち
+わたなべ,いずみ
+かみや,くにあき
+かみや,けんいち
+かんばやし,きんじ
+かのう,ひろし
+かりや,なりやす
+かさき,じゅん
+かしま,まさお
+かすや,あきら
+かとう,たかき
+かとう,かずひろ
+かとう,けんじ
+かとう,みつぐ
+かとう,ひでのり
+かとう,ひろゆき
+かわばた,だい
+かわばた,あつし
+かわぐち,ひでみち
+かわはら,ひろみ
+かわはら,かずふみ
+かわじり,みちお
+かわかみ,てつお
+かわくぼ,かずとし
+かわまた,たかのぶ
+かわむら,ひとし
+かわの,のりあき
+かわさき,まさひと
+かわしま,としひさ
+かわず,まさのり
+きばし,ひでひこ
+きまち,まさき
+きもと,たけし
+きむら,たくや
+きんばら,よしみち
+きのした,やすし
+きのした,ひろき
+きりさわ,いちろう
+こばやし,じゅんいち
+こばやし,ひろあき
+こばやし,まさお
+こばやし,ふじひこ
+こだま,こうじ
+こだま,おさむ
+たかむら,もとひこ
+こひなた,ゆうすけ
+こんの,ひろし
+こんの,たかひろ
+こやま,こうじ
+こずき,としお
+とうどう,こうじ
+こじま,しんじ
+こんど,あきら
+こんど,たかし
+こんど,まさとし
+こんの,かおる
+こたき,ひとし
+こやいし,みか
+こやなぎ,のぼる
+くぼ,けんたろう
+くどう,きみひと
+くまがい,なおゆき
+くまき,しんじ
+くらち,たかゆき
+くらた,こすけ
+くりた,みき
+くりやま,しゅんじ
+くろだ,こすけ
+くろかぎ,まさのぶ
+くろさわ,しんじ
+くろさわ,せいき
+くわの,ひろたか
+まえばし,としあき
+まえざわ,のぶゆき
+まの,よしお
+まるわか,ひでなお
+うちやま,たつお
+ますだ,じゅん
+まつい,しげき
+まつい,さとし
+まつもと,しんいち
+まつもと,ひさと
+まつなが,まさとし
+まつしま,もりひろ
+まつした,ただし
+まつざき,たけし
+いないし,よしお
+みかみ,けいいち
+みなぎ,あきみつ
+みつやま,こういちろう
+みうら,しげき
+みやけ,あつし
+みやもと,あつこ
+みやた,こうじ
+みやうち,まさき
+みやうち,いちろう
+みやざわ,あきら
+みやざわ,たかし
+みよだ,たかひさ
+みぞぶち,けんじ
+みぞた,たけお
+ちば,ひろひさ
+みずはし,まこと
+みずまち,せいじ
+みずたに,さとし
+みずたに,つよし
+みずたに,ひろゆき
+もちずき,みのる
+もりもと,ななこ
+もりたに,たかし
+もりた,とよひこ
+もりた,たかし
+もりわき,しんいちろう
+おくい,たけひこ
+もり,たけみ
+もり,たかゆき
+むこやま,ひろゆき
+むらて,しんいち
+むとう,かつき
+ながい,みつひろ
+ながの,みつとし
+ながおか,たかひろ
+ながせ,かつみ
+ながた,ひろゆき
+ながた,もとき
+ながわ,しんいち
+なかまる,よしき
+なかむら,あきら
+なかむら,ともこ
+あべ,よういちろう
+なかむら,としや
+なかむら,あきら
+なかしま,ひさよし
+なかしお,ひろゆき
+なか,のりこ
+なみき,のりかず
+なんぶ,ひろしげ
+やまぐち,しんじ
+にいみ,しげふみ
+にしだ,ひろよし
+にしだ,えいじ
+にしだ,まさあき
+にしだ,すすむ
+にしくぼ,あきひろ
+にしむら,たかあき
+にしむら,つよし
+にしお,まさと
+にしお,しんじ
+にしやま,たかし
+やがわ,けいじ
+にった,ひろみ
+のべおか,あきほ
+のじり,よしのぶ
+のむら,てつや
+のなか,かつし
+おばな,みのる
+おちあい,としゆき
+おちみず,たかし
+おち,みつのり
+おだおおはら,しんご
+おだ,ひろかず
+おがた,まさき
+おがわ,まさとし
+おがわ,えつこ
+おぐら,なおゆき
+おおひら,のぶゆき
+おおひら,いちろう
+おおいし,あきら
+おおいし,まこと
+おき,かゆ
+おおくぼ,かずこ
+おおの,けいこ
+おおぬま,しげのぶ
+おおぬま,なるし
+おおたき,まさひで
+おおた,とおる
+おおた,よしなが
+おおた,こういち
+おと,まさずみ
+おおつぼ,ひろふみ
+おおやぎ,まさひろ
+おおやま,あつし
+おいえ,かずや
+おじま,あきら
+おかべ,いちろう
+おかだ,とおる
+おかもと,まさき
+おかね,たかし
+おかの,ひでお
+おかの,まさこ
+おかざき,はるひこ
+わたなべ,まさとし
+おくだ,あつひろ
+おくの,かつし
+おなや,かずこ
+おの,きよし
+おの,しんや
+おおの,ゆたか
+おさない,きよあき
+おざき,ひでお
+さいとう,よしみ
+さいとう,じゅん
+さじ,やすひで
+さじ,かずお
+さかい,かずひこ
+さかい,ともすけ
+さかくら,たかひろ
+さかうえ,やすゆき
+ささべ,まこと
+ささき,ひでかず
+なみき,ひろし
+さたけ,かつひろ
+さたけ,わき
+さとう,しゅういち
+さとう,たけし
+さとう,なおき
+さとう,ゆうぞう
+さとう,しげき
+さとう,ひろし
+さわだ,はじめ
+せきぐち,ひろあき
+せきもと,としゆき
+せきね,きいち
+せきおか,まもる
+せきや,ひろあき
+せき,じゅんいちろ
+せんた,のりあき
+しばた,さとし
+しいな,ふみはる
+しいや,ひでき
+しまばやし,まもる
+しまだ,しんいちろう
+しまだ,みちとし
+しまむら,あきひと
+しみず,ひでとし
+しみず,いたる
+しもむら,かつあき
+しのだ,こうじ
+しのはら,もとゆき
+しおざわ,のぶゆき
+しらいし,ゆうじ
+しらさき,ようこ
+しらとり,ひでじ
+しさい,まさひろ
+しょうだ,けいすけ
+そう,なおき
+そのべ,とおる
+すどう,しゅんいち
+すどう,さとこ
+すぎうら,なおき
+すぎやま,りょういち
+すぎやま,ともじ
+すみだ,ひろき
+すみかわ,ひとし
+すずき,みねかず
+すずき,ひろし
+すずき,あつし
+すずき,としなり
+すずき,よしゆき
+すずき,やすぞ
+すずき,はじめ
+すずき,かずあき
+ほそかわ,ゆり
+たぶし,いくた
+たちざわ,のりふみ
+ただ,たかあき
+ただ,ひろとし
+たかた,ゆうすけ
+たかがき,ひでかず
+やまざき,なおき
+たかはし,よしつぐ
+たかはし,ひろき
+たかはし,まさやす
+たかの,たかひろ
+たかさき,たかし
+たかす,かずよ
+たかとり,こうじ
+たかやま,まさみ
+たかやま,しげる
+たかやま,ゆうじ
+たかや,よしかず
+たけだ,たえこ
+たけだ,ひろゆき
+まつおか,よしひろ
+たけい,のぶひこ
+たけうち,ともおき
+たけうち,のりとし
+たけ,けいこ
+たきみや,ともひろ
+たまたに,かずあき
+たむら,よしひろ
+たむら,けんじ
+たなか,かずひさ
+たなか,ともやす
+たなか,あやこ
+たなか,のりひろ
+たにもと,しんいち
+たにやま,あきひこ
+たんの,おさむ
+たの,ひさお
+てらざわ,あきら
+とくしげ,さとる
+ごとう,なおき
+とみなが,ひろひさ
+とんしょう,ひでゆき
+つぼい,しょういち
+つぼた,しょうじ
+つじむら,なおき
+まつむら,あきら
+つかだ,ひでき
+つねよし,さとみ
+つるおか,まさや
+つる,よしお
+うちだ,ひでゆき
+うえだ,たもつ
+うめさき,きよし
+うらかわ,ゆうじ
+うらかわ,かずし
+わだ,じゅん
+わかばやし,けんじ
+わかまつ,よしかず
+わたなべ,あつこ
+わたなべ,たかし
+わたり,こうじ
+やべ,こういち
+やはぎ,しんじ
+やまだ,かずひろ
+やまだ,かずひろ
+やまこし,まさゆき
+やまもと,そういち
+やまもと,あつし
+やまもと,よういち
+やまもと,さち
+やまもと,まさみ
+やまうち,とおる
+やまの,ひろふみ
+やまおか,ともたか
+やました,としひで
+やまうち,たけし
+やまざき,ひろまさ
+やまざき,ゆかり
+やなぎしま,ますみ
+やまもと,みかこ
+やの,たかひこ
+やざき,たけし
+よご,やすはる
+よこい,かつまさ
+よこみぞ,としき
+よこた,ゆうじ
+よこた,ひさお
+よこた,ゆうこ
+よしだ,しんいちろう
+よしだ,まちこ
+よしふさ,いくふみ
+よしはら,ともまさ
+よしいえ,はじめ
+よしかわ,ちえ
+よしかわ,みつひろ
+よしお,ゆうじ
+ゆあさ,まさよし
+ゆき,あきら
+あだち,としゆき
+おおにし,かずお
+おおた,みわこ
+あさの,みちこ
+にしむら,みつよし
+やまだ,ひろのり
+さい,くにお
+みやもと,かずお
+すずき,かずひこ
+ふくい,くにや
+おくだ,ひさこ
+さいとう,たかお
+ふるや,かつみ
+もとやま,なおひろ
+よしざき,ゆういち
+なかむら,あつろう
+ときわ,しゅういち
+いなだ,まさつな
+ときわ,のりゆき
+よしだ,たかゆき
+たかの,けいこ
+うえだ,ともこ
+つちや,ゆうこ
+しもかわ,ふみひこ
+まつい,かつみ
+すがや,よしお
+みのぐち,やすこ
+うえだ,ひかる
+いの,ともじ
+まえだ,まこと
+つぼた,のりお
+よしみ,いくお
+いちかわ,しげひろ
+ほり,ひでや
+はやし,ゆたか
+しばた,いくこ
+こばやし,ますひこ
+おおくぼ,たけし
+いわた,のぶゆき
+ふじた,まさひろ
+きたむら,かずお
+くろき,けいこ
+やまもと,たかし
+やまばた,ゆきこ
+さいとう,しゅういち
+ふじわら,ただし
+いとう,かずと
+いいけ,とおる
+さむかわ,あきのり
+あずま,まさき
+あおき,あつし
+ふじた,つねお
+みよし,としかず
+せきやま,よしお
+てらだ,てるひさ
+えんど,たけし
+かきもと,けんじろう
+ふるや,いわお
+まきむら,たけお
+こんの,ひろし
+すぎさき,としゆき
+よしだ,しげお
+はぎわら,ひろし
+やざき,ゆうじ
+にのみや,かずお
+こさか,ひろやす
+さの,しんご
+さいとう,だいすけ
+しもせ,たかよし
+たかはし,かずひと
+たつおか,まさき
+たばた,よしたか
+なおい,まさこ
+ながた,まさお
+にしおか,しげる
+まつかわ,あつし
+みずの,ゆうこ
+とくなが,けいこ
+むらかみ,ひろき
+やすかわ,としのり
+やまぐち,ゆきお
+よこうえ,ただし
+あずま,のぼる
+いなだ,みつゆき
+いしい,のぼる
+いまにし,たけお
+おかの,かねみつ
+きし,としこ
+くぼた,まさのり
+こみなみ,まゆみ
+あいやま,しょうじろう
+さの,ちから
+たきがわ,しげよし
+こんの,ひろやす
+せんだい,たかし
+にわの,ひですけ
+し,なおよし
+かとう,かずなり
+あかさか,くにお
+おんずか,ひろし
+こが,こういち
+はやかわ,ともみ
+はせがわ,まさよし
+ふるかわ,たけし
+ふじかど,ゆうじ
+とのかわ,たけし
+まつお,よしお
+きみずか,まさのり
+おち,まこと
+いちこはら,まさやす
+いけだ,あきこ
+あらたけ,いくお
+いけだ,ときお
+いとう,よういち
+いけだ,えつ
+いいだ,まさと
+おおくま,かずえ
+くさば,まさき
+こばやし,さよこ
+ごとう,かずや
+すずき,もとのり
+せきね,ひろし
+たかだ,としゆき
+こんど,ようすけ
+たけやま,けいしろう
+たかいち,おさむ
+そだ,けんじ
+たの,まこと
+しのざき,さとし
+はらだ,あや
+くどう,かつこ
+つのだ,なおこ
+ふるかわ,としあき
+もりた,まさゆき
+やまもと,とおる
+やました,よしはる
+ゆかわ,よしお
+よしだ,えいこ
+はやし,としたか
+たんの,えいいち
+たかはし,まこと
+なりあい,よしのり
+たかむら,あきお
+たんの,てつお
+こばやし,こういち
+ごとう,とおる
+ごうだ,きょうこ
+なかしま,みつお
+ほしの,ふみただ
+わこ,なおき
+すずき,しげお
+よしまつ,まさくに
+なみおか,しんじ
+やまぐち,ひろかず
+いしばし,まこと
+いしだ,せんや
+うちやま,せいじ
+えんど,しげる
+なかの,まさふみ
+いまい,かずお
+おさない,あつし
+さかもと,きよし
+しおみ,ちかし
+しまざき,なおき
+てるや,としや
+なかたに,なおき
+はぎわら,きよかず
+ひがし,しょうこ
+ほりうち,よしお
+みぞろぎ,なおき
+もり,たもつ
+いのうえ,たけひこ
+しだ,みちよ
+やまもと,みちこ
+やまもと,ひであき
+おおたき,かずや
+ふじ,さなえ
+あきもと,まもる
+いいじま,あきこ
+おぐま,ゆみこ
+さとう,たかお
+つちや,よしひろ
+さいとう,かずよし
+はら,せいいちろう
+ふじまき,しんや
+むろた,みつまさ
+もり,とおる
+みぞぐち,としゆき
+いけはた,ひろゆき
+おがわ,ひろたか
+うえの,まさとし
+たなか,かずひろ
+こばやし,まさかず
+くろす,やすじ
+きたがわ,ひろし
+しのみ,まさゆき
+はせ,ゆうぞう
+てるぬま,ようこ
+きくち,さとし
+はしもと,のりゆき
+おおかわ,しんと
+おおにし,そういち
+あべ,まさひと
+あだち,ひでき
+あだち,まさと
+あだち,としゆき
+あご,かおり
+あいはら,あきひこ
+あいはら,ひでお
+あいざわ,じゅんいち
+あかまつ,たつお
+あかま,ともみ
+あかせ,まさゆき
+あかやま,しんげん
+ふくしま,ともの
+あきば,つとむ
+あきの,はるき
+あきしか,ゆうじ
+なめき,なおみ
+あきずき,しんいち
+あまだ,ゆきお
+あまの,とおる
+あみの,のぶはる
+あんべ,やすし
+あんどう,ひろとし
+あんざい,たかよし
+あんざい,ひろし
+あおき,さとし
+あおやぎ,たかお
+あおやぎ,ひろゆき
+あおやぎ,ひさし
+あらかわ,たいすけ
+あらかわ,まさゆき
+あらき,としゆき
+あらやす,ひとし
+あら,あきお
+ありた,きょうこ
+あさだ,くにお
+あさだ,ひろあき
+あさかわ,のりえ
+あさくら,ともゆき
+なかさと,あきら
+あさの,よしひろ
+あさり,かずき
+あつみ,あきよし
+あわか,かつみ
+ばば,かずひろ
+ばん,けんぞう
+ばん,わたる
+ばん,こうたろう
+ちょうさ,まさし
+だいど,けいしん
+だいもん,なおひこ
+でむら,よしと
+どい,たかし
+えびぬま,あけみ
+えぐち,じゅん
+えはら,かずお
+えなみ,なつこ
+えとう,よしなる
+いわさき,かずお
+えざき,ゆうじ
+ふじえだ,じゅん
+ふじえ,こういち
+ふじがき,よしちか
+ふじい,としゆき
+ふじい,あきら
+ふじい,じゅんいち
+ふじい,みゆき
+ふじい,しげのり
+ふじかわ,しんいち
+ふじもり,ともの
+ふじもと,しょうご
+ふじもと,しの
+ふじの,たかし
+ふじおか,やすし
+おぐら,あやこ
+ふじた,まさと
+ふじた,さとる
+ふじた,ゆきお
+ふじた,しょうじ
+ふじわら,ひろし
+ふかだ,あつし
+ふかお,みつひろ
+ふかお,みさき
+ふかせ,
+ふくち,よしひろ
+ふくだ,ゆうこ
+ふくだ,ふみひこ
+まつかわ,ひでお
+ふくだ,みか
+ふくだ,ゆきこ
+ふくだ,けんじ
+ふくはら,ゆきお
+ふくい,ひろし
+ふくい,じゅんいち
+ふくおか,しんご
+しが,なおと
+ふくしま,あつし
+ふくしま,ちかこ
+ふくしま,なおき
+おおの,なおき
+ふなつ,としゆき
+ごうだ,よりこ
+ごうだ,ひであき
+ごう,かいろう
+こぐれ,きんや
+ごとう,たかし
+ごとう,ゆきよ
+はが,りょういち
+はぎわら,きくお
+はまだ,あきお
+まえだ,けんいち
+はまはた,のぼる
+はまの,のぶひろ
+はなぶさ,りゅういちろう
+はなた,よしじ
+はなみつ,よしたか
+はんだ,すみと
+はらだ,あやこ
+はらだ,ふみお
+はらだ,じゅんいち
+はらだ,まさのり
+はら,まさゆき
+はら,みゆき
+はせがわ,まこと
+はしぐち,いさお
+はしもと,まさとし
+はしもと,のりき
+はたけやま,さとし
+はたなか,きよし
+はつしま,けん
+はっとり,よしひさ
+はっとり,つねひさ
+はっとり,まさこ
+はっとり,ふみお
+はっとり,ゆきひこ
+はっとり,よしのり
+はやかわ,あきら
+はやしだ,まさや
+かんだ,けんじ
+はやし,こうじ
+はやし,つよし
+はやし,ひろし
+はやし,かつみ
+とびかわ,みゆき
+ひげた,よういち
+ひぐち,みつひろ
+ひぐち,ゆうこ
+ひじかわ,よしのり
+ひかい,まどか
+ひなた,じゅん
+ひの,しょういち
+ひの,たかゆき
+ひらぎ,やすし
+よもだ,かずと
+ひらの,まさのぶ
+ひらの,ひろゆき
+ひらさわ,かずひろ
+ひらた,まさひろ
+あさの,ひろし
+ひらた,ひさお
+ひらつか,たけし
+ひろかわ,ふみあき
+ひろなか,かずひさ
+ひろせ,ひさゆき
+たしろ,きみこ
+ひろせ,まこと
+ひしぬま,ひろのぶ
+いわもと,じゅん
+ひうら,ひとし
+すぎもと,せいいち
+ほんま,やすゆき
+ほんま,つよし
+ほんま,たいら
+ほんま,たつろう
+ほりかわ,じゅんいち
+ほりお,かつよし
+ほり,かずお
+ほり,あつし
+ほり,こういち
+ほしの,しんじ
+ほしの,あきこ
+ほしの,ふとし
+ほし,ひろこ
+ほそ,かずみ
+ほたて,ゆか
+いちかわ,ゆみこ
+いちかわ,さとし
+いちき,たけし
+いちのせ,あり
+いだ,なおき
+いでい,まさかず
+いがらし,ゆうじ
+いぐち,ごう
+いいだ,えいざぶろう
+いいだ,ふじお
+いいじま,ひろゆき
+いいじま,かずのり
+いいむら,よしのぶ
+いいの,ひでき
+いいずか,ひろし
+いいずか,かつひこ
+はるた,としこ
+いけだ,なおひろ
+すずき,とおる
+いけだ,くにひろ
+いそべ,こうじ
+いけやま,すぎお
+いくた,としあき
+いまいずみ,ちずこ
+もりした,しげき
+いまい,ただし
+いまむら,まなぶ
+いまむら,のりゆき
+いなみ,けんや
+いのうえ,やすひで
+いのうえ,ひろし
+いのうえ,ひろし
+いのうえ,ひろたか
+いのうえ,みつこ
+いぬい,ゆきとし
+いしだ,まなぶ
+いしだ,としひろ
+いしだ,ゆたか
+いしぐろ,まり
+いしぐろ,ひろし
+いしはら,じゅんいち
+いしい,かおる
+いしい,けいいち
+いしい,こうじ
+ゆきまさ,まさとし
+いしかわ,たかし
+いしかわ,ようこ
+いしくら,ゆたか
+いしもり,ひろあき
+いしもと,りえ
+いしもと,さちこ
+いしおか,ゆか
+いしおか,のぶお
+いしわた,なおひさ
+かん,よういちろう
+いしざか,かよこ
+いそがい,たかひろ
+いたばし,しんいち
+いたばし,しげき
+さぎや,ひであき
+いとう,てつや
+いとう,あけみ
+いとう,のぞむ
+いとう,なおよし
+いとう,かずしげ
+いとう,なおゆき
+いとう,たかし
+さかい,こういち
+いとう,かずゆき
+いわい,かおる
+しまむら,ふさちか
+いわい,きょうこ
+かわなか,かずみ
+いわくぼ,たかゆき
+いわもと,さやか
+いわもと,ひであき
+たけだ,さちこ
+いわむら,ひろゆき
+いわなが,ひでお
+いわお,こういち
+いわさき,たつひこ
+いわさき,とらひこ
+せがわ,まさたか
+いわしろ,よしひさ
+いずみ,まこと
+かえりやま,なおき
+かがみ,いくお
+かがみ,しげよし
+かじたに,かずひこ
+やまもと,えいいち
+かきぬま,ひろあき
+かく,ひろゆき
+かまだ,まこと
+いながき,まさえ
+かまもと,たえこ
+かまたに,なおふみ
+かまた,ともこ
+やまだ,えいじ
+かめだ,あきこ
+かめや,ひでき
+かみ,まこと
+かみお,まなみ
+かみや,まさのり
+かもと,よりこ
+かなだ,まさたか
+かない,きょうこ
+かない,りえこ
+かなざわ,さだいち
+かんだ,たかひろ
+かねいち,あきお
+かねこ,ひろぶみ
+かねこ,ますお
+かねこ,しゅうじ
+かねこ,たけひこ
+かねこ,やえ
+かねこ,ひさし
+かねまる,あつし
+かりや,よしのぶ
+かるべ,きょうじ
+かしま,ひろゆき
+かしわぎ,よしゆき
+かしわぎ,ひろし
+かすや,けいご
+かすや,しょうこ
+かすや,たかし
+かたの,けんいち
+しらき,かつお
+かたおか,よういちろう
+かたおか,あつし
+かたやま,
+かとう,たてお
+かとう,ひろし
+かとう,ひろこ
+かとう,ひろや
+かとう,たけし
+ごとう,ひろかず
+かつや,ひろし
+かわだ,みちお
+かわだ,さちこ
+かわぐち,さとし
+かわはら,せいいちろう
+かわはら,ひろあき
+かわはた,ひろゆき
+かわい,じゅんいち
+かわい,かよこ
+かわい,みほ
+かわかみ,たけし
+かわきた,ともあき
+かわきた,やすこ
+かわむら,ゆきまさ
+かわむら,ゆき
+かわむら,まさゆき
+かわぞえ,みな
+ふたくち,ただし
+きだ,やすひろ
+きだ,よしふみ
+きど,あきお
+きはら,かつとし
+きくち,こうじ
+きくち,あいこ
+きくた,いさお
+きもと,かずまさ
+きむら,みのる
+きむら,なほみ
+きむら,しゅんいち
+きむら,すみひろ
+まつもと,たくろう
+きむら,としお
+きむら,じゅんこ
+おかざき,たけお
+きむら,ゆか
+きむら,あつし
+きのした,けいこ
+きし,きみひこ
+きす,じゅんこ
+きたかぜ,のぶき
+きたむら,あきお
+きうち,なおと
+きうち,たかぞう
+きよた,だいすけ
+こばやし,まさはる
+こばやし,けんじ
+こばやし,みよこ
+こばやし,よしゆき
+こばやし,たかし
+こばやし,ひであき
+こばやし,ゆういち
+こばやし,よしお
+こばやし,ひろひで
+ひろせ,はるお
+こでら,あきひろ
+こがい,ひさたか
+こぐれ,かずお
+もりた,みちひこ
+こもと,ようすけ
+こんの,あきひろ
+こさか,よしゆき
+こいけ,きよし
+こいけ,よういち
+こいし,あきお
+こじま,かずたか
+こじま,てつ
+こくほ,かつや
+こくまい,みえこ
+こまがた,まこと
+こまき,かずゆき
+こまつ,よういち
+こまつ,あつし
+こみね,かつのり
+こみやま,よしのぶ
+こもおか,ふみお
+こもり,しげのり
+こんど,ひろし
+こんど,みきお
+こんど,よしぞう
+こんど,たかゆき
+こんどう,たつと
+こんの,てつお
+こすぎ,よういち
+こうだ,としゆき
+こやなぎ,のぶひこ
+くぼた,ひろゆき
+くぼた,なおき
+くぼ,たかゆき
+くどう,ごう
+くが,しげる
+くじま,えり
+くまだ,ひろし
+くまき,まき
+くまくら,かつと
+くまもと,あきひこ
+くもかわ,ひろのり
+くらしま,こういち
+くりはら,こうじ
+くりはら,ゆみこ
+くりむら,しゅうじ
+くりす,ひろし
+くりやま,ゆきえ
+くりやま,じゅんいち
+くろだ,あきら
+くろかわ,ひろし
+くろき,のぶや
+くろさき,のぶあき
+くろす,ひろし
+くしだ,わたる
+くすだ,よしこ
+くわばら,いちろう
+うちだ,けいいち
+まえだ,やすひこ
+にわ,しげみつ
+まえひら,まさと
+まえかわ,ひでたか
+まきむら,ひろみつ
+まきの,ゆうじ
+まきの,まり
+ようこた,みちやす
+まるやま,ただし
+ますだ,みきお
+ますだ,てるあき
+ますひろ,きみ
+ますやま,たくじ
+まつばら,こうじ
+まつばら,やすなり
+まつだいら,まさと
+まつだ,しげお
+ささもと,さゆり
+まつだ,としみ
+まつふさ,かつじ
+まつい,とおる
+まつい,じゅんいち
+まつき,あきひこ
+かのう,ひろゆき
+まつもと,ゆういち
+まつもと,としゆき
+まつもと,ふじお
+はしもと,しょうじ
+まつむら,きにち
+まつむら,ひろゆき
+まつなみ,ひろゆき
+まつなみ,ゆきお
+ちば,てつや
+まつしば,こういち
+まつした,ひろし
+まつした,えいいち
+まつうら,いちろう
+まつざき,ただし
+いまい,まさゆき
+まゆやま,あつし
+めん,まさと
+みちがみ,のりお
+みはら,はるこ
+みき,あつし
+みもり,ひろし
+みなみぐち,かなめ
+みなずき,なおゆき
+みねむら,ゆかり
+みしな,かずひろ
+みつい,たけはる
+みうら,よういち
+みうら,けんいち
+むらかみ,まさはる
+みわ,しげゆき
+みやがわ,まさお
+みやぎ,みちこ
+みやはら,としお
+みやはし,きょうこ
+みやかわ,まさとし
+みやき,まさずみ
+みやもと,せいじ
+みやもと,ひろし
+みやもと,まさひろ
+みやさか,なおき
+みやたけ,しげみ
+みやた,としひろ
+みやた,ゆうじ
+みやた,まさみち
+くろだ,けいこ
+みよし,なおこ
+みずこし,まきお
+みずこし,としお
+みずの,たつや
+みずの,のぶはる
+みずたに,しんじ
+もり,しょうじ
+もり,のりこ
+もりかわ,あきこ
+もりき,やすひろ
+もりした,よしみ
+もりた,ただし
+もりた,かずひろ
+もりやま,としお
+もりぞの,つよし
+もり,さとる
+もり,かつとみ
+もり,やすお
+もり,ひろのり
+もろずみ,のぼる
+いのはな,かずお
+こじま,しんご
+むかい,たつみ
+むかい,さちお
+むらい,ちなつ
+むらかみ,とおる
+むらかみ,ちはる
+むらまつ,まさかず
+にわ,かつひろ
+むらた,さとし
+むらた,いちろう
+おおの,たかし
+むらやま,ちはる
+むとう,ひろや
+むとう,たかし
+むとう,あまね
+むつしか,えいいち
+ながい,ひろし
+ながい,かつゆき
+ながもと,けんいち
+あらい,たけとし
+ながお,やすなり
+ながさわ,あつし
+ながさわ,かずと
+ながやま,あきひろ
+ないとう,ふさのぶ
+ないとう,かつお
+なかばやし,かずひさ
+なかだて,こういち
+なかがき,まさのり
+ながえ,たかゆき
+なかがわ,てるじ
+なかがわ,としゆき
+なかごめ,よしなり
+なかひら,ゆたか
+なかい,えみこ
+なかじま,かつとも
+なかじま,みえこ
+なかじま,なおや
+なかじま,えり
+なかじま,つねあき
+なかじま,けいいち
+なかじま,なおひで
+なかまた,のりひろ
+なかみち,しゅんいちろう
+なかむら,まさき
+なかむら,としあき
+なかむら,まこと
+なかむら,てるひろ
+なかむら,しんじ
+なかむら,はじめ
+なかむら,のりあき
+なかむら,ひろゆき
+なかむら,かずひこ
+なかむら,まさゆき
+なかむら,なおき
+なかにし,としあき
+おおにし,まさのり
+なかにし,としゆき
+なかにし,のぶやす
+なかの,きよたか
+おかざわ,かよこ
+なかの,のぞみ
+なかの,よしふみ
+なかの,もえこ
+なかおか,てつや
+なかお,ふみこ
+なかお,えいじ
+なかせ,こうし
+なかそぎ,まさとみ
+なかた,しげこ
+なかつか,たかし
+なかつか,まこと
+なかやま,ひでき
+なかやま,あつし
+なかやま,たつや
+なかやま,こうへい
+なかやま,かつひこ
+なかざわ,みつぐ
+なみき,くにお
+ならしま,まさあき
+なら,たけひこ
+くどう,ひさし
+なつの,みちはる
+なつやま,ゆうこ
+えとう,ひろし
+にへい,たかし
+おくの,さゆり
+まえほり,ひろみ
+にしだ,ひとし
+にしぐち,たつお
+もり,ゆきこ
+にしかわ,まさし
+にしくら,しげる
+にしもと,まさき
+にしお,としひこ
+にしわき,けいこ
+にし,まさる
+にわ,まさき
+のぶまさ,みさと
+のだ,もとひこ
+のぐち,たかし
+のぐち,けん
+のほり,ひでゆき
+のたに,まさたけ
+のま,さとし
+のみやま,としろう
+のもと,としあき
+たんざん,みちお
+おおかわ,かずひこ
+ののやま,まさき
+のりかね,まさる
+のろ,せいいち
+の,しんいち
+おばな,ひろし
+おびなた,あきひこ
+おちあい,よしのり
+しまむら,ひろし
+おだね,よしかず
+おがわ,なおみ
+おぐら,ひでとし
+おぐら,せいじ
+おぐら,しんすけ
+おおぐろ,いわお
+おおばやし,けいぞう
+おおばやし,やすゆき
+おおば,えりこ
+おち,しんご
+おおで,としひこ
+おおほり,のりお
+おほ,こすけ
+おおいし,もといち
+おき,よしゆき
+おおくぼ,まさひろ
+おおくぼ,まさくに
+おおみち,たけのり
+おむら,つねあき
+おおにし,いさお
+おの,こういちろう
+おらい,すすむ
+おさき,さとし
+おおさわ,そういちろう
+おおさわ,ただし
+おおさわ,りゅうじ
+おおたに,けんじ
+おおた,なおき
+おおとも,あきお
+おざき,こうじ
+おおつか,たけし
+おおつか,としろう
+おおつき,てつや
+おおや,まさひろ
+おひゃ,くにひこ
+おおや,すぐる
+おかだ,つぐお
+おかだ,よしひろ
+おかだ,としひろ
+おかだ,しんいち
+おかはら,ひろき
+おかもと,よしお
+くさば,ひろし
+おかむら,まさかず
+おかむら,まさき
+おかの,ひろし
+とびた,しゅうへい
+ほそかわ,こうじ
+うえだ,とよかず
+こせき,ゆみ
+たざわ,しゅんじ
+やまざき,よしかず
+えぐち,ひろゆき
+もちだ,すすむ
+あきもと,きえい
+にし,あつき
+いまいし,しげとし
+たかやす,のぶよし
+はた,まさゆき
+ふじさわ,あきら
+むとう,ひさし
+もたい,しんいち
+ただ,たかゆき
+こいずみ,かずよし
+つぼくら,こうぞう
+ひらばやし,ひろじ
+つじかわ,ひろかず
+みついし,せいいち
+やました,けんじ
+まるおか,のぶたか
+ふかお,とおる
+つむら,かなこ
+まゆみ,としえ
+あらかわ,みどり
+おふち,じゅん
+ささもり,ゆたか
+さとう,あきら
+たかぎ,まこと
+たなか,まさみつ
+つぼご,ふみひこ
+とりさわ,ひろゆき
+なかぐき,けいご
+はせがわ,ともゆき
+はやし,こうじ
+ひらやま,しげる
+ふくしま,としき
+まつしま,かずひろ
+よしい,ひでき
+いしい,のりこ
+いまい,みゆき
+なかつじ,ゆきえ
+ほいだ,つねお
+さわはた,みつる
+たはら,しょうじ
+たかはし,みねまさ
+すずき,ひであき
+よこやま,けんじ
+いしかわ,けんじ
+あさの,よしたか
+かねこ,しゅうじ
+くろせ,ようすけ
+さかきばら,あらた
+かさま,けいこ
+すぎやま,よしまさ
+すだ,てつや
+たなか,あや
+つぼい,えつこ
+はしもと,ちえこ
+ふくち,さとみ
+あらい,ともこ
+たなか,けんじ
+やしま,なおゆき
+かわまた,たけのり
+すんだ,あつや
+みずたに,みのる
+やまこし,のりゆき
+あまがや,ゆめの
+あらき,ひさよ
+いまい,としはる
+いまざき,たかひさ
+きむら,かつひで
+すぎやま,いさお
+すずき,だいすけ
+つる,みのる
+はこざき,あきら
+たきざわ,つよし
+いとう,かずのぶ
+ますだ,よしのり
+つばき,ちあき
+みすみ,ちかこ
+やいた,まき
+かわつ,ひとし
+つかだ,たけひこ
+なかもと,ふみこ
+ふなびき,さなえ
+よしざわ,きょうこ
+とうま,ようこ
+せき,まり
+むらた,なおき
+かたやま,まさひろ
+きど,しゅうじ
+こばやし,こうじ
+しのみや,ともかず
+たなか,かずゆき
+はら,よしのり
+もりたに,しょうへい
+いちのせ,かずゆき
+ふじもと,かつゆき
+うえの,こうじ
+ししど,としのり
+みうら,すすむ
+うちだ,るみこ
+どい,こういち
+そすみ,としゆき
+よしだ,まさゆき
+たかはし,としお
+やまぐち,なえこ
+ささ,ゆきこ
+はせがわ,かおり
+あつた,よしお
+いちかわ,まさあき
+うの,さとみ
+おがわ,ゆきこ
+おだ,ひろかず
+たかさき,まきこ
+たかはし,つよし
+ただ,ただし
+たなか,ひろし
+とくなが,ひろし
+とみた,じゅんこ
+ないとう,りえ
+はらだ,えみこ
+ひらかわ,ともこ
+ふなもと,ひろたか
+どばし,ゆき
+みうら,ちこ
+よしだ,ひろあき
+おおたけ,じゅんじ
+くらた,やすひろ
+くりた,さとし
+だん,まこと
+もりしま,しんじ
+よしだ,ようじ
+わかばやし,ゆみこ
+あげまつ,ひろみち
+いしぐろ,こすけ
+かとう,かずひろ
+さいとう,しんいち
+ないとう,みちよ
+みやまえ,としや
+かどわき,あつし
+ふくもと,みきお
+にしはら,あきら
+おかやま,かずなり
+おかやす,みえこ
+くろかわ,とおる
+おきた,よしひさ
+おくみや,まさかず
+おくむら,だい
+おのだ,なるみ
+おのでら,ひとし
+おの,はるゆき
+おの,なおふみ
+おの,よしふみ
+まつい,てるお
+おそえがわ,やすなり
+おざき,のぶゆき
+おぜき,ひろゆき
+たかの,いさお
+りょうかい,よしき
+さげさか,りゅういち
+さぎや,きょういち
+さいた,まさひろ
+さいとう,あきみつ
+さいとう,ごろう
+さいとう,ひろゆき
+さいとう,つねお
+さいとう,りか
+さかぐち,ひであき
+さかい,ひろみ
+しまだ,ひろし
+さかきばら,いつろう
+さかもと,けんじ
+さかもと,まさき
+さかもと,むねひろ
+さかり,のぶひろ
+さかた,さとる
+さくま,しんじ
+さくらい,たかのぶ
+さくらい,たかし
+さくらい,よしひろ
+さんのうまる,ゆきお
+さの,ゆたか
+ささべ,たつろう
+ささき,しんご
+ささき,ともひろ
+ささき,たけし
+ささき,なおと
+よしだ,ひろし
+さとう,よしひこ
+さとう,かずのり
+さとう,たかのり
+さとう,はやと
+さとう,やすひこ
+さとう,よしゆき
+さとう,よしと
+さとう,あきお
+さとう,まさこ
+さとう,ともこ
+さとう,ゆういち
+さとう,ちあき
+さとう,かずや
+さとう,まさみ
+さとう,さとし
+さわいで,ゆういち
+さわい,こういちろう
+さやなぎ,まり
+せがわ,よしひろ
+せいみや,ひろし
+せいやま,しげき
+せきかわ,あきら
+せき,こうじ
+せき,たけし
+せんだ,ひろたか
+せんごく,きょうこ
+せの,としあき
+せしも,こうじ
+せたか,けい
+すが,りょういち
+みなみ,やすし
+しばた,ちあき
+しぶや,ひろみち
+しぶや,つよし
+しぶや,まさのり
+しいの,ひろこ
+しかた,たかひろ
+しきぶ,ひろし
+しまだ,まさひろ
+しまだ,ひろし
+しまがみ,としあき
+しまもり,まさひこ
+しまむら,ゆきのり
+しまざき,こう
+しまざき,たかあき
+しみず,えいぞう
+しみず,りえ
+しみず,ひろし
+しもだ,けいみん
+しもひら,こうたろう
+しのはら,あきひろ
+しのはら,まなぶ
+しのざき,のぶこ
+しのざき,ひろき
+しんぽ,かすみ
+しんたに,ゆうじ
+おおきど,そとひろ
+しおぬま,きよみ
+しおた,くにあき
+しおや,まさひろ
+しおざわ,いさお
+しらい,しげき
+しらさき,ひろし
+しらとり,まさとし
+しらとり,たかひろ
+しろき,ひとし
+しろした,しげき
+かしま,よしお
+しゅう,ごいち
+いまい,ひではる
+そえだ,ひろこ
+そが,いずる
+そわ,かずなり
+すだ,こういち
+すだ,まさる
+すだ,なおき
+すえだ,のりよし
+すえもり,さきこ
+すえおか,しょういち
+すがわら,しんじ
+すげの,やすひろ
+すぎもと,やすお
+すぎた,ゆういちろ
+すぎやま,みつお
+すぎやま,けいいちろう
+すぎやま,えいじ
+すみとも,のぼる
+すみ,ゆき
+すなが,ひでゆき
+すざき,てつや
+すずき,てるみ
+すずき,あきら
+すずき,やすし
+すずき,ゆきお
+すずき,しのぶ
+すずき,しんいち
+すずき,としや
+すずき,ひろし
+すずき,かずあき
+すずき,けいじ
+おおにし,まさはる
+すずき,のぶお
+すずき,のりゆき
+すずき,りょうすけ
+たぼ,しん
+たぶち,たつや
+たぶさ,としふみ
+たちかわ,やすゆき
+ひらき,ゆういち
+たがい,やすし
+たがわ,みほ
+たが,のぶたか
+たぐち,みさお
+たぐち,しん
+たぐち,みなこ
+たかばたけ,よういち
+たかぎ,けんたろう
+たかはら,としや
+たかはし,としゆき
+たかはし,ひろし
+たかはし,せいいち
+たかはし,よしひさ
+たかはし,はるさだ
+たかはし,まさこ
+たかはし,まさゆき
+たかはし,ひでお
+たかはし,かずしげ
+たかはし,のりひこ
+たかはし,とよみ
+たかはし,みのる
+たかいし,ともあき
+こばやし,かずひろ
+たかみ,みのる
+たかむら,しろう
+たかなし,よしのり
+はせがわ,ひろゆき
+たかの,きょうこ
+たかおか,たかき
+たかおか,のぶゆき
+たかたに,あきら
+たかつじ,かつじ
+たかつか,きよし
+たかつ,まさみ
+たかやま,しんいち
+たかやま,とおる
+たかやま,やすし
+たけだ,こういち
+たけだ,やすのり
+たけだ,たかかず
+たけだ,なおひと
+たけもと,のぞみ
+たけもと,かつし
+たけうち,たかこ
+たけうち,ひろかず
+たけうち,ゆういち
+たけうち,とおる
+たきもと,たかひろ
+たまち,ひろし
+たむら,としひろ
+たなべ,つかさ
+たなか,けいこ
+たなか,なぎさ
+たなか,たかゆき
+たなか,まき
+たなか,ひろふみ
+たなか,くにひこ
+たなか,かおり
+たんだ,みきこ
+たにだ,きみほ
+たにがわ,よしたか
+たにむら,よしなり
+たに,ひろぶみ
+たしろ,ゆきお
+ひらさか,のぶゆき
+たわだ,えいえつ
+たわら,しんじ
+てらだ,とよひさ
+てらさき,ひろゆき
+てらしま,ひでこ
+こばやし,たいぞう
+てらうち,やすみつ
+わたなべ,しんいち
+ときとも,まさのり
+とくだ,たかゆき
+さくらぎ,のりひさ
+とみもと,まさひこ
+とみた,ひでお
+ともみ,ひろみつ
+とんぐう,まさし
+とりうみ,ひろすけ
+とよだ,かつひさ
+とよさと,ひろし
+とよしま,てつや
+つちだ,じゅん
+つちもと,まこと
+つちや,めぐみ
+つだ,たつろう
+つだ,ゆか
+つじもと,ゆきお
+つじ,のりお
+つじ,ひろし
+つかごし,としかず
+つかもと,けいじ
+つきだて,ひろし
+もりた,こうぞう
+つるた,しのぶ
+つしま,ともあき
+つし,としひこ
+つつみ,すみと
+つやま,やすき
+うちだ,ゆきお
+うちだ,ようこ
+うちやま,たけし
+うだ,ゆかり
+うえだ,さおり
+うえだ,ひろし
+つかもと,ちえみ
+うえだ,ひでお
+ききょう,よしたか
+うえだ,いくえ
+うえぐり,とおる
+うえはら,ひろゆき
+うえまつ,かつや
+さとう,かずひこ
+うえの,ひでたか
+うえの,よしこ
+うえの,ひろゆき
+うえの,しげき
+うえの,ひでき
+うえやま,ひろのり
+うめだ,かなう
+うめかわ,かよ
+ながた,のりこ
+うらご,とよひろ
+うるしざか,ゆきお
+たかはし,しょういち
+うつのみや,しんぺい
+わだ,かずひろ
+わだ,みきえ
+わだ,しずお
+わかばやし,ゆみこ
+わかばやし,かずひこ
+わかまつ,かずき
+わかまつ,こうじ
+わきもと,なりと
+わくい,しゅうじ
+いとい,よしひさ
+わたべ,かつや
+わたべ,なおたか
+わたなべ,しゅんいち
+わたなべ,ひろし
+わたなべ,ただし
+わたなべ,えいいち
+わたなべ,ひでとし
+わたなべ,ひろゆき
+わたなべ,ひろゆき
+わたぬき,まさる
+やぶした,みどり
+やぶた,みつよし
+やぶうち,しょうへい
+やじま,ようこ
+やくしじ,ふみひろ
+やまだ,ゆきこ
+やまだ,ひろえ
+やまだ,ひさ
+やまだ,あきのぶ
+やまだ,あきお
+やまだ,えいすけ
+やまがみ,ひろふみ
+やまぐち,じろう
+やまぐち,こうじ
+やまかわ,しん
+やまこし,たかし
+やまもと,あきひろ
+やまもと,けい
+やまもと,まさみち
+やまもと,ひろゆき
+やまもと,えいじ
+やまもと,ひろふみ
+やまもと,まさのり
+やまもと,まさとし
+かわぐち,あきら
+やまむろ,ひろみち
+いわた,たけし
+やまおか,かずひろ
+やまさき,ひでくに
+やました,ひろし
+やました,つとむ
+やました,としあき
+やました,あきこ
+やました,ひろゆき
+やました,かずひで
+やました,かつゆき
+やました,あきら
+やまざき,ひろゆき
+やまざき,かおる
+やまざき,こうじ
+やながわ,まさひろ
+たかおか,ひかる
+やなせ,りょういち
+やの,ともゆき
+やお,えりこ
+やすだ,としふみ
+やすかわ,ひとみ
+よがい,こういち
+よこがわ,せいじ
+よこさわ,まさゆき
+よこた,みなこ
+よこた,やすし
+よこうち,つとむ
+なかやま,あつし
+よこやま,はるひこ
+よこやま,まさお
+よねはら,としゆき
+よねむら,ただし
+よしだ,まさとし
+みやむら,つとむ
+よしだ,きみあき
+よしだ,まさかつ
+なか,よしひろ
+よしむら,よういち
+よしむら,ひろみ
+ぬまお,みねお
+よしざき,えいじ
+なかむら,けんじ
+ゆあさ,りょうた
+ゆげ,たかひろ
+ゆかわ,よしたか
+まつだ,よしつぐ
+あべ,やすひろ
+はせがわ,かつまさ
+はしもと,ひとし
+ひらつか,たもつ
+ほしかわ,みのる
+ほそや,しょうじ
+いしはら,たかし
+いわき,たちはる
+かねだ,こうじ
+きむら,たけし
+こんの,まこと
+まつだ,よしひさ
+みやした,しげとも
+さかもと,まり
+のむら,しんいち
+おおばやし,えつこ
+さいとう,ゆきえ
+ささがわ,ゆうこ
+さとう,やよい
+しが,まさみつ
+しのはら,まさし
+しょう,めぐみ
+たけがわ,みえこ
+たつみ,ゆたか
+とみえ,のりひこ
+わたなべ,まもる
+やまだ,ゆういち
+やまだ,とみひろ
+やまもと,たけし
+やまざき,まさお
+こまつざき,ちあき
+ふちだ,まさひこ
+たなか,かずゆき
+はやし,さほり
+ながた,せいいち
+ばば,まこと
+あかま,たかし
+かざま,かずしげ
+もり,ひろあき
+いけだ,つよし
+わたなべ,かつと
+みま,ふみお
+あんどう,ともひろ
+まえぞの,みつひろ
+おたか,こういち
+はやし,まさひろ
+うえの,かずたか
+つのだ,けいいち
+すどう,たかとし
+さかもと,みつあき
+たなか,もりしげ
+ことうだ,ゆきのり
+かるべ,ふみひろ
+さいとう,てるよし
+ひらの,ひろこ
+さとう,ひろまさ
+なかやま,けんいち
+のだ,ゆりこ
+ま,やすひろ
+しながわ,ちから
+ながやす,こうじ
+あおき,こうじ
+なかた,はやと
+みくりや,てるゆき
+まるやま,ひでとし
+えちぜん,ひさし
+なかにし,しょういち
+はぎお,ともひこ
+たむら,まさあき
+たぐち,よしとし
+おざわ,おさむ
+やおいた,としひろ
+あさの,のりやす
+くさの,てるひろ
+はまだ,まさじ
+いりやま,はなこ
+むらた,なおや
+あさの,ようじ
+たかの,けんいち
+やまぐち,あきとし
+むらかみ,のりひろ
+たなか,かつじ
+たかおか,じゅんいち
+すずき,みさほ
+みねぎし,なおや
+あべ,のりあき
+あべ,みずほ
+あべ,しゅんじ
+あべ,ひでき
+あがつま,あきら
+あいざわ,たかし
+あかいけ,じゅんこ
+あきもと,よしのぶ
+あきたや,ゆきお
+あきやま,としゆき
+あくつ,しげき
+あまの,ただかつ
+あまの,あつのり
+あまの,ふみえ
+あめみや,かずみ
+あんどう,まさひろ
+あんどう,てんせい
+あんざい,ゆうじ
+あおき,りつこ
+あおき,たかゆき
+あおき,さだはる
+あらい,はるひと
+あらき,よういち
+あらき,しげみつ
+あらや,よしたか
+ありよし,とものぶ
+あさひな,よういち
+あさい,なりと
+あさみ,ひろゆき
+あさつけ,かずゆき
+あそ,くにかず
+あずま,まこと
+あずま,さとこ
+ばば,すみこ
+ばば,ともこ
+かが,よしき
+ばば,ゆうすけ
+ばん,ゆか
+びるかわ,れいこ
+ぼう,ふくお
+だいご,しゅんすけ
+だいごく,じゅんいち
+どばし,とおる
+えびさわ,ひろし
+えはら,ひろとし
+ふちがみ,りゅうたろう
+ふじばやし,ひろし
+ふじえだ,りょういち
+ふじい,せいご
+ふじい,しんじ
+ふじい,よしのり
+ふじい,まさや
+ふじい,ひであき
+さかもと,しゅうへい
+きただ,えいいち
+ふじい,かおる
+ふじい,しんいち
+ふじい,たつや
+ふじかわ,かずひこ
+ふじもり,きょうこ
+ふじもと,ひろし
+ふじの,せいじ
+ふじさわ,ひろたか
+ふじた,としや
+ふじた,ひろし
+ふじた,けいじ
+くすもと,ひろふみ
+ふじわら,ひろし
+ふじわら,けい
+ふじわら,まこと
+ふじわら,ひろむ
+ふじわら,としき
+ふかぼり,ひでお
+ふかみ,さなえ
+ふかみ,ひさこ
+ふくだ,ゆうこ
+ふくだ,さとみ
+ふくだ,じゅん
+ふくだ,ゆか
+ふくい,のりちか
+ふくい,ともじ
+ふくなが,けんじ
+ふくなが,まさやす
+ふくおか,みのる
+ふくおか,いさお
+ふくし,やすのり
+ふくしま,としゆき
+ふくとめ,せいじ
+ふくやま,かつひと
+ふなばし,とおる
+ふるの,あきら
+ふるや,としゆき
+ふるや,ひろゆき
+ふるやま,みのる
+ふたば,ゆみこ
+あなみ,ひさのり
+ふたみ,ふじお
+ふたむら,ともこ
+がど,ひさし
+ごう,りょうこ
+ごうだ,しん
+ごか,たつや
+ごとう,としたか
+ごとう,しのぶ
+はぶ,しょうじ
+はが,あつし
+はぎ,けんじ
+はま,ただひろ
+はまだ,まさる
+はまの,おさむ
+はまの,たつや
+はましま,ゆみ
+はましま,さだみつ
+はない,てつお
+はら,たつき
+おた,こういち
+はらだ,なおき
+はらこ,たつひろ
+はせ,ゆたか
+はせがわ,ひろし
+はせがわ,しょうじ
+はしもと,さとし
+はしもと,せつお
+はしもと,あけみ
+はしずめ,まさき
+はしずめ,なおき
+はた,しんいち
+はた,よしひこ
+はた,たけひこ
+はたの,きょうこ
+はたの,やすゆき
+はたの,よしひろ
+つだ,ひろこ
+はやかわ,よしのり
+はやの,かなこ
+はやし,さおり
+はやし,すすむ
+はやし,のぶゆき
+はやし,ひろゆき
+はやし,としろう
+はやしたに,あきら
+ひがしの,きみたけ
+ひぐち,かずひこ
+ひぐち,しんいちろう
+ひめの,やすし
+ひらばやし,ゆうこ
+ひらい,ゆういち
+ひらかわ,ひろし
+ひらき,ひろし
+ひらの,せいりょう
+あおき,みちこ
+ひらおか,まさや
+ひらさか,ひろゆき
+ひらやま,よしのり
+ひろはた,ゆういちろ
+まえかわ,やすひろ
+ひろせ,まなぶ
+ひろせ,ひろよし
+ひろた,まさのぶ
+ひろわたり,たかひろ
+ひろみつ,ひろし
+ひうら,まもる
+ほぼ,たいすけ
+ほくら,まこと
+ほんだ,いさお
+ほんだ,ようこ
+すずき,ひでき
+ほんごう,かずたか
+ほりぐち,きいちろう
+ほりい,きにち
+ほりかわ,てるお
+ほしの,やすひろ
+ほそかわ,ひでゆき
+ほそみ,ひろあき
+ほった,かずあき
+いぶか,のぶみち
+いぶき,ひでゆき
+いちかわ,ひろし
+いちむら,きみえ
+いだ,かなめ
+いだ,ちはる
+いで,やすひで
+いで,きよたか
+いで,なおゆき
+いでた,たかし
+いがらし,けいこ
+いがらし,ゆきや
+いげ,さつき
+いいだ,しょうぞう
+いいだ,たかゆき
+いいだ,たまみ
+いいだ,よしひさ
+いいはら,ひろし
+いいじま,たけし
+いけだ,かつや
+いけだ,まさあき
+いこま,のぶまさ
+いまい,きよひと
+いまい,まこと
+たなか,きょうこ
+いまむら,こういち
+いまなり,たつや
+いまぜき,じゅんじ
+いなだ,まゆみ
+いなます,ひろし
+いのうえ,ひろゆき
+いで,まさひろ
+いれい,まさる
+いしはら,みつみ
+いしはら,みゆき
+いしはら,なおき
+いしはら,すすむ
+いしはら,じゅんいち
+いしい,たかゆき
+いしい,ともゆき
+いしかわ,ゆうじ
+いしかわ,なおふみ
+いしむら,ひろゆき
+いしわたり,ますみ
+いしざき,のりよし
+いしずか,なおとく
+いその,みつとし
+いそやま,みつのぶ
+いすだ,しげお
+いたくら,まさひろ
+いとう,まさひろ
+いとう,ひろふみ
+いとう,よしまさ
+いとう,はるお
+まつい,たけひこ
+いとう,たけひこ
+いとう,まさちか
+いとう,まさひこ
+いわかみ,つとむ
+いわさ,としみ
+いわさき,ゆうじ
+いわさき,なおゆき
+いわした,みちたか
+いずみ,とおる
+いとう,あつし
+いずみ,とへい
+いずみさわ,せいじ
+じんの,やすし
+みど,りゅうじ
+かが,あけみ
+かがみ,ふさお
+かげやま,ひさなが
+かい,ひとし
+かいだ,こうじ
+かいず,たけひと
+かじた,じ
+かけひ,あけみ
+かきもと,ともひろ
+かきぬま,さちこ
+かきぬま,しずか
+かまた,としえ
+かまた,けんいち
+かみぐち,みえこ
+かみむら,よしお
+かねこ,まさのり
+かなまる,じ
+かなざわ,まもる
+かんべ,たかひろ
+かんだ,こうぞう
+かねはら,けん
+ごとう,しげかず
+かねこ,たけし
+かねこ,やすなお
+かねこ,あきら
+かねこ,ひでとし
+かねこ,ひろふみ
+かねみつ,ひろみつ
+かねむら,かずお
+かねた,こういち
+たなか,まさよし
+よねもち,なおし
+かんの,やすまさ
+かさい,ゆかり
+かしま,こうじろう
+たかぎ,ひでき
+きたむら,まさみ
+かたおか,やすゆき
+かたおか,かずひこ
+かたおか,しげゆき
+かたせ,やすなり
+かたやま,みちこ
+かたやま,なおゆき
+かたやま,ゆうこ
+かたやま,きょうこ
+かとう,やすひろ
+かとう,ひろあき
+かとう,しんいち
+かとう,つとむ
+かとう,ひろゆき
+かとう,としひろ
+かとう,よしみ
+かとう,ゆうじ
+かとう,つとむ
+そめや,じゅんこ
+かわばた,まこと
+かわぐち,まさいち
+かわぐち,しんや
+たまがわ,こういちろう
+かわはら,ひさし
+かわはら,じゅんじ
+かわひと,かつひさ
+かわい,のりひさ
+かわい,のりこ
+はぎわら,しげき
+なるけ,たかし
+かわさき,よしひろ
+かわしま,ゆかり
+かわしま,ゆきこ
+かわた,ゆたか
+かやま,ひろかず
+かざまつり,ひろこ
+きど,たかふみ
+きがみ,まなぶ
+きごし,ひさや
+もりさわ,きよし
+きくち,みつぐ
+きくち,きいち
+きくち,のりお
+きくら,かつみ
+きむら,つねお
+きむら,ひろき
+きむら,あけみ
+きむら,ともひさ
+きむら,かつのり
+きむら,けいいち
+きむら,まさき
+きむら,まさゆき
+きむら,けんいち
+きむら,のりこ
+きむら,しんきち
+きのした,たいこ
+きのした,としひこ
+きのした,やすひろ
+きしべ,ひろき
+きしだ,よしのり
+きしもと,たけし
+きしもと,たつや
+きた,たかみち
+きたあき,ひろゆき
+きただ,ひろゆき
+きたがわ,としゆき
+きたほり,ひろゆき
+きたじま,たつや
+きたむら,ひろし
+こばやし,しげよし
+こばやし,かずひろ
+こばやし,ちふゆ
+こばやし,やすゆき
+しらい,だいすけ
+こばやし,ひろゆき
+こばやし,しんいち
+こばやし,としや
+こばやし,としき
+こばやし,なおふみ
+こだま,ひろゆき
+こぎた,けいいち
+こぐれ,よしかず
+こはし,のりしげ
+こご,たかひで
+こんの,よう
+こんの,きんや
+こんの,やすひろ
+こんのす,ひろかず
+こいで,こうじ
+こまつばら,ひでとし
+こみや,おさむ
+こみやま,よしひろ
+こもだ,たかし
+こんど,かずまさ
+こんど,まさと
+こんど,ひとし
+こんど,かつや
+こんど,かずとし
+こにし,あきのり
+こさ,まさと
+こすぎ,けんいちろ
+こたき,まさゆき
+こたに,けいいち
+こやま,みき
+こやま,ひろみ
+こやま,かつひこ
+こざわ,まさのり
+こずる,よしあき
+くぼた,ひろし
+くぼた,じゅんこ
+くぼや,ともこ
+くどう,じゅん
+せのお,ひとし
+くまがい,かずのり
+くらどみ,きよふみ
+くらもと,のりゆき
+くらとみ,けいすけ
+くりの,やすひろ
+くりや,ゆういち
+くろだ,ひろし
+くろかわ,みつあき
+くさかわ,のぶみつ
+くさの,さとし
+くわばら,としひろ
+くわの,やすひろ
+よしだ,さとる
+くずの,ひろかず
+まちだ,ひろし
+まえだ,けんいち
+まえかわ,みねかず
+おおたに,ただしげ
+まき,たくや
+まきの,としお
+まるおか,やすひろ
+まるやま,じゅんこう
+まるやま,のりひろ
+まるやま,みのる
+まさい,しんご
+まさき,ひでよ
+ませ,たかし
+ますだ,ゆたか
+まとば,たかとし
+まとば,くにひこ
+まつばら,たかあき
+まつい,ひさし
+まつい,やすひろ
+まつかわ,せいいち
+まつもり,しょうぞ
+まつもと,たかし
+まつもと,まさよし
+まつもと,しげる
+まつもと,じゅんこ
+まつもと,たけし
+まつもと,とおる
+まつもと,さだお
+まつお,かずよし
+まつおか,たけとし
+まつしま,たかひろ
+なかにわ,としろう
+まつやま,じゅん
+まつやま,じゅんじ
+まつざわ,ひでよ
+みむら,しゅんいち
+みにゅう,こういち
+みた,まなぶ
+みた,ひろかず
+みたむら,じゅん
+みつだ,おさむ
+みつだ,じゅんいち
+みつまた,よしのり
+みつおか,あやこ
+みうら,きょうこ
+みうら,みどり
+みわた,なおき
+ながせ,たかし
+みやけ,あきお
+みやけ,ゆかり
+みやま,せいじ
+みやもと,てつお
+みやもと,ひとみ
+みやなが,まさかつ
+みやざき,もとふみ
+みずば,ひろし
+みずぬま,かつみ
+みずさき,みわ
+みずた,のりあき
+もちずき,しゅういち
+もちずき,あつき
+もちずき,ちから
+もぎ,ひろし
+ももせ,つよし
+ひらの,あきひで
+もり,ゆうき
+もり,まさゆき
+もり,まさゆき
+もり,しげお
+もりかわ,しんじ
+やぎした,いさお
+もりもと,こういちろう
+もりもと,こうじ
+まつだ,けんじ
+もりおか,あきひこ
+もりした,りえ
+もりた,くにひろ
+もりた,きよえい
+かねこ,かずあき
+もりた,まさゆき
+もりわき,のぶゆき
+もろどみ,よういち
+もとはし,よしひで
+もとじま,てつお
+もとき,けいこ
+もり,みわ
+うすい,かおる
+むらかみ,たけお
+むらかみ,だいせい
+むらかみ,ひでし
+むらかみ,ひとし
+むらた,よしお
+むらた,きよひこ
+むらやま,さとし
+むとう,よしひろ
+なだぐち,すみと
+ながはし,いさお
+ながい,まさひろ
+ながむら,まこと
+ながお,まさみ
+ながしま,みちのり
+ながしま,みよこ
+ながた,なおり
+ながた,のぼる
+ながつか,のりゆき
+ながやま,さなえ
+うちだ,たかひで
+うちぞの,たかし
+なかだ,としや
+なかがわ,やすひろ
+なかがわ,ゆきひろ
+なかがわ,ちはる
+なかがわ,なおゆき
+なかじま,こういちろう
+なかじま,ひろあき
+なかじま,きょうこ
+なかみち,りゅういち
+なかもと,やすとも
+なかもと,ひろし
+なかむら,ひろし
+なかむら,ゆみこ
+なかむら,ひろし
+あきやま,たかじ
+なかむら,ひでと
+なかむら,つとむ
+なかむら,たかこ
+なかむら,ゆきこ
+なかむら,よしひこ
+なかむら,せいじ
+なかむら,ゆういち
+なかむら,ひろみ
+なかむら,さとし
+なかの,たかし
+なかの,けいじ
+なかしま,のりお
+なかつぼ,まさひこ
+なかつか,てつろう
+なかやま,まこと
+なかやま,まさひこ
+なかざわ,おさむ
+なおつか,あきこ
+ならはら,さとし
+なるしま,まさこ
+なとり,ひろたか
+にいじま,ゆか
+にいや,りか
+にし,としひさ
+にし,まさひろ
+にしぶ,あやこ
+にしだ,たつや
+にしはら,たかあき
+にしかわ,まさこ
+たなか,いさお
+にしかわ,まさと
+にしもと,ひであき
+にしもと,なおこ
+にしむら,たかし
+にしむら,こうぞう
+にしの,けんじ
+にしの,しんや
+にしおか,まさのぶ
+にしざき,けんじ
+にしざわ,だいすけ
+にわ,もりよし
+のぶ,みのる
+のがいと,のぶゆき
+のぐち,ようこ
+のじ,ひろゆき
+のじま,のりお
+のむら,あきこ
+のむら,しんいち
+のなか,ゆきのり
+なかじま,ちふゆ
+のざき,みきお
+のざき,よしゆき
+ぬわ,たけし
+おち,たかし
+おちあい,としゆき
+おだ,あつし
+おがさわら,よしゆき
+おがさわら,とみお
+おがた,かずはる
+おがわ,けんいち
+おぎはら,ひろき
+おおはら,かつみ
+おおば,ゆみこ
+おおば,えいじ
+まつだ,しげゆき
+おおえ,ゆうじ
+おおがき,かずひろ
+しょうじま,としひで
+おはま,ひろゆき
+おおはし,けいこ
+おぎの,しげき
+おおかわ,こういち
+おおかわら,まなぶ
+おき,まさひこ
+ねもと,じゅん
+おおくぼ,のぶゆき
+おおくら,ともひこ
+おま,ともひさ
+おおみか,てつし
+おおもり,ひでみ
+おおもり,ひろあき
+わたなべ,かずあき
+おおにし,みつる
+おおにし,まさひで
+おの,さなえ
+おの,じゅんこ
+おおぬま,まさお
+おしま,たかゆき
+おしま,まさし
+おおた,まさゆき
+おおた,もとい
+おおた,かおる
+おおたか,としあき
+おおたけ,さえこ
+おおたけ,ひでふみ
+おおたに,くにお
+おおつぼ,あつゆき
+おおつか,てつお
+おおつか,としひこ
+おおつき,いずみ
+さこだ,しゅういち
+おおわ,さとし
+おおや,じゅんせい
+おいかわ,まさき
+おかべ,まなぶ
+こばやし,そう
+おかだ,やすみつ
+おかだ,てつじ
+おかだ,てつや
+おかもと,ひであき
+おかもと,ひでのぶ
+めら,ひろゆき
+おかの,かずのり
+おかざき,かずゆき
+おきた,さとこ
+おくだ,えいいちろう
+おくぬき,まさかず
+おんだ,ちずこ
+おんだ,ひらたか
+うつみ,まさひろ
+おおの,たかし
+おおの,ゆきひろ
+かわもと,ひでゆき
+かど,くにひろ
+おしま,しろう
+おおすみ,あきら
+おおた,かずゆき
+おりい,しゅんじ
+おりた,しゅういち
+おおさか,とよひで
+おそのい,ゆきお
+おざさ,ゆきのぶ
+おざわ,たつじ
+おざわ,なおのり
+おざわ,やすひろ
+しらとり,じゅん
+おぞね,あきお
+さの,ひろひさ
+さいとう,まさみ
+さいとう,なおき
+さいとう,みえこ
+さいとう,けいじ
+さいとう,ちかこ
+さかい,ひろみ
+さかい,けんじ
+さかい,まこと
+さかきばら,みつあき
+さかもと,れいこ
+さかもと,よしお
+さかもと,ともこ
+さかもと,じゅんぺい
+さかもと,かおる
+さかむら,けんじ
+さかね,こうじ
+さかた,まさひこ
+さかた,まさひろ
+あくたがわ,まさひろ
+さくらい,まさと
+さくらい,るりこ
+まつばら,りょうこ
+さくらい,さとる
+さなぎ,よしき
+さの,ゆきこ
+おおがき,ちひろ
+ささき,ふみひろ
+ささき,とおる
+ささき,ひでゆき
+ささき,いくふみ
+ささき,ながまさ
+ささき,ともこ
+さたけ,たかゆき
+こだま,まさひろ
+さとう,とおる
+さとう,ふじお
+さとう,ひではる
+さとう,まもる
+さとう,まゆみ
+さとう,しろう
+さとう,けんじ
+さとう,ひでのり
+さとう,けいいち
+さとう,あきひろ
+さとう,ひでき
+さかい,けんじ
+さわだ,こうたろう
+せがわ,さとる
+せいの,しょうじ
+せき,つとむ
+せきど,しんじ
+せきの,のりひろ
+せお,たかゆき
+せりかわ,おさむ
+しばさき,ひろのり
+しが,かなみ
+しげる,よしこ
+しまだ,あつし
+しまだ,みつえ
+しまだ,まこと
+しまだ,かおる
+しまもと,みつやす
+しまむら,たつや
+しまの,たかし
+しみず,たかあき
+しみず,としひろ
+しみず,ただし
+しみず,つとむ
+しみず,こうじろう
+しみず,さとる
+しみず,みずき
+しもだ,ひろゆき
+しもがき,けんや
+しもはた,ひろゆき
+しもむら,のぶひろ
+しもおか,としあき
+しむら,しょういち
+やえがし,あつこ
+しのざき,あつし
+はぎわら,ひでお
+しおだ,まさひと
+しおた,ひさよし
+しおざわ,けんいち
+しらい,たけし
+しらいし,ともひさ
+しょうだ,けんじ
+しゅう,ともこ
+そめや,まさし
+すだ,くみこ
+すえ,ひでお
+すえた,ひでお
+しぶいち,ひでゆき
+すがの,ひろゆき
+すがわら,ひさたか
+すぎえ,かつとし
+すぎまさ,けいた
+すぎもり,のぶゆき
+すぎもと,とおる
+すぎさき,ようこ
+すぎうら,ゆきお
+すぎうら,じゅんいち
+みずおち,たかし
+すぎやま,まさや
+すぎやま,まなぶ
+すぎやま,けん
+すぎやま,たけし
+すみ,まさもと
+たべい,よしのり
+すなみ,ひろこ
+すさわ,おさむ
+すずき,あきこ
+すずき,えいじ
+すずき,ひでゆき
+すずき,ひろあき
+すずき,かなこ
+すずき,かなこ
+すずき,かずよし
+すずき,けんた
+すずき,こうじ
+すずき,まさのり
+すずき,なりまさ
+たべ,りゅういちろう
+たちはら,たかし
+たげ,としき
+たぐち,わたる
+なかた,わたる
+たぐち,しん
+たじま,あきら
+たじま,まこと
+たかだ,こういち
+たかぎわ,みつひろ
+たかはし,かずよし
+たかはし,ひろやす
+たかはし,かずのり
+たかはし,みつとし
+たかくら,こうじ
+たかくら,やすまさ
+たかはし,やひろ
+たかはし,あきふみ
+たかはし,おさむ
+たかはし,ゆうじ
+たかはし,ひろゆき
+たかはし,つかさ
+たかはし,しんいち
+たかはし,ゆうこ
+たかはし,まこと
+たかはし,ひでき
+たかくら,つとむ
+たかみや,たまみ
+たかさご,くにひこ
+たかさき,まさと
+たかせ,まさひと
+たかつか,しんいち
+たかやなぎ,しげる
+たかやなぎ,やえきち
+たけち,ひであき
+たけだ,ひろし
+たけだ,いつひと
+たけがみ,かつみ
+たけひさ,まこと
+たけい,のぶお
+たけい,ただゆき
+たけかわ,たけひこ
+たけむら,としひで
+たけなか,としひろ
+いまい,よういち
+たけさこ,よういち
+たけしま,かつしろう
+たけうち,ひろとし
+ひだか,とおる
+たきもと,みどり
+たきざわ,きくみ
+たまい,まさる
+たむら,しょういち
+たなべ,えいじ
+たなべ,ようへい
+たなか,あきと
+たなか,いさむ
+たなか,みどり
+たなか,よしなり
+たなか,やすじ
+たなか,たかし
+たなか,ありひと
+たなか,しんご
+たなか,しゅういち
+たなか,ひろゆき
+たなか,たかし
+さの,ひろふみ
+たに,えいいちろう
+たにむら,よしふみ
+たにやま,だいすけ
+たさか,やすまさ
+かとう,えいじ
+てらだ,よしゆき
+てらまえ,まき
+てらにし,のぶゆき
+てらにし,ひろみつ
+てらぞの,かおり
+とびた,まさみ
+いずみさわ,ひでき
+とだ,さとし
+とぐち,たけし
+とまつ,ともあき
+あきむら,のぶゆき
+ときたけ,たけし
+とくます,あきひろ
+とくたけ,あきひこ
+とまき,かずや
+とみい,まさひろ
+とみた,きみお
+とみやま,まさと
+ともだ,くみこ
+ともなが,まさのり
+とさか,なおと
+とっとり,あきひこ
+まつお,よしゆき
+とよだ,よしゆき
+つぼい,あきら
+かとう,としひろ
+つちや,かずし
+つだ,しんご
+つじ,まさひこ
+つじ,よういち
+つじの,ようすけ
+つかこし,あきら
+つかもと,しげひろ
+つかざき,ふみひろ
+つきあし,あきら
+つきざわ,こうじ
+つみた,えいいち
+えんど,ただひこ
+つと,としひろ
+つむら,よしお
+つねかわ,そのすけ
+つるおか,よしひこ
+つるた,のりこ
+つるた,もとゆき
+つるた,たつゆき
+つつみ,しゅんや
+つつみ,かつみ
+つわこ,ゆか
+つやま,きよふさ
+うちだ,しょうこ
+うちだ,まさひろ
+うちだ,せつこ
+うちやま,しんご
+うちやま,ひでお
+うど,きよみ
+うえだ,はるき
+うえだ,ようすけ
+まつむら,だいじろう
+うえだ,あけみ
+うえだ,あきお
+うえまつ,ひでお
+うえの,ひろみ
+うえの,じゅんじ
+いしだ,かずひこ
+うめだ,こうせい
+うめがき,くにこ
+うの,まもる
+うらはし,
+しみず,さとし
+えがしら,ただし
+すえかね,てるゆき
+うつ,とおる
+うつはし,としひろ
+うつみ,けいいち
+わだ,つねふみ
+わだ,たつみ
+きたわき,せいき
+わしず,はるなが
+わたべ,ふみよ
+わたなべ,ひろし
+わたなべ,まさや
+わたなべ,さとみ
+わたなべ,しんいち
+わたなべ,たかし
+わたなべ,つとむ
+わたなべ,よしあき
+わたなべ,つねお
+わたなべ,まさよ
+わたなべ,えいじ
+わたなべ,ひろこ
+わたなべ,ひろゆき
+わたなべ,かつし
+わたなべ,ゆうじろう
+わたなべ,やすお
+えはら,あつし
+わたなべ,ひであき
+わたらい,じろう
+やえがし,おさむ
+やはぎ,しのぶ
+やまだ,しゅういち
+やまだ,たけし
+やまだ,ようじ
+こんど,としや
+やまだ,あつし
+やまだ,おさむ
+やまだ,みき
+やまだ,あきひろ
+えのもと,ひろし
+さいとう,ひろゆき
+やまぐち,きんや
+ふじた,まさとし
+やまぐち,さとこ
+やまぐち,やすひろ
+えざき,ひとし
+やまぐち,さとる
+やまもと,さとし
+やまもと,とおる
+やまもと,やすし
+やまもと,たけし
+やまもと,こういち
+やまもと,こうき
+やまもと,としゆき
+やまもと,まさる
+やまなか,ひろし
+やまね,みちる
+やまのくち,さとし
+やまさき,たかし
+やました,まさかず
+やました,ひろき
+やました,けいいちろう
+やました,こうき
+やました,しげみ
+しさい,まさゆき
+やました,としひろ
+やまうち,としゆき
+やまうち,まこと
+やまざき,ひでお
+やまざき,ただし
+やまざき,むつみ
+やなぎもと,たけし
+やの,りょうじ
+やの,ひろき
+やしろ,やすし
+やざわ,まこと
+よだ,しゅんすけ
+よぎ,ふみゆき
+よこい,こうじ
+よこやま,けんしょう
+よねざき,ふとし
+よしだ,じゅん
+よしだ,りえこ
+よしだ,かずよし
+よしだ,じゅんこ
+えびな,せいいち
+よしだ,ただし
+よしだ,たつお
+よしいけ,やすのり
+よしむら,みつゆき
+よしむら,さとる
+よしの,しんいち
+よしお,のぼる
+よしたけ,しげよし
+ゆあさ,てつじ
+おおわだ,しょうじ
+えぐち,さとる
+おざわ,かつゆき
+さとう,みつあき
+しんたに,たけみ
+すぎたに,よしひこ
+たかはし,いずみ
+たきざわ,なおき
+みよだ,けんじ
+やまだ,きよし
+やはぎ,さとし
+きや,ただし
+みせき,のりかず
+えのもと,けんたろう
+さくらだ,まさき
+ささき,のぶゆき
+ばば,たけお
+あぼ,かおり
+あだち,こうへい
+あかさか,まさひろ
+あまさき,ひでと
+あおき,かんじ
+あぜがみ,しげかず
+えどの,ふみひろ
+どい,かずお
+ふじい,ともひと
+ふじい,さゆり
+ふじもと,ひろき
+ふじもと,たけし
+ふくはら,のぶゆき
+ふくおか,てつや
+ふくしま,けんいち
+ふさやま,こういち
+ごとう,よしひろ
+はまべ,えいじ
+はなだ,けいすけ
+はしもと,よしひろ
+ひび,さかえ
+ひらつか,かずゆき
+いかり,たかゆき
+いくた,あきひこ
+いまい,てつし
+いしはら,やすひろ
+いそだ,こういち
+いそざき,よしたか
+じんぐう,よしあき
+ない,みのる
+じょうにし,おさみ
+かじはら,よしあき
+かまた,たつや
+かめい,あきら
+かみやま,てつや
+かとう,たつじ
+かとう,としゆき
+えみ,ひであき
+かわもり,まもる
+きむら,よしひろ
+きむら,かずお
+きしべ,くにひこ
+きしかわ,かずよし
+きたがわ,しんいち
+きたなか,めぐみ
+こばやし,まさゆき
+こばやし,げん
+こいけ,とうた
+こいずみ,かずや
+こじま,たかひさ
+こにし,きよかず
+こやま,たくや
+くどう,かずや
+くまさき,よしあき
+くろだ,ひろかず
+くさか,しんご
+えんど,けんじ
+まえかわ,まさひろ
+まるた,ひでき
+まつした,しんご
+みくに,とみお
+えんど,よしのり
+みね,やすたか
+みうら,しゅういち
+みぞぐち,しょうじ
+ほん,よしあき
+みずしま,しげる
+えだ,たかし
+ながお,あつし
+なかむら,とおる
+なかにし,ゆうじ
+なかの,ようこ
+なかお,かつや
+ねもと,まさゆき
+にしかわ,こうじ
+にしわき,けんいち
+のだ,たかこ
+のぐち,みとし
+おちあい,こうじ
+おおはし,やすよし
+おの,たくじ
+えみ,ひでお
+おくむら,まさひろ
+おくの,ひでみつ
+えんど,よしただ
+おおにし,あきら
+おざき,くにはる
+さえき,のりゆき
+さがわ,のぼる
+さくま,まさほ
+さとう,しげあき
+さとう,みつひろ
+さわ,きよたか
+せがわ,こうじ
+せき,ゆきお
+せんだ,けんじ
+しぶや,しゅういち
+しみず,よしはる
+しんでん,あきよし
+しおた,ひとし
+しゅくたに,としお
+すやま,ひろこ
+すずむら,いさお
+たかおか,よしゆき
+たけうち,かつのり
+たけうち,かずし
+たまい,まさひろ
+たん,かずひろ
+たなか,けんご
+えとう,てるあき
+たにひら,かずひろ
+たにやま,きくお
+たおか,しげき
+たしま,まさゆき
+たざわ,みきお
+ときた,かつよし
+とみた,しげき
+とみた,けんじ
+とみた,あきお
+つじべ,ひろこ
+つじかわ,けんいち
+えんど,じゅんこ
+みやざき,まきこ
+わだ,よしたか
+わたなべ,ひろみ
+やまだ,なおや
+やまだ,ただし
+やまだ,さやか
+やまぐち,のりお
+やまもと,たかこ
+やまおか,かつのり
+やました,のぶお
+やました,かずひさ
+やまぞえ,ひろまさ
+やお,やすはる
+やすだ,さとし
+よつたに,よしお
+よしはら,ひでお
+よこうら,まさお
+ひらせ,しげお
+まつい,いちたろう
+こばやし,かずひさ
+すずき,たけし
+かとう,としくに
+くにとも,のぶゆき
+えんど,ごう
+いとう,さとる
+おかざき,ひでお
+ひろはし,やすお
+さかき,ようこ
+みき,ときこ
+くまき,まさお
+たやま,てつお
+おおわき,きはち
+みょうどう,まさと
+かとう,ひろよし
+ばば,みきお
+かねこ,はるひこ
+こぐれ,ひろあき
+たけだ,よしのり
+いちむら,まもる
+いとう,のぼる
+うえはま,みのる
+なかい,こうじ
+こばやし,まさお
+しまだ,まなお
+めぐろ,しげる
+やまや,ひろし
+ふじた,みつぐ
+まとば,ちひろ
+いとう,もとかず
+なかい,しずお
+おかだ,まさひと
+のもと,としき
+ながしま,ようじ
+よねかわ,たもつ
+わたなべ,とおる
+むらまつ,ともちか
+きたに,ゆういちろ
+みかみ,ひろし
+あだち,みつお
+いのうえ,まさあき
+おかだ,たかあき
+かわしま,てつお
+せき,あきら
+たかはし,よしじ
+わたなべ,まさる
+くりはら,ちはる
+わたなべ,けいすけ
+ふじかた,みつお
+よしと,のりお
+かわせ,おさむ
+たなか,まこと
+いまい,けんじ
+こむろ,ゆきとし
+まえだ,えいご
+こいけ,おさむ
+わたなべ,みちあき
+こんど,ひさとし
+いしい,ひさや
+みしま,たかし
+こばやし,よしかず
+やました,けんじ
+たなか,りょうぞう
+やまだ,まさとし
+かみや,みちやす
+やまもと,りきお
+しおざき,とおる
+なかむら,ちかし
+たけもと,さちお
+だけやま,ひろゆき
+あらかわ,ぜんじ
+よこた,まさゆき
+なかむら,かずひこ
+あらかわ,としお
+おおみち,まこと
+まつき,えいき
+くしびき,すけひで
+にった,てるひこ
+つぼうち,みきお
+さいとう,ひろゆき
+たけむら,としひろ
+たなべ,かずお
+まえだ,もとくに
+すがはら,てつお
+かねこ,しょうじ
+やまうち,まさひこ
+かみざわ,ひろふみ
+こが,とくひろ
+つるさき,すなお
+ひがし,ふみひろ
+いしだ,やすひろ
+なかがわ,はるお
+てらしま,ひさはる
+きたむら,しゅんじ
+はっとり,ひでみ
+ささき,よしひろ
+ほか,けんたろう
+のむら,てるお
+はやの,かずお
+あんざい,しんいち
+ふるの,きよひで
+にしわき,くに
+はせがわ,まさお
+いわた,たかゆき
+とだ,ひろあき
+なかむら,まさと
+ふるいし,ますみ
+なかむら,ふじお
+なかがわ,ひでお
+なかま,たつや
+すがわら,ますこ
+まつもと,つとむ
+はしもと,ようたろう
+なかつ,やすかず
+さとうり,あきら
+いきた,ゆきのぶ
+きくち,たけし
+すと,まさみ
+しばた,ひさのり
+ないとう,こうじ
+もり,かずこ
+いとい,あきら
+いとう,けんじ
+まつざき,まさのり
+うえの,みつのり
+かたおか,きよかず
+ばんどう,たつお
+さいとう,じゅんじ
+いわい,しげる
+しもやま,みのる
+あかまる,おさむ
+ごとう,はじめ
+まつだ,すすむ
+ねがみ,としお
+やました,まさおみ
+よねやま,りゅうへい
+いしやま,ひさお
+あべかわ,れいじ
+いまむら,しげる
+いわなが,みのる
+うえだ,くにひこ
+ふじかわ,ゆきお
+たむら,よしひさ
+かしい,まさと
+よねだ,まさお
+よこつ,あきお
+あさお,ゆうじ
+たなか,けいじ
+たなか,ただみ
+やしき,やすゆき
+かいがい,たけし
+そがべ,ゆきお
+ふるかわ,けんじ
+かわうち,ゆういち
+ふじい,のりゆき
+いけのや,たつお
+おち,のりお
+なかもと,なおはる
+わかばやし,はれお
+あらき,ふみお
+やべ,ひでお
+たかはし,やすひろ
+しばの,みつお
+たがしら,としお
+すみた,てつや
+さとう,こうじろう
+ちの,しげと
+やまだ,やすひろ
+いがらし,のりよし
+いけがみ,けんいち
+ふなだ,たかゆき
+いのうえ,たかよし
+にしやま,ひろし
+いしはら,としたか
+すずき,たいち
+こもりや,かずお
+ちゅうご,ひろし
+こばやし,おさむ
+みやもと,つとむ
+なかた,たかゆき
+いりたに,たくお
+おがわ,ゆきち
+おね,けんじ
+こまつ,まさあき
+みのわ,ひろし
+ふじかわ,なおと
+かわぐち,やすひろ
+ちば,としひこ
+なかにし,さだお
+さくま,ひとし
+たけまさ,としゆき
+せき,よういち
+さいとう,ふみお
+ふじもと,やすお
+おぐり,たつじ
+いしばし,きよし
+あざみ,しげる
+おがさわら,なおいち
+さいとう,ひろし
+たなべ,けんじ
+もりやま,しゅうへい
+きたざわ,ひでとし
+かなざわ,かつお
+はらだ,まさと
+おくやま,さとし
+しみず,せいじ
+いのまた,ゆきお
+ふるさわ,せいき
+たけうち,しろう
+おおの,つとむ
+もろおか,けんじ
+しのざき,ふみあき
+のぐち,しげあき
+しまだ,こうじ
+かわさき,ゆたか
+おおかわ,まこと
+さめしま,まさひろ
+ほそじま,かずひこ
+わたなべ,とみお
+かわなみ,まさあき
+くさの,けいさく
+つちた,ともあき
+おおはし,こうじ
+のだ,みきお
+わたなべ,ひさお
+よしたけ,やすひろ
+ふくしま,あきら
+いわや,たかお
+さかもと,もとはる
+くぼた,しょうじ
+いそやま,こういち
+おおの,みつあき
+あべ,たつお
+おだわら,みちお
+きうち,けんじ
+いしかわ,としふみ
+よしだ,たつお
+ちゃばたけ,まさふみ
+さかい,よしお
+おおた,ようじ
+なかの,まさみ
+はだ,たかし
+なかやま,じゅんじ
+さかぐち,けんじ
+ながしま,やすお
+さがら,としひろ
+かわの,ただよし
+かねこ,いさお
+なかだ,みつる
+あまの,たかし
+やざき,しゅうじ
+ひらぎの,かずお
+たばた,いちお
+くにゆき,やすひろ
+おくうち,ひろのり
+すぎもと,ひでじ
+なかむら,りょうじ
+すぎさき,わたる
+やました,たかてる
+のむら,かずみ
+しまだ,みつる
+ふくだ,かずのり
+さとう,ひでお
+おくぼり,ひろし
+よこかわ,まさみ
+でんだ,きよし
+ふくなが,すすむ
+たかしま,みつぎ
+かとう,てつお
+いしぐろ,あきのり
+いけべ,くにゆき
+おおつか,すすむ
+しみず,よしのり
+すずき,たかお
+つや,まこと
+うちだ,まさたか
+おち,けんいち
+ありが,たけし
+なかしま,かつじ
+まさき,まつみ
+なかしま,まさお
+あさはら,まさよし
+ごとう,ひさお
+うえまつ,ひろし
+さきもり,よしあき
+よしだ,つとむ
+ふじた,やすよし
+やぎした,としお
+むろふし,まさひろ
+かめだ,えいいち
+いかわ,ひろただ
+やまざき,ひろし
+つるはし,まこと
+みのしま,のりお
+きしもと,まこと
+たけした,まさし
+なかた,しんいち
+えんど,きよし
+もりや,けいめい
+くぼた,すみお
+なおはら,ひろし
+くげ,けんじ
+かさの,まさはる
+いいむら,たかし
+おおた,まさゆき
+たけこ,ひろふみ
+むらこし,としお
+よしだ,けんじ
+あさの,よしあき
+よしだ,まさとし
+はやし,てつろう
+すずき,たつや
+おだ,りょういち
+やまうち,きよし
+かわかみ,つねお
+うすだ,こうじ
+さとう,しんいち
+くらしま,しんじ
+ませ,のぼる
+こんの,ひろし
+まつざわ,あきら
+しまだ,しゅういち
+やまもと,よしのり
+おおくぼ,けんじ
+おぐら,かずのり
+さくま,えいじ
+のぐち,ひろのり
+ひなた,こういち
+ふじい,しゅんいち
+すぎもと,まさし
+つかはら,ごろう
+みつなが,まさあき
+なかむら,まさよし
+やじま,たけし
+かみた,すすむ
+ひが,じゅんき
+みながわ,よしてる
+とみ,たかお
+さかきばら,ひろし
+かくた,あきひろ
+つちや,ひでゆき
+むらた,けん
+たなべ,あきら
+しもだ,よしのり
+つかもと,くらじ
+はなはた,ひでお
+かんだ,しんじ
+かわだ,ゆきお
+よしい,つねお
+くらや,きへい
+てらしま,ひでゆき
+きたがわ,よしお
+いで,としひろ
+つる,ひさお
+うつのみや,としかず
+なかざわ,まさひと
+ひだ,よしのぶ
+ほそかわ,ひでじ
+ちぐさ,せいじ
+そうや,ひろみ
+やまぐち,こうへい
+さかて,ふみお
+あわた,しげる
+わかばやし,かずひこ
+えんじゅうじ,まこと
+のぐち,こういち
+かわむら,まさお
+もりもと,みきお
+よねはな,ただひろ
+じだ,あきお
+うえだ,けんじ
+しのはら,いさむ
+たかやま,まさかず
+やまむろ,まさのぶ
+わき,じゅんこ
+あまの,まつお
+ほそかわ,としお
+とうごう,ひろひさ
+なか,とみお
+のだ,たかのり
+やました,ちえこ
+なかじま,ひろし
+ながおか,こうじ
+しぶや,よしかず
+せりざわ,こうぞう
+ふじもり,せいじ
+ふくだ,たつひろ
+ふじた,たかひさ
+やまじ,ひであき
+こばやし,いずみ
+こばやし,きよし
+ししくら,よしあき
+こぐれ,まさはる
+もり,よういち
+なかむら,のりたか
+いいじま,のりゆき
+きたがわ,よしてる
+たむら,ただよし
+ながしま,やすえ
+えのき,いずみ
+さとう,よしのぶ
+まつもと,よしお
+うえだ,ひろお
+みずたに,あきら
+あかし,たつお
+なかもと,おさむ
+なかやま,ひろのぶ
+ふじい,やすひろ
+なかやま,しょういち
+よねみつ,てつお
+たかせ,としお
+わたなべ,ひとし
+ふかざわ,としのぶ
+かげうら,まさみ
+しんどう,かつじ
+しみず,たつみ
+さかした,よしの
+みやむら,とおる
+たなか,まさとし
+たかいし,すすむ
+いしがき,けんじ
+たかだ,よしかず
+たていし,かずなか
+さかた,ひでお
+よこはた,としひこ
+くや,たもつ
+よしだ,まさひで
+きただ,はるお
+よしだ,しんじろう
+こばやし,かずみ
+なりた,みつよし
+いぬい,まさよし
+やすかわ,ふみお
+のぐち,すなお
+しょうだ,いちぞう
+やまだ,てるひさ
+わくだ,つとむ
+あべ,さだひろ
+たけかわ,たかお
+さとう,ひでき
+はなおか,よしお
+おおの,ひでお
+たなか,けんぞう
+つのだ,あきお
+なまえ,けんじ
+たかはし,ただひさ
+なかじま,しげる
+なかむら,きみこ
+うりう,はるたけ
+ふじいわ,ふみひこ
+ささき,たかし
+きむら,ゆたか
+たかぎ,しゅういち
+かたやま,ひろと
+いぐち,おさむ
+あべ,てるお
+すずき,たかひろ
+ひら,かずひろ
+なごし,ひであき
+あだち,けんじ
+むらやま,まもる
+くにかた,すすむ
+まつい,まこと
+こいで,みつお
+ひろた,ひろやす
+とみなか,よしお
+わきた,ふじお
+うめむら,しょうじ
+ふけ,よういち
+うえまつ,かつみ
+まつざき,やすひろ
+なかの,つもる
+こだか,たけお
+ひろたに,けんじ
+たかはし,こういち
+さの,じゅんいちろ
+しみず,よしかず
+かんざき,てるよし
+おおさく,かずお
+わしだ,まさひで
+くにもと,やすまさ
+しろかわ,まこと
+かわはら,けんいち
+おか,つねかず
+こもり,よしあき
+はやし,しげあき
+かねこ,いくお
+かどいけ,なおみち
+おかむら,じゅんいち
+おかむろ,じゅんいちろ
+たぶち,なおこ
+やまもと,あきのり
+おおさ,たかし
+いりえ,しんいちろう
+たかは,かずひこ
+たいら,はるお
+みなみ,やすまさ
+いけだ,しげる
+あおき,ふみお
+やまうち,じ
+よしはら,まさふみ
+ささき,あきひと
+みずたに,としいち
+ひらの,かつゆき
+ながた,あきら
+かたやま,けい
+おだ,りょうじ
+えのもと,ゆうき
+たけなか,さかえ
+まつざき,ひろし
+まつばら,こうじ
+やました,せつこ
+めぐろ,ひろよし
+おざき,ひでゆき
+おおがみ,こういち
+おまえ,しんいち
+きだ,かんじ
+うえの,おさむ
+おかだ,かつゆき
+かなさき,とみお
+やかべ,ひろゆき
+なむら,ゆみこ
+いいじま,もとあき
+ささき,のぶゆき
+もちずき,よしのぶ
+ぶんや,としお
+おかの,やすお
+たけうち,さとし
+うえの,とおる
+ふじもと,ひでと
+かわぐち,みつはる
+たきもと,まさのり
+かたおか,しげる
+くさかわ,なおき
+あさい,ひとし
+もり,えいいち
+くぼ,よしくに
+あんどう,いちろう
+うらやま,おさむ
+くりた,よしお
+いのうえ,たけし
+かねかわ,ひでお
+うえもと,りょうぞう
+なかお,けんいち
+おかもと,はるお
+にしむら,きよし
+やだ,かずおみ
+きど,おさむ
+おかばやし,みつひろ
+かわしま,じゅんぞう
+はしき,たかみち
+みやもと,いちろう
+なかお,たかひこ
+まつおか,ゆきお
+ひびの,ひろみ
+にしかわ,かおる
+かぶた,けんじ
+わたなべ,きよし
+やまの,こういち
+さいとう,しげみつ
+すずき,ゆうじ
+くわはら,さとし
+もりた,としひろ
+ふじい,すみよし
+ながしま,つねゆき
+いなむら,まさひろ
+おざわ,ひとし
+たきもと,くにお
+みやした,ひさし
+もうり,まさゆき
+いのうえ,みつお
+ながの,もとあき
+はらと,よしお
+まみや,としかず
+ひがしばた,ひでお
+にしたに,さとし
+たかく,のぶゆき
+はなだ,みのる
+あさの,みちお
+ばば,ひろし
+いとう,しんきち
+いいだ,けんし
+こはやかわ,たけひこ
+ふじわら,かつみ
+しゅくり,やすひこ
+ゆたに,けん
+むねかわ,いくこ
+かんの,まさひろ
+にと,かつみ
+たむら,よしあき
+なかしま,さとし
+おおた,ちかこ
+いのうえ,よしこ
+くままる,けんじ
+たなか,しげる
+まえだ,まさあき
+あみ,のぶお
+みなと,あきら
+にしだ,かずお
+いしはら,さぶろう
+なかしま,としお
+いくた,やすひさ
+おき,ただお
+かがわ,しゅういちろう
+ひらかわ,としお
+やまざき,としのり
+くまがい,こうじろう
+たしろ,みつしげ
+さの,ひでまさ
+みどりかわ,ふみひこ
+なかむら,まさのり
+よしみ,ひろこ
+いなみ,ひでと
+わたなべ,きよし
+こが,ともひで
+すがわら,やすひろ
+たけうち,よういち
+えだ,よしろう
+あんどう,ひろお
+たるい,ゆたか
+ごとう,ひろし
+しもがき,しげる
+ながた,ゆきお
+ほしかわ,じゅんいち
+こみなみ,まさお
+かが,よう
+はぜかわ,のぶお
+ちば,しずか
+うらの,さとし
+こんの,としき
+こばやし,かずよし
+ももせ,ゆうこ
+つげ,じゅんじ
+やすこち,やすたか
+ほそざわ,しょういち
+すぎやま,かつゆき
+あべ,たけゆき
+たなか,のぶゆき
+せいけ,やすひろ
+つげ,まさのぶ
+わかばやし,あきお
+おおくぼ,たかお
+おかべ,ふみお
+いわい,ひさお
+たなか,てるゆき
+やまもと,みつお
+たかやま,なおき
+たじま,ひでのり
+かずしろ,まさはる
+こいで,たかし
+かも,たつのり
+きたじま,よしゆき
+はまの,しげる
+いいやま,としゆき
+やました,しょういち
+きた,しげゆき
+いしたに,さとし
+くじめ,さだお
+きしかわ,かずお
+ながの,まさひろ
+よむら,ただのり
+なかしま,としゆき
+もり,えいじ
+やまじ,よしかず
+おぜき,まさたか
+いなだ,やすし
+はやせ,たかし
+ほんぽ,すすむ
+おおや,かんじ
+きたむら,たかし
+としん,さとる
+たけい,やすふみ
+おかやま,のぶお
+いしずか,こうたろう
+はた,としあき
+すがはら,ゆうじ
+いわみ,やすお
+ゆもと,ひでお
+きたがわ,ゆたか
+いはら,ゆうぞう
+のむら,いちろう
+みやさか,けんじ
+よしだ,ともよし
+ふかだ,たかし
+ふじわら,かずみつ
+きと,としあき
+うえもり,いさお
+やまかわ,まさみ
+くろだ,みちろ
+おおつか,ひろし
+うえだ,ゆうじ
+その,みきお
+だい,ともみち
+しんぞう,ひろかず
+うえだ,ゆたか
+わかみや,かずみ
+かむら,ふみつぐ
+ふるたに,たかまさ
+かつうら,かつみ
+くまい,せいじ
+ばば,はるつぐ
+かねとも,たつみ
+むらはし,とおる
+どい,たかし
+なみかわ,しげはる
+たかおか,けんじ
+まつもと,りゅういちろう
+わたなべ,よぞ
+ただ,まさひろ
+ありま,よしてる
+ながの,としのり
+やの,てるゆき
+いさか,ゆきひろ
+いとう,とくいち
+やまざき,すみお
+くの,かずお
+しば,けんじ
+きむら,あきら
+すみだ,かずお
+もとがいと,ひろかず
+にわ,しげこ
+たけうち,ゆうじ
+たむら,かずよし
+ぼうた,けいすけ
+かどや,ゆうご
+はらだ,よしのぶ
+みついし,ひろし
+いのうえ,けいすけ
+むらはし,まこと
+にしかわ,しんいち
+ますだ,こうじ
+おおた,くにお
+ふくい,まさお
+かげやま,けんじ
+ながつか,ただゆき
+くさの,しげお
+こじま,ひろゆき
+くらた,ただし
+たけうち,けんいちろ
+いけだ,あつお
+たかの,ゆたか
+くらや,しんいち
+おの,つとむ
+なかだ,じゅんぞう
+とくもと,たかあき
+おおはし,としふみ
+やまだ,あきら
+はんだ,てつお
+いしはら,せいじ
+よしはら,さとし
+たていし,としひこ
+いとう,しふみ
+さとう,たかお
+おおくら,しょうじろう
+なかすじ,よういち
+たいら,ひろし
+きひら,はるひこ
+なかじま,ひでつね
+やまざき,ときお
+とびた,あきら
+なかざわ,はるお
+にしはら,かずお
+めぐろ,じゅんじ
+まるやま,こうぞう
+きくち,ひさのり
+あおき,よしみ
+きったか,たみお
+やすい,ゆきこ
+いちまる,よしあき
+やまざき,としゆき
+すがはら,じゅんいち
+とみなが,よしひこ
+ちぎり,えいじろう
+おおば,ゆりこ
+まつい,ふくみ
+ひらやま,まさひろ
+やまむら,みつのぶ
+おおで,まさみ
+よしなが,ちかえ
+こじま,たけのり
+とみなが,ちえこ
+さが,てつや
+はら,ゆうじろう
+とみよし,たかし
+よしだ,そのえ
+ひらばやし,ひろかず
+まつど,ひでお
+いまふく,ゆうし
+きよせ,しんや
+はなぶさ,すすむ
+ちば,としのり
+やまざき,りゅうじ
+なかはら,けんじ
+おの,こうへい
+うえまつ,かよこ
+あきやま,まさあき
+とたに,よういち
+よねだ,まさひろ
+ふるくさ,さかえ
+ひろや,のりひろ
+よしだ,しんさく
+かねこ,しげる
+ながた,まさはる
+いべ,しんじ
+せきね,まさゆき
+おかだ,まさはる
+かない,かんせい
+さとう,ひとし
+さかきばら,よしお
+いまい,みはる
+ひめじ,しんぞう
+おぎはら,まさよし
+たけむら,たかのり
+とおやま,たかし
+きたはら,たかひさ
+おおさか,かつひこ
+おおこうち,かずまさ
+たかお,のりこ
+うど,としろう
+うの,きんご
+ふじき,ひろみ
+さとう,としお
+いそがい,まさみ
+からさき,よしお
+やまだ,たもつ
+わだ,えつお
+しばた,としお
+しおざき,たつお
+しが,みつのぶ
+くりた,みちお
+はしもと,よしろう
+よしむら,たかし
+みやざき,ひろのり
+きたがわ,きはちろう
+おだけ,ちから
+すずき,あきら
+やまいし,きよあき
+おぜき,ひろし
+たかい,さとみ
+かねこ,けんじ
+はらだ,ひでゆき
+しまだ,けんさく
+やなぎ,たけお
+すずき,たかひと
+たかはし,やすお
+おぐりやま,とおる
+わたなべ,のぶゆき
+やまむら,けんじ
+たかはし,ただひで
+しおじま,かおる
+つるおか,とおる
+いとう,としみち
+まつうら,せいき
+やまもと,たかお
+くまみ,ゆうぞう
+けんよし,たかし
+やまかげ,よしあき
+ごとう,ひろお
+たけうち,まさとし
+はやし,かずゆき
+いしばし,としゆき
+いな,りょう
+いのうえ,たかゆき
+にしかわ,ひでお
+はんだ,きよじ
+たてばやし,かずよし
+おしま,くにひこ
+しばた,はるき
+みうら,あつし
+こかご,かずのり
+いいだ,ゆたか
+たけすえ,かずみ
+いがらし,てつや
+ますやま,よしお
+さくやま,かずお
+さくらい,けん
+たまり,まさお
+いまにし,みのる
+おがわ,まさひと
+はぎわら,きよし
+おおくに,ひでひこ
+いけだ,せいいち
+まえじま,あきら
+いわい,かつみ
+やまだ,まさき
+すだ,まさと
+ときわ,おさむ
+はやし,ゆういち
+たけもと,かずお
+かんばやし,まさお
+とざわ,つとむ
+たての,しんご
+かんべ,けいこ
+おくだ,よしと
+たもと,とみお
+ながい,のぶたか
+おざわ,しんいち
+さとう,やすなり
+こんど,あきお
+ねぎし,ただし
+たなか,てつお
+こむろ,りょういち
+よしだ,とよふみ
+いいじま,ひろみ
+にいほり,かずお
+こもりや,よしたか
+しんどう,ひでずみ
+やの,よういち
+たなか,まさとし
+はぎたに,ろくろう
+こすぎ,だいきち
+いべ,のりお
+かなざわ,ひろし
+ただ,ただひさ
+ながた,りゅうすけ
+かまだ,ひろし
+たかはし,よしお
+おいで,まこと
+たかくら,ひろし
+やすまつ,すすむ
+まる,よしひさ
+くぼた,のぼる
+たばた,けいいち
+もりた,のりお
+くにとも,つねじ
+あさぬま,ひろかず
+ほしな,やすお
+のざわ,はるひさ
+まつむら,しんいち
+ひらかた,かずお
+ひらま,はるお
+しみず,たかし
+よこかわ,わたる
+きくち,あつし
+くろさわ,いさむ
+たけうち,てつお
+ひらが,ようじ
+さいとう,のりお
+うちぼり,こういち
+いなむら,よしはる
+おさだ,たかし
+すぎやま,たかとし
+いまず,やすただ
+うらの,まさよし
+もちずき,かずお
+すがわ,しげる
+いけだ,としお
+たなか,はるお
+さいとう,たつじ
+ふじた,としみち
+みやね,つとむ
+かまだ,みのる
+ねぎし,よしのり
+おくがわ,ゆきお
+はやし,ひさし
+ばば,のぶひこ
+やまもと,つとむ
+えんど,のぼる
+そめや,おさむ
+あらい,よしゆき
+あべ,あきら
+ちば,たつお
+たかやま,みのる
+やまき,ゆうじ
+たけうち,しげふさ
+たけべ,たかお
+あだち,よしあき
+たかしま,あきら
+よこやま,のりなお
+しらいち,まさる
+くどう,しげお
+すずき,きよし
+たかしま,たかし
+やまがた,みのる
+よしだ,たくお
+みやかわ,けんじ
+ささき,むつみ
+いでうら,かずこ
+たなか,ひろし
+いとう,あつひこ
+おおつ,たけし
+ふえき,としかず
+しもふさ,あつし
+みやかわ,まさたか
+はしもと,たかし
+やまぞえ,こうじ
+にいくら,のぶお
+わたなべ,としのり
+むろふし,かな
+かんだ,かつまさ
+くどう,けいこ
+たかはら,わたる
+おかだ,けいじ
+どい,さとる
+たなべ,まもる
+こむろ,けんいち
+もりやま,ふみこ
+あらまき,のぶお
+こしべ,かずろ
+さの,のぶひろ
+おかだ,よしまさ
+ふじわら,きょうこ
+まつお,かずみ
+たなか,みねお
+きはら,なおき
+にしはた,ゆう
+にしわき,よしたか
+おかざき,ひろかず
+ふじわら,おさむ
+やすだ,ゆかこ
+おか,きょう
+ほその,しげお
+あかし,たくま
+なかい,こういち
+やすだ,きくじ
+てらむら,ふみたか
+くぼた,よしゆき
+こにし,しげみ
+のむら,あきら
+いのせ,くにこ
+わたなべ,やすひこ
+にしお,かずひさ
+もみき,こすけ
+すなだ,ひろたか
+たけうち,さちこ
+あきせ,ひろし
+しおた,よしひこ
+きど,よしあき
+いしわたり,としお
+しらがみ,たかひろ
+うちなが,ひでや
+たなか,しんいちろう
+くろさき,てつお
+おとし,ゆういち
+さとう,まさお
+すずき,まさゆき
+ひろた,さいじ
+やのかわ,じゅんいち
+さかもと,まもる
+こむろ,まさと
+いまた,よういち
+ほそや,かずたか
+てらさか,まさゆき
+ほんま,かずえ
+かすが,ひろしげ
+まつだいら,えいじ
+かわかみ,しゅうじ
+ねごろ,しんじ
+ふくだ,えいぞう
+すずき,ひろし
+とまつ,よしじ
+いの,たつろう
+すずき,じゅんじ
+あさい,かずお
+はら,たかのり
+ほし,くにかつ
+なるかわ,かずのり
+おだ,たかあき
+おばな,しげやす
+たにざわ,まさひろ
+ふじおか,たかし
+ごとう,たかじ
+これなが,としあき
+たかはし,だいすけ
+たから,みつはる
+おおくわ,きよし
+たなか,ひでかず
+さとう,のりお
+しまぬき,けん
+そね,ひろし
+たなか,かずお
+ふじむら,こうじ
+ごとう,しんじ
+はしもと,やすたか
+ひるま,あきら
+ほしば,ひでよ
+かめわり,ひろみ
+おくい,ひろし
+ひさもと,おさむ
+すずき,きよし
+ひらさわ,よしたか
+きたで,のりあき
+ふくだ,かずひさ
+しおざき,けいじ
+むとう,ゆたか
+にしおか,さぶろう
+つぼの,ひろひさ
+なつうめ,としまさ
+たにがき,ひろあき
+おおすが,かずお
+うちだ,ひでお
+かとう,えいじ
+ささき,ひでお
+かしま,のりお
+あかさか,かずお
+かわかみ,よういち
+しど,たつや
+やまうち,よしひで
+かの,ゆたか
+はら,いくお
+まつばら,けんじ
+てらかど,かずひろ
+しおた,よしのり
+おかだ,ひとし
+くろだ,りょう
+もりもと,ふじお
+せき,ひろし
+すずき,あきら
+たけくさ,ひろし
+たがしら,のぶお
+こばやし,おさむ
+さえき,けいじ
+たつざわ,きみあき
+さいとう,ひとし
+ふるかわ,きよし
+たむら,ふみと
+つりや,まちお
+さかぐち,ふみとし
+ふくしま,よういち
+おおかわ,ひろし
+ふじた,しゅんすけ
+かわぐち,かつのり
+ときおか,てるお
+なかの,とみお
+いのうえ,まさゆき
+くにとし,たくろう
+さかた,こういち
+もりかわ,つねお
+のぐち,ひろし
+くぼた,むつみ
+なかおか,たつお
+のふじ,けいじ
+もがり,えいじ
+まえざき,いさお
+おおつか,しげよし
+みずた,けんのすけ
+すぎやま,よしひさ
+かがわ,よしたか
+にしはら,よしふみ
+てずか,しんいち
+しおみ,みつお
+おおはら,ただあき
+あさくら,あきひろ
+しまだ,てつや
+しまかわ,すすむ
+はしもと,ひとし
+うず,しずお
+たかくわ,まさのぶ
+みちた,しゅんいち
+うえだ,ういり
+しが,たかつぐ
+いけみ,みつぐ
+もり,まさあき
+かしもと,ますみ
+いしはら,ちえこ
+かねこ,ちえこ
+たかはし,としお
+もとい,まさお
+こたけ,みちお
+かさい,すえこ
+かとう,のりこ
+こくぼ,けいこ
+わかやま,しげや
+さなだ,まさひこ
+さかた,とみよし
+のむら,みつお
+はやかわ,かずみ
+みやざき,しげお
+おにつか,けんじ
+いで,おさむ
+ながさこ,たかのり
+いとう,みちたか
+かねたけ,てるあき
+くぼた,きよゆき
+ありま,けいこ
+わかお,ひろし
+いしざか,たかゆき
+おた,ぜんはちろう
+さかもと,けいご
+おおほり,ゆきお
+しんたに,としあき
+うちやま,たかし
+ひらた,みなこ
+ありぞの,さとこ
+いとう,たかし
+あおやぎ,まさあき
+なかむら,さだお
+いいだ,みちお
+なしき,かおる
+むらせ,かずお
+まつお,けいご
+さとう,しろう
+あさぬま,しんいちろう
+ふたみ,やすまさ
+ふなと,くにみ
+ふじた,ゆみこ
+ふるかわ,たけお
+ふなはし,ひさや
+ぶとう,ひろゆき
+かのう,かつひろ
+おきつ,ひろたか
+たかぎわ,いさむ
+ほしの,ちえこ
+にしじま,くにひろ
+かまた,ちあき
+つじもと,としいち
+はなだ,しんじ
+ひろせ,まさお
+にしだ,ひとし
+うえき,としかず
+よしの,きよお
+きたむら,せいいち
+しみず,みちこ
+いしざき,ひさし
+はやし,みつのぶ
+きくち,ひでふみ
+おかど,つぐお
+こむら,しげる
+はしもと,つとむ
+なかつか,たけし
+おおいし,ますよし
+くろだ,まさよし
+なかい,まさみ
+きたざわ,のりあき
+きしだ,しげる
+かなまる,まこと
+あらい,しずお
+ふたつぎ,はるお
+きくち,としお
+いいだ,やすし
+なかえ,あきお
+ひらまつ,みのる
+にしおか,じゅんぞう
+さとう,けいき
+もり,はるお
+ほしの,いさお
+やまぐち,のぶひろ
+うすい,よういち
+まつばら,えいいち
+ありさか,まさき
+にしお,えいじ
+きだ,てつお
+やの,ゆういち
+かとう,けんた
+わたなべ,ちひろ
+はやし,やすお
+わたべ,よういち
+わたなべ,まさお
+ゆぐち,ひろこ
+やまもと,ひさし
+さいとう,ふみお
+かいず,けんいち
+ほしの,ひでお
+しのはら,のぶひろ
+おおぬま,まもる
+みわ,たけし
+ほりむき,よしま
+いしたて,しんいちろう
+みふね,きよし
+もみき,まこと
+はせがわ,てるお
+すぎやま,しゅんじ
+つくだ,ただし
+あだち,ふみのり
+でざわ,ただよし
+おた,きよし
+さとう,あきら
+せきぐち,みつのり
+こくぶん,よしき
+ほしな,ゆきふみ
+うらの,こういち
+たけむら,やすひろ
+とくなが,ひとし
+くりはら,ひでと
+おくむら,じゅんいち
+さいとう,しんいちろう
+まつした,けいぞう
+たけだ,みちこ
+にしき,もとよし
+うめだ,さかえ
+ほんだ,いくお
+かも,かずうみ
+うしだ,つよし
+さいとう,ひろつぐ
+はすだ,ますお
+みかわ,ようこ
+うちだ,くにひこ
+にしざき,しょういち
+いがらし,しょうじ
+わたなべ,あさこ
+しまむら,こうじ
+かとう,のりこ
+かわべ,しょうこ
+さかもと,ようじ
+もりした,もとよし
+すがはら,りょう
+とみやま,かつひこ
+ふくだ,つよし
+おとざき,あつひこ
+ふじもり,たかお
+こもり,きよゆき
+ふくなが,まさあき
+みやはら,かつのり
+じんの,みつお
+きむら,えいこ
+いながき,ゆきこ
+もり,のりお
+わたなべ,かつのり
+つじもと,あきお
+もんぜん,ひろゆき
+なむら,
+やまもと,えりこ
+はしもと,ひろき
+あらい,やすのり
+ふじい,ひろし
+わたなべ,てつ
+はせがわ,とよかず
+しげやす,えいいち
+やまのい,たくま
+こばやし,まさる
+ながい,よしあき
+さわ,のぶお
+まつよし,みちお
+さいとう,かおる
+かのう,ひろあき
+うしごめ,やすお
+いしい,こうじ
+うすき,いずる
+すどう,よしお
+かじやま,たかきみ
+おおば,ひでき
+すわ,ふみお
+いわた,やすと
+とう,はじめ
+おいかわ,ひとし
+ひらい,えいこ
+たかしま,としお
+ふみの,ひろし
+おかざき,のりお
+しらき,まさつね
+たけもと,ゆうじ
+まつもと,のりひこ
+まつばら,ひろし
+えびはら,こうじ
+ふじの,やすお
+ふかや,まさひろ
+ほしの,たかし
+かたやま,さちこ
+あらかわ,まさゆき
+たかの,かずお
+くろだ,やすひろ
+いとう,じゅんこ
+こざい,みつる
+うえやま,きよし
+はっとり,としき
+にしむら,としたか
+ふるかわ,たかお
+やしき,しげき
+ほどやま,ひでお
+えとう,ともひこ
+やまもと,まさとし
+せきぐち,いさむ
+たなべ,ひでとし
+たけだ,としゆき
+しんたに,かたし
+くぼた,きよし
+すぎおか,さとみ
+やまざき,さだのり
+さいとう,ひでき
+うえの,としたけ
+しまもと,こすけ
+きたの,まさみ
+いいずか,りょうこ
+いずみ,きょうじ
+はらだ,たかゆき
+おちあい,さとし
+やまうち,あきひろ
+えぐち,ひでつね
+はぎわら,たけし
+たかぎ,たけのり
+おくもと,まなぶ
+まつざき,りょういち
+いちむら,ゆりこ
+みやさか,ともこ
+みやた,せいいち
+ながお,しょうきち
+いわお,まさし
+ふかざわ,しげる
+たむら,まさお
+きりゅう,ただお
+まつざき,よしお
+かとう,てるみつ
+みた,なおと
+いしい,いさむ
+おかもと,てつお
+うえおか,のぶお
+きょうの,まさと
+かねこ,ゆうぞう
+さくらい,きょうこ
+わかばやし,としひで
+わたなべ,よしひろ
+あさい,にすけ
+かどの,ゆうじ
+やまざき,とよひろ
+あわの,としゆき
+おがわ,たかのり
+ぜんけ,としお
+ふくもと,ともひこ
+おど,かずのり
+もりもと,たかお
+とうぼう,かずみ
+かたやま,まさし
+ながまつ,たかあき
+わたべ,よしみ
+いしき,ゆう
+いながわ,ゆうこ
+なかの,たかはる
+にしやま,やすよし
+しもだ,みよこ
+しげた,たかお
+まつもと,ひろしげ
+かたやま,ゆう
+その,かつみ
+いせき,ゆきお
+いとう,よしかず
+せきね,まさお
+むらやま,ふじお
+まるやま,けいじ
+くろさわ,よしふみ
+すみ,とおる
+のぐち,ゆうじ
+さとうみ,ひでき
+おおかわ,つぐひと
+なかの,ひでのり
+おおいし,じ
+はぶ,あきら
+うちだ,のりまさ
+みき,ふみのぶ
+すずき,つねゆき
+かさはら,いずみ
+おおくぼ,かずはる
+かたかみ,のりかず
+たかはし,としひこ
+いしかわ,かずや
+たかとり,たかお
+たにぐち,しんじ
+せき,ゆきまさ
+くぼた,まさと
+あべかわ,むつお
+ふじまき,たけし
+かたやま,まさゆき
+こやま,けんじ
+はしもと,あけみ
+すみ,みちお
+にしかわ,ひろし
+さわま,あやこ
+はしもと,ゆうこ
+なかた,やすまさ
+うちやま,ひろし
+ささき,まり
+あさはら,みつひろ
+にった,ふみこ
+だん,るりこ
+すぎた,てつし
+やまもと,しんいち
+おふち,みき
+こばやし,みわこ
+みよし,こうきち
+いしだ,ひでひこ
+おにき,のぼる
+くりはら,たみお
+しらい,つかさ
+さかにし,けんいち
+おだ,ひさし
+かます,けんぞう
+なかがわ,まさよし
+かしもと,きょういち
+ばんどう,ゆずる
+ふたみ,まさし
+やました,たかし
+はやし,ゆうじ
+かげやま,みのる
+あすま,のぶお
+しもむら,ゆういち
+やまぐち,ただし
+やまと,ひろし
+さとう,しげる
+まつだいら,かずや
+まつむら,としみち
+こんの,よしや
+おおはし,やさぶろう
+きくた,しげき
+よしおか,ひろし
+さの,よしお
+たなか,ゆきのり
+ささき,すすむ
+かわぐち,あつし
+やました,たつお
+たけむら,ふみお
+ふくち,かずえ
+まなか,とみえ
+あらき,たかのぶ
+ひらの,よしかず
+なかむら,つとむ
+はしもと,としかつ
+かとう,いくこ
+はまかわ,くにお
+はやし,けいこ
+いとう,けんいち
+すずき,いちろう
+たけうち,かずひこ
+にし,こういち
+いわほり,としまさ
+いまい,くみこ
+もりの,たかし
+にしはら,けい
+きりや,ひさと
+さとう,とよこ
+ほそだ,ひさこ
+たかはし,ただし
+なかじま,しげる
+やすはら,なるゆき
+くろいわ,たかし
+かも,ひろし
+あかまつ,くにあき
+きたむら,まゆみ
+にしだ,ゆきこ
+おかだ,しんいち
+ささき,としゆき
+たかはし,ひろし
+しみず,いさむ
+えんど,しんすけ
+うだがわ,てるお
+しみず,のりふみ
+あおやぎ,せいぞう
+はしもと,かずお
+たけうち,ひであつ
+あらい,やすし
+いしじま,いさお
+こがね,ひでお
+さわしま,しんいち
+たかやなぎ,みのる
+まさだ,ひろみち
+しみず,あきひで
+おのでら,たかお
+たなか,みつる
+のむら,のぶお
+よしだ,ひろし
+よしだ,としすけ
+さたけ,しんじ
+さいとう,まもる
+みやぎ,ひろし
+たかしま,けいじ
+かばや,ひろふみ
+いしざき,しんいち
+かがや,よういち
+こたに,たくもり
+こすだ,やすあき
+いじり,ゆたか
+まるやま,たみや
+かない,よしお
+やぎ,みつぐ
+ふじの,さとし
+こでら,まさと
+すぎお,まさゆき
+すがはら,こういち
+さいとう,みつやす
+おか,はるやす
+いしまる,おさむ
+みやざき,こうぞう
+はまの,みちお
+こたじま,よしのり
+たかしま,あけふみ
+つかだ,せいいち
+なかむら,かつふみ
+たけだ,まさのり
+やすむろ,はるひこ
+なかむら,ひろし
+ふじしま,しげまさ
+おかだ,たけし
+あや,みつまる
+なかむら,みつまる
+たかはし,たけひろ
+すがはら,しげただ
+ゆあさ,けんじ
+いしい,むねよし
+おおくぼ,ひろとし
+おさわ,まさたけ
+やまもと,みきお
+いまいずみ,かずひこ
+おかだ,よしひろ
+なかむら,くにお
+たなか,きよし
+なかの,たくお
+おおもり,かずひこ
+やまもと,かずお
+ながい,ゆきまさ
+こばやし,よしはる
+ひきち,ひさし
+やまだ,としお
+つかもと,つとむ
+いのうえ,まさと
+いのうえ,あきら
+すみかわ,かおる
+ふくだ,じゅんいち
+やまもと,せつこ
+さいとう,ゆうこ
+かんば,よしみつ
+さらい,まさあき
+さかき,しょうじ
+やすい,たかし
+かみむら,たかし
+せべ,よしたか
+よしだ,としかず
+ながせ,ただし
+ふくち,いずみ
+ふくだ,じ
+のなか,のぶひこ
+いまだ,まさひろ
+にしかわ,ますこ
+こやの,ひでお
+なかざわ,あきお
+おがわ,たかし
+なかやま,はるひさ
+ぬのかわ,けいこ
+そね,ふみお
+みぞぐち,ゆきお
+こばやし,いわお
+よしまつ,まさお
+おおはら,まさおみ
+やまだ,しんじ
+みのぐち,よしのり
+しんめん,たかふみ
+のせ,まさお
+いわはし,りょういち
+あかい,たけし
+つたもと,まさはる
+なかもと,みのる
+くだなみ,まさゆき
+いちだ,たかし
+やの,えいじ
+まつき,きみお
+ささき,よししげ
+ふるの,かおる
+ふじた,あきら
+いのうえ,みどり
+たや,みつやす
+みやざわ,たろう
+わたなべ,ようこ
+あくね,としろう
+ほしの,しんいち
+よしだ,かずお
+うえむら,のぼる
+かみや,けんじ
+すずき,たけし
+あんどう,たかはる
+とよいずみ,としお
+くわな,のりこ
+にいみ,かつし
+みうら,おさむ
+のむら,あきら
+おかだ,じゅん
+あさぬま,かずひろ
+ささお,ひでゆき
+いながき,まさと
+すがわら,さとし
+しょうじ,たけさだ
+たがわ,みのる
+そが,のぶとも
+しょうわ,きよみ
+まつかわ,ひろゆき
+しもむら,ゆうじ
+わたなべ,なおゆき
+こばやし,しんじ
+いいだ,こういち
+ふくもと,けんいち
+むらやま,ひろき
+ほり,まさあき
+やまの,ひでお
+にしわき,ようじ
+まつお,まさな
+おかもと,まこと
+おおさき,けんいち
+うめもと,なおふみ
+おかむら,あたる
+こいけ,こうせい
+おおたに,まさあき
+かたおか,まさき
+おかだ,しちろう
+ふくしま,よしお
+えだなか,やすのり
+すずき,しげる
+いちかわ,せいいち
+くろかわ,きよし
+さとう,きよひさ
+おおさわ,かずひこ
+もちずき,すえひろ
+やました,けいいちろう
+いちかわ,たかし
+ふかざわ,かずほ
+くぼた,のぶお
+にしむら,こうじ
+ねぎし,ひさゆき
+こんど,けんじ
+ふるや,みつぎ
+こばやし,たつお
+たむら,ひろひこ
+みつはし,だいはちろう
+くまざわ,かつみ
+やまだ,よしお
+ひろつ,かずみつ
+かねだ,ゆたか
+あそ,ゆきお
+えびはら,きいち
+やすい,くにお
+すどう,ひろこ
+やはた,まさのり
+さかい,ともひろ
+さが,よしお
+やまざき,えみこ
+なかむら,ようこ
+いざわ,ひろちか
+あらい,けんいち
+うぶかた,さだみ
+わたぬき,ただゆき
+ひした,のぼる
+かとう,ゆうこ
+やまね,よしと
+やました,ひろし
+のむら,よしろう
+やない,まさゆき
+むらかみ,まさみち
+あおき,あきら
+やしろ,すすむ
+あさま,まさひろ
+おくだ,ふみお
+いしばし,ゆうじ
+みなみで,ひであき
+いぬずか,こうへい
+ときわ,よしはる
+みうら,やすのぶ
+まぶち,としはる
+おばら,ひろゆき
+まつき,ひろし
+えぐち,けんいち
+おおみ,たけし
+わたなべ,たけし
+あらかわ,しんじ
+すがの,あきら
+やすい,こうへい
+みやもと,ひろやす
+ふじぎわ,こういち
+きたがわ,みきお
+たにぐち,みつる
+こじま,よしあき
+あまかわ,ゆたか
+おおぬき,ゆたか
+たなべ,こうじ
+まるはし,いさお
+やどや,じゅんいち
+おおがく,よしひろ
+さかた,こうへい
+はら,ひでみ
+たかぎ,ひでお
+あいはら,あきら
+おおた,とおる
+あきやま,よしひろ
+しみず,たかお
+こばやし,おさふみ
+はたもと,けんじ
+うすだ,たかのぶ
+たかはし,かずお
+なかがわ,てつお
+まつばら,はるお
+くぬぎ,ゆたか
+おがわ,よしお
+つじ,かずたか
+かわい,けいいちろう
+すがわら,しゅういち
+むとう,かずお
+おばら,やすとし
+かとう,たかゆき
+かぶらき,ゆきお
+わかたべ,つとむ
+おがわ,こうしろう
+いわさき,ひろゆき
+なりた,おさむ
+あきやま,たかし
+みつい,けいいち
+えんど,ゆたか
+よねた,あきお
+あおい,きよし
+おかもと,よしひさ
+おおつか,しんいち
+ふくもり,さかえ
+てしま,かずまさ
+はま,ひでき
+よしだ,はじめ
+かわべ,よしはる
+たなか,やすのり
+たかはし,きょういち
+たなべ,ふみあき
+あそ,ひろいち
+たかだ,ひろし
+みやの,としお
+うえずみ,ひとし
+いちかわ,やすあき
+あさわ,ともふみ
+いなもと,かずお
+もりや,ひとし
+なかたに,けん
+みやもと,いちぞう
+みくに,えいいち
+きたむら,ただまさ
+やたべ,まさひで
+ながかわ,りょういち
+やな,かずお
+さくま,みつる
+あらい,としお
+しまだ,なおこ
+てずか,しゅんいち
+うえの,しゅんいち
+さいとう,ひろゆき
+おおくわだ,まなぶ
+よこやま,よしおみ
+わたなべ,よういち
+にしむら,あきのり
+たかまつ,こういち
+にしむら,たつま
+いちき,ひろし
+いわした,のぶつな
+おの,としお
+にしき,たつお
+さわ,かずお
+たかみ,おさむ
+やすふく,けんじ
+おおた,ひろし
+おかもと,ひろまさ
+さかい,やすお
+ふじもと,ときお
+まつもと,しげのり
+おおやぶ,かずや
+にしむら,しゅういち
+ほりうち,けいいち
+いしもと,しゅういち
+まつもと,なりお
+たけうち,しんいちろう
+もとやま,こうしろう
+よしなが,こうじ
+ふるかわ,みちお
+たにぐち,よしお
+たけこし,まさとし
+つむら,こうせい
+おの,しげお
+おかもと,さとし
+ふるた,まさひろ
+にしの,そういちろう
+みずたに,ひろゆき
+こやま,ひさし
+きくち,けんいち
+おおこうち,まさあき
+かわた,たかし
+くはら,よしゆき
+ふるはし,こうぞう
+たかよし,ふみとよ
+かす,のぶゆき
+あみもと,すすむ
+むねとう,としお
+まつもと,すすむ
+たかなし,まさあき
+あきた,としお
+たかはし,やすみち
+ながい,たかし
+よしだ,つかさ
+まつもと,やすあき
+とくだ,みちお
+ひらい,のぞむ
+おくしま,たかし
+ました,しげお
+やまだ,きみひろ
+さくらい,ともお
+たきざわ,さとし
+ますこ,ゆうじ
+しんかわ,ひろえ
+おおたに,ただひろ
+かわの,よしみつ
+あらかわ,てつお
+あだち,たかゆき
+うちだ,けんじ
+こはら,としひこ
+おおはし,かずひこ
+かめおか,よしお
+みむら,とみお
+いき,よぞ
+あしずか,ひろし
+やまもと,ひろのり
+よしだ,おさむ
+はらおか,かつやす
+うるわし,ひろし
+おんだ,けんじ
+いんど,まさお
+たけなか,まさとし
+ふじさわ,まもる
+おおもり,まさゆき
+なかむら,ひろし
+しょうじ,よしのり
+きたじま,よしあき
+いとう,あきら
+ひらお,かずたか
+すみもと,のぶや
+なかたに,ひろし
+あらしま,ゆきお
+かたやま,ゆきのぶ
+うえだ,まさひろ
+ふじもと,ひろふみ
+やまはた,りゅうじ
+おおたに,つとむ
+いいぬま,よしひろ
+ながさわ,よしろう
+やすだ,しゅうじ
+ふくしま,りょういち
+さかきばら,あやこ
+かとう,たかし
+よこざわ,ふみたか
+かどの,かずみ
+やまおか,きよし
+かみたに,ひろき
+かとう,えつろう
+のもと,としかず
+すぎもと,せいいち
+ふじの,こうじ
+いのうえ,しょうじ
+はせ,まさかつ
+もり,えらぶ
+かわばた,ひでお
+かわぞえ,しょういち
+はしもと,だいしん
+ひろまさ,やすひろ
+きしもと,くにお
+ひらつか,みのる
+うえだ,よしゆき
+あらい,としひこ
+いいだ,まさゆき
+ひろしま,しょうぞう
+いさか,かつひろ
+すずき,よしお
+くらもち,たかお
+さいとう,まさお
+すずき,みつぐ
+ふかや,てつじ
+さかい,としろう
+おおわだ,としお
+かめや,かつみ
+くさうら,としお
+わだ,かずお
+ごとう,きょういち
+ひらふく,あきら
+もろや,ひでとし
+いけだ,さだゆき
+ますだ,まさはる
+みずの,としたか
+はやし,きよとし
+あおき,としひこ
+こばり,まさゆき
+みさわ,さぶろう
+たかぎ,てつお
+えんど,けんいち
+すがさわ,せいじ
+おりはら,とよみ
+まつなが,たかふみ
+かさい,きよあき
+せむら,たかし
+さくらい,たかあき
+てらかど,よしゆき
+ふじた,やすあき
+かわのべ,かいち
+あおば,まさる
+むらもと,ゆきよし
+つぼうち,たかし
+ふるしょう,ふじお
+しばやま,ふみお
+やまもと,たかひろ
+うちだ,ひろふみ
+まえざわ,とみお
+こむら,あきのぶ
+やまさき,よしじ
+うしき,かずみ
+まちやま,しょうじ
+ふじぬき,すすむ
+なかむら,まつみ
+くすもと,てるお
+すずき,よしお
+うえやま,としゆき
+こいけ,ひろし
+はせがわ,みつあき
+ふるかわ,やすひろ
+やまだ,あきお
+ゆはらぎ,みつよし
+おしま,のりゆき
+そね,まさひろ
+とうま,さちひろ
+たかはし,しずお
+かけはた,まさお
+いしい,しげる
+さとう,のりゆき
+むらやま,けんじ
+ほりぐち,まこと
+なかざと,ひろし
+さとう,まこと
+かねこ,りゅうぞう
+かしま,としのぶ
+とぐち,ひろむ
+こみやま,きみあきら
+やまおか,よしのぶ
+たかはし,けいいち
+もりた,けいいち
+よこい,よしのぶ
+ひらい,けいいち
+しいばし,まさたけ
+かねこ,まさふみ
+なかね,のぶはる
+せきぐち,てつお
+みもり,たかひこ
+きくち,まさたか
+やまもと,かつじ
+あらかわ,たかお
+ともくに,まさき
+とみた,のりかず
+たかはし,しゅうへい
+とがし,のぶお
+かわむら,としひろ
+ふくなが,けいじ
+まきた,とくみ
+さの,みのる
+さとむら,けいじ
+さかの,じゅんや
+つちはし,しげあき
+うえの,けんぞう
+なかがわ,ひであき
+とくなが,けんじ
+いとう,かずお
+ひさまつ,とよとし
+おおつか,かめお
+かわもと,しげき
+のむら,よしいち
+かのう,ゆたか
+うえさか,ゆうじ
+ふじわら,ひらお
+おがわ,まさと
+くらた,ともふみ
+はなそと,とよふみ
+にしかわ,たかよし
+えびす,ひでお
+やすのり,よしはる
+さかい,たけし
+まえだ,よしあき
+ふくだ,しげたか
+やまもと,まさずみ
+しおた,やすまさ
+むらかみ,ともよ
+いくみ,たかし
+なかぎ,ゆみ
+とくまつ,たかお
+たにい,としゆき
+おおやま,けんじ
+たの,たかちほ
+おおた,ひろのぶ
+くまの,あきお
+さわぐち,まさくに
+あさの,かずお
+さかぐち,のりゆき
+わたなべ,つとむ
+かとう,かずお
+まえかわ,たかし
+まつもと,かずお
+まつもと,としお
+やまなか,えいじ
+こばやし,こうじ
+ふじた,たつお
+やぎ,まさみ
+いわい,まさたか
+ふくしま,ひでみ
+ふるかわ,こういち
+おがた,まさのり
+すずき,ただひこ
+しかま,たかし
+きしもと,しゅんいち
+ころぎ,かつみ
+ふたみ,きよし
+やしろ,としお
+はりいけ,よしはる
+しむら,ありまさ
+ながくら,いちろう
+みなみ,こうじ
+とくなが,きよし
+たなか,ふくむ
+てらさき,しろう
+かとう,とおる
+みずの,よしあき
+たもと,ひとし
+うちだ,ひろかず
+たけいち,よしゆき
+ひびの,ひろし
+こばやし,りょうへい
+わたなべ,ひろただ
+ふかだ,まさひろ
+いしたに,かずひさ
+いで,よしゆき
+にいさと,まさゆき
+すなはら,しょうじ
+しみず,まさお
+かとう,のりゆき
+ないとう,じゅんじ
+こいけ,とうすけ
+きたむら,とよひこ
+かがわ,としゆき
+いけだ,たかし
+かのう,たかし
+おかもと,そうじ
+こばやし,さだひろ
+いしい,まさひろ
+さえき,ますゆき
+さわだ,たかし
+ごとう,のぶゆき
+おの,まさひろ
+ふなおか,まさあき
+しんや,まさかず
+ほんざわ,ひかる
+やまうち,しげじ
+いしの,つとむ
+いおく,ひでとし
+あらき,ようこ
+ふじわき,みのる
+いちむら,まさき
+はやし,よしさだ
+もり,たくじ
+きむら,しげる
+ゆきふき,まさひさ
+はぎもと,いわお
+はしもと,ひでお
+きたやま,よしてる
+ふじもり,けんじ
+おくの,おさむ
+やまだ,みつお
+たご,たかし
+あさい,よしひろ
+もりの,ひろし
+みない,けいこ
+もりさわ,とよこ
+なりさわ,ふみこ
+もりもと,まさる
+こばやし,よしのり
+しまだ,ひでき
+すずき,みさこ
+ふくだ,けい
+あらい,あきのぶ
+たにやま,しゅういち
+おかもと,まつお
+だいもん,みのる
+はやし,よしなお
+いしだ,ふくお
+ひろさわ,よしみち
+よしおか,まさずみ
+まつもと,しんいち
+なかじま,さかえ
+きた,さなえ
+にしむら,しげかず
+はっとり,ひでお
+やまもと,かずお
+いとう,あきら
+きたむら,ますみ
+たなか,とみお
+いおき,とみやす
+かまた,こうじ
+しみず,ひろし
+ますおか,ひでお
+さわだ,しょうこ
+なかいし,たけゆき
+わたなべ,まさひろ
+よしざわ,あきお
+ささおか,のりあき
+やまぐち,としお
+いまふく,ただし
+かみや,とみえ
+わさ,ひでお
+きくち,あきひこ
+うかい,みきお
+いわま,せいいち
+つじ,ぶんじ
+たけだ,さだつぐ
+せとがわ,しげとし
+こしむら,まさし
+わたなべ,じゅんいち
+うさみ,みつのぶ
+おかだ,としひこ
+ふじわら,しょうじ
+かとう,やすゆき
+いしはら,まさる
+ひなた,きょうへい
+うえすぎ,しげひろ
+しばた,のぶかず
+おくだ,まさる
+すなやま,よしお
+いまい,あきひこ
+なかむら,のぶお
+なかもり,こうじ
+ふかさわ,むねひさ
+みずた,しんいち
+おの,かずし
+さいとう,ひろし
+しゅどう,みのる
+ふくい,たつひこ
+のだ,かなえ
+おおの,はるき
+こがみ,よしまさ
+みき,まさゆき
+いけだ,ふみお
+ふじもり,としひこ
+たかだ,かずお
+いけだ,のぶぞう
+いとう,のぶたか
+わたなべ,かずひろ
+さわだ,まさふみ
+まえじま,まこと
+いなむら,すすむ
+なかむら,ひろし
+なかじま,しのぶ
+いわま,よしゆき
+わかつき,ひでき
+はせがわ,よしろう
+いのうえ,たかし
+かさはら,こうじ
+にしやま,まさひろ
+すどう,じゅんいち
+おかべ,としひろ
+ふくば,けんじ
+まつなが,やすお
+さかい,ひろひこ
+ふじた,ゆきお
+なかやま,たかやす
+よねだ,けんぞう
+くまた,こういち
+こやま,ひろゆき
+よねやま,たけし
+ふじかわ,けんじ
+はりがや,ひろあき
+はせがわ,かずひと
+よしだ,ただし
+くすのき,よしふみ
+たかはし,さちこ
+ながた,しんじ
+そのくら,ひろし
+ますもと,よしお
+おぎはら,ひろし
+よしだ,まなぶ
+たなか,まさひこ
+えだ,せいいち
+なか,たもつ
+いいずか,のぼる
+てらにし,まさのぶ
+ふくい,せいじ
+でむら,かずひこ
+さえき,しげはる
+うちだ,ひでのり
+しいな,のぶお
+ふるや,よしはる
+ながくぼ,おさむ
+てらうち,ひであき
+おおたか,まさあき
+ふじよし,とおる
+さいとう,まさお
+くろさわ,ふさえ
+いしかわ,けんそう
+よしの,たかし
+こみや,かずよし
+やまがた,としお
+つや,かおる
+にしの,のりゆき
+うちだ,ひさお
+わたなべ,かずみち
+もりた,のぼる
+こしだ,こうぞう
+ひろせ,りょうへい
+よしむら,かつとし
+みうら,よしかず
+こいずみ,ひでのぶ
+てらお,みつひろ
+せがわ,みちお
+かいずか,あきら
+ふくます,すずよ
+いとうず,じ
+せきがみ,ひろし
+ふじ,いずみ
+よしむら,きよじ
+ふるもと,よしゆき
+たきた,まなぶ
+おかだ,ひろひさ
+たかはし,あきら
+たにふじ,まさあき
+いまおか,かずひろ
+わたなべ,けんじ
+やまもと,かおる
+よだ,やすお
+ふかやま,ひろし
+やまぐち,ひさお
+さの,きみ
+たかはし,ゆり
+まつもと,きよし
+やの,ひさし
+あきば,かずよし
+みどりかわ,ひろみつ
+たかし,みよこ
+ふるかわ,みのる
+ひきた,えいじ
+おざき,よしあき
+あおき,しげおみ
+さえぐさ,まさひろ
+ふじもと,ひろし
+こにし,ゆうじ
+おおにし,しゅんすけ
+ひぐち,ふじき
+くぼた,じゅんいち
+やまぐち,しろう
+ふるかわ,まさと
+なりた,いちろう
+たなか,ふさいち
+はたけやま,てつお
+みやもと,みさお
+のざき,やすはる
+はせがわ,ちょうしろう
+しらかわ,よしひこ
+あいだ,こうへい
+ひろかわ,ひろし
+りゅうかわ,つよむ
+やまぐち,ますみ
+くりさき,ひでお
+もりもと,よしみち
+くぼた,まさあき
+くまさこ,もりしげ
+あだち,けんた
+こんの,ひろあき
+やまもと,えつこ
+いわい,りょうた
+おおはら,ひでお
+いしはら,とものり
+あおき,たけし
+もり,よりこ
+ろっぽんぎ,まさあき
+かとう,こういち
+さとう,やすお
+まえぞの,えいじろう
+ふじもと,ひでのぶ
+たにむら,ひろし
+なかにし,ゆたか
+たかはし,しんじ
+なかい,かずみ
+たかはし,たけふみ
+しも,ゆういちろ
+しばた,いさむ
+ふるみち,よしお
+たけだ,あきら
+ふじた,ひろし
+かぎやま,てつや
+わち,まさのり
+ふじた,ひとし
+こんど,しげのり
+まつもと,たかし
+ふくい,ひでゆき
+すがわら,こうじょう
+ふかやま,あきら
+いまい,まさたか
+さとう,くにひこ
+かなざわ,かずお
+ふちざき,おさむ
+つかだ,しょういち
+いしざき,たかゆき
+とくら,みきお
+とのさき,もとよし
+たかき,ひでお
+ふじた,ひろゆき
+ながせ,れいこ
+たなか,ひろゆき
+たつみ,よしあき
+やまもと,ゆういち
+ふくた,たかなお
+くわはら,よしゆき
+ふじた,えいぞう
+いなくま,としこ
+みさお,こうぞう
+なかした,まこと
+おくやま,ゆうじ
+ながえ,かずひろ
+ながい,しょうご
+やまざき,まさる
+しらいし,しょういち
+うえだ,しげる
+おじま,ひろあき
+ひろせ,まさのぶ
+ひらの,まさる
+ふるた,たかお
+こぬま,かおる
+たかやま,ともはる
+あさした,まさふみ
+よつはし,ひろし
+つちや,たかみ
+おおにし,いさお
+やまぐち,しょうじ
+しずの,いさむ
+はしべ,りょういち
+ほりい,みよし
+ながおか,のりこ
+くりた,しょうへい
+きば,さなえ
+いだ,まちこ
+ふくとみ,かずみ
+こばやし,のぼる
+いり,けんいち
+さた,ますぐ
+まるやま,ひろふみ
+あおやま,しげる
+しんどう,やすお
+あいかわ,きょうじ
+さかのうえ,けんいち
+ふじまき,ただあき
+かわはら,まこと
+むらた,ひでゆき
+よしだ,ゆういち
+いたくら,てつや
+じぞばら,よう
+たなか,としお
+かじわら,しゅういち
+たなか,おさむ
+はすいけ,しゅうじ
+とうま,ゆみこ
+かわきた,あきら
+まつもと,やすひこ
+はせがわ,みつお
+ふじい,とおる
+のむら,みちたか
+ようこた,ひでお
+かなざわ,こうぞう
+ますやま,しんいち
+かのう,ひろし
+ふなやま,えつお
+やました,きちひこ
+さとう,まさかず
+かめもと,よしふみ
+いとう,きよし
+おくむら,しげお
+ふじい,てるお
+きはら,たかし
+のむら,りさく
+あくたがわ,つとむ
+いしだ,くにお
+うめはら,しげる
+おおぎ,なおゆき
+こんど,はるお
+たけだ,けいこ
+まつい,ふみえい
+かみおか,まさる
+かもした,ひろみ
+やなぎさわ,たけひろ
+たけうち,まもる
+もんま,みのる
+いいだ,かなえ
+はせがわ,としじ
+ながほり,ひろし
+もりおか,ただのり
+にしやま,あきお
+やまもと,やすお
+いしだ,としお
+ふるど,まさお
+かんだ,まさあき
+いしだ,しげる
+さいとう,たかひろ
+きむら,ひとし
+いわみ,やすのぶ
+もり,しゅういち
+たかやま,しょうぞう
+はやしぐち,あきひこ
+さいとう,やすお
+しばたき,くにあき
+おぎはら,よしはる
+かとう,いさみ
+ふくと,なおや
+おだ,ひであき
+さとう,まさひろ
+なかむら,ゆたか
+はまだ,たかひろ
+おがさわら,てつや
+むらき,かずひこ
+おおはし,あきひと
+たかの,たかし
+なかざわ,かずとし
+みやじ,あきひろ
+すえなが,やすお
+たたき,あきら
+よしだ,いわお
+あおき,ひでし
+すぎむら,かおる
+いとう,まさとし
+たかはし,しんいち
+すずき,いさむ
+かたやま,としひこ
+さいとう,まさし
+たじま,ひろし
+あべ,よういちろう
+なかじま,しげき
+やまぐち,まこと
+わきざか,まさひこ
+さこ,さだと
+おおつか,ともひろ
+つかもと,すすむ
+いのうえ,ふみお
+ながお,とおる
+うらば,まさお
+こじま,やすひろ
+たけだ,ゆうじ
+あおの,じんいち
+いずかわ,のぶお
+くどう,かずあき
+なかむら,としゆき
+まつお,まさふみ
+いながき,しんいち
+にしもと,しょういち
+いのうえ,ひとし
+おのでら,てつや
+いしざか,としひこ
+はぎわら,けんぞう
+ふるた,まさる
+うえじま,とみお
+ぬまた,しゅういち
+えんど,まさひろ
+かがやま,しんや
+ゆりもと,ひとし
+ふち,ただお
+ふじおき,ひろのぶ
+さいとう,まさとし
+まつもと,みつあき
+ひろせ,よしかつ
+ばば,じゅんいちろ
+こばやし,ひろゆき
+すずき,まさみ
+なかやま,かずお
+きし,ひろし
+あさの,まさかず
+えんど,あきお
+いしばし,だいご
+かいだ,みつお
+いけじま,ひであき
+はらだ,としお
+はまの,このむ
+かわい,みちる
+わだ,としまさ
+さとう,ひろし
+たなか,せいじ
+あくつ,よしのり
+いとう,きよみ
+あんどう,いわじ
+あいざわ,ふとし
+くぼた,きよし
+ふかうみ,さとし
+しみず,ひとし
+たかはし,さとし
+なみき,てつろう
+のざわ,やすし
+こいたばし,きよひろ
+たていし,ひろみ
+かわかみ,かずお
+こばやし,かずのり
+おのずか,ひでお
+たぐち,みつぐ
+たかはし,まさあき
+さとう,やすひろ
+くわはら,しろう
+せと,さとし
+ごけ,ひでき
+よしむら,きよし
+たかやま,のぶゆき
+ささき,ゆきお
+かのう,しげき
+たかはし,しげはる
+ながおか,ともゆき
+すずき,ひでき
+やまぐち,あきら
+もり,さとる
+すずき,いつお
+うえむら,まさとし
+やぶはら,みつよし
+しらいし,かずき
+きくた,まさのぶ
+なかい,みつのり
+くらもと,ゆたか
+すみよし,ひでお
+たかぎ,ひろひさ
+しょうじ,のりお
+おさだ,まさゆき
+あさの,さとし
+いわさ,きよし
+ばば,ゆたか
+ひろた,さとる
+ふじもと,みさこ
+さの,まさる
+もとき,やすゆき
+いとう,まさのり
+うけがわ,ふみお
+うめばやし,いさお
+いなとみ,かずよし
+たかやなぎ,まさあき
+はら,いさお
+なかはら,ぶんろう
+さいたけ,せいじ
+かしやま,ひろし
+さかい,ともゆき
+いとう,のりかつ
+なかむら,よしのぶ
+おおのぎ,たけし
+いかみ,ゆたか
+たかはし,しんいち
+しいな,とみお
+たまのい,しょういち
+くぼ,ひであき
+きむら,たかし
+ほった,ひとし
+ほかり,たかゆき
+さとう,あきお
+ほしの,しゅういち
+かぶらぎ,としひろ
+おさだ,としふみ
+すえひろ,たかお
+むらかわ,よしみ
+いわさき,けんじ
+やまむら,しんじ
+もりた,たつお
+いけだ,よしのり
+やうち,ひろし
+やました,かずひで
+わたなべ,ひろし
+あなん,えつじ
+にしの,たつろう
+こしみず,やすお
+たかはし,かずお
+えがわ,としお
+やまざき,たつひろ
+いまぜき,よしふゆ
+すずき,ひでき
+にしはら,ゆういち
+おかべ,いさむ
+さかい,まさひろ
+ただ,としお
+すえよし,みきお
+はやし,いたる
+たかはし,けんじ
+こあし,はじめ
+もりかわ,えいし
+かとう,やすくに
+まえば,まさひろ
+やの,たつお
+いとう,よしはる
+なかい,ひろし
+おだぎり,かずお
+えんど,てつお
+たけい,やすゆき
+なかたに,みちのり
+いわさき,ともひろ
+からかさ,あきひろ
+あさの,けんいち
+いわぶち,まさる
+はんだ,とおる
+てらお,よしゆき
+たけい,よしもと
+はしもと,よしみ
+みやさか,つとむ
+てらだ,いちろう
+さかた,やすゆき
+ながや,かつみ
+はしもと,けんじ
+おおくら,つとむ
+なかさき,みつぐ
+きりはら,としゆき
+あらい,しゅんじ
+いわの,ひろゆき
+はっとり,ひろのり
+すずき,とおる
+にしはら,ひろし
+ささき,しずお
+はなふさ,つとむ
+のどの,たつゆき
+かわばた,くにお
+しみず,よしなお
+ながしま,つぐひこ
+もり,かずお
+しみず,しげあき
+ひさやす,けいぞう
+かたうら,しげゆき
+たけむら,あきみつ
+いまにし,まさと
+おかだ,あきひこ
+なかえ,おさむ
+しろの,じゅんいち
+よこやま,のぶお
+おかざわ,まさひこ
+かみ,のりとし
+くまべ,まさお
+しみず,たつろう
+やなぎさわ,しょういち
+まきの,ゆうじ
+さわ,わたる
+うしろだ,くにお
+まちだ,つかさ
+こばやし,たかお
+しげむら,としはる
+ひぐち,たかし
+いいぬま,まさゆき
+いずみ,みのる
+はやし,ひろとし
+やぎ,ちはる
+おおかわら,きよたけ
+ふくおじ,おさむ
+うがじん,まさみ
+たなべ,しん
+ごしま,まさひで
+あんどう,ひろし
+おだま,ゆきお
+おかざき,いわお
+いしかわ,ふみゆき
+むらやま,まさこ
+はやさか,けいじ
+なかじま,たく
+たけもと,よしみ
+きたじま,じゅんこ
+みかみ,なみ
+わらしな,じゅんや
+きむら,しん
+おざわ,よしかず
+やまむら,ひとし
+よしだ,しげき
+たちばな,たくろう
+まつもと,のりのすけ
+みしま,ひであき
+せき,ひろし
+たかはし,やすひさ
+おおいけ,まさし
+ふじもと,しゅうじ
+よしむら,のぶひこ
+こばやし,めいじ
+おおがみ,よしゆき
+かい,しょうたろう
+かえつ,まさはる
+もろい,たかひろ
+みずの,いくお
+おおつか,あきひこ
+おおた,かおる
+せきね,りゅうじ
+みやぐち,かずたか
+よねだ,なほこ
+ほりうち,まさこ
+えぐち,かつみ
+うしろまつ,かずみ
+いいだ,ゆきひろ
+よしだ,よしみ
+なかせ,あきお
+すずき,ゆうこ
+おいかわ,えいこ
+かわべ,さつこ
+たにざわ,たかお
+かねこ,はるよ
+ふじおか,けいこ
+むらおか,つよし
+うぬま,けいこ
+みやけ,ふきこ
+なかむら,ちあき
+おおわ,まさはる
+ねもと,いちろう
+にしむら,ともひさ
+たつみ,いわお
+さとう,あきお
+すのはら,としひこ
+あすま,きよかず
+たかば,のぶあき
+よしむら,さとし
+あべ,なおと
+きくち,けいじ
+なかむら,かずまさ
+はむら,つとむ
+すずき,のぶひと
+かわむら,としや
+ひびの,ひさえ
+きただ,まさひろ
+さとう,つねお
+かとう,かずお
+いとう,ゆうじ
+ふくとみ,まさる
+むろずみ,まさひろ
+やまなか,じゅんいち
+おかだ,けんいち
+とうごう,たけし
+なりた,たかし
+いけざき,たけし
+かわばた,しろう
+まつおか,のぶお
+なかだ,ひろし
+さとう,しんや
+たけざわ,よしひろ
+やながわ,ひろし
+やまさき,のりゆき
+しがき,のりあき
+ゆみ,たけし
+おざき,つとむ
+ながしま,たいすけ
+やぶうち,ひさお
+ほそや,ひさし
+にしざわ,そうじ
+はやみ,よしお
+はせがわ,なおみ
+かわさき,かつひこ
+とよいずみ,たかゆき
+おくむら,まさと
+やまだ,のぶひろ
+にわ,えいひこ
+にしざき,ひろし
+すぎもと,しげる
+おおさわ,ともなお
+とだ,としあき
+なかの,よしかつ
+みうら,ひさし
+やまざき,なおゆき
+さかもと,ひらく
+やまだ,みちこ
+いのうえ,かよこ
+やすい,まさよ
+まつだ,ゆみ
+かたおか,あけみ
+すずき,けいこ
+はやし,けいこ
+はままつ,やすこ
+はまの,えり
+みずたに,みよこ
+すみた,もとちか
+はやし,まきこ
+とくなが,ゆみこ
+かとう,のぶこ
+まつうら,みえこ
+ひゃくな,ひでこ
+あんざい,ようこ
+ふかまち,すみお
+みさき,たけし
+もちずき,とよひこ
+あおやぎ,あきら
+たかはし,ゆきひで
+きせ,あきら
+うえもり,しげる
+あずま,みえこ
+おだくら,ひろみち
+たなか,ひさお
+といたに,かつろう
+やまざき,けんいち
+はしもと,たかし
+まつみや,まさひこ
+ふしみ,ちかと
+きょうやま,てるお
+よしだ,けいこ
+うるしど,あつこ
+せお,みえこ
+みなかわ,つきこ
+ふじの,かずゆき
+ひろた,たかし
+おおた,よしみ
+おおが,まさのり
+ながはま,たつお
+じんの,やすき
+いちかわ,はじめ
+はやし,ただし
+はたや,としゆき
+ほりこし,のぶひこ
+かに,あきお
+ほんだ,もとひさ
+つちや,とみお
+たまて,みつる
+ゆかわ,えいじ
+さかい,ゆうじ
+みやじ,ゆういち
+たむら,ひとし
+かわぐち,ひでまる
+さの,まさかず
+なかむら,ゆういち
+こばやし,ゆきお
+いだ,いちろう
+せきもと,よしひろ
+かわまた,かずお
+くぼ,ひろし
+たかの,やすひろ
+わたなべ,やよい
+いかるぎ,みのる
+さとう,ただし
+ひだか,よしひこ
+よしい,こうぞう
+しまむら,えいろ
+おび,としお
+なかじま,とくのぶ
+ほしの,のぼる
+かわもと,じゅんじ
+にしだ,やすひで
+しみず,まさあき
+たむら,じゅん
+とよしま,よしみつ
+えんど,たかお
+おがわ,なつあき
+きたはら,ふみお
+おぐに,けんじ
+おぶち,けいぞう
+みよし,かずお
+いけの,しんいち
+うえまつ,かつあき
+ふくざと,りゅういち
+あおき,たかし
+さめじま,さちお
+きどま,けんじ
+こだいら,きくお
+ひぐち,たつお
+まえしろ,かずひろ
+たなか,せいじ
+なかがわ,ようすけ
+いのうえ,やすひで
+とりう,まさあき
+まるやま,なおき
+まつうら,けんじ
+ためちか,かおる
+ささき,きょうこ
+おおたき,しんすけ
+おがわ,まこと
+まつみ,ますえ
+ありまつ,しげお
+こらく,ゆうぞう
+みやした,みのる
+おずち,みつお
+さかきばら,たかこ
+さとう,あきら
+ひろせ,ともこ
+つちだ,としあき
+はしら,ちよ
+ふろもと,みのる
+こさか,あきひろ
+たけいち,よういち
+てらだ,よしかず
+こいで,ひでき
+さいとう,しょういち
+みやなが,のりひこ
+にしむら,しんや
+たなか,ゆうぞう
+,ゆみこ
+ゆくひろ,れいこ
+よしわら,じゅん
+あおき,るみこ
+たていし,ゆりこ
+たけだ,とみこ
+やすだ,ふじこ
+あおき,ひでゆき
+よしだ,なおこ
+あだち,あきこ
+のぐち,よしのぶ
+わたなべ,しげゆき
+たけとみ,こういち
+くりわき,まさき
+きたずめ,もとひこ
+おさだ,としお
+あしがい,よしたか
+さかした,きよし
+つちだ,しゅんいち
+おかだ,みちお
+たなか,ひでちか
+おおたごし,こうぞう
+くろさか,えいじ
+すざき,あつし
+かねみつ,ひろゆき
+まと,かずゆき
+とよふく,まさお
+あらい,ひろかず
+ふじかわ,のぶあき
+よこお,たかよし
+あまの,はるお
+おおの,たかふみ
+すずき,あきよし
+かとう,まさゆき
+さいとう,みつお
+おう,かつみ
+みやざき,いさお
+きや,ふみたま
+ふじた,かずひこ
+むかい,よういち
+まつもと,かおる
+かわい,ゆきお
+まつもと,きよたか
+たけうち,りょうじ
+こじま,ひでお
+はせがわ,たつお
+こが,やすお
+やまだ,こういち
+おおた,みのる
+やまもと,しんすけ
+さくらもと,ふじと
+やなぎさわ,くにお
+ふくい,こうじ
+かとう,かずみ
+いわた,やすゆき
+ふじもと,ただふさ
+きのした,あきひこ
+やまだ,じろう
+くらまえ,こうじ
+くらた,たかし
+よこい,ふみとし
+こばやし,ひでや
+かとう,もりよし
+ますい,ひとし
+うらた,てるあき
+たかはし,まさひろ
+うしごめ,まさたか
+はらい,しんじ
+うだがわ,としろう
+たかぎ,かずゆき
+みやざき,さとみ
+やまむら,まさひろ
+やまぎし,りゅういち
+こまつ,よしたか
+はまぐち,ゆか
+もり,ひろかず
+やまだ,やすのり
+かがわ,みちお
+きくち,ふみき
+くじ,やすし
+いとう,ひさあき
+かわぐち,よしかず
+あらき,しんすけ
+おかべ,ひろみ
+こぼり,しんいち
+おち,おさむ
+まるお,はじめ
+さとう,しゅんすけ
+たなか,ひでのり
+まつやま,としお
+おおつか,くにお
+やまもと,けんじ
+ふじお,みつえ
+のむら,ひさたか
+ひろせ,のりよし
+あんざい,しげのり
+おおつぼ,みちろ
+さいとう,りゅうじ
+いとう,さとし
+わらさわ,きくお
+あらかわ,やすなり
+ごみ,じゅん
+えんど,さちお
+よしだ,まさはる
+うちだ,ひでお
+あさいね,てつや
+おしま,しげお
+たなか,たつお
+おおこ,まさろう
+いずつ,なおる
+はやし,まさゆき
+ふじき,とおる
+しおかい,かずひこ
+ながふち,きよつぐ
+まつもと,たいいち
+かとう,ひろし
+わたなべ,けいじ
+はまぐち,りゅういち
+かねこ,ゆたか
+さとう,としお
+おおい,まさき
+はやし,せいじ
+きみつか,まさお
+ふくだ,まもる
+なかむら,ただし
+やばし,けんじ
+こばやし,たかゆき
+とくだ,ともかず
+たかはし,かつひろ
+いとう,みつお
+のぐち,よういちろう
+かわな,のりお
+なかの,つやこ
+やまだ,まさこ
+ひらまつ,そうたろう
+あらい,としゆき
+よしの,かおり
+はまだ,かずお
+おおた,としひこ
+しばた,ますあき
+わかやま,あきひろ
+ほし,きよし
+みわ,まさお
+たなか,ゆうじ
+かなや,のりひこ
+たけなか,じん
+さとう,としゆき
+みずしま,とよういち
+てらだ,しげる
+もりや,ただゆき
+すぎやま,もとはる
+うみ,はるお
+きぐち,よういちろう
+うるわし,たけし
+ひらまつ,みちおき
+いずは,はるお
+いとう,まこと
+さとう,ますお
+しげのぶ,けんじ
+よしもと,かずお
+しばた,つよし
+ふなこし,いちぞう
+すなだ,やすじろう
+,やすお
+きくま,なおひこ
+すと,さとし
+にしざわ,ひでお
+こばやし,みつこ
+かわごえ,まさひこ
+いじま,ふみお
+にしお,ひろし
+にしやま,のぶゆき
+さいとう,よしあき
+かどわき,ひろみ
+ひろせ,たかお
+たぐち,たかよし
+たかだ,としはる
+わたなべ,けんじ
+かとう,しげあき
+なかはら,くにお
+いしくぼ,りゅういち
+やまだ,よしお
+わかまつ,こうじ
+かわしま,ひろゆき
+かたもと,けんじ
+たかやま,きみひこ
+つちだ,たつし
+たちばな,ひでお
+こばやし,あきら
+つだ,としゆき
+もりかわ,ゆきお
+おくの,よしお
+いまい,まもる
+むらお,ただし
+しもむら,じろう
+えんど,としのぶ
+ほしくま,まさはる
+かわせ,しんさく
+まちだ,むねし
+こばやし,たつお
+はだ,ひろし
+つくだ,まさはる
+にしかわ,しょう
+ほんだ,ひろみ
+わしおか,としひろ
+むろい,よう
+やすだ,まさし
+よしだ,ひろゆき
+ほり,あつこ
+こうだ,こうえい
+かまだ,えいじ
+うえむら,ひろみ
+まつばら,かずや
+みなとぐち,しげる
+くがてん,やすし
+いわせ,のぶひろ
+はやし,みつひろ
+いくなみ,しんじ
+いとう,たかし
+こやま,ひろみち
+おとまる,よしひと
+ながい,もとはる
+いとう,まこと
+いまい,たつる
+ますだ,たかひろ
+かわべ,りょうた
+さとう,けいじ
+さこ,まさはる
+むかい,じゅんいち
+おしま,くすたか
+つちや,いずみ
+はやしぐち,としあき
+さとう,せいいち
+むらさと,ゆきひこ
+はるやま,まさお
+しげもり,しゅんいち
+ふなき,ひさお
+わだ,いくと
+つぼか,しんすけ
+とだ,じゅんいちろ
+やまむら,ただあき
+いしぐろ,しんいち
+ふなはし,ゆき
+すずき,よしお
+よしだ,きみひろ
+わたなべ,つぎお
+なかにし,たかみつ
+やまもと,じゅんじ
+いしかわ,まさゆき
+たけうち,こういち
+おくの,さとし
+だて,じゅん
+たべ,まさとし
+やぎ,りょういち
+よしだ,かずお
+ふるた,たかゆき
+かわぐち,りゅうたろう
+はすこ,よしのり
+ながみね,しゅんじ
+たけした,さとし
+あかお,かずゆき
+わきもと,たかし
+たさか,けんじ
+なかしま,やすよし
+たけなか,ひろあき
+やました,なおひこ
+くぼえ,てるお
+おぐし,しょういち
+あさか,しげとし
+えぐち,ひろよし
+おおさき,まこと
+おくだ,かずお
+おくむら,かずろ
+かなまる,よしひこ
+きのした,おさむ
+ささき,きよひで
+たかの,たつお
+はしだ,しげる
+ほし,ゆうすけ
+みずの,かつひこ
+みつはし,たつや
+もとはし,まさし
+やまだ,てつじ
+ながの,まさゆき
+いしい,ゆきひろ
+かめだ,かおる
+きはた,たけひで
+こばやし,おさむ
+しらふね,たかよし
+なつはら,ひろあき
+にしはら,やすひさ
+はしば,たくお
+ひしぬま,ひろふみ
+ひびや,しんたろう
+みや,ひではる
+むらかみ,ふみお
+むらた,はじめ
+わたなべ,しょういち
+おおにし,ひろあき
+たけした,ひろし
+つばきもと,やすし
+はまおか,たけお
+みずの,とよたか
+あべ,ひろみ
+あらいし,まさみ
+さとう,まさあき
+さわの,せいざぶろう
+しもじょう,ただみ
+たかだ,かずひで
+ながた,やすひろ
+にしはた,まさふみ
+はやし,そういち
+ほそかわ,あきら
+あおき,みきとし
+よしだ,ひろとし
+わたなべ,たかお
+いわさわ,たかはる
+のせ,すえお
+ひらした,ひろやす
+よしざわ,ひでお
+むとう,けいぞう
+みわうら,ひであき
+きくち,はじめ
+えぞえ,ひろみ
+いしかわ,たけし
+いちかわ,たかし
+はらだ,よしたか
+むらた,よしと
+いとう,みきお
+ほしな,けいや
+とくだ,のりお
+たぐり,かずよし
+ささき,ともゆき
+たまる,はるお
+にしはし,しげお
+じつかわ,かずひこ
+すずき,さいち
+おおにし,きみこ
+ながさき,ゆうこ
+いいだ,ひでみ
+たかの,まさひろ
+ひさの,としつぐ
+いのうえ,ひでき
+いしくら,まさゆき
+あきやま,こうじ
+いちかわ,せんり
+きがわ,こういち
+さいとう,ひろゆき
+よだ,みきお
+あらき,ゆうじ
+すぎはら,ひでひさ
+かわぐち,ていじ
+みや,まさひこ
+いけお,ひろゆき
+さくらい,ふじお
+こしの,ようすけ
+きくかわ,かずお
+ゆあさ,たかし
+すずき,ゆうじ
+ますだ,しんたろう
+あらい,やすお
+いけだ,としお
+きす,あきら
+うしやま,れい
+かまた,えつし
+うさみ,きよし
+なかの,たけし
+かきかわ,じゅんいち
+きじま,ひろゆき
+むかい,まさよし
+ながやま,まさこ
+はっとり,まさお
+みしま,つよし
+ごとう,くにとし
+いとう,ひろゆき
+おがた,かよこ
+くさば,はるゆき
+てらえ,ひさと
+ほんだ,のりお
+あくたがわ,みのる
+みやこし,やすえ
+ふくしま,けいすけ
+しのずか,ともこ
+おおたき,しょうじ
+ながまつ,せいいちろう
+あらい,まさる
+まつだ,さちよ
+ふじた,あつみ
+かみぐち,ひろあき
+かとう,ひとし
+やまざき,たけのり
+うめたに,あつこ
+なるせ,じゅんこ
+くぼ,くにお
+くらた,ひろゆき
+こんど,てるお
+たけうち,みきや
+いのうえ,のりお
+たかだ,よしかず
+あくつ,かつゆき
+とりい,ひろみ
+もりおか,ゆみこ
+かくたに,まなぶ
+たけいち,ちえこ
+たい,けいこ
+つちや,まさふみ
+ますだ,まさたか
+かんだ,ひさお
+やまうら,やすよし
+きのした,しげみつ
+ほさか,くにお
+まるおか,ひでゆき
+かまた,ひろし
+はたなか,まさみ
+くろは,ようこ
+とつか,ようこ
+いしい,ふよ
+もりた,まち
+ほんま,しげる
+あらかき,よしとも
+たけ,たけひこ
+いずはら,なおかず
+ひさとみ,たろう
+すずき,よしひろ
+にしなか,ひさのり
+みずの,こうぞう
+もりむら,あきら
+たかはし,としかず
+しげとめ,よしあき
+さとう,ゆうじ
+まえかわ,まさみ
+よしい,としのり
+ほそや,ひでひこ
+さかもと,かずお
+こいずみ,しげみ
+にし,やすふみ
+かねこ,あきら
+すみくら,しょうへい
+よこお,たかお
+ささき,かずお
+はやし,あきら
+たなか,きよし
+あきやま,とみお
+さいす,よしかず
+のがみ,せいじ
+とよしま,しゅういちろう
+しん,たかし
+ふきの,もりよし
+いけだ,かずきち
+おだわら,りつ
+たかはし,としかつ
+けいま,じゅん
+しみず,こうじ
+いまいずみ,ともじ
+もりた,ゆみこ
+もり,やすみ
+まえかわ,やすかず
+やなぎだ,すすむ
+むらもと,ひろし
+すずき,ひろし
+ほそえ,まさひこ
+いしくら,せいじ
+ひろかわ,ゆうじ
+からしま,たかし
+まちだ,しんいち
+もりやま,ひさのり
+たけむら,てつぞう
+つかもと,あきふみ
+やまぐち,ひろひと
+そめや,あきお
+なかごめ,ひでお
+いわなが,けいすけ
+せきや,けんじ
+てらい,かずひろ
+たなか,ひでお
+せきや,じゅんろう
+さくらい,えみこ
+いそべ,まつたろう
+まつおか,たかひこ
+いち,まさのり
+やまもと,しろう
+でぐち,たかとし
+ひらまつ,よしお
+みずの,いさむ
+とみなが,まさひろ
+たかしま,ひとし
+のがみ,ひろし
+おおつ,ひろふみ
+こばやし,けんいち
+てらだ,としかず
+さいとう,たつや
+あさの,たかや
+しもむら,のりとし
+おおいし,のりよし
+たなか,つねお
+まつもと,きよし
+ひらまつ,しげる
+たけうち,みのる
+しげはら,てるまさ
+おかもと,はじめ
+むらやま,もとこ
+こまつばら,しずお
+えばた,けんじ
+おおた,ごろう
+てらお,ひろゆき
+おおさわ,まさる
+かわしま,たつみ
+あらい,まさし
+はしずめ,あきら
+みずしま,こうじ
+ひらまつ,えつお
+おくむら,よしこ
+みずなか,こうし
+ほりうち,しゅういち
+たきもと,としお
+やすば,こうじ
+きたの,もとのぶ
+にしだ,ゆきお
+いしかわ,としみ
+おおば,ひさお
+かしわぎ,かずゆき
+さとう,おさむ
+まつだ,あきお
+こむろ,なおき
+むらた,ひでゆき
+ささがわ,かずお
+さたけ,はるとし
+くわの,ひさお
+ごとう,かつみ
+ふじい,しんいち
+みずこし,けんいち
+ふじまき,かずや
+いでた,ひとし
+なかつか,たかし
+うんの,たけみ
+すずき,かずひろ
+はま,ひろし
+とみた,たかお
+たにつ,ゆうご
+すずき,まさみち
+おくむら,ちよじ
+ふくしま,かずひこ
+おおはし,ひかる
+やました,たかお
+かわみ,せいいち
+はるた,けんいちろ
+みやもと,ひろし
+つじた,ゆうこ
+いまむら,まさお
+さとう,さぶろう
+なかじま,ゆきこ
+しいの,しげお
+ごとう,みのる
+かとう,もとはる
+ながい,ちえこ
+うちの,あつし
+えいじま,おさむ
+やまなか,こうじ
+なかむら,のぶお
+すずき,やすゆき
+せむら,りゅういち
+なかがわ,かつひろ
+たや,たかし
+むらかみ,ひろのり
+いしかわ,こういち
+せきぐち,しょういちろう
+おおの,よしゆき
+おいかわ,としや
+いわい,くにやす
+あさひ,けんじ
+ごとう,かおる
+かねたけ,かなめ
+うえまつ,としのり
+ふくしま,ひろじ
+ふくだ,たかゆき
+すずき,きょうこ
+おぐら,ゆきひこ
+ひらで,のぶかず
+おしげ,たいち
+まつもと,えりこ
+ささき,えつお
+ごんだ,まさる
+まつおか,せいじ
+うめざわ,まさつぐ
+にしお,かずなり
+こじま,ゆうぞう
+たにぐち,よしつぐ
+おおぎす,ひろし
+さだひさ,こういち
+ふじわら,もりお
+はっとり,なおゆき
+かまた,としお
+とば,まこと
+やまだ,ただひろ
+やまもと,みきお
+たけうち,たけし
+あらき,ひでふみ
+にしお,せつこ
+もりうち,さなえ
+いわた,ひであき
+ささき,まさろう
+まえがわ,やすつぐ
+ふくにし,かずのぶ
+うえだ,ともよ
+やまぎし,まこと
+おの,けんじ
+ふじた,ふくきち
+きたむら,よしみつ
+よしはら,ゆりこ
+いわさわ,たくみ
+こまつ,たつよし
+たにむら,ひろあき
+こさか,ひさたけ
+たしま,まさゆき
+にしおか,かつゆき
+すずき,としお
+ごとう,やすひら
+かわはら,じゅんいち
+たじま,しょうじ
+かんの,あきお
+かたしま,しんや
+はしもと,みすず
+なかだ,ひろし
+かさはら,せいいち
+てらもと,たかあき
+わかまつ,まなみ
+いとう,としつぐ
+わだ,ひでみ
+たんじ,ひろあき
+おおつか,めぐみ
+つじもと,けいいち
+せりざわ,のぶはる
+とのさき,ふみえ
+たかぎ,みちこ
+おふち,かつなり
+あまの,みちお
+なかむら,あきら
+たばた,ゆうじ
+とよずみ,まさあき
+しゅくや,よしろう
+たかの,しんいち
+むらかみ,ひとし
+いしずか,のぶよし
+いいずか,としひこ
+しらい,あきら
+ふくはら,すえはる
+いながき,てつお
+ひらしま,ひとし
+つじばやし,あつし
+まつお,まさみ
+やまもと,まなぶ
+もりの,たかお
+たじま,としお
+のざき,じゅん
+あだち,のぶたか
+たかや,たかし
+おの,まさお
+まつもと,かつあき
+はしもと,かずひで
+かの,やすし
+たけだ,ふみこ
+きりはら,けいこ
+たなか,やすひこ
+とりい,あきのぶ
+なかしま,まさお
+せすみ,じゅん
+まえのその,かずなり
+ごとう,しんじ
+ほり,ゆきよし
+たかいら,きょういち
+たにだ,あきひろ
+ふるどい,しゅういちろう
+おおぎや,まさなお
+なかじま,のぶよし
+ほりかわ,かずひろ
+すずき,まこと
+あおき,のぶゆき
+おくはた,まさひろ
+くわばら,ゆうすけ
+かんだ,ひろみつ
+すぎもと,りょう
+やまもと,ひであき
+かねこ,まさる
+なりた,もとゆき
+にしお,たけひろ
+いかり,はるお
+ふるかわ,けんいち
+あらい,せいじ
+くずかみ,ひろし
+ごとう,しゅういち
+やまはら,ますみ
+やまだ,しげる
+いじ,としろう
+くらもち,みきお
+ふじわら,ひですぎ
+たけだ,さとし
+たかのせ,えつお
+ともむら,しげふみ
+さとう,はじめ
+さかきばら,まさゆき
+みやざき,ゆうじ
+よしだ,しゅういち
+たなか,よしひこ
+ごとう,みちお
+にしだ,けいいち
+なかしま,みつひろ
+きむら,しげゆき
+いのうえ,まさとし
+おしま,たけし
+おおや,まもる
+みやもと,まさのり
+やました,おさむ
+たなか,ますみ
+もり,あつし
+なるみ,おさむ
+ごとう,だいじろう
+やまちか,あきら
+ささき,まさひと
+きしだ,みちお
+おおやま,ようすけ
+しいの,かつや
+いずみさわ,よしとも
+かみむら,だいち
+さかい,けんいち
+ごとう,かずお
+かとう,きいちろう
+たかはし,こうじ
+くの,たつひこ
+いわぶち,まさつぐ
+ほんぶ,まさふみ
+もりた,じゅん
+せきや,こ
+ぬまた,かずや
+ごとう,めいさい
+まなべ,まさる
+いまきた,しょうじ
+こだか,けんじ
+よしだ,たけひさ
+さとう,たけし
+くすみ,かずゆき
+はぎわら,としかず
+ふるせ,てるひこ
+むらた,しょうこ
+おくむら,まさひこ
+たにがみ,たいち
+なかむら,しんじ
+こいずみ,まさひこ
+すどう,ひろし
+いで,てつや
+しもの,かずひろ
+たかぎ,よしあき
+さかい,あつし
+いのうえ,かずお
+ふるた,みちのぶ
+あさい,きよし
+ふかさわ,くにひこ
+ごかいち,こうじ
+おおつか,やすのり
+さとう,さとし
+いのうえ,しげる
+たけだ,まさゆき
+ますだ,よしひこ
+やまもと,のぼる
+おおはら,まなぶ
+ふなつ,かずひこ
+こやま,じゅんぞう
+やまざき,としひろ
+たじり,みねはる
+さとう,つよし
+ながしま,じろう
+つだ,たかし
+ながお,ともみ
+おおすぎ,ひろゆき
+いとう,ともなり
+たまい,ゆたか
+みやした,よういちろう
+みしま,よしひろ
+ほりい,なおあき
+ごとう,まこと
+やお,じゅんいち
+ひじや,たつや
+ほりい,ひでじ
+たけだ,たかよし
+やすなが,かつみ
+やまざき,ひでひと
+やの,あきら
+しわく,みのる
+かみの,あきら
+なかじま,たいじろう
+ますだ,くにひこ
+おふち,じろう
+ふくざき,れいこ
+いたがき,しげき
+しも,ちえ
+ふくい,のぶあき
+いび,じんいち
+こむかい,きよみ
+ふじえ,のぶゆき
+まつき,かずひこ
+こばやし,かずよし
+ごうち,かずとし
+はせがわ,けん
+かわごえ,ともふみ
+ながさわ,たいせい
+やました,さかえ
+いしざき,しんいちろう
+おだ,みちひろ
+しんどう,たかあき
+しもさこ,はるひさ
+つつみ,きよし
+きたおか,かずひこ
+きたざわ,こうじ
+なかおか,えいじ
+いしばし,みゆき
+はしぐち,みわこ
+わたなべ,あきひろ
+おおば,かなめ
+はら,かずや
+しみず,こみな
+いざわ,よしひこ
+よしやま,あきら
+すぎもと,ひろゆき
+こまつ,こういち
+へんみ,こうぞう
+ふかだ,のりふみ
+こばやし,よしひさ
+すぎもと,けんじ
+よこやま,つとむ
+たなか,のりひこ
+みやたに,さとる
+はせがわ,あつし
+きたがわ,たかあき
+ふくおか,ひろゆき
+おむら,さとる
+いぐち,まこと
+はやし,まりこ
+ひらい,かえこ
+おおもり,れいこ
+おぎの,いちろう
+たむら,みつお
+たけだ,ひであき
+みやなが,こういちろう
+ひらい,のりまさ
+にしむら,ひろゆき
+はぶち,ひでかず
+おおくら,よしあき
+はった,えいじ
+いこま,ひろゆき
+あさひな,たかし
+かのう,しんご
+なかにし,しゅうじ
+みやざき,ひろむ
+いちかど,とよあき
+ながさわ,あきのぶ
+はまぐち,はるお
+やしろ,ひろのり
+むらお,まき
+おおぎまち,あきら
+しろた,まさゆき
+てしま,みつお
+かわさき,やすゆき
+やまだ,おさむ
+ほんだ,まさひで
+かねこ,しげる
+まつしま,ひろずみ
+こみや,こうじ
+わだ,つよし
+よしだ,たかし
+もりさき,ゆうじ
+いまひがし,ひでお
+くらもち,わたる
+ゆかわ,さとし
+てらお,じろう
+こんど,まき
+さいとう,まさゆき
+よしなが,ひろし
+ゆあさ,はるゆき
+せんが,よしお
+にしぐち,としあき
+うえだ,なおき
+やまおか,としお
+やまもと,かずお
+ふじかわ,としたけ
+おぐら,たかし
+かわの,ひでお
+かねずか,ひろあき
+おかもと,ゆうすけ
+かわつき,かずお
+すえよし,たつや
+かわべ,しげゆき
+たかはし,たかゆき
+もり,しんすけ
+すぎやま,てつじ
+まえやま,きよし
+こめたに,ゆうじ
+ふじわら,きよし
+あでがわ,ひろゆき
+とみざわ,おさむ
+なかた,まさあき
+たちばなき,はるあき
+こだま,しょうご
+はない,ちほ
+ちのね,かずお
+しみず,こういち
+たきざわ,まさと
+くどう,けんじ
+もりおか,まさかず
+かねひら,あきお
+さとう,ひろのぶ
+やばな,としお
+さかずめ,ひろゆき
+はしもと,きよ
+よのもと,ひでき
+ばんしょう,くにお
+ふちえ,かずお
+すずき,いくお
+すずき,ゆきのり
+こばやし,かずひろ
+かとう,たかつぐ
+くすだ,かずいち
+みやたけ,よしひろ
+さの,ひでじ
+まるた,としあき
+まきた,まりこ
+かしわぎ,はじめ
+たに,よしみ
+ありやす,えつお
+かとう,しゅうじ
+たなか,まさひと
+つじた,ひろし
+おおがわら,ただお
+むらさわ,としひろ
+せきもと,ひさし
+つじもと,ひさと
+しおたに,よういちろう
+みわ,としお
+ながさか,せいじ
+こいで,あきら
+おぐら,つとむ
+つつみ,たかのり
+ふかみ,じゅんいち
+よしだ,たかし
+もろほし,すすむ
+しおの,ただひで
+やまぐち,のぶみち
+まみや,つかさ
+さいとう,しげゆき
+あきやま,きよし
+あだち,かずひろ
+かわの,としみつ
+なかむら,あきひろ
+やまぐち,としき
+さくま,ひでみ
+もちずき,よしたか
+わたなべ,ようじ
+こばやし,せいじ
+きし,みれい
+はやさか,みちよ
+こふじ,まさのぶ
+さいとう,あきこ
+のむら,しゅんじ
+まつい,ゆきお
+はやしだ,まさえ
+おがわ,たかし
+ほんだ,たかし
+こざわ,よしもと
+ささき,ひであき
+わだ,きよし
+やまわき,たみ
+ふじい,はるよ
+たきざわ,やすひこ
+さとう,こうじ
+みかみ,さとし
+みわ,のぼる
+おち,ひろし
+ふじた,けいじ
+ながた,いちろう
+くぼた,ようこ
+あおがき,げん
+かりやど,なおこ
+みはし,しんいち
+むらまつ,ちえこ
+かたやま,おさむ
+やまざき,としひこ
+おおぎそ,きよたか
+ばば,まさかず
+みしま,まさひこ
+やの,おさむ
+なかじま,あきひこ
+たけした,きょうこ
+なかの,みのる
+たかの,ゆき
+かわだ,かずまさ
+たじま,こうたろう
+もちずき,きよし
+きむら,かつみ
+あきほ,とみもと
+やまもと,あき
+かわせ,ゆたか
+ささ,ひさお
+のせ,かずなり
+ひらた,なおき
+こばやし,しゅういち
+あがわ,ゆうすけ
+てらもと,ひろふみ
+おざき,さかえ
+もり,きょうこ
+うつ,ひとし
+わかまつ,としさだ
+いまい,ふみこ
+くぼ,たかひろ
+たかの,じゅんじ
+ひびの,ひでお
+すずき,はるき
+たなか,たかはる
+さかもり,かよこ
+たきざわ,てつ
+よしかわ,たえこ
+とよだ,りゅういち
+うらしま,ゆうじ
+こんの,もとひろ
+てらかわ,たけなが
+こばやし,あきひこ
+きむら,たかこ
+かみお,れい
+くればやし,きよみ
+かねだ,ひろこ
+かわもと,こうへい
+いまむら,よしひろ
+こはぎざわ,みのる
+しのざき,しゅういちろう
+めぐろ,さとし
+くにさだ,まさはる
+もり,きよ
+かわぎし,たかゆき
+おおすが,かえで
+すだ,ひろし
+なかむら,きよかず
+いしこ,じゅん
+すずき,なおや
+きくち,かずひこ
+おぎた,あきら
+たかやま,たかとら
+なかしま,きよし
+つじもと,ひろし
+はやま,くにひろ
+いたがき,まさあき
+やまもと,ひろあき
+あだち,ひろし
+きたみ,ひろひで
+たまき,みちお
+まえだ,ゆうじ
+あだち,しょうぞう
+たまだ,ぐんじ
+もりぐち,ゆうじ
+よしなが,のりこ
+まえだ,たえこ
+わたなべ,たまき
+たかはし,よりたか
+いしこ,てつろう
+おじま,かつじ
+しばやま,よしあき
+しば,たけひこ
+ともの,けんいち
+すみ,まさふみ
+みつなが,あきこ
+うらの,まさき
+よこずか,さとし
+ふじかわ,はるひろ
+かぶらぎ,まさゆき
+よしだ,ゆたか
+さいとう,よしあき
+やの,たかひさ
+よこた,なおみ
+なかむら,あつし
+なみさと,まさかず
+ねぎし,けいぞう
+きの,のぼる
+なかじま,あきら
+つつみ,しゅういち
+こうだ,やすひこ
+ほり,みゆき
+こんの,かずや
+わだ,ゆみこ
+まつなが,さだお
+にしむら,としゆき
+いい,やすひろ
+やすい,なおき
+こばやし,しゅういち
+やまさき,まさひろ
+すずき,やすゆき
+いわた,はるひこ
+しげもり,たかし
+いまむら,のぶたか
+つかもと,あきよ
+いとう,しんすい
+くぼ,じろう
+さなえ,かずまさ
+こだま,あきお
+いとう,かつし
+あくつ,ようこ
+あたらし,みえこ
+たぐり,じゅんこ
+の,たつや
+あかまつ,けんじろう
+あさの,けんじ
+なかがわ,まさあき
+かわしま,あさこ
+さとう,ひでお
+おぐら,せいじ
+いしばし,ひろゆき
+まつおか,たかよし
+たきざわ,まさよし
+いたくら,さとし
+ほんごう,よしかず
+ながやす,たかゆき
+うちだ,ひろし
+やました,つねお
+いしぐろ,ひろし
+もり,とよひこ
+たなか,こういち
+ひぐち,しげと
+きと,しんいち
+たなか,かずゆき
+すずき,かずひろ
+すがい,けんじ
+よねざわ,よしかず
+あらかわ,りゅうじ
+いのだ,やすひさ
+かとう,まさお
+かげやま,まさし
+みやわき,としひこ
+みちやま,ただやす
+もり,としあき
+もりさわ,しんいちろう
+にしむら,かつゆき
+さいとう,やすのり
+やまもと,ようすけ
+まつうら,よしあき
+はせがわ,つとむ
+うちだ,じゅんいち
+やすだ,こういち
+いしだ,とおる
+もりの,かつまさ
+きたやま,よしひろ
+さかもと,よしのり
+そうみや,ひろゆき
+きくち,しんいち
+しぶい,こうじ
+とみた,あつし
+もり,こうじ
+やまぐち,じゅんじ
+きたやま,よしひろ
+まんもと,あきら
+たなか,ゆたか
+もり,かずひろ
+いたくら,いさむ
+いちみや,まさし
+にしやま,かつじ
+わたなべ,ひろし
+はんがい,はるお
+ながの,けいいちろう
+しば,けんじ
+こじま,すすむ
+たたの,さとし
+かわばた,まさひこ
+たけだ,たろう
+おむら,いくろう
+さこ,ひろし
+いしはら,みのる
+いちのせ,すすむ
+きしだ,よしみ
+みかみ,じゅん
+はやし,たくじ
+ささき,あゆみ
+よねみつ,かずなり
+せきね,よしなり
+いまにし,きよただ
+あおき,ただし
+すぎやま,いさお
+なかもり,よしふみ
+しまだ,まさひこ
+ますだ,ふさお
+つぼい,ひろし
+せきや,すすむ
+きじま,のりお
+よしずみ,ひでたか
+やなぎだて,しんや
+しげまつ,はるやす
+いのうえ,なおき
+たけうち,けいこ
+たなか,たけし
+ひがし,しゅうじ
+たかた,なおひろ
+なかい,つぎお
+はせがわ,じゅんいち
+たに,たかし
+こばやし,みきとよ
+たかはし,あさこ
+あべ,まさと
+こばやし,よしぞう
+おの,いくや
+たかはし,ゆきひろ
+くろだ,あつし
+わたなべ,ひろし
+あべ,しんじ
+いのうえ,ようこ
+えんど,よしお
+ののした,しげふみ
+かない,くみこ
+こたき,じ
+たかはし,ようこ
+しげやま,とみお
+ふかだ,あきお
+しおじ,かつゆき
+もりや,ふみひろ
+おおつか,まさや
+あべ,まさたか
+ひらい,たかゆき
+むらまつ,じゅん
+みずた,まさみ
+ほりえ,かずゆき
+ひかさ,まさたか
+おしたに,まこと
+こばやし,かつみ
+くらはし,ひでゆき
+ひらばる,たけお
+ふじえだ,まこと
+とざわ,かつみ
+やなせ,しげる
+くぼた,よしお
+まみや,まさき
+ゆはらぎ,まさみ
+ちょうなん,よしまろ
+みよし,とおる
+のじま,よしのり
+もりさき,まこと
+こやま,としあき
+かとう,ひろき
+きのした,やちよ
+かわむろ,さとし
+もり,けいいち
+ひらした,さだき
+かわしま,りょう
+ふるかわ,あきと
+いんでん,まさひこ
+やまだ,やすゆき
+つくだ,みのる
+いわさき,まさひと
+おまえ,おさむ
+すずき,まさゆき
+はら,まさひこ
+さかい,たつむね
+もりや,かずまさ
+みやもと,としひろ
+しげた,まさひろ
+いしかわ,ひでのり
+たざき,さだむ
+すえひろ,むねや
+かねだ,こういち
+すえひろ,じゅんいち
+ささき,りゅうさく
+ひやま,たつはる
+きどぐち,よしひろ
+しまだ,としゆき
+みやけ,ひとみ
+もり,じろう
+しらかわ,こうじ
+わかばやし,しんいちろう
+やました,かずお
+あまの,じゅんじ
+たけいち,ひろたか
+しん,けいこ
+かさはら,てつや
+たなか,けいし
+おくだ,あきら
+かとう,ともこ
+かわさき,まさこ
+かとう,かずお
+いちせ,まさあき
+きたがわ,げんへい
+やすい,よしのぶ
+えだ,とみかず
+はやし,たつじ
+ながい,さとし
+とのむら,まさのり
+たなか,のぶゆき
+くりばやし,よしのり
+きむら,かつこ
+はぜき,のぶゆき
+あんの,あつし
+たかよし,よしさと
+あんざい,しょうじろう
+たかはし,おさむ
+はらの,つねお
+なかがわ,かつよし
+にしかわ,ゆきお
+しぶや,かずひろ
+かとう,のぶひろ
+あだち,としひろ
+さくらい,やすたか
+くさの,としひろ
+みなみぞの,みのる
+つじむら,あきとし
+やまだ,いさむ
+かつしま,しげみ
+こやなか,ひろゆき
+たばた,あきら
+あだち,よしひろ
+ひろの,せいいち
+つざき,ひろあき
+たちばな,しげあき
+べっしょ,かずみ
+まつした,ちゅうぞう
+たにぐち,けんしゅう
+なかとも,むつみ
+にしむら,ひろし
+みうら,まこと
+こんど,おさむ
+まつい,まさき
+まつもと,ひろかず
+ほりい,ひろし
+ますもと,つとむ
+なかじま,ちかし
+きむら,けんいち
+みわ,ひろゆき
+いしばし,やすし
+えぐち,のりひさ
+いなふく,じゅん
+わたぬき,やすひろ
+ひぐち,よしひこ
+いけの,きくお
+うめはら,まなぶ
+のざわ,ただし
+いまい,まさき
+たかはし,かつじ
+いいだ,はるひさ
+ふじかわ,かおる
+にしえ,ただひこ
+こすげ,ひろし
+おおた,じゅんこ
+のじ,くにひこ
+こぼり,みきお
+すぎやま,よしあき
+かわた,てつひこ
+さめしま,みねお
+こやま,きよたか
+えんかい,たかし
+こもだ,つとむ
+おがわ,こういち
+やまむら,かずまさ
+えのもと,れいじ
+たかだ,ひさただ
+なかみぞ,ゆみこ
+おかむら,ひろし
+かみばやし,せいじ
+ふじもり,みきお
+くろだ,しんいち
+さとう,よりえ
+よしむら,たきお
+もたい,たくじ
+むらた,とおる
+みわ,なおと
+いはら,えみ
+いまい,たかし
+ひの,かずお
+まつもと,たかし
+せと,ようじ
+くまがい,やすひろ
+やまだ,よしお
+わたなべ,ゆうこ
+やさか,ひろし
+さとう,あきひろ
+みやたけ,ひろのぶ
+まつうら,ひとし
+まつした,まこと
+うらべ,いさむ
+しがき,まさよし
+てらだ,よしひと
+いわもと,よしあき
+いのうえ,じろう
+もちずき,ゆきお
+よしずみ,えいいち
+みうら,みつる
+みずの,たかゆき
+よしい,じゅんいち
+ふるい,よしひろ
+はやし,しげあき
+しらいし,ひでお
+すがわら,たつお
+なかい,けいいち
+のふじ,よしはる
+さとう,ひろかず
+くろだ,きいち
+いけだ,たかし
+さが,けいし
+みやかわ,いくひさ
+わらしな,しげる
+きたがわ,のぶゆき
+いまい,ふみあき
+みさき,ひろのぶ
+いしだ,たけし
+りくら,ひであき
+しょうじ,こういちろう
+ふくなが,よしかず
+くろき,たかお
+またき,しょうざん
+せきね,まさはる
+やました,みつひろ
+たなか,よしあき
+おおはま,まさひろ
+おおつぼ,よしあき
+たい,ひさはる
+つるや,まさのり
+よしだ,よういち
+ますみつ,たかし
+かすや,しげお
+よしだ,みのる
+かわむら,ひでき
+はやし,くにひこ
+くにもと,まさゆき
+あらかわ,ひなこ
+なかむら,まさのり
+いしぐろ,せいじ
+はやみ,かつひこ
+みなみぞの,きんじ
+さかた,みのる
+かわもと,ふみかず
+むらおか,やすのり
+いとう,よしお
+わたなべ,みちお
+のむら,まさかず
+さとう,はるな
+わたなべ,ひろし
+こばやし,まさかつ
+ぬるき,ひでひこ
+よしだ,よういち
+さいとう,ひろし
+ひらい,よしゆき
+きむら,たかし
+おく,ろう
+はやさか,やすこ
+あさの,けんじ
+ふじさき,しんや
+あきもと,りか
+しまだ,まさえ
+みずかみ,まさはる
+なかがわ,とおる
+さとう,てつや
+こばしり,けんじ
+あらき,よしお
+すずき,なおとし
+にしで,せつ
+おちあい,よしひさ
+のなか,たかし
+やすい,りゅうじ
+こはた,けんいち
+みのしま,あつお
+てらしま,きみひこ
+やくわ,よしお
+すがわら,みちお
+みつはし,てつろう
+のむら,のりこ
+ちょう,あずみ
+さとう,りょうこ
+しずはら,れいこ
+はやしかわ,けんじ
+にわ,よしお
+みえの,けんいち
+しまだ,ひでと
+なかむら,としお
+ひらの,りょういち
+やまとや,かずひこ
+つのだ,やすのり
+こばやし,のぶあき
+さかくら,きょうこ
+まつだ,まさあき
+いまむら,せいし
+やぎはし,なおこ
+おぎの,ひろお
+たなか,よしまさ
+ひが,よしかず
+さこ,つとむ
+たざき,たもつ
+いいだ,まさはる
+いいだ,りょうすけ
+まつぐま,しげほ
+むらた,けん
+やすもと,まこと
+しみず,ひろし
+わくい,よしたか
+たかはし,よしお
+きたい,としひこ
+あだち,しょういちろう
+はなぶち,はじめ
+さとう,くにひろ
+あらい,としひこ
+たけなか,さとし
+かい,みほこ
+あかだ,しずお
+くにすえ,ひろあき
+まえかわ,あきら
+みなみ,みつし
+たきがみ,ひでゆき
+まつい,まこと
+しらい,まさみち
+たけよし,せいのすけ
+たかだ,きよたか
+たかぎ,たかひこ
+くどう,きよたか
+しまだ,のぶこ
+かとう,かずお
+しぎょう,ひであき
+ひろの,そおじゃ
+きのした,よしえ
+しみず,しょうぞう
+しむら,ひろあき
+くさかり,みほ
+かるべ,としはる
+まつもと,なおゆき
+しまむら,とまさ
+かつかわ,たかお
+いず,いさお
+さくらもと,いつじ
+もりた,じろう
+たなべ,くにいち
+はっとり,ふみと
+りゅうご,しゅんいち
+おまつざわ,まさはる
+おとわ,ゆきよし
+こだま,せいいち
+かやしま,ゆうじ
+こばやし,しげる
+くにえだ,まきお
+こう,かずなり
+にしやま,ひとみ
+わだ,ひろや
+にしもと,たかし
+さいとう,かつのり
+としま,よういち
+おおつか,ほこく
+おの,まさる
+すずき,たかし
+さくらい,たかし
+おぜき,たかし
+おかだ,まさみつ
+おがわ,ひろし
+いけがみ,ひでとし
+こまつ,たかのり
+よしい,よしあき
+ひらの,しょういち
+たかすか,ひろし
+はしもと,やすゆき
+くわえ,きくお
+かねまつ,かねひで
+まつお,けいいち
+いど,たかひこ
+いの,じゅんいち
+さいとう,たけし
+かみやま,こうじ
+こしもと,こういち
+おおがわら,よしのぶ
+たかはし,まこと
+ながまつ,しんいち
+すずき,ごろう
+てらお,ようじ
+ほりけ,かおる
+すずき,たかし
+おがわ,こういち
+みやもと,のぶお
+おおすみ,ひろゆき
+いわぶち,のぶやす
+まつうら,たつお
+さわち,ちかお
+てらだ,せつこ
+いばやし,ゆたか
+いわせ,じゅんいちろ
+おがわ,せいじ
+あそ,やすとも
+ふくもと,さゆり
+いで,ふみたか
+かわさき,てつじ
+はるな,まさのり
+たじま,ゆきふみ
+かなやま,ようじ
+たなか,わたる
+まつざき,まさお
+いのさか,こうじ
+おしやま,よしひさ
+たけうち,たかし
+ささおか,としゆき
+こもり,まさあき
+たじま,ひろあき
+いけがみ,けんじ
+やまぐち,まさあき
+かわかみ,しげき
+いせき,えいすけ
+たけだ,ひでゆき
+たかやす,まなぶ
+かめだ,たけとし
+ふじの,まこと
+みさき,やすのり
+なかむら,としあき
+おがわ,こうじ
+なかざわ,ひでとし
+せき,やすくに
+よしかわ,たくや
+たがわ,たかし
+みたに,としひこ
+すえた,あきひと
+いぬい,けん
+おさだ,さとし
+ふるかわ,かつお
+すずき,まこと
+きたむら,りょうすけ
+こまつ,ひろたか
+あさだ,よういちろう
+かんざき,やすまさ
+うすい,よしふみ
+ふるや,としひこ
+よけむら,ふみよし
+よこえ,よしき
+あかいわ,としひこ
+ふくしま,ひろやす
+やじま,やすし
+はら,みゆき
+きしだ,ゆうぞう
+くぼ,みつる
+かたぎり,やすのり
+いちい,ふみや
+まつき,としあき
+わけべ,けんじ
+まるやま,ひでお
+つばき,しげる
+さの,ひろし
+みやもと,まさとし
+ふくやま,まさあき
+うえむら,まさる
+くわかど,りき
+くにまつ,まさる
+かたおか,のりゆき
+とみた,かずのり
+なかむら,あつひこ
+くどう,よしてる
+おぶち,てるひこ
+よしかわ,とおる
+かげやま,まこと
+とだ,けいいち
+たかはら,さとし
+まつした,しんじ
+こだいら,ひでし
+しんかい,もとお
+てらだ,まさひと
+かわきた,はじめ
+みうら,さなえ
+あべ,ひとし
+にしかわ,ゆきひろ
+ほそだ,いわお
+ますだ,よしお
+かざま,たけし
+あらまき,かずお
+わたぬき,みつぎ
+さかもと,つよし
+あまがみ,しん
+こんの,いさお
+おくだ,よしのり
+おはく,みつお
+なかむら,よしふみ
+なかむら,ゆういち
+うしやま,ゆきお
+やしき,あいいちろう
+きのせ,しゅんいち
+わかやま,こういち
+いまい,まさゆき
+まえだ,きよし
+まつした,えいじ
+ひらぐち,ひろし
+わだ,あつこ
+わたなべ,そういち
+まつい,しんいち
+まつもと,みきお
+なかむら,じゅんいちろ
+たきた,よしと
+ますだ,ともこ
+みやうち,まゆみ
+しむら,さかえ
+まつい,たきこ
+はらはた,とみたろう
+ひさたに,あつし
+かがみ,まさつぐ
+よしむら,ゆうじ
+おおつか,けいご
+たなか,しんいち
+ひらの,しゅう
+たけすえ,てつや
+にしの,よしゆき
+おおつか,めぐみ
+おだ,しんじ
+しみず,ゆたか
+はまもと,たかよし
+みやまえ,まさなり
+ながしま,えいじ
+みつめ,こうじ
+かごたに,よしかず
+よこやま,たかふみ
+さかた,けんじ
+おいくぼ,あきひで
+くらもち,ひろや
+あんざい,まさゆき
+ふくしま,りえ
+なかむら,ひとみ
+いとい,ゆりこ
+ほしの,みちこ
+こいで,ひろひこ
+おざき,じゅん
+せじも,まさみち
+すどう,まさみつ
+かじわら,みどり
+すずき,かつひろ
+ほしの,はるこ
+なかむら,よしあき
+もりた,あきかず
+やまざき,としひこ
+おくがわ,まさひこ
+ながはま,ひろゆき
+よしむら,あきみつ
+まつだ,たかとし
+ほかぞの,あつひさ
+あべ,としつぐ
+ながい,こうじ
+とがし,としひと
+やざき,ていぞう
+やまうち,ひでき
+みさき,なおき
+よしだ,しんじ
+なかもと,しげる
+しのはら,つねかず
+なかにし,あきら
+やじま,きよし
+とよふく,ゆうじ
+たかしま,かつじ
+ふしにし,きみえ
+むかい,てつや
+にしむら,ひろゆし
+かわばた,さとし
+むかえだ,さとる
+しせき,いっしん
+かたおか,よしひで
+ないとう,ひろき
+みと,やすと
+おおにし,としろう
+よこやま,たかし
+なかむら,たつあき
+いざわ,ひさのり
+たにがわ,とみえ
+すぎた,ゆか
+おした,まさゆき
+しまだ,ともこ
+やまむら,こういち
+ふくおか,まさし
+やなり,ひろあき
+すずき,しんじ
+さかい,さとる
+やまだ,ゆきひろ
+やまこし,しげる
+のもと,としゆき
+たけした,もとき
+みのだ,しげゆき
+あさい,しほ
+むねやす,ひでゆき
+かわにし,まこと
+さかぐち,やすひさ
+やまざき,としひこ
+あさおか,ひでのぶ
+きのした,みきぞう
+みま,きよみ
+ふくもりた,しげお
+かじやま,よしこ
+やまざき,じゅんいち
+さとう,としや
+かわべ,みつひこ
+まるやま,のぶよし
+おがらね,のぶこ
+どい,ゆうぞう
+たなか,みつお
+おぎしま,おさむ
+いのうえ,ひろゆき
+ふるや,ひろのり
+ふくい,つよし
+ますだ,たかひろ
+ほんだ,ゆみこ
+なかにし,なおたか
+みやまえ,なおひこ
+おかの,ひでお
+ばば,よういちろう
+だけやま,さくこ
+やまぐち,やすお
+はやし,としろう
+とみずか,やすひろ
+なかにし,はるひさ
+あべ,はじめ
+あおやぎ,ひろこ
+てらわき,きよこ
+かたぎり,のぼる
+なかがわ,まさお
+こばやし,かずひろ
+うえだ,ひろみ
+ふじわら,あきひろ
+はやさか,たつみ
+きむら,ひろし
+ごとう,まさひろ
+しむら,けいぞう
+せき,としかず
+あいざわ,あきお
+のむら,こすけ
+かんだ,しゅうじ
+うらい,ますみ
+もとやま,よしはる
+かみむら,てつお
+ひらい,まさゆき
+あらい,ともなり
+さいとう,よういち
+まきはら,まさし
+おおわく,おさむ
+もちずき,まさひろ
+はんがい,よしひろ
+いのうえ,かずひと
+ながいし,かつみ
+にしもと,あきら
+つちや,しょういち
+まつもと,たかし
+ほん,しょうご
+いわい,たつや
+くぼ,まさお
+はこい,まさお
+わたなべ,のりお
+すぎた,としみつ
+なかむら,かずひろ
+からさき,こういち
+のりまつ,みつひこ
+くすもと,たかよし
+にしむら,さとし
+こすげ,まさな
+ふくみつ,やすみ
+やまぐち,さぶろう
+いしぐろ,かずみ
+とくだ,なおや
+ありとみ,じつろう
+ひやま,しんいち
+ひろせ,まさとし
+にしだ,とおる
+はっとり,よしみ
+ひらばやし,けんいち
+はらしま,えいじ
+はら,たみお
+はまの,かずゆき
+はまだ,まさとし
+はしもと,かつひこ
+はやし,ひさじ
+ひぐち,まさみ
+ひらの,ゆたか
+ほんま,まさはる
+はるまし,よしまさ
+はしもと,やすお
+ひだ,たかし
+ひらすか,ちょうじ
+はぎわら,こういち
+はまだ,きみえ
+はしもと,みちはる
+ほんま,みよし
+ほかり,やすひろ
+はらだ,みちこ
+はやし,けんじ
+ほりべ,かずお
+はしもと,まさお
+はせがわ,ただかず
+ひろべ,みきお
+はしもと,かずみ
+ひらの,まさゆき
+はしもと,けん
+ひじかた,つぎえ
+おおぬま,いさお
+はぶつ,ひろゆき
+ひだか,かずひろ
+はしもと,きんや
+はまの,なおき
+ひしぬま,のぶゆき
+はら,よしみ
+はなき,しんいちろう
+はら,けんじ
+はが,たけお
+はなだ,まさのり
+ひらやなぎ,のぶたか
+ほりかわ,みつのり
+ほりかわ,けん
+はしもと,あきこ
+はた,としひこ
+ひらい,じゅん
+はらぐち,やすまさ
+ひらお,ゆういち
+はしずめ,かんた
+つじ,まなぶ
+さくらざわ,ひでとし
+あべ,こういち
+あべ,まさひろ
+あべ,ひろた
+あべ,こうじ
+あべ,おさむ
+あべ,たかお
+あかぎ,やすひと
+おかもと,しずお
+えんど,みちこ
+あかいし,つねはる
+にしな,まこと
+あきもと,としお
+あきずき,まさとし
+ひらばやし,しげまさ
+あめみや,あきら
+あみの,あきひろ
+あなみ,まさかず
+あなざわ,かおる
+あんどう,ゆうぞう
+あんどう,ひろき
+あおやま,まさき
+あおやま,こうじ
+あおやま,しんいち
+あらい,こういち
+あらい,まさし
+あらい,まこと
+あらい,たまお
+あらい,まさやす
+あらき,みゆき
+すがわら,ともみ
+あさひ,しげる
+あさくら,たかし
+あさみ,ふみとし
+あさむら,かつみ
+やましな,かずお
+あさり,まさこ
+あさず,ともこ
+あつみ,よしゆき
+ばん,ひろやす
+べっしょ,けいいち
+ちば,あこ
+ちかきよ,なおひさ
+ちむら,たみえ
+どばし,たけお
+えばし,しょうへい
+えびはら,よしふみ
+えがみ,ゆきお
+えぐち,ゆきたか
+えぐち,さとし
+えじり,すぐる
+えんど,まゆみ
+えんど,たつお
+えのもと,よしつぐ
+ふちの,とおる
+ふじい,おさむ
+ふじい,てつ
+いしい,じゅん
+むらやま,としひさ
+ふじかた,たつや
+ふじかわ,かずとも
+ふじまる,ひさと
+ふじもと,くにひろ
+ふじもと,ただよし
+ふじもと,としかず
+ふじの,やすとも
+ふじお,としあき
+ふじさか,さとし
+ふじさわ,のりお
+ふじさわ,たかひろ
+ふじた,まさゆき
+ふじた,まさゆき
+ふじわら,とおる
+ふじわら,まさゆき
+ふじわら,しんしょう
+ふかだ,ふみひろ
+ふかがわ,あつひろ
+ふかの,けい
+ふかわ,せいじ
+ふかや,としかず
+ふかざわ,ひとし
+ふくだ,こうじ
+ふくい,ひろし
+ふくもと,ひろたか
+ふくもと,ひろあき
+ふくもと,まさひこ
+ふくもと,すすむ
+ふくしま,ひろゆき
+ふくとみ,りゅうさく
+ふなき,しんじ
+ふるさわ,たろう
+あびこ,まさゆき
+ふせ,のりお
+ふせがわ,よしなお
+ふしみ,なおひさ
+ぎま,かずよし
+ごみ,まこと
+ごとう,のりこ
+ごとう,ともあき
+ごとう,ひさのり
+ぐんじ,みよ
+はぎわら,よしこ
+はぎわら,いちろう
+はいの,ひさよし
+はかまだ,のりゆき
+はまだ,ゆき
+はまだ,ゆきお
+はまぐち,けんじ
+はら,しんいち
+はら,きよたか
+はら,くにひこ
+はら,まさなり
+はらだ,ますみ
+はらだ,みなこ
+はらだ,のりこ
+はらこ,たかひろ
+はるな,たかあき
+はせがわ,たくや
+おしま,あきら
+はしもと,たかし
+はたの,かずひろ
+はたざわ,かずみち
+はと,まさし
+はつみ,あずさ
+はっとり,ともゆき
+はやかわ,としひろ
+はやかわ,あつろう
+はやかわ,としひこ
+はやの,あつし
+はやせ,しんご
+はやし,たかはる
+はやし,かおり
+はやし,よしひろ
+はやし,けいじ
+はやし,せいた
+いもと,まさよし
+はやつ,ひろし
+ひがき,ひであき
+ひがし,すみこ
+ひの,けんじ
+ひらばやし,なおと
+ひらの,かずひろ
+ひらの,けいいち
+ひらおか,まゆみ
+はらさき,たつや
+ひらて,ひでお
+ひらやま,とおる
+ひろえ,よしかず
+ひろかわ,しゅういち
+ひろせ,ひでたか
+ひろし,のぶこ
+ひさむね,けいこ
+ほんだ,こういち
+ほりかわ,のりあき
+ほりこし,しんいち
+ほりこし,ひろゆき
+ほし,ゆきお
+ほしこ,まさひろ
+ひらさわ,さだゆき
+ほそい,しんいち
+ひょうどう,たかし
+ひょうどう,ゆうすけ
+いべ,しんいち
+いちかわ,まさひろ
+いちかわ,まさる
+いちかわ,ゆみ
+いちのみや,みつる
+いで,みつゆき
+いで,ゆり
+いがらし,やすゆき
+いがわ,きよし
+いぐち,しんや
+いいだ,しゅういち
+いいだ,ひろし
+いいじま,こういち
+いいつか,のぶお
+いいずか,かずのり
+いいずか,ありさ
+いからし,ともき
+いけだ,なおき
+いけだ,まさふみ
+いけだ,じゅん
+いけだ,ひでと
+いけなが,ひろお
+みつもと,ひろたか
+いけやま,ひろゆき
+いけざ,ひとし
+いけざき,おさむ
+いくた,てるゆき
+いまい,よしのり
+いまいずみ,のりひろ
+いまむら,ひろゆき
+いまむら,えいり
+いまにし,ともひろ
+いながき,かおり
+いながき,かつゆき
+いながわ,たつや
+いなほ,まさる
+いなみ,ひろみち
+いなつぐ,みさお
+いなよし,たつお
+いの,かずと
+いのおか,しんや
+いのうえ,たかゆき
+いのうえ,たけし
+いのうえ,ひでかず
+いのうえ,たかし
+いのうえ,たかあき
+いのうえ,ゆういち
+いのうえ,きくお
+いりさわ,あきひこ
+いせ,ゆきお
+いせき,かつや
+いしだ,やすのり
+いしだ,つよし
+おかだ,はるみ
+いしい,えいじ
+やまだ,ひろぶみ
+すぎはら,ひろたか
+いしかわ,かつら
+いしかわ,まさこ
+いしかわ,まさみ
+いしまる,のりこ
+いしもと,たつお
+いしもと,まさひろ
+いしもと,けんじ
+いしの,かくいちろう
+いしつか,さとし
+いしわた,たくや
+いしわた,ゆうじ
+ひらばやし,えいじ
+いしざき,もとのり
+いしずか,とおる
+いそだ,たけし
+とおか,としゆき
+くりはら,けいじ
+いとう,けんいち
+いとう,よしあき
+いとう,えつき
+いとう,ようじ
+いとう,さとし
+いちやなぎ,しげひと
+いとう,つねひろ
+ながた,かつみ
+いとう,たかはる
+かみかわ,ただみつ
+いわい,のぼる
+いわかわ,てるひさ
+いわみ,としひこ
+いわみ,たかし
+いわもと,ともこ
+いわなが,まさひろ
+いわさき,けいこ
+いわさき,ふみかず
+いわせ,ひろゆき
+いわした,おさむ
+いわた,こうせい
+いわた,さとし
+いわたて,ひでき
+いずみ,みわ
+じんの,たかやす
+かがわ,ひでお
+かいぬま,のぶお
+かじた,たかみち
+かけがわ,かずたか
+かきぬま,なおき
+かまだ,たかひろ
+かまた,ひろき
+かめたに,くにあき
+かみ,まさのり
+かみむら,まさし
+かみやま,まさゆき
+かなうち,たかゆき
+たけうち,みき
+かねこ,やすのぶ
+かねこ,やすき
+かんぬき,せいいち
+かのう,きよくに
+からはし,ひろあき
+かさい,みのる
+のむら,えみこ
+かさい,ももこ
+かせ,じゅんいち
+かしくら,よしろう
+かしむら,さとし
+かしわぎ,かよこ
+かたの,てるひさ
+かたおか,やすし
+かとう,おさむ
+かとう,なおき
+かとう,けい
+かとう,まさはる
+かとう,たかあき
+かとう,たかし
+かとうおか,ゆかり
+かつい,じ
+かつまた,みのる
+かわばた,たかお
+かわちや,としあき
+かわだ,りせい
+かわだ,ひろゆき
+いりさわ,ふみお
+かわい,みわ
+かわかみ,けんじ
+かわかみ,みのる
+かわみ,あきら
+かわむら,けんじ
+いしい,やすき
+かわの,まさひろ
+かわむら,きよひろ
+かわさき,のぶゆき
+かわせ,なおき
+かわせ,ひろし
+かわせ,えいじ
+かわしま,えいこ
+かわたに,くにひこ
+けいだ,まさあき
+きだ,しげこ
+きだち,しげお
+きはら,ともえ
+きくかわ,ゆかり
+きもと,まさひで
+きむら,けんいち
+かまた,ひろゆき
+いくみ,まゆみ
+きのした,しげかず
+きのうち,まき
+きし,たくし
+きしもと,かずひろ
+きうち,とよあき
+こば,ひろゆき
+もり,ひでき
+こばやかわ,たけし
+くぼた,ひとし
+こばやし,てつや
+おおかわ,しん
+こばやし,てつじ
+こばやし,きよのり
+こまた,えいたつ
+こばやし,かつみ
+こばやし,かつゆき
+こばやし,かずひこ
+こだま,やすし
+こえじ,つとむ
+こぐち,けんじ
+こはた,としひこ
+こひら,きみお
+なかがわ,りえこ
+こやま,あきら
+こいで,よしろう
+こいで,じゅん
+こいけ,しげる
+こいずみ,もとこ
+こじま,たくや
+こけぐち,やすまさ
+こくぼ,ようこ
+こまつ,たかこ
+こまつ,ゆみこ
+こみや,ようじ
+こんど,かずとし
+こんど,あきら
+こんど,みえ
+こんど,たかゆき
+こんど,たつお
+こにし,たかこ
+こさか,まさひろ
+こせき,としひこ
+こしいし,たつや
+こしお,まさとし
+こすげ,としあき
+こうや,まさのり
+こやま,かずし
+こやま,おさむ
+たけち,しゅうぞう
+くぼ,としや
+くぼ,つとむ
+くぼ,ふみき
+くがい,たかゆき
+いからし,かずひろ
+くまざわ,のぶこ
+くにみつ,ひさよし
+くの,せいし
+ほしの,としや
+くらしげ,こうじ
+くりはら,みか
+なかがわ,しょういち
+やなぎだ,ゆきお
+くりやま,ひであき
+くろかわ,ひでゆき
+くさかわ,けいいち
+くさなぎ,おさむ
+くさの,ひでひこ
+くせ,さとる
+くしだ,ちえ
+くすだ,こういちろう
+くすき,ちえこ
+くすみ,ゆたか
+まえだ,たつや
+まえだ,あきお
+まえかわ,ひろこ
+まえかわ,たかお
+まがりふち,よしお
+まきの,ちひろ
+まきの,けんじ
+まなべ,まさよ
+あがつま,たつゆき
+まるお,しげる
+まるた,なおき
+まるやま,ゆか
+まるやま,まこと
+まるやま,たかひろ
+まるやま,ゆうじ
+ますだ,てるみつ
+ますだ,としや
+かんばら,いずみ
+まつばら,ひろし
+なかむら,ちとせ
+まつだ,くにのり
+まつだ,まさゆき
+まつい,ひろゆき
+まつい,よしのり
+まつい,しゅういちろう
+まつい,ちよこ
+まつもと,あつし
+まつもと,けんじ
+まつもと,まさかつ
+まつもと,しんや
+まつおか,みほ
+なるせ,りゅうじ
+まつや,のぶひこ
+めざわ,ひとし
+みぎた,まゆみ
+みかみ,しょうじ
+みむら,かずや
+やなぎ,こういち
+みなかた,まさゆき
+みね,まさやす
+みね,やすえい
+みのわ,きよえ
+みさわ,まきこ
+みさわ,たかひろ
+みしま,つよし
+みたむら,ともひろ
+みと,のぶお
+みつひら,まりこ
+みついし,まさふみ
+みつなり,たかえ
+みうら,ひろかず
+みやべ,けんじ
+みやじま,しげき
+みやもと,しげる
+みやもと,ともみ
+みやさか,ゆういちろ
+みやさか,けんいちろ
+みやした,ひろか
+みやした,じゅんこ
+みやざき,のりしげ
+みやざわ,かつみ
+みやざわ,たかゆき
+みぞはし,たけひこ
+さかい,ひろし
+みずの,ひろあき
+みずおち,たかお
+みずしま,けんじ
+みずた,けんじ
+もちはら,くに
+もちずき,こういち
+ももせ,しゅういち
+もり,ひろき
+もり,あきひろ
+もり,ちえ
+もり,はずき
+もり,ひでき
+もり,まもる
+もりかわ,まさよ
+もりもと,やすひろ
+もりもと,こういち
+もりもと,まなぶ
+もりむら,しんいち
+もりの,かずみ
+もりさわ,くにかず
+しまおか,おさむ
+もりした,ゆか
+もりやま,ひろこ
+もろおか,みつひろ
+もろとみ,なおき
+もとき,ただとし
+もとの,かつゆき
+もとたか,ひでき
+むぐるま,たくじ
+むかい,よしみ
+あんどう,いわお
+はね,こうき
+むらかみ,としかず
+むらまつ,つとむ
+むらしげ,かずゆき
+しもむら,じゅん
+むらた,まこと
+みょうが,たかゆき
+ながはら,ひろし
+いとう,かつみ
+ながい,けいた
+ながい,とおる
+いわと,よしき
+たけしげ,ちほこ
+ながお,あきひろ
+ながお,みちのり
+ながお,いさえ
+ふくつか,けいこ
+ながさわ,ひでき
+ながさわ,やすひろ
+ながせ,すすむ
+ながしま,あきお
+ながたに,ふみひこ
+ながわき,ひろやす
+ながやま,まさひで
+なごや,もりお
+ないとう,のぶゆき
+ないとう,さだみつ
+なかだ,たくや
+なかがき,ひろあき
+なかがわ,てるのぶ
+なかがわ,としひろ
+なかがわ,やすひろ
+なかがわ,まさし
+なかじま,とおる
+ほりうち,とよじ
+なかはら,かずひと
+なかじま,かずゆき
+なかじま,こうじ
+きくた,みか
+なかじま,としあき
+なかまる,としこ
+なかむら,よし
+なかむら,まこと
+なかむら,ちえ
+なかむら,のりこ
+なかむら,たかお
+なかむら,たかし
+なかむら,りゅういち
+なかむら,しげかず
+はっとり,まなぶ
+なかむら,さぶろう
+なかむら,とおる
+なかむら,たつじ
+みやもと,いずる
+なかにし,ひでと
+なかにし,すなお
+なかの,よしあき
+なかの,ちゆき
+なかの,やすひで
+なかの,おさむ
+なかの,つかさ
+なかの,けい
+なかの,よしのぶ
+なかお,たかひろ
+なかおか,まさかつ
+なかしま,しんいち
+なかしま,かずなり
+しなだ,あきら
+なかた,かずなり
+なかや,たくじ
+さいかわ,ひとし
+はせがわ,ひろし
+なかざわ,まみ
+なまつ,まみ
+なりた,たくじ
+なすの,たかあき
+ねもと,みねあき
+ねおい,まこと
+ねず,なおき
+にいむら,かずまさ
+にいやま,ちかげ
+にいやま,ひろし
+にのみや,ひろし
+にのみや,かずあき
+にし,たかお
+にしだ,まさのり
+にしだ,まさし
+にしどの,よしのり
+にしかわ,あきら
+にしきど,あきひこ
+にしむら,あきら
+にしな,だいいつ
+にしお,じゅんじ
+いのうえ,かずとし
+にしざわ,たかあき
+にしずか,としや
+にった,ひとみ
+のだ,わかこ
+のむら,さとし
+ののむら,ひろゆき
+のりはし,いさお
+ひの,かずゆき
+のざき,しん
+のざわ,まさひろ
+ぬまの,のぶこ
+おびせ,ひろき
+おぼかた,けんすけ
+おち,あきひろ
+はせがわ,みつあき
+まなべ,ひろゆき
+おだ,かつみ
+おだ,しんすけ
+おだ,ひでひろ
+おだ,じゅんこ
+おだくら,ぎょ
+おがた,ひとし
+おがわ,としひこ
+あべ,ようすけ
+おぐち,こうき
+おぐま,まさよし
+おぐら,たまき
+おぐら,ひでお
+むさし,みつる
+おぐら,まさひこ
+おぐり,まこと
+おおば,けんじ
+おおはし,よういち
+おおい,ひろかず
+おおいえ,けんじ
+おおくぼ,はるし
+おおくま,いさむ
+おおくま,ひろし
+おの,かつみ
+おおぬま,かよこ
+たかせ,よしひで
+おおさわ,ひでき
+おおさわ,ひろし
+おおさわ,けんじ
+おおさわ,そうすけ
+おしま,まりこ
+おしま,ひろお
+おしま,みつひろ
+おおた,しんじ
+おおたか,ひろゆき
+おおたき,たけし
+おおたに,ようじ
+おおつか,ひろのぶ
+おおつか,てつお
+おおわ,まこと
+おおわだ,ひろのり
+おおやま,ひとし
+おぞね,のぶゆき
+おか,やすし
+おか,ひろあき
+おか,かずしげ
+おか,たかのり
+おかだ,たかよし
+おかだ,ひとし
+おかだ,まさゆき
+おかだ,とよあき
+おかどめ,きよかつ
+おかもと,やすし
+おかもと,こうじ
+おかもと,ひろし
+おかむら,りか
+おかの,あきら
+おかのや,みつる
+おかお,やすじ
+おかざき,ひでお
+おき,ひろゆき
+おきもと,まさひこ
+おくむら,ともこ
+おくむら,ゆきひこ
+おくの,あい
+おまた,あきよし
+おにき,ひろゆき
+おにつか,まさあき
+おのでら,あきら
+おのざわ,ひでつぐ
+おおにし,けん
+おおにし,くによし
+おおつか,なおひさ
+おさだ,とものぶ
+おさき,たかし
+おさなみ,しずよし
+おやまだ,やすのり
+おざわ,こうじろう
+おざわ,しろう
+おざわ,やすのり
+さえぐさ,やすのり
+さえき,よしひろ
+なかじま,たけし
+さいた,ちえこ
+おがわ,やすはる
+さいとう,かずひさ
+さいとう,たかひこ
+さいとう,よしのり
+さかい,りょうじ
+さかい,ひでのり
+さかい,けいじ
+さかい,たけし
+さかい,たく
+さかい,しょうご
+さかいり,ひろゆき
+さかき,きょうこ
+さかま,まさのり
+さかまき,まさとも
+さかもと,まさとし
+さかもと,さとる
+さかもと,しゅういち
+さかた,たかし
+さかうえ,たかゆき
+さかずめ,たくみ
+なかの,ともひろ
+さくま,よしひこ
+さんぼんまつ,かずひろ
+さの,たけし
+さの,としふみ
+ささがわ,ゆたか
+ささき,ゆりこ
+ささき,やすゆき
+ささき,かずよし
+ささき,こうじ
+ささざわ,としゆき
+さとう,やすし
+さとう,かつひと
+さとう,よしたか
+さとう,たかゆき
+さとう,のぶたか
+さとう,ゆうすけ
+さとう,ひでゆき
+さとう,さとし
+さとう,おさむ
+さとう,まゆみ
+さとう,のぶお
+さとう,ひでのり
+さつま,みわこ
+さわぐち,なおと
+さわい,みちひろ
+さわらぎ,やすお
+さわたに,くにお
+せいた,あつし
+せき,まさまろ
+せき,のぶひろ
+せき,のりやす
+せきはら,あきら
+せきね,ゆうすけ
+せきね,ひろゆき
+しらいし,まさひろ
+せんが,のぶお
+せの,のりゆき
+せしも,しゅういち
+せと,たつお
+せとぐち,たつや
+てるや,ゆういち
+しいば,りか
+しばの,ともゆき
+しばさき,いくこ
+しばた,てつろう
+しぶさわ,まさふみ
+しぶさわ,よしひろ
+しち,だいえい
+しちた,たかゆき
+しげひさ,とおる
+しげさわ,みゆき
+むらた,りゅうたろう
+しまず,たかつぐ
+しまず,たつし
+きしだ,たかし
+しみず,みちお
+しみず,えいいち
+しみず,ひろし
+しみず,はやとし
+しみず,くんじ
+しみず,けいこ
+しみず,ひろしげ
+みやこし,としひろ
+しもみち,まりこ
+なかばやし,かおる
+しもおさ,たけし
+しもつじ,しんじ
+しなだ,ちかし
+しながわ,のぶお
+しんもと,まさひろ
+しの,よしのり
+しのだ,りゅうたろう
+しのだ,はつえ
+しのざき,しょうじ
+しおたに,てつひろ
+しおや,つかさ
+しらべ,いっせい
+しらがき,よしはる
+しらい,かずひこ
+しらいし,えつひろ
+しらいし,ひろし
+しらき,かずひろ
+しずた,けいこ
+しょうじ,けいた
+そのだ,みどり
+すどう,もとゆき
+すえだ,せいこ
+すえつぐ,たかし
+すがた,やすすけ
+すがわら,よしあき
+すぎの,よしのぶ
+すぎさき,ゆうじ
+すぎしま,まさる
+ながい,まりこ
+すぎやま,としひろ
+すみ,かつひろ
+すみたに,しんいち
+すさき,ひろゆき
+すすき,こういち
+すやま,とものり
+すずき,みちお
+すずき,けんいち
+すずき,こういち
+たじま,さとき
+すずき,たくや
+すずき,やすこ
+すずき,ゆたか
+すずき,あきこ
+すずき,あつし
+すずき,ひでとも
+すずき,ひでとし
+すずき,ひでとし
+すずき,ひろき
+しゅくや,じゅんいち
+たちばな,かよ
+たちやま,こういち
+たどころ,まさあき
+たがわ,まさひと
+たぐち,もとかず
+たぐち,なおゆき
+たぐち,のぶひさ
+たい,のりお
+たじま,さちえ
+たかだ,さとる
+たかだ,しげのぶ
+たかぎ,すすむ
+みやもと,たかし
+たかはま,てつお
+たかはし,やすあき
+たかはし,まさのり
+たかはし,つとむ
+たかはし,まさゆき
+たかはし,まこと
+たかはし,けんりゅう
+たかはし,としひさ
+たかはし,やすし
+たかはし,ひろゆき
+たかはし,やすのり
+たかはし,ひろし
+たかはし,もとやす
+たかはし,ゆきえ
+たかはし,やすこ
+たかはし,たかし
+たかはし,よしひさ
+たかはし,としゆき
+たかはし,さとこ
+たかはし,ひでき
+たかはし,いちろう
+たかはし,のぶあき
+たかはし,みつる
+たかなし,しん
+たかの,かつのり
+たかおか,てつや
+たかせ,しげき
+たかしな,こうせい
+たかしな,だいさく
+たかた,ひろあき
+たかやま,ひろゆき
+たかやなぎ,じゅん
+たけばやし,かつみ
+みかみ,けいすけ
+たけい,まこと
+たけき,ましゅう
+たけもり,のぶひこ
+たけむら,おさむ
+たけうち,けん
+たけや,しょういち
+たけやま,としあき
+たきぐち,としかず
+たきした,としゆき
+たきざわ,あきら
+たまい,しげる
+たみや,あきこ
+たむら,ようすけ
+たなべ,ひろゆき
+たなはし,よしゆき
+たなか,しげと
+たなか,ひでのり
+たなか,ひろゆき
+たなか,ひろき
+たなか,ゆきこ
+たなか,ひろこ
+たなか,じゅんいち
+たなか,しん
+たなか,まさかず
+たなか,じゅんこ
+こだま,よしひこ
+たなか,あさお
+たなか,のりあき
+たなか,さとし
+たなか,おさむ
+たなむら,さとし
+たんば,かずなり
+たにぐち,けいじ
+たにぐち,じゅんこ
+たにい,げん
+たにむら,とものり
+たにわき,おさむ
+たるい,しょうじ
+たさき,かずゆき
+たしろ,まさや
+たていし,なおや
+たうち,りょうこ
+たうら,ひろあき
+てらだ,よしお
+さとう,あきら
+てらにし,もりゆき
+てらした,ひろし
+てるきな,あきよ
+とべ,えりこ
+とうごう,たかはる
+とぐち,えいじ
+とじ,かつのり
+とみなが,まさと
+とみなが,やすまさ
+とみおか,なおき
+とみた,すぐる
+とみやま,ひろたか
+とねがわ,あきら
+としなり,じゅんこ
+とよだ,こうじ
+とよだ,かつや
+とよだ,まさひこ
+おおもり,よういちろう
+とずか,ひでお
+やまかわ,りゅうへい
+つぼい,じゅんこ
+つちはし,かつみ
+つちの,みのる
+つちや,よしひろ
+まき,ひでのり
+つだ,みつのぶ
+つがわ,けんじ
+つじ,さとし
+つじ,とよかず
+つじ,ひろし
+つかだ,ひろゆき
+つかもと,きよし
+つむら,たかゆき
+つなしま,ゆきお
+おくやま,まもる
+つのだ,さだはる
+つのがい,やすのり
+つしま,のぼる
+つつみ,ひろし
+つずき,かつみ
+つるおか,ひでと
+うちだ,ひさし
+うちだ,まさる
+うちだ,まさふみ
+うちだ,やすし
+うちの,あきひこ
+うちのくら,めぐみ
+うちやま,みちはる
+うちやま,たかのり
+うちやま,のぶひろ
+うだ,けいじ
+うえだ,しげる
+うえだ,なつこ
+うえだ,よしと
+うえだ,としはる
+うえはら,しげる
+うえはら,まさお
+うえはら,しんじ
+うえじま,ひろゆき
+うえき,えりこ
+うえむら,くにひろ
+うえの,たかひで
+うえの,とくひろ
+うえの,ゆうじ
+うえやま,よしこ
+うい,けいすけ
+うめだ,しょういち
+うめだ,あつし
+うめだ,ちはる
+うめだ,けんじ
+うめはら,まこと
+うめかわ,まさのり
+うるしだに,まさゆき
+いのうえ,たけし
+うさみ,ゆうこ
+うしまる,たつひろ
+うしやま,かつゆき
+うすい,こうへい
+うすい,おさむ
+うつみ,じろう
+ささがわ,かずあき
+そめや,けんじ
+わだ,まさお
+わだ,まさよし
+わだ,よしあき
+たのうえ,ゆういち
+わしだ,ひであき
+わたい,みちあき
+わたなべ,まさゆき
+わたなべ,あきお
+わたなべ,かずひさ
+わたなべ,さとし
+わたなべ,ひでき
+わたなべ,とおる
+わたなべ,ひろゆき
+わたなべ,あきら
+やぎ,かずお
+やご,まさひこ
+やはぎ,なおふみ
+やくし,おさむ
+やまだ,れいき
+やまだ,たかし
+やまだ,とみやす
+やまだ,としひろ
+やまだ,としお
+やまだ,よしお
+やまだ,ゆか
+やまがた,たけし
+やまぎし,まさえ
+はり,まさゆき
+やまぐち,かつし
+やまぐち,ともかず
+やまぐち,ともみ
+あおつか,よしさと
+やまぐち,まさのり
+やまじ,みちお
+やまもと,ひろのり
+やまもと,じゅんいち
+やまもと,けんじろう
+やまもと,かずひろ
+やまもと,ひろふみ
+やまもと,たかゆき
+やまもと,あきひで
+やまもと,としのり
+やまもと,えいじ
+やまもと,まなぶ
+やまもと,としゆき
+やまもと,なおふみ
+やまむら,ともかず
+やまなか,ゆたか
+やましな,しんじ
+やました,ゆきひろ
+やました,りんじゅ
+やました,けんじ
+やました,ひとし
+やまて,けい
+やまうち,あきら
+やまざき,ゆきひさ
+やまざき,のぼる
+やまざき,ひとし
+やなぎ,かずお
+やなぎだ,こういちろう
+やなぎだ,みほ
+やない,さとし
+やなか,ただし
+やすだ,まさみ
+やすだ,いわお
+やすだ,せきこ
+やすもと,かずや
+やつか,なおき
+やざわ,みずほ
+よだ,てつや
+よどがわ,のりお
+よだ,ひろのり
+よこはた,ひろや
+よこやま,いわお
+よこやま,しげる
+よもり,あきよし
+よねもち,よしつぐ
+よろずや,なおひさ
+よしだ,たつぞう
+よしだ,たかし
+よしだ,のりお
+ふじさき,こういち
+よしだ,ひとし
+よしだ,てつお
+よしまつ,ちはる
+よしもと,ゆうすけ
+よしむら,かつや
+いしばし,ただし
+よしの,たつや
+たかの,けいご
+ゆはし,しょうこ
+えだひろ,みどり
+はらだ,まさゆき
+はやさか,りゅうせい
+いながき,まさき
+いのうえ,さとし
+いしはら,たかし
+こじま,やすひさ
+こすぎ,しんご
+くぼた,なるみ
+もり,たかし
+なかばやし,なおひさ
+ねもと,たかし
+にのみや,けい
+おがわ,めぐみ
+おおたに,まさこ
+せき,くみ
+しぶたに,つとむ
+しんと,ひろゆき
+そぶえ,ひとし
+たかはし,たけし
+たかせ,まみこ
+とよだ,ひろひで
+うえだ,しんたろう
+やまもと,やすゆき
+やまずみ,ひろし
+よしだ,こうじ
+あさかい,なるとし
+ふくた,かずみ
+かわさき,かずお
+ひろせ,よしかず
+かさはら,せつこ
+おざわ,けいいち
+かとう,けいいち
+なかむら,せいえい
+たぐち,ひろむ
+あだち,りょうせい
+あかし,よしひさ
+あきやま,えみ
+あおき,しょうじ
+あらき,ともたけ
+あさひ,ふみのり
+あさの,としひこ
+あわの,おさむ
+あわの,じゅんじろう
+どうじ,なおゆき
+どうぞの,せいや
+ふちかみ,かつろう
+ふじい,けんじ
+ふじい,こういち
+ふじいえ,のぶや
+こわ,しゅんいち
+ふじしろ,まさお
+ふじた,ようこ
+ふじた,ひろゆき
+ふじわら,こうじ
+ふくだ,なおゆき
+ふくだ,たつお
+ふくだ,けん
+さいとう,おさみ
+ふくやま,じゅんいち
+ふるはた,こうじ
+ごとう,ひろかず
+はむろ,おさむ
+はせ,たくひさ
+はしもと,まさひろ
+はしもと,じゅんいち
+はっとり,じゅん
+はやし,かつひこ
+はやし,としあき
+はやし,まさかず
+はやし,しげみつ
+はやし,めい
+はやし,まさつぐ
+ひび,ひろゆき
+ひぐま,たくや
+ひらい,ひろたか
+ひらかわ,つねとも
+ひらの,かずひこ
+ひろなか,みのる
+ほりぐち,のぶあき
+ほさか,さとし
+ほそや,せいじ
+いちい,しげゆき
+いちかわ,もとひろ
+いぐま,えいいち
+いいさか,まゆみ
+いかわ,いわお
+いけだ,あゆこ
+いけだ,いくじろう
+いけがみ,まもる
+いのうえ,しろう
+いのうえ,ひさあき
+こばやし,とくじろう
+いしばし,やすひさ
+いしだ,よしゆき
+いしまる,みわ
+いしずか,としゆき
+いそ,ひであき
+いとう,ひであき
+いとう,あきひこ
+いとう,まさひろ
+いとう,さわこ
+いとう,てつや
+いとう,よしみね
+いとう,けんいち
+いわた,さとし
+かりや,せいいち
+がさき,しげお
+かが,かずひさ
+かげやま,つよし
+かじなみ,たかゆき
+かみひらた,ひろゆき
+かなもり,たつや
+かねこ,てるお
+かねこ,よしお
+かにわ,あきら
+かさま,のりまさ
+かせ,ひろゆき
+かしむら,ふみとし
+かたおか,けんじ
+かとう,じゅんこ
+かとう,けいじ
+かとう,こうた
+かとう,あきひこ
+かとう,のぶひで
+かわち,けいこ
+かわぐち,ちさと
+かわの,みつお
+かわしま,てつじ
+きくち,ともあき
+きもと,よしひろ
+きむら,かつや
+きのした,てつ
+きしはら,つぐあき
+きしかわ,ひでゆき
+きた,りえ
+きたがわ,みちはる
+きたの,りえこ
+きたやま,せいこ
+きよおか,まさよ
+きよせ,つかさ
+こばり,たてき
+こばやし,かおる
+こばやし,こうたろう
+こぼり,たまみ
+こいわ,たけし
+こじま,ふみよ
+はしもと,こういち
+こみやま,たかひろ
+こんど,ともゆき
+こんど,のりこ
+こんど,ようすけ
+こしかわ,あきふみ
+こてがわ,けんじ
+こわ,のぶゆき
+くぼた,しょういち
+くぼた,ひろゆき
+くどう,はやと
+くが,よしひろ
+もり,ゆきひろ
+くにたけ,はじめ
+くらかけ,ひろかず
+くり,まさひと
+くさふか,しのぶ
+くわばら,とおる
+まちだ,ひろゆき
+まるやま,ゆき
+たけうち,あきお
+まつば,あつし
+まつばら,たけろ
+まつだいら,まき
+まつもと,よりこ
+まつもと,よしあき
+まつなが,みほ
+まつお,まさや
+まつお,のりゆき
+まつお,しんや
+みくに,やすし
+みながわ,わたる
+みながわ,しげる
+みのて,ともあき
+みた,よしくに
+みとめ,たけし
+みつやま,しゅういち
+みやち,たかふみ
+みやじ,こうじ
+みやじま,みつお
+みやた,けいこ
+みやざき,きよあき
+みやざき,まこと
+みやざと,よしなり
+みやざわ,ひろき
+みぞぐち,もとこ
+みずい,まさよし
+もんの,えいじ
+もり,みつひろ
+もり,のりすみ
+もりた,くるみ
+もりた,としあき
+もりやま,まりこ
+むらかみ,りゅういち
+むらかみ,こういちろう
+むらかみ,みのる
+むらまつ,しんすけ
+むろぞの,ひろあき
+ながぶち,ひろし
+ながの,みつる
+ながせ,りゅういち
+ながたに,しほ
+なごや,ひろあき
+なかがわ,かおり
+なかみち,しょう
+なかむら,じゅんいちろ
+なかむら,まさのり
+なかの,ひろし
+なかしま,ひろのり
+にしだ,じゅん
+にしはら,あつと
+にしむら,しんや
+にしおか,かずひこ
+のぐち,のぼる
+のせ,まさずみ
+おばた,ゆうじ
+おちあい,いくこ
+おちあい,ひでひこ
+おがわ,たかし
+おがわ,まさと
+おがわ,たみや
+おがわ,かつとし
+おぎの,まゆみ
+おぐら,たかあき
+こんど,やすゆき
+おおえ,まさみち
+おおがき,じろう
+おおにし,のりあき
+おおの,まさみち
+おおた,ひろし
+おしろ,かずしげ
+おおた,たかし
+おおたしろ,ひでき
+おおつ,まさかず
+おおつ,めぐみ
+おおやぎ,えいじ
+おおやま,ちはる
+おかもと,ひろぶみ
+おかやま,みつより
+おけたに,たつこ
+おくやま,くみこ
+おのでら,ひでとし
+おざわ,みのる
+さいとう,かずひで
+さいとう,てるお
+さいとう,たかのぶ
+さかぐち,ひろかず
+さかなか,もとむ
+さかにわ,よりこ
+さかうち,としたか
+さくらい,つとむ
+さくらい,まさゆき
+さの,たくや
+ささき,まさみ
+ささき,えり
+ささき,りえ
+ささま,まさかず
+さとう,たけや
+さとう,ひろゆき
+さとう,たかし
+さとう,みわ
+にしまた,てつお
+さわだ,まさひさ
+せんば,ゆういち
+せと,よしのり
+しぶや,ゆきお
+しい,みさこ
+しまだ,こうへい
+しまだ,みえ
+おかもと,まさとし
+しながわ,さちえ
+しんかわ,ひさや
+しんきゅう,まさゆき
+しのだ,てるえ
+しのはら,せいいち
+あさかわ,かおる
+しおはら,まさと
+しろた,かつひろ
+すぎもと,かずひで
+すぎやま,きよたか
+すぐち,のぶこ
+もろとみ,はるこ
+すずき,まさふみ
+たぐち,あきお
+たぐち,ゆうじ
+たはら,ひろゆき
+たかぎ,よしお
+たかはし,かずお
+たかい,けんじ
+たかやま,かずこ
+たけ,なおき
+たけばやし,りゅうじ
+たけかわ,じゅんこ
+たけうち,かほる
+わたなべ,こうじ
+たけうち,ひでき
+たみや,まさかず
+たむら,ひろし
+たなべ,まさひろ
+たなか,けいこ
+たなか,のぶこ
+たなか,つよし
+たにぐち,あつし
+たにぐち,かずひろ
+たにむら,たつお
+たのうえ,あきひろ
+たるさわ,あきこ
+たしろ,としはる
+てらだ,ゆきひこ
+とうが,ひでみね
+とがし,しげお
+とうごう,しんや
+とくなが,あやこ
+ともの,かずみ
+とよだ,ようじろう
+つちや,ひろあき
+つかはら,のぶひろ
+うらさき,ゆうじ
+わだ,ともやす
+わだ,れいこ
+わたなべ,まさとし
+わたなべ,ふみお
+やぎぬま,けいこ
+やまだ,としあき
+やまだ,ひさし
+やまだ,けいじ
+やまもと,まさあき
+やまもと,ひでと
+やまもと,たつや
+やまもと,ゆきひろ
+やまなか,ちひろ
+やまなか,かおる
+やました,まさひろ
+ひぐち,じゅんじ
+やまざき,ふみの
+やなぎ,ひろし
+やすだ,のぶゆき
+やすえ,としや
+よこえ,のぶあき
+よこやま,りえこ
+よねはら,こういち
+よねみつ,まこと
+よりまつ,ともこ
+よしだ,ふみひろ
+よしの,みつひろ
+よしたき,おさむ
+ゆかわ,じゅんや
+ゆり,ともお
+もり,たかひさ
+ささき,かつひこ
+しらはま,たけひろ
+てんぱく,ゆういちろ
+うちだ,なおや
+やまうら,とおる
+まつぐま,ふみこ
+あべ,ひろゆき
+あべ,かつみ
+あべ,かずお
+あべ,なおあき
+あだち,ななお
+あいはら,つよし
+あじま,やすあき
+あかさか,とおる
+あきもと,こうぞう
+あきやま,たかし
+あきやま,たつや
+あくね,ひろし
+あまの,まなぶ
+あまの,ちあき
+あめみや,まさつぐ
+あんどう,みき
+あんどう,みわ
+あんどう,かずお
+あんじき,ゆうこ
+あんぺいじ,しゅんいち
+あおき,よしこ
+あおき,しげはる
+あおき,ゆきこ
+あおき,じゅん
+あおき,としあき
+はらしま,りか
+あおき,つとむ
+あおき,なおひさ
+あおやぎ,たかゆき
+あおやま,よういち
+あおやま,けいすけ
+あらい,こういち
+あらき,まこと
+あらき,かつじ
+あらた,みき
+あらや,しんいち
+こばやかわ,やすひろ
+ありた,なるひと
+あさば,よしゆき
+あさか,ともちか
+あさくら,たつお
+あさの,しゅうじ
+あさの,ともあき
+あしべ,まさひこ
+あわみや,ひろゆき
+あざみ,つとむ
+あぜやなぎ,ひろみ
+あずま,りえ
+あずま,たかゆき
+あずま,なおゆき
+ばば,よしかず
+ばば,かつゆき
+ばば,だいすけ
+ばなか,かずや
+さたけ,けいこ
+ちば,もとはる
+ちぎら,のぶひこ
+ちはら,たかふみ
+ちかい,あつし
+ちゅうま,たけし
+だい,まさひろ
+だいお,ひでき
+だて,ひろし
+でぐち,こうじ
+でわ,えみこ
+どい,たいぞう
+えびさわ,ひろみつ
+なかむら,たかこ
+えいもり,はるみ
+えんど,なおき
+えんど,たかお
+えのもと,けいこ
+ふじい,ひろかず
+ふじい,けんいちろ
+ふじい,たつのり
+ふじい,みつよし
+ふじい,としあき
+ふじかわ,しのぶ
+ふじもり,あきこ
+あおき,あきら
+ふじもと,なおや
+ふじおか,てつろう
+ふじた,やすひさ
+ふじた,むつお
+ふかお,しんいち
+ふくだ,かつひこ
+ふくだ,ひろし
+ふくい,ひでお
+ふくい,こうじ
+ふくもと,ひでたか
+ふくしま,ひでのぶ
+ふくしま,のぶこ
+ひの,さち
+ふくざわ,きょうこ
+ふくざわ,みきこ
+ふなだ,ゆうこ
+ふるだて,けいこ
+ふるや,けいすけ
+ふたむら,みきや
+なかむら,もとひさ
+ごとう,しげき
+ごとう,かずや
+ごとう,かいちろう
+ごとう,ようこ
+はば,ようこ
+はちやま,まさみ
+はぎわら,しん
+はまべ,たかゆき
+はまだ,よしみ
+はまだ,たかひで
+まえおか,ひとし
+はなみ,やすひで
+はなおか,あきこ
+せざい,なおき
+はら,りょうじ
+さとう,せいご
+はら,あつし
+はらだ,なつみ
+はらだ,えいいち
+はらだ,かずひこ
+はらだ,まさあき
+はらだ,みつのり
+はりま,なおき
+ほんま,のぶあき
+はるやま,しげる
+はせ,よういち
+はせがわ,たつお
+はせがわ,やよい
+はせがわ,けんたろう
+はせがわ,あきひこ
+はしぐち,ひとし
+はしもと,かつこ
+はしもと,かずや
+はしずめ,こうたろう
+はしずめ,みわ
+はしずめ,しゅんすけ
+はた,しんいちろう
+はたの,ちから
+はたの,かずとも
+はとり,なおき
+はっとり,たけし
+はっとり,よういち
+はっとり,あきひこ
+はっとり,ゆき
+はっとり,さとし
+はっとり,まさき
+はっとり,わたる
+はやかわ,けいこ
+はやかわ,なおみ
+はやみ,すみひと
+はやし,ひであき
+はやし,ゆみこ
+はやし,まさたか
+はやし,まゆみ
+はやし,やすひろ
+ささたに,あきら
+はやし,まさのり
+はざま,せいいち
+へんみ,かなこ
+ひび,ともみ
+ひだか,とうこ
+ひだか,ゆうこ
+ひだか,たろう
+ひえだ,みちかず
+ひがき,しょうじ
+ひがし,よしひさ
+ひいどめ,ひろみち
+ひじくろ,せいいち
+ふくい,いさお
+ひま,よしき
+ひおき,とうめい
+ひらい,まり
+みき,まさゆき
+ひらの,ふきよ
+ひらの,かずひろ
+ひらた,しろう
+ひらつか,ふみかず
+ほだ,ひろき
+ひらやま,なおこ
+ひろべ,きくみ
+ひろい,まさひろ
+ひろさわ,まさひろ
+ひろさわ,なおこ
+ひろすえ,じゅんこ
+ひろた,おさむ
+はやま,ゆうこ
+ひろわたり,さゆり
+ひさもと,みかこ
+ひさの,よしあき
+ひさゆき,ゆかり
+ひしだ,ひろし
+ひしたに,やすし
+わだ,ふみえ
+ひやま,のぶひこ
+ありくら,ゆたか
+ほんだ,みのる
+ほんだ,けいすけ
+ほんごう,まさと
+ほんま,ゆういち
+ほんま,あきのぶ
+まつもと,けんた
+ほり,まなぶ
+ほり,あきと
+ほりべ,としゆき
+ほりえ,あきのり
+ほりえ,まさひこ
+ほりえ,ただし
+ほりうち,よしふみ
+ほしば,とおる
+ほしかわ,ひでお
+かとう,なおき
+ほしな,こういち
+ほり,のりゆき
+ほしの,たかし
+ほそだ,のぶお
+ほった,さおり
+ほちど,たかや
+いぶか,よしてる
+いちかわ,ひとし
+いちかわ,まりこ
+いちます,つとむ
+いちのせ,かつみ
+いで,まさひこ
+いがらし,まさと
+いがた,えいいちろう
+いい,ゆりこ
+いいだ,まさよし
+いいだ,まさゆき
+いいだ,しんじ
+いいの,いちろう
+いいより,みちはる
+いいずか,まこと
+いかるぎ,かつや
+いかわ,けいすけ
+いけち,まみ
+いけだ,こういちろう
+いけだ,もとはる
+いけだ,たかこ
+いけだ,たかゆき
+いけがみ,ともひろ
+いけじり,かずや
+いけたき,くにおみ
+いくもと,しん
+いまい,たけし
+いまい,れいこ
+ほそい,けんたろう
+いまい,さぶろう
+いまにし,たけし
+いなだ,はじめ
+いながき,まなぶ
+いなげ,けんいち
+はざま,ひさもと
+いの,じゅん
+いのまた,けいたろう
+いのうえ,りえ
+やすかわ,たかひと
+はる,とおる
+いのうえ,てるお
+いのうえ,つとむ
+いのうえ,ふみのり
+いのうえ,ひろひさ
+いおき,まさみち
+いりえ,のぶゆき
+いさか,とおる
+いさか,わたる
+おおもり,けんいちろ
+いしばし,まなぶ
+いしだ,けいいち
+いしだ,うらら
+いしはら,よしと
+いしはら,はるお
+ひらと,ひでお
+いしい,けいじろう
+いしい,みきお
+いしい,あつし
+いしい,はるお
+いしい,けいじ
+いしい,まさこ
+はねいし,しんすけ
+いしい,やすし
+いしかわ,ようこ
+いしかわ,ようすけ
+いしかわ,よしひこ
+いしかわ,ゆか
+いしかわ,のりこ
+いしおか,よしゆき
+いしつか,としゆき
+いしわた,ありひろ
+いしざか,こうじ
+いしざか,えいいち
+いしざき,こうじ
+いしずき,なおと
+いそ,しげひと
+いそがい,ゆうこ
+いたば,ゆうじ
+いとう,いのり
+いとう,まさひろ
+いとう,まさひろ
+いとう,ばん
+いとう,さとし
+いとう,あつし
+ひだか,ひでつぐ
+いとう,まさひろ
+いとう,ゆき
+にし,しんいち
+いわだれ,よしのり
+いわはし,ゆうこ
+いわき,みずほ
+いわもと,よしのり
+いわさき,のぶかず
+ひらつか,ひろし
+いわさき,ひろゆき
+いわさき,まさゆき
+いわさき,ひろゆき
+じんぐう,さとこ
+いわしげ,まこと
+いわた,ひろし
+じんぐう,よしのり
+ご,やすかず
+かが,かつや
+かがぶ,しんじろう
+かぎやま,ひでお
+かい,ゆうぞう
+かいだ,のりゆき
+かいだ,のりまさ
+かまち,ひろゆき
+かまだ,まさこ
+かまほり,ともひこ
+かまた,こういちろう
+かめだ,まゆみ
+かめい,ふみひこ
+かみの,たけし
+かみの,ひとし
+かみとの,りゅうじ
+かみや,のぶゆき
+かみや,ちあき
+かみやま,けんぎ
+かもん,ひでき
+かもん,えいたろう
+かん,とものり
+かない,のりこ
+かない,すみこ
+かなじ,まさゆき
+かなおか,たみお
+かなざわ,かつひさ
+かんべ,さおり
+かんだ,やすたか
+かんだ,ちえ
+かねき,えいすけ
+かねきよ,ひろと
+かねこ,ひろゆき
+かねした,かずひろ
+かねやす,なおや
+かのう,しんじ
+かのう,たけし
+かんずい,たみゆき
+かさはら,ななこ
+かさはら,ひでひさ
+かさい,えいいち
+かさまつ,くにとし
+かさも,けんいちろ
+たまたに,しま
+かしわぎ,ゆりみ
+かしわぐら,ひでゆき
+かただ,さちこ
+かたおか,なおき
+ほし,ひろと
+かたおか,しゅうじ
+かとう,ひろき
+かとう,やすゆき
+かとう,もりひろ
+かとう,しんいち
+かとう,りょうた
+かとう,けいこ
+かとう,てるひこ
+かとう,じゅんこ
+かとう,みちや
+かとの,きよし
+かつむら,ひでき
+かわばた,いちろう
+かわごえ,あきら
+かわぐち,こうじ
+かわはら,ますみ
+かしむら,ゆうこ
+かわい,なおみ
+かわい,ひろゆき
+かわもと,まなぶ
+かわむら,さとる
+かわむら,しゅうじ
+かわな,ゆきひと
+かわな,まさかず
+かわなみ,ひでひこ
+かわの,しんじ
+かわせ,じゅんいちろ
+はらだ,しゅうこう
+かわしま,のぶこ
+かざみ,なおと
+かずさわ,やすひろ
+きばやし,ゆういち
+きだ,たけし
+きはら,よしひこ
+きくち,ひろし
+きくち,いちろう
+さいとう,けんじ
+きくい,つよし
+きもと,ようこ
+きむら,のぶゆき
+きむら,つよし
+きむら,としつぐ
+きむら,たかひさ
+きむら,はるみ
+きの,かずまさ
+きりの,かずや
+きさぬき,まこと
+きし,まさき
+きし,なおき
+きしだ,さとし
+きしかわ,しん
+ひらて,しんじ
+きしなみ,やすまさ
+きそ,よしお
+きた,ひであき
+きたがわ,なおみ
+きたじま,ひろゆき
+きたじま,せいか
+きたむら,のりこ
+きたの,としゆき
+きたざき,ただし
+きたざわ,たつし
+きよはら,つとむ
+はしもと,おさむ
+のざき,ふみきよ
+こばやし,ふみお
+こばやし,まさゆき
+こばやし,なおき
+こばやし,たかはる
+こばやし,けんじ
+こばやし,あつし
+こばやし,えいじ
+こばやし,さちこ
+こばやし,しょうじ
+こばやし,ともひろ
+こうち,ゆき
+こだま,やすひろ
+こが,あきひろ
+とうどう,しゅういち
+こはら,なおすみ
+こひ,はるみ
+こんの,ひろふみ
+こいけ,とおる
+こいわ,ともゆき
+こいずみ,しゅうご
+こじか,みえこ
+こじま,ながお
+こじま,りちこ
+こじま,かずひこ
+こじま,さとし
+こまつばら,りゅうた
+こみや,きよし
+こもだ,あきよし
+こむろ,としゆき
+こんど,なつみ
+こんど,けんじ
+こんど,けんいち
+こさけ,こういち
+こせ,たかし
+こすぎ,たけし
+こずか,やすのり
+くぼ,はるみ
+くぼ,たけひろ
+くぼ,なおき
+くぼ,しげお
+くぼ,ひろし
+くどう,まり
+くどう,せいいち
+くどう,まさき
+くまかわ,けんじ
+くまくら,けんいち
+くましろ,せいいち
+くまた,しろう
+くにもと,じゅんじ
+くらもち,しゅういち
+くらしま,ひろし
+くりはら,かずひろ
+ひらい,こうじ
+くりはら,よしゆき
+くりはら,かつよ
+くりはら,ゆうじ
+くりはら,てつお
+くりはし,みつのぶ
+くりす,ようこ
+くろだ,あつし
+くろだ,ひろゆき
+くろき,たかひろ
+くろき,ともこ
+くろき,えいじ
+くろめ,まこと
+くろさわ,えいじろう
+くるみや,こうき
+くさやなぎ,まさとし
+くすのせ,なおおみ
+くわはら,しんじ
+まちだ,ようこ
+まだらめ,としたか
+まえだ,さとし
+まえだ,さとる
+まえだ,しんいちろう
+まえがわ,ふみひで
+まえはら,ぎんじ
+まえきた,かずこ
+まきの,たかひろ
+しぶたに,こうじ
+まなべ,よしのり
+まるやま,あきら
+まるやま,ひろゆき
+まるやま,けいいち
+まさおか,たかし
+ますぶち,よしのり
+ますだ,ゆうこ
+ますだ,よしはる
+ますだ,たかとし
+ますだ,たくや
+ますだ,ひろかず
+ますだ,ひろき
+まつば,のぞみ
+はら,けんじ
+まつだ,けんじ
+まつだ,だいすけ
+まつふじ,あきお
+まつふじ,かずなり
+たちくい,みき
+まつい,しんじ
+まつかわ,たかひろ
+まつまる,しゅうさく
+まつもと,あきお
+まつもと,かずのり
+まつもと,あきひこ
+まつもと,のりこ
+まつもと,ひろし
+まつもと,つとむ
+しおばら,しんいち
+まつむら,しゅんいち
+まつむら,よしのり
+まつなが,ゆきこ
+まつなが,まさひろ
+まつなみ,よしこ
+まつお,としや
+まつお,ともひろ
+まつおか,えいこ
+はやしだ,かずひろ
+まつおか,せいいち
+あぜやなぎ,せいじ
+まつおか,しんご
+まつおか,ひろあき
+まつせ,たかゆき
+まつしま,けんじ
+まつした,こうじ
+まつたに,しんじ
+まつわか,さとし
+まつやま,あきら
+まつざき,きくお
+まつなが,まこと
+ほんな,きわむ
+めかた,けんじ
+みかじり,きょうこ
+みかみ,しんすけ
+みかみ,ひでお
+みき,まさゆき
+みみた,みちろ
+みなくち,ふみはる
+みなみ,さとし
+みなみ,ともゆき
+みなみ,あきら
+みなと,しょうじ
+みね,よしたか
+みね,あつし
+みしま,こうじ
+みしま,おさむ
+みその,ひろひさ
+みたむら,まさとし
+みたんだ,けんいち
+みつぼ,よしかず
+みつぼし,としひろ
+はすむら,としふみ
+みつはし,ひろみつ
+しなだ,ひろゆき
+みつま,かずひと
+みやはら,じつや
+みやはら,ひではる
+みやい,みえこ
+みやじま,ゆかこ
+みやもと,かずなり
+みやもと,ひでのり
+みやした,ひろゆき
+みやた,ひろゆき
+みやた,かおる
+みやうち,けんじ
+みやうち,おさむ
+みやうら,たけひさ
+みやざき,たけし
+はしぐち,しげき
+みやざわ,こうじ
+みやざわ,あきお
+みやず,やすひと
+みぞかみ,じゅんいち
+みずの,てつひこ
+みずの,としゆき
+みずたに,のぶゆき
+もちだ,あきひろ
+もちずき,あきお
+もちずき,じろう
+みよし,たかし
+もり,まさき
+もり,まさし
+もり,だいいち
+もり,まさゆき
+もり,てつや
+もり,ひろかず
+もり,つねあき
+もり,いずみ
+もり,ひろかず
+もりぐち,ひろき
+もりかわ,こうじ
+もりなが,まさし
+もりさき,あけみ
+もりた,よういち
+もりた,えいじ
+もりや,むつお
+もりやま,ひでお
+もてぎ,みつひろ
+もとき,くにひろ
+はぎわら,のぶよし
+むかいだ,しこ
+むねひろ,ひでゆき
+むねかた,かずよし
+むらかみ,つよし
+むらかみ,やすひろ
+むらかみ,やすお
+むらこし,ひろこ
+むらまつ,まさと
+むらぬき,けいじ
+むらた,ゆきもと
+むらた,まさき
+むらた,せいじ
+むらやま,よしはる
+やました,あきひろ
+むろた,ひろかず
+みょうじん,みちお
+ながい,のりこ
+ながぬま,ゆきお
+ながお,えり
+ながおか,みほ
+ながさわ,かおる
+ながしま,たかし
+ながしま,よしかず
+ながた,よしやす
+ながた,ちえこ
+はせがわ,ひろあき
+いがらし,かずひろ
+ながやま,けんじ
+ながよし,まさかつ
+ないとう,まさき
+なかばやし,まさのり
+なかがわ,しんいち
+なかごめ,さとし
+なかしま,としあき
+なかじま,やすまさ
+なかじま,ゆうこ
+なかじま,てるみ
+なかじま,くらと
+なかじま,ゆうじ
+なかくき,しんいちろう
+なかまる,りか
+なかみち,みか
+なかもと,ゆきひろ
+なかもと,ひろかず
+なかもと,ひろゆき
+わたなべ,ひろふみ
+なかむら,まさなり
+なかむら,しんいちろう
+なかむら,せいじ
+なかむら,かずのり
+なかむら,ゆうじ
+なかむら,てるゆき
+はぎわら,さとこ
+なかむら,まきこ
+なかむら,ひでゆき
+なかむら,てつや
+なかむら,けんた
+なかの,やすし
+なかお,ゆうこ
+なかお,ひろゆき
+なかおか,ともゆき
+なかしま,さとし
+にしじま,たかし
+なかや,わたる
+なかやま,ひろし
+なかざと,かつあき
+なまため,まもる
+なめら,もりひと
+ななみ,ただとし
+なんば,たかお
+なん,けいすけ
+なんぽ,あきら
+ならぶ,ひでき
+なりはら,ひろみ
+なりとみ,なおき
+なるしま,まこと
+なすかわ,じゅんや
+なとり,けんや
+ねぎし,えみこ
+ねもと,いずみ
+にえだ,とおる
+にいじま,まこと
+にいくら,まさる
+にいつま,けんじ
+にいざわ,よしのり
+にしだ,ひろひと
+にしだ,たけし
+にしだ,えいじ
+にしだ,ひでと
+ひだか,ゆきまさ
+にしだ,やすお
+にしかど,あつし
+にしかわ,えいじゅ
+にしかわ,ともあき
+にしかわ,まさのぶ
+にしもと,ひでや
+にしむら,まさのり
+にしな,きよし
+にしの,ひろかず
+にした,みき
+ふかみ,かずよ
+にしわき,たけひこ
+にしやま,かつし
+にしやま,ひとし
+にしざわ,よしひろ
+にった,ひろよし
+にわた,ほずみ
+にわやま,ちず
+のあみ,くにこ
+のぼりたて,まなぶ
+のだ,たかゆき
+のがわ,ひろや
+のぐち,ともあき
+のぐち,たかし
+のじり,ひろゆき
+のもと,ゆうこ
+のむら,みきこ
+はやさか,かずひろ
+のむら,まさひろ
+のと,そのみ
+のざき,としや
+こさか,やすし
+おばな,あやこ
+おち,まさてる
+おだ,はるのぶ
+おがさわら,かずてる
+おがた,ひろやす
+くき,ゆたか
+おかだ,ひろあき
+おがわ,ひろゆき
+おがわ,まさゆき
+おがわ,やすのり
+おぎはら,かずとし
+おぎの,こういち
+おぶ,みか
+おおはら,ただひこ
+はまもと,やすこ
+おおはら,ゆうじ
+おはし,さとし
+おおかわ,まさと
+おおくぼ,まさあき
+おおみや,せいじ
+おおもり,てつや
+おむら,りょういち
+おおにし,まさたか
+おおの,ひろやす
+おおぬき,かずお
+おおさき,さとし
+おおさき,ゆうこ
+おおさわ,しろう
+おしま,たけし
+おしま,たかお
+おしま,つとむ
+おおた,やすお
+おおた,のぶひろ
+おおた,みか
+おおた,ひろし
+あんどう,けんいち
+おたか,たかあき
+おおたき,ふとし
+おおたに,かずひこ
+おおたに,のりひさ
+おおたに,まさかず
+はやし,ゆきこ
+おおつぼ,たけひさ
+おおつか,よしのり
+おおつか,えいき
+おおつか,あつし
+はやし,えみこ
+おおつる,みちえ
+おふち,としこ
+おおわ,たけし
+おおや,むねお
+おじお,ふみのぶ
+おか,まさとし
+おかべ,あゆむ
+おかだ,まさき
+おかだ,たかや
+おかだ,とおる
+おかだ,ひろゆき
+おかもと,たかゆき
+おかもと,ゆう
+おかもと,ともゆき
+おかむら,ひろくに
+おかむら,けいいち
+おかざき,ひろとし
+おかざき,こうたろう
+おきの,かおる
+おくだ,はじめ
+おくだ,まさのり
+おくがわ,じゅんいち
+はぎはら,けんじ
+おくうち,むねし
+おおみ,あやこ
+おむら,ひとし
+おんだ,かずひろ
+おおの,ゆたか
+おおの,ひょうぞう
+おおの,みのる
+おおの,しゅんすけ
+おのでら,まさひこ
+おのでら,よしのり
+おのでら,としお
+おのむら,みのる
+おのざわ,しんや
+おおぬき,てつろう
+おの,たかあき
+おおやま,ひとし
+おりど,ひであき
+おりしきだ,こういち
+おおさか,ただお
+おやま,たいち
+おざき,たつや
+おざき,よしまさ
+おざわ,ゆうすけ
+こざわ,ひろし
+おざわ,まさはる
+おざわ,たけし
+はたなか,みつひろ
+さえき,りょうこ
+さいだ,ももこ
+さいぐさ,ひろし
+はんだ,たけし
+さいとう,やすとも
+さいとう,まさひさ
+さいとう,しげひと
+さかち,まさお
+さかぐち,こうじ
+さかい,みのる
+さかい,こうぞう
+ひらの,あきひろ
+さかい,あきら
+さかい,ひろみ
+さかい,みきお
+さかい,なおき
+さかもと,たかし
+さかもと,やすひろ
+ひろせ,よしあき
+さかもと,ようきち
+さかた,ともじ
+きしだ,ひろあき
+さこ,あかし
+さくま,まさる
+さくらば,えみ
+さくらい,はるみ
+さくらやま,ひろし
+さめしま,かずよし
+さんべ,まこと
+さるわたり,まさき
+はせがわ,まさと
+ささえ,なおき
+ささはら,りょうじ
+ささき,たかまさ
+ささき,たかし
+ささき,ゆたか
+ささき,ゆきこ
+はびろ,ゆたか
+ささお,かずしげ
+ささおか,ともこ
+ささたに,よしみ
+さた,ともみ
+さたけ,としき
+さとう,じゅん
+ほしの,けいじ
+さとう,まさはる
+はっとり,しんや
+さとう,とおる
+さとう,しげき
+さとう,ゆきたか
+さとう,りょういち
+さとう,たつき
+さとう,けいじ
+さとう,まりお
+さとう,としあき
+さとう,けいいち
+ひらの,ひろあき
+さとう,ひろゆき
+さとう,やすのり
+さわだ,けいいち
+さわだ,こうへい
+さわふじ,たかひろ
+さわき,こうへい
+さわむら,ひろし
+せがわ,しんたろう
+せがわ,かずき
+せき,りつこ
+せき,たいち
+せきぐち,ひさし
+せきね,かずあき
+せきね,かつみ
+ひらの,えいいち
+せんごく,やすし
+せお,ひろし
+せら,ただし
+せら,ひろかつ
+しばはら,かずの
+しばた,かずひこ
+しばた,ともひろ
+はせがわ,ともみつ
+しばた,ゆたか
+しばた,まさたけ
+しばた,まさゆき
+しばざき,まさこ
+しぶたに,ともはる
+しぶや,ともかつ
+しちひょう,きみあき
+しき,まさる
+しきしま,たけし
+しま,あきこ
+しま,こすけ
+しまだ,かつひろ
+しまぬき,たかし
+しまおか,やすたか
+しました,なおひろ
+しまず,けいいち
+しみず,ひでき
+しみず,けいすけ
+はせがわ,ちえこ
+しみず,まさお
+しみず,ゆりこ
+しみず,かずひさ
+しもがい,としこ
+しもかわべ,あきひろ
+しもおか,あきひろ
+しもさか,ひでゆき
+しもやま,てつや
+しんぼり,ひろえ
+しのはら,なおたか
+しのはら,ひさとし
+しのざき,ひろし
+しのざき,よしこ
+しのずか,けんいち
+しんや,ひでこ
+しおた,じゅんきち
+しおたに,けんじ
+しおや,とおる
+しらはま,みちひさ
+しらい,みか
+しらいし,みさ
+しらいし,やすひと
+しらいし,つとむ
+しらき,けいすけ
+しらさき,かずゆき
+しょうなご,たかしげ
+おおやま,みか
+しゅとう,ひろき
+しもいず,よりと
+そえだ,たくみ
+ほりの,ひろかつ
+そとじま,ふとし
+すだ,めいじろう
+すだ,こうこ
+すどう,ひでひと
+すが,はじめ
+すがぬま,ひろかず
+すがわら,けい
+すぎばやし,まさとし
+すぎもと,みか
+すぎもと,のぶこ
+すぎむら,のりひこ
+すぎの,さとる
+すぎさき,しんいち
+すぎさわ,たかお
+すぎた,たかゆき
+はやし,たみ
+すぎうら,とおる
+すぎやま,としや
+すぎやま,しんじ
+すご,やすお
+すいた,よしひさ
+すみだ,あつし
+すみかわ,さとし
+すなが,とおる
+すのはら,まさみ
+すずき,あきら
+すずき,ともゆき
+すずき,よしゆき
+すずき,まさふみ
+すずき,しょうご
+すずき,たけひろ
+すずき,よしのり
+すずき,かずふ
+すずき,あきこ
+すずき,かつひこ
+すずき,しげる
+やまかわ,たつお
+すずき,あさこ
+すずき,あきひこ
+はが,ひろかず
+すずき,いさと
+すずき,かおり
+すずの,かつふみ
+しゅとう,くにひで
+たばら,まこ
+ただ,まさる
+はりがい,たかのぶ
+ただ,まさゆき
+たがしら,みなこ
+たぐち,みゆき
+たぐち,のぶあき
+たじま,しんじ
+たじま,しんじ
+ほった,しゅんいち
+たかだ,とものり
+たかぎ,としかず
+たかぎ,よういち
+たかぎ,ゆうこ
+たかはし,えいこ
+はしぐち,ひろあき
+たかはし,ひろし
+たかはし,なおみ
+たかはし,ひろみち
+たかはし,かつとし
+たかはし,かずこ
+たかはし,かずお
+たかはし,ともひろ
+はせがわ,てるお
+たかはし,けんたろう
+たかはし,ひでのり
+たかはし,かつみ
+たかはし,しんいち
+たかはし,よしみつ
+たかはし,かずひろ
+たかはし,いちたろう
+たかはし,あつのり
+たかはし,けんいち
+たかはし,ふさひこ
+おおみ,けんじ
+たかひら,みのる
+たかい,よしとも
+たかみや,こうじ
+たかなし,りほ
+たかの,みきこ
+たかの,よしひろ
+たかの,たまよ
+たかの,よしひと
+たかの,あきひろ
+はやかわ,もとひろ
+たかしま,ただし
+たかす,かつのり
+たかとうり,ひでひこ
+たかとり,ふさみ
+たかや,のりあき
+たけ,あきひろ
+たけだ,せいじ
+たけだ,いずみ
+ほり,こうぞう
+たけだ,しんいち
+たけはら,ひかる
+たけい,しんいち
+たけもと,あき
+たけもと,あきすけ
+たけなか,けんいち
+はやし,まさひこ
+たかぎ,まさき
+たけとみ,まさのり
+たけうち,みほ
+たけうち,みつお
+たけうち,のぶよし
+たけやす,れいじ
+たけざわ,りょうじ
+たきば,さとし
+たくぼ,たかのり
+はにゅう,つよし
+たまより,ゆうこ
+たもつ,ゆうた
+たむら,ひろゆき
+たむら,あけみ
+たむら,あきら
+たなべ,やすのり
+たなべ,ひでひこ
+たなか,ひろゆき
+たなか,よしゆき
+たなか,こういち
+たなか,あつし
+たけだ,よしこ
+たなか,ただし
+はせがわ,まさる
+たなか,ひでゆき
+たなか,たかよし
+たなか,まなぶ
+たなか,かつき
+たなか,まこと
+たなか,ゆうこ
+たなか,こういち
+たなか,よしお
+たなか,とおる
+たに,ひろこ
+みたに,へいご
+たにぐち,ひであき
+はっとり,ひろこ
+たにぐち,けんいち
+たにぐち,ゆうこ
+たにぐち,かつひこ
+たにかわ,けんし
+たさか,まこと
+たしま,けいすけ
+たてかわ,まさる
+たての,こうじ
+てらじま,はじめ
+てらまえ,せいいちろう
+てらさわ,まこと
+てらやま,みよこ
+てしま,えつまさ
+とだ,もとゆき
+ととみ,たけひこ
+とおやま,ゆきひこ
+ときわ,ちえこ
+ふくやま,けんじ
+とくざわ,まさる
+とみなが,こうじ
+とみた,ひでし
+とみやま,かずのり
+さわむら,たつみ
+とりごえ,さだゆき
+とりたに,ひでのり
+とさか,しゅうじ
+つぼい,まさひこ
+ひらばやし,ともなり
+つちだ,ひろゆき
+つちたに,ひでき
+つちや,しげと
+つだ,ひろし
+つだ,あつよし
+つじ,ひろし
+つじい,かずお
+つじむら,なると
+つじむら,たかし
+つじの,しゅういち
+つじさわ,ゆみ
+つかだ,たいぞう
+つかはら,てつお
+つかもと,やすき
+つかもと,よしみ
+つかもと,けんたろう
+つねだ,まさひろ
+つのだ,たけし
+つのだ,けんいちろ
+つるまる,たかし
+つさか,けん
+つつい,たかしげ
+つつみ,まさのり
+つつみ,まさはる
+つつみはら,たかお
+うちだ,まこと
+うちだ,さだゆき
+はやし,たかゆき
+うちだ,たつや
+うちの,さとし
+うちやま,あやの
+うだがわ,しんいち
+うえだ,ひろゆき
+うえだ,けんじ
+うえだ,たけし
+ねず,としあき
+うえむら,さとし
+うえむら,しょうた
+うえむら,けんいち
+うえの,しんや
+うえの,ともふみ
+うえさわ,としひろ
+うえつぼ,よしたか
+うえつき,よしてる
+うけの,ゆうすけ
+うまはし,ひでふみ
+うめだ,やすたか
+うめむら,かおる
+うみだ,こうきち
+うおずみ,さんぺい
+うらた,せんた
+うしくさ,としゆき
+うすなみ,じゅん
+わだ,じゅんいち
+わだ,かおり
+わだ,みき
+わだ,みつのり
+わかせ,さとよし
+わき,ただし
+わたなべ,たけし
+わたなべ,ともあき
+わたなべ,よしひさ
+わたなべ,ていじ
+わたなべ,よしき
+わたなべ,よしゆき
+わたなべ,かずと
+わたぬき,よしひさ
+わたぬき,ひでお
+わたり,ひろみつ
+はしぐち,じゅんや
+やぶ,こうじ
+やぎぬま,みつあき
+やじま,なおき
+やまだ,しげふみ
+やまだ,よしたか
+やまだ,ゆうすけ
+やまだ,ゆうこ
+やまだ,あきあつ
+やまだ,あきら
+やまだ,ちえ
+やまだ,ひろこ
+やまだ,かずみ
+やまだ,まさよし
+ひさの,りか
+やまだ,さとし
+やまだ,さやか
+やまふじ,たつや
+やまぎわ,やすひこ
+やまぐち,やすひろ
+やまぐち,よしひろ
+やまぐち,のりゆき
+やまぐち,ゆい
+やまぐち,いさお
+やまぐち,てつや
+やまぐち,たけはる
+やまぐち,あきら
+やまぐち,たかひろ
+やまかわ,ゆきこ
+やまもと,ひろし
+やまもと,かなこ
+みずたに,きみお
+やまもと,みどり
+やまもと,みつひろ
+やまもと,よのすけ
+やまもと,なおと
+やまもと,たかし
+やまもと,かつじ
+やまもと,かず
+やまもと,かずあき
+やまもと,ひなこ
+やまもと,しんいち
+やまね,まこと
+やまね,やすひさ
+やました,としお
+やました,かずひさ
+はんだ,いさお
+やまうち,よしや
+やまうち,しんいちろう
+やまうら,たかし
+やまざき,ひろと
+やまざき,かずよし
+やまざき,けんいち
+たむら,まさとし
+やまざき,さとし
+やまざき,たかお
+やまぞえ,たかし
+やなぎさわ,ゆみこ
+やの,たけし
+やすだ,ひでき
+やすはら,けいこ
+こしもと,もと
+はぎわら,みきお
+よこた,てるひさ
+よこやま,たけし
+よもだ,あきら
+よなが,さとし
+よねだ,ひろたけ
+よねやま,さちよ
+よねざわ,えり
+よねざわ,ともひさ
+よしだ,まゆみ
+よしだ,てるやす
+よしだ,かつひろ
+よしだ,まさと
+よしだ,あきひさ
+よしだ,さちこ
+よしだ,けんご
+よしだ,きよひと
+よしぐち,のぶこ
+よしい,ゆきお
+よしいけ,きよゆき
+よしまつ,けんたろう
+よしの,ひさよし
+よしの,しげお
+よしざわ,おさむ
+よつたに,みつひろ
+ゆきざね,せいじ
+ゆやま,よしひさ
+ずし,ゆきお
+あらい,まさと
+ふじき,ゆういち
+ひらの,しげる
+かめやま,ひでのぶ
+こじま,かずお
+なかお,めぐみ
+いわかわ,そうたろう
+つちや,たつや
+いじろ,こうじ
+くどう,ともこ
+ながしま,かずひと
+はしぐち,かつゆき
+つちや,けいこ
+いしまつ,ひろやす
+はらだ,ひろたか
+みずの,ふみお
+ほしの,はるお
+あべ,しげのり
+あべ,たかこ
+あべ,ゆたか
+あべ,えいいち
+あぶかわ,みさ
+あだち,けんたろう
+あいざわ,きりこ
+あじろ,まさゆき
+あかい,としあき
+たもと,みきお
+あかいし,えいち
+あかし,まゆみ
+あきいけ,やすひろ
+あきた,のりちか
+あきやま,むつみ
+あまがい,ひでふみ
+あまがた,たかし
+あまの,みほ
+あめみや,かつみ
+あんどう,かずひろ
+あんどう,たかゆき
+あんどう,だいご
+あんどう,しんご
+あんざい,まさひで
+あおき,まさとし
+あおき,あきふみ
+あおやぎ,あつと
+あおやま,ゆうこ
+あらい,まさし
+あらい,ともなり
+あらき,としみつ
+あらや,ひろあき
+ありま,しんいち
+ありたけ,せいじ
+あさだ,たけお
+あさひ,ゆうじ
+あさの,じゅんこ
+あしだ,さとし
+あしかわ,さとし
+ばば,やすゆき
+ばば,たかはる
+ばば,けんじ
+ちば,じゅんこ
+ごとう,まさひこ
+ちょう,えいじ
+だいど,ゆうこ
+どあい,こうじ
+どい,ともひろ
+ほそい,たくじ
+どい,いさお
+どい,けんいち
+えがしら,ひでたか
+えぐち,やすひろ
+えばら,つとむ
+えんど,しんいち
+えんど,さとし
+あまり,けんじ
+えのもと,きよみ
+えのもと,まさみ
+えのもと,あきら
+えのもと,ちから
+えざき,かずひと
+ふじはら,まさはる
+ふじい,たかし
+ふじい,さつき
+ひるかわ,けん
+ふじい,まさひこ
+ふじさわ,はるみ
+ふじさわ,ひろゆき
+ひご,かつゆき
+ふじた,つよし
+ふじた,たかし
+ふじわら,とおる
+ふかみ,やすゆき
+ふかざわ,たけし
+はせがわ,ようすけ
+ふくだ,じゅんこ
+ふくもと,みつお
+ふくむろ,たかし
+ふくろ,やすこ
+ふくし,ひろみ
+ふくしま,たかみ
+ふくしま,しんいち
+はぎわら,としお
+ふくしま,あきら
+ふなき,なおき
+ふなくぼ,ふみお
+はらだ,みのる
+ふるはた,もとふみ
+ふるかわ,まちこ
+ふるもと,たかし
+ふるや,ともや
+ふしみ,ひろみ
+ごうだ,みきお
+いりえ,しんじ
+いしはら,あきら
+いちかわ,まさゆき
+いば,まみ
+いわさき,さえこ
+いのうえ,あやこ
+いいもり,まさひろ
+いはら,せいじ
+いわむら,しょうた
+いながき,ゆきお
+いしじま,かずひろ
+いとう,しろう
+ごんどう,しゅうじ
+ごとう,すみれ
+いしかわ,まさひこ
+いとう,まさのぶ
+いせき,りこ
+ごとう,ひろゆき
+はだ,ひであき
+はぎわら,みわこ
+はぎわら,ともこ
+はいじま,あいこ
+はまだ,ひろし
+はまの,ひろつぐ
+はまおか,こすけ
+はなど,みのる
+はなた,てつや
+はら,ともひこ
+はら,ゆうじ
+はら,たけし
+はら,きょうこ
+はらだ,しん
+はらだ,たけし
+はらだ,あきひと
+すずき,たけろ
+はらが,たつや
+はらみ,けんたろう
+はらやま,のぶひこ
+はらぞの,のぶひろ
+はせべ,たくじ
+かねこ,ともあき
+つちだ,よういち
+はしもと,りえ
+はしもと,ふみひろ
+はしもと,かなえ
+はしもと,さとし
+はしもと,たかあき
+はしもと,ひでき
+はしもと,ひでき
+はしもと,よしひこ
+はた,けいこ
+はっとり,ひであき
+はっとり,まこと
+はっとり,せいじ
+はやかわ,きよし
+はやかわ,ひではる
+はやさか,よしかず
+はやさき,せいご
+はやし,としひこ
+はやし,たかよし
+はやし,たかなり
+はやし,やすき
+はやし,あきら
+はやしだ,けんぞう
+ひび,かずのぶ
+ひがし,やすひろ
+ひがし,かずお
+ひぐち,こういちろう
+ひじかた,けんじ
+ひじや,よしお
+ひなが,たけし
+ひらかわ,ひであき
+ひらの,ひろこ
+ひらの,いたる
+ひらの,ただお
+ひらお,たかひと
+ひらしま,なおき
+ひらやま,としろう
+ひらやす,ひとし
+ひりき,けんいちろ
+ひろまさ,わたる
+ひろもと,しんじ
+ひろおか,まなぶ
+ひろせ,ゆみこ
+ひろせ,まつたろう
+うめだ,りょういち
+ほんだ,さなえ
+ほんど,たけし
+ほりもと,やすゆき
+ほりの,かずしげ
+ほりうち,たかね
+ほさか,あきこ
+ほしの,まこと
+ほしやま,みぎふみ
+ほそかわ,てつや
+ほそかわ,よしひろ
+ほそかわ,しげお
+ほそや,ひろし
+いばらき,のぶお
+いちはら,ひさみつ
+いちはら,たかし
+いちはら,のぶこ
+いちかわ,けんいち
+いちのせ,さとし
+いだ,たけし
+いでぐち,かずひと
+いど,まさし
+いがらし,かつのぶ
+いがらし,ゆきひこ
+いがらし,ひろし
+いいだ,ひろお
+いいだ,かつとし
+いいじま,こうじ
+いけだ,りょう
+いけだ,ともみ
+いけだ,ともみ
+いけだ,ようこ
+いまい,こうき
+いまいずみ,けいこ
+いまいずみ,みわ
+いまむら,おさむ
+いまむら,みのる
+いもん,かずゆき
+いなだ,ますみ
+いながき,かずや
+いながき,みつや
+いなむら,たかし
+いなむら,とものり
+いの,せいいちろう
+いのかわ,あすこ
+いのまた,かずひと
+いのうえ,ひろかず
+いのうえ,さとし
+いのうえ,しほ
+いのうえ,やすひろ
+いのうえ,ゆうじ
+いのうえ,ゆうた
+いのうえ,こういちろう
+いぬい,しんいちろう
+いぬしま,まゆみ
+いりえ,まさのり
+いさか,しげる
+いしば,ちひろ
+いしばし,だいすけ
+いしばし,ひでき
+いしだ,ひろみつ
+いしだ,ひろし
+いしだ,かつひろ
+いしだ,けいいち
+いしがみ,こういち
+いしぐろ,こうじ
+いしはら,まりこ
+いしい,まさひろ
+いしい,なおみ
+いしい,のぼる
+いしい,せつこ
+いしい,ただし
+いしい,たかはる
+いしかわ,としお
+いしまる,つよし
+かわず,よういち
+いしずか,ゆきお
+いたや,のりひさ
+いいだ,あきひろ
+いとう,ひろみち
+いとう,ひろし
+いとう,いくお
+いとう,かずや
+いとう,しょうこ
+いとう,かずひろ
+いとう,じゅん
+いとう,まこと
+いとう,おさむ
+いとう,よしまさ
+いとう,まさゆき
+いとう,まさみ
+いとう,ひろあき
+いとう,たまき
+いとう,きよたか
+いとう,まさふみ
+いとう,ひろかず
+いとう,ゆきお
+いとう,えいじ
+いとう,みほこ
+いわい,たかゆき
+いわい,かずしげ
+いわみ,きよし
+いわむら,よしたか
+いわなが,なおこ
+いわお,かずあき
+いわさき,りゅうこ
+いわた,きよこ
+いわた,みつひろ
+いわた,しんじ
+いずみ,のぞむ
+じんば,つねのり
+のうち,りえ
+らく,よしのり
+かがみ,ひろし
+かがわ,けいた
+かげやま,たまき
+かい,じゅん
+かじもと,たくや
+かじわら,せいじ
+くりはら,えいじ
+かきむら,じゅん
+かきのき,たかあき
+かきうち,ひろゆき
+かきざき,こうじ
+かこ,としひこ
+かめしま,だいすけ
+かみえす,えいいち
+かみくら,ひろし
+かみむら,こういちろう
+かみたき,まさじ
+かみよしかわ,まさゆき
+かん,たくや
+かない,としかず
+かんばやし,いちろう
+かんだ,よしひと
+かねこ,たかゆき
+かねこ,やすゆき
+かねた,たかし
+かのう,まゆみ
+かりの,ひろし
+かさみ,かなえ
+かさなみ,たかと
+かせ,まもる
+かすが,ひろし
+かすや,まさなり
+かたおか,のりこ
+かとう,なおこ
+かとう,ひろし
+かとう,まさゆき
+かとう,のりあき
+かとう,ただあき
+かとう,けんじ
+かとう,けんじ
+かとう,たかゆき
+かとう,あきひと
+かとう,じろう
+かつまた,くみ
+かつら,まさき
+かわべ,よしゆき
+かわだ,たけし
+かわぐち,ひでき
+さいとう,ひでたか
+かわぐち,いくこ
+かわはた,かおり
+かわかみ,かずよし
+かわかみ,けんいち
+やじま,みつよ
+かわもと,つよし
+かわむら,ひであき
+かわむら,ひろし
+かわむら,じゅんいち
+かわむら,まり
+かわの,まさひこ
+かわの,まさかつ
+かわさき,しげゆき
+かわせ,けんじ
+かわしま,としや
+かわしま,よしはる
+かわしま,ひでき
+かわしま,やすのぶ
+きだ,みのる
+きくち,かずや
+きくち,たかひで
+やまもと,やすひろ
+あきよし,やすひろ
+きくち,まもる
+きくち,たつや
+きくち,みつる
+きくち,あきこ
+きむら,ふみひこ
+きむら,まさひこ
+きむら,あきひこ
+きむら,あつし
+きむら,ひろし
+きむら,まさき
+きむら,みのる
+かとう,しょうじ
+きなせ,ゆうじ
+きね,まさこ
+きの,あき
+きの,かずひろ
+きのした,けいた
+きら,ようこ
+きしもと,とおる
+きたばたけ,あきお
+きたばたけ,たかひこ
+きたがわ,おさむ
+きたがわ,ちかこ
+きたむら,ひろあき
+たかはし,めぐみ
+きたやま,えいじ
+きよなり,ひろし
+こばやし,きよし
+こばやし,としひろ
+こばやし,あきこ
+こばやし,たかし
+こばやし,ひろし
+こばやし,ひろあき
+こばやし,なおき
+いとう,しんじ
+こんの,よういち
+こんの,たかみつ
+こんの,ひろし
+こんの,かずあき
+こいけ,ともふみ
+こじま,わたる
+こくしょう,まさる
+こまき,かずや
+まかべ,さぶろう
+こまつ,たけし
+こまつ,ひろえ
+こんど,しん
+こんど,たくみ
+こんど,まさゆき
+こしば,みき
+よこえ,やすのり
+こてがわ,まさのり
+こんの,かずあき
+こやま,れいこ
+こやま,もとくに
+こやま,ひろたか
+こざす,としのり
+くちいし,かずとし
+くぎみや,りゅうすけ
+くじらい,あつし
+くまのみど,ひろし
+くまざき,ともき
+くれまつ,たかひで
+くりき,まさゆき
+くりやま,としろう
+くりやま,ひろし
+くろべ,なおと
+くろさわ,ともあき
+くろさわ,やすゆき
+くりゅう,よしえ
+くさの,かつゆき
+くわはら,じゅん
+くずの,よしたか
+きゅうだ,たくや
+まぶち,けんいち
+まちた,まさき
+まえだ,よういち
+まえいえ,あきふみ
+まえかわ,ちあき
+ままだ,ひろし
+まなべ,ひろたか
+まなべ,かずお
+まるいち,まさゆき
+まるたに,たかひで
+まるやま,たかこ
+まさおか,たかゆき
+ますだ,たつみ
+ますだ,つよし
+ますだ,よしぶみ
+ますだ,ゆきこ
+ますだ,ひろかず
+まつばら,こうぞう
+まつだ,かつや
+まつだ,ひろゆき
+まつだいら,としふみ
+まつえだ,あゆみ
+まつい,ひでし
+まつい,ひろき
+まつもと,のぶお
+まつもと,せいいち
+まつもと,かずひろ
+まつもと,きよかず
+まつもと,きょうこ
+まつもと,よしき
+まつもと,なりあき
+まつもと,あきのり
+まつもと,けん
+まつもと,としかず
+まつもと,けん
+まつもと,だい
+なかむら,ひろゆき
+まつむら,くみ
+まつなが,けんじろう
+まつの,かずと
+まつお,りゅういち
+まつお,たかお
+まつおか,たけし
+まつおか,かずのり
+まつおか,ただあき
+まつおか,ひろし
+まつおか,あつし
+まつしま,きみお
+まつたに,あや
+まつやま,こうたろう
+みちもと,まゆみ
+みえき,たくろう
+みかみ,かずみ
+みかみ,よしたか
+みながわ,つよし
+みなかわ,しょうこ
+みしま,かずみ
+みしま,しのぶ
+みしま,ひろあき
+みたち,こうじ
+みつだ,なおき
+みつはし,じゅん
+みつい,ひろし
+みつもと,きよみ
+みうら,きょうじ
+みうら,まさひろ
+みやべ,あきら
+みやち,まさゆき
+みやじま,あきのり
+ばん,まなぶ
+みやもと,としあき
+よこえ,こうぞう
+みやさか,けいいち
+みやた,ひろゆき
+みやた,かずお
+みやうち,まさひろ
+うちやま,みきこ
+さかい,りょうすけ
+みやざわ,としあき
+みぞぶち,えいこ
+みぞぐち,あきら
+みぞぐち,いずみ
+みずもと,あつひこ
+みずの,まさよし
+みずの,まさゆき
+みずの,ゆうじ
+みずしま,ゆきお
+みずた,ゆたか
+みずたに,ひさと
+もぎ,かずのり
+もぎ,もゆる
+もぎ,ひろし
+ももせ,だいすけ
+もんま,ゆうじ
+もり,れいこ
+もり,けいすけ
+もり,けんいち
+もり,まさひろ
+もり,りか
+もり,つとむ
+もりもと,ゆきひろ
+もりの,ようすけ
+よしだ,なおふみ
+もりた,ひでのぶ
+もりた,かずひさ
+もりた,かつみ
+もりた,よしや
+もりた,しげお
+もりわき,たくお
+もろ,よしろう
+もたい,ひろし
+もとばやし,さとる
+もとはし,しげまさ
+もとやま,まさのり
+もとざわ,ゆうじ
+むかわ,いつこ
+むなかた,ふみこ
+むらかみ,ひろあき
+むらかみ,よしき
+むらかみ,ひろゆき
+むらかみ,やすこ
+むらかみ,あきひさ
+むらかわ,まさこ
+むらなか,まゆこ
+むらた,とものり
+むらた,ひろき
+むらやま,けんじ
+むらやま,ひろし
+むろはし,こうじ
+むとう,かおる
+むとう,あきこ
+なば,ひろゆき
+ながい,まさる
+ながい,なおあき
+ながの,かつや
+ながの,たまみ
+ながお,やすひろ
+やまもと,かずひろ
+ながおけ,さとし
+ながおさ,あきひろ
+ながしま,かつや
+ながしま,くみ
+ながた,みき
+おおば,さとし
+ながた,しんじ
+ながた,しょうへい
+ながたに,つよし
+ないとう,やすのり
+なかち,よしはる
+なかだ,よしゆき
+なかだい,ゆういち
+なかがわ,なおゆき
+なかがわ,よしゆき
+なかがわ,あつし
+なかがわ,ひろゆき
+なかはら,じゅん
+なかい,けいいち
+なかい,しの
+なかじま,たかし
+なかじま,こうじ
+なかむら,しゅうご
+なかむら,まさゆき
+きみひら,みか
+いとう,たかひさ
+なかむら,こうじ
+なかむら,たつや
+なかむら,かずゆき
+なかむら,はじめ
+なかむら,まさあき
+なかむら,ひろき
+なかむら,みき
+なかむら,ともお
+なかにし,いずる
+なかにし,たかひろ
+なかの,ゆうこ
+なかの,やすあき
+なかの,てつや
+なかの,かずのり
+なかの,あつし
+なかお,あきこ
+なかさく,しょうたつ
+なかせ,ひろたか
+なかた,くるみ
+なかた,ひろみ
+なかた,やすひろ
+なかたけ,たくお
+なかやま,ふみお
+なみき,けいし
+ななさわ,なみじ
+なんば,だいすけ
+なんもく,えみこ
+ねもと,なつこ
+ねもと,みつあき
+にい,よしこ
+にいで,ひでつぐ
+にいくら,ひでや
+にいずま,たいちろう
+にかみ,あきら
+にしばやし,まさひこ
+にしだ,よしや
+にしはら,しきこ
+にしはら,さとし
+にしかわ,たかひろ
+にしかぜ,かずのり
+にしみや,さとし
+にしむら,しんいち
+にしむら,きわむ
+にしやま,ひとし
+にしやま,もとあき
+にった,かつあき
+にわ,きよし
+とうごう,まなぶ
+にわ,かつや
+のぶはら,こうじ
+おがわ,ゆうこ
+のがみ,おさむ
+のがみ,じゅんいち
+のもと,みか
+のむら,まなぶ
+のむら,たかひろ
+のぞえ,はじめ
+ぬまた,てつ
+おだじま,えり
+おおがえり,とおる
+おがた,ひでき
+おがわ,しげる
+おがわ,たけお
+おおぎ,たけし
+おぎくぼ,ようじろう
+おご,ともき
+おぐら,ひろゆき
+おおば,ともひろ
+おおばやし,よりこ
+おおえ,よういち
+おおがま,こういち
+おはし,なおき
+おおいし,けんじ
+おおかわ,やすひこ
+おおきど,まさお
+おおくぼ,ひろゆき
+おおくぼ,ひろふみ
+おおくま,まこと
+おま,まもる
+おまえ,むつろう
+おまえ,たかし
+おおもり,ともひろ
+おおもり,みつよし
+おおもり,なおき
+おおもり,ひろき
+おおもり,まさやす
+おおもと,みつる
+おおにし,あいこ
+おおにし,けんじ
+おおにし,まさてる
+おの,あきら
+おおぬま,ひろき
+おおさか,りさ
+おおさわ,たかひろ
+おおさわ,すみこ
+おしま,たかし
+おしろ,しんいち
+おおた,あさこ
+おおた,あつお
+おおた,ひでゆき
+おおた,まさみ
+おおた,むねやす
+おおた,しんいちろう
+おおたに,やすひろ
+おおつ,ひろゆき
+おおつか,たかし
+おおつき,あきひろ
+おいかわ,みちお
+おか,よしひさ
+おか,ひでき
+おか,ふみこ
+おかだ,みき
+おかだ,やすし
+おかだ,ゆういち
+おかだ,さとる
+おかぐち,のぶひろ
+おかい,ゆたか
+おかまつ,たかひろ
+おかもと,よしあき
+おかもと,えいいち
+おかもと,ひでお
+おかもと,まさぶみ
+おかもと,まさひろ
+おかもと,みちはる
+おかもと,のりお
+おかの,ともひろ
+おかざき,ゆきと
+おきもと,えつこ
+おくの,よしたみ
+おくやま,やすお
+おおみ,しげる
+おおの,なおき
+おおの,ひろふみ
+おおの,ひろし
+おおのせ,じゅんこ
+おのざき,たかし
+おりえ,よしこ
+おざき,まさこ
+とくみや,てつや
+さいち,かおり
+さいとう,しんいち
+さいとう,ひとき
+さいとう,ひであき
+さいとう,ひろたか
+さいとう,ゆたか
+さいとう,やすひこ
+さいとう,たいし
+さいとう,かおる
+はかまだ,かよ
+さかぐち,こうじ
+さかい,まりこ
+さかきばら,たかお
+さかきもと,よしえ
+さかもと,えいじ
+さかもと,えり
+さかもと,ひでひろ
+さかもと,いずみ
+さかもと,けいいち
+みたに,けんいち
+さかうち,くにひこ
+さきもと,まさひこ
+さくま,みつる
+さくらい,もとのり
+さの,りきや
+さの,りゅういち
+さの,しゅうぞう
+ささだ,しゅんすけ
+ささはら,すすむ
+ささき,たかひと
+ささき,としひこ
+ささき,やすふみ
+とだに,つよし
+ささき,せいじ
+さたけ,つねのり
+さとう,やすひろ
+さとう,しんご
+さとう,ひさはる
+さとう,ゆういち
+さとう,よしあき
+さとう,たかかず
+さとう,りえこ
+さとう,とおる
+さとう,ゆういち
+さとう,はるお
+さとう,しんいちろう
+さとう,のぼる
+さとう,こうじ
+さとう,だいすけ
+さとう,あきら
+さとう,けいたろう
+さとう,ともこ
+さとう,じゅんじ
+さとう,ともき
+さわだ,けいたろう
+さわだ,まこ
+さわだ,みちよ
+いわた,まゆみ
+さわい,としひこ
+さわい,そういちろう
+さやの,いくや
+せき,たけし
+せきぐち,まさよし
+せきぐち,みか
+せきぐち,あきら
+せきね,あきひろ
+せきの,たかし
+せんな,としみつ
+せりざわ,ひろゆき
+せと,かつや
+しばた,こういち
+しばた,まさひで
+しばた,けいすけ
+しばたに,さとし
+しぶたに,きょうこ
+しが,さとる
+しげのぶ,かずよし
+しま,みきこ
+しまだ,れいじろう
+しまだ,さとこ
+しまむら,よしみつ
+しみず,たけかず
+しみず,さだみち
+しもばやし,きよし
+しもがわ,こうじ
+しもひごし,てつひさ
+しもいで,たいし
+しなだ,かつみ
+しねい,ゆか
+しんがい,ただし
+しのだ,こうじ
+しのはら,たかひろ
+しのざき,ともよし
+しおや,たくや
+しらはま,たろう
+しらいし,ゆういち
+しらいし,たかし
+したら,たけし
+しょうじ,ひろゆき
+しょうじ,しん
+ますやま,まさひで
+しゅとう,ゆみこ
+そえだ,ひでかず
+そね,ひでき
+そねだ,たくお
+そのべ,まさひろ
+そのべ,まさし
+そらの,みほ
+すだ,なおひろ
+すがい,のりゆき
+すがわら,せいま
+すぎもと,たかひろ
+すぎもと,たかまさ
+すぎうら,よしのり
+すぎやま,まさひろ
+すぎやま,ひでまさ
+すぎやま,れいこ
+すじゃく,たかやす
+すか,とおる
+すけがわ,ひろゆき
+すみなが,きみこ
+すみおか,ともや
+すなやま,けんいち
+すずき,まさや
+すずき,ひろし
+いしい,やすひこ
+すずき,しげる
+すずき,たかゆき
+すずき,ひでひろ
+やましろ,ひでき
+すずき,ひろし
+すずき,
+すずき,かつゆき
+すずき,かずのり
+すずき,こういち
+たばこ,くみこ
+たばた,まさき
+なかじま,てるゆき
+たばた,よしつぐ
+たちばな,としゆき
+たがみ,たいせい
+ままだ,けんじ
+たがわ,まこと
+たじま,もとひろ
+たかばやし,ゆき
+たかだ,ともよ
+たかだ,たかひろ
+たかぎ,えみ
+たかぎ,だいすけ
+たかはし,しんや
+たかはし,ゆきお
+たかはし,ひろき
+たかはし,ひろこ
+たかはし,いずる
+たかはし,まさき
+たかはし,みしょう
+わたなべ,まき
+たかはし,やすし
+たかはし,ゆたか
+たかはし,こうへい
+たかはし,まさふみ
+たかい,ひでき
+たかくら,けんすけ
+たかくら,しほ
+たかまち,かつのり
+たかまつ,あきよし
+まつなが,やすひろ
+たかもと,よしき
+たかむら,のぶかつ
+たかおか,ごう
+たかすぎ,はるこ
+たかや,ひであき
+たかやま,ひろゆき
+きたはら,けんいち
+たけだ,くにひで
+たけだ,まさひろ
+たけはな,まさかつ
+たけまつ,まさみ
+たけおか,みのる
+いしかわ,もとふみ
+たけした,なおき
+たけたに,のぶゆき
+たけうち,さとし
+たけうち,さとし
+たけやま,たけし
+たけざわ,きよじ
+たきざわ,つとむ
+たきざわ,ちから
+たまい,ともゆき
+たなはし,のぶゆき
+たなか,けんたろう
+たなか,こすけ
+たなか,ひろゆき
+たなか,ひろし
+たなか,けいこ
+たなか,もとき
+たなか,せいじ
+たなか,かずひと
+たなか,ゆうこ
+たなか,えいいち
+たなか,えいじ
+たなか,つねひろ
+たなか,まさひろ
+たなか,のりひろ
+たなか,かずなお
+たなか,のぼる
+いしだ,けんや
+たなか,かずお
+たにぐち,しげる
+たにぐち,けんいち
+たにい,ゆりこ
+たにむら,みちよ
+たにおか,ともこ
+たんの,ゆきお
+たぬま,まもる
+よこやま,わたる
+たしろ,あきら
+たしろ,けんいち
+たて,ひでと
+たうら,まこと
+たぞえ,ゆうこ
+たずけ,まこと
+てんも,かよこ
+てらだ,ちえこ
+てらもと,えいじ
+てらおか,けい
+てずか,ひろゆき
+とぐち,じゅんこ
+とうま,こういち
+とうま,ひろやす
+とおやま,かずゆき
+ときおか,たかしげ
+たにやま,ひであき
+みうら,そういち
+とくら,かずお
+とくやま,ひろや
+とみいし,くにひこ
+とみかわ,のりこ
+とみなが,あつし
+とみた,ふみえ
+とみた,もとよし
+おおもり,まさゆき
+ともた,ひでひこ
+ともの,けいじ
+とりかい,なおき
+とりうみ,よしのぶ
+とつか,あやこ
+とよだ,けいいち
+とよだ,みきひろ
+とよおか,たくのぶ
+つちだ,こうじ
+つだ,こういち
+つじたに,まさつぐ
+つかもと,よしてる
+つかもと,ひろあき
+つかわき,まさたか
+つるまき,ようこ
+いちばんがせ,ゆきこ
+さかい,みほこ
+うちだ,かずひろ
+かなおか,こうへい
+うちだ,たつや
+うちうみ,なおひこ
+うちやま,ふみたか
+うちやま,ゆき
+うだ,あつこ
+うだがわ,たろう
+おしま,あつこ
+うえだ,えいか
+うえだ,よしみつ
+うえはら,ひでゆき
+うえむら,まさき
+うえの,おさむ
+うえの,ひろのり
+うえすぎ,まさみ
+うえつき,たいち
+うかわ,まさひで
+うまずめ,しんや
+うめはら,としお
+うめむら,ひろふみ
+うめざわ,ひろし
+うの,ひろし
+うの,ひさや
+うらもと,けい
+うるま,まさふみ
+うしば,みのる
+ながた,りゅうた
+うしぐさ,としあき
+はせがわ,よしあき
+さかまき,ゆり
+うわべ,まさゆき
+わだ,あきこ
+わかお,けいじ
+わかお,れいこ
+わきた,ようこ
+いのまた,ひろみ
+わくい,まさや
+わしざわ,けいこ
+わしずか,こうじ
+わたべ,まさとし
+わたなべ,のりゆき
+わたなべ,かずひろ
+わたなべ,しげる
+わたなべ,たかお
+わたなべ,つよし
+わたなべ,ともゆき
+わたなべ,だいち
+わたなべ,ひでき
+わたなべ,ひろかず
+わたなべ,ひろみ
+とよた,ひとし
+わたり,けいこ
+とみやす,としひさ
+やえがき,よしあき
+やぎ,みよこ
+やぎ,よしまさ
+やぎぬま,だいすけ
+やく,あきと
+やまだ,かずひこ
+やまだ,まき
+やまだ,ようこ
+やまぎし,あつし
+やまぐち,こういち
+やまぐち,としゆき
+やまぐち,かおる
+やまぐち,あきら
+やまこし,だいすけ
+やまもと,まさひろ
+やまもと,けんじ
+やまもと,たけお
+やまもと,せいいち
+やまもと,しゅうじ
+たちばな,まさとし
+やまもと,じゅん
+やまもと,けんいち
+はらたに,ともこ
+やまなか,たかし
+やまね,よしふみ
+やました,あきひこ
+やました,ひろし
+やました,なおこ
+やまたに,たかし
+やまうち,ともこ
+やまざき,あきら
+やな,ひろあき
+やなべ,ひろき
+やながわ,りょう
+やなぎ,としあき
+やなぎだ,りゅういち
+やさか,かずひで
+やすだ,まさみつ
+やすふく,ゆたか
+やすかわ,きよかず
+よこさわ,たくや
+よこた,ひろし
+よこた,かずひろ
+はらだ,こすけ
+よこうち,まさひろ
+よこうち,しんすけ
+よこやま,まこと
+よこやま,かずのぶ
+よねだ,なおき
+よねの,なおみ
+かさはら,さとみ
+よしだ,ひでお
+よしだ,じゅん
+よしだ,ひろし
+よしだ,なおと
+よしだ,ひろし
+よしどめ,しずか
+よしはら,たかひろ
+よしい,さとる
+よしい,まこと
+よしかわ,しおり
+よしみ,たいき
+よしの,ふみお
+よしの,やすし
+よしの,ともこ
+よしおか,けんいち
+よしおか,こういちろう
+よしたけ,ただし
+よしざわ,としかつ
+ゆずはら,こうじ
+ぜんげ,かずたか
+ずし,みお
+ごみ,ひろき
+ごとう,ひろし
+いけだ,たけはる
+いま,まさひろ
+あべ,まなぶ
+かとう,しげる
+かわばた,しげる
+こばやし,ゆきひこ
+こんど,くにむね
+くぼ,まさひこ
+くらもち,ようこ
+まるやま,よしあき
+もりかく,ゆきお
+むらおか,ひろゆき
+ながしま,ようこ
+なか,としや
+なかはら,たくや
+なかむら,つよし
+なかせ,とみ
+なりた,ひさえ
+にしむら,えみこ
+のなか,ひでなお
+おがわ,よしお
+おぐら,とおる
+おおみ,まこと
+おかの,まさや
+しまだ,じゅんじ
+しみず,かずのしん
+しむら,ひでゆき
+たかはし,みつまさ
+たかまつ,けんいち
+うえだ,むつお
+うじ,ごう
+うつみ,しゅういち
+あべ,よういち
+こんど,たかし
+たかのうち,けんさく
+いのうえ,むねひろ
+なかはら,ひとし
+あだち,ゆたか
+なかの,ひろき
+あいば,のりあき
+あいば,たけし
+あいば,さとし
+あいだ,まさひろ
+あいはら,あつし
+あかいし,まさおみ
+あかいわ,よしひろ
+あかおぎ,としひで
+あきた,つよし
+あまの,なおこ
+あおき,ひろこ
+あおき,ゆきこ
+あおぬま,ひとし
+あおやぎ,えいじ
+あらき,あきら
+ありまち,としのぶ
+ありた,ひであき
+あさだ,てつや
+あさえだ,たかひろ
+あさはら,よしはる
+あさかわ,かずひこ
+あさもと,つとむ
+あさの,ゆたか
+あたぐち,ひろし
+あやき,はるこ
+ばば,しゅんすけ
+ばば,かおる
+ばば,ななこ
+ばん,たけし
+だいこく,みちよ
+だて,しげひこ
+さの,じゅんいち
+みつおか,しげき
+でんだ,かずひこ
+どい,えみ
+えんど,ともひこ
+えんど,よういちろう
+えざわ,なりひで
+ふじえ,たけふみ
+ふじい,かずひろ
+ふじい,まさあき
+ふじまき,まさかつ
+ふじもと,みわ
+ふじもと,みきお
+ふじむろ,こうじ
+もろずみ,かんじ
+ふじさわ,けんじ
+ふじた,ひろゆき
+ふかせ,たつや
+ふくだ,しせい
+ふくどめ,たかし
+ふくい,ひさし
+ふくなが,ふみひさ
+ふくしま,ひでお
+ふくざわ,まりか
+ふるばやし,あきら
+ふるかわ,ひでき
+ふるかわ,あけみ
+ごう,はな
+ごまる,すすむ
+ごとう,しょう
+ごとう,たつや
+ごとう,ちずか
+のもと,かおる
+はぎわら,りゅうた
+はいやま,きょうこ
+はま,かずみち
+はまち,しゅういち
+はまだ,なおひさ
+はまたに,しげお
+はない,やすひと
+はなた,ひらく
+はねじ,ひろこ
+はんざわ,まさひこ
+はら,みほ
+はら,しんじ
+はらだ,かずひで
+はらだ,きよし
+はせがわ,ゆたか
+はせがわ,なおこ
+はせがわ,てつや
+はしぐち,まさよし
+はしもと,やすゆき
+ごとう,けい
+かじわら,よしこ
+はすみ,つぐのり
+かたやなぎ,えいいち
+はたけやま,しんいち
+むらい,みつゆき
+はたに,りゅういち
+はっとり,やすのぶ
+はっとり,たかゆき
+はやし,たかゆき
+おおすみ,まさこ
+はやし,かずなり
+はやし,よしのぶ
+はやしだ,さき
+ひが,たけお
+ひがし,りゅうすけ
+ひがしだ,しゅういち
+とよだ,ゆういちろ
+ひの,たけひこ
+ひら,てつや
+ひらもと,じゅんこ
+ひらお,まさと
+ひらお,まさゆき
+ひらた,なおみ
+ひらやま,たけし
+ひろい,たかし
+ひろかわ,のりかず
+ひろかわ,よたろう
+ひろます,かずゆき
+ひろせ,みつる
+ひろせ,たかお
+ひしや,さとし
+ほうしょう,あきこ
+ほんだ,みほこ
+はやし,のぞむ
+ほんま,たけし
+ほりぐち,てるお
+ほりい,ひろみ
+ほし,あきひこ
+ほそい,かつや
+ほそみ,やすお
+ほった,まさひで
+ふくろい,けんじ
+ふるや,あきひと
+いぶか,そういち
+いちば,たかし
+いちはら,ひろし
+いちかわ,ひろし
+いちむら,じゅんいちろ
+いちのせき,としひろ
+いいだ,としや
+いいだ,じゅんこ
+いいじま,ようこ
+しのはら,はじめ
+いけだ,りえ
+いけだ,ゆき
+いけだ,ゆたか
+いけだ,ようこ
+いけざわ,かずたか
+いまい,まゆみ
+いまい,けいた
+いまい,くにひこ
+いまき,みのる
+いまむら,けんすけ
+いもと,しょういち
+あべ,よしやす
+いなだ,ゆきこ
+いのうえ,ともひろ
+いのうえ,たかし
+いのうえ,まさひこ
+いのうえ,かずお
+いりえ,よしひこ
+つるおか,ひとし
+おおはし,ひさとし
+いしだ,ゆうじ
+いしだ,けんじ
+いしだ,こうじ
+いしだ,はじめ
+いしぐろ,よしき
+いしはら,しげお
+いしはら,じゅんこ
+いしい,みつひこ
+いしかわ,まさのり
+いしかわ,あきら
+いしわた,まさのり
+いとう,たかし
+いとう,あきこ
+いとやま,としお
+いつき,かずひろ
+いわき,こうたろう
+いわさき,たけし
+いずつ,ゆうじ
+じぶ,えみこ
+かどい,てるやす
+あだち,けんじ
+かい,たかゆき
+かいせ,ひろあき
+かいずか,ひろこ
+かじわら,ひろし
+かき,かつとし
+かきみ,こうじ
+すぎた,れいき
+かくたに,やすこ
+かみばやし,かつひこ
+かみがき,のりひで
+かみや,さとし
+かもだ,こういち
+かもと,たもつ
+かんばやし,もとひろ
+かねこ,しんご
+かねこ,みつや
+かねこ,くにひこ
+かねこ,みつお
+かにさわ,たつや
+かる,たかゆき
+かしわぎ,てつや
+かすみ,よういちろう
+かたぎり,なおゆき
+かとう,みつひろ
+かとう,あつし
+かとう,ゆうこ
+かとう,のぶお
+かとう,たつろう
+たぐち,じゅんこ
+かとう,けんじ
+かとう,こう
+かとう,しんいち
+かつら,あきら
+そご,けん
+かわひと,まこと
+かわい,りえこ
+かわかみ,こうじ
+かわみ,しげる
+かわむら,しんじ
+かわむら,てるき
+かわさき,ひろし
+かわさき,ともかず
+かわうち,まさあき
+かつき,あきとも
+きだ,へいじ
+きどころ,ひろし
+もり,けんじ
+きくち,まこと
+きくがわ,みえ
+きむら,みつひろ
+きむら,さとる
+きむら,たけし
+きむら,たくみ
+きのした,とよき
+きのした,よしあき
+きのした,よしはる
+きのした,ゆかり
+きしだ,ゆきこ
+きしかわ,まさひこ
+きた,としお
+きたぐち,けいすけ
+あまの,みちよ
+きたむら,まなぶ
+きたやま,ちひろ
+こばやし,なおと
+こばやし,もとのり
+こばやし,ひろゆき
+こばやし,やすてる
+こばやし,ともあき
+こばやし,じゅんじ
+あめした,なおき
+こばやし,こういち
+こばやし,ひろみ
+こばやし,けんじ
+こばやし,きよたか
+こばやし,まゆみ
+こばやし,だいすけ
+こばやし,たかひろ
+おだ,まさひこ
+こぼり,ひでみ
+こだいら,のぶひろ
+こだま,せいじ
+かわぐち,あつし
+こだて,みつる
+こが,のりゆき
+こが,あきら
+こがねまる,まさみ
+こはら,ともなり
+こうだ,けんいち
+こんの,まなぶ
+こざい,こういち
+こいけ,あきお
+こいずみ,まさお
+こじま,やすろ
+こじま,けん
+こまつ,たかし
+こもり,よしたか
+こんど,とものり
+こんど,いさむ
+こんた,けんいち
+こたか,みつのり
+こたけ,まさき
+こやま,とうろく
+くぼ,ひろし
+くぼき,いくこ
+くぼた,よういち
+くが,たつじ
+くまがい,やすなり
+くにもり,よういち
+くらもと,じゅん
+くらさわ,あつし
+くらしな,かつひと
+くらた,さとし
+くりもと,たけお
+くりた,よしまさ
+くろだ,としかず
+くろだ,ひであき
+くろかわ,しんご
+くろき,つよし
+くろさき,りょういち
+くろさわ,ひろゆき
+くりゅう,けんじ
+くわた,まさひこ
+くずみ,たかひろ
+まぶち,たくみ
+まえだ,やすひろ
+まえだ,けいし
+まえがわ,あきひこ
+まえかわ,やすとし
+まきお,せいいち
+まめはら,あきひろ
+まさだ,ひろゆき
+ますだ,ようすけ
+ますだ,ひろし
+ますだ,たかし
+ますだ,ともこ
+ますやま,りつこ
+まつだ,むつみ
+まつだ,なおみ
+まつえだ,つよし
+まつい,たかまさ
+まつもと,けんたろう
+まつもと,けいじ
+まつもと,せいいち
+まつもと,ゆういち
+まつもと,しゅういち
+まつもと,ようたろう
+まつなが,まさゆき
+まつの,やすひこ
+まつの,しんいち
+まつおか,みちこ
+まゆみ,あきら
+めかた,ひろき
+めら,こうじ
+みたに,たろう
+みたに,みちひと
+みと,ゆみこ
+みやがみ,しげひさ
+いおき,まさあき
+みやもと,あきひろ
+みやむら,ともゆき
+みやの,たかあき
+みやうち,まさはる
+みやざき,まさかつ
+もちずき,ゆき
+ももい,ひでまさ
+もり,ゆか
+もり,くみこ
+もりもと,よういち
+もりもと,むつこ
+もりおか,けんじ
+もりさわ,ともひろ
+もりた,かずよし
+もりた,ひろのぶ
+もりた,あきひこ
+もりた,しんや
+もりやま,たかし
+もりやま,たつひこ
+もてぎ,とおる
+むらかみ,まさあき
+あさの,けんご
+あゆかわ,さとし
+むらお,だいすけ
+むらおか,しげる
+むらた,ともかず
+むしあけ,えみこ
+むた,ひさし
+なべい,まさひろ
+ながい,こういち
+ながい,まさこ
+ながみね,さゆり
+ながさわ,ただし
+ながた,てつお
+ながやま,てつや
+なぐら,ゆみこ
+ないとう,ひろし
+なかがわ,りゅうじ
+なかがわ,ゆみこ
+なかがわ,やすし
+なかがわ,まさひろ
+なかはら,たかこ
+なかい,しげる
+なかい,たかひろ
+なかじま,とおる
+なかじま,ゆみこ
+なかじま,かつや
+さわだ,みえこ
+なかむら,あきのぶ
+ばんば,てつや
+なかむら,ひでひと
+なかむら,こういち
+なかむら,まさのり
+なかむら,かずお
+なかむら,まり
+なかむら,たけし
+なかむら,あきひろ
+なかの,ふみこ
+なかの,ひろかず
+なかお,のぶゆき
+なかしま,やすひろ
+なかた,こういち
+なかた,あきこ
+なかやま,なおやす
+なかやま,ひろふみ
+なかやま,あきひろ
+なかやま,けいこ
+なかざわ,かつや
+なかざわ,けいすけ
+ながおか,ゆたか
+ななしゃ,よしひろ
+なりた,つよし
+なりた,まこと
+なす,たけし
+なすた,ひろし
+にし,かねのぶ
+にしだ,のぶゆき
+にしむら,さちお
+まさだ,たけひこ
+にしむら,ともこ
+にしむら,まさゆき
+にしお,よしただ
+にしやま,みなこ
+にった,かおり
+のがみ,やすひろ
+のなか,たかひろ
+のせ,ひでお
+のたべ,しんご
+のと,じゅんいち
+のて,ひろき
+ぬくい,まさひろ
+おち,あきひこ
+おちあい,としゆき
+おだ,よしかず
+おがさわら,ゆうじ
+おがわ,ようじ
+おがわ,こうじ
+おがわ,まさひこ
+おがわ,まさや
+おがわ,なおたけ
+おがわ,ともみ
+おぎの,まこと
+おおば,まさひで
+たきみや,ゆきお
+おおはし,ただゆき
+おおはし,たくみん
+おおい,ちさと
+おおかわ,えみ
+おおもり,じゅんか
+おむら,まゆ
+おなかはら,たけつぐ
+おおにし,よしのり
+おの,あきこ
+おおおか,たかし
+おしま,のぶ
+おしま,けんいち
+いけまつ,たかこ
+おおた,たけし
+おおた,たかし
+おおた,さちこ
+おおた,たみこ
+ふくだ,みえ
+おぜき,けいいち
+おいだ,ひとし
+おいじ,くにひろ
+おかだ,しんじ
+すぎもと,たかゆき
+おかざき,やすひろ
+おかざき,やすし
+おかざわ,ひとし
+おくだ,てつや
+おくだ,まさき
+おくむら,しげる
+おくむら,ひでひと
+おくの,こうたろう
+おくやま,あきひろ
+おの,なおみ
+おおぬき,ひでのり
+おおはし,としお
+とおや,まさひろ
+おとぐろ,のぶゆき
+さいごう,たけひろ
+さいとう,よしたろう
+さいとう,あきひさ
+さいとう,ふみひこ
+さいとう,ひろき
+さいとう,ひろし
+さいとう,じゅん
+さいとう,かんじ
+さかえだに,みか
+さかい,のぶやす
+さかい,とくじろう
+さかた,つよし
+さかた,かずひこ
+さくま,たかひろ
+さくらばやし,あつし
+さくらい,まつお
+さくた,よしあき
+ささき,まさかず
+ささき,あきら
+ささき,さちこ
+ささき,よしゆき
+ささめ,よういち
+さとう,かずのり
+さとう,まさひこ
+さとう,よしひろ
+さとう,よしろう
+さとう,はじめ
+さとう,ひろみ
+さとう,ひろし
+さとう,こうじ
+さとう,しょうじ
+さとう,やえ
+さとう,くみこ
+さとう,ひろやす
+さとう,りえ
+さわだ,たかね
+さわはし,たつゆき
+さわの,かずひろ
+せぐち,しゅうへい
+せき,ともこ
+せきぐち,よしひろ
+せきぐち,さとし
+しば,かおり
+しばた,あやこ
+しばた,まさはる
+しぶや,たかし
+しまだ,しゅうじ
+しみず,かつゆき
+いしかわ,たかゆき
+しみず,ともひろ
+しみず,かつゆき
+しみず,けんじ
+しみず,けんたろう
+ふじえだ,こういちろう
+しもやまだ,しんいち
+しながわ,ともひで
+しんや,みつのり
+しおみ,しんじ
+しおつ,かつひこ
+せきぐち,とおる
+つのだ,たかし
+しらさか,あつお
+しろした,ひろゆき
+したら,ひさし
+しょう,じゅんいち
+すがわら,みほ
+すがわら,さとし
+すぎもと,しょういち
+すぎた,ともかず
+すぎた,まさより
+すぎた,かつひこ
+すぎうら,さとこ
+すぎうら,とよひさ
+すぎやま,みずほ
+いけぞえ,まさとし
+すぎやま,ひろあき
+すか,ともゆき
+すけがわ,のぶよし
+すみのうえ,ひでき
+すみよし,たねかず
+すみよし,としみつ
+すなみ,ひろゆき
+すずき,やちよ
+すずき,まもる
+すずき,あきひろ
+すずき,あきら
+すずき,ひろあき
+すずき,いっぺい
+すずき,まさと
+すずき,のぶあき
+しょうじ,しず
+しょう,しょうたろう
+たばた,そういちろう
+ただ,としお
+たどころ,ひでゆき
+たがみ,こうじ
+たぐち,たかし
+たぐち,ひろあき
+たい,まさてる
+たいら,あつし
+たいさ,みつひろ
+たじま,きよし
+たかだ,ただなお
+たかだ,えつろう
+たかぎ,てつろう
+たかはし,あつや
+たかはし,ひろし
+たかはし,とおる
+たかはし,なおき
+たかはし,さとし
+たかはし,ゆうじ
+たかはし,としお
+たかはし,ゆうすけ
+たかはし,なおき
+たかはし,よしふみ
+たかい,しのぶ
+たかの,かんこ
+たかしま,なおや
+たかやま,ひでつぐ
+たけだ,かずよし
+たけいち,けいすけ
+たけまさ,けんいち
+たけむら,しほ
+たけむら,しゅんすけ
+たけなか,なおと
+たけした,しょうぞう
+たけうち,あつと
+たけうち,ひとし
+たけうち,えいいちろう
+たきかわ,あつし
+たききた,たかし
+たきざわ,ひでと
+たこ,よしき
+たかの,もとゆき
+たまがわ,ひろゆき
+たまき,おさむ
+たむら,かずたか
+たなべ,ひろのぶ
+たなべ,ふみお
+たなか,きょうへい
+たなか,きょうこ
+たなか,みほ
+たなか,よしひさ
+たなか,ようこ
+たなか,まさよし
+たに,かずなり
+たにぐち,のぶひろ
+たにしょう,しんご
+たてやま,よしふみ
+たつみ,ますみ
+たうら,たかとし
+たざわ,ともゆき
+たずけ,せいいち
+てらだ,けいこ
+とうま,かずひろ
+とおやま,かずひろ
+とめおく,あきお
+とみいえ,はやと
+ふたつぎ,ひろし
+ともとし,けんじ
+とねがわ,あきこ
+おくむら,のりひこ
+とししげ,ひろし
+とよだ,かずなり
+とよなか,まさや
+つばき,てつや
+つちもと,ふみお
+つだ,さとし
+つだ,かよ
+つだ,としえ
+つじい,ともたか
+つじむら,のりこ
+つかはら,としろう
+つのだ,しょうじ
+つるぎ,はるひこ
+つるた,てるひこ
+つしま,きぬよ
+つつい,ひろゆき
+つちだ,かつゆき
+うちだ,さとる
+うちだ,たくじ
+うちくら,たけし
+うちたに,かつこ
+うえだ,さきこ
+うえだ,ちえ
+うえだ,がく
+うえだ,あきのり
+うえむら,ひろこ
+うえの,ひろし
+うえつき,まき
+いけ,まさる
+うめだ,みほ
+うめむら,なつこ
+うのき,のぶひこ
+うらした,ともこ
+うらた,ともゆき
+うしお,よしお
+うたがわ,てつや
+わだ,ともこ
+わだ,あきひと
+わだ,ひろたつ
+わだ,まさひろ
+わがつま,しょういち
+わかまつ,ゆうじ
+わきた,ひろあき
+わこ,ひろかず
+わりかた,なおゆき
+わしず,しょう
+わたなべ,しゅんじ
+わたなべ,よしゆき
+わたなべ,としお
+わたなべ,がく
+わたなべ,ひろふみ
+おむら,ひろひで
+わたなべ,こうせい
+わたなべ,なおこ
+わたなべ,りゅういち
+わたなべ,てつろう
+やぎ,ともみ
+やぎ,ゆうこ
+やまだ,たかと
+やまだ,のりとし
+やまだ,ひでふみ
+やまだ,しげお
+やまだ,たけひろ
+やまふく,ひでお
+やまぐち,まりこ
+やまぐち,ようじ
+やまぐち,ようこ
+やまぐち,ひろかず
+やまじ,とおる
+やまかわ,こうじ
+やまもと,たかのり
+やまもと,けんいち
+やまもと,みつぞう
+やまもと,ゆきこ
+やまもと,ひろやす
+やまもと,こうじ
+やまもと,まさき
+やまもと,ゆうじ
+やまもと,ゆたか
+やまな,せいいちろう
+やまさき,かつみ
+やました,のりとし
+やました,とおる
+やまざき,ひろし
+やなぎ,りょう
+やの,けんたろう
+やしろ,たけし
+やすい,ふとし
+やすむろ,たかし
+やすうじ,よしゆき
+よこえ,ひでのり
+よこい,まや
+よこみぞ,きよしげ
+よこやま,まさひこ
+よねざわ,かずひこ
+よしだ,けんや
+よしだ,のぶひろ
+よしだ,かつや
+よしだ,かずあき
+よしだ,ともみ
+よしい,しげと
+よしむら,てるかず
+よしやま,えいじ
+よしざわ,さちこ
+ふじしま,けんたろう
+ゆあさ,けい
+ゆき,せつこ
+ゆき,あきよ
+ゆい,だいすけ
+あだち,なおたけ
+ばん,たかし
+ふるい,よしのり
+はせがわ,はじめ
+ひらかわ,まなぶ
+いとう,としひこ
+いわさき,りょうじ
+かとう,けんじ
+かわはら,よしみつ
+まえはら,おさむ
+まつたに,しげお
+もりいち,えいじろう
+にしうち,のぶゆき
+ふじまき,たいぞう
+おおはら,たかし
+さなだ,ひであき
+そね,つとむ
+とのむら,よしゆき
+しみず,けい
+みしま,まりこ
+ふじた,たろう
+ふじた,ひでき
+ふじた,よう
+ふじわら,こうじろう
+ふじゅう,しんいち
+ふかだ,たくや
+ふくだ,ゆたか
+ふくひさ,なおたか
+ふくざと,あや
+ふくざわ,たかし
+ふるさわ,きはる
+はがわ,たかし
+はぎ,ひろたか
+はらだ,みつる
+はらだ,のぶひろ
+はらだ,まき
+はらまき,なおこ
+はせがわ,りえ
+はせがわ,ひであき
+はしお,ゆか
+はすみ,ひろし
+はすみ,けんいちろ
+はっとり,よりこ
+いしかわ,ぶんぺい
+はやし,たかこ
+ひらの,たくや
+ひらの,かずあき
+ひらの,としあき
+ひろべ,ひでき
+しのだ,けんじ
+ひさだ,たかゆき
+ほ,たけし
+ほんごう,てるひこ
+ほし,みちこ
+ほしの,まさき
+ほそかわ,ひろかず
+ほその,ゆみ
+かとう,よしろう
+いぎ,ようこ
+いけだ,としゆき
+いくろ,のりひろ
+いまい,かずよし
+いなだ,こうへい
+いのぐち,たかゆき
+いしぐろ,つぐかず
+いしかわ,ひろき
+いしかわ,けんじ
+いしざき,ゆかり
+いしぜき,よしと
+いとう,てつや
+いとう,まさよし
+いとう,なおき
+いとう,よしみ
+いまがわ,けい
+いざわ,こうじ
+いずみ,しょうじ
+いずみだて,のりとし
+かぶらぎ,かおり
+かみやま,とおる
+かなやま,こうじ
+かなざわ,じろう
+かんばら,かつよし
+かんだ,ゆうこ
+かんだ,みすまる
+かねこ,なりとも
+かしむら,ひろし
+かたぎり,しんすけ
+かとう,ひろのり
+かとう,のぶひさ
+かわだ,はるみ
+かわすみ,ようこ
+きど,しゅんいち
+きくち,のぶひろ
+きもと,たくや
+きむら,けんた
+きんど,みちはる
+きたむら,みほ
+きたの,さだお
+きたわたせ,すすむ
+きった,やすこ
+きやま,せいじ
+きよた,ひろゆき
+こばやし,じゅんじ
+こばやし,ようこ
+こが,あつや
+こはら,たかゆき
+こじな,けん
+こんの,けいご
+こずか,まさき
+こいで,しんじ
+こまつ,りゅうすけ
+こみなと,しゅうじ
+こもり,さとこ
+こんど,ひろひこ
+こにし,のりこ
+くぼやま,ただあき
+くまがい,りょうじ
+くまた,たかこ
+くりはら,たけし
+くりはら,けいこ
+くりた,さとし
+くさの,ひろふみ
+くしだ,あきひこ
+まえだ,ゆき
+まき,けいすけ
+まきた,しんじ
+まるやま,つねお
+ますだ,だいち
+まつばら,ちから
+まつばら,ひでとし
+まつい,けいこ
+まつもと,まさゆき
+まつむら,しんたろう
+まつお,かずひろ
+みかみ,みつお
+みき,たかあき
+みのうら,せいじ
+みしま,けんいち
+みつなが,よしゆき
+みうら,まさのり
+みわ,たかのぶ
+みやお,やすはる
+みやた,かなう
+みずたに,かずひこ
+みずたに,ひでのぶ
+もちずき,みつる
+もちずき,くみこ
+もちずき,のぶゆき
+もぎ,ひろし
+もり,さとる
+もり,ただひこ
+もり,ただゆき
+もり,ともひさ
+もり,としき
+もりやま,としお
+もろおか,ゆき
+もとば,だいさく
+むねと,かつまさ
+むらい,よしこ
+むらおか,けん
+むろい,ひでひろ
+ながふじ,きみひと
+ながい,あきら
+ないとう,ゆきこ
+ないとう,たろう
+なかがわ,みのる
+なかはら,みやこ
+なかじま,ゆたか
+なかじま,まさひこ
+なかむら,たけし
+なかむら,ひろし
+なかむら,あや
+なかむら,あきら
+なかむら,あきら
+なかむら,あつし
+なかむら,ひさと
+やまだ,たかし
+なかお,えいじ
+なかつかさ,きよし
+なかやま,まり
+なむら,むねゆき
+なすの,なおき
+にいぜき,としはる
+にしかわ,こうぞう
+にしきおり,よしあき
+にしざわ,かつのり
+のあき,ようこ
+のだ,けんたろう
+のだ,ゆうこ
+のぐち,ひさし
+のむら,ひでき
+おちあい,こすけ
+もり,まりこ
+おがさわら,みつひさ
+おがさわら,たつし
+おがわ,りょうこ
+おがわ,たかひろ
+おがわ,やすひさ
+おぐら,ふみのり
+おぐら,まさき
+おおいし,ひろや
+おおかわ,としあき
+おおかわ,じゅんこ
+おかぜ,なおき
+おき,てつや
+おむら,あつし
+おおすみ,まさひろ
+おおた,ふみひこ
+おおたけ,てつじ
+おおたに,けん
+おおやま,けんじ
+おぜき,ひろし
+おかもと,じゅん
+おかむら,こうしん
+おかむら,まもる
+おくむら,まなみ
+おんだ,のりひこ
+おのでら,のりゆき
+おやべ,たかのり
+さが,としあき
+さいとう,ゆうこ
+さかい,さなえ
+いぎ,あきのり
+さかもと,ひさね
+さかもと,よしひろ
+さかつぎ,かずお
+さかうえ,けんじ
+さくま,まりこ
+さくら,えいき
+さなだ,よしひろ
+ささき,たけお
+ささき,なおや
+さとう,かつゆき
+さとう,たかひろ
+さとう,としあき
+さとう,しゅういち
+さとう,ひでひさ
+さとう,かつひろ
+さとう,きょうこ
+さとう,やすひと
+さとう,かずひで
+さとう,さとみ
+せいけ,まさのり
+せき,よういち
+せき,てつや
+せき,てつ
+せきぐち,たけし
+せた,としお
+しんがい,あきこ
+しばた,よしこ
+しばた,ゆきのり
+しぶき,じろう
+しげとみ,かずみつ
+しが,ひろし
+しいば,みか
+しまだ,いちろう
+しまかわ,しげる
+しみず,すすむ
+しみず,たかつな
+しみず,おさむ
+しみず,たかし
+しもむら,たかし
+しもむら,あきら
+しおじり,ひろし
+しおざわ,あやこ
+しらい,ゆうこ
+しらかわ,ふみえ
+そまん,じん
+そうや,まさと
+そのだ,まゆみ
+すだ,ともはる
+すがの,けんいち
+すがぬま,さとし
+すがわ,せいいち
+すぎうら,きょうすけ
+すぎやま,ともひろ
+すずき,けん
+すずき,こうじ
+すずき,あつし
+すずき,しんいちろう
+しょうじ,てつや
+たぐち,かつや
+たいら,ただと
+たじま,りえ
+たかだ,たかのり
+おかやま,あさこ
+たかぎし,みかこ
+たかはし,しんいちろう
+たかはし,やすし
+たかはし,まさよし
+たかはし,とおる
+たかはし,きょうこ
+たかき,よういち
+たかおか,たくや
+たかおか,ひろゆき
+いまいずみ,よしお
+たかさわ,たかし
+たかす,つよし
+たけい,せつこ
+たけなか,たけし
+たけざき,よしこ
+たまいし,ひであき
+たまき,しげる
+たなか,あきら
+たにぐち,なおき
+たうち,ひろなお
+てらみつ,だいすけ
+とだ,まや
+とみなが,しんいちろう
+とみた,あきよ
+とんぐう,ひでとし
+つねかわ,ひろふみ
+つつい,かつよし
+うちだ,たけし
+うちはし,たくお
+うえだ,まさひこ
+いとう,よういち
+うえだ,ひろし
+うえはら,ひであき
+ふじた,しほ
+うめだ,てつや
+うめはら,やよい
+うらべ,ひさこ
+わたべ,やすし
+やがさき,すみか
+やぎもと,ひろし
+やじま,かつみ
+やまだ,みちこ
+やまだ,たかし
+やまだ,みかこ
+やまぐち,さとこ
+やまぐち,ともこ
+やまもと,やすひろ
+やまもと,やすひろ
+やまもと,なおき
+やまもと,こうじ
+やまね,かずひろ
+やまさき,はるのり
+やました,かずき
+やまざき,まさゆき
+やまさき,としや
+やながわ,たけし
+やなぎだ,やすお
+おの,ひでのぶ
+やなぎさわ,やすし
+やざき,なおき
+やざわ,せいじ
+よこやま,ひろこ
+よこやま,たけし
+よも,きょうじ
+よしだ,ひでお
+よしだ,ゆうじ
+よしだ,はるひこ
+よしはら,あゆみ
+よしはら,まさひで
+よしもり,たかし
+ぜっつ,ひでよ
+あべ,よしただ
+あだち,こうじ
+あいかわ,ひろふみ
+あかえ,みちこ
+あんどう,まき
+あさみ,みさ
+いまなか,はるよ
+べっぷ,ゆうすけ
+べっぷ,ひろあき
+ちかはら,おさむ
+ふじい,みつとし
+ふじさき,たかゆき
+ふくしま,あずさ
+くろだ,としみ
+もり,まさひで
+わたなべ,たかえ
+くろだ,あさこ
+みやうち,じゅんこ
+いとう,きくこ
+いいだ,まゆみ
+かわの,まい
+あいうら,としお
+のざき,てるあき
+びたに,あやみ
+たにあい,だいすけ
+あおき,じゅんいち
+おき,きさく
+あおき,かずゆき
+あおやぎ,けんた
+あかにし,なおひろ
+あさお,まさひこ
+あさくら,かえ
+あしざわ,かずき
+あたく,ひろし
+あだち,ゆうこ
+いとう,ゆり
+しまもと,あとむ
+さいとう,まさる
+しのはら,かつみ
+おかの,ひでこ
+おかもと,ひろし
+ひらかわ,よごろう
+すがぬま,ともみち
+あなざわ,みのる
+あらい,としかず
+あらい,きんや
+あらかわ,ゆみこ
+あらかね,あきこ
+あらき,しげのり
+あんどう,ひろひさ
+いうち,まこと
+いけだ,やすひろ
+いけや,まさき
+いしかわ,ひろし
+いしかわ,まさみ
+いしかわ,ひろし
+いしかわ,こういち
+いしがき,ひろし
+いしぐろ,かおる
+いしはら,まさき
+いそむら,くみこ
+いたがき,きよみ
+いいだ,しろう
+いちかわ,そよ
+いちかわ,よしとし
+いで,いたる
+いとう,ひろふみ
+いぬい,まきと
+いのうえ,のぶひろ
+いまにし,むねたか
+いまはやし,しんいち
+いわさき,まさつぐ
+いわさき,まゆみ
+いわもと,けいいち
+うえの,えいじ
+うえの,かずのり
+うちいけ,よしあき
+うちやま,よしたか
+うめだ,しゅうじ
+うめむら,さよ
+うめもと,ちほこ
+うるしばら,よしひこ
+えぐま,えり
+えら,なおや
+おうさか,まさたか
+おおかわ,まさみつ
+おおさわ,まさひこ
+おしま,よしたか
+おしま,まなぶ
+おおすが,たつひこ
+おおたに,ひでき
+おおつ,まさふみ
+おおつか,ただひさ
+おね,まさゆき
+おおの,あきら
+おおはし,けんいち
+おおはし,けんご
+おおばやし,しんじ
+おおよし,たかゆき
+おかもと,ただゆき
+おがさわら,よしこ
+おがわ,ひでのり
+おくたに,ごう
+おくむら,ゆうこ
+おぐら,ひろこ
+いいかわ,けんいちろ
+おぐら,さとし
+おざわ,たかのり
+おざわ,ひでひこ
+おおの,やすのり
+かきもと,れいこ
+かきもと,ひろし
+かげやま,ともみ
+いしかわ,ひろし
+かそり,やすひと
+かつみ,なおき
+かとう,なおこ
+かとう,のりこ
+かとう,しげのり
+かとう,だいすけ
+かとう,けいじ
+けずか,あきら
+かどわき,みつしろう
+かねこ,あきひろ
+かのう,のりこ
+かみやま,ひろかず
+かわしま,ひろゆき
+かわせ,さとる
+かわの,かずき
+かわもと,まさたか
+かわもと,しん
+かわせ,なおき
+かんだ,ひでとし
+きくち,ひさゆき
+きくち,あきこ
+きくち,のぶお
+きたあらし,まいこ
+きたおか,みゆき
+きたじま,あきひろ
+きたむら,たけみ
+きたむら,あつし
+きてら,さとし
+きのした,じゅんこ
+きむら,たかひろ
+きりう,たけし
+くさかべ,まえこ
+くぼた,こすけ
+くまがい,けんじろう
+くまの,さり
+くりはら,まさと
+くるしま,あきよし
+なかがわ,ちか
+こいで,ひでき
+こんの,まさし
+こもと,ゆうこ
+こが,くにはる
+こじま,たいじ
+こにし,かよこ
+こばやし,せいう
+こまつ,けいいち
+こみや,しんや
+こんど,さとし
+こんど,つとむ
+ごとう,だいすけ
+さいとう,たつや
+さいとう,こうじ
+さいとう,ひでき
+さかもと,たけお
+さくま,としかず
+しみず,なおき
+さだちか,けいじゅ
+さと,さよこ
+さとう,じゅん
+さとう,ひとみ
+さとう,みか
+さとう,かつゆき
+さわだ,じゅんじ
+いそわ,まさひこ
+しも,たかあき
+しゅう,まさや
+しおかわ,あやの
+しおざわ,まさひこ
+しかうち,みつる
+しずり,たけし
+しの,てつじ
+しのざき,じゅんじろう
+しのだ,ますみ
+しのだ,ゆきこ
+しばざき,あきひと
+しばた,さおり
+しまむら,のぼる
+しみず,みまこ
+しみず,ゆうじ
+しみず,さとし
+しみず,しんいちろう
+たきたに,ゆういち
+しらの,たかゆき
+すえひろ,けん
+すがい,みきお
+すがよし,けんじ
+すがわら,しげふみ
+すぎうら,のりあき
+すぎしま,しゅんすけ
+すぎもと,ひさし
+すずかわ,よしえ
+すだ,あきよし
+すみかわ,かつあき
+すみの,こうじ
+せきぐち,しげみ
+そえじま,やすなり
+たおか,ただし
+たかき,きょうこ
+たかしま,しんいち
+たかせ,きよたか
+たかはし,かつや
+たかはし,たつや
+たかはし,えいいち
+たきたに,なな
+たけうち,ひろぶみ
+たけだ,ただゆき
+たけだ,けいいち
+たけだ,いくひこ
+たけむら,なおひさ
+たご,まさこ
+たきざわ,ちかこ
+たなか,ようこ
+たなか,りょうすけ
+たなか,けんじ
+いわの,かずしげ
+たなか,ひろし
+たにえ,さだよし
+たにぐち,かずえ
+たにぐち,じ
+たにまつ,ひろし
+たばた,みわこ
+たまき,たつや
+いせもと,
+たみや,あき
+ちゃもと,ふさし
+ちの,よういちろう
+つかもと,ようこ
+つちはし,むねひろ
+てらさわ,たつや
+と,みちこ
+ふくしま,なおし
+とば,きょうこ
+とみよし,ひとき
+とむろ,なつひこ
+とよしま,じゅんいち
+とりやま,なおゆき
+ないとう,ひろゆき
+いで,みちかず
+はた,ふさお
+なかがき,みき
+なかがわ,たかこ
+なかざわ,よしこ
+なかで,しょうこ
+なかはら,あつし
+たけうち,かつひさ
+なかむら,さとし
+なかむら,たけし
+なす,ひろし
+にいむら,としひろ
+にしおか,ひであき
+にしかわ,あきら
+にしざわ,しげる
+にしと,やすこ
+にしの,こうじ
+にしはら,なおき
+にしむら,くにもり
+ねもと,さちよ
+のぐち,えみ
+のぐち,まさや
+のじり,よしなお
+のじり,たかひろ
+のむら,かずひこ
+はった,あきこ
+はしば,ちかこ
+はしもと,ゆか
+はしもと,いちろう
+いのうえ,きよし
+はしもと,たかこ
+はせがわ,けんいち
+はた,かずき
+はた,よしかつ
+はたの,まいこ
+はやし,ひろゆき
+はやし,くみこ
+はらだ,ともこ
+はらだ,けんいち
+ばば,ひろふみ
+ばば,あすか
+ひぐち,のぶひこ
+ひぐち,きょうこ
+ひさき,ごうじ
+ひじり,えり
+ひらやま,たかゆき
+ふくだ,まゆみ
+ふじい,ひろふみ
+すがい,さとみ
+ふじた,かずや
+ふじた,ゆきこ
+ふじた,のぶこ
+ふじたに,さとし
+ふじなみ,しげゆき
+ふじの,たつゆき
+ののむら,かつじ
+ふせ,たてる
+すぎもと,よういちろう
+ほそかわ,たつお
+ほりうち,なおみ
+ほりかわ,ひろあき
+まきの,いくこ
+まきの,のりひこ
+ましこ,としひこ
+ますだ,かずや
+ますぶち,たかし
+ますぶち,あきひろ
+まつい,まきこ
+まつざわ,まさと
+とみなが,たかし
+まつなが,よしこ
+まつなが,ゆき
+すずき,やすじ
+まつむら,けいいち
+まつもと,ひでふみ
+まつもと,ともひさ
+まつやま,のりこ
+まつやま,こうじ
+まつやま,てつや
+まつよし,あきこ
+まの,せいじ
+まるおか,としやす
+みかみ,ようこ
+みき,ひろき
+みぞぐち,まさみ
+みた,みのる
+みね,ちあき
+みねお,さとる
+さとう,かつのり
+いくた,あや
+みやざき,ひでき
+たかぎわ,しげる
+みよし,ようこ
+むかい,みつたか
+むらかみ,まさあき
+いしだ,つかさ
+むらかみ,さとし
+むらかみ,かずたか
+むらやま,こうじ
+むらやま,まこと
+むろい,まさたか
+もたい,かずまさ
+もとき,かずや
+もとむら,こうじ
+もり,かつひろ
+かせ,あきよし
+もりした,かずひろ
+もりた,なおき
+もろとみ,ひでのぶ
+もろはし,ゆきこ
+かわもと,ひろのり
+やぐち,てるひこ
+やじま,なおこ
+やすかわ,ひろし
+やすだ,まさひと
+やつずか,まりこ
+やなぎさわ,ゆき
+やまぐち,きんや
+やまさき,たかや
+やまざき,ひろゆき
+やまざき,よしこ
+やまざき,せいじろう
+やまだ,けんたろう
+やまだ,なおき
+やまだ,たかのり
+やまなか,しゅういち
+くりはら,まさき
+やまもと,まさこ
+やまもと,しんたろう
+やまもと,やすし
+まつお,ますみ
+よぎ,ちとせ
+よこやま,ひでき
+よこやま,ようこ
+よしかわ,なおひで
+よしかわ,よしこ
+よしだ,こうじ
+わくい,てつや
+わたなべ,けんたろう
+わたなべ,しほ
+わたなべ,よしひと
+わたなべ,まなぶ
+はやし,たかし
+やまだ,のぶや
+わかばやし,さとし
+いわむら,のりまさ
+わたなべ,のぼる
+くわしま,すぐる
+おばた,さとみ
+あなざわ,ひかる
+やぎ,こすけ
+あかお,ともかず
+しみず,なつこ
+さかもと,ひでのぶ
+あおき,しげあき
+あずま,こういち
+いいだ,えな
+いけうち,めばえ
+いしかわ,てつお
+いそがい,まこと
+いとう,ただひろ
+いば,あずさ
+いわもと,しんじ
+うえさか,たけひろ
+うえの,まもる
+うえひら,けんご
+うちやま,けんじ
+うめない,すすむ
+えむら,たかひろ
+おきた,じゅんいち
+おおくぼ,ひろし
+おおたに,あや
+おおつ,ひろこ
+おおつか,よしみ
+おかしろ,しろう
+おだ,あつし
+おの,ひろみ
+かとう,よしゆき
+かねひさ,なおこ
+かみや,おさむ
+かわい,たくよし
+かわおか,ひでき
+きたの,じゅんいち
+きぶし,つへ
+きむら,まさたか
+きむら,まさこ
+くさか,さとみ
+くば,たかし
+くぼた,しろう
+くろいわ,しんじ
+くわばら,えいじ
+こいけ,すみお
+こいたばし,つかさ
+こうだ,ひでお
+こうだ,まさたけ
+こしむら,あつし
+こやなぎ,ひさこ
+はとり,ゆうこ
+さかうえ,さわ
+あべ,こういち
+さとう,やすみつ
+さとう,まゆみ
+さとう,よしお
+しまだ,りえ
+いまい,かつあき
+すがぬま,ちよ
+せき,あきひろ
+せの,たかやす
+あべ,まさはる
+たかすが,まゆみ
+たかすぎ,のぶこ
+たかはし,ともみ
+たかはし,けんたろう
+たかはし,あきひと
+たかはし,こうじ
+たかはし,ひさみ
+たきもと,ゆうた
+たくぼ,よしゆき
+たけうち,ともこ
+たけなか,ゆきひこ
+たなか,もといち
+たなか,ちずる
+たばた,かつゆき
+たみや,たけし
+たむら,れいこ
+ちゅうま,ひろたか
+ほんごう,ゆうこ
+なかお,のぶあき
+なかがわ,こういち
+なかぞの,ひでのり
+なかの,みつひろ
+にった,はな
+にわ,りょういち
+のじ,ひろあき
+はざの,たかし
+はしもと,とおる
+はしもと,ゆうこ
+はやし,ちおり
+はやし,とうこ
+はらぐち,たかし
+はるぐち,としお
+ひらで,いさむ
+ひらの,まさたか
+ひらやま,ゆき
+ふかざわ,ひろみ
+ふくます,かよ
+ふくもり,まさる
+ふじかわ,しげる
+ほしの,のりこ
+ほその,あきひと
+まつおか,よしなり
+まつむら,なみこ
+みずかみ,てつろう
+みつい,たいすけ
+みのかみ,としゆき
+みやもと,たつし
+むらかみ,けいこ
+やた,なおこ
+やなぎた,みのる
+やまぐち,こうじ
+やました,みちお
+やまもと,ゆういちろ
+よしたけ,ひでのり
+よしむら,えり
+ひぐち,たけし
+はしもと,あつし
+わたなべ,ゆき
+あきば,たけひこ
+あきもと,みつよ
+あまや,まさる
+あんどう,てつろう
+あんざわ,のぶひろ
+あさはた,かずひと
+ばば,みちひと
+べっしょ,てるひと
+ちかもと,さおり
+ちょう,だいすけ
+ふじひら,みわこ
+ふじい,けいこ
+ふじたに,よしかつ
+ふかだ,まさあき
+ふるだて,なおき
+ふるやま,ひろゆき
+ごうだ,きよのぶ
+こいけ,よしゆき
+はかまだ,こうぞう
+はせがわ,たかお
+はしもと,こういち
+はった,けんいち
+はっとり,たかひろ
+はやかわ,ひろき
+はやかわ,なるつぐ
+ひぬま,たくや
+ひろき,ともひで
+ほりのうち,ゆうじ
+ほその,あつこ
+ふじおか,ひでき
+ふるた,なるき
+ふさの,けん
+ふしみ,おさむ
+いたど,ひとし
+いだ,まさひろ
+いはら,けい
+いいだ,たかひろ
+いなやま,ひろかず
+いの,じゅんいち
+いのうえ,めぐみ
+いしだ,よしつぐ
+いしもと,やすよし
+いしわ,みつる
+いしわたり,ひろかつ
+いたくら,なほこ
+いとう,たかひろ
+いとう,しゅういち
+いわい,ななこ
+いざわ,
+じぶ,すぐる
+かばやま,まさき
+かい,ゆうこ
+かきぬま,じゅん
+かきざき,まさき
+かくだ,しゅうすけ
+かながわ,しん
+かんべ,たけお
+かんだ,やすひと
+かさだ,みちたか
+かわい,ともこ
+ささき,いくえ
+かわせ,さほ
+きもと,みきね
+きたはら,のぶお
+きたむら,よしお
+こばやし,ひろえ
+こぶけ,ゆうこ
+こいずみ,かなこ
+こみやま,まりこ
+こんのかずひろ,やすひと
+こしかわ,たかゆき
+こんの,こういち
+くぼ,まさのぶ
+くぼかわ,なつき
+くどう,ともか
+くりはら,かついち
+くろぎ,さえこ
+まちだ,はるみ
+まじま,やすこ
+いしず,のりゆき
+まかべ,ひろよ
+まるやま,ひであき
+ますだ,かよ
+まつがさき,あきら
+まつい,たけし
+まつい,さおり
+まつもと,けんじ
+まわたり,かんじ
+みちもと,としひろ
+みき,すみこ
+みつま,たかのり
+みうら,けいご
+みわ,まこと
+みやもと,かつひさ
+みやもと,やすのぶ
+みやもと,たけのぶ
+みやた,まさし
+むらかみ,とおる
+たはら,のりこ
+みずたに,ともか
+もり,ゆき
+もりぐち,まさひこ
+もりかわ,ひろし
+もりもと,かずみ
+もりた,れいこ
+むらかみ,たつひこ
+あでがわ,あい
+ながさか,ひかる
+ながた,じゅり
+ながた,かつのぶ
+いざわ,かおり
+なかみね,まもる
+なかむら,ひろのり
+なかむら,たつや
+いもと,こういちろう
+なかむら,たけし
+なかお,ゆうじ
+なかやま,うしん
+なかざわ,きよし
+なみき,はるよし
+にいみ,あきひろ
+にいぜき,かおり
+にしで,ひであき
+にわ,ひでき
+のべ,みさ
+おおた,しげあき
+おがわ,まさよし
+おぐす,ゆうすけ
+おおもと,しょうじ
+おしま,たかのり
+おおた,けんいち
+おおや,ひみこ
+いしかわ,よう
+おかだ,たけし
+おく,ふみゆき
+おくだ,まさき
+おしくぼ,けんいち
+おぜき,かつひこ
+らい,ゆうじ
+いとう,ともや
+さいき,ひろし
+さいとう,たつや
+よしだ,みちやす
+さこ,しげみつ
+ささじま,じゅんや
+ささき,ゆきこ
+さとう,つぐひで
+いわもと,かずひこ
+さとう,ちえこ
+さわだ,ひでやす
+せきかわ,いずみ
+せきね,みつお
+しばた,なおき
+しげはら,しんや
+しまおか,あきひこ
+しみず,かずひろ
+しも,まさあき
+しもむら,たかし
+しむら,たかひさ
+そめや,あきひこ
+すえよし,けんいち
+すずき,ひでゆき
+すずき,なおき
+たかだ,いちろう
+たかはし,
+たかせ,まなぶ
+たけだ,あきら
+たけい,ひさよし
+たけもと,はじめ
+たまい,としひこ
+たむら,たかゆき
+たむら,さとる
+いしかわ,ひとし
+たなか,こういちろう
+たなか,まさひろ
+たにぐち,たけのり
+たにぐち,ひろたか
+たにぐち,けんじ
+たにぐち,けん
+いしだ,あつし
+たにした,ふみの
+てらにし,つよし
+とおやま,きょうこ
+とみた,みわ
+とねがわ,たく
+とよだ,のりこ
+とよた,しゅうじ
+つちや,よしこ
+いしかわ,なおき
+つむら,としあき
+つのかわ,よしみ
+うちだ,ひとし
+うさみ,たけし
+わじま,りこ
+わたなべ,まき
+わたなべ,よういち
+わたなべ,やよい
+やぎ,けいいち
+やぎ,きょうこ
+やくわ,ひろふみ
+やまだ,ひろき
+やまだ,たかゆき
+やまぐち,としゆき
+やまのくち,まさこ
+やました,こういち
+やました,なおゆき
+やまざき,ひでゆき
+やまざき,ゆたか
+やながわ,たつろう
+やすだ,とよあき
+やすえ,ともゆき
+いそがい,ただのぶ
+やたがい,えり
+よしだ,りょうこ
+たかはし,まさき
+おかだ,しゅういち
+あおき,まさる
+あきば,あきこ
+あべ,あきこ
+あまの,まさお
+ありもと,しゅうじ
+あんどう,ゆき
+いかわ,たいへい
+いしい,のりひろ
+いしかわ,なおこ
+いしずか,ゆみ
+いしばし,しゅんすけ
+いしもと,りょうすけ
+いで,さとこ
+いちのせ,さとし
+いなだ,まなぶ
+いぬい,やすよ
+いのうえ,まみこ
+いやま,こうじ
+いわさき,みずまさ
+いわま,かずこ
+いわまつ,おさなお
+うえだ,ひろこ
+うえの,ひろき
+うちだ,たかお
+うど,けんじ
+うめはら,たかし
+えぐち,とみさぶ
+えのき,よしこ
+えもと,みつもと
+えもり,せいや
+なかがわ,なおあき
+おおた,ひでゆき
+おがた,やすし
+おがわ,のぶたか
+おがわ,れいこ
+おくい,たくじ
+おくむら,もとこ
+おおたに,てるあき
+おつとも,ゆきこ
+おにざわ,しげき
+おの,のりあき
+おばな,せいいちろう
+おまがり,まさや
+かきざわ,てつひろ
+かけひ,えりこ
+かさはら,まどか
+かじ,おさむ
+かじた,たかお
+かじた,たかお
+かじやま,みのる
+かとう,よしのぶ
+かなだ,けい
+かねこ,のぶかつ
+かねこ,りょうた
+いたの,けんすけ
+ながつま,しゅうへい
+かのう,せいじ
+かまえ,なおき
+かわい,てつお
+かわまた,ひろき
+かんの,まいこ
+きうち,いずみ
+きし,ようこ
+きたがわ,とものぶ
+きのした,なりとし
+きょうがく,まこと
+くぼ,とものり
+くぼた,たくや
+くぼた,しんぺい
+くりはら,りえ
+くりやま,けいこ
+いしがき,としふさ
+くろい,いつろう
+こうさき,こういち
+こうだ,あつし
+こばやし,のぶあき
+こばやし,てつや
+こばやし,ゆうすけ
+こばやし,こうじ
+いのうえ,のぶあき
+さいほ,なるひろ
+さかがわ,ようへい
+かわむら,ゆたか
+ささおか,ようこ
+ささき,のぼる
+さとう,のりかず
+さとう,まなぶ
+さなだ,おさむ
+さるやま,けんいち
+しおつ,えいすけ
+しおのや,しのぶ
+しおやま,のぼる
+しぎはら,ひろゆき
+ししど,くにお
+しのざき,かずひと
+しばた,みのる
+しみず,
+しょうの,しんいち
+しらき,ひろゆき
+すぎおか,みつかず
+すぎはら,きよしげ
+すずき,ひさてる
+すずき,しげゆき
+すみやま,せいじ
+せった,まさき
+いしわた,だいじゅ
+せんごく,みのる
+たかおか,ゆみ
+たかざわ,たかしげ
+たかはし,あやこ
+たかむら,たかゆき
+たきと,ひでき
+たなか,かず
+たなか,あきこ
+いとう,じゅんじ
+たなべ,けんじ
+たにぐち,まなぶ
+ちゃわんや,よしはる
+てらさか,ひろき
+ところ,じゅんいち
+なかい,たかし
+なかお,しんじ
+ながおか,みほ
+なかがわ,もとあき
+なかじま,すひち
+ながせ,たつや
+なかの,せいた
+なかの,じ
+ながの,ゆうこ
+いけだ,あきこ
+なかむら,まりこ
+なかやま,かつとし
+にお,じゅんいち
+にしお,のりこ
+にしかい,としみつ
+にしざか,よしこ
+にしだ,だいすけ
+にしだ,たかし
+いいじま,まさき
+にしはら,かずゆき
+にしむら,かずや
+ねろめ,ひろし
+のじま,さねひろ
+のなか,だいすけ
+はしば,のりかず
+はちや,たかひろ
+はっとり,こ
+いいだ,ひろゆき
+はぶ,まこと
+はやかわ,てつろう
+はやし,なおこ
+はやしま,ひでし
+はら,たくみ
+ひがしだ,まさる
+せきぐち,きょういち
+ひらい,かおり
+ひろすえ,ひろゆき
+ひろはた,たくや
+ふくしま,みつお
+ふじお,てんぺい
+ふじた,ゆういちろう
+ふじまき,ゆきひこ
+ふじわら,とおる
+ふるいち,ゆうすけ
+ほさか,たけし
+ほしの,こうじ
+ほり,ゆきこ
+ほりもと,ゆうじ
+ほんま,ゆきのぶ
+まえかわ,たけはる
+まえだ,たかひと
+まえだ,みきお
+まえだ,たつや
+まさい,くみ
+まつい,ひでのぶ
+まつざわ,ちから
+まつだ,たかゆき
+まつとも,まさなお
+まつなが,けんじ
+まつもと,ようすけ
+みずぐち,ともたか
+みやもと,まゆみ
+みやもと,やすじ
+むらかみ,かずひで
+むらかみ,まさひろ
+むらなか,さとし
+もちずき,たくや
+もとくら,ともこ
+もり,くにかず
+もりや,ほまれ
+やすい,たいげん
+やすだ,みきこ
+やすだ,きよひと
+やた,かずひろ
+やたき,のぶお
+やち,ふみひこ
+やの,ひろし
+やまいずみ,よしあき
+やまおか,まさき
+やまぐち,やすひろ
+やまぐち,よしのり
+やまざき,あきお
+やまざき,なな
+やました,まいこ
+やまもと,けん
+よこぜき,たいち
+よしだ,なおと
+よしの,やすお
+よしみ,たかし
+よだ,たかひろ
+よだ,ひろあき
+ろじ,ふみあき
+わだ,まみ
+わたなべ,ゆきお
+わたなべ,ひでき
+わたなべ,かずお
+わたべ,たかし
+かのう,たかとし
+にった,おさむ
+あおき,しゅう
+あおき,はなこ
+あおやま,まさあき
+あおやま,ぬい
+あきば,けいいち
+あさだ,まりこ
+あだち,ともみ
+あだち,ゆうこ
+あとべ,はると
+あべ,かつひこ
+あべ,のぶお
+あべ,まゆみ
+あまの,まき
+あまの,じゅんいちろ
+あらかわ,りょうすけ
+ありた,ようへい
+ありとも,ひろし
+あんざい,ひであき
+いとう,ようじ
+あんどう,りえこ
+いがらし,みおこ
+いけだ,いずみ
+たかはし,あつお
+いしばし,ただし
+いしむら,ゆみこ
+いしもと,まりこ
+いちい,けいこ
+いちかわ,ひろと
+いちかわ,まきこ
+いちのせ,きよし
+いとう,あきひろ
+いとう,まさる
+いとう,りさ
+いなおか,まさふみ
+いなば,ひろたけ
+いぬずか,まゆみ
+いのうえ,ひでおみ
+いのかわ,しゅんすけ
+いまい,たけし
+いましゅく,りょう
+いわい,ともひこ
+いわしま,しゅういち
+うえぞの,めぐみ
+うえだ,たかひろ
+うえはら,たかゆき
+うえはら,もとこ
+かきた,けん
+うさみ,ひじり
+うちだ,ひろき
+うちだ,あやこ
+うちぼり,みさと
+うめがい,かずえ
+うめつ,あきひこ
+うめの,たけし
+うらかわ,ゆき
+うらべ,しげひさ
+えぐち,ただし
+えずみ,いくよ
+えのもと,たろう
+いまにし,ひろゆき
+えのもと,ふみこ
+えんど,よしき
+おいかわ,まさき
+おいかわ,ゆきふみ
+おおい,ようじ
+おおいし,まさはる
+おおた,ふみかず
+おおつか,しんすけ
+おおにし,かつあき
+おおにし,みちえ
+おかだ,やすお
+おかだ,まさる
+おかの,ゆき
+おかべ,よしひろ
+おかべ,ひであき
+おかむら,りょう
+おかもと,みき
+おかもと,みゆき
+おがわ,たえこ
+おがわ,とおる
+おくだ,けん
+おくだ,てつや
+おざき,まみこ
+おの,なおこ
+おおやま,たかし
+かいずか,としふみ
+かがみ,えりか
+かきた,かおる
+かく,こうじ
+かさい,ゆきのり
+かじい,あかね
+かじた,なおや
+かたえ,ゆうじん
+かたやま,みつこ
+かつ,とおる
+かとう,たく
+かとう,だいすけ
+かみ,あつこ
+かねこ,くにひと
+かまだ,かずひろ
+かみ,よしてる
+かみひさ,ゆうじ
+かみもと,かおり
+かみや,かずお
+かみやま,まき
+かわかみ,ますみ
+かわさき,ひとし
+かわせ,ひろかず
+かわはた,たけちか
+かわはら,じゅんこ
+かわむら,かずひろ
+かわもと,けいすけ
+かわもと,ひろし
+かわもと,みちお
+かんだ,たけし
+きくち,えり
+きたがわ,まさぶみ
+きたなが,さかえ
+きたの,しんご
+きたむら,たつや
+きたもと,つとむ
+きのえ,ひろし
+きぶせ,たかえ
+きむら,じゅんいち
+きむら,ともき
+きもと,ひでゆき
+きもと,ゆり
+ぎょうぶ,ひろこ
+くに,みほ
+くにまさ,みえこ
+くまさか,たいせつ
+くらしげ,あきお
+くりはら,たけし
+こいけ,めぐみ
+こいけだ,たつろう
+こいずみ,ひろし
+こいぬま,みちこ
+こつか,かずあき
+こが,しげき
+こしもと,ひろみつ
+こだま,たいちろう
+こだま,まさかず
+ごとう,ありよし
+こにし,ともこ
+こばやし,よしじ
+こばやし,まさき
+こばやし,やすたか
+こばやし,ひでひと
+こまき,たつや
+こまば,かずのり
+こみや,かつひこ
+こやま,まさのり
+こやま,やすのり
+さいき,ともひさ
+さいごう,みわこ
+さいとう,けんじ
+さいとう,てつお
+さいとう,いさむ
+いがらし,しょうご
+さえぐさ,なみ
+さかい,あきら
+さかがみ,いちろう
+さかね,だいき
+さかもと,とものり
+さかもと,まこと
+さくらい,ひろみ
+さくらだ,りょうじ
+さこん,まさひろ
+ささき,ななえ
+ささはら,わかこ
+さとう,げん
+さとう,じゅんいち
+さとう,けんご
+さとう,なおと
+さの,ひであき
+さわ,けんご
+しぶや,ただし
+しぶや,ひでお
+しまだ,まなえ
+しまだ,ひでたけ
+しまだ,やよい
+しみず,ゆきお
+しみず,だいすけ
+しみず,ひでき
+しみず,あきの
+しみず,なおゆき
+いのうえ,けいすけ
+しも,さとし
+しょうだ,しげのり
+じんの,まこと
+じんの,りゅうじ
+しんまち,たけし
+すぎい,まさなお
+すぎおか,たかひこ
+すぎもと,みちのり
+すずき,かずひら
+すずき,だいすけ
+すずき,かずひろ
+すずき,ひろしげ
+すずき,ゆういちろう
+せお,のりこ
+せき,そう
+いしはま,けんと
+そのだ,こうたろう
+たい,よしあき
+たかいわ,きよし
+たかぎ,ゆうじ
+たかはし,まきこ
+たかはし,のぶゆき
+たかはし,まきこ
+たかはし,たけし
+たかはし,あきひこ
+たかむく,けんし
+たぐち,ひろこ
+たけうち,よしこ
+たけかわ,まさし
+たけわ,しんじ
+ただまつ,ひでき
+たたら,こうじ
+たなか,たかし
+たにもと,ゆうじ
+たねむら,あきふみ
+たはら,さとし
+たむら,ひろし
+だん,たかゆき
+いいだ,むねのり
+ちば,えいすけ
+ちょうとく,ひでゆき
+つかはら,ひろゆき
+つつみ,まこと
+つもり,まりこ
+てらした,ゆういちろう
+どい,ゆたか
+どい,よしえ
+どい,よういち
+としま,こうへい
+ないとう,こうじ
+なかい,まさひろ
+なかい,しゅうへい
+なかお,きほこ
+なかがわ,ちあき
+ながさき,かおり
+なかじま,たかふみ
+なかじま,のぞむ
+なかしま,さなえ
+なかだ,きよこ
+なかはら,みなこ
+なかむら,じゅんぞう
+なかむら,しゅうたろう
+なかむら,ゆり
+なかむら,そういちろう
+なかむら,みつひろ
+なかむら,かつひこ
+なかむら,ひでや
+ほしの,としはる
+なかもと,あきこ
+いけだ,まさたか
+なかもり,とおる
+ながよし,たかまさ
+なではら,ひろし
+ななもり,つとむ
+ならさか,ひろし
+なんば,ゆき
+にし,つねあき
+にしかわ,ひであき
+にしだ,けんし
+にしむら,ゆき
+のぐち,さとし
+のだ,けんいち
+のなみ,すぐる
+ののいちや,ますお
+のむら,ともひこ
+のもと,ゆういち
+はがや,なおゆき
+はぎわら,やすゆき
+はく,ともひと
+はし,たかし
+はしずめ,ゆうこ
+はしば,まこと
+はせべ,たかまさ
+はた,まさみち
+はたえ,みきと
+はたの,あきよし
+はちの,すすむ
+はっとり,ゆう
+はやし,れいこ
+はやしだ,あきら
+はやふね,よしあき
+はら,たつじ
+はらだ,くみこ
+はらだ,まさこ
+いのぐち,かつふみ
+はらだ,たかゆき
+ひがしやま,ようこ
+ひぐち,ひでき
+ひご,ひろし
+ひだの,ともや
+ひまき,とものり
+くらしげ,かずゆき
+いしはら,れいこ
+ひらた,しげお
+ひろさわ,ゆきこ
+ひろた,けいこ
+ふかさわ,みきこ
+ふかざわ,りえ
+ふかざわ,たかし
+ふくむろ,まさとも
+ふじい,てつや
+いとう,けいこ
+ふじい,みおこ
+ふじなが,けいじ
+ふじなが,ふみこ
+ふじわら,のりひろ
+ふじわら,りえ
+ふじわら,なおゆき
+ふたつぎ,つよし
+ふたつもり,しずか
+ふるはた,のぶあき
+ふるや,まりこ
+へんみ,まさる
+ほし,まいこ
+ほしの,かつあき
+ほり,きみひろ
+ほりえ,しんじ
+ほりおか,あつこ
+ほりかわ,ともひろ
+まえふね,なみこ
+まきの,やすのり
+ますだ,おくと
+まつうら,たけし
+まつした,あきし
+まつもと,ひでたか
+いぐち,たかひろ
+まつやま,まさひろ
+まなべ,ちの
+まるやま,なおゆき
+みうら,みちる
+みき,たかゆき
+みつはし,えいいち
+みつべ,まさと
+みとべ,ひさや
+ちょうとく,たまき
+いけふじ,のぶよし
+みやざき,まさはる
+みやざき,あきら
+みやした,ようこ
+みやた,たかし
+むこうやま,みちひで
+むらい,みほ
+むらかみ,まみ
+むらかみ,みつあき
+むらた,ともゆき
+むらまつ,まさゆき
+もとき,じゅんた
+もとよし,せいいち
+もみやま,えいじ
+もり,たかし
+もり,たけや
+もりうえ,よしたか
+いのうえ,あきのり
+もりうち,しんたろう
+もりた,ゆうき
+やぎさわ,かずみ
+やしま,こうじ
+やすだ,ふみひこ
+やの,みき
+やの,ただたか
+やまぐち,じゅん
+やまさき,ふみひこ
+やまざき,のぶひこ
+やました,けいじ
+やました,あつし
+やまだ,たつお
+やまな,かな
+やまみち,けいすけ
+いなか,げんた
+やまもと,こうじ
+やまもと,たくや
+やまもと,ひでお
+やまもと,むねたか
+ゆば,ゆたか
+よこたに,まこと
+よこやま,よしお
+よしだ,かずひろ
+よしだ,としかず
+いわさき,としかず
+よしだ,りょう
+よだ,えみ
+わかまつ,みちえ
+わさ,りょうこ
+わだ,かおる
+わたなべ,けいぞう
+いわくら,えいいち
+わたなべ,ひでゆき
+わたなべ,かずみね
+わたなべ,しょうたろう
+わたなべ,ゆき
+わたなべ,しげる
+わたなべ,ひろゆき
+わたなべ,きよかず
+わたなべ,としえ
+おおい,のぶひろ
+いいだ,ゆきこ
+むかい,たかし
+ふみはら,かおり
+かわごえ,まさはる
+くろかわ,ひろみ
+こうだ,さとる
+ふじた,ゆうこ
+こばやし,たけし
+はまむら,かよ
+いわせ,やすひろ
+たけだ,まさる
+おがわ,ひろあき
+みずた,さとる
+いいだ,あつし
+あいはら,やすこ
+あおう,としき
+あおき,しんこう
+あおば,ひろよし
+あきもと,すすむ
+あさい,ゆうこ
+いしやま,しゅんすけ
+あさお,えみこ
+あさだ,としき
+あさだ,けんたろう
+あさの,ふじお
+あさの,ともひこ
+あざみ,としゆき
+あすま,しゅうへい
+あそう,ゆか
+あだち,きょういち
+あとみ,のりひろ
+あなみ,やすひさ
+あべ,まさおみ
+あべ,まこと
+あべ,まこと
+あまの,まさとし
+あやべ,たろう
+たけきた,まなぶ
+あらい,まき
+いつの,みきお
+ありかわ,よしのぶ
+ありた,こういち
+あんじゅ,つよし
+あんどう,まさき
+あんどう,りゅうた
+いちのせ,こずえ
+いいぬま,ひろゆき
+いうえ,よしあき
+いがらし,あきこ
+いけうち,おりか
+いけがみ,みのる
+いけだ,たけし
+いりた,やすあき
+いけだ,しゅういち
+いけだ,しょういち
+いけだ,じろう
+いしい,じゅんいち
+いしい,ともこ
+いしい,なおみ
+いしおか,しんいち
+いまい,たけし
+いしかわ,りょうへい
+いしかわ,とものぶ
+いしぐろ,ゆきひろ
+いしだ,たつゆき
+いせき,たけし
+いちき,まさと
+いちのせ,ともひろ
+いちのみや,ふみたけ
+いとう,しんいち
+いとう,のりこ
+いなだ,よしたか
+いなば,せいいちろう
+いはら,きよたか
+いのうえ,おさむ
+いのうえ,のりこ
+いのうえ,ともゆき
+いまいずみ,あつし
+いま,さとこ
+いまだ,みお
+いまず,つよし
+いまむら,みつとし
+いりたに,たくじ
+いわき,たつや
+いわさき,まり
+いわさき,まな
+いわすぎ,みか
+いわはし,いちろう
+いわぶち,なほ
+いわほり,あきひこ
+うえだ,のぶえ
+うえまつ,たかし
+うすい,ともいち
+うすい,まさひろ
+うちだ,かおり
+うつみ,まきこ
+うめだ,ひでのぶ
+うらの,やすひろ
+えがわ,たけし
+えざき,あつこ
+えとう,けんじ
+えのもと,はるひら
+えのもと,あきら
+えま,あきこ
+えんど,ひさのり
+えんど,よしまさ
+おいたに,ゆき
+おう,よしひろ
+おおい,かおる
+おおえ,あきひろ
+おき,あや
+おおくぼ,ふみのり
+おおさわ,いさお
+おおさわ,ひさし
+いわきり,わたる
+おおすみ,もとひこ
+おおた,みつひろ
+おおた,たかし
+おおつか,あきのり
+おおつか,こういち
+おおつか,ともひろ
+おおつき,じゅん
+おなか,だいすけ
+おおにし,ようこ
+おおぼ,まさこ
+おま,きよし
+おむら,しのぶ
+おむら,くみ
+いしい,なおこ
+おおもり,よしひろ
+おおもり,ひろかず
+おおもり,のぶひさ
+おおわだ,たかふみ
+おかい,れい
+おかざき,ともみち
+おかざき,かずひと
+いけだ,あきお
+おかの,えいいち
+おかべ,うらら
+おかもと,えつこ
+おがわ,ゆうこ
+おがわ,あきら
+おがわ,りょういち
+おがわ,きよの
+おおがわら,くにはる
+おくはら,さとし
+おくやま,まこ
+おぐら,やすはる
+きたむら,まりこ
+おざわ,しげみつ
+おち,もとひろ
+おの,たかし
+おおの,ちか
+おのでら,けんし
+おばた,かつよし
+おおやま,ちずる
+おんた,めぐみ
+いわた,たけし
+かいぶき,ゆみ
+かきもと,まちこ
+かざぐち,まさのり
+かさざき,よしひろ
+かじ,さおり
+かじむら,はるな
+かしわい,のりこ
+かしわばら,なおや
+かたくら,よしゆき
+かたやま,まいこ
+かつの,たかのり
+かど,ちえこ
+かとう,のぶゆき
+いその,みどり
+かとう,たかし
+かとう,しほ
+かとう,あきよし
+かとり,けんじ
+かなさか,もとひろ
+かなざわ,みちこ
+かなやま,かなこ
+かねこ,ゆきお
+かねこ,ともこ
+かねだ,もとき
+がみ,ひろし
+かめおか,まなみ
+からさわ,あきてる
+からしま,きよふみ
+かるいし,いずみ
+かわい,なおゆき
+かわい,たかおみ
+かわかみ,まさみ
+かわかみ,けんた
+かわず,あつし
+かわなか,えいすけ
+かわの,たかし
+かわばた,なおや
+かわべ,しほ
+かわみ,しんじ
+かんばし,みちこ
+かんばら,あつし
+きしい,やすえ
+きしだ,あきひろ
+きたがわ,まさき
+きたしろ,かずよし
+きたはら,よしかず
+きたむら,よういち
+きど,ちえこ
+きのした,わかこ
+えだ,えい
+きむら,なつこ
+きむら,しげる
+きむら,あつし
+きよなが,のりみつ
+きよみや,たかお
+きりや,まさき
+いとう,ともや
+くしだ,きょうこ
+くじらおか,だいき
+くにもと,たけとし
+くぬぎ,とおる
+くぼ,あつし
+くぼさわ,まさき
+くぼた,たかひろ
+くめの,のぶお
+いしぐろ,たろう
+くら,ともあき
+くらさわ,ふみはる
+くらた,りょうこ
+くろかわ,たかひさ
+くろす,まみこ
+くろやなぎ,さんしろう
+いなとみ,だいすけ
+こいけ,まゆこ
+こいけ,わたる
+こいしかわ,ひでゆき
+こいずみ,てるみ
+こいずみ,のりまさ
+こいで,まどか
+こずま,まいこ
+こんの,あつこ
+こやま,だいき
+こり,たかひで
+かつかわ,せいいちろう
+こがの,あきふみ
+こしい,ともひろ
+こしまる,だいとく
+こすぎ,まさし
+こせき,まなぶ
+こたに,やいち
+こだま,せんじ
+こにし,たみこ
+こにし,ただし
+こば,ともき
+こばたけ,けいいち
+こばやし,あきこ
+こばやし,やすゆき
+こばやし,ようじ
+こばやし,まさや
+こばやし,よしお
+なかむら,ようへい
+こばやし,ひろこ
+こぼり,くにひこ
+こまつ,つよし
+こやま,つぎお
+こんの,たかこ
+さいとう,ともえ
+さいとう,あつこ
+さいとう,ひろゆき
+さいとう,ひろゆき
+いとう,ふきこ
+さかい,ちひろ
+さかい,きよし
+さかい,みねお
+さかきばら,としき
+さかぐち,いちろう
+いわさき,れいこ
+さかもと,のりお
+さかもと,ようじ
+さかもと,じゅんこ
+ささき,かつとし
+ささき,こさく
+ささき,じゅんこ
+ささき,れな
+いまはし,ひろみ
+さつみ,たかゆき
+さとう,しんいちろう
+さとう,ゆうじ
+さとう,ともくに
+さとう,まりこ
+さとう,こうき
+さとう,ゆみこ
+さの,しの
+いしぐろ,ひでたか
+さわやなぎ,みつひろ
+しおた,けいすけ
+しき,ゆうこ
+しげおか,れい
+しげた,まもる
+ししど,りか
+しなだ,よしこ
+いで,よしふみ
+しばた,ようこ
+しばた,ありひと
+しばた,りょう
+しばた,しゅういち
+しまず,もなみ
+しまだ,よしさだ
+しまず,つねお
+しみず,ひでただ
+しみず,くにえ
+しもはし,ひろのぶ
+しもやま,かおり
+じょう,たかし
+いとう,きょうこ
+すがた,のぶえ
+すがや,あきひろ
+すぎた,たかひろ
+すぎなか,えいじ
+すぎもと,ふみお
+すぎやま,かずな
+すぎやま,ゆうじ
+すぎやま,とおる
+すげの,ごう
+すずき,こうじ
+すずき,まさひろ
+すずき,ひであき
+すずき,こうじ
+すずき,ゆうこ
+いわさき,ともふみ
+すずき,ようこ
+すずき,こうじ
+いちかわ,りか
+せき,まさよし
+せきぐち,けいこ
+せきや,けんじ
+せこ,けんたろう
+せら,ひろゆき
+そが,ゆか
+そが,えいこ
+いとう,あきら
+かみや,かすみ
+そんく,としかず
+たかき,ゆみこ
+たかぎ,よしはる
+たかさき,やすお
+いけだ,ひとし
+たかしま,やすひと
+たかの,けんいち
+たかの,ひでき
+たかの,まきこ
+たかの,なおひろ
+たかの,よしひさ
+たかはし,よしお
+たかはし,こうへい
+たかはし,こういちろう
+たかはし,がく
+たかはし,かな
+たかはし,たかのり
+たかまつ,ひろし
+たがみ,ひとし
+たかみざわ,りゅうき
+たからだ,しんいち
+たきかわ,えみこ
+たきざわ,いわお
+いいの,ゆみ
+たけい,よしひろ
+たけうち,しんいちろう
+たけうち,たかきよ
+たけきた,まき
+たけなか,ふみお
+たけのうち,りょうじ
+たけはな,ふみ
+いとう,とくこ
+たけもと,まさる
+たけもと,かずひこ
+たご,すすむ
+たさか,よしのぶ
+たじま,ひろかず
+たしろ,よしこ
+たしろ,ごう
+たたら,さなえ
+たちばな,あやこ
+いちむら,さとし
+たていし,ゆき
+たての,ひさし
+たての,だいぞ
+たなか,けんいちろ
+たなか,まさひろ
+たなか,なおこ
+たなか,とおる
+たなか,きょうこ
+たなか,やすし
+たなか,ようこ
+がみ,まこと
+たなみ,つねお
+たに,まみ
+たにぐち,ゆみこ
+なかおか,ゆき
+たにざわ,よしのり
+たにだ,のぶゆき
+たにもと,あきみ
+たのおか,みえこ
+たばた,まさき
+たはら,みかこ
+たむら,ゆきひろ
+ちかざわ,のりひと
+ちの,たかのぶ
+ちはら,ひさの
+ちゅう,さやか
+ちゅうま,けいいち
+つかだ,ひでたけ
+つかもと,のぶたか
+つかもと,ゆたか
+つだ,とものり
+つちだ,まさお
+つちや,せれな
+つちや,あき
+つねき,くみこ
+でみせ,たかし
+てらおか,かなこ
+いずみ,あつし
+とう,せいじ
+とじ,まさこ
+としおか,みすず
+とだ,はなえ
+とびない,あきこ
+ともい,みねき
+とやま,あいこ
+とよしま,こういち
+とよだ,たくや
+とよはま,としお
+ながえ,けんじ
+ながえ,しほ
+なかお,ともひで
+なかお,けんたろう
+なかじま,ともこ
+なかじま,よしたか
+なかじま,つよし
+ながしま,まり
+ながせ,こういちろう
+なかぞの,じゅんこ
+なかた,あさこ
+ながた,よしひこ
+ながと,まりこ
+なかにし,げん
+なかの,よしこ
+ながの,ひろき
+ながの,たかし
+ながの,てつや
+ながはら,よしゆき
+なかひがし,めぐみ
+なかむら,きふみ
+いぬずか,ともかず
+なかむら,ふみき
+なかむら,ひとし
+なかむら,みほ
+なかむら,まさかつ
+なかや,ゆたか
+なかや,けい
+ならさき,のぶなり
+なりた,りゅうた
+なりた,よしこ
+にいだ,ともあき
+にしかわ,いわお
+にしむら,ちぎり
+にしむら,たいいち
+にしむら,かつみ
+にしやま,とおる
+にしやま,のりまさ
+にむら,ひろゆき
+にわ,ゆきえ
+ぬまた,なおこ
+ぬまた,たかひろ
+ぬまだ,つよし
+ねぎし,いさお
+のざき,たかなお
+のがみ,ゆか
+のだ,たつや
+のはら,つよし
+のぶはら,ゆうこ
+はが,まさと
+はぎわら,ただかず
+はぎわら,かつら
+はしずめ,たかし
+はしもと,たかゆき
+はしもと,そよか
+はしもと,あきら
+はせがわ,まこと
+はせがわ,まゆみ
+はせがわ,かずたか
+はせべ,ようへい
+はた,まさひろ
+はたけやま,はずき
+はたなか,いくぞう
+はたの,あつよ
+はっとり,あきよし
+はなざき,たつや
+はなぶさ,おさむ
+はなむら,ごう
+ばば,あきこ
+はまさき,よしゆき
+はまだ,つぐき
+はやし,まなぶ
+はやし,たけひろ
+はやし,まこと
+はやし,りょう
+はら,まさひで
+はらしま,おさむ
+はらだ,なおや
+はらだ,りえ
+はるたに,たかひろ
+ひがしの,まき
+ひがしやま,ゆう
+ひぐち,しげみつ
+いしはら,たけよし
+ひじかた,ひろあき
+ひび,たつと
+ひょうえ,ともひろ
+ひらい,ひでのり
+ひらかわ,じゅんや
+ひらく,しげき
+ひらさわ,けんじ
+いのはら,たくひろ
+ひらた,くにつぐ
+ひらぬま,かずお
+ひらの,たろう
+ひらやま,しげる
+ひろうち,れい
+ひろおか,ゆかこ
+ひろかわ,けんたろう
+ふくい,まさき
+ふくだ,たかひろ
+ふくだ,すすむ
+こり,きょうこ
+ふじい,じゅんいち
+ふじい,だいぞ
+いで,ちえこ
+ふじい,ひろかず
+ふじお,たかゆき
+ふじおか,けんいち
+ふじくら,きくこ
+ふじさわ,こうじ
+ふじさわ,けんたろう
+ふじしげ,けいいち
+ふじた,けんいち
+いのうえ,のりお
+ふじと,ゆか
+ふじなが,ながまさ
+ふじわら,ともはる
+ふじわら,としき
+ふせ,かおる
+ふるかわ,まさみつ
+ふるかわ,ゆういち
+いしい,だいすけ
+ふるさわ,ひろき
+ふるた,こういち
+ふるた,よしあき
+ふるた,なおこ
+ふわ,みお
+ほし,まゆみ
+ほそだ,けいすけ
+いしい,ひろみち
+ほりかわ,なおこ
+ほりこし,ひろあき
+ほんだ,のぼる
+まえかわ,るみ
+まえだ,みなこ
+まえだ,たろう
+まえだ,たかし
+まえの,さとし
+まき,なみ
+まきぞの,さやか
+まきた,かつゆき
+まきの,むねき
+まさき,ゆずる
+ますざき,よしこ
+ますだ,ゆうすけ
+ますぶち,かずひろ
+まちだ,みゆき
+まつうら,えりこ
+まつかわ,もとよ
+まつざき,だいすけ
+まつざき,まき
+まつした,こずえ
+まつしま,ひでお
+まつだ,しげゆき
+まつだ,たかし
+まつだ,あゆみ
+まつなが,たかし
+まつなみ,こうじ
+まつばら,のりふみ
+まつばら,さとみ
+まつみや,けんいち
+まつもと,まこと
+まつもと,かずひで
+まつもと,たけふみ
+まつもと,ゆうすけ
+まつもと,ひろこ
+まつやま,ちずこ
+まなべ,りょうすけ
+まるやま,まさき
+まるやま,ひろき
+みうら,やすみつ
+みくに,ふみなり
+みずかみ,ひでき
+みつはし,のりよし
+みなと,ひろゆき
+みなみ,たかゆき
+みふね,よしひろ
+みやがわ,まさし
+みやさか,しのぶ
+みやざわ,じゅん
+むらお,まさこ
+むらかみ,まさみ
+むらた,けんすけ
+むらまつ,のぶゆき
+むらやま,としお
+むらやま,かずあき
+めぐろ,ともひこ
+もちずき,こういち
+もとよし,まこと
+ももず,ゆきこ
+もり,まさき
+もり,やすたか
+もり,みほ
+もり,たまよ
+もりた,けんじ
+もりた,けんいちろ
+もりの,みちお
+もりもと,たかし
+もりもと,ゆきこ
+もりやま,かずゆき
+もりわき,ふみあき
+やぎ,けいすけ
+やぎ,ゆたか
+やくしじ,おさむ
+やこ,つよし
+やざわ,けんいち
+やすま,けんじろう
+やとご,あい
+がん,はなえ
+やなぶ,さとし
+やの,しゅうこう
+やぶた,ひろし
+やまうち,ゆきこ
+やまうち,みつはる
+やまぐち,りょう
+やまぐち,やすまさ
+やまぐち,なおこ
+じだい,ひろあき
+やまぐち,えいた
+やまぐち,せいこ
+やまぐち,こうじ
+やまさき,やすひろ
+やまさき,じゅん
+やまざき,あつや
+やました,かずひろ
+やました,まさと
+やました,たくや
+やまだ,たかし
+やまだ,やすお
+やまだ,たつじ
+やまだ,やすひさ
+やまだ,きょうこ
+やまとや,まりこ
+やまなか,ひふみ
+やまなし,じゅん
+やまにし,なおき
+やまもと,ちか
+やまもと,かずや
+やまもと,りか
+やまもと,まなみ
+やまもと,ようすけ
+やまもと,たつや
+よこた,ともふみ
+よこた,しげゆき
+よこた,かよ
+よこて,せいいちろう
+よしおか,たかし
+よしおか,あつし
+よしおか,ひでと
+よしかわ,たくや
+よしかわ,りょういち
+よしだ,まさゆき
+よしだ,じゅんこ
+よしだ,あかね
+よしの,みのる
+よしみ,まさゆき
+よしむら,くにひこ
+よだ,のりひさ
+よねざわ,あらた
+りゅうと,けい
+わかつき,しんすけ
+わきざか,しんや
+わきた,ゆうすけ
+わきた,とおる
+わきもと,しょうこ
+わだ,たかし
+わだ,あきこ
+わたせ,だい
+わたなべ,やすはる
+わたなべ,そう
+わたなべ,ひろゆき
+わたなべ,なおこ
+わたなべ,よしたか
+きのした,ゆうこ
+あおき,よしひこ
+やなぎはら,きよし
+あまこ,よしお
+こんどう,しおり
+しらかわ,ようこ
+こやま,たかゆき
+こんど,まこと
+もり,としお
+おおの,ひでよし
+まの,あき
+ながの,すみこ
+さとう,えり
+みやざき,あや
+おがわ,あきら
+きむら,ひでとし
+よこお,けんじ
+うちむら,ちなつ
+ごしま,りゅういち
+さえき,みき
+なかじま,ひろみ
+いわみ,みほ
+えげ,れい
+うめぞの,かおり
+さくらい,まみ
+わたなべ,まや
+ながい,しょうご
+おそがみ,あつひこ
+くろかわ,まさよし
+たかすか,よしかず
+おばた,まさひこ
+しらい,ゆたか
+まつうら,まこと
+なかざわ,よしひさ
+まつい,ゆういち
+こせき,こうたろう
+つかだ,のりゆき
+てらくら,ようじ
+にへい,きよし
+かわむら,たかゆき
+ひご,まさゆき
+こばやし,きよのり
+ふるた,たかゆき
+もちずき,ひろゆき
+おかだ,たつし
+さいとう,ゆきこ
+かわはら,ゆき
+すずかけ,たくや
+いとう,あつこ
+いしずか,ひさと
+たべい,やすまさ
+ごとう,あきひろ
+しもさか,とおる
+かわい,かずま
+わたなべ,よしかず
+すずき,いつふみ
+まつやま,ひろし
+はら,りょうへい
+つばき,せいいちろう
+やすい,たかゆき
+こばやし,けんたろう
+おかべ,さゆり
+おがわ,しょうこ
+やまぐち,さとし
+ふじかわ,けんじ
+いながき,ひでとし
+ちぞ,としひこ
+はなだ,じゅんや
+おおこ,もとあき
+おおくら,すみひろ
+まつお,つとむ
+えんど,まりこ
+ほりべ,もとじ
+かつ,てつひろ
+おたか,まさのぶ
+たかはし,としや
+むらやま,ゆうこ
+よしおか,さゆり
+かい,よしえ
+たかはし,わかこ
+ぐんげ,たまよ
+やの,たい
+はやし,あやこ
+みうら,まなみ
+あおやぎ,ひろたか
+たかだ,とくひこ
+ぬまた,けんじ
+かたおか,かおる
+しみず,さちこ
+しみず,ゆうこ
+まつむら,たろう
+おりと,さとし
+こたに,ふみひこ
+おおはし,りょう
+かんせき,けいこ
+きたむら,こうたろう
+さくた,しんいちろう
+よしだ,たかし
+こはら,とおる
+いはら,けいこ
+つじうら,かずひろ
+なかむら,つよし
+あおき,あきこ
+あおやま,だいすけ
+あかいけ,ひろみ
+あかつ,じゅん
+あきはら,しゅんすけ
+あきもと,まり
+あさくら,たかし
+あさの,りょう
+あびる,あいこ
+あべ,のりたか
+あべ,ゆき
+あべ,たくや
+あべかわ,ともこ
+あらい,のりひと
+あらい,まさとし
+あらかわ,ひろき
+あらき,たかあき
+あらき,ひろし
+ありえ,まさふみ
+あんどう,けんたろう
+いいだ,じゅんいち
+いけだ,しゅんすけ
+いけだ,たけし
+いけだ,なおき
+いしい,のぶやす
+いしい,はやと
+いしがき,みやこ
+いしかわ,ゆき
+いしかわ,ゆみこ
+いしざわ,てるき
+いしずみ,しゅうへい
+いしぜき,だいすけ
+いしだ,ゆうじ
+いしだ,れいこ
+いしだ,よしたか
+いしづ,たかし
+いしはら,ふみなお
+いしまる,しゅういち
+いたに,たかし
+いたはら,ひさつぐ
+いちま,なおと
+いとう,ゆうこ
+いとう,ゆういちろう
+いとう,ひろかず
+いとう,あきこ
+いとう,しずこ
+いとう,おき
+いとう,つよし
+いとう,ひろゆき
+いながき,しげき
+いなみ,れお
+いの,みき
+いのうえ,まさき
+いのうえ,たかし
+いまお,じゅんぺい
+いまだ,けんいち
+いわかみ,ゆうすけ
+いわくら,ゆたか
+いわざき,ひろたか
+いわた,こうじ
+いわもと,ひろき
+うえすぎ,じゅんこ
+うえだ,まさや
+うえたか,しょうじ
+うえち,まり
+うえの,けんじ
+ひりゅう,こうじ
+うえむら,まさひろ
+うちだ,あや
+うちだ,きいち
+うちはし,ごう
+うちやま,れみ
+うめはら,なつこ
+うりたに,ますみ
+おいかわ,けんたろう
+おおい,ともゆき
+おおい,かよこ
+おおいし,まさひこ
+おうち,けんしん
+おおえ,だいすけ
+おおおか,まさひろ
+おおかわ,まさや
+おおくぼ,りょう
+おおくま,のりひろ
+おおた,のぶひろ
+おおたに,しずか
+おおつ,ちえ
+おおつ,てつや
+おおつか,じゅん
+おおつか,てるひろ
+おおつか,あきら
+おおつか,けい
+おおつぼ,まさみつ
+おおはた,あきこ
+おおまさ,たつお
+おおや,けいじ
+おおやま,たいすけ
+おか,たろう
+おかじま,みつのぶ
+おかだ,たつや
+おかだ,ちひろ
+おかだ,のりよし
+おかだ,さとし
+おかだ,るみ
+おかはた,たつや
+おかべ,やすまさ
+おかもと,ひさし
+おかもと,よしのり
+おかもと,ひでき
+おがわ,けいこ
+おがわ,だいすけ
+おくだ,こうへい
+おくと,さち
+おくなか,せいし
+おぐら,たろう
+おざき,のぶあき
+おさだ,ひろし
+おざわ,ひろみ
+おじま,まこと
+おじま,まさし
+おばら,ゆりこ
+かいとう,たかし
+かきくら,まさゆき
+かきもと,てつや
+かく,こうじ
+かげやま,ただひさ
+かじなが,ゆたか
+かしま,よしひこ
+かたおか,たかひろ
+かたぎり,なつこ
+かたやま,まひと
+かど,ゆみこ
+かとう,りつこ
+かとう,りょう
+かとう,ふみ
+かとう,れいこ
+かとう,すみれ
+かとう,ひろし
+かとう,てつや
+かとう,さとし
+かとう,わたる
+かとう,こういちろう
+かなもと,あきこ
+かなや,しんや
+かねこ,よしかず
+かねもり,ゆう
+かわ,よしかず
+かわい,こうじ
+かわい,はるこ
+かわかみ,まさおみ
+かわぐち,ちかこ
+かわぐち,しゅんすけ
+かわぐち,としひこ
+かわぐち,ひろき
+かわぐち,すすむ
+かわごいし,たかゆき
+かわしま,ごろう
+かわな,たけし
+かわのべ,ゆきこ
+かんの,やすのぶ
+きくち,のぞみ
+きし,れいこ
+きしもと,たけし
+きしろ,やすし
+きたお,しん
+きたはま,たけのり
+きたむら,よしのり
+きどころ,あつし
+きむら,こういち
+きむら,まこと
+きむら,あいこ
+きりあけ,えいさく
+くきもと,としき
+くぼ,くにゆき
+くぼた,まゆみ
+くまくら,りか
+くまだ,ゆうすけ
+くまもと,ひろあき
+くめ,まさひと
+くらや,こうへい
+くりわき,まきこ
+くわばら,ゆかり
+ごう,てるお
+こいけ,さとる
+こいけ,れおな
+こさか,むつみ
+こうだ,あやこ
+こが,こういち
+こくぼ,ももえ
+こくら,りえ
+こご,りゅうじ
+こさき,りょうすけ
+こじま,ひろこ
+こでら,かずと
+ごとう,だいすけ
+ごとう,けいこ
+ごとう,かずのり
+こはた,ちよみ
+こばやし,とおる
+こばやし,なほこ
+こまつばら,みほ
+こみや,とくこ
+こみやま,まさよし
+こやなぎ,しんや
+こやま,たかこ
+こんど,のぶか
+こんの,のぶほ
+さいとう,ひろひで
+さいとう,しげる
+さいとう,けんいち
+さいとう,けんご
+さいとう,あい
+さかい,りょうすけ
+さかの,ゆきこ
+さかもと,わたる
+さかもと,ちから
+さくらい,まさふみ
+ささき,よしこ
+ささき,たけゆき
+ささき,ゆきお
+ささき,さき
+ささき,やすひろ
+ささの,あかぎ
+さだもと,げんこう
+さとう,ひろき
+さとう,ゆういちろ
+さとう,たかし
+さとう,たかひろ
+さとう,ともこ
+さなだ,まさゆき
+さねしげ,としのぶ
+さの,かずひこ
+しげとみ,さとこ
+しのはら,もりひこ
+しばかわ,けんじろう
+しばの,りょう
+しまだ,たけし
+しまだ,たつろう
+しみず,たかお
+しむら,たかのり
+しむら,たけし
+しもかわ,ともや
+しもふじ,のぶひこ
+しもやま,ひでかず
+しょう,ひろゆき
+しらい,りえ
+しらが,こうじ
+しらかわ,やすこ
+しらす,みゆき
+しわ,けんいち
+しんけ,ないしん
+しんどう,ともかず
+すがはら,ひろかず
+すぎうち,しょうたろう
+すぎうら,ちあき
+すぎさわ,ようこ
+すぎはら,ひろのぶ
+すぎもと,てるゆき
+すぎやま,たつや
+すずき,まさゆき
+すずき,しんいち
+すずき,たいすけ
+すずき,まこと
+すずき,まさや
+すずき,りゅうた
+すずき,のりこ
+すずき,みかこ
+すだ,りんや
+すと,てつや
+すみだ,あきひろ
+せき,あつなり
+せき,かずき
+せんだ,ゆきこ
+そめみや,ちえ
+そや,ひろき
+だいまる,あきら
+たかお,はなえ
+たかぎ,かよ
+たかざわ,だん
+たかせ,けんじ
+たかね,さとし
+たかはし,じゅんこ
+たかはし,たかし
+たかはし,ひろなお
+たかはし,ひろゆき
+たかはし,まなぶ
+たかやま,ゆきお
+たきうち,りえ
+たきかわ,あきら
+たきぐち,けんたろう
+たきざわ,さとし
+たきざわ,こうじろう
+たきざわ,ちひろ
+たきた,あきら
+たぐち,けんたろう
+たけい,くにお
+たけうち,しんご
+たけだ,ゆういちろ
+たけはら,ようこ
+たての,なおたか
+たなか,だいすけ
+たなか,すすむ
+たなか,あきら
+たなか,なお
+たなか,せいじ
+たなか,とおる
+たなか,なおこ
+たなか,えりこ
+たなか,みつえ
+たなべ,しんいちろう
+たに,ちかよ
+たにかわ,よしつぐ
+たになか,ひろたか
+たにもと,ちずる
+たぬま,ふみひこ
+たばた,じゅん
+たばた,こ
+たばた,ようすけ
+たばた,けいたろう
+たむら,こういち
+たるき,ゆき
+たんじ,きよのり
+ちば,かずゆき
+ちば,ひろかず
+つかだ,りえ
+つきもと,あつし
+つじ,ひろし
+つだ,きみひこ
+つちもと,しんご
+つつみ,ともこ
+つつみ,じゅんいち
+つぼた,まさや
+てい,わかみ
+てらかど,みつあき
+みのうら,まなぶ
+てるい,まり
+どい,こうたろう
+とう,まきこ
+とうかいりん,ゆみ
+どうめん,えつこ
+とうかい,かおり
+とくなが,きみたか
+とくやま,たいが
+としま,みわこ
+どうち,ともゆき
+とのい,あきこ
+とのむら,りえこ
+とみた,くにお
+ともの,ひでかず
+とりい,まもる
+ながい,とものり
+なかがわ,いくま
+なかがわ,よしのり
+なかがわ,だいすけ
+なかざと,もとのぶ
+なかしま,ちかこ
+ながた,ゆか
+なかの,かな
+ながの,りょうた
+ながの,りょう
+なかむら,ようこ
+なかむら,さとし
+なかむら,たけし
+なかむら,てつや
+なかもり,とくこ
+なかやま,ともひろ
+なるせ,たかし
+なんご,まさき
+なんば,けん
+なんば,こうじ
+にいみ,こうへい
+にしお,ようじ
+にしおか,しんいち
+にしおか,ともこ
+にしさか,まみ
+にしざき,たくま
+にしざわ,なおき
+にしの,さとし
+ぬまたき,もとき
+ねぎし,りか
+ねやま,たけし
+のだ,ちあき
+のぐち,のりこ
+のぐち,ようすけ
+のぐち,けいじ
+のぐち,しんきち
+のざき,だいすけ
+のだ,ひろこ
+のぼり,よしひろ
+のむら,しゅういち
+のむら,みさこ
+のむら,けんじ
+はぎわら,しょうたろう
+はしぐち,としひろ
+はしもと,たかふみ
+まき,かずと
+はせがわ,たけお
+はせがわ,おさむ
+はだ,あやこ
+はっとり,ゆういち
+はっとり,まゆこ
+ばば,まさき
+ばば,けんじ
+ばば,しんいちろう
+ばば,りかこ
+はまだ,くみこ
+はまだ,だいじ
+はまだ,りさ
+はまだ,ふみひろ
+はまの,まさゆき
+はやし,あきのり
+ひぐち,こうき
+ひさつね,まこと
+ひしぬま,あつし
+びょうどう,ひろこ
+ひらい,まさかず
+ひらおか,みき
+ひらかわ,ともひろ
+ひらさわ,たくじ
+ひらしま,じろう
+ひらた,まみこ
+ひらの,やよい
+ひるま,ゆういち
+ひろせ,ひでき
+ひろせ,かつよし
+ひろた,ひろし
+ふくい,あずさ
+ふくだ,たかし
+ふくば,かなめ
+ふくむら,ゆみこ
+ふくもと,だいすけ
+ふじい,けん
+ふじい,ゆき
+ふじい,みわ
+ふじえだ,ひさかず
+ふじた,ひでかず
+ふじた,ゆきこ
+ふじつ,たけし
+ふじの,たかほ
+ふじもと,さとこ
+ふじわら,たくと
+ふじわら,りな
+ふじわら,くみ
+ふるかわ,りょう
+ほ,まさのり
+ほしの,むねとも
+ほそかわ,てるひこ
+ほりかわ,しゅうじ
+ほんごう,よしあき
+まえだ,あつし
+まおか,つとむ
+ますぶち,つよし
+ますみつ,きょうへい
+まつい,けんたろう
+まつお,ひでのり
+まつおか,きょうすけ
+まつおか,さちこ
+まつだ,りょう
+まつばら,あきこ
+わたなべ,だいすけ
+まつやま,たけし
+まつやま,みつてる
+まつやま,よしき
+まとば,ともひろ
+みうら,まさき
+みつぎ,たけし
+みと,しゅういち
+みのうら,やすひさ
+みや,あきら
+みやけ,ひでまさ
+みやした,あい
+みやした,ゆきお
+みやた,あきひろ
+みやもと,たつや
+みやもと,くにこ
+みやもと,まさひろ
+むくだ,ともあり
+むしか,ゆきこ
+むとう,あきら
+むらかみ,ゆか
+むらかみ,かなこ
+むらかみ,たつひろ
+むらかみ,ひでつぐ
+むらたに,もとひろ
+むらまつ,まさこ
+むらやま,よしあき
+もちずき,としひこ
+もりぐち,みさと
+もりた,まみ
+もりばやし,こうめい
+もろと,ひろたつ
+やえがし,ひでゆき
+やおやま,げんた
+やがみ,よしひろ
+やぎ,けいじ
+やぐら,しんじ
+やすこち,のぼる
+やすだ,ゆうすけ
+やすだ,のりこ
+やまぐち,ゆうすけ
+やまぐち,しょうしん
+やまだ,わいけん
+やまだ,みずほ
+やまだ,あきら
+やまみち,かつゆき
+やまもと,じゅんこ
+やまもと,ひろみ
+ゆき,まみこ
+ゆみば,けいいち
+ゆら,けんいち
+よこすか,はるのぶ
+よこた,あい
+よこやま,あやこ
+よしおか,なおこ
+よしおか,かずひろ
+よしざわ,ゆうこ
+よしだ,みつる
+よしだ,あかり
+よしだ,たかし
+よしの,かずみ
+よしむら,ゆうこ
+りゅう,えいじ
+ろく,あきこ
+さかもと,けいこ
+わたなべ,れいな
+わたなべ,ゆふこ
+わたなべ,ゆう
+わたなべ,たかこ
+わたなべ,やよい
+わらび,ひろのり
+のざわ,ゆうこ
+くぼ,やすこ
+よしもと,こ
+やまもと,たかし
+やまもと,たかし
+ひろさわ,りえ
+みひら,りょうへい
+おおの,ひろゆき
+おだ,かずひこ
+おおばたけ,みほこ
+かどえ,あい
+にしだ,とよひろ
+まつもと,よしあき
+みぎた,まな
+みやもり,みお
+やました,まどか
+やまだ,しんご
+のりとみ,ちえ
+いけだ,ゆうすけ
+もりた,りょうじ
+たけうち,りょう
+みた,よしのり
+いぬい,けん
+とう,のりゆき
+まきの,まり
+なつめ,しんや
+おのでら,くにひろ
+おおた,みきこ
+うるしさこ,りつこ
+さかきばら,しげのり
+あおき,えいすけ
+あおき,なおと
+あおき,ゆうこ
+あかがわ,もとこ
+あかつか,かずひと
+あかほり,けいじろう
+あきやま,かずひろ
+あさい,てるみ
+あさい,しんぺい
+あさおか,けんじ
+あさぬま,あや
+あそ,なおふみ
+あたけ,としき
+あだち,しんご
+あべ,たかみち
+あべ,のぶやす
+あべ,ゆきえ
+あらい,つよし
+ありま,ともこ
+いいずか,だいすけ
+いがらし,ゆたか
+いけだ,こずえ
+いけだ,けんたろう
+いけはた,ひろき
+いざわ,ちはる
+いしい,やすし
+いしかわ,りょうこ
+いしぐろ,あきひろ
+いしだ,こうたろう
+いしだ,たつお
+いしばし,としゆき
+いしはら,たかひろ
+いしもと,まゆこ
+いそはた,あさこ
+いたみ,たかあき
+いちかわ,なるたか
+いっしき,たつや
+いで,なるみ
+いで,こうじ
+いとう,まゆみ
+いとう,じゅんぺい
+いとう,まさお
+いとう,なつこ
+いとう,まい
+いのうえ,まこと
+いのうえ,ようすけ
+いのうえ,なおき
+いのうえ,かつき
+いのくち,のりゆき
+いまい,りほ
+いまきゅうれい,れいこ
+いまぜき,くみこ
+いまむら,ますみ
+いまむら,けんいちろ
+いわい,さとる
+いわい,たかし
+いわさき,ともこ
+いわせ,すすむ
+いわた,こうじ
+いわで,けんたろう
+いわむら,まさひと
+うえだ,ふみお
+うえの,まさふみ
+うえの,しんじ
+うかい,ひろき
+うさみ,まりこ
+うちうみ,りえこ
+うちやま,まさふみ
+うらはら,たいじ
+えぎ,たかひこ
+えじり,ひろし
+えのきど,よりこ
+えもり,いつき
+えんど,はじめ
+おおい,なつこ
+おおいけ,ともかず
+おふら,だいすけ
+おおかわ,よしこ
+おきた,ゆきのり
+おおさわ,まさゆき
+おおた,ともこ
+おおた,あきなお
+おおた,ようへい
+おおたに,たかあき
+おおたに,ゆきひで
+おおつか,もとい
+おおつか,よしのり
+おおつか,だいじろう
+おおつき,さとる
+おど,たくみ
+おとんべ,たつや
+おの,まさひこ
+おの,ひろし
+おおはし,たつや
+おおはた,あきら
+おおみち,みほ
+おおやま,みきひと
+おかざき,たつふみ
+おかじま,みなこ
+おかだ,かずひろ
+おかだ,たくま
+おかもと,たけし
+おかもと,だいすけ
+おがわ,じゅん
+おぎた,としふみ
+おくくぼ,たかし
+おちあい,とものり
+おまた,けん
+かさ,ゆきこ
+かしわ,だいすけ
+かとう,こうへい
+かとう,ただし
+かない,けんいち
+かなやま,だいすけ
+かねこ,ふみや
+かねつき,じゅんや
+かねまる,あずさ
+かべうち,なおと
+かみむら,かおり
+かみや,さちこ
+かみや,こういちろう
+かわい,ゆみこ
+かわい,ひろし
+かわかみ,らい
+かわさき,やすひろ
+かわさき,てつあき
+かわさき,ひろき
+かわしま,たかお
+かわた,けいいち
+かわまた,こうた
+かわもと,けいすけ
+きしもと,あきよし
+きしろ,けいた
+きだ,えいすけ
+きたおか,じゅん
+きたの,まさひこ
+きたはら,そうへい
+きたむら,たろう
+きたもと,みほ
+きむら,たけひろ
+きむら,ふみと
+きもと,けいこ
+きん,よしゆき
+くしやま,あきよ
+くどう,とものり
+くどう,しゅんすけ
+くめうち,けんじ
+くらしげ,こうじ
+くらち,かずひろ
+くらなか,たけし
+くりはら,ようすけ
+くろき,まさき
+くろさか,ようこ
+くわはら,しの
+ゆえ,かつのり
+こいずみ,しんや
+こうじま,よしひこ
+こうだ,かつゆき
+こんの,けんいち
+こが,しょういち
+こが,たくじ
+こくぶん,ちかこ
+こさか,あきこ
+こって,まいこ
+はたなか,たかし
+こばやし,ゆか
+こばやし,ひでき
+こばやし,あんな
+こばやし,のりあき
+こばやし,きみひこ
+こまつ,しんすけ
+こまつばら,ふみ
+こめだに,てつろう
+さいき,あつし
+さいとう,けんいち
+さかい,ひろあき
+さかぐち,たろう
+さくま,ゆきこ
+さこ,まや
+ささい,なおや
+ささお,かずきみ
+ささき,はなこ
+ささき,まさお
+さとう,かつひこ
+さとう,かずゆき
+さとう,ひろひと
+さとう,まさき
+さとう,みき
+さとう,まさこ
+さとう,みき
+さとう,のぶゆき
+さとう,りょうさく
+さの,まさこ
+さの,なぎさ
+さはら,たかふみ
+さるやま,たかゆき
+さわぐち,あや
+しい,えみ
+しおざき,ひであき
+しおだ,えいじ
+しき,まさる
+しだ,よしひろ
+しのはら,ひとし
+しのはら,ひさし
+しぶさわ,ようすけ
+しまだ,りゅうた
+しまだ,みほこ
+しまだ,けんたろう
+しみず,たつお
+しみず,わたる
+しみず,ともこ
+しみず,さとこ
+しみず,じゅんいち
+しみず,じろう
+しも,きぬえ
+しもざき,たつひこ
+しもじま,えいいちろう
+しもつ,たかひろ
+しもの,あきひこ
+しもや,よりこ
+しらす,しんご
+すぎうら,まさのぶ
+すぎうら,としろう
+すずき,ともみ
+すずき,えりこ
+すずき,ゆうすけ
+すずき,よしのり
+すずき,よしき
+すと,さとし
+すなだ,さとし
+すやま,だいすけ
+せお,かおり
+せき,こうへい
+せきね,みつる
+せきば,まき
+せと,けいじ
+せんごく,のりひさ
+せんだ,ゆうこ
+せんば,みずほ
+そめや,けいご
+たかぎ,ひでき
+たかぎ,あい
+たかぎ,のりゆき
+たかせ,よういちろう
+たかだ,ようすけ
+たかはし,やすゆき
+たかはし,よしのり
+たかはし,たかのり
+たかはし,まさと
+たかはし,みか
+たかはし,やすひろ
+たかみざわ,こずえ
+たきざわ,けいぞう
+たぐち,きょうこ
+たけした,けん
+たけだ,かずま
+たけだ,ゆうじ
+たけだ,こうじ
+たけなか,たかひろ
+たけはら,みきこ
+たけやま,みつる
+たじ,みか
+ただ,よしたか
+だて,くみこ
+たなか,ちかふみ
+たなか,のりひこ
+たなか,たくなが
+たなか,たかゆき
+たなか,たかゆき
+たにぐち,たかのり
+たにこし,けんたろう
+たにの,たかあき
+たぶき,たろう
+たぶち,よしひと
+たまおき,まさよし
+たまがわ,ともこ
+たむら,けいこ
+ためのり,ようへい
+たんの,えり
+たんぼ,あきひこ
+ちだ,かつひさ
+ちねん,ゆき
+つがねざわ,のぶゆき
+つかはら,みずほ
+つちや,まゆみ
+つちや,ようすけ
+つちや,やすゆき
+つずき,まみ
+つずらはら,さちこ
+つねよし,てるのぶ
+つぼうち,あきふみ
+つるしま,りえ
+でぐち,たくや
+てずか,みつのぶ
+てらかわ,たかし
+てらぐち,むねのり
+てらしま,けんじ
+てらだ,よしき
+とがし,だいすけ
+とくむら,こういち
+とざわ,ゆうこ
+とびおか,たけし
+とまりの,じゅんこ
+とみい,じゅんこ
+とみざわ,あや
+とみた,たいち
+とみた,ゆうた
+とみなが,ようこ
+とよだ,そうたろう
+とらたに,まさこ
+ないとう,たかお
+ながい,ちえ
+ながい,じゅんこ
+なかいけ,しんご
+なかうえ,だいすけ
+ながお,りょうこ
+なかこじ,さやか
+ながさか,こうじ
+なかじま,ゆきこ
+なかじま,まり
+ながた,かつや
+ながた,あつひさ
+ながた,なおき
+なかつる,ひろあき
+ながの,やすお
+なかむら,さとる
+なかむら,ひろし
+なかむら,くみこ
+なかむら,ひろし
+なかむら,ゆか
+なかむら,まさあき
+なかむら,えいじ
+なつはら,さやか
+なりさだ,しんすけ
+なんぶ,のぶゆき
+にかいどう,ともや
+にし,そういちろう
+にし,なおゆき
+にしお,としや
+にしかわ,けんじ
+にしくら,さとこ
+にしざわ,いさむ
+にしざわ,えりな
+にしだ,しんいち
+にしだ,りょうへいた
+にしやま,ひさのり
+ぬのや,しげお
+ぬまざき,ゆきお
+ぬまた,たけし
+のどみ,りな
+のみ,まさき
+のぐち,かずよし
+のじま,てるあき
+のじり,としゆき
+のだ,みきこ
+のだ,ゆきこ
+のむら,しんへい
+のむら,かずえ
+のむら,かずお
+はこしま,わたる
+はしもと,りょう
+はしもと,けい
+はせがわ,けんたろう
+はたけやま,ゆふこ
+はった,ゆひ
+はっとり,さとみ
+はない,たけはる
+はなだ,けいすけ
+はまぐち,けん
+はまだ,まなみ
+はまだ,けいこ
+はまの,たかゆき
+はやかわ,ゆき
+はやし,てつお
+はやし,ともなが
+はやし,けんたろう
+はら,ちかこ
+はら,やすあき
+はらだ,みえ
+ひえかた,さとこ
+ひがさ,あつし
+ひがみ,せいじ
+ひきの,てつじ
+ひだ,たかし
+ひだか,しん
+ひでしま,みきこ
+さかい,じゅんや
+ひらい,はやと
+ひらいわ,えつこ
+ひらた,ひでき
+ひらばやし,なおゆき
+ひろせ,あやこ
+ふかお,みゆき
+ふくい,ひでひこ
+ふくざき,みれい
+ふくだ,ようへい
+ふくだ,やすひろ
+ふくだ,まさる
+ふくだ,じゅんいち
+ふくはら,ゆきこ
+ふくむろ,ひろふみ
+ふじうら,あや
+ふじおか,こういちろう
+ふじおか,まや
+ふじた,しげる
+ふじもと,ゆかり
+ふじもと,えりこ
+ふじわら,あきひろ
+ふたむれ,いさお
+ふるさわ,いちろう
+ふるた,ひさお
+ふるや,ひでお
+ほこら,まつお
+ほしの,すみお
+ほしの,たもつ
+ほその,ひろみち
+ほり,とし
+ほりうち,えつお
+ほりおか,やすお
+ほりぐち,じゅんいち
+ほんま,いさお
+まえかわ,ともゆき
+まえじま,こうじ
+まえだ,としひろ
+まえはら,としひこ
+まき,しげのり
+まきの,たけお
+ますい,ひろし
+ますだ,きよし
+ますだ,まさみつ
+まつい,かんじ
+くまがい,かつひこ
+かねこ,りょうじ
+こみや,のぼる
+こがいと,みちこ
+かんばやし,てるまさ
+きのした,はるひこ
+きくち,みのる
+こまば,ゆたか
+こくぶ,みつこ
+こばやし,ひろし
+こばやし,てるお
+きつたか,ちゅうけん
+まつお,たかゆき
+かわい,まなぶ
+くりはら,とおる
+かどの,ひろよし
+かみくぼ,けんじ
+かわぐち,たかし
+かまた,まさもと
+かんだ,かずみ
+かんだ,みつお
+こしむら,としゆき
+まつお,きよし
+くさき,じゅんじ
+かもはら,まさふみ
+かさじま,としまさ
+まつき,よしかず
+かみくら,つねお
+くりはら,のぶあき
+なかち,きよし
+かがわ,しんいち
+こばやし,せいじ
+かんの,としお
+まつした,ふみお
+かしわだ,おさむ
+こんの,かずお
+こすぎ,よしみ
+こもり,としろう
+かわの,ゆきお
+きたむら,たけひこ
+かじま,てつや
+かとう,ひでお
+こやの,ゆきお
+かつまた,としかず
+くわだ,けいじ
+こたに,やまと
+かじうち,のぶこ
+こんど,たかし
+こんど,よしかず
+まつなみ,しんや
+かがやま,まさはる
+かねこ,やすひこ
+こやま,やすはる
+きつかわ,こうせい
+かしくら,かんじ
+くろき,よしゆき
+こいずみ,しゅうへい
+くぜ,みきお
+かわかみ,けいこ
+かみ,さちお
+きむら,とおる
+まつの,かずひさ
+きくた,おさむ
+くまだ,まさあき
+くにはら,しゅんいち
+こじま,ゆたか
+くりはら,まさのり
+よねくら,よしたみ
+こばやし,つねお
+こばやし,てつお
+こじょう,さなえ
+きむら,じゅんいち
+こばやし,まさあき
+こんど,のぶかず
+かわい,としかつ
+くまはら,けんじ
+きせ,みちやす
+かしくま,けんぞう
+かこ,じゅんいち
+いしがい,よしあき
+かみぐち,ただし
+くもだ,としお
+こまつ,しょういち
+かねだ,みつお
+きくち,よしひさ
+こたに,よしゆき
+こばやし,やすと
+かわぐち,よしお
+かねこ,ひろあき
+かも,よしあき
+かわむら,えいじ
+くまの,まさゆき
+こばやし,よしえ
+きむら,かずひさ
+きしもと,ひろひさ
+きむら,きしお
+かみぐち,てつや
+きむら,まさはち
+こばやし,しゅんじ
+かどくら,かなこ
+きたむら,ひでよ
+かつき,ひさし
+かんざき,まさのぶ
+かたぎり,いくみ
+こばやし,のぶこ
+こまつざき,こうぞう
+きた,ひろのり
+かつはら,しゅう
+こぐれ,あきえ
+こじま,あつし
+こめだ,ひさし
+こにし,けんいち
+くわはら,やすまさ
+こやま,ひであき
+まつもと,のりゆき
+かじもと,よしあき
+くまざわ,かつみ
+きむら,としお
+こばしがわ,ひとし
+かみや,ゆう
+まつもと,しょうじ
+こはし,えいぞう
+こだま,ぜんいち
+かわかみ,かずみ
+まつもと,はるお
+かいど,みほ
+きむら,としお
+くご,きよみ
+まつもと,よしゆき
+まつやま,りょうすけ
+まるやま,さちこ
+こんの,きよし
+くろき,じゅん
+こみや,りょうこ
+きむら,なおゆき
+きの,みあ
+こまつ,ゆき
+かねちか,りょうすけ
+かなたに,りえ
+こばやし,よしろう
+きたやま,かなこ
+かじ,ひろこ
+かわしま,なおき
+きむら,まきこ
+こばら,たくま
+きたがわ,なおたか
+まるやま,なほこ
+かもん,まさし
+みうら,たかし
+みしま,かつひろ
+みすぎ,ともあき
+みずた,じゅんこ
+みずもと,なるき
+みぞぐち,まさこ
+みずか,ゆたか
+みなみ,たける
+みなみたに,まさと
+みねた,ゆきこ
+みやい,こうた
+みやおか,けんろう
+みやざき,まゆみ
+みやざき,じゅり
+みやはら,たつひこ
+みよし,あきのぶ
+むらかみ,まさひで
+むらき,あつこ
+むらた,けんじ
+むらた,みちや
+むらた,めぐみ
+むらやま,まさこ
+もとの,やすまさ
+もり,としゆき
+もり,なお
+もりた,ひでとも
+もりた,りえ
+もりやま,あつし
+もりやま,かおり
+やざわ,かずこ
+やじま,ともひろ
+やなぎだ,えりこ
+やまがた,けいいち
+やまかわ,しんや
+やまぐち,さとみ
+やまぐち,ゆき
+やまぐち,ただゆき
+やまさき,まさき
+やまざき,けん
+やました,しゅくほ
+やまだ,よしあき
+やまだ,けんいち
+やまだ,しゅん
+やまなか,まさし
+やまね,しんご
+やまもと,やすのり
+やまもと,かずひろ
+やまもと,ひでゆき
+ゆかわ,さとし
+ゆざ,あきこ
+ゆたに,りえ
+ゆたに,だいすけ
+よご,とものり
+よこぼり,まさたけ
+よしおか,ただあき
+よしかわ,ひろみ
+よしだ,ひろたか
+よしだ,きょうこ
+よしもと,もとお
+よねだ,ゆみこ
+わかさや,しずか
+わたなべ,じゅんいちろ
+わたなべ,やすひろ
+みつやま,まさみ
+ひらおか,りさ
+かんの,かつと
+わこ,りえ
+あおき,わたる
+あかお,まさのり
+あかぎ,りょうへい
+あかし,ひろこ
+あかつか,やすゆき
+あかはね,ひろあき
+あかほり,ゆうこ
+あきもと,ちえ
+あきやま,みほ
+あさい,まさかず
+あさの,やすひろ
+あさひ,あさこ
+あさべ,かよ
+あはれん,だいすけ
+あべ,としひこ
+あべ,かおる
+あべ,ひろふみ
+あまの,まさみ
+あめもり,ありさ
+あらい,ひでお
+あらい,えつこ
+あらい,かつひろ
+あらたに,さつき
+ありなか,ともひろ
+いいご,のりあき
+いいだ,まゆみ
+いけだ,よしたか
+いこが,えみこ
+いしい,かおり
+いしおか,たかし
+いしざか,ゆきえ
+いしじま,みお
+いしだ,ゆい
+いしど,ゆきこ
+いしの,たかお
+いしまぶし,あきひと
+いせり,おとひこ
+いそべ,はるか
+いたに,たかあき
+いずの,みつひろ
+いでの,ようへい
+いとう,ようこ
+いとう,みつたか
+いとう,よしあき
+いとう,ゆかり
+いとう,まな
+いとう,たけし
+いとやま,あつし
+いな,あきら
+いなさき,やすのり
+いなば,ようすけ
+いなば,ただし
+いのうえ,たけし
+いのうえ,のぶたか
+いのうえ,まりこ
+いべ,きょうこ
+いまい,ゆきえ
+いまおか,しゅうへい
+いまむら,まさし
+いわた,たけひろ
+いわた,よしひろ
+いわた,おさむ
+いわみ,ゆうこ
+いわもと,けんいちろ
+うえだ,れいこ
+うえの,さら
+うえはら,たかのり
+うかい,ひさなが
+うだがわ,ゆういち
+うちやま,ひろまさ
+うつみ,ひろゆき
+うつみ,まりこ
+うの,まこと
+えがしら,しゅんすけ
+えとう,ひろき
+えとみ,ひでみ
+えんど,めぐみ
+えんど,ひろき
+おかど,たかひさ
+おおくら,ひろこ
+おおさか,たてき
+おおさか,こうたろう
+おおさわ,さち
+おおすみ,さとこ
+おた,ちえこ
+おおたに,まこと
+おおにし,まさひろ
+おおにし,みつる
+おおにし,むさし
+おおにし,まさお
+おおの,なほこ
+おおの,みかこ
+おの,ようこ
+おまつ,ようすけ
+おむら,ともこ
+おおや,ゆきえ
+おか,のりひと
+おかい,けんいち
+おかうち,とものり
+おかだ,ゆうき
+おかだ,まりこ
+おかの,やすふみ
+おかむら,あかり
+おかもと,そう
+おがわ,いずみ
+おがわ,こずえ
+おがわ,きんや
+おがわ,みちこ
+おがわ,たくや
+おがわ,ゆみこ
+おぎの,えりこ
+おく,さやか
+おくかわ,ひろあき
+おくだ,あきお
+おくむら,さとこ
+おざき,たかゆき
+おじま,たかし
+おぜき,けいいち
+おだ,ひろゆき
+おだ,あつこ
+おちあい,なおき
+おとがわ,りょうこ
+おの,みずき
+おおはら,けいこ
+かいじま,けんた
+かがわ,ともみつ
+かきお,たかや
+かけひ,ともみ
+かさい,なおこ
+かさみ,よしふみ
+かじた,けいいち
+かじたに,まさなり
+かしま,やすひろ
+かしま,ゆうこ
+かじもと,あやこ
+かすが,さなこ
+かせ,れいこ
+かたぎり,かずしげ
+かたやま,りょうこ
+かたやま,ゆうじ
+かとう,ひとし
+かとう,くにあき
+かとう,けんいちろ
+かなざわ,ひろかず
+かねみつ,とものり
+かのう,ゆきえ
+かまた,ひろたか
+かみざき,まさとし
+かみ,よういち
+かめたか,たいすけ
+かも,けんや
+かわい,ともかず
+かわい,じゅり
+かわかみ,たかし
+かわかみ,みお
+かわぐち,あゆみ
+かわぐち,かずひで
+かわぐち,さとし
+かわさき,じん
+かわさき,なおき
+かわなみ,あきこ
+かわね,かなこ
+かわばた,あゆみ
+かわむら,もう
+かわもと,ゆう
+かんだ,みどり
+かんだ,なおし
+かんの,まさこ
+きしもと,けんたろう
+きたがわ,たけし
+きたはら,ともはる
+きたむら,しょう
+きたむら,しんご
+きぬや,としみ
+きのした,てつ
+きはら,たつや
+きむら,よしかず
+きむら,まさひろ
+きむら,あきよし
+きむら,じゅん
+きよしま,はるみ
+きよずか,ゆき
+きら,たかし
+きりさこ,てっぺい
+きん,さゆり
+きん,なおこ
+くにえだ,かずあき
+くぼ,ごう
+くまの,たけと
+くらた,あきひろ
+くらはし,たかあき
+くれ,とおる
+くろい,よしたか
+くろき,ゆうこ
+くわの,ひろたか
+ごう,さえ
+ごうだ,たけひろ
+こが,けい
+こくしょう,つよし
+こさか,しゅういちろう
+こじま,りょうすけ
+こぞの,あいわ
+こだま,いくお
+こてら,きみひろ
+こでら,しんたろう
+ごとう,ただのり
+ごとう,ひろこ
+こにし,みさき
+こにし,ようこ
+こにし,ともや
+こばやし,なつこ
+こばやし,こうじ
+こばやし,ちえ
+こばやし,つよし
+こぶせ,ひでゆき
+こまき,ひろなお
+こまざわ,たかまさ
+こまつばら,ともひさ
+こやま,いちろう
+こんど,ひろこ
+さいき,かおる
+さい,かずや
+さいとう,きょうこ
+さいとう,こういち
+さいとう,てるひさ
+さいとう,はじめ
+さいとう,ひろみ
+さいとう,ふみこ
+さいとう,ひとし
+さいとう,まきこ
+さかい,たかゆき
+さかみ,たかし
+さかもと,こうじ
+さかもと,ひでき
+さかもと,まさよし
+さかもと,ななこ
+さかもと,よういちろう
+さくらい,さだよし
+さくらぎ,なほこ
+ささき,まさき
+ささき,ゆみえ
+さとう,ふくたろう
+さとう,しゅうさく
+さとう,たかし
+さとう,あき
+さとう,けんいちろ
+さとう,かずみち
+さとう,ゆみ
+さとう,りょうすけ
+さの,とおる
+さの,りょうすけ
+さわさき,たかし
+さわだ,ひろこ
+さんぺい,さとる
+しおずか,あつし
+しの,かずのり
+しばた,かずたか
+しま,じゅん
+しまの,としあき
+しみず,よしこ
+しみず,まみ
+しもかわ,よしおみ
+しもむら,えいぶ
+しゅくり,まなみ
+しょうじま,たつお
+しょうだ,くみ
+しらいし,のりかず
+しらかた,じゅん
+しらさき,ももこ
+しろた,まさひろ
+じんぐうじ,しげかず
+しんたに,けんた
+しんぼ,のぶゆき
+じんぼ,もとはる
+しんむら,ひでとし
+すがい,つとむ
+すぎもと,みほ
+すぎもり,ひろこ
+すぎやま,たかね
+すぎやま,じゅん
+すぎやま,たくま
+すずき,きくこ
+せがわ,じゅん
+せき,けんじ
+せきね,ひろし
+せきもと,かつあき
+せと,あつし
+せら,かずよし
+そでやま,そらこ
+そのい,てるえ
+たいら,まさし
+たかき,みちる
+たかはし,れい
+たかはし,みねこ
+たかはし,ともお
+たかはま,こうき
+たかみや,ちはる
+たかやなぎ,かずひこ
+たかやま,さとし
+たぐち,わたる
+たけうち,あつし
+たけざき,まゆこ
+たけした,さとみ
+たけもと,ひろとも
+ただ,あつこ
+たちかわ,まこと
+たちばな,なおと
+たつがわ,ともこ
+たなか,やすのり
+たなか,あきよ
+たなか,まさたか
+たなか,こうすけ
+たなか,さちえ
+たなか,しょうへい
+たなべ,のりこ
+たにぐち,たけし
+たにわき,ひろふみ
+たばた,よしひさ
+たはら,けんじ
+たまき,なおこ
+たまむら,まこと
+たるみ,ひろみ
+たんばら,りょうこ
+ちかつ,てつひこ
+ちば,かほり
+ちょう,りょうた
+つかだ,てつや
+つかもと,さちか
+つじもと,みき
+つちだ,けいこ
+つちや,たかあき
+つちや,ちから
+つつみ,さとし
+つぼくら,たくや
+つむら,ともえ
+てしま,あきこ
+てらさき,まさひと
+てらさき,くみ
+てらだ,たけはる
+どい,ともこ
+どい,のぶたか
+とう,ひろこ
+ときた,しんいちろう
+ときと,りょうすけ
+とくだ,えみ
+としずみ,まほ
+とだ,しゅんすけ
+とよだ,ひろあき
+ないとう,りょうた
+なかい,まさとし
+なかお,あきひこ
+ながお,えりこ
+なかがわ,ともみ
+ながさか,みちこ
+なかさか,やすひろ
+ながさき,ゆういちろ
+なかざわ,ゆうへい
+なかざわ,ようこ
+なかしま,ゆうや
+なかじま,えみこ
+なかしま,あきひろ
+なかじま,しゅうたろう
+なかじま,りょうすけ
+なかだ,かよこ
+なかだ,あやこ
+ながつか,いさお
+なかと,しゅうじ
+なかにし,みどり
+なかにし,すすむ
+なかにし,いたる
+ながまつ,まさひろ
+なかむら,しげとし
+なかむら,きょうこ
+なかむら,あやこ
+なかむら,まゆ
+なかむら,けいこ
+なかむら,なおこ
+なかむら,ひろかず
+なかむら,さやこ
+なかもり,てつや
+なかや,ゆうじ
+なかやま,たけし
+なす,こうじ
+なりとみ,しんたろう
+なんぶ,ともや
+にいみ,やすたか
+にしかわ,そのこ
+にしの,ゆか
+にしやま,たかひろ
+ぬかだ,よしこ
+ぬまた,ゆういち
+ぬまた,さとし
+のがみ,さとし
+のぎ,あやこ
+のくお,かおり
+のぐち,たかゆき
+のざき,なつね
+のじ,ゆき
+のま,れいこ
+のむら,まさお
+のむら,ゆういち
+ばこし,しんご
+はしもと,なおこ
+はすぬま,ちえ
+はせ,よういち
+はせがわ,ひろし
+はたがわ,じゅんこ
+はたけやま,ゆうこ
+はたの,ようこ
+はない,りか
+はまさき,まこと
+はまだ,ひろたか
+はまで,たかし
+はやかわ,あき
+はやし,あや
+はやし,さとこ
+はやし,さとし
+はやし,じゅん
+はやし,ようこ
+はやし,すすむ
+はら,ともひさ
+はらしな,のぶき
+はらだ,あつし
+はらだ,みどり
+はるな,しゅうすけ
+ひきた,ひでと
+ひだい,まゆみ
+ひらい,きょうこ
+ひらい,ゆうすけ
+ひらい,えりこ
+ひらいわ,くみこ
+ひらお,ひでかず
+ひらかわ,まき
+ひらた,よしあき
+ひらまつ,たかお
+ひろえ,あつし
+ひろせ,ひでのり
+ふかざわ,ひでゆき
+ふかほり,のりひろ
+ふくしま,まきお
+ふくだ,ひろゆき
+ふくだ,ひろふみ
+ふくだ,さやか
+ふじい,りえこ
+ふじかわ,かずみ
+ふじた,けんじ
+ふじた,まさお
+ふじた,よしろう
+ふじむら,ともゆき
+ふじむら,あきこ
+ふじもと,しょうへい
+ふじもと,りゅうへい
+ふじわら,けいさく
+ふじわら,さとし
+ふたかた,じろう
+ふない,さちこ
+ふるかわ,ひろこ
+ふるかわ,じゅんいち
+ふるまた,ともや
+ほし,ゆき
+ほしうら,ひろし
+ほしろ,いつみ
+ほそだ,しゅんご
+ほり,のぶひで
+ほり,ゆき
+ほりえ,のぶと
+ほりぐち,のぞむ
+ほんな,かおる
+ほんぼ,ひろゆき
+まえかわ,みわ
+まえだ,こすけ
+まえだ,たかし
+まえだ,えつこ
+まきうち,けいじ
+まきの,しょうこ
+まきもと,とものり
+まさとうみ,まいこ
+ますい,ようすけ
+ますだ,まさゆき
+ますだ,みほ
+まつい,みお
+まつうら,かずひさ
+まつおか,あきひろ
+まつおか,ともこ
+まつおか,まゆみ
+まつおか,だいすけ
+まつかげ,ひさお
+まつした,さとし
+まつなが,わたる
+まつばら,のぞみ
+まつばら,あきこ
+まつもと,ひろみつ
+まつもと,ほくと
+まつやま,まいこ
+みうら,りょう
+みうら,あつし
+みうら,あつし
+みうら,きよまさ
+みき,ゆうじ
+みずかわ,ひろゆき
+みずたに,ゆきこ
+みずの,ゆうせい
+みその,ただまさ
+みぞはた,ちえ
+みながわ,まちこ
+みながわ,あや
+みなみ,ひろゆき
+みなみ,たかし
+みなみかた,たかのぶ
+みなみむら,ひでき
+みはら,まさき
+みむら,みきこ
+みやい,のぶあき
+みやざき,あつし
+みやざわ,なおや
+みやざわ,あきら
+みやむら,かおり
+みやむら,あや
+みやもと,ゆうへい
+みやもと,まさや
+みよし,つかさ
+むねむら,ちかふみ
+むらかた,ともゆき
+むらずみ,みつのり
+むらた,くみこ
+むらた,まき
+むらもと,かずのぶ
+むらやま,なお
+もり,なおこ
+もり,かつまさ
+もり,あつひこ
+もり,くみこ
+もり,みき
+もりうち,のりこ
+もりした,ゆういちろ
+もりたに,かずと
+もりもと,げん
+もりやま,こうじ
+もろえ,ひろかず
+やご,みのる
+やすがき,ともふみ
+やすだ,あやこ
+やすもと,あつし
+やつなみ,あきお
+やなぎさわ,けいすけ
+やなぎはら,しんすけ
+やぶなか,たいし
+やまうち,たかゆき
+やまおか,ただし
+やまおか,なおや
+やまおき,ひろゆき
+やまがた,まこと
+やまぐち,しんいち
+やまぐち,ひろこ
+やました,まどか
+やました,ちえ
+やまだ,ちえ
+やまだ,じゅんじ
+やまだ,のぶこ
+やまだ,あや
+やまだ,まきこ
+やまなか,めぐみ
+やまむら,いっせい
+やまむろ,かなこ
+やまもと,こうへい
+やまもと,てるひこ
+やまもと,まさゆき
+やまもと,みつよし
+やまもと,みのる
+やまもと,しのぶ
+やまもと,とおる
+やまもと,あすか
+やまもと,わたる
+ゆあさ,くみこ
+ゆき,なおこ
+ゆりやま,のりひろ
+よこた,あつひさ
+よこはま,としゆき
+よこやま,あゆみ
+よこやま,かずき
+よしおか,きょうこ
+よしおか,まいこ
+よしおか,まりこ
+よしだ,たかとし
+よしだ,なおこ
+よしだ,なおこ
+よしだ,まりえ
+よしだ,ゆうじ
+よしだ,ゆうじ
+よしの,ゆか
+よしひろ,ゆみ
+よしまつ,とおる
+よしむら,だいすけ
+よしむら,かずふみ
+わかまつ,ひろや
+わきた,かずお
+わきた,けんしろう
+わしお,よしあき
+わしざわ,ちあき
+わだ,いさむ
+わだ,としお
+わだ,いさお
+わだ,たけし
+わだ,かつえ
+わたなべ,かずしん
+わたなべ,とくじ
+わたなべ,ひろし
+わたなべ,きよおみ
+わたなべ,よしひろ
+わたなべ,よりみつ
+わたなべ,けいじ
+やまぐち,もとじ
+すずき,じろう
+ささの,すすむ
+かねこ,たけし
+くぼた,れいこ
+こすけがわ,まさなお
+かない,さぶろう
+かとう,こういち
+こだま,たかひこ
+こばやし,としひろ
+こじま,とおる
+かめやま,かずひこ
+くらばやし,のぶお
+かんだ,かずゆき
+こんの,じゅんじ
+かわしま,まさなり
+かわかみ,こうじ
+かなか,かくたろう
+かわむら,ひろうみ
+きむら,しゅんいち
+かすが,ひろし
+こじま,もとよし
+かわの,こういち
+かわな,よしまさ
+こずま,たけし
+かわさき,まさあき
+かたの,まさあき
+かただ,あきお
+きくち,まさおみ
+かみうら,かずひで
+かねだ,てつお
+こんの,やすお
+かわもと,しげみ
+かばや,ひろし
+こぶくろ,けんきち
+くまがい,ゆうじ
+こんの,ひでき
+こやま,しょういち
+きたしろ,ひとし
+こだま,たけし
+かとう,えいいち
+きむら,としはる
+こいで,いさお
+くやま,たけし
+きりはら,もりひろ
+かよ,まさただ
+かねこ,としお
+こはら,いわお
+かとう,ゆきお
+こい,せいいちろう
+かやま,いさお
+こいけ,くにひこ
+こじま,あきと
+こまつ,まさじ
+きたむら,のりよし
+きたわき,ぜんいちろ
+かさじま,ひろふみ
+きむら,てつろう
+かみぐち,さちお
+かとう,ふじお
+かわむら,としひと
+かどた,のぶたか
+おおたけ,しげる
+かとう,ともみ
+きの,のぶひさ
+かみ,まさみ
+きくち,まさゆき
+かきうち,ひろひさ
+こじま,まさみ
+かたおか,しゅんすけ
+くぼた,ひろゆき
+きたざわ,まさあき
+こみね,もとゆき
+くぼ,たかゆき
+きたずめ,かずとし
+こばやし,かつお
+かわぐち,よしひこ
+けがさわ,ひさし
+こうち,みちお
+こやま,とおる
+かわきた,たかひで
+かわみつ,しょうぞう
+かたひら,あつお
+かわぎし,ひろし
+こんど,よしみつ
+きむら,あきひこ
+くぼやま,しんたろう
+くまもと,まさき
+かわた,ふみよ
+くにのぶ,やすお
+かまだ,たかし
+かく,おさむ
+かねこ,おさむ
+こばやし,あきら
+かしお,けんじ
+かないわ,けいじ
+けんもち,ただし
+きくち,おさむ
+かざま,やすあき
+こまつもと,えいこ
+こんど,かつひこ
+きくしま,かつまさ
+こばやし,せいこ
+くまがい,まさとし
+かとう,かずひこ
+まるばやし,たかし
+むとう,かつみ
+みたに,たけし
+みわ,まさし
+しみず,つとむ
+みずの,としお
+まちだ,かずお
+まつい,かずたみ
+みうら,りゅういち
+ひの,りょういち
+むらかみ,まさひろ
+みやの,ひろゆき
+まるい,まさのり
+むらさき,としお
+まさか,ひでのり
+みねた,たけみ
+まつなが,ゆたか
+みながわ,せいじ
+みやけ,なおあき
+まつもと,けんいち
+みさわ,としゆき
+まえだ,こうぞう
+うだがわ,としかつ
+みやはら,こうじ
+むらい,しょうじ
+まつもり,しげき
+まさき,きくお
+みうら,えいじ
+もとみや,きよし
+むらかみ,ひろふみ
+まとば,まさあき
+みうら,としお
+まつかわ,かずひろ
+みずたに,なおひこ
+みやの,まさゆき
+まつだ,ふさちか
+みす,あきら
+まつやま,としえ
+みやもと,ただあつ
+みずの,ふみお
+まるやま,せいじ
+まるこ,みちたか
+もちだ,とおる
+もとはし,まもる
+みずや,こうじ
+みやざき,みちまさ
+みやがわ,みつる
+むらしま,ただお
+ますさこ,せいいち
+もり,いちろう
+もりた,かずお
+みなみ,よしあき
+みやき,まさお
+もりやま,けんじ
+みずた,よしお
+まつい,みつぐ
+まつお,まさよ
+まつした,ゆたか
+こばやし,かつみ
+むかえ,まさじ
+もりい,ぎょじ
+もりた,たいぞう
+むかい,まさお
+まつお,ときわ
+むらやま,よしひこ
+まつもと,としお
+みやさと,みのる
+みやざわ,よしお
+もりむら,たかし
+むらの,ひでお
+ますだ,みのる
+むらた,のぶお
+みやさか,けんじ
+もとばやし,まさみつ
+みずの,ゆりこ
+ももい,よしお
+まつだ,とくお
+すがわら,なおえ
+まつばら,まこと
+まつもと,みのる
+みやはら,あつよし
+むらいし,まもる
+まつむら,まもる
+みよし,てつよし
+もりもと,かずお
+みずたに,たけし
+まつば,あつし
+まつい,かん
+むらかみ,かずお
+もりた,しげはる
+むらた,しげお
+まさき,ひろし
+みやざき,よしき
+まつばら,しんいち
+むらまつ,あつし
+もり,のぶゆき
+もりむら,まさかず
+すわ,よしみ
+こわたり,なおき
+まつざき,よしのぶ
+まっさき,まさひろ
+みたく,けいぞう
+まつかわ,さとし
+もぎ,しこ
+まぶち,きよし
+まつもと,としろう
+もり,りょういち
+まつうら,かずなり
+まえだ,あきお
+ますだ,ひろし
+まえにし,ひろし
+まるやま,なおや
+まつだ,たかお
+まき,としひこ
+もうえ,しんいちろう
+むらい,とよみ
+まつい,くにひこ
+もりた,まさる
+まえだ,たかぶみ
+むらうち,いさむ
+みつやす,あきら
+もり,けんじ
+まつだ,さとし
+まつお,まさふみ
+まるやま,あきお
+まつがえ,しげひろ
+かみくら,こういち
+みどりかわ,ゆうじろう
+ますだ,しげのぶ
+みてら,やすお
+まつなが,あきら
+もりおか,よしみ
+みそお,えつお
+むらやま,かつよし
+もりもと,しげる
+もり,つとむ
+ますだ,ひろたか
+みやもと,かつまさ
+むらた,よしてる
+みなみさわ,かずひろ
+ましま,すみひろ
+もりぐち,よしあき
+まつい,たかし
+まえかわ,ひとし
+もちずき,じゅん
+ますだ,しんきち
+まつもと,じゅんぞう
+もりなが,かずのり
+ますだ,ひろたみ
+みうら,くにお
+まつの,ただお
+まつおか,よしてる
+まちい,こういち
+みずたに,としお
+まつもと,よしのり
+まさき,ひでと
+まつもと,たけし
+みつや,ひでやす
+みずの,じろう
+まえだ,ふみお
+むらまつ,けんじ
+むさしの,あきら
+まえはた,まさひこ
+まつざわ,よしお
+みつい,よしかず
+ももだ,みつかず
+まつお,かつみ
+みわ,しゅうじ
+むらかみ,てつや
+みかみ,はるき
+ぬかざわ,しんじ
+なかむら,しずえ
+にしむら,くにひこ
+にった,けんじ
+ながつゆ,ときやす
+にいの,ひろし
+たぶち,けんじ
+にしの,さぶろう
+ぬかた,たもつ
+にしむら,ひさお
+ながの,たかゆき
+なかがわ,よしあき
+にしやま,ひろし
+なかじま,まさひろ
+にしだ,みつお
+なかむら,ふみお
+のむら,ゆきお
+なかもと,のりあき
+なかがわ,かずたみ
+なるさわ,つねお
+ないとう,たけお
+のべ,よしひで
+にしな,やすのり
+のむら,ただし
+なかむら,しんじろう
+にかいどう,よしやす
+なかだ,たつお
+にしな,きみひと
+なりた,としお
+のぐち,よしひろ
+のや,こうき
+ながい,まさと
+なかむら,きよし
+にいずま,たかみ
+なかがみ,しゅういち
+ながた,きしお
+にしざわ,はつえ
+のせ,じゅうろう
+ながい,ゆきお
+にしざわ,まさお
+なかはた,かずとし
+なかじま,ひろし
+なかだ,まつお
+のなか,まさき
+なかがわ,まさあき
+なかしま,たみお
+なかもと,まさる
+にしおか,ひろし
+にしまえ,しんたろう
+なかむら,まさお
+なかにし,かずお
+のだ,むつや
+なかむら,あきひこ
+なかざわ,りょういち
+にしだ,よしろう
+にしだ,ただゆき
+にい,りょうじ
+やまもと,ひとし
+なかうち,やすお
+なかじま,かずたか
+なかむら,まさみ
+のむら,くにひこ
+にしむら,やすひろ
+のなか,ただひこ
+にしむら,としひで
+にしお,きよし
+ながお,きよし
+にいみ,けんじ
+なかむら,ひでゆき
+ねずか,よしのり
+なかむら,ゆきとし
+なかざと,てつや
+あさの,じゅん
+のがみ,くにひろ
+なかじま,かずひこ
+ないとう,かずあき
+なかむら,よしのり
+なかにし,きよあき
+なかだ,たみお
+ながさわ,たかし
+ながの,かずゆき
+にった,ゆたか
+なんば,みつひろ
+のずえ,くにみつ
+ながみ,ひろし
+ながい,じゅんいち
+なかはら,みずほ
+なかじま,たけよし
+なかじま,かつお
+にしだ,あきひこ
+なおい,しちろう
+なべしま,よしまさ
+なかの,しょういち
+なかむら,はるお
+のだ,みつよし
+なかせ,としあき
+なかじま,みつしげ
+ながさわ,ただし
+にへい,みつよ
+ながい,りょうすけ
+なかしま,たかお
+なかお,せい
+なかがわ,のぶお
+ないとう,こういちろう
+のじま,ゆうすけ
+ながの,ゆきお
+にしだ,かずお
+なかだ,きよし
+なかはら,たかのすけ
+なかじま,むねたか
+ねもと,きよし
+なかむら,けんじ
+ながとも,まさみ
+なかむら,ひとみ
+なかやま,よしお
+なかむら,ほずみ
+なかむら,ふみのり
+のじま,てつろう
+ながふち,やすろ
+なかの,ごいち
+にしやま,しんいち
+なかむら,まさゆき
+ながしま,なおじ
+にわ,ゆたか
+なかの,やすあき
+おにざわ,ゆきお
+おしかた,まさお
+おか,かつひろ
+おくやま,のぼる
+おき,すみお
+おかみや,けんじ
+おぐら,まさき
+おおで,まさのり
+おのだ,まさひこ
+おおにし,まさき
+おくだ,きょういちろう
+おくだ,としお
+おがわ,こうじ
+おの,まさお
+おおすみ,こうじ
+おおつか,たかし
+おおとも,まさあき
+おかざき,ゆうじ
+おおはし,ひろし
+おぎの,ふみお
+おさだ,しずあき
+おおば,ひさし
+おしま,あやこ
+おおかわ,かずや
+おかもと,ひろし
+おがわ,とおる
+おの,きよと
+おかの,とおる
+おざわ,ゆきまさ
+おはく,ひろし
+おしたに,たかし
+おざわ,ひろし
+おおはし,たかのぶ
+おおはた,こうとく
+おのでら,みや
+おの,ふみお
+おおおか,ふじこ
+おおの,よしのり
+おおはし,ゆたか
+おおた,たかし
+おおもり,けんたろう
+おしま,こ
+おかもと,こういち
+ひろせ,ともゆき
+おおみず,やすお
+おおの,みつお
+おちあい,まさひさ
+おかべ,たい
+おおたに,あきひろ
+おくの,しげお
+おおすが,けんいち
+おおのき,かおる
+おおいし,じ
+おかだ,もとつぐ
+おおみや,ゆきひろ
+さたけ,つねお
+おだぎ,はちろう
+おおた,さとる
+おふち,ただよし
+おおかわ,かおる
+おかど,さとる
+おおさわ,ひでき
+おぎさわ,ゆきひろ
+おかべ,あつし
+おとよし,ひでお
+おがわ,たつろう
+おりがさ,やすたけ
+おおば,ゆきこ
+おばた,たかし
+おおの,たかよし
+おおさか,まさや
+おおみね,けんぞう
+おおた,よしひこ
+いのうえ,あきお
+おおこし,しげき
+おざわ,ひでお
+おかべ,けいいち
+おおぼら,えいじろう
+おおた,じょういちろう
+おざき,じゅんいち
+おくだ,やすひろ
+おざわ,てるあき
+おかだ,すすむ
+おおつか,こうじ
+おのでら,こういち
+おしお,ただしげ
+おだしま,ただし
+おざき,しげる
+まえだ,みつお
+おき,まさお
+おのだ,ときえ
+おなぎ,あきら
+おくだ,よしきよ
+おおひら,せつじ
+おのざわ,としひこ
+おぎはら,くにあき
+おおくま,かずお
+おおはら,のぶひろ
+おき,かつすけ
+おがわ,たつや
+おおや,ひでほ
+おおさわ,さぶろう
+おおはら,ひろよし
+おだ,たかこ
+おざわ,みつお
+おがた,りょうすけ
+おかの,あきこ
+おおいし,しま
+おない,ひろゆき
+おおつか,じゅんこ
+おおつか,てつお
+おいで,よしあき
+おきやま,かずこ
+おぐし,あけみ
+おだ,やすし
+おかばやし,ただひろ
+おおたに,じゅんじ
+おおつき,あゆみ
+おかだ,ひろし
+おおすみ,ちはる
+おおいがわ,たかはる
+おかだ,すすむ
+おざわ,かずひこ
+おおたに,てつろう
+おざき,ひろゆき
+おおた,まさこ
+やなぎや,ゆかり
+なかたに,しんいち
+こばやし,ひでし
+みくに,よしひろ
+すずき,じゅんいち
+はだの,ゆきまさ
+みやま,かおり
+たかはし,まさと
+しらおがわ,らいた
+なかむら,あそか
+まつざき,きいちろう
+やました,たかよし
+しもやま,しげる
+ふたむら,のぶゆき
+くわ,たかし
+なかむら,としみつ
+よこやま,ひろあき
+ひるま,ゆきこ
+たちかわ,なおみ
+わかばやし,てるみ
+たかはた,とも
+あべ,えみこ
+せき,りゅうご
+やまざき,ひとし
+やまね,よしひろ
+たざわ,じゅんじ
+かじかわ,あさこ
+さとう,まさひろ
+かわうち,まりえ
+おおやま,のぶこ
+しんみょう,じゅんこ
+たちわだ,なおみ
+おおくぼ,てつや
+とうごう,ひろゆき
+ながくら,たかはる
+いとう,けんそう
+やまざき,せい
+かざま,はるゆき
+かんばやし,ひでお
+ささの,めいこ
+かわしま,みゆき
+しんぐう,のりあき
+こいずみ,たくや
+かねこ,よしみ
+こばやし,すえつぐ
+かもした,しゅういち
+たむら,さちよ
+はせがわ,たかし
+くりはら,ひろふみ
+かなおか,ひろし
+こばやし,ゆきたか
+ひいし,たかゆき
+にへい,いくこ
+まるた,なおこ
+とおやま,なみ
+せきざわ,ちか
+ありま,やよい
+くりはら,ともえ
+すみの,みのる
+よしだ,ひでき
+きのした,ともこ
+おちあい,みゆき
+うまやはら,やすみ
+ほそかわ,ひろこ
+ふかがわ,しんじ
+かわむら,えいぞう
+まつい,けいこ
+よしもと,たかひろ
+うなかみ,ともこ
+かねまつ,さきこ
+かわかみ,まこと
+とよだ,ひでお
+やの,あきひこ
+せき,たかあき
+なかにし,ひとし
+はしもと,あき
+ふかや,くにあき
+みやもと,ひでくに
+たけだ,としふみ
+みやざわ,みきお
+いけだ,かずひこ
+おしま,ひろし
+なかむら,えりこ
+ごとう,ゆういちろう
+うしごめ,ひろし
+くわやま,ひろあき
+つかだ,ちはる
+むらた,ちかお
+さとう,よしたか
+くろだ,かおり
+すぎもと,くにお
+やすだ,こういち
+きうち,さとし
+けどういん,じゅんいち
+たなか,ちか
+なかむら,ひろあき
+くりはら,とよひこ
+たきざわ,かずのり
+うえだ,ひであき
+こべ,ひであき
+のぐち,ふみお
+こんの,ともひこ
+とみた,かなめ
+おおた,ゆきこ
+まき,ひかる
+あまの,けんいちろ
+こみね,あきひろ
+さとう,ともや
+いまで,ゆうじ
+まつなが,たつや
+すずき,たけし
+まつお,かえ
+さいとう,きょういち
+よしざわ,わたる
+うやま,けいこ
+あんどう,まさひこ
+すずき,さとし
+よしだ,かずとし
+かわだ,えみこ
+ふくだ,けい
+もりしま,まさし
+つちだ,とおる
+さかい,みちやす
+つかだ,あつし
+はっとり,ひろし
+たむら,こうじ
+わたなべ,なおき
+こすぎ,たかあき
+ひらた,けいた
+すぎやま,よしゆき
+もりかわ,もとはる
+かどた,あきひろ
+さの,ひろし
+おざき,てつお
+よこまつ,かつひさ
+たなか,ゆみこ
+いしさか,こういちろう
+いしざわ,ゆずき
+こばやし,じゅん
+よしだ,ともあき
+きむら,りえこ
+おおつか,たける
+あだち,たかし
+あかさか,しょうじ
+みやもと,みどり
+いちむら,かおり
+おした,のぶゆき
+ほんだ,おさむ
+かやぬま,こうじ
+のざき,ゆうじ
+かどわき,ふじえ
+おじ,やすひろ
+たぐち,やすつね
+たけいし,あきと
+ひらい,しんじ
+かなざわ,じゅんいち
+ふるかわ,えりか
+もりなか,まさよ
+あらい,としあき
+たなか,よしのり
+しみず,よしゆき
+いちはら,まさる
+きたのはら,ひでひろ
+きたお,ともひと
+もりもと,ひでき
+きたむら,りかこ
+ささざわ,たけし
+まつおか,なおこ
+こうら,たかひろ
+みわ,ひろこ
+よしおか,ひろこ
+ほり,ゆみこ
+さいとう,よしひと
+ながせ,ひではる
+もりしま,ひろか
+おわり,まきこ
+たなか,みき
+てらむら,としまさ
+こばやし,きょうぞう
+さいとう,ひろのり
+きむら,たけし
+はしもと,よしひさ
+なかがわ,てつや
+なかむら,まさおき
+はぎわら,くにひこ
+にしかわ,ともみ
+きたじま,こういち
+たかうら,やすお
+あさだ,ひでよ
+きたずめ,あらた
+ねもと,わかこ
+たなか,まさひこ
+たなか,かずひろ
+あだち,かずひこ
+はら,まさゆき
+あかまつ,けんご
+いまむら,あつし
+むらやま,ようじ
+たけうち,たかゆき
+ずし,やすお
+こばやし,かほ
+やまざき,あつこ
+はまぐち,そういち
+かげやま,ひろゆき
+かなもり,ひでき
+かとり,つよし
+あらい,しょうへい
+みやた,まりこ
+すずき,えみこ
+はるた,ひでや
+なかざわ,たかし
+すが,まさゆき
+まえでら,てるゆき
+あらまき,あつし
+きたの,たつや
+よしの,しげみつ
+みくりや,ようこ
+おくのぎ,けんじ
+さくらい,よしかつ
+こんど,なお
+すずき,のりこ
+くりはら,くみこ
+むこうぐち,まき
+ふじい,あきひろ
+かげ,ゆうこ
+まえだ,のぶや
+ながほり,ゆきこ
+つじ,ももこ
+きむら,しんたろう
+まつお,こういち
+たての,のりよし
+きむら,まこと
+すざき,たつや
+いわさき,みやび
+さとう,ゆり
+にった,だいかん
+たなか,まり
+しまだ,あかね
+たにぐち,のりこ
+ほんだ,すなお
+なかたに,たかし
+みやじま,しゅん
+くきやま,こうじ
+せきね,りょうたろう
+よしはら,さとる
+ひらた,まさかず
+ながさわ,としお
+なかがき,けいこ
+くろかわ,やすゆき
+かけたり,けんじろう
+いとう,かよこ
+まえかわ,じゅんじ
+まつだ,あきお
+くわはら,まこと
+いいずか,わかこ
+まじま,ひでゆき
+むらた,ともこ
+あきいけ,ゆういち
+なみき,てつや
+よしの,みきこ
+すずき,ゆき
+たむら,みどり
+かめだ,しんや
+にし,やすし
+いなおか,けんじ
+いわさき,ゆうじ
+かんだ,なみ
+ただ,えいき
+うつ,ともあき
+しまだ,まさお
+よしだ,ひろゆき
+おくがわ,よしふみ
+すずき,けいこ
+たんぽ,みねこ
+わだ,なおこ
+うるしはら,えいすけ
+いいお,たろう
+にいはら,きょうこ
+おむら,たくや
+いのうえ,ぜんじろう
+もりなが,としひろ
+さの,ひろし
+なかたに,まさやす
+あべ,まさなお
+うちだ,けんじ
+ひろた,ゆうさく
+いわくら,かいじろう
+いしおか,ひであき
+ときた,なつこ
+きのした,なおすけ
+みずの,あいこ
+やすえ,まさみ
+いわもと,さとる
+やまじ,ゆかり
+こさい,ゆうこ
+くぼ,としえ
+ちば,ひかる
+やつたに,あつし
+いがらし,たかずみ
+あらかわ,あかね
+てらさき,もとあき
+せごえ,さとこ
+とくしま,まさこ
+ばんどう,しょうこ
+たきざわ,けんじ
+みずさき,けんたろう
+たきぐち,けい
+ひおき,まさし
+なかい,あつみ
+おいかわ,れいこ
+まつむら,ちぐさ
+えんど,よしお
+たじま,さとこ
+やまざき,えいじ
+せのお,こうじ
+はらだ,としまさ
+ふくい,ともか
+まつうら,けい
+かわむら,ゆういち
+てらもと,たかみち
+はぎわら,たくみ
+なかしま,えみこ
+きのした,みちお
+あらい,ちずる
+むらやま,じゅんこ
+さえぐさ,ともみ
+たなか,みつこ
+まえだ,おさむ
+みやざき,かずみ
+いけべ,あきら
+くわばら,たかのり
+よだ,たかお
+たちばな,やすあき
+やまぐち,よしあき
+いしはら,けいこ
+たきざわ,まさあき
+ひらの,よしぶみ
+かわさき,たかよし
+やまもと,ひさとし
+あらせ,あつし
+やなぎさわ,まさのぶ
+しおや,あきえ
+さとう,こういちろう
+かとう,ひとみ
+おの,よしたか
+きたはま,やすまさ
+ごとう,のりこ
+にのみや,まゆみ
+うすい,とものり
+みずしま,たける
+すどう,まこと
+いけだ,あきこ
+なかひがし,ありしげ
+くりもと,ろわる
+とだ,ひろたか
+はかまた,あつのぶ
+たにぐち,はるみ
+いまぜき,いくこ
+ほりお,まゆみ
+かすが,つよし
+かわせ,なおこ
+さとう,ひろみ
+たかなし,のぶあき
+まつした,たかし
+やぐち,ひでき
+かねこ,かずゆき
+ひだか,みお
+さっさ,たいち
+そが,たくや
+すぎうら,けんたろう
+さとう,あみこ
+たにばやし,さちこ
+にしおか,たかし
+ともなが,なおき
+おおはし,ひでき
+ながしま,せいた
+たにがき,せいこ
+こうだ,こみな
+きよの,さとし
+やまかわ,としお
+なかじま,ひろし
+もてぎ,こうじ
+おおぬま,ゆたか
+さとう,しげお
+ふるいえ,よしこ
+あいもと,もとふみ
+よこお,くにお
+にしかわ,けんじ
+びとう,よしなが
+きたむら,しんや
+やまかわ,さだはる
+とみた,たけし
+つちだ,ひでと
+いしぐろ,りえ
+まつお,とおる
+うえもと,こういちろう
+いいだ,みきこ
+すずき,しげひろ
+たむら,かずよし
+おくだ,のぼる
+ほり,よしみ
+くさつぐ,やすし
+やまだ,まさなお
+あさはら,たかひろ
+とくだ,まんなり
+いでた,よしひろ
+いとう,てるみち
+さとう,きいちろう
+つじさわ,けい
+おの,こうじ
+いわま,のぶあき
+だいごく,じゅんいち
+やまむら,よしかず
+はせがわ,としかず
+いぎ,たかひろ
+まかべ,まさかつ
+おかもと,かつお
+おおはら,ゆきなお
+せきやま,かずお
+きたじま,ひろあき
+とりうみ,まさひろ
+みやざき,たてお
+うい,よしひと
+くらもち,かずひろ
+しおぬま,ひでとし
+らいた,いくお
+しもこうべ,のぶかず
+さわの,てるお
+さかにし,ゆうじ
+ささき,としお
+せいの,けいぞう
+すずき,あきよし
+さかもと,としお
+すずき,しろう
+さわの,かつや
+しが,てつや
+ごとう,とくまさ
+すだ,じゅんじ
+すずき,よしこ
+さかきばら,としお
+さとう,けんじ
+さかぐち,よしのり
+すぎさき,みつくに
+すえき,たかし
+すずき,のぶあき
+しばた,ことじ
+すぎやま,ただお
+さかい,まさゆき
+しみず,ただし
+すぎもと,としお
+さとう,たくじ
+せき,おさむ
+さくらい,はるゆき
+せきぐち,こすけ
+さとう,えいじ
+すずき,ゆうのすけ
+さいとう,ただお
+せきね,とよふみ
+すずき,つとむ
+いいだ,きよたか
+すずき,ひろし
+ささき,みつお
+すえなが,としお
+さかもと,ひであき
+さいとう,まさみ
+すがお,てつじ
+しまず,みのる
+さいとう,ふみお
+しのざき,あきら
+すずき,よしゆき
+すなが,けん
+さとう,おさむ
+すずき,けいたろう
+せきね,さだのり
+ささき,としお
+さわだ,あきら
+さいとう,かずお
+しもぞの,ただひこ
+すえ,たかし
+さどとも,あきら
+せきね,けんすけ
+さとう,さとし
+さんご,よしのぶ
+すどう,くにあき
+そのだ,なおみ
+しま,みのる
+さとう,よねぞう
+さとう,とみお
+しぶや,かずあき
+さとう,かずお
+さとう,てるひこ
+さかた,よねお
+さいとう,おさむ
+すわき,たかし
+そり,たけじ
+さかもと,しゅんいち
+しらいし,まさとし
+すずき,あきお
+しまだ,としお
+すずき,まさひろ
+すずき,よしお
+さとう,はじめ
+すずき,きよし
+さとう,つとむ
+しげまつ,きよし
+さがら,たかとし
+さいとう,ゆきお
+しんぐう,たかお
+すがぬま,てるのぶ
+そが,たけし
+ささき,のぶゆき
+さとう,しげる
+さわだ,てつお
+そま,おさむ
+しばた,たけお
+さとう,みちこ
+さとう,きよし
+しまだ,ひでお
+ささき,のぶお
+さとう,けんじ
+さいとう,しげる
+しもで,ひでき
+ささき,としお
+さとう,よう
+さとう,ひさお
+さわだ,しんいち
+しろさき,よういち
+しばい,すすむ
+さいとう,みちお
+すずき,としお
+そがべ,いさお
+せがわ,ちひろ
+しみず,みのる
+すずき,ようじろう
+しろやま,よしひこ
+しいな,よしお
+さやま,まもる
+さかもと,まこと
+さとう,ひろし
+すずき,ただよし
+すずき,てつろう
+ささせ,かつゆき
+さくらい,まさき
+しまだ,せいじ
+さとう,かつひろ
+しもの,ようすけ
+すずき,よしなり
+すぎもと,まさお
+しみず,たけお
+さの,よしのぶ
+すずき,こうへい
+しまだ,かずひこ
+すずき,はるひさ
+すぎふじ,ひとし
+さかい,しんいち
+さかぐち,えいじ
+すがわら,だいさく
+しのずか,じゅんいち
+しが,みつお
+さかがみ,とよま
+すずき,かずゆき
+すぎの,ひでお
+すぎうら,すすむ
+しみず,かずみ
+すずき,たけしげ
+ささこ,せいぞう
+せき,ゆきよし
+さとう,たつじ
+しま,ひろし
+すずき,きよてる
+さかもと,よしかず
+ささき,ひろし
+しまだ,いそじ
+さいとう,ただひさ
+しおた,とよお
+しおだ,いさむ
+すだ,えいじ
+しいな,けんぞう
+しおのや,てつお
+さいしょう,やすひろ
+そいだ,えいいち
+そま,かんじ
+さとう,ひろし
+さとう,たけみち
+しおばら,きよえ
+ささおか,よしたか
+ささき,みつのぶ
+せと,ふみお
+しゅどう,たかお
+さかもと,ひろし
+さくま,たかし
+しのざわ,つよし
+しおばら,ひろゆき
+さくらい,ゆずる
+さとう,めぐむ
+さくらい,としお
+ささべ,ひろし
+さとう,りゅうぞう
+すぎうら,ゆうぞう
+さかい,まさお
+そま,のぶお
+そうや,せいじ
+そねかつ,あきら
+せきね,たけお
+すずき,のりお
+せきね,としつぐ
+さかきばら,かずとし
+しもかわべ,けん
+さわむら,なるみ
+せき,じゅんいち
+すずき,こずえ
+さかまき,ひであき
+さがわ,としひさ
+すぎやま,たけゆき
+すぎもと,こ
+せお,ゆうじ
+さいとう,たかし
+さかい,みきお
+さくらい,ただひろ
+せきね,まさのり
+さとう,はつみ
+しみず,たかし
+しみず,としお
+さいとう,まさお
+さくらい,まさあき
+すぎやま,やすお
+しずか,ひさなお
+しらかわ,あきら
+さいとう,ゆずる
+さきもり,いわお
+さとう,てつお
+せきぐち,おきとし
+せきね,のりこ
+しばた,こうじろう
+すずき,たかひろ
+さいとう,ひさお
+さとう,のりお
+せきね,おさむ
+さかい,はるひこ
+ささお,しんじ
+すどう,まこと
+もり,しょうじ
+しみず,えいぞう
+さとう,てるお
+すずき,いさお
+しむら,ひろとし
+しばさき,ひろし
+すがまた,かずお
+すずき,ひろし
+しおのや,きよかず
+たかはし,としろう
+つきやま,きくお
+つのだ,よしき
+たかはし,なおと
+とくざわ,もりはる
+たぐち,まさお
+たかぎ,ひでお
+たかの,てるみつ
+たはら,きよかず
+とよさわ,こういち
+とよます,けいいち
+たかはし,まさのぶ
+たけうち,ていじ
+たきいし,りょうじ
+たかいし,しげお
+たかさき,けんじ
+たにがわ,ひろゆき
+たかはし,まさとし
+たなはし,こうじ
+たまき,ひろし
+とば,まさし
+たばた,たかし
+つじ,たかお
+たなか,あつし
+たかはし,まさのり
+とくなが,きみお
+たぐち,まさお
+たきざわ,かつしげ
+とみ,たねまさ
+つじ,けいこ
+うちだ,としお
+たなか,いわお
+つねよし,のりかず
+たかの,むねお
+たかはし,ゆきち
+たかやなぎ,よういち
+たけだ,けいすけ
+たぼ,ゆたか
+たなか,かずお
+たけうち,まさき
+たかやす,とよみ
+つちや,ゆはつ
+とくなが,けんじ
+つちだ,なおかた
+つぼい,えいえつ
+たかはし,まさしげ
+つかもと,さだむ
+たなか,しげる
+ともつね,すすむ
+ちじ,としはる
+さとう,せいじ
+たかた,つねお
+とはた,よしみ
+たかはし,みのる
+たかはま,よしあき
+てらさわ,なおこ
+たかばやし,しょうじ
+てらだ,しゅうじ
+つかだ,せいじ
+たなか,ひでお
+とりまる,たみお
+つちだ,まもる
+たきもと,としひこ
+たきい,ひであき
+たねだ,けんじ
+たむら,よしのり
+たどころ,ひさお
+たかお,ますみ
+たなか,ひかる
+たかはし,はつお
+たかはし,しげゆき
+たかはし,ふじお
+とみた,とおる
+たかはし,あつのり
+たにぐち,みちあき
+たなか,ゆうぞう
+つぼい,ひろみ
+たけうち,ほぶん
+つだ,とよし
+たけだ,まさゆき
+たけい,しげお
+つじかわ,ゆういち
+たけむら,せいじゅ
+たき,まさあき
+たかだ,まさあき
+たきざわ,しげる
+たなか,まさじ
+たにむら,たけよし
+よしざわ,まさはる
+つねかわ,たろう
+たなか,ひろし
+たかだ,かつお
+つる,あきら
+たに,まさひろ
+たぐち,いさお
+たなか,じゅんぞう
+たにぐち,かずひろ
+たなか,のりみつ
+つじ,ゆういち
+たなか,かつみ
+つゆき,ひさお
+たまる,まさみ
+つちや,けいじ
+つるおか,のぶお
+たかはし,てつお
+たかはし,みつこ
+とうふくじ,としお
+たなか,おきつぐ
+たかぎ,きょうこ
+たかはし,よしひさ
+たにぐち,りょうじ
+とよだ,ひとし
+たかぎ,たけし
+たけい,しげる
+つだ,ふみお
+つねひろ,じゅんじ
+たきざわ,としお
+たちばな,ごいち
+たかはし,かつゆき
+たにぐち,こすけ
+たけだ,かずと
+つちや,けんいち
+たかはし,としあき
+たのうえ,ひこさぶろう
+たかばたけ,まさのぶ
+たかはし,またさぶろう
+ふなき,てるやす
+たけだ,かつまさ
+とくなが,たつ
+あさい,ゆうじ
+たかはし,みきこ
+たかはし,のりお
+たがわ,しょういち
+たなか,のぶゆき
+たちかわ,たけし
+たぐち,かずよし
+たかさき,あきら
+たまおき,しずお
+たなか,せいいちろう
+たかの,しん
+たけうち,しげる
+つだ,せんじ
+たかなみ,まさる
+つきなわ,よしなお
+とみもり,すすむ
+たけだ,とおる
+とがし,てつひこ
+つずき,しげとし
+とびた,のぶあき
+ともなが,つねかず
+つつい,しげあき
+たかぎ,じゅんじ
+たにぐち,かずとし
+たかの,としひろ
+たなか,さとし
+とまつり,しろう
+たかぎ,いつお
+たかしま,ふみお
+たはら,よしあき
+たなか,かずこ
+たかだ,よしお
+とりい,みつゆき
+たけべ,のぶゆき
+つかもと,あきお
+たむら,のぶひろ
+とみなが,さかえ
+たかいわ,さとし
+たばた,けんじ
+たかはし,くにお
+てんぽうりん,そういち
+てらうち,さだゆき
+たかはし,きよし
+たかせ,ちから
+たけむら,もとい
+たむかい,ふみお
+たかはし,ゆうじ
+たけつ,かつじ
+たのおか,すすむ
+たかはし,ただし
+とおやま,きよのぶ
+たけうち,あつし
+たかはし,まさお
+うしお,ゆずる
+うすぎ,かずひろ
+うちやま,よういち
+うめだ,かずすけ
+うけもり,まさな
+うちだ,みちや
+うえだ,ひさお
+うちだ,けいじ
+うつき,てつお
+うえだ,みきひこ
+うちだ,ひでき
+うえはら,しゅう
+うえむら,のぶや
+うちだ,さだゆき
+うちむら,けいいち
+うちだ,けんすけ
+うちだ,けいいち
+うえき,あきこ
+うかじ,まさてる
+うちだ,まさあき
+うえむら,ひでお
+うしお,とくじ
+うめむら,としお
+うめしま,りきつぐ
+うこん,かおる
+うちいけ,じゅんいち
+うるしの,たかあき
+うちなし,へいた
+うぐさ,まさゆき
+うの,としひで
+うえき,みのる
+うえもと,けん
+うえむら,ゆきお
+うえはら,ひろし
+うえだ,しんぺい
+わたなべ,ひさゆき
+わたなべ,かつみ
+わたなべ,きんや
+わかむら,やすろ
+わたなべ,ひでじ
+わたなべ,よしたか
+わたなべ,ひろはる
+わたなべ,かつなり
+わたなべ,ひでお
+わたなべ,かつひこ
+わたなべ,やすあき
+わたなべ,ただし
+わきた,こうめい
+わたなべ,ときお
+わたなべ,こんごう
+わたなべ,あきら
+わたなべ,おさむ
+わたなべ,けんじ
+わたなべ,すみただ
+わだ,やすし
+わたなべ,たつひこ
+わだ,たけみつ
+わだ,ほまれ
+わたなべ,まさあき
+わたなべ,あきら
+わたなべ,しげあき
+わかばやし,みねお
+わたなべ,ひさお
+おおた,まこと
+ふじわら,すみあき
+こいけ,みちお
+かたおか,てつや
+ひろしげ,きよし
+しんざわ,ひろし
+みずかみ,まさみつ
+なかじま,けいいち
+ふくしま,しげき
+なか,ひろし
+ひらやま,まさこ
+にわやま,かつじ
+しみず,そうじろう
+ふるさわ,つよし
+さくらい,みずほ
+たけなか,あつのぶ
+すぎうら,かよこ
+かとう,けんじ
+ほしかわ,まさお
+おがわ,いさお
+かしわぎ,こ
+さかい,ひろこ
+もり,はるお
+ほんぼ,のぶゆき
+いいじま,よしあき
+こじま,たかお
+たかはし,のぼる
+はた,しょうすけ
+おがわ,あきのり
+つちや,かつや
+こやま,いさお
+ふるみ,てつお
+くめ,つねお
+くらた,せつお
+うしじま,まさかず
+えばと,かつのり
+さとう,のぶゆき
+むしゃ,なおひこ
+ゆあさ,まもる
+きくち,なおき
+まつばやし,てるよし
+まつい,あきら
+たけむら,ひろし
+てらしま,ようすけ
+くら,ひでくに
+まつい,よしお
+うえだ,いさお
+はやし,しんいち
+かわな,だいじろう
+はやし,かずお
+でもと,まさひろ
+しぶき,たけし
+はま,たつお
+えんど,こうざぶろう
+みやもと,たかひさ
+まつだ,ひろし
+やまもと,ともこ
+むらかみ,しげお
+おかだ,だいきち
+わたなべ,かずゆき
+いわさき,あきよ
+よしだ,すみゆき
+おおもり,まさのり
+みずたに,ひさえ
+すぎうら,かずお
+のなか,みつたか
+わたなべ,いさむ
+さいとう,たけお
+おおかわら,げんたろう
+かどいけ,たけただ
+まつもと,のりかず
+なか,たかお
+かとう,けんぞう
+かわいし,ゆうこ
+ながさわ,つとむ
+すやま,くんろう
+くましろ,ひろし
+たかばやし,ひでお
+こんど,けんぞう
+いなば,さとる
+こばやし,としひろ
+やまぐち,みかこ
+すずき,ゆうじ
+あきやま,ゆたか
+たかだ,あきら
+さわい,まさひこ
+なかた,きよゆき
+いたば,ゆういち
+くにぎた,よういち
+やまだ,ようこ
+やまだ,ゆうこ
+たかはし,よういちろう
+うめむら,のりひこ
+こばやし,のぶあき
+かねみつ,ただお
+きど,まさし
+かねき,ただお
+こむら,まさひろ
+ふじもり,けんいち
+やました,てるたけ
+くりやま,まさひろ
+とざわ,たかし
+いしい,ちかとし
+たかはし,よういち
+たなか,かずみ
+いしざき,てつお
+はらだ,まさひろ
+とくひさ,しげやす
+いしむら,ただひろ
+うえだ,たかし
+おふち,くにひろ
+やつるぎ,みつお
+みなと,まゆみ
+よしだ,まさひろ
+みなみ,やすお
+おか,あきお
+いちかわ,かずお
+おおくぼ,ひでき
+いしだ,ひろゆき
+とみた,いさお
+ひらおか,ひろひさ
+かとう,ひでお
+おむら,むつお
+おさじま,としや
+ふなこし,せつお
+こうだ,ひであき
+あさおか,たつお
+かすが,あけみ
+ももはら,ぶんいち
+うえむら,としひで
+おばた,かずこ
+おのだ,ゆきお
+みやした,かんじ
+ほそや,やすお
+やしろ,ゆきお
+わたなべ,あつし
+きむら,ときち
+かみじょう,ひさえ
+さとう,よしおき
+まつしま,あきら
+かたやま,ようこ
+ひらの,ごへい
+なからい,だいすけ
+よこやま,ひさお
+おおがね,ともひろ
+きむら,まこと
+のざさ,よしのり
+もりの,かずしげ
+えちごや,みちひこ
+ふくしま,ひでお
+いとう,まさゆき
+いけだ,ゆきこ
+とくなが,りえ
+きもと,あいこ
+おしだ,さとこ
+はしもと,のりかず
+のぐち,としのり
+みやべ,かずと
+くわはら,やすえ
+きむら,ひろみ
+おだ,かずゆき
+あいざわ,たみお
+うえの,かつお
+まつばら,のりゆき
+たまい,かずみち
+しらい,よしお
+おおはし,こうじ
+たみや,ふみや
+はらだ,よしこ
+うすい,たかし
+こり,こういちろう
+のだ,しげひこ
+なみき,まさと
+なかお,まさみつ
+かどや,あきら
+おの,としひで
+しぶかわ,しんいち
+いわさわ,まなぶ
+たぶせ,いちろう
+おさわ,たかよし
+なかだい,けんじ
+えがしら,ひろゆき
+ささき,かつお
+ふくち,かずひこ
+よしやす,ごう
+わたなべ,こさと
+うえの,れいこ
+えとう,まさのり
+よしだ,まさお
+たけい,ゆういち
+はやし,ひさし
+またき,しんご
+もりもと,いちろう
+いはら,けんじ
+つかはら,てるお
+かのう,ともこ
+むねゆき,ひでまさ
+おおつぼ,よしたか
+やまもり,かつお
+あんどう,せいき
+やまざき,よしあき
+たきもと,よういち
+たけむら,なおかず
+むらかみ,まこと
+たかた,のりお
+ひろせ,つたひろ
+やくわ,たかし
+しんぐりょう,ようこ
+たち,まさし
+さとう,かずお
+やまもと,まさひろ
+すどう,しょうこ
+ほんま,ひろき
+おおつぼ,としお
+かざま,みつひろ
+あがわ,みほこ
+いのうえ,りゅういち
+あらい,まさち
+うえむら,ゆたか
+にしくら,まさひろ
+みやざき,よしかず
+ふくだ,もりまさ
+つりや,ただお
+たなか,ひろかず
+おがわ,こうじ
+すずき,みのる
+はまぐち,たくじ
+かめだ,かつや
+ももはら,ひでお
+ひらお,たかこ
+たかだ,なおゆき
+いけだ,よしひろ
+すずき,あきら
+たかはし,かずよし
+たなか,じろう
+せら,たいち
+たけむら,としあき
+ほりきり,まもる
+いけだ,みのる
+あらき,せきね
+おおつか,かずいちろう
+くにまつ,せいざぶろう
+うしば,たかし
+はやし,まさと
+いしい,みきお
+かだ,あきら
+やぎ,ただお
+ひらい,こういちろう
+くろせ,ひろし
+おかべ,いさむ
+かねこ,としゆき
+こじま,さとる
+にしより,みのる
+なかじょう,じろう
+はしくら,つとむ
+たかはし,たつお
+うえくさ,のぶあき
+しばた,ひろし
+たかはし,てるお
+いなば,かずと
+じゅんいちろ,あきのり
+はやかわ,ひでお
+いとう,たけし
+きもと,まさつぐ
+いだ,ひろし
+ほうじょう,かつひこ
+ほりい,つねお
+かいせ,あつし
+はしもと,やすあき
+すずき,ひとし
+かねさか,よしお
+やまぐち,ゆうじ
+すずき,まさかず
+すどう,まさひこ
+おおば,みほこ
+むらた,としこ
+あきやま,まさし
+あすま,たけお
+かわじり,ひでお
+まつもと,きょうじ
+しろやま,こ
+ふじい,あつこ
+ごとう,だいすけ
+たにあい,やすまさ
+かつぼり,まき
+ひあて,くみこ
+てらい,あきこ
+はんだ,まさこ
+みしま,ひろみ
+たかしま,かずみ
+まつだ,あきら
+こんど,のりこ
+いたや,けんじ
+まつもと,なおたけ
+いいやま,ひでお
+じっと,かつひろ
+くぼた,さちこ
+いしぐろ,えいじ
+もり,うつみ
+かんの,さちこ
+いとう,せいじ
+よしだ,りゅうじ
+まるやま,くにお
+さとう,なほ
+こうだ,ようじ
+わたに,まもる
+させ,いくお
+そとやま,かつのり
+ほんだ,てるくに
+いぬい,ゆたか
+すずき,よしのり
+こにし,よしのぶ
+すぎい,ゆきひさ
+あらき,のぶお
+ひらおか,やすし
+おおつか,むつお
+かとう,しげお
+しおの,ひろし
+かたやま,ひろのり
+ふちかみ,たけひこ
+ひらき,たもつ
+いわさき,きみお
+えのき,じゅん
+いわた,せいいち
+しゅとう,ただし
+とおやま,まつのり
+こいで,じゅんざぶろ
+たなべ,ゆうじろう
+やまもと,しゅんいち
+かいはつ,せいし
+あらい,かつじ
+うえだ,ゆうぞう
+くらおか,そういちろう
+こばやし,えつひろ
+ためちか,たてお
+よしだ,しずお
+まつもと,しげる
+さかした,かねお
+わだ,としあき
+いとう,やすお
+よしだ,かつじ
+よねだ,としひで
+おむら,まさみ
+たかぎ,しちろう
+うちやま,あきこ
+かしわぎ,けいこ
+にしだ,せつお
+おしか,たけお
+えじま,とものり
+おか,けんいち
+よしだ,やすえ
+いまい,やすしろう
+やまみち,ともこ
+あいもの,かつお
+ひの,もとこ
+たかはし,みさこ
+よこた,えいこ
+いのう,たえこ
+よしだ,ひろこ
+よしおか,あきこ
+うめざわ,うきこ
+てらお,ひろひさ
+かわはら,はるお
+はせがわ,みのる
+きし,てるこ
+はしずめ,みつひろ
+よしだ,めぐみ
+みねふじ,なおこ
+ほんだ,ゆみ
+たかさわ,みゆき
+おおはし,ようこ
+かがわ,ちか
+にしだ,まり
+いたがき,あきこ
+あきやま,のりひろ
+おちり,やすひろ
+のざわ,こうじ
+さいとう,けんじ
+きむら,ちえ
+あべ,なおと
+くすのき,ともこ
+はやし,やすひろ
+おおい,なおみ
+かみおか,はるよし
+あきやま,いさお
+ありた,かつみ
+きたむら,みちゆき
+ますむら,たかのり
+おおさわ,けん
+かわい,みのる
+いたがき,ひでお
+もり,たかお
+あおき,みきお
+ふじしろ,こうじ
+しみず,もとしげ
+むらかみ,みよし
+なかじま,てつお
+もぎ,あきお
+みうら,かずお
+たかまつ,けんじ
+たかだ,しょういち
+こんど,まさこ
+なかじま,ひとし
+ねれい,ひろし
+うしく,おさむ
+きたざわ,こ
+さっさ,のぶひろ
+いっしき,よしひろ
+かわの,のりつぐ
+いしはら,ふみたか
+かめおか,ただお
+きうち,のりかず
+ながい,ひとし
+のぐち,みちお
+おした,たかお
+よしむら,としみち
+あかほり,みつのぶ
+まるなが,よしつぐ
+よしの,こうたろう
+やの,よしひろ
+やまぐち,まさひで
+やまぐち,かつとし
+せんどだ,まさる
+やすだ,あきら
+よこえ,じゅんいち
+やました,せいざぶろう
+よしだ,とみぞう
+やました,すすむ
+やすい,かずお
+やまおか,きょうすけ
+よこせ,ともしげ
+やまぐち,けんじ
+やはぎ,やすはる
+やまおか,ひろまる
+よつや,とおる
+やまもと,じゅんこ
+よしかわ,としろう
+やました,しょうじ
+やまおか,ひろこ
+よねみつ,せいじ
+よしだ,けんいち
+やまざき,てつお
+やまもと,ひかる
+やまぐち,みのる
+やまうち,さかえ
+よしざわ,かつみ
+よしおか,かつひと
+やまもと,のぶお
+やまおか,みちとし
+やまざき,あきら
+よしむら,まさひこ
+やすだ,こうじ
+やました,せいいち
+やだ,しんや
+よしだ,いちろう
+やまもと,つとむ
+やまだ,ごろう
+よねだ,かおる
+よしだ,まさひろ
+やまだ,くすお
+やまぐち,たかふみ
+やまぐち,ふみひろ
+やまもと,たかこ
+よしだ,すすむ
+やました,しょうぞう
+やんべ,あつひろ
+やまぐち,のりよし
+やまもと,じゅんじ
+やまね,こうじろう
+やまさき,けんたろう
+やすおか,ゆきお
+やまだ,えいぞう
+よしざわ,じろう
+やじま,あきら
+やない,てつお
+やまざき,かずお
+やまうち,ふくみち
+やまざき,すすむ
+よしの,たつゆき
+やまかげ,ただのぶ
+やぎ,じつのり
+やすだ,まさお
+やまや,のぶお
+たかぐち,のぼる
+よしだ,ひろし
+よしの,こうじ
+やまむら,じゅんいち
+やぎ,かつのり
+やまだ,こすけ
+ゆかわ,まさとし
+やまもと,じょうじ
+やまたに,ひろつぐ
+やまむろ,よしかね
+よしだ,としひこ
+よこかわ,ともよし
+やまざき,こういち
+やまもと,たけお
+よしの,きよし
+やまね,よねたか
+やすなが,あきひろ
+やなか,けいいち
+やまね,てつお
+やまうち,よしゆき
+やまぐち,ゆうじ
+やまわき,しょうたろう
+やまかわ,じゅんいち
+やまだ,かずみ
+よこやま,しょうたろう
+やまもと,やそみ
+やまぐち,のぼる
+やまぐち,たかよし
+よしだ,たかお
+やまなか,かずみ
+やまもと,ただはる
+よしだ,たかお
+やまだ,さとる
+やまおか,よしとも
+よこやま,まさひさ
+やまさき,のりお
+やまもと,かつひこ
+やまかわ,まさよし
+やうち,ただよし
+よしはら,かつじ
+よこみぞ,しげる
+やまもと,しゅうぞう
+やまもと,てるお
+やまもと,えいいちろう
+よしだ,まさひろ
+よしだ,ふみひろ
+やすい,みのる
+やまぐち,しげる
+やまもと,あきら
+よこた,えいいち
+よしだ,ゆたか
+よこやま,ひでき
+やすい,かずもと
+やまさき,かずひろ
+よしおか,のぶお
+よしだ,しゅんろく
+やまだ,かつひろ
+やまもと,ようじ
+よしだ,せいぞう
+やまざき,せいしろう
+やまね,なおじ
+ゆたに,すすむ
+よねざわ,よしひろ
+よしの,だいすけ
+よしだ,たけお
+よしもり,ひさとよ
+よしわら,たけし
+やまだ,としき
+よしだ,としかず
+よしだ,むつお
+やまもと,もりひこ
+こじま,くにかつ
+おの,しげお
+まえかわ,こうたろう
+こんの,のぶゆき
+まきせ,きよし
+のむら,まさたか
+やすはら,まさひこ
+ながしま,あつよし
+きたはし,まさお
+つる,きよみち
+つくだ,みちお
+てらうち,たけし
+やまだ,さとる
+せんば,すすむ
+さえき,のりお
+おかだ,しょういち
+みやうち,ひさお
+こんど,としお
+ふきあげ,やすお
+いしかわ,ちよたけ
+いわもと,まさお
+くぼ,じゅんいちろ
+たなか,ひろかつ
+わだ,のりお
+いわお,つねのり
+くまがい,たかひろ
+すずき,ひろふみ
+たかむら,ひろし
+にしうら,せいいちろう
+みつじ,まさし
+たききた,あきら
+おうち,けんじ
+こま,あきお
+ますだ,けんじ
+かとう,としろう
+いいずか,かずひこ
+まるやま,のぶあき
+としたに,とおる
+はなぶち,まさひろ
+いまい,まさぞう
+おかひろ,つねお
+きむら,としひこ
+たじま,まさはる
+かんだ,つらゆき
+どい,おさむ
+あらがき,やすのぶ
+きゅうそじん,けんすけ
+たけうち,つねよ
+うぬま,ひでなり
+やまぐち,よしたか
+よもり,もとひさ
+しまざき,くにひこ
+とくや,としお
+やまだ,あきら
+ふかや,しげお
+えぐち,はるお
+さの,ひでのぶ
+とくの,あきら
+おおとも,さだむ
+しらおがわ,ひろし
+ひらの,たいき
+おだ,ゆうじ
+たなか,りょうぞう
+ふじた,あきら
+あらい,あきひで
+ふじた,ゆうじ
+なかがわ,ひろゆき
+なかにし,かずしげ
+はら,あきひろ
+ちば,としこ
+いしわた,としひさ
+やぐち,たけひろ
+てじま,かずお
+たつた,しげる
+くさか,たけし
+ふるた,たけはる
+ごとう,まさのぶ
+おだぎり,ただし
+くまがい,たける
+むらかみ,みずほ
+みむら,まさお
+よこい,くにひこ
+いなげ,ともゆき
+あめみや,みつお
+いのうえ,さだお
+ぬまた,じんいち
+さかもと,ごへい
+ひらまつ,さだお
+なりた,かおる
+つねみ,いちろう
+たかしま,ふさひこ
+みす,かずみ
+さきやま,よしひこ
+ふじわら,ただし
+とみた,まさひろ
+つなわき,みねお
+はせがわ,たけし
+ふくざわ,ゆうぞう
+ごえけ,あきら
+なか,まさひろ
+えばと,けいこ
+こばやし,しんいちろう
+ひらつか,きよし
+さとう,のぶお
+いのうえ,あきら
+はすぬま,まさお
+ふるはた,あさこ
+うえの,あつし
+たけなか,まさひろ
+くにたけ,よしお
+ひらた,ゆうこ
+はせがわ,げん
+ふくはら,あつし
+ふなぐち,とおる
+あまの,のりこ
+おおの,みずのり
+すわ,のりこ
+のがみ,みか
+うめの,やすゆき
+いけの,ゆうこ
+なかじま,はなこ
+いしい,きょうこ
+さいとう,ともこ
+たなか,かずゆき
+たていし,としかず
+すずき,よしひこ
+きのした,ひかる
+おおさわ,よしひろ
+いで,さきこ
+おがわ,しほ
+えのもと,わきこ
+おざわ,みずほ
+はたけやま,ともひろ
+いいだ,みつあき
+しのざき,じゅんいち
+おかだ,りえこ
+たかま,まさし
+やぎ,ひろゆき
+さかい,まさよ
+しみず,こうじ
+ほりかわ,ようこ
+ながお,こうへい
+ひらいし,まり
+さがわ,たもつ
+はらだ,まさみ
+たかはし,りゅういち
+たち,まさよ
+ひえ,きみお
+ただ,みなこ
+よしもと,ひろこ
+もちずき,ちひろ
+たなか,こうじ
+たぐち,まゆみ
+さとう,いくお
+さかした,ゆきえ
+かわしま,まゆみ
+ほりぐち,かおり
+ふくま,すみたか
+かわたに,あきら
+じびき,おさむ
+さいとう,みつる
+しおつ,いさお
+とばた,のりかず
+やまもと,まさひこ
+おふち,ひろみち
+しのはら,のぶお
+やまかわ,かずただ
+たむら,としお
+はたけやま,たかこ
+たなか,ひかる
+かなざわ,ひであき
+たかはし,えりこ
+ふじむら,みなこ
+ながしま,よしゆき
+きのした,ときこ
+こんど,まみ
+あんべ,まなみ
+さいとう,いずみ
+あさだ,みき
+きのした,ふみえ
+かどや,あきこ
+うえだ,とおる
+さいとう,もに
+たかはし,まさひろ
+いしざき,しもん
+おざわ,てるひさ
+はやし,おさむ
+やがわ,みちお
+たかはし,たみお
+とみやま,よしあき
+あだち,ゆうぞう
+あかいわ,しょうすけ
+かがや,ゆきのぶ
+あらい,さおり
+おしきり,たかし
+やまむら,えいじ
+たかやま,としゆき
+よこやま,おさむ
+ばん,つぐお
+いずみ,よしのり
+みずの,ただお
+ぶんや,みのる
+てらおか,しょうじ
+みやした,みのる
+あさま,けいこ
+ささき,てつお
+にしお,よりと
+ふるや,てつお
+いまだ,ひでゆき
+いしはら,いくえ
+はしもと,みきお
+まるやま,ともゆき
+かじ,かずたか
+かねこ,はなこ
+なかだ,のりひと
+ちざわ,なほ
+さわ,あさこ
+とがめ,みわこ
+よしだ,げん
+おおの,ひろこ
+やこ,まさひこ
+いしかわ,あきのり
+ことだ,ひろこ
+さがわ,かずま
+のぐち,かずまさ
+でんぼ,ひろふみ
+はるき,あきひこ
+いね,しょうえい
+おおの,くにお
+かねだ,たつひこ
+のぐち,あきら
+おおば,ひろみつ
+おた,とくいちろう
+しもまき,やすお
+わたひき,ゆうこ
+やまもと,まり
+ふじむら,まりこ
+そうみや,けんじ
+しま,くみ
+ささき,たかゆき
+かがわ,れいこ
+たけうち,くみこ
+さいき,みよこ
+いとう,のりこ
+きむら,ようじ
+たばた,たかひろ
+くめ,とよあき
+たかだ,まりこ
+たむら,みえ
+たかまつ,まきこ
+しろした,しゅうさく
+かとう,ともゆき
+あわい,としのり
+ほさか,のりこ
+たなか,るみ
+みひら,しゅうさく
+さとう,けいこ
+おざわ,ゆきお
+すずき,けんじ
+みやざき,りゅうぞう
+もりたに,ゆかり
+いわぐろ,つとむ
+うえま,しょうこ
+ふかた,ちか
+ひろせ,あきこ
+おかだ,ひろみ
+かとう,ありか
+まき,さゆり
+のだ,ともかず
+くぼ,きょうこ
+にしきおり,つぎお
+やの,じゅんこ
+かわむこう,なおき
+やすむら,みよこ
+とにし,ともこ
+やまもと,ひかる
+しもだ,だいすけ
+おおたに,くにお
+おのさと,はん
+かなざわ,ひろあき
+おかもと,みわこ
+さいとう,みなこ
+かしわばら,のぶこ
+たかはし,まさのぶ
+さいとう,まなぶ
+まつだ,よしあき
+たちざき,わかこ
+こんど,ともこ
+しみず,だいすけ
+ながおか,かおり
+なかがわ,あつし
+たかと,ひろゆき
+きむら,たかし
+なるせ,きよみ
+おぐま,かえ
+たかはし,みなえ
+きくち,せいこ
+さとう,はじめ
+えんど,まりこ
+たむら,とものり
+やまもと,こうじ
+あさい,よしひろ
+もり,おさむ
+たかしろ,めぐみ
+おか,さいか
+かとう,としや
+いぐち,さちこ
+たなか,きょうこ
+よしだ,こうじ
+あきもと,まどか
+にしい,じゅんじ
+わしおか,こうじ
+いぬまる,ひろじ
+ほし,しずか
+よねやま,まさのぶ
+くろべ,ゆういち
+いしい,ひさえ
+ひぐち,じゅんいち
+なかだ,たかはる
+おのでら,なおこ
+とだ,としゆき
+まえだ,ひろこ
+ながい,ゆきこ
+こぬた,ひさよし
+しばさき,かつとし
+うかい,あきか
+すずき,ちはる
+ひらき,のぶこ
+なかむら,ゆうこ
+やまだ,まさみ
+かどくら,まさし
+たかさき,こうじ
+なかた,きよみ
+たにかわ,ほずえ
+にしむら,まさや
+みなみ,あやみ
+おおぬき,みのる
+さとう,ひろし
+たかはし,たかお
+ひだ,おさむ
+さくま,しま
+にえだ,たかし
+よこい,れみ
+よねくら,たけお
+ばんば,りえ
+やまだ,あきひで
+いまむら,るりこ
+いけだ,ちあき
+なかむら,みなこ
+すどう,りえ
+なかそね,かおり
+おおさわ,ちかこ
+さとう,しちろう
+えいどめ,ゆき
+いがらし,みか
+たや,たかこ
+おおひら,よしこ
+さかもと,さとし
+すぎもと,こうじ
+かとう,みなこ
+よしい,ただひろ
+いわや,ようこ
+きのした,きょうこ
+すぎさわ,かずよ
+わだ,みよこ
+みやした,えみこ
+うえの,のぶこ
+おおたき,ゆみこ
+いしばし,きょうこ
+いわした,まさお
+いしかわ,ひでひこ
+きし,たてお
+まるやま,ひさお
+ほんま,たかお
+くすもと,いさお
+いまの,きみひで
+おおにし,せいぞう
+やまだ,しょう
+ふじおか,とらお
+はなだ,やすかず
+しばた,あさお
+みやした,ゆきお
+かさはら,まさお
+おおやけ,はるお
+いまい,くにお
+こせき,まりこ
+おおた,のぼる
+まちい,かずひろ
+きくち,せつお
+ひぐち,かずえ
+みなよし,じゅんじ
+すずき,ひろかず
+なんば,なおき
+おおにし,だいさく
+はやしだ,たかとし
+たなか,ひでひろ
+かねこ,かずのり
+つちや,ともゆき
+いいだ,えつお
+ふるや,かずお
+なかむら,みつぐ
+はるはら,たかし
+ほりえ,よりしげ
+おおた,たけし
+すずき,やすつぐ
+おと,まさとし
+なかがわ,まゆみ
+かわしま,ようへい
+てらもと,ゆうじろう
+きむら,あきら
+よどなわ,ゆかり
+こだいら,ひであき
+かくらい,ようこ
+おぐり,ひろよし
+はた,けんじ
+まつもり,かずお
+よしおか,せいじ
+しげた,みちあき
+かわぐち,ともひろ
+かねこ,まさお
+あさひ,ただあき
+わたなべ,こうじ
+ありやま,つぐお
+つじた,たつお
+よしはし,ひでお
+みしま,せいし
+さとう,かつじ
+かねまる,えつひろ
+かねこ,やすし
+えじま,ひろあき
+みつくち,じゅん
+もり,きみお
+おち,せいいち
+まえかわ,かずお
+たなか,まさのり
+おりがさ,まつのり
+こせき,かおる
+ひらやま,ただし
+こぼり,えつよし
+なかうえ,たつお
+すとう,まさお
+ごとう,きよひこ
+つかもと,ひろみち
+えびはら,よしあき
+もりの,ひでのり
+すずき,まさあき
+よしだ,まこと
+いまい,まさき
+ひの,むねたか
+よしだ,みな
+おにずか,すみただ
+たかぎ,まさひこ
+おむら,かつひと
+うちやま,えつこ
+くろかわ,よしのぶ
+やました,たきお
+にしだ,ひさえ
+かしわぎ,ひろし
+かねこ,ゆきこ
+くまだ,みきお
+こじま,なおずみ
+しらい,てつひこ
+ふるかわ,りえ
+むしう,ただあき
+よしの,としお
+すぎうら,せいいち
+ふじさわ,まり
+さとう,あきひろ
+えざき,たかゆき
+むらかみ,たかお
+にわやま,まつもり
+やすの,みか
+どうだ,ともひこ
+かじい,もなみ
+たなか,ようこ
+まつなり,いさお
+おおばやし,こうきち
+たかはし,たくや
+まつむら,やすまさ
+こもり,まきこ
+のぞえ,かずえ
+おの,きよみ
+かんの,こずえ
+さとう,けいこ
+のなか,わかこ
+かわはら,ゆみ
+なかむら,まゆみ
+やました,としかず
+こういち,ももえ
+いたや,ひでお
+やま,ふみこ
+やまもと,そういちろう
+くらた,やすこ
+かわず,いたる
+みかみ,こういち
+たきがわ,よしかず
+たなか,ひろあき
+みやた,たかてる
\ No newline at end of file
diff --git a/src/com/ibm/icu/dev/test/perf/data/collation/TestNames_Japanese_k.txt b/src/com/ibm/icu/dev/test/perf/data/collation/TestNames_Japanese_k.txt
new file mode 100644
index 0000000..8a38587
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/perf/data/collation/TestNames_Japanese_k.txt
@@ -0,0 +1,22749 @@
+﻿#/**
+# *******************************************************************************
+# * Copyright (C) 2002-2004, International Business Machines Corporation and    *
+# * others. All Rights Reserved.                                                *
+# *******************************************************************************
+# */
+
+アキモト,ヤスオ
+アキバ,シゲル
+アライ,ヒデアキ
+アライ,ケンイチ
+アカガワ,トシオ
+アラキ,セイゴ
+アイカワ,ノリオ
+アキノ,ユキオ
+アキヤマ,ツヨシ
+アサイ,ヒトシ
+アベ,マモル
+アリガ,ツトム
+アキタ,ヨシテル
+アカツカ,カズヒコ
+アライ,マサハル
+アサハラ,カズオ
+アツミ,マサアキ
+アワヤ,ヒトシ
+アサカワ,トシアキ
+アオキ,オサム
+アワズ,アキラ
+アキクサ,ヨウスケ
+アオヤギ,ハツカズ
+アジサワ,シュウイチ
+アイソ,ヤスシ
+アオシマ,チヨカズ
+アトウ,マサヒコ
+アサノ,ヨシヤ
+アリガ,ソウイチ
+アオキ,リョウヘイ
+アイカワ,ユキオ
+アキタ,マサヒロ
+アサノ,ノリアキ
+アサト,ヒデシ
+アラキ,ヨシカズ
+アンドウ,ヤスシ
+アサカワ,ヒロシ
+イイダ,マコト
+イワサワ,マサキ
+イシカワ,マサオ
+イノウエ,ヒロヒト
+イシハラ,ヨシノリ
+ウカジ,サチコ
+ウメタニ,カツヒコ
+オケタニ,ケンジ
+オオスギ,アキヒロ
+オオカワ,ミキヒコ
+カトウ,マサトシ
+カモ,マサアキ
+クマガイ,マサシ
+コンド,アキラ
+スギモト,オサム
+ハマサキ,ヨシノリ
+チダ,シュンジ
+ナカムラ,ケイゾウ
+ナガタ,チエコ
+サワムラ,カチコ
+ナルオ,ヨシノブ
+ナリタ,ユミコ
+ハセガワ,ヒロコ
+フジタ,ケイコ
+フジワラ,タカコ
+ブヨウ,テツオ
+ホリ,コウジ
+ミナミムラ,チアキ
+ミヤジマ,チヨリ
+ヤマダ,マリ
+ヤマグチ,タカシ
+ヤナギハラ,ミドリ
+ヨシノ,シンイチ
+ニイダ,クニヒコ
+オオイヤマ,ユウコ
+カナガワ,イチロウ
+キムラ,リエコ
+ツカザキ,ミホ
+カワダ,ナオコ
+アサカワ,ミサコ
+シモツ,マサアキ
+オカ,タカヒト
+オガワ,コスケ
+タイラ,ショウイチ
+イシノ,キヨナガ
+キミシマ,アキラ
+サトウ,テツヤ
+ヤマダ,オサム
+オオタ,ナオミチ
+マエダ,ヒデトシ
+カザラシ,ミツル
+ゴトウ,カツノリ
+ホシ,マモル
+クロダ,シンヤ
+ツカワキ,トシヤ
+イナガキ,マサヒロ
+イワモト,タモツ
+ツルタ,タカシ
+イシジマ,リョウヘイ
+ヤマナカ,ヒロトシ
+ウエキ,アキコ
+ニシムラ,アツコ
+ワイダ,タダシ
+ヨシダ,ルミ
+シブヤ,ユタカ
+アトウ,マサノリ
+ミヤタ,カオル
+オオタキ,ツギオ
+キヨオカ,マコト
+オオタニ,タカシ
+ニシワキ,ナオミ
+ニシヤマ,タカシ
+ミシマ,タカユキ
+カトウ,ヒロシ
+イマオ,ミズホ
+オザキ,コウジ
+セキヤ,マサユキ
+ツクダ,ノブユキ
+ミヨシ,ノブマサ
+ヨシミ,タカユキ
+ササオカ,タカシ
+オシマ,チハル
+クボタ,チズコ
+シバヤマ,シュウゾウ
+オオクボ,トナミ
+タチノ,ジュン
+ワダ,ミチヨ
+マツシタ,マサモリ
+コムラ,ヤスヒコ
+マキシタ,ケイコ
+アカオ,ヤスヒロ
+ハシモト,ヒトシ
+オオノ,カズオ
+セキモト,ヨシオ
+マエダ,チカラ
+ミツホリ,ナオキ
+ミナミゾノ,マサキ
+セガワ,カオリ
+スズキ,トヨジ
+キタガワ,ヨシタカ
+ヨシヤス,ジロウ
+ヤマモト,マリ
+カトウ,ヒロシ
+カワカミ,ヨウ
+マキノ,ナオキ
+スズキ,マサオ
+フルサワ,サトシ
+ハヤシ,ジ
+イマニシ,トシヒコ
+ミヤモト,ユカ
+マキ,クニアキ
+コイデ,サホ
+ワタナベ,マサコ
+オオハシ,ヒトシ
+アカオ,アキオ
+アサイ,カズコ
+イマイ,タカシ
+キラ,マサヒコ
+ニシムラ,テルキ
+ヨシカワ,トシユキ
+ミナミ,ケンジ
+ツルタ,ノリオ
+ナカムラ,ジュンイチ
+タナカ,ケンジ
+マツウラ,タケシ
+スギタ,ジ
+カワイ,トシオ
+コクボ,サツキ
+ツダ,マコト
+ミヤタケ,トシタカ
+クロサワ,ヨシカズ
+スミヒラ,マサヒコ
+タカキ,マサオ
+イシト,コウキ
+ヤマダ,モトカズ
+ニイツ,ノブアキ
+イワムラ,カンジ
+カワナベ,ヨシヒロ
+ナガイ,ヒロユキ
+ヤマネ,チアキ
+イマイ,タカユキ
+ナカオ,イサオ
+オシキリ,フミハル
+イシカワ,ジュン
+オカジマ,ジュン
+オオニシ,マサハル
+スズキ,テツ
+ヤマナカ,サツミ
+タニグチ,カズヒロ
+カワベ,トキオ
+コンノ,ミキ
+サトウ,ヤスヒロ
+タカヤマ,シンイチ
+モリミチ,イタル
+ホリカワ,カツミ
+フクイ,タマコ
+キタムラ,アキラ
+ナカハラ,ヒロミ
+イチイ,ヒデノリ
+イワサ,カヨコ
+スズキ,シュンジ
+ヨネタニ,カツフミ
+タノ,タケシ
+シバタ,ヒデヨ
+イノウエ,マサノリ
+イシカワ,トシオ
+キシ,マサミ
+アワエ,アツシ
+タケオ,ヨシアキ
+キノシタ,カズヒコ
+ツカダ,フミアキ
+アリドメ,トシユキ
+キッカワ,トシアキ
+オガサワラ,ヒサカズ
+ナガセ,タカヒロ
+ハルヤマ,アツヒコ
+オズ,ヤスオ
+コサカ,トシカズ
+シラサキ,トオル
+タナベ,ツトム
+イケガミ,ツヨシ
+コバヤシ,ジュンイチ
+マツバラ,ナオト
+ナカガワ,モリヒロ
+オガワ,セイジ
+ヨシダ,マサノブ
+イケ,サダノブ
+タニグチ,マサミチ
+マエダ,ヒロシ
+ヒラノ,タカユキ
+シミズ,キミコ
+ヤマダ,アキトシ
+タナカ,ヒロアキ
+コマツザキ,マモル
+カトウ,マサカズ
+オワ,ノリコ
+イワムラ,ヒロタダ
+イリエ,カズユキ
+アカヤマ,マサユキ
+アキモト,ヒロアキ
+カミムラ,アキヒコ
+スミタ,カオル
+ハマサキ,アツシ
+ヤスダ,マモル
+タケムラ,ミキヤ
+ムラカミ,トミツグ
+ナカジマ,ヒサトモ
+モリモト,コウジ
+セキグチ,タカユキ
+ナカジマ,マサヒコ
+キガワ,ヒロヒサ
+タカヒラ,タカシ
+モチダ,アツシ
+カメヤマ,タカシ
+オヤマダ,マサヒサ
+タナカ,テルヒサ
+ホンマ,シンジ
+キノシタ,ヤスヒコ
+シノツカ,ノブシゲ
+アイハラ,ヤスフミ
+ナガマツ,エイジ
+トヨムラ,マサアキ
+ヒラノ,タカシ
+キムラ,ジュン
+イケダ,セイジ
+イシハラ,ユウコ
+ノグチ,マサル
+コケツ,ミツマサ
+オクヤマ,アツヒコ
+ハマグチ,シンジ
+ツジサカ,ヒデアキ
+イチカワ,サトル
+ヨシダ,セイゴ
+ヤマダ,ヨウイチ
+シミズ,ヤスシ
+サカガミ,ノリカズ
+コスギ,ヒサヒコ
+ニシダ,セイジ
+イイダ,カツラ
+ウチダ,ヤスミ
+モトヤマ,チハヤ
+ミヤモト,イクヨ
+コバヤシ,ヤスシ
+カトウ,ヒロユキ
+シライ,サトシ
+ハギワラ,コウジ
+ヤマウチ,ユキヒデ
+ミツハシ,カオリ
+モンジ,ヨウイチ
+タキモト,ノリコ
+オクダ,シュウジ
+ツカモト,シュウジ
+ムコハラ,ヤスイク
+サルヤ,ミチオ
+オカジマ,トシヒコ
+ホシノ,ヒサト
+ホシ,ヒロフミ
+フシミ,コウイチ
+タカハシ,タツヤ
+ニシヤマ,シンジ
+ツルマチ,ショウイチ
+トミタ,ナルト
+ウチダ,トオル
+オオタカ,ユウコ
+サカイ,タカヒサ
+ソガベ,カツミ
+ワダ,ケンジ
+コサカ,マサミ
+アソ,アケミ
+アライ,トシハル
+スギムラ,シゲオ
+アキヨシ,カズオ
+アサカワ,ツトム
+ワダ,サカエ
+イケダ,コウイチ
+オカモト,リョウジ
+アオキ,マサル
+ウエサワ,ツヨシ
+ウヤマ,ヒデアキ
+ナカハマ,ススム
+カワモト,マサユキ
+スエマツ,ジュンジ
+ナガイ,サトシ
+ナカハラ,ユウゾウ
+ナワタ,ナリアキ
+カツザワ,ヒロシ
+ヤマウチ,ミユキ
+アカギシ,ツヨシ
+クサズミ,トシヒコ
+ホカリ,ヒロシ
+カトウ,オサム
+キリウ,ヒロキ
+オガワ,マサト
+タナカ,マサヨシ
+アイムラ,ツトム
+イガラシ,マサト
+カワワキ,タカミチ
+マエサカ,トモミツ
+マツシマ,アツシ
+マツモト,ヒデト
+カタイ,マサヒロ
+コジマ,マサアキ
+ツジモト,トオル
+ナワタ,サトシ
+フジタニ,カズヒコ
+キセ,テツロウ
+サカグチ,ジュンイチ
+スズキ,トシユキ
+ハマサキ,マサヒロ
+ヨシダ,ヒトシ
+ホッタ,シゲヒト
+マスコ,ヒサオ
+タケナカ,コスケ
+イシイ,ハルキ
+タサカ,ヒロシ
+マツダ,マサヒロ
+ハタ,タカシ
+アキヤマ,ユタカ
+タカハシ,ヤスヒト
+ヤマカワ,ショウジ
+ヨコチ,マサヒロ
+ヨネタニ,キイチロウ
+フジノ,ユウスケ
+ハセガワ,カツトシ
+フジタ,マサユキ
+アンラク,マサコ
+ハシモト,ノブユキ
+イナダ,レイコ
+ユゲ,マサヨシ
+イマダ,イズミ
+サカモト,カズヒサ
+トヨナガ,ヤスヒロ
+ハシモト,テツオ
+ハナイ,ヨシノリ
+シミズ,タツオ
+ナカムラ,ヨシハル
+カジムラ,ヨシヒコ
+イシガキ,ケンゾウ
+ハットリ,マサオ
+アマノ,リョウ
+ミカミ,カオル
+フルテラ,マユミ
+マミヤ,ヒデキ
+ツルノ,ムツコ
+アサイ,ヤスキ
+ノムラ,シゲオ
+ヨコヤマ,シンジ
+イケダ,ユタカ
+アンドウ,アキオ
+オカヤス,ヤスコ
+ゴトウ,ヒデアキ
+カワシマ,タカコ
+ハギワラ,エリ
+アタラシ,ユミコ
+タカヤマ,トシヒト
+ニシヤマ,トシユキ
+エチゴ,シンイチ
+ヤマザキ,ヨシヒロ
+ムロヤ,テツオ
+キムラ,ユキオ
+ナカハラ,フミオ
+ウエノ,タカシ
+ヨシダ,ケンタ
+ツカモト,タダシ
+オザキ,トオル
+アシカワ,ヤスシゲ
+ネギシ,トモノリ
+キュウノ,シュウイチ
+サトウ,ヨシヒデ
+イノウエ,カズヒコ
+キクズミ,マサル
+マツモト,ダイサク
+ハヤシ,タカオ
+フクオジ,カンジ
+ナルセ,ケンタロウ
+マツモト,マサキ
+モリ,マサシ
+ミキ,ノブオ
+ナカタニ,ヨシアキ
+ミヤガワ,フミノリ
+アリヨシ,イクオ
+シライ,ヨシユキ
+ミナミ,マサヨシ
+トリゴエ,フジオ
+コスガ,タダシ
+ツジノ,カズヒロ
+オグラ,ヤスヒロ
+オリタ,チカシ
+アミモト,ジュンイチ
+オサカ,トオル
+ハヤシ,ヨシヒロ
+ミナミ,ミノル
+ヨシダ,トシヒコ
+ニシハラ,ヨシオ
+オクガワ,マサトモ
+ツジ,テルユキ
+ナカイ,タカシ
+ニシムラ,ツグオ
+ニタナイ,ケンゴ
+クドウ,ヒロシ
+サイ,タカオ
+ショウ,マナブ
+イノウエ,カオル
+タニグチ,ヒロタネ
+ナカニシ,シンジ
+オオモリ,ヒロユキ
+クマガイ,タカユキ
+イシアイ,トヨカズ
+ハギハラ,カズノリ
+タガタ,ケンジ
+スズキ,ミチオ
+クボ,ゼンサク
+カナウチ,シンヤ
+ニシオ,ヒデキ
+イナダ,ヒデノブ
+タケイチ,シンジ
+アンドウ,マコト
+マツナミ,ショウイチ
+ミナクチ,シュウサク
+カナウチ,ナオキ
+オオイヤマ,ノボル
+マスダ,ショウジ
+ヤギハラ,トシオ
+ミズノ,ケンジ
+ノブクミ,トオル
+ナダ,タカアキ
+タケタニ,フトシ
+イマイズミ,イチロウ
+イナダ,イサオ
+イマニ,タカフミ
+オキ,マサヒロ
+フクシマ,ヨウスケ
+イイオ,ヒロトモ
+イシダ,カツヤ
+ヒラタ,コウジ
+イタガキ,カズヒロ
+ヤマフク,サトシ
+サトウ,ノリオ
+ナカガワ,リョウ
+オサカ,シュウイチ
+オイカワ,ノブアキ
+カシオ,ヨシヒロ
+ホシザキ,シゲキ
+セキジマ,コウジ
+オカマエ,ノリヒロ
+サトウ,タカシ
+コイデ,タカナオ
+タカハシ,セイジ
+オガワ,コウイチ
+テラシマ,タクオ
+ヤマシタ,マサアキ
+ノセ,ヒデユキ
+マツマエ,アユミ
+ヨシタ,ノリアキ
+ムラタ,トオル
+ハラ,ノリヒコ
+ヤマウチ,ケンジ
+カミ,カツユキ
+スガイ,タツユキ
+タカノ,ヨシノブ
+トコロ,ヨシヒロ
+スズキ,ススム
+ササキ,アツユキ
+ツノダ,テツロウ
+ヤマサキ,テツヤ
+ミウラ,カツミ
+オダギリ,アツコ
+ハヤシ,シンチョウ
+トミオカ,ヒトシ
+イグチ,セイイチ
+コンド,タカシ
+クボ,ヒデオ
+クラヌキ,キョウコ
+トミマツ,ナオコ
+クロカワ,マサアキ
+ノザワ,スミオ
+カワサキ,クニアキ
+タケダ,カツヤ
+シノハラ,アキヒロ
+フルヤ,シゲル
+ナカムラ,サトル
+ヤジマ,トオル
+ニシガキ,キヨシ
+ナカガワ,ソウ
+ヒラヤマ,シュンイチ
+ヤマグチ,ムツヒロ
+ヨシムラ,ユウジ
+ツダ,タカユキ
+カツライ,ワタル
+ミナイ,トシカズ
+タキグチ,カズオ
+ワケベ,ヨシヒロ
+ニシカワ,マサヤ
+シラガキ,ヒロアキ
+ババ,マサカズ
+アカリ,リョウジ
+アベ,タクヤ
+カイ,クニヒロ
+オオモリ,ヒデカツ
+スズキ,タカシ
+ナガサワ,ヒトシ
+サワダ,エミコ
+アズマ,ノブユキ
+オノ,ヒデキ
+カワニシ,ノブヒデ
+マナベ,カズヒロ
+アリヤマ,ユウジ
+ニシカワ,キヨシ
+アツミ,シュウジ
+イトウ,ヒロユキ
+ヒロタ,トシヤ
+ホカゾノ,カズト
+ホシノ,ヤスヒロ
+ヤマグチ,マコト
+アガタ,コウジ
+マルオ,ヨシユキ
+コイデ,ヒロアキ
+カミムラ,マサヒデ
+サイトウ,ナオキ
+フクミツ,アツシ
+ヒラヤマ,ヒカル
+サイトウ,テツヤ
+イケオ,ミノル
+フルカワ,ジュンイチ
+イイダ,ヒロアキ
+ミヤザキ,モトヒロ
+ヨシダ,ヤスユキ
+キクタ,エリコ
+チバ,テツオ
+トリヤマ,リツオ
+エザワ,リュウタロウ
+オオバ,ヨシタミ
+ヤマモト,オサム
+ニシカワ,マサノブ
+エンド,マサハル
+フクイ,オサム
+ハマノ,ヨウイチ
+キタハラ,ケンジョウ
+サトウ,ユキヒロ
+マツオ,マサフミ
+トヨタ,ヒデヤ
+ヒラモト,トシヒデ
+ヤマモト,コウタロウ
+ハマダ,マユミ
+イワカミ,ミノル
+クボ,テツオ
+エンド,カズヒロ
+カゲヤマ,マサノリ
+ニイヤ,トモユキ
+コウチ,ユウスケ
+アダチ,シゲユキ
+ハヤシ,シュンジ
+ナカノ,マコト
+イシハマ,マサヒロ
+コクボ,リュウイチ
+カワノ,ハジメ
+ナカジマ,ノリヒコ
+タイラ,ツヨシ
+タケギ,リツオ
+モリシマ,トモコ
+ナカムラ,ヒロアキ
+ノグチ,ヒロキ
+アラキ,ヤステル
+アラ,ヒロシ
+イトウ,ナオコ
+ハヤサカ,フトシ
+コツカ,マサカズ
+タケウチ,ヒロシ
+イワタ,タカシ
+マエダ,ヨシオ
+ホソカワ,マサヒロ
+アライ,ヤスヒロ
+オオクラ,カンジ
+タケコシ,アツシ
+ヤマグチ,ケンジ
+シミズ,カツトシ
+イトウ,ヨシツグ
+イズミ,カネミツ
+ゴトウ,ソウタロウ
+オオツボ,カズミ
+カミコガワ,シンイチ
+タケイ,サトコ
+ミヤハラ,マサシ
+アワジ,アツオ
+ウシロダ,カオル
+モリイズミ,ハジメ
+ナガノ,アツシ
+タナカ,ムネユキ
+フカエ,ケンジ
+フルヤ,ミサオ
+ミズヒキ,ヨシオ
+クボ,ミツヨシ
+タグチ,フミアキ
+ナカオ,ツギト
+ヤマシタ,ユウイチ
+クロキ,ショウゴ
+マツダ,ケンイチ
+オダジマ,ナホミ
+ホリ,ユキオ
+タニグチ,ツネヤス
+アライ,トシノリ
+ゴトウ,テツジ
+トネガワ,ノリユキ
+モリタ,タカコ
+フルカワ,シゲオ
+ユキ,ヨシノリ
+シライシ,タカヒロ
+イケヤ,サチコ
+ワタナベ,タツオキ
+タニグチ,コウイチ
+マスダ,シノブ
+ミズグチ,ジロウ
+ハヤミズ,ユミ
+ホカリ,アキヒコ
+イシイ,ノリヒコ
+シライシ,マサヒコ
+シモカワラ,シゲヒロ
+モリモト,トモコ
+イトウ,ヒロシ
+オオヤ,ケイジ
+ミヨシ,ミノル
+シバタ,ノリヒロ
+タンザン,トモヒコ
+イワサキ,ヒデカズ
+フクイ,サトシ
+モリバヤシ,カズヤ
+ヤマダ,ヒデミ
+フジワラ,サトシ
+ナツメ,ヤスト
+シノハラ,ヒロシ
+オサダ,マサシ
+フジハラ,タケヒト
+フジモト,ヒロミ
+キノ,ヨシオ
+ヤマモト,モトキ
+イシジマ,モリヒロ
+イガ,アキラ
+ナカエ,ダイジ
+ヤノ,ユウジ
+カナミツ,オサム
+スズキ,テルオ
+タカダ,リョウコ
+イシバシ,ヒロユキ
+オオツボ,ミツハル
+スギ,タカシ
+ハヤシグチ,ヒロシ
+テラシタ,カズオ
+シモヤマ,ヨシフミ
+ミヤザキ,ミツル
+モリ,ヤスヒロ
+ヤマモト,ヒトシ
+デアイ,キヨヒロ
+ホリ,トシユキ
+アネザキ,カズオ
+クボタ,タカヒロ
+ゴ,マサトシ
+ヒキダ,ヒロシ
+サカグチ,ノリアキ
+ヨシイ,タカシ
+キタハラ,カツト
+フジイ,ミドリ
+ナメキ,ヤスコ
+ヨシムラ,トシオ
+タムラ,ダイスケ
+ウミノ,ヒロシ
+アンドウ,ヒロシ
+ヨシモト,タケシ
+ネモト,ヨシフミ
+ミヤザキ,マサヒコ
+タカモリ,チエコ
+クマガイ,クニオ
+ゴウダ,コウタロウ
+ハタ,コウイチ
+クズミ,サチコ
+ナツイ,イクオ
+シマダ,ヒデオ
+オオツキ,カズヒロ
+マミヤ,ヒロカズ
+サトウ,ケンジ
+コバリ,ヒデユキ
+ササキ,ヤスユキ
+カネコ,マサキ
+オノ,トオル
+オオヤマ,ヨシエ
+マトバ,マサハル
+イタクラ,ジュンイチ
+オダシマ,カツロウ
+シイキ,ノリコ
+シバタ,カズヒロ
+カツラ,チカコ
+アライ,ヨシノリ
+サイトウ,ツヨシ
+マツモト,マサノリ
+ウエヤマ,ミツナリ
+マノ,シンイチ
+ミサオ,ナオキ
+ソノベ,キミユキ
+スズキ,アキオ
+ヤタニ,キョウコ
+ムタ,マナブ
+マルヤマ,フミアキ
+フダ,タカヨシ
+コバヤシ,ケイイチロウ
+ワタナベ,カオル
+オダ,マコト
+オフチ,マサオ
+タナカ,シゲオ
+サワキ,マサシ
+サイトウ,ヒロシ
+ハギノ,ノボル
+ウシヤマ,タカシ
+オクヒラ,ノブヒロ
+ヨシイケ,サナエ
+コンノ,ユウコ
+ノダ,トシオ
+エンド,トシユキ
+スズキ,ミツオ
+タナカ,ヨシヒロ
+キド,ケイジ
+イトウ,マサノブ
+フジワラ,トシハル
+ハセガワ,アキラ
+マスモト,ケイジ
+カイ,ヒトシ
+タカハタ,トモコ
+ヒデシマ,カズノリ
+タカヤマ,シゲキ
+ミヤキ,ユタカ
+フセ,カズヒコ
+モモイ,ヒロヤス
+ツユキ,ミツグ
+カワハラ,シゲル
+マツイ,アキヒロ
+ハナワ,マサヒロ
+ヒワダ,テツヤ
+マスイ,タカシ
+カトウ,タダツグ
+タケマ,フミオ
+シライシ,ヨシオ
+フルカワ,ショウイチ
+テジマ,アキラ
+アキモト,サトシ
+スギヤマ,ヒロアキ
+ナンブ,ユキヒロ
+ツジノ,ケン
+テラサカ,イッシン
+サカイ,ヒデアキ
+クボ,アツシ
+マルタニ,マサヤ
+タカハシ,ミノル
+マツウラ,シンヤ
+タナカ,センジ
+ユザワ,タカアキ
+タカハシ,カズヤ
+オオバ,シンゴ
+マエカワ,トオル
+ニワ,トオル
+カワムラ,マサキ
+コイケ,カズエ
+クリシタ,トシユキ
+ヒロセ,オサム
+コンノ,タクヤ
+ハセガワ,ヒロヒコ
+イトウ,ヒロシ
+キザキ,アツシ
+エナミ,ノリアキ
+ツカナカ,フミアキ
+サカモト,ヒロミ
+マツバラ,ヒデオ
+テライ,シゲアキ
+オシタ,タカヨシ
+タナカ,ヨシアキ
+ヤマモト,マナブ
+イシグロ,ヨシト
+ハシモト,スミコ
+サトウ,ヤスヒロ
+ヤマモト,トオル
+フルカワ,トシノブ
+ヤマダ,ヒロト
+イクタ,ショウコ
+サトウ,ユウイチ
+ワタナベ,カズヒロ
+カコ,タツジ
+マスダ,ヒロノリ
+カミジ,タカユキ
+イハラ,カズヒロ
+アサミ,カズヒロ
+ナカジマ,タカシ
+コタキ,テツヤ
+カワモト,エイイチ
+カワシマ,カズヒコ
+アズマ,リュウジ
+ナカノ,シュウイチ
+ヒラノ,サトシ
+タカハシ,マサル
+フカヤ,モモキ
+オオバ,タケシ
+サクライ,ヒロアキ
+サカイ,イッセイ
+アオキ,タクオ
+ヨシダ,ヤスシ
+コハシ,マサノリ
+マツウラ,テッペイ
+サトウ,オサム
+ニシキオリ,トモコ
+ミヨシ,ヨシヒサ
+コスギ,ツカサ
+サトウ,タカイチ
+フジイ,ヨシヒロ
+フナダ,カズヒコ
+スギタ,トオル
+ショウダ,カズヒロ
+モリシタ,トシオ
+ヒラ,ヒトシ
+シンタク,ヒロユキ
+ヒガシダ,トシユキ
+クリタ,マサヨシ
+イナダ,ユウサク
+ニシノ,トシヤ
+イケジリ,ノリアキ
+ナカムラ,ナオヒロ
+ナカカド,ヨウイチ
+イノマタ,ヒロシ
+ツルミ,ヒロヨシ
+ヒラモト,シゲキ
+ミヨシ,フミアキ
+アワノ,タカシ
+アキタ,ヨシエ
+ヒガシヤマ,タケシ
+サトウ,ヒロミ
+カワサキ,ケイイチ
+マルヤマ,ハツオ
+スナガ,ヒデキ
+イマイ,タミコ
+フジイ,ユキオ
+マキタ,ミツオ
+イトウ,タツシ
+タカハシ,リュウイチ
+キリマ,シンジ
+オオニシ,トモユキ
+ミノシマ,タケヒト
+サトウ,カズタカ
+ヤマシタ,タカユキ
+ミタムラ,マユミ
+サトウ,シゲル
+トマツ,タマミ
+エビシマ,ヤスユキ
+ワダ,カズヤ
+スズキ,キヨタカ
+スガハラ,ミツル
+タグチ,ヒロム
+トガシ,マサヒコ
+ナガハラ,サトル
+ヤマモト,ケイコ
+タケダ,マサユキ
+サトウ,ミノル
+タカミヤ,ヒデノブ
+アオキ,タカヒロ
+コヤギ,スミタカ
+オノザキ,リョウスケ
+モリタ,ノリコ
+サクラギ,ユミコ
+オカサカ,ヒロノリ
+ヤマグチ,コスケ
+カワシマ,ヨシノリ
+イワノ,カズノリ
+ゴウコ,ヤスハル
+モリタ,ヤスジ
+シゲタカ,ナオキ
+テズカ,エイサク
+オタ,ツヨシ
+ヤマダ,マサハル
+フカダ,ヒサユキ
+ハセベ,モトアキ
+マツノ,アツシ
+ツジカワ,ケンイチロ
+マツモト,カツミ
+セノオ,ハジメ
+ノムラ,サトシ
+アライ,トヨシゲ
+オグリ,スミエ
+ジンノ,マサヒロ
+ヒロズミ,ミノル
+マツイ,ススム
+シバザキ,アツシ
+イノウエ,ヒデオ
+タナカ,ヒデカズ
+サソ,ナオフミ
+シラハマ,アキヒコ
+タナカ,ナオキ
+ナカムラ,ヤスヒロ
+イシガミ,ヨシアキ
+シバタ,テッペイ
+ノグチ,アユミ
+イチバ,コウジ
+カワグチ,ヒデコ
+ヨシミ,ヒデミ
+フジカワ,ヒロユキ
+カトウ,ツヨシ
+タカハシ,イサム
+フジサワ,カズオ
+ミズタニ,トモフミ
+セキグチ,ヨシロウ
+マエカワ,ムツミ
+アライ,リュウジ
+モリ,ケイタロウ
+サトウ,ナオコ
+クワタ,ショウイチ
+オグリ,ヒロシ
+ヒライ,カツヒコ
+ニシムラ,フミトシ
+オオクラ,ヒサノリ
+ソノベ,アキコ
+イイダ,ヤスアキ
+コグチ,エイイチロウ
+モロホシ,ヒデカズ
+ハマダ,ノリカツ
+カナザワ,カズユキ
+マツバ,シゲル
+イワタ,ヒデトシ
+アズチ,マサル
+コンド,イサオ
+タカハシ,ヨシオ
+アマノ,ヒロアキ
+カタダ,オサム
+タメヒロ,モトコ
+マツダ,タカシ
+ナリイシ,ヤスヨシ
+オキタ,モリミチ
+ヤマシタ,ヒロシ
+スズキ,ユウジ
+マンポ,カツミ
+イチイ,ケンジ
+コイデ,トモコ
+タカハシ,ナオコ
+ナカガワ,カズオ
+オハマ,タカシ
+タカハタ,ヒロミ
+コグチ,タカシ
+ミヤガワ,カズヤ
+シバヤマ,ハジメ
+アライ,ヤスヒロ
+ワタナベ,ススム
+ナカムラ,ユタカ
+フルハタ,マサナリ
+タニグチ,ナオスケ
+ホンダ,ススム
+マツモト,アキヒロ
+タカキ,ハルミツ
+キクチ,シンヤ
+イノウエ,コウイチ
+ハラ,マサオ
+ヤマモト,タカヒロ
+ムラカミ,トモヤス
+ババ,マサヒコ
+ハセガワ,トシヒコ
+ササキ,アキフミ
+アツタ,ヒトミ
+タチカワ,ヒロツグ
+ヒラモト,ヒデアキ
+ナカムラ,トシヤ
+ツムラ,タカオ
+タカハシ,ソウイチロウ
+ヨコヤマ,ミノル
+コタケ,ミツオ
+アンラク,タカシ
+ミズノ,シンイチ
+オオヌキ,アキラ
+サカイ,ハジメ
+オタ,ショウゾウ
+ハヤシ,ノリオ
+サイトウ,アキヒロ
+タナカ,ノリコ
+ハルハラ,トウゴ
+オオツカ,マサユキ
+キタガワ,ヒデミ
+ヨコタ,カッペイ
+ヨシムラ,アツコ
+オオヒラ,シンイチ
+チャキ,シゲヒデ
+サカグチ,コウイチ
+スズキ,アキヒロ
+チカザワ,マユミ
+ナカジマ,マサノリ
+ワタナベ,タダオ
+シバ,ジュンコ
+サカイ,チハル
+ヤマミサカ,テツオ
+ヨシガミ,アキラ
+ヒラテ,マサユキ
+ワクシマ,タダシ
+アサマ,チカラ
+アズミ,タダシ
+イナオカ,ヒロカズ
+サナイ,ヒロシ
+ヤマウチ,ヤスヒロ
+イハラ,トシヒコ
+タヤマ,オサム
+ササキ,シンヤ
+フジウチ,トシアキ
+ウシジマ,シンイチ
+ノノムラ,マサタカ
+ニシ,タケヒロ
+イケダ,ヒロミ
+スギタニ,ヒロシ
+オザキ,タケシ
+コケツ,アキヒサ
+サトウ,ヨウスケ
+センバ,アツシ
+アズマ,ヒデト
+ナオイ,イチロウ
+ホシノ,ヨシキ
+カミヤ,ヤスヒロ
+ムラタ,ヒトシ
+イチミヤ,ケイコ
+タルイ,ヤスアキ
+ハギハラ,ミワコ
+タカハシ,タカシ
+オチアイ,ヒトシ
+アキヤマ,ケイスケ
+キムラ,ヨシヒロ
+ハヤシ,ヒデオ
+ヤマグチ,ミツル
+トコロ,ナオタカ
+カスヤ,エツコ
+イリエ,シュウジ
+ムライシ,ミナコ
+シンタニ,リュウジ
+ウエノ,ミホ
+ウチダ,コウジ
+ハセガワ,
+クロダ,ルリコ
+イトウ,カツヒロ
+ホリウチ,マヤ
+オオハタ,ノブアキ
+ホンダ,ヒデユキ
+ナカムラ,ススム
+サエキ,オキモリ
+アベ,テルヒサ
+ウメダ,タカヒロ
+ヌマ,マサユキ
+タブチ,ユタカ
+キムラ,ミツル
+ウダ,タカミ
+アオキ,ノリコ
+ナカムラ,マサト
+フジコシ,サトシ
+スミダ,キヨシ
+クズハラ,ノボル
+ワタナベ,ヒロシ
+アラタ,サトミ
+ロッカク,マユミ
+イノウエ,ミツマサ
+ツジモト,マサミ
+ミウラ,ナナコ
+ネモト,ヨシオ
+アメミヤ,ヨシカズ
+ナカムラ,ヒロユキ
+アイバ,ノブタカ
+ヨネザワ,シンヤ
+フジムラ,シュウ
+リュウト,ヒロミ
+ワタナベ,トモミ
+キタガワ,シンジ
+アタラシ,トモナオ
+キクチ,ジュン
+スズキ,アキラ
+タナカ,ヒロシ
+イケダ,ヒロナリ
+ヨコカワ,ミツヒコ
+クサツグ,タカシ
+ミズノ,ケンジ
+ナガホリ,コウイチ
+スギモト,コウジ
+アンドウ,ツネオ
+タカヤナギ,ヒロフミ
+シバ,マサコ
+カミヤマ,カズヒロ
+オオヒラ,ヒロミ
+ホンマ,ハルユキ
+タバタ,ノブヨシ
+エンド,ケンイチ
+イシガキ,セイジ
+シバ,ユウイチロ
+ヤマダ,マサヒト
+タカノ,カツオ
+ヨシダ,タツヤ
+アマサキ,トシヒコ
+オシカワ,シンジ
+ニシノ,ミホコ
+カトウ,オサム
+ハマオカ,トモコ
+サノ,タカカズ
+スエシゲ,クニテル
+ナカタ,ヒロミ
+コバヤシ,ヒデユキ
+スドウ,ヤスシ
+ツツミ,キヨヒト
+ミタニ,コウジ
+イシダ,ヤスフミ
+イイズカ,ユタカ
+シライ,ユミ
+ヤマダ,イワオ
+ツジカド,カズコ
+マツナガ,コウイチ
+タナカ,カズエ
+ミナミ,ヒロシ
+サカイ,マサユキ
+ウエキ,シオリ
+オダ,マサオ
+マエダ,セイジ
+デキタニ,ジュン
+アマノ,タカヒロ
+ミヤコシ,シゲカズ
+アンザイ,トシミチ
+ウメダ,ユキオ
+タキザワ,アツシ
+ムラニシ,キヨシ
+クリハラ,トシヒコ
+ヤマサキ,マリ
+オオツカ,ミツヒロ
+アミノ,タカシ
+モリ,ヤスノリ
+ニシモリ,シンジ
+タケノ,マサオ
+シンガキ,ヨシカズ
+マツオ,ヨシキ
+フジネ,マサキ
+カナマル,ヒロヨシ
+カナザワ,タツユキ
+シミズ,リュウジ
+ワダ,イツコ
+イシクラ,タケシ
+フクダ,アキヒロ
+ウカイ,ヨシコ
+アリマ,オサム
+オオタ,タカアキ
+モリタニ,タカシ
+アダチ,ヨシヒロ
+クマデ,マサノリ
+アラ,ススム
+ハシモト,トオル
+トヨオカ,マコト
+オオツ,テツロウ
+ミヤキ,ケイイチ
+イシカワ,ジュンイチ
+イガラシ,ナオツグ
+オオニシ,キンヤ
+シライシ,コウイチ
+ヨコメ,ヨシアキ
+フジモト,カズヒロ
+カンノ,モリヤス
+タチバナ,ミチオ
+ヤマダ,チナミ
+アサミ,シゲオ
+ミウラ,ヤスシ
+トクヒロ,ヒロノブ
+モリカワ,マサノブ
+イトウ,ミキヒサ
+サノ,トモミツ
+スズキ,マコト
+シモトノ,マナブ
+マカベ,サトミ
+イトウ,コウジ
+ツクダ,ジュンジ
+ヨシカワ,ミツグ
+タカヤナギ,ヒロキ
+ホンダ,タカヨシ
+ニシノ,ユウジ
+キムラ,ヨシヒロ
+カトウ,コウイチ
+オオハタ,ジュン
+ウツミ,カズヒコ
+アンドウ,カズヒサ
+ハマタニ,ミノル
+キノシタ,タカフミ
+カワセ,トシタカ
+ウエノ,ヨシヒコ
+シカマ,リョウジ
+スズキ,マサユキ
+フジオカ,マサヒロ
+イノウエ,トモヒロ
+キタザキ,ヤスユキ
+アイベ,ヒロシ
+オオカワ,サカエ
+タケイ,ヤスハル
+カラハシ,ヒロシ
+スズキ,マユミ
+アライ,ヒロシ
+イノダ,ノリユキ
+オクムラ,エリ
+マルイ,ジュンコ
+ヒロズミ,アキヒサ
+ワシズ,タクヤ
+ヨシムラ,タカヒサ
+カツマタ,タカシ
+マスカワ,カツラ
+イワオ,シュウジ
+ヤマモト,ヨシヒト
+タナカ,サトル
+タケウチ,ノリユキ
+ノハラ,シュウゾウ
+フナハシ,カズノリ
+ナゴシ,ケンジ
+ウメダ,カズヤ
+アキヤマ,ヒトシ
+ナカダ,マサト
+サイトウ,メグミ
+タハラ,ジュンイチロ
+ニシマツ,ヨシヒロ
+ヒラミツ,マコト
+メカタ,マサル
+タカミ,リュウタロウ
+ソノダ,ヒデユキ
+ミヤザキ,ユウジ
+マルヤマ,ヒデアキ
+ツノカワ,マサシ
+ハラダ,カツミ
+ツジ,ツグヒコ
+イガラシ,トシオ
+ヨシダ,カオリ
+タケガタ,コウキ
+アベ,リョウジ
+アカヌマ,トクヒロ
+カワダ,ヒロアキ
+タゴ,ヒロシ
+カミムラ,マサシ
+マツヤ,ゲン
+イワタ,アキヒコ
+マエカワ,サトシ
+ヤマグチ,レイコ
+シロシタ,トモヒロ
+ヤマシタ,マサト
+ツジカワ,ジュンイチ
+タナカ,ヨシフミ
+ミナミ,トモヒロ
+サトウ,ヨシアキ
+ウオズミ,アキラ
+スギヤマ,ヒロユキ
+チバ,マサユキ
+カナイ,サトシ
+マツヤマ,ツヨシ
+タカノ,アキラ
+クマガイ,コウイチ
+タケコシ,ムツヒサ
+フタバ,トシアキ
+ウメザキ,カズタダ
+オイワケ,ヨウスケ
+ナガツカ,マナブ
+イマガワ,ヒトミ
+ハシモト,アキラ
+オオヒラ,ユウタロウ
+ミヤヒラ,ミチアキ
+ノグチ,ケイゾウ
+スギモト,カズフミ
+カワグチ,カツノリ
+シノセ,ツヨシ
+ナリサワ,ヨシヒト
+ヒロセ,アキヒロ
+ニシザキ,ススム
+モリ,ノブユキ
+フカオ,ヨシコ
+ミヤジマ,ケイゾウ
+マツノ,カズシゲ
+イワイ,シゲノブ
+カイ,ミドリ
+タナカ,クニコ
+チバ,マサミ
+ソノ,ヒロシ
+ヨコヤマ,アキヒサ
+タカシマ,ジュン
+オカモト,コウジ
+ミヤカワ,ダイスケ
+ムラモト,トモアキ
+キムラ,コウイチ
+マツナガ,ユミコ
+フクダ,ツトム
+オオニシ,マサシ
+アイ,ヒデカズ
+マエダ,ヒサカズ
+イノウエ,ヨシミ
+イイダ,タカヒサ
+フジイ,ヒロユキ
+サクライ,タクヤ
+マツイ,ウイリ
+イマダ,シンジ
+ミヤケ,アツシ
+サカイ,ヒロヒサ
+カトウ,オサム
+イワタ,ナオト
+オオノ,マサヤ
+イソベ,タカヨシ
+オヤマダ,ツトム
+トウジマ,タツヒロ
+タケウチ,カズヒコ
+ナカヤマ,マスオ
+シライシ,オサム
+カノマタ,アツシ
+スドウ,タカヒロ
+シラヤマ,アキヒロ
+オオヤ,マサル
+ミナガワ,トモヒロ
+キムラ,タツヤ
+タカギ,ダイゾ
+サトウ,ユキオ
+フジワラ,ミツル
+イモト,ヨウタ
+ウエノ,トモヒロ
+キョウノ,ケンゴ
+キリウ,ヨシタダ
+クボタ,ツネオ
+コセキ,タカシ
+スザキ,マサヒロ
+タカサキ,ヤスヒサ
+ツカモト,シンイチ
+ナイトウ,ケンジ
+ナカゴメ,ヒロカズ
+ナカムラ,ヒデヤス
+ハギワラ,カツミ
+マツモト,カヨコ
+コンノ,ヨシヒサ
+サイグサ,タモツ
+ホンダ,ユキオ
+タナカ,ヒロシ
+マツトミ,カヨコ
+アカサカ,ヒロアキ
+センガン,アキヒデ
+タケオ,ノリカズ
+ムラタ,ヒロユキ
+カワセ,トモヒロ
+ニシザキ,タツユキ
+ヘイトウ,エイイチ
+オオサワ,マサハル
+ウエダ,ヨウイチ
+カナヤマ,ヤスヒコ
+ハラダ,トモユキ
+ナカガワ,アツシ
+ミヤモリ,マコト
+カイ,ケンジ
+キグチ,シュウジ
+サタケ,ケンジ
+オオオカ,トシロウ
+ナカザワ,コウジ
+ヤスオカ,マサヒデ
+クロミツ,ヤスタカ
+カナダ,ヒデキ
+マルカワ,ヒデキ
+ナガサワ,タケユキ
+コバヤシ,シュウ
+エンド,マサノリ
+インナミ,ハルオ
+ヤマモト,キヨタカ
+ナガクラ,サトシ
+ウエノ,マチコ
+ニシザカ,ミカ
+サトウ,テツロウ
+モリヤマ,タツオ
+コハヤセ,シゲオ
+ドイタ,ヒロシ
+ホソカワ,ノブオ
+アオキ,ミツイ
+マスミダ,トモヒコ
+オチ,マサイチ
+スズキ,ケンジ
+スギヤマ,ケンイチ
+フジワラ,セイヤ
+タナベ,ミツユキ
+トダ,アツシ
+ツボイ,ヤスオ
+スギタ,マサノリ
+アダチ,ケイタ
+フジイ,マサキ
+スガモリ,ヒロシ
+ヤスダ,ナオヒコ
+タカハシ,ヒロユキ
+タガミ,マサル
+トミヤマ,ユウジ
+ハネダ,ヤスユキ
+オザキ,タケシ
+オグラ,ヤスユキ
+テラサキ,ノブヤ
+ツチヤ,エツコ
+オカダ,テルオ
+アベ,ノブユキ
+アベ,ミツエ
+モリワキ,コウイチロウ
+ハヤノ,ケンタ
+トミナガ,ジュン
+スズキ,ミキ
+カタギリ,サトシ
+アハラ,ハヤト
+ホシ,ナナコ
+イシカワ,タツヤ
+シモムラ,ヨシヒサ
+ワキモト,ミユキ
+カワテ,タカシ
+アブラカワ,カズオミ
+ヨシタケ,タカシ
+イシダ,マサユキ
+ホンダ,トシロウ
+シタマ,ヨシオ
+ノグチ,タケシ
+ミズイ,アヤオ
+アンドウ,ナオフミ
+ヨネシマ,ナツミ
+アキタ,ジュンコ
+ウエ,アツシ
+スギ,コウイチ
+ナカジマ,マリ
+カサオカ,トシヒコ
+ノダ,テツフミ
+マツザワ,コウイチロウ
+ワタベ,タツオ
+アイザワ,ケイジロウ
+イワサ,シン
+コガ,アキヒコ
+ヒガシタニ,ヒデフミ
+イケダ,トシヤ
+アキナカ,ヤスハル
+フジタ,カズヤ
+ヤマオカ,ヒサタカ
+ワチ,セツヤ
+ウエノ,ケンタロウ
+ウシキ,カズイチ
+ヤマモト,ハルヒコ
+カトウ,マサトシ
+ナガイ,タダヒロ
+フクダ,アヤコ
+ナカタニ,エミ
+ヒラサワ,ナガコ
+ミヤザキ,マサル
+テラシマ,ムネカズ
+アライ,チガ
+タナカ,シンイチ
+カネコ,タカアキ
+サトウ,テツジ
+ナリタ,シュウイチ
+ナガシマ,ジュンイチロ
+サカノ,トシオ
+ミウラ,サトシ
+ヤマグチ,ケイ
+オデラ,ナオトシ
+アベ,アツシ
+コダマ,カズヒロ
+ヤマモト,ヒロユキ
+オシマ,トオル
+イシズ,ツトム
+カンバヤシ,ユキオ
+オオカワ,ヒロユキ
+ヒエダ,タケヒコ
+イノマタ,ヒロミ
+マキタ,トシヤ
+ガナハ,タカユキ
+ハヤカワ,ヒロユキ
+アカヌマ,テツヤ
+ムロカワ,マサノリ
+オノ,ケイスケ
+キムラ,ショウゴ
+ハタザワ,ヤスコ
+フジタ,マサキ
+ウエダ,ダイスケ
+ヤマノウチ,イサオ
+フルタ,ヨシヒロ
+オクヤマ,ケンイチロ
+イトウ,フミオ
+オサナイ,セイイチ
+コタニ,タケシ
+オオツカ,タダアキ
+フクシマ,コスケ
+イイズカ,ケン
+ワタナベ,テルアキ
+モリタ,ケンイチロ
+カトウ,ヒロキ
+ホンダ,トシアキ
+カトウ,アキノリ
+アサヌマ,ヤスヒロ
+アズマ,マサオ
+テラサワ,ミツオ
+アカシ,ツネオ
+カトウ,ナオト
+オノサト,タカシ
+ナカムラ,ヒロツグ
+ノムラ,ヒデミ
+イノウエ,エイイチ
+ハヤシ,シンイチ
+タムラ,ガク
+サカイ,スエノブ
+スギムラ,リョウ
+トミヤマ,ケイ
+カキザワ,トシアキ
+ニシタニ,ショウイチロウ
+アサクラ,シンヤ
+イシザキ,サトシ
+マツモト,シンイチロウ
+ナガオ,トシオ
+キノ,リエ
+アベ,タスク
+ト,コウジ
+ヤマキ,コウイチ
+アライ,ゲン
+ヤマダ,ケイジ
+オクムラ,カズエ
+ハラ,ショウタロウ
+ヤマモト,カツヒサ
+ナカムラ,シンイチロウ
+アライ,カズヤ
+イケド,マサタカ
+イトウ,ケイジ
+イトウ,ユウジ
+ウリュウ,アキラ
+ウチヤマ,タダシ
+エノモト,ヒロミチ
+エズラ,トオル
+オオツカ,ケイスケ
+エニャ,ススム
+アカオ,ケイスケ
+オオニシ,ショウジ
+カガヤ,イナン
+カマタ,タカヒロ
+カワカミ,ノブヒサ
+ササキ,ヤスヨシ
+タカハシ,ナオヒコ
+タダ,コウイチ
+ニシノ,マサヨシ
+アサオ,ナオキ
+ハシモト,ナオキ
+ハットリ,タカコ
+ホシ,タオ
+ホリタ,シンイチ
+マエゾノ,ナルヒデ
+マエジマ,ミノル
+ミヤザキ,ユミコ
+アライ,ヨシミ
+モリ,コスケ
+マエダ,ヒロシ
+オチ,ケン
+アサクラ,ノリオ
+ウサミ,アツシ
+オクヤマ,タカシ
+カリヤ,タカヒコ
+ウエダ,ヒデユキ
+オタベ,ケイゾウ
+キムラ,イサム
+クシダ,ヨシハル
+アマハ,コウジ
+コンド,ヨシキ
+シミズ,ショウイチロウ
+スズキ,シュウコウ
+スン,スミオ
+タドコロ,ヒトシ
+トネサク,イサム
+ナカムラ,ヒロシ
+マスダ,ヒロオ
+ミヤザキ,ミハル
+ヨシナガ,アキヒサ
+ヨコカワ,タクマ
+ツチヤ,マユミ
+タカハシ,マサノリ
+タナベ,マサジ
+イトウ,ケイスケ
+ナガオ,シンイチ
+サトウ,タケシ
+タダ,トモヒロ
+アキモト,シュンスケ
+タムラ,マモル
+タムラ,カズユキ
+オカ,ミチハル
+サクラギ,ケンイチ
+スズキ,ヒロシ
+モリオカ,タダシ
+ヤグチ,ユウシ
+ミヤモト,サトシ
+シラカワ,ヒデキ
+オオツカ,ヒデキ
+ヤマモト,トモヤス
+ナカマチ,ヤスフミ
+ワカハラ,ヤスオ
+アキ,タカシ
+タキタ,カズヒロ
+アラカワ,ケイイチ
+マツオ,コウジ
+チョウ,ユウイチ
+クロダ,シゲル
+ヤマシタ,タロウ
+トモオカ,エミコ
+ナカオ,ワタル
+アソ,テルカズ
+フクダ,ノブタカ
+アオキ,ヒトシ
+クル,ヒサト
+ムラカミ,ヤスヒロ
+クロダ,タクヤ
+ミカミ,アキヒロ
+カミムラ,ヒロユキ
+キタジマ,ナオキ
+マルヤマ,ヨシヒサ
+サタケ,ケンイチ
+モテキ,タケシ
+トミタ,フキ
+ニワ,フミコ
+タカバタケ,シゲノリ
+アズマ,マサル
+フルヤ,サチコ
+ナス,ヨシヒロ
+コリ,マリ
+イケダ,マサヒロ
+ゴトウ,コウジ
+フクダ,ヒロユキ
+スガハラ,ジュンジ
+キムラ,トシヒコ
+タカセ,マリ
+ニシオカ,リョウ
+フルカワ,テツオ
+クドウ,ケンイチ
+タカハシ,ケント
+ヤマモト,ヨシヒロ
+ミヤモト,リョウヘイ
+ノタ,ユキヒロ
+ナカムラ,シノブ
+アキバ,ミヤ
+イワキ,マコト
+カトウ,シホ
+モリモト,マサカズ
+ナカムラ,カズトシ
+ナカヤマ,カズヤ
+オオタニ,シゲヒロ
+スギヤマ,ミノル
+スン,トヨユキ
+ヤマモト,ヒロシ
+ホンド,ユタカ
+ハガ,カクジ
+シオザキ,カズヒコ
+フジノ,ミノル
+オノ,ケンジ
+アンドウ,ヨシオ
+ヤマグチ,トシアキ
+クロダ,タカシ
+ウノ,リョウイチ
+イトウタニ,タケヒコ
+オカ,エツミ
+ミウラ,ノブユキ
+ハシモト,カナ
+エモト,マコト
+コガ,ヒロシ
+キハラ,ヒロシ
+マツダ,フミタダ
+ヤマダ,アキコ
+タカハシ,ヨウイチ
+ヤハタ,ヒデオ
+タザキ,ケイタ
+ヤマモト,リュウイチ
+タカダ,ヒロミ
+ノダ,マサツグ
+サイミョウ,カオル
+コバヤシ,アラタ
+フジキ,ケンジ
+シラサカ,フミオ
+タカハシ,トオル
+ヤツ,アツオ
+ウオタニ,フミヒコ
+タムラ,トシヒコ
+マツオ,サトシ
+ナカザワ,タクヤ
+キダ,ユキコ
+タンゲ,テツロウ
+ヒロセ,ススム
+マツシマ,ミチヤ
+オカノ,サトル
+アオキ,ヨウイチロウ
+ハセガワ,リュウジ
+ニシホリ,チカラ
+イシズカ,タカヤ
+ツボイ,ヒデユキ
+イシダ,マサル
+ハシモト,サトル
+ゴトウ,シンジ
+アキヤマ,ヒロキ
+ミツハシ,シゲル
+ゴシマ,カズオ
+フクダ,ヒロシ
+ヤマシタ,ナオフミ
+ナカザワ,ヒサシ
+ニシカワ,ヒトシ
+イケウチ,カズユキ
+タガミ,タカオ
+カワキタ,ケンジロウ
+ナカムラ,ガク
+コマイ,コスケ
+ホシヤ,アユム
+スミト,マサフミ
+ホシノ,カズオ
+ナカヤ,シンイチ
+ハラ,ミズホ
+ムロヤマ,カズヒコ
+モリ,ヒデキ
+シライシ,マサヒロ
+ヒラノ,コウジ
+ハシモト,ユウコ
+アベ,ジュンジ
+イシカワ,アリカツ
+アズマ,ヨシミ
+オオツカ,ノブオ
+イトウ,ケイ
+オシマ,チカオ
+コザイ,キヨヒロ
+カワカミ,マサトシ
+ナカノ,ムネヒコ
+ウジモト,マサヒコ
+キシダ,ヒトシ
+コイズミ,ノリコ
+ナイトウ,トシヒロ
+ヨシズミ,ヨシキ
+スギモリ,トシヒロ
+アオキ,トモハル
+タカハシ,コウイチ
+イガ,ノリカネ
+カワバタ,ノゾミ
+シバタ,ヒロヒデ
+ダン,マナミ
+タグチ,カズヒロ
+マチダ,トモオ
+アシダ,ユウコ
+アンドウ,テイジ
+ムトウ,カツノリ
+コヤマ,キヨト
+スズキ,ケイイチ
+ノムラ,ジュン
+イトヤ,マサトシ
+チカオカ,ツトム
+ジンブ,ミチヤス
+アダチ,マサシ
+カワイ,ヤスシ
+ミノワ,コウイチ
+アサヒ,トシアキ
+オオタ,ヨシアキ
+タナカ,キヨシ
+キラ,マサシ
+ヤマザキ,ミカ
+ヤマウチ,ミツル
+ホッタ,ヨシノリ
+アラカワ,シゲオ
+オクムラ,ジュン
+カネコ,イタル
+アヤノ,コウキ
+ハヤカワ,トモナリ
+イトウ,マサヒコ
+オクムラ,ヒサノリ
+タンザワ,タツオ
+サキノ,ヨシヒロ
+カワハラ,トオル
+タルイ,ヨシオ
+アリモト,アツシ
+エビコ,トモナリ
+ヒノ,カツヤ
+ヤマダ,ショウヨウ
+オオノ,クミ
+タケシタ,ユリコ
+ハヤシ,キョウコ
+イシダ,ケン
+シオヤ,タケシ
+アンドウ,ノボル
+マツバラ,マサフミ
+ニシダ,マサル
+ナカムラ,マサノリ
+イケダ,ジュン
+ハヤミ,ヒデオ
+スズキ,ショウゾウ
+オガワ,アキラ
+イシカワ,トシアキ
+アサミ,ケンジ
+ハタケヤマ,タカシ
+ホリミゾ,ケイスケ
+マルタニ,チヒロ
+サトウ,アキオ
+サカナカ,カズオ
+ナカムラ,トモヒコ
+イトウ,カオル
+フルナガ,ハルヒコ
+フクシマ,マサト
+ミズガミ,ヨシユキ
+タケウチ,ミチオ
+トリウミ,ミノル
+ネギシ,シゲキ
+コヤマ,アキノリ
+オシマ,ナスオ
+カタオカ,タカシ
+タキグチ,ヒデフミ
+コマツ,カズオ
+ヤギ,タカシ
+タカギ,ヨシオ
+マスイ,テツロウ
+ハヤシ,ヒトシ
+アネタイ,マサユキ
+キハラ,ケンイチ
+サイトウ,シゲオ
+キタワキ,ミチヒコ
+ノグチ,ヒロミチ
+サカグチ,モトイ
+ニシ,ユキミツ
+イケダ,テツオ
+サトウ,タカシ
+イマイ,マサヒト
+ヤマダ,シゲイク
+タナカ,ヤスヒサ
+オオサコ,マコト
+コムロ,カナメ
+サイトウ,ヒデキ
+スズキ,ケンイチ
+フナトガワ,ユカリ
+イシイ,テルアキ
+マツイ,ノボル
+スエヒラ,ヒトシ
+ヒロタニ,ヨシオ
+ヒガシ,キヨシ
+イムラ,アツコ
+アベ,ヤスノリ
+ヨネクラ,ノブトシ
+ワタナベ,ヨシミツ
+スガ,ヒロシ
+サノ,ヒロシ
+シバ,トモジ
+ヤマグチ,シュンジ
+キザワ,ヨシヒロ
+カサマキ,ヨシロウ
+キムラ,ケイスケ
+ツルミ,アキヒサ
+アオキ,ショウコ
+イシダ,モトシ
+モロ,アキオ
+オクムラ,ヒロユキ
+タカギ,コウジ
+イケヤ,ミチオ
+トミヤマ,カズミツ
+ヤギ,タカオ
+トミキ,テツロウ
+トノムラ,ミノル
+ヤツズカ,トシヒロ
+ブマ,ケンショウ
+ナカザワ,フミトモ
+ヤマザキ,ヨウコ
+マツシタ,シノブ
+イダ,シン
+スズキ,ヨシヒロ
+ナカノ,ヤスヒロ
+カワグチ,マサオ
+タカハシ,ツトム
+イシダ,ショウイチロウ
+ウダ,サトル
+フジワラ,リュウジ
+コイデ,トシタケ
+ツカダ,ヘイハチ
+ヒラヤマ,ヒロシ
+ウチトミ,アキラ
+イマハラ,ヒロヨシ
+ウエダ,ヒトシ
+ササカワ,ヨシヒロ
+アイカワ,タカアキ
+ウエキ,タカヨシ
+ナカヤマ,ヨシミ
+オオサワ,ヨシカズ
+タカオカ,トシユキ
+ワダ,ツギオ
+イヌズカ,クニヒサ
+タナカ,コウキチ
+タケダ,キヨタカ
+ヤマダ,ノボル
+ヤナギ,ヒデヒロ
+タケシタ,ヨシタケ
+ニシ,タツヒコ
+オオタケ,ユウイチ
+ニタナイ,シゲオ
+ホンマ,ノブヒコ
+ナカノ,ヨシノリ
+ミヤシタ,ヒデキ
+ウエノ,ジュンジロウ
+ババ,サダム
+ミヤザキ,マサオ
+クニイ,ツトム
+コバヤシ,ケイジ
+マスダ,ヒロシ
+タカハシ,コウジ
+ツカオ,ヒロキ
+カワムラ,タカユキ
+カワバタ,コウゾウ
+アカサカ,ジュンコ
+イイダ,テツヤ
+シラハマ,タダシ
+トガワ,ヒロユキ
+イトウ,ヒデイチ
+オカベ,マサシ
+ワタナベ,ヒロオ
+サカバ,トシヒロ
+ヒロサワ,ヒトシ
+ナカムラ,シゲル
+ヤスイ,サトシ
+ヒラタ,カズヒサ
+キタガワ,シンイチ
+アマノ,テツヤ
+ツジムラ,エツロウ
+カワサキ,コウイチ
+ウエムラ,タケシ
+ムラカミ,シゲナ
+イノウエ,キヨシ
+ハゼ,ケン
+トシヒロ,キミヒロ
+コバヤシ,シゲユキ
+イノ,タダノリ
+アサノ,ユウイチ
+モリ,コウジ
+イナザワ,コウヨウ
+コバヤシ,テルヒロ
+サカキ,ヨシヒコ
+ウチヤマ,セイジ
+マナベ,ヤスキ
+オオヤマ,ケンジ
+シミズ,マサヒコ
+ヨネムラ,ヒロユキ
+バラダ,アキヒコ
+フルゾノ,ヨシカズ
+フジモト,カズアキ
+サノ,マモル
+カワノ,エイコ
+ホシカワ,コウジ
+ササモト,モトツグ
+スドウ,マサト
+サトウ,タカオ
+ハヤシ,ヒロシ
+ババ,ヒデノリ
+ババ,ヒトシ
+オオヤネ,ヒデオ
+ナガサワ,ヤスユキ
+サカモト,マサハル
+アオキ,セイジ
+ムナカタ,マサハル
+イトウ,シンイチ
+カワバタ,ヒロユキ
+スギモト,ミチオ
+バンドウ,ジュン
+ノムラ,アキヒコ
+コンノ,ヨシミチ
+カワイ,カズノリ
+ウエノ,ノブユキ
+ハラダ,ヒロシ
+カノウ,アキラ
+オオハタ,ミキオ
+スドウ,タカシ
+マツダ,ヒトシ
+イケガミ,マコト
+シライ,ケンシン
+サトウ,タカアキ
+サカイ,タケシ
+オキ,トシユキ
+カワムラ,ケンジ
+ヤマダ,ヒロオ
+イトウ,アキヒサ
+イカミ,ハルオ
+アズマオ,ヒデト
+フジムラ,トオル
+キタムラ,ユウジ
+トガミ,トシミ
+コスゲ,マサオ
+セキ,ヒロユキ
+カワシマ,トモユキ
+タカイ,ユウゴ
+アキヤマ,ユキオ
+スズキ,トシフミ
+ナカムラ,シュウイチ
+ニシノ,タカユキ
+ミヤケ,タカヒロ
+ヨネモチ,モトジ
+タカシマ,シゲオ
+サカイ,トシノリ
+オオツキ,アキトシ
+カワサキ,ミキ
+ニシカワ,タキオ
+サクライ,ケンジ
+スギ,ヒデアキ
+ホリコシ,トオル
+モリ,カツヤ
+ハケダ,タカシ
+ニイダ,シンイチ
+キクタニ,サトシ
+タケノシタ,シュウヘイ
+タカハシ,ヒロミ
+タナベ,マサコ
+イケモト,ノリコ
+マツヤマ,ユキコ
+ヨシザワ,ヨシヒサ
+アカイ,ミノル
+ニシオカ,セイイチロウ
+タケモト,ノブオ
+トクダ,ヨシオ
+オオモリ,ヤスヒロ
+カトウ,タツシ
+カワト,フミオ
+マエダ,ソウイチ
+クロキ,マサヨシ
+イイダ,クミコ
+コヤナギ,ハジメ
+マツナガ,アツシ
+イトウ,ヤスアキ
+ヤマモト,タツオ
+ツツイ,トシアキ
+タナカ,ミノル
+フクシマ,シュンイチ
+コジマ,ヨシヒコ
+ニシダ,ミツグ
+ニシヤマ,ジュンコ
+スズキ,ダイスケ
+イイジマ,タカシ
+タマイ,ススム
+コンノ,オサム
+ミマス,トシミツ
+ヨネハラ,セイイチ
+ヨシダ,カズミ
+フクダ,ヒロシ
+サトウ,ヒロアキ
+ヤマモト,ヒロシ
+キタゴ,ノボル
+サンノ,トモトシ
+ヤサカ,トシオ
+ムラタ,シゲミ
+ナカモト,アキシ
+サクライ,カズシゲ
+ハラダ,ヨシモト
+サトウ,アツオ
+サイトウ,ミツオ
+ソネ,ケイコ
+ハスミ,アキヒロ
+ヒラタ,カズヒロ
+ヤナギサワ,ノブオ
+タチバナ,ヨウコ
+イトウ,マサズミ
+ハラ,アキラ
+サイトウ,トシヒロ
+イトウ,コウイチ
+タナカ,カズヤ
+ウチヤマ,シゲヨシ
+カガワ,ケイイチ
+タキザワ,ユウジン
+シナガワ,クニヒコ
+カキハラ,シロウ
+スガヌマ,ジュンイチ
+カメイ,トシヤ
+オクツ,カズトシ
+イシカワ,ショウシュン
+スギウラ,モリオ
+ウメダ,ヒサシ
+ミナグチ,イチロウ
+ホシノ,タケヒコ
+ニシヤマ,セイジ
+タケダ,タツヤ
+サカイ,キイチロウ
+ヤツダ,タケシ
+モリタ,ケイゾウ
+サキマ,ナオヒロ
+アライ,ユタカ
+タケダ,タカコ
+タムラ,ヨシコ
+オカダ,ハルミ
+ヤマネ,チハル
+ナカムラ,ユウイチ
+アオノ,タツオ
+スギヤマ,カネヨシ
+フリハラ,カズオ
+ワタナベ,ノブト
+カツ,ツカサ
+サハラ,ヒロミ
+カクタ,アキヒコ
+エノモト,タカシ
+ワタナベ,マコト
+ヤブキ,マサヒロ
+アマサキ,コウイチ
+ヨコタ,マサヒデ
+ホリノウチ,トシアキ
+キハラ,ツネオ
+タケダ,ツルマツ
+イネナ,マサヒコ
+ナカ,カズヒロ
+イチヤナギ,タダシ
+スズキ,ショウケイ
+ナルシマ,ナオキチ
+シライシ,タカシ
+オノ,トオル
+ヨシオカ,カズヤ
+マツウラ,ヒロカズ
+フジタ,テツジ
+イワミ,トヨハル
+トクシゲ,ケイジ
+タナダ,キミヒコ
+オカノ,カズマサ
+モチズキ,タカユキ
+タカシマ,コウイチ
+トリウミ,カズオ
+タカミ,ヨシタカ
+ハヤセ,トモユキ
+タカハラ,エイジ
+キン,マサユキ
+スギヤマ,ヒデヒロ
+キタジマ,コウジ
+ニッタ,ヨシノブ
+オカ,ユキノブ
+オオハシ,ヒロシ
+ハラダ,キハチロウ
+ワキサカ,ヒロシ
+イワナガ,ケイイチ
+カワシリ,ミツオ
+イナモト,マサカズ
+サワ,ヒロユキ
+タケダ,タケヒコ
+イイダ,ヨシヒト
+カジノ,マモル
+ミワ,ハルカズ
+フクイ,ケイイチ
+スエナガ,トオル
+クニエダ,ユタカ
+キタオカ,カズヒコ
+イド,トオル
+オクダ,リョウスケ
+ホリカワ,カツキ
+スエモト,テツヤ
+ヨコヤマ,トシヒロ
+フジモト,トミオ
+キセ,ショウジ
+ニシムラ,ヒデヒコ
+タカダ,コウジ
+ツカダ,マサカズ
+トヨダ,エイジ
+サノ,トオル
+ニシダ,マサヒコ
+オオモリ,イチロウ
+オザキ,トオル
+イシマル,シゲヤス
+タナカ,コウイチ
+カシワバラ,ノボル
+アサノ,ヤスカズ
+ヒラノ,シンジ
+タニヤマ,テツロウ
+ウメバヤシ,ケンジ
+オムラ,ヒデオ
+サカグチ,キヨカズ
+オカムラ,ショウゴ
+ヤマモト,アキラ
+エチゴ,コレアキ
+サワダ,ヤスヒコ
+ヨコイ,カズユキ
+キタムラ,リカ
+ヤス,カオル
+タカオ,ジュンコ
+カツラオカ,シンゾウ
+ツボイ,マサヒコ
+ツジ,シゲオ
+タカハシ,アキオ
+スギキ,タカキ
+タケウチ,タカヒロ
+カミ,トシカズ
+コバヤカワ,ヤスヒコ
+アオト,ジツジ
+タダ,ヨリコ
+ヒダカ,ノリコ
+ニシムラ,チエコ
+エバラ,ツネオ
+ミズモト,カズヤ
+スズキ,キヨシ
+シイナ,ハルヨシ
+シオタ,ミツヒコ
+ナカハラ,コウイチ
+ゴウダ,キヨシ
+フルタ,マサヒサ
+マスモト,ジュンイチ
+ナカガワ,キイチ
+イド,タカユキ
+ヨリフジ,ノボル
+マツモト,アキラ
+サイトウ,クニアキ
+ナツイ,ヒデキ
+ウオノ,カオリ
+タナゴ,ケイコ
+タマガワ,ノリヒト
+オカ,タカシ
+フクシマ,マサル
+オカダ,ユウコ
+キノシタ,ヒデヒコ
+シミズ,アキラ
+コバヤシ,キヨタカ
+ノダ,マサシ
+カノウ,ツグヒロ
+カジオカ,アキヒト
+オオノ,タカシ
+オオハシ,マサユキ
+コバヤシ,ユウイチ
+コイズミ,イクオ
+タナカ,ヒトシ
+フクダ,トシヤ
+ナカザワ,ノボル
+ホリカワ,サトシ
+ウチヤマ,モリヒロ
+イズタニ,ジュンイチ
+タキイ,トシコ
+タカセ,ノブツグ
+マスザキ,タカシ
+アンドウ,トオル
+カタギリ,シゲイチロウ
+モリヤマ,トシヤ
+サトウ,アキヒロ
+ヒルカワ,サトシ
+ウエダ,マサオ
+ナカ,トシタカ
+ミヤザキ,ヒロシ
+オオクボ,マサタカ
+タチカワ,マコト
+ワタナベ,ミチナオ
+アサカワ,セイジ
+カワハラ,マサヤ
+オサダ,ハジメ
+サカイ,ハルオ
+クリヤマ,サナエ
+サイトウ,コズエ
+スキガラ,ヨシコ
+アケヒ,クミコ
+ハヤシ,キヨミ
+カワタ,ナオミ
+シマガキ,ミサエ
+ホリ,カズヨ
+ノムラ,ヨシコ
+トムラ,シンイチ
+クボ,キヨコ
+ニシモト,ノリヒト
+ヨシダ,コウジ
+サギ,タカヨシ
+カンノ,ケイコ
+ヤブノ,マサキ
+ヤスナガ,ヒロユキ
+ヒガシウエ,ヒロヒト
+コサキ,マサユキ
+ナカ,トシヒロ
+オノ,トオル
+ムラタ,コウゾウ
+ショウジ,ヒデアキ
+カワモト,アキヒロ
+エサキ,マサル
+エイドメ,ヒデカズ
+スズキ,ユタカ
+モトヤマ,ヤスカズ
+ハマダ,アキラ
+コシカワ,トシオ
+ハヤシ,マサハル
+ヤマザキ,ユキヤ
+マツモト,ヨシマサ
+オノ,シンイチ
+ハナワ,タダシ
+ハセガワ,ケイジ
+ミヤタ,マサアキ
+キタザワ,マサカズ
+エンド,ヤスヒコ
+ナガサカ,ヨシアキ
+ヨシモト,ヒロミツ
+クロサワ,ケンサク
+マルヤマ,ヨシハル
+ナカニシ,カズユキ
+ヨシダ,ケイイチ
+フクタ,ヒデヤ
+フジサワ,カツヒコ
+サクマ,ヨシハル
+ハシモト,カツミ
+ワダ,マサオミ
+ニシザキ,ノブオ
+フカガワ,エツコ
+アオヤマ,マサカズ
+キヨタニ,ツトム
+トリハラ,ヒロユキ
+ナガノ,タケシ
+オオガ,ユタカ
+サカノ,タカシ
+ミツハシ,マサヒロ
+アリモト,セイコ
+ヨシマツ,タカアキ
+アオヤギ,アキオ
+ヤマダ,マサヒコ
+ムラタ,ユミコ
+イリエ,シンイチ
+ヤマザキ,マサノリ
+エゾエ,ケイイチ
+サトウ,ツヨシ
+オオタ,キヨシ
+イノウ,モリヒト
+カド,タツヤ
+ササキ,ヨシヒロ
+カケヒ,ヨシヒロ
+ツチヤ,カズヤ
+マサオカ,ショウゾウ
+スズキ,ヤスオ
+トネ,トミヒロ
+オオワダ,ノリアキ
+ウエキ,マサト
+マエダ,カズノリ
+フジオカ,ヤスコ
+ウラベ,ナオコ
+ナカムラ,ユウイチ
+イサカ,マサアキ
+ニシサカ,ノブオ
+イワサ,エイイチ
+タクシマ,ヨシオ
+ツカモト,フミオ
+サクマ,タケヒコ
+ヒョウドウ,ヒロシ
+ナカムラ,コウイチロウ
+ササキ,マサオ
+フクワキ,トシヤ
+オクムラ,マサヨシ
+タカハシ,トヨヒコ
+シロイ,ヤスシ
+コカブ,タダオ
+ノグチ,ヒロキ
+タカツ,ヒロカズ
+ヨネザワ,テツヤ
+サカイダ,ヤスヒロ
+コイズミ,ミツヤ
+マエダ,カツユキ
+マンダ,タダシ
+コグレ,イチロウ
+アキモト,ヨシト
+タケムラ,トモアキ
+スズキ,コウジ
+ヤマウチ,ジュンイチ
+サエキ,ユウジ
+ワカバヤシ,ノブユキ
+アキモト,マサヒコ
+ヨシダ,ヒロアキ
+サトウ,ツネオ
+オシマ,ヤストシ
+ササキ,マサヒデ
+アライ,アキヒデ
+ワタナベ,テツジ
+イケモト,ユキオ
+キクイ,コウイチ
+ヒラタ,ヒロミ
+マキウチ,タクヤ
+コセキ,シロウ
+ニシカワ,ヤスヒロ
+イガラシ,フミオ
+タナカ,タダツネ
+ホンダ,エイイチ
+ハッタ,ヒロミ
+ハラダ,ヒサカズ
+ヨシダ,オサム
+ワタナベ,ヒロシ
+コイズミ,リョウイチ
+コスダ,ナオヒサ
+ミヤケ,マサアキ
+フジヤ,タケシ
+マサキ,アキラ
+サクライ,ヒデキ
+ニシヤマ,ヨシオ
+カワセ,タカノブ
+オカザワ,シンヤ
+アサカ,トシユキ
+オガワ,ノブアキ
+ナガサワ,ハジメ
+キタワキ,マサオ
+シミズ,マサノリ
+コバヤシ,マサハル
+タチバナ,シゲコ
+イマナカ,サトミ
+ウシマル,ケン
+オカムラ,ケンイチ
+ヤマノ,ユウイチ
+キタムラ,ミチカズ
+タカマツ,ヒデキ
+トキカワ,カズヒデ
+イケダ,トシヤ
+イシダ,ノブタカ
+タニハラ,ミツギ
+オガワ,ヒトシ
+タナカ,ショウスケ
+ナカ,ケイコ
+トモザワ,ノブコ
+ハラダ,セツコ
+ハナブサ,アツコ
+トクオカ,アツシ
+ベッショ,マサヒロ
+ナカシマ,カツヒコ
+アサクラ,ヤスヒコ
+ミヤデラ,ヒロシ
+スズキ,ナオキ
+ヨシムラ,ヨシヒサ
+サワ,マサユキ
+ナカヤマ,コウイチ
+ヒラザワ,ヨシヒロ
+フジワラ,マサアキ
+スガワラ,トオル
+タニガワ,マリオ
+ホンダ,ヤスト
+ハナイ,コウイチ
+エグチ,サクメイ
+カサイ,ヨウイチ
+クロサワ,ヒロシ
+タジマ,シン
+サトウ,タツシ
+ヒビノ,ツネオ
+スガヤ,シュウ
+クラタ,コウイチ
+マスダ,ハルキ
+スギハラ,ケイコ
+カネコ,ヨシユキ
+カツ,タカシ
+マル,ヒロヤ
+タナカ,ヒデカズ
+トシオカ,アキラ
+シゲノ,リョウジ
+ヤマモト,サトミ
+ナカガワ,カツミ
+ヤマグチ,ヒロキ
+カワモリ,ヨシヒロ
+ムラヤマ,マサル
+シュウ,ナオヤ
+イケダ,ヒロユキ
+コダマ,タツオ
+カトウ,サトル
+ハクチョウ,イサオ
+カゲン,カオル
+テズカ,コウジ
+タニグチ,マサタケ
+テラダ,ナオキ
+カトウ,タカキ
+ナイトウ,タケオ
+イトウ,タカシ
+コバヤシ,ケンジ
+タナカ,ヒデトシ
+ササキ,ワタル
+ホンダ,ミチト
+ヒエダ,アキオ
+サカイ,カズノリ
+カツミ,タカシ
+タケベ,タカシ
+ノグチ,ツヨシ
+ワダ,エイジ
+ウエヤマ,ケンジ
+ウエノ,タカヒロ
+タンゴ,ヒデオ
+ムラカミ,カツミ
+アラキ,コウゾウ
+アラセ,マスヒロ
+ヤマモト,シロウ
+ワシオ,ヒロユキ
+ワケジマ,ヨシフミ
+コイズミ,ケンスケ
+トクヤマ,トシフミ
+トミナガ,ケンジ
+キシダ,セイジ
+ケン,ミチヒロ
+ヒロセ,ヨシユキ
+ウチヤマ,ケンイチ
+ワカスギ,タダタカ
+イシグロ,カツノリ
+ニシムラ,ヒロカズ
+イノマタ,カオル
+ツツミ,トシヒコ
+イリエ,アツシ
+サイトウ,カズオ
+ウエノ,シンイチ
+ホンダ,オサム
+キタムラ,カヨコ
+ヤマガミ,ナミ
+ナカニシ,マサヒロ
+ウエダ,タカシ
+ヒロタ,ワタル
+ウエダ,トモキ
+イケダ,ヒロシ
+ハナブサ,ヨリノブ
+コダマ,ヒロアキ
+オカモト,ナオキ
+スズキ,ヒロミツ
+スズキ,ヒサエ
+ニイクラ,アキヒロ
+ニシダ,ヒロヒサ
+オサベ,ジュンイチ
+ホソカワ,ケンイチ
+イマオ,ヨウイチ
+フジタ,ヨシノブ
+オオノ,ヨシノリ
+ナカヤマ,ヨシオ
+ハヤシ,ケイジ
+スガハラ,カズノリ
+ハラダ,イチロウ
+アベ,シュンイチ
+アベ,ケイイチ
+アベ,ケンイチ
+アダチ,タダヒロ
+アイバ,ダイスケ
+アカバネ,カズオ
+アンドウ,エイホ
+アンドウ,トモユキ
+アオキ,マサシ
+シイキ,ヒロシ
+アライ,ショウイチ
+アライ,トオル
+アライ,タケシ
+アラカワ,イサオ
+アラキ,タツヤ
+アラキ,タカユキ
+アラキ,キヨハル
+アラキ,カズアキ
+アラマキ,マキオ
+アラメ,タカネ
+アリムラ,タケシ
+アサミ,シュウイチ
+アズマ,ヒロヨシ
+ババ,ヒデカズ
+ババ,モトコ
+チバ,ノブアキ
+チバ,コウイチ
+チノ,トモユキ
+ダイコク,ヨシノブ
+デグチ,ヒロノリ
+デキ,ヨシアキ
+ドイ,ノブヒコ
+エダサワ,ヒデキ
+エグチ,ヨシナリ
+エンド,カズロ
+エンド,マサオ
+エリカワ,ユウコ
+フジイ,ヒロシ
+フジモト,ヒデト
+フジモト,マユミ
+フジノ,ヨシアキ
+フカハラ,アキラ
+フカミ,ナオキ
+フカヤマ,ノブユキ
+フクダ,マサユキ
+フクイ,マサヒコ
+フクモト,ヒロシ
+フクナガ,マサヒコ
+フクシマ,ノブオ
+フクシマ,カズタカ
+フナキ,サカエ
+フナキ,ヤスフミ
+フルヤ,イサオ
+ゴウハラ,ヨシヒサ
+ゴトウ,シンイチロウ
+ハガ,タダシ
+ハギノ,カズロ
+イチムラ,マコト
+ハマ,ナオキ
+ハナダ,マサヨシ
+イバ,キヨサダ
+ハセベ,カツヘイ
+ハセガワ,トシロウ
+ハシモト,ノリアキ
+ハシ,ナオアキ
+ハタノ,ノブヒロ
+ハトリ,シンタロウ
+ハヤシ,アキヒコ
+ハヤシ,コウジ
+ヒダカ,カズコ
+ヒガシ,キヨタカ
+マノ,ヨシカズ
+ヒライ,ヨシタカ
+カミサキ,トシヒコ
+ヒラノ,マサヒコ
+ヒロイ,ヒデオ
+ヒロモリ,ヨシハル
+ヒロサワ,アツシ
+ヒロサワ,オサム
+ヒロセ,シンイチ
+ホンダ,ヨウ
+ホンマ,ヒロヤス
+ホリベ,シゲル
+ホリエ,ヒロシ
+ホリグチ,ユウイチ
+マツモト,トシヒデ
+ホリ,ハジメ
+ホリ,ヒロミ
+ホシカワ,ノリユキ
+ホソカワ,ススム
+ヒョウドウ,マサハル
+イバラキ,ユウイチ
+イチオカ,アツフミ
+イケダ,タカヒト
+イマイ,ヨシタカ
+イマムラ,タカアキ
+イマナカ,トモヤ
+イナダ,ヒロシ
+イナムラ,コウイチ
+イノウエ,サトル
+アライ,トシミ
+イノウエ,エイジ
+イシイ,キヨミ
+イシイ,ヒロシ
+イシカワ,ミキオ
+イシカワ,アキラ
+イシオカ,マコト
+イソダ,
+イトウ,マサヒロ
+イトウ,チズコ
+イトウ,カズヒト
+イトイ,タダシ
+イトウ,シンジ
+イワイ,アキラ
+イズミヤ,マサノリ
+カジタ,サトシ
+カメイ,シンジ
+カナイ,マサヒロ
+カナザシ,ノリコ
+カネコ,タケシ
+カネコ,マコト
+カノウ,イクオ
+カリウ,シゲジ
+ツキジ,タカノリ
+カサマツ,ヒロユキ
+カタギシ,マサシ
+カタヤマ,アキラ
+カタヤマ,テツメイ
+イソダ,タカオ
+カタヤマ,コウジ
+カトウ,サツオ
+カトウ,マコト
+カトウ,ヤスシ
+カトウ,チエ
+カツマタ,タクヤ
+カワベ,ユキノブ
+カワベ,アツシ
+カワベ,ムネヒト
+カワダ,ケンスケ
+カワダ,アキヒコ
+カワモト,アキオ
+カワタニ,セイキ
+キミズカ,ミチロ
+キムラ,カズヤ
+キムラ,リョウタロウ
+キノシタ,ヤスヒロ
+キサカ,ヒデオ
+キシダ,タカコ
+キタガワ,キョウイチ
+キタムラ,ヨシヒロ
+キタ,ヒデト
+キヨノ,マサユキ
+コバヤシ,カツノリ
+コダマ,カズナリ
+ドヒ,ヒラヤス
+コハラ,マサキ
+コイデ,トシヤ
+コイワ,ヒョウジ
+コイズミ,ハルコ
+コマツ,ヤスタカ
+コメダ,ヒロユキ
+コンド,ミキ
+コンド,トオル
+コニシ,ジュンジ
+コサカ,ヒロアキ
+コタキ,ジュン
+コタニ,ヒデキ
+コトブキ,ヒロシ
+タシロ,カズノリ
+クボタ,ユキマサ
+クボ,テツヤ
+クドウ,マサト
+クマガイ,ヤスヒロ
+クロセ,オサム
+クシマ,ヤスコ
+クシミヤ,コウキ
+クツカケ,シンイチ
+クワノ,シュウゾウ
+マツナガ,ヒデキ
+マエダ,ユウジ
+マエハラ,サトシ
+エノキ,トシヤ
+マエカワ,コウジロウ
+マエキ,アヤコ
+マンノ,シンギ
+マノ,エイジ
+マンタニ,ヨウイチ
+マルヤマ,ヤスヒロ
+マセ,カズヒコ
+マスザワ,マサオ
+マツダ,ミツノリ
+マツイ,イツコ
+マツイ,マサト
+マツモト,ヤスアキ
+マツムラ,カズアキ
+マツノ,ノリユキ
+マツザキ,レイコ
+ミキ,シゲル
+ミコダ,テルユキ
+ミムラ,カズタカ
+ミムラ,シゲノブ
+ミナミ,サトシ
+ミナミ,ノブヒロ
+ミナト,ヤスシ
+ミネマツ,ノリコ
+ミネ,マサタカ
+ミシマ,ヒロユキ
+ミワ,マサヒロ
+ミヤグチ,タカヒロ
+ミヨシ,ユウコ
+ミズタ,ジュンコ
+モモノイ,ケイスケ
+ホンダ,タケシ
+モリタ,ヤスシ
+モリタ,アキヒコ
+モリ,アキラ
+モリ,アツシ
+モリ,カズヒロ
+モリ,ミノル
+モリ,タカシ
+ムネムラ,トシミツ
+ムラカミ,ヨウジ
+ムラオカ,コウジ
+ミョウガ,ヒロキ
+ナガミネ,マサシ
+ヤマダ,シンイチ
+ナガオ,トシカズ
+ナガタ,ケンジ
+ナイトウ,コウイチロウ
+ナカガワ,タロウ
+ナカイチ,ヒロノリ
+ササキ,ツカサ
+ナカジマ,ヒロシ
+ナカシマ,ソウタロウ
+ナカコジ,タツヤ
+ナカムラ,マサフミ
+ナカムラ,サトシ
+ナカムラ,トオル
+ナカムラ,ジュン
+ナカムラ,ダイスケ
+ナカムラ,ユウコ
+ナカムラ,ヨウイチ
+ナカムラ,クミコ
+ナカニシ,トシユキ
+ナカノ,テツヤ
+ナカノ,キンヤ
+ナカシオ,コウイチロウ
+ナカタ,カナコ
+ナカヤマ,タカシ
+ナンケ,アツシ
+ナラザキ,タイチロウ
+ナリセ,ユキヒロ
+ナルオカ,イサム
+ネモト,タダシ
+ニムラ,ススム
+ニムラ,マサユキ
+ニシムラ,ツトム
+ニシノ,カズマサ
+ニシシタ,テツノリ
+ニシウチ,シュウイチ
+ニシヤマ,ナオヒト
+ヤジマ,ヨシエ
+ニシザワ,ユタカ
+ニワ,アキラ
+ノブナガ,ミツシ
+ノガミ,マコト
+ノグチ,シンイチ
+ノグチ,ミユキ
+ノマ,トヨミ
+ノマ,コウイチ
+ノムラ,コウジ
+ノムラ,ノリオ
+ノムラ,シュンイチロウ
+ノセ,タダアキ
+ノザワ,ヨウイチ
+ヌキイ,カツミ
+ヌマオ,アキラ
+ヌマタ,カズヒロ
+オチアイ,タカユキ
+オチアイ,ヨシオ
+オダハラ,イクオ
+オダ,ミノル
+オガサワラ,シュウジ
+オドマリ,トウイチロウ
+オカド,フミオ
+オマサ,アキラ
+オナガ,ヒロユキ
+オオノ,ヒデユキ
+オオサキ,アツシ
+オオサワ,ヒデタカ
+オオスミ,カズユキ
+ヤマシタ,マサル
+オオタ,ナンテツ
+オオタ,タカシ
+オオツカ,タツヤ
+マツナガ,ヨシアキ
+オオヤマ,ノリユキ
+オカダ,リエ
+オカダ,タケシ
+オカダ,ヒロフミ
+オカダ,ヨシノリ
+オノデラ,タカオ
+オカモト,ヒロユキ
+オカザキ,タカアキ
+オクダ,トシユキ
+オク,ノブユキ
+オノ,サチコ
+オノ,ケイイチロウ
+オリテ,ケンイチ
+オサダ,ムツミ
+サイトウ,ムツオ
+サイトウ,シンゴ
+サイトウ,シュウジ
+サイトウ,ヨウイチ
+サイトウ,ユタカ
+サイトウ,カズヒロ
+サイトウ,アキヒロ
+サカイ,イチロウ
+イシザキ,ユキノリ
+サカモト,ヒロシ
+サカノウエ,ヒデオ
+サカウエ,カズマサ
+サコダ,ノブオ
+サクライ,シゲノリ
+サクライ,タカシ
+サヌキ,リュウタロウ
+ササキ,アキト
+トミタ,トモナリ
+サトウ,テツオ
+サトウ,ナオキ
+サトウ,ヨシノリ
+サトウ,マサユキ
+サトウ,トシヤ
+サトウ,アツコ
+サワダ,マサト
+セオ,ケンサク
+セザイ,カズヤス
+シバタ,タケヒコ
+シバタ,ヨウ
+シガキ,アキヒコ
+シミズ,ヒロム
+シミズ,ヨシミ
+シミズ,アキラ
+シミズ,アキトシ
+シミズ,ヒデオ
+シモムラ,ヒロアキ
+シノハラ,カズヒロ
+シラツ,マコト
+シロシタ,サトシ
+ショウジ,ユウコ
+ショウミツ,ヨシヒロ
+ソダ,カツスケ
+ソモリ,タツオ
+ソウ,カズヒコ
+ナカ,ユウジ
+スギムラ,ケイシ
+スギノ,マサヒロ
+スギサワ,ノブユキ
+スギタ,サユリ
+スギウチ,シンスケ
+スギヤマ,アキノリ
+スギヤマ,マサノリ
+スギヤマ,カズミ
+スズキ,シンヤ
+スズキ,ユウジ
+スズキ,シン
+スズキ,ヒロアキ
+スズキ,トシアキ
+スズキ,ヒデト
+スズキ,コウイチ
+スズキ,ユウコ
+タチバナ,タカシ
+タイラ,アキラ
+タイラ,ヒデアキ
+タカダ,ヒロユキ
+タカギ,マサカズ
+タカハシ,ノリイツ
+タカハシ,タカユキ
+タカハシ,ハジメ
+マスザワ,ヒトシ
+タカハシ,マサアキ
+タカマ,ヒサト
+タカノ,ミエコ
+タカノ,カズヨシ
+タカサカ,ハジメ
+タカセ,カツジ
+タカタ,クミコ
+タカヤマ,アツシ
+タカヤナギ,アリヒロ
+タケダ,エリ
+タケダ,アキラ
+フジイ,アツコ
+タケノリ,イクシ
+タケシタ,ヒロカズ
+タケウチ,ユウジ
+タケウチ,タカトシ
+タキザワ,マサアキ
+タキザワ,ツヨシ
+タマキ,サトコ
+タムラ,アキヒロ
+タムラ,テツネ
+タムラ,ノブオ
+タナカ,ショウゴ
+ワタナベ,アキヒロ
+タニヤマ,ノボル
+タニ,カズヒコ
+テラキタ,ナガノリ
+テズカ,シンイチ
+トバリ,ススム
+トガシ,ジュンイチ
+ヤマダ,ケンイチ
+トキゾノ,シゲオ
+トミナガ,モトヒサ
+トミナガ,シンジ
+トミタ,シンジ
+トミタ,テツオ
+トモオカ,ヒトシ
+トノサキ,ヨシノリ
+トリザワ,エミ
+コイケ,ヒロコ
+トヨカワ,マサヨシ
+トヨカワ,ヒサヨシ
+ツボイ,タダシ
+ツカダ,トオル
+ツクイ,ヒサシ
+ツルカワ,エイジ
+ツツイ,トシカズ
+ツツイ,ユウジ
+ウチダ,ヒロキ
+ウチダ,ジュンイチ
+ウチマ,シュンイチ
+ウチヤマ,アキヒロ
+ウダ,ヒサヨシ
+ウエダ,カズノリ
+ウエノ,キヨシ
+ウエノ,ノリオ
+ウエノ,タカシ
+ウケガワ,タカユキ
+ウマズメ,ヨシヒロ
+ウメムラ,キミヒロ
+ワダ,ヒロシ
+ワダ,ヤスヒコ
+ワタナベ,リョウ
+イイダ,サトシ
+ワタナベ,タカシ
+ワタリ,ヤスヨシ
+ヤギ,ヨシユキ
+ヤマダ,ヒロユキ
+ヤマガ,ヒデオ
+ヤマグチ,マサノリ
+ヤマグチ,ヒデオ
+ヤマグチ,マサシ
+ヤマモト,テツヤ
+ヤマモト,マサユキ
+ヤマモト,カズユキ
+ヤマモト,ヒデシ
+ヤマモト,マサノリ
+ヤマモト,カズト
+ヤマモト,カオル
+ヤマモト,マサヨシ
+ヤマナカ,エイジ
+ヤマシタ,サトル
+ヤマウチ,カズアキ
+ヤマザキ,ハルヒコ
+ヤマザキ,マサトシ
+ヤマザキ,ケンジ
+ヤノ,ユキオ
+ヤノ,コウイチ
+ヤスダ,タケシ
+ヤスマツ,カツナリ
+ヤスモト,コウジ
+ヤスニワ,タカユキ
+ヨダ,オサム
+ヨダ,イサオ
+ヨシダ,ヨシヒロ
+ヨシイ,タツヤ
+ヨシナガ,ユミコ
+ヨシノ,タツミ
+ヨシタケ,アキヒロ
+タキザワ,タカシ
+ヤマグチ,カズヨシ
+カバシマ,カズヒサ
+サクラ,ユウスケ
+ムラヤマ,ヒロユキ
+ヒキダ,カズミ
+ムライ,クニヒロ
+ホ,アキラ
+エンド,セイジ
+テラムラ,タツオ
+ワタナベ,タカヒコ
+イマイ,シゲヤ
+モリモト,トシカズ
+コヤリ,セイジ
+マツミヤ,ユウイチ
+シバタ,カズオ
+チシロ,ヨシヒロ
+イタミ,ヒデオ
+オザキ,ヒトシ
+フクモト,マサツグ
+オカダ,ヒロシ
+サワダ,ヒロシ
+サクライ,タカシ
+ハヤシ,ヨシノリ
+マツオカ,ヤスノリ
+ミヨシ,ノリヨシ
+ヤマナカ,コウジロウ
+シミズ,ヒトシ
+コハラ,マサノリ
+ニシカワ,ヒロシ
+イマイ,ヤスオ
+フジムラ,ヒロユキ
+コジマ,ヤスユキ
+コバヤシ,ヒロシ
+キクチ,カツヒコ
+サイトウ,ミツル
+ヤマシタ,ヒデアキ
+アベ,シンジ
+テズカ,タカシ
+タナカ,ワタル
+ニワ,ミノル
+カメイ,ミズホ
+ヤノ,ミツオ
+ナカマル,ヤスシ
+オオハタ,マサノリ
+ヤスヤマ,マサヒロ
+カスガ,ミツオ
+イシイ,アキヒコ
+フジモリ,ノリコ
+イワモト,ヒロシ
+ヤマシタ,ルミコ
+キタ,トモミ
+ムラオカ,ユウコ
+イグサ,ヨシズミ
+ナガサワ,ヒロジ
+ヤマグチ,ヤスヒロ
+オダジマ,ユタカ
+オオタ,マミ
+ハギノ,ナオイチロウ
+ヤブキ,トシアキ
+イキ,ヨシトシ
+サイトウ,マサト
+ヤマダ,タカシ
+ナカヤマ,
+ムラマツ,カオル
+タシロ,ショウイチ
+イシハラ,マサユキ
+シバオカ,タツオ
+ナカオ,ヤスノリ
+フジタ,トシキ
+サクタ,マサユキ
+ハタ,ススム
+オオヤマ,タダシ
+タゴ,キョウコ
+マツムラ,カズオ
+イトウ,マサユキ
+キムラ,タケオ
+アオキ,ミツタカ
+コマガタ,ヒデトシ
+ナラムラ,カズコ
+フジモト,マサキ
+ミヤサカ,トシヒコ
+ハヤシ,マサヒロ
+サイトウ,カズヒコ
+オガサワラ,ショウジ
+オオツカ,トシユキ
+カワイ,トモユキ
+シマズ,ヨウイチ
+タカハシ,キシコ
+マエザワ,イズミ
+ハダ,カオル
+マツヒラ,エリ
+スギハラ,ノボル
+ナカジマ,ヨシノブ
+ハタケヤマ,テツヤ
+アオキ,マサヒコ
+シブカワ,キヨヒサ
+イシダ,シゲル
+オカダ,タカシ
+イトウ,アキラ
+カトウ,マサヒロ
+コバヤシ,ナオミツ
+ムラサワ,ミノル
+ミホ,マサノリ
+スガネ,ヨシノブ
+イシカワ,ヨシヒコ
+オカ,ヤスヒロ
+イワミ,ユミコ
+ナカヤマ,ヒロシ
+イトウ,カズキ
+スギヤマ,シンイチ
+カシモト,ヨシコ
+ナカムラ,マサユキ
+アオヤマ,ヒデノリ
+シバタ,ケンイチ
+マツオ,ヨシノリ
+シノムラ,アオイ
+フルカワ,ヨシフミ
+モトキ,シュウイチ
+ワタナベ,チオ
+アンドウ,マサヒロ
+タケヒ,サチコ
+イシイ,アキフミ
+ノチセ,カズヒコ
+ミヤナガ,トシコ
+シンドウ,ヒロミ
+オオタ,ミヨコ
+タニ,ヨシアキ
+コムロ,フミノリ
+イワサ,ヒロミチ
+マツモト,ヒデアキ
+キムラ,ヒサト
+アオキ,アキヒコ
+マツバヤシ,ヒロシ
+ゴトウ,フミユキ
+オガワ,アキラ
+スギタニ,ハルオ
+オクノ,ユキオ
+サクラダ,シンペイ
+ムコヤマ,ノリコ
+イトウ,サトシ
+ヤマモト,タダシ
+ヤマモト,マサトシ
+カネコ,シュウヘイ
+ヤマザキ,ヤスヒロ
+ナカムラ,トモ
+ミワ,オサム
+サムカワ,シロウ
+ナカダ,トシユキ
+ヨシトミ,ケンイチ
+タカシマ,ツネジ
+イシゲ,アキコ
+スエハラ,ヒロユキ
+イノウエ,ヒデミ
+ノジマ,
+サクマ,サチエ
+サノ,ヨシミチ
+ムラオカ,カツジ
+ミウラ,リュウゾウ
+サカモト,ジュン
+ナルオ,セイコ
+ハセガワ,ミツヒロ
+オカダ,テツオ
+ヤヒロ,ノブユキ
+ババ,タクヤ
+アタ,アヤノ
+ナガセ,キヨシ
+カワエ,イズミ
+ミウラ,マキヨ
+フジタ,サトコ
+ツルミ,ヨシオ
+モチズキ,エミコ
+ヨシダ,カズアキ
+オカモト,マサフミ
+ヤスモト,ミツハル
+ネモト,タクジ
+ヒダカ,ウエミツ
+マスダ,クミコ
+トクナガ,フミヒト
+ナカザワ,ススム
+フジナワ,ヨシハル
+ヨビカワ,カズヒロ
+キタダ,タケシ
+ヨシノ,ヤスヒロ
+ババ,ヨシト
+クロカワ,ヒロシ
+カトウ,タカシ
+ワタナベ,トシオ
+ツチダ,アツコ
+スズキ,ミユキ
+ミズノ,アキラ
+タニモト,タクミ
+イケノ,メグミ
+イトウ,ショウコ
+タケダ,トオル
+マエダ,コウヘイ
+クドウ,カツミ
+カゲヤマ,ミネオ
+ヤマカゲ,ヨウジ
+サエグサ,レイコ
+ミズタニ,ナオコ
+クドウ,トシヒコ
+コオリヤマ,ミズホ
+カタヨセ,ヨシエ
+オサダ,ケイコ
+ヤギハシ,シュウイチ
+スミ,タツオ
+タナカ,アツシ
+クドウ,ユキオ
+タケヒ,アキラ
+アメミヤ,ミチヒロ
+ナカムラ,タカシ
+キヨミツ,ケンジ
+イズミダ,ヨシカ
+フナキ,ヒロアキ
+タケシタ,カズヒコ
+ミウラ,キクオ
+イシバシ,ノブコ
+モリアイ,ケイジ
+ムラヤマ,エイジュ
+オサワ,ヤスノリ
+フカダ,ヨシカズ
+ヤマダ,ヒデヒコ
+イトウ,アキラ
+オノデラ,トミオ
+ハヤサカ,マサミチ
+オオツカ,ヒデヒコ
+トオヤマ,ヒロタカ
+カワハラ,ミツル
+エビサワ,マサキ
+ヤマカワ,テツヤ
+ヤマモト,ヤストモ
+スズキ,トオル
+オヤマダ,タカシ
+マツヤマ,リュウイチ
+アベ,ノブヒロ
+アベ,ヤスオ
+アベ,カズマサ
+アベ,ユキオ
+アゲタ,ジュンイチ
+アカハネ,ヒデヒロ
+アケナガ,ジュン
+アキヤマ,シゲオ
+アキザワ,ヒデカズ
+アマダ,ミキオ
+アマノ,マサシ
+アモウ,アキオ
+アンドウ,ヒデアキ
+アンドウ,ナオキ
+アンドウ,トシフミ
+アオノ,ヒロキ
+アオヤマ,イワオ
+アライ,カズヒロ
+アラカワ,ヒデシ
+アリモト,ヒデキ
+アリオ,マコト
+アサイ,アキラ
+アサカワ,ヨシヒト
+クロキ,ユキノリ
+アズマ,シンジ
+バンノ,マサキヨ
+ベツヤク,ケンゴ
+ビトウ,ジン
+チバ,ヒロシ
+チュウ,カツキ
+エダ,ケンイチロ
+エンド,ナオミ
+エサキ,シンイチ
+フジイ,ヒロシ
+フジイ,フミオ
+フジモト,アキラ
+フジタ,キヨナオ
+フジタ,アキヒロ
+フジワラ,サトシ
+フカザワ,トモヒト
+フクダ,ススム
+フクハラ,ヤスヒコ
+フクシマ,カズヨシ
+フクドメ,カズヒサ
+フクヤマ,サトシ
+フナバシ,マサユキ
+フルダテ,アキヒコ
+フルサワ,シンジ
+フルタ,リキヤ
+フルヤ,シンイチ
+フシキ,ユウイチ
+ハマダ,コウイチロウ
+ハナダ,カツノリ
+ハナミ,ヒデオ
+ハラダ,アキラ
+ハルカワ,イズミ
+ハセガワ,ヨウイチ
+オオツ,ムネヒロ
+ハシモト,アツシ
+ハシモト,エミコ
+ハスモト,アツシ
+ハットリ,ツヨシ
+ハヤサカ,タカオ
+ヒダカ,ケサオ
+ヒグチ,ケイコ
+ヒグチ,フサユキ
+ヒジクロ,ナオユキ
+ヒラカワ,ジュンイチ
+ヒラノ,ヒロヨ
+ヒラタ,マサヒロ
+ヒロセ,サチコ
+ヒサダ,タカシ
+ホリ,ノリヤス
+ホウヤ,カズヒコ
+ホンダ,シゲユキ
+ホンマ,タツヤ
+タナカ,ツヨシ
+ホシジマ,タツオ
+ホシカ,タケシ
+ホソダ,チエミ
+イチカワ,ヤスヒロ
+イチムラ,ケイゴ
+イガノ,ミドリ
+イイダ,マサユキ
+イイオカ,ヒロシ
+ナガノ,サトル
+イケザワ,ノブヤス
+イモト,スミレ
+イナズミ,ヤスハル
+クシミヤ,シンイチ
+イノウエ,シンヤ
+イノウエ,アキラ
+イノウエ,トモユキ
+イヌツカ,ナオキ
+イサジ,ヒデト
+イシダ,シュウイチ
+イシダ,イサオ
+イシダ,クニアキ
+イシガキ,エリコ
+イシガミ,ジュンイチ
+カジタニ,オサム
+イシハラ,ヒロユキ
+イシムラ,マサヒコ
+イシヤマ,シュウイチ
+イシザキ,ノブオ
+イソベ,ヨシヒコ
+イソザキ,マサアキ
+イトウ,チクサ
+イトウ,ヒサト
+イワアサ,ケンタロウ
+イワイ,ナオタカ
+イワマ,サトシ
+イワモト,ヨウイチ
+イワナガ,ヒロノリ
+イワシタ,シコ
+イワタ,カズマサ
+イワタ,エイジ
+カドワキ,サトシ
+カゲヤマ,ケンイチ
+ワタナベ,イズミ
+カミヤ,クニアキ
+カミヤ,ケンイチ
+カンバヤシ,キンジ
+カノウ,ヒロシ
+カリヤ,ナリヤス
+カサキ,ジュン
+カシマ,マサオ
+カスヤ,アキラ
+カトウ,タカキ
+カトウ,カズヒロ
+カトウ,ケンジ
+カトウ,ミツグ
+カトウ,ヒデノリ
+カトウ,ヒロユキ
+カワバタ,ダイ
+カワバタ,アツシ
+カワグチ,ヒデミチ
+カワハラ,ヒロミ
+カワハラ,カズフミ
+カワジリ,ミチオ
+カワカミ,テツオ
+カワクボ,カズトシ
+カワマタ,タカノブ
+カワムラ,ヒトシ
+カワノ,ノリアキ
+カワサキ,マサヒト
+カワシマ,トシヒサ
+カワズ,マサノリ
+キバシ,ヒデヒコ
+キマチ,マサキ
+キモト,タケシ
+キムラ,タクヤ
+キンバラ,ヨシミチ
+キノシタ,ヤスシ
+キノシタ,ヒロキ
+キリサワ,イチロウ
+コバヤシ,ジュンイチ
+コバヤシ,ヒロアキ
+コバヤシ,マサオ
+コバヤシ,フジヒコ
+コダマ,コウジ
+コダマ,オサム
+タカムラ,モトヒコ
+コヒナタ,ユウスケ
+コンノ,ヒロシ
+コンノ,タカヒロ
+コヤマ,コウジ
+コズキ,トシオ
+トウドウ,コウジ
+コジマ,シンジ
+コンド,アキラ
+コンド,タカシ
+コンド,マサトシ
+コンノ,カオル
+コタキ,ヒトシ
+コヤイシ,ミカ
+コヤナギ,ノボル
+クボ,ケンタロウ
+クドウ,キミヒト
+クマガイ,ナオユキ
+クマキ,シンジ
+クラチ,タカユキ
+クラタ,コスケ
+クリタ,ミキ
+クリヤマ,シュンジ
+クロダ,コスケ
+クロカギ,マサノブ
+クロサワ,シンジ
+クロサワ,セイキ
+クワノ,ヒロタカ
+マエバシ,トシアキ
+マエザワ,ノブユキ
+マノ,ヨシオ
+マルワカ,ヒデナオ
+ウチヤマ,タツオ
+マスダ,ジュン
+マツイ,シゲキ
+マツイ,サトシ
+マツモト,シンイチ
+マツモト,ヒサト
+マツナガ,マサトシ
+マツシマ,モリヒロ
+マツシタ,タダシ
+マツザキ,タケシ
+イナイシ,ヨシオ
+ミカミ,ケイイチ
+ミナギ,アキミツ
+ミツヤマ,コウイチロウ
+ミウラ,シゲキ
+ミヤケ,アツシ
+ミヤモト,アツコ
+ミヤタ,コウジ
+ミヤウチ,マサキ
+ミヤウチ,イチロウ
+ミヤザワ,アキラ
+ミヤザワ,タカシ
+ミヨダ,タカヒサ
+ミゾブチ,ケンジ
+ミゾタ,タケオ
+チバ,ヒロヒサ
+ミズハシ,マコト
+ミズマチ,セイジ
+ミズタニ,サトシ
+ミズタニ,ツヨシ
+ミズタニ,ヒロユキ
+モチズキ,ミノル
+モリモト,ナナコ
+モリタニ,タカシ
+モリタ,トヨヒコ
+モリタ,タカシ
+モリワキ,シンイチロウ
+オクイ,タケヒコ
+モリ,タケミ
+モリ,タカユキ
+ムコヤマ,ヒロユキ
+ムラテ,シンイチ
+ムトウ,カツキ
+ナガイ,ミツヒロ
+ナガノ,ミツトシ
+ナガオカ,タカヒロ
+ナガセ,カツミ
+ナガタ,ヒロユキ
+ナガタ,モトキ
+ナガワ,シンイチ
+ナカマル,ヨシキ
+ナカムラ,アキラ
+ナカムラ,トモコ
+アベ,ヨウイチロウ
+ナカムラ,トシヤ
+ナカムラ,アキラ
+ナカシマ,ヒサヨシ
+ナカシオ,ヒロユキ
+ナカ,ノリコ
+ナミキ,ノリカズ
+ナンブ,ヒロシゲ
+ヤマグチ,シンジ
+ニイミ,シゲフミ
+ニシダ,ヒロヨシ
+ニシダ,エイジ
+ニシダ,マサアキ
+ニシダ,ススム
+ニシクボ,アキヒロ
+ニシムラ,タカアキ
+ニシムラ,ツヨシ
+ニシオ,マサト
+ニシオ,シンジ
+ニシヤマ,タカシ
+ヤガワ,ケイジ
+ニッタ,ヒロミ
+ノベオカ,アキホ
+ノジリ,ヨシノブ
+ノムラ,テツヤ
+ノナカ,カツシ
+オバナ,ミノル
+オチアイ,トシユキ
+オチミズ,タカシ
+オチ,ミツノリ
+オダオオハラ,シンゴ
+オダ,ヒロカズ
+オガタ,マサキ
+オガワ,マサトシ
+オガワ,エツコ
+オグラ,ナオユキ
+オオヒラ,ノブユキ
+オオヒラ,イチロウ
+オオイシ,アキラ
+オオイシ,マコト
+オキ,カユ
+オオクボ,カズコ
+オオノ,ケイコ
+オオヌマ,シゲノブ
+オオヌマ,ナルシ
+オオタキ,マサヒデ
+オオタ,トオル
+オオタ,ヨシナガ
+オオタ,コウイチ
+オト,マサズミ
+オオツボ,ヒロフミ
+オオヤギ,マサヒロ
+オオヤマ,アツシ
+オイエ,カズヤ
+オジマ,アキラ
+オカベ,イチロウ
+オカダ,トオル
+オカモト,マサキ
+オカネ,タカシ
+オカノ,ヒデオ
+オカノ,マサコ
+オカザキ,ハルヒコ
+ワタナベ,マサトシ
+オクダ,アツヒロ
+オクノ,カツシ
+オナヤ,カズコ
+オノ,キヨシ
+オノ,シンヤ
+オオノ,ユタカ
+オサナイ,キヨアキ
+オザキ,ヒデオ
+サイトウ,ヨシミ
+サイトウ,ジュン
+サジ,ヤスヒデ
+サジ,カズオ
+サカイ,カズヒコ
+サカイ,トモスケ
+サカクラ,タカヒロ
+サカウエ,ヤスユキ
+ササベ,マコト
+ササキ,ヒデカズ
+ナミキ,ヒロシ
+サタケ,カツヒロ
+サタケ,ワキ
+サトウ,シュウイチ
+サトウ,タケシ
+サトウ,ナオキ
+サトウ,ユウゾウ
+サトウ,シゲキ
+サトウ,ヒロシ
+サワダ,ハジメ
+セキグチ,ヒロアキ
+セキモト,トシユキ
+セキネ,キイチ
+セキオカ,マモル
+セキヤ,ヒロアキ
+セキ,ジュンイチロ
+センタ,ノリアキ
+シバタ,サトシ
+シイナ,フミハル
+シイヤ,ヒデキ
+シマバヤシ,マモル
+シマダ,シンイチロウ
+シマダ,ミチトシ
+シマムラ,アキヒト
+シミズ,ヒデトシ
+シミズ,イタル
+シモムラ,カツアキ
+シノダ,コウジ
+シノハラ,モトユキ
+シオザワ,ノブユキ
+シライシ,ユウジ
+シラサキ,ヨウコ
+シラトリ,ヒデジ
+シサイ,マサヒロ
+ショウダ,ケイスケ
+ソウ,ナオキ
+ソノベ,トオル
+スドウ,シュンイチ
+スドウ,サトコ
+スギウラ,ナオキ
+スギヤマ,リョウイチ
+スギヤマ,トモジ
+スミダ,ヒロキ
+スミカワ,ヒトシ
+スズキ,ミネカズ
+スズキ,ヒロシ
+スズキ,アツシ
+スズキ,トシナリ
+スズキ,ヨシユキ
+スズキ,ヤスゾ
+スズキ,ハジメ
+スズキ,カズアキ
+ホソカワ,ユリ
+タブシ,イクタ
+タチザワ,ノリフミ
+タダ,タカアキ
+タダ,ヒロトシ
+タカタ,ユウスケ
+タカガキ,ヒデカズ
+ヤマザキ,ナオキ
+タカハシ,ヨシツグ
+タカハシ,ヒロキ
+タカハシ,マサヤス
+タカノ,タカヒロ
+タカサキ,タカシ
+タカス,カズヨ
+タカトリ,コウジ
+タカヤマ,マサミ
+タカヤマ,シゲル
+タカヤマ,ユウジ
+タカヤ,ヨシカズ
+タケダ,タエコ
+タケダ,ヒロユキ
+マツオカ,ヨシヒロ
+タケイ,ノブヒコ
+タケウチ,トモオキ
+タケウチ,ノリトシ
+タケ,ケイコ
+タキミヤ,トモヒロ
+タマタニ,カズアキ
+タムラ,ヨシヒロ
+タムラ,ケンジ
+タナカ,カズヒサ
+タナカ,トモヤス
+タナカ,アヤコ
+タナカ,ノリヒロ
+タニモト,シンイチ
+タニヤマ,アキヒコ
+タンノ,オサム
+タノ,ヒサオ
+テラザワ,アキラ
+トクシゲ,サトル
+ゴトウ,ナオキ
+トミナガ,ヒロヒサ
+トンショウ,ヒデユキ
+ツボイ,ショウイチ
+ツボタ,ショウジ
+ツジムラ,ナオキ
+マツムラ,アキラ
+ツカダ,ヒデキ
+ツネヨシ,サトミ
+ツルオカ,マサヤ
+ツル,ヨシオ
+ウチダ,ヒデユキ
+ウエダ,タモツ
+ウメサキ,キヨシ
+ウラカワ,ユウジ
+ウラカワ,カズシ
+ワダ,ジュン
+ワカバヤシ,ケンジ
+ワカマツ,ヨシカズ
+ワタナベ,アツコ
+ワタナベ,タカシ
+ワタリ,コウジ
+ヤベ,コウイチ
+ヤハギ,シンジ
+ヤマダ,カズヒロ
+ヤマダ,カズヒロ
+ヤマコシ,マサユキ
+ヤマモト,ソウイチ
+ヤマモト,アツシ
+ヤマモト,ヨウイチ
+ヤマモト,サチ
+ヤマモト,マサミ
+ヤマウチ,トオル
+ヤマノ,ヒロフミ
+ヤマオカ,トモタカ
+ヤマシタ,トシヒデ
+ヤマウチ,タケシ
+ヤマザキ,ヒロマサ
+ヤマザキ,ユカリ
+ヤナギシマ,マスミ
+ヤマモト,ミカコ
+ヤノ,タカヒコ
+ヤザキ,タケシ
+ヨゴ,ヤスハル
+ヨコイ,カツマサ
+ヨコミゾ,トシキ
+ヨコタ,ユウジ
+ヨコタ,ヒサオ
+ヨコタ,ユウコ
+ヨシダ,シンイチロウ
+ヨシダ,マチコ
+ヨシフサ,イクフミ
+ヨシハラ,トモマサ
+ヨシイエ,ハジメ
+ヨシカワ,チエ
+ヨシカワ,ミツヒロ
+ヨシオ,ユウジ
+ユアサ,マサヨシ
+ユキ,アキラ
+アダチ,トシユキ
+オオニシ,カズオ
+オオタ,ミワコ
+アサノ,ミチコ
+ニシムラ,ミツヨシ
+ヤマダ,ヒロノリ
+サイ,クニオ
+ミヤモト,カズオ
+スズキ,カズヒコ
+フクイ,クニヤ
+オクダ,ヒサコ
+サイトウ,タカオ
+フルヤ,カツミ
+モトヤマ,ナオヒロ
+ヨシザキ,ユウイチ
+ナカムラ,アツロウ
+トキワ,シュウイチ
+イナダ,マサツナ
+トキワ,ノリユキ
+ヨシダ,タカユキ
+タカノ,ケイコ
+ウエダ,トモコ
+ツチヤ,ユウコ
+シモカワ,フミヒコ
+マツイ,カツミ
+スガヤ,ヨシオ
+ミノグチ,ヤスコ
+ウエダ,ヒカル
+イノ,トモジ
+マエダ,マコト
+ツボタ,ノリオ
+ヨシミ,イクオ
+イチカワ,シゲヒロ
+ホリ,ヒデヤ
+ハヤシ,ユタカ
+シバタ,イクコ
+コバヤシ,マスヒコ
+オオクボ,タケシ
+イワタ,ノブユキ
+フジタ,マサヒロ
+キタムラ,カズオ
+クロキ,ケイコ
+ヤマモト,タカシ
+ヤマバタ,ユキコ
+サイトウ,シュウイチ
+フジワラ,タダシ
+イトウ,カズト
+イイケ,トオル
+サムカワ,アキノリ
+アズマ,マサキ
+アオキ,アツシ
+フジタ,ツネオ
+ミヨシ,トシカズ
+セキヤマ,ヨシオ
+テラダ,テルヒサ
+エンド,タケシ
+カキモト,ケンジロウ
+フルヤ,イワオ
+マキムラ,タケオ
+コンノ,ヒロシ
+スギサキ,トシユキ
+ヨシダ,シゲオ
+ハギワラ,ヒロシ
+ヤザキ,ユウジ
+ニノミヤ,カズオ
+コサカ,ヒロヤス
+サノ,シンゴ
+サイトウ,ダイスケ
+シモセ,タカヨシ
+タカハシ,カズヒト
+タツオカ,マサキ
+タバタ,ヨシタカ
+ナオイ,マサコ
+ナガタ,マサオ
+ニシオカ,シゲル
+マツカワ,アツシ
+ミズノ,ユウコ
+トクナガ,ケイコ
+ムラカミ,ヒロキ
+ヤスカワ,トシノリ
+ヤマグチ,ユキオ
+ヨコウエ,タダシ
+アズマ,ノボル
+イナダ,ミツユキ
+イシイ,ノボル
+イマニシ,タケオ
+オカノ,カネミツ
+キシ,トシコ
+クボタ,マサノリ
+コミナミ,マユミ
+アイヤマ,ショウジロウ
+サノ,チカラ
+タキガワ,シゲヨシ
+コンノ,ヒロヤス
+センダイ,タカシ
+ニワノ,ヒデスケ
+シ,ナオヨシ
+カトウ,カズナリ
+アカサカ,クニオ
+オンズカ,ヒロシ
+コガ,コウイチ
+ハヤカワ,トモミ
+ハセガワ,マサヨシ
+フルカワ,タケシ
+フジカド,ユウジ
+トノカワ,タケシ
+マツオ,ヨシオ
+キミズカ,マサノリ
+オチ,マコト
+イチコハラ,マサヤス
+イケダ,アキコ
+アラタケ,イクオ
+イケダ,トキオ
+イトウ,ヨウイチ
+イケダ,エツ
+イイダ,マサト
+オオクマ,カズエ
+クサバ,マサキ
+コバヤシ,サヨコ
+ゴトウ,カズヤ
+スズキ,モトノリ
+セキネ,ヒロシ
+タカダ,トシユキ
+コンド,ヨウスケ
+タケヤマ,ケイシロウ
+タカイチ,オサム
+ソダ,ケンジ
+タノ,マコト
+シノザキ,サトシ
+ハラダ,アヤ
+クドウ,カツコ
+ツノダ,ナオコ
+フルカワ,トシアキ
+モリタ,マサユキ
+ヤマモト,トオル
+ヤマシタ,ヨシハル
+ユカワ,ヨシオ
+ヨシダ,エイコ
+ハヤシ,トシタカ
+タンノ,エイイチ
+タカハシ,マコト
+ナリアイ,ヨシノリ
+タカムラ,アキオ
+タンノ,テツオ
+コバヤシ,コウイチ
+ゴトウ,トオル
+ゴウダ,キョウコ
+ナカシマ,ミツオ
+ホシノ,フミタダ
+ワコ,ナオキ
+スズキ,シゲオ
+ヨシマツ,マサクニ
+ナミオカ,シンジ
+ヤマグチ,ヒロカズ
+イシバシ,マコト
+イシダ,センヤ
+ウチヤマ,セイジ
+エンド,シゲル
+ナカノ,マサフミ
+イマイ,カズオ
+オサナイ,アツシ
+サカモト,キヨシ
+シオミ,チカシ
+シマザキ,ナオキ
+テルヤ,トシヤ
+ナカタニ,ナオキ
+ハギワラ,キヨカズ
+ヒガシ,ショウコ
+ホリウチ,ヨシオ
+ミゾロギ,ナオキ
+モリ,タモツ
+イノウエ,タケヒコ
+シダ,ミチヨ
+ヤマモト,ミチコ
+ヤマモト,ヒデアキ
+オオタキ,カズヤ
+フジ,サナエ
+アキモト,マモル
+イイジマ,アキコ
+オグマ,ユミコ
+サトウ,タカオ
+ツチヤ,ヨシヒロ
+サイトウ,カズヨシ
+ハラ,セイイチロウ
+フジマキ,シンヤ
+ムロタ,ミツマサ
+モリ,トオル
+ミゾグチ,トシユキ
+イケハタ,ヒロユキ
+オガワ,ヒロタカ
+ウエノ,マサトシ
+タナカ,カズヒロ
+コバヤシ,マサカズ
+クロス,ヤスジ
+キタガワ,ヒロシ
+シノミ,マサユキ
+ハセ,ユウゾウ
+テルヌマ,ヨウコ
+キクチ,サトシ
+ハシモト,ノリユキ
+オオカワ,シント
+オオニシ,ソウイチ
+アベ,マサヒト
+アダチ,ヒデキ
+アダチ,マサト
+アダチ,トシユキ
+アゴ,カオリ
+アイハラ,アキヒコ
+アイハラ,ヒデオ
+アイザワ,ジュンイチ
+アカマツ,タツオ
+アカマ,トモミ
+アカセ,マサユキ
+アカヤマ,シンゲン
+フクシマ,トモノ
+アキバ,ツトム
+アキノ,ハルキ
+アキシカ,ユウジ
+ナメキ,ナオミ
+アキズキ,シンイチ
+アマダ,ユキオ
+アマノ,トオル
+アミノ,ノブハル
+アンベ,ヤスシ
+アンドウ,ヒロトシ
+アンザイ,タカヨシ
+アンザイ,ヒロシ
+アオキ,サトシ
+アオヤギ,タカオ
+アオヤギ,ヒロユキ
+アオヤギ,ヒサシ
+アラカワ,タイスケ
+アラカワ,マサユキ
+アラキ,トシユキ
+アラヤス,ヒトシ
+アラ,アキオ
+アリタ,キョウコ
+アサダ,クニオ
+アサダ,ヒロアキ
+アサカワ,ノリエ
+アサクラ,トモユキ
+ナカサト,アキラ
+アサノ,ヨシヒロ
+アサリ,カズキ
+アツミ,アキヨシ
+アワカ,カツミ
+ババ,カズヒロ
+バン,ケンゾウ
+バン,ワタル
+バン,コウタロウ
+チョウサ,マサシ
+ダイド,ケイシン
+ダイモン,ナオヒコ
+デムラ,ヨシト
+ドイ,タカシ
+エビヌマ,アケミ
+エグチ,ジュン
+エハラ,カズオ
+エナミ,ナツコ
+エトウ,ヨシナル
+イワサキ,カズオ
+エザキ,ユウジ
+フジエダ,ジュン
+フジエ,コウイチ
+フジガキ,ヨシチカ
+フジイ,トシユキ
+フジイ,アキラ
+フジイ,ジュンイチ
+フジイ,ミユキ
+フジイ,シゲノリ
+フジカワ,シンイチ
+フジモリ,トモノ
+フジモト,ショウゴ
+フジモト,シノ
+フジノ,タカシ
+フジオカ,ヤスシ
+オグラ,アヤコ
+フジタ,マサト
+フジタ,サトル
+フジタ,ユキオ
+フジタ,ショウジ
+フジワラ,ヒロシ
+フカダ,アツシ
+フカオ,ミツヒロ
+フカオ,ミサキ
+フカセ,
+フクチ,ヨシヒロ
+フクダ,ユウコ
+フクダ,フミヒコ
+マツカワ,ヒデオ
+フクダ,ミカ
+フクダ,ユキコ
+フクダ,ケンジ
+フクハラ,ユキオ
+フクイ,ヒロシ
+フクイ,ジュンイチ
+フクオカ,シンゴ
+シガ,ナオト
+フクシマ,アツシ
+フクシマ,チカコ
+フクシマ,ナオキ
+オオノ,ナオキ
+フナツ,トシユキ
+ゴウダ,ヨリコ
+ゴウダ,ヒデアキ
+ゴウ,カイロウ
+コグレ,キンヤ
+ゴトウ,タカシ
+ゴトウ,ユキヨ
+ハガ,リョウイチ
+ハギワラ,キクオ
+ハマダ,アキオ
+マエダ,ケンイチ
+ハマハタ,ノボル
+ハマノ,ノブヒロ
+ハナブサ,リュウイチロウ
+ハナタ,ヨシジ
+ハナミツ,ヨシタカ
+ハンダ,スミト
+ハラダ,アヤコ
+ハラダ,フミオ
+ハラダ,ジュンイチ
+ハラダ,マサノリ
+ハラ,マサユキ
+ハラ,ミユキ
+ハセガワ,マコト
+ハシグチ,イサオ
+ハシモト,マサトシ
+ハシモト,ノリキ
+ハタケヤマ,サトシ
+ハタナカ,キヨシ
+ハツシマ,ケン
+ハットリ,ヨシヒサ
+ハットリ,ツネヒサ
+ハットリ,マサコ
+ハットリ,フミオ
+ハットリ,ユキヒコ
+ハットリ,ヨシノリ
+ハヤカワ,アキラ
+ハヤシダ,マサヤ
+カンダ,ケンジ
+ハヤシ,コウジ
+ハヤシ,ツヨシ
+ハヤシ,ヒロシ
+ハヤシ,カツミ
+トビカワ,ミユキ
+ヒゲタ,ヨウイチ
+ヒグチ,ミツヒロ
+ヒグチ,ユウコ
+ヒジカワ,ヨシノリ
+ヒカイ,マドカ
+ヒナタ,ジュン
+ヒノ,ショウイチ
+ヒノ,タカユキ
+ヒラギ,ヤスシ
+ヨモダ,カズト
+ヒラノ,マサノブ
+ヒラノ,ヒロユキ
+ヒラサワ,カズヒロ
+ヒラタ,マサヒロ
+アサノ,ヒロシ
+ヒラタ,ヒサオ
+ヒラツカ,タケシ
+ヒロカワ,フミアキ
+ヒロナカ,カズヒサ
+ヒロセ,ヒサユキ
+タシロ,キミコ
+ヒロセ,マコト
+ヒシヌマ,ヒロノブ
+イワモト,ジュン
+ヒウラ,ヒトシ
+スギモト,セイイチ
+ホンマ,ヤスユキ
+ホンマ,ツヨシ
+ホンマ,タイラ
+ホンマ,タツロウ
+ホリカワ,ジュンイチ
+ホリオ,カツヨシ
+ホリ,カズオ
+ホリ,アツシ
+ホリ,コウイチ
+ホシノ,シンジ
+ホシノ,アキコ
+ホシノ,フトシ
+ホシ,ヒロコ
+ホソ,カズミ
+ホタテ,ユカ
+イチカワ,ユミコ
+イチカワ,サトシ
+イチキ,タケシ
+イチノセ,アリ
+イダ,ナオキ
+イデイ,マサカズ
+イガラシ,ユウジ
+イグチ,ゴウ
+イイダ,エイザブロウ
+イイダ,フジオ
+イイジマ,ヒロユキ
+イイジマ,カズノリ
+イイムラ,ヨシノブ
+イイノ,ヒデキ
+イイズカ,ヒロシ
+イイズカ,カツヒコ
+ハルタ,トシコ
+イケダ,ナオヒロ
+スズキ,トオル
+イケダ,クニヒロ
+イソベ,コウジ
+イケヤマ,スギオ
+イクタ,トシアキ
+イマイズミ,チズコ
+モリシタ,シゲキ
+イマイ,タダシ
+イマムラ,マナブ
+イマムラ,ノリユキ
+イナミ,ケンヤ
+イノウエ,ヤスヒデ
+イノウエ,ヒロシ
+イノウエ,ヒロシ
+イノウエ,ヒロタカ
+イノウエ,ミツコ
+イヌイ,ユキトシ
+イシダ,マナブ
+イシダ,トシヒロ
+イシダ,ユタカ
+イシグロ,マリ
+イシグロ,ヒロシ
+イシハラ,ジュンイチ
+イシイ,カオル
+イシイ,ケイイチ
+イシイ,コウジ
+ユキマサ,マサトシ
+イシカワ,タカシ
+イシカワ,ヨウコ
+イシクラ,ユタカ
+イシモリ,ヒロアキ
+イシモト,リエ
+イシモト,サチコ
+イシオカ,ユカ
+イシオカ,ノブオ
+イシワタ,ナオヒサ
+カン,ヨウイチロウ
+イシザカ,カヨコ
+イソガイ,タカヒロ
+イタバシ,シンイチ
+イタバシ,シゲキ
+サギヤ,ヒデアキ
+イトウ,テツヤ
+イトウ,アケミ
+イトウ,ノゾム
+イトウ,ナオヨシ
+イトウ,カズシゲ
+イトウ,ナオユキ
+イトウ,タカシ
+サカイ,コウイチ
+イトウ,カズユキ
+イワイ,カオル
+シマムラ,フサチカ
+イワイ,キョウコ
+カワナカ,カズミ
+イワクボ,タカユキ
+イワモト,サヤカ
+イワモト,ヒデアキ
+タケダ,サチコ
+イワムラ,ヒロユキ
+イワナガ,ヒデオ
+イワオ,コウイチ
+イワサキ,タツヒコ
+イワサキ,トラヒコ
+セガワ,マサタカ
+イワシロ,ヨシヒサ
+イズミ,マコト
+カエリヤマ,ナオキ
+カガミ,イクオ
+カガミ,シゲヨシ
+カジタニ,カズヒコ
+ヤマモト,エイイチ
+カキヌマ,ヒロアキ
+カク,ヒロユキ
+カマダ,マコト
+イナガキ,マサエ
+カマモト,タエコ
+カマタニ,ナオフミ
+カマタ,トモコ
+ヤマダ,エイジ
+カメダ,アキコ
+カメヤ,ヒデキ
+カミ,マコト
+カミオ,マナミ
+カミヤ,マサノリ
+カモト,ヨリコ
+カナダ,マサタカ
+カナイ,キョウコ
+カナイ,リエコ
+カナザワ,サダイチ
+カンダ,タカヒロ
+カネイチ,アキオ
+カネコ,ヒロブミ
+カネコ,マスオ
+カネコ,シュウジ
+カネコ,タケヒコ
+カネコ,ヤエ
+カネコ,ヒサシ
+カネマル,アツシ
+カリヤ,ヨシノブ
+カルベ,キョウジ
+カシマ,ヒロユキ
+カシワギ,ヨシユキ
+カシワギ,ヒロシ
+カスヤ,ケイゴ
+カスヤ,ショウコ
+カスヤ,タカシ
+カタノ,ケンイチ
+シラキ,カツオ
+カタオカ,ヨウイチロウ
+カタオカ,アツシ
+カタヤマ,
+カトウ,タテオ
+カトウ,ヒロシ
+カトウ,ヒロコ
+カトウ,ヒロヤ
+カトウ,タケシ
+ゴトウ,ヒロカズ
+カツヤ,ヒロシ
+カワダ,ミチオ
+カワダ,サチコ
+カワグチ,サトシ
+カワハラ,セイイチロウ
+カワハラ,ヒロアキ
+カワハタ,ヒロユキ
+カワイ,ジュンイチ
+カワイ,カヨコ
+カワイ,ミホ
+カワカミ,タケシ
+カワキタ,トモアキ
+カワキタ,ヤスコ
+カワムラ,ユキマサ
+カワムラ,ユキ
+カワムラ,マサユキ
+カワゾエ,ミナ
+フタクチ,タダシ
+キダ,ヤスヒロ
+キダ,ヨシフミ
+キド,アキオ
+キハラ,カツトシ
+キクチ,コウジ
+キクチ,アイコ
+キクタ,イサオ
+キモト,カズマサ
+キムラ,ミノル
+キムラ,ナホミ
+キムラ,シュンイチ
+キムラ,スミヒロ
+マツモト,タクロウ
+キムラ,トシオ
+キムラ,ジュンコ
+オカザキ,タケオ
+キムラ,ユカ
+キムラ,アツシ
+キノシタ,ケイコ
+キシ,キミヒコ
+キス,ジュンコ
+キタカゼ,ノブキ
+キタムラ,アキオ
+キウチ,ナオト
+キウチ,タカゾウ
+キヨタ,ダイスケ
+コバヤシ,マサハル
+コバヤシ,ケンジ
+コバヤシ,ミヨコ
+コバヤシ,ヨシユキ
+コバヤシ,タカシ
+コバヤシ,ヒデアキ
+コバヤシ,ユウイチ
+コバヤシ,ヨシオ
+コバヤシ,ヒロヒデ
+ヒロセ,ハルオ
+コデラ,アキヒロ
+コガイ,ヒサタカ
+コグレ,カズオ
+モリタ,ミチヒコ
+コモト,ヨウスケ
+コンノ,アキヒロ
+コサカ,ヨシユキ
+コイケ,キヨシ
+コイケ,ヨウイチ
+コイシ,アキオ
+コジマ,カズタカ
+コジマ,テツ
+コクホ,カツヤ
+コクマイ,ミエコ
+コマガタ,マコト
+コマキ,カズユキ
+コマツ,ヨウイチ
+コマツ,アツシ
+コミネ,カツノリ
+コミヤマ,ヨシノブ
+コモオカ,フミオ
+コモリ,シゲノリ
+コンド,ヒロシ
+コンド,ミキオ
+コンド,ヨシゾウ
+コンド,タカユキ
+コンドウ,タツト
+コンノ,テツオ
+コスギ,ヨウイチ
+コウダ,トシユキ
+コヤナギ,ノブヒコ
+クボタ,ヒロユキ
+クボタ,ナオキ
+クボ,タカユキ
+クドウ,ゴウ
+クガ,シゲル
+クジマ,エリ
+クマダ,ヒロシ
+クマキ,マキ
+クマクラ,カツト
+クマモト,アキヒコ
+クモカワ,ヒロノリ
+クラシマ,コウイチ
+クリハラ,コウジ
+クリハラ,ユミコ
+クリムラ,シュウジ
+クリス,ヒロシ
+クリヤマ,ユキエ
+クリヤマ,ジュンイチ
+クロダ,アキラ
+クロカワ,ヒロシ
+クロキ,ノブヤ
+クロサキ,ノブアキ
+クロス,ヒロシ
+クシダ,ワタル
+クスダ,ヨシコ
+クワバラ,イチロウ
+ウチダ,ケイイチ
+マエダ,ヤスヒコ
+ニワ,シゲミツ
+マエヒラ,マサト
+マエカワ,ヒデタカ
+マキムラ,ヒロミツ
+マキノ,ユウジ
+マキノ,マリ
+ヨウコタ,ミチヤス
+マルヤマ,タダシ
+マスダ,ミキオ
+マスダ,テルアキ
+マスヒロ,キミ
+マスヤマ,タクジ
+マツバラ,コウジ
+マツバラ,ヤスナリ
+マツダイラ,マサト
+マツダ,シゲオ
+ササモト,サユリ
+マツダ,トシミ
+マツフサ,カツジ
+マツイ,トオル
+マツイ,ジュンイチ
+マツキ,アキヒコ
+カノウ,ヒロユキ
+マツモト,ユウイチ
+マツモト,トシユキ
+マツモト,フジオ
+ハシモト,ショウジ
+マツムラ,キニチ
+マツムラ,ヒロユキ
+マツナミ,ヒロユキ
+マツナミ,ユキオ
+チバ,テツヤ
+マツシバ,コウイチ
+マツシタ,ヒロシ
+マツシタ,エイイチ
+マツウラ,イチロウ
+マツザキ,タダシ
+イマイ,マサユキ
+マユヤマ,アツシ
+メン,マサト
+ミチガミ,ノリオ
+ミハラ,ハルコ
+ミキ,アツシ
+ミモリ,ヒロシ
+ミナミグチ,カナメ
+ミナズキ,ナオユキ
+ミネムラ,ユカリ
+ミシナ,カズヒロ
+ミツイ,タケハル
+ミウラ,ヨウイチ
+ミウラ,ケンイチ
+ムラカミ,マサハル
+ミワ,シゲユキ
+ミヤガワ,マサオ
+ミヤギ,ミチコ
+ミヤハラ,トシオ
+ミヤハシ,キョウコ
+ミヤカワ,マサトシ
+ミヤキ,マサズミ
+ミヤモト,セイジ
+ミヤモト,ヒロシ
+ミヤモト,マサヒロ
+ミヤサカ,ナオキ
+ミヤタケ,シゲミ
+ミヤタ,トシヒロ
+ミヤタ,ユウジ
+ミヤタ,マサミチ
+クロダ,ケイコ
+ミヨシ,ナオコ
+ミズコシ,マキオ
+ミズコシ,トシオ
+ミズノ,タツヤ
+ミズノ,ノブハル
+ミズタニ,シンジ
+モリ,ショウジ
+モリ,ノリコ
+モリカワ,アキコ
+モリキ,ヤスヒロ
+モリシタ,ヨシミ
+モリタ,タダシ
+モリタ,カズヒロ
+モリヤマ,トシオ
+モリゾノ,ツヨシ
+モリ,サトル
+モリ,カツトミ
+モリ,ヤスオ
+モリ,ヒロノリ
+モロズミ,ノボル
+イノハナ,カズオ
+コジマ,シンゴ
+ムカイ,タツミ
+ムカイ,サチオ
+ムライ,チナツ
+ムラカミ,トオル
+ムラカミ,チハル
+ムラマツ,マサカズ
+ニワ,カツヒロ
+ムラタ,サトシ
+ムラタ,イチロウ
+オオノ,タカシ
+ムラヤマ,チハル
+ムトウ,ヒロヤ
+ムトウ,タカシ
+ムトウ,アマネ
+ムツシカ,エイイチ
+ナガイ,ヒロシ
+ナガイ,カツユキ
+ナガモト,ケンイチ
+アライ,タケトシ
+ナガオ,ヤスナリ
+ナガサワ,アツシ
+ナガサワ,カズト
+ナガヤマ,アキヒロ
+ナイトウ,フサノブ
+ナイトウ,カツオ
+ナカバヤシ,カズヒサ
+ナカダテ,コウイチ
+ナカガキ,マサノリ
+ナガエ,タカユキ
+ナカガワ,テルジ
+ナカガワ,トシユキ
+ナカゴメ,ヨシナリ
+ナカヒラ,ユタカ
+ナカイ,エミコ
+ナカジマ,カツトモ
+ナカジマ,ミエコ
+ナカジマ,ナオヤ
+ナカジマ,エリ
+ナカジマ,ツネアキ
+ナカジマ,ケイイチ
+ナカジマ,ナオヒデ
+ナカマタ,ノリヒロ
+ナカミチ,シュンイチロウ
+ナカムラ,マサキ
+ナカムラ,トシアキ
+ナカムラ,マコト
+ナカムラ,テルヒロ
+ナカムラ,シンジ
+ナカムラ,ハジメ
+ナカムラ,ノリアキ
+ナカムラ,ヒロユキ
+ナカムラ,カズヒコ
+ナカムラ,マサユキ
+ナカムラ,ナオキ
+ナカニシ,トシアキ
+オオニシ,マサノリ
+ナカニシ,トシユキ
+ナカニシ,ノブヤス
+ナカノ,キヨタカ
+オカザワ,カヨコ
+ナカノ,ノゾミ
+ナカノ,ヨシフミ
+ナカノ,モエコ
+ナカオカ,テツヤ
+ナカオ,フミコ
+ナカオ,エイジ
+ナカセ,コウシ
+ナカソギ,マサトミ
+ナカタ,シゲコ
+ナカツカ,タカシ
+ナカツカ,マコト
+ナカヤマ,ヒデキ
+ナカヤマ,アツシ
+ナカヤマ,タツヤ
+ナカヤマ,コウヘイ
+ナカヤマ,カツヒコ
+ナカザワ,ミツグ
+ナミキ,クニオ
+ナラシマ,マサアキ
+ナラ,タケヒコ
+クドウ,ヒサシ
+ナツノ,ミチハル
+ナツヤマ,ユウコ
+エトウ,ヒロシ
+ニヘイ,タカシ
+オクノ,サユリ
+マエホリ,ヒロミ
+ニシダ,ヒトシ
+ニシグチ,タツオ
+モリ,ユキコ
+ニシカワ,マサシ
+ニシクラ,シゲル
+ニシモト,マサキ
+ニシオ,トシヒコ
+ニシワキ,ケイコ
+ニシ,マサル
+ニワ,マサキ
+ノブマサ,ミサト
+ノダ,モトヒコ
+ノグチ,タカシ
+ノグチ,ケン
+ノホリ,ヒデユキ
+ノタニ,マサタケ
+ノマ,サトシ
+ノミヤマ,トシロウ
+ノモト,トシアキ
+タンザン,ミチオ
+オオカワ,カズヒコ
+ノノヤマ,マサキ
+ノリカネ,マサル
+ノロ,セイイチ
+ノ,シンイチ
+オバナ,ヒロシ
+オビナタ,アキヒコ
+オチアイ,ヨシノリ
+シマムラ,ヒロシ
+オダネ,ヨシカズ
+オガワ,ナオミ
+オグラ,ヒデトシ
+オグラ,セイジ
+オグラ,シンスケ
+オオグロ,イワオ
+オオバヤシ,ケイゾウ
+オオバヤシ,ヤスユキ
+オオバ,エリコ
+オチ,シンゴ
+オオデ,トシヒコ
+オオホリ,ノリオ
+オホ,コスケ
+オオイシ,モトイチ
+オキ,ヨシユキ
+オオクボ,マサヒロ
+オオクボ,マサクニ
+オオミチ,タケノリ
+オムラ,ツネアキ
+オオニシ,イサオ
+オノ,コウイチロウ
+オライ,ススム
+オサキ,サトシ
+オオサワ,ソウイチロウ
+オオサワ,タダシ
+オオサワ,リュウジ
+オオタニ,ケンジ
+オオタ,ナオキ
+オオトモ,アキオ
+オザキ,コウジ
+オオツカ,タケシ
+オオツカ,トシロウ
+オオツキ,テツヤ
+オオヤ,マサヒロ
+オヒャ,クニヒコ
+オオヤ,スグル
+オカダ,ツグオ
+オカダ,ヨシヒロ
+オカダ,トシヒロ
+オカダ,シンイチ
+オカハラ,ヒロキ
+オカモト,ヨシオ
+クサバ,ヒロシ
+オカムラ,マサカズ
+オカムラ,マサキ
+オカノ,ヒロシ
+トビタ,シュウヘイ
+ホソカワ,コウジ
+ウエダ,トヨカズ
+コセキ,ユミ
+タザワ,シュンジ
+ヤマザキ,ヨシカズ
+エグチ,ヒロユキ
+モチダ,ススム
+アキモト,キエイ
+ニシ,アツキ
+イマイシ,シゲトシ
+タカヤス,ノブヨシ
+ハタ,マサユキ
+フジサワ,アキラ
+ムトウ,ヒサシ
+モタイ,シンイチ
+タダ,タカユキ
+コイズミ,カズヨシ
+ツボクラ,コウゾウ
+ヒラバヤシ,ヒロジ
+ツジカワ,ヒロカズ
+ミツイシ,セイイチ
+ヤマシタ,ケンジ
+マルオカ,ノブタカ
+フカオ,トオル
+ツムラ,カナコ
+マユミ,トシエ
+アラカワ,ミドリ
+オフチ,ジュン
+ササモリ,ユタカ
+サトウ,アキラ
+タカギ,マコト
+タナカ,マサミツ
+ツボゴ,フミヒコ
+トリサワ,ヒロユキ
+ナカグキ,ケイゴ
+ハセガワ,トモユキ
+ハヤシ,コウジ
+ヒラヤマ,シゲル
+フクシマ,トシキ
+マツシマ,カズヒロ
+ヨシイ,ヒデキ
+イシイ,ノリコ
+イマイ,ミユキ
+ナカツジ,ユキエ
+ホイダ,ツネオ
+サワハタ,ミツル
+タハラ,ショウジ
+タカハシ,ミネマサ
+スズキ,ヒデアキ
+ヨコヤマ,ケンジ
+イシカワ,ケンジ
+アサノ,ヨシタカ
+カネコ,シュウジ
+クロセ,ヨウスケ
+サカキバラ,アラタ
+カサマ,ケイコ
+スギヤマ,ヨシマサ
+スダ,テツヤ
+タナカ,アヤ
+ツボイ,エツコ
+ハシモト,チエコ
+フクチ,サトミ
+アライ,トモコ
+タナカ,ケンジ
+ヤシマ,ナオユキ
+カワマタ,タケノリ
+スンダ,アツヤ
+ミズタニ,ミノル
+ヤマコシ,ノリユキ
+アマガヤ,ユメノ
+アラキ,ヒサヨ
+イマイ,トシハル
+イマザキ,タカヒサ
+キムラ,カツヒデ
+スギヤマ,イサオ
+スズキ,ダイスケ
+ツル,ミノル
+ハコザキ,アキラ
+タキザワ,ツヨシ
+イトウ,カズノブ
+マスダ,ヨシノリ
+ツバキ,チアキ
+ミスミ,チカコ
+ヤイタ,マキ
+カワツ,ヒトシ
+ツカダ,タケヒコ
+ナカモト,フミコ
+フナビキ,サナエ
+ヨシザワ,キョウコ
+トウマ,ヨウコ
+セキ,マリ
+ムラタ,ナオキ
+カタヤマ,マサヒロ
+キド,シュウジ
+コバヤシ,コウジ
+シノミヤ,トモカズ
+タナカ,カズユキ
+ハラ,ヨシノリ
+モリタニ,ショウヘイ
+イチノセ,カズユキ
+フジモト,カツユキ
+ウエノ,コウジ
+シシド,トシノリ
+ミウラ,ススム
+ウチダ,ルミコ
+ドイ,コウイチ
+ソスミ,トシユキ
+ヨシダ,マサユキ
+タカハシ,トシオ
+ヤマグチ,ナエコ
+ササ,ユキコ
+ハセガワ,カオリ
+アツタ,ヨシオ
+イチカワ,マサアキ
+ウノ,サトミ
+オガワ,ユキコ
+オダ,ヒロカズ
+タカサキ,マキコ
+タカハシ,ツヨシ
+タダ,タダシ
+タナカ,ヒロシ
+トクナガ,ヒロシ
+トミタ,ジュンコ
+ナイトウ,リエ
+ハラダ,エミコ
+ヒラカワ,トモコ
+フナモト,ヒロタカ
+ドバシ,ユキ
+ミウラ,チコ
+ヨシダ,ヒロアキ
+オオタケ,ジュンジ
+クラタ,ヤスヒロ
+クリタ,サトシ
+ダン,マコト
+モリシマ,シンジ
+ヨシダ,ヨウジ
+ワカバヤシ,ユミコ
+アゲマツ,ヒロミチ
+イシグロ,コスケ
+カトウ,カズヒロ
+サイトウ,シンイチ
+ナイトウ,ミチヨ
+ミヤマエ,トシヤ
+カドワキ,アツシ
+フクモト,ミキオ
+ニシハラ,アキラ
+オカヤマ,カズナリ
+オカヤス,ミエコ
+クロカワ,トオル
+オキタ,ヨシヒサ
+オクミヤ,マサカズ
+オクムラ,ダイ
+オノダ,ナルミ
+オノデラ,ヒトシ
+オノ,ハルユキ
+オノ,ナオフミ
+オノ,ヨシフミ
+マツイ,テルオ
+オソエガワ,ヤスナリ
+オザキ,ノブユキ
+オゼキ,ヒロユキ
+タカノ,イサオ
+リョウカイ,ヨシキ
+サゲサカ,リュウイチ
+サギヤ,キョウイチ
+サイタ,マサヒロ
+サイトウ,アキミツ
+サイトウ,ゴロウ
+サイトウ,ヒロユキ
+サイトウ,ツネオ
+サイトウ,リカ
+サカグチ,ヒデアキ
+サカイ,ヒロミ
+シマダ,ヒロシ
+サカキバラ,イツロウ
+サカモト,ケンジ
+サカモト,マサキ
+サカモト,ムネヒロ
+サカリ,ノブヒロ
+サカタ,サトル
+サクマ,シンジ
+サクライ,タカノブ
+サクライ,タカシ
+サクライ,ヨシヒロ
+サンノウマル,ユキオ
+サノ,ユタカ
+ササベ,タツロウ
+ササキ,シンゴ
+ササキ,トモヒロ
+ササキ,タケシ
+ササキ,ナオト
+ヨシダ,ヒロシ
+サトウ,ヨシヒコ
+サトウ,カズノリ
+サトウ,タカノリ
+サトウ,ハヤト
+サトウ,ヤスヒコ
+サトウ,ヨシユキ
+サトウ,ヨシト
+サトウ,アキオ
+サトウ,マサコ
+サトウ,トモコ
+サトウ,ユウイチ
+サトウ,チアキ
+サトウ,カズヤ
+サトウ,マサミ
+サトウ,サトシ
+サワイデ,ユウイチ
+サワイ,コウイチロウ
+サヤナギ,マリ
+セガワ,ヨシヒロ
+セイミヤ,ヒロシ
+セイヤマ,シゲキ
+セキカワ,アキラ
+セキ,コウジ
+セキ,タケシ
+センダ,ヒロタカ
+センゴク,キョウコ
+セノ,トシアキ
+セシモ,コウジ
+セタカ,ケイ
+スガ,リョウイチ
+ミナミ,ヤスシ
+シバタ,チアキ
+シブヤ,ヒロミチ
+シブヤ,ツヨシ
+シブヤ,マサノリ
+シイノ,ヒロコ
+シカタ,タカヒロ
+シキブ,ヒロシ
+シマダ,マサヒロ
+シマダ,ヒロシ
+シマガミ,トシアキ
+シマモリ,マサヒコ
+シマムラ,ユキノリ
+シマザキ,コウ
+シマザキ,タカアキ
+シミズ,エイゾウ
+シミズ,リエ
+シミズ,ヒロシ
+シモダ,ケイミン
+シモヒラ,コウタロウ
+シノハラ,アキヒロ
+シノハラ,マナブ
+シノザキ,ノブコ
+シノザキ,ヒロキ
+シンポ,カスミ
+シンタニ,ユウジ
+オオキド,ソトヒロ
+シオヌマ,キヨミ
+シオタ,クニアキ
+シオヤ,マサヒロ
+シオザワ,イサオ
+シライ,シゲキ
+シラサキ,ヒロシ
+シラトリ,マサトシ
+シラトリ,タカヒロ
+シロキ,ヒトシ
+シロシタ,シゲキ
+カシマ,ヨシオ
+シュウ,ゴイチ
+イマイ,ヒデハル
+ソエダ,ヒロコ
+ソガ,イズル
+ソワ,カズナリ
+スダ,コウイチ
+スダ,マサル
+スダ,ナオキ
+スエダ,ノリヨシ
+スエモリ,サキコ
+スエオカ,ショウイチ
+スガワラ,シンジ
+スゲノ,ヤスヒロ
+スギモト,ヤスオ
+スギタ,ユウイチロ
+スギヤマ,ミツオ
+スギヤマ,ケイイチロウ
+スギヤマ,エイジ
+スミトモ,ノボル
+スミ,ユキ
+スナガ,ヒデユキ
+スザキ,テツヤ
+スズキ,テルミ
+スズキ,アキラ
+スズキ,ヤスシ
+スズキ,ユキオ
+スズキ,シノブ
+スズキ,シンイチ
+スズキ,トシヤ
+スズキ,ヒロシ
+スズキ,カズアキ
+スズキ,ケイジ
+オオニシ,マサハル
+スズキ,ノブオ
+スズキ,ノリユキ
+スズキ,リョウスケ
+タボ,シン
+タブチ,タツヤ
+タブサ,トシフミ
+タチカワ,ヤスユキ
+ヒラキ,ユウイチ
+タガイ,ヤスシ
+タガワ,ミホ
+タガ,ノブタカ
+タグチ,ミサオ
+タグチ,シン
+タグチ,ミナコ
+タカバタケ,ヨウイチ
+タカギ,ケンタロウ
+タカハラ,トシヤ
+タカハシ,トシユキ
+タカハシ,ヒロシ
+タカハシ,セイイチ
+タカハシ,ヨシヒサ
+タカハシ,ハルサダ
+タカハシ,マサコ
+タカハシ,マサユキ
+タカハシ,ヒデオ
+タカハシ,カズシゲ
+タカハシ,ノリヒコ
+タカハシ,トヨミ
+タカハシ,ミノル
+タカイシ,トモアキ
+コバヤシ,カズヒロ
+タカミ,ミノル
+タカムラ,シロウ
+タカナシ,ヨシノリ
+ハセガワ,ヒロユキ
+タカノ,キョウコ
+タカオカ,タカキ
+タカオカ,ノブユキ
+タカタニ,アキラ
+タカツジ,カツジ
+タカツカ,キヨシ
+タカツ,マサミ
+タカヤマ,シンイチ
+タカヤマ,トオル
+タカヤマ,ヤスシ
+タケダ,コウイチ
+タケダ,ヤスノリ
+タケダ,タカカズ
+タケダ,ナオヒト
+タケモト,ノゾミ
+タケモト,カツシ
+タケウチ,タカコ
+タケウチ,ヒロカズ
+タケウチ,ユウイチ
+タケウチ,トオル
+タキモト,タカヒロ
+タマチ,ヒロシ
+タムラ,トシヒロ
+タナベ,ツカサ
+タナカ,ケイコ
+タナカ,ナギサ
+タナカ,タカユキ
+タナカ,マキ
+タナカ,ヒロフミ
+タナカ,クニヒコ
+タナカ,カオリ
+タンダ,ミキコ
+タニダ,キミホ
+タニガワ,ヨシタカ
+タニムラ,ヨシナリ
+タニ,ヒロブミ
+タシロ,ユキオ
+ヒラサカ,ノブユキ
+タワダ,エイエツ
+タワラ,シンジ
+テラダ,トヨヒサ
+テラサキ,ヒロユキ
+テラシマ,ヒデコ
+コバヤシ,タイゾウ
+テラウチ,ヤスミツ
+ワタナベ,シンイチ
+トキトモ,マサノリ
+トクダ,タカユキ
+サクラギ,ノリヒサ
+トミモト,マサヒコ
+トミタ,ヒデオ
+トモミ,ヒロミツ
+トングウ,マサシ
+トリウミ,ヒロスケ
+トヨダ,カツヒサ
+トヨサト,ヒロシ
+トヨシマ,テツヤ
+ツチダ,ジュン
+ツチモト,マコト
+ツチヤ,メグミ
+ツダ,タツロウ
+ツダ,ユカ
+ツジモト,ユキオ
+ツジ,ノリオ
+ツジ,ヒロシ
+ツカゴシ,トシカズ
+ツカモト,ケイジ
+ツキダテ,ヒロシ
+モリタ,コウゾウ
+ツルタ,シノブ
+ツシマ,トモアキ
+ツシ,トシヒコ
+ツツミ,スミト
+ツヤマ,ヤスキ
+ウチダ,ユキオ
+ウチダ,ヨウコ
+ウチヤマ,タケシ
+ウダ,ユカリ
+ウエダ,サオリ
+ウエダ,ヒロシ
+ツカモト,チエミ
+ウエダ,ヒデオ
+キキョウ,ヨシタカ
+ウエダ,イクエ
+ウエグリ,トオル
+ウエハラ,ヒロユキ
+ウエマツ,カツヤ
+サトウ,カズヒコ
+ウエノ,ヒデタカ
+ウエノ,ヨシコ
+ウエノ,ヒロユキ
+ウエノ,シゲキ
+ウエノ,ヒデキ
+ウエヤマ,ヒロノリ
+ウメダ,カナウ
+ウメカワ,カヨ
+ナガタ,ノリコ
+ウラゴ,トヨヒロ
+ウルシザカ,ユキオ
+タカハシ,ショウイチ
+ウツノミヤ,シンペイ
+ワダ,カズヒロ
+ワダ,ミキエ
+ワダ,シズオ
+ワカバヤシ,ユミコ
+ワカバヤシ,カズヒコ
+ワカマツ,カズキ
+ワカマツ,コウジ
+ワキモト,ナリト
+ワクイ,シュウジ
+イトイ,ヨシヒサ
+ワタベ,カツヤ
+ワタベ,ナオタカ
+ワタナベ,シュンイチ
+ワタナベ,ヒロシ
+ワタナベ,タダシ
+ワタナベ,エイイチ
+ワタナベ,ヒデトシ
+ワタナベ,ヒロユキ
+ワタナベ,ヒロユキ
+ワタヌキ,マサル
+ヤブシタ,ミドリ
+ヤブタ,ミツヨシ
+ヤブウチ,ショウヘイ
+ヤジマ,ヨウコ
+ヤクシジ,フミヒロ
+ヤマダ,ユキコ
+ヤマダ,ヒロエ
+ヤマダ,ヒサ
+ヤマダ,アキノブ
+ヤマダ,アキオ
+ヤマダ,エイスケ
+ヤマガミ,ヒロフミ
+ヤマグチ,ジロウ
+ヤマグチ,コウジ
+ヤマカワ,シン
+ヤマコシ,タカシ
+ヤマモト,アキヒロ
+ヤマモト,ケイ
+ヤマモト,マサミチ
+ヤマモト,ヒロユキ
+ヤマモト,エイジ
+ヤマモト,ヒロフミ
+ヤマモト,マサノリ
+ヤマモト,マサトシ
+カワグチ,アキラ
+ヤマムロ,ヒロミチ
+イワタ,タケシ
+ヤマオカ,カズヒロ
+ヤマサキ,ヒデクニ
+ヤマシタ,ヒロシ
+ヤマシタ,ツトム
+ヤマシタ,トシアキ
+ヤマシタ,アキコ
+ヤマシタ,ヒロユキ
+ヤマシタ,カズヒデ
+ヤマシタ,カツユキ
+ヤマシタ,アキラ
+ヤマザキ,ヒロユキ
+ヤマザキ,カオル
+ヤマザキ,コウジ
+ヤナガワ,マサヒロ
+タカオカ,ヒカル
+ヤナセ,リョウイチ
+ヤノ,トモユキ
+ヤオ,エリコ
+ヤスダ,トシフミ
+ヤスカワ,ヒトミ
+ヨガイ,コウイチ
+ヨコガワ,セイジ
+ヨコサワ,マサユキ
+ヨコタ,ミナコ
+ヨコタ,ヤスシ
+ヨコウチ,ツトム
+ナカヤマ,アツシ
+ヨコヤマ,ハルヒコ
+ヨコヤマ,マサオ
+ヨネハラ,トシユキ
+ヨネムラ,タダシ
+ヨシダ,マサトシ
+ミヤムラ,ツトム
+ヨシダ,キミアキ
+ヨシダ,マサカツ
+ナカ,ヨシヒロ
+ヨシムラ,ヨウイチ
+ヨシムラ,ヒロミ
+ヌマオ,ミネオ
+ヨシザキ,エイジ
+ナカムラ,ケンジ
+ユアサ,リョウタ
+ユゲ,タカヒロ
+ユカワ,ヨシタカ
+マツダ,ヨシツグ
+アベ,ヤスヒロ
+ハセガワ,カツマサ
+ハシモト,ヒトシ
+ヒラツカ,タモツ
+ホシカワ,ミノル
+ホソヤ,ショウジ
+イシハラ,タカシ
+イワキ,タチハル
+カネダ,コウジ
+キムラ,タケシ
+コンノ,マコト
+マツダ,ヨシヒサ
+ミヤシタ,シゲトモ
+サカモト,マリ
+ノムラ,シンイチ
+オオバヤシ,エツコ
+サイトウ,ユキエ
+ササガワ,ユウコ
+サトウ,ヤヨイ
+シガ,マサミツ
+シノハラ,マサシ
+ショウ,メグミ
+タケガワ,ミエコ
+タツミ,ユタカ
+トミエ,ノリヒコ
+ワタナベ,マモル
+ヤマダ,ユウイチ
+ヤマダ,トミヒロ
+ヤマモト,タケシ
+ヤマザキ,マサオ
+コマツザキ,チアキ
+フチダ,マサヒコ
+タナカ,カズユキ
+ハヤシ,サホリ
+ナガタ,セイイチ
+ババ,マコト
+アカマ,タカシ
+カザマ,カズシゲ
+モリ,ヒロアキ
+イケダ,ツヨシ
+ワタナベ,カツト
+ミマ,フミオ
+アンドウ,トモヒロ
+マエゾノ,ミツヒロ
+オタカ,コウイチ
+ハヤシ,マサヒロ
+ウエノ,カズタカ
+ツノダ,ケイイチ
+スドウ,タカトシ
+サカモト,ミツアキ
+タナカ,モリシゲ
+コトウダ,ユキノリ
+カルベ,フミヒロ
+サイトウ,テルヨシ
+ヒラノ,ヒロコ
+サトウ,ヒロマサ
+ナカヤマ,ケンイチ
+ノダ,ユリコ
+マ,ヤスヒロ
+シナガワ,チカラ
+ナガヤス,コウジ
+アオキ,コウジ
+ナカタ,ハヤト
+ミクリヤ,テルユキ
+マルヤマ,ヒデトシ
+エチゼン,ヒサシ
+ナカニシ,ショウイチ
+ハギオ,トモヒコ
+タムラ,マサアキ
+タグチ,ヨシトシ
+オザワ,オサム
+ヤオイタ,トシヒロ
+アサノ,ノリヤス
+クサノ,テルヒロ
+ハマダ,マサジ
+イリヤマ,ハナコ
+ムラタ,ナオヤ
+アサノ,ヨウジ
+タカノ,ケンイチ
+ヤマグチ,アキトシ
+ムラカミ,ノリヒロ
+タナカ,カツジ
+タカオカ,ジュンイチ
+スズキ,ミサホ
+ミネギシ,ナオヤ
+アベ,ノリアキ
+アベ,ミズホ
+アベ,シュンジ
+アベ,ヒデキ
+アガツマ,アキラ
+アイザワ,タカシ
+アカイケ,ジュンコ
+アキモト,ヨシノブ
+アキタヤ,ユキオ
+アキヤマ,トシユキ
+アクツ,シゲキ
+アマノ,タダカツ
+アマノ,アツノリ
+アマノ,フミエ
+アメミヤ,カズミ
+アンドウ,マサヒロ
+アンドウ,テンセイ
+アンザイ,ユウジ
+アオキ,リツコ
+アオキ,タカユキ
+アオキ,サダハル
+アライ,ハルヒト
+アラキ,ヨウイチ
+アラキ,シゲミツ
+アラヤ,ヨシタカ
+アリヨシ,トモノブ
+アサヒナ,ヨウイチ
+アサイ,ナリト
+アサミ,ヒロユキ
+アサツケ,カズユキ
+アソ,クニカズ
+アズマ,マコト
+アズマ,サトコ
+ババ,スミコ
+ババ,トモコ
+カガ,ヨシキ
+ババ,ユウスケ
+バン,ユカ
+ビルカワ,レイコ
+ボウ,フクオ
+ダイゴ,シュンスケ
+ダイゴク,ジュンイチ
+ドバシ,トオル
+エビサワ,ヒロシ
+エハラ,ヒロトシ
+フチガミ,リュウタロウ
+フジバヤシ,ヒロシ
+フジエダ,リョウイチ
+フジイ,セイゴ
+フジイ,シンジ
+フジイ,ヨシノリ
+フジイ,マサヤ
+フジイ,ヒデアキ
+サカモト,シュウヘイ
+キタダ,エイイチ
+フジイ,カオル
+フジイ,シンイチ
+フジイ,タツヤ
+フジカワ,カズヒコ
+フジモリ,キョウコ
+フジモト,ヒロシ
+フジノ,セイジ
+フジサワ,ヒロタカ
+フジタ,トシヤ
+フジタ,ヒロシ
+フジタ,ケイジ
+クスモト,ヒロフミ
+フジワラ,ヒロシ
+フジワラ,ケイ
+フジワラ,マコト
+フジワラ,ヒロム
+フジワラ,トシキ
+フカボリ,ヒデオ
+フカミ,サナエ
+フカミ,ヒサコ
+フクダ,ユウコ
+フクダ,サトミ
+フクダ,ジュン
+フクダ,ユカ
+フクイ,ノリチカ
+フクイ,トモジ
+フクナガ,ケンジ
+フクナガ,マサヤス
+フクオカ,ミノル
+フクオカ,イサオ
+フクシ,ヤスノリ
+フクシマ,トシユキ
+フクトメ,セイジ
+フクヤマ,カツヒト
+フナバシ,トオル
+フルノ,アキラ
+フルヤ,トシユキ
+フルヤ,ヒロユキ
+フルヤマ,ミノル
+フタバ,ユミコ
+アナミ,ヒサノリ
+フタミ,フジオ
+フタムラ,トモコ
+ガド,ヒサシ
+ゴウ,リョウコ
+ゴウダ,シン
+ゴカ,タツヤ
+ゴトウ,トシタカ
+ゴトウ,シノブ
+ハブ,ショウジ
+ハガ,アツシ
+ハギ,ケンジ
+ハマ,タダヒロ
+ハマダ,マサル
+ハマノ,オサム
+ハマノ,タツヤ
+ハマシマ,ユミ
+ハマシマ,サダミツ
+ハナイ,テツオ
+ハラ,タツキ
+オタ,コウイチ
+ハラダ,ナオキ
+ハラコ,タツヒロ
+ハセ,ユタカ
+ハセガワ,ヒロシ
+ハセガワ,ショウジ
+ハシモト,サトシ
+ハシモト,セツオ
+ハシモト,アケミ
+ハシズメ,マサキ
+ハシズメ,ナオキ
+ハタ,シンイチ
+ハタ,ヨシヒコ
+ハタ,タケヒコ
+ハタノ,キョウコ
+ハタノ,ヤスユキ
+ハタノ,ヨシヒロ
+ツダ,ヒロコ
+ハヤカワ,ヨシノリ
+ハヤノ,カナコ
+ハヤシ,サオリ
+ハヤシ,ススム
+ハヤシ,ノブユキ
+ハヤシ,ヒロユキ
+ハヤシ,トシロウ
+ハヤシタニ,アキラ
+ヒガシノ,キミタケ
+ヒグチ,カズヒコ
+ヒグチ,シンイチロウ
+ヒメノ,ヤスシ
+ヒラバヤシ,ユウコ
+ヒライ,ユウイチ
+ヒラカワ,ヒロシ
+ヒラキ,ヒロシ
+ヒラノ,セイリョウ
+アオキ,ミチコ
+ヒラオカ,マサヤ
+ヒラサカ,ヒロユキ
+ヒラヤマ,ヨシノリ
+ヒロハタ,ユウイチロ
+マエカワ,ヤスヒロ
+ヒロセ,マナブ
+ヒロセ,ヒロヨシ
+ヒロタ,マサノブ
+ヒロワタリ,タカヒロ
+ヒロミツ,ヒロシ
+ヒウラ,マモル
+ホボ,タイスケ
+ホクラ,マコト
+ホンダ,イサオ
+ホンダ,ヨウコ
+スズキ,ヒデキ
+ホンゴウ,カズタカ
+ホリグチ,キイチロウ
+ホリイ,キニチ
+ホリカワ,テルオ
+ホシノ,ヤスヒロ
+ホソカワ,ヒデユキ
+ホソミ,ヒロアキ
+ホッタ,カズアキ
+イブカ,ノブミチ
+イブキ,ヒデユキ
+イチカワ,ヒロシ
+イチムラ,キミエ
+イダ,カナメ
+イダ,チハル
+イデ,ヤスヒデ
+イデ,キヨタカ
+イデ,ナオユキ
+イデタ,タカシ
+イガラシ,ケイコ
+イガラシ,ユキヤ
+イゲ,サツキ
+イイダ,ショウゾウ
+イイダ,タカユキ
+イイダ,タマミ
+イイダ,ヨシヒサ
+イイハラ,ヒロシ
+イイジマ,タケシ
+イケダ,カツヤ
+イケダ,マサアキ
+イコマ,ノブマサ
+イマイ,キヨヒト
+イマイ,マコト
+タナカ,キョウコ
+イマムラ,コウイチ
+イマナリ,タツヤ
+イマゼキ,ジュンジ
+イナダ,マユミ
+イナマス,ヒロシ
+イノウエ,ヒロユキ
+イデ,マサヒロ
+イレイ,マサル
+イシハラ,ミツミ
+イシハラ,ミユキ
+イシハラ,ナオキ
+イシハラ,ススム
+イシハラ,ジュンイチ
+イシイ,タカユキ
+イシイ,トモユキ
+イシカワ,ユウジ
+イシカワ,ナオフミ
+イシムラ,ヒロユキ
+イシワタリ,マスミ
+イシザキ,ノリヨシ
+イシズカ,ナオトク
+イソノ,ミツトシ
+イソヤマ,ミツノブ
+イスダ,シゲオ
+イタクラ,マサヒロ
+イトウ,マサヒロ
+イトウ,ヒロフミ
+イトウ,ヨシマサ
+イトウ,ハルオ
+マツイ,タケヒコ
+イトウ,タケヒコ
+イトウ,マサチカ
+イトウ,マサヒコ
+イワカミ,ツトム
+イワサ,トシミ
+イワサキ,ユウジ
+イワサキ,ナオユキ
+イワシタ,ミチタカ
+イズミ,トオル
+イトウ,アツシ
+イズミ,トヘイ
+イズミサワ,セイジ
+ジンノ,ヤスシ
+ミド,リュウジ
+カガ,アケミ
+カガミ,フサオ
+カゲヤマ,ヒサナガ
+カイ,ヒトシ
+カイダ,コウジ
+カイズ,タケヒト
+カジタ,ジ
+カケヒ,アケミ
+カキモト,トモヒロ
+カキヌマ,サチコ
+カキヌマ,シズカ
+カマタ,トシエ
+カマタ,ケンイチ
+カミグチ,ミエコ
+カミムラ,ヨシオ
+カネコ,マサノリ
+カナマル,ジ
+カナザワ,マモル
+カンベ,タカヒロ
+カンダ,コウゾウ
+カネハラ,ケン
+ゴトウ,シゲカズ
+カネコ,タケシ
+カネコ,ヤスナオ
+カネコ,アキラ
+カネコ,ヒデトシ
+カネコ,ヒロフミ
+カネミツ,ヒロミツ
+カネムラ,カズオ
+カネタ,コウイチ
+タナカ,マサヨシ
+ヨネモチ,ナオシ
+カンノ,ヤスマサ
+カサイ,ユカリ
+カシマ,コウジロウ
+タカギ,ヒデキ
+キタムラ,マサミ
+カタオカ,ヤスユキ
+カタオカ,カズヒコ
+カタオカ,シゲユキ
+カタセ,ヤスナリ
+カタヤマ,ミチコ
+カタヤマ,ナオユキ
+カタヤマ,ユウコ
+カタヤマ,キョウコ
+カトウ,ヤスヒロ
+カトウ,ヒロアキ
+カトウ,シンイチ
+カトウ,ツトム
+カトウ,ヒロユキ
+カトウ,トシヒロ
+カトウ,ヨシミ
+カトウ,ユウジ
+カトウ,ツトム
+ソメヤ,ジュンコ
+カワバタ,マコト
+カワグチ,マサイチ
+カワグチ,シンヤ
+タマガワ,コウイチロウ
+カワハラ,ヒサシ
+カワハラ,ジュンジ
+カワヒト,カツヒサ
+カワイ,ノリヒサ
+カワイ,ノリコ
+ハギワラ,シゲキ
+ナルケ,タカシ
+カワサキ,ヨシヒロ
+カワシマ,ユカリ
+カワシマ,ユキコ
+カワタ,ユタカ
+カヤマ,ヒロカズ
+カザマツリ,ヒロコ
+キド,タカフミ
+キガミ,マナブ
+キゴシ,ヒサヤ
+モリサワ,キヨシ
+キクチ,ミツグ
+キクチ,キイチ
+キクチ,ノリオ
+キクラ,カツミ
+キムラ,ツネオ
+キムラ,ヒロキ
+キムラ,アケミ
+キムラ,トモヒサ
+キムラ,カツノリ
+キムラ,ケイイチ
+キムラ,マサキ
+キムラ,マサユキ
+キムラ,ケンイチ
+キムラ,ノリコ
+キムラ,シンキチ
+キノシタ,タイコ
+キノシタ,トシヒコ
+キノシタ,ヤスヒロ
+キシベ,ヒロキ
+キシダ,ヨシノリ
+キシモト,タケシ
+キシモト,タツヤ
+キタ,タカミチ
+キタアキ,ヒロユキ
+キタダ,ヒロユキ
+キタガワ,トシユキ
+キタホリ,ヒロユキ
+キタジマ,タツヤ
+キタムラ,ヒロシ
+コバヤシ,シゲヨシ
+コバヤシ,カズヒロ
+コバヤシ,チフユ
+コバヤシ,ヤスユキ
+シライ,ダイスケ
+コバヤシ,ヒロユキ
+コバヤシ,シンイチ
+コバヤシ,トシヤ
+コバヤシ,トシキ
+コバヤシ,ナオフミ
+コダマ,ヒロユキ
+コギタ,ケイイチ
+コグレ,ヨシカズ
+コハシ,ノリシゲ
+コゴ,タカヒデ
+コンノ,ヨウ
+コンノ,キンヤ
+コンノ,ヤスヒロ
+コンノス,ヒロカズ
+コイデ,コウジ
+コマツバラ,ヒデトシ
+コミヤ,オサム
+コミヤマ,ヨシヒロ
+コモダ,タカシ
+コンド,カズマサ
+コンド,マサト
+コンド,ヒトシ
+コンド,カツヤ
+コンド,カズトシ
+コニシ,アキノリ
+コサ,マサト
+コスギ,ケンイチロ
+コタキ,マサユキ
+コタニ,ケイイチ
+コヤマ,ミキ
+コヤマ,ヒロミ
+コヤマ,カツヒコ
+コザワ,マサノリ
+コズル,ヨシアキ
+クボタ,ヒロシ
+クボタ,ジュンコ
+クボヤ,トモコ
+クドウ,ジュン
+セノオ,ヒトシ
+クマガイ,カズノリ
+クラドミ,キヨフミ
+クラモト,ノリユキ
+クラトミ,ケイスケ
+クリノ,ヤスヒロ
+クリヤ,ユウイチ
+クロダ,ヒロシ
+クロカワ,ミツアキ
+クサカワ,ノブミツ
+クサノ,サトシ
+クワバラ,トシヒロ
+クワノ,ヤスヒロ
+ヨシダ,サトル
+クズノ,ヒロカズ
+マチダ,ヒロシ
+マエダ,ケンイチ
+マエカワ,ミネカズ
+オオタニ,タダシゲ
+マキ,タクヤ
+マキノ,トシオ
+マルオカ,ヤスヒロ
+マルヤマ,ジュンコウ
+マルヤマ,ノリヒロ
+マルヤマ,ミノル
+マサイ,シンゴ
+マサキ,ヒデヨ
+マセ,タカシ
+マスダ,ユタカ
+マトバ,タカトシ
+マトバ,クニヒコ
+マツバラ,タカアキ
+マツイ,ヒサシ
+マツイ,ヤスヒロ
+マツカワ,セイイチ
+マツモリ,ショウゾ
+マツモト,タカシ
+マツモト,マサヨシ
+マツモト,シゲル
+マツモト,ジュンコ
+マツモト,タケシ
+マツモト,トオル
+マツモト,サダオ
+マツオ,カズヨシ
+マツオカ,タケトシ
+マツシマ,タカヒロ
+ナカニワ,トシロウ
+マツヤマ,ジュン
+マツヤマ,ジュンジ
+マツザワ,ヒデヨ
+ミムラ,シュンイチ
+ミニュウ,コウイチ
+ミタ,マナブ
+ミタ,ヒロカズ
+ミタムラ,ジュン
+ミツダ,オサム
+ミツダ,ジュンイチ
+ミツマタ,ヨシノリ
+ミツオカ,アヤコ
+ミウラ,キョウコ
+ミウラ,ミドリ
+ミワタ,ナオキ
+ナガセ,タカシ
+ミヤケ,アキオ
+ミヤケ,ユカリ
+ミヤマ,セイジ
+ミヤモト,テツオ
+ミヤモト,ヒトミ
+ミヤナガ,マサカツ
+ミヤザキ,モトフミ
+ミズバ,ヒロシ
+ミズヌマ,カツミ
+ミズサキ,ミワ
+ミズタ,ノリアキ
+モチズキ,シュウイチ
+モチズキ,アツキ
+モチズキ,チカラ
+モギ,ヒロシ
+モモセ,ツヨシ
+ヒラノ,アキヒデ
+モリ,ユウキ
+モリ,マサユキ
+モリ,マサユキ
+モリ,シゲオ
+モリカワ,シンジ
+ヤギシタ,イサオ
+モリモト,コウイチロウ
+モリモト,コウジ
+マツダ,ケンジ
+モリオカ,アキヒコ
+モリシタ,リエ
+モリタ,クニヒロ
+モリタ,キヨエイ
+カネコ,カズアキ
+モリタ,マサユキ
+モリワキ,ノブユキ
+モロドミ,ヨウイチ
+モトハシ,ヨシヒデ
+モトジマ,テツオ
+モトキ,ケイコ
+モリ,ミワ
+ウスイ,カオル
+ムラカミ,タケオ
+ムラカミ,ダイセイ
+ムラカミ,ヒデシ
+ムラカミ,ヒトシ
+ムラタ,ヨシオ
+ムラタ,キヨヒコ
+ムラヤマ,サトシ
+ムトウ,ヨシヒロ
+ナダグチ,スミト
+ナガハシ,イサオ
+ナガイ,マサヒロ
+ナガムラ,マコト
+ナガオ,マサミ
+ナガシマ,ミチノリ
+ナガシマ,ミヨコ
+ナガタ,ナオリ
+ナガタ,ノボル
+ナガツカ,ノリユキ
+ナガヤマ,サナエ
+ウチダ,タカヒデ
+ウチゾノ,タカシ
+ナカダ,トシヤ
+ナカガワ,ヤスヒロ
+ナカガワ,ユキヒロ
+ナカガワ,チハル
+ナカガワ,ナオユキ
+ナカジマ,コウイチロウ
+ナカジマ,ヒロアキ
+ナカジマ,キョウコ
+ナカミチ,リュウイチ
+ナカモト,ヤストモ
+ナカモト,ヒロシ
+ナカムラ,ヒロシ
+ナカムラ,ユミコ
+ナカムラ,ヒロシ
+アキヤマ,タカジ
+ナカムラ,ヒデト
+ナカムラ,ツトム
+ナカムラ,タカコ
+ナカムラ,ユキコ
+ナカムラ,ヨシヒコ
+ナカムラ,セイジ
+ナカムラ,ユウイチ
+ナカムラ,ヒロミ
+ナカムラ,サトシ
+ナカノ,タカシ
+ナカノ,ケイジ
+ナカシマ,ノリオ
+ナカツボ,マサヒコ
+ナカツカ,テツロウ
+ナカヤマ,マコト
+ナカヤマ,マサヒコ
+ナカザワ,オサム
+ナオツカ,アキコ
+ナラハラ,サトシ
+ナルシマ,マサコ
+ナトリ,ヒロタカ
+ニイジマ,ユカ
+ニイヤ,リカ
+ニシ,トシヒサ
+ニシ,マサヒロ
+ニシブ,アヤコ
+ニシダ,タツヤ
+ニシハラ,タカアキ
+ニシカワ,マサコ
+タナカ,イサオ
+ニシカワ,マサト
+ニシモト,ヒデアキ
+ニシモト,ナオコ
+ニシムラ,タカシ
+ニシムラ,コウゾウ
+ニシノ,ケンジ
+ニシノ,シンヤ
+ニシオカ,マサノブ
+ニシザキ,ケンジ
+ニシザワ,ダイスケ
+ニワ,モリヨシ
+ノブ,ミノル
+ノガイト,ノブユキ
+ノグチ,ヨウコ
+ノジ,ヒロユキ
+ノジマ,ノリオ
+ノムラ,アキコ
+ノムラ,シンイチ
+ノナカ,ユキノリ
+ナカジマ,チフユ
+ノザキ,ミキオ
+ノザキ,ヨシユキ
+ヌワ,タケシ
+オチ,タカシ
+オチアイ,トシユキ
+オダ,アツシ
+オガサワラ,ヨシユキ
+オガサワラ,トミオ
+オガタ,カズハル
+オガワ,ケンイチ
+オギハラ,ヒロキ
+オオハラ,カツミ
+オオバ,ユミコ
+オオバ,エイジ
+マツダ,シゲユキ
+オオエ,ユウジ
+オオガキ,カズヒロ
+ショウジマ,トシヒデ
+オハマ,ヒロユキ
+オオハシ,ケイコ
+オギノ,シゲキ
+オオカワ,コウイチ
+オオカワラ,マナブ
+オキ,マサヒコ
+ネモト,ジュン
+オオクボ,ノブユキ
+オオクラ,トモヒコ
+オマ,トモヒサ
+オオミカ,テツシ
+オオモリ,ヒデミ
+オオモリ,ヒロアキ
+ワタナベ,カズアキ
+オオニシ,ミツル
+オオニシ,マサヒデ
+オノ,サナエ
+オノ,ジュンコ
+オオヌマ,マサオ
+オシマ,タカユキ
+オシマ,マサシ
+オオタ,マサユキ
+オオタ,モトイ
+オオタ,カオル
+オオタカ,トシアキ
+オオタケ,サエコ
+オオタケ,ヒデフミ
+オオタニ,クニオ
+オオツボ,アツユキ
+オオツカ,テツオ
+オオツカ,トシヒコ
+オオツキ,イズミ
+サコダ,シュウイチ
+オオワ,サトシ
+オオヤ,ジュンセイ
+オイカワ,マサキ
+オカベ,マナブ
+コバヤシ,ソウ
+オカダ,ヤスミツ
+オカダ,テツジ
+オカダ,テツヤ
+オカモト,ヒデアキ
+オカモト,ヒデノブ
+メラ,ヒロユキ
+オカノ,カズノリ
+オカザキ,カズユキ
+オキタ,サトコ
+オクダ,エイイチロウ
+オクヌキ,マサカズ
+オンダ,チズコ
+オンダ,ヒラタカ
+ウツミ,マサヒロ
+オオノ,タカシ
+オオノ,ユキヒロ
+カワモト,ヒデユキ
+カド,クニヒロ
+オシマ,シロウ
+オオスミ,アキラ
+オオタ,カズユキ
+オリイ,シュンジ
+オリタ,シュウイチ
+オオサカ,トヨヒデ
+オソノイ,ユキオ
+オザサ,ユキノブ
+オザワ,タツジ
+オザワ,ナオノリ
+オザワ,ヤスヒロ
+シラトリ,ジュン
+オゾネ,アキオ
+サノ,ヒロヒサ
+サイトウ,マサミ
+サイトウ,ナオキ
+サイトウ,ミエコ
+サイトウ,ケイジ
+サイトウ,チカコ
+サカイ,ヒロミ
+サカイ,ケンジ
+サカイ,マコト
+サカキバラ,ミツアキ
+サカモト,レイコ
+サカモト,ヨシオ
+サカモト,トモコ
+サカモト,ジュンペイ
+サカモト,カオル
+サカムラ,ケンジ
+サカネ,コウジ
+サカタ,マサヒコ
+サカタ,マサヒロ
+アクタガワ,マサヒロ
+サクライ,マサト
+サクライ,ルリコ
+マツバラ,リョウコ
+サクライ,サトル
+サナギ,ヨシキ
+サノ,ユキコ
+オオガキ,チヒロ
+ササキ,フミヒロ
+ササキ,トオル
+ササキ,ヒデユキ
+ササキ,イクフミ
+ササキ,ナガマサ
+ササキ,トモコ
+サタケ,タカユキ
+コダマ,マサヒロ
+サトウ,トオル
+サトウ,フジオ
+サトウ,ヒデハル
+サトウ,マモル
+サトウ,マユミ
+サトウ,シロウ
+サトウ,ケンジ
+サトウ,ヒデノリ
+サトウ,ケイイチ
+サトウ,アキヒロ
+サトウ,ヒデキ
+サカイ,ケンジ
+サワダ,コウタロウ
+セガワ,サトル
+セイノ,ショウジ
+セキ,ツトム
+セキド,シンジ
+セキノ,ノリヒロ
+セオ,タカユキ
+セリカワ,オサム
+シバサキ,ヒロノリ
+シガ,カナミ
+シゲル,ヨシコ
+シマダ,アツシ
+シマダ,ミツエ
+シマダ,マコト
+シマダ,カオル
+シマモト,ミツヤス
+シマムラ,タツヤ
+シマノ,タカシ
+シミズ,タカアキ
+シミズ,トシヒロ
+シミズ,タダシ
+シミズ,ツトム
+シミズ,コウジロウ
+シミズ,サトル
+シミズ,ミズキ
+シモダ,ヒロユキ
+シモガキ,ケンヤ
+シモハタ,ヒロユキ
+シモムラ,ノブヒロ
+シモオカ,トシアキ
+シムラ,ショウイチ
+ヤエガシ,アツコ
+シノザキ,アツシ
+ハギワラ,ヒデオ
+シオダ,マサヒト
+シオタ,ヒサヨシ
+シオザワ,ケンイチ
+シライ,タケシ
+シライシ,トモヒサ
+ショウダ,ケンジ
+シュウ,トモコ
+ソメヤ,マサシ
+スダ,クミコ
+スエ,ヒデオ
+スエタ,ヒデオ
+シブイチ,ヒデユキ
+スガノ,ヒロユキ
+スガワラ,ヒサタカ
+スギエ,カツトシ
+スギマサ,ケイタ
+スギモリ,ノブユキ
+スギモト,トオル
+スギサキ,ヨウコ
+スギウラ,ユキオ
+スギウラ,ジュンイチ
+ミズオチ,タカシ
+スギヤマ,マサヤ
+スギヤマ,マナブ
+スギヤマ,ケン
+スギヤマ,タケシ
+スミ,マサモト
+タベイ,ヨシノリ
+スナミ,ヒロコ
+スサワ,オサム
+スズキ,アキコ
+スズキ,エイジ
+スズキ,ヒデユキ
+スズキ,ヒロアキ
+スズキ,カナコ
+スズキ,カナコ
+スズキ,カズヨシ
+スズキ,ケンタ
+スズキ,コウジ
+スズキ,マサノリ
+スズキ,ナリマサ
+タベ,リュウイチロウ
+タチハラ,タカシ
+タゲ,トシキ
+タグチ,ワタル
+ナカタ,ワタル
+タグチ,シン
+タジマ,アキラ
+タジマ,マコト
+タカダ,コウイチ
+タカギワ,ミツヒロ
+タカハシ,カズヨシ
+タカハシ,ヒロヤス
+タカハシ,カズノリ
+タカハシ,ミツトシ
+タカクラ,コウジ
+タカクラ,ヤスマサ
+タカハシ,ヤヒロ
+タカハシ,アキフミ
+タカハシ,オサム
+タカハシ,ユウジ
+タカハシ,ヒロユキ
+タカハシ,ツカサ
+タカハシ,シンイチ
+タカハシ,ユウコ
+タカハシ,マコト
+タカハシ,ヒデキ
+タカクラ,ツトム
+タカミヤ,タマミ
+タカサゴ,クニヒコ
+タカサキ,マサト
+タカセ,マサヒト
+タカツカ,シンイチ
+タカヤナギ,シゲル
+タカヤナギ,ヤエキチ
+タケチ,ヒデアキ
+タケダ,ヒロシ
+タケダ,イツヒト
+タケガミ,カツミ
+タケヒサ,マコト
+タケイ,ノブオ
+タケイ,タダユキ
+タケカワ,タケヒコ
+タケムラ,トシヒデ
+タケナカ,トシヒロ
+イマイ,ヨウイチ
+タケサコ,ヨウイチ
+タケシマ,カツシロウ
+タケウチ,ヒロトシ
+ヒダカ,トオル
+タキモト,ミドリ
+タキザワ,キクミ
+タマイ,マサル
+タムラ,ショウイチ
+タナベ,エイジ
+タナベ,ヨウヘイ
+タナカ,アキト
+タナカ,イサム
+タナカ,ミドリ
+タナカ,ヨシナリ
+タナカ,ヤスジ
+タナカ,タカシ
+タナカ,アリヒト
+タナカ,シンゴ
+タナカ,シュウイチ
+タナカ,ヒロユキ
+タナカ,タカシ
+サノ,ヒロフミ
+タニ,エイイチロウ
+タニムラ,ヨシフミ
+タニヤマ,ダイスケ
+タサカ,ヤスマサ
+カトウ,エイジ
+テラダ,ヨシユキ
+テラマエ,マキ
+テラニシ,ノブユキ
+テラニシ,ヒロミツ
+テラゾノ,カオリ
+トビタ,マサミ
+イズミサワ,ヒデキ
+トダ,サトシ
+トグチ,タケシ
+トマツ,トモアキ
+アキムラ,ノブユキ
+トキタケ,タケシ
+トクマス,アキヒロ
+トクタケ,アキヒコ
+トマキ,カズヤ
+トミイ,マサヒロ
+トミタ,キミオ
+トミヤマ,マサト
+トモダ,クミコ
+トモナガ,マサノリ
+トサカ,ナオト
+トットリ,アキヒコ
+マツオ,ヨシユキ
+トヨダ,ヨシユキ
+ツボイ,アキラ
+カトウ,トシヒロ
+ツチヤ,カズシ
+ツダ,シンゴ
+ツジ,マサヒコ
+ツジ,ヨウイチ
+ツジノ,ヨウスケ
+ツカコシ,アキラ
+ツカモト,シゲヒロ
+ツカザキ,フミヒロ
+ツキアシ,アキラ
+ツキザワ,コウジ
+ツミタ,エイイチ
+エンド,タダヒコ
+ツト,トシヒロ
+ツムラ,ヨシオ
+ツネカワ,ソノスケ
+ツルオカ,ヨシヒコ
+ツルタ,ノリコ
+ツルタ,モトユキ
+ツルタ,タツユキ
+ツツミ,シュンヤ
+ツツミ,カツミ
+ツワコ,ユカ
+ツヤマ,キヨフサ
+ウチダ,ショウコ
+ウチダ,マサヒロ
+ウチダ,セツコ
+ウチヤマ,シンゴ
+ウチヤマ,ヒデオ
+ウド,キヨミ
+ウエダ,ハルキ
+ウエダ,ヨウスケ
+マツムラ,ダイジロウ
+ウエダ,アケミ
+ウエダ,アキオ
+ウエマツ,ヒデオ
+ウエノ,ヒロミ
+ウエノ,ジュンジ
+イシダ,カズヒコ
+ウメダ,コウセイ
+ウメガキ,クニコ
+ウノ,マモル
+ウラハシ,
+シミズ,サトシ
+エガシラ,タダシ
+スエカネ,テルユキ
+ウツ,トオル
+ウツハシ,トシヒロ
+ウツミ,ケイイチ
+ワダ,ツネフミ
+ワダ,タツミ
+キタワキ,セイキ
+ワシズ,ハルナガ
+ワタベ,フミヨ
+ワタナベ,ヒロシ
+ワタナベ,マサヤ
+ワタナベ,サトミ
+ワタナベ,シンイチ
+ワタナベ,タカシ
+ワタナベ,ツトム
+ワタナベ,ヨシアキ
+ワタナベ,ツネオ
+ワタナベ,マサヨ
+ワタナベ,エイジ
+ワタナベ,ヒロコ
+ワタナベ,ヒロユキ
+ワタナベ,カツシ
+ワタナベ,ユウジロウ
+ワタナベ,ヤスオ
+エハラ,アツシ
+ワタナベ,ヒデアキ
+ワタライ,ジロウ
+ヤエガシ,オサム
+ヤハギ,シノブ
+ヤマダ,シュウイチ
+ヤマダ,タケシ
+ヤマダ,ヨウジ
+コンド,トシヤ
+ヤマダ,アツシ
+ヤマダ,オサム
+ヤマダ,ミキ
+ヤマダ,アキヒロ
+エノモト,ヒロシ
+サイトウ,ヒロユキ
+ヤマグチ,キンヤ
+フジタ,マサトシ
+ヤマグチ,サトコ
+ヤマグチ,ヤスヒロ
+エザキ,ヒトシ
+ヤマグチ,サトル
+ヤマモト,サトシ
+ヤマモト,トオル
+ヤマモト,ヤスシ
+ヤマモト,タケシ
+ヤマモト,コウイチ
+ヤマモト,コウキ
+ヤマモト,トシユキ
+ヤマモト,マサル
+ヤマナカ,ヒロシ
+ヤマネ,ミチル
+ヤマノクチ,サトシ
+ヤマサキ,タカシ
+ヤマシタ,マサカズ
+ヤマシタ,ヒロキ
+ヤマシタ,ケイイチロウ
+ヤマシタ,コウキ
+ヤマシタ,シゲミ
+シサイ,マサユキ
+ヤマシタ,トシヒロ
+ヤマウチ,トシユキ
+ヤマウチ,マコト
+ヤマザキ,ヒデオ
+ヤマザキ,タダシ
+ヤマザキ,ムツミ
+ヤナギモト,タケシ
+ヤノ,リョウジ
+ヤノ,ヒロキ
+ヤシロ,ヤスシ
+ヤザワ,マコト
+ヨダ,シュンスケ
+ヨギ,フミユキ
+ヨコイ,コウジ
+ヨコヤマ,ケンショウ
+ヨネザキ,フトシ
+ヨシダ,ジュン
+ヨシダ,リエコ
+ヨシダ,カズヨシ
+ヨシダ,ジュンコ
+エビナ,セイイチ
+ヨシダ,タダシ
+ヨシダ,タツオ
+ヨシイケ,ヤスノリ
+ヨシムラ,ミツユキ
+ヨシムラ,サトル
+ヨシノ,シンイチ
+ヨシオ,ノボル
+ヨシタケ,シゲヨシ
+ユアサ,テツジ
+オオワダ,ショウジ
+エグチ,サトル
+オザワ,カツユキ
+サトウ,ミツアキ
+シンタニ,タケミ
+スギタニ,ヨシヒコ
+タカハシ,イズミ
+タキザワ,ナオキ
+ミヨダ,ケンジ
+ヤマダ,キヨシ
+ヤハギ,サトシ
+キヤ,タダシ
+ミセキ,ノリカズ
+エノモト,ケンタロウ
+サクラダ,マサキ
+ササキ,ノブユキ
+ババ,タケオ
+アボ,カオリ
+アダチ,コウヘイ
+アカサカ,マサヒロ
+アマサキ,ヒデト
+アオキ,カンジ
+アゼガミ,シゲカズ
+エドノ,フミヒロ
+ドイ,カズオ
+フジイ,トモヒト
+フジイ,サユリ
+フジモト,ヒロキ
+フジモト,タケシ
+フクハラ,ノブユキ
+フクオカ,テツヤ
+フクシマ,ケンイチ
+フサヤマ,コウイチ
+ゴトウ,ヨシヒロ
+ハマベ,エイジ
+ハナダ,ケイスケ
+ハシモト,ヨシヒロ
+ヒビ,サカエ
+ヒラツカ,カズユキ
+イカリ,タカユキ
+イクタ,アキヒコ
+イマイ,テツシ
+イシハラ,ヤスヒロ
+イソダ,コウイチ
+イソザキ,ヨシタカ
+ジングウ,ヨシアキ
+ナイ,ミノル
+ジョウニシ,オサミ
+カジハラ,ヨシアキ
+カマタ,タツヤ
+カメイ,アキラ
+カミヤマ,テツヤ
+カトウ,タツジ
+カトウ,トシユキ
+エミ,ヒデアキ
+カワモリ,マモル
+キムラ,ヨシヒロ
+キムラ,カズオ
+キシベ,クニヒコ
+キシカワ,カズヨシ
+キタガワ,シンイチ
+キタナカ,メグミ
+コバヤシ,マサユキ
+コバヤシ,ゲン
+コイケ,トウタ
+コイズミ,カズヤ
+コジマ,タカヒサ
+コニシ,キヨカズ
+コヤマ,タクヤ
+クドウ,カズヤ
+クマサキ,ヨシアキ
+クロダ,ヒロカズ
+クサカ,シンゴ
+エンド,ケンジ
+マエカワ,マサヒロ
+マルタ,ヒデキ
+マツシタ,シンゴ
+ミクニ,トミオ
+エンド,ヨシノリ
+ミネ,ヤスタカ
+ミウラ,シュウイチ
+ミゾグチ,ショウジ
+ホン,ヨシアキ
+ミズシマ,シゲル
+エダ,タカシ
+ナガオ,アツシ
+ナカムラ,トオル
+ナカニシ,ユウジ
+ナカノ,ヨウコ
+ナカオ,カツヤ
+ネモト,マサユキ
+ニシカワ,コウジ
+ニシワキ,ケンイチ
+ノダ,タカコ
+ノグチ,ミトシ
+オチアイ,コウジ
+オオハシ,ヤスヨシ
+オノ,タクジ
+エミ,ヒデオ
+オクムラ,マサヒロ
+オクノ,ヒデミツ
+エンド,ヨシタダ
+オオニシ,アキラ
+オザキ,クニハル
+サエキ,ノリユキ
+サガワ,ノボル
+サクマ,マサホ
+サトウ,シゲアキ
+サトウ,ミツヒロ
+サワ,キヨタカ
+セガワ,コウジ
+セキ,ユキオ
+センダ,ケンジ
+シブヤ,シュウイチ
+シミズ,ヨシハル
+シンデン,アキヨシ
+シオタ,ヒトシ
+シュクタニ,トシオ
+スヤマ,ヒロコ
+スズムラ,イサオ
+タカオカ,ヨシユキ
+タケウチ,カツノリ
+タケウチ,カズシ
+タマイ,マサヒロ
+タン,カズヒロ
+タナカ,ケンゴ
+エトウ,テルアキ
+タニヒラ,カズヒロ
+タニヤマ,キクオ
+タオカ,シゲキ
+タシマ,マサユキ
+タザワ,ミキオ
+トキタ,カツヨシ
+トミタ,シゲキ
+トミタ,ケンジ
+トミタ,アキオ
+ツジベ,ヒロコ
+ツジカワ,ケンイチ
+エンド,ジュンコ
+ミヤザキ,マキコ
+ワダ,ヨシタカ
+ワタナベ,ヒロミ
+ヤマダ,ナオヤ
+ヤマダ,タダシ
+ヤマダ,サヤカ
+ヤマグチ,ノリオ
+ヤマモト,タカコ
+ヤマオカ,カツノリ
+ヤマシタ,ノブオ
+ヤマシタ,カズヒサ
+ヤマゾエ,ヒロマサ
+ヤオ,ヤスハル
+ヤスダ,サトシ
+ヨツタニ,ヨシオ
+ヨシハラ,ヒデオ
+ヨコウラ,マサオ
+ヒラセ,シゲオ
+マツイ,イチタロウ
+コバヤシ,カズヒサ
+スズキ,タケシ
+カトウ,トシクニ
+クニトモ,ノブユキ
+エンド,ゴウ
+イトウ,サトル
+オカザキ,ヒデオ
+ヒロハシ,ヤスオ
+サカキ,ヨウコ
+ミキ,トキコ
+クマキ,マサオ
+タヤマ,テツオ
+オオワキ,キハチ
+ミョウドウ,マサト
+カトウ,ヒロヨシ
+ババ,ミキオ
+カネコ,ハルヒコ
+コグレ,ヒロアキ
+タケダ,ヨシノリ
+イチムラ,マモル
+イトウ,ノボル
+ウエハマ,ミノル
+ナカイ,コウジ
+コバヤシ,マサオ
+シマダ,マナオ
+メグロ,シゲル
+ヤマヤ,ヒロシ
+フジタ,ミツグ
+マトバ,チヒロ
+イトウ,モトカズ
+ナカイ,シズオ
+オカダ,マサヒト
+ノモト,トシキ
+ナガシマ,ヨウジ
+ヨネカワ,タモツ
+ワタナベ,トオル
+ムラマツ,トモチカ
+キタニ,ユウイチロ
+ミカミ,ヒロシ
+アダチ,ミツオ
+イノウエ,マサアキ
+オカダ,タカアキ
+カワシマ,テツオ
+セキ,アキラ
+タカハシ,ヨシジ
+ワタナベ,マサル
+クリハラ,チハル
+ワタナベ,ケイスケ
+フジカタ,ミツオ
+ヨシト,ノリオ
+カワセ,オサム
+タナカ,マコト
+イマイ,ケンジ
+コムロ,ユキトシ
+マエダ,エイゴ
+コイケ,オサム
+ワタナベ,ミチアキ
+コンド,ヒサトシ
+イシイ,ヒサヤ
+ミシマ,タカシ
+コバヤシ,ヨシカズ
+ヤマシタ,ケンジ
+タナカ,リョウゾウ
+ヤマダ,マサトシ
+カミヤ,ミチヤス
+ヤマモト,リキオ
+シオザキ,トオル
+ナカムラ,チカシ
+タケモト,サチオ
+ダケヤマ,ヒロユキ
+アラカワ,ゼンジ
+ヨコタ,マサユキ
+ナカムラ,カズヒコ
+アラカワ,トシオ
+オオミチ,マコト
+マツキ,エイキ
+クシビキ,スケヒデ
+ニッタ,テルヒコ
+ツボウチ,ミキオ
+サイトウ,ヒロユキ
+タケムラ,トシヒロ
+タナベ,カズオ
+マエダ,モトクニ
+スガハラ,テツオ
+カネコ,ショウジ
+ヤマウチ,マサヒコ
+カミザワ,ヒロフミ
+コガ,トクヒロ
+ツルサキ,スナオ
+ヒガシ,フミヒロ
+イシダ,ヤスヒロ
+ナカガワ,ハルオ
+テラシマ,ヒサハル
+キタムラ,シュンジ
+ハットリ,ヒデミ
+ササキ,ヨシヒロ
+ホカ,ケンタロウ
+ノムラ,テルオ
+ハヤノ,カズオ
+アンザイ,シンイチ
+フルノ,キヨヒデ
+ニシワキ,クニ
+ハセガワ,マサオ
+イワタ,タカユキ
+トダ,ヒロアキ
+ナカムラ,マサト
+フルイシ,マスミ
+ナカムラ,フジオ
+ナカガワ,ヒデオ
+ナカマ,タツヤ
+スガワラ,マスコ
+マツモト,ツトム
+ハシモト,ヨウタロウ
+ナカツ,ヤスカズ
+サトウリ,アキラ
+イキタ,ユキノブ
+キクチ,タケシ
+スト,マサミ
+シバタ,ヒサノリ
+ナイトウ,コウジ
+モリ,カズコ
+イトイ,アキラ
+イトウ,ケンジ
+マツザキ,マサノリ
+ウエノ,ミツノリ
+カタオカ,キヨカズ
+バンドウ,タツオ
+サイトウ,ジュンジ
+イワイ,シゲル
+シモヤマ,ミノル
+アカマル,オサム
+ゴトウ,ハジメ
+マツダ,ススム
+ネガミ,トシオ
+ヤマシタ,マサオミ
+ヨネヤマ,リュウヘイ
+イシヤマ,ヒサオ
+アベカワ,レイジ
+イマムラ,シゲル
+イワナガ,ミノル
+ウエダ,クニヒコ
+フジカワ,ユキオ
+タムラ,ヨシヒサ
+カシイ,マサト
+ヨネダ,マサオ
+ヨコツ,アキオ
+アサオ,ユウジ
+タナカ,ケイジ
+タナカ,タダミ
+ヤシキ,ヤスユキ
+カイガイ,タケシ
+ソガベ,ユキオ
+フルカワ,ケンジ
+カワウチ,ユウイチ
+フジイ,ノリユキ
+イケノヤ,タツオ
+オチ,ノリオ
+ナカモト,ナオハル
+ワカバヤシ,ハレオ
+アラキ,フミオ
+ヤベ,ヒデオ
+タカハシ,ヤスヒロ
+シバノ,ミツオ
+タガシラ,トシオ
+スミタ,テツヤ
+サトウ,コウジロウ
+チノ,シゲト
+ヤマダ,ヤスヒロ
+イガラシ,ノリヨシ
+イケガミ,ケンイチ
+フナダ,タカユキ
+イノウエ,タカヨシ
+ニシヤマ,ヒロシ
+イシハラ,トシタカ
+スズキ,タイチ
+コモリヤ,カズオ
+チュウゴ,ヒロシ
+コバヤシ,オサム
+ミヤモト,ツトム
+ナカタ,タカユキ
+イリタニ,タクオ
+オガワ,ユキチ
+オネ,ケンジ
+コマツ,マサアキ
+ミノワ,ヒロシ
+フジカワ,ナオト
+カワグチ,ヤスヒロ
+チバ,トシヒコ
+ナカニシ,サダオ
+サクマ,ヒトシ
+タケマサ,トシユキ
+セキ,ヨウイチ
+サイトウ,フミオ
+フジモト,ヤスオ
+オグリ,タツジ
+イシバシ,キヨシ
+アザミ,シゲル
+オガサワラ,ナオイチ
+サイトウ,ヒロシ
+タナベ,ケンジ
+モリヤマ,シュウヘイ
+キタザワ,ヒデトシ
+カナザワ,カツオ
+ハラダ,マサト
+オクヤマ,サトシ
+シミズ,セイジ
+イノマタ,ユキオ
+フルサワ,セイキ
+タケウチ,シロウ
+オオノ,ツトム
+モロオカ,ケンジ
+シノザキ,フミアキ
+ノグチ,シゲアキ
+シマダ,コウジ
+カワサキ,ユタカ
+オオカワ,マコト
+サメシマ,マサヒロ
+ホソジマ,カズヒコ
+ワタナベ,トミオ
+カワナミ,マサアキ
+クサノ,ケイサク
+ツチタ,トモアキ
+オオハシ,コウジ
+ノダ,ミキオ
+ワタナベ,ヒサオ
+ヨシタケ,ヤスヒロ
+フクシマ,アキラ
+イワヤ,タカオ
+サカモト,モトハル
+クボタ,ショウジ
+イソヤマ,コウイチ
+オオノ,ミツアキ
+アベ,タツオ
+オダワラ,ミチオ
+キウチ,ケンジ
+イシカワ,トシフミ
+ヨシダ,タツオ
+チャバタケ,マサフミ
+サカイ,ヨシオ
+オオタ,ヨウジ
+ナカノ,マサミ
+ハダ,タカシ
+ナカヤマ,ジュンジ
+サカグチ,ケンジ
+ナガシマ,ヤスオ
+サガラ,トシヒロ
+カワノ,タダヨシ
+カネコ,イサオ
+ナカダ,ミツル
+アマノ,タカシ
+ヤザキ,シュウジ
+ヒラギノ,カズオ
+タバタ,イチオ
+クニユキ,ヤスヒロ
+オクウチ,ヒロノリ
+スギモト,ヒデジ
+ナカムラ,リョウジ
+スギサキ,ワタル
+ヤマシタ,タカテル
+ノムラ,カズミ
+シマダ,ミツル
+フクダ,カズノリ
+サトウ,ヒデオ
+オクボリ,ヒロシ
+ヨコカワ,マサミ
+デンダ,キヨシ
+フクナガ,ススム
+タカシマ,ミツギ
+カトウ,テツオ
+イシグロ,アキノリ
+イケベ,クニユキ
+オオツカ,ススム
+シミズ,ヨシノリ
+スズキ,タカオ
+ツヤ,マコト
+ウチダ,マサタカ
+オチ,ケンイチ
+アリガ,タケシ
+ナカシマ,カツジ
+マサキ,マツミ
+ナカシマ,マサオ
+アサハラ,マサヨシ
+ゴトウ,ヒサオ
+ウエマツ,ヒロシ
+サキモリ,ヨシアキ
+ヨシダ,ツトム
+フジタ,ヤスヨシ
+ヤギシタ,トシオ
+ムロフシ,マサヒロ
+カメダ,エイイチ
+イカワ,ヒロタダ
+ヤマザキ,ヒロシ
+ツルハシ,マコト
+ミノシマ,ノリオ
+キシモト,マコト
+タケシタ,マサシ
+ナカタ,シンイチ
+エンド,キヨシ
+モリヤ,ケイメイ
+クボタ,スミオ
+ナオハラ,ヒロシ
+クゲ,ケンジ
+カサノ,マサハル
+イイムラ,タカシ
+オオタ,マサユキ
+タケコ,ヒロフミ
+ムラコシ,トシオ
+ヨシダ,ケンジ
+アサノ,ヨシアキ
+ヨシダ,マサトシ
+ハヤシ,テツロウ
+スズキ,タツヤ
+オダ,リョウイチ
+ヤマウチ,キヨシ
+カワカミ,ツネオ
+ウスダ,コウジ
+サトウ,シンイチ
+クラシマ,シンジ
+マセ,ノボル
+コンノ,ヒロシ
+マツザワ,アキラ
+シマダ,シュウイチ
+ヤマモト,ヨシノリ
+オオクボ,ケンジ
+オグラ,カズノリ
+サクマ,エイジ
+ノグチ,ヒロノリ
+ヒナタ,コウイチ
+フジイ,シュンイチ
+スギモト,マサシ
+ツカハラ,ゴロウ
+ミツナガ,マサアキ
+ナカムラ,マサヨシ
+ヤジマ,タケシ
+カミタ,ススム
+ヒガ,ジュンキ
+ミナガワ,ヨシテル
+トミ,タカオ
+サカキバラ,ヒロシ
+カクタ,アキヒロ
+ツチヤ,ヒデユキ
+ムラタ,ケン
+タナベ,アキラ
+シモダ,ヨシノリ
+ツカモト,クラジ
+ハナハタ,ヒデオ
+カンダ,シンジ
+カワダ,ユキオ
+ヨシイ,ツネオ
+クラヤ,キヘイ
+テラシマ,ヒデユキ
+キタガワ,ヨシオ
+イデ,トシヒロ
+ツル,ヒサオ
+ウツノミヤ,トシカズ
+ナカザワ,マサヒト
+ヒダ,ヨシノブ
+ホソカワ,ヒデジ
+チグサ,セイジ
+ソウヤ,ヒロミ
+ヤマグチ,コウヘイ
+サカテ,フミオ
+アワタ,シゲル
+ワカバヤシ,カズヒコ
+エンジュウジ,マコト
+ノグチ,コウイチ
+カワムラ,マサオ
+モリモト,ミキオ
+ヨネハナ,タダヒロ
+ジダ,アキオ
+ウエダ,ケンジ
+シノハラ,イサム
+タカヤマ,マサカズ
+ヤマムロ,マサノブ
+ワキ,ジュンコ
+アマノ,マツオ
+ホソカワ,トシオ
+トウゴウ,ヒロヒサ
+ナカ,トミオ
+ノダ,タカノリ
+ヤマシタ,チエコ
+ナカジマ,ヒロシ
+ナガオカ,コウジ
+シブヤ,ヨシカズ
+セリザワ,コウゾウ
+フジモリ,セイジ
+フクダ,タツヒロ
+フジタ,タカヒサ
+ヤマジ,ヒデアキ
+コバヤシ,イズミ
+コバヤシ,キヨシ
+シシクラ,ヨシアキ
+コグレ,マサハル
+モリ,ヨウイチ
+ナカムラ,ノリタカ
+イイジマ,ノリユキ
+キタガワ,ヨシテル
+タムラ,タダヨシ
+ナガシマ,ヤスエ
+エノキ,イズミ
+サトウ,ヨシノブ
+マツモト,ヨシオ
+ウエダ,ヒロオ
+ミズタニ,アキラ
+アカシ,タツオ
+ナカモト,オサム
+ナカヤマ,ヒロノブ
+フジイ,ヤスヒロ
+ナカヤマ,ショウイチ
+ヨネミツ,テツオ
+タカセ,トシオ
+ワタナベ,ヒトシ
+フカザワ,トシノブ
+カゲウラ,マサミ
+シンドウ,カツジ
+シミズ,タツミ
+サカシタ,ヨシノ
+ミヤムラ,トオル
+タナカ,マサトシ
+タカイシ,ススム
+イシガキ,ケンジ
+タカダ,ヨシカズ
+タテイシ,カズナカ
+サカタ,ヒデオ
+ヨコハタ,トシヒコ
+クヤ,タモツ
+ヨシダ,マサヒデ
+キタダ,ハルオ
+ヨシダ,シンジロウ
+コバヤシ,カズミ
+ナリタ,ミツヨシ
+イヌイ,マサヨシ
+ヤスカワ,フミオ
+ノグチ,スナオ
+ショウダ,イチゾウ
+ヤマダ,テルヒサ
+ワクダ,ツトム
+アベ,サダヒロ
+タケカワ,タカオ
+サトウ,ヒデキ
+ハナオカ,ヨシオ
+オオノ,ヒデオ
+タナカ,ケンゾウ
+ツノダ,アキオ
+ナマエ,ケンジ
+タカハシ,タダヒサ
+ナカジマ,シゲル
+ナカムラ,キミコ
+ウリウ,ハルタケ
+フジイワ,フミヒコ
+ササキ,タカシ
+キムラ,ユタカ
+タカギ,シュウイチ
+カタヤマ,ヒロト
+イグチ,オサム
+アベ,テルオ
+スズキ,タカヒロ
+ヒラ,カズヒロ
+ナゴシ,ヒデアキ
+アダチ,ケンジ
+ムラヤマ,マモル
+クニカタ,ススム
+マツイ,マコト
+コイデ,ミツオ
+ヒロタ,ヒロヤス
+トミナカ,ヨシオ
+ワキタ,フジオ
+ウメムラ,ショウジ
+フケ,ヨウイチ
+ウエマツ,カツミ
+マツザキ,ヤスヒロ
+ナカノ,ツモル
+コダカ,タケオ
+ヒロタニ,ケンジ
+タカハシ,コウイチ
+サノ,ジュンイチロ
+シミズ,ヨシカズ
+カンザキ,テルヨシ
+オオサク,カズオ
+ワシダ,マサヒデ
+クニモト,ヤスマサ
+シロカワ,マコト
+カワハラ,ケンイチ
+オカ,ツネカズ
+コモリ,ヨシアキ
+ハヤシ,シゲアキ
+カネコ,イクオ
+カドイケ,ナオミチ
+オカムラ,ジュンイチ
+オカムロ,ジュンイチロ
+タブチ,ナオコ
+ヤマモト,アキノリ
+オオサ,タカシ
+イリエ,シンイチロウ
+タカハ,カズヒコ
+タイラ,ハルオ
+ミナミ,ヤスマサ
+イケダ,シゲル
+アオキ,フミオ
+ヤマウチ,ジ
+ヨシハラ,マサフミ
+ササキ,アキヒト
+ミズタニ,トシイチ
+ヒラノ,カツユキ
+ナガタ,アキラ
+カタヤマ,ケイ
+オダ,リョウジ
+エノモト,ユウキ
+タケナカ,サカエ
+マツザキ,ヒロシ
+マツバラ,コウジ
+ヤマシタ,セツコ
+メグロ,ヒロヨシ
+オザキ,ヒデユキ
+オオガミ,コウイチ
+オマエ,シンイチ
+キダ,カンジ
+ウエノ,オサム
+オカダ,カツユキ
+カナサキ,トミオ
+ヤカベ,ヒロユキ
+ナムラ,ユミコ
+イイジマ,モトアキ
+ササキ,ノブユキ
+モチズキ,ヨシノブ
+ブンヤ,トシオ
+オカノ,ヤスオ
+タケウチ,サトシ
+ウエノ,トオル
+フジモト,ヒデト
+カワグチ,ミツハル
+タキモト,マサノリ
+カタオカ,シゲル
+クサカワ,ナオキ
+アサイ,ヒトシ
+モリ,エイイチ
+クボ,ヨシクニ
+アンドウ,イチロウ
+ウラヤマ,オサム
+クリタ,ヨシオ
+イノウエ,タケシ
+カネカワ,ヒデオ
+ウエモト,リョウゾウ
+ナカオ,ケンイチ
+オカモト,ハルオ
+ニシムラ,キヨシ
+ヤダ,カズオミ
+キド,オサム
+オカバヤシ,ミツヒロ
+カワシマ,ジュンゾウ
+ハシキ,タカミチ
+ミヤモト,イチロウ
+ナカオ,タカヒコ
+マツオカ,ユキオ
+ヒビノ,ヒロミ
+ニシカワ,カオル
+カブタ,ケンジ
+ワタナベ,キヨシ
+ヤマノ,コウイチ
+サイトウ,シゲミツ
+スズキ,ユウジ
+クワハラ,サトシ
+モリタ,トシヒロ
+フジイ,スミヨシ
+ナガシマ,ツネユキ
+イナムラ,マサヒロ
+オザワ,ヒトシ
+タキモト,クニオ
+ミヤシタ,ヒサシ
+モウリ,マサユキ
+イノウエ,ミツオ
+ナガノ,モトアキ
+ハラト,ヨシオ
+マミヤ,トシカズ
+ヒガシバタ,ヒデオ
+ニシタニ,サトシ
+タカク,ノブユキ
+ハナダ,ミノル
+アサノ,ミチオ
+ババ,ヒロシ
+イトウ,シンキチ
+イイダ,ケンシ
+コハヤカワ,タケヒコ
+フジワラ,カツミ
+シュクリ,ヤスヒコ
+ユタニ,ケン
+ムネカワ,イクコ
+カンノ,マサヒロ
+ニト,カツミ
+タムラ,ヨシアキ
+ナカシマ,サトシ
+オオタ,チカコ
+イノウエ,ヨシコ
+クママル,ケンジ
+タナカ,シゲル
+マエダ,マサアキ
+アミ,ノブオ
+ミナト,アキラ
+ニシダ,カズオ
+イシハラ,サブロウ
+ナカシマ,トシオ
+イクタ,ヤスヒサ
+オキ,タダオ
+カガワ,シュウイチロウ
+ヒラカワ,トシオ
+ヤマザキ,トシノリ
+クマガイ,コウジロウ
+タシロ,ミツシゲ
+サノ,ヒデマサ
+ミドリカワ,フミヒコ
+ナカムラ,マサノリ
+ヨシミ,ヒロコ
+イナミ,ヒデト
+ワタナベ,キヨシ
+コガ,トモヒデ
+スガワラ,ヤスヒロ
+タケウチ,ヨウイチ
+エダ,ヨシロウ
+アンドウ,ヒロオ
+タルイ,ユタカ
+ゴトウ,ヒロシ
+シモガキ,シゲル
+ナガタ,ユキオ
+ホシカワ,ジュンイチ
+コミナミ,マサオ
+カガ,ヨウ
+ハゼカワ,ノブオ
+チバ,シズカ
+ウラノ,サトシ
+コンノ,トシキ
+コバヤシ,カズヨシ
+モモセ,ユウコ
+ツゲ,ジュンジ
+ヤスコチ,ヤスタカ
+ホソザワ,ショウイチ
+スギヤマ,カツユキ
+アベ,タケユキ
+タナカ,ノブユキ
+セイケ,ヤスヒロ
+ツゲ,マサノブ
+ワカバヤシ,アキオ
+オオクボ,タカオ
+オカベ,フミオ
+イワイ,ヒサオ
+タナカ,テルユキ
+ヤマモト,ミツオ
+タカヤマ,ナオキ
+タジマ,ヒデノリ
+カズシロ,マサハル
+コイデ,タカシ
+カモ,タツノリ
+キタジマ,ヨシユキ
+ハマノ,シゲル
+イイヤマ,トシユキ
+ヤマシタ,ショウイチ
+キタ,シゲユキ
+イシタニ,サトシ
+クジメ,サダオ
+キシカワ,カズオ
+ナガノ,マサヒロ
+ヨムラ,タダノリ
+ナカシマ,トシユキ
+モリ,エイジ
+ヤマジ,ヨシカズ
+オゼキ,マサタカ
+イナダ,ヤスシ
+ハヤセ,タカシ
+ホンポ,ススム
+オオヤ,カンジ
+キタムラ,タカシ
+トシン,サトル
+タケイ,ヤスフミ
+オカヤマ,ノブオ
+イシズカ,コウタロウ
+ハタ,トシアキ
+スガハラ,ユウジ
+イワミ,ヤスオ
+ユモト,ヒデオ
+キタガワ,ユタカ
+イハラ,ユウゾウ
+ノムラ,イチロウ
+ミヤサカ,ケンジ
+ヨシダ,トモヨシ
+フカダ,タカシ
+フジワラ,カズミツ
+キト,トシアキ
+ウエモリ,イサオ
+ヤマカワ,マサミ
+クロダ,ミチロ
+オオツカ,ヒロシ
+ウエダ,ユウジ
+ソノ,ミキオ
+ダイ,トモミチ
+シンゾウ,ヒロカズ
+ウエダ,ユタカ
+ワカミヤ,カズミ
+カムラ,フミツグ
+フルタニ,タカマサ
+カツウラ,カツミ
+クマイ,セイジ
+ババ,ハルツグ
+カネトモ,タツミ
+ムラハシ,トオル
+ドイ,タカシ
+ナミカワ,シゲハル
+タカオカ,ケンジ
+マツモト,リュウイチロウ
+ワタナベ,ヨゾ
+タダ,マサヒロ
+アリマ,ヨシテル
+ナガノ,トシノリ
+ヤノ,テルユキ
+イサカ,ユキヒロ
+イトウ,トクイチ
+ヤマザキ,スミオ
+クノ,カズオ
+シバ,ケンジ
+キムラ,アキラ
+スミダ,カズオ
+モトガイト,ヒロカズ
+ニワ,シゲコ
+タケウチ,ユウジ
+タムラ,カズヨシ
+ボウタ,ケイスケ
+カドヤ,ユウゴ
+ハラダ,ヨシノブ
+ミツイシ,ヒロシ
+イノウエ,ケイスケ
+ムラハシ,マコト
+ニシカワ,シンイチ
+マスダ,コウジ
+オオタ,クニオ
+フクイ,マサオ
+カゲヤマ,ケンジ
+ナガツカ,タダユキ
+クサノ,シゲオ
+コジマ,ヒロユキ
+クラタ,タダシ
+タケウチ,ケンイチロ
+イケダ,アツオ
+タカノ,ユタカ
+クラヤ,シンイチ
+オノ,ツトム
+ナカダ,ジュンゾウ
+トクモト,タカアキ
+オオハシ,トシフミ
+ヤマダ,アキラ
+ハンダ,テツオ
+イシハラ,セイジ
+ヨシハラ,サトシ
+タテイシ,トシヒコ
+イトウ,シフミ
+サトウ,タカオ
+オオクラ,ショウジロウ
+ナカスジ,ヨウイチ
+タイラ,ヒロシ
+キヒラ,ハルヒコ
+ナカジマ,ヒデツネ
+ヤマザキ,トキオ
+トビタ,アキラ
+ナカザワ,ハルオ
+ニシハラ,カズオ
+メグロ,ジュンジ
+マルヤマ,コウゾウ
+キクチ,ヒサノリ
+アオキ,ヨシミ
+キッタカ,タミオ
+ヤスイ,ユキコ
+イチマル,ヨシアキ
+ヤマザキ,トシユキ
+スガハラ,ジュンイチ
+トミナガ,ヨシヒコ
+チギリ,エイジロウ
+オオバ,ユリコ
+マツイ,フクミ
+ヒラヤマ,マサヒロ
+ヤマムラ,ミツノブ
+オオデ,マサミ
+ヨシナガ,チカエ
+コジマ,タケノリ
+トミナガ,チエコ
+サガ,テツヤ
+ハラ,ユウジロウ
+トミヨシ,タカシ
+ヨシダ,ソノエ
+ヒラバヤシ,ヒロカズ
+マツド,ヒデオ
+イマフク,ユウシ
+キヨセ,シンヤ
+ハナブサ,ススム
+チバ,トシノリ
+ヤマザキ,リュウジ
+ナカハラ,ケンジ
+オノ,コウヘイ
+ウエマツ,カヨコ
+アキヤマ,マサアキ
+トタニ,ヨウイチ
+ヨネダ,マサヒロ
+フルクサ,サカエ
+ヒロヤ,ノリヒロ
+ヨシダ,シンサク
+カネコ,シゲル
+ナガタ,マサハル
+イベ,シンジ
+セキネ,マサユキ
+オカダ,マサハル
+カナイ,カンセイ
+サトウ,ヒトシ
+サカキバラ,ヨシオ
+イマイ,ミハル
+ヒメジ,シンゾウ
+オギハラ,マサヨシ
+タケムラ,タカノリ
+トオヤマ,タカシ
+キタハラ,タカヒサ
+オオサカ,カツヒコ
+オオコウチ,カズマサ
+タカオ,ノリコ
+ウド,トシロウ
+ウノ,キンゴ
+フジキ,ヒロミ
+サトウ,トシオ
+イソガイ,マサミ
+カラサキ,ヨシオ
+ヤマダ,タモツ
+ワダ,エツオ
+シバタ,トシオ
+シオザキ,タツオ
+シガ,ミツノブ
+クリタ,ミチオ
+ハシモト,ヨシロウ
+ヨシムラ,タカシ
+ミヤザキ,ヒロノリ
+キタガワ,キハチロウ
+オダケ,チカラ
+スズキ,アキラ
+ヤマイシ,キヨアキ
+オゼキ,ヒロシ
+タカイ,サトミ
+カネコ,ケンジ
+ハラダ,ヒデユキ
+シマダ,ケンサク
+ヤナギ,タケオ
+スズキ,タカヒト
+タカハシ,ヤスオ
+オグリヤマ,トオル
+ワタナベ,ノブユキ
+ヤマムラ,ケンジ
+タカハシ,タダヒデ
+シオジマ,カオル
+ツルオカ,トオル
+イトウ,トシミチ
+マツウラ,セイキ
+ヤマモト,タカオ
+クマミ,ユウゾウ
+ケンヨシ,タカシ
+ヤマカゲ,ヨシアキ
+ゴトウ,ヒロオ
+タケウチ,マサトシ
+ハヤシ,カズユキ
+イシバシ,トシユキ
+イナ,リョウ
+イノウエ,タカユキ
+ニシカワ,ヒデオ
+ハンダ,キヨジ
+タテバヤシ,カズヨシ
+オシマ,クニヒコ
+シバタ,ハルキ
+ミウラ,アツシ
+コカゴ,カズノリ
+イイダ,ユタカ
+タケスエ,カズミ
+イガラシ,テツヤ
+マスヤマ,ヨシオ
+サクヤマ,カズオ
+サクライ,ケン
+タマリ,マサオ
+イマニシ,ミノル
+オガワ,マサヒト
+ハギワラ,キヨシ
+オオクニ,ヒデヒコ
+イケダ,セイイチ
+マエジマ,アキラ
+イワイ,カツミ
+ヤマダ,マサキ
+スダ,マサト
+トキワ,オサム
+ハヤシ,ユウイチ
+タケモト,カズオ
+カンバヤシ,マサオ
+トザワ,ツトム
+タテノ,シンゴ
+カンベ,ケイコ
+オクダ,ヨシト
+タモト,トミオ
+ナガイ,ノブタカ
+オザワ,シンイチ
+サトウ,ヤスナリ
+コンド,アキオ
+ネギシ,タダシ
+タナカ,テツオ
+コムロ,リョウイチ
+ヨシダ,トヨフミ
+イイジマ,ヒロミ
+ニイホリ,カズオ
+コモリヤ,ヨシタカ
+シンドウ,ヒデズミ
+ヤノ,ヨウイチ
+タナカ,マサトシ
+ハギタニ,ロクロウ
+コスギ,ダイキチ
+イベ,ノリオ
+カナザワ,ヒロシ
+タダ,タダヒサ
+ナガタ,リュウスケ
+カマダ,ヒロシ
+タカハシ,ヨシオ
+オイデ,マコト
+タカクラ,ヒロシ
+ヤスマツ,ススム
+マル,ヨシヒサ
+クボタ,ノボル
+タバタ,ケイイチ
+モリタ,ノリオ
+クニトモ,ツネジ
+アサヌマ,ヒロカズ
+ホシナ,ヤスオ
+ノザワ,ハルヒサ
+マツムラ,シンイチ
+ヒラカタ,カズオ
+ヒラマ,ハルオ
+シミズ,タカシ
+ヨコカワ,ワタル
+キクチ,アツシ
+クロサワ,イサム
+タケウチ,テツオ
+ヒラガ,ヨウジ
+サイトウ,ノリオ
+ウチボリ,コウイチ
+イナムラ,ヨシハル
+オサダ,タカシ
+スギヤマ,タカトシ
+イマズ,ヤスタダ
+ウラノ,マサヨシ
+モチズキ,カズオ
+スガワ,シゲル
+イケダ,トシオ
+タナカ,ハルオ
+サイトウ,タツジ
+フジタ,トシミチ
+ミヤネ,ツトム
+カマダ,ミノル
+ネギシ,ヨシノリ
+オクガワ,ユキオ
+ハヤシ,ヒサシ
+ババ,ノブヒコ
+ヤマモト,ツトム
+エンド,ノボル
+ソメヤ,オサム
+アライ,ヨシユキ
+アベ,アキラ
+チバ,タツオ
+タカヤマ,ミノル
+ヤマキ,ユウジ
+タケウチ,シゲフサ
+タケベ,タカオ
+アダチ,ヨシアキ
+タカシマ,アキラ
+ヨコヤマ,ノリナオ
+シライチ,マサル
+クドウ,シゲオ
+スズキ,キヨシ
+タカシマ,タカシ
+ヤマガタ,ミノル
+ヨシダ,タクオ
+ミヤカワ,ケンジ
+ササキ,ムツミ
+イデウラ,カズコ
+タナカ,ヒロシ
+イトウ,アツヒコ
+オオツ,タケシ
+フエキ,トシカズ
+シモフサ,アツシ
+ミヤカワ,マサタカ
+ハシモト,タカシ
+ヤマゾエ,コウジ
+ニイクラ,ノブオ
+ワタナベ,トシノリ
+ムロフシ,カナ
+カンダ,カツマサ
+クドウ,ケイコ
+タカハラ,ワタル
+オカダ,ケイジ
+ドイ,サトル
+タナベ,マモル
+コムロ,ケンイチ
+モリヤマ,フミコ
+アラマキ,ノブオ
+コシベ,カズロ
+サノ,ノブヒロ
+オカダ,ヨシマサ
+フジワラ,キョウコ
+マツオ,カズミ
+タナカ,ミネオ
+キハラ,ナオキ
+ニシハタ,ユウ
+ニシワキ,ヨシタカ
+オカザキ,ヒロカズ
+フジワラ,オサム
+ヤスダ,ユカコ
+オカ,キョウ
+ホソノ,シゲオ
+アカシ,タクマ
+ナカイ,コウイチ
+ヤスダ,キクジ
+テラムラ,フミタカ
+クボタ,ヨシユキ
+コニシ,シゲミ
+ノムラ,アキラ
+イノセ,クニコ
+ワタナベ,ヤスヒコ
+ニシオ,カズヒサ
+モミキ,コスケ
+スナダ,ヒロタカ
+タケウチ,サチコ
+アキセ,ヒロシ
+シオタ,ヨシヒコ
+キド,ヨシアキ
+イシワタリ,トシオ
+シラガミ,タカヒロ
+ウチナガ,ヒデヤ
+タナカ,シンイチロウ
+クロサキ,テツオ
+オトシ,ユウイチ
+サトウ,マサオ
+スズキ,マサユキ
+ヒロタ,サイジ
+ヤノカワ,ジュンイチ
+サカモト,マモル
+コムロ,マサト
+イマタ,ヨウイチ
+ホソヤ,カズタカ
+テラサカ,マサユキ
+ホンマ,カズエ
+カスガ,ヒロシゲ
+マツダイラ,エイジ
+カワカミ,シュウジ
+ネゴロ,シンジ
+フクダ,エイゾウ
+スズキ,ヒロシ
+トマツ,ヨシジ
+イノ,タツロウ
+スズキ,ジュンジ
+アサイ,カズオ
+ハラ,タカノリ
+ホシ,クニカツ
+ナルカワ,カズノリ
+オダ,タカアキ
+オバナ,シゲヤス
+タニザワ,マサヒロ
+フジオカ,タカシ
+ゴトウ,タカジ
+コレナガ,トシアキ
+タカハシ,ダイスケ
+タカラ,ミツハル
+オオクワ,キヨシ
+タナカ,ヒデカズ
+サトウ,ノリオ
+シマヌキ,ケン
+ソネ,ヒロシ
+タナカ,カズオ
+フジムラ,コウジ
+ゴトウ,シンジ
+ハシモト,ヤスタカ
+ヒルマ,アキラ
+ホシバ,ヒデヨ
+カメワリ,ヒロミ
+オクイ,ヒロシ
+ヒサモト,オサム
+スズキ,キヨシ
+ヒラサワ,ヨシタカ
+キタデ,ノリアキ
+フクダ,カズヒサ
+シオザキ,ケイジ
+ムトウ,ユタカ
+ニシオカ,サブロウ
+ツボノ,ヒロヒサ
+ナツウメ,トシマサ
+タニガキ,ヒロアキ
+オオスガ,カズオ
+ウチダ,ヒデオ
+カトウ,エイジ
+ササキ,ヒデオ
+カシマ,ノリオ
+アカサカ,カズオ
+カワカミ,ヨウイチ
+シド,タツヤ
+ヤマウチ,ヨシヒデ
+カノ,ユタカ
+ハラ,イクオ
+マツバラ,ケンジ
+テラカド,カズヒロ
+シオタ,ヨシノリ
+オカダ,ヒトシ
+クロダ,リョウ
+モリモト,フジオ
+セキ,ヒロシ
+スズキ,アキラ
+タケクサ,ヒロシ
+タガシラ,ノブオ
+コバヤシ,オサム
+サエキ,ケイジ
+タツザワ,キミアキ
+サイトウ,ヒトシ
+フルカワ,キヨシ
+タムラ,フミト
+ツリヤ,マチオ
+サカグチ,フミトシ
+フクシマ,ヨウイチ
+オオカワ,ヒロシ
+フジタ,シュンスケ
+カワグチ,カツノリ
+トキオカ,テルオ
+ナカノ,トミオ
+イノウエ,マサユキ
+クニトシ,タクロウ
+サカタ,コウイチ
+モリカワ,ツネオ
+ノグチ,ヒロシ
+クボタ,ムツミ
+ナカオカ,タツオ
+ノフジ,ケイジ
+モガリ,エイジ
+マエザキ,イサオ
+オオツカ,シゲヨシ
+ミズタ,ケンノスケ
+スギヤマ,ヨシヒサ
+カガワ,ヨシタカ
+ニシハラ,ヨシフミ
+テズカ,シンイチ
+シオミ,ミツオ
+オオハラ,タダアキ
+アサクラ,アキヒロ
+シマダ,テツヤ
+シマカワ,ススム
+ハシモト,ヒトシ
+ウズ,シズオ
+タカクワ,マサノブ
+ミチタ,シュンイチ
+ウエダ,ウイリ
+シガ,タカツグ
+イケミ,ミツグ
+モリ,マサアキ
+カシモト,マスミ
+イシハラ,チエコ
+カネコ,チエコ
+タカハシ,トシオ
+モトイ,マサオ
+コタケ,ミチオ
+カサイ,スエコ
+カトウ,ノリコ
+コクボ,ケイコ
+ワカヤマ,シゲヤ
+サナダ,マサヒコ
+サカタ,トミヨシ
+ノムラ,ミツオ
+ハヤカワ,カズミ
+ミヤザキ,シゲオ
+オニツカ,ケンジ
+イデ,オサム
+ナガサコ,タカノリ
+イトウ,ミチタカ
+カネタケ,テルアキ
+クボタ,キヨユキ
+アリマ,ケイコ
+ワカオ,ヒロシ
+イシザカ,タカユキ
+オタ,ゼンハチロウ
+サカモト,ケイゴ
+オオホリ,ユキオ
+シンタニ,トシアキ
+ウチヤマ,タカシ
+ヒラタ,ミナコ
+アリゾノ,サトコ
+イトウ,タカシ
+アオヤギ,マサアキ
+ナカムラ,サダオ
+イイダ,ミチオ
+ナシキ,カオル
+ムラセ,カズオ
+マツオ,ケイゴ
+サトウ,シロウ
+アサヌマ,シンイチロウ
+フタミ,ヤスマサ
+フナト,クニミ
+フジタ,ユミコ
+フルカワ,タケオ
+フナハシ,ヒサヤ
+ブトウ,ヒロユキ
+カノウ,カツヒロ
+オキツ,ヒロタカ
+タカギワ,イサム
+ホシノ,チエコ
+ニシジマ,クニヒロ
+カマタ,チアキ
+ツジモト,トシイチ
+ハナダ,シンジ
+ヒロセ,マサオ
+ニシダ,ヒトシ
+ウエキ,トシカズ
+ヨシノ,キヨオ
+キタムラ,セイイチ
+シミズ,ミチコ
+イシザキ,ヒサシ
+ハヤシ,ミツノブ
+キクチ,ヒデフミ
+オカド,ツグオ
+コムラ,シゲル
+ハシモト,ツトム
+ナカツカ,タケシ
+オオイシ,マスヨシ
+クロダ,マサヨシ
+ナカイ,マサミ
+キタザワ,ノリアキ
+キシダ,シゲル
+カナマル,マコト
+アライ,シズオ
+フタツギ,ハルオ
+キクチ,トシオ
+イイダ,ヤスシ
+ナカエ,アキオ
+ヒラマツ,ミノル
+ニシオカ,ジュンゾウ
+サトウ,ケイキ
+モリ,ハルオ
+ホシノ,イサオ
+ヤマグチ,ノブヒロ
+ウスイ,ヨウイチ
+マツバラ,エイイチ
+アリサカ,マサキ
+ニシオ,エイジ
+キダ,テツオ
+ヤノ,ユウイチ
+カトウ,ケンタ
+ワタナベ,チヒロ
+ハヤシ,ヤスオ
+ワタベ,ヨウイチ
+ワタナベ,マサオ
+ユグチ,ヒロコ
+ヤマモト,ヒサシ
+サイトウ,フミオ
+カイズ,ケンイチ
+ホシノ,ヒデオ
+シノハラ,ノブヒロ
+オオヌマ,マモル
+ミワ,タケシ
+ホリムキ,ヨシマ
+イシタテ,シンイチロウ
+ミフネ,キヨシ
+モミキ,マコト
+ハセガワ,テルオ
+スギヤマ,シュンジ
+ツクダ,タダシ
+アダチ,フミノリ
+デザワ,タダヨシ
+オタ,キヨシ
+サトウ,アキラ
+セキグチ,ミツノリ
+コクブン,ヨシキ
+ホシナ,ユキフミ
+ウラノ,コウイチ
+タケムラ,ヤスヒロ
+トクナガ,ヒトシ
+クリハラ,ヒデト
+オクムラ,ジュンイチ
+サイトウ,シンイチロウ
+マツシタ,ケイゾウ
+タケダ,ミチコ
+ニシキ,モトヨシ
+ウメダ,サカエ
+ホンダ,イクオ
+カモ,カズウミ
+ウシダ,ツヨシ
+サイトウ,ヒロツグ
+ハスダ,マスオ
+ミカワ,ヨウコ
+ウチダ,クニヒコ
+ニシザキ,ショウイチ
+イガラシ,ショウジ
+ワタナベ,アサコ
+シマムラ,コウジ
+カトウ,ノリコ
+カワベ,ショウコ
+サカモト,ヨウジ
+モリシタ,モトヨシ
+スガハラ,リョウ
+トミヤマ,カツヒコ
+フクダ,ツヨシ
+オトザキ,アツヒコ
+フジモリ,タカオ
+コモリ,キヨユキ
+フクナガ,マサアキ
+ミヤハラ,カツノリ
+ジンノ,ミツオ
+キムラ,エイコ
+イナガキ,ユキコ
+モリ,ノリオ
+ワタナベ,カツノリ
+ツジモト,アキオ
+モンゼン,ヒロユキ
+ナムラ,
+ヤマモト,エリコ
+ハシモト,ヒロキ
+アライ,ヤスノリ
+フジイ,ヒロシ
+ワタナベ,テツ
+ハセガワ,トヨカズ
+シゲヤス,エイイチ
+ヤマノイ,タクマ
+コバヤシ,マサル
+ナガイ,ヨシアキ
+サワ,ノブオ
+マツヨシ,ミチオ
+サイトウ,カオル
+カノウ,ヒロアキ
+ウシゴメ,ヤスオ
+イシイ,コウジ
+ウスキ,イズル
+スドウ,ヨシオ
+カジヤマ,タカキミ
+オオバ,ヒデキ
+スワ,フミオ
+イワタ,ヤスト
+トウ,ハジメ
+オイカワ,ヒトシ
+ヒライ,エイコ
+タカシマ,トシオ
+フミノ,ヒロシ
+オカザキ,ノリオ
+シラキ,マサツネ
+タケモト,ユウジ
+マツモト,ノリヒコ
+マツバラ,ヒロシ
+エビハラ,コウジ
+フジノ,ヤスオ
+フカヤ,マサヒロ
+ホシノ,タカシ
+カタヤマ,サチコ
+アラカワ,マサユキ
+タカノ,カズオ
+クロダ,ヤスヒロ
+イトウ,ジュンコ
+コザイ,ミツル
+ウエヤマ,キヨシ
+ハットリ,トシキ
+ニシムラ,トシタカ
+フルカワ,タカオ
+ヤシキ,シゲキ
+ホドヤマ,ヒデオ
+エトウ,トモヒコ
+ヤマモト,マサトシ
+セキグチ,イサム
+タナベ,ヒデトシ
+タケダ,トシユキ
+シンタニ,カタシ
+クボタ,キヨシ
+スギオカ,サトミ
+ヤマザキ,サダノリ
+サイトウ,ヒデキ
+ウエノ,トシタケ
+シマモト,コスケ
+キタノ,マサミ
+イイズカ,リョウコ
+イズミ,キョウジ
+ハラダ,タカユキ
+オチアイ,サトシ
+ヤマウチ,アキヒロ
+エグチ,ヒデツネ
+ハギワラ,タケシ
+タカギ,タケノリ
+オクモト,マナブ
+マツザキ,リョウイチ
+イチムラ,ユリコ
+ミヤサカ,トモコ
+ミヤタ,セイイチ
+ナガオ,ショウキチ
+イワオ,マサシ
+フカザワ,シゲル
+タムラ,マサオ
+キリュウ,タダオ
+マツザキ,ヨシオ
+カトウ,テルミツ
+ミタ,ナオト
+イシイ,イサム
+オカモト,テツオ
+ウエオカ,ノブオ
+キョウノ,マサト
+カネコ,ユウゾウ
+サクライ,キョウコ
+ワカバヤシ,トシヒデ
+ワタナベ,ヨシヒロ
+アサイ,ニスケ
+カドノ,ユウジ
+ヤマザキ,トヨヒロ
+アワノ,トシユキ
+オガワ,タカノリ
+ゼンケ,トシオ
+フクモト,トモヒコ
+オド,カズノリ
+モリモト,タカオ
+トウボウ,カズミ
+カタヤマ,マサシ
+ナガマツ,タカアキ
+ワタベ,ヨシミ
+イシキ,ユウ
+イナガワ,ユウコ
+ナカノ,タカハル
+ニシヤマ,ヤスヨシ
+シモダ,ミヨコ
+シゲタ,タカオ
+マツモト,ヒロシゲ
+カタヤマ,ユウ
+ソノ,カツミ
+イセキ,ユキオ
+イトウ,ヨシカズ
+セキネ,マサオ
+ムラヤマ,フジオ
+マルヤマ,ケイジ
+クロサワ,ヨシフミ
+スミ,トオル
+ノグチ,ユウジ
+サトウミ,ヒデキ
+オオカワ,ツグヒト
+ナカノ,ヒデノリ
+オオイシ,ジ
+ハブ,アキラ
+ウチダ,ノリマサ
+ミキ,フミノブ
+スズキ,ツネユキ
+カサハラ,イズミ
+オオクボ,カズハル
+カタカミ,ノリカズ
+タカハシ,トシヒコ
+イシカワ,カズヤ
+タカトリ,タカオ
+タニグチ,シンジ
+セキ,ユキマサ
+クボタ,マサト
+アベカワ,ムツオ
+フジマキ,タケシ
+カタヤマ,マサユキ
+コヤマ,ケンジ
+ハシモト,アケミ
+スミ,ミチオ
+ニシカワ,ヒロシ
+サワマ,アヤコ
+ハシモト,ユウコ
+ナカタ,ヤスマサ
+ウチヤマ,ヒロシ
+ササキ,マリ
+アサハラ,ミツヒロ
+ニッタ,フミコ
+ダン,ルリコ
+スギタ,テツシ
+ヤマモト,シンイチ
+オフチ,ミキ
+コバヤシ,ミワコ
+ミヨシ,コウキチ
+イシダ,ヒデヒコ
+オニキ,ノボル
+クリハラ,タミオ
+シライ,ツカサ
+サカニシ,ケンイチ
+オダ,ヒサシ
+カマス,ケンゾウ
+ナカガワ,マサヨシ
+カシモト,キョウイチ
+バンドウ,ユズル
+フタミ,マサシ
+ヤマシタ,タカシ
+ハヤシ,ユウジ
+カゲヤマ,ミノル
+アスマ,ノブオ
+シモムラ,ユウイチ
+ヤマグチ,タダシ
+ヤマト,ヒロシ
+サトウ,シゲル
+マツダイラ,カズヤ
+マツムラ,トシミチ
+コンノ,ヨシヤ
+オオハシ,ヤサブロウ
+キクタ,シゲキ
+ヨシオカ,ヒロシ
+サノ,ヨシオ
+タナカ,ユキノリ
+ササキ,ススム
+カワグチ,アツシ
+ヤマシタ,タツオ
+タケムラ,フミオ
+フクチ,カズエ
+マナカ,トミエ
+アラキ,タカノブ
+ヒラノ,ヨシカズ
+ナカムラ,ツトム
+ハシモト,トシカツ
+カトウ,イクコ
+ハマカワ,クニオ
+ハヤシ,ケイコ
+イトウ,ケンイチ
+スズキ,イチロウ
+タケウチ,カズヒコ
+ニシ,コウイチ
+イワホリ,トシマサ
+イマイ,クミコ
+モリノ,タカシ
+ニシハラ,ケイ
+キリヤ,ヒサト
+サトウ,トヨコ
+ホソダ,ヒサコ
+タカハシ,タダシ
+ナカジマ,シゲル
+ヤスハラ,ナルユキ
+クロイワ,タカシ
+カモ,ヒロシ
+アカマツ,クニアキ
+キタムラ,マユミ
+ニシダ,ユキコ
+オカダ,シンイチ
+ササキ,トシユキ
+タカハシ,ヒロシ
+シミズ,イサム
+エンド,シンスケ
+ウダガワ,テルオ
+シミズ,ノリフミ
+アオヤギ,セイゾウ
+ハシモト,カズオ
+タケウチ,ヒデアツ
+アライ,ヤスシ
+イシジマ,イサオ
+コガネ,ヒデオ
+サワシマ,シンイチ
+タカヤナギ,ミノル
+マサダ,ヒロミチ
+シミズ,アキヒデ
+オノデラ,タカオ
+タナカ,ミツル
+ノムラ,ノブオ
+ヨシダ,ヒロシ
+ヨシダ,トシスケ
+サタケ,シンジ
+サイトウ,マモル
+ミヤギ,ヒロシ
+タカシマ,ケイジ
+カバヤ,ヒロフミ
+イシザキ,シンイチ
+カガヤ,ヨウイチ
+コタニ,タクモリ
+コスダ,ヤスアキ
+イジリ,ユタカ
+マルヤマ,タミヤ
+カナイ,ヨシオ
+ヤギ,ミツグ
+フジノ,サトシ
+コデラ,マサト
+スギオ,マサユキ
+スガハラ,コウイチ
+サイトウ,ミツヤス
+オカ,ハルヤス
+イシマル,オサム
+ミヤザキ,コウゾウ
+ハマノ,ミチオ
+コタジマ,ヨシノリ
+タカシマ,アケフミ
+ツカダ,セイイチ
+ナカムラ,カツフミ
+タケダ,マサノリ
+ヤスムロ,ハルヒコ
+ナカムラ,ヒロシ
+フジシマ,シゲマサ
+オカダ,タケシ
+アヤ,ミツマル
+ナカムラ,ミツマル
+タカハシ,タケヒロ
+スガハラ,シゲタダ
+ユアサ,ケンジ
+イシイ,ムネヨシ
+オオクボ,ヒロトシ
+オサワ,マサタケ
+ヤマモト,ミキオ
+イマイズミ,カズヒコ
+オカダ,ヨシヒロ
+ナカムラ,クニオ
+タナカ,キヨシ
+ナカノ,タクオ
+オオモリ,カズヒコ
+ヤマモト,カズオ
+ナガイ,ユキマサ
+コバヤシ,ヨシハル
+ヒキチ,ヒサシ
+ヤマダ,トシオ
+ツカモト,ツトム
+イノウエ,マサト
+イノウエ,アキラ
+スミカワ,カオル
+フクダ,ジュンイチ
+ヤマモト,セツコ
+サイトウ,ユウコ
+カンバ,ヨシミツ
+サライ,マサアキ
+サカキ,ショウジ
+ヤスイ,タカシ
+カミムラ,タカシ
+セベ,ヨシタカ
+ヨシダ,トシカズ
+ナガセ,タダシ
+フクチ,イズミ
+フクダ,ジ
+ノナカ,ノブヒコ
+イマダ,マサヒロ
+ニシカワ,マスコ
+コヤノ,ヒデオ
+ナカザワ,アキオ
+オガワ,タカシ
+ナカヤマ,ハルヒサ
+ヌノカワ,ケイコ
+ソネ,フミオ
+ミゾグチ,ユキオ
+コバヤシ,イワオ
+ヨシマツ,マサオ
+オオハラ,マサオミ
+ヤマダ,シンジ
+ミノグチ,ヨシノリ
+シンメン,タカフミ
+ノセ,マサオ
+イワハシ,リョウイチ
+アカイ,タケシ
+ツタモト,マサハル
+ナカモト,ミノル
+クダナミ,マサユキ
+イチダ,タカシ
+ヤノ,エイジ
+マツキ,キミオ
+ササキ,ヨシシゲ
+フルノ,カオル
+フジタ,アキラ
+イノウエ,ミドリ
+タヤ,ミツヤス
+ミヤザワ,タロウ
+ワタナベ,ヨウコ
+アクネ,トシロウ
+ホシノ,シンイチ
+ヨシダ,カズオ
+ウエムラ,ノボル
+カミヤ,ケンジ
+スズキ,タケシ
+アンドウ,タカハル
+トヨイズミ,トシオ
+クワナ,ノリコ
+ニイミ,カツシ
+ミウラ,オサム
+ノムラ,アキラ
+オカダ,ジュン
+アサヌマ,カズヒロ
+ササオ,ヒデユキ
+イナガキ,マサト
+スガワラ,サトシ
+ショウジ,タケサダ
+タガワ,ミノル
+ソガ,ノブトモ
+ショウワ,キヨミ
+マツカワ,ヒロユキ
+シモムラ,ユウジ
+ワタナベ,ナオユキ
+コバヤシ,シンジ
+イイダ,コウイチ
+フクモト,ケンイチ
+ムラヤマ,ヒロキ
+ホリ,マサアキ
+ヤマノ,ヒデオ
+ニシワキ,ヨウジ
+マツオ,マサナ
+オカモト,マコト
+オオサキ,ケンイチ
+ウメモト,ナオフミ
+オカムラ,アタル
+コイケ,コウセイ
+オオタニ,マサアキ
+カタオカ,マサキ
+オカダ,シチロウ
+フクシマ,ヨシオ
+エダナカ,ヤスノリ
+スズキ,シゲル
+イチカワ,セイイチ
+クロカワ,キヨシ
+サトウ,キヨヒサ
+オオサワ,カズヒコ
+モチズキ,スエヒロ
+ヤマシタ,ケイイチロウ
+イチカワ,タカシ
+フカザワ,カズホ
+クボタ,ノブオ
+ニシムラ,コウジ
+ネギシ,ヒサユキ
+コンド,ケンジ
+フルヤ,ミツギ
+コバヤシ,タツオ
+タムラ,ヒロヒコ
+ミツハシ,ダイハチロウ
+クマザワ,カツミ
+ヤマダ,ヨシオ
+ヒロツ,カズミツ
+カネダ,ユタカ
+アソ,ユキオ
+エビハラ,キイチ
+ヤスイ,クニオ
+スドウ,ヒロコ
+ヤハタ,マサノリ
+サカイ,トモヒロ
+サガ,ヨシオ
+ヤマザキ,エミコ
+ナカムラ,ヨウコ
+イザワ,ヒロチカ
+アライ,ケンイチ
+ウブカタ,サダミ
+ワタヌキ,タダユキ
+ヒシタ,ノボル
+カトウ,ユウコ
+ヤマネ,ヨシト
+ヤマシタ,ヒロシ
+ノムラ,ヨシロウ
+ヤナイ,マサユキ
+ムラカミ,マサミチ
+アオキ,アキラ
+ヤシロ,ススム
+アサマ,マサヒロ
+オクダ,フミオ
+イシバシ,ユウジ
+ミナミデ,ヒデアキ
+イヌズカ,コウヘイ
+トキワ,ヨシハル
+ミウラ,ヤスノブ
+マブチ,トシハル
+オバラ,ヒロユキ
+マツキ,ヒロシ
+エグチ,ケンイチ
+オオミ,タケシ
+ワタナベ,タケシ
+アラカワ,シンジ
+スガノ,アキラ
+ヤスイ,コウヘイ
+ミヤモト,ヒロヤス
+フジギワ,コウイチ
+キタガワ,ミキオ
+タニグチ,ミツル
+コジマ,ヨシアキ
+アマカワ,ユタカ
+オオヌキ,ユタカ
+タナベ,コウジ
+マルハシ,イサオ
+ヤドヤ,ジュンイチ
+オオガク,ヨシヒロ
+サカタ,コウヘイ
+ハラ,ヒデミ
+タカギ,ヒデオ
+アイハラ,アキラ
+オオタ,トオル
+アキヤマ,ヨシヒロ
+シミズ,タカオ
+コバヤシ,オサフミ
+ハタモト,ケンジ
+ウスダ,タカノブ
+タカハシ,カズオ
+ナカガワ,テツオ
+マツバラ,ハルオ
+クヌギ,ユタカ
+オガワ,ヨシオ
+ツジ,カズタカ
+カワイ,ケイイチロウ
+スガワラ,シュウイチ
+ムトウ,カズオ
+オバラ,ヤストシ
+カトウ,タカユキ
+カブラキ,ユキオ
+ワカタベ,ツトム
+オガワ,コウシロウ
+イワサキ,ヒロユキ
+ナリタ,オサム
+アキヤマ,タカシ
+ミツイ,ケイイチ
+エンド,ユタカ
+ヨネタ,アキオ
+アオイ,キヨシ
+オカモト,ヨシヒサ
+オオツカ,シンイチ
+フクモリ,サカエ
+テシマ,カズマサ
+ハマ,ヒデキ
+ヨシダ,ハジメ
+カワベ,ヨシハル
+タナカ,ヤスノリ
+タカハシ,キョウイチ
+タナベ,フミアキ
+アソ,ヒロイチ
+タカダ,ヒロシ
+ミヤノ,トシオ
+ウエズミ,ヒトシ
+イチカワ,ヤスアキ
+アサワ,トモフミ
+イナモト,カズオ
+モリヤ,ヒトシ
+ナカタニ,ケン
+ミヤモト,イチゾウ
+ミクニ,エイイチ
+キタムラ,タダマサ
+ヤタベ,マサヒデ
+ナガカワ,リョウイチ
+ヤナ,カズオ
+サクマ,ミツル
+アライ,トシオ
+シマダ,ナオコ
+テズカ,シュンイチ
+ウエノ,シュンイチ
+サイトウ,ヒロユキ
+オオクワダ,マナブ
+ヨコヤマ,ヨシオミ
+ワタナベ,ヨウイチ
+ニシムラ,アキノリ
+タカマツ,コウイチ
+ニシムラ,タツマ
+イチキ,ヒロシ
+イワシタ,ノブツナ
+オノ,トシオ
+ニシキ,タツオ
+サワ,カズオ
+タカミ,オサム
+ヤスフク,ケンジ
+オオタ,ヒロシ
+オカモト,ヒロマサ
+サカイ,ヤスオ
+フジモト,トキオ
+マツモト,シゲノリ
+オオヤブ,カズヤ
+ニシムラ,シュウイチ
+ホリウチ,ケイイチ
+イシモト,シュウイチ
+マツモト,ナリオ
+タケウチ,シンイチロウ
+モトヤマ,コウシロウ
+ヨシナガ,コウジ
+フルカワ,ミチオ
+タニグチ,ヨシオ
+タケコシ,マサトシ
+ツムラ,コウセイ
+オノ,シゲオ
+オカモト,サトシ
+フルタ,マサヒロ
+ニシノ,ソウイチロウ
+ミズタニ,ヒロユキ
+コヤマ,ヒサシ
+キクチ,ケンイチ
+オオコウチ,マサアキ
+カワタ,タカシ
+クハラ,ヨシユキ
+フルハシ,コウゾウ
+タカヨシ,フミトヨ
+カス,ノブユキ
+アミモト,ススム
+ムネトウ,トシオ
+マツモト,ススム
+タカナシ,マサアキ
+アキタ,トシオ
+タカハシ,ヤスミチ
+ナガイ,タカシ
+ヨシダ,ツカサ
+マツモト,ヤスアキ
+トクダ,ミチオ
+ヒライ,ノゾム
+オクシマ,タカシ
+マシタ,シゲオ
+ヤマダ,キミヒロ
+サクライ,トモオ
+タキザワ,サトシ
+マスコ,ユウジ
+シンカワ,ヒロエ
+オオタニ,タダヒロ
+カワノ,ヨシミツ
+アラカワ,テツオ
+アダチ,タカユキ
+ウチダ,ケンジ
+コハラ,トシヒコ
+オオハシ,カズヒコ
+カメオカ,ヨシオ
+ミムラ,トミオ
+イキ,ヨゾ
+アシズカ,ヒロシ
+ヤマモト,ヒロノリ
+ヨシダ,オサム
+ハラオカ,カツヤス
+ウルワシ,ヒロシ
+オンダ,ケンジ
+インド,マサオ
+タケナカ,マサトシ
+フジサワ,マモル
+オオモリ,マサユキ
+ナカムラ,ヒロシ
+ショウジ,ヨシノリ
+キタジマ,ヨシアキ
+イトウ,アキラ
+ヒラオ,カズタカ
+スミモト,ノブヤ
+ナカタニ,ヒロシ
+アラシマ,ユキオ
+カタヤマ,ユキノブ
+ウエダ,マサヒロ
+フジモト,ヒロフミ
+ヤマハタ,リュウジ
+オオタニ,ツトム
+イイヌマ,ヨシヒロ
+ナガサワ,ヨシロウ
+ヤスダ,シュウジ
+フクシマ,リョウイチ
+サカキバラ,アヤコ
+カトウ,タカシ
+ヨコザワ,フミタカ
+カドノ,カズミ
+ヤマオカ,キヨシ
+カミタニ,ヒロキ
+カトウ,エツロウ
+ノモト,トシカズ
+スギモト,セイイチ
+フジノ,コウジ
+イノウエ,ショウジ
+ハセ,マサカツ
+モリ,エラブ
+カワバタ,ヒデオ
+カワゾエ,ショウイチ
+ハシモト,ダイシン
+ヒロマサ,ヤスヒロ
+キシモト,クニオ
+ヒラツカ,ミノル
+ウエダ,ヨシユキ
+アライ,トシヒコ
+イイダ,マサユキ
+ヒロシマ,ショウゾウ
+イサカ,カツヒロ
+スズキ,ヨシオ
+クラモチ,タカオ
+サイトウ,マサオ
+スズキ,ミツグ
+フカヤ,テツジ
+サカイ,トシロウ
+オオワダ,トシオ
+カメヤ,カツミ
+クサウラ,トシオ
+ワダ,カズオ
+ゴトウ,キョウイチ
+ヒラフク,アキラ
+モロヤ,ヒデトシ
+イケダ,サダユキ
+マスダ,マサハル
+ミズノ,トシタカ
+ハヤシ,キヨトシ
+アオキ,トシヒコ
+コバリ,マサユキ
+ミサワ,サブロウ
+タカギ,テツオ
+エンド,ケンイチ
+スガサワ,セイジ
+オリハラ,トヨミ
+マツナガ,タカフミ
+カサイ,キヨアキ
+セムラ,タカシ
+サクライ,タカアキ
+テラカド,ヨシユキ
+フジタ,ヤスアキ
+カワノベ,カイチ
+アオバ,マサル
+ムラモト,ユキヨシ
+ツボウチ,タカシ
+フルショウ,フジオ
+シバヤマ,フミオ
+ヤマモト,タカヒロ
+ウチダ,ヒロフミ
+マエザワ,トミオ
+コムラ,アキノブ
+ヤマサキ,ヨシジ
+ウシキ,カズミ
+マチヤマ,ショウジ
+フジヌキ,ススム
+ナカムラ,マツミ
+クスモト,テルオ
+スズキ,ヨシオ
+ウエヤマ,トシユキ
+コイケ,ヒロシ
+ハセガワ,ミツアキ
+フルカワ,ヤスヒロ
+ヤマダ,アキオ
+ユハラギ,ミツヨシ
+オシマ,ノリユキ
+ソネ,マサヒロ
+トウマ,サチヒロ
+タカハシ,シズオ
+カケハタ,マサオ
+イシイ,シゲル
+サトウ,ノリユキ
+ムラヤマ,ケンジ
+ホリグチ,マコト
+ナカザト,ヒロシ
+サトウ,マコト
+カネコ,リュウゾウ
+カシマ,トシノブ
+トグチ,ヒロム
+コミヤマ,キミアキラ
+ヤマオカ,ヨシノブ
+タカハシ,ケイイチ
+モリタ,ケイイチ
+ヨコイ,ヨシノブ
+ヒライ,ケイイチ
+シイバシ,マサタケ
+カネコ,マサフミ
+ナカネ,ノブハル
+セキグチ,テツオ
+ミモリ,タカヒコ
+キクチ,マサタカ
+ヤマモト,カツジ
+アラカワ,タカオ
+トモクニ,マサキ
+トミタ,ノリカズ
+タカハシ,シュウヘイ
+トガシ,ノブオ
+カワムラ,トシヒロ
+フクナガ,ケイジ
+マキタ,トクミ
+サノ,ミノル
+サトムラ,ケイジ
+サカノ,ジュンヤ
+ツチハシ,シゲアキ
+ウエノ,ケンゾウ
+ナカガワ,ヒデアキ
+トクナガ,ケンジ
+イトウ,カズオ
+ヒサマツ,トヨトシ
+オオツカ,カメオ
+カワモト,シゲキ
+ノムラ,ヨシイチ
+カノウ,ユタカ
+ウエサカ,ユウジ
+フジワラ,ヒラオ
+オガワ,マサト
+クラタ,トモフミ
+ハナソト,トヨフミ
+ニシカワ,タカヨシ
+エビス,ヒデオ
+ヤスノリ,ヨシハル
+サカイ,タケシ
+マエダ,ヨシアキ
+フクダ,シゲタカ
+ヤマモト,マサズミ
+シオタ,ヤスマサ
+ムラカミ,トモヨ
+イクミ,タカシ
+ナカギ,ユミ
+トクマツ,タカオ
+タニイ,トシユキ
+オオヤマ,ケンジ
+タノ,タカチホ
+オオタ,ヒロノブ
+クマノ,アキオ
+サワグチ,マサクニ
+アサノ,カズオ
+サカグチ,ノリユキ
+ワタナベ,ツトム
+カトウ,カズオ
+マエカワ,タカシ
+マツモト,カズオ
+マツモト,トシオ
+ヤマナカ,エイジ
+コバヤシ,コウジ
+フジタ,タツオ
+ヤギ,マサミ
+イワイ,マサタカ
+フクシマ,ヒデミ
+フルカワ,コウイチ
+オガタ,マサノリ
+スズキ,タダヒコ
+シカマ,タカシ
+キシモト,シュンイチ
+コロギ,カツミ
+フタミ,キヨシ
+ヤシロ,トシオ
+ハリイケ,ヨシハル
+シムラ,アリマサ
+ナガクラ,イチロウ
+ミナミ,コウジ
+トクナガ,キヨシ
+タナカ,フクム
+テラサキ,シロウ
+カトウ,トオル
+ミズノ,ヨシアキ
+タモト,ヒトシ
+ウチダ,ヒロカズ
+タケイチ,ヨシユキ
+ヒビノ,ヒロシ
+コバヤシ,リョウヘイ
+ワタナベ,ヒロタダ
+フカダ,マサヒロ
+イシタニ,カズヒサ
+イデ,ヨシユキ
+ニイサト,マサユキ
+スナハラ,ショウジ
+シミズ,マサオ
+カトウ,ノリユキ
+ナイトウ,ジュンジ
+コイケ,トウスケ
+キタムラ,トヨヒコ
+カガワ,トシユキ
+イケダ,タカシ
+カノウ,タカシ
+オカモト,ソウジ
+コバヤシ,サダヒロ
+イシイ,マサヒロ
+サエキ,マスユキ
+サワダ,タカシ
+ゴトウ,ノブユキ
+オノ,マサヒロ
+フナオカ,マサアキ
+シンヤ,マサカズ
+ホンザワ,ヒカル
+ヤマウチ,シゲジ
+イシノ,ツトム
+イオク,ヒデトシ
+アラキ,ヨウコ
+フジワキ,ミノル
+イチムラ,マサキ
+ハヤシ,ヨシサダ
+モリ,タクジ
+キムラ,シゲル
+ユキフキ,マサヒサ
+ハギモト,イワオ
+ハシモト,ヒデオ
+キタヤマ,ヨシテル
+フジモリ,ケンジ
+オクノ,オサム
+ヤマダ,ミツオ
+タゴ,タカシ
+アサイ,ヨシヒロ
+モリノ,ヒロシ
+ミナイ,ケイコ
+モリサワ,トヨコ
+ナリサワ,フミコ
+モリモト,マサル
+コバヤシ,ヨシノリ
+シマダ,ヒデキ
+スズキ,ミサコ
+フクダ,ケイ
+アライ,アキノブ
+タニヤマ,シュウイチ
+オカモト,マツオ
+ダイモン,ミノル
+ハヤシ,ヨシナオ
+イシダ,フクオ
+ヒロサワ,ヨシミチ
+ヨシオカ,マサズミ
+マツモト,シンイチ
+ナカジマ,サカエ
+キタ,サナエ
+ニシムラ,シゲカズ
+ハットリ,ヒデオ
+ヤマモト,カズオ
+イトウ,アキラ
+キタムラ,マスミ
+タナカ,トミオ
+イオキ,トミヤス
+カマタ,コウジ
+シミズ,ヒロシ
+マスオカ,ヒデオ
+サワダ,ショウコ
+ナカイシ,タケユキ
+ワタナベ,マサヒロ
+ヨシザワ,アキオ
+ササオカ,ノリアキ
+ヤマグチ,トシオ
+イマフク,タダシ
+カミヤ,トミエ
+ワサ,ヒデオ
+キクチ,アキヒコ
+ウカイ,ミキオ
+イワマ,セイイチ
+ツジ,ブンジ
+タケダ,サダツグ
+セトガワ,シゲトシ
+コシムラ,マサシ
+ワタナベ,ジュンイチ
+ウサミ,ミツノブ
+オカダ,トシヒコ
+フジワラ,ショウジ
+カトウ,ヤスユキ
+イシハラ,マサル
+ヒナタ,キョウヘイ
+ウエスギ,シゲヒロ
+シバタ,ノブカズ
+オクダ,マサル
+スナヤマ,ヨシオ
+イマイ,アキヒコ
+ナカムラ,ノブオ
+ナカモリ,コウジ
+フカサワ,ムネヒサ
+ミズタ,シンイチ
+オノ,カズシ
+サイトウ,ヒロシ
+シュドウ,ミノル
+フクイ,タツヒコ
+ノダ,カナエ
+オオノ,ハルキ
+コガミ,ヨシマサ
+ミキ,マサユキ
+イケダ,フミオ
+フジモリ,トシヒコ
+タカダ,カズオ
+イケダ,ノブゾウ
+イトウ,ノブタカ
+ワタナベ,カズヒロ
+サワダ,マサフミ
+マエジマ,マコト
+イナムラ,ススム
+ナカムラ,ヒロシ
+ナカジマ,シノブ
+イワマ,ヨシユキ
+ワカツキ,ヒデキ
+ハセガワ,ヨシロウ
+イノウエ,タカシ
+カサハラ,コウジ
+ニシヤマ,マサヒロ
+スドウ,ジュンイチ
+オカベ,トシヒロ
+フクバ,ケンジ
+マツナガ,ヤスオ
+サカイ,ヒロヒコ
+フジタ,ユキオ
+ナカヤマ,タカヤス
+ヨネダ,ケンゾウ
+クマタ,コウイチ
+コヤマ,ヒロユキ
+ヨネヤマ,タケシ
+フジカワ,ケンジ
+ハリガヤ,ヒロアキ
+ハセガワ,カズヒト
+ヨシダ,タダシ
+クスノキ,ヨシフミ
+タカハシ,サチコ
+ナガタ,シンジ
+ソノクラ,ヒロシ
+マスモト,ヨシオ
+オギハラ,ヒロシ
+ヨシダ,マナブ
+タナカ,マサヒコ
+エダ,セイイチ
+ナカ,タモツ
+イイズカ,ノボル
+テラニシ,マサノブ
+フクイ,セイジ
+デムラ,カズヒコ
+サエキ,シゲハル
+ウチダ,ヒデノリ
+シイナ,ノブオ
+フルヤ,ヨシハル
+ナガクボ,オサム
+テラウチ,ヒデアキ
+オオタカ,マサアキ
+フジヨシ,トオル
+サイトウ,マサオ
+クロサワ,フサエ
+イシカワ,ケンソウ
+ヨシノ,タカシ
+コミヤ,カズヨシ
+ヤマガタ,トシオ
+ツヤ,カオル
+ニシノ,ノリユキ
+ウチダ,ヒサオ
+ワタナベ,カズミチ
+モリタ,ノボル
+コシダ,コウゾウ
+ヒロセ,リョウヘイ
+ヨシムラ,カツトシ
+ミウラ,ヨシカズ
+コイズミ,ヒデノブ
+テラオ,ミツヒロ
+セガワ,ミチオ
+カイズカ,アキラ
+フクマス,スズヨ
+イトウズ,ジ
+セキガミ,ヒロシ
+フジ,イズミ
+ヨシムラ,キヨジ
+フルモト,ヨシユキ
+タキタ,マナブ
+オカダ,ヒロヒサ
+タカハシ,アキラ
+タニフジ,マサアキ
+イマオカ,カズヒロ
+ワタナベ,ケンジ
+ヤマモト,カオル
+ヨダ,ヤスオ
+フカヤマ,ヒロシ
+ヤマグチ,ヒサオ
+サノ,キミ
+タカハシ,ユリ
+マツモト,キヨシ
+ヤノ,ヒサシ
+アキバ,カズヨシ
+ミドリカワ,ヒロミツ
+タカシ,ミヨコ
+フルカワ,ミノル
+ヒキタ,エイジ
+オザキ,ヨシアキ
+アオキ,シゲオミ
+サエグサ,マサヒロ
+フジモト,ヒロシ
+コニシ,ユウジ
+オオニシ,シュンスケ
+ヒグチ,フジキ
+クボタ,ジュンイチ
+ヤマグチ,シロウ
+フルカワ,マサト
+ナリタ,イチロウ
+タナカ,フサイチ
+ハタケヤマ,テツオ
+ミヤモト,ミサオ
+ノザキ,ヤスハル
+ハセガワ,チョウシロウ
+シラカワ,ヨシヒコ
+アイダ,コウヘイ
+ヒロカワ,ヒロシ
+リュウカワ,ツヨム
+ヤマグチ,マスミ
+クリサキ,ヒデオ
+モリモト,ヨシミチ
+クボタ,マサアキ
+クマサコ,モリシゲ
+アダチ,ケンタ
+コンノ,ヒロアキ
+ヤマモト,エツコ
+イワイ,リョウタ
+オオハラ,ヒデオ
+イシハラ,トモノリ
+アオキ,タケシ
+モリ,ヨリコ
+ロッポンギ,マサアキ
+カトウ,コウイチ
+サトウ,ヤスオ
+マエゾノ,エイジロウ
+フジモト,ヒデノブ
+タニムラ,ヒロシ
+ナカニシ,ユタカ
+タカハシ,シンジ
+ナカイ,カズミ
+タカハシ,タケフミ
+シモ,ユウイチロ
+シバタ,イサム
+フルミチ,ヨシオ
+タケダ,アキラ
+フジタ,ヒロシ
+カギヤマ,テツヤ
+ワチ,マサノリ
+フジタ,ヒトシ
+コンド,シゲノリ
+マツモト,タカシ
+フクイ,ヒデユキ
+スガワラ,コウジョウ
+フカヤマ,アキラ
+イマイ,マサタカ
+サトウ,クニヒコ
+カナザワ,カズオ
+フチザキ,オサム
+ツカダ,ショウイチ
+イシザキ,タカユキ
+トクラ,ミキオ
+トノサキ,モトヨシ
+タカキ,ヒデオ
+フジタ,ヒロユキ
+ナガセ,レイコ
+タナカ,ヒロユキ
+タツミ,ヨシアキ
+ヤマモト,ユウイチ
+フクタ,タカナオ
+クワハラ,ヨシユキ
+フジタ,エイゾウ
+イナクマ,トシコ
+ミサオ,コウゾウ
+ナカシタ,マコト
+オクヤマ,ユウジ
+ナガエ,カズヒロ
+ナガイ,ショウゴ
+ヤマザキ,マサル
+シライシ,ショウイチ
+ウエダ,シゲル
+オジマ,ヒロアキ
+ヒロセ,マサノブ
+ヒラノ,マサル
+フルタ,タカオ
+コヌマ,カオル
+タカヤマ,トモハル
+アサシタ,マサフミ
+ヨツハシ,ヒロシ
+ツチヤ,タカミ
+オオニシ,イサオ
+ヤマグチ,ショウジ
+シズノ,イサム
+ハシベ,リョウイチ
+ホリイ,ミヨシ
+ナガオカ,ノリコ
+クリタ,ショウヘイ
+キバ,サナエ
+イダ,マチコ
+フクトミ,カズミ
+コバヤシ,ノボル
+イリ,ケンイチ
+サタ,マスグ
+マルヤマ,ヒロフミ
+アオヤマ,シゲル
+シンドウ,ヤスオ
+アイカワ,キョウジ
+サカノウエ,ケンイチ
+フジマキ,タダアキ
+カワハラ,マコト
+ムラタ,ヒデユキ
+ヨシダ,ユウイチ
+イタクラ,テツヤ
+ジゾバラ,ヨウ
+タナカ,トシオ
+カジワラ,シュウイチ
+タナカ,オサム
+ハスイケ,シュウジ
+トウマ,ユミコ
+カワキタ,アキラ
+マツモト,ヤスヒコ
+ハセガワ,ミツオ
+フジイ,トオル
+ノムラ,ミチタカ
+ヨウコタ,ヒデオ
+カナザワ,コウゾウ
+マスヤマ,シンイチ
+カノウ,ヒロシ
+フナヤマ,エツオ
+ヤマシタ,キチヒコ
+サトウ,マサカズ
+カメモト,ヨシフミ
+イトウ,キヨシ
+オクムラ,シゲオ
+フジイ,テルオ
+キハラ,タカシ
+ノムラ,リサク
+アクタガワ,ツトム
+イシダ,クニオ
+ウメハラ,シゲル
+オオギ,ナオユキ
+コンド,ハルオ
+タケダ,ケイコ
+マツイ,フミエイ
+カミオカ,マサル
+カモシタ,ヒロミ
+ヤナギサワ,タケヒロ
+タケウチ,マモル
+モンマ,ミノル
+イイダ,カナエ
+ハセガワ,トシジ
+ナガホリ,ヒロシ
+モリオカ,タダノリ
+ニシヤマ,アキオ
+ヤマモト,ヤスオ
+イシダ,トシオ
+フルド,マサオ
+カンダ,マサアキ
+イシダ,シゲル
+サイトウ,タカヒロ
+キムラ,ヒトシ
+イワミ,ヤスノブ
+モリ,シュウイチ
+タカヤマ,ショウゾウ
+ハヤシグチ,アキヒコ
+サイトウ,ヤスオ
+シバタキ,クニアキ
+オギハラ,ヨシハル
+カトウ,イサミ
+フクト,ナオヤ
+オダ,ヒデアキ
+サトウ,マサヒロ
+ナカムラ,ユタカ
+ハマダ,タカヒロ
+オガサワラ,テツヤ
+ムラキ,カズヒコ
+オオハシ,アキヒト
+タカノ,タカシ
+ナカザワ,カズトシ
+ミヤジ,アキヒロ
+スエナガ,ヤスオ
+タタキ,アキラ
+ヨシダ,イワオ
+アオキ,ヒデシ
+スギムラ,カオル
+イトウ,マサトシ
+タカハシ,シンイチ
+スズキ,イサム
+カタヤマ,トシヒコ
+サイトウ,マサシ
+タジマ,ヒロシ
+アベ,ヨウイチロウ
+ナカジマ,シゲキ
+ヤマグチ,マコト
+ワキザカ,マサヒコ
+サコ,サダト
+オオツカ,トモヒロ
+ツカモト,ススム
+イノウエ,フミオ
+ナガオ,トオル
+ウラバ,マサオ
+コジマ,ヤスヒロ
+タケダ,ユウジ
+アオノ,ジンイチ
+イズカワ,ノブオ
+クドウ,カズアキ
+ナカムラ,トシユキ
+マツオ,マサフミ
+イナガキ,シンイチ
+ニシモト,ショウイチ
+イノウエ,ヒトシ
+オノデラ,テツヤ
+イシザカ,トシヒコ
+ハギワラ,ケンゾウ
+フルタ,マサル
+ウエジマ,トミオ
+ヌマタ,シュウイチ
+エンド,マサヒロ
+カガヤマ,シンヤ
+ユリモト,ヒトシ
+フチ,タダオ
+フジオキ,ヒロノブ
+サイトウ,マサトシ
+マツモト,ミツアキ
+ヒロセ,ヨシカツ
+ババ,ジュンイチロ
+コバヤシ,ヒロユキ
+スズキ,マサミ
+ナカヤマ,カズオ
+キシ,ヒロシ
+アサノ,マサカズ
+エンド,アキオ
+イシバシ,ダイゴ
+カイダ,ミツオ
+イケジマ,ヒデアキ
+ハラダ,トシオ
+ハマノ,コノム
+カワイ,ミチル
+ワダ,トシマサ
+サトウ,ヒロシ
+タナカ,セイジ
+アクツ,ヨシノリ
+イトウ,キヨミ
+アンドウ,イワジ
+アイザワ,フトシ
+クボタ,キヨシ
+フカウミ,サトシ
+シミズ,ヒトシ
+タカハシ,サトシ
+ナミキ,テツロウ
+ノザワ,ヤスシ
+コイタバシ,キヨヒロ
+タテイシ,ヒロミ
+カワカミ,カズオ
+コバヤシ,カズノリ
+オノズカ,ヒデオ
+タグチ,ミツグ
+タカハシ,マサアキ
+サトウ,ヤスヒロ
+クワハラ,シロウ
+セト,サトシ
+ゴケ,ヒデキ
+ヨシムラ,キヨシ
+タカヤマ,ノブユキ
+ササキ,ユキオ
+カノウ,シゲキ
+タカハシ,シゲハル
+ナガオカ,トモユキ
+スズキ,ヒデキ
+ヤマグチ,アキラ
+モリ,サトル
+スズキ,イツオ
+ウエムラ,マサトシ
+ヤブハラ,ミツヨシ
+シライシ,カズキ
+キクタ,マサノブ
+ナカイ,ミツノリ
+クラモト,ユタカ
+スミヨシ,ヒデオ
+タカギ,ヒロヒサ
+ショウジ,ノリオ
+オサダ,マサユキ
+アサノ,サトシ
+イワサ,キヨシ
+ババ,ユタカ
+ヒロタ,サトル
+フジモト,ミサコ
+サノ,マサル
+モトキ,ヤスユキ
+イトウ,マサノリ
+ウケガワ,フミオ
+ウメバヤシ,イサオ
+イナトミ,カズヨシ
+タカヤナギ,マサアキ
+ハラ,イサオ
+ナカハラ,ブンロウ
+サイタケ,セイジ
+カシヤマ,ヒロシ
+サカイ,トモユキ
+イトウ,ノリカツ
+ナカムラ,ヨシノブ
+オオノギ,タケシ
+イカミ,ユタカ
+タカハシ,シンイチ
+シイナ,トミオ
+タマノイ,ショウイチ
+クボ,ヒデアキ
+キムラ,タカシ
+ホッタ,ヒトシ
+ホカリ,タカユキ
+サトウ,アキオ
+ホシノ,シュウイチ
+カブラギ,トシヒロ
+オサダ,トシフミ
+スエヒロ,タカオ
+ムラカワ,ヨシミ
+イワサキ,ケンジ
+ヤマムラ,シンジ
+モリタ,タツオ
+イケダ,ヨシノリ
+ヤウチ,ヒロシ
+ヤマシタ,カズヒデ
+ワタナベ,ヒロシ
+アナン,エツジ
+ニシノ,タツロウ
+コシミズ,ヤスオ
+タカハシ,カズオ
+エガワ,トシオ
+ヤマザキ,タツヒロ
+イマゼキ,ヨシフユ
+スズキ,ヒデキ
+ニシハラ,ユウイチ
+オカベ,イサム
+サカイ,マサヒロ
+タダ,トシオ
+スエヨシ,ミキオ
+ハヤシ,イタル
+タカハシ,ケンジ
+コアシ,ハジメ
+モリカワ,エイシ
+カトウ,ヤスクニ
+マエバ,マサヒロ
+ヤノ,タツオ
+イトウ,ヨシハル
+ナカイ,ヒロシ
+オダギリ,カズオ
+エンド,テツオ
+タケイ,ヤスユキ
+ナカタニ,ミチノリ
+イワサキ,トモヒロ
+カラカサ,アキヒロ
+アサノ,ケンイチ
+イワブチ,マサル
+ハンダ,トオル
+テラオ,ヨシユキ
+タケイ,ヨシモト
+ハシモト,ヨシミ
+ミヤサカ,ツトム
+テラダ,イチロウ
+サカタ,ヤスユキ
+ナガヤ,カツミ
+ハシモト,ケンジ
+オオクラ,ツトム
+ナカサキ,ミツグ
+キリハラ,トシユキ
+アライ,シュンジ
+イワノ,ヒロユキ
+ハットリ,ヒロノリ
+スズキ,トオル
+ニシハラ,ヒロシ
+ササキ,シズオ
+ハナフサ,ツトム
+ノドノ,タツユキ
+カワバタ,クニオ
+シミズ,ヨシナオ
+ナガシマ,ツグヒコ
+モリ,カズオ
+シミズ,シゲアキ
+ヒサヤス,ケイゾウ
+カタウラ,シゲユキ
+タケムラ,アキミツ
+イマニシ,マサト
+オカダ,アキヒコ
+ナカエ,オサム
+シロノ,ジュンイチ
+ヨコヤマ,ノブオ
+オカザワ,マサヒコ
+カミ,ノリトシ
+クマベ,マサオ
+シミズ,タツロウ
+ヤナギサワ,ショウイチ
+マキノ,ユウジ
+サワ,ワタル
+ウシロダ,クニオ
+マチダ,ツカサ
+コバヤシ,タカオ
+シゲムラ,トシハル
+ヒグチ,タカシ
+イイヌマ,マサユキ
+イズミ,ミノル
+ハヤシ,ヒロトシ
+ヤギ,チハル
+オオカワラ,キヨタケ
+フクオジ,オサム
+ウガジン,マサミ
+タナベ,シン
+ゴシマ,マサヒデ
+アンドウ,ヒロシ
+オダマ,ユキオ
+オカザキ,イワオ
+イシカワ,フミユキ
+ムラヤマ,マサコ
+ハヤサカ,ケイジ
+ナカジマ,タク
+タケモト,ヨシミ
+キタジマ,ジュンコ
+ミカミ,ナミ
+ワラシナ,ジュンヤ
+キムラ,シン
+オザワ,ヨシカズ
+ヤマムラ,ヒトシ
+ヨシダ,シゲキ
+タチバナ,タクロウ
+マツモト,ノリノスケ
+ミシマ,ヒデアキ
+セキ,ヒロシ
+タカハシ,ヤスヒサ
+オオイケ,マサシ
+フジモト,シュウジ
+ヨシムラ,ノブヒコ
+コバヤシ,メイジ
+オオガミ,ヨシユキ
+カイ,ショウタロウ
+カエツ,マサハル
+モロイ,タカヒロ
+ミズノ,イクオ
+オオツカ,アキヒコ
+オオタ,カオル
+セキネ,リュウジ
+ミヤグチ,カズタカ
+ヨネダ,ナホコ
+ホリウチ,マサコ
+エグチ,カツミ
+ウシロマツ,カズミ
+イイダ,ユキヒロ
+ヨシダ,ヨシミ
+ナカセ,アキオ
+スズキ,ユウコ
+オイカワ,エイコ
+カワベ,サツコ
+タニザワ,タカオ
+カネコ,ハルヨ
+フジオカ,ケイコ
+ムラオカ,ツヨシ
+ウヌマ,ケイコ
+ミヤケ,フキコ
+ナカムラ,チアキ
+オオワ,マサハル
+ネモト,イチロウ
+ニシムラ,トモヒサ
+タツミ,イワオ
+サトウ,アキオ
+スノハラ,トシヒコ
+アスマ,キヨカズ
+タカバ,ノブアキ
+ヨシムラ,サトシ
+アベ,ナオト
+キクチ,ケイジ
+ナカムラ,カズマサ
+ハムラ,ツトム
+スズキ,ノブヒト
+カワムラ,トシヤ
+ヒビノ,ヒサエ
+キタダ,マサヒロ
+サトウ,ツネオ
+カトウ,カズオ
+イトウ,ユウジ
+フクトミ,マサル
+ムロズミ,マサヒロ
+ヤマナカ,ジュンイチ
+オカダ,ケンイチ
+トウゴウ,タケシ
+ナリタ,タカシ
+イケザキ,タケシ
+カワバタ,シロウ
+マツオカ,ノブオ
+ナカダ,ヒロシ
+サトウ,シンヤ
+タケザワ,ヨシヒロ
+ヤナガワ,ヒロシ
+ヤマサキ,ノリユキ
+シガキ,ノリアキ
+ユミ,タケシ
+オザキ,ツトム
+ナガシマ,タイスケ
+ヤブウチ,ヒサオ
+ホソヤ,ヒサシ
+ニシザワ,ソウジ
+ハヤミ,ヨシオ
+ハセガワ,ナオミ
+カワサキ,カツヒコ
+トヨイズミ,タカユキ
+オクムラ,マサト
+ヤマダ,ノブヒロ
+ニワ,エイヒコ
+ニシザキ,ヒロシ
+スギモト,シゲル
+オオサワ,トモナオ
+トダ,トシアキ
+ナカノ,ヨシカツ
+ミウラ,ヒサシ
+ヤマザキ,ナオユキ
+サカモト,ヒラク
+ヤマダ,ミチコ
+イノウエ,カヨコ
+ヤスイ,マサヨ
+マツダ,ユミ
+カタオカ,アケミ
+スズキ,ケイコ
+ハヤシ,ケイコ
+ハママツ,ヤスコ
+ハマノ,エリ
+ミズタニ,ミヨコ
+スミタ,モトチカ
+ハヤシ,マキコ
+トクナガ,ユミコ
+カトウ,ノブコ
+マツウラ,ミエコ
+ヒャクナ,ヒデコ
+アンザイ,ヨウコ
+フカマチ,スミオ
+ミサキ,タケシ
+モチズキ,トヨヒコ
+アオヤギ,アキラ
+タカハシ,ユキヒデ
+キセ,アキラ
+ウエモリ,シゲル
+アズマ,ミエコ
+オダクラ,ヒロミチ
+タナカ,ヒサオ
+トイタニ,カツロウ
+ヤマザキ,ケンイチ
+ハシモト,タカシ
+マツミヤ,マサヒコ
+フシミ,チカト
+キョウヤマ,テルオ
+ヨシダ,ケイコ
+ウルシド,アツコ
+セオ,ミエコ
+ミナカワ,ツキコ
+フジノ,カズユキ
+ヒロタ,タカシ
+オオタ,ヨシミ
+オオガ,マサノリ
+ナガハマ,タツオ
+ジンノ,ヤスキ
+イチカワ,ハジメ
+ハヤシ,タダシ
+ハタヤ,トシユキ
+ホリコシ,ノブヒコ
+カニ,アキオ
+ホンダ,モトヒサ
+ツチヤ,トミオ
+タマテ,ミツル
+ユカワ,エイジ
+サカイ,ユウジ
+ミヤジ,ユウイチ
+タムラ,ヒトシ
+カワグチ,ヒデマル
+サノ,マサカズ
+ナカムラ,ユウイチ
+コバヤシ,ユキオ
+イダ,イチロウ
+セキモト,ヨシヒロ
+カワマタ,カズオ
+クボ,ヒロシ
+タカノ,ヤスヒロ
+ワタナベ,ヤヨイ
+イカルギ,ミノル
+サトウ,タダシ
+ヒダカ,ヨシヒコ
+ヨシイ,コウゾウ
+シマムラ,エイロ
+オビ,トシオ
+ナカジマ,トクノブ
+ホシノ,ノボル
+カワモト,ジュンジ
+ニシダ,ヤスヒデ
+シミズ,マサアキ
+タムラ,ジュン
+トヨシマ,ヨシミツ
+エンド,タカオ
+オガワ,ナツアキ
+キタハラ,フミオ
+オグニ,ケンジ
+オブチ,ケイゾウ
+ミヨシ,カズオ
+イケノ,シンイチ
+ウエマツ,カツアキ
+フクザト,リュウイチ
+アオキ,タカシ
+サメジマ,サチオ
+キドマ,ケンジ
+コダイラ,キクオ
+ヒグチ,タツオ
+マエシロ,カズヒロ
+タナカ,セイジ
+ナカガワ,ヨウスケ
+イノウエ,ヤスヒデ
+トリウ,マサアキ
+マルヤマ,ナオキ
+マツウラ,ケンジ
+タメチカ,カオル
+ササキ,キョウコ
+オオタキ,シンスケ
+オガワ,マコト
+マツミ,マスエ
+アリマツ,シゲオ
+コラク,ユウゾウ
+ミヤシタ,ミノル
+オズチ,ミツオ
+サカキバラ,タカコ
+サトウ,アキラ
+ヒロセ,トモコ
+ツチダ,トシアキ
+ハシラ,チヨ
+フロモト,ミノル
+コサカ,アキヒロ
+タケイチ,ヨウイチ
+テラダ,ヨシカズ
+コイデ,ヒデキ
+サイトウ,ショウイチ
+ミヤナガ,ノリヒコ
+ニシムラ,シンヤ
+タナカ,ユウゾウ
+,ユミコ
+ユクヒロ,レイコ
+ヨシワラ,ジュン
+アオキ,ルミコ
+タテイシ,ユリコ
+タケダ,トミコ
+ヤスダ,フジコ
+アオキ,ヒデユキ
+ヨシダ,ナオコ
+アダチ,アキコ
+ノグチ,ヨシノブ
+ワタナベ,シゲユキ
+タケトミ,コウイチ
+クリワキ,マサキ
+キタズメ,モトヒコ
+オサダ,トシオ
+アシガイ,ヨシタカ
+サカシタ,キヨシ
+ツチダ,シュンイチ
+オカダ,ミチオ
+タナカ,ヒデチカ
+オオタゴシ,コウゾウ
+クロサカ,エイジ
+スザキ,アツシ
+カネミツ,ヒロユキ
+マト,カズユキ
+トヨフク,マサオ
+アライ,ヒロカズ
+フジカワ,ノブアキ
+ヨコオ,タカヨシ
+アマノ,ハルオ
+オオノ,タカフミ
+スズキ,アキヨシ
+カトウ,マサユキ
+サイトウ,ミツオ
+オウ,カツミ
+ミヤザキ,イサオ
+キヤ,フミタマ
+フジタ,カズヒコ
+ムカイ,ヨウイチ
+マツモト,カオル
+カワイ,ユキオ
+マツモト,キヨタカ
+タケウチ,リョウジ
+コジマ,ヒデオ
+ハセガワ,タツオ
+コガ,ヤスオ
+ヤマダ,コウイチ
+オオタ,ミノル
+ヤマモト,シンスケ
+サクラモト,フジト
+ヤナギサワ,クニオ
+フクイ,コウジ
+カトウ,カズミ
+イワタ,ヤスユキ
+フジモト,タダフサ
+キノシタ,アキヒコ
+ヤマダ,ジロウ
+クラマエ,コウジ
+クラタ,タカシ
+ヨコイ,フミトシ
+コバヤシ,ヒデヤ
+カトウ,モリヨシ
+マスイ,ヒトシ
+ウラタ,テルアキ
+タカハシ,マサヒロ
+ウシゴメ,マサタカ
+ハライ,シンジ
+ウダガワ,トシロウ
+タカギ,カズユキ
+ミヤザキ,サトミ
+ヤマムラ,マサヒロ
+ヤマギシ,リュウイチ
+コマツ,ヨシタカ
+ハマグチ,ユカ
+モリ,ヒロカズ
+ヤマダ,ヤスノリ
+カガワ,ミチオ
+キクチ,フミキ
+クジ,ヤスシ
+イトウ,ヒサアキ
+カワグチ,ヨシカズ
+アラキ,シンスケ
+オカベ,ヒロミ
+コボリ,シンイチ
+オチ,オサム
+マルオ,ハジメ
+サトウ,シュンスケ
+タナカ,ヒデノリ
+マツヤマ,トシオ
+オオツカ,クニオ
+ヤマモト,ケンジ
+フジオ,ミツエ
+ノムラ,ヒサタカ
+ヒロセ,ノリヨシ
+アンザイ,シゲノリ
+オオツボ,ミチロ
+サイトウ,リュウジ
+イトウ,サトシ
+ワラサワ,キクオ
+アラカワ,ヤスナリ
+ゴミ,ジュン
+エンド,サチオ
+ヨシダ,マサハル
+ウチダ,ヒデオ
+アサイネ,テツヤ
+オシマ,シゲオ
+タナカ,タツオ
+オオコ,マサロウ
+イズツ,ナオル
+ハヤシ,マサユキ
+フジキ,トオル
+シオカイ,カズヒコ
+ナガフチ,キヨツグ
+マツモト,タイイチ
+カトウ,ヒロシ
+ワタナベ,ケイジ
+ハマグチ,リュウイチ
+カネコ,ユタカ
+サトウ,トシオ
+オオイ,マサキ
+ハヤシ,セイジ
+キミツカ,マサオ
+フクダ,マモル
+ナカムラ,タダシ
+ヤバシ,ケンジ
+コバヤシ,タカユキ
+トクダ,トモカズ
+タカハシ,カツヒロ
+イトウ,ミツオ
+ノグチ,ヨウイチロウ
+カワナ,ノリオ
+ナカノ,ツヤコ
+ヤマダ,マサコ
+ヒラマツ,ソウタロウ
+アライ,トシユキ
+ヨシノ,カオリ
+ハマダ,カズオ
+オオタ,トシヒコ
+シバタ,マスアキ
+ワカヤマ,アキヒロ
+ホシ,キヨシ
+ミワ,マサオ
+タナカ,ユウジ
+カナヤ,ノリヒコ
+タケナカ,ジン
+サトウ,トシユキ
+ミズシマ,トヨウイチ
+テラダ,シゲル
+モリヤ,タダユキ
+スギヤマ,モトハル
+ウミ,ハルオ
+キグチ,ヨウイチロウ
+ウルワシ,タケシ
+ヒラマツ,ミチオキ
+イズハ,ハルオ
+イトウ,マコト
+サトウ,マスオ
+シゲノブ,ケンジ
+ヨシモト,カズオ
+シバタ,ツヨシ
+フナコシ,イチゾウ
+スナダ,ヤスジロウ
+,ヤスオ
+キクマ,ナオヒコ
+スト,サトシ
+ニシザワ,ヒデオ
+コバヤシ,ミツコ
+カワゴエ,マサヒコ
+イジマ,フミオ
+ニシオ,ヒロシ
+ニシヤマ,ノブユキ
+サイトウ,ヨシアキ
+カドワキ,ヒロミ
+ヒロセ,タカオ
+タグチ,タカヨシ
+タカダ,トシハル
+ワタナベ,ケンジ
+カトウ,シゲアキ
+ナカハラ,クニオ
+イシクボ,リュウイチ
+ヤマダ,ヨシオ
+ワカマツ,コウジ
+カワシマ,ヒロユキ
+カタモト,ケンジ
+タカヤマ,キミヒコ
+ツチダ,タツシ
+タチバナ,ヒデオ
+コバヤシ,アキラ
+ツダ,トシユキ
+モリカワ,ユキオ
+オクノ,ヨシオ
+イマイ,マモル
+ムラオ,タダシ
+シモムラ,ジロウ
+エンド,トシノブ
+ホシクマ,マサハル
+カワセ,シンサク
+マチダ,ムネシ
+コバヤシ,タツオ
+ハダ,ヒロシ
+ツクダ,マサハル
+ニシカワ,ショウ
+ホンダ,ヒロミ
+ワシオカ,トシヒロ
+ムロイ,ヨウ
+ヤスダ,マサシ
+ヨシダ,ヒロユキ
+ホリ,アツコ
+コウダ,コウエイ
+カマダ,エイジ
+ウエムラ,ヒロミ
+マツバラ,カズヤ
+ミナトグチ,シゲル
+クガテン,ヤスシ
+イワセ,ノブヒロ
+ハヤシ,ミツヒロ
+イクナミ,シンジ
+イトウ,タカシ
+コヤマ,ヒロミチ
+オトマル,ヨシヒト
+ナガイ,モトハル
+イトウ,マコト
+イマイ,タツル
+マスダ,タカヒロ
+カワベ,リョウタ
+サトウ,ケイジ
+サコ,マサハル
+ムカイ,ジュンイチ
+オシマ,クスタカ
+ツチヤ,イズミ
+ハヤシグチ,トシアキ
+サトウ,セイイチ
+ムラサト,ユキヒコ
+ハルヤマ,マサオ
+シゲモリ,シュンイチ
+フナキ,ヒサオ
+ワダ,イクト
+ツボカ,シンスケ
+トダ,ジュンイチロ
+ヤマムラ,タダアキ
+イシグロ,シンイチ
+フナハシ,ユキ
+スズキ,ヨシオ
+ヨシダ,キミヒロ
+ワタナベ,ツギオ
+ナカニシ,タカミツ
+ヤマモト,ジュンジ
+イシカワ,マサユキ
+タケウチ,コウイチ
+オクノ,サトシ
+ダテ,ジュン
+タベ,マサトシ
+ヤギ,リョウイチ
+ヨシダ,カズオ
+フルタ,タカユキ
+カワグチ,リュウタロウ
+ハスコ,ヨシノリ
+ナガミネ,シュンジ
+タケシタ,サトシ
+アカオ,カズユキ
+ワキモト,タカシ
+タサカ,ケンジ
+ナカシマ,ヤスヨシ
+タケナカ,ヒロアキ
+ヤマシタ,ナオヒコ
+クボエ,テルオ
+オグシ,ショウイチ
+アサカ,シゲトシ
+エグチ,ヒロヨシ
+オオサキ,マコト
+オクダ,カズオ
+オクムラ,カズロ
+カナマル,ヨシヒコ
+キノシタ,オサム
+ササキ,キヨヒデ
+タカノ,タツオ
+ハシダ,シゲル
+ホシ,ユウスケ
+ミズノ,カツヒコ
+ミツハシ,タツヤ
+モトハシ,マサシ
+ヤマダ,テツジ
+ナガノ,マサユキ
+イシイ,ユキヒロ
+カメダ,カオル
+キハタ,タケヒデ
+コバヤシ,オサム
+シラフネ,タカヨシ
+ナツハラ,ヒロアキ
+ニシハラ,ヤスヒサ
+ハシバ,タクオ
+ヒシヌマ,ヒロフミ
+ヒビヤ,シンタロウ
+ミヤ,ヒデハル
+ムラカミ,フミオ
+ムラタ,ハジメ
+ワタナベ,ショウイチ
+オオニシ,ヒロアキ
+タケシタ,ヒロシ
+ツバキモト,ヤスシ
+ハマオカ,タケオ
+ミズノ,トヨタカ
+アベ,ヒロミ
+アライシ,マサミ
+サトウ,マサアキ
+サワノ,セイザブロウ
+シモジョウ,タダミ
+タカダ,カズヒデ
+ナガタ,ヤスヒロ
+ニシハタ,マサフミ
+ハヤシ,ソウイチ
+ホソカワ,アキラ
+アオキ,ミキトシ
+ヨシダ,ヒロトシ
+ワタナベ,タカオ
+イワサワ,タカハル
+ノセ,スエオ
+ヒラシタ,ヒロヤス
+ヨシザワ,ヒデオ
+ムトウ,ケイゾウ
+ミワウラ,ヒデアキ
+キクチ,ハジメ
+エゾエ,ヒロミ
+イシカワ,タケシ
+イチカワ,タカシ
+ハラダ,ヨシタカ
+ムラタ,ヨシト
+イトウ,ミキオ
+ホシナ,ケイヤ
+トクダ,ノリオ
+タグリ,カズヨシ
+ササキ,トモユキ
+タマル,ハルオ
+ニシハシ,シゲオ
+ジツカワ,カズヒコ
+スズキ,サイチ
+オオニシ,キミコ
+ナガサキ,ユウコ
+イイダ,ヒデミ
+タカノ,マサヒロ
+ヒサノ,トシツグ
+イノウエ,ヒデキ
+イシクラ,マサユキ
+アキヤマ,コウジ
+イチカワ,センリ
+キガワ,コウイチ
+サイトウ,ヒロユキ
+ヨダ,ミキオ
+アラキ,ユウジ
+スギハラ,ヒデヒサ
+カワグチ,テイジ
+ミヤ,マサヒコ
+イケオ,ヒロユキ
+サクライ,フジオ
+コシノ,ヨウスケ
+キクカワ,カズオ
+ユアサ,タカシ
+スズキ,ユウジ
+マスダ,シンタロウ
+アライ,ヤスオ
+イケダ,トシオ
+キス,アキラ
+ウシヤマ,レイ
+カマタ,エツシ
+ウサミ,キヨシ
+ナカノ,タケシ
+カキカワ,ジュンイチ
+キジマ,ヒロユキ
+ムカイ,マサヨシ
+ナガヤマ,マサコ
+ハットリ,マサオ
+ミシマ,ツヨシ
+ゴトウ,クニトシ
+イトウ,ヒロユキ
+オガタ,カヨコ
+クサバ,ハルユキ
+テラエ,ヒサト
+ホンダ,ノリオ
+アクタガワ,ミノル
+ミヤコシ,ヤスエ
+フクシマ,ケイスケ
+シノズカ,トモコ
+オオタキ,ショウジ
+ナガマツ,セイイチロウ
+アライ,マサル
+マツダ,サチヨ
+フジタ,アツミ
+カミグチ,ヒロアキ
+カトウ,ヒトシ
+ヤマザキ,タケノリ
+ウメタニ,アツコ
+ナルセ,ジュンコ
+クボ,クニオ
+クラタ,ヒロユキ
+コンド,テルオ
+タケウチ,ミキヤ
+イノウエ,ノリオ
+タカダ,ヨシカズ
+アクツ,カツユキ
+トリイ,ヒロミ
+モリオカ,ユミコ
+カクタニ,マナブ
+タケイチ,チエコ
+タイ,ケイコ
+ツチヤ,マサフミ
+マスダ,マサタカ
+カンダ,ヒサオ
+ヤマウラ,ヤスヨシ
+キノシタ,シゲミツ
+ホサカ,クニオ
+マルオカ,ヒデユキ
+カマタ,ヒロシ
+ハタナカ,マサミ
+クロハ,ヨウコ
+トツカ,ヨウコ
+イシイ,フヨ
+モリタ,マチ
+ホンマ,シゲル
+アラカキ,ヨシトモ
+タケ,タケヒコ
+イズハラ,ナオカズ
+ヒサトミ,タロウ
+スズキ,ヨシヒロ
+ニシナカ,ヒサノリ
+ミズノ,コウゾウ
+モリムラ,アキラ
+タカハシ,トシカズ
+シゲトメ,ヨシアキ
+サトウ,ユウジ
+マエカワ,マサミ
+ヨシイ,トシノリ
+ホソヤ,ヒデヒコ
+サカモト,カズオ
+コイズミ,シゲミ
+ニシ,ヤスフミ
+カネコ,アキラ
+スミクラ,ショウヘイ
+ヨコオ,タカオ
+ササキ,カズオ
+ハヤシ,アキラ
+タナカ,キヨシ
+アキヤマ,トミオ
+サイス,ヨシカズ
+ノガミ,セイジ
+トヨシマ,シュウイチロウ
+シン,タカシ
+フキノ,モリヨシ
+イケダ,カズキチ
+オダワラ,リツ
+タカハシ,トシカツ
+ケイマ,ジュン
+シミズ,コウジ
+イマイズミ,トモジ
+モリタ,ユミコ
+モリ,ヤスミ
+マエカワ,ヤスカズ
+ヤナギダ,ススム
+ムラモト,ヒロシ
+スズキ,ヒロシ
+ホソエ,マサヒコ
+イシクラ,セイジ
+ヒロカワ,ユウジ
+カラシマ,タカシ
+マチダ,シンイチ
+モリヤマ,ヒサノリ
+タケムラ,テツゾウ
+ツカモト,アキフミ
+ヤマグチ,ヒロヒト
+ソメヤ,アキオ
+ナカゴメ,ヒデオ
+イワナガ,ケイスケ
+セキヤ,ケンジ
+テライ,カズヒロ
+タナカ,ヒデオ
+セキヤ,ジュンロウ
+サクライ,エミコ
+イソベ,マツタロウ
+マツオカ,タカヒコ
+イチ,マサノリ
+ヤマモト,シロウ
+デグチ,タカトシ
+ヒラマツ,ヨシオ
+ミズノ,イサム
+トミナガ,マサヒロ
+タカシマ,ヒトシ
+ノガミ,ヒロシ
+オオツ,ヒロフミ
+コバヤシ,ケンイチ
+テラダ,トシカズ
+サイトウ,タツヤ
+アサノ,タカヤ
+シモムラ,ノリトシ
+オオイシ,ノリヨシ
+タナカ,ツネオ
+マツモト,キヨシ
+ヒラマツ,シゲル
+タケウチ,ミノル
+シゲハラ,テルマサ
+オカモト,ハジメ
+ムラヤマ,モトコ
+コマツバラ,シズオ
+エバタ,ケンジ
+オオタ,ゴロウ
+テラオ,ヒロユキ
+オオサワ,マサル
+カワシマ,タツミ
+アライ,マサシ
+ハシズメ,アキラ
+ミズシマ,コウジ
+ヒラマツ,エツオ
+オクムラ,ヨシコ
+ミズナカ,コウシ
+ホリウチ,シュウイチ
+タキモト,トシオ
+ヤスバ,コウジ
+キタノ,モトノブ
+ニシダ,ユキオ
+イシカワ,トシミ
+オオバ,ヒサオ
+カシワギ,カズユキ
+サトウ,オサム
+マツダ,アキオ
+コムロ,ナオキ
+ムラタ,ヒデユキ
+ササガワ,カズオ
+サタケ,ハルトシ
+クワノ,ヒサオ
+ゴトウ,カツミ
+フジイ,シンイチ
+ミズコシ,ケンイチ
+フジマキ,カズヤ
+イデタ,ヒトシ
+ナカツカ,タカシ
+ウンノ,タケミ
+スズキ,カズヒロ
+ハマ,ヒロシ
+トミタ,タカオ
+タニツ,ユウゴ
+スズキ,マサミチ
+オクムラ,チヨジ
+フクシマ,カズヒコ
+オオハシ,ヒカル
+ヤマシタ,タカオ
+カワミ,セイイチ
+ハルタ,ケンイチロ
+ミヤモト,ヒロシ
+ツジタ,ユウコ
+イマムラ,マサオ
+サトウ,サブロウ
+ナカジマ,ユキコ
+シイノ,シゲオ
+ゴトウ,ミノル
+カトウ,モトハル
+ナガイ,チエコ
+ウチノ,アツシ
+エイジマ,オサム
+ヤマナカ,コウジ
+ナカムラ,ノブオ
+スズキ,ヤスユキ
+セムラ,リュウイチ
+ナカガワ,カツヒロ
+タヤ,タカシ
+ムラカミ,ヒロノリ
+イシカワ,コウイチ
+セキグチ,ショウイチロウ
+オオノ,ヨシユキ
+オイカワ,トシヤ
+イワイ,クニヤス
+アサヒ,ケンジ
+ゴトウ,カオル
+カネタケ,カナメ
+ウエマツ,トシノリ
+フクシマ,ヒロジ
+フクダ,タカユキ
+スズキ,キョウコ
+オグラ,ユキヒコ
+ヒラデ,ノブカズ
+オシゲ,タイチ
+マツモト,エリコ
+ササキ,エツオ
+ゴンダ,マサル
+マツオカ,セイジ
+ウメザワ,マサツグ
+ニシオ,カズナリ
+コジマ,ユウゾウ
+タニグチ,ヨシツグ
+オオギス,ヒロシ
+サダヒサ,コウイチ
+フジワラ,モリオ
+ハットリ,ナオユキ
+カマタ,トシオ
+トバ,マコト
+ヤマダ,タダヒロ
+ヤマモト,ミキオ
+タケウチ,タケシ
+アラキ,ヒデフミ
+ニシオ,セツコ
+モリウチ,サナエ
+イワタ,ヒデアキ
+ササキ,マサロウ
+マエガワ,ヤスツグ
+フクニシ,カズノブ
+ウエダ,トモヨ
+ヤマギシ,マコト
+オノ,ケンジ
+フジタ,フクキチ
+キタムラ,ヨシミツ
+ヨシハラ,ユリコ
+イワサワ,タクミ
+コマツ,タツヨシ
+タニムラ,ヒロアキ
+コサカ,ヒサタケ
+タシマ,マサユキ
+ニシオカ,カツユキ
+スズキ,トシオ
+ゴトウ,ヤスヒラ
+カワハラ,ジュンイチ
+タジマ,ショウジ
+カンノ,アキオ
+カタシマ,シンヤ
+ハシモト,ミスズ
+ナカダ,ヒロシ
+カサハラ,セイイチ
+テラモト,タカアキ
+ワカマツ,マナミ
+イトウ,トシツグ
+ワダ,ヒデミ
+タンジ,ヒロアキ
+オオツカ,メグミ
+ツジモト,ケイイチ
+セリザワ,ノブハル
+トノサキ,フミエ
+タカギ,ミチコ
+オフチ,カツナリ
+アマノ,ミチオ
+ナカムラ,アキラ
+タバタ,ユウジ
+トヨズミ,マサアキ
+シュクヤ,ヨシロウ
+タカノ,シンイチ
+ムラカミ,ヒトシ
+イシズカ,ノブヨシ
+イイズカ,トシヒコ
+シライ,アキラ
+フクハラ,スエハル
+イナガキ,テツオ
+ヒラシマ,ヒトシ
+ツジバヤシ,アツシ
+マツオ,マサミ
+ヤマモト,マナブ
+モリノ,タカオ
+タジマ,トシオ
+ノザキ,ジュン
+アダチ,ノブタカ
+タカヤ,タカシ
+オノ,マサオ
+マツモト,カツアキ
+ハシモト,カズヒデ
+カノ,ヤスシ
+タケダ,フミコ
+キリハラ,ケイコ
+タナカ,ヤスヒコ
+トリイ,アキノブ
+ナカシマ,マサオ
+セスミ,ジュン
+マエノソノ,カズナリ
+ゴトウ,シンジ
+ホリ,ユキヨシ
+タカイラ,キョウイチ
+タニダ,アキヒロ
+フルドイ,シュウイチロウ
+オオギヤ,マサナオ
+ナカジマ,ノブヨシ
+ホリカワ,カズヒロ
+スズキ,マコト
+アオキ,ノブユキ
+オクハタ,マサヒロ
+クワバラ,ユウスケ
+カンダ,ヒロミツ
+スギモト,リョウ
+ヤマモト,ヒデアキ
+カネコ,マサル
+ナリタ,モトユキ
+ニシオ,タケヒロ
+イカリ,ハルオ
+フルカワ,ケンイチ
+アライ,セイジ
+クズカミ,ヒロシ
+ゴトウ,シュウイチ
+ヤマハラ,マスミ
+ヤマダ,シゲル
+イジ,トシロウ
+クラモチ,ミキオ
+フジワラ,ヒデスギ
+タケダ,サトシ
+タカノセ,エツオ
+トモムラ,シゲフミ
+サトウ,ハジメ
+サカキバラ,マサユキ
+ミヤザキ,ユウジ
+ヨシダ,シュウイチ
+タナカ,ヨシヒコ
+ゴトウ,ミチオ
+ニシダ,ケイイチ
+ナカシマ,ミツヒロ
+キムラ,シゲユキ
+イノウエ,マサトシ
+オシマ,タケシ
+オオヤ,マモル
+ミヤモト,マサノリ
+ヤマシタ,オサム
+タナカ,マスミ
+モリ,アツシ
+ナルミ,オサム
+ゴトウ,ダイジロウ
+ヤマチカ,アキラ
+ササキ,マサヒト
+キシダ,ミチオ
+オオヤマ,ヨウスケ
+シイノ,カツヤ
+イズミサワ,ヨシトモ
+カミムラ,ダイチ
+サカイ,ケンイチ
+ゴトウ,カズオ
+カトウ,キイチロウ
+タカハシ,コウジ
+クノ,タツヒコ
+イワブチ,マサツグ
+ホンブ,マサフミ
+モリタ,ジュン
+セキヤ,コ
+ヌマタ,カズヤ
+ゴトウ,メイサイ
+マナベ,マサル
+イマキタ,ショウジ
+コダカ,ケンジ
+ヨシダ,タケヒサ
+サトウ,タケシ
+クスミ,カズユキ
+ハギワラ,トシカズ
+フルセ,テルヒコ
+ムラタ,ショウコ
+オクムラ,マサヒコ
+タニガミ,タイチ
+ナカムラ,シンジ
+コイズミ,マサヒコ
+スドウ,ヒロシ
+イデ,テツヤ
+シモノ,カズヒロ
+タカギ,ヨシアキ
+サカイ,アツシ
+イノウエ,カズオ
+フルタ,ミチノブ
+アサイ,キヨシ
+フカサワ,クニヒコ
+ゴカイチ,コウジ
+オオツカ,ヤスノリ
+サトウ,サトシ
+イノウエ,シゲル
+タケダ,マサユキ
+マスダ,ヨシヒコ
+ヤマモト,ノボル
+オオハラ,マナブ
+フナツ,カズヒコ
+コヤマ,ジュンゾウ
+ヤマザキ,トシヒロ
+タジリ,ミネハル
+サトウ,ツヨシ
+ナガシマ,ジロウ
+ツダ,タカシ
+ナガオ,トモミ
+オオスギ,ヒロユキ
+イトウ,トモナリ
+タマイ,ユタカ
+ミヤシタ,ヨウイチロウ
+ミシマ,ヨシヒロ
+ホリイ,ナオアキ
+ゴトウ,マコト
+ヤオ,ジュンイチ
+ヒジヤ,タツヤ
+ホリイ,ヒデジ
+タケダ,タカヨシ
+ヤスナガ,カツミ
+ヤマザキ,ヒデヒト
+ヤノ,アキラ
+シワク,ミノル
+カミノ,アキラ
+ナカジマ,タイジロウ
+マスダ,クニヒコ
+オフチ,ジロウ
+フクザキ,レイコ
+イタガキ,シゲキ
+シモ,チエ
+フクイ,ノブアキ
+イビ,ジンイチ
+コムカイ,キヨミ
+フジエ,ノブユキ
+マツキ,カズヒコ
+コバヤシ,カズヨシ
+ゴウチ,カズトシ
+ハセガワ,ケン
+カワゴエ,トモフミ
+ナガサワ,タイセイ
+ヤマシタ,サカエ
+イシザキ,シンイチロウ
+オダ,ミチヒロ
+シンドウ,タカアキ
+シモサコ,ハルヒサ
+ツツミ,キヨシ
+キタオカ,カズヒコ
+キタザワ,コウジ
+ナカオカ,エイジ
+イシバシ,ミユキ
+ハシグチ,ミワコ
+ワタナベ,アキヒロ
+オオバ,カナメ
+ハラ,カズヤ
+シミズ,コミナ
+イザワ,ヨシヒコ
+ヨシヤマ,アキラ
+スギモト,ヒロユキ
+コマツ,コウイチ
+ヘンミ,コウゾウ
+フカダ,ノリフミ
+コバヤシ,ヨシヒサ
+スギモト,ケンジ
+ヨコヤマ,ツトム
+タナカ,ノリヒコ
+ミヤタニ,サトル
+ハセガワ,アツシ
+キタガワ,タカアキ
+フクオカ,ヒロユキ
+オムラ,サトル
+イグチ,マコト
+ハヤシ,マリコ
+ヒライ,カエコ
+オオモリ,レイコ
+オギノ,イチロウ
+タムラ,ミツオ
+タケダ,ヒデアキ
+ミヤナガ,コウイチロウ
+ヒライ,ノリマサ
+ニシムラ,ヒロユキ
+ハブチ,ヒデカズ
+オオクラ,ヨシアキ
+ハッタ,エイジ
+イコマ,ヒロユキ
+アサヒナ,タカシ
+カノウ,シンゴ
+ナカニシ,シュウジ
+ミヤザキ,ヒロム
+イチカド,トヨアキ
+ナガサワ,アキノブ
+ハマグチ,ハルオ
+ヤシロ,ヒロノリ
+ムラオ,マキ
+オオギマチ,アキラ
+シロタ,マサユキ
+テシマ,ミツオ
+カワサキ,ヤスユキ
+ヤマダ,オサム
+ホンダ,マサヒデ
+カネコ,シゲル
+マツシマ,ヒロズミ
+コミヤ,コウジ
+ワダ,ツヨシ
+ヨシダ,タカシ
+モリサキ,ユウジ
+イマヒガシ,ヒデオ
+クラモチ,ワタル
+ユカワ,サトシ
+テラオ,ジロウ
+コンド,マキ
+サイトウ,マサユキ
+ヨシナガ,ヒロシ
+ユアサ,ハルユキ
+センガ,ヨシオ
+ニシグチ,トシアキ
+ウエダ,ナオキ
+ヤマオカ,トシオ
+ヤマモト,カズオ
+フジカワ,トシタケ
+オグラ,タカシ
+カワノ,ヒデオ
+カネズカ,ヒロアキ
+オカモト,ユウスケ
+カワツキ,カズオ
+スエヨシ,タツヤ
+カワベ,シゲユキ
+タカハシ,タカユキ
+モリ,シンスケ
+スギヤマ,テツジ
+マエヤマ,キヨシ
+コメタニ,ユウジ
+フジワラ,キヨシ
+アデガワ,ヒロユキ
+トミザワ,オサム
+ナカタ,マサアキ
+タチバナキ,ハルアキ
+コダマ,ショウゴ
+ハナイ,チホ
+チノネ,カズオ
+シミズ,コウイチ
+タキザワ,マサト
+クドウ,ケンジ
+モリオカ,マサカズ
+カネヒラ,アキオ
+サトウ,ヒロノブ
+ヤバナ,トシオ
+サカズメ,ヒロユキ
+ハシモト,キヨ
+ヨノモト,ヒデキ
+バンショウ,クニオ
+フチエ,カズオ
+スズキ,イクオ
+スズキ,ユキノリ
+コバヤシ,カズヒロ
+カトウ,タカツグ
+クスダ,カズイチ
+ミヤタケ,ヨシヒロ
+サノ,ヒデジ
+マルタ,トシアキ
+マキタ,マリコ
+カシワギ,ハジメ
+タニ,ヨシミ
+アリヤス,エツオ
+カトウ,シュウジ
+タナカ,マサヒト
+ツジタ,ヒロシ
+オオガワラ,タダオ
+ムラサワ,トシヒロ
+セキモト,ヒサシ
+ツジモト,ヒサト
+シオタニ,ヨウイチロウ
+ミワ,トシオ
+ナガサカ,セイジ
+コイデ,アキラ
+オグラ,ツトム
+ツツミ,タカノリ
+フカミ,ジュンイチ
+ヨシダ,タカシ
+モロホシ,ススム
+シオノ,タダヒデ
+ヤマグチ,ノブミチ
+マミヤ,ツカサ
+サイトウ,シゲユキ
+アキヤマ,キヨシ
+アダチ,カズヒロ
+カワノ,トシミツ
+ナカムラ,アキヒロ
+ヤマグチ,トシキ
+サクマ,ヒデミ
+モチズキ,ヨシタカ
+ワタナベ,ヨウジ
+コバヤシ,セイジ
+キシ,ミレイ
+ハヤサカ,ミチヨ
+コフジ,マサノブ
+サイトウ,アキコ
+ノムラ,シュンジ
+マツイ,ユキオ
+ハヤシダ,マサエ
+オガワ,タカシ
+ホンダ,タカシ
+コザワ,ヨシモト
+ササキ,ヒデアキ
+ワダ,キヨシ
+ヤマワキ,タミ
+フジイ,ハルヨ
+タキザワ,ヤスヒコ
+サトウ,コウジ
+ミカミ,サトシ
+ミワ,ノボル
+オチ,ヒロシ
+フジタ,ケイジ
+ナガタ,イチロウ
+クボタ,ヨウコ
+アオガキ,ゲン
+カリヤド,ナオコ
+ミハシ,シンイチ
+ムラマツ,チエコ
+カタヤマ,オサム
+ヤマザキ,トシヒコ
+オオギソ,キヨタカ
+ババ,マサカズ
+ミシマ,マサヒコ
+ヤノ,オサム
+ナカジマ,アキヒコ
+タケシタ,キョウコ
+ナカノ,ミノル
+タカノ,ユキ
+カワダ,カズマサ
+タジマ,コウタロウ
+モチズキ,キヨシ
+キムラ,カツミ
+アキホ,トミモト
+ヤマモト,アキ
+カワセ,ユタカ
+ササ,ヒサオ
+ノセ,カズナリ
+ヒラタ,ナオキ
+コバヤシ,シュウイチ
+アガワ,ユウスケ
+テラモト,ヒロフミ
+オザキ,サカエ
+モリ,キョウコ
+ウツ,ヒトシ
+ワカマツ,トシサダ
+イマイ,フミコ
+クボ,タカヒロ
+タカノ,ジュンジ
+ヒビノ,ヒデオ
+スズキ,ハルキ
+タナカ,タカハル
+サカモリ,カヨコ
+タキザワ,テツ
+ヨシカワ,タエコ
+トヨダ,リュウイチ
+ウラシマ,ユウジ
+コンノ,モトヒロ
+テラカワ,タケナガ
+コバヤシ,アキヒコ
+キムラ,タカコ
+カミオ,レイ
+クレバヤシ,キヨミ
+カネダ,ヒロコ
+カワモト,コウヘイ
+イマムラ,ヨシヒロ
+コハギザワ,ミノル
+シノザキ,シュウイチロウ
+メグロ,サトシ
+クニサダ,マサハル
+モリ,キヨ
+カワギシ,タカユキ
+オオスガ,カエデ
+スダ,ヒロシ
+ナカムラ,キヨカズ
+イシコ,ジュン
+スズキ,ナオヤ
+キクチ,カズヒコ
+オギタ,アキラ
+タカヤマ,タカトラ
+ナカシマ,キヨシ
+ツジモト,ヒロシ
+ハヤマ,クニヒロ
+イタガキ,マサアキ
+ヤマモト,ヒロアキ
+アダチ,ヒロシ
+キタミ,ヒロヒデ
+タマキ,ミチオ
+マエダ,ユウジ
+アダチ,ショウゾウ
+タマダ,グンジ
+モリグチ,ユウジ
+ヨシナガ,ノリコ
+マエダ,タエコ
+ワタナベ,タマキ
+タカハシ,ヨリタカ
+イシコ,テツロウ
+オジマ,カツジ
+シバヤマ,ヨシアキ
+シバ,タケヒコ
+トモノ,ケンイチ
+スミ,マサフミ
+ミツナガ,アキコ
+ウラノ,マサキ
+ヨコズカ,サトシ
+フジカワ,ハルヒロ
+カブラギ,マサユキ
+ヨシダ,ユタカ
+サイトウ,ヨシアキ
+ヤノ,タカヒサ
+ヨコタ,ナオミ
+ナカムラ,アツシ
+ナミサト,マサカズ
+ネギシ,ケイゾウ
+キノ,ノボル
+ナカジマ,アキラ
+ツツミ,シュウイチ
+コウダ,ヤスヒコ
+ホリ,ミユキ
+コンノ,カズヤ
+ワダ,ユミコ
+マツナガ,サダオ
+ニシムラ,トシユキ
+イイ,ヤスヒロ
+ヤスイ,ナオキ
+コバヤシ,シュウイチ
+ヤマサキ,マサヒロ
+スズキ,ヤスユキ
+イワタ,ハルヒコ
+シゲモリ,タカシ
+イマムラ,ノブタカ
+ツカモト,アキヨ
+イトウ,シンスイ
+クボ,ジロウ
+サナエ,カズマサ
+コダマ,アキオ
+イトウ,カツシ
+アクツ,ヨウコ
+アタラシ,ミエコ
+タグリ,ジュンコ
+ノ,タツヤ
+アカマツ,ケンジロウ
+アサノ,ケンジ
+ナカガワ,マサアキ
+カワシマ,アサコ
+サトウ,ヒデオ
+オグラ,セイジ
+イシバシ,ヒロユキ
+マツオカ,タカヨシ
+タキザワ,マサヨシ
+イタクラ,サトシ
+ホンゴウ,ヨシカズ
+ナガヤス,タカユキ
+ウチダ,ヒロシ
+ヤマシタ,ツネオ
+イシグロ,ヒロシ
+モリ,トヨヒコ
+タナカ,コウイチ
+ヒグチ,シゲト
+キト,シンイチ
+タナカ,カズユキ
+スズキ,カズヒロ
+スガイ,ケンジ
+ヨネザワ,ヨシカズ
+アラカワ,リュウジ
+イノダ,ヤスヒサ
+カトウ,マサオ
+カゲヤマ,マサシ
+ミヤワキ,トシヒコ
+ミチヤマ,タダヤス
+モリ,トシアキ
+モリサワ,シンイチロウ
+ニシムラ,カツユキ
+サイトウ,ヤスノリ
+ヤマモト,ヨウスケ
+マツウラ,ヨシアキ
+ハセガワ,ツトム
+ウチダ,ジュンイチ
+ヤスダ,コウイチ
+イシダ,トオル
+モリノ,カツマサ
+キタヤマ,ヨシヒロ
+サカモト,ヨシノリ
+ソウミヤ,ヒロユキ
+キクチ,シンイチ
+シブイ,コウジ
+トミタ,アツシ
+モリ,コウジ
+ヤマグチ,ジュンジ
+キタヤマ,ヨシヒロ
+マンモト,アキラ
+タナカ,ユタカ
+モリ,カズヒロ
+イタクラ,イサム
+イチミヤ,マサシ
+ニシヤマ,カツジ
+ワタナベ,ヒロシ
+ハンガイ,ハルオ
+ナガノ,ケイイチロウ
+シバ,ケンジ
+コジマ,ススム
+タタノ,サトシ
+カワバタ,マサヒコ
+タケダ,タロウ
+オムラ,イクロウ
+サコ,ヒロシ
+イシハラ,ミノル
+イチノセ,ススム
+キシダ,ヨシミ
+ミカミ,ジュン
+ハヤシ,タクジ
+ササキ,アユミ
+ヨネミツ,カズナリ
+セキネ,ヨシナリ
+イマニシ,キヨタダ
+アオキ,タダシ
+スギヤマ,イサオ
+ナカモリ,ヨシフミ
+シマダ,マサヒコ
+マスダ,フサオ
+ツボイ,ヒロシ
+セキヤ,ススム
+キジマ,ノリオ
+ヨシズミ,ヒデタカ
+ヤナギダテ,シンヤ
+シゲマツ,ハルヤス
+イノウエ,ナオキ
+タケウチ,ケイコ
+タナカ,タケシ
+ヒガシ,シュウジ
+タカタ,ナオヒロ
+ナカイ,ツギオ
+ハセガワ,ジュンイチ
+タニ,タカシ
+コバヤシ,ミキトヨ
+タカハシ,アサコ
+アベ,マサト
+コバヤシ,ヨシゾウ
+オノ,イクヤ
+タカハシ,ユキヒロ
+クロダ,アツシ
+ワタナベ,ヒロシ
+アベ,シンジ
+イノウエ,ヨウコ
+エンド,ヨシオ
+ノノシタ,シゲフミ
+カナイ,クミコ
+コタキ,ジ
+タカハシ,ヨウコ
+シゲヤマ,トミオ
+フカダ,アキオ
+シオジ,カツユキ
+モリヤ,フミヒロ
+オオツカ,マサヤ
+アベ,マサタカ
+ヒライ,タカユキ
+ムラマツ,ジュン
+ミズタ,マサミ
+ホリエ,カズユキ
+ヒカサ,マサタカ
+オシタニ,マコト
+コバヤシ,カツミ
+クラハシ,ヒデユキ
+ヒラバル,タケオ
+フジエダ,マコト
+トザワ,カツミ
+ヤナセ,シゲル
+クボタ,ヨシオ
+マミヤ,マサキ
+ユハラギ,マサミ
+チョウナン,ヨシマロ
+ミヨシ,トオル
+ノジマ,ヨシノリ
+モリサキ,マコト
+コヤマ,トシアキ
+カトウ,ヒロキ
+キノシタ,ヤチヨ
+カワムロ,サトシ
+モリ,ケイイチ
+ヒラシタ,サダキ
+カワシマ,リョウ
+フルカワ,アキト
+インデン,マサヒコ
+ヤマダ,ヤスユキ
+ツクダ,ミノル
+イワサキ,マサヒト
+オマエ,オサム
+スズキ,マサユキ
+ハラ,マサヒコ
+サカイ,タツムネ
+モリヤ,カズマサ
+ミヤモト,トシヒロ
+シゲタ,マサヒロ
+イシカワ,ヒデノリ
+タザキ,サダム
+スエヒロ,ムネヤ
+カネダ,コウイチ
+スエヒロ,ジュンイチ
+ササキ,リュウサク
+ヒヤマ,タツハル
+キドグチ,ヨシヒロ
+シマダ,トシユキ
+ミヤケ,ヒトミ
+モリ,ジロウ
+シラカワ,コウジ
+ワカバヤシ,シンイチロウ
+ヤマシタ,カズオ
+アマノ,ジュンジ
+タケイチ,ヒロタカ
+シン,ケイコ
+カサハラ,テツヤ
+タナカ,ケイシ
+オクダ,アキラ
+カトウ,トモコ
+カワサキ,マサコ
+カトウ,カズオ
+イチセ,マサアキ
+キタガワ,ゲンヘイ
+ヤスイ,ヨシノブ
+エダ,トミカズ
+ハヤシ,タツジ
+ナガイ,サトシ
+トノムラ,マサノリ
+タナカ,ノブユキ
+クリバヤシ,ヨシノリ
+キムラ,カツコ
+ハゼキ,ノブユキ
+アンノ,アツシ
+タカヨシ,ヨシサト
+アンザイ,ショウジロウ
+タカハシ,オサム
+ハラノ,ツネオ
+ナカガワ,カツヨシ
+ニシカワ,ユキオ
+シブヤ,カズヒロ
+カトウ,ノブヒロ
+アダチ,トシヒロ
+サクライ,ヤスタカ
+クサノ,トシヒロ
+ミナミゾノ,ミノル
+ツジムラ,アキトシ
+ヤマダ,イサム
+カツシマ,シゲミ
+コヤナカ,ヒロユキ
+タバタ,アキラ
+アダチ,ヨシヒロ
+ヒロノ,セイイチ
+ツザキ,ヒロアキ
+タチバナ,シゲアキ
+ベッショ,カズミ
+マツシタ,チュウゾウ
+タニグチ,ケンシュウ
+ナカトモ,ムツミ
+ニシムラ,ヒロシ
+ミウラ,マコト
+コンド,オサム
+マツイ,マサキ
+マツモト,ヒロカズ
+ホリイ,ヒロシ
+マスモト,ツトム
+ナカジマ,チカシ
+キムラ,ケンイチ
+ミワ,ヒロユキ
+イシバシ,ヤスシ
+エグチ,ノリヒサ
+イナフク,ジュン
+ワタヌキ,ヤスヒロ
+ヒグチ,ヨシヒコ
+イケノ,キクオ
+ウメハラ,マナブ
+ノザワ,タダシ
+イマイ,マサキ
+タカハシ,カツジ
+イイダ,ハルヒサ
+フジカワ,カオル
+ニシエ,タダヒコ
+コスゲ,ヒロシ
+オオタ,ジュンコ
+ノジ,クニヒコ
+コボリ,ミキオ
+スギヤマ,ヨシアキ
+カワタ,テツヒコ
+サメシマ,ミネオ
+コヤマ,キヨタカ
+エンカイ,タカシ
+コモダ,ツトム
+オガワ,コウイチ
+ヤマムラ,カズマサ
+エノモト,レイジ
+タカダ,ヒサタダ
+ナカミゾ,ユミコ
+オカムラ,ヒロシ
+カミバヤシ,セイジ
+フジモリ,ミキオ
+クロダ,シンイチ
+サトウ,ヨリエ
+ヨシムラ,タキオ
+モタイ,タクジ
+ムラタ,トオル
+ミワ,ナオト
+イハラ,エミ
+イマイ,タカシ
+ヒノ,カズオ
+マツモト,タカシ
+セト,ヨウジ
+クマガイ,ヤスヒロ
+ヤマダ,ヨシオ
+ワタナベ,ユウコ
+ヤサカ,ヒロシ
+サトウ,アキヒロ
+ミヤタケ,ヒロノブ
+マツウラ,ヒトシ
+マツシタ,マコト
+ウラベ,イサム
+シガキ,マサヨシ
+テラダ,ヨシヒト
+イワモト,ヨシアキ
+イノウエ,ジロウ
+モチズキ,ユキオ
+ヨシズミ,エイイチ
+ミウラ,ミツル
+ミズノ,タカユキ
+ヨシイ,ジュンイチ
+フルイ,ヨシヒロ
+ハヤシ,シゲアキ
+シライシ,ヒデオ
+スガワラ,タツオ
+ナカイ,ケイイチ
+ノフジ,ヨシハル
+サトウ,ヒロカズ
+クロダ,キイチ
+イケダ,タカシ
+サガ,ケイシ
+ミヤカワ,イクヒサ
+ワラシナ,シゲル
+キタガワ,ノブユキ
+イマイ,フミアキ
+ミサキ,ヒロノブ
+イシダ,タケシ
+リクラ,ヒデアキ
+ショウジ,コウイチロウ
+フクナガ,ヨシカズ
+クロキ,タカオ
+マタキ,ショウザン
+セキネ,マサハル
+ヤマシタ,ミツヒロ
+タナカ,ヨシアキ
+オオハマ,マサヒロ
+オオツボ,ヨシアキ
+タイ,ヒサハル
+ツルヤ,マサノリ
+ヨシダ,ヨウイチ
+マスミツ,タカシ
+カスヤ,シゲオ
+ヨシダ,ミノル
+カワムラ,ヒデキ
+ハヤシ,クニヒコ
+クニモト,マサユキ
+アラカワ,ヒナコ
+ナカムラ,マサノリ
+イシグロ,セイジ
+ハヤミ,カツヒコ
+ミナミゾノ,キンジ
+サカタ,ミノル
+カワモト,フミカズ
+ムラオカ,ヤスノリ
+イトウ,ヨシオ
+ワタナベ,ミチオ
+ノムラ,マサカズ
+サトウ,ハルナ
+ワタナベ,ヒロシ
+コバヤシ,マサカツ
+ヌルキ,ヒデヒコ
+ヨシダ,ヨウイチ
+サイトウ,ヒロシ
+ヒライ,ヨシユキ
+キムラ,タカシ
+オク,ロウ
+ハヤサカ,ヤスコ
+アサノ,ケンジ
+フジサキ,シンヤ
+アキモト,リカ
+シマダ,マサエ
+ミズカミ,マサハル
+ナカガワ,トオル
+サトウ,テツヤ
+コバシリ,ケンジ
+アラキ,ヨシオ
+スズキ,ナオトシ
+ニシデ,セツ
+オチアイ,ヨシヒサ
+ノナカ,タカシ
+ヤスイ,リュウジ
+コハタ,ケンイチ
+ミノシマ,アツオ
+テラシマ,キミヒコ
+ヤクワ,ヨシオ
+スガワラ,ミチオ
+ミツハシ,テツロウ
+ノムラ,ノリコ
+チョウ,アズミ
+サトウ,リョウコ
+シズハラ,レイコ
+ハヤシカワ,ケンジ
+ニワ,ヨシオ
+ミエノ,ケンイチ
+シマダ,ヒデト
+ナカムラ,トシオ
+ヒラノ,リョウイチ
+ヤマトヤ,カズヒコ
+ツノダ,ヤスノリ
+コバヤシ,ノブアキ
+サカクラ,キョウコ
+マツダ,マサアキ
+イマムラ,セイシ
+ヤギハシ,ナオコ
+オギノ,ヒロオ
+タナカ,ヨシマサ
+ヒガ,ヨシカズ
+サコ,ツトム
+タザキ,タモツ
+イイダ,マサハル
+イイダ,リョウスケ
+マツグマ,シゲホ
+ムラタ,ケン
+ヤスモト,マコト
+シミズ,ヒロシ
+ワクイ,ヨシタカ
+タカハシ,ヨシオ
+キタイ,トシヒコ
+アダチ,ショウイチロウ
+ハナブチ,ハジメ
+サトウ,クニヒロ
+アライ,トシヒコ
+タケナカ,サトシ
+カイ,ミホコ
+アカダ,シズオ
+クニスエ,ヒロアキ
+マエカワ,アキラ
+ミナミ,ミツシ
+タキガミ,ヒデユキ
+マツイ,マコト
+シライ,マサミチ
+タケヨシ,セイノスケ
+タカダ,キヨタカ
+タカギ,タカヒコ
+クドウ,キヨタカ
+シマダ,ノブコ
+カトウ,カズオ
+シギョウ,ヒデアキ
+ヒロノ,ソオジャ
+キノシタ,ヨシエ
+シミズ,ショウゾウ
+シムラ,ヒロアキ
+クサカリ,ミホ
+カルベ,トシハル
+マツモト,ナオユキ
+シマムラ,トマサ
+カツカワ,タカオ
+イズ,イサオ
+サクラモト,イツジ
+モリタ,ジロウ
+タナベ,クニイチ
+ハットリ,フミト
+リュウゴ,シュンイチ
+オマツザワ,マサハル
+オトワ,ユキヨシ
+コダマ,セイイチ
+カヤシマ,ユウジ
+コバヤシ,シゲル
+クニエダ,マキオ
+コウ,カズナリ
+ニシヤマ,ヒトミ
+ワダ,ヒロヤ
+ニシモト,タカシ
+サイトウ,カツノリ
+トシマ,ヨウイチ
+オオツカ,ホコク
+オノ,マサル
+スズキ,タカシ
+サクライ,タカシ
+オゼキ,タカシ
+オカダ,マサミツ
+オガワ,ヒロシ
+イケガミ,ヒデトシ
+コマツ,タカノリ
+ヨシイ,ヨシアキ
+ヒラノ,ショウイチ
+タカスカ,ヒロシ
+ハシモト,ヤスユキ
+クワエ,キクオ
+カネマツ,カネヒデ
+マツオ,ケイイチ
+イド,タカヒコ
+イノ,ジュンイチ
+サイトウ,タケシ
+カミヤマ,コウジ
+コシモト,コウイチ
+オオガワラ,ヨシノブ
+タカハシ,マコト
+ナガマツ,シンイチ
+スズキ,ゴロウ
+テラオ,ヨウジ
+ホリケ,カオル
+スズキ,タカシ
+オガワ,コウイチ
+ミヤモト,ノブオ
+オオスミ,ヒロユキ
+イワブチ,ノブヤス
+マツウラ,タツオ
+サワチ,チカオ
+テラダ,セツコ
+イバヤシ,ユタカ
+イワセ,ジュンイチロ
+オガワ,セイジ
+アソ,ヤストモ
+フクモト,サユリ
+イデ,フミタカ
+カワサキ,テツジ
+ハルナ,マサノリ
+タジマ,ユキフミ
+カナヤマ,ヨウジ
+タナカ,ワタル
+マツザキ,マサオ
+イノサカ,コウジ
+オシヤマ,ヨシヒサ
+タケウチ,タカシ
+ササオカ,トシユキ
+コモリ,マサアキ
+タジマ,ヒロアキ
+イケガミ,ケンジ
+ヤマグチ,マサアキ
+カワカミ,シゲキ
+イセキ,エイスケ
+タケダ,ヒデユキ
+タカヤス,マナブ
+カメダ,タケトシ
+フジノ,マコト
+ミサキ,ヤスノリ
+ナカムラ,トシアキ
+オガワ,コウジ
+ナカザワ,ヒデトシ
+セキ,ヤスクニ
+ヨシカワ,タクヤ
+タガワ,タカシ
+ミタニ,トシヒコ
+スエタ,アキヒト
+イヌイ,ケン
+オサダ,サトシ
+フルカワ,カツオ
+スズキ,マコト
+キタムラ,リョウスケ
+コマツ,ヒロタカ
+アサダ,ヨウイチロウ
+カンザキ,ヤスマサ
+ウスイ,ヨシフミ
+フルヤ,トシヒコ
+ヨケムラ,フミヨシ
+ヨコエ,ヨシキ
+アカイワ,トシヒコ
+フクシマ,ヒロヤス
+ヤジマ,ヤスシ
+ハラ,ミユキ
+キシダ,ユウゾウ
+クボ,ミツル
+カタギリ,ヤスノリ
+イチイ,フミヤ
+マツキ,トシアキ
+ワケベ,ケンジ
+マルヤマ,ヒデオ
+ツバキ,シゲル
+サノ,ヒロシ
+ミヤモト,マサトシ
+フクヤマ,マサアキ
+ウエムラ,マサル
+クワカド,リキ
+クニマツ,マサル
+カタオカ,ノリユキ
+トミタ,カズノリ
+ナカムラ,アツヒコ
+クドウ,ヨシテル
+オブチ,テルヒコ
+ヨシカワ,トオル
+カゲヤマ,マコト
+トダ,ケイイチ
+タカハラ,サトシ
+マツシタ,シンジ
+コダイラ,ヒデシ
+シンカイ,モトオ
+テラダ,マサヒト
+カワキタ,ハジメ
+ミウラ,サナエ
+アベ,ヒトシ
+ニシカワ,ユキヒロ
+ホソダ,イワオ
+マスダ,ヨシオ
+カザマ,タケシ
+アラマキ,カズオ
+ワタヌキ,ミツギ
+サカモト,ツヨシ
+アマガミ,シン
+コンノ,イサオ
+オクダ,ヨシノリ
+オハク,ミツオ
+ナカムラ,ヨシフミ
+ナカムラ,ユウイチ
+ウシヤマ,ユキオ
+ヤシキ,アイイチロウ
+キノセ,シュンイチ
+ワカヤマ,コウイチ
+イマイ,マサユキ
+マエダ,キヨシ
+マツシタ,エイジ
+ヒラグチ,ヒロシ
+ワダ,アツコ
+ワタナベ,ソウイチ
+マツイ,シンイチ
+マツモト,ミキオ
+ナカムラ,ジュンイチロ
+タキタ,ヨシト
+マスダ,トモコ
+ミヤウチ,マユミ
+シムラ,サカエ
+マツイ,タキコ
+ハラハタ,トミタロウ
+ヒサタニ,アツシ
+カガミ,マサツグ
+ヨシムラ,ユウジ
+オオツカ,ケイゴ
+タナカ,シンイチ
+ヒラノ,シュウ
+タケスエ,テツヤ
+ニシノ,ヨシユキ
+オオツカ,メグミ
+オダ,シンジ
+シミズ,ユタカ
+ハマモト,タカヨシ
+ミヤマエ,マサナリ
+ナガシマ,エイジ
+ミツメ,コウジ
+カゴタニ,ヨシカズ
+ヨコヤマ,タカフミ
+サカタ,ケンジ
+オイクボ,アキヒデ
+クラモチ,ヒロヤ
+アンザイ,マサユキ
+フクシマ,リエ
+ナカムラ,ヒトミ
+イトイ,ユリコ
+ホシノ,ミチコ
+コイデ,ヒロヒコ
+オザキ,ジュン
+セジモ,マサミチ
+スドウ,マサミツ
+カジワラ,ミドリ
+スズキ,カツヒロ
+ホシノ,ハルコ
+ナカムラ,ヨシアキ
+モリタ,アキカズ
+ヤマザキ,トシヒコ
+オクガワ,マサヒコ
+ナガハマ,ヒロユキ
+ヨシムラ,アキミツ
+マツダ,タカトシ
+ホカゾノ,アツヒサ
+アベ,トシツグ
+ナガイ,コウジ
+トガシ,トシヒト
+ヤザキ,テイゾウ
+ヤマウチ,ヒデキ
+ミサキ,ナオキ
+ヨシダ,シンジ
+ナカモト,シゲル
+シノハラ,ツネカズ
+ナカニシ,アキラ
+ヤジマ,キヨシ
+トヨフク,ユウジ
+タカシマ,カツジ
+フシニシ,キミエ
+ムカイ,テツヤ
+ニシムラ,ヒロユシ
+カワバタ,サトシ
+ムカエダ,サトル
+シセキ,イッシン
+カタオカ,ヨシヒデ
+ナイトウ,ヒロキ
+ミト,ヤスト
+オオニシ,トシロウ
+ヨコヤマ,タカシ
+ナカムラ,タツアキ
+イザワ,ヒサノリ
+タニガワ,トミエ
+スギタ,ユカ
+オシタ,マサユキ
+シマダ,トモコ
+ヤマムラ,コウイチ
+フクオカ,マサシ
+ヤナリ,ヒロアキ
+スズキ,シンジ
+サカイ,サトル
+ヤマダ,ユキヒロ
+ヤマコシ,シゲル
+ノモト,トシユキ
+タケシタ,モトキ
+ミノダ,シゲユキ
+アサイ,シホ
+ムネヤス,ヒデユキ
+カワニシ,マコト
+サカグチ,ヤスヒサ
+ヤマザキ,トシヒコ
+アサオカ,ヒデノブ
+キノシタ,ミキゾウ
+ミマ,キヨミ
+フクモリタ,シゲオ
+カジヤマ,ヨシコ
+ヤマザキ,ジュンイチ
+サトウ,トシヤ
+カワベ,ミツヒコ
+マルヤマ,ノブヨシ
+オガラネ,ノブコ
+ドイ,ユウゾウ
+タナカ,ミツオ
+オギシマ,オサム
+イノウエ,ヒロユキ
+フルヤ,ヒロノリ
+フクイ,ツヨシ
+マスダ,タカヒロ
+ホンダ,ユミコ
+ナカニシ,ナオタカ
+ミヤマエ,ナオヒコ
+オカノ,ヒデオ
+ババ,ヨウイチロウ
+ダケヤマ,サクコ
+ヤマグチ,ヤスオ
+ハヤシ,トシロウ
+トミズカ,ヤスヒロ
+ナカニシ,ハルヒサ
+アベ,ハジメ
+アオヤギ,ヒロコ
+テラワキ,キヨコ
+カタギリ,ノボル
+ナカガワ,マサオ
+コバヤシ,カズヒロ
+ウエダ,ヒロミ
+フジワラ,アキヒロ
+ハヤサカ,タツミ
+キムラ,ヒロシ
+ゴトウ,マサヒロ
+シムラ,ケイゾウ
+セキ,トシカズ
+アイザワ,アキオ
+ノムラ,コスケ
+カンダ,シュウジ
+ウライ,マスミ
+モトヤマ,ヨシハル
+カミムラ,テツオ
+ヒライ,マサユキ
+アライ,トモナリ
+サイトウ,ヨウイチ
+マキハラ,マサシ
+オオワク,オサム
+モチズキ,マサヒロ
+ハンガイ,ヨシヒロ
+イノウエ,カズヒト
+ナガイシ,カツミ
+ニシモト,アキラ
+ツチヤ,ショウイチ
+マツモト,タカシ
+ホン,ショウゴ
+イワイ,タツヤ
+クボ,マサオ
+ハコイ,マサオ
+ワタナベ,ノリオ
+スギタ,トシミツ
+ナカムラ,カズヒロ
+カラサキ,コウイチ
+ノリマツ,ミツヒコ
+クスモト,タカヨシ
+ニシムラ,サトシ
+コスゲ,マサナ
+フクミツ,ヤスミ
+ヤマグチ,サブロウ
+イシグロ,カズミ
+トクダ,ナオヤ
+アリトミ,ジツロウ
+ヒヤマ,シンイチ
+ヒロセ,マサトシ
+ニシダ,トオル
+ハットリ,ヨシミ
+ヒラバヤシ,ケンイチ
+ハラシマ,エイジ
+ハラ,タミオ
+ハマノ,カズユキ
+ハマダ,マサトシ
+ハシモト,カツヒコ
+ハヤシ,ヒサジ
+ヒグチ,マサミ
+ヒラノ,ユタカ
+ホンマ,マサハル
+ハルマシ,ヨシマサ
+ハシモト,ヤスオ
+ヒダ,タカシ
+ヒラスカ,チョウジ
+ハギワラ,コウイチ
+ハマダ,キミエ
+ハシモト,ミチハル
+ホンマ,ミヨシ
+ホカリ,ヤスヒロ
+ハラダ,ミチコ
+ハヤシ,ケンジ
+ホリベ,カズオ
+ハシモト,マサオ
+ハセガワ,タダカズ
+ヒロベ,ミキオ
+ハシモト,カズミ
+ヒラノ,マサユキ
+ハシモト,ケン
+ヒジカタ,ツギエ
+オオヌマ,イサオ
+ハブツ,ヒロユキ
+ヒダカ,カズヒロ
+ハシモト,キンヤ
+ハマノ,ナオキ
+ヒシヌマ,ノブユキ
+ハラ,ヨシミ
+ハナキ,シンイチロウ
+ハラ,ケンジ
+ハガ,タケオ
+ハナダ,マサノリ
+ヒラヤナギ,ノブタカ
+ホリカワ,ミツノリ
+ホリカワ,ケン
+ハシモト,アキコ
+ハタ,トシヒコ
+ヒライ,ジュン
+ハラグチ,ヤスマサ
+ヒラオ,ユウイチ
+ハシズメ,カンタ
+ツジ,マナブ
+サクラザワ,ヒデトシ
+アベ,コウイチ
+アベ,マサヒロ
+アベ,ヒロタ
+アベ,コウジ
+アベ,オサム
+アベ,タカオ
+アカギ,ヤスヒト
+オカモト,シズオ
+エンド,ミチコ
+アカイシ,ツネハル
+ニシナ,マコト
+アキモト,トシオ
+アキズキ,マサトシ
+ヒラバヤシ,シゲマサ
+アメミヤ,アキラ
+アミノ,アキヒロ
+アナミ,マサカズ
+アナザワ,カオル
+アンドウ,ユウゾウ
+アンドウ,ヒロキ
+アオヤマ,マサキ
+アオヤマ,コウジ
+アオヤマ,シンイチ
+アライ,コウイチ
+アライ,マサシ
+アライ,マコト
+アライ,タマオ
+アライ,マサヤス
+アラキ,ミユキ
+スガワラ,トモミ
+アサヒ,シゲル
+アサクラ,タカシ
+アサミ,フミトシ
+アサムラ,カツミ
+ヤマシナ,カズオ
+アサリ,マサコ
+アサズ,トモコ
+アツミ,ヨシユキ
+バン,ヒロヤス
+ベッショ,ケイイチ
+チバ,アコ
+チカキヨ,ナオヒサ
+チムラ,タミエ
+ドバシ,タケオ
+エバシ,ショウヘイ
+エビハラ,ヨシフミ
+エガミ,ユキオ
+エグチ,ユキタカ
+エグチ,サトシ
+エジリ,スグル
+エンド,マユミ
+エンド,タツオ
+エノモト,ヨシツグ
+フチノ,トオル
+フジイ,オサム
+フジイ,テツ
+イシイ,ジュン
+ムラヤマ,トシヒサ
+フジカタ,タツヤ
+フジカワ,カズトモ
+フジマル,ヒサト
+フジモト,クニヒロ
+フジモト,タダヨシ
+フジモト,トシカズ
+フジノ,ヤストモ
+フジオ,トシアキ
+フジサカ,サトシ
+フジサワ,ノリオ
+フジサワ,タカヒロ
+フジタ,マサユキ
+フジタ,マサユキ
+フジワラ,トオル
+フジワラ,マサユキ
+フジワラ,シンショウ
+フカダ,フミヒロ
+フカガワ,アツヒロ
+フカノ,ケイ
+フカワ,セイジ
+フカヤ,トシカズ
+フカザワ,ヒトシ
+フクダ,コウジ
+フクイ,ヒロシ
+フクモト,ヒロタカ
+フクモト,ヒロアキ
+フクモト,マサヒコ
+フクモト,ススム
+フクシマ,ヒロユキ
+フクトミ,リュウサク
+フナキ,シンジ
+フルサワ,タロウ
+アビコ,マサユキ
+フセ,ノリオ
+フセガワ,ヨシナオ
+フシミ,ナオヒサ
+ギマ,カズヨシ
+ゴミ,マコト
+ゴトウ,ノリコ
+ゴトウ,トモアキ
+ゴトウ,ヒサノリ
+グンジ,ミヨ
+ハギワラ,ヨシコ
+ハギワラ,イチロウ
+ハイノ,ヒサヨシ
+ハカマダ,ノリユキ
+ハマダ,ユキ
+ハマダ,ユキオ
+ハマグチ,ケンジ
+ハラ,シンイチ
+ハラ,キヨタカ
+ハラ,クニヒコ
+ハラ,マサナリ
+ハラダ,マスミ
+ハラダ,ミナコ
+ハラダ,ノリコ
+ハラコ,タカヒロ
+ハルナ,タカアキ
+ハセガワ,タクヤ
+オシマ,アキラ
+ハシモト,タカシ
+ハタノ,カズヒロ
+ハタザワ,カズミチ
+ハト,マサシ
+ハツミ,アズサ
+ハットリ,トモユキ
+ハヤカワ,トシヒロ
+ハヤカワ,アツロウ
+ハヤカワ,トシヒコ
+ハヤノ,アツシ
+ハヤセ,シンゴ
+ハヤシ,タカハル
+ハヤシ,カオリ
+ハヤシ,ヨシヒロ
+ハヤシ,ケイジ
+ハヤシ,セイタ
+イモト,マサヨシ
+ハヤツ,ヒロシ
+ヒガキ,ヒデアキ
+ヒガシ,スミコ
+ヒノ,ケンジ
+ヒラバヤシ,ナオト
+ヒラノ,カズヒロ
+ヒラノ,ケイイチ
+ヒラオカ,マユミ
+ハラサキ,タツヤ
+ヒラテ,ヒデオ
+ヒラヤマ,トオル
+ヒロエ,ヨシカズ
+ヒロカワ,シュウイチ
+ヒロセ,ヒデタカ
+ヒロシ,ノブコ
+ヒサムネ,ケイコ
+ホンダ,コウイチ
+ホリカワ,ノリアキ
+ホリコシ,シンイチ
+ホリコシ,ヒロユキ
+ホシ,ユキオ
+ホシコ,マサヒロ
+ヒラサワ,サダユキ
+ホソイ,シンイチ
+ヒョウドウ,タカシ
+ヒョウドウ,ユウスケ
+イベ,シンイチ
+イチカワ,マサヒロ
+イチカワ,マサル
+イチカワ,ユミ
+イチノミヤ,ミツル
+イデ,ミツユキ
+イデ,ユリ
+イガラシ,ヤスユキ
+イガワ,キヨシ
+イグチ,シンヤ
+イイダ,シュウイチ
+イイダ,ヒロシ
+イイジマ,コウイチ
+イイツカ,ノブオ
+イイズカ,カズノリ
+イイズカ,アリサ
+イカラシ,トモキ
+イケダ,ナオキ
+イケダ,マサフミ
+イケダ,ジュン
+イケダ,ヒデト
+イケナガ,ヒロオ
+ミツモト,ヒロタカ
+イケヤマ,ヒロユキ
+イケザ,ヒトシ
+イケザキ,オサム
+イクタ,テルユキ
+イマイ,ヨシノリ
+イマイズミ,ノリヒロ
+イマムラ,ヒロユキ
+イマムラ,エイリ
+イマニシ,トモヒロ
+イナガキ,カオリ
+イナガキ,カツユキ
+イナガワ,タツヤ
+イナホ,マサル
+イナミ,ヒロミチ
+イナツグ,ミサオ
+イナヨシ,タツオ
+イノ,カズト
+イノオカ,シンヤ
+イノウエ,タカユキ
+イノウエ,タケシ
+イノウエ,ヒデカズ
+イノウエ,タカシ
+イノウエ,タカアキ
+イノウエ,ユウイチ
+イノウエ,キクオ
+イリサワ,アキヒコ
+イセ,ユキオ
+イセキ,カツヤ
+イシダ,ヤスノリ
+イシダ,ツヨシ
+オカダ,ハルミ
+イシイ,エイジ
+ヤマダ,ヒロブミ
+スギハラ,ヒロタカ
+イシカワ,カツラ
+イシカワ,マサコ
+イシカワ,マサミ
+イシマル,ノリコ
+イシモト,タツオ
+イシモト,マサヒロ
+イシモト,ケンジ
+イシノ,カクイチロウ
+イシツカ,サトシ
+イシワタ,タクヤ
+イシワタ,ユウジ
+ヒラバヤシ,エイジ
+イシザキ,モトノリ
+イシズカ,トオル
+イソダ,タケシ
+トオカ,トシユキ
+クリハラ,ケイジ
+イトウ,ケンイチ
+イトウ,ヨシアキ
+イトウ,エツキ
+イトウ,ヨウジ
+イトウ,サトシ
+イチヤナギ,シゲヒト
+イトウ,ツネヒロ
+ナガタ,カツミ
+イトウ,タカハル
+カミカワ,タダミツ
+イワイ,ノボル
+イワカワ,テルヒサ
+イワミ,トシヒコ
+イワミ,タカシ
+イワモト,トモコ
+イワナガ,マサヒロ
+イワサキ,ケイコ
+イワサキ,フミカズ
+イワセ,ヒロユキ
+イワシタ,オサム
+イワタ,コウセイ
+イワタ,サトシ
+イワタテ,ヒデキ
+イズミ,ミワ
+ジンノ,タカヤス
+カガワ,ヒデオ
+カイヌマ,ノブオ
+カジタ,タカミチ
+カケガワ,カズタカ
+カキヌマ,ナオキ
+カマダ,タカヒロ
+カマタ,ヒロキ
+カメタニ,クニアキ
+カミ,マサノリ
+カミムラ,マサシ
+カミヤマ,マサユキ
+カナウチ,タカユキ
+タケウチ,ミキ
+カネコ,ヤスノブ
+カネコ,ヤスキ
+カンヌキ,セイイチ
+カノウ,キヨクニ
+カラハシ,ヒロアキ
+カサイ,ミノル
+ノムラ,エミコ
+カサイ,モモコ
+カセ,ジュンイチ
+カシクラ,ヨシロウ
+カシムラ,サトシ
+カシワギ,カヨコ
+カタノ,テルヒサ
+カタオカ,ヤスシ
+カトウ,オサム
+カトウ,ナオキ
+カトウ,ケイ
+カトウ,マサハル
+カトウ,タカアキ
+カトウ,タカシ
+カトウオカ,ユカリ
+カツイ,ジ
+カツマタ,ミノル
+カワバタ,タカオ
+カワチヤ,トシアキ
+カワダ,リセイ
+カワダ,ヒロユキ
+イリサワ,フミオ
+カワイ,ミワ
+カワカミ,ケンジ
+カワカミ,ミノル
+カワミ,アキラ
+カワムラ,ケンジ
+イシイ,ヤスキ
+カワノ,マサヒロ
+カワムラ,キヨヒロ
+カワサキ,ノブユキ
+カワセ,ナオキ
+カワセ,ヒロシ
+カワセ,エイジ
+カワシマ,エイコ
+カワタニ,クニヒコ
+ケイダ,マサアキ
+キダ,シゲコ
+キダチ,シゲオ
+キハラ,トモエ
+キクカワ,ユカリ
+キモト,マサヒデ
+キムラ,ケンイチ
+カマタ,ヒロユキ
+イクミ,マユミ
+キノシタ,シゲカズ
+キノウチ,マキ
+キシ,タクシ
+キシモト,カズヒロ
+キウチ,トヨアキ
+コバ,ヒロユキ
+モリ,ヒデキ
+コバヤカワ,タケシ
+クボタ,ヒトシ
+コバヤシ,テツヤ
+オオカワ,シン
+コバヤシ,テツジ
+コバヤシ,キヨノリ
+コマタ,エイタツ
+コバヤシ,カツミ
+コバヤシ,カツユキ
+コバヤシ,カズヒコ
+コダマ,ヤスシ
+コエジ,ツトム
+コグチ,ケンジ
+コハタ,トシヒコ
+コヒラ,キミオ
+ナカガワ,リエコ
+コヤマ,アキラ
+コイデ,ヨシロウ
+コイデ,ジュン
+コイケ,シゲル
+コイズミ,モトコ
+コジマ,タクヤ
+コケグチ,ヤスマサ
+コクボ,ヨウコ
+コマツ,タカコ
+コマツ,ユミコ
+コミヤ,ヨウジ
+コンド,カズトシ
+コンド,アキラ
+コンド,ミエ
+コンド,タカユキ
+コンド,タツオ
+コニシ,タカコ
+コサカ,マサヒロ
+コセキ,トシヒコ
+コシイシ,タツヤ
+コシオ,マサトシ
+コスゲ,トシアキ
+コウヤ,マサノリ
+コヤマ,カズシ
+コヤマ,オサム
+タケチ,シュウゾウ
+クボ,トシヤ
+クボ,ツトム
+クボ,フミキ
+クガイ,タカユキ
+イカラシ,カズヒロ
+クマザワ,ノブコ
+クニミツ,ヒサヨシ
+クノ,セイシ
+ホシノ,トシヤ
+クラシゲ,コウジ
+クリハラ,ミカ
+ナカガワ,ショウイチ
+ヤナギダ,ユキオ
+クリヤマ,ヒデアキ
+クロカワ,ヒデユキ
+クサカワ,ケイイチ
+クサナギ,オサム
+クサノ,ヒデヒコ
+クセ,サトル
+クシダ,チエ
+クスダ,コウイチロウ
+クスキ,チエコ
+クスミ,ユタカ
+マエダ,タツヤ
+マエダ,アキオ
+マエカワ,ヒロコ
+マエカワ,タカオ
+マガリフチ,ヨシオ
+マキノ,チヒロ
+マキノ,ケンジ
+マナベ,マサヨ
+アガツマ,タツユキ
+マルオ,シゲル
+マルタ,ナオキ
+マルヤマ,ユカ
+マルヤマ,マコト
+マルヤマ,タカヒロ
+マルヤマ,ユウジ
+マスダ,テルミツ
+マスダ,トシヤ
+カンバラ,イズミ
+マツバラ,ヒロシ
+ナカムラ,チトセ
+マツダ,クニノリ
+マツダ,マサユキ
+マツイ,ヒロユキ
+マツイ,ヨシノリ
+マツイ,シュウイチロウ
+マツイ,チヨコ
+マツモト,アツシ
+マツモト,ケンジ
+マツモト,マサカツ
+マツモト,シンヤ
+マツオカ,ミホ
+ナルセ,リュウジ
+マツヤ,ノブヒコ
+メザワ,ヒトシ
+ミギタ,マユミ
+ミカミ,ショウジ
+ミムラ,カズヤ
+ヤナギ,コウイチ
+ミナカタ,マサユキ
+ミネ,マサヤス
+ミネ,ヤスエイ
+ミノワ,キヨエ
+ミサワ,マキコ
+ミサワ,タカヒロ
+ミシマ,ツヨシ
+ミタムラ,トモヒロ
+ミト,ノブオ
+ミツヒラ,マリコ
+ミツイシ,マサフミ
+ミツナリ,タカエ
+ミウラ,ヒロカズ
+ミヤベ,ケンジ
+ミヤジマ,シゲキ
+ミヤモト,シゲル
+ミヤモト,トモミ
+ミヤサカ,ユウイチロ
+ミヤサカ,ケンイチロ
+ミヤシタ,ヒロカ
+ミヤシタ,ジュンコ
+ミヤザキ,ノリシゲ
+ミヤザワ,カツミ
+ミヤザワ,タカユキ
+ミゾハシ,タケヒコ
+サカイ,ヒロシ
+ミズノ,ヒロアキ
+ミズオチ,タカオ
+ミズシマ,ケンジ
+ミズタ,ケンジ
+モチハラ,クニ
+モチズキ,コウイチ
+モモセ,シュウイチ
+モリ,ヒロキ
+モリ,アキヒロ
+モリ,チエ
+モリ,ハズキ
+モリ,ヒデキ
+モリ,マモル
+モリカワ,マサヨ
+モリモト,ヤスヒロ
+モリモト,コウイチ
+モリモト,マナブ
+モリムラ,シンイチ
+モリノ,カズミ
+モリサワ,クニカズ
+シマオカ,オサム
+モリシタ,ユカ
+モリヤマ,ヒロコ
+モロオカ,ミツヒロ
+モロトミ,ナオキ
+モトキ,タダトシ
+モトノ,カツユキ
+モトタカ,ヒデキ
+ムグルマ,タクジ
+ムカイ,ヨシミ
+アンドウ,イワオ
+ハネ,コウキ
+ムラカミ,トシカズ
+ムラマツ,ツトム
+ムラシゲ,カズユキ
+シモムラ,ジュン
+ムラタ,マコト
+ミョウガ,タカユキ
+ナガハラ,ヒロシ
+イトウ,カツミ
+ナガイ,ケイタ
+ナガイ,トオル
+イワト,ヨシキ
+タケシゲ,チホコ
+ナガオ,アキヒロ
+ナガオ,ミチノリ
+ナガオ,イサエ
+フクツカ,ケイコ
+ナガサワ,ヒデキ
+ナガサワ,ヤスヒロ
+ナガセ,ススム
+ナガシマ,アキオ
+ナガタニ,フミヒコ
+ナガワキ,ヒロヤス
+ナガヤマ,マサヒデ
+ナゴヤ,モリオ
+ナイトウ,ノブユキ
+ナイトウ,サダミツ
+ナカダ,タクヤ
+ナカガキ,ヒロアキ
+ナカガワ,テルノブ
+ナカガワ,トシヒロ
+ナカガワ,ヤスヒロ
+ナカガワ,マサシ
+ナカジマ,トオル
+ホリウチ,トヨジ
+ナカハラ,カズヒト
+ナカジマ,カズユキ
+ナカジマ,コウジ
+キクタ,ミカ
+ナカジマ,トシアキ
+ナカマル,トシコ
+ナカムラ,ヨシ
+ナカムラ,マコト
+ナカムラ,チエ
+ナカムラ,ノリコ
+ナカムラ,タカオ
+ナカムラ,タカシ
+ナカムラ,リュウイチ
+ナカムラ,シゲカズ
+ハットリ,マナブ
+ナカムラ,サブロウ
+ナカムラ,トオル
+ナカムラ,タツジ
+ミヤモト,イズル
+ナカニシ,ヒデト
+ナカニシ,スナオ
+ナカノ,ヨシアキ
+ナカノ,チユキ
+ナカノ,ヤスヒデ
+ナカノ,オサム
+ナカノ,ツカサ
+ナカノ,ケイ
+ナカノ,ヨシノブ
+ナカオ,タカヒロ
+ナカオカ,マサカツ
+ナカシマ,シンイチ
+ナカシマ,カズナリ
+シナダ,アキラ
+ナカタ,カズナリ
+ナカヤ,タクジ
+サイカワ,ヒトシ
+ハセガワ,ヒロシ
+ナカザワ,マミ
+ナマツ,マミ
+ナリタ,タクジ
+ナスノ,タカアキ
+ネモト,ミネアキ
+ネオイ,マコト
+ネズ,ナオキ
+ニイムラ,カズマサ
+ニイヤマ,チカゲ
+ニイヤマ,ヒロシ
+ニノミヤ,ヒロシ
+ニノミヤ,カズアキ
+ニシ,タカオ
+ニシダ,マサノリ
+ニシダ,マサシ
+ニシドノ,ヨシノリ
+ニシカワ,アキラ
+ニシキド,アキヒコ
+ニシムラ,アキラ
+ニシナ,ダイイツ
+ニシオ,ジュンジ
+イノウエ,カズトシ
+ニシザワ,タカアキ
+ニシズカ,トシヤ
+ニッタ,ヒトミ
+ノダ,ワカコ
+ノムラ,サトシ
+ノノムラ,ヒロユキ
+ノリハシ,イサオ
+ヒノ,カズユキ
+ノザキ,シン
+ノザワ,マサヒロ
+ヌマノ,ノブコ
+オビセ,ヒロキ
+オボカタ,ケンスケ
+オチ,アキヒロ
+ハセガワ,ミツアキ
+マナベ,ヒロユキ
+オダ,カツミ
+オダ,シンスケ
+オダ,ヒデヒロ
+オダ,ジュンコ
+オダクラ,ギョ
+オガタ,ヒトシ
+オガワ,トシヒコ
+アベ,ヨウスケ
+オグチ,コウキ
+オグマ,マサヨシ
+オグラ,タマキ
+オグラ,ヒデオ
+ムサシ,ミツル
+オグラ,マサヒコ
+オグリ,マコト
+オオバ,ケンジ
+オオハシ,ヨウイチ
+オオイ,ヒロカズ
+オオイエ,ケンジ
+オオクボ,ハルシ
+オオクマ,イサム
+オオクマ,ヒロシ
+オノ,カツミ
+オオヌマ,カヨコ
+タカセ,ヨシヒデ
+オオサワ,ヒデキ
+オオサワ,ヒロシ
+オオサワ,ケンジ
+オオサワ,ソウスケ
+オシマ,マリコ
+オシマ,ヒロオ
+オシマ,ミツヒロ
+オオタ,シンジ
+オオタカ,ヒロユキ
+オオタキ,タケシ
+オオタニ,ヨウジ
+オオツカ,ヒロノブ
+オオツカ,テツオ
+オオワ,マコト
+オオワダ,ヒロノリ
+オオヤマ,ヒトシ
+オゾネ,ノブユキ
+オカ,ヤスシ
+オカ,ヒロアキ
+オカ,カズシゲ
+オカ,タカノリ
+オカダ,タカヨシ
+オカダ,ヒトシ
+オカダ,マサユキ
+オカダ,トヨアキ
+オカドメ,キヨカツ
+オカモト,ヤスシ
+オカモト,コウジ
+オカモト,ヒロシ
+オカムラ,リカ
+オカノ,アキラ
+オカノヤ,ミツル
+オカオ,ヤスジ
+オカザキ,ヒデオ
+オキ,ヒロユキ
+オキモト,マサヒコ
+オクムラ,トモコ
+オクムラ,ユキヒコ
+オクノ,アイ
+オマタ,アキヨシ
+オニキ,ヒロユキ
+オニツカ,マサアキ
+オノデラ,アキラ
+オノザワ,ヒデツグ
+オオニシ,ケン
+オオニシ,クニヨシ
+オオツカ,ナオヒサ
+オサダ,トモノブ
+オサキ,タカシ
+オサナミ,シズヨシ
+オヤマダ,ヤスノリ
+オザワ,コウジロウ
+オザワ,シロウ
+オザワ,ヤスノリ
+サエグサ,ヤスノリ
+サエキ,ヨシヒロ
+ナカジマ,タケシ
+サイタ,チエコ
+オガワ,ヤスハル
+サイトウ,カズヒサ
+サイトウ,タカヒコ
+サイトウ,ヨシノリ
+サカイ,リョウジ
+サカイ,ヒデノリ
+サカイ,ケイジ
+サカイ,タケシ
+サカイ,タク
+サカイ,ショウゴ
+サカイリ,ヒロユキ
+サカキ,キョウコ
+サカマ,マサノリ
+サカマキ,マサトモ
+サカモト,マサトシ
+サカモト,サトル
+サカモト,シュウイチ
+サカタ,タカシ
+サカウエ,タカユキ
+サカズメ,タクミ
+ナカノ,トモヒロ
+サクマ,ヨシヒコ
+サンボンマツ,カズヒロ
+サノ,タケシ
+サノ,トシフミ
+ササガワ,ユタカ
+ササキ,ユリコ
+ササキ,ヤスユキ
+ササキ,カズヨシ
+ササキ,コウジ
+ササザワ,トシユキ
+サトウ,ヤスシ
+サトウ,カツヒト
+サトウ,ヨシタカ
+サトウ,タカユキ
+サトウ,ノブタカ
+サトウ,ユウスケ
+サトウ,ヒデユキ
+サトウ,サトシ
+サトウ,オサム
+サトウ,マユミ
+サトウ,ノブオ
+サトウ,ヒデノリ
+サツマ,ミワコ
+サワグチ,ナオト
+サワイ,ミチヒロ
+サワラギ,ヤスオ
+サワタニ,クニオ
+セイタ,アツシ
+セキ,マサマロ
+セキ,ノブヒロ
+セキ,ノリヤス
+セキハラ,アキラ
+セキネ,ユウスケ
+セキネ,ヒロユキ
+シライシ,マサヒロ
+センガ,ノブオ
+セノ,ノリユキ
+セシモ,シュウイチ
+セト,タツオ
+セトグチ,タツヤ
+テルヤ,ユウイチ
+シイバ,リカ
+シバノ,トモユキ
+シバサキ,イクコ
+シバタ,テツロウ
+シブサワ,マサフミ
+シブサワ,ヨシヒロ
+シチ,ダイエイ
+シチタ,タカユキ
+シゲヒサ,トオル
+シゲサワ,ミユキ
+ムラタ,リュウタロウ
+シマズ,タカツグ
+シマズ,タツシ
+キシダ,タカシ
+シミズ,ミチオ
+シミズ,エイイチ
+シミズ,ヒロシ
+シミズ,ハヤトシ
+シミズ,クンジ
+シミズ,ケイコ
+シミズ,ヒロシゲ
+ミヤコシ,トシヒロ
+シモミチ,マリコ
+ナカバヤシ,カオル
+シモオサ,タケシ
+シモツジ,シンジ
+シナダ,チカシ
+シナガワ,ノブオ
+シンモト,マサヒロ
+シノ,ヨシノリ
+シノダ,リュウタロウ
+シノダ,ハツエ
+シノザキ,ショウジ
+シオタニ,テツヒロ
+シオヤ,ツカサ
+シラベ,イッセイ
+シラガキ,ヨシハル
+シライ,カズヒコ
+シライシ,エツヒロ
+シライシ,ヒロシ
+シラキ,カズヒロ
+シズタ,ケイコ
+ショウジ,ケイタ
+ソノダ,ミドリ
+スドウ,モトユキ
+スエダ,セイコ
+スエツグ,タカシ
+スガタ,ヤススケ
+スガワラ,ヨシアキ
+スギノ,ヨシノブ
+スギサキ,ユウジ
+スギシマ,マサル
+ナガイ,マリコ
+スギヤマ,トシヒロ
+スミ,カツヒロ
+スミタニ,シンイチ
+スサキ,ヒロユキ
+ススキ,コウイチ
+スヤマ,トモノリ
+スズキ,ミチオ
+スズキ,ケンイチ
+スズキ,コウイチ
+タジマ,サトキ
+スズキ,タクヤ
+スズキ,ヤスコ
+スズキ,ユタカ
+スズキ,アキコ
+スズキ,アツシ
+スズキ,ヒデトモ
+スズキ,ヒデトシ
+スズキ,ヒデトシ
+スズキ,ヒロキ
+シュクヤ,ジュンイチ
+タチバナ,カヨ
+タチヤマ,コウイチ
+タドコロ,マサアキ
+タガワ,マサヒト
+タグチ,モトカズ
+タグチ,ナオユキ
+タグチ,ノブヒサ
+タイ,ノリオ
+タジマ,サチエ
+タカダ,サトル
+タカダ,シゲノブ
+タカギ,ススム
+ミヤモト,タカシ
+タカハマ,テツオ
+タカハシ,ヤスアキ
+タカハシ,マサノリ
+タカハシ,ツトム
+タカハシ,マサユキ
+タカハシ,マコト
+タカハシ,ケンリュウ
+タカハシ,トシヒサ
+タカハシ,ヤスシ
+タカハシ,ヒロユキ
+タカハシ,ヤスノリ
+タカハシ,ヒロシ
+タカハシ,モトヤス
+タカハシ,ユキエ
+タカハシ,ヤスコ
+タカハシ,タカシ
+タカハシ,ヨシヒサ
+タカハシ,トシユキ
+タカハシ,サトコ
+タカハシ,ヒデキ
+タカハシ,イチロウ
+タカハシ,ノブアキ
+タカハシ,ミツル
+タカナシ,シン
+タカノ,カツノリ
+タカオカ,テツヤ
+タカセ,シゲキ
+タカシナ,コウセイ
+タカシナ,ダイサク
+タカタ,ヒロアキ
+タカヤマ,ヒロユキ
+タカヤナギ,ジュン
+タケバヤシ,カツミ
+ミカミ,ケイスケ
+タケイ,マコト
+タケキ,マシュウ
+タケモリ,ノブヒコ
+タケムラ,オサム
+タケウチ,ケン
+タケヤ,ショウイチ
+タケヤマ,トシアキ
+タキグチ,トシカズ
+タキシタ,トシユキ
+タキザワ,アキラ
+タマイ,シゲル
+タミヤ,アキコ
+タムラ,ヨウスケ
+タナベ,ヒロユキ
+タナハシ,ヨシユキ
+タナカ,シゲト
+タナカ,ヒデノリ
+タナカ,ヒロユキ
+タナカ,ヒロキ
+タナカ,ユキコ
+タナカ,ヒロコ
+タナカ,ジュンイチ
+タナカ,シン
+タナカ,マサカズ
+タナカ,ジュンコ
+コダマ,ヨシヒコ
+タナカ,アサオ
+タナカ,ノリアキ
+タナカ,サトシ
+タナカ,オサム
+タナムラ,サトシ
+タンバ,カズナリ
+タニグチ,ケイジ
+タニグチ,ジュンコ
+タニイ,ゲン
+タニムラ,トモノリ
+タニワキ,オサム
+タルイ,ショウジ
+タサキ,カズユキ
+タシロ,マサヤ
+タテイシ,ナオヤ
+タウチ,リョウコ
+タウラ,ヒロアキ
+テラダ,ヨシオ
+サトウ,アキラ
+テラニシ,モリユキ
+テラシタ,ヒロシ
+テルキナ,アキヨ
+トベ,エリコ
+トウゴウ,タカハル
+トグチ,エイジ
+トジ,カツノリ
+トミナガ,マサト
+トミナガ,ヤスマサ
+トミオカ,ナオキ
+トミタ,スグル
+トミヤマ,ヒロタカ
+トネガワ,アキラ
+トシナリ,ジュンコ
+トヨダ,コウジ
+トヨダ,カツヤ
+トヨダ,マサヒコ
+オオモリ,ヨウイチロウ
+トズカ,ヒデオ
+ヤマカワ,リュウヘイ
+ツボイ,ジュンコ
+ツチハシ,カツミ
+ツチノ,ミノル
+ツチヤ,ヨシヒロ
+マキ,ヒデノリ
+ツダ,ミツノブ
+ツガワ,ケンジ
+ツジ,サトシ
+ツジ,トヨカズ
+ツジ,ヒロシ
+ツカダ,ヒロユキ
+ツカモト,キヨシ
+ツムラ,タカユキ
+ツナシマ,ユキオ
+オクヤマ,マモル
+ツノダ,サダハル
+ツノガイ,ヤスノリ
+ツシマ,ノボル
+ツツミ,ヒロシ
+ツズキ,カツミ
+ツルオカ,ヒデト
+ウチダ,ヒサシ
+ウチダ,マサル
+ウチダ,マサフミ
+ウチダ,ヤスシ
+ウチノ,アキヒコ
+ウチノクラ,メグミ
+ウチヤマ,ミチハル
+ウチヤマ,タカノリ
+ウチヤマ,ノブヒロ
+ウダ,ケイジ
+ウエダ,シゲル
+ウエダ,ナツコ
+ウエダ,ヨシト
+ウエダ,トシハル
+ウエハラ,シゲル
+ウエハラ,マサオ
+ウエハラ,シンジ
+ウエジマ,ヒロユキ
+ウエキ,エリコ
+ウエムラ,クニヒロ
+ウエノ,タカヒデ
+ウエノ,トクヒロ
+ウエノ,ユウジ
+ウエヤマ,ヨシコ
+ウイ,ケイスケ
+ウメダ,ショウイチ
+ウメダ,アツシ
+ウメダ,チハル
+ウメダ,ケンジ
+ウメハラ,マコト
+ウメカワ,マサノリ
+ウルシダニ,マサユキ
+イノウエ,タケシ
+ウサミ,ユウコ
+ウシマル,タツヒロ
+ウシヤマ,カツユキ
+ウスイ,コウヘイ
+ウスイ,オサム
+ウツミ,ジロウ
+ササガワ,カズアキ
+ソメヤ,ケンジ
+ワダ,マサオ
+ワダ,マサヨシ
+ワダ,ヨシアキ
+タノウエ,ユウイチ
+ワシダ,ヒデアキ
+ワタイ,ミチアキ
+ワタナベ,マサユキ
+ワタナベ,アキオ
+ワタナベ,カズヒサ
+ワタナベ,サトシ
+ワタナベ,ヒデキ
+ワタナベ,トオル
+ワタナベ,ヒロユキ
+ワタナベ,アキラ
+ヤギ,カズオ
+ヤゴ,マサヒコ
+ヤハギ,ナオフミ
+ヤクシ,オサム
+ヤマダ,レイキ
+ヤマダ,タカシ
+ヤマダ,トミヤス
+ヤマダ,トシヒロ
+ヤマダ,トシオ
+ヤマダ,ヨシオ
+ヤマダ,ユカ
+ヤマガタ,タケシ
+ヤマギシ,マサエ
+ハリ,マサユキ
+ヤマグチ,カツシ
+ヤマグチ,トモカズ
+ヤマグチ,トモミ
+アオツカ,ヨシサト
+ヤマグチ,マサノリ
+ヤマジ,ミチオ
+ヤマモト,ヒロノリ
+ヤマモト,ジュンイチ
+ヤマモト,ケンジロウ
+ヤマモト,カズヒロ
+ヤマモト,ヒロフミ
+ヤマモト,タカユキ
+ヤマモト,アキヒデ
+ヤマモト,トシノリ
+ヤマモト,エイジ
+ヤマモト,マナブ
+ヤマモト,トシユキ
+ヤマモト,ナオフミ
+ヤマムラ,トモカズ
+ヤマナカ,ユタカ
+ヤマシナ,シンジ
+ヤマシタ,ユキヒロ
+ヤマシタ,リンジュ
+ヤマシタ,ケンジ
+ヤマシタ,ヒトシ
+ヤマテ,ケイ
+ヤマウチ,アキラ
+ヤマザキ,ユキヒサ
+ヤマザキ,ノボル
+ヤマザキ,ヒトシ
+ヤナギ,カズオ
+ヤナギダ,コウイチロウ
+ヤナギダ,ミホ
+ヤナイ,サトシ
+ヤナカ,タダシ
+ヤスダ,マサミ
+ヤスダ,イワオ
+ヤスダ,セキコ
+ヤスモト,カズヤ
+ヤツカ,ナオキ
+ヤザワ,ミズホ
+ヨダ,テツヤ
+ヨドガワ,ノリオ
+ヨダ,ヒロノリ
+ヨコハタ,ヒロヤ
+ヨコヤマ,イワオ
+ヨコヤマ,シゲル
+ヨモリ,アキヨシ
+ヨネモチ,ヨシツグ
+ヨロズヤ,ナオヒサ
+ヨシダ,タツゾウ
+ヨシダ,タカシ
+ヨシダ,ノリオ
+フジサキ,コウイチ
+ヨシダ,ヒトシ
+ヨシダ,テツオ
+ヨシマツ,チハル
+ヨシモト,ユウスケ
+ヨシムラ,カツヤ
+イシバシ,タダシ
+ヨシノ,タツヤ
+タカノ,ケイゴ
+ユハシ,ショウコ
+エダヒロ,ミドリ
+ハラダ,マサユキ
+ハヤサカ,リュウセイ
+イナガキ,マサキ
+イノウエ,サトシ
+イシハラ,タカシ
+コジマ,ヤスヒサ
+コスギ,シンゴ
+クボタ,ナルミ
+モリ,タカシ
+ナカバヤシ,ナオヒサ
+ネモト,タカシ
+ニノミヤ,ケイ
+オガワ,メグミ
+オオタニ,マサコ
+セキ,クミ
+シブタニ,ツトム
+シント,ヒロユキ
+ソブエ,ヒトシ
+タカハシ,タケシ
+タカセ,マミコ
+トヨダ,ヒロヒデ
+ウエダ,シンタロウ
+ヤマモト,ヤスユキ
+ヤマズミ,ヒロシ
+ヨシダ,コウジ
+アサカイ,ナルトシ
+フクタ,カズミ
+カワサキ,カズオ
+ヒロセ,ヨシカズ
+カサハラ,セツコ
+オザワ,ケイイチ
+カトウ,ケイイチ
+ナカムラ,セイエイ
+タグチ,ヒロム
+アダチ,リョウセイ
+アカシ,ヨシヒサ
+アキヤマ,エミ
+アオキ,ショウジ
+アラキ,トモタケ
+アサヒ,フミノリ
+アサノ,トシヒコ
+アワノ,オサム
+アワノ,ジュンジロウ
+ドウジ,ナオユキ
+ドウゾノ,セイヤ
+フチカミ,カツロウ
+フジイ,ケンジ
+フジイ,コウイチ
+フジイエ,ノブヤ
+コワ,シュンイチ
+フジシロ,マサオ
+フジタ,ヨウコ
+フジタ,ヒロユキ
+フジワラ,コウジ
+フクダ,ナオユキ
+フクダ,タツオ
+フクダ,ケン
+サイトウ,オサミ
+フクヤマ,ジュンイチ
+フルハタ,コウジ
+ゴトウ,ヒロカズ
+ハムロ,オサム
+ハセ,タクヒサ
+ハシモト,マサヒロ
+ハシモト,ジュンイチ
+ハットリ,ジュン
+ハヤシ,カツヒコ
+ハヤシ,トシアキ
+ハヤシ,マサカズ
+ハヤシ,シゲミツ
+ハヤシ,メイ
+ハヤシ,マサツグ
+ヒビ,ヒロユキ
+ヒグマ,タクヤ
+ヒライ,ヒロタカ
+ヒラカワ,ツネトモ
+ヒラノ,カズヒコ
+ヒロナカ,ミノル
+ホリグチ,ノブアキ
+ホサカ,サトシ
+ホソヤ,セイジ
+イチイ,シゲユキ
+イチカワ,モトヒロ
+イグマ,エイイチ
+イイサカ,マユミ
+イカワ,イワオ
+イケダ,アユコ
+イケダ,イクジロウ
+イケガミ,マモル
+イノウエ,シロウ
+イノウエ,ヒサアキ
+コバヤシ,トクジロウ
+イシバシ,ヤスヒサ
+イシダ,ヨシユキ
+イシマル,ミワ
+イシズカ,トシユキ
+イソ,ヒデアキ
+イトウ,ヒデアキ
+イトウ,アキヒコ
+イトウ,マサヒロ
+イトウ,サワコ
+イトウ,テツヤ
+イトウ,ヨシミネ
+イトウ,ケンイチ
+イワタ,サトシ
+カリヤ,セイイチ
+ガサキ,シゲオ
+カガ,カズヒサ
+カゲヤマ,ツヨシ
+カジナミ,タカユキ
+カミヒラタ,ヒロユキ
+カナモリ,タツヤ
+カネコ,テルオ
+カネコ,ヨシオ
+カニワ,アキラ
+カサマ,ノリマサ
+カセ,ヒロユキ
+カシムラ,フミトシ
+カタオカ,ケンジ
+カトウ,ジュンコ
+カトウ,ケイジ
+カトウ,コウタ
+カトウ,アキヒコ
+カトウ,ノブヒデ
+カワチ,ケイコ
+カワグチ,チサト
+カワノ,ミツオ
+カワシマ,テツジ
+キクチ,トモアキ
+キモト,ヨシヒロ
+キムラ,カツヤ
+キノシタ,テツ
+キシハラ,ツグアキ
+キシカワ,ヒデユキ
+キタ,リエ
+キタガワ,ミチハル
+キタノ,リエコ
+キタヤマ,セイコ
+キヨオカ,マサヨ
+キヨセ,ツカサ
+コバリ,タテキ
+コバヤシ,カオル
+コバヤシ,コウタロウ
+コボリ,タマミ
+コイワ,タケシ
+コジマ,フミヨ
+ハシモト,コウイチ
+コミヤマ,タカヒロ
+コンド,トモユキ
+コンド,ノリコ
+コンド,ヨウスケ
+コシカワ,アキフミ
+コテガワ,ケンジ
+コワ,ノブユキ
+クボタ,ショウイチ
+クボタ,ヒロユキ
+クドウ,ハヤト
+クガ,ヨシヒロ
+モリ,ユキヒロ
+クニタケ,ハジメ
+クラカケ,ヒロカズ
+クリ,マサヒト
+クサフカ,シノブ
+クワバラ,トオル
+マチダ,ヒロユキ
+マルヤマ,ユキ
+タケウチ,アキオ
+マツバ,アツシ
+マツバラ,タケロ
+マツダイラ,マキ
+マツモト,ヨリコ
+マツモト,ヨシアキ
+マツナガ,ミホ
+マツオ,マサヤ
+マツオ,ノリユキ
+マツオ,シンヤ
+ミクニ,ヤスシ
+ミナガワ,ワタル
+ミナガワ,シゲル
+ミノテ,トモアキ
+ミタ,ヨシクニ
+ミトメ,タケシ
+ミツヤマ,シュウイチ
+ミヤチ,タカフミ
+ミヤジ,コウジ
+ミヤジマ,ミツオ
+ミヤタ,ケイコ
+ミヤザキ,キヨアキ
+ミヤザキ,マコト
+ミヤザト,ヨシナリ
+ミヤザワ,ヒロキ
+ミゾグチ,モトコ
+ミズイ,マサヨシ
+モンノ,エイジ
+モリ,ミツヒロ
+モリ,ノリスミ
+モリタ,クルミ
+モリタ,トシアキ
+モリヤマ,マリコ
+ムラカミ,リュウイチ
+ムラカミ,コウイチロウ
+ムラカミ,ミノル
+ムラマツ,シンスケ
+ムロゾノ,ヒロアキ
+ナガブチ,ヒロシ
+ナガノ,ミツル
+ナガセ,リュウイチ
+ナガタニ,シホ
+ナゴヤ,ヒロアキ
+ナカガワ,カオリ
+ナカミチ,ショウ
+ナカムラ,ジュンイチロ
+ナカムラ,マサノリ
+ナカノ,ヒロシ
+ナカシマ,ヒロノリ
+ニシダ,ジュン
+ニシハラ,アツト
+ニシムラ,シンヤ
+ニシオカ,カズヒコ
+ノグチ,ノボル
+ノセ,マサズミ
+オバタ,ユウジ
+オチアイ,イクコ
+オチアイ,ヒデヒコ
+オガワ,タカシ
+オガワ,マサト
+オガワ,タミヤ
+オガワ,カツトシ
+オギノ,マユミ
+オグラ,タカアキ
+コンド,ヤスユキ
+オオエ,マサミチ
+オオガキ,ジロウ
+オオニシ,ノリアキ
+オオノ,マサミチ
+オオタ,ヒロシ
+オシロ,カズシゲ
+オオタ,タカシ
+オオタシロ,ヒデキ
+オオツ,マサカズ
+オオツ,メグミ
+オオヤギ,エイジ
+オオヤマ,チハル
+オカモト,ヒロブミ
+オカヤマ,ミツヨリ
+オケタニ,タツコ
+オクヤマ,クミコ
+オノデラ,ヒデトシ
+オザワ,ミノル
+サイトウ,カズヒデ
+サイトウ,テルオ
+サイトウ,タカノブ
+サカグチ,ヒロカズ
+サカナカ,モトム
+サカニワ,ヨリコ
+サカウチ,トシタカ
+サクライ,ツトム
+サクライ,マサユキ
+サノ,タクヤ
+ササキ,マサミ
+ササキ,エリ
+ササキ,リエ
+ササマ,マサカズ
+サトウ,タケヤ
+サトウ,ヒロユキ
+サトウ,タカシ
+サトウ,ミワ
+ニシマタ,テツオ
+サワダ,マサヒサ
+センバ,ユウイチ
+セト,ヨシノリ
+シブヤ,ユキオ
+シイ,ミサコ
+シマダ,コウヘイ
+シマダ,ミエ
+オカモト,マサトシ
+シナガワ,サチエ
+シンカワ,ヒサヤ
+シンキュウ,マサユキ
+シノダ,テルエ
+シノハラ,セイイチ
+アサカワ,カオル
+シオハラ,マサト
+シロタ,カツヒロ
+スギモト,カズヒデ
+スギヤマ,キヨタカ
+スグチ,ノブコ
+モロトミ,ハルコ
+スズキ,マサフミ
+タグチ,アキオ
+タグチ,ユウジ
+タハラ,ヒロユキ
+タカギ,ヨシオ
+タカハシ,カズオ
+タカイ,ケンジ
+タカヤマ,カズコ
+タケ,ナオキ
+タケバヤシ,リュウジ
+タケカワ,ジュンコ
+タケウチ,カホル
+ワタナベ,コウジ
+タケウチ,ヒデキ
+タミヤ,マサカズ
+タムラ,ヒロシ
+タナベ,マサヒロ
+タナカ,ケイコ
+タナカ,ノブコ
+タナカ,ツヨシ
+タニグチ,アツシ
+タニグチ,カズヒロ
+タニムラ,タツオ
+タノウエ,アキヒロ
+タルサワ,アキコ
+タシロ,トシハル
+テラダ,ユキヒコ
+トウガ,ヒデミネ
+トガシ,シゲオ
+トウゴウ,シンヤ
+トクナガ,アヤコ
+トモノ,カズミ
+トヨダ,ヨウジロウ
+ツチヤ,ヒロアキ
+ツカハラ,ノブヒロ
+ウラサキ,ユウジ
+ワダ,トモヤス
+ワダ,レイコ
+ワタナベ,マサトシ
+ワタナベ,フミオ
+ヤギヌマ,ケイコ
+ヤマダ,トシアキ
+ヤマダ,ヒサシ
+ヤマダ,ケイジ
+ヤマモト,マサアキ
+ヤマモト,ヒデト
+ヤマモト,タツヤ
+ヤマモト,ユキヒロ
+ヤマナカ,チヒロ
+ヤマナカ,カオル
+ヤマシタ,マサヒロ
+ヒグチ,ジュンジ
+ヤマザキ,フミノ
+ヤナギ,ヒロシ
+ヤスダ,ノブユキ
+ヤスエ,トシヤ
+ヨコエ,ノブアキ
+ヨコヤマ,リエコ
+ヨネハラ,コウイチ
+ヨネミツ,マコト
+ヨリマツ,トモコ
+ヨシダ,フミヒロ
+ヨシノ,ミツヒロ
+ヨシタキ,オサム
+ユカワ,ジュンヤ
+ユリ,トモオ
+モリ,タカヒサ
+ササキ,カツヒコ
+シラハマ,タケヒロ
+テンパク,ユウイチロ
+ウチダ,ナオヤ
+ヤマウラ,トオル
+マツグマ,フミコ
+アベ,ヒロユキ
+アベ,カツミ
+アベ,カズオ
+アベ,ナオアキ
+アダチ,ナナオ
+アイハラ,ツヨシ
+アジマ,ヤスアキ
+アカサカ,トオル
+アキモト,コウゾウ
+アキヤマ,タカシ
+アキヤマ,タツヤ
+アクネ,ヒロシ
+アマノ,マナブ
+アマノ,チアキ
+アメミヤ,マサツグ
+アンドウ,ミキ
+アンドウ,ミワ
+アンドウ,カズオ
+アンジキ,ユウコ
+アンペイジ,シュンイチ
+アオキ,ヨシコ
+アオキ,シゲハル
+アオキ,ユキコ
+アオキ,ジュン
+アオキ,トシアキ
+ハラシマ,リカ
+アオキ,ツトム
+アオキ,ナオヒサ
+アオヤギ,タカユキ
+アオヤマ,ヨウイチ
+アオヤマ,ケイスケ
+アライ,コウイチ
+アラキ,マコト
+アラキ,カツジ
+アラタ,ミキ
+アラヤ,シンイチ
+コバヤカワ,ヤスヒロ
+アリタ,ナルヒト
+アサバ,ヨシユキ
+アサカ,トモチカ
+アサクラ,タツオ
+アサノ,シュウジ
+アサノ,トモアキ
+アシベ,マサヒコ
+アワミヤ,ヒロユキ
+アザミ,ツトム
+アゼヤナギ,ヒロミ
+アズマ,リエ
+アズマ,タカユキ
+アズマ,ナオユキ
+ババ,ヨシカズ
+ババ,カツユキ
+ババ,ダイスケ
+バナカ,カズヤ
+サタケ,ケイコ
+チバ,モトハル
+チギラ,ノブヒコ
+チハラ,タカフミ
+チカイ,アツシ
+チュウマ,タケシ
+ダイ,マサヒロ
+ダイオ,ヒデキ
+ダテ,ヒロシ
+デグチ,コウジ
+デワ,エミコ
+ドイ,タイゾウ
+エビサワ,ヒロミツ
+ナカムラ,タカコ
+エイモリ,ハルミ
+エンド,ナオキ
+エンド,タカオ
+エノモト,ケイコ
+フジイ,ヒロカズ
+フジイ,ケンイチロ
+フジイ,タツノリ
+フジイ,ミツヨシ
+フジイ,トシアキ
+フジカワ,シノブ
+フジモリ,アキコ
+アオキ,アキラ
+フジモト,ナオヤ
+フジオカ,テツロウ
+フジタ,ヤスヒサ
+フジタ,ムツオ
+フカオ,シンイチ
+フクダ,カツヒコ
+フクダ,ヒロシ
+フクイ,ヒデオ
+フクイ,コウジ
+フクモト,ヒデタカ
+フクシマ,ヒデノブ
+フクシマ,ノブコ
+ヒノ,サチ
+フクザワ,キョウコ
+フクザワ,ミキコ
+フナダ,ユウコ
+フルダテ,ケイコ
+フルヤ,ケイスケ
+フタムラ,ミキヤ
+ナカムラ,モトヒサ
+ゴトウ,シゲキ
+ゴトウ,カズヤ
+ゴトウ,カイチロウ
+ゴトウ,ヨウコ
+ハバ,ヨウコ
+ハチヤマ,マサミ
+ハギワラ,シン
+ハマベ,タカユキ
+ハマダ,ヨシミ
+ハマダ,タカヒデ
+マエオカ,ヒトシ
+ハナミ,ヤスヒデ
+ハナオカ,アキコ
+セザイ,ナオキ
+ハラ,リョウジ
+サトウ,セイゴ
+ハラ,アツシ
+ハラダ,ナツミ
+ハラダ,エイイチ
+ハラダ,カズヒコ
+ハラダ,マサアキ
+ハラダ,ミツノリ
+ハリマ,ナオキ
+ホンマ,ノブアキ
+ハルヤマ,シゲル
+ハセ,ヨウイチ
+ハセガワ,タツオ
+ハセガワ,ヤヨイ
+ハセガワ,ケンタロウ
+ハセガワ,アキヒコ
+ハシグチ,ヒトシ
+ハシモト,カツコ
+ハシモト,カズヤ
+ハシズメ,コウタロウ
+ハシズメ,ミワ
+ハシズメ,シュンスケ
+ハタ,シンイチロウ
+ハタノ,チカラ
+ハタノ,カズトモ
+ハトリ,ナオキ
+ハットリ,タケシ
+ハットリ,ヨウイチ
+ハットリ,アキヒコ
+ハットリ,ユキ
+ハットリ,サトシ
+ハットリ,マサキ
+ハットリ,ワタル
+ハヤカワ,ケイコ
+ハヤカワ,ナオミ
+ハヤミ,スミヒト
+ハヤシ,ヒデアキ
+ハヤシ,ユミコ
+ハヤシ,マサタカ
+ハヤシ,マユミ
+ハヤシ,ヤスヒロ
+ササタニ,アキラ
+ハヤシ,マサノリ
+ハザマ,セイイチ
+ヘンミ,カナコ
+ヒビ,トモミ
+ヒダカ,トウコ
+ヒダカ,ユウコ
+ヒダカ,タロウ
+ヒエダ,ミチカズ
+ヒガキ,ショウジ
+ヒガシ,ヨシヒサ
+ヒイドメ,ヒロミチ
+ヒジクロ,セイイチ
+フクイ,イサオ
+ヒマ,ヨシキ
+ヒオキ,トウメイ
+ヒライ,マリ
+ミキ,マサユキ
+ヒラノ,フキヨ
+ヒラノ,カズヒロ
+ヒラタ,シロウ
+ヒラツカ,フミカズ
+ホダ,ヒロキ
+ヒラヤマ,ナオコ
+ヒロベ,キクミ
+ヒロイ,マサヒロ
+ヒロサワ,マサヒロ
+ヒロサワ,ナオコ
+ヒロスエ,ジュンコ
+ヒロタ,オサム
+ハヤマ,ユウコ
+ヒロワタリ,サユリ
+ヒサモト,ミカコ
+ヒサノ,ヨシアキ
+ヒサユキ,ユカリ
+ヒシダ,ヒロシ
+ヒシタニ,ヤスシ
+ワダ,フミエ
+ヒヤマ,ノブヒコ
+アリクラ,ユタカ
+ホンダ,ミノル
+ホンダ,ケイスケ
+ホンゴウ,マサト
+ホンマ,ユウイチ
+ホンマ,アキノブ
+マツモト,ケンタ
+ホリ,マナブ
+ホリ,アキト
+ホリベ,トシユキ
+ホリエ,アキノリ
+ホリエ,マサヒコ
+ホリエ,タダシ
+ホリウチ,ヨシフミ
+ホシバ,トオル
+ホシカワ,ヒデオ
+カトウ,ナオキ
+ホシナ,コウイチ
+ホリ,ノリユキ
+ホシノ,タカシ
+ホソダ,ノブオ
+ホッタ,サオリ
+ホチド,タカヤ
+イブカ,ヨシテル
+イチカワ,ヒトシ
+イチカワ,マリコ
+イチマス,ツトム
+イチノセ,カツミ
+イデ,マサヒコ
+イガラシ,マサト
+イガタ,エイイチロウ
+イイ,ユリコ
+イイダ,マサヨシ
+イイダ,マサユキ
+イイダ,シンジ
+イイノ,イチロウ
+イイヨリ,ミチハル
+イイズカ,マコト
+イカルギ,カツヤ
+イカワ,ケイスケ
+イケチ,マミ
+イケダ,コウイチロウ
+イケダ,モトハル
+イケダ,タカコ
+イケダ,タカユキ
+イケガミ,トモヒロ
+イケジリ,カズヤ
+イケタキ,クニオミ
+イクモト,シン
+イマイ,タケシ
+イマイ,レイコ
+ホソイ,ケンタロウ
+イマイ,サブロウ
+イマニシ,タケシ
+イナダ,ハジメ
+イナガキ,マナブ
+イナゲ,ケンイチ
+ハザマ,ヒサモト
+イノ,ジュン
+イノマタ,ケイタロウ
+イノウエ,リエ
+ヤスカワ,タカヒト
+ハル,トオル
+イノウエ,テルオ
+イノウエ,ツトム
+イノウエ,フミノリ
+イノウエ,ヒロヒサ
+イオキ,マサミチ
+イリエ,ノブユキ
+イサカ,トオル
+イサカ,ワタル
+オオモリ,ケンイチロ
+イシバシ,マナブ
+イシダ,ケイイチ
+イシダ,ウララ
+イシハラ,ヨシト
+イシハラ,ハルオ
+ヒラト,ヒデオ
+イシイ,ケイジロウ
+イシイ,ミキオ
+イシイ,アツシ
+イシイ,ハルオ
+イシイ,ケイジ
+イシイ,マサコ
+ハネイシ,シンスケ
+イシイ,ヤスシ
+イシカワ,ヨウコ
+イシカワ,ヨウスケ
+イシカワ,ヨシヒコ
+イシカワ,ユカ
+イシカワ,ノリコ
+イシオカ,ヨシユキ
+イシツカ,トシユキ
+イシワタ,アリヒロ
+イシザカ,コウジ
+イシザカ,エイイチ
+イシザキ,コウジ
+イシズキ,ナオト
+イソ,シゲヒト
+イソガイ,ユウコ
+イタバ,ユウジ
+イトウ,イノリ
+イトウ,マサヒロ
+イトウ,マサヒロ
+イトウ,バン
+イトウ,サトシ
+イトウ,アツシ
+ヒダカ,ヒデツグ
+イトウ,マサヒロ
+イトウ,ユキ
+ニシ,シンイチ
+イワダレ,ヨシノリ
+イワハシ,ユウコ
+イワキ,ミズホ
+イワモト,ヨシノリ
+イワサキ,ノブカズ
+ヒラツカ,ヒロシ
+イワサキ,ヒロユキ
+イワサキ,マサユキ
+イワサキ,ヒロユキ
+ジングウ,サトコ
+イワシゲ,マコト
+イワタ,ヒロシ
+ジングウ,ヨシノリ
+ゴ,ヤスカズ
+カガ,カツヤ
+カガブ,シンジロウ
+カギヤマ,ヒデオ
+カイ,ユウゾウ
+カイダ,ノリユキ
+カイダ,ノリマサ
+カマチ,ヒロユキ
+カマダ,マサコ
+カマホリ,トモヒコ
+カマタ,コウイチロウ
+カメダ,マユミ
+カメイ,フミヒコ
+カミノ,タケシ
+カミノ,ヒトシ
+カミトノ,リュウジ
+カミヤ,ノブユキ
+カミヤ,チアキ
+カミヤマ,ケンギ
+カモン,ヒデキ
+カモン,エイタロウ
+カン,トモノリ
+カナイ,ノリコ
+カナイ,スミコ
+カナジ,マサユキ
+カナオカ,タミオ
+カナザワ,カツヒサ
+カンベ,サオリ
+カンダ,ヤスタカ
+カンダ,チエ
+カネキ,エイスケ
+カネキヨ,ヒロト
+カネコ,ヒロユキ
+カネシタ,カズヒロ
+カネヤス,ナオヤ
+カノウ,シンジ
+カノウ,タケシ
+カンズイ,タミユキ
+カサハラ,ナナコ
+カサハラ,ヒデヒサ
+カサイ,エイイチ
+カサマツ,クニトシ
+カサモ,ケンイチロ
+タマタニ,シマ
+カシワギ,ユリミ
+カシワグラ,ヒデユキ
+カタダ,サチコ
+カタオカ,ナオキ
+ホシ,ヒロト
+カタオカ,シュウジ
+カトウ,ヒロキ
+カトウ,ヤスユキ
+カトウ,モリヒロ
+カトウ,シンイチ
+カトウ,リョウタ
+カトウ,ケイコ
+カトウ,テルヒコ
+カトウ,ジュンコ
+カトウ,ミチヤ
+カトノ,キヨシ
+カツムラ,ヒデキ
+カワバタ,イチロウ
+カワゴエ,アキラ
+カワグチ,コウジ
+カワハラ,マスミ
+カシムラ,ユウコ
+カワイ,ナオミ
+カワイ,ヒロユキ
+カワモト,マナブ
+カワムラ,サトル
+カワムラ,シュウジ
+カワナ,ユキヒト
+カワナ,マサカズ
+カワナミ,ヒデヒコ
+カワノ,シンジ
+カワセ,ジュンイチロ
+ハラダ,シュウコウ
+カワシマ,ノブコ
+カザミ,ナオト
+カズサワ,ヤスヒロ
+キバヤシ,ユウイチ
+キダ,タケシ
+キハラ,ヨシヒコ
+キクチ,ヒロシ
+キクチ,イチロウ
+サイトウ,ケンジ
+キクイ,ツヨシ
+キモト,ヨウコ
+キムラ,ノブユキ
+キムラ,ツヨシ
+キムラ,トシツグ
+キムラ,タカヒサ
+キムラ,ハルミ
+キノ,カズマサ
+キリノ,カズヤ
+キサヌキ,マコト
+キシ,マサキ
+キシ,ナオキ
+キシダ,サトシ
+キシカワ,シン
+ヒラテ,シンジ
+キシナミ,ヤスマサ
+キソ,ヨシオ
+キタ,ヒデアキ
+キタガワ,ナオミ
+キタジマ,ヒロユキ
+キタジマ,セイカ
+キタムラ,ノリコ
+キタノ,トシユキ
+キタザキ,タダシ
+キタザワ,タツシ
+キヨハラ,ツトム
+ハシモト,オサム
+ノザキ,フミキヨ
+コバヤシ,フミオ
+コバヤシ,マサユキ
+コバヤシ,ナオキ
+コバヤシ,タカハル
+コバヤシ,ケンジ
+コバヤシ,アツシ
+コバヤシ,エイジ
+コバヤシ,サチコ
+コバヤシ,ショウジ
+コバヤシ,トモヒロ
+コウチ,ユキ
+コダマ,ヤスヒロ
+コガ,アキヒロ
+トウドウ,シュウイチ
+コハラ,ナオスミ
+コヒ,ハルミ
+コンノ,ヒロフミ
+コイケ,トオル
+コイワ,トモユキ
+コイズミ,シュウゴ
+コジカ,ミエコ
+コジマ,ナガオ
+コジマ,リチコ
+コジマ,カズヒコ
+コジマ,サトシ
+コマツバラ,リュウタ
+コミヤ,キヨシ
+コモダ,アキヨシ
+コムロ,トシユキ
+コンド,ナツミ
+コンド,ケンジ
+コンド,ケンイチ
+コサケ,コウイチ
+コセ,タカシ
+コスギ,タケシ
+コズカ,ヤスノリ
+クボ,ハルミ
+クボ,タケヒロ
+クボ,ナオキ
+クボ,シゲオ
+クボ,ヒロシ
+クドウ,マリ
+クドウ,セイイチ
+クドウ,マサキ
+クマカワ,ケンジ
+クマクラ,ケンイチ
+クマシロ,セイイチ
+クマタ,シロウ
+クニモト,ジュンジ
+クラモチ,シュウイチ
+クラシマ,ヒロシ
+クリハラ,カズヒロ
+ヒライ,コウジ
+クリハラ,ヨシユキ
+クリハラ,カツヨ
+クリハラ,ユウジ
+クリハラ,テツオ
+クリハシ,ミツノブ
+クリス,ヨウコ
+クロダ,アツシ
+クロダ,ヒロユキ
+クロキ,タカヒロ
+クロキ,トモコ
+クロキ,エイジ
+クロメ,マコト
+クロサワ,エイジロウ
+クルミヤ,コウキ
+クサヤナギ,マサトシ
+クスノセ,ナオオミ
+クワハラ,シンジ
+マチダ,ヨウコ
+マダラメ,トシタカ
+マエダ,サトシ
+マエダ,サトル
+マエダ,シンイチロウ
+マエガワ,フミヒデ
+マエハラ,ギンジ
+マエキタ,カズコ
+マキノ,タカヒロ
+シブタニ,コウジ
+マナベ,ヨシノリ
+マルヤマ,アキラ
+マルヤマ,ヒロユキ
+マルヤマ,ケイイチ
+マサオカ,タカシ
+マスブチ,ヨシノリ
+マスダ,ユウコ
+マスダ,ヨシハル
+マスダ,タカトシ
+マスダ,タクヤ
+マスダ,ヒロカズ
+マスダ,ヒロキ
+マツバ,ノゾミ
+ハラ,ケンジ
+マツダ,ケンジ
+マツダ,ダイスケ
+マツフジ,アキオ
+マツフジ,カズナリ
+タチクイ,ミキ
+マツイ,シンジ
+マツカワ,タカヒロ
+マツマル,シュウサク
+マツモト,アキオ
+マツモト,カズノリ
+マツモト,アキヒコ
+マツモト,ノリコ
+マツモト,ヒロシ
+マツモト,ツトム
+シオバラ,シンイチ
+マツムラ,シュンイチ
+マツムラ,ヨシノリ
+マツナガ,ユキコ
+マツナガ,マサヒロ
+マツナミ,ヨシコ
+マツオ,トシヤ
+マツオ,トモヒロ
+マツオカ,エイコ
+ハヤシダ,カズヒロ
+マツオカ,セイイチ
+アゼヤナギ,セイジ
+マツオカ,シンゴ
+マツオカ,ヒロアキ
+マツセ,タカユキ
+マツシマ,ケンジ
+マツシタ,コウジ
+マツタニ,シンジ
+マツワカ,サトシ
+マツヤマ,アキラ
+マツザキ,キクオ
+マツナガ,マコト
+ホンナ,キワム
+メカタ,ケンジ
+ミカジリ,キョウコ
+ミカミ,シンスケ
+ミカミ,ヒデオ
+ミキ,マサユキ
+ミミタ,ミチロ
+ミナクチ,フミハル
+ミナミ,サトシ
+ミナミ,トモユキ
+ミナミ,アキラ
+ミナト,ショウジ
+ミネ,ヨシタカ
+ミネ,アツシ
+ミシマ,コウジ
+ミシマ,オサム
+ミソノ,ヒロヒサ
+ミタムラ,マサトシ
+ミタンダ,ケンイチ
+ミツボ,ヨシカズ
+ミツボシ,トシヒロ
+ハスムラ,トシフミ
+ミツハシ,ヒロミツ
+シナダ,ヒロユキ
+ミツマ,カズヒト
+ミヤハラ,ジツヤ
+ミヤハラ,ヒデハル
+ミヤイ,ミエコ
+ミヤジマ,ユカコ
+ミヤモト,カズナリ
+ミヤモト,ヒデノリ
+ミヤシタ,ヒロユキ
+ミヤタ,ヒロユキ
+ミヤタ,カオル
+ミヤウチ,ケンジ
+ミヤウチ,オサム
+ミヤウラ,タケヒサ
+ミヤザキ,タケシ
+ハシグチ,シゲキ
+ミヤザワ,コウジ
+ミヤザワ,アキオ
+ミヤズ,ヤスヒト
+ミゾカミ,ジュンイチ
+ミズノ,テツヒコ
+ミズノ,トシユキ
+ミズタニ,ノブユキ
+モチダ,アキヒロ
+モチズキ,アキオ
+モチズキ,ジロウ
+ミヨシ,タカシ
+モリ,マサキ
+モリ,マサシ
+モリ,ダイイチ
+モリ,マサユキ
+モリ,テツヤ
+モリ,ヒロカズ
+モリ,ツネアキ
+モリ,イズミ
+モリ,ヒロカズ
+モリグチ,ヒロキ
+モリカワ,コウジ
+モリナガ,マサシ
+モリサキ,アケミ
+モリタ,ヨウイチ
+モリタ,エイジ
+モリヤ,ムツオ
+モリヤマ,ヒデオ
+モテギ,ミツヒロ
+モトキ,クニヒロ
+ハギワラ,ノブヨシ
+ムカイダ,シコ
+ムネヒロ,ヒデユキ
+ムネカタ,カズヨシ
+ムラカミ,ツヨシ
+ムラカミ,ヤスヒロ
+ムラカミ,ヤスオ
+ムラコシ,ヒロコ
+ムラマツ,マサト
+ムラヌキ,ケイジ
+ムラタ,ユキモト
+ムラタ,マサキ
+ムラタ,セイジ
+ムラヤマ,ヨシハル
+ヤマシタ,アキヒロ
+ムロタ,ヒロカズ
+ミョウジン,ミチオ
+ナガイ,ノリコ
+ナガヌマ,ユキオ
+ナガオ,エリ
+ナガオカ,ミホ
+ナガサワ,カオル
+ナガシマ,タカシ
+ナガシマ,ヨシカズ
+ナガタ,ヨシヤス
+ナガタ,チエコ
+ハセガワ,ヒロアキ
+イガラシ,カズヒロ
+ナガヤマ,ケンジ
+ナガヨシ,マサカツ
+ナイトウ,マサキ
+ナカバヤシ,マサノリ
+ナカガワ,シンイチ
+ナカゴメ,サトシ
+ナカシマ,トシアキ
+ナカジマ,ヤスマサ
+ナカジマ,ユウコ
+ナカジマ,テルミ
+ナカジマ,クラト
+ナカジマ,ユウジ
+ナカクキ,シンイチロウ
+ナカマル,リカ
+ナカミチ,ミカ
+ナカモト,ユキヒロ
+ナカモト,ヒロカズ
+ナカモト,ヒロユキ
+ワタナベ,ヒロフミ
+ナカムラ,マサナリ
+ナカムラ,シンイチロウ
+ナカムラ,セイジ
+ナカムラ,カズノリ
+ナカムラ,ユウジ
+ナカムラ,テルユキ
+ハギワラ,サトコ
+ナカムラ,マキコ
+ナカムラ,ヒデユキ
+ナカムラ,テツヤ
+ナカムラ,ケンタ
+ナカノ,ヤスシ
+ナカオ,ユウコ
+ナカオ,ヒロユキ
+ナカオカ,トモユキ
+ナカシマ,サトシ
+ニシジマ,タカシ
+ナカヤ,ワタル
+ナカヤマ,ヒロシ
+ナカザト,カツアキ
+ナマタメ,マモル
+ナメラ,モリヒト
+ナナミ,タダトシ
+ナンバ,タカオ
+ナン,ケイスケ
+ナンポ,アキラ
+ナラブ,ヒデキ
+ナリハラ,ヒロミ
+ナリトミ,ナオキ
+ナルシマ,マコト
+ナスカワ,ジュンヤ
+ナトリ,ケンヤ
+ネギシ,エミコ
+ネモト,イズミ
+ニエダ,トオル
+ニイジマ,マコト
+ニイクラ,マサル
+ニイツマ,ケンジ
+ニイザワ,ヨシノリ
+ニシダ,ヒロヒト
+ニシダ,タケシ
+ニシダ,エイジ
+ニシダ,ヒデト
+ヒダカ,ユキマサ
+ニシダ,ヤスオ
+ニシカド,アツシ
+ニシカワ,エイジュ
+ニシカワ,トモアキ
+ニシカワ,マサノブ
+ニシモト,ヒデヤ
+ニシムラ,マサノリ
+ニシナ,キヨシ
+ニシノ,ヒロカズ
+ニシタ,ミキ
+フカミ,カズヨ
+ニシワキ,タケヒコ
+ニシヤマ,カツシ
+ニシヤマ,ヒトシ
+ニシザワ,ヨシヒロ
+ニッタ,ヒロヨシ
+ニワタ,ホズミ
+ニワヤマ,チズ
+ノアミ,クニコ
+ノボリタテ,マナブ
+ノダ,タカユキ
+ノガワ,ヒロヤ
+ノグチ,トモアキ
+ノグチ,タカシ
+ノジリ,ヒロユキ
+ノモト,ユウコ
+ノムラ,ミキコ
+ハヤサカ,カズヒロ
+ノムラ,マサヒロ
+ノト,ソノミ
+ノザキ,トシヤ
+コサカ,ヤスシ
+オバナ,アヤコ
+オチ,マサテル
+オダ,ハルノブ
+オガサワラ,カズテル
+オガタ,ヒロヤス
+クキ,ユタカ
+オカダ,ヒロアキ
+オガワ,ヒロユキ
+オガワ,マサユキ
+オガワ,ヤスノリ
+オギハラ,カズトシ
+オギノ,コウイチ
+オブ,ミカ
+オオハラ,タダヒコ
+ハマモト,ヤスコ
+オオハラ,ユウジ
+オハシ,サトシ
+オオカワ,マサト
+オオクボ,マサアキ
+オオミヤ,セイジ
+オオモリ,テツヤ
+オムラ,リョウイチ
+オオニシ,マサタカ
+オオノ,ヒロヤス
+オオヌキ,カズオ
+オオサキ,サトシ
+オオサキ,ユウコ
+オオサワ,シロウ
+オシマ,タケシ
+オシマ,タカオ
+オシマ,ツトム
+オオタ,ヤスオ
+オオタ,ノブヒロ
+オオタ,ミカ
+オオタ,ヒロシ
+アンドウ,ケンイチ
+オタカ,タカアキ
+オオタキ,フトシ
+オオタニ,カズヒコ
+オオタニ,ノリヒサ
+オオタニ,マサカズ
+ハヤシ,ユキコ
+オオツボ,タケヒサ
+オオツカ,ヨシノリ
+オオツカ,エイキ
+オオツカ,アツシ
+ハヤシ,エミコ
+オオツル,ミチエ
+オフチ,トシコ
+オオワ,タケシ
+オオヤ,ムネオ
+オジオ,フミノブ
+オカ,マサトシ
+オカベ,アユム
+オカダ,マサキ
+オカダ,タカヤ
+オカダ,トオル
+オカダ,ヒロユキ
+オカモト,タカユキ
+オカモト,ユウ
+オカモト,トモユキ
+オカムラ,ヒロクニ
+オカムラ,ケイイチ
+オカザキ,ヒロトシ
+オカザキ,コウタロウ
+オキノ,カオル
+オクダ,ハジメ
+オクダ,マサノリ
+オクガワ,ジュンイチ
+ハギハラ,ケンジ
+オクウチ,ムネシ
+オオミ,アヤコ
+オムラ,ヒトシ
+オンダ,カズヒロ
+オオノ,ユタカ
+オオノ,ヒョウゾウ
+オオノ,ミノル
+オオノ,シュンスケ
+オノデラ,マサヒコ
+オノデラ,ヨシノリ
+オノデラ,トシオ
+オノムラ,ミノル
+オノザワ,シンヤ
+オオヌキ,テツロウ
+オノ,タカアキ
+オオヤマ,ヒトシ
+オリド,ヒデアキ
+オリシキダ,コウイチ
+オオサカ,タダオ
+オヤマ,タイチ
+オザキ,タツヤ
+オザキ,ヨシマサ
+オザワ,ユウスケ
+コザワ,ヒロシ
+オザワ,マサハル
+オザワ,タケシ
+ハタナカ,ミツヒロ
+サエキ,リョウコ
+サイダ,モモコ
+サイグサ,ヒロシ
+ハンダ,タケシ
+サイトウ,ヤストモ
+サイトウ,マサヒサ
+サイトウ,シゲヒト
+サカチ,マサオ
+サカグチ,コウジ
+サカイ,ミノル
+サカイ,コウゾウ
+ヒラノ,アキヒロ
+サカイ,アキラ
+サカイ,ヒロミ
+サカイ,ミキオ
+サカイ,ナオキ
+サカモト,タカシ
+サカモト,ヤスヒロ
+ヒロセ,ヨシアキ
+サカモト,ヨウキチ
+サカタ,トモジ
+キシダ,ヒロアキ
+サコ,アカシ
+サクマ,マサル
+サクラバ,エミ
+サクライ,ハルミ
+サクラヤマ,ヒロシ
+サメシマ,カズヨシ
+サンベ,マコト
+サルワタリ,マサキ
+ハセガワ,マサト
+ササエ,ナオキ
+ササハラ,リョウジ
+ササキ,タカマサ
+ササキ,タカシ
+ササキ,ユタカ
+ササキ,ユキコ
+ハビロ,ユタカ
+ササオ,カズシゲ
+ササオカ,トモコ
+ササタニ,ヨシミ
+サタ,トモミ
+サタケ,トシキ
+サトウ,ジュン
+ホシノ,ケイジ
+サトウ,マサハル
+ハットリ,シンヤ
+サトウ,トオル
+サトウ,シゲキ
+サトウ,ユキタカ
+サトウ,リョウイチ
+サトウ,タツキ
+サトウ,ケイジ
+サトウ,マリオ
+サトウ,トシアキ
+サトウ,ケイイチ
+ヒラノ,ヒロアキ
+サトウ,ヒロユキ
+サトウ,ヤスノリ
+サワダ,ケイイチ
+サワダ,コウヘイ
+サワフジ,タカヒロ
+サワキ,コウヘイ
+サワムラ,ヒロシ
+セガワ,シンタロウ
+セガワ,カズキ
+セキ,リツコ
+セキ,タイチ
+セキグチ,ヒサシ
+セキネ,カズアキ
+セキネ,カツミ
+ヒラノ,エイイチ
+センゴク,ヤスシ
+セオ,ヒロシ
+セラ,タダシ
+セラ,ヒロカツ
+シバハラ,カズノ
+シバタ,カズヒコ
+シバタ,トモヒロ
+ハセガワ,トモミツ
+シバタ,ユタカ
+シバタ,マサタケ
+シバタ,マサユキ
+シバザキ,マサコ
+シブタニ,トモハル
+シブヤ,トモカツ
+シチヒョウ,キミアキ
+シキ,マサル
+シキシマ,タケシ
+シマ,アキコ
+シマ,コスケ
+シマダ,カツヒロ
+シマヌキ,タカシ
+シマオカ,ヤスタカ
+シマシタ,ナオヒロ
+シマズ,ケイイチ
+シミズ,ヒデキ
+シミズ,ケイスケ
+ハセガワ,チエコ
+シミズ,マサオ
+シミズ,ユリコ
+シミズ,カズヒサ
+シモガイ,トシコ
+シモカワベ,アキヒロ
+シモオカ,アキヒロ
+シモサカ,ヒデユキ
+シモヤマ,テツヤ
+シンボリ,ヒロエ
+シノハラ,ナオタカ
+シノハラ,ヒサトシ
+シノザキ,ヒロシ
+シノザキ,ヨシコ
+シノズカ,ケンイチ
+シンヤ,ヒデコ
+シオタ,ジュンキチ
+シオタニ,ケンジ
+シオヤ,トオル
+シラハマ,ミチヒサ
+シライ,ミカ
+シライシ,ミサ
+シライシ,ヤスヒト
+シライシ,ツトム
+シラキ,ケイスケ
+シラサキ,カズユキ
+ショウナゴ,タカシゲ
+オオヤマ,ミカ
+シュトウ,ヒロキ
+シモイズ,ヨリト
+ソエダ,タクミ
+ホリノ,ヒロカツ
+ソトジマ,フトシ
+スダ,メイジロウ
+スダ,コウコ
+スドウ,ヒデヒト
+スガ,ハジメ
+スガヌマ,ヒロカズ
+スガワラ,ケイ
+スギバヤシ,マサトシ
+スギモト,ミカ
+スギモト,ノブコ
+スギムラ,ノリヒコ
+スギノ,サトル
+スギサキ,シンイチ
+スギサワ,タカオ
+スギタ,タカユキ
+ハヤシ,タミ
+スギウラ,トオル
+スギヤマ,トシヤ
+スギヤマ,シンジ
+スゴ,ヤスオ
+スイタ,ヨシヒサ
+スミダ,アツシ
+スミカワ,サトシ
+スナガ,トオル
+スノハラ,マサミ
+スズキ,アキラ
+スズキ,トモユキ
+スズキ,ヨシユキ
+スズキ,マサフミ
+スズキ,ショウゴ
+スズキ,タケヒロ
+スズキ,ヨシノリ
+スズキ,カズフ
+スズキ,アキコ
+スズキ,カツヒコ
+スズキ,シゲル
+ヤマカワ,タツオ
+スズキ,アサコ
+スズキ,アキヒコ
+ハガ,ヒロカズ
+スズキ,イサト
+スズキ,カオリ
+スズノ,カツフミ
+シュトウ,クニヒデ
+タバラ,マコ
+タダ,マサル
+ハリガイ,タカノブ
+タダ,マサユキ
+タガシラ,ミナコ
+タグチ,ミユキ
+タグチ,ノブアキ
+タジマ,シンジ
+タジマ,シンジ
+ホッタ,シュンイチ
+タカダ,トモノリ
+タカギ,トシカズ
+タカギ,ヨウイチ
+タカギ,ユウコ
+タカハシ,エイコ
+ハシグチ,ヒロアキ
+タカハシ,ヒロシ
+タカハシ,ナオミ
+タカハシ,ヒロミチ
+タカハシ,カツトシ
+タカハシ,カズコ
+タカハシ,カズオ
+タカハシ,トモヒロ
+ハセガワ,テルオ
+タカハシ,ケンタロウ
+タカハシ,ヒデノリ
+タカハシ,カツミ
+タカハシ,シンイチ
+タカハシ,ヨシミツ
+タカハシ,カズヒロ
+タカハシ,イチタロウ
+タカハシ,アツノリ
+タカハシ,ケンイチ
+タカハシ,フサヒコ
+オオミ,ケンジ
+タカヒラ,ミノル
+タカイ,ヨシトモ
+タカミヤ,コウジ
+タカナシ,リホ
+タカノ,ミキコ
+タカノ,ヨシヒロ
+タカノ,タマヨ
+タカノ,ヨシヒト
+タカノ,アキヒロ
+ハヤカワ,モトヒロ
+タカシマ,タダシ
+タカス,カツノリ
+タカトウリ,ヒデヒコ
+タカトリ,フサミ
+タカヤ,ノリアキ
+タケ,アキヒロ
+タケダ,セイジ
+タケダ,イズミ
+ホリ,コウゾウ
+タケダ,シンイチ
+タケハラ,ヒカル
+タケイ,シンイチ
+タケモト,アキ
+タケモト,アキスケ
+タケナカ,ケンイチ
+ハヤシ,マサヒコ
+タカギ,マサキ
+タケトミ,マサノリ
+タケウチ,ミホ
+タケウチ,ミツオ
+タケウチ,ノブヨシ
+タケヤス,レイジ
+タケザワ,リョウジ
+タキバ,サトシ
+タクボ,タカノリ
+ハニュウ,ツヨシ
+タマヨリ,ユウコ
+タモツ,ユウタ
+タムラ,ヒロユキ
+タムラ,アケミ
+タムラ,アキラ
+タナベ,ヤスノリ
+タナベ,ヒデヒコ
+タナカ,ヒロユキ
+タナカ,ヨシユキ
+タナカ,コウイチ
+タナカ,アツシ
+タケダ,ヨシコ
+タナカ,タダシ
+ハセガワ,マサル
+タナカ,ヒデユキ
+タナカ,タカヨシ
+タナカ,マナブ
+タナカ,カツキ
+タナカ,マコト
+タナカ,ユウコ
+タナカ,コウイチ
+タナカ,ヨシオ
+タナカ,トオル
+タニ,ヒロコ
+ミタニ,ヘイゴ
+タニグチ,ヒデアキ
+ハットリ,ヒロコ
+タニグチ,ケンイチ
+タニグチ,ユウコ
+タニグチ,カツヒコ
+タニカワ,ケンシ
+タサカ,マコト
+タシマ,ケイスケ
+タテカワ,マサル
+タテノ,コウジ
+テラジマ,ハジメ
+テラマエ,セイイチロウ
+テラサワ,マコト
+テラヤマ,ミヨコ
+テシマ,エツマサ
+トダ,モトユキ
+トトミ,タケヒコ
+トオヤマ,ユキヒコ
+トキワ,チエコ
+フクヤマ,ケンジ
+トクザワ,マサル
+トミナガ,コウジ
+トミタ,ヒデシ
+トミヤマ,カズノリ
+サワムラ,タツミ
+トリゴエ,サダユキ
+トリタニ,ヒデノリ
+トサカ,シュウジ
+ツボイ,マサヒコ
+ヒラバヤシ,トモナリ
+ツチダ,ヒロユキ
+ツチタニ,ヒデキ
+ツチヤ,シゲト
+ツダ,ヒロシ
+ツダ,アツヨシ
+ツジ,ヒロシ
+ツジイ,カズオ
+ツジムラ,ナルト
+ツジムラ,タカシ
+ツジノ,シュウイチ
+ツジサワ,ユミ
+ツカダ,タイゾウ
+ツカハラ,テツオ
+ツカモト,ヤスキ
+ツカモト,ヨシミ
+ツカモト,ケンタロウ
+ツネダ,マサヒロ
+ツノダ,タケシ
+ツノダ,ケンイチロ
+ツルマル,タカシ
+ツサカ,ケン
+ツツイ,タカシゲ
+ツツミ,マサノリ
+ツツミ,マサハル
+ツツミハラ,タカオ
+ウチダ,マコト
+ウチダ,サダユキ
+ハヤシ,タカユキ
+ウチダ,タツヤ
+ウチノ,サトシ
+ウチヤマ,アヤノ
+ウダガワ,シンイチ
+ウエダ,ヒロユキ
+ウエダ,ケンジ
+ウエダ,タケシ
+ネズ,トシアキ
+ウエムラ,サトシ
+ウエムラ,ショウタ
+ウエムラ,ケンイチ
+ウエノ,シンヤ
+ウエノ,トモフミ
+ウエサワ,トシヒロ
+ウエツボ,ヨシタカ
+ウエツキ,ヨシテル
+ウケノ,ユウスケ
+ウマハシ,ヒデフミ
+ウメダ,ヤスタカ
+ウメムラ,カオル
+ウミダ,コウキチ
+ウオズミ,サンペイ
+ウラタ,センタ
+ウシクサ,トシユキ
+ウスナミ,ジュン
+ワダ,ジュンイチ
+ワダ,カオリ
+ワダ,ミキ
+ワダ,ミツノリ
+ワカセ,サトヨシ
+ワキ,タダシ
+ワタナベ,タケシ
+ワタナベ,トモアキ
+ワタナベ,ヨシヒサ
+ワタナベ,テイジ
+ワタナベ,ヨシキ
+ワタナベ,ヨシユキ
+ワタナベ,カズト
+ワタヌキ,ヨシヒサ
+ワタヌキ,ヒデオ
+ワタリ,ヒロミツ
+ハシグチ,ジュンヤ
+ヤブ,コウジ
+ヤギヌマ,ミツアキ
+ヤジマ,ナオキ
+ヤマダ,シゲフミ
+ヤマダ,ヨシタカ
+ヤマダ,ユウスケ
+ヤマダ,ユウコ
+ヤマダ,アキアツ
+ヤマダ,アキラ
+ヤマダ,チエ
+ヤマダ,ヒロコ
+ヤマダ,カズミ
+ヤマダ,マサヨシ
+ヒサノ,リカ
+ヤマダ,サトシ
+ヤマダ,サヤカ
+ヤマフジ,タツヤ
+ヤマギワ,ヤスヒコ
+ヤマグチ,ヤスヒロ
+ヤマグチ,ヨシヒロ
+ヤマグチ,ノリユキ
+ヤマグチ,ユイ
+ヤマグチ,イサオ
+ヤマグチ,テツヤ
+ヤマグチ,タケハル
+ヤマグチ,アキラ
+ヤマグチ,タカヒロ
+ヤマカワ,ユキコ
+ヤマモト,ヒロシ
+ヤマモト,カナコ
+ミズタニ,キミオ
+ヤマモト,ミドリ
+ヤマモト,ミツヒロ
+ヤマモト,ヨノスケ
+ヤマモト,ナオト
+ヤマモト,タカシ
+ヤマモト,カツジ
+ヤマモト,カズ
+ヤマモト,カズアキ
+ヤマモト,ヒナコ
+ヤマモト,シンイチ
+ヤマネ,マコト
+ヤマネ,ヤスヒサ
+ヤマシタ,トシオ
+ヤマシタ,カズヒサ
+ハンダ,イサオ
+ヤマウチ,ヨシヤ
+ヤマウチ,シンイチロウ
+ヤマウラ,タカシ
+ヤマザキ,ヒロト
+ヤマザキ,カズヨシ
+ヤマザキ,ケンイチ
+タムラ,マサトシ
+ヤマザキ,サトシ
+ヤマザキ,タカオ
+ヤマゾエ,タカシ
+ヤナギサワ,ユミコ
+ヤノ,タケシ
+ヤスダ,ヒデキ
+ヤスハラ,ケイコ
+コシモト,モト
+ハギワラ,ミキオ
+ヨコタ,テルヒサ
+ヨコヤマ,タケシ
+ヨモダ,アキラ
+ヨナガ,サトシ
+ヨネダ,ヒロタケ
+ヨネヤマ,サチヨ
+ヨネザワ,エリ
+ヨネザワ,トモヒサ
+ヨシダ,マユミ
+ヨシダ,テルヤス
+ヨシダ,カツヒロ
+ヨシダ,マサト
+ヨシダ,アキヒサ
+ヨシダ,サチコ
+ヨシダ,ケンゴ
+ヨシダ,キヨヒト
+ヨシグチ,ノブコ
+ヨシイ,ユキオ
+ヨシイケ,キヨユキ
+ヨシマツ,ケンタロウ
+ヨシノ,ヒサヨシ
+ヨシノ,シゲオ
+ヨシザワ,オサム
+ヨツタニ,ミツヒロ
+ユキザネ,セイジ
+ユヤマ,ヨシヒサ
+ズシ,ユキオ
+アライ,マサト
+フジキ,ユウイチ
+ヒラノ,シゲル
+カメヤマ,ヒデノブ
+コジマ,カズオ
+ナカオ,メグミ
+イワカワ,ソウタロウ
+ツチヤ,タツヤ
+イジロ,コウジ
+クドウ,トモコ
+ナガシマ,カズヒト
+ハシグチ,カツユキ
+ツチヤ,ケイコ
+イシマツ,ヒロヤス
+ハラダ,ヒロタカ
+ミズノ,フミオ
+ホシノ,ハルオ
+アベ,シゲノリ
+アベ,タカコ
+アベ,ユタカ
+アベ,エイイチ
+アブカワ,ミサ
+アダチ,ケンタロウ
+アイザワ,キリコ
+アジロ,マサユキ
+アカイ,トシアキ
+タモト,ミキオ
+アカイシ,エイチ
+アカシ,マユミ
+アキイケ,ヤスヒロ
+アキタ,ノリチカ
+アキヤマ,ムツミ
+アマガイ,ヒデフミ
+アマガタ,タカシ
+アマノ,ミホ
+アメミヤ,カツミ
+アンドウ,カズヒロ
+アンドウ,タカユキ
+アンドウ,ダイゴ
+アンドウ,シンゴ
+アンザイ,マサヒデ
+アオキ,マサトシ
+アオキ,アキフミ
+アオヤギ,アツト
+アオヤマ,ユウコ
+アライ,マサシ
+アライ,トモナリ
+アラキ,トシミツ
+アラヤ,ヒロアキ
+アリマ,シンイチ
+アリタケ,セイジ
+アサダ,タケオ
+アサヒ,ユウジ
+アサノ,ジュンコ
+アシダ,サトシ
+アシカワ,サトシ
+ババ,ヤスユキ
+ババ,タカハル
+ババ,ケンジ
+チバ,ジュンコ
+ゴトウ,マサヒコ
+チョウ,エイジ
+ダイド,ユウコ
+ドアイ,コウジ
+ドイ,トモヒロ
+ホソイ,タクジ
+ドイ,イサオ
+ドイ,ケンイチ
+エガシラ,ヒデタカ
+エグチ,ヤスヒロ
+エバラ,ツトム
+エンド,シンイチ
+エンド,サトシ
+アマリ,ケンジ
+エノモト,キヨミ
+エノモト,マサミ
+エノモト,アキラ
+エノモト,チカラ
+エザキ,カズヒト
+フジハラ,マサハル
+フジイ,タカシ
+フジイ,サツキ
+ヒルカワ,ケン
+フジイ,マサヒコ
+フジサワ,ハルミ
+フジサワ,ヒロユキ
+ヒゴ,カツユキ
+フジタ,ツヨシ
+フジタ,タカシ
+フジワラ,トオル
+フカミ,ヤスユキ
+フカザワ,タケシ
+ハセガワ,ヨウスケ
+フクダ,ジュンコ
+フクモト,ミツオ
+フクムロ,タカシ
+フクロ,ヤスコ
+フクシ,ヒロミ
+フクシマ,タカミ
+フクシマ,シンイチ
+ハギワラ,トシオ
+フクシマ,アキラ
+フナキ,ナオキ
+フナクボ,フミオ
+ハラダ,ミノル
+フルハタ,モトフミ
+フルカワ,マチコ
+フルモト,タカシ
+フルヤ,トモヤ
+フシミ,ヒロミ
+ゴウダ,ミキオ
+イリエ,シンジ
+イシハラ,アキラ
+イチカワ,マサユキ
+イバ,マミ
+イワサキ,サエコ
+イノウエ,アヤコ
+イイモリ,マサヒロ
+イハラ,セイジ
+イワムラ,ショウタ
+イナガキ,ユキオ
+イシジマ,カズヒロ
+イトウ,シロウ
+ゴンドウ,シュウジ
+ゴトウ,スミレ
+イシカワ,マサヒコ
+イトウ,マサノブ
+イセキ,リコ
+ゴトウ,ヒロユキ
+ハダ,ヒデアキ
+ハギワラ,ミワコ
+ハギワラ,トモコ
+ハイジマ,アイコ
+ハマダ,ヒロシ
+ハマノ,ヒロツグ
+ハマオカ,コスケ
+ハナド,ミノル
+ハナタ,テツヤ
+ハラ,トモヒコ
+ハラ,ユウジ
+ハラ,タケシ
+ハラ,キョウコ
+ハラダ,シン
+ハラダ,タケシ
+ハラダ,アキヒト
+スズキ,タケロ
+ハラガ,タツヤ
+ハラミ,ケンタロウ
+ハラヤマ,ノブヒコ
+ハラゾノ,ノブヒロ
+ハセベ,タクジ
+カネコ,トモアキ
+ツチダ,ヨウイチ
+ハシモト,リエ
+ハシモト,フミヒロ
+ハシモト,カナエ
+ハシモト,サトシ
+ハシモト,タカアキ
+ハシモト,ヒデキ
+ハシモト,ヒデキ
+ハシモト,ヨシヒコ
+ハタ,ケイコ
+ハットリ,ヒデアキ
+ハットリ,マコト
+ハットリ,セイジ
+ハヤカワ,キヨシ
+ハヤカワ,ヒデハル
+ハヤサカ,ヨシカズ
+ハヤサキ,セイゴ
+ハヤシ,トシヒコ
+ハヤシ,タカヨシ
+ハヤシ,タカナリ
+ハヤシ,ヤスキ
+ハヤシ,アキラ
+ハヤシダ,ケンゾウ
+ヒビ,カズノブ
+ヒガシ,ヤスヒロ
+ヒガシ,カズオ
+ヒグチ,コウイチロウ
+ヒジカタ,ケンジ
+ヒジヤ,ヨシオ
+ヒナガ,タケシ
+ヒラカワ,ヒデアキ
+ヒラノ,ヒロコ
+ヒラノ,イタル
+ヒラノ,タダオ
+ヒラオ,タカヒト
+ヒラシマ,ナオキ
+ヒラヤマ,トシロウ
+ヒラヤス,ヒトシ
+ヒリキ,ケンイチロ
+ヒロマサ,ワタル
+ヒロモト,シンジ
+ヒロオカ,マナブ
+ヒロセ,ユミコ
+ヒロセ,マツタロウ
+ウメダ,リョウイチ
+ホンダ,サナエ
+ホンド,タケシ
+ホリモト,ヤスユキ
+ホリノ,カズシゲ
+ホリウチ,タカネ
+ホサカ,アキコ
+ホシノ,マコト
+ホシヤマ,ミギフミ
+ホソカワ,テツヤ
+ホソカワ,ヨシヒロ
+ホソカワ,シゲオ
+ホソヤ,ヒロシ
+イバラキ,ノブオ
+イチハラ,ヒサミツ
+イチハラ,タカシ
+イチハラ,ノブコ
+イチカワ,ケンイチ
+イチノセ,サトシ
+イダ,タケシ
+イデグチ,カズヒト
+イド,マサシ
+イガラシ,カツノブ
+イガラシ,ユキヒコ
+イガラシ,ヒロシ
+イイダ,ヒロオ
+イイダ,カツトシ
+イイジマ,コウジ
+イケダ,リョウ
+イケダ,トモミ
+イケダ,トモミ
+イケダ,ヨウコ
+イマイ,コウキ
+イマイズミ,ケイコ
+イマイズミ,ミワ
+イマムラ,オサム
+イマムラ,ミノル
+イモン,カズユキ
+イナダ,マスミ
+イナガキ,カズヤ
+イナガキ,ミツヤ
+イナムラ,タカシ
+イナムラ,トモノリ
+イノ,セイイチロウ
+イノカワ,アスコ
+イノマタ,カズヒト
+イノウエ,ヒロカズ
+イノウエ,サトシ
+イノウエ,シホ
+イノウエ,ヤスヒロ
+イノウエ,ユウジ
+イノウエ,ユウタ
+イノウエ,コウイチロウ
+イヌイ,シンイチロウ
+イヌシマ,マユミ
+イリエ,マサノリ
+イサカ,シゲル
+イシバ,チヒロ
+イシバシ,ダイスケ
+イシバシ,ヒデキ
+イシダ,ヒロミツ
+イシダ,ヒロシ
+イシダ,カツヒロ
+イシダ,ケイイチ
+イシガミ,コウイチ
+イシグロ,コウジ
+イシハラ,マリコ
+イシイ,マサヒロ
+イシイ,ナオミ
+イシイ,ノボル
+イシイ,セツコ
+イシイ,タダシ
+イシイ,タカハル
+イシカワ,トシオ
+イシマル,ツヨシ
+カワズ,ヨウイチ
+イシズカ,ユキオ
+イタヤ,ノリヒサ
+イイダ,アキヒロ
+イトウ,ヒロミチ
+イトウ,ヒロシ
+イトウ,イクオ
+イトウ,カズヤ
+イトウ,ショウコ
+イトウ,カズヒロ
+イトウ,ジュン
+イトウ,マコト
+イトウ,オサム
+イトウ,ヨシマサ
+イトウ,マサユキ
+イトウ,マサミ
+イトウ,ヒロアキ
+イトウ,タマキ
+イトウ,キヨタカ
+イトウ,マサフミ
+イトウ,ヒロカズ
+イトウ,ユキオ
+イトウ,エイジ
+イトウ,ミホコ
+イワイ,タカユキ
+イワイ,カズシゲ
+イワミ,キヨシ
+イワムラ,ヨシタカ
+イワナガ,ナオコ
+イワオ,カズアキ
+イワサキ,リュウコ
+イワタ,キヨコ
+イワタ,ミツヒロ
+イワタ,シンジ
+イズミ,ノゾム
+ジンバ,ツネノリ
+ノウチ,リエ
+ラク,ヨシノリ
+カガミ,ヒロシ
+カガワ,ケイタ
+カゲヤマ,タマキ
+カイ,ジュン
+カジモト,タクヤ
+カジワラ,セイジ
+クリハラ,エイジ
+カキムラ,ジュン
+カキノキ,タカアキ
+カキウチ,ヒロユキ
+カキザキ,コウジ
+カコ,トシヒコ
+カメシマ,ダイスケ
+カミエス,エイイチ
+カミクラ,ヒロシ
+カミムラ,コウイチロウ
+カミタキ,マサジ
+カミヨシカワ,マサユキ
+カン,タクヤ
+カナイ,トシカズ
+カンバヤシ,イチロウ
+カンダ,ヨシヒト
+カネコ,タカユキ
+カネコ,ヤスユキ
+カネタ,タカシ
+カノウ,マユミ
+カリノ,ヒロシ
+カサミ,カナエ
+カサナミ,タカト
+カセ,マモル
+カスガ,ヒロシ
+カスヤ,マサナリ
+カタオカ,ノリコ
+カトウ,ナオコ
+カトウ,ヒロシ
+カトウ,マサユキ
+カトウ,ノリアキ
+カトウ,タダアキ
+カトウ,ケンジ
+カトウ,ケンジ
+カトウ,タカユキ
+カトウ,アキヒト
+カトウ,ジロウ
+カツマタ,クミ
+カツラ,マサキ
+カワベ,ヨシユキ
+カワダ,タケシ
+カワグチ,ヒデキ
+サイトウ,ヒデタカ
+カワグチ,イクコ
+カワハタ,カオリ
+カワカミ,カズヨシ
+カワカミ,ケンイチ
+ヤジマ,ミツヨ
+カワモト,ツヨシ
+カワムラ,ヒデアキ
+カワムラ,ヒロシ
+カワムラ,ジュンイチ
+カワムラ,マリ
+カワノ,マサヒコ
+カワノ,マサカツ
+カワサキ,シゲユキ
+カワセ,ケンジ
+カワシマ,トシヤ
+カワシマ,ヨシハル
+カワシマ,ヒデキ
+カワシマ,ヤスノブ
+キダ,ミノル
+キクチ,カズヤ
+キクチ,タカヒデ
+ヤマモト,ヤスヒロ
+アキヨシ,ヤスヒロ
+キクチ,マモル
+キクチ,タツヤ
+キクチ,ミツル
+キクチ,アキコ
+キムラ,フミヒコ
+キムラ,マサヒコ
+キムラ,アキヒコ
+キムラ,アツシ
+キムラ,ヒロシ
+キムラ,マサキ
+キムラ,ミノル
+カトウ,ショウジ
+キナセ,ユウジ
+キネ,マサコ
+キノ,アキ
+キノ,カズヒロ
+キノシタ,ケイタ
+キラ,ヨウコ
+キシモト,トオル
+キタバタケ,アキオ
+キタバタケ,タカヒコ
+キタガワ,オサム
+キタガワ,チカコ
+キタムラ,ヒロアキ
+タカハシ,メグミ
+キタヤマ,エイジ
+キヨナリ,ヒロシ
+コバヤシ,キヨシ
+コバヤシ,トシヒロ
+コバヤシ,アキコ
+コバヤシ,タカシ
+コバヤシ,ヒロシ
+コバヤシ,ヒロアキ
+コバヤシ,ナオキ
+イトウ,シンジ
+コンノ,ヨウイチ
+コンノ,タカミツ
+コンノ,ヒロシ
+コンノ,カズアキ
+コイケ,トモフミ
+コジマ,ワタル
+コクショウ,マサル
+コマキ,カズヤ
+マカベ,サブロウ
+コマツ,タケシ
+コマツ,ヒロエ
+コンド,シン
+コンド,タクミ
+コンド,マサユキ
+コシバ,ミキ
+ヨコエ,ヤスノリ
+コテガワ,マサノリ
+コンノ,カズアキ
+コヤマ,レイコ
+コヤマ,モトクニ
+コヤマ,ヒロタカ
+コザス,トシノリ
+クチイシ,カズトシ
+クギミヤ,リュウスケ
+クジライ,アツシ
+クマノミド,ヒロシ
+クマザキ,トモキ
+クレマツ,タカヒデ
+クリキ,マサユキ
+クリヤマ,トシロウ
+クリヤマ,ヒロシ
+クロベ,ナオト
+クロサワ,トモアキ
+クロサワ,ヤスユキ
+クリュウ,ヨシエ
+クサノ,カツユキ
+クワハラ,ジュン
+クズノ,ヨシタカ
+キュウダ,タクヤ
+マブチ,ケンイチ
+マチタ,マサキ
+マエダ,ヨウイチ
+マエイエ,アキフミ
+マエカワ,チアキ
+ママダ,ヒロシ
+マナベ,ヒロタカ
+マナベ,カズオ
+マルイチ,マサユキ
+マルタニ,タカヒデ
+マルヤマ,タカコ
+マサオカ,タカユキ
+マスダ,タツミ
+マスダ,ツヨシ
+マスダ,ヨシブミ
+マスダ,ユキコ
+マスダ,ヒロカズ
+マツバラ,コウゾウ
+マツダ,カツヤ
+マツダ,ヒロユキ
+マツダイラ,トシフミ
+マツエダ,アユミ
+マツイ,ヒデシ
+マツイ,ヒロキ
+マツモト,ノブオ
+マツモト,セイイチ
+マツモト,カズヒロ
+マツモト,キヨカズ
+マツモト,キョウコ
+マツモト,ヨシキ
+マツモト,ナリアキ
+マツモト,アキノリ
+マツモト,ケン
+マツモト,トシカズ
+マツモト,ケン
+マツモト,ダイ
+ナカムラ,ヒロユキ
+マツムラ,クミ
+マツナガ,ケンジロウ
+マツノ,カズト
+マツオ,リュウイチ
+マツオ,タカオ
+マツオカ,タケシ
+マツオカ,カズノリ
+マツオカ,タダアキ
+マツオカ,ヒロシ
+マツオカ,アツシ
+マツシマ,キミオ
+マツタニ,アヤ
+マツヤマ,コウタロウ
+ミチモト,マユミ
+ミエキ,タクロウ
+ミカミ,カズミ
+ミカミ,ヨシタカ
+ミナガワ,ツヨシ
+ミナカワ,ショウコ
+ミシマ,カズミ
+ミシマ,シノブ
+ミシマ,ヒロアキ
+ミタチ,コウジ
+ミツダ,ナオキ
+ミツハシ,ジュン
+ミツイ,ヒロシ
+ミツモト,キヨミ
+ミウラ,キョウジ
+ミウラ,マサヒロ
+ミヤベ,アキラ
+ミヤチ,マサユキ
+ミヤジマ,アキノリ
+バン,マナブ
+ミヤモト,トシアキ
+ヨコエ,コウゾウ
+ミヤサカ,ケイイチ
+ミヤタ,ヒロユキ
+ミヤタ,カズオ
+ミヤウチ,マサヒロ
+ウチヤマ,ミキコ
+サカイ,リョウスケ
+ミヤザワ,トシアキ
+ミゾブチ,エイコ
+ミゾグチ,アキラ
+ミゾグチ,イズミ
+ミズモト,アツヒコ
+ミズノ,マサヨシ
+ミズノ,マサユキ
+ミズノ,ユウジ
+ミズシマ,ユキオ
+ミズタ,ユタカ
+ミズタニ,ヒサト
+モギ,カズノリ
+モギ,モユル
+モギ,ヒロシ
+モモセ,ダイスケ
+モンマ,ユウジ
+モリ,レイコ
+モリ,ケイスケ
+モリ,ケンイチ
+モリ,マサヒロ
+モリ,リカ
+モリ,ツトム
+モリモト,ユキヒロ
+モリノ,ヨウスケ
+ヨシダ,ナオフミ
+モリタ,ヒデノブ
+モリタ,カズヒサ
+モリタ,カツミ
+モリタ,ヨシヤ
+モリタ,シゲオ
+モリワキ,タクオ
+モロ,ヨシロウ
+モタイ,ヒロシ
+モトバヤシ,サトル
+モトハシ,シゲマサ
+モトヤマ,マサノリ
+モトザワ,ユウジ
+ムカワ,イツコ
+ムナカタ,フミコ
+ムラカミ,ヒロアキ
+ムラカミ,ヨシキ
+ムラカミ,ヒロユキ
+ムラカミ,ヤスコ
+ムラカミ,アキヒサ
+ムラカワ,マサコ
+ムラナカ,マユコ
+ムラタ,トモノリ
+ムラタ,ヒロキ
+ムラヤマ,ケンジ
+ムラヤマ,ヒロシ
+ムロハシ,コウジ
+ムトウ,カオル
+ムトウ,アキコ
+ナバ,ヒロユキ
+ナガイ,マサル
+ナガイ,ナオアキ
+ナガノ,カツヤ
+ナガノ,タマミ
+ナガオ,ヤスヒロ
+ヤマモト,カズヒロ
+ナガオケ,サトシ
+ナガオサ,アキヒロ
+ナガシマ,カツヤ
+ナガシマ,クミ
+ナガタ,ミキ
+オオバ,サトシ
+ナガタ,シンジ
+ナガタ,ショウヘイ
+ナガタニ,ツヨシ
+ナイトウ,ヤスノリ
+ナカチ,ヨシハル
+ナカダ,ヨシユキ
+ナカダイ,ユウイチ
+ナカガワ,ナオユキ
+ナカガワ,ヨシユキ
+ナカガワ,アツシ
+ナカガワ,ヒロユキ
+ナカハラ,ジュン
+ナカイ,ケイイチ
+ナカイ,シノ
+ナカジマ,タカシ
+ナカジマ,コウジ
+ナカムラ,シュウゴ
+ナカムラ,マサユキ
+キミヒラ,ミカ
+イトウ,タカヒサ
+ナカムラ,コウジ
+ナカムラ,タツヤ
+ナカムラ,カズユキ
+ナカムラ,ハジメ
+ナカムラ,マサアキ
+ナカムラ,ヒロキ
+ナカムラ,ミキ
+ナカムラ,トモオ
+ナカニシ,イズル
+ナカニシ,タカヒロ
+ナカノ,ユウコ
+ナカノ,ヤスアキ
+ナカノ,テツヤ
+ナカノ,カズノリ
+ナカノ,アツシ
+ナカオ,アキコ
+ナカサク,ショウタツ
+ナカセ,ヒロタカ
+ナカタ,クルミ
+ナカタ,ヒロミ
+ナカタ,ヤスヒロ
+ナカタケ,タクオ
+ナカヤマ,フミオ
+ナミキ,ケイシ
+ナナサワ,ナミジ
+ナンバ,ダイスケ
+ナンモク,エミコ
+ネモト,ナツコ
+ネモト,ミツアキ
+ニイ,ヨシコ
+ニイデ,ヒデツグ
+ニイクラ,ヒデヤ
+ニイズマ,タイチロウ
+ニカミ,アキラ
+ニシバヤシ,マサヒコ
+ニシダ,ヨシヤ
+ニシハラ,シキコ
+ニシハラ,サトシ
+ニシカワ,タカヒロ
+ニシカゼ,カズノリ
+ニシミヤ,サトシ
+ニシムラ,シンイチ
+ニシムラ,キワム
+ニシヤマ,ヒトシ
+ニシヤマ,モトアキ
+ニッタ,カツアキ
+ニワ,キヨシ
+トウゴウ,マナブ
+ニワ,カツヤ
+ノブハラ,コウジ
+オガワ,ユウコ
+ノガミ,オサム
+ノガミ,ジュンイチ
+ノモト,ミカ
+ノムラ,マナブ
+ノムラ,タカヒロ
+ノゾエ,ハジメ
+ヌマタ,テツ
+オダジマ,エリ
+オオガエリ,トオル
+オガタ,ヒデキ
+オガワ,シゲル
+オガワ,タケオ
+オオギ,タケシ
+オギクボ,ヨウジロウ
+オゴ,トモキ
+オグラ,ヒロユキ
+オオバ,トモヒロ
+オオバヤシ,ヨリコ
+オオエ,ヨウイチ
+オオガマ,コウイチ
+オハシ,ナオキ
+オオイシ,ケンジ
+オオカワ,ヤスヒコ
+オオキド,マサオ
+オオクボ,ヒロユキ
+オオクボ,ヒロフミ
+オオクマ,マコト
+オマ,マモル
+オマエ,ムツロウ
+オマエ,タカシ
+オオモリ,トモヒロ
+オオモリ,ミツヨシ
+オオモリ,ナオキ
+オオモリ,ヒロキ
+オオモリ,マサヤス
+オオモト,ミツル
+オオニシ,アイコ
+オオニシ,ケンジ
+オオニシ,マサテル
+オノ,アキラ
+オオヌマ,ヒロキ
+オオサカ,リサ
+オオサワ,タカヒロ
+オオサワ,スミコ
+オシマ,タカシ
+オシロ,シンイチ
+オオタ,アサコ
+オオタ,アツオ
+オオタ,ヒデユキ
+オオタ,マサミ
+オオタ,ムネヤス
+オオタ,シンイチロウ
+オオタニ,ヤスヒロ
+オオツ,ヒロユキ
+オオツカ,タカシ
+オオツキ,アキヒロ
+オイカワ,ミチオ
+オカ,ヨシヒサ
+オカ,ヒデキ
+オカ,フミコ
+オカダ,ミキ
+オカダ,ヤスシ
+オカダ,ユウイチ
+オカダ,サトル
+オカグチ,ノブヒロ
+オカイ,ユタカ
+オカマツ,タカヒロ
+オカモト,ヨシアキ
+オカモト,エイイチ
+オカモト,ヒデオ
+オカモト,マサブミ
+オカモト,マサヒロ
+オカモト,ミチハル
+オカモト,ノリオ
+オカノ,トモヒロ
+オカザキ,ユキト
+オキモト,エツコ
+オクノ,ヨシタミ
+オクヤマ,ヤスオ
+オオミ,シゲル
+オオノ,ナオキ
+オオノ,ヒロフミ
+オオノ,ヒロシ
+オオノセ,ジュンコ
+オノザキ,タカシ
+オリエ,ヨシコ
+オザキ,マサコ
+トクミヤ,テツヤ
+サイチ,カオリ
+サイトウ,シンイチ
+サイトウ,ヒトキ
+サイトウ,ヒデアキ
+サイトウ,ヒロタカ
+サイトウ,ユタカ
+サイトウ,ヤスヒコ
+サイトウ,タイシ
+サイトウ,カオル
+ハカマダ,カヨ
+サカグチ,コウジ
+サカイ,マリコ
+サカキバラ,タカオ
+サカキモト,ヨシエ
+サカモト,エイジ
+サカモト,エリ
+サカモト,ヒデヒロ
+サカモト,イズミ
+サカモト,ケイイチ
+ミタニ,ケンイチ
+サカウチ,クニヒコ
+サキモト,マサヒコ
+サクマ,ミツル
+サクライ,モトノリ
+サノ,リキヤ
+サノ,リュウイチ
+サノ,シュウゾウ
+ササダ,シュンスケ
+ササハラ,ススム
+ササキ,タカヒト
+ササキ,トシヒコ
+ササキ,ヤスフミ
+トダニ,ツヨシ
+ササキ,セイジ
+サタケ,ツネノリ
+サトウ,ヤスヒロ
+サトウ,シンゴ
+サトウ,ヒサハル
+サトウ,ユウイチ
+サトウ,ヨシアキ
+サトウ,タカカズ
+サトウ,リエコ
+サトウ,トオル
+サトウ,ユウイチ
+サトウ,ハルオ
+サトウ,シンイチロウ
+サトウ,ノボル
+サトウ,コウジ
+サトウ,ダイスケ
+サトウ,アキラ
+サトウ,ケイタロウ
+サトウ,トモコ
+サトウ,ジュンジ
+サトウ,トモキ
+サワダ,ケイタロウ
+サワダ,マコ
+サワダ,ミチヨ
+イワタ,マユミ
+サワイ,トシヒコ
+サワイ,ソウイチロウ
+サヤノ,イクヤ
+セキ,タケシ
+セキグチ,マサヨシ
+セキグチ,ミカ
+セキグチ,アキラ
+セキネ,アキヒロ
+セキノ,タカシ
+センナ,トシミツ
+セリザワ,ヒロユキ
+セト,カツヤ
+シバタ,コウイチ
+シバタ,マサヒデ
+シバタ,ケイスケ
+シバタニ,サトシ
+シブタニ,キョウコ
+シガ,サトル
+シゲノブ,カズヨシ
+シマ,ミキコ
+シマダ,レイジロウ
+シマダ,サトコ
+シマムラ,ヨシミツ
+シミズ,タケカズ
+シミズ,サダミチ
+シモバヤシ,キヨシ
+シモガワ,コウジ
+シモヒゴシ,テツヒサ
+シモイデ,タイシ
+シナダ,カツミ
+シネイ,ユカ
+シンガイ,タダシ
+シノダ,コウジ
+シノハラ,タカヒロ
+シノザキ,トモヨシ
+シオヤ,タクヤ
+シラハマ,タロウ
+シライシ,ユウイチ
+シライシ,タカシ
+シタラ,タケシ
+ショウジ,ヒロユキ
+ショウジ,シン
+マスヤマ,マサヒデ
+シュトウ,ユミコ
+ソエダ,ヒデカズ
+ソネ,ヒデキ
+ソネダ,タクオ
+ソノベ,マサヒロ
+ソノベ,マサシ
+ソラノ,ミホ
+スダ,ナオヒロ
+スガイ,ノリユキ
+スガワラ,セイマ
+スギモト,タカヒロ
+スギモト,タカマサ
+スギウラ,ヨシノリ
+スギヤマ,マサヒロ
+スギヤマ,ヒデマサ
+スギヤマ,レイコ
+スジャク,タカヤス
+スカ,トオル
+スケガワ,ヒロユキ
+スミナガ,キミコ
+スミオカ,トモヤ
+スナヤマ,ケンイチ
+スズキ,マサヤ
+スズキ,ヒロシ
+イシイ,ヤスヒコ
+スズキ,シゲル
+スズキ,タカユキ
+スズキ,ヒデヒロ
+ヤマシロ,ヒデキ
+スズキ,ヒロシ
+スズキ,
+スズキ,カツユキ
+スズキ,カズノリ
+スズキ,コウイチ
+タバコ,クミコ
+タバタ,マサキ
+ナカジマ,テルユキ
+タバタ,ヨシツグ
+タチバナ,トシユキ
+タガミ,タイセイ
+ママダ,ケンジ
+タガワ,マコト
+タジマ,モトヒロ
+タカバヤシ,ユキ
+タカダ,トモヨ
+タカダ,タカヒロ
+タカギ,エミ
+タカギ,ダイスケ
+タカハシ,シンヤ
+タカハシ,ユキオ
+タカハシ,ヒロキ
+タカハシ,ヒロコ
+タカハシ,イズル
+タカハシ,マサキ
+タカハシ,ミショウ
+ワタナベ,マキ
+タカハシ,ヤスシ
+タカハシ,ユタカ
+タカハシ,コウヘイ
+タカハシ,マサフミ
+タカイ,ヒデキ
+タカクラ,ケンスケ
+タカクラ,シホ
+タカマチ,カツノリ
+タカマツ,アキヨシ
+マツナガ,ヤスヒロ
+タカモト,ヨシキ
+タカムラ,ノブカツ
+タカオカ,ゴウ
+タカスギ,ハルコ
+タカヤ,ヒデアキ
+タカヤマ,ヒロユキ
+キタハラ,ケンイチ
+タケダ,クニヒデ
+タケダ,マサヒロ
+タケハナ,マサカツ
+タケマツ,マサミ
+タケオカ,ミノル
+イシカワ,モトフミ
+タケシタ,ナオキ
+タケタニ,ノブユキ
+タケウチ,サトシ
+タケウチ,サトシ
+タケヤマ,タケシ
+タケザワ,キヨジ
+タキザワ,ツトム
+タキザワ,チカラ
+タマイ,トモユキ
+タナハシ,ノブユキ
+タナカ,ケンタロウ
+タナカ,コスケ
+タナカ,ヒロユキ
+タナカ,ヒロシ
+タナカ,ケイコ
+タナカ,モトキ
+タナカ,セイジ
+タナカ,カズヒト
+タナカ,ユウコ
+タナカ,エイイチ
+タナカ,エイジ
+タナカ,ツネヒロ
+タナカ,マサヒロ
+タナカ,ノリヒロ
+タナカ,カズナオ
+タナカ,ノボル
+イシダ,ケンヤ
+タナカ,カズオ
+タニグチ,シゲル
+タニグチ,ケンイチ
+タニイ,ユリコ
+タニムラ,ミチヨ
+タニオカ,トモコ
+タンノ,ユキオ
+タヌマ,マモル
+ヨコヤマ,ワタル
+タシロ,アキラ
+タシロ,ケンイチ
+タテ,ヒデト
+タウラ,マコト
+タゾエ,ユウコ
+タズケ,マコト
+テンモ,カヨコ
+テラダ,チエコ
+テラモト,エイジ
+テラオカ,ケイ
+テズカ,ヒロユキ
+トグチ,ジュンコ
+トウマ,コウイチ
+トウマ,ヒロヤス
+トオヤマ,カズユキ
+トキオカ,タカシゲ
+タニヤマ,ヒデアキ
+ミウラ,ソウイチ
+トクラ,カズオ
+トクヤマ,ヒロヤ
+トミイシ,クニヒコ
+トミカワ,ノリコ
+トミナガ,アツシ
+トミタ,フミエ
+トミタ,モトヨシ
+オオモリ,マサユキ
+トモタ,ヒデヒコ
+トモノ,ケイジ
+トリカイ,ナオキ
+トリウミ,ヨシノブ
+トツカ,アヤコ
+トヨダ,ケイイチ
+トヨダ,ミキヒロ
+トヨオカ,タクノブ
+ツチダ,コウジ
+ツダ,コウイチ
+ツジタニ,マサツグ
+ツカモト,ヨシテル
+ツカモト,ヒロアキ
+ツカワキ,マサタカ
+ツルマキ,ヨウコ
+イチバンガセ,ユキコ
+サカイ,ミホコ
+ウチダ,カズヒロ
+カナオカ,コウヘイ
+ウチダ,タツヤ
+ウチウミ,ナオヒコ
+ウチヤマ,フミタカ
+ウチヤマ,ユキ
+ウダ,アツコ
+ウダガワ,タロウ
+オシマ,アツコ
+ウエダ,エイカ
+ウエダ,ヨシミツ
+ウエハラ,ヒデユキ
+ウエムラ,マサキ
+ウエノ,オサム
+ウエノ,ヒロノリ
+ウエスギ,マサミ
+ウエツキ,タイチ
+ウカワ,マサヒデ
+ウマズメ,シンヤ
+ウメハラ,トシオ
+ウメムラ,ヒロフミ
+ウメザワ,ヒロシ
+ウノ,ヒロシ
+ウノ,ヒサヤ
+ウラモト,ケイ
+ウルマ,マサフミ
+ウシバ,ミノル
+ナガタ,リュウタ
+ウシグサ,トシアキ
+ハセガワ,ヨシアキ
+サカマキ,ユリ
+ウワベ,マサユキ
+ワダ,アキコ
+ワカオ,ケイジ
+ワカオ,レイコ
+ワキタ,ヨウコ
+イノマタ,ヒロミ
+ワクイ,マサヤ
+ワシザワ,ケイコ
+ワシズカ,コウジ
+ワタベ,マサトシ
+ワタナベ,ノリユキ
+ワタナベ,カズヒロ
+ワタナベ,シゲル
+ワタナベ,タカオ
+ワタナベ,ツヨシ
+ワタナベ,トモユキ
+ワタナベ,ダイチ
+ワタナベ,ヒデキ
+ワタナベ,ヒロカズ
+ワタナベ,ヒロミ
+トヨタ,ヒトシ
+ワタリ,ケイコ
+トミヤス,トシヒサ
+ヤエガキ,ヨシアキ
+ヤギ,ミヨコ
+ヤギ,ヨシマサ
+ヤギヌマ,ダイスケ
+ヤク,アキト
+ヤマダ,カズヒコ
+ヤマダ,マキ
+ヤマダ,ヨウコ
+ヤマギシ,アツシ
+ヤマグチ,コウイチ
+ヤマグチ,トシユキ
+ヤマグチ,カオル
+ヤマグチ,アキラ
+ヤマコシ,ダイスケ
+ヤマモト,マサヒロ
+ヤマモト,ケンジ
+ヤマモト,タケオ
+ヤマモト,セイイチ
+ヤマモト,シュウジ
+タチバナ,マサトシ
+ヤマモト,ジュン
+ヤマモト,ケンイチ
+ハラタニ,トモコ
+ヤマナカ,タカシ
+ヤマネ,ヨシフミ
+ヤマシタ,アキヒコ
+ヤマシタ,ヒロシ
+ヤマシタ,ナオコ
+ヤマタニ,タカシ
+ヤマウチ,トモコ
+ヤマザキ,アキラ
+ヤナ,ヒロアキ
+ヤナベ,ヒロキ
+ヤナガワ,リョウ
+ヤナギ,トシアキ
+ヤナギダ,リュウイチ
+ヤサカ,カズヒデ
+ヤスダ,マサミツ
+ヤスフク,ユタカ
+ヤスカワ,キヨカズ
+ヨコサワ,タクヤ
+ヨコタ,ヒロシ
+ヨコタ,カズヒロ
+ハラダ,コスケ
+ヨコウチ,マサヒロ
+ヨコウチ,シンスケ
+ヨコヤマ,マコト
+ヨコヤマ,カズノブ
+ヨネダ,ナオキ
+ヨネノ,ナオミ
+カサハラ,サトミ
+ヨシダ,ヒデオ
+ヨシダ,ジュン
+ヨシダ,ヒロシ
+ヨシダ,ナオト
+ヨシダ,ヒロシ
+ヨシドメ,シズカ
+ヨシハラ,タカヒロ
+ヨシイ,サトル
+ヨシイ,マコト
+ヨシカワ,シオリ
+ヨシミ,タイキ
+ヨシノ,フミオ
+ヨシノ,ヤスシ
+ヨシノ,トモコ
+ヨシオカ,ケンイチ
+ヨシオカ,コウイチロウ
+ヨシタケ,タダシ
+ヨシザワ,トシカツ
+ユズハラ,コウジ
+ゼンゲ,カズタカ
+ズシ,ミオ
+ゴミ,ヒロキ
+ゴトウ,ヒロシ
+イケダ,タケハル
+イマ,マサヒロ
+アベ,マナブ
+カトウ,シゲル
+カワバタ,シゲル
+コバヤシ,ユキヒコ
+コンド,クニムネ
+クボ,マサヒコ
+クラモチ,ヨウコ
+マルヤマ,ヨシアキ
+モリカク,ユキオ
+ムラオカ,ヒロユキ
+ナガシマ,ヨウコ
+ナカ,トシヤ
+ナカハラ,タクヤ
+ナカムラ,ツヨシ
+ナカセ,トミ
+ナリタ,ヒサエ
+ニシムラ,エミコ
+ノナカ,ヒデナオ
+オガワ,ヨシオ
+オグラ,トオル
+オオミ,マコト
+オカノ,マサヤ
+シマダ,ジュンジ
+シミズ,カズノシン
+シムラ,ヒデユキ
+タカハシ,ミツマサ
+タカマツ,ケンイチ
+ウエダ,ムツオ
+ウジ,ゴウ
+ウツミ,シュウイチ
+アベ,ヨウイチ
+コンド,タカシ
+タカノウチ,ケンサク
+イノウエ,ムネヒロ
+ナカハラ,ヒトシ
+アダチ,ユタカ
+ナカノ,ヒロキ
+アイバ,ノリアキ
+アイバ,タケシ
+アイバ,サトシ
+アイダ,マサヒロ
+アイハラ,アツシ
+アカイシ,マサオミ
+アカイワ,ヨシヒロ
+アカオギ,トシヒデ
+アキタ,ツヨシ
+アマノ,ナオコ
+アオキ,ヒロコ
+アオキ,ユキコ
+アオヌマ,ヒトシ
+アオヤギ,エイジ
+アラキ,アキラ
+アリマチ,トシノブ
+アリタ,ヒデアキ
+アサダ,テツヤ
+アサエダ,タカヒロ
+アサハラ,ヨシハル
+アサカワ,カズヒコ
+アサモト,ツトム
+アサノ,ユタカ
+アタグチ,ヒロシ
+アヤキ,ハルコ
+ババ,シュンスケ
+ババ,カオル
+ババ,ナナコ
+バン,タケシ
+ダイコク,ミチヨ
+ダテ,シゲヒコ
+サノ,ジュンイチ
+ミツオカ,シゲキ
+デンダ,カズヒコ
+ドイ,エミ
+エンド,トモヒコ
+エンド,ヨウイチロウ
+エザワ,ナリヒデ
+フジエ,タケフミ
+フジイ,カズヒロ
+フジイ,マサアキ
+フジマキ,マサカツ
+フジモト,ミワ
+フジモト,ミキオ
+フジムロ,コウジ
+モロズミ,カンジ
+フジサワ,ケンジ
+フジタ,ヒロユキ
+フカセ,タツヤ
+フクダ,シセイ
+フクドメ,タカシ
+フクイ,ヒサシ
+フクナガ,フミヒサ
+フクシマ,ヒデオ
+フクザワ,マリカ
+フルバヤシ,アキラ
+フルカワ,ヒデキ
+フルカワ,アケミ
+ゴウ,ハナ
+ゴマル,ススム
+ゴトウ,ショウ
+ゴトウ,タツヤ
+ゴトウ,チズカ
+ノモト,カオル
+ハギワラ,リュウタ
+ハイヤマ,キョウコ
+ハマ,カズミチ
+ハマチ,シュウイチ
+ハマダ,ナオヒサ
+ハマタニ,シゲオ
+ハナイ,ヤスヒト
+ハナタ,ヒラク
+ハネジ,ヒロコ
+ハンザワ,マサヒコ
+ハラ,ミホ
+ハラ,シンジ
+ハラダ,カズヒデ
+ハラダ,キヨシ
+ハセガワ,ユタカ
+ハセガワ,ナオコ
+ハセガワ,テツヤ
+ハシグチ,マサヨシ
+ハシモト,ヤスユキ
+ゴトウ,ケイ
+カジワラ,ヨシコ
+ハスミ,ツグノリ
+カタヤナギ,エイイチ
+ハタケヤマ,シンイチ
+ムライ,ミツユキ
+ハタニ,リュウイチ
+ハットリ,ヤスノブ
+ハットリ,タカユキ
+ハヤシ,タカユキ
+オオスミ,マサコ
+ハヤシ,カズナリ
+ハヤシ,ヨシノブ
+ハヤシダ,サキ
+ヒガ,タケオ
+ヒガシ,リュウスケ
+ヒガシダ,シュウイチ
+トヨダ,ユウイチロ
+ヒノ,タケヒコ
+ヒラ,テツヤ
+ヒラモト,ジュンコ
+ヒラオ,マサト
+ヒラオ,マサユキ
+ヒラタ,ナオミ
+ヒラヤマ,タケシ
+ヒロイ,タカシ
+ヒロカワ,ノリカズ
+ヒロカワ,ヨタロウ
+ヒロマス,カズユキ
+ヒロセ,ミツル
+ヒロセ,タカオ
+ヒシヤ,サトシ
+ホウショウ,アキコ
+ホンダ,ミホコ
+ハヤシ,ノゾム
+ホンマ,タケシ
+ホリグチ,テルオ
+ホリイ,ヒロミ
+ホシ,アキヒコ
+ホソイ,カツヤ
+ホソミ,ヤスオ
+ホッタ,マサヒデ
+フクロイ,ケンジ
+フルヤ,アキヒト
+イブカ,ソウイチ
+イチバ,タカシ
+イチハラ,ヒロシ
+イチカワ,ヒロシ
+イチムラ,ジュンイチロ
+イチノセキ,トシヒロ
+イイダ,トシヤ
+イイダ,ジュンコ
+イイジマ,ヨウコ
+シノハラ,ハジメ
+イケダ,リエ
+イケダ,ユキ
+イケダ,ユタカ
+イケダ,ヨウコ
+イケザワ,カズタカ
+イマイ,マユミ
+イマイ,ケイタ
+イマイ,クニヒコ
+イマキ,ミノル
+イマムラ,ケンスケ
+イモト,ショウイチ
+アベ,ヨシヤス
+イナダ,ユキコ
+イノウエ,トモヒロ
+イノウエ,タカシ
+イノウエ,マサヒコ
+イノウエ,カズオ
+イリエ,ヨシヒコ
+ツルオカ,ヒトシ
+オオハシ,ヒサトシ
+イシダ,ユウジ
+イシダ,ケンジ
+イシダ,コウジ
+イシダ,ハジメ
+イシグロ,ヨシキ
+イシハラ,シゲオ
+イシハラ,ジュンコ
+イシイ,ミツヒコ
+イシカワ,マサノリ
+イシカワ,アキラ
+イシワタ,マサノリ
+イトウ,タカシ
+イトウ,アキコ
+イトヤマ,トシオ
+イツキ,カズヒロ
+イワキ,コウタロウ
+イワサキ,タケシ
+イズツ,ユウジ
+ジブ,エミコ
+カドイ,テルヤス
+アダチ,ケンジ
+カイ,タカユキ
+カイセ,ヒロアキ
+カイズカ,ヒロコ
+カジワラ,ヒロシ
+カキ,カツトシ
+カキミ,コウジ
+スギタ,レイキ
+カクタニ,ヤスコ
+カミバヤシ,カツヒコ
+カミガキ,ノリヒデ
+カミヤ,サトシ
+カモダ,コウイチ
+カモト,タモツ
+カンバヤシ,モトヒロ
+カネコ,シンゴ
+カネコ,ミツヤ
+カネコ,クニヒコ
+カネコ,ミツオ
+カニサワ,タツヤ
+カル,タカユキ
+カシワギ,テツヤ
+カスミ,ヨウイチロウ
+カタギリ,ナオユキ
+カトウ,ミツヒロ
+カトウ,アツシ
+カトウ,ユウコ
+カトウ,ノブオ
+カトウ,タツロウ
+タグチ,ジュンコ
+カトウ,ケンジ
+カトウ,コウ
+カトウ,シンイチ
+カツラ,アキラ
+ソゴ,ケン
+カワヒト,マコト
+カワイ,リエコ
+カワカミ,コウジ
+カワミ,シゲル
+カワムラ,シンジ
+カワムラ,テルキ
+カワサキ,ヒロシ
+カワサキ,トモカズ
+カワウチ,マサアキ
+カツキ,アキトモ
+キダ,ヘイジ
+キドコロ,ヒロシ
+モリ,ケンジ
+キクチ,マコト
+キクガワ,ミエ
+キムラ,ミツヒロ
+キムラ,サトル
+キムラ,タケシ
+キムラ,タクミ
+キノシタ,トヨキ
+キノシタ,ヨシアキ
+キノシタ,ヨシハル
+キノシタ,ユカリ
+キシダ,ユキコ
+キシカワ,マサヒコ
+キタ,トシオ
+キタグチ,ケイスケ
+アマノ,ミチヨ
+キタムラ,マナブ
+キタヤマ,チヒロ
+コバヤシ,ナオト
+コバヤシ,モトノリ
+コバヤシ,ヒロユキ
+コバヤシ,ヤステル
+コバヤシ,トモアキ
+コバヤシ,ジュンジ
+アメシタ,ナオキ
+コバヤシ,コウイチ
+コバヤシ,ヒロミ
+コバヤシ,ケンジ
+コバヤシ,キヨタカ
+コバヤシ,マユミ
+コバヤシ,ダイスケ
+コバヤシ,タカヒロ
+オダ,マサヒコ
+コボリ,ヒデミ
+コダイラ,ノブヒロ
+コダマ,セイジ
+カワグチ,アツシ
+コダテ,ミツル
+コガ,ノリユキ
+コガ,アキラ
+コガネマル,マサミ
+コハラ,トモナリ
+コウダ,ケンイチ
+コンノ,マナブ
+コザイ,コウイチ
+コイケ,アキオ
+コイズミ,マサオ
+コジマ,ヤスロ
+コジマ,ケン
+コマツ,タカシ
+コモリ,ヨシタカ
+コンド,トモノリ
+コンド,イサム
+コンタ,ケンイチ
+コタカ,ミツノリ
+コタケ,マサキ
+コヤマ,トウロク
+クボ,ヒロシ
+クボキ,イクコ
+クボタ,ヨウイチ
+クガ,タツジ
+クマガイ,ヤスナリ
+クニモリ,ヨウイチ
+クラモト,ジュン
+クラサワ,アツシ
+クラシナ,カツヒト
+クラタ,サトシ
+クリモト,タケオ
+クリタ,ヨシマサ
+クロダ,トシカズ
+クロダ,ヒデアキ
+クロカワ,シンゴ
+クロキ,ツヨシ
+クロサキ,リョウイチ
+クロサワ,ヒロユキ
+クリュウ,ケンジ
+クワタ,マサヒコ
+クズミ,タカヒロ
+マブチ,タクミ
+マエダ,ヤスヒロ
+マエダ,ケイシ
+マエガワ,アキヒコ
+マエカワ,ヤストシ
+マキオ,セイイチ
+マメハラ,アキヒロ
+マサダ,ヒロユキ
+マスダ,ヨウスケ
+マスダ,ヒロシ
+マスダ,タカシ
+マスダ,トモコ
+マスヤマ,リツコ
+マツダ,ムツミ
+マツダ,ナオミ
+マツエダ,ツヨシ
+マツイ,タカマサ
+マツモト,ケンタロウ
+マツモト,ケイジ
+マツモト,セイイチ
+マツモト,ユウイチ
+マツモト,シュウイチ
+マツモト,ヨウタロウ
+マツナガ,マサユキ
+マツノ,ヤスヒコ
+マツノ,シンイチ
+マツオカ,ミチコ
+マユミ,アキラ
+メカタ,ヒロキ
+メラ,コウジ
+ミタニ,タロウ
+ミタニ,ミチヒト
+ミト,ユミコ
+ミヤガミ,シゲヒサ
+イオキ,マサアキ
+ミヤモト,アキヒロ
+ミヤムラ,トモユキ
+ミヤノ,タカアキ
+ミヤウチ,マサハル
+ミヤザキ,マサカツ
+モチズキ,ユキ
+モモイ,ヒデマサ
+モリ,ユカ
+モリ,クミコ
+モリモト,ヨウイチ
+モリモト,ムツコ
+モリオカ,ケンジ
+モリサワ,トモヒロ
+モリタ,カズヨシ
+モリタ,ヒロノブ
+モリタ,アキヒコ
+モリタ,シンヤ
+モリヤマ,タカシ
+モリヤマ,タツヒコ
+モテギ,トオル
+ムラカミ,マサアキ
+アサノ,ケンゴ
+アユカワ,サトシ
+ムラオ,ダイスケ
+ムラオカ,シゲル
+ムラタ,トモカズ
+ムシアケ,エミコ
+ムタ,ヒサシ
+ナベイ,マサヒロ
+ナガイ,コウイチ
+ナガイ,マサコ
+ナガミネ,サユリ
+ナガサワ,タダシ
+ナガタ,テツオ
+ナガヤマ,テツヤ
+ナグラ,ユミコ
+ナイトウ,ヒロシ
+ナカガワ,リュウジ
+ナカガワ,ユミコ
+ナカガワ,ヤスシ
+ナカガワ,マサヒロ
+ナカハラ,タカコ
+ナカイ,シゲル
+ナカイ,タカヒロ
+ナカジマ,トオル
+ナカジマ,ユミコ
+ナカジマ,カツヤ
+サワダ,ミエコ
+ナカムラ,アキノブ
+バンバ,テツヤ
+ナカムラ,ヒデヒト
+ナカムラ,コウイチ
+ナカムラ,マサノリ
+ナカムラ,カズオ
+ナカムラ,マリ
+ナカムラ,タケシ
+ナカムラ,アキヒロ
+ナカノ,フミコ
+ナカノ,ヒロカズ
+ナカオ,ノブユキ
+ナカシマ,ヤスヒロ
+ナカタ,コウイチ
+ナカタ,アキコ
+ナカヤマ,ナオヤス
+ナカヤマ,ヒロフミ
+ナカヤマ,アキヒロ
+ナカヤマ,ケイコ
+ナカザワ,カツヤ
+ナカザワ,ケイスケ
+ナガオカ,ユタカ
+ナナシャ,ヨシヒロ
+ナリタ,ツヨシ
+ナリタ,マコト
+ナス,タケシ
+ナスタ,ヒロシ
+ニシ,カネノブ
+ニシダ,ノブユキ
+ニシムラ,サチオ
+マサダ,タケヒコ
+ニシムラ,トモコ
+ニシムラ,マサユキ
+ニシオ,ヨシタダ
+ニシヤマ,ミナコ
+ニッタ,カオリ
+ノガミ,ヤスヒロ
+ノナカ,タカヒロ
+ノセ,ヒデオ
+ノタベ,シンゴ
+ノト,ジュンイチ
+ノテ,ヒロキ
+ヌクイ,マサヒロ
+オチ,アキヒコ
+オチアイ,トシユキ
+オダ,ヨシカズ
+オガサワラ,ユウジ
+オガワ,ヨウジ
+オガワ,コウジ
+オガワ,マサヒコ
+オガワ,マサヤ
+オガワ,ナオタケ
+オガワ,トモミ
+オギノ,マコト
+オオバ,マサヒデ
+タキミヤ,ユキオ
+オオハシ,タダユキ
+オオハシ,タクミン
+オオイ,チサト
+オオカワ,エミ
+オオモリ,ジュンカ
+オムラ,マユ
+オナカハラ,タケツグ
+オオニシ,ヨシノリ
+オノ,アキコ
+オオオカ,タカシ
+オシマ,ノブ
+オシマ,ケンイチ
+イケマツ,タカコ
+オオタ,タケシ
+オオタ,タカシ
+オオタ,サチコ
+オオタ,タミコ
+フクダ,ミエ
+オゼキ,ケイイチ
+オイダ,ヒトシ
+オイジ,クニヒロ
+オカダ,シンジ
+スギモト,タカユキ
+オカザキ,ヤスヒロ
+オカザキ,ヤスシ
+オカザワ,ヒトシ
+オクダ,テツヤ
+オクダ,マサキ
+オクムラ,シゲル
+オクムラ,ヒデヒト
+オクノ,コウタロウ
+オクヤマ,アキヒロ
+オノ,ナオミ
+オオヌキ,ヒデノリ
+オオハシ,トシオ
+トオヤ,マサヒロ
+オトグロ,ノブユキ
+サイゴウ,タケヒロ
+サイトウ,ヨシタロウ
+サイトウ,アキヒサ
+サイトウ,フミヒコ
+サイトウ,ヒロキ
+サイトウ,ヒロシ
+サイトウ,ジュン
+サイトウ,カンジ
+サカエダニ,ミカ
+サカイ,ノブヤス
+サカイ,トクジロウ
+サカタ,ツヨシ
+サカタ,カズヒコ
+サクマ,タカヒロ
+サクラバヤシ,アツシ
+サクライ,マツオ
+サクタ,ヨシアキ
+ササキ,マサカズ
+ササキ,アキラ
+ササキ,サチコ
+ササキ,ヨシユキ
+ササメ,ヨウイチ
+サトウ,カズノリ
+サトウ,マサヒコ
+サトウ,ヨシヒロ
+サトウ,ヨシロウ
+サトウ,ハジメ
+サトウ,ヒロミ
+サトウ,ヒロシ
+サトウ,コウジ
+サトウ,ショウジ
+サトウ,ヤエ
+サトウ,クミコ
+サトウ,ヒロヤス
+サトウ,リエ
+サワダ,タカネ
+サワハシ,タツユキ
+サワノ,カズヒロ
+セグチ,シュウヘイ
+セキ,トモコ
+セキグチ,ヨシヒロ
+セキグチ,サトシ
+シバ,カオリ
+シバタ,アヤコ
+シバタ,マサハル
+シブヤ,タカシ
+シマダ,シュウジ
+シミズ,カツユキ
+イシカワ,タカユキ
+シミズ,トモヒロ
+シミズ,カツユキ
+シミズ,ケンジ
+シミズ,ケンタロウ
+フジエダ,コウイチロウ
+シモヤマダ,シンイチ
+シナガワ,トモヒデ
+シンヤ,ミツノリ
+シオミ,シンジ
+シオツ,カツヒコ
+セキグチ,トオル
+ツノダ,タカシ
+シラサカ,アツオ
+シロシタ,ヒロユキ
+シタラ,ヒサシ
+ショウ,ジュンイチ
+スガワラ,ミホ
+スガワラ,サトシ
+スギモト,ショウイチ
+スギタ,トモカズ
+スギタ,マサヨリ
+スギタ,カツヒコ
+スギウラ,サトコ
+スギウラ,トヨヒサ
+スギヤマ,ミズホ
+イケゾエ,マサトシ
+スギヤマ,ヒロアキ
+スカ,トモユキ
+スケガワ,ノブヨシ
+スミノウエ,ヒデキ
+スミヨシ,タネカズ
+スミヨシ,トシミツ
+スナミ,ヒロユキ
+スズキ,ヤチヨ
+スズキ,マモル
+スズキ,アキヒロ
+スズキ,アキラ
+スズキ,ヒロアキ
+スズキ,イッペイ
+スズキ,マサト
+スズキ,ノブアキ
+ショウジ,シズ
+ショウ,ショウタロウ
+タバタ,ソウイチロウ
+タダ,トシオ
+タドコロ,ヒデユキ
+タガミ,コウジ
+タグチ,タカシ
+タグチ,ヒロアキ
+タイ,マサテル
+タイラ,アツシ
+タイサ,ミツヒロ
+タジマ,キヨシ
+タカダ,タダナオ
+タカダ,エツロウ
+タカギ,テツロウ
+タカハシ,アツヤ
+タカハシ,ヒロシ
+タカハシ,トオル
+タカハシ,ナオキ
+タカハシ,サトシ
+タカハシ,ユウジ
+タカハシ,トシオ
+タカハシ,ユウスケ
+タカハシ,ナオキ
+タカハシ,ヨシフミ
+タカイ,シノブ
+タカノ,カンコ
+タカシマ,ナオヤ
+タカヤマ,ヒデツグ
+タケダ,カズヨシ
+タケイチ,ケイスケ
+タケマサ,ケンイチ
+タケムラ,シホ
+タケムラ,シュンスケ
+タケナカ,ナオト
+タケシタ,ショウゾウ
+タケウチ,アツト
+タケウチ,ヒトシ
+タケウチ,エイイチロウ
+タキカワ,アツシ
+タキキタ,タカシ
+タキザワ,ヒデト
+タコ,ヨシキ
+タカノ,モトユキ
+タマガワ,ヒロユキ
+タマキ,オサム
+タムラ,カズタカ
+タナベ,ヒロノブ
+タナベ,フミオ
+タナカ,キョウヘイ
+タナカ,キョウコ
+タナカ,ミホ
+タナカ,ヨシヒサ
+タナカ,ヨウコ
+タナカ,マサヨシ
+タニ,カズナリ
+タニグチ,ノブヒロ
+タニショウ,シンゴ
+タテヤマ,ヨシフミ
+タツミ,マスミ
+タウラ,タカトシ
+タザワ,トモユキ
+タズケ,セイイチ
+テラダ,ケイコ
+トウマ,カズヒロ
+トオヤマ,カズヒロ
+トメオク,アキオ
+トミイエ,ハヤト
+フタツギ,ヒロシ
+トモトシ,ケンジ
+トネガワ,アキコ
+オクムラ,ノリヒコ
+トシシゲ,ヒロシ
+トヨダ,カズナリ
+トヨナカ,マサヤ
+ツバキ,テツヤ
+ツチモト,フミオ
+ツダ,サトシ
+ツダ,カヨ
+ツダ,トシエ
+ツジイ,トモタカ
+ツジムラ,ノリコ
+ツカハラ,トシロウ
+ツノダ,ショウジ
+ツルギ,ハルヒコ
+ツルタ,テルヒコ
+ツシマ,キヌヨ
+ツツイ,ヒロユキ
+ツチダ,カツユキ
+ウチダ,サトル
+ウチダ,タクジ
+ウチクラ,タケシ
+ウチタニ,カツコ
+ウエダ,サキコ
+ウエダ,チエ
+ウエダ,ガク
+ウエダ,アキノリ
+ウエムラ,ヒロコ
+ウエノ,ヒロシ
+ウエツキ,マキ
+イケ,マサル
+ウメダ,ミホ
+ウメムラ,ナツコ
+ウノキ,ノブヒコ
+ウラシタ,トモコ
+ウラタ,トモユキ
+ウシオ,ヨシオ
+ウタガワ,テツヤ
+ワダ,トモコ
+ワダ,アキヒト
+ワダ,ヒロタツ
+ワダ,マサヒロ
+ワガツマ,ショウイチ
+ワカマツ,ユウジ
+ワキタ,ヒロアキ
+ワコ,ヒロカズ
+ワリカタ,ナオユキ
+ワシズ,ショウ
+ワタナベ,シュンジ
+ワタナベ,ヨシユキ
+ワタナベ,トシオ
+ワタナベ,ガク
+ワタナベ,ヒロフミ
+オムラ,ヒロヒデ
+ワタナベ,コウセイ
+ワタナベ,ナオコ
+ワタナベ,リュウイチ
+ワタナベ,テツロウ
+ヤギ,トモミ
+ヤギ,ユウコ
+ヤマダ,タカト
+ヤマダ,ノリトシ
+ヤマダ,ヒデフミ
+ヤマダ,シゲオ
+ヤマダ,タケヒロ
+ヤマフク,ヒデオ
+ヤマグチ,マリコ
+ヤマグチ,ヨウジ
+ヤマグチ,ヨウコ
+ヤマグチ,ヒロカズ
+ヤマジ,トオル
+ヤマカワ,コウジ
+ヤマモト,タカノリ
+ヤマモト,ケンイチ
+ヤマモト,ミツゾウ
+ヤマモト,ユキコ
+ヤマモト,ヒロヤス
+ヤマモト,コウジ
+ヤマモト,マサキ
+ヤマモト,ユウジ
+ヤマモト,ユタカ
+ヤマナ,セイイチロウ
+ヤマサキ,カツミ
+ヤマシタ,ノリトシ
+ヤマシタ,トオル
+ヤマザキ,ヒロシ
+ヤナギ,リョウ
+ヤノ,ケンタロウ
+ヤシロ,タケシ
+ヤスイ,フトシ
+ヤスムロ,タカシ
+ヤスウジ,ヨシユキ
+ヨコエ,ヒデノリ
+ヨコイ,マヤ
+ヨコミゾ,キヨシゲ
+ヨコヤマ,マサヒコ
+ヨネザワ,カズヒコ
+ヨシダ,ケンヤ
+ヨシダ,ノブヒロ
+ヨシダ,カツヤ
+ヨシダ,カズアキ
+ヨシダ,トモミ
+ヨシイ,シゲト
+ヨシムラ,テルカズ
+ヨシヤマ,エイジ
+ヨシザワ,サチコ
+フジシマ,ケンタロウ
+ユアサ,ケイ
+ユキ,セツコ
+ユキ,アキヨ
+ユイ,ダイスケ
+アダチ,ナオタケ
+バン,タカシ
+フルイ,ヨシノリ
+ハセガワ,ハジメ
+ヒラカワ,マナブ
+イトウ,トシヒコ
+イワサキ,リョウジ
+カトウ,ケンジ
+カワハラ,ヨシミツ
+マエハラ,オサム
+マツタニ,シゲオ
+モリイチ,エイジロウ
+ニシウチ,ノブユキ
+フジマキ,タイゾウ
+オオハラ,タカシ
+サナダ,ヒデアキ
+ソネ,ツトム
+トノムラ,ヨシユキ
+シミズ,ケイ
+ミシマ,マリコ
+フジタ,タロウ
+フジタ,ヒデキ
+フジタ,ヨウ
+フジワラ,コウジロウ
+フジュウ,シンイチ
+フカダ,タクヤ
+フクダ,ユタカ
+フクヒサ,ナオタカ
+フクザト,アヤ
+フクザワ,タカシ
+フルサワ,キハル
+ハガワ,タカシ
+ハギ,ヒロタカ
+ハラダ,ミツル
+ハラダ,ノブヒロ
+ハラダ,マキ
+ハラマキ,ナオコ
+ハセガワ,リエ
+ハセガワ,ヒデアキ
+ハシオ,ユカ
+ハスミ,ヒロシ
+ハスミ,ケンイチロ
+ハットリ,ヨリコ
+イシカワ,ブンペイ
+ハヤシ,タカコ
+ヒラノ,タクヤ
+ヒラノ,カズアキ
+ヒラノ,トシアキ
+ヒロベ,ヒデキ
+シノダ,ケンジ
+ヒサダ,タカユキ
+ホ,タケシ
+ホンゴウ,テルヒコ
+ホシ,ミチコ
+ホシノ,マサキ
+ホソカワ,ヒロカズ
+ホソノ,ユミ
+カトウ,ヨシロウ
+イギ,ヨウコ
+イケダ,トシユキ
+イクロ,ノリヒロ
+イマイ,カズヨシ
+イナダ,コウヘイ
+イノグチ,タカユキ
+イシグロ,ツグカズ
+イシカワ,ヒロキ
+イシカワ,ケンジ
+イシザキ,ユカリ
+イシゼキ,ヨシト
+イトウ,テツヤ
+イトウ,マサヨシ
+イトウ,ナオキ
+イトウ,ヨシミ
+イマガワ,ケイ
+イザワ,コウジ
+イズミ,ショウジ
+イズミダテ,ノリトシ
+カブラギ,カオリ
+カミヤマ,トオル
+カナヤマ,コウジ
+カナザワ,ジロウ
+カンバラ,カツヨシ
+カンダ,ユウコ
+カンダ,ミスマル
+カネコ,ナリトモ
+カシムラ,ヒロシ
+カタギリ,シンスケ
+カトウ,ヒロノリ
+カトウ,ノブヒサ
+カワダ,ハルミ
+カワスミ,ヨウコ
+キド,シュンイチ
+キクチ,ノブヒロ
+キモト,タクヤ
+キムラ,ケンタ
+キンド,ミチハル
+キタムラ,ミホ
+キタノ,サダオ
+キタワタセ,ススム
+キッタ,ヤスコ
+キヤマ,セイジ
+キヨタ,ヒロユキ
+コバヤシ,ジュンジ
+コバヤシ,ヨウコ
+コガ,アツヤ
+コハラ,タカユキ
+コジナ,ケン
+コンノ,ケイゴ
+コズカ,マサキ
+コイデ,シンジ
+コマツ,リュウスケ
+コミナト,シュウジ
+コモリ,サトコ
+コンド,ヒロヒコ
+コニシ,ノリコ
+クボヤマ,タダアキ
+クマガイ,リョウジ
+クマタ,タカコ
+クリハラ,タケシ
+クリハラ,ケイコ
+クリタ,サトシ
+クサノ,ヒロフミ
+クシダ,アキヒコ
+マエダ,ユキ
+マキ,ケイスケ
+マキタ,シンジ
+マルヤマ,ツネオ
+マスダ,ダイチ
+マツバラ,チカラ
+マツバラ,ヒデトシ
+マツイ,ケイコ
+マツモト,マサユキ
+マツムラ,シンタロウ
+マツオ,カズヒロ
+ミカミ,ミツオ
+ミキ,タカアキ
+ミノウラ,セイジ
+ミシマ,ケンイチ
+ミツナガ,ヨシユキ
+ミウラ,マサノリ
+ミワ,タカノブ
+ミヤオ,ヤスハル
+ミヤタ,カナウ
+ミズタニ,カズヒコ
+ミズタニ,ヒデノブ
+モチズキ,ミツル
+モチズキ,クミコ
+モチズキ,ノブユキ
+モギ,ヒロシ
+モリ,サトル
+モリ,タダヒコ
+モリ,タダユキ
+モリ,トモヒサ
+モリ,トシキ
+モリヤマ,トシオ
+モロオカ,ユキ
+モトバ,ダイサク
+ムネト,カツマサ
+ムライ,ヨシコ
+ムラオカ,ケン
+ムロイ,ヒデヒロ
+ナガフジ,キミヒト
+ナガイ,アキラ
+ナイトウ,ユキコ
+ナイトウ,タロウ
+ナカガワ,ミノル
+ナカハラ,ミヤコ
+ナカジマ,ユタカ
+ナカジマ,マサヒコ
+ナカムラ,タケシ
+ナカムラ,ヒロシ
+ナカムラ,アヤ
+ナカムラ,アキラ
+ナカムラ,アキラ
+ナカムラ,アツシ
+ナカムラ,ヒサト
+ヤマダ,タカシ
+ナカオ,エイジ
+ナカツカサ,キヨシ
+ナカヤマ,マリ
+ナムラ,ムネユキ
+ナスノ,ナオキ
+ニイゼキ,トシハル
+ニシカワ,コウゾウ
+ニシキオリ,ヨシアキ
+ニシザワ,カツノリ
+ノアキ,ヨウコ
+ノダ,ケンタロウ
+ノダ,ユウコ
+ノグチ,ヒサシ
+ノムラ,ヒデキ
+オチアイ,コスケ
+モリ,マリコ
+オガサワラ,ミツヒサ
+オガサワラ,タツシ
+オガワ,リョウコ
+オガワ,タカヒロ
+オガワ,ヤスヒサ
+オグラ,フミノリ
+オグラ,マサキ
+オオイシ,ヒロヤ
+オオカワ,トシアキ
+オオカワ,ジュンコ
+オカゼ,ナオキ
+オキ,テツヤ
+オムラ,アツシ
+オオスミ,マサヒロ
+オオタ,フミヒコ
+オオタケ,テツジ
+オオタニ,ケン
+オオヤマ,ケンジ
+オゼキ,ヒロシ
+オカモト,ジュン
+オカムラ,コウシン
+オカムラ,マモル
+オクムラ,マナミ
+オンダ,ノリヒコ
+オノデラ,ノリユキ
+オヤベ,タカノリ
+サガ,トシアキ
+サイトウ,ユウコ
+サカイ,サナエ
+イギ,アキノリ
+サカモト,ヒサネ
+サカモト,ヨシヒロ
+サカツギ,カズオ
+サカウエ,ケンジ
+サクマ,マリコ
+サクラ,エイキ
+サナダ,ヨシヒロ
+ササキ,タケオ
+ササキ,ナオヤ
+サトウ,カツユキ
+サトウ,タカヒロ
+サトウ,トシアキ
+サトウ,シュウイチ
+サトウ,ヒデヒサ
+サトウ,カツヒロ
+サトウ,キョウコ
+サトウ,ヤスヒト
+サトウ,カズヒデ
+サトウ,サトミ
+セイケ,マサノリ
+セキ,ヨウイチ
+セキ,テツヤ
+セキ,テツ
+セキグチ,タケシ
+セタ,トシオ
+シンガイ,アキコ
+シバタ,ヨシコ
+シバタ,ユキノリ
+シブキ,ジロウ
+シゲトミ,カズミツ
+シガ,ヒロシ
+シイバ,ミカ
+シマダ,イチロウ
+シマカワ,シゲル
+シミズ,ススム
+シミズ,タカツナ
+シミズ,オサム
+シミズ,タカシ
+シモムラ,タカシ
+シモムラ,アキラ
+シオジリ,ヒロシ
+シオザワ,アヤコ
+シライ,ユウコ
+シラカワ,フミエ
+ソマン,ジン
+ソウヤ,マサト
+ソノダ,マユミ
+スダ,トモハル
+スガノ,ケンイチ
+スガヌマ,サトシ
+スガワ,セイイチ
+スギウラ,キョウスケ
+スギヤマ,トモヒロ
+スズキ,ケン
+スズキ,コウジ
+スズキ,アツシ
+スズキ,シンイチロウ
+ショウジ,テツヤ
+タグチ,カツヤ
+タイラ,タダト
+タジマ,リエ
+タカダ,タカノリ
+オカヤマ,アサコ
+タカギシ,ミカコ
+タカハシ,シンイチロウ
+タカハシ,ヤスシ
+タカハシ,マサヨシ
+タカハシ,トオル
+タカハシ,キョウコ
+タカキ,ヨウイチ
+タカオカ,タクヤ
+タカオカ,ヒロユキ
+イマイズミ,ヨシオ
+タカサワ,タカシ
+タカス,ツヨシ
+タケイ,セツコ
+タケナカ,タケシ
+タケザキ,ヨシコ
+タマイシ,ヒデアキ
+タマキ,シゲル
+タナカ,アキラ
+タニグチ,ナオキ
+タウチ,ヒロナオ
+テラミツ,ダイスケ
+トダ,マヤ
+トミナガ,シンイチロウ
+トミタ,アキヨ
+トングウ,ヒデトシ
+ツネカワ,ヒロフミ
+ツツイ,カツヨシ
+ウチダ,タケシ
+ウチハシ,タクオ
+ウエダ,マサヒコ
+イトウ,ヨウイチ
+ウエダ,ヒロシ
+ウエハラ,ヒデアキ
+フジタ,シホ
+ウメダ,テツヤ
+ウメハラ,ヤヨイ
+ウラベ,ヒサコ
+ワタベ,ヤスシ
+ヤガサキ,スミカ
+ヤギモト,ヒロシ
+ヤジマ,カツミ
+ヤマダ,ミチコ
+ヤマダ,タカシ
+ヤマダ,ミカコ
+ヤマグチ,サトコ
+ヤマグチ,トモコ
+ヤマモト,ヤスヒロ
+ヤマモト,ヤスヒロ
+ヤマモト,ナオキ
+ヤマモト,コウジ
+ヤマネ,カズヒロ
+ヤマサキ,ハルノリ
+ヤマシタ,カズキ
+ヤマザキ,マサユキ
+ヤマサキ,トシヤ
+ヤナガワ,タケシ
+ヤナギダ,ヤスオ
+オノ,ヒデノブ
+ヤナギサワ,ヤスシ
+ヤザキ,ナオキ
+ヤザワ,セイジ
+ヨコヤマ,ヒロコ
+ヨコヤマ,タケシ
+ヨモ,キョウジ
+ヨシダ,ヒデオ
+ヨシダ,ユウジ
+ヨシダ,ハルヒコ
+ヨシハラ,アユミ
+ヨシハラ,マサヒデ
+ヨシモリ,タカシ
+ゼッツ,ヒデヨ
+アベ,ヨシタダ
+アダチ,コウジ
+アイカワ,ヒロフミ
+アカエ,ミチコ
+アンドウ,マキ
+アサミ,ミサ
+イマナカ,ハルヨ
+ベップ,ユウスケ
+ベップ,ヒロアキ
+チカハラ,オサム
+フジイ,ミツトシ
+フジサキ,タカユキ
+フクシマ,アズサ
+クロダ,トシミ
+モリ,マサヒデ
+ワタナベ,タカエ
+クロダ,アサコ
+ミヤウチ,ジュンコ
+イトウ,キクコ
+イイダ,マユミ
+カワノ,マイ
+アイウラ,トシオ
+ノザキ,テルアキ
+ビタニ,アヤミ
+タニアイ,ダイスケ
+アオキ,ジュンイチ
+オキ,キサク
+アオキ,カズユキ
+アオヤギ,ケンタ
+アカニシ,ナオヒロ
+アサオ,マサヒコ
+アサクラ,カエ
+アシザワ,カズキ
+アタク,ヒロシ
+アダチ,ユウコ
+イトウ,ユリ
+シマモト,アトム
+サイトウ,マサル
+シノハラ,カツミ
+オカノ,ヒデコ
+オカモト,ヒロシ
+ヒラカワ,ヨゴロウ
+スガヌマ,トモミチ
+アナザワ,ミノル
+アライ,トシカズ
+アライ,キンヤ
+アラカワ,ユミコ
+アラカネ,アキコ
+アラキ,シゲノリ
+アンドウ,ヒロヒサ
+イウチ,マコト
+イケダ,ヤスヒロ
+イケヤ,マサキ
+イシカワ,ヒロシ
+イシカワ,マサミ
+イシカワ,ヒロシ
+イシカワ,コウイチ
+イシガキ,ヒロシ
+イシグロ,カオル
+イシハラ,マサキ
+イソムラ,クミコ
+イタガキ,キヨミ
+イイダ,シロウ
+イチカワ,ソヨ
+イチカワ,ヨシトシ
+イデ,イタル
+イトウ,ヒロフミ
+イヌイ,マキト
+イノウエ,ノブヒロ
+イマニシ,ムネタカ
+イマハヤシ,シンイチ
+イワサキ,マサツグ
+イワサキ,マユミ
+イワモト,ケイイチ
+ウエノ,エイジ
+ウエノ,カズノリ
+ウチイケ,ヨシアキ
+ウチヤマ,ヨシタカ
+ウメダ,シュウジ
+ウメムラ,サヨ
+ウメモト,チホコ
+ウルシバラ,ヨシヒコ
+エグマ,エリ
+エラ,ナオヤ
+オウサカ,マサタカ
+オオカワ,マサミツ
+オオサワ,マサヒコ
+オシマ,ヨシタカ
+オシマ,マナブ
+オオスガ,タツヒコ
+オオタニ,ヒデキ
+オオツ,マサフミ
+オオツカ,タダヒサ
+オネ,マサユキ
+オオノ,アキラ
+オオハシ,ケンイチ
+オオハシ,ケンゴ
+オオバヤシ,シンジ
+オオヨシ,タカユキ
+オカモト,タダユキ
+オガサワラ,ヨシコ
+オガワ,ヒデノリ
+オクタニ,ゴウ
+オクムラ,ユウコ
+オグラ,ヒロコ
+イイカワ,ケンイチロ
+オグラ,サトシ
+オザワ,タカノリ
+オザワ,ヒデヒコ
+オオノ,ヤスノリ
+カキモト,レイコ
+カキモト,ヒロシ
+カゲヤマ,トモミ
+イシカワ,ヒロシ
+カソリ,ヤスヒト
+カツミ,ナオキ
+カトウ,ナオコ
+カトウ,ノリコ
+カトウ,シゲノリ
+カトウ,ダイスケ
+カトウ,ケイジ
+ケズカ,アキラ
+カドワキ,ミツシロウ
+カネコ,アキヒロ
+カノウ,ノリコ
+カミヤマ,ヒロカズ
+カワシマ,ヒロユキ
+カワセ,サトル
+カワノ,カズキ
+カワモト,マサタカ
+カワモト,シン
+カワセ,ナオキ
+カンダ,ヒデトシ
+キクチ,ヒサユキ
+キクチ,アキコ
+キクチ,ノブオ
+キタアラシ,マイコ
+キタオカ,ミユキ
+キタジマ,アキヒロ
+キタムラ,タケミ
+キタムラ,アツシ
+キテラ,サトシ
+キノシタ,ジュンコ
+キムラ,タカヒロ
+キリウ,タケシ
+クサカベ,マエコ
+クボタ,コスケ
+クマガイ,ケンジロウ
+クマノ,サリ
+クリハラ,マサト
+クルシマ,アキヨシ
+ナカガワ,チカ
+コイデ,ヒデキ
+コンノ,マサシ
+コモト,ユウコ
+コガ,クニハル
+コジマ,タイジ
+コニシ,カヨコ
+コバヤシ,セイウ
+コマツ,ケイイチ
+コミヤ,シンヤ
+コンド,サトシ
+コンド,ツトム
+ゴトウ,ダイスケ
+サイトウ,タツヤ
+サイトウ,コウジ
+サイトウ,ヒデキ
+サカモト,タケオ
+サクマ,トシカズ
+シミズ,ナオキ
+サダチカ,ケイジュ
+サト,サヨコ
+サトウ,ジュン
+サトウ,ヒトミ
+サトウ,ミカ
+サトウ,カツユキ
+サワダ,ジュンジ
+イソワ,マサヒコ
+シモ,タカアキ
+シュウ,マサヤ
+シオカワ,アヤノ
+シオザワ,マサヒコ
+シカウチ,ミツル
+シズリ,タケシ
+シノ,テツジ
+シノザキ,ジュンジロウ
+シノダ,マスミ
+シノダ,ユキコ
+シバザキ,アキヒト
+シバタ,サオリ
+シマムラ,ノボル
+シミズ,ミマコ
+シミズ,ユウジ
+シミズ,サトシ
+シミズ,シンイチロウ
+タキタニ,ユウイチ
+シラノ,タカユキ
+スエヒロ,ケン
+スガイ,ミキオ
+スガヨシ,ケンジ
+スガワラ,シゲフミ
+スギウラ,ノリアキ
+スギシマ,シュンスケ
+スギモト,ヒサシ
+スズカワ,ヨシエ
+スダ,アキヨシ
+スミカワ,カツアキ
+スミノ,コウジ
+セキグチ,シゲミ
+ソエジマ,ヤスナリ
+タオカ,タダシ
+タカキ,キョウコ
+タカシマ,シンイチ
+タカセ,キヨタカ
+タカハシ,カツヤ
+タカハシ,タツヤ
+タカハシ,エイイチ
+タキタニ,ナナ
+タケウチ,ヒロブミ
+タケダ,タダユキ
+タケダ,ケイイチ
+タケダ,イクヒコ
+タケムラ,ナオヒサ
+タゴ,マサコ
+タキザワ,チカコ
+タナカ,ヨウコ
+タナカ,リョウスケ
+タナカ,ケンジ
+イワノ,カズシゲ
+タナカ,ヒロシ
+タニエ,サダヨシ
+タニグチ,カズエ
+タニグチ,ジ
+タニマツ,ヒロシ
+タバタ,ミワコ
+タマキ,タツヤ
+イセモト,
+タミヤ,アキ
+チャモト,フサシ
+チノ,ヨウイチロウ
+ツカモト,ヨウコ
+ツチハシ,ムネヒロ
+テラサワ,タツヤ
+ト,ミチコ
+フクシマ,ナオシ
+トバ,キョウコ
+トミヨシ,ヒトキ
+トムロ,ナツヒコ
+トヨシマ,ジュンイチ
+トリヤマ,ナオユキ
+ナイトウ,ヒロユキ
+イデ,ミチカズ
+ハタ,フサオ
+ナカガキ,ミキ
+ナカガワ,タカコ
+ナカザワ,ヨシコ
+ナカデ,ショウコ
+ナカハラ,アツシ
+タケウチ,カツヒサ
+ナカムラ,サトシ
+ナカムラ,タケシ
+ナス,ヒロシ
+ニイムラ,トシヒロ
+ニシオカ,ヒデアキ
+ニシカワ,アキラ
+ニシザワ,シゲル
+ニシト,ヤスコ
+ニシノ,コウジ
+ニシハラ,ナオキ
+ニシムラ,クニモリ
+ネモト,サチヨ
+ノグチ,エミ
+ノグチ,マサヤ
+ノジリ,ヨシナオ
+ノジリ,タカヒロ
+ノムラ,カズヒコ
+ハッタ,アキコ
+ハシバ,チカコ
+ハシモト,ユカ
+ハシモト,イチロウ
+イノウエ,キヨシ
+ハシモト,タカコ
+ハセガワ,ケンイチ
+ハタ,カズキ
+ハタ,ヨシカツ
+ハタノ,マイコ
+ハヤシ,ヒロユキ
+ハヤシ,クミコ
+ハラダ,トモコ
+ハラダ,ケンイチ
+ババ,ヒロフミ
+ババ,アスカ
+ヒグチ,ノブヒコ
+ヒグチ,キョウコ
+ヒサキ,ゴウジ
+ヒジリ,エリ
+ヒラヤマ,タカユキ
+フクダ,マユミ
+フジイ,ヒロフミ
+スガイ,サトミ
+フジタ,カズヤ
+フジタ,ユキコ
+フジタ,ノブコ
+フジタニ,サトシ
+フジナミ,シゲユキ
+フジノ,タツユキ
+ノノムラ,カツジ
+フセ,タテル
+スギモト,ヨウイチロウ
+ホソカワ,タツオ
+ホリウチ,ナオミ
+ホリカワ,ヒロアキ
+マキノ,イクコ
+マキノ,ノリヒコ
+マシコ,トシヒコ
+マスダ,カズヤ
+マスブチ,タカシ
+マスブチ,アキヒロ
+マツイ,マキコ
+マツザワ,マサト
+トミナガ,タカシ
+マツナガ,ヨシコ
+マツナガ,ユキ
+スズキ,ヤスジ
+マツムラ,ケイイチ
+マツモト,ヒデフミ
+マツモト,トモヒサ
+マツヤマ,ノリコ
+マツヤマ,コウジ
+マツヤマ,テツヤ
+マツヨシ,アキコ
+マノ,セイジ
+マルオカ,トシヤス
+ミカミ,ヨウコ
+ミキ,ヒロキ
+ミゾグチ,マサミ
+ミタ,ミノル
+ミネ,チアキ
+ミネオ,サトル
+サトウ,カツノリ
+イクタ,アヤ
+ミヤザキ,ヒデキ
+タカギワ,シゲル
+ミヨシ,ヨウコ
+ムカイ,ミツタカ
+ムラカミ,マサアキ
+イシダ,ツカサ
+ムラカミ,サトシ
+ムラカミ,カズタカ
+ムラヤマ,コウジ
+ムラヤマ,マコト
+ムロイ,マサタカ
+モタイ,カズマサ
+モトキ,カズヤ
+モトムラ,コウジ
+モリ,カツヒロ
+カセ,アキヨシ
+モリシタ,カズヒロ
+モリタ,ナオキ
+モロトミ,ヒデノブ
+モロハシ,ユキコ
+カワモト,ヒロノリ
+ヤグチ,テルヒコ
+ヤジマ,ナオコ
+ヤスカワ,ヒロシ
+ヤスダ,マサヒト
+ヤツズカ,マリコ
+ヤナギサワ,ユキ
+ヤマグチ,キンヤ
+ヤマサキ,タカヤ
+ヤマザキ,ヒロユキ
+ヤマザキ,ヨシコ
+ヤマザキ,セイジロウ
+ヤマダ,ケンタロウ
+ヤマダ,ナオキ
+ヤマダ,タカノリ
+ヤマナカ,シュウイチ
+クリハラ,マサキ
+ヤマモト,マサコ
+ヤマモト,シンタロウ
+ヤマモト,ヤスシ
+マツオ,マスミ
+ヨギ,チトセ
+ヨコヤマ,ヒデキ
+ヨコヤマ,ヨウコ
+ヨシカワ,ナオヒデ
+ヨシカワ,ヨシコ
+ヨシダ,コウジ
+ワクイ,テツヤ
+ワタナベ,ケンタロウ
+ワタナベ,シホ
+ワタナベ,ヨシヒト
+ワタナベ,マナブ
+ハヤシ,タカシ
+ヤマダ,ノブヤ
+ワカバヤシ,サトシ
+イワムラ,ノリマサ
+ワタナベ,ノボル
+クワシマ,スグル
+オバタ,サトミ
+アナザワ,ヒカル
+ヤギ,コスケ
+アカオ,トモカズ
+シミズ,ナツコ
+サカモト,ヒデノブ
+アオキ,シゲアキ
+アズマ,コウイチ
+イイダ,エナ
+イケウチ,メバエ
+イシカワ,テツオ
+イソガイ,マコト
+イトウ,タダヒロ
+イバ,アズサ
+イワモト,シンジ
+ウエサカ,タケヒロ
+ウエノ,マモル
+ウエヒラ,ケンゴ
+ウチヤマ,ケンジ
+ウメナイ,ススム
+エムラ,タカヒロ
+オキタ,ジュンイチ
+オオクボ,ヒロシ
+オオタニ,アヤ
+オオツ,ヒロコ
+オオツカ,ヨシミ
+オカシロ,シロウ
+オダ,アツシ
+オノ,ヒロミ
+カトウ,ヨシユキ
+カネヒサ,ナオコ
+カミヤ,オサム
+カワイ,タクヨシ
+カワオカ,ヒデキ
+キタノ,ジュンイチ
+キブシ,ツヘ
+キムラ,マサタカ
+キムラ,マサコ
+クサカ,サトミ
+クバ,タカシ
+クボタ,シロウ
+クロイワ,シンジ
+クワバラ,エイジ
+コイケ,スミオ
+コイタバシ,ツカサ
+コウダ,ヒデオ
+コウダ,マサタケ
+コシムラ,アツシ
+コヤナギ,ヒサコ
+ハトリ,ユウコ
+サカウエ,サワ
+アベ,コウイチ
+サトウ,ヤスミツ
+サトウ,マユミ
+サトウ,ヨシオ
+シマダ,リエ
+イマイ,カツアキ
+スガヌマ,チヨ
+セキ,アキヒロ
+セノ,タカヤス
+アベ,マサハル
+タカスガ,マユミ
+タカスギ,ノブコ
+タカハシ,トモミ
+タカハシ,ケンタロウ
+タカハシ,アキヒト
+タカハシ,コウジ
+タカハシ,ヒサミ
+タキモト,ユウタ
+タクボ,ヨシユキ
+タケウチ,トモコ
+タケナカ,ユキヒコ
+タナカ,モトイチ
+タナカ,チズル
+タバタ,カツユキ
+タミヤ,タケシ
+タムラ,レイコ
+チュウマ,ヒロタカ
+ホンゴウ,ユウコ
+ナカオ,ノブアキ
+ナカガワ,コウイチ
+ナカゾノ,ヒデノリ
+ナカノ,ミツヒロ
+ニッタ,ハナ
+ニワ,リョウイチ
+ノジ,ヒロアキ
+ハザノ,タカシ
+ハシモト,トオル
+ハシモト,ユウコ
+ハヤシ,チオリ
+ハヤシ,トウコ
+ハラグチ,タカシ
+ハルグチ,トシオ
+ヒラデ,イサム
+ヒラノ,マサタカ
+ヒラヤマ,ユキ
+フカザワ,ヒロミ
+フクマス,カヨ
+フクモリ,マサル
+フジカワ,シゲル
+ホシノ,ノリコ
+ホソノ,アキヒト
+マツオカ,ヨシナリ
+マツムラ,ナミコ
+ミズカミ,テツロウ
+ミツイ,タイスケ
+ミノカミ,トシユキ
+ミヤモト,タツシ
+ムラカミ,ケイコ
+ヤタ,ナオコ
+ヤナギタ,ミノル
+ヤマグチ,コウジ
+ヤマシタ,ミチオ
+ヤマモト,ユウイチロ
+ヨシタケ,ヒデノリ
+ヨシムラ,エリ
+ヒグチ,タケシ
+ハシモト,アツシ
+ワタナベ,ユキ
+アキバ,タケヒコ
+アキモト,ミツヨ
+アマヤ,マサル
+アンドウ,テツロウ
+アンザワ,ノブヒロ
+アサハタ,カズヒト
+ババ,ミチヒト
+ベッショ,テルヒト
+チカモト,サオリ
+チョウ,ダイスケ
+フジヒラ,ミワコ
+フジイ,ケイコ
+フジタニ,ヨシカツ
+フカダ,マサアキ
+フルダテ,ナオキ
+フルヤマ,ヒロユキ
+ゴウダ,キヨノブ
+コイケ,ヨシユキ
+ハカマダ,コウゾウ
+ハセガワ,タカオ
+ハシモト,コウイチ
+ハッタ,ケンイチ
+ハットリ,タカヒロ
+ハヤカワ,ヒロキ
+ハヤカワ,ナルツグ
+ヒヌマ,タクヤ
+ヒロキ,トモヒデ
+ホリノウチ,ユウジ
+ホソノ,アツコ
+フジオカ,ヒデキ
+フルタ,ナルキ
+フサノ,ケン
+フシミ,オサム
+イタド,ヒトシ
+イダ,マサヒロ
+イハラ,ケイ
+イイダ,タカヒロ
+イナヤマ,ヒロカズ
+イノ,ジュンイチ
+イノウエ,メグミ
+イシダ,ヨシツグ
+イシモト,ヤスヨシ
+イシワ,ミツル
+イシワタリ,ヒロカツ
+イタクラ,ナホコ
+イトウ,タカヒロ
+イトウ,シュウイチ
+イワイ,ナナコ
+イザワ,
+ジブ,スグル
+カバヤマ,マサキ
+カイ,ユウコ
+カキヌマ,ジュン
+カキザキ,マサキ
+カクダ,シュウスケ
+カナガワ,シン
+カンベ,タケオ
+カンダ,ヤスヒト
+カサダ,ミチタカ
+カワイ,トモコ
+ササキ,イクエ
+カワセ,サホ
+キモト,ミキネ
+キタハラ,ノブオ
+キタムラ,ヨシオ
+コバヤシ,ヒロエ
+コブケ,ユウコ
+コイズミ,カナコ
+コミヤマ,マリコ
+コンノカズヒロ,ヤスヒト
+コシカワ,タカユキ
+コンノ,コウイチ
+クボ,マサノブ
+クボカワ,ナツキ
+クドウ,トモカ
+クリハラ,カツイチ
+クロギ,サエコ
+マチダ,ハルミ
+マジマ,ヤスコ
+イシズ,ノリユキ
+マカベ,ヒロヨ
+マルヤマ,ヒデアキ
+マスダ,カヨ
+マツガサキ,アキラ
+マツイ,タケシ
+マツイ,サオリ
+マツモト,ケンジ
+マワタリ,カンジ
+ミチモト,トシヒロ
+ミキ,スミコ
+ミツマ,タカノリ
+ミウラ,ケイゴ
+ミワ,マコト
+ミヤモト,カツヒサ
+ミヤモト,ヤスノブ
+ミヤモト,タケノブ
+ミヤタ,マサシ
+ムラカミ,トオル
+タハラ,ノリコ
+ミズタニ,トモカ
+モリ,ユキ
+モリグチ,マサヒコ
+モリカワ,ヒロシ
+モリモト,カズミ
+モリタ,レイコ
+ムラカミ,タツヒコ
+アデガワ,アイ
+ナガサカ,ヒカル
+ナガタ,ジュリ
+ナガタ,カツノブ
+イザワ,カオリ
+ナカミネ,マモル
+ナカムラ,ヒロノリ
+ナカムラ,タツヤ
+イモト,コウイチロウ
+ナカムラ,タケシ
+ナカオ,ユウジ
+ナカヤマ,ウシン
+ナカザワ,キヨシ
+ナミキ,ハルヨシ
+ニイミ,アキヒロ
+ニイゼキ,カオリ
+ニシデ,ヒデアキ
+ニワ,ヒデキ
+ノベ,ミサ
+オオタ,シゲアキ
+オガワ,マサヨシ
+オグス,ユウスケ
+オオモト,ショウジ
+オシマ,タカノリ
+オオタ,ケンイチ
+オオヤ,ヒミコ
+イシカワ,ヨウ
+オカダ,タケシ
+オク,フミユキ
+オクダ,マサキ
+オシクボ,ケンイチ
+オゼキ,カツヒコ
+ライ,ユウジ
+イトウ,トモヤ
+サイキ,ヒロシ
+サイトウ,タツヤ
+ヨシダ,ミチヤス
+サコ,シゲミツ
+ササジマ,ジュンヤ
+ササキ,ユキコ
+サトウ,ツグヒデ
+イワモト,カズヒコ
+サトウ,チエコ
+サワダ,ヒデヤス
+セキカワ,イズミ
+セキネ,ミツオ
+シバタ,ナオキ
+シゲハラ,シンヤ
+シマオカ,アキヒコ
+シミズ,カズヒロ
+シモ,マサアキ
+シモムラ,タカシ
+シムラ,タカヒサ
+ソメヤ,アキヒコ
+スエヨシ,ケンイチ
+スズキ,ヒデユキ
+スズキ,ナオキ
+タカダ,イチロウ
+タカハシ,
+タカセ,マナブ
+タケダ,アキラ
+タケイ,ヒサヨシ
+タケモト,ハジメ
+タマイ,トシヒコ
+タムラ,タカユキ
+タムラ,サトル
+イシカワ,ヒトシ
+タナカ,コウイチロウ
+タナカ,マサヒロ
+タニグチ,タケノリ
+タニグチ,ヒロタカ
+タニグチ,ケンジ
+タニグチ,ケン
+イシダ,アツシ
+タニシタ,フミノ
+テラニシ,ツヨシ
+トオヤマ,キョウコ
+トミタ,ミワ
+トネガワ,タク
+トヨダ,ノリコ
+トヨタ,シュウジ
+ツチヤ,ヨシコ
+イシカワ,ナオキ
+ツムラ,トシアキ
+ツノカワ,ヨシミ
+ウチダ,ヒトシ
+ウサミ,タケシ
+ワジマ,リコ
+ワタナベ,マキ
+ワタナベ,ヨウイチ
+ワタナベ,ヤヨイ
+ヤギ,ケイイチ
+ヤギ,キョウコ
+ヤクワ,ヒロフミ
+ヤマダ,ヒロキ
+ヤマダ,タカユキ
+ヤマグチ,トシユキ
+ヤマノクチ,マサコ
+ヤマシタ,コウイチ
+ヤマシタ,ナオユキ
+ヤマザキ,ヒデユキ
+ヤマザキ,ユタカ
+ヤナガワ,タツロウ
+ヤスダ,トヨアキ
+ヤスエ,トモユキ
+イソガイ,タダノブ
+ヤタガイ,エリ
+ヨシダ,リョウコ
+タカハシ,マサキ
+オカダ,シュウイチ
+アオキ,マサル
+アキバ,アキコ
+アベ,アキコ
+アマノ,マサオ
+アリモト,シュウジ
+アンドウ,ユキ
+イカワ,タイヘイ
+イシイ,ノリヒロ
+イシカワ,ナオコ
+イシズカ,ユミ
+イシバシ,シュンスケ
+イシモト,リョウスケ
+イデ,サトコ
+イチノセ,サトシ
+イナダ,マナブ
+イヌイ,ヤスヨ
+イノウエ,マミコ
+イヤマ,コウジ
+イワサキ,ミズマサ
+イワマ,カズコ
+イワマツ,オサナオ
+ウエダ,ヒロコ
+ウエノ,ヒロキ
+ウチダ,タカオ
+ウド,ケンジ
+ウメハラ,タカシ
+エグチ,トミサブ
+エノキ,ヨシコ
+エモト,ミツモト
+エモリ,セイヤ
+ナカガワ,ナオアキ
+オオタ,ヒデユキ
+オガタ,ヤスシ
+オガワ,ノブタカ
+オガワ,レイコ
+オクイ,タクジ
+オクムラ,モトコ
+オオタニ,テルアキ
+オツトモ,ユキコ
+オニザワ,シゲキ
+オノ,ノリアキ
+オバナ,セイイチロウ
+オマガリ,マサヤ
+カキザワ,テツヒロ
+カケヒ,エリコ
+カサハラ,マドカ
+カジ,オサム
+カジタ,タカオ
+カジタ,タカオ
+カジヤマ,ミノル
+カトウ,ヨシノブ
+カナダ,ケイ
+カネコ,ノブカツ
+カネコ,リョウタ
+イタノ,ケンスケ
+ナガツマ,シュウヘイ
+カノウ,セイジ
+カマエ,ナオキ
+カワイ,テツオ
+カワマタ,ヒロキ
+カンノ,マイコ
+キウチ,イズミ
+キシ,ヨウコ
+キタガワ,トモノブ
+キノシタ,ナリトシ
+キョウガク,マコト
+クボ,トモノリ
+クボタ,タクヤ
+クボタ,シンペイ
+クリハラ,リエ
+クリヤマ,ケイコ
+イシガキ,トシフサ
+クロイ,イツロウ
+コウサキ,コウイチ
+コウダ,アツシ
+コバヤシ,ノブアキ
+コバヤシ,テツヤ
+コバヤシ,ユウスケ
+コバヤシ,コウジ
+イノウエ,ノブアキ
+サイホ,ナルヒロ
+サカガワ,ヨウヘイ
+カワムラ,ユタカ
+ササオカ,ヨウコ
+ササキ,ノボル
+サトウ,ノリカズ
+サトウ,マナブ
+サナダ,オサム
+サルヤマ,ケンイチ
+シオツ,エイスケ
+シオノヤ,シノブ
+シオヤマ,ノボル
+シギハラ,ヒロユキ
+シシド,クニオ
+シノザキ,カズヒト
+シバタ,ミノル
+シミズ,
+ショウノ,シンイチ
+シラキ,ヒロユキ
+スギオカ,ミツカズ
+スギハラ,キヨシゲ
+スズキ,ヒサテル
+スズキ,シゲユキ
+スミヤマ,セイジ
+セッタ,マサキ
+イシワタ,ダイジュ
+センゴク,ミノル
+タカオカ,ユミ
+タカザワ,タカシゲ
+タカハシ,アヤコ
+タカムラ,タカユキ
+タキト,ヒデキ
+タナカ,カズ
+タナカ,アキコ
+イトウ,ジュンジ
+タナベ,ケンジ
+タニグチ,マナブ
+チャワンヤ,ヨシハル
+テラサカ,ヒロキ
+トコロ,ジュンイチ
+ナカイ,タカシ
+ナカオ,シンジ
+ナガオカ,ミホ
+ナカガワ,モトアキ
+ナカジマ,スヒチ
+ナガセ,タツヤ
+ナカノ,セイタ
+ナカノ,ジ
+ナガノ,ユウコ
+イケダ,アキコ
+ナカムラ,マリコ
+ナカヤマ,カツトシ
+ニオ,ジュンイチ
+ニシオ,ノリコ
+ニシカイ,トシミツ
+ニシザカ,ヨシコ
+ニシダ,ダイスケ
+ニシダ,タカシ
+イイジマ,マサキ
+ニシハラ,カズユキ
+ニシムラ,カズヤ
+ネロメ,ヒロシ
+ノジマ,サネヒロ
+ノナカ,ダイスケ
+ハシバ,ノリカズ
+ハチヤ,タカヒロ
+ハットリ,コ
+イイダ,ヒロユキ
+ハブ,マコト
+ハヤカワ,テツロウ
+ハヤシ,ナオコ
+ハヤシマ,ヒデシ
+ハラ,タクミ
+ヒガシダ,マサル
+セキグチ,キョウイチ
+ヒライ,カオリ
+ヒロスエ,ヒロユキ
+ヒロハタ,タクヤ
+フクシマ,ミツオ
+フジオ,テンペイ
+フジタ,ユウイチロウ
+フジマキ,ユキヒコ
+フジワラ,トオル
+フルイチ,ユウスケ
+ホサカ,タケシ
+ホシノ,コウジ
+ホリ,ユキコ
+ホリモト,ユウジ
+ホンマ,ユキノブ
+マエカワ,タケハル
+マエダ,タカヒト
+マエダ,ミキオ
+マエダ,タツヤ
+マサイ,クミ
+マツイ,ヒデノブ
+マツザワ,チカラ
+マツダ,タカユキ
+マツトモ,マサナオ
+マツナガ,ケンジ
+マツモト,ヨウスケ
+ミズグチ,トモタカ
+ミヤモト,マユミ
+ミヤモト,ヤスジ
+ムラカミ,カズヒデ
+ムラカミ,マサヒロ
+ムラナカ,サトシ
+モチズキ,タクヤ
+モトクラ,トモコ
+モリ,クニカズ
+モリヤ,ホマレ
+ヤスイ,タイゲン
+ヤスダ,ミキコ
+ヤスダ,キヨヒト
+ヤタ,カズヒロ
+ヤタキ,ノブオ
+ヤチ,フミヒコ
+ヤノ,ヒロシ
+ヤマイズミ,ヨシアキ
+ヤマオカ,マサキ
+ヤマグチ,ヤスヒロ
+ヤマグチ,ヨシノリ
+ヤマザキ,アキオ
+ヤマザキ,ナナ
+ヤマシタ,マイコ
+ヤマモト,ケン
+ヨコゼキ,タイチ
+ヨシダ,ナオト
+ヨシノ,ヤスオ
+ヨシミ,タカシ
+ヨダ,タカヒロ
+ヨダ,ヒロアキ
+ロジ,フミアキ
+ワダ,マミ
+ワタナベ,ユキオ
+ワタナベ,ヒデキ
+ワタナベ,カズオ
+ワタベ,タカシ
+カノウ,タカトシ
+ニッタ,オサム
+アオキ,シュウ
+アオキ,ハナコ
+アオヤマ,マサアキ
+アオヤマ,ヌイ
+アキバ,ケイイチ
+アサダ,マリコ
+アダチ,トモミ
+アダチ,ユウコ
+アトベ,ハルト
+アベ,カツヒコ
+アベ,ノブオ
+アベ,マユミ
+アマノ,マキ
+アマノ,ジュンイチロ
+アラカワ,リョウスケ
+アリタ,ヨウヘイ
+アリトモ,ヒロシ
+アンザイ,ヒデアキ
+イトウ,ヨウジ
+アンドウ,リエコ
+イガラシ,ミオコ
+イケダ,イズミ
+タカハシ,アツオ
+イシバシ,タダシ
+イシムラ,ユミコ
+イシモト,マリコ
+イチイ,ケイコ
+イチカワ,ヒロト
+イチカワ,マキコ
+イチノセ,キヨシ
+イトウ,アキヒロ
+イトウ,マサル
+イトウ,リサ
+イナオカ,マサフミ
+イナバ,ヒロタケ
+イヌズカ,マユミ
+イノウエ,ヒデオミ
+イノカワ,シュンスケ
+イマイ,タケシ
+イマシュク,リョウ
+イワイ,トモヒコ
+イワシマ,シュウイチ
+ウエゾノ,メグミ
+ウエダ,タカヒロ
+ウエハラ,タカユキ
+ウエハラ,モトコ
+カキタ,ケン
+ウサミ,ヒジリ
+ウチダ,ヒロキ
+ウチダ,アヤコ
+ウチボリ,ミサト
+ウメガイ,カズエ
+ウメツ,アキヒコ
+ウメノ,タケシ
+ウラカワ,ユキ
+ウラベ,シゲヒサ
+エグチ,タダシ
+エズミ,イクヨ
+エノモト,タロウ
+イマニシ,ヒロユキ
+エノモト,フミコ
+エンド,ヨシキ
+オイカワ,マサキ
+オイカワ,ユキフミ
+オオイ,ヨウジ
+オオイシ,マサハル
+オオタ,フミカズ
+オオツカ,シンスケ
+オオニシ,カツアキ
+オオニシ,ミチエ
+オカダ,ヤスオ
+オカダ,マサル
+オカノ,ユキ
+オカベ,ヨシヒロ
+オカベ,ヒデアキ
+オカムラ,リョウ
+オカモト,ミキ
+オカモト,ミユキ
+オガワ,タエコ
+オガワ,トオル
+オクダ,ケン
+オクダ,テツヤ
+オザキ,マミコ
+オノ,ナオコ
+オオヤマ,タカシ
+カイズカ,トシフミ
+カガミ,エリカ
+カキタ,カオル
+カク,コウジ
+カサイ,ユキノリ
+カジイ,アカネ
+カジタ,ナオヤ
+カタエ,ユウジン
+カタヤマ,ミツコ
+カツ,トオル
+カトウ,タク
+カトウ,ダイスケ
+カミ,アツコ
+カネコ,クニヒト
+カマダ,カズヒロ
+カミ,ヨシテル
+カミヒサ,ユウジ
+カミモト,カオリ
+カミヤ,カズオ
+カミヤマ,マキ
+カワカミ,マスミ
+カワサキ,ヒトシ
+カワセ,ヒロカズ
+カワハタ,タケチカ
+カワハラ,ジュンコ
+カワムラ,カズヒロ
+カワモト,ケイスケ
+カワモト,ヒロシ
+カワモト,ミチオ
+カンダ,タケシ
+キクチ,エリ
+キタガワ,マサブミ
+キタナガ,サカエ
+キタノ,シンゴ
+キタムラ,タツヤ
+キタモト,ツトム
+キノエ,ヒロシ
+キブセ,タカエ
+キムラ,ジュンイチ
+キムラ,トモキ
+キモト,ヒデユキ
+キモト,ユリ
+ギョウブ,ヒロコ
+クニ,ミホ
+クニマサ,ミエコ
+クマサカ,タイセツ
+クラシゲ,アキオ
+クリハラ,タケシ
+コイケ,メグミ
+コイケダ,タツロウ
+コイズミ,ヒロシ
+コイヌマ,ミチコ
+コツカ,カズアキ
+コガ,シゲキ
+コシモト,ヒロミツ
+コダマ,タイチロウ
+コダマ,マサカズ
+ゴトウ,アリヨシ
+コニシ,トモコ
+コバヤシ,ヨシジ
+コバヤシ,マサキ
+コバヤシ,ヤスタカ
+コバヤシ,ヒデヒト
+コマキ,タツヤ
+コマバ,カズノリ
+コミヤ,カツヒコ
+コヤマ,マサノリ
+コヤマ,ヤスノリ
+サイキ,トモヒサ
+サイゴウ,ミワコ
+サイトウ,ケンジ
+サイトウ,テツオ
+サイトウ,イサム
+イガラシ,ショウゴ
+サエグサ,ナミ
+サカイ,アキラ
+サカガミ,イチロウ
+サカネ,ダイキ
+サカモト,トモノリ
+サカモト,マコト
+サクライ,ヒロミ
+サクラダ,リョウジ
+サコン,マサヒロ
+ササキ,ナナエ
+ササハラ,ワカコ
+サトウ,ゲン
+サトウ,ジュンイチ
+サトウ,ケンゴ
+サトウ,ナオト
+サノ,ヒデアキ
+サワ,ケンゴ
+シブヤ,タダシ
+シブヤ,ヒデオ
+シマダ,マナエ
+シマダ,ヒデタケ
+シマダ,ヤヨイ
+シミズ,ユキオ
+シミズ,ダイスケ
+シミズ,ヒデキ
+シミズ,アキノ
+シミズ,ナオユキ
+イノウエ,ケイスケ
+シモ,サトシ
+ショウダ,シゲノリ
+ジンノ,マコト
+ジンノ,リュウジ
+シンマチ,タケシ
+スギイ,マサナオ
+スギオカ,タカヒコ
+スギモト,ミチノリ
+スズキ,カズヒラ
+スズキ,ダイスケ
+スズキ,カズヒロ
+スズキ,ヒロシゲ
+スズキ,ユウイチロウ
+セオ,ノリコ
+セキ,ソウ
+イシハマ,ケント
+ソノダ,コウタロウ
+タイ,ヨシアキ
+タカイワ,キヨシ
+タカギ,ユウジ
+タカハシ,マキコ
+タカハシ,ノブユキ
+タカハシ,マキコ
+タカハシ,タケシ
+タカハシ,アキヒコ
+タカムク,ケンシ
+タグチ,ヒロコ
+タケウチ,ヨシコ
+タケカワ,マサシ
+タケワ,シンジ
+タダマツ,ヒデキ
+タタラ,コウジ
+タナカ,タカシ
+タニモト,ユウジ
+タネムラ,アキフミ
+タハラ,サトシ
+タムラ,ヒロシ
+ダン,タカユキ
+イイダ,ムネノリ
+チバ,エイスケ
+チョウトク,ヒデユキ
+ツカハラ,ヒロユキ
+ツツミ,マコト
+ツモリ,マリコ
+テラシタ,ユウイチロウ
+ドイ,ユタカ
+ドイ,ヨシエ
+ドイ,ヨウイチ
+トシマ,コウヘイ
+ナイトウ,コウジ
+ナカイ,マサヒロ
+ナカイ,シュウヘイ
+ナカオ,キホコ
+ナカガワ,チアキ
+ナガサキ,カオリ
+ナカジマ,タカフミ
+ナカジマ,ノゾム
+ナカシマ,サナエ
+ナカダ,キヨコ
+ナカハラ,ミナコ
+ナカムラ,ジュンゾウ
+ナカムラ,シュウタロウ
+ナカムラ,ユリ
+ナカムラ,ソウイチロウ
+ナカムラ,ミツヒロ
+ナカムラ,カツヒコ
+ナカムラ,ヒデヤ
+ホシノ,トシハル
+ナカモト,アキコ
+イケダ,マサタカ
+ナカモリ,トオル
+ナガヨシ,タカマサ
+ナデハラ,ヒロシ
+ナナモリ,ツトム
+ナラサカ,ヒロシ
+ナンバ,ユキ
+ニシ,ツネアキ
+ニシカワ,ヒデアキ
+ニシダ,ケンシ
+ニシムラ,ユキ
+ノグチ,サトシ
+ノダ,ケンイチ
+ノナミ,スグル
+ノノイチヤ,マスオ
+ノムラ,トモヒコ
+ノモト,ユウイチ
+ハガヤ,ナオユキ
+ハギワラ,ヤスユキ
+ハク,トモヒト
+ハシ,タカシ
+ハシズメ,ユウコ
+ハシバ,マコト
+ハセベ,タカマサ
+ハタ,マサミチ
+ハタエ,ミキト
+ハタノ,アキヨシ
+ハチノ,ススム
+ハットリ,ユウ
+ハヤシ,レイコ
+ハヤシダ,アキラ
+ハヤフネ,ヨシアキ
+ハラ,タツジ
+ハラダ,クミコ
+ハラダ,マサコ
+イノグチ,カツフミ
+ハラダ,タカユキ
+ヒガシヤマ,ヨウコ
+ヒグチ,ヒデキ
+ヒゴ,ヒロシ
+ヒダノ,トモヤ
+ヒマキ,トモノリ
+クラシゲ,カズユキ
+イシハラ,レイコ
+ヒラタ,シゲオ
+ヒロサワ,ユキコ
+ヒロタ,ケイコ
+フカサワ,ミキコ
+フカザワ,リエ
+フカザワ,タカシ
+フクムロ,マサトモ
+フジイ,テツヤ
+イトウ,ケイコ
+フジイ,ミオコ
+フジナガ,ケイジ
+フジナガ,フミコ
+フジワラ,ノリヒロ
+フジワラ,リエ
+フジワラ,ナオユキ
+フタツギ,ツヨシ
+フタツモリ,シズカ
+フルハタ,ノブアキ
+フルヤ,マリコ
+ヘンミ,マサル
+ホシ,マイコ
+ホシノ,カツアキ
+ホリ,キミヒロ
+ホリエ,シンジ
+ホリオカ,アツコ
+ホリカワ,トモヒロ
+マエフネ,ナミコ
+マキノ,ヤスノリ
+マスダ,オクト
+マツウラ,タケシ
+マツシタ,アキシ
+マツモト,ヒデタカ
+イグチ,タカヒロ
+マツヤマ,マサヒロ
+マナベ,チノ
+マルヤマ,ナオユキ
+ミウラ,ミチル
+ミキ,タカユキ
+ミツハシ,エイイチ
+ミツベ,マサト
+ミトベ,ヒサヤ
+チョウトク,タマキ
+イケフジ,ノブヨシ
+ミヤザキ,マサハル
+ミヤザキ,アキラ
+ミヤシタ,ヨウコ
+ミヤタ,タカシ
+ムコウヤマ,ミチヒデ
+ムライ,ミホ
+ムラカミ,マミ
+ムラカミ,ミツアキ
+ムラタ,トモユキ
+ムラマツ,マサユキ
+モトキ,ジュンタ
+モトヨシ,セイイチ
+モミヤマ,エイジ
+モリ,タカシ
+モリ,タケヤ
+モリウエ,ヨシタカ
+イノウエ,アキノリ
+モリウチ,シンタロウ
+モリタ,ユウキ
+ヤギサワ,カズミ
+ヤシマ,コウジ
+ヤスダ,フミヒコ
+ヤノ,ミキ
+ヤノ,タダタカ
+ヤマグチ,ジュン
+ヤマサキ,フミヒコ
+ヤマザキ,ノブヒコ
+ヤマシタ,ケイジ
+ヤマシタ,アツシ
+ヤマダ,タツオ
+ヤマナ,カナ
+ヤマミチ,ケイスケ
+イナカ,ゲンタ
+ヤマモト,コウジ
+ヤマモト,タクヤ
+ヤマモト,ヒデオ
+ヤマモト,ムネタカ
+ユバ,ユタカ
+ヨコタニ,マコト
+ヨコヤマ,ヨシオ
+ヨシダ,カズヒロ
+ヨシダ,トシカズ
+イワサキ,トシカズ
+ヨシダ,リョウ
+ヨダ,エミ
+ワカマツ,ミチエ
+ワサ,リョウコ
+ワダ,カオル
+ワタナベ,ケイゾウ
+イワクラ,エイイチ
+ワタナベ,ヒデユキ
+ワタナベ,カズミネ
+ワタナベ,ショウタロウ
+ワタナベ,ユキ
+ワタナベ,シゲル
+ワタナベ,ヒロユキ
+ワタナベ,キヨカズ
+ワタナベ,トシエ
+オオイ,ノブヒロ
+イイダ,ユキコ
+ムカイ,タカシ
+フミハラ,カオリ
+カワゴエ,マサハル
+クロカワ,ヒロミ
+コウダ,サトル
+フジタ,ユウコ
+コバヤシ,タケシ
+ハマムラ,カヨ
+イワセ,ヤスヒロ
+タケダ,マサル
+オガワ,ヒロアキ
+ミズタ,サトル
+イイダ,アツシ
+アイハラ,ヤスコ
+アオウ,トシキ
+アオキ,シンコウ
+アオバ,ヒロヨシ
+アキモト,ススム
+アサイ,ユウコ
+イシヤマ,シュンスケ
+アサオ,エミコ
+アサダ,トシキ
+アサダ,ケンタロウ
+アサノ,フジオ
+アサノ,トモヒコ
+アザミ,トシユキ
+アスマ,シュウヘイ
+アソウ,ユカ
+アダチ,キョウイチ
+アトミ,ノリヒロ
+アナミ,ヤスヒサ
+アベ,マサオミ
+アベ,マコト
+アベ,マコト
+アマノ,マサトシ
+アヤベ,タロウ
+タケキタ,マナブ
+アライ,マキ
+イツノ,ミキオ
+アリカワ,ヨシノブ
+アリタ,コウイチ
+アンジュ,ツヨシ
+アンドウ,マサキ
+アンドウ,リュウタ
+イチノセ,コズエ
+イイヌマ,ヒロユキ
+イウエ,ヨシアキ
+イガラシ,アキコ
+イケウチ,オリカ
+イケガミ,ミノル
+イケダ,タケシ
+イリタ,ヤスアキ
+イケダ,シュウイチ
+イケダ,ショウイチ
+イケダ,ジロウ
+イシイ,ジュンイチ
+イシイ,トモコ
+イシイ,ナオミ
+イシオカ,シンイチ
+イマイ,タケシ
+イシカワ,リョウヘイ
+イシカワ,トモノブ
+イシグロ,ユキヒロ
+イシダ,タツユキ
+イセキ,タケシ
+イチキ,マサト
+イチノセ,トモヒロ
+イチノミヤ,フミタケ
+イトウ,シンイチ
+イトウ,ノリコ
+イナダ,ヨシタカ
+イナバ,セイイチロウ
+イハラ,キヨタカ
+イノウエ,オサム
+イノウエ,ノリコ
+イノウエ,トモユキ
+イマイズミ,アツシ
+イマ,サトコ
+イマダ,ミオ
+イマズ,ツヨシ
+イマムラ,ミツトシ
+イリタニ,タクジ
+イワキ,タツヤ
+イワサキ,マリ
+イワサキ,マナ
+イワスギ,ミカ
+イワハシ,イチロウ
+イワブチ,ナホ
+イワホリ,アキヒコ
+ウエダ,ノブエ
+ウエマツ,タカシ
+ウスイ,トモイチ
+ウスイ,マサヒロ
+ウチダ,カオリ
+ウツミ,マキコ
+ウメダ,ヒデノブ
+ウラノ,ヤスヒロ
+エガワ,タケシ
+エザキ,アツコ
+エトウ,ケンジ
+エノモト,ハルヒラ
+エノモト,アキラ
+エマ,アキコ
+エンド,ヒサノリ
+エンド,ヨシマサ
+オイタニ,ユキ
+オウ,ヨシヒロ
+オオイ,カオル
+オオエ,アキヒロ
+オキ,アヤ
+オオクボ,フミノリ
+オオサワ,イサオ
+オオサワ,ヒサシ
+イワキリ,ワタル
+オオスミ,モトヒコ
+オオタ,ミツヒロ
+オオタ,タカシ
+オオツカ,アキノリ
+オオツカ,コウイチ
+オオツカ,トモヒロ
+オオツキ,ジュン
+オナカ,ダイスケ
+オオニシ,ヨウコ
+オオボ,マサコ
+オマ,キヨシ
+オムラ,シノブ
+オムラ,クミ
+イシイ,ナオコ
+オオモリ,ヨシヒロ
+オオモリ,ヒロカズ
+オオモリ,ノブヒサ
+オオワダ,タカフミ
+オカイ,レイ
+オカザキ,トモミチ
+オカザキ,カズヒト
+イケダ,アキオ
+オカノ,エイイチ
+オカベ,ウララ
+オカモト,エツコ
+オガワ,ユウコ
+オガワ,アキラ
+オガワ,リョウイチ
+オガワ,キヨノ
+オオガワラ,クニハル
+オクハラ,サトシ
+オクヤマ,マコ
+オグラ,ヤスハル
+キタムラ,マリコ
+オザワ,シゲミツ
+オチ,モトヒロ
+オノ,タカシ
+オオノ,チカ
+オノデラ,ケンシ
+オバタ,カツヨシ
+オオヤマ,チズル
+オンタ,メグミ
+イワタ,タケシ
+カイブキ,ユミ
+カキモト,マチコ
+カザグチ,マサノリ
+カサザキ,ヨシヒロ
+カジ,サオリ
+カジムラ,ハルナ
+カシワイ,ノリコ
+カシワバラ,ナオヤ
+カタクラ,ヨシユキ
+カタヤマ,マイコ
+カツノ,タカノリ
+カド,チエコ
+カトウ,ノブユキ
+イソノ,ミドリ
+カトウ,タカシ
+カトウ,シホ
+カトウ,アキヨシ
+カトリ,ケンジ
+カナサカ,モトヒロ
+カナザワ,ミチコ
+カナヤマ,カナコ
+カネコ,ユキオ
+カネコ,トモコ
+カネダ,モトキ
+ガミ,ヒロシ
+カメオカ,マナミ
+カラサワ,アキテル
+カラシマ,キヨフミ
+カルイシ,イズミ
+カワイ,ナオユキ
+カワイ,タカオミ
+カワカミ,マサミ
+カワカミ,ケンタ
+カワズ,アツシ
+カワナカ,エイスケ
+カワノ,タカシ
+カワバタ,ナオヤ
+カワベ,シホ
+カワミ,シンジ
+カンバシ,ミチコ
+カンバラ,アツシ
+キシイ,ヤスエ
+キシダ,アキヒロ
+キタガワ,マサキ
+キタシロ,カズヨシ
+キタハラ,ヨシカズ
+キタムラ,ヨウイチ
+キド,チエコ
+キノシタ,ワカコ
+エダ,エイ
+キムラ,ナツコ
+キムラ,シゲル
+キムラ,アツシ
+キヨナガ,ノリミツ
+キヨミヤ,タカオ
+キリヤ,マサキ
+イトウ,トモヤ
+クシダ,キョウコ
+クジラオカ,ダイキ
+クニモト,タケトシ
+クヌギ,トオル
+クボ,アツシ
+クボサワ,マサキ
+クボタ,タカヒロ
+クメノ,ノブオ
+イシグロ,タロウ
+クラ,トモアキ
+クラサワ,フミハル
+クラタ,リョウコ
+クロカワ,タカヒサ
+クロス,マミコ
+クロヤナギ,サンシロウ
+イナトミ,ダイスケ
+コイケ,マユコ
+コイケ,ワタル
+コイシカワ,ヒデユキ
+コイズミ,テルミ
+コイズミ,ノリマサ
+コイデ,マドカ
+コズマ,マイコ
+コンノ,アツコ
+コヤマ,ダイキ
+コリ,タカヒデ
+カツカワ,セイイチロウ
+コガノ,アキフミ
+コシイ,トモヒロ
+コシマル,ダイトク
+コスギ,マサシ
+コセキ,マナブ
+コタニ,ヤイチ
+コダマ,センジ
+コニシ,タミコ
+コニシ,タダシ
+コバ,トモキ
+コバタケ,ケイイチ
+コバヤシ,アキコ
+コバヤシ,ヤスユキ
+コバヤシ,ヨウジ
+コバヤシ,マサヤ
+コバヤシ,ヨシオ
+ナカムラ,ヨウヘイ
+コバヤシ,ヒロコ
+コボリ,クニヒコ
+コマツ,ツヨシ
+コヤマ,ツギオ
+コンノ,タカコ
+サイトウ,トモエ
+サイトウ,アツコ
+サイトウ,ヒロユキ
+サイトウ,ヒロユキ
+イトウ,フキコ
+サカイ,チヒロ
+サカイ,キヨシ
+サカイ,ミネオ
+サカキバラ,トシキ
+サカグチ,イチロウ
+イワサキ,レイコ
+サカモト,ノリオ
+サカモト,ヨウジ
+サカモト,ジュンコ
+ササキ,カツトシ
+ササキ,コサク
+ササキ,ジュンコ
+ササキ,レナ
+イマハシ,ヒロミ
+サツミ,タカユキ
+サトウ,シンイチロウ
+サトウ,ユウジ
+サトウ,トモクニ
+サトウ,マリコ
+サトウ,コウキ
+サトウ,ユミコ
+サノ,シノ
+イシグロ,ヒデタカ
+サワヤナギ,ミツヒロ
+シオタ,ケイスケ
+シキ,ユウコ
+シゲオカ,レイ
+シゲタ,マモル
+シシド,リカ
+シナダ,ヨシコ
+イデ,ヨシフミ
+シバタ,ヨウコ
+シバタ,アリヒト
+シバタ,リョウ
+シバタ,シュウイチ
+シマズ,モナミ
+シマダ,ヨシサダ
+シマズ,ツネオ
+シミズ,ヒデタダ
+シミズ,クニエ
+シモハシ,ヒロノブ
+シモヤマ,カオリ
+ジョウ,タカシ
+イトウ,キョウコ
+スガタ,ノブエ
+スガヤ,アキヒロ
+スギタ,タカヒロ
+スギナカ,エイジ
+スギモト,フミオ
+スギヤマ,カズナ
+スギヤマ,ユウジ
+スギヤマ,トオル
+スゲノ,ゴウ
+スズキ,コウジ
+スズキ,マサヒロ
+スズキ,ヒデアキ
+スズキ,コウジ
+スズキ,ユウコ
+イワサキ,トモフミ
+スズキ,ヨウコ
+スズキ,コウジ
+イチカワ,リカ
+セキ,マサヨシ
+セキグチ,ケイコ
+セキヤ,ケンジ
+セコ,ケンタロウ
+セラ,ヒロユキ
+ソガ,ユカ
+ソガ,エイコ
+イトウ,アキラ
+カミヤ,カスミ
+ソンク,トシカズ
+タカキ,ユミコ
+タカギ,ヨシハル
+タカサキ,ヤスオ
+イケダ,ヒトシ
+タカシマ,ヤスヒト
+タカノ,ケンイチ
+タカノ,ヒデキ
+タカノ,マキコ
+タカノ,ナオヒロ
+タカノ,ヨシヒサ
+タカハシ,ヨシオ
+タカハシ,コウヘイ
+タカハシ,コウイチロウ
+タカハシ,ガク
+タカハシ,カナ
+タカハシ,タカノリ
+タカマツ,ヒロシ
+タガミ,ヒトシ
+タカミザワ,リュウキ
+タカラダ,シンイチ
+タキカワ,エミコ
+タキザワ,イワオ
+イイノ,ユミ
+タケイ,ヨシヒロ
+タケウチ,シンイチロウ
+タケウチ,タカキヨ
+タケキタ,マキ
+タケナカ,フミオ
+タケノウチ,リョウジ
+タケハナ,フミ
+イトウ,トクコ
+タケモト,マサル
+タケモト,カズヒコ
+タゴ,ススム
+タサカ,ヨシノブ
+タジマ,ヒロカズ
+タシロ,ヨシコ
+タシロ,ゴウ
+タタラ,サナエ
+タチバナ,アヤコ
+イチムラ,サトシ
+タテイシ,ユキ
+タテノ,ヒサシ
+タテノ,ダイゾ
+タナカ,ケンイチロ
+タナカ,マサヒロ
+タナカ,ナオコ
+タナカ,トオル
+タナカ,キョウコ
+タナカ,ヤスシ
+タナカ,ヨウコ
+ガミ,マコト
+タナミ,ツネオ
+タニ,マミ
+タニグチ,ユミコ
+ナカオカ,ユキ
+タニザワ,ヨシノリ
+タニダ,ノブユキ
+タニモト,アキミ
+タノオカ,ミエコ
+タバタ,マサキ
+タハラ,ミカコ
+タムラ,ユキヒロ
+チカザワ,ノリヒト
+チノ,タカノブ
+チハラ,ヒサノ
+チュウ,サヤカ
+チュウマ,ケイイチ
+ツカダ,ヒデタケ
+ツカモト,ノブタカ
+ツカモト,ユタカ
+ツダ,トモノリ
+ツチダ,マサオ
+ツチヤ,セレナ
+ツチヤ,アキ
+ツネキ,クミコ
+デミセ,タカシ
+テラオカ,カナコ
+イズミ,アツシ
+トウ,セイジ
+トジ,マサコ
+トシオカ,ミスズ
+トダ,ハナエ
+トビナイ,アキコ
+トモイ,ミネキ
+トヤマ,アイコ
+トヨシマ,コウイチ
+トヨダ,タクヤ
+トヨハマ,トシオ
+ナガエ,ケンジ
+ナガエ,シホ
+ナカオ,トモヒデ
+ナカオ,ケンタロウ
+ナカジマ,トモコ
+ナカジマ,ヨシタカ
+ナカジマ,ツヨシ
+ナガシマ,マリ
+ナガセ,コウイチロウ
+ナカゾノ,ジュンコ
+ナカタ,アサコ
+ナガタ,ヨシヒコ
+ナガト,マリコ
+ナカニシ,ゲン
+ナカノ,ヨシコ
+ナガノ,ヒロキ
+ナガノ,タカシ
+ナガノ,テツヤ
+ナガハラ,ヨシユキ
+ナカヒガシ,メグミ
+ナカムラ,キフミ
+イヌズカ,トモカズ
+ナカムラ,フミキ
+ナカムラ,ヒトシ
+ナカムラ,ミホ
+ナカムラ,マサカツ
+ナカヤ,ユタカ
+ナカヤ,ケイ
+ナラサキ,ノブナリ
+ナリタ,リュウタ
+ナリタ,ヨシコ
+ニイダ,トモアキ
+ニシカワ,イワオ
+ニシムラ,チギリ
+ニシムラ,タイイチ
+ニシムラ,カツミ
+ニシヤマ,トオル
+ニシヤマ,ノリマサ
+ニムラ,ヒロユキ
+ニワ,ユキエ
+ヌマタ,ナオコ
+ヌマタ,タカヒロ
+ヌマダ,ツヨシ
+ネギシ,イサオ
+ノザキ,タカナオ
+ノガミ,ユカ
+ノダ,タツヤ
+ノハラ,ツヨシ
+ノブハラ,ユウコ
+ハガ,マサト
+ハギワラ,タダカズ
+ハギワラ,カツラ
+ハシズメ,タカシ
+ハシモト,タカユキ
+ハシモト,ソヨカ
+ハシモト,アキラ
+ハセガワ,マコト
+ハセガワ,マユミ
+ハセガワ,カズタカ
+ハセベ,ヨウヘイ
+ハタ,マサヒロ
+ハタケヤマ,ハズキ
+ハタナカ,イクゾウ
+ハタノ,アツヨ
+ハットリ,アキヨシ
+ハナザキ,タツヤ
+ハナブサ,オサム
+ハナムラ,ゴウ
+ババ,アキコ
+ハマサキ,ヨシユキ
+ハマダ,ツグキ
+ハヤシ,マナブ
+ハヤシ,タケヒロ
+ハヤシ,マコト
+ハヤシ,リョウ
+ハラ,マサヒデ
+ハラシマ,オサム
+ハラダ,ナオヤ
+ハラダ,リエ
+ハルタニ,タカヒロ
+ヒガシノ,マキ
+ヒガシヤマ,ユウ
+ヒグチ,シゲミツ
+イシハラ,タケヨシ
+ヒジカタ,ヒロアキ
+ヒビ,タツト
+ヒョウエ,トモヒロ
+ヒライ,ヒデノリ
+ヒラカワ,ジュンヤ
+ヒラク,シゲキ
+ヒラサワ,ケンジ
+イノハラ,タクヒロ
+ヒラタ,クニツグ
+ヒラヌマ,カズオ
+ヒラノ,タロウ
+ヒラヤマ,シゲル
+ヒロウチ,レイ
+ヒロオカ,ユカコ
+ヒロカワ,ケンタロウ
+フクイ,マサキ
+フクダ,タカヒロ
+フクダ,ススム
+コリ,キョウコ
+フジイ,ジュンイチ
+フジイ,ダイゾ
+イデ,チエコ
+フジイ,ヒロカズ
+フジオ,タカユキ
+フジオカ,ケンイチ
+フジクラ,キクコ
+フジサワ,コウジ
+フジサワ,ケンタロウ
+フジシゲ,ケイイチ
+フジタ,ケンイチ
+イノウエ,ノリオ
+フジト,ユカ
+フジナガ,ナガマサ
+フジワラ,トモハル
+フジワラ,トシキ
+フセ,カオル
+フルカワ,マサミツ
+フルカワ,ユウイチ
+イシイ,ダイスケ
+フルサワ,ヒロキ
+フルタ,コウイチ
+フルタ,ヨシアキ
+フルタ,ナオコ
+フワ,ミオ
+ホシ,マユミ
+ホソダ,ケイスケ
+イシイ,ヒロミチ
+ホリカワ,ナオコ
+ホリコシ,ヒロアキ
+ホンダ,ノボル
+マエカワ,ルミ
+マエダ,ミナコ
+マエダ,タロウ
+マエダ,タカシ
+マエノ,サトシ
+マキ,ナミ
+マキゾノ,サヤカ
+マキタ,カツユキ
+マキノ,ムネキ
+マサキ,ユズル
+マスザキ,ヨシコ
+マスダ,ユウスケ
+マスブチ,カズヒロ
+マチダ,ミユキ
+マツウラ,エリコ
+マツカワ,モトヨ
+マツザキ,ダイスケ
+マツザキ,マキ
+マツシタ,コズエ
+マツシマ,ヒデオ
+マツダ,シゲユキ
+マツダ,タカシ
+マツダ,アユミ
+マツナガ,タカシ
+マツナミ,コウジ
+マツバラ,ノリフミ
+マツバラ,サトミ
+マツミヤ,ケンイチ
+マツモト,マコト
+マツモト,カズヒデ
+マツモト,タケフミ
+マツモト,ユウスケ
+マツモト,ヒロコ
+マツヤマ,チズコ
+マナベ,リョウスケ
+マルヤマ,マサキ
+マルヤマ,ヒロキ
+ミウラ,ヤスミツ
+ミクニ,フミナリ
+ミズカミ,ヒデキ
+ミツハシ,ノリヨシ
+ミナト,ヒロユキ
+ミナミ,タカユキ
+ミフネ,ヨシヒロ
+ミヤガワ,マサシ
+ミヤサカ,シノブ
+ミヤザワ,ジュン
+ムラオ,マサコ
+ムラカミ,マサミ
+ムラタ,ケンスケ
+ムラマツ,ノブユキ
+ムラヤマ,トシオ
+ムラヤマ,カズアキ
+メグロ,トモヒコ
+モチズキ,コウイチ
+モトヨシ,マコト
+モモズ,ユキコ
+モリ,マサキ
+モリ,ヤスタカ
+モリ,ミホ
+モリ,タマヨ
+モリタ,ケンジ
+モリタ,ケンイチロ
+モリノ,ミチオ
+モリモト,タカシ
+モリモト,ユキコ
+モリヤマ,カズユキ
+モリワキ,フミアキ
+ヤギ,ケイスケ
+ヤギ,ユタカ
+ヤクシジ,オサム
+ヤコ,ツヨシ
+ヤザワ,ケンイチ
+ヤスマ,ケンジロウ
+ヤトゴ,アイ
+ガン,ハナエ
+ヤナブ,サトシ
+ヤノ,シュウコウ
+ヤブタ,ヒロシ
+ヤマウチ,ユキコ
+ヤマウチ,ミツハル
+ヤマグチ,リョウ
+ヤマグチ,ヤスマサ
+ヤマグチ,ナオコ
+ジダイ,ヒロアキ
+ヤマグチ,エイタ
+ヤマグチ,セイコ
+ヤマグチ,コウジ
+ヤマサキ,ヤスヒロ
+ヤマサキ,ジュン
+ヤマザキ,アツヤ
+ヤマシタ,カズヒロ
+ヤマシタ,マサト
+ヤマシタ,タクヤ
+ヤマダ,タカシ
+ヤマダ,ヤスオ
+ヤマダ,タツジ
+ヤマダ,ヤスヒサ
+ヤマダ,キョウコ
+ヤマトヤ,マリコ
+ヤマナカ,ヒフミ
+ヤマナシ,ジュン
+ヤマニシ,ナオキ
+ヤマモト,チカ
+ヤマモト,カズヤ
+ヤマモト,リカ
+ヤマモト,マナミ
+ヤマモト,ヨウスケ
+ヤマモト,タツヤ
+ヨコタ,トモフミ
+ヨコタ,シゲユキ
+ヨコタ,カヨ
+ヨコテ,セイイチロウ
+ヨシオカ,タカシ
+ヨシオカ,アツシ
+ヨシオカ,ヒデト
+ヨシカワ,タクヤ
+ヨシカワ,リョウイチ
+ヨシダ,マサユキ
+ヨシダ,ジュンコ
+ヨシダ,アカネ
+ヨシノ,ミノル
+ヨシミ,マサユキ
+ヨシムラ,クニヒコ
+ヨダ,ノリヒサ
+ヨネザワ,アラタ
+リュウト,ケイ
+ワカツキ,シンスケ
+ワキザカ,シンヤ
+ワキタ,ユウスケ
+ワキタ,トオル
+ワキモト,ショウコ
+ワダ,タカシ
+ワダ,アキコ
+ワタセ,ダイ
+ワタナベ,ヤスハル
+ワタナベ,ソウ
+ワタナベ,ヒロユキ
+ワタナベ,ナオコ
+ワタナベ,ヨシタカ
+キノシタ,ユウコ
+アオキ,ヨシヒコ
+ヤナギハラ,キヨシ
+アマコ,ヨシオ
+コンドウ,シオリ
+シラカワ,ヨウコ
+コヤマ,タカユキ
+コンド,マコト
+モリ,トシオ
+オオノ,ヒデヨシ
+マノ,アキ
+ナガノ,スミコ
+サトウ,エリ
+ミヤザキ,アヤ
+オガワ,アキラ
+キムラ,ヒデトシ
+ヨコオ,ケンジ
+ウチムラ,チナツ
+ゴシマ,リュウイチ
+サエキ,ミキ
+ナカジマ,ヒロミ
+イワミ,ミホ
+エゲ,レイ
+ウメゾノ,カオリ
+サクライ,マミ
+ワタナベ,マヤ
+ナガイ,ショウゴ
+オソガミ,アツヒコ
+クロカワ,マサヨシ
+タカスカ,ヨシカズ
+オバタ,マサヒコ
+シライ,ユタカ
+マツウラ,マコト
+ナカザワ,ヨシヒサ
+マツイ,ユウイチ
+コセキ,コウタロウ
+ツカダ,ノリユキ
+テラクラ,ヨウジ
+ニヘイ,キヨシ
+カワムラ,タカユキ
+ヒゴ,マサユキ
+コバヤシ,キヨノリ
+フルタ,タカユキ
+モチズキ,ヒロユキ
+オカダ,タツシ
+サイトウ,ユキコ
+カワハラ,ユキ
+スズカケ,タクヤ
+イトウ,アツコ
+イシズカ,ヒサト
+タベイ,ヤスマサ
+ゴトウ,アキヒロ
+シモサカ,トオル
+カワイ,カズマ
+ワタナベ,ヨシカズ
+スズキ,イツフミ
+マツヤマ,ヒロシ
+ハラ,リョウヘイ
+ツバキ,セイイチロウ
+ヤスイ,タカユキ
+コバヤシ,ケンタロウ
+オカベ,サユリ
+オガワ,ショウコ
+ヤマグチ,サトシ
+フジカワ,ケンジ
+イナガキ,ヒデトシ
+チゾ,トシヒコ
+ハナダ,ジュンヤ
+オオコ,モトアキ
+オオクラ,スミヒロ
+マツオ,ツトム
+エンド,マリコ
+ホリベ,モトジ
+カツ,テツヒロ
+オタカ,マサノブ
+タカハシ,トシヤ
+ムラヤマ,ユウコ
+ヨシオカ,サユリ
+カイ,ヨシエ
+タカハシ,ワカコ
+グンゲ,タマヨ
+ヤノ,タイ
+ハヤシ,アヤコ
+ミウラ,マナミ
+アオヤギ,ヒロタカ
+タカダ,トクヒコ
+ヌマタ,ケンジ
+カタオカ,カオル
+シミズ,サチコ
+シミズ,ユウコ
+マツムラ,タロウ
+オリト,サトシ
+コタニ,フミヒコ
+オオハシ,リョウ
+カンセキ,ケイコ
+キタムラ,コウタロウ
+サクタ,シンイチロウ
+ヨシダ,タカシ
+コハラ,トオル
+イハラ,ケイコ
+ツジウラ,カズヒロ
+ナカムラ,ツヨシ
+アオキ,アキコ
+アオヤマ,ダイスケ
+アカイケ,ヒロミ
+アカツ,ジュン
+アキハラ,シュンスケ
+アキモト,マリ
+アサクラ,タカシ
+アサノ,リョウ
+アビル,アイコ
+アベ,ノリタカ
+アベ,ユキ
+アベ,タクヤ
+アベカワ,トモコ
+アライ,ノリヒト
+アライ,マサトシ
+アラカワ,ヒロキ
+アラキ,タカアキ
+アラキ,ヒロシ
+アリエ,マサフミ
+アンドウ,ケンタロウ
+イイダ,ジュンイチ
+イケダ,シュンスケ
+イケダ,タケシ
+イケダ,ナオキ
+イシイ,ノブヤス
+イシイ,ハヤト
+イシガキ,ミヤコ
+イシカワ,ユキ
+イシカワ,ユミコ
+イシザワ,テルキ
+イシズミ,シュウヘイ
+イシゼキ,ダイスケ
+イシダ,ユウジ
+イシダ,レイコ
+イシダ,ヨシタカ
+イシヅ,タカシ
+イシハラ,フミナオ
+イシマル,シュウイチ
+イタニ,タカシ
+イタハラ,ヒサツグ
+イチマ,ナオト
+イトウ,ユウコ
+イトウ,ユウイチロウ
+イトウ,ヒロカズ
+イトウ,アキコ
+イトウ,シズコ
+イトウ,オキ
+イトウ,ツヨシ
+イトウ,ヒロユキ
+イナガキ,シゲキ
+イナミ,レオ
+イノ,ミキ
+イノウエ,マサキ
+イノウエ,タカシ
+イマオ,ジュンペイ
+イマダ,ケンイチ
+イワカミ,ユウスケ
+イワクラ,ユタカ
+イワザキ,ヒロタカ
+イワタ,コウジ
+イワモト,ヒロキ
+ウエスギ,ジュンコ
+ウエダ,マサヤ
+ウエタカ,ショウジ
+ウエチ,マリ
+ウエノ,ケンジ
+ヒリュウ,コウジ
+ウエムラ,マサヒロ
+ウチダ,アヤ
+ウチダ,キイチ
+ウチハシ,ゴウ
+ウチヤマ,レミ
+ウメハラ,ナツコ
+ウリタニ,マスミ
+オイカワ,ケンタロウ
+オオイ,トモユキ
+オオイ,カヨコ
+オオイシ,マサヒコ
+オウチ,ケンシン
+オオエ,ダイスケ
+オオオカ,マサヒロ
+オオカワ,マサヤ
+オオクボ,リョウ
+オオクマ,ノリヒロ
+オオタ,ノブヒロ
+オオタニ,シズカ
+オオツ,チエ
+オオツ,テツヤ
+オオツカ,ジュン
+オオツカ,テルヒロ
+オオツカ,アキラ
+オオツカ,ケイ
+オオツボ,マサミツ
+オオハタ,アキコ
+オオマサ,タツオ
+オオヤ,ケイジ
+オオヤマ,タイスケ
+オカ,タロウ
+オカジマ,ミツノブ
+オカダ,タツヤ
+オカダ,チヒロ
+オカダ,ノリヨシ
+オカダ,サトシ
+オカダ,ルミ
+オカハタ,タツヤ
+オカベ,ヤスマサ
+オカモト,ヒサシ
+オカモト,ヨシノリ
+オカモト,ヒデキ
+オガワ,ケイコ
+オガワ,ダイスケ
+オクダ,コウヘイ
+オクト,サチ
+オクナカ,セイシ
+オグラ,タロウ
+オザキ,ノブアキ
+オサダ,ヒロシ
+オザワ,ヒロミ
+オジマ,マコト
+オジマ,マサシ
+オバラ,ユリコ
+カイトウ,タカシ
+カキクラ,マサユキ
+カキモト,テツヤ
+カク,コウジ
+カゲヤマ,タダヒサ
+カジナガ,ユタカ
+カシマ,ヨシヒコ
+カタオカ,タカヒロ
+カタギリ,ナツコ
+カタヤマ,マヒト
+カド,ユミコ
+カトウ,リツコ
+カトウ,リョウ
+カトウ,フミ
+カトウ,レイコ
+カトウ,スミレ
+カトウ,ヒロシ
+カトウ,テツヤ
+カトウ,サトシ
+カトウ,ワタル
+カトウ,コウイチロウ
+カナモト,アキコ
+カナヤ,シンヤ
+カネコ,ヨシカズ
+カネモリ,ユウ
+カワ,ヨシカズ
+カワイ,コウジ
+カワイ,ハルコ
+カワカミ,マサオミ
+カワグチ,チカコ
+カワグチ,シュンスケ
+カワグチ,トシヒコ
+カワグチ,ヒロキ
+カワグチ,ススム
+カワゴイシ,タカユキ
+カワシマ,ゴロウ
+カワナ,タケシ
+カワノベ,ユキコ
+カンノ,ヤスノブ
+キクチ,ノゾミ
+キシ,レイコ
+キシモト,タケシ
+キシロ,ヤスシ
+キタオ,シン
+キタハマ,タケノリ
+キタムラ,ヨシノリ
+キドコロ,アツシ
+キムラ,コウイチ
+キムラ,マコト
+キムラ,アイコ
+キリアケ,エイサク
+クキモト,トシキ
+クボ,クニユキ
+クボタ,マユミ
+クマクラ,リカ
+クマダ,ユウスケ
+クマモト,ヒロアキ
+クメ,マサヒト
+クラヤ,コウヘイ
+クリワキ,マキコ
+クワバラ,ユカリ
+ゴウ,テルオ
+コイケ,サトル
+コイケ,レオナ
+コサカ,ムツミ
+コウダ,アヤコ
+コガ,コウイチ
+コクボ,モモエ
+コクラ,リエ
+コゴ,リュウジ
+コサキ,リョウスケ
+コジマ,ヒロコ
+コデラ,カズト
+ゴトウ,ダイスケ
+ゴトウ,ケイコ
+ゴトウ,カズノリ
+コハタ,チヨミ
+コバヤシ,トオル
+コバヤシ,ナホコ
+コマツバラ,ミホ
+コミヤ,トクコ
+コミヤマ,マサヨシ
+コヤナギ,シンヤ
+コヤマ,タカコ
+コンド,ノブカ
+コンノ,ノブホ
+サイトウ,ヒロヒデ
+サイトウ,シゲル
+サイトウ,ケンイチ
+サイトウ,ケンゴ
+サイトウ,アイ
+サカイ,リョウスケ
+サカノ,ユキコ
+サカモト,ワタル
+サカモト,チカラ
+サクライ,マサフミ
+ササキ,ヨシコ
+ササキ,タケユキ
+ササキ,ユキオ
+ササキ,サキ
+ササキ,ヤスヒロ
+ササノ,アカギ
+サダモト,ゲンコウ
+サトウ,ヒロキ
+サトウ,ユウイチロ
+サトウ,タカシ
+サトウ,タカヒロ
+サトウ,トモコ
+サナダ,マサユキ
+サネシゲ,トシノブ
+サノ,カズヒコ
+シゲトミ,サトコ
+シノハラ,モリヒコ
+シバカワ,ケンジロウ
+シバノ,リョウ
+シマダ,タケシ
+シマダ,タツロウ
+シミズ,タカオ
+シムラ,タカノリ
+シムラ,タケシ
+シモカワ,トモヤ
+シモフジ,ノブヒコ
+シモヤマ,ヒデカズ
+ショウ,ヒロユキ
+シライ,リエ
+シラガ,コウジ
+シラカワ,ヤスコ
+シラス,ミユキ
+シワ,ケンイチ
+シンケ,ナイシン
+シンドウ,トモカズ
+スガハラ,ヒロカズ
+スギウチ,ショウタロウ
+スギウラ,チアキ
+スギサワ,ヨウコ
+スギハラ,ヒロノブ
+スギモト,テルユキ
+スギヤマ,タツヤ
+スズキ,マサユキ
+スズキ,シンイチ
+スズキ,タイスケ
+スズキ,マコト
+スズキ,マサヤ
+スズキ,リュウタ
+スズキ,ノリコ
+スズキ,ミカコ
+スダ,リンヤ
+スト,テツヤ
+スミダ,アキヒロ
+セキ,アツナリ
+セキ,カズキ
+センダ,ユキコ
+ソメミヤ,チエ
+ソヤ,ヒロキ
+ダイマル,アキラ
+タカオ,ハナエ
+タカギ,カヨ
+タカザワ,ダン
+タカセ,ケンジ
+タカネ,サトシ
+タカハシ,ジュンコ
+タカハシ,タカシ
+タカハシ,ヒロナオ
+タカハシ,ヒロユキ
+タカハシ,マナブ
+タカヤマ,ユキオ
+タキウチ,リエ
+タキカワ,アキラ
+タキグチ,ケンタロウ
+タキザワ,サトシ
+タキザワ,コウジロウ
+タキザワ,チヒロ
+タキタ,アキラ
+タグチ,ケンタロウ
+タケイ,クニオ
+タケウチ,シンゴ
+タケダ,ユウイチロ
+タケハラ,ヨウコ
+タテノ,ナオタカ
+タナカ,ダイスケ
+タナカ,ススム
+タナカ,アキラ
+タナカ,ナオ
+タナカ,セイジ
+タナカ,トオル
+タナカ,ナオコ
+タナカ,エリコ
+タナカ,ミツエ
+タナベ,シンイチロウ
+タニ,チカヨ
+タニカワ,ヨシツグ
+タニナカ,ヒロタカ
+タニモト,チズル
+タヌマ,フミヒコ
+タバタ,ジュン
+タバタ,コ
+タバタ,ヨウスケ
+タバタ,ケイタロウ
+タムラ,コウイチ
+タルキ,ユキ
+タンジ,キヨノリ
+チバ,カズユキ
+チバ,ヒロカズ
+ツカダ,リエ
+ツキモト,アツシ
+ツジ,ヒロシ
+ツダ,キミヒコ
+ツチモト,シンゴ
+ツツミ,トモコ
+ツツミ,ジュンイチ
+ツボタ,マサヤ
+テイ,ワカミ
+テラカド,ミツアキ
+ミノウラ,マナブ
+テルイ,マリ
+ドイ,コウタロウ
+トウ,マキコ
+トウカイリン,ユミ
+ドウメン,エツコ
+トウカイ,カオリ
+トクナガ,キミタカ
+トクヤマ,タイガ
+トシマ,ミワコ
+ドウチ,トモユキ
+トノイ,アキコ
+トノムラ,リエコ
+トミタ,クニオ
+トモノ,ヒデカズ
+トリイ,マモル
+ナガイ,トモノリ
+ナカガワ,イクマ
+ナカガワ,ヨシノリ
+ナカガワ,ダイスケ
+ナカザト,モトノブ
+ナカシマ,チカコ
+ナガタ,ユカ
+ナカノ,カナ
+ナガノ,リョウタ
+ナガノ,リョウ
+ナカムラ,ヨウコ
+ナカムラ,サトシ
+ナカムラ,タケシ
+ナカムラ,テツヤ
+ナカモリ,トクコ
+ナカヤマ,トモヒロ
+ナルセ,タカシ
+ナンゴ,マサキ
+ナンバ,ケン
+ナンバ,コウジ
+ニイミ,コウヘイ
+ニシオ,ヨウジ
+ニシオカ,シンイチ
+ニシオカ,トモコ
+ニシサカ,マミ
+ニシザキ,タクマ
+ニシザワ,ナオキ
+ニシノ,サトシ
+ヌマタキ,モトキ
+ネギシ,リカ
+ネヤマ,タケシ
+ノダ,チアキ
+ノグチ,ノリコ
+ノグチ,ヨウスケ
+ノグチ,ケイジ
+ノグチ,シンキチ
+ノザキ,ダイスケ
+ノダ,ヒロコ
+ノボリ,ヨシヒロ
+ノムラ,シュウイチ
+ノムラ,ミサコ
+ノムラ,ケンジ
+ハギワラ,ショウタロウ
+ハシグチ,トシヒロ
+ハシモト,タカフミ
+マキ,カズト
+ハセガワ,タケオ
+ハセガワ,オサム
+ハダ,アヤコ
+ハットリ,ユウイチ
+ハットリ,マユコ
+ババ,マサキ
+ババ,ケンジ
+ババ,シンイチロウ
+ババ,リカコ
+ハマダ,クミコ
+ハマダ,ダイジ
+ハマダ,リサ
+ハマダ,フミヒロ
+ハマノ,マサユキ
+ハヤシ,アキノリ
+ヒグチ,コウキ
+ヒサツネ,マコト
+ヒシヌマ,アツシ
+ビョウドウ,ヒロコ
+ヒライ,マサカズ
+ヒラオカ,ミキ
+ヒラカワ,トモヒロ
+ヒラサワ,タクジ
+ヒラシマ,ジロウ
+ヒラタ,マミコ
+ヒラノ,ヤヨイ
+ヒルマ,ユウイチ
+ヒロセ,ヒデキ
+ヒロセ,カツヨシ
+ヒロタ,ヒロシ
+フクイ,アズサ
+フクダ,タカシ
+フクバ,カナメ
+フクムラ,ユミコ
+フクモト,ダイスケ
+フジイ,ケン
+フジイ,ユキ
+フジイ,ミワ
+フジエダ,ヒサカズ
+フジタ,ヒデカズ
+フジタ,ユキコ
+フジツ,タケシ
+フジノ,タカホ
+フジモト,サトコ
+フジワラ,タクト
+フジワラ,リナ
+フジワラ,クミ
+フルカワ,リョウ
+ホ,マサノリ
+ホシノ,ムネトモ
+ホソカワ,テルヒコ
+ホリカワ,シュウジ
+ホンゴウ,ヨシアキ
+マエダ,アツシ
+マオカ,ツトム
+マスブチ,ツヨシ
+マスミツ,キョウヘイ
+マツイ,ケンタロウ
+マツオ,ヒデノリ
+マツオカ,キョウスケ
+マツオカ,サチコ
+マツダ,リョウ
+マツバラ,アキコ
+ワタナベ,ダイスケ
+マツヤマ,タケシ
+マツヤマ,ミツテル
+マツヤマ,ヨシキ
+マトバ,トモヒロ
+ミウラ,マサキ
+ミツギ,タケシ
+ミト,シュウイチ
+ミノウラ,ヤスヒサ
+ミヤ,アキラ
+ミヤケ,ヒデマサ
+ミヤシタ,アイ
+ミヤシタ,ユキオ
+ミヤタ,アキヒロ
+ミヤモト,タツヤ
+ミヤモト,クニコ
+ミヤモト,マサヒロ
+ムクダ,トモアリ
+ムシカ,ユキコ
+ムトウ,アキラ
+ムラカミ,ユカ
+ムラカミ,カナコ
+ムラカミ,タツヒロ
+ムラカミ,ヒデツグ
+ムラタニ,モトヒロ
+ムラマツ,マサコ
+ムラヤマ,ヨシアキ
+モチズキ,トシヒコ
+モリグチ,ミサト
+モリタ,マミ
+モリバヤシ,コウメイ
+モロト,ヒロタツ
+ヤエガシ,ヒデユキ
+ヤオヤマ,ゲンタ
+ヤガミ,ヨシヒロ
+ヤギ,ケイジ
+ヤグラ,シンジ
+ヤスコチ,ノボル
+ヤスダ,ユウスケ
+ヤスダ,ノリコ
+ヤマグチ,ユウスケ
+ヤマグチ,ショウシン
+ヤマダ,ワイケン
+ヤマダ,ミズホ
+ヤマダ,アキラ
+ヤマミチ,カツユキ
+ヤマモト,ジュンコ
+ヤマモト,ヒロミ
+ユキ,マミコ
+ユミバ,ケイイチ
+ユラ,ケンイチ
+ヨコスカ,ハルノブ
+ヨコタ,アイ
+ヨコヤマ,アヤコ
+ヨシオカ,ナオコ
+ヨシオカ,カズヒロ
+ヨシザワ,ユウコ
+ヨシダ,ミツル
+ヨシダ,アカリ
+ヨシダ,タカシ
+ヨシノ,カズミ
+ヨシムラ,ユウコ
+リュウ,エイジ
+ロク,アキコ
+サカモト,ケイコ
+ワタナベ,レイナ
+ワタナベ,ユフコ
+ワタナベ,ユウ
+ワタナベ,タカコ
+ワタナベ,ヤヨイ
+ワラビ,ヒロノリ
+ノザワ,ユウコ
+クボ,ヤスコ
+ヨシモト,コ
+ヤマモト,タカシ
+ヤマモト,タカシ
+ヒロサワ,リエ
+ミヒラ,リョウヘイ
+オオノ,ヒロユキ
+オダ,カズヒコ
+オオバタケ,ミホコ
+カドエ,アイ
+ニシダ,トヨヒロ
+マツモト,ヨシアキ
+ミギタ,マナ
+ミヤモリ,ミオ
+ヤマシタ,マドカ
+ヤマダ,シンゴ
+ノリトミ,チエ
+イケダ,ユウスケ
+モリタ,リョウジ
+タケウチ,リョウ
+ミタ,ヨシノリ
+イヌイ,ケン
+トウ,ノリユキ
+マキノ,マリ
+ナツメ,シンヤ
+オノデラ,クニヒロ
+オオタ,ミキコ
+ウルシサコ,リツコ
+サカキバラ,シゲノリ
+アオキ,エイスケ
+アオキ,ナオト
+アオキ,ユウコ
+アカガワ,モトコ
+アカツカ,カズヒト
+アカホリ,ケイジロウ
+アキヤマ,カズヒロ
+アサイ,テルミ
+アサイ,シンペイ
+アサオカ,ケンジ
+アサヌマ,アヤ
+アソ,ナオフミ
+アタケ,トシキ
+アダチ,シンゴ
+アベ,タカミチ
+アベ,ノブヤス
+アベ,ユキエ
+アライ,ツヨシ
+アリマ,トモコ
+イイズカ,ダイスケ
+イガラシ,ユタカ
+イケダ,コズエ
+イケダ,ケンタロウ
+イケハタ,ヒロキ
+イザワ,チハル
+イシイ,ヤスシ
+イシカワ,リョウコ
+イシグロ,アキヒロ
+イシダ,コウタロウ
+イシダ,タツオ
+イシバシ,トシユキ
+イシハラ,タカヒロ
+イシモト,マユコ
+イソハタ,アサコ
+イタミ,タカアキ
+イチカワ,ナルタカ
+イッシキ,タツヤ
+イデ,ナルミ
+イデ,コウジ
+イトウ,マユミ
+イトウ,ジュンペイ
+イトウ,マサオ
+イトウ,ナツコ
+イトウ,マイ
+イノウエ,マコト
+イノウエ,ヨウスケ
+イノウエ,ナオキ
+イノウエ,カツキ
+イノクチ,ノリユキ
+イマイ,リホ
+イマキュウレイ,レイコ
+イマゼキ,クミコ
+イマムラ,マスミ
+イマムラ,ケンイチロ
+イワイ,サトル
+イワイ,タカシ
+イワサキ,トモコ
+イワセ,ススム
+イワタ,コウジ
+イワデ,ケンタロウ
+イワムラ,マサヒト
+ウエダ,フミオ
+ウエノ,マサフミ
+ウエノ,シンジ
+ウカイ,ヒロキ
+ウサミ,マリコ
+ウチウミ,リエコ
+ウチヤマ,マサフミ
+ウラハラ,タイジ
+エギ,タカヒコ
+エジリ,ヒロシ
+エノキド,ヨリコ
+エモリ,イツキ
+エンド,ハジメ
+オオイ,ナツコ
+オオイケ,トモカズ
+オフラ,ダイスケ
+オオカワ,ヨシコ
+オキタ,ユキノリ
+オオサワ,マサユキ
+オオタ,トモコ
+オオタ,アキナオ
+オオタ,ヨウヘイ
+オオタニ,タカアキ
+オオタニ,ユキヒデ
+オオツカ,モトイ
+オオツカ,ヨシノリ
+オオツカ,ダイジロウ
+オオツキ,サトル
+オド,タクミ
+オトンベ,タツヤ
+オノ,マサヒコ
+オノ,ヒロシ
+オオハシ,タツヤ
+オオハタ,アキラ
+オオミチ,ミホ
+オオヤマ,ミキヒト
+オカザキ,タツフミ
+オカジマ,ミナコ
+オカダ,カズヒロ
+オカダ,タクマ
+オカモト,タケシ
+オカモト,ダイスケ
+オガワ,ジュン
+オギタ,トシフミ
+オククボ,タカシ
+オチアイ,トモノリ
+オマタ,ケン
+カサ,ユキコ
+カシワ,ダイスケ
+カトウ,コウヘイ
+カトウ,タダシ
+カナイ,ケンイチ
+カナヤマ,ダイスケ
+カネコ,フミヤ
+カネツキ,ジュンヤ
+カネマル,アズサ
+カベウチ,ナオト
+カミムラ,カオリ
+カミヤ,サチコ
+カミヤ,コウイチロウ
+カワイ,ユミコ
+カワイ,ヒロシ
+カワカミ,ライ
+カワサキ,ヤスヒロ
+カワサキ,テツアキ
+カワサキ,ヒロキ
+カワシマ,タカオ
+カワタ,ケイイチ
+カワマタ,コウタ
+カワモト,ケイスケ
+キシモト,アキヨシ
+キシロ,ケイタ
+キダ,エイスケ
+キタオカ,ジュン
+キタノ,マサヒコ
+キタハラ,ソウヘイ
+キタムラ,タロウ
+キタモト,ミホ
+キムラ,タケヒロ
+キムラ,フミト
+キモト,ケイコ
+キン,ヨシユキ
+クシヤマ,アキヨ
+クドウ,トモノリ
+クドウ,シュンスケ
+クメウチ,ケンジ
+クラシゲ,コウジ
+クラチ,カズヒロ
+クラナカ,タケシ
+クリハラ,ヨウスケ
+クロキ,マサキ
+クロサカ,ヨウコ
+クワハラ,シノ
+ユエ,カツノリ
+コイズミ,シンヤ
+コウジマ,ヨシヒコ
+コウダ,カツユキ
+コンノ,ケンイチ
+コガ,ショウイチ
+コガ,タクジ
+コクブン,チカコ
+コサカ,アキコ
+コッテ,マイコ
+ハタナカ,タカシ
+コバヤシ,ユカ
+コバヤシ,ヒデキ
+コバヤシ,アンナ
+コバヤシ,ノリアキ
+コバヤシ,キミヒコ
+コマツ,シンスケ
+コマツバラ,フミ
+コメダニ,テツロウ
+サイキ,アツシ
+サイトウ,ケンイチ
+サカイ,ヒロアキ
+サカグチ,タロウ
+サクマ,ユキコ
+サコ,マヤ
+ササイ,ナオヤ
+ササオ,カズキミ
+ササキ,ハナコ
+ササキ,マサオ
+サトウ,カツヒコ
+サトウ,カズユキ
+サトウ,ヒロヒト
+サトウ,マサキ
+サトウ,ミキ
+サトウ,マサコ
+サトウ,ミキ
+サトウ,ノブユキ
+サトウ,リョウサク
+サノ,マサコ
+サノ,ナギサ
+サハラ,タカフミ
+サルヤマ,タカユキ
+サワグチ,アヤ
+シイ,エミ
+シオザキ,ヒデアキ
+シオダ,エイジ
+シキ,マサル
+シダ,ヨシヒロ
+シノハラ,ヒトシ
+シノハラ,ヒサシ
+シブサワ,ヨウスケ
+シマダ,リュウタ
+シマダ,ミホコ
+シマダ,ケンタロウ
+シミズ,タツオ
+シミズ,ワタル
+シミズ,トモコ
+シミズ,サトコ
+シミズ,ジュンイチ
+シミズ,ジロウ
+シモ,キヌエ
+シモザキ,タツヒコ
+シモジマ,エイイチロウ
+シモツ,タカヒロ
+シモノ,アキヒコ
+シモヤ,ヨリコ
+シラス,シンゴ
+スギウラ,マサノブ
+スギウラ,トシロウ
+スズキ,トモミ
+スズキ,エリコ
+スズキ,ユウスケ
+スズキ,ヨシノリ
+スズキ,ヨシキ
+スト,サトシ
+スナダ,サトシ
+スヤマ,ダイスケ
+セオ,カオリ
+セキ,コウヘイ
+セキネ,ミツル
+セキバ,マキ
+セト,ケイジ
+センゴク,ノリヒサ
+センダ,ユウコ
+センバ,ミズホ
+ソメヤ,ケイゴ
+タカギ,ヒデキ
+タカギ,アイ
+タカギ,ノリユキ
+タカセ,ヨウイチロウ
+タカダ,ヨウスケ
+タカハシ,ヤスユキ
+タカハシ,ヨシノリ
+タカハシ,タカノリ
+タカハシ,マサト
+タカハシ,ミカ
+タカハシ,ヤスヒロ
+タカミザワ,コズエ
+タキザワ,ケイゾウ
+タグチ,キョウコ
+タケシタ,ケン
+タケダ,カズマ
+タケダ,ユウジ
+タケダ,コウジ
+タケナカ,タカヒロ
+タケハラ,ミキコ
+タケヤマ,ミツル
+タジ,ミカ
+タダ,ヨシタカ
+ダテ,クミコ
+タナカ,チカフミ
+タナカ,ノリヒコ
+タナカ,タクナガ
+タナカ,タカユキ
+タナカ,タカユキ
+タニグチ,タカノリ
+タニコシ,ケンタロウ
+タニノ,タカアキ
+タブキ,タロウ
+タブチ,ヨシヒト
+タマオキ,マサヨシ
+タマガワ,トモコ
+タムラ,ケイコ
+タメノリ,ヨウヘイ
+タンノ,エリ
+タンボ,アキヒコ
+チダ,カツヒサ
+チネン,ユキ
+ツガネザワ,ノブユキ
+ツカハラ,ミズホ
+ツチヤ,マユミ
+ツチヤ,ヨウスケ
+ツチヤ,ヤスユキ
+ツズキ,マミ
+ツズラハラ,サチコ
+ツネヨシ,テルノブ
+ツボウチ,アキフミ
+ツルシマ,リエ
+デグチ,タクヤ
+テズカ,ミツノブ
+テラカワ,タカシ
+テラグチ,ムネノリ
+テラシマ,ケンジ
+テラダ,ヨシキ
+トガシ,ダイスケ
+トクムラ,コウイチ
+トザワ,ユウコ
+トビオカ,タケシ
+トマリノ,ジュンコ
+トミイ,ジュンコ
+トミザワ,アヤ
+トミタ,タイチ
+トミタ,ユウタ
+トミナガ,ヨウコ
+トヨダ,ソウタロウ
+トラタニ,マサコ
+ナイトウ,タカオ
+ナガイ,チエ
+ナガイ,ジュンコ
+ナカイケ,シンゴ
+ナカウエ,ダイスケ
+ナガオ,リョウコ
+ナカコジ,サヤカ
+ナガサカ,コウジ
+ナカジマ,ユキコ
+ナカジマ,マリ
+ナガタ,カツヤ
+ナガタ,アツヒサ
+ナガタ,ナオキ
+ナカツル,ヒロアキ
+ナガノ,ヤスオ
+ナカムラ,サトル
+ナカムラ,ヒロシ
+ナカムラ,クミコ
+ナカムラ,ヒロシ
+ナカムラ,ユカ
+ナカムラ,マサアキ
+ナカムラ,エイジ
+ナツハラ,サヤカ
+ナリサダ,シンスケ
+ナンブ,ノブユキ
+ニカイドウ,トモヤ
+ニシ,ソウイチロウ
+ニシ,ナオユキ
+ニシオ,トシヤ
+ニシカワ,ケンジ
+ニシクラ,サトコ
+ニシザワ,イサム
+ニシザワ,エリナ
+ニシダ,シンイチ
+ニシダ,リョウヘイタ
+ニシヤマ,ヒサノリ
+ヌノヤ,シゲオ
+ヌマザキ,ユキオ
+ヌマタ,タケシ
+ノドミ,リナ
+ノミ,マサキ
+ノグチ,カズヨシ
+ノジマ,テルアキ
+ノジリ,トシユキ
+ノダ,ミキコ
+ノダ,ユキコ
+ノムラ,シンヘイ
+ノムラ,カズエ
+ノムラ,カズオ
+ハコシマ,ワタル
+ハシモト,リョウ
+ハシモト,ケイ
+ハセガワ,ケンタロウ
+ハタケヤマ,ユフコ
+ハッタ,ユヒ
+ハットリ,サトミ
+ハナイ,タケハル
+ハナダ,ケイスケ
+ハマグチ,ケン
+ハマダ,マナミ
+ハマダ,ケイコ
+ハマノ,タカユキ
+ハヤカワ,ユキ
+ハヤシ,テツオ
+ハヤシ,トモナガ
+ハヤシ,ケンタロウ
+ハラ,チカコ
+ハラ,ヤスアキ
+ハラダ,ミエ
+ヒエカタ,サトコ
+ヒガサ,アツシ
+ヒガミ,セイジ
+ヒキノ,テツジ
+ヒダ,タカシ
+ヒダカ,シン
+ヒデシマ,ミキコ
+サカイ,ジュンヤ
+ヒライ,ハヤト
+ヒライワ,エツコ
+ヒラタ,ヒデキ
+ヒラバヤシ,ナオユキ
+ヒロセ,アヤコ
+フカオ,ミユキ
+フクイ,ヒデヒコ
+フクザキ,ミレイ
+フクダ,ヨウヘイ
+フクダ,ヤスヒロ
+フクダ,マサル
+フクダ,ジュンイチ
+フクハラ,ユキコ
+フクムロ,ヒロフミ
+フジウラ,アヤ
+フジオカ,コウイチロウ
+フジオカ,マヤ
+フジタ,シゲル
+フジモト,ユカリ
+フジモト,エリコ
+フジワラ,アキヒロ
+フタムレ,イサオ
+フルサワ,イチロウ
+フルタ,ヒサオ
+フルヤ,ヒデオ
+ホコラ,マツオ
+ホシノ,スミオ
+ホシノ,タモツ
+ホソノ,ヒロミチ
+ホリ,トシ
+ホリウチ,エツオ
+ホリオカ,ヤスオ
+ホリグチ,ジュンイチ
+ホンマ,イサオ
+マエカワ,トモユキ
+マエジマ,コウジ
+マエダ,トシヒロ
+マエハラ,トシヒコ
+マキ,シゲノリ
+マキノ,タケオ
+マスイ,ヒロシ
+マスダ,キヨシ
+マスダ,マサミツ
+マツイ,カンジ
+クマガイ,カツヒコ
+カネコ,リョウジ
+コミヤ,ノボル
+コガイト,ミチコ
+カンバヤシ,テルマサ
+キノシタ,ハルヒコ
+キクチ,ミノル
+コマバ,ユタカ
+コクブ,ミツコ
+コバヤシ,ヒロシ
+コバヤシ,テルオ
+キツタカ,チュウケン
+マツオ,タカユキ
+カワイ,マナブ
+クリハラ,トオル
+カドノ,ヒロヨシ
+カミクボ,ケンジ
+カワグチ,タカシ
+カマタ,マサモト
+カンダ,カズミ
+カンダ,ミツオ
+コシムラ,トシユキ
+マツオ,キヨシ
+クサキ,ジュンジ
+カモハラ,マサフミ
+カサジマ,トシマサ
+マツキ,ヨシカズ
+カミクラ,ツネオ
+クリハラ,ノブアキ
+ナカチ,キヨシ
+カガワ,シンイチ
+コバヤシ,セイジ
+カンノ,トシオ
+マツシタ,フミオ
+カシワダ,オサム
+コンノ,カズオ
+コスギ,ヨシミ
+コモリ,トシロウ
+カワノ,ユキオ
+キタムラ,タケヒコ
+カジマ,テツヤ
+カトウ,ヒデオ
+コヤノ,ユキオ
+カツマタ,トシカズ
+クワダ,ケイジ
+コタニ,ヤマト
+カジウチ,ノブコ
+コンド,タカシ
+コンド,ヨシカズ
+マツナミ,シンヤ
+カガヤマ,マサハル
+カネコ,ヤスヒコ
+コヤマ,ヤスハル
+キツカワ,コウセイ
+カシクラ,カンジ
+クロキ,ヨシユキ
+コイズミ,シュウヘイ
+クゼ,ミキオ
+カワカミ,ケイコ
+カミ,サチオ
+キムラ,トオル
+マツノ,カズヒサ
+キクタ,オサム
+クマダ,マサアキ
+クニハラ,シュンイチ
+コジマ,ユタカ
+クリハラ,マサノリ
+ヨネクラ,ヨシタミ
+コバヤシ,ツネオ
+コバヤシ,テツオ
+コジョウ,サナエ
+キムラ,ジュンイチ
+コバヤシ,マサアキ
+コンド,ノブカズ
+カワイ,トシカツ
+クマハラ,ケンジ
+キセ,ミチヤス
+カシクマ,ケンゾウ
+カコ,ジュンイチ
+イシガイ,ヨシアキ
+カミグチ,タダシ
+クモダ,トシオ
+コマツ,ショウイチ
+カネダ,ミツオ
+キクチ,ヨシヒサ
+コタニ,ヨシユキ
+コバヤシ,ヤスト
+カワグチ,ヨシオ
+カネコ,ヒロアキ
+カモ,ヨシアキ
+カワムラ,エイジ
+クマノ,マサユキ
+コバヤシ,ヨシエ
+キムラ,カズヒサ
+キシモト,ヒロヒサ
+キムラ,キシオ
+カミグチ,テツヤ
+キムラ,マサハチ
+コバヤシ,シュンジ
+カドクラ,カナコ
+キタムラ,ヒデヨ
+カツキ,ヒサシ
+カンザキ,マサノブ
+カタギリ,イクミ
+コバヤシ,ノブコ
+コマツザキ,コウゾウ
+キタ,ヒロノリ
+カツハラ,シュウ
+コグレ,アキエ
+コジマ,アツシ
+コメダ,ヒサシ
+コニシ,ケンイチ
+クワハラ,ヤスマサ
+コヤマ,ヒデアキ
+マツモト,ノリユキ
+カジモト,ヨシアキ
+クマザワ,カツミ
+キムラ,トシオ
+コバシガワ,ヒトシ
+カミヤ,ユウ
+マツモト,ショウジ
+コハシ,エイゾウ
+コダマ,ゼンイチ
+カワカミ,カズミ
+マツモト,ハルオ
+カイド,ミホ
+キムラ,トシオ
+クゴ,キヨミ
+マツモト,ヨシユキ
+マツヤマ,リョウスケ
+マルヤマ,サチコ
+コンノ,キヨシ
+クロキ,ジュン
+コミヤ,リョウコ
+キムラ,ナオユキ
+キノ,ミア
+コマツ,ユキ
+カネチカ,リョウスケ
+カナタニ,リエ
+コバヤシ,ヨシロウ
+キタヤマ,カナコ
+カジ,ヒロコ
+カワシマ,ナオキ
+キムラ,マキコ
+コバラ,タクマ
+キタガワ,ナオタカ
+マルヤマ,ナホコ
+カモン,マサシ
+ミウラ,タカシ
+ミシマ,カツヒロ
+ミスギ,トモアキ
+ミズタ,ジュンコ
+ミズモト,ナルキ
+ミゾグチ,マサコ
+ミズカ,ユタカ
+ミナミ,タケル
+ミナミタニ,マサト
+ミネタ,ユキコ
+ミヤイ,コウタ
+ミヤオカ,ケンロウ
+ミヤザキ,マユミ
+ミヤザキ,ジュリ
+ミヤハラ,タツヒコ
+ミヨシ,アキノブ
+ムラカミ,マサヒデ
+ムラキ,アツコ
+ムラタ,ケンジ
+ムラタ,ミチヤ
+ムラタ,メグミ
+ムラヤマ,マサコ
+モトノ,ヤスマサ
+モリ,トシユキ
+モリ,ナオ
+モリタ,ヒデトモ
+モリタ,リエ
+モリヤマ,アツシ
+モリヤマ,カオリ
+ヤザワ,カズコ
+ヤジマ,トモヒロ
+ヤナギダ,エリコ
+ヤマガタ,ケイイチ
+ヤマカワ,シンヤ
+ヤマグチ,サトミ
+ヤマグチ,ユキ
+ヤマグチ,タダユキ
+ヤマサキ,マサキ
+ヤマザキ,ケン
+ヤマシタ,シュクホ
+ヤマダ,ヨシアキ
+ヤマダ,ケンイチ
+ヤマダ,シュン
+ヤマナカ,マサシ
+ヤマネ,シンゴ
+ヤマモト,ヤスノリ
+ヤマモト,カズヒロ
+ヤマモト,ヒデユキ
+ユカワ,サトシ
+ユザ,アキコ
+ユタニ,リエ
+ユタニ,ダイスケ
+ヨゴ,トモノリ
+ヨコボリ,マサタケ
+ヨシオカ,タダアキ
+ヨシカワ,ヒロミ
+ヨシダ,ヒロタカ
+ヨシダ,キョウコ
+ヨシモト,モトオ
+ヨネダ,ユミコ
+ワカサヤ,シズカ
+ワタナベ,ジュンイチロ
+ワタナベ,ヤスヒロ
+ミツヤマ,マサミ
+ヒラオカ,リサ
+カンノ,カツト
+ワコ,リエ
+アオキ,ワタル
+アカオ,マサノリ
+アカギ,リョウヘイ
+アカシ,ヒロコ
+アカツカ,ヤスユキ
+アカハネ,ヒロアキ
+アカホリ,ユウコ
+アキモト,チエ
+アキヤマ,ミホ
+アサイ,マサカズ
+アサノ,ヤスヒロ
+アサヒ,アサコ
+アサベ,カヨ
+アハレン,ダイスケ
+アベ,トシヒコ
+アベ,カオル
+アベ,ヒロフミ
+アマノ,マサミ
+アメモリ,アリサ
+アライ,ヒデオ
+アライ,エツコ
+アライ,カツヒロ
+アラタニ,サツキ
+アリナカ,トモヒロ
+イイゴ,ノリアキ
+イイダ,マユミ
+イケダ,ヨシタカ
+イコガ,エミコ
+イシイ,カオリ
+イシオカ,タカシ
+イシザカ,ユキエ
+イシジマ,ミオ
+イシダ,ユイ
+イシド,ユキコ
+イシノ,タカオ
+イシマブシ,アキヒト
+イセリ,オトヒコ
+イソベ,ハルカ
+イタニ,タカアキ
+イズノ,ミツヒロ
+イデノ,ヨウヘイ
+イトウ,ヨウコ
+イトウ,ミツタカ
+イトウ,ヨシアキ
+イトウ,ユカリ
+イトウ,マナ
+イトウ,タケシ
+イトヤマ,アツシ
+イナ,アキラ
+イナサキ,ヤスノリ
+イナバ,ヨウスケ
+イナバ,タダシ
+イノウエ,タケシ
+イノウエ,ノブタカ
+イノウエ,マリコ
+イベ,キョウコ
+イマイ,ユキエ
+イマオカ,シュウヘイ
+イマムラ,マサシ
+イワタ,タケヒロ
+イワタ,ヨシヒロ
+イワタ,オサム
+イワミ,ユウコ
+イワモト,ケンイチロ
+ウエダ,レイコ
+ウエノ,サラ
+ウエハラ,タカノリ
+ウカイ,ヒサナガ
+ウダガワ,ユウイチ
+ウチヤマ,ヒロマサ
+ウツミ,ヒロユキ
+ウツミ,マリコ
+ウノ,マコト
+エガシラ,シュンスケ
+エトウ,ヒロキ
+エトミ,ヒデミ
+エンド,メグミ
+エンド,ヒロキ
+オカド,タカヒサ
+オオクラ,ヒロコ
+オオサカ,タテキ
+オオサカ,コウタロウ
+オオサワ,サチ
+オオスミ,サトコ
+オタ,チエコ
+オオタニ,マコト
+オオニシ,マサヒロ
+オオニシ,ミツル
+オオニシ,ムサシ
+オオニシ,マサオ
+オオノ,ナホコ
+オオノ,ミカコ
+オノ,ヨウコ
+オマツ,ヨウスケ
+オムラ,トモコ
+オオヤ,ユキエ
+オカ,ノリヒト
+オカイ,ケンイチ
+オカウチ,トモノリ
+オカダ,ユウキ
+オカダ,マリコ
+オカノ,ヤスフミ
+オカムラ,アカリ
+オカモト,ソウ
+オガワ,イズミ
+オガワ,コズエ
+オガワ,キンヤ
+オガワ,ミチコ
+オガワ,タクヤ
+オガワ,ユミコ
+オギノ,エリコ
+オク,サヤカ
+オクカワ,ヒロアキ
+オクダ,アキオ
+オクムラ,サトコ
+オザキ,タカユキ
+オジマ,タカシ
+オゼキ,ケイイチ
+オダ,ヒロユキ
+オダ,アツコ
+オチアイ,ナオキ
+オトガワ,リョウコ
+オノ,ミズキ
+オオハラ,ケイコ
+カイジマ,ケンタ
+カガワ,トモミツ
+カキオ,タカヤ
+カケヒ,トモミ
+カサイ,ナオコ
+カサミ,ヨシフミ
+カジタ,ケイイチ
+カジタニ,マサナリ
+カシマ,ヤスヒロ
+カシマ,ユウコ
+カジモト,アヤコ
+カスガ,サナコ
+カセ,レイコ
+カタギリ,カズシゲ
+カタヤマ,リョウコ
+カタヤマ,ユウジ
+カトウ,ヒトシ
+カトウ,クニアキ
+カトウ,ケンイチロ
+カナザワ,ヒロカズ
+カネミツ,トモノリ
+カノウ,ユキエ
+カマタ,ヒロタカ
+カミザキ,マサトシ
+カミ,ヨウイチ
+カメタカ,タイスケ
+カモ,ケンヤ
+カワイ,トモカズ
+カワイ,ジュリ
+カワカミ,タカシ
+カワカミ,ミオ
+カワグチ,アユミ
+カワグチ,カズヒデ
+カワグチ,サトシ
+カワサキ,ジン
+カワサキ,ナオキ
+カワナミ,アキコ
+カワネ,カナコ
+カワバタ,アユミ
+カワムラ,モウ
+カワモト,ユウ
+カンダ,ミドリ
+カンダ,ナオシ
+カンノ,マサコ
+キシモト,ケンタロウ
+キタガワ,タケシ
+キタハラ,トモハル
+キタムラ,ショウ
+キタムラ,シンゴ
+キヌヤ,トシミ
+キノシタ,テツ
+キハラ,タツヤ
+キムラ,ヨシカズ
+キムラ,マサヒロ
+キムラ,アキヨシ
+キムラ,ジュン
+キヨシマ,ハルミ
+キヨズカ,ユキ
+キラ,タカシ
+キリサコ,テッペイ
+キン,サユリ
+キン,ナオコ
+クニエダ,カズアキ
+クボ,ゴウ
+クマノ,タケト
+クラタ,アキヒロ
+クラハシ,タカアキ
+クレ,トオル
+クロイ,ヨシタカ
+クロキ,ユウコ
+クワノ,ヒロタカ
+ゴウ,サエ
+ゴウダ,タケヒロ
+コガ,ケイ
+コクショウ,ツヨシ
+コサカ,シュウイチロウ
+コジマ,リョウスケ
+コゾノ,アイワ
+コダマ,イクオ
+コテラ,キミヒロ
+コデラ,シンタロウ
+ゴトウ,タダノリ
+ゴトウ,ヒロコ
+コニシ,ミサキ
+コニシ,ヨウコ
+コニシ,トモヤ
+コバヤシ,ナツコ
+コバヤシ,コウジ
+コバヤシ,チエ
+コバヤシ,ツヨシ
+コブセ,ヒデユキ
+コマキ,ヒロナオ
+コマザワ,タカマサ
+コマツバラ,トモヒサ
+コヤマ,イチロウ
+コンド,ヒロコ
+サイキ,カオル
+サイ,カズヤ
+サイトウ,キョウコ
+サイトウ,コウイチ
+サイトウ,テルヒサ
+サイトウ,ハジメ
+サイトウ,ヒロミ
+サイトウ,フミコ
+サイトウ,ヒトシ
+サイトウ,マキコ
+サカイ,タカユキ
+サカミ,タカシ
+サカモト,コウジ
+サカモト,ヒデキ
+サカモト,マサヨシ
+サカモト,ナナコ
+サカモト,ヨウイチロウ
+サクライ,サダヨシ
+サクラギ,ナホコ
+ササキ,マサキ
+ササキ,ユミエ
+サトウ,フクタロウ
+サトウ,シュウサク
+サトウ,タカシ
+サトウ,アキ
+サトウ,ケンイチロ
+サトウ,カズミチ
+サトウ,ユミ
+サトウ,リョウスケ
+サノ,トオル
+サノ,リョウスケ
+サワサキ,タカシ
+サワダ,ヒロコ
+サンペイ,サトル
+シオズカ,アツシ
+シノ,カズノリ
+シバタ,カズタカ
+シマ,ジュン
+シマノ,トシアキ
+シミズ,ヨシコ
+シミズ,マミ
+シモカワ,ヨシオミ
+シモムラ,エイブ
+シュクリ,マナミ
+ショウジマ,タツオ
+ショウダ,クミ
+シライシ,ノリカズ
+シラカタ,ジュン
+シラサキ,モモコ
+シロタ,マサヒロ
+ジングウジ,シゲカズ
+シンタニ,ケンタ
+シンボ,ノブユキ
+ジンボ,モトハル
+シンムラ,ヒデトシ
+スガイ,ツトム
+スギモト,ミホ
+スギモリ,ヒロコ
+スギヤマ,タカネ
+スギヤマ,ジュン
+スギヤマ,タクマ
+スズキ,キクコ
+セガワ,ジュン
+セキ,ケンジ
+セキネ,ヒロシ
+セキモト,カツアキ
+セト,アツシ
+セラ,カズヨシ
+ソデヤマ,ソラコ
+ソノイ,テルエ
+タイラ,マサシ
+タカキ,ミチル
+タカハシ,レイ
+タカハシ,ミネコ
+タカハシ,トモオ
+タカハマ,コウキ
+タカミヤ,チハル
+タカヤナギ,カズヒコ
+タカヤマ,サトシ
+タグチ,ワタル
+タケウチ,アツシ
+タケザキ,マユコ
+タケシタ,サトミ
+タケモト,ヒロトモ
+タダ,アツコ
+タチカワ,マコト
+タチバナ,ナオト
+タツガワ,トモコ
+タナカ,ヤスノリ
+タナカ,アキヨ
+タナカ,マサタカ
+タナカ,コウスケ
+タナカ,サチエ
+タナカ,ショウヘイ
+タナベ,ノリコ
+タニグチ,タケシ
+タニワキ,ヒロフミ
+タバタ,ヨシヒサ
+タハラ,ケンジ
+タマキ,ナオコ
+タマムラ,マコト
+タルミ,ヒロミ
+タンバラ,リョウコ
+チカツ,テツヒコ
+チバ,カホリ
+チョウ,リョウタ
+ツカダ,テツヤ
+ツカモト,サチカ
+ツジモト,ミキ
+ツチダ,ケイコ
+ツチヤ,タカアキ
+ツチヤ,チカラ
+ツツミ,サトシ
+ツボクラ,タクヤ
+ツムラ,トモエ
+テシマ,アキコ
+テラサキ,マサヒト
+テラサキ,クミ
+テラダ,タケハル
+ドイ,トモコ
+ドイ,ノブタカ
+トウ,ヒロコ
+トキタ,シンイチロウ
+トキト,リョウスケ
+トクダ,エミ
+トシズミ,マホ
+トダ,シュンスケ
+トヨダ,ヒロアキ
+ナイトウ,リョウタ
+ナカイ,マサトシ
+ナカオ,アキヒコ
+ナガオ,エリコ
+ナカガワ,トモミ
+ナガサカ,ミチコ
+ナカサカ,ヤスヒロ
+ナガサキ,ユウイチロ
+ナカザワ,ユウヘイ
+ナカザワ,ヨウコ
+ナカシマ,ユウヤ
+ナカジマ,エミコ
+ナカシマ,アキヒロ
+ナカジマ,シュウタロウ
+ナカジマ,リョウスケ
+ナカダ,カヨコ
+ナカダ,アヤコ
+ナガツカ,イサオ
+ナカト,シュウジ
+ナカニシ,ミドリ
+ナカニシ,ススム
+ナカニシ,イタル
+ナガマツ,マサヒロ
+ナカムラ,シゲトシ
+ナカムラ,キョウコ
+ナカムラ,アヤコ
+ナカムラ,マユ
+ナカムラ,ケイコ
+ナカムラ,ナオコ
+ナカムラ,ヒロカズ
+ナカムラ,サヤコ
+ナカモリ,テツヤ
+ナカヤ,ユウジ
+ナカヤマ,タケシ
+ナス,コウジ
+ナリトミ,シンタロウ
+ナンブ,トモヤ
+ニイミ,ヤスタカ
+ニシカワ,ソノコ
+ニシノ,ユカ
+ニシヤマ,タカヒロ
+ヌカダ,ヨシコ
+ヌマタ,ユウイチ
+ヌマタ,サトシ
+ノガミ,サトシ
+ノギ,アヤコ
+ノクオ,カオリ
+ノグチ,タカユキ
+ノザキ,ナツネ
+ノジ,ユキ
+ノマ,レイコ
+ノムラ,マサオ
+ノムラ,ユウイチ
+バコシ,シンゴ
+ハシモト,ナオコ
+ハスヌマ,チエ
+ハセ,ヨウイチ
+ハセガワ,ヒロシ
+ハタガワ,ジュンコ
+ハタケヤマ,ユウコ
+ハタノ,ヨウコ
+ハナイ,リカ
+ハマサキ,マコト
+ハマダ,ヒロタカ
+ハマデ,タカシ
+ハヤカワ,アキ
+ハヤシ,アヤ
+ハヤシ,サトコ
+ハヤシ,サトシ
+ハヤシ,ジュン
+ハヤシ,ヨウコ
+ハヤシ,ススム
+ハラ,トモヒサ
+ハラシナ,ノブキ
+ハラダ,アツシ
+ハラダ,ミドリ
+ハルナ,シュウスケ
+ヒキタ,ヒデト
+ヒダイ,マユミ
+ヒライ,キョウコ
+ヒライ,ユウスケ
+ヒライ,エリコ
+ヒライワ,クミコ
+ヒラオ,ヒデカズ
+ヒラカワ,マキ
+ヒラタ,ヨシアキ
+ヒラマツ,タカオ
+ヒロエ,アツシ
+ヒロセ,ヒデノリ
+フカザワ,ヒデユキ
+フカホリ,ノリヒロ
+フクシマ,マキオ
+フクダ,ヒロユキ
+フクダ,ヒロフミ
+フクダ,サヤカ
+フジイ,リエコ
+フジカワ,カズミ
+フジタ,ケンジ
+フジタ,マサオ
+フジタ,ヨシロウ
+フジムラ,トモユキ
+フジムラ,アキコ
+フジモト,ショウヘイ
+フジモト,リュウヘイ
+フジワラ,ケイサク
+フジワラ,サトシ
+フタカタ,ジロウ
+フナイ,サチコ
+フルカワ,ヒロコ
+フルカワ,ジュンイチ
+フルマタ,トモヤ
+ホシ,ユキ
+ホシウラ,ヒロシ
+ホシロ,イツミ
+ホソダ,シュンゴ
+ホリ,ノブヒデ
+ホリ,ユキ
+ホリエ,ノブト
+ホリグチ,ノゾム
+ホンナ,カオル
+ホンボ,ヒロユキ
+マエカワ,ミワ
+マエダ,コスケ
+マエダ,タカシ
+マエダ,エツコ
+マキウチ,ケイジ
+マキノ,ショウコ
+マキモト,トモノリ
+マサトウミ,マイコ
+マスイ,ヨウスケ
+マスダ,マサユキ
+マスダ,ミホ
+マツイ,ミオ
+マツウラ,カズヒサ
+マツオカ,アキヒロ
+マツオカ,トモコ
+マツオカ,マユミ
+マツオカ,ダイスケ
+マツカゲ,ヒサオ
+マツシタ,サトシ
+マツナガ,ワタル
+マツバラ,ノゾミ
+マツバラ,アキコ
+マツモト,ヒロミツ
+マツモト,ホクト
+マツヤマ,マイコ
+ミウラ,リョウ
+ミウラ,アツシ
+ミウラ,アツシ
+ミウラ,キヨマサ
+ミキ,ユウジ
+ミズカワ,ヒロユキ
+ミズタニ,ユキコ
+ミズノ,ユウセイ
+ミソノ,タダマサ
+ミゾハタ,チエ
+ミナガワ,マチコ
+ミナガワ,アヤ
+ミナミ,ヒロユキ
+ミナミ,タカシ
+ミナミカタ,タカノブ
+ミナミムラ,ヒデキ
+ミハラ,マサキ
+ミムラ,ミキコ
+ミヤイ,ノブアキ
+ミヤザキ,アツシ
+ミヤザワ,ナオヤ
+ミヤザワ,アキラ
+ミヤムラ,カオリ
+ミヤムラ,アヤ
+ミヤモト,ユウヘイ
+ミヤモト,マサヤ
+ミヨシ,ツカサ
+ムネムラ,チカフミ
+ムラカタ,トモユキ
+ムラズミ,ミツノリ
+ムラタ,クミコ
+ムラタ,マキ
+ムラモト,カズノブ
+ムラヤマ,ナオ
+モリ,ナオコ
+モリ,カツマサ
+モリ,アツヒコ
+モリ,クミコ
+モリ,ミキ
+モリウチ,ノリコ
+モリシタ,ユウイチロ
+モリタニ,カズト
+モリモト,ゲン
+モリヤマ,コウジ
+モロエ,ヒロカズ
+ヤゴ,ミノル
+ヤスガキ,トモフミ
+ヤスダ,アヤコ
+ヤスモト,アツシ
+ヤツナミ,アキオ
+ヤナギサワ,ケイスケ
+ヤナギハラ,シンスケ
+ヤブナカ,タイシ
+ヤマウチ,タカユキ
+ヤマオカ,タダシ
+ヤマオカ,ナオヤ
+ヤマオキ,ヒロユキ
+ヤマガタ,マコト
+ヤマグチ,シンイチ
+ヤマグチ,ヒロコ
+ヤマシタ,マドカ
+ヤマシタ,チエ
+ヤマダ,チエ
+ヤマダ,ジュンジ
+ヤマダ,ノブコ
+ヤマダ,アヤ
+ヤマダ,マキコ
+ヤマナカ,メグミ
+ヤマムラ,イッセイ
+ヤマムロ,カナコ
+ヤマモト,コウヘイ
+ヤマモト,テルヒコ
+ヤマモト,マサユキ
+ヤマモト,ミツヨシ
+ヤマモト,ミノル
+ヤマモト,シノブ
+ヤマモト,トオル
+ヤマモト,アスカ
+ヤマモト,ワタル
+ユアサ,クミコ
+ユキ,ナオコ
+ユリヤマ,ノリヒロ
+ヨコタ,アツヒサ
+ヨコハマ,トシユキ
+ヨコヤマ,アユミ
+ヨコヤマ,カズキ
+ヨシオカ,キョウコ
+ヨシオカ,マイコ
+ヨシオカ,マリコ
+ヨシダ,タカトシ
+ヨシダ,ナオコ
+ヨシダ,ナオコ
+ヨシダ,マリエ
+ヨシダ,ユウジ
+ヨシダ,ユウジ
+ヨシノ,ユカ
+ヨシヒロ,ユミ
+ヨシマツ,トオル
+ヨシムラ,ダイスケ
+ヨシムラ,カズフミ
+ワカマツ,ヒロヤ
+ワキタ,カズオ
+ワキタ,ケンシロウ
+ワシオ,ヨシアキ
+ワシザワ,チアキ
+ワダ,イサム
+ワダ,トシオ
+ワダ,イサオ
+ワダ,タケシ
+ワダ,カツエ
+ワタナベ,カズシン
+ワタナベ,トクジ
+ワタナベ,ヒロシ
+ワタナベ,キヨオミ
+ワタナベ,ヨシヒロ
+ワタナベ,ヨリミツ
+ワタナベ,ケイジ
+ヤマグチ,モトジ
+スズキ,ジロウ
+ササノ,ススム
+カネコ,タケシ
+クボタ,レイコ
+コスケガワ,マサナオ
+カナイ,サブロウ
+カトウ,コウイチ
+コダマ,タカヒコ
+コバヤシ,トシヒロ
+コジマ,トオル
+カメヤマ,カズヒコ
+クラバヤシ,ノブオ
+カンダ,カズユキ
+コンノ,ジュンジ
+カワシマ,マサナリ
+カワカミ,コウジ
+カナカ,カクタロウ
+カワムラ,ヒロウミ
+キムラ,シュンイチ
+カスガ,ヒロシ
+コジマ,モトヨシ
+カワノ,コウイチ
+カワナ,ヨシマサ
+コズマ,タケシ
+カワサキ,マサアキ
+カタノ,マサアキ
+カタダ,アキオ
+キクチ,マサオミ
+カミウラ,カズヒデ
+カネダ,テツオ
+コンノ,ヤスオ
+カワモト,シゲミ
+カバヤ,ヒロシ
+コブクロ,ケンキチ
+クマガイ,ユウジ
+コンノ,ヒデキ
+コヤマ,ショウイチ
+キタシロ,ヒトシ
+コダマ,タケシ
+カトウ,エイイチ
+キムラ,トシハル
+コイデ,イサオ
+クヤマ,タケシ
+キリハラ,モリヒロ
+カヨ,マサタダ
+カネコ,トシオ
+コハラ,イワオ
+カトウ,ユキオ
+コイ,セイイチロウ
+カヤマ,イサオ
+コイケ,クニヒコ
+コジマ,アキト
+コマツ,マサジ
+キタムラ,ノリヨシ
+キタワキ,ゼンイチロ
+カサジマ,ヒロフミ
+キムラ,テツロウ
+カミグチ,サチオ
+カトウ,フジオ
+カワムラ,トシヒト
+カドタ,ノブタカ
+オオタケ,シゲル
+カトウ,トモミ
+キノ,ノブヒサ
+カミ,マサミ
+キクチ,マサユキ
+カキウチ,ヒロヒサ
+コジマ,マサミ
+カタオカ,シュンスケ
+クボタ,ヒロユキ
+キタザワ,マサアキ
+コミネ,モトユキ
+クボ,タカユキ
+キタズメ,カズトシ
+コバヤシ,カツオ
+カワグチ,ヨシヒコ
+ケガサワ,ヒサシ
+コウチ,ミチオ
+コヤマ,トオル
+カワキタ,タカヒデ
+カワミツ,ショウゾウ
+カタヒラ,アツオ
+カワギシ,ヒロシ
+コンド,ヨシミツ
+キムラ,アキヒコ
+クボヤマ,シンタロウ
+クマモト,マサキ
+カワタ,フミヨ
+クニノブ,ヤスオ
+カマダ,タカシ
+カク,オサム
+カネコ,オサム
+コバヤシ,アキラ
+カシオ,ケンジ
+カナイワ,ケイジ
+ケンモチ,タダシ
+キクチ,オサム
+カザマ,ヤスアキ
+コマツモト,エイコ
+コンド,カツヒコ
+キクシマ,カツマサ
+コバヤシ,セイコ
+クマガイ,マサトシ
+カトウ,カズヒコ
+マルバヤシ,タカシ
+ムトウ,カツミ
+ミタニ,タケシ
+ミワ,マサシ
+シミズ,ツトム
+ミズノ,トシオ
+マチダ,カズオ
+マツイ,カズタミ
+ミウラ,リュウイチ
+ヒノ,リョウイチ
+ムラカミ,マサヒロ
+ミヤノ,ヒロユキ
+マルイ,マサノリ
+ムラサキ,トシオ
+マサカ,ヒデノリ
+ミネタ,タケミ
+マツナガ,ユタカ
+ミナガワ,セイジ
+ミヤケ,ナオアキ
+マツモト,ケンイチ
+ミサワ,トシユキ
+マエダ,コウゾウ
+ウダガワ,トシカツ
+ミヤハラ,コウジ
+ムライ,ショウジ
+マツモリ,シゲキ
+マサキ,キクオ
+ミウラ,エイジ
+モトミヤ,キヨシ
+ムラカミ,ヒロフミ
+マトバ,マサアキ
+ミウラ,トシオ
+マツカワ,カズヒロ
+ミズタニ,ナオヒコ
+ミヤノ,マサユキ
+マツダ,フサチカ
+ミス,アキラ
+マツヤマ,トシエ
+ミヤモト,タダアツ
+ミズノ,フミオ
+マルヤマ,セイジ
+マルコ,ミチタカ
+モチダ,トオル
+モトハシ,マモル
+ミズヤ,コウジ
+ミヤザキ,ミチマサ
+ミヤガワ,ミツル
+ムラシマ,タダオ
+マスサコ,セイイチ
+モリ,イチロウ
+モリタ,カズオ
+ミナミ,ヨシアキ
+ミヤキ,マサオ
+モリヤマ,ケンジ
+ミズタ,ヨシオ
+マツイ,ミツグ
+マツオ,マサヨ
+マツシタ,ユタカ
+コバヤシ,カツミ
+ムカエ,マサジ
+モリイ,ギョジ
+モリタ,タイゾウ
+ムカイ,マサオ
+マツオ,トキワ
+ムラヤマ,ヨシヒコ
+マツモト,トシオ
+ミヤサト,ミノル
+ミヤザワ,ヨシオ
+モリムラ,タカシ
+ムラノ,ヒデオ
+マスダ,ミノル
+ムラタ,ノブオ
+ミヤサカ,ケンジ
+モトバヤシ,マサミツ
+ミズノ,ユリコ
+モモイ,ヨシオ
+マツダ,トクオ
+スガワラ,ナオエ
+マツバラ,マコト
+マツモト,ミノル
+ミヤハラ,アツヨシ
+ムライシ,マモル
+マツムラ,マモル
+ミヨシ,テツヨシ
+モリモト,カズオ
+ミズタニ,タケシ
+マツバ,アツシ
+マツイ,カン
+ムラカミ,カズオ
+モリタ,シゲハル
+ムラタ,シゲオ
+マサキ,ヒロシ
+ミヤザキ,ヨシキ
+マツバラ,シンイチ
+ムラマツ,アツシ
+モリ,ノブユキ
+モリムラ,マサカズ
+スワ,ヨシミ
+コワタリ,ナオキ
+マツザキ,ヨシノブ
+マッサキ,マサヒロ
+ミタク,ケイゾウ
+マツカワ,サトシ
+モギ,シコ
+マブチ,キヨシ
+マツモト,トシロウ
+モリ,リョウイチ
+マツウラ,カズナリ
+マエダ,アキオ
+マスダ,ヒロシ
+マエニシ,ヒロシ
+マルヤマ,ナオヤ
+マツダ,タカオ
+マキ,トシヒコ
+モウエ,シンイチロウ
+ムライ,トヨミ
+マツイ,クニヒコ
+モリタ,マサル
+マエダ,タカブミ
+ムラウチ,イサム
+ミツヤス,アキラ
+モリ,ケンジ
+マツダ,サトシ
+マツオ,マサフミ
+マルヤマ,アキオ
+マツガエ,シゲヒロ
+カミクラ,コウイチ
+ミドリカワ,ユウジロウ
+マスダ,シゲノブ
+ミテラ,ヤスオ
+マツナガ,アキラ
+モリオカ,ヨシミ
+ミソオ,エツオ
+ムラヤマ,カツヨシ
+モリモト,シゲル
+モリ,ツトム
+マスダ,ヒロタカ
+ミヤモト,カツマサ
+ムラタ,ヨシテル
+ミナミサワ,カズヒロ
+マシマ,スミヒロ
+モリグチ,ヨシアキ
+マツイ,タカシ
+マエカワ,ヒトシ
+モチズキ,ジュン
+マスダ,シンキチ
+マツモト,ジュンゾウ
+モリナガ,カズノリ
+マスダ,ヒロタミ
+ミウラ,クニオ
+マツノ,タダオ
+マツオカ,ヨシテル
+マチイ,コウイチ
+ミズタニ,トシオ
+マツモト,ヨシノリ
+マサキ,ヒデト
+マツモト,タケシ
+ミツヤ,ヒデヤス
+ミズノ,ジロウ
+マエダ,フミオ
+ムラマツ,ケンジ
+ムサシノ,アキラ
+マエハタ,マサヒコ
+マツザワ,ヨシオ
+ミツイ,ヨシカズ
+モモダ,ミツカズ
+マツオ,カツミ
+ミワ,シュウジ
+ムラカミ,テツヤ
+ミカミ,ハルキ
+ヌカザワ,シンジ
+ナカムラ,シズエ
+ニシムラ,クニヒコ
+ニッタ,ケンジ
+ナガツユ,トキヤス
+ニイノ,ヒロシ
+タブチ,ケンジ
+ニシノ,サブロウ
+ヌカタ,タモツ
+ニシムラ,ヒサオ
+ナガノ,タカユキ
+ナカガワ,ヨシアキ
+ニシヤマ,ヒロシ
+ナカジマ,マサヒロ
+ニシダ,ミツオ
+ナカムラ,フミオ
+ノムラ,ユキオ
+ナカモト,ノリアキ
+ナカガワ,カズタミ
+ナルサワ,ツネオ
+ナイトウ,タケオ
+ノベ,ヨシヒデ
+ニシナ,ヤスノリ
+ノムラ,タダシ
+ナカムラ,シンジロウ
+ニカイドウ,ヨシヤス
+ナカダ,タツオ
+ニシナ,キミヒト
+ナリタ,トシオ
+ノグチ,ヨシヒロ
+ノヤ,コウキ
+ナガイ,マサト
+ナカムラ,キヨシ
+ニイズマ,タカミ
+ナカガミ,シュウイチ
+ナガタ,キシオ
+ニシザワ,ハツエ
+ノセ,ジュウロウ
+ナガイ,ユキオ
+ニシザワ,マサオ
+ナカハタ,カズトシ
+ナカジマ,ヒロシ
+ナカダ,マツオ
+ノナカ,マサキ
+ナカガワ,マサアキ
+ナカシマ,タミオ
+ナカモト,マサル
+ニシオカ,ヒロシ
+ニシマエ,シンタロウ
+ナカムラ,マサオ
+ナカニシ,カズオ
+ノダ,ムツヤ
+ナカムラ,アキヒコ
+ナカザワ,リョウイチ
+ニシダ,ヨシロウ
+ニシダ,タダユキ
+ニイ,リョウジ
+ヤマモト,ヒトシ
+ナカウチ,ヤスオ
+ナカジマ,カズタカ
+ナカムラ,マサミ
+ノムラ,クニヒコ
+ニシムラ,ヤスヒロ
+ノナカ,タダヒコ
+ニシムラ,トシヒデ
+ニシオ,キヨシ
+ナガオ,キヨシ
+ニイミ,ケンジ
+ナカムラ,ヒデユキ
+ネズカ,ヨシノリ
+ナカムラ,ユキトシ
+ナカザト,テツヤ
+アサノ,ジュン
+ノガミ,クニヒロ
+ナカジマ,カズヒコ
+ナイトウ,カズアキ
+ナカムラ,ヨシノリ
+ナカニシ,キヨアキ
+ナカダ,タミオ
+ナガサワ,タカシ
+ナガノ,カズユキ
+ニッタ,ユタカ
+ナンバ,ミツヒロ
+ノズエ,クニミツ
+ナガミ,ヒロシ
+ナガイ,ジュンイチ
+ナカハラ,ミズホ
+ナカジマ,タケヨシ
+ナカジマ,カツオ
+ニシダ,アキヒコ
+ナオイ,シチロウ
+ナベシマ,ヨシマサ
+ナカノ,ショウイチ
+ナカムラ,ハルオ
+ノダ,ミツヨシ
+ナカセ,トシアキ
+ナカジマ,ミツシゲ
+ナガサワ,タダシ
+ニヘイ,ミツヨ
+ナガイ,リョウスケ
+ナカシマ,タカオ
+ナカオ,セイ
+ナカガワ,ノブオ
+ナイトウ,コウイチロウ
+ノジマ,ユウスケ
+ナガノ,ユキオ
+ニシダ,カズオ
+ナカダ,キヨシ
+ナカハラ,タカノスケ
+ナカジマ,ムネタカ
+ネモト,キヨシ
+ナカムラ,ケンジ
+ナガトモ,マサミ
+ナカムラ,ヒトミ
+ナカヤマ,ヨシオ
+ナカムラ,ホズミ
+ナカムラ,フミノリ
+ノジマ,テツロウ
+ナガフチ,ヤスロ
+ナカノ,ゴイチ
+ニシヤマ,シンイチ
+ナカムラ,マサユキ
+ナガシマ,ナオジ
+ニワ,ユタカ
+ナカノ,ヤスアキ
+オニザワ,ユキオ
+オシカタ,マサオ
+オカ,カツヒロ
+オクヤマ,ノボル
+オキ,スミオ
+オカミヤ,ケンジ
+オグラ,マサキ
+オオデ,マサノリ
+オノダ,マサヒコ
+オオニシ,マサキ
+オクダ,キョウイチロウ
+オクダ,トシオ
+オガワ,コウジ
+オノ,マサオ
+オオスミ,コウジ
+オオツカ,タカシ
+オオトモ,マサアキ
+オカザキ,ユウジ
+オオハシ,ヒロシ
+オギノ,フミオ
+オサダ,シズアキ
+オオバ,ヒサシ
+オシマ,アヤコ
+オオカワ,カズヤ
+オカモト,ヒロシ
+オガワ,トオル
+オノ,キヨト
+オカノ,トオル
+オザワ,ユキマサ
+オハク,ヒロシ
+オシタニ,タカシ
+オザワ,ヒロシ
+オオハシ,タカノブ
+オオハタ,コウトク
+オノデラ,ミヤ
+オノ,フミオ
+オオオカ,フジコ
+オオノ,ヨシノリ
+オオハシ,ユタカ
+オオタ,タカシ
+オオモリ,ケンタロウ
+オシマ,コ
+オカモト,コウイチ
+ヒロセ,トモユキ
+オオミズ,ヤスオ
+オオノ,ミツオ
+オチアイ,マサヒサ
+オカベ,タイ
+オオタニ,アキヒロ
+オクノ,シゲオ
+オオスガ,ケンイチ
+オオノキ,カオル
+オオイシ,ジ
+オカダ,モトツグ
+オオミヤ,ユキヒロ
+サタケ,ツネオ
+オダギ,ハチロウ
+オオタ,サトル
+オフチ,タダヨシ
+オオカワ,カオル
+オカド,サトル
+オオサワ,ヒデキ
+オギサワ,ユキヒロ
+オカベ,アツシ
+オトヨシ,ヒデオ
+オガワ,タツロウ
+オリガサ,ヤスタケ
+オオバ,ユキコ
+オバタ,タカシ
+オオノ,タカヨシ
+オオサカ,マサヤ
+オオミネ,ケンゾウ
+オオタ,ヨシヒコ
+イノウエ,アキオ
+オオコシ,シゲキ
+オザワ,ヒデオ
+オカベ,ケイイチ
+オオボラ,エイジロウ
+オオタ,ジョウイチロウ
+オザキ,ジュンイチ
+オクダ,ヤスヒロ
+オザワ,テルアキ
+オカダ,ススム
+オオツカ,コウジ
+オノデラ,コウイチ
+オシオ,タダシゲ
+オダシマ,タダシ
+オザキ,シゲル
+マエダ,ミツオ
+オキ,マサオ
+オノダ,トキエ
+オナギ,アキラ
+オクダ,ヨシキヨ
+オオヒラ,セツジ
+オノザワ,トシヒコ
+オギハラ,クニアキ
+オオクマ,カズオ
+オオハラ,ノブヒロ
+オキ,カツスケ
+オガワ,タツヤ
+オオヤ,ヒデホ
+オオサワ,サブロウ
+オオハラ,ヒロヨシ
+オダ,タカコ
+オザワ,ミツオ
+オガタ,リョウスケ
+オカノ,アキコ
+オオイシ,シマ
+オナイ,ヒロユキ
+オオツカ,ジュンコ
+オオツカ,テツオ
+オイデ,ヨシアキ
+オキヤマ,カズコ
+オグシ,アケミ
+オダ,ヤスシ
+オカバヤシ,タダヒロ
+オオタニ,ジュンジ
+オオツキ,アユミ
+オカダ,ヒロシ
+オオスミ,チハル
+オオイガワ,タカハル
+オカダ,ススム
+オザワ,カズヒコ
+オオタニ,テツロウ
+オザキ,ヒロユキ
+オオタ,マサコ
+ヤナギヤ,ユカリ
+ナカタニ,シンイチ
+コバヤシ,ヒデシ
+ミクニ,ヨシヒロ
+スズキ,ジュンイチ
+ハダノ,ユキマサ
+ミヤマ,カオリ
+タカハシ,マサト
+シラオガワ,ライタ
+ナカムラ,アソカ
+マツザキ,キイチロウ
+ヤマシタ,タカヨシ
+シモヤマ,シゲル
+フタムラ,ノブユキ
+クワ,タカシ
+ナカムラ,トシミツ
+ヨコヤマ,ヒロアキ
+ヒルマ,ユキコ
+タチカワ,ナオミ
+ワカバヤシ,テルミ
+タカハタ,トモ
+アベ,エミコ
+セキ,リュウゴ
+ヤマザキ,ヒトシ
+ヤマネ,ヨシヒロ
+タザワ,ジュンジ
+カジカワ,アサコ
+サトウ,マサヒロ
+カワウチ,マリエ
+オオヤマ,ノブコ
+シンミョウ,ジュンコ
+タチワダ,ナオミ
+オオクボ,テツヤ
+トウゴウ,ヒロユキ
+ナガクラ,タカハル
+イトウ,ケンソウ
+ヤマザキ,セイ
+カザマ,ハルユキ
+カンバヤシ,ヒデオ
+ササノ,メイコ
+カワシマ,ミユキ
+シングウ,ノリアキ
+コイズミ,タクヤ
+カネコ,ヨシミ
+コバヤシ,スエツグ
+カモシタ,シュウイチ
+タムラ,サチヨ
+ハセガワ,タカシ
+クリハラ,ヒロフミ
+カナオカ,ヒロシ
+コバヤシ,ユキタカ
+ヒイシ,タカユキ
+ニヘイ,イクコ
+マルタ,ナオコ
+トオヤマ,ナミ
+セキザワ,チカ
+アリマ,ヤヨイ
+クリハラ,トモエ
+スミノ,ミノル
+ヨシダ,ヒデキ
+キノシタ,トモコ
+オチアイ,ミユキ
+ウマヤハラ,ヤスミ
+ホソカワ,ヒロコ
+フカガワ,シンジ
+カワムラ,エイゾウ
+マツイ,ケイコ
+ヨシモト,タカヒロ
+ウナカミ,トモコ
+カネマツ,サキコ
+カワカミ,マコト
+トヨダ,ヒデオ
+ヤノ,アキヒコ
+セキ,タカアキ
+ナカニシ,ヒトシ
+ハシモト,アキ
+フカヤ,クニアキ
+ミヤモト,ヒデクニ
+タケダ,トシフミ
+ミヤザワ,ミキオ
+イケダ,カズヒコ
+オシマ,ヒロシ
+ナカムラ,エリコ
+ゴトウ,ユウイチロウ
+ウシゴメ,ヒロシ
+クワヤマ,ヒロアキ
+ツカダ,チハル
+ムラタ,チカオ
+サトウ,ヨシタカ
+クロダ,カオリ
+スギモト,クニオ
+ヤスダ,コウイチ
+キウチ,サトシ
+ケドウイン,ジュンイチ
+タナカ,チカ
+ナカムラ,ヒロアキ
+クリハラ,トヨヒコ
+タキザワ,カズノリ
+ウエダ,ヒデアキ
+コベ,ヒデアキ
+ノグチ,フミオ
+コンノ,トモヒコ
+トミタ,カナメ
+オオタ,ユキコ
+マキ,ヒカル
+アマノ,ケンイチロ
+コミネ,アキヒロ
+サトウ,トモヤ
+イマデ,ユウジ
+マツナガ,タツヤ
+スズキ,タケシ
+マツオ,カエ
+サイトウ,キョウイチ
+ヨシザワ,ワタル
+ウヤマ,ケイコ
+アンドウ,マサヒコ
+スズキ,サトシ
+ヨシダ,カズトシ
+カワダ,エミコ
+フクダ,ケイ
+モリシマ,マサシ
+ツチダ,トオル
+サカイ,ミチヤス
+ツカダ,アツシ
+ハットリ,ヒロシ
+タムラ,コウジ
+ワタナベ,ナオキ
+コスギ,タカアキ
+ヒラタ,ケイタ
+スギヤマ,ヨシユキ
+モリカワ,モトハル
+カドタ,アキヒロ
+サノ,ヒロシ
+オザキ,テツオ
+ヨコマツ,カツヒサ
+タナカ,ユミコ
+イシサカ,コウイチロウ
+イシザワ,ユズキ
+コバヤシ,ジュン
+ヨシダ,トモアキ
+キムラ,リエコ
+オオツカ,タケル
+アダチ,タカシ
+アカサカ,ショウジ
+ミヤモト,ミドリ
+イチムラ,カオリ
+オシタ,ノブユキ
+ホンダ,オサム
+カヤヌマ,コウジ
+ノザキ,ユウジ
+カドワキ,フジエ
+オジ,ヤスヒロ
+タグチ,ヤスツネ
+タケイシ,アキト
+ヒライ,シンジ
+カナザワ,ジュンイチ
+フルカワ,エリカ
+モリナカ,マサヨ
+アライ,トシアキ
+タナカ,ヨシノリ
+シミズ,ヨシユキ
+イチハラ,マサル
+キタノハラ,ヒデヒロ
+キタオ,トモヒト
+モリモト,ヒデキ
+キタムラ,リカコ
+ササザワ,タケシ
+マツオカ,ナオコ
+コウラ,タカヒロ
+ミワ,ヒロコ
+ヨシオカ,ヒロコ
+ホリ,ユミコ
+サイトウ,ヨシヒト
+ナガセ,ヒデハル
+モリシマ,ヒロカ
+オワリ,マキコ
+タナカ,ミキ
+テラムラ,トシマサ
+コバヤシ,キョウゾウ
+サイトウ,ヒロノリ
+キムラ,タケシ
+ハシモト,ヨシヒサ
+ナカガワ,テツヤ
+ナカムラ,マサオキ
+ハギワラ,クニヒコ
+ニシカワ,トモミ
+キタジマ,コウイチ
+タカウラ,ヤスオ
+アサダ,ヒデヨ
+キタズメ,アラタ
+ネモト,ワカコ
+タナカ,マサヒコ
+タナカ,カズヒロ
+アダチ,カズヒコ
+ハラ,マサユキ
+アカマツ,ケンゴ
+イマムラ,アツシ
+ムラヤマ,ヨウジ
+タケウチ,タカユキ
+ズシ,ヤスオ
+コバヤシ,カホ
+ヤマザキ,アツコ
+ハマグチ,ソウイチ
+カゲヤマ,ヒロユキ
+カナモリ,ヒデキ
+カトリ,ツヨシ
+アライ,ショウヘイ
+ミヤタ,マリコ
+スズキ,エミコ
+ハルタ,ヒデヤ
+ナカザワ,タカシ
+スガ,マサユキ
+マエデラ,テルユキ
+アラマキ,アツシ
+キタノ,タツヤ
+ヨシノ,シゲミツ
+ミクリヤ,ヨウコ
+オクノギ,ケンジ
+サクライ,ヨシカツ
+コンド,ナオ
+スズキ,ノリコ
+クリハラ,クミコ
+ムコウグチ,マキ
+フジイ,アキヒロ
+カゲ,ユウコ
+マエダ,ノブヤ
+ナガホリ,ユキコ
+ツジ,モモコ
+キムラ,シンタロウ
+マツオ,コウイチ
+タテノ,ノリヨシ
+キムラ,マコト
+スザキ,タツヤ
+イワサキ,ミヤビ
+サトウ,ユリ
+ニッタ,ダイカン
+タナカ,マリ
+シマダ,アカネ
+タニグチ,ノリコ
+ホンダ,スナオ
+ナカタニ,タカシ
+ミヤジマ,シュン
+クキヤマ,コウジ
+セキネ,リョウタロウ
+ヨシハラ,サトル
+ヒラタ,マサカズ
+ナガサワ,トシオ
+ナカガキ,ケイコ
+クロカワ,ヤスユキ
+カケタリ,ケンジロウ
+イトウ,カヨコ
+マエカワ,ジュンジ
+マツダ,アキオ
+クワハラ,マコト
+イイズカ,ワカコ
+マジマ,ヒデユキ
+ムラタ,トモコ
+アキイケ,ユウイチ
+ナミキ,テツヤ
+ヨシノ,ミキコ
+スズキ,ユキ
+タムラ,ミドリ
+カメダ,シンヤ
+ニシ,ヤスシ
+イナオカ,ケンジ
+イワサキ,ユウジ
+カンダ,ナミ
+タダ,エイキ
+ウツ,トモアキ
+シマダ,マサオ
+ヨシダ,ヒロユキ
+オクガワ,ヨシフミ
+スズキ,ケイコ
+タンポ,ミネコ
+ワダ,ナオコ
+ウルシハラ,エイスケ
+イイオ,タロウ
+ニイハラ,キョウコ
+オムラ,タクヤ
+イノウエ,ゼンジロウ
+モリナガ,トシヒロ
+サノ,ヒロシ
+ナカタニ,マサヤス
+アベ,マサナオ
+ウチダ,ケンジ
+ヒロタ,ユウサク
+イワクラ,カイジロウ
+イシオカ,ヒデアキ
+トキタ,ナツコ
+キノシタ,ナオスケ
+ミズノ,アイコ
+ヤスエ,マサミ
+イワモト,サトル
+ヤマジ,ユカリ
+コサイ,ユウコ
+クボ,トシエ
+チバ,ヒカル
+ヤツタニ,アツシ
+イガラシ,タカズミ
+アラカワ,アカネ
+テラサキ,モトアキ
+セゴエ,サトコ
+トクシマ,マサコ
+バンドウ,ショウコ
+タキザワ,ケンジ
+ミズサキ,ケンタロウ
+タキグチ,ケイ
+ヒオキ,マサシ
+ナカイ,アツミ
+オイカワ,レイコ
+マツムラ,チグサ
+エンド,ヨシオ
+タジマ,サトコ
+ヤマザキ,エイジ
+セノオ,コウジ
+ハラダ,トシマサ
+フクイ,トモカ
+マツウラ,ケイ
+カワムラ,ユウイチ
+テラモト,タカミチ
+ハギワラ,タクミ
+ナカシマ,エミコ
+キノシタ,ミチオ
+アライ,チズル
+ムラヤマ,ジュンコ
+サエグサ,トモミ
+タナカ,ミツコ
+マエダ,オサム
+ミヤザキ,カズミ
+イケベ,アキラ
+クワバラ,タカノリ
+ヨダ,タカオ
+タチバナ,ヤスアキ
+ヤマグチ,ヨシアキ
+イシハラ,ケイコ
+タキザワ,マサアキ
+ヒラノ,ヨシブミ
+カワサキ,タカヨシ
+ヤマモト,ヒサトシ
+アラセ,アツシ
+ヤナギサワ,マサノブ
+シオヤ,アキエ
+サトウ,コウイチロウ
+カトウ,ヒトミ
+オノ,ヨシタカ
+キタハマ,ヤスマサ
+ゴトウ,ノリコ
+ニノミヤ,マユミ
+ウスイ,トモノリ
+ミズシマ,タケル
+スドウ,マコト
+イケダ,アキコ
+ナカヒガシ,アリシゲ
+クリモト,ロワル
+トダ,ヒロタカ
+ハカマタ,アツノブ
+タニグチ,ハルミ
+イマゼキ,イクコ
+ホリオ,マユミ
+カスガ,ツヨシ
+カワセ,ナオコ
+サトウ,ヒロミ
+タカナシ,ノブアキ
+マツシタ,タカシ
+ヤグチ,ヒデキ
+カネコ,カズユキ
+ヒダカ,ミオ
+サッサ,タイチ
+ソガ,タクヤ
+スギウラ,ケンタロウ
+サトウ,アミコ
+タニバヤシ,サチコ
+ニシオカ,タカシ
+トモナガ,ナオキ
+オオハシ,ヒデキ
+ナガシマ,セイタ
+タニガキ,セイコ
+コウダ,コミナ
+キヨノ,サトシ
+ヤマカワ,トシオ
+ナカジマ,ヒロシ
+モテギ,コウジ
+オオヌマ,ユタカ
+サトウ,シゲオ
+フルイエ,ヨシコ
+アイモト,モトフミ
+ヨコオ,クニオ
+ニシカワ,ケンジ
+ビトウ,ヨシナガ
+キタムラ,シンヤ
+ヤマカワ,サダハル
+トミタ,タケシ
+ツチダ,ヒデト
+イシグロ,リエ
+マツオ,トオル
+ウエモト,コウイチロウ
+イイダ,ミキコ
+スズキ,シゲヒロ
+タムラ,カズヨシ
+オクダ,ノボル
+ホリ,ヨシミ
+クサツグ,ヤスシ
+ヤマダ,マサナオ
+アサハラ,タカヒロ
+トクダ,マンナリ
+イデタ,ヨシヒロ
+イトウ,テルミチ
+サトウ,キイチロウ
+ツジサワ,ケイ
+オノ,コウジ
+イワマ,ノブアキ
+ダイゴク,ジュンイチ
+ヤマムラ,ヨシカズ
+ハセガワ,トシカズ
+イギ,タカヒロ
+マカベ,マサカツ
+オカモト,カツオ
+オオハラ,ユキナオ
+セキヤマ,カズオ
+キタジマ,ヒロアキ
+トリウミ,マサヒロ
+ミヤザキ,タテオ
+ウイ,ヨシヒト
+クラモチ,カズヒロ
+シオヌマ,ヒデトシ
+ライタ,イクオ
+シモコウベ,ノブカズ
+サワノ,テルオ
+サカニシ,ユウジ
+ササキ,トシオ
+セイノ,ケイゾウ
+スズキ,アキヨシ
+サカモト,トシオ
+スズキ,シロウ
+サワノ,カツヤ
+シガ,テツヤ
+ゴトウ,トクマサ
+スダ,ジュンジ
+スズキ,ヨシコ
+サカキバラ,トシオ
+サトウ,ケンジ
+サカグチ,ヨシノリ
+スギサキ,ミツクニ
+スエキ,タカシ
+スズキ,ノブアキ
+シバタ,コトジ
+スギヤマ,タダオ
+サカイ,マサユキ
+シミズ,タダシ
+スギモト,トシオ
+サトウ,タクジ
+セキ,オサム
+サクライ,ハルユキ
+セキグチ,コスケ
+サトウ,エイジ
+スズキ,ユウノスケ
+サイトウ,タダオ
+セキネ,トヨフミ
+スズキ,ツトム
+イイダ,キヨタカ
+スズキ,ヒロシ
+ササキ,ミツオ
+スエナガ,トシオ
+サカモト,ヒデアキ
+サイトウ,マサミ
+スガオ,テツジ
+シマズ,ミノル
+サイトウ,フミオ
+シノザキ,アキラ
+スズキ,ヨシユキ
+スナガ,ケン
+サトウ,オサム
+スズキ,ケイタロウ
+セキネ,サダノリ
+ササキ,トシオ
+サワダ,アキラ
+サイトウ,カズオ
+シモゾノ,タダヒコ
+スエ,タカシ
+サドトモ,アキラ
+セキネ,ケンスケ
+サトウ,サトシ
+サンゴ,ヨシノブ
+スドウ,クニアキ
+ソノダ,ナオミ
+シマ,ミノル
+サトウ,ヨネゾウ
+サトウ,トミオ
+シブヤ,カズアキ
+サトウ,カズオ
+サトウ,テルヒコ
+サカタ,ヨネオ
+サイトウ,オサム
+スワキ,タカシ
+ソリ,タケジ
+サカモト,シュンイチ
+シライシ,マサトシ
+スズキ,アキオ
+シマダ,トシオ
+スズキ,マサヒロ
+スズキ,ヨシオ
+サトウ,ハジメ
+スズキ,キヨシ
+サトウ,ツトム
+シゲマツ,キヨシ
+サガラ,タカトシ
+サイトウ,ユキオ
+シングウ,タカオ
+スガヌマ,テルノブ
+ソガ,タケシ
+ササキ,ノブユキ
+サトウ,シゲル
+サワダ,テツオ
+ソマ,オサム
+シバタ,タケオ
+サトウ,ミチコ
+サトウ,キヨシ
+シマダ,ヒデオ
+ササキ,ノブオ
+サトウ,ケンジ
+サイトウ,シゲル
+シモデ,ヒデキ
+ササキ,トシオ
+サトウ,ヨウ
+サトウ,ヒサオ
+サワダ,シンイチ
+シロサキ,ヨウイチ
+シバイ,ススム
+サイトウ,ミチオ
+スズキ,トシオ
+ソガベ,イサオ
+セガワ,チヒロ
+シミズ,ミノル
+スズキ,ヨウジロウ
+シロヤマ,ヨシヒコ
+シイナ,ヨシオ
+サヤマ,マモル
+サカモト,マコト
+サトウ,ヒロシ
+スズキ,タダヨシ
+スズキ,テツロウ
+ササセ,カツユキ
+サクライ,マサキ
+シマダ,セイジ
+サトウ,カツヒロ
+シモノ,ヨウスケ
+スズキ,ヨシナリ
+スギモト,マサオ
+シミズ,タケオ
+サノ,ヨシノブ
+スズキ,コウヘイ
+シマダ,カズヒコ
+スズキ,ハルヒサ
+スギフジ,ヒトシ
+サカイ,シンイチ
+サカグチ,エイジ
+スガワラ,ダイサク
+シノズカ,ジュンイチ
+シガ,ミツオ
+サカガミ,トヨマ
+スズキ,カズユキ
+スギノ,ヒデオ
+スギウラ,ススム
+シミズ,カズミ
+スズキ,タケシゲ
+ササコ,セイゾウ
+セキ,ユキヨシ
+サトウ,タツジ
+シマ,ヒロシ
+スズキ,キヨテル
+サカモト,ヨシカズ
+ササキ,ヒロシ
+シマダ,イソジ
+サイトウ,タダヒサ
+シオタ,トヨオ
+シオダ,イサム
+スダ,エイジ
+シイナ,ケンゾウ
+シオノヤ,テツオ
+サイショウ,ヤスヒロ
+ソイダ,エイイチ
+ソマ,カンジ
+サトウ,ヒロシ
+サトウ,タケミチ
+シオバラ,キヨエ
+ササオカ,ヨシタカ
+ササキ,ミツノブ
+セト,フミオ
+シュドウ,タカオ
+サカモト,ヒロシ
+サクマ,タカシ
+シノザワ,ツヨシ
+シオバラ,ヒロユキ
+サクライ,ユズル
+サトウ,メグム
+サクライ,トシオ
+ササベ,ヒロシ
+サトウ,リュウゾウ
+スギウラ,ユウゾウ
+サカイ,マサオ
+ソマ,ノブオ
+ソウヤ,セイジ
+ソネカツ,アキラ
+セキネ,タケオ
+スズキ,ノリオ
+セキネ,トシツグ
+サカキバラ,カズトシ
+シモカワベ,ケン
+サワムラ,ナルミ
+セキ,ジュンイチ
+スズキ,コズエ
+サカマキ,ヒデアキ
+サガワ,トシヒサ
+スギヤマ,タケユキ
+スギモト,コ
+セオ,ユウジ
+サイトウ,タカシ
+サカイ,ミキオ
+サクライ,タダヒロ
+セキネ,マサノリ
+サトウ,ハツミ
+シミズ,タカシ
+シミズ,トシオ
+サイトウ,マサオ
+サクライ,マサアキ
+スギヤマ,ヤスオ
+シズカ,ヒサナオ
+シラカワ,アキラ
+サイトウ,ユズル
+サキモリ,イワオ
+サトウ,テツオ
+セキグチ,オキトシ
+セキネ,ノリコ
+シバタ,コウジロウ
+スズキ,タカヒロ
+サイトウ,ヒサオ
+サトウ,ノリオ
+セキネ,オサム
+サカイ,ハルヒコ
+ササオ,シンジ
+スドウ,マコト
+モリ,ショウジ
+シミズ,エイゾウ
+サトウ,テルオ
+スズキ,イサオ
+シムラ,ヒロトシ
+シバサキ,ヒロシ
+スガマタ,カズオ
+スズキ,ヒロシ
+シオノヤ,キヨカズ
+タカハシ,トシロウ
+ツキヤマ,キクオ
+ツノダ,ヨシキ
+タカハシ,ナオト
+トクザワ,モリハル
+タグチ,マサオ
+タカギ,ヒデオ
+タカノ,テルミツ
+タハラ,キヨカズ
+トヨサワ,コウイチ
+トヨマス,ケイイチ
+タカハシ,マサノブ
+タケウチ,テイジ
+タキイシ,リョウジ
+タカイシ,シゲオ
+タカサキ,ケンジ
+タニガワ,ヒロユキ
+タカハシ,マサトシ
+タナハシ,コウジ
+タマキ,ヒロシ
+トバ,マサシ
+タバタ,タカシ
+ツジ,タカオ
+タナカ,アツシ
+タカハシ,マサノリ
+トクナガ,キミオ
+タグチ,マサオ
+タキザワ,カツシゲ
+トミ,タネマサ
+ツジ,ケイコ
+ウチダ,トシオ
+タナカ,イワオ
+ツネヨシ,ノリカズ
+タカノ,ムネオ
+タカハシ,ユキチ
+タカヤナギ,ヨウイチ
+タケダ,ケイスケ
+タボ,ユタカ
+タナカ,カズオ
+タケウチ,マサキ
+タカヤス,トヨミ
+ツチヤ,ユハツ
+トクナガ,ケンジ
+ツチダ,ナオカタ
+ツボイ,エイエツ
+タカハシ,マサシゲ
+ツカモト,サダム
+タナカ,シゲル
+トモツネ,ススム
+チジ,トシハル
+サトウ,セイジ
+タカタ,ツネオ
+トハタ,ヨシミ
+タカハシ,ミノル
+タカハマ,ヨシアキ
+テラサワ,ナオコ
+タカバヤシ,ショウジ
+テラダ,シュウジ
+ツカダ,セイジ
+タナカ,ヒデオ
+トリマル,タミオ
+ツチダ,マモル
+タキモト,トシヒコ
+タキイ,ヒデアキ
+タネダ,ケンジ
+タムラ,ヨシノリ
+タドコロ,ヒサオ
+タカオ,マスミ
+タナカ,ヒカル
+タカハシ,ハツオ
+タカハシ,シゲユキ
+タカハシ,フジオ
+トミタ,トオル
+タカハシ,アツノリ
+タニグチ,ミチアキ
+タナカ,ユウゾウ
+ツボイ,ヒロミ
+タケウチ,ホブン
+ツダ,トヨシ
+タケダ,マサユキ
+タケイ,シゲオ
+ツジカワ,ユウイチ
+タケムラ,セイジュ
+タキ,マサアキ
+タカダ,マサアキ
+タキザワ,シゲル
+タナカ,マサジ
+タニムラ,タケヨシ
+ヨシザワ,マサハル
+ツネカワ,タロウ
+タナカ,ヒロシ
+タカダ,カツオ
+ツル,アキラ
+タニ,マサヒロ
+タグチ,イサオ
+タナカ,ジュンゾウ
+タニグチ,カズヒロ
+タナカ,ノリミツ
+ツジ,ユウイチ
+タナカ,カツミ
+ツユキ,ヒサオ
+タマル,マサミ
+ツチヤ,ケイジ
+ツルオカ,ノブオ
+タカハシ,テツオ
+タカハシ,ミツコ
+トウフクジ,トシオ
+タナカ,オキツグ
+タカギ,キョウコ
+タカハシ,ヨシヒサ
+タニグチ,リョウジ
+トヨダ,ヒトシ
+タカギ,タケシ
+タケイ,シゲル
+ツダ,フミオ
+ツネヒロ,ジュンジ
+タキザワ,トシオ
+タチバナ,ゴイチ
+タカハシ,カツユキ
+タニグチ,コスケ
+タケダ,カズト
+ツチヤ,ケンイチ
+タカハシ,トシアキ
+タノウエ,ヒコサブロウ
+タカバタケ,マサノブ
+タカハシ,マタサブロウ
+フナキ,テルヤス
+タケダ,カツマサ
+トクナガ,タツ
+アサイ,ユウジ
+タカハシ,ミキコ
+タカハシ,ノリオ
+タガワ,ショウイチ
+タナカ,ノブユキ
+タチカワ,タケシ
+タグチ,カズヨシ
+タカサキ,アキラ
+タマオキ,シズオ
+タナカ,セイイチロウ
+タカノ,シン
+タケウチ,シゲル
+ツダ,センジ
+タカナミ,マサル
+ツキナワ,ヨシナオ
+トミモリ,ススム
+タケダ,トオル
+トガシ,テツヒコ
+ツズキ,シゲトシ
+トビタ,ノブアキ
+トモナガ,ツネカズ
+ツツイ,シゲアキ
+タカギ,ジュンジ
+タニグチ,カズトシ
+タカノ,トシヒロ
+タナカ,サトシ
+トマツリ,シロウ
+タカギ,イツオ
+タカシマ,フミオ
+タハラ,ヨシアキ
+タナカ,カズコ
+タカダ,ヨシオ
+トリイ,ミツユキ
+タケベ,ノブユキ
+ツカモト,アキオ
+タムラ,ノブヒロ
+トミナガ,サカエ
+タカイワ,サトシ
+タバタ,ケンジ
+タカハシ,クニオ
+テンポウリン,ソウイチ
+テラウチ,サダユキ
+タカハシ,キヨシ
+タカセ,チカラ
+タケムラ,モトイ
+タムカイ,フミオ
+タカハシ,ユウジ
+タケツ,カツジ
+タノオカ,ススム
+タカハシ,タダシ
+トオヤマ,キヨノブ
+タケウチ,アツシ
+タカハシ,マサオ
+ウシオ,ユズル
+ウスギ,カズヒロ
+ウチヤマ,ヨウイチ
+ウメダ,カズスケ
+ウケモリ,マサナ
+ウチダ,ミチヤ
+ウエダ,ヒサオ
+ウチダ,ケイジ
+ウツキ,テツオ
+ウエダ,ミキヒコ
+ウチダ,ヒデキ
+ウエハラ,シュウ
+ウエムラ,ノブヤ
+ウチダ,サダユキ
+ウチムラ,ケイイチ
+ウチダ,ケンスケ
+ウチダ,ケイイチ
+ウエキ,アキコ
+ウカジ,マサテル
+ウチダ,マサアキ
+ウエムラ,ヒデオ
+ウシオ,トクジ
+ウメムラ,トシオ
+ウメシマ,リキツグ
+ウコン,カオル
+ウチイケ,ジュンイチ
+ウルシノ,タカアキ
+ウチナシ,ヘイタ
+ウグサ,マサユキ
+ウノ,トシヒデ
+ウエキ,ミノル
+ウエモト,ケン
+ウエムラ,ユキオ
+ウエハラ,ヒロシ
+ウエダ,シンペイ
+ワタナベ,ヒサユキ
+ワタナベ,カツミ
+ワタナベ,キンヤ
+ワカムラ,ヤスロ
+ワタナベ,ヒデジ
+ワタナベ,ヨシタカ
+ワタナベ,ヒロハル
+ワタナベ,カツナリ
+ワタナベ,ヒデオ
+ワタナベ,カツヒコ
+ワタナベ,ヤスアキ
+ワタナベ,タダシ
+ワキタ,コウメイ
+ワタナベ,トキオ
+ワタナベ,コンゴウ
+ワタナベ,アキラ
+ワタナベ,オサム
+ワタナベ,ケンジ
+ワタナベ,スミタダ
+ワダ,ヤスシ
+ワタナベ,タツヒコ
+ワダ,タケミツ
+ワダ,ホマレ
+ワタナベ,マサアキ
+ワタナベ,アキラ
+ワタナベ,シゲアキ
+ワカバヤシ,ミネオ
+ワタナベ,ヒサオ
+オオタ,マコト
+フジワラ,スミアキ
+コイケ,ミチオ
+カタオカ,テツヤ
+ヒロシゲ,キヨシ
+シンザワ,ヒロシ
+ミズカミ,マサミツ
+ナカジマ,ケイイチ
+フクシマ,シゲキ
+ナカ,ヒロシ
+ヒラヤマ,マサコ
+ニワヤマ,カツジ
+シミズ,ソウジロウ
+フルサワ,ツヨシ
+サクライ,ミズホ
+タケナカ,アツノブ
+スギウラ,カヨコ
+カトウ,ケンジ
+ホシカワ,マサオ
+オガワ,イサオ
+カシワギ,コ
+サカイ,ヒロコ
+モリ,ハルオ
+ホンボ,ノブユキ
+イイジマ,ヨシアキ
+コジマ,タカオ
+タカハシ,ノボル
+ハタ,ショウスケ
+オガワ,アキノリ
+ツチヤ,カツヤ
+コヤマ,イサオ
+フルミ,テツオ
+クメ,ツネオ
+クラタ,セツオ
+ウシジマ,マサカズ
+エバト,カツノリ
+サトウ,ノブユキ
+ムシャ,ナオヒコ
+ユアサ,マモル
+キクチ,ナオキ
+マツバヤシ,テルヨシ
+マツイ,アキラ
+タケムラ,ヒロシ
+テラシマ,ヨウスケ
+クラ,ヒデクニ
+マツイ,ヨシオ
+ウエダ,イサオ
+ハヤシ,シンイチ
+カワナ,ダイジロウ
+ハヤシ,カズオ
+デモト,マサヒロ
+シブキ,タケシ
+ハマ,タツオ
+エンド,コウザブロウ
+ミヤモト,タカヒサ
+マツダ,ヒロシ
+ヤマモト,トモコ
+ムラカミ,シゲオ
+オカダ,ダイキチ
+ワタナベ,カズユキ
+イワサキ,アキヨ
+ヨシダ,スミユキ
+オオモリ,マサノリ
+ミズタニ,ヒサエ
+スギウラ,カズオ
+ノナカ,ミツタカ
+ワタナベ,イサム
+サイトウ,タケオ
+オオカワラ,ゲンタロウ
+カドイケ,タケタダ
+マツモト,ノリカズ
+ナカ,タカオ
+カトウ,ケンゾウ
+カワイシ,ユウコ
+ナガサワ,ツトム
+スヤマ,クンロウ
+クマシロ,ヒロシ
+タカバヤシ,ヒデオ
+コンド,ケンゾウ
+イナバ,サトル
+コバヤシ,トシヒロ
+ヤマグチ,ミカコ
+スズキ,ユウジ
+アキヤマ,ユタカ
+タカダ,アキラ
+サワイ,マサヒコ
+ナカタ,キヨユキ
+イタバ,ユウイチ
+クニギタ,ヨウイチ
+ヤマダ,ヨウコ
+ヤマダ,ユウコ
+タカハシ,ヨウイチロウ
+ウメムラ,ノリヒコ
+コバヤシ,ノブアキ
+カネミツ,タダオ
+キド,マサシ
+カネキ,タダオ
+コムラ,マサヒロ
+フジモリ,ケンイチ
+ヤマシタ,テルタケ
+クリヤマ,マサヒロ
+トザワ,タカシ
+イシイ,チカトシ
+タカハシ,ヨウイチ
+タナカ,カズミ
+イシザキ,テツオ
+ハラダ,マサヒロ
+トクヒサ,シゲヤス
+イシムラ,タダヒロ
+ウエダ,タカシ
+オフチ,クニヒロ
+ヤツルギ,ミツオ
+ミナト,マユミ
+ヨシダ,マサヒロ
+ミナミ,ヤスオ
+オカ,アキオ
+イチカワ,カズオ
+オオクボ,ヒデキ
+イシダ,ヒロユキ
+トミタ,イサオ
+ヒラオカ,ヒロヒサ
+カトウ,ヒデオ
+オムラ,ムツオ
+オサジマ,トシヤ
+フナコシ,セツオ
+コウダ,ヒデアキ
+アサオカ,タツオ
+カスガ,アケミ
+モモハラ,ブンイチ
+ウエムラ,トシヒデ
+オバタ,カズコ
+オノダ,ユキオ
+ミヤシタ,カンジ
+ホソヤ,ヤスオ
+ヤシロ,ユキオ
+ワタナベ,アツシ
+キムラ,トキチ
+カミジョウ,ヒサエ
+サトウ,ヨシオキ
+マツシマ,アキラ
+カタヤマ,ヨウコ
+ヒラノ,ゴヘイ
+ナカライ,ダイスケ
+ヨコヤマ,ヒサオ
+オオガネ,トモヒロ
+キムラ,マコト
+ノザサ,ヨシノリ
+モリノ,カズシゲ
+エチゴヤ,ミチヒコ
+フクシマ,ヒデオ
+イトウ,マサユキ
+イケダ,ユキコ
+トクナガ,リエ
+キモト,アイコ
+オシダ,サトコ
+ハシモト,ノリカズ
+ノグチ,トシノリ
+ミヤベ,カズト
+クワハラ,ヤスエ
+キムラ,ヒロミ
+オダ,カズユキ
+アイザワ,タミオ
+ウエノ,カツオ
+マツバラ,ノリユキ
+タマイ,カズミチ
+シライ,ヨシオ
+オオハシ,コウジ
+タミヤ,フミヤ
+ハラダ,ヨシコ
+ウスイ,タカシ
+コリ,コウイチロウ
+ノダ,シゲヒコ
+ナミキ,マサト
+ナカオ,マサミツ
+カドヤ,アキラ
+オノ,トシヒデ
+シブカワ,シンイチ
+イワサワ,マナブ
+タブセ,イチロウ
+オサワ,タカヨシ
+ナカダイ,ケンジ
+エガシラ,ヒロユキ
+ササキ,カツオ
+フクチ,カズヒコ
+ヨシヤス,ゴウ
+ワタナベ,コサト
+ウエノ,レイコ
+エトウ,マサノリ
+ヨシダ,マサオ
+タケイ,ユウイチ
+ハヤシ,ヒサシ
+マタキ,シンゴ
+モリモト,イチロウ
+イハラ,ケンジ
+ツカハラ,テルオ
+カノウ,トモコ
+ムネユキ,ヒデマサ
+オオツボ,ヨシタカ
+ヤマモリ,カツオ
+アンドウ,セイキ
+ヤマザキ,ヨシアキ
+タキモト,ヨウイチ
+タケムラ,ナオカズ
+ムラカミ,マコト
+タカタ,ノリオ
+ヒロセ,ツタヒロ
+ヤクワ,タカシ
+シングリョウ,ヨウコ
+タチ,マサシ
+サトウ,カズオ
+ヤマモト,マサヒロ
+スドウ,ショウコ
+ホンマ,ヒロキ
+オオツボ,トシオ
+カザマ,ミツヒロ
+アガワ,ミホコ
+イノウエ,リュウイチ
+アライ,マサチ
+ウエムラ,ユタカ
+ニシクラ,マサヒロ
+ミヤザキ,ヨシカズ
+フクダ,モリマサ
+ツリヤ,タダオ
+タナカ,ヒロカズ
+オガワ,コウジ
+スズキ,ミノル
+ハマグチ,タクジ
+カメダ,カツヤ
+モモハラ,ヒデオ
+ヒラオ,タカコ
+タカダ,ナオユキ
+イケダ,ヨシヒロ
+スズキ,アキラ
+タカハシ,カズヨシ
+タナカ,ジロウ
+セラ,タイチ
+タケムラ,トシアキ
+ホリキリ,マモル
+イケダ,ミノル
+アラキ,セキネ
+オオツカ,カズイチロウ
+クニマツ,セイザブロウ
+ウシバ,タカシ
+ハヤシ,マサト
+イシイ,ミキオ
+カダ,アキラ
+ヤギ,タダオ
+ヒライ,コウイチロウ
+クロセ,ヒロシ
+オカベ,イサム
+カネコ,トシユキ
+コジマ,サトル
+ニシヨリ,ミノル
+ナカジョウ,ジロウ
+ハシクラ,ツトム
+タカハシ,タツオ
+ウエクサ,ノブアキ
+シバタ,ヒロシ
+タカハシ,テルオ
+イナバ,カズト
+ジュンイチロ,アキノリ
+ハヤカワ,ヒデオ
+イトウ,タケシ
+キモト,マサツグ
+イダ,ヒロシ
+ホウジョウ,カツヒコ
+ホリイ,ツネオ
+カイセ,アツシ
+ハシモト,ヤスアキ
+スズキ,ヒトシ
+カネサカ,ヨシオ
+ヤマグチ,ユウジ
+スズキ,マサカズ
+スドウ,マサヒコ
+オオバ,ミホコ
+ムラタ,トシコ
+アキヤマ,マサシ
+アスマ,タケオ
+カワジリ,ヒデオ
+マツモト,キョウジ
+シロヤマ,コ
+フジイ,アツコ
+ゴトウ,ダイスケ
+タニアイ,ヤスマサ
+カツボリ,マキ
+ヒアテ,クミコ
+テライ,アキコ
+ハンダ,マサコ
+ミシマ,ヒロミ
+タカシマ,カズミ
+マツダ,アキラ
+コンド,ノリコ
+イタヤ,ケンジ
+マツモト,ナオタケ
+イイヤマ,ヒデオ
+ジット,カツヒロ
+クボタ,サチコ
+イシグロ,エイジ
+モリ,ウツミ
+カンノ,サチコ
+イトウ,セイジ
+ヨシダ,リュウジ
+マルヤマ,クニオ
+サトウ,ナホ
+コウダ,ヨウジ
+ワタニ,マモル
+サセ,イクオ
+ソトヤマ,カツノリ
+ホンダ,テルクニ
+イヌイ,ユタカ
+スズキ,ヨシノリ
+コニシ,ヨシノブ
+スギイ,ユキヒサ
+アラキ,ノブオ
+ヒラオカ,ヤスシ
+オオツカ,ムツオ
+カトウ,シゲオ
+シオノ,ヒロシ
+カタヤマ,ヒロノリ
+フチカミ,タケヒコ
+ヒラキ,タモツ
+イワサキ,キミオ
+エノキ,ジュン
+イワタ,セイイチ
+シュトウ,タダシ
+トオヤマ,マツノリ
+コイデ,ジュンザブロ
+タナベ,ユウジロウ
+ヤマモト,シュンイチ
+カイハツ,セイシ
+アライ,カツジ
+ウエダ,ユウゾウ
+クラオカ,ソウイチロウ
+コバヤシ,エツヒロ
+タメチカ,タテオ
+ヨシダ,シズオ
+マツモト,シゲル
+サカシタ,カネオ
+ワダ,トシアキ
+イトウ,ヤスオ
+ヨシダ,カツジ
+ヨネダ,トシヒデ
+オムラ,マサミ
+タカギ,シチロウ
+ウチヤマ,アキコ
+カシワギ,ケイコ
+ニシダ,セツオ
+オシカ,タケオ
+エジマ,トモノリ
+オカ,ケンイチ
+ヨシダ,ヤスエ
+イマイ,ヤスシロウ
+ヤマミチ,トモコ
+アイモノ,カツオ
+ヒノ,モトコ
+タカハシ,ミサコ
+ヨコタ,エイコ
+イノウ,タエコ
+ヨシダ,ヒロコ
+ヨシオカ,アキコ
+ウメザワ,ウキコ
+テラオ,ヒロヒサ
+カワハラ,ハルオ
+ハセガワ,ミノル
+キシ,テルコ
+ハシズメ,ミツヒロ
+ヨシダ,メグミ
+ミネフジ,ナオコ
+ホンダ,ユミ
+タカサワ,ミユキ
+オオハシ,ヨウコ
+カガワ,チカ
+ニシダ,マリ
+イタガキ,アキコ
+アキヤマ,ノリヒロ
+オチリ,ヤスヒロ
+ノザワ,コウジ
+サイトウ,ケンジ
+キムラ,チエ
+アベ,ナオト
+クスノキ,トモコ
+ハヤシ,ヤスヒロ
+オオイ,ナオミ
+カミオカ,ハルヨシ
+アキヤマ,イサオ
+アリタ,カツミ
+キタムラ,ミチユキ
+マスムラ,タカノリ
+オオサワ,ケン
+カワイ,ミノル
+イタガキ,ヒデオ
+モリ,タカオ
+アオキ,ミキオ
+フジシロ,コウジ
+シミズ,モトシゲ
+ムラカミ,ミヨシ
+ナカジマ,テツオ
+モギ,アキオ
+ミウラ,カズオ
+タカマツ,ケンジ
+タカダ,ショウイチ
+コンド,マサコ
+ナカジマ,ヒトシ
+ネレイ,ヒロシ
+ウシク,オサム
+キタザワ,コ
+サッサ,ノブヒロ
+イッシキ,ヨシヒロ
+カワノ,ノリツグ
+イシハラ,フミタカ
+カメオカ,タダオ
+キウチ,ノリカズ
+ナガイ,ヒトシ
+ノグチ,ミチオ
+オシタ,タカオ
+ヨシムラ,トシミチ
+アカホリ,ミツノブ
+マルナガ,ヨシツグ
+ヨシノ,コウタロウ
+ヤノ,ヨシヒロ
+ヤマグチ,マサヒデ
+ヤマグチ,カツトシ
+センドダ,マサル
+ヤスダ,アキラ
+ヨコエ,ジュンイチ
+ヤマシタ,セイザブロウ
+ヨシダ,トミゾウ
+ヤマシタ,ススム
+ヤスイ,カズオ
+ヤマオカ,キョウスケ
+ヨコセ,トモシゲ
+ヤマグチ,ケンジ
+ヤハギ,ヤスハル
+ヤマオカ,ヒロマル
+ヨツヤ,トオル
+ヤマモト,ジュンコ
+ヨシカワ,トシロウ
+ヤマシタ,ショウジ
+ヤマオカ,ヒロコ
+ヨネミツ,セイジ
+ヨシダ,ケンイチ
+ヤマザキ,テツオ
+ヤマモト,ヒカル
+ヤマグチ,ミノル
+ヤマウチ,サカエ
+ヨシザワ,カツミ
+ヨシオカ,カツヒト
+ヤマモト,ノブオ
+ヤマオカ,ミチトシ
+ヤマザキ,アキラ
+ヨシムラ,マサヒコ
+ヤスダ,コウジ
+ヤマシタ,セイイチ
+ヤダ,シンヤ
+ヨシダ,イチロウ
+ヤマモト,ツトム
+ヤマダ,ゴロウ
+ヨネダ,カオル
+ヨシダ,マサヒロ
+ヤマダ,クスオ
+ヤマグチ,タカフミ
+ヤマグチ,フミヒロ
+ヤマモト,タカコ
+ヨシダ,ススム
+ヤマシタ,ショウゾウ
+ヤンベ,アツヒロ
+ヤマグチ,ノリヨシ
+ヤマモト,ジュンジ
+ヤマネ,コウジロウ
+ヤマサキ,ケンタロウ
+ヤスオカ,ユキオ
+ヤマダ,エイゾウ
+ヨシザワ,ジロウ
+ヤジマ,アキラ
+ヤナイ,テツオ
+ヤマザキ,カズオ
+ヤマウチ,フクミチ
+ヤマザキ,ススム
+ヨシノ,タツユキ
+ヤマカゲ,タダノブ
+ヤギ,ジツノリ
+ヤスダ,マサオ
+ヤマヤ,ノブオ
+タカグチ,ノボル
+ヨシダ,ヒロシ
+ヨシノ,コウジ
+ヤマムラ,ジュンイチ
+ヤギ,カツノリ
+ヤマダ,コスケ
+ユカワ,マサトシ
+ヤマモト,ジョウジ
+ヤマタニ,ヒロツグ
+ヤマムロ,ヨシカネ
+ヨシダ,トシヒコ
+ヨコカワ,トモヨシ
+ヤマザキ,コウイチ
+ヤマモト,タケオ
+ヨシノ,キヨシ
+ヤマネ,ヨネタカ
+ヤスナガ,アキヒロ
+ヤナカ,ケイイチ
+ヤマネ,テツオ
+ヤマウチ,ヨシユキ
+ヤマグチ,ユウジ
+ヤマワキ,ショウタロウ
+ヤマカワ,ジュンイチ
+ヤマダ,カズミ
+ヨコヤマ,ショウタロウ
+ヤマモト,ヤソミ
+ヤマグチ,ノボル
+ヤマグチ,タカヨシ
+ヨシダ,タカオ
+ヤマナカ,カズミ
+ヤマモト,タダハル
+ヨシダ,タカオ
+ヤマダ,サトル
+ヤマオカ,ヨシトモ
+ヨコヤマ,マサヒサ
+ヤマサキ,ノリオ
+ヤマモト,カツヒコ
+ヤマカワ,マサヨシ
+ヤウチ,タダヨシ
+ヨシハラ,カツジ
+ヨコミゾ,シゲル
+ヤマモト,シュウゾウ
+ヤマモト,テルオ
+ヤマモト,エイイチロウ
+ヨシダ,マサヒロ
+ヨシダ,フミヒロ
+ヤスイ,ミノル
+ヤマグチ,シゲル
+ヤマモト,アキラ
+ヨコタ,エイイチ
+ヨシダ,ユタカ
+ヨコヤマ,ヒデキ
+ヤスイ,カズモト
+ヤマサキ,カズヒロ
+ヨシオカ,ノブオ
+ヨシダ,シュンロク
+ヤマダ,カツヒロ
+ヤマモト,ヨウジ
+ヨシダ,セイゾウ
+ヤマザキ,セイシロウ
+ヤマネ,ナオジ
+ユタニ,ススム
+ヨネザワ,ヨシヒロ
+ヨシノ,ダイスケ
+ヨシダ,タケオ
+ヨシモリ,ヒサトヨ
+ヨシワラ,タケシ
+ヤマダ,トシキ
+ヨシダ,トシカズ
+ヨシダ,ムツオ
+ヤマモト,モリヒコ
+コジマ,クニカツ
+オノ,シゲオ
+マエカワ,コウタロウ
+コンノ,ノブユキ
+マキセ,キヨシ
+ノムラ,マサタカ
+ヤスハラ,マサヒコ
+ナガシマ,アツヨシ
+キタハシ,マサオ
+ツル,キヨミチ
+ツクダ,ミチオ
+テラウチ,タケシ
+ヤマダ,サトル
+センバ,ススム
+サエキ,ノリオ
+オカダ,ショウイチ
+ミヤウチ,ヒサオ
+コンド,トシオ
+フキアゲ,ヤスオ
+イシカワ,チヨタケ
+イワモト,マサオ
+クボ,ジュンイチロ
+タナカ,ヒロカツ
+ワダ,ノリオ
+イワオ,ツネノリ
+クマガイ,タカヒロ
+スズキ,ヒロフミ
+タカムラ,ヒロシ
+ニシウラ,セイイチロウ
+ミツジ,マサシ
+タキキタ,アキラ
+オウチ,ケンジ
+コマ,アキオ
+マスダ,ケンジ
+カトウ,トシロウ
+イイズカ,カズヒコ
+マルヤマ,ノブアキ
+トシタニ,トオル
+ハナブチ,マサヒロ
+イマイ,マサゾウ
+オカヒロ,ツネオ
+キムラ,トシヒコ
+タジマ,マサハル
+カンダ,ツラユキ
+ドイ,オサム
+アラガキ,ヤスノブ
+キュウソジン,ケンスケ
+タケウチ,ツネヨ
+ウヌマ,ヒデナリ
+ヤマグチ,ヨシタカ
+ヨモリ,モトヒサ
+シマザキ,クニヒコ
+トクヤ,トシオ
+ヤマダ,アキラ
+フカヤ,シゲオ
+エグチ,ハルオ
+サノ,ヒデノブ
+トクノ,アキラ
+オオトモ,サダム
+シラオガワ,ヒロシ
+ヒラノ,タイキ
+オダ,ユウジ
+タナカ,リョウゾウ
+フジタ,アキラ
+アライ,アキヒデ
+フジタ,ユウジ
+ナカガワ,ヒロユキ
+ナカニシ,カズシゲ
+ハラ,アキヒロ
+チバ,トシコ
+イシワタ,トシヒサ
+ヤグチ,タケヒロ
+テジマ,カズオ
+タツタ,シゲル
+クサカ,タケシ
+フルタ,タケハル
+ゴトウ,マサノブ
+オダギリ,タダシ
+クマガイ,タケル
+ムラカミ,ミズホ
+ミムラ,マサオ
+ヨコイ,クニヒコ
+イナゲ,トモユキ
+アメミヤ,ミツオ
+イノウエ,サダオ
+ヌマタ,ジンイチ
+サカモト,ゴヘイ
+ヒラマツ,サダオ
+ナリタ,カオル
+ツネミ,イチロウ
+タカシマ,フサヒコ
+ミス,カズミ
+サキヤマ,ヨシヒコ
+フジワラ,タダシ
+トミタ,マサヒロ
+ツナワキ,ミネオ
+ハセガワ,タケシ
+フクザワ,ユウゾウ
+ゴエケ,アキラ
+ナカ,マサヒロ
+エバト,ケイコ
+コバヤシ,シンイチロウ
+ヒラツカ,キヨシ
+サトウ,ノブオ
+イノウエ,アキラ
+ハスヌマ,マサオ
+フルハタ,アサコ
+ウエノ,アツシ
+タケナカ,マサヒロ
+クニタケ,ヨシオ
+ヒラタ,ユウコ
+ハセガワ,ゲン
+フクハラ,アツシ
+フナグチ,トオル
+アマノ,ノリコ
+オオノ,ミズノリ
+スワ,ノリコ
+ノガミ,ミカ
+ウメノ,ヤスユキ
+イケノ,ユウコ
+ナカジマ,ハナコ
+イシイ,キョウコ
+サイトウ,トモコ
+タナカ,カズユキ
+タテイシ,トシカズ
+スズキ,ヨシヒコ
+キノシタ,ヒカル
+オオサワ,ヨシヒロ
+イデ,サキコ
+オガワ,シホ
+エノモト,ワキコ
+オザワ,ミズホ
+ハタケヤマ,トモヒロ
+イイダ,ミツアキ
+シノザキ,ジュンイチ
+オカダ,リエコ
+タカマ,マサシ
+ヤギ,ヒロユキ
+サカイ,マサヨ
+シミズ,コウジ
+ホリカワ,ヨウコ
+ナガオ,コウヘイ
+ヒライシ,マリ
+サガワ,タモツ
+ハラダ,マサミ
+タカハシ,リュウイチ
+タチ,マサヨ
+ヒエ,キミオ
+タダ,ミナコ
+ヨシモト,ヒロコ
+モチズキ,チヒロ
+タナカ,コウジ
+タグチ,マユミ
+サトウ,イクオ
+サカシタ,ユキエ
+カワシマ,マユミ
+ホリグチ,カオリ
+フクマ,スミタカ
+カワタニ,アキラ
+ジビキ,オサム
+サイトウ,ミツル
+シオツ,イサオ
+トバタ,ノリカズ
+ヤマモト,マサヒコ
+オフチ,ヒロミチ
+シノハラ,ノブオ
+ヤマカワ,カズタダ
+タムラ,トシオ
+ハタケヤマ,タカコ
+タナカ,ヒカル
+カナザワ,ヒデアキ
+タカハシ,エリコ
+フジムラ,ミナコ
+ナガシマ,ヨシユキ
+キノシタ,トキコ
+コンド,マミ
+アンベ,マナミ
+サイトウ,イズミ
+アサダ,ミキ
+キノシタ,フミエ
+カドヤ,アキコ
+ウエダ,トオル
+サイトウ,モニ
+タカハシ,マサヒロ
+イシザキ,シモン
+オザワ,テルヒサ
+ハヤシ,オサム
+ヤガワ,ミチオ
+タカハシ,タミオ
+トミヤマ,ヨシアキ
+アダチ,ユウゾウ
+アカイワ,ショウスケ
+カガヤ,ユキノブ
+アライ,サオリ
+オシキリ,タカシ
+ヤマムラ,エイジ
+タカヤマ,トシユキ
+ヨコヤマ,オサム
+バン,ツグオ
+イズミ,ヨシノリ
+ミズノ,タダオ
+ブンヤ,ミノル
+テラオカ,ショウジ
+ミヤシタ,ミノル
+アサマ,ケイコ
+ササキ,テツオ
+ニシオ,ヨリト
+フルヤ,テツオ
+イマダ,ヒデユキ
+イシハラ,イクエ
+ハシモト,ミキオ
+マルヤマ,トモユキ
+カジ,カズタカ
+カネコ,ハナコ
+ナカダ,ノリヒト
+チザワ,ナホ
+サワ,アサコ
+トガメ,ミワコ
+ヨシダ,ゲン
+オオノ,ヒロコ
+ヤコ,マサヒコ
+イシカワ,アキノリ
+コトダ,ヒロコ
+サガワ,カズマ
+ノグチ,カズマサ
+デンボ,ヒロフミ
+ハルキ,アキヒコ
+イネ,ショウエイ
+オオノ,クニオ
+カネダ,タツヒコ
+ノグチ,アキラ
+オオバ,ヒロミツ
+オタ,トクイチロウ
+シモマキ,ヤスオ
+ワタヒキ,ユウコ
+ヤマモト,マリ
+フジムラ,マリコ
+ソウミヤ,ケンジ
+シマ,クミ
+ササキ,タカユキ
+カガワ,レイコ
+タケウチ,クミコ
+サイキ,ミヨコ
+イトウ,ノリコ
+キムラ,ヨウジ
+タバタ,タカヒロ
+クメ,トヨアキ
+タカダ,マリコ
+タムラ,ミエ
+タカマツ,マキコ
+シロシタ,シュウサク
+カトウ,トモユキ
+アワイ,トシノリ
+ホサカ,ノリコ
+タナカ,ルミ
+ミヒラ,シュウサク
+サトウ,ケイコ
+オザワ,ユキオ
+スズキ,ケンジ
+ミヤザキ,リュウゾウ
+モリタニ,ユカリ
+イワグロ,ツトム
+ウエマ,ショウコ
+フカタ,チカ
+ヒロセ,アキコ
+オカダ,ヒロミ
+カトウ,アリカ
+マキ,サユリ
+ノダ,トモカズ
+クボ,キョウコ
+ニシキオリ,ツギオ
+ヤノ,ジュンコ
+カワムコウ,ナオキ
+ヤスムラ,ミヨコ
+トニシ,トモコ
+ヤマモト,ヒカル
+シモダ,ダイスケ
+オオタニ,クニオ
+オノサト,ハン
+カナザワ,ヒロアキ
+オカモト,ミワコ
+サイトウ,ミナコ
+カシワバラ,ノブコ
+タカハシ,マサノブ
+サイトウ,マナブ
+マツダ,ヨシアキ
+タチザキ,ワカコ
+コンド,トモコ
+シミズ,ダイスケ
+ナガオカ,カオリ
+ナカガワ,アツシ
+タカト,ヒロユキ
+キムラ,タカシ
+ナルセ,キヨミ
+オグマ,カエ
+タカハシ,ミナエ
+キクチ,セイコ
+サトウ,ハジメ
+エンド,マリコ
+タムラ,トモノリ
+ヤマモト,コウジ
+アサイ,ヨシヒロ
+モリ,オサム
+タカシロ,メグミ
+オカ,サイカ
+カトウ,トシヤ
+イグチ,サチコ
+タナカ,キョウコ
+ヨシダ,コウジ
+アキモト,マドカ
+ニシイ,ジュンジ
+ワシオカ,コウジ
+イヌマル,ヒロジ
+ホシ,シズカ
+ヨネヤマ,マサノブ
+クロベ,ユウイチ
+イシイ,ヒサエ
+ヒグチ,ジュンイチ
+ナカダ,タカハル
+オノデラ,ナオコ
+トダ,トシユキ
+マエダ,ヒロコ
+ナガイ,ユキコ
+コヌタ,ヒサヨシ
+シバサキ,カツトシ
+ウカイ,アキカ
+スズキ,チハル
+ヒラキ,ノブコ
+ナカムラ,ユウコ
+ヤマダ,マサミ
+カドクラ,マサシ
+タカサキ,コウジ
+ナカタ,キヨミ
+タニカワ,ホズエ
+ニシムラ,マサヤ
+ミナミ,アヤミ
+オオヌキ,ミノル
+サトウ,ヒロシ
+タカハシ,タカオ
+ヒダ,オサム
+サクマ,シマ
+ニエダ,タカシ
+ヨコイ,レミ
+ヨネクラ,タケオ
+バンバ,リエ
+ヤマダ,アキヒデ
+イマムラ,ルリコ
+イケダ,チアキ
+ナカムラ,ミナコ
+スドウ,リエ
+ナカソネ,カオリ
+オオサワ,チカコ
+サトウ,シチロウ
+エイドメ,ユキ
+イガラシ,ミカ
+タヤ,タカコ
+オオヒラ,ヨシコ
+サカモト,サトシ
+スギモト,コウジ
+カトウ,ミナコ
+ヨシイ,タダヒロ
+イワヤ,ヨウコ
+キノシタ,キョウコ
+スギサワ,カズヨ
+ワダ,ミヨコ
+ミヤシタ,エミコ
+ウエノ,ノブコ
+オオタキ,ユミコ
+イシバシ,キョウコ
+イワシタ,マサオ
+イシカワ,ヒデヒコ
+キシ,タテオ
+マルヤマ,ヒサオ
+ホンマ,タカオ
+クスモト,イサオ
+イマノ,キミヒデ
+オオニシ,セイゾウ
+ヤマダ,ショウ
+フジオカ,トラオ
+ハナダ,ヤスカズ
+シバタ,アサオ
+ミヤシタ,ユキオ
+カサハラ,マサオ
+オオヤケ,ハルオ
+イマイ,クニオ
+コセキ,マリコ
+オオタ,ノボル
+マチイ,カズヒロ
+キクチ,セツオ
+ヒグチ,カズエ
+ミナヨシ,ジュンジ
+スズキ,ヒロカズ
+ナンバ,ナオキ
+オオニシ,ダイサク
+ハヤシダ,タカトシ
+タナカ,ヒデヒロ
+カネコ,カズノリ
+ツチヤ,トモユキ
+イイダ,エツオ
+フルヤ,カズオ
+ナカムラ,ミツグ
+ハルハラ,タカシ
+ホリエ,ヨリシゲ
+オオタ,タケシ
+スズキ,ヤスツグ
+オト,マサトシ
+ナカガワ,マユミ
+カワシマ,ヨウヘイ
+テラモト,ユウジロウ
+キムラ,アキラ
+ヨドナワ,ユカリ
+コダイラ,ヒデアキ
+カクライ,ヨウコ
+オグリ,ヒロヨシ
+ハタ,ケンジ
+マツモリ,カズオ
+ヨシオカ,セイジ
+シゲタ,ミチアキ
+カワグチ,トモヒロ
+カネコ,マサオ
+アサヒ,タダアキ
+ワタナベ,コウジ
+アリヤマ,ツグオ
+ツジタ,タツオ
+ヨシハシ,ヒデオ
+ミシマ,セイシ
+サトウ,カツジ
+カネマル,エツヒロ
+カネコ,ヤスシ
+エジマ,ヒロアキ
+ミツクチ,ジュン
+モリ,キミオ
+オチ,セイイチ
+マエカワ,カズオ
+タナカ,マサノリ
+オリガサ,マツノリ
+コセキ,カオル
+ヒラヤマ,タダシ
+コボリ,エツヨシ
+ナカウエ,タツオ
+ストウ,マサオ
+ゴトウ,キヨヒコ
+ツカモト,ヒロミチ
+エビハラ,ヨシアキ
+モリノ,ヒデノリ
+スズキ,マサアキ
+ヨシダ,マコト
+イマイ,マサキ
+ヒノ,ムネタカ
+ヨシダ,ミナ
+オニズカ,スミタダ
+タカギ,マサヒコ
+オムラ,カツヒト
+ウチヤマ,エツコ
+クロカワ,ヨシノブ
+ヤマシタ,タキオ
+ニシダ,ヒサエ
+カシワギ,ヒロシ
+カネコ,ユキコ
+クマダ,ミキオ
+コジマ,ナオズミ
+シライ,テツヒコ
+フルカワ,リエ
+ムシウ,タダアキ
+ヨシノ,トシオ
+スギウラ,セイイチ
+フジサワ,マリ
+サトウ,アキヒロ
+エザキ,タカユキ
+ムラカミ,タカオ
+ニワヤマ,マツモリ
+ヤスノ,ミカ
+ドウダ,トモヒコ
+カジイ,モナミ
+タナカ,ヨウコ
+マツナリ,イサオ
+オオバヤシ,コウキチ
+タカハシ,タクヤ
+マツムラ,ヤスマサ
+コモリ,マキコ
+ノゾエ,カズエ
+オノ,キヨミ
+カンノ,コズエ
+サトウ,ケイコ
+ノナカ,ワカコ
+カワハラ,ユミ
+ナカムラ,マユミ
+ヤマシタ,トシカズ
+コウイチ,モモエ
+イタヤ,ヒデオ
+ヤマ,フミコ
+ヤマモト,ソウイチロウ
+クラタ,ヤスコ
+カワズ,イタル
+ミカミ,コウイチ
+タキガワ,ヨシカズ
+タナカ,ヒロアキ
+ミヤタ,タカテル
\ No newline at end of file
diff --git a/src/com/ibm/icu/dev/test/perf/data/collation/TestNames_Korean.txt b/src/com/ibm/icu/dev/test/perf/data/collation/TestNames_Korean.txt
new file mode 100644
index 0000000..eaca441
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/perf/data/collation/TestNames_Korean.txt
@@ -0,0 +1,49795 @@
+﻿#/**
+# *******************************************************************************
+# * Copyright (C) 2002-2004, International Business Machines Corporation and    *
+# * others. All Rights Reserved.                                                *
+# *******************************************************************************
+# */
+
+가재범
+가효림
+가길기
+가원학
+가재완
+가동수
+가중종
+가병봉
+갈보금
+갈상종
+갈운권
+갈수열
+갈종용
+갈병원
+갈기섭
+갈달덕
+감동훈
+감갑운
+감강하
+감국희
+감정화
+감성철
+감민철
+감성원
+강경구
+강영생
+강춘식
+강용덕
+강경례
+강병규
+강한수
+강정이
+강경록
+강종수
+강규봉
+강만성
+강경숙
+강석하
+강정화
+강점조
+강경인
+강승현
+강병헌
+강은환
+강경자
+강명태
+강성조
+강미조
+강경자
+강종희
+강용석
+강기하
+강곡지
+강대순
+강대순
+강경근
+강광식
+강회조
+강석수
+강종춘
+강구승
+강재철
+강충구
+강광열
+강구환
+강만영
+강종환
+강길범
+강귀점
+강장우
+강기용
+강정휴
+강귀환
+강점순
+강 방
+강경호
+강근수
+강경수
+강용훈
+강병순
+강근환
+강해선
+강홍석
+강춘규
+강금배
+강명연
+강세태
+강진숙
+강금배
+강종연
+강정승
+강월분
+강금자
+강철수
+강경학
+강석태
+강기순
+강현선
+강상하
+강재진
+강기완
+강정준
+강본환
+강하필
+강기원
+강사희
+강용문
+강원진
+강기임
+강상조
+강동태
+강재헌
+강기형
+강순봉
+강광옥
+강인희
+강기형
+강병용
+강태태
+강봉원
+강길원
+강학현
+강재식
+강갑삼
+강남중
+강정임
+강영원
+강태호
+강남중
+강용진
+강덕달
+강현흠
+강노형
+강점조
+강회분
+강영식
+강달수
+강춘영
+강억철
+강종진
+강대석
+강교학
+강상주
+강이철
+강대영
+강차순
+강영국
+강수희
+강대용
+강숙향
+강상희
+강윤철
+강대용
+강태택
+강규술
+강홍학
+강대익
+강만길
+강일래
+강상석
+강대진
+강남호
+강상호
+강무의
+강대현
+강영란
+강선금
+강창열
+강대형
+강재수
+강순근
+강재환
+강대희
+강해생
+강수현
+강규숙
+강덕수
+강경원
+강향석
+강무덕
+강덕용
+강완태
+강옥원
+강중임
+강덕윤
+강태운
+강장례
+강영학
+강동중
+강용열
+강수운
+강 금
+강동철
+강달덕
+강귀태
+강명학
+강동철
+강광암
+강상모
+강옥만
+강동현
+강태섭
+강재술
+강신조
+강두진
+강상국
+강육열
+강영종
+강록중
+강성복
+강민석
+강선자
+강만수
+강관현
+강재홍
+강병선
+강만흥
+강점기
+강귀산
+강천윤
+강말분
+강재구
+강순조
+강정칠
+강말임
+강재수
+강영용
+강병찬
+강명관
+강명조
+강재이
+강석호
+강명암
+강수곤
+강권규
+강성구
+강무중
+강택철
+강종환
+강대석
+강문돌
+강철호
+강상진
+강환란
+강문술
+강용호
+강형현
+강현섭
+강미숙
+강승화
+강태식
+강성자
+강병규
+강성복
+강일종
+강동희
+강병석
+강창미
+강필기
+강계현
+강병열
+강복길
+강광수
+강영석
+강병환
+강연룡
+강철술
+강진이
+강복춘
+강동철
+강정조
+강상백
+강봉우
+강원수
+강명호
+강권현
+강분도
+강도석
+강해태
+강위섭
+강사현
+강후수
+강윤상
+강희국
+강삼록
+강명석
+강화임
+강철화
+강삼문
+강강수
+강복호
+강선섭
+강삼문
+강한현
+강용갑
+강태동
+강삼조
+강태정
+강창일
+강해원
+강상백
+강복용
+강기열
+강창규
+강상복
+강경제
+강순원
+강순열
+강상봉
+강영의
+강종윤
+강효원
+강상윤
+강수영
+강달철
+강영숙
+강상희
+강병배
+강순규
+강귀상
+강석대
+강인운
+강원수
+강정식
+강석주
+강용복
+강희길
+강종남
+강석주
+강태봉
+강성한
+강상성
+강선동
+강명명
+강기갑
+강희수
+강선조
+강춘출
+강인석
+강정옥
+강성락
+강현록
+강학직
+강월섭
+강성배
+강월진
+강상환
+강진환
+강성일
+강정자
+강달주
+강재교
+강성해
+강기숙
+강용명
+강명헌
+강세규
+강기기
+강정기
+강두자
+강소준
+강재호
+강정기
+강광기
+강수기
+강계현
+강진형
+강인호
+강수진
+강순화
+강종식
+강술민
+강수형
+강재배
+강옥은
+강성기
+강숙희
+강낙우
+강필분
+강종식
+강순경
+강영원
+강복열
+강금악
+강순옥
+강춘환
+강대경
+강상난
+강순이
+강종일
+강경정
+강병헌
+강신균
+강헌수
+강말조
+강은숙
+강신영
+강호만
+강영태
+강용록
+강신영
+강호용
+강수식
+강춘수
+강신임
+강의찬
+강판선
+강승문
+강신찬
+강병웅
+강복래
+강만열
+강신택
+강명구
+강현갑
+강인석
+강쌍득
+강천용
+강재국
+강기조
+강언술
+강의수
+강경호
+강근원
+강연구
+강희석
+강영준
+강병진
+강연이
+강창연
+강상희
+강상열
+강영규
+강재봉
+강호관
+강연진
+강영수
+강판호
+강영현
+강금휴
+강영수
+강경수
+강재식
+강천이
+강영수
+강광태
+강면제
+강윤석
+강영수
+강환례
+강계광
+강말규
+강영수
+강병도
+강용견
+강삼식
+강영원
+강해환
+강선수
+강말진
+강옥구
+강학원
+강만선
+강칠식
+강옥구
+강병희
+강수광
+강황이
+강옥금
+강태종
+강정기
+강상삼
+강외순
+강인찬
+강병택
+강연식
+강용덕
+강병봉
+강석일
+강상연
+강용식
+강경용
+강영화
+강을정
+강용판
+강부희
+강성자
+강상순
+강용희
+강재이
+강애태
+강석미
+강원정
+강석운
+강수기
+강대배
+강원진
+강기호
+강동자
+강홍쇄
+강원태
+강담식
+강종태
+강창식
+강유복
+강경덕
+강정명
+강순수
+강육문
+강석대
+강영순
+강재한
+강윤득
+강성하
+강용금
+강규조
+강윤자
+강욱암
+강범국
+강이조
+강인수
+강용원
+강재용
+강종인
+강인열
+강병규
+강은태
+강배애
+강일분
+강인년
+강분윤
+강정흠
+강일호
+강장식
+강재수
+강기열
+강장수
+강경성
+강동열
+강성기
+강재영
+강수연
+강홍주
+강춘본
+강전철
+강태호
+강성순
+강영길
+강점덕
+강헌웅
+강민찬
+강만영
+강점복
+강갑용
+강해주
+강병현
+강점숙
+강상수
+강재출
+강홍대
+강정길
+강두수
+강문국
+강경석
+강정모
+강종관
+강상복
+강해도
+강정복
+강문호
+강성필
+강기국
+강정석
+강기철
+강재록
+강점현
+강정숙
+강경우
+강재자
+강술우
+강정숙
+강수희
+강성식
+강정운
+강정숙
+강복석
+강판생
+강석배
+강정애
+강우만
+강구규
+강원열
+강정열
+강재호
+강영곤
+강종유
+강종덕
+강완현
+강상호
+강구식
+강종만
+강명세
+강성범
+강영배
+강종열
+강대만
+강재호
+강선현
+강종차
+강대태
+강호정
+강태선
+강종필
+강현대
+강태이
+강지준
+강주석
+강대조
+강교균
+강경화
+강주원
+강순태
+강강완
+강영열
+강주훈
+강기덕
+강금기
+강영순
+강중부
+강순출
+강한수
+강동교
+강진영
+강태식
+강유환
+강영대
+강진호
+강대구
+강말광
+강상수
+강진호
+강옥대
+강근원
+강만출
+강창록
+강정섭
+강양근
+강인정
+강창석
+강개식
+강태환
+강종수
+강창섭
+강정동
+강종규
+강감호
+강창수
+강무연
+강해환
+강용운
+강창원
+강명학
+강영규
+강무담
+강천석
+강동문
+강윤조
+강준철
+강충규
+강용관
+강승원
+강원조
+강쾌수
+강재점
+강상철
+강석계
+강태문
+강춘환
+강규운
+강상조
+강태상
+강종길
+강성이
+강영배
+강태석
+강풍술
+강연만
+강용세
+강태성
+강정한
+강종태
+강정경
+강태수
+강동모
+강달용
+강태란
+강태순
+강광명
+강영돌
+강순석
+강태승
+강석장
+강태규
+강영희
+강태일
+강정영
+강영희
+강규순
+강태자
+강점원
+강문헌
+강해주
+강태진
+강채조
+강수덕
+강만도
+강태진
+강용대
+강길근
+강지숙
+강태형
+강영휘
+강경재
+강흥섭
+강태호
+강순환
+강경기
+강정호
+강팔권
+강규자
+강판태
+강윤조
+강필임
+강근상
+강우선
+강성환
+강학구
+강정식
+강애상
+강광기
+강학규
+강찬환
+강부섭
+강인주
+강헌중
+강해원
+강낙만
+강태수
+강현석
+강상노
+강재자
+강갑수
+강현완
+강숙출
+강금리
+강양숙
+강혜원
+강영종
+강쌍일
+강기숙
+강호경
+강동환
+강경점
+강성종
+강홍근
+강춘택
+강영원
+강경국
+강홍배
+강헌식
+강원교
+강용숙
+강홍섭
+강종임
+강창호
+강곤원
+강효근
+강귀범
+강순찬
+강만옥
+강휘규
+강재호
+강수조
+강태균
+강휘규
+강병종
+강태상
+강희수
+강흥찬
+강미기
+강종신
+강기태
+강희갑
+강재호
+강귀시
+강석식
+강희규
+강해성
+강성근
+강용도
+강희석
+강명근
+강봉한
+강정훈
+강희영
+강쾌우
+강수현
+강성연
+강희점
+강의식
+강경수
+강창열
+경권호
+경영수
+경경교
+경용식
+경두호
+경상태
+경옥욱
+경석남
+경세호
+경용자
+경맹자
+경석열
+고광수
+고홍길
+고기자
+고창석
+고광숙
+고재준
+고영주
+고진수
+고광희
+고상권
+고종옥
+고홍수
+고귀임
+고우규
+고경원
+고재익
+고대종
+고명우
+고막설
+고연인
+고덕용
+고경심
+고주호
+고 식
+고덕이
+고복현
+고타갑
+고재우
+고동순
+고 암
+고현현
+고한수
+고동현
+고복태
+고진곤
+고만호
+고래임
+고갑조
+고무윤
+고성순
+고말남
+고덕화
+고두성
+고태호
+고명식
+고학효
+고동숙
+고곤득
+고민희
+고외호
+고광이
+고상숙
+고병욱
+고재식
+고동해
+고전호
+고병희
+고만일
+고용화
+고동태
+고석권
+고순애
+고점석
+고재조
+고석원
+고홍란
+고순호
+고태봉
+고성웅
+고권순
+고운주
+고영숙
+고수권
+고용기
+고철조
+고복수
+고수빈
+고계룡
+고병운
+고덕수
+고순맹
+고종주
+고판순
+고재복
+고순호
+고좌식
+고성교
+고근철
+고시목
+고정호
+고석희
+고석욱
+고영길
+고갑숙
+고종자
+고해해
+고영원
+고재희
+고영록
+고종용
+고유진
+고영수
+고순택
+고응한
+고윤범
+고태길
+고무덕
+고창석
+고은선
+고성원
+고석호
+고홍숙
+고의만
+고용원
+고진준
+고임순
+고의진
+고삼훈
+고동선
+고원희
+고인석
+고태찬
+고종조
+고민동
+고일환
+고기익
+고소섭
+고형수
+고장국
+고갑혜
+고점남
+고천균
+고재완
+고종순
+고경경
+고연근
+고정석
+고임택
+고태지
+고춘희
+고정석
+고봉기
+고승기
+고현형
+고중석
+고용희
+고기호
+고영수
+고창석
+고상우
+고진순
+고도수
+고철규
+고윤조
+고상철
+고종수
+고충국
+고판환
+고영태
+고옥건
+고태경
+고순련
+고순만
+고영근
+고학문
+고경순
+고상수
+고부보
+고현산
+고봉일
+고경길
+고순희
+고효영
+고동기
+고미출
+고현은
+고효영
+고성만
+고임범
+고태태
+고효영
+고소용
+고우수
+고학숙
+고희석
+고용분
+고재석
+고재우
+공광용
+공금충
+공정령
+공세익
+공만수
+공은서
+공근수
+공임수
+공명수
+공부순
+공해석
+공종암
+공병래
+공병근
+공화도
+공창기
+공석붕
+공재분
+공재원
+공종학
+공석이
+공창수
+공기중
+공홍휘
+공석철
+공인호
+공춘영
+공석덕
+공수남
+공쌍순
+공재도
+공재석
+공순분
+공신현
+공정성
+공윤만
+공시동
+공진용
+공상현
+공판옥
+공억수
+공재운
+공수수
+공현희
+공영대
+공종우
+공종숙
+공영석
+공영선
+공성근
+공익술
+공천도
+공영자
+공경성
+공준수
+공성호
+공임석
+공상연
+공달진
+공병식
+공재갑
+공재순
+공일현
+공순희
+공재숙
+공준용
+공희란
+공언식
+공재익
+공철택
+공수호
+공태열
+공재익
+공광술
+공태환
+공병현
+공종열
+공복현
+공판덕
+공두금
+공종춘
+공풍화
+공계영
+공춘수
+공종춘
+공덕열
+공종기
+공칠학
+곽 포
+곽병우
+곽기식
+곽태수
+곽갑영
+곽만현
+곽병성
+곽정동
+곽경근
+곽광화
+곽창기
+곽미정
+곽경룡
+곽영연
+곽상수
+곽청옥
+곽경순
+곽동석
+곽해문
+곽광규
+곽경용
+곽태연
+곽팔선
+곽진옥
+곽경호
+곽한수
+곽종섭
+곽칠자
+곽광섭
+곽덕희
+곽효조
+곽을술
+곽광섭
+곽태순
+곽은열
+곽두준
+곽광수
+곽만석
+곽종정
+곽윤일
+곽교순
+곽남호
+곽진태
+곽근수
+곽권섭
+곽차식
+곽종찬
+곽동분
+곽기설
+곽 경
+곽기수
+곽말호
+곽기순
+곽종덕
+곽승판
+곽양수
+곽기진
+곽삼영
+곽규환
+곽일주
+곽길한
+곽창기
+곽경재
+곽현열
+곽길환
+곽수판
+곽운배
+곽용현
+곽남옥
+곽종우
+곽교기
+곽태국
+곽노창
+곽성호
+곽준구
+곽 수
+곽도영
+곽희준
+곽용시
+곽경성
+곽도영
+곽소석
+곽윤순
+곽영옥
+곽돈영
+곽계숙
+곽수만
+곽봉규
+곽동득
+곽재만
+곽성호
+곽정득
+곽동만
+곽분규
+곽용열
+곽교환
+곽동민
+곽규숙
+곽명곤
+곽달부
+곽동신
+곽복순
+곽금식
+곽명수
+곽동용
+곽문호
+곽귀화
+곽현걸
+곽동용
+곽광선
+곽일길
+곽광준
+곽동헌
+곽태준
+곽태휘
+곽종석
+곽두식
+곽용춘
+곽용배
+곽동곤
+곽만수
+곽경호
+곽효수
+곽영숙
+곽만수
+곽규석
+곽화돌
+곽영남
+곽만조
+곽연현
+곽관일
+곽영택
+곽만호
+곽영준
+곽재태
+곽순웅
+곽말용
+곽승이
+곽봉근
+곽정형
+곽명섭
+곽장영
+곽 석
+곽준순
+곽명식
+곽만우
+곽창열
+곽성옥
+곽명욱
+곽우식
+곽종갑
+곽종원
+곽명호
+곽재임
+곽병식
+곽해명
+곽무선
+곽일순
+곽재진
+곽명행
+곽무익
+곽난현
+곽옥오
+곽정영
+곽무현
+곽업출
+곽헌기
+곽영진
+곽문순
+곽건성
+곽태우
+곽달학
+곽미석
+곽화영
+곽리열
+곽경원
+곽민창
+곽기우
+곽칠일
+곽정기
+곽범권
+곽수훈
+곽수영
+곽성원
+곽병도
+곽재용
+곽종진
+곽정기
+곽병묵
+곽차옥
+곽애수
+곽기석
+곽병수
+곽권화
+곽증록
+곽태현
+곽병숙
+곽 제
+곽해경
+곽덕문
+곽병열
+곽차남
+곽훈재
+곽경태
+곽병오
+곽선오
+곽계배
+곽차연
+곽병율
+곽인호
+곽환용
+곽해석
+곽병철
+곽성진
+곽병주
+곽원진
+곽병태
+곽재미
+곽희식
+곽준열
+곽병태
+곽유순
+곽홍자
+곽윤선
+곽병헌
+곽호열
+곽임우
+곽윤덕
+곽보순
+곽기현
+곽강영
+곽태자
+곽봉선
+곽명길
+곽종자
+곽상록
+곽봉하
+곽일락
+곽성개
+곽재조
+곽부치
+곽윤수
+곽영석
+곽정우
+곽분규
+곽임호
+곽강호
+곽용덕
+곽분혜
+곽성숙
+곽순희
+곽동선
+곽사영
+곽병봉
+곽 배
+곽 출
+곽상갑
+곽소택
+곽창섭
+곽청복
+곽상건
+곽옥화
+곽순태
+곽선식
+곽상국
+곽판기
+곽욱길
+곽연경
+곽상규
+곽성기
+곽동순
+곽종재
+곽상규
+곽세호
+곽기근
+곽진국
+곽상도
+곽영섭
+곽승봉
+곽용혁
+곽상두
+곽종영
+곽원성
+곽원제
+곽상영
+곽도권
+곽부봉
+곽인열
+곽상오
+곽소재
+곽병자
+곽태식
+곽상조
+곽상기
+곽두하
+곽판호
+곽상철
+곽호식
+곽 근
+곽종태
+곽상춘
+곽영인
+곽영순
+곽종삼
+곽상학
+곽종수
+곽상조
+곽윤석
+곽상현
+곽주철
+곽양래
+곽주구
+곽상현
+곽현례
+곽주영
+곽우태
+곽석이
+곽수희
+곽찬진
+곽기태
+곽석조
+곽성열
+곽판희
+곽덕수
+곽성규
+곽성준
+곽성권
+곽점인
+곽성규
+곽인석
+곽풍근
+곽호대
+곽성섭
+곽정근
+곽수순
+곽태득
+곽성영
+곽종철
+곽경현
+곽명암
+곽성호
+곽두준
+곽윤수
+곽진희
+곽성화
+곽혜주
+곽태현
+곽수식
+곽소선
+곽소학
+곽성주
+곽남주
+곽소순
+곽증행
+곽귀규
+곽재화
+곽수근
+곽종주
+곽 수
+곽점해
+곽수연
+곽성호
+곽종기
+곽석석
+곽수영
+곽재경
+곽신영
+곽재휴
+곽수환
+곽상석
+곽순수
+곽성섭
+곽순영
+곽정근
+곽성제
+곽계현
+곽순이
+곽태정
+곽영현
+곽광수
+곽순호
+곽호선
+곽병천
+곽수빈
+곽술용
+곽경금
+곽홍명
+곽회환
+곽신섭
+곽명열
+곽종기
+곽학훈
+곽신효
+곽신영
+곽경응
+곽경호
+곽양남
+곽태태
+곽노도
+곽동모
+곽양웅
+곽상수
+곽달홍
+곽동곤
+곽열규
+곽영호
+곽종태
+곽광준
+곽영길
+곽재응
+곽윤숙
+곽팔우
+곽영길
+곽수동
+곽조옥
+곽태갑
+곽영만
+곽영천
+곽철호
+곽주동
+곽영상
+곽창동
+곽일교
+곽흥환
+곽영섭
+곽호숙
+곽형순
+곽기열
+곽영옥
+곽미춘
+곽태석
+곽수석
+곽영자
+곽용주
+곽학태
+곽송봉
+곽영조
+곽태수
+곽경동
+곽태우
+곽영철
+곽영근
+곽문삼
+곽병현
+곽영태
+곽원용
+곽태편
+곽진우
+곽영호
+곽재수
+곽봉식
+곽경오
+곽영화
+곽 상
+곽필성
+곽대익
+곽영희
+곽성호
+곽경완
+곽오철
+곽옥선
+곽종국
+곽종현
+곽태현
+곽옥연
+곽병표
+곽홍천
+곽명갑
+곽왕규
+곽필기
+곽원조
+곽상환
+곽외섭
+곽성식
+곽영섭
+곽성식
+곽용수
+곽태득
+곽주동
+곽팔정
+곽용숙
+곽재조
+곽인이
+곽규강
+곽용순
+곽지봉
+곽신범
+곽홍호
+곽우식
+곽홍연
+곽태이
+곽점맹
+곽우열
+곽환철
+곽태호
+곽조수
+곽우영
+곽용도
+곽모규
+곽점순
+곽원규
+곽관오
+곽종해
+곽일로
+곽원규
+곽쌍국
+곽월곤
+곽주식
+곽원영
+곽일일
+곽공일
+곽도덕
+곽원영
+곽현자
+곽팔생
+곽유규
+곽유성
+곽재식
+곽석숙
+곽남출
+곽유태
+곽기순
+곽근권
+곽희권
+곽윤광
+곽용원
+곽강정
+곽기영
+곽윤구
+곽병성
+곽용식
+곽순선
+곽윤규
+곽병복
+곽삼완
+곽옥연
+곽은열
+곽교균
+곽종상
+곽부오
+곽을순
+곽재수
+곽도선
+곽기선
+곽의호
+곽분가
+곽영환
+곽광근
+곽일룡
+곽인갑
+곽갑섭
+곽성철
+곽임수
+곽기주
+곽창화
+곽진오
+곽자용
+곽종희
+곽연남
+곽은원
+곽재경
+곽오근
+곽만조
+곽병도
+곽재근
+곽준록
+곽형자
+곽윤수
+곽재석
+곽호채
+곽성길
+곽희관
+곽재식
+곽회현
+곽계협
+곽춘덕
+곽재열
+곽성기
+곽현수
+곽삼천
+곽재영
+곽산숙
+곽정운
+곽욱자
+곽재영
+곽성태
+곽상식
+곽용하
+곽재영
+곽영수
+곽원순
+곽용식
+곽재욱
+곽명숙
+곽영금
+곽연철
+곽재원
+곽석구
+곽현재
+곽호호
+곽재천
+곽삼수
+곽덕용
+곽창기
+곽재철
+곽광해
+곽삼호
+곽태철
+곽재철
+곽종돌
+곽종진
+곽무출
+곽재호
+곽대연
+곽경양
+곽영수
+곽재환
+곽정원
+곽수종
+곽영도
+곽재훈
+곽차호
+곽작조
+곽용일
+곽점용
+곽재출
+곽외규
+곽정조
+곽정만
+곽기흠
+곽태희
+곽재자
+곽정연
+곽제종
+곽정율
+곽순수
+곽종관
+곽경재
+곽안수
+곽광환
+곽종국
+곽영열
+곽종수
+곽원자
+곽종권
+곽석언
+곽상철
+곽갑옥
+곽종대
+곽일봉
+곽외수
+곽희영
+곽종대
+곽한선
+곽주문
+곽기자
+곽종덕
+곽건영
+곽상기
+곽정석
+곽종만
+곽윤구
+곽근식
+곽주숙
+곽종암
+곽정만
+곽종철
+곽영용
+곽종열
+곽정기
+곽재암
+곽순호
+곽종주
+곽길시
+곽헌대
+곽병종
+곽종학
+곽례호
+곽남학
+곽영진
+곽종형
+곽정희
+곽무주
+곽상일
+곽종훈
+곽진태
+곽정호
+곽준철
+곽주석
+곽광식
+곽종조
+곽태석
+곽주섭
+곽우래
+곽귀덕
+곽경수
+곽지영
+곽종준
+곽태대
+곽장휘
+곽진곤
+곽봉갑
+곽명동
+곽종호
+곽진수
+곽승열
+곽삼순
+곽오순
+곽차상
+곽종득
+곽재진
+곽계환
+곽차용
+곽효수
+곽만자
+곽삼원
+곽창섭
+곽동우
+곽일관
+곽정삼
+곽창수
+곽운율
+곽영용
+곽기언
+곽창식
+곽원석
+곽현실
+곽기수
+곽창왕
+곽영동
+곽창윤
+곽원완
+곽천석
+곽위택
+곽남환
+곽삼이
+곽철수
+곽복섭
+곽승분
+곽태옥
+곽철환
+곽정주
+곽경향
+곽창희
+곽칠용
+곽진조
+곽애선
+곽종옥
+곽태경
+곽태정
+곽원수
+곽윤기
+곽태석
+곽동식
+곽무일
+곽대조
+곽태석
+곽상연
+곽세식
+곽영희
+곽태섭
+곽재만
+곽선경
+곽건출
+곽태식
+곽상식
+곽재식
+곽해권
+곽태식
+곽기수
+곽석택
+곽동훈
+곽태열
+곽영건
+곽판수
+곽춘우
+곽태영
+곽준호
+곽용석
+곽기환
+곽태용
+곽문조
+곽태환
+곽재술
+곽태중
+곽남년
+곽욱호
+곽창열
+곽태환
+곽덕근
+곽청용
+곽명식
+곽태희
+곽미조
+곽갑동
+곽극익
+곽택열
+곽승만
+곽기문
+곽환대
+곽판개
+곽상호
+곽종자
+곽명홍
+곽판수
+곽태광
+곽주용
+곽광헌
+곽평섭
+곽만연
+곽성룡
+곽천배
+곽표경
+곽상모
+곽외성
+곽병동
+곽학출
+곽정출
+곽주태
+곽진우
+곽한곤
+곽영용
+곽범헌
+곽차조
+곽한수
+곽병택
+곽성호
+곽태섭
+곽한영
+곽용숙
+곽준석
+곽현택
+곽해규
+곽현호
+곽병분
+곽성기
+곽해만
+곽기준
+곽승우
+곽한중
+곽해석
+곽동헌
+곽태태
+곽문식
+곽해석
+곽재수
+곽태홍
+곽광달
+곽호순
+곽경희
+곽점순
+곽영록
+곽홍규
+곽종호
+곽동현
+곽순열
+곽화열
+곽태범
+곽억규
+곽우수
+곽후열
+곽판현
+곽준권
+곽억오
+곽휘소
+곽용수
+곽성춘
+곽삼식
+곽흥섭
+곽태준
+곽태삼
+곽경길
+곽희순
+곽경섭
+곽덕우
+곽진집
+곽희웅
+곽문열
+곽병준
+곽혜현
+구경서
+구종조
+구쌍석
+구차부
+구경숙
+구원옥
+구한국
+구설우
+구경숙
+구득숙
+구수희
+구윤대
+구귀화
+구상화
+구말록
+구명태
+구길회
+구성진
+구일상
+구덕우
+구동만
+구경현
+구인이
+구성수
+구동석
+구근봉
+구삼식
+구종헌
+구동수
+구재원
+구병현
+구쌍우
+구동원
+구충순
+구기남
+구석병
+구동철
+구승희
+구일식
+구기식
+구두선
+구명운
+구주호
+구영순
+구명숙
+구복희
+구순옥
+구태래
+구민회
+구규선
+구금욱
+구경학
+구병수
+구달섭
+구영석
+구희식
+구병찬
+구순련
+구두근
+구이수
+구본선
+구순희
+구수병
+구수춘
+구본승
+구윤웅
+구영수
+구주주
+구본현
+구재자
+구광현
+구한술
+구부임
+구재헌
+구정표
+구태설
+구석봉
+구태태
+구재식
+구태익
+구선이
+구홍모
+구현철
+구무윤
+구용길
+구수웅
+구기식
+구철수
+구용태
+구영택
+구외화
+구중호
+구이용
+구태하
+구돈재
+구종수
+구자관
+구창현
+구원선
+구구기
+구자덕
+구정부
+구태호
+구기호
+구자우
+구윤오
+구종목
+구석성
+구자익
+구동동
+구재화
+구봉기
+구점식
+구성자
+구만연
+구상중
+구제남
+구금이
+구연환
+구용치
+구중서
+구학자
+구정달
+구차연
+구춘식
+구진태
+구장순
+구원연
+구춘식
+구기길
+구영균
+구동탁
+구충모
+구복자
+구병한
+구훈희
+구태희
+구무용
+구병고
+구동석
+구평길
+구성식
+구삼두
+구영희
+구현옥
+구효희
+구순용
+구양용
+구화이
+구상규
+구성원
+구영수
+구희경
+구병철
+구재준
+구영록
+구희숙
+구영범
+구봉헌
+구부수
+국윤환
+국상석
+국환남
+국민태
+권 수
+권영국
+권대현
+권정주
+권갑조
+권상란
+권성현
+권태규
+권경관
+권재원
+권기순
+권상수
+권경덕
+권창연
+권점춘
+권봉웅
+권경란
+권석성
+권재빈
+권수석
+권경생
+권규길
+권홍주
+권기윤
+권경숙
+권기원
+권충오
+권흥상
+권경술
+권용희
+권규십
+권종옥
+권경자
+권종환
+권창동
+권성갑
+권경조
+권영석
+권영현
+권억섭
+권경환
+권봉기
+권성순
+권진돌
+권광식
+권희창
+권성상
+권성지
+권광웅
+권범배
+권명동
+권재섭
+권광호
+권승영
+권철곤
+권삼국
+권귀남
+권승오
+권인석
+권선득
+권귀임
+권노환
+권권현
+권석근
+권금악
+권정수
+권 호
+권헌모
+권금연
+권경열
+권수원
+권만효
+권기동
+권윤순
+권금준
+권시기
+권기섭
+권장완
+권만교
+권점호
+권기성
+권영출
+권헌수
+권계도
+권기수
+권명수
+권복휴
+권연민
+권기영
+권철기
+권종춘
+권희호
+권기용
+권덕숙
+권일석
+권기태
+권기종
+권정팔
+권금환
+권갑홍
+권기철
+권영열
+권석애
+권재희
+권기헌
+권해신
+권덕근
+권계빈
+권남수
+권외순
+권증섭
+권상도
+권늠이
+권용식
+권창섭
+권세용
+권달출
+권성수
+권순욱
+권윤익
+권대영
+권찬철
+권성화
+권일정
+권대윤
+권동수
+권진민
+권기희
+권덕용
+권성자
+권재훈
+권춘출
+권도인
+권승헌
+권춘기
+권동범
+권돌이
+권수길
+권판석
+권천섭
+권동권
+권종영
+권종록
+권현웅
+권두리
+권종암
+권병영
+권기경
+권두현
+권헌조
+권상연
+권용기
+권득수
+권경웅
+권도수
+권필영
+권령현
+권순훈
+권창기
+권홍화
+권말수
+권일교
+권광준
+권진생
+권말용
+권대원
+권종호
+권문종
+권말임
+권복곤
+권경규
+권일근
+권명복
+권인수
+권진후
+권호석
+권명삼
+권태철
+권응진
+권순호
+권명용
+권후삼
+권정연
+권영홍
+권무웅
+권임권
+권태옥
+권용진
+권무홍
+권문덕
+권종계
+권태화
+권미란
+권주연
+권정대
+권재수
+권미란
+권석자
+권수구
+권업자
+권미영
+권기영
+권용웅
+권왕영
+권미자
+권종삼
+권달대
+권평순
+권미자
+권태자
+권우선
+권영우
+권병문
+권주교
+권장정
+권태상
+권병철
+권언현
+권동표
+권태군
+권복길
+권신홍
+권두홍
+권시길
+권복길
+권정정
+권병옥
+권태정
+권복만
+권재원
+권영자
+권효남
+권복주
+권종연
+권화식
+권성정
+권봉학
+권선덕
+권경희
+권홍희
+권분향
+권정렬
+권상미
+권성학
+권분향
+권인규
+권봉식
+권기한
+권삼량
+권재환
+권임석
+권필립
+권삼술
+권재봉
+권덕기
+권성배
+권상규
+권기복
+권태이
+권상배
+권상우
+권우환
+권두숙
+권병석
+권석우
+권원제
+권태이
+권영열
+권선복
+권중석
+권현순
+권영성
+권선희
+권상구
+권명원
+권주영
+권선희
+권미철
+권종수
+권대출
+권성근
+권동석
+권종기
+권정용
+권성기
+권병웅
+권세석
+권수희
+권성대
+권용출
+권정철
+권용준
+권성웅
+권주우
+권필성
+권정호
+권성준
+권용철
+권정호
+권원희
+권세용
+권귀희
+권상영
+권상호
+권세용
+권나문
+권재식
+권재숙
+권소관
+권병진
+권명곤
+권광오
+권소돌
+권동문
+권문원
+권세택
+권수만
+권점옥
+권원학
+권동열
+권수만
+권분수
+권규출
+권정희
+권수원
+권경출
+권기표
+권종주
+권수자
+권종구
+권재배
+권의탁
+권수자
+권윤용
+권차호
+권광현
+권수자
+권명조
+권은식
+권정호
+권수자
+권동호
+권인이
+권병모
+권순덕
+권지학
+권미기
+권시국
+권순목
+권성석
+권병호
+권용건
+권순옥
+권사호
+권재달
+권성홍
+권순환
+권금원
+권귀종
+권중근
+권암우
+권갑순
+권보자
+권윤수
+권애자
+권계생
+권대춘
+권영숙
+권연주
+권태수
+권대용
+권한원
+권영계
+권정수
+권욱조
+권상열
+권영관
+권한주
+권중국
+권태경
+권영교
+권용길
+권충형
+권학준
+권영구
+권성학
+권종향
+권인복
+권영구
+권성용
+권주수
+권승호
+권영구
+권병돌
+권병교
+권기선
+권영국
+권려문
+권상태
+권기동
+권영근
+권상복
+권호석
+권상환
+권영대
+권석복
+권종자
+권무자
+권영돈
+권복한
+권기숙
+권상식
+권영록
+권진수
+권인우
+권상곤
+권영목
+권권대
+권필태
+권재길
+권영문
+권노연
+권도수
+권자식
+권영보
+권용남
+권종길
+권세희
+권영복
+권경옥
+권무수
+권찬재
+권영복
+권진식
+권은우
+권수찬
+권영봉
+권인근
+권희경
+권종희
+권영봉
+권창근
+권옥출
+권준호
+권영수
+권승주
+권장석
+권명영
+권영순
+권맹현
+권일경
+권무호
+권영순
+권용임
+권동갑
+권복원
+권영순
+권성만
+권영호
+권철세
+권영아
+권정규
+권계갑
+권성순
+권영일
+권대기
+권병계
+권영수
+권영제
+권선생
+권분섭
+권성자
+권영주
+권덕리
+권광해
+권광순
+권영준
+권태수
+권영분
+권의길
+권영창
+권덕경
+권금효
+권기이
+권영칠
+권성영
+권금경
+권금배
+권영택
+권용환
+권태기
+권용준
+권영필
+권재수
+권정희
+권춘수
+권영하
+권옥주
+권귀룡
+권영화
+권영하
+권현출
+권상익
+권정대
+권영헌
+권춘식
+권기원
+권태열
+권영현
+권병연
+권경배
+권지무
+권영호
+권윤국
+권석호
+권정조
+권영환
+권위길
+권칠화
+권명광
+권오광
+권태수
+권환자
+권종두
+권오광
+권길곤
+권광수
+권종락
+권오근
+권상조
+권중균
+권선건
+권오근
+권수기
+권종식
+권길건
+권오룡
+권영태
+권미수
+권만식
+권오만
+권태정
+권점봉
+권형상
+권오만
+권금학
+권성열
+권권철
+권오명
+권재권
+권곡동
+권기만
+권오상
+권태희
+권두호
+권석식
+권오상
+권만근
+권소제
+권옥문
+권오상
+권종진
+권석섭
+권훈덕
+권오석
+권정원
+권성수
+권정우
+권오석
+권태련
+권록제
+권진철
+권오석
+권은정
+권남학
+권인수
+권오성
+권락우
+권외호
+권재만
+권오성
+권영구
+권노수
+권병도
+권오성
+권은철
+권효영
+권연술
+권오성
+권승구
+권용열
+권기경
+권오수
+권동각
+권상배
+권영현
+권오수
+권성한
+권태덕
+권점분
+권오수
+권동년
+권원덕
+권지용
+권오승
+권동신
+권종문
+권 태
+권오열
+권회연
+권영규
+권정출
+권오욱
+권명욱
+권홍영
+권기열
+권오웅
+권재기
+권맹곤
+권종섭
+권오주
+권도재
+권영식
+권영한
+권오준
+권홍경
+권성출
+권주효
+권오추
+권한용
+권경창
+권석호
+권오칠
+권호하
+권재율
+권상이
+권오현
+권영희
+권병열
+권문호
+권오호
+권태천
+권갑출
+권만환
+권오휘
+권구영
+권명배
+권재희
+권옥성
+권복호
+권덕주
+권재성
+권옥출
+권득려
+권경윤
+권성식
+권외수
+권영욱
+권문임
+권명숙
+권용기
+권판수
+권이경
+권정곤
+권용득
+권성봉
+권온용
+권석정
+권용만
+권지동
+권경헌
+권신희
+권용철
+권용성
+권일옥
+권황운
+권용태
+권명수
+권욱련
+권경례
+권용태
+권종호
+권덕동
+권판형
+권용태
+권동희
+권언창
+권한수
+권원국
+권광용
+권성준
+권영이
+권원조
+권창희
+권실술
+권태학
+권원출
+권정조
+권병채
+권진기
+권월태
+권정길
+권양술
+권진열
+권은정
+권소도
+권복분
+권래경
+권의효
+권완로
+권병중
+권만열
+권익현
+권성현
+권석규
+권병원
+권임선
+권명택
+권현원
+권삼용
+권재건
+권근수
+권상권
+권인창
+권재덕
+권명태
+권이윤
+권영근
+권재화
+권동일
+권장수
+권차희
+권점순
+권효선
+권기수
+권영효
+권점태
+권정희
+권보곤
+권미억
+권정아
+권규복
+권재상
+권삼자
+권정오
+권겸옥
+권상호
+권형수
+권정희
+권항숙
+권필순
+권상의
+권제호
+권이식
+권재이
+권진익
+권종민
+권상조
+권재식
+권영수
+권종안
+권윤기
+권우선
+권용덕
+권종임
+권인희
+권영환
+권만오
+권좌근
+권기열
+권은영
+권윤식
+권주찬
+권석학
+권헌오
+권문수
+권주혁
+권사순
+권장기
+권종희
+권준우
+권종연
+권영혁
+권복용
+권준우
+권영연
+권근수
+권재근
+권준일
+권우근
+권병식
+권옥제
+권준일
+권주찬
+권용병
+권문화
+권준일
+권중호
+권기태
+권규길
+권중규
+권형철
+권기호
+권명민
+권중기
+권용달
+권상도
+권가필
+권중기
+권순화
+권억현
+권수숙
+권중달
+권홍연
+권신춘
+권경식
+권중대
+권삼수
+권재석
+권윤익
+권중대
+권재선
+권재명
+권무성
+권중만
+권순석
+권돈환
+권계연
+권중상
+권종출
+권장권
+권명열
+권중상
+권안진
+권위재
+권현원
+권중석
+권승표
+권덕응
+권병득
+권중열
+권병균
+권성경
+권영자
+권중열
+권경각
+권장출
+권봉웅
+권중철
+권평철
+권호석
+권경익
+권중화
+권영단
+권근준
+권보정
+권지영
+권순종
+권귀욱
+권계길
+권진상
+권우임
+권철철
+권종신
+권차남
+권춘기
+권수열
+권남연
+권차술
+권봉수
+권현열
+권종용
+권차연
+권길이
+권장열
+권미순
+권창기
+권정월
+권석득
+권운록
+권창식
+권흥이
+권성호
+권영욱
+권창화
+권진봉
+권정배
+권세수
+권춘궁
+권승운
+권민옥
+권경우
+권춘식
+권문표
+권준훈
+권차재
+권춘식
+권상열
+권상식
+권성배
+권춘오
+권한기
+권상근
+권영임
+권춘자
+권을범
+권금수
+권해목
+권춘자
+권영호
+권준화
+권복수
+권춘자
+권쌍필
+권종섭
+권영여
+권춘태
+권순구
+권해철
+권길희
+권칠만
+권종조
+권환수
+권근봉
+권태관
+권소성
+권경옥
+권상균
+권태관
+권명훈
+권종철
+권명숙
+권태국
+권태규
+권상천
+권인수
+권태근
+권주호
+권용배
+권만호
+권태달
+권명구
+권영관
+권영출
+권태동
+권창웅
+권병철
+권호숙
+권태생
+권덕재
+권난문
+권희덕
+권태숙
+권상석
+권원암
+권학외
+권태술
+권동훈
+권동명
+권점희
+권태식
+권정희
+권태석
+권윤근
+권태식
+권상기
+권태숙
+권범인
+권태암
+권점성
+권영선
+권성삼
+권태용
+권봉흠
+권시철
+권의득
+권태우
+권병옥
+권경식
+권수엽
+권태원
+권수관
+권정봉
+권재일
+권태일
+권영희
+권문환
+권중석
+권태정
+권태현
+권승훈
+권영원
+권태종
+권영영
+권재환
+권장봉
+권태창
+권현열
+권정명
+권븝도
+권태철
+권성단
+권석욱
+권상분
+권태철
+권정갑
+권록수
+권현이
+권태헌
+권무성
+권중근
+권영섭
+권태홍
+권만일
+권정만
+권영화
+권태휘
+권우구
+권기산
+권찬식
+권태희
+권종동
+권영건
+권천용
+권택종
+권병만
+권준재
+권모도
+권판순
+권용연
+권충수
+권영식
+권해철
+권태용
+권태철
+권재진
+권혁동
+권영양
+권쌍정
+권무섭
+권혁률
+권경춘
+권원삼
+권정기
+권혁우
+권현호
+권장제
+권양원
+권혁일
+권경조
+권용순
+권쌍하
+권혁종
+권진신
+권희선
+권성철
+권혁태
+권형식
+권삼자
+권말숙
+권혁호
+권복래
+권원구
+권일순
+권혁훈
+권종동
+권상희
+권기순
+권현순
+권종현
+권소조
+권석용
+권홍기
+권병천
+권석기
+권교래
+권홍기
+권순섭
+권점길
+권재호
+권화자
+권성순
+권해남
+권구차
+금기숙
+금성수
+금경세
+금금근
+금세환
+금영용
+금경국
+금정주
+금임년
+금근우
+금태희
+금순우
+금재현
+금말출
+금호수
+금노희
+금재호
+금재환
+금병순
+금병순
+기광섭
+기귀봉
+기재양
+기동순
+기광섭
+기성근
+기현희
+기재화
+기광섭
+기영선
+기시선
+기석호
+기권섭
+기정모
+기선제
+기진곤
+기남섭
+기진임
+기용순
+기성홍
+기말임
+기종근
+기태휘
+기상준
+기무섭
+기재재
+기무헌
+기소대
+기범석
+기성범
+기점생
+기언순
+기성현
+기인돌
+기임지
+기정선
+기세국
+기승봉
+기철훈
+기철섭
+기세록
+기대태
+기정석
+기윤경
+기세록
+기창현
+기종도
+기정성
+기세문
+기성중
+기상순
+기욱조
+기세준
+기상천
+기덕산
+기분광
+기신국
+기용수
+기근악
+기주훈
+기우근
+기미우
+기병현
+기종수
+기우달
+기영윤
+기규대
+기동하
+기우봉
+기병석
+기무현
+기 원
+기우분
+기창곤
+기종권
+기태희
+기우순
+기희태
+기월진
+기명곤
+기우종
+기달연
+기노돌
+기영숙
+기우주
+기옥란
+기해조
+기수출
+기우철
+기종욱
+기종례
+기동준
+기우해
+기대원
+기판석
+기삼석
+기인현
+기욱규
+기종우
+기삼진
+기인희
+기주조
+기판국
+기종진
+기일선
+기성용
+기홍용
+기은길
+기점환
+기점용
+기경영
+기진식
+기정섭
+기학석
+기준득
+기성희
+기종석
+기태생
+기재선
+기완미
+기준석
+기유봉
+기병규
+기종현
+기진연
+기승업
+기춘열
+기기주
+기청길
+기선호
+기판호
+기옥식
+기행남
+기진출
+기도종
+기근곤
+기효연
+기내운
+기진출
+기진열
+기희석
+기정천
+기태복
+기송태
+길석환
+길일원
+길승진
+길명조
+김 등
+김갑선
+김의수
+김오열
+김 성
+김남수
+김곡복
+김명완
+김 성
+김영옥
+김동근
+김광규
+김 용
+김술동
+김기춘
+김기용
+김 원
+김순묵
+김남교
+김희훈
+김 윤
+김광기
+김철자
+김오곤
+김 인
+김종길
+김성현
+김태만
+김 청
+김용성
+김재천
+김영환
+김 혁
+김연일
+김미흠
+김화기
+김 현
+김승래
+김억호
+김중형
+김 호
+김기남
+김명곤
+김운동
+김 훈
+김석용
+김일용
+김영철
+김가희
+김해경
+김봉철
+김정자
+김각중
+김재두
+김춘수
+김청휴
+김갑룡
+김성모
+김춘식
+김갑환
+김갑만
+김종옥
+김종식
+김혜갑
+김갑문
+김덕록
+김명직
+김규태
+김갑생
+김윤식
+김병정
+김종남
+김갑수
+김진석
+김순균
+김희환
+김갑수
+김경중
+김영수
+김해철
+김갑순
+김병호
+김인구
+김기삼
+김갑연
+김환동
+김덕모
+김상영
+김갑주
+김경정
+김창흠
+김재운
+김갑준
+김영모
+김필규
+김순학
+김갑진
+김장현
+김태수
+김오범
+김갑진
+김두길
+김연필
+김경순
+김갑현
+김종자
+김태호
+김종식
+김강덕
+김흥원
+김원춘
+김인오
+김강수
+김주자
+김상환
+김현림
+김강식
+김미수
+김판호
+김경수
+김강행
+김광표
+김영현
+김혜니
+김강호
+김무현
+김보희
+김창호
+김강화
+김춘영
+김진연
+김업자
+김개선
+김효조
+김성철
+김보윤
+김건개
+김병봉
+김호술
+김재일
+김건기
+김용수
+김선상
+김성길
+김건덕
+김석인
+김적도
+김재천
+김경구
+김철수
+김용률
+김상수
+김경도
+김준주
+김근영
+김성원
+김경란
+김은운
+김재연
+김대식
+김경례
+김달호
+김세홍
+김 수
+김경만
+김성일
+김덕용
+김석숙
+김경상
+김만태
+김장수
+김명화
+김경석
+김종수
+김수정
+김규현
+김경수
+김종호
+김원련
+김영화
+김경수
+김용수
+김영수
+김종수
+김경수
+김종택
+김성선
+김동용
+김경수
+김작교
+김영규
+김광견
+김경수
+김교조
+김인덕
+김권준
+김경숙
+김영자
+김태원
+김태현
+김경식
+김종호
+김용순
+김재자
+김경암
+김국군
+김윤조
+김판호
+김경애
+김두덕
+김갑황
+김동호
+김경애
+김주필
+김무금
+김상호
+김경오
+김경윤
+김복복
+김헌재
+김경오
+김언선
+김일웅
+김무희
+김경옥
+김태권
+김영관
+김하철
+김경우
+김수출
+김윤자
+김시규
+김경원
+김태팔
+김팔상
+김광현
+김경원
+김윤복
+김정분
+김성오
+김경인
+김재선
+김성덕
+김달균
+김경자
+김화득
+김영우
+김광이
+김경자
+김석재
+김문생
+김원현
+김경자
+김재원
+김칠현
+김현순
+김경자
+김세희
+김병호
+김재용
+김경재
+김재관
+김미홍
+김종호
+김경조
+김종학
+김본영
+김세우
+김경조
+김명수
+김영선
+김임돌
+김경종
+김진인
+김진동
+김상태
+김경태
+김일석
+김국택
+김중환
+김경태
+김철희
+김순희
+김상근
+김경태
+김동범
+김양기
+김수생
+김경태
+김상계
+김상동
+김재곤
+김경팔
+김상진
+김여석
+김종운
+김경호
+김재택
+김재출
+김주수
+김경호
+김창주
+김영준
+김두호
+김경호
+김춘규
+김경순
+김시한
+김경환
+김학택
+김재출
+김태현
+김경환
+김용실
+김광지
+김막순
+김경희
+김일수
+김정영
+김춘숙
+김경희
+김영용
+김태안
+김필애
+김경희
+김준방
+김재환
+김쾌근
+김경희
+김달조
+김현규
+김용원
+김경희
+김무수
+김소자
+김봉욱
+김경희
+김영국
+김상동
+김재자
+김계윤
+김상순
+김정식
+김정암
+김계택
+김종일
+김진극
+김성우
+김계한
+김중자
+김은홍
+김영호
+김계호
+김일용
+김정섭
+김재선
+김공주
+김원식
+김순철
+김기환
+김관두
+김점희
+김용진
+김차수
+김관영
+김호환
+김호하
+김원흠
+김관우
+김중형
+김선석
+김무동
+김관이
+김석기
+김신도
+김진하
+김광곤
+김수엽
+김용웅
+김순숙
+김광규
+김희환
+김기흥
+김구도
+김광덕
+김길근
+김정권
+김재열
+김광동
+김주택
+김무희
+김은구
+김광두
+김정희
+김재권
+김광용
+김광석
+김창승
+김승녀
+김상식
+김광석
+김병철
+김영동
+김주자
+김광수
+김동길
+김도봉
+김재철
+김광수
+김태석
+김양식
+김도경
+김광수
+김성수
+김춘우
+김분조
+김광수
+김정술
+김광화
+김화호
+김광수
+김극운
+김분환
+김두호
+김광수
+김해포
+김진식
+김록득
+김광수
+김병수
+김성경
+김철훈
+김광식
+김금환
+김재식
+김일현
+김광연
+김동철
+김재수
+김강기
+김광연
+김준화
+김덕조
+김성래
+김광열
+김병우
+김경규
+김춘재
+김광열
+김형섭
+김달빈
+김성봉
+김광엽
+김영균
+김성원
+김순련
+김광영
+김갑주
+김행철
+김차길
+김광영
+김규운
+김정호
+김재수
+김광영
+김준식
+김태이
+김용분
+김광우
+김경수
+김기곤
+김주대
+김광웅
+김우임
+김우홍
+김영섭
+김광웅
+김갑자
+김건수
+김희조
+김광웅
+김민칠
+김소수
+김희효
+김광웅
+김경수
+김광근
+김용록
+김광윤
+김양채
+김일석
+김진환
+김광일
+김갑중
+김호수
+김정목
+김광일
+김상우
+김재철
+김기수
+김광조
+김태배
+김인용
+김경순
+김광진
+김태수
+김오완
+김건도
+김광택
+김삼수
+김경직
+김효암
+김광택
+김기화
+김찬현
+김수선
+김광현
+김동용
+김세환
+김재운
+김광호
+김노민
+김용수
+김순년
+김광호
+김경우
+김종향
+김무수
+김광화
+김정호
+김철학
+김강돈
+김광회
+김연운
+김임권
+김성조
+김광효
+김명승
+김일웅
+김말호
+김광희
+김선우
+김순길
+김해삼
+김교락
+김영원
+김석환
+김일주
+김교순
+김대열
+김영섭
+김 열
+김교준
+김근주
+김상도
+김기배
+김교준
+김한규
+김종철
+김중관
+김교태
+김한문
+김영식
+김기석
+김교희
+김차열
+김영호
+김경기
+김구봉
+김선규
+김진식
+김용덕
+김구현
+김이우
+김원근
+김종웅
+김구현
+김광식
+김상철
+김복목
+김국동
+김춘상
+김만근
+김병선
+김국동
+김도수
+김성주
+김기헌
+김군남
+김만수
+김종욱
+김영선
+김군자
+김윤자
+김영복
+김봉설
+김권식
+김순재
+김필자
+김덕향
+김귀관
+김신학
+김기선
+김철은
+김귀남
+김상열
+김희영
+김일연
+김귀덕
+김점모
+김용난
+김길추
+김귀선
+김희자
+김상성
+김규수
+김귀순
+김재현
+김서환
+김승향
+김귀연
+김영용
+김태식
+김상현
+김귀연
+김정순
+김외국
+김일호
+김귀열
+김건환
+김정호
+김창종
+김귀용
+김진호
+김병철
+김주자
+김귀조
+김정남
+김기옥
+김의수
+김규대
+김철수
+김문주
+김용근
+김규배
+김영휴
+김중수
+김삼식
+김규상
+김태섬
+김준열
+김규택
+김규섭
+김영조
+김동규
+김재분
+김규섭
+김상수
+김실원
+김영율
+김규성
+김노섭
+김홍현
+김광철
+김규영
+김용수
+김세궁
+김병수
+김규우
+김영출
+김팔국
+김홍수
+김규욱
+김인영
+김원진
+김원문
+김규철
+김용자
+김기수
+김해연
+김규철
+김신환
+김승용
+김정권
+김규철
+김종무
+김주근
+김태현
+김규철
+김창권
+김해기
+김호식
+김규태
+김상열
+김용우
+김석팔
+김규태
+김국덕
+김이재
+김현식
+김규현
+김영악
+김호수
+김준현
+김규현
+김범근
+김재근
+김성황
+김규현
+김봉식
+김동호
+김상영
+김규환
+김미진
+김수수
+김용선
+김규희
+김명락
+김차선
+김두현
+김근생
+김동도
+김학석
+김광조
+김근식
+김정현
+김애복
+김재호
+김근식
+김상교
+김국득
+김재익
+김근중
+김지태
+김윤국
+김봉운
+김근호
+김상재
+김순문
+김순영
+김근호
+김혜주
+김영열
+김판수
+김금난
+김광우
+김경도
+김경술
+김금보
+김노도
+김정제
+김영성
+김금석
+김환현
+김명욱
+김한웅
+김금선
+김상식
+김금영
+김해환
+김금순
+김차철
+김소옥
+김홍봉
+김금순
+김상제
+김희환
+김영수
+김금순
+김종악
+김명열
+김태형
+김금연
+김용환
+김윤용
+김성보
+김금연
+김용호
+김만천
+김학주
+김금옥
+김애성
+김정정
+김홍우
+김금옥
+김기석
+김만만
+김용열
+김금용
+김타일
+김치봉
+김광일
+김금이
+김경근
+김원진
+김춘수
+김금이
+김춘식
+김재상
+김범국
+김금이
+김수규
+김우팔
+김상균
+김금자
+김분동
+김주이
+김해규
+김금자
+김근현
+김선학
+김해환
+김금하
+김인형
+김효선
+김을황
+김긍호
+김창득
+김진조
+김규돌
+김기고
+김돈배
+김문종
+김인하
+김기균
+김 환
+김태곤
+김재환
+김기균
+김영웅
+김해인
+김삼오
+김기년
+김문자
+김영선
+김광규
+김기년
+김동자
+김영범
+김봉순
+김기년
+김인범
+김강순
+김행철
+김기덕
+김금운
+김정환
+김필기
+김기덕
+김경용
+김홍숙
+김동수
+김기덕
+김경균
+김두옥
+김정섭
+김기도
+김재호
+김원한
+김홍자
+김기미
+김곡만
+김인재
+김암주
+김기범
+김기석
+김태대
+김운수
+김기병
+김만규
+김용문
+김태연
+김기봉
+김순중
+김규기
+김동만
+김기봉
+김광권
+김헌섭
+김장식
+김기분
+김명선
+김병순
+김상훈
+김기삼
+김순경
+김상수
+김영술
+김기석
+김만희
+김장대
+김수정
+김기석
+김상철
+김동열
+김선현
+김기선
+김광대
+김영열
+김의식
+김기성
+김평수
+김금래
+김희하
+김기수
+김해분
+김소남
+김선기
+김기수
+김정준
+김광동
+김동영
+김기수
+김재록
+김종숙
+김차수
+김기수
+김종재
+김양경
+김태기
+김기수
+김자은
+김영철
+김한식
+김기수
+김태수
+김혁오
+김성영
+김기순
+김준숙
+김 식
+김성병
+김기술
+김일규
+김병권
+김용한
+김기술
+김광원
+김태규
+김의오
+김기식
+김태숙
+김순하
+김규구
+김기식
+김상석
+김태우
+김원윤
+김기식
+김정재
+김효일
+김진석
+김기식
+김진술
+김병천
+김용훈
+김기식
+김재재
+김영열
+김경옥
+김기연
+김영건
+김근순
+김암준
+김기연
+김필열
+김봉석
+김진용
+김기열
+김완옥
+김석현
+김무세
+김기영
+김용달
+김병기
+김갑환
+김기옥
+김형현
+김금빈
+김판옥
+김기용
+김기석
+김태철
+김권영
+김기용
+김선원
+김신배
+김재미
+김기용
+김도규
+김윤조
+김종암
+김기원
+김순기
+김홍규
+김강우
+김기원
+김희순
+김태악
+김원선
+김기원
+김공권
+김수동
+김영환
+김기정
+김해미
+김윤익
+김정순
+김기준
+김종학
+김명희
+김쌍화
+김기준
+김재규
+김태희
+김기화
+김기중
+김인호
+김실기
+김문섭
+김기철
+김정생
+김안덕
+김기근
+김기철
+김소수
+김권태
+김태천
+김기철
+김종정
+김재학
+김학수
+김기태
+김용식
+김정진
+김호진
+김기필
+김수석
+김태자
+김병운
+김기현
+김차근
+김원덕
+김근석
+김기현
+김동희
+김순정
+김순수
+김기협
+김노숙
+김정호
+김재분
+김기호
+김달술
+김노훈
+김동보
+김기호
+김점진
+김상희
+김의탁
+김기호
+김윤용
+김태훈
+김영종
+김기호
+김하배
+김영열
+김진현
+김기홍
+김동영
+김순태
+김순희
+김기홍
+김용원
+김병한
+김성수
+김기홍
+김재식
+김상원
+김판형
+김기환
+김철범
+김주봉
+김봉열
+김기환
+김궁율
+김곤석
+김순재
+김기환
+김상경
+김수준
+김태우
+김기희
+김일자
+김상휴
+김재석
+김길동
+김병강
+김흥순
+김미철
+김길동
+김학규
+김창규
+김병록
+김길상
+김경문
+김경용
+김동지
+김길수
+김기천
+김용선
+김낙길
+김길환
+김운술
+김택영
+김윤태
+김나진자
+김정수용
+김원우영
+김정순정
+김나현
+김용동
+김지영
+김승권
+김낙동
+김상태
+김영룡
+김현호
+김낙호
+김수상
+김봉표
+김부현
+김난이
+김점겸
+김준권
+김희술
+김남근
+김혜호
+김천일
+김만이
+김남기
+김승만
+김인대
+김재연
+김남수
+김연희
+김성호
+김해탁
+김남수
+김차호
+김종호
+김정옥
+김남수
+김 옥
+김임이
+김영표
+김남순
+김일달
+김희희
+김현배
+김남용
+김재익
+김태구
+김해우
+김남우
+김헌선
+김경선
+김치석
+김남이
+김정정
+김곡기
+김동원
+김남조
+김채현
+김덕일
+김만근
+김노수
+김동식
+김현자
+김창철
+김다남
+김수웅
+김해주
+김찬계
+김달막
+김철호
+김종곤
+김병일
+김달막
+김홍애
+김기성
+김종원
+김달분
+김치호
+김외선
+김경교
+김달성
+김연환
+김재호
+김문암
+김달수
+김동봉
+김영현
+김영만
+김달식
+김천곤
+김두옥
+김지용
+김달식
+김소근
+김순술
+김영웅
+김달암
+김태군
+김복수
+김정환
+김달유
+김광숙
+김순기
+김옥준
+김달태
+김선량
+김미술
+김소지
+김달호
+김정환
+김병섭
+김길우
+김달화
+김필향
+김영자
+김영덕
+김대경
+김상봉
+김수식
+김성태
+김대규
+김미득
+김윤준
+김영택
+김대기
+김현필
+김진현
+김무남
+김대기
+김상식
+김성혁
+김윤복
+김대석
+김황만
+김장덕
+김성홍
+김대성
+김철헌
+김상원
+김재환
+김대수
+김상기
+김성철
+김승출
+김대식
+김병기
+김재화
+김찬영
+김대식
+김정철
+김득조
+김상근
+김대식
+김민철
+김정주
+김종권
+김대연
+김순술
+김효선
+김무상
+김대용
+김은미
+김규석
+김현환
+김대원
+김재창
+김형임
+김명만
+김대윤
+김기연
+김경석
+김종례
+김대응
+김수출
+김낙환
+김일실
+김대일
+김도철
+김보호
+김임철
+김대일
+김희준
+김을석
+김윤기
+김대종
+김동만
+김재화
+김덕방
+김대진
+김정옥
+김봉회
+김주원
+김대현
+김상권
+김춘오
+김용창
+김대현
+김대호
+김복석
+김성휴
+김대현
+김상택
+김윤희
+김노곤
+김대호
+김과수
+김재수
+김봉성
+김대환
+김기수
+김계한
+김성석
+김대희
+김은환
+김종열
+김병희
+김덕고
+김상빈
+김해곤
+김종만
+김덕곤
+김일수
+김기성
+김장석
+김덕리
+김기원
+김지정
+김승호
+김덕림
+김만문
+김금정
+김강동
+김덕만
+김종배
+김봉식
+김정표
+김덕수
+김상수
+김정희
+김영조
+김덕수
+김태로
+김연철
+김주용
+김덕순
+김상열
+김종기
+김화갑
+김덕순
+김성두
+김수연
+김하묵
+김덕연
+김귀현
+김외한
+김광자
+김덕연
+김성이
+김한규
+김종배
+김덕열
+김임춘
+김재규
+김상현
+김덕용
+김용완
+김해용
+김선웅
+김덕원
+김남만
+김창돌
+김수곤
+김덕조
+김현삼
+김영구
+김준제
+김덕조
+김경규
+김태규
+김인철
+김덕중
+김성로
+김석식
+김무수
+김덕해
+김호철
+김홍창
+김원휘
+김도경
+김태주
+김경선
+김수원
+김도기
+김상종
+김동대
+김기수
+김도암
+김영훈
+김주균
+김혜숙
+김도영
+김봉권
+김태미
+김봉길
+김도원
+김영근
+김노목
+김정말
+김도윤
+김태순
+김세식
+김재희
+김도중
+김칠용
+김성영
+김재곤
+김도한
+김광덕
+김성규
+김명운
+김도훈
+김차옥
+김봉갑
+김강모
+김도희
+김용선
+김해일
+김재오
+김동곤
+김이석
+김용택
+김성석
+김동권
+김태병
+김일도
+김인식
+김동근
+김건덕
+김정복
+김영일
+김동기
+김용대
+김흥기
+김대호
+김동기
+김경두
+김임호
+김승수
+김동기
+김수운
+김명덕
+김명환
+김동길
+김기모
+김복선
+김영수
+김동남
+김윤만
+김정순
+김선순
+김동례
+김명수
+김강숙
+김석득
+김동만
+김태환
+김쌍효
+김삼희
+김동섭
+김상연
+김유원
+김장권
+김동성
+김해경
+김경선
+김선록
+김동성
+김군영
+김맹호
+김갑준
+김동숙
+김월환
+김태교
+김윤수
+김동순
+김상선
+김재채
+김미락
+김동식
+김숙만
+김종출
+김윤기
+김동식
+김학학
+김기기
+김수용
+김동열
+김준순
+김명경
+김병환
+김동열
+김정률
+김광남
+김용규
+김동열
+김재이
+김태섭
+김일환
+김동용
+김욱윤
+김헌우
+김병철
+김동원
+김차길
+김정은
+김사열
+김동주
+김상득
+김충주
+김용찬
+김동주
+김준덕
+김홍은
+김동근
+김동준
+김홍형
+김해현
+김영규
+김동진
+김재관
+김필곤
+김수현
+김동진
+김희삼
+김성후
+김인동
+김동춘
+김정목
+김제용
+김태식
+김동춘
+김윤술
+김명규
+김영달
+김동춘
+김인현
+김중현
+김승래
+김동현
+김용화
+김진수
+김정회
+김동호
+김순경
+김병섭
+김수석
+김동환
+김윤오
+김종상
+김미이
+김동환
+김춘경
+김종술
+김항기
+김동환
+김병구
+김성식
+김일용
+김동환
+김석오
+김낙시
+김경성
+김동환
+김병수
+김인웅
+김창철
+김동효
+김태홍
+김남준
+김연원
+김동효
+김정식
+김구규
+김규임
+김두식
+김창호
+김근순
+김무둔
+김두연
+김희달
+김영준
+김원조
+김두연
+김영숙
+김인곤
+김인일
+김두완
+김차생
+김상동
+김창년
+김두천
+김원호
+김만만
+김태상
+김두출
+김춘정
+김정순
+김순건
+김두호
+김정영
+김용희
+김범백
+김두환
+김재규
+김상임
+김필환
+김두희
+김영철
+김하열
+김종조
+김득규
+김판관
+김정훈
+김상천
+김득석
+김영학
+김홍경
+김대휴
+김득용
+김태구
+김인수
+김해규
+김등길
+김순웅
+김재우
+김말화
+김만균
+김후심
+김선희
+김영현
+김만금
+김종숙
+김정두
+김운호
+김만금
+김병현
+김태술
+김인희
+김만길
+김지준
+김덕만
+김세현
+김만길
+김만문
+김채섭
+김경남
+김만달
+김상한
+김용길
+김영규
+김만덕
+김국수
+김미홍
+김현완
+김만덕
+김수수
+김재오
+김정호
+김만도
+김우달
+김한식
+김태용
+김만득
+김기갑
+김칠식
+김완구
+김만복
+김복용
+김이종
+김석옥
+김만석
+김병섭
+김성원
+김임규
+김만선
+김덕조
+김차순
+김태애
+김만수
+김효봉
+김문광
+김태판
+김만수
+김금주
+김봉수
+김병술
+김만수
+김매달
+김윤성
+김재현
+김만술
+김용호
+김금환
+김순호
+김만열
+김홍열
+김장권
+김인석
+김만용
+김상덕
+김준곤
+김종순
+김만원
+김창호
+김해자
+김원철
+김만원
+김영순
+김지근
+김창철
+김만이
+김상순
+김영평
+김대수
+김만조
+김자열
+김숙호
+김정도
+김만종
+김동성
+김지출
+김종균
+김만태
+김동근
+김석근
+김석재
+김만훈
+김정수
+김상도
+김창규
+김말난
+김복열
+김희호
+김희덕
+김말래
+김승기
+김순수
+김동봉
+김말련
+김정호
+김출원
+김옥진
+김말분
+김태연
+김차금
+김윤권
+김말석
+김기래
+김재영
+김순임
+김말선
+김달철
+김광윤
+김복준
+김말수
+김준선
+김태록
+김달기
+김말술
+김동우
+김태국
+김수이
+김말암
+김영술
+김판영
+김일숙
+김말이
+김순분
+김건곤
+김정왕
+김말임
+김용국
+김동종
+김태호
+김말조
+김철덕
+김명규
+김광자
+김맹환
+김한달
+김영근
+김극이
+김명곤
+김술만
+김일이
+김판대
+김명곤
+김소향
+김기호
+김재률
+김명국
+김상호
+김차희
+김종호
+김명규
+김윤범
+김태남
+김명철
+김명규
+김경호
+김종돌
+김동식
+김명락
+김갑기
+김 선
+김승윤
+김명섭
+김병순
+김승수
+김성흠
+김명수
+김차호
+김무권
+김숙순
+김명수
+김태환
+김미주
+김해국
+김명숙
+김점수
+김화구
+김태기
+김명숙
+김병덕
+김창대
+김안홍
+김명숙
+김태수
+김명식
+김종순
+김명순
+김태조
+김오화
+김용수
+김명순
+김태이
+김현곤
+김임구
+김명순
+김영화
+김정조
+김옥숙
+김명순
+김규화
+김성종
+김귀준
+김명식
+김을은
+김도발
+김운래
+김명애
+김문호
+김태경
+김원순
+김명오
+김일숙
+김윤희
+김환세
+김명옥
+김도호
+김채용
+김두열
+김명자
+김현자
+김상득
+김수완
+김명자
+김문율
+김규순
+김태완
+김명정
+김홍영
+김규호
+김영태
+김명중
+김성소
+김순택
+김전규
+김명진
+김항복
+김순래
+김진금
+김명진
+김춘규
+김정식
+김난영
+김명철
+김종영
+김자순
+김성붕
+김명철
+김태윤
+김일술
+김광례
+김명출
+김춘화
+김소희
+김순기
+김명출
+김만이
+김정양
+김태철
+김명출
+김순진
+김낙숙
+김성곤
+김명하
+김재수
+김동호
+김창석
+김명학
+김남호
+김태열
+김순규
+김명호
+김석일
+김재분
+김관순
+김명화
+김상철
+김일호
+김민영
+김명환
+김정수
+김길동
+김차길
+김명희
+김상화
+김상식
+김동옥
+김명희
+김기희
+김경가
+김순기
+김명희
+김상현
+김기태
+김두구
+김묘월
+김병주
+김재교
+김기정
+김무근
+김장선
+김갑일
+김헌재
+김무금
+김만출
+김성식
+김계순
+김무배
+김달휴
+김남조
+김재곤
+김무배
+김길준
+김재철
+김재득
+김무선
+김광동
+김병진
+김태탁
+김무식
+김병대
+김성구
+김성현
+김무연
+김규호
+김해용
+김계식
+김무열
+김경호
+김범자
+김상탁
+김무열
+김태갑
+김위수
+김진출
+김무철
+김환일
+김현수
+김재규
+김무태
+김복욱
+김 식
+김종영
+김무현
+김무수
+김명수
+김만조
+김무호
+김종수
+김태환
+김홍언
+김무환
+김귀용
+김관천
+김규식
+김무환
+김소동
+김을돌
+김윤이
+김문구
+김영균
+김재수
+김성석
+김문기
+김정관
+김태홍
+김기섭
+김문돌
+김종희
+김기천
+김판희
+김문배
+김순연
+김교수
+김종봉
+김문배
+김성옥
+김용도
+김상수
+김문수
+김몽곤
+김재희
+김창식
+김문수
+김판선
+김병식
+김영곤
+김문수
+김수원
+김태광
+김인희
+김문식
+김동림
+김선기
+김정덕
+김문열
+김성준
+김원조
+김재우
+김문열
+김윤만
+김재준
+김상동
+김문영
+김영식
+김분하
+김의하
+김문용
+김일보
+김정수
+김말주
+김문주
+김성원
+김재만
+김기욱
+김문호
+김명국
+김종동
+김억천
+김미경
+김신용
+김영휴
+김수철
+김미숙
+김영기
+김용준
+김재수
+김미옥
+김천구
+김운진
+김보우
+김미자
+김종근
+김상필
+김달근
+김미정
+김삼길
+김광곤
+김성순
+김미정
+김상준
+김병순
+김용연
+김민애
+김근열
+김영환
+김용용
+김민우
+김덕현
+김강윤
+김가호
+김민자
+김장복
+김인조
+김성영
+김민정
+김재희
+김병자
+김홍호
+김민철
+김순식
+김명교
+김종춘
+김범수
+김영훈
+김해식
+김익순
+김범준
+김병권
+김봉연
+김병섭
+김범출
+김기현
+김장두
+김효구
+김범태
+김양길
+김태순
+김용재
+김병관
+김충훈
+김용기
+김수호
+김병권
+김영택
+김상수
+김진욱
+김병규
+김호감
+김미노
+김낙호
+김병근
+김계기
+김헌문
+김일환
+김병기
+김용술
+김숙조
+김상욱
+김병달
+김차섭
+김상영
+김충영
+김병덕
+김규열
+김상준
+김만우
+김병덕
+김충수
+김점노
+김언식
+김병려
+김송호
+김수봉
+김종희
+김병련
+김종곤
+김승숙
+김종연
+김병림
+김노숙
+김동용
+김성균
+김병만
+김호휴
+김수자
+김문도
+김병삼
+김성원
+김우숙
+김원봉
+김병삼
+김인수
+김창순
+김동국
+김병상
+김본자
+김규완
+김종갑
+김병수
+김치순
+김동영
+김보모
+김병수
+김연석
+김수순
+김영도
+김병수
+김석래
+김종영
+김혜권
+김병식
+김 부
+김도용
+김만도
+김병연
+김해춘
+김종도
+김강섭
+김병열
+김숙순
+김정수
+김승길
+김병완
+김석길
+김윤우
+김용범
+김병용
+김소만
+김동길
+김용기
+김병우
+김용주
+김말엽
+김은수
+김병우
+김병옥
+김원구
+김우수
+김병원
+김창록
+김달호
+김필종
+김병익
+김주호
+김승석
+김봉도
+김병주
+김정문
+김현례
+김상근
+김병준
+김홍원
+김기성
+김택수
+김병준
+김정수
+김풍소
+김명규
+김병진
+김경일
+김형진
+김재환
+김병철
+김유기
+김영학
+김명성
+김병춘
+김달현
+김태순
+김덕자
+김병태
+김은문
+김정우
+김인순
+김병호
+김경식
+김덕필
+김태덕
+김병호
+김효섭
+김왕환
+김수태
+김병환
+김병환
+김상도
+김정숙
+김병훈
+김태금
+김희실
+김국상
+김병훈
+김진선
+김주국
+김구기
+김병희
+김옥호
+김해호
+김정숙
+김보환
+김여조
+김갑휘
+김임곤
+김복란
+김달분
+김수자
+김대금
+김복련
+김재곤
+김종애
+김영영
+김복례
+김종식
+김필도
+김상철
+김복석
+김점석
+김범정
+김기조
+김복수
+김병우
+김영규
+김교민
+김복수
+김상동
+김윤만
+김영택
+김복숙
+김경자
+김미호
+김외환
+김복순
+김성희
+김동환
+김태규
+김복순
+김신조
+김병섭
+김영옥
+김복술
+김상구
+김세갑
+김무돈
+김복시
+김재선
+김영열
+김재익
+김복심
+김봉훈
+김수분
+김도현
+김복연
+김계규
+김윤원
+김용호
+김복연
+김인래
+김진봉
+김상기
+김복용
+김옥봉
+김영례
+김학기
+김복임
+김용용
+김태철
+김을택
+김복조
+김춘숙
+김만록
+김광용
+김복준
+김기두
+김만경
+김재해
+김복현
+김진우
+김기규
+김태준
+김복희
+김기연
+김필권
+김만곤
+김봉갑
+김윤희
+김영율
+김영근
+김봉관
+김광도
+김상욱
+김원열
+김봉권
+김수식
+김귀성
+김상이
+김봉권
+김진권
+김성길
+김춘종
+김봉기
+김태순
+김태규
+김동선
+김봉기
+김중영
+김갑영
+김이석
+김봉길
+김태준
+김종희
+김강희
+김봉늠
+김석철
+김의야
+김광학
+김봉도
+김근택
+김추석
+김신진
+김봉선
+김흥만
+김남숙
+김성분
+김봉선
+김두목
+김정옥
+김금열
+김봉섭
+김창도
+김대만
+김기자
+김봉수
+김 덕
+김종자
+김정현
+김봉수
+김재조
+김주학
+김효찬
+김봉자
+김동욱
+김두순
+김성준
+김봉주
+김순태
+김승용
+김동욱
+김봉진
+김윤내
+김재식
+김경길
+김봉진
+김태환
+김상남
+김동재
+김봉호
+김준식
+김은규
+김효무
+김봉호
+김문헌
+김희우
+김귀희
+김봉호
+김경수
+김학득
+김해호
+김부근
+김분연
+김효생
+김기균
+김부형
+김영삼
+김정동
+김병조
+김분남
+김정자
+김길주
+김대분
+김분선
+김희달
+김삼식
+김태구
+김분악
+김정용
+김수배
+김제덕
+김분열
+김광호
+김영수
+김광수
+김분이
+김동래
+김태자
+김태순
+김분이
+김영계
+김우남
+김양준
+김분조
+김차희
+김관대
+김성선
+김사곤
+김태식
+김진우
+김수식
+김사순
+김상철
+김재준
+김종조
+김사일
+김윤영
+김경기
+김기동
+김사조
+김정수
+김성철
+김만애
+김삼국
+김성근
+김규호
+김기분
+김삼남
+김용우
+김태중
+김병성
+김삼동
+김삼태
+김정식
+김요석
+김삼명
+김창희
+김홍희
+김태순
+김삼방
+김병봉
+김영훈
+김려길
+김삼봉
+김기권
+김영준
+김종식
+김삼상
+김대수
+김명구
+김상희
+김삼수
+김희상
+김종중
+김금래
+김삼수
+김종운
+김정현
+김영수
+김삼용
+김익진
+김명호
+김재원
+김삼용
+김성동
+김순로
+김소호
+김삼조
+김영래
+김복한
+김원환
+김삼진
+김영종
+김종규
+김종해
+김삼출
+김태춘
+김일구
+김상준
+김삼출
+김윤식
+김진금
+김영석
+김삼호
+김철상
+김인봉
+김의호
+김상
+김택
+김철
+김태
+김상곤
+김영구
+김상빈
+김두종
+김상곤
+김진암
+김공현
+김진규
+김상곤
+김준출
+김순자
+김성운
+김상관
+김희수
+김선권
+김수섭
+김상구
+김선석
+김미용
+김해선
+김상구
+김태하
+김규연
+김연수
+김상구
+김극일
+김태운
+김종용
+김상구
+김희훈
+김해원
+김윤출
+김상권
+김병표
+김상천
+김필난
+김상규
+김성경
+김곡찬
+김귀호
+김상규
+김순곤
+김명연
+김천병
+김상규
+김용영
+김종섭
+김종숙
+김상규
+김무희
+김우출
+김경기
+김상균
+김영수
+김의일
+김응희
+김상근
+김춘탁
+김성점
+김원옥
+김상근
+김차봉
+김정범
+김좌순
+김상기
+김희배
+김종덕
+김병정
+김상길
+김욱휴
+김일배
+김세수
+김상덕
+김해선
+김대갑
+김연봉
+김상덕
+김창봉
+김재선
+김재희
+김상덕
+김경태
+김분천
+김갑수
+김상덕
+김순달
+김재호
+김미진
+김상돈
+김용자
+김영식
+김병호
+김상록
+김미섭
+김호호
+김경식
+김상만
+김을우
+김명용
+김열진
+김상만
+김달세
+김자욱
+김윤호
+김상문
+김옥용
+김 창
+김희택
+김상문
+김용용
+김헌택
+김명현
+김상미
+김기영
+김채일
+김성호
+김상배
+김영길
+김명현
+김상순
+김상석
+김추연
+김윤건
+김정열
+김상섭
+김종식
+김순출
+김종국
+김상수
+김언덕
+김삼혜
+김수래
+김상수
+김재이
+김상현
+김강선
+김상수
+김정봉
+김태옥
+김삼래
+김상수
+김진동
+김칠이
+김성한
+김상숙
+김홍석
+김병조
+김월환
+김상술
+김호배
+김삼석
+김손석
+김상시
+김장윤
+김기현
+김재이
+김상식
+김종성
+김은화
+김춘현
+김상연
+김영태
+김진관
+김선준
+김상연
+김용해
+김상곤
+김건원
+김상열
+김덕찬
+김윤우
+김주성
+김상열
+김병훈
+김상근
+김명달
+김상영
+김금동
+김분석
+김중식
+김상오
+김병호
+김순동
+김창용
+김상용
+김정현
+김홍준
+김말교
+김상용
+김찬원
+김기식
+김보하
+김상용
+김준덕
+김윤근
+김일룡
+김상운
+김연호
+김미곤
+김경만
+김상원
+김동계
+김점희
+김도식
+김상윤
+김응문
+김호록
+김인생
+김상율
+김영하
+김화순
+김경록
+김상율
+김용수
+김동근
+김재성
+김상율
+김진태
+김광학
+김해조
+김상응
+김봉기
+김병국
+김노균
+김상일
+김윤학
+김상종
+김광정
+김상일
+김병찬
+김창형
+김석섭
+김상일
+김소대
+김승라
+김상근
+김상재
+김유수
+김건원
+김종환
+김상조
+김춘도
+김식덕
+김동호
+김상종
+김춘섭
+김홍수
+김재완
+김상중
+김상희
+김상후
+김장봉
+김상진
+김노석
+김달남
+김용원
+김상진
+김명석
+김병열
+김은술
+김상천
+김순진
+김태구
+김영자
+김상철
+김송수
+김실한
+김현영
+김상철
+김용길
+김상호
+김금자
+김상철
+김남석
+김영수
+김웅대
+김상태
+김미석
+김호규
+김영옥
+김상태
+김지호
+김준성
+김태식
+김상태
+김중호
+김승복
+김재권
+김상하
+김상섭
+김면호
+김상옥
+김상한
+김호훈
+김봉권
+김동식
+김상헌
+김영자
+김지호
+김관현
+김상혁
+김영환
+김종희
+김명찬
+김상현
+김경준
+김점봉
+김중학
+김상현
+김삼수
+김효춘
+김영복
+김상현
+김성환
+김기문
+김종성
+김상호
+김우규
+김경갑
+김창현
+김상호
+김은현
+김기경
+김경득
+김상호
+김복술
+김재순
+김분효
+김상호
+김내택
+김은성
+김은자
+김상홍
+김영암
+김숙미
+김채희
+김상환
+김일환
+김춘호
+김미현
+김상훈
+김재하
+김달순
+김우호
+김상희
+김광영
+김건기
+김만철
+김상희
+김기옥
+김헌희
+김문숙
+김상희
+김태우
+김학술
+김용석
+김서암
+김대태
+김계석
+김종금
+김석곤
+김순애
+김태조
+김노희
+김석관
+김복양
+김용환
+김해현
+김석규
+김영규
+김태득
+김종영
+김석균
+김경희
+김대황
+김차용
+김석근
+김점경
+김판필
+김정천
+김석근
+김인옥
+김창열
+김태세
+김석근
+김갑만
+김정암
+김해곤
+김석노
+김정두
+김도창
+김숙표
+김석도
+김순재
+김태원
+김해만
+김석동
+김판전
+김용호
+김일수
+김석란
+김종봉
+김병수
+김원평
+김석수
+김봉덕
+김춘열
+김말근
+김석순
+김길복
+김경술
+김조현
+김석암
+김동삼
+김대식
+김경호
+김석연
+김귀봉
+김상출
+김진건
+김석열
+김진현
+김노봉
+김길애
+김석이
+김태연
+김운식
+김태만
+김석재
+김달탁
+김종록
+김상현
+김석조
+김권익
+김문규
+김상범
+김석종
+김헌규
+김미준
+김태만
+김석준
+김동석
+김미일
+김기복
+김석진
+김상석
+김수임
+김용조
+김석천
+김경관
+김영유
+김성석
+김석철
+김재금
+김영용
+김규준
+김석환
+김소장
+김낙순
+김대정
+김선교
+김영수
+김중갑
+김성수
+김선덕
+김영임
+김병섭
+김정수
+김선만
+김성제
+김차오
+김춘수
+김선미
+김창자
+김효미
+김정수
+김선봉
+김용윤
+김복성
+김우영
+김선분
+김성성
+김필태
+김광현
+김선술
+김진자
+김홍각
+김태천
+김선우
+김복용
+김종희
+김복환
+김선욱
+김점용
+김병수
+김상수
+김선욱
+김기운
+김준호
+김해재
+김선이
+김정수
+김상숙
+김기자
+김선이
+김춘우
+김정식
+김순인
+김선이
+김경호
+김선수
+김희섭
+김선이
+김윤원
+김정표
+김윤군
+김선이
+김영애
+김재수
+김삼규
+김선자
+김근주
+김동중
+김경석
+김선자
+김정련
+김동자
+김홍동
+김선중
+김석선
+김영훈
+김연진
+김선태
+김영식
+김규웅
+김재진
+김선태
+김병돌
+김상덕
+김쌍표
+김선태
+김상행
+김영동
+김수조
+김선효
+김수천
+김옥일
+김종포
+김선희
+김종달
+김무기
+김경석
+김선희
+김삼화
+김의한
+김조고
+김선희
+김주임
+김환기
+김혁수
+김설자
+김주동
+김상술
+김재원
+김성계
+김차윤
+김덕빈
+김경희
+김성곤
+김옥길
+김인동
+김소훈
+김성곤
+김사설
+김판만
+김동천
+김성곤
+김윤준
+김태균
+김팔옥
+김성곤
+김진하
+김소효
+김성환
+김성구
+김재일
+김종수
+김우순
+김성구
+김상대
+김인수
+김영대
+김성구
+김만환
+김희기
+김석분
+김성구
+김영문
+김병구
+김진권
+김성구
+김태기
+김순점
+김상조
+김성규
+김순철
+김사규
+김일호
+김성규
+김무배
+김영현
+김재옥
+김성규
+김봉규
+김진우
+김성도
+김성근
+김범숙
+김훈철
+김우환
+김성근
+김호희
+김태자
+김승선
+김성기
+김종현
+김점범
+김용수
+김성기
+김임제
+김성일
+김병태
+김성기
+김옥국
+김태화
+김천희
+김성기
+김영분
+김옥석
+김덕관
+김성기
+김노원
+김영식
+김윤동
+김성기
+김운운
+김영순
+김상종
+김성기
+김병주
+김무호
+김용학
+김성기
+김상우
+김병학
+김정진
+김성남
+김중상
+김준희
+김종완
+김성덕
+김해용
+김영구
+김상진
+김성도
+김원곤
+김인원
+김락식
+김성도
+김봉이
+김유채
+김정조
+김성락
+김상환
+김주칠
+김연옥
+김성렬
+김정철
+김상철
+김억목
+김성례
+김응주
+김수환
+김타숙
+김성률
+김호수
+김경호
+김현락
+김성만
+김창일
+김철표
+김희학
+김성목
+김광만
+김택언
+김진소
+김성문
+김근기
+김을주
+김순돌
+김성배
+김정생
+김소권
+김건기
+김성배
+김관건
+김정희
+김성환
+김성복
+김용희
+김분포
+김기목
+김성복
+김용현
+김광모
+김준택
+김성생
+김명홍
+김주웅
+김종건
+김성선
+김기홍
+김점탁
+김재권
+김성수
+김선숙
+김낙진
+김분문
+김성수
+김동제
+김춘박
+김기웅
+김성수
+김태복
+김완옥
+김광순
+김성수
+김춘익
+김길호
+김성영
+김성순
+김세진
+김소식
+김근진
+김성식
+김용주
+김자식
+김명홍
+김성열
+김영우
+김정광
+김헌일
+김성열
+김무순
+김심임
+김갑수
+김성열
+김천일
+김재대
+김영도
+김성열
+김동식
+김유식
+김영락
+김성영
+김인덕
+김충목
+김성호
+김성용
+김남순
+김종환
+김문규
+김성용
+김외동
+김칠도
+김경노
+김성용
+김중철
+김수현
+김옥복
+김성우
+김장술
+김영정
+김태천
+김성우
+김건길
+김명식
+김관근
+김성우
+김명설
+김삼인
+김종희
+김성우
+김의우
+김수인
+김시술
+김성욱
+김소두
+김근배
+김성수
+김성운
+김근진
+김영달
+김현태
+김성운
+김재종
+김정춘
+김광순
+김성운
+김경호
+김진환
+김만근
+김성윤
+김정석
+김도주
+김병한
+김성일
+김시학
+김수학
+김강기
+김성일
+김장개
+김덕교
+김근동
+김성일
+김병우
+김상언
+김기웅
+김성재
+김광철
+김병치
+김재순
+김성조
+김재환
+김만철
+김연순
+김성주
+김덕태
+김원규
+김재호
+김성준
+김태순
+김정기
+김혜득
+김성진
+김용주
+김금완
+김재도
+김성진
+김춘이
+김현조
+김희례
+김성출
+김종호
+김 용
+김유섭
+김성치
+김병도
+김재진
+김재석
+김성태
+김정호
+김용해
+김성길
+김성태
+김진환
+김명선
+김영철
+김성태
+김효점
+김태종
+김왕소
+김성태
+김태란
+김노희
+김기선
+김성택
+김수철
+김점우
+김성윤
+김성필
+김병영
+김재호
+김병술
+김성한
+김종재
+김월경
+김홍선
+김성호
+김병길
+김명주
+김효덕
+김성호
+김덕명
+김만기
+김성근
+김성호
+김노기
+김재옥
+김명덕
+김성환
+김쾌문
+김영름
+김태하
+김성환
+김을도
+김석봉
+김수용
+김성훈
+김상수
+김판로
+김차이
+김성훈
+김옥태
+김영득
+김석조
+김성훈
+김철봉
+김종준
+김찬명
+김성희
+김상주
+김해수
+김정열
+김성희
+김재애
+김경택
+김영천
+김성희
+김순우
+김옥덕
+김종희
+김세기
+김성태
+김승란
+김봉식
+김세덕
+김종용
+김해환
+김상국
+김세연
+김태식
+김성홍
+김일덕
+김세완
+김수락
+김종자
+김분섭
+김세운
+김동석
+김행술
+김광상
+김세호
+김미진
+김해구
+김용권
+김세훈
+김규원
+김현동
+김진소
+김소경
+김부성
+김재현
+김철선
+김소남
+김영동
+김관웅
+김기웅
+김소덕
+김필복
+김관휴
+김정순
+김소덕
+김태영
+김원기
+김기구
+김소도
+김수현
+김윤남
+김재교
+김소도
+김임덕
+김규원
+김규철
+김소득
+김봉환
+김태환
+김병진
+김소배
+김계조
+김영용
+김숙열
+김소선
+김택애
+김춘수
+김판언
+김소순
+김용영
+김기억
+김정호
+김소연
+김악선
+김현중
+김남술
+김소조
+김성숙
+김상열
+김영희
+김소철
+김병갑
+김용란
+김만휴
+김소철
+김연학
+김성희
+김기석
+김소춘
+김대태
+김경이
+김종목
+김소한
+김우문
+김종준
+김영희
+김소향
+김병철
+김강근
+김정련
+김수갑
+김용일
+김조무
+김갑호
+김수강
+김태우
+김해배
+김희경
+김수경
+김경호
+김봉희
+김중규
+김수관
+김정원
+김혜모
+김병수
+김수길
+김계자
+김홍학
+김영림
+김수길
+김수원
+김수대
+김희임
+김수길
+김억웅
+김영연
+김장우
+김수길
+김미운
+김태우
+김분명
+김수년
+김동호
+김희포
+김길선
+김수동
+김지순
+김성우
+김주출
+김수만
+김종찬
+김수태
+김보두
+김수병
+김수분
+김정도
+김진이
+김수복
+김희석
+김성준
+김홍환
+김수복
+김기백
+김영이
+김봉분
+김수상
+김창남
+김채곤
+김중용
+김수석
+김수학
+김태태
+김상식
+김수선
+김무호
+김한선
+김점옥
+김수식
+김무현
+김명용
+김경만
+김수연
+김영규
+김규수
+김장철
+김수열
+김명금
+김용학
+김말선
+김수열
+김정호
+김효출
+김상완
+김수영
+김석연
+김행근
+김상수
+김수용
+김정석
+김진주
+김춘돌
+김수운
+김태명
+김낙진
+김자수
+김수웅
+김재수
+김진범
+김광웅
+김수원
+김복선
+김재은
+김일석
+김수익
+김모기
+김대열
+김주엽
+김수일
+김인기
+김기재
+김병환
+김수정
+김광흠
+김재금
+김달식
+김수종
+김충열
+김순자
+김경조
+김수준
+김기순
+김병봉
+김성년
+김수창
+김일호
+김태호
+김인우
+김수철
+김열윤
+김옥호
+김시수
+김수철
+김계균
+김순선
+김웅분
+김수태
+김등길
+김나기
+김상영
+김수태
+김춘춘
+김은조
+김명수
+김수택
+김금순
+김정조
+김태선
+김수택
+김우기
+김창기
+김인술
+김수현
+김미식
+김장룡
+김정궁
+김수현
+김광자
+김진현
+김금균
+김수호
+김창우
+김일식
+김원길
+김수호
+김주만
+김성자
+김익자
+김수호
+김상룡
+김방원
+김유한
+김수호
+김완일
+김행덕
+김병현
+김수화
+김지수
+김성원
+김성한
+김수환
+김춘혁
+김동진
+김동옥
+김수환
+김병범
+김성철
+김주석
+김수효
+김영연
+김정덕
+김윤수
+김수효
+김병점
+김영조
+김계오
+김숙이
+김정철
+김장래
+김석수
+김숙자
+김용중
+김월정
+김상노
+김숙자
+김담수
+김우순
+김삼숙
+김숙자
+김규선
+김해화
+김종근
+김숙현
+김장조
+김장태
+김무영
+김숙희
+김진상
+김동열
+김해세
+김순국
+김준권
+김인택
+김종수
+김순금
+김영필
+김영술
+김숙권
+김순기
+김윤근
+김소선
+김승연
+김순남
+김영성
+김문봉
+김성화
+김순남
+김순식
+김순길
+김철원
+김순남
+김명규
+김문조
+김창영
+김순남
+김형자
+김도호
+김권헌
+김순덕
+김상순
+김진웅
+김위철
+김순동
+김명일
+김종휴
+김재상
+김순득
+김영일
+김세열
+김석홍
+김순례
+김병준
+김한근
+김규환
+김순배
+김광원
+김상주
+김점섭
+김순분
+김우경
+김태수
+김종탁
+김순생
+김신삼
+김영영
+김종훈
+김순선
+김교기
+김제화
+김정희
+김순선
+김곤학
+김성구
+김원학
+김순식
+김정환
+김용주
+김말휴
+김순애
+김상창
+김혜도
+김혁용
+김순연
+김종일
+김정수
+김종동
+김순연
+김상윤
+김재호
+김춘진
+김순연
+김영식
+김영삼
+김신원
+김순옥
+김현조
+김경태
+김도열
+김순완
+김병분
+김정주
+김오오
+김순이
+김태영
+김순호
+김영선
+김순이
+김행향
+김성대
+김하동
+김순이
+김순환
+김보구
+김영영
+김순임
+김두생
+김재기
+김희태
+김순임
+김완흠
+김춘환
+김수수
+김순자
+김봉수
+김석관
+김문지
+김순호
+김경무
+김정용
+김범조
+김순화
+김영이
+김수덕
+김낙연
+김순희
+김정말
+김정식
+김옥대
+김순희
+김재식
+김해한
+김광권
+김순희
+김분식
+김원호
+김국식
+김술이
+김의희
+김성암
+김만재
+김술이
+김준직
+김정기
+김귀돌
+김승구
+김동현
+김영인
+김 순
+김승구
+김화해
+김순림
+김동식
+김승목
+김상섭
+김종화
+김영숙
+김승민
+김점돌
+김태용
+김기근
+김승정
+김종호
+김상석
+김춘수
+김승진
+김장철
+김유근
+김종대
+김승호
+김판순
+김명희
+김정금
+김시경
+김준환
+김승호
+김호임
+김시덕
+김준희
+김상판
+김석문
+김시동
+김원환
+김태교
+김범근
+김시래
+김병규
+김극애
+김남모
+김시운
+김영훈
+김용일
+김희식
+김시하
+김윤수
+김용환
+김근점
+김시환
+김만찬
+김주호
+김분덕
+김시환
+김진태
+김우경
+김하래
+김식규
+김성억
+김이주
+김상원
+김신숙
+김필조
+김병숙
+김정달
+김신식
+김남호
+김순석
+김태준
+김신열
+김태원
+김헌원
+김필점
+김신우
+김복도
+김훈석
+김재원
+김신일
+김대태
+김분향
+김현수
+김실경
+김임달
+김정호
+김병식
+김실광
+김달호
+김점섭
+김주욱
+김실광
+김도수
+김노열
+김춘원
+김쌍길
+김정덕
+김영노
+김양선
+김쌍례
+김경복
+김영호
+김태수
+김쌍봉
+김금완
+김용원
+김문운
+김쌍섭
+김인도
+김경호
+김종권
+김쌍암
+김동숙
+김기구
+김순자
+김아수
+김손권
+김종수
+김금이
+김악이
+김순수
+김윤수
+김동태
+김안수
+김순길
+김상수
+김광태
+김암남
+김장생
+김봉오
+김병옥
+김애연
+김익원
+김쾌옥
+김 모
+김양석
+김진운
+김해선
+김영원
+김양순
+김상섭
+김성태
+김희열
+김양순
+김창준
+김작락
+김재술
+김양식
+김교열
+김일덕
+김래출
+김양웅
+김상래
+김선현
+김성곤
+김양웅
+김순석
+김명순
+김경식
+김양원
+김인기
+김명한
+김성표
+김양주
+김관구
+김봉일
+김주운
+김양회
+김민희
+김광용
+김옥환
+김양흠
+김재한
+김대규
+김수덕
+김양희
+김규규
+김무우
+김강만
+김억년
+김철화
+김덕경
+김세문
+김억만
+김윤수
+김현걸
+김태률
+김억배
+김치호
+김병성
+김순생
+김억수
+김봉관
+김영악
+김윤권
+김언숙
+김성윤
+김문홍
+김종본
+김언식
+김수원
+김춘식
+김분경
+김연선
+김봉환
+김복현
+김홍경
+김연선
+김종률
+김홍식
+김대동
+김연수
+김춘곤
+김영환
+김의자
+김연수
+김정규
+김정성
+김쌍오
+김연수
+김삼식
+김용측
+김이일
+김연순
+김금석
+김진도
+김행종
+김연이
+김만식
+김범탁
+김종재
+김연조
+김인철
+김동근
+김말수
+김연조
+김성생
+김인규
+김용자
+김연주
+김석암
+김소동
+김선수
+김연향
+김인종
+김태용
+김영순
+김연희
+김양근
+김점주
+김병주
+김연희
+김형홍
+김재길
+김수길
+김영갑
+김종보
+김찬경
+김태영
+김영계
+김윤분
+김옥규
+김태도
+김영계
+김갑숙
+김구계
+김동연
+김영공
+김상화
+김세우
+김천연
+김영관
+김정경
+김해민
+김용재
+김영광
+김윤길
+김위수
+김경규
+김영교
+김영태
+김기태
+김종각
+김영구
+김채화
+김종원
+김병일
+김영구
+김원원
+김용희
+김철용
+김영구
+김영태
+김영현
+김해식
+김영국
+김준용
+김임수
+김면성
+김영국
+김동성
+김성현
+김재호
+김영귀
+김순진
+김순용
+김정동
+김영규
+김용범
+김동환
+김수진
+김영규
+김석성
+김경경
+김학영
+김영규
+김용식
+김귀덕
+김영헌
+김영규
+김한조
+김구재
+김영억
+김영규
+김병수
+김후도
+김태환
+김영균
+김재규
+김민흠
+김필용
+김영근
+김진윤
+김재심
+김재일
+김영근
+김우환
+김경태
+김현봉
+김영기
+김명옥
+김윤임
+김경용
+김영기
+김광호
+김경환
+김경오
+김영기
+김건주
+김석의
+김형운
+김영기
+김한중
+김동숙
+김양영
+김영길
+김희석
+김성래
+김창현
+김영길
+김명호
+김중용
+김용태
+김영길
+김종수
+김판용
+김용숙
+김영길
+김석순
+김오식
+김영석
+김영대
+김해년
+김용이
+김노철
+김영대
+김지규
+김태희
+김정희
+김영도
+김태석
+김태재
+김상천
+김영도
+김재록
+김소식
+김종호
+김영돈
+김정도
+김종학
+김임섭
+김영득
+김임현
+김인동
+김미순
+김영락
+김정근
+김창향
+김상순
+김영란
+김신경
+김용도
+김월환
+김영란
+김재환
+김윤용
+김삼덕
+김영만
+김록일
+김춘철
+김말광
+김영만
+김일부
+김재태
+김호규
+김영만
+김승갑
+김쌍건
+김종조
+김영만
+김장식
+김귀응
+김점식
+김영모
+김시호
+김차동
+김성선
+김영모
+김성순
+김종자
+김광영
+김영미
+김원기
+김상현
+김재수
+김영미
+김종성
+김의이
+김선현
+김영배
+김영길
+김명문
+김창이
+김영배
+김윤술
+김영근
+김학회
+김영봉
+김종호
+김수백
+김인환
+김영봉
+김상석
+김광국
+김성경
+김영부
+김재호
+김길근
+김태래
+김영빈
+김정인
+김문석
+김수원
+김영삼
+김수석
+김용곤
+김재정
+김영삼
+김규열
+김익환
+김영환
+김영상
+김영직
+김창수
+김성자
+김영석
+김상향
+김재수
+김진세
+김영석
+김수미
+김무철
+김규준
+김영석
+김상영
+김상규
+김봉윤
+김영석
+김형연
+김판섭
+김상일
+김영석
+김을식
+김병선
+김이경
+김영석
+김미복
+김영록
+김대만
+김영성
+김원헌
+김맹이
+김병우
+김영수
+김헌상
+김금순
+김재분
+김영수
+김희숙
+김세길
+김병수
+김영수
+김형애
+김갑기
+김희열
+김영수
+김재교
+김순광
+김용현
+김영수
+김봉희
+김대식
+김효철
+김영수
+김석철
+김무묵
+김철자
+김영수
+김양기
+김정우
+김영균
+김영수
+김점분
+김순윤
+김용태
+김영수
+김갑난
+김주희
+김병열
+김영수
+김경희
+김인호
+김연정
+김영수
+김두도
+김필태
+김인식
+김영수
+김춘헌
+김준순
+김상기
+김영수
+김성호
+김금조
+김주이
+김영수
+김헌권
+김진노
+김계길
+김영숙
+김상근
+김한목
+김상열
+김영숙
+김정연
+김이서
+김계근
+김영숙
+김권철
+김용덕
+김동만
+김영숙
+김재규
+김말분
+김용준
+김영숙
+김대수
+김민식
+김영선
+김영숙
+김희균
+김종경
+김원모
+김영숙
+김철영
+김지문
+김혜배
+김영숙
+김수인
+김영진
+김중갑
+김영숙
+김갑휘
+김차용
+김기선
+김영숙
+김의경
+김한국
+김정행
+김영숙
+김재재
+김달식
+김금분
+김영숙
+김택택
+김근호
+김치교
+김영순
+김원연
+김원실
+김경수
+김영순
+김계덕
+김상철
+김기기
+김영순
+김월열
+김성환
+김동종
+김영순
+김천성
+김홍구
+김연혜
+김영식
+김상길
+김석연
+김희관
+김영식
+김창애
+김대범
+김승임
+김영식
+김현용
+김전득
+김민화
+김영식
+김용주
+김임암
+김병호
+김영식
+김태식
+김용수
+김정이
+김영식
+김형근
+김상흠
+김중호
+김영식
+김상식
+김구숙
+김풍희
+김영식
+김대한
+김시옥
+김임관
+김영식
+김장숙
+김판현
+김재식
+김영식
+김창웅
+김재훈
+김종순
+김영신
+김태수
+김동섭
+김국갑
+김영옥
+김인현
+김성희
+김재복
+김영옥
+김창한
+김봉려
+김홍욱
+김영옥
+김택득
+김오영
+김기조
+김영옥
+김대환
+김병형
+김영식
+김영완
+김막호
+김영만
+김소화
+김영완
+김상채
+김지일
+김정준
+김영우
+김동운
+김분영
+김희모
+김영월
+김영철
+김태만
+김달호
+김영윤
+김정만
+김기성
+김영기
+김영은
+김상섭
+김태복
+김달문
+김영이
+김상배
+김영연
+김승돌
+김영인
+김영호
+김혜재
+김래도
+김영일
+김태태
+김옥규
+김지화
+김영일
+김병모
+김청식
+김경진
+김영자
+김타원
+김사희
+김병호
+김영자
+김숙진
+김소길
+김태태
+김영자
+김정숙
+김태길
+김삼생
+김영자
+김태고
+김소춘
+김민연
+김영자
+김상찬
+김낙규
+김승열
+김영자
+김우준
+김시술
+김해숙
+김영자
+김강효
+김재웅
+김영현
+김영자
+김호태
+김진용
+김민순
+김영조
+김인복
+김광재
+김차교
+김영조
+김종입
+김경수
+김동영
+김영주
+김대식
+김수조
+김용홍
+김영준
+김원우
+김재용
+김상희
+김영준
+김곤천
+김사완
+김석근
+김영준
+김 길
+김성자
+김석룡
+김영준
+김봉수
+김금수
+김필용
+김영진
+김차팔
+김상구
+김천화
+김영진
+김연선
+김정지
+김말주
+김영진
+김유희
+김장일
+김호근
+김영진
+김종조
+김영한
+김태룡
+김영집
+김근자
+김정권
+김달철
+김영집
+김우현
+김정건
+김동수
+김영철
+김동연
+김한선
+김두태
+김영철
+김상행
+김정계
+김영권
+김영철
+김경학
+김복현
+김상권
+김영춘
+김규훈
+김삼우
+김성환
+김영춘
+김성원
+김영출
+김상권
+김영출
+김성근
+김재동
+김근환
+김영출
+김상택
+김영국
+김재재
+김영출
+김현도
+김윤옥
+김호용
+김영출
+김만화
+김종완
+김우도
+김영칠
+김상순
+김영식
+김윤규
+김영태
+김한록
+김영자
+김병일
+김영태
+김상현
+김외모
+김분대
+김영택
+김영식
+김연옥
+김종찬
+김영택
+김월헌
+김말효
+김청천
+김영택
+김수정
+김규우
+김훈덕
+김영택
+김종태
+김호범
+김복용
+김영학
+김익오
+김상수
+김인규
+김영한
+김원관
+김성형
+김월길
+김영현
+김호기
+김금원
+김태수
+김영호
+김영구
+김재연
+김술원
+김영호
+김영환
+김효권
+김경근
+김영호
+김오규
+김점적
+김차환
+김영호
+김순식
+김소태
+김학술
+김영호
+김소우
+김재영
+김순섭
+김영호
+김현석
+김병술
+김종모
+김영호
+김종대
+김정철
+김현환
+김영호
+김충연
+김병현
+김판종
+김영호
+김성로
+김만철
+김영덕
+김영화
+김종우
+김 경
+김헌준
+김영환
+김갑순
+김재애
+김성만
+김영환
+김영조
+김인환
+김기일
+김영환
+김희영
+김광애
+김창정
+김영환
+김민경
+김봉환
+김장승
+김영환
+김정대
+김현숙
+김상배
+김영희
+김상세
+김정희
+김삼득
+김영희
+김종환
+김상부
+김일순
+김영희
+김 자
+김일석
+김석득
+김영희
+김용상
+김경석
+김소근
+김영희
+김규희
+김영장
+김재수
+김영희
+김진태
+김홍태
+김성두
+김오금
+김경철
+김정헌
+김성이
+김오기
+김득덕
+김재조
+김경석
+김오수
+김만희
+김정복
+김두재
+김오중
+김성종
+김성리
+김윤보
+김오중
+김태중
+김칠란
+김수화
+김오태
+김상길
+김재성
+김규기
+김오현
+김영순
+김지태
+김상환
+김옥남
+김충주
+김기준
+김진길
+김옥분
+김인한
+김기수
+김갑열
+김옥선
+김원향
+김대생
+김태원
+김옥선
+김석임
+김명헌
+김관세
+김옥선
+김봉규
+김영용
+김태우
+김옥수
+김한근
+김춘동
+김병태
+김옥순
+김낙명
+김중순
+김영교
+김옥순
+김태주
+김은석
+김일용
+김옥순
+김대학
+김승선
+김규호
+김옥순
+김태수
+김외이
+김한술
+김옥순
+김상헌
+김만영
+김재기
+김옥술
+김찬찬
+김희환
+김송연
+김옥연
+김선수
+김영호
+김광용
+김옥이
+김용목
+김진수
+김순춘
+김옥이
+김동영
+김규성
+김옥순
+김옥자
+김응희
+김재복
+김봉희
+김옥정
+김성락
+김 영
+김호성
+김옥중
+김헌환
+김석길
+김성준
+김옥천
+김상모
+김헌만
+김태수
+김완석
+김화구
+김학술
+김종자
+김완수
+김행태
+김규목
+김성기
+김완순
+김성대
+김순숙
+김경용
+김왕규
+김말숙
+김월열
+김종식
+김왕순
+김학태
+김봉옥
+김동암
+김외만
+김영진
+김재동
+김영조
+김외만
+김일기
+김병재
+김정빈
+김외분
+김인조
+김영연
+김순효
+김외상
+김덕승
+김은수
+김봉용
+김외생
+김영현
+김창화
+김원운
+김외수
+김금수
+김진석
+김수호
+김외순
+김말호
+김말용
+김진성
+김외순
+김소복
+김정식
+김만이
+김외술
+김용성
+김태식
+김주계
+김용갑
+김병선
+김금갑
+김철일
+김용겸
+김중훈
+김태현
+김영환
+김용구
+김계율
+김영연
+김승배
+김용국
+김종래
+김재기
+김덕성
+김용국
+김덕석
+김영수
+김일헌
+김용규
+김태철
+김종수
+김옥태
+김용규
+김판돌
+김규환
+김갑경
+김용규
+김성선
+김은수
+김정명
+김용균
+김정수
+김수일
+김홍규
+김용근
+김임부
+김석분
+김 호
+김용근
+김재득
+김홍식
+김동흠
+김용근
+김남근
+김용석
+김병하
+김용기
+김소호
+김효오
+김판종
+김용길
+김성황
+김두술
+김정배
+김용길
+김광국
+김태이
+김봉용
+김용남
+김현덕
+김선모
+김정근
+김용대
+김영태
+김준곤
+김순식
+김용대
+김태수
+김철열
+김춘덕
+김용덕
+김장순
+김외태
+김억수
+김용도
+김수석
+김동하
+김병천
+김용돌
+김종상
+김순근
+김임환
+김용동
+김병효
+김상규
+김중기
+김용득
+김기업
+김원현
+김해현
+김용만
+김종문
+김창식
+김금규
+김용만
+김종배
+김부호
+김태표
+김용문
+김병명
+김정원
+김만술
+김용배
+김옥희
+김해용
+김해현
+김용배
+김순덕
+김윤복
+김정연
+김용석
+김종환
+김병수
+김영택
+김용석
+김덕윤
+김기기
+김열용
+김용선
+김태옥
+김수교
+김순삼
+김용수
+김재태
+김영동
+김윤수
+김용수
+김응욱
+김옥순
+김종남
+김용수
+김상수
+김차란
+김석계
+김용수
+김종석
+김종현
+김종례
+김용수
+김삼석
+김종천
+김재우
+김용수
+김춘봉
+김영진
+김기정
+김용수
+김소흠
+김수래
+김창자
+김용수
+김승남
+김두동
+김 환
+김용술
+김경이
+김옥명
+김종탁
+김용술
+김명석
+김영구
+김수현
+김용식
+김연용
+김상환
+김재수
+김용식
+김재조
+김우희
+김병륜
+김용암
+김정호
+김서봉
+김동배
+김용암
+김병란
+김상선
+김병율
+김용운
+김정규
+김귀기
+김충숙
+김용운
+김무수
+김주팔
+김맹현
+김용운
+김정춘
+김성순
+김명환
+김용운
+김정흠
+김영우
+김의덕
+김용윤
+김진조
+김수갑
+김영각
+김용이
+김정식
+김진영
+김학규
+김용익
+김재호
+김동준
+김도용
+김용자
+김학용
+김춘하
+김희완
+김용전
+김성완
+김재원
+김태열
+김용주
+김현근
+김성순
+김선자
+김용주
+김석조
+김해용
+김억석
+김용준
+김윤영
+김성재
+김영지
+김용준
+김달교
+김영수
+김정겸
+김용철
+김재광
+김성훈
+김인환
+김용철
+김수식
+김윤철
+김중목
+김용철
+김차조
+김을섭
+김수수
+김용출
+김영섭
+김병조
+김만호
+김용출
+김창준
+김정윤
+김영덕
+김용택
+김한조
+김용수
+김이술
+김용택
+김형학
+김광식
+김재자
+김용판
+김종원
+김종길
+김동호
+김용학
+김성칙
+김무실
+김영성
+김용해
+김순수
+김명탁
+김상맹
+김용현
+김재향
+김영윤
+김석규
+김용호
+김종만
+김동악
+김철섭
+김용화
+김화수
+김해식
+김복언
+김용화
+김마환
+김용춘
+김병분
+김용화
+김무경
+김경동
+김을균
+김용환
+김재경
+김성선
+김갑호
+김용환
+김수완
+김세안
+김두희
+김용환
+김동우
+김희곤
+김성윤
+김용환
+김인식
+김남애
+김원암
+김용회
+김타근
+김영숙
+김항영
+김우견
+김윤복
+김석성
+김인태
+김우곤
+김명용
+김세진
+김순석
+김우금
+김재도
+김상기
+김형노
+김우기
+김다우
+김병용
+김춘이
+김우석
+김학화
+김명부
+김종덕
+김우수
+김재길
+김옥수
+김갑곤
+김우식
+김홍락
+김경자
+김호래
+김우식
+김정록
+김삼조
+김상수
+김우연
+김삼조
+김달순
+김정동
+김우종
+김재운
+김주호
+김병동
+김우중
+김인규
+김병권
+김무환
+김우찬
+김유열
+김현영
+김승식
+김우철
+김주도
+김봉기
+김재천
+김우한
+김복호
+김종완
+김지모
+김우현
+김병희
+김수국
+김주재
+김우현
+김경상
+김상기
+김재곤
+김우환
+김종묘
+김홍운
+김상태
+김우희
+김종호
+김성평
+김의규
+김욱생
+김도분
+김국봉
+김성식
+김욱창
+김진자
+김중만
+김기호
+김운길
+김채순
+김영만
+김춘윤
+김운남
+김천연
+김해근
+김인순
+김운배
+김기래
+김임수
+김동원
+김운세
+김상달
+김재설
+김옥준
+김운식
+김창근
+김문근
+김운숙
+김운식
+김병녀
+김태훈
+김창기
+김운우
+김희명
+김정원
+김선은
+김운우
+김순열
+김영찬
+김용임
+김운조
+김영신
+김영례
+김균일
+김운태
+김광노
+김성욱
+김도수
+김운호
+김근길
+김강호
+김근규
+김원곤
+김소호
+김현균
+김재순
+김원규
+김오영
+김만희
+김상순
+김원기
+김소칠
+김근수
+김수복
+김원길
+김몽종
+김태구
+김종수
+김원도
+김순숙
+김도우
+김노수
+김원돌
+김광수
+김재용
+김태일
+김원상
+김미자
+김상우
+김철일
+김원석
+김복헌
+김승열
+김삼덕
+김원석
+김우환
+김옥선
+김광호
+김원수
+김현술
+김태선
+김용상
+김원식
+김한현
+김소관
+김특수
+김원식
+김찬곤
+김하학
+김술수
+김원억
+김성갑
+김대일
+김정용
+김원용
+김정익
+김수문
+김임원
+김원출
+김창근
+김례균
+김남식
+김원태
+김종희
+김은중
+김영구
+김원포
+김용용
+김상순
+김규길
+김원호
+김춘출
+김옥조
+김성옥
+김원호
+김춘국
+김성한
+김규휴
+김월생
+김창기
+김정현
+김재원
+김월선
+김효열
+김영환
+김점익
+김월순
+김은갑
+김병리
+김경택
+김월순
+김정호
+김성규
+김주호
+김월악
+김순자
+김제걸
+김상연
+김월조
+김종만
+김만범
+김성수
+김월화
+김대돈
+김소명
+김월구
+김월화
+김영석
+김효갑
+김남도
+김위영
+김의수
+김백야
+김순순
+김유곤
+김우래
+김말조
+김재욱
+김유금
+김남연
+김규복
+김현호
+김유식
+김철재
+김칠남
+김태호
+김유식
+김순호
+김상권
+김재복
+김윤건
+김재철
+김윤호
+김표옥
+김윤건
+김정선
+김귀란
+김정옥
+김윤광
+김홍배
+김병화
+김광순
+김윤기
+김홍태
+김종철
+김 석
+김윤덕
+김성용
+김호호
+김달혁
+김윤돌
+김달식
+김경희
+김철규
+김윤동
+김규례
+김판순
+김보근
+김윤미
+김의수
+김경남
+김상분
+김윤배
+김효성
+김승소
+김정화
+김윤복
+김현영
+김원국
+김재영
+김윤석
+김대철
+김상재
+김용태
+김윤선
+김상연
+김경선
+김광숙
+김윤선
+김용철
+김영자
+김 원
+김윤선
+김노이
+김성곤
+김병기
+김윤섬
+김영숙
+김세담
+김태기
+김윤섭
+김미원
+김순우
+김대숙
+김윤수
+김사범
+김서권
+김태석
+김윤수
+김경용
+김미일
+김교열
+김윤식
+김정순
+김종조
+김상웅
+김윤식
+김갑숙
+김하화
+김세문
+김윤식
+김성열
+김수수
+김재상
+김윤식
+김해훈
+김태연
+김영태
+김윤옥
+김복현
+김병국
+김병식
+김윤원
+김수욱
+김민옥
+김석도
+김윤자
+김병용
+김춘희
+김시호
+김윤자
+김일모
+김영동
+김차회
+김윤자
+김영석
+김성열
+김추이
+김윤자
+김금연
+김태철
+김태늠
+김윤점
+김진원
+김병근
+김향현
+김윤종
+김진철
+김병갑
+김현찬
+김윤천
+김진숙
+김동병
+김택호
+김윤태
+김진웅
+김말수
+김용석
+김윤택
+김재열
+김판교
+김춘춘
+김윤택
+김수권
+김찬술
+김영환
+김윤하
+김점윤
+김운섭
+김재수
+김윤하
+김선재
+김헌호
+김일수
+김윤하
+김칠남
+김영문
+김일점
+김윤하
+김대웅
+김욱웅
+김종선
+김윤호
+김경주
+김광택
+김성영
+김윤호
+김미탁
+김미현
+김복동
+김은기
+김봉현
+김홍수
+김해열
+김은동
+김우기
+김삼희
+김훈도
+김은례
+김성재
+김 영
+김석균
+김은수
+김정식
+김갑수
+김상학
+김은숙
+김주수
+김쌍봉
+김기봉
+김은숙
+김영학
+김팽현
+김순애
+김은식
+김재봉
+김강기
+김경만
+김은아
+김복익
+김숙순
+김순정
+김은옥
+김점의
+김상열
+김성근
+김은이
+김상주
+김병희
+김병모
+김은재
+김태현
+김병열
+김진식
+김은정
+김화식
+김영훈
+김정자
+김은주
+김영희
+김동기
+김태숙
+김은진
+김윤용
+김숙식
+김천순
+김은희
+김태연
+김용이
+김금상
+김은희
+김정수
+김종교
+김성선
+김을규
+김재빈
+김교학
+김영채
+김을성
+김영수
+김준호
+김순후
+김을수
+김준연
+김용차
+김부숙
+김을수
+김호우
+김기순
+김삼만
+김을임
+김원석
+김원순
+김옥조
+김을준
+김고만
+김달동
+김동옥
+김응권
+김규열
+김호덕
+김동민
+김응권
+김원임
+김영용
+김종대
+김응도
+김광노
+김명호
+김인도
+김응돌
+김준환
+김운재
+김상기
+김응렬
+김재완
+김진이
+김병원
+김응무
+김영숙
+김병영
+김정희
+김의건
+김병달
+김윤순
+김현헌
+김의근
+김재훈
+김강석
+김필한
+김의근
+김상호
+김치출
+김진우
+김의수
+김재조
+김동환
+김청조
+김의수
+김종호
+김경성
+김춘이
+김의일
+김재숙
+김은복
+김성희
+김의정
+김춘영
+김상상
+김우길
+김의현
+김정생
+김중열
+김영석
+김이근
+김장주
+김환목
+김복이
+김이동
+김기득
+김창규
+김정극
+김이수
+김정관
+김재수
+김일연
+김인국
+김금만
+김문자
+김재흥
+김인규
+김승석
+김순호
+김상정
+김인규
+김덕달
+김차일
+김경우
+김인덕
+김병정
+김준두
+김석호
+김인배
+김기도
+김태용
+김두영
+김인섭
+김채문
+김국기
+김현석
+김인수
+김은자
+김준수
+김태준
+김인수
+김곤보
+김의경
+김춘웅
+김인수
+김정희
+김점주
+김영열
+김인수
+김명칠
+김종용
+김재우
+김인숙
+김철은
+김영선
+김명선
+김인식
+김길교
+김상철
+김순례
+김인재
+김장상
+김상옥
+김상순
+김인주
+김완일
+김선상
+김순호
+김인탁
+김대추
+김상삼
+김헌술
+김인태
+김영식
+김동택
+김 원
+김인태
+김필석
+김광교
+김재암
+김인택
+김동정
+김일택
+김정술
+김인혁
+김이갑
+김찬태
+김혜준
+김인현
+김용윤
+김수수
+김병선
+김인호
+김주웅
+김광헌
+김영열
+김인환
+김만철
+김순호
+김재원
+김인회
+김수암
+김홍호
+김효철
+김일곤
+김정주
+김장식
+김주현
+김일곤
+김갑구
+김해영
+김학열
+김일규
+김소우
+김상규
+김영분
+김일년
+김수귀
+김정분
+김재순
+김일두
+김 칠
+김태영
+김상일
+김일만
+김영기
+김재수
+김근노
+김일봉
+김병복
+김유순
+김곡리
+김일봉
+김귀이
+김상우
+김기근
+김일석
+김영조
+김정수
+김도식
+김일수
+김태화
+김성조
+김삼호
+김일수
+김웅식
+김성웅
+김부한
+김일순
+김천탁
+김명인
+김재성
+김일술
+김득성
+김현주
+김수식
+김일용
+김태철
+김희연
+김현순
+김일용
+김왕호
+김운태
+김우남
+김일웅
+김근길
+김달술
+김귀근
+김일태
+김재길
+김용경
+김준열
+김일태
+김수순
+김홍호
+김정선
+김일해
+김영철
+김영목
+김대노
+김일호
+김영수
+김쌍호
+김낙용
+김일호
+김승남
+김재순
+김경경
+김일홍
+김성숙
+김선철
+김영대
+김일화
+김고균
+김판훈
+김근금
+김일환
+김정열
+김화수
+김준수
+김일환
+김병흔
+김기이
+김종남
+김일희
+김현호
+김지률
+김강기
+김일희
+김태천
+김만영
+김문희
+김임곤
+김상희
+김외식
+김칠용
+김임순
+김 선
+김조현
+김미호
+김임주
+김복성
+김성수
+김경관
+김자근검
+김부진기
+김매유규
+김정수오
+김자희
+김성열
+김경남
+김금호
+김장배
+김세희
+김영호
+김인근
+김장보
+김유재
+김옥도
+김현관
+김장옥
+김경식
+김인년
+김은섭
+김장원
+김철완
+김학식
+김제귀
+김장원
+김복호
+김영열
+김기석
+김장환
+김재향
+김순수
+김유섭
+김장희
+김운범
+김영조
+김지하
+김재곤
+김춘조
+김우환
+김재복
+김재광
+김태열
+김강기
+김영호
+김재구
+김상섭
+김광건
+김상돈
+김재규
+김순태
+김완남
+김해홍
+김재규
+김근덕
+김병희
+김성기
+김재규
+김강주
+김정도
+김현연
+김재규
+김기용
+김춘자
+김석자
+김재균
+김삼구
+김민열
+김병술
+김재근
+김신진
+김재원
+김용길
+김재남
+김수애
+김건덕
+김상남
+김재남
+김두규
+김건화
+김판자
+김재대
+김천원
+김성규
+김태환
+김재덕
+김재우
+김성주
+김도용
+김재덕
+김중규
+김덕달
+김무주
+김재덕
+김인달
+김영호
+김의조
+김재덕
+김순근
+김재흠
+김영순
+김재도
+김원수
+김성원
+김태균
+김재도
+김성규
+김영원
+김창현
+김재동
+김창세
+김필상
+김영영
+김재득
+김우순
+김을균
+김임만
+김재만
+김용학
+김금식
+김한환
+김재만
+김상호
+김상수
+김상환
+김재만
+김선웅
+김영회
+김이조
+김재문
+김병승
+김창열
+김성웅
+김재복
+김희호
+김호철
+김규정
+김재봉
+김동수
+김태태
+김재식
+김재생
+김명근
+김정권
+김규용
+김재석
+김진호
+김병용
+김대성
+김재선
+김석호
+김해조
+김재진
+김재섭
+김명묵
+김문성
+김판진
+김재수
+김영도
+김용곤
+김주조
+김재수
+김재옥
+김상민
+김윤호
+김재수
+김태한
+김문진
+김학권
+김재수
+김호흠
+김병봉
+김대섭
+김재수
+김무규
+김위철
+김해암
+김재순
+김은숙
+김춘이
+김남설
+김재식
+김동수
+김금원
+김영근
+김재양
+김은증
+김소열
+김재수
+김재연
+김정기
+김태용
+김정현
+김재연
+김수석
+김영석
+김영삼
+김재열
+김지석
+김진숙
+김용용
+김재열
+김도범
+김재수
+김 이
+김재열
+김외훈
+김금범
+김경석
+김재영
+김병화
+김홍완
+김충상
+김재영
+김영규
+김무대
+김옥길
+김재영
+김채녀
+김태형
+김수곤
+김재옥
+김윤원
+김성숙
+김경석
+김재옥
+김성철
+김광숙
+김영선
+김재용
+김윤선
+김대근
+김효현
+김재용
+김완열
+김순록
+김용호
+김재용
+김복열
+김기권
+김상섭
+김재용
+김성범
+김이량
+김옥정
+김재우
+김경완
+김호교
+김상열
+김재원
+김영회
+김성조
+김경태
+김재원
+김복정
+김상남
+김순환
+김재일
+김상웅
+김치호
+김재희
+김재임
+김종호
+김돈기
+김병주
+김재전
+김재식
+김용옥
+김삼교
+김재철
+김애출
+김희홍
+김상석
+김재철
+김수태
+김원구
+김헌권
+김재청
+김종하
+김근운
+김명식
+김재학
+김용순
+김점교
+김홍용
+김재한
+김한기
+김동수
+김학도
+김재현
+김민용
+김종진
+김동진
+김재현
+김장길
+김달근
+김임완
+김재현
+김영선
+김경수
+김동득
+김재현
+김형수
+김범준
+김시태
+김재호
+김금관
+김봉환
+김성숙
+김재호
+김실재
+김동선
+김춘열
+김재호
+김일순
+김승현
+김남연
+김재홍
+김효옥
+김봉곤
+김강수
+김재홍
+김태영
+김미호
+김재진
+김재화
+김정우
+김윤두
+김기우
+김재화
+김충연
+김성섭
+김영윤
+김재화
+김종규
+김옥정
+김원선
+김재환
+김종태
+김종호
+김진종
+김재환
+김천호
+김 덕
+김정길
+김재환
+김진년
+김점순
+김일용
+김재환
+김원영
+김경규
+김경출
+김재환
+김재선
+김희우
+김종갑
+김재후
+김서이
+김이이
+김지균
+김재후
+김혜홍
+김 환
+김선완
+김재훅
+김회용
+김수주
+김수호
+김재훈
+김정보
+김경수
+김재숙
+김재훈
+김광도
+김정경
+김종경
+김재희
+김정현
+김국현
+김범희
+김적환
+김병언
+김병술
+김재원
+김전균
+김경선
+김선실
+김병인
+김전기
+김재근
+김영진
+김병이
+김점근
+김영섭
+김분채
+김경석
+김점남
+김기선
+김운철
+김만용
+김점돌
+김명우
+김천환
+김용희
+김점례
+김대재
+김덕분
+김만순
+김점만
+김복태
+김용남
+김외구
+김점봉
+김윤순
+김응환
+김원영
+김점생
+김 표
+김남용
+김삼곤
+김점수
+김 이
+김무익
+김광기
+김점수
+김인식
+김주진
+김업련
+김점숙
+김영현
+김태옥
+김덕수
+김점순
+김차욱
+김승학
+김상섭
+김점순
+김인만
+김만수
+김윤영
+김점술
+김일자
+김금원
+김운주
+김점술
+김점술
+김남만
+김성준
+김점옥
+김동연
+김수환
+김태선
+김점자
+김상환
+김만태
+김동숙
+김점철
+김성조
+김명남
+김경례
+김점출
+김창순
+김만용
+김성택
+김점팔
+김춘록
+김동교
+김용화
+김점호
+김만달
+김홍식
+김영현
+김점환
+김병율
+김인선
+김주보
+김정강
+김희룡
+김용재
+김병민
+김정강
+김채열
+김건기
+김종동
+김정건
+김남배
+김원진
+김태기
+김정건
+김정란
+김인자
+김태환
+김정고
+김중석
+김간규
+김성수
+김정권
+김정곤
+김을남
+김준웅
+김정권
+김석웅
+김기우
+김효황
+김정규
+김교한
+김성석
+김홍영
+김정규
+김술숙
+김근수
+김세우
+김정근
+김봉식
+김종연
+김정휴
+김정근
+김수택
+김정기
+김용윤
+김정근
+김진용
+김영근
+김태출
+김정기
+김병희
+김동도
+김숙주
+김정길
+김우름
+김원훈
+김재도
+김정길
+김용철
+김홍수
+김용호
+김정남
+김해섭
+김응기
+김욱주
+김정대
+김연채
+김인철
+김미택
+김정대
+김종훈
+김상동
+김원순
+김정덕
+김의조
+김순곤
+김준제
+김정도
+김오규
+김정준
+김선철
+김정동
+김성준
+김삼수
+김천환
+김정득
+김한양
+김성곤
+김영생
+김정득
+김윤곤
+김동순
+김창수
+김정득
+김성석
+김병호
+김수훈
+김정락
+김연쇄
+김승영
+김형대
+김정록
+김영숙
+김종상
+김병태
+김정묵
+김은인
+김영고
+김재학
+김정문
+김규현
+김인수
+김권지
+김정미
+김달상
+김재양
+김명수
+김정민
+김기랑
+김정식
+김선근
+김정배
+김중석
+김종수
+김성규
+김정범
+김성조
+김영창
+김희구
+김정범
+김영원
+김사근
+김태국
+김정복
+김종우
+김성길
+김인기
+김정봉
+김재규
+김정순
+김일택
+김정봉
+김웅식
+김재윤
+김성식
+김정부
+김옥수
+김점남
+김정구
+김정부
+김무자
+김영호
+김갑국
+김정부
+김경권
+김명수
+김규우
+김정빈
+김만규
+김상정
+김경순
+김정상
+김재균
+김병열
+김순택
+김정생
+김이환
+김종구
+김기현
+김정석
+김태수
+김원식
+김원봉
+김정선
+김재정
+김인갑
+김진흠
+김정선
+김달선
+김봉엽
+김수섭
+김정선
+김태순
+김황현
+김영주
+김정수
+김범래
+김 이
+김지숙
+김정수
+김삼자
+김중석
+김사수
+김정수
+김석권
+김옥연
+김인숙
+김정수
+김한일
+김정혜
+김영천
+김정수
+김규연
+김정명
+김종암
+김정수
+김병호
+김소남
+김종삼
+김정수
+김탁진
+김경원
+김광욱
+김정숙
+김철희
+김영호
+김석권
+김정숙
+김봉상
+김충보
+김정철
+김정숙
+김종철
+김채재
+김준석
+김정순
+김용모
+김정택
+김운도
+김정순
+김병이
+김운준
+김중호
+김정순
+김성운
+김출수
+김상년
+김정순
+김대철
+김 목
+김용운
+김정순
+김월순
+김영순
+김장민
+김정순
+김종애
+김우출
+김을학
+김정술
+김태향
+김광수
+김윤주
+김정식
+김옥열
+김재기
+김인옥
+김정애
+김연영
+김은일
+김병한
+김정애
+김노진
+김재구
+김태열
+김정양
+김용성
+김숙귀
+김한식
+김정연
+김향엽
+김헌호
+김필구
+김정열
+김종열
+김수연
+김옥선
+김정열
+김성희
+김종태
+김상순
+김정열
+김남식
+김위훈
+김하춘
+김정오
+김상현
+김상순
+김진홍
+김정옥
+김도희
+김만헌
+김금만
+김정옥
+김부기
+김봉균
+김성효
+김정용
+김정열
+김상규
+김양악
+김정우
+김태수
+김태목
+김석수
+김정웅
+김용용
+김기원
+김타호
+김정윤
+김봉술
+김차구
+김창운
+김정은
+김명근
+김경식
+김재리
+김정이
+김대순
+김경연
+김영수
+김정이
+김판근
+김종석
+김경기
+김정일
+김달만
+김용수
+김수호
+김정자
+김인우
+김승도
+김순영
+김정재
+김경원
+김경미
+김우운
+김정차
+김성경
+김혁호
+김 유
+김정차
+김금석
+김재흥
+김판권
+김정출
+김성성
+김풍병
+김순용
+김정치
+김동진
+김재연
+김수현
+김정태
+김삼재
+김봉준
+김석희
+김정태
+김상수
+김동열
+김삼화
+김정태
+김양갑
+김화미
+김진호
+김정학
+김옥암
+김덕덕
+김대익
+김정학
+김정현
+김대환
+김병복
+김정헌
+김정창
+김병돌
+김관화
+김정호
+김운현
+김점덕
+김심연
+김정호
+김영복
+김현목
+김정홍
+김정호
+김정련
+김재태
+김수임
+김정호
+김상태
+김재기
+김상영
+김정호
+김병준
+김정용
+김종일
+김정호
+김중덕
+김호웅
+김현탁
+김정호
+김종배
+김광명
+김관윤
+김정호
+김주호
+김대용
+김영환
+김정호
+김경영
+김석석
+김만원
+김정호
+김태환
+김인돈
+김갑섭
+김정홍
+김만식
+김상정
+김원영
+김정화
+김재웅
+김창선
+김석철
+김정화
+김종준
+김재한
+김점현
+김정환
+김인식
+김영현
+김순국
+김정환
+김홍봉
+김중열
+김정한
+김정환
+김덕호
+김병교
+김진수
+김정환
+김평병
+김말성
+김황호
+김정환
+김석생
+김종수
+김신철
+김정환
+김춘숙
+김길석
+김재기
+김정환
+김명돌
+김희규
+김일숙
+김정환
+김남헌
+김경훈
+김정성
+김정훈
+김은언
+김승승
+김정오
+김정흠
+김원환
+김윤덕
+김일술
+김정희
+김영덕
+김봉이
+김경식
+김정희
+김준용
+김경주
+김남갑
+김정희
+김이호
+김동현
+김도곤
+김정희
+김종원
+김혜국
+김일호
+김정희
+김재용
+김윤수
+김외팔
+김정희
+김순숙
+김태동
+김점석
+김제기
+김경옥
+김승훈
+김말희
+김제원
+김외춘
+김성철
+김재수
+김제천
+김수덕
+김복화
+김춘현
+김제현
+김점식
+김태조
+김화호
+김제흠
+김대준
+김기석
+김희길
+김제흠
+김세출
+김용돌
+김세호
+김조웅
+김형일
+김귀태
+김무경
+김종갑
+김종섭
+김상구
+김명희
+김종결
+김영경
+김기수
+김충목
+김종경
+김상대
+김태석
+김음려
+김종광
+김병용
+김정운
+김쾌봉
+김종구
+김옥일
+김진우
+김대채
+김종구
+김재식
+김순대
+김석이
+김종구
+김계학
+김순권
+김상숙
+김종구
+김종록
+김두조
+김경규
+김종구
+김구식
+김영현
+김묘재
+김종구
+김월조
+김소팔
+김영환
+김종구
+김위덕
+김춘자
+김옥규
+김종규
+김석웅
+김원향
+김영만
+김종규
+김진원
+김점근
+김유수
+김종규
+김원윤
+김점길
+김정원
+김종규
+김태출
+김수환
+김경호
+김종균
+김태재
+김환선
+김정호
+김종근
+김기우
+김을천
+김재열
+김종기
+김영복
+김득수
+김대덕
+김종길
+김종근
+김현상
+김현현
+김종길
+김해열
+김동대
+김석구
+김종길
+김낙성
+김금권
+김갑인
+김종길
+김사식
+김중화
+김명식
+김종달
+김재표
+김오립
+김차식
+김종달
+김진훈
+김강치
+김덕현
+김종대
+김한식
+김인호
+김병훈
+김종대
+김연대
+김상돌
+김경선
+김종덕
+김판호
+김세우
+김용석
+김종래
+김석동
+김상금
+김차현
+김종립
+김재상
+김종화
+김만임
+김종만
+김일기
+김강홍
+김경진
+김종만
+김현태
+김복식
+김정도
+김종만
+김장남
+김종이
+김우홍
+김종배
+김소근
+김의용
+김기수
+김종배
+김상정
+김칠식
+김용숙
+김종백
+김호수
+김재호
+김을계
+김종범
+김부용
+김복락
+김기수
+김종범
+김형주
+김윤이
+김규철
+김종복
+김진숙
+김종우
+김천말
+김종복
+김영석
+김상우
+김월구
+김종복
+김종흠
+김경주
+김인호
+김종복
+김성휴
+김상한
+김희연
+김종복
+김종경
+김두기
+김종혁
+김종봉
+김준주
+김기권
+김상영
+김종석
+김태세
+김정숙
+김도호
+김종석
+김만희
+김연권
+김희태
+김종석
+김재덕
+김봉분
+김문선
+김종선
+김병석
+김기구
+김헌섭
+김종선
+김덕근
+김태대
+김미일
+김종성
+김희원
+김태숙
+김인석
+김종성
+김무재
+김상강
+김원옥
+김종수
+김희진
+김득수
+김명균
+김종수
+김금봉
+김무순
+김병만
+김종수
+김철홍
+김옥진
+김명태
+김종수
+김한규
+김진규
+김차채
+김종순
+김수십
+김재희
+김윤천
+김종식
+김면덕
+김현소
+김환수
+김종식
+김영웅
+김춘임
+김성환
+김종십
+김상철
+김봉복
+김재이
+김종억
+김문운
+김만현
+김차호
+김종연
+김성태
+김희덕
+김영원
+김종연
+김칠식
+김학은
+김덕찬
+김종열
+김홍대
+김문광
+김도천
+김종엽
+김인남
+김필영
+김소조
+김종영
+김문식
+김말수
+김무근
+김종오
+김민근
+김윤판
+김영준
+김종욱
+김화일
+김재선
+김오영
+김종운
+김순표
+김건권
+김종춘
+김종원
+김규순
+김중욱
+김상영
+김종원
+김홍암
+김우길
+김근만
+김종원
+김화생
+김세탁
+김필규
+김종윤
+김대병
+김철정
+김기용
+김종율
+김광영
+김상대
+김갑구
+김종이
+김성기
+김숙순
+김상이
+김종이
+김상효
+김본길
+김현권
+김종일
+김태석
+김득효
+김득희
+김종조
+김호입
+김현덕
+김치만
+김종진
+김순주
+김태정
+김필호
+김종진
+김범문
+김병원
+김용호
+김종철
+김정화
+김정호
+김종철
+김종철
+김덕화
+김순인
+김창덕
+김종철
+김준숙
+김대득
+김점조
+김종태
+김영순
+김종조
+김만석
+김종태
+김순진
+김기갑
+김일순
+김종태
+김영우
+김호경
+김의옥
+김종태
+김주구
+김승식
+김칠근
+김종태
+김채천
+김수수
+김상제
+김종태
+김치남
+김동구
+김동용
+김종태
+김태봉
+김천상
+김송경
+김종하
+김영분
+김규악
+김삼현
+김종학
+김병영
+김용원
+김정영
+김종학
+김유이
+김식태
+김정연
+김종한
+김용자
+김진임
+김환영
+김종해
+김현찬
+김규식
+김영양
+김종현
+김휘완
+김인정
+김길남
+김종현
+김봉훈
+김헌기
+김갑령
+김종호
+김재식
+김재경
+김홍환
+김종호
+김상석
+김도규
+김원결
+김종호
+김의원
+김차수
+김구호
+김종화
+김현중
+김기립
+김일삼
+김종화
+김봉중
+김만웅
+김수학
+김종환
+김세엽
+김재덕
+김해조
+김종환
+김말필
+김동섭
+김용성
+김종훈
+김이영
+김일순
+김상수
+김종흠
+김용근
+김월식
+김창길
+김종희
+김우출
+김모숙
+김용선
+김주갑
+김중용
+김현홍
+김태겸
+김주덕
+김재범
+김진덕
+김의노
+김주복
+김대자
+김종란
+김봉희
+김주봉
+김승환
+김익수
+김수진
+김주상
+김귀철
+김원양
+김계이
+김주상
+김진현
+김삼수
+김영경
+김주석
+김동우
+김종선
+김월선
+김주석
+김석근
+김일환
+김미자
+김주성
+김선용
+김근연
+김구용
+김주순
+김동태
+김재권
+김월규
+김주인
+김시봉
+김호표
+김중재
+김주일
+김종연
+김용수
+김창석
+김주태
+김운희
+김종태
+김일철
+김주택
+김석분
+김인조
+김원진
+김주하
+김석영
+김태식
+김 우
+김주학
+김상호
+김영훈
+김인목
+김주현
+김호희
+김병호
+김삼래
+김주호
+김덕조
+김용수
+김하찬
+김주환
+김정도
+김주생
+김숙수
+김주흠
+김질이
+김명휘
+김일대
+김죽선
+김유일
+김말학
+김학구
+김준곤
+김휘상
+김 덕
+김용동
+김준규
+김창이
+김영로
+김지립
+김준기
+김삼련
+김시식
+김원원
+김준보
+김청현
+김용율
+김남수
+김준식
+김판석
+김재아
+김정일
+김준식
+김훈준
+김상진
+김종정
+김준연
+김순석
+김정정
+김호건
+김준영
+김판호
+김해호
+김경철
+김준우
+김상식
+김윤열
+김해태
+김준웅
+김석규
+김갑덕
+김종영
+김준자
+김종수
+김상도
+김명곤
+김준철
+김현순
+김휘가
+김윤웅
+김준택
+김무호
+김학호
+김태자
+김준택
+김한홍
+김은권
+김상철
+김준호
+김영일
+김중등
+김현선
+김준호
+김용남
+김종순
+김용이
+김준호
+김윤연
+김상만
+김하상
+김준환
+김성원
+김한현
+김병경
+김중건
+김점기
+김성환
+김주희
+김중건
+김경섭
+김재수
+김동조
+김중광
+김금휴
+김성현
+김연득
+김중근
+김동열
+김원수
+김광현
+김중기
+김한화
+김순수
+김상혁
+김중련
+김영순
+김외호
+김유상
+김중련
+김응순
+김준화
+김상식
+김중석
+김동운
+김상윤
+김국환
+김중수
+김상득
+김운억
+김수광
+김중수
+김규실
+김금덕
+김홍성
+김중원
+김상호
+김성우
+김철호
+김중일
+김효배
+김외렬
+김숙태
+김중자
+김동호
+김대호
+김인택
+김중현
+김영기
+김계호
+김경수
+김중혜
+김우열
+김명호
+김기곤
+김중희
+김점석
+김희용
+김분창
+김증숙
+김차득
+김을현
+김갑애
+김증순
+김수채
+김병노
+김도태
+김증준
+김원수
+김영환
+김애제
+김지근
+김용오
+김천석
+김한종
+김지봉
+김순원
+김상호
+김효근
+김지봉
+김선자
+김태호
+김영일
+김지승
+김승식
+김승용
+김현묵
+김지애
+김귀용
+김한영
+김학원
+김지연
+김성희
+김종갑
+김성국
+김지현
+김재수
+김종표
+김병술
+김지혜
+김인동
+김춘암
+김홍현
+김지희
+김태원
+김삼화
+김명희
+김진경
+김동조
+김복심
+김용홍
+김진곤
+김연현
+김용수
+김용권
+김진곤
+김 옥
+김순식
+김기수
+김진곤
+김선자
+김선호
+김만순
+김진구
+김태일
+김철원
+김정일
+김진권
+김문재
+김은근
+김연형
+김진권
+김규권
+김재화
+김정호
+김진규
+김춘식
+김영순
+김혜관
+김진규
+김재장
+김형현
+김병호
+김진규
+김상조
+김진숙
+김미현
+김진기
+김점자
+김남이
+김등출
+김진대
+김두생
+김풍야
+김병점
+김진대
+김홍욱
+김근철
+김두순
+김진동
+김경숙
+김원진
+김동호
+김진동
+김병수
+김은조
+김환태
+김진동
+김우득
+김상순
+김태동
+김진록
+김철림
+김성준
+김천갑
+김진배
+김순목
+김태철
+김성웅
+김진석
+김기헌
+김정태
+김재돌
+김진석
+김택향
+김종일
+김대일
+김진섭
+김쾌일
+김재도
+김정관
+김진섭
+김후환
+김의하
+김상자
+김진수
+김영만
+김상선
+김원차
+김진수
+김용경
+김영제
+김일구
+김진숙
+김영현
+김종호
+김연주
+김진숙
+김말환
+김동춘
+김궁한
+김진술
+김태태
+김원상
+김경배
+김진식
+김우헌
+김성석
+김기우
+김진식
+김재열
+김재수
+김세종
+김진열
+김상식
+김기득
+김일동
+김진영
+김규수
+김정규
+김영암
+김진영
+김이동
+김태식
+김기향
+김진오
+김성식
+김전기
+김원남
+김진용
+김미근
+김윤웅
+김승철
+김진우
+김영종
+김칠현
+김영수
+김진웅
+김태정
+김형복
+김병도
+김진일
+김정춘
+김인훈
+김채건
+김진종
+김인만
+김종수
+김연천
+김진주
+김진희
+김대이
+김창칠
+김진천
+김용희
+김찬웅
+김수주
+김진태
+김대훈
+김정수
+김점열
+김진태
+김병원
+김정순
+김영춘
+김진태
+김근열
+김재선
+김기강
+김진태
+김일견
+김일길
+김정영
+김진택
+김기탁
+김태순
+김원진
+김진학
+김주자
+김인태
+김재륜
+김진학
+김만정
+김해형
+김병무
+김진형
+김언진
+김수원
+김재일
+김진호
+김재돈
+김정호
+김종기
+김진호
+김홍철
+김재식
+김순남
+김진호
+김재환
+김익기
+김정호
+김진호
+김용용
+김구준
+김일규
+김진홍
+김정찬
+김사석
+김성태
+김진환
+김영오
+김수숙
+김태석
+김진효
+김 권
+김일환
+김성길
+김진희
+김소순
+김덕자
+김원선
+김진희
+김기학
+김재일
+김종구
+김진희
+김대운
+김태권
+김봉환
+김진희
+김수원
+김순봉
+김연술
+김질판
+김수돌
+김종권
+김광수
+김차노
+김석임
+김병용
+김종남
+김차봉
+김재건
+김갑연
+김재진
+김차석
+김영훈
+김순식
+김정두
+김차석
+김병호
+김시식
+김기심
+김차암
+김윤술
+김오제
+김청락
+김차암
+김일한
+김상환
+김은훈
+김차연
+김용수
+김상경
+김상율
+김차영
+김도해
+김규수
+김판희
+김차천
+김국조
+김숙규
+김삼관
+김차출
+김정돌
+김재동
+김한숙
+김차홍
+김완정
+김귀문
+김헌순
+김차희
+김춘호
+김낙철
+김수언
+김찬경
+김노섭
+김연기
+김태준
+김찬수
+김장욱
+김기재
+김묘환
+김창구
+김명호
+김정이
+김근태
+김창근
+김분석
+김춘숙
+김정철
+김창근
+김성수
+김경태
+김기극
+김창기
+김타식
+김봉녕
+김민삼
+김창기
+김수석
+김장득
+김윤규
+김창문
+김상배
+김선수
+김병희
+김창배
+김정식
+김창수
+김동순
+김창선
+김숙현
+김경철
+김영오
+김창성
+김상태
+김억기
+김기휴
+김창수
+김수환
+김병남
+김수철
+김창수
+김용호
+김태희
+김규효
+김창수
+김상준
+김승연
+김호암
+김창숙
+김병숙
+김상순
+김신근
+김창식
+김경식
+김건만
+김재수
+김창식
+김성준
+김장자
+김천연
+김창식
+김외아
+김석조
+김석수
+김창애
+김종동
+김남궁
+김원두
+김창억
+김용순
+김승배
+김정계
+김창억
+김병봉
+김우희
+김동현
+김창열
+김정호
+김재근
+김상환
+김창열
+김영욱
+김태만
+김정선
+김창열
+김명덕
+김기출
+김정한
+김창완
+김재재
+김을수
+김상분
+김창운
+김종을
+김영규
+김규호
+김창일
+김부순
+김상화
+김태춘
+김창진
+김백현
+김천규
+김영배
+김창태
+김정숙
+김준희
+김산규
+김창학
+김문문
+김판득
+김태철
+김창해
+김효호
+김휘호
+김옥규
+김창현
+김희택
+김정용
+김해교
+김창현
+김임옥
+김명호
+김철윤
+김창호
+김경준
+김성철
+김현수
+김창호
+김환수
+김병석
+김기규
+김창호
+김택진
+김정근
+김정수
+김창호
+김정학
+김형혁
+김중춘
+김창호
+김태현
+김금순
+김봉순
+김창호
+김상철
+김성덕
+김기인
+김창환
+김창길
+김남기
+김재태
+김채수
+김덕문
+김한복
+김실휴
+김채식
+김원기
+김상태
+김석환
+김천득
+김준숙
+김재연
+김원희
+김천석
+김영언
+김재수
+김행구
+김천수
+김봉희
+김두이
+김영분
+김천학
+김해균
+김영호
+김삼봉
+김천호
+김귀필
+김금복
+김정일
+김철기
+김순해
+김동란
+김종훈
+김철두
+김동수
+김상한
+김영득
+김철랑
+김춘완
+김선덕
+김인복
+김철수
+김인동
+김성빈
+김재교
+김철수
+김판현
+김권수
+김영정
+김철수
+김정중
+김수규
+김정열
+김철수
+김휘현
+김성석
+김경조
+김철수
+김상철
+김경숙
+김해춘
+김철수
+김장금
+김영동
+김태일
+김철정
+김사태
+김정준
+김지훈
+김청석
+김월희
+김상수
+김병길
+김추량
+김기목
+김재용
+김창형
+김추자
+김종록
+김희문
+김진식
+김추환
+김상현
+김기웅
+김경행
+김춘균
+김기연
+김사룡
+김주분
+김춘길
+김분옥
+김태순
+김병수
+김춘녀
+김재막
+김판섭
+김점영
+김춘배
+김판근
+김익석
+김세수
+김춘복
+김정오
+김순현
+김태식
+김춘생
+김중호
+김경철
+김재진
+김춘수
+김일률
+김남철
+김해순
+김춘식
+김숙호
+김혜출
+김영석
+김춘식
+김순섭
+김성득
+김인택
+김춘실
+김호호
+김재우
+김주옥
+김춘자
+김동한
+김봉조
+김상인
+김춘자
+김영동
+김규오
+김곡환
+김춘자
+김규명
+김홍갑
+김상양
+김춘하
+김경교
+김장준
+김봉준
+김춘하
+김동식
+김태선
+김순순
+김춘희
+김종철
+김용연
+김금훈
+김충권
+김치건
+김영자
+김양기
+김충남
+김영일
+김수미
+김주권
+김충부
+김재호
+김용수
+김광권
+김충원
+김승순
+김오상
+김석수
+김충원
+김상교
+김두업
+김윤봉
+김충헌
+김홍옥
+김호식
+김진태
+김충환
+김영길
+김칠수
+김판용
+김충훈
+김충철
+김선학
+김영근
+김충희
+김덕택
+김장기
+김동갑
+김치권
+김윤영
+김 태
+김중출
+김치권
+김다용
+김명일
+김경윤
+김치권
+김종기
+김영순
+김을영
+김치선
+김점연
+김장상
+김옥권
+김치일
+김상하
+김영근
+김동모
+김치훈
+김금배
+김차태
+김사숙
+김치휘
+김주자
+김창식
+김종균
+김칠동
+김지만
+김만석
+김정권
+김칠동
+김정기
+김동황
+김도휴
+김칠선
+김창수
+김명환
+김을춘
+김칠용
+김용수
+김진동
+김주열
+김칠용
+김광우
+김주출
+김석왕
+김칠홍
+김금희
+김석용
+김현영
+김칠희
+김구우
+김음동
+김옥상
+김쾌석
+김인식
+김평조
+김명섭
+김타원
+김일하
+김석호
+김영기
+김태곤
+김노태
+김점순
+김경환
+김태교
+김윤배
+김세덕
+김석현
+김태구
+김상창
+김용숙
+김정현
+김태구
+김윤덕
+김난원
+김희출
+김태권
+김경수
+김홍래
+김태경
+김태규
+김수동
+김상현
+김봉식
+김태근
+김영훈
+김덕걸
+김경상
+김태근
+김판조
+김석현
+김성구
+김태길
+김규철
+김언희
+김귄경
+김태길
+김창현
+김재기
+김진기
+김태도
+김영수
+김호석
+김신자
+김태돌
+김근성
+김용달
+김영준
+김태동
+김한분
+김성구
+김세수
+김태동
+김남기
+김성도
+김영선
+김태만
+김분구
+김영학
+김명상
+김태명
+김진로
+김봉순
+김종동
+김태문
+김재성
+김태철
+김천수
+김태복
+김광욱
+김재표
+김석선
+김태봉
+김동근
+김명진
+김경학
+김태석
+김헌운
+김순범
+김경태
+김태선
+김성남
+김인복
+김수구
+김태섭
+김만호
+김필호
+김학해
+김태섭
+김을명
+김우현
+김용재
+김태성
+김병근
+김성영
+김규열
+김태수
+김진준
+김점훈
+김정하
+김태수
+김수원
+김을수
+김열석
+김태수
+김원식
+김봉출
+김선식
+김태수
+김영수
+김운암
+김화배
+김태수
+김학호
+김재화
+김외혜
+김태수
+김진근
+김은수
+김국개
+김태숙
+김신정
+김영우
+김종구
+김태숙
+김을택
+김준희
+김진연
+김태순
+김병연
+김완선
+김외우
+김태순
+김기환
+김판완
+김영곤
+김태술
+김태선
+김성수
+김노용
+김태식
+김석석
+김복수
+김광호
+김태식
+김용문
+김영준
+김수암
+김태연
+김봉도
+김용윤
+김중열
+김태열
+김영준
+김순모
+김창일
+김태엽
+김국삼
+김진규
+김상옥
+김태영
+김규규
+김재철
+김인철
+김태영
+김송현
+김한진
+김응근
+김태영
+김성성
+김상준
+김갑휴
+김태오
+김무권
+김판임
+김영길
+김태용
+김진화
+김원산
+김무수
+김태용
+김병호
+김정화
+김우희
+김태용
+김용수
+김사기
+김기임
+김태용
+김정오
+김복조
+김명영
+김태욱
+김욱숙
+김수선
+김윤식
+김태운
+김동수
+김규자
+김재선
+김태원
+김덕기
+김석출
+김영홍
+김태원
+김지석
+김용식
+김영길
+김태원
+김희헌
+김경열
+김윤식
+김태원
+김병권
+김용희
+김진현
+김태유
+김성순
+김만학
+김종식
+김태육
+김달연
+김병식
+김성제
+김태율
+김영수
+김상덕
+김호영
+김태은
+김점기
+김상극
+김석봉
+김태의
+김인명
+김영국
+김진욱
+김태이
+김영말
+김두숙
+김기섭
+김태일
+김윤생
+김재대
+김상식
+김태일
+김인학
+김한길
+김정헌
+김태일
+김상준
+김광구
+김인화
+김태일
+김갑석
+김헌환
+김주순
+김태일
+김점영
+김상섭
+김태조
+김태정
+김정봉
+김태현
+김귀수
+김태조
+김갑석
+김주수
+김기태
+김태조
+김종준
+김영조
+김인해
+김태중
+김동일
+김원희
+김세수
+김태중
+김태한
+김원숙
+김만자
+김태지
+김봉록
+김임곤
+김재순
+김태진
+김도우
+김정식
+김태헌
+김태철
+김이관
+김봉수
+김병수
+김태철
+김말환
+김명수
+김재호
+김태철
+김종우
+김차태
+김종식
+김태철
+김대준
+김선호
+김태태
+김태출
+김윤목
+김석호
+김계준
+김태출
+김정실
+김태식
+김소준
+김태헌
+김현열
+김용송
+김상환
+김태현
+김종이
+김한열
+김영우
+김태형
+김윤성
+김규우
+김수현
+김태형
+김해재
+김순만
+김태석
+김태호
+김원원
+김성철
+김웅영
+김태호
+김송규
+김정우
+김상철
+김태호
+김선현
+김민환
+김원준
+김태호
+김상분
+김수덕
+김영임
+김태호
+김은문
+김영우
+김홍범
+김태호
+김정순
+김월주
+김옥업
+김태호
+김종출
+김호만
+김은근
+김태호
+김용정
+김병웅
+김영도
+김태호
+김대환
+김종암
+김상생
+김태호
+김동옥
+김용조
+김임선
+김태화
+김복준
+김난근
+김종암
+김태환
+김정화
+김수숙
+김의철
+김태환
+김지수
+김기봉
+김순호
+김태희
+김종경
+김영주
+김병기
+김태희
+김순수
+김동섭
+김원철
+김태희
+김금이
+김상순
+김삼도
+김판경
+김계식
+김삼배
+김오득
+김판규
+김송돈
+김순리
+김규기
+김판길
+김흥근
+김석두
+김병욱
+김판덕
+김문용
+김진석
+김순근
+김판돌
+김순현
+김희규
+김태성
+김판봉
+김종현
+김인자
+김남실
+김판석
+김옥호
+김효자
+김인성
+김판석
+김영향
+김경희
+김말열
+김판수
+김재석
+김성선
+김현근
+김판수
+김수규
+김종한
+김경수
+김판술
+김소열
+김점우
+김종란
+김판연
+김정환
+김명돌
+김쌍근
+김판열
+김주수
+김순식
+김진철
+김판용
+김재원
+김봉금
+김선조
+김판운
+김장원
+김근갑
+김윤주
+김판조
+김일년
+김태은
+김판중
+김판진
+김순암
+김광규
+김민용
+김판태
+김철생
+김영훈
+김갑집
+김판현
+김정교
+김종용
+김병정
+김판호
+김동호
+김금란
+김쌍주
+김팔곤
+김창동
+김재조
+김태만
+김팔봉
+김태우
+김국규
+김세대
+김표원
+김상대
+김상배
+김창림
+김필구
+김윤일
+김영순
+김익식
+김필연
+김경환
+김상석
+김세만
+김하석
+김춘호
+김인섭
+김무표
+김하조
+김정만
+김승병
+김규국
+김학권
+김광만
+김기인
+김규국
+김학기
+김운영
+김춘근
+김남환
+김학기
+김영기
+김황연
+김주문
+김학도
+김금태
+김옥권
+김순용
+김학봉
+김순덕
+김순현
+김을진
+김학봉
+김홍환
+김업생
+김해자
+김학봉
+김방춘
+김오권
+김기현
+김학석
+김은곤
+김명순
+김말철
+김학수
+김석영
+김홍환
+김병희
+김학우
+김종곤
+김헌희
+김현재
+김학우
+김만조
+김진연
+김성기
+김학윤
+김인석
+김갑근
+김희성
+김학이
+김종희
+김용순
+김봉식
+김학이
+김기수
+김재관
+김규식
+김학주
+김정용
+김철미
+김판희
+김한곤
+김현원
+김석범
+김칠호
+김한권
+김태갑
+김종영
+김판현
+김한규
+김근정
+김명이
+김해배
+김한규
+김정환
+김영용
+김광경
+김한기
+김금관
+김미태
+김형감
+김한도
+김귀준
+김호숙
+김영이
+김한배
+김해순
+김권웅
+김맹자
+김한석
+김덕수
+김영술
+김영학
+김한수
+김인규
+김영호
+김종순
+김한수
+김정철
+김태헌
+김두준
+김한수
+김상화
+김성탁
+김재걸
+김한수
+김영이
+김돈수
+김수성
+김한순
+김문호
+김윤조
+김계덕
+김한순
+김석조
+김재월
+김삼근
+김한식
+김형희
+김홍애
+김난해
+김한용
+김윤학
+김지길
+김수선
+김한조
+김종령
+김승철
+김경용
+김한종
+김정희
+김미희
+김병배
+김한중
+김중래
+김남곤
+김성순
+김한태
+김낙택
+김용화
+김옥규
+김한호
+김원일
+김만란
+김윤보
+김한홍
+김종애
+김윤정
+김대덕
+김한홍
+김운식
+김동암
+김인화
+김한희
+김갑보
+김종희
+김귀일
+김해곤
+김재주
+김영달
+김기출
+김해동
+김육한
+김성희
+김갑기
+김해림
+김상완
+김주석
+김태환
+김해봉
+김의조
+김한모
+김대호
+김해석
+김광준
+김석조
+김동호
+김해석
+김창현
+김민환
+김철복
+김해선
+김숙순
+김영권
+김양창
+김해수
+김원구
+김임환
+김창근
+김해수
+김대성
+김연길
+김화덕
+김해수
+김무기
+김해기
+김덕조
+김해연
+김순덕
+김의순
+김성자
+김해열
+김귀봉
+김인순
+김삼섭
+김해용
+김종고
+김성철
+김운호
+김해은
+김기규
+김호수
+김영훅
+김해은
+김신근
+김전규
+김기준
+김해은
+김세환
+김종동
+김오호
+김해정
+김병동
+김차수
+김귀균
+김해조
+김윤성
+김춘연
+김정호
+김해진
+김수근
+김태희
+김재곤
+김행순
+김성하
+김정수
+김경홍
+김향연
+김기명
+김정환
+김근철
+김향이
+김미환
+김정숙
+김용래
+김헌갑
+김황택
+김기화
+김용남
+김헌식
+김점식
+김혜건
+김순철
+김헌재
+김득연
+김규익
+김진대
+김헌태
+김영철
+김태봉
+김윤연
+김현기
+김명선
+김복인
+김기운
+김현기
+김태원
+김호홍
+김선열
+김현득
+김극경
+김환용
+김옥익
+김현래
+김의우
+김병조
+김달해
+김현묵
+김영준
+김경용
+김광출
+김현복
+김재용
+김덕현
+김희근
+김현석
+김호수
+김동룡
+김환철
+김현수
+김문운
+김동기
+김재순
+김현수
+김병장
+김재희
+김학철
+김현숙
+김순도
+김성영
+김우호
+김현숙
+김성만
+김준호
+김임규
+김현숙
+김갑봉
+김점규
+김종욱
+김현옥
+김상곤
+김재선
+김순문
+김현욱
+김중덕
+김맹술
+김정식
+김현웅
+김영재
+김달인
+김면배
+김현재
+김광규
+김상수
+김광수
+김현창
+김동대
+김정덕
+김하철
+김현철
+김달율
+김선암
+김재환
+김현철
+김홍현
+김덕석
+김운영
+김현철
+김영환
+김자이
+김정학
+김형구
+김영복
+김종숙
+김재조
+김형동
+김봉식
+김경륜
+김윤훈
+김형락
+김종운
+김정권
+김정수
+김형섭
+김상순
+김동호
+김기석
+김형수
+김헌이
+김영영
+김무민
+김형철
+김성우
+김종집
+김필숙
+김형태
+김대덕
+김성학
+김중원
+김형해
+김영곤
+김은규
+김정천
+김형희
+김종구
+김학기
+김명환
+김혜경
+김병자
+김병달
+김사숙
+김혜경
+김기군
+김성치
+김도은
+김혜경
+김강희
+김수백
+김규철
+김혜경
+김달문
+김병환
+김우정
+김혜숙
+김재동
+김영애
+김해우
+김혜영
+김일원
+김옥순
+김오권
+김혜자
+김점훈
+김민식
+김외권
+김호근
+김차선
+김종식
+김유봉
+김호기
+김성영
+김병희
+김병순
+김호룡
+김현철
+김재일
+김주철
+김호봉
+김세락
+김동헌
+김정자
+김호석
+김우옥
+김희이
+김용만
+김호성
+김철수
+김분배
+김영수
+김호야
+김경순
+김전순
+김상석
+김호용
+김용빈
+김복윤
+김유규
+김호용
+김병태
+김수선
+김연준
+김호인
+김상규
+김정진
+김기술
+김호일
+김문임
+김장청
+김태덕
+김호조
+김영택
+김성규
+김남표
+김호준
+김수광
+김영순
+김옥창
+김호철
+김정학
+김낙술
+김진준
+김홍건
+김 춘
+김호기
+김병순
+김홍겸
+김대섭
+김기춘
+김태금
+김홍구
+김기호
+김덕주
+김경호
+김홍국
+김종호
+김흥기
+김구규
+김홍규
+김정균
+김경석
+김술성
+김홍규
+김점학
+김태열
+김재숙
+김홍규
+김학수
+김상우
+김의영
+김홍균
+김수만
+김영득
+김태태
+김홍근
+김정천
+김 우
+김영식
+김홍근
+김계화
+김영덕
+김용순
+김홍달
+김원배
+김옥규
+김자웅
+김홍덕
+김필천
+김소복
+김창열
+김홍범
+김월영
+김홍우
+김종용
+김홍섭
+김종수
+김태재
+김준선
+김홍수
+김봉일
+김상래
+김정옥
+김홍수
+김진남
+김태숙
+김소락
+김홍식
+김광식
+김효천
+김규봉
+김홍식
+김상우
+김장학
+김옥성
+김홍열
+김병섭
+김용광
+김수호
+김홍열
+김일성
+김의목
+김근태
+김홍엽
+김학선
+김갑태
+김철권
+김홍일
+김진숙
+김점조
+김철복
+김홍조
+김유이
+김판환
+김금환
+김홍준
+김도우
+김대현
+김용희
+김화생
+김주빈
+김병수
+김선은
+김화식
+김천중
+김춘환
+김창영
+김화식
+김종옥
+김재희
+김인조
+김환성
+김삼철
+김일말
+김인연
+김환이
+김만식
+김상철
+김경미
+김환이
+김재경
+김재길
+김복순
+김환철
+김문기
+김현갑
+김대규
+김환호
+김태영
+김광봉
+김증경
+김황규
+김경해
+김대술
+김영순
+김효문
+김순광
+김선덕
+김술암
+김효선
+김순현
+김명모
+김병기
+김효선
+김판란
+김오상
+김창조
+김효숙
+김중원
+김조식
+김기중
+김효순
+김건학
+김태효
+김완효
+김효식
+김만동
+김창희
+김성관
+김효원
+김두수
+김성중
+김연조
+김효점
+김삼우
+김주태
+김규용
+김효진
+김부환
+김성율
+김영호
+김훈교
+김상술
+김석이
+김인식
+김흥숙
+김무복
+김제기
+김종구
+김희
+김석
+김암
+김순
+김희길
+김준회
+김언계
+김영수
+김희덕
+김재순
+김수화
+김점인
+김희도
+김병규
+김희열
+김철용
+김희동
+김문욱
+김선분
+김동이
+김희선
+김연윤
+김행호
+김정동
+김희성
+김영경
+김옥갑
+김동규
+김희수
+김양전
+김현희
+김태현
+김희수
+김일규
+김수수
+김재근
+김희수
+김난환
+김덕덕
+김선수
+김희수
+김갑호
+김귀덕
+김규인
+김희숙
+김이경
+김규헌
+김헌원
+김희순
+김숙동
+김광연
+김효수
+김희순
+김종순
+김선덕
+김병철
+김희정
+김용각
+김만호
+김의호
+김희준
+김화희
+김학한
+김성열
+김희준
+김정주
+김문순
+김진훈
+김희준
+김용출
+김운호
+김지훈
+김희진
+김정숙
+김승탁
+김갑상
+김희태
+김웅희
+김석환
+김공경
+나갑연
+나기언
+나경서
+나현교
+나건수
+나정이
+나태연
+나태수
+나광수
+나행영
+나철호
+나선태
+나국택
+나영홍
+나무선
+나삼현
+나규식
+나신만
+나주영
+나경영
+나규택
+나후순
+나영수
+나 원
+나규택
+나영익
+나창운
+나정영
+나규택
+나경옥
+나규수
+나성갑
+나금자
+나만분
+나태현
+나병교
+나금자
+나원이
+나판영
+나규명
+나기남
+나영권
+나재석
+나기채
+나기조
+나덕순
+나정주
+나영진
+나뇌성
+나금막
+나윤호
+나형기
+나대현
+나의수
+나원숙
+나충연
+나덕시
+나성웅
+나영관
+나수정
+나동선
+나영대
+나재립
+나술태
+나동연
+나 환
+나성현
+나병록
+나동춘
+나부언
+나순미
+나정구
+나동춘
+나성우
+나영출
+나호경
+나명철
+나수선
+나수봉
+나학웅
+나명철
+나정태
+나득숙
+나순지
+나무열
+나범술
+나해경
+나경기
+나무열
+나인선
+나해익
+나순식
+나병택
+나승희
+나병배
+나상휴
+나병택
+나차건
+나봉근
+나금홍
+나성수
+나동석
+나진자
+나덕출
+나성택
+나광자
+나영원
+나병태
+나성택
+나남석
+나정수
+나사덕
+나순세
+나영술
+나희식
+나영호
+나순연
+나성흠
+나정오
+나헌식
+나쌍선
+나귀일
+나인우
+나정현
+나양균
+나일모
+나철생
+나기용
+나억기
+나수천
+나헌욱
+나영재
+나영범
+나순근
+나인준
+나봉지
+나영삼
+나수영
+나재수
+나정환
+나영삼
+나홍희
+나임영
+나종명
+나영식
+나달석
+나병선
+나태정
+나영완
+나진수
+나홍숙
+나현수
+나영원
+나외열
+나옥수
+나충수
+나영자
+나영훈
+나학규
+나미진
+나영주
+나근판
+나일숙
+나규우
+나영진
+나상석
+나형용
+나종용
+나영호
+나춘호
+나경현
+나태열
+나영희
+나철남
+나병수
+나사미
+나영희
+나광수
+나종영
+나쌍원
+나용엽
+나수호
+나용자
+나정호
+나우덕
+나순식
+나칠희
+나국식
+나우연
+나성조
+나동석
+나경연
+나원식
+나성준
+나진현
+나종숙
+나월봉
+나운집
+나동도
+나옥애
+나월생
+나용호
+나성기
+나말한
+나익표
+나순술
+나광홍
+나민남
+나재기
+나재웅
+나계희
+나재수
+나재식
+나만석
+나성수
+나경남
+나정금
+나치범
+나범정
+나병우
+나정의
+나명호
+나영로
+나윤남
+나정태
+나재경
+나한준
+나영수
+나정희
+나명석
+나운기
+나명연
+나종곤
+나재진
+나선남
+나종수
+나종문
+나병도
+나점용
+나무조
+나종열
+나정임
+나삼련
+나은영
+나종태
+나성열
+나순환
+나춘도
+나종택
+나동부
+나평옥
+나종신
+나종한
+나재화
+나인율
+나정주
+나주택
+나길용
+나주윤
+나태식
+나지연
+나봉식
+나영환
+나방순
+나진관
+나현달
+나판조
+나진표
+나진관
+나정만
+나영숙
+나건수
+나진길
+나병미
+나갑오
+나용향
+나진도
+나봉운
+나영택
+나정운
+나진도
+나민자
+나갑숙
+나판자
+나진락
+나선현
+나찬철
+나근연
+나진상
+나남자
+나안현
+나천준
+나진오
+나희철
+나옥성
+나원돌
+나진유
+나원희
+나수대
+나승오
+나진한
+나상진
+나한록
+나윤식
+나진해
+나점자
+나경대
+나용강
+나진희
+나중수
+나수식
+나권교
+나채관
+나갈원
+나정오
+나경호
+나채권
+나태동
+나석태
+나종호
+나채성
+나효경
+나정관
+나소영
+나채식
+나영길
+나종조
+나근식
+나채향
+나종태
+나대심
+나태철
+나춘택
+나태옥
+나재용
+나이지
+나태임
+나명향
+나충윤
+나재근
+나해용
+나좌순
+나영현
+나태호
+나해용
+나운무
+나병철
+나재선
+나호연
+나명찬
+나홍자
+나용훈
+나희열
+나환섭
+나윤용
+나용자
+나희정
+나일식
+나승호
+나원동
+남 훈
+남태헌
+남봉호
+남대해
+남개곤
+남성술
+남희희
+남중기
+남궁정
+남판식
+남상숙
+남규배
+남규명
+남원선
+남순미
+남재달
+남규진
+남성웅
+남용호
+남낙포
+남기술
+남영형
+남대관
+남명수
+남기정
+남기호
+남점직
+남원숙
+남기홍
+남성기
+남성규
+남근열
+남덕수
+남재복
+남안애
+남상길
+남문희
+남배호
+남말암
+남일식
+남병두
+남창태
+남선태
+남운보
+남병춘
+남대구
+남경기
+남금영
+남상수
+남석봉
+남철기
+남진곤
+남상술
+남은남
+남광식
+남윤곤
+남상염
+남삼훈
+남봉태
+남윤태
+남상인
+남희관
+남광현
+남영헌
+남상훈
+남영수
+남판현
+남대섭
+남석현
+남건기
+남종창
+남명태
+남성우
+남상광
+남 수
+남상호
+남수용
+남홍봉
+남귀식
+남현곤
+남순우
+남영무
+남영재
+남태준
+남영우
+남판근
+남재교
+남용근
+남영현
+남상선
+남창도
+남정문
+남영현
+남하호
+남명치
+남을근
+남오조
+남상현
+남영국
+남병택
+남옥희
+남종화
+남재현
+남정연
+남용덕
+남영암
+남문택
+남영희
+남원덕
+남종기
+남동자
+남태순
+남원희
+남봉철
+남달항
+남계동
+남윤숙
+남임교
+남종수
+남근기
+남윤조
+남용희
+남원천
+남이수
+남은정
+남민대
+남분환
+남현화
+남을순
+남종영
+남가선
+남상구
+남이식
+남창태
+남찬수
+남범진
+남이식
+남국흠
+남구출
+남순심
+남이직
+남정진
+남광경
+남창오
+남인식
+남삼훈
+남장국
+남태식
+남재만
+남상이
+남종덕
+남광수
+남재봉
+남무우
+남삼만
+남행기
+남재우
+남명열
+남영섭
+남남식
+남재우
+남순헌
+남준곤
+남정수
+남정호
+남호진
+남인자
+남상만
+남정호
+남재정
+남상욱
+남정조
+남창기
+남화열
+남옥봉
+남영옥
+남철우
+남주식
+남종호
+남동암
+남춘화
+남병부
+남칠호
+남흥식
+남칠조
+남태동
+남병우
+남선권
+남태종
+남호석
+남혜성
+남재해
+남판준
+남재현
+남원국
+남영식
+남하우
+남진이
+남상순
+남중화
+남현일
+남도홍
+남수화
+남순수
+남현일
+남의순
+남희규
+남길규
+노갑수
+노군권
+노규세
+노성아
+노경도
+노경석
+노태헌
+노일자
+노광덕
+노대윤
+노용자
+노삼종
+노광웅
+노강언
+노승동
+노경근
+노근열
+노헌호
+노무규
+노병순
+노기근
+노향출
+노삼미
+노중진
+노기록
+노준태
+노외규
+노종환
+노기수
+노희희
+노동섭
+노옥석
+노기창
+노석순
+노성후
+노수수
+노기현
+노준수
+노도석
+노장환
+노대곤
+노병선
+노중욱
+노한정
+노동남
+노창상
+노재생
+노쾌숙
+노동덕
+노창암
+노경분
+노홍택
+노동수
+노태식
+노옥열
+노철규
+노동조
+노겸조
+노우록
+노근자
+노동조
+노중호
+노의한
+노영화
+노명분
+노수식
+노정환
+노정견
+노명암
+노승술
+노영점
+노경탁
+노무수
+노춘식
+노종정
+노정순
+노무종
+노윤돌
+노정진
+노재만
+노방식
+노상갑
+노영열
+노을택
+노병우
+노헌도
+노진태
+노철현
+노복천
+노윤원
+노명호
+노차순
+노봉열
+노주률
+노영문
+노용병
+노분조
+노중규
+노희천
+노동수
+노사호
+노종경
+노일여
+노현수
+노삼수
+노일이
+노우수
+노인순
+노상수
+노중림
+노은수
+노순덕
+노상열
+노진봉
+노상구
+노춘진
+노상태
+노춘호
+노민화
+노진수
+노상필
+노병우
+노영교
+노정군
+노상화
+노태만
+노한대
+노재식
+노석수
+노태태
+노성환
+노병문
+노석식
+노한갑
+노종희
+노한호
+노석식
+노병숙
+노성상
+노두수
+노석열
+노영자
+노뇌창
+노수철
+노석호
+노말기
+노권도
+노경혁
+노성대
+노길현
+노용도
+노달기
+노성덕
+노철국
+노봉한
+노홍환
+노성례
+노동환
+노영성
+노상자
+노성식
+노태숙
+노진완
+노병출
+노성열
+노영기
+노상희
+노병현
+노성환
+노무순
+노병호
+노제기
+노수한
+노상기
+노정선
+노연현
+노순남
+노영석
+노정조
+노두원
+노순조
+노경진
+노용식
+노승숙
+노순학
+노한성
+노영곤
+노상열
+노순해
+노순화
+노창문
+노창현
+노영수
+노진조
+노병동
+노수성
+노영숙
+노수종
+노주애
+노칠연
+노완구
+노종출
+노준수
+노태철
+노완식
+노종기
+노오환
+노정석
+노용규
+노도호
+노성갑
+노일제
+노용문
+노명난
+노경상
+노순식
+노용범
+노태우
+노수교
+노병균
+노용식
+노오숙
+노한분
+노상홍
+노용자
+노시춘
+노경관
+노부형
+노운동
+노차국
+노성화
+노종열
+노월선
+노상옥
+노사식
+노판우
+노윤규
+노무운
+노덕태
+노점복
+노윤금
+노오교
+노명석
+노정금
+노은섭
+노경길
+노상관
+노광자
+노은희
+노명숙
+노명석
+노만수
+노을연
+노현수
+노대용
+노병신
+노인상
+노욱식
+노광화
+노명연
+노인호
+노원호
+노재진
+노영우
+노장수
+노영주
+노명경
+노종휴
+노장오
+노춘봉
+노우옥
+노대웅
+노재연
+노용출
+노병탁
+노상상
+노재윤
+노익부
+노윤휴
+노달현
+노재창
+노만숙
+노정만
+노칠길
+노재환
+노종철
+노태희
+노판진
+노재환
+노규순
+노영희
+노달호
+노정익
+노해만
+노성식
+노춘숙
+노정환
+노영근
+노만곤
+노용술
+노종권
+노용균
+노일옥
+노만도
+노종운
+노상이
+노근덕
+노동기
+노종현
+노천수
+노일순
+노시열
+노준현
+노경용
+노성근
+노한우
+노준현
+노광현
+노봉이
+노정화
+노진식
+노한석
+노근식
+노진렬
+노창락
+노강남
+노원이
+노선순
+노창석
+노현일
+노철권
+노분하
+노창호
+노억학
+노무철
+노필현
+노창화
+노정태
+노병곤
+노용우
+노철규
+노길태
+노호철
+노영만
+노춘길
+노명연
+노경희
+노정순
+노칠규
+노정치
+노정석
+노대욱
+노태길
+노홍관
+노태극
+노무자
+노태술
+노진선
+노재자
+노상이
+노태원
+노태봉
+노세만
+노용철
+노택봉
+노용화
+노춘희
+노덕환
+노판규
+노노철
+노영석
+노순호
+노필주
+노명원
+노기선
+노재원
+노한규
+노영열
+노미권
+노문성
+노현배
+노종순
+노상규
+노한화
+노현정
+노두상
+노삼익
+노호봉
+노혜경
+노질규
+노광섭
+노재용
+노회준
+노정수
+노호중
+노두일
+노효동
+노경소
+노성성
+노차석
+노후득
+노을배
+노재계
+노만연
+노희수
+노영웅
+노성규
+노상만
+노희열
+노태조
+노태태
+노재호
+노희찬
+노윤욱
+노노호
+노상열
+도규탁
+도임용
+도광수
+도호기
+도동승
+도윤성
+도정전
+도주태
+도두탁
+도소홍
+도병건
+도주석
+도문환
+도문연
+도철용
+도팔갑
+도병기
+도율익
+도영수
+도순인
+도상기
+도호생
+도태갑
+도규환
+도상철
+도병환
+도성우
+도병용
+도상호
+도재식
+도찬자
+도적재
+도수영
+도소영
+도헌식
+도학식
+도수영
+도용보
+도재정
+도홍수
+도신우
+도기근
+도해용
+도정근
+도영철
+도분근
+도현창
+도해생
+도영희
+도문이
+도덕우
+도기만
+도옥희
+도공림
+도인분
+도해수
+도원수
+도용순
+도삼철
+도영선
+도임술
+도순순
+도국순
+도차호
+도재동
+도영자
+도광숙
+도상원
+도재동
+도윤건
+도석석
+도승만
+도재욱
+도순찬
+도명구
+도차덕
+도정만
+도창호
+도상기
+도일우
+도정봉
+도판길
+도옥로
+도철희
+도정탁
+도경규
+도재식
+도철세
+도제현
+도덕수
+도쾌선
+도기태
+도종환
+도태근
+도종록
+도인선
+도준탁
+도영모
+도개화
+도병식
+도증조
+도갑관
+도영순
+도태수
+도창록
+도병환
+도병복
+도창성
+도창수
+도태희
+도문진
+도주제
+도팔만
+도효용
+도선수
+도현정
+도하석
+도화교
+도정조
+도만양
+도현석
+도연암
+도군식
+도태춘
+도현영
+도한상
+도만성
+도동주
+도호길
+도인현
+도규춘
+도효희
+도화석
+도대석
+도진석
+도노목
+도회운
+도경동
+도동삼
+도태식
+라규혁
+라기봉
+라숙기
+라재돌
+라병호
+라일용
+라재정
+라교조
+라보원
+라기경
+라병근
+라차현
+라석문
+라종목
+라충기
+라용미
+라세만
+라달주
+라소환
+라완호
+라연당
+라승기
+라태원
+라윤수
+라영노
+라명계
+라종관
+라규영
+라영도
+라희성
+라병익
+라원돌
+라영준
+라미래
+라영임
+라삼영
+라요한
+라희순
+라만연
+라주담
+라우곤
+라일균
+라두태
+라희돌
+라인수
+라세섭
+라태조
+라대식
+라장수
+라해도
+라영민
+라수룡
+라종철
+라희홍
+라순수
+라주건
+라주택
+라봉기
+라도진
+라정성
+라진강
+라연석
+라순순
+라병숙
+라진식
+라상환
+라재숙
+라원길
+라진한
+라규상
+라영식
+라승운
+라치운
+라경기
+라용수
+라정진
+라택연
+라상석
+라영석
+라봉재
+라한길
+라상순
+라창재
+라홍만
+라현문
+라일만
+라정진
+라필주
+류 강
+류은자
+류영원
+류복호
+류갑록
+류영구
+류태식
+류하순
+류광열
+류태영
+류재학
+류경남
+류광지
+류함섭
+류현동
+류학수
+류근숙
+류완훈
+류해우
+류무복
+류도용
+류승선
+류이집
+류상랑
+류동훈
+류문임
+류근기
+류현욱
+류동훈
+류철갑
+류사무
+류세종
+류병칠
+류금애
+류명부
+류문효
+류상렬
+류철동
+류재동
+류형이
+류상우
+류광용
+류종재
+류재철
+류성복
+류은옥
+류중성
+류규남
+류성복
+류문연
+류금기
+류상근
+류성호
+류영대
+류시조
+류철철
+류수빈
+류성영
+류길국
+류문용
+류시재
+류형희
+류규정
+류학득
+류연자
+류소덕
+류경현
+류동수
+류용희
+류세호
+류상태
+류순덕
+류윤형
+류만식
+류강준
+류광배
+류의수
+류을곤
+류병민
+류성실
+류장화
+류서홍
+류기영
+류실학
+류종래
+류종용
+류동호
+류호현
+류종문
+류수선
+류용택
+류혜영
+류종채
+류종탁
+류창수
+류수환
+류태명
+류수곤
+류현호
+류이원
+류태문
+류승태
+류영환
+류봉석
+류태춘
+류정선
+류필삼
+류원호
+류필선
+류정수
+류영창
+류상기
+류해복
+류복기
+류수성
+류상출
+류해양
+류동주
+류기봉
+류판식
+류해춘
+류혜호
+류세연
+류신순
+류호대
+류선우
+류상무
+류정극
+마석일
+마동혁
+마태선
+마상석
+맹경락
+맹주옥
+맹금규
+맹혜균
+모상영
+모암태
+모해수
+모성길
+목성수
+목달근
+목화권
+목재팔
+문강민
+문철현
+문기태
+문길표
+문건택
+문종준
+문동만
+문영오
+문경술
+문헌호
+문해덕
+문보호
+문경애
+문용기
+문대영
+문성대
+문경호
+문명술
+문영환
+문강원
+문경희
+문을대
+문계선
+문연식
+문계남
+문점열
+문재기
+문재섭
+문계선
+문석준
+문판석
+문재오
+문광재
+문상출
+문쌍원
+문형문
+문교익
+문주자
+문재재
+문정섭
+문구의
+문교철
+문용수
+문종수
+문귀열
+문태기
+문석태
+문태경
+문근식
+문군신
+문창식
+문현태
+문근영
+문정희
+문재순
+문말수
+문근영
+문근훈
+문태하
+문영혜
+문기수
+문수숙
+문성경
+문윤목
+문기택
+문대우
+문준희
+문승만
+문기택
+문해택
+문순권
+문진복
+문남식
+문영전
+문상금
+문종열
+문남천
+문상택
+문홍경
+문정식
+문달수
+문상각
+문홍경
+문낙순
+문대희
+문중열
+문병봉
+문성돌
+문동수
+문창순
+문영수
+문수길
+문두열
+문용태
+문인근
+문일경
+문만열
+문상복
+문영정
+문성정
+문말연
+문명환
+문말식
+문미노
+문매자
+문상분
+문중열
+문일옥
+문맹주
+문태호
+문상대
+문석열
+문명용
+문종식
+문희애
+문대원
+문무연
+문정석
+문영화
+문진선
+문미영
+문병애
+문종행
+문말수
+문병근
+문정남
+문학석
+문병숙
+문병인
+문영점
+문도조
+문해근
+문병지
+문상선
+문일기
+문금규
+문복곤
+문명탁
+문원화
+문성혁
+문복순
+문병기
+문갑훈
+문재순
+문복열
+문승태
+문명상
+문희환
+문상도
+문성숙
+문선효
+문갑식
+문상래
+문성진
+문병백
+문창열
+문상모
+문복근
+문기언
+문종순
+문상석
+문문우
+문상재
+문정경
+문상수
+문동훈
+문석경
+문태주
+문상수
+문안성
+문기식
+문철식
+문상운
+문재중
+문종조
+문쌍원
+문상웅
+문복복
+문성숙
+문현래
+문상현
+문춘자
+문기원
+문영포
+문상호
+문태자
+문기선
+문판강
+문상화
+문재오
+문병란
+문태호
+문상흠
+문용룡
+문낙순
+문미선
+문상희
+문병화
+문상자
+문숙자
+문선남
+문소수
+문영성
+문규준
+문선호
+문종홍
+문봉경
+문석한
+문성준
+문동자
+문상덕
+문위호
+문세열
+문문출
+문주탁
+문경경
+문순구
+문장수
+문진원
+문옥빈
+문순례
+문회배
+문용복
+문준문
+문순자
+문상수
+문영억
+문태일
+문순조
+문홍명
+문문순
+문성연
+문순향
+문봉술
+문태기
+문행길
+문신현
+문진석
+문성전
+문광술
+문양웅
+문태일
+문영식
+문판환
+문영복
+문종기
+문분만
+문윤석
+문영상
+문성아
+문성영
+문인준
+문영석
+문풍식
+문월기
+문경호
+문영오
+문은덕
+문태임
+문재업
+문영채
+문병원
+문기근
+문인창
+문영희
+문삼기
+문연수
+문상언
+문오교
+문용순
+문송순
+문태문
+문옥주
+문재호
+문덕귀
+문희인
+문온숙
+문용태
+문옥래
+문종섭
+문용운
+문정은
+문설국
+문영호
+문우선
+문태식
+문인섭
+문증우
+문웅열
+문수숙
+문창출
+문인수
+문원출
+문순수
+문건덕
+문종길
+문은기
+문인국
+문도모
+문명덕
+문은식
+문원식
+문경성
+문태석
+문을생
+문소훈
+문성학
+문석자
+문응학
+문인식
+문신한
+문승유
+문익기
+문규원
+문난덕
+문성기
+문인곤
+문기재
+문성균
+문영옥
+문인기
+문복규
+문상철
+문병희
+문인기
+문쾌천
+문윤희
+문상식
+문인수
+문순호
+문상재
+문민의
+문일주
+문소호
+문영해
+문중니
+문장운
+문영곤
+문정순
+문재용
+문장호
+문찬욱
+문재교
+문안조
+문재철
+문쾌도
+문용준
+문길조
+문재희
+문기갑
+문효주
+문종호
+문전국
+문은용
+문만원
+문복조
+문전국
+문익희
+문재희
+문희열
+문점랑
+문현현
+문영교
+문두태
+문점분
+문대민
+문순환
+문윤옥
+문정국
+문말종
+문외자
+문재수
+문정범
+문영진
+문태규
+문근복
+문정분
+문성수
+문경화
+문종종
+문정선
+문지봉
+문옥권
+문석환
+문정수
+문금숙
+문정호
+문영수
+문정순
+문정식
+문우준
+문의수
+문정술
+문건근
+문문령
+문영구
+문정자
+문오순
+문재석
+문정우
+문정자
+문일국
+문종걸
+문건수
+문정자
+문연근
+문경동
+문기철
+문정자
+문성실
+문순연
+문인석
+문정희
+문원준
+문소현
+문명호
+문종래
+문추봉
+문명열
+문의태
+문주선
+문원홍
+문복훈
+문호수
+문주섭
+문창남
+문대환
+문용영
+문주종
+문만주
+문태열
+문병휴
+문주호
+문임만
+문경오
+문종수
+문차관
+문선홍
+문태교
+문재조
+문창래
+문칠은
+문말수
+문용준
+문창식
+문종용
+문상수
+문병택
+문창열
+문재규
+문덕섭
+문병식
+문창열
+문사연
+문무우
+문진원
+문철운
+문육석
+문진식
+문태국
+문춘옥
+문상학
+문주길
+문노갑
+문판권
+문분달
+문말호
+문해훈
+문판순
+문순연
+문병일
+문영택
+문판오
+문종수
+문원희
+문상학
+문팔봉
+문영녀
+문만석
+문해선
+문필순
+문태주
+문한준
+문성상
+문학조
+문인영
+문재주
+문경권
+문행성
+문달선
+문인정
+문춘일
+문현자
+문삼권
+문용창
+문광범
+문호식
+문만수
+문지조
+문득식
+문홍재
+문정한
+문분희
+문궁준
+문홍재
+문중기
+문해환
+문용태
+문홍주
+문용휘
+문장복
+문윤도
+문화춘
+문윤난
+문달임
+문진군
+문환주
+문근호
+문동상
+문재순
+문효열
+문기애
+문상일
+문등남
+문희교
+문달환
+문정근
+문해석
+문희성
+문오옥
+문병도
+문홍자
+문희순
+문영수
+문희병
+문상호
+문희식
+문무춘
+문경화
+문미호
+문희연
+문성원
+문상열
+문승주
+문희원
+문성철
+문옥균
+문말분
+민공식
+민일철
+민영보
+민신준
+민도기
+민원길
+민운석
+민성훈
+민문희
+민소주
+민종환
+민의원
+민병기
+민윤희
+민홍근
+민도수
+민병목
+민분구
+민종순
+민부정
+민병성
+민길복
+민수술
+민주종
+민병오
+민창수
+민남재
+민석희
+민병오
+민진우
+민대백
+민강환
+민병오
+민창호
+민병윤
+민용욱
+민병우
+민진용
+민정목
+민선순
+민병욱
+민정육
+민태숙
+민재현
+민병창
+민정소
+민영재
+민점오
+민병천
+민계석
+민유이
+민성훈
+민병현
+민주업
+민현석
+민기기
+민복기
+민숙일
+민영구
+민주현
+민봉근
+민 태
+민태정
+민상원
+민석조
+민상회
+민성식
+민인준
+민성기
+민헌희
+민쌍현
+민호수
+민성재
+민 수
+민상현
+민영연
+민영우
+민호년
+민경용
+민기철
+민재기
+민성차
+민만민
+민특향
+민점수
+민주주
+민 교
+민경호
+민종선
+민일연
+민재숙
+민명대
+민진노
+민정규
+민행홍
+민용기
+민진수
+민재환
+민영암
+민삼수
+민찬식
+민병열
+민철수
+민수환
+민창식
+민외득
+민정영
+민석은
+민철진
+민이순
+민정순
+민수만
+민태식
+민혜수
+민원규
+민재규
+민향란
+민상식
+민풍득
+민문관
+민현숙
+민경희
+민재만
+민상숙
+민혜원
+민태재
+민정식
+민득준
+박 교
+박용조
+박인기
+박민석
+박 근
+박선근
+박상옥
+박수권
+박 옥
+박광득
+박용곤
+박우조
+박 용
+박윤덕
+박본곤
+박용권
+박 용
+박태경
+박석학
+박계석
+박 은
+박기재
+박경숙
+박태순
+박 훈
+박호희
+박찬수
+박도열
+박갑도
+박윤식
+박세순
+박석규
+박갑상
+박재옥
+박덕우
+박신갑
+박갑선
+박태복
+박해호
+박원화
+박갑수
+박동동
+박일희
+박동석
+박갑수
+박동식
+박경현
+박장모
+박갑순
+박태복
+박정한
+박성숙
+박갑악
+박병태
+박종우
+박성현
+박갑주
+박임순
+박혁순
+박좌근
+박강본
+박충근
+박태덕
+박대연
+박강조
+박효택
+박일술
+박연우
+박건동
+박경호
+박기호
+박영도
+박경규
+박상소
+박복환
+박태임
+박경기
+박영근
+박석현
+박인길
+박경달
+박인종
+박해봉
+박기수
+박경동
+박윤래
+박찬아
+박장구
+박경동
+박임근
+박정환
+박정용
+박경선
+박순진
+박상인
+박구연
+박경수
+박병철
+박국경
+박주수
+박경수
+박태동
+박덕출
+박영성
+박경수
+박우희
+박진조
+박춘한
+박경수
+박임출
+박상재
+박내연
+박경술
+박종생
+박기섭
+박옥기
+박경열
+박화아
+박형요
+박연배
+박경영
+박청철
+박지석
+박길원
+박경용
+박오길
+박병수
+박태판
+박경우
+박재욱
+박범화
+박민철
+박경원
+박병우
+박명석
+박덕석
+박경재
+박규천
+박봉석
+박병석
+박경조
+박홍문
+박창출
+박금수
+박경준
+박만재
+박쌍현
+박원춘
+박경출
+박광편
+박재석
+박운경
+박경호
+박순정
+박상근
+박만수
+박경호
+박명근
+박신자
+박진수
+박경화
+박윤철
+박근열
+박갑수
+박경희
+박은락
+박홍숙
+박응용
+박계만
+박세순
+박경득
+박학심
+박계순
+박하등
+박경점
+박문원
+박계순
+박주호
+박형천
+박필영
+박계순
+박태식
+박재선
+박판문
+박계양
+박재환
+박사자
+박철조
+박고윤
+박도만
+박영호
+박미철
+박곡지
+박상태
+박중수
+박헌선
+박관욱
+박기덕
+박환태
+박진래
+박광근
+박봉천
+박영기
+박형식
+박광근
+박찬돌
+박휘천
+박영조
+박광기
+박 진
+박추용
+박월차
+박광배
+박태태
+박문암
+박종숙
+박광배
+박양래
+박병태
+박우석
+박광빈
+박종덕
+박명호
+박광수
+박광석
+박현수
+박정도
+박종덕
+박광선
+박기곤
+박동도
+박태용
+박광수
+박병도
+박춘석
+박계수
+박광수
+박상모
+박태수
+박성길
+박광열
+박필덕
+박성곤
+박순락
+박광열
+박순기
+박창섭
+박종렬
+박광용
+박만수
+박석포
+박은정
+박광용
+박기근
+박홍덕
+박창근
+박광욱
+박중연
+박필정
+박환열
+박광진
+박정덕
+박춘출
+박태련
+박광진
+박규춘
+박광모
+박병연
+박광호
+박무헌
+박종순
+박성기
+박광훈
+박칠훈
+박명호
+박천식
+박교찬
+박덕근
+박순수
+박숙식
+박구열
+박을조
+박말석
+박차환
+박국주
+박연술
+박상희
+박상이
+박귀순
+박옥호
+박수진
+박상장
+박귀환
+박태배
+박성곤
+박말종
+박규근
+박홍수
+박창연
+박태두
+박규만
+박갑진
+박승호
+박강준
+박규봉
+박주술
+박인율
+박은수
+박규이
+박상훈
+박세연
+박정주
+박규천
+박영택
+박병순
+박중룡
+박규학
+박옥자
+박성식
+박학우
+박규흠
+박두호
+박충호
+박창환
+박근덕
+박상완
+박노성
+박동현
+박근배
+박영진
+박영호
+박우국
+박근배
+박기덕
+박복상
+박정자
+박근순
+박태배
+박상일
+박명달
+박근식
+박경선
+박기준
+박복희
+박근영
+박성재
+박부환
+박연규
+박근우
+박순숙
+박한호
+박무영
+박근윤
+박소우
+박정규
+박상회
+박근윤
+박보호
+박길연
+박영명
+박근자
+박상수
+박정열
+박현희
+박근해
+박석철
+박달란
+박용식
+박근화
+박사암
+박환종
+박기상
+박근희
+박만석
+박담수
+박인준
+박금석
+박숙홍
+박성병
+박창식
+박금연
+박순자
+박종곤
+박창관
+박금주
+박용완
+박춘식
+박승식
+박기곤
+박민이
+박정훈
+박영순
+박기모
+박주순
+박규영
+박태계
+박기문
+박낙이
+박경자
+박승득
+박기봉
+박성오
+박금호
+박금순
+박기봉
+박영식
+박삼삼
+박은환
+박기성
+박자석
+박철헌
+박건원
+박기성
+박갑덕
+박재종
+박기수
+박기순
+박대동
+박민연
+박외경
+박기옥
+박재봉
+박영화
+박태철
+박기완
+박원선
+박재택
+박순열
+박기원
+박영근
+박태경
+박영석
+박기원
+박영여
+박진희
+박영호
+박기정
+박쾌석
+박재태
+박병석
+박기종
+박화희
+박학영
+박인태
+박기태
+박병태
+박현우
+박영태
+박기태
+박우태
+박수만
+박일순
+박기태
+박대순
+박계익
+박안주
+박기택
+박태갑
+박원범
+박종현
+박기현
+박기기
+박도재
+박천찬
+박기현
+박호선
+박장섭
+박갑만
+박기홍
+박금익
+박영교
+박도규
+박기홍
+박상희
+박연주
+박중인
+박기홍
+박기수
+박규희
+박상흠
+박기홍
+박주일
+박상찬
+박민만
+박기화
+박용평
+박재흠
+박정환
+박기훈
+박병호
+박승권
+박미화
+박길효
+박경덕
+박정완
+박성조
+박낙하
+박차배
+박종순
+박준례
+박남석
+박경권
+박만정
+박순수
+박남숙
+박창규
+박호조
+박학섭
+박남식
+박판동
+박광운
+박정태
+박남정
+박을일
+박순회
+박태진
+박노갑
+박상화
+박영식
+박정자
+박노갑
+박 근
+박미준
+박재주
+박노권
+박기진
+박호훈
+박대식
+박노기
+박성선
+박석용
+박만범
+박노만
+박위옥
+박성경
+박진필
+박노분
+박재옥
+박상자
+박팔배
+박노순
+박성덕
+박달호
+박영덕
+박노신
+박숙현
+박태수
+박태혁
+박노열
+박수혜
+박염석
+박정분
+박노영
+박광동
+박심룡
+박경호
+박노용
+박인규
+박인도
+박영생
+박노윤
+박홍규
+박종호
+박옥배
+박노윤
+박영준
+박영용
+박학근
+박노정
+박원규
+박순순
+박운윤
+박노철
+박재경
+박동표
+박세도
+박노학
+박창수
+박순상
+박의수
+박노현
+박종호
+박정웅
+박준용
+박노화
+박태술
+박임규
+박경규
+박달규
+박정일
+박근섭
+박창준
+박달선
+박 숙
+박권순
+박봉봉
+박달수
+박정성
+박덕호
+박동임
+박달용
+박노홍
+박한자
+박석순
+박달회
+박정환
+박원선
+박달남
+박대성
+박재자
+박해주
+박영봉
+박대성
+박정일
+박왕자
+박진호
+박대성
+박창수
+박갑성
+박형태
+박대성
+박근철
+박창근
+박길선
+박대식
+박상열
+박성조
+박병일
+박대식
+박경호
+박태옥
+박기준
+박대원
+박수실
+박명자
+박명태
+박대철
+박동영
+박학호
+박규기
+박대형
+박훈암
+박오조
+박종복
+박덕근
+박판철
+박삼자
+박태구
+박덕순
+박호봉
+박장기
+박경남
+박덕암
+박동용
+박수선
+박윤춘
+박덕이
+박진덕
+박억성
+박옥식
+박도금
+박계철
+박은환
+박장원
+박도선
+박제우
+박영영
+박현수
+박도환
+박규화
+박운식
+박하숙
+박도환
+박인호
+박영호
+박용문
+박돈헌
+박영일
+박정기
+박대하
+박동근
+박봉기
+박균호
+박욱분
+박동길
+박세택
+박청재
+박필태
+박동명
+박덕순
+박광우
+박종현
+박동명
+박상돌
+박정태
+박영규
+박동성
+박금규
+박병경
+박경연
+박동수
+박종일
+박영자
+박대곤
+박동수
+박혜선
+박상호
+박희식
+박동수
+박병화
+박의이
+박용선
+박동숙
+박광일
+박우환
+박광표
+박동식
+박경철
+박종일
+박명직
+박동식
+박운순
+박성숙
+박상민
+박동열
+박봉복
+박근조
+박명준
+박동열
+박정식
+박신술
+박우철
+박동영
+박병선
+박정옥
+박낙익
+박동용
+박석정
+박기동
+박옥호
+박동욱
+박영식
+박대현
+박충택
+박동운
+박복이
+박종만
+박기조
+박동일
+박재형
+박말수
+박계수
+박동일
+박상연
+박태기
+박점순
+박동자
+박용덕
+박덕구
+박영련
+박동정
+박정근
+박상한
+박희호
+박동준
+박재성
+박경성
+박덕실
+박동준
+박영제
+박남욱
+박용환
+박동준
+박해희
+박재우
+박말배
+박동천
+박철율
+박강근
+박상일
+박동철
+박갑환
+박영득
+박문열
+박동철
+박영봉
+박영수
+박판현
+박동춘
+박인영
+박정규
+박을고
+박동헌
+박택일
+박상우
+박윤영
+박두용
+박성덕
+박정화
+박순숙
+박두익
+박의이
+박갑민
+박태술
+박두헌
+박만전
+박관원
+박준옥
+박두호
+박치식
+박교호
+박창환
+박두환
+박영문
+박영만
+박용환
+박두희
+박점영
+박노순
+박재현
+박득근
+박진수
+박선식
+박순식
+박래하
+박창식
+박기용
+박재효
+박막래
+박길호
+박문식
+박 수
+박만규
+박정석
+박희순
+박정자
+박만규
+박상희
+박정준
+박귀운
+박만석
+박영채
+박말영
+박병갑
+박만수
+박재희
+박화웅
+박현오
+박만수
+박태석
+박현용
+박욱규
+박만수
+박종용
+박동철
+박병대
+박만심
+박태원
+박한동
+박해환
+박만정
+박희용
+박영순
+박태종
+박만조
+박일호
+박소경
+박수곤
+박만출
+박영학
+박병영
+박무주
+박만흠
+박정칙
+박계렬
+박월식
+박말수
+박규희
+박해출
+박대초
+박말순
+박은수
+박용규
+박차조
+박말순
+박보이
+박성현
+박병석
+박말조
+박을열
+박승남
+박규운
+박말출
+박태수
+박점학
+박태향
+박말한
+박소규
+박순근
+박술모
+박명돌
+박국준
+박정길
+박규진
+박명봉
+박장용
+박광선
+박한경
+박명식
+박헌철
+박정주
+박경옥
+박명옥
+박철숙
+박을현
+박임표
+박명용
+박차환
+박해한
+박철택
+박명임
+박민택
+박화열
+박종영
+박명진
+박원재
+박홍희
+박한영
+박명철
+박상수
+박진선
+박덕교
+박명한
+박항기
+박중칠
+박병수
+박명호
+박대록
+박점용
+박보열
+박명호
+박재수
+박경섭
+박수구
+박명회
+박은자
+박태달
+박종란
+박명희
+박병오
+박무순
+박영철
+박묘년
+박쌍곤
+박영돌
+박종수
+박무길
+박언응
+박정석
+박미훈
+박무웅
+박점원
+박태용
+박차수
+박무웅
+박광진
+박규운
+박홍용
+박무호
+박차찬
+박준석
+박상덕
+박무환
+박종기
+박갑용
+박귀극
+박문갑
+박명근
+박형우
+박광식
+박문권
+박판분
+박대원
+박옥현
+박문규
+박병환
+박홍철
+박업선
+박문수
+박수호
+박영식
+박설윤
+박문식
+박해련
+박필여
+박은식
+박문조
+박영수
+박병정
+박보명
+박문조
+박운순
+박성호
+박천악
+박문철
+박희철
+박병영
+박주이
+박문호
+박성악
+박용련
+박태일
+박문희
+박판종
+박석형
+박동철
+박미자
+박성기
+박해순
+박태규
+박미자
+박위도
+박강배
+박한구
+박미자
+박정운
+박영덕
+박창희
+박미정
+박성호
+박상현
+박종영
+박미화
+박오희
+박정현
+박술조
+박민우
+박진식
+박성만
+박차경
+박방자
+박성화
+박덕평
+박제구
+박범태
+박병수
+박쌍대
+박정호
+박병구
+박병재
+박남영
+박태로
+박병근
+박기수
+박정희
+박경희
+박병기
+박명창
+박종순
+박은선
+박병기
+박광보
+박화식
+박미래
+박병기
+박옥자
+박태열
+박대봉
+박병남
+박석경
+박용이
+박영수
+박병립
+박용한
+박진구
+박정기
+박병목
+박점일
+박현민
+박영환
+박병선
+박술식
+박승율
+박병자
+박병순
+박금자
+박경운
+박재철
+박병용
+박한호
+박재영
+박점악
+박병용
+박덕현
+박영식
+박상덕
+박병진
+박창희
+박학수
+박은식
+박병천
+박원식
+박수임
+박용호
+박병헌
+박재순
+박민수
+박제석
+박병호
+박경수
+박순림
+박정종
+박병호
+박윤지
+박승희
+박정술
+박병호
+박태한
+박용현
+박정희
+박보근
+박해자
+박갈란
+박웅세
+박복근
+박춘도
+박윤웅
+박윤술
+박복난
+박명교
+박성석
+박위석
+박복만
+박선암
+박수부
+박이명
+박복연
+박희환
+박원자
+박정정
+박봉근
+박기길
+박진호
+박근균
+박봉기
+박순운
+박홍조
+박동희
+박봉병
+박규희
+박일중
+박무상
+박봉상
+박재생
+박동보
+박순정
+박봉석
+박덕권
+박제덕
+박 길
+박봉출
+박지조
+박경진
+박숙용
+박봉하
+박석희
+박영돌
+박영길
+박봉환
+박준준
+박정찬
+박정호
+박분선
+박종필
+박윤곤
+박삼환
+박분술
+박상두
+박영식
+박도주
+박분이
+박규훈
+박완학
+박봉식
+박삼동
+박규복
+박정식
+박우순
+박삼술
+박원성
+박만원
+박태산
+박삼암
+박오상
+박태호
+박영돌
+박삼조
+박증옥
+박상순
+박순식
+박삼조
+박희득
+박임권
+박재모
+박삼출
+박진재
+박영천
+박광희
+박삼헌
+박용원
+박동철
+박강봉
+박상구
+박성하
+박기복
+박난동
+박상규
+박규호
+박명환
+박효용
+박상규
+박문기
+박갑순
+박복수
+박상규
+박지이
+박경례
+박상식
+박상규
+박재호
+박영호
+박순임
+박상기
+박갑동
+박승남
+박영선
+박상길
+박장환
+박일수
+박순섭
+박상달
+박교주
+박관숙
+박해덕
+박상도
+박길하
+박호숙
+박일란
+박상록
+박기환
+박순식
+박을자
+박상률
+박수수
+박동원
+박광이
+박상만
+박학범
+박을동
+박 재
+박상범
+박경봉
+박태식
+박태교
+박상서
+박종자
+박재자
+박중수
+박상수
+박경호
+박헌진
+박재수
+박상순
+박성자
+박인수
+박현식
+박상술
+박규원
+박인식
+박 현
+박상식
+박병우
+박윤용
+박형옥
+박상식
+박은태
+박수호
+박 화
+박상연
+박인현
+박종구
+박장상
+박상열
+박평호
+박해현
+박순옥
+박상옥
+박병기
+박남진
+박봉년
+박상용
+박덕호
+박말훈
+박원전
+박상용
+박만돌
+박태주
+박명철
+박상욱
+박영철
+박상출
+박영근
+박상윤
+박수순
+박정상
+박태수
+박상태
+박용락
+박영수
+박일환
+박상태
+박은오
+박달수
+박쌍증
+박상현
+박용수
+박정자
+박동규
+박상호
+박진원
+박영조
+박판수
+박상홍
+박의수
+박태재
+박명모
+박상훈
+박범규
+박영교
+박재자
+박상희
+박덕수
+박효숙
+박종진
+박상희
+박수석
+박필호
+박태현
+박석규
+박영호
+박삼원
+박규석
+박석근
+박일수
+박상기
+박준덕
+박석동
+박두환
+박정현
+박규철
+박석식
+박칠하
+박인하
+박병동
+박석철
+박춘규
+박태희
+박동조
+박선영
+박상출
+박상희
+박병남
+박선옥
+박병식
+박덕구
+박남익
+박선진
+박연순
+박영연
+박상영
+박선호
+박상용
+박장록
+박창천
+박성곤
+박일수
+박태조
+박재애
+박성구
+박일원
+박정보
+박영원
+박성규
+박재세
+박영호
+박은원
+박성규
+박정문
+박윤철
+박규성
+박성규
+박상익
+박영영
+박종조
+박성기
+박기화
+박수덕
+박대균
+박성기
+박규준
+박우석
+박정연
+박성남
+박진임
+박소주
+박일록
+박성달
+박미호
+박 금
+박세열
+박성득
+박동욱
+박석택
+박선덕
+박성득
+박관분
+박필수
+박근청
+박성룡
+박 오
+박선순
+박동종
+박성배
+박종태
+박상배
+박재애
+박성배
+박석식
+박용휴
+박점연
+박성배
+박종회
+박만순
+박진동
+박성배
+박명대
+박광암
+박동길
+박성배
+박점태
+박윤용
+박황식
+박성범
+박창식
+박필우
+박정암
+박성봉
+박권철
+박인조
+박태권
+박성분
+박일희
+박재순
+박운상
+박성빈
+박상수
+박종주
+박점철
+박성순
+박명숙
+박홍희
+박미화
+박성순
+박인자
+박영흠
+박정임
+박성식
+박 학
+박사규
+박성훈
+박성실
+박성수
+박민식
+박타구
+박성양
+박옥태
+박필화
+박인술
+박성열
+박송근
+박일연
+박혁호
+박성열
+박옥순
+박상조
+박진실
+박성용
+박성작
+박인수
+박미교
+박성율
+박두열
+박황오
+박수봉
+박성일
+박봉환
+박석덕
+박금우
+박성철
+박흥차
+박갑석
+박종길
+박성한
+박정호
+박필수
+박규도
+박성현
+박기민
+박종봉
+박종열
+박성현
+박일임
+박일경
+박창수
+박성호
+박태석
+박태용
+박재기
+박성호
+박태균
+박혜석
+박무원
+박성환
+박재순
+박태순
+박영기
+박성희
+박호준
+박소용
+박규수
+박세학
+박영부
+박판열
+박만웅
+박세헌
+박태채
+박윤회
+박영규
+박소선
+박행철
+박충삼
+박식현
+박송견
+박영우
+박춘이
+박성현
+박송연
+박봉철
+박몽호
+박영우
+박수갑
+박인실
+박대수
+박강종
+박수걸
+박재수
+박진화
+박두헌
+박수경
+박성진
+박재식
+박규운
+박수규
+박선성
+박창란
+박병도
+박수명
+박상철
+박남성
+박선길
+박수목
+박태덕
+박삼길
+박정홍
+박수민
+박수도
+박헌열
+박성열
+박수복
+박진곤
+박차용
+박무리
+박수열
+박석순
+박병우
+박재선
+박수원
+박수식
+박영수
+박봉숙
+박수찬
+박 수
+박우연
+박학신
+박수천
+박애복
+박윤우
+박복빈
+박수학
+박재팔
+박종곤
+박홍길
+박수한
+박광용
+박종근
+박문인
+박수향
+박재환
+박병택
+박건재
+박수호
+박금자
+박정국
+박만출
+박수희
+박재수
+박영우
+박재열
+박숙현
+박성문
+박낙길
+박사휴
+박숙희
+박재철
+박태열
+박월모
+박순갑
+박성동
+박종석
+박해식
+박순관
+박판이
+박월이
+박강천
+박순금
+박철균
+박태식
+박종식
+박순길
+박주성
+박 웅
+박정웅
+박순남
+박순수
+박석식
+박도영
+박순덕
+박재조
+박하환
+박호원
+박순도
+박무수
+박상숙
+박영동
+박순돌
+박종배
+박석순
+박해길
+박순동
+박현수
+박규하
+박일택
+박순득
+박영인
+박성호
+박승재
+박순복
+박음진
+박용덕
+박차운
+박순석
+박상이
+박태열
+박인수
+박순암
+박진경
+박상수
+박영주
+박순옥
+박운윤
+박용란
+박광목
+박순옥
+박영현
+박용수
+박점우
+박순옥
+박찬자
+박광용
+박종종
+박순옥
+박중식
+박봉성
+박연명
+박순옥
+박소순
+박은훈
+박창갑
+박순옥
+박덕제
+박해태
+박오용
+박순임
+박성용
+박수헌
+박미대
+박순자
+박선호
+박안암
+박기점
+박순자
+박경현
+박종제
+박칠숙
+박순자
+박한순
+박외조
+박충원
+박순자
+박오규
+박진선
+박영순
+박순조
+박승연
+박철강
+박용천
+박순직
+박용목
+박창국
+박정태
+박순찬
+박홍술
+박진복
+박영욱
+박순천
+박 식
+박재식
+박용중
+박순호
+박효배
+박소기
+박일남
+박순희
+박광석
+박규우
+박기상
+박술헌
+박현식
+박권호
+박명분
+박승규
+박필수
+박직영
+박주한
+박승대
+박기태
+박순자
+박순일
+박승립
+박용호
+박성호
+박일한
+박승목
+박병찬
+박도만
+박수금
+박신웅
+박동석
+박동부
+박태현
+박신율
+박석영
+박대도
+박태숙
+박신제
+박순희
+박상균
+박영수
+박신지
+박경현
+박만주
+박종택
+박신하
+박선호
+박점일
+박명순
+박신회
+박상철
+박경암
+박말운
+박쌍술
+박종암
+박희숙
+박정복
+박암부
+박용길
+박종희
+박장조
+박양순
+박두윤
+박청식
+박칠중
+박양회
+박병조
+박만기
+박주호
+박언규
+박상만
+박재성
+박주룡
+박언숙
+박만수
+박홍락
+박금석
+박언업
+박남진
+박금상
+박용수
+박연수
+박운목
+박태성
+박만권
+박연순
+박병성
+박상오
+박점호
+박연심
+박영선
+박태덕
+박팔식
+박연용
+박조말
+박태도
+박상조
+박연차
+박재복
+박승훈
+박진란
+박연황
+박학호
+박명란
+박정기
+박연흠
+박선우
+박희순
+박정작
+박연희
+박은순
+박태명
+박정월
+박영규
+박종희
+박진윤
+박상진
+박영길
+박귀모
+박무욱
+박의진
+박영덕
+박장식
+박삼군
+박영웅
+박영득
+박필인
+박희식
+박정수
+박영란
+박신오
+박재걸
+박성선
+박영록
+박동원
+박기이
+박덕철
+박영봉
+박덕순
+박창도
+박병일
+박영선
+박동수
+박소용
+박학진
+박영선
+박춘열
+박보수
+박애경
+박영선
+박종휘
+박하기
+박진이
+박영섭
+박병연
+박점학
+박타규
+박영수
+박영악
+박영균
+박규호
+박영술
+박규규
+박준식
+박재수
+박영식
+박순수
+박종조
+박형진
+박영식
+박재자
+박만기
+박성선
+박영오
+박재호
+박중화
+박충식
+박영우
+박순범
+박광성
+박병현
+박영욱
+박동환
+박진태
+박영명
+박영이
+박경황
+박태훈
+박영윤
+박영일
+박규록
+박경봉
+박석수
+박영자
+박남호
+박순서
+박성관
+박영재
+박창식
+박문수
+박해석
+박영제
+박오재
+박하재
+박주규
+박영조
+박광원
+박봉태
+박기갑
+박영주
+박정옥
+박문훈
+박이영
+박영준
+박덕임
+박복구
+박삼수
+박영철
+박성환
+박재석
+박정악
+박영철
+박동문
+박시결
+박재원
+박영철
+박탁순
+박석경
+박운돌
+박영철
+박창석
+박말수
+박기태
+박영춘
+박재문
+박쾌환
+박청경
+박영출
+박수택
+박상녀
+박규병
+박영태
+박중용
+박재석
+박영조
+박영필
+박영봉
+박달수
+박원승
+박영하
+박동열
+박영복
+박순수
+박영화
+박진분
+박병자
+박만심
+박영화
+박정경
+박장희
+박중희
+박영화
+박상숙
+박중숙
+박광조
+박영환
+박남오
+박주옥
+박월주
+박영환
+박칠득
+박우복
+박만은
+박영휘
+박귀호
+박종수
+박봉련
+박오득
+박광옥
+박학태
+박종석
+박오순
+박명택
+박영수
+박학은
+박오주
+박춘호
+박승섭
+박춘호
+박옥균
+박정화
+박진승
+박영중
+박옥동
+박헌덕
+박영열
+박길순
+박옥수
+박수영
+박기근
+박재홍
+박옥순
+박연완
+박병덕
+박은래
+박옥순
+박재세
+박응순
+박복섭
+박옥이
+박우영
+박동태
+박영완
+박옥자
+박경규
+박경병
+박성영
+박옥태
+박소홍
+박동현
+박성혁
+박왕렬
+박종선
+박환하
+박우준
+박외수
+박형자
+박우기
+박만석
+박외환
+박상현
+박두국
+박용선
+박용관
+박동호
+박영환
+박종율
+박용구
+박판준
+박현호
+박정묵
+박용권
+박승덕
+박 화
+박재호
+박용근
+박유영
+박병희
+박달배
+박용근
+박명상
+박태택
+박복채
+박용대
+박수길
+박문목
+박광호
+박용도
+박만관
+박점완
+박쌍옥
+박용만
+박말도
+박숙희
+박창만
+박용보
+박영우
+박동구
+박희기
+박용석
+박기준
+박묘진
+박종순
+박용수
+박의희
+박용모
+박용관
+박용수
+박해준
+박상영
+박숙춘
+박용수
+박주한
+박기규
+박왕환
+박용순
+박춘식
+박창열
+박영만
+박용암
+박경기
+박상태
+박낙홍
+박용준
+박연식
+박태룡
+박준수
+박용준
+박상록
+박동열
+박영규
+박용철
+박영식
+박우수
+박재관
+박용철
+박병환
+박암봉
+박상연
+박용학
+박민연
+박영국
+박상연
+박용학
+박기순
+박영국
+박장석
+박용한
+박수남
+박종호
+박만성
+박용헌
+박태오
+박봉중
+박임렬
+박용헌
+박혜술
+박동보
+박원임
+박용현
+박두수
+박춘기
+박광웅
+박용호
+박태생
+박태희
+박상돌
+박용호
+박판암
+박용길
+박수일
+박우목
+박춘현
+박판일
+박하경
+박우미
+박경자
+박동근
+박상수
+박우식
+박장순
+박중식
+박장호
+박운환
+박성권
+박영환
+박경호
+박원구
+박종수
+박용조
+박광석
+박원석
+박종민
+박정석
+박광수
+박원석
+박영조
+박선이
+박명미
+박원여
+박경조
+박영갑
+박수중
+박원이
+박상호
+박진모
+박의근
+박원종
+박강탁
+박지현
+박익술
+박원종
+박기호
+박영기
+박성라
+박원태
+박상철
+박호규
+박용홍
+박원학
+박일희
+박만순
+박정향
+박원회
+박철조
+박문형
+박중채
+박월남
+박영원
+박윤식
+박권학
+박월선
+박종태
+박정식
+박문순
+박월수
+박재식
+박경진
+박영열
+박위순
+박효영
+박운필
+박세동
+박위한
+박일규
+박용배
+박현식
+박유덕
+박 륜
+박인순
+박옥포
+박윤도
+박환기
+박기선
+박성주
+박윤락
+박일희
+박종수
+박현식
+박윤목
+박소순
+박복택
+박상선
+박윤수
+박재기
+박남정
+박태조
+박윤옥
+박진용
+박희진
+박성은
+박윤정
+박현준
+박동용
+박숙길
+박윤정
+박상선
+박금갑
+박영연
+박윤정
+박상노
+박재태
+박달주
+박윤준
+박효진
+박진암
+박진순
+박윤헌
+박원현
+박병문
+박태순
+박윤현
+박대호
+박채연
+박말선
+박윤환
+박노권
+박태균
+박정수
+박은경
+박말길
+박윤이
+박병돈
+박은교
+박영순
+박판철
+박한성
+박은동
+박선환
+박안주
+박순현
+박은수
+박순문
+박필순
+박달한
+박은수
+박태권
+박수길
+박한찬
+박은수
+박헌흔
+박용식
+박충준
+박은주
+박세순
+박태조
+박영국
+박은찬
+박분례
+박순동
+박해현
+박을선
+박정호
+박금순
+박광희
+박응모
+박원곤
+박인만
+박춘열
+박의인
+박옥부
+박부규
+박정일
+박이규
+박영극
+박재순
+박수조
+박이상
+박미남
+박판춘
+박기자
+박이술
+박성식
+박도태
+박공수
+박이형
+박태근
+박충술
+박윤혁
+박이호
+박효수
+박화조
+박수숙
+박이환
+박기철
+박근식
+박세태
+박익규
+박해수
+박상열
+박재채
+박인권
+박명수
+박주보
+박태식
+박인배
+박정수
+박계순
+박준희
+박인숙
+박정근
+박영남
+박천호
+박인순
+박수용
+박철택
+박양돌
+박인술
+박맹수
+박영애
+박상현
+박인식
+박원덕
+박수원
+박성택
+박인자
+박홍오
+박인달
+박호영
+박인철
+박수이
+박갑식
+박장우
+박인표
+박해진
+박도용
+박진원
+박인헌
+박병기
+박순조
+박해호
+박일권
+박연종
+박명순
+박대우
+박일권
+박매병
+박재용
+박창곤
+박일규
+박종치
+박우선
+박상교
+박일규
+박대만
+박인술
+박정규
+박일동
+박인배
+박우원
+박진석
+박일동
+박상배
+박천문
+박갑술
+박일명
+박해조
+박순철
+박주균
+박일병
+박점배
+박대만
+박충성
+박일봉
+박 남
+박정술
+박윤철
+박일석
+박민복
+박종장
+박옥주
+박일선
+박성조
+박상칠
+박성정
+박일용
+박진봉
+박종범
+박태덕
+박일헌
+박정석
+박관종
+박오돌
+박일호
+박진종
+박종희
+박진식
+박일화
+박병만
+박순호
+박해철
+박임극
+박경선
+박타수
+박대운
+박임원
+박부용
+박일범
+박상강
+박자동
+박도석
+박금성
+박지권
+박장길
+박장조
+박성화
+박태덕
+박장명
+박병석
+박상홍
+박준호
+박장출
+박봉선
+박수술
+박충원
+박장회
+박노학
+박경식
+박태현
+박장흠
+박의종
+박만흠
+박명자
+박재갑
+박주도
+박안헌
+박상재
+박재갑
+박욱현
+박판영
+박보흠
+박재경
+박재수
+박명경
+박무경
+박재경
+박금순
+박정완
+박종식
+박재경
+박득식
+박곡수
+박갑근
+박재곤
+박윤용
+박준열
+박성열
+박재관
+박정도
+박소청
+박병주
+박재권
+박영환
+박명규
+박우은
+박재규
+박경인
+박상주
+박재봉
+박재규
+박현조
+박천득
+박종영
+박재규
+박양호
+박동원
+박석규
+박재규
+박경호
+박준권
+박봉자
+박재규
+박일일
+박수연
+박길조
+박재근
+박증윤
+박헌식
+박용진
+박재근
+박규향
+박성현
+박수하
+박재금
+박동석
+박춘환
+박태생
+박재기
+박재수
+박충철
+박영근
+박재기
+박영현
+박성수
+박용갑
+박재기
+박은희
+박성석
+박종길
+박재노
+박영주
+박영호
+박희규
+박재동
+박계조
+박기화
+박태수
+박재두
+박영문
+박문막
+박귀호
+박재란
+박의구
+박옥자
+박선학
+박재리
+박언환
+박혜환
+박순섭
+박재림
+박성도
+박태태
+박승태
+박재만
+박정재
+박재지
+박순기
+박재명
+박소동
+박준건
+박락조
+박재복
+박판순
+박기묵
+박정진
+박재분
+박인재
+박윤희
+박종남
+박재상
+박삼식
+박상훈
+박휘환
+박재선
+박성자
+박노준
+박대기
+박재열
+박희래
+박재암
+박해영
+박재영
+박인조
+박용규
+박홍훈
+박재옥
+박운섭
+박건순
+박진모
+박재옥
+박귀현
+박철복
+박덕록
+박재완
+박동주
+박석희
+박태채
+박재완
+박영영
+박상갑
+박봉이
+박재용
+박강협
+박차건
+박병주
+박재운
+박성석
+박기근
+박미출
+박재원
+박권동
+박상례
+박명근
+박재원
+박태연
+박해상
+박외식
+박재윤
+박헌규
+박규웅
+박무상
+박재일
+박태현
+박홍길
+박호식
+박재일
+박종자
+박태기
+박필철
+박재진
+박항주
+박점식
+박기걸
+박재진
+박수희
+박재봉
+박봉식
+박재철
+박상주
+박인식
+박재복
+박재출
+박양태
+박상휴
+박의현
+박재학
+박원도
+박상일
+박홍현
+박재항
+박영원
+박우학
+박덕영
+박재현
+박기영
+박동중
+박태희
+박재현
+박진권
+박정문
+박용배
+박재현
+박문강
+박윤기
+박병연
+박재호
+박인원
+박병조
+박일현
+박재호
+박종삼
+박의해
+박재태
+박재호
+박우숙
+박규선
+박진대
+박재홍
+박말호
+박상석
+박귀배
+박재홍
+박태수
+박태복
+박진웅
+박재홍
+박두호
+박성호
+박영봉
+박재홍
+박술환
+박태영
+박기득
+박재환
+박철웅
+박재식
+박경로
+박재환
+박중운
+박창휴
+박진장
+박재환
+박용자
+박명원
+박은지
+박재환
+박중근
+박태철
+박우덕
+박재훈
+박우기
+박종환
+박영상
+박점동
+박석선
+박옥홍
+박정현
+박점보
+박창동
+박창완
+박구택
+박점수
+박점이
+박석수
+박억윤
+박점순
+박덕묵
+박창회
+박명현
+박점술
+박종덕
+박진선
+박형화
+박점술
+박화식
+박영명
+박광주
+박점식
+박병환
+박만호
+박차언
+박점용
+박두조
+박윤호
+박계재
+박점이
+박헌환
+박만조
+박헌숙
+박정국
+박준수
+박동규
+박을영
+박정규
+박우기
+박승문
+박경화
+박정기
+박부덕
+박명상
+박상숙
+박정기
+박묘원
+박영경
+박상경
+박정남
+박상현
+박영춘
+박재돌
+박정덕
+박종자
+박금열
+박영호
+박정덕
+박종남
+박재길
+박복수
+박정도
+박경수
+박성옥
+박연순
+박정도
+박동호
+박남기
+박태수
+박정동
+박학목
+박순분
+박인식
+박정득
+박선식
+박영자
+박순학
+박정례
+박삼호
+박태옥
+박주언
+박정배
+박대호
+박성헌
+박범재
+박정봉
+박광구
+박미수
+박문수
+박정부
+박재자
+박영선
+박수애
+박정성
+박희호
+박복문
+박영희
+박정수
+박동석
+박종배
+박병숙
+박정수
+박춘연
+박도규
+박선배
+박정수
+박성출
+박석식
+박월길
+박정수
+박승남
+박소원
+박수수
+박정수
+박기선
+박임익
+박상승
+박정수
+박용덕
+박용찬
+박석복
+박정순
+박관일
+박두조
+박임덕
+박정순
+박대남
+박재철
+박순식
+박정식
+박기일
+박월하
+박수하
+박정식
+박병우
+박금관
+박정곤
+박정실
+박상선
+박종원
+박병대
+박정애
+박국남
+박창길
+박병용
+박정연
+박필현
+박영중
+박재웅
+박정열
+박승순
+박영례
+박종호
+박정오
+박헌웅
+박인도
+박태돌
+박정용
+박영석
+박일용
+박주현
+박정용
+박춘철
+박득조
+박학규
+박정운
+박상출
+박석기
+박원춘
+박정운
+박낙학
+박주웅
+박병석
+박정일
+박겸갑
+박종동
+박양노
+박정임
+박동수
+박관수
+박경현
+박정자
+박상화
+박동수
+박천진
+박정자
+박욱순
+박 춘
+박사현
+박정자
+박기호
+박외석
+박윤조
+박정철
+박점하
+박수동
+박성식
+박정출
+박영학
+박선태
+박순출
+박정하
+박동욱
+박승희
+박혜조
+박정하
+박주기
+박석현
+박광록
+박정학
+박재석
+박영윤
+박주순
+박정한
+박노천
+박시대
+박영수
+박정향
+박 상
+박정현
+박병만
+박정헌
+박정만
+박희용
+박용호
+박정호
+박기근
+박영균
+박세식
+박정화
+박현이
+박한호
+박분진
+박정희
+박기렬
+박도식
+박상창
+박정희
+박향희
+박명호
+박판아
+박정희
+박해중
+박충옥
+박계술
+박제남
+박희환
+박오근
+박왕석
+박조이
+박이조
+박남득
+박임복
+박조이
+박용범
+박경환
+박진석
+박종걸
+박선수
+박보순
+박광봉
+박종국
+박주가
+박인도
+박광진
+박종권
+박태봉
+박난숙
+박상목
+박종규
+박계흥
+박상기
+박대용
+박종규
+박선화
+박세제
+박선열
+박종근
+박동식
+박기희
+박정호
+박종근
+박경철
+박연훈
+박종연
+박종근
+박병영
+박재배
+박정자
+박종기
+박대근
+박황호
+박정점
+박종길
+박남기
+박기숙
+박춘분
+박종달
+박재정
+박진출
+박맹수
+박종대
+박영경
+박종숙
+박계석
+박종득
+박용순
+박봉이
+박헌수
+박종락
+박희권
+박병율
+박경덕
+박종래
+박재노
+박재성
+박병섭
+박종민
+박태윤
+박환권
+박혜구
+박종민
+박원훈
+박옥현
+박상출
+박종복
+박경조
+박성영
+박병호
+박종상
+박영섭
+박용우
+박삼학
+박종석
+박용성
+박성래
+박재관
+박종석
+박 중
+박홍아
+박주근
+박종섭
+박병도
+박제선
+박경근
+박종섭
+박성조
+박삼수
+박재영
+박종수
+박동하
+박주봉
+박상규
+박종수
+박길화
+박정식
+박정순
+박종수
+박현정
+박도관
+박수희
+박종숙
+박진선
+박외포
+박병민
+박종순
+박해권
+박주수
+박동기
+박종순
+박영태
+박수섭
+박대찬
+박종술
+박해열
+박중우
+박용향
+박종식
+박복수
+박남용
+박태배
+박종식
+박건호
+박창우
+박쌍도
+박종식
+박정곤
+박병순
+박윤기
+박종식
+박영경
+박명삼
+박주식
+박종열
+박연술
+박희원
+박종호
+박종열
+박말환
+박덕조
+박태해
+박종영
+박종호
+박정임
+박관균
+박종오
+박순건
+박태철
+박창록
+박종오
+박광현
+박주열
+박희환
+박종옥
+박병철
+박용수
+박소석
+박종우
+박극관
+박민원
+박정수
+박종욱
+박근승
+박봉숙
+박수석
+박종원
+박사권
+박일출
+박판배
+박종원
+박문호
+박용기
+박금식
+박종율
+박삼성
+박봉락
+박미부
+박종인
+박성옥
+박재식
+박정기
+박종주
+박수학
+박종도
+박규복
+박종진
+박점환
+박일옥
+박득례
+박종진
+박판정
+박운용
+박남운
+박종철
+박상호
+박수균
+박상조
+박종한
+박규식
+박병희
+박성석
+박종호
+박명환
+박만수
+박상태
+박종호
+박성규
+박순식
+박계곤
+박종호
+박재용
+박상준
+박승원
+박종호
+박영규
+박복술
+박병채
+박종호
+박종석
+박희인
+박부임
+박종화
+박성현
+박길규
+박용성
+박종화
+박창만
+박병기
+박종준
+박종훈
+박임현
+박주호
+박판곤
+박종훈
+박병윤
+박동준
+박장기
+박종휘
+박경순
+박찬부
+박일수
+박종희
+박보영
+박칠주
+박영조
+박주관
+박덕호
+박상애
+박태애
+박주국
+박종순
+박도환
+박호복
+박주노
+박상석
+박상철
+박성도
+박주도
+박호수
+박기생
+박해영
+박주돌
+박신기
+박기걸
+박재식
+박주말
+박해운
+박창수
+박태일
+박주복
+박선연
+박제포
+박재학
+박주석
+박현숙
+박수택
+박규택
+박주성
+박계리
+박달기
+박만치
+박주수
+박복갑
+박용환
+박소호
+박주양
+박태용
+박정복
+박용길
+박주오
+박판조
+박귀만
+박성래
+박주완
+박호옥
+박희배
+박경로
+박주우
+박상곤
+박환련
+박상수
+박주원
+박승준
+박승선
+박정덕
+박주탁
+박효옥
+박윤섭
+박 근
+박주태
+박성도
+박영선
+박윤환
+박주택
+박영명
+박영규
+박상복
+박주팔
+박면돌
+박정연
+박영인
+박주해
+박병현
+박명수
+박미달
+박주현
+박주오
+박정만
+박성숙
+박주환
+박순화
+박용임
+박용조
+박준규
+박재연
+박병백
+박동한
+박준무
+박재석
+박달석
+박석형
+박준배
+박대식
+박해호
+박홍준
+박준석
+박성규
+박주호
+박수곤
+박준열
+박귀량
+박태언
+박재복
+박준용
+박석근
+박차술
+박두재
+박준태
+박양하
+박중수
+박옥석
+박준호
+박은년
+박학순
+박진주
+박준호
+박도시
+박순차
+박만경
+박중건
+박진식
+박갑훈
+박상식
+박중규
+박석립
+박용수
+박효수
+박중채
+박상우
+박성기
+박재선
+박지섭
+박연균
+박수암
+박병전
+박지수
+박상수
+박종호
+박선덕
+박지술
+박병수
+박중우
+박영옥
+박지옥
+박병유
+박영진
+박용조
+박지용
+박춘호
+박영천
+박근소
+박지용
+박종식
+박대섭
+박소식
+박지주
+박진식
+박영근
+박호영
+박지한
+박재환
+박춘선
+박삼주
+박지혁
+박윤주
+박길성
+박정자
+박지호
+박우길
+박익수
+박태출
+박지환
+박점도
+박정회
+박진숙
+박지훈
+박종철
+박규수
+박갑우
+박진규
+박성자
+박원헌
+박부곤
+박진규
+박수환
+박병식
+박재수
+박진부
+박길현
+박종탁
+박현자
+박진성
+박덕석
+박상식
+박인배
+박진성
+박무태
+박상웅
+박경환
+박진우
+박재종
+박병선
+박영용
+박진우
+박삼성
+박균명
+박동희
+박진철
+박수호
+박수화
+박병수
+박진헌
+박숙진
+박정자
+박찬열
+박진호
+박쌍태
+박연률
+박태호
+박진화
+박재운
+박상주
+박행윤
+박진환
+박성환
+박대남
+박기태
+박차근
+박묘곤
+박경이
+박상수
+박차만
+박정옥
+박숙동
+박정규
+박차봉
+박철승
+박재옥
+박범석
+박차수
+박현식
+박영선
+박주주
+박차임
+박원연
+박영식
+박해곤
+박차헌
+박선순
+박창환
+박용민
+박찬규
+박태관
+박정출
+박이희
+박찬동
+박쌍복
+박용숙
+박덕학
+박찬부
+박장우
+박재호
+박학국
+박찬수
+박종수
+박재동
+박상선
+박찬현
+박정수
+박석호
+박근봉
+박찬호
+박익영
+박창출
+박성관
+박찬호
+박희숙
+박순식
+박태희
+박찬훈
+박기판
+박강단
+박일석
+박창갑
+박진태
+박태식
+박정윤
+박창규
+박월흠
+박성식
+박용성
+박창규
+박종식
+박순고
+박봉만
+박창균
+박석열
+박재환
+박분성
+박창대
+박학영
+박태택
+박한건
+박창수
+박래수
+박경희
+박무환
+박창수
+박상학
+박인호
+박장택
+박창순
+박동수
+박원길
+박정계
+박창식
+박영주
+박순호
+박재재
+박창현
+박정준
+박성은
+박재자
+박창호
+박용욱
+박원환
+박순현
+박창호
+박동수
+박화규
+박성근
+박창호
+박준환
+박점순
+박판만
+박창호
+박상연
+박석순
+박종호
+박창환
+박정숙
+박옥선
+박영기
+박천덕
+박근기
+박기수
+박연훈
+박천섭
+박해철
+박왕하
+박사화
+박천수
+박영철
+박동향
+박중진
+박천후
+박성훈
+박삼윤
+박갑규
+박철규
+박한광
+박영배
+박은철
+박철규
+박범랑
+박상훈
+박효환
+박철수
+박재기
+박정우
+박영복
+박철우
+박주희
+박영훈
+박동수
+박철호
+박중태
+박태곤
+박미자
+박철호
+박규규
+박대훈
+박재진
+박철회
+박재홍
+박경섭
+박광숙
+박청이
+박권수
+박만상
+박복병
+박청회
+박종기
+박시문
+박증순
+박춘
+박병
+박순
+박두
+박춘경
+박점모
+박정란
+박소황
+박춘광
+박익준
+박정생
+박칠용
+박춘길
+박승서
+박덕수
+박영도
+박춘복
+박순영
+박성환
+박상만
+박춘선
+박무옥
+박노우
+박범근
+박춘수
+박덕명
+박대천
+박춘준
+박춘수
+박해훈
+박흥호
+박현미
+박춘식
+박중래
+박호섭
+박기계
+박춘영
+박석숙
+박종천
+박학환
+박춘영
+박진현
+박정선
+박병동
+박춘영
+박태호
+박상원
+박명경
+박춘일
+박상곤
+박상호
+박삼희
+박춘호
+박경도
+박용환
+박태재
+박춘화
+박태수
+박판용
+박기실
+박춘희
+박금운
+박쌍도
+박두철
+박충흠
+박성우
+박미균
+박중식
+박치숙
+박종선
+박순광
+박천수
+박칠문
+박창원
+박평무
+박경흠
+박칠용
+박만수
+박석수
+박한주
+박태경
+박병달
+박충용
+박재익
+박태곤
+박병돌
+박경찬
+박인양
+박태규
+박기순
+박종규
+박동연
+박태규
+박성희
+박 오
+박덕희
+박태규
+박병운
+박임연
+박복만
+박태균
+박광수
+박병근
+박을인
+박태근
+박소희
+박진목
+박재순
+박태근
+박정규
+박용진
+박대화
+박태동
+박용옥
+박진구
+박상자
+박태득
+박정암
+박재윤
+박종식
+박태림
+박충태
+박시호
+박봉분
+박태문
+박수조
+박승주
+박암선
+박태범
+박영미
+박희훈
+박상일
+박태봉
+박용래
+박종근
+박영근
+박태봉
+박명택
+박태철
+박진수
+박태상
+박찬부
+박금식
+박양순
+박태석
+박필수
+박성규
+박남환
+박태선
+박호식
+박해성
+박수호
+박태섭
+박재규
+박쾌선
+박낙출
+박태성
+박양태
+박재빈
+박원식
+박태성
+박상보
+박태식
+박영관
+박태수
+박상국
+박운근
+박영기
+박태수
+박봉택
+박건윤
+박우택
+박태순
+박환택
+박근수
+박상순
+박태식
+박영근
+박은용
+박일진
+박태식
+박종연
+박양재
+박학희
+박태암
+박우오
+박병복
+박소열
+박태연
+박풍이
+박만명
+박숙근
+박태영
+박시복
+박동술
+박경복
+박태영
+박원근
+박광련
+박정영
+박태완
+박성옥
+박규열
+박헌자
+박태용
+박영순
+박정채
+박명태
+박태우
+박광수
+박광경
+박규섭
+박태원
+박용영
+박차수
+박갑조
+박태윤
+박학식
+박대길
+박태택
+박태일
+박무식
+박영만
+박준수
+박태정
+박삼순
+박수현
+박희임
+박태주
+박상호
+박용형
+박성선
+박태주
+박정경
+박길순
+박효환
+박태철
+박영이
+박월호
+박진수
+박태학
+박정술
+박남진
+박혜조
+박태헌
+박정문
+박해국
+박연순
+박태현
+박동수
+박수영
+박을현
+박태형
+박석호
+박병근
+박무선
+박태호
+박기기
+박경섭
+박용수
+박태호
+박익봉
+박종조
+박진기
+박태호
+박임록
+박종춘
+박차현
+박태홍
+박헌태
+박병진
+박재선
+박태화
+박남금
+박영정
+박길훈
+박태환
+박종주
+박주우
+박송철
+박태회
+박정순
+박동권
+박주영
+박태훈
+박재숙
+박영상
+박설길
+박판고
+박정권
+박순숙
+박효근
+박판근
+박명식
+박종대
+박욱동
+박판덕
+박태만
+박영호
+박옥이
+박판도
+박종수
+박수수
+박종식
+박판석
+박연권
+박삼호
+박정익
+박판출
+박성랑
+박기호
+박성식
+박판헌
+박영주
+박보고
+박수석
+박팔수
+박종수
+박구택
+박문주
+박풍언
+박화연
+박수규
+박희준
+박하경
+박무식
+박희란
+박경이
+박학서
+박태용
+박동봉
+박윤우
+박한규
+박묘원
+박철은
+박신석
+박한기
+박철식
+박태식
+박근배
+박한수
+박부근
+박병규
+박정호
+박한조
+박재환
+박선갑
+박장삼
+박항치
+박달순
+박성용
+박채옥
+박해규
+박효옥
+박수기
+박용훈
+박해도
+박춘강
+박석식
+박성호
+박해도
+박태식
+박희기
+박춘노
+박해동
+박봉현
+박광기
+박순기
+박해동
+박신규
+박연연
+박정왕
+박해동
+박정삼
+박정환
+박인석
+박해룡
+박길섭
+박성순
+박귀봉
+박해룡
+박병수
+박성상
+박수구
+박해붕
+박분영
+박상선
+박유연
+박해석
+박자순
+박구자
+박봉수
+박해성
+박규수
+박후연
+박영수
+박해자
+박정구
+박기재
+박영동
+박해조
+박도숙
+박상이
+박상용
+박향연
+박면기
+박삼환
+박동용
+박헌규
+박성회
+박태운
+박정길
+박헌덕
+박순수
+박명삼
+박병한
+박헌원
+박점선
+박근남
+박창천
+박현민
+박갑봉
+박영택
+박상조
+박현섭
+박재선
+박병식
+박양수
+박현섭
+박금선
+박성수
+박기홍
+박현수
+박인순
+박갑환
+박현갑
+박현수
+박회진
+박광련
+박옥도
+박현수
+박인도
+박기열
+박학기
+박현숙
+박태영
+박복우
+박승도
+박현신
+박봉홍
+박영웅
+박승열
+박현업
+박기헌
+박은자
+박영순
+박현우
+박규계
+박홍규
+박종호
+박현주
+박태강
+박중근
+박진수
+박현채
+박일영
+박수규
+박계제
+박현태
+박순성
+박재탁
+박동열
+박현환
+박영기
+박병동
+박동분
+박형래
+박해원
+박차옥
+박기향
+박형서
+박영희
+박영조
+박원홍
+박형재
+박형자
+박병해
+박희영
+박혜자
+박봉순
+박철숙
+박분용
+박호규
+박옥구
+박상문
+박삼순
+박호근
+박영율
+박종섭
+박영구
+박호동
+박갑영
+박규조
+박정태
+박호봉
+박상환
+박종식
+박태암
+박호석
+박한식
+박성갑
+박효남
+박호정
+박창암
+박동종
+박명선
+박호진
+박옥주
+박재수
+박덕철
+박호춘
+박경만
+박장이
+박상원
+박홍근
+박동수
+박찬기
+박달태
+박홍길
+박경영
+박용필
+박화순
+박홍동
+박귀선
+박위철
+박순우
+박홍묵
+박소미
+박영익
+박복규
+박홍빈
+박인준
+박태균
+박삼선
+박환열
+박성환
+박광구
+박성재
+박환이
+박영숙
+박미헌
+박명야
+박황경
+박무우
+박택호
+박용윤
+박회근
+박춘택
+박선금
+박구길
+박효규
+박상술
+박말호
+박대식
+박효종
+박덕례
+박진상
+박병규
+박휘삼
+박진옥
+박옥원
+박상순
+박희동
+박수동
+박순섭
+박영호
+박희복
+박갑난
+박영현
+박일헌
+박희상
+박홍도
+박재현
+박시제
+박희석
+박병성
+박광식
+박종재
+박희성
+박성련
+박정문
+박재세
+박희성
+박광금
+박대돌
+박봉환
+박희송
+박선범
+박량철
+박재국
+박희연
+박민덕
+박두호
+박성동
+박희열
+박동석
+박태재
+박경철
+박희장
+박종란
+박옥권
+박덕치
+박희진
+박수규
+박성걸
+박상상
+박희채
+박갑원
+박종갑
+박기근
+박희철
+박성래
+박성복
+박겸환
+박희철
+박 봉
+박재현
+박종화
+박희태
+박창남
+박길기
+박대용
+방 길
+방일형
+방태제
+방용업
+방경조
+방돈수
+방옥중
+방자섭
+방길정
+방시현
+방건해
+방승화
+방덕준
+방옥이
+방수용
+방태조
+방미정
+방인화
+방인식
+방순호
+방병섭
+방종영
+방병정
+방옥수
+방상곤
+방영식
+방경환
+방오연
+방승규
+방재수
+방상원
+방상운
+방신선
+방선자
+방갑도
+방상구
+방영균
+방임순
+방상우
+방병수
+방영대
+방호창
+방종택
+방재순
+방영익
+방낙묘
+방정연
+방노호
+방옥금
+방영관
+방대술
+방영도
+방원제
+방승재
+방현헌
+방한성
+방윤선
+방상노
+방광출
+방을덕
+방윤조
+방칠선
+방항자
+방점희
+방점순
+방상웅
+방중애
+방병언
+방점연
+방정인
+방성웅
+방주규
+방정순
+방기자
+방우수
+방상선
+방종기
+방기남
+방주열
+방재순
+방주남
+방판구
+방차하
+방도우
+방태훈
+방상수
+방영수
+방경석
+방한정
+방무봉
+방지동
+방부일
+방한정
+방억선
+방응실
+방말완
+배 용
+배성호
+배석오
+배태준
+배갑덕
+배윤호
+배병분
+배병현
+배갑석
+배석조
+배종규
+배종훈
+배경륜
+배종출
+배옥순
+배종규
+배경병
+배상이
+배용학
+배용주
+배경열
+배해철
+배수준
+배강순
+배경호
+배현영
+배정이
+배태한
+배계술
+배종자
+배세수
+배영복
+배관호
+배원만
+배윤주
+배기구
+배광수
+배재택
+배일분
+배성학
+배교문
+배헌수
+배윤근
+배만식
+배국리
+배미배
+배영환
+배수우
+배권식
+배재암
+배태호
+배정호
+배권향
+배성고
+배종헌
+배상덕
+배귀선
+배길영
+배영덕
+배영수
+배규환
+배호식
+배해찬
+배용섭
+배근옥
+배영상
+배영순
+배호근
+배근호
+배하원
+배문섭
+배종호
+배금순
+배세웅
+배영점
+배명희
+배금악
+배한선
+배은개
+배영득
+배기봉
+배태기
+배진범
+배성주
+배기분
+배헌지
+배재수
+배해욱
+배기서
+배기순
+배상규
+배준철
+배기효
+배영태
+배학기
+배분환
+배길환
+배홍상
+배이준
+배승용
+배낙포
+배정현
+배성화
+배병동
+배남조
+배명석
+배근이
+배헌미
+배남희
+배병길
+배광철
+배을근
+배달권
+배사기
+배지재
+배순옥
+배대식
+배영기
+배경식
+배용술
+배대호
+배성숙
+배원순
+배종웅
+배덕문
+배영성
+배영용
+배종열
+배덕문
+배윤태
+배수국
+배재수
+배덕석
+배종배
+배진이
+배중기
+배덕수
+배복흠
+배자갑
+배영용
+배덕재
+배근환
+배종석
+배기자
+배도연
+배상환
+배동석
+배영종
+배도연
+배수규
+배말연
+배분일
+배동수
+배병자
+배태현
+배일곤
+배동언
+배정자
+배흥희
+배순삼
+배동훈
+배기상
+배용철
+배재행
+배만권
+배상철
+배의익
+배재일
+배만식
+배춘이
+배순춘
+배영래
+배만실
+배남용
+배원철
+배태일
+배만영
+배무연
+배수근
+배윤철
+배만현
+배기홍
+배미덕
+배홍자
+배말만
+배혜무
+배정희
+배갑호
+배말만
+배병련
+배순용
+배성태
+배말식
+배석택
+배기규
+배현수
+배무길
+배영윤
+배계숙
+배영우
+배무성
+배칠근
+배세섭
+배기수
+배무흠
+배한순
+배해보
+배윤현
+배문자
+배진희
+배경춘
+배순동
+배문호
+배재덕
+배영수
+배재환
+배문휴
+배성하
+배화숙
+배선기
+배범용
+배동수
+배문관
+배현식
+배병국
+배기혜
+배헌희
+배창남
+배병원
+배병식
+배면열
+배영술
+배병제
+배정희
+배금문
+배옥출
+배병하
+배계규
+배영옥
+배외옥
+배병해
+배은도
+배복웅
+배혜운
+배보근
+배석조
+배경연
+배상근
+배복순
+배성조
+배영창
+배희룡
+배봉금
+배말진
+배중술
+배민학
+배봉석
+배오욱
+배필진
+배문호
+배봉용
+배승흠
+배진섭
+배영한
+배봉조
+배복한
+배충성
+배성오
+배봉현
+배재선
+배진월
+배무애
+배봉호
+배재욱
+배만종
+배천표
+배분란
+배종원
+배해식
+배대관
+배분주
+배영화
+배미덕
+배종자
+배삼식
+배영식
+배동욱
+배임기
+배삼환
+배규식
+배갑지
+배재덕
+배상권
+배행수
+배춘옥
+배순득
+배상규
+배길식
+배남조
+배한철
+배상길
+배중래
+배형우
+배소홍
+배상길
+배재연
+배동식
+배흥결
+배상길
+배병구
+배강래
+배태근
+배상대
+배병연
+배준태
+배학길
+배상모
+배만화
+배진호
+배운구
+배상봉
+배차철
+배성용
+배재호
+배상봉
+배미조
+배수송
+배기식
+배상술
+배성식
+배점성
+배남연
+배상열
+배주암
+배수회
+배명옥
+배상용
+배기일
+배분부
+배재한
+배상일
+배규균
+배상수
+배종수
+배상종
+배 천
+배경득
+배기선
+배상창
+배채우
+배갑석
+배상태
+배상한
+배정태
+배상래
+배현순
+배상현
+배주순
+배선목
+배부길
+배상현
+배상수
+배재경
+배종동
+배상호
+배애자
+배재숙
+배애환
+배상훈
+배판운
+배오학
+배주호
+배상희
+배오조
+배길윤
+배응수
+배석문
+배귀성
+배기식
+배종도
+배석암
+배중철
+배태숙
+배원우
+배석출
+배경완
+배성태
+배은일
+배선용
+배난석
+배철원
+배영준
+배선정
+배동순
+배미호
+배인요
+배선호
+배일식
+배질환
+배청영
+배성록
+배황남
+배창곤
+배성군
+배성범
+배학숙
+배용화
+배수규
+배성우
+배종수
+배갑경
+배운우
+배성욱
+배광석
+배항한
+배미건
+배성조
+배기암
+배덕호
+배만빈
+배성태
+배홍관
+배철자
+배귀조
+배성한
+배복준
+배동애
+배유식
+배성혜
+배용현
+배강숙
+배덕복
+배세열
+배성구
+배경택
+배영국
+배소복
+배승원
+배경배
+배경석
+배소순
+배병영
+배창희
+배준섭
+배수광
+배 종
+배판석
+배병성
+배수규
+배순화
+배외상
+배기갑
+배수자
+배영정
+배태용
+배동도
+배수정
+배한수
+배술준
+배명용
+배수현
+배수호
+배흥정
+배재순
+배수호
+배남문
+배난희
+배광모
+배숙환
+배순수
+배영수
+배명도
+배순덕
+배제암
+배나환
+배성호
+배순석
+배순규
+배현호
+배종학
+배순연
+배말종
+배진외
+배남용
+배순옥
+배해호
+배영식
+배상선
+배순태
+배수출
+배정운
+배영규
+배순흠
+배차영
+배선호
+배근주
+배술홍
+배상갑
+배병근
+배홍술
+배신국
+배을진
+배상희
+배교선
+배신호
+배종환
+배성호
+배양대
+배쌍식
+배광용
+배민호
+배삼란
+배암이
+배달조
+배종선
+배보태
+배영기
+배해기
+배유주
+배상현
+배영기
+배종기
+배병선
+배연순
+배영길
+배재홍
+배명치
+배래현
+배영대
+배교수
+배행식
+배병호
+배영도
+배석상
+배두기
+배귀우
+배영문
+배증석
+배봉연
+배병우
+배영문
+배임주
+배기원
+배태화
+배영백
+배기치
+배용순
+배제수
+배영석
+배수동
+배상현
+배희자
+배영섭
+배성진
+배상주
+배수권
+배영수
+배칠희
+배윤춘
+배영국
+배영식
+배영환
+배광택
+배광식
+배영실
+배윤래
+배병동
+배용숙
+배영옥
+배전교
+배학희
+배태순
+배영원
+배을덕
+배광운
+배제동
+배영율
+배 자
+배재효
+배동남
+배영조
+배선국
+배희옥
+배용식
+배영조
+배종정
+배영기
+배순동
+배영준
+배동만
+배용태
+배창복
+배영태
+배달환
+배정호
+배영희
+배영필
+배상술
+배창자
+배상대
+배영호
+배춘자
+배성룡
+배윤현
+배영호
+배백찬
+배무곤
+배영성
+배영환
+배갑식
+배정구
+배덕태
+배옥순
+배창량
+배정길
+배무수
+배옥자
+배대현
+배선영
+배현수
+배옥종
+배정윤
+배형순
+배해식
+배용기
+배효빈
+배점주
+배진수
+배용득
+배금수
+배오근
+배한성
+배용순
+배명선
+배판금
+배대범
+배용술
+배정오
+배상원
+배순환
+배용식
+배용현
+배계성
+배사호
+배용식
+배대일
+배선갑
+배한만
+배용암
+배도록
+배의순
+배판주
+배용진
+배수희
+배경익
+배동성
+배용택
+배병순
+배지재
+배한금
+배용헌
+배은희
+배교정
+배찬철
+배용호
+배천영
+배실수
+배정수
+배우원
+배덕수
+배성선
+배진수
+배욱기
+배일점
+배한지
+배소태
+배원분
+배소기
+배숙조
+배춘수
+배원석
+배호성
+배창균
+배쌍현
+배원표
+배찬조
+배수준
+배선임
+배원호
+배인우
+배작식
+배종수
+배원환
+배순기
+배홍분
+배학수
+배원희
+배경이
+배창희
+배인후
+배윤섭
+배태건
+배귀석
+배한배
+배윤종
+배말익
+배구남
+배두정
+배윤진
+배정희
+배언웅
+배옥억
+배윤천
+배정수
+배영관
+배기란
+배윤표
+배종호
+배수윤
+배복근
+배윤한
+배태강
+배종례
+배병식
+배을봉
+배호웅
+배정태
+배홍혜
+배을선
+배재대
+배경호
+배찬구
+배음연
+배인수
+배은진
+배용섭
+배응원
+배영선
+배성선
+배태출
+배의표
+배우요
+배유근
+배지문
+배의표
+배현희
+배은섭
+배해봉
+배의표
+배영암
+배춘경
+배상려
+배이화
+배성환
+배헌훈
+배금말
+배인기
+배기운
+배명연
+배명동
+배인호
+배명곤
+배종년
+배기열
+배일경
+배종달
+배송근
+배광수
+배일권
+배문조
+배명규
+배종기
+배일선
+배경래
+배극옥
+배영만
+배일현
+배수희
+배철현
+배종주
+배일현
+배원배
+배명자
+배기관
+배일화
+배재근
+배동암
+배종현
+배일환
+배장림
+배병호
+배순선
+배임도
+배영계
+배헌화
+배춘교
+배임도
+배재순
+배채석
+배근섭
+배임순
+배세식
+배강식
+배영금
+배장수
+배신우
+배양기
+배미옥
+배장호
+배종현
+배경수
+배말직
+배장호
+배홍봉
+배두진
+배규열
+배재관
+배병종
+배종진
+배희배
+배재권
+배노시
+배명원
+배수흠
+배재규
+배득율
+배현구
+배양봉
+배재년
+배판수
+배진선
+배덕임
+배재덕
+배차만
+배용식
+배동수
+배재만
+배태성
+배재조
+배세택
+배재봉
+배수오
+배종호
+배성봉
+배재상
+배수수
+배선량
+배종조
+배재수
+배달우
+배돈필
+배수동
+배재영
+배성포
+배철자
+배영만
+배재윤
+배준재
+배준항
+배영훈
+배재은
+배상남
+배규용
+배광영
+배재익
+배영식
+배세현
+배을훈
+배재흥
+배도열
+배성영
+배정식
+배점복
+배태영
+배승수
+배학용
+배점선
+배동암
+배두춘
+배귀년
+배점표
+배정용
+배노수
+배명만
+배정갑
+배영이
+배기현
+배동자
+배정길
+배소복
+배진식
+배성영
+배정도
+배미형
+배장수
+배영암
+배정수
+배길보
+배정태
+배종배
+배정식
+배말광
+배춘구
+배달원
+배정웅
+배응용
+배원준
+배금원
+배정원
+배갑길
+배진화
+배홍용
+배정제
+배경팔
+배명현
+배래석
+배정태
+배창경
+배경권
+배원기
+배정한
+배대현
+배청배
+배헌오
+배정환
+배수영
+배규근
+배명오
+배정희
+배정현
+배영환
+배장선
+배종만
+배삼규
+배세용
+배태술
+배종식
+배병애
+배경술
+배차국
+배종욱
+배홍수
+배기식
+배종여
+배종철
+배현섭
+배경오
+배종자
+배종화
+배덕식
+배종호
+배임규
+배종희
+배태도
+배상열
+배교봉
+배주한
+배만수
+배원기
+배운원
+배준근
+배오용
+배효재
+배원악
+배준호
+배지식
+배태웅
+배순경
+배중호
+배영환
+배선훈
+배성수
+배진동
+배차수
+배성학
+배경현
+배진영
+배주맹
+배상섭
+배석자
+배차문
+배일석
+배갑호
+배자기
+배창대
+배지해
+배규수
+배선균
+배창수
+배성수
+배말화
+배금규
+배창식
+배정순
+배쌍상
+배오열
+배창욱
+배달용
+배옥암
+배경열
+배창인
+배종오
+배귀수
+배병조
+배창호
+배호식
+배정돌
+배용용
+배창호
+배정희
+배성용
+배을현
+배천범
+배달근
+배종준
+배종대
+배칠진
+배영근
+배재중
+배인호
+배칠환
+배도철
+배의열
+배재현
+배태곤
+배사금
+배숙수
+배태호
+배태만
+배상호
+배준호
+배송남
+배태명
+배종태
+배인윤
+배귀영
+배태석
+배일자
+배재원
+배세권
+배태연
+배효철
+배성환
+배경희
+배태자
+배재심
+배병한
+배종곤
+배태현
+배래호
+배동수
+배을혹
+배태호
+배해자
+배영희
+배우순
+배태호
+배상수
+배광규
+배재희
+배태환
+배진일
+배장환
+배갑선
+배판식
+배덕언
+배문남
+배종열
+배판이
+배정숙
+배병암
+배차원
+배필남
+배성계
+배경기
+배정현
+배필련
+배헌식
+배성익
+배수준
+배필연
+배학근
+배기문
+배미생
+배하영
+배미호
+배태욱
+배정식
+배하영
+배승철
+배상숙
+배순득
+배하현
+배정부
+배대남
+배재희
+배학돌
+배영하
+배백태
+배태희
+배학식
+배공교
+배윤영
+배외순
+배한모
+배학근
+배옥환
+배삼수
+배한모
+배성화
+배영순
+배성권
+배한조
+배수종
+배병희
+배건현
+배해만
+배중순
+배현룡
+배성희
+배해석
+배원휘
+배기성
+배좌호
+배해성
+배성화
+배영열
+배상구
+배해술
+배중곤
+배건희
+배남휴
+배현순
+배운근
+배다권
+배태문
+배형한
+배임치
+배현자
+배덕홍
+배혜숙
+배영휴
+배대석
+배점조
+배호경
+배대원
+배태철
+배정운
+배호권
+배달주
+배창식
+배주원
+배호조
+배점이
+배성주
+배병희
+배호진
+배무형
+배무곤
+배기영
+배홍대
+배석석
+배종근
+배대출
+배홍덕
+배종조
+배노수
+배상국
+배홍열
+배세호
+배정호
+배병연
+배홍탁
+배수광
+배용륜
+배종근
+배효욱
+배수현
+배홍근
+배광남
+배효원
+배영술
+배문수
+배정학
+배효원
+배용규
+배성숙
+배태휘
+배효주
+배정이
+배태상
+배정기
+백 석
+백수희
+백재균
+백영출
+백갑흠
+백해희
+백재희
+백성현
+백경림
+백희길
+백정준
+백광익
+백경순
+백경출
+백민순
+백정산
+백경철
+백성백
+백인임
+백준우
+백광수
+백중선
+백홍균
+백의복
+백광웅
+백회도
+백용식
+백주희
+백광일
+백기식
+백소길
+백규희
+백광전
+백본재
+백의준
+백성식
+백권욱
+백경순
+백상철
+백홍석
+백근호
+백금열
+백정환
+백을호
+백기조
+백운근
+백순덕
+백해환
+백기태
+백덕준
+백무주
+백덕분
+백길선
+백경호
+백재섭
+백경환
+백남룡
+백석성
+백진만
+백순성
+백남석
+백문선
+백외율
+백재열
+백남수
+백대자
+백교태
+백규식
+백남진
+백일세
+백 호
+백성기
+백노수
+백무무
+백호숙
+백금완
+백대학
+백술원
+백상현
+백환암
+백대현
+백주문
+백두출
+백도문
+백대호
+백영용
+백점철
+백용철
+백도봉
+백기명
+백태출
+백명호
+백동술
+백현분
+백정희
+백태조
+백동제
+백주열
+백의택
+백판식
+백동제
+백용운
+백천식
+백연왕
+백두재
+백성근
+백경교
+백용준
+백두현
+백상억
+백성규
+백일심
+백두현
+백홍기
+백판택
+백복덕
+백두현
+백덕수
+백영복
+백신옥
+백두현
+백동문
+백상기
+백영선
+백만기
+백주환
+백 호
+백점용
+백만대
+백정현
+백종영
+백형균
+백말수
+백질현
+백관환
+백정옥
+백매향
+백경숙
+백득현
+백희석
+백명수
+백영락
+백윤락
+백종환
+백명현
+백동서
+백은술
+백일호
+백몽련
+백순식
+백명준
+백범기
+백무갑
+백 현
+백은춘
+백차대
+백무용
+백달석
+백헌수
+백삼임
+백무조
+백기희
+백성훈
+백중희
+백문만
+백상기
+백육은
+백재수
+백문상
+백두순
+백숙덕
+백주영
+백문현
+백근태
+백복정
+백봉원
+백민숙
+백진식
+백창중
+백경현
+백방기
+백 원
+백영희
+백경치
+백보배
+백영식
+백뇌삼
+백한상
+백보현
+백이호
+백영훈
+백무식
+백복기
+백현탁
+백형화
+백청호
+백복순
+백기조
+백영환
+백민만
+백봉문
+백상연
+백광기
+백태업
+백부임
+백호식
+백성남
+백석훈
+백사강
+백지영
+백광태
+백근호
+백삼수
+백정례
+백재우
+백두진
+백상결
+백재웅
+백경치
+백성채
+백상덕
+백동숙
+백종규
+백근연
+백석도
+백성봉
+백재식
+백영희
+백석자
+백원영
+백귀호
+백성덕
+백석준
+백규진
+백재정
+백성국
+백석진
+백태연
+백영찬
+백찬복
+백선현
+백재향
+백장수
+백창철
+백성국
+백영오
+백국용
+백구정
+백성권
+백창규
+백아호
+백석길
+백성기
+백갑덕
+백선호
+백은돌
+백성기
+백태림
+백신호
+백국진
+백소돌
+백경순
+백삼재
+백위규
+백소부
+백정달
+백용호
+백판재
+백소수
+백태학
+백판훈
+백학만
+백소웅
+백성환
+백종조
+백판국
+백소조
+백달경
+백동수
+백용원
+백송학
+백세조
+백봉균
+백준암
+백수정
+백종용
+백봉춘
+백범상
+백수창
+백태기
+백삼노
+백기호
+백숙자
+백용수
+백옥조
+백상호
+백순덕
+백종석
+백사임
+백황옥
+백순선
+백기문
+백창득
+백혁준
+백순옥
+백명원
+백문수
+백정자
+백순태
+백상출
+백성균
+백기건
+백승규
+백동수
+백성석
+백옥성
+백승덕
+백해환
+백용규
+백병하
+백승로
+백동길
+백명천
+백순희
+백승만
+백정영
+백정식
+백규수
+백승열
+백철찬
+백중우
+백소순
+백승욱
+백미수
+백술근
+백용광
+백승태
+백점원
+백정수
+백성길
+백승태
+백영철
+백영구
+백정효
+백승택
+백은극
+백종선
+백덕한
+백영규
+백영영
+백규술
+백영태
+백영규
+백흥의
+백수률
+백영홍
+백영기
+백석수
+백영환
+백기수
+백영배
+백칠순
+백만오
+백재오
+백영수
+백순익
+백도근
+백명주
+백영수
+백상건
+백남배
+백종길
+백영식
+백광출
+백일준
+백 명
+백영주
+백화우
+백홍자
+백용보
+백영준
+백옥수
+백손철
+백진규
+백영철
+백재도
+백대태
+백춘조
+백영춘
+백운국
+백재태
+백운선
+백영호
+백병원
+백기효
+백판동
+백영호
+백상호
+백영권
+백종주
+백영호
+백제동
+백순환
+백영한
+백영호
+백근조
+백종근
+백교자
+백영희
+백상기
+백규궁
+백봉순
+백옥란
+백문자
+백환희
+백동진
+백욱용
+백연수
+백중억
+백재희
+백운로
+백성종
+백윤순
+백성문
+백운우
+백청중
+백성용
+백소진
+백운우
+백정식
+백주조
+백종필
+백운철
+백노이
+백봉월
+백태수
+백운태
+백한연
+백질대
+백성치
+백운학
+백양대
+백규용
+백분숙
+백운호
+백재곤
+백삼식
+백영범
+백웅열
+백태권
+백정수
+백병경
+백원기
+백재태
+백응환
+백종국
+백원치
+백재희
+백승향
+백의술
+백유분
+백환수
+백소현
+백진현
+백윤식
+백상순
+백재종
+백중숙
+백윤철
+백상복
+백영춘
+백재순
+백윤철
+백재식
+백창호
+백광련
+백윤현
+백지락
+백정열
+백수준
+백은식
+백원모
+백태용
+백종수
+백인길
+백영수
+백기연
+백복곤
+백인석
+백영길
+백삼조
+백석덕
+백인찬
+백계술
+백의호
+백순임
+백인현
+백정식
+백선윤
+백성환
+백인흠
+백순연
+백용모
+백재우
+백일기
+백순복
+백봉순
+백은희
+백일현
+백용환
+백태환
+백의용
+백장개
+백기동
+백재운
+백정길
+백재봉
+백판숙
+백제화
+백규수
+백재선
+백태택
+백분성
+백종기
+백재현
+백학윤
+백태윤
+백곤수
+백재호
+백재곤
+백송옥
+백준남
+백재호
+백창정
+백학진
+백금성
+백전태
+백동용
+백성길
+백성자
+백점봉
+백학원
+백재식
+백두경
+백점수
+백희구
+백규선
+백순태
+백점수
+백 춘
+백해균
+백임진
+백정덕
+백정소
+백태균
+백종현
+백정영
+백병용
+백정궁
+백점균
+백정영
+백정준
+백태식
+백재구
+백정용
+백병구
+백석완
+백만구
+백정종
+백필표
+백영근
+백종조
+백정현
+백정태
+백태문
+백웅우
+백정환
+백윤수
+백낙출
+백갑대
+백정희
+백성봉
+백기홍
+백기수
+백종계
+백칠희
+백경식
+백만수
+백종기
+백영대
+백영환
+백규자
+백종철
+백성고
+백경영
+백종술
+백진웅
+백도윤
+백봉식
+백철준
+백창기
+백인학
+백재규
+백제의
+백청운
+백상기
+백옥식
+백인재
+백춘기
+백항훈
+백무석
+백순재
+백태욱
+백순창
+백성이
+백본문
+백태종
+백연록
+백현종
+백숙치
+백태진
+백소광
+백병준
+백구희
+백태현
+백병진
+백근진
+백재연
+백태호
+백수석
+백만필
+백봉헌
+백학기
+백영태
+백수관
+백진팔
+백학수
+백옥란
+백종상
+백만진
+백한권
+백충화
+백은갑
+백영순
+백현우
+백경봉
+백임수
+백종세
+백현학
+백분웅
+백월도
+백 순
+백현학
+백상수
+백인례
+백상익
+백현학
+백영식
+백태식
+백상희
+백형도
+백순임
+백재준
+백구자
+백형일
+백주찬
+백경원
+백복근
+백호현
+백광숙
+백규연
+백영일
+백화숙
+백기숙
+백종영
+백사록
+변갑조
+변창영
+변택선
+변동업
+변경식
+변주기
+변용희
+변창갑
+변금순
+변재분
+변남숙
+변상호
+변동필
+변중석
+변신원
+변정동
+변동해
+변병균
+변원출
+변 한
+변명근
+변덕열
+변영한
+변시동
+변사룡
+변용재
+변보술
+변민림
+변상근
+변양문
+변병덕
+변주옥
+변성수
+변홍순
+변교열
+변주웅
+변성원
+변영준
+변수암
+변광희
+변순여
+변영식
+변병종
+변태종
+변오식
+변문갑
+변준휴
+변창수
+변용식
+변춘목
+변달옥
+변병수
+변용진
+변경유
+변영현
+변경구
+변위식
+변성섭
+변병화
+변준용
+변윤식
+변광조
+변정수
+변석태
+변은식
+변순식
+변학원
+변복웅
+변이규
+변충숙
+변석선
+변성옥
+변장우
+변명윤
+변태희
+변필택
+변재곤
+변정원
+변성식
+변상조
+변종봉
+변상환
+변병룡
+변옥권
+변종식
+변상권
+변성내
+변정남
+변찬기
+변주희
+변정억
+변태소
+변창혁
+변대일
+변은권
+변명영
+변철우
+변태용
+변창수
+변중술
+변철우
+변영향
+변명이
+변종용
+변태수
+변재화
+변권우
+변창구
+변판규
+변명택
+변학현
+변대권
+변호현
+변용걸
+변경훈
+변태국
+변화자
+변소연
+변대우
+변권수
+변환규
+변인수
+변훈근
+변영웅
+빈욱출
+빈관훈
+빈해승
+빈명우
+빈종욱
+빈천암
+빈석석
+빈돈순
+빈춘옥
+빈용열
+빈중복
+빈선생
+사복환
+사정숙
+사은학
+사병오
+상정균
+상기자
+상정해
+상효석
+서갑문
+서문숙
+서세우
+서성세
+서갑수
+서죽오
+서점달
+서일균
+서갑수
+서기환
+서동조
+서광열
+서경규
+서수달
+서옥용
+서남호
+서경규
+서판섭
+서진경
+서신희
+서경규
+서경철
+서상준
+서종호
+서경석
+서은숙
+서덕영
+서재희
+서경수
+서상환
+서찬교
+서준곤
+서경숙
+서경오
+서달순
+서천문
+서경암
+서병래
+서윤인
+서두학
+서경점
+서언섭
+서영기
+서영규
+서경화
+서해암
+서학학
+서석배
+서경희
+서재헌
+서순이
+서동선
+서경희
+서운섭
+서복복
+서상구
+서경희
+서동근
+서종건
+서후원
+서계석
+서덕한
+서수현
+서해웅
+서곡지
+서명국
+서두태
+서정채
+서광식
+서찬재
+서준길
+서윤우
+서광악
+서옥재
+서재만
+서이국
+서광언
+서신운
+서차우
+서두자
+서광택
+서태숙
+서상영
+서상규
+서교욱
+서진점
+서광희
+서양선
+서교희
+서선균
+서승표
+서종명
+서교희
+서영범
+서병영
+서영원
+서구석
+서형순
+서병이
+서봉기
+서근호
+서현문
+서수열
+서완철
+서금이
+서정입
+서병화
+서석동
+서남숙
+서태선
+서계술
+서득석
+서남조
+서남태
+서우숙
+서태덕
+서다임
+서병윤
+서차수
+서규문
+서달선
+서영기
+서규영
+서기준
+서대경
+서정성
+서강숙
+서석석
+서대관
+서길연
+서해기
+서정구
+서대환
+서영숙
+서수표
+서병록
+서덕선
+서원만
+서형탁
+서삼순
+서동덕
+서석근
+서재열
+서명희
+서동수
+서연연
+서신동
+서형호
+서동수
+서윤선
+서기용
+서명근
+서동재
+서광호
+서암완
+서택민
+서동준
+서경길
+서태환
+서해규
+서동훈
+서갑식
+서병숙
+서창조
+서두선
+서순고
+서 섭
+서시순
+서말도
+서원남
+서병열
+서현호
+서말선
+서교복
+서무수
+서규용
+서맹수
+서기선
+서태기
+서원술
+서명곤
+서광곤
+서원식
+서은현
+서명교
+서인원
+서용옥
+서소섭
+서명달
+서춘억
+서경선
+서병곤
+서명수
+서영수
+서옥선
+서영이
+서명암
+서종원
+서선교
+서미학
+서무남
+서점길
+서일훈
+서상호
+서무조
+서 수
+서만열
+서진호
+서무종
+서정근
+서남록
+서태수
+서무호
+서상수
+서대택
+서하정
+서문덕
+서동성
+서충상
+서광봉
+서문수
+서종율
+서무조
+서용술
+서문수
+서용원
+서성기
+서영태
+서미경
+서철운
+서인식
+서정홍
+서미자
+서선태
+서소현
+서병화
+서민석
+서재일
+서상우
+서순철
+서범식
+서경주
+서수식
+서순철
+서병수
+서성곤
+서상보
+서재립
+서병재
+서진옥
+서순봉
+서순석
+서보근
+서창조
+서옥수
+서태자
+서보덕
+서도용
+서정호
+서기자
+서보영
+서태석
+서해천
+서판조
+서보운
+서일순
+서춘이
+서상중
+서보원
+서정섭
+서석철
+서창호
+서보진
+서명덕
+서일덕
+서석조
+서보찬
+서대호
+서치옥
+서무희
+서보혁
+서원희
+서회수
+서의숙
+서보희
+서광재
+서을정
+서일식
+서복경
+서명희
+서창배
+서윤술
+서복순
+서시환
+서경응
+서석식
+서봉교
+서행식
+서재완
+서인우
+서봉덕
+서양준
+서순천
+서재득
+서분순
+서국홍
+서광수
+서판수
+서사현
+서시성
+서위섭
+서권수
+서삼권
+서용봉
+서성기
+서차영
+서상근
+서재식
+서병규
+서용희
+서상노
+서경선
+서만식
+서은이
+서상덕
+서수권
+서원종
+서철기
+서상돌
+서병순
+서준조
+서 우
+서상록
+서구병
+서창수
+서운운
+서상록
+서옥길
+서금선
+서상석
+서상록
+서태웅
+서원호
+서창화
+서상말
+서영철
+서학곤
+서수수
+서상문
+서계조
+서석구
+서웅환
+서상세
+서명진
+서태호
+서병경
+서상식
+서철담
+서진교
+서영욱
+서상열
+서성수
+서은철
+서덕헌
+서상자
+서사열
+서옥동
+서근열
+서상준
+서사기
+서장출
+서성득
+서상태
+서현호
+서광환
+서필수
+서상태
+서성수
+서영상
+서규조
+서상태
+서오열
+서영철
+서근리
+서상현
+서오희
+서봉태
+서정열
+서상현
+서만수
+서은생
+서상태
+서상호
+서석훈
+서장규
+서영조
+서상화
+서재모
+서영종
+서해희
+서상화
+서용조
+서기흠
+서성수
+서상효
+서종수
+서옥구
+서갑문
+서상희
+서찬열
+서갑현
+서병봉
+서석교
+서상규
+서용관
+서세만
+서석규
+서태천
+서용희
+서종도
+서석영
+서육기
+서병은
+서기기
+서석윤
+서경운
+서태양
+서영성
+서석홍
+서순현
+서정철
+서병조
+서석희
+서유원
+서정주
+서윤운
+서선교
+서병연
+서중연
+서재화
+서성교
+서중욱
+서해조
+서명이
+서성만
+서갑수
+서인석
+서판열
+서성암
+서행문
+서상팔
+서승대
+서성윤
+서외숙
+서점철
+서영은
+서성출
+서순재
+서영배
+서종환
+서소권
+서일조
+서종순
+서태심
+서소용
+서도학
+서병한
+서수형
+서수경
+서일대
+서현수
+서보하
+서수연
+서재홍
+서인규
+서해석
+서수웅
+서종주
+서호정
+서병우
+서순교
+서연태
+서태경
+서주희
+서순남
+서영재
+서태숙
+서점대
+서순도
+서경성
+서보우
+서장석
+서순돌
+서병원
+서창만
+서인기
+서순란
+서태연
+서 진
+서상난
+서순석
+서차섭
+서명오
+서재조
+서순이
+서재기
+서재호
+서경용
+서승기
+서규홍
+서상하
+서연영
+서승원
+서명규
+서상식
+서광현
+서영규
+서재자
+서일림
+서길호
+서영달
+서봉향
+서영근
+서귀례
+서영달
+서주열
+서원옥
+서재남
+서영돌
+서희용
+서종향
+서명환
+서영목
+서현기
+서대갑
+서성용
+서영석
+서경현
+서판우
+서병술
+서영수
+서진태
+서정옥
+서석태
+서영웅
+서상규
+서병파
+서경길
+서영원
+서대호
+서병화
+서무용
+서영은
+서명호
+서영애
+서병순
+서영창
+서상숙
+서해곤
+서병권
+서영태
+서정호
+서금섭
+서호동
+서오조
+서재봉
+서중용
+서대환
+서옥출
+서갑동
+서돈부
+서용한
+서완식
+서상수
+서재하
+서판록
+서외수
+서충택
+서상봉
+서막훈
+서용만
+서만광
+서병훈
+서규인
+서용부
+서기순
+서봉표
+서영만
+서용석
+서수배
+서기조
+서무주
+서용조
+서선종
+서준환
+서석홍
+서용판
+서상학
+서용조
+서호호
+서용해
+서창종
+서오연
+서기순
+서용해
+서종견
+서숙수
+서윤응
+서용호
+서정희
+서상홍
+서근훈
+서우철
+서성숙
+서명출
+서태희
+서웅길
+서하천
+서금석
+서종준
+서유산
+서석식
+서보악
+서만형
+서윤석
+서재대
+서쾌호
+서창수
+서윤선
+서호애
+서성기
+서재점
+서윤옥
+서재목
+서춘종
+서재남
+서윤출
+서종준
+서인자
+서종정
+서윤희
+서시건
+서홍수
+서춘호
+서은경
+서영기
+서주태
+서병석
+서이선
+서병칠
+서응길
+서용식
+서이진
+서윤인
+서정교
+서태용
+서익순
+서석하
+서달우
+서수근
+서인덕
+서병조
+서학기
+서무희
+서인순
+서영호
+서건용
+서종조
+서인열
+서기수
+서석임
+서성순
+서일교
+서연적
+서재남
+서재태
+서일부
+서종동
+서경순
+서영차
+서임선
+서성현
+서금우
+서억동
+서임조
+서희권
+서창진
+서상문
+서장택
+서남경
+서분춘
+서민식
+서재교
+서응태
+서현이
+서재우
+서재덕
+서인섬
+서창생
+서기각
+서재덕
+서진기
+서성식
+서승철
+서재열
+서사개
+서차원
+서봉동
+서재영
+서영호
+서해도
+서지선
+서재행
+서정영
+서석현
+서태홍
+서재호
+서정환
+서대원
+서영원
+서재환
+서종하
+서문재
+서태운
+서재환
+서동근
+서상준
+서광오
+서재희
+서만연
+서세길
+서재재
+서점돌
+서명상
+서재석
+서광구
+서점수
+서영찬
+서성식
+서남구
+서점수
+서근성
+서오행
+서재자
+서점술
+서대수
+서태자
+서기자
+서점암
+서권의
+서기택
+서경집
+서점조
+서정규
+서태규
+서수순
+서정경
+서태동
+서명호
+서재수
+서정계
+서효도
+서귀기
+서병환
+서정구
+서윤구
+서석수
+서건경
+서정군
+서종호
+서영도
+서환영
+서정극
+서말숙
+서태규
+서일복
+서정근
+서태선
+서병록
+서장원
+서정도
+서광우
+서정곤
+서종득
+서정록
+서대조
+서말형
+서기량
+서정박
+서철덕
+서순출
+서성시
+서정생
+서남혁
+서주규
+서정석
+서정석
+서재훈
+서규계
+서차자
+서정수
+서소경
+서쌍호
+서도호
+서정수
+서운정
+서성순
+서운순
+서정수
+서재영
+서정규
+서영희
+서정술
+서근순
+서재상
+서정조
+서정식
+서성효
+서우정
+서종탁
+서정열
+서진규
+서을식
+서현남
+서정우
+서상석
+서재배
+서소환
+서정우
+서태순
+서영기
+서윤웅
+서정운
+서광엽
+서재율
+서경일
+서정의
+서진지
+서옥강
+서금자
+서정태
+서승기
+서차인
+서영교
+서정태
+서재봉
+서옥수
+서양기
+서정태
+서종충
+서중호
+서해재
+서정태
+서임철
+서종수
+서영호
+서정한
+서영철
+서태숙
+서석순
+서정화
+서준영
+서기준
+서우환
+서정환
+서귀득
+서정용
+서갑현
+서정희
+서병술
+서학영
+서봉자
+서종이
+서장수
+서노헌
+서윤이
+서주덕
+서옥찬
+서병권
+서말호
+서주필
+서진경
+서종효
+서동기
+서준교
+서혜한
+서만현
+서고광
+서중강
+서덕현
+서창규
+서영연
+서중규
+서명태
+서영곤
+서성식
+서진고
+서극자
+서운숙
+서학규
+서진교
+서건희
+서윤희
+서영순
+서진교
+서용정
+서병진
+서성천
+서진석
+서경술
+서성식
+서대일
+서진수
+서홍보
+서재제
+서말태
+서차갑
+서태웅
+서영희
+서병남
+서차랑
+서재수
+서종기
+서무란
+서차용
+서수원
+서영호
+서광식
+서창교
+서무수
+서병수
+서성용
+서창덕
+서수수
+서재모
+서홍수
+서창덕
+서우화
+서윤환
+서순섭
+서창수
+서태정
+서점순
+서재남
+서창술
+서충재
+서경모
+서판채
+서창현
+서수영
+서동현
+서부탁
+서철교
+서규술
+서용숙
+서형정
+서춘길
+서막진
+서경석
+서상용
+서춘수
+서로영
+서진운
+서쾌출
+서춘자
+서의덕
+서건순
+서원현
+서칠권
+서봉기
+서종이
+서봉웅
+서태교
+서헌진
+서일란
+서종종
+서태구
+서석호
+서순영
+서상춘
+서태만
+서정완
+서말문
+서승철
+서태석
+서수호
+서희순
+서윤근
+서태수
+서삼업
+서연기
+서보호
+서태술
+서경희
+서칠영
+서준욱
+서태암
+서정하
+서수현
+서광자
+서태원
+서성수
+서재자
+서선규
+서팔봉
+서영영
+서대호
+서수호
+서필금
+서수호
+서호용
+서신식
+서필연
+서을원
+서영선
+서성영
+서학원
+서태숙
+서해원
+서상상
+서학조
+서동석
+서종원
+서대용
+서한교
+서무희
+서태출
+서태열
+서한기
+서원자
+서영호
+서경재
+서해원
+서춘천
+서정수
+서기순
+서헌교
+서병구
+서수희
+서선섭
+서호관
+서춘찬
+서순남
+서동일
+서호창
+서창복
+서동관
+서동수
+서호출
+서진기
+서태선
+서칠열
+서홍교
+서태식
+서명구
+서정동
+서홍교
+서해환
+서한삼
+서계희
+서홍숙
+서재호
+서판수
+서인상
+서홍식
+서창식
+서찬우
+서봉주
+서환수
+서학건
+서화명
+서택문
+서훈태
+서정섭
+서순표
+서일숙
+서희철
+서송호
+서분자
+서창옥
+석광진
+석학배
+석성양
+석월우
+석기봉
+석재희
+석관석
+석성난
+석도정
+석장균
+석덕환
+석현원
+석무영
+석덕주
+석수일
+석무수
+석무호
+석정구
+석석순
+석준준
+석봉남
+석열권
+석순지
+석상경
+석분선
+석현하
+석상수
+석병헌
+석상수
+석재출
+석영식
+석해자
+석상운
+석국곤
+석을화
+석병규
+석선부
+석경숙
+석혜균
+석귀애
+석성만
+석광대
+석정용
+석칠남
+석소돌
+석형구
+석쾌규
+석규석
+석승태
+석선창
+석경순
+석정운
+석연이
+석상화
+석영량
+석태학
+석영호
+석병해
+석병숙
+석철훈
+석윤암
+석태열
+석춘수
+석경선
+석의자
+석병식
+석영덕
+석옥호
+석이효
+석순현
+석성태
+석상선
+석점효
+석재길
+석쾌래
+석춘동
+석정출
+석춘세
+석차종
+석남기
+석정출
+석기태
+석근순
+석동미
+석종화
+석광범
+석남기
+석상수
+석종화
+석명진
+석쾌원
+석차준
+석진영
+석종하
+석환상
+석석조
+석질암
+석봉희
+석상조
+석경석
+석차암
+석종란
+석미석
+석기용
+석춘옥
+석동암
+석차석
+석영조
+석효정
+석희제
+석평수
+석문우
+선승호
+선용수
+선일중
+선만판
+선우경
+선복돌
+선순자
+선원회
+선우영길
+선대목광
+선덕기경
+선남배병
+설강수
+설차순
+설희연
+설기택
+설동석
+설병열
+설영석
+설세철
+설명순
+설금석
+설정도
+설순임
+설묘순
+설복돌
+설찬연
+설준태
+설삼수
+설계현
+설해덕
+설성기
+설상규
+설상식
+설인균
+설재병
+설성구
+설용암
+설효선
+설종영
+설소주
+설지윤
+설후흠
+설용택
+설순옥
+설상원
+설재욱
+설병우
+설영구
+설상덕
+설수우
+설금자
+설영준
+설호호
+설무남
+설충운
+설용준
+설귀진
+설재봉
+설병분
+설원식
+설산규
+설지운
+설순자
+설원준
+설월돌
+설규봉
+설윤권
+설윤성
+설윤원
+설순우
+설설석
+설윤형
+설계욱
+설상호
+설승우
+설의준
+설동호
+설석고
+설태수
+설인갑
+설상시
+설수조
+설장학
+설정준
+설명출
+설판훈
+설구술
+설진구
+설교숙
+설교준
+설병석
+설창
+설순
+설종
+설영
+설창수
+설종국
+설일봉
+설헌길
+설천수
+설은임
+설한덕
+설기환
+설춘수
+설윤균
+설선호
+설매화
+설현수
+설영현
+설태종
+설윤택
+성경모
+성중식
+성재우
+성상우
+성경태
+성운희
+성명연
+성옥길
+성계종
+성원고
+성순규
+성희식
+성규용
+성삼희
+성해섭
+성명남
+성금용
+성귀섭
+성말홍
+성종식
+성기덕
+성승덕
+성광원
+성백란
+성기복
+성석선
+성성욱
+성태영
+성기은
+성 순
+성준희
+성재용
+성기학
+성진명
+성금금
+성해문
+성기흔
+성혜기
+성남규
+성용환
+성낙구
+성 환
+성종수
+성동용
+성낙권
+성광분
+성명기
+성창석
+성낙균
+성영현
+성자규
+성영헌
+성낙동
+성인현
+성규출
+성삼태
+성낙동
+성귀식
+성재우
+성현석
+성낙동
+성말석
+성기희
+성정기
+성낙동
+성분대
+성순동
+성선권
+성낙순
+성순수
+성한조
+성인문
+성낙영
+성휘운
+성해환
+성해자
+성낙완
+성병준
+성차수
+성진수
+성낙중
+성부호
+성선금
+성용건
+성낙진
+성선호
+성무완
+성재식
+성낙찬
+성진영
+성소문
+성광일
+성낙팔
+성우균
+성덕신
+성수익
+성낙하
+성창교
+성용복
+성태일
+성낙훈
+성병근
+성춘희
+성재한
+성남경
+성치조
+성태철
+성명길
+성두용
+성준경
+성채수
+성태옥
+성락경
+성우진
+성상식
+성종종
+성락관
+성준동
+성창자
+성신환
+성만정
+성재기
+성원주
+성태중
+성말연
+성선조
+성차수
+성기주
+성명근
+성규석
+성순기
+성순돌
+성백신
+성종희
+성인수
+성일선
+성병남
+성영수
+성기문
+성헌호
+성병우
+성한호
+성한관
+성소준
+성복식
+성정규
+성은천
+성을호
+성분시
+성해자
+성문용
+성영수
+성사영
+성영문
+성세식
+성지곤
+성상모
+성기현
+성종동
+성말환
+성상수
+성기연
+성상도
+성태환
+성상현
+성팔국
+성이용
+성점식
+성석경
+성장구
+성중기
+성점우
+성선이
+성병순
+성말팔
+성행규
+성소환
+성병헌
+성성암
+성지상
+성수경
+성상태
+성태현
+성정봉
+성수광
+성정곤
+성태규
+성판묵
+성순자
+성민선
+성무순
+성원훈
+성양수
+성상균
+성병근
+성해선
+성영경
+성주오
+성정모
+성용오
+성영란
+성광년
+성호민
+성수환
+성오제
+성태수
+성순훈
+성교동
+성외석
+성용희
+성인기
+성교식
+성용경
+성정식
+성주윤
+성영일
+성용칠
+성판득
+성점영
+성사련
+성우경
+성규완
+성복헌
+성정길
+성원경
+성병무
+성규연
+성만섭
+성위선
+성해태
+성정희
+성점열
+성은모
+성태원
+성석조
+성승환
+성은용
+성하호
+성병학
+성임난
+성의종
+성명윤
+성하삼
+성인식
+성일금
+성종호
+성대철
+성의호
+성재갑
+성수윤
+성태흠
+성삼희
+성재근
+성혜권
+성수환
+성재경
+성정순
+성경전
+성기시
+성상태
+성조근
+성상길
+성영성
+성연호
+성주곤
+성순기
+성정호
+성동규
+성준환
+성왕교
+성종민
+성종권
+성중환
+성춘조
+성운호
+성차동
+성증원
+성장태
+성우호
+성영원
+성창경
+성점주
+성만기
+성정자
+성철용
+성순휴
+성상진
+성성권
+성태경
+성재유
+성정수
+성진욱
+성태덕
+성수율
+성병득
+성동만
+성태용
+성소권
+성길국
+성병호
+성풍국
+성정수
+성정희
+성정이
+성한경
+성태길
+성종택
+성정희
+성해용
+성철연
+성종도
+성병순
+성흥식
+성영수
+성무집
+성봉화
+성희준
+성영술
+성병준
+성필혜
+소병문
+소정태
+소종호
+소재수
+소병양
+소종준
+소준세
+소남한
+소수섭
+소상관
+소병우
+소종근
+소영희
+소말자
+소광용
+소홍환
+소진덕
+소병문
+소판균
+소범춘
+소황옥
+소병진
+소덕임
+소광조
+손계련
+손소용
+손동용
+손성현
+손계임
+손영기
+손성수
+손 화
+손계탁
+손학호
+손광기
+손정오
+손공수
+손해록
+손갑현
+손점중
+손귀악
+손성경
+손은태
+손광길
+손규달
+손병우
+손종구
+손상정
+손규영
+손인연
+손용문
+손호성
+손규학
+손우인
+손천두
+손응오
+손금순
+손태식
+손계환
+손윤수
+손금순
+손지준
+손왕국
+손용희
+손금조
+손영숙
+손정자
+손남석
+손기목
+손미태
+손상득
+손수석
+손기용
+손성진
+손영후
+손대훈
+손노탁
+손정열
+손해순
+손명섭
+손달근
+손옥욱
+손일필
+손삼임
+손대봉
+손효영
+손재숙
+손주우
+손동황
+손영구
+손세태
+손갑숙
+손동황
+손상순
+손홍세
+손병룡
+손막내
+손한용
+손성배
+손만상
+손만수
+손헌홍
+손영태
+손종구
+손말순
+손형순
+손영제
+손순호
+손명국
+손봉욱
+손봉주
+손원석
+손명국
+손진기
+손수배
+손소권
+손명순
+손혜량
+손병곤
+손우규
+손명술
+손해호
+손계준
+손병자
+손명자
+손상오
+손광덕
+손진이
+손무종
+손경희
+손찬근
+손흥이
+손문기
+손상환
+손봉우
+손외임
+손민정
+손정수
+손윤희
+손경길
+손병권
+손명주
+손국배
+손태태
+손병기
+손종오
+손상숙
+손병공
+손병길
+손영천
+손민자
+손덕기
+손병문
+손해호
+손재근
+손진원
+손병언
+손윤표
+손창환
+손대암
+손병우
+손상수
+손정용
+손성옥
+손병은
+손말돌
+손윤수
+손상홍
+손병천
+손우호
+손재학
+손완조
+손병호
+손우태
+손중수
+손수호
+손봉권
+손상철
+손기동
+손종현
+손봉래
+손오의
+손태근
+손병성
+손봉화
+손순술
+손덕현
+손정도
+손삼조
+손한식
+손숙동
+손병애
+손삼출
+손담균
+손창애
+손순시
+손상권
+손달호
+손종재
+손칠근
+손상규
+손영태
+손상영
+손숙교
+손상규
+손찬태
+손선태
+손금도
+손상규
+손순섭
+손종호
+손춘천
+손상규
+손진식
+손동수
+손광환
+손상기
+손복권
+손삼병
+손운길
+손상모
+손상호
+손삼오
+손중열
+손상진
+손중태
+손풍억
+손만록
+손상철
+손막자
+손대길
+손시효
+손선경
+손상호
+손교숙
+손재현
+손성향
+손영랑
+손상호
+손재심
+손소범
+손수식
+손종운
+손재숙
+손수근
+손상조
+손석호
+손윤식
+손수난
+손용기
+손창상
+손동덕
+손수모
+손규조
+손중호
+손상열
+손수암
+손수환
+손병진
+손상철
+손수용
+손형교
+손태이
+손진길
+손수원
+손하분
+손한태
+손봉진
+손수익
+손춘옥
+손봉욱
+손경숙
+손수인
+손재환
+손칠순
+손판경
+손순계
+손영분
+손남홍
+손재건
+손순향
+손수배
+손수기
+손일완
+손승준
+손희복
+손이득
+손문원
+손승희
+손순덕
+손재구
+손병식
+손심숙
+손재석
+손태우
+손만희
+손영옥
+손헌영
+손원우
+손순봉
+손영제
+손철정
+손영철
+손길연
+손영진
+손영원
+손장찬
+손병석
+손옥란
+손순조
+손대암
+손명진
+손외순
+손선환
+손병홍
+손재남
+손용수
+손재술
+손정연
+손호용
+손용식
+손대웅
+손오옥
+손 주
+손우식
+손진환
+손광진
+손갑영
+손우주
+손명현
+손성암
+손금배
+손욱수
+손석록
+손인열
+손병정
+손원익
+손동자
+손재규
+손해희
+손윤숙
+손우렬
+손희준
+손선호
+손인상
+손병길
+손기락
+손옥환
+손일식
+손중수
+손금말
+손충원
+손일향
+손명수
+손희순
+손호완
+손일호
+손삼복
+손태철
+손창호
+손장수
+손달석
+손동숙
+손성은
+손장오
+손중란
+손운상
+손점분
+손재원
+손경연
+손영영
+손기모
+손재윤
+손정호
+손진호
+손의도
+손정석
+손용영
+손용진
+손성순
+손정수
+손동출
+손성상
+손상순
+손정숙
+손묘원
+손장훈
+손재수
+손정열
+손정영
+손광석
+손명영
+손정원
+손말식
+손영수
+손운자
+손정유
+손준선
+손재국
+손봉덕
+손정희
+손상춘
+손광세
+손운표
+손종모
+손효동
+손광식
+손마도
+손종식
+손용수
+손한순
+손온현
+손종채
+손안선
+손미식
+손태빈
+손주순
+손희연
+손관익
+손현성
+손중호
+손치영
+손재진
+손판철
+손창웅
+손정막
+손재옥
+손소식
+손채봉
+손준헌
+손헌환
+손기덕
+손청순
+손영모
+손태출
+손근술
+손청호
+손경현
+손준용
+손재태
+손칠봉
+손영만
+손선보
+손건웅
+손태곤
+손현진
+손용학
+손종희
+손태욱
+손세환
+손종준
+손은희
+손태욱
+손삼수
+손준동
+손원묘
+손태원
+손헌주
+손기열
+손진복
+손태원
+손양래
+손춘호
+손수숙
+손태원
+손권봉
+손석석
+손기학
+손태조
+손권욱
+손철환
+손광주
+손태종
+손정희
+손일규
+손지익
+손태환
+손형석
+손순수
+손우훈
+손택근
+손숙홍
+손칠호
+손주자
+손판권
+손점수
+손태도
+손종동
+손판석
+손경중
+손광수
+손태식
+손학기
+손영암
+손준주
+손도녕
+손학식
+손현태
+손기세
+손영욱
+손해경
+손병자
+손경덕
+손갑식
+손해동
+손일수
+손병식
+손도득
+손현권
+손지식
+손규기
+손석환
+손화택
+손도생
+손광연
+손효우
+손훈재
+손은규
+손명석
+손의옥
+손흥열
+손병암
+손차배
+손수술
+손희야
+손이선
+손태근
+손길석
+손희택
+손의환
+손기호
+손응순
+송강부
+송명만
+송만성
+송정학
+송강호
+송경웅
+송홍규
+송태환
+송경석
+송옥우
+송만근
+송낙수
+송관율
+송현규
+송성경
+송시용
+송광재
+송경하
+송석환
+송기고
+송구섭
+송수원
+송헌호
+송채정
+송규섭
+송재정
+송기식
+송석순
+송금옥
+송원식
+송명경
+송길수
+송기원
+송영득
+송병희
+송만연
+송기춘
+송경일
+송진철
+송종기
+송달호
+송윤석
+송해기
+송영효
+송대중
+송영선
+송중욱
+송춘섭
+송대호
+송사현
+송병식
+송문언
+송덕순
+송병용
+송인철
+송순달
+송덕홍
+송경만
+송효덕
+송영조
+송덕환
+송영임
+송생근
+송을호
+송동섭
+송순환
+송일숙
+송기화
+송동영
+송원배
+송성수
+송상조
+송만영
+송인호
+송중호
+송수성
+송만헌
+송춘동
+송정태
+송준순
+송말조
+송수열
+송종열
+송병례
+송무영
+송인순
+송선진
+송영환
+송문옥
+송영기
+송종식
+송순식
+송문한
+송미수
+송외수
+송문수
+송미령
+송용희
+송부기
+송대환
+송민숙
+송병출
+송호순
+송민출
+송번수
+송준근
+송정식
+송광포
+송병휘
+송효규
+송동철
+송두진
+송상교
+송계학
+송길열
+송금우
+송상열
+송만길
+송상철
+송만식
+송석규
+송순보
+송대화
+송경훈
+송석호
+송강환
+송상수
+송흥학
+송선달
+송영덕
+송정연
+송현년
+송선영
+송달준
+송봉봉
+송정호
+송성근
+송만선
+송영상
+송덕길
+송성동
+송명득
+송수수
+송무석
+송수근
+송종덕
+송종모
+송판민
+송수일
+송춘이
+송동환
+송말기
+송수현
+송원순
+송증열
+송순중
+송순자
+송용학
+송병주
+송지조
+송애자
+송기녀
+송점희
+송운복
+송연태
+송대재
+송만선
+송원경
+송영규
+송대열
+송동련
+송기식
+송용덕
+송신희
+송계현
+송차화
+송운한
+송경옥
+송기환
+송수상
+송원복
+송병자
+송희선
+송복호
+송원재
+송건한
+송학근
+송인식
+송인상
+송학조
+송세옥
+송동복
+송인선
+송광홍
+송판철
+송기휴
+송장헌
+송점환
+송봉묵
+송소두
+송재달
+송화수
+송생수
+송공욱
+송재도
+송정준
+송종색
+송광용
+송재석
+송상자
+송병우
+송성진
+송재심
+송태자
+송문주
+송대용
+송재용
+송영오
+송병운
+송영희
+송재욱
+송미기
+송희석
+송이수
+송재은
+송주원
+송식수
+송금훈
+송재준
+송세구
+송선영
+송태근
+송재진
+송진석
+송경용
+송말구
+송재철
+송광호
+송수교
+송봉율
+송재택
+송개순
+송경진
+송성철
+송정로
+송영덕
+송석기
+송해현
+송정민
+송귀철
+송효구
+송경용
+송정성
+송을차
+송용웅
+송영숙
+송정조
+송재중
+송금동
+송춘학
+송종수
+송외자
+송승웅
+송성인
+송준석
+송영제
+송낙환
+송삼일
+송직선
+송덕돌
+송해섭
+송경열
+송진철
+송주수
+송형규
+송태희
+송창섭
+송구민
+송두순
+송제열
+송춘성
+송한현
+송병우
+송정종
+송춘익
+송순열
+송성수
+송임모
+송춘희
+송옥필
+송병신
+송병용
+송태수
+송미옥
+송광현
+송은수
+송학선
+송성용
+송명국
+송광현
+송한철
+송문식
+송병현
+송정희
+송헌영
+송윤근
+송승섭
+송정록
+송호선
+송수교
+송재환
+송차선
+송호성
+송동성
+송형삼
+송태근
+송희성
+송영호
+송윤권
+송순근
+시광준
+시소근
+시기천
+시상호
+시만식
+시학기
+시창정
+시덕희
+시말분
+시도목
+시두암
+시보한
+시명술
+시우호
+시규생
+시소식
+시명환
+시경호
+시승길
+시기로
+시무준
+시규호
+시춘태
+시윤성
+시민기
+시복술
+시화수
+시상태
+시병규
+시한호
+시재찬
+시일용
+시병기
+시해선
+시문락
+시무호
+시병모
+시상술
+시인헌
+시순식
+시병생
+시외자
+시수원
+시석진
+시병수
+시재곤
+시미수
+시관생
+시병영
+시상숙
+시휘경
+시월환
+시병익
+시창희
+시찬우
+시정규
+시병임
+시인홍
+시귀희
+시영섭
+시병택
+시덕만
+시정분
+시재수
+시병환
+시점록
+시상서
+시성현
+시봉호
+시주환
+시종식
+시재규
+시상준
+시정연
+시종용
+시일근
+시석이
+시일석
+시영만
+시정지
+시선식
+시승선
+시병석
+시순환
+시소식
+시신한
+시상욱
+시경성
+시수준
+시성옥
+시석규
+시의자
+시숭구
+시차규
+시영훈
+시상수
+시연준
+시일기
+시팔희
+시재수
+시옥순
+시은표
+시종규
+시영수
+시용식
+시영근
+시용영
+시종환
+시우식
+시창근
+시명만
+시위윤
+시이준
+시명환
+시봉현
+시해철
+시재규
+시분록
+시한분
+시정철
+시종국
+시삼봉
+시국진
+시분수
+시종원
+시윤교
+시응극
+시판숙
+시진권
+시용임
+시창년
+시노식
+시찬준
+시득균
+시운성
+시용주
+시춘자
+시종봉
+시재목
+시현호
+시칠문
+시진철
+시태용
+시희학
+시태수
+시정용
+시순수
+시종옥
+시태술
+시아영
+시봉천
+시준희
+시택규
+시학섭
+시경수
+시을진
+시해선
+시태호
+시을범
+시지호
+시현기
+시명이
+시수수
+시학희
+시호준
+시점근
+시병한
+시준택
+시호진
+시철석
+시소주
+시춘용
+시환준
+시복기
+시권택
+시옥재
+신갑성
+신인철
+신복석
+신연복
+신갑순
+신택철
+신혜재
+신 현
+신강식
+신순완
+신미식
+신용조
+신건우
+신경순
+신종수
+신진환
+신경만
+신종규
+신일운
+신성우
+신경모
+신상우
+신종생
+신정형
+신경식
+신상경
+신강권
+신일석
+신경우
+신순경
+신해수
+신영응
+신경원
+신임화
+신태수
+신병군
+신경조
+신규환
+신길우
+신수옥
+신계주
+신강순
+신경근
+신인자
+신곡점
+신도준
+신우우
+신영국
+신광복
+신승용
+신명석
+신용상
+신광용
+신종호
+신차선
+신하근
+신광인
+신도우
+신오현
+신영식
+신광지
+신헌섭
+신제규
+신화수
+신구생
+신정배
+신주우
+신석기
+신귀남
+신기하
+신순식
+신준기
+신균우
+신성원
+신종채
+신경자
+신균우
+신창식
+신경규
+신권국
+신금달
+신창석
+신영승
+신희수
+신긍우
+신중한
+신정호
+신현균
+신기우
+신주자
+신상호
+신정이
+신기원
+신창호
+신한한
+신 갑
+신기원
+신원택
+신성만
+신소규
+신기출
+신순희
+신도개
+신갈기
+신기출
+신추성
+신광극
+신용광
+신길우
+신달모
+신연섭
+신상헌
+신길운
+신소조
+신춘재
+신원수
+신난우
+신대출
+신병민
+신종채
+신남근
+신대권
+신순재
+신경학
+신남숙
+신정동
+신정상
+신병숙
+신남순
+신이석
+신덕렬
+신영택
+신달휴
+신차관
+신도영
+신순웅
+신덕우
+신광득
+신장길
+신태주
+신도용
+신한준
+신은규
+신용조
+신돈우
+신명택
+신정기
+신해섭
+신돈휴
+신순원
+신도숙
+신수옥
+신동관
+신분환
+신태규
+신병영
+신동구
+신명세
+신춘호
+신태범
+신동국
+신상로
+신수노
+신흥세
+신동진
+신성철
+신정권
+신정승
+신동진
+신은희
+신태원
+신진남
+신동현
+신재식
+신수열
+신태환
+신동현
+신명현
+신상우
+신석종
+신동호
+신상수
+신해출
+신용휘
+신동호
+신수국
+신대규
+신천량
+신동화
+신의수
+신효배
+신재호
+신동훈
+신기만
+신남모
+신재수
+신동훈
+신철만
+신낙동
+신상주
+신만식
+신영성
+신만호
+신정륜
+신말선
+신종철
+신옥원
+신천영
+신명숙
+신석덕
+신노호
+신지화
+신명우
+신수찬
+신진이
+신성근
+신명은
+신인운
+신상구
+신기연
+신명자
+신병식
+신덕주
+신영익
+신몽우
+신윤환
+신종현
+신일술
+신묘순
+신 곤
+신영준
+신춘화
+신무철
+신은호
+신태철
+신영규
+신무홍
+신용건
+신병근
+신부영
+신문호
+신춘주
+신병식
+신성덕
+신미숙
+신의수
+신필우
+신기재
+신범균
+신운정
+신병형
+신경영
+신범현
+신춘옥
+신풍수
+신재석
+신병열
+신세정
+신동석
+신차근
+신병우
+신판봉
+신 하
+신수수
+신병주
+신상악
+신영득
+신인섭
+신병휴
+신성환
+신무석
+신정식
+신봉휴
+신이근
+신원모
+신호식
+신봉휴
+신소기
+신동문
+신기수
+신삼옥
+신말희
+신곡일
+신한천
+신상수
+신화근
+신판종
+신명범
+신상수
+신한우
+신규구
+신재태
+신상재
+신상건
+신대식
+신석국
+신상휴
+신근숙
+신백태
+신해기
+신상휴
+신덕용
+신만도
+신계수
+신석복
+신위수
+신상양
+신중기
+신석조
+신영성
+신점수
+신경조
+신석철
+신명천
+신근규
+신영태
+신선명
+신광숙
+신상주
+신진수
+신선순
+신현한
+신성오
+신삼율
+신성근
+신광임
+신규호
+신순수
+신성우
+신한정
+신우한
+신순이
+신성호
+신기화
+신성수
+신규식
+신성휴
+신정철
+신명자
+신춘호
+신성휴
+신응래
+신종한
+신영환
+신소분
+신정주
+신문득
+신성도
+신소선
+신태환
+신홍수
+신항영
+신수자
+신석남
+신순기
+신구철
+신순득
+신보이
+신맹국
+신명화
+신순분
+신복화
+신종환
+신문춘
+신순수
+신정환
+신성세
+신영규
+신순옥
+신상재
+신정규
+신정환
+신순조
+신면현
+신태성
+신시준
+신순희
+신일집
+신자필
+신상숙
+신승범
+신보선
+신광금
+신재태
+신승우
+신도권
+신순민
+신원옥
+신애희
+신경홍
+신규식
+신종근
+신양옥
+신용문
+신규호
+신권열
+신양우
+신정권
+신철방
+신계원
+신언호
+신달조
+신정선
+신계식
+신연이
+신호호
+신영완
+신원자
+신열휴
+신대백
+신헌호
+신은주
+신열휴
+신영극
+신정정
+신광십
+신영건
+신갑강
+신규윤
+신성국
+신영식
+신기봉
+신영우
+신승연
+신영식
+신수하
+신주도
+신말형
+신영일
+신경화
+신말순
+신건직
+신영조
+신갑술
+신일결
+신장곤
+신영준
+신해재
+신대철
+신혜식
+신영휴
+신판상
+신소복
+신판자
+신옥자
+신근자
+신상호
+신병숙
+신옥자
+신용현
+신대출
+신우식
+신완모
+신창호
+신영화
+신명늠
+신완우
+신규동
+신성경
+신창호
+신외숙
+신경범
+신원출
+신창천
+신용구
+신진식
+신성조
+신신열
+신용근
+신주연
+신길선
+신경호
+신용석
+신종봉
+신종주
+신동수
+신용수
+신노춘
+신병환
+신정대
+신용준
+신옥수
+신창호
+신춘식
+신용호
+신금택
+신주연
+신보건
+신우철
+신수현
+신경선
+신동철
+신웅용
+신재세
+신노우
+신태용
+신원순
+신금일
+신혜근
+신오석
+신원우
+신만열
+신재조
+신영조
+신월구
+신흥명
+신석담
+신선락
+신유야
+신화섭
+신환태
+신귀구
+신육란
+신연동
+신영영
+신동춘
+신윤생
+신환도
+신기완
+신기출
+신윤숙
+신춘열
+신희만
+신태택
+신윤식
+신원호
+신승림
+신금만
+신윤식
+신회라
+신경용
+신경호
+신윤식
+신상희
+신상상
+신두희
+신윤식
+신석식
+신무훈
+신수관
+신윤우
+신병태
+신상열
+신순연
+신윤조
+신준택
+신명남
+신태복
+신을수
+신기성
+신찬란
+신숙명
+신을식
+신성송
+신동환
+신기기
+신을철
+신옥호
+신안영
+신수연
+신응태
+신용출
+신분종
+신신남
+신인기
+신삼승
+신대근
+신태원
+신인숙
+신현대
+신진식
+신소모
+신인식
+신선철
+신상석
+신학돌
+신인우
+신성환
+신판식
+신수도
+신일섭
+신회석
+신태용
+신용윤
+신임이
+신종수
+신헌천
+신진균
+신임휴
+신정진
+신하락
+신근희
+신장경
+신영조
+신명영
+신재희
+신재문
+신효영
+신선복
+신홍기
+신재수
+신종철
+신성룡
+신달원
+신재우
+신규욱
+신공년
+신병식
+신재운
+신일호
+신재태
+신덕설
+신재운
+신동연
+신춘식
+신노홍
+신재의
+신수연
+신맹환
+신은용
+신재학
+신몽이
+신광호
+신종분
+신재호
+신중운
+신춘식
+신희연
+신점득
+신상옥
+신철근
+신인규
+신점용
+신봉우
+신갑웅
+신철순
+신정규
+신행철
+신경숙
+신정학
+신정순
+신상웅
+신봉형
+신경웅
+신정순
+신한원
+신운돌
+신원애
+신정식
+신성재
+신용호
+신정식
+신정철
+신범곤
+신영직
+신은년
+신정휴
+신두옥
+신 호
+신정민
+신정휴
+신한우
+신호희
+신숙종
+신제호
+신기식
+신동목
+신점환
+신종구
+신영득
+신태헌
+신효기
+신종도
+신병도
+신창철
+신성차
+신종식
+신태택
+신정월
+신재귀
+신종인
+신희수
+신수직
+신해재
+신종휴
+신희환
+신종술
+신정식
+신종휴
+신병도
+신수환
+신종권
+신진금
+신성용
+신대현
+신병종
+신진섭
+신무도
+신형석
+신은우
+신진호
+신태연
+신출춘
+신일용
+신차분
+신무옥
+신영호
+신병규
+신차순
+신만부
+신복한
+신기화
+신찬식
+신순표
+신흥길
+신명순
+신창호
+신수식
+신해길
+신기규
+신창훈
+신영병
+신수철
+신수덕
+신철우
+신 현
+신종채
+신병식
+신철이
+신만경
+신원호
+신병수
+신청균
+신정근
+신계칠
+신덕발
+신춘기
+신경남
+신만규
+신순선
+신춘호
+신관돌
+신고준
+신남록
+신충식
+신진호
+신성환
+신환수
+신쾌식
+신소순
+신중도
+신태조
+신태양
+신구길
+신사근
+신중곤
+신태우
+신분상
+신복희
+신영순
+신태운
+신무식
+신석도
+신혁고
+신태진
+신상선
+신재보
+신점덕
+신태휴
+신동호
+신복숙
+신신진
+신판술
+신대오
+신기립
+신정윤
+신필호
+신재한
+신정호
+신태규
+신하규
+신준만
+신태득
+신질주
+신학봉
+신정수
+신조준
+신규영
+신학식
+신병태
+신진석
+신대진
+신한우
+신영성
+신수순
+신형배
+신항식
+신영조
+신영식
+신철규
+신해봉
+신지홍
+신재근
+신성진
+신해식
+신명수
+신건식
+신종천
+신해식
+신석식
+신창성
+신진무
+신현구
+신순희
+신종문
+신구하
+신현구
+신영남
+신제현
+신형달
+신현근
+신용형
+신춘만
+신근오
+신현덕
+신장경
+신차천
+신두태
+신현만
+신상택
+신이술
+신설출
+신현세
+신영용
+신태곤
+신만옥
+신현아
+신보호
+신재조
+신호봉
+신현우
+신선판
+신석호
+신광화
+신현장
+신 수
+신운곤
+신규호
+신현창
+신수철
+신휘재
+신사천
+신현휴
+신삼연
+신월효
+신춘수
+신형휴
+신점학
+신성용
+신준권
+신혜순
+신이이
+신태석
+신기만
+신혜현
+신석식
+신영균
+신영수
+신호우
+신태수
+신상란
+신문기
+신홍순
+신규오
+신원우
+신욱학
+신홍식
+신봉이
+신제기
+신성영
+신홍식
+신기실
+신성환
+신창주
+신홍철
+신보창
+신영석
+신상홍
+신흥식
+신영룡
+신상덕
+신광호
+신흥열
+신정웅
+신헌순
+신신연
+신희성
+신구석
+신경달
+신재명
+심경두
+심효국
+심영호
+심동호
+심경애
+심기학
+심재기
+심용규
+심광수
+심동상
+심무후
+심병동
+심규연
+심임근
+심명환
+심말대
+심근보
+심기식
+심병만
+심차자
+심기택
+심정균
+심차상
+심원희
+심동석
+심경래
+심화수
+심재희
+심동욱
+심완길
+심말이
+심인식
+심명보
+심상수
+심민진
+심임정
+심무자
+심강광
+심현선
+심문재
+심민순
+심광학
+심쌍옥
+심용포
+심복래
+심인조
+심재춘
+심병용
+심부소
+심영수
+심판순
+심규옥
+심부자
+심종순
+심외영
+심영원
+심상섭
+심효근
+심선서
+심언환
+심상열
+심정식
+심갑수
+심윤진
+심상열
+심원오
+심선규
+심종권
+심상희
+심금종
+심원현
+심광부
+심석보
+심성장
+심용조
+심 희
+심설화
+심동섭
+심칠선
+심순호
+심수보
+심진주
+심명주
+심인순
+심영보
+심래진
+심병도
+심판수
+심영봉
+심진태
+심무봉
+심행이
+심영숙
+심권상
+심제하
+심병규
+심재달
+심봉호
+심정목
+심명기
+심재봉
+심상오
+심춘기
+심상윤
+심재용
+심희호
+심명율
+심재한
+심재원
+심종영
+심종동
+심광희
+심재익
+심복재
+심칠근
+심병동
+심재현
+심분운
+심 해
+심재원
+심점철
+심태용
+심근숙
+심이주
+심정섭
+심효화
+심정경
+심월암
+심주섭
+심광현
+심분열
+심윤주
+심중섭
+심귀난
+심제소
+심성현
+심차조
+심태길
+심석순
+심춘봉
+심창섭
+심영준
+심신자
+심순이
+심춘섭
+심종택
+심훈규
+심돈석
+심춘섭
+심동재
+심영완
+심운남
+심태준
+심혁수
+심정국
+심범용
+심해진
+심덕일
+심관수
+심창이
+심현주
+심동중
+심은흠
+심봉준
+안 순
+안용환
+안인란
+안종순
+안갑현
+안득화
+안영숙
+안귀순
+안경숙
+안운석
+안수택
+안순부
+안경숙
+안행동
+안병수
+안영남
+안경옥
+안순조
+안상태
+안영현
+안경조
+안호교
+안병경
+안영조
+안경호
+안원주
+안정희
+안귀태
+안계순
+안원학
+안재화
+안용호
+안광석
+안상도
+안양민
+안태수
+안귀학
+안용봉
+안임경
+안경대
+안규호
+안광훈
+안기수
+안용수
+안도상
+안중석
+안재희
+안대식
+안동문
+안영태
+안범순
+안명식
+안두이
+안영용
+안황호
+안영규
+안말선
+안종열
+안동수
+안성란
+안명준
+안재수
+안선만
+안일순
+안미애
+안학원
+안상팔
+안동주
+안미현
+안춘우
+안영화
+안태석
+안민권
+안용미
+안순임
+안월용
+안봉옥
+안재권
+안점곤
+안남순
+안봉조
+안종원
+안태생
+안용계
+안봉하
+안태칠
+안갑주
+안종영
+안분늠
+안춘일
+안현순
+안명지
+안상국
+안지련
+안정수
+안은갑
+안상옥
+안용국
+안제배
+안상열
+안상용
+안근오
+안재규
+안근근
+안상태
+안일진
+안해훈
+안순담
+안설아
+안정용
+안순현
+안기하
+안성섭
+안호규
+안국미
+안준곤
+안성은
+안태희
+안경용
+안말택
+안성일
+안석지
+안연규
+안충렬
+안성철
+안궁석
+안유현
+안쌍식
+안성호
+안소순
+안준식
+안성권
+안성희
+안진철
+안한식
+안상진
+안세방
+안주정
+안갑홍
+안정한
+안수남
+안병현
+안종화
+안용호
+안수용
+안창웅
+안태재
+안보철
+안수정
+안신휴
+안장영
+안순석
+안수천
+안영관
+안영탁
+안경영
+안순득
+안영부
+안종관
+안성기
+안순자
+안죽중
+안성술
+안태일
+안순희
+안재용
+안달권
+안계필
+안승수
+안병기
+안형열
+안현치
+안신철
+안동순
+안갑동
+안판태
+안영경
+안명덕
+안재욱
+안창수
+안영근
+안재건
+안분자
+안승선
+안영달
+안문영
+안해식
+안수권
+안영무
+안영문
+안연희
+안정탁
+안영수
+안만만
+안정란
+안남수
+안영주
+안 용
+안헌용
+안순태
+안영철
+안윤택
+안문자
+안종권
+안영한
+안종석
+안정두
+안정수
+안영호
+안완룡
+안태덕
+안경갑
+안용수
+안금노
+안종곤
+안순근
+안용태
+안석도
+안선영
+안정화
+안용환
+안동자
+안건호
+안일인
+안윤정
+안정곤
+안주기
+안종일
+안은미
+안호태
+안만식
+안한현
+안일훈
+안 동
+안만수
+안운종
+안재관
+안현영
+안지용
+안일수
+안재원
+안응호
+안건규
+안경원
+안재희
+안자원
+안양자
+안상안
+안정웅
+안성옥
+안분용
+안영도
+안정현
+안영식
+안보란
+안무호
+안정호
+안성길
+안정분
+안영대
+안종갑
+안일수
+안봉화
+안철록
+안종표
+안홍옥
+안도현
+안부숙
+안태식
+안석순
+안영용
+안해준
+안태식
+안완세
+안해성
+안병순
+안평수
+안종환
+안강칠
+안재용
+안피가로
+안영환중
+안정춘오
+안영권정
+안학주
+안순달
+안돈자
+안두수
+안해숙
+안권호
+안교갑
+안삼주
+안현석
+안말세
+안완호
+안병영
+안현숙
+안진수
+안충조
+안종환
+안형대
+안윤우
+안태남
+안영경
+안호섭
+안은만
+안태유
+안근수
+안호준
+안영수
+안연규
+안상익
+안홍문
+안해동
+안광택
+안경근
+안홍수
+안진희
+안현영
+안점수
+안효문
+안영식
+안이국
+안택태
+안효용
+안광수
+안운상
+안우일
+안희도
+안종용
+안정옥
+안재록
+양갑석
+양은석
+양온숙
+양충도
+양갑승
+양기식
+양영도
+양규남
+양경미
+양명숙
+양동기
+양호교
+양경화
+양선태
+양대자
+양복옥
+양구현
+양동덕
+양갑철
+양수채
+양귀선
+양계범
+양학호
+양금자
+양금옥
+양장구
+양진수
+양경환
+양기준
+양정수
+양병철
+양증근
+양기철
+양신진
+양정석
+양금연
+양대길
+양운술
+양이휴
+양영화
+양도일
+양봉원
+양수수
+양영길
+양동명
+양연출
+양진황
+양학진
+양동문
+양경진
+양태만
+양윤식
+양동연
+양해이
+양수수
+양태식
+양만수
+양병호
+양재채
+양성주
+양면수
+양성조
+양봉희
+양삼훈
+양면수
+양소경
+양완교
+양정휴
+양문현
+양경섭
+양말주
+양창봉
+양미경
+양상희
+양창조
+양순곤
+양부석
+양규수
+양성석
+양일열
+양사용
+양봉환
+양수수
+양용식
+양삼순
+양동종
+양윤호
+양용자
+양상근
+양순진
+양홍권
+양재덕
+양상열
+양상연
+양소현
+양용선
+양상환
+양동수
+양익영
+양애태
+양선길
+양영호
+양한영
+양영태
+양성경
+양희성
+양의경
+양병남
+양성관
+양현태
+양달정
+양홍태
+양성옥
+양무우
+양환영
+양응국
+양성옥
+양옥희
+양진수
+양영석
+양성욱
+양호식
+양상권
+양용수
+양성훈
+양승진
+양선영
+양기남
+양소록
+양경인
+양철희
+양성순
+양순심
+양순규
+양영율
+양종헌
+양순연
+양인분
+양준자
+양현규
+양순용
+양상희
+양한년
+양인철
+양승태
+양운이
+양태만
+양연창
+양연옥
+양헌오
+양갑복
+양인호
+양연용
+양동기
+양기식
+양종용
+양영규
+양종식
+양태숙
+양태열
+양영규
+양원희
+양기준
+양용우
+양영만
+양애철
+양춘택
+양분중
+양영석
+양담조
+양우순
+양용리
+양영선
+양기원
+양순섭
+양기주
+양옥조
+양상원
+양춘태
+양태옥
+양용이
+양영식
+양영탁
+양연호
+양용판
+양선준
+양오호
+양말해
+양월임
+양영현
+양세근
+양성식
+양유호
+양하환
+양종묵
+양구상
+양은옥
+양봉삼
+양일우
+양정기
+양을생
+양두형
+양현갑
+양동식
+양장수
+양정자
+양화성
+양규희
+양재철
+양용택
+양철호
+양근점
+양재철
+양종헌
+양판호
+양외규
+양재헌
+양외복
+양영갑
+양정동
+양정석
+양용석
+양철곤
+양학현
+양정호
+양근자
+양준규
+양근대
+양정환
+양정권
+양점철
+양학금
+양증수
+양인현
+양부숙
+양규암
+양진석
+양분지
+양재목
+양교환
+양진태
+양해택
+양시호
+양근규
+양차수
+양영환
+양태숙
+양종원
+양철곤
+양진일
+양판민
+양종기
+양춘립
+양기분
+양현근
+양상해
+양해근
+양수지
+양연현
+양태웅
+양해장
+양홍애
+양태수
+양선득
+양헌도
+양윤숙
+양수자
+양수관
+양현석
+양경준
+양점이
+양장용
+양형학
+양성동
+양준관
+양윤훅
+양호승
+양종호
+양해동
+양덕진
+어문조
+어원중
+어동혁
+어근철
+어현태
+어종목
+어재구
+어위수
+엄간직
+엄기호
+엄경진
+엄원현
+엄계봉
+엄말남
+엄재수
+엄우수
+엄규현
+엄환수
+엄판자
+엄해선
+엄기환
+엄남연
+엄정섭
+엄휘도
+엄막이
+엄상수
+엄봉희
+엄범진
+엄삼주
+엄우식
+엄해원
+엄상수
+엄상기
+엄위헌
+엄규수
+엄병대
+엄상용
+엄자수
+엄운진
+엄성구
+엄상용
+엄판수
+엄수조
+엄장호
+엄상우
+엄석호
+엄상수
+엄규숙
+엄성일
+엄갑길
+엄시근
+엄창선
+엄성흠
+엄사순
+엄수홍
+엄명규
+엄소덕
+엄찬근
+엄병학
+엄광홍
+엄소점
+엄재출
+엄효환
+엄정숙
+엄영섭
+엄석석
+엄명형
+엄승효
+엄외덕
+엄수조
+엄상대
+엄세재
+엄용덕
+엄갑선
+엄순국
+엄재율
+엄익균
+엄정연
+엄준순
+엄자자
+엄익기
+엄병귀
+엄태철
+엄상돌
+엄익덕
+엄만태
+엄진호
+엄우동
+엄정섭
+엄강술
+엄순복
+엄규철
+엄정자
+엄홍수
+엄정대
+엄도늠
+엄종섭
+엄상만
+엄정수
+엄원윤
+엄주섭
+엄중양
+엄영희
+엄일재
+엄중현
+엄영수
+엄계도
+엄윤규
+엄필화
+엄병영
+엄옥영
+엄원선
+엄호진
+엄희택
+엄종호
+엄상건
+엄희순
+엄경조
+엄맹덕
+엄용헌
+여기동
+여영년
+여석환
+여태식
+여기연
+여희칠
+여용구
+여철출
+여남환
+여윤훈
+여순대
+여재광
+여맹동
+여진태
+여동영
+여학숙
+여명환
+여용수
+여보춘
+여만술
+여병기
+여영섭
+여재갑
+여옥수
+여보연
+여태열
+여태태
+여병식
+여복연
+여정휴
+여신헌
+여한근
+여상갑
+여두태
+여동욱
+여판명
+여상균
+여용운
+여종현
+여영묵
+여상근
+여응행
+여일출
+여병식
+여상덕
+여종용
+여태윤
+여희호
+여상목
+여명길
+여정원
+여철준
+여상선
+여성이
+여승곤
+여병식
+여상연
+여경남
+여종수
+여태란
+여상우
+여성수
+여숭인
+여동식
+여상욱
+여선봉
+여오희
+여용용
+여상천
+여수록
+여영순
+여분봉
+여상헌
+여재준
+여재현
+여영태
+여상화
+여부자
+여근만
+여쌍수
+여석동
+여대연
+여광선
+여옥시
+여석윤
+여정한
+여상자
+여용우
+여성연
+여동팔
+여용석
+여두생
+여수용
+여영영
+여종봉
+여경숙
+여수원
+여대재
+여점금
+여종순
+여수철
+여종수
+여창술
+여성숙
+여술용
+여갑순
+여진식
+여소암
+여언숙
+여종현
+여재기
+여태한
+여원동
+여갑연
+여준득
+여상욱
+여원석
+여창근
+여병숙
+여태운
+여유동
+여영수
+여성상
+여명준
+여인협
+여부곤
+여재일
+여태이
+여재희
+여성택
+여길수
+여수건
+여점악
+여병호
+여대재
+여판봉
+여점출
+여병선
+여선우
+여동철
+여정구
+여성록
+여상호
+여상분
+여중갑
+여영현
+여성전
+여태현
+여청길
+여만훈
+여세경
+여명선
+여태순
+여용남
+여종만
+여의창
+여태욱
+여광호
+여헌원
+여융식
+여학동
+여치애
+여보형
+여환봉
+여해동
+여종태
+여대구
+여상일
+여홍민
+여용양
+여윤환
+여현수
+여환수
+여오석
+여재훈
+여경도
+여환식
+여연도
+여기갑
+여길태
+여환옥
+여근우
+여재만
+여왕길
+염곡지
+염인열
+염영자
+염주식
+염기천
+염봉덕
+염기화
+염주우
+염대득
+염남호
+염윤태
+염재배
+염덕술
+염지임
+염갑석
+염병례
+염상우
+염경진
+염소용
+염석희
+염숙이
+염정일
+염호우
+염면철
+염용준
+염태호
+염점학
+염남득
+염인실
+염식석
+염규창
+염경만
+염점례
+염상우
+염홍택
+염기권
+염종덕
+염근선
+염성호
+염종도
+염종환
+염영상
+염수이
+염종갑
+예수해
+예세식
+예임일
+예진배
+예용해
+예명동
+예승조
+예상범
+예종락
+예남률
+예회진
+예성환
+예한식
+예성호
+예수태
+예재숙
+예한태
+예규자
+예영용
+예석연
+오갑선
+오상순
+오점진
+오정만
+오건국
+오석홍
+오경용
+오근재
+오경렬
+오순익
+오갑완
+오명표
+오경출
+오을수
+오철옥
+오소균
+오경환
+오근호
+오길립
+오동우
+오경환
+오경표
+오종기
+오점학
+오경환
+오재복
+오두모
+오종호
+오광석
+오금수
+오치식
+오금정
+오광열
+오판용
+오하규
+오영만
+오광태
+오성열
+오정이
+오용식
+오광환
+오지열
+오부구
+오두학
+오국창
+오춘길
+오경문
+오삼희
+오귀님
+오상홍
+오봉란
+오경만
+오규식
+오천남
+오인섭
+오치희
+오규영
+오규용
+오방덕
+오근호
+오규오
+오제석
+오동돌
+오기학
+오규오
+오성동
+오용조
+오성상
+오규현
+오효래
+오영술
+오영식
+오근수
+오동성
+오문태
+오덕선
+오근식
+오홍경
+오병옥
+오용경
+오금이
+오분말
+오수연
+오겸만
+오기주
+오명찬
+오창호
+오태정
+오기환
+오영만
+오재석
+오덕용
+오기환
+오도원
+오광석
+오경업
+오난주
+오극식
+오기성
+오병자
+오남진
+오홍현
+오경태
+오태찬
+오남진
+오진춘
+오 연
+오종곤
+오달선
+오재익
+오상현
+오남식
+오달환
+오태암
+오연용
+오민웅
+오대근
+오의일
+오수규
+오진수
+오대용
+오남자
+오종권
+오용준
+오덕만
+오호홍
+오재현
+오준립
+오덕호
+오정이
+오용환
+오강영
+오도덕
+오병철
+오성용
+오은수
+오도현
+오명현
+오재난
+오진달
+오동연
+오원록
+오태민
+오승순
+오동열
+오가한
+오삼명
+오상희
+오동춘
+오년환
+오홍중
+오규순
+오동환
+오헌모
+오점석
+오선익
+오득조
+오외향
+오금분
+오태석
+오득환
+오휘호
+오병자
+오학웅
+오명록
+오혜세
+오점호
+오원야
+오명수
+오상순
+오윤현
+오종진
+오명숙
+오형희
+오찬남
+오한석
+오명희
+오태화
+오성호
+오하태
+오명희
+오장정
+오증주
+오영학
+오문갑
+오춘수
+오성희
+오시래
+오문환
+오정진
+오학덕
+오정정
+오병권
+오옥연
+오덕두
+오국도
+오병수
+오재옥
+오동순
+오영영
+오병철
+오유옥
+오태규
+오삼연
+오병훈
+오성채
+오태배
+오상이
+오복남
+오점한
+오옥숙
+오영덕
+오봉춘
+오청배
+오용호
+오현석
+오봉현
+오필지
+오규홍
+오철암
+오부길
+오경식
+오재동
+오영목
+오분석
+오용완
+오종환
+오세백
+오삼용
+오정표
+오규교
+오석균
+오삼용
+오영순
+오구철
+오수현
+오상근
+오만철
+오상옥
+오순수
+오상만
+오동출
+오창세
+오창현
+오상세
+오삼득
+오영영
+오현철
+오상조
+오순권
+오종규
+오선환
+오석만
+오윤창
+오순정
+오대영
+오석순
+오창호
+오희구
+오수계
+오석현
+오영용
+오운국
+오종술
+오선미
+오복임
+오영덕
+오븝숙
+오선숙
+오재학
+오숙태
+오덕석
+오성근
+오순원
+오성석
+오철연
+오성득
+오진구
+오복규
+오길조
+오성열
+오 욱
+오병조
+오규한
+오성찬
+오귀순
+오영열
+오곤조
+오세광
+오정곤
+오일익
+오기호
+오세웅
+오광봉
+오상수
+오수욱
+오세원
+오재영
+오종순
+오봉조
+오세인
+오진진
+오용철
+오옥구
+오세일
+오윤용
+오후술
+오필열
+오수현
+오재자
+오헌석
+오명희
+오수환
+오대도
+오수훈
+오상영
+오순화
+오세자
+오용식
+오재자
+오술현
+오효규
+오영원
+오갑환
+오승열
+오두학
+오정호
+오옥준
+오연석
+오재수
+오금돌
+오귀동
+오연호
+오한업
+오태권
+오정열
+오염각
+오흥순
+오상선
+오기복
+오영식
+오명동
+오익우
+오말기
+오영화
+오수자
+오대준
+오순호
+오영환
+오부갑
+오정철
+오원준
+오오환
+오쌍권
+오관도
+오석상
+오옥선
+오한열
+오규선
+오용식
+오왕수
+오상흠
+오범순
+오인익
+오용술
+오경순
+오정용
+오성호
+오우춘
+오숙경
+오문빈
+오만수
+오운용
+오태상
+오창수
+오갑한
+오원문
+오영섭
+오해배
+오준수
+오원배
+오병정
+오칠균
+오영열
+오원선
+오재재
+오화기
+오수섭
+오원수
+오문모
+오임희
+오삼진
+오월봉
+오운옥
+오종환
+오오학
+오윤규
+오재재
+오장기
+오병홍
+오윤복
+오옥호
+오희희
+오동돌
+오윤해
+오영자
+오중찬
+오을완
+오윤환
+오재환
+오복재
+오윤진
+오은도
+오선근
+오병철
+오삼석
+오은환
+오해년
+오윤식
+오학동
+오의열
+오순환
+오대열
+오종운
+오인현
+오성주
+오상화
+오삼호
+오일성
+오영백
+오영원
+오정걸
+오임석
+오광구
+오근한
+오상호
+오자종
+오규기
+오성광
+오주용
+오재곤
+오장모
+오정규
+오미경
+오재권
+오혜호
+오윤표
+오소태
+오재근
+오영팔
+오정섭
+오태원
+오재동
+오덕웅
+오태열
+오한성
+오재범
+오윤호
+오제분
+오원태
+오재석
+오영기
+오원주
+오병흠
+오재수
+오찬석
+오태이
+오정상
+오재순
+오헌기
+오막정
+오상기
+오재영
+오대향
+오상혁
+오선배
+오재용
+오소진
+오국춘
+오인봉
+오재용
+오승원
+오희조
+오두근
+오재우
+오경문
+오형옥
+오일운
+오재윤
+오영대
+오홍길
+오태도
+오재일
+오창훈
+오택흠
+오선학
+오재천
+오상일
+오병종
+오점보
+오재춘
+오용선
+오만준
+오광만
+오점순
+오복억
+오태태
+오순곤
+오점환
+오장인
+오진인
+오창균
+오정래
+오상연
+오상원
+오병우
+오정애
+오문근
+오현규
+오재섭
+오정열
+오장덕
+오동곤
+오경선
+오정열
+오영욱
+오갑헌
+오상기
+오정현
+오승구
+오정연
+오현준
+오정호
+오윤출
+오민선
+오윤상
+오정환
+오덕철
+오록숙
+오광대
+오정환
+오은욱
+오재재
+오태돌
+오제열
+오재옥
+오영주
+오봉수
+오종수
+오상재
+오정선
+오삼일
+오종탁
+오정영
+오종옥
+오원균
+오종호
+오재화
+오종문
+오원순
+오종화
+오성일
+오영복
+오진호
+오종환
+오선경
+오의연
+오근상
+오주범
+오희호
+오규수
+오길기
+오준표
+오명식
+오태혁
+오태환
+오준현
+오원성
+오해장
+오영규
+오준호
+오병석
+오호배
+오종준
+오준환
+오점호
+오재휴
+오남수
+오준희
+오남현
+오영순
+오홍종
+오중열
+오명철
+오계운
+오홍건
+오창국
+오무호
+오언수
+오길성
+오창환
+오금태
+오상영
+오찬계
+오춘자
+오우생
+오보조
+오영성
+오칠규
+오종영
+오말도
+오봉술
+오칠옥
+오수환
+오영성
+오용필
+오칠환
+오낙진
+오재로
+오동용
+오칠환
+오정봉
+오종순
+오용식
+오타분
+오점규
+오정춘
+오성태
+오태수
+오판연
+오점숙
+오기순
+오태재
+오홍한
+오석의
+오대숙
+오태준
+오명호
+오준숙
+오동섬
+오태진
+오영일
+오일학
+오종식
+오태호
+오욱준
+오동식
+오월수
+오태환
+오찬수
+오태석
+오종식
+오판진
+오영기
+오동달
+오문효
+오학근
+오영림
+오상현
+오용수
+오한권
+오광우
+오달희
+오남심
+오한철
+오영기
+오돈수
+오순암
+오해근
+오방고
+오태열
+오원근
+오해만
+오학이
+오영분
+오의열
+오해찬
+오용동
+오재기
+오동철
+오헌철
+오영택
+오말홍
+오헌교
+오혜정
+오윤순
+오주래
+오영을
+오호이
+오광길
+오한호
+오중교
+오호찬
+오승헌
+오상성
+오기란
+오화자
+오문기
+오교호
+오태철
+오화진
+오점택
+오정환
+오상동
+오효재
+오한갑
+오진인
+오문이
+오흥열
+오옥한
+오현흠
+오용근
+오희숙
+오삼환
+오충천
+오기운
+옥유봉
+옥정팔
+옥재주
+옥종래
+왕태호
+왕동숙
+왕병상
+왕상정
+우도열
+우덕란
+우찬호
+우노조
+우명구
+우근복
+우교대
+우수득
+우봉천
+우의수
+우종철
+우영현
+우상선
+우두철
+우도명
+우점연
+우상선
+우장수
+우한율
+우용기
+우상수
+우증곤
+우성열
+우매주
+우상수
+우대식
+우용남
+우규목
+우상현
+우종태
+우정자
+우덕제
+우석조
+우순일
+우재재
+우창순
+우성균
+우병민
+우진수
+우병호
+우성용
+우창호
+우용대
+우종윤
+우세근
+우재명
+우순화
+우경숙
+우수영
+우선경
+우막수
+우소조
+우수하
+우영교
+우규보
+우종향
+우순례
+우종술
+우일복
+우만옥
+우실용
+우윤수
+우종수
+우규수
+우영문
+우근술
+우재영
+우용영
+우영태
+우종점
+우문헌
+우종차
+우옥기
+우수익
+우갑우
+우필규
+우원환
+우희암
+우정식
+우중호
+우위선
+우명수
+우우애
+우종순
+우인걸
+우귀화
+우순숙
+우언선
+우인걸
+우종열
+우명현
+우수권
+우정순
+우범열
+우진실
+우동환
+우정임
+우문수
+우만태
+우영명
+우종곤
+우태규
+우재모
+우광식
+우종보
+우화철
+우병석
+우병섭
+우종열
+우갑문
+우갑하
+우일환
+우종필
+우홍식
+우순식
+우진곤
+우종학
+우재옥
+우중목
+우오조
+우종환
+우순수
+우만술
+우호수
+우종희
+우재환
+우윤해
+우상문
+우진호
+우옥성
+우영성
+우공남
+우창효
+우만기
+우종윤
+우쌍용
+우치홍
+우동문
+우봉정
+우점학
+우태섭
+우병순
+우종자
+우용보
+우행자
+우홍주
+우소현
+우일호
+우화춘
+우상태
+우순남
+우이술
+우희도
+우홍생
+우주종
+우우혁
+우희조
+우학상
+우덕섭
+우혜숙
+원영옥
+원연규
+원훈규
+원태재
+원용주
+원성득
+원상곤
+원태금
+원종길
+원원래
+원봉래
+원순수
+위성기
+위순규
+위판희
+위형덕
+유갑용
+유화목
+유규분
+유익국
+유갑진
+유해단
+유상근
+유종성
+유경수
+유현심
+유인선
+유용식
+유경열
+유상선
+유한덕
+유천출
+유경재
+유장숙
+유혜열
+유교완
+유경재
+유정수
+유귀미
+유분식
+유경종
+유희일
+유순식
+유의수
+유경팔
+유석선
+유숙수
+유효춘
+유경희
+유춘선
+유혜환
+유판술
+유계열
+유순천
+유영순
+유갑석
+유광열
+유규출
+유두구
+유수호
+유광우
+유춘만
+유태해
+유동동
+유광익
+유달수
+유병생
+유정식
+유광자
+유정석
+유만랑
+유판희
+유귀분
+유동오
+유재근
+유봉필
+유귀연
+유용수
+유경균
+유병대
+유근배
+유의동
+유경주
+유재근
+유근선
+유방호
+유정이
+유재선
+유근식
+유인권
+유희선
+유기성
+유기범
+유성숙
+유상석
+유수원
+유기재
+유환형
+유태근
+유다수
+유길돌
+유중정
+유만배
+유호권
+유남재
+유일정
+유해연
+유봉희
+유달수
+유순수
+유태기
+유동순
+유대근
+유용구
+유기악
+유건철
+유대근
+유청희
+유대환
+유상환
+유대만
+유영시
+유성숙
+유영성
+유대원
+유종표
+유순기
+유영수
+유덕환
+유두정
+유기선
+유재환
+유덕희
+유오배
+유학범
+유호현
+유동일
+유달수
+유청식
+유명웅
+유동재
+유현수
+유해돌
+유광봉
+유동희
+유순훈
+유한봉
+유영칠
+유두식
+유종도
+유문임
+유대희
+유두연
+유삼호
+유호택
+유옥현
+유득환
+유강수
+유일웅
+유무찬
+유만섭
+유남남
+유칠국
+유규환
+유만재
+유용정
+유병기
+유종세
+유말임
+유대해
+유용식
+유홍희
+유명대
+유재호
+유진남
+유문덕
+유명열
+유동우
+유형창
+유윤익
+유명의
+유영열
+유종일
+유헌남
+유무상
+유귀우
+유헌필
+유철열
+유무하
+유오경
+유재전
+유복영
+유문재
+유명도
+유재여
+유실재
+유문재
+유순희
+유의숙
+유점화
+유미영
+유 훈
+유상경
+유병수
+유민자
+유주갑
+유태태
+유순봉
+유배근
+유오술
+유동진
+유타리
+유병관
+유동수
+유영덕
+유재현
+유병권
+유효조
+유상자
+유덕용
+유병규
+유명구
+유봉회
+유복희
+유병길
+유기주
+유성식
+유동식
+유병대
+유대수
+유소용
+유점영
+유병덕
+유점성
+유영윤
+유설숙
+유병두
+유춘영
+유중조
+유상종
+유병래
+유갑철
+유영말
+유진천
+유병록
+유영호
+유현규
+유영호
+유병묵
+유인준
+유채석
+유환수
+유병묵
+유영휴
+유현자
+유근용
+유병문
+유삼래
+유선택
+유임길
+유병배
+유무열
+유연복
+유기제
+유병석
+유임수
+유호교
+유삼진
+유병섭
+유현동
+유종학
+유영호
+유병수
+유춘남
+유정순
+유윤길
+유병순
+유용규
+유기식
+유승란
+유병열
+유정경
+유금팔
+유숙원
+유병영
+유명로
+유영열
+유병옥
+유병옥
+유동문
+유창생
+유용황
+유병완
+유응희
+유영용
+유덕녀
+유병외
+유주갑
+유영순
+유세호
+유병용
+유순순
+유태호
+유원한
+유병원
+유경섭
+유우섭
+유희욱
+유병원
+유원달
+유상상
+유차문
+유병윤
+유홍암
+유수수
+유성득
+유병은
+유광대
+유태여
+유재술
+유병이
+유옥배
+유정기
+유석리
+유병주
+유헌자
+유종환
+유석제
+유병주
+유덕식
+유영순
+유용문
+유병주
+유춘영
+유근석
+유명근
+유병철
+유상수
+유순용
+유순봉
+유병철
+유종락
+유부영
+유정학
+유병출
+유영순
+유정일
+유소남
+유병충
+유효순
+유정수
+유호곤
+유병태
+유칠근
+유대철
+유판진
+유병택
+유명세
+유정석
+유종환
+유병하
+유상수
+유의주
+유구원
+유병현
+유영수
+유효균
+유갑대
+유병호
+유무원
+유현희
+유봉상
+유병호
+유경선
+유종봉
+유순자
+유병훈
+유양숙
+유성환
+유 서
+유봉덕
+유순웅
+유응항
+유미섭
+유봉식
+유동식
+유학창
+유동전
+유삼수
+유명판
+유순숙
+유경국
+유상근
+유옥조
+유두복
+유봉락
+유상근
+유윤수
+유일영
+유태화
+유상근
+유규화
+유성용
+유성규
+유상길
+유창덕
+유성일
+유정주
+유상덕
+유철태
+유용선
+유도식
+유상천
+유종식
+유용환
+유종천
+유상태
+유선중
+유점수
+유인한
+유석재
+유문완
+유한필
+유봉문
+유석재
+유봉식
+유충경
+유지지
+유석호
+유성운
+유수숙
+유병해
+유선자
+유영시
+유조수
+유상자
+유선태
+유종석
+유준교
+유분구
+유성수
+유종근
+유태한
+유기수
+유성자
+유선원
+유진달
+유계희
+유성재
+유외식
+유용근
+유성수
+유세록
+유태원
+유양근
+유영건
+유소선
+유장덕
+유수선
+유인경
+유소순
+유창기
+유동권
+유원수
+유송옥
+유순욱
+유성표
+유갑효
+유수남
+유순환
+유달준
+유소은
+유숙자
+유재권
+유용도
+유종관
+유숙희
+유상옥
+유신호
+유춘각
+유순도
+유순수
+유석상
+유현돌
+유순연
+유태권
+유윤정
+유영래
+유순자
+유증운
+유금무
+유화영
+유순조
+유재결
+유순현
+유덕태
+유승교
+유분영
+유기룡
+유정희
+유승훈
+유달근
+유병술
+유종정
+유암이
+유미흠
+유홍원
+유창수
+유애자
+유대순
+유정주
+유홍이
+유애희
+유삼성
+유성희
+유천권
+유양근
+유명태
+유성수
+유언생
+유억식
+유상남
+유성현
+유정숙
+유영계
+유곡청
+유창하
+유원학
+유영수
+유선성
+유문판
+유은강
+유영순
+유선재
+유오찬
+유명록
+유영재
+유상준
+유해판
+유우진
+유영팔
+유정남
+유무희
+유미란
+유용구
+유태학
+유상구
+유봉정
+유용구
+유주화
+유종학
+유명호
+유용범
+유기정
+유보용
+유중동
+유용선
+유성준
+유하국
+유수수
+유용수
+유도복
+유종환
+유영순
+유용식
+유일태
+유용선
+유정태
+유용재
+유정현
+유남교
+유칠조
+유용조
+유순완
+유재래
+유분권
+유우길
+유종석
+유정진
+유순현
+유운영
+유정록
+유동곤
+유상도
+유원근
+유진호
+유병재
+유한삼
+유원일
+유재윤
+유이봉
+유동빈
+유원출
+유규진
+유종호
+유용목
+유원호
+유순남
+유정태
+유을휘
+유월식
+유덕두
+유필선
+유민정
+유위상
+유의주
+유재만
+유영철
+유윤상
+유춘춘
+유학석
+유영남
+유윤재
+유병래
+유정임
+유연우
+유은선
+유태수
+유광세
+유명언
+유은전
+유원석
+유만호
+유윤식
+유은정
+유창주
+유재호
+유정훈
+유은진
+유점덕
+유용근
+유정호
+유을수
+유태만
+유유곤
+유수병
+유을희
+유상태
+유무옥
+유항이
+유인봉
+유상웅
+유병길
+유재오
+유인재
+유문환
+유금순
+유준성
+유일성
+유영호
+유대택
+유성기
+유일성
+유종숙
+유길중
+유재용
+유일성
+유상훈
+유영규
+유원훈
+유장리
+유환웅
+유정국
+유균술
+유재견
+유석구
+유상수
+유상정
+유재곤
+유태식
+유수수
+유은근
+유재근
+유식갑
+유미만
+유순자
+유재도
+유창호
+유영출
+유상우
+유재등
+유필진
+유남만
+유운현
+유재만
+유재훈
+유용원
+유태달
+유재사
+유재종
+유화희
+유일운
+유재선
+유판균
+유청태
+유정연
+유재선
+유호암
+유수복
+유옥열
+유재성
+유만열
+유월엽
+유순태
+유재수
+유영조
+유수범
+유재태
+유재수
+유창점
+유영수
+유응찬
+유재영
+유정진
+유삼연
+유정만
+유재영
+유종원
+유용정
+유충자
+유재용
+유동수
+유재술
+유정달
+유재웅
+유주배
+유주일
+유우배
+유재철
+유인경
+유명석
+유호자
+유재호
+유영봉
+유덕출
+유연희
+유재호
+유종원
+유창태
+유기조
+유재홍
+유홍식
+유사수
+유재재
+유재회
+유상관
+유상란
+유계수
+유재훈
+유을선
+유상순
+유남숙
+유재훈
+유정식
+유철식
+유정계
+유재훈
+유인준
+유강영
+유정덕
+유점분
+유백도
+유상호
+유창택
+유점태
+유신욱
+유문수
+유대덕
+유정경
+유성도
+유영병
+유홍한
+유정근
+유국성
+유재종
+유윤현
+유정도
+유일영
+유재곤
+유창종
+유정식
+유광원
+유경현
+유기동
+유정식
+유양권
+유한식
+유영용
+유정식
+유태식
+유익종
+유차한
+유정자
+유은원
+유영이
+유경태
+유정재
+유동웅
+유종현
+유경연
+유정화
+유복식
+유보기
+유영대
+유제연
+유대호
+유원호
+유나국
+유제춘
+유임열
+유말완
+유병곤
+유제호
+유우욱
+유태택
+유동호
+유종군
+유영형
+유기종
+유옥근
+유종수
+유병필
+유광현
+유태난
+유종식
+유장봉
+유성조
+유차출
+유종중
+유순덕
+유복갑
+유순춘
+유종현
+유옥열
+유석운
+유태수
+유지호
+유삼영
+유상구
+유치만
+유진근
+유재희
+유영복
+유월식
+유차석
+유병호
+유기이
+유현염
+유차선
+유학순
+유광훈
+유응식
+유창근
+유영이
+유종기
+유수표
+유춘영
+유병순
+유봉노
+유철시
+유춘자
+유종실
+유용조
+유도진
+유칠용
+유삼원
+유인자
+유병섭
+유태선
+유창용
+유인열
+유철일
+유태수
+유동대
+유윤연
+유혜호
+유태종
+유철영
+유윤철
+유성보
+유판오
+유승원
+유덕철
+유금수
+유필이
+유인근
+유현영
+유재윤
+유한상
+유지암
+유인덕
+유희순
+유한식
+유성구
+유진영
+유병학
+유한열
+유개홍
+유종상
+유기돌
+유한종
+유준수
+유동용
+유수실
+유해년
+유철종
+유화환
+유상택
+유해운
+유종순
+유창청
+유양희
+유해정
+유마하
+유차권
+유철복
+유해준
+유치순
+유근규
+유정숙
+유행지
+유영수
+유경병
+유대수
+유헌식
+유봉철
+유일수
+유정수
+유현식
+유효택
+유찬웅
+유지한
+유현호
+유형호
+유기재
+유말동
+유홍근
+유영교
+유기숙
+유용헌
+유홍재
+유수종
+유중이
+유해달
+유화웅
+유천곤
+유영우
+유외근
+유효덕
+유금식
+유덕관
+유용조
+유효선
+유정귀
+유광우
+유영수
+유후근
+유점봉
+유영도
+유진종
+유휘선
+유동욱
+유재식
+유록규
+유흥관
+유영순
+유영자
+유철경
+유흥기
+유분래
+유익순
+유병수
+육무웅
+육성석
+육동현
+육진중
+육종근
+육충복
+육영규
+육무수
+육종대
+육석익
+육성일
+육귀근
+육희숙
+육의준
+육재표
+육규우
+윤 순
+윤기섭
+윤광휴
+윤화열
+윤갑순
+윤강개
+윤종군
+윤종한
+윤경복
+윤용록
+윤용국
+윤팔연
+윤경식
+윤정등
+윤금철
+윤수년
+윤경조
+윤헌호
+윤정재
+윤 수
+윤경호
+윤명기
+윤천환
+윤설태
+윤경희
+윤주옥
+윤차선
+윤춘석
+윤계연
+윤세선
+윤해자
+윤봉상
+윤공원
+윤낙규
+윤명흥
+윤애환
+윤관식
+윤태현
+윤해우
+윤인학
+윤광기
+윤계준
+윤명선
+윤상조
+윤권식
+윤금기
+윤달철
+윤선용
+윤권정
+윤영기
+윤점창
+윤태찬
+윤귀연
+윤용학
+윤장원
+윤계술
+윤규영
+윤우영
+윤춘구
+윤양진
+윤규영
+윤금식
+윤재수
+윤창규
+윤근만
+윤선태
+윤광조
+윤호계
+윤근수
+윤정선
+윤춘연
+윤재환
+윤금선
+윤주택
+윤태식
+윤춘규
+윤금식
+윤종기
+윤영보
+윤연실
+윤기덕
+윤순구
+윤지해
+윤경교
+윤기연
+윤명황
+윤진환
+윤정기
+윤기원
+윤순근
+윤기태
+윤심영
+윤길기
+윤윤일
+윤영리
+윤병호
+윤남기
+윤영주
+윤재이
+윤종길
+윤남식
+윤용길
+윤원일
+윤득량
+윤대영
+윤재미
+윤용문
+윤상호
+윤대현
+윤본연
+윤혁범
+윤실찬
+윤덕기
+윤병창
+윤춘준
+윤수점
+윤덕준
+윤영호
+윤용원
+윤덕호
+윤도균
+윤소원
+윤영종
+윤흥창
+윤도환
+윤영보
+윤수혁
+윤수기
+윤도희
+윤봉승
+윤안철
+윤옥봉
+윤동식
+윤례균
+윤점남
+윤재식
+윤동환
+윤옥중
+윤창호
+윤웅봉
+윤두기
+윤방동
+윤은학
+윤종휘
+윤두연
+윤종철
+윤해규
+윤옥봉
+윤명국
+윤정철
+윤주식
+윤헌기
+윤명기
+윤정희
+윤상수
+윤병희
+윤모임
+윤홍택
+윤상열
+윤무수
+윤문구
+윤일희
+윤미환
+윤도대
+윤문기
+윤수균
+윤을호
+윤임훈
+윤문영
+윤태규
+윤태남
+윤기철
+윤병관
+윤말현
+윤균호
+윤봉봉
+윤병국
+윤달동
+윤만일
+윤호술
+윤병금
+윤남분
+윤삼기
+윤인철
+윤병기
+윤성순
+윤봉석
+윤권식
+윤병기
+윤명학
+윤진윤
+윤성환
+윤병길
+윤인국
+윤재균
+윤종배
+윤병길
+윤성웅
+윤영갑
+윤인선
+윤병노
+윤상조
+윤순원
+윤덕한
+윤병만
+윤수연
+윤낙석
+윤문묵
+윤병섭
+윤명원
+윤석강
+윤병경
+윤병욱
+윤천삼
+윤용희
+윤병기
+윤병입
+윤민화
+윤병국
+윤재철
+윤병조
+윤중선
+윤문기
+윤인규
+윤병천
+윤광희
+윤임택
+윤정홍
+윤병혁
+윤재흠
+윤종순
+윤재철
+윤병화
+윤기권
+윤상용
+윤성의
+윤보수
+윤영호
+윤삼현
+윤수식
+윤복용
+윤종성
+윤삼출
+윤정동
+윤봉춘
+윤영현
+윤준석
+윤영종
+윤분덕
+윤율정
+윤정중
+윤남헌
+윤분악
+윤정국
+윤복자
+윤대호
+윤분조
+윤손경
+윤진용
+윤홍태
+윤삼수
+윤쌍학
+윤매금
+윤욱생
+윤삼순
+윤주길
+윤성효
+윤성열
+윤삼암
+윤봉환
+윤원성
+윤수동
+윤상기
+윤동윤
+윤승호
+윤호원
+윤상노
+윤석옥
+윤태이
+윤무이
+윤상문
+윤영복
+윤정호
+윤순순
+윤상호
+윤연강
+윤황우
+윤남섭
+윤석기
+윤재현
+윤오일
+윤말용
+윤석암
+윤정천
+윤정열
+윤극상
+윤석용
+윤태란
+윤재근
+윤외세
+윤석주
+윤범하
+윤재회
+윤태열
+윤석찬
+윤삼호
+윤기우
+윤종화
+윤석한
+윤상환
+윤이득
+윤영기
+윤수기
+윤복옥
+윤영호
+윤사분
+윤수원
+윤강악
+윤동식
+윤용명
+윤수한
+윤수청
+윤기성
+윤태현
+윤숙자
+윤태진
+윤장석
+윤현용
+윤순이
+윤기택
+윤성창
+윤분홍
+윤순조
+윤영각
+윤재술
+윤택이
+윤순학
+윤오권
+윤규수
+윤기태
+윤순황
+윤재우
+윤홍연
+윤진학
+윤신오
+윤후우
+윤근차
+윤미복
+윤실경
+윤점기
+윤경수
+윤상호
+윤언기
+윤주대
+윤옥주
+윤영길
+윤언주
+윤보란
+윤상길
+윤등흠
+윤영국
+윤병동
+윤용일
+윤옥웅
+윤영숙
+윤갑환
+윤창경
+윤신영
+윤영임
+윤성순
+윤홍희
+윤학례
+윤영자
+윤정환
+윤오남
+윤장호
+윤영채
+윤영웅
+윤덕순
+윤석환
+윤영화
+윤중호
+윤성석
+윤봉임
+윤영희
+윤수익
+윤기곤
+윤정균
+윤영희
+윤영모
+윤연생
+윤숙구
+윤옥순
+윤국수
+윤춘업
+윤승석
+윤용관
+윤 기
+윤재철
+윤덕국
+윤용근
+윤지결
+윤사출
+윤영순
+윤용수
+윤술태
+윤상복
+윤천량
+윤원식
+윤봉웅
+윤진준
+윤용재
+윤원식
+윤수재
+윤재옥
+윤용규
+윤월만
+윤동연
+윤옥창
+윤점환
+윤을수
+윤수원
+윤용자
+윤봉기
+윤의웅
+윤실철
+윤일동
+윤정희
+윤이수
+윤영호
+윤을재
+윤삼순
+윤인섭
+윤해구
+윤만원
+윤용돌
+윤일식
+윤선호
+윤동열
+윤종식
+윤일식
+윤청열
+윤항수
+윤만곤
+윤일영
+윤삼성
+윤종섭
+윤관효
+윤임순
+윤문하
+윤노철
+윤수환
+윤재기
+윤동복
+윤성호
+윤경선
+윤재성
+윤용모
+윤영수
+윤영식
+윤점식
+윤원용
+윤권배
+윤희태
+윤점원
+윤말호
+윤의수
+윤외석
+윤정규
+윤현화
+윤대석
+윤원술
+윤정길
+윤기준
+윤도태
+윤욱동
+윤정옥
+윤신식
+윤영조
+윤태수
+윤정현
+윤덕중
+윤경도
+윤장수
+윤정호
+윤외석
+윤문식
+윤기식
+윤정효
+윤정건
+윤학식
+윤정조
+윤종각
+윤영문
+윤종룡
+윤억학
+윤종갑
+윤기인
+윤종선
+윤태조
+윤종구
+윤기호
+윤순길
+윤순일
+윤종규
+윤학덕
+윤기윤
+윤병성
+윤종극
+윤준원
+윤재용
+윤신수
+윤종대
+윤덕애
+윤병조
+윤창기
+윤종덕
+윤철순
+윤종남
+윤해세
+윤종덕
+윤순기
+윤판택
+윤정선
+윤종록
+윤영구
+윤범민
+윤정양
+윤종립
+윤태화
+윤주호
+윤수자
+윤종립
+윤태호
+윤운래
+윤옥수
+윤종문
+윤소호
+윤학용
+윤의경
+윤종민
+윤원식
+윤정홍
+윤종재
+윤종석
+윤정배
+윤양백
+윤두이
+윤종선
+윤영순
+윤재성
+윤극용
+윤종설
+윤석욱
+윤윤만
+윤손포
+윤종식
+윤경선
+윤동태
+윤원사
+윤종우
+윤주금
+윤기명
+윤득영
+윤종원
+윤세철
+윤성호
+윤종근
+윤종율
+윤기수
+윤병근
+윤태우
+윤종조
+윤계숙
+윤인상
+윤봉이
+윤종철
+윤윤익
+윤환도
+윤수수
+윤종해
+윤오익
+윤종근
+윤욱순
+윤종희
+윤한관
+윤언건
+윤미봉
+윤주건
+윤원석
+윤진하
+윤열환
+윤준겸
+윤상덕
+윤성우
+윤경우
+윤중기
+윤삼규
+윤승도
+윤세순
+윤지균
+윤희임
+윤한용
+윤성호
+윤진균
+윤말구
+윤소자
+윤석준
+윤진율
+윤광호
+윤은현
+윤기보
+윤진철
+윤형재
+윤광우
+윤상금
+윤찬기
+윤용현
+윤덕영
+윤태돌
+윤창락
+윤주한
+윤상현
+윤순호
+윤철중
+윤봉석
+윤대룡
+윤원구
+윤충길
+윤계균
+윤명섭
+윤문두
+윤태금
+윤소덕
+윤병식
+윤승준
+윤태수
+윤병숙
+윤정길
+윤필갑
+윤태식
+윤태복
+윤종이
+윤명진
+윤택기
+윤상식
+윤향희
+윤재미
+윤판균
+윤연희
+윤영금
+윤종철
+윤판기
+윤해철
+윤홍희
+윤춘화
+윤판술
+윤길건
+윤기태
+윤전홍
+윤학범
+윤석덕
+윤창식
+윤성순
+윤학원
+윤용호
+윤기노
+윤병구
+윤학조
+윤환기
+윤상성
+윤정열
+윤한동
+윤태이
+윤인현
+윤성훈
+윤한동
+윤한우
+윤용만
+윤선천
+윤한식
+윤용경
+윤경순
+윤좌홍
+윤함균
+윤노언
+윤원수
+윤대수
+윤현교
+윤성리
+윤 득
+윤전금
+윤현숙
+윤성종
+윤태호
+윤영조
+윤현우
+윤명홍
+윤종덕
+윤경수
+윤호용
+윤진교
+윤봉희
+윤희태
+윤화선
+윤홍철
+윤기도
+윤락식
+윤효기
+윤금일
+윤태란
+윤소동
+윤희달
+윤복암
+윤태진
+윤하주
+윤희대
+윤정익
+윤정만
+윤봉봉
+윤희덕
+윤윤식
+윤홍덕
+윤갑원
+윤희선
+윤종규
+윤홍익
+윤성광
+은덕기
+은헌선
+은상순
+은용진
+은충기
+은광희
+은분수
+은순병
+이 건
+이승기
+이원암
+이헌근
+이 경
+이삼해
+이병호
+이용권
+이 상
+이종택
+이성호
+이점백
+이 수
+이영수
+이종순
+이춘영
+이 숙
+이병교
+이정석
+이계조
+이 엄
+이해재
+이재행
+이대출
+이 인
+이창근
+이석원
+이재섭
+이 정
+이정룡
+이태학
+이상연
+이 준
+이순선
+이종권
+이춘석
+이 증
+이춘일
+이정식
+이순구
+이 진
+이정도
+이소자
+이종범
+이 청
+이상희
+이삼수
+이언돌
+이 학
+이함순
+이종재
+이경길
+이 호
+이재환
+이창훈
+이금수
+이 훈
+이음철
+이구용
+이태호
+이 훈
+이도욱
+이상말
+이경철
+이가매
+이종수
+이규만
+이수옥
+이감우
+이성근
+이영출
+이철원
+이갑노
+이세부
+이영성
+이경문
+이갑득
+이상수
+이상환
+이동호
+이갑석
+이경각
+이선호
+이영보
+이갑선
+이준윤
+이고호
+이재기
+이갑수
+이판용
+이종춘
+이윤기
+이갑순
+이승조
+이영호
+이영수
+이갑용
+이선영
+이정근
+이효섭
+이갑용
+이상호
+이점기
+이근학
+이갑임
+이내식
+이상순
+이길동
+이갑임
+이광균
+이면율
+이술갑
+이갑조
+이태분
+이국술
+이재기
+이갑조
+이기도
+이기순
+이효태
+이갑주
+이무식
+이태섭
+이광희
+이강렬
+이기집
+이수숙
+이영규
+이강명
+이은원
+이상식
+이준율
+이강석
+이윤순
+이경수
+이창희
+이강석
+이성화
+이두동
+이성혁
+이강세
+이태자
+이영선
+이재섭
+이강수
+이복종
+이소규
+이재원
+이강식
+이봉수
+이달대
+이갑한
+이강천
+이상율
+이성석
+이광호
+이강호
+이세순
+이수영
+이윤중
+이강호
+이영길
+이수임
+이종훈
+이강희
+이기병
+이범련
+이정수
+이개동
+이무호
+이금동
+이정석
+이개동
+이상수
+이상식
+이동섭
+이건곤
+이병현
+이권향
+이나철
+이건석
+이규자
+이수수
+이경수
+이건영
+이진균
+이선석
+이윤호
+이건옥
+이현도
+이선철
+이용용
+이건웅
+이용영
+이갑분
+이성순
+이건호
+이영서
+이명환
+이정환
+이건희
+이주학
+이윤배
+이종호
+이겸갑
+이미길
+이광만
+이영준
+이겸갑
+이교식
+이복영
+이옥순
+이경근
+이삼화
+이대문
+이문우
+이경노
+이종호
+이종우
+이원현
+이경동
+이외규
+이노회
+이혜옥
+이경동
+이노복
+이재수
+이명제
+이경란
+이찬정
+이정균
+이병원
+이경렬
+이영열
+이선이
+이정수
+이경만
+이남회
+이재덕
+이을만
+이경만
+이윤준
+이동근
+이근원
+이경목
+이점오
+이언봉
+이명환
+이경문
+이성연
+이종길
+이만윤
+이경봉
+이정진
+이금순
+이춘기
+이경석
+이영석
+이경분
+이종록
+이경석
+이중봉
+이명석
+이기관
+이경석
+이태근
+이한용
+이삼숙
+이경석
+이순종
+이삼봉
+이장우
+이경선
+이희원
+이점임
+이봉환
+이경수
+이성성
+이정섭
+이영우
+이경수
+이우철
+이판수
+이중순
+이경숙
+이동석
+이기찬
+이복출
+이경숙
+이상득
+이용선
+이수기
+이경순
+이경동
+이상호
+이구렬
+이경순
+이오진
+이덕덕
+이판길
+이경순
+이선복
+이수동
+이창덕
+이경식
+이정수
+이경용
+이달동
+이경식
+이신권
+이영문
+이말환
+이경암
+이만기
+이순숙
+이봉규
+이경영
+이광길
+이종석
+이순구
+이경옥
+이 화
+이기석
+이삼순
+이경이
+이수환
+이성호
+이명수
+이경자
+이소도
+이경집
+이석술
+이경출
+이우인
+이분관
+이주태
+이경탁
+이종숙
+이노택
+이경도
+이경호
+이종호
+이동수
+이윤분
+이경호
+이삼철
+이희흠
+이길섭
+이경호
+이성수
+이인수
+이창희
+이경후
+이태정
+이영운
+이만상
+이경훈
+이병홍
+이경석
+이주근
+이경희
+이종록
+이혁종
+이채섭
+이경희
+이복조
+이상수
+이차영
+이경희
+이정재
+이종래
+이유근
+이계로
+이정현
+이순기
+이사영
+이계문
+이경환
+이명문
+이정경
+이계분
+이근식
+이윤입
+이호상
+이계분
+이영오
+이점경
+이업철
+이계자
+이공악
+이순동
+이순근
+이계출
+이현강
+이칠완
+이제교
+이계호
+이영선
+이인열
+이장자
+이계홍
+이필구
+이택근
+이정권
+이계화
+이오기
+이춘조
+이여관
+이계훈
+이의식
+이필순
+이용중
+이고훈
+이만립
+이태천
+이재기
+이공만
+이창정
+이계태
+이영수
+이관기
+이명기
+이상배
+이성기
+이관식
+이윤리
+이동수
+이소길
+이관식
+이상철
+이태봉
+이정출
+이관이
+이점동
+이경웅
+이명입
+이관희
+이규용
+이진도
+이병근
+이광덕
+이원일
+이태만
+이분향
+이광배
+이상수
+이대건
+이동환
+이광석
+이위열
+이남식
+이쌍근
+이광석
+이재주
+이태현
+이수용
+이광수
+이종재
+이석성
+이상이
+이광수
+이상배
+이한식
+이긍조
+이광수
+이순자
+이규경
+이금태
+이광수
+이명봉
+이태국
+이상원
+이광수
+이승국
+이병호
+이억자
+이광수
+이석삼
+이상진
+이수화
+이광식
+이동근
+이만완
+이진환
+이광열
+이소곤
+이도원
+이상규
+이광일
+이차식
+이명동
+이태기
+이광자
+이명철
+이한주
+이희국
+이광재
+이종숙
+이종민
+이수희
+이광재
+이만래
+이해필
+이정덕
+이광조
+이기준
+이종순
+이태남
+이광조
+이기리
+이미종
+이세택
+이광준
+이성학
+이복석
+이춘석
+이광택
+이분환
+이윤택
+이종호
+이광행
+이상식
+이희도
+이술조
+이광호
+이만학
+이연택
+이길철
+이광호
+이종술
+이옥용
+이광호
+이광호
+이기관
+이진부
+이한숙
+이광호
+이인윤
+이재우
+이덕경
+이광호
+이승길
+이옥희
+이윤일
+이광호
+이병호
+이태섭
+이임용
+이광희
+이성서
+이규천
+이진훈
+이교선
+이미희
+이춘규
+이기호
+이교주
+이실욱
+이재규
+이준석
+이교주
+이언갑
+이재기
+이판열
+이교철
+이기복
+이흥용
+이종헌
+이구복
+이선동
+이계철
+이용완
+이구원
+이정수
+이영열
+이승태
+이구철
+이호경
+이의복
+이용희
+이구호
+이동흠
+이영분
+이상식
+이구홍
+이상선
+이재만
+이낙수
+이국균
+이갑일
+이해원
+이대석
+이국조
+이중형
+이병달
+이소천
+이국환
+이진태
+이기권
+이육두
+이국희
+이판숙
+이종석
+이자남
+이권도
+이재봉
+이점성
+이태식
+이권순
+이한현
+이종치
+이미광
+이권술
+이교래
+이일진
+이도형
+이권한
+이학도
+이용순
+이명식
+이권호
+이현상
+이태곤
+이남복
+이귀남
+이대식
+이광식
+이근복
+이귀남
+이동우
+이갑용
+이성희
+이귀덕
+이재숙
+이병순
+이순식
+이귀희
+이을이
+이영옥
+이정갑
+이귄식
+이상명
+이장석
+이정익
+이규경
+이학용
+이경배
+이영덕
+이규남
+이성환
+이말규
+이선봉
+이규년
+이수수
+이갑수
+이순구
+이규담
+이영수
+이인용
+이덕기
+이규도
+이옥출
+이병원
+이순고
+이규돈
+이송기
+이용현
+이동열
+이규례
+이상식
+이홍열
+이병환
+이규명
+이동학
+이종근
+이대석
+이규복
+이두상
+이문식
+이준경
+이규복
+이상호
+이양회
+이해섭
+이규부
+이원용
+이병식
+이종기
+이규상
+이원규
+이승우
+이재봉
+이규상
+이갑헌
+이경수
+이성덕
+이규석
+이상호
+이경호
+이병훈
+이규섭
+이태교
+이월연
+이도태
+이규섭
+이의호
+이동점
+이태선
+이규성
+이조관
+이해선
+이승기
+이규숙
+이상춘
+이운칠
+이임증
+이규안
+이원군
+이태환
+이용호
+이규옥
+이진식
+이경진
+이선우
+이규옥
+이기열
+이심오
+이일길
+이규완
+이부환
+이명일
+이석석
+이규완
+이광조
+이춘선
+이운덕
+이규용
+이석봉
+이수용
+이원곤
+이규용
+이원태
+이헌두
+이상동
+이규원
+이두호
+이상기
+이말태
+이규인
+이정범
+이판억
+이정배
+이규주
+이수환
+이수진
+이종숙
+이규진
+이현태
+이순경
+이경욱
+이규진
+이승표
+이영완
+이상근
+이규찬
+이재수
+이정란
+이영량
+이규찬
+이규익
+이한수
+이연규
+이규태
+이정주
+이근해
+이규홍
+이규태
+이해수
+이원문
+이명자
+이규택
+이장자
+이윤호
+이상협
+이규한
+이구순
+이덕언
+이용해
+이규현
+이종우
+이선조
+이호영
+이규홍
+이윤열
+이용희
+이태훈
+이균암
+이수상
+이수암
+이상호
+이균열
+이혜희
+이희문
+이윤동
+이균호
+이중화
+이봉주
+이혜만
+이근갑
+이경병
+이영영
+이춘생
+이근기
+이동용
+이령수
+이낙재
+이근길
+이수선
+이영우
+이미영
+이근배
+이윤원
+이춘식
+이광길
+이근백
+이상호
+이만규
+이순원
+이근범
+이현환
+이순복
+이갑식
+이근보
+이용순
+이성연
+이철병
+이근봉
+이규동
+이영술
+이래형
+이근서
+이정원
+이한만
+이윤치
+이근석
+이창주
+이 환
+이태순
+이근수
+이윤기
+이성석
+이광화
+이근영
+이재향
+이한석
+이수조
+이근우
+이삼술
+이분생
+이성숙
+이근우
+이태례
+이칠수
+이호이
+이근우
+이용대
+이술상
+이경기
+이근준
+이인윤
+이말근
+이영일
+이근중
+이영숙
+이세종
+이영희
+이근직
+이호식
+이우식
+이용형
+이근태
+이영용
+이동용
+이수권
+이근택
+이종수
+이창일
+이완용
+이근호
+이경이
+이기조
+이태규
+이근화
+이창효
+이용환
+이종분
+이근황
+이성진
+이정호
+이맹봉
+이금례
+이순득
+이한호
+이한조
+이금삼
+이옥득
+이명현
+이옥석
+이금석
+이만정
+이용태
+이선식
+이금석
+이덕분
+이성현
+이동갑
+이금석
+이성수
+이대규
+이태만
+이금선
+이종경
+이성세
+이봉수
+이금선
+이동순
+이신석
+이만호
+이금식
+이송숙
+이상옥
+이인봉
+이금연
+이태재
+이말식
+이남현
+이금연
+이복석
+이옥환
+이경택
+이금옥
+이대병
+이수남
+이성용
+이금옥
+이경식
+이수순
+이규동
+이금자
+이태출
+이재배
+이대창
+이금주
+이인수
+이우봉
+이도윤
+이금치
+이정종
+이정연
+이주조
+이기동
+이완준
+이점철
+이병태
+이기로
+이수진
+이갑순
+이흥수
+이기만
+이효남
+이태환
+이계찬
+이기목
+이한철
+이상상
+이이철
+이기병
+이인강
+이성기
+이달환
+이기복
+이원오
+이덕현
+이종숙
+이기분
+이순범
+이인주
+이상심
+이기빈
+이병석
+이길순
+이재보
+이기상
+이경호
+이정현
+이태영
+이기상
+이태철
+이광봉
+이기학
+이기상
+이일연
+이성준
+이의순
+이기생
+이봉우
+이쾌규
+이차만
+이기세
+이종성
+이원근
+이정이
+이기송
+이순민
+이정열
+이정희
+이기순
+이진한
+이도한
+이장인
+이기순
+이채정
+이주희
+이관화
+이기식
+이상규
+이장식
+이의만
+이기암
+이현수
+이상임
+이종국
+이기연
+이채철
+이태근
+이채순
+이기영
+이영동
+이대열
+이재복
+이기영
+이타용
+이진상
+이광철
+이기완
+이윤학
+이원희
+이준천
+이기용
+이순학
+이성옥
+이정계
+이기우
+이주수
+이동순
+이추복
+이기웅
+이충흠
+이석희
+이상석
+이기원
+이병홍
+이대경
+이영효
+이기원
+이대근
+이암진
+이출두
+이기자
+이춘희
+이경희
+이한호
+이기전
+이정숙
+이택득
+이정희
+이기종
+이종훈
+이기수
+이수숙
+이기주
+이두권
+이두갑
+이상수
+이기주
+이판진
+이풍근
+이경열
+이기진
+이부선
+이성작
+이대봉
+이기창
+이정석
+이병열
+이천식
+이기창
+이갑수
+이기수
+이동희
+이기철
+이상동
+이충만
+이팔훈
+이기철
+이성철
+이원식
+이천연
+이기태
+이점태
+이강호
+이낙우
+이기태
+이도표
+이준태
+이용구
+이기태
+이계악
+이한환
+이호술
+이기호
+이상호
+이행근
+이상원
+이기호
+이명문
+이욱운
+이태환
+이기호
+이두일
+이만남
+이선호
+이기홍
+이명중
+이병준
+이부대
+이기홍
+이정숙
+이종현
+이순자
+이기화
+이춘순
+이성현
+이태연
+이기환
+이춘석
+이봉일
+이점로
+이기훈
+이태규
+이소식
+이종섭
+이길석
+이우봉
+이신열
+이영조
+이길선
+이종호
+이희흠
+이대현
+이길용
+이호숙
+이재환
+이성석
+이길용
+이상엽
+이해기
+이재순
+이길재
+이덕환
+이옥래
+이희종
+이길재
+이정응
+이우욱
+이종중
+이길철
+이민술
+이종섭
+이일영
+이길태
+이태석
+이창화
+이진목
+이길한
+이태식
+이순득
+이효회
+이길호
+이종식
+이계순
+이규녀
+이길호
+이천원
+이중호
+이병준
+이길환
+이선상
+이창석
+이동선
+이길휘
+이종경
+이윤용
+이준헌
+이남기
+이부식
+이종오
+이태학
+이남기
+이대근
+이주표
+이일형
+이남덕
+이상환
+이종헌
+이채구
+이남선
+이광구
+이재영
+이재완
+이남순
+이주식
+이정분
+이해주
+이남술
+이선렬
+이영분
+이명희
+이남철
+이경열
+이영웅
+이판동
+이노근
+이광구
+이경상
+이태돌
+이노석
+이성성
+이채희
+이창배
+이노종
+이주우
+이정만
+이영두
+이다순
+이기록
+이상술
+이환동
+이달관
+이형율
+이판연
+이정호
+이달기
+이옥영
+이수석
+이용욱
+이달기
+이분운
+이명룡
+이등주
+이달기
+이계암
+이운민
+이현암
+이달례
+이순환
+이태식
+이은주
+이달로
+이해임
+이영세
+이상이
+이달봉
+이병록
+이 운
+이성용
+이달삼
+이인수
+이해연
+이현순
+이달수
+이신재
+이상복
+이민덕
+이달영
+이순연
+이동기
+이한훈
+이달영
+이수조
+이형출
+이주국
+이달완
+이영팔
+이만미
+이오헌
+이달웅
+이명진
+이세기
+이순주
+이달창
+이우출
+이봉익
+이영수
+이달초
+이영래
+이재동
+이경환
+이달파
+이영환
+이희운
+이헌진
+이달포
+이일분
+이병영
+이성규
+이달호
+이필창
+이정만
+이우국
+이달호
+이우봉
+이철은
+이재현
+이달호
+이찬호
+이상수
+이명재
+이달호
+이종운
+이철돌
+이한암
+이달화
+이장옥
+이근근
+이수자
+이달화
+이해성
+이재해
+이안암
+이달휴
+이한분
+이정수
+이경흔
+이달희
+이순균
+이대희
+이병수
+이대병
+이동성
+이기진
+이동수
+이대석
+이영량
+이기천
+이천덕
+이대성
+이순우
+이기순
+이억수
+이대성
+이양연
+이원만
+이점완
+이대세
+이병량
+이국필
+이병병
+이대세
+이진복
+이헌기
+이태우
+이대식
+이인복
+이석경
+이호진
+이대식
+이동근
+이해식
+이택순
+이대용
+이기연
+이형규
+이연욱
+이대우
+이호복
+이정립
+이병연
+이대우
+이시섭
+이병용
+이성희
+이대우
+이대현
+이주완
+이학우
+이대원
+이석홍
+이진순
+이봉영
+이대항
+이상구
+이두오
+이원수
+이대훈
+이국식
+이봉노
+이일애
+이대훈
+이언주
+이세자
+이신식
+이대희
+이헌근
+이진출
+이남억
+이덕남
+이복권
+이말연
+이화원
+이덕녕
+이쾌덕
+이순해
+이영자
+이덕래
+이문규
+이순수
+이경윤
+이덕배
+이수영
+이태식
+이말호
+이덕봉
+이선남
+이정찬
+이정수
+이덕봉
+이해갑
+이종희
+이정화
+이덕상
+이주순
+이현도
+이태순
+이덕석
+이태환
+이일덕
+이원현
+이덕순
+이영용
+이덕남
+이주복
+이덕순
+이찬찬
+이덕환
+이종림
+이덕순
+이동자
+이미자
+이봉상
+이덕영
+이진연
+이진동
+이한조
+이덕용
+이덕애
+이원이
+이소우
+이덕윤
+이태수
+이옥애
+이영환
+이덕재
+이해헌
+이점인
+이지준
+이덕형
+이용자
+이노수
+이재향
+이덕호
+이대수
+이정순
+이광범
+이덕환
+이국세
+이주동
+이상열
+이덕희
+이우현
+이차율
+이영석
+이덕희
+이상주
+이진환
+이남덕
+이도기
+이길성
+이광진
+이재웅
+이도석
+이태일
+이순효
+이동환
+이도석
+이순덕
+이세선
+이재하
+이도수
+이대수
+이동영
+이상열
+이도원
+이영림
+이진윤
+이종탁
+이도환
+이도희
+이수환
+이한우
+이돈춘
+이상연
+이순현
+이병호
+이동건
+이용강
+이원재
+이재준
+이동규
+이태덕
+이남순
+이영순
+이동균
+이재종
+이두악
+이석열
+이동균
+이영호
+이달만
+이현득
+이동녕
+이현호
+이수태
+이우현
+이동대
+이양철
+이동환
+이산점
+이동만
+이혜강
+이태용
+이주수
+이동발
+이판상
+이선수
+이인웅
+이동봉
+이재권
+이치학
+이희선
+이동석
+이상호
+이광직
+이옥익
+이동석
+이일호
+이해효
+이윤자
+이동석
+이정구
+이돈학
+이찬우
+이동수
+이은득
+이부옥
+이재광
+이동순
+이채길
+이정덕
+이규환
+이동열
+이상인
+이낙수
+이인훈
+이동옥
+이상환
+이양수
+이영석
+이동우
+이덕희
+이경국
+이차구
+이동운
+이정식
+이오헌
+이성영
+이동원
+이지준
+이정경
+이태철
+이동원
+이동희
+이재십
+이광대
+이동원
+이용희
+이규수
+이영인
+이동주
+이태호
+이성호
+이원윤
+이동찬
+이영규
+이만호
+이경도
+이동천
+이대식
+이임섭
+이득태
+이동철
+이영술
+이만홍
+이상해
+이동철
+이일호
+이경순
+이경기
+이동철
+이진미
+이상관
+이영열
+이동춘
+이장수
+이순옥
+이광옥
+이동춘
+이소현
+이판진
+이성이
+이동태
+이차도
+이삼열
+이웅근
+이동태
+이무옥
+이형록
+이용리
+이동학
+이인환
+이인용
+이남섭
+이동해
+이영자
+이성재
+이정국
+이동헌
+이경태
+이홍현
+이대식
+이동헌
+이재제
+이윤용
+이미광
+이동호
+이임조
+이식색
+이장남
+이동호
+이영해
+이해옥
+이희창
+이동훈
+이진호
+이용출
+이상선
+이동훈
+이봉섭
+이태호
+이태경
+이두열
+이연태
+이말돌
+이화인
+이두원
+이점원
+이창덕
+이수목
+이두원
+이상성
+이재준
+이만식
+이두이
+이학목
+이병수
+이순홍
+이두현
+이정수
+이종일
+이영춘
+이두호
+이정분
+이수순
+이현식
+이두환
+이상부
+이웅완
+이건권
+이두희
+이영원
+이추태
+이성열
+이득우
+이순성
+이영도
+이영용
+이득춘
+이태교
+이수웅
+이종곤
+이란순
+이수식
+이오식
+이윤원
+이래연
+이윤균
+이연성
+이경우
+이량균
+이영감
+이종룡
+이승근
+이리자
+이옥생
+이선경
+이성창
+이만경
+이철근
+이두준
+이상동
+이만규
+이명휴
+이택철
+이태래
+이만기
+이용원
+이삼노
+이춘일
+이만도
+이명호
+이성휴
+이정윤
+이만석
+이수상
+이순학
+이창모
+이만석
+이차숙
+이봉남
+이춘용
+이만수
+이윤주
+이종환
+이종수
+이만수
+이호진
+이영원
+이의헌
+이만순
+이호재
+이정문
+이영구
+이만용
+이석환
+이삼헌
+이익종
+이만용
+이일정
+이소수
+이유암
+이만원
+이수득
+이헌술
+이재성
+이만원
+이두휘
+이선권
+이용주
+이만원
+이철순
+이장만
+이권운
+이만원
+이태훈
+이점정
+이현오
+이만원
+이옥홍
+이차운
+이석태
+이만조
+이한규
+이병문
+이호랑
+이만진
+이승철
+이용란
+이순자
+이만화
+이호술
+이병운
+이동권
+이만효
+이재선
+이소수
+이병덕
+이말문
+이상자
+이문호
+이추욱
+이말분
+이기태
+이금연
+이광지
+이말숙
+이홍호
+이삼화
+이명수
+이말순
+이정웅
+이운일
+이연혜
+이말술
+이상배
+이남진
+이종기
+이말여
+이을용
+이영희
+이성이
+이말임
+이덕영
+이병준
+이영균
+이말준
+이수광
+이점주
+이정권
+이말태
+이강덕
+이종기
+이용자
+이맹수
+이재식
+이진순
+이헌선
+이면기
+이정용
+이신순
+이태국
+이면우
+이봉철
+이만완
+이희식
+이면희
+이진이
+이은수
+이광주
+이명근
+이길주
+이완계
+이만희
+이명기
+이기영
+이병탁
+이연표
+이명기
+이봉양
+이재호
+이말희
+이명남
+이재경
+이성춘
+이성하
+이명대
+이종숙
+이수길
+이종태
+이명석
+이형기
+이진철
+이만근
+이명선
+이종순
+이태섭
+이종환
+이명선
+이수수
+이광조
+이정태
+이명섭
+이종용
+이정우
+이동규
+이명성
+이기욱
+이길석
+이봉근
+이명세
+이의두
+이경생
+이석칠
+이명수
+이대환
+이용호
+이병곤
+이명수
+이동분
+이판철
+이영길
+이명수
+이귀남
+이수미
+이경석
+이명숙
+이성태
+이해숙
+이경락
+이명숙
+이성리
+이영조
+이준이
+이명순
+이무훈
+이효학
+이정태
+이명순
+이경자
+이순동
+이등식
+이명술
+이광웅
+이이조
+이윤돌
+이명술
+이선우
+이철국
+이순자
+이명술
+이상분
+이봉호
+이성붕
+이명애
+이금곤
+이기득
+이명문
+이명연
+이차순
+이용환
+이규성
+이명오
+이문환
+이상출
+이기동
+이명오
+이방숙
+이말영
+이태수
+이명오
+이영기
+이헌목
+이상이
+이명원
+이연희
+이은준
+이수포
+이명재
+이말찬
+이병득
+이춘형
+이명조
+이성영
+이광윤
+이점구
+이명진
+이경찬
+이상우
+이달용
+이명학
+이성숙
+이성기
+이윤윤
+이명호
+이미일
+이오수
+이남균
+이명호
+이상권
+이수희
+이정희
+이명환
+이영식
+이만성
+이규곤
+이명환
+이기배
+이성재
+이성찬
+이명환
+이성섭
+이상용
+이해정
+이명환
+이강태
+이종달
+이수수
+이명희
+이응식
+이상술
+이인문
+이명희
+이윤섭
+이문식
+이휘목
+이명희
+이명식
+이진성
+이영수
+이명희
+이영연
+이강윤
+이재환
+이모설
+이창규
+이한자
+이기달
+이묘금
+이귄영
+이극식
+이무용
+이무근
+이수길
+이철수
+이대삼
+이무생
+이정성
+이영수
+이덕규
+이무선
+이영용
+이영태
+이해숙
+이무성
+이동일
+이성창
+이백화
+이무순
+이용자
+이종석
+이수응
+이무순
+이길업
+이순헌
+이상옥
+이무영
+이인란
+이재자
+이차삼
+이무우
+이영기
+이옥칠
+이일익
+이무웅
+이지호
+이현회
+이재식
+이무일
+이정식
+이재석
+이용우
+이무임
+이성길
+이지용
+이헌현
+이무천
+이헌인
+이희권
+이국은
+이무현
+이영주
+이치동
+이창환
+이무현
+이길기
+이미희
+이정덕
+이무호
+이남복
+이영환
+이준우
+이무호
+이정홍
+이순택
+이숙형
+이무호
+이영자
+이동현
+이부동
+이무환
+이인수
+이해선
+이종용
+이문갑
+이덕수
+이영철
+이우상
+이문식
+이태상
+이규민
+이상환
+이문자
+이명완
+이태현
+이진행
+이문출
+이영희
+이경환
+이무순
+이문태
+이기재
+이종규
+이종석
+이문호
+이창원
+이영철
+이병기
+이문호
+이춘규
+이용호
+이병선
+이미경
+이민동
+이점환
+이용배
+이미경
+이정란
+이만철
+이홍현
+이미경
+이달찬
+이성만
+이상규
+이미선
+이옥훈
+이경호
+이만식
+이미숙
+이호상
+이상용
+이왕우
+이미숙
+이만출
+이상범
+이대희
+이미순
+이수화
+이대규
+이수수
+이미원
+이성현
+이인성
+이영숙
+이미자
+이인석
+이종안
+이수수
+이미재
+이춘분
+이정수
+이문훈
+이미현
+이식자
+이창명
+이광원
+이미현
+이대희
+이봉탁
+이윤군
+이민용
+이종대
+이재광
+이태화
+이민우
+이복구
+이상규
+이재환
+이민재
+이영출
+이동덕
+이정웅
+이민준
+이무용
+이광모
+이덕원
+이민철
+이홍우
+이주길
+이주수
+이민호
+이봉동
+이선식
+이동룡
+이민환
+이기득
+이영선
+이순한
+이방남
+이헌희
+이소자
+이차준
+이방실
+이창철
+이한수
+이상현
+이방우
+이홍준
+이규열
+이종식
+이범
+이임
+이상
+이대
+이범경
+이영한
+이승열
+이계련
+이범세
+이영태
+이도덕
+이정주
+이범세
+이상택
+이상득
+이병출
+이범세
+이영태
+이상권
+이윤순
+이범순
+이태권
+이동렬
+이태숙
+이범식
+이봉호
+이홍환
+이임녕
+이범우
+이춘숙
+이용일
+이정석
+이범이
+이순용
+이봉수
+이희열
+이범택
+이성순
+이수석
+이철용
+이병걸
+이윤근
+이운아
+이동의
+이병국
+이석권
+이영우
+이경영
+이병국
+이인복
+이성용
+이혜성
+이병권
+이소석
+이영이
+이인춘
+이병권
+이종연
+이국대
+이재구
+이병규
+이수부
+이병호
+이대수
+이병규
+이정분
+이이식
+이만평
+이병극
+이정우
+이을규
+이수호
+이병극
+이상철
+이건영
+이월진
+이병길
+이한병
+이정원
+이석덕
+이병득
+이명수
+이효익
+이주주
+이병무
+이정우
+이태태
+이석근
+이병삼
+이판영
+이재환
+이원호
+이병선
+이준희
+이태석
+이광기
+이병소
+이문현
+이춘두
+이달호
+이병수
+이성종
+이난복
+이일희
+이병식
+이창영
+이용일
+이창석
+이병옥
+이정현
+이정년
+이명인
+이병우
+이태욱
+이영익
+이정자
+이병욱
+이용호
+이인순
+이순욱
+이병원
+이미호
+이종만
+이석달
+이병원
+이상춘
+이재주
+이학희
+이병윤
+이삼숙
+이철은
+이충해
+이병인
+이춘현
+이정태
+이래호
+이병재
+이영희
+이종복
+이갑희
+이병정
+이규복
+이칠규
+이명기
+이병주
+이태환
+이용준
+이문임
+이병주
+이화수
+이덕동
+이점보
+이병준
+이만선
+이해정
+이담순
+이병찬
+이금선
+이용규
+이한운
+이병천
+이영곤
+이인점
+이병철
+이병철
+이영훈
+이규기
+이영곤
+이병철
+이재우
+이윤범
+이항우
+이병철
+이영지
+이용향
+이종준
+이병철
+이용기
+이이용
+이학철
+이병태
+이성곤
+이손태
+이대선
+이병택
+이강호
+이만규
+이영호
+이병택
+이경식
+이수국
+이창근
+이병필
+이정춘
+이태근
+이기덕
+이병하
+이정염
+이용자
+이길옥
+이병하
+이수래
+이양현
+이대철
+이병한
+이복선
+이호도
+이중자
+이병해
+이두석
+이순래
+이관하
+이병형
+이덕석
+이재조
+이병대
+이병호
+이영만
+이두호
+이창길
+이병호
+이중운
+이만환
+이상섭
+이병홍
+이분선
+이석환
+이홍기
+이병화
+이보근
+이양봉
+이순도
+이병화
+이선규
+이재원
+이선동
+이병화
+이재연
+이소선
+이성자
+이병희
+이경화
+이태서
+이태학
+이보곤
+이종무
+이기봉
+이정열
+이보현
+이석재
+이성성
+이두호
+이복도
+이천근
+이영호
+이판중
+이복림
+이우술
+이을기
+이윤석
+이복생
+이현길
+이우률
+이명부
+이복술
+이재룡
+이호택
+이광교
+이복실
+이종경
+이대석
+이순보
+이복용
+이태순
+이경식
+이숙희
+이복우
+이 용
+이순호
+이춘무
+이복진
+이용진
+이동근
+이용영
+이복출
+이형수
+이일택
+이영중
+이복현
+이천출
+이석환
+이임완
+이봉곤
+이장섭
+이호래
+이기호
+이봉곤
+이재순
+이룡인
+이경식
+이봉규
+이상순
+이종호
+이환식
+이봉기
+이정철
+이중환
+이이봉
+이봉기
+이은주
+이윤애
+이상출
+이봉길
+이상호
+이대식
+이연용
+이봉녀
+이부광
+이상환
+이광환
+이봉녀
+이득연
+이인임
+이의화
+이봉대
+이호모
+이중석
+이오기
+이봉래
+이기술
+이원도
+이차연
+이봉모
+이외조
+이동용
+이기팔
+이봉선
+이곤기
+이익경
+이창지
+이봉영
+이재성
+이종남
+이정호
+이봉주
+이점명
+이수섭
+이기한
+이봉철
+이용현
+이옥동
+이헌회
+이봉춘
+이중부
+이휘동
+이욱수
+이봉헌
+이월춘
+이용구
+이상복
+이봉환
+이영광
+이술숙
+이상도
+이봉환
+이상세
+이순순
+이상복
+이봉희
+이종옥
+이영순
+이중규
+이부길
+이영태
+이장순
+이교용
+이부돌
+이정출
+이창배
+이달성
+이부세
+이주환
+이외록
+이현환
+이부열
+이환경
+이칠출
+이규이
+이분기
+이석운
+이춘식
+이한웅
+이분난
+이응호
+이정기
+이성순
+이분남
+이미형
+이용한
+이용숙
+이분남
+이필모
+이을계
+이연식
+이분선
+이재일
+이재희
+이태식
+이분연
+이충우
+이규철
+이종연
+이분영
+이석학
+이병규
+이성선
+이분이
+이성선
+이호승
+이명순
+이분이
+이안열
+이일한
+이오용
+이분이
+이재욱
+이재태
+이인향
+이분조
+이귀도
+이도길
+이재국
+이분조
+이병희
+이중혁
+이천춘
+이분학
+이선준
+이주선
+이경경
+이분희
+이갑규
+이흥하
+이인운
+이븝세
+이용길
+이소희
+이병왕
+이사련
+이칠호
+이이용
+이지기
+이사조
+이호정
+이현돌
+이수태
+이삼덕
+이재석
+이정자
+이호식
+이삼랑
+이차감
+이연춘
+이종성
+이삼수
+이 환
+이갑섭
+이순구
+이삼수
+이분근
+이삼수
+이주동
+이삼수
+이정영
+이원봉
+이차현
+이삼영
+이해진
+이정희
+이병문
+이삼용
+이태의
+이기숙
+이인환
+이삼조
+이종오
+이용복
+이종신
+이삼조
+이만규
+이운용
+이봉용
+이삼훈
+이삼경
+이해식
+이칠태
+이상경
+이수진
+이진운
+이천송
+이상경
+이한순
+이을수
+이승환
+이상구
+이종운
+이영임
+이장탁
+이상규
+이정우
+이중무
+이증환
+이상균
+이명식
+이소정
+이찬박
+이상근
+이옥기
+이문희
+이근호
+이상근
+이봉건
+이용배
+이선수
+이상근
+이해호
+이영술
+이수금
+이상기
+이병주
+이무선
+이주직
+이상기
+이준영
+이태훈
+이철판
+이상기
+이남근
+이정기
+이정정
+이상길
+이임용
+이정출
+이안훈
+이상달
+이태철
+이건관
+이정평
+이상대
+이분상
+이차순
+이판용
+이상대
+이동수
+이용근
+이순봉
+이상덕
+이희암
+이근경
+이병덕
+이상도
+이점일
+이우기
+이광자
+이상돈
+이영구
+이태규
+이복차
+이상돈
+이찬준
+이용모
+이정용
+이상득
+이민수
+이동돌
+이주태
+이상란
+이순원
+이도호
+이영옥
+이상록
+이경출
+이광식
+이문도
+이상록
+이수식
+이정종
+이성석
+이상률
+이남희
+이병섭
+이재교
+이상모
+이태우
+이성순
+이원기
+이상문
+이영이
+이오천
+이영조
+이상민
+이창주
+이헌철
+이종웅
+이상배
+이호태
+이성덕
+이상래
+이상복
+이재현
+이종용
+이종희
+이상복
+이 수
+이환출
+이병영
+이상복
+이만용
+이근석
+이수희
+이상봉
+이삼환
+이수수
+이태옥
+이상봉
+이희현
+이정현
+이학준
+이상빈
+이병득
+이학호
+이주봉
+이상선
+이무돌
+이대수
+이종동
+이상섭
+이영규
+이경중
+이현철
+이상수
+이찬성
+이두분
+이순록
+이상수
+이정생
+이영길
+이우용
+이상수
+이덕기
+이순희
+이용석
+이상숙
+이정촌
+이성남
+이경삼
+이상숙
+이사우
+이성근
+이태엽
+이상숙
+이용진
+이철호
+이영복
+이상식
+이용동
+이태영
+이홍태
+이상언
+이준철
+이희환
+이인래
+이상연
+이적원
+이현희
+이동기
+이상열
+이억회
+이삼생
+이해태
+이상열
+이희욱
+이호영
+이동표
+이상열
+이태갑
+이규옥
+이승이
+이상열
+이만생
+이원수
+이성수
+이상열
+이기수
+이을헌
+이휘덕
+이상열
+이헌식
+이정흠
+이일상
+이상영
+이태진
+이도희
+이한환
+이상오
+이왕이
+이주연
+이지회
+이상완
+이상덕
+이무호
+이세현
+이상용
+이규교
+이현성
+이정태
+이상용
+이상달
+이 식
+이외조
+이상용
+이준석
+이의한
+이덕순
+이상우
+이정식
+이명근
+이경옥
+이상우
+이상자
+이정환
+이태범
+이상욱
+이재홍
+이중판
+이태태
+이상운
+이태술
+이란현
+이태영
+이상원
+이정득
+이영철
+이홍동
+이상원
+이화수
+이갑열
+이옥율
+이상윤
+이병호
+이혜현
+이장봉
+이상윤
+이전필
+이상석
+이정동
+이상은
+이인엽
+이팽선
+이영여
+이상일
+이봉용
+이종이
+이경철
+이상일
+이남기
+이용도
+이영순
+이상일
+이규수
+이기신
+이남석
+이상재
+이광식
+이미태
+이종곤
+이상정
+이암수
+이감열
+이을은
+이상조
+이분규
+이달철
+이태범
+이상조
+이영연
+이차택
+이영주
+이상준
+이봉수
+이판운
+이재열
+이상직
+이영철
+이명길
+이민수
+이상직
+이점정
+이용란
+이석천
+이상진
+이대득
+이상상
+이국선
+이상천
+이순길
+이종대
+이중웅
+이상천
+이이식
+이우식
+이영분
+이상천
+이영관
+이영태
+이영선
+이상철
+이창태
+이재생
+이영득
+이상철
+이 구
+이정란
+이윤순
+이상철
+이기영
+이태준
+이성환
+이상철
+이인술
+이광옥
+이세국
+이상철
+이주경
+이경분
+이재진
+이상철
+이칠철
+이석교
+이동우
+이상철
+이삼환
+이도선
+이대수
+이상철
+이주성
+이해규
+이재수
+이상탁
+이진만
+이규겁
+이옥재
+이상태
+이을자
+이수문
+이태길
+이상태
+이원순
+이재자
+이동본
+이상태
+이상섭
+이대길
+이기진
+이상학
+이명완
+이정호
+이인출
+이상한
+이오석
+이정철
+이종훈
+이상해
+이근환
+이근임
+이기식
+이상헌
+이소동
+이인숙
+이중선
+이상현
+이준호
+이효호
+이우상
+이상현
+이상권
+이홍희
+이수군
+이상현
+이진헌
+이종숙
+이경태
+이상현
+이형호
+이병연
+이차점
+이상현
+이성식
+이용양
+이용희
+이상현
+이태명
+이문균
+이기수
+이상호
+이회우
+이재성
+이석주
+이상호
+이하진
+이문도
+이성호
+이상호
+이무길
+이해현
+이칠길
+이상호
+이해종
+이영호
+이영수
+이상호
+이정학
+이명금
+이우희
+이상호
+이순경
+이춘태
+이정완
+이상화
+이오건
+이대조
+이혜흠
+이상화
+이철신
+이봉호
+이영근
+이상화
+이인자
+이경암
+이기석
+이상화
+이종달
+이재준
+이유혁
+이상환
+이효조
+이민년
+이춘조
+이상황
+이성중
+이순식
+이근기
+이상효
+이근열
+이두덕
+이광기
+이상훈
+이삼칠
+이창자
+이영준
+이상훈
+이금덕
+이정호
+이재현
+이생규
+이찬구
+이덕준
+이병조
+이서분
+이병교
+이도호
+이일범
+이서운
+이태수
+이용수
+이상덕
+이석갑
+이창래
+이정암
+이병수
+이석곤
+이용이
+이회석
+이정아
+이석귀
+이우식
+이두대
+이순우
+이석규
+이영용
+이수배
+이성석
+이석록
+이인만
+이도웅
+이정조
+이석록
+이성수
+이영봉
+이성관
+이석만
+이달철
+이홍봉
+이중호
+이석범
+이순재
+이광희
+이분석
+이석병
+이분수
+이진화
+이쌍용
+이석복
+이명호
+이동호
+이홍열
+이석수
+이용용
+이대욱
+이창주
+이석영
+이한우
+이종림
+이춘수
+이석완
+이곡제
+이기모
+이병자
+이석용
+이정란
+이인국
+이양수
+이석원
+이민환
+이주양
+이준조
+이석일
+이수선
+이영열
+이재만
+이석재
+이만목
+이성집
+이병연
+이석재
+이종종
+이수남
+이용한
+이석주
+이병철
+이동원
+이연수
+이석지
+이광규
+이주해
+이병근
+이석진
+이순숙
+이도권
+이한조
+이석찬
+이근성
+이병창
+이병숙
+이석천
+이문홍
+이희규
+이영규
+이석출
+이기옥
+이오연
+이달섭
+이석태
+이은화
+이동화
+이사진
+이석현
+이영모
+이점생
+이덕국
+이석현
+이태일
+이복출
+이경숙
+이석홍
+이채순
+이수옥
+이다곤
+이석환
+이병이
+이한암
+이애선
+이석환
+이덕출
+이길주
+이연철
+이선봉
+이재중
+이대목
+이증용
+이선수
+이종원
+이봉영
+이대삼
+이선영
+이학학
+이효이
+이상분
+이선우
+이태구
+이장철
+이종복
+이선이
+이태연
+이낙점
+이노권
+이선호
+이두중
+이봉범
+이석운
+이성곤
+이상현
+이칠식
+이순수
+이성구
+이상아
+이동주
+이태영
+이성구
+이세모
+이상구
+이일자
+이성구
+이판기
+이화원
+이병용
+이성권
+이자덕
+이수권
+이영혁
+이성권
+이홍순
+이진우
+이진도
+이성규
+이명술
+이안경
+이병목
+이성근
+이석수
+이성덕
+이석주
+이성근
+이미수
+이점갑
+이종호
+이성기
+이현길
+이영정
+이대익
+이성기
+이득열
+이한호
+이정식
+이성도
+이근길
+이면순
+이진근
+이성동
+이성순
+이두남
+이순헌
+이성래
+이건교
+이원도
+이정식
+이성룡
+이성성
+이양수
+이 원
+이성만
+이상우
+이태순
+이규권
+이성말
+이상찬
+이명율
+이경종
+이성민
+이지만
+이재성
+이지호
+이성범
+이행동
+이창철
+이상용
+이성복
+이용삼
+이병희
+이양춘
+이성복
+이헌기
+이광숙
+이무근
+이성세
+이점헌
+이운만
+이상환
+이성수
+이은복
+이대하
+이동옥
+이성순
+이춘금
+이삼성
+이희배
+이성실
+이성길
+이재욱
+이종규
+이성안
+이을성
+이성문
+이기길
+이성애
+이병택
+이병희
+이영욱
+이성엽
+이정환
+이용환
+이종화
+이성옥
+이정순
+이정득
+이영균
+이성우
+이충수
+이봉수
+이준호
+이성우
+이광자
+이상옥
+이동배
+이성운
+이재율
+이순숙
+이연순
+이성원
+이정운
+이영경
+이범율
+이성익
+이제숙
+이상효
+이금열
+이성임
+이태환
+이정향
+이효원
+이성조
+이태룡
+이명진
+이영환
+이성준
+이상곤
+이상관
+이무준
+이성준
+이인율
+이진식
+이안식
+이성준
+이재호
+이상수
+이춘자
+이성찬
+이상호
+이창석
+이두호
+이성철
+이일복
+이인환
+이성화
+이성철
+이병연
+이선공
+이종기
+이성태
+이헌복
+이신표
+이만일
+이성태
+이태욱
+이용조
+이대순
+이성평
+이주하
+이환식
+이내달
+이성하
+이한진
+이호열
+이정륜
+이성현
+이두호
+이달석
+이정길
+이성현
+이병주
+이병금
+이광춘
+이성호
+이조구
+이광용
+이명석
+이성호
+이중자
+이영곤
+이윤종
+이성호
+이상목
+이정우
+이기석
+이성호
+이을선
+이진순
+이심권
+이성호
+이종덕
+이병경
+이재덕
+이성호
+이융일
+이낙출
+이대근
+이성홍
+이석조
+이종규
+이순상
+이성화
+이국조
+이구덕
+이동용
+이성환
+이승해
+이상호
+이순만
+이성환
+이기규
+이호영
+이태오
+이성환
+이상권
+이병조
+이일일
+이성훈
+이범원
+이의정
+이구서
+이성희
+이규중
+이무선
+이성휴
+이성희
+이영년
+이헌태
+이궁이
+이세병
+이옥호
+이의계
+이종분
+이세영
+이석희
+이이이
+이상이
+이세영
+이순복
+이윤곤
+이삼규
+이세용
+이동현
+이경근
+이근수
+이세일
+이용섭
+이장장
+이근철
+이세중
+이일조
+이점만
+이재원
+이세현
+이종식
+이우래
+이남향
+이세현
+이동용
+이일군
+이선식
+이세호
+이충웅
+이경조
+이을근
+이소갑
+이태근
+이홍일
+이동희
+이소돌
+이준근
+이정현
+이재기
+이소석
+이진영
+이병탁
+이태자
+이소수
+이종길
+이영근
+이동원
+이소수
+이숙규
+이영봉
+이무순
+이소수
+이융호
+이삼호
+이위동
+이소수
+이호운
+이도담
+이언호
+이소숙
+이금근
+이갑성
+이상길
+이소순
+이회보
+이세현
+이용제
+이소식
+이선순
+이말연
+이철수
+이소암
+이우근
+이한립
+이용조
+이소원
+이무우
+이달희
+이창덕
+이소조
+이태조
+이남병
+이순식
+이소조
+이태란
+이진운
+이경이
+이손숙
+이선기
+이주용
+이태상
+이손주
+이남길
+이진기
+이동현
+이송건
+이동구
+이호정
+이상진
+이송록
+이호용
+이세열
+이점로
+이송양
+이진수
+이형호
+이대석
+이송열
+이기길
+이병옥
+이영만
+이수경
+이용철
+이재국
+이국석
+이수경
+이태훈
+이구육
+이석원
+이수근
+이성하
+이명돈
+이수식
+이수기
+이범호
+이효숙
+이수국
+이수길
+이승경
+이재대
+이윤봉
+이수덕
+이해식
+이영이
+이순기
+이수도
+이병영
+이재수
+이삼운
+이수만
+이성기
+이병인
+이성술
+이수백
+이남돌
+이기용
+이명대
+이수복
+이종열
+이돈상
+이성선
+이수복
+이수주
+이혁상
+이상환
+이수복
+이동숙
+이영순
+이구자
+이수상
+이갑남
+이상락
+이익용
+이수석
+이상철
+이태자
+이수상
+이수야
+이병연
+이차식
+이근관
+이수언
+이위용
+이차규
+이희경
+이수열
+이종자
+이시표
+이재완
+이수열
+이성분
+이승광
+이본호
+이수옥
+이정홍
+이성수
+이병근
+이수용
+이종식
+이봉성
+이숙용
+이수용
+이원석
+이학불
+이삼태
+이수우
+이창돌
+이일수
+이종임
+이수웅
+이광식
+이석권
+이태립
+이수원
+이창돌
+이춘덕
+이 배
+이수의
+이영조
+이영권
+이학식
+이수인
+이순웅
+이영만
+이천호
+이수점
+이윤호
+이상천
+이용오
+이수종
+이종헌
+이병진
+이출식
+이수준
+이주열
+이영희
+이창석
+이수진
+이문자
+이종호
+이금성
+이수진
+이월관
+이정용
+이태근
+이수찬
+이상용
+이두석
+이하성
+이수창
+이성현
+이공암
+이정황
+이수철
+이순순
+이헌진
+이주호
+이수학
+이군기
+이을돌
+이판택
+이수현
+이경훈
+이실열
+이구문
+이수현
+이은우
+이화문
+이희호
+이수현
+이용호
+이지준
+이종호
+이수현
+이승정
+이성희
+이병현
+이수호
+이상규
+이중현
+이실석
+이수호
+이종택
+이광모
+이정길
+이수호
+이춘옥
+이중주
+이정임
+이수호
+이복규
+이경천
+이태규
+이수홍
+이재식
+이현행
+이효열
+이수환
+이선태
+이상춘
+이종선
+이수황
+이기식
+이석애
+이용분
+이수흥
+이병환
+이남식
+이용화
+이숙경
+이봉섭
+이석휴
+이명원
+이숙기
+이홍원
+이용오
+이국규
+이숙연
+이광식
+이병철
+이호헌
+이숙희
+이태근
+이계구
+이영일
+이순경
+이수조
+이상규
+이명립
+이순구
+이종호
+이점규
+이만성
+이순구
+이효상
+이복도
+이영주
+이순덕
+이광오
+이혜우
+이기환
+이순도
+이동조
+이순숙
+이천원
+이순말
+이노철
+이보선
+이윤헌
+이순분
+이명조
+이순휴
+이증오
+이순분
+이근준
+이세근
+이선기
+이순세
+이봉배
+이중봉
+이대복
+이순신
+이기근
+이현자
+이운철
+이순연
+이구상
+이형여
+이일수
+이순영
+이종조
+이복준
+이영철
+이순욱
+이한이
+이철동
+이재용
+이순원
+이을옥
+이태수
+이규용
+이순이
+이동규
+이기희
+이진경
+이순자
+이근돌
+이보길
+이동춘
+이순자
+이소교
+이동열
+이관덕
+이순자
+이영순
+이재우
+이재석
+이순자
+이종정
+이창원
+이태욱
+이순재
+이화흠
+이열균
+이규한
+이순점
+이태택
+이광순
+이제윤
+이순조
+이성호
+이도동
+이성숙
+이순조
+이점학
+이우각
+이만수
+이순태
+이영자
+이달호
+이희술
+이순현
+이주규
+이효만
+이대십
+이순호
+이택식
+이팔현
+이노영
+이순홍
+이상완
+이술련
+이명환
+이순홍
+이병우
+이용대
+이상열
+이순희
+이태수
+이재복
+이상열
+이순희
+이호열
+이정일
+이만주
+이술봉
+이상수
+이상만
+이환수
+이술희
+이동용
+이태호
+이순실
+이승곤
+이호수
+이근림
+이옥운
+이승달
+이봉현
+이국호
+이길대
+이승동
+이순휴
+이의현
+이은열
+이승렬
+이병목
+이호신
+이현선
+이승모
+이오형
+이석재
+이세호
+이승배
+이진권
+이해희
+이일식
+이승분
+이광진
+이태연
+이득석
+이승언
+이준계
+이갑철
+이춘열
+이승열
+이해순
+이판열
+이경생
+이승옥
+이동규
+이상연
+이학화
+이승우
+이경국
+이삼경
+이주우
+이승욱
+이종도
+이만원
+이은동
+이승조
+이춘욱
+이용교
+이장곤
+이승주
+이봉화
+이칠상
+이만준
+이승천
+이헌근
+이재준
+이종기
+이승천
+이의용
+이영만
+이태범
+이승칠
+이세경
+이해권
+이충제
+이승형
+이정근
+이규락
+이세택
+이승홍
+이영회
+이용호
+이연택
+이승화
+이영한
+이장중
+이동열
+이승화
+이홍혁
+이기수
+이광식
+이승훈
+이성하
+이영규
+이춘갑
+이승훈
+이기현
+이선구
+이증조
+이승훈
+이창신
+이인묵
+이대구
+이승희
+이기범
+이태원
+이병분
+이시동
+이병연
+이원현
+이남애
+이시영
+이순곤
+이수석
+이춘련
+이시우
+이진호
+이용수
+이성기
+이시원
+이동재
+이정구
+이오호
+이시원
+이태호
+이상영
+이병환
+이신구
+이충원
+이명효
+이삼배
+이신복
+이윤수
+이학형
+이갑열
+이신우
+이타익
+이영도
+이영철
+이신이
+이동원
+이상진
+이평철
+이쌍갑
+이태식
+이자영
+이순환
+이쌍석
+이상석
+이정식
+이정운
+이쌍승
+이혜자
+이위회
+이용구
+이쌍연
+이정상
+이영원
+이경경
+이안기
+이정탁
+이근근
+이기섭
+이안생
+이진일
+이용월
+이원동
+이안순
+이성도
+이상석
+이점현
+이암우
+이일순
+이종술
+이주섭
+이양숙
+이영백
+이만환
+이소길
+이양우
+이주희
+이기휴
+이해애
+이양임
+이숙광
+이수홍
+이문한
+이양훈
+이맹은
+이무수
+이판덕
+이억근
+이태일
+이의섭
+이병일
+이업주
+이상영
+이재창
+이해정
+이연동
+이재회
+이말노
+이명식
+이연실
+이은준
+이상환
+이만곤
+이연실
+이영곤
+이방효
+이병근
+이연실
+이내홍
+이종숙
+이부구
+이연이
+이판호
+이용동
+이재주
+이영구
+이금도
+이성곤
+이계경
+이영국
+이순근
+이정환
+이정순
+이영국
+이태철
+이재경
+이명신
+이영근
+이삼결
+이화화
+이태식
+이영기
+이제진
+이선열
+이영해
+이영기
+이종률
+이순원
+이기용
+이영기
+이영조
+이제경
+이병석
+이영기
+이성진
+이달식
+이규일
+이영기
+이원재
+이성봉
+이태규
+이영길
+이상호
+이명진
+이대석
+이영길
+이은주
+이충택
+이정순
+이영길
+이영행
+이옥곤
+이병현
+이영동
+이우환
+이천만
+이준희
+이영락
+이정련
+이승순
+이병표
+이영란
+이덕금
+이종윤
+이중열
+이영로
+이상노
+이을우
+이수하
+이영목
+이창훈
+이해석
+이화진
+이영민
+이태주
+이태배
+이윤철
+이영민
+이갑운
+이제하
+이경호
+이영상
+이승도
+이수연
+이태도
+이영석
+이갑수
+이동환
+이태환
+이영선
+이두식
+이서규
+이주식
+이영섭
+이우술
+이병원
+이분수
+이영세
+이두순
+이균암
+이판교
+이영세
+이홍식
+이현익
+이기노
+이영수
+이점희
+이양환
+이기규
+이영수
+이삼봉
+이창희
+이경혜
+이영수
+이윤석
+이명숙
+이기갑
+이영수
+이희록
+이일규
+이진영
+이영수
+이석규
+이병호
+이노도
+이영수
+이남규
+이팔배
+이성순
+이영숙
+이병암
+이덕화
+이복표
+이영숙
+이정덕
+이판무
+이 일
+이영숙
+이인구
+이명진
+이진식
+이영숙
+이종목
+이한정
+이점수
+이영순
+이태수
+이옥기
+이규석
+이영순
+이판환
+이성한
+이상숙
+이영순
+이오조
+이찬조
+이규희
+이영순
+이용영
+이우분
+이효희
+이영식
+이규모
+이창운
+이외교
+이영식
+이우연
+이문덕
+이만호
+이영연
+이만수
+이계이
+이기수
+이영열
+이노희
+이장기
+이은주
+이영오
+이태우
+이용규
+이병자
+이영옥
+이광순
+이정옥
+이재주
+이영우
+이매탁
+이영수
+이명상
+이영웅
+이판자
+이옥권
+이해곤
+이영원
+이근찬
+이곡학
+이종근
+이영윤
+이오우
+이재상
+이영중
+이영인
+이두우
+이규옥
+이형호
+이영일
+이영용
+이철환
+이경배
+이영일
+이상철
+이재현
+이병현
+이영자
+이경빈
+이근선
+이상악
+이영재
+이정오
+이광술
+이동세
+이영조
+이태용
+이형구
+이순구
+이영조
+이동희
+이치근
+이인운
+이영조
+이점찬
+이상연
+이수연
+이영주
+이경천
+이은희
+이동도
+이영진
+이영수
+이한석
+이영순
+이영철
+이두수
+이정준
+이기석
+이영태
+이소경
+이세현
+이회운
+이영학
+이종수
+이상동
+이석희
+이영호
+이영분
+이지식
+이용철
+이영호
+이태환
+이기복
+이주영
+이영호
+이필경
+이창효
+이상재
+이영호
+이순만
+이기임
+이병태
+이영호
+이장종
+이달헌
+이미철
+이영호
+이현봉
+이한삼
+이선철
+이영호
+이홍경
+이대원
+이종조
+이영호
+이오규
+이경묵
+이상옥
+이영화
+이재숙
+이삼윤
+이홍배
+이영환
+이병자
+이영상
+이현화
+이영환
+이정환
+이한순
+이진암
+이영환
+이명춘
+이여호
+이인화
+이영훈
+이세식
+이기점
+이성립
+이영훈
+이영제
+이형복
+이정효
+이영훈
+이복섭
+이인휘
+이태동
+이영희
+이점준
+이재범
+이원구
+이영희
+이미성
+이상호
+이춘철
+이영희
+이미봉
+이선도
+이중열
+이영희
+이근조
+이이복
+이선순
+이영희
+이영숙
+이정이
+이병경
+이오근
+이인권
+이진주
+이원영
+이옥경
+이삼일
+이수규
+이호순
+이옥기
+이광명
+이태환
+이천수
+이옥난
+이 수
+이규숙
+이재정
+이옥돌
+이윤갑
+이호환
+이석태
+이옥란
+이임우
+이영호
+이봉동
+이옥란
+이상호
+이윤오
+이인래
+이옥련
+이선배
+이재영
+이종수
+이옥분
+이교순
+이영목
+이극이
+이옥선
+이병교
+이기용
+이성배
+이옥선
+이진이
+이호오
+이성호
+이옥순
+이종도
+이공술
+이문학
+이옥연
+이이덕
+이재임
+이재해
+이옥이
+이준현
+이옥덕
+이동환
+이옥자
+이오연
+이달동
+이태대
+이옥주
+이노일
+이만건
+이인도
+이옥주
+이종화
+이명석
+이석재
+이옥희
+이인선
+이삼필
+이경준
+이완국
+이선원
+이용식
+이태식
+이완범
+이덕정
+이태철
+이수호
+이완이
+이기선
+이언록
+이 용
+이완희
+이연규
+이기수
+이기호
+이왕재
+이태배
+이화진
+이희화
+이왕조
+이해희
+이점일
+이은기
+이외남
+이동홍
+이지철
+이사란
+이외순
+이종기
+이상룡
+이균조
+이외준
+이태환
+이소래
+이 진
+이용건
+이말호
+이근혹
+이정환
+이용견
+이상금
+이병락
+이흥수
+이용관
+이대원
+이종병
+이은호
+이용구
+이영동
+이진준
+이종수
+이용구
+이형선
+이해수
+이우환
+이용국
+이인제
+이점영
+이순점
+이용권
+이경대
+이석용
+이학노
+이용규
+이명성
+이차임
+이경호
+이용기
+이동점
+이대숙
+이건문
+이용기
+이계탁
+이봉찬
+이진양
+이용득
+이영국
+이봉정
+이성동
+이용문
+이전암
+이종현
+이천인
+이용문
+이소영
+이효원
+이영덕
+이용백
+이술년
+이구형
+이춘호
+이용복
+이명도
+이영동
+이임숙
+이용석
+이병식
+이금식
+이용순
+이용석
+이인열
+이기수
+이태덕
+이용수
+이제용
+이근욱
+이중태
+이용수
+이만호
+이승원
+이해규
+이용식
+이차춘
+이규수
+이언현
+이용업
+이성화
+이복림
+이명돌
+이용업
+이준복
+이용천
+이윤호
+이용열
+이판분
+이쌍권
+이응구
+이용운
+이재진
+이태복
+이종랑
+이용운
+이유식
+이익성
+이재환
+이용원
+이동달
+이노왕
+이일종
+이용조
+이영석
+이말권
+이태조
+이용주
+이병영
+이삼연
+이종자
+이용주
+이복상
+이정자
+이대홍
+이용철
+이정흠
+이병운
+이만진
+이용철
+이태득
+이창국
+이성수
+이용출
+이순규
+이만선
+이대자
+이용태
+이순용
+이희수
+이석규
+이용택
+이순일
+이상옥
+이성희
+이용택
+이도훈
+이종휴
+이두준
+이용택
+이영균
+이해식
+이영환
+이용팔
+이소석
+이석선
+이재자
+이용팔
+이정출
+이갑식
+이영수
+이용한
+이효도
+이상차
+이성교
+이용혁
+이윤숙
+이영숙
+이동용
+이용현
+이운운
+이재자
+이외도
+이용호
+이명욱
+이윤욱
+이원택
+이용화
+이상호
+이춘호
+이동국
+이용환
+이정훈
+이기호
+이호율
+이용환
+이은철
+이춘웅
+이만돌
+이용희
+이영기
+이태규
+이정원
+이용희
+이상동
+이성대
+이혜수
+이우근
+이명현
+이병용
+이소선
+이우동
+이지칙
+이범승
+이윤만
+이우동
+이철련
+이영창
+이상식
+이우석
+이용섭
+이종진
+이명식
+이우식
+이호기
+이돈태
+이순규
+이우식
+이용분
+이중택
+이경준
+이우식
+이병조
+이명용
+이재열
+이우식
+이응일
+이영주
+이진가
+이우임
+이정용
+이영선
+이귀석
+이우환
+이지홍
+이말태
+이해암
+이욱노
+이분수
+이재희
+이항욱
+이욱환
+이갑도
+이현자
+이수환
+이욱환
+이호학
+이우수
+이남수
+이운석
+이영석
+이충식
+이신수
+이운철
+이남준
+이태상
+이영남
+이운학
+이정점
+이현도
+이병이
+이운호
+이상재
+이기주
+이은순
+이웅열
+이종자
+이을수
+이준용
+이원구
+이만열
+이복용
+이분인
+이원규
+이주화
+이정만
+이판빈
+이원규
+이봉철
+이창수
+이광호
+이원규
+이효관
+이응숙
+이종일
+이원기
+이석년
+이원식
+이봉자
+이원기
+이효봉
+이계남
+이수미
+이원길
+이철조
+이승기
+이광호
+이원대
+이선신
+이문용
+이해호
+이원배
+이태분
+이한규
+이기완
+이원배
+이 옥
+이을현
+이진환
+이원분
+이우배
+이영호
+이기순
+이원소
+이재기
+이선제
+이소순
+이원수
+이용하
+이동옥
+이영식
+이원수
+이대기
+이선열
+이성태
+이원수
+이상수
+이용현
+이종운
+이원식
+이재호
+이준현
+이임수
+이원식
+이수욱
+이태출
+이영돈
+이원영
+이소득
+이현섭
+이병식
+이원우
+이성환
+이봉모
+이용헌
+이원우
+이무완
+이영종
+이천훈
+이원일
+이동진
+이봉선
+이면출
+이원자
+이경길
+이상완
+이한철
+이원재
+이진현
+이교판
+이영완
+이원조
+이미휴
+이창선
+이중선
+이원진
+이주양
+이원출
+이봉채
+이원철
+이도성
+이용웅
+이문양
+이원출
+이승자
+이미덕
+이형교
+이원형
+이정희
+이장복
+이용계
+이원호
+이길기
+이종용
+이수현
+이원화
+이복근
+이인자
+이상경
+이원희
+이수성
+이명근
+이자득
+이월계
+이재식
+이광택
+이남종
+이월선
+이형석
+이정목
+이재룡
+이월성
+이대현
+이철분
+이제규
+이월한
+이금훈
+이제학
+이일대
+이월희
+이석호
+이병연
+이상섭
+이위만
+이문웅
+이병환
+이재금
+이위섭
+이수호
+이운섭
+이재동
+이위숙
+이영재
+이종윤
+이양숙
+이위출
+이화이
+이기수
+이태암
+이위호
+이석자
+이기칠
+이두봉
+이유열
+이갑환
+이재오
+이기윤
+이유원
+이쾌정
+이정규
+이창석
+이유환
+이현수
+이유국
+이건근
+이육택
+이석용
+이순근
+이순애
+이윤규
+이채우
+이삼돌
+이춘달
+이윤근
+이강락
+이창선
+이 호
+이윤기
+이업교
+이경도
+이효연
+이윤기
+이재선
+이세길
+이춘봉
+이윤노
+이영연
+이순수
+이외열
+이윤만
+이상춘
+이태선
+이병식
+이윤수
+이순박
+이태학
+이원원
+이윤수
+이명호
+이지원
+이태향
+이윤식
+이경태
+이동현
+이철준
+이윤옥
+이수동
+이주옥
+이종수
+이윤원
+이성현
+이재영
+이형수
+이윤재
+이종오
+이판용
+이원진
+이윤정
+이탁수
+이윤권
+이병영
+이윤종
+이종덕
+이일걸
+이이주
+이윤종
+이부희
+이기준
+이지식
+이윤진
+이원희
+이성황
+이선옥
+이윤채
+이삼택
+이태열
+이정일
+이윤철
+이판필
+이두수
+이홍연
+이윤철
+이상용
+이영화
+이호우
+이윤철
+이광국
+이수권
+이쾌태
+이윤현
+이민정
+이태학
+이병호
+이윤현
+이명금
+이수주
+이혜현
+이윤훈
+이월대
+이태분
+이구찬
+이윤희
+이헌영
+이홍태
+이용순
+이융기
+이태훈
+이인술
+이현목
+이은경
+이해영
+이남기
+이윤태
+이은광
+이헌희
+이 환
+이창홍
+이은숙
+이강우
+이만현
+이한애
+이은영
+이윤출
+이성선
+이건희
+이은우
+이상해
+이판근
+이정현
+이은조
+이재식
+이남립
+이경식
+이은주
+이선칠
+이성덕
+이도식
+이은주
+이현규
+이두진
+이영자
+이은주
+이현관
+이종대
+이명성
+이은철
+이조례
+이봉희
+이경희
+이은탁
+이상충
+이광순
+이경자
+이을선
+이두환
+이종한
+이영기
+이을주
+이기택
+이이오
+이재강
+이을형
+이영철
+이삼홍
+이후희
+이응도
+이정우
+이기규
+이인훈
+이응복
+이재희
+이차욱
+이승분
+이응준
+이쌍규
+이광운
+이계자
+이의소
+이 석
+이양출
+이고안
+이의수
+이무용
+이영흠
+이헌연
+이의신
+이준재
+이대근
+이정순
+이의용
+이인도
+이상수
+이순호
+이의웅
+이만기
+이병현
+이수은
+이의출
+이윤석
+이금택
+이덕희
+이의환
+이영남
+이재수
+이한조
+이이경
+이해만
+이영춘
+이순윤
+이이근
+이진수
+이상해
+이남돌
+이이남
+이재석
+이경진
+이차자
+이이득
+이외하
+이준암
+이재현
+이이석
+이원관
+이순문
+이문대
+이이용
+이원석
+이용광
+이만진
+이익현
+이칠열
+이태규
+이장행
+이인곤
+이종숙
+이옥현
+이상철
+이인곤
+이양일
+이석현
+이상용
+이인구
+이재희
+이이규
+이상규
+이인규
+이중순
+이화명
+이월순
+이인동
+이쌍윤
+이기교
+이철정
+이인모
+이이배
+이명생
+이수주
+이인석
+이성의
+이영선
+이노준
+이인섭
+이경주
+이의봉
+이홍조
+이인수
+이무수
+이영찬
+이상춘
+이인수
+이석자
+이상환
+이일숙
+이인수
+이호훈
+이광희
+이장욱
+이인숙
+이해균
+이석이
+이재은
+이인숙
+이태덕
+이홍권
+이영민
+이인영
+이규금
+이병호
+이승제
+이인우
+이용민
+이재이
+이태분
+이인자
+이만종
+이운희
+이자연
+이인철
+이군분
+이부재
+이재섭
+이인표
+이성곤
+이대식
+이기용
+이인향
+이문덕
+이환돌
+이숙득
+이인호
+이영태
+이기수
+이몽환
+이인호
+이용정
+이언주
+이영현
+이인호
+이영인
+이종덕
+이준원
+이인환
+이금대
+이말식
+이용집
+이인환
+이상순
+이학녀
+이만석
+이인환
+이인환
+이양숙
+이승웅
+이일권
+이진용
+이종조
+이남곤
+이일균
+이우범
+이해기
+이성학
+이일색
+이명봉
+이수식
+이명옥
+이일수
+이영호
+이충옥
+이태란
+이일수
+이창록
+이병덕
+이상호
+이일순
+이두연
+이찬영
+이순현
+이일순
+이성복
+이감태
+이소수
+이일순
+이소도
+이영숙
+이판호
+이일웅
+이태호
+이주현
+이기열
+이일원
+이노근
+이종현
+이금장
+이일호
+이말진
+이현식
+이정식
+이일호
+이명옥
+이재기
+이봉석
+이일환
+이서현
+이성교
+이언성
+이일환
+이의환
+이상화
+이석규
+이임득
+이순용
+이현악
+이종길
+이임석
+이낙권
+이의석
+이창수
+이임선
+이 수
+이해홍
+이정옥
+이임선
+이보석
+이정희
+이경석
+이임선
+이영순
+이정련
+이점길
+이임숙
+이흥수
+이선현
+이해출
+이임순
+이갑하
+이한호
+이영용
+이임식
+이광자
+이동조
+이복곤
+이임용
+이영덕
+이원규
+이인준
+이임이
+이용태
+이영성
+이진호
+이임이
+이병호
+이주혁
+이홍용
+이임자
+이남연
+이병수
+이해희
+이임학
+이상기
+이도용
+이삼자
+이임호
+이관용
+이수영
+이봉열
+이자연
+이재달
+이영오
+이판규
+이장근
+이규균
+이한국
+이분운
+이장노
+이정수
+이영수
+이순만
+이장덕
+이석수
+이덕덕
+이화수
+이장배
+이일주
+이상식
+이종원
+이장쇄
+이종기
+이성국
+이동호
+이장수
+이상도
+이정조
+이순포
+이장수
+이점중
+이진석
+이선귀
+이장오
+이기재
+이석숙
+이영동
+이장우
+이경강
+이재애
+이윤돌
+이장우
+이갑조
+이인식
+이해기
+이장욱
+이도균
+이창숙
+이응기
+이장주
+이신철
+이해률
+이봉기
+이장춘
+이태홍
+이대국
+이금견
+이장춘
+이영철
+이용주
+이상기
+이장호
+이태한
+이증옥
+이재준
+이장호
+이영숙
+이재현
+이태재
+이장환
+이옥혁
+이종영
+이양술
+이장환
+이기식
+이수회
+이태기
+이장희
+이길덕
+이주려
+이정임
+이재갑
+이오희
+이영열
+이영석
+이재경
+이춘길
+이근영
+이광순
+이재관
+이석옥
+이영달
+이종구
+이재구
+이회립
+이영식
+이숙수
+이재구
+이정화
+이정구
+이정길
+이재국
+이점순
+이명용
+이봉자
+이재권
+이세봉
+이용희
+이일섭
+이재균
+이판광
+이재식
+이종태
+이재근
+이해석
+이영청
+이정석
+이재근
+이윤희
+이계래
+이동연
+이재기
+이도순
+이태만
+이명자
+이재길
+이건표
+이병돌
+이동문
+이재덕
+이계길
+이종용
+이달성
+이재덕
+이종중
+이팔우
+이옥철
+이재덕
+이기만
+이석도
+이종포
+이재도
+이원승
+이점동
+이태섭
+이재동
+이석수
+이성용
+이창학
+이재만
+이성하
+이명돌
+이재모
+이재만
+이상곤
+이동조
+이강권
+이재명
+이면대
+이성하
+이억용
+이재문
+이영만
+이영규
+이재숙
+이재문
+이 태
+이헌묵
+이하석
+이재문
+이성익
+이진남
+이분천
+이재병
+이정화
+이광근
+이기용
+이재복
+이종석
+이만식
+이성권
+이재봉
+이덕열
+이동남
+이규재
+이재봉
+이이헌
+이현흠
+이태팔
+이재봉
+이영춘
+이인택
+이명훈
+이재불
+이진현
+이성준
+이은수
+이재선
+이휘일
+이종선
+이흥회
+이재선
+이병성
+이태판
+이덕중
+이재성
+이경호
+이두조
+이일종
+이재성
+이영담
+이동생
+이원용
+이재성
+이운만
+이태택
+이순숙
+이재순
+이기호
+이정일
+이홍우
+이재식
+이용택
+이종창
+이종오
+이재연
+이학수
+이길쇄
+이한운
+이재열
+이경창
+이환곤
+이직선
+이재영
+이영윤
+이경현
+이승기
+이재완
+이달현
+이순열
+이태이
+이재우
+이학우
+이동환
+이복재
+이재우
+이동봉
+이동현
+이희용
+이재우
+이명조
+이영규
+이영식
+이재우
+이현부
+이용도
+이달진
+이재우
+이분영
+이춘양
+이장태
+이재웅
+이철덕
+이영차
+이구호
+이재원
+이수재
+이상수
+이근규
+이재율
+이진득
+이창준
+이성경
+이재익
+이판석
+이정식
+이무재
+이재인
+이윤택
+이수우
+이종옥
+이재일
+이정대
+이성흠
+이권세
+이재정
+이일석
+이광상
+이주호
+이재준
+이영휴
+이윤기
+이용관
+이재천
+이점십
+이성옥
+이설덕
+이재천
+이영우
+이창수
+이양수
+이재철
+이달래
+이연영
+이분구
+이재호
+이병현
+이종수
+이낙분
+이재호
+이동균
+이동식
+이미헌
+이재호
+이영원
+이춘현
+이종철
+이재호
+이갑주
+이용권
+이인국
+이재호
+이추모
+이구도
+이철룡
+이재환
+이재석
+이중화
+이광영
+이재훈
+이운웅
+이병현
+이희태
+이재희
+이경탁
+이길오
+이영식
+이재희
+이성근
+이태근
+이갑기
+이점니
+이원우
+이용국
+이만천
+이점도
+이윤용
+이인대
+이재도
+이점선
+이곡기
+이석원
+이현현
+이점세
+이수이
+이옥철
+이정경
+이점수
+이병호
+이상암
+이종문
+이점수
+이동열
+이범주
+이만훈
+이점순
+이수근
+이상화
+이공한
+이점순
+이창만
+이태철
+이두운
+이점암
+이충원
+이동조
+이용태
+이점암
+이환열
+이태휴
+이하득
+이점암
+이광덕
+이인성
+이지식
+이점암
+이현숙
+이봉수
+이기근
+이점오
+이영갑
+이병섭
+이희규
+이점조
+이동춘
+이영겸
+이한수
+이점호
+이봉규
+이한선
+이상식
+이정갑
+이용일
+이규식
+이한기
+이정건
+이종욱
+이병기
+이석진
+이정곤
+이병수
+이상환
+이개열
+이정관
+이동규
+이덕상
+이길태
+이정구
+이동태
+이명철
+이귀기
+이정국
+이영욱
+이정기
+이진하
+이정국
+이영호
+이현일
+이삼수
+이정권
+이상록
+이성섭
+이명규
+이정규
+이병국
+이재재
+이명경
+이정규
+이민용
+이홍일
+이경홍
+이정규
+이성영
+이수모
+이두강
+이정균
+이우희
+이명복
+이광자
+이정균
+이용길
+이태조
+이영원
+이정기
+이상순
+이성모
+이진홍
+이정길
+이진순
+이태원
+이정열
+이정남
+이재필
+이선술
+이낙경
+이정달
+이일재
+이승한
+이영규
+이정덕
+이임철
+이병숙
+이용주
+이정덕
+이충기
+이전규
+이오규
+이정도
+이일태
+이한각
+이경술
+이정돌
+이재열
+이영호
+이태선
+이정두
+이석수
+이상선
+이정민
+이정란
+이윤근
+이용훈
+이종제
+이정로
+이종화
+이상천
+이영식
+이정률
+이원리
+이헌석
+이구연
+이정립
+이점환
+이병설
+이태준
+이정미
+이성진
+이수곤
+이서구
+이정민
+이해수
+이홍조
+이덕수
+이정분
+이제홍
+이주태
+이영종
+이정선
+이승기
+이정태
+이시환
+이정세
+이옥효
+이세연
+이창영
+이정세
+이칠기
+이자기
+이순문
+이정수
+이석호
+이영이
+이정태
+이정수
+이성용
+이윤상
+이재만
+이정수
+이우성
+이기형
+이영진
+이정숙
+이관만
+이용태
+이삼선
+이정숙
+이선봉
+이정완
+이태학
+이정숙
+이현호
+이삼호
+이영갑
+이정숙
+이정희
+이성자
+이상윤
+이정숙
+이찬기
+이현원
+이달식
+이정순
+이용태
+이달기
+이종식
+이정순
+이성철
+이태달
+이해분
+이정순
+이정창
+이태곤
+이종남
+이정식
+이학환
+이용숙
+이익성
+이정애
+이병곤
+이 태
+이일조
+이정애
+이임균
+이영자
+이태철
+이정애
+이재희
+이태태
+이현화
+이정연
+이성옥
+이해수
+이태암
+이정열
+이동수
+이순수
+이진웅
+이정오
+이철준
+이해종
+이명진
+이정옥
+이개술
+이진록
+이문근
+이정웅
+이재교
+이행태
+이성웅
+이정웅
+이 희
+이대중
+이종조
+이정웅
+이윤택
+이춘수
+이원준
+이정원
+이정수
+이창순
+이정환
+이정윤
+이진만
+이광길
+이태고
+이정의
+이덕섭
+이기용
+이병헌
+이정일
+이성정
+이영열
+이교진
+이정임
+이소철
+이중찬
+이정중
+이정임
+이정원
+이종순
+이형남
+이정주
+이양상
+이주회
+이문배
+이정주
+이용길
+이일진
+이봉균
+이정주
+이현탁
+이윤행
+이일래
+이정채
+이경난
+이홍철
+이천진
+이정철
+이상영
+이영재
+이성남
+이정출
+이진섭
+이재철
+이홍환
+이정태
+이수배
+이성준
+이학일
+이정택
+이재호
+이성자
+이혜태
+이정하
+이정덕
+이영모
+이성성
+이정행
+이재재
+이판광
+이남규
+이정헌
+이정일
+이영갑
+이재희
+이정현
+이종택
+이상길
+이호운
+이정형
+이희주
+이광섭
+이구기
+이정호
+이상세
+이갑애
+이도근
+이정호
+이영순
+이상수
+이태수
+이정호
+이옥범
+이희강
+이광권
+이정호
+이중관
+이영득
+이정순
+이정호
+이방모
+이현주
+이성삼
+이정호
+이은국
+이종조
+이환진
+이정호
+이영봉
+이정근
+이정선
+이정화
+이대출
+이수철
+이호노
+이정환
+이일노
+이재파
+이상정
+이정환
+이용이
+이성상
+이구수
+이정효
+이숙석
+이상숙
+이규식
+이정훈
+이수광
+이재수
+이귀만
+이정희
+이윤도
+이해수
+이대용
+이정희
+이한희
+이광현
+이교수
+이정희
+이칠순
+이형호
+이윤국
+이정희
+이순정
+이실철
+이병호
+이제심
+이정현
+이환민
+이양환
+이제철
+이기성
+이영수
+이헌문
+이조영
+이인병
+이태효
+이갑수
+이조원
+이훈조
+이정수
+이필숙
+이조이
+이창준
+이근권
+이춘돈
+이종각
+이용희
+이재근
+이희득
+이종갑
+이동근
+이순자
+이재용
+이종갑
+이갑락
+이순기
+이인태
+이종경
+이재규
+이중태
+이상복
+이종구
+이갑식
+이호암
+이오열
+이종구
+이임형
+이종환
+이상선
+이종구
+이경덕
+이진석
+이군진
+이종구
+이동동
+이이표
+이병재
+이종권
+이만택
+이재순
+이영근
+이종귀
+이명악
+이광희
+이만화
+이종규
+이분연
+이진배
+이세자
+이종규
+이선수
+이점철
+이효균
+이종균
+이인교
+이덕지
+이남오
+이종기
+이부연
+이기대
+이광관
+이종길
+이희수
+이 현
+이정덕
+이종대
+이종열
+이동석
+이기술
+이종대
+이용선
+이판원
+이순석
+이종덕
+이윤문
+이세국
+이영수
+이종락
+이대년
+이태희
+이광국
+이종록
+이덕태
+이학순
+이생현
+이종록
+이재년
+이대수
+이병모
+이종만
+이영순
+이인근
+이과황
+이종말
+이상식
+이재복
+이종준
+이종명
+이주수
+이기득
+이창우
+이종명
+이중성
+이진갑
+이채식
+이종목
+이옥선
+이정오
+이선태
+이종문
+이월순
+이말원
+이규래
+이종배
+이갑성
+이태효
+이동상
+이종백
+이철회
+이황환
+이민국
+이종복
+이해춘
+이기영
+이갑용
+이종복
+이한암
+이수균
+이이갑
+이종석
+이도태
+이영성
+이성종
+이종석
+이말륜
+이명수
+이만열
+이종선
+이봉조
+이광균
+이상진
+이종성
+이권임
+이순수
+이복연
+이종수
+이재완
+이회화
+이기구
+이종수
+이 성
+이상연
+이장근
+이종수
+이병철
+이성철
+이태수
+이종수
+이재용
+이응희
+이정홍
+이종수
+이태주
+이일열
+이태섭
+이종술
+이세문
+이기희
+이영진
+이종식
+이주환
+이만동
+이원숙
+이종식
+이명희
+이가웅
+이종조
+이종식
+이용란
+이해이
+이익용
+이종애
+이경도
+이외석
+이종삼
+이종언
+이쌍균
+이광재
+이상자
+이종언
+이주영
+이분야
+이차일
+이종열
+이상석
+이호용
+이태권
+이종열
+이창탁
+이철식
+이태성
+이종오
+이 식
+이삼분
+이대환
+이종오
+이구원
+이재생
+이상인
+이종오
+이말순
+이상기
+이승순
+이종용
+이태교
+이성원
+이영기
+이종우
+이소철
+이수덕
+이윤달
+이종욱
+이한철
+이수규
+이국열
+이종욱
+이태도
+이준식
+이병철
+이종원
+이종순
+이팔영
+이이상
+이종원
+이애원
+이동현
+이재근
+이종윤
+이정훈
+이정태
+이동포
+이종윤
+이양현
+이윤룡
+이갑준
+이종윤
+이윤혁
+이준근
+이 만
+이종율
+이동규
+이정문
+이수재
+이종주
+이호기
+이준곤
+이종희
+이종찬
+이주원
+이판철
+이종화
+이종철
+이옥찬
+이태선
+이정문
+이종춘
+이상덕
+이태노
+이종이
+이종태
+이정미
+이문모
+이판수
+이종태
+이석규
+이병일
+이칠우
+이종태
+이갑술
+이철운
+이성수
+이종태
+이상정
+이재환
+이성열
+이종택
+이일용
+이칠희
+이봉술
+이종택
+이춘규
+이노출
+이희희
+이종판
+이철교
+이수관
+이숙교
+이종하
+이석수
+이봉수
+이수근
+이종하
+이무암
+이 자
+이선단
+이종학
+이갑길
+이연기
+이종태
+이종학
+이점성
+이오철
+이태삼
+이종학
+이수기
+이장영
+이용구
+이종한
+이만기
+이명호
+이재호
+이종한
+이금오
+이중수
+이윤호
+이종해
+이상남
+이기제
+이재영
+이종현
+이계우
+이은운
+이종희
+이종호
+이순일
+이소해
+이동부
+이종호
+이옥만
+이용출
+이세태
+이종호
+이정성
+이동인
+이영권
+이종호
+이중원
+이순대
+이춘천
+이종호
+이광권
+이덕학
+이영용
+이종호
+이혜길
+이병호
+이난웅
+이종호
+이경환
+이덕구
+이삼길
+이종환
+이광경
+이창용
+이연수
+이종환
+이동수
+이현수
+이말수
+이종환
+이휘기
+이춘권
+이홍수
+이종환
+이정노
+이찬계
+이우갑
+이종환
+이유순
+이대영
+이우순
+이종훈
+이영호
+이순광
+이분원
+이종희
+이부덕
+이용옥
+이술옥
+이종희
+이명구
+이성보
+이순수
+이주경
+이래근
+이상수
+이상술
+이주경
+이중배
+이태진
+이태근
+이주근
+이규직
+이상생
+이순순
+이주삼
+이충숙
+이남목
+이한덕
+이주석
+이재식
+이석환
+이주영
+이주석
+이만혜
+이재길
+이일자
+이주선
+이명열
+이갑만
+이말규
+이주섭
+이득출
+이영규
+이금곤
+이주승
+이정희
+이광철
+이상운
+이주연
+이근규
+이승선
+이복도
+이주영
+이영수
+이규균
+이정술
+이주영
+이순돌
+이임우
+이석기
+이주영
+이춘만
+이영기
+이정복
+이주이
+이석문
+이기우
+이정균
+이주태
+이말용
+이기호
+이한교
+이주헌
+이상운
+이성문
+이상용
+이주현
+이상기
+이성원
+이덕식
+이주호
+이병기
+이순윤
+이진봉
+이주호
+이봉호
+이영조
+이재환
+이주호
+이남순
+이중현
+이수일
+이준구
+이말수
+이문식
+이진조
+이준열
+이상길
+이창성
+이옥연
+이준영
+이병모
+이규호
+이성운
+이준영
+이곡희
+이자재
+이희연
+이준영
+이임남
+이점선
+이부환
+이준용
+이점열
+이부홍
+이재용
+이준웅
+이용웅
+이기하
+이필순
+이준재
+이태진
+이진목
+이해태
+이준재
+이장순
+이갑홍
+이재동
+이준조
+이수필
+이근우
+이수포
+이준하
+이천환
+이해오
+이외순
+이준혁
+이기운
+이규환
+이영암
+이준호
+이한훈
+이종태
+이석봉
+이준환
+이명돌
+이탁호
+이재자
+이중각
+이경한
+이정종
+이영정
+이중권
+이기병
+이 원
+이을화
+이중규
+이서열
+이범현
+이태섭
+이중근
+이삼기
+이금지
+이두철
+이중길
+이삼식
+이차연
+이윤하
+이중철
+이창길
+이환수
+이주규
+이중화
+이종효
+이성수
+이재철
+이중환
+이남만
+이경자
+이헌기
+이중환
+이정옥
+이정식
+이성성
+이중희
+이원출
+이대달
+이무호
+이증수
+이경숙
+이병호
+이태원
+이지로
+이춘남
+이진상
+이만규
+이지연
+이원영
+이재시
+이정묵
+이지철
+이원주
+이상희
+이복정
+이지혜자
+이영학점
+이대탁길
+이성근정
+이지호
+이규호
+이무헌
+이국복
+이직로
+이창호
+이현정
+이금대
+이진구
+이종지
+이윤준
+이영만
+이진노
+이용곤
+이사호
+이태련
+이진노
+이술철
+이성광
+이영감
+이진무
+이희석
+이노술
+이한래
+이진세
+이창구
+이분선
+이지복
+이진수
+이광달
+이정윤
+이상돌
+이진수
+이명훈
+이부팔
+이필순
+이진용
+이덕상
+이복홍
+이상숙
+이진우
+이헌순
+이상이
+이금석
+이진우
+이금선
+이일열
+이종옥
+이진원
+이재호
+이진우
+이정연
+이진일
+이인한
+이정옥
+이영원
+이진일
+이충섭
+이종경
+이원근
+이진재
+이찬경
+이병국
+이인섭
+이진정
+이일오
+이달택
+이기희
+이진태
+이택수
+이종순
+이성출
+이진태
+이옥근
+이돈곤
+이겸조
+이진태
+이재순
+이숙식
+이태열
+이진항
+이은암
+이영아
+이경식
+이진호
+이주선
+이점열
+이성일
+이진환
+이정영
+이대자
+이장술
+이진환
+이재수
+이명술
+이정현
+이진희
+이종숙
+이기윤
+이덕국
+이진희
+이동식
+이규기
+이상우
+이진희
+이광헌
+이낙순
+이신식
+이차봉
+이기남
+이정휴
+이수형
+이차봉
+이양성
+이순탁
+이춘승
+이차봉
+이홍만
+이순순
+이춘중
+이차연
+이광수
+이경홍
+이석자
+이차조
+이말숙
+이성제
+이현자
+이차환
+이태순
+이만만
+이선동
+이찬규
+이강춘
+이진숙
+이숙주
+이찬복
+이재도
+이종택
+이월길
+이찬성
+이전갑
+이무규
+이순출
+이찬수
+이동열
+이면자
+이영흥
+이찬수
+이상향
+이삼수
+이호식
+이찬이
+이기호
+이현순
+이본세
+이찬이
+이득병
+이융석
+이광희
+이찬홍
+이문선
+이성석
+이태한
+이찬환
+이연열
+이석술
+이소덕
+이창규
+이상갑
+이기갑
+이상구
+이창근
+이용수
+이월득
+이복규
+이창기
+이현구
+이재수
+이정수
+이창림
+이종련
+이하덕
+이만현
+이창수
+이용덕
+이제수
+이상수
+이창순
+이대훈
+이만현
+이병호
+이창식
+이상형
+이선철
+이상준
+이창열
+이성연
+이판성
+이희조
+이창용
+이항봉
+이삼호
+이상득
+이창우
+이선길
+이홍순
+이홍영
+이창우
+이무우
+이영숙
+이규철
+이창윤
+이정복
+이태경
+이도분
+이창재
+이종기
+이만자
+이순구
+이창제
+이재옥
+이정술
+이성문
+이창주
+이정출
+이언민
+이혜우
+이창주
+이종열
+이준훈
+이재태
+이창직
+이원순
+이용자
+이병우
+이창하
+이정민
+이양세
+이학식
+이창헌
+이인원
+이의만
+이재택
+이창호
+이경호
+이경성
+이민동
+이창호
+이소조
+이봉철
+이재용
+이창호
+이영곤
+이택선
+이선식
+이창호
+이시주
+이외태
+이우래
+이창환
+이정란
+이성영
+이남업
+이창희
+이종호
+이진주
+이억규
+이채식
+이맹우
+이순선
+이규석
+이채훈
+이홍식
+이기록
+이원수
+이채훈
+이용자
+이달옥
+이복득
+이천곤
+이유목
+이성문
+이수열
+이천광
+이성자
+이주은
+이성종
+이천세
+이정덕
+이종득
+이윤호
+이천수
+이동상
+이정님
+이외녀
+이천조
+이준이
+이우견
+이범석
+이철기
+이연상
+이성길
+이성국
+이철상
+이영태
+이쌍주
+이헌익
+이철수
+이현채
+이극태
+이인수
+이철수
+이안성
+이일병
+이해춘
+이철수
+이정택
+이진수
+이재연
+이철순
+이외영
+이종식
+이광기
+이철우
+이진석
+이병석
+이선록
+이철우
+이사분
+이창길
+이동곤
+이철우
+이창식
+이현석
+이경규
+이철우
+이우한
+이재직
+이영오
+이철주
+이석순
+이태묵
+이문진
+이철호
+이병교
+이재환
+이무기
+이철호
+이경경
+이윤조
+이문자
+이철호
+이의재
+이달동
+이제운
+이철호
+이형원
+이경조
+이효옥
+이철환
+이종봉
+이성임
+이칠석
+이철희
+이용국
+이성용
+이준수
+이청기
+이택욱
+이정치
+이윤용
+이청석
+이한지
+이신식
+이복주
+이청석
+이석이
+이정영
+이분근
+이청수
+이광혁
+이순찬
+이영근
+이청수
+이동화
+이정용
+이상오
+이추자
+이도식
+이종훈
+이보주
+이춘길
+이정진
+이이철
+이병제
+이춘길
+이현만
+이현규
+이정준
+이춘길
+이남산
+이진식
+이성오
+이춘길
+이정원
+이영세
+이성석
+이춘남
+이주숙
+이오수
+이치균
+이춘발
+이외니
+이기화
+이호율
+이춘석
+이장근
+이한극
+이세호
+이춘세
+이원정
+이형재
+이종종
+이춘식
+이기구
+이 택
+이경수
+이춘식
+이신우
+이상효
+이욱종
+이춘실
+이준선
+이지록
+이맹경
+이춘언
+이기목
+이순득
+이기숙
+이춘옥
+이분필
+이상영
+이재호
+이춘우
+이두균
+이의우
+이형제
+이춘우
+이옥임
+이윤연
+이종준
+이춘재
+이순수
+이정석
+이영돌
+이춘탁
+이규강
+이창수
+이영관
+이춘택
+이성일
+이명현
+이동수
+이춘택
+이성순
+이월정
+이성삼
+이춘택
+이형조
+이인주
+이천남
+이춘호
+이중대
+이창자
+이재도
+이춘호
+이태길
+이해한
+이사조
+이춘희
+이종기
+이금천
+이광조
+이춘희
+이원재
+이달석
+이복수
+이춘희
+이타인
+이용선
+이금희
+이춘희
+이명열
+이순생
+이구동
+이출곤
+이정태
+이태환
+이종현
+이출이
+이실호
+이판만
+이대순
+이충근
+이문순
+이수군
+이감영
+이충기
+이영영
+이무아
+이병수
+이충길
+이용달
+이형우
+이경성
+이충길
+이현학
+이홍우
+이순구
+이충헌
+이현섭
+이용범
+이광택
+이충형
+이원환
+이막수
+이용필
+이충호
+이헌각
+이정웅
+이희환
+이충환
+이만길
+이병자
+이정웅
+이충환
+이성한
+이수우
+이수순
+이치권
+이옥수
+이영진
+이석연
+이칠만
+이필수
+이해연
+이복식
+이칠수
+이종용
+이병호
+이월용
+이칠암
+이삼희
+이영복
+이일우
+이칠인
+이진숙
+이영재
+이영규
+이쾌우
+이상란
+이달구
+이수철
+이쾌호
+이호재
+이현동
+이문달
+이탁원
+이갑근
+이한용
+이을석
+이태경
+이태억
+이수모
+이경구
+이태경
+이진흠
+이광배
+이장섭
+이태경
+이태택
+이영순
+이호수
+이태곤
+이인수
+이성선
+이창태
+이태곤
+이대언
+이희문
+이진석
+이태규
+이학수
+이행백
+이재용
+이태근
+이정순
+이호갑
+이양봉
+이태근
+이수호
+이칠호
+이창우
+이태근
+이영수
+이용호
+이원조
+이태근
+이정영
+이윤상
+이성렬
+이태근
+이병수
+이성신
+이래곤
+이태근
+이태구
+이달중
+이진원
+이태근
+이인숙
+이한자
+이순일
+이태근
+이상호
+이정동
+이병옥
+이태근
+이현석
+이정덕
+이주우
+이태근
+이두호
+이정갑
+이경순
+이태기
+이봉암
+이판표
+이석흠
+이태달
+이성경
+이대자
+이증규
+이태덕
+이두학
+이제효
+이금희
+이태동
+이성태
+이정태
+이태언
+이태복
+이규호
+이순철
+이상일
+이태봉
+이명고
+이규배
+이봉우
+이태봉
+이삼연
+이갑례
+이홍경
+이태분
+이정연
+이윤태
+이성헌
+이태석
+이철재
+이행구
+이영자
+이태석
+이재악
+이칠환
+이재호
+이태석
+이순남
+이낙학
+이팔경
+이태선
+이태웅
+이영래
+이봉훈
+이태선
+이근재
+이평옥
+이현희
+이태성
+이종천
+이태호
+이은숙
+이태성
+이규건
+이상환
+이수남
+이태성
+이종용
+이계영
+이회창
+이태성
+이차포
+이도호
+이종진
+이태수
+이록길
+이소복
+이정이
+이태수
+이성만
+이현국
+이정희
+이태수
+이정선
+이춘준
+이순웅
+이태수
+이만근
+이병암
+이윤출
+이태수
+이태자
+이재이
+이윤근
+이태순
+이무택
+이말귀
+이재용
+이태술
+이근기
+이영석
+이경득
+이태술
+이정도
+이성섭
+이재태
+이태술
+이경순
+이기자
+이상선
+이태식
+이점도
+이 환
+이종현
+이태식
+이은식
+이원수
+이병극
+이태식
+이성수
+이을봉
+이병주
+이태식
+이수섭
+이충호
+이헌일
+이태식
+이정연
+이인대
+이영호
+이태신
+이규순
+이정일
+이성주
+이태암
+이근철
+이윤주
+이복호
+이태연
+이윤순
+이태식
+이명우
+이태열
+이재석
+이형석
+이재철
+이태옥
+이종준
+이질필
+이해욱
+이태원
+이중택
+이승순
+이용식
+이태원
+이준철
+이영수
+이성용
+이태원
+이태선
+이경철
+이태경
+이태윤
+이창범
+이근래
+이영식
+이태임
+이복규
+이우태
+이복태
+이태조
+이상헌
+이영용
+이만희
+이태조
+이도희
+이충한
+이병환
+이태조
+이일호
+이기애
+이난근
+이태준
+이재자
+이광희
+이보성
+이태철
+이옥이
+이영호
+이병리
+이태현
+이인경
+이이출
+이필환
+이태현
+이월환
+이화훈
+이경용
+이태호
+이종화
+이재희
+이효근
+이태호
+이달일
+이재언
+이영현
+이태호
+이종용
+이현식
+이양흔
+이태환
+이순철
+이병식
+이정택
+이태효
+이태호
+이명수
+이규섭
+이태훈
+이흥출
+이외로
+이헌자
+이태훈
+이의학
+이장남
+이순출
+이태희
+이광군
+이귀희
+이임숙
+이택곤
+이경인
+이재태
+이헌규
+이택춘
+이문호
+이인득
+이병배
+이특성
+이재창
+이정조
+이하자
+이판기
+이기숙
+이석곤
+이정곤
+이판돌
+이 환
+이윤희
+이길구
+이판동
+이우일
+이귀열
+이인석
+이판석
+이근숙
+이상호
+이칠선
+이판순
+이용경
+이준호
+이재준
+이판순
+이수진
+이순성
+이윤순
+이판술
+이준희
+이창석
+이주철
+이판식
+이정완
+이분수
+이봉택
+이판용
+이정길
+이기설
+이만훈
+이팔용
+이순원
+이지성
+이흥술
+이평구
+이문달
+이병순
+이종하
+이풍미
+이성요
+이경형
+이종래
+이필기
+이타식
+이헌환
+이복현
+이필남
+이재남
+이윤경
+이숙중
+이필수
+이선규
+이종왕
+이기희
+이필수
+이재환
+이종록
+이도원
+이필연
+이재종
+이대수
+이종현
+이필환
+이영환
+이쌍백
+이점연
+이하경
+이기화
+이재갑
+이문동
+이하식
+이성래
+이정곤
+이장호
+이학노
+이성완
+이중택
+이종주
+이학석
+이규호
+이진식
+이동탁
+이학제
+이경현
+이춘권
+이시한
+이학조
+이차호
+이봉헌
+이성진
+이한구
+이기고
+이정출
+이병정
+이한균
+이 조
+이명관
+이숙자
+이한근
+이점식
+이대찬
+이순화
+이한덕
+이뇌열
+이순복
+이인목
+이한성
+이병근
+이분석
+이영열
+이한순
+이현도
+이칠진
+이영환
+이한식
+이무명
+이영대
+이수남
+이한용
+이판권
+이성식
+이영동
+이한평
+이광순
+이용구
+이상태
+이한홍
+이성진
+이정남
+이쌍진
+이항용
+이순술
+이춘수
+이진자
+이해석
+이용식
+이태덕
+이영환
+이해시
+이외성
+이홍환
+이피태
+이해영
+이충호
+이정선
+이영석
+이해옥
+이수희
+이영웅
+이의순
+이해우
+이종우
+이용환
+이명순
+이해욱
+이창국
+이천현
+이원우
+이해운
+이용제
+이종만
+이래교
+이해웅
+이길연
+이태주
+이광선
+이해자
+이상석
+이종식
+이무규
+이해정
+이성수
+이상열
+이필석
+이해정
+이정대
+이규도
+이경연
+이해조
+이옥동
+이종서
+이영용
+이해주
+이명순
+이호준
+이치남
+이해준
+이남택
+이차주
+이순덕
+이해철
+이익조
+이혁경
+이병영
+이행수
+이맹열
+이상선
+이정혜
+이행운
+이봉세
+이창곤
+이진조
+이행자
+이차연
+이용인
+이경분
+이행탁
+이소우
+이희숙
+이경태
+이향미
+이근웅
+이명철
+이금돌
+이향석
+이종섭
+이경익
+이용영
+이헌갑
+이상숙
+이성만
+이영덕
+이헌국
+이기태
+이귀국
+이원덕
+이헌기
+이태희
+이순훈
+이영호
+이헌기
+이봉덕
+이이식
+이재호
+이헌달
+이봉근
+이명금
+이경원
+이헌문
+이수섭
+이동현
+이기선
+이헌방
+이선철
+이인희
+이석범
+이헌상
+이일출
+이금현
+이수범
+이헌식
+이장헌
+이재수
+이대선
+이헌영
+이광재
+이경구
+이광용
+이헌오
+이수우
+이영환
+이세주
+이헌용
+이병홍
+이월원
+이재이
+이헌우
+이기학
+이계조
+이두순
+이헌웅
+이윤식
+이수출
+이노일
+이헌익
+이금하
+이동순
+이학기
+이헌적
+이순용
+이장순
+이태일
+이헌주
+이팔수
+이완효
+이손규
+이헌진
+이영숙
+이상기
+이대목
+이헌출
+이영량
+이경하
+이공석
+이헌치
+이종철
+이완식
+이미웅
+이헌탁
+이복규
+이상조
+이해구
+이헌태
+이재식
+이성덕
+이경태
+이헌태
+이기태
+이명광
+이만용
+이헌태
+이돌순
+이순곤
+이일철
+이헌포
+이영현
+이재출
+이복웅
+이헌포
+이차진
+이대홍
+이용도
+이헌호
+이근경
+이명석
+이갑봉
+이헌호
+이진대
+이규웅
+이상환
+이헌호
+이종희
+이정섭
+이종명
+이혁진
+이종영
+이동성
+이태원
+이현구
+이용배
+이현진
+이은용
+이현령
+이동권
+이원호
+이상용
+이현모
+이업출
+이화훈
+이동태
+이현상
+이종식
+이영준
+이경생
+이현상
+이하희
+이태철
+이금길
+이현상
+이윤호
+이동생
+이진열
+이현숙
+이철자
+이수진
+이홍일
+이현식
+이정애
+이재배
+이영련
+이현열
+이상술
+이일택
+이광호
+이현재
+이동휘
+이영연
+이난운
+이현정
+이복오
+이운성
+이상원
+이현조
+이진균
+이기열
+이위식
+이현종
+이태희
+이재도
+이범주
+이현철
+이광술
+이기동
+이효순
+이현철
+이병재
+이재곤
+이정범
+이현태
+이석현
+이점암
+이윤식
+이현희
+이순자
+이병희
+이수석
+이형광
+이용원
+이윤찬
+이이재
+이형노
+이선식
+이명익
+이만욱
+이형대
+이종태
+이술택
+이용문
+이형묵
+이피득
+이맹순
+이병조
+이형식
+이상석
+이치말
+이재선
+이형식
+이월숙
+이의문
+이말호
+이형조
+이덕남
+이명암
+이영우
+이형태
+이규조
+이인현
+이관규
+이형태
+이택주
+이용일
+이재순
+이혜경
+이표항
+이정호
+이심창
+이혜경
+이동섭
+이이규
+이정출
+이혜경
+이상식
+이종석
+이헌주
+이혜림
+이기욱
+이석훈
+이귀남
+이혜숙
+이재열
+이구환
+이효준
+이혜숙
+이창호
+이원진
+이이만
+이혜주
+이광식
+이종술
+이갑조
+이호권
+이명환
+이대조
+이우성
+이호권
+이옥권
+이외복
+이우옥
+이호동
+이한호
+이태선
+이광용
+이호만
+이경만
+이계환
+이승도
+이호상
+이판열
+이복제
+이오세
+이호석
+이순숙
+이위준
+이정준
+이호성
+이철술
+이성웅
+이춘제
+이호신
+이정섭
+이학도
+이규화
+이호영
+이덕하
+이진호
+이태균
+이호원
+이재호
+이주실
+이기호
+이호원
+이정열
+이용립
+이종식
+이호재
+이대영
+이태대
+이성호
+이호정
+이신탁
+이동만
+이정식
+이호중
+이준준
+이홍수
+이재재
+이호춘
+이정엽
+이석수
+이규환
+이호측
+이광운
+이석균
+이병환
+이홍구
+이동선
+이성식
+이형권
+이홍구
+이병조
+이수석
+이말수
+이홍구
+이원환
+이육진
+이광선
+이홍국
+이동이
+이지근
+이판조
+이홍균
+이주철
+이상식
+이춘근
+이홍기
+이병춘
+이준학
+이영성
+이홍란
+이은복
+이종우
+이재종
+이홍석
+이남용
+이을근
+이청돌
+이홍식
+이영호
+이석수
+이홍현
+이홍식
+이판화
+이이래
+이진복
+이홍열
+이지수
+이달균
+이규자
+이홍택
+이추학
+이윤숙
+이기준
+이홍택
+이종언
+이추득
+이종기
+이화경
+이의덕
+이달국
+이정재
+이화경
+이대태
+이순수
+이동학
+이화락
+이태규
+이이홍
+이순섭
+이화석
+이한래
+이순현
+이희희
+이화세
+이상우
+이병관
+이봉만
+이화수
+이갑조
+이필석
+이종형
+이화자
+이재식
+이태연
+이호원
+이화종
+이병관
+이영술
+이충춘
+이환수
+이태복
+이동우
+이민열
+이환이
+이소희
+이정진
+이재곤
+이환종
+이분재
+이귀곤
+이연숙
+이황수
+이봉근
+이상일
+이영준
+이회순
+이민수
+이덕대
+이영조
+이효균
+이상호
+이태운
+이덕운
+이효수
+이영수
+이혜우
+이정규
+이효원
+이윤수
+이화대
+이명택
+이후봉
+이윤종
+이형호
+이태휴
+이흥기
+이봉상
+이재성
+이종헌
+이흥순
+이달선
+이경억
+이만선
+이흥식
+이종화
+이광배
+이영환
+이흥재
+이상호
+이수제
+이병규
+이희응
+이영현
+이석수
+이정기
+이희자
+이충원
+이현종
+이은식
+이희자
+이은철
+이혜수
+이종대
+인명편
+인종기
+인쌍구
+인정용
+인재환
+인재환
+인상진
+인득도
+임 영
+임장재
+임노규
+임성호
+임경배
+임창수
+임동훈
+임재진
+임경석
+임려철
+임영의
+임외호
+임경식
+임종동
+임진조
+임수철
+임경우
+임용석
+임소부
+임석호
+임경화
+임병삼
+임정수
+임남영
+임광민
+임원식
+임용근
+임주분
+임광식
+임영재
+임기석
+임현배
+임광춘
+임차현
+임분호
+임종제
+임구호
+임창동
+임상한
+임성돌
+임귀숙
+임판석
+임일관
+임철한
+임근덕
+임영돌
+임명택
+임수선
+임금영
+임희순
+임노자
+임성식
+임기오
+임영효
+임성원
+임태도
+임기표
+임정만
+임경치
+임현성
+임기혁
+임대도
+임월희
+임선수
+임기호
+임봉원
+임근희
+임차철
+임길용
+임영현
+임강수
+임정식
+임남순
+임구호
+임병갑
+임신수
+임노식
+임형남
+임덕길
+임인림
+임달석
+임진환
+임석실
+임수만
+임달출
+임상규
+임기명
+임태철
+임달호
+임성미
+임무우
+임복운
+임대희
+임경암
+임헌진
+임근래
+임도석
+임영영
+임부순
+임현희
+임동수
+임재생
+임정배
+임종환
+임록향
+임인곤
+임과숙
+임경정
+임록향
+임성봉
+임영락
+임점동
+임명권
+임원섭
+임응원
+임유연
+임명순
+임진우
+임영래
+임규선
+임명애
+임윤상
+임낙기
+임광천
+임명희
+임상수
+임용근
+임진재
+임무산
+임경호
+임왕수
+임의범
+임무수
+임애조
+임영호
+임정기
+임무연
+임수현
+임왕세
+임인상
+임문순
+임정옥
+임태봉
+임현상
+임병곤
+임희기
+임광우
+임헌택
+임병곤
+임창영
+임인진
+임용희
+임병군
+임순기
+임소철
+임희광
+임병길
+임순철
+임성원
+임순부
+임병삼
+임명순
+임상호
+임상홍
+임병수
+임외삼
+임영훈
+임의덕
+임병오
+임병수
+임용환
+임순노
+임병철
+임득암
+임영현
+임현우
+임병철
+임상호
+임봉호
+임석흠
+임병태
+임원열
+임명봉
+임석규
+임복영
+임칠태
+임종석
+임무영
+임봉우
+임용옥
+임상조
+임채열
+임분조
+임치락
+임무재
+임상생
+임상수
+임재황
+임정기
+임창숙
+임상학
+임윤헌
+임외선
+임말백
+임석점
+임창두
+임태선
+임재술
+임선미
+임준형
+임병출
+임윤곤
+임선우
+임삼경
+임기선
+임종수
+임성규
+임감종
+임희렬
+임천수
+임성기
+임용용
+임진순
+임교영
+임성원
+임순조
+임덕석
+임오홍
+임성호
+임광애
+임덕화
+임재록
+임수동
+임춘신
+임재훈
+임태선
+임수식
+임영우
+임태희
+임태석
+임수일
+임정봉
+임병경
+임상환
+임수칙
+임상여
+임종정
+임종수
+임숙영
+임은표
+임미곤
+임두규
+임숙자
+임갑석
+임대규
+임종진
+임숙자
+임춘문
+임재태
+임말보
+임순덕
+임석선
+임무목
+임기석
+임순덕
+임인휴
+임성순
+임판수
+임순임
+임미남
+임상환
+임기철
+임순자
+임환석
+임규학
+임혁동
+임순환
+임근순
+임진섭
+임영란
+임술호
+임원수
+임면길
+임호욱
+임승곤
+임호수
+임말은
+임영교
+임승권
+임남식
+임필형
+임진순
+임승배
+임영표
+임상수
+임영득
+임승순
+임행근
+임종길
+임치조
+임승팔
+임낙기
+임신규
+임신순
+임양우
+임문이
+임세수
+임명석
+임연호
+임수배
+임성배
+임규석
+임영국
+임차희
+임계진
+임인환
+임영모
+임일호
+임동수
+임언철
+임영종
+임갑흠
+임중순
+임성수
+임영태
+임휘옥
+임만경
+임성수
+임영호
+임병용
+임군철
+임재연
+임영호
+임신홍
+임병자
+임구윤
+임영호
+임금련
+임찬순
+임진옥
+임옥연
+임유흥
+임경태
+임순용
+임외수
+임용기
+임호진
+임상경
+임용진
+임운열
+임경범
+임정호
+임용진
+임상화
+임수조
+임기술
+임용택
+임덕열
+임선붕
+임부복
+임용해
+임용순
+임옥섭
+임용덕
+임우성
+임기자
+임정욱
+임규섭
+임원자
+임명수
+임순배
+임종규
+임원희
+임복석
+임성정
+임재규
+임윤호
+임이화
+임종식
+임영균
+임은경
+임운현
+임인걸
+임용용
+임을상
+임일열
+임석선
+임경수
+임인순
+임보식
+임덕례
+임해준
+임인재
+임희근
+임익순
+임쌍길
+임일우
+임춘효
+임창호
+임충자
+임장규
+임영구
+임태숙
+임장갑
+임재건
+임인선
+임정환
+임진훈
+임재권
+임주생
+임복돌
+임재현
+임재근
+임계조
+임태우
+임만성
+임재근
+임영섭
+임차상
+임달복
+임재근
+임창식
+임삼조
+임수진
+임재천
+임근환
+임기재
+임용호
+임재호
+임성오
+임순우
+임재수
+임점식
+임원봉
+임창영
+임순문
+임정갑
+임학이
+임규학
+임영수
+임정갑
+임삼근
+임해천
+임판제
+임정달
+임종란
+임교기
+임상학
+임정대
+임창아
+임종열
+임자권
+임정모
+임이완
+임상학
+임춘룡
+임정배
+임춘현
+임광대
+임영열
+임정숙
+임용주
+임정자
+임영곤
+임정술
+임진신
+임진권
+임면욱
+임정진
+임임선
+임재조
+임은득
+임정철
+임용식
+임점용
+임용석
+임정태
+임수덕
+임수진
+임수이
+임정혜
+임일섭
+임상이
+임치일
+임정호
+임귀석
+임항등
+임교열
+임정환
+임낙범
+임석상
+임점현
+임제우
+임병헌
+임상춘
+임종희
+임조강
+임용환
+임대생
+임성석
+임종국
+임용자
+임완환
+임재선
+임종길
+임보술
+임순환
+임순성
+임종만
+임재식
+임창순
+임정호
+임종만
+임은선
+임정옥
+임종희
+임종정
+임수섭
+임길선
+임춘식
+임종택
+임순도
+임월우
+임봉화
+임종호
+임종욱
+임상구
+임정수
+임종환
+임재수
+임광한
+임보학
+임주섭
+임상태
+임명수
+임상기
+임중수
+임차곤
+임명조
+임동균
+임증권
+임경희
+임상임
+임태협
+임지환
+임용기
+임동길
+임옥택
+임진규
+임재섭
+임원순
+임수행
+임진모
+임정순
+임춘택
+임점관
+임진목
+임상용
+임동태
+임영현
+임진웅
+임명천
+임사오
+임정호
+임진태
+임상휴
+임명기
+임성권
+임차도
+임종남
+임영만
+임경희
+임차술
+임근억
+임상태
+임연갑
+임창근
+임윤철
+임정태
+임영곤
+임채식
+임영윤
+임형현
+임문철
+임채용
+임정철
+임동준
+임도옥
+임채호
+임태용
+임관용
+임동환
+임천택
+임영용
+임종우
+임부필
+임청석
+임진희
+임봉경
+임정일
+임춘근
+임을선
+임태순
+임화종
+임춘배
+임동옥
+임술남
+임성순
+임춘생
+임중용
+임 기
+임승구
+임춘자
+임경효
+임갑열
+임기식
+임치조
+임주석
+임말동
+임영걸
+임태경
+임기분
+임철일
+임옥진
+임태길
+임효호
+임병의
+임모일
+임태길
+임석곤
+임완택
+임병걸
+임태수
+임시운
+임종권
+임순희
+임태순
+임해윤
+임장구
+임규애
+임태순
+임점종
+임선재
+임정채
+임태순
+임광희
+임하화
+임월춘
+임태자
+임종혹
+임춘문
+임병자
+임태조
+임명현
+임태우
+임윤철
+임태진
+임상규
+임규출
+임소열
+임태호
+임병균
+임재출
+임중웅
+임태호
+임종호
+임홍환
+임종애
+임판석
+임경영
+임종완
+임병규
+임판수
+임영경
+임영환
+임무현
+임팔용
+임복이
+임근석
+임소조
+임학기
+임원근
+임민한
+임말호
+임학술
+임효선
+임영열
+임동수
+임한옥
+임수태
+임술광
+임곤구
+임해철
+임해덕
+임윤조
+임재현
+임행택
+임순임
+임용경
+임영구
+임헌영
+임숙순
+임희조
+임경기
+임헌우
+임교숙
+임두주
+임성채
+임헌철
+임태모
+임경개
+임호수
+임호영
+임홍천
+임운조
+임선희
+임화순
+임만영
+임재임
+임 갑
+임환택
+임재환
+임경숙
+임이호
+장 호
+장병숙
+장치열
+장영정
+장경숙
+장춘자
+장희권
+장기연
+장경술
+장병선
+장혜웅
+장순웅
+장계암
+장경택
+장갑종
+장명후
+장관식
+장문건
+장덕한
+장광열
+장광옥
+장정희
+장암근
+장병용
+장국남
+장 현
+장용희
+장영근
+장규문
+장흥민
+장무관
+장지성
+장규식
+장병기
+장봉순
+장영식
+장규현
+장인완
+장경선
+장한진
+장규홍
+장승화
+장해성
+장재대
+장금영
+장도모
+장송도
+장은환
+장기리
+장진희
+장옥헌
+장일호
+장기식
+장민백
+장재덕
+장재원
+장기왕
+장영철
+장주만
+장증춘
+장기주
+장동봉
+장성출
+장영금
+장기화
+장재호
+장은우
+장병달
+장남순
+장희범
+장진수
+장재우
+장남이
+장계오
+장규조
+장기현
+장대성
+장완완
+장종우
+장윤명
+장덕식
+장원호
+장종태
+장추기
+장덕현
+장말우
+장수규
+장춘수
+장동석
+장계봉
+장상오
+장명청
+장동식
+장대개
+장원수
+장광술
+장동호
+장상조
+장재길
+장일조
+장동호
+장근생
+장수오
+장해현
+장두권
+장대근
+장우연
+장경아
+장두석
+장계점
+장계주
+장지종
+장두순
+장한용
+장종영
+장한용
+장두열
+장상분
+장봉철
+장순석
+장두익
+장시우
+장성호
+장시천
+장만수
+장복관
+장수호
+장원수
+장명호
+장학숙
+장일호
+장태석
+장민식
+장병훈
+장영출
+장영조
+장병국
+장정권
+장정원
+장상출
+장병규
+장영재
+장 수
+장재만
+장병대
+장분우
+장교교
+장영종
+장병식
+장정근
+장선한
+장기우
+장병오
+장순진
+장태득
+장늠자
+장병욱
+장상숙
+장근열
+장정수
+장병운
+장수우
+장동자
+장운갑
+장병준
+장용식
+장지민
+장귀오
+장병철
+장승호
+장석우
+장성우
+장병헌
+장창태
+장상석
+장성팔
+장병호
+장정환
+장익식
+장점선
+장병호
+장금정
+장순기
+장무용
+장복진
+장상진
+장창조
+장계민
+장봉이
+장중수
+장상기
+장순철
+장삼복
+장미수
+장혜대
+장선권
+장삼술
+장종정
+장순재
+장병조
+장삼조
+장기옥
+장해석
+장종득
+장삼환
+장진학
+장구웅
+장정수
+장상기
+장성우
+장정용
+장칠길
+장상기
+장원천
+장옥선
+장형희
+장상기
+장분환
+장만조
+장의희
+장상도
+장삼형
+장자덕
+장호춘
+장상명
+장규기
+장동범
+장경호
+장상부
+장재철
+장영섭
+장종계
+장상식
+장동배
+장호우
+장주분
+장상하
+장철선
+장덕호
+장인희
+장석금
+장만길
+장병재
+장병식
+장석윤
+장종식
+장동률
+장진범
+장석조
+장순주
+장성교
+장철자
+장선식
+장영선
+장학덕
+장 란
+장성규
+장말식
+장경선
+장세호
+장성기
+장태술
+장덕동
+장복기
+장성웅
+장원영
+장차상
+장용도
+장성조
+장영만
+장종언
+장영표
+장성환
+장종서
+장우암
+장진선
+장세열
+장영숙
+장성철
+장암식
+장세원
+장창복
+장보성
+장혁석
+장세중
+장덕철
+장형열
+장수식
+장소권
+장두태
+장점현
+장병환
+장소선
+장석동
+장현곤
+장병환
+장소순
+장병용
+장종연
+장병현
+장소측
+장정진
+장성평
+장종운
+장순명
+장명원
+장성환
+장철분
+장순선
+장 현
+장춘진
+장종도
+장순자
+장태복
+장병하
+장본경
+장순태
+장외수
+장상종
+장성곤
+장순표
+장안헌
+장명이
+장분건
+장순희
+장겸용
+장갑진
+장석권
+장승록
+장재이
+장창대
+장석문
+장승옥
+장의화
+장종헌
+장인분
+장승호
+장정미
+장상임
+장순기
+장시혜
+장정복
+장춘식
+장종복
+장안임
+장혁완
+장현야
+장교철
+장연식
+장춘길
+장태균
+장영근
+장연화
+장현현
+장일호
+장미석
+장영갑
+장중호
+장억주
+장동복
+장영권
+장두찬
+장종훈
+장유식
+장영기
+장규덕
+장 수
+장병희
+장영길
+장명련
+장병병
+장승조
+장영도
+장동관
+장중권
+장한규
+장영복
+장낙흥
+장외규
+장찬길
+장영상
+장종용
+장현영
+장경례
+장영수
+장창이
+장오기
+장주조
+장영작
+장도식
+장영천
+장병현
+장영주
+장성식
+장상도
+장홍식
+장영환
+장영성
+장정환
+장태록
+장영희
+장오선
+장병웅
+장병식
+장옥상
+장소자
+장만희
+장도경
+장옥순
+장영희
+장정호
+장윤권
+장옥순
+장순환
+장재진
+장정이
+장외자
+장칠운
+장정란
+장유연
+장용현
+장영호
+장수숙
+장욱성
+장용호
+장수구
+장여주
+장상숙
+장우출
+장원재
+장인종
+장기관
+장운봉
+장영식
+장청수
+장상경
+장운용
+장호건
+장대석
+장노정
+장운용
+장순열
+장선희
+장선석
+장운용
+장금봉
+장상섭
+장오규
+장원식
+장언환
+장태주
+장점덕
+장원열
+장장출
+장선봉
+장소준
+장원재
+장동삼
+장덕순
+장보수
+장월술
+장만상
+장한환
+장승우
+장육문
+장원호
+장한일
+장정호
+장윤돌
+장명문
+장숙도
+장재곤
+장율이
+장찬근
+장청국
+장규길
+장을경
+장헌권
+장연익
+장선우
+장을성
+장규순
+장점수
+장성순
+장을술
+장동문
+장태현
+장영식
+장을식
+장언호
+장판동
+장정용
+장익용
+장상만
+장광식
+장정만
+장인석
+장진조
+장익태
+장희정
+장인식
+장만재
+장태용
+장상란
+장인학
+장현량
+장노대
+장현태
+장작지
+장홍경
+장상태
+장귀식
+장재만
+장두동
+장덕기
+장현돌
+장재만
+장영록
+장병권
+장윤호
+장재성
+장덕용
+장석호
+장삼이
+장재식
+장종희
+장종란
+장판웅
+장재식
+장쌍광
+장희홍
+장성이
+장재식
+장희성
+장우옥
+장순남
+장재학
+장현호
+장용화
+장이회
+장점도
+장남향
+장재숙
+장외조
+장점수
+장정권
+장태태
+장광남
+장정석
+장소화
+장연중
+장성덕
+장정석
+장정구
+장윤구
+장준돌
+장정숙
+장말로
+장수우
+장순천
+장정순
+장성회
+장 광
+장인석
+장정순
+장기흔
+장영혁
+장재길
+장정용
+장세경
+장남록
+장귀길
+장정자
+장상웅
+장정서
+장위경
+장정호
+장영갑
+장헌신
+장동섭
+장정희
+장수용
+장준숙
+장윤유
+장종경
+장인승
+장상호
+장재택
+장종식
+장태주
+장재출
+장수향
+장종환
+장해화
+장만범
+장건대
+장준기
+장국일
+장복호
+장태자
+장준동
+장 자
+장정기
+장경순
+장준상
+장광환
+장미숙
+장종식
+장지현
+장상출
+장기순
+장숙림
+장진호
+장해주
+장정홍
+장영갑
+장차식
+장소임
+장진희
+장팔희
+장창수
+장인옥
+장재식
+장기백
+장창영
+장용우
+장종주
+장성한
+장창조
+장준곤
+장삼호
+장신석
+장창환
+장수니
+장환섭
+장창학
+장천수
+장규수
+장용탁
+장복균
+장철기
+장태식
+장차희
+장무소
+장철식
+장양원
+장규숙
+장종섭
+장충균
+장헌정
+장희기
+장용석
+장치혁
+장명학
+장근중
+장영수
+장태권
+장종태
+장성우
+장병조
+장태권
+장식식
+장채자
+장진식
+장태복
+장일애
+장병애
+장은호
+장태성
+장선근
+장채자
+장순상
+장태희
+장정석
+장정준
+장정조
+장판돌
+장순조
+장용수
+장금치
+장학수
+장숙식
+장용태
+장하환
+장학이
+장태영
+장상룡
+장만희
+장학조
+장재술
+장우이
+장재연
+장해준
+장채덕
+장진권
+장정열
+장현숙
+장광숙
+장해달
+장기도
+장현식
+장진환
+장헌선
+장승영
+장형희
+장현환
+장교희
+장기식
+장호순
+장만욱
+장병호
+장 환
+장홍식
+장봉규
+장태휴
+장기섭
+장홍진
+장재실
+장한규
+장영영
+장회상
+장영범
+장대동
+장대호
+장훈식
+장인남
+장태우
+장두중
+장휘지
+장연보
+장재식
+장점선
+장희규
+장점우
+장명보
+장경조
+장희자
+장오주
+장공원
+장낙정
+장희철
+장재규
+장준암
+장옥수
+장희현
+장수호
+장헌진
+장영현
+전갑덕
+전형병
+전금선
+전순익
+전갑덕
+전원봉
+전길석
+전연권
+전갑식
+전영원
+전인주
+전종철
+전갑준
+전일순
+전광덕
+전종환
+전강수
+전하화
+전희옥
+전대원
+전강일
+전갑영
+전인향
+전홍택
+전강호
+전길철
+전필봉
+전성남
+전경련
+전달주
+전태웅
+전삼경
+전경배
+전덕세
+전길화
+전용순
+전경배
+전난옥
+전태금
+전신영
+전경식
+전세선
+전점철
+전정성
+전경식
+전화술
+전구철
+전성경
+전경애
+전태철
+전종조
+전상룡
+전경태
+전신호
+전용권
+전성철
+전경표
+전재수
+전응호
+전경권
+전경호
+전재학
+전순옥
+전오준
+전경희
+전희봉
+전종광
+전대상
+전계순
+전명식
+전동덕
+전택재
+전계술
+전두기
+전성철
+전주영
+전곡분
+전부동
+전재주
+전현술
+전공석
+전교임
+전소우
+전말분
+전광식
+전기준
+전해수
+전상윤
+전규성
+전영기
+전홍원
+전정윤
+전규철
+전기철
+전칠천
+전규이
+전근식
+전정옥
+전용욱
+전성영
+전기범
+전기호
+전영우
+전규명
+전기석
+전건삼
+전명옥
+전성임
+전기석
+전민술
+전석국
+전도종
+전기준
+전정수
+전규자
+전영덕
+전기찬
+전주한
+전영향
+전병길
+전기출
+전수호
+전한녕
+전재기
+전기현
+전임운
+전 란
+전병화
+전기홍
+전용국
+전점현
+전태기
+전기홍
+전주자
+전재영
+전남환
+전기환
+전영준
+전현열
+전봉경
+전길연
+전재숙
+전동옥
+전준숙
+전달용
+전옥득
+전선탁
+전채자
+전대두
+전명악
+전영영
+전인호
+전대식
+전의규
+전종양
+전정일
+전대식
+전상동
+전해업
+전오식
+전말연
+전헌철
+전재환
+전진기
+전명석
+전달숙
+전순우
+전이돌
+전명수
+전강연
+전진현
+전동자
+전명호
+전병덕
+전석수
+전승진
+전문식
+전영문
+전창강
+전병조
+전문출
+전종이
+전양곤
+전중홍
+전문평
+전천동
+전세금
+전광철
+전문호
+전종택
+전지덕
+전상호
+전미진
+전성열
+전진환
+전홍동
+전병기
+전자동
+전순연
+전정식
+전병길
+전수성
+전원조
+전하임
+전병달
+전원칠
+전언순
+전정수
+전병대
+전충숙
+전판선
+전병석
+전병두
+전두현
+전찬구
+전규준
+전병립
+전은성
+전달복
+전영찬
+전병목
+전철덕
+전병배
+전성우
+전병무
+전성태
+전수재
+전상수
+전병석
+전범청
+전상천
+전용회
+전병섭
+전동용
+전순철
+전상순
+전병수
+전광수
+전용태
+전평영
+전병순
+전무현
+전순름
+전 선
+전병순
+전승필
+전재민
+전대상
+전병식
+전구만
+전창석
+전영필
+전병옥
+전술조
+전미석
+전성홍
+전병옥
+전덕조
+전복식
+전다규
+전병용
+전병규
+전순연
+전한락
+전병용
+전옥덕
+전점오
+전병동
+전병욱
+전순제
+전윤팔
+전영석
+전병원
+전태숙
+전억수
+전성규
+전병원
+전금호
+전우희
+전임훈
+전병입
+전대진
+전형호
+전상양
+전병주
+전연기
+전기향
+전정환
+전병준
+전경성
+전봉수
+전정연
+전병창
+전순옥
+전대복
+전용화
+전병천
+전석무
+전일의
+전하도
+전병철
+전판균
+전부봉
+전홍영
+전병탁
+전영용
+전정만
+전태희
+전병태
+전판웅
+전철수
+전정향
+전병택
+전봉일
+전태순
+전쾌식
+전병택
+전영조
+전연록
+전성복
+전병혁
+전일우
+전광식
+전태규
+전병호
+전헌호
+전태길
+전윤남
+전병화
+전태평
+전희자
+전종이
+전병환
+전종준
+전동자
+전해배
+전병휴
+전광훈
+전상기
+전강연
+전보수
+전동식
+전현순
+전인철
+전봉권
+전점숙
+전용석
+전재학
+전봉수
+전강보
+전현암
+전종식
+전분술
+전순남
+전명득
+전수희
+전사경
+전경희
+전준홍
+전대섭
+전삼덕
+전용호
+전준이
+전진용
+전삼수
+전상복
+전상대
+전원용
+전삼출
+전청호
+전용조
+전명길
+전삼현
+전진원
+전도상
+전태호
+전삼현
+전태조
+전우규
+전현희
+전상단
+전장수
+전명택
+전옥웅
+전상립
+전상경
+전성일
+전월숙
+전상봉
+전병만
+전선복
+전상련
+전상우
+전해성
+전지자
+전종일
+전상운
+전권상
+전태희
+전정건
+전상운
+전수우
+전상영
+전주진
+전상조
+전창중
+전귀자
+전수순
+전상준
+전득갑
+전석철
+전교휴
+전상철
+전상현
+전언선
+전원호
+전상환
+전미호
+전윤욱
+전성수
+전석모
+전수기
+전열관
+전상열
+전석성
+전덕애
+전용이
+전성식
+전석주
+전일권
+전창태
+전은열
+전선현
+전규식
+전태환
+전천현
+전성곤
+전대빈
+전종태
+전동현
+전성배
+전영완
+전정수
+전정용
+전성배
+전경원
+전 수
+전기열
+전성용
+전면정
+전상현
+전흥주
+전성희
+전용섭
+전소직
+전해진
+전소연
+전복이
+전태식
+전수덕
+전소영
+전재옥
+전해기
+전근환
+전수근
+전선자
+전윤명
+전일원
+전수득
+전영환
+전호성
+전수명
+전수식
+전재숙
+전무수
+전희선
+전수용
+전경한
+전문자
+전명복
+전수학
+전세길
+전수빈
+전정립
+전수학
+전덕봉
+전은임
+전정철
+전수현
+전상태
+전인현
+전욱호
+전수환
+전소선
+전중천
+전삼장
+전수환
+전장식
+전병호
+전종성
+전숙자
+전종환
+전양동
+전재곤
+전순단
+전경부
+전문용
+전우태
+전순득
+전국수
+전수장
+전준리
+전순연
+전동수
+전강영
+전쌍숙
+전순자
+전태용
+전병돌
+전정진
+전순채
+전춘구
+전삼한
+전판식
+전쌍근
+전영숙
+전광언
+전수기
+전쌍수
+전해용
+전창원
+전병락
+전연이
+전승식
+전수태
+전영현
+전영균
+전재호
+전일구
+전치상
+전영균
+전찬균
+전경덕
+전주윤
+전영기
+전복길
+전태권
+전기천
+전영덕
+전점양
+전기봉
+전광숙
+전영록
+전수식
+전정근
+전찬원
+전영삼
+전원호
+전지춘
+전원옥
+전영석
+전태래
+전용하
+전철팔
+전영우
+전휘식
+전창곤
+전대극
+전영자
+전영연
+전윤수
+전종정
+전영종
+전수식
+전충선
+전태희
+전영채
+전현호
+전태부
+전광진
+전영탁
+전헌권
+전석숙
+전동문
+전영판
+전삼호
+전형춘
+전정숙
+전영호
+전재운
+전정구
+전영혜
+전영화
+전윤석
+전중석
+전추석
+전영화
+전종철
+전대권
+전경영
+전영환
+전만식
+전동철
+전판훈
+전영희
+전춘석
+전장남
+전경동
+전오출
+전만자
+전소기
+전상금
+전옥봉
+전석배
+전덕자
+전승철
+전옥성
+전종윤
+전주주
+전강주
+전옥순
+전수덕
+전재순
+전상임
+전완석
+전병진
+전석순
+전재희
+전외출
+전용균
+전미선
+전기우
+전용기
+전수옥
+전영성
+전기돌
+전용석
+전규규
+전덕성
+전성동
+전용수
+전명철
+전정석
+전점득
+전용제
+전경수
+전병한
+전영종
+전용채
+전성선
+전주규
+전태숙
+전용호
+전정복
+전병휴
+전명선
+전용효
+전덕희
+전진용
+전무건
+전용희
+전임복
+전창재
+전영원
+전우수
+전종대
+전석환
+전덕영
+전우진
+전영준
+전범영
+전영순
+전욱남
+전유순
+전태순
+전일열
+전원길
+전태호
+전창일
+전두혜
+전원석
+전해환
+전용철
+전대희
+전원종
+전수순
+전상순
+전복수
+전원중
+전수분
+전영보
+전수일
+전윤덕
+전춘태
+전성환
+전보창
+전윤상
+전은호
+전화정
+전병광
+전윤출
+전경선
+전일환
+전준자
+전윤태
+전현수
+전춘자
+전만호
+전은근
+전말문
+전윤환
+전육기
+전을모
+전용남
+전월용
+전증진
+전을상
+전봉출
+전휘열
+전영규
+전을순
+전하열
+전춘권
+전일현
+전의준
+전유택
+전봉주
+전남기
+전장수
+전안호
+전기범
+전규세
+전장식
+전권우
+전진환
+전규환
+전재봉
+전상철
+전동길
+전기숙
+전재성
+전윤봉
+전희선
+전명균
+전재식
+전호구
+전귀균
+전경현
+전재익
+전동식
+전태철
+전지근
+전재춘
+전현수
+전홍수
+전용순
+전재현
+전영식
+전두진
+전교도
+전재현
+전수환
+전덕호
+전흥경
+전재현
+전영호
+전상영
+전병곤
+전재현
+전효환
+전대호
+전원헌
+전재호
+전효진
+전용용
+전용석
+전점생
+전차근
+전윤희
+전영숙
+전점성
+전상우
+전일동
+전준태
+전정규
+전종국
+전성기
+전영준
+전정만
+전호영
+전만오
+전경권
+전정수
+전현수
+전말석
+전영준
+전정우
+전영순
+전원옥
+전달수
+전정자
+전춘대
+전외회
+전진덕
+전정촌
+전윤기
+전기이
+전필호
+전정태
+전일원
+전은명
+전성표
+전정향
+전준발
+전태영
+전성용
+전정현
+전홍재
+전철정
+전삼선
+전제현
+전점원
+전동재
+전상연
+전종근
+전수학
+전혜식
+전도우
+전종두
+전암규
+전헌운
+전건호
+전종득
+전기원
+전태순
+전윤술
+전종석
+전달락
+전한숙
+전종수
+전종수
+전상수
+전호담
+전진국
+전종여
+전판순
+전삼오
+전증운
+전종현
+전갑탁
+전만호
+전장운
+전종호
+전오상
+전정춘
+전장하
+전주도
+전정덕
+전탁근
+전진희
+전주이
+전천전
+전 모
+전승은
+전준도
+전윤호
+전홍주
+전선영
+전준해
+전기기
+전동경
+전영외
+전준희
+전문원
+전금경
+전영수
+전차덕
+전정섭
+전동선
+전종경
+전차출
+전경달
+전차규
+전경택
+전창규
+전정일
+전창옥
+전선곤
+전창근
+전완규
+전봉선
+전정호
+전창수
+전궁식
+전태구
+전정경
+전창수
+전성순
+전병일
+전금현
+전춘국
+전정구
+전홍남
+전영화
+전춘라
+전응용
+전인수
+전영기
+전춘배
+전유용
+전태수
+전봉은
+전춘웅
+전학용
+전정광
+전치완
+전춘웅
+전상철
+전칠환
+전동식
+전춘희
+전중달
+전학만
+전겸견
+전충일
+전희서
+전채길
+전익수
+전칠수
+전보재
+전명준
+전장래
+전태경
+전재숙
+전창수
+전수재
+전태균
+전도준
+전병덕
+전달희
+전태도
+전명수
+전 국
+전대욱
+전태봉
+전욱덕
+전영환
+전대자
+전태순
+전방섭
+전철철
+전수우
+전태순
+전옥자
+전영동
+전태원
+전태식
+전종선
+전규희
+전기범
+전태조
+전정준
+전무영
+전영석
+전태환
+전위훈
+전진희
+전태권
+전판갑
+전경성
+전태환
+전청철
+전판권
+전국련
+전용건
+전선말
+전판근
+전복오
+전신순
+전지수
+전판수
+전선옥
+전영출
+전진식
+전팔십
+전묘림
+전연원
+전시웅
+전필순
+전병도
+전근규
+전영준
+전하수
+전홍길
+전규경
+전일규
+전학열
+전오휘
+전병근
+전춘희
+전한갑
+전정섭
+전종택
+전일희
+전한규
+전호혁
+전춘종
+전상영
+전한용
+전복찬
+전정수
+전명호
+전항조
+전두자
+전남규
+전희수
+전해관
+전대식
+전칠래
+전창우
+전해근
+전원자
+전승석
+전정기
+전해석
+전철순
+전영목
+전병철
+전해종
+전진용
+전순봉
+전무중
+전해주
+전호동
+전윤교
+전형호
+전해철
+전순의
+전홍열
+전현장
+전해철
+전윤출
+전한조
+전연주
+전해포
+전임조
+전재관
+전홍식
+전헌수
+전승애
+전기자
+전주태
+전현국
+전성근
+전중현
+전광조
+전현수
+전상수
+전상화
+전재연
+전형배
+전경영
+전삼원
+전연준
+전형채
+전성수
+전재진
+전성용
+전형채
+전진일
+전태현
+전기경
+전혜선
+전영현
+전병정
+전철열
+전혜숙
+전미호
+전서웅
+전용현
+전호경
+전봉배
+전경열
+전명홍
+전호근
+전학국
+전성주
+전만식
+전호근
+전홍수
+전종이
+전명래
+전호식
+전춘천
+전만숙
+전계선
+전호진
+전병재
+전홍식
+전정규
+전홍섭
+전달갑
+전명향
+전근일
+전홍열
+전규수
+전외규
+전경욱
+전홍일
+전무근
+전상수
+전팔식
+전홍진
+전팔응
+전재해
+전영출
+전홍태
+전승수
+전정분
+전석표
+전화수
+전도상
+전익홍
+전용덕
+전화자
+전석술
+전수권
+전재연
+전효근
+전학희
+전인남
+전조호
+전효근
+전창도
+전송달
+전동연
+전효배
+전경랑
+전소희
+전도수
+전효진
+전복우
+전삼남
+전근순
+전흥수
+전기순
+전금국
+전재기
+전흥주
+전동희
+전영철
+전재목
+전희득
+전이환
+전순수
+전영규
+전희영
+전우종
+전인규
+전태열
+전희철
+전지선
+전환오
+전환범
+전희환
+전봉규
+전재호
+전혜화
+정 걸
+정성숙
+정경옥
+정성태
+정 숙
+정재영
+정호이
+정은찬
+정 용
+정진근
+정용학
+정봉무
+정 훈
+정상남
+정태기
+정말환
+정갑식
+정창수
+정윤이
+정병희
+정갑주
+정영순
+정공학
+정칠영
+정갑진
+정철임
+정삼식
+정태석
+정건영
+정재록
+정귀식
+정정희
+정경란
+정종필
+정갑근
+정종자
+정경문
+정구수
+정정영
+정태용
+정경숙
+정덕희
+정균규
+정택곤
+정경식
+정 춘
+정원수
+정덕열
+정경식
+정미동
+정외선
+정규근
+정경연
+정영효
+정 식
+정중채
+정경열
+정정림
+정기구
+정순철
+정경준
+정대이
+정정수
+정혁선
+정경훈
+정성현
+정용돌
+정소화
+정계남
+정중호
+정필욱
+정석희
+정계원
+정말옥
+정희덕
+정오수
+정계향
+정무이
+정환섭
+정영갑
+정관옥
+정혁호
+정수규
+정광조
+정관의
+정쌍숙
+정재숙
+정경영
+정광남
+정명진
+정주연
+정판식
+정광덕
+정호창
+정호이
+정봉이
+정광명
+정명우
+정헌대
+정태화
+정광식
+정무수
+정석요
+정철환
+정광식
+정문호
+정정포
+정애현
+정광식
+정수득
+정희용
+정옥홍
+정광영
+정재임
+정상진
+정문룡
+정광용
+정현화
+정평필
+정무술
+정광웅
+정상태
+정용돌
+정호삼
+정광진
+정영진
+정인택
+정용석
+정광태
+정룡선
+정삼철
+정기진
+정교인
+정조식
+정창훈
+정준조
+정구관
+정삼기
+정선식
+정문희
+정구상
+정석악
+정복분
+정성수
+정구석
+정광기
+정정명
+정정권
+정구진
+정분철
+정기한
+정정달
+정구현
+정영열
+정정암
+정상이
+정구호
+정영조
+정재국
+정대기
+정국란
+정상출
+정판진
+정진정
+정권름
+정복원
+정인기
+정태익
+정권판
+정명석
+정장환
+정위기
+정권한
+정현기
+정분일
+정영실
+정귀동
+정응현
+정상이
+정명우
+정귀봉
+정만기
+정병연
+정재옥
+정귀섭
+정태례
+정종용
+정재덕
+정귀순
+정신철
+정성열
+정석계
+정규동
+정판채
+정순순
+정복열
+정규삼
+정정열
+정기호
+정태관
+정규수
+정선호
+정정순
+정상옥
+정규인
+정대규
+정세선
+정준배
+정규태
+정언완
+정종진
+정경우
+정규환
+정말내
+정원일
+정무동
+정규환
+정재산
+정재조
+정도수
+정극보
+정용철
+정윤구
+정무자
+정근재
+정영오
+정헌길
+정상세
+정근철
+정규석
+정평홍
+정병진
+정근포
+정성흠
+정주호
+정인자
+정금남
+정용수
+정의출
+정선목
+정금덕
+정희생
+정재호
+정동홍
+정금옥
+정우점
+정기자
+정효연
+정금이
+정삼순
+정석윤
+정순차
+정기둔
+정일구
+정순연
+정철용
+정기봉
+정상식
+정재덕
+정미술
+정기봉
+정종수
+정규호
+정성규
+정기상
+정상심
+정금노
+정금용
+정기석
+정성운
+정재열
+정권학
+정기석
+정진재
+정태수
+정영현
+정기선
+정영석
+정판희
+정유호
+정기수
+정세환
+정재영
+정민의
+정기숙
+정덕원
+정연식
+정순봉
+정기식
+정남택
+정준우
+정원주
+정기열
+정차림
+정숙석
+정삼수
+정기열
+정종환
+정기천
+정종웅
+정기자
+정병일
+정낙택
+정영현
+정기준
+정영윤
+정복옥
+정진수
+정기진
+정달보
+정근호
+정용도
+정기현
+정기조
+정상선
+정석선
+정길원
+정대열
+정영분
+정만환
+정길행
+정명학
+정수경
+정동득
+정길호
+정군회
+정선석
+정현자
+정길흠
+정순기
+정상환
+정영국
+정길흠
+정호인
+정광호
+정재악
+정낙도
+정남근
+정희빈
+정종순
+정남보
+정재남
+정점현
+정인락
+정남석
+정태희
+정준보
+정건기
+정남섭
+정명일
+정상복
+정우구
+정남이
+정경태
+정윤용
+정대숙
+정남조
+정연기
+정설호
+정문근
+정남택
+정명길
+정수휴
+정정순
+정남필
+정원환
+정인희
+정창출
+정년자
+정우암
+정병기
+정범근
+정대곤
+정상봉
+정문태
+정병옥
+정대균
+정병태
+정홍열
+정현금
+정대성
+정재윤
+정오훈
+정희곤
+정대식
+정희용
+정병기
+정려우
+정대영
+정재환
+정태남
+정우돌
+정덕길
+정학원
+정수숙
+정익호
+정덕길
+정정술
+정태덕
+정영호
+정덕만
+정종학
+정재복
+정용호
+정덕원
+정규봉
+정해학
+정규연
+정덕자
+정석관
+정노현
+정길영
+정덕한
+정종곤
+정소희
+정병섭
+정덕화
+정필열
+정정도
+정원오
+정덕환
+정범외
+정금길
+정윤곤
+정도식
+정성일
+정준조
+정준환
+정도식
+정재홍
+정은술
+정일옥
+정도용
+정재학
+정석호
+정규만
+정동근
+정영재
+정정수
+정호권
+정동식
+정영원
+정우제
+정도준
+정동연
+정만하
+정준수
+정원관
+정동일
+정경석
+정기만
+정병옥
+정동현
+정왕일
+정수석
+정식옥
+정두만
+정문목
+정복수
+정상희
+정두환
+정경여
+정홍석
+정운석
+정두환
+정태이
+정주호
+정관갑
+정두환
+정두엄
+정외규
+정성용
+정득상
+정성화
+정권태
+정원수
+정득우
+정창용
+정홍동
+정광룡
+정등용
+정병이
+정인기
+정상덕
+정례수
+정길주
+정성우
+정생출
+정로식
+정종철
+정상원
+정점원
+정막순
+정삼주
+정윤수
+정남돌
+정만근
+정영권
+정병출
+정행돌
+정만덕
+정종무
+정영천
+정명훈
+정만석
+정함수
+정천덕
+정정원
+정만술
+정광순
+정행택
+정증암
+정만우
+정점향
+정웅교
+정풍연
+정만호
+정광준
+정대선
+정수호
+정만호
+정재연
+정경열
+정경길
+정명국
+정태식
+정정봉
+정기암
+정명수
+정정순
+정장길
+정선야
+정명순
+정정철
+정점우
+정창용
+정명술
+정민평
+정재형
+정선동
+정명옥
+정쌍분
+정봉상
+정봉근
+정명용
+정승준
+정영봉
+정춘덕
+정명지
+정성래
+정주순
+정규덕
+정명표
+정종철
+정창태
+정의호
+정명환
+정인영
+정종익
+정문주
+정명희
+정주동
+정상수
+정창목
+정명희
+정고규
+정동수
+정민태
+정명희
+정영연
+정철만
+정재이
+정목이
+정칠돌
+정만림
+정태구
+정묘선
+정희식
+정정용
+정봉식
+정무상
+정승태
+정수곤
+정수근
+정무성
+정을권
+정로수
+정상출
+정문현
+정영담
+정수기
+정성기
+정미숙
+정차호
+정명만
+정판휘
+정미화
+정해구
+정대홍
+정향분
+정민수
+정동의
+정재수
+정순수
+정민웅
+정경원
+정쌍순
+정재식
+정병수
+정갑희
+정동임
+정희구
+정병용
+정재국
+정옥덕
+정용수
+정병은
+정윤식
+정현자
+정석희
+정병을
+정삼열
+정방환
+정원완
+정병일
+정병훈
+정석성
+정점기
+정병재
+정성호
+정점호
+정갑영
+정병재
+정승선
+정종안
+정하선
+정병종
+정상란
+정재일
+정정오
+정병준
+정경기
+정미기
+정규근
+정병철
+정등태
+정종봉
+정장우
+정병칠
+정일기
+정경근
+정문화
+정병택
+정춘판
+정규옥
+정옥생
+정병화
+정우조
+정휘탁
+정근열
+정보경
+정수운
+정분용
+정상원
+정복순
+정철호
+정정환
+정재원
+정복영
+정광순
+정상대
+정용운
+정봉갑
+정태암
+정진술
+정영자
+정봉권
+정노복
+정태식
+정헌경
+정봉욱
+정건문
+정태용
+정철헌
+정봉욱
+정학기
+정시금
+정문용
+정봉운
+정수제
+정치암
+정선호
+정봉환
+정종자
+정영자
+정일락
+정부광
+정봉수
+정수자
+정춘호
+정부영
+정원숙
+정세춘
+정복중
+정분교
+정윤용
+정공순
+정안호
+정분돌
+정영환
+정한섭
+정종득
+정분조
+정달섭
+정요곤
+정윤희
+정산용
+정일진
+정신복
+정장영
+정삼목
+정재옥
+정재한
+정노철
+정삼수
+정두홍
+정규성
+정영희
+정삼수
+정금태
+정종수
+정명일
+정삼영
+정동욱
+정영석
+정창남
+정삼용
+정술표
+정재출
+정병배
+정삼준
+정병석
+정광길
+정세현
+정삼호
+정헌수
+정지기
+정정근
+정상관
+정재원
+정정정
+정남규
+정상기
+정만팔
+정제범
+정희정
+정상수
+정의숙
+정현경
+정삼재
+정상열
+정재룡
+정선영
+정종대
+정상영
+정학선
+정태웅
+정헌범
+정상용
+정순우
+정석용
+정종석
+정상용
+정봉순
+정영태
+정영조
+정상운
+정주악
+정유술
+정미아
+정상원
+정환호
+정명락
+정만배
+정상일
+정판석
+정창석
+정옥경
+정상정
+정정석
+정광순
+정영순
+정상진
+정덕수
+정상수
+정경곤
+정상철
+정영달
+정병식
+정득란
+정상태
+정칠자
+정성애
+정종례
+정상태
+정근철
+정희석
+정정자
+정상학
+정귀성
+정교환
+정관조
+정상현
+정정태
+정점보
+정동호
+정상호
+정용환
+정기도
+정도환
+정상호
+정이견
+정창웅
+정용선
+정상호
+정상미
+정원선
+정인희
+정상훈
+정명홍
+정대기
+정태혁
+정상희
+정종근
+정창식
+정홍호
+정석광
+정성국
+정병수
+정하진
+정석용
+정태곤
+정광권
+정인교
+정석원
+정병용
+정재도
+정혜이
+정석조
+정창봉
+정행상
+정봉근
+정석철
+정연호
+정금옥
+정삼정
+정석현
+정창웅
+정무숙
+정봉래
+정석화
+정 준
+정용근
+정건갑
+정선오
+정영작
+정영선
+정종경
+정선옥
+정구표
+정성락
+정대우
+정선호
+정구동
+정점제
+정웅희
+정선호
+정성일
+정순섭
+정준도
+정선희
+정기효
+정용희
+정칠동
+정성균
+정태옥
+정정수
+정성용
+정성균
+정길웅
+정임성
+정상덕
+정성근
+정정이
+정태우
+정달술
+정성근
+정인춘
+정남태
+정금환
+정성근
+정만용
+정학선
+정금동
+정성기
+정헌기
+정균리
+정용오
+정성도
+정정열
+정춘길
+정춘훈
+정성란
+정성환
+정동성
+정경헌
+정성순
+정수태
+정현리
+정달호
+정성식
+정성기
+정순숙
+정상석
+정성식
+정동용
+정순정
+정평기
+정성식
+정지로
+정점광
+정상열
+정성식
+정창봉
+정영곤
+정종곤
+정성영
+정주홍
+정헌현
+정만성
+정성한
+정경상
+정용순
+정남영
+정성혜
+정봉석
+정기상
+정성학
+정성호
+정순성
+정종근
+정정지
+정성호
+정승득
+정수경
+정복조
+정성홍
+정태환
+정춘래
+정진덕
+정성환
+정상대
+정태덕
+정상현
+정성환
+정영난
+정춘사
+정태진
+정성훈
+정윤엽
+정성선
+정병기
+정성훈
+정명근
+정정기
+정금조
+정세완
+정순순
+정난수
+정영소
+정소조
+정기자
+정희기
+정만섭
+정손돌
+정태근
+정한이
+정언용
+정손태
+정태진
+정종우
+정용재
+정송덕
+정선기
+정태수
+정금수
+정송목
+정수규
+정선용
+정상술
+정수년
+정동환
+정순휴
+정인생
+정수덕
+정봉기
+정정숙
+정삼식
+정수동
+정종현
+정을수
+정정섭
+정수목
+정노진
+정영복
+정태학
+정수복
+정창준
+정철련
+정기우
+정수상
+정선정
+정범광
+정광조
+정수석
+정상옥
+정광암
+정영경
+정수석
+정정용
+정영종
+정학희
+정수억
+정경해
+정정원
+정순진
+정수웅
+정판욱
+정대현
+정숙한
+정수조
+정영진
+정창규
+정병식
+정수종
+정기태
+정근기
+정양재
+정수주
+정봉술
+정태수
+정은건
+정수진
+정태순
+정상술
+정영배
+정수철
+정광현
+정병현
+정기득
+정수학
+정운연
+정영주
+정정국
+정수학
+정명순
+정환술
+정중길
+정수학
+정영경
+정봉조
+정병규
+정수현
+정영달
+정종종
+정종기
+정수현
+정용영
+정동춘
+정세배
+정수홍
+정영원
+정효흠
+정원운
+정수환
+정점효
+정정택
+정완철
+정수환
+정상자
+정원홍
+정기현
+정수환
+정재준
+정태락
+정태석
+정숙도
+정성기
+정규호
+정태양
+정숙자
+정희기
+정경호
+정영범
+정순기
+정종무
+정용보
+정상삼
+정순득
+정종호
+정순근
+정용고
+정순목
+정원식
+정병식
+정점주
+정순범
+정석자
+정경환
+정창수
+정순봉
+정기순
+정숙양
+정정오
+정순석
+정홍기
+정표봉
+정동준
+정순승
+정세완
+정기수
+정용수
+정순업
+정동영
+정인연
+정훈환
+정순영
+정묘순
+정덕식
+정옥호
+정순옥
+정오철
+정작호
+정영남
+정순원
+정영집
+정귀록
+정병재
+정순조
+정성수
+정례혁
+정순일
+정순태
+정근영
+정숙수
+정종수
+정순표
+정영철
+정남자
+정의권
+정순현
+정장이
+정지우
+정종화
+정순화
+정동옥
+정숙건
+정철남
+정순환
+정재순
+정말수
+정판경
+정순희
+정상이
+정병혁
+정석철
+정순희
+정쌍우
+정태흠
+정순숙
+정승고
+정현련
+정득경
+정병상
+정승교
+정현규
+정창현
+정정식
+정승윤
+정해숙
+정홍순
+정계현
+정식현
+정지호
+정동수
+정문용
+정신섭
+정경권
+정대수
+정일희
+정쌍도
+정현재
+정재호
+정종호
+정쌍득
+정영영
+정희용
+정성두
+정안민
+정재이
+정윤재
+정만희
+정안순
+정보만
+정근집
+정주락
+정양대
+정재동
+정종만
+정기록
+정양영
+정윤수
+정창주
+정태희
+정억조
+정세호
+정정해
+정정호
+정업우
+정광숙
+정인규
+정태경
+정여필
+정정문
+정희식
+정상태
+정연동
+정수수
+정성이
+정동숙
+정연오
+정무수
+정차선
+정인한
+정연우
+정용화
+정정현
+정병치
+정연욱
+정봉희
+정진열
+정성상
+정연진
+정병열
+정상옥
+정용우
+정연환
+정기교
+정사일
+정종재
+정영구
+정운규
+정기연
+정홍석
+정영구
+정무한
+정상연
+정갑수
+정영기
+정교영
+정시용
+정형영
+정영길
+정두경
+정순우
+정종도
+정영도
+정춘호
+정기주
+정차향
+정영복
+정석조
+정동병
+정만섭
+정영석
+정용호
+정문조
+정준숙
+정영석
+정석훈
+정강동
+정부포
+정영수
+정상학
+정경수
+정현익
+정영숙
+정춘복
+정영목
+정임용
+정영옥
+정덕상
+정선주
+정점정
+정영자
+정동진
+정왕순
+정두옥
+정영조
+정원환
+정영로
+정명숙
+정영주
+정성봉
+정복환
+정상길
+정영태
+정홍연
+정주수
+정하강
+정영태
+정한상
+정정주
+정명환
+정영현
+정영열
+정성호
+정필기
+정영환
+정영돌
+정수이
+정일수
+정영환
+정숙수
+정명찬
+정병환
+정오상
+정부학
+정용웅
+정용규
+정옥남
+정춘환
+정인수
+정치진
+정옥련
+정대화
+정창주
+정영해
+정옥순
+정재수
+정춘옥
+정문익
+정외수
+정판수
+정월철
+정장열
+정외환
+정근경
+정해춘
+정영인
+정용관
+정복원
+정신수
+정연남
+정용권
+정순찬
+정일석
+정대웅
+정용균
+정대훈
+정남조
+정정조
+정용돌
+정영건
+정진행
+정도을
+정용모
+정월탁
+정일실
+정상자
+정용암
+정무준
+정호우
+정차규
+정용태
+정삼성
+정영섭
+정옥근
+정용현
+정수출
+정정순
+정운성
+정용현
+정중환
+정주원
+정동석
+정용호
+정억화
+정미자
+정상국
+정용호
+정운헌
+정경술
+정병희
+정용화
+정태학
+정정갑
+정억수
+정용화
+정태하
+정금기
+정일태
+정우석
+정태철
+정창암
+정종희
+정우영
+정위복
+정중달
+정재훈
+정우현
+정용성
+정원연
+정동향
+정우현
+정소국
+정경열
+정기성
+정운복
+정봉석
+정철대
+정명배
+정운현
+정홍분
+정현창
+정성수
+정웅희
+정영형
+정은환
+정병봉
+정원권
+정영형
+정홍고
+정부순
+정원분
+정사희
+정의환
+정오오
+정원석
+정재명
+정판섭
+정을운
+정원승
+정홍정
+정달원
+정성우
+정원용
+정두부
+정홍곤
+정정순
+정원조
+정윤순
+정정래
+정용술
+정원진
+정성섭
+정성철
+정영환
+정원택
+정백유
+정연식
+정성태
+정원현
+정병조
+정학자
+정성섭
+정위태
+정진출
+정길희
+정정민
+정유암
+정대옥
+정용복
+정자국
+정유철
+정동구
+정현완
+정종식
+정윤권
+정호환
+정광호
+정봉수
+정윤기
+정재대
+정교택
+정달민
+정윤덕
+정해규
+정태이
+정환섭
+정윤생
+정경수
+정외수
+정순우
+정윤수
+정재봉
+정선흠
+정용희
+정윤식
+정동봉
+정중국
+정재재
+정윤화
+정삼식
+정기식
+정정열
+정은영
+정연곤
+정창섭
+정상준
+정은희
+정차석
+정위석
+정동복
+정을선
+정태수
+정회중
+정영례
+정을순
+정명석
+정정순
+정해실
+정의원
+정정순
+정효진
+정윤석
+정의현
+정주이
+정애문
+정정희
+정이규
+정부덕
+정종규
+정칠환
+정이규
+정용기
+정병철
+정태식
+정이출
+정성택
+정순례
+정영해
+정이호
+정춘태
+정병기
+정영이
+정이환
+정철순
+정헌호
+정철진
+정익호
+정한갑
+정기근
+정달현
+정인규
+정경성
+정춘촌
+정성규
+정인상
+정호도
+정호영
+정정교
+정인상
+정기환
+정봉이
+정태기
+정인식
+정용환
+정차근
+정경열
+정인식
+정성영
+정영수
+정술자
+정인재
+정장조
+정영석
+정영동
+정인진
+정경선
+정주환
+정태재
+정인채
+정종식
+정선동
+정춘석
+정인태
+정상성
+정옥섭
+정상희
+정인태
+정명석
+정강식
+정영임
+정인환
+정일주
+정정이
+정명용
+정인환
+정수래
+정풍곤
+정태출
+정인희
+정옥중
+정정효
+정종일
+정일권
+정말호
+정 덕
+정삼양
+정일영
+정한윤
+정만국
+정영현
+정일우
+정진식
+정형임
+정한근
+정일한
+정용섭
+정봉모
+정윤환
+정일호
+정재옥
+정성철
+정정수
+정일환
+정보문
+정상래
+정수기
+정임길
+정종근
+정재봉
+정태석
+정임섭
+정현용
+정순원
+정영기
+정임평
+정규천
+정태남
+정현환
+정장목
+정순복
+정영수
+정우호
+정장성
+정창권
+정영양
+정임석
+정장수
+정명애
+정복태
+정길상
+정재경
+정충록
+정일순
+정태형
+정재규
+정문욱
+정명렬
+정선동
+정재규
+정장희
+정정권
+정점오
+정재근
+정철권
+정점순
+정순익
+정재근
+정인식
+정용익
+정태술
+정재봉
+정진길
+정규곤
+정상숙
+정재선
+정순대
+정기판
+정란용
+정재선
+정원연
+정경환
+정석동
+정재수
+정소규
+정차균
+정희옥
+정재식
+정팔철
+정윤용
+정강돌
+정재영
+정진원
+정휘수
+정길윤
+정재요
+정우희
+정재진
+정태화
+정재철
+정현태
+정직심
+정병철
+정재현
+정영빈
+정용철
+정정선
+정재호
+정정순
+정혜만
+정신범
+정재호
+정광택
+정영호
+정쌍웅
+정재홍
+정영봉
+정정환
+정삼자
+정재환
+정정수
+정영찬
+정순태
+정점덕
+정종수
+정현상
+정홍모
+정점순
+정노영
+정순호
+정정훈
+정점용
+정점노
+정장정
+정두수
+정점조
+정유환
+정태군
+정상칠
+정정길
+정재영
+정귀용
+정성권
+정정상
+정명문
+정남권
+정상욱
+정정섭
+정병근
+정상계
+정봉태
+정정숙
+정정희
+정영건
+정광동
+정정숙
+정욱경
+정현덕
+정연태
+정정순
+정기우
+정기호
+정연병
+정정식
+정판익
+정해현
+정충배
+정정식
+정영권
+정금수
+정달곤
+정정용
+정명봉
+정용호
+정상식
+정정원
+정리한
+정경동
+정병원
+정정현
+정충호
+정준윤
+정진한
+정정화
+정근식
+정호옥
+정석학
+정정환
+정곡휘
+정재웅
+정태주
+정조문
+정원수
+정주선
+정길수
+정종달
+정경수
+정경준
+정영판
+정종대
+정순오
+정현자
+정명환
+정종덕
+정구자
+정헌야
+정병권
+정종목
+정이현
+정순재
+정복우
+정종민
+정태열
+정의길
+정기수
+정종선
+정병도
+정보식
+정우흠
+정종수
+정태금
+정부환
+정재태
+정종수
+정 석
+정금인
+정석재
+정종술
+정인진
+정영순
+정윤순
+정종익
+정선현
+정석철
+정현자
+정종진
+정인하
+정선용
+정영수
+정종태
+정순경
+정성세
+정용만
+정종태
+정재관
+정종걸
+정현삼
+정종태
+정귀호
+정복순
+정재웅
+정종환
+정종석
+정재덕
+정정오
+정주열
+정범세
+정성이
+정종강
+정주영
+정월이
+정석하
+정수정
+정주헌
+정태식
+정태한
+정봉기
+정주현
+정효실
+정중탁
+정수수
+정주현
+정환원
+정수영
+정영수
+정주호
+정명현
+정영덕
+정주문
+정주호
+정태림
+정 조
+정중용
+정주환
+정석이
+정필금
+정순길
+정주환
+정헌우
+정의건
+정태진
+정준석
+정성옥
+정채관
+정운권
+정준식
+정창진
+정봉식
+정 용
+정중화
+정수보
+정정근
+정병한
+정지순
+정명대
+정일연
+정승석
+정지자
+정종순
+정진길
+정영우
+정지환
+정태용
+정주용
+정무규
+정진곤
+정갑섭
+정석재
+정용규
+정진국
+정정각
+정용자
+정선선
+정진돌
+정상훈
+정종관
+정종수
+정진상
+정일숙
+정학수
+정영흠
+정진석
+정유필
+정무진
+정성규
+정진세
+정명출
+정영일
+정문수
+정진식
+정인식
+정병석
+정천도
+정진영
+정경순
+정분식
+정영환
+정진영
+정재식
+정회환
+정팔완
+정진용
+정영건
+정종연
+정정현
+정진우
+정칠옥
+정지구
+정연동
+정차경
+정승술
+정병배
+정달환
+정차권
+정해교
+정항순
+정이영
+정차돌
+정성우
+정만교
+정세철
+정차식
+정태교
+정경석
+정상찬
+정차식
+정종호
+정나동
+정장인
+정차원
+정호옥
+정금성
+정면태
+정창덕
+정차태
+정귀훈
+정정익
+정창수
+정해만
+정춘구
+정차배
+정창식
+정영련
+정철순
+정재상
+정창진
+정응돌
+정윤희
+정연성
+정창택
+정현열
+정일영
+정범철
+정창호
+정정진
+정창훈
+정윤란
+정창환
+정청현
+정재우
+정정숙
+정채룡
+정성동
+정귀화
+정정기
+정천식
+정종휴
+정봉기
+정이근
+정철규
+정정화
+정돈준
+정면국
+정철수
+정진현
+정종연
+정문주
+정철주
+정노술
+정헌규
+정일인
+정추월
+정기명
+정기순
+정용억
+정춘교
+정호근
+정대화
+정영복
+정치원
+정용현
+정분수
+정민고
+정칠선
+정정란
+정석희
+정봉권
+정쾌선
+정분규
+정영희
+정경수
+정쾌용
+정용길
+정대호
+정재선
+정태갑
+정창건
+정경호
+정경기
+정태곤
+정운집
+정기득
+정영연
+정태근
+정병택
+정추식
+정준태
+정태길
+정만희
+정길강
+정성태
+정태도
+정순이
+정기열
+정정순
+정태봉
+정성식
+정용식
+정재수
+정태석
+정헌석
+정상숙
+정원종
+정태성
+정삼만
+정희환
+정기선
+정태성
+정정동
+정남훈
+정재열
+정태순
+정동호
+정인흔
+정의근
+정태술
+정남권
+정건이
+정남민
+정태식
+정헌자
+정진식
+정성남
+정태식
+정태택
+정순문
+정종경
+정태영
+정상금
+정선재
+정세섭
+정태용
+정호원
+정수찬
+정수식
+정태용
+정재택
+정함수
+정용출
+정태원
+정병호
+정동종
+정남석
+정태윤
+정임옥
+정동표
+정석조
+정태일
+정기환
+정영로
+정순수
+정태호
+정재학
+정기호
+정운권
+정태호
+정용고
+정규식
+정여남
+정태환
+정년호
+정철균
+정상순
+정태환
+정순용
+정오유
+정해호
+정태환
+정정상
+정재효
+정시훈
+정판득
+정명이
+정봉열
+정종도
+정판득
+정돈실
+정경중
+정은석
+정판정
+정재천
+정달곤
+정한배
+정판태
+정청진
+정재주
+정이은
+정판현
+정점희
+정진춘
+정화상
+정평근
+정무환
+정병희
+정병성
+정필묘
+정해훈
+정수호
+정분연
+정필분
+정석갑
+정순호
+정금태
+정필현
+정태단
+정영호
+정판태
+정하연
+정병덕
+정성철
+정위만
+정하윤
+정인우
+정영찬
+정동호
+정하자
+정태화
+정종정
+정재호
+정학균
+정윤윤
+정 이
+정호호
+정학동
+정곤호
+정영방
+정용분
+정학래
+정대식
+정헌식
+정영주
+정한감
+정혜현
+정영태
+정재중
+정한영
+정부선
+정은호
+정월봉
+정한조
+정봉숙
+정경만
+정기식
+정한조
+정열용
+정상문
+정영화
+정한철
+정휘수
+정용택
+정윤수
+정해경
+정성균
+정용규
+정순한
+정해규
+정종현
+정영덕
+정한생
+정해봉
+정태기
+정순호
+정외운
+정해상
+정순춘
+정용석
+정원수
+정해성
+정석봉
+정순남
+정용희
+정해성
+정차득
+정정국
+정춘세
+정해영
+정관숙
+정성수
+정영석
+정해용
+정춘호
+정양갑
+정영철
+정해용
+정병현
+정상술
+정창수
+정해운
+정갑완
+정광흥
+정주연
+정해조
+정애섭
+정현석
+정현희
+정해창
+정월경
+정광현
+정태석
+정해철
+정언윤
+정병조
+정한만
+정해춘
+정정주
+정원진
+정창호
+정헌택
+정점선
+정원준
+정도섭
+정현도
+정선정
+정기곤
+정태암
+정현미
+정웅영
+정영택
+정종덕
+정현아
+정옥목
+정선주
+정계성
+정현오
+정재명
+정상식
+정상균
+정형오
+정충자
+정판종
+정일호
+정혜영
+정학용
+정춘출
+정상이
+정혜원
+정순직
+정재훈
+정원막
+정호경
+정정수
+정한훈
+정충만
+정호근
+정영희
+정정모
+정점호
+정호연
+정덕웅
+정대현
+정동이
+정호현
+정영탁
+정갑철
+정인태
+정홍기
+정종노
+정상순
+정석주
+정홍석
+정병도
+정창태
+정 선
+정화춘
+정종주
+정병수
+정성정
+정환상
+정정태
+정기영
+정상호
+정환택
+정두근
+정석우
+정원윤
+정환택
+정타득
+정인호
+정용선
+정회봉
+정동이
+정성출
+정민환
+정효조
+정태진
+정영웅
+정주이
+정효환
+정영규
+정오남
+정용우
+정훈식
+정용복
+정상분
+정은호
+정흥국
+정영수
+정원동
+정두호
+정흥기
+정송길
+정판완
+정갑봉
+정흥숙
+정동수
+정해래
+정분호
+정흥열
+정온철
+정월원
+정의치
+정희원
+정기구
+정영범
+정상근
+정희택
+정명혁
+정월곤
+정문언
+정희택
+정병수
+정헌목
+정홍용
+제갈병도
+제태웅순
+제대호동
+제이석순
+제갈병술
+제수관효
+제명천길
+제준규남
+제갈태암
+제천희장
+제정수대
+제수억태
+제경숙
+제태용
+제영자
+제준상
+제규식
+제장학
+제소준
+제찬진
+제금범
+제오식
+제기철
+제한호
+제상우
+제창호
+제경화
+제호원
+제순자
+제용환
+제경숙
+제태윤
+제실경
+제 배
+제상현
+제석호
+제영해
+제병상
+제홍섭
+제맹원
+제재식
+제석선
+제성성
+제동원
+제점옥
+제진우
+제귀선
+제정춘
+제정화
+제기조
+제재석
+제동상
+제종호
+제병용
+제인균
+제창수
+제주식
+제기순
+제영상
+제중수
+제준식
+제남란
+제병기
+제승진
+제천봉
+제소순
+제순식
+제인희
+제천봉
+제남학
+제종호
+제상웅
+제평치
+제덕운
+제한명
+제봉순
+제환석
+제진생
+제언순
+제열흠
+조 무
+조만휴
+조일석
+조윤길
+조 분
+조성현
+조종길
+조길점
+조 호
+조종희
+조성재
+조창호
+조 홍
+조경식
+조치열
+조민춘
+조 환
+조재선
+조헌수
+조홍섭
+조강남
+조금주
+조홍욱
+조성수
+조건래
+조도우
+조영영
+조영용
+조경국
+조영덕
+조춘식
+조진재
+조경래
+조학완
+조홍순
+조태경
+조경래
+조선태
+조영홍
+조경시
+조경수
+조주연
+조영호
+조소일
+조경숙
+조정우
+조명영
+조원만
+조경옥
+조명덕
+조은난
+조병석
+조경출
+조경환
+조상옥
+조상식
+조경호
+조재금
+조종근
+조 을
+조경호
+조병훈
+조종출
+조병호
+조계연
+조상연
+조철돌
+조종열
+조계원
+조용주
+조원조
+조기헌
+조광래
+조재태
+조현천
+조재길
+조광래
+조재원
+조문철
+조수호
+조광래
+조차연
+조상은
+조옥호
+조광웅
+조삼지
+조이태
+조한석
+조광흠
+조인경
+조임호
+조응옥
+조국광
+조정철
+조종봉
+조병상
+조귀연
+조정심
+조승석
+조종순
+조귀자
+조상연
+조기석
+조종규
+조규대
+조만도
+조삼훈
+조영규
+조규상
+조두현
+조기출
+조성순
+조규상
+조우태
+조학호
+조정견
+조규상
+조창준
+조주현
+조순표
+조규수
+조희오
+조창근
+조성학
+조규오
+조원수
+조호채
+조희규
+조규오
+조복이
+조연환
+조호희
+조규정
+조용숙
+조 용
+조경미
+조규천
+조현갑
+조천화
+조금조
+조규화
+조안숙
+조일기
+조상순
+조근제
+조창천
+조병식
+조순한
+조금옥
+조성조
+조홍자
+조노봉
+조금자
+조중천
+조승도
+조응휴
+조기동
+조동환
+조석환
+조창진
+조남혁
+조종수
+조용덕
+조재숙
+조내용
+조이락
+조종정
+조판덕
+조달경
+조재해
+조판용
+조종규
+조달권
+조주갑
+조점윤
+조달화
+조달석
+조해호
+조복범
+조금환
+조달석
+조정구
+조도근
+조춘길
+조대화
+조희기
+조대진
+조세현
+조대화
+조근국
+조재경
+조문란
+조대화
+조석리
+조재흠
+조기출
+조덕래
+조영조
+조태수
+조용교
+조덕임
+조복화
+조창식
+조장우
+조덕주
+조준규
+조윤철
+조낙숙
+조덕희
+조도석
+조일국
+조만호
+조도용
+조인호
+조정수
+조한환
+조도제
+조종도
+조상홍
+조충수
+조동열
+조삼권
+조용근
+조선설
+조동점
+조진우
+조정천
+조종운
+조동철
+조정수
+조호철
+조현봉
+조동훈
+조중상
+조병상
+조동대
+조두현
+조복덕
+조영수
+조만우
+조득용
+조규석
+조혜호
+조기필
+조만호
+조재태
+조용곤
+조오석
+조말상
+조회환
+조칠수
+조봉현
+조말학
+조태수
+조두재
+조재석
+조맹조
+조용봉
+조재재
+조호순
+조명숙
+조영환
+조태식
+조제자
+조명현
+조청근
+조청택
+조봉수
+조무섭
+조만덕
+조필곤
+조이현
+조무원
+조종영
+조상호
+조성순
+조문규
+조종희
+조은성
+조암성
+조문석
+조영래
+조세규
+조태규
+조문효
+조병덕
+조진일
+조권희
+조미경
+조성영
+조태만
+조성조
+조미선
+조남정
+조숙선
+조승곤
+조민남
+조중길
+조용자
+조평수
+조민재
+조신기
+조규훈
+조원호
+조민호
+조경겸
+조장태
+조준규
+조백섭
+조선호
+조대출
+조수환
+조백섭
+조무기
+조수복
+조재중
+조범래
+조금용
+조화진
+조수수
+조병건
+조균석
+조재영
+조무곤
+조병구
+조영진
+조기애
+조성순
+조병규
+조신규
+조길석
+조차주
+조병수
+조외정
+조주애
+조말경
+조병순
+조정열
+조정석
+조정희
+조병오
+조쌍현
+조장동
+조영환
+조병우
+조순기
+조원암
+조상구
+조병준
+조정석
+조윤식
+조영덕
+조병현
+조해봉
+조지옥
+조복순
+조복래
+조덕동
+조호순
+조기술
+조복래
+조동희
+조석호
+조태철
+조복용
+조응철
+조재호
+조승영
+조복제
+조종포
+조덕섭
+조성문
+조봉규
+조재수
+조춘재
+조병희
+조봉룡
+조진현
+조계차
+조홍동
+조봉석
+조낙희
+조태길
+조영례
+조봉순
+조재조
+조달자
+조영욱
+조봉호
+조복근
+조상갑
+조상준
+조부환
+조재희
+조진흠
+조동철
+조분이
+조종수
+조성공
+조제용
+조삼돌
+조원택
+조삼길
+조진규
+조삼돌
+조선연
+조영문
+조문영
+조삼용
+조분규
+조상수
+조병남
+조상기
+조규곤
+조용순
+조성화
+조상래
+조말란
+조상섭
+조장해
+조상록
+조이인
+조세호
+조정원
+조상목
+조상성
+조병희
+조태택
+조상연
+조정용
+조태우
+조진연
+조상오
+조영택
+조동훈
+조낙웅
+조상옥
+조대용
+조재조
+조차병
+조상용
+조정춘
+조한봉
+조영식
+조상태
+조용숙
+조청훈
+조정양
+조상학
+조숙숙
+조금철
+조근만
+조상호
+조선대
+조춘흠
+조도숙
+조석락
+조석자
+조종효
+조재덕
+조석래
+조임연
+조소영
+조순진
+조석만
+조계점
+조상용
+조철술
+조석암
+조해원
+조경백
+조윤기
+조석지
+조종옥
+조정용
+조용윤
+조석현
+조재남
+조남철
+조임정
+조선제
+조진중
+조진호
+조재희
+조선제
+조창호
+조헌현
+조병기
+조성곤
+조순수
+조경준
+조양정
+조성국
+조익제
+조영자
+조응순
+조성권
+조정이
+조한선
+조 근
+조성근
+조홍환
+조성이
+조영홍
+조성득
+조미춘
+조영조
+조병권
+조성룡
+조귀길
+조달상
+조칠관
+조성복
+조인부
+조일권
+조광선
+조성순
+조정희
+조순영
+조석환
+조성옥
+조갑기
+조천환
+조신교
+조성우
+조재봉
+조순석
+조재선
+조성진
+조임일
+조교환
+조찬술
+조성천
+조용택
+조운태
+조영로
+조성현
+조재덕
+조소해
+조수열
+조성환
+조환국
+조주숙
+조병한
+조소석
+조광호
+조은식
+조태인
+조소순
+조금선
+조동근
+조영기
+조소술
+조영학
+조재원
+조태원
+조소조
+조성만
+조순진
+조월용
+조손용
+조일구
+조영이
+조정수
+조수덕
+조춘돈
+조헌득
+조재순
+조수동
+조복옥
+조재식
+조언호
+조수암
+조석목
+조근규
+조재정
+조수암
+조강섭
+조추수
+조주환
+조수원
+조증기
+조병만
+조성국
+조수찬
+조윤배
+조인조
+조삼선
+조수태
+조민성
+조작자
+조원덕
+조수환
+조일순
+조용경
+조창원
+조순남
+조삼복
+조주구
+조술열
+조순득
+조경철
+조영숙
+조춘도
+조순암
+조안덕
+조명완
+조용동
+조순암
+조종재
+조재연
+조병철
+조순연
+조경범
+조태붕
+조해덕
+조순재
+조기녀
+조점근
+조성근
+조순재
+조경실
+조점균
+조정영
+조순제
+조건덕
+조정준
+조문희
+조순집
+조덕수
+조칠진
+조장연
+조순현
+조홍식
+조임열
+조인대
+조승무
+조위호
+조인진
+조수종
+조쌍이
+조식배
+조상수
+조호박
+조안재
+조영옥
+조용우
+조동우
+조애주
+조병우
+조순용
+조순균
+조양래
+조대섭
+조진원
+조정상
+조억제
+조병식
+조운희
+조갑옥
+조연이
+조도태
+조달숙
+조제근
+조연자
+조선술
+조 득
+조오호
+조영기
+조재조
+조현주
+조노순
+조영기
+조다철
+조분록
+조소래
+조영기
+조분명
+조명근
+조영희
+조영길
+조노섭
+조해선
+조 석
+조영래
+조영근
+조복식
+조육호
+조영래
+조용수
+조문근
+조운화
+조영래
+조연순
+조학상
+조춘성
+조영만
+조노성
+조상규
+조점관
+조영목
+조용고
+조칠석
+조기희
+조영석
+조정판
+조미탁
+조 희
+조영성
+조성식
+조진석
+조동돌
+조영수
+조점영
+조숙주
+조기덕
+조영수
+조종열
+조태환
+조성석
+조영숙
+조광열
+조귀원
+조수환
+조영옥
+조동옥
+조해덕
+조길연
+조영자
+조상자
+조건학
+조춘환
+조영자
+조명엽
+조호조
+조상흠
+조영재
+조병순
+조위석
+조대순
+조영제
+조진우
+조한수
+조성덕
+조영조
+조영찬
+조삼천
+조태섭
+조영집
+조진효
+조수주
+조윤석
+조영철
+조종성
+조정룡
+조학관
+조영탁
+조욱섭
+조윤홍
+조주수
+조영학
+조연복
+조춘기
+조가덕
+조영호
+조수복
+조삼배
+조병대
+조영호
+조상생
+조인지
+조일정
+조영효
+조옥재
+조대동
+조외림
+조영희
+조금애
+조학래
+조기이
+조예인
+조진양
+조용도
+조순연
+조오태
+조종석
+조장곤
+조봉연
+조옥계
+조정철
+조주연
+조희표
+조옥분
+조정무
+조문선
+조정순
+조옥선
+조진노
+조동효
+조순희
+조옥현
+조하완
+조종수
+조재민
+조외술
+조인호
+조경환
+조수석
+조용건
+조은영
+조재만
+조대출
+조용권
+조순화
+조선균
+조혁세
+조용근
+조준섭
+조규선
+조병천
+조용기
+조신근
+조태조
+조종준
+조용대
+조장천
+조재상
+조판숙
+조용돌
+조종창
+조종호
+조남술
+조용복
+조종우
+조봉영
+조재규
+조용분
+조경철
+조구춘
+조일옥
+조용성
+조석진
+조숙호
+조용용
+조용순
+조성호
+조원임
+조일호
+조용술
+조우선
+조홍정
+조일환
+조용준
+조태열
+조중야
+조용경
+조용출
+조화석
+조문호
+조일이
+조용택
+조상상
+조점용
+조태상
+조용판
+조찬정
+조 상
+조종호
+조용학
+조경호
+조정분
+조태영
+조용한
+조경덕
+조현섭
+조분환
+조용혁
+조정호
+조효태
+조주기
+조용호
+조병이
+조명열
+조충호
+조욱래
+조삼성
+조지진
+조인택
+조운학
+조위일
+조종환
+조수갑
+조원규
+조육훈
+조만찬
+조명자
+조원재
+조상인
+조호호
+조태이
+조원주
+조교호
+조채덕
+조덕달
+조원현
+조중석
+조상배
+조순열
+조원호
+조정현
+조호현
+조수자
+조위조
+조판수
+조창조
+조경수
+조육조
+조영생
+조순곤
+조봉섭
+조윤구
+조근수
+조윤희
+조병부
+조윤기
+조선수
+조춘교
+조차기
+조윤래
+조재권
+조신선
+조철창
+조윤삼
+조학희
+조형수
+조판익
+조윤식
+조기용
+조명출
+조수순
+조윤제
+조만일
+조용종
+조철철
+조윤제
+조동구
+조옥자
+조선돌
+조의판
+조영기
+조수자
+조양포
+조의환
+조길섭
+조정덕
+조현철
+조이기
+조광완
+조두석
+조재숙
+조이기
+조성배
+조종수
+조영수
+조익성
+조용룡
+조점석
+조석현
+조인석
+조도순
+조태만
+조무선
+조인수
+조정수
+조정곤
+조덕식
+조인숙
+조경순
+조갑준
+조이천
+조인순
+조정철
+조춘동
+조태식
+조인식
+조윤석
+조경열
+조인우
+조인제
+조복미
+조명옥
+조한기
+조인필
+조영석
+조승윤
+조성수
+조인현
+조선근
+조창섭
+조부자
+조인현
+조경득
+조복향
+조효숙
+조인희
+조용학
+조승규
+조원술
+조일도
+조호식
+조춘기
+조성근
+조일선
+조종진
+조창현
+조혜웅
+조임식
+조영현
+조갑원
+조진열
+조임학
+조수창
+조동식
+조대연
+조장근
+조월록
+조종현
+조동용
+조장래
+조성림
+조병술
+조재곤
+조장섭
+조순재
+조종조
+조재수
+조장수
+조상희
+조옥환
+조태기
+조장호
+조현태
+조광홍
+조호정
+조재규
+조현종
+조영대
+조학웅
+조재대
+조정길
+조정기
+조희연
+조재덕
+조태주
+조점완
+조종현
+조재도
+조기선
+조종원
+조월열
+조재동
+조원택
+조옥주
+조성영
+조재만
+조기만
+조병조
+조재술
+조재문
+조성수
+조근찬
+조경희
+조재문
+조학이
+조병식
+조창원
+조재순
+조준철
+조승식
+조달태
+조재옥
+조희태
+조미훈
+조정수
+조재용
+조영연
+조수덕
+조병용
+조재정
+조명정
+조성출
+조석현
+조재천
+조창자
+조선화
+조명수
+조재천
+조주수
+조손출
+조미태
+조재철
+조재용
+조현남
+조흥철
+조재철
+조실식
+조 숙
+조남용
+조재철
+조무만
+조재원
+조수이
+조재태
+조해숙
+조재석
+조석수
+조재태
+조영호
+조명호
+조철섭
+조재한
+조상호
+조명희
+조진묵
+조재호
+조상홍
+조경승
+조용식
+조재훈
+조정길
+조재남
+조호대
+조점덕
+조갑권
+조동호
+조정헌
+조점수
+조순규
+조인식
+조병상
+조점술
+조상련
+조태수
+조남운
+조점옥
+조성병
+조태동
+조시동
+조정각
+조년현
+조홍희
+조봉훈
+조정기
+조수현
+조재환
+조태순
+조정래
+조필자
+조판종
+조기수
+조정미
+조인희
+조범붕
+조석자
+조정보
+조향환
+조태호
+조행식
+조정섭
+조종현
+조진구
+조영순
+조정수
+조기분
+조준수
+조명자
+조정수
+조정원
+조일길
+조명욱
+조정숙
+조경세
+조석판
+조상근
+조정식
+조재석
+조종훈
+조영순
+조정현
+조만원
+조재운
+조광희
+조정현
+조규진
+조풍원
+조광배
+조정호
+조철상
+조일근
+조정철
+조정호
+조경균
+조수수
+조종인
+조정호
+조인길
+조은천
+조원숙
+조정효
+조운용
+조호탁
+조진우
+조종석
+조신진
+조점우
+조상호
+조종석
+조인수
+조소상
+조복용
+조종수
+조태기
+조미철
+조병학
+조종수
+조태진
+조정호
+조평준
+조종술
+조근년
+조숙식
+조종선
+조주희
+조명기
+조점래
+조규태
+조준기
+조형상
+조사덕
+조갑분
+조준석
+조규국
+조문순
+조윤원
+조준연
+조진호
+조복관
+조원섭
+조준우
+조승학
+조춘길
+조영태
+조준철
+조차문
+조재배
+조숙갑
+조준희
+조용진
+조춘재
+조헌환
+조중제
+조혁복
+조정관
+조갑태
+조중환
+조상수
+조석식
+조돈대
+조지갑
+조성대
+조영희
+조충석
+조진애
+조영포
+조금우
+조주창
+조진호
+조기만
+조한경
+조정혜
+조차생
+조봉현
+조우화
+조재순
+조차용
+조회래
+조춘근
+조갑근
+조창근
+조진환
+조영준
+조병장
+조창기
+조헌이
+조 우
+조덕용
+조창석
+조명길
+조태수
+조주호
+조창호
+조상한
+조영덕
+조대윤
+조천석
+조준태
+조분기
+조진영
+조철수
+조유우
+조상진
+조진출
+조철진
+조필원
+조민조
+조말수
+조춘길
+조호순
+조명수
+조수환
+조춘만
+조선영
+조현녀
+조주길
+조춘자
+조원철
+조희규
+조석호
+조칠학
+조병쇄
+조재열
+조영길
+조타순
+조정열
+조문우
+조광하
+조태수
+조전동
+조충회
+조동표
+조태일
+조송선
+조경조
+조순규
+조태조
+조중탁
+조낙원
+조상이
+조태환
+조원흠
+조명현
+조종기
+조태희
+조희례
+조호국
+조재주
+조택상
+조창만
+조병완
+조동철
+조택상
+조광현
+조재우
+조경동
+조판년
+조범오
+조옥순
+조상웅
+조판암
+조삼현
+조홍환
+조조탁
+조필임
+조일봉
+조상대
+조추수
+조하강
+조만도
+조종수
+조상고
+조학래
+조충권
+조오규
+조기배
+조학제
+조동순
+조용용
+조덕경
+조한수
+조점일
+조일범
+조천영
+조한영
+조재호
+조근모
+조순대
+조해민
+조익호
+조상출
+조정록
+조해선
+조태상
+조성환
+조영배
+조해수
+조철수
+조인임
+조원훈
+조해숙
+조인섭
+조신숙
+조종재
+조해식
+조기기
+조석용
+조욱군
+조해용
+조윤준
+조분애
+조진식
+조헌재
+조호영
+조희조
+조만동
+조현석
+조숙준
+조응섭
+조병상
+조현석
+조동자
+조현팔
+조민웅
+조현수
+조해용
+조기균
+조광자
+조현영
+조한욱
+조태태
+조태수
+조현용
+조영호
+조용수
+조헌균
+조현재
+조이종
+조규호
+조제갑
+조현정
+조종하
+조창희
+조순구
+조현조
+조금석
+조영호
+조말호
+조현조
+조춘례
+조성성
+조월수
+조현준
+조윤성
+조상헌
+조영배
+조현중
+조달조
+조선란
+조한진
+조현태
+조용연
+조태암
+조육수
+조현택
+조병봉
+조윤호
+조금선
+조현호
+조태윤
+조성환
+조광현
+조현호
+조병효
+조상희
+조구준
+조현혹
+조두수
+조소선
+조오수
+조형섭
+조준량
+조진성
+조광탁
+조형연
+조행순
+조자오
+조재순
+조호규
+조해익
+조영열
+조홍원
+조호조
+조태익
+조경리
+조용종
+조호조
+조용수
+조정식
+조병태
+조호현
+조준기
+조민봉
+조수완
+조홍석
+조재조
+조명조
+조인미
+조홍석
+조성호
+조종익
+조정호
+조홍섭
+조만현
+조관자
+조춘식
+조환규
+조수준
+조병곤
+조수수
+조황석
+조만갑
+조철철
+조한광
+조희갑
+조경승
+조재덕
+조종자
+조희관
+조재규
+조민임
+조복용
+조희동
+조장학
+조도만
+조경분
+조희래
+조순주
+조재재
+조강택
+조희수
+조신석
+조문숙
+조상용
+조희원
+조용생
+조성임
+조동춘
+조희정
+조영이
+조현헌
+조인개
+조희중
+조승도
+조석관
+조성환
+조희출
+조재석
+조수이
+조상로
+조희태
+조지찬
+조문호
+조태춘
+주 강
+주승환
+주무암
+주진희
+주경진
+주연선
+주상호
+주차팔
+주계숙
+주우덕
+주만녀
+주일봉
+주도홍
+주의윤
+주선숙
+주태균
+주동식
+주봉철
+주판길
+주한득
+주만순
+주재광
+주종원
+주해익
+주명자
+주영영
+주일주
+주옥이
+주민국
+주인태
+주광수
+주달향
+주봉순
+주영우
+주병진
+주근주
+주순옥
+주인웅
+주상갑
+주종국
+주순자
+주판세
+주해권
+주상숙
+주옥분
+주악호
+주하호
+주수달
+주윤표
+주학열
+주성환
+주부상
+주정웅
+주용호
+주귀수
+주재홍
+주중석
+주명종
+주승준
+주병태
+주지종
+주봉순
+주청영
+주홍선
+주춘호
+주순순
+주순록
+주남남
+지병철
+지헌현
+지창조
+지갑자
+지병호
+지병구
+지성이
+지수원
+지수득
+지덕효
+지광희
+지노수
+지영주
+지판진
+지영윤
+지을규
+지옥환
+지제자
+지용렬
+지기현
+지재삼
+지상덕
+지삼철
+지의대
+지재용
+지향호
+지윤원
+지태준
+지종호
+지정숙
+지길기
+지천주
+지춘식
+지우조
+지진임
+지영한
+진갑연
+진명하
+진인상
+진소상
+진갑용
+진정원
+진동득
+진우균
+진규홍
+진외문
+진병조
+진헌환
+진기수
+진시갑
+진연수
+진유기
+진기숙
+진지돌
+진효규
+진재택
+진기용
+진석성
+진순정
+진대우
+진덕희
+진봉식
+진용세
+진철암
+진두봉
+진명권
+진성근
+진성실
+진말선
+진소종
+진갑근
+진삼호
+진명자
+진명태
+진정호
+진계기
+진명자
+진권오
+진계례
+진순식
+진문교
+진석학
+진영대
+진상용
+진병학
+진영헌
+진두식
+진경식
+진봉길
+진명모
+진성돌
+진춘덕
+진봉식
+진원배
+진명이
+진본팔
+진삼조
+진정곤
+진홍래
+진무희
+진상기
+진수호
+진소정
+진석수
+진상욱
+진봉길
+진규환
+진재우
+진상운
+진용춘
+진월규
+진동권
+진상진
+진상선
+진석식
+진극호
+진상환
+진재순
+진재중
+진성선
+진석은
+진용식
+진한태
+진용대
+진석호
+진판호
+진문용
+진길수
+진성만
+진문자
+진순환
+진환술
+진성욱
+진규향
+진인옥
+진경근
+진수웅
+진영달
+진종철
+진준애
+진수판
+진원자
+진해웅
+진병길
+진순도
+진옥선
+진달준
+진학판
+진영국
+진무철
+진병숙
+진경욱
+진영수
+진찬호
+진동창
+진현길
+진영웅
+진석수
+진만철
+진병연
+진영자
+진상수
+진성자
+진명홍
+진외조
+진동영
+진성선
+진재규
+진용돌
+진성순
+진재국
+진수미
+진용수
+진복조
+진암식
+진병남
+진용암
+진정선
+진귀규
+진종식
+진용일
+진옥정
+진상용
+진재관
+진용호
+진재근
+진영원
+진덕춘
+진우권
+진정상
+진의연
+진성식
+진우선
+진갑식
+진점종
+진복태
+진원석
+진영호
+진종도
+진종일
+진이수
+진진영
+진기출
+진호근
+진재용
+진병훈
+진희중
+진명천
+진정란
+진노관
+진근동
+진달환
+진정래
+진상식
+진희수
+진강태
+진정상
+진진원
+진병태
+진석선
+진정세
+진재교
+진장배
+진남근
+진정숙
+진달식
+진용혁
+진재호
+진정숙
+진창영
+진월규
+진진식
+진정언
+진장혁
+진관식
+진춘식
+진종근
+진종학
+진태용
+진정희
+진종대
+진말순
+진수석
+진진선
+진차용
+진상윤
+진경구
+진춘관
+진찬임
+진영수
+진헌순
+진상세
+진찬현
+진미원
+진석석
+진종진
+진창돌
+진홍우
+진영로
+진준학
+진창석
+진남미
+진정구
+진남희
+진창윤
+진한환
+진청제
+진이길
+진천도
+진경만
+진상숙
+진소봉
+진천수
+진해희
+진승헌
+진말수
+진천수
+진신주
+진원우
+진차조
+진철상
+진금환
+진성홍
+진정주
+진칠권
+진찬수
+진홍임
+진준일
+진판개
+진종표
+진상식
+진효근
+진판돌
+진상현
+진금진
+진용채
+진판재
+진윤래
+진재덕
+진병섭
+진행자
+진지용
+진해섭
+진병웅
+진헌수
+진달성
+진경철
+진병훈
+진헌택
+진재환
+진명영
+진기림
+진현이
+진영복
+진종덕
+진호규
+진혜영
+진동숙
+진원석
+진용종
+차 숙
+차갈이
+차병영
+차재도
+차갑석
+차동훈
+차규길
+차순녕
+차경순
+차종순
+차복섭
+차정기
+차극태
+차삼진
+차해연
+차정환
+차근석
+차상팔
+차상봉
+차동진
+차기수
+차윤래
+차성훈
+차인웅
+차기호
+차승옥
+차한순
+차철래
+차길상
+차판효
+차규선
+차용자
+차대륜
+차정덕
+차태근
+차일제
+차덕용
+차상훈
+차재택
+차소우
+차도정
+차상곤
+차상홍
+차효연
+차돌용
+차현석
+차동환
+차종임
+차동석
+차경동
+차경화
+차점암
+차동섭
+차주수
+차규홍
+차재택
+차만용
+차점관
+차언규
+차영순
+차명행
+차영우
+차정희
+차재수
+차민도
+차영수
+차칠군
+차병봉
+차봉도
+차태문
+차성희
+차일순
+차봉훈
+차병현
+차성영
+차홍석
+차삼천
+차창환
+차운복
+차정경
+차상연
+차용운
+차종자
+차흥수
+차상영
+차희식
+차세증
+차덕수
+차상환
+차근희
+차신서
+차복호
+차선이
+차순석
+차필배
+차창교
+차선이
+차숙엽
+차효택
+차종국
+차쌍술
+차갑태
+차기돌
+차분연
+차양현
+차재종
+차영용
+차국열
+차영열
+차유호
+차선섭
+차용계
+차영진
+차원영
+차은실
+차갑조
+차영진
+차상희
+차기동
+차태준
+차영환
+차말근
+차방수
+차정길
+차옥선
+차도만
+차태섭
+차성호
+차용덕
+차판열
+차종화
+차기선
+차용섭
+차진차
+차석찬
+차노갑
+차용수
+차나구
+차철표
+차재곤
+차유섭
+차세선
+차동준
+차기무
+차이순
+차재태
+차성문
+차태수
+차인식
+차명영
+차분배
+차순록
+차일용
+차희도
+차성원
+차대화
+차임선
+차선수
+차위용
+차진민
+차임용
+차한주
+차해승
+차범경
+차장환
+차용만
+차동자
+차상권
+차재규
+차우화
+차광식
+차준우
+차정자
+차차호
+차수자
+차팔정
+차종록
+차상훈
+차쌍국
+차규석
+차증용
+차기재
+차봉이
+차서수
+차지훈
+차상준
+차충석
+차영규
+차진섭
+차종순
+차장길
+차형우
+차질용
+차호동
+차석수
+차현분
+차창석
+차옥전
+차만자
+차소하
+차철휴
+차태조
+차건종
+차경출
+차춘순
+차정익
+차미동
+차경수
+차춘호
+차신만
+차철수
+차구강
+차쾌야
+차묘출
+차두출
+차상덕
+차태선
+차은선
+차종조
+차태섭
+차태진
+차무철
+차창자
+차상열
+차판수
+차선근
+차상갑
+차우표
+차필상
+차성순
+차석식
+차길희
+차필용
+차정현
+차종현
+차규득
+차한용
+차삼식
+차종아
+차정조
+차한천
+차철조
+차수훈
+차성용
+차한출
+차창원
+차호화
+차성남
+차해섭
+차상광
+차곤숙
+차병이
+차호섭
+차복순
+차태희
+차노환
+채경준
+채성규
+채무천
+채상현
+채군묵
+채동출
+채상영
+채옥환
+채규학
+채종욱
+채석상
+채광차
+채노석
+채종호
+채남태
+채재석
+채민준
+채만옥
+채정석
+채정원
+채영희
+채덕석
+채명례
+채윤남
+채윤덕
+채석화
+채환자
+채규주
+채일만
+채영환
+채하자
+채태열
+채정영
+채말도
+채현자
+채호기
+채종률
+채철경
+채종진
+채순수
+채종유
+채우기
+채규근
+채칠수
+채진우
+채재임
+채홍성
+채상호
+채차갑
+채석식
+채대목
+채병배
+채한식
+채길교
+채홍봉
+채인래
+천경용
+천순남
+천광규
+천영규
+천경호
+천성술
+천용룡
+천경석
+천배영
+천영건
+천금오
+천태구
+천우영
+천태숙
+천재환
+천언례
+천우태
+천태용
+천영극
+천우환
+천재근
+천이수
+천윤기
+천봉현
+천재식
+천운덕
+천은수
+천천호
+천태종
+천원용
+천영원
+천상순
+천호균
+천용택
+천수이
+천철희
+최 건
+최갑배
+최정지
+최영환
+최 건
+최남춘
+최혜희
+최경훈
+최 상
+최오아
+최기만
+최병식
+최 윤
+최용주
+최진진
+최성인
+최갑동
+최우붕
+최정원
+최용옥
+최갑철
+최세숙
+최삼권
+최미수
+최경동
+최홍석
+최정애
+최석배
+최경섭
+최선출
+최종갑
+최군현
+최경순
+최상혁
+최해길
+최기용
+최경애
+최정복
+최정태
+최종식
+최경옥
+최영경
+최만주
+최성조
+최경일
+최손완
+최덕호
+최원동
+최경자
+최근득
+최병수
+최상조
+최경자
+최재식
+최주이
+최만화
+최경창
+최윤태
+최성술
+최장용
+최경칠
+최태욱
+최금곤
+최태혁
+최경칠
+최희유
+최상호
+최석이
+최경호
+최을출
+최중용
+최상석
+최경환
+최상열
+최금호
+최강학
+최경훈
+최순우
+최경수
+최덕이
+최경희
+최종호
+최한근
+최운석
+최곤이
+최재호
+최인식
+최상우
+최광식
+최필순
+최일수
+최광숙
+최광임
+최삼남
+최봉석
+최달우
+최광철
+최태호
+최동호
+최교선
+최국렬
+최승순
+최재경
+최상호
+최국진
+최인순
+최기래
+최일연
+최국철
+최용출
+최기배
+최의수
+최귀곤
+최달식
+최용연
+최용복
+최귀주
+최종균
+최임건
+최희희
+최규만
+최환호
+최익이
+최영남
+최규병
+최정현
+최병만
+최영근
+최규석
+최상호
+최동영
+최진곤
+최규찬
+최시수
+최창환
+최중동
+최규태
+최진귀
+최재조
+최칠기
+최극용
+최기순
+최성영
+최점정
+최근모
+최영자
+최병현
+최병환
+최금돌
+최준만
+최호운
+최갑홍
+최금선
+최숙식
+최병배
+최현수
+최금이
+최봉정
+최봉봉
+최세곤
+최기만
+최성락
+최돈수
+최재현
+최기문
+최정곤
+최운호
+최이용
+최기성
+최영호
+최기암
+최재석
+최기원
+최치수
+최부식
+최덕선
+최기환
+최해희
+최영현
+최봉동
+최길동
+최동수
+최재환
+최진규
+최길미
+최중열
+최병택
+최갑수
+최길용
+최이임
+최현만
+최중준
+최낙문
+최창열
+최종규
+최권원
+최낙인
+최명현
+최병환
+최성유
+최난선
+최소식
+최노군
+최현일
+최남원
+최해기
+최병득
+최진택
+최남이
+최복균
+최춘철
+최희희
+최남정
+최태희
+최재설
+최점식
+최남조
+최유희
+최상재
+최경선
+최남철
+최정태
+최호용
+최상복
+최남희
+최순수
+최금이
+최일수
+최내삼
+최용희
+최상준
+최춘철
+최대곤
+최영아
+최기근
+최귀환
+최대웅
+최해영
+최일덕
+최무화
+최대종
+최의국
+최근달
+최강춘
+최대환
+최영수
+최소헌
+최병한
+최덕순
+최학식
+최기정
+최록정
+최돈곤
+최상환
+최용기
+최태일
+최돈헌
+최일포
+최한신
+최분만
+최동건
+최운규
+최종훈
+최상호
+최동국
+최건문
+최재숙
+최윤환
+최동기
+최경록
+최승숙
+최귀분
+최동길
+최태식
+최재경
+최자호
+최동목
+최유복
+최영환
+최상성
+최동서
+최우철
+최인이
+최정이
+최동술
+최창환
+최기홍
+최석술
+최동식
+최정순
+최외근
+최원숙
+최동욱
+최길란
+최종자
+최 운
+최동주
+최년문
+최기태
+최상빈
+최동준
+최갑순
+최경호
+최해조
+최동진
+최우곤
+최수수
+최헌기
+최동진
+최기구
+최재흠
+최상래
+최동춘
+최영희
+최용일
+최오정
+최동호
+최상식
+최상진
+최경춘
+최동홍
+최용이
+최동수
+최주갑
+최동화
+최창문
+최옥열
+최점해
+최동훈
+최종환
+최순갑
+최재호
+최두기
+최희판
+최생해
+최성철
+최두열
+최재조
+최영진
+최종웅
+최두원
+최환원
+최태애
+최미심
+최두형
+최진문
+최차이
+최상환
+최려현
+최규택
+최이순
+최묘석
+최마용
+최호동
+최영도
+최 련
+최만권
+최판규
+최수두
+최봉경
+최만도
+최교희
+최명진
+최준흠
+최만돌
+최준원
+최병규
+최해구
+최만재
+최소수
+최종권
+최정조
+최말석
+최동훈
+최상순
+최태문
+최말선
+최병중
+최재환
+최무호
+최말선
+최외호
+최윤용
+최재수
+최말선
+최용기
+최근영
+최석진
+최명구
+최재순
+최윤숙
+최재수
+최명근
+최봉규
+최시상
+최창수
+최명기
+최성금
+최재경
+최기수
+최명길
+최인한
+최윤용
+최삼환
+최명길
+최성대
+최만분
+최말희
+최명덕
+최상기
+최병규
+최종환
+최명란
+최연조
+최용균
+최진근
+최명룡
+최우식
+최태금
+최영완
+최명선
+최행봉
+최란호
+최달래
+최명술
+최숙희
+최수성
+최영남
+최명원
+최인성
+최영동
+최부천
+최명화
+최익문
+최천식
+최의식
+최몽기
+최융희
+최곤화
+최영종
+최무정
+최상중
+최영진
+최두배
+최무현
+최중수
+최갑순
+최일각
+최문복
+최삼철
+최태기
+최기형
+최문석
+최선기
+최효기
+최장철
+최문섭
+최상순
+최종희
+최암호
+최문재
+최수배
+최광숙
+최월연
+최미성
+최해인
+최광수
+최영인
+최미숙
+최종민
+최용임
+최주호
+최민희
+최필철
+최갑복
+최쾌열
+최범용
+최판래
+최순홍
+최만세
+최범주
+최영희
+최종희
+최창호
+최병규
+최철철
+최종임
+최가헌
+최병길
+최명호
+최차주
+최영촌
+최병길
+최춘건
+최상진
+최성임
+최병길
+최영희
+최태봉
+최태광
+최병담
+최세남
+최병환
+최세곤
+최병수
+최오수
+최갑욱
+최정교
+최병수
+최재구
+최영구
+최금경
+최병수
+최공호
+최춘래
+최창우
+최병술
+최만정
+최호연
+최춘상
+최병암
+최구훈
+최갑수
+최재복
+최병열
+최대기
+최무기
+최용길
+최병오
+최계중
+최진우
+최영용
+최병운
+최태영
+최복교
+최보태
+최병주
+최재기
+최범현
+최신택
+최병준
+최화열
+최의희
+최종만
+최병찬
+최규조
+최수묵
+최영열
+최병찬
+최상규
+최대택
+최창우
+최병철
+최해훈
+최보식
+최상오
+최병철
+최현준
+최규성
+최정관
+최병택
+최흥추
+최일란
+최대연
+최병필
+최낙숙
+최승관
+최경용
+최병하
+최중도
+최의범
+최태자
+최병환
+최상수
+최춘천
+최차호
+최보근
+최영섭
+최성수
+최기평
+최복란
+최병윤
+최순옥
+최승현
+최복련
+최을순
+최영현
+최성명
+최복순
+최도조
+최철조
+최수천
+최복연
+최해섭
+최도연
+최임조
+최복영
+최점이
+최종수
+최성근
+최복용
+최광갑
+최용용
+최장진
+최복출
+최순용
+최효길
+최영식
+최복호
+최영휴
+최석운
+최용수
+최봉권
+최석택
+최훈영
+최용희
+최봉선
+최종기
+최다현
+최흥민
+최봉효
+최동호
+최휘수
+최무덕
+최봉희
+최윤경
+최종수
+최정용
+최부식
+최종복
+최재희
+최남달
+최분남
+최태규
+최복희
+최찬태
+최분선
+최영갑
+최재국
+최분현
+최분옥
+최현종
+최남영
+최영헌
+최분이
+최남해
+최태호
+최휘효
+최삼복
+최성덕
+최기술
+최승길
+최삼순
+최정출
+최정원
+최규욱
+최삼용
+최학선
+최정옥
+최정조
+최삼조
+최형정
+최관진
+최명원
+최삼희
+최명설
+최대순
+최석지
+최상곤
+최재오
+최병재
+최병옥
+최상균
+최기곤
+최 식
+최교웅
+최상기
+최문분
+최연수
+최효생
+최상두
+최원구
+최규진
+최병철
+최상림
+최태삼
+최호교
+최판순
+최상림
+최종조
+최문호
+최영식
+최상림
+최강구
+최수운
+최경정
+최상무
+최도환
+최인희
+최외진
+최상백
+최정근
+최말치
+최봉규
+최상석
+최태환
+최상균
+최종조
+최상숙
+최판식
+최한규
+최종권
+최상열
+최장구
+최지환
+최용식
+최상영
+최중호
+최원환
+최보식
+최상이
+최쌍선
+최 태
+최태열
+최상종
+최의기
+최성덕
+최선실
+최상호
+최대용
+최사근
+최점용
+최상호
+최상수
+최이홍
+최성원
+최상호
+최석자
+최길호
+최태식
+최상환
+최경환
+최무운
+최상수
+최상환
+최세조
+최병모
+최득봉
+최상훈
+최용문
+최신섭
+최상덕
+최석관
+최주욱
+최대주
+최병기
+최석광
+최명배
+최한희
+최득열
+최석근
+최성태
+최성석
+최용탁
+최석명
+최상경
+최중조
+최영수
+최석문
+최유자
+최광호
+최상재
+최석배
+최금규
+최정수
+최우섭
+최석오
+최세홍
+최영열
+최수금
+최석재
+최영술
+최석정
+최구진
+최석철
+최한용
+최재헌
+최미수
+최석철
+최상갑
+최준이
+최용식
+최석헌
+최일경
+최중석
+최명진
+최석헌
+최용건
+최상휴
+최의종
+최석호
+최권록
+최을진
+최상자
+최선규
+최월찬
+최성국
+최범균
+최선이
+최금희
+최수연
+최의열
+최선희
+최경주
+최정권
+최범화
+최성경
+최미호
+최병래
+최원근
+최성곤
+최경돌
+최점준
+최재수
+최성관
+최병성
+최영용
+최종헌
+최성구
+최선완
+최정목
+최정열
+최성규
+최성준
+최덕순
+최미한
+최성규
+최용자
+최동열
+최남일
+최성규
+최규식
+최재식
+최재두
+최성규
+최희우
+최영출
+최원기
+최성대
+최영용
+최헌철
+최춘용
+최성대
+최위윤
+최규돈
+최성용
+최성덕
+최대환
+최월용
+최태근
+최성동
+최준근
+최주철
+최정진
+최성룡
+최범림
+최남호
+최진래
+최성문
+최한철
+최종섭
+최준식
+최성민
+최영현
+최헌수
+최규석
+최성봉
+최자남
+최정향
+최성숙
+최성수
+최국철
+최 혁
+최승기
+최성열
+최말용
+최정덕
+최팔화
+최성열
+최태종
+최익호
+최승섭
+최성열
+최쾌준
+최승임
+최재현
+최성용
+최재자
+최정재
+최명준
+최성욱
+최욱화
+최태수
+최대호
+최성운
+최근이
+최재권
+최상홍
+최성원
+최성연
+최보노
+최해열
+최성원
+최정택
+최종봉
+최정훈
+최성재
+최방자
+최태호
+최태제
+최성재
+최종도
+최판식
+최근순
+최성조
+최재진
+최삼일
+최정용
+최성준
+최무석
+최학건
+최갑조
+최성탁
+최달하
+최재효
+최병희
+최성태
+최정종
+최중언
+최이동
+최성태
+최동주
+최재조
+최동인
+최성택
+최석배
+최형구
+최환용
+최성현
+최술규
+최호배
+최순기
+최성호
+최춘홍
+최진경
+최영문
+최성호
+최경문
+최화석
+최은휴
+최성화
+최말출
+최진용
+최호하
+최성화
+최동수
+최성덕
+최차복
+최성환
+최선수
+최성윤
+최재구
+최성훈
+최석용
+최동호
+최무호
+최소도
+최석옥
+최갑호
+최홍용
+최소도
+최종업
+최무기
+최홍용
+최소임
+최병순
+최은숙
+최석이
+최수남
+최한동
+최윤부
+최세호
+최수동
+최인철
+최차호
+최상녀
+최수동
+최세룡
+최원운
+최승재
+최수련
+최동훈
+최관규
+최유조
+최수만
+최길희
+최재현
+최병헌
+최수열
+최삼현
+최화성
+최재경
+최수인
+최금용
+최성수
+최상택
+최수일
+최일규
+최대선
+최철철
+최수장
+최노관
+최승한
+최세덕
+최수종
+최학선
+최호규
+최재학
+최수종
+최범회
+최영근
+최덕식
+최순근
+최해이
+최영원
+최월문
+최순기
+최정호
+최진상
+최구만
+최순기
+최상홍
+최준술
+최춘분
+최순길
+최대숙
+최태춘
+최순환
+최순녀
+최재옥
+최임순
+최순동
+최순덕
+최창회
+최경국
+최순욱
+최순덕
+최무길
+최종규
+최정갑
+최순동
+최월만
+최운익
+최계환
+최순상
+최종호
+최정덕
+최술권
+최순선
+최종식
+최경석
+최한태
+최순신
+최정갑
+최봉희
+최숙모
+최순연
+최윤호
+최해재
+최 오
+최순연
+최정준
+최필옥
+최복용
+최순욱
+최명진
+최기수
+최영완
+최순이
+최성자
+최영영
+최광조
+최순익
+최 곤
+최분규
+최광권
+최순재
+최점관
+최일창
+최채호
+최순재
+최경천
+최성만
+최권암
+최순출
+최노석
+최병술
+최풍옥
+최순택
+최소석
+최병문
+최동학
+최순호
+최원규
+최태일
+최금삼
+최순화
+최종옥
+최원도
+최정문
+최순희
+최돈학
+최영종
+최종현
+최승락
+최정국
+최영호
+최광현
+최승현
+최상운
+최을봉
+최춘균
+최승환
+최남득
+최점섭
+최말환
+최시영
+최해래
+최광휘
+최황주
+최식태
+최병원
+최영규
+최진호
+최애정
+최윤익
+최혜조
+최성화
+최양자
+최대문
+최형열
+최상관
+최언식
+최미식
+최명연
+최대근
+최여교
+최재담
+최승전
+최상수
+최연구
+최계주
+최막찬
+최문수
+최연홍
+최영영
+최기권
+최순희
+최영곤
+최병선
+최대숙
+최월석
+최영관
+최호복
+최용성
+최근규
+최영국
+최오국
+최해원
+최수이
+최영규
+최 래
+최만호
+최인연
+최영규
+최악갑
+최소규
+최윤수
+최영근
+최일조
+최병원
+최성훈
+최영대
+최양재
+최효호
+최종자
+최영덕
+최기환
+최낙철
+최미자
+최영도
+최소판
+최순향
+최말원
+최영동
+최명자
+최대금
+최덕곤
+최영만
+최영희
+최수구
+최태상
+최영만
+최범규
+최도인
+최운문
+최영만
+최판진
+최정수
+최귀상
+최영석
+최종직
+최종규
+최재택
+최영수
+최 영
+최월도
+최영배
+최영수
+최석철
+최재호
+최형석
+최영숙
+최효석
+최연재
+최성원
+최영순
+최정한
+최만용
+최영기
+최영순
+최진현
+최광숙
+최호점
+최영식
+최명설
+최환순
+최월순
+최영엽
+최성암
+최정식
+최철진
+최영오
+최형근
+최정순
+최이기
+최영의
+최익중
+최삼식
+최윤학
+최영자
+최용삼
+최명렬
+최소숙
+최영자
+최태순
+최수덕
+최분수
+최영재
+최권수
+최세옥
+최태규
+최영주
+최수열
+최진동
+최설호
+최영준
+최경만
+최정경
+최학영
+최영직
+최성경
+최순환
+최찬이
+최영진
+최옥철
+최순호
+최정조
+최영찬
+최창환
+최외준
+최상수
+최영채
+최신정
+최종규
+최동이
+최영철
+최홍호
+최춘희
+최영여
+최영태
+최달자
+최정혁
+최대하
+최영태
+최순욱
+최귀수
+최영영
+최영포
+최홍진
+최무수
+최수호
+최영항
+최창용
+최순덕
+최성창
+최영현
+최천대
+최병채
+최소필
+최영호
+최재택
+최승인
+최재동
+최영효
+최청용
+최희갑
+최명수
+최영희
+최춘규
+최종달
+최순정
+최오근
+최상주
+최금수
+최병열
+최오생
+최병철
+최영철
+최강용
+최옥균
+최인선
+최대애
+최기현
+최옥암
+최용수
+최호용
+최재철
+최외택
+최근동
+최정근
+최연원
+최용권
+최기오
+최해준
+최승홍
+최용규
+최재백
+최정구
+최유동
+최용균
+최수학
+최종례
+최한모
+최용근
+최인숙
+최순근
+최희환
+최용근
+최인옥
+최장진
+최영호
+최용덕
+최덕노
+최운태
+최영운
+최용선
+최상자
+최규환
+최경호
+최용성
+최경용
+최상문
+최성남
+최용수
+최헌희
+최운섭
+최규환
+최용수
+최진문
+최정식
+최순길
+최용승
+최영명
+최진호
+최태상
+최용조
+최중기
+최병환
+최재석
+최용주
+최해덕
+최주갑
+최순덕
+최용준
+최삼조
+최재애
+최재록
+최용태
+최응도
+최달건
+최영훈
+최용택
+최기태
+최영호
+최경용
+최용한
+최점길
+최성용
+최영실
+최용환
+최동오
+최효식
+최현호
+최우권
+최창복
+최달술
+최태선
+최우득
+최용희
+최룡경
+최기희
+최우순
+최준모
+최윤출
+최윤태
+최우영
+최만채
+최재길
+최용천
+최우영
+최호명
+최성원
+최유수
+최운곤
+최상석
+최미열
+최병열
+최운섭
+최재임
+최상희
+최경수
+최운용
+최동범
+최원구
+최해태
+최운원
+최분동
+최분영
+최점길
+최운형
+최병술
+최근곤
+최권하
+최원규
+최종수
+최차완
+최상경
+최원길
+최을창
+최재오
+최옥종
+최원달
+최순연
+최길수
+최영우
+최원덕
+최태근
+최동아
+최팔희
+최원보
+최정곤
+최홍호
+최해구
+최원석
+최영자
+최주영
+최중충
+최원익
+최정득
+최관희
+최노율
+최원일
+최옥복
+최말자
+최기선
+최원조
+최술규
+최점호
+최순진
+최원택
+최기현
+최선금
+최종경
+최원택
+최종식
+최삼훈
+최하중
+최원호
+최효조
+최교포
+최주향
+최원홍
+최분환
+최현순
+최수돌
+최원홍
+최선욱
+최화래
+최남걸
+최월순
+최귀홍
+최기필
+최석철
+최위경
+최성효
+최말악
+최중열
+최윤곤
+최정권
+최신열
+최태섭
+최윤곤
+최기성
+최기준
+최명진
+최윤기
+최옥금
+최진진
+최원수
+최윤남
+최광렬
+최병병
+최한상
+최윤도
+최영석
+최문선
+최원철
+최윤복
+최영윤
+최병윤
+최봉술
+최윤영
+최연수
+최원견
+최옥수
+최윤호
+최성환
+최삼삼
+최종주
+최윤호
+최원대
+최두락
+최상원
+최율태
+최영웅
+최병경
+최주선
+최은경
+최한순
+최옥현
+최재칠
+최은영
+최용태
+최희학
+최수희
+최은종
+최상석
+최인익
+최영조
+최응곤
+최위기
+최상화
+최병헌
+최의권
+최종채
+최상수
+최종수
+최의현
+최점견
+최상환
+최기탁
+최이기
+최하래
+최태열
+최석녀
+최익권
+최연춘
+최원선
+최재순
+최익상
+최화섭
+최상진
+최동현
+최익현
+최성남
+최성진
+최태석
+최인권
+최성한
+최소헌
+최종봉
+최인대
+최진복
+최계범
+최소필
+최인동
+최태록
+최양길
+최호련
+최인수
+최동철
+최만원
+최소열
+최인식
+최상우
+최태근
+최태균
+최인옥
+최명식
+최수춘
+최영만
+최인주
+최제제
+최환철
+최태술
+최인철
+최외수
+최순홍
+최분식
+최인환
+최용노
+최경동
+최운랑
+최일금
+최향주
+최원재
+최두주
+최일동
+최영호
+최원수
+최규태
+최일수
+최종경
+최성화
+최병길
+최일출
+최일교
+최경수
+최 식
+최일호
+최홍미
+최창순
+최동용
+최일환
+최동건
+최칠용
+최준용
+최일환
+최영익
+최봉국
+최기선
+최일훈
+최갑기
+최상묘
+최성일
+최자도
+최경웅
+최재택
+최진경
+최장강
+최선선
+최복난
+최화홍
+최장기
+최광덕
+최춘행
+최재순
+최장수
+최연곤
+최창덕
+최원식
+최장술
+최외환
+최태회
+최용모
+최장준
+최규근
+최창인
+최복화
+최재규
+최학주
+최재호
+최원윤
+최재규
+최영은
+최균수
+최준호
+최재덕
+최명주
+최재성
+최무홍
+최재만
+최인열
+최성윤
+최현환
+최재문
+최영화
+최교심
+최경곤
+최재복
+최경한
+최용학
+최영윤
+최재봉
+최양이
+최성진
+최인달
+최재상
+최동현
+최용식
+최기경
+최재석
+최덕현
+최일화
+최상주
+최재수
+최원배
+최양호
+최영도
+최재숙
+최순현
+최봉옥
+최정석
+최재숙
+최상조
+최선표
+최복하
+최재식
+최영순
+최상완
+최광이
+최재오
+최준수
+최정학
+최강대
+최재우
+최수우
+최복기
+최동순
+최재욱
+최만태
+최 기
+최상조
+최재운
+최용성
+최일성
+최석수
+최재윤
+최삼수
+최재원
+최달정
+최재춘
+최구준
+최대련
+최팔문
+최재출
+최교열
+최삼선
+최외오
+최재학
+최주수
+최혜명
+최병치
+최재헌
+최수수
+최무연
+최성연
+최재호
+최쾌관
+최재희
+최태용
+최재호
+최수진
+최임석
+최창선
+최재호
+최길헌
+최도방
+최필희
+최재호
+최봉암
+최일태
+최명호
+최재환
+최연식
+최호환
+최기주
+최전근
+최옥국
+최인창
+최을열
+최점기
+최용섭
+최의현
+최점식
+최점덕
+최석록
+최정천
+최재기
+최점식
+최오도
+최만길
+최영호
+최점용
+최수명
+최기철
+최태석
+최점준
+최성석
+최규조
+최창조
+최정덕
+최종근
+최승조
+최상출
+최정봉
+최두달
+최점호
+최천식
+최정수
+최종석
+최재열
+최설석
+최정수
+최만생
+최진제
+최호길
+최정수
+최재국
+최광학
+최방규
+최정연
+최용우
+최재준
+최기병
+최정오
+최선호
+최용래
+최진근
+최정우
+최남복
+최철홍
+최원용
+최정윤
+최문수
+최근숙
+최정덕
+최정임
+최덕덕
+최언이
+최해우
+최정종
+최재순
+최봉찬
+최삼섭
+최정준
+최정원
+최을흠
+최중민
+최정철
+최상락
+최주이
+최일순
+최정호
+최종기
+최창식
+최영석
+최정환
+최정호
+최관종
+최병이
+최정환
+최공우
+최병수
+최숙숙
+최정효
+최기원
+최경문
+최장애
+최종갑
+최길미
+최갑로
+최연건
+최종경
+최향기
+최태자
+최병랑
+최종교
+최석준
+최경순
+최종현
+최종국
+최영식
+최기이
+최성부
+최종규
+최경호
+최현범
+최임만
+최종기
+최재우
+최타재
+최윤순
+최종기
+최창수
+최은화
+최칠석
+최종기
+최강구
+최동중
+최헌호
+최종기
+최성훈
+최유화
+최분향
+최종길
+최기해
+최종기
+최원진
+최종길
+최재찬
+최차흠
+최선빈
+최종명
+최태하
+최학숙
+최억분
+최종민
+최기종
+최기조
+최상식
+최종선
+최종준
+최용희
+최영련
+최종성
+최순홍
+최희기
+최부배
+최종숙
+최정환
+최태주
+최대규
+최종식
+최영수
+최병돌
+최광곤
+최종열
+최장복
+최복득
+최분국
+최종운
+최난희
+최정백
+최정철
+최종율
+최상옥
+최춘평
+최말조
+최종일
+최경식
+최상학
+최강기
+최종찬
+최해득
+최광석
+최은봉
+최종태
+최광민
+최용철
+최경암
+최종팔
+최만헌
+최지의
+최학권
+최종현
+최종숙
+최동순
+최중원
+최종현
+최만우
+최봉식
+최영호
+최종호
+최상화
+최규춘
+최태희
+최종홍
+최삼호
+최성문
+최복희
+최종홍
+최기준
+최진태
+최기주
+최종환
+최한고
+최인순
+최석일
+최주환
+최전도
+최진섭
+최경진
+최준복
+최옥식
+최상상
+최이선
+최준생
+최수상
+최은숙
+최윤환
+최준식
+최옥수
+최종섭
+최덕환
+최준식
+최충홍
+최재식
+최혁철
+최중강
+최상분
+최길철
+최인춘
+최중곤
+최삼식
+최상규
+최귀석
+최중권
+최세동
+최분봉
+최미도
+최중기
+최정오
+최정탁
+최재호
+최지훈
+최규연
+최종경
+최장환
+최진국
+최상철
+최현식
+최상병
+최진국
+최인태
+최해재
+최경식
+최진규
+최성곤
+최재매
+최덕성
+최진동
+최만준
+최인계
+최삼분
+최진수
+최명경
+최성환
+최정길
+최진우
+최치도
+최인호
+최병자
+최진운
+최종원
+최덕이
+최임호
+최진원
+최승유
+최용선
+최준교
+최진종
+최만용
+최판회
+최경록
+최진철
+최원환
+최진철
+최삼렬
+최질도
+최장규
+최봉형
+최성태
+최질임
+최병옥
+최창수
+최근익
+최차석
+최은금
+최남영
+최상형
+최차암
+최일순
+최호옥
+최수근
+최차재
+최갑우
+최봉자
+최흥경
+최찬수
+최영협
+최원태
+최재선
+최창규
+최대호
+최행순
+최남희
+최창남
+최동길
+최원훈
+최용규
+최창동
+최헌환
+최성연
+최병석
+최창락
+최종례
+최재일
+최종태
+최창복
+최정수
+최병봉
+최용호
+최창수
+최성수
+최시판
+최인우
+최창숙
+최석연
+최성오
+최규순
+최창지
+최만국
+최문식
+최소견
+최천식
+최광국
+최병철
+최학환
+최천호
+최말희
+최춘환
+최준동
+최철규
+최영석
+최성수
+최순돌
+최철기
+최성근
+최인수
+최태동
+최철동
+최달구
+최만란
+최병래
+최철수
+최중석
+최용기
+최태재
+최철현
+최재숙
+최재정
+최수훈
+최철호
+최원연
+최재출
+최애봉
+최철호
+최재영
+최종돌
+최영기
+최청운
+최윤복
+최수수
+최원수
+최춘돌
+최주태
+최용환
+최지희
+최춘순
+최재임
+최헌구
+최정희
+최춘식
+최창자
+최갑만
+최춘순
+최춘희
+최원록
+최필열
+최무자
+최충국
+최상연
+최영동
+최일현
+최충권
+최학영
+최기원
+최권금
+최충일
+최상훈
+최분현
+최선무
+최쾌동
+최영태
+최순재
+최성용
+최타용
+최동규
+최인자
+최선규
+최태곤
+최정영
+최정환
+최종용
+최태곤
+최상식
+최용호
+최태택
+최태권
+최재생
+최정향
+최점호
+최태규
+최원형
+최태수
+최경수
+최태기
+최칠수
+최전봉
+최창호
+최태기
+최광조
+최천호
+최태운
+최태남
+최선용
+최재달
+최용근
+최태남
+최규달
+최재선
+최성종
+최태봉
+최월출
+최종상
+최영목
+최태수
+최윤석
+최기해
+최용영
+최태수
+최홍희
+최병자
+최수천
+최태수
+최희태
+최영주
+최위현
+최태수
+최종복
+최준혜
+최진자
+최태수
+최원덕
+최상권
+최강갑
+최태숙
+최례원
+최세근
+최장재
+최태술
+최상욱
+최신수
+최미아
+최태열
+최무록
+최종호
+최은식
+최태영
+최준길
+최명태
+최일기
+최태영
+최상기
+최동종
+최호욱
+최태자
+최정환
+최경수
+최석규
+최태종
+최소도
+최철교
+최재래
+최태종
+최영웅
+최장상
+최대기
+최태진
+최대복
+최일규
+최성태
+최태호
+최경숙
+최인균
+최용운
+최태화
+최태연
+최순호
+최영대
+최태흥
+최한우
+최태석
+최성술
+최판군
+최태식
+최정호
+최대영
+최판남
+최삼철
+최삼수
+최조종
+최판동
+최광언
+최순석
+최수식
+최판봉
+최우환
+최종식
+최노호
+최판암
+최석도
+최성만
+최병옥
+최판열
+최정호
+최원연
+최용인
+최판용
+최윤재
+최달휴
+최상오
+최판태
+최병순
+최태식
+최수일
+최판호
+최숙율
+최홍곤
+최성숙
+최팔생
+최병숙
+최구기
+최규갑
+최팔수
+최정석
+최복교
+최선명
+최팽주
+최창오
+최정철
+최상열
+최풍웅
+최성막
+최태수
+최상도
+최필동
+최외대
+최길수
+최인윤
+최필분
+최가원
+최세경
+최진인
+최필순
+최희희
+최장조
+최정조
+최필식
+최원원
+최연용
+최교표
+최하영
+최동기
+최승준
+최근곤
+최하자
+최용배
+최진훈
+최양기
+최학도
+최달학
+최양호
+최현환
+최학석
+최갑호
+최 동
+최보기
+최학식
+최춘선
+최병수
+최승석
+최한성
+최세복
+최주희
+최사성
+최한수
+최찬순
+최영란
+최황봉
+최한수
+최병자
+최희완
+최필달
+최한주
+최미규
+최인곤
+최우경
+최한천
+최춘신
+최환권
+최병만
+최한철
+최재숙
+최창진
+최선철
+최한호
+최태문
+최쌍규
+최인길
+최해곤
+최대양
+최수학
+최상자
+최해숙
+최상홍
+최오식
+최현룡
+최해술
+최태규
+최종덕
+최민석
+최해식
+최규순
+최정수
+최후영
+최해주
+최원환
+최호도
+최명호
+최해천
+최춘환
+최미영
+최용주
+최해천
+최종식
+최수호
+최근식
+최해철
+최무식
+최길택
+최사도
+최해환
+최태형
+최만옥
+최정태
+최혁기
+최길호
+최용순
+최도찬
+최현성
+최점연
+최양공
+최인용
+최형곤
+최삼문
+최덕권
+최진혁
+최형관
+최성미
+최상열
+최상숙
+최형로
+최주호
+최한길
+최태우
+최형석
+최인옥
+최경우
+최낙구
+최호겁
+최진수
+최은만
+최경미
+최호득
+최옥석
+최용인
+최성직
+최호선
+최기천
+최대자
+최석호
+최호진
+최영분
+최영희
+최철지
+최홍곤
+최판철
+최병화
+최영규
+최홍석
+최해연
+최원숙
+최태순
+최홍석
+최재규
+최오환
+최영년
+최홍식
+최삼철
+최상호
+최덕태
+최홍식
+최희록
+최미수
+최수정
+최홍식
+최정락
+최효평
+최용동
+최홍익
+최재욱
+최호남
+최근모
+최홍집
+최춘찬
+최선구
+최상조
+최화숙
+최태훈
+최점익
+최문배
+최환동
+최정희
+최애환
+최갑태
+최효곤
+최지기
+최을한
+최막섭
+최효동
+최한호
+최상추
+최규길
+최흥기
+최기선
+최재환
+최의자
+추미숙
+추갑권
+추삼옥
+추기록
+추연현
+추두주
+추재윤
+추상효
+추영호
+추상권
+추윤영
+추현한
+추인수
+추용자
+추재환
+추정숙
+추정옥
+추태진
+추이선
+추상진
+추태호
+추철억
+추금호
+추병택
+탁미옥
+탁정천
+탁철기
+탁영고
+탁재동
+탁갑희
+탁재열
+탁권생
+탁종희
+탁창권
+탁영남
+탁미득
+탁희곤
+탁재남
+탁기재
+탁진권
+편석진
+편덕정
+편원양
+편숙옥
+표선희
+표희수
+표윤환
+표봉기
+표세문
+표상춘
+표인식
+표준조
+표순기
+표월경
+표영인
+표윤석
+표옥현
+표차연
+표경정
+표삼갑
+표원섭
+표기철
+표병섭
+표창영
+표재수
+표재순
+표재암
+표국조
+표점원
+표수곤
+표광선
+표호근
+피동석
+피강환
+피영호
+피윤홍
+하갑식
+하홍주
+하황희
+하영희
+하경만
+하봉연
+하윤수
+하차노
+하경조
+하수희
+하종택
+하영덕
+하경희
+하기주
+하태수
+하경만
+하계선
+하광호
+하종만
+하병우
+하구록
+하증익
+하성조
+하미생
+하기주
+하상연
+하광석
+하영기
+하길수
+하심재
+하재석
+하대수
+하남순
+하상원
+하쾌세
+하기태
+하대호
+하옥열
+하재작
+하정이
+하동찬
+하태동
+하재호
+하원욱
+하만태
+하민석
+하내성
+하영용
+하명동
+하수환
+하재일
+하진진
+하무순
+하병병
+하경돌
+하영상
+하미경
+하수태
+하종세
+하재호
+하미정
+하병성
+하동수
+하상호
+하병관
+하성탁
+하진보
+하윤덕
+하병원
+하상병
+하태욱
+하재철
+하봉갑
+하광식
+하세철
+하정달
+하분조
+하재봉
+하석종
+하말윤
+하삼금
+하만회
+하영오
+하경난
+하상식
+하종수
+하석자
+하용호
+하석근
+하규복
+하헌수
+하해윤
+하석수
+하성수
+하종호
+하희세
+하세진
+하종기
+하화철
+하윤호
+하순남
+하성환
+하양순
+하달호
+하순숙
+하윤권
+하인자
+하상호
+하순헌
+하병금
+하성암
+하우곤
+하술성
+하수웅
+하태교
+하윤구
+하심홍
+하연춘
+하 규
+하창욱
+하연희
+하복근
+하원오
+하건열
+하영태
+하일노
+하석흠
+하미식
+하외수
+하경향
+하경우
+하동출
+하용수
+하영득
+하태갑
+하우성
+하윤이
+하정열
+하승균
+하석봉
+하인수
+하용섭
+하일삼
+하승현
+하인옥
+하정일
+하보동
+하신호
+하임순
+하재남
+하손경
+하주택
+하장연
+하달조
+하병자
+하수문
+하재순
+하노주
+하정규
+하인회
+하재주
+하봉모
+하영선
+하덕상
+하점순
+하수진
+하해길
+하점홍
+하점옥
+하익열
+하용환
+하수수
+하정연
+하정선
+하승선
+하상이
+하정열
+하칠선
+하용주
+하영열
+하정희
+하경택
+하규춘
+하윤진
+하종배
+하성희
+하종환
+하정섭
+하종연
+하상흠
+하순기
+하혁수
+하창부
+하응찬
+하병환
+하정호
+하춘룡
+하영동
+하종석
+하재경
+하타용
+하득하
+하영모
+하재학
+하태갑
+하옥원
+하영연
+하공영
+하태구
+하종석
+하종배
+하재연
+하태환
+하래훈
+하두명
+하윤치
+하학술
+하순기
+하춘문
+하하호
+하학용
+하무진
+하종상
+하대조
+하해명
+하영복
+하분호
+하종현
+하해명
+하한연
+하백수
+하순현
+하화순
+하현희
+하국생
+하창자
+하후조
+하홍근
+하인용
+하상창
+한 길
+한해봉
+한달근
+한미영
+한 옥
+한재열
+한원수
+한남석
+한갑수
+한태룡
+한위옥
+한복식
+한갑순
+한상악
+한명진
+한광수
+한강제
+한규칠
+한석용
+한복연
+한경애
+한호대
+한성아
+한홍학
+한경이
+한판석
+한태술
+한방근
+한경철
+한윤이
+한중덕
+한홍원
+한곤석
+한경삼
+한순한
+한영현
+한과희
+한춘조
+한븝숙
+한형이
+한관현
+한분춘
+한청식
+한덕환
+한구일
+한석재
+한성근
+한향규
+한국식
+한기호
+한판만
+한철출
+한금섭
+한재현
+한병목
+한차미
+한기철
+한재호
+한기선
+한순섭
+한기학
+한병목
+한일조
+한영희
+한길웅
+한찬석
+한진효
+한인호
+한노수
+한성강
+한영순
+한태균
+한담옥
+한점덕
+한일종
+한순덕
+한대근
+한삼홍
+한정득
+한성규
+한대성
+한현옥
+한일구
+한진도
+한대영
+한수세
+한영영
+한은복
+한덕교
+한혜현
+한영수
+한삼도
+한덕윤
+한질정
+한수오
+한태갑
+한도치
+한숙묵
+한정섭
+한태호
+한동권
+한명수
+한성원
+한인현
+한동수
+한창근
+한종문
+한우득
+한동양
+한수석
+한경선
+한성순
+한두교
+한삼석
+한차택
+한덕조
+한두현
+한일원
+한기길
+한경구
+한만위
+한응호
+한인식
+한무만
+한만호
+한오열
+한인효
+한수은
+한맹교
+한규덕
+한충영
+한동동
+한명갑
+한재국
+한재택
+한기기
+한명수
+한태기
+한춘현
+한수수
+한명순
+한용암
+한종섭
+한태덕
+한무교
+한학수
+한중채
+한석문
+한무현
+한난만
+한진창
+한경룡
+한문교
+한준윤
+한병호
+한주규
+한민자
+한춘광
+한해홍
+한종옥
+한병권
+한삼희
+한준섭
+한옥주
+한병원
+한태수
+한현재
+한용상
+한병철
+한하우
+한시교
+한삼명
+한병한
+한쌍호
+한판현
+한순성
+한복란
+한정경
+한몽기
+한종덕
+한복수
+한태근
+한영완
+한영순
+한복수
+한대태
+한경이
+한학석
+한봉석
+한은환
+한동수
+한황수
+한봉선
+한성석
+한태태
+한미일
+한봉수
+한용우
+한영민
+한무이
+한봉희
+한병운
+한용호
+한재호
+한부교
+한판수
+한낙완
+한태갑
+한사일
+한학문
+한영화
+한규선
+한삼순
+한정이
+한광동
+한경환
+한삼율
+한상준
+한석출
+한문호
+한상대
+한원진
+한승호
+한홍열
+한상모
+한덕우
+한상희
+한종기
+한상봉
+한원호
+한진목
+한창환
+한상석
+한주식
+한영학
+한호열
+한상선
+한광화
+한귀모
+한종육
+한상설
+한갑갑
+한성규
+한효춘
+한상수
+한인일
+한삼기
+한용원
+한상수
+한점미
+한유용
+한해우
+한상우
+한남현
+한상조
+한원태
+한상욱
+한태만
+한만수
+한원학
+한상학
+한찬기
+한왕오
+한일우
+한상학
+한태술
+한양수
+한호보
+한상호
+한해영
+한조훈
+한무용
+한생기
+한상호
+한용규
+한상록
+한석록
+한학덕
+한남엽
+한용인
+한석범
+한춘봉
+한성섭
+한명덕
+한석식
+한종영
+한창곤
+한학표
+한석원
+한동소
+한길석
+한용년
+한선주
+한기임
+한언호
+한윤희
+한성교
+한현환
+한석기
+한우화
+한성구
+한택균
+한용기
+한기식
+한성구
+한혜석
+한문조
+한수용
+한성국
+한희덕
+한병철
+한명순
+한세영
+한종호
+한철철
+한봉숙
+한세용
+한병구
+한용곤
+한분학
+한소순
+한영식
+한용갑
+한철자
+한수상
+한춘기
+한웅흠
+한영식
+한수완
+한재근
+한만진
+한연하
+한순원
+한태남
+한한호
+한익보
+한순찬
+한정은
+한승율
+한종호
+한승세
+한규식
+한재연
+한필호
+한승인
+한의조
+한태길
+한규철
+한승호
+한희식
+한상수
+한송선
+한열찬
+한쌍호
+한용영
+한윤해
+한영대
+한승덕
+한상례
+한영묵
+한영모
+한희태
+한무열
+한복조
+한영섭
+한갑현
+한창림
+한원숙
+한영수
+한동돌
+한진창
+한용란
+한영옥
+한경덕
+한분혁
+한외복
+한영철
+한대헌
+한기석
+한상영
+한영태
+한인수
+한경숙
+한영희
+한영현
+한병수
+한순순
+한성현
+한영희
+한정수
+한소오
+한종태
+한용수
+한영호
+한원문
+한응홍
+한우술
+한상옥
+한강향
+한형동
+한우찬
+한필용
+한임수
+한승학
+한원교
+한상출
+한한진
+한용식
+한원수
+한유희
+한형식
+한한술
+한유교
+한상성
+한태구
+한증영
+한육지
+한금상
+한경태
+한종갑
+한윤현
+한정출
+한규섭
+한동규
+한이술
+한주연
+한미규
+한주재
+한인교
+한규학
+한진용
+한재우
+한인숙
+한재휴
+한채완
+한영규
+한일석
+한승화
+한태임
+한인호
+한장학
+한원석
+한정국
+한우태
+한장현
+한충순
+한중중
+한봉규
+한장현
+한병용
+한의수
+한인경
+한재권
+한판규
+한교욱
+한상원
+한재수
+한종남
+한언수
+한희택
+한정교
+한삼태
+한순경
+한억준
+한정순
+한상상
+한종태
+한상하
+한정진
+한우부
+한병자
+한영조
+한정호
+한동만
+한춘용
+한경태
+한종수
+한월경
+한재자
+한원규
+한종수
+한성호
+한쌍환
+한재환
+한종열
+한양준
+한종수
+한말국
+한종채
+한양섭
+한옥호
+한을오
+한준교
+한석석
+한영현
+한재학
+한준수
+한성주
+한상기
+한춘길
+한중식
+한남희
+한영성
+한술호
+한중악
+한기조
+한양실
+한시철
+한지원
+한병경
+한웅길
+한필해
+한진교
+한용문
+한양수
+한인자
+한진애
+한종현
+한수진
+한윤익
+한창근
+한근수
+한명근
+한기한
+한창석
+한형오
+한순만
+한동동
+한창수
+한필용
+한재길
+한동호
+한철수
+한석홍
+한춘모
+한상영
+한칠용
+한석립
+한국우
+한상홍
+한태남
+한달일
+한기성
+한성환
+한태순
+한태하
+한종호
+한영실
+한태출
+한일찬
+한용숙
+한재현
+한판달
+한말주
+한정헌
+한찬근
+한현수
+한태조
+한계의
+한갑석
+한현정
+한환구
+한춘학
+한용측
+한형수
+한쌍술
+한수석
+한쌍덕
+한호열
+한수대
+한용식
+한미경
+한홍석
+한세순
+한월권
+한선수
+한효균
+한달순
+한광식
+한정호
+한효동
+한정호
+한성우
+한종태
+한흥수
+한기문
+한희분
+한수석
+한희경
+한한현
+한근재
+한광현
+함계술
+함진란
+함경호
+함연봉
+함병원
+함종자
+함두술
+함병동
+함수태
+함성근
+함구규
+함순운
+함영조
+함태순
+함영옥
+함원식
+함우암
+함상혜
+함동순
+함정연
+함원환
+함해홍
+함정옥
+함인목
+함정웅
+함상재
+함기근
+함근숙
+함환종
+함상용
+함기원
+함선학
+허 광
+허현수
+허정용
+허종달
+허 동
+허만봉
+허주동
+허승석
+허 석
+허의술
+허성원
+허귀원
+허 순
+허상호
+허상자
+허진현
+허 완
+허병준
+허순재
+허호선
+허 원
+허정대
+허태화
+허중갑
+허 유
+허정영
+허정림
+허덕수
+허 작
+허동제
+허태대
+허주화
+허경출
+허홍열
+허삼환
+허정순
+허광수
+허숙갑
+허정훈
+허재문
+허권찬
+허판수
+허춘수
+허석출
+허규태
+허장수
+허술용
+허옥철
+허기식
+허필열
+허만희
+허선기
+허기철
+허희덕
+허준호
+허영항
+허난연
+허동원
+허재식
+허윤식
+허남일
+허종창
+허병석
+허봉국
+허동량
+허영태
+허달철
+허이준
+허동량
+허선암
+허낙희
+허춘수
+허동량
+허호묘
+허명건
+허성원
+허동록
+허영석
+허찬달
+허복식
+허동성
+허학섭
+허간섭
+허귀모
+허동수
+허철성
+허정덕
+허영준
+허동진
+허장기
+허규자
+허덕용
+허만구
+허현식
+허규락
+허수교
+허만상
+허규철
+허정익
+허종현
+허만선
+허달연
+허외기
+허태태
+허만업
+허명진
+허원구
+허형섭
+허만열
+허상진
+허영엽
+허연경
+허만영
+허장래
+허병권
+허춘구
+허만옥
+허일연
+허상환
+허상수
+허만우
+허재선
+허재홍
+허병훈
+허만정
+허장우
+허경만
+허만근
+허만조
+허수상
+허옥재
+허봉관
+허만철
+허정태
+허정임
+허종열
+허만희
+허영옥
+허성용
+허광국
+허만희
+허경현
+허상노
+허홍웅
+허문규
+허동훈
+허용규
+허창수
+허봉순
+허광기
+허소열
+허충학
+허삼수
+허근대
+허수용
+허창호
+허상기
+허정우
+허석용
+허정원
+허상숙
+허영설
+허광덕
+허갑성
+허상용
+허각수
+허남권
+허순용
+허상철
+허치석
+허광웅
+허정연
+허상출
+허시정
+허석민
+허상욱
+허석구
+허묘교
+허수춘
+허칠철
+허석구
+허무찬
+허말갑
+허영수
+허선출
+허영휘
+허기섭
+허분열
+허성용
+허상권
+허동우
+허재근
+허수양
+허의야
+허도경
+허문석
+허순양
+허동만
+허창해
+허정현
+허순이
+허경헌
+허 귀
+허삼한
+허승조
+허영길
+허태정
+허제오
+허양학
+허만홍
+허기오
+허병환
+허연구
+허상식
+허수환
+허성석
+허영석
+허현희
+허태득
+허경연
+허영원
+허만진
+허팔문
+허병열
+허영택
+허원훈
+허영술
+허무열
+허영호
+허한태
+허정자
+허문춘
+허옥선
+허신영
+허세대
+허상정
+허용권
+허경연
+허경도
+허종재
+허용한
+허순탁
+허석하
+허병안
+허운용
+허경균
+허철곤
+허수선
+허웅섭
+허상철
+허동화
+허과순
+허위구
+허원수
+허규출
+허중래
+허이선
+허병식
+허점자
+허홍득
+허이호
+허일해
+허정덕
+허진율
+허인규
+허홍현
+허근열
+허병강
+허인중
+허병순
+허기국
+허우수
+허인출
+허오식
+허춘환
+허병양
+허임양
+허정선
+허명용
+허태영
+허재명
+허충종
+허재배
+허태휴
+허재원
+허재생
+허돌우
+허성필
+허재필
+허덕오
+허택열
+허점순
+허재훈
+허종연
+허완선
+허이용
+허점돌
+허순노
+허용길
+허순명
+허점암
+허원섭
+허광식
+허종권
+허정식
+허재영
+허무수
+허성조
+허정아
+허성일
+허한규
+허대정
+허정우
+허길철
+허세수
+허우례
+허종래
+허소헌
+허태원
+허진춘
+허주호
+허정도
+허외모
+허 자
+허준
+허문
+허화
+허장
+허진석
+허상우
+허옥길
+허성구
+허진욱
+허기철
+허현옥
+허규조
+허춘우
+허영철
+허재필
+허영남
+허춘재
+허영선
+허충돌
+허무규
+허태상
+허기현
+허명석
+허용순
+허태수
+허갑숙
+허조태
+허판철
+허태수
+허경일
+허오훈
+허을창
+허태진
+허규생
+허윤분
+허한열
+허판성
+허증철
+허용택
+허상이
+허판수
+허성술
+허창순
+허근수
+허필조
+허탁철
+허도경
+허운출
+허현숙
+허위도
+허도동
+허외길
+허홍규
+허태웅
+허정태
+허정연
+허휘웅
+허옥중
+허종출
+허태주
+현금순
+현정석
+현두원
+현상순
+현동열
+현근권
+현규홍
+현원탁
+현문식
+현태영
+현태석
+현기곤
+현석원
+현소선
+현춘대
+현춘영
+현수용
+현문환
+현근곤
+현한제
+현순희
+현재교
+현상원
+현재한
+현용식
+현태모
+현주현
+현규식
+현창환
+현정술
+현헌현
+현충영
+현희훈
+현금수
+현광호
+현태자
+형남진
+형상현
+형순현
+형판숙
+홍 헌
+홍재규
+홍주근
+홍승호
+홍갑순
+홍세수
+홍명홍
+홍병갑
+홍경도
+홍수수
+홍지민
+홍정호
+홍경호
+홍정욱
+홍인원
+홍동덕
+홍계연
+홍병순
+홍우용
+홍기량
+홍광식
+홍태태
+홍인용
+홍현식
+홍기문
+홍선자
+홍영중
+홍용기
+홍대순
+홍보지
+홍귀동
+홍남관
+홍도생
+홍진선
+홍만지
+홍광란
+홍동기
+홍태섭
+홍금호
+홍희출
+홍동석
+홍윤조
+홍원만
+홍석달
+홍두식
+홍치진
+홍태식
+홍원래
+홍두진
+홍춘근
+홍경진
+홍대수
+홍명순
+홍달석
+홍판희
+홍재수
+홍무웅
+홍피이
+홍재봉
+홍환수
+홍미화
+홍청명
+홍영석
+홍상식
+홍병숙
+홍오성
+홍무봉
+홍상수
+홍복실
+홍준순
+홍만기
+홍상정
+홍부기
+홍종립
+홍성철
+홍윤기
+홍분남
+홍충균
+홍남택
+홍민진
+홍삼기
+홍용석
+홍윤준
+홍종출
+홍상기
+홍말주
+홍수홍
+홍종례
+홍상조
+홍팔호
+홍병찬
+홍광우
+홍상희
+홍영순
+홍영순
+홍윤도
+홍석봉
+홍성순
+홍영곤
+홍병규
+홍석윤
+홍태석
+홍병자
+홍현규
+홍석진
+홍귀자
+홍광필
+홍노점
+홍석환
+홍장재
+홍상복
+홍영임
+홍선균
+홍용복
+홍정희
+홍점이
+홍선모
+홍순조
+홍삼원
+홍선철
+홍선표
+홍재환
+홍상권
+홍동택
+홍선희
+홍구근
+홍정갑
+홍순해
+홍성관
+홍봉연
+홍용조
+홍종동
+홍성근
+홍동호
+홍교섭
+홍세철
+홍성기
+홍사율
+홍영숙
+홍해길
+홍성민
+홍병희
+홍상암
+홍강현
+홍성수
+홍덕병
+홍두덕
+홍만호
+홍성열
+홍정곤
+홍재자
+홍미배
+홍성원
+홍봉호
+홍회현
+홍규석
+홍성윤
+홍옥성
+홍성용
+홍옥철
+홍성태
+홍범수
+홍필상
+홍선학
+홍성태
+홍덕용
+홍점진
+홍순규
+홍성태
+홍상시
+홍우웅
+홍용용
+홍성환
+홍영호
+홍정길
+홍정화
+홍성효
+홍기규
+홍석호
+홍은식
+홍세기
+홍시술
+홍명석
+홍윤권
+홍수덕
+홍태식
+홍명만
+홍성상
+홍순교
+홍세호
+홍광선
+홍재도
+홍순호
+홍화연
+홍남서
+홍정봉
+홍승일
+홍용선
+홍재호
+홍종한
+홍영구
+홍연무
+홍태조
+홍웅록
+홍영권
+홍무돌
+홍옥출
+홍호암
+홍영애
+홍임이
+홍영길
+홍인원
+홍영우
+홍태연
+홍수호
+홍규명
+홍오곤
+홍성선
+홍상도
+홍판환
+홍옥표
+홍분동
+홍용환
+홍용훈
+홍용학
+홍순남
+홍영진
+홍규태
+홍우석
+홍성현
+홍봉오
+홍헌주
+홍운희
+홍점우
+홍수근
+홍재래
+홍원전
+홍혜행
+홍 학
+홍재록
+홍원표
+홍기수
+홍명용
+홍 우
+홍의식
+홍승방
+홍정보
+홍종남
+홍재기
+홍만영
+홍우환
+홍동재
+홍재기
+홍송용
+홍영암
+홍택헌
+홍재남
+홍재이
+홍타재
+홍남덕
+홍재모
+홍해자
+홍희측
+홍승달
+홍정수
+홍상천
+홍원희
+홍근택
+홍정엽
+홍순열
+홍진조
+홍병식
+홍정웅
+홍영춘
+홍병호
+홍도성
+홍정표
+홍점근
+홍호기
+홍갑웅
+홍종윤
+홍동희
+홍호길
+홍경자
+홍주난
+홍전석
+홍진환
+홍용빈
+홍지운
+홍석용
+홍태형
+홍현홍
+홍진곤
+홍상구
+홍세선
+홍재형
+홍진년
+홍재준
+홍주열
+홍동화
+홍진문
+홍병철
+홍기순
+홍영선
+홍진석
+홍순윤
+홍정문
+홍기식
+홍진성
+홍대록
+홍문자
+홍순희
+홍진성
+홍춘곤
+홍정규
+홍갑이
+홍진수
+홍철열
+홍해한
+홍진숙
+홍진욱
+홍영식
+홍정택
+홍하경
+홍진철
+홍영규
+홍소만
+홍병영
+홍진평
+홍재원
+홍민화
+홍병교
+홍창기
+홍용한
+홍종환
+홍인식
+홍창기
+홍차수
+홍경수
+홍청호
+홍채희
+홍영한
+홍옥옥
+홍민도
+홍철기
+홍상석
+홍중기
+홍선수
+홍철기
+홍안현
+홍경도
+홍두봉
+홍철재
+홍연의
+홍삼경
+홍광윤
+홍태기
+홍신숙
+홍태석
+홍경덕
+홍태암
+홍종용
+홍재열
+홍만후
+홍태희
+홍복조
+홍한재
+홍외식
+홍한기
+홍개기
+홍운익
+홍영훈
+홍항길
+홍칠용
+홍영일
+홍용목
+홍해성
+홍형수
+홍성화
+홍용희
+홍현진
+홍을민
+홍영만
+홍태석
+홍현철
+홍동규
+홍원구
+홍석하
+홍현필
+홍필평
+홍정석
+홍수천
+홍황기
+홍효동
+홍정술
+홍분열
+황건오
+황선한
+황대호
+황복현
+황경숙
+황기복
+황점재
+황종록
+황경순
+황영욱
+황택환
+황원돌
+황경술
+황암명
+황태실
+황영근
+황경운
+황명우
+황석호
+황덕환
+황경임
+황백성
+황희원
+황일상
+황경한
+황선덕
+황상조
+황용길
+황광연
+황의완
+황해기
+황말희
+황광용
+황태도
+황춘환
+황영도
+황교일
+황종복
+황진환
+황근수
+황교장
+황경영
+황종교
+황형덕
+황국향
+황종조
+황영임
+황점련
+황규미
+황재천
+황기옥
+황수현
+황규완
+황영복
+황영호
+황경용
+황규전
+황추채
+황영순
+황재선
+황금돌
+황일식
+황병식
+황현갑
+황금성
+황기이
+황현희
+황용용
+황기도
+황수자
+황월자
+황금희
+황기석
+황정원
+황병자
+황삼자
+황기호
+황한화
+황학준
+황옥제
+황길현
+황분용
+황삼이
+황광만
+황남이
+황주조
+황상섭
+황신석
+황달금
+황수근
+황기렬
+황현원
+황대선
+황경종
+황연순
+황종원
+황대철
+황근숙
+황옥수
+황동규
+황덕성
+황시계
+황정태
+황원태
+황동석
+황명수
+황정갑
+황연춘
+황동식
+황영훈
+황오기
+황용철
+황두철
+황귀조
+황병섭
+황우대
+황래성
+황병식
+황희수
+황희수
+황룡기
+황달주
+황명만
+황정수
+황말수
+황숙환
+황희헌
+황태암
+황말순
+황길두
+황효득
+황학희
+황명규
+황성호
+황창암
+황영국
+황명순
+황향술
+황영철
+황시일
+황병구
+황규석
+황철수
+황성호
+황병일
+황삼한
+황태선
+황정희
+황보옥수
+황창봉영
+황경석재
+황훈숙병
+황분주
+황무호
+황우규
+황수록
+황상규
+황천고
+황태진
+황수일
+황상임
+황성용
+황명채
+황의준
+황상표
+황선우
+황용도
+황경금
+황선규
+황화수
+황광주
+황정수
+황선근
+황석희
+황성용
+황진철
+황선도
+황용재
+황수만
+황외양
+황선동
+황호숙
+황원금
+황봉수
+황선두
+황명근
+황태석
+황구환
+황선용
+황덕용
+황윤열
+황문석
+황선우
+황진근
+황준철
+황종규
+황선욱
+황순선
+황인흠
+황윤범
+황선욱
+황영옥
+황은철
+황홍자
+황선웅
+황유순
+황연한
+황재오
+황선출
+황소환
+황무기
+황태진
+황선홍
+황세선
+황영향
+황봉순
+황성규
+황정란
+황인실
+황옥욱
+황성근
+황재양
+황말주
+황용종
+황성태
+황노당
+황창술
+황재원
+황소호
+황동태
+황근길
+황복용
+황수근
+황점행
+황차봉
+황정우
+황수찬
+황태택
+황상열
+황윤단
+황숙자
+황영호
+황성재
+황영규
+황순규
+황현용
+황정용
+황용수
+황순조
+황창각
+황창준
+황영갑
+황시철
+황옥숙
+황선교
+황현기
+황영국
+황종모
+황영관
+황옥구
+황영국
+황용륜
+황정환
+황지상
+황영규
+황원룡
+황길희
+황정인
+황영길
+황진근
+황성운
+황상선
+황영문
+황무환
+황윤준
+황옥정
+황영선
+황태당
+황화종
+황재임
+황영숙
+황홍욱
+황정기
+황금숙
+황영순
+황명헌
+황옥순
+황종영
+황영재
+황재원
+황원기
+황지석
+황영팔
+황영식
+황영길
+황용호
+황영호
+황창달
+황성은
+황삼호
+황영환
+황명호
+황흥철
+황교분
+황오진
+황홍차
+황달규
+황일경
+황옥희
+황수석
+황주식
+황운동
+황용대
+황상자
+황칠동
+황성철
+황용장
+황병세
+황의순
+황명배
+황용학
+황소인
+황병돌
+황삼운
+황원이
+황영희
+황금표
+황병석
+황원준
+황광석
+황정학
+황휘호
+황원학
+황영곤
+황정덕
+황계재
+황윤석
+황용오
+황병봉
+황무열
+황을술
+황천수
+황진환
+황영호
+황응복
+황춘희
+황수수
+황동근
+황의영
+황영선
+황재대
+황성록
+황의출
+황석숙
+황병일
+황종천
+황의훈
+황재한
+황우호
+황창현
+황이철
+황태덕
+황상균
+황규식
+황인덕
+황운출
+황정율
+황영순
+황인봉
+황이숙
+황병연
+황재권
+황인출
+황승학
+황삼희
+황대태
+황일구
+황갑웅
+황한적
+황철기
+황일선
+황규식
+황윤영
+황의환
+황일출
+황소선
+황무범
+황영표
+황재복
+황복용
+황영덕
+황종식
+황재수
+황경진
+황일조
+황세용
+황재용
+황주교
+황부숙
+황무철
+황재의
+황동정
+황 식
+황동수
+황재철
+황임남
+황상한
+황달문
+황재학
+황동순
+황헌술
+황학남
+황재호
+황을랑
+황태금
+황웅현
+황정곤
+황기수
+황종선
+황평택
+황정봉
+황재제
+황태순
+황인중
+황정수
+황우우
+황경국
+황황철
+황정수
+황월달
+황문조
+황종희
+황정환
+황효홍
+황배환
+황희만
+황종구
+황완근
+황해만
+황재현
+황종덕
+황삼석
+황연상
+황인련
+황종석
+황수관
+황태수
+황의용
+황종윤
+황영근
+황창경
+황문술
+황종일
+황규아
+황영언
+황 동
+황종철
+황원동
+황금수
+황정문
+황지출
+황제웅
+황현춘
+황재영
+황진호
+황진기
+황세현
+황길진
+황진환
+황영철
+황효배
+황차우
+황창규
+황태균
+황운구
+황경세
+황창수
+황청성
+황기암
+황규숙
+황창익
+황종식
+황이우
+황대출
+황천규
+황용국
+황병춘
+황영숙
+황철갑
+황영수
+황태선
+황증환
+황철도
+황철우
+황성태
+황종숙
+황청순
+황용용
+황민구
+황순수
+황태금
+황창애
+황호기
+황천구
+황태옥
+황태수
+황춘희
+황원조
+황태원
+황장영
+황송식
+황태태
+황필선
+황영열
+황경도
+황용동
+황필성
+황충환
+황영현
+황희헌
+황필수
+황재자
+황성규
+황윤조
+황한규
+황순권
+황관용
+황교희
+황혁주
+황병출
+황현갑
+황달이
+황현구
+황인선
+황낙수
+황정현
+황효영
+황수호
+황말택
+황영규
+황희자
+황태홍
+황상식
+황재수
diff --git a/src/com/ibm/icu/dev/test/perf/data/collation/TestNames_Latin.txt b/src/com/ibm/icu/dev/test/perf/data/collation/TestNames_Latin.txt
new file mode 100644
index 0000000..d724386
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/perf/data/collation/TestNames_Latin.txt
@@ -0,0 +1,7611 @@
+﻿#/**
+# *******************************************************************************
+# * Copyright (C) 2002-2004, International Business Machines Corporation and    *
+# * others. All Rights Reserved.                                                *
+# *******************************************************************************
+# */
+
+Aachen, Hans von
+Aalto, Alvar
+Abakanowicz, Magdalena
+Abaquesne, Masséot
+Abbasi, Riza-i
+Abbey, Edwin Austin
+Abbott, Berenice
+Abbott, Lemuel Francis
+A'Becket, Maria
+Abel de Pujol
+Abercrombie, Gertrude
+Abeyta, Tony
+Abildgaard, Nicolai
+Abrahams, Ivor
+Abrahamson, Mark
+Abramowitz, Albert
+Accardi, Carla
+Acconci, Vito
+Achenbach, Andreas
+Achenbach, Oswald
+Achilles Painter, The
+Acord, James
+Adam, Lambert-Sigisbert
+Adam, Robert
+Adams, Ansel
+Adams, Herbert
+Adams, John Ottis
+Adams, John Wolcott
+Adams, Robert
+Adams, Wayman
+Adderson, Walter
+Adeshina, Agbonbiofe
+Adomeit, George
+Adshead, Mary
+Aelst, Pieter Coecke van
+Aelst, Willem van
+Aertsen, Pieter
+Affecter, The
+Agam, Yaacov
+Agar, Eileen
+Agasse, Jacques-Laurent
+Agger, Knud
+Agostino dei Musi
+Agostino di Duccio
+Agostino di Giovanni
+Agostino Veneziano
+Agrasot y Juan, Joaquín
+Airò, Mario
+Aivazovsky, Ivan
+Ajmone, Giuseppe
+Akagawa, Kinji
+Akeley, Carl Ethan
+Akers, Benjamin Paul
+Albani, Francesco
+Albarelli, Jacopo
+Alberghetti I, Giovanni
+Albers, Anni
+Albers, Josef
+Alberti, Cherubino
+Alberti, Giovanni
+Alberti, Leon Baptista
+Albertinelli, Mariotto
+Albright, Ivan
+Albrizio, Conrad
+Alcain Partearroyo, Alfredo
+Alcolea, Carlos García
+Aldegrever, Heinrich
+Alechinsky, Pierre
+Alen, William Van
+Alexander, Francis
+Alexander, John White
+Alexander, William
+Alfano, Carlo
+Alfaro, Andreu
+Algardi, Alessandro
+Ali ibn Muhhamad
+Ali, Mihr
+Alikatuktuk, Thomasie
+Alinari, Fratelli
+Alinari, Giuseppe
+Alken Sr., Samuel
+Alken, Henry Thomas
+Allan, David
+Allan, William
+Allegrain, Gabriel
+Allen, Anne
+Allen, Anne Huntington
+Allen, Douglas
+Allen, Greta
+Allen, Marion Boyd
+Allen, Mary Cecil
+Allen, Terry
+Allingham, Helen
+Allington, Edward
+Allori, Alessandro
+Allori, Cristofano
+Allston, Washington
+Alma-Tadema, Laura
+Alma-Tadema, Sir Lawrence
+Almeida Júnior, José Ferraz de
+Alpern, Rami
+Als, Peder
+Alsloot, Denys van
+Alt, Jakob
+Alt, Otmar
+Altdorfer, Albrecht
+Altichiero
+Altson, Aby
+Alva de la Canal, Ramón
+Alvarez Bravo, Manuel
+Alvarez, Mabel
+Amadeo, Giovanni Antonio
+Aman-Jean, Edmond-François
+Amantea, Nicholas
+Amaral, Antônio Henrique
+Amaral, Tarsila do
+Amasis Painter, The
+Amaury-Duval, Eugène-Emmanuel
+Amberger, Christoph
+Amenoff, Gregory
+Amiconi, Giacomo
+Amittu, Davidialuk Alaska
+Amman, Jost
+Ammanati, Bartolommeo
+An He
+Ancher, Anna
+Ancher, Michael
+Anchi, Kaigetsudo
+Anderegg, Wesley
+Andersen, Mogens
+Anderson, Carlos
+Anderson, Gordon
+Anderson, J.
+Anderson, Ruth A.
+Anderson, Sophie
+Anderson, Stanley
+Andokides
+Andre, Carl
+Andrea da Firenze
+Andrea del Castagno
+Andrea del Sarto
+Andrea di Bartolo
+Andrea, Zoan
+Andreani, Andre
+Andreotti, Libero
+Andrés de Nájera
+Andreson, Carlos
+Andrews, Benny
+Andrews, Sybil
+Andrieu, Pierre
+Andrus, Barbara
+Angel, Abraham
+Angeli, Giuseppe
+Angeli, Heinrich von
+Angelico, Fra
+Angellis, Peter
+Anglada-Camarasa, Hermenegildo
+Anguiano Valadez, Raúl
+Anguier, François
+Anguier, Michel
+Anguissola, Lucia
+Anguissola, Sofonisba
+Anker, Albert
+Annesley, David
+Anquetin, Louis
+Anraadt, Pieter van
+Anselmi, Michelangelo
+Anselmo da Campione
+Anselmo, Giovanni
+Anshutz, Thomas
+Antelami, Benedetto
+Antico
+Antigna, Alexandre
+Antimenes Painter
+Antolínez, José Claudio
+Antonakos, Stephen
+Antonello da Messina
+Antonello de Saliba
+Antonio da Fabriano
+Antreasian, Garo Zareh
+Antropov, Aleksei
+Antúnez, Nemesio
+Anuszkiewicz, Richard
+Aono, Kristine Yuki
+Aparicio, José
+Aponovich, James
+Appel, Karel
+Appian, Adolphe
+Appiani, Andrea
+Applebroog, Ida
+Apt the Elder, Ulrich
+Aragon, Jose
+Arai, Junichi
+Arakawa, Shusaku
+Araldi, Alessandro
+Arbus, Diane
+Archer, James
+Archipenko, Alexander
+Archuleta, Felipe
+Arcimboldo, Giuseppe
+Arden, Roy
+Ardon, Mordecai
+Arellano, Juan de
+Arentsz., Arent
+Argunov, Ivan Petrovich
+Arikha, Avigdor
+Arisman, Marshall
+Armajani, Siah
+Arman
+Armfield, Maxwell
+Armitage, Edward
+Armitage, Kenneth
+Arms, John Taylor
+Armstead, Henry Hugh
+Armstrong, David Maitland
+Armstrong, Ian
+Armstrong, John
+Armstrong, William
+Arnald, George
+Arneson, Robert
+Arnold, Aden
+Arnoldi, Alberto
+Arnolfo di Cambio
+Arnould, Jean
+Arp, Jean
+Arroyo, Eduardo
+Art and Language
+Artaud, William
+Artschwager, Richard
+Arvilland
+Asam, Egid Quirin
+Asam, Kosmas Damian
+Ash, Sam
+Asher, Michael
+Ashevak, Kenojuak
+Ashevak, Tommy
+Ashoona, Kaka
+Ashoona, Kiawak
+Ashoona, Pitseolak
+Ashton, Julian
+Asins Rodriguez, Elena
+Aspertini, Amico
+Aspetti, Tiziano
+Assael, Steven
+Asselyn, Jan
+Assereto, Gioacchino
+Assler, Federico
+Ast, Balthasar van der
+Asteas
+Astruc, Zacharie
+Atchealak, Davie
+Atget, Eugène
+Atkinson, John Augustus
+Atkinson, W.E.
+Atkison, George A.
+Atl, Dr.
+Attavante Degli Attavanti
+Audubon, John James
+Audubon, John Woodhouse
+Auerbach, Frank
+Auerbach-Levy, William
+Auguin, Louis-Augustin
+Auguste, Robert-Joseph
+Ault, George
+Aumonier, James
+Austin, Darrel
+Autio, Lela
+Autio, Rudy
+Aved, Jacques-André-Joseph
+Avedon, Richard
+Avelli, Francesco Xanto
+Avercamp, Hendrick
+Avery, Milton
+Awalt, Elizabeth
+Aylesford, Heneage Finch, Fifth Earl of
+Aylesford, Heneage Finch, Fourth Earl of
+Ay-O
+Ayrton, Michael
+Azaceta, Luis Cruz
+Baburen, Dirck van
+Bacchiacca, Francesco
+Bacciarelli, Marcello
+Bachar, Joseph
+Bacher, Otto Henry
+Bachrodt, Sarah
+Baciccio, Il
+Backer, Jacob Adriaensz.
+Backhuysen, Ludolf
+Bacon, Francis
+Bacon, Henry
+Bacon, John Henry F.
+Bacon, Peggy
+Bacon, Sir Nathaniel
+Bada Shanren
+Badalocchio, Sisto
+Badger, Joseph
+Baechler, Donald
+Baeder, John
+Baen, Jan de
+Baer, George
+Bagg, Henry Howard
+Baglione, Giovanni
+Bagnoli, Marco
+Baiitsu, Yamamoto
+Bailey, Roger
+Bailey, William
+Baillairgé, François
+Bailly, David
+Baizerman, Saul
+Baker, William Bliss
+Bakst, Leon
+Baldessari, John
+Baldovinetti, Alessio
+Baldridge, Cyrus LeRoy
+Baldung Grien, Hans
+Baldwin, Douglas
+Balen, Hendrick van
+Balestra, Antonio
+Ball, Alice Worthington
+Ball, Thomas
+Balla, Giacomo
+Balling, Ole Peter Hansen
+Ballotta, Pete
+Balmes, José
+Balson, Ralph
+Balthus
+Baltimore Painter, The
+Balzac, Alain
+Balzac, Edme-Pierre
+Bama, James
+Bambaia
+Bandeira, Antônio
+Bandinelli, Baccio
+Bandini, Giovanni
+Banks, Mel
+Bannerman, Frances M. Jones
+Bannister, Edward M.
+Bapst, Evrard
+Baptista, Marciano
+Barabás, Miklós
+Barak, William
+Baranek, Frida
+Baranoff-Rossine, Wladimir
+Barbe
+Barberi, Giuseppe
+Barbet, Jean
+Barbour, Carl
+Barchus, Eliza Rosanna
+Bard, James
+Bard, John
+Barenger, James
+Bargue, Charles
+Barisani, Renato
+Barisano da Trani
+Barker of Bath, Thomas
+Barker, Albert Winslow
+Barker, Clive
+Barker, Margaret
+Barker, Wright
+Barlach, Ernst
+Barlow, Francis
+Barna da Siena
+Barnard, Rev. William Henry
+Barnes, Ernie
+Barnet, Will
+Barney, Matthew
+Barnsley, J.M.
+Barocci, Federico
+Barradas, Rafael
+Barraud, Henry
+Barraud, William
+Barret Jr., George
+Barret Sr., George
+Barrett, Bill
+Barrias, Louis-Ernest
+Barrios, Gracia
+Barron, Hugh
+Barron, Ron
+Barrow, Joseph Charles
+Barry, Anne Meredith
+Barry, James
+Barry, William Gerard
+Barsotti, Hércules
+Barthel, Melchiorre
+Bartholdi, Frédéric-Auguste
+Bartholome
+Bartle, Sara Norwood
+Bartlett, Bo
+Bartlett, Jennifer
+Bartolini, Lorenzo
+Bartolo di Fredi
+Bartolomeo da Brescia
+Bartolomeo di Giovanni
+Bartolomeo Veneto
+Bartolommeo, Fra
+Bartolozzi, Francesco
+Bary, Hendrik
+Barye, Antoine-Louis
+Basaiti, Marco
+Basaldella, Mirko
+Basan, Pierre François
+Baschenis, Evaristo
+Baselitz, Georg
+Bashkirtseff, Maria
+Basire, James
+Baskin, Leonard
+Basquiat, Jean-Michel
+Bassano, Francesco
+Bassano, Jacopo
+Bassano, Leandro
+Bassen, Bartholomeus van
+Bastiani, Lazzaro
+Bastianini, Giovanni
+Bastien-Lepage, Jules
+Bateman 1842-1922, Robert
+Bateman, James
+Bateman, Robert
+Bates, David
+Bates, Harry
+Bates, Maxwell
+Batoni, Pompeo
+Baudouin, Pierre-Antoine
+Baudry, Paul
+Baugin, Lubin
+Baum, Charles
+Bauman, Leila T.
+Baumann, Gustave
+Baumann, Karl
+Baumeister, Willi
+Baumgarten, Lothar
+Baumgartner, Peter
+Bawden, Edward
+Baxter, George
+Baxter, Thomas Tennant
+Bayeu y Subías, Francisco
+Bayeu, Ramon
+Bazicaluva, Ercole
+Bazille, Frédéric
+Baziotes, William
+Bazzaro, Ernesto
+Beach, Thomas
+Beal, Gifford
+Beal, Jack
+Beale, Mary
+Beall-Smith, Lawrence
+Beals, Jesse Tarbox
+Beam, Carl
+Beam, Mark
+Bean, Caroline Van Hook
+Beard, Adelia Belle
+Beard, Richard
+Beard, William Holbrook
+Bearden, Romare
+Beardsley Limner, The
+Beardsley, Aubrey
+Beardy, Jackson
+Beare, George
+Beasley, Bruce
+Beato, Felice A.
+Beatty, J.W.
+Beaumont, Sir George Howland
+Beauneveu, André
+Beaux, Cecilia
+Beccafumi, Domenico
+Becher, Bernhard
+Becher, Hilla
+Bechtel, Merlin
+Bechtle, Robert
+Beck, Leonhard
+Becker, Ferdinand
+Becker, Fred
+Beckett, Clarice
+Beckett, Francis A.
+Beck-Friedman, Tova
+Beckmann, Max
+Beckwith, James Carroll
+Bedford, Francis
+Bedia, José
+Bedwash, Richard
+Beechey, Sir William
+Beem, Olive
+Beerbohm, Sir Max
+Beers, Julie Hart
+Beerstraten, Jan Abrahamsz.
+Beert the Elder, Osias
+Bega, Cornelis
+Begay, Harrison
+Begeyn, Abraham
+Beham, Barthel
+Beham, Hans Sebald
+Behles, Edmund
+Behnes, William
+Behnke, Leigh
+Belbello da Pavia
+Bell, Cecil C.
+Bell, Charles
+Bell, Edward A.
+Bell, George
+Bell, Harriet
+Bell, John Zephaniah
+Bell, Kevin
+Bell, Larry
+Bell, Peter
+Bell, Trevor
+Bell, Vanessa
+Bellangé, Hippolyte
+Bellange, Jacques
+Bellano, Bartolomeo
+Belle, Alexis Simon
+Bellechose, Henri
+Bellegambe, Jean
+Bellette, Jean
+Belli, Valerio
+Bellingham-Smith, Elinor
+Bellini, Gentile
+Bellini, Giovanni
+Bellini, Jacopo
+Bellmer, Hans
+Belloguet, A.
+Bellotto, Bernardo
+Bellows, Albert Fitch
+Bellows, George Wesley
+Bell-Smith, F.M.
+Bellucci, Antonio
+Benaglio, Francesco
+Benazech, Peter Paul
+Benbridge, Henry
+Bendz, Wilhelm
+Bendzsa, Sylvia
+Benedetto da Maiano
+Benedetto da Rovezzano
+Benglis, Lynda
+Benn, Ben
+Bennett, John
+Bennett, Rainey
+Bennett, William James
+Benney, Robert
+Benois, Aleksandr
+Benois, Nadia
+Benoist, Marie-Guillemine
+Benson, Ambrosius
+Benson, Frank Weston
+Benson, Leslie Langille
+Bentham, Douglas Wayne
+Benton, Fletcher
+Benton, Thomas Hart
+Benvenuto di Giovanni
+Benziger, August
+Benzoni, Giovanni Maria
+Béraud, Jean
+Berchem, Claes
+Berchem, Nicolaes
+Berckheyde, Gerrit Adriaensz.
+Berckheyde, Job
+Berdann, Elizabeth
+Berg, Adrian
+Berger, Jacques
+Berghash, Mark
+Berghe, Christoffel van den
+Bergmüller, Johann Georg
+Bergner, Yosl
+Bergognone
+Berkeley, Rev. C.J.R.
+Berkman, Christine
+Berlant, Tony
+Berlin Painter, The
+Berlinghieri, Bonaventura
+Berman, Eugene
+Bermejo, Bartolomé
+Bernard, Emile
+Bernardi, Giovanni
+Bernat, Martin
+Berninghaus, Oscar Edmund
+Bernini, Gianlorenzo
+Bernini, Pietro
+Bernstein, Theresa Ferber
+Béroud, Louis
+Berruguete, Alonso
+Berruguete, Pedro
+Berry, David
+Bershad, Helen
+Bertin, Édouard
+Bertoldo di Giovanni
+Bertrand, Ray
+Bertrand, Vincent
+Bertucci, Giovanni Battista
+Besnard, Albert
+Best Maugard, Adolfo
+Bettelheim, Jolan Gross
+Bettera, Bartolomeo
+Bettes, John
+Betts, Louis
+Beuckelaer, Joachim
+Beug, Lorne
+Beuys, Joseph
+Bevan, Robert
+Bevan, Tony
+Beyer, Jan de
+Beyeren, Abraham Hendrickz. van
+Biagio d'Antonio da Firenze
+Bianchi, Domenico
+Biard, Pierre
+Bibiena, Ferdinando Galli
+Bibiena, Francesco Galli
+Bibiena, Giuseppe Galli
+Bicknell, Frank
+Biddle, George
+Biduino
+Biederman, Charles
+Biegas, Boleslas
+Biennais, Martin-Guillaume
+Bierstadt, Albert
+Bigarelli, Guido
+Biggers, John
+Biggerstaff, Myra
+Bigot, Trophime
+Bigum, Martin
+Bijlert, Jan van
+Bilinska, Anna
+Bilivert, Giovanni
+Bille, Ejler
+Binck, Jacob
+Bingham, George Caleb
+Binnie, Paul
+Birch, Charles Bell
+Birch, Thomas
+Birch, William Russell
+Birley, Sir Oswald Hornby Joseph
+Birnbaum, Dara
+Birolli, Renato
+Bischoff, Elmer
+Bischoff, Franz
+Bishop, Isabel
+Bison, Giuseppe Bernardino
+Bisschop, Cornelis
+Bissier, Julius
+Bissière, Roger
+Bissolo, Pier Francesco
+Bistolfi, Leonardo
+Bitner, Rhona
+Blaas, Eugene de
+Black, Helene
+Black, Olive Parker
+Blackadder, Elizabeth
+Blackburn, Ed
+Blackburn, Joseph
+Blackman, Charles
+Blackwell, Tom
+Blackwood, David
+Bladen, Ronald
+Blagg, Dennis
+Blair-Leighton, Edmund
+Blais, Normand
+Blake, Jim
+Blake, Peter
+Blake, William
+Blakelock, Marian
+Blakelock, Ralph Albert
+Blamey, Norman
+Blampied, Edmund
+Blanchard, Jacques
+Blanchard, María
+Blanche, Jacques-Emile
+Blanchet, Louis-Gabriel
+Bland, Beatrice
+Blarenberghe, Louis Nicolas van
+Blashfield, Edwin Howland
+Blauvelt, Charles F.
+Blechen, Carl
+Bleckner, Ross
+Blery, Eugene
+Bliss, Douglas Percy
+Bloch, Albert
+Bloch, Lucienne
+Bloch, Martin
+Block, Benjamin
+Bloemaert, Abraham
+Bloemen, Jan Frans van
+Blondel, Merry-Joseph
+Bloom, Barbara
+Blow, Sandra
+Blue Eagle, Acee
+Bluemner, Oscar
+Bluhm, Norman
+Bluhm, Oscar
+Blum, Robert Frederick
+Blume, Peter
+Blumenschein, Ernest Leonard
+Blythe, David Gilmour
+Boccaccino, Boccaccio
+Boccioni, Umberto
+Bochner, Mel
+Böcklin, Arnold
+Bockstorffer, Christoffel
+Bodini, Floriano
+Bodmer, Karl
+Boeckhorst, Johann
+Boehm, Sir Joseph Edgar
+Boehme, Karl
+Boel, Pieter
+Boetti, Alighiero e
+Boggs, Frank M.
+Boghossian, Skunder
+Bogle, John
+Bohl, Walter E.
+Bohrod, Aaron
+Boilly, Louis-Léopold
+Boisseau, Alfred
+Boisselier, Félix
+Boissieu, Jean-Jacques de
+Bol, Ferdinand
+Bol, Hans
+Boldini, Giovanni
+Bolduque, Pedro de
+Bolotowsky, Ilya
+Boltanski, Christian
+Boltraffio, Giovanni Antonio
+Bomberg, David
+Bon, Bartolomeo
+Bon, Giovanni
+Bonanno da Pisa
+Bonasone, Giulio di Antonio
+Bonazza, Antonio
+Boncinelli, Evaristo
+Bond, Charles V.
+Bond, Marion
+Bone, Henry
+Bone, Sir Muirhead
+Bone, Stephen
+Bonheur, Auguste
+Bonheur, Rosa
+Bonington, Richard Parkes
+Bonino da Campione
+Bonnard, Pierre
+Bonnat, Léon
+Bonnaud, Pierre
+Bonnefond, Jean-Claude
+Bonnell, William
+Bonner, Jonathan
+Bonnet, Louis-Marin
+Bonsignori, Francesco
+Bontecou, Lee
+Bonvin, François
+Booth, Cameron
+Borcht, Hendrik van der
+Borcht, Pieter Van Der
+Bordone, Paris
+Bordoni, Francesco
+Borduas, Paul-Émile
+Boread Painter, The
+Borein, Edward
+Bores Lopez, Francisco
+Borg, Carl Oscar
+Borges, Pedro Alexandrino
+Borget, Auguste
+Borgianni, Orazio
+Borglum, Solon H.
+Borgoña, Juan de
+Borofsky, Jonathan
+Borovikovskii, Vladimir Lukich
+Borrassá, Luís
+Borregaard, Eduard
+Borro, Luigi
+Borromini, Francesco
+Bosboom, Johannes
+Bosch, Hieronymus
+Boscoli, Andrea
+Boshier, Derek
+Bosio, François-Joseph
+Boss, Homer
+Bosschaert the Elder, Ambrosius
+Bossche, Aert van den
+Bosse, Abraham
+Botero, Fernando
+Both, Andries
+Both, Jan Dirksz
+Botke, Jessie Arms
+Botticelli, Sandro
+Botticini, Francesco
+Bouchardon, Edmé
+Bouché, Louis
+Boucher, François
+Boudewyns, Adriaen Frans
+Boudin, Eugène
+Bough, Samuel
+Boughton, George Henry
+Bouguereau, Adolphe William
+Bouguereau, Elizabeth Gardner
+Boulanger, Gustave
+Boulle, André-Charles
+Boullée, Étienne-Louis
+Boulogne, Valentin de
+Bourdelle, Emile Antoine
+Bourdon, Sébastien
+Bourgeois, Louise
+Bourke-White, Margaret
+Bourne, James
+Boursse, Esaias
+Boussard, Dana
+Boutet de Monvel, Louis-Maurice
+Boutibonne, Charles Edward
+Bouts the Elder, Dieric
+Bouts the Younger, Dieric
+Bouts, Aelbrecht
+Bouvard, Antoine
+Bouvier, Laurent Joseph Daniel
+Bowden, Harry
+Bowden, Paul
+Bowdoin, Harriette
+Bowen, Ashley
+Bowler, Henry Alexander
+Bowling, Frank
+Bowling, Tom
+Bowman, Roger
+Boxall, Sir William
+Boyce, George Price
+Boyd Jr., Arthur
+Boyd Sr., Arthur
+Boyd, Emma Minnie
+Boyer, Bob
+Boyle, Eleanor Vere
+Boyle, Mark
+Boyne, John
+Boys, Thomas Shotter
+Boziot, François-Joseph
+Brabazon, Hercules Brabazon
+Braccesco, Carlo di
+Bracci, Pietro
+Brack, John
+Brackman, Robert
+Bracquemond, Félix
+Bracquemond, Marie
+Bradford, William
+Bradley, John
+Bradley, Martin
+Bradshaw, Dove
+Bradshaw, J.W.
+Brady, Carolyn
+Brady, Mathew
+Braekeleer, Henri De
+Brailes, William de
+Brakhage, Stan
+Bramante, Donato
+Bramantino
+Bramer, Leonaert
+Bramley, Frank
+Brancusi, Constantin
+Brandani, Federico
+Brandard, Robert
+Brandi, Giacinto
+Brandt, Bill
+Brangwyn, Sir Frank William
+Brants, Wally
+Braque, Georges
+Brascassat, Jacques-Raymond
+Brassaï
+Bratby, John
+Braun, Maurice
+Bravo, Cecco
+Bravo, Claudio
+Bravo, Lola Alvarez
+Bray, Alan
+Bray, Jan de
+Brébiette, Pierre
+Brecht, George
+Breck, John Leslie
+Breckenridge, Hugh Henry
+Breda, Carl Fredrik von
+Bredin, Rae Sloan
+Breenbergh, Bartholomeus
+Bregno, Andrea
+Bregno, Antonio
+Brekelenkam, Quirijn van
+Brenet, Nicolas-Guy
+Bresdin, Rodolphe
+Breton, André
+Breton, Jules
+Brett, John
+Breu the Elder, Jörg
+Breu the Younger, Jörg
+Brewster Jr., John
+Brewster, Anna Richards
+Brewtnall, Edward Frederick
+Bricher, Alfred Thompson
+Bridges, Fidelia
+Bridges, John
+Bridgewood, J.C.
+Brigden, F.H.
+Briggs, Henry Perronet
+Bright, Henry
+Bril, Paul
+Brion, Gustave
+Briosco, Benedetto
+Briscoe, Arthur
+Bristol, John Bunyan
+Briullov, Karl
+Broc, Jean
+Brock, Sir Thomas
+Brockhurst, Gerald Leslie
+Brodsky, Alexander
+Broederlam, Melchior
+Broer, Roger
+Broggini, Luigi
+Broghammer, Joseph
+Brogi, Giacomo
+Brompton, Richard
+Bronzino, Agnolo
+Brooke, William Henry
+Brooker, Bertram
+Brooking, Charles
+Brooks, Cora Smalley
+Brooks, Erica
+Brooks, Henry Jamyn
+Brooks, James
+Brooks, Nicholas Alden
+Brosamer, Hans
+Brouet, Auguste
+Brough, Robert
+Brouwer, Adriaen
+Brown, Bob
+Brown, Christopher
+Brown, Deborah
+Brown, Douglas
+Brown, Ford Madox
+Brown, Frederick James
+Brown, George Loring
+Brown, J. Appleton
+Brown, Joan
+Brown, John George
+Brown, John-Lewis
+Brown, Lucy Madox
+Brown, Mae Bennett
+Brown, Mather
+Brown, Mike
+Brown, Roger
+Brown, W.H.
+Brown, William Mason
+Browne, Archibald
+Browne, Belmore
+Browne, Byron
+Browne, Hablot Knight
+Browne, Henriette
+Browne, Margaret Fitzhugh
+Browne, Matilda
+Browne, Syd
+Brownell, Franklin
+Browning, Colleen
+Browning, Robert Barrett
+Brownscombe, Jennie Augusta
+Bruce, Patrick Henry
+Bruce, William Blair
+Bruch, Klaus von
+Bruegel the Elder, Jan
+Bruegel the Elder, Pieter
+Bruegel the Younger, Jan
+Bruegel the Younger, Pieter
+Bruestle, George M.
+Brunelleschi, Filippo
+Brus, Günter
+Brusasorci
+Brush, George deForest
+Bruya, Marilyn
+Bruyn the Elder, Barthel
+Bruyn the Younger, Bartel
+Bryans, Lina
+Bryant, Charles
+Brygos Painter, The
+Brymner, William
+Brzezinski, Emilie Benes
+Bucci Painter, The
+Buchheit, Manfred
+Buchser, Frank
+Buck, John
+Buckley, James
+Buckley, Stephen
+Bucklow, Christopher
+Budington, Jonathan
+Buffet, Bernard
+Bugiardini, Giuliano
+Buhler, Robert
+Buhot, Félix-Hilaire
+Buland, Eugène
+Bulfinch, Charles
+Buller, Cecil Tremayne
+Bunbury, Charles
+Bunbury, Henry William
+Bunce, Kate Elizabeth
+Bunce, Louis
+Bundy, Edgar
+Bundy, Horace
+Bunker, Dennis Miller
+Bunn, Ken
+Bunny, Rupert
+Bunrin, Shiokawa
+Bunrô
+Bunse, Donald
+Burbank, Elbridge Ayer
+Burch, Hendrick van der
+Burchard, Pablo
+Burchartz, Max
+Burchfield, Charles
+Burck, Jacob
+Burden, Chris
+Buren, Daniel
+Burgess, Joseph E.
+Burgess, Lowry
+Burgess, Ruth Payne
+Burgkmair the Elder, Hans
+Burn, Henry
+Burn, Ian
+Burnand, Eugène
+Burne-Jones, Edward
+Burnell, Benjamin
+Burnet, James
+Burnet, John
+Burney, Edward Francis
+Burpee, William Partridge
+Burr, George Elbert
+Burri, Alberto
+Burrill, Edward
+Burroughs, Bryson
+Burroughs, Margaret
+Burrowes, Thomas
+Burton, Frederic William
+Burton, Judith
+Burton, Scott
+Burton, William Shakespeare
+Bush, Charles
+Bush, Jack
+Bushnell, John
+Bussola, Dionigi
+Buster, Kendall
+Buswell, Richard S.
+Butcher, Enid
+Butinone, Bernardino Jacopi
+Butler, Elizabeth
+Butler, James
+Butler, Mary
+Butler, Reg
+Butler, Samuel
+Butler, Theodore
+Butt, Gail
+Butterfield, Deborah
+Buttersworth, James E.
+Buttersworth, Thomas
+Butts, Freeman
+Buvelot, Louis
+Buytewech, Willem
+Byars, James Lee
+Bygrave, William
+Bywaters, Jerry
+Cabanel, Alexandre
+Cabot, Hugh
+Cabrera, Rosario
+Caccini, Giovanni
+Cadmus, Paul
+Cadwell, Mike
+Caffa, Melchiore
+Caffieri, Jean-Jacques
+Cagnacci, Guido
+Cahill, William Vincent
+Cahn, Miriam
+Cai Dizhi
+Cai Liang
+Caillebotte, Gustave
+Cairo, Francesco del
+Cajés, Eugenio
+Calame, Alexandre
+Calandrucci, Giacinto
+Calcagno, Lawrence
+Calcar, Johan Stephen von
+Calder, Alexander
+Calderon, William Frank
+Calixto de Jesus, Benedito
+Call I, Jan van
+Call, H.
+Callahan, Harry
+Callcott, Sir Augustus Wall
+Callery, Mary
+Callet, Antoine François
+Callot, Jacques
+Callow, William
+Calò, Aldo
+Calraet, Abraham van
+Cals, Adolphe-Felix
+Calthrop, Claude
+Calvaert, Denys
+Calvert, Charles
+Calvert, Edward
+Calzolari, Pier Paolo
+Cambiaso, Luca
+Camelio
+Camelote
+Cameron, Eric
+Cameron, James
+Cameron, John
+Cameron, Julia Margaret
+Cameron, Sir David
+Cammillieri, Nicholas S.
+Cammillieri, Nicolas
+Camp, Jeffery
+Campagna, Girolamo
+Campagnola, Domenico
+Campagnola, Giulio
+Campaña, Pedro de
+Campbell, Isabella Frowe
+Campbell, James
+Campbell, Jim
+Campen, Jacob van
+Campendonk, Heinrich
+Camphuysen, Govert Dircksz
+Campi, Giulio
+Campi, Vincenzo
+Campigli, Massimo
+Campin, Robert
+Canaletto
+Candid, Pieter
+Caneja Betegon, Juan
+Cannon, T.C.
+Cano Manilla, Ramón
+Cano, Alonso
+Canogar, Rafael
+Canova, Antonio
+Cantagallina, Remigio
+Cantarini, Simone
+Cantatore, Domenico
+Canuti, Domenico Maria
+Capa, Robert
+Capanna, Puccio
+Caple, Spencer
+Caponigro, Paul
+Caporali, Bartolommeo
+Cappelle, Jan van de
+Cappello, Carmelo
+Capps, Kenneth
+Capriolo, Domenico
+Carabin, Rupert
+Caracciolo, Giovanni Battista
+Caradosso
+Caraffe, Armand-Charles
+Caraglio, Gian Jacopo
+Caravaggio
+Caravaggio, Polidoro da
+Carbone, Giovanni Bernado
+Carducci, Bartolommeo
+Carducci, Vincenzo
+Cariani, Giovanni
+Carles, Arthur B.
+Carleton, Anne
+Carlevaris, Luca
+Carline, George
+Carline, Richard
+Carlisle, George Howard, Ninth Earl of
+Carloni, Carlo
+Carlsen, Emil
+Carlson, John Fabian
+Carlson, Ken
+Carlu, Jean
+Carmichael, Franklin
+Carmontelle, Louis de
+Carnevale, Fra
+Carnicero, Antonio
+Caro, Sir Anthony
+Carolus-Duran
+Caron, Antoine
+Caron, Paul
+Carpaccio, Vittore
+Carpeaux, Jean-Baptiste
+Carpenter Painter, The
+Carpenter, Ed
+Carpenter, Francis Bicknell
+Carpioni, Giulio
+Carr, Emily
+Carr, Samuel S.
+Carrà, Carlo
+Carracci, Agostino
+Carracci, Annibale
+Carracci, Lodovico
+Carreño de Miranda, Juan
+Carreño, Mario
+Carriera, Rosalba
+Carrier-Belleuse, Albert-Ernest
+Carrière, Eugène
+Carrington, Dora
+Carrington, Leonora
+Cars, Laurent
+Carse, J.H.
+Carten, Virginia
+Carter, Hugh
+Carter, Keith
+Carter, Lee
+Cartier-Bresson, Henri
+Cartwright, Isabel Branson
+Carvalho, Flávio de
+Carwitham, Thomas
+Casanova, Giovanni
+Casas, Juan Vila
+Cascella, Andrea
+Casilear, John William
+Cassandre
+Cassara, Frank
+Cassatt, Mary
+Casselli Jr., Henry C.
+Cassidy, Shaun
+Cassinari, Bruno
+Casson, A.J.
+Castagneto, João Batista
+Castagnola, Gabriele
+Castellani, Enrico
+Castellanos, Julio
+Castelli, Alfio
+Castello, Bernardo
+Castello, Valerio
+Castellón, Federico
+Castiglione, Giovanni Benedetto
+Castiglione, Giuseppe
+Castillo y Saavedra, Antonio
+Castillo, José del
+Castle, James
+Castle, Wendell
+Catesby, Mark
+Catlett, Elizabeth
+Catlin, George
+Cats, Jacob
+Cattaneo, Danese
+Cattelan, Maurizio
+Caulfield, Patrick
+Cavael, Rolf
+Cavalcanti, Emiliano Di
+Cavallaro, Cosimo
+Cavallini, Pietro
+Cavallino, Bernardo
+Cavedone, Giacomo
+Cayot, Claude-Augustin
+Cazin, Jean-Charles
+Cazin, Marie
+Cecioni, Adriano
+Cederström, Gustaf
+Cellini, Benvenuto
+Celmins, Vija
+Ceracchi, Giuseppe
+Cerquozzi, Michelangelo
+César
+Cesare da Sesto
+Cesari, Giuseppe
+Cesark, Mark
+Cézanne, Paul
+Chabot, Lucille
+Chadwick, Lynn
+Chadwick, William
+Chagall, Marc
+Chahine, Edgar
+Challener, F.S.
+Chalon, Alfred
+Chalon, Henry Bernard
+Chamberlain, John
+Chamberlain, Samuel
+Chambers, Thomas
+Champaigne, Jean-Baptiste de
+Champaigne, Philippe de
+Chan Hongshou
+Chandler, Joseph Goodhue
+Chandler, Winthrop
+Chandor, Douglas
+Chang Chi-shu
+Chang Dai-chien
+Chang Jin
+Chang Shuhong
+Chang-bae, Hwang
+Chang-sop, Chung
+Chantrey, Sir Francis Legatt
+Chao Shao'ang
+Chaperon, Nicolas
+Chapin, James
+Chapin, Lucy Grosvenor
+Chaplin, Mary Millicent
+Chapman, Conrad Wise
+Chapman, John Gadsby
+Chappel, Alonzo
+Chapu, Henri Michel Antoine
+Chardin, Jean-Baptiste-Siméon
+Charles, James
+Charles, Michael Ray
+Charlesworth, Sarah
+Charlet, Nicolas-Toussaint
+Charlier, Jacques
+Charlton, Alan
+Charton de Treville, Ernesto
+Chase, Adelaide Cole
+Chase, Richard
+Chase, William Merritt
+Chassériau, Théodore
+Chatelain, Jean Baptiste Claude
+Chatham, Russell
+Chatterton, Clarence K.
+Chaudet, Antoine-Denis
+Chauvin, Pierre-Athanase
+Chávez Morado, José
+Chavez, Edward Arcenio
+Cheffetz, Asa
+Chen Banding
+Chen Chi
+Chen Danqing
+Chen Fushan
+Chen Hengque
+Chen Kuan
+Chen Ping
+Chen Qiucao
+Chen Rong
+Chen Tiegeng
+Chen Yanning
+Chen Yanqiao
+Chen Yifei
+Chen Yusheng
+Chen Zhifo
+Chen Ziyi
+Cheng Conglin
+Cheng Shifa
+Cheng Zhang
+Cherchi, Sandro
+Chereshnovsky, Mykhailo
+Chéret, Jules
+Cherico, Francesco Antonio del
+Chevalier, Nicolas
+Chia, Sandro
+Chiari, Giuseppi
+Chicago Painter, The
+Chicago, Judy
+Chifflart, François-Nicolas
+Chihuly, Dale
+Chi'i Pai-shih
+Childe, James Warren
+Chillida, Eduardo
+Chimenti, Jacopo
+Chimera Painter, The
+Chin, Mel
+Chinard, Joseph
+Chinnery, George
+Chipman
+Chirino López, Martín
+Chobunsai Eishi
+Chodowiecki, Daniel Nikolaus
+Choensai Eishin
+Choi Sokhwan
+Choki, Eishosai
+Chokosai Eisho
+Chong-yung, Kim
+Chou, Shen
+Christansen, Hans
+Christenberry, William
+Christensen, C.C.A.
+Christensen, Dan
+Christiansen, Rasmus
+Christie, Robert Duncan
+Christinek, Carl-Ludwig
+Christ-Janer, Albert William
+Christo
+Christophe, Ernest
+Christus, Petrus
+Christy, John
+Chung Sook, Kim
+Church, Frederic Edwin
+Church, Frederick Stuart
+Church, Michael
+Churchill, Winston Spencer
+Churchyard, Thomas
+Cienfuegos Browne, Gonzalo
+Cigoli, Lodovico
+Cimabue
+Ciminaghi, Virginio
+Cincinato, Francesco Romulo
+Cioli, Valerio
+Cipriani, Giovanni Battista
+Cirino, Antonio
+Cisneros, Domingo
+Citron, Minna Wright
+Ciurlionis, Mikalojus
+Civerchio, Vincenzo
+Civitale, Matteo
+Civitico, Bruno
+Claeissens I, Pieter
+Claesz, Pieter
+Clague, Richard
+Clairin, Georges
+Clairmont, Corwin
+Clapp, William Henry
+Clará, José
+Clark, Alson Skinner
+Clark, Claude
+Clark, Floyd
+Clark, Joseph
+Clark, Kate Freeman
+Clark, Larry
+Clark, Paraskeva
+Clark, Thomas
+Clark, Tim
+Clarke Hall, Lady Edna
+Clarke, Geoffrey
+Clarke, John Clem
+Claude Lorrain
+Claudel, Camille
+Claudet, Antoine
+Clausell, Joaquín
+Clausen, C.
+Clausen, Franciska
+Clausen, Sir George
+Clavé, Antonio
+Claxton, Marshall
+Clay, Alyson
+Clayes, Gertrude des
+Cleaver, Alice
+Clemens, J.F.
+Clemente da Urbino
+Clemente, Francesco
+Clerck, Hendrik de
+Clésinger, Jean Baptiste
+Cleve, Joos van
+Cleyn, Franz
+Clime, Winfield Scott
+Climo, Lindee
+Clint, George
+Clodion
+Close, Chuck
+Close, May Lewis
+Cloudman, John Greenleaf
+Clouet the Younger, Jean
+Clouet, François
+Clough, George Lafayette
+Clough, Prunella
+Clovio, Giorgio Giulio
+Coates, Edmund
+Coates, George
+Coburn, Frank
+Cochereau, Léon-Matthieu
+Cochin the Younger, Charles-Nicolas
+Cochran, Malcolm
+Cock, Hieronymous
+Cock, Matthys
+Codazzi, Viviano
+Codde, Pieter
+Codman, Charles
+Coe, Elias V.
+Coe, Ethel Louise
+Coe, Sue
+Coello, Claudio
+Cogniet, Léon
+Cohen, Becky
+Cohen, Bernard
+Cohoon, Hannah Harrison
+Coignet, Jules
+Coker, Peter
+Cola Dell'Amatrice
+Coldstream, Sir William
+Cole, George Vicat
+Cole, J. Foxcroft
+Cole, Thomas
+Cole, Timothy
+Cole, Willie
+Coleman, Charles Caryl
+Coleman, Michael
+Coleopy, Steve
+Colescott, Robert
+Coll, Joseph Clement
+Colla, Ettore
+Collaert, Adriaen
+Collantes, Francisco
+Collazo, Raphael
+Collet, John
+Collier, Edwaert
+Collier, John
+Collings, Samuel
+Collins, Cecil
+Collins, Charles
+Collins, Charles Allston
+Collins, William
+Collinson, James
+Collot, Marie-Anne
+Colman 1780-1845, Samuel
+Colman 1832-1920, Samuel
+Colombe, Michel
+Colquhoun, Alexander
+Colquhoun, Robert
+Colton, William Robert
+Colville, Alex
+Colvin Andrade, Marta
+Coman, Charlotte Buell
+Comfort, Charles F.
+Conant Limner, The
+Conca, Sebastiano
+Conde, Eduardo
+Conder, Charles
+Condo, George
+Cone, Marvin
+Conegliano, Giambattista Cima da
+Congdon, William
+Coninxloo, Gillis van
+Connah, John
+Connard, Philip
+Connell, Stephen
+Connell, Sybil
+Connelly, Brian
+Conrad, Cyril H.
+Conroy, Stephen
+Consagra, Pietro
+Constable, John
+Constable, Lionel Bicknell
+Constant, Benjamin
+Constantin, Dimitrios
+Cook of Plymouth, William
+Cook, Ethel
+Cook, Gladys Emerson
+Cook, Howard
+Cook, Lia
+Cooke, Barrie
+Cooke, Edward William
+Cooke, George
+Cooke, L.M.
+Cooper Jr., Richard
+Cooper, Abraham
+Cooper, Alfred Egerton
+Cooper, Colin Campbell
+Cooper, Emma Lampert
+Cooper, George
+Cooper, Samuel
+Cooper, Thomas Sidney
+Cooper, Washington Bogart
+Cooper, William
+Coornhert, Dirck Volkertszoon
+Cope, George
+Copley, John Singleton
+Coppedge, Fern Isabel
+Coppo di Marcovaldo
+Coques, Gonzales
+Corbet, Matthew Ridley
+Corbett, Edward
+Corbino, Jon
+Corbould, Henry
+Corbould, Richard
+Corbusier, Le
+Cordier, Charles Henri Joseph
+Cordier, Nicolas
+Corenzio, Belisario
+Corinth, Lovis
+Corinthianizing Painter, The
+Coriolano, Bartolomeo
+Cornè, Michele Felice
+Corneille de Lyon
+Corneille, Jean-Baptiste
+Cornelius, Peter von
+Cornell, Joseph
+Cornell, Thomas
+Cornoyer, Paul
+Corot, Jean-Baptiste-Camille
+Corradini, Antonio
+Correggio
+Cortes, Edouard
+Corvi, Domenico
+Cosgrove, Stanley
+Cossa, Francesco del
+Cossiers, Jan
+Cossio, Pancho
+Costa, Artur Timóteo da
+Costa, Lorenzo
+Costa, Olga
+Costanzi, Placido
+Costigan, John E.
+Cosway, Maria
+Cosway, Richard
+Cot, Pierre-Auguste
+Coter, Colijn de
+Cotes, Francis
+Cotman, John Joseph
+Cotman, John Sell
+Cottier, Daniel
+Cottingham, Robert
+Couder, Louis-Charles-Auguste
+Counihan, Noel
+Couper, William
+Courbet, Gustave
+Courter, Franklin C.
+Courtois, Guillaume
+Courtois, Jacques
+Couse, Eanger Irving
+Cousin the Elder, Jean
+Cousinet, Henri-Nicolas
+Cousins, Samuel
+Coustou the Elder, Guillaume
+Coustou, Nicolas
+Couture, Christin
+Couture, Thomas
+Covarrubias, Miguel
+Cowert, Hank
+Cowin, Eileen
+Cowles, Russell
+Cowley, Reta Madeline
+Cowper, Frank
+Cox, David
+Cox, Gardner
+Cox, John Rogers
+Cox, Ken
+Cox, Kenyon
+Cox, Stephen
+Cox, Walter I.
+Coxcie, Michiel van
+Coye, Lee Brown
+Coypel, Antoine
+Coypel, Charles-Antoine
+Coypel, Noël
+Coysevox, Antoine
+Cozens, Alexander
+Cozens, John Robert
+Cozzarelli, Giacomo
+Cozzarelli, Guidoccio
+Cradock, Marmaduke
+Cragg, Tony
+Craig-Martin, Michael
+Cranach the Elder, Lucas
+Cranach the Younger, Lucas
+Cranch, John
+Crane, Anne
+Crane, Bruce
+Crane, Walter
+Cranston, Toller
+Crawford, Len
+Crawford, Ralston
+Crawford, Thomas
+Craxton, John
+Crayer, Gaspar de
+Crema, Giovan Battista
+Crespi, Daniele
+Crespi, Giovanni Battista
+Crespi, Giuseppe Maria
+Creswick, Thomas
+Creti, Donato
+Creuznach, Conrad Faber von
+Criollo, José
+Criss, J. Francis
+Cristall, Joshua
+Cristofol Peralba, Leandre
+Criswell, Warren
+Critcher, Catherine
+Crivelli, Carlo
+Crivelli, Vittorio
+Crocefissi, Simone dei
+Croix I, Jean de la
+Crola, Georg-Heinrich
+Crome, John
+Cromwell, Joane
+Crona, Rudolf
+Crooke, Ray
+Croos, Anthonie Jansz. van der
+Cropsey, Jasper Francis
+Crosato, Giovanni Battista
+Cross, Dorothy
+Cross, Henri-Edmond
+Crotch, Dr. William
+Crowe, Eyre
+Crozier, William
+Cruickshank, William
+Cruikshank, George
+Cruikshank, Isaac
+Crumbo, Woody
+Cruz, Emilio
+Cruz, Juan Pantoja de la
+Csók, István
+Csontváry Kosztka, Tivadar
+Cucchi, Enzo
+Cuevas, José Luis
+Cuitt Jr., George
+Cullen, Maurice Galbraith
+Culverhouse, Johann M.
+Cummings, Michael
+Cumpston, Nevin
+Cundall, Charles
+Cuneo, Rinaldo
+Cunningham, Ben
+Cunningham, Earl
+Cunningham, Imogen
+Curnoe, Greg
+Curradi, Francesco
+Curran, Charles Courtney
+Currier and Ives
+Curry ,Chuck
+Curry II, Austin
+Curry, John Steuart
+Curtis, Edward S.
+Curtis, Philip
+Curtis, R.W.
+Custis, Eleanor Parke
+Cuthbertson, Arch
+Cuyck Van Myerop, Frans
+Cuyp, Aelbert
+Cuyp, Benjamin Gerritsz.
+Cuyp, Jacob Gerritz.
+Dabo, Leon
+Dacosta, Milton
+Dacre, Lady
+Dadd, Richard
+Daddi, Bernardo
+Dael, Jan Frans van
+Dagnan-Bouveret, Pascal-Adolphe-Jean
+Dahl, Johan Christian
+Dahl, Michael
+Daingerfield, Elliott
+Dal Ponte, Giovanni
+dal Sole, Giovanni Gioseffo
+Dalem, Cornelis van
+Dalgaard, Christen
+Dalí, Salvador
+Dall, Nicholas Thomas
+Dalle Masegne, Jacobello
+Dalmata, Giovanni
+Dalmau, Luís
+Dalou, Jules
+Dalsgaard, Sven
+Dalton, Richard
+Daly, Steve
+Daly, Steve
+Damer, Anne Seymour
+Dana, Fra
+Danby, Francis
+Danby, Ken
+Dance II, George
+Dance-Holland, Sir Nathaniel
+Dandini, Cesare
+Dandré-Bardon, Michel-François
+Dandridge, Bartholomew
+d'Angers, Pierre Jean David
+Daniell, Thomas
+Daniell, William
+Danloux, Henri-Pierre
+Danner, Josef
+Danti, Vincenzo
+Danziger, Yitzhak
+Daphnis, Nassos
+Darboven, Hanne
+Darby, Henry F.
+D'Arcangelo, Allan
+Daret, Jacques
+Daret, Jean
+Darius Painter, The
+Darley, Felix Octavius Carr
+Dasburg, Andrew
+Daubigny, Charles-François
+Daucher, Adolf
+Daullé, Jean
+Daumier, Honoré
+Daux, C. Edmond
+Dauzats, Adrien
+Davenport, Ian
+David, Charles
+David, Gerard
+David, Jacques-Louis
+David, Michael
+Davidson, Jo
+Davidson, Robert
+Davie, Alan
+Davies, Arthur Bowen
+Davies, Danny
+Davies, David
+Davies, John
+Davies, Kenneth
+Davies, T.
+Davis, Charles Harold
+Davis, Douglas
+Davis, Emma Earlenbaugh
+Davis, Gene
+Davis, Henry William Banks
+Davis, John Scarlett
+Davis, Joseph H.
+Davis, Richard Thomas
+Davis, Stuart
+Davis, Ulysses
+Davis, William
+Daw, Leila
+Dawe, George
+Dawes, Edwin
+Dawson, David
+Dawson, Janet
+Dawson-Watson, John
+Day, Forshaw
+Day, Francis
+Day, Frank
+Dayes, Edward
+De Backer, Jacques
+de Chirico, Giorgio
+De Forest, Roy
+De Francia, Peter
+De Grey, Sir Roger
+De Haven, Franklin
+de Kooning, Elaine Fried
+de Kooning, Willem
+De Loutherbourg, Philippe Jacques
+de Meyer, Baron Adolf Gayne
+De Monchaux, Cathy
+De Morgan, Evelyn
+de Rivera, José
+de Stael, Nicholas
+de Vries, Auke
+De Wilde, Samuel
+De Wint, Peter
+De Witte, Peter
+Deacon, James
+Deacon, Richard
+Deák-Ébner, Lajos
+Deakin, Edwin
+DeAndrea, John
+Deare, John
+Dearth, Henry Golden
+de'Barbari, Jacopo
+Debassige, Blake
+Debat-Ponsan, Edouard
+Debucourt, Louis-Philibert
+DeCamp, Joseph
+DeCamp, Ralph E.
+Decamps, Alexandre-Gabriel
+DeCarava, Roy
+DeCreeft, José
+deDeigo, Julio
+Defrance, Léonard
+Degas, Edgar
+Degouve de Nuncques, William
+DeGrailly, V.
+Dehaas, Alice Preble Tucker
+Dehn, Adolf
+Dehner, Dorothy
+Dekkers, Ad
+del Casentino, Jacopo
+Del Pezzo, Lucio
+Delacroix, Eugène
+Delamotte, William Alfred
+Delaney, Beauford
+Delaney, Joseph
+Delaroche, Paul
+Delaunay, Jules-Elie
+Delaunay, Robert
+Delaunay, Sonia
+Delaune, Étienne
+Delbos, C. Edmund
+Delen, Dirck van
+Delfino
+della Valle, Filippo
+dell'Abbate, Niccolò
+Delort, Charles Edouard
+Delvaux, Paul
+Delville, Jean
+Delvoye, Wim
+Delyen, Jacques-François
+Demarne, Jean-Louis
+Demarteau, Gilles
+DeMartelly, John S.
+deMartini, Joseph
+Demuth, Charles
+Denes, Agnes
+Denham, John Charles
+Denis, Maurice
+Denison Limner, The
+Denner, Balthasar
+Denning, Stephen Poyntz
+Dennis, Michael
+Dennis, Wayne
+Denny, Robyn
+Denon, Baron Dominique Vivant
+Depero, Fortunato
+Deppe, Ferdinand
+Derain, André
+Derby, William
+Dernovich, Don
+de'Roberti, Ercole
+Derouin, René
+Deruet, Claude
+Des Granges, David
+Desboutin, Marcellin Gilbert
+Desch, Frank H.
+Descourtis, Charles-Melchior
+Deshays, Jean-Baptiste
+Desiderio da Settignano
+Desiderio, Vincent
+Desjardins, Martin
+Despiau, Charles
+Desportes, Alexandre-François
+Dessar, Louis Paul
+DeStaebler, Stephen
+Desubleo, Michele
+Détaille, Édouard
+Detouche, Henry-Julien
+Devambez, André
+Deverell, Walter Howell
+Devéria, Achille
+Devilly, Louis-Théodore
+Devis, Anthony
+Devis, Arthur
+Devoto, John
+Dew, James
+DeWeese, Bob
+DeWeese, Gennie
+DeWeese, Robert
+Dewing, Maria Oakey
+Dewing, Thomas Wilmer
+Dexter, Henry
+Dexter, Walter
+d'Hondecoeter, Melchior
+Di Ruggiero, Carmine
+di Suvero, Mark
+Dial Sr., Thornton
+Diamond, Dr. Hugh Welch
+Diana, Benedetto
+Díaz de la Peña, Narcisse-Virgile
+Dibbets, Jan
+Dickerson, Robert
+Dickinson, Preston
+Dickinson, Sidney E.
+Dicksee, Sir Frank
+Dicksee, Thomas Francis
+Dickson, Jane
+Diebenkorn, Richard
+Diego de Pesquera
+Diepraam, Abraham
+Dietrich, Christian Wilhelm Ernst
+Diggs, Peggy
+Dighton, Richard
+Dighton, Robert
+Dijck, Floris van
+Dillingham, Rick
+Dillis, Johann Georg von
+Dine, Jim
+Dinerstein, James
+Ding Cong
+Ding Yanyong
+Ding Yunpeng
+Dinglinger, Johann Melchior
+Dinsmore, Stephen
+Dionisii
+Dipre, Nicolas
+Discon, Warren
+Dix, Eulabee
+Dix, Otto
+Dixon, Ken
+Dixon, Maria
+Dixon, Maynard
+Dixon, William
+Diziani, Gaspare
+Do, Giovanni
+Dobbs, Everett
+Dobell, William
+Dobson, William
+Dobson, William Charles Thomas
+Dodd, Daniel
+Dodd, Francis
+Dodd, Lamar
+Dodd, Robert
+Dodge, William DeLeftwich
+Doesburg, Theo van
+Dohan, Kaigetsudo
+Dohanos, Stevan
+Doig, Peter
+Doisneau, Robert
+Dolan, Elizabeth
+Dolci, Carlo
+Dolph, John Henry
+Dombrowski, Carl Ritter von
+Domenichino
+Domenico De'Cori
+Domenico di Bartolo
+Domenico di Paris
+Domenico Veneziano
+Dominguez, Oscar
+Dominicis, Gino de
+Donagh, Rita
+Donahue, Vic
+Donald Lipski
+Donaldson, Anthony
+Donát, János
+Donatello
+Donati, Enrico
+Donck, Gerard
+Doner, Michele Oka
+Dong Qichang
+Dongen, Dionys van
+Dongen, Kees van
+Donnelly, Chuck
+Donner, Georg Raphael
+Donoghue, Lynn
+Donoho, Gaines Ruger
+Doolittle, Amos
+Doornik, Frans van
+Dorazio, Piero
+Doré, Gustave
+Dorfmeister, István
+d'Orléans, Evrard
+Dorner, Johann
+Dorrien, Carlos
+Dorris, Roy
+Dorsey, John
+D'Orsi, Achille
+Dosamantes, Francisco
+Dossi, Dosso
+Dou, Gerrit
+Dougherty, Paul
+Doughten, Alice
+Doughty, Thomas
+Doughty, William
+Douglas, Aaron
+Douglas, Edwin
+Douglas, Sir William Fettes
+Douris
+Doutney, Charles
+Dove, Arthur
+Dowling, Robert
+Downard, Ebenezer Newman
+Downing, Tom
+Downman, John
+Doyle, Charles Altamont
+Doyle, Richard
+Draper, Herbert
+Draper, William Franklin
+Drechsler, Johann Baptist
+Drew, Clement
+Drewes, Werner
+Dreyer, Clarice
+Driggs, Elsie
+Drölling, Martin
+Drost, Willem
+Drouais, François-Hubert
+Drouais, Jean-Germain
+Drummond, Arthur
+Drummond, Samuel
+Drysdale, Russell
+Du Maurier, George
+Du Ziling
+Dubois, Jacques
+Dubois-Drahonet, Alexandre-Jean
+Dubreuil, Victor
+Dubufe, Louis-Edouard
+Dubuffet, Jean
+Duccio di Buoninsegna
+Duchamp, Marcel
+Duchamp-Villon, Raymond
+Duck, Jacob
+Ducreux, Joseph
+Ducreux, Rose Adélaïde
+Dudley, Frank V.
+Duez, Ernest
+Dufresne, Charles
+Dufy, Raoul
+Dugdale, Thomas Cantrell
+Dugger, John
+Dughet, Gaspard
+Dujardin, Karel
+Duk-hyun, Cho
+Dulac, Edmund
+Dumesnil the Younger, Pierre Louis
+Dumond, Frank
+Dumonstier, Pierre
+Dumont, Jacques-Edme
+Dumoustier the Elder, Pierre
+Dunand, Jean
+Dunbar, Evelyn
+Dunbar, Harold Crocker
+Dunbier, Augustus
+Duncan, John
+Duncan, Robert
+Duncan, Steve
+Duncanson, Robert Scott
+Dundas, Douglas
+Dunker, Balthazar Anton
+Dunlap, William
+Dunoyer de Segonzac, André
+Dunst, Heinrich
+Dunton, William Herbert
+Duparc, Françoise
+Dupas, Jean
+Duplessis, Joseph-Siffred
+Dupont, Gainsborough
+Duprà, Domenico
+Dupré, Giovanni
+Dupré, Guillaume
+Dupré, Jules
+Dupré, Julien
+Dupuis, Georges
+Duquesnoy, François
+Duranceau, Suzanne
+Durand, Asher B.
+Durand, John
+Duranti, Fortunato
+Duren, Terence
+Dürer, Albrecht
+Durham, Joseph
+Durrie, George Henry
+Dusart, Cornelis
+Duseigneur, Jehan
+Dusenbery, Walter
+Duskiewicz, Rick
+Duskiewicz, Rick
+Duval, Jeanne
+Duval, Marc
+Duveneck, Elizabeth Lyman Boott
+Duveneck, Frank
+Duvet, Jean
+Duyckinck, Gerardus
+Duyfhuysen, Pieter
+Duyster, Willem Cornelisz.
+Dwight, Mabel
+Dwyer, Nancy
+Dyce, William
+Dyer, Charles Gifford
+Dyer, Nancy
+Eagle Painter, The
+Eakins, Susan Macdowell
+Eakins, Thomas
+Eames, Charles
+Eames, Ray
+Eardley, Joan
+Earl, Maud
+Earl, Ralph
+Earl, Ralph Eleaser Whiteside
+Earle, Augustus
+Earlom, Richard
+East, Sir Alfred
+Eastlake, Sir Charles Lock
+Eastman, Emily
+Eastman, Rico
+Eastman, Seth
+Eaton, Charles Warren
+Eaton, William B.
+Eaton, Wyatt
+Ebert, Charles
+Ebert, Mary Roberts
+Eberz, Josef
+Eby, Kerr
+Echevarría, Juan de
+Eckart, Christian
+Eckersberg, Christoffer Wilhelm
+Eddis, Eden Upton
+Eddy, Don
+Edelfelt, Albert
+Edenshaw, Charles
+Edmonds, Francis William
+Edmondson, William
+Edridge, Henry
+Edson, Alan
+Edwards, Billy
+Edwards, Edwin
+Edwards, George Wharton
+Edwards, Melvin
+Eeckhout, Gerbrand van den
+Eertvelt, Andries van
+Egenau Moore, Juan
+Egeri, Karl von
+Egg, Augustus Leopold
+Eggemeyer, Maude Kaufman
+Egger, Vilmos
+Eggleston, William
+Egry, József
+Ehninger, John Whetten
+Ehrenberg, Wilhelm Schubert van
+Eichenberg, Fritz
+Eichholtz, Jacob
+Eickhoff, Gottfred
+Eilshemius, Louis
+Eisen, Charles Dominique
+Eisentrager, James
+Eisui, Ichirakutei
+Eizan, Kikugawa
+Elinga, Pieter Janssens
+Elk, Ger van
+Ellerhusen, Florence Cooney
+Elliott, Charles Loring
+Ellis, Harvey
+Elsheimer, Adam
+Elvgren, Gil
+Emery, Lin
+Emin, Tracey
+Emmet, Lydia Field
+Emslie, Alfred Edward
+Enckell, Magnus
+Engleheart, George
+Enjaku
+Enjorlas, Delphin
+Enkyo, Kabukido
+Enneking, John J.
+Ensor, James
+Epiktetos
+Epimenes
+Epstein, Jacob
+Erhardt, Michel
+Erhart, Gregor
+Erichsen, Vigilius
+Erickson, Nancy
+Ericson, David
+Erlebacher, Martha Mayer
+Ernst, Jimmy
+Ernst, Max
+Ernst, Rudolph
+Erri, Agnolo degli
+Erró
+Erté
+Es, Jacob van
+Escalante, Juan Antonio
+Escher, M.C.
+Esiguo, Maestro
+Espinosa, Juan de
+Espoy, Angel
+Esselens, Jacob
+Estense, Baldassare
+Estes, Richard
+Etidlooie, Kingmeata
+Etrog, Sorel
+Etty, William
+Eun-ho, Kim
+Euphronios
+Eupolis Painter
+Eurich, Richard
+Eustace, A.W.
+Euxitheos
+Evans, De Scott
+Evans, Edwin
+Evans, Frederick Henry
+Evans, Gary
+Evans, Jessie Benton
+Evans, Mary Page
+Evans, Minnie
+Evans, Walker
+Everdingen, Allart van
+Everdingen, Cesar van
+Evergood, Miles
+Evergood, Philip
+Eversen, Adrianus
+Ewbank, John Wilson
+Ewen, Paterson
+Eworth, Hans
+Exekias
+Eyck, Hubert van
+Eyck, Jan van
+Eyre, Ivan
+Eyton, Anthony
+Fabbri, Angenore
+Faber the Younger, John
+Fabergé, Carl
+Fabre, François-Xavier
+Fabritius, Barent
+Fabritius, Carel
+Fabro, Luciano
+Faccini, Pietro
+Faed, John
+Faed, Thomas
+Faes, Peter
+Fafard, Joe
+Fagan, Robert
+Faggi, Alfeo
+Fairbanks, Avard T.
+Fairbanks, Semantha
+Fairbrother, Rob
+Fairweather, Ian
+Falciatore, Filippo
+Falcieri, Biagio
+Falconet, Étienne-Maurice
+Falconet, Pierre-Étienne
+Falero, Luis Ricardo
+Falk, Gathie
+Falter, John Phillip
+Fan Kuan
+Fancelli, Cosimo
+Fancelli, Pietro
+Fang Jizhong
+Fang Zengxian
+Fang Zhaolin
+Fantin-Latour, Henri
+Fanzago, Cosimo
+Farinati, Paolo
+Farington, Joseph
+Faris, Joseph Anderson
+Farkas, István
+Farm, Gerald
+Farmer, John
+Farny, Henry F.
+Farquarson, David
+Farr, Ellen Burpee
+Farrell, Katherine Levine
+Farrer, Charles
+Farrer, Henry
+Farreras, Francisco
+Fattori, Giovanni
+Fauvelet, Jean-Baptiste
+Faxon, Richard
+Faydherbe, Luc
+Faye, Assane
+Fazzini, Pericle
+Fearon, Hilda
+Fechin, Nicolai
+Fedi, Giuseppi
+Feininger, Lyonel
+Feitelson, Lorser
+Feke, Robert
+Felguérez, Manuel
+Fenderich, Charles
+Fendi, Peter
+Feng Kanghou
+Feng Mengbo
+Feng Zikai
+Fenneker, Josef
+Fenton, Roger
+Fenton, Terry
+Fényes, Adolf
+Ferber, Herbert
+Ferenczy, Károly
+Ferguson, Gerald
+Fernández Ledesma, Gabriel
+Fernández, Gregorio
+Fernández, Luis
+Ferneley I, John
+Ferneley II, John
+Ferrant y Vazquez, Angel
+Ferrara, Jackie
+Ferrari, Defendente
+Ferrari, Gaudenzio
+Ferrat, Jean-Joseph-Hippolyte-Romain
+Ferrata, Ercole
+Ferren, John
+Ferrer, Rafael
+Ferretti, Giovanni Domenico
+Ferrière, François
+Ferrill, Martin Edgar
+Fery, John
+Feti, Domenico
+Fetting, Rainer
+Feuchère, Jean-Jacques
+Feuerbach, Anselm
+Feure, Georges de
+Field, Erastus Salisbury
+Field, Robert
+Fielding, Anthony Vandyke Copley
+Fiene, Ernest
+Figueiredo e Mello, Pedro Américo de
+Filarete
+Fildes, Sir Luke
+Filippi, Sebastiano
+Fillier, Scott
+Filonov, Pavel
+Finch, Francis Oliver
+Finck, Hazel
+Fine, Perle
+Fine, Sally S.
+Finelli, Giuliano
+Finlay, Ian Hamilton
+Finson, Ludovicus
+Fiorentino, Antonio
+Fiorentino, 'Pseudo' Pier Francesco
+Fiori, Ernesto de
+Fiorini, Clem & Tony
+Firmin-Girard, Marie-François
+Fischer, Paul
+Fischl, Eric
+Fischli, Peter
+Fish, Janet
+Fisher, Alvan
+Fisher, Anna
+Fisher, Elizabeth Clay
+Fisher, Ellen Bowditch Thayer
+Fisher, Mark
+Fisher, Samuel Melton
+Fisher, Vernon
+Fisk, Lars-Erik
+Fiske, Gertrude
+Fitch, Walter
+Fitton, Hedley
+Fitzgerald, John Anster
+Fitzgerald, Lionel
+Flack, Audrey
+Flagg, James Montgomery
+Flamen, Anselme
+Flameng, Léopold
+Flanagan, Barry
+Flandrin, Hippolyte
+Flannagan, John Bernard
+Flavin, Dan
+Flaxman, John
+Flegel, Georg
+Fleischner, Richard
+Flexor, Samson
+Flicke, Gerlach
+Flinck, Govert
+Flint, William Leroy
+Flipart, Charles
+Floris, Cornelis
+Floris, Frans
+Flory, Arthur L.
+Fogarty, Mary Beth
+Foggini, Giambattista
+Foley, John Henry
+Foliage Master
+Foligno, Bartolomeo di Tommaso da
+Folinsbee, John Fulton
+Folwell, Jody
+Fontana, Annibale
+Fontana, Lavinia
+Fontana, Lucio
+Fontana, Prospero
+Fontebasso, Francesco
+Foote, Mary
+Foote, Will Howe
+Foppa, Vincenzo
+Forabosco, Girolamo
+Forain, Jean-Louis
+Forbes, Donald Emery
+Forbes, Elizabeth Adela Armstrong
+Forbes, John Colin
+Forbes, Stanhope Alexander
+Ford, Edward Onslow
+Ford, Lauren
+Ford, William
+Förg, Günter
+Forrest, Jonathan Alistair
+Forrestall, Tom
+Forsman, Chuck
+Forster, Thomas
+Forsyth, William
+Fortescue-Brickdale, Eleanor
+Fortin, Marc-Aurèle
+Fortini, Giovacchino
+Fortuny y Madrazo, Mariano
+Fortuny y Marsal, Mariano
+Forty, Jean Jacques
+Foschi, Pierfrancesco
+Fossati, Davide Antonio
+Fosso, Samuel
+Foster, Ben
+Foster, Myles Birket
+Foster, William
+Foujita, Tsugoharu
+Foundry Painter, The
+Fouquet, Jean
+Four Bears
+Fournier, Alexis Jean
+Fowle, Isaac
+Fox, E. Phillips
+Foy Suzor-Coté, Marc-Aurèle de
+Fragonard, Jean-Honoré
+Fragonard, Marie Anne Gérard
+Frampton, Edward Reginald
+Frampton, Hollis
+Frampton, Meredith
+Francalancia, Riccardo
+Francavilla, Pietro
+France, Eurilda Loomis
+Frances, Esteban
+Francés, Nicolás
+Franceschini, Marcantonio
+Francesco de Mura
+Francesco di Giorgio Martini
+Francesco di Vannuccio
+Franchina, Nino
+Franchoys the Younger, Lucas
+Francia, Francesco
+Francia, François Louis Thomas
+Franciabigio
+Francis, John F.
+Francis, Mark
+Francis, Sam
+Francken I, Frans
+Francken II, Frans
+Francken II, Hieronymus
+Franco, Giovanni Battista
+Francqueville, Pierre
+Frank, Mary
+Frank, Robert
+Frankel, Godfrey
+Frankenthaler, Helen
+Franzen, August
+Frasconi, Antonio
+Fraser, Alexander
+Fraser, Carol Hoorn
+Fraser, James Earle
+Frater, William
+Fratin, Christophe
+Frazetta, Frank
+Freake Limner, The
+Freckelton, Sondra
+Freddie, Wilhelm
+Frédéric, Léon
+Freeland, Anna Chamberlain
+Freeman, Don
+Freeman, Edith
+Freeman, Jane
+Freiberger, Benny
+Freilicher, Jane
+Frélaut, Jean
+Fremin, René
+French, Daniel Chester
+French, Jared
+Frère, Charles-Théodore
+Fresnaye, Roger de la
+Freud, Lucian
+Freundlich, Otto
+Frey, Viola
+Friebert, Joseph
+Friedeberg, Pedro
+Friedlander, Isac
+Friedlander, Lee
+Friedrich, Caspar David
+Friend, Donald
+Friend, Washington
+Fries, Ernst
+Friese, Richard
+Frieseke, Frederick Carl
+Friesz, Othon
+Frink, Dame Elisabeth
+Fripp, Alfred Downing
+Fripp, George Arthur
+Fripp, Thomas
+Frishmuth, Harriet Whitney
+Frith, William Powell
+Fritsch, Katharina
+Froment, Nicolas
+Fromentin, Eugène
+Froment-Meurice, François-Désiré
+Frost, John
+Frost, Terry
+Frost, William Edward
+Fry, Roger
+Frye, Thomas
+Fu Baoshi
+Fu Ershi
+Fuertes, Louis Agassiz
+Füger, Friedrich Heinrich
+Fujiwara Nobuzane
+Fujiwara Takanobu
+Fuka, Eva
+Fuller, Buckminster
+Fuller, George
+Fuller, Meta Warrick
+Fullwood, John
+Fulton, Hamish
+Fungai, Bernardino
+Furini, Francesco
+Furse, Charles Wellington
+Fusatane
+Fuseli, John Henry
+Fuss, Adam
+Fyt, Jan
+Gabbiani, Anton Domenico
+Gabo, Naum
+Gaddi, Agnolo
+Gaddi, Taddeo
+Gaertner, Eduard
+Gág, Wanda
+Gagen, Robert
+Gagini, Domenico
+Gagnon, Clarence
+Gainsborough, Thomas
+Galán, Julio
+Gale, William
+Gallagher, Sears
+Gallait, Louis
+Galle I, Cornelis
+Gallé, Emile
+Galle, Philip
+Gallego, Fernando
+Gallen-Kallela, Akseli
+Galliani, Omar
+Gallo, Oscar
+Gambara, Lattanzio
+Gamble, John
+Gamelin, Jacques
+Gammell, R.H. Ives
+Gandolfi, Gaetano
+Gandolfi, Ubaldo
+Gandolfino da Roreto
+Gano di Fazio
+Gans, Donna H.
+Gansevoort Limner, The
+Ganso, Emil
+Gao Fenghan
+Gao Jianfu
+Gao Qifeng
+Garber, Daniel
+Garcia, Rupert
+Gardner, Daniel
+Gardner, Todd
+Garelli, Franco
+Gargallo, Pablo
+Gargiulo, Domenico
+Garman, Ed
+Garner, Sarah
+Garnier, Michel
+Garofalo
+Garrard, George
+Garretson, Martin S.
+Garrigus, Keith
+Garstin, Norman
+Gartner, Allan
+Garza, Carmen Lomas
+Gaspard, Leon
+Gassel, Lucas
+Gaudí, Antoni
+Gaudier-Brzeska, Henri
+Gauffier, Louis
+Gaugengigl, Ignaz Marcel
+Gauguin, Paul
+Gauthier, Suzanne
+Gavarni, Paul
+Gavarrone, Domenico
+Gay, Edward
+Gay, Nikolay
+Gaywood, Richard
+Geddes, Andrew
+Gedovius, Germán
+Geer, Grace Woodbridge
+Gehrk, Robert J.
+Gehry, Frank
+Geiger, Anna Bella
+Geikie, Walter
+Geisted, Jørgen
+Gelder, Aert de
+Gelsavage, John Zygmund
+Gemito, Vincenzo
+Genga, Girolamo
+Gennari, Benedetto
+Gensler, Martin
+Gent, G.W.
+Genth, Lillian Mathilde
+Genthe, Arnold
+Gentile da Fabriano
+Gentileschi, Artemisia
+Gentileschi, Orazio
+Gentilini, Franco
+Gentling, Scott
+Geoffroy, Henry-Jules-Jean
+George, Ray
+Gérard, François
+Gérard, Marguerite
+Gerardi, Alberto
+Gerardo
+Gerhaert, Nicolaus
+Gerhard, Hubert
+Gerhold, Mel
+Géricault, Théodore
+Gerini, Niccolò di Pietro
+Gerlovin, Valeriy
+Gerlovina, Rimma
+Germain, François-Thomas
+Germain, Louis
+Gérôme, Jean-Léon
+Gerstl, Richard
+Gertler, Mark
+Gertsch, Franz
+Gervex, Henri
+Gerzso, Gunther
+Getz, Arthur
+Geuer, Juan
+Gheeraerts the Younger, Marcus
+Gherardo di Giovanni
+Gheyn II, Jacques de
+Gheyn, Jacques de
+Ghezzi, Pier Leone
+Ghiberti, Lorenzo
+Ghirlandaio, Benedetto
+Ghirlandaio, Domenico
+Ghirlandaio, Ridolfo
+Ghislandi, Giuseppe
+Giacometti, Alberto
+Giacometti, Giovanni
+Giambologna
+Giambono, Michele
+Giampietrino
+Giannetti, Raffaele
+Giannicola di Paolo
+Giaquinto, Corrado
+Gibbs, Henry
+Gibbs, Percy W.
+Gibson, Ralph
+Giergl, Alajos Györgyi
+Giesbrecht, Garry
+Gifford, Sanford Robinson
+Giger, H.R.
+Gignoux, Règis-François
+Gigola, Giovanni Battista
+Gijsbrechts, Cornelius
+Gil de Castro, José
+Gilbert and George
+Gilbert, Alfred
+Gilbert, Arthur Hill
+Gilbert, John Conrad
+Gilbert, Sir John
+Gilbert, Victor-Gabriel
+Gilder, Robert
+Gile, Selden Connor
+Gilhooly, David
+Gill, Eric
+Gillespie, Gregory
+Gillett, Frank
+Gilliam, Sam
+Gillini, Alberto
+Gillot, Claude
+Gillray, James
+Gilman, Harold
+Gilpin, Rev. William
+Gilpin, Sawrey
+Ginnever, Charles
+Giordano, Luca
+Giorgione
+Giottino
+Giotto di Bondone
+Giovanni da Balduccio
+Giovanni da Campione
+Giovanni da Milano
+Giovanni da Nola
+Giovanni da San Giovanni
+Giovanni del Biondo
+Giovanni di Paolo
+Giovenone, Girolamo
+Gipe, Lawrence
+Girardon, François
+Girodet de Roussy-Trioson, Anne-Louis
+Girolamo da Carpi
+Girolamo dai Libri
+Girolamo di Benvenuto
+Gironella, Alberto
+Giroux, André
+Girtin, Thomas
+Giulio Romano
+Glackens, William
+Glaize, Auguste
+Glaize, Pierre-Paul-Léon
+Glarner, Fritz
+Gleeson, James
+Glehn, Wilfrid de
+Gleizes, Albert
+Glendenning, Alfred
+Gleyre, Charles
+Glick, John
+Glintenkamp, Hendrik
+Glover, John
+Glyde, Henry George
+Gober, Robert
+Goble, Paul
+Godfrey, DeWitt
+Godward, John William
+Goeneutte, Norbert
+Goes, Hugo van der
+Gogas, George
+Goings, Ralph
+Goitia, Francisco
+Goldberg, Rube
+Goldin, Nan
+Goldsworthy, Andy
+Golinkin, Joseph
+Gollings, E. W.
+Goltzius, Hendrick
+Golub, Leon
+Gomez de Mora, Juan
+Gómez, Vicente Salvador
+Gonçalves, Nuno
+Goncharova, Natalia
+Gong Xian
+Gonzaga, Pietro
+Gonzales, Eva
+González Escobar, Juan Francisco
+González Pellicer, Julio
+Gonzalez Ruiz, Daniel
+Gonzalez y Serrano, Bartolome
+González, Joan
+Gonzalez, Juan
+González, Vicente Palmaroli
+Gonzalez-Torres, Felix
+Good, Thomas Sword
+Goodall, Frederick
+Goodfellow, Stephen
+Goodman, Brenda
+Goodman, Sidney
+Goodnough, Robert
+Goodridge, Eliza
+Goodsir, Agnes
+Goodwin, Arthur Clifton
+Goodwin, Gilberta Daniels
+Goodwin, Philip R.
+Goodwin, Richard LaBarre
+Goodwin, Steve
+Gookins, James Farrington
+Gordillo, Luis Rodríguez
+Gordon, Arturo
+Gordon, Douglas
+Gordon, Harry H.
+Gordon, Julia Emily
+Gordon, Lady
+Gordon, Russell T.
+Gordon, Sir Harry Percy
+Gordon, Sir John Watson
+Gore, Charles
+Gore, Spencer
+Gorenko, Richard Williams Samuel
+Gorgoni, G.
+Gorin, Jean
+Gorky, Arshile
+Gormley, Antony
+Gornik, April
+Goro di Gregorio
+Gorsline, Douglas
+Gorson, Aaron Harry
+Goshin
+Goshun, Matsumara
+Gotch, Thomas Cooper
+Gottlieb, Adolph
+Gottlieb, Harry
+Goudie, Scott
+Goudt, Hendrik
+Goujon, Jean
+Gould, William
+Goupil, Jules-Adolphe
+Govaers, Daniel
+Govaerts, Abraham
+Gow, Andrew Carrick
+Gower, George
+Gowing, Sir Lawrence
+Goya, Francisco de
+Goyen, Jan van
+Goyo, Hashiguchi
+Gozzoli, Benozzo
+Graevenitz, Gerhard von
+Graf, Genevieve Goth
+Graf, Urs
+Graff, Anton
+Graham, Dan
+Graham, John
+Graham, Paul
+Graham, Peter
+Graham, Robert
+Gramza, Leroy
+Granacci, Francesco
+Grandi, Gian Girolamo
+Grandi, Giuseppe
+Grandin, Eugene
+Grandmaison, Nicholas de
+Granet, François-Marius
+Granger, Charles Henry
+Grant, Duncan
+Grant, Frederic Milton
+Grant, Gordon
+Grant, Sir Francis
+Gras, Caspar
+Grass, Philippe
+Grasser, Erasmus
+Grausman, Philip
+Gravelot, Hubert François
+Graves, Abbott Fuller
+Graves, Henry Richard
+Graves, Morris
+Graves, Nancy
+Gravesande, Charles Storm van S'
+Gray, Cleve
+Gray, Gustave Le
+Gray, Henry Percy
+Gray, Jack
+Gray, Mary
+Graziose, Phil
+Greacen, Edmund W.
+Greacen, Nan
+Greaves, Walter
+Grebber, Pieter de
+Greco, El
+Greco, Emilio
+Green, Alan
+Green, Anthony
+Green, C.E.L.
+Green, Frank Russell
+Green, Homer
+Green, Renée
+Green, Samuel M.
+Green, Valentine
+Green, Walter
+Greenamyer, George
+Greenblat, Rodney Alan
+Greenham, Peter
+Greenhill, Harold
+Greenleaf, Benjamin
+Greenough, Horatio
+Greenwood, John
+Greeves, Richard V.
+Gregory, Edward John
+Gregory, Sheila
+Greiffenhagen, Maurice William
+Greuze, Jean-Baptiste
+Grey, Alex
+Gribbroek, Robert
+Griffa, Giorgio
+Griffier the Elder, John
+Griffin, Walter
+Griffiths, James
+Griggs, Frederick Landseer Maur
+Griggs, Lee
+Griggs, Samuel W.
+Grigorescu, Nicolae
+Grimaldi, Giovanni Francesco
+Grimm, Samuel Hieronymous
+Grimmer, Abel
+Grimou, Alexis
+Grimshaw, Atkinson
+Grinager, Alex
+Grippe, Peter
+Gris, Juan
+Gritten, Henry
+Grogan, Nathaniel
+Groll, Albert L.
+Grooms, Red
+Gropper, William
+Gros, Antoine-Jean
+Grose, Harriet Estella
+Gross, Anthony
+Gross, Chaim
+Gross, Sidney
+Grossman, Elias M.
+Grossmann, Rudolf
+Grosso, Luigi
+Grosz, George
+Groux, Henry de
+Gruamonte
+Gruber, Francis
+Gruelle, Richard B.
+Gruner, Elioth
+Grünewald, Matthias
+Gruppé, Emile A.
+Gruppe, Virginia
+Gu Linshi
+Gu Yuan
+Gu Yun
+Gualitieri di Giovanni da Pisa
+Guan Shanyue
+Guan Zilan
+Guardi, Francesco
+Guardi, Gian Antonio
+Guariento di Arpo
+Gude, Hans Fredrik
+Gudin, Théodore
+Guérard, Eugene von
+Guercino
+Guerin, Gilles
+Guérin, Pierre-Narcisse
+Guerrero Galván, Jesús
+Guerrero García, José
+Guglielmi, Gregorio
+Guglielmi, O. Louis
+Guglielmo, Fra
+Guglielmo, Mastro
+Guidi, Domenico
+Guidi, Virgilio
+Guido da Siena
+Guignet, Adrien
+Guigou, Paul-Camille
+Guild, Lurelle
+Guillain, Simon
+Guillaumin, Armand
+Guillou, Alfred
+Guinovart Bertran, Josep
+Guirand de Scevola, Lucien-Victor
+Gulácsy, Lajos
+Gunther, Franz Ignaz
+Guo Bi
+Gurschner, Herbert
+Gursky, Andreas
+Guston, Philip
+Guthrie, Sir James
+Gutiérrez, Juan Simón
+Gutmann, Bernhard
+Gutmann, John
+Guttuso, Renato
+Guy, Francis
+Guy, Seymour Joseph
+Guys, Constantin
+Guyton, Tyree
+Gwathmey, Robert
+Gwynne-Jones, Allan
+Gyárfás, Jenó
+Gyles, Henry
+Gyokudo, Uragami
+Gysels, Pieter
+Haagen, Joris Abrahamsz. van der
+Haarlem, Cornelis Cornelisz. van
+Haas, Mauritz F.H. De
+Haberle, John
+Hackaert, Jan
+Hacker, Arthur
+Hackert, Jacob Philippe
+Haddock, A.
+Haden, Sir Francis Seymour
+Haes, Carlos de
+Hahn, Emanuel
+Hahn, Gustav
+Hahn, Herbert C.
+Hahn, William
+Haid, Johann Lorenz
+Haile, Samuel
+Hale, Edward Matthew
+Hale, Ellen Day
+Hale, Josephine
+Hale, Lilian Westcott
+Hale, Philip Leslie
+Hall 1739-1797, John
+Hall 1885, Douglas
+Hall, Ann
+Hall, Bernard
+Hall, Cyrenius
+Hall, Doug
+Hall, George Henry
+Hall, Harry
+Hall, John
+Hall, Pam
+Hallé, Edward Charles
+Hallen, Ambrose
+Halley, Peter
+Halliday, Edward Irvine
+Hals, Dirk
+Hals, Frans
+Halsman, Philippe
+Halswelle, Keeley
+Hamblin, Sturtevant J.
+Hamen y León, Juan van der
+Hamilton, Ann
+Hamilton, Gavin
+Hamilton, Gawen
+Hamilton, Grant
+Hamilton, Hamilton
+Hamilton, Hugh Douglas
+Hamilton, James
+Hamilton, Juan
+Hamilton, Mary Riter
+Hamilton, Mike
+Hamilton, Richard
+Hamilton, William
+Hammershøi, Vilhelm
+Hammond, Jane
+Hammons, David
+Hamon, Jean-Louis
+Han Gan
+Hanfstaengl, Dresden
+Hanias, Johannes
+Hankey, William Lee
+Hanneman, Adriaen
+Hannock, Stephen
+Hansen, Armin Carl
+Hansen, Constantin
+Hansen, Svend Wiig
+Hanson, Duane
+Haozous, Bob
+Harcourt, George
+Hardie, Martin
+Harding, Charles Stewart
+Harding, Chester
+Harding, George Perfect
+Harding, James Duffield
+Harding, Sylvester
+Hardrick, John Wesley
+Hardwick, Alice
+Hardwick, Melbourne
+Hardy, Anna Eliza
+Hardy, Heywood
+Hare, David
+Harford, John Scandrett
+Haring, Keith
+Harlow, George Henry
+Harnett, William Michael
+Harper, Henry Andrew
+Harpignies, Henri-Joseph
+Harrich, Jobst
+Harries, Mags
+Harris, Bob
+Harris, John
+Harris, Lawren S.
+Harris, Robert
+Harris, Sam Hyde
+Harrison, H.B.
+Harrison, T. Alexander
+Harrison, Wallace
+Hart, Frederick
+Hart, James McDougal
+Hart, Letitia Bonnet
+Hart, 'Pop'
+Hart, Solomon Alexander
+Hart, William
+Hartigan, Grace
+Hartley, J. Scott
+Hartley, Marsden
+Hartrath, Lucie
+Hartung, Hans
+Harunobu
+Harushige, Suzuki
+Harvey, Bunny
+Harvey, Herbert Johnson
+Harvey, William
+Harwood, Francis
+Harwood, James Taylor
+Hasegawa Tohaku
+Haseltine, William Stanley
+Hashagen, A.
+Hashimoto, Okiie
+Haskell, Ernest
+Hassam, Childe
+Hassell, John
+Hasui, Kawase
+Hatch, Jim
+Hatcher, Brower
+Hatoum, Mona
+Hatt, Emilie Demant
+Hauer, Stanley
+Haughton, Matthew
+Haupers, Clement
+Hausmann, Raoul
+Havel, Joseph
+Havell, Robert
+Havell, William
+Havens, Leonard M.
+Hawkins, Basil
+Hawkins, Henry
+Hawkins, Louis Welden
+Hawthorne, Charles Webster
+Haxton, Elaine
+Hay, Gilbert
+Hayden, Henri
+Haydon, Benjamin Robert
+Hayes, Edwin
+Hayes, George A.
+Hayez, Francesco
+Hayls, John
+Hayman, Francis
+Haynes, Douglas Hector
+Haynes, F. Jay
+Haynes-Williams, John
+Haynie, Keith
+Hays, William Jacob
+Hayter, John
+Hayter, Sir George
+Hayter, Stanley William
+Haytley, Edward
+Hazelton, Mary Brewster
+He Baitao
+He Kongde
+He Tianjian
+Head, Guy
+Head, Tim
+Heade, Martin Johnson
+Healy, George P.A.
+Heaney, Charles
+Heaphy, Thomas
+Hearne, Thomas
+Heartfield, John
+Heath, Henry
+Heath, William
+HeavyShield, Faye
+Hébert, Adrien
+Hébert, Ernest
+Hébert, Pierre-Eugène-Emile
+Heckel, Erich
+Hecken, Abraham van der
+Heckman, Albert
+Heda, Gerret Willemsz.
+Heda, Willem Claesz.
+Heem, Cornelis de
+Heem, Jan Davidsz. de
+Heem, Jan Jansz. de
+Heemskerck, Maerten van
+Hegedus, Laszlo
+Heil, Daniel van
+Heilbuth, Ferdinand
+Heilmann, Mary
+Heim, François-Joseph
+Heimlich, Herman
+Heintz, Joseph
+Heintzelman, Arthur William
+Heizer, Michael
+Hejduk, John
+Held Jr., John
+Held, Al
+Held, Marion
+Helder, Zama V.
+Heller, Helen West
+Helm, Alison
+Helmbreker, Dirk
+Helmick, Ralph
+Helst, Bartholomeus van der
+Helzer, Richard
+Hemessen, Caterina van
+Hemessen, Jan Sanders van
+Heming, Arthur
+Hemy, Charles Napier
+Henderson, Charles Cooper
+Henderson, John
+Henderson, Joseph
+Henderson, Nigel
+Hendrickson, Daniel
+Henner, Jean-Jacques
+Hennessy, William John
+Hennings, E. Martin
+Henri, Robert
+Henry, Edward Lamson
+Hensel, Salome
+Hepher, David
+Hepworth, Barbara
+Herbert, John Rogers
+Herbin, Auguste
+Herlick, George
+Hernandez Pijuan, Joan
+Heron, Patrick
+Herrán, Saturnino
+Herrera Barnuevo, Sebastian de
+Herrera the Younger, Francisco de
+Herring, John Frederick
+Herter, Albert
+Herthel, Ludwig
+Hertle, James
+Herzog, Herman
+Hesse, Eva
+Hesselius, John
+Hessing, Valjean
+Heward, Prudence
+Hey, Jean
+Heyboer, Anton
+Heyden, Jan van der
+Heyden, Pieter van Der
+Heynsius, Kees
+Heysen, Hans
+Heywood, J.C.
+Hick, Jacqueline
+Hickey, Dale
+Hickey, Thomas
+Hickox, Elizabeth
+Hicks, Edward
+Hicks, George Elgar
+Hicks, Sheila
+Hicks, Thomas
+Hicks, William
+Hidalgo, Juan
+Higgins III, Edward F.
+Higgins, Eugene
+Higgins, Victor
+Highmore, Joseph
+Highstein, Jene
+Hildebrandt, Edward
+Hiler, Hilaire
+Hill, Anthony
+Hill, Carl Fredrik
+Hill, David Octavius
+Hill, John
+Hill, John William
+Hill, Thomas
+Hilliard, Nicholas
+Hillier, Tristram
+Hilling, John
+Hills, Anna Althea
+Hills, Laura Coombs
+Hills, Robert
+Hilton the Younger, William
+Hilton, Roger
+Himid, Lubaina
+Hind, William G.R.
+Hine, Lewis Wickes
+Hinkle, Clarence
+Hiratsuka, Un'ichi
+Hiroaki, Morino
+Hirosada
+Hiroshige II
+Hiroshige, Ando
+Hirsch, Joseph
+Hirschvogel the Elder, Veit
+Hirschvogel, Augustin
+Hirst, Claude Raguet
+Hirst, Damien
+Hirszenberg, Samuel
+Hitchcock, George
+Hitchcock, Harold
+Hitchens, Ivon
+Hnizdovsky, Jacques
+Hoare, Prince
+Hoare, Sir Richard Colt
+Hoare, William
+Hobbema, Meindert
+Höch, Hannah
+Hocking, Robert
+Hockney, David
+Hodges, Jim
+Hodges, William
+Hodgkin, Howard
+Hodgkins, Frances
+Hodler, Ferdinand
+Hoeck, Richard
+Hoecke, Jan van den
+Hoefnagel, Joris
+Hoerman, Carl
+Hofer, Carl
+Hoff, Rayner
+Hoffbauer, Charles
+Hoffman, Irwin
+Hoffman, Malvina
+Hoffmann, Hans
+Hoffmeister, George
+Hofland, Thomas Christopher
+Hofmann, Charles C.
+Hofmann, Hans
+Hofmeister, Andrew
+Hogarth, William
+Hogers, Jacob
+Hogue, Alexandre
+Hoin, Claude
+Hoit, Albert Gallatin
+Hokuei
+Hokusai Katsushika
+Holbein the Elder, Hans
+Holbein the Younger, Hans
+Holbein, Ambrosius
+Holberg, Ruth Langland
+Holcomb, Alice
+Holdstock, Alfred W.
+Holgate, Edwin
+Holiday, Henry
+Holl, Frank
+Holland, James
+Holland, Tish
+Hollar, Wenceslaus
+Hollósy, Simon
+Holm, Julius
+Holman, Francis
+Holmes, Kenneth
+Holmes, Melville
+Holmes, Tim
+Holoun, Hal
+Holroyd, Sir Charles
+Holsman, Elizabeth T.
+Holt, Nancy
+Holzer, Jenny
+Homer, Winslow
+Hon'ami Koetsu
+Hondius the Elder, Hendrik
+Hondius, Abraham
+Hone, Nathaniel
+Hoñgeeýesa
+Hong-Joo, Kim
+Hongren
+Honthorst, Gerrit van
+Hooch, Pieter de
+Hood, Raymond
+Hoogstraten, Samuel van
+Hook, Dr. Richard
+Hook, James Clarke
+Hook, Walter
+Hopfer, Daniel
+Hopfer, Hieronymous
+Hopkins, Frances Anne
+Hopkins, James R.
+Hopkins, Milton W.
+Hopper, Edward
+Hoppner, John
+Hopwood, Henry Silkstone
+Horemans the Elder, Jan Josef
+Hori, Tetsuzan
+Horn, Rebecca
+Horn, Roni
+Hornebout, Gerard
+Hornung, Preben
+Horsley, John Callcott
+Horton, William Samuel
+Hoskins, John
+Hosmer, Harriet Goodhue
+Hou Mougong
+Hou Yimin
+Houasse, Michel-Ange
+Houbraken, Jacobus
+Houdon, Jean-Antoine
+Houel, Jean
+Houghton, Arthur Boyd
+House, Gordon
+House, Seth
+Houser, Allan
+Houshiary, Shirazeh
+Hovenden, Thomas
+Hovey, Otis
+Howard, Bessie Jeannette
+Howard, Dan
+Howard, Edith Lucile
+Howard, Joseph
+Howe, Oscar
+Howitt, Samuel
+Howlett, Robert
+Hoyland, John
+Hron, Vincent
+Hu Yichuan
+Hu Yuan
+Hua Yan
+Huang Binhong
+Huang Lizhen
+Huang Xinbo
+Huang Zhou
+Hubbard, John
+Hubbard, Whitney
+Hubbell, Henry Salem
+Huber, Wolf
+Hudson, Grace Carpenter
+Hudson, Henry J.
+Hudson, Thomas
+Huet, Jean-Baptiste Marie
+Huet, Paul
+Huffman, Laton Alton
+Huge, Jurgan Frederick
+Huggins, William
+Huggins, William John
+Hughes, Arthur
+Hughes, Cornelius Jabez
+Hughes, Edward Robert
+Hughes, Patrick
+Hugo, Jean
+Hugo, Valentine
+Hugo, Victor
+Hugonin, James
+Hugue, Manuel
+Huguet, Jaume
+Huilliot, Pierre Nicolas
+Huizong, Emperor
+Hull, Lynne
+Hull, Marie Atkinson
+Humphrey, Jack
+Humphrey, Ralph
+Humphrey, Tom
+Humphreys, Charles S.
+Hundertwasser
+Hung Liu
+Hunt, Alfred William
+Hunt, Alice
+Hunt, Bryan
+Hunt, Calvin
+Hunt, Esther Anna
+Hunt, Mabelle Alcott
+Hunt, Richard
+Hunt, Tommy
+Hunt, William Henry
+Hunt, William Holman
+Hunt, William Morris
+Hunter, Colin
+Hunter, George Leslie
+Huntington, Anna V. Hyatt
+Huntington, Daniel
+Huntington, Elizabeth Hamilton
+Huntington, Jim
+Huntley, Victoria Hutson
+Huntoon, Mary
+Hurd, Peter
+Hurlstone, Frederick Yeates
+Hurrell, George
+Husain, M.F.
+Hussey, Giles
+Hustwick, C.
+Hutin, Charles-François
+Hutty, Alfred Heber
+Huysmans, Corneille
+Huysmans, Jacob
+Huysmans, Jean-Baptiste
+Huysum, Jan van
+Hyde, Helen
+Hyo-joong, Yun
+Ianelli, Arcângelo
+Ibbetson, Julius Caesar
+Ibels, Henri Gabriel
+Icaza, Ernesto
+Ihara, Michio
+Ihle, John
+Ike-no-Taiga
+Imber, Jonathan
+Immendorff, Joerg
+Immenraet, Philippe-Augustin
+Ince, Joseph Murray
+Inchbold, John William
+Indiana, Robert
+In-du, Ha
+Ingham, Charles Cromwell
+Inglés, Jorge
+Ingres, Jean-Auguste-Dominique
+Inman, Henry
+Innes, James Dickson
+Inness, George
+Innocenzo da Imola
+Inscription Painter, The
+Inurria, Mateo
+Inza, Joaquín
+Irvin, Albert
+Irvine, Wilson
+Irwin, Robert
+Isabey, Eugène
+Isabey, Jean Baptiste
+Isenbrant, Adriaen
+Ishikawa Komei
+Iskowitz, Gershon
+Israels, Isaac
+Israëls, Jozef
+Ito Jakuchu
+Itten, Johannes
+Ittenbach, Franz
+Ivanov, Alexander
+Ivanov, Andrei
+Ivanov, Sergei
+Ivanov, Victor
+Iverny, Jacques
+Ives, Chauncey B.
+Izquierdo, María
+Jack, Mabel Wellington
+Jack, Richard
+Jackson, A.Y.
+Jackson, Billy Morrow
+Jackson, Gilbert
+Jackson, John
+Jackson, Samuel Phillips
+Jackson, William Henry
+Jacob-Desmalter, François-Honoré-Georges
+Jacobello Del Fiore
+Jacobi, Otto
+Jacobsen, Antonio
+Jacobshagen, Keith
+Jacobson, Jake
+Jacobsz, Dirck
+Jacobsz, Lambert
+Jacometto
+Jacopino del Conte
+Jacopo del Sellaio
+Jacopo di Cione
+Jacopo di Domenico Foschi
+Jacopo Nizzola da Trezzo
+Jacopo, Meliore di
+Jacoulet, Paul
+Jacquand, Claudius
+Jacque, Charles Émile
+Jacquemart de Hesdin
+Jacquemart, Jules Ferdinand
+Jacquemin, Jeanne
+Jacquet, Mathieu
+Jacquette, Yvonne
+Jaffee, Jay
+Jalabeat, Charles François
+James, Alexander
+James, Alice Archer
+James, Frederick
+James, Rebecca Salsbury
+James, Will
+Jameson, Anne Brownell
+Jamieson, Bernice Evelyn
+Jamieson, Mitchell
+Jamin, Paul
+Janinet, Jean-François
+Janowitz, Joel
+Jansen, Franz M.
+Janssens, Abraham
+Jansson, Eugene
+Janvier, Alex
+Jarvis, Charles Wesley
+Jarvis, John Wesley
+Jawlensky, Alexei
+Jean de Liège
+Jean de Touyl
+Jeanne-Claude
+Jeaurat, Étienne
+Jefferys, James
+Jeffries, Jim
+Jegher, Christoffel
+Jenkins, Paul
+Jennewein, C. Paul
+Jenney, Neil
+Jennys, William
+Jénot, Paulin
+Jensen, Alfred
+Jensen, Christian Albrecht
+Jenssen, Olav Christopher
+Jerry Kruss
+Jess
+Jessup, Robert
+Jewell, Ron
+Jewett, William
+Ji, Byun Shi
+Jia Youfu
+Jiang Feng
+Jiang Tingxi
+Jihei, Sugimura
+Jiménez Aranda, Luis
+Jiménez, Luis
+Jin Shangyi
+Jin-kyu, Kwon
+Jocelyn, Nathaniel
+Johannot, Antoine
+John, Augustus
+John, Gwen
+John, Philip
+Johns, Jasper
+Johnsgard, Paul
+Johnson Jr., J. Seward
+Johnson, Charles Edward
+Johnson, Cornelius
+Johnson, David
+Johnson, Eastman
+Johnson, Frank Tenney
+Johnson, Isabelle
+Johnson, Joshua
+Johnson, Philip
+Johnson, Rae
+Johnson, Raymond
+Johnson, Sargent Claude
+Johnson, William H.
+Johnson-Calloway, Marie
+Johnston, Frank
+Johnston, John
+Johnston, Ynez
+Joli, Antonio
+Jollain, Nicolas-René
+Jonas, Louis Paul
+Jones, Allen
+Jones, Ben
+Jones, Bradley
+Jones, David
+Jones, Fay
+Jones, Francis Coates
+Jones, George
+Jones, Hugh Bolton
+Jones, Joe
+Jones, Loïs Mailou
+Jones, Luther
+Jones, Mildred
+Jones, Nell Choate
+Jones, Thomas
+Jones, William
+Jongh, Ludolf Leendertsz. de
+Jong-Hak, Kim
+Jonghelinck, Jacques
+Jongkind, Johan Barthold
+Jonson, Raymond
+Jónsson, Ásgrímur
+Joo, Michael
+Joos van Wassenhove
+Jordaens, Jacob
+Jordan, Samuel
+Josephson, Ernst
+Josetsu
+Joslin, Richard
+Joue II, Jacques de la
+Jouett, Matthew Harris
+Jouvenet, Jean
+Joy, George William
+Juan de Flandes
+Juan de Herrera
+Juan de Juni
+Juan de Villanueva
+Juanes, Juan de
+Juárez, Luis
+Juarez, Roberto
+Judd, Donald
+Judson, William Lees
+Juel, Jens
+Jules, Mervin
+Julien, Henri
+Julien, Pierre
+Jumbo, Julia
+Juvarra, Filippo
+Kabakov, Ilya
+Kabotie, Fred
+Kacere, John
+Kadishman, Menashe
+Kahlo, Frida
+Kahn, Albert
+Kahn, Wolf
+Kaiho Yusho
+Kainen, Jacob
+Kaisermann, Franz
+Kalf, Willem
+Kalleo, Josephina
+Kamenev, L.
+Kandinsky, Wassily
+Kane, Paul
+Kang Shiyao
+Kang Youwei
+Kano Eitoku
+Kano Hideyori
+Kano Motonobu
+Kano Sanraku
+Kano Sansetsu
+Kanpô, Yoshikawa
+Kantor, Morris
+Kapoor, Anish
+Karpik, Andrew
+Karsh, Yousuf
+Kartner Meister
+Käsebier, Gertrude
+Kass, Deborah
+Katz, Alex
+Katz, Cima
+Katzen, Lila
+Kauffmann, Angelica
+Kaufmann, Isidor
+Kaula, Lee Lufkin
+Kawakami, Sumio
+Kawano, Kaoru
+Kawara, On
+Kaye, Otis
+Kazuma, Oda
+Kcho
+Keane, John
+Keene, Charles Samuel
+Keesey, W.M.
+Keibun
+Keil, Bernhard
+Keirincx, Alexander
+Keisai Eisen
+Keisai Masayoshi
+Keith, Elizabeth
+Keith, William
+Keller, Henry
+Kelley, Mike
+Kelly, Ellsworth
+Kemeys, Edward
+Kemmelmeyer, Frederick
+Kempton, Elmira
+Kempton, Greta
+Kemp-Welch, Lucy
+Kendall, William Sergeant
+Kendrick, Mel
+Kennedy, Garry Neil
+Kennedy, Mary
+Kennedy, Shannon
+Kennington, Eric
+Kensett, George
+Kensett, John Frederick
+Kent, Corita
+Kent, Rockwell
+Kern, Dennis
+Kern, Leonhard
+Kerr, Charles Henry Malcolm
+Kerr, Illingworth Holey
+Kerr-Lawson, James
+Kersting, Georg Friedrich
+Kertész, André
+Kessel the Younger, Jan van
+Kessel, Jan van
+Kessler, Wynn
+Ketchum, Robert Glenn
+Ketel, Cornelis
+Kettle, Tilly
+Keuninck, Kerstiaen de
+Key, John Ross
+Keyl, Friedrich Wilhelm
+Keyser I, Hendrick de
+Keyser, Thomas de
+Khatchatur
+Khnopff, Fernand
+Khrutsky, Ivan
+Kick, Simon
+Kicking Bear
+Kidd, Joseph Bartholomew
+Kiefer, Anselm
+Kienerk, Giorgio
+Kienholz, Edward
+Kienholz, Nancy Reddin
+Kienzer, Michael
+Kiitsu, Suzuki
+Kim, Guilin
+Kimball, Wayne
+King, Carl
+King, Charles Bird
+King, John Henry Yeend
+King, Philip
+King, Ronald
+King, Samuel
+King, William
+Kingman, Dong
+Kinkade, Thomas
+Kinley, Peter
+Kinnard, W.
+Kinoshita, Tomio
+Kinson, François-Joseph
+Kinstler, Everett Raymond
+Kipp, Lyman
+Kippell, Niclauss
+Kipping, Brian
+Kiprensky, Orest
+Kirberg, Otto Karl
+Kirchner, Ernst Ludwig
+Kirkeby, Per
+Kirkland, Vance
+Kirmse, Marguerite
+Kirsch, Dwight
+Kirsta, Georg
+Kiss, Sámuel
+Kissel, Eleonora
+Kitaj, R.B.
+Kitaoka, Fumio
+Kiti, Mwama
+Kiyomasu, Torii
+Kiyomitsu, Torii
+Kiyonaga
+Kiyonobu
+Kiyonobu II, Torii
+Kiyotsune, Torii
+Klebe, Gene
+Klee, Paul
+Kleemann, Ron
+Klein, Yves
+Kleinholz, Frank
+Kleitsch, Joseph
+Kleophrades Painter, The
+Klimt, Gustav
+Kline, Franz
+Klinger, Max
+Klumpke, Anna Elizabeth
+Klunder, Tim
+Klutsis, Gustav
+Knapton, George
+Knaths, Karl
+Knaub, Ray
+Knauber, Alma Jordan
+Kneale, Bryan
+Kneller, Sir Godfrey
+Knight, Dame Laura
+Knight, Daniel Ridgway
+Knight, John Baverstock
+Knight, John Prescott
+Knight, John William Buxton
+Knight, Joseph
+Knight, Louis Aston
+Knight, Susan
+Knoebel, Imi
+Knott, Henry
+Knowles, Dorothy Elsie
+Knowles, Farquhar McGillivray
+Knowling, Kathleen
+Knox, Susan Ricker
+Knüpfer, Nicolaus
+Kobell, Wilhelm von
+Købke, Christen
+Koch, John
+Koch, Joseph Anton
+Koehler, Robert
+Koekkoek, Barend Cornelius
+Koekkoek, Willem
+Koellin, Peter
+Koerbecke, Johann
+Koerner, Henry
+Koester, Alexander
+Kogler, Peter
+Kogvik, Charlie
+Kokei, Tsuruya
+Kokoschka, Oskar
+Kolbe, Georg
+Koller, Rudolf
+Kollwitz, Käthe
+Konchalovsky, Pyotr
+Koninck, Philips
+Konrad of Soest
+Koo Mei
+Koons, Jeff
+Kooyoo Peter
+Kopman, Benjamin
+Korin, Pavel
+Korling, Torkel
+Korovin, Konstantin
+Koryusai
+Kosaka, Gajin
+Kossoff, Leon
+Kostabi, Mark
+Kosuth, Joseph
+Kotaku, Hosoi
+Kotondo, Torii
+Kounellis, Jannis
+Kouwenbergh, Philip van
+Kowal, Dennis
+Kozina, Sándor
+Krafft, Johann Peter
+Kraft, Adam
+Kramskoy, Ivan Nikolaevich
+Krasner, Lee
+Krehbiel, Albert H.
+Kremer, Nicolaus
+Kretsch, Karl
+Krieghoff, Cornelius
+Krohg, Christian
+Kroll, Leon
+Krøyer, Peder Severin
+Krueger, David
+Kruger, Barbara
+Kruger, Franz
+Krumper, Hans
+Krylov, Nikifor
+Kuang Yaoding
+Kubin, Alfred
+Kubinyi, Kalman
+Kubota, Itchiku
+Kubovy, Jirí
+Kuehne, Max
+Kuemmel, Cornelia
+Kuhn, Bob
+Kühn, Justus Engelhardt
+Kuhn, Walt
+Kuhnert, Friedrich Wilhelm
+Kuindzhi, Arkhip Ivanovich
+Kuitca, Guillermo
+Kuk-kwang, Chun
+Kuliuksin, Nektarii
+Kulmbach, Hans Süss von
+Kunc, Karen
+Kunichika
+Kunihiro, Utagawa
+Kunikazu
+Kunimasa
+Kunimasu
+Kunisada, Utagawa
+Kuniyoshi, Utagawa
+Kuniyoshi, Yasuo
+Kunst, Pieter Cornelisz.
+Kupferman, Lawrence E.
+Kupferman, Moshe
+Kupka, Frantisek
+Kurosaki, Akira
+Kusama, Yayoi
+Kustodiev, Boris
+Kuytenbrouwer, Martinus Adrianus
+Kuznetsov, Nikolai Dmitrievich
+Kuznetsov, Pavel
+Kwan-sik, Byeon
+Kyle, Joseph
+Kyoung Ae Cho
+Kyung-ja, Chun
+La Cave, Peter
+La Croix de Marseille, Charles
+La Farge, John
+La Fosse, Charles de
+La Hyre, Laurent de
+La Thangue, Henry H.
+La Tour, Georges de
+La Tour, Maurice Quentin de
+Labaudt, Lucien
+Labille-Guiard, Adélaïde
+Laboureur, Jean-Émile
+Labruzzi, Carlo
+Lachaise, Gaston
+Lacombe, Georges
+Lacoste, Charles
+Lacour, Pierre
+Lacroix, Paul
+Ladbrooke, Robert
+Ladd, Daniel
+Laemmle, Cheryl
+Laer, Pieter van
+LaFargue, Paulus Constantijn
+Lafrensen, Niclas
+Lagerino, Stefano
+Lagrenee, Jean-Jacques
+Lagrenée, Louis Jean François
+Laguardia, Eloy Giménez
+Lai Shaoqi
+Lai Sung
+Laib, Conrad
+Laidlay, William James
+Laing, Gerald
+Laing, J.S.
+Lairesse, Gerard de
+Lalanne, Maxime
+Lalique, René
+Lam, Wilfredo
+Lamb, A.A.
+Lamb, Andrian
+Lamb, Henry
+Lambdin, James Reid
+Lambert, George
+Lambert, George W.
+Lambert, James
+Lamberti, Piero di Niccolo
+Lami, Eugène
+Lamm, Leonid
+LaMore, Chet
+Lamqua
+Lan Ying
+Lancaster, Rev. Richard Hume
+Lance, George
+Lancret, Nicolas
+Landacre, Paul Hambelton
+Landeck, Armin
+Landelle, Charles
+Landini, Taddeo
+Landis, John
+Landseer, Charles
+Landseer, Sir Edwin Henry
+Lane, Fitz Hugh
+Lane, Samuel
+Lane, Theodore
+Laneuville, Jean-Louis
+Lanfranco, Giovanni
+Lange, Dorothea
+Langendijk, Dirk
+Langetti, Giovan Battista
+Langhans, Karl Ferdinand
+Langlois, Jérôme-Martin
+Laning, Edward
+Lanino, Bernardino
+LaNoue, Terrence
+Lansil, Walter Franklin
+Lanteri, Edouard
+Lanyon, Ellen
+Lanyon, Peter
+Lapointe, Frank
+Laporte, George Henry
+Laporte, John
+Laprade, Pierre
+Larciani, Giovanni
+Lardera, Berto
+Largillière, Nicolas de
+Larionov, Mikhail
+Larkin, William
+Laroon the Younger, Marcellus
+Larson, Philip
+Larsson, Carl
+Larter, Richard
+Lasansky, Mauricio
+Laserstein, Lotte
+Lash, Jon
+Lassaw, Ibram
+Lassnig, Maria
+Last, First name
+Lastman, Pieter
+Laszlo, Philip Alexius de
+Latham, John
+Lathrop, Ida Pulis
+Laurana, Francesco
+Laurence, Samuel
+Laurencin, Marie
+Laurens, Henri
+Laurens, Jean-Paul
+Laurent, Ernest
+Laurent, J.
+Laurent, Jean Antoine
+Laurent, Robert
+Laurie, Robert
+Lautensack, Hans Sebald
+Lauvergne, Barthelemy
+Lavery, Sir John
+Lavier, Bertrand
+LaVigne II, Joseph
+Law, Alfred
+Lawranson, Thomas
+Lawrence, Jacob
+Lawrence, Sir Thomas
+Lawson, Ernest
+Lay, Ernest
+Lazo, Agustín
+Lazzell, Blanche
+Le Barbier, Jean-Jacques-François
+Le Bas, Edward
+Le Blon, Jakob Christof
+Le Brun, Charles
+Le Court, Giusto
+Le Fauconnier, Henri
+Le Gros I, Pierre
+Le Gros II, Pierre
+Le Lorrain, Louis-Joseph
+Le Lorrain, Robert
+Le Mire, Noël
+Le Moyne, François
+Le Nain, Antoine
+Le Nain, Louis
+Le Nain, Mathieu
+Le Prince, Jean-Baptiste
+Le Secq, Henri Jean-Louis
+Le Sidaner, Henri Eugene Augustin
+Le Sueur, Eustache
+Lea, Tom
+Leader, Benjamin Williams
+Leal, Fernando
+Léandre, Charles
+Lear, Edward
+Lebourg, Albert
+Lebrun, Rico
+Leck, Bart van der
+LeClear, Thomas
+Lederer, Johann Georg
+Leduc, Ozias
+Lee, Doris
+Lee, Frederick Richard
+Lee, John
+Leech, John
+Leeke, Ferdinand
+Leen, Nina
+Lee-Smith, Hughie
+Lefebvre, Jules-Joseph
+Lefévre, Robert-Jacques-François
+Lega, Sylvestro
+Légaré, Joseph
+Léger, Fernand
+Legros, Alphonse
+Leheutre, Gustave
+Lehmann, Arthur
+Lehmann, Henri
+Lehmann, Rolf
+Lehmbruck, Wilhelm
+Lehmden, Anton
+Leibl, Wilhelm
+Leigh, William R.
+Leighton, A.C.
+Leighton, Clare
+Leighton, Frederic, Lord
+Leighton, Nicholas Winfield Scott
+Leirner, Jac
+Leitch, William Leighton
+Leleu, Jean-François
+Leluja
+Lely, Sir Peter
+Lemaire, Jean
+Lemberger, Georg
+Lemieux, Annette
+Lemieux, Jean Paul
+Lemmen, Georges
+Lemmens, Théophile-Victor-Emile
+Lemoine, Jacques Antoine Marie
+Lemoine, Marie-Victoire
+Lemoyne II, Jean-Baptiste
+Lemoyne, Jean-Louis
+Lempicka, Tamara de
+Lenbach, Franz von
+Lenders, Emil W.
+Lenepveu, Jules-Eugène
+Leningrad Painter, The
+Lennox, Lord William Pitt
+Lens, Bernard
+Lenson, Michael
+Leochares
+Leonardo da Vinci
+Leoncillo, Leonardi
+Leoni, Leone
+Leoni, Ottavio
+Leoni, Pompeo
+Leonid
+Lepère, Auguste-Louis
+Lepicié, Michael Nicolas-Bernard
+Lépine, Stanislas
+Lerman, Leonid
+Lermond, Charles C.E.
+Lerolle, Henry
+Leslie, Alfred
+Leslie, Charles Robert
+Lessore, John
+Letendre, Rita
+Leth, Harald
+Lethière, Guillaume
+Leu the Elder, Hans
+Leutze, Emanuel Gottlieb
+Levi, Julian
+Levine, Jack
+Levine, Marilyn
+Levine, Sherrie
+Levinthal, David
+Levitan, Isaak Il'ich
+Levitskii, Dmitrii Grigorevich
+Levitt, Helen
+Lévy, Emile
+Levy, Joan
+Lévy-Dhurmer, Lucien
+Lewandowski, Edmund
+Lewis, Edmonia
+Lewis, George Robert
+Lewis, Jennie
+Lewis, John Frederick
+Lewis, Lucy M.
+Lewis, Martin
+Lewis, Maud
+Lewis, Norman
+Lewis, Professor Henry
+Lewis, Wyndham
+Lewitt, Sol
+Lexier, Micah
+Leyden, Lucas van
+Leys, Hendrick
+Leyster, Judith
+L'hermitte, Léon Augustin
+Lheureux, Louis-Ernest
+Lhote, André
+Li Fangying
+Li Hua
+Li Huayi
+Li Huixian
+Li Kan
+Li Keran
+Li Kuchan
+Li Pingfan
+Li Qi
+Li Wenxi
+Li Xiongcai
+Liang Zhihe
+Liao Lu
+Liberale da Verona
+Liberi, Pietro
+Liberman, Alexander
+Lichanotus, Indris
+Lichtenstein, Roy
+Licinio, Bernardino
+Lie, Jonas
+Liebermann, Max
+Liebling, Jerome
+Liefrinck, Cornelius
+Lievens, Jan
+Ligeti, Antal
+Ligozzi, Jacopo
+Liles, Catharine
+Liljefors, Bruno Andreas
+Lillio, Andrea
+Limbach, Russell
+Limbourg, Hermann
+Limbourg, Jean
+Limbourg, Paul
+Limosin, Léonard
+Lin Fengmian
+Lin Gang
+Lin Liang
+Lin Sanzhi
+Lin Yong
+Lin, Maya
+Linares, Don
+Linburg, Sue
+Linder, Ronald F.
+Lindner, Richard
+Lindquist, Mark
+Lindquist, Melvin
+Lingelbach, Johannes
+Linnell, John
+Linton, William
+Liotard, Jean-Étienne
+Lipchitz, Jacques
+Lippi, Filippino
+Lippi, Fra Filippo
+Lippi, Raffaele
+Lipscomb, CD
+Lira, Pedro
+Lismer, Arthur
+Liss, Johann
+Lissitzky, El
+Little, Ken
+Littlefield, William Horace
+Littleton, Harvey K.
+Liu Danzhai
+Liu Guosong
+Liu Jiyou
+Liu Kuiling
+Liu Shiru
+Liu Wenfu
+Liu Wenxi
+Liu Xian
+Liu Zijian
+Liverseege, Henry
+Livingston, Alex
+Lixars, S.C.
+Lizars, William Home
+Lobe, Robert
+Lochner, Stephan
+Lochrie, Elizabeth
+Locke Jr. of Norbury, William
+Locke, Charles Wheeler
+Locker, Edward Hawke
+Lockey, Rowland
+Lockhart, Sharon
+Logan, James
+Loggan, David
+Logsdail, William
+Lomahaftewa, Dan V.
+Lombard, Lambert
+Lombard, Warren P.
+Lombardo, Antonio
+Lombardo, Lodovico
+Lombardo, Pietro
+Lombardo, Tullio
+Long Tingba
+Long, Amelia
+Long, Charles
+Long, Edwin
+Long, McKendree Robbins
+Long, Richard
+Long, Sydney
+Long, Ted
+Longhi, Alessandro
+Longhi, Barbara
+Longhi, Pietro
+Longo, Robert
+Longstaff, John
+Lonsdale, James
+Lonsing, François-Louis
+Loo, Jean Baptiste van
+Loop, Leota Williams
+Lopez Garcia, Antonio
+Lopez Hernandez, Julio
+López y Portaña, Vicente
+Lopez, Bernardo
+Lopez, Carlos
+Lopez, George
+Lopez, George T.
+Lord, Caroline
+Lorenz, Richard
+Lorenzetti, Ambrogio
+Lorenzetti, Pietro
+Lorenzetti, Ugolino
+Lorenzi, Stoldo
+Lorenzo di Credi
+Lorenzo Monaco
+Lorenzo Veneziano
+Loth, Johann Carl
+Lotto, Lorenzo
+Lotz, Károly
+Lou, Liza
+Loudoun, Edith Maud Rawdon-Hastings, Countess of
+Lough, John Graham
+Louis de Clercq
+Louis, Hubert-Noël
+Louis, Morris
+Louis, Victor
+Love, Jim
+Lovell, Shaun
+Lovet-Lorski, Boris
+Low, Bertha Lea
+Lowe, Truman
+Lowinsky, Thomas
+Lowry, Keith
+Lowry, Laurence S.
+Lozowick, Louis
+Lu Fusheng
+Lu Hui
+Lu Shoukun
+Lu Xun
+Lu Yanshao
+Lu Zhi
+Luber, Patrick
+Luca di Tommè
+Lucas Villamil, Eugenio
+Lucas, David
+Lucas, John Seymour
+Lucchesi, Bruno
+Luce, Maximilien
+Lucero, Michael
+Luchian, Stefan
+Lucier, Mary
+Lucioni, Luigi
+Ludins, Ryah
+Luini, Bernardino
+Luks, George
+Lum, Ken
+Luminais, Evariste-Vital
+Lumis, Harriet Randall
+Lumsden, Ernest Stephen
+Luna, James
+Lundeberg, Helen
+Lundeen, George
+Lundstrøm, Vilhelm
+Lungren, Fernand Harvey
+Luo Gongliu
+Luo Zhongli
+Lüpertz, Markus
+Lurçat, Jean
+Lurie, Nan
+Luscomb, William Henry
+Luzzo, Giovanni
+Lyall, Laura Muntz
+Lydos
+Lyman, John Goodwin
+Lysippides Painter, The
+Lysippus
+Ma Yuan
+Maas the Younger, Johannes
+Mabe, Manabu
+Mabuse
+Macartney, Carlile Henry Hayes
+Mac'Avoy
+Maccallum, Andrew
+MacCameron, Robert Lee
+Macció, Rómulo
+Macdonald, Georgina
+MacDonald, J.E.H.
+MacDonald, J.W.G.
+MacDonald, Margaret
+Macdonald-Wright, Stanton
+MacDowell, Patrick
+Machiavelli, Zanobi
+MacIver, Loren
+MacKay
+Macke, August
+Mackennal, Bertram
+Mackenzie, Frederick
+Mackey, Beatrice Howie
+Mackie, Ray
+Mackintosh, Charles Rennie
+MacLaughlan, Donald Shaw
+Maclise, Daniel
+MacMonnies, Frederick W.
+MacMonnies, Mary Fairchild
+MacNair, Frances
+Macnair, Herbert
+MacNee, Colin
+MacNeil, Hermon Atkins
+Macomber, Mary
+MacPherson, Robert
+Macrae, Emma Fordyce
+MacRitchie, Lewis
+Maddelena Master
+Mader, Louis
+Maderno, Stefano
+Madrazo y Agudo, Jose De
+Madrazo y Garreta, Raimundo de
+Madrazo y Küntz, Federico de
+Maes, Nicolaes
+Maestosi, Francesco
+Maestro Pugliese-Abruzzese
+Maffei, Francesco
+Maganza, Alessandro
+Maggiotto, Domenico
+Magnasco, Alessandro
+Magner, Philippe
+Magritte, René
+Mahaffey, Merrill
+Mahdi, Muhammad
+Maher, Alice
+Mahon, Josephine
+Mahoney, Mike
+Mai Xianyang
+Maillol, Aristide
+Mainardi, Sebastiano
+Maine, Camillo
+Maineri, Francesco
+Mainolfi, Luigi
+Mair von Landshut
+Mais, Hilarie
+Maisch, Johann
+Maitani, Lorenzo
+Maitland, Paul
+Major, Ernest Lee
+Makart, Hans
+Makovsky, Konstantin Egorovich
+Makowski, Tadeusz
+Malbone, Edward Greene
+Malchair, John Baptist
+Maldonado, Alexander A.
+Maler zu Schwaz, Hans
+Malevich, Kasimir
+Malfatti, Anita
+Malinconico, Nicola
+Mallet, Jean-Baptiste
+Mallo, Maruja
+Malone, Robert R.
+Malouel, Jean
+Malpass, Michael
+Maltese, Francesco
+Maltwood, Katherine Emma
+Man Ray
+Mander, Karel van
+Mandijn, Jan
+Mandlebaum, Bill
+Manessier, Alfred
+Manet, Édouard
+Manfredi, Bartolomeo
+Mangold, Robert
+Mangold, Sylvia Plimack
+Mangos, Simone
+Manguin, Henri
+Manley, Thomas
+Mann, J.H.S.
+Mann, Sally
+Manship, Paul
+Manson, James Bolivar
+Mansueti, Giovanni
+Mantegazza, Antonio
+Mantegazza, Cristoforo
+Mantegna, Andrea
+MANUAL
+Manuel, Niklaus
+Man-young, Han
+Manzoni, Piero
+Manzù, Giacomo
+Manzuoli, Tommaso
+Mao Lizi (Zhang Zhunli)
+Maoye, Sheng
+Ma-Pe-Wi
+Mapplethorpe, Robert
+Maratta, Carlo
+Marc, Franz
+Marca-Relli, Conrad
+Marchesini, Alessandro
+Marchiori, Giovanni
+Marcillat, Guillaume de
+Marcks, Gerhard
+Marco d'Oggiono
+Marcoussis, Louis
+Marden, Brice
+Marées, Hans von
+Marescotti, Antonio
+Margaritone d'Arezzo
+Margolies, Samuel
+Mariani, Camillo
+Mariani, Carlo Maria
+Marie, Jane Golding
+Marieschi, Michele Giovanni
+Marilhat, Prosper
+Marillier, Clément Pierre
+Marin, Javier
+Marin, John
+Marinali, Orazio
+Marinari, Onorio
+Marinetti, Filippo Tommaso
+Marini, Marino
+Marioni, Dante
+Marioni, Joseph
+Maris, Jacob Henricus
+Maris, Matthijs
+Maris, Willem
+Marisaldi, Eva
+Marisol
+Mark, George Washington
+Mark, Mary Ellen
+Markham, Kyra
+Markow, Jack
+Marks, Henry Stacy
+Marlow, William
+Marmion, Simon
+Marmitta, Francesco
+Marochetti, Carlo
+Maron, Anton von
+Marquet, Albert
+Marquez de Velasco, Esteban
+Marsh, Reginald
+Marshall, Benjamin
+Marsingall, A.
+Marsy II, Gaspard
+Marsyas Painter, The
+Marta, Luigi
+Martens, Conrad
+Martens, Willem
+Martin, Agnes
+Martin, Charles
+Martin, David Stone
+Martin, Dennis
+Martin, Douglas
+Martin, Elias
+Martin, Henri
+Martin, Homer Dodge
+Martin, John
+Martin, Thomas Mower
+Martineau, Robert Braithwaite
+Martinek, Dwight
+Martinelli, Giovanni
+Martinez, Julian
+Martinez, María
+Martinez, Santana
+Martini, Arturo
+Martini, Simone
+Martino di Bartolomeo di Biago
+Martorell, Bernardo
+Maruyama Okyo
+Masaccio
+Masaji Yoshida
+Masanobu, Okumura
+Masayoshi, Kitao
+Mascherini, Marcello
+Masek, Vitezlav Karel
+Maso di Banco
+Masolino da Panicale
+Mason, Elaine
+Mason, George
+Mason, James
+Mason, Maud Mary
+Mason, Raymond
+Mason, Roy
+Masson, André
+Massou, Benoît
+Massys, Quentin
+Master A.C.
+Master A.G.
+Master B. of the Die
+Master Bertram
+Master E.S.
+Master F.V.B.
+Master I.K.
+Master Jacomo
+Master LCz
+Master M.S.
+Master M.Z.
+Master of 1419
+Master of Apollo and Daphne
+Master of Female Half-Lengths
+Master of Flora
+Master of Frankfurt
+Master of Heiligenkreuz
+Master of Hoogstraeten
+Master of Jánosrét
+Master of Mary of Burgundy
+Master of Pratovecchio
+Master of Saint Francis
+Master of Saint Gilles
+Master of Saint Gregory
+Master of Saint Veronica
+Master of San Francesco Bardi
+Master of San Jacopo a Mucciana
+Master of Santo Spirito
+Master of the Acts of Mercy
+Master of the Aix-en-Chapel Altarpiece
+Master of the Annunciation to the Shepherds
+Master of the Augsburg Visitation
+Master of the Avignon School
+Master of the Bardi Saint Francis
+Master of the Baroncelli Portraits
+Master of the Battle of Fornovo
+Master of the Berswordt Altar
+Master of the Candle
+Master of the Castello Nativity
+Master of the Coburg Roundels
+Master of the Codex of Saint George
+Master of the Cypresses
+Master of the David and Saint John Statuettes
+Master of the Dinteville Allegory
+Master of the Dominican Effigies
+Master of the Duke of Bedford
+Master of the Embroidered Foliage
+Master of the Fogg Pietà
+Master of the Franciscan Crucifixes
+Master of the Griselda Legend
+Master of the Holy Family
+Master of the Housebook
+Master of the Joseph Legend
+Master of the Karlsruhe Passion
+Master of the Khanenko Adoration
+Master of the Latour d'Auvergne Triptych
+Master of the Life of Saint John the Baptist
+Master of the Life of the Virgin
+Master of the Magdalen Legend
+Master of the Manna
+Master of the Marble Madonnas
+Master of the Mascoli Altar
+Master of the Middle-Rhine
+Master of the Morrison Triptych
+Master of the Osservanza
+Master of the Pfullendorf Altar
+Master of the Playing Cards
+Master of the Polling Panels
+Master of the Portraits of the Princes
+Master of the Prado's Adoration of the Magi
+Master of the Procession
+Master of the Rebel Angels
+Master of the Retablo of the Reyes Catolicos
+Master of the Rinuccini Chapel
+Master of the Saint Bartholomew Altarpiece
+Master of the Saint Catherine Legend
+Master of the Saint Lucy Legend
+Master of the Saint Ursula Legend
+Master of the Stötteritz Altar
+Master of the Tegernsee Passion
+Master of the Thuison Altarpiece
+Master of the Tibertine Sibyl
+Master of the View of Sainte Gudule
+Master of Virgo inter Virgines
+Master S.
+Masters of the Fontainebleau
+Masters, E.
+Mastroianni, Umberto
+Mastro-Valerio, Alessandro
+Matejko, Jan
+Matham, Jacob
+Mathews, Arthur Frank
+Matisse, Henri
+Matisse, Paul
+Matsubara, Naoko
+Matta, Roberto
+Matta-Clark, Gordon
+Matteis, Paolo de'
+Matteo da Gualdo
+Matteo di Giovanni
+Matteson, Tompkins Harrison
+Matthews, Marmaduke
+Mattiacci, Eliseo
+Mattioli, Carlo
+Mattis-Teutsch, Hans
+Matulka, Jan
+Maufra, Maxime
+Maulbertsch, Franz Anton
+Mauperché, Henri
+Maureau, Alphonse
+Maurer, Alfred Henry
+Mauve, Anton
+Maverick, Peter Rushton
+Max, Peter
+Maxence, Edgar
+Maxwell, Donald
+May, Phil
+Mayall, John Jabez Edwin
+Mayer, Frank Blackwell
+Mayer-Lamartinière, Marie-Françoise-Constance
+Mayhew, Frederick W.
+Mayno, Juan Bautista
+Mayr, Christian
+Mazo, Juan Bautista Martínez del
+Mazzacurati, Marino
+Mazzinghi, Pietro
+Mazzola Bedoli, Girolamo
+Mazzolino, Ludovico
+Mazzoni, Guido
+Mazzucconi, Marco
+Mazzuoli, Giuseppe
+McAvoy, Marilyn
+McBey, James
+McCarthy, Catherine
+McCarthy, Gail
+McCartney, Linda
+McCaslin, Jack
+McCloskey, William J.
+McCollum, Allan
+McCubbin, Frederick
+McDermott, Emma
+McEvoy, Ambrose
+McEwen, John
+McFarlane, Duncan
+McGee, Charles
+McIntosh, Harrison
+McKenzie, Robert Tait
+McKissick, Louise
+McLaughlin, John
+McLean, Richard
+McLean, T.W.
+McMaster, Gerald
+McMillan, Leo
+McMillen, Michael
+McNeil, George
+McNicoll, Helen
+McSheehy, Cornelia
+McTaggart, William
+McVeigh, Blanche
+Mead, Mary
+Mead, Ray
+Meadows, Bernard
+Meatyard, Ralph Eugene
+Meckenem, Israhel van
+Meegan, Tim
+Mehoffer, Józef
+Meidias Painter, The
+Meidner, Ludwig
+Meireles de Lima, Vítor
+Meissner, Leo J.
+Meissonier, Jean-Louis-Ernest
+Meistermann, Georg
+Meit, Conrad
+Melchers, Gari
+Meldrum, Max
+Meleager Painter, The
+Meléndez, Luis Egidio
+Mellan, Claude
+Mellery, Xavier
+Melli, Roberto
+Mellis, Margaret
+Melotti, Fausto
+Melozzo da Forlí
+Melrose, Andrew
+Meltsner, Paul
+Melville, Arthur
+Melzi, Francesco
+Memling, Hans
+Memmi, Lippo
+Menabuoi, Giusto de
+Méndez, Leopoldo
+Mendieta, Ana
+Mendoza, June
+Mene, Pierre-Jules
+Meneses Osorio, Francisco
+Mengin, Charles August
+Mengs, Anton Raphael
+Menière, Paul-Nicolas
+Mennie, Steve
+Menpes, Mortimer
+Menzel, Adolf von
+Menzler-Payton, Bertha
+Mercié, Marius-Jean-Antonin
+Mercier, Philip
+Meredith, John
+Merian, Maria Sibylla
+Mérida, Carlos
+Merivale, Francis
+Merle, Hugues
+Merritt, Anna Lea
+Meryon, Charles
+Merz, Mario
+Merz, Marisa
+Messager, Annette
+Messerschmidt, Franz Xaver
+Messina, Francesco
+Mestrovic, Ivan
+Met de Bles, Henry
+Metcalf, Willard Leroy
+Meteyard, Sidney
+Metson, Graham
+Metsu, Gabriel
+Metzinger, Jean
+Metzner, Barry 
+Meulen, Adam-Franz van der
+Meulen, Steven van der
+Meurer, Charles A.
+Meyer II, Hendrik de
+Meyer, James
+Meyer, Johann Georg
+Meyerowitz, Joel
+Meytens, Martin van
+Mi Fu
+Michaels, James
+Michallon, Achille Etna
+Michalov, Ann
+Michel, Alfonso
+Michel, Georges
+Michelangelo Buonarroti
+Michele da Verona
+Michele Pannonio
+Micheli, Parrasio
+Michelin, Jean
+Michelli, Andrea
+Michelmore, Richard
+Michelozzo di Bartolomeo
+Miel, Jan
+Mielatz, Charles Frederick William
+Mielich, Hans
+Miereveld, Michiel Jansz.
+Mieris the Elder, Frans van
+Mieris, Jan van
+Mieris, Willem van
+Mies van der Rohe, Ludwig
+Mignard, Nicolas
+Mignard, Pierre
+Mignon, Abraham
+Mignot, Louis Rémy
+Mijn, Frans van der
+Milani, Aureliano
+Milani, Umberto
+Millais, John Everett
+Millar, James
+Millares Sall, Manuel
+Miller, Alfred Jacob
+Miller, Dewey
+Miller, Fred E.
+Miller, George M.
+Miller, James
+Miller, Kenneth Hayes
+Miller, Melissa
+Miller, Richard
+Miller, Richard Emil
+Miller, Ross
+Miller, Sally
+Miller, Samuel
+Miller, William Rickarby
+Millet, Francis Davis
+Millet, Francisque
+Millet, Jean-François
+Millier, Arthur H.
+Millington, Professor
+Milne, David
+Minguzzi, Luciano
+Minne, George
+Mino da Fiesole
+Minor, Anne Rogers
+Minozzi, Flaminio Innocenzo
+Minton, John
+Mir, Joaquín
+Mirbel, Lizinka-Aimée-Zoé de
+Miró, Joan
+Mirola, Girolamo
+Miseroni, Ottavio
+Mitchell, Joan
+Mitchnick, Nancy
+Mitsunobu, Hasegawa
+Miyajima, Tatsuo
+Mocetto, Girolamo
+Mochi, Francesco
+Moderno
+Modersohn-Becker, Paula
+Modigliani, Amadeo
+Modotti, Tina
+Moeller, Louis Charles
+Mohalyi, Yolanda
+Moholy-Nagy, László
+Mohrmann, John Henry
+Moillon, Louisa
+Mola, Pier Francesco
+Moldvay, Albert
+Molenaer, Jan Miense
+Molinari, Guido
+Moll, Carl
+Molyn, Pieter de
+Molzahn, Johannes
+Momper II, Joos de
+Mompó, Manuel Hernández
+Monaldi, Paolo
+Monamy, Peter
+Mondrian, Piet
+Monet, Claude
+Monnington, Sir Thomas
+Monnot, Pierre Étienne
+Monnoyer, Jean-Baptiste
+Monro, Dr. Thomas
+Montagna, Bartolomeo
+Montañez, Juan Martinez
+Montardier
+Montenegro, Roberto
+Montgomerie, Stewart
+Monti, Francesco
+Monti, Gaetano
+Monticelli, Adolphe-Joseph-Thomas
+Montorsoli, Giovanni Angelo
+Montoya, Gustavo
+Monvoisin, Raymond
+Moody, Ronald
+Moon-seup, Shim
+Moore 1831-1895, Henry
+Moore, Albert Joseph
+Moore, Charles
+Moore, Henry
+Moore, T.
+Moore-Park, Carton
+Mooy, Jan
+Mopope, Stephen
+Moppett, Carroll
+Mor, Anthonis
+Mora, Francis Luis
+Moraldo, Paolo
+Morales, Luis de
+Moran, Edward
+Moran, Kate
+Moran, Thomas
+Morandi, Giorgio
+Mordecai, Joseph
+More, Jacob
+Moreau, Gustave
+Moreau, Jean-Michel
+Moreau, Louis Gabriel
+Moreau, Luc-Albert
+Moreelse, Paulus
+Morellet, François
+Moret, Henri
+Moretto da Brescia
+Morgan, Barbara
+Morgan, Georgia Weston
+Morgan, Leslie
+Morgan, William Evan Charles
+Mori Yoshitoshi
+Mori, Camilo
+Mori, Mariko
+Morimura, Yasumasa
+Morisot, Berthe
+Moriyama, Daido
+Morlaiter, Giovan Maria
+Morland, George
+Morland, Henry Robert
+Morley, Eugene
+Morley, Malcolm
+Morlotti, Ennio
+Moro, Liliana
+Moroles, Jesús Bautista
+Moroni, Giovanni Battista
+Moronobu, Hishikawa
+Morrice, James Wilson
+Morris, Charles
+Morris, George L.K.
+Morris, glassmaker William
+Morris, Philip Richard
+Morris, Robert
+Morris, Sir Cedric
+Morris, William
+Morris, Wright
+Morrison, George
+Morrisseau, Norval
+Morse, Samuel F.B.
+Mortensen, Richard
+Mortimer, John Hamilton
+Morton, Andrew
+Morton, Christina
+Moses, Ed
+Moses, Grandma
+Moses, Henry
+Mosnier, Jean-Laurent
+Mossa, Gustave Adolphe
+Mostaert, Jan
+Motherwell, Robert
+Motley, Archibald
+Mottet, Jeanie Gallup
+Mottez, Victor
+Moucheron, Isaac de
+Moulin, Hypolyte-Alex-Andre-Julien
+Mount, William Sidney
+Mowbray, H. Siddons
+Moynihan, Rodrigo
+Mu Xi
+Muccini, Marcello
+Mucha, Alphonse
+Mueller, Otto
+Muerarity, R. Bruce
+Mühl, Otto
+Mulier, Pieter
+Müller, Charles
+Müller, Fritz
+Muller, Jan H.
+Müller, William James
+Mullican, Matt
+Mulready, William
+Multscher, Hans
+Munakata, Shiko
+Munari, Cristoforo
+Munch, Edvard
+Munger, Gilbert
+Munkácsy, Mihály
+Munn, Paul Sandby
+Munnings, Sir Alfred James
+Muñoz Martinez, Lucio
+Muñoz, Juan
+Münter, Gabriele
+Muray, Nickolas
+Murch, Walter
+Murillo, Bartolomé Esteban
+Murphy, Catherine
+Murphy, Deborah
+Murphy, John Francis
+Murphy, John J.A.
+Murphy, Minnie Lois
+Murphy, Myles
+Murphy, Nelly Littlehale
+Murray, Albert K.
+Murray, Charles Fairfax
+Murray, Dr. John
+Murray, Elizabeth
+Murray, Robert
+Musgrave, George
+Musikiysky, Grigoriis
+Musscher, Michiel van
+Mussoff, Jody
+Muybridge, Eadweard
+Muziano, Girolamo
+Myers, Jerome
+Mytens the Elder, Daniel
+Nadar, Félix
+Nadelman, Elie
+Nagahide, Yûrakusai
+Nahl, Charles Christian
+Nakian, Reuben
+Naldini, Giovanni Battista
+Namingha, Dan
+Nampeyo
+Nanni di Banco
+Nanni di Bartolo
+Nanteuil, Célestin François
+Nanteuil, Robert
+Naples Painter, The
+Nardo di Cione
+Nardo, Mariotto di
+Narovec, G.
+Nash, David
+Nash, Frederick
+Nash, John
+Nash, Paul
+Nasmyth, Patrick
+Nason, Gertrude
+Nason, Thomas Willoughby
+Nast, Thomas
+Natkin, Robert
+Natoire, Charles Joseph
+Natt, Phoebe Davis
+Nattes, John Claude
+Nattier, Jean-Marc
+Nauman, Bruce
+Navez, François-Joseph
+Nay, Ernst Wilhelm
+Naylor, Marie J.
+Neagle, John
+Neale, John Preston
+Nebot, Balthazar
+Neeffs I, Peeter
+Neel, Alice
+Neel, David
+Neer, Aert van der
+Neer, Eglon Hendrick van der
+Neff, Bill
+Nègre, Charles
+Negri, Mario
+Nehlig, Victor
+Nelson, Eric
+Nerdrum, Odd
+Nerger, Ethel Pearce
+Neri di Bicci
+Neri, Manuel
+Neroccio
+Nesbitt, Lowell
+Nesfield, William Andrews
+Nesterov, Mikhail Vasil'evich
+Netscher, Caspar
+Netzer, Don
+Neufchatel, Nicolas
+Neumann, Gilbert F.
+Neuville, Alphonse-Marie-Adolphe de
+Nevelson, Louise
+Nevinson, Christopher Richard Wynne
+Nevitt, Richard Barrington
+Newdigate, Ann
+Newhall, Harriot
+Newman, Barnett
+Newman, John
+Newman, Richard
+Newns, Bill
+Newton, Ann Mary
+Newton, Gilbert Stuart
+Newton, Lilias Torrance
+Newton, Sir William
+Niccolò d'Angelo
+Niccolo Dell'Arca
+Niccolo di Buonaccorso
+Niccolò di Ser Sozzo Tegliacci
+Niccolò Fiorentino
+Nicholls, Burr
+Nicholls, Rhoda Holmes
+Nichols, Dale
+Nicholson, Ben
+Nicholson, Francis
+Nicholson, Mabel
+Nicholson, Sir William
+Nicholson, Thomas Henry
+Nicholson, Winifred
+Nick, George
+Nickel, Grace
+Niclaus of Haguenau
+Nicodemo da Guardiagrele
+Nicol, Erskine
+Nicola da Urbino
+Nicola di Maestro Antonio d'Ancona
+Nicolaus
+Nicoll, Marion
+Nicolò
+Nicolo da Bologna
+Nicolo de Bonis
+Nicosia, Nic
+Nielsen, Jais
+Nielsen, Kay
+Nilsson, Gladys
+Niobid Painter, The
+Nitsch, Hermann
+Nix, Darwin
+Nixon, Job
+Nixon, John
+Noda, Tetsuya
+Noel, Scott
+Nogari, Giuseppe
+Noguchi, Isamu
+Nolan, Sidney
+Noland, Cady
+Noland, Kenneth
+Nolde, Emil
+Nollekens, Joseph
+Nonell, Isidro
+Nooms, Reinier
+Noordt, Joan van
+Nordfeldt, Bror Julius Olsson
+Nordman, Maria
+North, F.E.
+Northcote, James
+Noseworthy, George
+Nourse, Elizabeth
+Novelli, Pietro Antonio
+Nunez de Villavicencio, Pedro
+Nunez del Valle, Pedro
+Nuñez, Guillermo
+Nutt, Jim
+Nuvaquirq, Mosesie
+Nuvolone, Carlo Francesco
+Nuyen, Wijnand
+Nuzi, Allegretto
+Oakley, Violet
+Óbidos, Josefa de
+O'Brien, John
+O'Brien, Lucius R.
+Ocampo, Isidoro
+Ochsner, Ernest
+Ochtervelt, Jacob
+Ochtman, Dorothy
+Ochtman, Mina Fonda
+O'Connor, James Arthur
+Odjig, Daphne
+Odom, Randy E.
+Oelschig, Augusta
+Offner, Elliot
+Ogata Korin
+O'Gorman, Juan
+O'Higgins, Pablo
+Ohr, George E.
+Ohtake, Tomie
+O'Keeffe, Georgia
+Oldenburg, Claes
+Oldermann
+Oldfield, Otis W.
+Olds, Elizabeth
+Oliveira, Nathan
+Oliver, Isaac
+Oliver, Madge
+Oliver, T. Clark
+Oliver, William
+Olowe of Ise
+Oltos
+Omaha Painter, The
+Onderdonk, Robert
+O'Neill, George Bernard
+Onofrij, Crescenzio
+Onofrio, Judy
+Onosato, Toshinobu
+Oonark, Jessie
+Oost the Elder, Jacob van
+Oostsanen, Jacob Cornelisz van
+Opalka, Roman
+Opazo Bernales, Rodolfo
+Opie, John
+Opie, Julian
+Opitz, Georg Emanuel
+Oppenheim, Dennis
+Oppenheim, Meret
+Oppenheim, Moritz Daniel
+Oppenheimer, J.
+Opstal, Gerard van
+Oram, W.
+Orazio De Ferrari
+Orcagna, Andrea di
+Orchardson, Sir William Quiller
+Orley, Bernaert van
+Orloff, Gregory
+Orozco Romero, Carlos
+Orozco, José Clemente
+Orpen, Sir William
+Orrente, Pedro
+Orsi, Lelio
+Orso
+Ortiz, Angel
+Ortiz, Francisco Pradilla
+Ortman, George
+Ortolano Ferrarese
+Ortuzar Worthington, Carlos
+Os, Pieter Gerardus van
+Osai
+Osbert, Alphonse
+Osborn, Emily Mary
+Osborn, William Evelyn
+Osborne, Malcolm
+Osborne, Michael
+Osborne, Walter Frederick
+Osgood, Charles
+Oshuitoq, Ningeeuga
+Osorio, Pepón
+Ossorio, Alfonso
+Ostade, Adriaen van
+Ostade, Isaack van
+Osthaus, Edmund Henry
+Osuitok, Ipeelee
+O'Sullivan, Timothy
+Oteiza Embil, Jorge de
+Otero, Paul
+Otterson, Joel
+Ottley, William Young
+Ouattara
+Oudry, Jean-Baptiste
+Ouizille, Charles
+Ouless, Walter William
+Oulton, Thérèse
+Oursler, Tony
+Outterbridge, John
+Ovens, Jürgen
+Overbeck, Johann Friedrich
+Owen, William
+Pablo de San Leocadio
+Pacecco de Rosa
+Pacher, Michael
+Pacino di Bonaguida
+Paelinck, Joseph
+Pagani, Gregorio
+Paganin, Giovanni
+Page, Edward A.
+Page, William
+Pai, John
+Paik, Nam June
+Pajou, Augustin
+Palacios, Francisco de
+Paladino, Mimmo
+Palazuelo, Pablo
+Palencia, Benjamín
+Palissy, Bernard
+Palladio, Andrea
+Palma Giovane
+Palma Vecchio
+Palmer, Alfred Herbert
+Palmer, Erastus Dow
+Palmer, Frances Flora Bond
+Palmer, Herbert S.
+Palmer, Samuel
+Palmezzano, Marco
+Pamphaios
+Pan Painter, The
+Pan Tianshou
+Pan Yuliang
+Panamarenko
+Pancetti, José
+Pancho V
+Pang Tao
+Pang Xunqin
+Pannini, Giovanni Paolo
+Panunzi, Benito
+Paolini, Giulio
+Paolo di Giovanni Fei
+Paolo Romano
+Paolo Veneziano
+Paolozzi, Eduardo
+Papageorge, Georgie
+Papéty, Dominique Louis
+Parenzano, Bernardino
+Paris, Matthew
+Parish, David
+Park, David
+Park, Linton
+Parker, Barry
+Parker, Lawton
+Parker, William A.
+Parks, Gordon
+Parler, Peter
+Parmigianino
+Parodi, Filippo
+Parr
+Parr, Mike
+Parris, Edmund Thomas
+Parrish, Maxfield
+Parrott, William
+Pars, William
+Parsons, Alfred
+Parsons, Charles
+Parsons, Paul
+Partridge, Nehemiah
+Partridge, Roi
+Pascali, Pino
+Paschke, Edward
+Pascin, Jules
+Pasinelli, Lorenzo
+Pasmore, Victor
+Pasquier, Pierre
+Passeri, Giuseppe
+Passerotti, Bartolomeo
+Patas, Charles Emmanuel
+Patel, Pierre
+Pater, Jean-Baptiste Joseph
+Patinir, Joachim
+Paton, Sir Joseph Noel
+Patrick, James McIntosh
+Pattein, Cesar
+Patten, George
+Patten, William
+Paudiss, Christopher
+Paul, Joseph
+Paulsen, Brian
+Paxson, Edgar S.
+Paxson, Ethel
+Paxton, William McGregor
+Payette, Jacques
+Payne, Edgar Alwin
+Payne, Elsie
+Payne, Henry Arthur
+Payne, Jon, CML
+Payne, William
+Peake, Robert
+Peale, Anna Claypoole
+Peale, Charles Willson
+Peale, Harriet Cany
+Peale, James
+Peale, Margaretta Angelica
+Peale, Mary
+Peale, Raphaelle
+Peale, Rembrandt
+Peale, Rubens
+Peale, Sarah Miriam
+Peale, Titian
+Pearce, Charles Sprague
+Pearce, Edward
+Pearce, Gary
+Pearlstein, Philip
+Pearson, Bruce
+Pearson, Marguerite Stuber
+Pearson, Mary Martha
+Pechstein, Max
+Pecht, August Friedrich
+Peck, Augustus H.
+Pedro de la Cuadra
+Pedro de Mena
+Peed, Michael
+Peel, Paul
+Peeters I, Bonaventura
+Peeters, Clara
+Pei, I.M.
+Pelham, Peter
+Pellan, Alfred
+Pellegrin, Honoré
+Pellegrini, Domenico
+Pellegrini, Giovanni Antonio
+Pelouse, Léon-Germain
+Pels, Marsha
+Pemberton, Sophie
+Peña, Tonita
+Penck, A.R.
+Pencz, Georg
+Pène du Bois, Guy
+Penn, Irving
+Pennell, Joseph
+Penni, Giovan Francesco
+Pennington, Bud
+Pennington, Harper
+Penone, Giuseppe
+Penrose, Sir Roland
+Pensionante del Saraceni
+Pepion, Ernie
+Pepper, Beverly
+Peracino, Lorenzo
+Percy, Lady Susan Elizabeth
+Pereda, Antonio de
+Perehudoff, William
+Pereira, I. Rice
+Peress, Gilles
+Perez, Augusto
+Perignon I, Alexis Nicolas
+Perino del Vaga
+Perlin, Rae
+Permoser, Balthasar
+Perraud, Philibert
+Perréal, Jean
+Perrin, Philippe
+Perronneau, Jean-Baptiste
+Perry, Clara Greenleaf
+Perry, Lilla Cabot
+Persico, Mario
+Perugini, Charles E.
+Perugino, Pietro
+Pesellino
+Pesne, Antoine
+Petel, Jörg
+Peterdi, Gabor
+Peterson, Jacob
+Peterson, Jane
+Peterson, Larry
+Pether, Abraham
+Pethick, Jerry
+Peto, John Frederick
+Petrascu, Gheorghe
+Pettenkofen, August Xaver Karl
+Petter, Franz Xaver
+Pettie, John
+Pettit, Carol
+Pettrich, Ferdinand
+Peyron, Pierre
+Pfaff, Judy
+Pfeiler, Maximilian
+Pforr, Franz
+Phiale Painter
+Phidias
+Phillip, John
+Phillips, Ammi
+Phillips, Gordon
+Phillips, Laura
+Phillips, Marjorie
+Phillips, Peter
+Phillips, Richard
+Phillips, Tom
+Phillips, Walter J.
+Philpot, Glyn
+Phrynos Painter, The
+Piazetta, Giovanni Batista
+Piazza, Callisto
+Picabia, Francis
+Picart, Bernard
+Picasso, Pablo
+Pickenoy, Nicolaes Eliasz.
+Pickersgill, Frederick Richard
+Pickersgill, Henry Hall
+Pickersgill, Henry William
+Pierino da Vinci
+Piero della Francesca
+Piero di Cosimo
+Pierre, Jean-Baptiste Marie
+Piet, Fernand
+Pietersz the Younger, Pieter
+Pietro da Cortona
+Pietro da Rho
+Pietro degli Ingannati
+Pietro di Giovanni d'Ambrogio
+Piette, Ludovic
+Pigalle, Jean-Baptiste
+Pignoni, Simone
+Pike, John
+Pillement, Jean Baptiste
+Pilo, Carl Gustaf
+Pilon, Germain
+Pils, Isidore
+Pinaigiers, Jean
+Pindell, Howardena
+Pine, Robert Edge
+Pine, Theodore E.
+Pineda, Jose
+Pinkney, Jerry
+Pinney, Eunice
+Pinturicchio
+Pintz, Johann Georg
+Piola, Domenico
+Piper, John
+Piper, Rose
+Pippin, Horace
+Piqtoukun, David Ruben
+Piranesi, Giovanni Battista
+Pisanello
+Pisani, Gianni
+Pisani, Vettor
+Pisano, Andrea
+Pisano, Giovanni
+Pisano, Nicola
+Pisano, Nino
+Pissarro, Camille
+Pissarro, Lucien
+Pistoletto, Michelangelo
+Pitsiulak, Lipa
+Pittman, Lari
+Pittoni, Giovanni Battista
+Piza, Arthur Luiz
+Pizzinato, Armando
+Place, Francis
+Plamondon, Antoine
+Plas, Pieter van der
+Platzer, Johann Georg
+Pleissner, Ogden
+Plepp, Joseph
+Pleydenwurff, Hans
+Pocci, Graf Franz Von
+Pocock, Isaac
+Pocock, Nicholas
+Poel, Egbert van der
+Poelenburgh, Cornelis van
+Poggini, Domenico
+Point, Armand
+Polack, Jan
+Polenov, Vasiliy
+Poliakoff, Serge
+Polidoro Lanzani
+Polk, Charles Peale
+Polke, Sigmar
+Pollaiolo, Antonio
+Pollaiolo, Piero
+Pollard Limner, The
+Pollard, James
+Pollard, Robert
+Pollock, Jackson
+Pollock, John
+Polos, Theodore C.
+Polygnotos
+Pommer, Julius J.
+Pomodoro, Giò
+Ponç, Joan
+Ponce de Leon y Cabello, Alfonso
+Pont, Charles Ernest
+Pontormo
+Poole, Abram
+Poons, Lawrence
+Pootoogook, Kananginak
+Pope Jr., Carl Robert
+Popova, Liubov
+Poppi, Il
+Porcellis, Jan
+Pordenone, Il
+Porta, Giacomo della
+Porta, Giuseppe
+Porta, Guglielmo della
+Portail, Jacques André
+Porter, Brian
+Porter, Charles
+Porter, Fairfield
+Porter, Sir Robert Ker
+Portinari, Candido
+Posada, José Guadalupe
+Post, Frans
+Pot, Hendrick Gerritsz.
+Potre, Le
+Potter, Beatrix
+Potter, Carter
+Potter, Frank Huddlestone
+Potter, Mary
+Potter, Mike
+Potter, Paulus
+Potthast, Edward Henry
+Pougny, Jean
+Pourbus the Elder, Frans
+Pourbus the Younger, Frans
+Pourbus, Pieter
+Pousette-Dart, Richard
+Poussin, Nicolas
+Powell, Joseph
+Powers, Asahel
+Powers, Hiram
+Powers, Marion
+Poyet, Jean
+Poynter, Sir Edward
+Pozzatti, Rudy
+Pozzi, Lucio
+Pozzo, Andrea
+Pradier, James
+Prado, Marina Nuñez del
+Prampolini, Enrico
+Pranghofer, Frank
+Pratt, Bela Lyon
+Pratt, Christopher
+Pratt, Frances
+Pratt, Mary
+Pratt, Matthew
+Praxiteles
+Predator
+Predis, Ambrogio de
+Prendergast, Charles
+Prendergast, Maurice
+Prentice, Levi Wells
+Preston, Jessie Goodwin
+Preston, Margaret
+Prestopino, Gregorio
+Preti, Mattia
+Price, Irene
+Prieur, Barthélémy
+Prikker, Johan Thorn
+Primaticcio, Francesco
+Prince, Richard
+Pringle, J.
+Pringle, John Quinton
+Prinsep, Valentine Cameron
+Prinsep, William
+Printz, Hank
+Prior, Scott
+Prior, William Matthew
+Procaccini Il Giovane, Ercole
+Procaccini, Giulio Cesare
+Procter, Dod
+Proctor, Alexander Phimister
+Properzia de Rossi
+Prout, Samuel
+Provost, Jan
+Prud'hon, Pierre-Paul
+Pruna, Pedro
+Pruszkowski, Witold
+Puccio di Simone
+Pucelle, Jean
+Pudlat, Pudlo
+Puelma, Hernán
+Puelz, Susan
+Puga, Antonio
+Puget, Pierre
+Puligo, Domenico
+Puryear, Martin
+Pusey, John
+Pushman, Hovsep
+Puthuff, Hanson D.
+Putnam, Jane
+Puvis de Chavannes, Pierre
+Puy, Jean
+Pyle, Aaron
+Pyle, Howard
+Pynacker, Adam
+Pynas, Jacob
+Pynas, Jan
+Pyne, William Henry
+Python
+Qi Baishi
+Qian Juntao
+Qian Songyan
+Qian Xuan
+Qianlong, Emperor
+Qipei, Gao
+Qiu Ti
+Qu Ding
+Quadal, Martin Ferdinand
+Quan Shanshi
+Quarenghi, Giacomo
+Quarton, Enguerrand
+Quast, Pieter Jansz
+Quellinus, Erasmus
+Quercia, Jacopo della
+Quesnel, François
+Quidor, John
+Quinn, Marc
+Quinn, Thomas
+Quinnuayuak, Lucy
+Raadal, Erik
+Raboy, Mac
+Rackham, Arthur
+Rae, Fiona
+Raeburn, Sir Henry
+Raetz, Markus
+Raffael, Joseph
+Raffaëlli, Jean-François
+Raffet, Denis Auguste Marie
+Ráfols Casamada, Albert
+Ragalzi, Sergio
+Raggi, Antonio
+Raimondi, Marcantonio
+Rain, Charles
+Rainer, Arnulf
+Raleigh, Charles S.
+Ralph, Benjamin
+Ralston, John
+Rambaldi, Carlo Antonio
+Ramenghi, Giovan Battista
+Ramírez de Arellano, Christóbal
+Ramos Martínez, Alfredo
+Ramos, Mel
+Ramsay, Allan
+Ramsay, Hugh
+Ramunno, Tony
+Randall, A.M.
+Randall-Page, Peter
+Randolph, Lynn M.
+Rangel, Ricardo
+Ranger, Henry Ward
+Rankin, Jerry
+Ranney, William Tylee
+Ranson, Paul
+Raoux, Jean
+Raphael
+Raphael Mafai, Antonietta
+Raphael, Joseph
+Raphael, Mary F.
+Raschen, Henry
+Ratgeb, Jörg
+Rathsack, Sterling
+Rattner, Abraham
+Rau, William Herman
+Rauschenberg, Robert
+Raveel, Roger
+Raven, John Samuel
+Ravilious, Eric
+Ray, Charles
+Read, David Charles
+Read, James B.
+Read, Thomas Buchanan
+Ream, Carducius P.
+Reardon, Tim
+Reaugh, Charles Franklin
+Rebecca, Biagio
+Rebillé, Nicolas
+Recco, Giuseppe
+Red Star, Kevin
+Redfield, Edward Willis
+Redgrave, Richard
+Redmond, Granville
+Redon, Odilon
+Redouté, Pierre Joseph
+Redpath
+Reeb, David
+Reed, David
+Reed, Robert
+Rees, Michael
+Refregier, Anton
+Register, John
+Regnault, Baron Jean Baptiste
+Regnault, Henri
+Regnier, Nicolas
+Rego, Paula
+Regoyos, Darío de
+Reichel, Hans
+Reichlich, Marx
+Reid, Bill
+Reid, George A.
+Reid, Janet
+Reid, John Robertson
+Reid, Robert
+Reiffel, Charles
+Reinagle, Philip
+Reinagle, Ramsay Richard
+Reindel, William George
+Reinders, Jim
+Reinhardt, Ad
+Reisman, Philip
+Rejlander, Oscar Gustave
+Rembrandt van Rijn
+Remington, Frederic
+Ren Xiong
+Ren Xun
+Ren Yi
+Reni, Guido
+Renieri, Niccolo
+Renoir, Pierre-Auguste
+Renouf, Edda
+Repin, Iliya
+Resler, George Earl
+Resmann, Francesco
+Restout, Jean
+Rethel, Alfred
+Rethel, Ponce Jacquiot
+Réti, István
+Revere, Paul
+Révoil, Pierre-Henri
+Reymerswaele, Marinus van
+Reymond, Pierre
+Reynard, Grant
+Reynolds Jr., Samuel William
+Reynolds, Alan
+Reynolds, Sir Joshua
+Reysschoot, Peter John Van
+Rhead, Louis John
+Rheam, Henry Maynell
+Ribalta, Francisco
+Ribalta, Jorge
+Ribera, Jusepe de
+Rible, Dave
+Ribot, Augustin Théodule
+Ricard, Louis-Gustave
+Ricci, Marco
+Ricci, Sebastiano
+Riccio, Il
+Rich, Alfred William
+Richards, Frances
+Richards, John Inigo
+Richards, William Trost
+Richardson I, Jonathan
+Richardson Jr., Thomas Miles
+Richardson, Sam
+Richardson, Steven
+Richardson, William
+Richier, Germaine
+Richmond, Agnes Millen
+Richmond, George
+Richmond, Sir William Blake
+Richter, Gerhard
+Richter, Giovanni
+Rickey, George
+Rico, Dan
+Rider, Arthur Grover
+Ridgway, Peter
+Riechardt, Richard
+Riedell, Don
+Riemenschneider, Tilman
+Riezio, Martino
+Rigaud, Hyacinthe
+Rigaud, John Francis
+Rigby, Elizabeth
+Riggs, Robert
+Righetti, Francesco
+Riis, Jacob
+Riley, Bridget
+Riley, John
+Rimmer, William
+Rindisbacher, Peter
+Rinehart, Frank
+Rinehart, William Henry
+Ring, L.A.
+Ring, Pieter de
+Ringgold, Faith
+Rinzy, John Henry de
+Riopelle, Jean Paul
+Rios, Miguel Angel
+Ripley, Aiden Lassell
+Rippon, Tom
+Rist, Pipilotti
+Ritchie, William B.
+Ritman, Louis
+Ritschel, William
+Rittermann, Philip Scholz
+Ritts, Herb
+Ritzos, Andreas
+Rivalz, Antoine
+Rive, Roberto
+Rivera Hernandez, Manuel
+Rivera, Diego
+Rivers, Larry
+Rivière, Briton
+Rixens, Jean André
+Rizzo, Antonio
+Robbia, Andrea della
+Robbia, Giovanni della
+Robbia, Girolamo della
+Robbia, Luca della
+Robbins, David
+Robbins, Ellen
+Robert, Hubert
+Robert, John
+Robert, Louis-Léopold
+Robert-Fleury, Joseph-Nicolas
+Roberto
+Roberts, David
+Roberts, Goodridge
+Roberts, Tom
+Roberts, William
+Robertson, Archibald
+Robertson, Christina
+Robertson, Sarah
+Robetta, Cristofano
+Robineau, Adelaide
+Robins, William Palmer
+Robinson, Ann
+Robinson, Charles
+Robinson, F. Cayley
+Robinson, J.C.
+Robinson, Leonard
+Robinson, Theodore
+Robinson, William
+Robson, George Fennel
+Robusti, Domenico
+Roccatagliata, Niccolò
+Roche, Pierre
+Roche-Rabell, Arnaldo
+Rochussen, Charles
+Rockenschaub, Gerwald
+Rockwell, Norman
+Rodchenko, Alexander
+Rodin, Auguste
+Rodríguez Lozano, Manuel
+Roebling, John
+Roebling, Washington
+Roelofs, Willem
+Roentgen, Abraham
+Roentgen, David
+Roerich, Nicholas
+Roesen, Severin
+Rogers, John
+Roghman, Roelant
+Rohlfs, Christian
+Rokotov, Fedor
+Roland, Philippe-Laurent
+Roldán, Luisa
+Rollins, Tim
+Romako, Anton
+Román Rojas, Samuel
+Romanelli, Romano
+Romanino, Girolamo
+Romano, Gian Cristoforo
+Rombouts, Gillis
+Rombouts, Salomon
+Rombouts, Théodore
+Romney, George
+Rondel, Frederick
+Roo, Roelof de
+Rooker, Michael Angelo
+Roos, Johan Heinrich
+Roos, Joseph
+Roos, Philipp Peter
+Roper, Richard
+Ropes Jr., George
+Rops, Félicien
+Roqueplan, Camille
+Roques, Joseph
+Rosa, Ercole
+Rosa, Salvator
+Rosai, Ottone
+Rosales, Eduardo
+Rosas, Rubén
+Rosati, James
+Rose, Guy
+Rose, Knut
+Rosenberg, Henry M.
+Rosenberg, Isaac
+Rosenberg, Louis Conrad
+Rosenblum, Richard
+Rosenquist, James
+Rosenthal, Ann Tevy
+Rosenthal, Doris
+Rosenthal, Tony
+Roshu, Fukae
+Roslin, Alexander
+Roslin, Le Chevalier
+Roslin, T'oros
+Ross, Sir William Charles
+Rossbach, Edward
+Rosselli, Cosimo
+Rosselli, Matteo
+Rossellino, Antonio
+Rossellino, Bernardo
+Rossetti, Dante Gabriel
+Rossiter, Thomas Prichard
+Rosso Fiorentino
+Rosso, Medardo
+Rosso, Mino
+Roszak, Theodore
+Rotari, Pietro
+Rotella, Mimmo
+Roth, Ernest David
+Rothenberg, Susan
+Rothenstein, Michael
+Rothenstein, Sir William
+Rothermel, Peter Frederick
+Rothko, Mark
+Rothschild, Gail
+Rothstein, Arthur
+Rottenhammer, Hans
+Rouault, Georges
+Roubiliac, Louis-François
+Rouget, Georges
+Rousseau, Henri
+Rousseau, Théodore
+Roussel, Ker Xavier
+Roussel, Théodore
+Rousselet, Gilles
+Roux, Ange-Joseph Antoine
+Roux, François Geoffroi
+Roux, François Joseph Frédéric
+Roux, Joseph
+Roux, Louis
+Roux, Mathieu Antoine
+Roux-Champion, Joseph Victor
+Rowan, Patrick
+Rowe, Sandra
+Rowlandson, Thomas
+Rowley, Reuben
+Royen, Willem Frederik van
+Rrap, Julie
+Rubens, Peter Paul
+Rubin, Reuven
+Rublev, Andrei
+Rude, François
+Rude, Olaf
+Ruelas, Julio
+Ruff, Thomas
+Rugendas I, Georg Philipp
+Rugendas, Juan Mauricio
+Ruisdael, Jacob van
+Ruiz, Antonio M.
+Rulfo, Juan
+Rummel, Jay
+Rumney, Ralph
+Rungius, Carl Clemens Moritz
+Rupert, Prince
+Ruscha, Ed
+Rusconi, Camillo
+Rusell, Edward J.
+Rush, Olive
+Rush, William
+Rushbury, Henry
+Ruskin, John
+Russell, Andrew
+Russell, Charles M.
+Russell, John
+Russell, Morgan
+Russo, Alexander
+Rustici, Giovanni Francesco
+Rutelli, Mario
+Ruthart, Carl Borromäus Andreas
+Ruysch, Rachel
+Ruysdael, Salomon van
+Ryan, Anne
+Ryckere, Bernhart de
+Rycroft Painter, The
+Ryder, Albert Pinkham
+Rydingsvard, Ursula von
+Rydzewski, William 
+Ryman, Robert
+Saar, Alison
+Saar, Betye
+Saar, Lezley
+Saarinen, Eero
+Sacchetti, Lorenzo
+Sacchi, Andrea
+Sachs, Lambert
+Sadeler I, Jan
+Sadeler II, Aegidius
+Sadler, Walter Dendy
+Saenredam, Jan
+Saenredam, Pieter Jansz.
+Safran, Bernard
+Saftleven the Younger, Herman
+Saftleven, Cornelis
+Sage, Kay
+Sager, Peter Winchell
+Said Abdullah of the Mayac
+Saila, Pauta
+Sailmaker, Isaac
+Saint Cecilia Master
+Saint-Andre, Simon Renard de
+Saint-Aubin, Augustin de
+Saint-Aubin, Charles Germain de
+Saint-Aubin, Gabriel Jacques de
+Saint-Gaudens, Augustus
+Saint-Jean, Simon
+Saint-Mémin, Charles-Balthazar-Julien Févret de
+Saint-Phalle, Niki de
+Saito, Kiyoshi
+Saitowitz, Stanley
+Sakai Hoichi
+Sakai Hoitsu
+Sala, George Augustus Henry
+Salathé, Friedrich
+Salle, David
+Sallee, Charles
+Salmon, Robert
+Salt, John
+Salter, William
+Salvadori, Remo
+Salvi, Nicola
+Salviati, Francesco
+Saly, Jacques-François-Joseph
+Samacchini, Orazio
+Samaras, Lucas
+Sample, Paul Starrett
+Sánchez Coello, Alonso
+Sánchez Cotán, Juan
+Sánchez Perez, Alberto
+Sanchez, Abel
+Sanchez, Pedro
+Sandby, Paul
+Sandby, Thomas
+Sander, August
+Sanders, Ann
+Sandler, Barbara
+Sandrart, Joachim von
+Sandys, Emma
+Sandys, Frederick
+Sangallo, Francesco da
+Sangallo, Giuliano da
+Sang-Hwa, Chung
+Sanmartino, Giuseppe
+Sano di Pietro
+Sanseverino, Lorenzo di Alessandro da
+Sansovino, Andrea
+Sansovino, Jacopo
+Sant, James
+Santacroce, Girolamo
+Santerre, Jean-Baptiste
+Santomaso, Giuseppe
+Santos Torroella, Angeles
+Sanyu
+Sapousek, Frank
+Saraceni, Carlo
+Sargent, Henry
+Sargent, John Singer
+Sarkisian, Paul
+Sarkisian, Sarkis
+Sartain, John
+Sartorius, John Nost
+Sasajima, Kihei
+Sassetta
+Sassoferrato
+Sassu, Aligi
+Saunders, Gary
+Saura Atares, Antonio
+Savage, Edward
+Savery, Roelandt
+Savoldo, Giovanni Girolamo
+Savrasov, Alexey
+Sawyer, Helen
+Saxe, Andres Marsal de
+Scanga, Italo
+Scarlett, Rolph
+Scarpitta, Salvatore
+Scarsellino
+Schad, Christian
+Schadow, Johann Gottfried
+Schaechter, Judith
+Schaefer, Carl
+Schalcken, Godfried
+Schamberg, Morton Livingston
+Schanker, Louis
+Schapiro, Miriam
+Schardt, Bernard P.
+Scharf, Kenny
+Scharff, Edwin
+Schäufelein, Hans Leonhard
+Schedoni, Bartolomeo
+Scheffer, Ary
+Scheiber, Hugó
+Schelfhout, Andreas
+Schenau, Johann Eleazar
+Scherer, Hermann
+Scherschel, Joseph J.
+Schiaffino, Francesco Maria
+Schiavone, Andrea
+Schiele, Egon
+Schindler, Emil Jakob
+Schinkel, Karl Friedrich
+Schlemmer, Oskar
+Schlüter, Andreas
+Schmidt, Julius
+Schmidt, Katherine
+Schmidt-Rottluff, Karl
+Schmutzer, Ferdinand
+Schnabel, Julian
+Schneider, Bernhard
+Schnorr von Carolsfeld, Julius
+Scholder, Fritz
+Scholderer, Otto
+Schonfeld, Johann Heinrich
+Schongauer, Martin
+Schonzeit, Ben
+Schoonhoven, Jan
+Schoonover, Frank E.
+Schooten, Floris van
+Schopin, Henri-Frédéric
+Schrader, Julius
+Schrag, Karl
+Schreyer, Adolf
+Schreyer, Lothar
+Schreyvogel, Charles
+Schro, Dietrich
+Schuchardt Jr., Ferdinand
+Schuffenecker, Claude-Emile
+Schulte, Larry
+Schultheiss, Karl Max
+Schultz, Daniel
+Schultze, Ray
+Schumacher, William
+Schuppen, Jacob van
+Schussele, Christian
+Schuster, Donna Norine
+Schutler, John
+Schuyler Limner, The
+Schwabe, Carlos
+Schwalbe, Ole
+Schwartz, Aubrey
+Schwartz, Lester O.
+Schweickhardt, Heinrich Wilhelm
+Schwieger, C. Robert
+Schwiering, Conrad
+Schwind, Moritz Von
+Schwitters, Kurt
+Scolari, Giuseppe
+Scorel, Jan van
+Scott, Anna Page
+Scott, Bill
+Scott, Bob
+Scott, Frances
+Scott, John
+Scott, Louise
+Scott, Mary
+Scott, Samuel
+Scott, William
+Scott, William Edouard
+Scudder, Janet
+Scully, Sean
+Seago, Edward
+Seavey, Julien R.
+Seba, Albert
+Sébah, J. Pascal
+Sebastián
+Sebastiano del Piombo
+Sebree, Charles
+Sebron, Hyppolyte Victor Valentin
+Se-choong, Kim
+Second Gouda Woodcutter
+Secrest, David
+Seddon, Thomas
+Segal, George
+Segall, Lasar
+Segantini, Giovanni
+Segerstrom, Rick
+Seghers, Daniel
+Seghers, Gérard
+Seghers, Hercules
+Segna di Buonaventure
+Seisenegger, Jacob
+Sekino, Jun'ichirô
+Sekka, Kamisaka
+Seligmann, Kurt
+Sellier, Charles
+Selous, Henry Courtney
+Semmes, Beverly
+Sempere Juan, Eusebio
+Senior, C.F.
+Séon, Alexandre
+Sergel, Johan Tobias
+Seriakov, Iakov Panfilovich
+Serov, Valentin Aleksandrovich
+Serpotta, Giacomo
+Serra, Richard
+Serrano Aguilar, Pablo
+Serrano, Andres
+Serres, Dominic
+Serres, John Thomas
+Serrur, Henri
+Sérusier, Paul
+Sesshu Toyo
+Sesson Shukei
+Setch, Terry
+Seurat, Georges
+Severini, Gino
+Severn, Joseph
+Severo da Ravenna
+Sevilla Portillo, Soledad
+Seyffert, Leopold
+Seyler, Julius
+Seymour, David
+Seymour, James
+Sha Qi
+Shadbolt, Jack
+Shahn, Abby
+Shahn, Ben
+Shamsuddin, Asaf Jahi
+Shannon, Sir James Jebusa
+Shannonhouse, Sandy
+Shapiro, David
+Shapiro, Joel
+Shapiro, Joseph
+Sharaf
+Sharp, Joseph Henry
+Sharpe, Charles Kirkpatrick
+Sharpe, Stephen
+Sharples, Rolinda
+Shaughnessy, Michael
+Shaw, John Byam
+Shaw, Joshua
+Shaw, Richard
+Shaw, Scott
+Shaw, Wilfred Byron
+Shay, Ed
+Shayer Sr., William
+Shchedrin, Sil'vestr Feodosievich
+Shea, Judith
+Shee, Sir Martin Archer
+Sheeler, Charles
+Sheets, Millard
+Sheffield, Isaac
+Shelby, Lila Norma
+Shelley, Samuel
+Shelton, Margaret
+Shen Jiawei
+Shen Yinmo
+Sheouak
+Shepard, Ernest
+Shepherd, Helen Parsons
+Shepherd, Reginald
+Shepler, Dwight
+Sheridan, Mary
+Sherlock, William P.
+Sherman Limner, The
+Sherman, Cindy
+Sherr, Ron
+Shi Dawei
+Shi Lu
+Shie, Susan
+Shields, Alan
+Shields, Francis B.
+Shigemasa
+Shigenaga, Nishimura
+Shigenobu II, Yanagawa
+Shikibu Terutada
+Shima, Tamami
+Shimomura, Roger
+Shinagawa, Takumi
+Shinn, Everett
+Shinohara, Ushio
+Shishkin, Ivan
+Shitao
+Shôkôsai, Hanbei
+Short, Sir Frank
+Shoson, Ohara
+Shrady, Henry Merwin
+Shu Chuanxi
+Shuebrook, Ron
+Shûhô, Yamakawa
+Shulz, Alberta Rehm
+Shuncho
+Shun'ei, Katsukawa
+Shunsen, Katsukawa
+Shunsen, Natori
+Shunso, Katsukawa
+Shunzan, Katsukawa
+Shute, Nell Choate
+Siberechts, Jan
+Sickert, Bernard
+Sickert, Walter Richard
+Siddal, Elizabeth Eleanor
+Siemiradzki, Henryk
+Sierra, Paul
+Sieverding, Katharina
+Signac, Paul
+Signer, Roman
+Signorelli, Luca
+Sikander, Shahzia
+Silo, Adam
+Siloé, Diego de
+Siloe, Gil de
+Silva, Francis A.
+Silva, Guillermo
+Silver, Jonathan
+Silvestre the Younger, Israel
+Silvestro Dell'Acquila
+Silvy, Camille-Léon-Louis
+Simberg, Hugo
+Simon, T. Frantisek
+Simonds, Charles
+Simone dei Crocifissi
+Simonini, Francesco
+Simpson, Buster
+Simpson, John
+Simpson, Lorna
+Sims, Karl
+Sims, L.W. "Rocky"
+Simun, Konstantin
+Singer, Clyde
+Singer, Michael
+Singleton, Henry
+Sintenis, Renée
+Sint-Jans, Geertgen Tot
+Siqueiros, David Alfaro
+Sirani, Elisabetta
+Sironi, Mario
+Siskind, Aaron
+Sisley, Alfred
+Sisyphus Painter, The
+Sittow, Michel
+Sivuraq, Thomas
+Skeaf, D.
+Skelton, Jonathan
+Skerbisch, Hartmut
+Skillet, Stephan D.
+Skinner, Clara
+Skippe, John
+Skoglund, Sandy
+Skynner, Thomas
+Slaughter, Stephen
+Sleter, Francesco
+Slevogt, Max
+Slingelandt, Pieter Cornelisz. van
+Sloan, Helen Farr
+Sloan, Jeanette Pasin
+Sloan, John
+Sloan, Junius R.
+Sloan, Marianna
+Slodtz, Michelangelo
+Slott-Møller, Harald
+Slowinski, Ronald
+Sluijters, Jan
+Slusser, Jean Paul
+Sluter, Claus
+Smallwood, William Frome
+Smart, John
+Smartly, Henry
+Smibert, John
+Smidth, Hans
+Smillie, George Henry
+Smirke, Robert
+Smith III, Lee N.
+Smith, Alexis
+Smith, Alfred
+Smith, Allen
+Smith, Dana
+Smith, David
+Smith, Debbie
+Smith, Edith Agnes
+Smith, Grace Cossington
+Smith, Jack
+Smith, Jaune Quick-To-See
+Smith, Jessie Willcox
+Smith, John Christopher
+Smith, John Raphael
+Smith, John Thomas
+Smith, John 'Warwick'
+Smith, Joseph B.
+Smith, Kiki
+Smith, Leon Polk
+Smith, Lewis
+Smith, Marion C.
+Smith, Oliver Phelps
+Smith, Phebe A.
+Smith, Rick
+Smith, Royall Brewster
+Smith, Sir Matthew
+Smith, Thomas
+Smith, Tony
+Smith, Tucker
+Smith, W. Eugene
+Smith, Walter Granville
+Smithers, Collier
+Smithson, Robert
+Smits, Jacob
+Smythe, Lionel Percy
+Snow, Michael
+Snowden, Gilda
+Snyder, Amanda
+Snyder, Dean
+Snyders, Frans
+Soane, Sir John
+Sodoma, Il
+Soest, Gerard
+Sogliani, Giovanni Antonio
+Sohlberg, Harald
+Solana, José Gutiérrez
+Solari, Cristoforo
+Solario, Andrea
+Solaro, Gentine
+Soldani, Massimiliano
+Soldati, Atanasio
+Soldner, Paul
+Soleri, Paolo
+Solimena, Francesco
+Solis, Virgil
+Solomon, Abraham
+Solomon, Rebecca
+Solomon, Simeon
+Solomon, Solomon Joseph
+Somers, Fred
+Somerscales, Thomas J.
+Sommer, Frederick
+Sommer, Giorgio
+Somogyi, Dániel
+Somov, Konstantin
+Søndergaard, Jens
+Song Wenzhi
+Sonnier, Keith
+Sonntag, William Louis
+Sons, Giovanni
+Soreau, Isaac
+Sørensen, Arne Haugen
+Sorgh, Hendrik Martensz
+Soriano, Juan
+Sorolla y Bastida, Joaquin
+Soseki
+Sosen, Mori
+Soto, Jesús-Rafael
+Souch, John
+Soulages, Pierre
+Southall, Joseph Edward
+Soutine, Chaim
+Soyer, Isaac
+Soyer, Moses
+Soyer, Raphael
+Spadini, Armando
+Spaeth, Marie Haughton
+Spagna, Lo
+Spalletti, Ettore
+Sparagana, John
+Spaulding, Freda
+Spear, Ruskin
+Speckaert, Hans
+Spence, Thomas Ralph
+Spencer, Frederick R.
+Spencer, Gilbert
+Spencer, Joseph
+Spencer, Lady
+Spencer, Lilly Martin
+Spencer, Niles
+Spencer, Stanley
+Spencer, Thomas
+Spengler, Jeronimus
+Sperandio, Savelli
+Spero, Nancy
+Spiegel, Doris
+Spilberg, Johann
+Spilliaert, Léon
+Spin, Jacob
+Spinelli, Parri
+Spinello Aretino
+Spinosa, Domenico
+Spitzweg, Carl
+Spoerri, Daniel
+Spoilum
+Spolverini, Ilario
+Sporring, Ole
+Spranger, Bartholomeus
+Springer, Cornelis
+Spruance, Benton Murdoch
+Spybuck, Ernest
+Squires, Gerald
+Stadler, Joseph Constantin
+Stadtbäumer, Pia
+Stahlecker, Karen
+Stamos, Theodoros
+Stanczak, Julian
+Stanfield, Clarkson Frederick
+Stanhope, John Roddam Spencer
+Stankiewicz, Richard
+Stanlaws, Penrhyn
+Stanley, Abram Ross
+Stanley, Jane C.
+Stanley, John Mix
+Stanzione, Massimo
+Stark, James
+Stark, Otto
+Stati, Cristoforo
+Stautberg, Ann
+Staveren, Jan Adriaensz. van
+Stead, Gary
+Steadman, Ralph
+Stearns, Junius Brutus
+Stearns, William
+Steck, Paul
+Steele, Ben
+Steele, Frederic Dorr
+Steele, Theodore Clement
+Steen, Erling
+Steen, Jan
+Steenwijck, Harmen
+Steenwyck the Younger, Hendrik van
+Steer, Philip Wilson
+Stefano da Verona
+Stefano della Bella
+Stefano di Zevio
+Steffen, Bernard J.
+Steichen, Edward J.
+Steinbach, Haim
+Steinberg, Saul
+Steinbruck, Edouard
+Steiner, John
+Steinlen, Théophile Alexandre
+Steir, Pat
+STELARC
+Stella, Frank
+Stella, Jacques de
+Stella, Joseph
+Stephens, Frederic George
+Stephens, Thomas Edgar
+Stephenson, John Cecil
+Stephenson, Peter
+Sternberg, Harry
+Sterne, Maurice
+Sterner, Albert Edward
+Steth, Raymond
+Stettheimer, Florine
+Stettner, Louis
+Stevens 1817-1875, Alfred
+Stevens 1823-1906, Alfred
+Stevens, Ruth Tunander
+Steward, Joseph
+Stewardson, Thomas
+Stewart, Albert
+Stewart, David
+Stewart, John P.
+Stewart, Julius L.
+Stieglitz, Alfred
+Stieler, Joseph
+Still, Clyfford
+Stillman, Marie Spartali
+Stillman-Myers, Joyce
+Stock, Andries
+Stock, Joseph Whiting
+Stockt, Vrancke van der
+Stockton, Bill
+Stodart, Edward William
+Stokes 1854-1935, Adrian
+Stokes 1902-1972, Adrian
+Stokes, Marianne
+Stoll, Leopold von
+Stolzl, Gunta
+Stomer, Matthias
+Stone, Anne Belle
+Stone, Elinore
+Stone, Marcus
+Stone, Nicholas
+Stone, Richard
+Stoop, Dirck
+Storck, Abraham
+Storck, Jacob
+Storrs, Frances Hudson
+Storrs, John
+Story, George H.
+Story, Julian
+Story, William Wetmore
+Stoss, Veit
+Stothard, Thomas
+Stott, Edward
+Stott, William
+Stouf, Jean-Baptiste
+Stoumen, Lou
+Stout, Renée
+Stouter, D.G.
+Straet, Jan van der
+Strand, Paul
+Strang, William
+Stratton, Mary Chase
+Straub, Philippe Jakob
+Street, Robert
+Streeton, Arthur
+Streuli, Beat
+Strigel, Bernhard
+Stromeyer, David
+Strong, Elizabeth
+Strong-Cuevas
+Strother, David Hunter
+Strozzi, Bernardo
+Strub the Younger, Peter
+Struck, Hermann
+Strudwick, John Melhuish
+Struss, Ethel
+Struth, Thomas
+Strutt, Arthur John
+Stuart, Gilbert
+Stuart, Jane
+Stuart, Michelle
+Stuart, Signe
+Stubbins, Kyle
+Stubbs, George
+Stuber, Nikolaus Gottfried
+Stuck, Franz von
+Stuempfig, Walter
+Sturtevant, Helena
+Su Hanchen
+Subleyras, Pierre
+Sueharu, Fukami
+Sugimoto, Hiroshi
+Suio, Tamura
+Sukenobu
+Sukola, Jason
+Sukwon, Park
+Suleiman, Master
+Sullivan, Louis
+Sullivan, Marty
+Sully, Thomas
+Sully, Thomas Wilcocks
+Sultan Muhammad
+Sultan, Donald
+Sun Zixi
+Sunderland, Thomas
+Sunqua
+Surls, James
+Susini, Antonio
+Susini, Gianfrancesco
+Sustermans, Justus
+Sutcliffe, Frank
+Sutherland, Elizabeth Leveson-Gower, Countess of
+Sutherland, Graham
+Sutton, David
+Suvée, Joseph-Benoît
+Svendsen, Bjarke Regn
+Svennson, Carsten
+Swan, John Macallan
+Swan, Margaret
+Swanevelt, Herman van
+Sweerts, Michiel
+Swendson, Trygve
+Swentzell, Roxanne
+Swing Painter, The
+Swynnerton, Annie Louise
+Syleus Painter, The
+Symonds, William Robert
+Symons, George Gardner
+Syriskos
+Székely, Bertalan
+Szilard, Vic
+Szilasi, Gabor
+Taaffe, Philip
+Tacca, Pietro
+Tack, Augustus Vincent
+Taddeo di Bartolo
+Tafoya, Margaret
+Tailfeathers, Gerald
+Taillasson, Jean-Joseph
+Tait, Agnes
+Takaezu, Toshiko
+Takahashi, Rikio
+Talbot, Tom
+Talbot, William Henry Fox
+Tal-Coat, Pierre
+Talirunili, Joe
+Talpino, Enea
+Tamayo, Rufino
+Tamotzu, Chuzo
+Tanabe, Takao
+Tang Muli
+Tang Yihe
+Tang Yin
+Tang Yingwei
+Tanguy, Yves
+Tanner, Benjamin
+Tanner, Henry Ossawa
+Tanner, J.G.
+Tanning, Dorothea
+Tansey, Mark
+Tanzio da Varallo
+T'ao Ch'eng
+Tao Yuanqing
+Tàpies, Antoni
+Tapies, Modest
+Taraval, Hughes
+Taraval, Louis Gustave
+Tarbell, Edmund Charles
+Tassaert, Jean-Pierre-Antoine
+Tassaert, Philippe Joseph
+Tatafiore, Guido
+Taunay, Nicolas-Antoine
+Tavernari, Vittorio
+Taverner, William
+Tavernier, Jules
+Tawaraya Sotatsu
+Tayler, Albert Chevallier
+Taylor, Anna Heyward
+Taylor, John W.
+Taylor, Prentiss
+Taylor, Richard
+Taylor, Wes
+Taylor-Lindoe, Carroll
+Tchelitchew, Pavel
+Teerline, Levina
+Teichert, Minerva
+Teixeira de Mattos, Joseph
+Tempel, Abraham van den
+Templeton, Robert
+Tenerani, Pietro
+Teng Hiok Chiu
+Tengnagel, Jan
+Teniers the Younger, David
+Tenniel, Sir John
+Tenyu Shokei
+Terborch, Gerard
+Terbrugghen, Hendrick
+Terrell, Elizabeth
+Tesi, Mauro Antonio
+Testa, Pietro
+Teupken Sr., D.A.
+Than, Mór
+Thayer, Abbott Handerson
+Theed, William
+Théodon, Jean Baptiste
+Theophanes the Greek
+Therbusch, Anna Dorothea
+Therien, Robert
+Theus, Jeremiah
+Thiebaud, Wayne
+Thiele II, Johann Friedrich Alexander
+Thielen, Jan Philips van
+Thieme, Anthony
+Thierry, Jean
+Thiessen, Leonard
+Thomas, Alma
+Thomas, James Havard
+Thompson, Benjamin
+Thompson, Bob
+Thompson, Richard Earl
+Thompson, Wilfred
+Thompson, Wordsworth
+Thomson, Alfred Reginald
+Thomson, Rev. John
+Thomson, Tom
+Thon, William
+Thornhill, Sir James
+Thornycroft, Sir Hamo
+Thorvaldsen, Bertel
+Thrash, Dox
+Thulden, Theodoor van
+Tian Shiguang
+Tiarini, Alessandro
+Tibaldi, Pellegrino
+Tibbetts, Gary
+Tice, George
+Tien Chi
+Tiepolo, Giovanni Battista
+Tiepolo, Giovanni Domenico
+Tiffany, Louis Comfort
+Tiisala, Eeva
+Tillemans, Peter
+Tillers, Imants
+Tilson, Joe
+Timchak, Gary
+Timmann, Bill
+Tinelli, Tiberio
+Ting, Walasse
+Tingqua
+Tinguely, Jean
+Tino da Camaino
+Tinqua
+Tintoretto
+Tironi, Francesco
+Tischbein, Johann Heinrich Wilhelm
+Tischbein, Johann-Friedrich-August
+Tissot, James
+Titian
+Title, Christian
+Tobey, Mark
+Tocqué, Louis
+Todd, James
+Todd, Michael
+Toderi, Grazia
+Toeput, Lodewyk
+Togores i Llach, José de
+Toikka, Oiva
+Toledo, Francisco
+Tomea, Fiorenzo
+Tomkins, William
+Tommaso Cazzaniga
+Tomoyuki, Shokyusai
+Tongeren, Herk Van
+Tonnancour, Jacques G. de
+Tooker, George
+Tookoome, Simon
+Toole, John
+Tooley Jr., James
+Toorop, Charley
+Toorop, Jan
+Topchevsky, Morris
+Topolski, Feliks
+Torbert, Stephanie
+Torlakson, James
+Toroni, Niele
+Torrens, Bernardo
+Torres-García, Joaquín
+Torretti, Giuseppe
+Torrey, Hiram Dwight
+Torrigiani, Sebastiano
+Torrigiano, Pietro
+Tosa, Mitsuyoshi
+Tosani, Patrick
+Toscani, Giovanni
+Toshusai Sharaku
+Tosini, Michele
+Toulouse-Lautrec, Henri de
+Tournier, Nicolas
+Tousignant, Claude
+Toutant, Wally
+Town, Harold
+Towne, Francis
+Toyoharu, Utagawa
+Toyokuni
+Toyokuni II, Utagawa
+Toyomasa, Naito
+Traini, Francesco
+Traver, Marion Gray
+Traylor, Bill
+Treat, Henry
+Tregor, Nison
+Treiman, Joyce
+Tresham, Henry
+Trevelyan, Julian
+Trevino, Jesse
+Trevisani, Francesco
+Tribolo, Niccolo
+Trinquesse, Louis Rolland
+Triqueti, Henri de
+Tristán de Escamilla, Luis
+Trockel, Rosemarie
+Trombadori, Francesco
+Troostwijk, Wouter Johannes van
+Tropinin, Vasilii Andreevich
+Trouillebert, Paul Desiré
+Trower, Walter John
+Troy, François de
+Troy, Jean-François de
+Troyon, Constant
+Trumbull, John
+Tryon, Dwight W.
+Tsihnahjinnie, Hulleah
+Tsireh, Awa
+Tsukimaro, Kitagawa
+Tu, Baixiong
+Tuby I, Jean-Baptiste
+Tuchfarber, Frank
+Tucker, Allen
+Tucker, William
+Tuckerman, Jane
+Tudgay, Frederik
+Tudgay, John
+Tudlik
+Tudot, Edmond
+Tully, Sydney Strickland
+Tunnicliffe, Charles Frederick
+Tunnillie, Oviloo
+Tura, Cosmè
+Turchi, Alessandro
+Turnbull, James
+Turnbull, William
+Turner, Charles
+Turner, Daniel
+Turner, Helen M.
+Turner, Joseph Mallord William
+Turner, Robin
+Turner, W.
+Turpin de Crissé, Henry Roland Lancelot
+Turpin de Crissé, Lancelot-Théodore
+Turrell, James
+Turton, M.
+Tuxen, Laurits
+Twachtman, John Henry
+Twitty, James
+Twombly, Cy
+Tworkov, Jack
+Tyler, Brad
+Tyler, James Gale
+Uccello, Paolo
+Uc-chin, Chang
+Uchida, Bart
+Udaltsova, Nadezhda Andreevna
+Udell, Janice
+Uden, Lucas van
+Ufer, Walter
+Ugo Da Carpi
+Ugolino da Siena
+Uhde, Fritz Karl Hermann von
+Uhlmann, Hans
+Ukeles, Mierle Laderman
+Ukita Ikkei
+Ullberg, Kent
+Ullulaq, Judas
+Ulmann, Doris
+Underwood, Thomas Richard
+Underworld Painter, The
+Unkoku Togan
+Unold, Max
+Urushibara, Yoshijiro
+Ushakov, Simon
+Utamaro, Kitagawa
+Utkin, Ilya
+Utrillo, Maurice
+Uwins, Thomas
+Uyttenbroeck, Moses van
+Va, Barry Le
+Vaccaro, Andrea
+Vacher, Charles
+Vadder, Lodewijk de
+Vail, Eugene Lawrence
+Vaillant, Wallerant
+Valadon, Suzanne
+Valckenborch, Lucas van
+Valdambrino, Francesco di
+Valdés Leal, Juan de
+Valenciennes, Pierre-Henri de
+Valenzuela Llanos, Alberto
+Valet, Joan
+Vallejo, Boris
+Vallotton, Félix
+Valls Subira, Xavier
+Valtat, Louis
+Van Aken, Joseph
+Van Alstine, John
+Van Assen, Benedict Anthony
+van Beest, Albertus
+van Bruggen, Coosje
+Van Cleve, Corneille
+van de Velde III, Jan Jansz.
+van der Schardt, Johan Gregor
+Van Derzee, James
+Van Dyck, Sir Anthony
+van Gogh, Vincent
+van Heemskerk I, Egbert
+van Heemskerk III, Egbert
+Van Hoesen, Beth
+van Hove, Hubertus
+Van Laar, Tim
+Van Laer, Alexander Theobald
+van Loo, Louis-Michel
+Van Ness, Beatrice W.
+Van Somer, Paul
+van Spaendonck, Cornelis
+van Stry, Abraham
+Vanderbank, John
+Vanderlyn, John
+Vanloo, Carle
+Vanloo, Charles Amédée Philippe
+Vanni, Francesco
+Vanni, Lippo
+Vanvitelli, Luigi
+Vargas, Alberto
+Varian, Lester E.
+Varley, Cornelius
+Varley, F.H.
+Varley, John
+Varley, William Fleetwood
+Varnelis, Kazys
+Varo, Remedios
+Vasarely, Victor
+Vasari, Giorgio
+Vasco de la Zarza
+Vasnetsov, Viktor Mikhailovich
+Vassalletto, Pietro
+Vassallo, Antonio Maria
+Vautier, Ben
+Vázquez Díaz, Daniel
+Vebell, Edward
+Vecchia, Pietro della
+Vecchietta
+Vedder, Elihu
+Vedova, Emilio
+Veerendael, Nicolaes van
+Vela, Vincenzo
+Velarde, Pablita
+Velasco Belausteguigoitia, Rosario de
+Velasco, José María
+Velázquez, Diego
+Velde II, Jan van de
+Velde the Elder, Willem van de
+Velde the Younger, Willem van de
+Velde, Adriaen van de
+Velde, Esaias van de
+Venne, Adriaen Pietersz. van de
+Venusti, Marcello
+Verbeeck, Cornelis
+Verboeckhoven, Eugène
+Verbruggen, Hendrick Frans
+Verburg, JoAnn
+Vercruysse, Jan
+Verelst, Harman
+Verelst, Maria
+Verelst, Simon
+Verhaecht, Tobias
+Verhoef, Toon
+Verhulst, Rombout
+Verkade, Jan
+Verkolje, Jan
+Vermeer III, Jan
+Vermeer, Jan
+Vermeyen, Jan
+Verner, Elizabeth O'Neill
+Verner, Frederick A.
+Vernet, Carle
+Vernet, Claude-Joseph
+Vernet, Horace
+Veronese, Bonifacio
+Veronese, Paolo
+Verrocchio, Andrea del
+Verschuur, Wouterus
+Verspronck, Jan Cornelisz.
+Verster, Floris
+Vertue, George
+Vespignani, Renzo
+Viani, Alberto
+Vibert, Jehan Georges
+Vicente, Esteban
+Vickrey, Robert
+Victoria Marz, Salvador
+Victors, Jan
+Vien, Joseph Marie
+Viesulas, Romas
+Vigarny, Felipe
+Vigée-Lebrun, Marie Louise Élisabeth
+Vigeland, Gustav
+Vignaud, Jean
+Villa, Claudio
+Villabrille y Ron, Juan Alonso
+Villalba Florez, Darío
+Villers, Marie-Denise
+Villon, Jacques
+Vincent, François-André
+Vincenzo di Catena
+Vinckboons, David
+Vinne, Vincent Laurensz van der
+Vinton, Frederick Porter
+Viola, Bill
+Viola, Gian Battista
+Vischer the Elder, Peter
+Vischer the Younger, Peter
+Visconti, Eliseu
+Vishnyakov, Ivan
+Visscher, Claes Jansz.
+Vitale da Bologna
+Vittoria, Alessandro
+Vitullo, Sesostris
+Vivarini, Alvise
+Vivarini, Antonio
+Vivarini, Bartolomeo
+Vlaminck, Maurice de
+Vlieger, Simon de
+Vliet, Hendrik Cornelisz van der
+Voet, Ferdinand
+Vogel, Joseph
+Voille, Jean-Louis
+Volaire, Pierre-Jacques
+Volk, Douglas
+Voll, F. Usher De
+Vollmer, Adolf Friedrich
+Vollon, Antoine
+Volterra, Daniele da
+von Defregger, Franz
+von Herkomer, Sir Hubert
+Vonck, Jan
+Vondrous, Jan C.
+Vonnoh, Bessie Potter
+Vonnoh, Robert
+Vorsterman the Elder, Lucas
+Vos, Cornelis de
+Vos, Martin de
+Vos, Simon de
+Vosmaer, Daniel
+Voss, Paul
+Vouet, Aubin
+Vouet, Simon
+Voulkos, Peter
+Vrancx, Bastiaen
+Vranken, Dutch
+Vredeman de Vries, Hans
+Vrel, Jacobus
+Vrelant, Willem
+Vries, Abraham de
+Vries, Adriaen de
+Vroom, Cornelis
+Vroom, Hendrick Cornelisz.
+Vrubel, Mikhail
+Vuillard, Édouard
+Vuolvinio
+Wachtel, Elmer
+Wachtel, Marion Kavanaugh
+Waddell, Ted
+Waddell, Theodore J.
+Wadleigh, Pete
+Wadsworth, Edward
+Wages, Bob
+Wagguno
+Wagner, Otto
+Wainwright, John
+Waite, Emily Burling
+Wakelin, Roland
+Waldmüller, Ferdinand Georg
+Waldo, Samuel Lovett
+Waldorp, Antonie
+Wale, Samuel
+Wales, Kitty
+Walker, Anthony
+Walker, Douglas
+Walker, Frederick
+Walker, Kara
+Walker, William A.
+Walkley, Peter
+Walkowitz, Abraham
+Wall, Brian
+Wall, Jeff
+Wall, William Allen
+Wall, William Guy
+Wallace, Ian
+Wallace, J. Laurie
+Wallis, Henry
+Walter, Martha
+Walters, Miles
+Walters, Samuel
+Walton, Edward Arthur
+Walton, Henry
+Walton, John Whitehead
+Waltrous, Harry Wilson
+Wang Chunjie
+Wang Dongling
+Wang Geyi
+Wang Huaiqing
+Wang Hui
+Wang Jiqian (C.C. Wang)
+Wang Mengqi
+Wang Shenglie
+Wang Wen
+Wang Wuxie (Wucius Wong)
+Wang Xuetao
+Wang Yingchun
+Wang Yuangi
+Wang Yun
+Wang Zhen
+Wangersky, Barbara Pratt
+Wappers, Gustave
+Ward, Edward Matthew
+Ward, James
+Ward, John Quincy Adams
+Ward, Leslie
+Wardle, Arthur
+Warhol, Andy
+Warlow, Herbert Gordon
+Warner, Everett
+Warner, Olin Levi
+Warren, Henry
+Warsager, Hyman
+Warshawsky, Abraham G.
+Waser, Anna
+Washington, Elizabeth Fisher
+Washington, Timothy
+Watanabe Kazan
+Watanabe Shiko
+Watanabe, Sadao
+Waterhouse, John William
+Waterloo, Anthonie
+Waterlow, Sir Ernest Albert
+Waters, Herbert Ogden
+Waters, Susan C.
+Watkins, Carleton
+Watson, Homer
+Watt, Alison
+Watteau, Jean-Antoine
+Wattles, Virginia
+Watts, George Frederic
+Waugh, Frederick Judd
+Wauters, Emile
+Way, Thomas Robert
+Wearing, Gillian
+Weaver, Robert
+Weaver, Thomas
+Webb, James
+Webb, Todd
+Weber, Chris
+Weber, Idelle
+Weber, John Pitman
+Weber, Max
+Webster, Meg
+Webster, Thomas
+Weegee
+Weekes, Henry
+Weeks, James
+Weems, Carrie Mae
+Weenix II, Jan
+Weenix, Jan Baptist
+Weerts, Jean-Joseph
+Weggeland, Terry
+Wegman, William
+Weguelin, John Reinhard
+Wei Jingshan
+Wei Jiuding
+Weinberg, Emilie Sievert
+Weiner, Lawrence
+Weir, Julian Alden
+Weir, Robert W.
+Weirotter, Franz Edmund
+Weisbrod, Carl Wilhelm
+Weiss, David
+Weissenbruch, Jan
+Weissenbruch, Johan Hendrik
+Weissman, Barry
+Weisweiler, Adam
+Welch, Denton
+Weller, Paul
+Welliver, Neil
+Wells, Henry Tanworth
+Wells, Joanna Mary
+Wells, Lynton
+Welti, Albert
+Wen Bao
+Wen Lou
+Wen Zhengming
+Wen Zhenming
+Wenck, Ernst
+Wendel, Theodore
+Wendorf, Jim
+Wendt, William
+Wengenroth, Stow
+Wenzel von Olmutz
+Werff, Adriaen van der
+Werner, Bettina
+Wertheim, Gary
+Wertinger, Hans
+Wertmüller, Adolf-Ulrik
+Wessel, Bessie Hoover
+Wessel, Herman H.
+Wesselmann, Tom
+West, Benjamin
+West, Benjamin Franklin
+Westall, Richard
+Westmacott, James Sherwood
+Weston, Edward
+Wet, Jacob de
+Weyden, Rogier van der
+Weyer, Hermann
+Whale, Robert R.
+Wharncliffe, Lady
+Wheatley, Clara
+Wheatley, Francis
+Wheeler, Steve
+Wheelwright, Joseph
+Wheelwright, Roland
+Whetstone, Dan
+Whistler, James McNeill
+White 1773-1794, Charles
+White, Charles Wilbert
+White, Randy Lee
+White, Robert
+Whitehead, Frances
+Whiteley, Brett
+Whiteman, Ernest
+Whiteread, Rachel
+Whitney, Anne
+Whittle, Charles
+Whittredge, Thomas Worthington
+Wicar, Jean-Baptiste Joseph
+Wicks, Mary
+Wieland, Joyce
+Wiener, Phyllis
+Wieringen, Cornelis Claesz. van
+Wiertz, Antoine
+Wiggins, Guy
+Wilber, Jessie
+Wilbert, Robert
+Wilcox, Leslie
+Wilding, Alison
+Wildman, John R.
+Wildt, Adolfo
+Wiles, Irving R.
+Wiley, William
+Wiligelmo
+Wilke, Hannah
+Wilkie, Robert
+Wilkie, Sir David
+Wilkins, Mike
+Willaerts, Abraham
+Willard, Archibald M.
+Willets, Robert
+Williams, Arch
+Williams, Fred
+Williams, Hugh William
+Williams, Keith Shaw
+Williams, Margaret Lindsay
+Williams, Pauline Bliss
+Williams, Rod
+Williams, William
+Williamson, Daniel Alexander
+Willink, Carel
+Willmann, Michael Lukas Leopold
+Willoughby, Robert
+Wills, William Gorman
+Willson, Barbara
+Willson, Mary Ann
+Wilson, Andrew
+Wilson, Benjamin
+Wilson, Charles J.A.
+Wilson, George Washington
+Wilson, John
+Wilson, Richard
+Wilson, William A.
+Wilton, Joseph
+Wimar, Charles
+Windus, William Lindsay
+Winegar, Anna
+Winkler, John W.
+Winogrand, Garry
+Winsor, Jackie
+Winstanley, William
+Winter, Friedrich
+Winter, George
+Winterhalter, Franz Xavier
+Winterhalter, Hermann
+Winters, Terry
+Wintour, John Crawford
+Wirsum, Karl
+Wirt von Wil, Nicolaus
+Wirtz, Robert
+Wit, Jacob de
+Witherington, William Frederick
+Witkiewicz, Stanislaw Ignacy
+Witkin, Isaac
+Witkin, Jerome Paul
+Witte, Emanuel de
+Wittel, Gaspar van
+Witz, Conrad
+Wo Zha
+Woehrman, Ralph
+Woiceske, Ronau William
+Wojtkiewicz, Witold
+Wolf, Henry
+Wolfe, Meyer
+Wolfe, Ruth Mitchell
+Wolffort, Artus
+Wölfli, Adolf
+Wolfram, William
+Wollaston, John
+Wollheim, Gert
+Wood, Christopher
+Wood, Elizabeth Wyn
+Wood, Ella Mirriam
+Wood, Grant
+Wood, John
+Wood, Thomas Waterman
+Woodbury, Charles Herbert
+Woodruff, Hale
+Woods, Jan
+Woodville, Richard Caton
+Woodward, George Montard
+Woodward, John Douglas
+Woodward, Mabel May
+Woodward, Stanley Wingate
+Woodward, Thomas
+Woo-hee, Cha
+Wook-Kyung, Choi
+Wool, Christopher
+Woolsey, Clarence
+Woolsey, Grace
+Wootton, John
+Wores, Theodore
+Worlidge, Thomas
+Wotruba, Fritz
+Wouters, Rik
+Wouwerman, Philips
+Wren, Sir Christopher
+Wrenn, Charles
+Wright of Derby, Joseph
+Wright, Autin
+Wright, Don
+Wright, Frank Lloyd
+Wright, James Henry
+Wright, John Michael
+Wright, Redmond Stephens
+Wrinch, Mary
+Wtewael, Joachim Antonisz.
+Wu Biduan
+Wu Changshi
+Wu Changshuo
+Wu Guanzhong
+Wu Hufan
+Wu Jiayou
+Wu Jingting
+Wu Li
+Wu Zuoren
+Wujcik, Theo
+Wurtzburger, Skip
+Wurzelbauer, Benedikt
+Wutky, Michael
+Wyant, Alexander Helwig
+Wyck, Jan
+Wyck, Thomas
+Wyeth, Andrew
+Wyeth, Henriette
+Wyeth, Jamie
+Wyeth, N.C.
+Wynants, Jan
+Wyon, Edward William
+Wyse, Alex
+Xenophantos
+Xia Gui
+Xiao Haichun
+Xiao Yuncong
+Xu Beihong
+Xu Daoning
+Xu Lei
+Xu Lele
+Xu, Guo
+Xugu
+Ya Ming
+Yan Han
+Yan Hui
+Yan Liben
+Yáñez, Fernando
+Yang Jingsheng
+Yang Kewu
+Yang Keyang
+Yang Lizhou
+Yang Nawei
+Yang Shanshen
+Yang Yong
+Yang Zhiguang
+Ye Minren
+Yeames, William Frederick
+Yeats, Jack B.
+Yeggster 
+Yelland, Raymond
+Yin Rongsheng
+Ykens, François
+Yong-Yop, Hwang
+Yorke, William G.
+Yorke, William Howard
+Yosa Buson
+Yoshida, Hiroshi
+Yoshitaki, Nakai
+Yoshitora, Utagawa
+Yoshitoshi, Tsukioka
+Yoshitsuya I, Ichieisai
+Yoshiyuki, Rakkaken
+Young, Blamire
+Young, Brent Kee
+Young, Mahonri Macintosh
+Young, Stephen Scott
+Young-lim, Choi
+Young-soo, Song
+Youqua
+Youse, Gay
+Yphantis, George
+Yu Ben
+Yu Youren
+Yun Ge
+Yun Shouping
+Yunkers, Adja
+Zabaleta Fuentes, Rafael
+Zaganelli, Francesco
+Zais, Giuseppe
+Zak, Eugène
+Zakanitch, Robert
+Zalce, Alfredo
+Zanguidi, Jacopo
+Zao Wou-ki
+Zaritsky, Yossef
+Zárraga, Angel
+Zehnacker, Russ
+Zeliff, Amzi Emmons
+Zenale, Bernardino
+Zeng Mi
+Zentz, Patrick
+Zerbe, Karl
+Zeshin, Shibata
+Zha Shibiao
+Zhan Jianjun
+Zhang Daqian
+Zhang Dazhuang
+Zhang Hong
+Zhang Hui
+Zhang Wang
+Zhang Yi
+Zhao Chungxiang
+Zhao Shou
+Zhao Yannian
+Zhao Zhiqian
+Zhao Zhiquan
+Zheng Guogu
+Zheng Wu
+Zheng Wuchang
+Zhong Weisheng
+Zhou Changjiang
+Zhou Luyun
+Zhou Shuqiao
+Zhou Sicong
+Zhu Da
+Zhu Qizhan
+Zhu Rui
+Zhu Xinghua
+Ziem, Félix
+Zingg, Adrian
+Ziveri, Alberto
+Zobernig, Heimo
+Zoffany, Johann
+Zoppo, Marco
+Zorach, Marguerite Thompson
+Zorach, William
+Zorio, Gilberto
+Zorn, Anders
+Zox, Larry
+Zuccarelli, Francesco
+Zuccaro, Federico
+Zuccaro, Taddeo
+Zucchi, Antonio
+Zucchi, Jacopo
+Zucker, Joe
+Zugno, Francesco
+Zuloaga, Ignacio
+Zündt, Mathias
+Zúñiga, Francisco
+Zurawski, Norm
+Zurbarán, Francisco de
+Zurbarán, Juan de
+Zürn, Michael
+Zynsky, Toots
diff --git a/src/com/ibm/icu/dev/test/perf/data/collation/TestNames_Russian.txt b/src/com/ibm/icu/dev/test/perf/data/collation/TestNames_Russian.txt
new file mode 100644
index 0000000..f89f870
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/perf/data/collation/TestNames_Russian.txt
@@ -0,0 +1,1310 @@
+﻿#/**
+# *******************************************************************************
+# * Copyright (C) 2002-2004, International Business Machines Corporation and    *
+# * others. All Rights Reserved.                                                *
+# *******************************************************************************
+# */
+
+Лукашев, Игорь Львович
+Cеменов, Владимир Магомедович
+Лукашенко, Александр Григорьевич
+Абалкин, Леонид Иванович
+Лукашенко, Дмитрий Борисович
+Абдулатипов, Рамазан Гаджимурадович
+Лукин, Владимир Петрович
+Абдулбасиров, Магомедтагир Меджидович
+Лукьяненко, Татьяна Константиновна
+Абельцев, Сергей Николаевич
+Лукьянов, Анатолий Иванович
+Абраменков, Дмитрий Николаевич
+Лукьянов, Владимир Николаевич
+Абрамов, Александр Сергеевич
+Лунтовский, Георгий Иванович
+Абрамович, Роман Аркадьевич
+Лухманов, Николай Евгеньевич
+Авалиани, Теймураз Георгиевич
+Лучин, Виктор Осипович
+Авалишвили, Гурами Джемалович
+Лыжин, Юрий Васильевич
+Авдеев, Валерий Валентинович
+Лымарь, Любовь Михайловна
+Лысенко, Анатолий Григорьевич
+Авен, Петр Олегович
+Лысенко, Владимир Николаевич
+Аверчев, Владимир Петрович
+Лысенко, Николай Николаевич
+Лычаков, Андрей Анатольевич
+Агапов, Юрий Васильевич
+Любимцев, Анатолий Васильевич
+Агапова, Елена Александровна
+Ляшко, Юрий Гаврилович
+Агафонов, Валентин Алексеевич
+Мавроди, Сергей Пантелеевич
+Агафонов, Егор Андреевич
+Магомедов, Магомедали Магомедович
+Агеева, Любовь Анатольевна
+Магомедов, Станислав Юнусович
+Адамишин, Анатолий Леонидович
+Мазур, Александр Алексеевич
+Адамов, Евгений Олегович
+Майоров, Леонид Сергеевич
+Макаров, Андрей Михайлович
+Макашов, Альберт Михайлович
+Аксененко, Николай Емельянович
+Максаков, Александр Иванович
+Аксенов, Владимир Викторович
+Максимов, Евгений Васильевич
+Аксентьев-Кикалишвили, Анзори Иосифович
+Максимов, Константин Николаевич
+Аксючиц, Виктор Владимирович
+Малаев, Алексей Никифорович
+Малашенко, Игорь Евгеньевич
+Алекперов, Вагит Юсуфович
+Малкин, Виталий Борисович
+Александров, Алексей Иванович
+Мальков, Игорь Олегович
+Алексеев, Александр Сергеевич.
+Мальцев, Александр Николаевич
+Алексеев, Геннадий Алексеевич
+Мальцев, Борис Алексеевич
+Алексий, Второй патриарх
+Малютина, Татьяна Григорьевна
+Маневич, Михаил Владиславович
+Алкснис, Виктор Имантович
+Манжосов, Николай Иванович
+Алтухов, Владимир Николаевич
+Манилов, Валерий Леонидович
+Алтынбаев, Жакслык Куантаевич
+Алферов, Жорес Иванович
+Манякин, Сергей Иосифович
+Альмяшкин, Василий Петрович
+Маргелов, Михаил Витальевич
+Амбарцумов, Евгений Аршакович
+Маркелов, Леонид Игоревич
+Амелина, Алла Леонидовна
+Марков, Владимир Николаевич
+Аметистов, Эрнест Михайлович
+Маркова, Римма Васильевна
+Ананьев, Евгений Николаевич
+Мартынов, Александр Гаврилович
+Андреев, Алексей Петрович
+Мартынов, Борис Алексеевич
+Марченко, Петр Петрович
+Андреева, Нина Александровна
+Марычев, Вячеслав Антонович
+Аничкин, Иван Степанович
+Масарский, Марк Вениаминович
+Анпилов, Виктор Иванович
+Маслов, Михаил Александрович
+Антонов, Игорь Васильевич
+Маслов, Николай Васильевич
+Маслюков, Юрий Дмитриевич
+Антуфьев, Сергей Владимирович
+Масхадов, Аслан (Халид) Алиевич
+Апарина, Алевтина Викторовна
+Масхадов, Аслан Алиевич
+Аракчаа, Кара-Кыс Донгаковна
+Арбатов, Алексей Георгиевич
+Матвиенко, Валентина Ивановна
+Арбузов, Валерий Петрович
+Маточкин, Юрий Семенович
+Арефьев, Николай Васильевич
+Матяшов, Петр Иванович
+Аринин, Александр Николаевич
+Арсланова, Фануза Шарафиевна
+Машинский, Виктор Леонидович
+Машковцев, Михаил Борисович
+Артюхов, Виталий Григорьевич
+Медведев, Владимир Сергеевич
+Архипов, Сергей Сергеевич
+Медведев, Дмитрий Анатольевич
+Асаев, Раис Бадыгутдинович
+Медведев, Николай Павлович
+Аскерханов, Гамид Рашидович
+Медведев, Павел Алексеевич
+Аслаханов, Асланбек Ахмедович
+Медведев, Рой Александрович
+Ассекритов, Станислав Борисович
+Медведев, Сергей Константинович
+Астафьев, Михаил Георгиевич
+Медиков, Виктор Яковлевич
+Астафьев, Николай Павлович
+Меликьян, Геннадий Георгиевич
+Астраханкина, Татьяна Александровна
+Мельков, Алексей Константинович
+Аулов, Александр Петрович
+Мельников, Алексей Юрьевич
+Аушев, Мухарбек Измаилович
+Мельников, Иван Иванович
+Аушев, Руслан Султанович
+Мень, Михаил Александрович
+Ахмадиев, Фаниль Наилович
+Меремянин, Константин Георгиевич
+Ачалов, Владислав Алексеевич
+Меркулов, Александр Федорович
+Аюшиев, Болот Ванданович
+Меркулов, Геннадий Константинович
+Аяцков, Дмитрий Федорович
+Меркушин, Николай Иванович
+Бабин, Николай Андреевич
+Мизулина, Елена Борисовна
+Бабичев, Владимир Степанович
+Микитаев, Абдулах Касбулатович
+Бабичев, Игорь Викторович
+Бабурин, Сергей Николаевич
+Милосердов, Владимир Иванович
+Бабух, Лариса Владимировна
+Минаков, Виктор Михайлович
+Багаутдинов, Габдулвахид Гильмутдинович
+Минкин, Александр Викторович
+Баглай, Марат Викторович
+Мирзоев, Гасан Борисович
+Баженов, Александр Васильевич
+Миронов, Валерий Иванович
+Базылева, Тамара Васильевна
+Миронов, Виктор Пименович
+Бакатин, Вадим Викторович
+Миронов, Владимир Николаевич
+Балакшин, Павел Николаевич
+Миронов, Геннадий Анатольевич
+Балалаев, Вячеслав Ефимович
+Миронов, Олег Орестович
+Балтин, Эдуард Дмитриевич
+Мисник, Борис Григорьевич
+Барабанов, Владимир Алексеевич
+Митин, Сергей Герасимович
+Баранов, Александр Иванович
+Митина, Дарья Александровна
+Баранов, Валерий Петрович
+Миткова, Татьяна Ростиславовна
+Бариев, Марат Мансурович
+Митрофанов, Алексей Валентинович
+Баркашов, Александр Петрович
+Митрохин, Сергей Сергеевич
+Барсуков, Михаил Иванович
+Митюков, Михаил Алексеевич
+Барышев, Владимир Иванович
+Митяев, Иван Иванович
+Барышников, Николай Павлович
+Михайлов, Александр Николаевич
+Басаев, Шамиль Салманович
+Михайлов, Алексей Юрьевич
+Басин, Ефим Владимирович
+Михайлов, Виктор Григорьевич
+Батагаев, Алексей Николаевич
+Михайлов, Виктор Никитович
+Батурин, Юрий Михайлович
+Михайлов, Вячеслав Александрович
+Бауэр, Владимир Анатольевич
+Михайлов, Вячеслав Федорович
+Башмачников, Владимир Федорович
+Михайлов, Евгений Эдуардович
+Баюнов, Владимир Александрович
+Михайлов, Николай Васильевич
+Безбородов, Николай Максимович
+Михайлов, Сергей Владимирович
+Безверхий, Сергей Федорович
+Михайлова, Эльмира Германовна
+Безлепкина, Людмила Федоровна
+Михалков, Никита Сергеевич
+Бекетов, Владимир Андреевич
+Михалков-Кончаловский, Андрон Сергеевич
+Беклемищева, Ольга Алексеевна
+Михеев, Михаил Александрович
+Мишин, Виктор Максимович
+Моисеев, Борис Александрович
+Моисеева, Вероника Владимировна
+Монастырский, Михаил Львович
+Белозерцев, Сергей Владимирович
+Морозов, Анатолий Тимофеевич
+Белоногов, Анатолий Николаевич
+Морозов, Владимир Васильевич
+Морозов, Олег Викторович
+Беляев, Сергей Георгиевич
+Морщакова, Тамара Георгиевна
+Беляков, Александр Семенович
+Мостовой, Петр Петрович
+Бендукидзе, Каха Автандилович
+Мошняков, Валерий Владимирович
+Бенов, Геннадий Матвеевич
+Мукомель, Владимир Изявич
+Бердникова, Нина Владимировна
+Муладжанов, Шод Саидович
+Муравленко, Сергей Викторович
+Березовский, Борис Абрамович
+Мусалатов, Хасан Аласханович
+Берестовой, Виктор Иванович
+Мусатов, Михаил Иванович
+Беспалов, Юрий Александрович
+Муха, Виталий Петрович
+Бессарабов, Владимир Григорьевич
+Назаров, Александр Викторович
+Назарчук, Александр Григорьевич
+Бигнов, Рамиль Имамагзамович
+Наздратенко, Евгений Иванович
+Бикалова, Надежда Александровна
+Биндюков, Николай Гаврилович
+Найчукова, Светлана Ивановна
+Найшуль, Виталий Аркадьевич
+Бирюков, Анатолий Михайлович
+Наролин, Михаил Тихонович
+Бирюков, Владимир Афанасьевич
+Нарусова, Людмила Борисовна
+Бичелдей, Каадыр-Оол Алексеевич
+Нахманович, Петр Абрамович
+Благоволин, Сергей Евгеньевич
+Неверов, Валерий Иванович
+Невзлин, Леонид Борисович
+Богатов, Владимир Владимирович
+Невзоров, Александр Глебович
+Богачев, Владимир Валентинович
+Неделин, Геннадий Павлович
+Богданов, Владимир Леонидович
+Недошивин, Вячеслав Михайлович
+Богданова, Елена Михайловна
+Неелов, Юрий Васильевич
+Богданчиков, Сергей Михайлович
+Некрасов, Леонид Васильевич
+Богомолов, Олег Алексеевич
+Некрутенко, Виктор Юрьевич
+Божедомова, Галина Клавдиевна
+Немцов, Борис Ефимович
+Бойко, Вадим Анатольевич
+Нестеренко, Татьяна Геннадьевна
+Бойко, Вячеслав Андреевич
+Нестеров, Юрий Михайлович
+Бойко, Максим Владимирович
+Неумывакин, Александр Яковлевич
+Нечаев, Андрей Алексеевич
+Бойцев, Анатолий Александрович
+Нещадин, Андрей Афанасьевич
+Боковиков, Александр Александрович
+Нигкоев, Сергей Георгиевич
+Болдырев, Юрий Юрьевич
+Никитин, Александр Иванович
+Большаков, Алексей Алексеевич
+Никитин, Андрей Владимирович
+Большаков, Евгений Александрович
+Никитин, Валентин Иванович
+Большаков, Сергей Владимирович
+Никитин, Владимир Петрович
+Бондарев, Григорий Семенович
+Никитин, Владимир Степанович
+Никитчук, Иван Игнатьевич
+Боос, Георгий Валентинович
+Никифоренко, Юрий Васильевич
+Борисенко, Николай Иванович
+Никифоров, Сергей Михайлович
+Николаев, Алексей Васильевич
+Борисоглебский, Александр Игоревич
+Николаев, Андрей Иванович
+Боровков, Владимир Семенович
+Николаев, Михаил Ефимович
+Боровой, Константин Натанович
+Николаевский, Владимир Юрьевич
+Бородаев, Валерий Васильевич
+Никологорский, Валерий Григорьевич
+Бородин, Виктор Иванович
+Никонов, Вячеслав Алексеевич
+Никулин, Валерий Афанасьевич
+Борщев, Валерий Васильевич
+Никулин, Юрий Владимирович
+Босхолов, Сергей Семенович
+Ниязов, Сапармурат Атаевич
+Бочаров, Михаил Александрович
+Новиков, Олег Иванович
+Бочин, Леонид Арнольдович
+Новодворская, Валерия Ильинична
+Брагинский, Александр Павлович
+Ножиков, Юрий Абрамович
+Братищев, Игорь Михайлович
+Носов, Валерий Борисович
+Бревнов, Борис Анатольевич
+Оболенский, Александр Митрофанович
+Брусникин, Николай Юрьевич
+Овченков, Вячеслав Иванович
+Брусницын, Юрий Александрович
+Овчинников, Константин Николаевич
+Брынцалов, Владимир Алексеевич
+Озеров, Виктор Алексеевич
+Ойкина, Зоя Николаевна
+Брынцалов, Юрий Григорьевич
+Ойнвид, Григорий Михайлович
+Бугера, Михаил Евгеньевич
+Олейник, Владимир Иванович
+Будажапов, Сергей Пурбуевич
+Олейник, Любовь Васильевна
+Ольшанский, Дмитрий Вадимович
+Букато, Виктор Иванович
+Ооржак, Шериг-оол Дизижикович
+Булавинов, Вадим Евгеньевич
+Орджоникидзе, Иосиф Николаевич
+Булгак, Владимир Борисович
+Орлов, Виктор Петрович
+Орлов, Владимир Андреевич
+Бунич, Павел Григорьевич
+Орлова, Светлана Юрьевна
+Бурбулис, Геннадий Эдуардович
+Осмаев, Амин Ахмедович
+Бурдуков, Павел Тимофеевич
+Основная, деятельность:
+Буренин, Владимир Арсеньевич
+Остальский, Дмитрий Всеволодович
+Останина, Нина Александровна
+Бурков, Сергей Васильевич
+Бурлуцкий, Юрий Иванович
+Павлов, Николай Александpович
+Бутаев, Владимир Иванович
+Павловский, Глеб Олегович
+Бутов, Евгений Леонидович
+Бученков, Евгений Викторович
+Бушмин, Евгений Викторович
+Пальчевский, Андрей Иванович
+Памфилова, Элла Александровна
+Быков, Валерий Алексеевич
+Панарин, Николай Васильевич
+Быков, Роллан Анатольевич
+Панин, Виктор Евгеньевич
+Былевский, Павел Геннадьевич
+Панков, Анатолий Семенович
+Быстрицкая, Элина Авраамовна
+Панкратов-Черный, Александр Васильевич
+Быстров, Сергей Николаевич
+Пансков, Владимир Георгиевич
+Бычков, Андрей Иванович
+Панфилов, Анатолий Алексеевич
+Вавилов, Андрей Петрович
+Панфилов, Анатолий Анатольевич
+Вавилов, Станислав Владимирович
+Панькин, Вячеслав Владимирович
+Вагин, Валерий Андреевич
+Парадиз, Александр Лазаревич
+Вайншток, Семен Михайлович
+Парамонова, Татьяна Владимировна
+Вакуленко, Михаил Юрьевич
+Паринов, Вячеслав Семенович
+Варенников, Валентин Иванович
+Варнавский, Владимир Алексеевич
+Паршаков, Юрий Николаевич
+Вартазарова, Людмила Степановна
+Пастухов, Борис Николаевич
+Васильев, Владимир Абдуалиевич
+Патрушев, Николай Платонович
+Пашуто, Владимир Ростиславович
+Васильев, Сергей Александрович
+Перминов, Анатолий Николаевич
+Вахруков, Сергей Алексеевич
+Петошин, Владимир Анатольевич
+Ведерников, Владимир Павлович
+Петренко, Сергей Васильевич
+Ведерников, Николай Трофимович
+Петрик, Александр Григорьевич
+Венгеров, Анатолий Борисович
+Петров, Андрей Юрьевич
+Венгеровский, Александр Дмитриевич
+Петров, Владимир Анатольевич
+Вепрев, Аркадий Филимонович
+Петров, Владимир Иванович
+Верещагин, Виктор Владимирович
+Петров, Олег Вадимович
+Вернигора, Владимир Сергеевич
+Петров, Юрий Владимирович
+Верховский, Александр Маркович
+Вершинин, Павел Николаевич
+Пехтин, Владимир Алексеевич
+Веселкин, Павел Михайлович
+Пешков, Виктор Петрович
+Пивненко, Валентина Николаевна
+Вечкасов, Юрий Иванович
+Пилипенко, Юрий Владимирович
+Вешняков, Александр Альбертович
+Пилипешин, Николай Анатольевич
+Вигдорчик, Елена Александровна
+Пискун, Николай Леонидович
+Пияшева, Лариса Ивановна
+Викторов, Валерьян Николаевич
+Платов, Владимир Игнатьевич
+Вилинбахов, Георгий Вадимович
+Платонов, Владимир Константинович
+Виноградов, Владимир Викторович
+Платонов, Владимир Михайлович
+Виноградов, Николай Владимирович
+Плетнева, Тамара Васильевна
+Виноградов, Павел Владимирович
+Плиев, Руслан Султанович
+Витрук, Николай Васильевич
+Плотников, Владимир Николаевич
+Вишняков, Виктор Григорьевич
+Побединская, Людмила Васильевна
+Вишняков, Виталий Евгеньевич
+Поводырь, Сергей Александрович
+Владиславлев, Александр Павлович
+Поволяев, Владимир Митрофанович
+Власов, Алексей Феликсович
+Подберезкин, Алексей Иванович
+Власов, Валентин Степанович
+Подгорнов, Николай Михайлович
+Власов, Юрий Васильевич
+Подколзин, Евгений Николаевич
+Подопригора, Владимир Николаевич
+Власова, Анна Петровна
+Подуфалов, Николай Дмитриевич
+Воеводин, Вадим Алексеевич
+Полдников, Юрий Иванович
+Войков, Андрей Иванович
+Полеванов, Владимир Павлович
+Волков, Александр Александрович
+Полежаев, Леонид Константинович
+Полтавченко, Георгий Сергеевич
+Волков, Василий Петрович
+Полторанин, Михаил Никифорович
+Волков, Владимир Николаевич
+Полуянов, Николай Андреевич
+Волков, Геннадий Константинович
+Поляков, Андрей Александрович
+Волков, Николай Михайлович
+Поляков, Николай Иванович
+Волкова, Ольга Николаевна
+Поляков, Юрий Александрович
+Воловик, Александр Михайлович
+Поморов, Александр Адрианович
+Володин, Николай Андреевич
+Понасов, Степан Николаевич
+Волошин, Александр Стальевич
+Пономарев, Александр Михайлович
+Волчек, Галина Борисовна
+Пономарев, Александр Сергеевич
+Вольский, Аркадий Иванович
+Пономарев, Алексей Алексеевич
+Воробьев, Эдуард Аркадьевич
+Пономарев, Алексей Филиппович
+Ворогушин, Виктор Анатольевич
+Пономарев, Геннадий Семенович
+Воронин, Владимир Васильевич
+Пономарев, Лев Александрович
+Воронин, Геннадий Петрович
+Попкович, Роман Семенович
+Воронин, Юрий Михайлович
+Попов, Александр Васильевич
+Воронцов, Алексей Алексеевич
+Попов, Алексей Анатольевич
+Воронцова, Зоя Ивановна
+Попов, Аркадий Алексеевич
+Воротников, Валерий Павлович
+Попов, Виктор Михайлович
+Выучейский, Вячеслав Алексеевич
+Попов, Гавриил Харитонович
+Вяхирев, Рэм Иванович
+Попов, Сергей Алексеевич
+Габидуллин, Ринат Гиндуллович
+Попов, Сергей Борисович
+Габуния, Георгий Валерьевич
+Попова, Татьяна Львовна
+Попцов, Олег Максимович
+Гаджиев, Гадис Абдуллаевич
+Пороховщиков, Александр Шалвович
+Гаер, Евдокия Александровна
+Потанин, Владимир Олегович
+Газеев, Евгений Иванович
+Потапенко, Александр Федорович
+Газизуллин, Фарит Рафикович
+Потапов, Леонид Васильевич
+Гайдар, Егор Тимурович
+Потапов, Сергей Александрович
+Гайдаш, Мария Ивановна
+Похмелкин, Виктор Валерьевич
+Гайсин, Малик Фавзавиевич
+Починок, Александр Петрович
+Галаган, Дмитрий Андреевич
+Премьяк, Петр Григорьевич
+Галазий, Григорий Иванович
+Примаков, Евгений Максимович
+Галазов, Ахсарбек Хаджимурзаевич
+Приходько, Сергей Эдуардович
+Галиев, Ахметгали Мухаметгалиевич
+Прокопенко, Вера Владимировна
+Гамза, Геннадий Ефимович
+Гамидов, Гамид Мустафаевич
+Проханов, Александр Андреевич
+Ганеев, Мулланур Фахразиевич
+Прудников, Виктор Алексеевич
+Гантамиров, Бислан Сайд-Алиевич
+Прусак, Михаил Михайлович
+Гареев, Махмут Ахметович
+Пузановский, Адриан Георгиевич
+Гаюльский, Виктор Иванович
+Пуликовский, Константин Борисович
+Гвоздева, Светлана Николаевна
+Путин, Владимир Владимирович
+Гдлян, Тельман Хоренович
+Пчелкин, Владимир Викторович
+Генералов, Андрей Иванович
+Пызин, Владимир Александрович
+Генералов, Сергей Владимирович
+Пыльнев, Виктор Викторович
+Гениатулин, Равиль Фаритович
+Пятницкий, Юрий Георгиевич
+Герасименко, Николай Федорович
+Рoйтман, Илья Борисович
+Герасимов, Сергей Иванович
+Рабданов, Владимир Рабданович
+Геращенко, Виктор Владимирович
+Радуев, Салман
+Раевская, Наталия Алексеевна
+Гинзбург, Соломон Израилевич
+Райков, Геннадий Иванович
+Гитин, Виктор Владимирович
+Рахимов, Муртаза Губайдуллович
+Глазьев, Сергей Юрьевич
+Рахманин, Владимир Олегович
+Глотов, Сергей Александрович
+Рахмонов, Эмомали Шарипович
+Глубоковский, Михаил Константинович
+Рейман, Леонид Дододжонович
+Глухих, Виктор Константинович
+Решульский, Сергей Николаевич
+Глушенков, Анатолий Егорович
+Римский, Владимир Львович
+Глущенко, Михаил Иванович
+Рогозин, Дмитрий Олегович
+Говорин, Борис Александрович
+Родионов, Игорь Николаевич
+Говорухин, Станислав Сергеевич
+Родионов, Петр Иванович
+Голембиовский, Игорь Несторович
+Родионов, Сергей Сергеевич
+Голов, Анатолий Григорьевич
+Рожков, Виктор Дмитриевич
+Головков, Алексей Леонардович
+Рокецкий, Леонид Юлианович
+Головлев, Владимир Иванович
+Романов, Валентин Степанович
+Гоман, Владимир Владимирович
+Романов, Петр Васильевич
+Гонжаров, Олег Павлович
+Романовский, Михаил Александрович
+Гончар, Николай Николаевич
+Ромашкин, Виктор Васильевич
+Горбачев, Михаил Сергеевич
+Россель, Эдуард Эргартович
+Горбачева, Раиса Максимовна
+Рохлин, Лев Яковлевич
+Гордеев, Алексей Васильевич
+Рощина, Татьяна Николаевна
+Гордеев, Анатолий Николаевич
+Руга, Владимир Эдуардович
+Горлов, Александр Викторович
+Рудкин, Юрий Дмитриевич
+Горшков, Михаил Константинович
+Руднов, Олег Константинович
+Горюнов, Владимир Дмитриевич
+Румянцев, Александр Юрьевич
+Горюнов, Евгений Владимирович
+Румянцев, Олег Германович
+Горячев, Валерий Сергеевич
+Горячев, Марк Леонидович
+Рутковский, Олег Всеволодович
+Горячев, Юрий Фролович
+Руцкой, Александр Владимирович
+Горячева, Светлана Петровна
+Рушайло, Владимир Борисович
+Гостев, Руслан Георгиевич
+Рыбаков, Юлий Андреевич
+Рыбкин, Иван Петрович
+Грачев, Павел Сергеевич
+Рыгалов, Александр Андреевич
+Гребенников, Валерий Васильевич
+Рыжков, Владимир Александрович
+Рыжков, Николай Иванович
+Грешневиков, Анатолий Николаевич
+Рюриков, Дмитрий Борисович
+Григориади, Владимир Стиллианович
+Рябов, Александр Иванович
+Григорьев, Валерий Николаевич
+Рябов, Николай Тимофеевич
+Григорьев, Владимир Федорович
+Гришин, Василий Дмитриевич
+Рябухин, Сергей Николаевич
+Гришкевич, Олег Петрович
+Сабиров, Марат Хамзинович
+Гришуков, Владимир Витальевич
+Савельев, Александр Георгиевич
+Савельев, Константин Сергеевич
+Громов, Борис Всеволодович
+Савельев, Николай Николаевич
+Громов, Владимир Павлович
+Громов, Феликс Николаевич
+Савиных, Виктор Петрович
+Грошев, Владимир Павлович
+Савицкая, Светлана Евгеньевна
+Грущак, Сергей Владимирович
+Савицкий, Виталий Викторович
+Савицкий, Олег Владимирович
+Губенко, Николай Николаевич
+Савченко, Евгений Степанович
+Губкин, Игорь Владимирович
+Савченко, Олег Витальевич
+Гудима, Тамара Михайловна
+Савчук, Вера Семеновна
+Гужвин, Анатолий Петрович
+Сагалаев, Эдуард Михайлович
+Гуров, Александр Иванович
+Садчиков, Георгий Михайлович
+Гусарова, Галина Ивановна
+Саетгалиев, Зифкат Исламович
+Гусев, Владимир Кузьмич
+Сажинов, Павел Александрович
+Гусев, Павел Николаевич
+Сайфуллин, Альзам Тухватуллинович
+Гусинский, Владимир Александрович
+Сайфуллин, Инсаф Шарифуллович
+Гусман, Юлий Соломонович
+Салий, Александр Иванович
+Густов, Вадим Анатольевич
+Салов, Евгений Иванович
+Гуськов, Юрий Александрович
+Салчак, Галина Алексеевна
+Гуцериев, Михаил Сафарбекович
+Салье, Марина Евгеньевна
+Давиденко, Владимир Иванович
+Сальников, Виктор Иванович
+Давиташвили, Евгения Ювашевна (Джуна)
+Сандлер, Маргарита Ревмировна
+Давыдкин, Виктор Алексеевич
+Сапиро, Евгений Саулович
+Давыдов, Александр Семенович
+Сапожников, Николай Иванович
+Давыдов, Андрей Александрович
+Сатаров, Георгий Александрович
+Давыдов, Виктор Федорович
+Сафаров, Раджаб Саттарович
+Давыдов, Всеволод Геннадьевич
+Сафронов, Виталий Александрович
+Давыдов, Олег Дмитриевич
+Сахарков, Юрий Викторович
+Давыдов, Сергей Вячеславович
+Свечников, Петр Григорьевич
+Дальский, Николай Николаевич
+Свинин, Сергей Васильевич
+Даниленко, Сергей Андреевич
+Севастьянов, Виталий Иванович
+Данилов, Юрий Михайлович
+Севенард, Константин Юрьевич
+Данилова, Нина Петровна
+Севенард, Юрий Константинович
+Данченко, Борис Иванович
+Севрюгин, Николай Васильевич
+Селезнев, Геннадий Николаевич
+Дейнекин, Петр Степанович
+Селезнев, Николай Васильевич
+Дементьева, Наталья Леонидовна
+Селиванов, Андрей Владимирович
+Демидов, Иван Иванович
+Селиверстов, Юрий Иванович
+Семаго, Владимир Владимирович
+Денисенко, Бэлла Анатольевна
+Семенов, Виктор Александрович
+Денисов, Анатолий Кузьмич
+Семенов, Михаил Иннокентьевич
+Деревянко, Виктор Васильевич
+Семенов, Сергей Сергеевич
+Дерипаска, Олег Владимирович
+Семенов, Юрий Павлович
+Дерюгин, Юрий Иванович
+Семергей, Леонид Васильевич
+Дерябин, Юрий Степанович
+Сенин, Григорий Николаевич
+Десятников, Василий Алексеевич
+Сергеев, Игорь Дмитриевич
+Сергеенков, Владимир Нилович
+Джанибеков, Владимир Александрович
+Сергиенко, Валерий Иванович
+Джаримов, Аслан Алиевич
+Серов, Валерий Михайлович
+Сеславинский, Михаил Вадимович
+Дзасохов, Александр Сергеевич
+Сивак, Анатолий Васильевич
+Дмитриева, Оксана Генриховна
+Сигарев, Сергей Федорович
+Дмитриева, Татьяна Борисовна
+Сидоров, Анатолий Степанович
+Долголаптев, Анатолий Васильевич
+Сидоров, Евгений Юрьевич
+Сидоров, Михаил Викторович
+Дондуков, Александр Николаевич
+Симонов, Алексей Кириллович
+Доренко, Сергей Леонидович
+Симонов, Валерий Петрович
+Драчевский, Леонид Вадимович
+Симонов, Михаил Петрович
+Дубенецкий, Яков Николаевич
+Сироткин, Владимир Дмитриевич
+Дубинин, Сергей Константинович
+Ситников, Алексей Петрович
+Дубровина, Елена Павловна
+Скворцов, Вячеслав Николаевич
+Дурягин, Иван Николаевич
+Скворцов, Сергей Борисович
+Душенов, Константин Юрьевич
+Скляров, Иван Петрович
+Дьяченко, Владимир Николаевич
+Скоков, Юрий Владимирович
+Дьяченко, Татьяна Борисовна
+Скуратов, Юрий Ильич
+Евстафьев, Аркадий Вячеславович
+Скурихин, Сергей Васильевич
+Скурлатов, Валерий Иванович
+Егоров, Александр Кирьянович
+Славный, Василий Дмитриевич
+Егоров, Владимир Константинович
+Слива, Анатолий Яковлевич
+Егоров, Михаил Константинович
+Слиска, Любовь Константиновна
+Егоров, Николай Дмитриевич
+Сметанкин, Евгений Александрович
+Егоров, Сергей Ефимович
+Смирнов, Анатолий Анатольевич
+Елагин, Владимир Васильевич
+Смирнов, Валерий Марксович
+Елисеев, Александр Игоревич
+Смирнов, Евгений Александрович
+Елчев, Виктор Алексеевич
+Смирнов, Михаил Владимирович
+Ельцин, Борис Николаевич
+Смоленский, Александр Павлович
+Емельянов, Алексей Михайлович
+Смолин, Олег Николаевич
+Емельянов, Михаил Васильевич
+Смоляков, Владимир Николаевич
+Еньков, Сергей Алексеевич
+Собакин, Евгений Юрьевич
+Соболев, Анатолий Николаевич
+Ермаченко, Станислав Васильевич
+Собчак, Анатолий Александрович
+Ермишин, Александр Викторович
+Собянин, Сергей Семенович
+Ефимов, Виталий Борисович
+Сокол, Святослав Михайлович
+Ефремов, Анатолий Антонович
+Соколов, Александр Сергеевич
+Жабоев, Махмуд Надирович
+Соколов, Андрей Владимирович
+Жамсуев, Баир Баясхаланович
+Соколов, Вячеслав Константинович
+Ждакаев, Иван Андреевич
+Сокур, Дмитрий Иванович
+Соловьев, Анатолий Яковлевич
+Жебровский, Станислав Михайлович
+Соловьев, Вадим Павлович
+Жимиров, Вадим Николаевич
+Соловьев, Владимир Владимирович
+Жириновский, Владимир Вольфович
+Соломатин, Анатолий Васильевич
+Жуков, Александр Дмитриевич
+Соломатин, Егор Юрьевич
+Жукова, Нелля Николаевна
+Солонников, Дмитрий Владимирович
+Жуковский, Александр Иванович
+Солтаганов, Вячеслав Федорович
+Журбенко, Владимир Михайлович
+Солуянов, Андрей Владимирович
+Журко, Василий Васильевич
+Сорокина, Елена Станиславовна
+Забейворота, Александр Иванович
+Сосковец, Олег Николаевич
+Завгаев, Доку Гапурович
+Сохов, Владимир Казбулатович
+Заверюха, Александр Харлампиевич
+Спиридонов, Юрий Алексеевич
+Завидия, Андрей Федорович
+Станкевич, Сергей Борисович
+Задорин, Игорь Вениаминович
+Станков, Анатолий Георгиевич
+Задорнов, Михаил Михайлович
+Старков, Владислав Андреевич
+Зайцев, Анатолий Александрович
+Старовойтова, Галина Васильевна
+Залыгин, Сергей Павлович
+Стародубов, Владимир Иванович
+Заричанский, Станислав Константинович
+Стародубцев, Василий Александрович
+Заславская, Татьяна Ивановна
+Старостенко, Владимир Иванович
+Застрожная, Ольга Кирилловна
+Степанков, Валентин Георгиевич
+Затулин, Константин Федорович
+Степанов, Андрей Георгиевич
+Захаров, Алексей Константинович
+Степанов, Виктор Николаевич
+Зацепина, Нина Андреевна
+Степанов, Виктор Федорович
+Зволинский, Вячеслав Петрович
+Степанов, Владимир Алексеевич
+Зеленин, Владимир Михайлович
+Степанов, Евгений Иванович
+Зеленкин, Виктор Васильевич
+Степанов, Сергей Борисович
+Зеленкин, Виталий Афанасьевич
+Степанов, Теймураз Георгиевич
+Зеленов, Евгений Алексеевич
+Степашин, Сергей Вадимович
+Зелент, Иван Зигмундович
+Стерлигов, Александр Николаевич
+Зеренков, Валерий Георгиевич
+Столяров, Николай Сергеевич
+Злобин, Владимир Вениаминович
+Столярова, Насима Калимовна
+Злобина, Лариса Афанасьевна
+Страхов, Алексей Леонидович
+Злотникова, Тамара Владимировна
+Стрекозов, Владимир Георгиевич
+Золотарев, Виктор Борисович
+Золотарев, Владимир Антонович
+Суворов, Александр Сергеевич
+Зоркальцев, Виктор Ильич
+Судаков, Гурий Васильевич
+Зорькин, Валерий Дмитриевич
+Сударенков, Валерий Васильевич
+Зотиков, Алексей Алексеевич
+Сулакшин, Степан Степанович
+Зотин, Владислав Максимович
+Сулейменов, Ибрагим Абдурахманович
+Султанов, Ринат Ишбулдович
+Зубов, Валерий Михайлович
+Сурганов, Вячеслав Сергеевич
+Зырянов, Сергей Владимирович
+Суриков, Александр Александрович
+Зюганов, Геннадий Андреевич
+Сурков, Михаил Семенович
+Зяблицев, Евгений Геннадьевич
+Суров, Петр Сергеевич
+Иваненко, Сергей Викторович
+Сысуев, Олег Николаевич
+Иванков, Владимир Иванович
+Сычев, Анатолий Павлович
+Иванов, Василий Васильевич
+Сычев, Сергей Владимирович
+Танаев, Кирилл Валерьевич
+Иванов, Игорь Владимирович
+Таранцов, Михаил Александрович
+Иванов, Игорь Сергеевич
+Тарасов, Артем Михайлович
+Тарасов, Валерий Михайлович
+Тарачев, Владимир Александрович
+Иванова, Татьяна Борисовна
+Татаркин, Александр Иванович
+Иванченко, Леонид Андреевич
+Тацюн, Мирон Васильевич
+Иванюженков, Борис Викторович
+Темиржанов, Владимир Хасанбиевич
+Игнатенко, Виталий Никитич
+Теребов, Олег Владимирович
+Игнатьев, Игорь Владимирович
+Терентьев, Василий Дмитриевич
+Игнатьев, Кирилл Борисович
+Терехов, Станислав Николаевич
+Игнатьев, Сергей Михайлович
+Тетельмин, Владимир Владимирович
+Игрунов, Вячеслав Владимирович
+Тизяков, Александр Иванович
+Игумнов, Геннадий Вячеславович
+Титкин, Александр Алексеевич
+Илларионов, Андрей Николаевич
+Титов, Герман Степанович
+Ильюшенко, Алексей Николаевич
+Титов, Константин Алексеевич
+Ильясов, Станислав Валентинович
+Тиунов, Олег Иванович
+Илюмжинов, Кирсан Николаевич
+Тихомиров, Валерий Викторович
+Илюхин, Виктор Иванович
+Тихомиров, Владислав Николаевич
+Илюшин, Виктоp Васильевич
+Тихонов, Александр Анатольевич
+Ионов, Анатолий Васильевич
+Тихонов, Александр Николаевич
+Ипполитов, Ксенофонт Христофорович
+Тихонов, Виктор Васильевич
+Исаков, Владимир Борисович
+Тихонов, Владимир Ильич
+Исаков, Николай Алексеевич
+Тихонов, Георгий Иванович
+Тишков, Андрей Николаевич
+Ишмуратов, Минниарис Минигалиевич
+Ткачев, Александр Николаевич
+Ищенко, Евгений Петрович
+Топорков, Владимир Федорович
+Топорков, Михаил Николаевич
+Кагаловский, Константин Григорьевич
+Топоров, Владимир Михайлович
+Каданников, Владимир Васильевич
+Торлопов, Владимир Александрович
+Тосунян, Гарегин Ашотович
+Казаков, Александр Иванович
+Тотиев, Сергей Александрович
+Казаков, Леонид Андреевич
+Тохтабиев, Сергей Аминович
+Казакова, Римма Федоровна
+Травкин, Николай Ильич
+Казаковцев, Владимир Александрович
+Трапезников, Валерий Владимирович
+Казанник, Алексей Иванович
+Третьяков, Виталий Товиевич
+Трошев, Геннадий Николаевич
+Казаров, Олег Владимирович
+Трошкин, Николай Никитич
+Казеннов, Сергей Юрьевич
+Трубников, Вячеслав Иванович
+Трушников, Валерий Георгиевич
+Каламанов, Владимир Авдашевич
+Тулеев, Аман-гельды Молдагазыевич
+Калачев, Константин Эдуардович
+Туманов, Вадим Иванович
+Калашников, Сергей Вячеславович
+Туманов, Владимир Александрович
+Калугин, Олег Данилович
+Туманов, Владислав Николаевич
+Калюжный, Виктор Иванович
+Туманов, Сергей Владимирович
+Калягин, Владимир Александрович
+Туполев, Алексей Андреевич
+Камышинский, Николай Акимович
+Турусин, Анатолий Афанасьевич
+Канаев, Леонид Михайлович
+Тюлькин, Виктор Аркадьевич
+Караганов, Сергей Александрович
+Тягунов, Александр Александрович
+Карапетян, Саак Альбертович
+Тяжлов, Анатолий Степанович
+Карев, Владимир Николаевич
+Убожко, Лев Григорьевич
+Карелин, Александр Александрович
+Уваров, Вячеслав Николаевич
+Карелова, Галина Николаевна
+Удугов, Мовлади
+Каримова, Дания Юсуфовна
+Ульбашев, Мухарби Магомедович
+Карпов, Анатолий Евгеньевич
+Улюкаев, Алексей Валентинович
+Карпов, Станислав Анатольевич
+Умалатова, Сажи Зайндиновна
+Касатонов, Игорь Владимирович
+Уразбаев, Нурлан Уланович
+Касьянов, Михаил Михайлович
+Уринсон, Яков Моисеевич
+Катальников, Владимир Дмитриевич
+Устинов, Владимир Васильевич
+Квашнин, Анатолий Васильевич
+Устюгов, Валерий Николаевич
+Кечкин, Валерий Алексеевич
+Уткин, Владимир Петрович
+Кибирев, Борис Григорьевич
+Уткин, Юрий Васильевич
+Кивелиди, Иван Харлампиевич
+Ушаков, Вячеслав Юрьевич
+Кинелев, Владимир Георгиевич
+Фалалеев, Сергей Николаевич
+Кириенко, Сергей Владиленович
+Фархутдинов, Игорь Павлович
+Кирилл, митрополит
+Федоров, Борис Григорьевич
+Кирпичников, Валерий Александрович
+Федоров, Валерий Валерьевич
+Кирпичников, Михаил Петрович
+Федоров, Евгений Алексеевич
+Кирпичников, Юрий Александрович
+Федоров, Николай Васильевич
+Киселев, Александр Николаевич
+Федоров, Святослав Николаевич
+Киселев, Вячеслав Викторович
+Федосеев, Анатолий Михайлович
+Киселев, Евгений Алексеевич
+Федосеева-Шукшина, Лидия Николаевна
+Киселев, Олег Владимирович
+Федосов, Виктор Иванович
+Кислюк, Михаил Борисович
+Федулова, Алевтина Васильевна
+Киц, Александр Владимирович
+Федутинов, Юрий Юрьевич
+Клебанов, Илья Иосифович
+Филатов, Александр Валентинович
+Климантова, Галина Ивановна
+Филимонов, Вадим Донатович
+Клямкин, Игорь Моисеевич
+Филин, Владимир Иванович
+Кныш, Валентин Филиппович
+Филипенко, Александр Васильевич
+Кобелев, Виктор Васильевич
+Филиппов, Владимир Михайлович
+Кобец, Константин Иванович
+Филиппов, Петр Сергеевич
+Кобзон, Иосиф Давыдович
+Фильшин, Михаил Владимирович
+Кобылкин, Василий Федорович
+Финько, Олег Александрович
+Ковалев, Александр Яковлевич
+Фоминцев, Сергей Анатольевич
+Ковалев, Валентин Алексеевич
+Фортов, Владимир Евгеньевич
+Ковалев, Николай Дмитриевич
+Фрадков, Михаил Ефимович
+Ковалев, Сергей Адамович
+Франк, Сергей Оттович
+Коваленок, Владимир Васильевич
+Хабаров, Владимир Викторович
+Ковальский, Леон Иосифович
+Хабаров, Олег Сергеевич
+Ковлягин, Анатолий Федорович
+Хакамада, Ирина Муцуовна
+Коган, Евгений Владимирович
+Хамаев, Азат Киямович
+Кожокин, Евгений Михайлович
+Харитонов, Александр Петрович
+Козак, Дмитрий Николаевич
+Харитонов, Евгений Михайлович
+Козерадский, Анатолий Александрович
+Харитонов, Николай Михайлович
+Козицын, Николай Иванович
+Хаттаб, (Хабиб Абдул Рахман)
+Козлов, Андрей Андреевич
+Хватков, Николай Павлович
+Козлов, Евгений Александрович
+Хижа, Георгий Степанович
+Козырев, Александр Иванович
+Хлыстун, Виктор Николаевич
+Козырев, Андрей Владимирович
+Ходорковский, Михаил Борисович
+Козырева, Александра Михайловна
+Ходырев, Геннадий Максимович
+Коков, Валерий Мухамедович
+Холод, Леонид Иванович
+Кокошин, Андрей Афанасьевич
+Хохлов, Вячеслав Александрович
+Колесников, Виктор Иванович
+Хохрякова, Ольга Сергеевна
+Колесников, Михаил Петрович
+Хрипель, Геннадий Тимофеевич
+Христенко, Виктор Борисович
+Колюшин, Евгений Иванович
+Хрусталев, Герман Александрович
+Комаров, Александр Сергеевич
+Хубиев, Владимир Исламович
+Комаров, Евгений Борисович
+Хутанов, Леонид Александрович
+Комаровский, Юрий Владимирович
+Комов, Николай Васильевич
+Цветков, Валентин Иванович
+Комчатов, Владимир Федорович
+Циблиев, Василий Васильевич
+Кондратенко, Николай Игнатович
+Цику, Казбек Асланбечевич
+Кондратьев, Георгий Григорьевич
+Кононов, Анатолий Леонидович
+Чайка, Юрий Яковлевич
+Константинов, Илья Владиславович
+Чаптынов, Валерний Иванович
+Конташов, Анатолий Павлович
+Чахкиев, Башир Ахмедович
+Черепков, Виктор Иванович
+Коргунюк, Юрий Григорьевич
+Черкесов, Виктор Васильевич
+Коржаков, Александр Васильевич
+Черненко, Андрей Григорьевич
+Корниенко, Виктор Ульянович
+Черниченко, Юрий Дмитриевич
+Корнилова, Зоя Афанасьевна
+Черногоров, Александр Леонидович
+Корнуков, Анатолий Михайлович
+Черномырдин, Виктор Степанович
+Коровников, Александр Венидиктович
+Черный, (Черной) Михаил Семенович
+Королев, Олег Петрович
+Чернышев, Алексей Андреевич
+Коротков, Леонид Викторович
+Чернышев, Василий Иванович
+Корсаков, Николай Николаевич
+Чеснаков, Алексей Александрович
+Корсун, Юрий Николаевич
+Четин, Иван Васильевич
+Коршунов, Лев Александрович
+Чехоев, Анатолий Георгиевич
+Косиков, Михаил Филиппович
+Чечеватов, Виктор Степанович
+Костерин, Евгений Алексеевич
+Чикин, Валентин Васильевич
+Костин, Георгий Васильевич
+Чилингаров, Артур Николаевич
+Костоев, Исса Магомедович
+Чистоходова, Рита Васильевна
+Костюткин, Владимир Михайлович
+Чуб, Владимир Федорович
+Чубайс, Анатолий Борисович
+Котелкин, Александр Иванович
+Чумиков, Александр Николаевич
+Котенков, Александр Алексеевич
+Чуньков, Юрий Иванович
+Котков, Анатолий Степанович
+Чурилов, Алексей Викторович
+Кох, Альфред Рейнгольдович
+Чуркин, Геннадий Иванович
+Кошева, Виолетта Константиновна
+Шабанов, Александр Александрович
+Кошелюк, Мирослав Евгеньевич
+Шабанов, Иван Михайлович
+Кошкин, Михаил Петрович
+Шабдурасулов, Игорь Владимирович
+Шабунин, Иван Петрович
+Кравец, Александр Алексеевич
+Шагидулин, Анвер Галлямович
+Кравцов, Юрий Анатольевич
+Шаинский, Владимир Яковлевич
+Кравчук, Леонид Макарович
+Шаймиев, Минтимер Шарипович
+Крапивин, Юрий Васильевич
+Шаккум, Мартин Люцианович
+Красников, Дмитрий Федорович
+Шаманов, Владимир Анатольевич
+Краснов, Михаил Александрович
+Шандыбин, Василий Иванович
+Крашенинников, Павел Владимирович
+Шаповальянц, Андрей Георгиевич
+Кременец, Ирина Васильевна
+Шапошников, Евгений Иванович
+Кресс, Виктор Мельхиорович
+Шарапов, Владимир Федорович
+Крестьянинов, Евгений Владимирович
+Шарова, Галина Михайловна
+Кривельская, Нина Викторовна
+Шаталин, Станислав Сергеевич
+Кругликов, Александр Леонидович
+Шаталов, Сергей Дмитриевич
+Круглов, Анатолий Сергеевич
+Шафраник, Юрий Константинович
+Крупнов, Александр Евгеньевич
+Шахов, Владимир Николаевич
+Крючков, Анатолий Викторович
+Шахрай, Сергей Михайлович
+Куваев, Александр Александрович
+Шашурин, Сергей Петрович
+Кувшинов, Александр Иванович
+Швец, Любовь Никитична
+Куделина, Любовь Кондратьевна
+Швидлер, Евгений Маркович
+Кудрин, Алексей Леонидович
+Швыдкой, Михаил Ефимович
+Куевда, Григорий Андреевич
+Шевелуха, Виктор Степанович
+Кузнецов, Александр Владимирович
+Шевченко, Вячеслав Алексеевич
+Кузнецов, Борис Юрьевич
+Шевченко, Юрий Леонидович
+Кузнецов, Владислав Алексеевич
+Шейнис, Виктор Леонидович
+Кузнецов, Вячеслав Юрьевич
+Шелищ, Петр Борисович
+Кузнецов, Леонтий Васильевич
+Шенин, Олег Семенович
+Кузнецов, Михаил Варфоломеевич
+Шенкарев, Олег Александрович
+Кузнецов, Юрий Павлович
+Шестаков, Владимир Афанасьевич
+Кузьмин, Владимир Васильевич
+Шестаков, Дмитрий Юрьевич
+Кулешов, Олег Степанович
+Шипов, Александр Борисович
+Кулик, Геннадий Васильевич
+Шишлов, Александр Владимирович
+Куликов, Александр Дмитриевич
+Шкирко, Анатолий Афанасьевич
+Куликов, Анатолий Сергеевич
+Шмаков, Михаил Викторович
+Кульбака, Нина Ивановна
+Шматов, Юрий Анисимович
+Кульянов, Евгений Георгиевич
+Шмелев, Николай Петрович
+Кулясова, Нина Александровна
+Шойгу, Сергей Кужугетович
+Кумачев, Владимир Николаевич
+Шохин, Александр Николаевич
+Купцов, Валентин Александрович
+Шпигель, Леонид Теодорович
+Курамин, Владимир Петрович
+Штогрин, Сергей Иванович
+Курбатов, Владимир Николаевич
+Штыгашев, Владимир Николаевич
+Кургинян, Сергей Ервандович
+Шуба, Виталий Борисович
+Куркова, Бэлла Алексеевна
+Шубина, Татьяна Ивановна
+Куроедов, Владимир Иванович
+Курочкин, Виктор Васильевич
+Шугуров, Расуль Игдисамович
+Лапин, Александр Александрович
+Шумейко, Владимир Филлипович
+Лаптев, Иван Дмитриевич
+Шурчанов, Валентин Сергеевич
+Лапшин, Михаил Иванович
+Шутеев, Василий Иванович
+Ларионов, Егор Михайлович
+Шушкевич, Станислав Станиславович
+Ларицкий, Владимир Ермолаевич
+Щекочихин, Юрий Петрович
+Лахова, Екатерина Филипповна
+Щербак, Владимир Николаевич
+Лацис, Отто Рудольфович
+Щербаков, Владимир Иванович
+Лебедев, Вячеслав Михайлович
+Эбзеев, Борис Сафарович
+Лебедь, Александp Иванович
+Лебедь, Алексей Иванович
+Юмашев, Валентин Борисович
+Лемешев, Михаил Яковлевич
+Юрков, Анатолий Петрович
+Лемешов, Геннадий Владимирович
+Юрчик, Владислав Григорьевич
+Леонид, Николаевич Чернышев
+Юрьев, Михаил Зиновьевич
+Юшенков, Сергей Николаевич
+Леончев, Владимир Александрович
+Явлинский, Григорий Алексеевич
+Лесин, Михаил Юрьевич
+Якимов, Анатолий Михайлович
+Леушкин, Сергей Геннадьевич
+Якимов, Виктор Васильевич
+Лившиц, Александр Яковлевич
+Яковлев, Вениамин Федорович
+Лимонов, (Савенко) Эдуард Вениаминович
+Яковлев, Владимир Анатольевич
+Линник, Виталий Викторович
+Яковлев, Владимир Николаевич
+Липицкий, Василий Семенович
+Якубович, Леонид Аркадьевич
+Липсиц, Игорь Владимирович
+Якунин, Глеб Павлович
+Лисецкий, Петр Иванович
+Якуш, Михаил Михайлович
+Лисицин, Анатолий Иванович
+Якушкин, Дмитрий Дмитриевич
+Лисичкин, Владимир Александрович
+Яндарбиев, Зелимхан Абдумуслимович
+Лисовский, Сергей Федорович
+Янковский, Аркадий Эдуардович
+Лиханов, Альберт Анатольевич
+Яриханов, Хож-Ахмед
+Лихачев, Василий Николаевич
+Лихачев, Владимир Николаевич
+Ярославцев, Владимир Григорьевич
+Лобанов, Александр Владимирович
+Ярошенко, Анатолий Иванович
+Яруллин, Вафа Сейтбатталович
+Логинов, Евгений Юрьевич
+Ярыгина, Татьяна Владимировна
+Лодкин, Юрий Евгеньевич
+Ясин, Евгений Григорьевич
+Лозинская, Жанна Михайловна
+Ястржембский, Сергей Владимирович
+Лопатин, Владимир Николаевич
+Яхин, Халит Ахметович
+Лоторев, Александр Николаевич
+Яцкевич, Борис Александрович
+Лужков, Юрий Михайлович
diff --git a/src/com/ibm/icu/dev/test/perf/data/collation/TestNames_SerbianSH.txt b/src/com/ibm/icu/dev/test/perf/data/collation/TestNames_SerbianSH.txt
new file mode 100644
index 0000000..3e18dd6
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/perf/data/collation/TestNames_SerbianSH.txt
@@ -0,0 +1,61254 @@
+﻿#/**
+# *******************************************************************************
+# * Copyright (C) 2002-2004, International Business Machines Corporation and    *
+# * others. All Rights Reserved.                                                *
+# *******************************************************************************
+# */
+
+ČAČIĆ ALEKSANDAR
+ČAČIĆ JELICA
+ČAČIĆ MARIJA
+ČAČIĆ NIKOLA
+ČAČIJA BRANKO
+ČAĐENOVIĆ ŽARKO
+ČAĐENOVIĆ SABINA
+ČABAI ANDRIJA
+ČABAI LAJOŠ
+ČABAI MARIJA
+ČABAI STEVAN
+ČABAI STEVAN
+ČABARKAPA BRANKO
+ČABARKAPA MILENKO
+ČABARKAPA MIROSLAV
+ČABARKAPA SIMO
+ČABARKAPA STANKO
+ČABARKAPA TAMARA
+ČABARKAPA TOMAŠ
+ČABDARIĆ NIKOLA
+ČABDARIĆ ZORICA
+ČABI NANDOR
+ČABOVIĆ MILAN
+ČABRADI AGNEZIJA
+ČABRADI IVAN
+ČABRADI JELENA
+ČABRADI LJUBICA
+ČABRADI STEVAN
+ČABRDA MARTIN
+ČABRILO BOGDAN
+ČABRILO BRANISLAV
+ČABRILO LAZAR
+ČABRILO LJUBICA
+ČABRILO SPASOJA
+ČADEŠ ZDENKA
+ČADESKI BLAGOJE
+ČADOVSKI VLADIMIR
+ČAGLJEVIĆ TOMA
+ČAGOROVIĆ VLADIMIR
+ČAJA VANKA
+ČAJIĆ BOGOLJUB
+ČAJIĆ BORISLAV
+ČAJIĆ RADOSLAV
+ČAKŠIRAN MILADIN
+ČAKAN EUGEN
+ČAKAN EVGENIJE
+ČAKAN IVAN
+ČAKAN JULIJAN
+ČAKAN MIHAJLO
+ČAKAN STEVAN
+ČAKAN VLADIMIR
+ČAKAN VLADIMIR
+ČAKAN VLADIMIR
+ČAKARA ANA
+ČAKAREVIĆ MOMIR
+ČAKAREVIĆ NEDELJKO
+ČAKI ŠANDOR
+ČAKI AMALIJA
+ČAKI ANDRAŠ
+ČAKI LADISLAV
+ČAKI LAJOŠ
+ČAKI LASLO
+ČAKI MIHALJ
+ČAKI MIHALJ
+ČAKI PIROŠKA
+ČAKIĆ SAVA
+ČAKIĆ ZLATOJE DR
+ČAKMAK DANICA
+ČAKMAK DEJAN
+ČAKMAK LAZAR
+ČAKMAK LJILJANA
+ČAKMAK LJUBICA
+ČAKMAK SOFIJA
+ČAKMAK SVETOZAR
+ČAKMAL VOJISLAV
+ČAKOVAC BORISLAV
+ČAKOVAC MIROSLAV
+ČAKOVAC PANTELIJA
+ČAKOVAC SAVA
+ČAKOVIĆ ZDRAVKO
+ČAKRA MILENA
+ČALA ĐULA
+ČALA IREN
+ČALA IVANKA
+ČALA LENKA
+ČALAKIĆ BRANKO
+ČALAKIĆ LJUBOMIR
+ČALAKIĆ MARKO
+ČALAKIĆ MILAN
+ČALE IVAN
+ČALE JOSIP
+ČALE MILAN
+ČALE SOFIJA
+ČALE VLADIMIR
+ČALENIĆ BORISLAV
+ČALENIĆ BRANISLAVA
+ČALENIĆ DINA
+ČALENIĆ DRAGICA
+ČALENIĆ LAZAR
+ČALENIĆ LJILJANA
+ČALENIĆ LJUBOMIR
+ČALENIĆ LUKA
+ČALENIĆ MILOSAVA
+ČALENIĆ MIRJANA
+ČALENIĆ STEVAN
+ČALIĆ BOŠKO
+ČALIĆ JOVO
+ČALIĆ MARIJA
+ČALIJA DANICA
+ČALIJA JOVAN
+ČALIJA LAZAR
+ČALIJA MILAN
+ČAMĐIĆ JAHIJA
+ČAMANGOS ĐORĐE
+ČAMANGOS KATICA
+ČAMBER LJUBICA
+ČAMBOR ĐURO
+ČAMBOR ANDRIJA
+ČAMBOR JOSIP
+ČAMDŽIĆ NEAD
+ČAMO BARBARA
+ČAMPRAG ĐORĐE LEKAR
+ČAMPRAG DRAGA
+ČAMPRAG DUŠAN
+ČAMPRAG LJUBICA
+ČAMPRAG MILAN
+ČANČAR ĐORĐE
+ČANČAREVIĆ JOVANKA
+ČANČAREVIĆ MIROLJUB
+ČANČAREVIĆ MLADEN
+ČANADŽIĆ ĐORĐE
+ČANADŽIĆ JOVAN
+ČANADŽIĆ SANJA
+ČANADANOVIĆ ANDRIJA
+ČANADANOVIĆ MIRKO
+ČANADANOVIĆ RADMILA
+ČANADI JANOŠ MR
+ČANADI LJILJANA
+ČANAGLIĆ ĐOKA
+ČANAK ŽELJKO
+ČANAK ĐURA
+ČANAK BOSILJKA DR
+ČANAK MIHAJLO
+ČANAK MIRKO
+ČANAK MOMČILO
+ČANAK NEVENKA
+ČANAK NIKOLA
+ČANAK NIKOLA
+ČANAK NIKOLA
+ČANAK OLIVERA
+ČANAK VELJKO
+ČANAK VESELIN
+ČANAK VUKAŠIN
+ČANGALIĆ DUŠAN
+ČANIĆ LJILJANA
+ČANIĆ MILOŠ
+ČANIĆ OSTOJA
+ČANJEVAC ŠARLOTA
+ČANJI ANDRIJA
+ČANJI GABI
+ČANJI GABOR
+ČANJI GIZELA
+ČANJI IRENA
+ČANJI IRENA
+ČANJI JANKO
+ČANJI KARLO
+ČANJI LASLO
+ČANJI LASLO
+ČANJI NADA
+ČANJI SAMUEL
+ČANJI STEVAN
+ČANJI STEVAN
+ČANJI VLADIMIR
+ČANJI ZOLTAN
+ČANJI ZUZANA
+ČANKOVIĆ ĐORĐE
+ČANKOVIĆ BOŠKO
+ČANKOVIĆ BOJA
+ČANKOVIĆ BRANKO
+ČANKOVIĆ DANE
+ČANKOVIĆ DANE
+ČANKOVIĆ DANE
+ČANKOVIĆ DANICA
+ČANKOVIĆ JOVA
+ČANKOVIĆ LJUBINKA
+ČANKOVIĆ MARIJA
+ČANKOVIĆ MARKO
+ČANKOVIĆ MIKA
+ČANKOVIĆ MILAN
+ČANKOVIĆ MILAN
+ČANKOVIĆ MILIVOJ
+ČANKOVIĆ MILORAD
+ČANKOVIĆ MLADEN
+ČANKOVIĆ OLGA
+ČANKOVIĆ PETAR MR
+ČANKOVIĆ PETAR
+ČANKOVIĆ RADOMIR
+ČANKOVIĆ RADOMIR
+ČANKOVIĆ SLAĐANA
+ČANKOVIĆ SLAVKO
+ČANKOVIĆ SLOBODAN
+ČANKOVIĆ ZLATA
+ČANKOVIĆ ZORAN
+ČAP ANTAL
+ČAPANDA JOSIP
+ČAPELJA DRAGAN
+ČAPELJA JAN DR
+ČAPELJA JOVAN
+ČAPELJA PAVLE
+ČAPKO JULIJAN
+ČAPKO MILORAD
+ČAPKO MIROSLAV
+ČAPKO NESTOR
+ČAPO ADAM
+ČAPO ILIJA
+ČAPO JANOŠ
+ČAPO MARIJA
+ČAPO NADA
+ČAPRIĆ MILORAD
+ČARAPIĆ TOMISLAV
+ČASNJI ERŽEBET
+ČASNJI FERENC
+ČASTVEN JULIJANA
+ČAT ANDRIJA
+ČATALINAC MILAN
+ČATALINAC NIKOLA
+ČATALOV STOJAN
+ČATLAJA STANA
+ČATLAK OLIVERA
+ČATUŠ ZLATKO
+ČAUŠEVIĆ KEMAL
+ČAUŠEVIĆ MIDHAT
+ČAUŠEVIĆ TATJANA
+ČAVIĆ ŠTEFICA
+ČAVIĆ ŽIVKA
+ČAVIĆ ĐORĐE
+ČAVIĆ BOŠKO
+ČAVIĆ BRANISLAV
+ČAVIĆ DEJAN
+ČAVIĆ DEJAN
+ČAVIĆ DRAGICA
+ČAVIĆ DRAGO
+ČAVIĆ GORDANA
+ČAVIĆ GORDANA
+ČAVIĆ KRSTAN
+ČAVIĆ LJUBOMIR
+ČAVIĆ LJUBOMIR
+ČAVIĆ LJUBOMIR
+ČAVIĆ MARIJA
+ČAVIĆ MILENA
+ČAVIĆ MIRKO
+ČAVIĆ PETAR
+ČAVIĆ RADOMIR
+ČAVIĆ RADOVAN
+ČAVIĆ SLOBODAN
+ČAVIĆ SLOBODAN
+ČAVIĆ SOKA
+ČAVIĆ TOŠA
+ČAVIĆ VELIZAR
+ČAVIĆ VLADO
+ČAVIĆ ZORKA
+ČAZIM ČELEBIJA
+ČEČEK DRAGICA
+ČEČEK VILIM
+ČEČUK ALEKSANDAR
+ČEČUK BRANISLAV
+ČEČUK MILOŠ
+ČEČUK SLAVICA
+ČEČUK STEVAN
+ČEŠLJAR ĐURA
+ČEŠLJAR ALEKSANDAR
+ČEŠLJAR DARINKA
+ČEŠLJAR JOSIP
+ČEŠLJAR JOVAN
+ČEŠLJAR STEVAN
+ČEŠLJEVIĆ DUŠAN
+ČEŠLJEVIĆ KOSTA
+ČEŠLJEVIĆ MILENKO
+ČEŠLJEVIĆ MIROSLAVA
+ČEŠLJEVIĆ MOMČILO
+ČEŠLJEVIĆ STANKO
+ČEBAC LJUBICA
+ČEBAC PAVLE
+ČEBEDŽIĆ MILAN
+ČEBSKI VLADIMIR
+ČEBZAN PANTA
+ČEDIĆ REDŽO
+ČEGAR BOŽO
+ČEGAR DESANKA
+ČEGAR DRAGAN
+ČEGAR MILOŠ
+ČEGAR MIRKO
+ČEGAR PANE
+ČEGAR SRETKO
+ČEGAR STEVANIJA
+ČEGAR SVETLANA
+ČEGAR TODOR
+ČEH ANTON
+ČEH JOŽEF
+ČEH JOSIP
+ČEH JOVAN
+ČEH MIKLOŠ
+ČEH STANKA
+ČEH ZLATA
+ČEHAK KALMAN DR
+ČEHOV IVAN
+ČEHOV PETAR
+ČEJOVIĆ BISERKA
+ČEJOVIĆ SLOBODAN
+ČEJOVIĆ VELIMIR
+ČEJOVIĆ VLADIMIR
+ČEKANOVIĆ ŽIVANA
+ČEKANOVIĆ VITOMIR
+ČEKE DEŽE
+ČEKE MARIJA
+ČEKE SNEŽANA
+ČEKE STEVAN
+ČEKEREVAC BRANKO
+ČEKERINAC DUŠAN
+ČEKERINAC ZORAN
+ČEKI DARINKA
+ČEKI DAVID
+ČEKIĆ ANA
+ČEKIĆ DARINKA
+ČEKIĆ DIMITRIJE
+ČEKIĆ DRAGAN
+ČEKIĆ ILIJA
+ČEKIĆ JOVAN
+ČEKIĆ MILORAD
+ČEKIĆ MILORAD
+ČEKIĆ MILOVAN
+ČEKIĆ MIRJANA
+ČEKIĆ MOMČILO
+ČEKIĆ SAVA
+ČEKIĆ SAVA
+ČEKIĆ VASA
+ČEKIĆ ZDRAVKO
+ČEKRDŽIN RADISLAV
+ČELAR STEVAN
+ČELEBIĆ ALEKSANDAR
+ČELEBIĆ BOŽO
+ČELEBIĆ ILIJA
+ČELEBIĆ MILORAD
+ČELEBIĆ MOMČILO
+ČELEBIĆ OLGA
+ČELEBIĆ-TUBIĆ VESNA
+ČELEBIĆ ZORKA
+ČELEKETIĆ JOVAN
+ČELEKETIĆ JOVAN
+ČELEKETIĆ MIROSLAV
+ČELEKETIĆ MIROSLAV
+ČELEKETIĆ RADOVAN
+ČELEKETIĆ TAMARA
+ČELENAK KATALIN
+ČELESNIK DRAGUTIN
+ČELIĆ BANE
+ČELIĆ DINKA
+ČELIĆ GLIGORIJE
+ČELIĆ ILIJA
+ČELIĆ KATARINA
+ČELIĆ LJUBINKO
+ČELIĆ LJUBOMIR
+ČELIĆ MILIVOJ
+ČELIĆ PAVLE
+ČELIĆ SRĐAN
+ČELIĆ STANKO DR
+ČELIĆ VERA
+ČELICA JELENA
+ČELIKOVIĆ EMIL
+ČELOFIGA ANTONIJA
+ČELOVIĆ MIRJANA
+ČELOVSKI ANDREJ
+ČELOVSKI DRAGICA
+ČEMAN ĐORĐE
+ČEMAN ĐURA
+ČEMAN ANDRIJA
+ČEMAN DANILO
+ČEMAN GORDANA
+ČEMAN JAN
+ČEMAN JOVAN
+ČEMAN MIŠA
+ČEMAN MIROSLAV
+ČEMAN OLGA
+ČEMAN RUŽENKA
+ČEMAN SAMUEL
+ČEMAN STEVAN
+ČEMAN TEREZA
+ČEMBIĆ MILAN
+ČEMERE ERŽEBET
+ČEMERE LAJOŠ
+ČEMERLIĆ PETAR
+ČENDEŠ BRANKO
+ČENEJAC ŽIVAN
+ČENEJAC GRUJA
+ČENEJAC LJUBICA
+ČENEJAC LJUBICA
+ČENEJAC MILOŠ
+ČENEJAC MILUTIN
+ČENEJAC TOMISLAV
+ČENEJAC VELISLAV
+ČENGERI ATILA
+ČENGIĆ MARIJA
+ČENUŠA GEORGINA
+ČEPČANJI MIRJANA
+ČEPE ANICA
+ČEPI JANOŠ
+ČEPI LASLO
+ČEPI MARIJA
+ČEPI NANDOR
+ČEPIĆ BORISLAV
+ČEPIĆ SLOBODAN
+ČEPIĆ SMILJA
+ČEPIĆ VELIMIR
+ČEPIN VIKTOR
+ČEPLE STEVAN
+ČEPREGI IRENA
+ČEPREGI JULIJA
+ČEPSKI JOVAN
+ČEPSKI STEVAN
+ČER ŠANDOR
+ČER ALEKSANDAR
+ČER FRANJA
+ČER LADISLAV
+ČER MARIJA
+ČEREKOVIĆ ELIZABETA
+ČEREKOVIĆ RISTO
+ČEREKOVIĆ SLAVKO
+ČEREKOVIĆ VASKRSIJE
+ČEREVIĆ IVAN
+ČEREVIĆ VERICA
+ČEREVICKI ALEKSANDAR
+ČEREVICKI DUŠAN
+ČEREVICKI JOVAN
+ČEREVICKI LJUBICA
+ČEREVICKI MITA
+ČEREVICKI NADA
+ČEREVICKI RADA
+ČEREVICKI RUŽICA
+ČEREVICKI STEVAN
+ČEREVICKI SVETISLAV
+ČEREVICKI TEODOR
+ČERGE BELA
+ČERI JOŽEF
+ČERKEZ BOGDANKA
+ČERKEZ DUŠANKA
+ČERKEZ EVICA
+ČERKEZ JOVANKA
+ČERKEZ STEVAN
+ČERKEZOV DUŠANKA
+ČERKIĆ OSMAN
+ČERKIĆ VASILIJE
+ČERNČEC VERA
+ČERNAK EVA
+ČERNEK-APRO ŽUŽANA
+ČERNEKA STEVAN
+ČERNI IŠTVAN
+ČERNIČEK ERŽEBET
+ČERNIČEK IŠTVAN
+ČERNIČEK IŠTVAN
+ČERNIĆ DUŠAN
+ČERNIK ATILA
+ČERNIK JOŽEF
+ČERNIK MARGITA
+ČERNIVEC TATJANA
+ČERNJA MARIJA
+ČERNJA MATILDA
+ČERNJAK LADISLAV
+ČERNJANSKI DRAGOMIR
+ČERNJEVSKI SVETISLAV
+ČERNJUŠ JAKIM
+ČERNOGUBOV BORIS
+ČERNUŠ IBOLJA
+ČERNUŠ TIBOR
+ČEROVIĆ RATKO
+ČERUBDŽIĆ DRAGOMIR
+ČERUBDŽIĆ JOVAN
+ČERUBDŽIĆ MARGITA
+ČERUBDŽIĆ MARGITA
+ČERUPOŽIĆ OLGA
+ČERVARI ERŽEBET
+ČERVENJAK JELISAVETA
+ČERVENJAK JOSIP
+ČERVENJAK LJUBICA
+ČERVENJAK OLGA
+ČERVENJAK PETAR
+ČERVENJAK ZAGORKA
+ČERVENKO ALEKSANDAR
+ČERVENKO ANA
+ČESAK ANDRIJA
+ČETE ARON DIPL ING
+ČETIĆ MILORAD
+ČETLE MARIJA
+ČETNIK BOGDAN
+ČETNIK JOVAN
+ČETNIK ZAGORKA
+ČETNIKOVIĆ PETAR DIPL OEC
+ČETOJEVIĆ MILKA
+ČETOJEVIĆ RADIVOJE
+ČEVARI ĐORĐE
+ČEVARI ANTAL
+ČEVARI MARIJA
+ČEVARI MIHAJLO
+ČEVARI ZOLTAN
+ČIČA JOVAN
+ČIČA NIKOLA
+ČIČAI JOŽEF
+ČIČAK ANKICA
+ČIČAK MIRKO
+ČIČAKIN ANĐELKA
+ČIČAREVIĆ SAVO
+ČIČEK DANIJEL
+ČIČIĆ DRAGOLJUB
+ČIČIĆ MILE
+ČIČIĆ MIROSLAV
+ČIČKOVIĆ SVETKO
+ČIČOVAČKI BORISLAV
+ČIČOVAČKI DIMITRIJE
+ČIČOVAC ĐORĐE
+ČIČOVAC KOSTA
+ČIČOVAC MILICA
+ČIČOVAC RADOSLAV
+ČIČOVAC VLADIMIR
+ČIŽEK PAVLE
+ČIŽEK SLAVOMIR
+ČIŽMEŠIJA IVAN
+ČIBRI JANOŠ
+ČIBRI PIROŠKA
+ČIEF JAN
+ČIEF MARTIN
+ČIEF SAMUEL
+ČIHI FERENC
+ČIHI JANOŠ
+ČIHI JANOŠ
+ČIK ANDRIJA
+ČIK ILIJA
+ČIK JENE
+ČIK ZOLTAN
+ČIKI JOSIP
+ČIKI MARIJA
+ČIKIĆ ĐORĐE
+ČIKIĆ CVETOMIR
+ČIKIĆ DRAGICA
+ČIKIĆ EMIL
+ČIKIĆ EVICA
+ČIKIĆ MILAN
+ČIKIĆ NIKOLA
+ČIKIĆ STEVAN
+ČIKOŠ ŽUŽANA
+ČIKOŠ ĐERĐ
+ČIKOŠ ĐORĐE
+ČIKOŠ ERŽEBET
+ČIKOŠ ERŽEBET
+ČIKOŠ FERENC
+ČIKOŠ JOSIP DR
+ČIKOŠ JULIJANA
+ČIKOŠ LADISLAV
+ČIKOŠ LEHEL
+ČIKOŠ MARIJA
+ČIKOJEVIĆ VINKO
+ČIKOVIĆ SRETKO
+ČIKVAR KARLO
+ČILAG JANOŠ
+ČILAG NANDOR
+ČILAG NANDOR
+ČILEG EVA
+ČILIĆ AVDO
+ČILIĆ IŠTVAN
+ČILIĆ JOSIP
+ČILIĆ JULIANA
+ČILIĆ MALVINA
+ČILIĆ MARKO
+ČILIK ANKA
+ČILIK ILONKA
+ČILINGIRIS PAVLE
+ČINČAK GABOR
+ČINČURAK MIHAJLO
+ČINČURAK PAVLE
+ČINČURAK STEVAN
+ČINČUREK BOŠKO
+ČINDRAK DAUT
+ČINDRAK SANIJA
+ČIP MATO
+ČIPAK-FAZEKAŠ IBOJA
+ČIPE ĐORĐE
+ČIPE ERŽEBET
+ČIPE ERŽIKA
+ČIPE FRANJA
+ČIPE IREN
+ČIPE JANOŠ
+ČIPE JOSIP
+ČIPE JULIJANA
+ČIPE LASLO
+ČIPE LASLO
+ČIPE MARIJA
+ČIPE MARTA
+ČIPE MIHALJ
+ČIPE MIHALJ
+ČIPE STJEPAN
+ČIPIĆ KATICA
+ČIPKAR ANDREJ
+ČIPKAR STEVAN
+ČIPLIĆ LAZAR
+ČIPLIĆ MILAN
+ČIPLIĆ VERA
+ČIPLIĆ VIDA
+ČIRH DEŽE
+ČIRH VASKA
+ČIRIĆ JOŽEF
+ČISAR FERENC DIPL ING
+ČISAR LASLO
+ČITLUČANIN MILICA
+ČIVČIĆ ERŽEBET
+ČIVČIĆ MIHAJLO
+ČIVČIĆ MILE
+ČIVČIĆ MILJA
+ČIVČIĆ RADOMIR
+ČIVČIĆ SAVO
+ČIVOVIĆ MILEVA
+ČIVOVIĆ RADOVAN
+ČIZMADIA GUSTAV
+ČIZMADIA VERONIKA
+ČIZMADIJA ĐULA
+ČIZMADIJA IŠTVAN
+ČIZMADIJA JANOŠ
+ČIZMADIJA KAROLJ
+ČIZMADIJA MIKI
+ČIZMAR ANA
+ČIZMAR ANICA
+ČIZMAR JANKO
+ČIZMAR JOAKIM
+ČIZMAR LAJOŠ
+ČIZMAR MARIJA
+ČIZMAR MIRKO
+ČIZMAR PAVLE
+ČIZMAR STEVAN
+ČIZMAR VLADIMIR
+ČIZMEŠIJA MAGDA
+ČIZMIĆ ANICA
+ČIZMIĆ IVAN
+ČIZMIĆ RADA
+ČIZMIĆ ZORA
+ČIZMOVIĆ VIDAK
+ČMELIK MARTIN
+ČMELIK RASTISLAV
+ČOČAJ SULO
+ČOŠKOV NADA
+ČOAŠ IRENA
+ČOBAN JON
+ČOBAN JOVAN
+ČOBAN JOVAN
+ČOBAN LIDIJA
+ČOBAN MARIJA
+ČOBAN NIKU
+ČOBANOV ŽIVKA
+ČOBANOV BILJANA
+ČOBANOV DRAGICA
+ČOBANOV DRAGOMIR
+ČOBANOV DUŠAN
+ČOBANOV JELENA
+ČOBANOV LJILJANA
+ČOBANOV MELANIJA
+ČOBANOV MILJKA
+ČOBANOV RUŽICA
+ČOBANOV SLOBODAN
+ČOBANOV SVETO
+ČOBANOV VASA
+ČOBANOV VLADISLAV
+ČOBANOV ZORAN
+ČOBANOVIĆ BOŠKO
+ČOBANOVIĆ BRANISLAV
+ČOBANOVIĆ DRAGAN
+ČOBANOVIĆ DRAGAN
+ČOBANOVIĆ DRAGAN
+ČOBANOVIĆ DUŠAN
+ČOBANOVIĆ-GEZ MARIJA
+ČOBANOVIĆ ILIJA
+ČOBANOVIĆ JELENA
+ČOBANOVIĆ LAZAR
+ČOBANOVIĆ LJILJANA
+ČOBANOVIĆ NIKOLA
+ČOBANOVIĆ RADMILA
+ČOBANOVIĆ SAVA
+ČOBANOVIĆ SAVO
+ČOBANOVIĆ SLOBODAN
+ČOBANOVIĆ VALERIJA
+ČOBANOVIĆ ZORAN
+ČOBANSKI DRAGAN
+ČOBANSKI MILENA
+ČOBANSKI RADOJKA
+ČOBIĆ RELJA
+ČOBIĆ STRAHINJA
+ČOBIĆ TIMOTEJ
+ČOBOT ILONKA
+ČOBRDA JANKO
+ČOBRDA JANKO
+ČOJIĆ STEFANIDA
+ČOKA IVANKA
+ČOKAŠ LUCIJA
+ČOKAN NIKOLA
+ČOKANICA SAVA
+ČOKANICA SOFIJA
+ČOKIĆ MILAN
+ČOKLJAT ZDENKA
+ČOKRLIĆ BARBARA
+ČOKRLIĆ JOSIP
+ČOLAK ALEKSANDAR
+ČOLAK DRAGOLJUB
+ČOLAK DRAGOLJUB
+ČOLAK GORAN
+ČOLAK KRISTINA
+ČOLAK MIHAJLO
+ČOLAK-MIHALIK MARIJA
+ČOLAKOV MILAN
+ČOLAKOV MILE
+ČOLAKOV PAVLE
+ČOLAKOVIĆ ANĐELKA
+ČOLAKOVIĆ MOMA
+ČOLAKOVIĆ NIKOLA
+ČOLAKOVIĆ SVETOZAR
+ČOLAKOVIĆ TEODOR
+ČOLAKOVIĆ VANJA
+ČOLEVIĆ SVETISLAV
+ČOLIĆ ĐURO
+ČOLIĆ ANĐELKA
+ČOLIĆ BORO
+ČOLIĆ DESA
+ČOLIĆ DUŠAN
+ČOLIĆ DUŠKO
+ČOLIĆ ELIZABETA
+ČOLIĆ-GAĆEŠA SLAVICA
+ČOLIĆ IVAN
+ČOLIĆ JOVANKA
+ČOLIĆ JOVAN
+ČOLIĆ JOVAN
+ČOLIĆ LUKA
+ČOLIĆ MARA
+ČOLIĆ MARIJA
+ČOLIĆ MILAN
+ČOLIĆ MILAN
+ČOLIĆ MILAN
+ČOLIĆ MIRJANA
+ČOLIĆ MIRKO
+ČOLIĆ MIROSLAVKA
+ČOLIĆ PETAR
+ČOLIĆ RADA
+ČOLIĆ RADMILA
+ČOLIĆ RISTO
+ČOLIĆ SAVA
+ČOLOVIĆ BOGOLJUB
+ČOLOVIĆ DRAGAN
+ČOLOVIĆ DUŠAN
+ČOLOVIĆ MILE
+ČOLOVIĆ MILIJANA
+ČOLOVIĆ OLGA
+ČOLOVIĆ PETAR
+ČOLOVIĆ RADOSLAV
+ČOLOVIĆ RADOVAN
+ČOLOVIĆ STEVAN
+ČOLOVIĆ VIDOSAV
+ČOLOVIĆ VLADO
+ČOMA ĐULA
+ČOMA ĐULA
+ČOMIĆ ĐURĐINA
+ČOMIĆ DARA
+ČOMIĆ DRAGAN
+ČOMIĆ DUŠANKA
+ČOMIĆ ERŽEBET
+ČOMIĆ ILIJA
+ČOMIĆ JAŠKO
+ČOMIĆ JAŠKO
+ČOMIĆ KRSTA
+ČOMIĆ LIDIJA
+ČOMIĆ LJUBOMIR
+ČOMIĆ MILOŠ
+ČOMIĆ MIROLJUB
+ČOMIĆ MLADEN
+ČOMIĆ SLOBODAN
+ČOMIĆ SMILJANA
+ČOMIĆ TODOR
+ČOMIĆ TODOR
+ČOMOR ILONKA
+ČOMOR MATILDA
+ČONGRADAC DANIJELA
+ČONGRADAC IVANKA
+ČONGRADAC RADOSLAV
+ČONIĆ ANKA
+ČONIĆ MILENKO
+ČONIĆ MILOŠ
+ČONIĆ PETAR
+ČONIĆ TIJANA
+ČONIĆ ZORAN
+ČONKA ĐERĐ
+ČONKA GORDANA
+ČONKA KAROLJ
+ČONKA PETAR
+ČONKAŠ EMIL
+ČONKAŠ GABRIELA
+ČONKAŠ LADISLAV
+ČONKIĆ ŽIVKO
+ČONKIĆ ALEKSA
+ČONKIĆ BILJANA
+ČONKIĆ BOGOLJUB LEKAR
+ČONKIĆ BORISLAV
+ČONKIĆ DRAGAN
+ČONKIĆ JELA
+ČONKIĆ JUDIT
+ČONKIĆ LJILJANA
+ČONKIĆ MARIJA
+ČONKIĆ MILANKA
+ČONKIĆ MILENA
+ČONKIĆ MILOŠ
+ČONKIĆ MILORAD
+ČONKIĆ MILORAD
+ČONKIĆ MILOVAN
+ČONKIĆ MOMČILO DIPL ING
+ČONKIĆ NEBOJŠA
+ČONKIĆ NESTOR
+ČONKIĆ PETAR
+ČONKIĆ RADENKO
+ČONKIĆ RADOSLAV
+ČONKIĆ SAŠA
+ČONKIĆ SLAVKO
+ČONKIĆ SLOBODAN
+ČONKIĆ SNEŽANA
+ČONKIĆ STAMENA
+ČONKIĆ STEVAN
+ČONKIĆ TIHOMIR
+ČONTOŠ JOŽEF
+ČONTOŠ ZORA
+ČOPČIĆ MARTIN
+ČOPIK PETAR
+ČOPIK VASILIJA
+ČOPORDA VUKOSAVA
+ČOR FRANJA
+ČOR JOSIP
+ČORAK JOSIP
+ČORAK STIPE
+ČORALIĆ IVANKA
+ČORBA ĐERĐ
+ČORBA IŠTVAN
+ČORBA JOVAN
+ČORBA JOVAN
+ČORBA MIHALJ
+ČORDA ALEKSANDRA
+ČORDA ALIJA
+ČORDA NADEŽDA
+ČORDA TOMISLAV
+ČORDA VERA
+ČORDAŠ ANDRIJA
+ČORDAŠ ARPAD
+ČORDAŠ DUŠANKA
+ČORDAŠ ERŽEBET
+ČORDAŠ HARGITA
+ČORDAŠ IRENA
+ČORDAŠ LASLO
+ČORDAŠ MIHALJ
+ČORDAŠ SLAVKO
+ČORDAR BRANKO
+ČORDAREV LJILJANA
+ČORDAREV VERA
+ČORDAROV BORISLAVKA
+ČORDAROV IVAN
+ČORDAROV SVETISLAV
+ČORDAROV TEODOR
+ČORDAROV TEODOR
+ČORIĆ MARIJAN
+ČORNENKI BORISLAV
+ČORNENKI DRAGOLJUB
+ČORNENKI JOVAN
+ČORNENKI VLADA
+ČORNI MILUNA
+ČORNIJ MIROSLAV
+ČORTAN ŽIVKO
+ČORTAN BOŠKO
+ČORTAN MILICA
+ČORTAN NADA
+ČORTAN RADIVOJ
+ČORTANOVAČKI SLOBODAN
+ČOVIĆ DARKO
+ČOVIĆ DARKO
+ČOVIĆ DRAGAN
+ČOVIĆ GUSTAV
+ČOVIĆ IVAN
+ČOVIĆ JANKO
+ČOVIĆ JOSIP
+ČOVIĆ KOVILJKA
+ČOVIĆ KRSTO
+ČOVIĆ LADA
+ČOVIĆ MARIJANA
+ČOVIĆ MILAN
+ČOVIĆ MILEVA
+ČOVIĆ MOMIR
+ČOVIĆ OLGA
+ČOVIĆ PETAR
+ČOVIĆ RADOŠ
+ČOVIĆ RADOSLAV
+ČOVIĆ RATKO
+ČOVIĆ SNEŽANA
+ČOVIĆ STANKO
+ČOVIĆ VLADA
+ČOVIĆ VLATKO
+ČOVIĆ ZORICA
+ČOVILO BRANISLAV
+ČOVS JAŠA
+ČOVS PAVLE
+ČOVS PAVLE
+ČOVS VERICA
+ČRETNIK-CVEJANOVIĆ OLGA DIPL ING
+ČRNJEKA ZLATKO
+ČRNOJAČKI DANISLAV
+ČUČ JELENA
+ČUČ MARIJA
+ČUČILOVIĆ BRANKA
+ČUČKOVIĆ ČEDO
+ČUČKOVIĆ ŽELJKO
+ČUČKOVIĆ ĐURO
+ČUČKOVIĆ BOŽIDAR
+ČUČKOVIĆ DRAGAN
+ČUČKOVIĆ RADOJKA
+ČUČKOVIĆ SAVA DIPL ING
+ČUČKOVIĆ SLOBODAN
+ČUČKOVIĆ SPASA
+ČUČKOVIĆ VLADIMIR
+ČUČULIS DIMITRIJE
+ČUBRANOVIĆ RADOMIR
+ČUBRILO ANKA
+ČUBRILO DRAGAN
+ČUBRILO DUŠAN
+ČUBRILO JOVO
+ČUBRILO LAZO
+ČUBRILO MILAN
+ČUBRILO PETAR
+ČUBRILO SOFIJA
+ČUBRILO VLADIMIR
+ČUBRILOVIĆ MILAN
+ČUBROVIĆ STEVAN
+ČUDANOV ČEDA
+ČUDANOV ALEKSANDAR
+ČUDANOV MARIJA
+ČUDANOV MILICA
+ČUDIĆ IVAN
+ČUDIĆ JOVANKA
+ČUDIĆ MILORAD
+ČUDIĆ NIKOLA
+ČUDIĆ PREDRAG
+ČUDIĆ SLOBODAN
+ČUDOMIROVIĆ BOGDAN
+ČUDOMIROVIĆ UROŠ
+ČUGALJ ANKA
+ČUGALJ MIRJANA
+ČUGALJ SVETO
+ČUGELJ ANGELINA
+ČUHA MARIJA
+ČUHA PAVLE
+ČUHA SLAVKO
+ČUHA STEVAN
+ČUHA-VUJKOV RUŽA
+ČUHA ZLATA
+ČUJANOV BORIS
+ČUKA VJEKOSLAV
+ČUKALJIĆ NEVENKA
+ČUKIĆ BORIVOJE
+ČUKIĆ MILKA
+ČUKIĆ MIRSADA
+ČUKIĆ SLOBODAN
+ČUKIĆ ZORAN
+ČUKLJAŠ IVAN
+ČUKLJEK FRANJA
+ČUKLJEK MARGITA
+ČUKLJEVIĆ BUDIMKA
+ČUKOVIĆ SLAVKO
+ČUKURANOVIĆ ŽIKA
+ČUKURANOVIĆ MIJA
+ČULAJEVIĆ JOVAN
+ČULAJEVIĆ STANKO
+ČULIĆ JOVA
+ČULIK HAJNERIK
+ČULINA ŽELJKO
+ČULJAK DRAGA
+ČULJAK IVAN
+ČULJAK KARLO
+ČULJAK MIRKO
+ČULJAK NADA
+ČULJAT DANE
+ČULJAT JAKOV
+ČULJIĆ ŽIVOJIN
+ČULO BOŽA
+ČULO MARKO
+ČULO MATO
+ČUNKO BRANKO
+ČUPAK ALEKSANDAR
+ČUPELJIĆ MILIVOJE
+ČUPIĆ ĐORĐE
+ČUPIĆ BOŽIDAR
+ČUPIĆ BOJAN
+ČUPIĆ BRANISLAV
+ČUPIĆ DRAGAN
+ČUPIĆ DUŠAN
+ČUPIĆ HRISTIFOR
+ČUPIĆ JELENA
+ČUPIĆ KAJKA
+ČUPIĆ KAJKA
+ČUPIĆ KATICA
+ČUPIĆ KATICA
+ČUPIĆ KOSTADINKA
+ČUPIĆ KRISTINA
+ČUPIĆ LJUBOMIR
+ČUPIĆ MILAN
+ČUPIĆ MILICA
+ČUPIĆ MIODRAG
+ČUPIĆ MIODRAG
+ČUPIĆ MIODRAG
+ČUPIĆ MIRJANA
+ČUPIĆ MIROSLAV
+ČUPIĆ OLGA
+ČUPIĆ RADINKA
+ČUPIĆ RADOSLAV
+ČUPIĆ SPOMENKA
+ČUPIĆ STEVAN
+ČUPIĆ STEVAN
+ČUPIĆ STOJAN
+ČUPIĆ UROŠ
+ČUPIĆ ZORAN
+ČURČIĆ DUŠAN
+ČURČIĆ ILIJA
+ČURČIĆ LAZAR
+ČURČIĆ SLOBODANKA
+ČURGANOV EMIL
+ČURIĆ ŽARKO
+ČURIĆ ĐORĐE
+ČURIĆ DRAGOSLAVA
+ČURIĆ DUŠANKA
+ČURIĆ MILENA
+ČURIĆ MILOŠ
+ČURIĆ NATALIJA
+ČURIĆ RADOSLAV DR PROF
+ČURIĆ SLOBODAN
+ČURIĆ VASA
+ČURIĆ VELINKA
+ČURIĆ VIDOSAVA
+ČURIĆ VIDOSAVA
+ČUROVIĆ DANILO
+ČUROVIĆ VUKSAN
+ČURUŠKI GAVRA
+ČURUŠKI MICA
+ČUSTOVIĆ ARIF
+ČUTURA MARKO
+ČUTURIĆ JERONIM
+ČUTURILO ČEDOMIR
+ČUTURILO BOŽA
+ČUTURILO MILIVOJE
+ČUTURILO SLOBODAN DIPL ING
+ČUTURILOV MARIJA
+ČUTURILOV MILOŠ
+ČUTURILOV MILOŠ
+ČUTURILOV SVETOZAR
+ČUTURILOV VELINKA
+ČUTURILOV VUJICA
+ČUVALO LJUBICA
+ČUVARDIĆ ANTUN
+ČVOKIĆ MARKO
+ČVOKIĆ RATKO
+ČVORIĆ DUŠAN
+ČVORIĆ MILOJE
+ČVORKOV LJUBOMIR
+ČVORKOV ZDRAVKO
+ČVORKOV ZLATAN
+ČVORO-ĐUKIĆ DUŠANKA
+ČVORO DOBROSLAV
+ČVOROVIĆ JELENKA
+ČVOROVIĆ LJUBO
+ČVOROVIĆ RATKO
+ČVOROVIĆ VUJICA
+ŠĆEKIĆ BUDIMIR
+ŠĆEKIĆ DRAGOMIR
+ŠĆEKIĆ KOSA
+ŠĆEKIĆ MILANKA
+ŠĆEKIĆ MILIĆ
+ŠĆEKIĆ MILICA
+ŠĆEKIĆ MIOMIR
+ŠĆEKIĆ SLOBODAN
+ŠĆEKIĆ SVETOZAR
+ŠĆEKIĆ VUKO
+ŠĆEPANČEVIĆ ĐORĐE
+ŠĆEPANČEVIĆ NIKOLA
+ŠĆEPANOVIĆ BOGOLJUB
+ŠĆEPANOVIĆ BRANISLAV
+ŠĆEPANOVIĆ DOBROSLAVA
+ŠĆEPANOVIĆ DRAGAN
+ŠĆEPANOVIĆ DRAGAN
+ŠĆEPANOVIĆ DRAGUTIN
+ŠĆEPANOVIĆ DUŠAN
+ŠĆEPANOVIĆ GORAN
+ŠĆEPANOVIĆ GORDANA
+ŠĆEPANOVIĆ LJUBOMIR
+ŠĆEPANOVIĆ MILEVA
+ŠĆEPANOVIĆ MILOVAN
+ŠĆEPANOVIĆ MIODRAG
+ŠĆEPANOVIĆ RAŠKO
+ŠĆEPANOVIĆ RADOVAN
+ŠĆEPANOVIĆ RANKO DIPL ING
+ŠĆEPANOVIĆ SINIŠA
+ŠĆEPANOVIĆ ZORAN
+ŠĆEPANOVIĆ ZORA
+ŠĆEPOVIĆ PETAR
+ŠĆERBAĆEV GLIGORIJE
+ŠĆEVČIK PAVLE
+ŠĆIBAN MARINA
+ŠĆOPIĆ MIODRAG
+ŠĆOPIĆ STANIMIR
+ŠĆOPULOVIĆ PETAR
+ŠĆURIC JOSIP
+ŠAŠIĆ ŽIVKO
+ŠAŠIĆ ĐORĐE
+ŠAŠIĆ DUŠAN
+ŠAŠIĆ MILAN
+ŠAŠIĆ MILAN
+ŠAŠIĆ MILOŠ
+ŠAŠIĆ MIRKO
+ŠAŠIĆ NEVENKA
+ŠAŠIĆ PETAR
+ŠAŠIĆ SAVO
+ŠAŠIĆ STEVAN
+ŠAŠIĆ ZORAN
+ŠAŠIN DANICA
+ŠAŠIN RADOMIR
+ŠAŠINAČKI MARIJA
+ŠAŠINAČKI SONJA
+ŠAŠINAČKI VASILIJE
+ŠAŠLJIN LAZAR
+ŠAŠOVIĆ TRIFKO
+ŠABANI NAZIM
+ŠABANOVIĆ ABDURAHMAN
+ŠABANOVIĆ OBRAD
+ŠABEC DRAGICA
+ŠABIĆ ĐURO
+ŠABIĆ HUSEIN
+ŠABIĆ PAVLE
+ŠABLI MARTON
+ŠABLI MIHAJLO
+ŠABOVIĆ MEHMEDALIJA
+ŠADE JELENA
+ŠAFARIK LJILJANA
+ŠAFRANJ ANDRIJA
+ŠAFRANJ DEŽE
+ŠAFRANJ FRANJA
+ŠAFRANJ LASLO
+ŠAFRANJ LASLO
+ŠAFRANJ PIROŠKA
+ŠAFRANJ STEVAN
+ŠAFRANJ TEODORA
+ŠAGUNOVIĆ DUŠAN
+ŠAGUNOVIĆ MILIVOJ
+ŠAIN ANDRIJA
+ŠAIN MILEVA
+ŠAIN ZAGORKA
+ŠAINOVIĆ DUŠAN
+ŠAINOVIĆ MARINA
+ŠAJATOVIĆ JELICA
+ŠAJATOVIĆ ZDRAVKO
+ŠAJBER DANICA
+ŠAJBER MILENKO
+ŠAJDIK FRANCIŠKA
+ŠAJFAR PAVLE
+ŠAJIN MILORAD
+ŠAJINOVIĆ DRAGOSLAV
+ŠAJINOVIĆ DUŠAN
+ŠAJINOVIĆ GORDANA
+ŠAJINOVIĆ MARINKO
+ŠAJINOVIĆ SIDA
+ŠAJN DUŠAN
+ŠAJNBERGER JOVAN
+ŠAJNBERGER LILI
+ŠAJNOV JOVAN
+ŠAJNOV KATICA
+ŠAJNOV PETAR
+ŠAJNOVIĆ RADINKA
+ŠAJTI ETELKA
+ŠAJTI GIZELA
+ŠAJTI KATICA
+ŠAJTI MARIJA
+ŠAJTOŠ ĐORĐE
+ŠAJTOŠ ĐURA
+ŠAJTOŠ LJUBIŠA
+ŠAJTOŠ NIKOLA
+ŠAJTOŠ SIMA
+ŠAJTOŠ SIMA
+ŠAKIĆ ŽELJKO
+ŠAKIĆ ĐORĐE
+ŠAKIĆ ILIJA
+ŠAKIĆ ILIJA
+ŠAKIĆ ILIJA
+ŠAKIĆ JANJA
+ŠAKIĆ KATA
+ŠAKIĆ MANE
+ŠAKIĆ MILUTIN
+ŠAKIĆ RADE
+ŠAKIĆ ZORKA
+ŠAKOTA DUŠAN
+ŠAKOTA KOJO
+ŠAKOTA MILAN
+ŠAKOTA MILORAD
+ŠAKOTA SIMEON
+ŠAKOTIĆ LJUBOMIR
+ŠAKOTIĆ MIRJANA
+ŠAKU MEHMED
+ŠALABALIJA DRAGOMIR
+ŠALABALIJA VASO
+ŠALAJIĆ STEVAN
+ŠALAMON ŠANDOR
+ŠALAMON ANDRIJA
+ŠALAMON JOSIP
+ŠALAMON JOSIP
+ŠALAMON MIŠA
+ŠALAMON MIHAJLO
+ŠALAMON MIHAJLO
+ŠALANKI JANOŠ
+ŠALANKI JANOŠ
+ŠALBOT ZUZA
+ŠALER VERA
+ŠALGO JELISAVETA
+ŠALIPUROVIĆ MILOVAN
+ŠALIPUROVIĆ SLAVIŠA
+ŠAMATIĆ NEMANJA
+ŠAMEC MILICA
+ŠANDOL ATILA
+ŠANDOL ATILA
+ŠANDOL IŠTVAN
+ŠANDOL KATICA
+ŠANDOL MATIJA
+ŠANDOL MIHAJLO
+ŠANDOR ILONA
+ŠANDOR JOSIP
+ŠANDOR LADISLAV
+ŠANDOR MARIJA
+ŠANDOR TIBOR
+ŠANDORI ŠARIKA
+ŠANJIĆ MILADIN
+ŠANOVIĆ DUŠAN
+ŠANTA ŠANDOR
+ŠANTA AMALIJA
+ŠANTA BELA
+ŠANTA DUŠANKA
+ŠANTA FERENC
+ŠANTA IŠTVAN
+ŠANTA ILONKA
+ŠANTA IMRE
+ŠANTA JOSIP
+ŠANTA LASLO
+ŠANTA MIROSLAV
+ŠANTA PAL
+ŠANTA SIMA
+ŠANTA SLAVKO
+ŠANTA SOFIJA
+ŠANTA STEVAN
+ŠANTA VINKO
+ŠANTA VLADIMIR
+ŠANTAK JOSIP
+ŠANTAK KARLO
+ŠANTALAB SOFIJA
+ŠANTEK ŽELJKO
+ŠANTEK ZDENKA
+ŠAPI PIROŠKA DIPL ING
+ŠAPIĆ NIKOLA
+ŠAPINA MIROSLAV
+ŠAPONJA JOVAN
+ŠAPONJA MARKO
+ŠAPONJAC ŽARKO
+ŠAPONJAC ŽARKO
+ŠAPONJAC ALEKSANDAR
+ŠAPONJAC JELKA PROFESOR
+ŠAPONJAC RADA
+ŠAPONJAC STEVAN
+ŠAPONJSKI RADIVOJ
+ŠAPURIĆ SVETOZAR
+ŠARČANSKI JULKA
+ŠARČANSKI MILICA
+ŠARČANSKI MIROSLAV
+ŠARČEV ANTONIJA
+ŠARČEV JELENA
+ŠARČEV MIROSLAVA
+ŠARČEV NIKOLA
+ŠARČEV VLADIMIR
+ŠARČEVIĆ ŽARKO
+ŠARČEVIĆ ŽELIMIR
+ŠARČEVIĆ ANICA
+ŠARČEVIĆ BRATIMIR
+ŠARČEVIĆ DUŠAN
+ŠARČEVIĆ GROZDANA
+ŠARČEVIĆ ILKA
+ŠARČEVIĆ KATICA
+ŠARČEVIĆ MARGITA DR
+ŠARČEVIĆ MILENA
+ŠARČEVIĆ NEBOJŠA
+ŠARČEVIĆ PETAR
+ŠARČEVIĆ PREDRAG
+ŠARČEVIĆ RAJKO
+ŠARČEVIĆ VIDOJE
+ŠARČEVIĆ VOJISLAV
+ŠARŠANSKI MARINKO
+ŠARŠANSKI MILAN
+ŠARA IMRE
+ŠARA IMRE
+ŠARAC ĐORĐE
+ŠARAC BILJANA
+ŠARAC BOŠKO
+ŠARAC DUŠAN
+ŠARAC DUŠAN
+ŠARAC MILAN
+ŠARAC MILE
+ŠARAC MILICA
+ŠARAC MIODRAG
+ŠARAC RADOJE
+ŠARAC RADOMIR
+ŠARAC RADOVAN
+ŠARAC RUŽICA
+ŠARAC STEVA
+ŠARAC SVETOZAR
+ŠARANDI ŠANDOR
+ŠARANOVIĆ ANITA
+ŠARANOVIĆ DRAGIŠA
+ŠARANOVIĆ MILADIN DR LEKAR
+ŠARANOVIĆ MILOŠ
+ŠARANOVIĆ MIODRAG
+ŠARANOVIĆ ZORAN
+ŠARENAC BOŽIDAR
+ŠARENAC MARKO
+ŠARENAC ROZINA
+ŠARENAC VIDAK
+ŠARENAC VOJISLAV
+ŠARGAČ BRANKO
+ŠARGIĆ MILORAD
+ŠARGIĆ VLADIMIR
+ŠARGIĆ ZLATICA
+ŠARGIN ŽARKO
+ŠARGIN MARIJA
+ŠARI MARIJA
+ŠARI STEVAN
+ŠARIĆ JOSIP
+ŠARIĆ KATARINA
+ŠARIĆ KOSTA
+ŠARIĆ LJUBICA
+ŠARIĆ MARIJA
+ŠARIĆ MATO
+ŠARIĆ NENAD
+ŠARIĆ SLOBODAN
+ŠARIĆ SOFIJA
+ŠARIĆ STEVAN
+ŠARIĆ TOMISLAV MR
+ŠARIĆ ZVEZDANA
+ŠARIK ANA
+ŠARIK ANDRIJA
+ŠARIK JOVAN
+ŠARIK KATICA
+ŠARIK LJUBICA
+ŠARIK MIROSLAV
+ŠARIK STEVAN
+ŠARIK-VIDIĆ NADA
+ŠARIK VLADIMIR
+ŠARKADI VERONIKA
+ŠARKANJ ANTON
+ŠARKANJ FERENC
+ŠARKANJ FRANJA
+ŠARKANJ JANOŠ
+ŠARKANJAC FERENC
+ŠARKEZI-PETRIĆ MARGITA
+ŠARKIĆ SRĐAN
+ŠARKOVIĆ DUŠAN
+ŠARKOVIĆ MIODRAG DR
+ŠARKOVIĆ ZORAN
+ŠARNJAI ANKICA
+ŠARNJAI MIKLOŠ
+ŠARNJAI PAL
+ŠARO JOVAN
+ŠARO NADA
+ŠAROŠI VALERIJA
+ŠAROŠKOVIĆ VUKICA
+ŠAROI-SABO VERA
+ŠAROVIĆ ĐURO
+ŠAROVIĆ MIRKO
+ŠAROVIĆ PETAR
+ŠARU DUŠICA
+ŠARVARI ŠANDOR
+ŠARVARI KAROLJ
+ŠARVARI MARTA
+ŠARVARI ROZALIJA
+ŠARVARI VALERIJA
+ŠASIVAR AHMED
+ŠATARA MILAN
+ŠATORA STOJAN
+ŠATRIĆ ANA
+ŠATRIĆ BRANISLAV
+ŠAULA GORAN
+ŠAULA RADOVAN
+ŠAULIĆ DIMITRIJE
+ŠAVELIN ŠANDOR
+ŠAVELIN JOSIP
+ŠAVELIN JOVAN
+ŠAVELIN JULIJA
+ŠAVERDIJA NIKOLA
+ŠAVIJA DUŠAN
+ŠAVIJA MILE
+ŠAVIJA MILORAD
+ŠAVIJA PETAR
+ŠAVIJA RADE
+ŠAVRLJUGA MILAN
+ŠEČIĆ ALIJA
+ŠEČIĆ JULKA
+ŠEŠA SLAVKO
+ŠEŠELJA BRANIMIR
+ŠEŠELJA MARIJAN
+ŠEŠERINAC ĐORĐE
+ŠEŠEVIĆ ĐORĐE
+ŠEŠEVIĆ DRAGICA
+ŠEŠEVIĆ LEONA
+ŠEŠEVIĆ LJILJANA
+ŠEŠEVIĆ MARA
+ŠEŠEVIĆ MILIVOJ
+ŠEŠEVIĆ STEVAN
+ŠEŠIĆ ŽIVOTA DIPL ING
+ŠEŠIĆ AURELIJA
+ŠEŠIĆ DRAGOLJUB
+ŠEŠIĆ DRAGOLJUB
+ŠEŠIĆ VERA
+ŠEŠIĆ VIDA
+ŠEŠKAR NADA
+ŠEŠLIJA ČEDA
+ŠEŠLIJA BRANKO
+ŠEŠLIJA DRAGAN
+ŠEŠLIJA DUŠAN
+ŠEŠUM BRANKO
+ŠEŠUM DRAGOLJUB
+ŠEŠUM ILIJA
+ŠEŠUM MIHAJLO
+ŠEŠUM MILAN
+ŠEŠUM MILAN
+ŠEŠUM MILENKO
+ŠEŠUM SAVA
+ŠEŠUM SLAVICA
+ŠEŠUM TOMA
+ŠEĆEROV ANĐELIJA
+ŠEĆEROV BILJANA
+ŠEĆEROV BRANISLAV
+ŠEĆEROV DRENKA
+ŠEĆEROV DUŠAN
+ŠEĆEROV EMIL
+ŠEĆEROV IDA
+ŠEĆEROV IVAN
+ŠEĆEROV JOVAN
+ŠEĆEROV KAJA
+ŠEĆEROV MATA
+ŠEĆEROV MILAN
+ŠEĆEROV PAVLE
+ŠEĆEROV PETAR DIPL ING
+ŠEĆEROV PETAR
+ŠEĆEROV PRODAN
+ŠEĆEROV RADOSLAV
+ŠEĆEROV SAVA
+ŠEĆEROV SINIŠA
+ŠEĆEROV SVETLANA
+ŠEĆEROV SVETOZAR
+ŠEĆEROV SVETOZAR
+ŠEĆEROV SVETOZAR
+ŠEĆEROV ZLATOJE
+ŠEĆEROV ZLATOJE
+ŠEBEŠĆEN IMRE
+ŠEBEŠĆEN JOŽEF
+ŠEBEDINI NEVZAD
+ŠEBEK ĐULA
+ŠEBEK ANUŠKA
+ŠEBEK IVAN
+ŠEBEK JOSIP
+ŠEBEKOVIĆ PAVLE
+ŠEBEZ DRAGAN
+ŠEBEZ DUŠAN
+ŠEBEZ LAZO
+ŠEBEZ RADOJKA
+ŠEBEZ SIMO
+ŠEBEZ STEVAN
+ŠEBEZ STEVO
+ŠEBEZ STEVO
+ŠEBI JELICA
+ŠEFČIĆ EMIL
+ŠEFČIĆ MIRKO
+ŠEFER ĐORĐE DIPL ING
+ŠEFER ALEKSANDRA
+ŠEFER JULIJE DR
+ŠEFER KATARINA
+ŠEFER KLARA
+ŠEFER MIODRAG
+ŠEFER PETAR
+ŠEFER RADOJE
+ŠEFER SLAVKO
+ŠEGEC EDUARD
+ŠEGINA NIKOLA
+ŠEGO NIKOLA
+ŠEGOVIĆ DRAGAN
+ŠEGOVIĆ MILOŠ
+ŠEGRT ČEDOMIR
+ŠEGRT ČEDOMIR
+ŠEGRT JOVO
+ŠEGRT JOVO
+ŠEGRT MATO
+ŠEGRT MLADEN
+ŠEGRT NADA
+ŠEGRT PETAR
+ŠEGRT VOJISLAV
+ŠEGULJEV DUŠAN
+ŠEGULJEV DUŠAN
+ŠEGULJEV DUŠAN
+ŠEGULJEV GRUJA
+ŠEGULJEV JOVAN
+ŠEGULJEV MARKO
+ŠEGULJEV MIKA
+ŠEGULJEV MILENKO
+ŠEGULJEV PAJA
+ŠEGULJEV PETAR
+ŠEGULJEV RADOSLAV
+ŠEGULJEV RUŽICA
+ŠEGULJEV SLAVKO
+ŠEGULJEV SNEŽANA
+ŠEGULJEV ZAGORKA
+ŠEGULJEV ZORICA
+ŠEHIĆ LJUBICA
+ŠEHIĆ MIRSA
+ŠEHIĆ SLAVICA
+ŠEHOVIĆ RAMIZ
+ŠEJMEŠI STEVAN
+ŠEJPEŠ ŠARLOTA
+ŠEJPEŠ FEDOR
+ŠEJPEŠ FEDOR
+ŠEJPEŠ GALINA
+ŠEJPEŠ ILONA
+ŠEK JULIJAN
+ŠEKARIĆ MILOSAV
+ŠEKARIĆ NADA
+ŠEKEROVIĆ DRAGAN
+ŠEKULARAC ALEKSANDRA
+ŠEKULARAC BRANISLAV DIPL OEC
+ŠEKULARAC DUŠAN
+ŠEKULARAC PREDRAG
+ŠEKULARAC SAVKA
+ŠEKULARAC SLOBODAN
+ŠEL MARGITA
+ŠELB LASLO
+ŠELEST SLOBODANKA
+ŠELJEM JULIJANA
+ŠELJEM KAROLJ DIPL ING
+ŠELJEM LJILJANA
+ŠELJEM STEVAN
+ŠELJEM ZOLTAN
+ŠELKEN ILONKA
+ŠELMIĆ VUKOMAN DIPL ING
+ŠENČEVIĆ MILOMIR
+ŠENBORN ADALBERT DR PROF
+ŠENDULA ŠANDOR
+ŠENDULA ANTAL
+ŠENDULA GABOR
+ŠENHAUZER TOMISLAV
+ŠENK ALBINA
+ŠENK IVAN DIPL ING
+ŠENK VOJIN
+ŠENTALER EMIL
+ŠEP LENKA
+ŠEPŠEI KRISTINA
+ŠEPA SVETOZAR
+ŠEPAREVIĆ DARKO
+ŠEPAROVIĆ DARKO
+ŠEPAROVIĆ LJILJANA
+ŠEPAROVIĆ MIROSLAV
+ŠEPAROVIĆ ZORA
+ŠEPEC VLADIMIR
+ŠEPECANOVIĆ MILOŠ
+ŠEPELJ LENKA
+ŠEPERAC RANKA
+ŠEPIĆ ZADA
+ŠEPINSKI ĐURA
+ŠEPINSKI ĐURA
+ŠEPINSKI JOAKIM
+ŠEPINSKI SLAVICA
+ŠERBAN SLOBODANKA
+ŠERBEDŽIJA DRAGOLJUB
+ŠERBEDŽIJA MIRKO
+ŠERBEDŽIJA MIRKO
+ŠERBIĆ JELKA
+ŠERBIĆ ZAGORKA
+ŠERBIĆ ZAGORKA
+ŠERBULA BRANKO
+ŠERBULA MILAN
+ŠEREŠ ŠANDOR
+ŠEREŠ ŽUŽANA
+ŠEREŠ ANA
+ŠEREŠ ANTUN
+ŠEREŠ ENDRE
+ŠEREŠ ESTER
+ŠEREŠ FRANCIŠKA
+ŠEREŠ GIZELA
+ŠEREŠ IMRE
+ŠEREŠ JANOŠ
+ŠEREŠ KAROLJ MR
+ŠEREŠ LASLO
+ŠEREŠ STEVAN
+ŠEREGI ZOLTAN
+ŠEREMETKOVSKI ALEKSA
+ŠEREMETKOVSKI BONA
+ŠERER LENKA
+ŠERFEZI ĐURA
+ŠERIĆ MILKA
+ŠERIF NEŠAT
+ŠERIFI RABIJA
+ŠERIFI SAFET
+ŠERKOV LJILJANA
+ŠERKOV RADOSLAV
+ŠEROVIĆ JOVICA
+ŠESEK STANISLAV
+ŠESTAN BORIS
+ŠESTANOV BRANKO
+ŠESTANOV MILENA
+ŠESTIĆ BOGDAN
+ŠETALO ŠANDOR
+ŠETALO FRANJA
+ŠETALO IMRE
+ŠETALO IMRE
+ŠETALO KARLO
+ŠETALO KAROLJ
+ŠETKA KATA
+ŠETKA TOMISLAV
+ŠETRAJČIĆ ILDIKO
+ŠEVČIĆ ĐORĐE
+ŠEVAR EMILIJA
+ŠEVAR JOSIP VETERINAR
+ŠEVAR VLADISLAV
+ŠEVARLIĆ KOSTA
+ŠEVEROV RADOSLAV
+ŠEVIĆ ĐORĐE MR
+ŠEVIĆ ĐORĐE
+ŠEVIĆ ĐORĐE
+ŠEVIĆ ALEKSANDAR
+ŠEVIĆ BORISLAV
+ŠEVIĆ DRAGAN
+ŠEVIĆ DRAGOLJUB
+ŠEVIĆ DRAGOLJUB
+ŠEVIĆ JOVO
+ŠEVIĆ LAZAR
+ŠEVIĆ MILAN
+ŠEVIĆ MILOŠ
+ŠEVIĆ MILORAD
+ŠEVIĆ MIROSLAVA
+ŠEVIĆ NADA
+ŠEVIĆ NADA
+ŠEVIĆ PETAR
+ŠEVIĆ PETAR
+ŠEVIĆ PREDRAG
+ŠEVIĆ RADOVAN
+ŠEVIĆ SAVKA
+ŠEVIĆ SLOBODAN
+ŠEVIĆ SRĐAN
+ŠEVIĆ TRIVO
+ŠEVO ČEDOMIR
+ŠEVO ALEKSANDAR
+ŠEVO BOŠKO
+ŠEVO BOŠKO
+ŠEVO BRANKO
+ŠEVO DUŠAN
+ŠEVO JOVO
+ŠEVO MILAN
+ŠEVO MILAN
+ŠEVO MILAN
+ŠEVO MLADEN
+ŠEVO SLAVICA
+ŠEVO VLADO
+ŠIŠA JOSIP
+ŠIŠA JOSIP
+ŠIŠAKOVIĆ MILENA
+ŠIŠAKOVIĆ MIROSLAV
+ŠIŠARICA LJUPKO
+ŠIŠARICA ZDRAVKO
+ŠIŠEVIĆ ANĐELKA
+ŠIŠIĆ MILAN
+ŠIŠIĆ MLADEN
+ŠIŠIĆ PETKA
+ŠIŠIĆ STJEPAN
+ŠIŠKA MARGITA
+ŠIŠKOV ANTE
+ŠIŠKOVIĆ DRAGOLJUB
+ŠIŠKOVIĆ DRAGOLJUB
+ŠIŠLJAGIĆ ČEDO
+ŠIŠLJAGIĆ DUŠAN
+ŠIŠOVIĆ DRAGOLJUB
+ŠIŠOVIĆ MILAŠIN
+ŠIĐANIN BRANISLAV
+ŠIĐANIN DUŠAN DIPL ING
+ŠIĐANIN MILICA
+ŠIĐANIN MILOJE DIPL ING
+ŠIĐANSKI BUDIMIR
+ŠIĐANSKI MIROSLAV
+ŠIBALIĆ ILIJA
+ŠIBALIĆ LJUBOMIR
+ŠIBUL ZORAN
+ŠIBUL ZORICA
+ŠIBULOV ĐURA
+ŠIC MARIJA
+ŠIC TEREZA
+ŠIFLIŠ JAGODA
+ŠIFLIŠ LAJOŠ
+ŠIFLIŠ SLAVKO
+ŠIGUD ĐORĐE
+ŠIHA IŠTVAN
+ŠIJAČIĆ ALEKSANDAR
+ŠIJAČIĆ ALEKSANDAR
+ŠIJAČIĆ BORISLAV
+ŠIJAČIĆ BOSILJKA
+ŠIJAČIĆ BRANISLAV
+ŠIJAČIĆ DANICA
+ŠIJAČIĆ DANICA
+ŠIJAČIĆ DANILO
+ŠIJAČIĆ DANILO
+ŠIJAČIĆ DUŠAN
+ŠIJAČIĆ DUŠICA
+ŠIJAČIĆ DUŠICA
+ŠIJAČIĆ JELICA
+ŠIJAČIĆ LESA
+ŠIJAČIĆ MILIVOJE
+ŠIJAČIĆ MILORAD
+ŠIJAČIĆ MIROSLAV
+ŠIJAČIĆ RADOSLAV
+ŠIJAČIĆ STANKA
+ŠIJAČIĆ STEVAN
+ŠIJAČIĆ ZORICA
+ŠIJAČKI ŽIVA
+ŠIJAČKI ŽIVKO
+ŠIJAČKI ĐURĐINKA
+ŠIJAČKI BOŽIDAR
+ŠIJAČKI DRAGANA
+ŠIJAČKI GORDANA
+ŠIJAČKI ISA
+ŠIJAČKI JOVAN
+ŠIJAČKI KOSTA
+ŠIJAČKI LAZAR
+ŠIJAČKI MILAN
+ŠIJAČKI MILENKO
+ŠIJAČKI MILOŠ
+ŠIJAČKI MIRJANA
+ŠIJAČKI NESTOR DR
+ŠIJAČKI PETAR
+ŠIJAČKI PREDRAG
+ŠIJAČKI RADOSLAVA
+ŠIJAČKI SIMA
+ŠIJAČKI SLAVKO
+ŠIJAČKI SLOBODAN
+ŠIJAČKI STEVAN
+ŠIJAČKI TOMISLAV
+ŠIJAČKI VITOMIR
+ŠIJAČKI VUJICA
+ŠIJAK ĐORĐE
+ŠIJAK JELICA
+ŠIJAK MILENKO
+ŠIJAK MILOŠ
+ŠIJAK PAVLE
+ŠIJAK PETAR
+ŠIJAK TOMA
+ŠIJAKOV STANISLAVA
+ŠIJAKOV VELJKO
+ŠIJAKOVIĆ DRAGICA
+ŠIJAKOVIĆ MILORAD
+ŠIJAKOVIĆ STEVA
+ŠIJAKOVIĆ ZORAN
+ŠIJAN ALEKSANDRA
+ŠIJAN BOJA
+ŠIJAN BRANKO
+ŠIJAN BRANKO
+ŠIJAN BRANKO
+ŠIJAN DANE
+ŠIJAN ILIJA
+ŠIJAN MILEVA
+ŠIJAN MILOŠ
+ŠIJAN MIRKO
+ŠIJAN NEVENKA
+ŠIJAN NIKOLA
+ŠIJAN RADE
+ŠIJAN SLOBODAN
+ŠIJUK DRAGAN
+ŠIK TIBOR
+ŠIKET IŠTVAN
+ŠIKET IŠTVAN
+ŠIKET IMRE
+ŠIKET JOŽEF
+ŠIKET LASLO
+ŠIKET LASLO
+ŠIKET LASLO
+ŠIKET MAGDA
+ŠIKET STEVAN
+ŠIKIĆ BOGDAN
+ŠIKIĆ RADOSLAV
+ŠIKMAN ZVONKO
+ŠIKOPARIJA ĐORĐE
+ŠIKOPARIJA BORISLAV
+ŠIKOPARIJA DUŠAN
+ŠIKOPARIJA JELENA
+ŠIKOPARIJA MILAN
+ŠIKOPARIJA NEVENA
+ŠIKOPARIJA TIHOMIR
+ŠIKOPARIJA TIHOMIR
+ŠIKOPARIJA VLADIMIR
+ŠILE ŠANDOR
+ŠILE LADISLAV
+ŠILE ZOLTAN
+ŠILER MILORAD
+ŠILER MILORAD
+ŠILI IŠTVAN
+ŠILI KARLO
+ŠILI MIHAJLO
+ŠILI VALERIJA
+ŠILIĆ ĐORĐE
+ŠILIĆ ĐORĐE
+ŠILIĆ ĐORĐE
+ŠILIĆ ANA
+ŠILIĆ BOGDAN
+ŠILIĆ DANICA
+ŠILIĆ DRAGOMIR
+ŠILIĆ DUŠICA
+ŠILIĆ JOVAN
+ŠILIĆ LJUBICA
+ŠILIĆ MILORAD DR
+ŠILIĆ MILOSAVA
+ŠILIĆ MIRJANA
+ŠILIĆ MIRKO
+ŠILIĆ MIRKO
+ŠILIĆ NADA
+ŠILIĆ NIKOLA
+ŠILIĆ OLGICA
+ŠILIĆ OLGICA
+ŠILIĆ PETAR
+ŠILIĆ PETAR
+ŠILIĆ RACKO
+ŠILIĆ SAVA
+ŠILIĆ SPASENKA
+ŠILIĆ STOJAN
+ŠILIĆ TOŠA
+ŠILIĆ TODOR
+ŠILIĆ VASA
+ŠILIĆ VERA
+ŠILIĆ VITOMIR
+ŠILJEG JOZO
+ŠILJEGOVIĆ BOŠKO
+ŠILJEGOVIĆ BOŠKO
+ŠILJEGOVIĆ DRAGOLJUB
+ŠILJEGOVIĆ DUŠAN
+ŠILJEGOVIĆ JOVANKA
+ŠILJEGOVIĆ MILAN
+ŠILJEGOVIĆ NADA
+ŠILJIĆ ĆAMIL
+ŠILJKUT MILAN
+ŠILJKUT MILAN
+ŠILJKUT MIRKO
+ŠIMČIĆ OLGICA
+ŠIMŠIĆ DUŠAN
+ŠIMŠIĆ ILIJA
+ŠIMŠIĆ SAVO
+ŠIMA JOAKIM
+ŠIMA MARGITA
+ŠIMA VERONIKA
+ŠIMAK JAN
+ŠIMALA VIKTOR
+ŠIMAN ALEKSEJ
+ŠIMANDI GABRIJELA
+ŠIMANDI STEVAN
+ŠIMEK VLATKO
+ŠIMIČIĆ PETAR
+ŠIMIČIĆ SVETISLAV
+ŠIMIĆ ANTO
+ŠIMIĆ BOŽANA
+ŠIMIĆ FRANJO
+ŠIMIĆ GIZELA
+ŠIMIĆ HRVOJE
+ŠIMIĆ JULA DIPL ING
+ŠIMIĆ MILAN
+ŠIMIĆ MILAN
+ŠIMIĆ MIROSLAV
+ŠIMIĆ MLADEN
+ŠIMIĆ NINOSLAV
+ŠIMIĆ SLAVKO
+ŠIMIĆ SLAVKO
+ŠIMIĆ STEVAN
+ŠIMIG TIBOR
+ŠIMOKOVIĆ KATARINA
+ŠIMON ŠANDOR
+ŠIMON ĐERĐ
+ŠIMON ARPAD
+ŠIMON ERŽEBET
+ŠIMON MARICA
+ŠIMON MIHALJ
+ŠIMON VILMOŠ DR
+ŠIMONIK VLADA
+ŠIMONJI ŠANDOR
+ŠIMONJI BARBARA
+ŠIMONJI JANOŠ
+ŠIMONJI SOFIJA
+ŠIMONJI ZOLTAN
+ŠIMONJI ZVONKO
+ŠIMONJIK MATIJA
+ŠIMOVIĆ JOŽEF
+ŠIMOVIĆ MIRO
+ŠIMPRAGA DUŠAN
+ŠIMPRAGA JADRANKA
+ŠIMUDVARAC PAVAO
+ŠIMULIJA DRAŽEN
+ŠIMULIJA JOVO
+ŠIMUNĐA LJUBOMIR
+ŠIMUNEC MARIJA
+ŠIMUNIĆ ANKA
+ŠIMUNIĆ IVAN
+ŠIMUNIĆ KARLO
+ŠIMUNIĆ STEVAN
+ŠIMUNOVAČKI KATICA
+ŠIMUNOVAČKI NIKOLA
+ŠIMUNOVAČKI NIKOLA
+ŠIMUNOVAČKI SLAVKO
+ŠIMUNOVIĆ GORDANA
+ŠIMUNOVIĆ GORDANA
+ŠIMUNOVIĆ JOSIP
+ŠIMUNOVIĆ JOSIP
+ŠIMUNOVIĆ JOSIP
+ŠIMUNOVIĆ NENAD
+ŠIMUNOVIĆ NIKOLA DIPL ING
+ŠIMUNOVIĆ STANISLAV
+ŠIMUNOVIĆ STANKO
+ŠIMUNOVIĆ SVETLANA
+ŠIMUNOVIĆ TOMA
+ŠINAGL KAROLJ
+ŠINAGL KAROLJ
+ŠINAGL OTO
+ŠINAGL STEVAN
+ŠINIK DRAGAN
+ŠINIKOV ĐORĐE
+ŠINIKOV MILAN
+ŠINKA MARGITA
+ŠINKA ZLATKO
+ŠINKO GIZELA
+ŠINKO IVANKA
+ŠINKO JANOŠ
+ŠINKO STEVAN
+ŠINKO VLADISLAV
+ŠINKOVIĆ MARIJA
+ŠIPČIĆ LJUBOMIR
+ŠIPČIĆ MARIJA
+ŠIPČIĆ MIDO
+ŠIPČIĆ MIJODRAG
+ŠIPČIĆ NINOSLAV
+ŠIPEK JOSIP NOVINAR
+ŠIPETIĆ ANĐA
+ŠIPETIĆ MOMČILO
+ŠIPIĆ ALEKSANDRA
+ŠIPIN JOVANKA
+ŠIPKA BOŽA
+ŠIPKA BOŽO
+ŠIPKA BRANKO
+ŠIPKA DRAGAN
+ŠIPKA DRAGO
+ŠIPKA GRUJO
+ŠIPKA MARKO
+ŠIPKA MIRKO
+ŠIPKA MIROSLAV
+ŠIPKA MIRO
+ŠIPKA NEĐO
+ŠIPKA ZORAN
+ŠIPKA ZORAN
+ŠIPOŠ ŠANDOR
+ŠIPOŠ ĐORĐE
+ŠIPOŠ ĐORĐE
+ŠIPOŠ ĐURA
+ŠIPOŠ ĐURO
+ŠIPOŠ EDIT
+ŠIPOŠ ERŽEBET
+ŠIPOŠ IGNJAC
+ŠIPOŠ JANOŠ
+ŠIPOŠ JOVANKA
+ŠIPOŠ JOVAN
+ŠIPOŠ JULIJANA
+ŠIPOŠ MIRJANA
+ŠIPOŠ ROZALIJA
+ŠIPOŠ VLADIMIR
+ŠIPOŠEVIĆ RADOJKA
+ŠIPOSKI KRSTE
+ŠIPOVAC CVIJETA
+ŠIPOVAC DANILO
+ŠIPOVAC JANJA
+ŠIPOVAC NEDELJKO
+ŠIPOVAC RADICA
+ŠIPOVAC VASILIJA
+ŠIPRAGA UROŠ
+ŠIPUŠIĆ HELENA
+ŠIRADOVIĆ BRANISLAV
+ŠIRIJOVSKI GOCE
+ŠIRKA JAN
+ŠIRKA SAMUEL
+ŠIROČKA ANTUN
+ŠIROKI ADAM
+ŠIROLA IVAN
+ŠIRONIĆ LJUBO
+ŠISTOV DRAGO
+ŠITE KAROLJ
+ŠITE MARIJA
+ŠITE TIBOR
+ŠITER KARLO
+ŠITER RUŽICA
+ŠITER SLOBODAN
+ŠIVEGI IMRE
+ŠKALJAC STANKO
+ŠKALJAC ZORAN
+ŠKARIČIĆ MIROSLAV
+ŠKARICA DOLORES
+ŠKARICA STJEPAN
+ŠKARIN TODOR
+ŠKATARIĆ ZORAN
+ŠKAVIĆ CVIJO
+ŠKAVIĆ JOVO
+ŠKAVIĆ MILAN
+ŠKAVIĆ NIKOLA
+ŠKEKIĆ MIOMIR
+ŠKILJAJICA VLADIMIR
+ŠKILJEVIĆ MILIDRAG
+ŠKOBALJ NADA
+ŠKOBALJ VOJISLAV
+ŠKODAK PAVLE
+ŠKOLOPIJA LAZAR
+ŠKONDRIĆ DRAGOMIR
+ŠKORIĆ ČEDOMIR
+ŠKORIĆ ŠTRACIMIR
+ŠKORIĆ ĐUJA
+ŠKORIĆ ĐURO
+ŠKORIĆ ANKA
+ŠKORIĆ BOSILJKA
+ŠKORIĆ BRANISLAV
+ŠKORIĆ BRANKO
+ŠKORIĆ DRAGAN DR
+ŠKORIĆ DRAGAN
+ŠKORIĆ DRAGAN
+ŠKORIĆ DUŠAN
+ŠKORIĆ DUŠAN
+ŠKORIĆ DUŠAN
+ŠKORIĆ DUŠKO
+ŠKORIĆ GRUMIKOV
+ŠKORIĆ JOVAN
+ŠKORIĆ JOVAN
+ŠKORIĆ KSENIJA
+ŠKORIĆ LAZAR
+ŠKORIĆ LJILJANA
+ŠKORIĆ MARA
+ŠKORIĆ MARIJA
+ŠKORIĆ MARIJA
+ŠKORIĆ MIĆO
+ŠKORIĆ MILAN
+ŠKORIĆ MILAN
+ŠKORIĆ MILAN
+ŠKORIĆ MILAN
+ŠKORIĆ MILENKO
+ŠKORIĆ MILIVOJ
+ŠKORIĆ MILKA
+ŠKORIĆ MILOŠ
+ŠKORIĆ MIRJANA
+ŠKORIĆ MIRKO
+ŠKORIĆ MIRKO
+ŠKORIĆ MIRKO
+ŠKORIĆ NIKOLA
+ŠKORIĆ NIKOLA
+ŠKORIĆ PAVLE
+ŠKORIĆ PAVLE
+ŠKORIĆ PERO
+ŠKORIĆ SLAVKO
+ŠKORIĆ SLOBODAN
+ŠKORIĆ SMILJA
+ŠKORIĆ SMILJA
+ŠKORIĆ SREĆKO
+ŠKORIĆ STANA
+ŠKORIĆ VLADIMIR
+ŠKORIĆ ZORA
+ŠKORO ŠIME
+ŠKORO MIRJANA
+ŠKORO VASILIJA
+ŠKRAVAN ANDRIJA
+ŠKRBIĆ ŽELJKO
+ŠKRBIĆ ĐURO
+ŠKRBIĆ ANICA
+ŠKRBIĆ BLAŽO
+ŠKRBIĆ BOŽO
+ŠKRBIĆ BOJANA
+ŠKRBIĆ BRANKO
+ŠKRBIĆ DRAGICA
+ŠKRBIĆ DUŠAN
+ŠKRBIĆ JOVAN
+ŠKRBIĆ JOVAN
+ŠKRBIĆ LJUBICA
+ŠKRBIĆ MARA
+ŠKRBIĆ MARICA
+ŠKRBIĆ MILE
+ŠKRBIĆ MILORAD
+ŠKRBIĆ MILORAD
+ŠKRBIĆ NEBOJŠA
+ŠKRBIĆ OSTOJA
+ŠKRBIĆ PETAR
+ŠKRBIĆ RADOSLAV
+ŠKRBIĆ SVETOZAR
+ŠKRBIĆ ZORKA
+ŠKRBINA STJEPAN
+ŠKRGET JOSIP
+ŠKRIJEL DRAGAN
+ŠKRIJEL MILAN
+ŠKRIJELJ AJNIJA
+ŠKRIJELJ SAMIR
+ŠKRIJELJ VEHBO
+ŠKRINJAR KAROLJ
+ŠKRINJAR MARIO
+ŠKRINJAR ZVONIMIR
+ŠKRIVAN ĐURA
+ŠKRIVAN ANTUN
+ŠKRIVAN FRANJA
+ŠKRIVAN KARLO
+ŠKRIVAN LADISLAV
+ŠKRIVAN PETAR
+ŠKRIVAN STEVAN
+ŠKRIVAN STEVAN
+ŠKRIVANJ PIŠTA
+ŠKULETIĆ OLGA
+ŠKULETIĆ ZORAN
+ŠKUNCA IVAN
+ŠKUNCA JELICA
+ŠKUNDRIĆ DUŠAN
+ŠKUNDRIĆ MILICA
+ŠKUNDRIĆ PETAR
+ŠKUNDRIĆ ROZALIJA
+ŠKVAREK VLADA
+ŠLAHTER VENDEL
+ŠLAJER RUDOLF
+ŠLAVIK ILONA
+ŠLEHTA ZDENKO
+ŠLEMENDER ĐORĐE
+ŠLEMENDER ANGELA
+ŠLEMENDER IRENA
+ŠLJAPIĆ GORAN
+ŠLJAPIĆ MIRJANA
+ŠLJAPIĆ OBREN
+ŠLJAPIĆ RUŽICA
+ŠLJAPIĆ STEVAN
+ŠLJAPIĆ TATJANA
+ŠLJAPIĆ TOMISLAV
+ŠLJAPIĆ VELEMIR
+ŠLJIVANČANIN JOVAN
+ŠLJIVANČANIN JOVAN
+ŠLJIVANČANIN MARIJA
+ŠLJIVANČANIN MILUTIN
+ŠLJIVIĆ ĐORĐE
+ŠLJIVIĆ BORKA
+ŠLJIVIĆ JELENA
+ŠLJIVIĆ LJILJANA
+ŠLJIVIĆ MIRJANA
+ŠLJIVIĆ RADOJICA
+ŠLJIVIĆ SPASOJE
+ŠLJIVIĆ VLADISLAV
+ŠLJIVKOVIĆ ĐORĐE
+ŠLJUKA DRAGIŠA
+ŠLJUKA MIJODRAG
+ŠLJUKA MILAN
+ŠLJUKA MILOŠ
+ŠLJUKIĆ ŽIVAN DR
+ŠLJUKIĆ MILIVOJ
+ŠLJUKIĆ ROSANDA
+ŠMANJA MIRKO
+ŠMANJA SLAVKO
+ŠMIDERKAL FRANJA
+ŠMIGELJSKI NIKOLA
+ŠMIGIĆ BORISLAV
+ŠMIGIĆ MILORAD
+ŠMIGIĆ SVETOZAR
+ŠMIT FERDINAND
+ŠMIT GIZELA
+ŠMIT JOSIP
+ŠMIT JOVAN
+ŠMIT-KOTA KATICA
+ŠMIT MARIJA
+ŠMIT MIRJANA
+ŠMIT-PROKIN ĐURĐINA
+ŠMIT REŽE
+ŠMIT STANA
+ŠMIT STANOJKA
+ŠMIT STEVAN
+ŠMIT STEVAN
+ŠMIT VIOLETA
+ŠMIT ZLATKO
+ŠMITRAN ĐORĐE
+ŠMUK IVAN
+ŠNAJDER ŠANDOR
+ŠNAJDER ANICA
+ŠNAJDER ILINKA
+ŠNAJDER JANOŠ
+ŠNAJDER JAROSLAV
+ŠNAJDER STEVAN
+ŠNAJDER VERA
+ŠNAJDEROV JOSIP
+ŠNAJDEROV VESNA
+ŠNAUTIL DRAGUTIN
+ŠNEL PETER
+ŠNJARIĆ IVAN
+ŠOŠ ANTAL
+ŠOŠ ANTAL
+ŠOŠ BALINT
+ŠOŠ DEZIDER
+ŠOŠ GIZELA
+ŠOŠ ILONA
+ŠOŠ JELICA
+ŠOŠ LAJOŠ
+ŠOŠ MARIJA
+ŠOŠ TIBOR
+ŠOŠIĆ MIRKO
+ŠOŠIĆ NATAŠA
+ŠOŠIĆ OLGA
+ŠOŠIĆ RADOSLAV
+ŠOŠIĆ VUK
+ŠOŠKIĆ DRAGOMIR
+ŠOŠKIĆ MIRA
+ŠOĆ BOJANA
+ŠOĆ DUŠAN
+ŠOĆ TOMISLAV
+ŠOBAJIĆ DRAGOSLAV
+ŠOBAKI MARIJA
+ŠOBIĆ MIRA
+ŠOBIĆ RADE
+ŠOBIĆ VERA
+ŠOBIĆ ZORAN
+ŠOBIĆ ZORAN
+ŠOBOT ĐURA
+ŠOBOT BOŠKO
+ŠOBOT BRANKO
+ŠOBOT DRAGAN
+ŠOBOT JOVAN
+ŠOBOT LJUBOMIR
+ŠOBOT MILAN
+ŠOBOT MILICA
+ŠOBOT PETKO
+ŠOBOT SEKULA
+ŠOBOT SLAVICA
+ŠODIĆ DOBRILA
+ŠODIĆ DRAGINJA
+ŠODIĆ GIZELA
+ŠODIĆ MILAN
+ŠODIĆ TODOR
+ŠODOROVIĆ ROSA
+ŠOFHAUZER MIHAJLO
+ŠOFHAUZER ROZALIJA
+ŠOFRAN MARIJA
+ŠOFRANAC MELANIJA
+ŠOGOROV STEVAN
+ŠOJIĆ ŽIVKO
+ŠOJIĆ BRANKO
+ŠOJIĆ DRAGICA
+ŠOJIĆ NEDELJKA
+ŠOJLEVSKA SANJA
+ŠOKIĆ ĐORĐE
+ŠOKIĆ JUDITA
+ŠOKIĆ MILAN
+ŠOKIĆ PETAR
+ŠOKIĆ RADOVAN
+ŠOKIĆ SMILJA
+ŠOKICA ŽIVKO
+ŠOKICA BRANISLAV
+ŠOKICA DIMITRIJE
+ŠOKICA DRAGIŠA
+ŠOKICA JOVAN
+ŠOKICA JUDITA
+ŠOKICA LJUBICA
+ŠOKICA MILOŠ
+ŠOKICA ZORA
+ŠOKLOVAČKI ŽIVKO
+ŠOKLOVAČKI DRAGOLJUB
+ŠOKLOVAČKI NADA
+ŠOKLOVAČKI RATOMIR
+ŠOL BELA
+ŠOLAJA ĐORĐE
+ŠOLAJA DIMITRIJE
+ŠOLAJA GOJKO
+ŠOLAJA MILAN
+ŠOLAJA MIROSLAV
+ŠOLAJA NADA
+ŠOLAJA NADA
+ŠOLAJA RADOSLAV
+ŠOLAJA SLAVKO
+ŠOLAJA SLAVKO
+ŠOLAJA SLOBODAN
+ŠOLAJA VIŠNJA
+ŠOLAK JOKA
+ŠOLAK MARINKO
+ŠOLAK MILE
+ŠOLAK RADE
+ŠOLEVIĆ MILIVOJE
+ŠOLTES ŠANDOR
+ŠOLTES IBOLJA
+ŠOLTES JOŽEF
+ŠOMKEREKI ILONKA
+ŠOMKEREKI JOSIP
+ŠOMKEREKI JULIJANA
+ŠOMKEREKI LADISLAV
+ŠOMKEREKI STEVAN
+ŠOMKEREKI STEVAN
+ŠOMOĐI ŽOFIJA
+ŠOMOĐI ĐORĐE
+ŠOMOĐI EVA
+ŠOMOĐI FRANJA
+ŠOMOĐI IŠTVAN
+ŠOMOĐI JELENA
+ŠOMOĐI JOVAN
+ŠOMOĐI LASLO
+ŠOMOĐI MIHAJLO
+ŠOMOĐI PAL
+ŠOMOĐI PAL
+ŠOMOĐI PAL
+ŠOMOĐI ROZA
+ŠOMOĐI ZOLTAN
+ŠOMOĐI ZORA
+ŠOP MAGDALENA
+ŠOP MILAN
+ŠOPALO ĐURĐINA
+ŠOPALO ĐURĐINA
+ŠOPALO MIODRAG DIPL OEC
+ŠOPALO MIODRAG
+ŠORĐAN ROMAN
+ŠORAK MIRJANA
+ŠORALOV MILOŠ
+ŠORALOV MIROSLAV
+ŠORMAZ DUŠAN
+ŠORMAZ MILAN
+ŠORMAZ NIKOLA
+ŠORMAZ VLADIMIR
+ŠORONJA SAVA
+ŠORONJA VERA
+ŠOSBERGER BORIŠKA
+ŠOSBERGER JOSIP DIPL OEC
+ŠOSBERGER PAVLE
+ŠOSTAKOV RASTISLAV DIPL ING
+ŠOTI-ČALENIĆ MARIJA
+ŠOTI FEĐA
+ŠOTI IVANA
+ŠOTI JOSIP
+ŠOTI JOSIP
+ŠOTI MARIJA
+ŠOTI MARIJA
+ŠOTRA MOMČILO
+ŠOUC MILAN
+ŠOUC MIROSLAV
+ŠOUC ZLATA
+ŠOVŠ JANKO
+ŠOVŠ JOAKIM
+ŠOVANJ JOAKIM
+ŠOVENJ ALEKSANDAR
+ŠOVENJ KARLO
+ŠOVENJ VERA
+ŠOVLJAKOV JOVAN
+ŠOVLJAKOV MILOŠ
+ŠOVLJAKOV MILOŠ
+ŠOVLJANSKI ĐORĐE DIPL ING
+ŠOVLJANSKI ĐORĐE
+ŠOVLJANSKI ANKICA
+ŠOVLJANSKI BOSILJKA
+ŠOVLJANSKI BRANKO
+ŠOVLJANSKI DANICA
+ŠOVLJANSKI DANILO
+ŠOVLJANSKI DANKA
+ŠOVLJANSKI DIMITRIJE
+ŠOVLJANSKI DRAGIŠA
+ŠOVLJANSKI DRAGICA
+ŠOVLJANSKI DRAGICA
+ŠOVLJANSKI DRAGICA
+ŠOVLJANSKI DRAGOMIR
+ŠOVLJANSKI DRAGOMIR
+ŠOVLJANSKI DRAGOSLAV
+ŠOVLJANSKI DRENKA
+ŠOVLJANSKI EMIL
+ŠOVLJANSKI JULKA
+ŠOVLJANSKI LAZAR
+ŠOVLJANSKI LJUBICA
+ŠOVLJANSKI LJUBOMIR
+ŠOVLJANSKI MARGITA
+ŠOVLJANSKI MILAN
+ŠOVLJANSKI MILOŠ
+ŠOVLJANSKI MILORAD
+ŠOVLJANSKI MIRJANA
+ŠOVLJANSKI MIRJANA
+ŠOVLJANSKI MIRJANA
+ŠOVLJANSKI MIROSLAV DR
+ŠOVLJANSKI NADA
+ŠOVLJANSKI PAVLE
+ŠOVLJANSKI RADIVOJ
+ŠOVLJANSKI RADOSLAV
+ŠOVLJANSKI SAVA
+ŠOVLJANSKI STOJAN
+ŠPADIJER TATIJANA
+ŠPAGOVIĆ DRAGOSLAV
+ŠPAK VLADIMIR
+ŠPANČIĆ RADMILA
+ŠPANG LASLO
+ŠPANG ZOLTAN
+ŠPANIĆ BOŠKO
+ŠPANIĆ FRANJA
+ŠPANIĆ LADISLAV
+ŠPANIĆ NADA
+ŠPANIĆ OTO
+ŠPANJEVIĆ SUZANA
+ŠPANJEVIĆ VUKOTA
+ŠPANOVIĆ ĐORĐE
+ŠPANOVIĆ ALEKSA
+ŠPANOVIĆ MILOŠ
+ŠPANOVIĆ NIKOLA
+ŠPARAVALO MARIJA
+ŠPARAVALO NATAŠA
+ŠPARAVALO SAVA
+ŠPARAVALO ZDRAVKO
+ŠPAROVIĆ ILIJA
+ŠPEGAR LAZAR
+ŠPEHAR MARIJA
+ŠPES ETEL
+ŠPES VILIM
+ŠPES VILIM
+ŠPICA MIODRAG
+ŠPIKA MILAN
+ŠPINDLER MARIJA
+ŠPINDLER-TRBOJEVIĆ MIRJANA
+ŠPIRIĆ BORIVOJE
+ŠPIRIĆ GORDANA
+ŠPIRIĆ GOSPAVA
+ŠPIRIĆ ILE
+ŠPIRIĆ JOVO
+ŠPIRIĆ LUKA
+ŠPIRIĆ LUKA
+ŠPIRIĆ MILE
+ŠPIRIĆ NEĐO
+ŠPIRIĆ OBRAD
+ŠPIRIĆ STOJAN
+ŠPIRIĆ TODE
+ŠPIRIĆ UROŠ
+ŠPIRIĆ ZORAN
+ŠPIRKA MATILD
+ŠPIRTA ALEKSANDAR
+ŠPIRTA ALEKSANDAR
+ŠPIS DANILO
+ŠPIS DANILO
+ŠPIS LAJOŠ
+ŠPIS MIRJANA
+ŠPIS NANDOR
+ŠPONJA KOVILJKO
+ŠPROH DRENKA
+ŠPROH JANKO
+ŠPROH MAGDA
+ŠPROH SLAVKO
+ŠPROH STANKO
+ŠPROH STEVAN
+ŠRAHOL HILDA
+ŠRAHOL KARLO
+ŠRAHOL LJUDEVIT
+ŠRAJ VLADIMIR
+ŠRAK JOVICA
+ŠRAK LADISLAV
+ŠRAK LASLO
+ŠRAK OTO
+ŠRAK OTO
+ŠRAM HUGO
+ŠRANC RIHARD
+ŠRANC RIHARD
+ŠRANKA ANA
+ŠRANKA DESANKA
+ŠREDER JANOŠ
+ŠREDER JANOŠ
+ŠREK ANDRIJA DIPL ING
+ŠREK STEVAN DIPL ING
+ŠTABI ŠTEFICA
+ŠTAJN LIVIJA
+ŠTAJNER KREŠIMIR
+ŠTAJNER MIRJANA
+ŠTAJNER MIROSLAV
+ŠTAJNER ZVONIMIR
+ŠTAJNFELD MIHAJLO
+ŠTAJNIC MIROSLAV
+ŠTAJNIC TIBOR
+ŠTANDI KATICA
+ŠTANDI ZOLTAN
+ŠTANFELJ ALOJZ
+ŠTANFELJ MIROSLAV
+ŠTANGL ĐORĐE
+ŠTANJO-TOT GIZELA
+ŠTARK EGON DIPL ING
+ŠTARK MIRKO
+ŠTASNI JOSIP
+ŠTASNI KATICA
+ŠTATKIĆ MIROSLAV
+ŠTAUHER JOSIP
+ŠTEBL JELENA
+ŠTEFAN ĐORĐE
+ŠTEFAN EUĐEN
+ŠTEFAN JULIJANA
+ŠTEFAN MATIJA
+ŠTEFAN OSKAR
+ŠTEFAN RUDOLF
+ŠTEFAN TRAJAN
+ŠTEFANAC STEVAN
+ŠTEFANICKI MIŠO
+ŠTEFANIDES KARLO DR
+ŠTEFANIDES KARLO
+ŠTEFANKO VIKTORIJA
+ŠTEFANOVIĆ DRAGAN
+ŠTEFANOVIĆ DRAGUTIN
+ŠTEFANOVIĆ TOMISLAV
+ŠTEFKO ĐORĐE
+ŠTEFKO ĐORĐE
+ŠTEFOVIĆ VLADIMIR
+ŠTEFULIK JOŽEF
+ŠTEGER ROŽI
+ŠTEGER VALENTINA
+ŠTEHER RADMILA
+ŠTELCER JOSIP
+ŠTELI ANTUN
+ŠTERLE JOSIP
+ŠTERLE STEVAN
+ŠTERLEMAN KRISTIJAN
+ŠTERLEMAN PERA
+ŠTETIĆ KRISTINA
+ŠTETIĆ TIHOMIR
+ŠTETIĆ VESNA
+ŠTETIĆ VIDA
+ŠTETIN HELENA
+ŠTETIN MILAN
+ŠTETIN MILE
+ŠTETIN SVETISLAV
+ŠTEVANČEV LJUBOMIR
+ŠTICA VITOMIR
+ŠTIGLER IVAN
+ŠTIGLER MILAN
+ŠTIGLIĆ DRAGAN
+ŠTIGLIĆ SVETOZAR
+ŠTIKAVAC KOSOVKA
+ŠTIKOVAC SPASOJE
+ŠTIMAC OTO
+ŠTIMAC RUDOLF
+ŠTOKOVAC JOVAN
+ŠTOKOVAC TOMISLAV
+ŠTOLBA ZVONIMIR
+ŠTOS KATICA
+ŠTRAJH IŠTVAN
+ŠTRAJH JOSIP
+ŠTRAJH OTTO
+ŠTRANGAR NADA
+ŠTRANGAROV BORIVOJ
+ŠTRANGAROV DIMITRIJE
+ŠTRANGAROV JELENA
+ŠTRANGAROV JELENA
+ŠTRANGAROV MILICA
+ŠTRANGAROV SLOBODAN
+ŠTRAPAJEVIĆ JULIJANA
+ŠTRASER MIHAJLO DR LEKAR
+ŠTRASER NADA
+ŠTRAUB ERŽEBET
+ŠTRAUB IŠTVAN
+ŠTRAUB STEVAN
+ŠTRBA DANILO
+ŠTRBA MILAN
+ŠTRBAČKI BORISLAV
+ŠTRBAC ŽELJKO
+ŠTRBAC ĐORĐE
+ŠTRBAC ĐURO
+ŠTRBAC ANĐELKA
+ŠTRBAC BOŠKO
+ŠTRBAC BORISLAV
+ŠTRBAC BRANKA
+ŠTRBAC DARINKA
+ŠTRBAC DESANKA
+ŠTRBAC DRAGAN
+ŠTRBAC DUŠAN
+ŠTRBAC DUŠAN
+ŠTRBAC DUŠAN
+ŠTRBAC DUŠAN
+ŠTRBAC JOVAN
+ŠTRBAC LJUBICA
+ŠTRBAC LJUBOMIR
+ŠTRBAC MARIJA
+ŠTRBAC MIĆO
+ŠTRBAC MIĆO
+ŠTRBAC MILANKO
+ŠTRBAC MILAN
+ŠTRBAC MILAN
+ŠTRBAC MILAN
+ŠTRBAC MILAN
+ŠTRBAC MILENA
+ŠTRBAC MILICA
+ŠTRBAC MILIVOJ
+ŠTRBAC MILOŠ
+ŠTRBAC MIRJANA
+ŠTRBAC MIRKO
+ŠTRBAC MOMČILO
+ŠTRBAC NEMANJA
+ŠTRBAC NIKOLA
+ŠTRBAC RADOJKA
+ŠTRBAC RADOVAN
+ŠTRBAC SAVKA
+ŠTRBAC SLAVICA
+ŠTRBAC SLAVKO
+ŠTRBAC STANA
+ŠTRBAC STEVAN
+ŠTRBAC TOMISLAV
+ŠTRBAC UROŠ
+ŠTRBAC VLADO
+ŠTRBAC VUKICA
+ŠTRBAC ZORICA
+ŠTRBENK IVANKA
+ŠTRBENK NIKOLA
+ŠTRBOJA ŽIVKO
+ŠTRBOJA ĐORĐE
+ŠTRBOJA ĐORĐE
+ŠTRBOJA RADA
+ŠTRBOJA RADIVOJ
+ŠTRBOJA STEVAN
+ŠTRBOJE DIMITRIJE
+ŠTRICKI JOSIP
+ŠTRK JOSIP
+ŠTRK MARIJA
+ŠTRKIĆ MIROSLAV
+ŠTRKIĆ MOMIR
+ŠTROK ŽELJKO
+ŠTRTAK SLAVKO
+ŠTRTAK SLOBODAN
+ŠTULA MILE
+ŠTULIĆ BOŽIDAR
+ŠTULIĆ GORAN
+ŠTULIĆ JOVO
+ŠTULIĆ MARKO
+ŠTULIĆ RADOVAN
+ŠTUMPF HELMUT
+ŠTUMPF OSVALD
+ŠUŠČEVIĆ JOVO
+ŠUŠČEVIĆ ZDRAVKO
+ŠUŠA ČEDOMIR
+ŠUŠA DUŠAN
+ŠUŠA JOVAN
+ŠUŠA KEMAL
+ŠUŠA STOJANKA
+ŠUŠAK ĐOKA
+ŠUŠAK ĐORĐE
+ŠUŠAK GOSPAVA
+ŠUŠAK MARIJA
+ŠUŠAK NEVENA
+ŠUŠAK STAMENKO DR
+ŠUŠAK TOMISLAV
+ŠUŠAKOV PAJA
+ŠUŠEVSKI MILAN
+ŠUŠIĆ RISTO
+ŠUŠIĆ TOMISLAV
+ŠUŠKAVČEVIĆ ILIJA
+ŠUŠKAVČEVIĆ MIODRAG
+ŠUŠKOVIĆ BORIS
+ŠUŠLJIK JOVAN
+ŠUŠNJAR ŽARKO
+ŠUŠNJAR BORISLAV
+ŠUŠNJAR BORISLAV
+ŠUŠNJAR MIHAJLO
+ŠUŠNJAR MILAN
+ŠUŠNJAR MILAN
+ŠUŠNJAR PETAR
+ŠUŠNJAR PETAR
+ŠUŠNJAR PETAR
+ŠUŠNJAR SLAVKO
+ŠUŠNJAR SOFIJA
+ŠUŠNJAR STANKO
+ŠUŠNJEVIĆ DUŠAN
+ŠUŠNJEVIĆ MOMČILO
+ŠUŠNJEVIĆ RADOSLAV
+ŠUŠNJIĆ STANKA
+ŠUŠTRAN MLADEN
+ŠUŠTUM JOVAN
+ŠUĆAK MILAN
+ŠUĆOV ĆIRA
+ŠUĆOV DANICA
+ŠUĆOV DANILO
+ŠUĆOV MILOŠ
+ŠUĆOV VUKOSAVA
+ŠUBARA MLADEN
+ŠUBARIĆ LUKA
+ŠUBARIĆ VLASTIMIR
+ŠUBARIĆ ZORAN
+ŠUBERT ILONKA
+ŠUBIĆ JOVANKA
+ŠUBONJ SILVIUS
+ŠUDAR JOŽEF
+ŠUDAR JOSIP
+ŠUDICKI JOŽEF
+ŠUGIĆ MILAN
+ŠUGIĆ NADA
+ŠUGIĆ PETAR
+ŠUGIN ŽIVKO
+ŠUGIN BERISAV
+ŠUGIN DIMITRIJE
+ŠUGIN LEKSA
+ŠUGIN LJILJANA
+ŠUGIN LJILJANA
+ŠUGIN MILKA
+ŠUGIN MIODRAG
+ŠUGIN MIODRAG
+ŠUGIN RADA
+ŠUGIN RANKA
+ŠUHAJDA ĐURA
+ŠUHAJDA IMRE
+ŠUHAJDA LAJOŠ
+ŠUJDOVIĆ ZORAN
+ŠUJIĆ DRAGOMIR
+ŠUJIĆ REDŽO
+ŠUJICA MILAN
+ŠUKA ALEKSA
+ŠUKALOVIĆ ĐORĐE
+ŠUKARA BOGDAN
+ŠUKARA DMITAR
+ŠUKARA DUŠAN
+ŠUKIĆ DRAGICA
+ŠUKIĆ MIROLJUB
+ŠUKIĆ ZORICA
+ŠUKLA SLAVKO
+ŠUKOVIĆ MILAN
+ŠUKOVIĆ ZORKA
+ŠUKUNDA MARIJA
+ŠUKUNDA MILAN
+ŠUKURMA STEVO
+ŠULAJA MIROSLAV
+ŠULC ANDRAŠ
+ŠULC DELIMIR DR PROF
+ŠULC IMRE DIPL ING
+ŠULC IMRE
+ŠULC JOŽEF
+ŠULC JOŽEF
+ŠULC KOSANA
+ŠULC VERA
+ŠULENTIĆ MILE
+ŠULHOF JOŽEF KNJIŽEVNIK
+ŠULJAN ANA
+ŠULJAN JANKO
+ŠULJAN JAN
+ŠULJAN JAN
+ŠULJAN JAROSLAV
+ŠULJAN PAL
+ŠULJMANAC-ŠEĆEROV MIRJANA
+ŠULJMANAC BRANIMIR
+ŠULJMANAC JOVAN
+ŠULJMANAC UROŠ
+ŠULOVIĆ PETAR
+ŠUMAHER ILONA
+ŠUMAHER JANOŠ
+ŠUMAJSKI BLAŽENKA
+ŠUMAN VITOMIR
+ŠUMANOVAC PAVLE DIPL ING
+ŠUMANOVIĆ BRANISLAV
+ŠUMANOVIĆ LJILJANA
+ŠUMAR BOŽO
+ŠUMAR MILAN
+ŠUMAR SIMA
+ŠUMAREVIĆ DRAGORAD
+ŠUMAROV NIKOLA
+ŠUMARUNA CVETA
+ŠUMARUNIĆ PAVLE
+ŠUMEC ERNA
+ŠUMEC JANOŠ
+ŠUMIĆ MLADEN
+ŠUMONJA MILAN
+ŠUNDOVA FLORA
+ŠUNIĆ JOVO
+ŠUNJIĆ PETAR
+ŠUNJKA MARKO
+ŠUNJKA MILICA
+ŠUNJKA RATKO
+ŠUNKA JOVAN
+ŠUNKIĆ LAZAR
+ŠUNTIĆ MATEJ
+ŠUPE ŠIME
+ŠUPICA DUŠAN
+ŠUPICA LAZAR
+ŠUPICA LAZA
+ŠUPICA LJUBICA
+ŠUPICA MARA
+ŠUPICA MILAN
+ŠUPICA MILOŠ
+ŠUPICA PETAR
+ŠUPICA SLAVKO
+ŠUPICA VASA
+ŠUPUT ŽARKO DIPL ING
+ŠUPUT ĐURO
+ŠUPUT DUŠAN
+ŠUPUT SLOBODAN
+ŠUPUT SVETOZAR
+ŠURANJI TEREZIJA
+ŠURBANOVIĆ BRANKO
+ŠURJAN JANOŠ
+ŠURJAN JOVAN
+ŠURJANČEV IVAN
+ŠURJANOVIĆ MILAN
+ŠURJANOVIĆ MILENA
+ŠURKALOVIĆ MILENA
+ŠURKOVIĆ DORAN
+ŠURKOVIĆ IRFAN DIPL ING
+ŠURLAN ČEDOMIR
+ŠURLAN ĐORĐO
+ŠURLAN DRAGOMIR
+ŠURLAN DRAGOSLAV
+ŠURLAN GOJKO
+ŠURLAN JOVAN
+ŠURLAN MARINKO
+ŠURLAN MARKO
+ŠURLAN MILOŠ
+ŠURLAN MIRKO
+ŠURLAN MOMIR
+ŠURLAN NEDELJKO
+ŠURLAN RUŠKO
+ŠURLAN VOJISLAV
+ŠURLAN VUKOSAVA
+ŠUSTER NEGOSLAV
+ŠUSTRIJAN OLGA
+ŠUTANOVIĆ NADA
+ŠUTILOVIĆ MILORAD
+ŠUTILOVIĆ NEVENKA
+ŠUTULOVIĆ DANKA
+ŠUTULOVIĆ VESNA
+ŠUTVIĆ BRANKA
+ŠUVAK MIODRAG
+ŠUVAKOV DARINKA
+ŠUVAKOV DEJAN
+ŠUVAKOV JOVAN
+ŠUVAKOV MILENA
+ŠUVAKOV MILORAD
+ŠUVAKOV STEVAN
+ŠUVAKOV TIHOMIR DR
+ŠUVAKOV VESELINKA
+ŠUVAKOVIĆ ĐURĐICA
+ŠUVAKOVIĆ BOGOSLAV
+ŠUVAKOVIĆ DAMJAN DR LEKAR
+ŠUVAKOVIĆ JULIJANA
+ŠUVAKOVIĆ ZORAN
+ŠVAB ESTER
+ŠVAB HENRIJETA
+ŠVAGER MARTIN
+ŠVAJBERIĆ VIRGINIJA
+ŠVAJCER GIZELA
+ŠVAJCER IVICA
+ŠVAJCER-RAKIĆ IRENA
+ŠVAJCER ROZALIJA
+ŠVANDILIK JOŽEF
+ŠVARC ILONA
+ŠVARC TIBOR
+ŠVARC VLADIMIR
+ŠVEDIĆ AĆIM
+ŠVEDIĆ DUŠAN
+ŠVEDIĆ ELIZABETA
+ŠVEDIĆ ERŽIKA
+ŠVEDIĆ GRUJA
+ŠVEDIĆ JOVAN
+ŠVEDIĆ MILICA
+ŠVEDIĆ MILORAD
+ŠVEDIĆ MILUTIN
+ŠVEDIĆ NIKOLA
+ŠVEDIĆ PETAR
+ŠVELJA BOGDAN
+ŠVELJA PETAR
+ŠVEM ĐURA
+ŠVENDA GORAN
+ŠVER KARLO
+ŠVERER RUDOLF
+ŠVERKO ANĐELIJA
+ŠVIND NENAD
+ŠVOB JOSIP
+ŠVOB LAJOŠ
+ŠVONJA ŽELJKO
+ŠVONJA ĐURĐINKA
+ŠVONJA BILJANA
+ŠVONJA BOŠKO
+ŠVONJA BOŠKO
+ŠVONJA BOŽIDAR
+ŠVONJA BORIVOJ
+ŠVONJA BRANKO
+ŠVONJA DRAGOLJUB
+ŠVONJA DUŠAN
+ŠVONJA DUŠKO
+ŠVONJA MILAN
+ŠVONJA MIRA
+ŠVONJA RATKO
+ŠVONJA RATKO
+ŠVONJA SVETOZAR
+ŠVONJA VELJKO
+ŠVRAKA FRANJO
+ŠVRAKA STEVAN DIPL ING
+ŠVRAKA STEVAN
+ĆAĆIĆ DANICA
+ĆAĆIĆ DUŠAN
+ĆAĆIĆ MARKO
+ĆAĆIĆ NINOSLAV
+ĆAHUN KARLO DIPL ING
+ĆAJA VANKA
+ĆAKIĆ GIZA
+ĆALASAN JOVAN
+ĆALASAN STOJAN
+ĆALETA IVICA
+ĆALIĆ ILIJA
+ĆALIĆ JOVAN
+ĆALIĆ JOVAN
+ĆALIĆ LUKA
+ĆALIĆ MILOŠ
+ĆALIĆ MOMČILO
+ĆALIĆ SLOBODAN
+ĆALIĆ ZORAN
+ĆALOV MILORAD
+ĆALOVIĆ LAKIĆ
+ĆALOVIĆ RADOMIR
+ĆALUŠIĆ JAKOV
+ĆATIĆ RADENKO
+ĆATIĆ SMILJANA
+ĆATOVIĆ DRAGAN
+ĆATOVIĆ GOSPAVA
+ĆATOVIĆ MAHIT
+ĆATOVIĆ SIMAN
+ĆAVAR MARKO
+ĆAZIĆ ĐORĐE
+ĆAZIĆ MILE
+ĆAZIĆ MILE
+ĆAZIĆ PETAR
+ĆEBIĆ BORIVOJ
+ĆEBIĆ MILAN
+ĆEBIĆ SLAVICA
+ĆEBOVIĆ NENAD
+ĆEHA BRANE
+ĆEJIĆ DUŠAN
+ĆEJIĆ DUŠAN
+ĆELAP MLADEN
+ĆELAP SVETOZAR
+ĆELIĆ LJUBA
+ĆELIĆ SLAVKO
+ĆELIĆ VIKTORIJA
+ĆENANOVIĆ MIRJANA
+ĆERAN BOŠKO
+ĆERAN DUŠAN
+ĆERAN JELKA
+ĆERAN MILENKO
+ĆERAN STOJAN
+ĆERAN VELJKO
+ĆERAN ZORANKA
+ĆERANIĆ BRANISLAV
+ĆERANIĆ MILAN
+ĆERANIĆ MILICA
+ĆERANIĆ RADINKA
+ĆERANIĆ SNEŽANA
+ĆERANIĆ ZORAN
+ĆERIMAGIĆ ETHEM
+ĆERMOV-KAVEČAN BOJANA
+ĆESAROV ŽARKO
+ĆESAROV BRANISLAV
+ĆESAROV RUŽICA
+ĆESAROV SIMA
+ĆESAROV STEVAN
+ĆESAROV SVETOZAR
+ĆESAROVIĆ BOSILJKA
+ĆESAROVIĆ RADIVOJ
+ĆETKOVIĆ ŽARKO
+ĆETKOVIĆ BOŽIDAR
+ĆETKOVIĆ DUŠANKA
+ĆETKOVIĆ MILENKO
+ĆETKOVIĆ NENAD
+ĆETKOVIĆ PREDRAG
+ĆETOJEVIĆ ĐORĐE
+ĆETOJEVIĆ BOSA
+ĆETOJEVIĆ DRAGOLJUB
+ĆETOJEVIĆ JOVO
+ĆETOJEVIĆ MILOŠ
+ĆETOJEVIĆ MILOVAN
+ĆETOJEVIĆ MIROSLAV
+ĆETOJEVIĆ NEDELJKO
+ĆETOJEVIĆ RADOVAN
+ĆEVAP BOŽA
+ĆIŠIN DUŠANKA
+ĆINKUL SAVA
+ĆINKUL VALTA
+ĆIPE ERŽEBET
+ĆIPROVAC SAVA
+ĆIPROVAC TOŠA
+ĆIPROVAC ZDRAVKO
+ĆIRAK MILORAD
+ĆIRAKOVIĆ ŽIVORAD
+ĆIRAKOVIĆ MARKO
+ĆIRAKOVIĆ MILORAD
+ĆIRAKOVIĆ SAJA
+ĆIREVSKI BUDIMIR
+ĆIRIĆ ĆIRA
+ĆIRIĆ ŽIVKA
+ĆIRIĆ ŽIVKA
+ĆIRIĆ ĐORĐE
+ĆIRIĆ ĐORĐE
+ĆIRIĆ ĐORĐE
+ĆIRIĆ ĐORĐE
+ĆIRIĆ ĐORĐE
+ĆIRIĆ ĐORĐE
+ĆIRIĆ ĐORĐE
+ĆIRIĆ ĐURĐINKA
+ĆIRIĆ ANICA
+ĆIRIĆ ANITA
+ĆIRIĆ BOŠKO
+ĆIRIĆ BOŽIDAR DR
+ĆIRIĆ BOŽIDAR
+ĆIRIĆ BOŽO
+ĆIRIĆ BORISLAV
+ĆIRIĆ BORISLAV
+ĆIRIĆ BORISLAV
+ĆIRIĆ BRANKA
+ĆIRIĆ BRANKO
+ĆIRIĆ DANICA
+ĆIRIĆ DANILO
+ĆIRIĆ DESANKA
+ĆIRIĆ DIVKO
+ĆIRIĆ DOBRILA
+ĆIRIĆ DRAGAN
+ĆIRIĆ DRAGICA
+ĆIRIĆ DRAGINJA
+ĆIRIĆ DRAGOLJUB
+ĆIRIĆ DUŠAN DIPL ING
+ĆIRIĆ DUŠANKA
+ĆIRIĆ DUŠAN
+ĆIRIĆ DUŠAN
+ĆIRIĆ DUŠICA
+ĆIRIĆ GAVRILO
+ĆIRIĆ GORDANA
+ĆIRIĆ IVANKA
+ĆIRIĆ IVAN
+ĆIRIĆ JELISAVETA
+ĆIRIĆ JORDAN
+ĆIRIĆ JOVANKA
+ĆIRIĆ JOVAN
+ĆIRIĆ JOVAN
+ĆIRIĆ JOVAN
+ĆIRIĆ KAMENKO
+ĆIRIĆ KATICA
+ĆIRIĆ LAZAR
+ĆIRIĆ LENKA
+ĆIRIĆ LJUBICA
+ĆIRIĆ LJUBICA
+ĆIRIĆ LJUBOMIR
+ĆIRIĆ MARKO
+ĆIRIĆ MILAN DIPL ING
+ĆIRIĆ MILAN
+ĆIRIĆ MILENKO
+ĆIRIĆ MILENKO
+ĆIRIĆ MILETA
+ĆIRIĆ MILICA
+ĆIRIĆ MILKA
+ĆIRIĆ MILOŠ
+ĆIRIĆ MILOŠ
+ĆIRIĆ MILORAD
+ĆIRIĆ MILORAD
+ĆIRIĆ MIODRAG
+ĆIRIĆ MIRA
+ĆIRIĆ MLADEN
+ĆIRIĆ NIKOLA
+ĆIRIĆ PAJA
+ĆIRIĆ PETAR
+ĆIRIĆ PETAR
+ĆIRIĆ-PETROVIĆ KATARINA
+ĆIRIĆ PREDRAG
+ĆIRIĆ RADE
+ĆIRIĆ RADMILA
+ĆIRIĆ RADMILO
+ĆIRIĆ RADOMIR
+ĆIRIĆ RADOVAN
+ĆIRIĆ ROBERT
+ĆIRIĆ SAVA
+ĆIRIĆ SLAVICA
+ĆIRIĆ SLAVKO
+ĆIRIĆ SLAVKO
+ĆIRIĆ SLOBODAN
+ĆIRIĆ SMILJA
+ĆIRIĆ SOFIJA
+ĆIRIĆ SREDOJE
+ĆIRIĆ STANISLAV
+ĆIRIĆ STEVAN
+ĆIRIĆ STEVAN
+ĆIRIĆ STEVAN
+ĆIRIĆ SVETISLAV
+ĆIRIĆ SVETOZAR
+ĆIRIĆ SVETOZAR
+ĆIRIĆ SVETOZAR
+ĆIRIĆ SVETOZAR
+ĆIRIĆ TOMISLAV
+ĆIRIĆ TOMISLAV
+ĆIRIĆ-TON JELICA
+ĆIRIĆ VASA
+ĆIRIĆ VERA
+ĆIRIĆ VLADIMIR
+ĆIRIĆ VLADIMIR
+ĆIRIĆ VLADISLAV
+ĆIRIĆ VUČKO
+ĆIRIĆ ZORAN
+ĆIRIĆ ZORA
+ĆIRIĆ ZORA
+ĆIRIĆ ZORKA
+ĆIRILOV MILAN
+ĆIRILOVIĆ ANICA
+ĆIRILOVIĆ BRANISLAV
+ĆIRILOVIĆ MILIVOJ
+ĆIRILOVIĆ MLADEN
+ĆIRILOVIĆ OLGA
+ĆIRILOVIĆ PETAR
+ĆIRILOVIĆ VERA
+ĆIRIN DRAGOSLAV
+ĆIRIN-NOVTA VERA
+ĆIRIN SLOBODAN
+ĆIRITOVIĆ DUŠANKA
+ĆIRJAKOVIĆ GORDANA
+ĆIRJAKOVIĆ SLAVOLJUB
+ĆIRJAKOVIĆ SLOBODAN
+ĆIRKOVIĆ ĐORĐE
+ĆIRKOVIĆ CVETANKA
+ĆIRKOVIĆ IVAN
+ĆIRKOVIĆ IVAN
+ĆIRKOVIĆ JANKO
+ĆIRKOVIĆ KATICA
+ĆIRKOVIĆ MARKO
+ĆIRKOVIĆ MARTA
+ĆIRKOVIĆ MILENKO
+ĆIRKOVIĆ MIROSLAV
+ĆIRKOVIĆ NENAD
+ĆIRKOVIĆ RADMILA
+ĆIROVIĆ ŽARKO
+ĆIROVIĆ DEJAN
+ĆIROVIĆ GRUJICA
+ĆIROVIĆ MILUTIN
+ĆIROVIĆ NIKOLA
+ĆIROVIĆ VELIMIR
+ĆIROVIĆ VELIMIR
+ĆIRPANOV MIODRAG
+ĆIRUŠIĆ RAJKO
+ĆITIĆ DUŠAN
+ĆITIĆ MILOVAN
+ĆOĆKALO SIMA
+ĆOJANOVIĆ BOŽIDAR
+ĆOJANOVIĆ BORO
+ĆOJANOVIĆ MILKA
+ĆOJDER GOJKO
+ĆOMA KATARINA
+ĆOPIĆ ANDRIJA
+ĆOPIĆ EVICA
+ĆOPIĆ MIĆA
+ĆOPIĆ MILE
+ĆOPIĆ MILOŠ
+ĆOPIĆ VERA
+ĆORIĆ-ĐOKIĆ NADA
+ĆORIĆ ĐORĐE
+ĆORIĆ ĐURO
+ĆORIĆ ĐURO
+ĆORIĆ ANDRIJA
+ĆORIĆ BISERKA
+ĆORIĆ BLAGOJE
+ĆORIĆ BORA
+ĆORIĆ JOVAN
+ĆORIĆ KATARINA
+ĆORIĆ LJILJANA
+ĆORIĆ MARIJA
+ĆORIĆ MIĆO
+ĆORIĆ MIKAILO
+ĆORIĆ RAJKO
+ĆORKOVIĆ IVAN
+ĆORKOVIĆ MARKO
+ĆOROVIĆ DANILO
+ĆOROVIĆ JOVAN
+ĆOROVIĆ MIRČETA
+ĆOROVIĆ MIRO
+ĆOROVIĆ RENATA
+ĆOROVIĆ SLOBODAN
+ĆOSIĆ ŠTEFICA
+ĆOSIĆ ŽARKO
+ĆOSIĆ ŽIVANA
+ĆOSIĆ ŽIVKA
+ĆOSIĆ ALEKSANDAR
+ĆOSIĆ ALEKSANDAR
+ĆOSIĆ BOGDAN SUDIJA
+ĆOSIĆ BRANKO
+ĆOSIĆ BRANKO
+ĆOSIĆ DANICA
+ĆOSIĆ DRAGANA
+ĆOSIĆ DRAGAN
+ĆOSIĆ DRAGICA
+ĆOSIĆ DRAGICA
+ĆOSIĆ DUŠAN
+ĆOSIĆ DUŠAN
+ĆOSIĆ DUŠKO
+ĆOSIĆ FADIL
+ĆOSIĆ ILIJA
+ĆOSIĆ JELKA
+ĆOSIĆ JOVAN
+ĆOSIĆ JOVAN
+ĆOSIĆ JOVAN
+ĆOSIĆ JOZO
+ĆOSIĆ LJILJANA
+ĆOSIĆ MARIJA
+ĆOSIĆ MARIJA
+ĆOSIĆ MILAN
+ĆOSIĆ MILENA
+ĆOSIĆ MILICA
+ĆOSIĆ MIRJANA
+ĆOSIĆ MUHAMED
+ĆOSIĆ OLGA
+ĆOSIĆ PANTELIJA
+ĆOSIĆ SAVKA
+ĆOSIĆ SMILJA
+ĆOSIĆ SNEŽANA
+ĆOSIĆ STANKA
+ĆOSIĆ STOJAN
+ĆOSIĆ TODOR DIPL ING
+ĆOSIĆ VERA
+ĆOSIĆ VEROSLAV
+ĆOSIĆ VLADIMIR
+ĆOSIĆ ZORAN
+ĆOSIĆ ZORKA
+ĆOSIN DUŠAN
+ĆOSIN ZORAN
+ĆOSO GAVRILO
+ĆOSOVIĆ JELENA
+ĆOSOVIĆ MILETA
+ĆOSOVIĆ TOMISLAV
+ĆOVIĆ LAZAR
+ĆOVIN MILAN
+ĆUĆA ADAM
+ĆUĆILOVIĆ CVIJA
+ĆUĆILOVIĆ MOMČILO
+ĆUĆILOVIĆ RUŽICA
+ĆUĆUZ MARKO
+ĆUĆUZ SAŠA
+ĆUĆUZ STANKO
+ĆUBA RATKO DIPL ING
+ĆUBIĆ DUŠAN
+ĆUIĆ ILIJA
+ĆUIĆ MARA
+ĆUIĆ MILKA
+ĆUJIĆ LJUBICA
+ĆUJIĆ STEVAN
+ĆUK ĐURO
+ĆUK DRAGO
+ĆUK DUŠAN
+ĆUK DUŠAN
+ĆUK GOJKO
+ĆUK LELA
+ĆUK LUKA
+ĆUK MARA
+ĆUK MILAN DIPL ING
+ĆUK MILE
+ĆUK MILICA
+ĆUK MILKAN
+ĆUK MILORAD
+ĆUK MIROSLAV
+ĆUK NIKOLA
+ĆUK RADIVOJ
+ĆUK RATKO
+ĆUK SLOBODAN
+ĆUK TOMISLAV
+ĆUK ZORKA
+ĆUKOVIĆ MILUN
+ĆUKOVIĆ MIRA
+ĆUKOVIĆ RADOMIR DIPL ING
+ĆUKOVIĆ RADOVAN
+ĆUKOVIĆ TIHOMIRKA
+ĆUKOVIĆ ZORAN
+ĆULIĆ ĐORĐE
+ĆULIĆ JASMINKA
+ĆULIBRK BOGDAN
+ĆULIBRK DRAGAN
+ĆULIBRK DRAGAN
+ĆULIBRK DRAGOSLAV
+ĆULIBRK DUŠANKA
+ĆULIBRK DUŠAN
+ĆULIBRK GOSPAVA
+ĆULIBRK JELICA
+ĆULIBRK JELKA
+ĆULIBRK MILAN
+ĆULIBRK MILE
+ĆULIBRK MILE
+ĆULIBRK MIODRAG
+ĆULIBRK MIRKO
+ĆULIBRK MLADEN
+ĆULIBRK MOMČILO
+ĆULIBRK RADIVOJE
+ĆULIBRK RADOJKA
+ĆULIBRK RATKO
+ĆULIBRK RISTO
+ĆULIBRK SLOBODAN
+ĆULIBRK SOKA
+ĆULIBRK STEVAN
+ĆULIBRK TRIVO
+ĆULUM BRANKO
+ĆULUM GOJKO
+ĆULUM ILIJA
+ĆULUM JELICA
+ĆULUM JOVAN
+ĆULUM LAZAR
+ĆULUM MARA
+ĆULUM MARA
+ĆULUM MIHAJLO
+ĆULUM MILAN
+ĆULUM MILETA
+ĆULUM MILOŠ
+ĆULUM MIODRAG
+ĆULUM MIRKO
+ĆULUM MIRKO
+ĆULUM NADA
+ĆULUM NADA
+ĆULUM NIKOLA
+ĆULUM PERO
+ĆULUM RADE
+ĆULUM RADE
+ĆULUM SAVA
+ĆULUM SLAVKO
+ĆULUM STANKA
+ĆULUM STANKA
+ĆULUM STEVO
+ĆULUM STEVO
+ĆULUM UROŠ
+ĆULUM VASA
+ĆULUMAN STEVAN
+ĆULUMOVIĆ STJEPAN
+ĆUMUROVIĆ SLAVICA
+ĆUPIĆ DUŠAN
+ĆUPINA BRANKO
+ĆUPINA MILADIN
+ĆUPINA NOVICA
+ĆUPINA TOMISLAV DR
+ĆUPURDIJA JELENA
+ĆUPURDIJA MILAN
+ĆUPURDIJA MILOVAN
+ĆUPURDIJA SAŠA
+ĆUPURDIJA STEVAN
+ĆURČIĆ ČEDOMIR
+ĆURČIĆ ŽIVAN
+ĆURČIĆ ŽIVAN
+ĆURČIĆ ŽIVKO
+ĆURČIĆ ĐORĐE
+ĆURČIĆ ALEKSANDAR
+ĆURČIĆ ANDRIJA
+ĆURČIĆ BOŠKO
+ĆURČIĆ BOGDAN
+ĆURČIĆ BORIVOJ
+ĆURČIĆ BRANISLAV
+ĆURČIĆ BRANKO
+ĆURČIĆ BRANKO
+ĆURČIĆ BRANKO
+ĆURČIĆ DANILO
+ĆURČIĆ DESPINA
+ĆURČIĆ DRAGAN
+ĆURČIĆ DRAGAN
+ĆURČIĆ DRAGAN
+ĆURČIĆ DRAGOMIR
+ĆURČIĆ DRAGOSLAV
+ĆURČIĆ DUŠANKA
+ĆURČIĆ DUŠAN
+ĆURČIĆ DUŠAN
+ĆURČIĆ DUŠAN
+ĆURČIĆ GEORGIJE
+ĆURČIĆ GOJKO
+ĆURČIĆ GORDANA
+ĆURČIĆ IBOJA
+ĆURČIĆ ILIJA
+ĆURČIĆ ILIJA
+ĆURČIĆ JASMINA
+ĆURČIĆ JELENA
+ĆURČIĆ JOVAN NOVINAR
+ĆURČIĆ JOVA
+ĆURČIĆ KAMENKO
+ĆURČIĆ-KASALICA BOSA
+ĆURČIĆ KATICA
+ĆURČIĆ LAZAR
+ĆURČIĆ LAZAR
+ĆURČIĆ LJILJANA
+ĆURČIĆ LJILJANA
+ĆURČIĆ LJUBIŠA
+ĆURČIĆ LJUBOMIR
+ĆURČIĆ MARA
+ĆURČIĆ MARA
+ĆURČIĆ MARIJA
+ĆURČIĆ MARIJA
+ĆURČIĆ MARIJA
+ĆURČIĆ MIHAJLO
+ĆURČIĆ MIJO
+ĆURČIĆ MILAN
+ĆURČIĆ MILAN
+ĆURČIĆ MILAN
+ĆURČIĆ MILAN
+ĆURČIĆ MILAN
+ĆURČIĆ MILENA
+ĆURČIĆ MILEVA
+ĆURČIĆ MILE
+ĆURČIĆ MILE
+ĆURČIĆ MILIĆ
+ĆURČIĆ MILICA
+ĆURČIĆ MILIVOJ
+ĆURČIĆ MILORAD
+ĆURČIĆ MILORAD
+ĆURČIĆ MIODRAG
+ĆURČIĆ MIODRAG
+ĆURČIĆ MIRJANA
+ĆURČIĆ MIRJANA
+ĆURČIĆ MIRKO
+ĆURČIĆ MIROSLAV
+ĆURČIĆ MIROSLAV
+ĆURČIĆ MLADEN
+ĆURČIĆ MOMČILO
+ĆURČIĆ NADA
+ĆURČIĆ NENAD
+ĆURČIĆ NIKOLA
+ĆURČIĆ OLGA
+ĆURČIĆ OLGA
+ĆURČIĆ PAVLE
+ĆURČIĆ PETAR
+ĆURČIĆ RADE
+ĆURČIĆ RADIVOJ
+ĆURČIĆ RADMILA
+ĆURČIĆ RADMILA
+ĆURČIĆ RADOSLAV
+ĆURČIĆ RADOSLAV
+ĆURČIĆ RADOSLAV
+ĆURČIĆ RAJKO
+ĆURČIĆ RAJKO
+ĆURČIĆ RATKA
+ĆURČIĆ RATOMIR
+ĆURČIĆ SAVA
+ĆURČIĆ SLAVICA
+ĆURČIĆ SLAVKO
+ĆURČIĆ SLOBODAN
+ĆURČIĆ SLOBODAN
+ĆURČIĆ SLOBODAN
+ĆURČIĆ STEVAN
+ĆURČIĆ STEVO
+ĆURČIĆ UROŠ
+ĆURČIĆ VASILIJE
+ĆURČIĆ VERA
+ĆURČIĆ VESELINKA
+ĆURČIĆ VUKAŠIN
+ĆURČIĆ ZDRAVKO
+ĆURČIĆ ZLATA
+ĆURČIĆ ZORAN
+ĆURČIĆ ZORAN
+ĆURČIJA SIMA
+ĆURČIN ŽIVKO
+ĆURČIN ŽIVKO
+ĆURČIN ĐORĐE
+ĆURČIN ĐURA
+ĆURČIN ALEKSANDAR
+ĆURČIN BOŽIDAR
+ĆURČIN BRANKO
+ĆURČIN DRAGOMIR
+ĆURČIN DRAGOSLAV
+ĆURČIN DRENKA
+ĆURČIN DUŠAN
+ĆURČIN DUŠAN
+ĆURČIN EMILIJA
+ĆURČIN JELENA
+ĆURČIN JELISAVETA
+ĆURČIN LJUBICA
+ĆURČIN MAKSA
+ĆURČIN MILAN
+ĆURČIN MILENA
+ĆURČIN MILORAD
+ĆURČIN MILORAD
+ĆURČIN OBRAD
+ĆURČIN PETAR
+ĆURČIN RADIVOJ
+ĆURČIN RADOSLAV
+ĆURČIN RUŽA
+ĆURČIN SARA
+ĆURČIN SVETOZAR
+ĆURČIN TODOR
+ĆURČIN VASA
+ĆURČIN VELEMIR
+ĆURČIN VELIMIR
+ĆURČIN VERICA
+ĆURČIN VUKICA
+ĆURČIN ZORA
+ĆURĆIJIĆ RATOMIR
+ĆURDIĆ JOVAN
+ĆURDIĆ VASILIJE
+ĆURDIĆ ZORAN
+ĆURGUZ ILIJA
+ĆURGUZ MILORAD
+ĆURGUZ NADA
+ĆURGUZ VERICA
+ĆURIČIĆ TATJANA
+ĆURIĆ ĐORĐE
+ĆURIĆ JOVAN
+ĆURIĆ MILAN
+ĆURIĆ MILOŠ
+ĆURIĆ MILORAD
+ĆURIĆ MILUTIN
+ĆURIĆ PELAGIJA
+ĆURIĆ SAVO
+ĆURIĆ SIMO
+ĆURIĆ SINIŠA
+ĆURIĆ SUZANA
+ĆURIĆ VLADISLAV
+ĆURKOVIĆ ŠPIRO
+ĆURKOVIĆ-ĐORĐEVIĆ MIOMIRA
+ĆURKOVIĆ KATICA
+ĆURLIBRK BOSILJKA
+ĆURUVIJA BRANKO
+ĆURUVIJA NIKOLA
+ĆURUVIJA NIKOLA
+ĆURUVIJA VLADO
+ĆUTILO STEVO
+ĆUZOVIĆ BRANE
+ĆUZOVIĆ DRAGOLJUB
+ĆUZOVIĆ DRAGOLJUB
+ĆUZOVIĆ GORAN
+ĆUZOVIĆ MIRKO
+ŽABALJAC VOJISLAV
+ŽABIĆ GORAN
+ŽABIĆ LJUBOMIR
+ŽABULJAC PAVLE
+ŽAFRAN MARTIN
+ŽAGAR DRAGAN
+ŽAGAR ERNEST
+ŽAGAR IVAN
+ŽAGAR JOVAN
+ŽAGAR LJILJA
+ŽAGAR MARIJA
+ŽAGAR MATIJA
+ŽAGAR PAVAO
+ŽAGAR RADOSLAVA
+ŽAJA TOMISLAV
+ŽAJAČKO ŽELJKO
+ŽAK DRAGUTIN
+ŽAKIĆ LJUBICA
+ŽAKIĆ MARIJA
+ŽAKIĆ MIODRAG
+ŽAKIĆ MLADEN
+ŽAKIĆ VERA
+ŽAKIĆ VLADIMIR
+ŽAKIĆ VOJISLAV
+ŽAKULA ARANKA
+ŽAKULA BORISLAV
+ŽAKULA MILAN
+ŽAKULA MILAN
+ŽAKULA MIODRAG
+ŽAKULA MIRA
+ŽAKULA RADIVOJ DR PROF
+ŽAKULA ZORA
+ŽAMBOKI MARIJA
+ŽAMBOKI VERONA
+ŽARČANIN BRANKO
+ŽARČANIN PREDRAG
+ŽARIN RADOJICA
+ŽARIN SINIŠA
+ŽARIN-TABAK NATALIJA
+ŽARIN VESELIN
+ŽARKO LADISLAV
+ŽARKO MIHAJLO
+ŽARKOV DUŠAN
+ŽARKOV KOSTA
+ŽARKOV LJILJANA
+ŽARKOV VESELKA
+ŽARKOV ZLATOJE
+ŽARKOVAČKI ILIJA
+ŽARKOVAČKI MIRKO
+ŽARKOVIĆ ŽARKO
+ŽARKOVIĆ DANILO
+ŽARKOVIĆ DANILO
+ŽARKOVIĆ DRAGOJE DR PROF
+ŽARKOVIĆ GOJKO
+ŽARKOVIĆ GOJKO
+ŽARKOVIĆ JOVAN
+ŽARKOVIĆ JOVAN
+ŽARKOVIĆ MILENA
+ŽARKOVIĆ MIODRAG
+ŽARKOVIĆ MIODRAG
+ŽARKOVIĆ MIRKO
+ŽARKOVIĆ NEBOJŠA
+ŽARKOVIĆ NENAD
+ŽARKOVIĆ NENAD
+ŽARKOVIĆ NOVICA
+ŽARKOVIĆ RISTO
+ŽARKOVIĆ RISTO
+ŽARKOVIĆ SLAVKO
+ŽARKOVIĆ VLAJKO
+ŽARKOVIĆ ZDRAVKO
+ŽARKOVIĆ ZDRAVKO
+ŽARKOVIĆ ZORA
+ŽDERIĆ JELICA
+ŽDERIĆ MARIJA
+ŽDERIĆ MILAN
+ŽDERIĆ MILENKO
+ŽDERO DRAGINJA
+ŽDERO DUŠICA
+ŽDERO GOJKO
+ŽDERO MARINKO
+ŽDERO PETAR
+ŽDERO PETAR
+ŽDERO RADOMIR
+ŽDRALE RADOVAN
+ŽDRALIĆ VASO
+ŽDRNJA MILAN
+ŽDRNJA MILAN
+ŽDRNJA MIRKO
+ŽDRNJA NEĐO
+ŽDRNJA NEĐO
+ŽDRNJA SIMO
+ŽEŽELJ BRANKO
+ŽEŽELJ MILAN
+ŽEŽELJ MILAN
+ŽEŽELJ SAVA
+ŽEŽELJ SVETISLAV
+ŽEBELJAN MILENA
+ŽEBELJAN MILENKO
+ŽEBELJAN MILORAD
+ŽEBELJAN MITA
+ŽEBELJAN NEDELJKO
+ŽEBERAN ANĐELKA
+ŽEGARAC ĐORĐE
+ŽEGARAC DANICA
+ŽEGARAC DUŠAN
+ŽEGARAC LAZAR
+ŽEGARAC MILAN
+ŽEGARAC MILENKO
+ŽEGARAC MIRJANA
+ŽEGARAC STEVAN
+ŽEGARAC VOJISLAV
+ŽEKIĆ ŽIVKO
+ŽEKIĆ BOŠKO
+ŽEKIĆ RADISLAV
+ŽEKIĆ RUŽA
+ŽEKIĆ ZORAN
+ŽELEM STEVAN
+ŽELER ĐURĐEVKA
+ŽELEZEN JOSIP
+ŽELI ANDRAŠ
+ŽELI IŠTVAN
+ŽELI KATARINA
+ŽELI SILVESTER
+ŽEMBERI ŠANDOR
+ŽEMBERI JOSIP
+ŽEMBERI ROBERT
+ŽEMBERI ROBERT
+ŽENER KARLO
+ŽENILO BOŽIDAR
+ŽERAJIĆ GAVRILO
+ŽERAVICA DAMJAN
+ŽERAVICA MILADIN
+ŽERAVICA NADA
+ŽERAVICA STANOJE
+ŽERAVLJEV ILIJA
+ŽERIĆ IRMA
+ŽESTIĆ ŠTEFANIJA
+ŽIŽA NADA
+ŽIŽAKIĆ SAVA
+ŽIŽAKOV DRAGOLJUB
+ŽIŽAKOV KATICA
+ŽIŽAKOV MILOŠ
+ŽIŽAKOV PAVLE
+ŽIŽAKOV VELINKA
+ŽIŽAKOV VITOMIR
+ŽIŽAKOV VLADA
+ŽIŽAKOV VLADIMIR
+ŽIŽIĆ ČEDOMIR
+ŽIŽIĆ ANĐELIJA
+ŽIŽIĆ BRANISLAV
+ŽIŽIĆ DRAGAN
+ŽIŽIĆ MILORAD
+ŽIŽIĆ VESELIN
+ŽIŽOVIĆ SLOBODANKA
+ŽIBREG ALEKSANDAR
+ŽIBREG IVANA
+ŽIDEK JOSIP
+ŽIDIŠIĆ ZORAN
+ŽIGA JELENA
+ŽIGA KARLO
+ŽIGA MIRKO
+ŽIGA MUSTAFA
+ŽIGALAC VERONA
+ŽIGIĆ BOGDAN
+ŽIGIĆ BRANKO
+ŽIGIĆ DANICA
+ŽIGIĆ DIMITRIJE
+ŽIGIĆ DUŠAN
+ŽIGIĆ JULIJA
+ŽIGIĆ LJUBIŠA
+ŽIGIĆ MILAN
+ŽIGIĆ MILAN
+ŽIGIĆ MILAN
+ŽIGIĆ MILEVA
+ŽIGIĆ MILKA
+ŽIGIĆ MIRKO
+ŽIGIĆ NEDELJKO
+ŽIGIĆ NIKOLA
+ŽIGIĆ PETAR
+ŽIGIĆ PETAR
+ŽIGIĆ PETAR
+ŽIGIĆ RADE
+ŽIGIĆ RADOSLAV
+ŽIGIĆ SAVKA
+ŽIGIĆ VOJIN
+ŽIGMOND BELA
+ŽIGMOND BRANKA
+ŽIGRAI ĐORĐE
+ŽIGRAI IŠTVAN MR
+ŽIGRAI JOVAN
+ŽIGRI JOSIP
+ŽIGRI LJUBICA
+ŽIGRI MIRKO
+ŽIGURSKI PAVLE
+ŽIHA MARIJA
+ŽIHLAVSKI JULKA
+ŽIJIĆ VUKOSAVA
+ŽIKIĆ ĐORĐE
+ŽIKIĆ ĐORĐE
+ŽIKIĆ ĐORĐE
+ŽIKIĆ ALEKSANDAR
+ŽIKIĆ DIMITRIJE
+ŽIKIĆ DOBRILA
+ŽIKIĆ DRAGAN
+ŽIKIĆ DUŠAN
+ŽIKIĆ JOVANKA
+ŽIKIĆ JOVAN
+ŽIKIĆ JOVAN
+ŽIKIĆ KATICA
+ŽIKIĆ LJUBICA
+ŽIKIĆ MARICA
+ŽIKIĆ MARIJA
+ŽIKIĆ MIHAJLO
+ŽIKIĆ MILAN
+ŽIKIĆ MILORAD DR
+ŽIKIĆ NEVENA
+ŽIKIĆ NIKOLA
+ŽIKIĆ NIKOLA
+ŽIKIĆ OLGA
+ŽIKIĆ OLIVERA
+ŽIKIĆ RADIVOJ
+ŽIKIĆ RADOMIR
+ŽIKIĆ SLOBODAN
+ŽIKIĆ SOFIJA
+ŽIKIĆ TAMARA
+ŽIKIĆ TIHOMIR DIPL ING
+ŽIKIĆ TODOR
+ŽIKIĆ VASA
+ŽIKIĆ-VASIĆ TAMARA
+ŽIKIĆ VELIMIR
+ŽIKIĆ VERA
+ŽIKIĆ VERICA
+ŽIKIĆ VITOMIR
+ŽIKIĆ VLADIMIR
+ŽIKOVIĆ NENAD
+ŽILEVSKI KRSTO
+ŽILIĆ MILENKO
+ŽILIĆ MIROSLAV
+ŽILIĆ STOJAN
+ŽILNIK ĐURA
+ŽILNIK ĐURA
+ŽILNIK PAVLE DIPL ING
+ŽILNIK-PETROVIĆ ŽELIMIR
+ŽINIĆ MARINA
+ŽIRAVAC STEVAN
+ŽIRKA PAVEL
+ŽIROŠ MIRON
+ŽIROVNIK ANTON
+ŽIVČIĆ SVETLANA
+ŽIVALJEVIĆ DRAGOMIR
+ŽIVALJEVIĆ GORAN
+ŽIVALJEVIĆ OLGA
+ŽIVALJEVIĆ STANA
+ŽIVANČEV ILIJA
+ŽIVANČEV JOVAN
+ŽIVANČEV KASA DIPL ING
+ŽIVANČEV MIKA
+ŽIVANČEV MILAN
+ŽIVANČEV MILAN
+ŽIVANČEV PAJA
+ŽIVANČEV RADA
+ŽIVANČEV RANKO
+ŽIVANČEV STEVAN
+ŽIVANČEV STRAHINJA
+ŽIVANČEVIĆ LAZAR
+ŽIVANČEVIĆ MILJKO
+ŽIVANČEVIĆ MILORAD DR
+ŽIVANČEVIĆ SLOBODAN
+ŽIVANČEVIĆ VELIMIR
+ŽIVANAC DEJAN
+ŽIVANAC DEJAN
+ŽIVANAC LAZAR
+ŽIVANAC ZORICA
+ŽIVANIĆ ĐOKA
+ŽIVANIĆ MIHAJLO
+ŽIVANIĆ MILAN
+ŽIVANIĆ MILORAD
+ŽIVANIĆ MITAR
+ŽIVANIĆ PREDRAG
+ŽIVANIĆ VLADIMIR
+ŽIVANIĆ ZORAN
+ŽIVANKIĆ EVICA
+ŽIVANKOV IGNJAT
+ŽIVANOV ŽARKO
+ŽIVANOV ŽIVAN
+ŽIVANOV ŽIVKO
+ŽIVANOV ANĐELIJA
+ŽIVANOV BOGOLJUB
+ŽIVANOV BRANKO
+ŽIVANOV DANICA
+ŽIVANOV DIMITRIJE
+ŽIVANOV DOBRILA
+ŽIVANOV DOBRIVOJ
+ŽIVANOV DRAGOJLA
+ŽIVANOV DRAGOSLAV
+ŽIVANOV DRAGOSLAV
+ŽIVANOV DUŠAN
+ŽIVANOV GOROSLAVA
+ŽIVANOV JUSTINA
+ŽIVANOV LAZAR
+ŽIVANOV LAZAR
+ŽIVANOV LEPOSAVA
+ŽIVANOV LJUBICA
+ŽIVANOV MAGDA
+ŽIVANOV MAKSIN
+ŽIVANOV MARIJA
+ŽIVANOV MARIJA
+ŽIVANOV MARIJA
+ŽIVANOV MARIJA
+ŽIVANOV MILAN
+ŽIVANOV MILETA
+ŽIVANOV MILIVOJ
+ŽIVANOV MILOŠ
+ŽIVANOV MILOŠ
+ŽIVANOV MILORAD
+ŽIVANOV MIODRAG
+ŽIVANOV MIOMIR
+ŽIVANOV MITA
+ŽIVANOV MLADEN
+ŽIVANOV MLADEN
+ŽIVANOV MLADEN
+ŽIVANOV MOMIR
+ŽIVANOV NATAŠA
+ŽIVANOV NIKOLA
+ŽIVANOV PAVICA
+ŽIVANOV PAVLE
+ŽIVANOV PAVLE
+ŽIVANOV PAVLE
+ŽIVANOV PAVLE
+ŽIVANOV RADIŠA
+ŽIVANOV RAJKO
+ŽIVANOV SAVA
+ŽIVANOV SLAVKO
+ŽIVANOV SRĐAN
+ŽIVANOV SRBISLAV
+ŽIVANOV STANISLAV
+ŽIVANOV SVETOZAR
+ŽIVANOV TODOR
+ŽIVANOV TOMISLAV
+ŽIVANOV TUGOMIR
+ŽIVANOV VELIMIR
+ŽIVANOV VLADIMIR
+ŽIVANOV VLADIMIR
+ŽIVANOV VOJISLAV
+ŽIVANOV ZLATINKA
+ŽIVANOVIĆ ŽARKO
+ŽIVANOVIĆ ŽIKA
+ŽIVANOVIĆ ŽIVAN
+ŽIVANOVIĆ ŽIVOJIN DIPL PRAVNIK
+ŽIVANOVIĆ ŽIVOJIN
+ŽIVANOVIĆ ĐORĐE
+ŽIVANOVIĆ ALEKSANDAR
+ŽIVANOVIĆ ALEKSANDAR
+ŽIVANOVIĆ ALEKSIJA
+ŽIVANOVIĆ ANKICA
+ŽIVANOVIĆ BOŠKO
+ŽIVANOVIĆ BOŠKO
+ŽIVANOVIĆ BOGDAN
+ŽIVANOVIĆ BORKA
+ŽIVANOVIĆ BUDIMKA
+ŽIVANOVIĆ DRAGIŠA
+ŽIVANOVIĆ DRAGOLJUB
+ŽIVANOVIĆ DRAGOSLAV
+ŽIVANOVIĆ JADRANKA
+ŽIVANOVIĆ JELENA
+ŽIVANOVIĆ JOVAN
+ŽIVANOVIĆ JOVAN
+ŽIVANOVIĆ LAZAR
+ŽIVANOVIĆ-LEŠ DUŠICA
+ŽIVANOVIĆ LJILJANA
+ŽIVANOVIĆ MARICA
+ŽIVANOVIĆ MARIJA
+ŽIVANOVIĆ MILAN
+ŽIVANOVIĆ MILISAV
+ŽIVANOVIĆ MILIVOJ
+ŽIVANOVIĆ MILOŠ
+ŽIVANOVIĆ MILORAD
+ŽIVANOVIĆ MILOVAN
+ŽIVANOVIĆ MIODRAG DR
+ŽIVANOVIĆ MIODRAG
+ŽIVANOVIĆ MIRJANA
+ŽIVANOVIĆ MOMČILO
+ŽIVANOVIĆ NOVICA
+ŽIVANOVIĆ OBRAD
+ŽIVANOVIĆ PETAR
+ŽIVANOVIĆ PETAR
+ŽIVANOVIĆ PETAR
+ŽIVANOVIĆ RADA
+ŽIVANOVIĆ RADMILA
+ŽIVANOVIĆ SLAVKA
+ŽIVANOVIĆ SLAVKO
+ŽIVANOVIĆ STEVAN
+ŽIVANOVIĆ TOMISLAV
+ŽIVANOVIĆ VIDOJE
+ŽIVANOVIĆ VLADIMIR
+ŽIVANOVIĆ VLADISLAV
+ŽIVANOVIĆ VOJISLAV
+ŽIVANOVIĆ ZORAN
+ŽIVANOVIĆ ZORAN
+ŽIVANOVIĆ ZORKA
+ŽIVIĆ ĐORĐE
+ŽIVIĆ ĐORĐE
+ŽIVIĆ BOŽIDAR
+ŽIVIĆ GAVRA
+ŽIVIĆ JEFTA
+ŽIVIĆ JELICA
+ŽIVIĆ JOVAN
+ŽIVIĆ LAZAR
+ŽIVIĆ LJUBICA
+ŽIVIĆ RADOJICA
+ŽIVIĆ SAVA
+ŽIVIĆ SAVA
+ŽIVIĆ SMILJA
+ŽIVIĆ SPASOJE
+ŽIVIĆ VELIBOR
+ŽIVIĆ VINKA DR
+ŽIVIĆ ZORKA
+ŽIVIN NADA
+ŽIVKANOVIĆ JOVAN
+ŽIVKIĆ STEVAN
+ŽIVKOV ĐORĐE
+ŽIVKOV ANĐELKA
+ŽIVKOV ANĐELKA
+ŽIVKOV BORISLAVA
+ŽIVKOV BRANISLAV
+ŽIVKOV DRAGINJA
+ŽIVKOV DRAGOLJUB
+ŽIVKOV DUŠKO
+ŽIVKOV ESTER
+ŽIVKOV GRADIMIR
+ŽIVKOV IVAN
+ŽIVKOV KOSTA
+ŽIVKOV MARKO
+ŽIVKOV MELANIJA
+ŽIVKOV NENAD
+ŽIVKOV PAVLE
+ŽIVKOV RADOJKA
+ŽIVKOV SAVA
+ŽIVKOV SAVA
+ŽIVKOV SLAVKO
+ŽIVKOV SLAVKO
+ŽIVKOV VASA
+ŽIVKOVIĆ ČASLAV
+ŽIVKOVIĆ ŽAKLINA
+ŽIVKOVIĆ ŽIVKA
+ŽIVKOVIĆ ŽIVOJIN
+ŽIVKOVIĆ ĐOKA
+ŽIVKOVIĆ ĐORĐE
+ŽIVKOVIĆ ĐORĐE
+ŽIVKOVIĆ AJKA
+ŽIVKOVIĆ ALEKSANDAR
+ŽIVKOVIĆ ALEKSANDAR
+ŽIVKOVIĆ ALEKSANDAR
+ŽIVKOVIĆ ALEKSANDAR
+ŽIVKOVIĆ ALEKSANDAR
+ŽIVKOVIĆ ALEKSANDAR
+ŽIVKOVIĆ ALEKSANDAR
+ŽIVKOVIĆ ALOJZIJA
+ŽIVKOVIĆ ANĐELKA
+ŽIVKOVIĆ BLAŠKO
+ŽIVKOVIĆ BOGDAN
+ŽIVKOVIĆ BOGDAN
+ŽIVKOVIĆ BOGOLJUB
+ŽIVKOVIĆ BOGOMIR
+ŽIVKOVIĆ BOGOMIR
+ŽIVKOVIĆ BORISLAV
+ŽIVKOVIĆ BORISLAV
+ŽIVKOVIĆ BORO
+ŽIVKOVIĆ BRANISLAV
+ŽIVKOVIĆ BRANISLAV
+ŽIVKOVIĆ BRANISLAV
+ŽIVKOVIĆ BRANKA DR
+ŽIVKOVIĆ BRANKO
+ŽIVKOVIĆ DANILO
+ŽIVKOVIĆ DEJAN
+ŽIVKOVIĆ DIMITRIJE
+ŽIVKOVIĆ DIMITRIJE
+ŽIVKOVIĆ DOBROSAV
+ŽIVKOVIĆ DRAGANA
+ŽIVKOVIĆ DRAGANA
+ŽIVKOVIĆ DRAGAN
+ŽIVKOVIĆ DRAGAN
+ŽIVKOVIĆ DRAGAN
+ŽIVKOVIĆ DRAGAN
+ŽIVKOVIĆ DRAGIŠA DR
+ŽIVKOVIĆ DRAGIŠA
+ŽIVKOVIĆ DRAGIĆ
+ŽIVKOVIĆ DRAGOLJUB
+ŽIVKOVIĆ DUŠANKA
+ŽIVKOVIĆ DUŠAN
+ŽIVKOVIĆ DUŠAN
+ŽIVKOVIĆ DUŠAN
+ŽIVKOVIĆ DUŠICA
+ŽIVKOVIĆ GABRIJELA
+ŽIVKOVIĆ GABRIJELA
+ŽIVKOVIĆ GORAN
+ŽIVKOVIĆ GORDANA
+ŽIVKOVIĆ ILIJA
+ŽIVKOVIĆ ILIJA
+ŽIVKOVIĆ ILONKA
+ŽIVKOVIĆ IVANKA
+ŽIVKOVIĆ IVICA
+ŽIVKOVIĆ JASMINA
+ŽIVKOVIĆ JELICA
+ŽIVKOVIĆ JELICA
+ŽIVKOVIĆ JOVAN
+ŽIVKOVIĆ JOVAN
+ŽIVKOVIĆ JOVICA
+ŽIVKOVIĆ JULKA
+ŽIVKOVIĆ JULKA
+ŽIVKOVIĆ JULKICA
+ŽIVKOVIĆ KOSTA
+ŽIVKOVIĆ KREŠO
+ŽIVKOVIĆ LAZAR
+ŽIVKOVIĆ LAZAR
+ŽIVKOVIĆ LEPOSAVA
+ŽIVKOVIĆ LJILJANA
+ŽIVKOVIĆ LJUBICA
+ŽIVKOVIĆ LJUBINKA
+ŽIVKOVIĆ LJUBOMIR
+ŽIVKOVIĆ LJUBOMIR
+ŽIVKOVIĆ MARIJA
+ŽIVKOVIĆ MIHAJLO
+ŽIVKOVIĆ MILANKA
+ŽIVKOVIĆ MILAN
+ŽIVKOVIĆ MILICA
+ŽIVKOVIĆ MILIVOJ
+ŽIVKOVIĆ MILKA
+ŽIVKOVIĆ MILKA
+ŽIVKOVIĆ MILOŠ
+ŽIVKOVIĆ MILOŠ
+ŽIVKOVIĆ MILOMIR
+ŽIVKOVIĆ MILORAD
+ŽIVKOVIĆ MILORAD
+ŽIVKOVIĆ MILUTIN
+ŽIVKOVIĆ MIODRAG
+ŽIVKOVIĆ MIRČETA
+ŽIVKOVIĆ MIRJANA
+ŽIVKOVIĆ MIRKO
+ŽIVKOVIĆ MIROSLAV
+ŽIVKOVIĆ MIROSLAV
+ŽIVKOVIĆ MOMČILO
+ŽIVKOVIĆ NEBOJŠA
+ŽIVKOVIĆ NEBOJŠA
+ŽIVKOVIĆ NEDELJKO
+ŽIVKOVIĆ NIKOLA
+ŽIVKOVIĆ OBRAD
+ŽIVKOVIĆ PAVLE
+ŽIVKOVIĆ PETAR
+ŽIVKOVIĆ PETAR
+ŽIVKOVIĆ PETAR
+ŽIVKOVIĆ PETAR
+ŽIVKOVIĆ RADENKO
+ŽIVKOVIĆ RADE
+ŽIVKOVIĆ RADIVOJ
+ŽIVKOVIĆ RADMILA
+ŽIVKOVIĆ RADMILO
+ŽIVKOVIĆ RADOMIR
+ŽIVKOVIĆ RADOSLAVA
+ŽIVKOVIĆ RADOSLAV
+ŽIVKOVIĆ RADOSLAV
+ŽIVKOVIĆ RADOSLAV
+ŽIVKOVIĆ ROSA
+ŽIVKOVIĆ RUŽICA
+ŽIVKOVIĆ SAŠA
+ŽIVKOVIĆ SAVA
+ŽIVKOVIĆ SAVA
+ŽIVKOVIĆ SAVA
+ŽIVKOVIĆ SAVA
+ŽIVKOVIĆ SINIŠA
+ŽIVKOVIĆ SLAVKO
+ŽIVKOVIĆ SLAVKO
+ŽIVKOVIĆ SLAVKO
+ŽIVKOVIĆ SLOBODAN DR
+ŽIVKOVIĆ SLOBODAN
+ŽIVKOVIĆ SMILJKA
+ŽIVKOVIĆ SNEŽANA
+ŽIVKOVIĆ SRETEN
+ŽIVKOVIĆ STAMENKO
+ŽIVKOVIĆ STEPAN
+ŽIVKOVIĆ STEVAN
+ŽIVKOVIĆ STOJANKA
+ŽIVKOVIĆ STOJAN
+ŽIVKOVIĆ STOJAN
+ŽIVKOVIĆ SVETISLAV
+ŽIVKOVIĆ SVETLANA
+ŽIVKOVIĆ SVETOZAR
+ŽIVKOVIĆ TANASIJE
+ŽIVKOVIĆ TINKA
+ŽIVKOVIĆ TOŠA
+ŽIVKOVIĆ TOMISLAV
+ŽIVKOVIĆ TOMISLAV
+ŽIVKOVIĆ VEKOSLAV
+ŽIVKOVIĆ VERA
+ŽIVKOVIĆ VERA
+ŽIVKOVIĆ VIDOJKO
+ŽIVKOVIĆ VLADAN
+ŽIVKOVIĆ VLADIMIR
+ŽIVKOVIĆ VLASTIMIR
+ŽIVKOVIĆ VOJIN
+ŽIVKOVIĆ VOJISLAV
+ŽIVKOVIĆ ZDENKA
+ŽIVKOVIĆ ZDENKO
+ŽIVKOVIĆ ZDRAVKO
+ŽIVKOVIĆ ZLATOMIR
+ŽIVKOVIĆ ZORAN
+ŽIVKOVIĆ ZORAN
+ŽIVKOVIĆ ZORAN
+ŽIVKOVIĆ ZORAN
+ŽIVKOVIĆ ZORAN
+ŽIVKOVLJEVIĆ VIDOSAVA
+ŽIVKUCIN MIROSLAVA
+ŽIVKUCIN SLOBODAN
+ŽIVNI ANA
+ŽIVNI FRANJA
+ŽIVOJINOV BORIVOJ
+ŽIVOJINOV LJUBICA
+ŽIVOJINOV MILOVAN
+ŽIVOJINOV RADIVOJ
+ŽIVOJINOVIĆ ROZALIJA
+ŽIVOJINOVIĆ VLADIMIR
+ŽIVOJNOV BRANISLAV
+ŽIVOJNOV MIROSLAV
+ŽIVOJNOVIĆ ŽIVOJIN
+ŽIVOJNOVIĆ SANJA
+ŽIVOJNOVIĆ SRĐAN DR LEKAR
+ŽIVOJNOVIĆ ZORKA
+ŽIVOTIĆ ANGELINA
+ŽIVOTIĆ DUŠAN
+ŽIVOTIĆ STANISLAV
+ŽIVOTIĆ STEVAN
+ŽIVOTIĆ VELIMIR
+ŽIVOTIN MARICA
+ŽIVOTIN MITAR
+ŽMUKIĆ BRANKO
+ŽMUKIĆ GORDANA
+ŽMUKIĆ NIKOLA
+ŽNIDARŠIĆ IGNAC
+ŽNIDAREC IVAN
+ŽNIDAREC IVAN
+ŽOLCER FERENC
+ŽOLCER VILMOŠ
+ŽOLJOM KLARA
+ŽOLJOM MIRJANA
+ŽORŽ ALEKSANDAR
+ŽORIĆ FILIP
+ŽUŽA MIRKO
+ŽUBORI MILENA
+ŽUGIĆ DRAGOLJUB
+ŽUGIĆ KRSTO
+ŽUGIĆ MARIJA
+ŽUGIĆ MILIJA
+ŽUGIĆ MILISAV
+ŽUGIĆ MILORAD
+ŽUGIĆ MIRKO
+ŽUGIĆ RADOJKA
+ŽUGIĆ RATKO
+ŽUGIĆ-RIJAVEC SILVIJA
+ŽUGIĆ STANIŠA
+ŽUGIĆ STANKO
+ŽUJIĆ MOMIR
+ŽUJIĆ SLAVKO
+ŽUJO MARJAN
+ŽUMBERKOVIĆ ĐORĐE MR
+ŽUNAC JULKA
+ŽUNAC TOMISLAV
+ŽUNGUL SMILJA
+ŽUNIĆ BOŠKO
+ŽUNIĆ DARKO
+ŽUNIĆ JOVIŠA
+ŽUNIĆ MILAN
+ŽUNIĆ MILENKO
+ŽUNIĆ MILIJAN
+ŽUNIĆ MOMČILO
+ŽUNIĆ NENAD
+ŽUNIĆ-POPOV SNEŽANA
+ŽUNIĆ RADA
+ŽUNIĆ SIMA
+ŽUNIĆ SONJA
+ŽUNIĆ VELIMIR
+ŽUNJIĆ DRAGOMIR
+ŽUNTER ANTUN DIPL ING
+ŽUNTER BOŽANA
+ŽUPAN EDUARD
+ŽUPAN MIRKO
+ŽUPANČIĆ MARGARETA
+ŽUPANEC ALBERT DR
+ŽUPANEC KSENIJA
+ŽUPANEC MIRA
+ŽUPANEC MIRA
+ŽUPARIĆ VIKTOR
+ŽUPIĆ ANTE
+ŽUPIĆ DANE
+ŽUPIĆ DRAGICA
+ŽUPIĆ MIJO
+ŽUPUNSKI ŽARKO
+ŽUPUNSKI ŽIVORAD
+ŽUPUNSKI GOJKO
+ŽUPUNSKI GROZDANA
+ŽUPUNSKI GRUJICA
+ŽUPUNSKI HELENA
+ŽUPUNSKI IVAN
+ŽUPUNSKI MARINKO
+ŽUPUNSKI STEVAN
+ŽUPUNSKI VESELINKA
+ŽURŽEVIĆ CVETKO
+ŽURŽINOVIĆ KOSTA
+ŽURŽOVAN LIA
+ŽURŽOVAN NELU
+ŽURŽOVAN TRANDAFIR
+ŽURŽUL BOŠKO
+ŽURŽUL STANOJE
+ŽURIĆ MIHAILO
+ŽURIĆ VASO
+ŽURKA AURORA
+ŽUTIĆ MILKA
+ŽUTIĆ PETAR
+ŽUTIĆ STEVO
+ĐAČANIN RADOVAN
+ĐAČIĆ VLADIMIR
+ĐAIĆ MIROSLAV
+ĐAJIĆ ŽARKO
+ĐAJIĆ ŽELJKO
+ĐAJIĆ ALEKSANDRA
+ĐAJIĆ BOGDAN
+ĐAJIĆ JELENKO
+ĐAJIĆ-JOVANOVIĆ RAJKA
+ĐAJIĆ MILORAD
+ĐAJIĆ NADA
+ĐAJIĆ NEVENA
+ĐAJIĆ NIKOLA
+ĐAJIĆ VELJKO
+ĐAJIĆ VLADISLAVA
+ĐAKONOV MILKA
+ĐAKONOV STEVAN
+ĐAKONOVIĆ MILOVAN
+ĐAKONOVIĆ SLAVICA
+ĐAKONOVIĆ STEVAN
+ĐAKOV LJILJANA
+ĐAKOV MIHAJLO
+ĐAKOV MILAN
+ĐAKOVIĆ ŽIVKA
+ĐAKOVIĆ ĐORĐE DR
+ĐAKOVIĆ ĐORĐE
+ĐAKOVIĆ ĐORĐE
+ĐAKOVIĆ ĐURA
+ĐAKOVIĆ ĐURO
+ĐAKOVIĆ ĐURO
+ĐAKOVIĆ ANKA
+ĐAKOVIĆ DARA
+ĐAKOVIĆ DRAGAN
+ĐAKOVIĆ DRAGAN
+ĐAKOVIĆ DRAGOLJUB DR
+ĐAKOVIĆ DRAGOLJUB
+ĐAKOVIĆ DUŠAN
+ĐAKOVIĆ ILE
+ĐAKOVIĆ ILIJA
+ĐAKOVIĆ JOKA
+ĐAKOVIĆ JOVANKA
+ĐAKOVIĆ JOVAN
+ĐAKOVIĆ JOVICA
+ĐAKOVIĆ JOVO
+ĐAKOVIĆ LJUBOMIR DR ING
+ĐAKOVIĆ LJUBOMIR
+ĐAKOVIĆ MARIJA
+ĐAKOVIĆ MILAN
+ĐAKOVIĆ MILAN
+ĐAKOVIĆ MILAN
+ĐAKOVIĆ MILKA
+ĐAKOVIĆ MIRJANA
+ĐAKOVIĆ MIRJANA
+ĐAKOVIĆ NEĐO
+ĐAKOVIĆ NEDELJKO
+ĐAKOVIĆ NIKOLA
+ĐAKOVIĆ OSTOJA
+ĐAKOVIĆ PERSIDA
+ĐAKOVIĆ PETAR
+ĐAKOVIĆ PREDRAG
+ĐAKOVIĆ PREDRAG
+ĐAKOVIĆ RADOMIR
+ĐAKOVIĆ RADOSAV
+ĐAKOVIĆ RANKO
+ĐAKOVIĆ SAVA
+ĐAKOVIĆ SLAVICA
+ĐAKOVIĆ SLAVOLJUB
+ĐAKOVIĆ SLOBODAN
+ĐAKOVIĆ STEVAN
+ĐAKOVIĆ STEVAN
+ĐAKOVIĆ STOJAN
+ĐAKOVIĆ TATJANA
+ĐAKOVIĆ VASO
+ĐAKOVIĆ VLADIMIR
+ĐAKOVIĆ VOJO
+ĐAKOVIĆ VUKOSAVA
+ĐAKOVIĆ ZORAN
+ĐALAI LAJOŠ
+ĐALINAC GORDANA
+ĐALINAC RADIVOJ
+ĐALO MIRKO
+ĐALOVIĆ RADOSLAV
+ĐALUŠ STEVAN
+ĐAN JOVAN
+ĐANIŠ LAZAR
+ĐANIŠ OLIVERA
+ĐANIĆ MATO
+ĐANKOVIĆ MILOŠ
+ĐANTAR ANĐELIJA
+ĐANTAR JOŽEF
+ĐAPA ALEKSANDAR
+ĐAPA DUŠAN
+ĐAPA MARKO
+ĐAPA PETAR
+ĐAPIĆ DAVID
+ĐAPIĆ KRSTA
+ĐAPIĆ MILESA
+ĐAPIĆ MILESA
+ĐAPIĆ-MILIĆ TATJANA LEKAR
+ĐAPIĆ PAVLE
+ĐARMATI FRANJA
+ĐARMATI GIZELA
+ĐARMATI ILONA
+ĐARMATI JULIO
+ĐARMATI LASLO
+ĐARMATI MIHAJLO
+ĐARMATI SNEŽANA
+ĐATKOV RADA
+ĐEBNAR OBRAD
+ĐEKER ROZALIJA
+ĐEKIĆ ŽIVOJIN
+ĐEKIĆ KATICA
+ĐEKIĆ MILAN
+ĐEKIĆ MILENA
+ĐEKIĆ MILOMIR
+ĐEKIĆ NADA
+ĐEKIĆ NEDELJKO
+ĐEKIĆ PAVLE
+ĐEKIĆ RADE
+ĐEKIĆ RADMILA
+ĐEKIĆ STANA
+ĐEKIĆ STOJANKA
+ĐELIĆ UROŠ
+ĐEMBER IŠTVAN
+ĐEMROVSKI TOMAŠ
+ĐEMROVSKI VLATKO
+ĐEMROVSKI ZDENKO
+ĐENADIĆ DRAGIŠA
+ĐENADIJA PETAR
+ĐENDIĆ JOVAN DIPL ING
+ĐENDIĆ LAZAR
+ĐENEŠ PETAR
+ĐENGE ANDRAŠ
+ĐENGE ANDRIJA
+ĐENGE PETER
+ĐENIĆ JELENA
+ĐENIĆ SLOBODAN
+ĐENIĆ SLOBODAN
+ĐENIĆ ZORICA
+ĐENISIĆ STANIMIR
+ĐERĐ ĐURA
+ĐERĐ ANTUN
+ĐERĐ IGOR
+ĐERĐ JOSIP
+ĐERĐ KATARINA
+ĐERĐ LJUBICA
+ĐERĐ PETAR
+ĐERĐ VILMOŠ
+ĐERE KORNEL
+ĐERE ZOLTAN
+ĐERFI ALEKSANDAR
+ĐERI ŠANDOR
+ĐERI ENDRE
+ĐERI ERŽEBET
+ĐERI GEZA
+ĐERI KAROLJ
+ĐERI LADISLAV
+ĐERI LASLO
+ĐERI SABOLČ
+ĐERI SALOME
+ĐERIĆ ŽIVAN
+ĐERIĆ ĐORĐE
+ĐERIĆ ĐURA
+ĐERIĆ BRANKO
+ĐERIĆ DANICA
+ĐERIĆ DESANKA
+ĐERIĆ DIMITRIJE
+ĐERIĆ DOBRINKO
+ĐERIĆ DRAGAN
+ĐERIĆ FELIKS
+ĐERIĆ JAROSLAV
+ĐERIĆ JOVAN
+ĐERIĆ JOVAN
+ĐERIĆ JULKA
+ĐERIĆ MICA
+ĐERIĆ MIHAJLO
+ĐERIĆ MILAN
+ĐERIĆ MILENKO
+ĐERIĆ MILE
+ĐERIĆ MILIVOJE
+ĐERIĆ MILOŠ
+ĐERIĆ MIODRAG
+ĐERIĆ MIRJANA
+ĐERIĆ NADA
+ĐERIĆ OLGA
+ĐERIĆ OLIVERA
+ĐERIĆ PETAR
+ĐERIĆ RADE
+ĐERIĆ RADIVOJ
+ĐERIĆ RADOMIR
+ĐERIĆ RADOSLAV
+ĐERIĆ RADOVAN
+ĐERIĆ SLAVKO
+ĐERIĆ STANISLAV
+ĐERIĆ VELJKO
+ĐERIĆ VOJIN
+ĐERKI VERA
+ĐERKOVIĆ MIRČETA
+ĐERKOVIĆ RADOJKA
+ĐERKOVIĆ VLADETA
+ĐERMAN ŽIVKO
+ĐERMAN NEDELJKO
+ĐERMANOV IVAN
+ĐERMANOV LJUBOMIR
+ĐERMANOV MILAN
+ĐERMANOV MILENA
+ĐERMANOV NADEŽDA
+ĐERMANOV OLGA
+ĐERMANOV PETAR
+ĐERMANOV TODOR
+ĐERMANOV VLADA
+ĐERMANOVIĆ JELICA
+ĐERMANOVIĆ MARIJA
+ĐERMANOVIĆ MILODANKA
+ĐERMANOVIĆ SLAVKO
+ĐERMANOVIĆ STANKO
+ĐERMATI IRENA
+ĐETKA JANO
+ĐETKA MIHAL
+ĐETKA MIHAL
+ĐETKA MIRKO
+ĐETVAI ANDRAŠ DIPL ING
+ĐETVAI ANDRAŠ
+ĐETVAI ANICA
+ĐETVAI FERENC
+ĐETVAI IMRE
+ĐETVAI LAJOŠ
+ĐEVEKI JOVAN
+ĐIDIĆ MARIJA
+ĐIDIĆ MARINKO
+ĐIKIĆ STOJAN
+ĐIKIĆ VIKTORIJA
+ĐILAS BORO
+ĐILAS DRAGAN
+ĐILAS DUŠAN
+ĐILAS GROZDANA
+ĐILAS MARINKO
+ĐILAS MILORAD
+ĐILAS MILORAD
+ĐILAS MILORAD
+ĐILAS NIKOLA
+ĐILAS STEVAN
+ĐILVESI ŠANDOR
+ĐILVESI KARLO
+ĐIN ĐURA
+ĐIN JULIJANA
+ĐINĐIĆ MILOJKO
+ĐINIĆ IVICA
+ĐINIĆ NIKOLA
+ĐINIĆ SLAVKA
+ĐINIĆ SOFIJA
+ĐINIĆ VLADETA
+ĐINIĆ ZORAN
+ĐINJA ANDREJ
+ĐINOVIĆ CVETKO
+ĐINOVIĆ IVKO
+ĐINOVIĆ KOLE
+ĐIPALO ĐURO
+ĐIPALO GOJKO
+ĐIPALO MILAN
+ĐIPALO MIRKO
+ĐIPALO MIROSLAV
+ĐIPALO RADE
+ĐIPANOV IDA
+ĐIPANOV NIKOLA
+ĐIPANOV RELJA
+ĐIPANOV SVETOZAR
+ĐIRIŠI IŠTVAN
+ĐIRLIĆ STEVAN
+ĐISALOV BRANISLAV
+ĐISALOV JELENA
+ĐISALOV JELENA
+ĐISALOV LAZAR
+ĐISALOV LJUBINKA
+ĐISALOV MILAN
+ĐISALOV MILAN
+ĐISALOV MILIVOJ
+ĐISALOV MILIVOJ
+ĐISALOV MIODRAG
+ĐISALOV MIODRAG
+ĐISALOV NADA
+ĐISALOV SONJA
+ĐISALOVIĆ KATICA
+ĐITKOV JOVAN
+ĐITKOV SOFIJA
+ĐJAK ŽIVKO
+ĐOĐIĆ MILORAD
+ĐOGO MILOVAN
+ĐOGO MIRJANA
+ĐOGO RUŽICA
+ĐOGO ZORAN
+ĐOGOVIĆ MILORAD
+ĐOGOVIĆ RADIVOJKA
+ĐOKIĆ ALEKSANDAR
+ĐOKIĆ BOŠKO
+ĐOKIĆ BORIVOJE
+ĐOKIĆ BRATISLAV
+ĐOKIĆ CVETKO
+ĐOKIĆ DARINKA
+ĐOKIĆ DRAGAN
+ĐOKIĆ DRAGIŠA
+ĐOKIĆ DRAGOLJUB
+ĐOKIĆ DRAGO
+ĐOKIĆ GORAN
+ĐOKIĆ IVAN
+ĐOKIĆ JELISAVA
+ĐOKIĆ JORDAN
+ĐOKIĆ LJUBINKO
+ĐOKIĆ LJUBO
+ĐOKIĆ LUKA
+ĐOKIĆ MARINKO
+ĐOKIĆ MATILDA
+ĐOKIĆ MIHAJLO
+ĐOKIĆ MILAN
+ĐOKIĆ MILAN
+ĐOKIĆ MILISAV
+ĐOKIĆ MILIVOJE
+ĐOKIĆ MILOVAN
+ĐOKIĆ MILUTIN
+ĐOKIĆ PANTELIJA
+ĐOKIĆ PETAR
+ĐOKIĆ RADISAV
+ĐOKIĆ RADOVAN
+ĐOKIĆ RATKO
+ĐOKIĆ RUŽA
+ĐOKIĆ SLOBODANKA
+ĐOKIĆ SLOBODAN
+ĐOKIĆ SOFIJA
+ĐOKIĆ STANIŠA
+ĐOKIĆ SVETISLAV
+ĐOKIĆ VERA
+ĐOKIĆ VLADISLAV
+ĐOKIĆ VOJISLAV
+ĐOKIĆ VUJADIN
+ĐOKIĆ VUKADIN
+ĐOKIĆ ZORAN
+ĐOKOVIĆ DRAGOMIR
+ĐOKOVIĆ MARKO
+ĐOKOVIĆ MILAN
+ĐOKOVIĆ MILOVAN
+ĐOKOVIĆ PETAR
+ĐOKOVIĆ RADOMIR
+ĐOKOVIĆ RADOVAN
+ĐOKOVIĆ STOJAN
+ĐOKVUČIĆ NADA
+ĐOLAI IMRE
+ĐOLAI MATILDA
+ĐOLJEVIĆ ĐOKA
+ĐOLOVIĆ ČEDOMIR
+ĐOMPARIĆ DUŠAN
+ĐOMPARIĆ ILIJA
+ĐOMPARIĆ MELANIJA
+ĐOMPARIĆ NIKOLA
+ĐOMPARIĆ NIKOLA
+ĐOMPARIĆ NIKOLA
+ĐOMPARIĆ VLADISLAVA
+ĐONOVIĆ ĐORĐIJE
+ĐONOVIĆ KAROLINA
+ĐONOVIĆ ZARIJA
+ĐORĐEVIĆ ČEDOMIR
+ĐORĐEVIĆ ŽIVKO
+ĐORĐEVIĆ ŽIVOJIN
+ĐORĐEVIĆ ŽIVOJIN
+ĐORĐEVIĆ ŽIVOJIN
+ĐORĐEVIĆ ŽIVORAD
+ĐORĐEVIĆ ŽIVORAD
+ĐORĐEVIĆ ŽIVOTA
+ĐORĐEVIĆ ĐOKA
+ĐORĐEVIĆ ĐORĐE
+ĐORĐEVIĆ ĐORĐE
+ĐORĐEVIĆ ĐURA
+ĐORĐEVIĆ ACA
+ĐORĐEVIĆ ALEKSANDAR
+ĐORĐEVIĆ ALEKSANDAR
+ĐORĐEVIĆ ALEKSANDAR
+ĐORĐEVIĆ ALEKSANDAR
+ĐORĐEVIĆ ALEKSANDAR
+ĐORĐEVIĆ ALEKSANDAR
+ĐORĐEVIĆ ALEKSANDAR
+ĐORĐEVIĆ ALEKSANDAR
+ĐORĐEVIĆ ALEKSANDAR
+ĐORĐEVIĆ ALEKSANDRA
+ĐORĐEVIĆ BOGDAN
+ĐORĐEVIĆ BORA
+ĐORĐEVIĆ BORISAV
+ĐORĐEVIĆ BORIVOJE
+ĐORĐEVIĆ BRANIMIR
+ĐORĐEVIĆ BRANISLAV
+ĐORĐEVIĆ BRANISLAV
+ĐORĐEVIĆ BRANISLAV
+ĐORĐEVIĆ BRANISLAV
+ĐORĐEVIĆ BRANISLAV
+ĐORĐEVIĆ BRANISLAV
+ĐORĐEVIĆ BRANKO
+ĐORĐEVIĆ BUDIMIR
+ĐORĐEVIĆ BUDIMIR
+ĐORĐEVIĆ DARKO
+ĐORĐEVIĆ DESANKA
+ĐORĐEVIĆ DESPOT
+ĐORĐEVIĆ DIMITRIJE
+ĐORĐEVIĆ DOBRIVOJE
+ĐORĐEVIĆ DRAŽA
+ĐORĐEVIĆ DRAGANA
+ĐORĐEVIĆ DRAGAN
+ĐORĐEVIĆ DRAGAN
+ĐORĐEVIĆ DRAGAN
+ĐORĐEVIĆ DRAGAN
+ĐORĐEVIĆ DRAGAN
+ĐORĐEVIĆ DRAGA
+ĐORĐEVIĆ DRAGIŠA
+ĐORĐEVIĆ DRAGIŠA
+ĐORĐEVIĆ DRAGIŠA
+ĐORĐEVIĆ DRAGOLJUB DR
+ĐORĐEVIĆ DRAGOLJUB
+ĐORĐEVIĆ DRAGOLJUB
+ĐORĐEVIĆ DRAGOLJUB
+ĐORĐEVIĆ DRAGOLJUB
+ĐORĐEVIĆ DRAGOSLAV
+ĐORĐEVIĆ DRAGUTIN
+ĐORĐEVIĆ DUŠANKA
+ĐORĐEVIĆ DUŠAN
+ĐORĐEVIĆ DUŠAN
+ĐORĐEVIĆ DUŠAN
+ĐORĐEVIĆ DUŠAN
+ĐORĐEVIĆ ERNEST
+ĐORĐEVIĆ EVICA
+ĐORĐEVIĆ FATIMA
+ĐORĐEVIĆ GIZELA
+ĐORĐEVIĆ GORA
+ĐORĐEVIĆ GORDANA
+ĐORĐEVIĆ GRADIMIR
+ĐORĐEVIĆ GRADIMIR
+ĐORĐEVIĆ HRANISLAV
+ĐORĐEVIĆ ILINKA
+ĐORĐEVIĆ ILONA
+ĐORĐEVIĆ IVANA
+ĐORĐEVIĆ IVAN
+ĐORĐEVIĆ JAGODA
+ĐORĐEVIĆ JELENA
+ĐORĐEVIĆ JELENA
+ĐORĐEVIĆ JELENA
+ĐORĐEVIĆ JOVAN
+ĐORĐEVIĆ JOVAN
+ĐORĐEVIĆ JOVAN
+ĐORĐEVIĆ JOVAN
+ĐORĐEVIĆ JOVAN
+ĐORĐEVIĆ JOVICA
+ĐORĐEVIĆ JULKICA
+ĐORĐEVIĆ JULKICA
+ĐORĐEVIĆ KATARINA
+ĐORĐEVIĆ KONSTANDINA
+ĐORĐEVIĆ KOSTA
+ĐORĐEVIĆ LAZAR
+ĐORĐEVIĆ LAZAR
+ĐORĐEVIĆ LJILJANA
+ĐORĐEVIĆ LJUBA DIPL ING
+ĐORĐEVIĆ LJUBIŠA
+ĐORĐEVIĆ LJUBIŠA
+ĐORĐEVIĆ LJUBICA
+ĐORĐEVIĆ LJUBICA
+ĐORĐEVIĆ LJUBICA
+ĐORĐEVIĆ LJUBINKA
+ĐORĐEVIĆ LJUBISAV
+ĐORĐEVIĆ LJUBOMIR
+ĐORĐEVIĆ LJUBOMIR
+ĐORĐEVIĆ MARIJA
+ĐORĐEVIĆ MARIJA
+ĐORĐEVIĆ MILANKA
+ĐORĐEVIĆ MILANKA
+ĐORĐEVIĆ MILAN
+ĐORĐEVIĆ MILAN
+ĐORĐEVIĆ MILENA
+ĐORĐEVIĆ MILENKO
+ĐORĐEVIĆ MILENKO
+ĐORĐEVIĆ MILIJA
+ĐORĐEVIĆ MILOŠ DR
+ĐORĐEVIĆ MILOŠ
+ĐORĐEVIĆ MILORAD
+ĐORĐEVIĆ MILORAD
+ĐORĐEVIĆ MILOSAV
+ĐORĐEVIĆ MILOVAN
+ĐORĐEVIĆ MILOVAN
+ĐORĐEVIĆ MILUTIN
+ĐORĐEVIĆ MIODRAG
+ĐORĐEVIĆ MIODRAG
+ĐORĐEVIĆ MIODRAG
+ĐORĐEVIĆ MIRJANA
+ĐORĐEVIĆ MIRJANA
+ĐORĐEVIĆ MIRKO
+ĐORĐEVIĆ MIRKO
+ĐORĐEVIĆ MIROSLAV
+ĐORĐEVIĆ MIROSLAV
+ĐORĐEVIĆ MIROSLAV
+ĐORĐEVIĆ MLADEN
+ĐORĐEVIĆ NADA
+ĐORĐEVIĆ NADA
+ĐORĐEVIĆ NEDELJKO DR
+ĐORĐEVIĆ NEVENKA
+ĐORĐEVIĆ NIKOLA
+ĐORĐEVIĆ PAJA
+ĐORĐEVIĆ PANTA
+ĐORĐEVIĆ PAVLE
+ĐORĐEVIĆ PAVLE
+ĐORĐEVIĆ PAVLE
+ĐORĐEVIĆ PETAR
+ĐORĐEVIĆ RADOMIR
+ĐORĐEVIĆ RADOMIR
+ĐORĐEVIĆ RADOSLAV
+ĐORĐEVIĆ RADOSLAV
+ĐORĐEVIĆ RADOSLAV
+ĐORĐEVIĆ RAJKA
+ĐORĐEVIĆ RANĐEL
+ĐORĐEVIĆ SAŠA
+ĐORĐEVIĆ SAVA
+ĐORĐEVIĆ SINIŠA
+ĐORĐEVIĆ SLAĐANA
+ĐORĐEVIĆ SLAVKO
+ĐORĐEVIĆ SLAVKO
+ĐORĐEVIĆ SLAVKO
+ĐORĐEVIĆ SLOBODAN
+ĐORĐEVIĆ SLOBODAN
+ĐORĐEVIĆ SLOBODAN
+ĐORĐEVIĆ SLOBODAN
+ĐORĐEVIĆ SNEŽANA
+ĐORĐEVIĆ SOFIJA
+ĐORĐEVIĆ SOFIJA
+ĐORĐEVIĆ SRĐAN
+ĐORĐEVIĆ SRĐAN
+ĐORĐEVIĆ SRETEN
+ĐORĐEVIĆ STANA
+ĐORĐEVIĆ STANISLAV
+ĐORĐEVIĆ STANKA
+ĐORĐEVIĆ STEVANA
+ĐORĐEVIĆ STEVAN
+ĐORĐEVIĆ STEVAN
+ĐORĐEVIĆ SVETISLAV
+ĐORĐEVIĆ SVETISLAV
+ĐORĐEVIĆ SVETOZAR
+ĐORĐEVIĆ TIOSAV
+ĐORĐEVIĆ TOMISLAV
+ĐORĐEVIĆ TOMISLAV
+ĐORĐEVIĆ VELISAV
+ĐORĐEVIĆ VELIZAR
+ĐORĐEVIĆ VERA
+ĐORĐEVIĆ VERA
+ĐORĐEVIĆ VIDOSAVA
+ĐORĐEVIĆ VLADIMIR
+ĐORĐEVIĆ VLAJKO
+ĐORĐEVIĆ VLASTIMIR
+ĐORĐEVIĆ VLASTIMIR
+ĐORĐEVIĆ VOJIN
+ĐORĐEVIĆ VUČKO
+ĐORĐEVIĆ ZORAN
+ĐORĐEVIĆ ZORAN
+ĐORĐEVIĆ ZORAN
+ĐORĐEVIĆ ZORAN
+ĐORĐIĆ BRANKO
+ĐORĐIĆ MARKO
+ĐORĐIĆ MILAN
+ĐORĐIJEVSKI DRAGAN
+ĐORĐIJEVSKI DUŠAN
+ĐORĐIJEVSKI ZORAN
+ĐORĐIN FEMKA
+ĐORĐIN RADE
+ĐORĐIN SAVA
+ĐORĐIOSKI KIRO
+ĐOREVSKI GORAN
+ĐORGIEVA JELICA
+ĐORIĆ ANTONIJE
+ĐORIĆ GORDANA
+ĐORIĆ LJUBISAV
+ĐORIĆ MILIVOJE
+ĐORIĆ MIODRAG
+ĐORIĆ VERICA
+ĐOROJEVIĆ VUKOTA
+ĐOTEVA TRAJANKA
+ĐOTUNOVIĆ ANĐELIJA
+ĐOZIĆ ŠUKRIJA
+ĐUĐAR MELANIJA
+ĐUĐAR VLADA
+ĐUĐAR VLADIMIR
+ĐUĐAR ZVONIMIR
+ĐUĐIĆ DRAGAN
+ĐUDUROVIĆ DUŠAN
+ĐUGA PAVEL
+ĐUKANOV BORIVOJ
+ĐUKANOV EMILIJAN
+ĐUKANOV MILAN
+ĐUKANOV NADA
+ĐUKANOV SLOBODAN
+ĐUKANOVIĆ ALEKSANDAR
+ĐUKANOVIĆ BRANKO
+ĐUKANOVIĆ IVO
+ĐUKANOVIĆ LJUBICA
+ĐUKANOVIĆ MARA
+ĐUKANOVIĆ MILAN
+ĐUKANOVIĆ MIROLJUB
+ĐUKANOVIĆ NADA
+ĐUKANOVIĆ NADA
+ĐUKANOVIĆ PUNIŠA
+ĐUKANOVIĆ SRETEN
+ĐUKANOVIĆ STAKA
+ĐUKANOVIĆ VLADIMIR
+ĐUKANOVIĆ ZORA
+ĐUKIČIN JOVANKA
+ĐUKIČIN MARIJA
+ĐUKIČIN SREDOJE
+ĐUKIČIN SREDOJE
+ĐUKIĆ-ŠABIĆ GORDANA
+ĐUKIĆ ŽARKA
+ĐUKIĆ ŽARKO
+ĐUKIĆ ŽELJKO
+ĐUKIĆ ŽIVOTA
+ĐUKIĆ ĐORĐE
+ĐUKIĆ ĐORĐE
+ĐUKIĆ ĐORĐE
+ĐUKIĆ ĐORĐE
+ĐUKIĆ ĐUR0
+ĐUKIĆ ĐURA
+ĐUKIĆ ĐURO
+ĐUKIĆ AGNICA
+ĐUKIĆ ALEKSANDAR DIPL ING
+ĐUKIĆ ANA
+ĐUKIĆ ANA
+ĐUKIĆ ANDRIJA
+ĐUKIĆ ANICA
+ĐUKIĆ BILJANA
+ĐUKIĆ BORISLAV
+ĐUKIĆ BRANISLAV
+ĐUKIĆ BRANISLAV
+ĐUKIĆ BRANKO
+ĐUKIĆ DANICA DR
+ĐUKIĆ DANILO
+ĐUKIĆ DIJANA
+ĐUKIĆ DIMITRIJE
+ĐUKIĆ DOBRILA
+ĐUKIĆ DOBRIVOJ
+ĐUKIĆ DRAGAN
+ĐUKIĆ DRAGAN
+ĐUKIĆ DRAGOJLO
+ĐUKIĆ DRAGOMIR
+ĐUKIĆ DUŠAN
+ĐUKIĆ DUŠAN
+ĐUKIĆ DUŠAN
+ĐUKIĆ DUŠAN
+ĐUKIĆ DUŠAN
+ĐUKIĆ GENA
+ĐUKIĆ GENO
+ĐUKIĆ GIZELA
+ĐUKIĆ GORDANA
+ĐUKIĆ ILIJA
+ĐUKIĆ ILIJA
+ĐUKIĆ IVAN DIPL ING
+ĐUKIĆ IVANKA
+ĐUKIĆ JAŠA
+ĐUKIĆ JELENA
+ĐUKIĆ JOVAN
+ĐUKIĆ JOVICA
+ĐUKIĆ JULKA
+ĐUKIĆ LEO
+ĐUKIĆ LJILJANA
+ĐUKIĆ LJUBICA
+ĐUKIĆ LJUBOMIR
+ĐUKIĆ LJUBOMIR
+ĐUKIĆ MAKSIM
+ĐUKIĆ MARA
+ĐUKIĆ MARIJA
+ĐUKIĆ MARINA
+ĐUKIĆ MIJODRAG
+ĐUKIĆ MILANKA
+ĐUKIĆ MILAN
+ĐUKIĆ MILAN
+ĐUKIĆ MILAN
+ĐUKIĆ MILAN
+ĐUKIĆ MILAN
+ĐUKIĆ MILAN
+ĐUKIĆ MILAN
+ĐUKIĆ MILENKO
+ĐUKIĆ MILEVA
+ĐUKIĆ MILE
+ĐUKIĆ MILE
+ĐUKIĆ MILICA
+ĐUKIĆ MILICA
+ĐUKIĆ MILJKO
+ĐUKIĆ MILKA
+ĐUKIĆ MILOŠ
+ĐUKIĆ MILOŠ
+ĐUKIĆ MILORAD
+ĐUKIĆ MILOVAN
+ĐUKIĆ MIRKO
+ĐUKIĆ MIRKO
+ĐUKIĆ MIRKO
+ĐUKIĆ MIRKO
+ĐUKIĆ MIRKO
+ĐUKIĆ NEĐO
+ĐUKIĆ NEDELJKO
+ĐUKIĆ NIKOLA
+ĐUKIĆ NIKOLA
+ĐUKIĆ NOVAK
+ĐUKIĆ NOVAK
+ĐUKIĆ NOVAK
+ĐUKIĆ OSTOJA
+ĐUKIĆ PANE
+ĐUKIĆ PAVLE
+ĐUKIĆ PERIŠA
+ĐUKIĆ PETAR
+ĐUKIĆ PETAR
+ĐUKIĆ RADE
+ĐUKIĆ RADIVOJ
+ĐUKIĆ RADOJICA
+ĐUKIĆ RADOVAN
+ĐUKIĆ RAJKO
+ĐUKIĆ ROSA
+ĐUKIĆ RUŽICA LOKAL
+ĐUKIĆ SAVA
+ĐUKIĆ SAVKA
+ĐUKIĆ SAVO DR
+ĐUKIĆ SLAVICA
+ĐUKIĆ SLAVKO
+ĐUKIĆ SLAVOLJUB
+ĐUKIĆ SLOBODAN
+ĐUKIĆ SRĐAN
+ĐUKIĆ SRBOLJUB
+ĐUKIĆ STANA
+ĐUKIĆ STANKO
+ĐUKIĆ STANKO
+ĐUKIĆ STEVAN
+ĐUKIĆ STOJANKA
+ĐUKIĆ STOJAN
+ĐUKIĆ SVETLANA
+ĐUKIĆ SVETLANA
+ĐUKIĆ TOMISLAV
+ĐUKIĆ TOMISLAV
+ĐUKIĆ VALERIJA
+ĐUKIĆ VELEMIR
+ĐUKIĆ VERICA
+ĐUKIĆ VERONIKA
+ĐUKIĆ VIDAK
+ĐUKIĆ VIDA
+ĐUKIĆ VLADIMIR
+ĐUKIĆ VLADIMIR
+ĐUKIĆ VLADIMIR
+ĐUKIĆ VLAJKO
+ĐUKIĆ VOJIN
+ĐUKIĆ VOJISLAV
+ĐUKIĆ VUKAN
+ĐUKIĆ ZORAN
+ĐUKIN DUŠAN
+ĐUKIN STEVAN
+ĐUKNIĆ SRETEN
+ĐULA KARLO
+ĐULINAC JELICA
+ĐULINAC VESELIN
+ĐULIZIBARIĆ-OREŠKOVIĆ DANICA
+ĐULVEZAN KOSA
+ĐULVEZAN MILOŠ
+ĐULVEZAN ROZALIJA
+ĐUMIĆ BOGDAN
+ĐUMIĆ DUŠAN
+ĐUMIĆ GOSPAVA
+ĐUMIĆ ILIJA
+ĐUMIĆ MARIJA
+ĐUMIĆ MILENKO
+ĐUMIĆ SLAVKO
+ĐUMIĆ STANKO
+ĐUMIĆ UROŠ
+ĐUNDIĆ MARINKO
+ĐURČEK MILENKO
+ĐURČEVIĆ KSENIJA
+ĐURČIANSKI MIROSLAV
+ĐURČIANSKI PAVLE
+ĐURČIK JOSIP
+ĐURČJANSKI MIROSLAV
+ĐURČOK MILINA
+ĐURĐEV ŽARKO
+ĐURĐEV ĐORĐE
+ĐURĐEV ALEKSANDAR
+ĐURĐEV ALEKSANDAR
+ĐURĐEV BOŽIDAR
+ĐURĐEV BRANISLAV
+ĐURĐEV DIMITRIJE
+ĐURĐEV DOBRILA
+ĐURĐEV DRAGOLJUB
+ĐURĐEV DUŠAN
+ĐURĐEV DUŠAN
+ĐURĐEV KAĆA
+ĐURĐEV KATA
+ĐURĐEV LJUBIŠA
+ĐURĐEV MARIJA
+ĐURĐEV MARIJA
+ĐURĐEV MILETA
+ĐURĐEV MLADEN
+ĐURĐEV NADEŽDA
+ĐURĐEV NEVENKA
+ĐURĐEV NOVAK
+ĐURĐEV OBRAD
+ĐURĐEV PAVA
+ĐURĐEV PRVOSLAV
+ĐURĐEV SAVICA
+ĐURĐEV SLAVKO
+ĐURĐEV STEVAN
+ĐURĐEV TODOR
+ĐURĐEV VASA
+ĐURĐEV VERA
+ĐURĐEV ZORKA
+ĐURĐEVAC DRAGOLJUB
+ĐURĐEVIĆ ŽELJKO
+ĐURĐEVIĆ ŽIVAN
+ĐURĐEVIĆ ŽIVKO
+ĐURĐEVIĆ ŽIVKO
+ĐURĐEVIĆ ĐORĐE
+ĐURĐEVIĆ ĐURĐICA DIPL ING
+ĐURĐEVIĆ ANĐELKO
+ĐURĐEVIĆ BOGDAN
+ĐURĐEVIĆ BRANKO
+ĐURĐEVIĆ BRANKO
+ĐURĐEVIĆ BUDIMIR
+ĐURĐEVIĆ DRAGUTIN
+ĐURĐEVIĆ DUŠAN
+ĐURĐEVIĆ DUŠAN
+ĐURĐEVIĆ DUŠICA
+ĐURĐEVIĆ GORDANA
+ĐURĐEVIĆ JAKOV
+ĐURĐEVIĆ JELENA
+ĐURĐEVIĆ JELENA
+ĐURĐEVIĆ JELICA
+ĐURĐEVIĆ JOVANKA
+ĐURĐEVIĆ JOVAN
+ĐURĐEVIĆ JULKA
+ĐURĐEVIĆ LAZAR
+ĐURĐEVIĆ LAZO
+ĐURĐEVIĆ LJUBOMIR
+ĐURĐEVIĆ MANOJLO
+ĐURĐEVIĆ MARIJA
+ĐURĐEVIĆ MILAN
+ĐURĐEVIĆ MILAN
+ĐURĐEVIĆ MILAN
+ĐURĐEVIĆ MILENKO
+ĐURĐEVIĆ MILICA
+ĐURĐEVIĆ MILIVOJ
+ĐURĐEVIĆ MILORAD
+ĐURĐEVIĆ MILORAD
+ĐURĐEVIĆ MIRJANA
+ĐURĐEVIĆ MIRJANA
+ĐURĐEVIĆ MOMČILO
+ĐURĐEVIĆ NEDELJKO
+ĐURĐEVIĆ NIKOLA
+ĐURĐEVIĆ RADINKA
+ĐURĐEVIĆ RANKO
+ĐURĐEVIĆ SAVA
+ĐURĐEVIĆ SAVA
+ĐURĐEVIĆ SLOBODAN
+ĐURĐEVIĆ SRĐAN DR
+ĐURĐEVIĆ STANKO
+ĐURĐEVIĆ STANOJKA
+ĐURĐEVIĆ STEVAN
+ĐURĐEVIĆ SVETOZAR
+ĐURĐEVIĆ TODOR
+ĐURĐEVIĆ TOMISLAV
+ĐURĐEVIĆ TOMISLAV
+ĐURĐEVIĆ VESELIN
+ĐURĐEVIĆ VID
+ĐURĐEVIĆ VLADA
+ĐURĐEVIĆ VLADA
+ĐURĐEVIĆ VLADIMIR
+ĐURĐEVIĆ VLADIMIR
+ĐURĐEVIĆ VLADISLAV
+ĐURĐEVIĆ ZORAN
+ĐURĐEVIĆ ZORAN
+ĐURĐEVSKI BOŠKO
+ĐURĐIĆ BOŽIDAR
+ĐURĐIĆ MILOŠ
+ĐURĐIĆ MOMČILO
+ĐURĐIĆ SAVO
+ĐURĐIĆ STANA
+ĐURĐIN STEVAN
+ĐURĐULOV DEJAN
+ĐURĐULOV EVICA
+ĐURA FRANJA
+ĐURA JELISAVETA
+ĐURA JULIJANA MR
+ĐURAČIĆ DRAGAN
+ĐURAŠ MIODRAG
+ĐURAŠEVIĆ ĐORĐE
+ĐURAŠEVIĆ ĐURO
+ĐURAŠEVIĆ GOJKO
+ĐURAŠEVIĆ IVO
+ĐURAŠEVIĆ MARIJANA
+ĐURAŠEVIĆ MILE
+ĐURAŠEVIĆ RADOMIR
+ĐURAŠEVIĆ TIBOR
+ĐURAŠEVIĆ ZORAN
+ĐURAŠINOV VELIMIR
+ĐURAŠINOVIĆ ILIJA
+ĐURAŠKOVIĆ ŽIVOJIN
+ĐURAŠKOVIĆ BOŽO
+ĐURAŠKOVIĆ DRAGAN
+ĐURAŠKOVIĆ DRAGO
+ĐURAŠKOVIĆ GORDANA
+ĐURAŠKOVIĆ JOVAN
+ĐURAŠKOVIĆ JOVAN
+ĐURAŠKOVIĆ JOVICA
+ĐURAŠKOVIĆ RAJKO
+ĐURAŠKOVIĆ STANOJE
+ĐURAGIĆ ĐORĐE
+ĐURAGIĆ DILE
+ĐURAGIĆ DRAGAN
+ĐURAGIĆ GIGA
+ĐURAGIĆ JOVAN
+ĐURAGIĆ JULKA
+ĐURAGIĆ LAZAR
+ĐURAGIĆ MIROSLAV
+ĐURAGIĆ SAVA
+ĐURAGIĆ STEVAN
+ĐURAGIN JOVAN
+ĐURAGIN STANKA
+ĐURAK JOŽEF
+ĐURAK JOSIF
+ĐURAKOVAC FATMIRA
+ĐURAN BOJANA
+ĐURAN ILIJA
+ĐURAN JELENA
+ĐURAN JOVO
+ĐURAN MILAN
+ĐURAN MILAN
+ĐURAN RAJKO
+ĐURAN RAJKO
+ĐURAN SLAVKO
+ĐURAN SNEŽANA
+ĐURAN ZDRAVKO
+ĐURANOVIĆ DUŠAN
+ĐURANOVIĆ ILONA
+ĐURANOVIĆ MIHAILO
+ĐURANOVIĆ MILAN
+ĐURANOVIĆ MIODRAG
+ĐURANOVIĆ MIRKO
+ĐURANOVIĆ NADA
+ĐURANOVIĆ SLAĐANA
+ĐURASINOVIĆ MILE
+ĐURDKOV EVA
+ĐUREKOVIĆ KARLO
+ĐUREKOVIĆ LJUBICA
+ĐUREKOVIĆ ZVONIMIR
+ĐURENDIĆ ĐORĐE
+ĐURENDIĆ DUŠAN
+ĐURETIĆ NIKOLA
+ĐURIČIĆ DRAGINJA
+ĐURIČIĆ DRAGO
+ĐURIČIĆ DRAGUTIN
+ĐURIČIĆ DUŠAN
+ĐURIČIĆ JOVAN
+ĐURIČIĆ MILJOJKO
+ĐURIČIĆ MILOŠ
+ĐURIČIĆ NEŠKO
+ĐURIČIĆ NIKOLA
+ĐURIČIĆ PAVLE
+ĐURIČIĆ RUŽA
+ĐURIČIĆ SLAVKO
+ĐURIČIĆ SLAVKO
+ĐURIČIĆ STANKO
+ĐURIČIĆ TANKOSAVA
+ĐURIČIĆ ZLATICA
+ĐURIČIĆ ZORAN
+ĐURIČIN ĐORĐE
+ĐURIČIN ALEKSANDAR
+ĐURIČIN DRAGAN
+ĐURIČIN DRAGUTIN
+ĐURIČIN KATARINA
+ĐURIČIN KATICA
+ĐURIČIN MARKO
+ĐURIČIN MILAN
+ĐURIČIN MILORAD
+ĐURIČIN MIODRAG
+ĐURIČIN PETAR
+ĐURIČIN RADOSLAVA
+ĐURIČIN RUŽICA
+ĐURIČIN SINIŠA
+ĐURIČIN SOFIJA
+ĐURIČIN STANIJA
+ĐURIČIN STEVAN
+ĐURIČIN SVETLANA
+ĐURIČIN TOMISLAV
+ĐURIČIN VASILIJE
+ĐURIČIN ZORKA
+ĐURIČKOVIĆ MILORAD
+ĐURIČKOVIĆ PAVLE
+ĐURIČKOVIĆ ZLATANA
+ĐURIŠ KLARA
+ĐURIŠ MIROSLAV
+ĐURIŠ PALJO
+ĐURIŠEVIĆ MILENA
+ĐURIŠIĆ DUŠAN
+ĐURIŠIĆ JELENA
+ĐURIŠIĆ LAZAR
+ĐURIŠIĆ MATO
+ĐURIŠIĆ MILAN
+ĐURIŠIĆ MILAN
+ĐURIŠIĆ MILIJA
+ĐURIŠIĆ MILISAV
+ĐURIŠIĆ NIKOLA
+ĐURIŠIĆ RADMILA
+ĐURIŠIĆ RADOMIR
+ĐURIŠIĆ SLAVKO
+ĐURIŠIĆ SVETLANA
+ĐURIŠIĆ VERA
+ĐURIŠIĆ VIDA
+ĐURIŠIĆ ZLATANA
+ĐURIŠIĆ ZLATA
+ĐURIĆ ŽARKO
+ĐURIĆ ŽELJKO
+ĐURIĆ ŽIVORAD
+ĐURIĆ ĐERĐ
+ĐURIĆ ĐORĐE
+ĐURIĆ ĐORĐE
+ĐURIĆ ĐORĐE
+ĐURIĆ ĐURA
+ĐURIĆ ĐURICA
+ĐURIĆ ALEKSANDAR
+ĐURIĆ ANĐELKA
+ĐURIĆ ANGELINA
+ĐURIĆ ANKA
+ĐURIĆ ARSENIJE
+ĐURIĆ BLAGOMIR
+ĐURIĆ BOŽIDAR
+ĐURIĆ BOŽIDAR
+ĐURIĆ BOGOLJUB
+ĐURIĆ BOGOLJUB
+ĐURIĆ BOJAN
+ĐURIĆ BORIVOJ
+ĐURIĆ BORKA
+ĐURIĆ BORKA
+ĐURIĆ BRANISLAV DR LEKAR
+ĐURIĆ BRANISLAVA
+ĐURIĆ BRANKA
+ĐURIĆ BRANKA
+ĐURIĆ BRANKO
+ĐURIĆ BRATISLAV
+ĐURIĆ BUDIMIR
+ĐURIĆ DEJAN
+ĐURIĆ DEJAN
+ĐURIĆ DESPOT
+ĐURIĆ DOBRE
+ĐURIĆ DOBRILA
+ĐURIĆ DRAGAN
+ĐURIĆ DRAGAN
+ĐURIĆ DRAGAN
+ĐURIĆ DRAGAN
+ĐURIĆ DRAGAN
+ĐURIĆ DRAGAN
+ĐURIĆ DRAGAN
+ĐURIĆ DRAGICA
+ĐURIĆ DRAGICA
+ĐURIĆ DRAGUTIN DR
+ĐURIĆ DUŠAN
+ĐURIĆ DUŠAN
+ĐURIĆ EVA
+ĐURIĆ FRANJA
+ĐURIĆ GOJKO
+ĐURIĆ GOJKO
+ĐURIĆ GORDANA
+ĐURIĆ HRANISLAV
+ĐURIĆ HRANISLAV
+ĐURIĆ ILIJA
+ĐURIĆ ILIJA
+ĐURIĆ JASMINKA
+ĐURIĆ JELICA
+ĐURIĆ JOVAN
+ĐURIĆ JOVAN
+ĐURIĆ JOVAN
+ĐURIĆ JOVO
+ĐURIĆ KRISTINA
+ĐURIĆ LJILJANA
+ĐURIĆ LJUBIŠA
+ĐURIĆ LJUBIŠA
+ĐURIĆ LJUBICA
+ĐURIĆ LJUBICA
+ĐURIĆ LJUBODRAG
+ĐURIĆ LJUBOMIR
+ĐURIĆ MARA
+ĐURIĆ MARIJA
+ĐURIĆ MIĆA
+ĐURIĆ MILANKO
+ĐURIĆ MILAN
+ĐURIĆ MILAN
+ĐURIĆ MILAN
+ĐURIĆ MILAN
+ĐURIĆ MILENKO
+ĐURIĆ MILICA
+ĐURIĆ MILIVOJE
+ĐURIĆ MILOŠ
+ĐURIĆ MILORAD
+ĐURIĆ MILORAD
+ĐURIĆ MILOVAN
+ĐURIĆ MILUN
+ĐURIĆ MIODRAG
+ĐURIĆ MIODRAG
+ĐURIĆ MIRJANA
+ĐURIĆ MIRKO
+ĐURIĆ MIROLJUB
+ĐURIĆ MIROSLAVA
+ĐURIĆ MIROSLAV
+ĐURIĆ MITAR
+ĐURIĆ MOMČILO
+ĐURIĆ NEDELJKO
+ĐURIĆ NEMANJA
+ĐURIĆ NENAD
+ĐURIĆ NEVENKA
+ĐURIĆ PETRA
+ĐURIĆ PREDRAG
+ĐURIĆ PREDRAG
+ĐURIĆ RADIVOJE
+ĐURIĆ RADMILA
+ĐURIĆ RADOICA
+ĐURIĆ RADOJKA
+ĐURIĆ RADOSLAV
+ĐURIĆ RATKO
+ĐURIĆ SANJA
+ĐURIĆ SAVKA
+ĐURIĆ SAVO
+ĐURIĆ SEKULA
+ĐURIĆ SLAVICA
+ĐURIĆ SLAVKA
+ĐURIĆ SLAVKO
+ĐURIĆ SLAVKO
+ĐURIĆ SRBOLJUB
+ĐURIĆ STANIMIR
+ĐURIĆ STANIMIR
+ĐURIĆ STEVAN
+ĐURIĆ STOJANKA
+ĐURIĆ STOJANKA
+ĐURIĆ TEODOR
+ĐURIĆ TEREZA
+ĐURIĆ TODOR
+ĐURIĆ TODOR
+ĐURIĆ TUGOMIR
+ĐURIĆ VASA
+ĐURIĆ VELJKO
+ĐURIĆ VERA
+ĐURIĆ VERA
+ĐURIĆ VIDA
+ĐURIĆ VIDOJE
+ĐURIĆ VLADA
+ĐURIĆ VLADIMIR
+ĐURIĆ VLADIMIR
+ĐURIĆ VLADIMIR
+ĐURIĆ VOJIN
+ĐURIĆ VOJISLAV
+ĐURIĆ VUKAŠIN
+ĐURIĆ ZDENKA
+ĐURIĆ ZDRAVKO
+ĐURIĆ ZORAN
+ĐURICA MILOŠ
+ĐURICA NEVENKA
+ĐURICA RADE
+ĐURICA RANKO
+ĐURICA RANKO
+ĐURICA RATKO
+ĐURICA SLOBODAN DIPL OEC
+ĐURIK DUŠAN
+ĐURIK JULKA
+ĐURIK MILAN
+ĐURIK OTILIJA
+ĐURIKIN ILIJA
+ĐURIKIN VERA
+ĐURIN ILIJA
+ĐURIN JOSIP
+ĐURIN NOVA
+ĐURIN NOVA
+ĐURIN SAVA DIPL ING
+ĐURIN SVETLANA
+ĐURIN TEODOR
+ĐURKIĆ DRAGICA
+ĐURKIN MILENKO
+ĐURKIN RADIŠKO
+ĐURKIN VLADIMIR
+ĐURKOVIĆ ČASLAV
+ĐURKOVIĆ ĐENA
+ĐURKOVIĆ ALEKSANDAR DIPL ING
+ĐURKOVIĆ ANTON
+ĐURKOVIĆ MAGDALENA
+ĐURKOVIĆ PERICA
+ĐURKOVIĆ RADE
+ĐURKOVIĆ RUŽICA
+ĐURKOVIĆ STEVAN
+ĐURKOVIĆ SVETOMIR
+ĐURKOVIĆ VLAJKO
+ĐURKOVSKI PAVEL
+ĐURNIĆ RADMILA
+ĐURNIĆ VOJISLAV
+ĐUROVIĆ ŽIVKA
+ĐUROVIĆ ALEKSANDAR
+ĐUROVIĆ BOŠKO
+ĐUROVIĆ BOJA
+ĐUROVIĆ BORISLAV
+ĐUROVIĆ BOSILJKA
+ĐUROVIĆ DANILO
+ĐUROVIĆ DARINKA
+ĐUROVIĆ DRAGAN
+ĐUROVIĆ DRAGAN
+ĐUROVIĆ DRAGAN
+ĐUROVIĆ DRAGAN
+ĐUROVIĆ DRAGAN
+ĐUROVIĆ DRAGOLJUB
+ĐUROVIĆ GOJKO
+ĐUROVIĆ JASMINKA
+ĐUROVIĆ JOVAN
+ĐUROVIĆ LJUBICA
+ĐUROVIĆ MILENKO
+ĐUROVIĆ MILICA
+ĐUROVIĆ MILISAV
+ĐUROVIĆ MILKA
+ĐUROVIĆ NADEŽDA
+ĐUROVIĆ NIKOLA
+ĐUROVIĆ OLGICA
+ĐUROVIĆ RADENKO
+ĐUROVIĆ RADE
+ĐUROVIĆ RADOMIR
+ĐUROVIĆ RADOMIR
+ĐUROVIĆ RADOSLAV
+ĐUROVIĆ RADOVAN
+ĐUROVIĆ SOFIJA
+ĐUROVIĆ SVETLANA
+ĐUROVIĆ SVETOMIR
+ĐUROVIĆ VASO
+ĐUROVIĆ VESNA
+ĐUROVIĆ VUKAŠIN
+ĐUROVIĆ VUKADIN
+ĐUROVIĆ ZORKA
+ĐUROVKA MARIJA
+ĐUROVKA ONDREJ
+ĐUROVKA VLADISLAV
+ĐUROVSKI JOVICA
+ĐUSIĆ MIODRAG
+ĐUZA STEVO
+AČ ŠANDOR
+AČ FERENC
+AČ FRANJA DR PRIMARIJUS
+AČ GABOR
+AČ JOŽEF AKADEMSKI SLIKAR
+AČ JOŽEF BIOLOG
+AČ JOVAN
+AČ KATICA
+AČ LAJOŠ
+AČ-NIKOLIĆ ERŽEBET
+AČ OTO
+AČ PAVLE
+AČ TIBOR
+AČAI IŠTVAN
+AČAI ZOLTAN
+AČANASKI VESNA
+AČANSKI ŽIVKO
+AČANSKI ALBINA
+AČANSKI ALEKSANDAR
+AČANSKI BRANISLAV
+AČANSKI DOBRIVOJ
+AČANSKI DRAGICA
+AČANSKI DRAGOMIR
+AČANSKI JELISOV
+AČANSKI KOSANA
+AČANSKI LAZAR
+AČANSKI LAZAR
+AČANSKI NIKOLA
+AČANSKI RADA
+AČANSKI STANA
+AČANSKI STANISLAV
+AČANSKI TEODOR DIPL ING
+AČANSKI TODOR
+AČANSKI VIDOSAVA
+AČANSKI ZDRAVKO
+AČANSKI ZORICA
+AŠĆERIĆ STEVAN
+AŠĆERIĆ STEVAN
+AŠĆERIĆ ZORA
+AŠANIN RADIVOJE
+AŠANIN ZORAN
+AŠIKU VITALIS DR LEKAR
+AŠKOVIĆ SLAVKO DIPL ING
+AŠKOVIĆ TOMISLAV
+AŠKOVIĆ VOJISLAVA
+AŠONJA NEDELJKO
+AŠONJA OLGA
+AŠTALKOVSKI ALEKSANDAR
+AŠTALKOVSKI KRISTINA
+AĆANSKI ĐORĐE
+AĆANSKI LAZAR
+AĆIĆ ILIJA
+AĆIĆ MIRKO
+AĆIĆ STEVAN
+AĆIMOV ALEKSANDAR
+AĆIMOV BOŠKO
+AĆIMOV DRAGICA
+AĆIMOV LELA
+AĆIMOV MARKO
+AĆIMOV MILAN
+AĆIMOV MIRJANA PROFESOR
+AĆIMOV NEDELJKO
+AĆIMOV RADIVOJ
+AĆIMOV RADOSLAVA
+AĆIMOVIĆ ŽIVKO
+AĆIMOVIĆ ŽIVOJIN
+AĆIMOVIĆ ĐORĐE
+AĆIMOVIĆ ĐORĐE
+AĆIMOVIĆ ĐURĐINKA
+AĆIMOVIĆ BOŠKO
+AĆIMOVIĆ BOGDANKA
+AĆIMOVIĆ BORKA
+AĆIMOVIĆ BRANKO
+AĆIMOVIĆ BRANKO
+AĆIMOVIĆ DRAGAN
+AĆIMOVIĆ DRAGOLJUB
+AĆIMOVIĆ DRAGOSLAV
+AĆIMOVIĆ DUŠANKA
+AĆIMOVIĆ DUŠAN
+AĆIMOVIĆ DUŠAN
+AĆIMOVIĆ GOJKO
+AĆIMOVIĆ ILIJA
+AĆIMOVIĆ JOVA
+AĆIMOVIĆ MILAN
+AĆIMOVIĆ MILA
+AĆIMOVIĆ MILIVOJE DR
+AĆIMOVIĆ MILIVOJ
+AĆIMOVIĆ MILOJICA
+AĆIMOVIĆ MIODRAG
+AĆIMOVIĆ OBRAD
+AĆIMOVIĆ RADMILA
+AĆIMOVIĆ RADOVAN
+AĆIMOVIĆ RATKO
+AĆIMOVIĆ SAVA
+AĆIMOVIĆ SAVA
+AĆIMOVIĆ SLAVKO
+AĆIMOVIĆ SLOBODAN
+AĆIMOVIĆ TADIJA
+AĆIMOVIĆ VASA
+AĆIMOVIĆ VASILIJE
+AĆIMPVIĆ ALEKSANDAR
+AĐANSKI BRANISLAV
+AĐANSKI IVANA
+AĐANSKI MILIVOJ
+AĐANSKI NADA
+AĐANSKI STEVAN
+AĐIĆ DRAGO
+AĐIĆ OTO
+AĐIN ADAM
+ABADŽIĆ MARKO
+ABADŽIĆ RADMILA
+ABADŽIĆ SAVO
+ABADŽIĆ STANKO
+ABAZA VESNA
+ABAZI ILJAZ
+ABAZI RAMADAN
+ABAZOVSKI SULTAN
+ABDIJEVIĆ ŠUKRIJA
+ABDIJEVIĆ ISMET
+ABRAHAM EVA
+ABRAHAM IRENA
+ABRAHAM PAVEL
+ABRAMOVIĆ DUŠANKA
+ABRAMOVIĆ LIVIJA
+ABRAMOVIĆ MILORAD
+ABRAMOVIĆ MIRJANA
+ABRAMOVIĆ NADA
+ABRAMOVIĆ STANA
+ABRAMOVIĆ VALERIJA
+ABRLIĆ NADA
+ABT LASLO
+ABU-ABED MUHAMED
+ACIGAN JOVANKA
+ACIN-PETROVIĆ IVANKA
+ACKETA DRAGAN
+ACKETA MIRJANA
+ACKETA TIHOMIR
+ACKOVIĆ MARA
+ADŽAIP MILORAD
+ADŽAIP MIRJANA
+ADŽEMOVIĆ ALEKSANDAR
+ADŽEMOVIĆ GRUJO
+ADŽIĆ ŽARKO
+ADŽIĆ BOŠKO
+ADŽIĆ BRANKO
+ADŽIĆ DESANKA
+ADŽIĆ DRAGOLJUB
+ADŽIĆ DUŠICA
+ADŽIĆ GORAN
+ADŽIĆ ILIJA
+ADŽIĆ JOVANKA
+ADŽIĆ JOVAN
+ADŽIĆ LJUBODRAG
+ADŽIĆ MILAN
+ADŽIĆ MILEN
+ADŽIĆ MILISAV
+ADŽIĆ MILIVOJE
+ADŽIĆ MILORAD
+ADŽIĆ NEDELJKO
+ADŽIĆ PERO
+ADŽIĆ RADISAV
+ADŽIĆ RADONJA
+ADŽIĆ RANKO
+ADŽIĆ RATKO
+ADŽIĆ SLOBODAN
+ADŽIĆ VLADO
+ADŽIĆ ZORAN
+ADŽIBABA MILICA
+ADŽIBABA NIKOLA
+ADAM ŠARLOTA
+ADAM ĐURA
+ADAM DENEŠ
+ADAM IRMA
+ADAM JOŽEF
+ADAM JOSIP
+ADAM KRUNICA DR
+ADAM LADISLAV
+ADAM LADISLAV
+ADAM LASLO
+ADAM OLGICA
+ADAM TIBOR NOVINAR
+ADAMOV ĐORĐE
+ADAMOV BOŽIDAR
+ADAMOV DRAGAN
+ADAMOV DUŠAN
+ADAMOV IVAN
+ADAMOV JOVAN
+ADAMOV JULIANA
+ADAMOV JULKA
+ADAMOV JULKA
+ADAMOV KATARINA
+ADAMOV LJUBA
+ADAMOV MARIJA
+ADAMOV MIROSLAVA
+ADAMOV RADOVAN
+ADAMOV TICA
+ADAMOV VITOMIR
+ADAMOVIĆ ĐURA
+ADAMOVIĆ BOŠKO
+ADAMOVIĆ DRAGA
+ADAMOVIĆ DRAGOLJUB
+ADAMOVIĆ DRAGOLJUB
+ADAMOVIĆ DRAGUTIN
+ADAMOVIĆ DUŠAN
+ADAMOVIĆ DUŠAN
+ADAMOVIĆ DUŠAN
+ADAMOVIĆ DUŠAN
+ADAMOVIĆ GOJKO
+ADAMOVIĆ GOJKO
+ADAMOVIĆ GORAN
+ADAMOVIĆ ILONA
+ADAMOVIĆ IVAN
+ADAMOVIĆ JELA
+ADAMOVIĆ JELENA
+ADAMOVIĆ JOVANKA
+ADAMOVIĆ JOVAN
+ADAMOVIĆ KATA
+ADAMOVIĆ LAZAR
+ADAMOVIĆ LAZAR
+ADAMOVIĆ LJILJANA
+ADAMOVIĆ LJUBOMIR
+ADAMOVIĆ MARA
+ADAMOVIĆ MARA
+ADAMOVIĆ MARA
+ADAMOVIĆ MARINKO
+ADAMOVIĆ MILENA
+ADAMOVIĆ MILICA
+ADAMOVIĆ MILKAN
+ADAMOVIĆ MIRKO
+ADAMOVIĆ MIRKO
+ADAMOVIĆ MOMČILO
+ADAMOVIĆ MOMČILO
+ADAMOVIĆ MOMČILO
+ADAMOVIĆ RADMILA
+ADAMOVIĆ RADOSAV
+ADAMOVIĆ SLAVKO
+ADAMOVIĆ SONJA
+ADAMOVIĆ STOJANKA
+ADAMOVIĆ SVETOZAR
+ADAMOVIĆ TOMISLAV
+ADAMOVIĆ TOMISLAV
+ADAMOVIĆ VLADIMIR
+ADEMI GORDANA
+ADEMI IMER
+ADEMOV KEMAL
+ADEMOVIĆ JUSUF
+ADEMOVIĆ OSMAN
+ADLEŠIĆ LJUBICA
+ADNAĐEVIĆ SVETOZAR
+ADOR JOVAN
+AGARSKI JAN DR
+AGATIĆ MATE
+AGATIĆ MIRKO
+AGATIĆ VELIMIR
+AGBABA BRANKA
+AGBABA DANE
+AGBABA DANICA
+AGBABA DANILO
+AGBABA DUŠAN
+AGBABA JOVAN
+AGBABA NEDELJKA
+AGBABA NEDELJKO
+AGBABA NIKOLA DR
+AGBABA NIKOLA
+AGBABA VIDA
+AGIĆ MARKO
+AGIĆ NADA
+AGIĆ NIKOLAJ
+AGIĆ NIKOLA
+AGIĆ SLOBODAN DIPL OEC
+AGIĆ SRBISLAV
+AGIĆ VLADIMIR
+AGO MARKO
+AGO ZORICA
+AGOČ DUŠAN
+AGOŠTON BELA
+AGOŠTON FERENC
+AGOŠTON KAROLJ
+AGOŠTON LASLO
+AGOŠTON MIHALJ
+AGOŠTON VERA
+AGRAMOVIĆ DESANKA
+AGRAMOVIĆ RADE
+AGUŠEVIĆ SLOBODANKA
+AGUCIĆ OLGICA
+AHMED ELEZ
+AHMETOV ŠUKRI
+AHMETOVIĆ KARLO
+AHMETOVIĆ SOFIJA
+AHMETOVIĆ ZLATKO
+AIRALDI BOŽIDAR
+AJ BRANISLAV
+AJ VESNA
+AJANOVIĆ SALKO
+AJCEV DUŠAN
+AJDŽANOVIĆ ANASTASIJA DR LEKAR
+AJDARIĆ RADOSLAV
+AJDER ŽELJKO
+AJDER BOŠKO
+AJDER DANICA
+AJDIĆ ĐORĐE
+AJDINI SABRIJA
+AJDINOVIĆ NIKOLA
+AJDUK JOSIM
+AJDUK MARKO
+AJDUK MILICA
+AJDUK TOŠA
+AJDUKOVIĆ GOJKO
+AJDUKOVIĆ LJILJANA
+AJDUKOVIĆ MILAN
+AJDUKOVIĆ SOFIJA
+AJGENMAHT MARINA
+AJKUNIĆ ADIL
+AJKUNIĆ NEZIR
+AJRANOVIĆ JUSUF
+AJTIĆ SVETISLAV
+AJTLBEZ MIJAT
+AJTLBEZ MIJAT
+AJVAZOVIĆ AĆIF
+AJVAZOVIĆ ASLAN
+AJVAZOVIĆ ESMA
+AJVAZOVIĆ FAID
+AJVILER STEVAN
+AJZENBERGER BELA
+AKŠAMOVIĆ PLAVŠA
+AKIK DRAGICA
+AKIK DUŠAN
+AKIN DRAGA
+AKIN SOFIJA
+AKONČIĆ ZORAN
+AKRAP FILIP PROF
+AKRAPOVIĆ MIROSLAV
+AKSENTIJEVIĆ JOVAN
+AKSENTIJEVIĆ NIKOLA SUDIJA
+AKSENTIJEVIĆ STOJADIN
+AKSIN BRANISLAV
+AKSIN MILOVAN
+AKSIN VLADIMIR DR ING
+ALAĐI ŠANDOR
+ALABAŠOVSKI GRUJA
+ALABAŠOVSKI IBRAHIM
+ALABURIĆ PAVLE
+ALABURIĆ TEODOR DIPL ING
+ALADŽIĆ ĐORĐO
+ALADIĆ ALEKSANDAR
+ALADIĆ ALEKSANDAR
+ALADIĆ BRANISLAVA
+ALADIĆ IDA
+ALADIĆ STEVAN
+ALAGIĆ DUŠAN
+ALAGIĆ MUJO
+ALAGIĆ NADA
+ALAGIĆ RADOSLAV
+ALAGIĆ VERA
+ALAICA RADOJKA
+ALAJICA BRANKO
+ALAJICA JOVO
+ALAN VERA
+ALANOV RUŽICA
+ALARGIĆ JELENA
+ALARGIĆ MILICA
+ALARGIĆ PETAR
+ALARGIĆ RADE
+ALARGIĆ RANKA
+ALARGIĆ TIMA
+ALASOV DRAGOSLAV
+ALASOV LAZAR DIPL ING
+ALAVANJA MIRJANA
+ALBIJANIĆ BORO
+ALBIJANIĆ DRAGUTIN
+ALBOT ILIJA
+ALBREHT JANOŠ
+ALBREHT MARIJA
+ALBREHT MARIJA
+ALBULJ DIVNA
+ALBULJ GORDANA
+ALBULJ VESELIN
+ALBULJ VOJISLAVKA
+ALEKSANDER ANA
+ALEKSANDER RUDOLF
+ALEKSANDRIĆ MILESA DR
+ALEKSANDROV SLAVČA
+ALEKSANDROVIĆ DRAGAN
+ALEKSANDROVIĆ DUŠAN
+ALEKSI STEVAN
+ALEKSIĆ ČASLAV
+ALEKSIĆ ČEDOMIR
+ALEKSIĆ ŽIVOMIR
+ALEKSIĆ ĐORĐE
+ALEKSIĆ ĐURA
+ALEKSIĆ ACA
+ALEKSIĆ ADAM
+ALEKSIĆ ARSA
+ALEKSIĆ BISERKA
+ALEKSIĆ BOŽIDAR
+ALEKSIĆ BOŽIDAR
+ALEKSIĆ BOGDAN
+ALEKSIĆ BRANISLAV
+ALEKSIĆ BRANKO
+ALEKSIĆ BRANKO
+ALEKSIĆ BRANKO
+ALEKSIĆ BUDIMIR
+ALEKSIĆ DANICA
+ALEKSIĆ DARINKA
+ALEKSIĆ DRAGAN
+ALEKSIĆ DRAGA
+ALEKSIĆ DRAGOLJUB
+ALEKSIĆ DRAGOMIR
+ALEKSIĆ DRAGOSLAV DR
+ALEKSIĆ DUŠAN
+ALEKSIĆ DUŠAN
+ALEKSIĆ EVICA
+ALEKSIĆ GOJKO
+ALEKSIĆ GORAN
+ALEKSIĆ GORDANA
+ALEKSIĆ-GRISER NIKOLA
+ALEKSIĆ ILINKA
+ALEKSIĆ IVAN
+ALEKSIĆ JELENA
+ALEKSIĆ JELICA
+ALEKSIĆ JELICA
+ALEKSIĆ JOSIP
+ALEKSIĆ JOVAN
+ALEKSIĆ JOVO
+ALEKSIĆ KATA
+ALEKSIĆ KATICA
+ALEKSIĆ KATICA
+ALEKSIĆ KOSA
+ALEKSIĆ KOSTA
+ALEKSIĆ KOSTA
+ALEKSIĆ LEPOSAVA
+ALEKSIĆ LEPOSAVA
+ALEKSIĆ LJILJANA
+ALEKSIĆ LJILJANA
+ALEKSIĆ LJUBIŠA
+ALEKSIĆ LJUTOMIR
+ALEKSIĆ MARIN
+ALEKSIĆ MILANKA
+ALEKSIĆ MILAN
+ALEKSIĆ MILAN
+ALEKSIĆ MILAN
+ALEKSIĆ MILENA
+ALEKSIĆ MILINKA
+ALEKSIĆ MILIVOJ
+ALEKSIĆ MILIVOJ
+ALEKSIĆ MILOŠ
+ALEKSIĆ MILOŠ
+ALEKSIĆ MILOŠ
+ALEKSIĆ MILOJE
+ALEKSIĆ MILORAD
+ALEKSIĆ MILOVAN
+ALEKSIĆ MIODRAG
+ALEKSIĆ MIODRAG
+ALEKSIĆ MIODRAG
+ALEKSIĆ MIRJANA
+ALEKSIĆ MIRKO
+ALEKSIĆ MIROSLAV
+ALEKSIĆ MOMČILO
+ALEKSIĆ MOMČILO
+ALEKSIĆ MOMIR
+ALEKSIĆ NADA
+ALEKSIĆ NATALIJA
+ALEKSIĆ NEBOJŠA
+ALEKSIĆ NIKOLA
+ALEKSIĆ NIKOLA
+ALEKSIĆ PAULINA
+ALEKSIĆ PAVLE
+ALEKSIĆ PETAR
+ALEKSIĆ PETAR
+ALEKSIĆ PETAR
+ALEKSIĆ PREDRAG
+ALEKSIĆ RADE
+ALEKSIĆ RADMILA
+ALEKSIĆ RADOMIR
+ALEKSIĆ RAJKO
+ALEKSIĆ RATKO
+ALEKSIĆ RATKO
+ALEKSIĆ RISTO
+ALEKSIĆ SAVO
+ALEKSIĆ SLAVNA
+ALEKSIĆ SMILJA
+ALEKSIĆ STEVAN
+ALEKSIĆ STEVAN
+ALEKSIĆ VASA
+ALEKSIĆ VERA
+ALEKSIĆ VERA
+ALEKSIĆ VESNA
+ALEKSIĆ VITOMIR
+ALEKSIĆ VLASTIMIR
+ALEKSIĆ VOJISLAV
+ALEKSIĆ ZDRAVENKA
+ALEKSIĆ ZDRAVKO
+ALEKSIĆ ZLATIBOR
+ALEKSIĆ ZORAN
+ALEKSIJEVIĆ BOGDAN
+ALEKSIJEVIĆ BORA
+ALEKSIJEVIĆ ISIDOR
+ALEKSIJEVIĆ JOVAN
+ALEKSIJEVIĆ MARIJA
+ALEKSOV GEORGI
+ALEKSOV MILUTIN
+ALEKSOV SIMEON
+ALEKSOV ZORAN
+ALEKSOVSKI MILE
+ALEKSOVSKI SRBOLJUB
+ALEMPIĆ SAVO
+ALEMPIJEVIĆ ZORAN
+ALEMPIJEVIĆ ZORAN
+ALENDER ŠEFIK
+ALI JULISTAN
+ALIŠIĆ BESIM
+ALIŠIĆ NIJAZ
+ALIŠIĆ REDŽEP
+ALIŠIĆ VASVIJA
+ALIĐUKIĆ ILIJA
+ALIBAŠIĆ HAMID
+ALIJA ABDIRAHMAN
+ALIJA IZET
+ALIJEVIĆ NEZIR
+ALIJEVIĆ SADRIJA
+ALILOVIĆ VINKO
+ALIMPIĆ ŽIVKO
+ALIMPIĆ ALEKSANDAR
+ALIMPIĆ BARBARA
+ALIMPIĆ BOGOMIR
+ALIMPIĆ BORIVOJE
+ALIMPIĆ DRAGAN
+ALIMPIĆ DRAGICA
+ALIMPIĆ JELA
+ALIMPIĆ JOVAN
+ALIMPIĆ LJUBICA
+ALIMPIĆ MOMČILO
+ALIMPIĆ SLAVKA
+ALIMPIĆ SLAVKO
+ALIMPIĆ STEVAN
+ALIMPIĆ TIHOMIR
+ALIMPIĆ TOMISLAV
+ALIMPIĆ VOJISLAV
+ALIMPIJEVIĆ ĐORĐE
+ALIMPIJEVIĆ DIMITRIJE
+ALIMPIJEVIĆ JOVAN
+ALIMPIJEVIĆ JOVAN
+ALIMPIJEVIĆ VESELINKA
+ALIOV HUSEIN
+ALIOV OMER
+ALJI AJRADIN
+ALJI MAKSUT
+ALJIĆ KATARINA
+ALJIĆ RAMO
+ALJIJUPI ČERIM
+ALKIĆ STEVAN
+ALKIĆ VLADIMIR
+ALMAŠI ETEL
+ALMAŠI MARIŠKA
+ALMAŠI MATIJA
+ALMAŠI SAMUEL
+ALMAŽAN SLAVKO NOVINAR
+ALORIĆ DRAGOMIRKA
+ALORIĆ ILIJA
+ALTEROV ANA
+ALTKORN MALVINA
+ALVADŽIN DRAGUTIN
+ALVIROVIĆ DRAGORAD
+ALVIROVIĆ MIODRAG
+AMAMOVIĆ DUŠAN
+AMAMOVIĆ MILEVA
+AMBARDŽIJEV HRISTO
+AMBO ILIJA
+AMBROZIĆ RASTKO
+AMBRUŠ ATILA
+AMBRUŠIĆ MAGDA
+AMBRUSOV JOVAN
+AMETOV OSMAN
+AMETOVIĆ ĐORĐE
+AMETOVIĆ ĐORĐO
+AMETOVIĆ ĐURO
+AMETOVIĆ BUDIMIR
+AMETOVIĆ JELENA
+AMETOVIĆ JOVAN
+AMETOVIĆ KATICA
+AMETOVIĆ LAZAR
+AMETOVIĆ LAZAR
+AMETOVIĆ MARKO
+AMETOVIĆ MILADIN
+AMETOVIĆ MILORAD
+AMETOVIĆ MIRKO
+AMETOVIĆ MOMČILO
+AMETOVIĆ RAJKO
+AMETOVIĆ RATKO
+AMETOVIĆ RUSMIRA
+AMETOVIĆ SOFIJA
+AMETOVIĆ VOJIN
+AMIŽIĆ DANICA
+AMIŽIĆ MIROSLAV
+AMIŽIĆ TEODORA
+ANČIĆ ALEKSANDRA
+ANČIĆ MILAN
+ANČIĆ NEVENKA DR
+ANĐELIĆ ANĐELKO
+ANĐELIĆ ANDRIJA
+ANĐELIĆ ANICA
+ANĐELIĆ BILJANA
+ANĐELIĆ BLAGIŠA
+ANĐELIĆ BOŽIDAR DR
+ANĐELIĆ BORIVOJE
+ANĐELIĆ BORIVOJE
+ANĐELIĆ BRANISLAV
+ANĐELIĆ DARINKA
+ANĐELIĆ DRAGICA
+ANĐELIĆ DRAGOMIR
+ANĐELIĆ DUŠANKA
+ANĐELIĆ GORAN
+ANĐELIĆ ILIJA
+ANĐELIĆ ILIJA
+ANĐELIĆ MILENKO
+ANĐELIĆ MILIVOJE
+ANĐELIĆ MILORAD
+ANĐELIĆ MILORAD
+ANĐELIĆ MIRJANA
+ANĐELIĆ MIRJANA
+ANĐELIĆ MITAR
+ANĐELIĆ NIKOLA
+ANĐELIĆ RADMILA
+ANĐELIĆ RADOJICA
+ANĐELIĆ RADOSLAV
+ANĐELIĆ SAVA
+ANĐELIĆ SLOBODAN DR LEKAR
+ANĐELIĆ SLOBODAN
+ANĐELIĆ SLOBODAN
+ANĐELIĆ STEVAN
+ANĐELIĆ VASA
+ANĐELIĆ VASO
+ANĐELIĆ VELJKO
+ANĐELIĆ VESELIN
+ANĐELIĆ VESNA
+ANĐELIĆ VLADA
+ANĐELIĆ VOJISLAV
+ANĐELKOVIĆ ANĐELKO
+ANĐELKOVIĆ BOŽIDAR
+ANĐELKOVIĆ DRAGOMIR
+ANĐELKOVIĆ-DUDIĆ ZLATA
+ANĐELKOVIĆ JELICA
+ANĐELKOVIĆ JOVAN
+ANĐELKOVIĆ LIDIJA
+ANĐELKOVIĆ LJUBIŠA
+ANĐELKOVIĆ MILAN
+ANĐELKOVIĆ MILOŠ
+ANĐELKOVIĆ MILORAD
+ANĐELKOVIĆ MIROSLAV
+ANĐELKOVIĆ MIROSLAV
+ANĐELKOVIĆ NATAŠA
+ANĐELKOVIĆ PETAR
+ANĐELKOVIĆ PREDRAG
+ANĐELKOVIĆ RADOMIR
+ANĐELKOVIĆ ROBERT
+ANĐELKOVIĆ SIMA
+ANĐELKOVIĆ SLOBODAN
+ANĐELKOVIĆ STANIMIR
+ANĐELKOVIĆ STANKO
+ANĐELKOVIĆ STEVAN
+ANĐELKOVIĆ STOJAN
+ANĐELKOVIĆ SVETISLAV
+ANĐELKOVIĆ SVETISLAV
+ANĐELKOVIĆ SVETOMIR
+ANĐELKOVIĆ VALERIJA
+ANĐELKOVIĆ VERA
+ANĐELKOVIĆ VINKO
+ANĐELKOVIĆ VINKO
+ANĐELKOVIĆ VINKO
+ANĐELKOVIĆ VUKADIN
+ANĐELKOVIĆ ZORAN
+ANĐELKOVIĆ ZORAN
+ANĐELKOVIĆ ZORA
+ANĐELOVIĆ LJUBIŠA
+ANĐELOVIĆ VERICA
+ANĐELOVSKI ĐORĐE
+ANĐIĆ STEVAN
+ANĐUŠIĆ ŽARKO
+ANĐUŠIĆ JELISAVKA
+ANĐUŠIĆ MILORAD
+ANĐUŠIĆ SLOBODAN
+ANASTASIJEVIĆ DUŠAN
+ANASTASIJEVIĆ JULKICA
+ANASTASIJEVIĆ ZORICA
+ANASTASIJEVIĆ ZORICA
+ANASTASOV MARKO
+ANASTASOV NIKOLA
+ANASTASOVSKI ALEKSANDAR
+ANAU GABRIELA
+ANAU STEVAN
+ANDABAK MARKO
+ANDABAKA ANTE
+ANDABAKA SLAVICA
+ANDER IMRE
+ANDERLON STEVICA
+ANDESELIĆ ŠTEFICA
+ANDEVSKI RADE
+ANDIĆ SVETOZAR
+ANDIĆ VLADIMIR
+ANDONIADIS MILICA
+ANDONOV DIMITRIJE
+ANDONOV NENAD
+ANDONOV ZORICA
+ANDONOVIĆ DIMITRIJE
+ANDRAŠIK PAVEL
+ANDREATA SLAVKO
+ANDREIĆ RADOVAN
+ANDREJEV HELENA
+ANDREJEV MIHAJLO
+ANDREJEVIĆ BOGOSAV
+ANDREJEVIĆ BORIVOJE
+ANDREJEVIĆ GRADIMIR
+ANDREJEVIĆ IVAN
+ANDREJEVIĆ MARKO
+ANDREJEVIĆ MILAN
+ANDREJEVIĆ MIROSLAV
+ANDREJEVIĆ SLOBODAN
+ANDREJEVIĆ TEODOR
+ANDREJEVIĆ VUKAŠIN DIPL ING
+ANDREJIĆ ŽARKO
+ANDREJIĆ BORISLAV
+ANDREJIĆ DRAGAN
+ANDREJIĆ RADOSLAV
+ANDREJIĆ SLAVOLJUB
+ANDREJIĆ SRETEN
+ANDREJIĆ VERA
+ANDREJIĆ ZORAN
+ANDREJIĆ ZORICA
+ANDRES ANĐELKO
+ANDRIČEK ANA
+ANDRIČEK LAJOŠ
+ANDRIČEK MAGDALENA
+ANDRIČEK PAVAO
+ANDRIČEK PAVLE
+ANDRIĆ ŽELJKA
+ANDRIĆ ŽIKA
+ANDRIĆ ŽIVAN
+ANDRIĆ ĐORĐE
+ANDRIĆ ĐURĐINA
+ANDRIĆ ALEKSANDAR
+ANDRIĆ BOGOLJUB
+ANDRIĆ BOJAN
+ANDRIĆ BOSILJKA
+ANDRIĆ BRANIMIR
+ANDRIĆ BRANISLAV
+ANDRIĆ DARINKA
+ANDRIĆ DOSTA
+ANDRIĆ DRAGAN
+ANDRIĆ DRAGOLJUB
+ANDRIĆ DUŠAN
+ANDRIĆ DUŠAN
+ANDRIĆ DUŠAN
+ANDRIĆ DUŠAN
+ANDRIĆ DUŠAN
+ANDRIĆ FRIDA
+ANDRIĆ ILIJA
+ANDRIĆ JELENA
+ANDRIĆ JELISAVETA
+ANDRIĆ JOVICA
+ANDRIĆ-KOVAČEVIĆ OLIVERA
+ANDRIĆ LAZAR
+ANDRIĆ LAZA
+ANDRIĆ LJILJANA
+ANDRIĆ LJILJANA
+ANDRIĆ LUDMILA
+ANDRIĆ MILE
+ANDRIĆ MILOŠ
+ANDRIĆ MILOŠ
+ANDRIĆ NEBOJŠA
+ANDRIĆ NESTOR
+ANDRIĆ NIKOLA
+ANDRIĆ PERICA
+ANDRIĆ PETAR
+ANDRIĆ RADISAV
+ANDRIĆ RADISLAV
+ANDRIĆ SAVA
+ANDRIĆ SIMA
+ANDRIĆ SLAVKA
+ANDRIĆ SLAVKA
+ANDRIĆ SLAVOLJUB
+ANDRIĆ SLOBODAN
+ANDRIĆ STEVAN
+ANDRIĆ STEVAN
+ANDRIĆ TODOR
+ANDRIĆ TOMISLAV
+ANDRIĆ VERICA
+ANDRIĆ VLADA
+ANDRIĆ VLADIMIRA
+ANDRIĆ VUKOMAN
+ANDRIĆ ZORA
+ANDRIGA ALEKSANDAR
+ANDRIJAŠEV KOSANA
+ANDRIJAŠEV RUŽICA
+ANDRIJAŠEVIĆ ŽELJKO
+ANDRIJAŠEVIĆ ANKA
+ANDRIJAŠEVIĆ BRANKO
+ANDRIJAŠEVIĆ JELENA
+ANDRIJAŠEVIĆ RADOVAN
+ANDRIJEVIĆ ŽIVA
+ANDRIJEVIĆ JOVAN
+ANDRIN ANĐELKA
+ANDRIN ISIDOR
+ANDRIN KATICA
+ANDRIN MILADINKA
+ANDRIN NADA
+ANDROCKI PAL DIPL ING
+ANDULAJEVIĆ STEVO
+ANGEBRANT ILONKA
+ANGELESKI VANGEL
+ANGELOV DUŠAN
+ANGELOV SREĆKO
+ANGELOVSKI DUŠAN
+ANGELOVSKI ILIJA
+ANGELOVSKI JANDRE
+ANGELOVSKI MITRE
+ANGELOVSKI TOMO
+ANIČIĆ ŽIVOTA
+ANIČIĆ BRANISLAV
+ANIČIĆ DRAGAN
+ANIČIĆ DUŠAN DIPL OEC
+ANIČIĆ FILIP
+ANIČIĆ ILIJA
+ANIČIĆ KOVINKA
+ANIČIĆ MILENA DIPL ECC
+ANIČIĆ MIRKO
+ANIČIĆ MIRO
+ANIČIĆ MIRO
+ANIČIĆ NENAD
+ANIČIĆ OSTOJA
+ANIČIĆ PREDRAG
+ANIČIĆ STAKA
+ANIČIĆ STOJANKA
+ANIČIĆ TODOR
+ANIČIĆ ZDRAVKO
+ANIČIN ŽARKO
+ANIČIN BRANISLAV
+ANIŠIĆ JASMINKA
+ANIĆ DUŠAN
+ANIĆ SLOBODAN
+ANIĆ ZORA
+ANIKA GAVRILO
+ANIKA JULIJE PROFESOR
+ANITIĆ IŠTVAN
+ANKIĆ MARJAN
+ANKIĆ PERICA
+ANOJČIĆ ŽELJKO
+ANOJČIĆ LAZAR
+ANOJČIĆ MILAN
+ANOJČIĆ RADIVOJ
+ANOJČIĆ RADIVOJ
+ANOJČIĆ SPASOJE
+ANOJČIĆ-STOJKOVIĆ JASMINKA
+ANTAL ALEKSANDAR
+ANTAL VERONA
+ANTANASIĆ STANKO
+ANTANASIJEVIĆ BORA
+ANTELJEVIĆ ALEKSANDAR
+ANTIĆ ĐOKA
+ANTIĆ ĐORĐE
+ANTIĆ ĐORĐE
+ANTIĆ ALEKSANDAR
+ANTIĆ ANGELINA
+ANTIĆ BOŠKO
+ANTIĆ BOŽIDAR DR STOMATOLOG
+ANTIĆ BOŽIDAR
+ANTIĆ BRANKO
+ANTIĆ BRATISLAV
+ANTIĆ DIMITRIJE
+ANTIĆ DRAGAN
+ANTIĆ DRAGAN
+ANTIĆ DRAGIŠA
+ANTIĆ DUŠANKA
+ANTIĆ DUŠANKA
+ANTIĆ JULKA
+ANTIĆ KOSTA
+ANTIĆ LJUBIŠA
+ANTIĆ LUKA
+ANTIĆ MARICA
+ANTIĆ MARIJA
+ANTIĆ MILAN
+ANTIĆ MILAN
+ANTIĆ MILAN
+ANTIĆ MILAN
+ANTIĆ MILIVOJ
+ANTIĆ MILUTIN
+ANTIĆ MIODRAG
+ANTIĆ MIRKO
+ANTIĆ MIRKO
+ANTIĆ NENAD
+ANTIĆ NEVENA
+ANTIĆ OLGA
+ANTIĆ PAVLE
+ANTIĆ PAVLE
+ANTIĆ PAVLE
+ANTIĆ PETAR
+ANTIĆ RADOJKO
+ANTIĆ RADOMIR
+ANTIĆ RADOVAN
+ANTIĆ SLAĐANA
+ANTIĆ SLAVICA
+ANTIĆ SLOBODAN
+ANTIĆ SMILJA
+ANTIĆ SMILJA
+ANTIĆ SOFIJA
+ANTIĆ STANČA
+ANTIĆ STANISLAV
+ANTIĆ STANOJE
+ANTIĆ STOJAN
+ANTIĆ SVETISLAV
+ANTIĆ SVETLANA
+ANTIĆ SVETOVID
+ANTIĆ VERICA
+ANTIĆ VUKAŠIN
+ANTIĆ ZAGORKA
+ANTIĆ ZLATAN
+ANTIN IVANKA
+ANTIN VELEMIR
+ANTOLOVIĆ IVAN
+ANTONIĆ ŽIVKO DIPL ING
+ANTONIĆ ŽIVKO
+ANTONIĆ ĐORĐE
+ANTONIĆ BORIVOJ
+ANTONIĆ BRANKO
+ANTONIĆ DOBRIVOJ
+ANTONIĆ DRAGAN
+ANTONIĆ DRAGAN
+ANTONIĆ GORDANA
+ANTONIĆ JADRANKA
+ANTONIĆ JASMINKA
+ANTONIĆ JELENA
+ANTONIĆ LJUBICA
+ANTONIĆ MARIJA
+ANTONIĆ MILAN
+ANTONIĆ MILAN
+ANTONIĆ MILAN
+ANTONIĆ MILIVOJ
+ANTONIĆ NEBOJŠA DIPL ING
+ANTONIĆ RADISAV
+ANTONIĆ RANKO
+ANTONIĆ RATKO
+ANTONIĆ SIMA
+ANTONIĆ SLAVICA
+ANTONIĆ SLOBODAN
+ANTONIĆ SLOBODAN
+ANTONIĆ STEVAN
+ANTONIĆ ZORKA
+ANTONIJEVIĆ ALEKSANDAR
+ANTONIJEVIĆ BILJANA
+ANTONIJEVIĆ BOŽUR
+ANTONIJEVIĆ BRANKO
+ANTONIJEVIĆ DAMNJAN
+ANTONIJEVIĆ DUŠAN DR
+ANTONIJEVIĆ DUŠAN
+ANTONIJEVIĆ LJILJA
+ANTONIJEVIĆ PETAR
+ANTONIJEVIĆ STEVA
+ANTONINI MARIJA
+ANTONOVIĆ MILIVOJ
+ANTOVIĆ LJUBICA
+ANTUN MILOŠ
+ANTUNOVIĆ ANDRIJA
+ANTUNOVIĆ BOGDAN
+ANTUNOVIĆ GIZELA
+ANTUNOVIĆ LAZAR
+ANTUNOVIĆ MLADEN
+ANTUNOVIĆ MOMČILO
+ANTUNOVIĆ NEDA
+ANTUNOVIĆ TOMISLAV
+ANUČIN NENAD
+ANUKIĆ KOSTA
+APARAC SVETOZAR
+APATOVIĆ JOVAN
+APATOVIĆ LAZAR
+APATOVIĆ NIKOLA
+APATOVIĆ SAVA
+APERLIĆ VOJIN
+APIĆ ĐORĐE
+APIĆ ANKICA
+APIĆ BRANKO DR VETERINE
+APIĆ BRANKO
+APIĆ DUŠAN
+APIĆ JULKA
+APIĆ KATARINA
+APIĆ MILAN
+APIĆ MILAN
+APIĆ MILICA
+APIĆ MILOŠ
+APIĆ MILORAD
+APIĆ MIRJANA
+APIĆ MIROSLAV
+APIĆ OLIVERA
+APIĆ PAJA
+APIĆ PAJA
+APIĆ RADIŠKO
+APIĆ RADIVOJE
+APIĆ RATOMIR DIPL ING
+APIĆ SRETA
+APIĆ STEVAN
+APIĆ STOJAN
+APIĆ SVETOZAR
+APIĆ SVETOZAR
+APIĆ VERA
+APIĆ ZDRAVKO
+APIĆ ZORKA
+APOSTOLOV LJUBOMIR
+APOSTOLOVIĆ BOŽIDAR
+APOSTOLOVIĆ MILORAD
+APRO FRANJA
+APRO JANOŠ
+APRO JOŽEF
+APRO LASLO
+APRO LJUBOMIR
+APRO RIHARD
+APRO-SAMARDŽIJA VERA DR
+APRO STEVAN
+APRO ZOLTAN
+APT BOGOLJUB
+APT MARKO
+ARŠINOV ĐORĐE
+ARŠINOV MILORAD
+ARĐELAM-ŠRAK EDIT
+ARĐELAN IŠTVAN
+ARAČIĆ SLOBODAN
+ARAĐANIN TIMOTIJE
+ARAĐANSKI KATICA
+ARAĐANSKI NADA
+ARAĐANSKI-RAJKOV MAJA
+ARACKI ERŽIKA
+ARACKIĆ ĐORĐE
+ARACKIĆ MILICA
+ARACKIĆ ZLATOJE DIPL PRAVNIK
+ARADSKI ALEKSANDAR DIPL ING
+ARADSKI IVANKA
+ARADSKI MILORAD
+ARADSKI MITA
+ARADSKI RADIVOJ
+ARADSKI SOFIJA
+ARADSKI SRETENKA
+ARADSKI STOJANKA
+ARADSKI ZLATA
+ARALICA RAJKO
+ARAMBAŠIĆ ĐORĐE
+ARAMBAŠIĆ DRAGAN
+ARANČIĆ ALEKSANDAR
+ARANČIĆ KARLO
+ARANĐELOVIĆ ALEKSANDAR
+ARANĐELOVIĆ BOŽIDAR
+ARANĐELOVIĆ DIMITRIJE
+ARANĐELOVIĆ NJEGOVAN
+ARANĐELOVIĆ SAVA
+ARANĐELOVIĆ SRETEN
+ARANĐUS ANTON
+ARANICKI DINKA
+ARANICKI GLIGORIJE
+ARANICKI MILANA
+ARANICKI MILICA
+ARANICKI MILOŠ DR PROF
+ARANICKI ZAGORKA
+ARANICKI ZORICA
+ARANITOVIĆ LAZAR
+ARANJOŠ PAL
+ARAPČIĆ PAŠAGA
+ARAPINAC MILICA
+ARAPOVIĆ DRAGO
+ARAPOVIĆ DRAGUTIN
+ARAR PETAR
+ARAS BRANKO
+ARAS JUGOSLAV
+ARAS LJUBO
+ARBES NENAD
+ARBUNIĆ PERA
+ARBUTINA ĐURĐINKA
+ARBUTINA BRANISLAV
+ARBUTINA MARIJA
+ARBUTINA NATALIJA
+ARBUTINA VELIMIR
+ARBUTINA VLADIMIR
+ARDŽON NATALIJA
+ARDALIĆ JOVANKA
+ARDALIĆ LEPOSAVA
+ARDALIĆ SLAVKO
+ARDELJAN JON
+ARDELJAN MARIJA
+ARDELJAN PETAR
+ARDOCKI IŠTVAN
+AREŽINA ĐORĐE
+AREŽINA BOŠKO
+ARIFI IBRAHIM
+ARIFOVIĆ SRBICA
+ARIZATOVIĆ JASMINA
+ARKULA BLAŽE
+ARKULA SLAVICA
+ARKULA SLAVICA
+ARLOV DRAGAN
+ARMACKI BRANISLAV
+ARMACKI RADOVAN
+ARMACKI SOFIJA
+ARMACKI STEVAN
+ARMBRUSTER LASLO
+ARMBRUSTER MARIJA
+ARNAUT ĐORĐE
+ARNAUT DRAGINJA
+ARNAUT MILICA
+ARNAUT VASA
+ARNOUS TEREZA
+ARNOVLJEVIĆ KATARINA
+AROK-DIVJAK GORDANA
+ARPAŠI ĐORĐE
+ARPAŠI LASLO
+ARSENIĆ ŽIVKO
+ARSENIĆ BRATISLAVA
+ARSENIĆ DIMITRIJE
+ARSENIĆ DRAŠKO
+ARSENIĆ JOVANKA
+ARSENIĆ MOMIR
+ARSENIĆ OLGICA
+ARSENIĆ VELJKO
+ARSENIJEVIĆ BORISLAV
+ARSENIJEVIĆ JOVAN
+ARSENIJEVIĆ MILAN
+ARSENIJEVIĆ MILORAD
+ARSENIJEVIĆ MILOVAN
+ARSENIJEVIĆ MILUNKA
+ARSENIJEVIĆ MOMČILO DR
+ARSENIJEVIĆ MOMČILO
+ARSENIJEVIĆ MOMIR
+ARSENIJEVIĆ SLAVKA
+ARSENIJEVIĆ SMILJA
+ARSENIJEVIĆ VOJISLAV
+ARSENIJEVIĆ VOJISLAV
+ARSENIN ĐURĐINKA
+ARSENIN ALEKSANDAR
+ARSENIN ALEKSANDAR
+ARSENIN BOGOLJUB
+ARSENIN GAJA
+ARSENIN JOVAN
+ARSENIN JOVAN
+ARSENIN KOSTA
+ARSENIN KRISTINA
+ARSENIN MARIJA
+ARSENIN MITA
+ARSENIN MLADEN
+ARSENIN MLADEN
+ARSENIN SVETOZAR
+ARSENIN VITOMIR
+ARSENIN VLADIMIR
+ARSENJEV ALEKSEJ
+ARSENOV ALEKSA
+ARSENOV ARIŠKO
+ARSENOV BRANISLAV
+ARSENOV BRANISLAV
+ARSENOV BRANISLAV
+ARSENOV DRAGICA
+ARSENOV KATICA
+ARSENOV MILAN
+ARSENOV MIROSLAV
+ARSENOV PERA
+ARSENOV PETAR
+ARSENOV PETAR
+ARSENOV RADIVOJ
+ARSENOV SAŠA
+ARSENOV VASILIJE
+ARSENOVIĆ ŽIVKO
+ARSENOVIĆ MARICA
+ARSENOVIĆ NADA DR
+ARSENOVIĆ RADISAV
+ARSENOVIĆ RADOMIR
+ARSENOVIĆ SAVO
+ARSENOVIĆ SRĐAN
+ARSENOVIĆ STOJADIN
+ARSENOVIĆ TRIVO
+ARSENOVIĆ VESNA
+ARSENOVIĆ VLADA
+ARSENOVIĆ ZORAN
+ARSIĆ ČEDOMIR
+ARSIĆ ŽARKO
+ARSIĆ ŽIVKO
+ARSIĆ ALEKSANDAR
+ARSIĆ DOBRIVOJE
+ARSIĆ DUŠKO
+ARSIĆ ERŽEBET
+ARSIĆ LAZAR
+ARSIĆ LIDIJA
+ARSIĆ LJUBIŠA
+ARSIĆ MARIJA
+ARSIĆ MIHAILO
+ARSIĆ MIHOLJKA
+ARSIĆ MILOŠ
+ARSIĆ MILOSLAV DR
+ARSIĆ MILUTIN
+ARSIĆ MIODRAG
+ARSIĆ MIOMIR
+ARSIĆ MIRJANA
+ARSIĆ MIRJANA
+ARSIĆ MOMČILO
+ARSIĆ OBRAD
+ARSIĆ PERICA
+ARSIĆ PETAR
+ARSIĆ RADOMIR
+ARSIĆ RADOSAV
+ARSIĆ SAVETA
+ARSIĆ SLAVKA
+ARSIĆ SLAVOJKA
+ARSIĆ SLAVOLJUB
+ARSIĆ STANKO
+ARSIĆ TOMISLAV
+ARSIĆ TOMISLAV
+ARSIĆ TOMISLAV
+ARSIĆ TRAJAN
+ARSIĆ ZORAN
+ARSIĆ ZORAN
+ARSIĆ ZORAN
+ARSIKIN MILANKO
+ARSIKIN PAVLE
+ARSLANAGIĆ NAĐA
+ARSOVIĆ ALEKSANDAR
+ARSOVIĆ DOBROSAV
+ARSOVIĆ JOVAN
+ARSOVIĆ MATEJA
+ARSOVIĆ MILAN
+ARSOVIĆ MILICA
+ART ĐURA
+ART ZVONIMIR
+ARTUKOV DUŠAN
+ARTUKOV OLGA
+ARULA MIĆO
+ARVAI ALEKSANDAR
+ARVAI ARPAD
+ARVAI DANICA
+ARVAI PAVAO
+ARVAI TEREZA
+ARVAJI PAVAO
+ARVANITIDIS STERJOS
+ASANI ASAN
+ASANI HURIŠA
+ASANI NAILJA
+ASANI NAZIFA
+ASANOV ZORA
+ASANOVIĆ MILEVA
+ASANOVIĆ STANKA
+ASANOVIĆ ZUHRA
+ASANOVSKI ROZALIJA
+ASIĆ MILAN
+ASODI JANOŠ
+ASODI JOŽEF
+ASODI MIRKO
+ASOTIĆ MUAMER
+ASTAHOV-JEREMIĆ MARIJA
+ASTALOŠ IŠTVAN
+ASURDŽIĆ KRISTINA
+ASURDŽIĆ LUKA
+ASURDŽIĆ MILOŠ
+ASURDŽIĆ MILOŠ
+ASURDŽIĆ MILOŠ
+ASURDŽIĆ MOLOŠ
+ASURDŽIĆ NIKOLA
+ASURDŽIĆ NIKOLA
+ASURDŽIĆ SOFIJA
+ASURDŽIĆ STEVAN
+ASURDŽIĆ TEODOR
+ASURDŽIĆ TEODOR
+ATANACKOV ĐORĐE
+ATANACKOV BORA
+ATANACKOV BORIVOJ
+ATANACKOV DRAGAN
+ATANACKOV ILONA
+ATANACKOV MARIJA
+ATANACKOV MIRJANA
+ATANACKOV MIRKO
+ATANACKOV NOVA
+ATANACKOV OLGA
+ATANACKOV PAVLE
+ATANACKOV SAŠA
+ATANACKOV STEVAN
+ATANACKOV STEVAN
+ATANACKOVIĆ ŽIVAN
+ATANACKOVIĆ ĐORĐE
+ATANACKOVIĆ ALEKSANDAR
+ATANACKOVIĆ ANA
+ATANACKOVIĆ BOGOBOJ
+ATANACKOVIĆ BORISLAV
+ATANACKOVIĆ BORISLAV
+ATANACKOVIĆ BRANKA DIPL PRAVNIK
+ATANACKOVIĆ DRAGIŠA DR
+ATANACKOVIĆ DUŠAN DR LEKAR
+ATANACKOVIĆ GRADIMIR
+ATANACKOVIĆ IVAN
+ATANACKOVIĆ KATARINA
+ATANACKOVIĆ LAZA
+ATANACKOVIĆ LUKA
+ATANACKOVIĆ MILENKO
+ATANACKOVIĆ MILENKO
+ATANACKOVIĆ MIRKO
+ATANACKOVIĆ MLADEN
+ATANACKOVIĆ RATKO
+ATANACKOVIĆ SAVA
+ATANACKOVIĆ SLAĐANA
+ATANACKOVIĆ STEVAN
+ATANACKOVIĆ SVETOMIR
+ATANACKOVIĆ TEODOR DR
+ATANACKOVIĆ TOŠA
+ATANACKOVIĆ VASILJKA
+ATANACKOVIĆ VLADIMIR DIPL ING
+ATANACKOVIĆ ZORAN
+ATANASIADIS HRISTOFOROS
+ATANASIJADIS ANESTI
+ATANASKOVIĆ GORDANA
+ATANASKOVIĆ MIRJANA
+ATANASKOVIĆ MIROLJUB
+ATANASOSKI STEVO
+ATANASOV MARKO
+ATANASOVSKI RISTO
+ATARAC DRAGOŠ
+ATELJEVIĆ DUŠAN
+ATELJEVIĆ MILOVAN
+ATIĆ DANICA
+ATLAGIĆ BRANKO
+ATLAGIĆ JOVAN
+ATLAGIĆ MILAN
+ATLAGIĆ MILICA
+ATLAGIĆ ZDRAVKO
+ATLAGIĆ ZDRAVKO
+ATLAS ĐORĐE DR
+ATLAS IVAN
+ATLAS MIRKO
+ATLIĆ LAZAR
+ATLIĆ MILAN
+AUŽINA MILICA
+AUŽINA MIRA
+AUŽINA MIROSLAVA
+AUER MARA
+AUGUSTIN IVICA
+AUGUSTINOV ANTON
+AUGUSTINOV IVAN
+AULIK ILONA
+AURELIJAN ĐAN
+AVAKUMOVIĆ LJUBINKA
+AVAKUMOVIĆ NIKOLA
+AVDALOVIĆ GORDANA
+AVDALOVIĆ MILADIN
+AVDALOVIĆ VIDOSAVA
+AVDALOVIĆ VLADIMIR
+AVDI RAMADAN
+AVDIĆ ALEKSANDAR
+AVDIĆ FUAD
+AVDIĆ GORDANA
+AVDIĆ HUSNIJA
+AVDIĆ MALIĆ
+AVDIĆ MULIJA
+AVEMARIA PETAR
+AVRAMOV BOŠKO
+AVRAMOV BRANISLAV
+AVRAMOV DIMITRIJE
+AVRAMOV DOBRILA
+AVRAMOV GAVRA
+AVRAMOV IVAN
+AVRAMOV JOVANKA
+AVRAMOV JOVAN
+AVRAMOV LJILJANA
+AVRAMOV MILADIN
+AVRAMOV MILEVA
+AVRAMOV MILKA
+AVRAMOV MIRJANA
+AVRAMOV MITA
+AVRAMOV PAJA
+AVRAMOV PERA
+AVRAMOV PETAR
+AVRAMOV RADIVOJ
+AVRAMOV STEVAN
+AVRAMOV SVETOLIK
+AVRAMOV SVETOLIK
+AVRAMOV ZORAN
+AVRAMOV ZORAN
+AVRAMOVIĆ ŽIVKO
+AVRAMOVIĆ BORIVOJE
+AVRAMOVIĆ DARINKA
+AVRAMOVIĆ DIMITRIJE
+AVRAMOVIĆ DIMITRIJE
+AVRAMOVIĆ DRAGO
+AVRAMOVIĆ FRANCIŠKA
+AVRAMOVIĆ GOJKO
+AVRAMOVIĆ ILINKA
+AVRAMOVIĆ JOVAN DR LEKAR
+AVRAMOVIĆ LJUBIŠA
+AVRAMOVIĆ LJUBINKO
+AVRAMOVIĆ LJUBOMIR
+AVRAMOVIĆ MILAN
+AVRAMOVIĆ MILAN
+AVRAMOVIĆ MILAN
+AVRAMOVIĆ MILIVOJ
+AVRAMOVIĆ MIRJANA
+AVRAMOVIĆ MITA
+AVRAMOVIĆ MOMIR
+AVRAMOVIĆ NIKOLA
+AVRAMOVIĆ RADIVOJ
+AVRAMOVIĆ RADOSLAV
+AVRAMOVIĆ RATKO
+AVRAMOVIĆ RATKO
+AVRAMOVIĆ SINIŠA
+AVRAMOVIĆ STANKA
+AVRAMOVIĆ STEVAN
+AVRAMOVIĆ TEODOR
+AVRAMOVIĆ TOMA
+AVRAMOVIĆ VELJKO
+AVRAMOVIĆ VERA
+AVRAMOVIĆ VERA
+AVRAMOVIĆ VERA
+AVRAMOVSKI BORIS
+AZLEN BORISLAV
+BAČA ŠANDOR
+BAČA LADISLAV
+BAČANOVIĆ NENAD
+BAČIĆ ČEDOMIR PROFESOR
+BAČIĆ ŽIVKO
+BAČIĆ ĐORĐE
+BAČIĆ ANTE
+BAČIĆ BRANKA
+BAČIĆ DRAGOSLAV
+BAČIĆ JOVAN
+BAČIĆ KARA
+BAČIĆ MARIJA
+BAČIĆ MILAN DR VETERINE
+BAČIĆ MILICA
+BAČIĆ MIRKO
+BAČIĆ NIKOLA
+BAČIĆ SMILJANA
+BAČKALIĆ ĐORĐE
+BAČKALIĆ ALEKSANDAR
+BAČKALIĆ DOBRA
+BAČKALIĆ DOBRICA
+BAČKALIĆ JOVAN
+BAČKALIĆ LAZAR
+BAČKALIĆ LJUBICA
+BAČKALIĆ LJUBOMIR
+BAČKALIĆ MILAN
+BAČKALIĆ MILA
+BAČKALIĆ NOVAK
+BAČKO MILANA
+BAČKO PETAR
+BAČLIĆ ĐORĐE
+BAČLIĆ BRANISLAV
+BAČLIĆ LAZAR
+BAČLIĆ LJUBICA
+BAČLIJA JOSIP
+BAČLIJA MARKO
+BAČLIJA RUŽICA
+BAČLIJA SLAVICA
+BAČULOV STEVAN
+BAČVANIN ŽIVOJIN
+BAČVANSKI BOŠKO
+BAČVANSKI STEVAN DR ING
+BAŠ JULIA
+BAŠA DUŠAN
+BAŠA JOVAN
+BAŠEVIĆ ČEDOMIR
+BAŠEVIĆ NEVENKA
+BAŠIČEVIĆ VOJIN DR
+BAŠIČEVIĆ VOJIN
+BAŠIĆ ŽARKO
+BAŠIĆ ĐURO
+BAŠIĆ ALEKSANDAR
+BAŠIĆ BILJANA
+BAŠIĆ BOŽO
+BAŠIĆ DRAGUTIN
+BAŠIĆ DRAGUTIN
+BAŠIĆ DUŠAN
+BAŠIĆ DUŠAN
+BAŠIĆ DUŠAN
+BAŠIĆ DUŠAN
+BAŠIĆ DUŠAN
+BAŠIĆ FRANJO
+BAŠIĆ GAVRA
+BAŠIĆ GRUJICA
+BAŠIĆ IDRIZ
+BAŠIĆ ILIJA
+BAŠIĆ JANKO
+BAŠIĆ JELA
+BAŠIĆ JELENA
+BAŠIĆ JOVAN
+BAŠIĆ JOVAN
+BAŠIĆ JURE
+BAŠIĆ LAZAR
+BAŠIĆ LJUBICA
+BAŠIĆ LJUBICA
+BAŠIĆ LUKA
+BAŠIĆ MARIJA
+BAŠIĆ MILAN
+BAŠIĆ MILAN
+BAŠIĆ MILA
+BAŠIĆ MILICA
+BAŠIĆ MILUTIN DIPL ING
+BAŠIĆ MITA
+BAŠIĆ NEDELJKA
+BAŠIĆ NESTOR
+BAŠIĆ NIKOLA
+BAŠIĆ PAVLE
+BAŠIĆ PETAR
+BAŠIĆ RADOSLAV
+BAŠIĆ SAVA
+BAŠIĆ SAVA
+BAŠIĆ SIMKA
+BAŠIĆ SLOBODANKA
+BAŠIĆ SLOBODANKA
+BAŠIĆ SLOBODAN
+BAŠIĆ SLOBODAN
+BAŠIĆ SONJA
+BAŠIĆ SPASOJE
+BAŠIĆ STEVAN
+BAŠIĆ TOMISLAV
+BAŠIĆ VERA
+BAŠIĆEVIĆ DESA
+BAŠICA MILAN
+BAŠICA RANKO
+BAŠICA RISTO
+BAŠKALO MARKO
+BAŠNEC IVAN
+BAŠTIĆ BOŽIDAR
+BAŠTIĆ MILKA
+BAŠTIĆ PETAR
+BAŠTOVANOV DANICA
+BAŠTOVANOV STEVAN
+BAŠTOVANOVIĆ IVAN
+BAŠTOVANOVIĆ MILAN
+BAĆAN DRAGOMIR
+BAĆANOV DRAGICA
+BAĆANOV STANKO
+BAĆANOV STEVAN
+BAĆANOVIĆ DANICA
+BAĆANOVIĆ JUCA
+BAĆANOVIĆ MILAN
+BAĆANOVIĆ MILOŠ
+BAĆANOVIĆ NEMANJA
+BAĆANOVIĆ SINIŠA
+BAĆANOVIĆ STOJAN
+BAĆIĆ LJILJANA
+BAĆIĆ LJUBOMIR
+BAĆINA MLADEN
+BAĆINAC RADOSLAV
+BAŽANČIK BELA
+BAŽANTIK MARA
+BAŽDAR BRUNO
+BAŽDAR MILORAD
+BAŽENOV ANGELINA
+BAĐI ŠANDOR
+BAĐI-RIBAR RENATA
+BAĐIN SMILJKA
+BABA ILONKA
+BABA JANOŠ
+BABA JON
+BABAJIĆ ALEKSANDAR
+BABARIKIN MARKO
+BABEC ZORAN
+BABI IVAN
+BABIĆ ŽARKO
+BABIĆ ŽELJKA
+BABIĆ ŽIVAN
+BABIĆ ŽIVAN
+BABIĆ ĐORĐE
+BABIĆ ĐORĐE
+BABIĆ ĐORĐE
+BABIĆ ĐORĐE
+BABIĆ ĐORĐE
+BABIĆ ĐURĐICA
+BABIĆ ĐURA
+BABIĆ ĐURA
+BABIĆ ĐURO
+BABIĆ ACA
+BABIĆ AIDA
+BABIĆ ALEKSANDAR
+BABIĆ ALEKSANDAR
+BABIĆ ALEKSANDRA
+BABIĆ ALEKSA
+BABIĆ ALKA
+BABIĆ ANA
+BABIĆ ANA
+BABIĆ ANA
+BABIĆ BILJANA
+BABIĆ BOŽICA
+BABIĆ BOŽIDARKA
+BABIĆ BOGDAN
+BABIĆ BOJA
+BABIĆ BORIŠA
+BABIĆ BORISLAVA
+BABIĆ BORIVOJE
+BABIĆ BRANKO
+BABIĆ CVIJO
+BABIĆ DANE
+BABIĆ DARINKA
+BABIĆ DAVID
+BABIĆ DRAŠKO
+BABIĆ DRAGANA
+BABIĆ DRAGAN
+BABIĆ DRAGIŠA
+BABIĆ DRAGIŠA
+BABIĆ DRAGIŠA
+BABIĆ DRAGIŠA
+BABIĆ DRAGIŠA
+BABIĆ DRAGO
+BABIĆ DUŠANKA
+BABIĆ DUŠAN
+BABIĆ DUŠAN
+BABIĆ DUŠAN
+BABIĆ DUŠAN
+BABIĆ DUŠICA
+BABIĆ GOJKO
+BABIĆ GOJKO
+BABIĆ GORAN
+BABIĆ GORDANA
+BABIĆ GORICA
+BABIĆ GOSPAVA
+BABIĆ HELENA
+BABIĆ ILIJA
+BABIĆ ILIJA
+BABIĆ ILIJA
+BABIĆ ILINKA
+BABIĆ IVAN
+BABIĆ IVAN
+BABIĆ IVAN
+BABIĆ JOVAN
+BABIĆ JOVAN
+BABIĆ JOVAN
+BABIĆ JOVAN
+BABIĆ JOVAN
+BABIĆ KATICA
+BABIĆ KAZIMIR
+BABIĆ-KOPLJAN ROŽA
+BABIĆ KOSA
+BABIĆ KOSTADIN
+BABIĆ KOSTA
+BABIĆ KRSTA
+BABIĆ LAZO
+BABIĆ LAZO
+BABIĆ LEONID
+BABIĆ LJILJANA
+BABIĆ LJILJANA
+BABIĆ LJILJANA
+BABIĆ LJUBIŠA
+BABIĆ LJUBICA
+BABIĆ LJUBOMIR
+BABIĆ LJUBOMIR
+BABIĆ LUKA
+BABIĆ MAJA
+BABIĆ MARIJANA
+BABIĆ MARIJA
+BABIĆ MARINKO
+BABIĆ MARKO
+BABIĆ MATO
+BABIĆ MIJO
+BABIĆ MILADIN
+BABIĆ MILAN
+BABIĆ MILAN
+BABIĆ MILAN
+BABIĆ MILAN
+BABIĆ MILAN
+BABIĆ MILAN
+BABIĆ MILAN
+BABIĆ MILAN
+BABIĆ MILAN
+BABIĆ MILAN
+BABIĆ MILETA
+BABIĆ MILEVA
+BABIĆ MILEVA
+BABIĆ MILIĆ
+BABIĆ MILIVOJE DIPL ING
+BABIĆ MILIVOJ
+BABIĆ MILIVOJ
+BABIĆ MILOŠ
+BABIĆ MILOŠ
+BABIĆ MILOŠ
+BABIĆ MILOŠ
+BABIĆ MILOŠ
+BABIĆ MILOŠ
+BABIĆ MILORAD
+BABIĆ MILORAD
+BABIĆ MILORAD
+BABIĆ MILOSAV
+BABIĆ MIRA
+BABIĆ MIRA
+BABIĆ MIRJANA
+BABIĆ MIROSLAV
+BABIĆ MIROSLAV
+BABIĆ MIROSLAV
+BABIĆ MOMČILO
+BABIĆ MOMIR
+BABIĆ-MRKŠIĆ JULKA
+BABIĆ MURIZ
+BABIĆ NADA
+BABIĆ NADA
+BABIĆ NADA
+BABIĆ NATAŠA
+BABIĆ NEDELJKO
+BABIĆ NENAD
+BABIĆ NIKOLA
+BABIĆ NIKOLA
+BABIĆ NIKOLA
+BABIĆ OLGICA
+BABIĆ OSTOJA
+BABIĆ OSTOJA
+BABIĆ PERSA
+BABIĆ PERSIDA
+BABIĆ PETAR
+BABIĆ PETAR
+BABIĆ PETAR
+BABIĆ PETAR
+BABIĆ PETAR
+BABIĆ PREDRAG
+BABIĆ RADENKO
+BABIĆ RADE
+BABIĆ RADE
+BABIĆ RADINKA
+BABIĆ RADISAV
+BABIĆ RADIVOJE
+BABIĆ RADOJE
+BABIĆ RADOJKA
+BABIĆ RADOJKA
+BABIĆ RADOMIR
+BABIĆ RADOSLAV
+BABIĆ RADOVAN
+BABIĆ RADOVAN
+BABIĆ RAJKO
+BABIĆ RAJKO
+BABIĆ RANKO
+BABIĆ SAŠA
+BABIĆ SAVO
+BABIĆ SLADE
+BABIĆ SLAVICA
+BABIĆ SLOBODAN
+BABIĆ SLOBODAN
+BABIĆ SMILJKA
+BABIĆ SMILJKA
+BABIĆ SNEŽANA
+BABIĆ SOFIJA
+BABIĆ STAKA
+BABIĆ STANKO
+BABIĆ STEVAN
+BABIĆ STEVAN
+BABIĆ STEVAN
+BABIĆ STEVAN
+BABIĆ STEVAN
+BABIĆ STEVO
+BABIĆ SVETLANA
+BABIĆ SVETLANA
+BABIĆ TOMO
+BABIĆ VASA
+BABIĆ VASA
+BABIĆ VERA
+BABIĆ VERICA
+BABIĆ VESNA
+BABIĆ VIDOSAVA
+BABIĆ VUJO
+BABIĆ VUKMAN
+BABIĆ ZAGORKA
+BABIĆ ZDRAVKO
+BABIĆ ZORAN
+BABIĆ ZORAN
+BABIĆ ZORKA
+BABIJANOVIĆ JULKA
+BABILON VLADIMIR
+BABILON VLADIMIR
+BABIN ĐORĐE
+BABIN BOGDAN
+BABIN BRANISLAV
+BABIN DIMITRIJE
+BABIN DUŠAN
+BABIN JOVAN
+BABIN KATARINA
+BABIN KRISTINA
+BABIN LAZAR
+BABIN LJUBOMIR
+BABIN MARIJA
+BABIN MARIN
+BABIN MIHAJLO
+BABIN MILAN
+BABIN MILENA
+BABIN MILENKO DR ING
+BABIN MILENKO
+BABIN MIODRAG
+BABIN MIRJANA
+BABIN MIRJANA
+BABIN NADA
+BABIN NIKOLA
+BABIN PETAR
+BABIN RADOJKA
+BABIN SAVA
+BABIN ZORAN
+BABJAK SLOBODAN
+BABKA JAN
+BABORAC DRAGAN
+BABOVIĆ ČEDOMIR
+BABOVIĆ BRANISLAV
+BABOVIĆ JASMINA
+BABOVIĆ JELENA
+BABOVIĆ JOVAN
+BABOVIĆ LJUBOMIR
+BABOVIĆ MIHAILO
+BABOVIĆ MILISAV
+BABOVIĆ MOMČILO
+BABOVIĆ SINIŠA DR
+BABOVIĆ TOMISLAV
+BABOVIĆ ZORA
+BACKOVIĆ DOBROSLAV
+BACKOVIĆ DRAGAN
+BACKOVIĆ MARIJA
+BACKOVIĆ MILICA
+BACKOVIĆ MILIVOJE
+BACKOVIĆ MILORAD
+BACKOVIĆ MILOVAN
+BACKOVIĆ RADIVOJE
+BADA IŠTVAN
+BADALIĆ MAJDA
+BADANJAC JELENA
+BADNJAR MILAN
+BADNJAR MILIVOJE
+BADNJAR VLADO
+BADNJAREVIĆ ALEKSANDAR DIPL PRAVNIK
+BADNJAREVIĆ BOŽIDAR
+BADNJAREVIĆ MILANA
+BADNJAREVIĆ MIODRAG
+BADNJAREVIĆ RADOŠ
+BADNJAREVIĆ STANA
+BADOVINAC DRAGUTIN
+BADOVINAC NIKOLA
+BADRKIĆ NIKOLA
+BADRLJICA DUŠICA
+BADRLJICA GAVRA
+BADRLJICA LAZAR
+BADRLJICA MLADEN
+BADRLJICA OLGA
+BADRLJICA PETAR
+BADRLJICA RADOJKA
+BAFUS LASLO
+BAGI ĐULA
+BAGI-BENKOVIĆ PAL
+BAGI FERENC
+BAGI IŠTVAN
+BAGI JANOŠ
+BAGIĆ MIRJANA
+BAGINJ LAZAR
+BAGINJ LEPOSAVA
+BAGLAVA MILAN
+BAGONJA JAN
+BAGONJA MARIJA
+BAGONJA NADA
+BAH ERNA
+BAHMAN MARKO
+BAHTIJAREVIĆ JELA
+BAHUN NIKOLA
+BAHUN PETAR
+BAIĆ MIRKO
+BAIĆ STANA
+BAJČETA MOMČILO
+BAJČETA RADOSLAV
+BAJČETIĆ BOGDAN DR
+BAJČETIĆ LJUBICA
+BAJČETIĆ MARIJA
+BAJČETIĆ MARKO
+BAJČETIĆ MILENKO
+BAJČETIĆ MIRKO
+BAJČETIĆ PAVLE
+BAJČETIĆ PETAR
+BAJČEV JOVAN
+BAJČEV MIRJANA
+BAJŠANSKI DRAGOSLAV
+BAJŠANSKI JOVAN
+BAJŠANSKI LJILJANA
+BAJŠANSKI MILADIN
+BAJŠANSKI MILENKO
+BAJŠANSKI RADOVAN
+BAJŠANSKI SAVA
+BAJŠANSKI SAVA
+BAJŠANSKI SMILJA
+BAJŠANSKI ZORAN
+BAJŠEV DRAGOMIR
+BAJŠEV ILIJA
+BAJŠEV MILICA
+BAJŠEV STEVAN
+BAJŠEV SVETISLAV
+BAJŠIĆ ŽARKO
+BAJŠIĆ DRAGAN
+BAJŠIĆ MILAN
+BAJA ĐORĐE
+BAJA STEVAN
+BAJAC BORISLAV
+BAJAC EMILIJA DR
+BAJAC ISAK
+BAJAC LJUBICA
+BAJAC MILAN
+BAJAC MILOŠ
+BAJAC MILUTIN
+BAJAC SVETLANA
+BAJAC VERA
+BAJAGIĆ KATICA
+BAJAGIĆ MILENA
+BAJAGIĆ MIODRAG
+BAJAGIĆ MOMČILO
+BAJAGIĆ MOMČILO
+BAJAGIĆ PETAR
+BAJAGIĆ RADA
+BAJAGIĆ RADE
+BAJAGIĆ SAVO
+BAJAGIĆ SVETOZAR
+BAJAGIĆ TAMARA
+BAJAKIĆ MARA
+BAJALO JOVANKA
+BAJALOVIĆ SOFIJA
+BAJALOVIĆ SVETISLAV
+BAJAT MILORAD
+BAJAT MIRKO
+BAJAT MIRKO
+BAJAT NEDELJKO
+BAJAT NIKOLA
+BAJAT RADOVAN
+BAJAT TRIFUN
+BAJAT VELIMIR
+BAJAZET JEVGENIJA
+BAJAZET TODOR
+BAJAZET VERA DIPL ING
+BAJAZETOV DRAGAN
+BAJAZETOV DRAGAN
+BAJAZETOV RADIVOJ
+BAJAZIT MILAN
+BAJBARAK IVAN
+BAJGO ZOLTAN
+BAJI ARANKA
+BAJI-HRIBAR JULIJA
+BAJI STEVAN
+BAJIĆ ČEDOMIR
+BAJIĆ ŽARKO
+BAJIĆ ŽIKA
+BAJIĆ ŽIVKO
+BAJIĆ ŽIVOJIN
+BAJIĆ ĐORĐE DR
+BAJIĆ ĐURA
+BAJIĆ ĐURO
+BAJIĆ ALEKSANDAR
+BAJIĆ BOŠKO
+BAJIĆ BOŽICA
+BAJIĆ BOGDAN
+BAJIĆ BOGOLJUB
+BAJIĆ BOJKA
+BAJIĆ BORA
+BAJIĆ BORIVOJE
+BAJIĆ BOSILJKA
+BAJIĆ BRANISLAV
+BAJIĆ BRANISLAV
+BAJIĆ BRANISLAV
+BAJIĆ BRANISLAV
+BAJIĆ BRANISLAV
+BAJIĆ BRANKO
+BAJIĆ DANICA
+BAJIĆ DIMITRIJE
+BAJIĆ DRAGICA
+BAJIĆ DRAGOSLAV
+BAJIĆ DRAGUTIN
+BAJIĆ DUŠAN
+BAJIĆ DUŠAN
+BAJIĆ DUŠAN
+BAJIĆ DUŠAN
+BAJIĆ DUŠAN
+BAJIĆ DUŠAN
+BAJIĆ DUŠKO
+BAJIĆ GOJKO
+BAJIĆ GORDANA
+BAJIĆ ILIJA
+BAJIĆ ILINKA
+BAJIĆ ILONA
+BAJIĆ JAGOŠ
+BAJIĆ JANKO
+BAJIĆ JANKO
+BAJIĆ JELICA
+BAJIĆ JOVAN
+BAJIĆ JOVAN
+BAJIĆ JOVAN
+BAJIĆ JOVICA
+BAJIĆ KRSTA
+BAJIĆ LAZAR
+BAJIĆ LUKA
+BAJIĆ MARA
+BAJIĆ MARA
+BAJIĆ MARICA
+BAJIĆ MARIJA
+BAJIĆ MARIJA
+BAJIĆ MELANIJA
+BAJIĆ MIĆO
+BAJIĆ MIHAJLO DR
+BAJIĆ MILAN DR PROF
+BAJIĆ MILAN
+BAJIĆ MILAN
+BAJIĆ MILAN
+BAJIĆ MILAN
+BAJIĆ MILAN
+BAJIĆ MILAN
+BAJIĆ MILAN
+BAJIĆ MILENKO
+BAJIĆ MILE
+BAJIĆ MILICA
+BAJIĆ MILKA
+BAJIĆ MILOVAN
+BAJIĆ MIODRAG
+BAJIĆ MIRKO
+BAJIĆ MIRKO
+BAJIĆ MIROSLAV
+BAJIĆ MIROSLAV
+BAJIĆ MIROSLAV
+BAJIĆ MIROSLAV
+BAJIĆ MITAR
+BAJIĆ MITAR
+BAJIĆ MITA
+BAJIĆ MLADEN
+BAJIĆ MLADEN
+BAJIĆ MLADEN
+BAJIĆ MOMČILO
+BAJIĆ NADA
+BAJIĆ NADA
+BAJIĆ NATAŠA
+BAJIĆ NEĐO
+BAJIĆ NEVENA
+BAJIĆ NIKOLA
+BAJIĆ NIKOLA
+BAJIĆ PERA
+BAJIĆ PERO
+BAJIĆ PERSIDA
+BAJIĆ PETAR
+BAJIĆ PETAR
+BAJIĆ RADE
+BAJIĆ RADE
+BAJIĆ RADE
+BAJIĆ RADIVOJ
+BAJIĆ RADMILA
+BAJIĆ RADOSLAV
+BAJIĆ SAVA
+BAJIĆ SAVO
+BAJIĆ SIMO
+BAJIĆ SINIŠA
+BAJIĆ SLAVKO
+BAJIĆ SLAVKO
+BAJIĆ SNEŽANA
+BAJIĆ SNEŽANA
+BAJIĆ SOFIJA
+BAJIĆ SOFIJA
+BAJIĆ SOFIJA
+BAJIĆ SONJA
+BAJIĆ SPASOJE
+BAJIĆ STANISLAV
+BAJIĆ STEVAN
+BAJIĆ STEVAN
+BAJIĆ STEVAN
+BAJIĆ STEVAN
+BAJIĆ SVETLANA
+BAJIĆ TODOR
+BAJIĆ TOMISLAV
+BAJIĆ-TURINSKI MIRJANA
+BAJIĆ VASA
+BAJIĆ VASA
+BAJIĆ VERONA
+BAJIĆ VESELIN
+BAJIĆ VIDA
+BAJIĆ VLADIMIR
+BAJIĆ VLADIMIR
+BAJIĆ VLADIMIR
+BAJIĆ ZORANKA
+BAJIĆ ZORAN
+BAJIĆ ZORAN
+BAJIĆ ZORAN
+BAJIĆ ZORICA
+BAJILO DRAGOMIR
+BAJILO DRAGOMIR
+BAJILO DUŠAN
+BAJILO PERO
+BAJILO VIDOSAVA
+BAJILOV LJILJANA
+BAJIN BORISLAV
+BAJIN BRANISLAV
+BAJIN GAVRILO
+BAJIN IVAN
+BAJIN KAĆA
+BAJIN LJUBICA
+BAJIN MILANKA
+BAJIN NADA
+BAJIN RADOJKA
+BAJIN RAJKO
+BAJIN RUŽICA
+BAJIN SAVA
+BAJIN SAVETA
+BAJIN STOJANKA
+BAJKIN ANĐELKO
+BAJKIN STOJAN
+BAJKIN SVETOZAR
+BAJKIN VESELIN
+BAJKIN VITOMIR
+BAJOR MARIJA
+BAJOVIĆ BRANKO
+BAJOVIĆ MARA
+BAJOVIĆ MITAR
+BAJOVIĆ VERA
+BAJRAMI ŠEFKI
+BAJRAMI ŠEFKI
+BAJRAMI AGRON
+BAJRAMI BATIJA
+BAJRAMI GANI
+BAJRAMI SKENDER
+BAJRAMOVIĆ ŠERIF
+BAJRAMOVIĆ HIVZIJA
+BAJRIĆ RADMILA
+BAJS FRANC
+BAJUNOVIĆ MLADEN
+BAJUS JOŽEF
+BAKŠA ĐORĐE
+BAKŠA IMRE
+BAKŠA JOŽEF
+BAKŠA LAJOŠ
+BAKŠA LAJOŠ
+BAKŠA LASLO
+BAKŠA MAGDA
+BAKŠA MIHAJLO
+BAKŠA ZOLTAN
+BAKŠA ZOLTAN
+BAKA ANTAL
+BAKA IŠTVAN
+BAKA IŠTVAN
+BAKA IŠTVAN
+BAKA IBOLJA
+BAKA MILICA
+BAKAI IREN
+BAKAJ IVAN
+BAKAJ MILJKO
+BAKAJIĆ MILAN
+BAKAJIN DOBRILA
+BAKAJIN LJUBOMIR
+BAKAJIN NEVENKA
+BAKAJIN TODOR
+BAKALIĆ ĐULINKA SUDIJA
+BAKALIĆ MIHAJLO
+BAKALIĆ VOJISLAV
+BAKALOVIĆ NEMANJA
+BAKEV ĐORĐE
+BAKI IRENA
+BAKI OTO
+BAKI VERA
+BAKIŠ ČEDOMIR DIPL ING
+BAKIĆ BORIVOJE
+BAKIĆ DIMITRIJE
+BAKIĆ DUŠAN DIPL ING
+BAKIĆ IVAN
+BAKIĆ JOVAN
+BAKIĆ KOSTA
+BAKIĆ MIJOMIR
+BAKIĆ MILOŠ
+BAKIĆ MILOŠ
+BAKIĆ MILUTIN
+BAKIĆ MIRA
+BAKIĆ MIROSLAV
+BAKIĆ MIROSLAV
+BAKIĆ NADA
+BAKIĆ SINIŠA
+BAKIĆ SONJA
+BAKLAIĆ JOVANKA
+BAKMAZ LAZO
+BAKMAZ LJUBAN
+BAKMAZ ZORAN
+BAKO MIŠA
+BAKOČEVIĆ MIRJANA
+BAKOŠ ĐERĐI
+BAKOŠ GABOR
+BAKOŠ LAJOŠ
+BAKOŠ LASLO
+BAKOŠ MARIJA
+BAKOŠ PAL
+BAKOŠ PETAR
+BAKOŠ TEREZIJA
+BAKOVIĆ RADE
+BAKTAI STEVAN
+BAKUNIĆ IVAN
+BAKUNIĆ VIDOSAVA
+BAKVIĆ MILAN
+BAL KARLO
+BAL ZVONIMIR
+BALČAKOVIĆ VASO
+BALŠIĆ RANKA
+BALA ETELKA
+BALA IŠTVAN
+BALA JANOŠ
+BALA JULIJANA
+BALA JULIJA
+BALA KARLO
+BALA KARLO
+BALA KAROLJ
+BALA LADISLAV
+BALA MIHALJ
+BALA TEREZ
+BALAŠA JOŽEF
+BALAĆ ANA
+BALAĆ DUŠANKA
+BALAĆ JOVAN
+BALAĆ LJUBO
+BALAĆ MIROSLAV
+BALAĆ MIROSLAV
+BALAĆ SLAVKO
+BALAĆ SRBISLAV
+BALAĆ STEVAN
+BALAĆ VUJO
+BALAĆ ZORA
+BALAŽ ŠANDOR
+BALAŽ ĐULA
+BALAŽ ĐULA
+BALAŽ ĐULA
+BALAŽ ĐULA
+BALAŽ ADALBERT
+BALAŽ ANA
+BALAŽ ETELKA
+BALAŽ GEZA
+BALAŽ GEZA
+BALAŽ IRENA
+BALAŽ IVANKA
+BALAŽ JANIKA
+BALAŽ JELISAVETA
+BALAŽ JOSIP
+BALAŽ JOVAN
+BALAŽ KATARINA
+BALAŽ LASLO
+BALAŽ PAL
+BALAŽ PAL
+BALAŽ-PIRI ĐERĐ
+BALAŽ ZITA
+BALAŽEV STIPAN
+BALAŽEVIĆ SLOBODANKA
+BALABAN BOŠKO
+BALABAN BRANKO
+BALABAN MILOVAN
+BALABAN MILUTIN
+BALABAN NEĐO
+BALABAN PETAR
+BALABAN SAVO
+BALABAN SPOMENKA
+BALABAN VID
+BALABAN VUKAŠIN
+BALABANOV ANA
+BALABANOVIĆ BOŠKO
+BALABANOVIĆ MILORAD
+BALABANOVIĆ NIKOLA
+BALABANOVIĆ PETAR
+BALABANOVIĆ VOJISLAV
+BALAJ MIHAJLO
+BALALIĆ DŽEVAD DIPL ING
+BALALIĆ DŽEVAD
+BALANESKO ALEKSANDAR
+BALAT IRENA
+BALATON ĐERĐ
+BALATON ĐERĐ
+BALATON ĐERĐ
+BALATON BELA
+BALATON IMRE
+BALATON MAGDOLNA
+BALATON PETAR
+BALCA VLADIMIR
+BALCA VLADIMIR
+BALDIĆ SLOBODAN
+BALENOVIĆ ANDRIJA
+BALER JOSIP
+BALEVIĆ MILIVOJ
+BALGO FRANCIŠKA
+BALI ALEKSANDRA
+BALI GABOR
+BALI LASLO
+BALIĆ ESAD
+BALIŽ ILDA
+BALIŽ MIHALJ
+BALIŽ ZOLTAN
+BALIND PAL
+BALIND SILVIA
+BALINOVIĆ MILEVA
+BALINOVIĆ SINIŠA
+BALINT ŠANDOR MR
+BALINT ŽIGMUND
+BALINT ĐORĐE
+BALINT ĐURA
+BALINT ANDREJ
+BALINT DEŽE
+BALINT IŠTVAN
+BALINT ILONA
+BALINT IMRE
+BALINT IMRE
+BALINT JOŽEF
+BALINT JOŽEF
+BALINT JOSIP
+BALINT JOSIP
+BALINT JOSIP
+BALINT JULIJANA
+BALINT KAROLJ
+BALINT MAĆAŠ
+BALINT MARGARETA
+BALINT MARIA
+BALINT MARIJA
+BALINT MARIJA
+BALINT MIHAILO
+BALINT MIROSLAV
+BALINT-MITROVIĆ OLGA
+BALINT RADOSLAV
+BALINT ROBERT
+BALINT SLAVOMIR
+BALJ BRANKO
+BALJ MILORAD
+BALJ SAVO
+BALJA IDRIZ
+BALJAK ČEDOMIR
+BALJOŠEVIĆ ALEKSANDAR
+BALJOŠEVIĆ BOGDANKA
+BALJOŠEVIĆ JOVAN
+BALJOŠEVIĆ MIRO
+BALJOZOVIĆ OLIVERA
+BALJOZOVIĆ TOMISLAV DR
+BALKOVOJ VLADIMIR
+BALNOŽAN NEVENKA
+BALNOŽAN SIMA
+BALO GAŠPAR
+BALO PETAR
+BALOŠ NUCA
+BALOŠ TODOR
+BALOŠ TODOR
+BALOBAN MILAN
+BALOBAN MILAN
+BALOG ŠANDOR
+BALOG ŽIVKA
+BALOG ŽUŽANA
+BALOG ĐORĐE
+BALOG ĐORĐE
+BALOG ĐORĐE
+BALOG ĐURA
+BALOG ĐURA
+BALOG ALEKSANDAR
+BALOG ANA
+BALOG ANA
+BALOG ANA
+BALOG ANDRAŠ
+BALOG ANDRIJA
+BALOG BELA
+BALOG BRANKO
+BALOG DEŽE
+BALOG DEŽE
+BALOG DRAGAN
+BALOG DUŠANKA
+BALOG FERENC
+BALOG FRANJA
+BALOG FRANJA
+BALOG FRANJA
+BALOG IŠTVAN
+BALOG IBOJKA
+BALOG IMRE
+BALOG IMRE
+BALOG JOŽEF
+BALOG JOCA
+BALOG JOVAN
+BALOG JULIJANA
+BALOG JULIJANA
+BALOG KALMAN
+BALOG KAROLJ
+BALOG KAROLJ
+BALOG KATARINA
+BALOG LADISLAV
+BALOG LADISLAV
+BALOG LASLO
+BALOG MAGDA
+BALOG MARA
+BALOG MARIJA
+BALOG MARIJA
+BALOG MARIJA
+BALOG MARIJA
+BALOG MARIJA
+BALOG MARTA
+BALOG MILENA
+BALOG MIRKO
+BALOG NIKOLA
+BALOG NIKOLA
+BALOG PIŠTA
+BALOG PIROŠKA
+BALOG SIMA
+BALOG SMILJA
+BALOG SPOMENKA
+BALOG STEVAN
+BALOG STEVAN
+BALOG STEVAN
+BALOG TIBOR
+BALOG VELIMIR
+BALOG ZORAN
+BALOK IŠTVAN
+BALOVIĆ MILIĆ
+BALTA ANA
+BALTIĆ DANICA
+BALTIĆ RADMILA
+BALTIĆ VLADIMIR DR
+BALTOVIĆ DRAGAN
+BALTOVIĆ PETAR
+BALUNOVIĆ IVAN
+BAMBULOVIĆ MILKA
+BAN STEVAN
+BANČEVIĆ PETAR
+BANČEVIĆ RADE
+BANČI BALINT
+BANČI KAROLJ
+BANČIĆ ŽIVKO
+BANČIĆ ALEKSANDAR
+BANČIĆ JOVAN
+BANČIĆ JULKA
+BANČIĆ LAZA
+BANČIĆ MARIJA
+BANČIĆ SOFIJA
+BANČIĆ STEVICA
+BANČIĆ TODOR
+BANĐUR MIRKO
+BANAĆANIN LJILJANA
+BANAĆANIN OLGA
+BANAI TIBOR
+BANAI VERA
+BANAJ JOSIP
+BANDA ŽIVKO
+BANDIĆ BLAGOJE
+BANDIĆ JELICA
+BANDIĆ LJUBOMIR
+BANDIĆ LJUBO
+BANDIĆ RADE
+BANDIĆ SAVKA
+BANDIĆ TOMISLAV
+BANDIĆ VERICA
+BANDIĆ VUJADIN
+BANDIN ŽIVORAD
+BANDIN IVAN
+BANDIN KATICA
+BANDIN MIODRAG
+BANDIN MLADEN
+BANDOBRANSKI OLGA
+BANDOLO DRAGICA
+BANDUKA DRAGUTIN
+BANFI MARIJA
+BANGO LJUDEVIT
+BANIĆ ANĐA
+BANIĆ BOŽIDAR
+BANIĆ BRANKO DR
+BANIĆ EMILIJA
+BANIĆ EVICA
+BANIĆ KATICA
+BANIĆ MILOŠ
+BANIĆ MILOVAN
+BANIĆ PANE
+BANIĆ PETAR
+BANIĆ RADE
+BANIĆ RADOMIR
+BANIĆ RASTKO
+BANIĆ RUŽICA
+BANIĆ SLAVKO
+BANIĆ SVETOZAR
+BANIĆ ZORKA
+BANIĆEVIĆ JELENA
+BANIĆEVIĆ VESELIN
+BANIA-ŽIVADINOVIĆ MIRJANA
+BANJAŠ ĐURA
+BANJAC ČEDOMIR
+BANJAC ČEDO
+BANJAC ČEDO
+BANJAC ŠPIRO DIPL ING
+BANJAC ŽIVAN
+BANJAC ĐORĐE
+BANJAC ĐORĐE
+BANJAC ĐORĐE
+BANJAC BOSILJKA
+BANJAC DANILO
+BANJAC DMITAR
+BANJAC DRAGAN DIPL ING
+BANJAC DRAGAN
+BANJAC DRAGICA
+BANJAC DRAGICA
+BANJAC DUŠAN
+BANJAC DUŠKO
+BANJAC DUŠKO
+BANJAC EMIL
+BANJAC GAVRA
+BANJAC GOJKO
+BANJAC JELENA
+BANJAC JOVAN
+BANJAC JOVAN
+BANJAC KATICA
+BANJAC MILAN
+BANJAC MILAN
+BANJAC MILE
+BANJAC MILORAD
+BANJAC MIRKO
+BANJAC NEDELJKO
+BANJAC NIKOLA
+BANJAC OLGA
+BANJAC PERO
+BANJAC PETAR
+BANJAC RADA
+BANJAC RADONJA
+BANJAC SAVA
+BANJAC SAVA
+BANJAC SAVETA
+BANJAC SAVO
+BANJAC SLAVKO
+BANJAC SLAVNA
+BANJAC SLOBODAN
+BANJAC STEVAN
+BANJAC TEODOR
+BANJAC VESNA
+BANJAC VINKO
+BANJAC VITOMIR
+BANJAC VOJISLAV
+BANJAI JAGA
+BANJAI JANOŠ
+BANJAI JOVAN
+BANJAI LAJOŠ
+BANJAI MAĆAŠ
+BANJAI MARIJA
+BANJAI ROMAN
+BANJAI RUŽA
+BANJANAC BRANKO
+BANJANAC BRATISLAV
+BANJANAC MILAN
+BANJANAC RADE
+BANJANAC SLAVICA
+BANJANIN DANICA
+BANJANIN DARA
+BANJANIN JELENA
+BANJANIN JELISAVETA
+BANJANIN JOVAN
+BANJANIN NEDELJKO
+BANJANIN NEDELJKO
+BANJANIN NIKOLA
+BANJANIN NIKOLA
+BANJANIN RADMILA
+BANJANIN SOFIJA
+BANJANIN VELIMIR
+BANJARI LAJOŠ
+BANJEGLAV BOŽA
+BANJEGLAV DRAGAN
+BANJEGLAV DUŠAN
+BANJEGLAV NIKOLA
+BANJEGLAV RADIVOJ
+BANJEVIĆ SLOBODANKA
+BANKA LAJOŠ
+BANKOVAČKI ĐURA
+BANKOVAČKI JOVAN
+BANKOVAČKI MARIJA
+BANKOVAČKI NADA
+BANKOVAČKI PETAR
+BANKOVAČKI SAVA
+BANKOVAČKI SVETOZAR
+BANKOVIĆ MILUN
+BANOVČANIN DRAGICA
+BANOVČANIN MILAN
+BANOVČANIN MOMČILO
+BANOVAČKI ĐORĐE
+BANOVAČKI JOVAN
+BANOVAČKI MARIJA
+BANOVAČKI RUŽICA
+BANOVIĆ ŽARKO
+BANOVIĆ ŽIVORAD
+BANOVIĆ DUŠAN
+BANOVIĆ JOVANKA
+BANOVIĆ LEPOSAVA
+BANOVIĆ-LOC NADA
+BANOVIĆ MILAN
+BANOVIĆ MILAN
+BANOVIĆ MILJKO
+BANOVIĆ NIKOLA
+BANOVIĆ SLAVA
+BANOVIĆ SLOBODAN
+BANSKI ERIKA
+BANSKI MARIJA
+BARČIKIN ĐORĐE
+BARŠI ENDRE
+BARŠI LASLO
+BARAČANIN DANICA
+BARAČANIN LAZAR
+BARAČANIN PAJA
+BARAČANIN SAVKA
+BARAČI STEVAN
+BARAČKOV ČEDOMIR
+BARAČKOV ĐORĐE
+BARAČKOV GORINKA
+BARAČKOV MILAN
+BARAČKOV SREDOJE
+BARAČKOV VESELIN
+BARAŠEVIĆ MIROSLAVA
+BARAŠEVIĆ TOMISLAV
+BARAŠIN GORAN
+BARAŠIN LJUBOMIR
+BARAŠIN NEVENKA
+BARAŠIN SAVA
+BARAĆ ŽARKO
+BARAĆ DRAGICA
+BARAĆ DUŠANKA
+BARAĆ GODIMIR
+BARAĆ GOJKO
+BARAĆ JOSIP
+BARAĆ KOVILJKA
+BARAĆ MILAN
+BARAĆ MILOŠ
+BARAĆ MILOŠ
+BARAĆ MILOSAVA
+BARAĆ MOMČILO
+BARAĆ RADONJA
+BARAĆ SARAFINA
+BARAĆ STANIMIRKA
+BARAĆ VESELIN
+BARAĆ VIDAK
+BARAĆ VUČINA
+BARAC MALIŠA
+BARAC MARKO
+BARAC NOVO
+BARAC TOMISLAV
+BARAJEVAC JOVA
+BARAKO SAVA
+BARALIĆ MIROSLAV
+BARAN JAKIM
+BARAN MIHAJLO
+BARAN MIRON DIPL ING
+BARANIN VASILIJE
+BARANJAI JENE
+BARANJI FERENC
+BARANJI FERENC
+BARANJI LASLO
+BARANJI PAVLE
+BARANJI STEVAN
+BARANOVSKI VLADA
+BARAS TOMA DR
+BARAT ALEKSANDAR
+BARAT DRAGICA
+BARAT DRAGINJA
+BARAT FERENC
+BARAT IMRE
+BARAT OLGA
+BARAT OSKAR
+BARATOV BOŠKO
+BARBARIĆ ANTE
+BARBARIĆ PAVLE
+BARBATESKOVIĆ LJUBIŠA
+BARBERIĆ DRAGAN
+BARBERIĆ MIRKO
+BARBIR ANTE
+BARBIR LJUBA
+BARBU VASA
+BARBUL MARIJA
+BARBUL MILAN
+BARBUL MILAN
+BARBUL SAVA
+BARBUL STOJAN
+BARBUL VLADISLAVA
+BARBULOV DIMITRIJE
+BARBULOV DOBRIVOJ
+BARBULOV MILIVOJ
+BARBULOV NIKOLA
+BARBULOVIĆ DRAGAN
+BARBUZAN JASNA
+BARBUZAN RUŽICA
+BARCAL ĐERĐ
+BARCAL ANA
+BARCAL JOŽEF
+BARCAL LASLO DIPL ING
+BARCEL KATICA
+BARDAK ALEKSANDAR
+BARDAK ANKICA
+BARDAK LUKA
+BARDIĆ ŽELJKO
+BARDIĆ MIRKO
+BARDOŠ JOŽEF
+BARDOŠ MELANIJA
+BARDUN KARLO
+BAREŠIĆ IVAN
+BAREŠIĆ MATO
+BARETIĆ DRAGOLJUB
+BARIČEVIĆ STIPE
+BARIČIĆ BISERKA
+BARIŠIĆ ANĐELKO
+BARIŠIĆ BLAGOJE
+BARIŠIĆ BOŠKO
+BARIŠIĆ ILIJA
+BARIŠIĆ ILIJA
+BARIŠIĆ JANJA
+BARIŠIĆ LJUBICA
+BARIŠIĆ MARKO
+BARIŠIĆ MILAN
+BARIŠIĆ MILAN
+BARIŠIĆ PETAR
+BARIŠIĆ STJEPAN
+BARIŠIĆ VERONIKA
+BARIŠIĆ ZORKA
+BARIĆ LJUBICA
+BARIĆ PAULINA
+BARIĆ SLAVICA
+BARJAKTAR SPASENIJA
+BARJAKTAR STEVA
+BARJAKTAREVIĆ ŽIVKO
+BARJAKTAREVIĆ DRAGAN
+BARJAKTAREVIĆ MARA
+BARJAKTAREVIĆ MARA
+BARJAKTAREVIĆ MILAN
+BARJAKTAREVIĆ MILKA
+BARJAKTAREVIĆ MILOJE
+BARJAKTAREVIĆ VALERIJA
+BARJAKTAREVIĆ ZLATKO
+BARJAKTAROV MILICA
+BARJAKTAROVIĆ ĐOKO
+BARJAKTAROVIĆ ANKA
+BARJAKTAROVIĆ MILOŠ
+BARJAKTAROVIĆ SNEŽANA
+BARJAKTAROVIĆ VUČINA
+BARJAKTAROVIĆ VUČINA
+BARJAKTAROVIĆ ZORKA
+BARJAMOVIĆ ALIL
+BARJAMOVIĆ ARSENIJE
+BARJAMOVIĆ SLOBODAN
+BARNA GAŠPAR
+BARNA IVAN
+BARNA JANOŠ
+BARNA JOSIP
+BARNA MIHALJ
+BARO FRANJO
+BARO JELENA
+BARO JOŽEF
+BARO JOŽEF
+BARO JOSIP
+BAROŠ BOŽO
+BAROŠ BORISLAV DR
+BAROŠ BORISLAV
+BAROŠ LAZO
+BAROŠ NEBOJŠA
+BAROŠ NIKOLA
+BAROŠ NIKOLA
+BAROŠEVIĆ JOVO
+BAROVIĆ VELIMIR
+BAROVIĆ VOJISLAV
+BARTA ĐERĐ
+BARTA ĐORĐE
+BARTA ARPAD
+BARTA DEŽE
+BARTA EMA
+BARTA ILDIKO
+BARTA IRMA
+BARTA MAGDALENA
+BARTEK ANDRIJA
+BARTEK KATARINA
+BARTEK RUDOLF DIPL ING
+BARTEK STEVAN
+BARTOŠ DANILO
+BARTOŠ DRAGICA
+BARTOŠ IMRE
+BARTOŠ LADISLAV
+BARTOŠ LASLO
+BARTOŠ SVETLANA
+BARTOŠ ZVONIMIR
+BARTOJ MIRJANA
+BARTOK MARGIT
+BARTOLOVIĆ ANTUN
+BARTOLOVIĆ JOSIP
+BARTOLOVIĆ MARIN
+BARTULOVIĆ PAVLE
+BARUŠIĆ MARTIN
+BARUDŽIJA MARKO
+BARUDANOV DUŠANKA
+BASARA ĐURO
+BASARA ANKA
+BASARA DIVNA
+BASARA DRAGICA
+BASARA JOVAN
+BASARA MARTA
+BASARA MILIVOJ
+BASARA MIRA
+BASARA PAJO
+BASARABA DUŠICA
+BASARIĆ BOGDAN
+BASARIĆ DANE
+BASARIĆ DRAGINJA
+BASARIĆ DUŠAN
+BASARIĆ JELENA
+BASARIĆ JOVAN
+BASARIĆ LJUBOMIR
+BASARIĆ MILAN
+BASARIĆ MILAN
+BASARIĆ MILKA
+BASARIĆ MIRJANA
+BASARIĆ NIKOLA
+BASARIĆ STEVAN
+BASARIĆ VERA
+BASIĆ KOVILJKA
+BASIĆ SRĐAN
+BASIOLI SREĆKO
+BASKIJIN ZORA
+BASRAK BRANKO
+BASRAK MILAN
+BASTA DANE
+BASTA DANIELA
+BASTA DRAGUTIN
+BASTA DUŠAN
+BASTA IVANA
+BASTA KATICA
+BASTA LJUBICA
+BASTA MARIJA
+BASTA MARIJA
+BASTA MARIJA
+BASTA MILAN
+BASTA MILOŠ
+BASTA MIROSLAV
+BASTA NIKOLA
+BASTA STEVA
+BASTA VLADO
+BASTAH BRANKO
+BASTAJA BRANKO
+BASTAJA MILAN
+BATA DEZIDER
+BATA ILONA
+BATA KAROLJ
+BATA LASLO
+BATA LASLO
+BATA MARGITA
+BATAJIĆ BOGOLJUB
+BATAK EMIL
+BATAK MIRKO
+BATAKOVIĆ KOSARA
+BATAKOVIĆ MILAN
+BATAKOVIĆ VITOMIR
+BATALOV RADICA
+BATANČEV JOVAN
+BATANČEV SLAVNA
+BATANJSKI MILAN
+BATANJSKI MILAN
+BATANOVIĆ ANKA
+BATAR ČEDOMIR
+BATAR ČEDOMIR
+BATAR MILOŠ
+BATAR MOMIR
+BATAR SLOBODAN
+BATAR VELIMIR
+BATAR VOJIN
+BATARILO ŽELJKO
+BATAS BOŽANA
+BATAZ VLADO
+BATERNEK IVAN
+BATIĆ ĐURAĐ
+BATIĆ BOŽIDAR
+BATIĆ BRANKA
+BATIĆ IVANA
+BATIĆ MIHAJLO
+BATINIĆ ĐURO
+BATINIĆ DRAGAN
+BATINIĆ GORDANA
+BATINIĆ SAVA
+BATINIĆ SPASOJE
+BATISTIĆ IVAN
+BATKIĆ JUSUF
+BATKIĆ STANISLAVA
+BATKOVIĆ MARA
+BATORI JANOŠ
+BATORI JOŽEF
+BATORI MARIJA
+BATORI MARIJA
+BATORI MIHALJ
+BATORI MIHALJ
+BATORI MIHALJ
+BATOS ALEKSANDAR
+BATOS BOŠKO
+BATOS BOŠKO
+BATOS MILAN
+BATOS NADA
+BATOS RADIVOJ
+BATOS ZORICA
+BATRNEK ZDENKA
+BATURAN OBRAD
+BATURAN RADOVAN
+BAUER EVA
+BAUER JULIJANA
+BAUER KSENIJA
+BAUER OTO
+BAUK DRAGAN
+BAUKOV VLADIMIR
+BAURANOV LAZAR
+BAVARČIĆ MILORAD
+BAVARČIĆ VESELIN
+BAZANČIK VALERIJA
+BAZOKIN ŽIVICA
+BEČ JANJA
+BEČEI LAJOŠ
+BEČEJAC ALEKSANDAR
+BEČEJAC BOŠKO
+BEČEJAC BRANISLAV
+BEČEJAC JOVAN
+BEČEJAC KAMENKO
+BEČEJAC MILAN
+BEČEJAC RADENKO
+BEČEJAC RADOJKA
+BEČEJAC SAVA
+BEČELIĆ ĐORĐE
+BEČELIĆ BISERKA
+BEČELIĆ BOSILJKA
+BEČELIĆ DOBRINKO
+BEČELIĆ DRAGICA
+BEČELIĆ GINA
+BEČELIĆ JOVAN
+BEČELIĆ LAZAR
+BEČELIĆ MARIJA
+BEČELIĆ MARIJA
+BEČELIĆ MILAN
+BEČELIĆ MILENA
+BEČELIĆ MILICA
+BEČELIĆ MILOŠ
+BEČELIĆ PETAR
+BEČELIĆ RADIVOJ
+BEČELIĆ RADOVAN
+BEČELIĆ STEVAN
+BEČELIĆ STEVAN
+BEČELIĆ VASA
+BEČELIĆ VESELIN
+BEČELIĆ VESELIN
+BEČIĆ MUHIBA
+BEČIĆ VEROLJUB
+BEČKEI JANOŠ
+BEČKEI PETAR
+BEČKEJI KARLO
+BEČVARDI ALEKSANDAR
+BEČVARDI JOSIP
+BEŠANIĆ BOŽANA
+BEŠANIĆ ZDRAVKO
+BEŠENJI KARLO
+BEŠENJI KARLO
+BEŠENSKI NIKOLA
+BEŠEVIĆ ALEKSA
+BEŠEVIĆ JOVAN
+BEŠEVIĆ MIRJANA
+BEŠEVIĆ NIKOLA DIPL OEC
+BEŠIĆ MARIJA
+BEŠIĆ MARIJA
+BEŠIĆ MEHMED
+BEŠIĆ MIHAJLO
+BEŠIĆ SLOBODAN
+BEŠIĆ SVETISLAV
+BEŠKER ANDRIJA
+BEŠKER BOŽO
+BEŠKER SREĆKA
+BEŠLIĆ JOVAN
+BEŠLIĆ TEREZIJA
+BEŠLIJA GOSPAVA
+BEŠLIN ŽIVKO DIPL OEC
+BEŠLIN BRANKO
+BEŠLIN IVAN
+BEŠLIN IVICA
+BEŠLIN JELISAVETA
+BEŠLIN MIODRAG
+BEŠLIN STOJAN
+BEŠLIN VLADISLAVA
+BEĆAGUL SAVA
+BEĆIN ALEKSANDAR
+BEĆIN OLGA
+BEĆIROVSKI ADEM
+BEŽAN VIKTOR
+BEŽANOV ALEKSANDAR
+BEŽANOV BRANISLAV
+BEŽANOV DRAGOLJUB
+BEŽANOV MIROLJUB
+BEŽANOVIĆ ĐORĐE
+BEADER JOVAN
+BEARA ŽIVKO
+BEARA ĐORĐE
+BEARA JOVAN
+BEARA MARKO
+BEARA PETAR
+BEARA PETAR
+BEATOVIĆ NEBOJŠA
+BEBEK MATO
+BEBELJA-MATUŠ ANKA
+BEBIĆ ANA
+BEBIĆ LJILJANA
+BEBIĆ NEVENKA
+BEBIĆ NEVENKA
+BEBIĆ PETAR
+BEBIĆ STOJANKA
+BECE BELA
+BECE TIBOR
+BECIĆ STEVAN
+BEDŽETI MARIJA
+BEDAK BILJANA
+BEDE ŠANDOR
+BEDE PETAR DR
+BEDE PETAR
+BEDEKOVIĆ ANTON
+BEDNARIK ANDRIJA
+BEDNARIK DARINKA
+BEDNARIK JANOŠ
+BEDNARIK JOSIP
+BEDNARIK MIHALJ
+BEDOV BISERKA
+BEDOV JOVAN
+BEDOV LJUBICA
+BEDOV MARIJA
+BEDOV MIROSLAV
+BEDOV NADA
+BEDOV PREDRAG
+BEDOV RADA
+BEDOV SRĐAN
+BEDOV SUNČICA
+BEDOV SVETISLAV
+BEDRIK ALEKSANDAR
+BEG ANDRIJA
+BEG-VALOVIČIĆ ANĐELKO
+BEG-VOLOVIČIĆ IVAN
+BEGANI ŠERIF
+BEGANOVIĆ MEHMED
+BEGANOVIĆ SANID
+BEGEČKI RAJKO
+BEGEČKI SAVA
+BEGENIŠIĆ DRAGORAD
+BEGENIŠIĆ VUKAŠIN
+BEGIĆ MILOŠ
+BEGIĆ MIRKO
+BEGLERBEGOVIĆ DŽEVAD
+BEGOJEV ANKA
+BEGOJEV BOGDAN
+BEGOJEV LAZAR
+BEGOJEV LAZA
+BEGOJEV PETAR
+BEGOJEV RADOJKA
+BEGOJEV TOŠA
+BEGOJEVIĆ RADIVOJ
+BEGOVIĆ EVICA
+BEGOVIĆ JASMINA
+BEGOVIĆ JOVAN
+BEGOVIĆ LADISLAV
+BEGOVIĆ-LIVAJA ILIJA
+BEGOVIĆ LJUBAN
+BEGOVIĆ MILIJA
+BEGOVIĆ MILORAD
+BEGOVIĆ MIRKO
+BEGOVIĆ ROĆKO
+BEGOVIĆ SAVO
+BEGOVIĆ TODOR
+BEGOVIĆ ZORO
+BEHER EVA
+BEHERANO JOSIP
+BEHTER ALEKSANDAR
+BEJAROVIĆ MARKO
+BEJAROVIĆ NENAD
+BEJATOVIĆ ĐORĐE
+BEJATOVIĆ MILORAD
+BEJATOVIĆ MIRKO
+BEJTOVIĆ ALIJA
+BEK ANTONIJA
+BEK DRAGANA
+BEK JOVAN
+BEK LADISLAV
+BEK LJILJANA
+BEK RUŽA
+BEK STEVAN
+BEKČIĆ MILORAD
+BEKAREK ILINKA
+BEKE LASLO
+BEKE MARIJAN
+BEKER FREDERIK
+BEKER IŠTVAN
+BEKER IDA
+BEKER JOŽEF
+BEKER JOSIP
+BEKER STEVAN
+BEKIĆ BORIS
+BEKIĆ BRANKA
+BEKIĆ JURE
+BEKIĆ MILORAD
+BEKIĆ TOMISLAV
+BEKIĆ VERA
+BEKRIĆ DRAGAN
+BEKRIĆ MIRA
+BEKRIĆ TOMISLAV
+BEKTAŠ DANICA
+BEKTAŠ SLAVKO
+BEKUT DRAGAN
+BEKUT PETAR
+BEKVALAC ŽIVAN
+BEKVALAC BRANISLAV
+BEKVALAC BRANISLAV
+BEKVALAC BRANKA
+BEKVALAC BRANKO
+BEKVALAC BRANKO
+BEKVALAC DRAGOLJUB
+BEKVALAC EMILIJA
+BEKVALAC ISA
+BEKVALAC LAZAR
+BEKVALAC LJUBICA
+BEKVALAC LJUBICA
+BEKVALAC LJUBINKO
+BEKVALAC MARA
+BEKVALAC MIJA
+BEKVALAC MILANKO
+BEKVALAC MILAN
+BEKVALAC MILISAV
+BEKVALAC MIRJANA
+BEKVALAC RADIVOJ
+BEKVALAC RADMILA
+BEKVALAC SERAFINA
+BEKVALAC STEVAN
+BELČEVIĆ GRADIMIR
+BELČEVIĆ RATKO
+BELAK ŠANDOR
+BELAK ANA
+BELAK MARGITA
+BELAK MIJO
+BELAK VLADA
+BELAN JOŽEF
+BELANČIĆ ELIZABETA
+BELANOVIĆ ĐORĐE
+BELANOVIĆ ALEKSANDRA
+BELANOVIĆ KATICA
+BELANOVIĆ MILIVOJ
+BELANOVIĆ TIBOR
+BELECKI JELENA
+BELEGIŠANIN DRAGOMIR DR
+BELESLIJIN MILORAD
+BELESLIJIN SLOBODAN
+BELESLIN DOBRILA
+BELESLIN MIROSLAV
+BELESLIN SVETOZAR DR
+BELETIĆ JELENA
+BELI ANDRIJA
+BELI EMIL
+BELI ROZALIJA
+BELI STEVAN
+BELI VOJISLAV
+BELIČKA ANA
+BELIČKA BRANISLAV
+BELIČKA MIROSLAV
+BELIĆ ŽIVKA
+BELIĆ ĐORĐE
+BELIĆ ĐORĐE
+BELIĆ ĐURICA
+BELIĆ BOŠKO
+BELIĆ BOŽIDAR
+BELIĆ BOŽIDAR
+BELIĆ BORISLAV
+BELIĆ BORISLAV
+BELIĆ BORIS
+BELIĆ BORIVOJE
+BELIĆ BORIVOJE
+BELIĆ BRANISLAV
+BELIĆ-BRKIĆ VLADISLAVA
+BELIĆ DANICA
+BELIĆ DANIJELA
+BELIĆ DRAGAN
+BELIĆ DRAGICA
+BELIĆ DRAGUTIN
+BELIĆ DUŠAN DR
+BELIĆ DUŠAN DR
+BELIĆ DUŠAN
+BELIĆ DUŠAN
+BELIĆ DUŠAN
+BELIĆ DUŠKO
+BELIĆ DUŠKO
+BELIĆ FLORIKA
+BELIĆ ILIJA
+BELIĆ JOSIM
+BELIĆ JOVANKA
+BELIĆ JOVICA
+BELIĆ JULIJANA
+BELIĆ JULKA
+BELIĆ LAZAR
+BELIĆ LJUBICA
+BELIĆ MARICA
+BELIĆ MILAN
+BELIĆ MILAN
+BELIĆ MILAN
+BELIĆ MILAN
+BELIĆ MILENA
+BELIĆ MILIVOJ
+BELIĆ MILOŠ
+BELIĆ MILORAD
+BELIĆ MIRJANA
+BELIĆ MIROSLAV
+BELIĆ NENAD
+BELIĆ NESTOR
+BELIĆ NIKOLA
+BELIĆ PETAR
+BELIĆ PETAR
+BELIĆ RADINKA
+BELIĆ RADOJKA
+BELIĆ RADOSLAV
+BELIĆ RADOVAN
+BELIĆ SAVA
+BELIĆ SENA
+BELIĆ SIMA
+BELIĆ SLAVKO DIPL ING
+BELIĆ SLAVKO
+BELIĆ SLOBODANKA
+BELIĆ SOFIJA
+BELIĆ SRĐAN
+BELIĆ STANKO
+BELIĆ STEVAN
+BELIĆ STOJANKA
+BELIĆ STOJAN
+BELIĆ SVETISLAV
+BELIĆ SVETISLAV
+BELIĆ SVETLANA
+BELIĆ TODOR
+BELIĆ VERA
+BELIĆ VESNA
+BELIĆ VLADISLAV
+BELIĆ VLADISLAV
+BELIĆ VOJISLAV
+BELIĆ VUKA
+BELIĆ ZORA
+BELIMARKOVIĆ SLAVOLJUB
+BELINIĆ ĐURA
+BELINSKI ALEKSANDAR
+BELINSKI SPASENIJA
+BELJAKOV MILICA
+BELJANSKI ŽIVKA
+BELJANSKI ŽIVKA
+BELJANSKI ĐORĐE
+BELJANSKI ĐORĐE
+BELJANSKI ĐORĐE
+BELJANSKI ANĐELIJA
+BELJANSKI ANKICA
+BELJANSKI-BAJIĆ KAĆUŠA
+BELJANSKI BORA
+BELJANSKI BORA
+BELJANSKI BORIVOJ
+BELJANSKI DRAGANA
+BELJANSKI DRAGICA
+BELJANSKI EMILIJA
+BELJANSKI GAVRA
+BELJANSKI GORDANA
+BELJANSKI JELISAVETA
+BELJANSKI JOVAN
+BELJANSKI JOVAN
+BELJANSKI JULIJANA
+BELJANSKI LAZAR
+BELJANSKI LAZAR
+BELJANSKI LAZAR
+BELJANSKI LEPOJKA
+BELJANSKI LJUBOMIR
+BELJANSKI MILAN
+BELJANSKI MILENKO
+BELJANSKI MILORAD
+BELJANSKI MILORAD
+BELJANSKI MILUTIN
+BELJANSKI MIRJANA
+BELJANSKI PAVLE
+BELJANSKI RADA
+BELJANSKI RADMILA
+BELJANSKI RADOVAN
+BELJANSKI RANKO
+BELJANSKI RUŽICA
+BELJANSKI SLOBODAN
+BELJANSKI STEVAN
+BELJANSKI TEODOR
+BELJANSKI TOŠA
+BELJANSKI VASILIJE
+BELJANSKI VERA
+BELJANSKI VLADIMIR
+BELJANSKI VLADISLAV
+BELJANSKI VOJISLAV
+BELJANSKI ZAGORKA
+BELJANSKI ZDENKA
+BELJIN ŽIVA
+BELJIN ĐORĐE
+BELJIN BRANISLAVA
+BELJIN DIMITRIJE
+BELJIN MARIJA MAGDALENA
+BELJIN NEDELJKO
+BELJIN RADIVOJ
+BELJIN RADOSLAV
+BELJIN RUŽA
+BELJIN SAVA
+BELJIN SOFIJA
+BELJIN VLADIMIR
+BELJINAC ZORAN
+BELOŠEV NEVENKA
+BELOBRADIĆ MILAN
+BELOBRADIĆ SAVA
+BELOBRK BRANISLAV
+BELOBRK DRAGOSLAV
+BELOBRK LIVIJE
+BELOCIĆ MILENKO
+BELOCIĆ RADMILA
+BELOICA RADOSLAV
+BELOICA VIDAN
+BELOPAVLOVIĆ DRAGA DR
+BELOPAVLOVIĆ MILOJKO
+BELOPAVLOVIĆ ZORAN DR
+BELOPAVLOVIĆ ZORAN DR
+BELOSAVIĆ JELICA
+BELOTI IVANKO
+BELOVARI IVAN
+BELOVIĆ BILJANA
+BELOVIĆ RADA
+BELOVIĆ STEVAN
+BELUŠEVIĆ BOŽIDAR
+BELUŠEVIĆ NOVICA
+BELUŽIĆ DARINKA
+BELUŽIĆ STJEPAN
+BEM IVAN
+BEM JOVAN
+BEM KARLO
+BEM MIROSLAV
+BEMILER MAGDALENA
+BENČIK ĐULA
+BENČIK ILONKA
+BENA MILOSAVA
+BENAŠIĆ VINKO
+BENAK PAL
+BENARIK LASLO
+BENARIK MAGDALENA
+BENC BRANISLAVA
+BENC DRAGAN
+BENCE MARIJA
+BENCE MIHALJ
+BENCE MIKEŠ
+BENCETIĆ ANDRIJA
+BENCETIĆ LJUDEVIT
+BENCUN VELINKA
+BENDEK MILAN
+BENEŠ LJUDMILA
+BENEŽAN LJUBICA
+BENEDEKOVIĆ IVAN
+BENGIN-ĐURKIĆ NEZA
+BENGIN BOŽIDAR
+BENGIN DOBRINKA
+BENGIN DUŠAN
+BENGIN KOVICA
+BENGIN MILAN
+BENIČAK KARLO
+BENIČAK MAGDALENA
+BENIŠEK DRAGUTIN
+BENIĆ EVA
+BENIĆ GRUJICA
+BENIĆ PETAR
+BENIĆ SEKULA
+BENIĆ ZDENKO
+BENIN ŽIVOJIN
+BENJA KATARINA
+BENJAK DRAGOSLAVA
+BENJAK EVICA
+BENKA MARIJA
+BENKA MIHAILO
+BENKE ELZA
+BENKOVIĆ JOCA
+BENKOVIĆ JOCA
+BENO TIBOR
+BENOVIĆ JOSIP
+BENOVIĆ STANA
+BEOČANIN JOVAN
+BEOČANIN MIODRAG
+BEOČANIN PAVLE
+BEODRANSKI DRAGOMIR
+BEODRANSKI STOJAN
+BEOKOVIĆ DAMIR
+BER ALEKSIJE
+BER FRANJO
+BERČEK ĐERĐ
+BERČEK BOŽIDAR
+BERČEK FRANJA
+BERČEK LADISLAV
+BERČEK MARIJA
+BERČEK MIHAILO
+BERČEK OSKAR
+BERČEK SANISLO
+BERĆAN MIRJANA
+BERĆAN PETAR
+BERĆAN SLAVKO
+BERA ĐORĐO
+BERA DRAGAN
+BERAK NEBOJŠA
+BERANOVIĆ ALEKSANDAR
+BERAR ŽIVANA
+BERAR BORIVOJ
+BERAR BRANISLAV
+BERAR BRANISLAV
+BERAR DUŠANKA
+BERAR MILAN
+BERAR MILAN
+BERAR MILAN
+BERAR RADIVOJ
+BERAR SLOBODAN
+BERAR SLOBODAN
+BERAR TIMA
+BERAR VLADIMIR
+BERAROV ĐURICA
+BERBAKOV LJUBICA
+BERBAKOV MARA
+BERBAKOV MILOŠ
+BERBAKOV PETAR
+BERBAKOV STEVAN
+BERBATOVIĆ ŽARKO
+BERBATOVIĆ MIRJANA
+BERBER LJILJANA
+BERBER STEVAN
+BERBERIĆ JELISAVETA
+BERBERIĆ JOVAN
+BERBERIĆ LAZAR
+BERBERIĆ MILUTIN
+BEREŠ ĐORĐE
+BEREŠ DANILO
+BEREŠ ILONA
+BEREŠ JOSIP
+BEREŠ JULIŠKA
+BEREŠ KAROLJ
+BEREŠ KORNEL
+BEREŠ TIBOR
+BEREŠ-TOT KORNEL
+BEREHANIĆ JULKA
+BERENJI EUGEN
+BERENJI JANOŠ
+BERENJI JELENA
+BERENJI MIKLOŠ
+BERENJI MIKLOŠ
+BERENJI ROZALIJA
+BERENJI STEVAN
+BERENJI TIBOR
+BERENTA JOSIP
+BERENTE ILONA
+BERETIĆ ANTUN
+BERETIĆ LADISLAV
+BERETIĆ MARGITA
+BERETKA ŠANDOR
+BERETKA GORDANA
+BERETKA JULIJANA
+BERETKA KARLO
+BERETKA MIHALJ
+BERGEL ĐURA
+BERGEL ANTUN
+BERGER FRANJA DR STOMATOLOG
+BERGER MIROSLAV
+BERIŠA AZIS
+BERIŠA BOJKA
+BERIŠA DEMO
+BERIŠA FAIK
+BERIŠA MIRVETA
+BERIŠA RAGIB
+BERIĆ ŽIVKO
+BERIĆ ANĐELKO
+BERIĆ ANTA
+BERIĆ ANTA
+BERIĆ BERISLAV DR PROF
+BERIĆ BILJANA
+BERIĆ BOŽIDAR
+BERIĆ BOGDAN
+BERIĆ DRAGINJA
+BERIĆ DUŠANKA
+BERIĆ DUŠAN
+BERIĆ GOJKO
+BERIĆ GOJKO
+BERIĆ GOJKO
+BERIĆ ILIJA
+BERIĆ JORDANA
+BERIĆ JOVO
+BERIĆ KOSTA
+BERIĆ MARA
+BERIĆ-MASKAREL KARMENSITA DR
+BERIĆ MILAN
+BERIĆ MILAN
+BERIĆ MILAN
+BERIĆ MILICA MR
+BERIĆ MILIVOJ
+BERIĆ MILORAD
+BERIĆ MILORAD
+BERIĆ MILOVAN
+BERIĆ NADA
+BERIĆ NIKOLA
+BERIĆ PERSIDA
+BERIĆ PETAR
+BERIĆ RADIVOJ
+BERIĆ RAJKO
+BERIĆ RAJKO
+BERIĆ SAVA
+BERIĆ TODE
+BERIĆ VERA
+BERIĆ VERICA
+BERIĆ VESNA DR
+BERIĆ ZORICA
+BERISAVLJEVIĆ RAJKO
+BERISAVLJEVIĆ ZORICA
+BERKEŠ IŠTVAN
+BERKI JOŽEF
+BERKIĆ RUŽICA
+BERKOVIĆ BERISLAV
+BERKOVIĆ DŽAFER
+BERKOVIĆ MIROSLAV
+BERKOVIĆ SLAVOLJUB
+BERLANČIĆ DANIJEL
+BERLOVAN GEORGINA
+BERNACKI ADOLF
+BERNARD ĐORĐE
+BERNHARD ŽARKO
+BERNHARD BOŽIDAR
+BERNHARD BOJANA
+BERNHARD FILIP
+BERNHARD ILIJA
+BERNHARD LJUBAN
+BERNHARD MARIJA
+BERNHARD MILAN
+BERNHARD MILICA DR
+BERNHARD MILORAD
+BERNHARD RADOSLAV
+BERNHARD RAJKO
+BERNHARD SIMO
+BERNHARD TRIVO
+BEROŠ LJUBICA
+BERTA JANOŠ
+BERTA MILICA
+BERTA PAL
+BERTA PETAR
+BERTIĆ TATJANA
+BERTIĆ ZVONKO
+BERTOK JANOŠ
+BERTOK JULIJANA
+BERTOK LAJOŠ
+BERTRON LENKE
+BERUS VJEKOSLAV
+BERZA ALEKSANDAR
+BESEDEŠ JOŽEF
+BESERMENJI ĐORĐE
+BESERMENJI BRANKO
+BESERMENJI DIONIZIJE
+BESERMENJI EUFEMIJA
+BESERMENJI IRENA
+BESERMENJI IVAN
+BESERMENJI KIRIL
+BESERMENJI KSENIJA
+BESERMENJI LEONA
+BESERMENJI MELANIJA
+BESERMENJI OLGA
+BESERMENJI VLADIMIR
+BESERMENJI VLADIMIR
+BESKOROVAJNI VLADIMIR
+BESLAĆ DRAGANA
+BESLAĆ MILUTIN
+BESLAĆ RADMILA
+BESNILOV BOŠKO
+BESNILOV OLIVERA
+BESU SILA
+BESU TODOR
+BESU TRANDAFIR
+BETI STANKO ADVOKAT
+BEUC ŽIVAN
+BEUC MIRA
+BEUC OLGA
+BEZDAN ANA
+BEZDAN FRANJA
+BEZDAN ILDIKO
+BEZDAN IRENA
+BEZDAN JOSIP
+BEZENŠEK NATALIJA
+BEZI KATICA
+BEZJAK MILANKA
+BEZJAK ZDENKO
+BEZULJ ĐORĐE
+BEZULJ LJILJANA PROFESOR
+BIČAK IGNAC
+BIČAK JUSTINA
+BIČAN ANKA
+BIČAN IVICA
+BIČKEI TEREZIJA
+BIĆANIĆ DANICA
+BIĆANIĆ KRISTINA
+BIĆANIĆ MARIJA
+BIĆANIĆ PETAR
+BIĆANIĆ PETRA
+BIBER STEVAN
+BIBERDŽIĆ RADOMIR
+BIBIĆ ALEKSANDAR
+BIBIĆ PAVLE
+BIBIĆ SOFIJA
+BIBIĆ STJEPAN
+BIBIN JUGOSLAV
+BIBIN MILINKO
+BICIKIN MILAN
+BICK DRAGUTIN
+BICO RUŽICA
+BICOK ETELKA
+BICOK MARGITA
+BICOK MARGITA
+BIELČIK LIDIJA
+BIGA BORISLAV
+BIGA MILAN
+BIGA NADA
+BIGA SMILJA
+BIGOVIĆ-ŠIROKI ZORICA
+BIGOVIĆ ANA
+BIGOVIĆ VOJIN
+BIGOVIĆ VOJISLAV
+BIHORAC MIRJANA
+BIJANIĆ MILENKO
+BIJANKO PETAR
+BIJEDIĆ MILORAD
+BIJELIĆ ALEKSA
+BIJELIĆ BRANISLAV
+BIJELIĆ DARA
+BIJELIĆ IVICA
+BIJELIĆ JOVAN
+BIJELIĆ JOVICA
+BIJELIĆ MATO
+BIJELIĆ MILAN
+BIJELIĆ MILE
+BIJELIĆ MILE
+BIJELIĆ MILE
+BIJELIĆ MILE
+BIJELIĆ NOVAK
+BIJELIĆ PERO
+BIJELIĆ RISTO
+BIJELIĆ STOJAN
+BIJELIĆ STOJAN
+BIJELJAC NEDELJKO DIPL ING
+BIJELOVIĆ NOVKA
+BIJUKLIĆ DRAGOSLAV
+BIJUKLIĆ DRAGOSLAV
+BIJUKLIĆ MARINKO
+BIKAR DRAGANA
+BIKAR FEDORA
+BIKAREVIĆ DRAGAN
+BIKIĆ ŽIVAN
+BIKIĆ ĐORĐE
+BIKIĆ DANICA
+BIKIĆ DUŠAN
+BIKIĆ KONSTANTIN
+BIKIĆ LJILJANA
+BIKIĆ MILOVAN
+BIKIĆ MIODRAG
+BIKIĆ NIKOLA
+BIKIĆ PERA
+BIKICKI ĐORĐE
+BIKICKI ALEKSANDAR
+BIKICKI BRANISLAV
+BIKICKI JELICA
+BIKICKI JELICA
+BIKICKI JOVAN
+BIKICKI JOVAN
+BIKICKI KATARINA
+BIKICKI MILOŠ
+BIKICKI MIROSLAV
+BIKICKI RADOJKA
+BIKICKI SINIŠA
+BIKICKI SINIŠA
+BIKICKI VASILIJE
+BIKIT MAGDOLNA
+BIKIT NORBERT
+BIKOVIĆ LJUBICA
+BIKOVIĆ VLADIMIR
+BILČAR HILDA
+BILČAR VERA
+BILA MIRKO
+BILAK MILAN
+BILAK NADA
+BILALOVIĆ SABAHUDIN
+BILANDŽIJA DANICA
+BILANIĆ NADA
+BILANOVIĆ DUŠAN
+BILANOVIĆ GORDANA
+BILANOVIĆ PERO
+BILAS SMILJA
+BILBIJA BOGDAN
+BILBIJA DEJAN
+BILBIJA DRAGAN
+BILBIJA JASNA
+BILBIJA MILAN
+BILBIJA SMILJA
+BILEK MILICA
+BILER ĐORĐE
+BILI JULIJA
+BILIČIĆ STJEPAN
+BILIĆ ANTE
+BILIĆ BRANKICA
+BILIĆ GORDANA
+BILIĆ IVAN DIPL ING
+BILIĆ IVAN
+BILIĆ JAKOV
+BILIĆ JELENA
+BILIĆ MILAN
+BILIĆ MILAN
+BILIĆ MILENKO
+BILIĆ MILORAD
+BILIĆ MIRO
+BILIĆ PREDRAG
+BILIĆ SRĐAN
+BILIĆ STJEPAN
+BILIĆ STRAIN
+BILICKI LASLO
+BILINOVIĆ BORIS
+BILINOVIĆ SAŠA
+BILJANIĆ RADOJKA
+BILJNJA VLADIMIR
+BILOKAPIĆ IVAN
+BILOKAPIĆ JURE
+BILOKAPIĆ STEVAN
+BILUŠIĆ SLAVICA
+BIN ALEKSANDAR
+BIN MUHAMET
+BINAKAJ BAJRAM
+BINDAS ĐURA
+BINDAS DRAGICA
+BINDAS MIHAJLO
+BINDER ARANKA
+BINGOLD DRAGUTIN
+BINGOLD KARLO
+BINGOLD RUDOLF
+BINGULAC ŽIVKO
+BINGULAC BOJANA
+BINGULAC MIRJANA
+BIONDIĆ JELENA
+BIORAC DESIMIR
+BIORAC RANKO
+BIRĆA SRETKO
+BIRCLIN RUŽICA
+BIRDIĆ BELA
+BIREŠ LENKA
+BIREŠ ROZALIJA
+BIRGEMAJER MARIJA
+BIRHMAN ANA
+BIRINJI DENEŠ
+BIRINJI EUGEN
+BIRMANAC DUŠAN
+BIRO ANTON
+BIRO GIZELA
+BIRO GIZELA
+BIRO IŠTVAN
+BIRO ILONA
+BIRO IMRE
+BIRO IMRE
+BIRO KATALIN
+BIRO LAJOŠ
+BIRO MIKLOŠ
+BIRO MILOŠ
+BIROŠEVIĆ MILICA
+BIROVLJEV BRANIMIR
+BIROVLJEV BRANISLAV
+BIROVLJEV MILAN
+BIROVLJEV MILORAD
+BIROVLJEV MILOSAV
+BIROVLJEV MIROSLAV
+BIROVLJEV TODOR DR
+BIROVLJEVIĆ DRAGAN
+BIROVLJEVIĆ LJUBICA
+BIRTA VLADIMIR
+BIRVALSKI DUŠAN
+BISERČIĆ ANDRIJA
+BISERČIĆ DRAGO
+BISERČIĆ MILKANA
+BISIĆ JOVAN
+BISTRICAN OLGA
+BISTROVIĆ ANTON
+BITIĆ DŽEMAIL
+BITO STEVAN
+BIUK MARIJA
+BIVOLAREVIĆ VUKAŠIN
+BIZJAK RENATO
+BIZUMIĆ GEORGIJE
+BIZUMIĆ JELKA
+BIZUMIĆ LAZAR
+BIZUMIĆ MILAN
+BJEDIĆ DESANKA
+BJEDOV ĐUKA
+BJEDOV DRAGO
+BJEDOV NIKOLA
+BJEGOVIĆ DANILKA
+BJEGOVIĆ GOJKO
+BJEKIĆ LUKA
+BJEKIĆ OSTOJA
+BJEKOVIĆ MIRJANA
+BJEKOVIĆ RADE
+BJELAC ĐURA
+BJELAC DRAGAN
+BJELAC DRAGAN
+BJELAC ETELKA
+BJELAJAC DRAGAN
+BJELAJAC MILJA
+BJELAJAC SVETOZAR
+BJELAKOVIĆ RADIVOJE
+BJELANOVIĆ MILOSAV
+BJELANOVIĆ MIRKO
+BJELANOVIĆ RAJKO
+BJELANOVIĆ STANIMIR
+BJELANOVIĆ TANJA
+BJELETIĆ BOGDAN
+BJELETIĆ LJUBICA
+BJELETIĆ LUKA
+BJELI-HADŽIĆ JELICA
+BJELIĆ ĐURA
+BJELIĆ BORISLAV
+BJELIĆ BRANKO
+BJELIĆ DANILKA
+BJELIĆ DMITAR
+BJELIĆ GORDANA
+BJELIĆ JOVAN
+BJELIĆ KATICA
+BJELIĆ KRSTAN
+BJELIĆ LJUBOMIR
+BJELIĆ MILAN
+BJELIĆ MIRKO
+BJELIĆ NEDELJKO
+BJELIĆ OLGA
+BJELIĆ PETAR
+BJELIĆ PETAR
+BJELIĆ SLAVKO
+BJELIĆ SLOBODAN
+BJELIĆ STEVO
+BJELIĆ SVETLANA
+BJELIĆ VERA
+BJELIĆ VLADIMIR
+BJELICA ČEDO
+BJELICA ĐORĐIJA
+BJELICA ALEKSA
+BJELICA BOGDAN
+BJELICA BRANISLAV
+BJELICA DANILO
+BJELICA DOBRIVOJE
+BJELICA DRAGUTIN
+BJELICA GOJKO
+BJELICA GOJKO
+BJELICA JADRANKA
+BJELICA JADRANKA
+BJELICA LUKA
+BJELICA MILAN
+BJELICA MILICA
+BJELICA MIODRAG
+BJELICA NADA
+BJELICA-POPOVIĆ LJUBICA
+BJELICA RAJKO
+BJELICA RAKO
+BJELICA RATKO
+BJELICA SAVKA
+BJELICA SLAVKO
+BJELICA SPASOJE
+BJELICA TIGRAN
+BJELICA VELJKO
+BJELICA VELJKO
+BJELICA VOJO
+BJELICA VUKOSAVA
+BJELICA ZORAN
+BJELINIĆ DARINKA
+BJELINIĆ JOVO
+BJELIVUK GORAN
+BJELIVUK VLADIMIR
+BJELJAC ANA
+BJELJAC BORA
+BJELJAC BRANKO
+BJELJAC MILAN
+BJELJAC MILORAD
+BJELOŠ DANICA
+BJELOŠ MIROSLAV
+BJELOŠ MIROSLAV
+BJELOŠEVIĆ SLAVKO
+BJELOBABA ALEKSANDAR
+BJELOBABA DARA
+BJELOBRK BOŠKO
+BJELOBRK BOŠKO
+BJELOBRK GORAN
+BJELOBRK LAZAR
+BJELOBRK LAZAR
+BJELOBRK MANE
+BJELOBRK MARKO
+BJELOBRK MILAN
+BJELOBRK MILOŠ
+BJELOBRK PETAR
+BJELOBRK-VARGA JASNA
+BJELOGRLIĆ ĐORĐE
+BJELOGRLIĆ BLAGOJE
+BJELOGRLIĆ DEJANA
+BJELOGRLIĆ DRAGAN
+BJELOGRLIĆ LJUBICA
+BJELOGRLIĆ LJUBO
+BJELOGRLIĆ MITAR
+BJELOGRLIĆ MOMČILO
+BJELOTOMIĆ JOVO
+BJELOVIĆ RATKO
+BJELOVUK MIRJANA
+BJELOVUK SLAVICA
+BJELOVUK SLAVKO
+BLAŠKO TIBOR
+BLAŠKOVIĆ FRANJO
+BLAŠKOVIĆ LASLO
+BLAŠKOVIĆ PAVLE
+BLAŽAN FRANJO
+BLAŽAN IVO
+BLAŽAN MARKO
+BLAŽAN SLAVKO
+BLAŽEK GUSTAV
+BLAŽEK JELENA
+BLAŽEK MARIJA
+BLAŽEK MIHALJ
+BLAŽEVA OLGA
+BLAŽEVIĆ ANDRIJA
+BLAŽEVIĆ DRAGANA
+BLAŽEVIĆ DRAGO
+BLAŽEVIĆ DUŠANKA
+BLAŽEVIĆ DUŠICA
+BLAŽEVIĆ DUBRAVKA
+BLAŽEVIĆ FRANJO
+BLAŽEVIĆ MIODRAG
+BLAŽEVIĆ RADE DR LEKAR
+BLAŽEVIĆ STJEPAN
+BLAŽEVIĆ SUZANA
+BLAŽEVIĆ VERA
+BLAŽEVIĆ ZORAN
+BLAŽIĆ ĐORĐE
+BLAŽIĆ BOŠKO
+BLAŽIĆ BRANISLAVA
+BLAŽIĆ DRAGAN
+BLAŽIĆ DRAGAN
+BLAŽIĆ DRAGOLJUB
+BLAŽIĆ HRISTINA
+BLAŽIĆ IVAN
+BLAŽIĆ JELENA
+BLAŽIĆ KSENIJA
+BLAŽIĆ MARIJA
+BLAŽIĆ METODIJE
+BLAŽIĆ MIHAJLO
+BLAŽIĆ SAVA
+BLAŽIĆ SAVKO
+BLAŽIĆ SVETOZAR
+BLAŽIĆ VIDA
+BLAŽIK ANTAL
+BLAŽIN DRAGINJA
+BLAGOJEV ŽIVKO
+BLAGOJEV ŽIVKO
+BLAGOJEV ĐORĐE
+BLAGOJEV IVAN
+BLAGOJEV MILIVOJ
+BLAGOJEV MILORAD
+BLAGOJEV MITA
+BLAGOJEV RADA
+BLAGOJEV RADOSLAV
+BLAGOJEV STEVAN
+BLAGOJEV VELIMIR
+BLAGOJEVIĆ ČEDO
+BLAGOJEVIĆ ŽARKO
+BLAGOJEVIĆ ĐORĐE
+BLAGOJEVIĆ ĐORĐE
+BLAGOJEVIĆ ANA
+BLAGOJEVIĆ BEĆKO
+BLAGOJEVIĆ BORA
+BLAGOJEVIĆ BORISLAV
+BLAGOJEVIĆ BORIVOJE
+BLAGOJEVIĆ BORIVOJ
+BLAGOJEVIĆ BORKO
+BLAGOJEVIĆ BRANISLAV
+BLAGOJEVIĆ DANICA
+BLAGOJEVIĆ DRAGOMIR
+BLAGOJEVIĆ DUŠAN DIPL ING
+BLAGOJEVIĆ DUŠAN
+BLAGOJEVIĆ JAGICA
+BLAGOJEVIĆ JANKO
+BLAGOJEVIĆ KRSTAN
+BLAGOJEVIĆ LJUBOMIR
+BLAGOJEVIĆ MARINKO
+BLAGOJEVIĆ MIKA
+BLAGOJEVIĆ MIKA
+BLAGOJEVIĆ MILAN
+BLAGOJEVIĆ MILAN
+BLAGOJEVIĆ MILAN
+BLAGOJEVIĆ MILENA
+BLAGOJEVIĆ MILICA
+BLAGOJEVIĆ MILIVOJE
+BLAGOJEVIĆ MILOŠ
+BLAGOJEVIĆ MIROSLAV
+BLAGOJEVIĆ MLAĐA
+BLAGOJEVIĆ MOMIR
+BLAGOJEVIĆ NADA
+BLAGOJEVIĆ PREDRAG
+BLAGOJEVIĆ RADE
+BLAGOJEVIĆ RADOMIR
+BLAGOJEVIĆ SERAFINA
+BLAGOJEVIĆ SLOBODAN
+BLAGOJEVIĆ SLOBODAN
+BLAGOJEVIĆ SLOBODAN
+BLAGOJEVIĆ SNEŽANA
+BLAGOJEVIĆ SNJEŽANA
+BLAGOJEVIĆ STANKO
+BLAGOJEVIĆ STEVO
+BLAGOJEVIĆ SVETKO
+BLAGOJEVIĆ VLADISLAV
+BLAGOVIĆ MARIJA
+BLAHO JOŽEF
+BLANARIK ŠANDOR
+BLANARIK ĐURA
+BLANARIK ALEKSANDAR
+BLANARIK ETELKA
+BLANARIK ILONA
+BLANARIK JOŽEF
+BLANARIK LADISLAV
+BLANARIK OLGA
+BLANARIK STEVAN
+BLANARIK TIBOR
+BLANARIK VALERIJA
+BLANUŠA BRANKO
+BLANUŠA ILIJA
+BLANUŠA RADE
+BLANUŠA VERA
+BLANUŠA ZORAN
+BLATEŠIĆ MIOLJKA
+BLATEŠIĆ RAJKO
+BLATNICKI VESNA
+BLEČIĆ JELENA
+BLEČIĆ LJUBICA
+BLEČIĆ MILADIN
+BLEČIĆ MIODRAG
+BLEČIĆ RADOSAV MR
+BLEČIĆ SAŠA
+BLEHL JOVANKA
+BLITVA ĐORĐE
+BLITVA BRANKO
+BLIZANAC DOBRIVOJ
+BLIZANAC DRAGOLJUB
+BLIZANAC DUŠAN
+BLIZANAC JELKICA
+BLIZANAC LEPOSAVA
+BLIZANAC MILORAD
+BLIZANAC MIROSLAV
+BLIZANAC NENAD
+BLIZANAC SAVA
+BLIZANAC VUJICA
+BLOŽIĆ DIMITRIJE
+BLUMENŠAJN KARLO
+BOČAN IVAN
+BOČKOR NIKOLA
+BOŠČANIN BOŠKO
+BOŠKIĆ BORKA
+BOŠKIĆ MIRJANA
+BOŠKIĆ NATAŠA
+BOŠKIĆ ZORA
+BOŠKOV ŽARKO DIPL ING
+BOŠKOV ŽIVOJIN
+BOŠKOV-JAGODIĆ ZORICA
+BOŠKOV LJUBINKA
+BOŠKOV LUKA
+BOŠKOV MILIVOJE
+BOŠKOV MILOŠ
+BOŠKOV MIRJANA
+BOŠKOV SAVKA
+BOŠKOV SOFIJA
+BOŠKOV SRETEN
+BOŠKOV STEVAN
+BOŠKOV STOJAN
+BOŠKOV VESNA
+BOŠKOV VUJADIN
+BOŠKOVIĆ ŽELJKO
+BOŠKOVIĆ ŽIVKO
+BOŠKOVIĆ ALEKSANDAR
+BOŠKOVIĆ ALEKSA
+BOŠKOVIĆ ALEKSA
+BOŠKOVIĆ ANĐA
+BOŠKOVIĆ BILJANA
+BOŠKOVIĆ BLAGOJE
+BOŠKOVIĆ BOŠKO
+BOŠKOVIĆ BOGDANKA
+BOŠKOVIĆ BOGDAN
+BOŠKOVIĆ BORIS
+BOŠKOVIĆ BUDIMIR
+BOŠKOVIĆ CVETKO
+BOŠKOVIĆ DANILO
+BOŠKOVIĆ DESANKA
+BOŠKOVIĆ DRAGAN
+BOŠKOVIĆ DRAGICA
+BOŠKOVIĆ DRAGOJLO
+BOŠKOVIĆ DRAGOLJUB
+BOŠKOVIĆ DRAGOMIR
+BOŠKOVIĆ DRAGOMIR
+BOŠKOVIĆ DUŠAN
+BOŠKOVIĆ DUŠAN
+BOŠKOVIĆ DUŠKO
+BOŠKOVIĆ GORAN
+BOŠKOVIĆ GORAN
+BOŠKOVIĆ HEDVIGA
+BOŠKOVIĆ JOVAN
+BOŠKOVIĆ KRSTO
+BOŠKOVIĆ LJILJANA
+BOŠKOVIĆ LJUBIŠA
+BOŠKOVIĆ LJUBINKA
+BOŠKOVIĆ LJUBOMIR
+BOŠKOVIĆ LJUBOMIR
+BOŠKOVIĆ MILEVA
+BOŠKOVIĆ MILIVOJE
+BOŠKOVIĆ MILIVOJE
+BOŠKOVIĆ MILORAD
+BOŠKOVIĆ MILORAD
+BOŠKOVIĆ MILORAD
+BOŠKOVIĆ MILORAD
+BOŠKOVIĆ MILOVAN
+BOŠKOVIĆ MIODRAG
+BOŠKOVIĆ MIRKO
+BOŠKOVIĆ MOMČILO
+BOŠKOVIĆ MOMČILO
+BOŠKOVIĆ NADA
+BOŠKOVIĆ NADA
+BOŠKOVIĆ NEDELJKO
+BOŠKOVIĆ NIKOLA
+BOŠKOVIĆ NIKOLA
+BOŠKOVIĆ NOVKA
+BOŠKOVIĆ-PEROVIĆ IVANA
+BOŠKOVIĆ PETAR
+BOŠKOVIĆ PETAR
+BOŠKOVIĆ PETAR
+BOŠKOVIĆ PETAR
+BOŠKOVIĆ PETAR
+BOŠKOVIĆ RADOMIR
+BOŠKOVIĆ RATOMIR
+BOŠKOVIĆ ROSA
+BOŠKOVIĆ SAVA
+BOŠKOVIĆ SLOBODANKA
+BOŠKOVIĆ SLOBODAN
+BOŠKOVIĆ SLOBODAN
+BOŠKOVIĆ STEVAN ADVOKAT
+BOŠKOVIĆ STEVAN
+BOŠKOVIĆ STEVAN
+BOŠKOVIĆ TOMISLAV
+BOŠKOVIĆ TOMISLAV
+BOŠKOVIĆ VELJKO
+BOŠKOVIĆ VLADA
+BOŠKOVIĆ VLADIMIR
+BOŠKOVIĆ VOJISLAV
+BOŠKOVSKI DOJČIN
+BOŠKOVSKI RADA
+BOŠNJAČIĆ RAJKO
+BOŠNJAK ĐORĐE
+BOŠNJAK ĐURA
+BOŠNJAK ĐURO
+BOŠNJAK ANA
+BOŠNJAK BOŽIDAR
+BOŠNJAK DARKO
+BOŠNJAK DEJAN
+BOŠNJAK DESANKA
+BOŠNJAK FERENC
+BOŠNJAK IŠTVAN
+BOŠNJAK JELENA
+BOŠNJAK JELICA
+BOŠNJAK JELICA
+BOŠNJAK JULKA
+BOŠNJAK KATARINA
+BOŠNJAK KOSTA
+BOŠNJAK LJUBOMIR
+BOŠNJAK LJUBOMIR
+BOŠNJAK MAGDALENA
+BOŠNJAK MARIJA
+BOŠNJAK MILAN
+BOŠNJAK MILENA
+BOŠNJAK MILORAD
+BOŠNJAK MIRKO
+BOŠNJAK NEĐO
+BOŠNJAK NIKOLA
+BOŠNJAK PAVLE
+BOŠNJAK PETAR
+BOŠNJAK RADMILA
+BOŠNJAK RADOJKA
+BOŠNJAK RADOVAN
+BOŠNJAK SLAVKA
+BOŠNJAK SLAVKO
+BOŠNJAK TOMISLAV
+BOŠNJAK VELIMIR
+BOŠNJAK VIDOSAVA
+BOŠNJAK VINKA
+BOŠNJAK VOJISLAV
+BOŠNJAK ZORAN
+BOŠNJAKOVIĆ ALEKSANDAR DIPL ING
+BOŠNJAKOVIĆ ALEKSANDAR DIPL PRAVNIK
+BOŠNJAKOVIĆ ANTONIJA
+BOŠNJAKOVIĆ BILJANA
+BOŠNJAKOVIĆ BORISLAV
+BOŠNJAKOVIĆ BORISLAV
+BOŠNJAKOVIĆ BRANKA
+BOŠNJAKOVIĆ CVIJETIN
+BOŠNJAKOVIĆ DOBRINKA
+BOŠNJAKOVIĆ KORNELIJE
+BOŠNJAKOVIĆ LJUBOMIR
+BOŠNJAKOVIĆ MARICA DIPL OEC
+BOŠNJAKOVIĆ MILUTIN
+BOŠNJAKOVIĆ MIROSLAV
+BOŠNJAKOVIĆ MITAR
+BOŠNJAKOVIĆ PAVAO
+BOŠNJAKOVIĆ RADOSLAV
+BOŠNJAKOVIĆ RATKO
+BOŠNJAKOVIĆ SINIŠA
+BOŠNJAKOVIĆ SLAVKA
+BOĆAN MARIJA
+BOĆEREG ZUZANA
+BOŽA PAL
+BOŽANIĆ ŽIKA
+BOŽANIĆ ĐORĐE
+BOŽANIĆ ANĐELKA
+BOŽANIĆ DUŠAN
+BOŽANIĆ GOJKO
+BOŽANIĆ JELENA
+BOŽANIĆ KOSA
+BOŽANIĆ MILICA
+BOŽANIĆ MILORAD
+BOŽANIĆ NEVENKA
+BOŽANOVIĆ RAJKA
+BOŽANOVIĆ ZORAN
+BOŽER LAJOŠ
+BOŽER LJUDEVIT
+BOŽER ZORA
+BOŽIČIĆ MILAN
+BOŽIČIĆ MILENKO
+BOŽIČIĆ PETAR
+BOŽIČKOVIĆ JOVAN
+BOŽIČKOVIĆ NEDELJKO DR
+BOŽIČKOVIĆ NERA
+BOŽIČKOVIĆ VOJISLAV
+BOŽIČKOVIĆ ZORKA
+BOŽIĆ ČEDOMIR
+BOŽIĆ ŽARKO
+BOŽIĆ ŽIVANA
+BOŽIĆ ŽIVKO
+BOŽIĆ ĐORĐE
+BOŽIĆ ĐURĐINA
+BOŽIĆ ĐURA
+BOŽIĆ ALEKSANDAR
+BOŽIĆ ALEKSANDAR
+BOŽIĆ ANĐELKA
+BOŽIĆ BOŠKO
+BOŽIĆ BOŽANA
+BOŽIĆ BORIVOJ
+BOŽIĆ BORKO
+BOŽIĆ BRANISLAV
+BOŽIĆ BRANISLAV
+BOŽIĆ DARINKA
+BOŽIĆ DEJO
+BOŽIĆ DESANKA
+BOŽIĆ DRAGAN
+BOŽIĆ DRAGAN
+BOŽIĆ DRAGAN
+BOŽIĆ DRAGAN
+BOŽIĆ DRAGOLJUB
+BOŽIĆ DRAGOMIR
+BOŽIĆ DRAGOMIR
+BOŽIĆ DRAGOMIR
+BOŽIĆ DUŠAN
+BOŽIĆ GAVRO
+BOŽIĆ GOJKO
+BOŽIĆ GORDANA
+BOŽIĆ GORDANA
+BOŽIĆ GRADIMIR
+BOŽIĆ ILIJA
+BOŽIĆ IVAN
+BOŽIĆ JOVANKA
+BOŽIĆ JOVAN
+BOŽIĆ JOVAN
+BOŽIĆ JOVICA
+BOŽIĆ JULKA
+BOŽIĆ KSENIJA
+BOŽIĆ LAZAR
+BOŽIĆ LAZAR
+BOŽIĆ LJILJANA
+BOŽIĆ MARA
+BOŽIĆ MARINKO
+BOŽIĆ MARKO
+BOŽIĆ MARKO
+BOŽIĆ MARKO
+BOŽIĆ MATIJA
+BOŽIĆ MILAN
+BOŽIĆ MILAN
+BOŽIĆ MILAN
+BOŽIĆ MILAN
+BOŽIĆ MILAN
+BOŽIĆ MILAN
+BOŽIĆ MILEVA
+BOŽIĆ MILE
+BOŽIĆ MILISAV
+BOŽIĆ MILJKO
+BOŽIĆ MILORAD
+BOŽIĆ MIODRAG
+BOŽIĆ MIRJANA
+BOŽIĆ MIRKO
+BOŽIĆ MIRKO
+BOŽIĆ MOMČILO
+BOŽIĆ MOMČILO
+BOŽIĆ NEĐO
+BOŽIĆ NENAD
+BOŽIĆ NENAD
+BOŽIĆ NIKOLA
+BOŽIĆ OLGA
+BOŽIĆ OZREN
+BOŽIĆ PAVLE DIPL ING
+BOŽIĆ PERA
+BOŽIĆ PETAR
+BOŽIĆ RADIVOJ
+BOŽIĆ RADMILA
+BOŽIĆ-RADOMIROVIĆ JOKA
+BOŽIĆ RADOVAN
+BOŽIĆ RAJKO
+BOŽIĆ RANKO
+BOŽIĆ SANJA
+BOŽIĆ SAVA
+BOŽIĆ SAVA
+BOŽIĆ SAVO
+BOŽIĆ SLOBODAN
+BOŽIĆ SLOBODAN
+BOŽIĆ SRETEN
+BOŽIĆ STANIMIR
+BOŽIĆ STEVAN
+BOŽIĆ STEVO
+BOŽIĆ STOJANKA
+BOŽIĆ TAMARA
+BOŽIĆ TATJANA
+BOŽIĆ TEODOR
+BOŽIĆ TOMISLAV
+BOŽIĆ VERICA
+BOŽIĆ-VILIĆ JELENA
+BOŽIĆ VLADANKA
+BOŽIĆ VLADA
+BOŽIĆ VLADA
+BOŽIĆ VLADA
+BOŽIĆ VLADISLAV
+BOŽIĆ VUKOSAVA
+BOŽIĆ ZLATA
+BOŽIĆ ZLATICA
+BOŽIĆ ZORAN
+BOŽIĆ ZORAN
+BOŽIĆ ZORAN
+BOŽIĆ ZORAN
+BOŽIĆ ZORKA
+BOŽIDAR ALEKSANDAR
+BOŽIDAR BORISLAV
+BOŽIDAR BORISLAV
+BOŽIDAR-KRIŽAK IRENA
+BOŽIDAR LJUBOMIR
+BOŽIDAREVIĆ ĐURA
+BOŽIDAREVIĆ DESANKA
+BOŽIDAREVIĆ PERSIDA
+BOŽIDAREVIĆ VELJKO
+BOŽIN ŽARKO
+BOŽIN ĐORĐE
+BOŽIN DANICA
+BOŽIN DARINKA
+BOŽIN DESANKA
+BOŽIN IGNJAT DIPL ING
+BOŽIN ISIDOR
+BOŽIN JELICA
+BOŽIN JULIJANA
+BOŽIN KRISTINA
+BOŽIN KSENIJA
+BOŽIN LAZAR
+BOŽIN LJUBICA
+BOŽIN LJUBICA
+BOŽIN MILOŠ
+BOŽIN MILOŠ
+BOŽIN MIROSLAV
+BOŽIN NIKOLA
+BOŽIN PAVLE
+BOŽIN PETAR
+BOŽIN RADIVOJ
+BOŽIN RADOVAN
+BOŽIN SINIŠA
+BOŽIN SLAVICA
+BOŽIN SLOBODAN
+BOŽIN STEVAN
+BOŽIN STEVAN
+BOŽIN STEVAN
+BOŽINIĆ RUŽICA
+BOŽINOVSKI ANGEL
+BOŽINOVSKI RISTE
+BOŽINOVSKI TRAJAN
+BOŽJAK FRANJO
+BOŽJAK MIKA
+BOŽJAKOVIĆ LJUBINKA
+BOŽO ELEONORA
+BOŽOKI ERNE
+BOŽOKI ILONA
+BOŽOVIĆ BOŽIDAR
+BOŽOVIĆ BORIVOJ
+BOŽOVIĆ BRATISLAV
+BOŽOVIĆ GORČIN
+BOŽOVIĆ GORDANA
+BOŽOVIĆ LJUBICA
+BOŽOVIĆ MILADIN DIPL ING
+BOŽOVIĆ MILADIN
+BOŽOVIĆ MILORAD
+BOŽOVIĆ MILOVAN
+BOŽOVIĆ MIRJANA
+BOŽOVIĆ MIROLJUB
+BOŽOVIĆ RAŠKO
+BOŽOVIĆ SLAVKO
+BOŽOVIĆ SNEŽANA
+BOŽOVIĆ STANKA
+BOŽOVIĆ VELIMIR
+BOŽOVIĆ VERA
+BOŽOVIĆ VLADIMIR
+BOŽULIĆ ANĐELKO
+BOŽULIĆ IVAN
+BOŽULIĆ IVICA
+BOŽULIĆ SINIŠA
+BOŽUNOVIĆ DUŠAN
+BOĐA ĐURA
+BOĐA ANDRIJA
+BOĐA ANDRIJA
+BOĐA ANDRIJA
+BOĐA IVAN
+BOĐA IVAN
+BOĐA JOVAN
+BOĐA SAŠA
+BOĐA STEVAN
+BOĐANAC JELENA
+BOĐANAC MIROSLAV
+BOĐANAC ZDRAVKO
+BOĐANSKI ALEKSANDAR
+BOAROV DIMITRIJE
+BOAROV JOVAN
+BOAROV KATARINA
+BOAROV MILANKA
+BOB JUSTINA
+BOBAK IŠTVAN
+BOBAK KATICA
+BOBAN ĐERĐ
+BOBAN MARIJA
+BOBAN MERIMA
+BOBAN NEDELJKO
+BOBAN STIPE
+BOBAN SUZANA
+BOBAN-VARNUS ERŽEBET
+BOBANJ IMRE
+BOBAR BOŠKO
+BOBAREVIĆ RUŽICA
+BOBERIĆ OLGA
+BOBERIĆ ZORKA
+BOBIĆ ĐORĐE
+BOBIĆ ĐORĐE
+BOBIĆ BOGDAN
+BOBIĆ BRANISLAV
+BOBIĆ IVAN
+BOBIĆ JOSIP
+BOBIĆ KAJA
+BOBIĆ LJUBOMIR
+BOBIĆ MILANKA
+BOBIĆ MILICA
+BOBIĆ MLADEN
+BOBIĆ NENAD
+BOBIĆ RUŽICA
+BOBIĆ TANJA
+BOBINAC JOSIP
+BOBINAC LUCIJA
+BOBINEC JOSIP
+BOBLJAGOVIĆ BOGOSLAV
+BOBOŠ STANKO
+BOC STEVAN
+BOCA DANE
+BOCA DUŠAN
+BOCA MILE
+BOCA MILOŠ
+BOCONADI MARTON
+BODŽONI GIZELA
+BODŽONI STEVAN
+BODA JOVAN
+BODAKOŠ JOSIP
+BODAKOŠ STJEPAN
+BODEGRAJAC SOFIJA
+BODI ERŽEBET
+BODI JASMINA
+BODI LAJOŠ
+BODI LASLO
+BODI MIHAJLO
+BODIŠ JOŽEF
+BODIŠ MILICA
+BODIROŽA PETAR
+BODIROŽA RADIVOJ
+BODIROGA JOVAN
+BODIROGA MARIJA
+BODIROGA NIKO
+BODIROGA PREDRAG
+BODLOVIĆ NIKOLA
+BODNAR ŠANDOR
+BODNAR RISTA
+BODNAR STEVAN
+BODNAR VERICA
+BODO IŠTVAN
+BODO KAROLJ
+BODO MARIJA
+BODO MARIJA
+BODO MATIJA
+BODO STEVAN
+BODOČI JOŽEF
+BODOLO ŠANDOR
+BODOLO IŠTVAN
+BODONJI KARLO
+BODOR ANTON
+BODOR ANTUN
+BODOR BOSILJKA
+BODOR FRANJA
+BODOR FRANJA
+BODOR IŠTVAN
+BODOR JANOŠ
+BODOR JOSIP
+BODOR PETAR
+BODOR SINIŠA
+BODRE IŠTVAN
+BODRIČ-HERĆAN ARANKA
+BODRIČ MIHAJLO
+BODRIČ STEVAN
+BODRIČ VESNA
+BODRIĆ JELISAVETA
+BODROŽA BRANKO
+BODROŽA OLGA
+BODROŽIĆ ILIJA
+BODROŽIĆ ILIJA
+BODROŽIĆ JOVAN
+BODROŽIĆ MILAN
+BODROŽIĆ STEVAN
+BODULIĆ ŠTEFANIJA
+BODULIĆ JELENA
+BODULIĆ PETAR
+BODULIĆ SLOBODAN
+BODULIĆ SLOBODAN
+BODVAI JANKO
+BOGAROŠI SLOBODAN
+BOGAROŠKI ANDRIJA
+BOGATINOSKI TOMISLAV
+BOGAVAC ALEKSANDAR DR
+BOGAVAC BRANISLAV
+BOGAVAC DRAGICA
+BOGAVAC JADRANKA
+BOGAVAC MIRJANA
+BOGDAN ANDRAŠ
+BOGDAN BILJANA
+BOGDAN DUŠAN
+BOGDAN IŠTVAN
+BOGDAN IMRE
+BOGDAN IVAN
+BOGDAN JOSIP
+BOGDAN JOSIP
+BOGDAN MANE
+BOGDAN-MIJIN DUŠANKA
+BOGDAN MILKA
+BOGDAN NIKOLA
+BOGDAN STEVAN
+BOGDAN STEVA
+BOGDAN VERICA
+BOGDAN ZORAN
+BOGDANFI ŠANDOR NOVINAR
+BOGDANFI MARINKO
+BOGDANOV-ANTONIĆ BILJANA
+BOGDANOV BISERKA
+BOGDANOV BRANISLAV DR PROF
+BOGDANOV BRANKA DR LEKAR
+BOGDANOV DANILO
+BOGDANOV DIMITRIJE
+BOGDANOV DRAGAN
+BOGDANOV DUŠAN
+BOGDANOV-HIL DOBRILA
+BOGDANOV IRMA
+BOGDANOV IVAN
+BOGDANOV LAZAR
+BOGDANOV MARICA
+BOGDANOV MILAN
+BOGDANOV MILENA
+BOGDANOV MILOŠ
+BOGDANOV MILORAD
+BOGDANOV NADA
+BOGDANOV OLGA
+BOGDANOV PETAR
+BOGDANOV SLAVKO
+BOGDANOV SLAVNA
+BOGDANOV SMILJA
+BOGDANOV STANKO
+BOGDANOV STEVAN
+BOGDANOV STEVAN
+BOGDANOV ZORAN
+BOGDANOVIĆ ŽIVAN MR
+BOGDANOVIĆ ĐORĐE
+BOGDANOVIĆ ĐORĐE
+BOGDANOVIĆ ĐURA
+BOGDANOVIĆ ALEKSANDAR
+BOGDANOVIĆ ANKA
+BOGDANOVIĆ BLAGOJA
+BOGDANOVIĆ BOŠKO
+BOGDANOVIĆ BOŽIDAR
+BOGDANOVIĆ BOGDAN
+BOGDANOVIĆ BORA
+BOGDANOVIĆ BORIVOJ
+BOGDANOVIĆ BRANISLAVA
+BOGDANOVIĆ BRANISLAV
+BOGDANOVIĆ BRANISLAV
+BOGDANOVIĆ BRANISLAV
+BOGDANOVIĆ BRANISLAV
+BOGDANOVIĆ BRANKO
+BOGDANOVIĆ DARINKA
+BOGDANOVIĆ DESANKA
+BOGDANOVIĆ DIMITRIJE
+BOGDANOVIĆ DOBRIVOJ
+BOGDANOVIĆ DRAGAN
+BOGDANOVIĆ DRAGAN
+BOGDANOVIĆ DRAGOLJUB
+BOGDANOVIĆ DRAGOLJUB
+BOGDANOVIĆ DUŠKO
+BOGDANOVIĆ ETELKA
+BOGDANOVIĆ GEDEON
+BOGDANOVIĆ GOJKO
+BOGDANOVIĆ GORDANA
+BOGDANOVIĆ ILIJA
+BOGDANOVIĆ ILONA
+BOGDANOVIĆ IVAN
+BOGDANOVIĆ JOVAN
+BOGDANOVIĆ JOVICA
+BOGDANOVIĆ KSENIJA
+BOGDANOVIĆ LAZAR
+BOGDANOVIĆ LAZAR
+BOGDANOVIĆ LJILJANA
+BOGDANOVIĆ LJUBISAV
+BOGDANOVIĆ LJUBOMIR
+BOGDANOVIĆ LJUBOMIR
+BOGDANOVIĆ MARINA
+BOGDANOVIĆ MIĆO
+BOGDANOVIĆ MIHAJLO
+BOGDANOVIĆ MILAN
+BOGDANOVIĆ MILAN
+BOGDANOVIĆ MILAN
+BOGDANOVIĆ MILAN
+BOGDANOVIĆ MILKA
+BOGDANOVIĆ MILOŠ
+BOGDANOVIĆ MILOSAV
+BOGDANOVIĆ MIODRAG
+BOGDANOVIĆ MIRJANA
+BOGDANOVIĆ MITAR
+BOGDANOVIĆ MLADEN
+BOGDANOVIĆ NADA
+BOGDANOVIĆ NADA
+BOGDANOVIĆ NEDELJKO
+BOGDANOVIĆ NIKOLA
+BOGDANOVIĆ NIKOLA
+BOGDANOVIĆ NOVAK
+BOGDANOVIĆ PAJA
+BOGDANOVIĆ PAVLE
+BOGDANOVIĆ PAVLE
+BOGDANOVIĆ PETAR
+BOGDANOVIĆ PETAR
+BOGDANOVIĆ PETAR
+BOGDANOVIĆ PETAR
+BOGDANOVIĆ PRVOSLAV
+BOGDANOVIĆ RADISAV
+BOGDANOVIĆ RADIVOJE
+BOGDANOVIĆ RADOSLAV
+BOGDANOVIĆ RADOVAN
+BOGDANOVIĆ RANKO
+BOGDANOVIĆ RATOMIR
+BOGDANOVIĆ RUŽICA
+BOGDANOVIĆ SLAVKO MR PRAVNIK
+BOGDANOVIĆ SLOBODANKA PROFESOR
+BOGDANOVIĆ SLOBODAN
+BOGDANOVIĆ SLOBODAN
+BOGDANOVIĆ SOFIJA
+BOGDANOVIĆ SONJA
+BOGDANOVIĆ STEVAN
+BOGDANOVIĆ STEVAN
+BOGDANOVIĆ STEVO
+BOGDANOVIĆ SVETISLAV
+BOGDANOVIĆ TIHOMIR
+BOGDANOVIĆ TIHOMIR
+BOGDANOVIĆ VAJA
+BOGDANOVIĆ VASA
+BOGDANOVIĆ VERA
+BOGDANOVIĆ VITOMIR
+BOGDANOVIĆ VLADIMIR
+BOGDANOVIĆ VLAJKO
+BOGDANOVIĆ ZDRAVKO
+BOGDANOVIĆ ZORAN
+BOGDANOVSKI DIMITRIJE
+BOGDANOVSKI SLOBODAN
+BOGETIĆ DRAGOLJUB
+BOGETIĆ SANJA
+BOGIČEVIĆ ŽIVKO
+BOGIČEVIĆ ANĐELKA
+BOGIČEVIĆ DANICA
+BOGIČEVIĆ DUŠAN
+BOGIČEVIĆ GEORGIJE
+BOGIČEVIĆ KOSTADINKA
+BOGIČEVIĆ KRSTA
+BOGIČEVIĆ LJUBIŠA
+BOGIČEVIĆ LJUBICA
+BOGIČEVIĆ MARIJA
+BOGIČEVIĆ MILICA
+BOGIČEVIĆ NIKOLA
+BOGIČEVIĆ NIKOLA
+BOGIČEVIĆ TIHOMIR
+BOGIČEVIĆ ZORKA
+BOGIŠIĆ ANDRIJA
+BOGIŠIĆ FRANJA
+BOGIŠIĆ JOSIP
+BOGIĆ ALEKSANDAR
+BOGIĆ ANĐELKA
+BOGIĆ BRANISLAV
+BOGIĆ DIMITRIJE
+BOGIĆ DRAGAN
+BOGIĆ DUŠANKA
+BOGIĆ ILDIKO
+BOGIĆ JELENA
+BOGIĆ JELISAVETA
+BOGIĆ JOVAN
+BOGIĆ LJUBICA
+BOGIĆ MARIJA
+BOGIĆ MILAN
+BOGIĆ MIRJANA
+BOGIĆ SOFIJA
+BOGIĆ SREĆKO
+BOGIĆ STEVAN
+BOGIĆEVIĆ ŽELJKA
+BOGIĆEVIĆ ANĐELKA
+BOGIĆEVIĆ BRANISLAV
+BOGIĆEVIĆ DIMITRIJE
+BOGIĆEVIĆ JELISAVETA
+BOGIĆEVIĆ JELKA
+BOGIĆEVIĆ JOLETA
+BOGIĆEVIĆ KONSTANTIN
+BOGIĆEVIĆ MILAN
+BOGNAR ŠANDOR
+BOGNAR ALEKSANDAR DIPL ING
+BOGNAR ANTAL
+BOGNAR ELIZABETA
+BOGNAR ELIZABETA
+BOGNAR GIZELA
+BOGNAR JOŽEF
+BOGNAR KALMAN
+BOGNAR LAJOŠ
+BOGNAR MARIA
+BOGNAR MARIJA
+BOGNAR MIRKO
+BOGNAR ROZIKA
+BOGNAR SILARD
+BOGNAR STEVAN DR
+BOGOJEV ŽIVKO
+BOGOJEVAC ERŽEBET
+BOGOJEVAC JOVAN
+BOGOJEVIĆ ANGELINA
+BOGOJEVIĆ BILJANA
+BOGOJEVIĆ BOŽO
+BOGOJEVIĆ BRANISLAV
+BOGOJEVIĆ BRANKO
+BOGOJEVIĆ DRAGO
+BOGOJEVIĆ JOVANKA
+BOGOJEVIĆ LAZO
+BOGOJEVIĆ LJUBISAV
+BOGOJEVIĆ MILAN
+BOGOJEVIĆ MILORAD
+BOGOJEVIĆ MITAR
+BOGOJEVIĆ MOMČILO
+BOGOJEVIĆ RADMILA
+BOGOJEVIĆ RADOJKA
+BOGOJEVIĆ RADOMIR
+BOGOJEVIĆ RADOMIR
+BOGOJEVIĆ RAJKO
+BOGOJEVIĆ STANIJA
+BOGOJEVIĆ TODOR
+BOGOJEVIĆ VELIMIR
+BOGOJEVIĆ VLADA
+BOGOJEVIĆ VLADICA
+BOGOJEVIĆ VLAJKO
+BOGOSAV MILAN
+BOGOSAVAC MIROSLAV
+BOGOSAVAC MIROSLAV
+BOGOSAVAC ZDRAVKO
+BOGOSAVLJEV JOVANKA
+BOGOSAVLJEVIĆ ŽARKO
+BOGOSAVLJEVIĆ BRANISLAV
+BOGOSAVLJEVIĆ DOBRILA
+BOGOSAVLJEVIĆ DOBRIVOJE
+BOGOSAVLJEVIĆ DRAGICA
+BOGOSAVLJEVIĆ DRAGOMIR
+BOGOSAVLJEVIĆ MILADIN
+BOGOSAVLJEVIĆ MIODRAG DR ING
+BOGOSAVLJEVIĆ RADE
+BOGOSAVLJEVIĆ STANIMIR
+BOGOSAVLJEVIĆ ZLATA
+BOGOVAC DOBROSLAVA
+BOGOVAC DRAGOLJUB
+BOGOVAC MILAN DR
+BOGOVAC NIKOLA
+BOGOVAC SLOBODAN
+BOGOVIĆ IBOJA
+BOGOVIĆ MIJO
+BOGOVIĆ NIKOLA
+BOGOVIĆ STEVAN
+BOGOVIĆ TOMISLAV
+BOGOVIĆ VESNA
+BOGOVIĆ VESNA
+BOGOVIĆ ZLATKO
+BOGUNOVIĆ ĐORĐE
+BOGUNOVIĆ BOGDAN
+BOGUNOVIĆ BRANKO
+BOGUNOVIĆ DRAGAN
+BOGUNOVIĆ MILAN
+BOGUNOVIĆ TOMISLAV
+BOGUNOVIĆ VLADE
+BOGUNOVIĆ ZORAN
+BOGUT LJUBO
+BOGUT NADA
+BOHAČEK VALTER
+BOHINC BOŽANA
+BOHOCKI JANOŠ
+BOHOCKI JULIJANA
+BOHOCKI PETAR
+BOHOCKI ROBERT
+BOHOTA SILVESTER
+BOHUŠ JOVAN
+BOJČETA GORAN
+BOJČEVSKI NAUM
+BOJČIĆ MILAN
+BOJA ANDRAŠ
+BOJA ERIKA
+BOJAC DAFINA
+BOJAC RADIVOJ
+BOJADIĆ MIRKO
+BOJAGIĆ MARKO
+BOJANIĆ ALEKSANDAR
+BOJANIĆ ANA
+BOJANIĆ BOGOSAV
+BOJANIĆ BORIKA
+BOJANIĆ BOSILJKA
+BOJANIĆ BRANE
+BOJANIĆ BUDIMIR
+BOJANIĆ DARINKA
+BOJANIĆ DESANKA
+BOJANIĆ DRAGICA
+BOJANIĆ DRAGOLJUB
+BOJANIĆ DUŠAN
+BOJANIĆ DUŠAN
+BOJANIĆ ILIJA
+BOJANIĆ JELICA
+BOJANIĆ LJUBO
+BOJANIĆ MILAN
+BOJANIĆ MILIVOJ
+BOJANIĆ MILIVOJ
+BOJANIĆ MILOŠ
+BOJANIĆ MILUN
+BOJANIĆ MIODRAG
+BOJANIĆ RANKO
+BOJANIĆ SLOBODAN
+BOJANIĆ SVETLANA
+BOJANIĆ VELIMIR
+BOJANIĆ ZORAN
+BOJANIĆ ZORA
+BOJANOVIĆ ČEDO
+BOJANOVIĆ DUŠKO
+BOJANOVIĆ LAZAR
+BOJANOVIĆ MARJAN
+BOJANOVIĆ MILORAD
+BOJANOVIĆ RISTAN
+BOJANOVIĆ VUJADIN
+BOJANOVIĆ VUJADIN
+BOJAT JANKO
+BOJAT MILORAD
+BOJAT RADOMIR
+BOJAT VESELIN DR
+BOJBIĆ RAJKO
+BOJIČIĆ RADIVOJ
+BOJIĆ ANĐELIJA
+BOJIĆ BLAGOTA
+BOJIĆ BOGDAN
+BOJIĆ BOGOLJUB
+BOJIĆ BOGOMIR
+BOJIĆ BORISLAV
+BOJIĆ BRANISLAVA
+BOJIĆ BRANISLAV
+BOJIĆ BRANISLAV
+BOJIĆ BRANISLAV
+BOJIĆ DANICA
+BOJIĆ DEJAN
+BOJIĆ DRAGAN
+BOJIĆ DRAGAN
+BOJIĆ DRAGICA
+BOJIĆ DRAGINJA
+BOJIĆ DUŠANKA
+BOJIĆ DUŠAN
+BOJIĆ DUŠAN
+BOJIĆ GORDANA DR
+BOJIĆ GORDANA
+BOJIĆ GORDANA
+BOJIĆ KATICA
+BOJIĆ-KOLARSKI GORDANA
+BOJIĆ LAZAR
+BOJIĆ MARKO
+BOJIĆ MIŠKO
+BOJIĆ MILA
+BOJIĆ MILENKO
+BOJIĆ MILIDAR
+BOJIĆ MILOVAN
+BOJIĆ MIODRAG
+BOJIĆ MIRKO
+BOJIĆ MIROSLAV
+BOJIĆ RADOSLAVA
+BOJIĆ RAJKO
+BOJIĆ RAJKO
+BOJIĆ SENKA
+BOJIĆ SNEŽANA
+BOJIĆ SNEŽANA
+BOJIĆ SONJICA
+BOJIĆ SRETEN
+BOJIĆ STEVAN
+BOJIĆ TOMISLAV
+BOJIĆ UGLJEŠA
+BOJIĆ VERA
+BOJINOVIĆ JELENA
+BOJKIĆ ALEKSANDAR
+BOJKIĆ MILICA
+BOJKO ALEKSANDAR
+BOJKO JOVANKA
+BOJKO MARIJA
+BOJKO NEVENKA
+BOJKOV FEODOR
+BOJKOV ROMAN
+BOJKOVIĆ DANICA
+BOJKOVIĆ KRISTINA
+BOJKOVIĆ LENA
+BOJKOVIĆ MILICA
+BOJKOVIĆ SLOBODAN
+BOJOVIĆ ŽIVORAD
+BOJOVIĆ BOŠKO
+BOJOVIĆ BOGDAN
+BOJOVIĆ BRANKO
+BOJOVIĆ BRANKO
+BOJOVIĆ DRAGOJE
+BOJOVIĆ DRAGOSLAV
+BOJOVIĆ DRAGUTIN
+BOJOVIĆ DRAGUTIN
+BOJOVIĆ IKONIJA
+BOJOVIĆ JAKOV
+BOJOVIĆ LJUBICA
+BOJOVIĆ LJUBO
+BOJOVIĆ MILAN
+BOJOVIĆ MILAN
+BOJOVIĆ MILICA
+BOJOVIĆ MILICA
+BOJOVIĆ MILOJE
+BOJOVIĆ MIROSLAV
+BOJOVIĆ NADA
+BOJOVIĆ NOVICA
+BOJOVIĆ PETAR
+BOJOVIĆ SRETKO
+BOJOVIĆ TOMISLAV
+BOJOVIĆ VELIŠA
+BOJOVIĆ VELJKO
+BOJOVIĆ VLADAN
+BOJOVIĆ VOJIN
+BOJOVIĆ ZORAN
+BOKŠAN ANKA
+BOKŠAN EMILIJAN
+BOKŠAN STOJAN
+BOKŠIĆ ĐOKA
+BOKŠIĆ JELENA
+BOKŠIĆ LAZAR
+BOKŠIĆ MIRJANA
+BOKŠIĆ MIRJANA
+BOKŠIĆ RADA
+BOKŠIĆ RADOJKA
+BOKŠIĆ RADOSLAV
+BOKŠIĆ RUŽENKA
+BOKŠIĆ SOKA
+BOKA ŽIVKA
+BOKA SILVIO
+BOKA STJEPAN
+BOKAN ANĐA
+BOKAN ANICA
+BOKAN DRAGO
+BOKAN MILAN
+BOKAN MILAN
+BOKAN MILENA
+BOKAN MIRKO
+BOKAN NIKOLA
+BOKAN RADE
+BOKAN RADOMIR
+BOKAN SLOBODAN
+BOKAN TOMISLAV
+BOKAN VELJKO
+BOKANIĆ BRANISLAV
+BOKANIĆ VLADIMIR
+BOKIĆ DANILO
+BOKIĆ DUŠAN
+BOKIĆ MILAN
+BOKIĆ RADOJICA
+BOKIĆ VID
+BOKOR ĐORĐE DIPL ING
+BOKOR ĐORĐE
+BOKOR GAVRA
+BOKOR LASLO DIPL ING
+BOKOR LASLO
+BOKOR MARIJA
+BOKOROV TANASIJE DIPL ING
+BOKUN DUBRAVKA
+BOKUN NOVAK
+BOKUN PETAR
+BOKUN SPASIJA
+BOKUN STEVA
+BOKUN VLADIMIR
+BOLANOVIĆ RAJKA
+BOLDIŽAR JOŽEF
+BOLDIŽAR LASLO
+BOLDIN RUDOLF
+BOLDOCKI JOŽEF
+BOLDOCKI VLADIMIR
+BOLDOG LAJOŠ
+BOLERAC ANA
+BOLESNIKOV BRANISLAV
+BOLESNIKOV DARINKA
+BOLESNIKOV MILORAD
+BOLESNIKOV ZORAN
+BOLF BRANKO
+BOLF NEVENKA
+BOLFIK JOSIP
+BOLIĆ ZLATKO
+BOLINOVSKA SOFIJA
+BOLINOVSKI MIROSLAV
+BOLJANOVIĆ ĐORĐE
+BOLJANOVIĆ ALEKSANDAR
+BOLJANOVIĆ MILIVOJE
+BOLJANOVIĆ NIKOLA
+BOLJANOVIĆ RADOVAN
+BOLJANOVIĆ ZORICA
+BOLJEVIĆ SVETOZAR
+BOLMANAC BRANKO
+BOLMANAC EVGENIJE
+BOLO ŽOLT
+BOLOK ANDRAŠ
+BOLOK JOŽEF
+BOLOK KARLO
+BOLOK KAROLJ
+BOLOK PAL
+BOLORIN RADIVOJ
+BOLTA ŽELJKO
+BOLTA ĐURA
+BOLTA BRANKO
+BOLTA DRAGICA
+BOMEŠTAR RADA
+BONA STEVAN
+BONDŽIĆ DEJAN
+BONDARENKO ALEKSANDAR DR
+BONDOKIĆ BORIVOJE
+BONDOKIĆ LJUBICA
+BONERT DUŠAN DR
+BONERT DUŠAN
+BONIĆ DRAGAN
+BONIĆ MARJAN
+BONIĆ MILICA
+BONIĆ VLADIMIR
+BONUS LJUBICA
+BOR ENDRE
+BORČANIN LJUBICA
+BORČANIN SOFIJA
+BORČANSKI TINKA
+BORČIĆ BUDE
+BORČIĆ DRAGANA
+BORČIĆ JOVAN
+BORŠI TIVADAR DIPL OEC
+BORŠOŠ ATILA
+BORŠOŠ BARBARA
+BORŠOŠ IŠTVAN
+BORŠOŠ IŠTVAN
+BORŠOŠ IMRE
+BORŠTNAR HENRIK
+BORŠTNER NADA
+BORĐIN LAZAR
+BORĐOŠKI ĐORĐE DIPL ING
+BORĐOŠKI BOŠKO
+BORĐOŠKI MILICA
+BORĐOŠKI TAMARA
+BORĐOŠKI VOJIN
+BORAŠ IRENA
+BORAS BORISLAV
+BORAS MARIJA
+BORAS MILICA
+BORBAŠ KAROLJ
+BORBAŠ VIOLETA
+BORBAŠ ZOLTAN
+BORBELJ ALEKSANDAR
+BORBELJ JANOŠ
+BORBELJ JOSIP
+BORBELJ LJUBICA
+BORBELJ MARIJA
+BORBELJ NEVENKA
+BORDAŠ ĐEZE
+BORDAŠ AKOŠ
+BORDAŠ BELA
+BORDAŠ FERENC
+BORDAŠ FRANJA
+BORDAŠ HILDA
+BORENOVIĆ ANTONIJE
+BORENOVIĆ MILE
+BORENOVIĆ VERA
+BORI IMRE DR
+BORI MARIJA
+BORIČIĆ LAZAR
+BORIČIĆ NOVAK
+BORIČIĆ RADIVOJE
+BORIČIĆ RADULE
+BORIŠEV BORISLAV
+BORIŠEV LJILJANA
+BORIŠEV MILENKO
+BORIŠEV NIKOLA
+BORIŠEV RUŽICA
+BORIŠEV SAVA
+BORIŠEV TEODOR
+BORIŠEV VASA
+BORIŠIĆ MARIJA
+BORIŠIĆ VLADIMIR
+BORIĆ ČEDOMIR
+BORIĆ ALEKSANDAR
+BORIĆ DUŠAN
+BORIĆ KAMENKO
+BORIĆ KATICA
+BORIĆ MILAN
+BORIĆ MILKA
+BORIĆ NIKOLA
+BORIĆ PETAR
+BORIĆ STEVAN
+BORIĆ ZORAN
+BORIĆ ZORAN
+BORIS JOSIP
+BORIVOJEVIĆ VITOMIR
+BORJANIN SLAVKO
+BORJANOVIĆ GORDANA
+BORJANOVIĆ ILIJA
+BORJANOVIĆ NIKOLA
+BORKO STANISLAV
+BORKOVAČKI ZORAN
+BORKOVAC KATARINA
+BORKOVIĆ DRAGOSLAVA
+BORKOVIĆ MILAN
+BORLJA STEVAN
+BOROŠ ŠANDOR
+BOROŠ ŠANDOR
+BOROŠ ĐERĐ
+BOROŠ-ĐEVI ŽELJKO
+BOROŠ ĐORĐE
+BOROŠ ALEKSANDAR
+BOROŠ ANDRIJA
+BOROŠ ANTUN
+BOROŠ ERNE
+BOROŠ EVA
+BOROŠ IŠTVAN
+BOROŠ JOŽEF
+BOROŠ JOLAN
+BOROŠ JULIJA
+BOROŠ LADISLAV
+BOROŠ LAJOŠ
+BOROŠ MARGITA
+BOROŠ MIHAJLO
+BOROŠ MIHAJLO
+BOROŠ MIKLOŠ
+BOROŠ VERA
+BOROŠIĆ ELIZABETA
+BOROCKI ALEKSANDAR
+BOROCKI DANICA
+BOROCKI LJUBINKA
+BOROJA LJUBAN
+BOROJA RUŽICA
+BOROJEV ARSEN DR LEKAR
+BOROJEV EMILIJAN DR
+BOROJEV JAGODA
+BOROJEV LJUBOMIR
+BOROJEV RADMILA
+BOROJEVIĆ ANA
+BOROJEVIĆ BOŠKO
+BOROJEVIĆ BOŠKO
+BOROJEVIĆ BOŠKO
+BOROJEVIĆ BRANKO
+BOROJEVIĆ DRAGAN
+BOROJEVIĆ DRAGOLJUB
+BOROJEVIĆ DUŠAN
+BOROJEVIĆ KRSTA
+BOROJEVIĆ LJILJANA
+BOROJEVIĆ MILAN
+BOROJEVIĆ PAVLE
+BOROJEVIĆ PETRA
+BOROJEVIĆ SLAVKO PROF
+BOROMISA DRAGICA
+BOROMISA JELENA
+BORONJAC DRAGAN
+BORONJAC MILICA
+BORONJAC OLGA
+BORONJAC VERA
+BOROTA ALEKSANDAR
+BOROTA JOVANKA
+BOROTA MILAN
+BOROTA MILORAD
+BOROTA MIRA
+BOROTA RADOSLAV DR LEKAR
+BOROVČANIN LJUBOMIR
+BOROVČANIN MILISAV
+BOROVČANIN NEDELJKO
+BOROVČANIN RADOMIR
+BOROVČANIN SLOBODAN
+BOROVAC ARSO
+BOROVAC BRANISLAV
+BOROVAC KATICA
+BOROVAC MILORAD
+BOROVIČANIN MILORAD
+BOROVIĆ ATILA
+BOROVIĆ JOSIP
+BOROVIĆ JOVAN
+BOROVIĆ KOSTA
+BOROVIĆ MENA
+BOROVIĆ PETAR
+BOROVIĆ RUDOLF
+BOROVIĆ VLADE
+BOROVIĆANIN MIROSLAV
+BOROVICA BOJKA
+BOROVICA IVAN
+BOROVICA IVAN
+BOROVICA JELENA
+BOROVICA MIODRAG
+BOROVNICA BRANKO
+BOROVNICA MARKO
+BOROVNICA MILAN
+BOROVNICA MILEVA
+BOROZAN MILORAD
+BORUŠ IŠTVAN
+BORUŠ IRENA
+BORZAŠKI BRATISLAVA
+BORZAŠKI RADOMIR
+BORZAŠKI STEVAN
+BOSAK IRENA
+BOSAKOV DRAGAN
+BOSANČIĆ BOŠKO
+BOSANČIĆ BOGDAN
+BOSANČIĆ BOGDAN
+BOSANČIĆ JELICA
+BOSANČIĆ MANOJLO
+BOSANČIĆ MILEVA
+BOSANČIĆ MIODRAG
+BOSANČIĆ RADOVAN
+BOSANČIĆ RAJKO
+BOSANČIĆ TRIVA
+BOSANČIĆ VASO
+BOSANČIĆ VLADO
+BOSANČIĆ VUJO
+BOSANAC JOVAN
+BOSANAC LJUBICA
+BOSANAC MARIJA
+BOSANAC NIKOLA
+BOSANAC VERA
+BOSIĆ BOŽANA
+BOSIĆ BRANKO
+BOSIĆ DUŠAN DR
+BOSIĆ JOVAN
+BOSIĆ MIODRAG
+BOSIĆ RADOVAN
+BOSIĆ SLAVKA
+BOSILJKIĆ LAZAR
+BOSILJKIĆ LUKA
+BOSIN SLOBODAN
+BOSIOK DORU
+BOSNAI-BABA LUCIJA
+BOSNAI JANOŠ
+BOSNIĆ ČEDOMIR
+BOSNIĆ ĐURĐINKA
+BOSNIĆ ALEKSANDAR
+BOSNIĆ BOŽIDAR
+BOSNIĆ BOSILJKA
+BOSNIĆ DAVID
+BOSNIĆ DAVID
+BOSNIĆ JOVAN
+BOSNIĆ MARA
+BOSNIĆ MIRKO
+BOSNIĆ MLADEN
+BOSNIĆ NADA
+BOSNIĆ NURIJA
+BOSNIĆ RADOSA
+BOSNIĆ RAJKO
+BOSNIĆ VERA
+BOSNIĆ VLADA
+BOSNIĆ VLADA
+BOSNIĆ ZORAN
+BOTA BRANISLAV
+BOTIČ OLIVERA
+BOTIĆ ALEKSANDAR
+BOTIĆ BOGDAN
+BOTIĆ DANICA
+BOTIĆ DARKO
+BOTIĆ DARKO
+BOTIĆ GAVRA
+BOTIĆ MILAN
+BOTIĆ MILAN
+BOTIĆ MILE
+BOTIĆ MILORAD ADVOKAT
+BOTIĆ MIROSLAVA
+BOTIĆ OLIVERA
+BOTIĆ PROKA
+BOTIĆ RADOSLAVA
+BOTIĆ VERICA
+BOTIĆ VLADIMIR
+BOTIĆ ZORANKA
+BOTKA ANTAL
+BOTKA DAVID
+BOTKA ERŽEBET
+BOTKA VERONA
+BOTKA ZOLTAN
+BOTLIK GEZA
+BOTLIK MARIJA
+BOTOŠKI DRAGOVAN
+BOTOŠKI SAVA
+BOTORIĆ RADOJICA
+BOTZA IŠTVAN
+BOZEJAC ANTAL DIPL PRAVNIK
+BOZEJAC DUŠAN
+BOZEJAC GORDANA
+BOZEJAC MILENKO
+BOZEJAC SMILJKA
+BOZEJAC SVETISLAV
+BOZEJAC VERA
+BOZOKIN STEVICA
+BRČIĆ IGNJAC
+BRČIĆ MIROSLAV
+BRČIĆ NEĐO
+BRČIĆ RADOVAN
+BRČIN ĐORĐE
+BRČIN MILINKA
+BRČIN NIKOLA
+BRČIN RATOMIR
+BRČIN SLAVICA
+BRČIN SVETOZAR
+BRČINOVIĆ PAVLE
+BRČKALOVIĆ LJUBOMIR
+BRAČEVIĆ IVAN
+BRAČEVIĆ MIRJANA
+BRAŠANAC BORISLAV
+BRAŠANAC GAVRILO DIPL ING
+BRAŠANAC ILIJA
+BRAŠANAC MIRJANA
+BRAŠANAC MIROSLAV
+BRAŠKO JOŽEF
+BRAŠNJO GUSTAV
+BRAŠNJO IŠTVAN
+BRAŠNJO IŠTVAN
+BRACANOVIĆ DAMJAN
+BRACANOVIĆ MILUTIN
+BRACIĆ MILAN
+BRADAČ ELIZABETA
+BRADAČ IMRE
+BRADAŠ ŽIVA DIPL ING
+BRADARIĆ NEDELJKO
+BRADIĆ ĐORĐE
+BRADIĆ ĐORĐE
+BRADIĆ BOŽIDAR
+BRADIĆ BOGOLJUB
+BRADIĆ BOGOLJUB
+BRADIĆ BRANKO
+BRADIĆ EVGENIJA
+BRADIĆ GAVRILO
+BRADIĆ JUSTINA
+BRADIĆ MILAN DIPL ING
+BRADIĆ MILAN
+BRADIĆ MILICA
+BRADIĆ MILIVOJE
+BRADIĆ MILJKO
+BRADIĆ SLOBODAN
+BRADIĆ SRETA
+BRADIĆ-TENJI ZORICA
+BRADIĆ TEODORA
+BRADIĆ TOMISLAVA
+BRADIĆ VIDOJE
+BRADIĆ ZORICA
+BRADOŠ SLOBODAN
+BRAHTL MARICA
+BRAJDIĆ IVAN
+BRAJER FRANJA
+BRAJEVIĆ PREDRAG
+BRAJIĆ MILICA
+BRAJIĆ RADOVAN
+BRAJIĆ SLOBODAN
+BRAJKOV MARKO
+BRAJKOVIĆ IVO
+BRAJKOVIĆ MIRJANA
+BRAJOVIĆ MILIVOJE
+BRAJOVIĆ MILOŠ
+BRAJOVIĆ SLAVKA
+BRAJOVIĆ SPASOJE
+BRAJOVIĆ STANKA
+BRAJOVIĆ VELJKO
+BRAKOČEVIĆ JOVAN
+BRAKUS DUŠANKA
+BRAKUS LJILJANA
+BRAKUS MARIJA
+BRAKUS MILAN
+BRAKUS MOMČILO
+BRALOVIĆ RATKO
+BRANČIĆ BORIS DIPL ING
+BRANČIĆ JASNA
+BRANČIĆ MILENA
+BRANČIĆ MILUŠKO
+BRANA PETAR
+BRANILOVIĆ STJEPAN
+BRANKOV ĐORĐE
+BRANKOV ĐORĐE
+BRANKOV ALEKSANDRA
+BRANKOV-BOKA ROZALIJA
+BRANKOV BORIVOJ
+BRANKOV BRANISLAV
+BRANKOV DOBRICA
+BRANKOV DRAGANA
+BRANKOV DRAGAN
+BRANKOV DUŠAN
+BRANKOV EMIL
+BRANKOV ILIJA
+BRANKOV JELICA
+BRANKOV JOVANKA
+BRANKOV KOSTA
+BRANKOV KOSTA
+BRANKOV LJUBICA
+BRANKOV LJUBICA
+BRANKOV LJUBINKO
+BRANKOV MILICA
+BRANKOV MILORAD
+BRANKOV MIRKO
+BRANKOV MITA
+BRANKOV MITA
+BRANKOV MLADEN
+BRANKOV MOMIR
+BRANKOV NADA
+BRANKOV OLIVERA
+BRANKOV RADIVOJ
+BRANKOV RADOVAN
+BRANKOV RADOVAN
+BRANKOV SVETISLAV
+BRANKOV VELJKO
+BRANKOV VLADIMIR
+BRANKOV ZLATINKA
+BRANKOVAN ĐORĐE
+BRANKOVAN VLASTIMIR
+BRANKOVIĆ BOGOLJUB
+BRANKOVIĆ BOJA
+BRANKOVIĆ BRANKO
+BRANKOVIĆ BRANKO
+BRANKOVIĆ DRAGAN
+BRANKOVIĆ DUŠANKA
+BRANKOVIĆ DUŠAN
+BRANKOVIĆ DUŠAN
+BRANKOVIĆ ILIJA
+BRANKOVIĆ-KOVAČEVIĆ RADMILA
+BRANKOVIĆ LJILJANA
+BRANKOVIĆ LJUBICA
+BRANKOVIĆ MILAN
+BRANKOVIĆ MILENA
+BRANKOVIĆ MILORAD
+BRANKOVIĆ MIRKO
+BRANKOVIĆ MLADEN
+BRANKOVIĆ SAVKA
+BRANKOVIĆ SLAVKO
+BRANKOVIĆ SLAVOLJUB
+BRANKOVIĆ SLAVOLJUB
+BRANKOVIĆ SVETLANA
+BRANKOVIĆ TUGOMIR
+BRANKOVIĆ ZINA
+BRANKOVIĆ ZORAN
+BRANOVAČKI ĐORĐE
+BRANOVAČKI ANGELINA
+BRANOVAČKI GAVRILO
+BRANOVAČKI IVANA
+BRANOVAČKI LJUBICA
+BRANOVAČKI OLGA
+BRANOVAČKI SVETISLAV
+BRANOVIĆ BISERKA
+BRANOVIĆ RUŽA
+BRAOVIĆ SANDRA
+BRAOVIĆ VLADIMIR
+BRAT DUŠAN
+BRATIĆ AŠIR
+BRATIĆ DRAGO
+BRATIĆ DUŠAN
+BRATIĆ GORAN
+BRATIĆ LJUBICA
+BRATIĆ LJUBOMIR
+BRATIĆ MUHO
+BRATIĆ NEDELJKO
+BRATIĆ RADOVAN
+BRATIĆ VOJISLAV
+BRATONOŽIĆ MARGITA
+BRBORIĆ LAZAR
+BRBORIĆ SRBISLAV
+BRCANOV ĐURĐINKA
+BRCANOV OLGA
+BRCANOV SIMA
+BRCANOV TIHOMIR
+BRCANSKI NIKOLA
+BRDAR DANE
+BRDAR DRAGO
+BRDAR ILIJA
+BRDAR IVANKA
+BRDAR MILAN
+BRDAR PERO
+BRDAR SLAVIŠA
+BRDAREVIĆ DUŠKO
+BRDARIĆ DRAGOMIR
+BRDARIĆ KOSTA
+BRDARIĆ MILAN
+BRDARIĆ PETAR
+BREŠĆANSKI MARIJA
+BREŠKOVIĆ STANISLAVA
+BREŠKOVSKI DRAGICA
+BREŽAN ILONA
+BREŽAN LEONORA
+BREŽAN MARIJA
+BREBER LJUBICA
+BREBERINA MILAN
+BREBERINA STEVAN
+BREGUN ĐORĐE
+BREGUN ALEKSANDRA
+BREGUN NIKOLA
+BREGUN RADOSLAV DIPL ING
+BREKALO JOSIP
+BREKIĆ ILIJA
+BREKIĆ NIKOLA
+BREKIĆ STEVAN
+BRENECKI ZDRAVKO
+BRENESEL DRAGAN
+BRENESEL GABRIEL
+BRENESEL MIRJANA
+BRENESEL NIKOLA
+BRESTOVAČKI IVAN
+BRESTOVAČKI JASMINA
+BRESTOVAČKI MILKA
+BRESTOVAČKI STEVA
+BRET VERA
+BRETŠNAJDER ANA
+BREZNIK ERNE
+BREZNJAK JANOŠ
+BREZNJAK MARIJA
+BREZOVČEK JOVANKA
+BREZOVAC DRAGICA
+BREZOVAC DUŠAN
+BREZOVAC IVAN
+BREZOVAC IVAN
+BREZOVAC JURAJ
+BREZOVAC KATARINA
+BREZOVAC LJUBINKA
+BREZOVAC MILENA
+BREZOVAC MILOŠ
+BREZOVAC PETAR
+BREZOVAC SAVA
+BREZOVIĆ MIRJANA
+BRIŠEVAC JURE
+BRIKER SMILJANA
+BRINJAK DRAGO
+BRITVEC MARKO
+BRIZA ŽELMIRA
+BRIZA JAN
+BRIZA LUKRECIJA
+BRK SIMO
+BRKANIĆ MARKO
+BRKANIĆ MILENKO
+BRKANIĆ TATJANA
+BRKANLIĆ ŽELJKO
+BRKANLIĆ DUŠAN
+BRKIĆ ĐORĐE
+BRKIĆ ĐORĐE
+BRKIĆ ĐURO
+BRKIĆ ABAZ
+BRKIĆ ALEKSANDAR
+BRKIĆ ALEKSANDAR
+BRKIĆ ANKA
+BRKIĆ ANKICA
+BRKIĆ-BELIĆ DANICA
+BRKIĆ BOGDAN
+BRKIĆ BRANKO
+BRKIĆ DRAGAN
+BRKIĆ DRAGA
+BRKIĆ DRAGO
+BRKIĆ DUŠANKA
+BRKIĆ GOJKO
+BRKIĆ ILIJA
+BRKIĆ IVAN
+BRKIĆ IVICA
+BRKIĆ JELISAVETA
+BRKIĆ JOVAN
+BRKIĆ JOVAN
+BRKIĆ JOVAN
+BRKIĆ JOVAN
+BRKIĆ LJUBOMIR
+BRKIĆ LUKA
+BRKIĆ MAGDALENA
+BRKIĆ MANDA
+BRKIĆ MARIJA
+BRKIĆ MARIJA
+BRKIĆ MILADIN
+BRKIĆ MILAN
+BRKIĆ MILAN
+BRKIĆ MILAN
+BRKIĆ MIRJANA
+BRKIĆ MITAR
+BRKIĆ NADA
+BRKIĆ NEBOJŠA
+BRKIĆ NIKOLA
+BRKIĆ NIKOLA
+BRKIĆ PETAR
+BRKIĆ PETAR
+BRKIĆ PETRA
+BRKIĆ RADOJKA
+BRKIĆ RADOSLAV
+BRKIĆ RADOSLAV
+BRKIĆ RADOSLAV
+BRKIĆ RATKO
+BRKIĆ RUŽA
+BRKIĆ SILVIJA
+BRKIĆ SLAVKO
+BRKIĆ SNEŽANA
+BRKIĆ SNEŽANA
+BRKIĆ TOMO DIPL ING
+BRKIĆ UROŠ
+BRKIĆ VEZILIJA
+BRKIĆ VLADIMIR
+BRKIĆ VLADIMIR
+BRKIĆ VLADIMIR
+BRKIĆ VOJISLAV
+BRKIĆ ZDRAVKO
+BRKIĆ ZORAN
+BRKLJAČ BRANIMIR
+BRKLJAČ BRANISLAV
+BRKLJAČ DRAGOLJUB
+BRKLJAČ ILIJA
+BRKLJAČ KATARINA
+BRKLJAČ MILANKO
+BRKLJAČ MILAN
+BRKLJAČ NIKOLA
+BRKLJAČ NIKOLA
+BRKLJAČ RUŽICA
+BRKLJAČ SLOBODAN
+BRKLJAČ STEVAN
+BRKLJAČA BRATOLJUB
+BRKLJAČIĆ BOŽENA
+BRKLJAČIĆ VLADIMIR
+BRKO NIKOLA
+BRKOVIĆ ĐORĐE
+BRKOVIĆ ANTUN
+BRKOVIĆ BOSILJKA
+BRKOVIĆ DRAGO
+BRKOVIĆ DUŠAN
+BRKOVIĆ EMILIJA
+BRKOVIĆ JOVANKA
+BRKOVIĆ LJUBOMIR
+BRKOVIĆ MAGDA
+BRKOVIĆ MILAN
+BRKOVIĆ MILICA
+BRKOVIĆ NADA
+BRKOVIĆ NIKOLA
+BRKOVIĆ RADOVAN
+BRKOVIĆ VIODSAVA
+BRKOVIĆ VJEKOSLAV
+BRKOVIĆ ZLATKO
+BRLIĆ DRAGUTIN
+BRLIĆ IVAN
+BRMBOTA JOVAN
+BRMBOTA JOVAN
+BRNJAKOVIĆ MARIJA
+BRNOVIĆ SVETOZAR
+BROŠTEAN VIOREL
+BROĆETA BOGDAN
+BROĆETA MIĆA
+BROĆETA MILORAD
+BROĆETA NEDELJKO
+BROĆETA OBRAD
+BRODRANSKI SVETLANA
+BROJČIN DUŠAN
+BROJČIN SAVA
+BRONZA DRAGAN
+BRONZA RAJKO
+BROZOVIĆ IVAN
+BRSANOVIĆ KRSTA
+BRSTINA VASILIJE
+BRTAN JOSIP
+BRTKA JAN
+BRUŠNJAI JOSIP
+BRUŠNJAK PERO
+BRUJIĆ DUŠAN
+BRUJIĆ JOVAN
+BRUJIĆ MANOJLO
+BRUJIĆ MILAN
+BRUJIĆ MILICA
+BRUJIĆ SLAVKO
+BRUJIĆ VLADIMIR
+BRUK ANDRIJA DR
+BRUKNER BOGDAN
+BRUKNER BOGDAN
+BRUNČEVIĆ HIVZO
+BRUNČEVIĆ REDŽEP
+BRUNDZA CECILIJA
+BRUNDZA VLADIMIR MR
+BRUNER JOSIP
+BRUNET ELEMER
+BRUNET FRANJA
+BRUNET IŠTVAN
+BRUNET ZOLTAN
+BRUNET ZOLTAN
+BRUSIN DUŠKO
+BRUSIN KAJICA
+BRUSIN MILOJKO
+BRUSIN MILOVAN
+BRUSIN RADICA
+BRUSIN SLAVKO
+BRUSNJAI KARLO
+BRUSNJAI LASLO
+BRUSNJAI MARGARITA
+BRZAK ŽIVKA
+BRZAK ŽIVORAD
+BRZAK ĐORĐE
+BRZAK ĐORĐE
+BRZAK ĐORĐE
+BRZAK ĐORĐE
+BRZAK ĐUKA
+BRZAK ALEKSANDAR
+BRZAK ALEKSANDAR
+BRZAK ANĐELKA
+BRZAK BOGDANKA
+BRZAK BORISLAV
+BRZAK BOSA
+BRZAK BRANISLAV
+BRZAK DRAGAN
+BRZAK DRAGAN
+BRZAK DRAGICA
+BRZAK DRAGOMIR
+BRZAK DUŠKO
+BRZAK GOJKO
+BRZAK ILIJA
+BRZAK JADRANKA
+BRZAK JELENA
+BRZAK JOVAN
+BRZAK JOVAN
+BRZAK JOVAN
+BRZAK JOVAN
+BRZAK JOVAN
+BRZAK JOVAN
+BRZAK KOSTA
+BRZAK LAZAR
+BRZAK LEPOSAVA
+BRZAK MARIJA
+BRZAK MILA
+BRZAK MILENKO
+BRZAK MILENKO
+BRZAK MILENKO
+BRZAK MILOVAN
+BRZAK MILOVAN
+BRZAK MIRA
+BRZAK MIRA
+BRZAK MIROSLAV
+BRZAK MITAR
+BRZAK PETAR
+BRZAK PREDRAG
+BRZAK RADOSLAV
+BRZAK SAVA
+BRZAK SAVETA
+BRZAK SIMEON
+BRZAK SLAVKO
+BRZAK SLOBODANKA
+BRZAK STEVAN
+BRZAK STEVAN
+BRZAK STEVAN
+BRZAK STOJANKA
+BRZAK SVETLANA
+BRZAK SVETOZAR
+BRZAK TOŠA
+BRZAK TOŠA
+BRZAK TOŠICA
+BRZAK TODOR
+BRZAK VASA
+BRZAK VASA
+BRZAK VASA
+BRZAK VELJKO
+BRZAK VIDA
+BRZAK VIDOSAVA
+BRZAK VIDOSLAV
+BRZAK VLADISLAV
+BRZAK ZORAN
+BRZAKOVIĆ IGOR
+BRZAKOVIĆ NENAD DR
+BRZAKOVIĆ VITOMIR DR LEKAR
+BRZANOVIĆ DRAGAN
+BRZIĆ ŽIVAN
+BRZIĆ ĐORĐE
+BRZIĆ BRANKO
+BRZIĆ FRANJA
+BRZIĆ IVAN
+BRZIĆ JOVAN
+BRZIĆ LAZAR
+BRZIĆ LAZAR
+BRZIĆ MIRJANA
+BRZIĆ PETAR
+BRZIĆ PETAR
+BRZIĆ RADOSLAV
+BRZIĆ STEVAN
+BRZIĆ SVETOZAR
+BRZIĆ TODOR
+BRZIĆ ZLATA
+BRZICA BRANKA
+BRZICA FERDO
+BRZICA IVANKA
+BRZICA MARINKO
+BRZOVAN BEHIJA
+BU IŠTVAN
+BUČA DUŠAN
+BUČA DUŠICA
+BUČA IRINA
+BUČA VASA
+BUČANSKI JOŽEF
+BUČIĆ BORISLAV
+BUČKO AHNETA
+BUČKO JANKO
+BUČKO MARIJA
+BUČO DANIJELA
+BUČU-MARTONOŠI GIZELA
+BUŠ ANA
+BUŠ MAGDALENA
+BUŠ SILVESTER
+BUŠIĆ SREĆKO
+BUŠLJETA BRANKA
+BUŠTREVIĆ MIRJANA
+BUŠTREVIĆ SLOBODANKA
+BUŠTROVIĆ OLGA
+BUĆAN DUŠAN
+BUĆAN DUŠAN
+BUĆAN MILEVA
+BUĆAN SLAVKA
+BUĆANSKI MAĆAŠ
+BUĆIN RADE
+BUĆO ZAGORKA
+BUŽANČIĆ MIRA
+BUŽANIN MILE
+BUĐI ĐULA
+BUĐILAN PETAR
+BUAČA DRAGAN
+BUAČA OLGICA
+BUAČA STEVAN
+BUBALO DRAGAN
+BUBALO DRAGINJA
+BUBALO GORAN
+BUBALO ILIJA
+BUBALO JOVAN
+BUBALO JOVO
+BUBALO MIROSLAV
+BUBALO PETAR
+BUBALO RATOMIR
+BUBALO SIMO
+BUBALO TEODORA
+BUBANJ BRANISLAV
+BUBANJ DANE
+BUBANJ IVANKA
+BUBANJ MILICA
+BUBANJ MILOŠ
+BUBANJ RADE
+BUBANJ RADOJKA
+BUBANJ SRBOLJUB
+BUBANJ VIDOSAVA
+BUBANJA ALEKSANDAR
+BUBANJA BATRIĆ
+BUBANJA DARINKA
+BUBANJA KATICA
+BUBANJA MAŠAN
+BUBANJA RADISAV
+BUBANJA TADIJA
+BUBANJA VOJISLAV
+BUBANJA ZORKA
+BUBIĆ MILAN
+BUBNIĆ VERONA
+BUBNJEVIĆ ĐORĐE
+BUBNJEVIĆ BORE
+BUBNJEVIĆ DARA
+BUBNJEVIĆ DRAGO
+BUBNJEVIĆ GOJKO
+BUBNJEVIĆ JANJA
+BUBNJEVIĆ LJUBOMIR
+BUBNJEVIĆ MARICA
+BUBNJEVIĆ MARINKO
+BUBNJEVIĆ MIRKO
+BUBNJEVIĆ NENAD
+BUBNJEVIĆ OSTOJA
+BUBNJEVIĆ RADA
+BUBNJEVIĆ RADOMIR
+BUBNJEVIĆ RELJA
+BUBNJEVIĆ SRBOLJUB
+BUBNJEVIĆ SRETEN
+BUBNJEVIĆ STOJANKA
+BUBNJEVIĆ VASKRSIJE
+BUBNJEVIĆ VLADIMIR
+BUBNJIĆ ŽELJKO
+BUBONJA BORIS
+BUBONJA DOSTANA
+BUBONJA DUŠAN
+BUBONJA RADOVAN
+BUBREŠKO GORDANA
+BUBULJ MILIĆ
+BUBULJ NADA
+BUBULJ STOJANKA
+BUBULJ STOJA
+BUCALO MILADIN
+BUCALO MIRA
+BUCALO MITAR
+BUCALOVIĆ DUŠAN
+BUCIĆ ANTE
+BUCIĆ MILIVOJ
+BUCULJEVIĆ ALEKSANDAR
+BUCULJEVIĆ ZLATOMIR DR
+BUDŽAKOSKI TOMA
+BUDŽAROV SAVA
+BUDA ADA
+BUDA EVA
+BUDA HAJNALKA
+BUDA JOŽEF
+BUDA TEREZA
+BUDAĆ ZORAN
+BUDAI GORICA
+BUDAI ILONKA
+BUDAI JOŽEF
+BUDAI JOLAN
+BUDAI JOVAN
+BUDAI LAJOŠ
+BUDAI LAJOŠ
+BUDAI ZORA
+BUDAK DRAGAN
+BUDAK IVICA
+BUDAK MILAN
+BUDAK VERA
+BUDAKOV ALEKSANDRA
+BUDAKOV BRANISLAV
+BUDAKOV DRAGAN
+BUDAKOV GORICA
+BUDAKOV IVAN
+BUDAKOV LJILJANA
+BUDAKOV MILAN
+BUDAKOV MILUTIN
+BUDAKOV OLIVERA
+BUDAKOV SLOBODAN
+BUDANOV ANTAL
+BUDANOV DANICA
+BUDANOVIĆ SAVETA
+BUDANOVIĆ STANA
+BUDERKA MARIJA
+BUDIŠA BOŽA
+BUDIŠA BORA
+BUDIŠA MIRKO
+BUDIŠA TIHOMIR
+BUDIŠIĆ DRAGAN
+BUDIŠIN ĐORĐE
+BUDIŠIN IVAN
+BUDIŠIN MILOŠ
+BUDIŠIN MILOŠ
+BUDIŠIN NIKOLA DR
+BUDIŠIN-SAKAČ SONJA DR
+BUDIŠIN VLADIMIR
+BUDIĆ ŽELJKO
+BUDIĆ DANILO
+BUDIĆ DRAGOSLAV
+BUDIĆ DUŠANKA
+BUDIĆ MILAN
+BUDIĆ ZORKA
+BUDIMČIĆ JOVAN
+BUDIMČIĆ LJILJANA
+BUDIMČIĆ MILIVOJ
+BUDIMA BAJRUŠ
+BUDIMAC BUDIMIR
+BUDIMAC ZORAN
+BUDIMIR MARIJA
+BUDIMIR MILAN
+BUDIMIR MILOJKO
+BUDIMIROVIĆ DRAGICA
+BUDIMIROVIĆ NEGOVAN
+BUDIMIROVIĆ UROŠ
+BUDIMKIĆ-KRSTIĆ DRAGANA
+BUDIMLIJA ALEKSANDAR
+BUDIMLIJA DRAGICA
+BUDIMLIJA ILIJA
+BUDIMLIJA MILAN
+BUDIMLIJA MILAN
+BUDIMLIJA RADE
+BUDIMSKI ĐURA
+BUDIMSKI SLAVUJ
+BUDINČEVIĆ GABOR
+BUDINČEVIĆ JULIJANA
+BUDINČEVIĆ MIRKO
+BUDINČEVIĆ NIKOLA
+BUDINSKI KIRIL
+BUDINSKI LJUBA
+BUDINSKI MARIJA
+BUDINSKI VLADIMIR
+BUDISAVLJEVIĆ BRANKO
+BUDISAVLJEVIĆ DUŠAN
+BUDISAVLJEVIĆ KAROLINA
+BUDISAVLJEVIĆ MARIJA
+BUDISAVLJEVIĆ NATALIJA
+BUDISAVLJEVIĆ NEVENKA
+BUDISAVLJEVIĆ RUŽICA
+BUDISAVLJEVIĆ VERICA
+BUDJILAN PETAR
+BUDOŠAN ŽIVKO
+BUDOŠAN ĐORĐE
+BUDOŠAN ALEKSANDAR
+BUDOŠAN-KOVAČ JELENA
+BUDOŠAN MILOŠ
+BUDOŠAN NADA
+BUDOŠAN SAVA
+BUDOŠAN SAVA
+BUDOŠAN STEVAN
+BUDOŠAN TOŠICA
+BUDOŠAN VASA
+BUDOŠAN VASA
+BUDOŠAN VUKOSAVA
+BUDOVALČEV ARSA
+BUDOVALČEV OLGA
+BUDOVALČEV PETAR
+BUDOVALČEV PETAR
+BUDURIN RADOJE
+BUGADŽIJA LAJOŠ
+BUGADŽIJA STEVAN
+BUGARČIĆ PETAR
+BUGARČIĆ RADMILO
+BUGARČIĆ SMILJKA
+BUGARIN-ČONKIĆ RADOJKA
+BUGARIN ŽIVAN
+BUGARIN ŽIVAN
+BUGARIN ŽIVAN
+BUGARIN ŽIVAN
+BUGARIN BOŠKO
+BUGARIN BORISLAV
+BUGARIN DANICA
+BUGARIN ILIJA
+BUGARIN IVANA
+BUGARIN JEVROSIMA
+BUGARIN LJILJANA
+BUGARIN LJUBOMIR
+BUGARIN MARIJA
+BUGARIN MILOŠ
+BUGARIN MILORAD
+BUGARIN RADISLAV
+BUGARIN RADOSLAV
+BUGARIN SINIŠA
+BUGARIN SPASOJE
+BUGARIN STEVAN
+BUGARIN VELIBOR
+BUGARIN VESNA
+BUGARIN ZORAN
+BUGARIN ZORICA
+BUGARINOVIĆ MARGARETA
+BUGARIU JULIJAN
+BUGARSKI ŽARKO
+BUGARSKI ŽIKA
+BUGARSKI ŽIVAN DIPL ING
+BUGARSKI ĐORĐE
+BUGARSKI ĐORĐE
+BUGARSKI ĐURICA
+BUGARSKI BOJANA
+BUGARSKI BRANKO
+BUGARSKI DIMITRIJE
+BUGARSKI DIMITRIJE
+BUGARSKI DRAGAN
+BUGARSKI DRAGICA
+BUGARSKI DRAGOLJUB DR
+BUGARSKI DRAGOLJUB
+BUGARSKI DRAGOSLAV
+BUGARSKI DRAGOSLAV
+BUGARSKI DRAGOSLAV
+BUGARSKI DUŠAN DR
+BUGARSKI DUŠAN
+BUGARSKI DUŠICA
+BUGARSKI DUŠICA
+BUGARSKI DUŠKO
+BUGARSKI EVICA
+BUGARSKI JOVAN
+BUGARSKI JULKA
+BUGARSKI KATA
+BUGARSKI KRSTA
+BUGARSKI KSENIJA
+BUGARSKI LAZAR
+BUGARSKI LAZAR
+BUGARSKI MILAN
+BUGARSKI MILAN
+BUGARSKI MILENA
+BUGARSKI MILENKO
+BUGARSKI MILETA
+BUGARSKI MILICA
+BUGARSKI MILORAD
+BUGARSKI MIRA
+BUGARSKI MIRJANA
+BUGARSKI MIRJANA
+BUGARSKI MIROSLAVA
+BUGARSKI MIROSLAV
+BUGARSKI NADA
+BUGARSKI NEDELJKO
+BUGARSKI NIKOLA
+BUGARSKI OLIVERA
+BUGARSKI PAJA
+BUGARSKI PAVLE
+BUGARSKI RADOSLAV
+BUGARSKI RASTKO
+BUGARSKI RATOMIR
+BUGARSKI SAVA
+BUGARSKI SAVA
+BUGARSKI SLOBODAN
+BUGARSKI SLOBODAN
+BUGARSKI SLOBODAN
+BUGARSKI SOFIJA
+BUGARSKI STEVAN
+BUGARSKI STEVAN
+BUGARSKI STEVAN
+BUGARSKI STEVAN
+BUGARSKI SVETLANA
+BUGARSKI TATJANA
+BUGARSKI VOJISLAVA
+BUGARSKI VOJISLAV
+BUGARSKI VOJISLAV
+BUGARSKI ZORA
+BUGELJ IVAN
+BUHA BRANKA
+BUHA RADIVOJE
+BUHA VUKAŠIN
+BUHMILER AGNEŠ
+BUHMILER ATILA
+BUHMILER EVA
+BUHMILER JOSIP
+BUHMILER JOSIP
+BUHMILER KARLO
+BUIŠA MILINKO
+BUILA ANA
+BUILA IRINEJ
+BUILA LJUBICA
+BUILA MAKSIMILIJAN
+BUILA MIROSLAV
+BUILA SLAVICA
+BUILA SLAVOMIR
+BUJAK EMIL
+BUJAK MATILDA
+BUJAK SAVA
+BUJANDRIĆ ANĐELKA
+BUJANDRIĆ JOVAN
+BUJANDRIĆ LJUBICA
+BUJANDRIĆ MARIJA
+BUJANDRIĆ MILIVOJ
+BUJANDRIĆ MITAR
+BUJANDRIĆ NIKOLA
+BUJANDRIĆ PAVLE
+BUJANDRIĆ PETAR
+BUJANDRIĆ SVETOZAR
+BUJANDRIĆ VLADIMIR
+BUJAS MILENKO
+BUJAS VENČESLAV
+BUJDOŠA STEVAN
+BUJDOŠIK BOHOMIL
+BUJDOŠIK KLARA
+BUJDOŠIK MIROSLAV
+BUJDOŠO IŠTVAN
+BUJIŠIĆ ŽIVKO
+BUJIĆ BORIVOJE
+BUJLA ETELKA
+BUJLA JASMINA
+BUJNOVIĆ ĐORĐE
+BUJNOVIĆ MILINKO
+BUKALOV ZORA
+BUKARA DUŠANKA
+BUKARICA DANICA
+BUKARICA JOVAN
+BUKATKA ANDREJ
+BUKATKA RADOSLAV
+BUKATKO VLADIMIR
+BUKATKOV IVAN
+BUKIĆ JAKOV
+BUKILIĆ DRAGA
+BUKILIĆ DRAGICA
+BUKIN NIKOLA DIPL ING
+BUKINAC ĐORĐE
+BUKINAC BILJANA
+BUKINAC BOGUMILA
+BUKINAC DINA
+BUKINAC GLIGORIJE
+BUKINAC IVAN
+BUKINAC JULKA
+BUKINAC LAZAR
+BUKINAC MILADIN
+BUKINAC MILAN
+BUKINAC MILICA
+BUKINAC MILOSAVA
+BUKINAC MIRKO
+BUKINAC MIROSLAV
+BUKINAC RUŽICA
+BUKINAC SLAVKO
+BUKINAC STANKA
+BUKINAC STEVAN
+BUKINAC UROŠ
+BUKOVČANIN ACA
+BUKOVAČKI MIODRAG
+BUKOVAČKI PERA
+BUKOVAČKI SVETOZAR
+BUKOVAC ANKICA
+BUKOVAC ATILA
+BUKOVAC STEVAN
+BUKOVAC VLADO
+BUKOVALA DESANKA
+BUKOVIČANIN RELJA
+BUKOVIĆ ANDRAŠ
+BUKOVICA DIMITRIJE
+BUKOVICA RANKO
+BUKTA NADA
+BUKTA ZVONKO
+BUKUMIROVIĆ MILOMIR
+BUKUMIROVIĆ MILORAD DIPL ING
+BUKURECKI BRANISLAV
+BUKURECKI SINIŠA
+BUKURIĆ TATJANA
+BUKUROV ŽARKO
+BUKUROV ŽIVAN
+BUKUROV ŽIVAN
+BUKUROV BOŠKO
+BUKUROV BRANISLAV DR PROF
+BUKUROV KSENIJA
+BUKVA VELIMIR
+BUKVIĆ ŽELJKA
+BUKVIĆ ALEKSANDAR
+BUKVIĆ BRANKO
+BUKVIĆ BUDE
+BUKVIĆ DANE
+BUKVIĆ DANILO
+BUKVIĆ DANILO
+BUKVIĆ DRAGAN
+BUKVIĆ DUŠAN
+BUKVIĆ ILIJA
+BUKVIĆ ILINKA
+BUKVIĆ JANKO
+BUKVIĆ JELISAVETA
+BUKVIĆ JOVAN
+BUKVIĆ KOVILJKA
+BUKVIĆ LJUBOMIR
+BUKVIĆ MARIJA
+BUKVIĆ MARINKO
+BUKVIĆ MILENKO
+BUKVIĆ MILKA
+BUKVIĆ MILOŠ
+BUKVIĆ MILOŠ
+BUKVIĆ MILOŠ
+BUKVIĆ MILORAD
+BUKVIĆ MIROSLAV
+BUKVIĆ MLADEN
+BUKVIĆ NOVICA
+BUKVIĆ RADOVAN
+BUKVIĆ SLAVICA
+BUKVIĆ SOFIJA
+BUKVIĆ STEVAN
+BUKVIĆ SVETOZAR
+BUKVIĆ TOMISLAV
+BUKVIĆ VELIMIR
+BUKVIĆ VLADO
+BULAIĆ RELJA
+BULAJIĆ ĐURO
+BULAJIĆ DANICA
+BULAJIĆ MIODRAG
+BULAJIĆ NATALIJA
+BULAJIĆ NEDELJKO
+BULAJIĆ VLADIMIR
+BULAKIĆ VUKAŠIN
+BULATOVIĆ ALEKSANDAR
+BULATOVIĆ BRANISLAV
+BULATOVIĆ DIMITRIJE
+BULATOVIĆ DRAGAN
+BULATOVIĆ DRAGAN
+BULATOVIĆ DUŠANKA
+BULATOVIĆ DUŠAN
+BULATOVIĆ GRADIMIR
+BULATOVIĆ ILIJA
+BULATOVIĆ MILADIN
+BULATOVIĆ MILIJANA
+BULATOVIĆ MILINKO
+BULATOVIĆ MILUTIN
+BULATOVIĆ MOMIR
+BULATOVIĆ NIKOLA
+BULATOVIĆ NIKOLA
+BULATOVIĆ NOVAK
+BULATOVIĆ PAVLE
+BULATOVIĆ PERO
+BULATOVIĆ PREDRAG
+BULATOVIĆ RADMILO
+BULATOVIĆ RADONJA
+BULATOVIĆ SAVA
+BULATOVIĆ SLAĐANA
+BULATOVIĆ SPASA
+BULATOVIĆ SVETOZAR
+BULATOVIĆ VOJIN
+BULATOVIĆ VOJISLAV
+BULATOVIĆ ZLATIJA
+BULATOVIĆ ZORAN
+BULETINAC MILOVAN
+BULEVSKA VERA
+BULIĆ ŠUĆO
+BULIĆ ADILA
+BULIĆ ANTE
+BULIĆ ARIF
+BULIĆ BORIS
+BULIĆ DRAGAN
+BULIĆ DRAGOLJUB
+BULIĆ DUŠAN
+BULIĆ MARA
+BULIĆ MARIJA
+BULIĆ MARINA
+BULIĆ OZREN
+BULIĆ PERSA
+BULIĆ PETAR
+BULIĆ PREDRAG
+BULIĆ SMILJA
+BULIĆ STEVAN
+BULIĆ TOMISLAV
+BULIK-ILEANA DORINA
+BULJ ĐURA
+BULJ BOSILJKA
+BULJ MILAN
+BULJČIK EUGEN
+BULJČIK JOAKIM
+BULJČIK MIHAJLO
+BULJČIK NIKOLA
+BULJČIK PAULINA
+BULJAK RATKO
+BULJAN DRAGUTIN DIPL ING
+BULJAN PETAR
+BULJAN SLAVICA
+BULJIĆ ILIJA
+BULJIĆ JELENA
+BULJIĆ JOVAN
+BULJIĆ LJUBICA
+BULJIĆ MILAN
+BULJIĆ MILE
+BULJIĆ NOVAK
+BULJIĆ PAVO
+BULJIĆ RADOVAN
+BULJIĆ SEKULA
+BULJIĆ SNEŽANA
+BULJIĆ STEVA
+BULJIĆ VASO
+BULJIN BRANKO
+BULJIN SLAVKO
+BULJIN TOMISLAV
+BULJOVČIĆ STIPAN
+BULJUGIĆ RADOJE
+BULOVAN BRANISLAV
+BULOVIĆ IRINEJ
+BULUM PETAR
+BULUT ANĐELKO
+BULUT NOVICA
+BUMB ANTON
+BUMBAROSKI RADA
+BUMBIĆ MILADIN DR
+BUMBIĆ RADMILA
+BUMBIĆ RAJKO
+BUMBIĆ VELJKO
+BUMBIĆ VELJKO
+BUNČIĆ ĐORĐE
+BUNČIĆ ALEKSANDAR
+BUNČIĆ ALEKSANDAR
+BUNČIĆ DRAGAN
+BUNČIĆ MARIJANA
+BUNČIĆ MILAN
+BUNAJ MUHAMED
+BUNDALESKI MILOŠ
+BUNDALO BRANKO
+BUNDALO NEBOJŠA
+BUNDALO NIKOLA
+BUNDALO SLAVKO
+BUNDALO SLOBODAN
+BUNDALO SLOBODAN
+BUNDIĆ ANTUN
+BUNETA ALEKSANDAR
+BUNETA MILAN
+BUNETA SNEŽANA
+BUNETA VUKOSAVA
+BUNIĆ DRAGAN
+BUNIĆ MILAN
+BUNJAC VASO
+BUNJAC VOJISLAV
+BUNJEVČEV ĐORĐE
+BUNJEVČEV ALEKSANDAR
+BUNJEVČEV SRĐAN
+BUNJEVAČKI ŽIVOJIN
+BUNJEVAČKI BRANKO
+BUNJEVAČKI DRAGINJA
+BUNJEVAČKI JOVANKA
+BUNJEVAČKI LJUBICA
+BUNJEVAČKI MILENA
+BUNJEVAČKI VOJISLAV
+BUNJIK ŠANDOR
+BUNJIK DRAGICA
+BUNJIK IVAN
+BUNJIK JOSIP
+BUNJIK KAROLJ
+BUNJIK ZOLTAN
+BUNJIK ZOLTAN
+BUNOVIĆ DRAGUTIN
+BUNOVIĆ LAZAR
+BUNT MIJO
+BURČER TOMISLAV
+BURŠIĆ TINKA
+BURAI ALEKSANDAR
+BURAI ANDRAŠ
+BURAI KAROLJ
+BURAI KATICA
+BURAI PETAR
+BURAJI JOSIP
+BURANJ BELA DR LEKAR
+BURANJ ENDRE
+BURANJ MARTA
+BURANJ NANDOR
+BURANJ SIDONIJA
+BURANJI MARIJA
+BURANJI NANDOR
+BURAZOR DRAGOJA
+BURAZOR ZDRAVKO
+BURBAH GERHARD
+BURBAN FILIP
+BURDA MELINDA
+BURDA STANISLAV
+BUREVIĆ MILIĆ
+BURGIĆ DRAGOJE
+BURGIĆ JOVAN
+BURGIĆ PETAR
+BURGIJAŠEV VESELIN
+BURIĆ ĐOKO DIPL ING
+BURIĆ DIMITRIJE
+BURIĆ DUŠAN DR
+BURIĆ DUŠANKA
+BURIĆ FRANJA
+BURIĆ GORDANA
+BURIĆ KATICA
+BURIĆ KOSTA
+BURIĆ LEONORA
+BURIĆ MILIVOJE
+BURIĆ NADA
+BURJAN ĐORĐE
+BURJANOVSKI STOJAN
+BURKA ELEONORA DR
+BURKA EMILIJA
+BURKA ERŽEBET
+BURKA JOVAN
+BURKA MIROSLAV
+BURKA PAVLE
+BURKA PETAR
+BURKA SOFIJA
+BURKA STEVAN
+BURKA STEVAN
+BURKERT EDVIN
+BURKIN ŽIVAN
+BURKIN ĐOKA
+BURLAK NATALIJA
+BURMAJA NIKOLA
+BURMUDŽIJA BRANKO
+BURMUDŽIJA MILAN
+BURMUDŽIJA NIKOLA
+BURNAĆ FELIKS
+BURNAĆ JELISAVETA
+BURNAĆ STEVAN
+BURNAĆ VLADIMIR
+BURNOV IVANA
+BURNOV IVAN
+BURNOV VESELINKA
+BUROVAC NADA
+BURSAĆ DARINKA
+BURSAĆ DRAGOSLAVA DIPL PRAVNIK
+BURSAĆ JOVAN
+BURSAĆ LJUBOMIR
+BURSAĆ MILANKA
+BURSAĆ MILAN
+BURSAĆ MILICA
+BURSAĆ MILORAD
+BURSAĆ MIRKO
+BURSAĆ NIKOLA
+BURSAĆ PERA
+BURSAĆ PERSA
+BURSAĆ SLOBODAN
+BURSAĆ SLOBODAN
+BURSAĆ VJEKOSLAVA
+BURSAĆ VLADO DIPL PRAVNIK
+BURSIĆ STEVAN
+BURSIĆ VLADIMIR
+BURUŠ ALEKSANDRA
+BURUŠ BOŠKO
+BURUMDŽIJA RADE
+BURZAN MIRJANA
+BURZELIĆ MILKA
+BURZELIĆ ZLATA
+BUSARČEVIĆ SLAVICA
+BUSARČEVIĆ STEVAN
+BUSIJA LJUBINKA
+BUSIJA MILAN
+BUSOV ALEKSIJE DIPL ING
+BUSOV IGOR
+BUSULADŽIĆ MUSTAFA
+BUTA LAZAR
+BUTA VOJISLAV DR
+BUTAŠ FERENC
+BUTER KSENIJA
+BUTERER IŠTVAN
+BUTERER JULIJA
+BUTERIN DEŠA
+BUTOR ALEKSANDAR
+BUTOR ENDRE
+BUTOR MIHAJLO
+BUTORAC JOSIP
+BUTORAC MARIJA
+BUTORAC ZORAN
+BUTULIJA BRANISLAV
+BUTUROVIĆ RATKO
+BUTUROVIĆ SVETOZAR
+BUZA IRENA
+BUZA KORNELIU
+BUZA MIHALJ
+BUZAŠ ŠANDOR
+BUZAŠ JOSIP
+BUZAŠ JOSIP
+BUZAŠ LAJOŠ
+BUZAŠ PAVAO
+BUZAŠ PAVLE
+BUZAŠI JOSIP
+BUZAŠI MIHAJLO
+BUZADŽIĆ LJILJANA
+BUZADŽIĆ MIRJANA
+BUZADŽIJA NENAD
+BUZADŽIJA NOVAK
+BUZALJKO JUSUF DIPL ING
+BUZANČIĆ JOSIP
+BUZANČIĆ NADEŽDA
+BUZANSKI MIŠA
+BUZAREVIĆ BRANKO
+BUZAREVIĆ RADOJKA
+BUZAREVIĆ RUŽA
+BUZAROV ŽIVAN
+BUZAROV JOVAN
+BUZAROV ZORA
+BUZARSKI ĐORĐE
+BUZGO JANOŠ
+BUZOGANJ MARIJA
+CACKO MARIJA
+CAJIĆ MILOŠ
+CAJNER JELENA
+CAJNER LJUBICA
+CAJNER STEVAN
+CAJNER STEVA
+CAKIĆ DUŠANKA
+CAKIĆ GORDANA
+CAKIĆ JELENKO
+CAKIĆ MIROSLAV
+CAKIĆ PETAR
+CAKIĆ STEVAN
+CANDIR FRANJA
+CANIĆ LJILJANA
+CANIĆ VELIMIR
+CAP ĐURA
+CAP BOŠKO
+CAP JOAKIM
+CAP JOVAN
+CAP NENAD
+CAP NENAD
+CAP RADOJKA
+CAP TAMARA
+CAPAR-JANKOVIĆ VALERIJA
+CAPAR JANOŠ
+CAPAR JOVAN
+CAPAR MARIJA
+CAPAR MARIJA
+CAPIK JOSIP
+CAPIK LJUDEVIT
+CAR MARIJA
+CARAN BOŠKO
+CARAN GEORGE
+CARAN PERSA
+CARAN PETAR
+CARANOVIĆ STANOJE
+CAREVIĆ ŽIVAN
+CAREVIĆ ŽIVKA
+CAREVIĆ ĐORĐE
+CAREVIĆ DUŠAN
+CAREVIĆ ESTER
+CAREVIĆ KATICA
+CAREVIĆ MIHAJLO
+CAREVIĆ MILENA
+CAREVIĆ MILE
+CAREVIĆ NADA
+CAREVIĆ PETAR
+CAREVIĆ SAVA
+CAREVIĆ SLAVKO
+CAREVIĆ SLAVKO
+CAREVIĆ STEVAN
+CAREVIĆ SVETOZAR
+CARIČIĆ SLAVKO
+CARIĆ ANDRIJA
+CARIĆ BRANKO
+CARIĆ GOJKO
+CARIĆ LAZAR
+CARIĆ MARIJA
+CARIĆ MIRJANA
+CARIĆ SLAVKO DR PROF
+CARIĆ SLOBODAN DR
+CARIĆEVIĆ MILENKO
+CARO GORAN
+CATIĆ LAZAR
+CAVNIĆ MARTA
+CAVNIĆ SVETLANA
+CAZIN DRAGAN
+CE PAVLE
+CECEL MARIJA
+CEGLEDI ĐURO
+CEHOLA FERENC
+CEKIĆ BORISLAV
+CEKIĆ BORIVOJE
+CEKIĆ BORKO
+CEKIĆ JULKA
+CEKIĆ PETAR
+CEKIĆ RADMILA
+CEKUŠ EVA
+CELIĆ BRANKO
+CELIN MILAN
+CELIN MILAN
+CENAJ TAHIR
+CENDER ANGELINA
+CENIĆ MILOVAN
+CEP STEVAN
+CEPF STEVAN
+CERGOL VIDOSAVA
+CERIĆ DANICA
+CERIĆ MEHMED
+CERNA RUDOLF
+CEROVAC ZORKA
+CEROVIĆ BATRIĆ
+CEROVIĆ BOGDAN
+CEROVIĆ BOJANA
+CEROVIĆ DARINKA
+CEROVIĆ IKONIJA
+CEROVIĆ LJUBIVOJE
+CEROVIĆ MIŠO
+CEROVIĆ NENAD
+CEROVIĆ NOVAK
+CEROVIĆ PETAR
+CEROVIĆ SLOBODAN
+CEROVIĆ SRETEN
+CEROVIĆ TOMISLAV
+CEROVIĆ UROŠ
+CEROVSKI DANIJEL
+CESNAK JANKO
+CESNAK PAVLE
+CESNAK ZLATKO
+CETENJI JOVAN
+CETINA JOVAN
+CETINA LJILJANA
+CEVC FRANJA
+CEVC SONJA
+CIBRIĆ TODOR
+CIBULA ĐURA
+CIBULA BELA
+CIBULA JANKO
+CIBULA JOVAN
+CIBULA JOVAN
+CIBULA MARJENKA
+CIBULA MIŠA
+CIBULA PERA
+CICERI FERENC
+CICERI KAROLJ
+CICERI LASLO
+CICERI MATILDA
+CICERI PERA
+CICERI VINKO
+CICKA ŠĆEFAN
+CICKA JAN
+CICMIL BOŽIDAR
+CICMIL BRANKO
+CICMIL KRSTO
+CICMIL MARIJA
+CICMIL MARKO
+CICMIL MILAN
+CICMIL STOJAN
+CICMIL TATJANA
+CICMIL ZORAN
+CICMILOVIĆ DRAGAN
+CICMILOVIĆ ZORKA
+CICO DUŠAN
+CICVARIN LJUBOMIR
+CIFRIĆ GALIB
+CIGAN ANTUN
+CIGAN IVAN
+CIGANJ JOSIP
+CIGANOVIĆ BRANKO
+CIGANOVIĆ DANE
+CIGANOVIĆ DUŠAN
+CIGANOVIĆ MILORAD
+CIGANOVIĆ OSTOJA
+CIGANOVIĆ RAJKO
+CIGANOVIĆ STEVO
+CIGIĆ IVAN
+CIGLER SNEŽANA
+CIGLJECKI FRANJA
+CIGLJECKI VERA
+CIKORA ŽUŽANA
+CIKOTA ŽELJKO
+CIKOTA OLGA
+CIKOTA SLAVKO
+CIKUŠA JOVAN
+CIKUŠA ZORAN
+CIMBAL ALEKSANDAR
+CIMBAL ALEKSANDAR
+CIMBAL TIBOR
+CIMBAL VERICA
+CIMBALJEVIĆ ZLATANA
+CIMERMAN LADISLAV
+CIMERMAN SMILJA
+CINCOVIĆ ŽIVKA
+CINDER VIDA
+CINDRIĆ ĐORĐE
+CINDRIĆ ERŽEBET
+CINDRIĆ PETAR DR
+CINGARA ALEKSANDAR
+CINGELI MILENA
+CINGI KARLO
+CINKLER JELISAVETA DIPL ING
+CINKLER JULIJE
+CINKLER KALMAN DIPL ING
+CINKLER KALMAN DIPL ING
+CINKLER KALMAN
+CINKLER MAGDOLNA
+CINKOCKI ĐORĐE
+CINKOCKI VOJISLAV
+CIPRUŠ ALEKSANDRA
+CIRBUS MARIJA
+CIRGER DUŠANKA
+CIROK ŠANDOR
+CITKOVIĆ IVKA
+CITKOVIĆ SLOBODAN
+CIVRIĆ MILKA
+CMILJANOVIĆ DRAGIŠA
+COCEK ŠTEFANIJA
+COCEK IMRE
+COCEK JOSIP
+COCEK STEVAN
+COCIN MIRA
+COCO VAHDETA
+COLIĆ BOŽIDAR
+COLIĆ BOGOSAV
+COLIĆ FRANJA
+COLIĆ JOSIP
+COLIĆ KATICA
+COLIĆ LADISLAV
+COLIĆ SVETLANA
+CONIĆ DRAGINJA
+CONIĆ JANKO MR ING
+CONIĆ MIODRAG
+COPKOV ŽELJKO
+CREPIĆ LADISLAV
+CREPULIĆ VIDOSAVA
+CREPULJA TODOR
+CREVAR BOGDAN
+CREVAR MILUTIN DIPL ING
+CREVAR SIMA
+CREVAR SLAVKO
+CRKVENJAKOV DANICA
+CRKVENJAKOV DUŠANKA
+CRKVENJAKOV SULTANIJA
+CRNČEVIĆ DARINKA
+CRNČEVIĆ MIRKO
+CRNČEVIĆ MIRKO
+CRNČEVIĆ NEDELJKA
+CRNČEVIĆ SLAVKO
+CRNČEVIĆ VERA
+CRNČEVIĆ VLADO
+CRNADAK VLATKO
+CRNI VERICA
+CRNI ZORICA
+CRNIĆ BRANKA
+CRNIĆ DRAGAN
+CRNIĆ GORAN
+CRNIĆ MARKO
+CRNIĆ MILAN
+CRNIĆ MILUTIN
+CRNIĆ NIKOLA
+CRNIĆ OSTOJA
+CRNIĆ RADOMIR
+CRNIĆ SOFIJA
+CRNIĆ UGLJEŠA
+CRNIĆ VASA
+CRNIĆ VERA
+CRNJAC MILENA
+CRNJAK ŽIVANKA
+CRNJAKOV DIMITRIJE
+CRNJANIN BRANISLAVA
+CRNJANIN ZAGORKA
+CRNJANSKI-ČENGERI KRISTINA
+CRNJANSKI ŽARKO
+CRNJANSKI ĐOKA
+CRNJANSKI BUDIMKA
+CRNJANSKI IVAN
+CRNJANSKI JELENA
+CRNJANSKI KATICA
+CRNJANSKI KUZMAN
+CRNJANSKI LAZAR
+CRNJANSKI RADIVOJ
+CRNJANSKI SANJA
+CRNJANSKI STEVAN
+CRNJANSKI VLADIMIR
+CRNJANSKI ZORAN
+CRNJANSKI ZORAN
+CRNKOVIĆ NIKOLA
+CRNKOVIĆ-SAVIĆ LJILJANA
+CRNKOVIĆ ZLATA
+CRNOBARAC DUŠAN
+CRNOBARAC JOVAN
+CRNOBRNJA MILAN
+CRNOBRNJA MIRJANA
+CRNOBRNJA PETAR
+CRNOGLAVAC MIHAJLO
+CRNOGLAVAC RADOSLAV
+CRNOGORČEVIĆ JELICA
+CRNOGORAC ĐOKO
+CRNOGORAC BORIŠA
+CRNOGORAC BOSILJKA
+CRNOGORAC DRAGAN
+CRNOGORAC DRAGOLJUB
+CRNOGORAC DUŠAN
+CRNOGORAC MILAN
+CRNOGORAC MILKA
+CRNOGORAC MILOSAV
+CRNOGORAC MIROSLAV
+CRNOGORAC PAVLE
+CRNOGORAC SLOBODAN
+CRNOGORAC SVETLANA
+CRNOGORAC VELIMIR DR
+CRNOGORAC ZDRAVKO
+CRNOGORAC ZORICA
+CRNOJA ANTE
+CRNOJA SLAVICA
+CRNOJAČKI BOGDAN
+CRNOJAČKI DANICA DR
+CRNOJAČKI DANILO
+CRNOJAČKI DRAGAN
+CRNOJAČKI DRAGOMIR
+CRNOJAČKI GORDANA
+CRNOJAČKI JOVAN
+CRNOJAČKI KATICA
+CRNOJAČKI MILENA DR
+CRNOJAČKI MILOŠ
+CRNOJAČKI MLADEN
+CRNOJAČKI OBRAD
+CRNOJAČKI OBRAD
+CRNOJAČKI RADMILA
+CRNOJAČKI SOFIJA
+CRNOJAČKI VLADIMIR
+CRNOJAČKI ZORICA
+CRNOKRAK JOVAN
+CRNOKRAK MILOŠ
+CRNOKRAK STEVAN
+CRNOMARKOVIĆ BOGDAN
+CRNOMARKOVIĆ DUŠAN
+CRNOMARKOVIĆ DUŠAN
+CRNOMARKOVIĆ GOJKO
+CRNOMARKOVIĆ LUKA
+CRNOMARKOVIĆ NIKOLA
+CRNOMARKOVIĆ PETAR
+CRNOMARKOVIĆ RANKO
+CRNOMARKOVIĆ STOJAN
+CRNOMARKOVIĆ VERICA
+CRNOMUT MIHAJLO
+CRVENI ŽARKO
+CRVENI ANA
+CRVENI BISERKA
+CRVENI DRAGAN
+CRVENI MARKO
+CRVENI MILAN
+CRVENI MILENKO
+CRVENI MIOMIR
+CRVENI SIMA
+CRVENI STEVAN
+CRVENI STEVAN
+CRVENKO JANKO
+CRVENKO MILAN
+CRVENKO RADOMIR
+CRVENKOV BORISLAV
+CRVENKOV MILOSAVA
+CRVENKOV PETAR
+CRVENKOVIĆ ĐORĐE
+CRVENKOVIĆ ĐURĐICA
+CRVENKOVIĆ PETAR
+CRVENKOVIĆ RADENKO
+CRVENKOVIĆ SINIŠA DR
+CRVENKOVIĆ VITOMIR
+CUCAK MIRJANA
+CUCAK RAHIM
+CUCIĆ ALEKSANDAR
+CUCIĆ BORISLAV
+CUCIĆ GINA
+CUCIĆ JELKA
+CUCIĆ LJILJANA
+CUCIĆ STANA
+CUCIĆ STANOJLO
+CUCIĆ VERA
+CUCIĆ VESNA
+CUCIĆ VLADIMIR
+CUCOVIĆ RAFET
+CUGLI JOVAN
+CUKIĆ RADA
+CUKIĆ RADOJICA
+CUKIĆ SVETOZAR
+CUNJAK MILUTIN
+CUPAĆ SVETOMIR DIPL PRAVNIK
+CUPARIĆ TOMA
+CURAKOVIĆ MILIVOJE
+CVEJANOV JELENA
+CVEJANOV NEBOJŠA
+CVEJANOV PREDRAG
+CVEJANOV VELIBOR
+CVEJANOVIĆ KSENIJA
+CVEJANOVIĆ LAZAR
+CVEJANOVIĆ NADA
+CVEJANOVIĆ NIKOLA
+CVEJANOVIĆ SPOMENKA
+CVEJANOVIĆ VIDOSAVA
+CVEJANOVIĆ VOJISLAV
+CVEJANOVIĆ ZORICA
+CVEJIĆ ČEDOMIR
+CVEJIĆ ŽARKO
+CVEJIĆ ŽIVOJIN
+CVEJIĆ ĐORĐE DR
+CVEJIĆ ĐURĐINKA
+CVEJIĆ ALEKSANDAR DR
+CVEJIĆ ALEKSANDAR
+CVEJIĆ ALEKSANDAR
+CVEJIĆ BOŽIDAR
+CVEJIĆ BORIVOJ
+CVEJIĆ DRAGAN
+CVEJIĆ DRAGOSLAV
+CVEJIĆ DRAGUTIN
+CVEJIĆ IGNJAT
+CVEJIĆ IVAN
+CVEJIĆ JELENA
+CVEJIĆ KATICA
+CVEJIĆ LAZAR
+CVEJIĆ MILAN
+CVEJIĆ MILAN
+CVEJIĆ MILISAV
+CVEJIĆ MILOŠ
+CVEJIĆ MIODRAG
+CVEJIĆ MIRJANA
+CVEJIĆ NADEŽDA
+CVEJIĆ NEDELJKA
+CVEJIĆ NIKOLA DIPL ING
+CVEJIĆ NIKOLA
+CVEJIĆ OLGA
+CVEJIĆ PAVLE
+CVEJIĆ RADOSLAV
+CVEJIĆ RADOVAN
+CVEJIĆ RUŽICA
+CVEJIĆ SLAVOLJUB
+CVEJIĆ STEVAN
+CVEJIĆ STEVAN
+CVEJIĆ VLADAN
+CVEJIĆ ZAGORKA
+CVEJIN BOŽA
+CVEJIN BOJANA
+CVEJIN DUŠAN DIPL ING
+CVEJIN MARIJA
+CVEJIN MILAN
+CVEJIN MILOŠ
+CVEJIN MIRJANA
+CVEJIN NOVAK
+CVEJIN SLOBODAN
+CVEJIN TRIVA
+CVEKIĆ MILETA
+CVEKIĆ VOJIN
+CVEKIĆ ZLATICA
+CVERDELJ JANKO
+CVERDELJ RUŽA
+CVERNJAK JENE
+CVETANOVIĆ ANITA
+CVETANOVIĆ DRAGOSLAV
+CVETANOVIĆ JELENA
+CVETANOVIĆ JERMINA DR LEKAR
+CVETANOVIĆ MAGDOLNA
+CVETANOVIĆ RADICA
+CVETANOVIĆ STOJADIN
+CVETANOVIĆ STOJANKA
+CVETANOVIĆ VELJA
+CVETANOVIĆ ZORAN
+CVETANOVIĆ ZORAN
+CVETANOVIĆ ZORAN
+CVETANOVSKI MANOJLO
+CVETANOVSKI MILE
+CVETIČANIN LJUBICA
+CVETIČANIN MILKA
+CVETIČANIN VESNA
+CVETIČANIN ZORAN
+CVETIĆ BOŠKO
+CVETIĆ DRAGOMIR
+CVETIĆ LAZAR
+CVETIĆ LAZO
+CVETIĆ LJUBICA
+CVETIĆ MARIJA
+CVETIĆ PETAR
+CVETIĆ SLAVKO
+CVETIĆ STANKO
+CVETIĆANIN BOŠKO
+CVETIĆANIN BRANKO
+CVETIĆANIN DANE
+CVETIĆANIN DANICA
+CVETIĆANIN DRAGOMIR
+CVETIĆANIN ILIJA
+CVETIĆANIN IRENA
+CVETIĆANIN MILOŠ
+CVETIĆANIN MILORAD
+CVETIĆANIN MIROSLAV
+CVETIĆANIN SNEŽANA
+CVETIĆANIN ZORAN
+CVETINIĆ MARKO
+CVETINIĆ MATIJA
+CVETINJANIN TOMISLAV
+CVETINOV SAVA
+CVETINOVIĆ ANKA
+CVETINOVIĆ BRANA
+CVETINOVIĆ BRANKO
+CVETINOVIĆ DIMITRIJE
+CVETINOVIĆ ILIJA
+CVETINOVIĆ IVANKO
+CVETINOVIĆ MILAN
+CVETINOVIĆ SIMO
+CVETINOVIĆ VERA
+CVETINOVIĆ ZORA
+CVETKOV JOVAN
+CVETKOV MILAN DIPL ING
+CVETKOV RADOJE
+CVETKOVIĆ ČEDOMIR
+CVETKOVIĆ ŽIVOJIN
+CVETKOVIĆ ĐORĐE
+CVETKOVIĆ ĐORĐE
+CVETKOVIĆ ALEKSANDAR
+CVETKOVIĆ ALEKSANDAR
+CVETKOVIĆ ALEKSANDAR
+CVETKOVIĆ ANKA
+CVETKOVIĆ BOJANA
+CVETKOVIĆ BORA
+CVETKOVIĆ BORISLAV
+CVETKOVIĆ BORISLAV
+CVETKOVIĆ BRANISLAV
+CVETKOVIĆ BRANKO
+CVETKOVIĆ BRANKO
+CVETKOVIĆ BUDIMIR
+CVETKOVIĆ DARINKA
+CVETKOVIĆ DESIMIR
+CVETKOVIĆ DRAGAN
+CVETKOVIĆ DRAGAN
+CVETKOVIĆ DRAGAN
+CVETKOVIĆ DRAGAN
+CVETKOVIĆ DRAGIŠA
+CVETKOVIĆ DRAGOLJUB
+CVETKOVIĆ DRAGOMIR MR
+CVETKOVIĆ DRAGOMIR
+CVETKOVIĆ DUŠAN
+CVETKOVIĆ DUŠAN
+CVETKOVIĆ-GLADIĆ SMILJA
+CVETKOVIĆ GROZDA
+CVETKOVIĆ ILIJA
+CVETKOVIĆ IVANKA
+CVETKOVIĆ JELENA
+CVETKOVIĆ JELENA
+CVETKOVIĆ JELKA
+CVETKOVIĆ JOVAN
+CVETKOVIĆ JOVAN
+CVETKOVIĆ JOVAN
+CVETKOVIĆ LIVIA
+CVETKOVIĆ LJILJANA
+CVETKOVIĆ LJILJANA
+CVETKOVIĆ MELANIJA
+CVETKOVIĆ MILAN
+CVETKOVIĆ MILAN
+CVETKOVIĆ MILICA
+CVETKOVIĆ MIODRAG
+CVETKOVIĆ MIODRAG
+CVETKOVIĆ MIODRAG
+CVETKOVIĆ MIRA
+CVETKOVIĆ MIRJANA
+CVETKOVIĆ MIROSLAV DR
+CVETKOVIĆ MIROSLAV
+CVETKOVIĆ NIKOLA
+CVETKOVIĆ NIKOLA
+CVETKOVIĆ NIKOLA
+CVETKOVIĆ PETAR
+CVETKOVIĆ RADMILA
+CVETKOVIĆ RADOJKO
+CVETKOVIĆ RADOSLAV
+CVETKOVIĆ RADOSLAV
+CVETKOVIĆ RADOVAN
+CVETKOVIĆ RADULA
+CVETKOVIĆ RATOMIR
+CVETKOVIĆ RISTO
+CVETKOVIĆ RUŽICA
+CVETKOVIĆ SLAVOLJUB
+CVETKOVIĆ SOKA
+CVETKOVIĆ SRBOBRAN
+CVETKOVIĆ STANKO
+CVETKOVIĆ STANOJE
+CVETKOVIĆ STANOJE
+CVETKOVIĆ SVETOZAR
+CVETKOVIĆ TATJANA
+CVETKOVIĆ TONI
+CVETKOVIĆ VELIMIR
+CVETKOVIĆ VLADIMIR
+CVETKOVIĆ ZORA
+CVETKOVSKI BORIS
+CVETKOVSKI DRAGOLJUB
+CVETKOVSKI NIKOLA
+CVETKOVSKI VOJO
+CVETOJEVIĆ LJILJANA
+CVETOJEVIĆ LJILJANA
+CVETOJEVIĆ MILISAV
+CVETOJEVIĆ SLAVKO
+CVIJAN MARIJA
+CVIJAN MARKO
+CVIJANOVIĆ ANĐA
+CVIJANOVIĆ ANA
+CVIJANOVIĆ ANTO
+CVIJANOVIĆ BOŠKO
+CVIJANOVIĆ BORO
+CVIJANOVIĆ DOBRICA
+CVIJANOVIĆ DRAGAN
+CVIJANOVIĆ DRAGUTIN
+CVIJANOVIĆ DUŠANKA
+CVIJANOVIĆ ILIJA
+CVIJANOVIĆ MILAN
+CVIJANOVIĆ MILAN
+CVIJANOVIĆ MILAN
+CVIJANOVIĆ MILEVA
+CVIJANOVIĆ MIROSLAV
+CVIJANOVIĆ MOMIR
+CVIJANOVIĆ PETAR
+CVIJANOVIĆ RADE
+CVIJANOVIĆ RANKO
+CVIJANOVIĆ SAVA
+CVIJANOVIĆ SLAVKO
+CVIJANOVIĆ SNEŽANA
+CVIJANOVIĆ VOJISLAV
+CVIJANOVIĆ ZLATA
+CVIJETAN MIRKO
+CVIJETIČANIN JOVO
+CVIJETIĆ IGOR
+CVIJETIĆ JOVO
+CVIJETIĆ MILE
+CVIJETIĆ NADA
+CVIJETINOVIĆ RUŽA
+CVIJETINOVIĆ RUŽICA
+CVIJETINOVIĆ SINIŠA
+CVIJIĆ ŽELJKO
+CVIJIĆ DRAGAN
+CVIJIĆ GORAN
+CVIJIĆ JELISAVA
+CVIJIĆ JOVANKA
+CVIJIĆ MILENKO
+CVIJIĆ MIODRAG
+CVIJIĆ MLAĐA
+CVIJIĆ NIKOLA
+CVIJIĆ PANTE
+CVIJIĆ RUŽICA
+CVIJIĆ STEVAN
+CVIJIN BRANKO
+CVIJOVIĆ MILENKO
+CVIJOVIĆ MILIVOJE
+CVIJOVIĆ NEĐELJKA
+CVIJOVIĆ RADOSAV
+CVIJOVIĆ VOJIN
+CVIKIĆ MIHAILO
+CVING JOSIP
+CVITANOVIĆ SNEŽANA
+CVITKO PETAR
+CVITKOVAC MARKO
+CVJETAN OLGA
+CVJETIĆ ILIJA
+CVJETIĆANIN ŽIVKO
+CVJETIĆANIN GOJKO
+CVJETIĆANIN STEVO
+CVJETKOVIĆ MIODRAG
+CVJETKOVIĆ NEBOJŠA
+CVJETOJEVIĆ ČEDOMIR
+CVOROVIĆ RADOŠ
+CVRKALJ ĐURO
+DŽABASAN DRAGOJE
+DŽABIĆ MILKA
+DŽADŽIĆ VUKOSAVA
+DŽAFEROVSKI REĐEP
+DŽAFIĆ HAMDIJA
+DŽAFO MATIJA
+DŽAJA MARICA
+DŽAKIĆ ČEDO
+DŽAKIĆ BOŽANA
+DŽAKIĆ LAZA
+DŽAKOVIĆ DRAGAN
+DŽAKULA ERŽEBET
+DŽAKULA ERŽEBET
+DŽAKULA IVAN
+DŽAKULA MARICA
+DŽAKULA NEDELJKO
+DŽAKULA PETAR
+DŽAKULA RADE
+DŽAKULA VIDOSAV
+DŽAKULIN DUŠANKA
+DŽAKULIN PETAR
+DŽAKULIN STEVAN
+DŽALIĆ STOJAN
+DŽAMBARSKI JOVAN
+DŽAMBAS DUŠAN DR LEKAR
+DŽAMBAS MILE
+DŽAMBASOVIĆ MILENKO
+DŽAMBIĆ BRANKO
+DŽAMBIĆ MILOVAN
+DŽAMBIĆ RADOVAN
+DŽAMBIĆ SLAVKO
+DŽAMBIĆ SRETA
+DŽANIĆ SAVA
+DŽANIĆ STAZA
+DŽARIĆ DOBRINKA
+DŽARIĆ RADOMIR
+DŽELETOVIĆ MILADIN
+DŽELETOVIĆ MILAN
+DŽELETOVIĆ MLADEN
+DŽELETOVIĆ RADOJKA
+DŽELETOVIĆ SLOBODAN
+DŽELETOVIĆ TOMO
+DŽELILOVIĆ JANA
+DŽEPINA JOVAN
+DŽEVELEKIDIS MARINA
+DŽEVELEKIDIS PANTA
+DŽEVER NEDELJKO
+DŽEVERDANOVIĆ ANITA
+DŽEVERDANOVIĆ LAZAR
+DŽEVERDANOVIĆ NASTO
+DŽEVERDANOVIĆ VELIZAR
+DŽIDA KATICA
+DŽIDA KATICA
+DŽIDA MILADIN
+DŽIDA MILOMIR
+DŽIGURAŠ MILENKO
+DŽIGURSKI BORIVOJ
+DŽIGURSKI BRANIMIR
+DŽIGURSKI BRANKO
+DŽIGURSKI DANILO
+DŽIGURSKI DUŠKO
+DŽIGURSKI LJILJANA
+DŽIGURSKI LJILJANA
+DŽIGURSKI MARIJA
+DŽIGURSKI MARIJA
+DŽIGURSKI MILAN
+DŽIGURSKI MILENKO
+DŽIGURSKI PETAR
+DŽIGURSKI PREDRAG
+DŽIKIĆ MILAN
+DŽILITOV ALEKSANDAR
+DŽILITOV KATICA
+DŽILITOV STEVAN
+DŽILITOV STEVA
+DŽILITOV VELINKA
+DŽILVIDŽIJEV MITKO
+DŽIN MIRKO
+DŽINIĆ MIROSLAV DR
+DŽINIĆ MIROSLAV
+DŽINOVIĆ VESELIN
+DŽIRIĆ RUŽICA
+DŽODŽO RISTO
+DŽODAN DRAGA
+DŽODAN MIRJANA
+DŽODAN NIKOLA
+DŽODAN VERA
+DŽOGANOVIĆ MILORAD
+DŽOGOVIĆ ŽIVAN
+DŽOGOVIĆ MILUN
+DŽOLEV ASEN DR STOMATOLOG
+DŽOLEV ASEN
+DŽOLEV ASEN
+DŽOLEV MITKO
+DŽOLEV PANDE
+DŽOLIĆ GORDANA
+DŽOLIĆ TOMISLAV
+DŽOMBA ŽIVKO
+DŽOMBETA KOSTA
+DŽOMBETA MILOŠ
+DŽOMBETA NIKOLA
+DŽOMBETA SVETOZAR
+DŽOMBETA VLADO
+DŽOMBIĆ DUŠAN
+DŽOMBIĆ MILJA
+DŽOMBIĆ SOKA
+DŽONLEZ PIROŠKA
+DŽOPALIĆ DRAGAN
+DŽUDŽAR ĐURA
+DŽUDŽAR JOAKIM
+DŽUDŽAR SLAVKO
+DŽUDOVIĆ SMILJKA
+DŽUDOVIĆ VASO
+DŽUKLEVSKI SAŠA
+DŽUKLJEV DRAGAN
+DŽUKLJEV STOJAN
+DŽUNIĆ ŽIVORAD
+DŽUNIĆ MILIVOJE
+DŽUNIĆ MIRJANA
+DŽUNIĆ RADOMIR
+DŽUNJA AMALIJA
+DŽUNJA EVGENIJE
+DŽUNJA GORDANA
+DŽUNJA IRENA
+DŽUNJA IVAN
+DŽUNJA JAKIM
+DŽUNJA JANKO
+DŽUNJA JELENA
+DŽUNJA LJUBOMIR
+DŽUNJA MIRON
+DŽUNJA VLADIMIR
+DŽUNJA ZVONIMIR
+DŽUVER VESELINKA
+DŽUVER VOJISLAV
+DŽUVEROVIĆ IVANKA
+DAČEVIĆ MILAN
+DAČEVIĆ MOMIR
+DAČIĆ DUŠAN
+DAČIĆ KRISTINA
+DAČIĆ LJUBOMIR
+DAČIĆ MIŠA
+DAČIĆ MILAN PROFESOR
+DAČIĆ MILAN
+DAČIĆ MILICA
+DAČIĆ NADEŽDA
+DAČIĆ RADMILA
+DAČIĆ VELINKA
+DAČIĆ VLASTIMIR
+DAŠIĆ-GULD LJILJANA
+DAŠIĆ MARIJA
+DAŠIĆ MILENKO
+DAŠIĆ RADULE
+DAŠIĆ VLADO
+DAŽĐU NISTOR
+DABANOVIĆ DANICA
+DABANOVIĆ VASILIJE
+DABERER ANTONIJA
+DABETIĆ RADISAV
+DABETIĆ RADOMIR
+DABIĆ ČEDOMIR DIPL OEC
+DABIĆ ĐORĐE
+DABIĆ ALEKSANDAR
+DABIĆ BORKO
+DABIĆ GOSPAVA
+DABIĆ JOVAN
+DABIĆ JOVAN
+DABIĆ MARIJA
+DABIĆ MARKO
+DABIĆ MILAN
+DABIĆ MILOŠ
+DABIĆ MILORAD
+DABIĆ MILUTIN
+DABIĆ MIODRAG
+DABIĆ NEDELJKO
+DABIĆ NENAD
+DABIĆ NENAD
+DABIĆ NENAD
+DABIĆ RADOMIR
+DABIĆ SLAVKO
+DABIĆ STEVAN
+DABIĆ SVETA
+DABIĆ VOJISLAV
+DABIN ĐORĐE
+DABOVIĆ BOGDAN
+DABOVIĆ BRANKO
+DACIN ŽELJKO
+DADAI ĐULA
+DADAI BARBARA
+DADAI LADISLAV
+DADAI LADISLAV
+DADAI LASLO
+DADAI STEVAN
+DADIĆ BRANISLAV
+DADIĆ LJUBICA
+DAIĆ LUKA
+DAIĆ MILAN
+DAJČ MIHAJLO
+DAJČ NADA
+DAJČ RUBEN
+DAJČ ZORICA
+DAJIĆ BRANKO
+DAJIĆ DRAGICA
+DAJIĆ DUŠAN
+DAJIĆ LJILJANA
+DAJIĆ VELIMIR
+DAJKO VLADIMIR
+DAJKO VLADIMIR
+DAJOVIĆ ZORA
+DAKIĆ ĐORĐE
+DAKIĆ ANTE
+DAKIĆ BOJANA
+DAKIĆ BORIS
+DAKIĆ BORKA
+DAKIĆ BRANKA
+DAKIĆ DANE
+DAKIĆ DANILO
+DAKIĆ DRAGO
+DAKIĆ DRAGO
+DAKIĆ DUŠANKA
+DAKIĆ GOJKO
+DAKIĆ ILIJA
+DAKIĆ JELENA
+DAKIĆ KSENIJA
+DAKIĆ MILAN
+DAKIĆ MILOJE
+DAKIĆ MILOMIR
+DAKIĆ MITAR
+DAKIĆ NEBOJŠA
+DAKIĆ NEDELJKO
+DAKIĆ NEDELJKO
+DAKIĆ NIKOLA
+DAKIĆ NIKOLA
+DAKIĆ PAVLE
+DAKIĆ PETAR
+DAKIĆ RAJKO
+DAKIĆ RANKO
+DAKIĆ RATKO
+DAKIĆ RELJA
+DAKIĆ SLAVICA
+DAKIĆ SLAVKO
+DAKIĆ SLOBODAN
+DAKIĆ SRETEN
+DAKIĆ SVETOZAR
+DAKIĆ VLADIMIR DR
+DAKIĆ VLADIMIR DR
+DAKIĆ VLADIMIR
+DAKIĆ VLADIMIR
+DAKIĆ VLADO
+DAKIĆ ZORAN
+DAKOVIĆ ĐOKO
+DAKOVIĆ BRANKO
+DAKOVIĆ VESELIN
+DAKOVIĆ ZORAN
+DAKSER JOVAN
+DAKSER STEVAN
+DALČEKOVIĆ ILIJA
+DALIPOV BUDIMIR
+DALIPOVIĆ ABDUL
+DALJAC LJUBICA
+DALJEV LJILJANA
+DALJEV MILAN
+DALMACIJA JADRANKA
+DALMACIJA MIRKO
+DALOŠ MARIJA
+DAMŠIĆ JOSIF
+DAMJAN JELISAVETA
+DAMJAN JON
+DAMJANAC RADMILA
+DAMJANAC RADOVAN
+DAMJANAC STOJANKA
+DAMJANIĆ ZORICA
+DAMJANOSKA SLAVKA
+DAMJANOV ŽIKA
+DAMJANOV ĐORĐE
+DAMJANOV BILJANA
+DAMJANOV BRANKA
+DAMJANOV CVETKO
+DAMJANOV DIMITRIJE
+DAMJANOV DRAGOMIR
+DAMJANOV IDA
+DAMJANOV JORDANKA
+DAMJANOV JOVAN
+DAMJANOV KATICA
+DAMJANOV LAZA
+DAMJANOV MILENKO
+DAMJANOV MILENKO
+DAMJANOV PAVLE
+DAMJANOV SOFIJA
+DAMJANOV STANKO
+DAMJANOV STEVAN
+DAMJANOVIĆ ĐORĐE
+DAMJANOVIĆ ALEKSANDAR
+DAMJANOVIĆ ARSENIJE
+DAMJANOVIĆ BOŠKO
+DAMJANOVIĆ BORISLAV
+DAMJANOVIĆ DARINKA
+DAMJANOVIĆ DRAGICA
+DAMJANOVIĆ DRAGOSLAV
+DAMJANOVIĆ DRAGO
+DAMJANOVIĆ DRAGUTIN
+DAMJANOVIĆ DUŠAN
+DAMJANOVIĆ DUŠAN
+DAMJANOVIĆ DUŠICA
+DAMJANOVIĆ DUŠKO
+DAMJANOVIĆ EMIL
+DAMJANOVIĆ GORDANA
+DAMJANOVIĆ JOVAN
+DAMJANOVIĆ JOVAN
+DAMJANOVIĆ JOVO
+DAMJANOVIĆ LJILJANA
+DAMJANOVIĆ LJUBIŠA
+DAMJANOVIĆ LJUBICA
+DAMJANOVIĆ MARIJA
+DAMJANOVIĆ MILAN
+DAMJANOVIĆ MILAN
+DAMJANOVIĆ-MILENKOVIĆ JELENA
+DAMJANOVIĆ MIODRAG
+DAMJANOVIĆ NOVO
+DAMJANOVIĆ OBRAD
+DAMJANOVIĆ PETAR
+DAMJANOVIĆ RADE
+DAMJANOVIĆ RADOVAN
+DAMJANOVIĆ RANKO
+DAMJANOVIĆ RATKO
+DAMJANOVIĆ SIMO
+DAMJANOVIĆ SINIŠA
+DAMJANOVIĆ SLAVKO
+DAMJANOVIĆ SLOBODANKA
+DAMJANOVIĆ SNEŽANA
+DAMJANOVIĆ STANISLAV
+DAMJANOVIĆ STEVAN
+DAMJANOVIĆ STEVAN
+DAMJANOVIĆ STEVO
+DAMJANOVIĆ TEREZA
+DAMJANOVIĆ TODOR
+DAMJANOVIĆ TOMISLAV
+DAMJANOVIĆ VASILIJE DR
+DAMJANOVIĆ VASILIJE
+DAMJANOVIĆ VASILIJE
+DAMJANOVIĆ VOJISLAV
+DAMJANOVIĆ ZORAN
+DAMJANOVSKI ŽIVKO
+DAMJANOVSKI ALEKSANDAR
+DAMJANOVSKI ALEKSANDAR
+DAMJANOVSKI MILAN
+DAMJANOVSKI RUŽICA
+DAMJANOVSKI VLADIMIR
+DAMLJANOVIĆ ŽIVOTA
+DAMNJANOVIĆ ALEKSANDAR
+DAMNJANOVIĆ KRISTINA
+DAMNJANOVIĆ LAZAR
+DAMNJANOVIĆ LJILJANA
+DAMNJANOVIĆ SLAVOLJUB
+DAMNJANOVIĆ ZORAN
+DAMNJANOVIĆ ZORAN
+DAN MIRA
+DANČ TIBOR
+DANČETOVIĆ ZORICA
+DANČO ČABA
+DANČO JENE
+DANAILOV ACA
+DANAILOV TEVA
+DANGUBIĆ ŽARKO
+DANGUBIĆ RADIVOJE DIPL ING
+DANGUBIĆ RATKO
+DANGUZOV DUŠAN
+DANI GAŠPAR
+DANI LASLO
+DANIČIĆ BORO
+DANIČIĆ BRANISLAV
+DANIČIĆ DRAGOLJUB
+DANIČIĆ DRAGO
+DANIČIĆ IRENA
+DANIČIĆ SAVICA
+DANIČIĆ ZDRAVKO
+DANIŠ EVA
+DANIŠ IŠTVAN
+DANIŠ MARIJA
+DANIĆ PETAR DIPL ING
+DANIĆ VESNA
+DANIĆ ZORICA
+DANIEL ANDRIJA
+DANIEL ARANKA
+DANIEL HILDA
+DANIEL JOSIP
+DANIEL PETAR
+DANIEL PIROŠKA
+DANIEL RUŽA
+DANIKOV MIROLJUB
+DANIKOV VALERIJA
+DANILOV ANICA
+DANILOV BOSILJKA
+DANILOV DUŠAN
+DANILOV MILAN
+DANILOV RADOMIR
+DANILOV SMILJANA
+DANILOV STOJAN
+DANILOV VASA
+DANILOVAC DIMITRIJE
+DANILOVAC PETAR
+DANILOVAC RUŽA
+DANILOVAC VITOMIR
+DANILOVIĆ ŽIVAN
+DANILOVIĆ ŽIVORAD
+DANILOVIĆ ALEKSANDAR
+DANILOVIĆ BRANKO
+DANILOVIĆ JOVAN
+DANILOVIĆ KATARINA
+DANILOVIĆ LJILJANA
+DANILOVIĆ MARKO
+DANILOVIĆ MILAN
+DANILOVIĆ MIRKO DR
+DANILOVIĆ NIKOLA
+DANILOVIĆ NIKOLA
+DANILOVIĆ PERSA
+DANILOVIĆ RADA
+DANILOVIĆ RADMILA
+DANILOVIĆ STANISLAVA
+DANILOVIĆ STEVAN
+DANILOVIĆ TIHOMIR
+DANILOVIĆ-VESELINOV VERA
+DANILOVIĆ ZDRAVKO
+DANJI FERENC
+DANJI GEZA
+DANJI KAROLJ
+DANJI LASLO
+DANJI MAĆAŠ
+DANKA MARKO
+DANKA ZLATA
+DANKO JANKO
+DANKO JAROSLAV
+DANKOVIĆ BOGOLJUB
+DANKOVIĆ SLAVIŠA
+DANKOVIĆ SLAVKA
+DANKUC DRAGAN
+DANKUC MILICA
+DANKUC VOJISLAV
+DANKUC VOJISLAV
+DANOJEVIĆ STEVAN
+DAPČEVIĆ DUŠAN
+DAPČEVIĆ JOVAN
+DAPČEVIĆ LJUBICA
+DAPČEVIĆ PAVLE
+DAPČEVIĆ RAJKO
+DAPČEVIĆ RUŽICA
+DAPČEVIĆ VERICA
+DARAŠ ŽELJKO
+DARAŽ JULIJANA
+DARAŽ STEVAN
+DARABANJ JOŽEF
+DARABOŠ JULKA
+DARABOŠ LADISLAV
+DARABOŠ MARIJA
+DARABOŠ PETAR
+DARABUC NEDELJKO
+DARADIĆ STEVAN
+DARMANOVIĆ MILAN
+DARMANOVIĆ STANKO
+DARMANOVIĆ TOMISLAV
+DAROJEVIĆ LAZAR
+DARVIŠ ZORICA
+DASOVIĆ STOJANKA
+DASOVIĆ ZLATA
+DAUTOVA-RUŠEVLJAN VELINKA DR
+DAUTOVIĆ ĐORĐE
+DAUTOVIĆ BOGDAN
+DAUTOVIĆ DŽEMAL
+DAUTOVIĆ DRAGAN
+DAUTOVIĆ MILAN
+DAUTOVIĆ MILAN
+DAVIĆ BRANISLAV
+DAVID ANDRAŠ
+DAVID ILONA
+DAVIDOV ĐURĐINA
+DAVIDOV BOGDAN
+DAVIDOV BUDIMKA
+DAVIDOV JELICA
+DAVIDOV JOVAN
+DAVIDOV LJUBOMIR
+DAVIDOV MILAN
+DAVIDOV MILAN
+DAVIDOV MILIĆ
+DAVIDOV MILIVOJ
+DAVIDOV MILKA
+DAVIDOV NEGOVAN
+DAVIDOV RADOSLAV
+DAVIDOV RADOVAN
+DAVIDOV SLAVKO
+DAVIDOV STOJAN
+DAVIDOV TIHOMIR
+DAVIDOVAC ĐORĐE
+DAVIDOVAC BOŠKO
+DAVIDOVAC DANILO
+DAVIDOVAC DUŠANKA
+DAVIDOVAC ELVIRA
+DAVIDOVAC GAVRA
+DAVIDOVAC GOJKO
+DAVIDOVAC LJUBICA
+DAVIDOVAC MIROSLAV
+DAVIDOVAC RADIVOJ
+DAVIDOVAC RADIVOJ
+DAVIDOVAC RADIVOJ
+DAVIDOVAC RADIVOJ
+DAVIDOVAC RADMILA
+DAVIDOVAC STEVAN
+DAVIDOVAC TODOR
+DAVIDOVAC VERICA
+DAVIDOVAC VESELINKA
+DAVIDOVAC ZDRAVKO
+DAVIDOVIĆ ČASLAV
+DAVIDOVIĆ DAVOR
+DAVIDOVIĆ DRAGAN
+DAVIDOVIĆ DRAGICA
+DAVIDOVIĆ DUŠANKA
+DAVIDOVIĆ DUŠKO
+DAVIDOVIĆ GORAN
+DAVIDOVIĆ JOVAN
+DAVIDOVIĆ JOVO
+DAVIDOVIĆ LJILJANA
+DAVIDOVIĆ MARIJA
+DAVIDOVIĆ MARIJA
+DAVIDOVIĆ MARJAN
+DAVIDOVIĆ MIHAILO
+DAVIDOVIĆ MILAN
+DAVIDOVIĆ MILAN
+DAVIDOVIĆ MILAN
+DAVIDOVIĆ MILAN
+DAVIDOVIĆ MILAN
+DAVIDOVIĆ MILAN
+DAVIDOVIĆ MILA
+DAVIDOVIĆ MILOŠ
+DAVIDOVIĆ MILOŠ
+DAVIDOVIĆ MILOVAN
+DAVIDOVIĆ MILUTIN
+DAVIDOVIĆ MIRKO
+DAVIDOVIĆ MIROSLAV
+DAVIDOVIĆ MIROSLAV
+DAVIDOVIĆ MLADEN
+DAVIDOVIĆ NEBOJŠA
+DAVIDOVIĆ NENAD
+DAVIDOVIĆ OLGA
+DAVIDOVIĆ PERA
+DAVIDOVIĆ PETAR
+DAVIDOVIĆ PETAR
+DAVIDOVIĆ PETAR
+DAVIDOVIĆ RADE DR
+DAVIDOVIĆ RADE
+DAVIDOVIĆ RADOJE
+DAVIDOVIĆ RADOMIR
+DAVIDOVIĆ SAVA
+DAVIDOVIĆ SLAVKO
+DAVIDOVIĆ SRETA
+DAVIDOVIĆ STANKO
+DAVIDOVIĆ STEVAN
+DAVIDOVIĆ UROŠ
+DAVIDOVIĆ VASA
+DAVIDOVIĆ VITOMIR
+DAVIDOVIĆ VLADIMIR
+DAVIDOVIĆ VOJISLAV
+DAVIDOVIĆ ZORA
+DAVIDOVSKI MARA
+DAVINIĆ STOJAN
+DAVOGIĆ TEODOR
+DAVOSIR IVAN
+DAVOSIR MAKSIM
+DAVOSIR TEODOR
+DAVOSIR VLADIMIR
+DE-VRIES IVANKA
+DEŠI ZOLTAN
+DEŠIĆ MARA
+DEŠO ŽIVANKA
+DEŽE JOVAN
+DEŽE KARLO
+DEŽE ZDENKA
+DEŽELIĆ JOVANKA
+DEĐANSKI ĐORĐE
+DEĐANSKI DUŠAN
+DEĐANSKI PETAR
+DEAK ŽARKO
+DEAK ANDRAŠ
+DEAK ANDRIJANA
+DEAK ANDRIJA
+DEAK ARANKA
+DEAK FERENC
+DEAK ILEŠ
+DEAK LAURA
+DEAK MATILDA
+DEAN NEVENKA
+DEAROSKI FEHIM
+DEAROVIĆ SALIM
+DEBELJAČKI ŽIVOJIN
+DEBELJAČKI ĐORĐE
+DEBELJAČKI ALEKSANDAR
+DEBELJAČKI ALEKSANDAR
+DEBELJAČKI BOSILJKA
+DEBELJAČKI DRAGOMIR
+DEBELJAČKI IVAN
+DEBELJAČKI IVAN
+DEBELJAČKI KATICA
+DEBELJAČKI LJUBICA
+DEBELJAČKI MIRJANA
+DEBELJAČKI MIROSLAV
+DEBELJAČKI NADA
+DEBELJAČKI SRĐA
+DEBELJAČKI SVETOZAR
+DEBELJAČKI VERA
+DEBELJAČKI VUKOSAVA
+DEBELJEVIĆ VELIMIR
+DEC ANICA
+DEDAJ DAVID
+DEDAJ LEKO
+DEDEI ILONA
+DEDEIĆ ELIZABETA
+DEDIĆ BRANISLAV
+DEDIĆ DOBROSAV
+DEDIĆ DRAGAN
+DEDIĆ DRAGOSLAV
+DEDIĆ ELIZABETA
+DEDIĆ GAVRILO
+DEDIĆ JOVO
+DEDIĆ KOVINKA
+DEDIĆ MARA
+DEDIĆ MARIJA
+DEDIĆ MILIVOJ DR PROF
+DEDIĆ MILO
+DEDIĆ MIODRAG
+DEDIĆ NEMANJA
+DEDIĆ RADICA
+DEDIĆ SLAVKA
+DEDIĆ STEVAN
+DEDIĆ-TASIĆ MIRA
+DEDIN DEJAN
+DEDIN DIMITRIJE
+DEDIN DIMITRIJE
+DEDIN VASILIJE
+DEDINSKI TIBOR
+DEDOVIĆ MIŠO
+DEFRANGEPAN FRANSOA
+DEGA AVRAM
+DEJANAC MILORAD
+DEJANOSKI MILAN
+DEJANOV BERISLAV
+DEJANOV DANILO
+DEJANOV JELENA
+DEJANOV MITA
+DEJANOV SIMA
+DEJANOVIĆ ŽARKO
+DEJANOVIĆ ŽARKO
+DEJANOVIĆ ŽIVAN
+DEJANOVIĆ ŽIVOJIN
+DEJANOVIĆ ĐORĐE
+DEJANOVIĆ ĐURĐINKA
+DEJANOVIĆ ĐURICA
+DEJANOVIĆ ALEKSANDAR
+DEJANOVIĆ ALEKSANDRA
+DEJANOVIĆ ANĐELIJA
+DEJANOVIĆ ANKICA
+DEJANOVIĆ BORISLAVA
+DEJANOVIĆ DANILO
+DEJANOVIĆ DIMITRIJE
+DEJANOVIĆ DOBRIVOJE
+DEJANOVIĆ DOBRIVOJE
+DEJANOVIĆ DRAGAN
+DEJANOVIĆ DUŠAN
+DEJANOVIĆ DUŠAN
+DEJANOVIĆ DUŠAN
+DEJANOVIĆ IVAN
+DEJANOVIĆ JELENA
+DEJANOVIĆ JELICA
+DEJANOVIĆ JORDAN
+DEJANOVIĆ JOVAN
+DEJANOVIĆ KATICA
+DEJANOVIĆ LAZAR
+DEJANOVIĆ LAZAR
+DEJANOVIĆ MILANA
+DEJANOVIĆ MILAN
+DEJANOVIĆ MILAN
+DEJANOVIĆ MILICA
+DEJANOVIĆ MILOŠ
+DEJANOVIĆ MILOŠ
+DEJANOVIĆ MILORAD
+DEJANOVIĆ MILORAD
+DEJANOVIĆ MIRJANA
+DEJANOVIĆ MIROSLAV
+DEJANOVIĆ PETAR
+DEJANOVIĆ PETAR
+DEJANOVIĆ PETAR
+DEJANOVIĆ RADA
+DEJANOVIĆ STEVAN
+DEJANOVIĆ STEVAN
+DEJANOVIĆ VOJISLAV
+DEJANOVSKI MLADEN
+DEJANOVSKI TOMISLAV
+DEJANOVSKI VESELIN
+DEKANIĆ BRANKO
+DEKANIĆ GLIGORIJE
+DEKANIĆ MILOŠ
+DEKANIĆ MILOŠ
+DEKANIĆ VOJISLAV
+DEKANIĆ VOJISLAV
+DEKANJ ANTAL
+DEKANSKI DINA
+DEKANSKI PAVLE
+DEKIĆ DANE
+DELAČ FRANCIŠKA
+DELETIĆ GORDANA
+DELIĆ ĐORĐE
+DELIĆ BILJANA
+DELIĆ BOŽIDAR
+DELIĆ BOGDAN
+DELIĆ DARINKA
+DELIĆ DESIMIR
+DELIĆ DRAGICA
+DELIĆ DRAGICA
+DELIĆ DRAGUTIN
+DELIĆ-IBUKIĆ ESAD
+DELIĆ ILIJA
+DELIĆ JANJA
+DELIĆ JOVAN
+DELIĆ MARA
+DELIĆ MIĆO DR
+DELIĆ MIHAJLO
+DELIĆ MILANA
+DELIĆ MILAN
+DELIĆ MILICA
+DELIĆ MILKA
+DELIĆ MILOŠ
+DELIĆ MILOMIR
+DELIĆ MILOSAVA
+DELIĆ MUSTAFA
+DELIĆ PAŠKO
+DELIĆ PETAR
+DELIĆ RADMILA
+DELIĆ RADOJKA DR
+DELIĆ RADOMIR
+DELIĆ RADOSAV
+DELIĆ-SLAVKOVIĆ VERA
+DELIĆ SRETEN
+DELIĆ STOJAN
+DELIĆ SVETOZAR
+DELIĆ TOMISLAV
+DELIĆ VASA
+DELIĆ VESELKO
+DELIĆ VESNA
+DELIĆ VLADO
+DELIĆ VLADO
+DELIĐORĐEVIĆ STEVANKA
+DELIBAŠIĆ DEJAN DIPL ING
+DELIBAŠIĆ LJUBIŠA
+DELIBAŠIĆ LJUBICA
+DELIBAŠIĆ MARICA
+DELIBAŠIĆ MILIVOJE
+DELIBAŠIĆ MILIVOJE
+DELIBAŠIĆ MILORAD
+DELIBAŠIĆ MIODRAG
+DELIBAŠIĆ SAVO
+DELIBAŠIĆ SOFIJA
+DELIBAŠIĆ TOMISLAV
+DELIBLAĆANIN JOVAN
+DELKOVIĆ JOVICA
+DELOIK DRAGUTIN
+DELONGA STANKO
+DELOV ORDANČO
+DEMČEŠEN VASILIJE
+DEMŠAR GORDANA
+DEMŠAR-VEGER MARIJA
+DEMAK MIROSLAV
+DEMAN JANKO
+DEMAN RASTISLAV
+DEMBIC SMILJANA
+DEME EMA
+DEME FRANCIŠKA
+DEME IRENA
+DEME KLARA
+DEMEŠI ARPAD
+DEMELIS LJUBICA
+DEMENDI BELA
+DEMENDI DOROTEA
+DEMER BELA
+DEMER FRANC
+DEMETER FERENC
+DEMETER FRANJA
+DEMETER STEVAN
+DEMIĆ ŽIVORAD
+DEMJEN BORISLAV
+DEMKO-RIHTER JOSIP
+DEMOVSKI SEVDIJA
+DEMUT ROZALIJA
+DENČIK VLADISLAV
+DENDA DRAGAN
+DENDA MILIVOJ
+DENDIĆ SRETIMIR
+DENEŠI VILIM
+DENGORICIJA STJEPAN
+DENIĆ ČEDOMIR
+DENIĆ ŽIVOTA
+DENIĆ LJUBIŠA
+DENIĆ MOMČILO DIPL ING
+DENIĆ RADICA
+DENIĆ SINIŠA
+DENIĆ ZUZANA
+DENKOVIĆ LJUBOMIR
+DENKOVSKI JANE
+DEPČENJSKI STEFAN
+DER FRANJA
+DER JOŽEF
+DER LAJOŠ
+DER STEVAN
+DERAJIĆ STOJA
+DERBAKOV MARKO
+DERBOGOSIJAN BRANKO
+DERDIĆ RUDOLF
+DEREH SIMEON
+DERETA MILAN
+DERETA PETAR
+DERETA SVETOZAR
+DERETIĆ SVETOZAR
+DERIKRAVA MICA
+DERMENĐIJEVSKI DIMITAR
+DERONJIĆ TODOR
+DERUŠEK MILJENKO
+DERVIŠEVIĆ JUSUF
+DERVIŠEVIĆ NEDŽIB
+DERVIŠEVIĆ SLAVKO
+DERVIŠI MISIN
+DERVIŠI RAMADAN
+DERVIŠI RUŠIT
+DERVIĆ ŠEFKA
+DESNICA ĐORĐE
+DESNICA ĐURO MR
+DESNICA BOGDAN
+DESNICA BRANKO
+DESNICA JANKO
+DESNICA LUKA
+DESNICA NIKOLA
+DESNICA RADOMIR DIPL ING
+DESNICA RADOMIR
+DESNICA RELJA
+DESNICA SMILJKA
+DESNICA STANA
+DESPENIĆ ALEKSANDAR
+DESPI JOVA
+DESPI VELJKO
+DESPIĆ LAZAR
+DESPIĆ MARKO
+DESPIĆ MIRJANA
+DESPIĆ SRETEN
+DESPIĆ ZORAN
+DESPOT DUŠAN
+DESPOT MILAN
+DESPOT MILICA
+DESPOT MIRJANA
+DESPOT NADA
+DESPOT NENAD
+DESPOT SLOBODAN
+DESPOTOV ALEKSANDAR
+DESPOTOV DOBRILA
+DESPOTOV EVDOKIJA
+DESPOTOV ILIJA
+DESPOTOV JOCA
+DESPOTOV LJUBINKA
+DESPOTOV MILAN
+DESPOTOV MILOVAN
+DESPOTOV RADMILA
+DESPOTOV RUŽICA
+DESPOTOV VILMA
+DESPOTOV VITOMIRKA
+DESPOTOV VOJISLAV
+DESPOTOV ZORAN
+DESPOTOVIĆ BILJANA
+DESPOTOVIĆ DRAGUTIN
+DESPOTOVIĆ LJILJANA
+DESPOTOVIĆ PANTELIJA
+DESPOTOVIĆ RADISLAV
+DESPOTOVIĆ RADISLAV
+DESPOTOVIĆ RADIVOJE
+DESPOTOVIĆ RADIVOJE
+DESPOTOVIĆ RADMILA
+DESPOTOVIĆ RATKO
+DESPOTOVIĆ SIMKA
+DESPOTOVIĆ STANKO
+DESPOTOVIĆ VASO
+DESPOTOVIĆ VOJISLAV
+DESPOTOVSKI DUŠAN
+DETARI MARIJA
+DETELIN ĐURA
+DETELIN JOSIP
+DETELIN NADA
+DEURA DUŠAN DIPL PRAVNIK
+DEURA RAJKO
+DEURA VERA
+DEURIĆ RADMILA
+DEVAI ŠANDOR
+DEVAI IMRE
+DEVAI LAJOŠ
+DEVAI SANJA
+DEVAI ZORICA
+DEVAJA NADA
+DEVAJA OMER DR
+DEVALD ETELKA
+DEVALD IVAN
+DEVALD JOHAN
+DEVEČERI KRISTINA
+DEVEČERSKI AVRAM
+DEVEČERSKI DANICA
+DEVEČERSKI VASILIJE DR
+DEVEDAN ĐORĐE
+DEVEDAN BOGDAN
+DEVEDAN DRAGOJE
+DEVEDAN MARA
+DEVEDAN MILOVAN
+DEVEDAN MIRKO
+DEVETAK ZORA
+DEVIĆ-ČOBANKSI MILJENKA
+DEVIĆ ŽIVAN
+DEVIĆ ĐOKA
+DEVIĆ ĐORĐE
+DEVIĆ ALEKSANDAR
+DEVIĆ ANKICA
+DEVIĆ BILJANA
+DEVIĆ BRANISLAVA
+DEVIĆ BRANKA
+DEVIĆ CVIJETA
+DEVIĆ DANICA
+DEVIĆ DANILKA
+DEVIĆ DOBROSAV
+DEVIĆ DRAGOLJUB
+DEVIĆ DRAGOMIR
+DEVIĆ DRAGO
+DEVIĆ DUŠAN
+DEVIĆ EVICA
+DEVIĆ GORAN
+DEVIĆ GROZDA
+DEVIĆ IGNJAT
+DEVIĆ ILIJA
+DEVIĆ JOVAN DIPL ING
+DEVIĆ JOVANKA DR
+DEVIĆ JOVAN
+DEVIĆ KATICA
+DEVIĆ MILAN
+DEVIĆ MILAN
+DEVIĆ MILENKO
+DEVIĆ MILETA
+DEVIĆ MILOŠ
+DEVIĆ MIODRAG
+DEVIĆ MIRA
+DEVIĆ MLADEN
+DEVIĆ NEBOJŠA
+DEVIĆ NENAD
+DEVIĆ NOVKA
+DEVIĆ PETAR
+DEVIĆ RADOSLAV
+DEVIĆ SIMA
+DEVIĆ SLAVKO
+DEVIĆ SLOBODAN
+DEVIĆ TATJANA
+DEVIĆ TOMA
+DEVIĆ VELINKA
+DEVIĆ VLADA
+DEVIĆ VOJISLAV DIPL ING
+DEVIĆ ZAGORKA
+DEVRNJA BRANISLAV
+DEVRNJA DRAGICA
+DEVRNJA LJUBICA
+DEVRNJA-MIHAJLOVIĆ LJILJANA
+DEVRNJA MIODRAG
+DEVRNJA SPASOJE
+DEVUŠIĆ MILAN
+DICKOV ĐORĐE
+DICKOV ALEKSANDRA
+DICKOV DRAGAN
+DICKOV DRAGAN
+DICKOV DUŠKO
+DICKOV IVAN
+DICKOV KOSTA
+DICKOV MIRJANA
+DICKOV NIKOLA
+DICKOV STEVAN
+DICKOV VESELIN
+DICKOV VESELIN
+DICKOV ZORKA
+DICMAN ZDENKA
+DIDANOVIĆ ČEDOMIR
+DIDANOVIĆ BUDIMIR
+DIJAKOVIĆ PAVA
+DIJAMATOVIĆ DRAGICA
+DIKIĆ BRANISLAV
+DIKIĆ BRANKO
+DIKIĆ DUŠAN
+DIKIĆ GORAN
+DIKIĆ JOVANKA
+DIKIĆ JOVAN
+DIKIĆ MILAN
+DIKIĆ RATKO
+DIKIĆ SAVA DIPL ING
+DIKIĆ STEVAN
+DIKIĆ VELINKA
+DIKIĆ ZAGORKA
+DIKLIĆ ALEKSANDAR
+DIKLIĆ ALEKSANDAR
+DIKLIĆ BRANISLAV
+DIKLIĆ DRAGAN
+DIKLIĆ DRAGAN
+DIKLIĆ DUŠAN
+DIKLIĆ DUŠAN
+DIKLIĆ JASMINA
+DIKLIĆ JOVAN
+DIKLIĆ JUDIT
+DIKLIĆ MARTA
+DIKLIĆ MILAN
+DIKLIĆ MILETA
+DIKLIĆ MIROSLAV
+DIKLIĆ PETAR
+DIKLIĆ STANKO
+DIKOVIĆ NIKOLA
+DILBEROVIĆ ANTO
+DIMČOVSKI TRAJČE
+DIMŠIĆ ANKA
+DIMA BOSA
+DIMAŠEVIĆ ALEKSANDAR
+DIMAŠEVIĆ PETAR
+DIMANIĆ ANKA
+DIMANIĆ BRANISLAV
+DIMESKI ILIJA
+DIMESKI METODIJE
+DIMIĆ ŽARKO
+DIMIĆ ĐORĐE
+DIMIĆ AKSENTIJE
+DIMIĆ AKSENTIJE
+DIMIĆ ANĐELKA
+DIMIĆ BOGDAN
+DIMIĆ BRANKO
+DIMIĆ DANICA
+DIMIĆ DIMITRIJE
+DIMIĆ DRAGOLJUB DR
+DIMIĆ DRAGOMIR
+DIMIĆ DRAGO
+DIMIĆ DUŠAN DR
+DIMIĆ DUŠAN
+DIMIĆ DUŠAN
+DIMIĆ EMILIJA
+DIMIĆ ERŽEBET
+DIMIĆ IGNJAT
+DIMIĆ IVAN
+DIMIĆ JANKO
+DIMIĆ KOSTA
+DIMIĆ LAZAR
+DIMIĆ LAZAR
+DIMIĆ LJUBOMIR
+DIMIĆ MILAN
+DIMIĆ MILAN
+DIMIĆ MILEVA
+DIMIĆ MILICA
+DIMIĆ MILOŠ
+DIMIĆ MILOJE DIPL ING
+DIMIĆ MITA
+DIMIĆ NADA
+DIMIĆ NADA
+DIMIĆ NEBOJŠA
+DIMIĆ NIKOLA
+DIMIĆ NIKOLA
+DIMIĆ NIKOLA
+DIMIĆ NIKOLA
+DIMIĆ OLGA
+DIMIĆ OZREN
+DIMIĆ PETAR
+DIMIĆ STANKO
+DIMIĆ STEVAN
+DIMIĆ STEVAN
+DIMIĆ STEVAN
+DIMIĆ STEVA
+DIMIĆ VASA
+DIMIĆ VERICA
+DIMIĆ VITOMIR
+DIMIĆ VITOMIR
+DIMIĆ VLADIMIR
+DIMITRAŠKOVIĆ VLADIMIR
+DIMITRIĆ ŽIVORAD
+DIMITRIĆ BOGOLJUB
+DIMITRIĆ BRANKO
+DIMITRIĆ DRAGAN
+DIMITRIĆ MILENKO
+DIMITRIĆ MILEVA
+DIMITRIĆ NOVAK
+DIMITRIĆ PERO
+DIMITRIĆ RATKO
+DIMITRIĆ VLADAN
+DIMITRIĆ ZORAN
+DIMITRIADIS PAVLOS
+DIMITRIJEVIĆ ČEDOMIR
+DIMITRIJEVIĆ ČEDOMIR
+DIMITRIJEVIĆ ĐORĐE
+DIMITRIJEVIĆ ĐORĐE
+DIMITRIJEVIĆ ĐURĐA
+DIMITRIJEVIĆ ALEKSANDAR
+DIMITRIJEVIĆ ARSA
+DIMITRIJEVIĆ ARSEN
+DIMITRIJEVIĆ-BESERMENJI KATICA
+DIMITRIJEVIĆ BORIVOJE
+DIMITRIJEVIĆ BRANISLAVA
+DIMITRIJEVIĆ BRANISLAV
+DIMITRIJEVIĆ BRANISLAV
+DIMITRIJEVIĆ BRANKA
+DIMITRIJEVIĆ BRZOMIR
+DIMITRIJEVIĆ DANICA
+DIMITRIJEVIĆ DANICA
+DIMITRIJEVIĆ DESANKA
+DIMITRIJEVIĆ DIMITRIJE
+DIMITRIJEVIĆ DOBRICA
+DIMITRIJEVIĆ DRAGAN
+DIMITRIJEVIĆ DRAGAN
+DIMITRIJEVIĆ DRAGAN
+DIMITRIJEVIĆ DRAGAN
+DIMITRIJEVIĆ DUŠAN DR
+DIMITRIJEVIĆ DUŠANKA
+DIMITRIJEVIĆ DUŠAN
+DIMITRIJEVIĆ ERŽEBET
+DIMITRIJEVIĆ ETELA
+DIMITRIJEVIĆ EVICA
+DIMITRIJEVIĆ JELENA
+DIMITRIJEVIĆ JELENA
+DIMITRIJEVIĆ JELICA
+DIMITRIJEVIĆ JOVAN
+DIMITRIJEVIĆ JOVAN
+DIMITRIJEVIĆ JOVAN
+DIMITRIJEVIĆ LAZAR
+DIMITRIJEVIĆ LJUBICA DR
+DIMITRIJEVIĆ LJUBICA
+DIMITRIJEVIĆ LJUBICA
+DIMITRIJEVIĆ LJUBINKO
+DIMITRIJEVIĆ MARGITA
+DIMITRIJEVIĆ MARICA
+DIMITRIJEVIĆ MILAN MR
+DIMITRIJEVIĆ MILAN
+DIMITRIJEVIĆ MILAN
+DIMITRIJEVIĆ MILAN
+DIMITRIJEVIĆ MILA
+DIMITRIJEVIĆ MILIVOJ
+DIMITRIJEVIĆ MILKA
+DIMITRIJEVIĆ MILOJE
+DIMITRIJEVIĆ MILOVAN
+DIMITRIJEVIĆ MILUTIN
+DIMITRIJEVIĆ MIODRAG
+DIMITRIJEVIĆ MIODRAG
+DIMITRIJEVIĆ MIODRAG
+DIMITRIJEVIĆ MIRČE
+DIMITRIJEVIĆ MIROSLAVKA
+DIMITRIJEVIĆ MIROSLAV
+DIMITRIJEVIĆ MLADEN
+DIMITRIJEVIĆ NADA
+DIMITRIJEVIĆ NADA
+DIMITRIJEVIĆ NENAD
+DIMITRIJEVIĆ NEVENKA
+DIMITRIJEVIĆ PAJA
+DIMITRIJEVIĆ PETAR
+DIMITRIJEVIĆ PETAR
+DIMITRIJEVIĆ PETAR
+DIMITRIJEVIĆ PREDRAG
+DIMITRIJEVIĆ PREDRAG
+DIMITRIJEVIĆ RADISAV
+DIMITRIJEVIĆ RADIVOJE
+DIMITRIJEVIĆ RADIVOJ
+DIMITRIJEVIĆ RATKO
+DIMITRIJEVIĆ SAŠA
+DIMITRIJEVIĆ SAVA
+DIMITRIJEVIĆ SLAVKO
+DIMITRIJEVIĆ SLAVOLJUB
+DIMITRIJEVIĆ SRĐA
+DIMITRIJEVIĆ STANKO
+DIMITRIJEVIĆ STANOJE
+DIMITRIJEVIĆ STEVAN
+DIMITRIJEVIĆ STOJADIN
+DIMITRIJEVIĆ STOJADIN
+DIMITRIJEVIĆ SVETOMIR
+DIMITRIJEVIĆ TIHOMIR
+DIMITRIJEVIĆ TOMISLAV
+DIMITRIJEVIĆ VERA
+DIMITRIJEVIĆ VITOMIR
+DIMITRIJEVIĆ VUJICA
+DIMITRIJEVIĆ VUKOSAVA
+DIMITRIJEVIĆ ZLATIBOR
+DIMITRIJEVIĆ ZORAN
+DIMITRIJEVIĆ ZORAN
+DIMITRIJEVIĆ ZORICA
+DIMITRIJEVIĆ ZORICA
+DIMITRIJEVSKI MIHAJLO
+DIMITROV ŽIVOJIN
+DIMITROV ĐOKA
+DIMITROV ĐORĐE
+DIMITROV BOŠKO
+DIMITROV BORO
+DIMITROV BRANISLAV
+DIMITROV BRANKO
+DIMITROV DIMITRIJE
+DIMITROV DUŠAN
+DIMITROV DUŠAN
+DIMITROV EFTIM
+DIMITROV JOCA
+DIMITROV PETAR
+DIMITROV RADISLAV
+DIMITROV SLAVKO
+DIMITROV SOSA
+DIMITROV STEVAN
+DIMITROV SVETISLAV
+DIMITROV UROŠ
+DIMITROV VELIČKO
+DIMITROV ZLATA
+DIMITROVSKI ILONA
+DIMITROVSKI LJUBOMIR
+DIMITROVSKI LJUBOMIR
+DIMITROVSKI PAVLE
+DIMKOVIĆ BORISLAV
+DIMKOVSKI GORAN
+DIMKOVSKI LJUBIŠA
+DIMOSKI NIKOLA
+DIMOV DIMITAR
+DIMOV TODOR
+DIMOVA KATICA
+DIMOVIĆ SOFIJA
+DIMOVSKI ĐERO
+DIMOVSKI ANDRIJA
+DIMOVSKI LJUBICA
+DIMOVSKI MARINA
+DIMOVSKI MILICA
+DIMOVSKI TRAJČE
+DINČIĆ KATICA
+DINČIĆ MILORAD
+DINČIĆ SLOBODAN
+DINČIĆ SRETENKA
+DINČIK MARIJA
+DINIĆ ČEDOMIR
+DINIĆ BOŽIDAR
+DINIĆ BOSA
+DINIĆ JOŠKA
+DINIĆ-KNEŽEVIĆ DUŠANKA
+DINIĆ MILORAD
+DINIĆ RADOMIR
+DINIĆ VALERIJA
+DINIĆ VLADETA
+DINIĆ ZVONIMIR
+DINJAŠKI ŽARKO
+DINJAŠKI IRINA
+DINJAŠKI KSENIJA
+DINJAŠKI LEPA
+DINJAŠKI NESTOR
+DINJAŠKI STANIMIR
+DINJAŠKI STANKA
+DINJAŠKI STEVAN
+DINJAŠKI TRIVA
+DINJAŠKI ZDRAVKO
+DINJEŠ JOSIP
+DINULOVIĆ RADOSLAV
+DIOŠI JOSIP
+DIRNER ARANKA
+DISIĆ LJUBIŠA
+DISIĆ VLADIMIR
+DITRIH ANA
+DITRIH ROBERT
+DITRIH VLADIMIR
+DIVIĆ MILENKO
+DIVIJAČKI DRAGAN
+DIVIJAČKI DRAGAN
+DIVILD ĐORĐE
+DIVILD ANDRIJA
+DIVILD JELISAVETA
+DIVILD RADOSLAV
+DIVJAK DUŠAN
+DIVJAK DUŠAN
+DIVJAK DUŠAN
+DIVJAK MARINKO
+DIVJAK MILAN
+DIVJAK MILAN
+DIVJAK MILAN
+DIVJAK SAVA
+DIVJAKOVIĆ ĐORĐE
+DIVJAKOVIĆ BRANKO
+DIVJAKOVIĆ GAVRA
+DIVJAKOVIĆ JELICA
+DIVJAKOVIĆ LJUBICA
+DIVJAKOVIĆ MARIJA
+DIVJAKOVIĆ-RADIČEVA DORINA
+DIVJAKOVIĆ STEVAN
+DIVJAKOVIĆ TODOR
+DIVJAKOVIĆ VLADA
+DIVLJAK ALEKSANDAR
+DIVLJAK ANGELINA
+DIVLJAK BOŠKO
+DIVLJAK DESIMIR
+DIVLJAK DOBRIVOJ
+DIVLJAK DRAGO
+DIVLJAK MIROSLAV
+DIVLJAK MIROSLAV
+DIVLJAK RATKO
+DIVLJAK ZDRAVKO
+DIVLJAKOVIĆ DRAGUTIN
+DIVLJAKOVIĆ IVANKA
+DIVLJAN NENAD
+DIVNIĆ ŽIVAN
+DIVNIĆ ĐORĐE
+DIVNIĆ JELKA
+DIVNIĆ MIRJANA
+DIVNIĆ PAJA
+DIVNIĆ SLOBODAN
+DIVNIĆ SONJA
+DIVNIĆ SVETOZAR
+DIVOVIĆ RADOVAN
+DIZDAR ANĐA
+DIZDAR ANKICA
+DIZDAR IVICA
+DIZDAR JOSIP
+DIZDAR JURE
+DIZDAR JURO
+DIZDAR MARIJA
+DIZDAR MARKO
+DIZDAR PAVO
+DIZDAR SARAFINA
+DIZDAR VLADO
+DIZDAREVIĆ RADOLJUB
+DLUHI JOSIP
+DMITRAŠINOVIĆ RADE
+DMITRIJEV LIDIJA
+DMITROVIĆ DANICA
+DMITROVIĆ LJILJANA
+DMITROVIĆ MILOŠ
+DMITROVIĆ MIRJANA
+DMITROVIĆ RADENKO LEKAR
+DMITROVIĆ STEVAN
+DMITROVIĆ STEVAN
+DOŠEMOVIĆ PREDRAG
+DOŠEN ŽIVADIN
+DOŠEN BILJANA
+DOŠEN BRANKO
+DOŠEN DESANKA
+DOŠEN DRAGAN
+DOŠEN DUŠAN
+DOŠEN DUŠAN
+DOŠEN DUŠAN
+DOŠEN DUBRAVKA
+DOŠEN HRISTINA DR
+DOŠEN ILIJA
+DOŠEN IVAN
+DOŠEN IVAN
+DOŠEN JELENA
+DOŠEN MILAN
+DOŠEN MILAN
+DOŠEN MILE
+DOŠEN MILOŠ
+DOŠEN RADOSLAV
+DOŠEN RADOSLAV
+DOŠEN RATKO
+DOŠEN SVETLANA
+DOŠEN VOJIN
+DOŠENOVIĆ ČEDOMIR
+DOŠENOVIĆ MILIVOJE
+DOŠENOVIĆ MIROSLAVA
+DOŠENOVIĆ VASILJKA
+DOŠENOVIĆ VOJIN
+DOŠIĆ GIZELA
+DOŠLIĆ MILICA
+DOŠLIĆ NENAD
+DOŠLIĆ RADOSLAV
+DOŠLOV KRSTO
+DOŠLOV SLAVICA
+DOŽIĆ LJILJANA
+DOŽIĆ MARICA
+DOŽIĆ STEVAN
+DOŽIĆ STEVAN
+DOŽIĆ SVETISLAV
+DOŽIĆ VASILJKA
+DOBAN MARČEL
+DOBANOVAČKI ČEDOMIR
+DOBANOVAČKI ALEKSANDAR
+DOBANOVAČKI BORISLAV
+DOBANOVAČKI BRANISLAV
+DOBANOVAČKI DOBRINKA
+DOBANOVAČKI DUŠANKA
+DOBANOVAČKI DUŠANKA
+DOBANOVAČKI DUŠAN
+DOBANOVAČKI IRENA
+DOBANOVAČKI JELKA
+DOBANOVAČKI JULKA
+DOBANOVAČKI JULKICA
+DOBANOVAČKI MAKSIM
+DOBANOVAČKI MILAN
+DOBANOVAČKI MILAN
+DOBANOVAČKI MIRJANA
+DOBANOVAČKI MIRKO
+DOBANOVAČKI PETAR
+DOBANOVAČKI RADOMIR
+DOBANOVAČKI SAVA
+DOBANOVAČKI SAVA
+DOBANOVAČKI-SAVIĆ TINKA
+DOBANOVAČKI STEVAN
+DOBANOVAČKI TINKA
+DOBANOVAČKI ZORICA
+DOBANOVIĆ SOFIJA
+DOBEŠ JOVAN
+DOBI JULIJANA
+DOBIĆ BRANISLAV
+DOBIĆ PETAR
+DOBO ILEŠ
+DOBO JOŽEF
+DOBO JOŽEF
+DOBOŠ JOŽEF
+DOBOŠI ŠANDOR
+DOBOŠI ĐERĐ
+DOBOŠI ERŽEBET
+DOBOŠI JANOŠ
+DOBOŠI LASLO
+DOBOŠI MAGDALENA
+DOBOŠI MARGITA
+DOBOŠI PAL
+DOBOKAI MIHAJLO
+DOBOVIČEK FRANC
+DOBRA IVAN
+DOBRAŠ MILKA
+DOBRAN SLAVKO
+DOBRANIĆ RADOVAN
+DOBRANIĆ VIDOSAVA
+DOBRE BOŽA
+DOBRENOV DUŠAN DIPL ING
+DOBRENOV GRETA
+DOBRENOV JELISAVETA
+DOBRENOV JELISAVETA
+DOBRENOV NIKOLA
+DOBRENOV SANDRA
+DOBRENOV VOJIN
+DOBRETIĆ MARICA
+DOBRIČKI DUŠAN
+DOBRIČKI MARIJA
+DOBRIĆ ŽIVKO
+DOBRIĆ ĐORĐE
+DOBRIĆ BOŠKO
+DOBRIĆ BRANISLAV
+DOBRIĆ ERŽEBET
+DOBRIĆ GOJKO
+DOBRIĆ JOVAN
+DOBRIĆ KOSTA
+DOBRIĆ LJUBICA
+DOBRIĆ MILADIN
+DOBRIĆ MILAN
+DOBRIĆ MILAN
+DOBRIĆ NEGOSAVA
+DOBRIĆ RADISLAV
+DOBRIĆ RADIVOJ
+DOBRIĆ SLOBODAN
+DOBRIĆ STEVAN
+DOBRIĆ UGLJEŠA
+DOBRIĆ VERONIKA
+DOBRIĆ VESNA
+DOBRIĆ ZDRAVKO
+DOBRIJEVIĆ DUŠAN
+DOBRIJEVIĆ PETAR
+DOBRIJEVIĆ SLOBODANKA
+DOBRILOVIĆ RAJKO
+DOBRILOVIĆ RAJKO
+DOBRILOVIĆ SIMA
+DOBRIN DEŽE
+DOBRIN NIKOLA
+DOBRIN OLGA
+DOBRINIĆ DARINKA
+DOBRIVOJEVIĆ DUŠAN
+DOBRIVOJEVIĆ SVETLANA
+DOBRNJAC STOJANKA
+DOBRODEL FRANJO
+DOBRODOLSKI JELENA
+DOBRODOLSKI JULKA
+DOBRODOLSKI VUKICA
+DOBROKES MILENA
+DOBROMIROV ALEKSANDAR
+DOBROMIROV ALEKSANDAR
+DOBROMIROV DUŠAN
+DOBROMIROV EUFIMIJA
+DOBROMIROV NADA
+DOBROMIROV PETAR
+DOBROMIROV VITOMIR
+DOBROMIROV VLADIMIR
+DOBROMIROV VOJISLAV
+DOBROMIROVIĆ PAVLE
+DOBROSAVLJEV LAZAR
+DOBROSAVLJEV LAZAR
+DOBROSAVLJEV MILAN
+DOBROSAVLJEV MILAN
+DOBROSAVLJEV MILAN
+DOBROSAVLJEV MILOVAN
+DOBROSAVLJEV MIRA
+DOBROSAVLJEV PETAR
+DOBROSAVLJEV RADA
+DOBROSAVLJEV RANKO
+DOBROSAVLJEV SAVA
+DOBROSAVLJEV SVETOZAR
+DOBROSAVLJEVIĆ DRENKA
+DOBROSAVLJEVIĆ SLAVKO
+DOBROSAVLJEVIĆ VASA NOVINAR
+DOBROSAVLJEVIĆ VASILIJE
+DOBROSAVLJEVIĆ VASILIJE
+DOBROTA BISERKA
+DOBROTA DAMIR
+DOBROVIĆ ALEKSANDRA
+DOBROVIĆ DAMJANKA
+DOBROVIĆ LJUBOMIR
+DODEROVIĆ MILOSAV
+DODEROVIĆ RADIVOJ
+DODIĆ IVAN
+DODIĆ JELENA
+DODIĆ MILIVOJ
+DODIĆ MIODRAG
+DODIĆ MIODRAG
+DODIĆ SAVA
+DODIĆ SLOBODAN
+DODIĆ STANOJE
+DODIĆ STOJAN
+DODIĆ VERA
+DODIK BARTOL
+DODIK STEVAN
+DODLEK VLADIMIR
+DODOŠ LAZAR
+DOGANDŽIĆ DOBRIVOJE
+DOJČINOVIĆ ĐUJA
+DOJČINOVIĆ ĐURĐICA
+DOJČINOVIĆ BLAGOJE
+DOJČINOVIĆ BOŽIDAR
+DOJČINOVIĆ DUŠAN
+DOJČINOVIĆ JOSIF
+DOJČINOVIĆ MIHAJLO
+DOJČINOVIĆ MIROSLAV DR
+DOJČINOVIĆ RADOSLAV
+DOJČINOVIĆ VLADA
+DOJČINOVSKI VANČA
+DOJDER IVO
+DOJDER JAKOV
+DOJIĆ LAZAR
+DOJKIĆ BOŽIDAR
+DOJKIĆ JULKICA
+DOJKIĆ KSENIJA
+DOJKIĆ MARIJA
+DOJKIĆ MILORAD
+DOJKIĆ MILORAD
+DOJKIĆ MLADEN
+DOJKIĆ MLADEN
+DOJKIĆ PAJA
+DOJKIĆ PETAR DR
+DOJKIĆ PETAR
+DOJKIĆ RAJKO
+DOJKIĆ RAJKO
+DOJKIĆ SLAVKO
+DOJKIĆ VJEKOSLAV
+DOKLEAN ADAM
+DOKMANOVIĆ BORIVOJ
+DOKMANOVIĆ DEJAN
+DOKMANOVIĆ MARIJA
+DOKMANOVIĆ MILICA
+DOKMANOVIĆ NADA
+DOKMANOVIĆ RADIVOJ
+DOKNIĆ VELJKO
+DOKOŠIĆ MARIJA
+DOLAŠ MILOVAN
+DOLENEC FLORIJAN
+DOLGA MILENA
+DOLINAJ ĐURO
+DOLINAJ JAROSLAVA
+DOLINAR LJUBICA
+DOLINGA MARIORA
+DOLINGA NIKOLAJE
+DOLOŠ FRANJA
+DOLOVČAK KATICA
+DOLOVAC ANKICA
+DOLOVAC BISERKA
+DOLOVAC DRAGICA
+DOLOVAC JOVAN
+DOLOVAC LAZAR
+DOLOVAC LAZAR
+DOLOVAC MARIJA
+DOLOVAC MILICA
+DOLOVAC MILOŠ
+DOLOVAC RADIVOJ
+DOLOVAC RADOSLAV
+DOLOVAC RADOSLAV
+DOLOVAC SLAVKO
+DOLOVAC SLAVKO
+DOLOVAC SLOBODAN
+DOLOVAC VELIMIR
+DOLOVAC ZORKA
+DOMASTOVIĆ DANICA
+DOMAZET NIKOLA
+DOMAZET ZORICA
+DOMAZETOV VELIMIR
+DOMAZETOVIĆ ČEDOMIR
+DOMAZETOVIĆ MIRJANA
+DOMAZETOVIĆ MIRJANA
+DOMBI LASLO
+DOMBI RADOJKA
+DOMBI SMILJKA
+DOMINIĆ ANA
+DOMINIĆ NIKOLA
+DOMONJI MARTIN
+DOMONKOŠ EVA
+DOMONKOŠ VILMOŠ
+DOMONKOS IŠTVAN
+DOMOVIĆ MILAN
+DONČEV TODE
+DONČIĆ NADA
+DONAT DRAGUTIN
+DONAT SAVETA
+DONDUR ŽIVKO
+DONDUR DANICA
+DONDUR DARINKA
+DONDUR MILICA
+DONDUR SLAVKO
+DONDUR STANKO
+DONDUR ZDRAVKO
+DONEV TODOR
+DONEVSKI JELENA
+DONEVSKI KRISTINA
+DONIĆ ŽIVOJIN
+DONKOR DŽEMS
+DONSKOV SERGIJE
+DONSKOVA ZOJA DR LEKAR
+DOPUĐ BOŽIDAR
+DOPUĐ BRANKO
+DOPUĐ DUBRAVKA
+DOPUĐ GORAN
+DOPUĐ MARIJA
+DOPUĐ MILAN DR
+DOPUĐ MIROSLAVA
+DOPUĐA ŽIVKO
+DOPUĐA DARA
+DOPUĐA DRAGOMIR
+DOPUĐA SAVA
+DOPUĐA VLADIMIR
+DORČIĆ ALOJZA
+DORČIĆ-BIKIĆ OLGICA
+DORČIĆ BOŽO
+DORČIĆ KLEMENT
+DORČIĆ MARJAN
+DORIĆ ŽARKO
+DORIĆ BILJANA
+DORIĆ BILJANA
+DORIĆ BORISLAV
+DORIĆ FRANJA
+DORIĆ ILIJA
+DORIĆ IRMA
+DORIĆ JOSIP
+DORIĆ PETAR
+DORIĆ STEVAN
+DORIĆ VESELIN
+DORKO SOFIJA
+DORMAN LASLO
+DORO GEZA DR
+DOROŠEV ĐORĐE
+DOROŠKI ĐORĐE
+DOROŠKI BRANKO
+DOROŠKI DESANKA
+DOROŠKI JOVAN DR
+DOROŠKI LJILJANA
+DOROŠKI MARIJA
+DOROŠKI MILAN
+DOROŠKI MILA
+DOROŠKI MIRJANA
+DOROŠKI NIKOLA
+DOROŠKI SIMA
+DOROŠKI VIDOSAVA
+DOROŠKI VUJADIN
+DOROCKI MAHAL
+DOROGHAZI IRINA
+DOROGI ŠANDOR
+DORONJSKI DUŠAN
+DORONJSKI KATARINA
+DOROSLOVAČKI ĐURA
+DOROSLOVAČKI ALEKSANDAR
+DOROSLOVAČKI ANICA
+DOROSLOVAČKI DANICA
+DOROSLOVAČKI GRUJA
+DOROSLOVAČKI JELENA
+DOROSLOVAČKI KSENIJA
+DOROSLOVAČKI MARGITA
+DOROSLOVAČKI MARINA
+DOROSLOVAČKI MARJANA
+DOROSLOVAČKI MIROSLAV
+DOROSLOVAČKI NIKOLA
+DOROSLOVAČKI RADE
+DOROSLOVAČKI SAVETA
+DOROSLOVAČKI STEVANKA
+DOROSLOVAČKI VUJA
+DOROSLOVAČKI VUKA
+DOROSLOVAC BRANISLAVA
+DOROSLOVAC LAZAR
+DOROSLOVAC MARIJA
+DOROSLOVAC MILANA
+DOROSLOVAC MIROSLAV
+DOROSLOVAC PETAR
+DOROSLOVAC ZORAN
+DOROTIĆ ĐORĐE
+DOROTIĆ ĐORĐE
+DOROTIĆ GIZELA
+DOROTIĆ GORDAN
+DOROTIĆ-GUTEŠA LEONA
+DOROTIĆ ILA MR PROF
+DOROTIĆ MARIJA
+DOROTIĆ STEVAN
+DOROTKA DRAGAN
+DOROTKA MILOŠ
+DOSTAN ANA
+DOSTAN ARPAD
+DOSTAN DARINKA
+DOSTAN IŠTVAN
+DOSTAN JOŽEF
+DOSTAN LADISLAV
+DOSTAN PETAR
+DOSTAN STEVAN
+DOSTAN TIBOR
+DOSTANIĆ DRAGICA
+DOSTANIĆ RADMILO
+DOSTANIĆ VOISLAV
+DOSTANJ JOSIP
+DOSTANJ ROZALIJA
+DOSTIĆ SLAVKO
+DOSTIĆ SOFIJA
+DOTLIĆ ŽIVKO
+DOTLIĆ BOŠKO
+DOTLIĆ BORISLAV
+DOTLIĆ DOBRILA
+DOTLIĆ DUŠAN
+DOTLIĆ LAZAR
+DOTLIĆ LAZAR
+DOTLIĆ LUKA
+DOTLIĆ SAVA
+DOTLIĆ SOFIJA
+DOTLIĆ VASA
+DOTOV DRAGO
+DOVAT PAVLE DR
+DOVAT VLADIMIR
+DOVATOV ADAM
+DOVEDEN BORISLAV
+DOVGAN JOSIP
+DOVIJAROV MILOŠ
+DOVIJAROV RADIVOJ
+DOVIJARSKI BRANKA
+DOVIJARSKI MILENA
+DOVIJARSKI STANIMIR
+DOVNIKOVIĆ LAZAR
+DOZET ĐORĐE
+DOZET BOŽO
+DOZET DRAGICA
+DOZET ILIJA
+DOZET JASNA
+DOZET JULKICA
+DOZET LJUBICA
+DOZET LJUBOMIR
+DOZET MIHAJLO
+DOZET MILAN
+DOZET MILOVAN
+DOZET NIKOLA
+DOZET RADE
+DOZET RADMILA
+DOZET RADOSLAVKA
+DOZET SAVKA
+DOZET STANKO
+DRČA ANA
+DRČA BRANKO
+DRČA DRAGICA
+DRČA JANKO
+DRČA MILAN
+DRČA RATKO
+DRČA SLAVKO
+DRČA STEVAN
+DRČA-URGEN MARIJA
+DRČA VLATKO
+DRČELIĆ DOBRISAV
+DRČELIĆ MIRJANA
+DRŽAJIĆ DIMITRIJE PROFESOR
+DRŽIĆ ILIJA
+DRAČA ŽIVKO
+DRAČA ĐORĐE
+DRAČA ACA
+DRAČA DUBRAVKA
+DRAČA MILE
+DRAČA PETAR DR
+DRAČA PETAR
+DRAČA SPASENKA
+DRAČA TOMO DR
+DRAČIN KOSTA
+DRAŠIĆ NATALIJA
+DRAŠKO JELKA
+DRAŠKO MILOVAN
+DRAŠKO SLOBODAN
+DRAŠKOVIĆ BRANKO DIPL OEC
+DRAŠKOVIĆ DRAGA
+DRAŠKOVIĆ DUŠAN
+DRAŠKOVIĆ LJUBOMIR
+DRAŠKOVIĆ MIHAJLO
+DRAŠKOVIĆ MILOMIR
+DRAŠKOVIĆ MILORAD
+DRAŠKOVIĆ NENAD
+DRAŠKOVIĆ SAVO
+DRAŠKOVIĆ SLOBODANKA
+DRAŠKOVIĆ SLOBODAN
+DRAŠKOVIĆ SRETEN
+DRAŽETA MILENKO
+DRAŽETA STEVAN
+DRAŽETIN DUŠAN
+DRAŽETIN MLADEN
+DRAŽIĆ ŽARKO
+DRAŽIĆ ĐORĐE
+DRAŽIĆ ĐORĐE
+DRAŽIĆ ALEKSANDAR
+DRAŽIĆ BOGDAN
+DRAŽIĆ BUDO
+DRAŽIĆ DOBRIVOJ
+DRAŽIĆ DRAGOLJUB
+DRAŽIĆ DUŠAN
+DRAŽIĆ DUŠAN
+DRAŽIĆ EMIL
+DRAŽIĆ GORDANA
+DRAŽIĆ ILIJA
+DRAŽIĆ ILIJA
+DRAŽIĆ IRENA
+DRAŽIĆ JAŠA
+DRAŽIĆ JELICA
+DRAŽIĆ JOVAN
+DRAŽIĆ JOVAN
+DRAŽIĆ JOVAN
+DRAŽIĆ JOVAN
+DRAŽIĆ JOVAN
+DRAŽIĆ KATICA
+DRAŽIĆ KOSTA
+DRAŽIĆ LAZAR
+DRAŽIĆ LJUBICA
+DRAŽIĆ MARIJA
+DRAŽIĆ MILAN
+DRAŽIĆ MILAN
+DRAŽIĆ MILENKO
+DRAŽIĆ MILENKO
+DRAŽIĆ MILINKO DIPL ING
+DRAŽIĆ MILORAD
+DRAŽIĆ MILORAD
+DRAŽIĆ MILORAD
+DRAŽIĆ MIRA
+DRAŽIĆ MITA
+DRAŽIĆ NATALIJA
+DRAŽIĆ NATALIJA
+DRAŽIĆ NESTOR
+DRAŽIĆ NEVENKA
+DRAŽIĆ NIKOLA
+DRAŽIĆ NIKOLA
+DRAŽIĆ OSTOJA
+DRAŽIĆ PETAR
+DRAŽIĆ RADOVAN
+DRAŽIĆ RELJA
+DRAŽIĆ SLAVKO
+DRAŽIĆ SOFIJA
+DRAŽIĆ STANKO
+DRAŽIĆ STEVAN
+DRAŽIĆ STEVAN
+DRAŽIĆ SUZANA
+DRAŽIĆ TOMISLAV
+DRAŽIĆ VELINKA
+DRAŽIĆ VERA
+DRAŽIĆ VERA
+DRAŽIĆ VERA
+DRAŽIĆ ZLATKO
+DRAŽILOVIĆ STANIŠA
+DRAŽIN BORISLAV
+DRAGAŠ ĐORĐE
+DRAGAŠ ĐURO
+DRAGAŠ BORISLAV
+DRAGAŠ BRANKO
+DRAGAŠ DRAGOMIR
+DRAGAŠ IVAN
+DRAGAŠ KATICA
+DRAGAŠ-KOVAČ LJUBICA
+DRAGAŠ LEPOSAVA
+DRAGAŠ LJUBICA
+DRAGAŠ LJUBICA
+DRAGAŠ MANOJLO
+DRAGAŠ MILAN
+DRAGAŠ MILENKO
+DRAGAŠ MIRA
+DRAGAŠ MIRJANA
+DRAGAŠ MOMČILO
+DRAGAŠ RADIVOJ
+DRAGAŠ RADOMIR
+DRAGAŠ SPOMENKA
+DRAGAŠ SVETLANA
+DRAGAŠ ZORAN
+DRAGAŠEV VLADIMIR
+DRAGAN MILENA
+DRAGANIĆ DRAGA
+DRAGANIĆ JANKO
+DRAGANIĆ MIHAJLO
+DRAGANIĆ MILICA DR
+DRAGANIĆ MILKA
+DRAGANIĆ MIRKO
+DRAGANIĆ MIROSLAV
+DRAGANIĆ NADEŽDA
+DRAGANIĆ RANKO
+DRAGANIĆ VIDA
+DRAGANIĆ ZEKO
+DRAGANOV MILOŠ
+DRAGANOV OLGA
+DRAGANOV SLOBODAN
+DRAGANOV STOJANKA
+DRAGANOVIĆ SLAVKO
+DRAGELJEVIĆ DUŠAN
+DRAGELJEVIĆ JOVAN
+DRAGIČEVIĆ ADAM
+DRAGIČEVIĆ ALEKSANDAR
+DRAGIČEVIĆ BORISLAV
+DRAGIČEVIĆ GOJKO
+DRAGIČEVIĆ ILINKA
+DRAGIČEVIĆ IVKA
+DRAGIČEVIĆ KREŠIMIR
+DRAGIČEVIĆ LAZAR
+DRAGIČEVIĆ LJUBICA
+DRAGIČEVIĆ LJUBOMIR
+DRAGIČEVIĆ MILJA
+DRAGIČEVIĆ MILOŠ
+DRAGIČEVIĆ MIRKO
+DRAGIČEVIĆ RADENKO
+DRAGIČEVIĆ SPASA
+DRAGIČEVIĆ SRETEN
+DRAGIČEVIĆ VOJIN
+DRAGIČEVIĆ VOJISLAV
+DRAGIČEVIĆ ZORAN
+DRAGIŠA ŽARKO
+DRAGIŠIĆ BOGDAN
+DRAGIŠIĆ BORISLAVKA
+DRAGIŠIĆ JOVANKA
+DRAGIŠIĆ NIKOLA
+DRAGIŠIĆ PETAR
+DRAGIŠIĆ RADE
+DRAGIĆ ČEDOMIR
+DRAGIĆ ŽELJKO
+DRAGIĆ ĐORĐE
+DRAGIĆ ANA
+DRAGIĆ BRANKO
+DRAGIĆ DUŠAN
+DRAGIĆ DUŠAN
+DRAGIĆ ELVIRA
+DRAGIĆ ILIJA
+DRAGIĆ ILIJA
+DRAGIĆ ILIJA
+DRAGIĆ JELENA
+DRAGIĆ LJUBIŠA
+DRAGIĆ LJUBIŠA
+DRAGIĆ MARIJANA
+DRAGIĆ MILENKO
+DRAGIĆ MILIVOJE
+DRAGIĆ MILKA
+DRAGIĆ MILORAD
+DRAGIĆ NADA
+DRAGIĆ NEDELJKO
+DRAGIĆ NEVENKA
+DRAGIĆ NIKOLA
+DRAGIĆ OBRAD
+DRAGIĆ PAULA
+DRAGIĆ PAVLE
+DRAGIĆ PERA
+DRAGIĆ PETAR
+DRAGIĆ PETAR
+DRAGIĆ RANKO
+DRAGIĆ SAVA
+DRAGIĆ SLAVKO
+DRAGIĆ SPASOJE
+DRAGIĆ STEVAN
+DRAGIĆ STEVAN
+DRAGIĆ TOMISLAV
+DRAGIĆ VERA
+DRAGIĆ VESNA
+DRAGIĆEVIĆ BOGICA
+DRAGIĆEVIĆ BORISLAV
+DRAGIĆEVIĆ BRANISLAV
+DRAGIĆEVIĆ RAJICA
+DRAGIN ŽARKO
+DRAGIN BOGDAN
+DRAGIN BORIVOJ
+DRAGIN DANILO
+DRAGIN DESANKA
+DRAGIN DUŠKO
+DRAGIN GORDANA
+DRAGIN JOVAN DIPL ING
+DRAGIN JOVO DIPL ING
+DRAGIN LAZAR
+DRAGIN MARKO
+DRAGIN MIODRAG
+DRAGIN MIODRAG
+DRAGIN NIKOLA
+DRAGIN PETRIJA
+DRAGIN RADIVOJ
+DRAGIN RISTO
+DRAGIN SAŠA
+DRAGIN SOKICA
+DRAGIN STEVAN
+DRAGIN SVETISLAV
+DRAGIN VASA
+DRAGIN VOJISLAV
+DRAGIN ZORAN
+DRAGINČIĆ DUŠAN
+DRAGINČIĆ SLAVKO
+DRAGOŠEV DRAGAN
+DRAGOJEVIĆ ŽELJKO
+DRAGOJEVIĆ ANĐELKO
+DRAGOJEVIĆ BOŠKO
+DRAGOJEVIĆ BRANISLAV
+DRAGOJEVIĆ DARINKA
+DRAGOJEVIĆ DRAGUTIN
+DRAGOJEVIĆ GOJKO
+DRAGOJEVIĆ HRISTINA
+DRAGOJEVIĆ LJUBOMIR
+DRAGOJEVIĆ MILENA
+DRAGOJEVIĆ MILENKO
+DRAGOJEVIĆ MILENKO
+DRAGOJEVIĆ MILICA
+DRAGOJEVIĆ MILORAD
+DRAGOJEVIĆ NIKOLA
+DRAGOJEVIĆ RADIŠA
+DRAGOJEVIĆ STEVAN
+DRAGOJEVIĆ ZLATANA
+DRAGOJLOV ANKICA
+DRAGOJLOV BOŠKO
+DRAGOJLOV DUŠAN
+DRAGOJLOV DUBRAVKA
+DRAGOJLOV GAVRA
+DRAGOJLOV LAZAR
+DRAGOJLOV MARGITA
+DRAGOJLOV MILOŠ
+DRAGOJLOV MILOŠ
+DRAGOJLOV MIROSLAV
+DRAGOJLOV VOJISLAV
+DRAGOJLOVIĆ DUŠKO
+DRAGOJLOVIĆ LAZAR
+DRAGOJLOVIĆ MARA
+DRAGOJLOVIĆ MILAN
+DRAGOJLOVIĆ MILAN
+DRAGOJLOVIĆ ZORICA
+DRAGOLJEVIĆ GOJKO
+DRAGOLJEVIĆ MARINKO
+DRAGOLJEVIĆ MITAR
+DRAGOLJEVIĆ RANKO
+DRAGOLJEVIĆ SEKULA
+DRAGOLJEVIĆ STOJAN
+DRAGOLJEVIĆ VLADE
+DRAGOMIROVIĆ ĐOKA
+DRAGOMIROVIĆ DIMITRIJE
+DRAGOMIROVIĆ DRAGICA
+DRAGOMIROVIĆ IVAN
+DRAGOMIROVIĆ LJUBICA
+DRAGOMIROVIĆ SAVA
+DRAGOMIROVIĆ TODOR
+DRAGOSAVAC ANGELINA
+DRAGOSAVAC ILIJA
+DRAGOSAVAC KATICA
+DRAGOSAVAC MELANIJA
+DRAGOSAVAC MILANKO
+DRAGOSAVAC MILORAD
+DRAGOSAVAC NIKOLA
+DRAGOSAVAC ZUZANA
+DRAGOSAVLJEVIĆ ĐURA
+DRAGOSAVLJEVIĆ LJILJANA
+DRAGOSAVLJEVIĆ MARIJA
+DRAGOSAVLJEVIĆ MIRJANA
+DRAGOSAVLJEVIĆ MLADEN
+DRAGOSAVLJEVIĆ STEVA DIPL ING
+DRAGOSAVLJEVIĆ STOJŠA
+DRAGOSAVLJEVIĆ VOJA
+DRAGOSLAVIĆ VIDAK
+DRAGOVAC SLAVKO
+DRAGOVIĆ ČEDO
+DRAGOVIĆ BUDIMIR
+DRAGOVIĆ DRAGAN
+DRAGOVIĆ GOJKO
+DRAGOVIĆ GORDANA
+DRAGOVIĆ JASMINKA
+DRAGOVIĆ JOVANKA
+DRAGOVIĆ MILAN
+DRAGOVIĆ MILIĆ
+DRAGOVIĆ MILICA
+DRAGOVIĆ MIRA
+DRAGOVIĆ RANKO
+DRAGOVIĆ SNIJEŽANA
+DRAGOVIĆ STAMENKA
+DRAGOVIĆ SVETIMIR
+DRAGOVIĆ SVETOMIR
+DRAGOVIĆ VERA
+DRAGOVIĆ VIDAK
+DRAGOVIĆ VLADA
+DRAGOVIĆ ZORAN
+DRAGUMILO MILOMIR
+DRAGUMILO MILUTIN
+DRAGUNOVIĆ BORISLAV
+DRAGUNOVIĆ PERO
+DRAGUTINOVIĆ ŽIVKA
+DRAGUTINOVIĆ MILAN
+DRAGUTINOVIĆ PREDRAG
+DRAGUTINOVIĆ ZORAN
+DRAH JELISAVETA
+DRAH JELISAVETA
+DRAHOTUSKI BORISLAV
+DRAHOTUSKI PETAR
+DRAKIĆ DRAGIŠA
+DRAKIĆ SLOBODAN DR
+DRAKUL VASO
+DRAKULA DUŠAN
+DRAKULA RADMILA
+DRAKULIĆ ALEKSANDAR
+DRAKULIĆ BRANISLAV
+DRAKULIĆ DRAGOMIR DR STOMATOLOG
+DRAKULIĆ DRAGOMIR
+DRAKULIĆ ERŽEBET
+DRAKULIĆ JELENA
+DRAKULIĆ JOVAN
+DRAKULIĆ KOSTA
+DRAKULIĆ LAZAR
+DRAKULIĆ LJUBICA
+DRAKULIĆ MARA
+DRAKULIĆ MARA
+DRAKULIĆ MILAN
+DRAKULIĆ MILAN
+DRAKULIĆ MILAN
+DRAKULIĆ MILIVOJ
+DRAKULIĆ MIROSLAV
+DRAKULIĆ PREDRAG
+DRAKULIĆ SMILJA
+DRAKULIĆ SOFIJA
+DRAKULIĆ STEVAN
+DRAKULIĆ STOJANKA
+DRAKULIĆ SVETISLAV
+DRAKULIĆ SVETOZAR
+DRAKULIĆ SVETOZAR
+DRAKULIĆ TODOR
+DRAKULIĆ ZORAN
+DRAPŠIN ČAVA
+DRAPŠIN ĐORĐE
+DRAPŠIN DANICA
+DRAPŠIN LEPOSAVA
+DRAPŠIN MILAN
+DRAPŠIN MILENKO
+DRAPŠIN PETAR
+DRAPŠIN PREDRAG
+DRAPŠIN SAVA
+DRAPŠIN ZAGORKA
+DRAPŠIN ZORAN
+DRAPIĆ BOGDAN
+DRAPIĆ SENITA
+DRAPIĆ SLOBODAN
+DRAPIĆ VELIMIR
+DRAPOŠ STEVAN
+DREŠKAI ŠANDOR
+DRECUN VELJKO
+DREHER LAJOŠ
+DREHER NIKOLA
+DREHER OTO
+DREHER VILIM DIPL ING
+DREKOVIĆ ĐURO
+DREKOVIĆ KATICA
+DREKOVIĆ ZORAN
+DREMPETIĆ DARKO
+DREMPETIĆ PETAR
+DREMPETIĆ ZDENKO
+DRENJAKOVIĆ JELICA
+DRENKOVIĆ LASLO
+DRENOVČANIN LJUBOMIR
+DRENOVAC RANKO
+DRENOVEC CVETO
+DRETAR MIRKO
+DREZGA JAKOV
+DREZGA TODOR
+DREZGIĆ DARA
+DREZGIĆ ILIJA
+DREZGIĆ MARIJA
+DREZGIĆ MILAN
+DREZGIĆ RADIVOJ
+DREZGIĆ SVETLANA
+DREZGIĆ VLADIMIR
+DRIGULOV SPASOJE
+DRINČEVIĆ ŽIVOTA
+DRINČEVIĆ DESANKA DR
+DRINČIĆ MELANIJA
+DRINČIĆ MILOJKO
+DRINČIĆ RADMILA
+DRINIĆ ALEKSANDAR
+DRINIĆ BORISLAV
+DRINIĆ JAGODA
+DRINIĆ MILAN
+DRINIĆ MILENKO
+DRINIĆ MILETA
+DRINIĆ MILOVAN
+DRINIĆ MIRKO
+DRINIĆ NEDELJKO
+DRINIĆ PERO
+DRINIĆ RADMILA
+DRINIĆ SAVO
+DRINIĆ SLAVICA
+DRINIĆ STEVO
+DRINIĆ TOMO
+DRINIĆ ZDRAVKO
+DRINJOVSKI ALEKSANDAR
+DRINJOVSKI VOJISLAV
+DRK BARBARA
+DRKUŠIĆ ILIJA
+DRLJAČA ĐORĐE
+DRLJAČA ĐORĐE
+DRLJAČA BRANKA
+DRLJAČA DRAGAN
+DRLJAČA DUŠAN
+DRLJAČA MARKO
+DRLJAČA MIĆA
+DRLJAČA MILANKO
+DRLJAČA MILORAD
+DRLJAČA MIRKO
+DRLJAČA NEĐO
+DRLJAČA NENAD
+DRLJAČA RADOVAN
+DRLJAČA RADOVAN
+DRLJAČA STOJA
+DRLJAČA ZDRAVKA
+DRLJAČIĆ KATA
+DRLJEVIĆ ĐURO
+DRLJEVIĆ ANICA
+DRLJEVIĆ JOVANKA
+DRLJEVIĆ MILETA
+DRLJEVIĆ MILJA
+DRLJEVIĆ MIRJANA
+DRLJIĆ MILADIN
+DRLJIĆ PREDRAG
+DRMANAC MIROSLAV
+DRMANAC STANKO
+DRMANOVIĆ MILEVA
+DRNDAREVIĆ BORA
+DRNDAREVIĆ BORA
+DRNDAREVIĆ KATICA
+DRNDARSKI MILAN
+DRNDARSKI VELIMIR
+DROBAC ŽARKO
+DROBAC ŽARKO
+DROBAC ĐORĐE
+DROBAC ANA
+DROBAC BRANISLAV
+DROBAC LJILJANA
+DROBAC MILAN
+DROBAC MILAN
+DROBAC MILORAD
+DROBAC MIROSLAV
+DROBAC NENAD
+DROBAC NIKOLA
+DROBAC PREDRAG
+DROBAC RADOJKA
+DROBAC RADOJKA
+DROBAC SLAVKO
+DROBAC VLADO
+DROBAC VUKAŠIN NOVINAR
+DROBAC ZDRAVKO
+DROBINA JULIJANA
+DROBINA LJUBICA
+DROBINA MIHALJ
+DROBINJAK RUŽA
+DROBNJAK EVICA
+DROBNJAK LJILJANA
+DROBNJAK MILIVOJE
+DROBNJAK MIODRAG
+DROBNJAK MOMČILO
+DROBNJAK RADIŠA
+DROBNJAK RADOJICA
+DROBNJAK RADOJICA
+DROBNJAKOVIĆ DUŠAN
+DROBNJAKOVIĆ GVOZDEN
+DROBNJAKOVIĆ RISTIVOJE
+DROBNJIK JOSIP
+DROBNJIK JUDIT
+DRONJAK ŽIVANA
+DRONJAK ŽIVKO
+DRONJAK ĐORĐE
+DRONJAK DARINKA
+DRONJAK MILAN
+DRONJAK MIRJANA
+DRONJAK OLGA
+DRONJAK RASTKO
+DRONJAK SAVINKA
+DRONJAK STEVAN
+DROPKA ARPAD
+DROPKA JELENA
+DROPKA NATAŠA
+DROPKA STEVAN
+DROPO MILKA
+DROPO VASA
+DROPO ZORAN
+DROZDIK ILONA
+DROZDIK MARIJA
+DRUŽETIĆ ŽIKA
+DRUGOVIĆ RUŽICA
+DRUGOVIĆ RUŽICA
+DRVENDŽIJA RADOVAN
+DRVENDŽIJA SLAVKO
+DRVENJAK VERICA
+DUČEVIĆ VASILIJE
+DUČIĆ MILAN
+DUČIĆ SLOBODAN
+DUŠANIĆ DRAGAN
+DUŠANIĆ LAZAR
+DUŠANIĆ LJUBICA
+DUŠANIĆ NADA
+DUŠANIĆ NENAD
+DUŠANOVIĆ STANOJE
+DUŠANOVIĆ ZVEZDANA
+DUŠEK ZLATKO DIPL OEC
+DUŠIĆ BRANKO
+DUŠIĆ ZORAN
+DUĆAK ANDRIJA
+DUĆAK ARANKA
+DUĆAK BARBARA
+DUĆAK MIHAJLO
+DUĆAK TOMA
+DUĐAK DRAGUTIN
+DUĐIK FRANJA
+DUBAIĆ BOŽIDAR
+DUBAIĆ MILAN
+DUBAIĆ MIRKO
+DUBAJIĆ ŽARKO
+DUBAJIĆ ĐURA
+DUBAJIĆ ALEKSANDAR
+DUBAJIĆ BILJANA
+DUBAJIĆ DRAGAN
+DUBAJIĆ MILICA
+DUBAJIĆ MILOŠ
+DUBAJIĆ MIRKO
+DUBAJIĆ VIDA
+DUBLJEVIĆ SLOBODAN
+DUBLJEVIĆ STOJAN
+DUBLJEVIĆ VOJISLAV
+DUBLJEVIĆ ZLATA
+DUBNJAKOVIĆ MARTA
+DUBOVSKA MILOTA
+DUBOVSKI JANKO
+DUBOVSKI KATICA
+DUBRAVAC DUŠAN
+DUBROJA DANICA
+DUBROJA SLOBODAN
+DUCANOVIĆ BOŠKO
+DUCIĆ MILAN
+DUDA PAVLE
+DUDAŠ ĐURA
+DUDAŠ ĐURA
+DUDAŠ ĐURA
+DUDAŠ ANA
+DUDAŠ ANTAL
+DUDAŠ ARPAD
+DUDAŠ ARPAD
+DUDAŠ BORIS
+DUDAŠ HELENA
+DUDAŠ JANOŠ
+DUDAŠ JULIJAN
+DUDAŠ LAZAR
+DUDAŠ MARINKO
+DUDAŠ MIHALJ
+DUDAŠ PIROŠKA
+DUDAŠ ROMAN
+DUDAŠ SLAVOMIR
+DUDAK JAROSLAV
+DUDAK MARIJA
+DUDAK STEVAN
+DUDAN MILIVOJ
+DUDAR NIKOLA
+DUDARIN ŽARKO
+DUDARIN DRAGAN
+DUDARIN SAVA
+DUDARIN STEVAN
+DUDARIN STEVAN
+DUDARIN VESELIN
+DUDARIN ZORAN
+DUDARIN ZORAN
+DUDIĆ ANICA
+DUDIĆ KOSTA
+DUDIĆ KOSTA
+DUDIĆ MATE
+DUDIĆ MILA
+DUDIĆ MILE
+DUDIĆ MILOŠ
+DUDIĆ MILOŠ
+DUDIĆ NADA
+DUDIĆ SVETOZAR
+DUDIĆ VASA
+DUDIĆ VASA
+DUDIĆ VERICA
+DUDIĆ ZORAN
+DUDOJEVIĆ NEDŽAD
+DUDOK DANIEL DR
+DUDOK JANKO
+DUDOK PAVEL
+DUDUKOVIĆ ALEKSANDAR
+DUDUKOVIĆ SLOBODAN
+DUDUKOVIĆ STEVAN
+DUDVARSKI BOŽIDAR
+DUDVARSKI DRAGOLJUB
+DUDVARSKI IVAN
+DUDVARSKI PAJA
+DUDVARSKI VELINKA
+DUGAJLIĆ ANĐELKA
+DUGAJLIĆ ARJANA
+DUGAJLIĆ MILOŠ
+DUGAJLIĆ RADOVAN
+DUGALIĆ DRAGAN
+DUGANDŽIJA BRANKO
+DUGANDŽIJA DRAGOMIR
+DUGANDŽIJA DUŠAN
+DUGANDŽIJA NEDELJKO
+DUGIN STOJAN
+DUGOŠIJA ŽIVKO
+DUGOŠIJA-MAKSIMOVIĆ NADA
+DUGONJIĆ MILE
+DUGONJIĆ MILUTIN
+DUGONJIĆ NIKOLA
+DUGONJIĆ SVETOMIR
+DUH KATARINA
+DUHAČEK VLADO
+DUIĆ JOSIP
+DUJAKOVIĆ MILENA
+DUJAKOVIĆ MILICA
+DUJAKOVIĆ NOVA
+DUJAKOVIĆ VELJKO
+DUJEVSKI VANGEL DR
+DUJIĆ ĐORĐE
+DUJIĆ IVAN
+DUJIĆ IVICA
+DUJIĆ LJUBICA
+DUJIĆ SLOBODAN
+DUJIĆ SLOBODAN
+DUJIĆ SLOBODAN
+DUJIĆ SMILJA
+DUJIĆ STOJANKA
+DUJIN ŽIVA
+DUJIN ŽIVKO
+DUJIN DANICA
+DUJIN LUKA
+DUJIN SIMEON
+DUJIN SVETISLAV
+DUJIN TEODOR
+DUJIN VITOMIR
+DUJKIĆ VLADISLAV
+DUJKOVIĆ BRANKO
+DUJKOVIĆ PETAR
+DUJKOVIĆ TEODOR
+DUJKOVIĆ VLADIMIR
+DUJLOVIĆ BORA
+DUJMIĆ ANTE
+DUJMOVIĆ ELIZABETA
+DUJMOVIĆ EVA
+DUJMOVIĆ FERENC
+DUJMOVIĆ JOSIP
+DUJOVIĆ ILIJA
+DUJOVIĆ RADMILA
+DUJOVIĆ RADMILA
+DUKA MIROSLAV
+DUKAI ANDRAŠ
+DUKAN NATAŠA
+DUKARIĆ VIDA
+DUKES FOSKA
+DUKIĆ ĐURO
+DUKIĆ BORA
+DUKIĆ DANILO
+DUKIĆ DRAGAN
+DUKIĆ DRAGICA
+DUKIĆ DUŠAN
+DUKIĆ IVANKA
+DUKIĆ JELENA
+DUKIĆ JOVAN
+DUKIĆ JOVAN
+DUKIĆ KOSA
+DUKIĆ LJUBICA
+DUKIĆ MILAN
+DUKIĆ MILAN
+DUKIĆ MILAN
+DUKIĆ MILICA
+DUKIĆ MILICA
+DUKIĆ MIRJANA
+DUKIĆ PREDRAG
+DUKIĆ RADE
+DUKIĆ RADE
+DUKIĆ RAJKO
+DUKIĆ SLAVICA
+DUKIĆ SOFIJA
+DUKIĆ STEVO DIPL ING
+DUKIĆ VUKAŠIN DR
+DUKIĆ ZORAN
+DUKOVA LILI
+DUKOVSKI SVETISLAV
+DULEJAN ŽIVADINKA
+DULEJAN SLAVKO
+DULIĆ ŠANDOR
+DULIĆ ANKA
+DULIĆ IVAN
+DULIĆ JOSIP
+DULIĆ JOSIP
+DULIĆ LJUDEVIT
+DULIĆ MAGDA
+DULIĆ MIHAJLO
+DULIĆ MIROSLAV
+DULIĆ NIKOLA
+DULOVIĆ ANĐELKO
+DULOVIĆ BOGDAN
+DULOVIĆ BRANKO
+DULOVIĆ DUŠAN
+DULOVIĆ MILOVAN
+DULOVIĆ MILUN
+DULOVIĆ RADOVAN
+DULOVIĆ RANKO
+DULOVIĆ RATKA
+DULOVIĆ ZORAN
+DUMA MILORAD
+DUMANČIĆ SLAVICA
+DUMANČIĆ ZDRAVKO
+DUMANOVIĆ MLADEN
+DUMEDAŠ SPASOJE
+DUMEDAŠ VASILIJE
+DUMENČIĆ IVAN
+DUMIĆ SLAVICA
+DUMIĆ STEVAN DIPL ING
+DUMITROV ALEKSANDAR
+DUMITROV DIMITRIJE
+DUMITROV LUKA
+DUMITROV MARIJA
+DUMITROV MIODRAG
+DUMITROV NEDELJKO
+DUMITROV SLAVKO
+DUMITROV VERICA
+DUMITROV VOJIN
+DUMNIĆ ŠARIKA
+DUMNIĆ MILAN
+DUMONIĆ BRANKO
+DUMONIĆ PETAR
+DUNĐER RADE
+DUNĐER RADE
+DUNĐERIN ĐORĐE
+DUNĐEROV KOSANA
+DUNĐEROV NADA
+DUNĐEROV PIROŠKA
+DUNĐEROVIĆ RADOVAN
+DUNĐERSKI ŽIVAN
+DUNĐERSKI ĐORĐE
+DUNĐERSKI ĐORĐE
+DUNĐERSKI ALEKSANDAR
+DUNĐERSKI ANA
+DUNĐERSKI CVETANA
+DUNĐERSKI DRAGAN
+DUNĐERSKI IVANKA
+DUNĐERSKI IVAN
+DUNĐERSKI JOVAN
+DUNĐERSKI MARIJA
+DUNĐERSKI MILAN
+DUNĐERSKI MIRJANA
+DUNĐERSKI NOVAK
+DUNĐERSKI SIMA
+DUNĐERSKI SOFIJA
+DUNĐERSKI STANISLAV
+DUNĐERSKI TIHOMIR
+DUNĐERSKI TRIVA
+DUNĐERSKI ZDRAVKO
+DUNDIĆ HARALAMPIJE
+DUNDIĆ JELENA
+DUNDIĆ SLAVKO
+DUNDOVIĆ STJEPAN
+DUNIĆ DRAGIĆ
+DUNJIĆ STOJAN
+DUNOVIĆ MILKA
+DUNOVIĆ NATAŠA
+DUPAK IMRE
+DUPAK MARIJA
+DUPALO SLAVKA
+DUPOR GORDANA
+DUPOR MILOŠ
+DUPOR MIRKO
+DUPOR ZORICA
+DURAČKOVIĆ BAHRIJA
+DURAČKOVIĆ SENIJA
+DURAKOVIĆ ĐURO
+DURAKOVIĆ DRAGAN
+DURAKOVIĆ GOJKO
+DURAKOVIĆ GOJKO
+DURAN BRANKO
+DURANOVIĆ VLADIMIR
+DURGUTOVIĆ RIFAD
+DURKALIĆ VIKTOR
+DURKOVIĆ MILORAD
+DURKOVIĆ VLAJKO
+DURKULIĆ ALEKSANDAR
+DURKULIĆ SPASOJE
+DURLEVIĆ MILICA
+DURMAN DRAGOLJUB
+DURMAN GOJKO
+DURMAN NADA
+DURMAN RASTISLAV
+DUROŠKA ŠANDOR
+DUROŠKA IVANKA
+DUROŠKA JELENA
+DUROŠKA MIHAJLO
+DUROŠKI JULIJANA
+DURUŠKA PAL
+DURUTOVIĆ DRAGAN
+DURUTOVIĆ RADOVAN
+DURUTOVIĆ SENKA
+DUSIĆ GOSPAVA
+DUSPARA MILENA
+DUSPER ŠIMO
+DUTINA ANDRIJA
+DUTINA BRANISLAV
+DUTINA BRATOLJUB
+DUTINA DRAGAN
+DUTINA IRENA
+DUTINA MIOMIR
+DUTINA SLOBODAN
+DUTINA VLADIMIR
+DUVNJAK DIVNA
+DUVNJAK DIVNA
+DUVNJAK IVICA
+DUVNJAK KOSTA
+DUVNJAK LAZAR
+DUVNJAK LAZAR
+DUVNJAK MARA
+DUVNJAK MILENKO
+DUVNJAK MILORAD
+DUVNJAK NENAD
+DUVNJAK RADOJKA
+DUVNJAK STANA
+DVORAČKO ŠANDOR
+DVORNIĆ MIRJANA
+EŠKI ERŽEBET
+EŠKIČEVIĆ VASA
+EĆIM RADOVAN
+EĆIMOVIĆ GOJKO
+EĆIMOVIĆ NIKOLA
+EĆIMOVIĆ VESELIN
+EĐEDI JOŽEF
+EĐEDI JULIJANA
+EBENHE-JOVANOVIĆ JASNA DR
+EBENHE NIKOLA
+EBERHARD-MARKOVIĆ MIRJANA
+EBERHART PETAR
+EBERST-SEDLAČEK GABRIELA
+ECET JOVAN
+ECET JOVAN
+ECET KATALIN
+ECET PAL
+EDELENJI MARIJA
+EDELINSKI EUGEN
+EDELINSKI JOAKIM
+EDELINSKI LJUBICA
+EDELINSKI VERA
+EDELINSKI VERA
+EFTEMIJU NIKOLA
+EGELJA MILICA
+EGELJA NEBOJŠA
+EGERIĆ MIROSLAV DR
+EGIĆ ČEDMILA
+EGIĆ ĐOKA
+EGIĆ BRACO
+EGIĆ BRANISLAV
+EGIĆ CVETANKA
+EGIĆ DRAGAN
+EGIĆ MANE
+EGIĆ MARIJAN
+EGIĆ MICA
+EGIĆ MILAN
+EGIĆ MILAN
+EGIĆ OLGA
+EJIĆ MILAN
+EKEŠ ALEKSANDAR
+EKHARDT LJUBICA
+EKLIĆ MARJAN
+EKMEŠČIĆ MILISAV
+EKMEDŽIĆ ANKA
+EKMEDŽIĆ NIKOLA
+EKRES ĐORĐE
+EKRES ANDRIJA
+EKRES JANOŠ
+EKRES JULIJANA
+EKRES MILKA
+EKRES NANDOR
+EKRES OTO
+EKRES-RAKIĆ VERICA
+EKRES ROZALIJA
+EKRES VALERIJA
+ELEK EVA
+ELERO ZVEZDANA
+ELESIN BRANISLAV
+ELESIN BRANKA
+ELESIN DRAGA
+ELESIN DRAGOLJUB
+ELESIN DUŠANKA
+ELESIN GRADIMIR
+ELESIN MIROSLAV
+ELESIN SAVA
+ELESIN SINIŠA
+ELESIN VLADIMIR
+ELEZ ĐOKA
+ELEZ GORAN
+ELEZOVIĆ NIKOLA
+ELEZOVIĆ PETAR
+ELHART LAZAR
+ELHART LAZAR
+ELIAS IRENA
+ELIJAŠ JAN
+ELIZEK ŽUŽANA
+ELIZEK IVAN
+ELOR IŠTVAN
+ELOR JANOŠ
+ELOR LJUBICA
+ELOR PAVLE
+ELOR ZORICA
+ELTER JANOŠ
+ELTER ZOLTAN
+EMER JAKOV
+EMER MARKO
+EMINI BAJRAM
+EMINI GANI
+EMINI ROZALIJA
+ENAHOLO NADA
+ENGELMAN KATICA
+ENGERT MIHAJLO
+ENGLER LAJOŠ
+EPIFANIĆ CVETANA
+EPIFANIĆ DUŠKO
+ERČI-VARGA MARIŠKA
+ERČIĆ BOJANA
+ERČIĆ MILORAD
+ERČIĆ RADOVAN
+ERŠTE ŽELJKO
+ERAK BORO
+ERAK DUŠAN
+ERAK ILIJA
+ERAK LAZAR
+ERAK MARKO
+ERAKOVIĆ BOGDAN
+ERAKOVIĆ DANILO
+ERAKOVIĆ DRAGICA
+ERAKOVIĆ KRISTIVOJ
+ERAKOVIĆ LJUBIŠA
+ERAKOVIĆ LJUBOJE
+ERAKOVIĆ MILORAD
+ERAKOVIĆ MITAR
+ERAKOVIĆ RADE
+ERAKOVIĆ RAJKO
+ERAKOVIĆ SRETEN
+ERBEŠ ERŽEBET
+ERBEŽNIK SONJA
+ERBES BRANKA
+ERBES MARGITA
+ERBEZ BLAŽO
+ERBEZ ERŽEBET
+ERCEG ŠPIRO
+ERCEG ŽARKO
+ERCEG ŽIVKO
+ERCEG DARA
+ERCEG LJILJANA
+ERCEG MIKA
+ERCEG RADOVAN
+ERCEG RAJKO
+ERCEG RAJKO
+ERCEG SLOBODAN
+ERCEG STANA
+ERCEG ZDENKO
+ERCEG ZDRAVKO
+ERCEGAN GORAN
+ERCEGAN MITA
+ERCEGOVČEVIĆ ŽIVODAR
+ERCEGOVČEVIĆ DOSTA
+ERCEGOVAC ANĐELKO
+ERCEGOVAC BRATISLAV
+ERCEGOVAC MIODRAG
+ERCEGOVAC MITAR
+ERCEGOVAC NADA
+ERCEGOVAC SAVA
+ERCEGOVAC SLOBODAN
+ERCEGOVAC STEVAN
+ERCEGOVAC TOMISLAV
+ERCEGOVIĆ DANICA
+ERDEŠ DANIEL
+ERDEŠ EMIL
+ERDEŠ ESTER
+ERDEŠ ETELKA
+ERDEŠ ILONA
+ERDEŠ IVAN
+ERDEŠ JULIJANA
+ERDEŠ KLARA
+ERDEŠ LASLO
+ERDEŠ PAL
+ERDEŠ PETAR
+ERDEŠI LASLO
+ERDEŠI VALERIJA
+ERDEG ARANKA
+ERDEG ILONA
+ERDEG JANOŠ
+ERDEG JUSTINA
+ERDEG TOMISLAV
+ERDEI ŠANDOR
+ERDEI JOSIP
+ERDEI JOVAN
+ERDEI MIHAJLO
+ERDEI PETAR
+ERDEI ZOLTAN
+ERDELJ BRANKO
+ERDELJ EMIL
+ERDELJ GORAN
+ERDELJ LUDMILA
+ERDELJ MILUTIN
+ERDELJAN ŽIVKO
+ERDELJAN ALEKSANDAR
+ERDELJAN ALKSANDAR
+ERDELJAN BISERKA
+ERDELJAN BOŠKO
+ERDELJAN-BOGDANOV SLAVICA
+ERDELJAN DANILO
+ERDELJAN DOBRIVOJ
+ERDELJAN DUŠANKA
+ERDELJAN DUŠAN
+ERDELJAN DUŠAN
+ERDELJAN DUŠAN
+ERDELJAN DUŠAN
+ERDELJAN JELENA
+ERDELJAN KATICA
+ERDELJAN LJUBICA
+ERDELJAN LJUBOMIR
+ERDELJAN MILADIN
+ERDELJAN MILAN DIPL ING
+ERDELJAN MILAN
+ERDELJAN MILENKO
+ERDELJAN MILIVOJ
+ERDELJAN MILORAD
+ERDELJAN MILORAD
+ERDELJAN MILOVAN
+ERDELJAN MIRJANA
+ERDELJAN NADEŽDA
+ERDELJAN NIKOLA
+ERDELJAN PREDRAG
+ERDELJAN RADIVOJ
+ERDELJAN SLAVKA
+ERDELJAN SLAVKA
+ERDELJAN SLOBODAN DIPL ING
+ERDELJAN SREDOJE
+ERDELJAN STEVAN
+ERDELJAN SVETISLAV
+ERDELJAN TIHOMIR
+ERDELJAN VERICA
+ERDELJAN VUKICA
+ERDELJAN ZLATKO
+ERDELJAN ZORA
+ERDELJANIN ANĐELKO
+ERDELJI ĐERĐ
+ERDELJI ANTAL
+ERDELJI BELA
+ERDELJI BISERKA
+ERDELJI BORBALA
+ERDELJI DEŽE
+ERDELJI DRAGICA
+ERDELJI FRANJA
+ERDELJI GAŠPAR
+ERDELJI IŠTVAN
+ERDELJI JENE
+ERDELJI JOŽEF
+ERDELJI KAROLJ
+ERDELJI LAJOŠ
+ERDELJI LASLO DIPL ING
+ERDELJI MATILDA
+ERDELJI SOFRONA
+ERDELJI STEVAN
+ERDELJI TIBOR
+ERDEVIK MARA
+ERDEVIK MARIJA
+ERDEVIK SLOBODAN
+ERDEVIK VOJISLAV
+ERDEVIK VUKICA
+ERDEVIK ZDRAVKO
+EREŠ ŠANDOR
+EREŠ LASLO
+EREĐIN VUKAŠIN
+EREG LAJOŠ
+EREMIĆ JELICA
+EREMIĆ JOVAN
+EREMIĆ NINOSLAV
+EREMIĆ RADOVAN
+EREMIĆ SAVA
+EREMIĆ SLAVICA
+EREMIĆ STANISLAVA
+EREMIĆ TIHOMIR DR LEKAR
+EREMIĆ VESELINKA
+EREMIJA MILAN
+EREMIJA STANKO
+EREMIN NIKOLA
+ERENTA LJUBICA
+ERG OLGA
+ERGELAŠEV DUBRAVKA
+ERGELAŠEV IVAN
+ERGELAŠEV JOVAN
+ERGELAŠEV MILAN
+ERGELAŠEV MILOŠ
+ERGELAŠEV MOMČILO
+ERGELAŠEV NESTOR
+ERGELAŠEV SMILJKA
+ERGELAŠEV TIHOMIR
+ERGELAŠEV ZORKA
+ERHARTIČ ANA
+ERHARTIČ RUDOLF
+ERI ILONA
+ERI JANOŠ
+ERI JOVAN
+ERIĆ ĐULINKA
+ERIĆ BOŽIN
+ERIĆ LJILJANA
+ERIĆ MARKO
+ERIĆ MILOMIR
+ERIĆ NEBOJŠA
+ERIĆ PERO
+ERIĆ SNEŽANA
+ERIĆ SVETOMIR
+ERIĆ ZORICA
+ERKIĆ ĐORĐE
+ERKIĆ PETAR
+ERLAUER IVAN
+ERLAUER JOSIP
+ERLER VERONA
+ERNEST FRANJA
+EROR JOVAN
+EROR PETAR
+EROR STEVAN
+ERSKI PETAR
+ERSKI-PETKOVIĆ SONJA
+ERTL FERENC
+ERTL HEDVIGA
+ERTL LASLO
+ERTL VLASTA
+ES KLARA
+ESE ŠANDOR
+ESKIĆ SVETOZAR
+ESTER JOSIP
+ESTER MARIJA DR
+ESTER MARTA
+ETŠBERGER JAKOB
+ETER OTO
+ETEROVIĆ VERA
+ETINSKI ŽIVAN
+ETINSKI ŽIVOJIN
+ETINSKI ĐORĐE
+ETINSKI DRAGIĆ
+ETINSKI DRAGIĆ
+ETINSKI JOVAN
+ETINSKI LJUBIŠA
+ETINSKI MIHAJLO
+ETINSKI MILOŠ
+ETINSKI MILORAD
+ETINSKI MILORAD
+ETINSKI MILOVAN
+ETINSKI NADA
+ETINSKI PETAR
+ETINSKI RADOVAN
+ETINSKI SLOBODANKA
+ETINSKI VELJKO
+ETINSKI VERA
+ETINSKI VERICA
+ETORE ĐINA
+EVĐIĆ STANKA
+EVETOVIĆ BLAŠKO
+EVETOVIĆ JOSIP
+EVETOVIĆ JOVAN
+EVETOVIĆ JOVAN
+EVIĆ ALEKSANDAR
+EVIĆ DRAGICA
+EVIĆ JELISAVETA
+EVIĆ JOVAN
+EVIĆ LAZAR
+EVIĆ LAZAR
+EVIĆ PETAR
+EVIĆ SAVA
+FA MELANIJA
+FA MILKA
+FAČAR STEVAN
+FAČKO JOŽEF
+FAČKO SIMA
+FABIAN BORBALA
+FABIAN IŠTVAN
+FABIAN JANOŠ
+FABIJAN ŠANDOR
+FABIJAN ANA
+FABIJAN ILONA
+FABIJAN IMRE
+FABIJAN IVAN
+FABIJAN JANOŠ
+FABIJAN LASLO
+FABIJAN NIKOLA
+FABIJAN STEVAN
+FABIJAN STEVAN
+FABIJANČIĆ IVAN
+FABIJANČIĆ STJEPAN
+FABIJANIĆ MARIJA
+FABIJANOVIĆ ANA
+FABRI MIKLOŠ
+FABRI NANDOR
+FABRI STJEPAN
+FABRI ZVONKO
+FABRIK KATALIN
+FACIS PANTA
+FAIN ANA
+FAIN LAJOŠ
+FAIN STEVAN
+FAJ GABOR
+FAJDETIĆ LJUBICA
+FAJDIGA ALEKSANDAR
+FAJFER PETAR
+FAJGELJ IVAN
+FAJHNER HENRIK
+FAJHTNER JOSIP
+FAJHTNER RUŽA
+FAJIN IŠTVAN
+FAJKA DANICA
+FAJKA NADA
+FAJKA PAVLE
+FAJNIK MARIJA
+FAJT-GRANER ROŽA
+FAJT JELICA
+FAJTNER VERONIKA
+FAKIN FRANJA
+FAKIN IVAN
+FAKIN ZVONIMIR
+FALB ĐORĐE
+FALB BOSILJKA
+FALB JOSIP
+FALB KAROLJ
+FALB KAROLJ
+FALB MARINA
+FALB MATIJA
+FALB OTO
+FALB ZOLTAN
+FAMILIĆ ĐORĐE
+FAMILIĆ IVAN
+FANČEVIĆ ALEKSANDAR
+FANČEVIĆ JOSIP
+FANČEVIĆ KATALIN
+FANČEVIĆ LJUDEVIT
+FANČEVIĆ TEREZIJA
+FANKA DUŠAN
+FANKA MARA
+FARAGO ŠANDOR
+FARAGO ŠANDOR
+FARAGO ARANKA
+FARAGO ARPAD
+FARAGO FRANJA
+FARAGO JOŽEF
+FARAGO JOSIP
+FARAGO KARLO
+FARAGO LASLO
+FARAGO MARIJA
+FARK AMALIJA
+FARK BEATA
+FARKAŠ ALEKSANDAR
+FARKAŠ ALEKSANDAR
+FARKAŠ BOŽENA
+FARKAŠ DRAGUTIN
+FARKAŠ ELEMER
+FARKAŠ ELIZABETA
+FARKAŠ ELZA
+FARKAŠ ESTER
+FARKAŠ ESTER
+FARKAŠ FERENC
+FARKAŠ FERENC
+FARKAŠ FERENC
+FARKAŠ FERENC
+FARKAŠ FRANJA
+FARKAŠ GABOR
+FARKAŠ IŠTVAN
+FARKAŠ IŠTVAN
+FARKAŠ ILONA
+FARKAŠ ILONKA
+FARKAŠ IMRE
+FARKAŠ JAN
+FARKAŠ JAROSLAV
+FARKAŠ JELISAVETA
+FARKAŠ JOŽEF
+FARKAŠ JOŽEF
+FARKAŠ JOŽEF
+FARKAŠ JOŽEF
+FARKAŠ JOSIP
+FARKAŠ JOSIP
+FARKAŠ JOVAN
+FARKAŠ JOVGEN
+FARKAŠ JUDITA
+FARKAŠ KARLO
+FARKAŠ KATALIN
+FARKAŠ KLARA
+FARKAŠ LADISLAV
+FARKAŠ LAJOŠ
+FARKAŠ LASLO
+FARKAŠ MARIJA
+FARKAŠ MATILDA
+FARKAŠ MIHALJ
+FARKAŠ NADA
+FARKAŠ PAL
+FARKAŠ PAVLE
+FARKAŠ ROZALIJA
+FARKAŠ STEVAN
+FARKAŠ-TOT VIKTORIJA
+FARKAŠ VERA
+FARKAŠ VERICA
+FARKIĆ MILAN
+FARKOV JOVANKA
+FAT JOSIP
+FAT LASLO
+FAT MIHAL
+FATIĆ MARA
+FATUROVIĆ RAJKO
+FAUKOVIĆ NADA
+FAZEKAŠ ANTAL
+FAZEKAŠ JANOŠ
+FAZEKAŠ KATALIN
+FAZEKAŠ TIBOR
+FAZLIĆ JELICA
+FAZLIĆ JOVANKA
+FAZLINOVIĆ ELBISA
+FAZLINOVIĆ JASMINKA
+FEŠIŠ IMRE
+FEŠIŠ JOŽEF
+FEŠIŠ JOŽEF
+FECE IVAN
+FECE MARIJA
+FEDERER JOVAN
+FEDERER MIRKO
+FEDI JOŽEF
+FEHER ŠANDOR
+FEHER ŠANDOR
+FEHER ĐERĐ
+FEHER ĐULA
+FEHER ĐULA
+FEHER ANDRAŠ
+FEHER ARISTID
+FEHER ERNE
+FEHER ERNE
+FEHER FERENC
+FEHER JANOŠ
+FEHER JANOŠ
+FEHER JANOŠ
+FEHER JOŽEF
+FEHER JOŽEF
+FEHER JOVAN
+FEHER JOVAN
+FEHER JULIJA
+FEHER KALMAN
+FEHER LAJOŠ
+FEHER LASLO
+FEHER LASLO
+FEHER MARGITA
+FEHER MARIJA
+FEHER MIHAJLO
+FEHER NANDOR
+FEHER STEVAN
+FEHER STEVAN
+FEHER TEREZA
+FEHER VERA
+FEHERVARI JELISAVETA
+FEHIR ALEKSANDAR
+FEHIR PETAR
+FEHIROV AVRAM
+FEHIROV KOSANA
+FEHIROV MIRJANA
+FEJĐI VLADIMIR
+FEJDETIĆ TOMISLAV
+FEJEŠ ŠANDOR
+FEJEŠ ĐORĐE
+FEJEŠ ARANKA
+FEJEŠ GENA
+FEJEŠ IŠTVAN
+FEJEŠ IŠTVAN
+FEJEŠ JANOŠ
+FEJEŠ JANOŠ
+FEJEŠ LJILJANA
+FEJEŠ ZOLTAN
+FEJEŠ ZOLTAN
+FEJFAR JULIJANA
+FEJSA GEORGIJE
+FEJSA JANKO MR PH
+FEJSA MARGITA
+FEJSA-POPOVIĆ LEONA
+FEJSTHAMEL PAL
+FEJZULAHI FEJZULAH
+FEKETE ŠANDOR
+FEKETE ŠANDOR
+FEKETE ŽUŽANA
+FEKETE ADOLF
+FEKETE FERENC
+FEKETE FERENC
+FEKETE JAGODA
+FEKETE KARLO
+FEKETE KATICA
+FEKETE LASLO
+FEKETE MARIJA
+FEKETE MARIJA
+FEKETE MARIJA
+FEKETE MIHAJLO
+FEKETE MIHALJ
+FEKETE PETAR
+FEKETE STEVAN
+FEKETE VESNA
+FEKIĆ VLADIMIR
+FELBAB RADA
+FELBAB SAVA
+FELBAB STANIMIR
+FELBABOV DIMITRIJE
+FELBABOV JOVAN
+FELBABOV VLADISLAVA
+FELBAP JULKA
+FELBAP NIKOLA
+FELBAPOV DIMITRIJE
+FELBAPOV MILANKA
+FELBAPOV MILORAD
+FELBAPOV NEMANJA
+FELBAPOV RADMILA
+FELBAPOV RADOSLAV
+FELBAPOV STEVAN
+FELDŠER ANA
+FELDŠER KARLO
+FELDEŠDI ANDRIJA
+FELDEŠI FRANJA
+FELDEŠI IBOLJA DR
+FELDEŠI MARIJA
+FELDEŽDI JULIJANA
+FELDEŽDI LASLO
+FELDEŽDI PETAR
+FELDEŽDI STEVAN
+FELDEAK DANICA
+FELDEAK JOŽEF
+FELDI ŠANDOR
+FELDI ERŽEBET
+FELDI JAROSLAV
+FELDVARI JOSIP
+FELDVARI JOVAN
+FELDVARI JUSTINA
+FELDVARI KALMAN
+FELDVARI OLGICA
+FELDVARI STEVAN
+FELDVEBEL ROZALIJA
+FELE DRAŽEN LEKAR
+FELEĆ IZET
+FELEGI ANA
+FELEGI LADISLAV
+FELJA MIRJANA
+FELNER DUŠANKA
+FELNER TIBOR
+FEMIĆ ALEKSIJE
+FEMIĆ BLAGOJE
+FEMIĆ GRUJICA
+FEMIĆ MILIJA
+FEMIĆ MILOVAN
+FEMIĆ PETKO
+FEMIĆ RADMILA
+FEMIĆ STANKA
+FEMIĆ VELJKO
+FEMIĆ ZORA
+FENC RUŽICA
+FENDLER JOVAN
+FENDRIK ANDRIJA
+FENDRIK FRANJO
+FENDRIK KARLO
+FENJAC IVAN
+FENJAC JOVAN
+FENJAC SINIŠA
+FENJAC SLOBODANKA
+FENJEŠ ANA
+FENJEŠ FRANJA
+FENJVEŠI MARIŠKA
+FERČIK ANDRIJA
+FERARINOV PAVLE
+FERARIO SILVIO
+FERATI AFIZ
+FERATI BERO
+FERATI EHAT
+FERATI RAGIP
+FERATI SEJFIDIN
+FERATI SKENDER
+FERENČAK IVICA
+FERENČEK LJUBICA
+FERENČEK OLIVER DIPL ING
+FERENČEK VILKO
+FERENČEV MILORAD
+FERENČEV ZORA
+FERENČEVIĆ ĐORĐE
+FERENČEVIĆ-SALAJ JELENA
+FERENAC ANDRIJA
+FERENAC ANDRIJA
+FERENAC IVAN
+FERENAC RADMILA
+FERENC ANTAL
+FERENC JOŽEF
+FERENC JOŽEF
+FERENCI ĐERĐ
+FERENCI DEZIDER
+FERENCI EUGEN
+FERENCI FRANJA
+FERENCI JULIJANA
+FERENCI STEVAN
+FERENCI VERA
+FERIK JURAJ
+FERIK JURAJ
+FERIZOVIĆ AHMET
+FERKO ANDREJ DR LEKAR
+FERKO MILOŠ
+FERKO PAVEL
+FERKO PAVLE
+FERLAN RADMILA
+FETAHI BAJRAM
+FETAHOVIĆ ISMET
+FETAI ZIBER
+FIČOK ALOJZIJE
+FIŠAKOV KONSTADIN
+FIŠANG LJILJANA
+FIŠER ĐORĐE DR LEKAR
+FIŠER ĐORĐE
+FIŠER ALEKSANDAR DR
+FIŠER ALEKSANDAR
+FIŠER ANTON
+FIŠER BLANKA
+FIŠER DRAGUTIN
+FIŠER GAVRA
+FIŠER IRENA
+FIŠER IRENA
+FIŠER JENE
+FIŠER JOSIP
+FIŠER KAROLJ
+FIŠER LASLO
+FIŠER LEO DR
+FIŠER NATALIJA
+FIŠER PIROŠKA
+FIŠER STEVAN
+FIŠER ZVONIMIR
+FIŠL FEDOR
+FIŠL JULIJA DIPL ING
+FIŠTEŠ IMRE
+FIŠTEŠ MARIJA
+FIŠTEŠ MIHALJ
+FIŠTEŠ PIROŠKA
+FIALA IVANKA
+FIALA IVAN
+FIBIŠAN ĐURAĐ
+FIBIŠAN SLAVOLJUB
+FICE ERŽEBET
+FICINGER VALERIJA
+FIDUŠEK KATICA
+FIFA DRAGICA
+FIFA NEBI
+FIGURA ŠANDOR
+FIJATOVIĆ OLGA
+FIJUKOVIĆ SADETA
+FIJULJANIN ZULFO
+FILEKI MIROSLAV
+FILEKOVIĆ SEID
+FILEP ĐERĐ
+FILEP ĐORĐE
+FILEP ĐORĐE
+FILEP ANTAL
+FILEP BELA
+FILEP IDA
+FILEP JENE
+FILEP JOŽEF
+FILEP KALMAN
+FILEP KALMAN
+FILEP LADISLAV
+FILEP MIRJANA
+FILEP ZOLTAN
+FILEPI MIROSLAV
+FILIMONOVIĆ ŽIVORAD
+FILIMONOVIĆ ĐORĐE
+FILIP JOVAN DR PRAVNIK
+FILIP RADOSAV
+FILIPČEV ZDRAVKO
+FILIPAŠ DRAGAN
+FILIPAŠEV NADA
+FILIPEC ZITA
+FILIPENDIN MARKO
+FILIPOV ILIJA
+FILIPOV MILOŠ
+FILIPOV MIODRAG
+FILIPOV MOMIR
+FILIPOV NIKOLA
+FILIPOV PREDRAG
+FILIPOV RADOVAN
+FILIPOV SLAĐANA
+FILIPOV TIHOMIR
+FILIPOV TIJANA
+FILIPOVIĆ ČEDO
+FILIPOVIĆ ALEKSANDAR
+FILIPOVIĆ ANTON
+FILIPOVIĆ BOŠKO
+FILIPOVIĆ BOGOMIR
+FILIPOVIĆ BORA
+FILIPOVIĆ BRANKO
+FILIPOVIĆ-DAMJANOV NADA
+FILIPOVIĆ DESANKA
+FILIPOVIĆ DIJANA
+FILIPOVIĆ DOBRICA
+FILIPOVIĆ DOBRILA
+FILIPOVIĆ DRAGAN
+FILIPOVIĆ DRAGAN
+FILIPOVIĆ DUŠANKA
+FILIPOVIĆ DUŠANKA
+FILIPOVIĆ GORDANA
+FILIPOVIĆ IVAN
+FILIPOVIĆ IVAN
+FILIPOVIĆ JELISAVETA
+FILIPOVIĆ JOVAN
+FILIPOVIĆ JOVAN
+FILIPOVIĆ LEPOSAVA
+FILIPOVIĆ LJILJANA
+FILIPOVIĆ LJUBICA
+FILIPOVIĆ LJUBINKA
+FILIPOVIĆ LJUBINKO
+FILIPOVIĆ MILADIN
+FILIPOVIĆ MILADIN
+FILIPOVIĆ MILAN DIPL ING
+FILIPOVIĆ MILANKA
+FILIPOVIĆ MILANKA
+FILIPOVIĆ MILAN
+FILIPOVIĆ MILAN
+FILIPOVIĆ MILAN
+FILIPOVIĆ MILENA
+FILIPOVIĆ MILENKO
+FILIPOVIĆ MILIVOJE
+FILIPOVIĆ MILKA
+FILIPOVIĆ MILOJKO
+FILIPOVIĆ MILOVAN
+FILIPOVIĆ MIODRAG
+FILIPOVIĆ MIODRAG
+FILIPOVIĆ MIRJANA
+FILIPOVIĆ MIRKO
+FILIPOVIĆ MIROSLAV
+FILIPOVIĆ NATAŠA
+FILIPOVIĆ NIKOLA
+FILIPOVIĆ NIKOLA
+FILIPOVIĆ NIKOLA
+FILIPOVIĆ NIKOLA
+FILIPOVIĆ NIKOLINA
+FILIPOVIĆ PAULA
+FILIPOVIĆ PERO
+FILIPOVIĆ RADIVOJ
+FILIPOVIĆ RADOJKA
+FILIPOVIĆ RADOJKO
+FILIPOVIĆ RADOSLAV
+FILIPOVIĆ RADOVAN
+FILIPOVIĆ RANKA
+FILIPOVIĆ RUŽANA
+FILIPOVIĆ RUDOLF
+FILIPOVIĆ SAVA DIPL ING
+FILIPOVIĆ SAVA
+FILIPOVIĆ SIBIN
+FILIPOVIĆ SLAVKO
+FILIPOVIĆ SNEŽANA
+FILIPOVIĆ SPASOJE
+FILIPOVIĆ SRĐAN
+FILIPOVIĆ SREĆKO
+FILIPOVIĆ STEVAN DR STOMATOLOG
+FILIPOVIĆ STOJAN
+FILIPOVIĆ STOJAN
+FILIPOVIĆ TOMISLAV
+FILIPOVIĆ VESNA
+FILIPOVIĆ VIDOSAV
+FILIPOVIĆ VLADIMIR
+FILIPOVIĆ ZORAN
+FILIPOVIĆ ZORAN
+FILIPOVIĆ ZORAN
+FILIPOVIĆ ZORAN
+FILIPOVIĆ ZORICA
+FILIPOVSKA-OBRADOVIĆ VERA
+FILIPOVSKI BOŽO
+FILIPOVSKI TODOS
+FILKO DRAGICA
+FILKO JOSIP
+FILKO JOVAN
+FILKO MARIJA
+FILKO MIHALJ
+FILKO MIHALJ
+FILKO PAVEL
+FILKO TIHOMIR
+FINČUR ALEKSANDAR
+FINČUR JOŽEF
+FINČUR JULIJANA
+FINČUR LADISLAV
+FINDŽANOVIĆ GOJKO
+FINDŽANOVIĆ MIKO
+FINDŽANOVIĆ MIRKO
+FINDŽANOVIĆ OBRAD
+FINK-DIMITRIJEVIĆ DOROTEA
+FINK VIKTOR NOVINAR
+FINKA GORČAN
+FIR BEATA
+FIRANJ JOŽEF
+FIRANJI ĐERĐ
+FIRANJI ĐORĐE
+FIRANJI ĐORĐE
+FIRANJI ERŽEBET
+FIRANJI JOVAN
+FIRANJI VIKTOR
+FIRIĆ MARIJA
+FIRULOVIĆ KOSTANTIN
+FISTRIĆ ĐORĐE
+FISTRIĆ MIRJANA
+FIVEŠI GABOR
+FIVEŠI TIBOR
+FLAC IVANKA
+FLAC PETAR
+FLAJS JELISAVETA
+FLEGER STEVAN
+FLEGO IVAN
+FLEGO MARTA
+FLEKAČ VLADO
+FLITNER OSKAR
+FLOKA ĐENIKA
+FLORA VASA
+FLORIĆ DIMITRIJE
+FLORIĆ LJUBICA
+FLORIĆ ZORAN
+FLORIĆ ZORAN
+FLORIN VINKA
+FODOR ŽOFIJA
+FODOR ANA
+FODOR ANDRIJA
+FODOR ERŽEBET
+FODOR FERENC
+FODOR FRANJA
+FODOR FRANJA
+FODOR JOLAN
+FODOR JOVAN
+FODOR JOVAN
+FODOR KALMAN
+FODOR KATA
+FODOR LAJOŠ
+FODOR LASLO
+FODOR LASLO
+FODOR LASLO
+FODOR LASLO
+FODOR LIDIJA
+FODOR MARTA
+FODOR OSKAR DIPL OEC
+FODOR TIBOR
+FODOR TIBOR
+FODOR TIBOR
+FODOR ZDRAVKO
+FODORA JANKO
+FOGARAŠI ĐERĐ DR
+FOGARAŠI ĐERĐ
+FOGARAŠI ANDRIJA
+FOGARAŠI ANIKO
+FOGARAŠI ILONA
+FOGARAŠI STEVAN
+FOGL MAGDALENA
+FOJKAR JANKO
+FOLIĆ RADOMIR DR
+FOLTIN MARGITA
+FOLTIN MILICA
+FONTANJ LOTAR
+FORAI ZOLTAN
+FORAI ZORICA
+FORGAČ JELISAVETA
+FORGIĆ IVAN
+FORGO IŠTVAN
+FORGO LASLO
+FORIŠKOV JOVANKA
+FORIŠKOV LAZAR
+FORIŠKOVIĆ ALEKSANDAR
+FORKAPA SAVO
+FORKAPIĆ ALEKSANDAR
+FORKAPIĆ IVANKA
+FORKAPIĆ LAZAR
+FORKAPIĆ MARIJA
+FORKAPIĆ NIKOLA
+FORKAPIĆ SAVA
+FORKAPIĆ SLAVICA
+FORKAPIĆ VELINKA
+FORO IVAN
+FORO JULIJANA
+FOTIĆ ĐORĐE
+FOZEKOŠ ANKICA
+FRČEK ĐURA
+FRČEK MARIJA
+FRŽOP MIŠE
+FRŽOVIĆ ĐORĐE
+FRŽOVIĆ GAVRILO
+FRŽOVIĆ MIHAJLO
+FRŽOVIĆ MILENA
+FRACILE NICE
+FRAJST RUDOLF
+FRAJTOVIĆ MOMČILO
+FRAJZ PETAR
+FRANČIĆ ROK
+FRANC MAGDALENA DIPL ING
+FRANCELJ FRANC
+FRANCER IVAN
+FRANCER IVAN
+FRANCIŠKOVIĆ ATILA
+FRANCIŠKOVIĆ IVAN
+FRANCIŠKOVIĆ MATE
+FRANCIA ANDRIJA
+FRANCIA IŠTVAN
+FRANCIA PETAR
+FRANCIJA JOŽEF
+FRANCIJA-KUKIČKA MARGARETA
+FRANCISTI ĐORĐE
+FRANCISTI JAROSLAV
+FRANCISTI PAVLE
+FRANCISTI VLADIMIR
+FRANCUSKI ALEKSA
+FRANCUSKI BRANISLAV
+FRANCUSKI DARINKA
+FRANCUSKI DESANKA
+FRANCUSKI DRAGAN
+FRANCUSKI DUŠAN
+FRANCUSKI IVAN DR
+FRANCUSKI JOVANKA
+FRANCUSKI MARKO
+FRANCUSKI MILAN
+FRANCUSKI MIROSLAV
+FRANCUSKI PETAR
+FRANCUSKI RADOVAN
+FRANCUSKI SLOBODANKA
+FRANCUSKI STRAHINJA
+FRANCUSKI ZORAN
+FRANCUSKI ZORAN
+FRANCUSKI ZORKA
+FRANCUSKI ZORKA
+FRANCUZ DARINKA
+FRANCUZ JELENA
+FRANCUZ VELIMIR
+FRANCUZ VUK
+FRANETA JOVO
+FRANIĆ IVAN
+FRANIĆ MILKA
+FRANJIČEVIĆ NIKOLA
+FRANJIĆ MARICA
+FRANJO ŽUŽANA
+FRANK ĐERĐ
+FRANK FERENC
+FRANK ILEŠ
+FRANK JANOŠ
+FRANK TIBOR
+FRANKA MIHAJLO
+FRANKOVIĆ JOVAN
+FRANOVIĆ ALEKSANDRA
+FRANOVIĆ VLADIMIR
+FRANZER IVAN
+FRATOJ JOCA
+FRATRIĆ SIGMUND
+FRATUCAN ĐORĐE
+FRATUCAN ĐORĐE
+FRATUCAN FILIP
+FRATUCAN IVAN
+FRATUCAN NEVENA
+FRATUCAN PETAR
+FRATUCANOV IVANKA
+FREI ELIZABETA
+FREMER ANTUN
+FREML ŠANDOR
+FRENKEL ANA
+FRENKEL EVA
+FRENKL DRAGICA
+FRIČ BOŽIDAR
+FRIČ KATICA
+FRIŠ DRAGAN
+FRIŠ MILAN
+FRIŠČIĆ DRAGUTIN
+FRIC RUDOLF
+FRIDRIH ANA
+FRIDRIH JELENA
+FRIDRIH MAGDA
+FRIDRIH ZORICA
+FRINDIK FRANJA
+FRINDIK MIHALJ
+FRINDRIK BELA
+FRKA ARTUR
+FRKA NIKOLA
+FRLJ MUHAREM
+FROL MARIJAN
+FROL NADA
+FROL VILIM
+FRUŽA ALEKSANDAR
+FUČIK KARLO
+FUDERER JULIJE
+FUDERER MAGDALENA
+FUJKA ĐORĐE
+FUJTO VLADIMIR
+FULAJTER ĐORĐE
+FUNĆIK PAVLE
+FUNDURULJA MILENKO
+FUNK ŠTEFANIJA
+FUNK LAJOŠ
+FUNTEK IVAN
+FURJANOVIĆ VLADISLAV
+FURLAN ERŽEBET
+FURLAN MARKO
+FURMAN FRANJA
+FURMAN JOVAN
+FURMAN MARIJA
+FURMAN TIMOFEJ
+FURMAN TINKA
+FURO IMRE
+FUSKO ANGELA
+FUSKO IŠTVAN
+FUSKO MARIJA
+FUSKO MIHALJ
+FUTO ANTAL
+FUTO JOŽEF
+FUTO JOŽEF
+FUTO MIRKO
+FUTOŠKI MILAN
+FUTOŠKI MITA
+GAČANOVIĆ DRAGAN
+GAČEVIĆ MIROSLAV
+GAČEVIĆ RADENKO
+GAČEVIĆ TEREZA
+GAČIĆ BRANKO
+GAČIĆ DANICA
+GAČIĆ DANILO
+GAČIĆ MILAN
+GAČIĆ STEVAN
+GAČIĆ STEVAN
+GAČIĆ VLADAN
+GAŠEVIĆ MILORAD
+GAŠEVIĆ MILOVAN
+GAŠEVIĆ MOMČILO
+GAŠEVIĆ RADMILA
+GAŠEVIĆ SAVKA
+GAŠEVIĆ ZDRAVKO
+GAŠI ĐEMAILJ
+GAŠI HAMDI
+GAŠI JULIJANA
+GAŠI LJUAN
+GAŠI ZORAN
+GAŠIĆ BOGDAN
+GAŠIĆ DUŠAN
+GAŠIĆ KOVILJKA
+GAŠIĆ KOVILJKA
+GAŠIĆ KRSTA
+GAŠIĆ MIROLJUB
+GAŠIĆ NIKOLA
+GAŠIĆ SILVANA
+GAŠIĆ TODOR DIPL ING
+GAŠIĆ VALERIJA
+GAŠIĆ ZDRAVKO
+GAŠIĆ ZORA
+GAŠPAR BOGDAN
+GAŠPAR JANOŠ
+GAŠPAR LAJOŠ
+GAŠPAR LIDIJA
+GAŠPAR MILENKO
+GAŠPAREVIĆ ERIKA
+GAŠPAREVIĆ LJILJANA
+GAŠPARIĆ NADA
+GAŠPARIN LJILJANA
+GAŠPAROVIĆ JOSIP
+GAĆA BRANISLAV
+GAĆA MIODRAG
+GAĆA VLADIMIR
+GAĆAŠ DRAGICA
+GAĆAŠ SINIŠA
+GAĆAŠ STEVAN
+GAĆEŠA ĐURO
+GAĆEŠA BRANKA
+GAĆEŠA DRAGAN
+GAĆEŠA DRAGAN
+GAĆEŠA ILIJA
+GAĆEŠA MANOJLO
+GAĆEŠA MILOŠ
+GAĆEŠA MILORAD
+GAĆEŠA MILOVAN DR
+GAĆEŠA NIKOLA
+GAĆEŠA SLAVKO
+GAĆEŠA VELJKO
+GAĆEŠA VLADIMIR
+GAĆINA ŽARKO
+GAĆINA LJILJANA
+GAĆINOVIĆ BOŽO
+GAĆINOVIĆ BRANKO
+GAĆINOVIĆ MILIVOJE
+GAĆINOVIĆ MILORAD
+GAĆINOVIĆ RAJKO
+GAŽI JELISAVETA
+GAŽIK TEREZIJA
+GAŽO KATICA
+GAŽO-MATOŠKOVIĆ OLGICA
+GAŽO MIHAJLO
+GAŽO MIKLOŠ
+GAĐANSKI ZORAN
+GABLER VIKTORIJA
+GABOR ARPAD
+GABOR BELA
+GABOR ERŽEBET
+GABOR IRENA
+GABOR JOŽEF
+GABOR KAROLJ
+GABOR NANDOR
+GABOROV BRANISLAV
+GABOROV BRANISLAV
+GABOROV GAVRILO
+GABOROV MILAN
+GABOROV MITA
+GABOROV PAVLE
+GABOROV PETAR
+GABRE ROKO
+GABRIĆ EVICA
+GABRIĆ KSENIJA
+GABRIĆ MIHAJLO
+GABRIĆ NESTOR
+GABRIĆ PETAR
+GABRIĆ SLAVKO
+GABRIEL MIKLOŠ
+GABRIJELČIĆ ZDRAVKO
+GABROVIĆ ANDRAŠ
+GABROVIĆ ANDRIJA
+GACIN MIROSLAV
+GADŽA KRIŽAN
+GADŽA RUŽA
+GADŽIĆ MILAN
+GADŽIĆ VINKO
+GADŽUR IVAN
+GADŽURIĆ ZLATKO
+GADANEC KATARINA
+GADNJAI JOVA
+GADNJANSKI VLADIMIR
+GAGIĆ ALEKSANDAR
+GAGIĆ AVRAM
+GAGIĆ BOŠKO
+GAGIĆ BORIVOJE
+GAGIĆ DRAGICA
+GAGIĆ DUŠAN
+GAGIĆ-GRUBEŠA MILEVA
+GAGIĆ JOVANKA
+GAGIĆ JOVAN
+GAGIĆ NIKOLA
+GAGIĆ NIKOLA
+GAGIĆ RADOSLAV
+GAGIĆ RADOVAN
+GAGIĆ SLOBODAN
+GAGIĆ VIDOSAVA
+GAGOVIĆ MILORAD
+GAGOVIĆ NOVAK
+GAGOVIĆ OLGA
+GAGOVIĆ RADOSAV
+GAGRČIN LAZAR
+GAGRČIN MLADEN
+GAGRICA JOVAN
+GAGULA MUJO
+GAIĆ VELJKO
+GAICKI NIKOLA
+GAICKI SANJA
+GAICKI TANASIJE
+GAICKI VERICA
+GAINOV RADOVAN
+GAJŠIN SLAVICA
+GAJŠIN SMILJA
+GAJŠIN STANISLAV
+GAJANIĆ STJEPAN
+GAJDA ŠANDOR
+GAJDOŠ ĐULA
+GAJDOŠ IŠTVAN
+GAJDOŠ IBOLJA
+GAJDOŠ LASLO
+GAJDOŠ LJUBOMIR
+GAJDOŠ MIHAJLO
+GAJDOŠ NIKOLA
+GAJDOŠ PETAR
+GAJDOŠEVIĆ ĐORĐE
+GAJDOBRANSKI ĐORĐE DR
+GAJDOBRANSKI DANICA
+GAJDOBRANSKI DRAGICA
+GAJDOBRANSKI LJUBICA
+GAJDOBRANSKI MARIJA
+GAJDOBRANSKI MILIVOJ
+GAJDOBRANSKI PETAR
+GAJDOBRANSKI TODOR
+GAJER ĐURA
+GAJER JOCA
+GAJER LEONA
+GAJER MANOJLO
+GAJER NADA
+GAJGER JOŽEF
+GAJIŠIN DARA
+GAJIŠIN LAZAR
+GAJIŠIN MILICA
+GAJIŠIN PETAR
+GAJIŠIN STEVAN
+GAJIŠIN STEVAN
+GAJIŠIN TOMISLAV
+GAJIĆ ŽARKO
+GAJIĆ ŽARKO
+GAJIĆ ŽIVKA
+GAJIĆ ŽIVKO
+GAJIĆ ŽIVOTA
+GAJIĆ ĐORĐE
+GAJIĆ ĐURO
+GAJIĆ ALEKSANDAR
+GAJIĆ ANA
+GAJIĆ BOŽICA
+GAJIĆ BOŽIDAR
+GAJIĆ BOGDAN
+GAJIĆ BOGOLJUB
+GAJIĆ BORISLAV
+GAJIĆ BRANKO
+GAJIĆ BRANKO
+GAJIĆ CVIJAN
+GAJIĆ CVIJAN
+GAJIĆ DANICA
+GAJIĆ DEJAN
+GAJIĆ DEJAN
+GAJIĆ DEJAN
+GAJIĆ DIMITRIJE
+GAJIĆ DRAGAN
+GAJIĆ DRAGAN
+GAJIĆ DRAGICA
+GAJIĆ DRAGOLJUB
+GAJIĆ DRAGO
+GAJIĆ DUŠAN DIPL ING
+GAJIĆ DUŠKO DIPL PRAVNIK
+GAJIĆ GOJKO
+GAJIĆ GORAN
+GAJIĆ GORDANA
+GAJIĆ IBOLJA
+GAJIĆ JELENA
+GAJIĆ KATARINA
+GAJIĆ KRISTINA
+GAJIĆ KRUNA
+GAJIĆ LAZAR
+GAJIĆ LAZO
+GAJIĆ MAKSA
+GAJIĆ MARIJA DR
+GAJIĆ MARIJA
+GAJIĆ MARINKO DR
+GAJIĆ MIĆO
+GAJIĆ MIKA
+GAJIĆ MILANA
+GAJIĆ MILAN
+GAJIĆ MILAN
+GAJIĆ MILAN
+GAJIĆ MILAN
+GAJIĆ MILAN
+GAJIĆ MILINKO
+GAJIĆ MILIVOJ
+GAJIĆ MILOŠ
+GAJIĆ MILOJKA
+GAJIĆ MILOSAV
+GAJIĆ MILOVAN
+GAJIĆ MIODRAG
+GAJIĆ MIODRAG
+GAJIĆ MIRJANA
+GAJIĆ MIRKO DR
+GAJIĆ MIRKO
+GAJIĆ MIROSLAV
+GAJIĆ MITRA
+GAJIĆ MLADENKO
+GAJIĆ MLADEN
+GAJIĆ MOMČILO
+GAJIĆ NEDELJKO
+GAJIĆ NIKOLA DIPL ING
+GAJIĆ NIKOLA
+GAJIĆ NIKOLA
+GAJIĆ NOVAK
+GAJIĆ OLIVERA
+GAJIĆ PELKA
+GAJIĆ PERSA
+GAJIĆ RADENKO
+GAJIĆ RADMILA
+GAJIĆ RADOMIR
+GAJIĆ RAJKA
+GAJIĆ RATKO
+GAJIĆ RATKO
+GAJIĆ ROZALIJA
+GAJIĆ RUŽICA
+GAJIĆ SAVA
+GAJIĆ SLAKA
+GAJIĆ SLAVICA
+GAJIĆ SLAVKO
+GAJIĆ SLAVKO
+GAJIĆ SREĆKO
+GAJIĆ SRETO
+GAJIĆ STANIMIR
+GAJIĆ STANOJLO
+GAJIĆ STOJAN
+GAJIĆ STRAHINJA
+GAJIĆ SVETOZAR
+GAJIĆ TANASKO
+GAJIĆ VELIMIR
+GAJIĆ VESNA
+GAJIĆ VIDA
+GAJIĆ VIDOSAVA
+GAJIĆ VLADISLAV
+GAJIĆ ZORAN
+GAJICA BRANKO
+GAJICKI BRANKO
+GAJICKI DUŠAN
+GAJICKI JELENA
+GAJICKI LAZAR
+GAJICKI MARIJA
+GAJICKI MILA
+GAJICKI MILICA
+GAJICKI SAVA
+GAJIN ŽIVKO
+GAJIN ĐORĐE
+GAJIN ALEKSANDAR
+GAJIN ANKA
+GAJIN BRANKO
+GAJIN DRAGICA
+GAJIN JOVAN
+GAJIN LAZAR
+GAJIN MIHAJLO
+GAJIN MILAN
+GAJIN MILENKO
+GAJIN MILOVAN
+GAJIN MIRJANA
+GAJIN NADA
+GAJIN NEVENKA
+GAJIN PETAR
+GAJIN SLAVKA DR
+GAJIN SVETLANA
+GAJIN VLADIMIR
+GAJINA DRAGOMIR
+GAJINOV ŽIVAN
+GAJINOV ŽIVKO
+GAJINOV ŽIVKO
+GAJINOV ĐOKICA
+GAJINOV ALEKSANDAR
+GAJINOV ANĐELKA
+GAJINOV BRANKO
+GAJINOV DIMITRIJE
+GAJINOV DRAGOMIR
+GAJINOV IVANKA
+GAJINOV JELENA
+GAJINOV JOVAN
+GAJINOV JULKA
+GAJINOV KOSTA
+GAJINOV KOSTA
+GAJINOV LAZAR
+GAJINOV LAZAR
+GAJINOV LAZAR
+GAJINOV LJILJANA
+GAJINOV LJUBICA
+GAJINOV LJUBICA
+GAJINOV MARIJA
+GAJINOV MARKO
+GAJINOV MARKO
+GAJINOV MILAN
+GAJINOV MILORAD
+GAJINOV MILORAD
+GAJINOV MILORAD
+GAJINOV NIKOLA
+GAJINOV PERA
+GAJINOV PERSIDA
+GAJINOV RADA
+GAJINOV RADIVOJ
+GAJINOV RADIVOJ
+GAJINOV SAVA
+GAJINOV STEVAN
+GAJINOV STEVAN
+GAJINOV TODOR
+GAJINOV VELIMIR
+GAJINOVIĆ ĐORĐE
+GAJINOVIĆ ĐORĐE
+GAJINOVIĆ DANICA
+GAJINOVIĆ DRAGANA
+GAJINOVIĆ DUŠAN
+GAJINOVIĆ IKONIJA
+GAJINOVIĆ JOVAN
+GAJINOVIĆ JOVAN
+GAJINOVIĆ KATICA
+GAJINOVIĆ LJUBICA
+GAJINOVIĆ MILAN
+GAJO IŠTVAN
+GAJODI JOŽEF
+GAJODI MARIJA
+GAJOVIĆ JULIJANA
+GAJOVIĆ MOMČILO
+GAJOVIĆ RADOJE
+GAJTA ANICA
+GAJTA AURELIJA
+GAK ALEKSANDRA
+GAK MILAN
+GAK NEVENKA
+GAK RADE
+GAK SLAVKO
+GAK SNEŽANA
+GAK ZORKA
+GAKIĆ BOŠKO
+GAKOVIĆ ANTONIJA
+GAKOVIĆ JELENA
+GAKOVIĆ MARIJA
+GAKOVIĆ MIRKO
+GAKOVIĆ MIRKO
+GAKOVIĆ RANKO
+GAKOVIĆ ZORA
+GAL ŠANDOR
+GAL ĐULA
+GAL ĐULA
+GAL ANKA
+GAL FERENC
+GAL FERENC
+GAL FERENC
+GAL GABOR
+GAL GIZELA
+GAL JANOŠ
+GAL JOŽEF
+GAL JOŽEF
+GAL JOVAN
+GAL KALMAN
+GAL LAJOŠ
+GAL LAJOŠ
+GAL MARGIT
+GAL MARIA
+GAL MIŠA
+GAL MIKLOŠ
+GAL PAVLE
+GAL PETAR
+GAL PETAR
+GAL STEVAN
+GALAC JOSIP
+GALAC PAVLE
+GALAMB ATILA
+GALAMBOŠ ANA
+GALAMBOŠ ANTON
+GALAMBOŠ ERŽEBET
+GALAMBOŠ IMRE
+GALAMBOŠ JOSIP
+GALAMBOŠ LASLO
+GALAMBOŠ LASLO
+GALBAČ JOŽEF
+GALEČIĆ BRANISLAV
+GALEČIĆ DRAGAN
+GALEČIĆ MIROSLAV
+GALEČIĆ ZORAN
+GALEČIĆ ZORAN
+GALEŠEV ŽIVOJIN
+GALEŠEV DUBRAVKA
+GALEŠEV SLOBODAN
+GALETIĆ ALEKSANDAR
+GALETIĆ MARIJA
+GALETIĆ MILAN
+GALETIĆ VASA
+GALETIĆ VLADIMIR
+GALETIĆ ZORA
+GALETIN MILICA
+GALETIN NIKOLA
+GALETIN PAJICA
+GALETIN SIMA
+GALETIN SLAVKO
+GALETIN-SMIT RADOJKA
+GALETIN STEVAN
+GALETIN ZLATKO
+GALFI JOSIP
+GALFI MILENA
+GALGO IŠTVAN
+GALIČIĆ BRANKO
+GALIČIĆ MILICA
+GALIĆ DUŠANKA
+GALIĆ IVANKA
+GALIĆ JOVAN
+GALIĆ JOVAN
+GALIĆ JOVAN
+GALIĆ KATICA
+GALIĆ KATICA
+GALIĆ LADISLAV
+GALIĆ LJUBICA
+GALIĆ MARIJAN
+GALIĆ MILADIN
+GALIĆ MILENKO
+GALIĆ MILKA
+GALIĆ MILOŠ
+GALIĆ MILOVAN
+GALIĆ MIRKO
+GALIĆ MITAR
+GALIĆ MOMČILO
+GALIĆ NEDELJKO
+GALIĆ NIKOLA
+GALIĆ OLGA
+GALIĆ PETAR
+GALIĆ ROŽIKA
+GALIĆ SANJA
+GALIĆ SLAVKA
+GALIĆ STEVO
+GALIĆ TEREZA
+GALIĆ VOJISLAV
+GALIĆ ZDRAVKO
+GALICKI ĐURA
+GALIK ETELKA
+GALIPOVIĆ JOVICA
+GALKO JULIA
+GALO ĐURA
+GALONJA DESANKA
+GALONJA DRAGOLJUB
+GALONJA MIODRAG
+GALONJA MIRKO
+GALONJA RADE
+GALOVIĆ ĐORĐE
+GALOVIĆ ĐURA
+GALOVIĆ ALEKSANDRA
+GALOVIĆ ANĐELKA
+GALOVIĆ BRANKO
+GALOVIĆ DRAGICA DR
+GALOVIĆ IVICA
+GALOVIĆ JELICA
+GALOVIĆ LJUBICA
+GALOVIĆ MILAN
+GALOVIĆ MILAN
+GALOVIĆ MILENKO
+GALOVIĆ RADOMIR
+GALOVIĆ STEVO
+GALOVIĆ ZORKA
+GALUS LASLO
+GAMBER SLOBODAN
+GANDŽI SAVKA
+GANGLI ANA
+GANIĆ ALOJZIJE
+GANIĆ ALOJZIJE
+GANIĆ MIŠO
+GANIĆ STANISLAVA
+GANIĆ ZDENKO
+GANIĆ ZORICA
+GANJI SAMUEL
+GANTAR ALEKSANDRA
+GANTAR FILIP
+GANTAR MIROSLAV DR
+GARČEV DANICA
+GARČEV MILUTIN
+GARČEVIĆ PERO
+GARČEVIĆ PERO
+GARAŠEVIĆ MILKA
+GARABA ANDRIJA
+GARABANDIĆ ĐORĐE
+GARABANDIĆ MARIJA
+GARABANDIĆ MILENKO
+GARABANDIĆ NIKOLA
+GARABANTIN IVAN
+GARABANTIN MILOVAN
+GARABANTIN STEVAN
+GARAI BELA
+GARAI KORNELIJA
+GARAJ BRANIMIR
+GARAJ JELENA
+GARAJ OLGA
+GARALEJIĆ VERICA
+GARAPIĆ BRANKO DIPL ING
+GARDAŠEVIĆ MILOŠ
+GARDAŠEVIĆ-STRIČEVIĆ JOVANKA
+GARDAŠEVIĆ VESELIN
+GARDIĆ ALIJA
+GARDINOVAČKI ĐORĐE
+GARDINOVAČKI BORISLAV
+GARDINOVAČKI BRANIMIR
+GARDINOVAČKI CVETA
+GARDINOVAČKI MIORKA
+GARDINOVAČKI NEDELJKO
+GARDINOVAČKI STEVAN
+GARDINOVAČKI SVETOZAR
+GARELOVIĆ MIROSLAV
+GAREVSKI DIMITRIJA
+GARIĆ ŽARKO
+GARIĆ LAZAR
+GARIĆ LUKA
+GARIĆ MIROSLAV
+GARIĆ NADA
+GARIĆ STEVAN
+GAROVIĆ MILUTIN
+GAROVIĆ MILUTIN
+GAROVNIKOV ĐORĐE
+GAROVNIKOV BORKA
+GARTNER PETAR
+GARUNOVIĆ DANICA
+GARUNOVIĆ VASA
+GATALO GORAN
+GATALO RATKO
+GATARIĆ ŽELJKO
+GATARIĆ ŽELJKO
+GATARIĆ BOŠKO
+GATARIĆ DRAŽE
+GATARIĆ MANOJLO
+GATARIĆ SAVKA
+GATARIĆ STANA
+GATARIĆ SVETOZAR
+GATARIĆ ZLATIBOR
+GATER JOSIP
+GAUDENJI GABRIJELA
+GAUDENJI MATILD
+GAUDENJI TIVADAR
+GAVA ALEKSEJ
+GAVANSKI BRANISLAV ADVOKAT
+GAVANSKI BRANISLAVA
+GAVANSKI BRANISLAVA
+GAVANSKI DARA
+GAVANSKI DRAGAN
+GAVANSKI DUŠAN
+GAVANSKI GAVRILO
+GAVANSKI IVAN
+GAVANSKI JELENA
+GAVANSKI JUDITA
+GAVANSKI KONSTANTIN DR
+GAVANSKI KOSTA DPL ING
+GAVANSKI KOSTA
+GAVANSKI LAZAR
+GAVANSKI LUKA
+GAVANSKI MARGITA
+GAVANSKI MILICA
+GAVANSKI MILICA
+GAVANSKI NADA
+GAVANSKI NOVAK
+GAVANSKI PAVLE
+GAVANSKI PETRA
+GAVANSKI STEVAN
+GAVANSKI STEVAN
+GAVANSKI STEVAN
+GAVANSKI STEVAN
+GAVANSKI SVETOZAR
+GAVANSKI ZORAN
+GAVANSKI ZORAN
+GAVARIĆ ALEKSANDAR
+GAVARIĆ GAVRILO
+GAVARIĆ JEREMIJE
+GAVARIĆ LJUBICA
+GAVARIĆ MILENKO
+GAVLIK GERGELJ
+GAVODI ESTER
+GAVRAN GOJKO
+GAVRAN LJUBOMIR
+GAVRANČIĆ ĐURĐICA
+GAVRANČIĆ JOVAN
+GAVRANČIĆ KATICA
+GAVRANČIĆ MARGITA
+GAVRANČIĆ MARIJA
+GAVRANČIĆ NIKOLA
+GAVRANČIĆ VLADIMIR
+GAVRANIĆ GOJKO
+GAVRANIĆ ILIJA
+GAVRANIĆ ZVEZDANA
+GAVRANOV BOSA
+GAVRANOV SLOBODAN
+GAVRANOVIĆ TOMISLAV
+GAVRANOVIĆ ZDRAVKO
+GAVRIĆ ČEDOMIR
+GAVRIĆ ŽIVKA
+GAVRIĆ ĐORĐE
+GAVRIĆ BRANISLAV
+GAVRIĆ DIMITRIJE
+GAVRIĆ-GAZDIĆ NIKOLA
+GAVRIĆ IVAN
+GAVRIĆ IVAN
+GAVRIĆ JOVAN
+GAVRIĆ JOVO
+GAVRIĆ MARIJA
+GAVRIĆ MIHAJLO
+GAVRIĆ MILAN
+GAVRIĆ MILAN
+GAVRIĆ MILENA
+GAVRIĆ MILENKO
+GAVRIĆ MILENKO
+GAVRIĆ MILOŠ
+GAVRIĆ MIRKO
+GAVRIĆ MIROSLAV
+GAVRIĆ PETAR
+GAVRIĆ RADOMIR
+GAVRIĆ RADOSLAV
+GAVRIĆ SENKA
+GAVRIĆ SLAVKA
+GAVRIĆ SPASOJE
+GAVRIĆ SVETOZAR
+GAVRIĆ VELINKA
+GAVRIĆ VLADIMIR
+GAVRIĆ ZORAN
+GAVRIĆ ZORA
+GAVRILOV ŽIVKA
+GAVRILOV ANKICA
+GAVRILOV BOGDAN
+GAVRILOV GORDANA
+GAVRILOV HERMINA
+GAVRILOV JULKA
+GAVRILOV LJUBICA
+GAVRILOV MARTA
+GAVRILOV MILIVOJ
+GAVRILOV MILIVOJ
+GAVRILOV MILORAD
+GAVRILOV RADIVOJ
+GAVRILOV SLAVKO
+GAVRILOV SMILJA
+GAVRILOV TODOR
+GAVRILOV UROŠ
+GAVRILOVIĆ ŽIKICA
+GAVRILOVIĆ ŽIVKA
+GAVRILOVIĆ ŽIVOJIN DR
+GAVRILOVIĆ ALEKSANDAR
+GAVRILOVIĆ ALEKSANDAR
+GAVRILOVIĆ ALEKSA
+GAVRILOVIĆ BOGDANKA
+GAVRILOVIĆ BORIVOJ
+GAVRILOVIĆ BRANKA
+GAVRILOVIĆ BRANKO
+GAVRILOVIĆ DOBRILA
+GAVRILOVIĆ DOBRIVOJE
+GAVRILOVIĆ DUŠICA
+GAVRILOVIĆ EMIL
+GAVRILOVIĆ GROZDAN
+GAVRILOVIĆ JELISAVKA
+GAVRILOVIĆ JOVAN
+GAVRILOVIĆ JOVAN
+GAVRILOVIĆ KATICA
+GAVRILOVIĆ KLAUDIJA
+GAVRILOVIĆ LAZAR
+GAVRILOVIĆ LJUBOMIR
+GAVRILOVIĆ MARA
+GAVRILOVIĆ MARIJA
+GAVRILOVIĆ MARIJA
+GAVRILOVIĆ MILENA
+GAVRILOVIĆ MILENKO
+GAVRILOVIĆ MILENKO
+GAVRILOVIĆ MILICA
+GAVRILOVIĆ MILOŠ
+GAVRILOVIĆ MILOŠ
+GAVRILOVIĆ MILOJE
+GAVRILOVIĆ MILOSAVA
+GAVRILOVIĆ MILOVAN
+GAVRILOVIĆ MIRA
+GAVRILOVIĆ MIRJANA
+GAVRILOVIĆ MIRJANA
+GAVRILOVIĆ MIRKO
+GAVRILOVIĆ MIROSLAV
+GAVRILOVIĆ MIROSLAV
+GAVRILOVIĆ MITAR
+GAVRILOVIĆ MLADEN
+GAVRILOVIĆ NEBOJŠA
+GAVRILOVIĆ NIKOLA DR PROF
+GAVRILOVIĆ NIKOLA
+GAVRILOVIĆ PAVLE
+GAVRILOVIĆ RADOSLAV
+GAVRILOVIĆ RAJKA
+GAVRILOVIĆ SAVA DR
+GAVRILOVIĆ SAVO
+GAVRILOVIĆ SLAVICA
+GAVRILOVIĆ SLAVKO DR
+GAVRILOVIĆ SLAVKO
+GAVRILOVIĆ SLAVKO
+GAVRILOVIĆ SLAVOLJUB
+GAVRILOVIĆ SLOBODAN
+GAVRILOVIĆ SOFIJA
+GAVRILOVIĆ STANA
+GAVRILOVIĆ STEVA
+GAVRILOVIĆ STOJAN
+GAVRILOVIĆ TOŠA
+GAVRILOVIĆ TODOR
+GAVRILOVIĆ VERA DR
+GAVRILOVIĆ VERICA
+GAVRILOVIĆ VLADIMIR
+GAVRILOVIĆ VLADIMIR
+GAVRILOVIĆ VLADIMIR
+GAVRILOVIĆ VUKICA
+GAVRILOVIĆ ZLATA
+GAVRILOVSKI PAVLINA
+GAVROVIĆ GORAN
+GAVROVIĆ GORDANA
+GAVROVIĆ LJUBIVOJE
+GAVROVIĆ SVETLANA LOKAL
+GAZAFI LASLO
+GAZDIĆ BORIVOJ
+GAZEPOV ILIJA
+GAZIĆ IVAN
+GAZIBARIĆ IZETA
+GAZIBARIĆ JELENA
+GAZIBARIĆ JOVANKA
+GAZIBARIĆ SIMA
+GAZIJA JOVAN
+GAZIVODA GOJKO
+GEČEVSKI SRETKO
+GEBAUER ERVIN DR
+GEBELS ANA
+GECI ĐURA
+GEDELOVSKI DUŠAN
+GEDELOVSKI SOFIJA
+GEGEŠ JULIJANA
+GEGEŠ NANDOR
+GEGEŠ SLAVICA
+GEGENBAUER DRAGUTIN
+GEGENBAUER ILONKA
+GEGENBAUER ZORA
+GEGIĆ ALEKSANDAR
+GEGIĆ NEMANJA
+GELEI JENE
+GELER ŠANDOR
+GELER ĐULA
+GELER ADAM
+GELER ALEKSANDAR
+GELER BELA
+GELER JELISAVETA
+GELER JOVAN
+GELER LASLO
+GELER LASLO
+GELER MARIJA
+GELER MARTA
+GELER OLGA
+GELER-PETKOVIĆ GIZELA
+GELER TIBOR
+GELJIĆ MATO
+GEMOVIĆ ALEKSANDAR
+GENC FERENC
+GENC LAJOŠ
+GENCEL JULIJANA
+GENCEL MARIJANA
+GENCEL VALERIJA
+GENCI JOSIP
+GENEVAJN ĐURA
+GENEVAJN JOVAN
+GENEVAJN KARLO
+GENEVAJN LAJOŠ
+GENEVAJN LAJOŠ
+GENOVA MAJDA DIPL ING
+GENOVA MILICA DIPL ING
+GEORGIEV LEPOSAVA
+GEORGIEVSKI PERO
+GEORGIEVSKI VASIL
+GEORGIJEVIĆ ŽIVKO
+GEORGIJEVIĆ ALEKSANDAR
+GEORGIJEVIĆ IVANA
+GEORGIJEVIĆ JOVAN
+GEORGIJEVIĆ JOVAN
+GEORGIJEVIĆ LAZAR
+GEORGIJEVIĆ LAZA
+GEORGIJEVIĆ LJUBIŠA
+GEORGIJEVIĆ MILAN
+GEORGIJEVIĆ MILOSAV
+GEORGIJEVIĆ MILOVAN
+GEORGIJEVIĆ NESTOR
+GEORGIJEVIĆ RADOVAN
+GEORGIJEVIĆ VOJISLAV
+GERA IBOLJA
+GERAK EMILIJA
+GERASIMOVSKI ZLATE
+GERATOVIĆ ZORAN
+GERDIJAN ČEDOMIR
+GERE LAJOŠ
+GERE ZOLTAN
+GERECI JURAJ
+GEREG ŽUŽANA
+GEREG ANDRAŠ
+GEREG BLANKA
+GEREG EUGEN
+GEREG TIBOR
+GERGEČ SMILJA
+GERGELJ ŠIMON
+GERI TEREZA
+GERIĆ ŽARKO
+GERIĆ ĐORĐE
+GERIĆ ALEKSANDAR
+GERIĆ ANTON
+GERIĆ CVETA
+GERIĆ GINA
+GERIĆ GORDANA
+GERIĆ IVAN
+GERIĆ IVAN
+GERIĆ KOSTA
+GERIĆ KOVICA
+GERIĆ LJUBOMIR
+GERIĆ MARIJA
+GERIĆ MILAN
+GERIĆ MILOŠ
+GERIĆ MILOŠ
+GERIĆ MIRKO
+GERIĆ NEDELJKO
+GERIĆ NESTOR
+GERIĆ OBRAD
+GERIĆ PETAR
+GERIĆ RADINKA
+GERIĆ STEVAN
+GERIH ANDRIJA
+GERL FERDO
+GERL MARIJA
+GERLA DRAGANA
+GERLA LADISLAV
+GERLA TEODOR
+GERMANOVIĆ MILAN
+GERMANOVIĆ STANOJE
+GERNAČ ĐORĐE
+GERNAČ FRANJA
+GERNAČ LADISLAV
+GERO ĐERĐ
+GERO DUŠANKA
+GERO JANOŠ
+GERO JOŽEF
+GERO KARLO
+GERO LAJOŠ
+GERO MARGITA
+GEROLD JAKOB
+GEROLD LASLO
+GEROV ANGEL DIPL ING
+GERTNER ANA
+GERTNER FRANJA
+GERTNER JOŽEF
+GERTNER REŽE
+GETEL HELMUT
+GEZ JANOŠ
+GEZ JELICA
+GEZ KATICA
+GEZ TIBOR
+GEZ VERONIKA
+GHANDOUR-ŠAL JULIJANA
+GIADROŠIĆ MARIJA
+GIBANICA GEORGINA
+GIGA SRETEN
+GIGIĆ MIOMIR
+GIGIĆ MIRJANA
+GIGIĆ ZORAN
+GIKIĆ BOŽIDAR
+GIKIĆ DIMITRIJE
+GIKIĆ RADIVOJE
+GIKOVSKI MINO
+GILEZAN KORIOLAN
+GILG IRENA
+GILIĆ DRAGAN
+GILIĆ DRAGAN
+GIMBOŠ DOBRIVOJE
+GINCULJ SERGIJE DIPL ING
+GION ALEKSANDAR
+GION ANA DR
+GION IŠTVAN
+GION KALMAN
+GION NANDOR
+GIRIĆ MATIJA
+GIRIC BELA
+GIRIC ELENA
+GIRIC IMRE
+GIRIC JOŽEF
+GIRIC LASLO
+GIRIC-MOKUŠ KLARA
+GIRIZD LASLO NOVINAR
+GIRNT ROZALIJA
+GIS HEDVIGA
+GJAFO MATIJA
+GJER VLADIMIR
+GLADIŠ STEVAN
+GLADIĆ MILAN
+GLADIĆ RAJKO
+GLADIĆ SVETOZAR
+GLADOVIĆ DUŠAN
+GLADOVIĆ TATJANA
+GLAJH GEORG
+GLAMOČANIN NEVENKA
+GLAMOČANIN NEVENKA
+GLAMOČANIN PERO
+GLAMOČANIN VLADIMIR
+GLAMOČIĆ DANE
+GLAMOČIĆ SNEŽANA
+GLAMOČLIJA RUŽICA
+GLANC ANTUN
+GLASOVAC MARTA
+GLAVČIĆ MILORAD
+GLAVAŠ ŽARKO
+GLAVAŠ JOVO
+GLAVAŠ MILAN
+GLAVAŠ-TRBIĆ BOŠKO
+GLAVAŠEVIĆ ANĐELKO
+GLAVAŠEVIĆ ANĐELKO
+GLAVAŠKI ŽIVOJIN
+GLAVAŠKI ALEKSANDAR
+GLAVAŠKI ALEKSANDRA
+GLAVAŠKI ANĐELKA
+GLAVAŠKI BOGDAN DIPL ING
+GLAVAŠKI BRANISLAV
+GLAVAŠKI BRANKO DIPL PRAVNIK
+GLAVAŠKI DRAGAN
+GLAVAŠKI DUŠAN
+GLAVAŠKI GLIŠA
+GLAVAŠKI MILUTIN
+GLAVAŠKI NEMANJA
+GLAVAŠKI SIMA
+GLAVAŠKI SINIŠA
+GLAVAŠKI SMILJKA
+GLAVAN JOVAN
+GLAVANIĆ BOSILJKA
+GLAVANIĆ JULKA
+GLAVANIĆ MIRKO
+GLAVARDANOV ALEKSANDAR
+GLAVARDANOV IVAN DIPL ING
+GLAVARDANOV MARIJA
+GLAVARDANOV SOKO
+GLAVATOVIĆ DRAGAN
+GLAVATOVIĆ DUŠAN
+GLAVIČIĆ MARIJANA
+GLAVIĆ BOŠKO
+GLAVIĆ GAVRO
+GLAVIĆ JELKA
+GLAVIĆ RADISLAV
+GLAVINIĆ JOVO
+GLAVINIĆ MILORAD
+GLAVOČEVIĆ ILIJA
+GLEĐA MILENKO
+GLEDIĆ MILICA
+GLIŠIĆ ĐORĐO
+GLIŠIĆ BORISLAV
+GLIŠIĆ BRANKO
+GLIŠIĆ GRADIMIR
+GLIŠIĆ ILIJA
+GLIŠIĆ IVAN
+GLIŠIĆ JELICA
+GLIŠIĆ JOVAN
+GLIŠIĆ-KESEG VALERIJA
+GLIŠIĆ LJUBIŠA
+GLIŠIĆ MILEVA
+GLIŠIĆ NENAD
+GLIŠIĆ PREDRAG
+GLIŠIĆ RADOMIR
+GLIŠIĆ SIMO
+GLIŠIĆ SRETA
+GLIŠIĆ VESNA
+GLIŠIĆ ZORAN
+GLIŠIN ĐORĐE
+GLIŠIN BRANKA
+GLIŠIN NENAD
+GLIŠOVIĆ MARIJA
+GLIBIĆ MILAN
+GLIBOTA VLADO
+GLIGIĆ ŽELJKA
+GLIGIĆ MIRA
+GLIGIĆ NEDELJKO
+GLIGIĆ TOMISLAV
+GLIGOREVIĆ DUŠKO
+GLIGOREVIĆ TOMO
+GLIGORIĆ ŽELJKO
+GLIGORIĆ ŽIVOJIN
+GLIGORIĆ ŽIVORAD
+GLIGORIĆ ANĐELKA
+GLIGORIĆ CVETANKA
+GLIGORIĆ DRAGAN
+GLIGORIĆ DRAGAN
+GLIGORIĆ DRAGIŠA
+GLIGORIĆ DRAGICA
+GLIGORIĆ DRAGINJA
+GLIGORIĆ DRAGOMIR
+GLIGORIĆ JELENA
+GLIGORIĆ KATICA
+GLIGORIĆ LJUBOMIR
+GLIGORIĆ MILAN
+GLIGORIĆ MILAN
+GLIGORIĆ MILORAD
+GLIGORIĆ MLADEN
+GLIGORIĆ NIKOLA
+GLIGORIĆ RADIŠA
+GLIGORIĆ STANOJE
+GLIGORIĆ STEVAN
+GLIGORIĆ STEVAN
+GLIGORIJEVIĆ ALEKSANDAR
+GLIGORIJEVIĆ DRAGANA
+GLIGORIJEVIĆ DRAGICA
+GLIGORIJEVIĆ KRSTA
+GLIGORIJEVIĆ MIHAJLO
+GLIGORIJEVIĆ MIODRAG
+GLIGORIJEVIĆ PETRA
+GLIGORIJEVIĆ RUŽICA
+GLIGORIN ĐURĐINKA
+GLIGORIN BOJANA
+GLIGORIN MIROSLAV
+GLIGORIN SLAVICA
+GLIGORIN STEVAN
+GLIGORIN TOMISLAV
+GLIGORIN ZORAN
+GLIGORIN ZORKA
+GLIGOROV DESIMIR
+GLIGOROV JOVAN
+GLIGOROV LEKA
+GLIGOROV LJUBOMIR
+GLIGOROVIĆ SLAVKO
+GLIGOROVSKI TRAJKO
+GLINTIĆ MILE
+GLINTIĆ MIODRAG
+GLINTIĆ NIKOLA
+GLINTIĆ RADOSLAV
+GLINTIĆ SAVKA
+GLINTIĆ VESELKA
+GLOŽANSKI MARIJA
+GLOŽANSKI PETAR
+GLOŽANSKI VOJISLAV
+GLOGONJAC VITOMIR
+GLOGOVČAN MILOŠ DIPL ING
+GLOGOVAC JEVREM
+GLOGOVAC KORNELIJA
+GLOGOVAC MIRKO
+GLOGOVAC MOMČILO
+GLUŠAC BOŽIDAR
+GLUŠAC DUŠAN
+GLUŠAC MIHAJLO
+GLUŠAC MILAN
+GLUŠAC MILOŠ
+GLUŠAC MILORAD
+GLUŠAC PETAR
+GLUŠIĆ BRANKO
+GLUŠICA LJUBOMIR
+GLUŠICA MILAN
+GLUŠICA MILAN
+GLUŠICA MILE
+GLUŠICA NENAD
+GLUŠICA PETAR
+GLUŠICA SLAĐANA
+GLUŠICA SLAVKA
+GLUŠICA ZDRAVKO
+GLUHAIĆ ANĐELKO
+GLUHAJIĆ BOŽO
+GLUHAK KARLO
+GLUHOVIĆ MILOŠ
+GLUHOVIĆ MILOMIR
+GLUHOVIĆ VELJKO
+GLUMAC DANE
+GLUMAC DANILO
+GLUMAC DANILO
+GLUMAC DRAGAN
+GLUMAC DUŠAN
+GLUMAC GAVRA
+GLUMAC JELENA
+GLUMAC LAZO
+GLUMAC LJUBO
+GLUMAC MAGDALENA
+GLUMAC MILAN
+GLUMAC MILE
+GLUMAC MIODRAG DR
+GLUMAC MIROSLAV
+GLUMAC SLOBODAN DR
+GLUMIČIĆ MANDA
+GLUVAIĆ ĐORĐE
+GLUVAJIĆ DRAGAN
+GLUVAJIĆ JOVAN
+GLUVAKOV MILADINKA
+GLUVAKOV PAVLE
+GLUVAKOVIĆ VLADIMIR
+GLUVNJA STEVAN
+GMIZIĆ BRANISLAV
+GMIZIĆ NEGOVAN
+GMIZIĆ VLADA
+GNIP JOAKIM
+GNIP VELIMIR DIPL ING
+GNIP VERA
+GNIP VLADIMIR
+GNJATIĆ STOJANKA
+GNJEČ SVEN
+GOČANIN RADE
+GOČIĆ ANĐA
+GOŠIĆ JEVREM
+GOŠIĆ LJILJA
+GOŠIĆ PAVLE
+GOŠIĆ PAVLE
+GOŠIĆ PAVLE
+GOŠIĆ TOMISLAV
+GOŠIĆ TOMISLAV
+GOŠNJIĆ DOBRIVOJ
+GOĐEVAC BOSILJKA
+GOBEC KATICA
+GOBEC MILAN
+GOBELJIĆ MILOVAN
+GOBELJIĆ STRAHINJA
+GOBELJIĆ SVETISLAV
+GOBELJIĆ VUKADIN
+GOBELJIĆ VUK
+GOBOR ANA
+GOBOR LADISLAV
+GOBOR ZOLTAN
+GOBOR ZOLTAN
+GOCIĆ BOGOSAV
+GOCIĆ JEVROSIMA
+GOCIĆ VIDOJKO
+GODA OLIVIJA
+GODAR KATARINA
+GODIĆ MARIJA
+GODIĆ ZVONKO
+GODIĆ ZVONKO
+GODINA DARKO
+GODINA MILKO
+GODINSKI VLADIMIR
+GODOŠEV KRSTA
+GODOR ŠANDOR
+GODOR JANOŠ
+GODOR JOSIP
+GODUNC DUŠAN
+GOGIĆ DOBRILO
+GOGIĆ DRAGOLJUB
+GOGIĆ MARA
+GOGIĆ PAVLE
+GOGIĆ SLAVKO
+GOGIĆ VELINKA
+GOGOLAK MARGITA
+GOGOLJEV MIHAJLO
+GOGOLJEV ULJANA
+GOGOLJEV VASILIJE
+GOGOV MILAN
+GOJAN FERENC
+GOJIĆ DRAGAN
+GOJIĆ GOJKO
+GOJIĆ MILENA
+GOJIĆ MILE
+GOJKOV ŽIVKO
+GOJKOV JULIJANA
+GOJKOV MILENA
+GOJKOV RADOMIR
+GOJKOV VASILIJE
+GOJKOVIĆ DONKA
+GOJKOVIĆ DRAGAN
+GOJKOVIĆ DRAGORAD
+GOJKOVIĆ DUŠAN
+GOJKOVIĆ GEORGIJE DIPL ING
+GOJKOVIĆ ILIJA
+GOJKOVIĆ JELA
+GOJKOVIĆ LJUBIŠA
+GOJKOVIĆ MILISAV
+GOJKOVIĆ MITA
+GOJKOVIĆ NADEŽDA
+GOJKOVIĆ NEVENKA
+GOJKOVIĆ PAVLE
+GOJKOVIĆ RADMILO
+GOJKOVIĆ RADOLJUB
+GOJKOVIĆ SAVO
+GOJKOVIĆ TOMISLAV
+GOJNIĆ DAVOR
+GOJOVIĆ VUKOSAV
+GOKLER ILONA
+GOLDMAN ANKICA
+GOLDMAN-TOMAŠEVIĆ EVA
+GOLEŠ RUŽA
+GOLENIĆ SLAVKO
+GOLENJA BRANKO
+GOLENJA IRENA
+GOLENJA MIROSLAVA
+GOLENJA MIROSLAVA
+GOLEVA NADA
+GOLIŠEVIĆ MIRJANA
+GOLIĆ ŽIVAN
+GOLIĆ ĐORĐE
+GOLIĆ ALEKSANDAR
+GOLIĆ ANICA
+GOLIĆ DOBRIVOJE
+GOLIĆ FAID
+GOLIĆ LJUBOMIR
+GOLIĆ MARKO
+GOLIĆ SLAVKA
+GOLIĆ STANKA
+GOLIĆ TOMISLAV
+GOLIĆ VOJIN
+GOLIĆ VOJKO
+GOLIJAN ANA
+GOLIJANIN DUŠANKA
+GOLIJANIN ERŽEBET
+GOLIK OLGA
+GOLIK SLOBODAN
+GOLJEVAČKI DRAGICA
+GOLO ALEKSANDAR
+GOLO DRAGOSLAV
+GOLOČORBIN SLAVUJ
+GOLOČORDIN DRAGO
+GOLOŠIN-DIMITRIJEVIĆ LJILJANA
+GOLOŠIN STEVICA
+GOLOBOČANIN MILOSAV
+GOLOMEJIĆ MILORAD
+GOLONIĆ ZAGORKA
+GOLOUH IVAN
+GOLOVIĆ JOVAN
+GOLUŠIN BRANISLAV
+GOLUŠIN DRAGAN
+GOLUŠIN LJUBICA
+GOLUŠIN LJUBOMIR
+GOLUŠIN-MIĆIĆ MILENKO
+GOLUŠIN MIODRAG
+GOLUŠIN NADA
+GOLUŠIN NIKOLA
+GOLUBIČIĆ VERA
+GOLUBIĆ MILIVOJE
+GOLUBJATNIKOVA NINA
+GOLUBOV NAKA
+GOLUBOVIĆ ČEDOMIR
+GOLUBOVIĆ ĐORĐE
+GOLUBOVIĆ ALEKSANDAR
+GOLUBOVIĆ ARSEN
+GOLUBOVIĆ BOŠKO
+GOLUBOVIĆ BOGDAN
+GOLUBOVIĆ BORIVOJ
+GOLUBOVIĆ BRANKO
+GOLUBOVIĆ DIMITRIJE
+GOLUBOVIĆ DOBRILA
+GOLUBOVIĆ DRAGANA
+GOLUBOVIĆ DRAGAN
+GOLUBOVIĆ DRAGA
+GOLUBOVIĆ GOLUB
+GOLUBOVIĆ GOLUB
+GOLUBOVIĆ ILIJA
+GOLUBOVIĆ IVAN
+GOLUBOVIĆ JEREMIJE
+GOLUBOVIĆ JOVAN
+GOLUBOVIĆ KSENIJA
+GOLUBOVIĆ LJILJANA
+GOLUBOVIĆ LJUBINKA
+GOLUBOVIĆ LUKA
+GOLUBOVIĆ MANOJLO
+GOLUBOVIĆ MANOJLO
+GOLUBOVIĆ MARIJA
+GOLUBOVIĆ MIHAJLO
+GOLUBOVIĆ MILAN
+GOLUBOVIĆ MILENKO
+GOLUBOVIĆ MILENKO
+GOLUBOVIĆ MILUN
+GOLUBOVIĆ MILUTIN
+GOLUBOVIĆ MIODRAG
+GOLUBOVIĆ MIRJANA
+GOLUBOVIĆ MIROSLAV
+GOLUBOVIĆ MLAĐEN
+GOLUBOVIĆ MOMČILO
+GOLUBOVIĆ MOMČILO
+GOLUBOVIĆ MOMČILO
+GOLUBOVIĆ NADA
+GOLUBOVIĆ NIKOLA
+GOLUBOVIĆ OLGICA
+GOLUBOVIĆ PERIŠA
+GOLUBOVIĆ SEKULA
+GOLUBOVIĆ STANA
+GOLUBOVIĆ STANA
+GOLUBOVIĆ TEODORA
+GOLUBOVIĆ TIHOMIR
+GOLUBOVIĆ TOMO
+GOLUBOVIĆ VALERIJA
+GOLUBOVIĆ VELIZAR
+GOLUBOVIĆ VUKAŠIN
+GOLUBOVIĆ VUKAŠIN
+GOLUBOVIĆ ZORAN
+GOLUBOVIĆ ZVONIMIR
+GOLUBSKI MILICA
+GOLUBSKI RUŽA
+GOMBAŠ TAMAŠ
+GOMBAR ŠANDOR
+GOMBAR ELIZABETA
+GOMBAR FERENC
+GOMBAR IŠTVAN
+GOMBAR JANOŠ
+GOMBAR JANOŠ
+GOMBAR KATALIN
+GOMBAR MIHALJ
+GOMBAR ROZALIJA
+GOMBOŠ IŠTVAN
+GOMBOŠ IVICA
+GOMBOŠ KARLO
+GOMBOVIĆ BRANKO
+GOMIRAC ŽIVKO
+GOMIRAC BRANKO
+GOMIRAC STOJAN
+GONČIN SRETKO
+GONĐA ŽIVAN
+GONĐA MILENA
+GONĐA PETAR
+GONDA LADISLAV
+GONDAR RUŽA
+GONJA BRANIMIR
+GONJA MILOSLAV
+GONJA PETAR
+GORŠE ANDRIJA
+GORANOVIĆ DRAGO
+GORANOVIĆ MIRKO
+GORBANOV IVAN
+GORDANIĆ STOJAN
+GORDIĆ DARINKA
+GORDIĆ GOJKO
+GORDIĆ LAVINIJA
+GORDIĆ MILORAD
+GORDIĆ MILOVAN
+GORDIĆ RISTO
+GORDIĆ SLAVKO
+GORDIĆ STEVAN
+GORDIĆ VITOMIR
+GORDOŠ ŽUŽANA
+GOREČAN KARLO
+GOREC DRAGUTIN
+GOREC NADA
+GORENJAK RUDOLF
+GORIČANEC MIJO
+GORJANAC BRANKO
+GORJANAC MARIN
+GORNJAK KATICA
+GORTVA JOSIP
+GOSARIĆ FRANJA
+GOSPIĆ NEDELJKO
+GOSPOĐINAČKI RADOVAN
+GOSPODINOVIĆ IVAN
+GOSTIĆ ZDRAVKO
+GOSTIMIROVIĆ MARIN
+GOSTIMIROVIĆ PETAR
+GOSTOJIĆ ĐURĐINKA
+GOSTOJIĆ DUŠAN
+GOSTOJIĆ JOVAN
+GOSTOJIĆ LAZAR
+GOSTOJIĆ MILANA
+GOSTOJIĆ MILOŠ
+GOSTOJIĆ MIROSLAV
+GOSTOJIĆ MITAR
+GOSTOJIĆ SLAVKA
+GOSTOJIĆ SLOBODANKA
+GOSTOJIĆ TEODOR
+GOSTOVIĆ ĐORĐE
+GOSTOVIĆ BOGDAN
+GOSTOVIĆ IKA
+GOSTOVIĆ LJUBOMIR
+GOSTOVIĆ MOMIR
+GOTŠTAJN FERENC
+GOVEDARICA ČEDO
+GOVEDARICA ŽELIMIR
+GOVEDARICA DEJAN
+GOVEDARICA DRAGICA
+GOVEDARICA MILENKO
+GOVEDARICA MILOVAN
+GOVEDARICA MITAR
+GOVEDARICA MITAR
+GOVEDARICA PAVLE
+GOVEDARICA SIMO
+GOVEDARICA SLAVKO
+GOVEDARICA TATAJANA
+GOVEDARICA VELIMIR
+GOVEDARICA VLADIMIR
+GOVEDAROVIĆ JULIJA
+GOVEDAROVIĆ NIKOLA
+GOVEDAROVIĆ PETAR
+GOVORČIN ŽIVKA
+GOVORČIN BOGDAN
+GOVORČIN DARINKA
+GOVORČIN DELINKA
+GOVORČIN DIMITRIJE
+GOVORČIN DIMITRIJE
+GOVORČIN DUŠAN
+GOVORČIN GAVRA
+GOVORČIN LAZAR
+GOVORČIN MLADEN
+GOVORČIN SAVA
+GOVORČIN SLAVICA
+GOVORČIN SLOBODAN
+GOVORČIN STEVAN
+GOVORČIN STOJAN
+GOVORČIN VERA
+GOVORČIN VLADA
+GOVORČIN VLADIMIR
+GOVORČINOV MIROSLAV
+GRČANAC BRANKO
+GRČE MILAN
+GRČIĆ MILENKO
+GRČIĆ MILIVOJ
+GRČIĆ SLOBODAN DIPL ING
+GRČIĆ SVETISLAV
+GRČIĆ-TUBIĆ JOVANKA
+GRČIĆ VERICA
+GRČIĆ ZORKA
+GRČKI MILE
+GRČKI MIRJANA
+GRŠIĆ ĐORĐE
+GRŠIĆ ĐORĐE
+GRŠIĆ MILICA
+GRŠIĆ NIKOLA
+GRŠIĆ RUŽICA
+GRŠIĆ SOFIJA
+GRĐIĆ DRAGUTIN
+GRAČANIN IVAN
+GRAČANIN VALERIJA
+GRAČEK STEVAN
+GRAČIK SLAVKA
+GRAČIK STEVAN
+GRAČKO ŠANDOR
+GRAČKO OLGA
+GRAČKO OLGA
+GRAČKO ROZALIJA
+GRAŠA JOSIP
+GRAŠAR ANA
+GRAŠIĆ VALENTIN
+GRAŠIĆ ZDENKO
+GRAŠNER SOFIJA
+GRAĐIN MILOŠ
+GRAB FERENC
+GRABAR JOSIPA
+GRABAR JOSIP
+GRABAR MIRKO
+GRABEŽ ILE
+GRABEŽ JOJA
+GRABIĆ STEVAN
+GRABIĆ UROŠ
+GRABOCI RAMADAN
+GRABOVAC ACO
+GRABOVAC CVETA
+GRABOVAC DIMITRIJE
+GRABOVAC JOVAN
+GRABOVAC NEVENKA
+GRABOVAC RANKO
+GRABOVAC SIMEUN
+GRABUNDŽIJA JULIJANA
+GRADAŠČEVIĆ OSMAN
+GRADIĆ ŽIVKO
+GRADIĆ BOŽICA
+GRADIĆ DANKA
+GRADIĆ SPASOJE
+GRADINČEVIĆ ARSENIJE
+GRADINA SMILJKA
+GRADINAC ALEKSANDAR
+GRADINAC SREDOJE
+GRADINAC SREDOJE
+GRADINAC SREDOJE
+GRADINAROV DIMITRIJE
+GRADOJEVIĆ KATICA
+GRADOJEVIĆ LJUBICA
+GRAHEK NADA
+GRAHOVAC ĐORĐE
+GRAHOVAC ĐORĐE
+GRAHOVAC BRANISLAV
+GRAHOVAC CVIJO
+GRAHOVAC DANIJELA
+GRAHOVAC DRAGANA
+GRAHOVAC DRAGICA
+GRAHOVAC DUŠANKA
+GRAHOVAC DUŠAN
+GRAHOVAC DUŠAN
+GRAHOVAC DUŠAN
+GRAHOVAC GOJKO
+GRAHOVAC JANKO
+GRAHOVAC JOVAN
+GRAHOVAC JOVAN
+GRAHOVAC MIODRAG
+GRAHOVAC MIRKO
+GRAHOVAC MIROSLAV
+GRAHOVAC NADA
+GRAHOVAC NIKOLA
+GRAHOVAC OBRAD
+GRAHOVAC RADE
+GRAHOVAC RANKA
+GRAHOVAC SLAVICA
+GRAHOVAC SLAVKO
+GRAHOVAC SLAVKO
+GRAHOVAC SMILJA
+GRAHOVAC SPASO
+GRAHOVAC VASO
+GRAHOVAC VELIMIR
+GRAHOVAC ZDENKO
+GRAJLING EMIL
+GRANDIĆ MIJODRAG
+GRANDIĆ MILICA
+GRANDIĆ RADOVAN DR PROF
+GRANDIĆ STOJAN
+GRANIĆ MARIJA
+GRANIĆ MARIJA
+GRANIĆ NIKOLA
+GRANULA GOJKO
+GRAONJA ĐURO
+GRAOR MIROSLAV
+GRAOR SLAVKO
+GRAORAC ISIDOR
+GRAOVAC ĐORĐE
+GRAOVAC AORIKA
+GRAOVAC BLAŽ
+GRAOVAC BOGDAN
+GRAOVAC BOGDAN
+GRAOVAC BORISLAV
+GRAOVAC DUŠAN
+GRAOVAC MILOŠ
+GRAOVAC MILORAD
+GRAOVAC OLIVERA
+GRAOVAC-PADROV LJUBINKA
+GRAOVAC SLOBODANKA
+GRAPČAK JOSIP
+GRAVARA DRAGICA
+GRAVARA NIKOLA
+GRAVARA RADE
+GRBA KOSTA
+GRBA MILAN
+GRBA NEVENKA
+GRBA VUKOJICA
+GRBATINIĆ MILAN
+GRBATINIĆ MILOŠ
+GRBAV JON
+GRBAVAC NEVENKA
+GRBAVAC NIKOLA
+GRBIĆ ŽIVAN
+GRBIĆ ŽIVKO
+GRBIĆ ĐORĐE MR
+GRBIĆ ĐURAĐ
+GRBIĆ ĐURO
+GRBIĆ ANĐELIJA
+GRBIĆ ANKA
+GRBIĆ ANKICA
+GRBIĆ BOŠKO
+GRBIĆ BOGDANKA
+GRBIĆ BORIVOJE
+GRBIĆ BRANKO
+GRBIĆ DŽEVAD
+GRBIĆ DARINKA
+GRBIĆ DESA
+GRBIĆ DRAGAN
+GRBIĆ DRAGAN
+GRBIĆ DRAGAN
+GRBIĆ DRAGO
+GRBIĆ DRENKA
+GRBIĆ DUŠAN
+GRBIĆ DUŠAN
+GRBIĆ DUŠAN
+GRBIĆ DUŠAN
+GRBIĆ DUŠAN
+GRBIĆ DUŠAN
+GRBIĆ DUŠAN
+GRBIĆ DUŠICA
+GRBIĆ GOJKO
+GRBIĆ GORAN
+GRBIĆ JOVANKA
+GRBIĆ JOVANKA
+GRBIĆ JOVAN
+GRBIĆ JOVAN
+GRBIĆ JOVICA
+GRBIĆ JOVO
+GRBIĆ LAZAR
+GRBIĆ LJUBAN
+GRBIĆ LJUBIŠA
+GRBIĆ MARIJA
+GRBIĆ MILAN
+GRBIĆ MILAN
+GRBIĆ MILAN
+GRBIĆ MILENA
+GRBIĆ MILENA
+GRBIĆ MILENKO
+GRBIĆ MILENKO
+GRBIĆ MILE
+GRBIĆ MILIĆ
+GRBIĆ MILICA
+GRBIĆ MILKA
+GRBIĆ MILOŠ
+GRBIĆ MILOŠ
+GRBIĆ MILORAD
+GRBIĆ MILOVAN
+GRBIĆ MILOVAN
+GRBIĆ MILUTIN
+GRBIĆ MIRA
+GRBIĆ MIRA
+GRBIĆ MLADEN
+GRBIĆ NIKOLA
+GRBIĆ OSTOJA
+GRBIĆ PETAR
+GRBIĆ PETAR
+GRBIĆ PETAR
+GRBIĆ RADE
+GRBIĆ ROSA
+GRBIĆ SLOBODAN
+GRBIĆ STEVAN
+GRBIĆ STEVAN
+GRBIĆ STEVO
+GRBIĆ SVETKO
+GRBIĆ VASA DR
+GRBIĆ VERA
+GRBIĆ VID
+GRBIĆ VOJIN
+GRBIĆ VOJISLAV
+GRBIĆ VUKOSAVA
+GRBIN MARIJA
+GRBIN RADOSLAV
+GRBOVAC MIHALJ
+GRBOVIĆ ALIL
+GRBOVIĆ DRAGAN
+GRBOVIĆ GAVRILO
+GRBOVIĆ JOVAN
+GRBOVIĆ JOVAN
+GRBOVIĆ MILAN
+GRBOVIĆ MILAN
+GRBOVIĆ MIRČETA
+GRBOVIĆ MOMČILO
+GRBOVIĆ MURAT
+GRBOVIĆ MURAT
+GRBOVIĆ RADISAV
+GRBOVIĆ RUŽICA
+GRBOVIĆ SLAVKO
+GRBOVIĆ SMILJA
+GRCE ANICA
+GRCIĆ JOVAN
+GRCIĆ MILICA
+GRCIĆ NIKOLA
+GRCIĆ VESELIN
+GRCOVIĆ VERICA
+GRDIĆ IVICA
+GRDIĆ LUJKA
+GRDIĆ MARA
+GRDINIĆ MIRKO
+GRDINIĆ SLOBODAN
+GREČ ROZALIJA
+GREČEL KARLO
+GREČNIK JANKO
+GREČNIK MARIJA
+GREČNIK PAVLE
+GREBELDINGER LJUBICA
+GREBELDINGER PETAR
+GREBNJEV ROZALIJA
+GREBO NEDELJKO
+GREBOVIĆ RANKO
+GREGEC MARIJA
+GREGEC VILI
+GREGEC VILI
+GREGER HEDVIGA
+GREGOR JOSIP
+GREGORIĆ BRANKO
+GREGORIĆ DUŠAN
+GREGORIĆ MILANKA
+GREGORIN PETAR
+GREGOROVIĆ ANTONIJE
+GREGOROVIĆ IVAN
+GREGOROVIĆ VLADIMIR DIPL ING
+GREGUŠ ANTAL
+GREGUŠ JANOŠ
+GREGUŠ LASLO
+GREGUŠ PETAR
+GREGURIĆ IVAN
+GREISINGER DARINA
+GREIZER PETAR
+GREK SADIK
+GREKS PAVEL
+GREKU ADEM
+GREKU GANI
+GREKU HASAN
+GREKU MUHAMER
+GREKU NEZIR
+GREKU RAMIZ
+GREKU SABIT
+GREKULOVIĆ JOVAN
+GREKULOVIĆ STANČE
+GRGANOVIĆ ĐURA
+GRGAR ĐURICA
+GRGAR BRANKA
+GRGAR LAZAR
+GRGAR TOŠA
+GRGIČEVIĆ JULIŠKA
+GRGIĆ BOŠKO
+GRGIĆ BOJANA
+GRGIĆ DRAGOJE
+GRGIĆ MIJO
+GRGIĆ MILAN
+GRGIĆ SAVETA
+GRGIĆ SIMO
+GRGIĆ VERA
+GRGIĆ VERICA
+GRGIĆ ZVONIMIR
+GRGINČEVIĆ MIHAELA PROFESOR
+GRGINČEVIĆ VLADIMIR
+GRGUR DUŠAN
+GRGUR RADOSLAV
+GRGUR VLADA
+GRGUREVIĆ MIROSLAV
+GRGUREVIĆ RAJKO
+GRGURIĆ ANTUN
+GRGURIĆ JOSIP
+GRGURIĆ RUŽICA
+GRGUROV SLOBODAN
+GRGUROVIĆ MILORAD
+GRIFATONG KARLO
+GRIFATONG OTO
+GRIGORIJEV ALEKSANDAR
+GRIGORIJEVIĆ NIKOLA
+GRIGORIJEVIĆ PETAR
+GRIJAK DANICA
+GRIJAK KOSOVKA
+GRIJAK MILAN
+GRIJAKOVIĆ MILICA
+GRIJAKOVIĆ MILOŠ
+GRILEC STANKO
+GRILEC STANKO
+GRINHUT LADISLAV
+GRISA PETAR
+GRISHABER FRANJA
+GRIZELJ KARLO
+GRIZER PETAR
+GRIZER STEVAN
+GRKAVAC MILAN
+GRKAVAC MIROSLAV
+GRKINIĆ KOSARA
+GRKINIĆ MILAN
+GRKOVIĆ ŽIVAN
+GRKOVIĆ ĐORĐE
+GRKOVIĆ ĐURO
+GRKOVIĆ ANKA
+GRKOVIĆ BOŽIDAR
+GRKOVIĆ BOGOLJUB
+GRKOVIĆ BORISLAV
+GRKOVIĆ BRANKO
+GRKOVIĆ DANE
+GRKOVIĆ DUŠAN
+GRKOVIĆ DUŠAN
+GRKOVIĆ GAVRILO
+GRKOVIĆ JELENA
+GRKOVIĆ JOVAN DIPL ING
+GRKOVIĆ JOVAN
+GRKOVIĆ LJILJANA
+GRKOVIĆ MILICA DR
+GRKOVIĆ MIRJANA
+GRKOVIĆ STOJANKA
+GRKOVIĆ VERA
+GRKOVIĆ VOJIMIR
+GRKOVIĆ VOJIN
+GRKOVSKI PANTA
+GRLIĆ ĐORĐE
+GRLIĆ LJUBINKO
+GRLIĆ MILENKO
+GRLICA ŽELJKO
+GRLICA BOSILJKA
+GRLICA MILEVA
+GRLICA MILOVAN
+GRLICA STANKO
+GRLICA VOJIN
+GRLJEVIĆ MIRJANA
+GRMAŠ ĐURO
+GRMAŠ BRANKO
+GRMOŠ PREDRAG
+GRMUŠA ŽIVKO
+GRMUŠA ĐURO
+GRMUŠA MILAN
+GRMUŠA MILAN
+GRMUŠA RADE
+GRMUŠA SLAVKO
+GRMUŠA SMILJKA
+GRMUŠA STOJAN
+GRMUŠA VELKO
+GRNJA ĐURA
+GRNJA ANDRIJA
+GRNJA ANKA
+GRNJA-ASANI LJUMNIJA
+GRNJA DUŠAN
+GRNJA JANKO
+GRNJA JAN
+GRNJA JOVAN
+GRNJA JOVAN
+GRNJA JOVAN
+GRNJA JOVAN
+GRNJA JURAJ
+GRNJA LASLO
+GRNJA LJUDEVIT
+GRNJA MARIJA
+GRNJA OSKAR
+GRNJA SOFIJA
+GRNJA STEVAN
+GRNJA STEVAN
+GRNJA STEVAN
+GRNJA VLADIMIR
+GROŠEK ZVONIMIR
+GROŠKO MARIJA
+GROM CIRIL
+GROMILIĆ MILORAD
+GROS ĐORĐE
+GROS IVAN
+GROS LADISLAV
+GROZDANIĆ ĐORĐE
+GROZDANIĆ ENINKA
+GROZDANIĆ JOSIP
+GROZDANIĆ MILAN
+GROZDANIĆ MILAN
+GROZDANOV SLAVKO
+GROZDANOVSKI DAMJAN
+GROZDANOVSKI MILE
+GROZDANOVSKI PETAR
+GROZDIĆ BOŠKO
+GROZDIĆ BOGDAN
+GROZDIĆ DESANKA
+GROZDIĆ DOBRIVOJ
+GROZDIĆ DUŠAN
+GROZDIĆ JASMINA
+GROZDIĆ JOVAN
+GROZDIĆ JOVAN
+GROZDIĆ JOVAN
+GROZDIĆ KUZMAN
+GROZDIĆ LAZAR
+GROZDIĆ LJUBIŠA
+GROZDIĆ LJUBOMIR
+GROZDIĆ MILAN
+GROZDIĆ PETAR
+GROZDIĆ STEVAN
+GROZDIĆ VESNA
+GROZDIĆ ZDRAVKO
+GROZDIĆ ZORAN
+GROZDIĆ ZORICA
+GROZGUT TIBOR
+GRUBA DORU
+GRUBA TIBERIJE
+GRUBAČ GORDANA
+GRUBAČ MAKSA
+GRUBAČ MOMČILO
+GRUBAČ STANKA
+GRUBAČ TANASIJE
+GRUBAČIĆ GOJKO
+GRUBANOV DOBRIVOJ
+GRUBANOV DUŠANKA
+GRUBANOV NOVAK
+GRUBANOV ZAHARIJE
+GRUBEŠA NIKOLA
+GRUBEŠIĆ DRAGAN
+GRUBEŠIĆ DUŠAN
+GRUBEŠIĆ MELANIJA
+GRUBER EDUARD
+GRUBER EMIL
+GRUBER EVALD
+GRUBER FRANJA
+GRUBER RUDOLF
+GRUBETIĆ OLGA
+GRUBIŠA ANĐELO
+GRUBIŠIĆ MIRJANA
+GRUBIŠIĆ MIRKO
+GRUBIŠIĆ NIKOLA
+GRUBIĆ ŽARKO
+GRUBIĆ ŽARKO
+GRUBIĆ ANKA
+GRUBIĆ MILAN
+GRUBIĆ NIKOLA
+GRUBIN MILAN
+GRUBIN MIROSLAV
+GRUBJEŠIĆ BRANKO
+GRUBJEŠIĆ MILENKO
+GRUBJEŠIĆ MIRKO
+GRUBJEŠIĆ STEVO
+GRUBOR ADAM
+GRUBOR BRANKO
+GRUBOR EMA
+GRUBOR JEFTO
+GRUBOR-JOJIĆ SLAVICA
+GRUBOR JOVO
+GRUBOR LAZAR
+GRUBOR LAZO
+GRUBOR LJUBOMIR
+GRUBOR MILJANA
+GRUBOR MILOŠ
+GRUBOR NEĐO
+GRUBOR NEDELJKO
+GRUBOR NEVENA
+GRUBOR NIKOLA
+GRUBOR NIKOLA
+GRUBOR OLGA
+GRUBOR RADE
+GRUBOR SLOBODAN
+GRUBOR SRETO
+GRUBOR VUJO
+GRUBOR ZDRAVKO
+GRUBOROVIĆ MILE
+GRUBOVIĆ ILIJA
+GRUESKU-ĆIRIŠAN DELIJA
+GRUIČIĆ DRAGOLJUB
+GRUIK VERONIKA
+GRUJČIĆ NIKOLA
+GRUJANAC MILAN
+GRUJEV OGNJAN DIPL ING
+GRUJIČ SLOBODAN
+GRUJIČIĆ BILJANA
+GRUJIČIĆ JOVA
+GRUJIČIĆ MARINKO
+GRUJIČIĆ MIA
+GRUJIČIĆ MILICA
+GRUJIČIĆ MILOJE
+GRUJIČIĆ NENAD
+GRUJIČIĆ PETAR
+GRUJIČIĆ PREDRAG
+GRUJIČIĆ RADOMIR
+GRUJIČIN STANOJE
+GRUJIČKOV JOVAN
+GRUJIČKOV MILKA
+GRUJIĆ ŽIVKA
+GRUJIĆ ŽIVORAD
+GRUJIĆ ĐENA
+GRUJIĆ ĐENISIJE
+GRUJIĆ ĐORĐE
+GRUJIĆ ĐURĐICA
+GRUJIĆ ĐURA
+GRUJIĆ ĐURA
+GRUJIĆ ALEKSANDAR
+GRUJIĆ ALEKSANDAR
+GRUJIĆ ALEKSANDAR
+GRUJIĆ ALEKSANDAR
+GRUJIĆ ALEKSANDAR
+GRUJIĆ ANĐELKO
+GRUJIĆ ANDRIJA
+GRUJIĆ ANICA
+GRUJIĆ BOŽIDAR
+GRUJIĆ BOŽIDAR
+GRUJIĆ BORISLAV
+GRUJIĆ BORIVOJ
+GRUJIĆ BOSILJKA
+GRUJIĆ BRANISLAV
+GRUJIĆ BRANISLAV
+GRUJIĆ BRANKO
+GRUJIĆ CVIJETIN
+GRUJIĆ CVIJO
+GRUJIĆ DANICA
+GRUJIĆ DIMITRIJE
+GRUJIĆ DRAGICA
+GRUJIĆ DUŠAN
+GRUJIĆ DUŠAN
+GRUJIĆ DUŠAN
+GRUJIĆ FRANCIŠKA
+GRUJIĆ GAVRA
+GRUJIĆ GAVRILO
+GRUJIĆ GORAN
+GRUJIĆ GORICA
+GRUJIĆ GRUJA
+GRUJIĆ ILINKA
+GRUJIĆ IVAN DIPL ING
+GRUJIĆ IVANKA
+GRUJIĆ JANJA
+GRUJIĆ JELICA
+GRUJIĆ JELISAVETA
+GRUJIĆ JELKA DR
+GRUJIĆ JOVANKA
+GRUJIĆ JOVANKA
+GRUJIĆ JOVAN
+GRUJIĆ JOVAN
+GRUJIĆ JOVAN
+GRUJIĆ JOVAN
+GRUJIĆ JOVICA
+GRUJIĆ JULKA
+GRUJIĆ KOSTA DR
+GRUJIĆ KOSTA DR
+GRUJIĆ LAZAR
+GRUJIĆ LENKA
+GRUJIĆ LJILJANA
+GRUJIĆ LJUBICA
+GRUJIĆ LJUBOMIR
+GRUJIĆ LJUBO
+GRUJIĆ MARIJA
+GRUJIĆ MARIJA
+GRUJIĆ MARIJA
+GRUJIĆ MARIJA
+GRUJIĆ MARINA
+GRUJIĆ MIHAJLO
+GRUJIĆ MILAN
+GRUJIĆ MILAN
+GRUJIĆ MILAN
+GRUJIĆ MILENA
+GRUJIĆ MILENKO
+GRUJIĆ MILE
+GRUJIĆ MILICA
+GRUJIĆ MILOŠ
+GRUJIĆ MILOŠ
+GRUJIĆ MILORAD
+GRUJIĆ MILORAD
+GRUJIĆ MIRJANA
+GRUJIĆ MIROSLAV DIPL ING
+GRUJIĆ MIROSLAV
+GRUJIĆ MITAR
+GRUJIĆ NADA DR LEKAR
+GRUJIĆ NADA
+GRUJIĆ NADA
+GRUJIĆ NEDELJKO
+GRUJIĆ NIKOLA
+GRUJIĆ NIKOLA
+GRUJIĆ NIKOLA
+GRUJIĆ NIKOLA
+GRUJIĆ NIKOLA
+GRUJIĆ NIKOLA
+GRUJIĆ NOVAK
+GRUJIĆ PAVLE
+GRUJIĆ PETAR
+GRUJIĆ RADENKO
+GRUJIĆ RADE
+GRUJIĆ RADIŠA
+GRUJIĆ RADINKA
+GRUJIĆ RADIVOJ
+GRUJIĆ RADIVOJ
+GRUJIĆ RADMILA
+GRUJIĆ RADOJICA
+GRUJIĆ RADOVAN
+GRUJIĆ RUŽICA
+GRUJIĆ SANJA
+GRUJIĆ SAVA
+GRUJIĆ SAVA
+GRUJIĆ SINIŠA
+GRUJIĆ SLAVIŠA
+GRUJIĆ SLAVICA
+GRUJIĆ SLAVKA
+GRUJIĆ SLAVKO
+GRUJIĆ SLOBODAN DIPL ING
+GRUJIĆ SLOBODAN
+GRUJIĆ SLOBODAN
+GRUJIĆ SLOBODAN
+GRUJIĆ SLOBODAN
+GRUJIĆ SMILJANA
+GRUJIĆ SMILJA
+GRUJIĆ SMILJA
+GRUJIĆ SRĐAN
+GRUJIĆ STEVAN
+GRUJIĆ STEVAN
+GRUJIĆ STEVAN
+GRUJIĆ STEVAN
+GRUJIĆ STOJAN DR
+GRUJIĆ SVETOZAR
+GRUJIĆ SVETOZAR
+GRUJIĆ TATJANA
+GRUJIĆ VELIMIR
+GRUJIĆ VERICA
+GRUJIĆ VESELIN
+GRUJIĆ VESNA
+GRUJIĆ VOJISLAV
+GRUJIĆ ZDRAVKO
+GRUJIĆ ZLATICA
+GRUJIĆ ZLATICA
+GRUJIN DANICA
+GRUJIN DUŠAN
+GRUJIN LJUBICA
+GRUJIN MILAN
+GRUJIN MILOŠ
+GRUJIN NADA
+GRUJIN OLGA
+GRUJIN PETAR
+GRUJIN RADOSLAV
+GRUJIN SAŠA
+GRUJIN SMILJA
+GRUJIN SPASOJE
+GRUJIN TEREZA
+GRUJIN ZORAN
+GRUJINOVIĆ DRAGUTIN
+GRUJINOVIĆ ZORKA
+GRUJOVIĆ BRANISLAV
+GRUJOVIĆ MIHAJLO
+GRUJOVSKI LAZAR
+GRULOVIĆ RADOJKA
+GRULOVIĆ ZDENKO
+GRULOVIĆ ZDRAVKA
+GRULOVIĆ ZDRAVKO
+GRUNČIĆ JOVAN
+GRUNIK VLADIMIR DR
+GUŠA NIKOLA
+GUŠA PREDRAG
+GUŠAVAC ZORAN
+GUŠIĆ BOGDAN
+GUŠIĆ BORIS
+GUŠIĆ MANOJLO
+GUŠIĆ MANOJLO
+GUŠIĆ MILENKA
+GUŠIĆ RADENKO
+GUŠIĆ RADENKO
+GUŠIĆ UGLJEŠA
+GUŠIĆ VASILJKA
+GUŽALIĆ MARIJA
+GUŽALIĆ STJEPAN
+GUŽALIĆ VLADIMIR
+GUŽALIĆ ZVONIMIR
+GUŽELA LASLO
+GUŽVANJ IVICA
+GUŽVICA ĐORĐE
+GUŽVICA ĐORĐE
+GUŽVICA BRANISLAV
+GUŽVICA MILAN
+GUŽVICA MILAN
+GUŽVICA MIRKO
+GUŽVICA NIKOLA
+GUŽVICA STEVO
+GUŽVICA ZORAN
+GUBAŠ ANĐELIJA
+GUBAŠ MIROSLAV
+GUBAŠ VLADIMIR
+GUBAŠ ZAGORKA
+GUBANDA BARBARA
+GUBANDA LADISLAV
+GUBERINA DUŠAN
+GUBERINA SLOBODAN
+GUBERINIĆ LJUBICA
+GUBERNOV JULIJANA
+GUBIĆ MIRKO
+GUBICA JOVAN
+GUBIK ŠANDOR
+GUBIK ŠANDOR
+GUBIK KARLO
+GUBIK KATARINA
+GUBIK STEVAN
+GUC STEVAN
+GUCIJAN STEVA
+GUCU MIRJANA
+GUCULJ JELENA
+GUCULJ MARGITA
+GUCULJ VERA
+GUCUNJA JOVAN
+GUCUNJA MILAN
+GUCUNJA MILORAD
+GUCUNJA MILORAD
+GUCUNSKI ŽIVKA
+GUCUNSKI ĐORĐE
+GUCUNSKI BOŽIDAR
+GUCUNSKI BORISLAV
+GUCUNSKI BRANISLAV
+GUCUNSKI IVANKA
+GUCUNSKI IVANKA
+GUCUNSKI JELENA
+GUCUNSKI JOVAN
+GUCUNSKI MARIJA
+GUCUNSKI NADA
+GUCUNSKI PERSIDA
+GUCUNSKI RADE
+GUCUNSKI SIMA
+GUDALJ MARTA
+GUDALOVIĆ MOMIR
+GUDALOVIĆ RADMILA
+GUDELJ ĐORĐE
+GUDELJ BRANISLAV DIPL ING
+GUDELJ JOVAN
+GUDELJ MARIJA
+GUDELJ MILAN
+GUDELJ MILENA
+GUDELJ MOMČILO
+GUDELJ NEDELJKA
+GUDELJ SAVA DR
+GUDOVIĆ DRAGOMIR
+GUDOVIĆ PAVLE
+GUDOVIĆ RADMILA
+GUDOVIĆ STEVAN
+GUDURIĆ ALEKSANDAR
+GUDURIĆ ANĐELKA DR
+GUDURIĆ BRANIMIR DR
+GUDURIĆ DEJAN
+GUDURIĆ JOVAN
+GUDURIĆ SVETISLAV
+GUDURIĆ VASA
+GUDURIĆ ZORAN
+GUELMINO ŠANDOR
+GUELMINO FRIĐEŠ
+GUGA VERA
+GUGA VERA
+GUGIĆ SINIŠA
+GUGLETA SRBISLAV
+GUKODI MLADEN
+GULAČI JOSIP
+GULAĆI LJUBINKA
+GULAN BOŠKO
+GULAN BRANISLAV
+GULAN VIDOSAVA
+GULD VALERIJA
+GULEVIĆ TATJANA
+GULEVIĆ VLADIMIR DR LEKAR
+GULEVSKI DIMČE
+GULEVSKI DIMČE
+GULEVSKI DIMČE
+GULEVSKI DIMČE
+GULEVSKI DIMČE
+GULEVSKI MIHAJLO
+GULEVSKI SAŠA
+GULIČ IMRE
+GULIĆ STANKO
+GULIĆ VESNA
+GULIN MARICA
+GULIN ZLATKO
+GULJAŠ MARIJA
+GULJAŠ TEREZIJA
+GULJAŠ VESNA
+GULJPA MILAN
+GULJPA SAVA
+GUNEK MARIJA
+GUNEK MATE
+GUNEK TOMA
+GUNIĆ MILENA
+GUNJEVIĆ MILE
+GUNJEVIĆ NEVENKA
+GURAN TAMAŠ
+GURJANOV ŽARKO
+GURJANOV BLAGOJE
+GURJANOV JELICA
+GURJANOV VASA
+GUROVIĆ BOŽIDAR
+GUSIĆ MILEVA
+GUSMAN ĐORĐE DR LEKAR
+GUSMAN DRAGICA
+GUSMAN GERHARD
+GUSMAN HILDA
+GUSMAN IMRE
+GUT JANKO
+GUT JOVAN
+GUT NATALIJA
+GUTAI JOLAN
+GUTAI MIHALJ
+GUTAJI ILEŠ
+GUTALJ MILORAD
+GUTEŠA ĐURO
+GUTEŠA MIRKO
+GUTEŠA NIKOLA
+GUTEŠA VOJISLAV
+GUTI ŽOLT
+GUTIĆ ŠPIRO
+GUTIĆ GORAN
+GUTMAN ALEKSANDAR
+GUTMAN DARINKO
+GUTOVIĆ ANĐELKO
+GUTOVIĆ DANIELA
+GUTOVIĆ MILENKO
+GUTOVIĆ RADE
+GUTOVIĆ RISTO
+GUTOVIĆ SINIŠA
+GUTOVIĆ SNEŽANA
+GUTOVIĆ ZORAN
+GUTVAJN ADAM
+GUTVAJN ADAM
+GUTVAJN ELIZABETA
+GUTVAJN EVA
+GUZIJAN JOVO
+GUZIJAN MILAN
+GUZIJAN NIKOLA
+GUZINA ČEDOMIR
+GUZINA LJUBISAV
+GUZINA MIHAJLO
+GUZINA MILORAD
+GUZINA MILORAD
+GUZINA MILOSAV DR
+GUZINA VLADIMIR
+GUZINA VOJISLAV
+GUZINA VUKAŠIN
+GVERIĆ BORIVOJ
+GVERIĆ SNEŽANA
+GVERO LAZO
+GVERO MIRA
+GVOŽĐAN BORISLAVA
+GVOŽĐAN MIHAJLO
+GVOŽĐAN RADOVAN
+GVOIĆ BRANKO
+GVOIĆ MILAN
+GVOIĆ VALERIJA
+GVOJIĆ BORISLAV
+GVOJIĆ MILAN
+GVOJIĆ STANKO
+GVOJIĆ STEVAN
+GVOKA NADA
+GVOZDEN BOSILJKA
+GVOZDEN BRANKO
+GVOZDEN SRETO
+GVOZDEN VLADIMIR
+GVOZDENAC ŽIVKO
+GVOZDENAC BORA
+GVOZDENAC BORA
+GVOZDENAC BORKA
+GVOZDENAC DRAGOLJUB
+GVOZDENAC DUŠAN
+GVOZDENAC RAJKO
+GVOZDENAC SNEŽANA
+GVOZDENOV JOVAN
+GVOZDENOV MILAN
+GVOZDENOVIĆ ŽIVORAD
+GVOZDENOVIĆ ĐORĐE
+GVOZDENOVIĆ ĐURO
+GVOZDENOVIĆ BOŽO
+GVOZDENOVIĆ BRANKO
+GVOZDENOVIĆ BRANKO
+GVOZDENOVIĆ DEJAN
+GVOZDENOVIĆ DRAGINJA
+GVOZDENOVIĆ DUŠAN DR
+GVOZDENOVIĆ DUŠAN
+GVOZDENOVIĆ EMILIJA
+GVOZDENOVIĆ LJILJANA
+GVOZDENOVIĆ LJUBO
+GVOZDENOVIĆ MIĆO
+GVOZDENOVIĆ MILIVOJE
+GVOZDENOVIĆ MILOŠ
+GVOZDENOVIĆ MIRKO
+GVOZDENOVIĆ MIROSLAV
+GVOZDENOVIĆ MIROSLAV
+GVOZDENOVIĆ NIKOLA
+GVOZDENOVIĆ PETAR
+GVOZDENOVIĆ RAJKO
+GVOZDENOVIĆ RAJKO
+GVOZDENOVIĆ RAJKO
+GVOZDENOVIĆ STEVO
+GVOZDENOVIĆ-TODOROVIĆ ZAGORKA
+GVOZDENOVIĆ-TODOROVIĆ ZAGORKA
+GVOZDENOVIĆ VIDA
+GVOZDENOVIĆ VITOMIR
+GVOZDENOVIĆ VLADA
+GVOZDENOVIĆ VLADA
+GVOZDENOVIĆ ZORICA
+GVOZDIĆ ĐORĐE
+GVOZDIĆ MILAN
+HAŠOVIĆ ANDRIJA
+HAŠOVIĆ IMRE
+HAĐINAC BRANISLAV
+HABAŠ ZORAN
+HABAJEC LJUBICA
+HABEK ŽELJKO
+HABENŠUS MILENKO
+HABENŠUS MILENKO
+HABIJAN FRANJA
+HABIJAN VESNA
+HABIJANEC TIHOMIR
+HABOR JAN
+HABRAM ARANKA
+HABRAM KAROLJ
+HABUDA JOSIP
+HABUDA VALENTIN
+HACOPULOS ĐORĐE
+HACOPULOS NADA
+HADŽI ALEKSANDAR
+HADŽI KOSTA ADVOKAT
+HADŽI-MANOV LJUPČO
+HADŽI-PAVLOVIĆ OLGA
+HADŽI RAMADAN
+HADŽIĆ BOSILJKA
+HADŽIĆ GORANKA
+HADŽIĆ IBRAHIM
+HADŽIĆ ISMET
+HADŽIĆ LAZAR
+HADŽIĆ LAZAR
+HADŽIĆ MILAN DR
+HADŽIĆ MILEVA
+HADŽIĆ MONIKA
+HADŽIĆ MUHAREM
+HADŽIĆ NADA
+HADŽIĆ OLGA DR
+HADŽIĆ PAVLE
+HADŽIĆ RADIVOJ
+HADŽIĆ SLAVUJ
+HADŽIĆ VLADIMIR
+HADŽIAHMETOVIĆ RASIM
+HADŽIARSIĆ DOBRIVOJE
+HADŽIBABIĆ DRAGAN
+HADŽIBABIĆ RADOMIR
+HADŽIBABIĆ RADOMIR
+HADŽIBABIĆ ZORICA
+HADŽIHASANOVIĆ RADMILA
+HADŽIVUKOVIĆ STEVAN DR PROF
+HADŽOVIĆ JELISAVETA
+HADŽOVIĆ RATKO
+HADADI SMILJA
+HADIK ADRIEN
+HADIK JOŽEF
+HADNAĐ GIZELA
+HADNAĐ TEREZA
+HADNAĐ VERA
+HADNAĐ VERONIKA
+HADNAĐEV ARSEN
+HADNAĐEV DUŠAN DR
+HADNAĐEV DUŠAN
+HADNAĐEV ISIDOR
+HADNAĐEV MIODRAG
+HADNAĐEV MIRKO
+HADNAĐEV STANISLAV
+HADNAĐEV STEVAN
+HADNAĐEV STOJAN
+HAIN BRANISLAV
+HAIN ZORICA
+HAJČUNK JOŽEF
+HAJČUNK MIRKO
+HAJAŠ JELISAVETA
+HAJDAREVIĆ ORHAN
+HAJDARPAŠIĆ ESAD
+HAJDER ĐORĐE
+HAJDER DRAGAN
+HAJDER LUKA
+HAJDER MARICA
+HAJDER MARKO
+HAJDER MILOŠ
+HAJDER RADE
+HAJDER RAJKO
+HAJDER STOJANKA
+HAJDER VESNA
+HAJDER ZORAN
+HAJDIĆ ANĐELKO
+HAJDIN BOGDAN
+HAJDIN SLAVKO
+HAJDU ANA
+HAJDU ANDRIJA
+HAJDU ANTAL
+HAJDU FERENC
+HAJDU-GRAJLAH EMA
+HAJDU ILONKA
+HAJDU IRENA
+HAJDU JOŽEF
+HAJDU JOLIKA
+HAJDU JOSIP
+HAJDU KATICA
+HAJDU KLARA
+HAJDU LAJOŠ
+HAJDU LASLO
+HAJDU LJUDEVIT
+HAJDU MARIJA
+HAJDU OTO
+HAJDU PAVLE
+HAJDU STEVAN
+HAJDUK ĐORĐE
+HAJDUK IRINA
+HAJDUK JANKO
+HAJDUKOVIĆ ARSEN
+HAJDUKOVIĆ BOŠKO
+HAJDUKOVIĆ BOGDAN
+HAJDUKOVIĆ DESANKA
+HAJDUKOVIĆ DUŠAN
+HAJDUKOVIĆ JOVANKA
+HAJDUKOVIĆ LJILJANA
+HAJDUKOVIĆ MILANKA
+HAJDUKOVIĆ MILAN
+HAJDUKOVIĆ NADEŽDA
+HAJDUKOVIĆ OTO
+HAJDUKOVIĆ RADOSLAV DIPL ING
+HAJDUKOVIĆ SMILJA
+HAJNAL ANTAL
+HAJNAL GABRIJELA
+HAJNAL IVAN
+HAJNAL LASLO
+HAJNAL LJUBICA
+HAJNAL MARIJA
+HAJNAL NIKOLA
+HAJNC ĐORĐE
+HAJNC JOSIP
+HAJNC JOVAN
+HAJNC ZLATA
+HAJTFOGEL VLADA
+HAJTFOGEL VLADISLAV
+HAJTL IVAN
+HAJVAZ RAJKO
+HAJZLER ĐORĐE
+HAJZLER DUŠAN
+HAJZLER JOVAN
+HAKAČ MATIJA
+HAKER IVAN
+HAKER TEREZA
+HALAŠ ZUZANA
+HALAŠI ĐORĐE
+HALAŠI ETELKA
+HALAŠI-KIŠ FRANKA
+HALAŠI RUŽA DR ING
+HALAI IMRE
+HALAI MARIJA
+HALAI PETAR
+HALAI SABOLČ
+HALAPI DRAGICA
+HALAPI IRENA
+HALAPI IVAN
+HALAS ŠANDOR
+HALAS FRANJA
+HALAS MARIJA
+HALAVANJA ŽELJKO
+HALAVANJA LJUBAN
+HALAVANJA MILAN
+HALAVANJA RADE
+HALAVANJA STEVA
+HALER STEVAN
+HALILOVIĆ MUHAREM
+HALIM SEFER
+HALUPKA JOŽEF DR
+HAM ALEKSANDAR
+HAMU MIHALJ
+HAMZIĆ MILENA
+HAN SOFIJA
+HANCKO JOŽEF DR
+HANCKO JOŽEF DR
+HANDA KATICA
+HANG MATEJ
+HANG VLATKO
+HANGA ANTUN
+HANGA ANTUN
+HANGA MARIJA
+HANGOVSKI ANDRIJA
+HANSKO JOSIP
+HANSKO STEVAN
+HANUŠIĆ SEAD
+HARAČIĆ DŽEMAL
+HARAČIĆ LJUBICA
+HARAK PAVLE
+HARAMBAŠIĆ BOŽANA
+HARAMIJA MARIJA
+HARANGOZO ŠANDOR
+HARANGOZO ŠANDOR
+HARANGOZO ŠARIKA
+HARANGOZO BALINT
+HARANGOZO BOŠKO
+HARANGOZO ERŽEBET
+HARANGOZO ERŽEBET
+HARANGOZO IŠTVAN
+HARANGOZO IMRE
+HARANGOZO-JEGRIŠKI MARIJA
+HARANGOZO KAROLJ
+HARANGOZO-TORI ŽUŽANA
+HARANGOZO-TORI ĐURA
+HARANGOZO-TORI BOŽIDAR
+HARANGOZO-TORI IRINA
+HARANGOZO-TORI IVAN
+HARANGOZO-TORI JOAKIM
+HARANGOZO-TORI JOVAN
+HARANGOZO-TORI JOVAN
+HARANGOZO-TORI LJUBICA
+HARANGOZO-TORI NESTOR
+HARANGOZO-TORI NIKOLA
+HARANGOZO-TORI SILVESTER
+HARANGOZO-TORI STOJANKA
+HARANGOZO-TORI VESNA
+HARANGOZO-TORI VLADIMIR
+HARANGOZO-TORI VLADIMIR
+HARFMAN MARA
+HARHAI ŽELJKO
+HARHAI BOŽANA
+HARHAI JANKO
+HARHAJI HELENA
+HARHAJI JANKO
+HARHAJI JOAKIM
+HARHAJI JOAKIM
+HARHAJI LJUBOMIR
+HARHAJI LJUBOMIR
+HARHAJI MIRON
+HARHAJI NIKOLA
+HARHAJI VLADIMIR
+HARHAJI VLADIMIR
+HARIŠ JELISAVETA
+HARIŠ JELISAVETA
+HARIŠ LJUBIVOJE
+HARIŠ PIROŠKA
+HARIJAN ŠTEFICA
+HARKAI STEVAN
+HARMAT KONRAD
+HARPANJ MIHAL
+HART MARGITA
+HARTIG IRENA
+HARTIG TIBOR
+HARTMAN KATARINA
+HARTMAN VESNA
+HAS ALEKSANDAR
+HAS KARLO
+HAS MARTA
+HAS MILICA
+HASANAGIĆ ESNAF
+HASANAGIĆ MILAN
+HASENAUER JOSIP
+HASIĆ DŽEMAL
+HATALA MATE
+HATALA ZOLTAN
+HAUG ANICA
+HAUK ROBERT
+HAUPTMAN SLAVKO
+HAURDIĆ RABIJA
+HAUSER HILDA
+HAUZER OSKAR
+HAUZLOHNER IRENA
+HAVJAR VELIZAR
+HAVLEK FRANJA
+HAVLEK JOSIP
+HAVRAN ZLATKO
+HAVZI ŠERIF
+HAVZI LIMAN
+HEĐEŠ JANOŠ
+HEĐELAI STEVAN
+HEĐI ALEKSANDAR
+HEĐI MILICA
+HEDEŠ JANOŠ
+HEGEDIŠ ĐERĐ
+HEGEDIŠ BELA
+HEGEDIŠ BERTA
+HEGEDIŠ GEZA
+HEGEDIŠ IŠTVAN
+HEGEDIŠ JOŽEF
+HEGEDIŠ JOHANA
+HEGEDIŠ JOZEFINA
+HEGEDIŠ TEREZIJA
+HEGEDIŠ ZOLTAN
+HEGEDUŠ KAROLINA
+HEIM MAGDA
+HEKIĆ SLAVICA
+HELER GABRIJEL
+HELER INGRID
+HEM JANOŠ
+HEMI ANICA
+HEMI VLADISLAV
+HEMON BORIS
+HEMON MARIJA
+HEMON SLAVICA
+HEMON TEREZIJA
+HEMON VLADIMIR
+HEMON VLADIMIR
+HEMRIH KLARA
+HEMUN MIHAJLO
+HEN ŽELJKO
+HEN IVICA
+HEN MARIJA
+HENGL DAMJAN
+HENGL JOVAN
+HENGL RIHARD
+HENIŠ VILMA
+HENKEL FILIP
+HEP MAKSIM
+HERČIK ROBERT
+HERAK IVAN
+HERAK STANISLAV
+HERAKOVIĆ ALEKSANDAR
+HERAKOVIĆ BRANISLAV
+HERAKOVIĆ SLOBODAN
+HERBEZ MILENKO
+HERBST ANTUN
+HERBUT ĐORĐE
+HERBUT GABOR
+HERBUT JOŽEF
+HERBUT KAROLJ
+HERBUT KIRIL
+HERBUT MIHAJLO
+HERBUT SILVESTER
+HERCEG ĐORĐE
+HERCEG DRAGOSLAV
+HERCEG KARLO
+HERCENBERGER ĐULA
+HERCENBERGER ALEKSANDAR
+HERCENBERGER ALEKSANDAR
+HERCENBERGER GIZELA
+HERCENBERGER IREN
+HERCOG ĐORĐE
+HERDI JOSIP
+HERDI LJILJANA
+HERDI-STOJANOVIĆ ANGELINA
+HERENČIĆ LEOPOLD
+HERENDIJA ĐORĐE
+HERENDIJA MARKO
+HERETA SLOBODAN
+HERGET KATICA
+HERIĆ MIHOVIL
+HERING AMALIJA
+HERING IVAN
+HERMAN ČILA
+HERMAN ANĐA
+HERMAN IVAN
+HERMAN KARLO
+HERMAN VILIM
+HEROR LAZAR
+HERPKA DUBRAVKA
+HERPKA IVAN DR ING
+HERTL JOŽEF
+HERTL NADA
+HES ŠANDOR
+HES LASLO
+HESKO VIKTORIJA
+HEVER MARGITA
+HEVER PAVLE
+HEVERA MIHAJLO
+HEVERA ZUZANA
+HEVIZI ILONA
+HEVIZI PETAR
+HIĆIL ALEKSANDAR
+HIĆIL JOSIP
+HIĆIL KATARINA
+HIŽA JOVAN
+HIŽA MIŠA
+HIBŠ MARIJA
+HIBŠ RIHARD SUDIJA
+HIBŠ TANKRED
+HIEL KSENIJA
+HIL JOSIP
+HIL VERA
+HILIER-KOLAROV VALERIJA DR
+HILIER LAJOŠ DIPL ING
+HINIĆ ĐORĐE
+HINIĆ BRANKO
+HINIĆ MANE
+HINIĆ MILICA
+HINIĆ PREDRAG
+HIPIK ŠTEFANA
+HIPIK JOVAN
+HIPIK KARLO
+HIRŠ STJEPAN
+HIRŠENBERGER MARTA
+HIRŠENBERGER STEVAN DIPL ING
+HIRŠMAN ANTUN
+HIRJOVATI LJUBICA
+HIRJOVATIJ MIRON
+HIRMAN FRANJA
+HIRMAN ZOLTAN
+HITENBERGER ĐORĐE
+HITI FRANC
+HITL ELIZABETA
+HITL STEVAN
+HLAĐIK ZVONKO
+HLADNI IVAN
+HLADNI SLAVKO
+HLAPEC STJEPAN
+HLAVSA SLAVICA
+HLEBEC NORBERT
+HLOŽAN JOVAN
+HMILJ ILIJA
+HNATKO MIŠKO
+HOČKO AJET
+HOŠEK ČABA
+HOŠEK FRANJA
+HOBRAT MARTA
+HODŽA RAMADAN
+HODŽIĆ HALID
+HODŽIĆ OMER
+HODŽIĆ STAZA
+HODA MEJREM
+HODAK MILE
+HODAK SILVESTAR
+HODAK SOFIJA
+HODAK VERA
+HODAK VLADISLAV
+HODAR JOSIP
+HODI ERNE
+HODI ERNE
+HODI FERENC
+HODI VILMA
+HODIK BARBARA
+HODINKA MIHAILO
+HODNIK ALOJZ
+HODOBA DANIJELA
+HODOLIČ JANKO
+HODOLIĆ JAROSLAV
+HOFMAN ALEKSANDAR
+HOFMAN ARTUR
+HOFMAN BRUNO
+HOFMAN FRANJA
+HOFMAN LADISLAV
+HOFMAN MARIJA
+HOFMAN VESNA
+HOHNJEC DARKO
+HOHNJEC PETAR
+HOHNJEC VLADIMIR
+HOLCER LADISLAV
+HOLERBAH KATICA
+HOLI ANDRIJA MR PH
+HOLI KATARINA
+HOLIČEK LASLO
+HOLIČEK MARGIT
+HOLIČEK STEVAN
+HOLIGA KARLO
+HOLIGA SNEŽANA
+HOLIGA STEVAN
+HOLIK JANKO
+HOLIK JOAKIM
+HOLO LEONTINA
+HOLO VILMOŠ DIPL ING
+HOLOD STEVAN
+HOLODKOV VLADIMIR
+HOLOT RUŽA
+HOLOVKA ANKA
+HOLOVKA BRANKA
+HOLOVKA NATALIJA
+HOLPERT ERNEST
+HOLPERT LUJO
+HOMA ANA
+HOMA BOSILJKA
+HOMA EUGEN
+HOMA JANKO
+HOMA JOVGEN
+HOMA MIROSLAV
+HOMA NIKOLA
+HOMA PETAR DIPL ING
+HOMA VLADIMIR
+HOMA VLADIMIR
+HOMA VUKICA
+HOMOLJA JOŽEF
+HOR BOŽICA
+HOR ILIJA
+HOR PAVLE
+HORAK MIHAJLO
+HORAK NANDOR
+HORGAS IŠTVAN
+HORGAS MATILDA
+HORGOŠI ĐULA
+HORGOŠI KATARINA
+HORIĆ JELISAVETA
+HORIĆ KOSIM
+HORN VALENTIN
+HORNJAK ŽIVA
+HORNJAK ĐURO
+HORNJAK DIMITRIJE
+HORNJAK DIMITRIJE
+HORNJAK IVAN
+HORNJAK JANOŠ
+HORNJAK JAN
+HORNJAK MAGDALENA
+HORNJAK MIŠA
+HORNJAK MIRKO
+HORNJAK OLGA
+HORNJAK PETAR
+HORNJAK-PUŠKAŠOVA MARIJA
+HORNJAK SOFRONA
+HORNJAK STEVAN
+HORNJAK VLADA
+HORNJAK VLADA
+HORNJAK VLADIMIR
+HORNJIK ŠANDOR
+HORNJIK ĐERĐ
+HORNJIK ĐERĐ
+HORNJIK ZOLTAN
+HORNOK ZOLTAN
+HORNUNG-ŠOMAN ŠTEFANIJA
+HOROŠILOV SOFIJA
+HOROŠKO ALEKSANDAR
+HOROŠKO STEFAN DR
+HOROVIC DRAGINJA
+HOROVIC VLADIMIR
+HORTI DRAGANA
+HORTI GEZA
+HORTI JOSIP
+HORTI VLADISLAV
+HORVACKI MARKO
+HORVACKI SNEŽANA
+HORVAT ŠANDOR
+HORVAT ŠANDOR
+HORVAT ŽOLT
+HORVAT ĐULA
+HORVAT ĐURA
+HORVAT AGI
+HORVAT ALEKSANDAR
+HORVAT ALEKSANDAR
+HORVAT ANDRAŠ
+HORVAT ANDRIJA
+HORVAT ANKA
+HORVAT ANTAL
+HORVAT ARPAD
+HORVAT BELA
+HORVAT BISERKA
+HORVAT DEŽE
+HORVAT DIMITRIJE
+HORVAT EDIT
+HORVAT ELIZABETA
+HORVAT ERŽEBET
+HORVAT ERIKA
+HORVAT ESTER
+HORVAT FERENC
+HORVAT FERENC
+HORVAT FERENC
+HORVAT FERENC
+HORVAT FRANJA
+HORVAT FRANJA
+HORVAT FRANJO
+HORVAT GABOR
+HORVAT GIZELA
+HORVAT GROZDANA
+HORVAT IŠTVAN
+HORVAT IGOR
+HORVAT IGOR
+HORVAT ILONKA
+HORVAT IMRE
+HORVAT IMRE
+HORVAT IMRE
+HORVAT IRENA
+HORVAT IRENKA
+HORVAT IVANKA
+HORVAT IVAN
+HORVAT JANOŠ DIPL ING
+HORVAT JANOŠ
+HORVAT JELENA
+HORVAT JOŽEF
+HORVAT JOŽEF
+HORVAT JOŽEF
+HORVAT JOSIP
+HORVAT JOSIP
+HORVAT JOSIP
+HORVAT JOSIP
+HORVAT JOSIP
+HORVAT JOVAN
+HORVAT KALMAN
+HORVAT KARLO
+HORVAT KARLO
+HORVAT KARLO
+HORVAT KAROLJ
+HORVAT KATALIN
+HORVAT KATARINA
+HORVAT KATICA
+HORVAT KATICA
+HORVAT LAJOŠ
+HORVAT LASLO
+HORVAT LASLO
+HORVAT LASLO
+HORVAT LASLO
+HORVAT LASLO
+HORVAT LASLO
+HORVAT LUDVIG
+HORVAT MARIJA
+HORVAT MARIJA
+HORVAT MARIJA
+HORVAT MARIJA
+HORVAT MARIJA
+HORVAT MARIJA
+HORVAT MARIJA
+HORVAT MARIJA
+HORVAT MATO
+HORVAT MIHALJ
+HORVAT-MILITIČI KAROLJ DR
+HORVAT MILKA
+HORVAT MILKA
+HORVAT MILOSLAV
+HORVAT MIRKO
+HORVAT PAJA
+HORVAT PAVLE
+HORVAT PETAR
+HORVAT RADMILA
+HORVAT ROŽA
+HORVAT ROZALIJA
+HORVAT RUŽA
+HORVAT RUDOLF
+HORVAT SAMUEL
+HORVAT SILVESTER
+HORVAT SLAVKO
+HORVAT SMILJA
+HORVAT STEVAN
+HORVAT TAMAŠ
+HORVAT TEREZA
+HORVAT TEREZA
+HORVAT TIBOR
+HORVAT TIBOR
+HORVAT TIBOR
+HORVAT TIBOR
+HORVAT VALERIJA
+HORVAT VERICA
+HORVAT VERONIKA
+HORVAT VERONIKA
+HORVAT VLADIMIR
+HORVAT ZOLTAN
+HORVAT ZOLTAN
+HORVATIĆ MARIJAN
+HORVATIĆ OLGA
+HORVATIĆ SLAVKO
+HORVATIĆ ZVONIMIR
+HORVATOV RASTKO
+HORVATOVIĆ ĐORĐE
+HORVATOVIĆ KATICA
+HORVATOVIĆ MIRJANA
+HORVATOVIĆ PAVLE DR
+HORVATSKI DUŠAN
+HORVATSKI LJUBICA
+HORVATSKI LJUBICA
+HORVATSKI MILENKO
+HORVATSKI MIROSLAV
+HORVATSKI RADIVOJ
+HORVATSKI RUŽICA
+HOSTIĆ BISERKA
+HOSTNIK KATICA
+HOSTONSKI STANA
+HOT ADEM
+HOUF ELVIRA
+HOVAN MARTIN
+HOVAN MIROSLAV
+HOVANEC VIKTORIJA
+HRĆAN JOVAN
+HRĆAN JOVAN
+HRABAR IVO
+HRABOVSKI ANTON
+HRABOVSKI ANTON
+HRABOVSKI BOJANA DR
+HRABOVSKI EDGAR DIPL OEC
+HRABOVSKI IMRE
+HRABOVSKI LADISLAV
+HRABRIĆ EUGEN
+HRADEČNI BELA
+HRADEČNI FRANJA
+HRADEČNI JOSIP
+HRANIČAK MIRKO
+HRANISAVLJEVIĆ PAVLE
+HRAPOVIĆ OSMAN
+HRDLIČKA DESANKA
+HREŠČAK VLADIMIR
+HRENAR LAURA
+HRGIĆ LJUBOMIR
+HRGIĆ MILAN
+HRGIĆ VLASTIMIR
+HRIČANEK MIROSLAV
+HRIČANEK NEDELJKA
+HRIBLJAN ANTON
+HRIBOVŠEK FRANC
+HRICKANIĆ LUKA
+HRIEŠIK MARIJA
+HRIJEŠIK JAN
+HRIJEŠIK JURAJ
+HRISTIĆ BLAGOJE
+HRISTIĆ DIMITRIJE
+HRISTIĆ LEPOSAVA
+HRISTIĆ LJUBICA
+HRISTIDIS APOSTOL
+HRISTIDIS NIKOLA
+HRISTIDIS NIKOLA
+HRISTOV BRANKO
+HRISTOV MILOSIJA
+HRISTOV VESNA
+HRISTOV ZAGORKA
+HRISTOVA EMILIJA
+HRISTOVSKI TOMA
+HRISTU TIHOMIR
+HRKALOVIĆ BOŠKO
+HRNČAR SAMUEL
+HRNČIĆ MARGITA
+HRNČIĆ MIHAD
+HRNČIĆ VAHID
+HRNČIAR ANA
+HRNČIAR JANKO
+HRNČIAROVA TEREZIA
+HRNČJAR ANDREJ
+HRNČJAR VLADIMIR
+HRNJAČKI ŽARKO
+HRNJAČKI ĐORĐE
+HRNJAČKI JELICA
+HRNJAČKI JOVAN
+HRNJAČKI LAZICA
+HRNJAČKI MILKA
+HRNJAČKI MLADEN
+HRNJAK DANE
+HRNJAK DRAGAN
+HRNJAK DUŠAN
+HRNJAK LJILJANA
+HRNJAK MARIJA
+HRNJAK RAJKO
+HRNJAK VELJKO
+HRNJAKOVIĆ BRANISLAV
+HRNJAKOVIĆ IVANA
+HRNJAKOVIĆ JOVAN
+HRNJAKOVIĆ MIRKO
+HRNJEZ OBRAD
+HROMIŠ AMALIJA
+HROMIŠ ANA
+HROMIŠ BARBARA
+HROMIŠ BORISLAV
+HROMIŠ JOAKIM
+HROMIŠ JOAKIM
+HROMIŠ KATICA
+HROMIŠ MARIJA
+HROMIŠ MELANIJA
+HROMIŠ MIHAJLO DIPL ING
+HROMIŠ MIROSLAV
+HROMIŠ MIROSLAV
+HROMIŠ NADA
+HROMIŠ NIKOLA
+HROMIŠ PETAR
+HROMIŠ SIMA
+HROMIŠ VLADIMIR
+HROMIŠ ZDENKA
+HRONJEC VIĆAZOSLAV
+HRSTO SLAVKO
+HRUBENJA ĐURA
+HRUBENJA FEBRONA
+HRUBENJA JANKO
+HRUBENJA JOAKIM
+HRUBENJA JOAKIM
+HRUBENJA JOAKIM
+HRUBENJA KARLO
+HRUBENJA MIHAJLO
+HRUBENJA MIROSLAV
+HRUBENJA PETAR
+HRUBENJA ZVONIMIR
+HRUBIK ANDREJ
+HRUBIK JOVAN
+HRUBIK KARLO
+HRUBIK MIRKO
+HRUBIK OSKAR DR LEKAR
+HRUBIK ROZALIJA
+HRUSTANOVIĆ TURSUN
+HRUSTIĆ EMIN
+HRUSTIĆ ENVER
+HRUSTIĆ ZIJAH
+HRUSTIĆ ZILHA
+HUČIĆ STJEPAN
+HUČKA JOVAN
+HUŽVAR ŠANDOR
+HUĐEC JOVANKA
+HUĐEC KARLO
+HUBAI GABOR
+HUBANIĆ MILENA
+HUBER BOJANA
+HUBER DRAGAN
+HUBER ELZA
+HUBER JOVAN DIPL ING
+HUBER MAGDALENA
+HUBER MARIJA
+HUBER MATILDA
+HUBER PETAR
+HUBER TIBOR
+HUBERT EVA
+HUBERT RADMILA
+HUBERT VERA
+HUBIJAR ENES
+HUBIJAR NADA
+HUDAK IRINEJ
+HUDAK NATALIJA
+HUDOMEL IVAN
+HUJDUR BRANKA
+HUMSKI ROSA
+HUNJADI ALEKSANDAR
+HUNJADI ILONKA
+HUNJADI OLGA
+HUPERT LAJOŠ
+HUPIK MIRJANA
+HUS IMRE
+HUSAG ARPAD
+HUSAGIĆ ESAD
+HUSAGIĆ SULEJMAN
+HUSAGIĆ ZINETA
+HUSAK RADOVAN
+HUSAR EVA
+HUSAR IŠTVAN
+HUSAR JANKO
+HUSAR LASLO
+HUSAR TODOR
+HUSEIN MEHMED
+HUSEINBEGOVIĆ NAMIK
+HUSEINOVIĆ ANICA
+HUSEINOVIĆ ATILA
+HUSEINOVIĆ ATILA
+HUSEINOVIĆ ESMERALDA
+HUSEINOVIĆ ISMET
+HUSENBEGOVIĆ ROZALIJA
+HUSIĆ ĐURĐINKA
+HUSIĆ LADISLAV
+HUSKA ILONA
+HUSKA-ROKA MAGDA DR
+HUSKO MIJO
+HUSOVIĆ HUSO
+HUTALAROVIĆ JELENA
+HUTALAROVIĆ KOSTA
+HUZJAN TIHOMIR
+HVALA MIRA
+HVETKOVIĆ JELISAVETA
+IČAGIĆ NIKOLA
+IČEVIĆ MOMČILO
+IČIN ŽIVKO
+IČIN MILENKO
+IČIN RADISLAV
+IČIN SRETEN
+IŠIĆ ELIZABETA
+IŠPAN ŠANDOR
+IŠPAN MARGITA
+IŠPANOVIĆ JOŽEF
+IŠTOK JOSIP
+IŠTOK JOSIP
+IŠTOK MIRJANA
+IŠTOK STEVAN
+IŠTOKOVIĆ STEVO
+IŠTVANOV STANISLAVA
+IĆITOVIĆ MILAN
+IĆURUP ŽIVOJIN
+IĆURUP MILORAD
+IĆURUP RADOSLAV DIPL ING
+IŽAK FERENC
+IŽAK KARLO
+IŽAK ROZALIJA
+IĐIDOV OLGA
+IĐIDOV VELINKA
+IĐOŠKI HORST
+IĐOŠKI NIKOLA
+IĐUŠKI STEVAN
+IBRAHIM DEMIR
+IBRAHIMAGIĆ NADA
+IBRAHIMI IBRAHIM
+IBRAHIMOVIĆ DERVIŠA
+IBRAHIMOVIĆ EMIL
+IBRAHIMOVIĆ HAMDIJA
+IBRAHIMOVIĆ MILAN
+IBRAHIMOVIĆ SLAVKO
+IBRAHIMOVIĆ VERA
+IBRAHIMPAŠIĆ ANA
+IBRAJTER IVAN
+IBRAJTER LJUBOMIR
+IBRAJTER MLADEN
+IBRIŠEVIĆ ĐULAGA
+IBRIŠEVIĆ MIRSAD
+IBRIŠEVIĆ SUAD
+IBROČIĆ DIMITRIJE DIPL ING
+IBROČIĆ MARIJA
+IBROČIĆ RATOMIR
+IBROČIĆ SLOBODAN
+IBROČIĆ VERA
+IBROLI BAN
+ICOSKI LAZAR
+IDEI NANDOR
+IDEJI JOVAN
+IDEJI VALERIJA
+IDRIZOVIĆ AHMET DR
+IDVOREAN TODOR
+IDVOREAN VIKENTIJE
+IFJU ANGELIKA
+IFJU GABOR
+IFKO ILDIKO DIPL ING
+IGIĆ ŽIVADIN
+IGIĆ ĐULVASIJA
+IGIĆ ANKA
+IGIĆ DRAGAN
+IGIĆ JOVANKA
+IGIĆ MILKA
+IGIĆ MILORAD
+IGIĆ MIROSLAVA
+IGIĆ MIROSLAV
+IGIĆ NIKOLA
+IGIĆ PAVLE
+IGIĆ RAJKO
+IGIĆ SAŠA
+IGIĆ STEVAN
+IGIĆ STEVAN
+IGIĆ SVETOZAR
+IGIĆ TOMISLAV
+IGIĆ VUKA
+IGNAC PERA
+IGNJAC VIDA
+IGNJATIĆ ANKA
+IGNJATIĆ BORIVOJ
+IGNJATIĆ DUŠANKA
+IGNJATIĆ GOJKO
+IGNJATIĆ NEVENKA
+IGNJATIĆ RADOVAN
+IGNJATIĆ VID
+IGNJATIJEVIĆ ALEKSANDAR
+IGNJATIJEVIĆ BRANISLAV
+IGNJATIJEVIĆ DOBRILA
+IGNJATIJEVIĆ DRAGOMIR
+IGNJATIJEVIĆ DUŠAN
+IGNJATIJEVIĆ DUŠAN
+IGNJATIJEVIĆ JOVAN
+IGNJATIJEVIĆ LJILJANA
+IGNJATIJEVIĆ LJILJANA
+IGNJATIJEVIĆ LJUBOMIR
+IGNJATIJEVIĆ MARA
+IGNJATIJEVIĆ MILAN
+IGNJATIJEVIĆ MILENA
+IGNJATIJEVIĆ MIROSLAV
+IGNJATIJEVIĆ MITA
+IGNJATIJEVIĆ NOVAK
+IGNJATIJEVIĆ RADAŠIN
+IGNJATIJEVIĆ RADOVAN
+IGNJATIJEVIĆ SVETISLAV
+IGNJATIJEVIĆ SVETOZAR
+IGNJATIJEVIĆ TOMISLAV
+IGNJATIJEVIĆ TOMISLAV
+IGNJATIJEVIĆ VOJISLAV
+IGNJATIJEVIĆ ZORAN
+IGNJATOV-RADOVANOVIĆ MILENA PROF
+IGNJATOVIĆ ŽIVKO
+IGNJATOVIĆ ŽIVORAD
+IGNJATOVIĆ ANGELA
+IGNJATOVIĆ ANKA
+IGNJATOVIĆ DANILO
+IGNJATOVIĆ GORDANA
+IGNJATOVIĆ KOSARA
+IGNJATOVIĆ LJUBIŠA
+IGNJATOVIĆ MARICA
+IGNJATOVIĆ MILAN
+IGNJATOVIĆ MILE
+IGNJATOVIĆ MILKA
+IGNJATOVIĆ MILOŠ DR PRAVNIK
+IGNJATOVIĆ MILOŠ
+IGNJATOVIĆ MILORAD
+IGNJATOVIĆ MILUTIN
+IGNJATOVIĆ MIRJANA
+IGNJATOVIĆ SAVA
+IGNJATOVIĆ SLOBODAN
+IGNJATOVIĆ VERA
+IGNJATOVIĆ VERA
+IGNJATOVIĆ VIDAK
+IGNJATOVIĆ VLADIMIR
+IGNJATOVIĆ VOJISLAV
+IGNJATOVIĆ VUČKO
+IGNJATOVSKI EFREM
+IGNJIĆ BRANKO
+IGNJIĆ JOVAN
+IGNJIĆ STOJAN
+IGNJIĆ ZIZA
+IGNJIĆ ZORAN
+IGNJOVIĆ MARIJA
+IGRAČKI ĐORĐE
+IGRAČKI ETELA
+IGRAČKI JULIN
+IGRAČKI KARLO
+IGRAČKI LASLO
+IGRIĆ NADA
+IGRIĆ STOJANKA
+IGRUTINOVIĆ SLOBODAN
+IHAS ILONA
+IJAČIĆ BRANKO
+IJAČIĆ MAKSIM
+IJEVLJEV FEODOR
+IKANOVIĆ DUŠAN
+IKANOVIĆ IVAN
+IKANOVIĆ JELENA
+IKANOVIĆ NIKOLA
+IKELJIĆ IRFAN
+IKIĆ DEJAN
+IKIĆ JOVAN
+IKIĆ MLADEN
+IKIĆ MLADEN
+IKIĆ SMILJANA
+IKODINOVIĆ DUŠAN
+IKONIĆ ĐURA
+IKONOV DEJAN
+IKOTIN JANOŠ
+IKOTIN JOVANKA
+IKOTIN MATIJA
+IKOTIN PAL
+IKOTIN PETAR
+IKOVAC BOŠKO
+IKOVAC STEVAN
+IKOVIĆ DRAGUTIN
+IKOVIĆ MILOŠ
+IKOVIĆ MILOSAV
+IKOVIĆ VELINKA
+IKRAŠEV JELICA
+IKRAŠEV JOVAN
+IL ALEKSANDAR
+IL JELICA
+ILČIK MARIJA
+ILEŠ FRANCIŠKA
+ILEŠ IMRE
+ILEŠ IRENA
+ILEŠ MIHAILO
+ILEŠ MILAN
+ILEŠ MIROSLAV
+ILIČIĆ ANTUN
+ILIČIĆ IVAN
+ILIČIĆ LJUBICA
+ILIČIĆ MIHAJLO
+ILIČIĆ PETAR
+ILIČIĆ-POPIĆ OLJA
+ILIĆ ČEDOMIR
+ILIĆ ČEDO
+ILIĆ ŠIMUN
+ILIĆ ŽELJKO
+ILIĆ ŽIVKO
+ILIĆ ŽIVKO
+ILIĆ ŽIVKO
+ILIĆ ŽIVOMIR
+ILIĆ ŽIVOMIR
+ILIĆ ŽIVOMIR
+ILIĆ ŽIVORAD
+ILIĆ ŽIVORAD
+ILIĆ ĐORĐE
+ILIĆ ĐORĐE
+ILIĆ ĐORĐE
+ILIĆ ALEKSA DR
+ILIĆ ALEKSANDAR
+ILIĆ ALEKSANDAR
+ILIĆ ALEKSANDAR
+ILIĆ ALEKSANDAR
+ILIĆ ANICA
+ILIĆ ANKICA
+ILIĆ ARSA
+ILIĆ ARSA
+ILIĆ BILJANA
+ILIĆ BLAGOJE
+ILIĆ BOŠKO
+ILIĆ BOŠKO
+ILIĆ BOŽIDAR
+ILIĆ BOBAN
+ILIĆ BOGDAN
+ILIĆ BOGOLJUB
+ILIĆ BORISLAVKA
+ILIĆ BORISLAV
+ILIĆ BORISLAV
+ILIĆ BORIVOJE
+ILIĆ BORKA
+ILIĆ BOSILJKA
+ILIĆ BRANISLAV
+ILIĆ BRANISLAV
+ILIĆ BRANISLAV
+ILIĆ BRANKO
+ILIĆ BRANKO
+ILIĆ BRANKO
+ILIĆ BRATISLAV
+ILIĆ BRATISLAV
+ILIĆ CECILIJA
+ILIĆ CVETA
+ILIĆ CVIJAN
+ILIĆ DANE
+ILIĆ DARINKA
+ILIĆ DEJAN
+ILIĆ DOBRIVOJE
+ILIĆ DOBROSAV
+ILIĆ DRAGAN
+ILIĆ DRAGAN
+ILIĆ DRAGAN
+ILIĆ DRAGICA
+ILIĆ DRAGOLJUB
+ILIĆ DRAGO
+ILIĆ DRAGUTIN
+ILIĆ DUŠANKA
+ILIĆ DUŠAN
+ILIĆ DUŠAN
+ILIĆ DUŠAN
+ILIĆ DUŠAN
+ILIĆ DUŠAN
+ILIĆ DUŠICA
+ILIĆ DUŠICA
+ILIĆ EDIT
+ILIĆ ERŽIKA
+ILIĆ GORAN
+ILIĆ GORAN
+ILIĆ-GREGOR MIRA
+ILIĆ ILIJA
+ILIĆ ILIJA
+ILIĆ ILIJA
+ILIĆ IRENA
+ILIĆ IVAN DR
+ILIĆ IVAN
+ILIĆ IVAN
+ILIĆ JELENA
+ILIĆ JELENA
+ILIĆ JELENKO
+ILIĆ JELISAVETA
+ILIĆ JELKA
+ILIĆ JOSIF
+ILIĆ JOVANKA
+ILIĆ JOVAN
+ILIĆ JOVAN
+ILIĆ JOVAN
+ILIĆ JOVAN
+ILIĆ JOVAN
+ILIĆ JOVICA
+ILIĆ KOVILJKA
+ILIĆ KRSTAN
+ILIĆ LAZAR
+ILIĆ LAZAR
+ILIĆ LAZAR
+ILIĆ LJUBIŠA
+ILIĆ LJUBIŠA
+ILIĆ LJUBICA
+ILIĆ LJUBICA
+ILIĆ LJUBICA
+ILIĆ LJUBINKO
+ILIĆ LJUBO
+ILIĆ MARA
+ILIĆ MARA
+ILIĆ MARIJA
+ILIĆ MARIJA
+ILIĆ MARIJA
+ILIĆ MARIJA
+ILIĆ MARINKO
+ILIĆ MARKO
+ILIĆ MIHAJLO
+ILIĆ MIHAJLO
+ILIĆ MILADIN
+ILIĆ MILAN
+ILIĆ MILAN
+ILIĆ MILAN
+ILIĆ MILAN
+ILIĆ MILAN
+ILIĆ MILAN
+ILIĆ MILAN
+ILIĆ MILAN
+ILIĆ MILAN
+ILIĆ MILA
+ILIĆ MILENA
+ILIĆ MILENA
+ILIĆ MILEN
+ILIĆ MILEVA
+ILIĆ MILE
+ILIĆ MILIĆ
+ILIĆ MILICA
+ILIĆ MILICA
+ILIĆ MILICA
+ILIĆ MILISAV
+ILIĆ MILIVOJE
+ILIĆ MILIVOJ
+ILIĆ MILIVOJ
+ILIĆ MILIVOJ
+ILIĆ MILOŠ
+ILIĆ MILOŠ
+ILIĆ MILOŠ
+ILIĆ MILOŠ
+ILIĆ MILORAD
+ILIĆ-MILUŠIĆ OLGA
+ILIĆ MILUŠKA
+ILIĆ MILUTIN
+ILIĆ MIODRAG DR
+ILIĆ MIODRAG
+ILIĆ MIODRAG
+ILIĆ MIODRAG
+ILIĆ MIRJANA
+ILIĆ MIRKO
+ILIĆ MIROSLAVA
+ILIĆ MIROSLAV
+ILIĆ MIROSLAV
+ILIĆ MITAR
+ILIĆ MOMČILO
+ILIĆ MOMČILO
+ILIĆ MOMČILO
+ILIĆ MOMČILO
+ILIĆ NADA
+ILIĆ NEĐO
+ILIĆ NEBOJŠA
+ILIĆ NEBOJŠA
+ILIĆ NENAD
+ILIĆ NEVENKA
+ILIĆ NIKOLA
+ILIĆ NIKOLA
+ILIĆ OBRAD
+ILIĆ OBREN
+ILIĆ OLGA
+ILIĆ OLGA
+ILIĆ OLIVERA
+ILIĆ OSTOJA
+ILIĆ PAVLE DIPL ING
+ILIĆ PAVLE
+ILIĆ PERO
+ILIĆ PETAR
+ILIĆ PETAR
+ILIĆ PETAR
+ILIĆ PETAR
+ILIĆ PETAR
+ILIĆ-PETROVIĆ SPOMENKA
+ILIĆ PREVISLAV
+ILIĆ RADE
+ILIĆ RADIVOJ
+ILIĆ RADOJKA
+ILIĆ RADOMIR
+ILIĆ RADOSLAV
+ILIĆ RADOSLAV
+ILIĆ RADOSLAV
+ILIĆ RADOVAN
+ILIĆ RADOVAN
+ILIĆ RADO
+ILIĆ RANKO
+ILIĆ RATKO
+ILIĆ RATKO
+ILIĆ RUŽA
+ILIĆ RUŽICA
+ILIĆ SAVA DR
+ILIĆ SAVA
+ILIĆ-SAVIĆ VOJISLAVA
+ILIĆ SIMO
+ILIĆ SINIŠA
+ILIĆ SLAVICA
+ILIĆ SLAVKO
+ILIĆ SLAVKO
+ILIĆ SLAVOLJUB
+ILIĆ SLOBODAN
+ILIĆ SLOBODAN
+ILIĆ SLOBODAN
+ILIĆ SLOBODAN
+ILIĆ SRĐAN
+ILIĆ SRĐAN
+ILIĆ SRĐAN
+ILIĆ SRETEN
+ILIĆ STANA
+ILIĆ STANIŠA
+ILIĆ STANIMIR
+ILIĆ STANIMIR
+ILIĆ STANKA
+ILIĆ STEVO
+ILIĆ STOJANČE
+ILIĆ STOJAN
+ILIĆ STOJAN
+ILIĆ SVETISLAV DR LEKAR
+ILIĆ SVETLANA
+ILIĆ SVETOZAR
+ILIĆ TATJANA
+ILIĆ TODE
+ILIĆ TODE
+ILIĆ TOMISLAV
+ILIĆ VASA
+ILIĆ VERA
+ILIĆ VIDOSAV
+ILIĆ VINKA
+ILIĆ VINKO
+ILIĆ VLADAN
+ILIĆ VLADAN
+ILIĆ VLADIMIR DR
+ILIĆ VLADIMIR
+ILIĆ VLADIMIR
+ILIĆ VLADIMIR
+ILIĆ VLADIMIR
+ILIĆ VLADIMIR
+ILIĆ VLATKA
+ILIĆ VOJISLAV
+ILIĆ VOJISLAV
+ILIĆ VOJISLAV
+ILIĆ VOJISLAV
+ILIĆ ZDRAVKO
+ILIĆ ZLATKO
+ILIĆ ZLATKO
+ILIĆ ZORAN
+ILIĆ ZORICA
+ILIBAŠIĆ DARINKA
+ILIBAŠIĆ NIKOLA
+ILIBAŠIĆ OSTOJA
+ILIBAŠIĆ STEVAN
+ILIBAŠIĆ STEVO
+ILIBAŠIĆ ZLATA
+ILIEVSKI ALEKSANDAR
+ILIJĆ SMILJA
+ILIJĆ SVETOLIK
+ILIJAŠEV SOFIJA
+ILIJAŠEVIĆ ALEKSANDAR
+ILIJAŠEVIĆ DARA
+ILIJAŠEVIĆ LJUBIŠA
+ILIJAŠEVIĆ SVETISLAV
+ILIJAZI ABDISAMI
+ILIJAZI DAUT
+ILIJAZI HAFIZA
+ILIJAZI JALČIN
+ILIJAZI ZAJNEL
+ILIJAZOVIĆ VEDŽRIJA
+ILIJEV IVAN
+ILIJEV IVAN
+ILIJEV LJUBEN
+ILIJEVIĆ DUŠAN DIPL ING
+ILIJEVIĆ NIKOLA
+ILIJEVIĆ RADE
+ILIJEVSKI ĆIRO
+ILIJEVSKI ĐORĐE
+ILIJEVSKI DANILO
+ILIJIN ŽARKO
+ILIJIN ŽIVAN
+ILIJIN DUŠAN
+ILIJIN JELENA
+ILIJIN JOVAN
+ILIJIN JOVAN
+ILIJIN MILAN
+ILIJIN MILIVOJ
+ILIJIN MILIVOJ
+ILIJIN MILOŠ
+ILIJIN MIRJANA
+ILIJIN STEVAN
+ILIJIN SVETOZAR
+ILIJIN TANASIJE
+ILIJIN UROŠ
+ILIJIN ZORKA
+ILIN ŽARKO
+ILIN ALEKSANDAR
+ILIN ANKICA
+ILIN BORISLAV
+ILIN BORKA
+ILIN DRAGINJA
+ILIN DRAGINJA
+ILIN DUŠAN
+ILIN DUŠAN
+ILIN IVAN
+ILIN LJUBINKO
+ILIN LJUBOMIR
+ILIN MILAN
+ILIN MILENKO
+ILIN MLADEN
+ILIN NEDELJKO
+ILIN NIKOLA
+ILIN RADE
+ILIN SNEŽANA
+ILIN SOFIJA
+ILIN TIMA
+ILIN ZORA
+ILINČIĆ MOMIR
+ILINČIĆ NEBOJŠA
+ILJAZI DŽAMILJ
+ILKIĆ JELA
+ILKIĆ MARICA
+ILKIĆ MILAN
+ILKIĆ MIRA
+ILKIĆ NADA
+ILKIĆ NEBOJŠA
+ILKIĆ NENAD
+ILKIĆ RADMILA
+ILKIĆ STEVICA
+ILKIĆ ZLATOJA
+ILKIN RADIVOJ
+ILOVAČA MARKO
+ILOVSKI ALEKSANDAR
+ILOVSKI ZLATA
+IMŠIROVIĆ KOLOMAN
+IMŠIROVIĆ MIROSLAV
+IMŠIROVIĆ SMAJIL
+IMAMOVIĆ JASMINA
+IMBRA ŽIVOJIN
+IMBRIŠIĆ BEHIJA
+IMBRIŠIĆ IVAN
+IMBRONJEV RAJKO
+IMBRONJEV RAJKO
+IMBRONJEV RAJKO
+IMBRONJEV SPASOJA
+IMBRONOVIĆ ĐORĐE
+IMBRONOVIĆ DUŠAN
+IMBRONOVIĆ JULKA
+IMREŠI IVAN
+INĐIĆ DRAGICA
+INĐIĆ DUŠAN
+INĐIĆ JELENA
+INĐIĆ JELICA
+INĐIĆ TEREZ
+INĐIĆ VOJIN
+INĐIN ŽIVKO
+INĐIN ĐURA
+INĐIN DUŠAN
+INĐIN VLADIMIR
+INIĆ BRANKO
+INIĆ DRAGAN
+INIĆ DUŠAN
+INIĆ JELENA
+INIĆ KRSTA
+INIĆ LJUBICA
+INIĆ MILAN DR
+INIĆ TINDA
+INIĆ VASO
+INJAC BOGDAN
+INJAC DRAGICA
+INJAC JOVAN
+INJAC LJUBICA
+INJAC MIRKO
+INJAC NIKOLA
+INJAC RADA
+INJAC RADE
+INJAC RADOMIR
+INJAC SLOBODAN
+INJAC VLADIMIR
+INOVAN DOBRIVOJE
+IPAČ KATALINA
+IPAČ KATICA
+IPIĆ ZORA
+IRŠAI IVAN
+IRŠAJI JOVAN
+IRŠAJI STEVA
+IRIĆ BOŽO
+IRIĆ GAŠPAR
+IRMEŠ MARIA
+IRMENJI JOŽEF
+IRMENJI JOSIP
+IRMENJI MARGIT
+ISAILOVIĆ LJUBIŠA
+ISAILOVIĆ MILANKA
+ISAILOVIĆ MIRKO
+ISAILOVIĆ VELISAV
+ISAJEV MARIJA
+ISAJEVIĆ LAZAR
+ISAJEVIĆ MILOŠ
+ISAJEVIĆ ZDRAVKO
+ISAJLOV JONEL
+ISAJLOV JONEL
+ISAJLOV JONEL
+ISAJLOVIĆ ALEKSANDAR
+ISAJLOVIĆ ALEKSANDAR
+ISAJLOVIĆ BRANKO
+ISAJLOVIĆ DUŠAN
+ISAJLOVIĆ FEDOR
+ISAK ILIJA
+ISAK STANKO
+ISAKOV ŽARKO
+ISAKOV ŽIVOJIN
+ISAKOV ACKO
+ISAKOV BORISLAV
+ISAKOV CVETKO
+ISAKOV DIMITRIJE
+ISAKOV DRAGANA
+ISAKOV DRAGOLJUB
+ISAKOV DUŠICA
+ISAKOV ESTER
+ISAKOV IVAN
+ISAKOV JELICA
+ISAKOV JOVANKA
+ISAKOV KATICA
+ISAKOV LEPOSAVA
+ISAKOV LJUBICA
+ISAKOV LJUBICA
+ISAKOV MILAN
+ISAKOV MILAN
+ISAKOV MILENKO
+ISAKOV MILIVOJ
+ISAKOV MILORAD
+ISAKOV MILUTIN
+ISAKOV MIODRAG
+ISAKOV MIROSLAV
+ISAKOV NENAD
+ISAKOV PETAR
+ISAKOV RADE
+ISAKOV RADICA
+ISAKOV RADINKA
+ISAKOV RADIVOJ
+ISAKOV RADMILA
+ISAKOV RADOMIR
+ISAKOV RADOVAN
+ISAKOV RUŽICA
+ISAKOV SAVA
+ISAKOV SLAVKO
+ISAKOV SMILJKA
+ISAKOV SREDOJE
+ISAKOV STEVAN
+ISAKOV STEVAN
+ISAKOV TODOR
+ISAKOV TOMISLAV
+ISAKOV VOJISLAV
+ISAKOV ZORICA
+ISAKOVIĆ ĐURA DIPL ING
+ISAKOVIĆ ANA
+ISAKOVIĆ MARKO
+ISAKOVIĆ STEVAN
+ISAKOVIĆ ZORAN
+ISAKOVSKI JAKOV
+ISAKOVSKI SLOBODAN DR
+ISANOVIĆ ANA
+ISIJANOV SLOBODANKA
+ISIJANOV VLADIMIR
+ISKALOV MARIJANA
+ISKIĆ MILADIN
+ISKRIN BRANKO
+ISKRIN JELENA
+ISLAMBAŠIĆ LJILJANA
+ISLAMI ABIB
+ISLAMOVIĆ MAHMUD
+ISLAMOVIĆ NADA
+ISMAILI ŠAĆIR
+ITALO EVICA
+ITALO MARKO
+ITEBEJAC ZORA
+IVAČKOVIĆ BRANISLAV
+IVAČKOVIĆ MANOJLO
+IVAČKOVIĆ NADA
+IVAŠČENKO ALEKSANDAR
+IVAŠČENKO ALEKSANDAR
+IVAŠČENKO KATICA
+IVAŠKU-MILOVANOVIĆ FELIČIA
+IVAK JAN
+IVAN ŠANDOR
+IVAN ĐURA
+IVAN ATILA
+IVAN CECILIJA
+IVAN GABOR
+IVAN JOŽEF
+IVAN JOVAN
+IVAN KATALIN
+IVAN MIHAJLO
+IVAN SILVESTER
+IVAN VERONA
+IVANČEV IRINA
+IVANČEV VLADIMIR
+IVANČEVIĆ ŽARKO DR
+IVANČEVIĆ BOŠKO
+IVANČEVIĆ BRANKA
+IVANČEVIĆ DARKO
+IVANČEVIĆ DIMITRIJE
+IVANČEVIĆ DRAGOSLAVA
+IVANČEVIĆ DUŠAN
+IVANČEVIĆ GAVRA
+IVANČEVIĆ JOVAN
+IVANČEVIĆ JOVAN
+IVANČEVIĆ MARICA
+IVANČEVIĆ MILAN
+IVANČEVIĆ MILAN
+IVANČEVIĆ MILENKO
+IVANČEVIĆ MILIVOJE PROFESOR
+IVANČEVIĆ OLIVERA
+IVANČEVIĆ PETAR
+IVANČEVIĆ PETAR
+IVANČEVIĆ RADIVOJ DIPL ING
+IVANČEVIĆ RADMILA
+IVANČEVIĆ SINIŠA
+IVANČEVIĆ STANKO
+IVANČEVIĆ SVETOZAR
+IVANČEVIĆ VLADA
+IVANČEVIĆ VLADIMIR DR
+IVANČIĆ ANTE
+IVANČIĆ BRANKO
+IVANČIĆ DRAGAN
+IVANČIĆ JOSIP
+IVANČIĆ JULIJANA
+IVANČIĆ MARIJA
+IVANČIĆ MILAN
+IVANČIĆ OLGA
+IVANČIĆ STANIMIR
+IVANČIĆ STANISLAV
+IVANČIĆ STEVAN
+IVANČIĆ STEVAN
+IVANČIĆ VLADIMIR
+IVANČIN NIKOLA
+IVANČIN OLJEG
+IVANČUK PAVAO
+IVANDIĆ IVICA
+IVANDIĆ RADMILA
+IVANEŽA ANDRIJA
+IVANEK ĐURA
+IVANEK DUŠKO
+IVANEK VIKTORIJA
+IVANI HILJA
+IVANIŠ KOVILJKA
+IVANIŠ SLAVKO
+IVANIŠ SLAVKO
+IVANIŠEVIĆ ĐURO
+IVANIŠEVIĆ DUŠAN
+IVANIŠEVIĆ EVICA
+IVANIŠEVIĆ ILIJA
+IVANIŠEVIĆ JELICA
+IVANIŠEVIĆ MIHAILO
+IVANIŠEVIĆ MILAN
+IVANIŠEVIĆ MIROSLAV
+IVANIŠEVIĆ MIROSLAV
+IVANIŠEVIĆ MITAR
+IVANIŠEVIĆ NADA
+IVANIŠEVIĆ NADA
+IVANIŠEVIĆ NEĐA
+IVANIŠEVIĆ NEMANJA
+IVANIŠEVIĆ OLGA
+IVANIŠEVIĆ PETAR
+IVANIŠEVIĆ RAJKO
+IVANIŠEVIĆ SVETOZAR
+IVANIŠEVIĆ TINA
+IVANIŠEVIĆ VUKICA
+IVANIĆ ČEDOMIR
+IVANIĆ ĐORĐE
+IVANIĆ ALBERT
+IVANIĆ ANA
+IVANIĆ BRANKO
+IVANIĆ DRAGANA
+IVANIĆ DRAGAN
+IVANIĆ DRAGICA
+IVANIĆ DUŠAN
+IVANIĆ DUŠAN
+IVANIĆ GROZDANA
+IVANIĆ IVANA
+IVANIĆ IVAN
+IVANIĆ IVAN
+IVANIĆ IVAN
+IVANIĆ JOVO
+IVANIĆ MARINA
+IVANIĆ MILAN
+IVANIĆ MILAN
+IVANIĆ MILAN
+IVANIĆ NEVENKA
+IVANIĆ PERSIDA
+IVANIĆ PETAR
+IVANIĆ SNEŽANA
+IVANIĆ STEVAN
+IVANIĆ ZLATOJE
+IVANJI SINIŠA
+IVANJI VERONIKA
+IVANKOVIĆ ČEDOMIR
+IVANKOVIĆ ĐORĐE
+IVANKOVIĆ BOŽANA
+IVANKOVIĆ BOŽO
+IVANKOVIĆ JANKO
+IVANKOVIĆ MARINKO
+IVANKOVIĆ MILENKO
+IVANKOVIĆ MILE
+IVANKOVIĆ MILKA
+IVANKOVIĆ MILKA
+IVANKOVIĆ NENAD
+IVANKOVIĆ NOVO
+IVANKOVIĆ RADE
+IVANKOVIĆ RADE
+IVANKOVIĆ SAVO
+IVANKOVIĆ SLAVKO
+IVANKOVIĆ TIHOMIR
+IVANKOVIĆ ZDRAVKO
+IVANOV ŽIVAN
+IVANOV ĐOKA
+IVANOV ĐORĐE
+IVANOV ĐURĐEVKA
+IVANOV ĐURĐINKA
+IVANOV BORIS
+IVANOV DIMITAR
+IVANOV DRAGICA
+IVANOV DRAGOSLAVA
+IVANOV EMILIJA
+IVANOV EVICA
+IVANOV GAVRA
+IVANOV JULKA
+IVANOV KATICA
+IVANOV LJUBOMIR
+IVANOV MARICA
+IVANOV MARIJA
+IVANOV MIŠA
+IVANOV MILENKO
+IVANOV MILE
+IVANOV MILORAD
+IVANOV MITA
+IVANOV NIKOLA
+IVANOV OLIVERA
+IVANOV PETAR
+IVANOV SERGIJE
+IVANOV SLAVKO
+IVANOV VERA
+IVANOV ZDRAVKO
+IVANOV ZORA
+IVANOV ZORICA
+IVANOVIĆ ČEDOMIR
+IVANOVIĆ ŽIKA
+IVANOVIĆ ŽIVORAD
+IVANOVIĆ ĐORĐE
+IVANOVIĆ ALEKSA
+IVANOVIĆ ANGELINA
+IVANOVIĆ BOŽA
+IVANOVIĆ BOGDAN
+IVANOVIĆ BRANISLAVA
+IVANOVIĆ BRANISLAV
+IVANOVIĆ BRANISLAV
+IVANOVIĆ BRANISLAV
+IVANOVIĆ BRANISLAV
+IVANOVIĆ CVEJA
+IVANOVIĆ DESANKA
+IVANOVIĆ DESA
+IVANOVIĆ DIMITRIJE
+IVANOVIĆ DRAGAN
+IVANOVIĆ DRAGAN
+IVANOVIĆ DRAGAN
+IVANOVIĆ DRAGAN
+IVANOVIĆ DRAGAN
+IVANOVIĆ DRAGOLJUB
+IVANOVIĆ DRAGOLJUB
+IVANOVIĆ DUŠANKA
+IVANOVIĆ DUŠAN
+IVANOVIĆ FRANJA
+IVANOVIĆ ILIJA
+IVANOVIĆ ILIJA
+IVANOVIĆ IVAN DR
+IVANOVIĆ JANOŠ
+IVANOVIĆ JELENA
+IVANOVIĆ JORDAN
+IVANOVIĆ JOVAN
+IVANOVIĆ KOVINKA
+IVANOVIĆ KRSTOMIR
+IVANOVIĆ KSENIJA
+IVANOVIĆ LJUBICA
+IVANOVIĆ LJUBISAV
+IVANOVIĆ LJUBOMIR
+IVANOVIĆ LJUDEVIT
+IVANOVIĆ MARIJA
+IVANOVIĆ MARINKO
+IVANOVIĆ MARKO
+IVANOVIĆ MILAN SUDIJA
+IVANOVIĆ MILENKO
+IVANOVIĆ MILENKO
+IVANOVIĆ MILETA
+IVANOVIĆ MILEVA
+IVANOVIĆ MILICA
+IVANOVIĆ MILIJA
+IVANOVIĆ MILKA
+IVANOVIĆ MILKO
+IVANOVIĆ MILORAD
+IVANOVIĆ MILUN
+IVANOVIĆ MILUTIN
+IVANOVIĆ MIODRAG
+IVANOVIĆ MIRA
+IVANOVIĆ MIRJANA
+IVANOVIĆ MIRKO
+IVANOVIĆ MIROSLAV
+IVANOVIĆ MIROSLAV
+IVANOVIĆ MLADEN
+IVANOVIĆ NEBOJŠA
+IVANOVIĆ NEGOVAN
+IVANOVIĆ NIKOLA
+IVANOVIĆ OBRAD
+IVANOVIĆ PETAR
+IVANOVIĆ PETRA
+IVANOVIĆ RAŠKO
+IVANOVIĆ RADMILA
+IVANOVIĆ RADOMIR
+IVANOVIĆ RADOSLAV
+IVANOVIĆ RADOVAN
+IVANOVIĆ SELIMIR
+IVANOVIĆ SIMO
+IVANOVIĆ SLOBODANKA
+IVANOVIĆ SLOBODAN
+IVANOVIĆ SLOBODAN
+IVANOVIĆ SLOBODAN
+IVANOVIĆ SLOBODAN
+IVANOVIĆ STAMEN
+IVANOVIĆ STANISLAVA
+IVANOVIĆ STANKA
+IVANOVIĆ STEVAN
+IVANOVIĆ STEVAN
+IVANOVIĆ STOJAN
+IVANOVIĆ VASILIJE
+IVANOVIĆ VELIBOR
+IVANOVIĆ VITOMIR
+IVANOVIĆ VLADA
+IVANOVIĆ VLADA
+IVANOVIĆ VOJISLAV
+IVANOVIĆ VOJISLAV
+IVANOVIĆ VUKOSAVA
+IVANOVIĆ ZORAN DIPL ING
+IVANOVIĆ ZORA
+IVANOVSKI ĐORĐE
+IVANOVSKI BLAGOJE
+IVANOVSKI ILIJA
+IVANOVSKI STANA
+IVATOVIĆ BRANKO
+IVEGEŠ ANA
+IVEGEŠ IŠTVAN DIPL ING
+IVEGEŠ LASLO
+IVEK VLADIMIR
+IVETIĆ BRANISLAVA
+IVETIĆ BRANISLAVA
+IVETIĆ DIMITRIJE
+IVETIĆ DRAGAN
+IVETIĆ LAZA
+IVETIĆ LJILJANA
+IVETIĆ MILOJKO
+IVETIĆ RADE DR
+IVETIĆ RADE DR
+IVETIĆ RADOVAN
+IVETIĆ VASA
+IVETIĆ VESNA
+IVEZIĆ ALEKSANDAR
+IVEZIĆ DRAGO
+IVEZIĆ GOJKO
+IVEZIĆ MARKO DR
+IVEZIĆ MILE
+IVEZIĆ ZORAN
+IVEZIĆ ZVONKO
+IVIČIĆ MIRA
+IVIČIĆ NADA
+IVIČIĆ-TOMIĆ BILJANA
+IVIĆ BLAGOMIR
+IVIĆ DESANKA
+IVIĆ JULIJA
+IVIĆ MELITA
+IVIĆ MIRKO MR PH
+IVIĆ PETAR DIPL OEC
+IVIĆ RADE
+IVIĆ STOJAN
+IVIĆ VASILIJE
+IVIĆ VASO
+IVIĆ VOJIMIR
+IVIĆ ZLATKO
+IVKOV ČEDOMIR
+IVKOV ŽIVKA
+IVKOV ĐORĐE
+IVKOV BOŠKO
+IVKOV BORIVOJ
+IVKOV DANILO
+IVKOV DOBRIVOJ
+IVKOV DUŠAN
+IVKOV ISA
+IVKOV IVAN
+IVKOV JELENA
+IVKOV JELENA
+IVKOV KATICA
+IVKOV KATICA
+IVKOV KATICA
+IVKOV MILENKO
+IVKOV MILICA
+IVKOV MILOVAN
+IVKOV OLGICA
+IVKOV PETAR
+IVKOV RADOSLAV
+IVKOV RADOVAN
+IVKOV SAVA
+IVKOV SEKULA
+IVKOV SLAVKO
+IVKOV SLOBODAN
+IVKOV SLOBODAN
+IVKOV STANA
+IVKOV STANISLAVA
+IVKOV STEVAN
+IVKOV STEVAN
+IVKOV STEVAN
+IVKOV UROŠ
+IVKOV VOJISLAV
+IVKOVIĆ ĐURO
+IVKOVIĆ ANTUN
+IVKOVIĆ ARSA
+IVKOVIĆ BOŽA
+IVKOVIĆ BOGDAN
+IVKOVIĆ BORISLAV
+IVKOVIĆ BORISLAV
+IVKOVIĆ DEJAN
+IVKOVIĆ DIVNA
+IVKOVIĆ DRAGAN DIPL ING
+IVKOVIĆ DUŠAN
+IVKOVIĆ DUŠAN
+IVKOVIĆ DUŠAN
+IVKOVIĆ ESTERA
+IVKOVIĆ GUSTAV DR
+IVKOVIĆ-IVANDEKIĆ DANICA
+IVKOVIĆ JELENA
+IVKOVIĆ JOVAN
+IVKOVIĆ KOVILJKA
+IVKOVIĆ-LAZAR TATJANA DR
+IVKOVIĆ LUKA
+IVKOVIĆ MIHAJLO
+IVKOVIĆ MILANKA
+IVKOVIĆ MILAN
+IVKOVIĆ MILENTIJE
+IVKOVIĆ MILEVA
+IVKOVIĆ MILE
+IVKOVIĆ MILICA
+IVKOVIĆ MILOLJUB DIPL ING
+IVKOVIĆ MILORAD
+IVKOVIĆ MILUTIN
+IVKOVIĆ MIRJANA
+IVKOVIĆ MLADEN
+IVKOVIĆ NATAŠA
+IVKOVIĆ NATAŠA
+IVKOVIĆ NEBOJŠA
+IVKOVIĆ NIKOLA
+IVKOVIĆ NIKOLA
+IVKOVIĆ PETAR
+IVKOVIĆ PREDRAG
+IVKOVIĆ RADISAV
+IVKOVIĆ RANKO
+IVKOVIĆ STEVAN
+IVKOVIĆ STOJAN
+IVKOVIĆ VERA
+IVKOVIĆ VERA
+IVKOVIĆ VERICA
+IVKOVIĆ VLADIMIR
+IVKOVIĆ VLAJKO
+IVKOVIĆ ZAGORKA
+IVKOVIĆ ZDRAVKO
+IVKOVIĆ ZORICA
+IVOŠ ALEKSANDAR
+IVOŠ RODOLJUB
+IVOŠ VOJISLAV
+IVOŠEV ALEKSANDAR
+IVOŠEV DUŠAN
+IVOŠEV ILIJA
+IVOŠEV KATARINA
+IVOŠEV KOSTA
+IVOŠEV MARKO
+IVOŠEV SLAVKO
+IVOŠEV VOJISLAV
+IVOŠEVIĆ ĐURO
+IVOŠEVIĆ ALEKSANDRA
+IVOŠEVIĆ DANICA
+IVOŠEVIĆ GOJKO
+IVOŠEVIĆ MILAN
+IVOŠEVIĆ MILENKO
+IVOŠEVIĆ SAVA
+IVOŠEVIĆ SLOBODAN
+IVOŠEVIĆ ZORAN
+IVOVIĆ LJUBIŠA
+IVOVIĆ PETAR
+IZBRADIĆ STEVAN
+IZGARJAN MILIVOJ
+JAŠČENKOV STANA
+JAŠAR HASAN
+JAŠARAGIĆ IVANKA
+JAŠARAGIĆ ZIJO
+JAŠAREVIĆ HUSEIN
+JAŠAREVIĆ MUHAREM
+JAŠAREVIĆ RAMO
+JAŠAREVIĆ VOJISLAV
+JAŠARI DŽAFER
+JAŠAROV ŠAIP
+JAŠIĆ DESANKA
+JAŠIĆ SINIŠA
+JAŠINSKI RUŽA
+JAŠO ANA
+JAŠO JOŽEF DR
+JAŠO MILOSAV
+JAŠO MIROSLAVA
+JAŠOVIĆ GOJKO
+JAĆEVIĆ MIODRAG
+JAĆIMOVIĆ ALEKSANDAR LEKAR
+JAĆIMOVIĆ BOJIN
+JAĆIMOVIĆ JOVA
+JAĆIMOVIĆ MILENKO
+JAĆIMOVIĆ MILOJKO
+JAĆIMOVIĆ MIRJANA
+JAĆIMOVIĆ PETAR
+JAĆIMOVIĆ STEVO
+JAĆIMOVIĆ VOJISLAV
+JAĆIMOVSKI MOJSE
+JABLANOV ĐUKA
+JABLANOV DRAGICA
+JABLANOV IGNJATIJE
+JABLANOV JELENA
+JABLANOV LJUBOMIR
+JABLANOV MILORAD DIPL ING
+JABLANOV ZORA
+JABLANOV ZORA
+JABLANOVIĆ DESANKA
+JABLANOVIĆ RATKO
+JACANOVIĆ ŽIVKA
+JACANOVIĆ GABRIJELA
+JACANOVIĆ VLADIMIR
+JACIŠIN ANKA
+JACIĆ DARINKA
+JACIĆ DRAGAN
+JAGER ANA
+JAGER MARIN
+JAGER MIHAJLO
+JAGER PAVAO
+JAGETIĆ ALEKSANDAR
+JAGETIĆ MILOŠ
+JAGETIĆ STEVAN
+JAGETIĆ VELIMIR
+JAGETIĆ VOJISLAV
+JAGIĆ SLAVICA
+JAGLICA BRANKO
+JAGLICA SLOBODAN
+JAGNJIĆ DRAGAN
+JAGODIĆ ANĐELKO
+JAGODIĆ DUŠAN
+JAGODIĆ MILICA
+JAGODIĆ MIROSLAV
+JAGODIĆ PETAR
+JAGODIĆ RANKO
+JAGODIĆ VELJKO
+JAGODIĆ VLADO
+JAGUŠT-AKKAD LADA
+JAHJA REŠAD
+JAHURA VUKAŠIN
+JAJČANIN BOŽO
+JAJČEVIĆ ANGELA
+JAJAGIN RADOVAN
+JAJAGIN SPASOJE
+JAJAGIN ZORICA
+JAJIĆ ĐORĐE DR
+JAJIĆ ĐORĐE
+JAJIĆ DRAGAN
+JAJIĆ ILIJA
+JAJIĆ IVANKA
+JAJIĆ LAZAR
+JAJIĆ LENKA
+JAJIĆ MILENA
+JAJIĆ MILICA
+JAJIĆ NIKOLA
+JAJIĆ SAVA
+JAJIĆ STEVAN
+JAJIĆ SVETLANA
+JAJIN LADISLAV
+JAJIN MIRJANA
+JAJIN ZLATKO
+JAKŠA PIROŠKA
+JAKŠEVAC DRAGO
+JAKŠIĆ ŽARKO
+JAKŠIĆ ĐORĐE
+JAKŠIĆ ĐORĐE
+JAKŠIĆ ĐURA
+JAKŠIĆ ANA
+JAKŠIĆ BOGDAN
+JAKŠIĆ BOGDAN
+JAKŠIĆ BOJAN
+JAKŠIĆ BRANKO
+JAKŠIĆ DANE
+JAKŠIĆ DANE
+JAKŠIĆ DANE
+JAKŠIĆ DEJAN
+JAKŠIĆ DMITAR
+JAKŠIĆ DRAGAN
+JAKŠIĆ DUŠANKA
+JAKŠIĆ DUŠANKA
+JAKŠIĆ DUŠAN
+JAKŠIĆ DUŠAN
+JAKŠIĆ DUŠAN
+JAKŠIĆ DUŠAN
+JAKŠIĆ DUŠAN
+JAKŠIĆ DUŠKO
+JAKŠIĆ EMIL
+JAKŠIĆ ILIJA
+JAKŠIĆ ILIJA
+JAKŠIĆ IVICA
+JAKŠIĆ IVICA
+JAKŠIĆ JADRANKA
+JAKŠIĆ JASMINKA
+JAKŠIĆ JELENA
+JAKŠIĆ JOVANKA
+JAKŠIĆ JOVAN
+JAKŠIĆ JOVAN
+JAKŠIĆ KATICA
+JAKŠIĆ LJILJA
+JAKŠIĆ LJUBISAV
+JAKŠIĆ LJUBOMIR
+JAKŠIĆ LJUBOMIR
+JAKŠIĆ LJUBOMIR
+JAKŠIĆ LJUBOMIR
+JAKŠIĆ MARKO
+JAKŠIĆ MARKO
+JAKŠIĆ MARKO
+JAKŠIĆ MIJAT
+JAKŠIĆ MILAN
+JAKŠIĆ MILAN
+JAKŠIĆ MILENKO
+JAKŠIĆ MILEVA
+JAKŠIĆ MILOŠ
+JAKŠIĆ MILORAD
+JAKŠIĆ MILORAD
+JAKŠIĆ MIODRAG
+JAKŠIĆ MIRKO
+JAKŠIĆ NEBOJŠA
+JAKŠIĆ NEDELJKO
+JAKŠIĆ NENAD
+JAKŠIĆ PAVLE
+JAKŠIĆ PAVLE
+JAKŠIĆ PETAR
+JAKŠIĆ PETAR
+JAKŠIĆ-PROVČI BRANKA
+JAKŠIĆ RADENKO
+JAKŠIĆ RADE
+JAKŠIĆ RADE
+JAKŠIĆ RADIŠA
+JAKŠIĆ RADOJKO
+JAKŠIĆ RADOVAN
+JAKŠIĆ RADUN
+JAKŠIĆ RISTO
+JAKŠIĆ ROSA
+JAKŠIĆ RUŽICA
+JAKŠIĆ RUŽICA
+JAKŠIĆ SAVA
+JAKŠIĆ SLOBODAN
+JAKŠIĆ SMILJA
+JAKŠIĆ STEVAN
+JAKŠIĆ SVETKO
+JAKŠIĆ SVETLANA DIPL PH
+JAKŠIĆ TOMISLAV
+JAKŠIĆ VASILIJE
+JAKŠIĆ VELIMIR
+JAKŠIĆ VERA
+JAKŠIĆ VLADA
+JAKŠIĆ VLADIMIR
+JAKŠIĆ VOJISLAV
+JAKAB DEŽE
+JAKAB JOŽEF
+JAKAB PAVEL
+JAKEŠEVIĆ DRAGAN
+JAKEŠEVIĆ NIKO
+JAKIŠA IŠTVAN
+JAKIĆ ĐORĐE
+JAKIĆ DANICA
+JAKIĆ DARA
+JAKIĆ DESANKA
+JAKIĆ MILANKA
+JAKIĆ MIODRAG
+JAKIĆ NIKOLA
+JAKIĆ STEVAN
+JAKIĆ VIDA
+JAKICA ČEDO
+JAKICA ILIJA
+JAKIMOV SLAVKO DR LEKAR
+JAKIMOVA-GAZEPOVA JULKA DR
+JAKIMOVSKI BLAGOJ
+JAKIMOVSKI BOGOSLAV
+JAKIMOVSKI BORKO
+JAKIMOVSKI DANE
+JAKLIĆ IVAN
+JAKOB JOŠKA
+JAKOB JOŽEF
+JAKOB LAJOŠ
+JAKOBAC ĐURĐICA
+JAKOBI BORIS
+JAKOBI TATJANA
+JAKOBI VILMOŠ
+JAKOBOVIĆ FRANJO
+JAKOBS IŠTVAN
+JAKONIĆ DRAGOSLAV DR
+JAKONIĆ JASMINA
+JAKONIĆ MILAN DIPL OEC
+JAKONIĆ RADMILA
+JAKOPČEVIĆ BRANKA
+JAKOPOVIĆ BRANISLAVA
+JAKOPOVIĆ MIROSLAV
+JAKOPOVIĆ VLADIMIR
+JAKOTIN ŽIVKO
+JAKOTIN KOSTA
+JAKOTIN PLEMENKA
+JAKOV SALAMUN
+JAKOVAC IVAN
+JAKOVIĆ RADE
+JAKOVLJEV ŽARKO
+JAKOVLJEV ĐURA
+JAKOVLJEV ĐURICA
+JAKOVLJEV ALEKSEJ
+JAKOVLJEV DANICA
+JAKOVLJEV DRAGAN
+JAKOVLJEV DUŠAN
+JAKOVLJEV IVAN
+JAKOVLJEV JEFREM
+JAKOVLJEV KATA
+JAKOVLJEV KOSTA
+JAKOVLJEV KRISTIFOR
+JAKOVLJEV MARINA
+JAKOVLJEV MILOŠ
+JAKOVLJEV MILOŠ
+JAKOVLJEV MIROSLAV
+JAKOVLJEV RADOVAN
+JAKOVLJEV SLOBODAN
+JAKOVLJEV SVETOZAR
+JAKOVLJEV VLADA
+JAKOVLJEV ZLATOJE
+JAKOVLJEVIĆ ŽIVAN
+JAKOVLJEVIĆ ŽIVORAD
+JAKOVLJEVIĆ ĐORĐE
+JAKOVLJEVIĆ ĐORĐO
+JAKOVLJEVIĆ ĐURĐINKA
+JAKOVLJEVIĆ ALEKSANDAR
+JAKOVLJEVIĆ ANA
+JAKOVLJEVIĆ BOŽANA
+JAKOVLJEVIĆ BOGDAN
+JAKOVLJEVIĆ BORIŠA
+JAKOVLJEVIĆ BRANKA
+JAKOVLJEVIĆ DAMJAN
+JAKOVLJEVIĆ DAMJAN
+JAKOVLJEVIĆ DIVNA
+JAKOVLJEVIĆ DRAGAN
+JAKOVLJEVIĆ DRAGOSLAV
+JAKOVLJEVIĆ EMILIJA
+JAKOVLJEVIĆ GOJKO
+JAKOVLJEVIĆ GROZDANA
+JAKOVLJEVIĆ IGNJAT
+JAKOVLJEVIĆ JANJA
+JAKOVLJEVIĆ JOSO
+JAKOVLJEVIĆ JOVAN
+JAKOVLJEVIĆ JOVAN
+JAKOVLJEVIĆ JOVO
+JAKOVLJEVIĆ JOVO
+JAKOVLJEVIĆ LAZAR
+JAKOVLJEVIĆ LJILJANA
+JAKOVLJEVIĆ LJUBINKO
+JAKOVLJEVIĆ LUKA
+JAKOVLJEVIĆ MARKO
+JAKOVLJEVIĆ MILANA
+JAKOVLJEVIĆ MILAN
+JAKOVLJEVIĆ MILAN
+JAKOVLJEVIĆ MILENA
+JAKOVLJEVIĆ MILIĆ
+JAKOVLJEVIĆ MILICA
+JAKOVLJEVIĆ MILICA
+JAKOVLJEVIĆ MILIVOJ MR PH
+JAKOVLJEVIĆ MILJANA
+JAKOVLJEVIĆ MILOŠ
+JAKOVLJEVIĆ MILOVAN
+JAKOVLJEVIĆ MILUTIN
+JAKOVLJEVIĆ MIRJANA
+JAKOVLJEVIĆ MIRKO
+JAKOVLJEVIĆ MIROSLAV
+JAKOVLJEVIĆ MITA
+JAKOVLJEVIĆ NIKOLA
+JAKOVLJEVIĆ OBRAD
+JAKOVLJEVIĆ PAJA
+JAKOVLJEVIĆ RADIŠA
+JAKOVLJEVIĆ RADIVOJ
+JAKOVLJEVIĆ RADOJKO
+JAKOVLJEVIĆ SAVA
+JAKOVLJEVIĆ SIMO
+JAKOVLJEVIĆ SLOBODAN
+JAKOVLJEVIĆ SONJA
+JAKOVLJEVIĆ STEVAN
+JAKOVLJEVIĆ TATJANA
+JAKOVLJEVIĆ VASA
+JAKOVLJEVIĆ VASA
+JAKOVLJEVIĆ VASILIJE
+JAKOVLJEVIĆ VIKTOR
+JAKOVLJEVIĆ VIKTOR
+JAKOVLJEVIĆ VIKTOR
+JAKOVLJEVIĆ ZDRAVKO
+JAKOVOVIĆ DUŠAN
+JAKUŠ MIRJANA
+JAKUBEC ĐURA
+JAKUBEC LADISLAV
+JAMA NADA
+JAMBOR ANDREA
+JAMBOR DANIELA
+JAMBOR IMRE
+JAMBOR MIHALJ
+JAMBRUŠIĆ FRANJO
+JAMINA MILOVAN
+JAMINA RATKO
+JAMRIK ĐORĐE
+JAMRIK JELENA
+JAMRIK LJUBICA
+JAMRIK OTO
+JANČA DEJAN DR
+JANČA KOSTA DR
+JANČA LJUBICA
+JANČIĆ BILJANA
+JANČIĆ BOŽANA
+JANČIĆ BOGDAN
+JANČIĆ DIMITRIJE
+JANČIĆ DRAGINJA
+JANČIĆ DRAGOSLAVA
+JANČIĆ DRAGOSLAV
+JANČIĆ DUŠAN
+JANČIĆ DUŠAN
+JANČIĆ GORDANA
+JANČIĆ GORICA
+JANČIĆ JEROSIM
+JANČIĆ LJUBICA
+JANČIĆ MILOŠ
+JANČIĆ MIROSLAV
+JANČIĆ MLADEN
+JANČIĆ NIKOLA
+JANČIĆ PERA
+JANČIĆ PETAR
+JANČIĆ RADOVAN
+JANČIĆ SAVA
+JANČIĆ SVETISLAV
+JANČIĆ SVETISLAV
+JANČIĆ TIHOMIR
+JANČIĆ TINKA
+JANČIĆ VELIBOR
+JANČIĆ VINKA
+JANČIĆ VLADIMIR
+JANČIĆ VLASTA
+JANČURIĆ ALEKSANDAR
+JANČURIĆ DARINKA
+JANČURIĆ DUŠAN
+JANČURIĆ JOVAN
+JANČURIĆ LAZAR
+JANČURIĆ LENKA
+JANČURIĆ MIRJANA
+JANČURIĆ SAVA
+JANŽEKOVIĆ MILEVKA
+JANŽEKOVIĆ OLGA
+JANŽELJ ANTON
+JANAČEK ĐORĐE
+JANAČEK KATICA
+JANAČKOVIĆ STOIL
+JANAĆ JANOŠ
+JANAĆ KAROLJ
+JANCIĆ BLAGOJE
+JANCIĆ PREDRAG
+JANDRIĆ ĐURICA
+JANDRIĆ BOGDAN
+JANDRIĆ JANDRIJA
+JANDRIĆ MARINKO
+JANDRIĆ MARKO
+JANDRIĆ MARKO
+JANDRIĆ MIĆO
+JANDRIĆ MILENA
+JANDRIĆ MILINA
+JANDRIĆ MILKA
+JANDRIĆ MILORAD
+JANDRIĆ MILORAD
+JANDRIĆ MIROSLAV
+JANDRIĆ MIROSLAV
+JANDRIĆ MITAR
+JANDRIĆ MOMČILO
+JANDRIĆ NEDELJKO
+JANDRIĆ RADOVAN
+JANDRIĆ RATKO
+JANDRIĆ RISTO
+JANDRIĆ SIMO
+JANDRIĆ SLOBODAN
+JANDRIĆ SRETEN
+JANDRIĆ STANKO
+JANDRIĆ STANKO
+JANDRIĆ STANKO
+JANDRIĆ UGLJEŠA
+JANDRIĆ VIDA
+JANDRIĆ VINKA
+JANDRIĆ ZORAN
+JANDRIĆ ZORAN
+JANEŠ NEVEN
+JANEGA SNEŽANA
+JANEV BLAGOJE DIPL ING
+JANEVSKI ALEKSANDAR
+JANIČIĆ BLAŽO
+JANIČIĆ BOŽA
+JANIČIĆ JELENA
+JANIČIĆ MILEVA
+JANIČIĆ MIRKO
+JANIČIĆ RADOJICA
+JANIČIĆ STEVO
+JANIĆ ČASLAV DIPL ING
+JANIĆ ŽIVORAD
+JANIĆ ALEKSANDAR
+JANIĆ ANĐELKO
+JANIĆ DUŠAN
+JANIĆ DUŠKO
+JANIĆ-HILT GORDANA
+JANIĆ IRENA
+JANIĆ IVAN DR
+JANIĆ MILISAV
+JANIĆ NADA
+JANIĆ RADOJKA
+JANIĆ SLOBODAN
+JANIĆ VLADIMIR
+JANIĆIJEVIĆ MILENKO
+JANIĆIJEVIĆ MILOŠ
+JANIĆIJEVIĆ MIRKO
+JANIĆIJEVIĆ MOMČILO
+JANIĆIJEVIĆ NADEŽDA
+JANIĆIJEVIĆ OZRENKA
+JANIĆIJEVIĆ RATKO
+JANIĆIJEVIĆ SOFIJA
+JANIĆIJEVIĆ VITOMIR
+JANIĆIN ANGELINA
+JANIĆIN ILIJA
+JANICKI STANIMIR
+JANIK FERENC
+JANJANIN BRANKO
+JANJANIN SIMO
+JANJATOVIĆ DEJAN
+JANJATOVIĆ GORICA
+JANJATOVIĆ MANE
+JANJATOVIĆ MILAN
+JANJATOVIĆ MIRKO
+JANJATOVIĆ NEDELJKO
+JANJATOVIĆ NIKOLA
+JANJATOVIĆ SLAVICA
+JANJATOVIĆ SLAVICA
+JANJATOVIĆ VERA
+JANJETOV RADA
+JANJETOVIĆ BRANKO
+JANJETOVIĆ NEBOJŠA
+JANJETOVIĆ SLAVICA
+JANJETOVIĆ SLOBODAN
+JANJEVIĆ DRAGOSLAV
+JANJEVIĆ KSENIJA
+JANJEVIĆ ZORAN
+JANJEVIĆ ZORAN
+JANJIČIĆ SIMO
+JANJIŠ JELICA
+JANJIĆ ČEDOMIR
+JANJIĆ ŽELJKO
+JANJIĆ ŽIVKA
+JANJIĆ ŽIVKO
+JANJIĆ ĐORĐE DR
+JANJIĆ BOŠKO
+JANJIĆ DANICA
+JANJIĆ DRAGOMIR DIPL OEC
+JANJIĆ ILIJA
+JANJIĆ JELA
+JANJIĆ JEVREM
+JANJIĆ JEVTO
+JANJIĆ JOVAN
+JANJIĆ JOVO
+JANJIĆ JOVO
+JANJIĆ JOVO
+JANJIĆ KSENIJA
+JANJIĆ LJUBOMIR
+JANJIĆ LUKA
+JANJIĆ MARIJA
+JANJIĆ MARKO
+JANJIĆ MILICA
+JANJIĆ MILIVOJ
+JANJIĆ MILKA
+JANJIĆ MILOMIR
+JANJIĆ MLADEN
+JANJIĆ NATAŠA
+JANJIĆ NEBOJŠA
+JANJIĆ RADOVAN
+JANJIĆ SAVO
+JANJIĆ STEVAN
+JANJIĆ VITOMIR
+JANJIĆ VOJISLAV MR
+JANJIĆ VOJKO
+JANJIĆ VUKOTA
+JANJIN BOGOLJUB
+JANJIN DAMJAN
+JANJIN LAZAR
+JANJIN MILIVOJ
+JANJIN RADIVOJ
+JANJIN SNEŽANA
+JANJOŠ ZORAN
+JANJOŠEVIĆ BRANISLAV
+JANJOŠEVIĆ MILICA
+JANJOŠEVIĆ STEVANKA
+JANJUŠEVIĆ BOSILJKA
+JANJUŠEVIĆ GOJKO
+JANJUŠEVIĆ JOKICA
+JANJUŠEVIĆ MIRA
+JANJUŠEVIĆ NEDELJKO
+JANJUŠEVIĆ NEDELJKO
+JANJUŠEVIĆ STOJAN
+JANKA ŠANDOR
+JANKA IVAN
+JANKANJ VLADO
+JANKIĆ KRISTINA
+JANKO JANOŠ
+JANKOV BORISLAV
+JANKOV BORISLAV
+JANKOV BORISLAV
+JANKOV BRANISLAV
+JANKOV DRAGICA
+JANKOV DUŠAN
+JANKOV IVAN
+JANKOV JELICA
+JANKOV JOVAN
+JANKOV JOVICA
+JANKOV MILAN
+JANKOV MILIJANA
+JANKOV MIOMIR
+JANKOV MITA
+JANKOV MITKO
+JANKOV NADA
+JANKOV NEDELJKO
+JANKOV NIKOLA
+JANKOV NIKOLA
+JANKOV NOVKA
+JANKOV PREDRAG
+JANKOV RADIVOJ
+JANKOV RADOSLAVA
+JANKOV RANĐEL
+JANKOV SLOBODAN
+JANKOV SLOBODAN
+JANKOV SMILJKA
+JANKOV SPASOJA
+JANKOV SREDOJE
+JANKOV TIHOMIR
+JANKOV VERA
+JANKOV ZAGORKA DR
+JANKOVIĆ ČASLAV
+JANKOVIĆ ČEDO
+JANKOVIĆ ČEDO
+JANKOVIĆ ŽARKO DIPL ING
+JANKOVIĆ ŽARKO
+JANKOVIĆ ŽIVKO
+JANKOVIĆ ŽIVORAD
+JANKOVIĆ ŽIVORAD
+JANKOVIĆ ŽIVORAD
+JANKOVIĆ ĐORĐE
+JANKOVIĆ ĐORĐE
+JANKOVIĆ ĐURĐICA
+JANKOVIĆ ĐURA
+JANKOVIĆ ALEKSANDAR
+JANKOVIĆ ALEKSANDAR
+JANKOVIĆ ANA
+JANKOVIĆ ANICA
+JANKOVIĆ ANKA
+JANKOVIĆ BOŠKO
+JANKOVIĆ BOŠKO
+JANKOVIĆ BOŽIDAR
+JANKOVIĆ BOŽIDAR
+JANKOVIĆ BOŽO
+JANKOVIĆ BOGOLJUB
+JANKOVIĆ BORIVOJ DR LEKAR
+JANKOVIĆ BRANKO
+JANKOVIĆ BRATISLAV
+JANKOVIĆ DARA
+JANKOVIĆ DIMITRIJE
+JANKOVIĆ DIMITRIJE
+JANKOVIĆ DIMITRIJE
+JANKOVIĆ DOBRIVOJE
+JANKOVIĆ DOBRIVOJ
+JANKOVIĆ DRAGANA
+JANKOVIĆ DRAGAN
+JANKOVIĆ DRAGAN
+JANKOVIĆ DRAGAN
+JANKOVIĆ DRAGINJA
+JANKOVIĆ DRAGOMIR
+JANKOVIĆ DRAGOSLAV
+JANKOVIĆ DUŠANKA
+JANKOVIĆ DUŠAN
+JANKOVIĆ DUŠAN
+JANKOVIĆ DUŠICA
+JANKOVIĆ GORDANA
+JANKOVIĆ GORDANA
+JANKOVIĆ HRISTIVOJE
+JANKOVIĆ IGNJAT
+JANKOVIĆ JELICA
+JANKOVIĆ JORDAN
+JANKOVIĆ JOVAN
+JANKOVIĆ JOVAN
+JANKOVIĆ JOVAN
+JANKOVIĆ JOVAN
+JANKOVIĆ JULIJANA
+JANKOVIĆ KALMAN DIPL ING
+JANKOVIĆ KALMAN
+JANKOVIĆ KATICA
+JANKOVIĆ KOVILJKA
+JANKOVIĆ KRSTA
+JANKOVIĆ-KUZMANČEV OLIVERA
+JANKOVIĆ LASLO
+JANKOVIĆ LASLO
+JANKOVIĆ LAZAR
+JANKOVIĆ LAZAR
+JANKOVIĆ LJILJANA
+JANKOVIĆ LJUBICA
+JANKOVIĆ LJUBICA
+JANKOVIĆ LJUBICA
+JANKOVIĆ LJUBOMIR
+JANKOVIĆ MARA
+JANKOVIĆ MARIJAN
+JANKOVIĆ MARIJA
+JANKOVIĆ MARIJA
+JANKOVIĆ MARIJA
+JANKOVIĆ MARIJA
+JANKOVIĆ MARINA
+JANKOVIĆ MARKO
+JANKOVIĆ MELANIJA
+JANKOVIĆ MIĆA
+JANKOVIĆ MIĆA
+JANKOVIĆ MILAN
+JANKOVIĆ MILENA
+JANKOVIĆ MILENKO
+JANKOVIĆ MILENKO
+JANKOVIĆ MILICA
+JANKOVIĆ MILICA
+JANKOVIĆ MILIJANA
+JANKOVIĆ MILINKO
+JANKOVIĆ MILISAV
+JANKOVIĆ MILIVOJE
+JANKOVIĆ MILOJE
+JANKOVIĆ MILOJICA
+JANKOVIĆ MILOMIR
+JANKOVIĆ MILORAD
+JANKOVIĆ MILORAD
+JANKOVIĆ MILORAD
+JANKOVIĆ MILOSAV
+JANKOVIĆ MILOSAV
+JANKOVIĆ MILOSAV
+JANKOVIĆ MILUTIN
+JANKOVIĆ MILUTIN
+JANKOVIĆ MILUTIN
+JANKOVIĆ MILUTIN
+JANKOVIĆ MIRJANA
+JANKOVIĆ MIROLJUB
+JANKOVIĆ MITAR
+JANKOVIĆ MLADEN
+JANKOVIĆ-MRKIĆ ZORA DIPL ING
+JANKOVIĆ NADA
+JANKOVIĆ NADA
+JANKOVIĆ NASTA
+JANKOVIĆ NENAD
+JANKOVIĆ NIKOLA
+JANKOVIĆ OBRAD
+JANKOVIĆ PAVLE
+JANKOVIĆ PAVLE
+JANKOVIĆ PAVLE
+JANKOVIĆ PETAR
+JANKOVIĆ PETAR
+JANKOVIĆ PETAR
+JANKOVIĆ PRVOSLAV
+JANKOVIĆ PRVOSLAV
+JANKOVIĆ RADIVOJE
+JANKOVIĆ RADOMIR
+JANKOVIĆ RADOSLAV
+JANKOVIĆ RADOSLAV
+JANKOVIĆ RADOVAN
+JANKOVIĆ RAJKO
+JANKOVIĆ RAJKO
+JANKOVIĆ RANKO
+JANKOVIĆ RATKO
+JANKOVIĆ ROSA
+JANKOVIĆ RUŽA
+JANKOVIĆ SLAVICA
+JANKOVIĆ SLAVKO
+JANKOVIĆ SLAVKO
+JANKOVIĆ SLOBODAN
+JANKOVIĆ SLOBODAN
+JANKOVIĆ SLOBODAN
+JANKOVIĆ SLOBODAN
+JANKOVIĆ SOFIJA
+JANKOVIĆ SPASA
+JANKOVIĆ SPASOJE
+JANKOVIĆ SPOMENKA
+JANKOVIĆ SRBOLJUB
+JANKOVIĆ STANKO
+JANKOVIĆ STEVAN
+JANKOVIĆ STEVAN
+JANKOVIĆ STEVAN
+JANKOVIĆ STOJANKA
+JANKOVIĆ SVETISLAV
+JANKOVIĆ SVETOZAR
+JANKOVIĆ TIBOR
+JANKOVIĆ TODOR
+JANKOVIĆ TODOR
+JANKOVIĆ TODOR
+JANKOVIĆ VESNA
+JANKOVIĆ VITOMIR
+JANKOVIĆ VITOMIR
+JANKOVIĆ VLADIMIR
+JANKOVIĆ VUKIĆ
+JANKOVIĆ VUKICA
+JANKOVIĆ VUKOMAN
+JANKOVIĆ ZLATOJE
+JANKOVIĆ ZOLTAN
+JANKOVIĆ ZORAN
+JANKOVIĆ ZORAN
+JANKOVIĆ ZORICA
+JANKOVIĆ ZORICA
+JANKOVIĆ ZORICA
+JANKOVIĆ ZORKA
+JANKULOV DANICA
+JANKULOV-DEMJEN MAJA
+JANKULOV DRAGIŠA MR PH
+JANKULOV STEVAN
+JANKULOVSKI MARIJA
+JANKULOVSKI PETAR
+JANO JULIJA
+JANOŠEV BISERKA
+JANOŠEV DRAGICA
+JANOŠEV LJILJANA
+JANOŠEV MILAN
+JANOŠEV MILENA
+JANOŠEV MILENKO
+JANOŠEVIĆ RADIVOJ
+JANOŠI FRANCIŠKA
+JANOŠI ILONA
+JANOŠI KARLO
+JANOŠI LASLO
+JANOŠI MARGITA
+JANOŠI MIHALJ
+JANOŠI MIHALJ
+JANOŠI TEREZA
+JANOŠI ZOLTAN
+JANOVAC ŽIVOJIN
+JANOVIĆ LJILJA
+JANUŠKO IŠTVAN
+JANUS MILKA
+JANUS VOISLAV
+JANUZOVIĆ DUŠANKA
+JANUZOVIĆ JOLAN
+JANUZOVIĆ MILOVAN
+JANUZOVIĆ MIRALJUB
+JANUZOVIĆ NOVICA DR
+JANUZOVIĆ SLOBODAN
+JANUZOVIĆ SVETLANA
+JAPUNDŽA LAZA
+JAPUNDŽIĆ ĐORĐE
+JAPUNDŽIĆ GORDANA
+JAPUNDŽIĆ MIRKO
+JAPUNDŽIĆ NIKOLA
+JAPUNDŽIĆ NIKOLA
+JAPUNDŽIĆ NIKOLA
+JAPUNDŽIĆ SAVA
+JARAK IVAN
+JARAMAZ DIJANA
+JARAMAZ MILOVAN
+JARAMAZ NIKOLA
+JARC ANGEL
+JARI PROKA
+JARIĆ ČEDOMIR
+JARIĆ ALEKSANDAR
+JARIĆ AVDO
+JARIĆ BOJAN
+JARIĆ BRANKO
+JARIĆ DANIELA
+JARIĆ DESANKA
+JARIĆ DRAGANA
+JARIĆ DRAGAN
+JARIĆ DUŠAN DR
+JARIĆ KRISTINA
+JARIĆ KRISTINA
+JARIĆ LJILJANA
+JARIĆ LJILJANA
+JARIĆ MARIJA
+JARIĆ MARIJA
+JARIĆ MILAN
+JARIĆ MILAN
+JARIĆ MILOJKO
+JARIĆ MIRA
+JARIĆ SLOBODAN
+JARIĆ ZORAN
+JARMINAC BRANKO
+JAROŠENKO KATARINA
+JAROŠEVSKI ANTON
+JAROŠEVSKI IVICA
+JAROŠEVSKI PAVEL
+JASENOVSKI ANA
+JASIĆ DIVNA
+JASIĆ JANKO
+JASIĆ MANDA
+JASIĆ MIRKO
+JASIĆ VERICA
+JASIKA RUŽA
+JASIKA STOJANKA
+JASIKIĆ MILORAD
+JASMINOVIĆ JAMIN
+JASNIĆ MILAN DR LEKAR
+JASNIĆ MILAN
+JASNIĆ MILOMIRKA
+JASNIĆ SINIŠA
+JASNIGER ALEKSANDAR
+JATIĆ ANĐELIJA
+JATIĆ DRAGAN
+JATIĆ GRADIMIR
+JATIĆ STEVAN
+JAUKOVIĆ DRAGIŠA
+JAUKOVIĆ PEJKA
+JAUS VALTER
+JAVNI PETAR
+JAVORAN IVAN
+JAVORINA ĐURA
+JAVORINA LJILJANA
+JAVORINA MILE
+JAVORINA SIMO
+JAVORNIK BOSILJKA
+JAVORNIK PAVEL
+JAZIĆ DANILO
+JAZIĆ IVANKA
+JAZIĆ LAZA
+JAZIĆ LJUBOMIR
+JAZIĆ MARINKO
+JAZIĆ MIROSLAV
+JAZIĆ-SAVIN TATJANA
+JAZIĆ SVETLANA
+JAZVIĆ ANKA
+JEČINAC MILAN
+JEČINAC MILORAD
+JEČINAC VERA
+JEČMENICA ALEKSANDAR
+JEČMENICA ALEKSANDAR
+JEČMENICA JELENA
+JEČMENICA MILOŠ
+JEČMENICA VLADIMIR
+JEŠIĆ ŽIVKA
+JEŠIĆ ANĐELKO
+JEŠIĆ DANIJELA
+JEŠIĆ JULKA
+JEŠIĆ MILAN
+JEŠIĆ MIODRAG
+JEŠIĆ MIROSLAVA
+JEŠIĆ STEVAN
+JEŠIĆ ZORAN
+JEŽ DRAGAN
+JEŽ GOSPOJINKA
+JEŽ MILORAD
+JEŽ SLOBODAN
+JEŽ TRIVO
+JEŽEK MILIVOJ
+JECKOV NADA
+JEDERAN JOSIP
+JEDERAN JOSIP
+JEFIĆ GORAN
+JEFTENIĆ ŠPIRO
+JEFTENIĆ VLADO
+JEFTIĆ ŽARKO
+JEFTIĆ BILJANA
+JEFTIĆ BOŽIDAR
+JEFTIĆ BORISLAV DIPL ING
+JEFTIĆ BRANKO
+JEFTIĆ DAMJAN
+JEFTIĆ DRAGAN
+JEFTIĆ JADRANKA
+JEFTIĆ JEFTA
+JEFTIĆ JELENA
+JEFTIĆ JOVAN
+JEFTIĆ KATARINA
+JEFTIĆ LJUBOMIR
+JEFTIĆ MILAN
+JEFTIĆ MILAN
+JEFTIĆ MILENKO
+JEFTIĆ MILORAD
+JEFTIĆ MITA
+JEFTIĆ SRETENKA
+JEFTIĆ TIHOMIR
+JEFTIĆ TOMISLAV
+JEFTIĆ VELINKA
+JEFTIĆ VLADIMIR
+JEFTIĆ VLASTA
+JEFTIĆ ZDRAVKO
+JEFTOVIĆ FRANJA
+JEGARAC OLGA
+JEGDIĆ DAMJAN
+JEGDIĆ GORDANA
+JEGDIĆ SVETISLAV
+JEGDIĆ VASA
+JEGDIĆ VASO
+JEGEŠ MILA
+JEKELIĆ BRANISLAV
+JEKELIĆ BRANKO
+JEKELIĆ EMILIJA
+JEKELIĆ LASLO
+JEKELIĆ MILAN
+JEKELIĆ MILIĆ
+JEKELIĆ RADOSLAV DIPL ING
+JEKELIĆ SLAVKO
+JEKELIĆ ZORICA
+JEKNIĆ RADOJICA
+JELČIĆ JOZEFINA
+JELČIĆ KRISTIJAN
+JELČIĆ LJUBIŠA
+JELČIĆ MILOVAN
+JELČIĆ MILOVAN
+JELČIĆ PAVLE
+JELČIĆ ZORA
+JELAČA ĐURO
+JELAČA ĐURO
+JELAČA BRANKO
+JELAČA DESA
+JELAČA KOSTA
+JELAČA MIHAJLO
+JELAČA MILENKO
+JELAČA RUŽA
+JELAČA SIMO DR ING
+JELAČA SLOBODAN
+JELAČA STANKO
+JELAČA STOJAN
+JELAČIĆ BOŽIDAR
+JELAČIĆ BRANKO
+JELAČIĆ DANILO
+JELAČIĆ DUŠAN
+JELAČIĆ JULIŠKA
+JELAČIĆ LJUBOMIR
+JELAČIĆ MIHAJLO
+JELAČIĆ MILENKO
+JELAČIĆ MIROSLAV
+JELAČIĆ RATOMIR
+JELAČIĆ SLOBODAN
+JELAČIĆ ZORKA
+JELAVIĆ ŽELJKO
+JELAVIĆ DRAGO
+JELEČ ILIJA
+JELEČANIN ĐORĐE
+JELEČANIN MARIJA
+JELEČIĆ JOVAN
+JELENČIĆ FRANJA
+JELENIĆ ŽIVAN
+JELENIĆ MILAN
+JELENIĆ PANTA
+JELENIĆ PAVLE
+JELENIĆ RADA
+JELENIĆ SLOBODAN
+JELENIĆ VASILIJE
+JELENKOVIĆ ALEKSANDAR
+JELENKOVIĆ GROZDA
+JELENKOVIĆ VLADISLAV
+JELESIĆ ANGELA PROFESOR
+JELIČIĆ ŽIVKO
+JELIČIĆ ĐURO
+JELIČIĆ BEATA
+JELIČIĆ BRANKO
+JELIČIĆ DUŠAN
+JELIČIĆ JELENA
+JELIČIĆ JOVO
+JELIČIĆ LJUBICA
+JELIČIĆ MARIJA
+JELIČIĆ MILAN
+JELIČIĆ MILE
+JELIČIĆ MIRKO
+JELIČIĆ PETAR
+JELIČIĆ PETAR
+JELIČIĆ ROSA
+JELIČIĆ VID
+JELIĆ ŽIVKO
+JELIĆ ŽIVKO
+JELIĆ ĐORĐE
+JELIĆ ĐORĐE
+JELIĆ AĆIM
+JELIĆ ANĐA
+JELIĆ ANTE
+JELIĆ BUDIMIR
+JELIĆ DRAGAN
+JELIĆ DRAGUTIN
+JELIĆ DUŠAN
+JELIĆ EMILIJA
+JELIĆ ESTERA
+JELIĆ GORDANA
+JELIĆ IVANKA
+JELIĆ IVICA
+JELIĆ JAGODINKA
+JELIĆ JANJA
+JELIĆ JELENA
+JELIĆ JOVAN
+JELIĆ LAZAR
+JELIĆ LAZAR
+JELIĆ LJUBICA
+JELIĆ LJUBINKA
+JELIĆ LUKA
+JELIĆ MARICA
+JELIĆ MARINA
+JELIĆ-MATIĆ MARIJA
+JELIĆ MILAN
+JELIĆ MILAN
+JELIĆ MILENA
+JELIĆ MILENKO
+JELIĆ MILKA
+JELIĆ MIODRAG
+JELIĆ MIODRAG
+JELIĆ MIRJANA
+JELIĆ MITA
+JELIĆ MOMIR
+JELIĆ NADA
+JELIĆ NEDELJKO
+JELIĆ PAVLE
+JELIĆ PREDRAG
+JELIĆ PREDRAG
+JELIĆ RADENKO
+JELIĆ ROSA
+JELIĆ SAVA
+JELIĆ SIMA
+JELIĆ SLAVICA
+JELIĆ STANIMIR
+JELIĆ STEVAN
+JELIĆ STEVA
+JELIĆ STEVA
+JELIĆ STIPE
+JELIĆ SVETISLAV DIPL ING
+JELIĆ SVETOZAR
+JELIĆ TOMA
+JELIĆ TOMISLAV
+JELIĆ VASA
+JELIĆ VASO
+JELIĆ VIKTORIJA
+JELICKI SIMEUN
+JELIN JOVAN
+JELIN RADMILA
+JELINČIĆ DUJO
+JELINEK STEVAN
+JELISAVAC GORDAN
+JELISAVAC MILOŠ
+JELISAVAC MOMIR
+JELKIĆ JOVAN
+JELKIĆ LAZAR
+JELKIĆ OLIVERA
+JELKIĆ VLADIMIR
+JELOVAC ŽARKO
+JELOVAC ŽARKO
+JELOVAC ĐORĐE
+JELOVAC ĐORĐE
+JELOVAC ĐURO
+JELOVAC BISERKA
+JELOVAC BRANISLAV
+JELOVAC BRANKA
+JELOVAC BRANKA
+JELOVAC BRANKO
+JELOVAC DRAGAN
+JELOVAC DRAGAN
+JELOVAC DUŠAN
+JELOVAC IZABELA
+JELOVAC JOVAN
+JELOVAC MILAN
+JELOVAC MILICA
+JELOVAC MIROSLAV
+JELOVAC MIROSLAV
+JELOVAC NADA
+JELOVAC NIKOLA
+JELOVAC RADOJKA
+JELOVAC RADOJKA
+JELOVAC RADOMIR DR LEKAR
+JELOVAC RUŽICA
+JELOVAC SLOBODAN
+JELOVAC STEVAN
+JELOVAC STOJAN
+JELOVAC TUGOMIR
+JELOVAC VELIMIR
+JELOVAC VLADA
+JELOVAC VUJICA
+JELOVIĆ MILANKA
+JELUŠIĆ GORDANA
+JELUŠIĆ LENKA
+JELUŠIĆ MATIJE
+JEMČ BRANISLAV
+JEMRIĆ JELA
+JENECKOV RADMILA
+JENECKOV SAŠA
+JENEI ANDRAŠ
+JENEI EUGEN
+JENEI LAJOŠ
+JENEI MIODRAG
+JENEI RUŽA
+JENEI STEVAN
+JENEI TIBOR
+JENEV BLAGOJ
+JEPURSKI NENAD
+JERČIĆ FRANJO
+JERANČE DANICA
+JERANT ANDRIJA
+JERANT PATIĆ VERA DR
+JERANT PETAR
+JERAUŠEK FRANJO
+JERAUŠEK IVICA
+JERBIĆ DRAGICA
+JEREBINŠEK ANA
+JEREBINŠEK SLAVKO
+JERELE FRANCIŠKA
+JEREMENKO ALEKSANDRA
+JEREMIĆ ĐOKA
+JEREMIĆ ĐORĐE
+JEREMIĆ ALEKSANDAR
+JEREMIĆ-BLAGOJEVIĆ VERICA
+JEREMIĆ BLAGOJE
+JEREMIĆ DIMITRIJE DR LEKAR
+JEREMIĆ DRAGOSLAV
+JEREMIĆ DUŠANKA
+JEREMIĆ JASNA
+JEREMIĆ JELENA
+JEREMIĆ JOVAN
+JEREMIĆ JOVAN
+JEREMIĆ LAZAR
+JEREMIĆ LJILJANA
+JEREMIĆ MELANIJA
+JEREMIĆ MILEVA
+JEREMIĆ MIRA
+JEREMIĆ MIROSLAV
+JEREMIĆ NADEŽDA
+JEREMIĆ NENAD
+JEREMIĆ OLIVERA
+JEREMIĆ PAVLE
+JEREMIĆ PAVLE
+JEREMIĆ RADE
+JEREMIĆ STANA
+JEREMIĆ STANKO
+JEREMIĆ STANOJE
+JEREMIĆ STEVAN
+JEREMIĆ STEVAN
+JEREMIĆ VASILIJE
+JEREMIĆ VERA
+JEREMIĆ VOJISLAV
+JEREMIĆ ZORA
+JEREMIJIĆ VITOMIR
+JERENIĆ MLADEN
+JERGIĆ MILICA
+JERGIĆ MIODRAG
+JERGIĆ MIRKO
+JERGIĆ PETAR
+JERGIĆ SLAVICA
+JERGIĆ SPASOJE
+JERIĆ DUŠAN
+JERIĆ KOVINKA
+JERIĆ LJUBIŠA
+JERIĆ MILICA
+JERIĆ PETAR
+JERINIĆ BRANKO
+JERINIĆ-KURIN EDIT
+JERINIĆ MIODRAG
+JERINIĆ VOJISLAV
+JERINKIĆ DRAGAN
+JERINKIĆ IVAN
+JERINKIĆ PAVLE
+JERKAN ANTE
+JERKIĆ SVETOZAR
+JERKOV ŽARKO
+JERKOV ANDRIJA
+JERKOV BRANIMIR
+JERKOV JOVAN
+JERKOV JOVICA
+JERKOV JOVICA
+JERKOV MIRJANA
+JERKOV MIRJANA
+JERKOV PAVLE
+JERKOV SMILJA
+JERKOV SNEŽANA
+JERKOV VELJKO
+JERKOV VOJISLAV
+JERKOVIĆ ĐORĐE
+JERKOVIĆ ALEKSANDAR
+JERKOVIĆ DMITAR
+JERKOVIĆ FRANJO
+JERKOVIĆ JOVAN
+JERKOVIĆ JOVAN
+JERKOVIĆ JOVAN
+JERKOVIĆ JOVAN
+JERKOVIĆ KATICA
+JERKOVIĆ KATICA
+JERKOVIĆ LENKA
+JERKOVIĆ MILAN
+JERKOVIĆ MILOŠ
+JERKOVIĆ NADEŽDA
+JERKOVIĆ NIKOLA
+JERKOVIĆ PREDRAG
+JERKOVIĆ RAJKO
+JERKOVIĆ SIMO
+JERKOVIĆ SINIŠA
+JERKOVIĆ SOFIJA
+JERKOVIĆ STEVAN
+JERKOVIĆ STOJAN
+JERKOVIĆ SVETKO
+JERKOVIĆ TADIJA
+JERKOVIĆ VALERIJA
+JERKOVIĆ VASA
+JERKOVIĆ VLADIMIR MR
+JERKOVIĆ VLADIMIR
+JERKOVIĆ VLADO
+JERKOVIĆ VUKOSAVA
+JERKOVIĆ ZORAN
+JEROSIMOVIĆ BRANIMIR
+JEROTIJEVIĆ DARINKA
+JESIĆ MILENA
+JESTRONIĆ TOMISLAV
+JESTROVIĆ IRENA
+JEVĐENIĆ RUŽICA
+JEVĐENIĆ VLADA
+JEVĐOVIĆ MELANIJA DR
+JEVĐOVIĆ MELANIJA
+JEVIĆ ČEDO
+JEVIĆ BRANKO
+JEVIĆ MILAN
+JEVIĆ MILIVOJ
+JEVIĆ MIODRAG
+JEVIĆ MOMČILO
+JEVIĆ NADA
+JEVIĆ NIKOLA
+JEVIĆ TODOR
+JEVREMOV ŽIVA
+JEVREMOV ĐORĐE
+JEVREMOV MILAN
+JEVREMOV MIRJANA
+JEVREMOVIĆ DOBRILA
+JEVREMOVIĆ LJUBINKA
+JEVREMOVIĆ MILIVOJ
+JEVREMOVIĆ MILORAD
+JEVREMOVIĆ MIODRAG
+JEVREMOVIĆ RADIŠA
+JEVREMOVIĆ SINIŠA
+JEVREMOVIĆ SOFIJA
+JEVREMOVIĆ STEVAN
+JEVREMOVIĆ VLADAN
+JEVRIĆ ŽIVAN
+JEVRIĆ ĐORĐE
+JEVRIĆ ĐORĐE
+JEVRIĆ BOŽIDAR
+JEVRIĆ BOGOLJUB
+JEVRIĆ BRANKO
+JEVRIĆ BRATISLAV
+JEVRIĆ DANICA
+JEVRIĆ DESIMIR
+JEVRIĆ DRAGUTIN
+JEVRIĆ EVICA
+JEVRIĆ GIGA
+JEVRIĆ GORAN
+JEVRIĆ JELA
+JEVRIĆ JOVAN
+JEVRIĆ KRISTINA
+JEVRIĆ LJUBICA
+JEVRIĆ MARIJA
+JEVRIĆ MILAN
+JEVRIĆ MILENKO
+JEVRIĆ MILE
+JEVRIĆ MILOŠ
+JEVRIĆ MIROSLAV
+JEVRIĆ RADIŠA
+JEVRIĆ RADIVOJE
+JEVRIĆ RADIVOJ
+JEVRIĆ RADIVOJ
+JEVRIĆ RADOSLAV
+JEVRIĆ RANISAV
+JEVRIĆ SLAVKO
+JEVRIĆ SLAVKO
+JEVRIĆ SLAVKO
+JEVRIĆ SLAVKO
+JEVRIĆ SLOBODAN
+JEVRIĆ SRBOLJUB
+JEVRIĆ STAMENKO
+JEVRIĆ STEVAN DR ING
+JEVRIĆ STEVAN
+JEVRIĆ ZLATOMIR
+JEVTOVIĆ ALEKSANDAR
+JEVTOVIĆ ALEKSANDRA
+JEVTOVIĆ JORDAN
+JEVTOVIĆ MILAN
+JEVTOVIĆ MIRKO
+JEVTOVIĆ RADIVOJE
+JEVTOVIĆ STANISLAVA
+JEVTOVIĆ VOJKAN
+JEVTOVIĆ VUKOTA
+JEVTOVIĆ VULE
+JEZDIĆ DOBRILA
+JEZDIĆ DRAGAN
+JEZDIĆ JOVAN
+JEZDIĆ LJUBOMIR
+JEZDIĆ MOMČILO
+JEZDIĆ SAVA
+JEZDIĆ SPIRA
+JEZDIĆ STEVKA
+JEZDIĆ STOJAN DIPL ING
+JEZDIMIROVIĆ ACA
+JEZDIMIROVIĆ DRAGAN
+JEZDIMIROVIĆ DRAGICA
+JEZDIMIROVIĆ LAZAR
+JEZDIMIROVIĆ MIRJANA
+JEZDIMIROVIĆ STOJANKA
+JEZDIMIROVIĆ ZORICA
+JEZERKIĆ OLGICA
+JIROTA-GAZIBARIĆ DANIELA
+JOČIĆ MOMČILO
+JOČIĆ STANOJLO
+JOČIN ŽIKA
+JOČKOVIĆ JOVAN
+JOŠANOV ALEKSANDRA
+JOŠANOV LAZAR
+JOŠANOV LJUBICA
+JOŠANOV MLADEN
+JOŠEVSKI ĐORĐIJA
+JOŠIĆ ĐURA
+JOŠIĆ BLAŽO
+JOŠIĆ DRAGOSLAV
+JOŠIĆ MILAN
+JOŠIĆ MILIVOJ
+JOŠIĆ MILORAD
+JOŠIĆ PETAR
+JOŽA KATALIN
+JOŽIĆ ĐURA
+JOANOVIĆ CVETKO DIPL ING
+JOANOVIĆ ERŽEBET
+JOANOVIĆ RAMONA
+JOCIĆ ŽIVOJIN DIPL ING
+JOCIĆ ŽIVORAD DR
+JOCIĆ ĐORĐE
+JOCIĆ ALEKSANDAR
+JOCIĆ ANĐELKA
+JOCIĆ ANGELINA
+JOCIĆ ANKICA
+JOCIĆ BORISLAV
+JOCIĆ BRANISLAV DR
+JOCIĆ BRANKA
+JOCIĆ DRAGICA
+JOCIĆ DRAGUTIN
+JOCIĆ FILIP
+JOCIĆ HRISTINA
+JOCIĆ ILIJA
+JOCIĆ ISIDOR
+JOCIĆ JELISAVETA
+JOCIĆ JOVANKA
+JOCIĆ LJILJANA
+JOCIĆ MARIJA
+JOCIĆ MARKO
+JOCIĆ MARKO
+JOCIĆ MARTA
+JOCIĆ MILADINKA
+JOCIĆ MILAN
+JOCIĆ MILAN
+JOCIĆ MILOŠ
+JOCIĆ MILOŠ
+JOCIĆ MIRKO
+JOCIĆ MLADEN
+JOCIĆ NENAD
+JOCIĆ PETAR
+JOCIĆ PETAR
+JOCIĆ PETAR
+JOCIĆ RADIVOJ
+JOCIĆ RADMILA
+JOCIĆ RADOSLAV
+JOCIĆ RODOLJUB
+JOCIĆ SAVA
+JOCIĆ SLOBODAN
+JOCIĆ SMILJA
+JOCIĆ STEVAN DIPL ING
+JOCIĆ STEVAN
+JOCIĆ STEVAN
+JOCIĆ VALERIJA
+JOCIĆ VERA
+JOCIĆ ZORAN
+JOCIN BRANKO
+JOCIN PERSIDA
+JOCIN ZLATOJE
+JOCKOV DANICA
+JOCKOV MANOJLO
+JOCKOV MILANKA
+JOCKOV MILOSAV
+JOCKOV MIROSLAVA
+JOCKOV NIKOLA
+JOCKOV NIKOLA
+JOCKOV RADOVAN
+JOCKOVIĆ ĐORĐE DR
+JOCKOVIĆ JOVANKA
+JOCKOVIĆ OBRAD
+JOCOVIĆ ŽIVOMIR
+JOCOVIĆ MIODRAG
+JOCOVIĆ RADENKO
+JOCOVIĆ ZORICA
+JOCULOV BRANKA
+JOCULOV MIHALJ
+JODAL ROŽA
+JOHIMSTAL AGATA
+JOJIĆ ĐORĐE
+JOJIĆ ALEKSANDAR
+JOJIĆ BOŽIDAR
+JOJIĆ DOINA
+JOJIĆ DRAGI
+JOJIĆ DRAGOSLAV DR
+JOJIĆ DUŠAN
+JOJIĆ GEORGIJE
+JOJIĆ IVANKA
+JOJIĆ IVANKA
+JOJIĆ JELA
+JOJIĆ JELENA
+JOJIĆ LJUBICA
+JOJIĆ MIĆKO
+JOJIĆ MILEVA
+JOJIĆ MILOŠ
+JOJIĆ MIODRAG
+JOJIĆ MIRKO
+JOJIĆ MIRKO
+JOJIĆ MIROLJUB
+JOJIĆ MIROSLAV
+JOJIĆ OLGA
+JOJIĆ SAVA
+JOJIĆ SIMO
+JOJIĆ STANA
+JOJIĆ STEVAN
+JOJIĆ SVETOZAR
+JOJIĆ SVETO
+JOJIN BARBARA
+JOJIN DOBROSAV
+JOJIN SINIŠA
+JOJKIĆ ĐORĐE
+JOJKIĆ ĐORĐE
+JOJKIĆ ĐORĐE
+JOJKIĆ ALEKSANDAR
+JOJKIĆ BORISLAVA
+JOJKIĆ BRANISLAV
+JOJKIĆ DANICA
+JOJKIĆ DINA
+JOJKIĆ DUŠAN
+JOJKIĆ DUŠKO
+JOJKIĆ JOVICA
+JOJKIĆ KATICA
+JOJKIĆ KATICA
+JOJKIĆ LJUBOMIR
+JOJKIĆ MARICA
+JOJKIĆ MARIJA
+JOJKIĆ MARIJA
+JOJKIĆ MILADIN
+JOJKIĆ MILENA
+JOJKIĆ MILENKO
+JOJKIĆ MILICA
+JOJKIĆ MILICA
+JOJKIĆ MIODRAG
+JOJKIĆ MIRJANA DR
+JOJKIĆ MIROSLAV
+JOJKIĆ NADA
+JOJKIĆ OLGA
+JOJKIĆ PAJA
+JOJKIĆ-POLETTO ZORA
+JOJKIĆ RADIVOJ
+JOJKIĆ RADIVOJ
+JOJKIĆ RADOJKA
+JOJKIĆ RADOSLAV
+JOJKIĆ SLAVKO
+JOJKIĆ SMILJKA
+JOJKIĆ SNEŽANA
+JOJKIĆ SOFIJA
+JOJKIĆ SOKO
+JOJKIĆ STANKO
+JOJKIĆ UROŠ
+JOJKIĆ VOJISLAV
+JOJKIĆ ZDRAVKO
+JOKA KATARINA
+JOKA VASO
+JOKANIĆ ILIJA
+JOKANOVIĆ BLAGOJE
+JOKANOVIĆ BOSILJKA
+JOKANOVIĆ BRANKO
+JOKANOVIĆ BRANKO
+JOKANOVIĆ DESIMIR
+JOKANOVIĆ MILORAD
+JOKANOVIĆ RADA
+JOKANOVIĆ RADOMIR
+JOKANOVIĆ SINIŠA
+JOKANOVIĆ TODOR
+JOKANOVIĆ TOMISLAV
+JOKANOVIĆ VLADIMIR DR
+JOKIŠIĆ BRANKO
+JOKIŠIĆ SPASOJE
+JOKIĆ ŽARKO
+JOKIĆ ŽARKO
+JOKIĆ ŽIVAN
+JOKIĆ ĐORĐE
+JOKIĆ ĐURAĐ
+JOKIĆ BOŽIDAR
+JOKIĆ BORISLAV
+JOKIĆ BRANISLAV
+JOKIĆ BUDIMIR
+JOKIĆ CVIJETIN
+JOKIĆ DANE
+JOKIĆ DOBRILA
+JOKIĆ DRAGAN
+JOKIĆ DRAGAN
+JOKIĆ DRAGAN
+JOKIĆ DRAGICA
+JOKIĆ DRAGINJA
+JOKIĆ DUŠANKA
+JOKIĆ DUŠAN
+JOKIĆ DUŠAN
+JOKIĆ DUŠAN
+JOKIĆ DUŠAN
+JOKIĆ DUŠAN
+JOKIĆ DUŠAN
+JOKIĆ IGNJAT
+JOKIĆ JELENA
+JOKIĆ JOKA
+JOKIĆ KRSTAN
+JOKIĆ KSENIJA
+JOKIĆ LAKIĆ
+JOKIĆ LAZO
+JOKIĆ LJILJANA
+JOKIĆ LJUBICA
+JOKIĆ LJUBO
+JOKIĆ LUKA
+JOKIĆ MARA
+JOKIĆ MARIJA
+JOKIĆ MARKO
+JOKIĆ MIHAJLO
+JOKIĆ MILAN
+JOKIĆ MILAN
+JOKIĆ MILAN
+JOKIĆ MILAN
+JOKIĆ MILENKO
+JOKIĆ MILEVA
+JOKIĆ MILIJA
+JOKIĆ MILISAV
+JOKIĆ MILORAD
+JOKIĆ MILOVAN
+JOKIĆ MIRKO
+JOKIĆ MIRKO
+JOKIĆ MIRKO
+JOKIĆ MIRKO
+JOKIĆ MIROSLAV
+JOKIĆ NADA
+JOKIĆ NADA
+JOKIĆ NADICA
+JOKIĆ NENAD
+JOKIĆ NIKOLA
+JOKIĆ NIKOLA
+JOKIĆ PETAR
+JOKIĆ RADIVOJE
+JOKIĆ RADOICA
+JOKIĆ RISTA
+JOKIĆ SAŠA
+JOKIĆ SIMA
+JOKIĆ SINIŠA
+JOKIĆ SLAVKO
+JOKIĆ SLAVKO
+JOKIĆ SLAVKO
+JOKIĆ SNEŽANA
+JOKIĆ STEVAN DIPL ING
+JOKIĆ STEVAN
+JOKIĆ SVETISLAV
+JOKIĆ SVETOZAR
+JOKIĆ SVETOZAR
+JOKIĆ TOMISLAV
+JOKIĆ VELJKO
+JOKIĆ VERA
+JOKIĆ VLADO
+JOKIĆ VOJISLAV
+JOKIĆ VOJISLAV
+JOKIĆ VUJADIN
+JOKIĆ VUKADIN
+JOKIĆ VUKO
+JOKIĆ ZLATA
+JOKIĆ ZORKA
+JOKMANOVIĆ SAVETA
+JOKOVIĆ ŽIVKO
+JOKOVIĆ ĐURĐINA
+JOKOVIĆ DOBRIVOJE
+JOKOVIĆ-MIKIĆ MIRJANA
+JOKOVIĆ MILKA
+JOKOVIĆ RADOSAV
+JOKOVIĆ VOJISLAV
+JOKSIĆ DRAGIŠA
+JOKSIĆ GOJKO
+JOKSIMOVĆ NEBOJŠA
+JOKSIMOVIĆ ŽARKO
+JOKSIMOVIĆ DARKO
+JOKSIMOVIĆ DUŠKO
+JOKSIMOVIĆ GOLUBANKA
+JOKSIMOVIĆ JOVAN DIPL ING
+JOKSIMOVIĆ LJUBICA
+JOKSIMOVIĆ LJUBISAV DR
+JOKSIMOVIĆ LJUBISAV
+JOKSIMOVIĆ MOMČILO
+JOKSIMOVIĆ NADA
+JOKSIMOVIĆ PAVLE
+JOKSIMOVIĆ PETAR
+JOKSIMOVIĆ RADOMIR
+JOKSIMOVIĆ SINIŠA
+JOKSIMOVIĆ STEVAN
+JOKSIMOVIĆ VLADIMIR
+JOKSIMOVIĆ ZLATOMIR
+JOKSIMOVIĆ ZORAN
+JOKSOVIĆ DRAGIŠA
+JOKSOVIĆ SNEŽANA
+JOLDIĆ MARA
+JOLDIĆ MIODRAG
+JOLIĆ ŽIVAN
+JOLIĆ ŽIVOJIN
+JOLIĆ ANGELINA
+JOLIĆ DANILO
+JOLIĆ JADRANKA
+JOLIĆ JOVAN
+JOLIĆ KONSTANTIN
+JOLIĆ KOSTA
+JOLIĆ MIRJANA
+JOLIĆ NEBOJŠA
+JOLIĆ PETAR
+JOLIĆ SLOBODAN
+JOLIĆ UROŠ
+JOLIĆ VASA
+JOLOVIĆ MILOVAN
+JONČIĆ MARA
+JONAŠ DUŠAN
+JONAŠ LASLO
+JONAŠ NIKOLA
+JONIĆ BOŠKO
+JONIĆ DRAGAN
+JONJEV MILIVOJ
+JONJEV SLAVOLJUB
+JONJIĆ SAVO
+JONOVIĆ DUŠAN
+JONOVIĆ PETAR
+JONTOVIĆ ALEKSA
+JONTOVIĆ-BIKIĆ MIRJANA
+JONTOVIĆ RUDOLF
+JONUZOVIĆ VLADIMIR
+JORDAČ ANA
+JORDAN ERŽEBET
+JORDANOV KIRIL
+JORDANOVSKI STANOJKO
+JORGANOVIĆ SIMO
+JORGIĆ ŽIVANA
+JORGIĆ DRAGOMIR
+JORGOVANOVIĆ JELISAVETA
+JOROVIĆ BRANKO
+JOROVIĆ RANKO
+JOSEVSKI SIMEON
+JOSIĆ ALEKSANDAR
+JOSIĆ FILIP
+JOSIĆ ILIJA
+JOSIĆ IVAN
+JOSIĆ KOSANA
+JOSIĆ LJUBINKO
+JOSIĆ LJUBINKO
+JOSIĆ LJUBOMIR
+JOSIĆ MILENKO
+JOSIĆ MIRJANA
+JOSIĆ OBRAD
+JOSIĆ OLGA
+JOSIĆ RADINKA
+JOSIĆ SRĐA
+JOSIĆ STEVAN
+JOSIĆ STEVAN
+JOSIFIDIS KOSTA
+JOSIFOVIĆ DIMITRIJE
+JOSIFOVIĆ DRAGIĆ
+JOSIFOVIĆ LJUBICA
+JOSIFOVIĆ OLGA
+JOSIMČEV ZVONIMIR
+JOSIMOV BORISLAV
+JOSIMOV DRAGOSLAV
+JOSIMOV DUŠAN
+JOSIMOV GLIGORIJE
+JOSIMOV JELENA
+JOSIMOV STEVAN
+JOSIMOV VASILIJE
+JOSIMOV VOJO
+JOSIMOVIĆ ŽIVA
+JOSIMOVIĆ BORIVOJ
+JOSIMOVIĆ BORIVOJ
+JOSIMOVIĆ JULIJANA
+JOSIMOVIĆ MARKO
+JOSIMOVIĆ MILICA
+JOSIMOVIĆ NENAD
+JOSIMOVIĆ SINIŠA
+JOSIMOVIĆ STEVAN
+JOSIMOVIĆ STEVAN
+JOSIMOVIĆ STEVKA
+JOSIMOVIĆ TATJANA
+JOSIMOVIĆ VLADIMIR
+JOSIMOVIĆ VLADIMIR
+JOSIMOVIĆ VLADIMIR
+JOSIMOVIĆ ZDENKA
+JOSIMOVSKI ALEKSANDAR
+JOSIN DRAGAN
+JOSIN MARIJA
+JOSIN MILE
+JOSIN RADICA
+JOSIN RADOVAN
+JOSIN SLOBODAN
+JOSIPOVIĆ BORISLAV
+JOSIPOVIĆ BORO
+JOSIPOVIĆ DANICA
+JOSIPOVIĆ IVICA
+JOSIPOVIĆ PETAR
+JOSIPOVIĆ SLOBODAN
+JOSIPOVIĆ VLADIMIR
+JOTANOVIĆ DARINKA
+JOTANOVIĆ KORNELIJA
+JOTANOVIĆ LJUBOMIR
+JOTANOVIĆ MILIVOJ
+JOTANOVIĆ NEDELJKO
+JOTANOVIĆ RAJKO
+JOTANOVIĆ STANKO
+JOTANOVIĆ TOMISLAV
+JOTIĆ MIROSLAV
+JOVČIĆ DUŠKO
+JOVČIĆ SLAVKO
+JOVČIĆ VLADAN
+JOVAČEVIĆ DMITAR
+JOVAŠEVIĆ SLOBODAN
+JOVANČEVIĆ BOSILJKA
+JOVANČEVIĆ GOJKO
+JOVANČEVIĆ ILIJA
+JOVANČEVIĆ JELICA
+JOVANČEVIĆ JOVAN
+JOVANČEVIĆ JOVAN
+JOVANČEVIĆ KOVILJKA
+JOVANČEVIĆ STEVAN
+JOVANČEVIĆ-ZEKIĆ NIKOLA
+JOVANČEVIĆ-ZEKIĆ NIKOLA
+JOVANČIĆ DRAGICA
+JOVANČIĆ MELANIJA
+JOVANČIĆ MIODRAG
+JOVANČIĆ MIROSLAV
+JOVANCAI MARIJA
+JOVANDIĆ MANDA
+JOVANDIĆ MILOŠ
+JOVANDIN MILAN
+JOVANIĆ ĐORĐE
+JOVANIĆ ĐURO
+JOVANIĆ BOŠKO
+JOVANIĆ BOŠKO
+JOVANIĆ DOBRICA
+JOVANIĆ DUŠAN DIPL ING
+JOVANIĆ MARIJA
+JOVANIĆ MIRKO
+JOVANIĆ MLADEN
+JOVANIĆ MOMIR
+JOVANIĆ OLIVERA
+JOVANIĆ OLIVERA
+JOVANKIN ALEKSANDAR
+JOVANKOVIĆ RADOSLAV
+JOVANOV ŽARKO
+JOVANOV ŽIVA
+JOVANOV BILJANA
+JOVANOV BOŠKO
+JOVANOV BOJANA
+JOVANOV BORISLAV
+JOVANOV BORISLAV
+JOVANOV BRANISLAV
+JOVANOV DRAGAN
+JOVANOV DRAGICA
+JOVANOV DRAGINJA
+JOVANOV DRAGOLJUB
+JOVANOV DRAGOMIR
+JOVANOV DUŠAN
+JOVANOV DUŠAN
+JOVANOV DUŠICA
+JOVANOV IGNJAT
+JOVANOV ISA
+JOVANOV IVAN
+JOVANOV JAŠA
+JOVANOV JASNA
+JOVANOV JELENA
+JOVANOV JOVAN
+JOVANOV JOVAN
+JOVANOV JOVICA
+JOVANOV LAZAR
+JOVANOV LAZAR
+JOVANOV MELANIJA
+JOVANOV MILAN
+JOVANOV MILAN
+JOVANOV MILAN
+JOVANOV MILIVOJ
+JOVANOV MILOŠ
+JOVANOV MIRJANA
+JOVANOV MLADEN
+JOVANOV MOMČILO
+JOVANOV PETAR
+JOVANOV RADIVOJ
+JOVANOV SAVA
+JOVANOV SPOMENKA
+JOVANOV STEVANKA
+JOVANOV STEVAN
+JOVANOV SVETISLAV
+JOVANOV SVETISLAV
+JOVANOV SVETOZAR
+JOVANOV TODOR
+JOVANOV TOMA
+JOVANOV VIDA
+JOVANOV VLADIMIR
+JOVANOVIĆ ČEDA
+JOVANOVIĆ ČEDOMIR
+JOVANOVIĆ ČEDOMIR
+JOVANOVIĆ ČEDOMIR
+JOVANOVIĆ ČEDO
+JOVANOVIĆ ŽIVADIN
+JOVANOVIĆ ŽIVKA
+JOVANOVIĆ ŽIVKO
+JOVANOVIĆ ŽIVKO
+JOVANOVIĆ ŽIVKO
+JOVANOVIĆ ŽIVOJIN
+JOVANOVIĆ ŽIVOJIN
+JOVANOVIĆ ŽIVOJIN
+JOVANOVIĆ ŽIVORAD
+JOVANOVIĆ ŽIVORAD
+JOVANOVIĆ ŽIVOTA
+JOVANOVIĆ ĐENĐI
+JOVANOVIĆ ĐORĐE
+JOVANOVIĆ ĐORĐE
+JOVANOVIĆ ĐORĐE
+JOVANOVIĆ ĐORĐE
+JOVANOVIĆ ĐORĐE
+JOVANOVIĆ ĐORĐE
+JOVANOVIĆ ĐORĐE
+JOVANOVIĆ ĐORĐE
+JOVANOVIĆ ĐORĐE
+JOVANOVIĆ ĐORĐE
+JOVANOVIĆ ĐORĐE
+JOVANOVIĆ ĐORĐE
+JOVANOVIĆ ĐURĐINA
+JOVANOVIĆ ĐURĐINKA
+JOVANOVIĆ ĐURA
+JOVANOVIĆ ĐURO
+JOVANOVIĆ ALEKSANDAR DR
+JOVANOVIĆ ALEKSANDAR
+JOVANOVIĆ ALEKSANDAR
+JOVANOVIĆ ALEKSANDAR
+JOVANOVIĆ ALEKSANDAR
+JOVANOVIĆ ALEKSANDAR
+JOVANOVIĆ ALEKSANDAR
+JOVANOVIĆ ALEKSANDAR
+JOVANOVIĆ ALEKSANDAR
+JOVANOVIĆ ALEKSANDAR
+JOVANOVIĆ ALEKSANDRA
+JOVANOVIĆ ALEKSA
+JOVANOVIĆ ANĐA
+JOVANOVIĆ ANĐA
+JOVANOVIĆ ANĐELIJA DR
+JOVANOVIĆ ANĐELKA
+JOVANOVIĆ ANĐELKO
+JOVANOVIĆ ANDRIJA DIPL ING
+JOVANOVIĆ ANDRIJA DIPL OEC
+JOVANOVIĆ ANDRIJA
+JOVANOVIĆ ANDRIJA
+JOVANOVIĆ ANGELINA
+JOVANOVIĆ ANICA
+JOVANOVIĆ ANKICA
+JOVANOVIĆ ARANĐEL
+JOVANOVIĆ ARSA DR
+JOVANOVIĆ ARSA
+JOVANOVIĆ ARSENIJE
+JOVANOVIĆ-ARSIĆ VIOLETA
+JOVANOVIĆ-BANKOVAČKI JOVANKA
+JOVANOVIĆ BLAGOJE
+JOVANOVIĆ BOŠKO
+JOVANOVIĆ BOŠKO
+JOVANOVIĆ BOŠKO
+JOVANOVIĆ BOŠKO
+JOVANOVIĆ BOŠKO
+JOVANOVIĆ BOŽIDAR PROFESOR
+JOVANOVIĆ BOŽIDAR
+JOVANOVIĆ BOŽO
+JOVANOVIĆ BOGDANKA
+JOVANOVIĆ BOGDANKA
+JOVANOVIĆ BOGDAN
+JOVANOVIĆ BOGDAN
+JOVANOVIĆ BOGDAN
+JOVANOVIĆ BOJANA
+JOVANOVIĆ BORISLAV
+JOVANOVIĆ BORISLAV
+JOVANOVIĆ BORIVOJ DIPL ING
+JOVANOVIĆ BORIVOJ
+JOVANOVIĆ BOSILJKA
+JOVANOVIĆ BRANIBOR
+JOVANOVIĆ BRANIMIR
+JOVANOVIĆ BRANISLAVA
+JOVANOVIĆ BRANISLAV
+JOVANOVIĆ BRANISLAV
+JOVANOVIĆ BRANISLAV
+JOVANOVIĆ BRANISLAV
+JOVANOVIĆ BRANKA
+JOVANOVIĆ BRANKO
+JOVANOVIĆ BRANKO
+JOVANOVIĆ BRANKO
+JOVANOVIĆ BRATISLAV DR
+JOVANOVIĆ BUDIMIR
+JOVANOVIĆ CVETA
+JOVANOVIĆ CVETKO
+JOVANOVIĆ DALIBOR DIPL PRAVNIK
+JOVANOVIĆ DALIBOR
+JOVANOVIĆ DANILO
+JOVANOVIĆ DARINKA
+JOVANOVIĆ DEJAN
+JOVANOVIĆ DEJAN
+JOVANOVIĆ DIMITRIJE
+JOVANOVIĆ DIMITRIJE
+JOVANOVIĆ DIMITRIJE
+JOVANOVIĆ DIMITRIJE
+JOVANOVIĆ DOBRILA
+JOVANOVIĆ DOBRIVOJE
+JOVANOVIĆ DOBROSAV
+JOVANOVIĆ DOBROSAV
+JOVANOVIĆ DRAGANA
+JOVANOVIĆ DRAGANA
+JOVANOVIĆ DRAGAN
+JOVANOVIĆ DRAGAN
+JOVANOVIĆ DRAGAN
+JOVANOVIĆ DRAGAN
+JOVANOVIĆ DRAGAN
+JOVANOVIĆ DRAGAN
+JOVANOVIĆ DRAGAN
+JOVANOVIĆ DRAGAN
+JOVANOVIĆ DRAGAN
+JOVANOVIĆ DRAGAN
+JOVANOVIĆ DRAGAN
+JOVANOVIĆ DRAGIŠA
+JOVANOVIĆ DRAGIĆ
+JOVANOVIĆ DRAGIĆ
+JOVANOVIĆ DRAGICA
+JOVANOVIĆ DRAGICA
+JOVANOVIĆ DRAGICA
+JOVANOVIĆ DRAGICA
+JOVANOVIĆ DRAGIVOJE
+JOVANOVIĆ DRAGOLJUB OEC
+JOVANOVIĆ DRAGOLJUB
+JOVANOVIĆ DRAGOLJUB
+JOVANOVIĆ DRAGOLJUB
+JOVANOVIĆ DRAGOSLAV DIPL ING
+JOVANOVIĆ DRAGOSLAV DIPL ING
+JOVANOVIĆ DRAGOSLAV
+JOVANOVIĆ DRAGOSLAV
+JOVANOVIĆ DRAGOSLAV
+JOVANOVIĆ DRAGOSLAV
+JOVANOVIĆ DRAGOSLAV
+JOVANOVIĆ DRAGOSLAV
+JOVANOVIĆ DRAGOSLAV
+JOVANOVIĆ DRAGOSLAV
+JOVANOVIĆ DRAGO
+JOVANOVIĆ DRAGUTIN
+JOVANOVIĆ DUŠAN DR PROF
+JOVANOVIĆ DUŠAN DR
+JOVANOVIĆ DUŠAN DR
+JOVANOVIĆ DUŠANKA
+JOVANOVIĆ DUŠANKA
+JOVANOVIĆ DUŠAN
+JOVANOVIĆ DUŠAN
+JOVANOVIĆ DUŠAN
+JOVANOVIĆ DUŠAN
+JOVANOVIĆ DUŠAN
+JOVANOVIĆ DUŠAN
+JOVANOVIĆ DUŠAN
+JOVANOVIĆ DUŠAN
+JOVANOVIĆ DUŠAN
+JOVANOVIĆ DUŠAN
+JOVANOVIĆ DUŠAN
+JOVANOVIĆ DUŠAN
+JOVANOVIĆ DUŠAN
+JOVANOVIĆ DUŠAN
+JOVANOVIĆ DUŠAN
+JOVANOVIĆ DUŠAN
+JOVANOVIĆ DUŠAN
+JOVANOVIĆ DUŠKO
+JOVANOVIĆ DUŠKO
+JOVANOVIĆ DUDA
+JOVANOVIĆ ELENA
+JOVANOVIĆ EMICA
+JOVANOVIĆ ESMA
+JOVANOVIĆ EVICA
+JOVANOVIĆ FELICIJA
+JOVANOVIĆ FILIP
+JOVANOVIĆ GEORG
+JOVANOVIĆ GOJKO
+JOVANOVIĆ GOJKO
+JOVANOVIĆ GORAN
+JOVANOVIĆ GORAN
+JOVANOVIĆ GORDANA
+JOVANOVIĆ GORDANA
+JOVANOVIĆ GORDANA
+JOVANOVIĆ GORDANA
+JOVANOVIĆ GORDANA
+JOVANOVIĆ GROZDA
+JOVANOVIĆ GRUJA
+JOVANOVIĆ GRUJICA
+JOVANOVIĆ HRISTINA
+JOVANOVIĆ ILE
+JOVANOVIĆ ILIJA
+JOVANOVIĆ ILIJA
+JOVANOVIĆ ILIJA
+JOVANOVIĆ ILIJA
+JOVANOVIĆ ILIJA
+JOVANOVIĆ ILIJA
+JOVANOVIĆ IRINA
+JOVANOVIĆ IVAN DR
+JOVANOVIĆ IVANKA DR PROF
+JOVANOVIĆ IVANKA
+JOVANOVIĆ IVAN
+JOVANOVIĆ IVAN
+JOVANOVIĆ JAŠA
+JOVANOVIĆ JADRANKA
+JOVANOVIĆ JASMINKA
+JOVANOVIĆ JELA
+JOVANOVIĆ JELENA
+JOVANOVIĆ JELENA
+JOVANOVIĆ JELENA
+JOVANOVIĆ JELENA
+JOVANOVIĆ JELICA
+JOVANOVIĆ JELISAVETA
+JOVANOVIĆ JELISAVETA
+JOVANOVIĆ JELISAVETA
+JOVANOVIĆ JELKA
+JOVANOVIĆ JEVTA
+JOVANOVIĆ JOCA
+JOVANOVIĆ JOVANKA
+JOVANOVIĆ JOVANKA
+JOVANOVIĆ JOVAN
+JOVANOVIĆ JOVAN
+JOVANOVIĆ JOVAN
+JOVANOVIĆ JOVAN
+JOVANOVIĆ JOVAN
+JOVANOVIĆ JOVAN
+JOVANOVIĆ JOVAN
+JOVANOVIĆ JOVAN
+JOVANOVIĆ JOVAN
+JOVANOVIĆ JOVAN
+JOVANOVIĆ JOVAN
+JOVANOVIĆ JOVICA
+JOVANOVIĆ JOVICA
+JOVANOVIĆ JOVICA
+JOVANOVIĆ JOVICA
+JOVANOVIĆ JOVICA
+JOVANOVIĆ JULIJANA
+JOVANOVIĆ JULKA
+JOVANOVIĆ KATARINA
+JOVANOVIĆ KATICA
+JOVANOVIĆ KOSANA
+JOVANOVIĆ KOSTA
+JOVANOVIĆ KOSTA
+JOVANOVIĆ-KOSTIĆ DRAGOSLAVA
+JOVANOVIĆ KOVINKA
+JOVANOVIĆ KSENIJA
+JOVANOVIĆ LAZAR
+JOVANOVIĆ LAZAR
+JOVANOVIĆ LAZAR
+JOVANOVIĆ LAZAR
+JOVANOVIĆ LAZAR
+JOVANOVIĆ LJILJANA
+JOVANOVIĆ LJUBAN
+JOVANOVIĆ LJUBIŠA
+JOVANOVIĆ LJUBIŠA
+JOVANOVIĆ LJUBICA
+JOVANOVIĆ LJUBICA
+JOVANOVIĆ LJUBICA
+JOVANOVIĆ LJUBICA
+JOVANOVIĆ LJUBINKA
+JOVANOVIĆ LJUBINKA
+JOVANOVIĆ LJUBIVOJE DR
+JOVANOVIĆ LJUBOMIR MR
+JOVANOVIĆ LJUBOMIR
+JOVANOVIĆ LJUBO
+JOVANOVIĆ LUKA
+JOVANOVIĆ LUKA
+JOVANOVIĆ LUKA
+JOVANOVIĆ LUKA
+JOVANOVIĆ MALIŠA
+JOVANOVIĆ MARA
+JOVANOVIĆ MARA
+JOVANOVIĆ MARA
+JOVANOVIĆ MARICA
+JOVANOVIĆ MARIJA
+JOVANOVIĆ MARIJA
+JOVANOVIĆ MARIJA
+JOVANOVIĆ MARIJA
+JOVANOVIĆ MARIJA
+JOVANOVIĆ MARIJA
+JOVANOVIĆ MARIJA
+JOVANOVIĆ MARKO
+JOVANOVIĆ MARKO
+JOVANOVIĆ MIĆO
+JOVANOVIĆ MIHAJLO
+JOVANOVIĆ MIHAJLO
+JOVANOVIĆ MIHAJLO
+JOVANOVIĆ MIJAT
+JOVANOVIĆ MIJA
+JOVANOVIĆ MILAŠIN
+JOVANOVIĆ MILADIN
+JOVANOVIĆ MILAN ADVOKAT
+JOVANOVIĆ MILAN DIPL ING
+JOVANOVIĆ MILANKA
+JOVANOVIĆ MILANKA
+JOVANOVIĆ MILANKA
+JOVANOVIĆ MILAN
+JOVANOVIĆ MILAN
+JOVANOVIĆ MILAN
+JOVANOVIĆ MILAN
+JOVANOVIĆ MILAN
+JOVANOVIĆ MILAN
+JOVANOVIĆ MILAN
+JOVANOVIĆ MILAN
+JOVANOVIĆ MILAN
+JOVANOVIĆ MILAN
+JOVANOVIĆ MILAN
+JOVANOVIĆ MILAN
+JOVANOVIĆ MILAN
+JOVANOVIĆ MILAN
+JOVANOVIĆ MILAN
+JOVANOVIĆ MILAN
+JOVANOVIĆ MILENA
+JOVANOVIĆ MILENA
+JOVANOVIĆ MILENA
+JOVANOVIĆ MILENKO DR
+JOVANOVIĆ MILENKO
+JOVANOVIĆ MILENKO
+JOVANOVIĆ MILENKO
+JOVANOVIĆ MILENKO
+JOVANOVIĆ MILENKO
+JOVANOVIĆ MILENKO
+JOVANOVIĆ MILENKO
+JOVANOVIĆ MILENTIJE
+JOVANOVIĆ MILEVA
+JOVANOVIĆ MILE
+JOVANOVIĆ MILE
+JOVANOVIĆ MILIĆ
+JOVANOVIĆ MILIĆ
+JOVANOVIĆ MILICA
+JOVANOVIĆ MILICA
+JOVANOVIĆ MILICA
+JOVANOVIĆ MILIJANA
+JOVANOVIĆ MILISAV
+JOVANOVIĆ MILIVOJE
+JOVANOVIĆ MILIVOJ
+JOVANOVIĆ MILIVOJ
+JOVANOVIĆ MILJANA
+JOVANOVIĆ MILKAN
+JOVANOVIĆ MILOŠ
+JOVANOVIĆ MILOŠ
+JOVANOVIĆ MILOŠ
+JOVANOVIĆ MILOŠ
+JOVANOVIĆ MILOŠ
+JOVANOVIĆ MILOŠ
+JOVANOVIĆ MILOŠ
+JOVANOVIĆ MILOŠ
+JOVANOVIĆ MILONJA
+JOVANOVIĆ MILORAD DIPL ING
+JOVANOVIĆ MILORAD DR LEKAR
+JOVANOVIĆ MILORAD
+JOVANOVIĆ MILORAD
+JOVANOVIĆ MILOVAN
+JOVANOVIĆ MILOVAN
+JOVANOVIĆ MILUTIN
+JOVANOVIĆ MILUTIN
+JOVANOVIĆ MIODRAG
+JOVANOVIĆ MIODRAG
+JOVANOVIĆ MIODRAG
+JOVANOVIĆ MIODRAG
+JOVANOVIĆ MIODRAG
+JOVANOVIĆ MIODRAG
+JOVANOVIĆ MIRA
+JOVANOVIĆ MIRA
+JOVANOVIĆ MIRA
+JOVANOVIĆ MIRJANA
+JOVANOVIĆ MIRJANA
+JOVANOVIĆ MIRJANA
+JOVANOVIĆ MIRKO
+JOVANOVIĆ MIRKO
+JOVANOVIĆ MIRKO
+JOVANOVIĆ MIRKO
+JOVANOVIĆ MIROLJUB
+JOVANOVIĆ MIROSLAVA
+JOVANOVIĆ MIROSLAVA
+JOVANOVIĆ MIROSLAV
+JOVANOVIĆ MIROSLAV
+JOVANOVIĆ MIROSLAV
+JOVANOVIĆ MIROSLAV
+JOVANOVIĆ MIROSLAV
+JOVANOVIĆ MIROSLAV
+JOVANOVIĆ MIROSLAV
+JOVANOVIĆ MIROSLAV
+JOVANOVIĆ MIROSLAV
+JOVANOVIĆ MITAR
+JOVANOVIĆ MLAĐA
+JOVANOVIĆ MLADENKA
+JOVANOVIĆ MLADEN
+JOVANOVIĆ MLADEN
+JOVANOVIĆ MOMČILO
+JOVANOVIĆ MOMČILO
+JOVANOVIĆ MOMIR
+JOVANOVIĆ NADA
+JOVANOVIĆ NADA
+JOVANOVIĆ NADA
+JOVANOVIĆ NADA
+JOVANOVIĆ NADEŽDA
+JOVANOVIĆ NADEŽDA
+JOVANOVIĆ NADEŽDA
+JOVANOVIĆ NEBOJŠA
+JOVANOVIĆ NEDA
+JOVANOVIĆ NEDELJKA
+JOVANOVIĆ NEMANJA
+JOVANOVIĆ NEMANJA
+JOVANOVIĆ NENAD ADVOKAT
+JOVANOVIĆ NENAD
+JOVANOVIĆ NENAD
+JOVANOVIĆ NENAD
+JOVANOVIĆ NEVENA
+JOVANOVIĆ NEVENKA
+JOVANOVIĆ NEVENKA
+JOVANOVIĆ NIKOLA
+JOVANOVIĆ NIKOLA
+JOVANOVIĆ NIKOLA
+JOVANOVIĆ NIKOLA
+JOVANOVIĆ NIKOLA
+JOVANOVIĆ NOVAK
+JOVANOVIĆ NOVICA
+JOVANOVIĆ OBRAD
+JOVANOVIĆ OLGA
+JOVANOVIĆ OLGA
+JOVANOVIĆ OLGA
+JOVANOVIĆ OLGA
+JOVANOVIĆ OLGICA
+JOVANOVIĆ OSTOJA
+JOVANOVIĆ OSTOJA
+JOVANOVIĆ OSTOJA
+JOVANOVIĆ PAVLE
+JOVANOVIĆ PAVLE
+JOVANOVIĆ PAVLE
+JOVANOVIĆ PERA
+JOVANOVIĆ PERICA
+JOVANOVIĆ PERICA
+JOVANOVIĆ PERO
+JOVANOVIĆ PERO
+JOVANOVIĆ PETAR
+JOVANOVIĆ PETAR
+JOVANOVIĆ PETAR
+JOVANOVIĆ PETAR
+JOVANOVIĆ PETAR
+JOVANOVIĆ PETAR
+JOVANOVIĆ PETAR
+JOVANOVIĆ PETAR
+JOVANOVIĆ PREDRAG DR
+JOVANOVIĆ PREDRAG
+JOVANOVIĆ PREDRAG
+JOVANOVIĆ PREDRAG
+JOVANOVIĆ RADE
+JOVANOVIĆ RADIŠA
+JOVANOVIĆ RADINKA
+JOVANOVIĆ RADIVOJ
+JOVANOVIĆ RADIVOJ
+JOVANOVIĆ RADMILA
+JOVANOVIĆ RADMILA
+JOVANOVIĆ RADMILA
+JOVANOVIĆ RADOMIR DR
+JOVANOVIĆ RADOMIR
+JOVANOVIĆ RADONJA
+JOVANOVIĆ RADOSLAVA
+JOVANOVIĆ RADOSLAV
+JOVANOVIĆ RADOSLAV
+JOVANOVIĆ RADOVAN
+JOVANOVIĆ RADOVAN
+JOVANOVIĆ RADOVAN
+JOVANOVIĆ RADOVAN
+JOVANOVIĆ RADOVAN
+JOVANOVIĆ RAJKO
+JOVANOVIĆ RANĐEL
+JOVANOVIĆ RANKO
+JOVANOVIĆ RATKA
+JOVANOVIĆ RUŽA
+JOVANOVIĆ RUŽICA
+JOVANOVIĆ RUŽICA
+JOVANOVIĆ RUŽICA
+JOVANOVIĆ SAŠA
+JOVANOVIĆ SAVA
+JOVANOVIĆ SAVETA
+JOVANOVIĆ SAVO
+JOVANOVIĆ SAVO
+JOVANOVIĆ SELIMIR
+JOVANOVIĆ SERAFIM
+JOVANOVIĆ SIMA
+JOVANOVIĆ SIMA
+JOVANOVIĆ SIMO
+JOVANOVIĆ SINIŠA
+JOVANOVIĆ SLAVICA
+JOVANOVIĆ SLAVKO
+JOVANOVIĆ SLAVKO
+JOVANOVIĆ SLAVKO
+JOVANOVIĆ SLAVKO
+JOVANOVIĆ SLOBODAN DR
+JOVANOVIĆ SLOBODAN
+JOVANOVIĆ SLOBODAN
+JOVANOVIĆ SLOBODAN
+JOVANOVIĆ SLOBODAN
+JOVANOVIĆ SLOBODAN
+JOVANOVIĆ SLOBODAN
+JOVANOVIĆ SMILJA
+JOVANOVIĆ SMILJA
+JOVANOVIĆ SMILJKA
+JOVANOVIĆ SMILJKA
+JOVANOVIĆ SOFIJA
+JOVANOVIĆ SPIRA
+JOVANOVIĆ SPOMENKA
+JOVANOVIĆ SRĐAN
+JOVANOVIĆ SRBISLAV
+JOVANOVIĆ SRETEN
+JOVANOVIĆ STANIŠA
+JOVANOVIĆ STANIMIR
+JOVANOVIĆ STANIMIR
+JOVANOVIĆ STANIMIR
+JOVANOVIĆ STANKO
+JOVANOVIĆ STANOJE
+JOVANOVIĆ STEVAN
+JOVANOVIĆ STEVAN
+JOVANOVIĆ STEVAN
+JOVANOVIĆ STEVAN
+JOVANOVIĆ STEVAN
+JOVANOVIĆ STEVAN
+JOVANOVIĆ STEVAN
+JOVANOVIĆ STEVAN
+JOVANOVIĆ STEVAN
+JOVANOVIĆ STOJŠA
+JOVANOVIĆ-STOJAN GERTRUDA DR
+JOVANOVIĆ STOJANKA
+JOVANOVIĆ STOJANKA
+JOVANOVIĆ STOJAN
+JOVANOVIĆ STOJAN
+JOVANOVIĆ STOJAN
+JOVANOVIĆ STOJAN
+JOVANOVIĆ SUZANA
+JOVANOVIĆ SVETLANA
+JOVANOVIĆ SVETOZAR
+JOVANOVIĆ SVETOZAR
+JOVANOVIĆ SVETOZAR
+JOVANOVIĆ SVETOZAR
+JOVANOVIĆ TATJANA
+JOVANOVIĆ TEODORA
+JOVANOVIĆ TIHOMIR
+JOVANOVIĆ TIHOMIR
+JOVANOVIĆ TODOR
+JOVANOVIĆ TOMA
+JOVANOVIĆ TOMISLAV
+JOVANOVIĆ TOMISLAV
+JOVANOVIĆ TRAJKO
+JOVANOVIĆ TUGOMIR
+JOVANOVIĆ UROŠ
+JOVANOVIĆ VASA
+JOVANOVIĆ VASA
+JOVANOVIĆ VASILIJE
+JOVANOVIĆ VASILIJE
+JOVANOVIĆ VASILIJE
+JOVANOVIĆ VASILIJE
+JOVANOVIĆ VASILJ
+JOVANOVIĆ VELIČKO
+JOVANOVIĆ VELIBOR
+JOVANOVIĆ VELIBOR
+JOVANOVIĆ VELIBOR
+JOVANOVIĆ VELINKA
+JOVANOVIĆ VERA
+JOVANOVIĆ VERA
+JOVANOVIĆ VERA
+JOVANOVIĆ VERA
+JOVANOVIĆ VERICA
+JOVANOVIĆ VERICA
+JOVANOVIĆ VEROLJUB
+JOVANOVIĆ VESELIN
+JOVANOVIĆ VESNA
+JOVANOVIĆ VESNA
+JOVANOVIĆ VESNA
+JOVANOVIĆ VIDA
+JOVANOVIĆ VIDOSLAV
+JOVANOVIĆ VILMA
+JOVANOVIĆ VLADA
+JOVANOVIĆ VLADA
+JOVANOVIĆ VLADIMIR
+JOVANOVIĆ VLADIMIR
+JOVANOVIĆ VLADIMIR
+JOVANOVIĆ VLADIMIR
+JOVANOVIĆ VLADISLAVA
+JOVANOVIĆ VLAJKO
+JOVANOVIĆ VLASTIMIR
+JOVANOVIĆ VOJISLAV DR PROF
+JOVANOVIĆ VOJISLAV
+JOVANOVIĆ VOJISLAV
+JOVANOVIĆ VOJISLAV
+JOVANOVIĆ VOJISLAV
+JOVANOVIĆ VOJISLAV
+JOVANOVIĆ VOJISLAV
+JOVANOVIĆ VUČETA
+JOVANOVIĆ ZAGORKA
+JOVANOVIĆ ZDENKA
+JOVANOVIĆ ZDRAVKO
+JOVANOVIĆ ZDRAVKO
+JOVANOVIĆ ZORAN
+JOVANOVIĆ ZORAN
+JOVANOVIĆ ZORAN
+JOVANOVIĆ ZORAN
+JOVANOVIĆ ZORAN
+JOVANOVIĆ ZORAN
+JOVANOVIĆ ZORAN
+JOVANOVIĆ ZORAN
+JOVANOVIĆ ZORAN
+JOVANOVIĆ ZORAN
+JOVANOVIĆ ZORAN
+JOVANOVIĆ ZORAN
+JOVANOVIĆ ZORA
+JOVANOVIĆ ZORA
+JOVANOVIĆ ZORICA
+JOVANOVIĆ ZORICA
+JOVANOVIĆ ZORICA
+JOVANOVIĆ ZORKA
+JOVANOVIĆ ZVONIMIR
+JOVANOVSKA CVETA
+JOVANOVSKA TASKA
+JOVANOVSKI DIMITAR
+JOVANOVSKI DUŠAN
+JOVANOVSKI MILE
+JOVANOVSKI MILE
+JOVANOVSKI MILICA
+JOVANOVSKI NIKOLA
+JOVANOVSKI PETAR
+JOVANOVSKI SIMEONA
+JOVANOVSKI STOJADIN
+JOVER MIHALJ
+JOVETIĆ ANDRIJA
+JOVETIĆ BRANKO
+JOVETIĆ BRANKO
+JOVETIĆ MILICA
+JOVETIĆ STANKO
+JOVETIĆ VESELIN
+JOVIČEVIĆ VLADIMIR DR
+JOVIČIĆ ČEDOMIR
+JOVIČIĆ ŽARKO
+JOVIČIĆ ŽARKO
+JOVIČIĆ ŽELJKO
+JOVIČIĆ ŽIVAN
+JOVIČIĆ ĐORĐE
+JOVIČIĆ ĐORĐE
+JOVIČIĆ ĐURA
+JOVIČIĆ ANKICA
+JOVIČIĆ BOŠKO
+JOVIČIĆ BOGDAN
+JOVIČIĆ BORA
+JOVIČIĆ BRANE
+JOVIČIĆ BRANISLAVA
+JOVIČIĆ BRANKA
+JOVIČIĆ DEJAN
+JOVIČIĆ DRAGAN
+JOVIČIĆ DRAGAN
+JOVIČIĆ DRAGAN
+JOVIČIĆ DRAGAN
+JOVIČIĆ DRAGOLJUB
+JOVIČIĆ DUŠAN
+JOVIČIĆ DUŠAN
+JOVIČIĆ DUŠKO
+JOVIČIĆ GEORGIJE
+JOVIČIĆ HELENA
+JOVIČIĆ ILIJA
+JOVIČIĆ ILIJA
+JOVIČIĆ JELISAVETA
+JOVIČIĆ JOVAN
+JOVIČIĆ JOVICA
+JOVIČIĆ KATICA
+JOVIČIĆ LAZAR
+JOVIČIĆ LEPOSAVA
+JOVIČIĆ LJILJANA
+JOVIČIĆ LJILJANA
+JOVIČIĆ LJUBICA
+JOVIČIĆ LJUBICA
+JOVIČIĆ LJUBINKA
+JOVIČIĆ LJUBOMIR
+JOVIČIĆ MAKSIM
+JOVIČIĆ MARA
+JOVIČIĆ MARIJA
+JOVIČIĆ MARIJA
+JOVIČIĆ MARKO
+JOVIČIĆ MARKO
+JOVIČIĆ MARKO
+JOVIČIĆ MARKO
+JOVIČIĆ MILADIN
+JOVIČIĆ MILAN
+JOVIČIĆ MILAN
+JOVIČIĆ MILENKO
+JOVIČIĆ MILENKO
+JOVIČIĆ MILICA
+JOVIČIĆ MILICA
+JOVIČIĆ MILOŠ
+JOVIČIĆ MILOŠ
+JOVIČIĆ MILOMIR
+JOVIČIĆ MILORAD
+JOVIČIĆ MILOVAN
+JOVIČIĆ MIROSLAV
+JOVIČIĆ MLADEN
+JOVIČIĆ OBRAD
+JOVIČIĆ OLGA
+JOVIČIĆ PAJA
+JOVIČIĆ PETAR
+JOVIČIĆ RADA
+JOVIČIĆ RADE
+JOVIČIĆ RADISLAV
+JOVIČIĆ RADIVOJE
+JOVIČIĆ RADOMIR
+JOVIČIĆ RADOVAN
+JOVIČIĆ RATKO
+JOVIČIĆ SAVETA
+JOVIČIĆ SIMO
+JOVIČIĆ SLAVKO
+JOVIČIĆ SLOBODANKA
+JOVIČIĆ SLOBODAN
+JOVIČIĆ SRETEN
+JOVIČIĆ STANKO
+JOVIČIĆ SVETISLAV
+JOVIČIĆ SVETOZAR
+JOVIČIĆ SVETOZAR
+JOVIČIĆ TANASIJE
+JOVIČIĆ TATJANA
+JOVIČIĆ TODOR
+JOVIČIĆ UROŠ
+JOVIČIĆ VASA
+JOVIČIĆ VERICA
+JOVIČIĆ VOJIN
+JOVIČIĆ VOJISLAV
+JOVIČIĆ ZDRAVKO
+JOVIČIĆ ZORAN
+JOVIČIN ALEKSANDAR
+JOVIČIN ANICA
+JOVIČIN KATICA
+JOVIČIN LJUBICA
+JOVIČIN LJUBICA
+JOVIČIN MILOVAN
+JOVIČIN SLAVKO
+JOVIČIN SOFIJA
+JOVIČIN TOŠA
+JOVIŠEVIĆ MILAN
+JOVIŠEVIĆ MIRJANA
+JOVIŠEVIĆ ZDRAVKO
+JOVIŠIĆ ŽARKO
+JOVIŠIĆ ĐURO
+JOVIŠIĆ BORO
+JOVIŠIĆ DUŠAN
+JOVIŠIĆ JOVAN
+JOVIŠIĆ MITAR
+JOVIŠIĆ NIKOLA
+JOVIŠIĆ PAVLE
+JOVIŠIĆ PREDRAG
+JOVIŠIĆ SIMO
+JOVIĆ ČEDOMIR
+JOVIĆ ŽARKO
+JOVIĆ ŽARKO
+JOVIĆ ŽIVOJIN
+JOVIĆ ŽIVORAD
+JOVIĆ ŽIVORAD
+JOVIĆ ĐORĐE
+JOVIĆ ALEKSANDAR
+JOVIĆ ALEKSANDAR
+JOVIĆ ANICA
+JOVIĆ BOŠKO
+JOVIĆ BOBAN
+JOVIĆ BORA
+JOVIĆ BRANKO
+JOVIĆ BRANKO
+JOVIĆ CVETA
+JOVIĆ DAVID
+JOVIĆ DIMITRIJE
+JOVIĆ DRAGANA
+JOVIĆ DRAGOLJUB
+JOVIĆ DRAGOLJUB
+JOVIĆ DUŠAN
+JOVIĆ DUŠAN
+JOVIĆ ERIKA
+JOVIĆ GOJKO
+JOVIĆ GORDANA
+JOVIĆ IVANA
+JOVIĆ IVAN
+JOVIĆ JADRANKA DR
+JOVIĆ JASNA
+JOVIĆ JOCO
+JOVIĆ JOVANKA
+JOVIĆ JOVAN
+JOVIĆ JOVAN
+JOVIĆ JOVO
+JOVIĆ KOSTA
+JOVIĆ KSENIJA
+JOVIĆ LJUBIŠA
+JOVIĆ MARICA
+JOVIĆ MARIJAN
+JOVIĆ MARKO
+JOVIĆ MELITA
+JOVIĆ MILADIN
+JOVIĆ MILANKA
+JOVIĆ MILANKA
+JOVIĆ MILAN
+JOVIĆ MILAN
+JOVIĆ MILAN
+JOVIĆ MILENKO
+JOVIĆ MILIVOJE
+JOVIĆ MILOJICA
+JOVIĆ MILUTIN
+JOVIĆ MILUTIN
+JOVIĆ MIRA
+JOVIĆ MIRJANA
+JOVIĆ MIRJANA
+JOVIĆ MIROSLAVA
+JOVIĆ MIROSLAV
+JOVIĆ MITAR
+JOVIĆ NIKOLA
+JOVIĆ NIKOLA
+JOVIĆ NIKOLA
+JOVIĆ NIKOLA
+JOVIĆ PAJICA
+JOVIĆ PERSIDA
+JOVIĆ PETAR
+JOVIĆ PETAR
+JOVIĆ RADE
+JOVIĆ RADIVOJE
+JOVIĆ RADIVOJE
+JOVIĆ RADOVAN
+JOVIĆ RAJKO
+JOVIĆ SAVO
+JOVIĆ SLAVKO
+JOVIĆ SLOBODAN
+JOVIĆ SPASENIJA
+JOVIĆ STANA
+JOVIĆ STANIŠA
+JOVIĆ STANKO
+JOVIĆ STANKO
+JOVIĆ STANKO
+JOVIĆ STEVAN
+JOVIĆ SVETISLAV
+JOVIĆ VASA
+JOVIĆ VELIMIR
+JOVIĆ VELIZAR
+JOVIĆ VELJKO
+JOVIĆ VERA
+JOVIĆ VERA
+JOVIĆ VERA
+JOVIĆ VLADA
+JOVIĆ VLADA
+JOVIĆ VLADA
+JOVIĆ VLADA
+JOVIĆ VLADIMIR
+JOVIĆ VLADISLAV
+JOVIĆ VOJISLAV
+JOVIĆ VUKOSAVA
+JOVIĆ ZDRAVKO
+JOVIĆ ZVONIMIR
+JOVIĆEVIĆ BOŽIDAR
+JOVIĆEVIĆ MILA
+JOVIĆEVIĆ MILUTIN
+JOVIĆEVIĆ NENAD
+JOVIĆEVIĆ STANKO DIPL ING
+JOVIĆEVIĆ VIDOSAVA
+JOVIĆEVIĆ ZORAN
+JOVIN ŽIVA
+JOVIN ANĐELKA
+JOVIN BORIVOJ
+JOVIN BRANKO
+JOVIN DRAGAN
+JOVIN DRAGOMIR
+JOVIN DUŠAN
+JOVIN DUŠAN
+JOVIN IVAN
+JOVIN JELENA
+JOVIN LJUBICA
+JOVIN MILAN
+JOVIN MILIVOJ DR
+JOVIN MILOŠ
+JOVIN MIRJANA
+JOVIN RADOSLAV
+JOVIN RADOVAN
+JOVIN SIMA
+JOVIN SLAVKO DR
+JOVIN SVETLANA
+JOVIN VESNA
+JOVIN ZLATOJE
+JOVIN ZUSKA
+JOVINOV BOGDAN
+JOVKOVIĆ MIODRAG
+JOVKOVIĆ RATOMIR
+JOVOVIĆ ŽELJKO
+JOVOVIĆ ANKA
+JOVOVIĆ BOŽIDAR
+JOVOVIĆ BRANISLAV
+JOVOVIĆ JOVAN
+JOVOVIĆ JOVAN
+JOVOVIĆ LJILJANA
+JOVOVIĆ MILORAD
+JOVOVIĆ MILOVAN
+JOVOVIĆ NIKOLA
+JOVOVIĆ NIKOLA
+JOVOVIĆ RADE
+JOVOVIĆ RADOMIR
+JOVOVIĆ RAJKO
+JOVOVIĆ STANA
+JOVOVIĆ STOJAN
+JOZANOV DANICA
+JOZANOV MILAN
+JOZANOV SLOBODAN
+JOZANOV ZORAN
+JOZEFČAK IVAN
+JOZIĆ JOZA
+JOZIĆ KATARINA
+JOZIĆ MIODRAG
+JOZIĆ MIRKO
+JOZIĆ PEJO
+JUŠIĆ NATALIJA
+JUŠKOVIĆ BRANISLAV
+JUANIN ŽIVOJIN DIPL ING
+JUANIN JOVAN
+JUGIN MILENA
+JUGOVIĆ ĐURAĐ
+JUGOVIĆ LEPOSAVA
+JUGOVIĆ MILE
+JUGOVIĆ MILOŠ
+JUGOVIĆ VESELIN
+JUGOVIĆ ZDRAVKO
+JUHAS ĐERĐ
+JUHAS ANDRAŠ
+JUHAS ANDRAŠ
+JUHAS ANTAL
+JUHAS DEZE
+JUHAS ERNE
+JUHAS EVA
+JUHAS FERENC
+JUHAS FERENC
+JUHAS GEZA DR PROFESOR
+JUHAS GIZELA
+JUHAS IVANKA
+JUHAS JANOŠ
+JUHAS JANOŠ
+JUHAS JELISAVETA
+JUHAS KATARINA
+JUHAS-KOSTIĆ ĐERĐI
+JUHAS LADISLAV
+JUHAS MARIJA
+JUHAS MIHALJ
+JUHAS MIHALJ
+JUHAS MIJO
+JUHAS MIRON
+JUHAS STEVAN
+JUHAS STEVAN
+JUHAS STEVAN
+JUHAS STEVAN
+JUHAS TIBOR DIPL ING
+JUHAS TIBOR
+JUHAS VALERIJA
+JUHAS VIKTORIJA
+JUHAS VLADISLAV
+JUKIĆ BANE
+JUKIĆ FRANJA
+JUKIĆ FRANJO
+JUKIĆ IVICA
+JUKIĆ JOSIP
+JUKIĆ LUKA
+JUKIĆ MARKO
+JUKIĆ NADA
+JUKIĆ VLADISLAV
+JUKOVIĆ RASIM
+JULINAC DRAGINJA
+JUNG ĐERĐ
+JUNG FRANCIŠKA
+JUNG IBOLJKA
+JUNG ILDIKO
+JUNG IVICA
+JUNG JOSIP
+JUNG JOVAN
+JUNG KAROLJ MR
+JUNG MARIJA
+JUNG ROBERT
+JUNG ROBERT
+JUNG VERICA
+JUNUZOVIĆ ISMET
+JUPEK ZDENKA
+JURČEVIĆ MARKO
+JURČIĆ ŽELJKO
+JURČIĆ DESANKA
+JURŠIĆ CVETA
+JURAGA MARKO
+JURAGA MILORAD
+JURAKIĆ GORAN
+JURAKIĆ ILIJA
+JURAKIĆ IVAN
+JURAKIĆ JELA
+JURAKIĆ JOZO
+JURAKIĆ PEJO
+JURAKIĆ STIPO
+JURANJI MARIJA
+JURAS ANICA
+JURAS ANTE
+JURASOVIĆ JOVAN
+JURCA ŽELJKO
+JURCA ĐORĐE
+JURCA IVAN
+JURCA LARISA
+JUREŠEV PETAR
+JUREŠIĆ JOZO
+JUREŠIĆ VERA
+JURIŠEVIĆ ANKA
+JURIŠEVIĆ MARA
+JURIŠEVIĆ MIRKO
+JURIŠIĆ ĐORĐE
+JURIŠIĆ ĐURA
+JURIŠIĆ ALOJZ
+JURIŠIĆ ANDRIJA
+JURIŠIĆ BOGOLJUB
+JURIŠIĆ DRAGAN
+JURIŠIĆ FRANJA
+JURIŠIĆ GOSPAVA
+JURIŠIĆ IGNJAT
+JURIŠIĆ ILINKA
+JURIŠIĆ IVAN
+JURIŠIĆ JELENA
+JURIŠIĆ JOVAN
+JURIŠIĆ KATARINA
+JURIŠIĆ LJUBICA
+JURIŠIĆ MARIJA
+JURIŠIĆ MILENKO
+JURIŠIĆ MILORAD
+JURIŠIĆ MILORAD
+JURIŠIĆ NEDELJKA
+JURIŠIĆ NENAD
+JURIŠIĆ NIKOLA
+JURIŠIĆ OLGA
+JURIŠIĆ OSTOJA
+JURIŠIĆ PETAR
+JURIŠIĆ PETAR
+JURIŠIĆ RADENKO
+JURIŠIĆ STEVAN
+JURIŠIĆ STEVAN
+JURIŠIĆ VLATKO
+JURIŠIĆ ZORKA
+JURIŠIN ŽARKO
+JURIŠIN ŽIVA
+JURIŠIN BRANISLAV
+JURIŠIN DRAGOLJUB
+JURIŠIN LJILJANA
+JURIŠIN MILINA
+JURIŠIN MILOŠ
+JURIŠIN NATALIJA
+JURIŠIN RASTKO DIPL ING
+JURIŠIN SLAVKO
+JURIŠIN VLADIMIR
+JURIĆ ŽIVADINKA
+JURIĆ ANA
+JURIĆ AVGUST
+JURIĆ BOSILJKO
+JURIĆ CVIJO
+JURIĆ FILIP
+JURIĆ ILIJA
+JURIĆ IVAN
+JURIĆ JELKA
+JURIĆ MARIJA
+JURIĆ MARIJA
+JURIĆ MARKO
+JURIĆ MARKO
+JURIĆ MILOŠ
+JURIĆ PAULINA
+JURIĆ PETAR
+JURIĆ SOFIJA
+JURIBAŠIĆ MARIJA
+JURIBAŠIĆ TOMISLAV
+JURIC IVAN
+JURIC JOSIP
+JURIC STJEPAN
+JURICA ANA
+JURICA DALIBOR
+JURICA JAN
+JURIK ŠANDOR
+JURIK DUŠAN
+JURIK JOSIP
+JURIK JOSIP
+JURIK JOVAN
+JURIK MARIJA
+JURIK MIHAL
+JURIK MILKA
+JURIK PAVLE
+JURIK STEVAN
+JURISTOVSKI GEORG DIPL ING
+JURJANOVIĆ DUŠANKA
+JURJEVIĆ JASMINA
+JURKIĆ ANTUN
+JURKIĆ AUGUSTIN
+JURKIĆ MARKO
+JURKOVIĆ ANA
+JURKOVIĆ BILJANA
+JURKOVIĆ BOŽICA
+JURKOVIĆ DRAGAN
+JURKOVIĆ DUŠAN
+JURKOVIĆ KRISTINA
+JURKOVIĆ PETAR
+JURKOVIĆ PETAR
+JURKOVIĆ ZLATKO
+JURKOVIĆ ZVONKO
+JURKOVSKI STEVAN
+JURLINA ANTUN
+JURLINA MARKO DR
+JURLINA PAVLE
+JURUKOVSKI GOSPAVA
+JURUKOVSKI LEVKO
+JURUKOVSKI MILOVANKA
+JUSTIN CIRIL
+JUSTIN DANICA
+JUSUFI BERZAT
+JUSUFOVIĆ AMIR
+JUVAN FANIKA
+KĆIKU ĐAVID
+KĆIKU RAHIM
+KAČAK ILONA
+KAČAPOR SEFEDIN
+KAČAR ČEDOMIR
+KAČAR ĐURO
+KAČAR BRANISLAV
+KAČAR DUŠANKA
+KAČAR SLAVKO
+KAČAR SLOBODAN
+KAČAR SLOBODAN
+KAČAR TADIJA
+KAČAREVIĆ MILAN
+KAČAVENDA BRANISLAVA
+KAČAVENDA LAZO
+KAČAVENDA MILAN
+KAČAVENDA MILORAD
+KAČAVENDA MILORAD
+KAČAVENDA SLOBODAN
+KAČAVENDA TATJANA
+KAČAVENDA TATJANA
+KAČAVENDA VERA
+KAČMARČIK ŠTEFAN
+KAČMARČIK JELENA
+KAŠA TIBOR
+KAŠAI JELISAVETA
+KAŠANIN MILETA
+KAŠANIN MIRA
+KAŠANIN MIRJANA
+KAŠANIN MIROSLAV
+KAŠIĆ ALEKSANDAR
+KAŠIĆ JOVAN DR
+KAŠIĆ MARIJA
+KAŠIĆ MILIVOJ
+KAŠIĆ MLADEN
+KAŠIĆ REVEKA
+KAŠIĆ VERA
+KAŠIĆ VIKTORIJA
+KAŠIĆ VOJISLAV
+KAŠIK IVAN
+KAŠIKOVIĆ ĐORĐO
+KAŠIKOVIĆ BOŠKO
+KAŠIKOVIĆ GOJKO
+KAŠIKOVIĆ PREDRAG
+KAŠIKOVIĆ SLAVKA
+KAŠIKOVIĆ VLADO
+KAŠLIK IMRE
+KAŠLIK MATIJA
+KAŠOVSKI JANKO
+KAŠOVSKI NIKOLA
+KAĆANSKI ŽARKO
+KAĆANSKI ŽARKO
+KAĆANSKI ŽIVKO
+KAĆANSKI ĐORĐE
+KAĆANSKI BOJANA
+KAĆANSKI BRANISLAV
+KAĆANSKI BRANKO
+KAĆANSKI DUŠANKA
+KAĆANSKI DUŠAN
+KAĆANSKI JELISAVETA
+KAĆANSKI KONSTANTIN
+KAĆANSKI LJUBICA
+KAĆANSKI MILIVOJ
+KAĆANSKI MILIVOJ
+KAĆANSKI MILKA
+KAĆANSKI MILORAD
+KAĆANSKI MILUTIN
+KAĆANSKI MIROSLAVA
+KAĆANSKI MLADEN
+KAĆANSKI PAVLE DR LEKAR
+KAĆANSKI PLATON DR
+KAĆANSKI RADOVAN
+KAĆANSKI SIMA
+KAĆANSKI SLAVKO
+KAĆANSKI SMILJA
+KAĆANSKI SOFIJA
+KAĆANSKI SVETISLAV
+KAĆANSKI TODOR
+KAĆANSKI VELINKA
+KAĆANSKI VERA
+KAĆANSKI VLADIMIR VETERINAR
+KAĆANSKI VLADISLAVA
+KAĆIAK MIHAJLO
+KAĆURIN ŽIVAN
+KAĆURIN KRISTINA
+KAĆURIN MILANA
+KAĆURIN MILAN
+KAĆURIN RADOSLAV
+KAŽIĆ VLADIMIR
+KABA SULEJMAN
+KABIĆ ANA
+KABIĆ BOGDAN
+KABIĆ DANILO
+KABIĆ DRAGICA
+KABIĆ DRAGUTIN
+KABIĆ SLOBODAN
+KABIĆ TIMOŠENKO
+KABILJO DRAGICA
+KABILJO JOSIP
+KABILJO SILVIO
+KABOK ERIKA
+KABOK JOŽEF
+KACAROŠ KOSTAS
+KADAŠ LAJOŠ DIPL ING
+KADAR JULIJANA
+KADIĆ ILIJA
+KADIĆ MARIJAN
+KADIĆ NIKOLA
+KADIĆ RADMILA
+KADIĆ SAVA
+KADIJA VOJISLAV
+KADIVNIK MIODRAG
+KADLEČIK KATICA
+KADRIJA FEVZIJA
+KADRIJA HABILJ
+KADRIJA HASAF
+KADRIJA HURMET
+KADVANJ JANOŠ
+KADVANJ JOVAN
+KADVANJ LADISLAV
+KADVANJ LAJOŠ
+KAHRIMAN PETAR
+KAHRIMAN SNEŽANA
+KAHRIMAN SNEŽANA
+KAHRIMAN SNEŽANA
+KAIĆ IVAN
+KAIĆ KATALIN DR
+KAIĆ PETAR
+KAINOVIĆ GORDANA
+KAITOVIĆ JELA
+KAJČIĆ LJILJANA
+KAJČIĆ MILOVAN
+KAJČIĆ VELIMIR
+KAJEVIĆ ŽARKO
+KAJFEŠ ZVONKO
+KAJGANIĆ ILIJA
+KAJGANIĆ LJUBAN
+KAJGANIĆ MILORAD
+KAJGANIĆ VERONIKA
+KAJIŠ ŽELJKO
+KAJIŠ MILE
+KAJIĆ ŽELJKO
+KAJIĆ NADA
+KAJKARA BOGDAN
+KAJKARA MILENKO
+KAJKARA RADOSLAV
+KAJON ALEKSANDAR
+KAJON ANA
+KAJON LJILJANA
+KAJON MIROSLAV
+KAJON MIROSLAV
+KAJTES ĐURO
+KAJTEZ DRAGAN
+KAJTEZ MIRKO
+KAJTEZ NEDELJKO
+KAJTEZ ROZALIJA
+KAJTEZ TRIVUN
+KAJTEZ VALENTINA
+KAJZER KARLO
+KAKAŠ DAMIR
+KAKAŠ ILIJA
+KAKAŠ JOŽEF
+KAKAŠ JOSIP
+KAKAŠ MARIJA
+KAKONJI ANA
+KAKUČKA IŠTVAN
+KAKUČKA JELISAVETA
+KAKUČKA STEVAN
+KALČOV MIHALJ
+KALA GEZA
+KALAČAJI SVETISLAV
+KALAČEVIĆ VLADIMIR
+KALABA BOJAN
+KALABA BRANKO
+KALABA DRAGICA
+KALABA LJUPKO
+KALABA LUKA
+KALABA MARKO
+KALABA MLADEN
+KALABA NIKOLA
+KALABA STEVAN
+KALABIĆ DANE
+KALABIĆ STEVO
+KALABRIĆ BRANKO
+KALABRIĆ MIHOVIL
+KALAFATIĆ MILIVOJ
+KALAFATIĆ NEBOJŠA
+KALAI KAROLJ
+KALAJDŽIĆ DARKO
+KALAJDŽIĆ LUKA
+KALAJDŽIĆ MIHAILO
+KALAJDŽIĆ MILAN
+KALAMANDA DRAGAN
+KALAMANDA SLOBODAN
+KALANJ ĐUKA
+KALANJ DRAGIŠA
+KALANJ FEMKA
+KALANJ STEVAN
+KALANJA DUŠANKA
+KALANJA MIROSLAV
+KALANJEV ZORA
+KALANJOŠ ĐURA
+KALANJOŠ ANA
+KALANJOŠ BORISLAV
+KALANJOŠ JANOŠ
+KALANJOŠ MIRJANA
+KALANJOŠ PETAR
+KALANJOŠ PETAR
+KALANJOŠ RUŽA
+KALANJOŠ RUŽA
+KALANJUŠ ĐURA
+KALANJUŠ FRANJA
+KALAPAŠ EVICA
+KALAPAŠEV DINA
+KALAPAŠEV SINIŠA
+KALAPATI ŠARA
+KALAPATI FERENC
+KALAPATI IVAN
+KALAPATI RUDOLF
+KALAPIŠ RUDI
+KALAPIŠ ZOLTAN
+KALAUZ MARINKO
+KALAUZOV MAŠA
+KALC MILENKA
+KALC MILKO
+KALC SLAVOJKA
+KALEA JELENA
+KALEJSKI ZLATOMIR
+KALEM BRANKO
+KALEM IVANKA
+KALEM MIRJANA
+KALEM NEDELJKO
+KALEM SRETEN
+KALEM SRETEN
+KALEMBER BOŠKO
+KALEMBER MIŠA
+KALEMBER MILENA
+KALEMBER MILIVOJ
+KALEMBER MIRJANA
+KALEMBER SOFIJA
+KALEMBER STOJADIN
+KALEMI ŠERIF
+KALENDER KRISTINA
+KALENIĆ ALEKSANDAR DIPL ING
+KALENIĆ ALEKSANDAR
+KALENIĆ VOJISLAV
+KALENJUK MITAR
+KALENTIĆ BOSA
+KALENTIĆ RADOVAN
+KALEZIĆ JELENA
+KALEZIĆ JOVANKA
+KALEZIĆ OLGA
+KALEZIĆ TOMISLAV
+KALIČANIN MOMČILO
+KALIĆ DRAGANA
+KALIĆ JOSIP
+KALIĆ JOVANKA
+KALIĆ MILENA
+KALIĆ MUSTAFA
+KALIĆ OLGA
+KALIĆ RADOVAN
+KALIĆ SOFIJA
+KALIK GROZDA
+KALIN EDUARD
+KALIN MARIJAN
+KALINIĆ DANICA
+KALINIĆ JOVO
+KALINIĆ KRSTO
+KALINIĆ MILADIN
+KALINIĆ MILICA
+KALINIĆ NADA
+KALINSKI DARKO
+KALIVODA RUDOLF
+KALJEVIĆ ALEKSANDAR
+KALJEVIĆ KRSTO
+KALJEVIĆ STEVAN
+KALKAN MILAN
+KALMAN KLARA
+KALMAN MIHAJLO
+KALMAN MIKLOŠ
+KALMAN RADICA
+KALMAR ĐORĐE
+KALMAR ĐURA
+KALMAR ANA
+KALMAR FERENC
+KALMAR FRANJA
+KALMAR GRGUR
+KALMAR IŠTVAN
+KALMAR LAJOŠ
+KALMAR MIRKO
+KALMAR-VEREŠ GIZELA
+KALMAR VLADIMIR
+KALMAREVIĆ ALEKSANDAR
+KALNOK SLOBODAN
+KALOČAI ŠANDOR
+KALOČAI IŠTVAN
+KALOČAI LENKE
+KALOČAI PETAR
+KALOČAJI ĐORĐE
+KALOČANJ FERENC
+KALOCI IVAN
+KALOCI LADISLAV
+KALOCI TIBOR
+KALOCI VESELINKA
+KALOPER JOVANKA
+KALOPER PERICA
+KALOZI ARANKA
+KALTNEKER EMILIJA
+KALTNEKER EMILIJA
+KALUŠEV GLIŠA
+KALUŠKA SLAVKO
+KALUŽIĆ KATICA
+KALUŽIĆ NADA
+KALUĐEROVIĆ MARKO
+KALUĐEROVIĆ MILIVOJE
+KALUĐEROVIĆ MILOŠ
+KALUĐEROVIĆ MIRIJANA
+KALUĐEROVIĆ MLADEN
+KALUĐEROVIĆ MOMČILO
+KALUĐEROVIĆ OLIVERA
+KALUĐEROVIĆ UROŠ
+KALUĐERSKI ĐOKA
+KALUĐERSKI ĐOKA
+KALUĐERSKI AGNEZA
+KALUĐERSKI BORIS
+KALUĐERSKI GAVRA
+KALUĐERSKI MILORAD
+KALUĐERSKI MIROSLAV
+KALUĐERSKI SINIŠA
+KALUĐERSKI STOJAN DR
+KALUGER NIKOLA
+KALUGER ZORAN
+KAMČESKA DRAGICA
+KAMČESKI DIMČE
+KAMČESKI STEVAN
+KAMČEVIĆ ANA
+KAMČEVSKI SAVA
+KAMARIT ZORAN
+KAMASI FERENC
+KAMASI FERENC
+KAMASI IMRE
+KAMASI JANOŠ
+KAMBERI DUŠAN
+KAMBERI MUSA
+KAMBEROVIĆ BATO
+KAMBEROVIĆ SINIŠA
+KAMENAROVIĆ GLIGORIJE
+KAMENAROVIĆ MILAN
+KAMENAROVIĆ NIKOLA
+KAMENJICKI JULIJAN
+KAMENKO MILAN
+KAMENKO RADE
+KAMENKO RADE
+KAMENKO VERA
+KAMENKOVIĆ ALEKSANDRA
+KAMENKOVIĆ DOBRILA
+KAMENKOVIĆ JOSIP
+KAMENKOVIĆ JOVANKA
+KAMENKOVIĆ OLGA
+KAMENOV EMIL DR
+KAMPEL IVAN
+KAMPIĆ PAVLE
+KAMRA IVAN
+KANČAR ERŽEBET
+KANAČKI ŽARKO
+KANAČKI LJILJANA
+KANAČKI MAGDALENA
+KANAČKI STEVAN
+KANAČKI ZLATA
+KANAZIR ŽIVKA
+KANAZIR ALEKSANDAR
+KANAZIR-BELIĆ MILICA
+KANAZIR BORISLAV
+KANAZIR BORISLAV
+KANAZIR BRANISLAV
+KANAZIR CVETA
+KANAZIR DRAGICA
+KANAZIR DRAGICA
+KANAZIR DUŠAN
+KANAZIR IVANKA
+KANAZIR JOVANKA
+KANAZIR JOVAN
+KANAZIR KOSTA
+KANAZIR KOSTA
+KANAZIR KOSTA
+KANAZIR MARIJA
+KANAZIR MILAN
+KANAZIR MILICA
+KANAZIR MILOVAN
+KANAZIR RADIVOJ
+KANAZIR SLAVKO
+KANAZIR VASA
+KANAZIR VERICA DR
+KANAZIR VUKICA
+KANAZIR ZAHARIJE
+KANBAN MILICA
+KANDIĆ NADA
+KANDIĆ RADMILA
+KANDIĆ SMILJANA
+KANDIĆ VIDOJE
+KANDRAČ ĐORĐE
+KANDRAČ LEONA
+KANGRGA ANKA
+KANGRGA KOSTA
+KANGRGA RUŽA
+KANIŽAI EVA
+KANJA JAN
+KANJERIĆ MATE
+KANJO IŠTVAN
+KANJO STJEPAN
+KANJO ZOLTAN
+KANJUH JAKIM
+KANJUH JOAKIM
+KANJUH MARICA
+KANJUH MIRA
+KANJUH VLADIMIR
+KANJUH ZVONKO
+KANJUKA IVAN
+KANJUKA VLADIMIR
+KANKARAŠ RADOSAV
+KANKARAŠ VESELIN
+KANLIĆ MILAN
+KANLIĆ ZARIJA
+KANOVIĆ PAVLE DIPL ING
+KANTAR ĐURO
+KANTAR DMITAR
+KANTAR KAJA
+KANTAR MILAN
+KANTAR MILOŠ
+KANTAR MIROSLAV
+KANTAR NIKOLA
+KANTAR OSTOJA
+KANTAR VLADO
+KANTARDŽIĆ ĐORĐE
+KANTARDŽIĆ GORDANA
+KANTARDŽIĆ JELENA
+KANTARDŽIĆ KATICA
+KANTARDŽIĆ KOSTA
+KANTARDŽIĆ LAZAR
+KANTARDŽIĆ LAZA
+KANTARDŽIĆ MILICA
+KANTARDŽIĆ MILOVAN
+KANTARDŽIĆ MILOVAN
+KANTARDŽIĆ MIROSLAV
+KANTARDŽIĆ MLADEN
+KANTARDŽIĆ NADA
+KANTARDŽIĆ OLGA
+KANTARDŽIĆ PETAR
+KANTARDŽIĆ STEVAN
+KANTARDŽIĆ VASA
+KANTINKOSKI HANU
+KANTOR LAJOŠ
+KANTOR OSKAR
+KANURIĆ ALEKSANDAR
+KANURIĆ MILICA
+KANURIĆ ZORKA
+KANURSKI JOVAN
+KANURSKI VIDOSAVA
+KAPAMADŽIJA ALEKSANDRA
+KAPAMADŽIJA BORISLAV DR
+KAPAMADŽIJA DUŠANKA
+KAPAMADŽIJA RADMILA
+KAPAMADŽIN JOVAN
+KAPELAN NIKOLA
+KAPES ALEKSANDAR
+KAPES ZDRAVKA
+KAPETANIĆ TOMISLAV
+KAPETANOV MIRJANA
+KAPETANOV SVETISLAV
+KAPETANOV VUKICA
+KAPETANOVIĆ JOVAN
+KAPETANOVIĆ MIDHAT
+KAPETANOVIĆ MOMČILO
+KAPETANOVIĆ OLGA
+KAPETANOVIĆ RATKO
+KAPETANOVIĆ VERICA
+KAPIČIĆ DUŠAN
+KAPIČIĆ SAVO
+KAPIČIĆ STEVAN
+KAPICL DRAGUTIN
+KAPITANJ LASLO
+KAPLAR ŽIVAN
+KAPLAR MARIJA
+KAPLAREVIĆ MIODRAG
+KAPLARSKI KONSTANTIN
+KAPLARSKI MLADEN
+KAPLARSKI SVETLANA
+KAPLIJEV PETAR
+KAPMAJER ALEKSANDAR
+KAPOČ ANTAL
+KAPOČ JUDIT
+KAPOR AGNEŠ
+KAPOR ALEKSANDAR
+KAPOR DESANKA
+KAPOR GOJKO
+KAPOR KATARINA
+KAPOR NADA
+KAPOR NOVICA
+KAPOR STANA
+KAPOSTA TEREZA
+KAPRIŠ MIRJANA
+KAPUĆ ILONA
+KARĆAŠ MILKA
+KARAČ MIRKO
+KARAČONJI IŠTVAN
+KARAĆ DRAGAN
+KARAĆ DUŠAN
+KARAĆ DUŠAN
+KARAĆ ILIJA
+KARAĆ JELICA
+KARAĆ LJUBOMIR
+KARAĆ MARIJA
+KARAĆ MILENKO
+KARAĆ RADENKO
+KARAĆ RAJKO
+KARAĆ SLOBODAN
+KARAĐENOV IVAN
+KARAĐENOV IVAN
+KARAĐENOV MIRJANA
+KARAĐINOVIĆ ŠPIRO
+KARAĐINOVIĆ NENAD
+KARAĐINOVIĆ PETAR
+KARAĐINOVIĆ VELIMIR
+KARAĐINOVIĆ ZORA
+KARABA IRENA DR LEKAR
+KARABA JOVAN
+KARABA OLGA
+KARABAŠ MILIVOJ
+KARABAŠ SLOBODAN
+KARABASIL DRAGAN
+KARABASIL VIDOMIR
+KARABEGOVIĆ DANILO
+KARADŽIĆ ŠUJO
+KARADŽIĆ ŽARKO
+KARADŽIĆ ĐORĐE
+KARADŽIĆ ARSENIJE
+KARADŽIĆ AVRAM
+KARADŽIĆ BOŽO
+KARADŽIĆ BRATISLAV
+KARADŽIĆ JOVAN
+KARADŽIĆ JOVAN
+KARADŽIĆ KSENIJA
+KARADŽIĆ MARIJA
+KARADŽIĆ MILORAD
+KARADŽIĆ MIODRAG
+KARADŽIĆ MIROSLAV
+KARADŽIĆ NENAD
+KARADŽIĆ RELJA
+KARADŽIĆ RUŽA
+KARADŽIĆ SLAVICA
+KARADŽIĆ TVRTKO
+KARADŽIĆ VERA
+KARADŽIĆ VUK
+KARADŽIĆ ZORAN
+KARADŽIĆ ZORAN
+KARADAREVIĆ MILAN
+KARADAREVIĆ MILOŠ
+KARADEGLIĆ KOSA
+KARAGA NIKOLA
+KARAGIĆ-LIPINSKI ILONA
+KARAICA ZORAN
+KARAJKOV ALOJZIJE
+KARAJKOV VLADIMIR
+KARAJKOV VLADIMIR
+KARAJLOVIĆ ĐURO
+KARAJOVIĆ MILUTIN
+KARAKAŠ MIRJANA
+KARAKAŠEVIĆ DESANKA
+KARAKAŠEVIĆ DRAGICA
+KARAKAŠEVIĆ EVICA
+KARAKAŠEVIĆ STEVAN
+KARAKAŠEVIĆ ZORA
+KARAMARKOVIĆ MILA
+KARAMATIĆ ANTE
+KARAN ŽELJKO
+KARAN DRAGAN
+KARAN-KERN BARBARA
+KARAN MILAN
+KARAN MILENKO
+KARAN MILINKO
+KARAN SAVO
+KARAN SRĐO
+KARANJAC DRAGOSLAV
+KARANJAC LJUBICA
+KARANJAC VEROLJUB
+KARANOV ŽIVAN
+KARANOV BUDIMKA
+KARANOV DRAGOLJUB
+KARANOV KUZMAN
+KARANOV MILAN
+KARANOV MILOVAN
+KARANOV MIROSLAV
+KARANOV SOFIJA
+KARANOVIĆ ĐORĐE
+KARANOVIĆ BOŽO
+KARANOVIĆ DRAGAN
+KARANOVIĆ DUŠAN
+KARANOVIĆ DUŠAN
+KARANOVIĆ EMILIJA
+KARANOVIĆ GRETA
+KARANOVIĆ ILIJA
+KARANOVIĆ ILIJA
+KARANOVIĆ ILIJA
+KARANOVIĆ IVICA
+KARANOVIĆ JOVAN
+KARANOVIĆ KATICA
+KARANOVIĆ LJILJANA
+KARANOVIĆ LJUBA
+KARANOVIĆ MILAN
+KARANOVIĆ MILAN
+KARANOVIĆ MILOMIR
+KARANOVIĆ MILUTIN
+KARANOVIĆ MIRJANA
+KARANOVIĆ MIRKO
+KARANOVIĆ NIKOLA
+KARANOVIĆ PERO
+KARANOVIĆ RATKO
+KARANOVIĆ SLAVKO
+KARANOVIĆ SLOBODAN
+KARANOVIĆ STEVAN
+KARANOVIĆ STEVO
+KARANOVIĆ SVETOZAR
+KARANOVIĆ TRIVO
+KARANOVIĆ VESO
+KARANOVIĆ VLADIMIR
+KARAPANŽA MARIJA
+KARAPANDŽA LJILJANA
+KARAPANDŽA VITOMIR
+KARAPANDŽIĆ ĐURA
+KARAPANDŽIĆ GORDANA
+KARAPANDŽIĆ MIRJANA
+KARAPANDŽIN BARBARA
+KARAPANDŽIN ZORKA
+KARAS KAZIMIR
+KARAS MAGDA
+KARAS PETAR
+KARAS PETAR
+KARASALIHOVIĆ SMAIL
+KARASEK KAROLJ
+KARASIJ BORIS
+KARASIJ JASMINA
+KARASIJ VERONIKA
+KARATI EUGEN
+KARATUR JADRANKA
+KARAVLA KATARINA
+KARAVLA ZLATKO
+KARAVLA ZORICA
+KARBAN RUDOLF
+KARDAŠ OBRAD
+KARDAŠ OLGA
+KARDAŠEVIĆ BRANISLAV
+KARDAŠEVIĆ FIJA
+KARDAŠEVIĆ HUSNIJA
+KARDOŠ ALEKSANDAR
+KARDOŠ ERIKA
+KARDOŠ ILONA
+KARDOŠ LAJOŠ
+KARDOŠ PAL
+KARDOŠ VERONIKA
+KARDOV JOSIP
+KARDUM ĐORĐE
+KARGAČIN JELISAVETA
+KARIŠIĆ IVANKA
+KARIŠIK DANE
+KARIŠIK JOVANKA
+KARIŠIK MILUTIN
+KARIĆ BOSILJKA
+KARIĆ JOVANKA
+KARIĆ RADOSLAV
+KARIĆ SAVA
+KARIĆ SAVA
+KARIĆ SVETISLAV
+KARIKO JOSIP
+KARIKO MARIJA
+KARIKO TEREZA
+KARINA DRAGICA
+KARIUS MARIJA
+KARIUS VERA
+KARLAŠ MILORAD
+KARLAVARIS DRAGAN
+KARLAVARIS IVAN
+KARLAVARIS NADA
+KARLAVARIS RADIVOJ
+KARLAVARIS-ZEKOVIĆ MIRELA
+KARLIĆ JEFTA
+KARLIĆ LAZAR
+KARLIĆ MILIVOJ
+KARLO VAJDA
+KARLOVČEC MIRKO
+KARLOVIĆ ĐERĐ
+KARLOVIĆ MARICA
+KAROLIĆ LJUBICA
+KAROLIĆ MIRKO
+KAROLIĆ MIROSLAV
+KAROLJI JANOŠ
+KAROLJI LASLO
+KAROVIĆ GLIŠA
+KARPATI LASLO
+KARPONJA JULIJANA
+KARPONJA SINIŠA
+KARTAG NANDOR
+KARTAI LAJOŠ
+KARTALOVIĆ MILAN
+KARTJE JOVAN
+KARVAK EMA
+KARVAK GEZA
+KASA ĐERĐ
+KASA ANDRIJA
+KASA ANTAL
+KASA FRANJA
+KASA IDA
+KASA IMRE
+KASA JELENA
+KASA MIHALJ
+KASA RUŽA
+KASA RUŽA
+KASA ZORKA
+KASAŠ ALEKSANDAR MR
+KASAŠ ALEKSANDAR
+KASAŠ IMRE
+KASAŠ IMRE
+KASAŠ IMRE
+KASAŠ JANOŠ
+KASAŠ JOŽEF
+KASAŠ JOSIP
+KASAŠ KAROLJ
+KASAŠ KAROLJ
+KASAŠ KAROLJ
+KASAŠ OLGA
+KASAGIĆ BORISLAV
+KASALICA ŽARKO
+KASALICA ŽIVKO
+KASALICA MILAN
+KASALICA STEVANIJA
+KASAP ERVIN
+KASAPOV STEVAN
+KASAPOVIĆ MARA
+KASAPOVIĆ MEHO
+KASAPOVIĆ TIHOMIR
+KASAPSKI ŽARKO
+KASAPSKI JELKA
+KASAR SELIM
+KASIĆ DANICA
+KASNER MIJOLJKA
+KASPER ALEKSANDAR
+KASPER FERENC
+KASPER FRANJA
+KASPER LADISLAV
+KASPER STEVAN
+KASTELI ĐURĐINKA
+KASTELI MARKO
+KASTORI RUDOLF
+KASTRATI FADIL
+KASTRATOVIĆ ALEKSANDAR
+KASTRATOVIĆ BOGDAN
+KASTRATOVIĆ MIHAILO
+KASTRATOVIĆ VLADIMIR
+KASTRATOVIĆ ZORAN
+KASTRATOVIĆ ZORAN
+KATAŠIĆ PETAR
+KATALENIĆ DUŠAN
+KATALINČEV ŽIVAN
+KATANA ANGELINA
+KATANA NIKOLA
+KATANIĆ ANĐELKA
+KATANIĆ JECA
+KATANIĆ KSENIJA
+KATANIĆ LJUBICA
+KATANIĆ MARA
+KATANIĆ RADIVOJ
+KATANIĆ RADOMIR
+KATANIĆ SAVA DR
+KATANSKI MILOŠ
+KATANSKI PAVLE
+KATARINČIĆ CELESTIN
+KATARIVAS ELA
+KATARIVAS-NIKOLIĆ GIZELA
+KATATIĆ ILONA
+KATAVA RUDOLF
+KATAVIĆ DANILKA
+KATAVIĆ MARIJA
+KATAVIĆ RADMILA
+KATIĆ ADA
+KATIĆ ALEKSANDAR DIPL ING
+KATIĆ BOSILJKA
+KATIĆ DARA
+KATIĆ DOBRILA
+KATIĆ GOJKO
+KATIĆ ILIJA
+KATIĆ ILIJA
+KATIĆ IVAN
+KATIĆ JOVAN
+KATIĆ JOVO
+KATIĆ KOSTA
+KATIĆ KRSTA
+KATIĆ KSENIJA
+KATIĆ LJILJANA
+KATIĆ LJUBINKO
+KATIĆ LUKA
+KATIĆ MARGARETA
+KATIĆ MARIJA
+KATIĆ MILAN
+KATIĆ MILAN
+KATIĆ MILORAD
+KATIĆ MILORAD
+KATIĆ MITA
+KATIĆ NIKOLA
+KATIĆ NOVAK
+KATIĆ OTILIJA
+KATIĆ PAVLE DR
+KATIĆ RADIVOJ
+KATIĆ RATKO
+KATIĆ SAVO
+KATIĆ SLOBODAN
+KATIĆ SLOBODAN
+KATIĆ SNEŽANA
+KATIĆ SRETEN
+KATIĆ STANKO
+KATIĆ SVETISLAV
+KATIĆ SVETLANA
+KATIĆ VESELA
+KATIĆ VESNA
+KATIĆ VLADIMIR
+KATIĆ ZLATOMIR
+KATINČIĆ ŽELIMIR DIPL ING
+KATNIĆ SAVETA
+KATONA IMRE
+KATONA JOŽEF
+KATONA LAJOŠ DIPL ING
+KATONA LASLO
+KATONA VINCE
+KAURIĆ NIKOLA
+KAURIN JURE
+KAURIN KRSTO
+KAURIN LAZAR
+KAURIN MOMČILO
+KAURIN NEDELJKO
+KAURIN VASO
+KAURINOVIĆ BOŽIDAR
+KAURINOVIĆ SIMO DIPL ING
+KAUTEN JOHAN
+KAVČIĆ STEVAN
+KAVAJA LUKA
+KAVAJA NIKO
+KAVALIĆ BORISLAV
+KAVEČAN IVAN DR
+KAVEČAN NIKOLA
+KAVGIĆ MIODRAG
+KAVGIĆ NIKOLA
+KAVGIĆ PETAR
+KAVGIĆ PETAR
+KAVGIĆ STEVAN
+KAVRAJA STEVAN
+KAVRAJA SVETOZAR
+KAVRAN ŽELJKO
+KAZAFEROVIĆ REŠAD
+KAZANCEV JOSIPA
+KAZI ERNE
+KAZI JOŽEF
+KAZIJA SMILJKA
+KAZIMIĆ STEVAN
+KAZIMIROVIĆ ANA
+KAZIMIROVIĆ LJUBISAV
+KAZIMIROVIĆ MIRJANA
+KAZIMIROVIĆ NESTOR
+KEČA BOJANA
+KEČA DUŠANKA
+KEČA ILIJA
+KEČA MIKAN
+KEČA MILAN
+KEČA MILAN
+KEČA MILAN
+KEČA MILENKO
+KEČA MILEVA
+KEČA PERO
+KEČA RANKO
+KEČA SLOBODAN
+KEČA VOJIN
+KEČIĆ ŽIVAN
+KEČIĆ MILAN AKADEMSKI SLIKAR
+KEČKEŠ ĐERĐ
+KEČKEŠ FERENC
+KEČKEŠ JOSIP
+KEČKEMETI IŠTVAN
+KEČKI RUŽICA
+KEŠANSKI IVKA
+KEŠANSKI KATICA
+KEŠANSKI RADENKO
+KEŠANSKI RADIVOJ
+KEŠANSKI RUŽICA
+KEŠANSKI SIMO
+KEŠANSKI STANISLAV
+KEŠELJ ČEDOMIR
+KEŠELJ EVA
+KEŠELJ GOJKO
+KEŠELJ JOVAN
+KEŠELJ RADMILA
+KEŠELJ SLOBODAN
+KEŠELJ UGLJEŠA
+KEŠELJ VUKAŠIN
+KEŠKIĆ ZVONIMIR
+KEŠMARKI-KRESTA JELENA
+KEŽIĆ BILJANA
+KEŽIĆ DUŠAN
+KEŽIĆ KATICA
+KEŽIĆ MARJAN
+KEŽIĆ MILAN
+KEŽIĆ NEVENKA
+KEŽIĆ VLADO
+KEBIN ŽARKO
+KECELI MIHALJ
+KECIĆ DANILO DR
+KECIĆ MIROSLAV
+KECIĆ SLOBODAN
+KECMAN ČEDA
+KECMAN ŽARKO
+KECMAN ĐURO
+KECMAN ĐURO
+KECMAN BORISLAV
+KECMAN BRANKO
+KECMAN DRAGICA
+KECMAN DUŠAN
+KECMAN ILIJA
+KECMAN JOVAN
+KECMAN JOVAN
+KECMAN JULKA
+KECMAN LJUBA
+KECMAN MARA
+KECMAN MARKO
+KECMAN MILADIN
+KECMAN MILAN
+KECMAN MILAN
+KECMAN MILKA
+KECMAN MILUTIN
+KECMAN MIRJANA
+KECMAN MIROSLAVA
+KECMAN MLADEN
+KECMAN STEVAN
+KECMAN SVETKO
+KECO ČEDOMIR
+KECO GOJKO
+KECO JELENA
+KECO LJUBOMIR
+KECO MARIJA
+KECO MARIJA
+KECO MIRJANA
+KECO MITAR
+KECO MOMIR
+KECO RADOJE
+KECO RATKO
+KECO SLOBODAN
+KECO SLOBODAN
+KEDŽA MILORAD
+KEDIĆ DUŠAN
+KEDIĆ STANKO
+KEDVEŠ EVA
+KEFER JANOŠ
+KEFER JOSIP
+KEGLOVIĆ VINKO
+KEK ERŽEBET
+KEK EVA
+KEKELJEVIĆ MIODRAG
+KEKENJ GIZELA
+KEKEZ DRAGINJA
+KEKIĆ ĐORĐE
+KEKIĆ ĐURA
+KEKIĆ AGICA
+KEKIĆ DANICA
+KEKIĆ DRAGAN
+KEKIĆ DUŠAN
+KEKIĆ GORDANA
+KEKIĆ KOSOVKA
+KEKIĆ MILAN
+KEKIĆ MILICA
+KEKIĆ MIRKO
+KEKIĆ NATALIJA
+KEKIĆ PETAR
+KEKIĆ SLAVICA
+KEKIĆ TEODOR
+KEKIN MARIJA
+KEKOVIĆ DRAGOLJUB
+KEKOVIĆ MELANIJA
+KEKOVIĆ MIODRAG
+KELBLI MIHAJLO
+KELE JOŽEF
+KELE JOŽEF
+KELEČ MILORAD
+KELEČ MIRKO
+KELEČEVIĆ DANICA
+KELEČEVIĆ NIKICA
+KELEČIĆ IVAN
+KELEČIĆ JOSIP
+KELEMEN ALEKSANDAR DIPL ING
+KELEMEN ALEKSANDAR
+KELEMEN ANA
+KELEMEN GABOR
+KELEMEN IMRE
+KELEMEN JOŽEF
+KELEMEN JOŽEF
+KELEMEN LAJOŠ
+KELEMEN MAĆAŠ
+KELEMEN MARIJA
+KELEMEN TIBOR
+KELER JANOŠ
+KELER JANOŠ
+KELER PETAR
+KELER RADMILA
+KELER STEVAN
+KELEUVA DRAGO
+KELEUVA MIHAJLO
+KELIĆ STEVANKA
+KELIJAŠEVIĆ ŽIVKO
+KELNER MARIJA
+KELOVIĆ MILOMIR
+KEMEC ANDRIJA
+KEMEC MIJO DIPL ING
+KEMENCI BELA
+KEMENJ MIRA
+KEMENJ TEREZIJA DIPL ING
+KEMIVEŠ GEORG
+KENĐEL STEVICA
+KENCEL SMILJA
+KENEŠKI DRAGAN
+KENIG HENDRIH
+KENIG JEKA
+KENIG JELENA
+KENJALO STOJAN
+KEPČIJA ILIJA
+KEPČIJA MILE
+KEPČIJA TODOR
+KEPE-DRAGOSAVLJEVIĆ LIVIJA
+KEPE JULIJANA
+KEPIĆ ŽIVAN
+KERČEV KARLO
+KERČU MIRJANA
+KERČU STANISLAV
+KERŠNER ALEKSANDAR
+KERAC ŽARKO
+KERAC ŽARKO
+KERAC ĐURA
+KERAC BRANISLAV
+KERAC DANICA
+KERAC DUŠAN
+KERAC ERŽEBET
+KERAC GAVRA
+KERAC JOVAN
+KERAC JOVAN
+KERAC LAZAR
+KERAC LAZAR
+KERAC LEPOSAVA
+KERAC MILIVOJ
+KERAC MILOŠ
+KERAC MITA
+KERAC PAVLE
+KERAC PAVLE
+KERAC PERA
+KERAC SIMA
+KERAC SONJA
+KERAC SPASA
+KERAC STANA
+KERAC STANISLAVA
+KERAC STEVAN
+KERAC STEVAN
+KERAC TODOR
+KERAC ZLATKO
+KERANOVIĆ MILAN
+KERANOVIĆ STANA
+KERAVČIN MITA
+KERAVČIN SVETOZAR
+KERAVICA DAVID
+KERAVICA JOVAN
+KERAVICA LJUBOMIR
+KERAVICA MILIVOJ
+KERAVICA MILOŠ
+KERAVICA MILOŠ
+KERAVICA MIODRAG
+KERAVICA MIODRAG
+KERAVICA PETAR
+KERAVICA STEVAN
+KERAVICA SVETISLAV
+KEREČKI BRANKO
+KEREČKI DRAGOMIR
+KEREŠEVIĆ ALEKSANDRA
+KEREŠEVIĆ ILONA
+KEREŠEVIĆ STOJANKA
+KEREŠI JULIJANA
+KEREŠI VINCE
+KEREŽI FERENC
+KEREC IVAN
+KEREDŽIN MILAN
+KEREDŽIN MIRJANA
+KEREDŽIN SOFIJA
+KEREKEŠ IŠTVAN DIPL ING
+KEREKEŠ-MALONKA ETELKA
+KERENEC LJILJANA
+KERENJI ALEKSANDAR
+KERESTEŠ JENE
+KERESTEŠ LJUBICA
+KERESTEŠ MARGITA
+KEREZOVIĆ MIHAJLO
+KEREZOVIĆ NEĐO
+KERI DENEŠ
+KERI FRANJO
+KERI JOVAN
+KERIĆ SAVA
+KERKEZ DRAGO
+KERKEZ DUŠANKA
+KERKEZ DUŠAN
+KERKEZ DUŠAN
+KERKEZ GOJKO
+KERKEZ ILIJA
+KERKEZ LAZAR
+KERKEZ MILAN
+KERKEZ MILENKO
+KERKEZ MILICA
+KERKEZ MIRJANA
+KERKEZ MIROSLAV
+KERKEZ MLADEN
+KERKEZ NIKOLA
+KERKEZ PAULINA
+KERKEZ PETAR
+KERKEZ SLOBODAN
+KERKEZ SRETEN
+KERKEZ STEVAN
+KERKEZ STEVAN
+KERKEZ VLADA
+KERKEZ VOJIN
+KERLETA NEĐO
+KERMEC ILONKA
+KERMECI TIBOR
+KERMENDI PETAR
+KERN DANIEL
+KERPEL SOFIJA
+KERSNIK JOŽE
+KERSNIK MIŠA
+KERSTING KATARINA
+KERTES ERŽEBET
+KERTES JANOŠ
+KERTES JANOŠ
+KERTES VILMOŠ
+KERVINA ANTON
+KERVINA ARIJANA
+KESEG LAJOŠ
+KESEG LAJOŠ
+KESEGI GEZA
+KESEGI KAROLJ
+KESEGI VOJISLAV
+KESER DRAGIŠA
+KESEROVIĆ KATARINA
+KESIĆ ŽIVKO
+KESIĆ ĐURA
+KESIĆ BOŠKO
+KESIĆ BORISLAV
+KESIĆ GORAN
+KESIĆ JOVAN
+KESIĆ MARINKO
+KESIĆ MILE
+KESIĆ MILICA
+KESIĆ MILKA
+KESIĆ NEVENKA
+KESIĆ SLOBODAN
+KESIĆ STANOJE DIPL PRAVNIK
+KESLER ANDRIJA DR LEKAR
+KESLER ROBERT
+KETELEŠ ROŽIKA
+KETIG TOMISLAV
+KETIG TOMISLAV
+KEVIĆ MILA
+KEVIĆ OLGA
+KEVIĆ RADE
+KEVILJ BRANKO
+KEVREŠAN EMIL
+KEZEŠI DUŠKO
+KEZIĆ DUŠANKA
+KEZIĆ MIRKO
+KEZIJA MILORAD
+KEZMIĆ BILJANA
+KEZUNOVIĆ MILOVAN
+KEZUNOVIĆ PETKO
+KEZUNOVIĆ RAJKO
+KIČI ERNE
+KIČIN EVA
+KIČINA LAZAR
+KIČINJ ELIZABETA
+KIŠ-ČEPEGI GABOR
+KIŠ-ČEPEGI GABOR
+KIŠ-ČEPEGI RUDOLF
+KIŠ-ČEPEGI TEREZA
+KIŠ ŠANDOR
+KIŠ ŠANDOR
+KIŠ ĐERĐ
+KIŠ ĐERĐ
+KIŠ ALEKSANDAR
+KIŠ ANA
+KIŠ ANDRIJA
+KIŠ BELA
+KIŠ BELA
+KIŠ BOLDIŽAR
+KIŠ BRANKO
+KIŠ DUŠANKA
+KIŠ DUŠICA
+KIŠ ERNEST
+KIŠ ERNE
+KIŠ ESTER
+KIŠ EVA
+KIŠ FERENC
+KIŠ FERENC
+KIŠ FERENC
+KIŠ FRANJO
+KIŠ GEZA
+KIŠ GEZA
+KIŠ GIZELA
+KIŠ HELENA
+KIŠ HENRIJETA
+KIŠ IŠTVAN
+KIŠ IŠTVAN
+KIŠ IŠTVAN
+KIŠ ILONA
+KIŠ ILONKA
+KIŠ IRENA
+KIŠ ISIDOR
+KIŠ IVAN
+KIŠ IVAN
+KIŠ JANKO
+KIŠ JANOŠ
+KIŠ JOŽEF
+KIŠ JOCA
+KIŠ JOSIP
+KIŠ JOSIP
+KIŠ-JOVAK FRANJA
+KIŠ JOZEFINA
+KIŠ JULIJAN
+KIŠ KALMAN
+KIŠ KATALIN
+KIŠ KATICA
+KIŠ KATICA
+KIŠ LACIKA
+KIŠ LASLO
+KIŠ LASLO
+KIŠ MARGITA
+KIŠ MARIJA
+KIŠ MARIJA
+KIŠ MIHALJ
+KIŠ MIJA
+KIŠ MILAN
+KIŠ MILICA
+KIŠ MIRKO
+KIŠ NANDOR
+KIŠ NIKOLA
+KIŠ NIKOLA
+KIŠ OTO
+KIŠ OTO
+KIŠ PAVLE
+KIŠ PERA
+KIŠ PETAR
+KIŠ PETAR
+KIŠ PETAR
+KIŠ ROZALIJA
+KIŠ SLAVICA
+KIŠ SLAVICA
+KIŠ SLOBODAN
+KIŠ STANISLAV
+KIŠ STEVAN
+KIŠ STEVAN
+KIŠ STEVAN
+KIŠ STEVAN
+KIŠ STJEPAN
+KIŠ TIBOR DR
+KIŠ TIBOR
+KIŠ TIBOR
+KIŠ TODOR
+KIŠ VESNA
+KIŠ VIKTORIJA
+KIŠ VLADIMIR
+KIŠ VLADIMIR
+KIŠ VLADIMIR
+KIŠ VLADIMIR
+KIŠ VUKOSAVA
+KIŠ ZOLTAN
+KIŠ ZOLTAN
+KIŠ ZOLTAN
+KIŠ ZOLTAN
+KIŠ ZOLTAN
+KIŠ ZOLTAN
+KIŠ ZOLTAN
+KIŠDOBRANSKI MILIVOJ
+KIŠEGECI JAN DR
+KIŠGECI-DUDAŠ KLARA
+KIŠGECI EMIL
+KIŠGECI IVAN
+KIŠGECI PAVLE
+KIŠGECI STANISLAV
+KIŠGECI STANISLAV
+KIŠGECI STEVAN
+KIŠGECI VLADIMIR
+KIŠJUHAS JAKOV
+KIŠMIŠKA PAL
+KIŠPRDILOV DEJAN
+KIŠPRDILOV ZORAN
+KIĆANOVIĆ BORO
+KIĆANOVIĆ DARINKA
+KIĆANOVIĆ JOKA
+KIĆANOVIĆ MIROSLAV
+KIĆANOVIĆ MITAR
+KIĆANOVIĆ PETAR
+KIĆANOVIĆ RADMILA
+KIĆANOVIĆ RAJKO
+KIĆANOVIĆ ZORAN
+KIŽDOBRANSKI ŽARKO
+KIŽDOBRANSKI LJUBICA
+KIŽDOBRANSKI MILAN
+KIŽDOBRANSKI MILAN
+KIŽDOBRANSKI MILIVOJ
+KIŽDOBRANSKI SAVA
+KIŽEVSKI DIMKO
+KIŽEVSKI MIRA
+KIŽEVSKI VOJISLAV
+KICOŠEV BRANKO
+KICOŠEV LJILJANA
+KICOŠEV MITA
+KICOŠEV SAŠA
+KICOŠEV STOJAN
+KICOŠEVIĆ TRIVA
+KICOŠEVIĆ VLAJKO
+KIJAČKI BRANISLAV
+KIJANOVIĆ MANOJLE
+KIJANOVIĆ STANKO
+KIKANOVIĆ DIMITRIJE
+KIKANOVIĆ DOBRILA
+KIKANOVIĆ MILENIJA
+KIKIĆ-ŠOVLJANSKI LJILJANA
+KIKIĆ MIRKO
+KIKIĆ SMILJA DR
+KIKINĐANIN MIROSLAVA
+KIKINDAI VERA
+KIKOŠ GORDAN
+KIKOŠ JOVAN
+KIKOŠ LAZAR
+KIKOŠ SRBISLAV
+KIKOVIĆ SLAVICA
+KILIĆ NIKOLA
+KILIBARDA MILORAD
+KILIBARDA MITAR
+KILIBARDA PAVLE
+KILIBARDA VLADIMIR
+KILIBARDA VOJISLAV
+KIMPANOV BRANISLAV
+KIMPANOV NATALIJA
+KIMPANOV SLOBODAN
+KIMPANOV SLOBODAN
+KIMPANOV SOFIJA
+KINČEŠ MIHALJ
+KINĐIN SVETOZAR
+KINĐIN VASA
+KINDERNAJ ILIJA
+KINDERNAJ MILAN
+KINDERNAJ OTO
+KINDERNOJ PAVLE
+KINIK JAN
+KINIK PAVLE
+KINJERAN SVETISLAV
+KINKA RITA
+KIPEROVIĆ JOVO
+KIPIĆ ĐULA
+KIPIĆ ANDRIJA
+KIPIĆ ANKA
+KIPIĆ EDITA
+KIPIĆ ERŽEBET
+KIPIĆ ERNE
+KIPIĆ FERENC
+KIPIĆ FRANJA
+KIPIĆ IŠTVAN
+KIPIĆ JOSIP
+KIPIĆ LASLO
+KIPIĆ NANDOR
+KIRČAN EMIL
+KIRŠ JOŽEF
+KIRŠ MILORAD
+KIRŠEK JURAJ
+KIRĆAN SAVA
+KIRĆANSKI BRANKO
+KIRĆANSKI DUŠKO
+KIRĆANSKI IVAN
+KIRĆANSKI MILICA
+KIRĆANSKI OBRAD
+KIRĆANSKI RADIVOJ
+KIRĆANSKI RADOSLAVA
+KIRDA VLADIMIR
+KIRIĆ FRANJO
+KIRIĆ MENKA
+KIRIĆ SLOBODAN
+KIRIĆ STANISLAV
+KIRIDŽIĆ DRAGIŠA
+KIRIDŽIĆ MILOŠ
+KIRIDŽIĆ OBRAD
+KIRILOV ALEKSANDAR
+KIRILOVIĆ ALEKSANDAR
+KIRILOVIĆ DOBRINKA
+KIRILOVIĆ JELENA
+KIRILOVIĆ KRISTA
+KIRILOVIĆ KRISTINA
+KIRILOVIĆ OLGA
+KIRIN ŽELJKO
+KIRIN IVICA
+KIRIN SNEŽANA
+KIRJAKOVIĆ JOVAN
+KIRJAKOVIĆ NIKOLA
+KIRKOV DIMITAR
+KIRKOV VERICA
+KIRN VLADIMIR
+KIROVAKOV VALERIJA
+KIRTIĆ DUŠAN
+KISAČANIN DESANKA
+KISAČANIN DUŠAN
+KISAČANIN MIODRAG DIPL ING
+KISAČANIN MIROSLAV
+KISAČANIN PAVLE
+KISAČANIN SVETOZAR
+KISELIČKI ŽIVKO SUDIJA
+KISELIČKI DANICA
+KISELIČKI FEDOR DR
+KISELIČKI LAZAR DIPL ING
+KISELICA ŽARKO
+KISELICA NADA
+KISELICA PETAR
+KISELICA PETAR
+KISIĆ DUŠAN
+KISIĆ JOVAN
+KISIĆ MIRKO
+KISIĆ SRĐAN
+KISIĆ SVETOZAR
+KISIN ANĐA
+KISIN MILICA
+KISIN MILKA
+KISIN TOMO
+KISLIC IRENA
+KISLOVSKI VLADIMIR
+KISO MILORAD
+KISTER VINKO
+KIT VASILJ
+KITANOVIĆ ŽIVKO
+KITANOVIĆ BRANISLAVA
+KITANOVIĆ KATICA
+KITANOVIĆ LENKA
+KITANOVIĆ MIRJANA
+KITANOVIĆ NEDELJKO
+KITANOVIĆ TOMA
+KITANOVSKI DIMČE
+KITIĆ RADOJKA
+KITIĆ SAVO
+KITIĆ STOJKO
+KITIĆ VELIMIR
+KIURSKI STEVAN DIPL OEC
+KIVOVIĆ ANTONIJA
+KIZA BRANKICA
+KIZIĆ DUŠAN
+KIZIĆ LIDIJA
+KIZIĆ MARKO
+KIZIĆ MIHAILO
+KIZIĆ SAVKA
+KIZIĆ SLOBODAN
+KIZIĆ SLOBODAN
+KIZIĆ SNEŽANA
+KIZIĆ TIHOSLAV
+KIZUR ANDRAŠ
+KIZUR IŠTVAN
+KIZUR JANOŠ
+KIZUR LASLO
+KIZUR PAVEL
+KIZUR VERA
+KLAČAR MILKO
+KLAČAR MILOŠ
+KLAŠNJA ŽARKO
+KLAŠNJA BRANKO
+KLAŠNJA JOVAN
+KLAŠNJA MARIJA
+KLAŠNJA MIKA
+KLAŠNJA MILENA
+KLAŠNJA MILE
+KLAŠNJA MILICA
+KLAŠNJA MIROSLAV
+KLAŠNJA VLADISLAV DR LEKAR
+KLAĆ DRAGAN
+KLAĆIK JOŽEF
+KLAĆIK MARIJA
+KLADUŠIĆ MENSURA
+KLAIĆ ANTO
+KLAIĆ PAVO
+KLAJ PETAR
+KLAJIĆ ĐURA
+KLAJIĆ DANILO
+KLAJIĆ LJUBICA
+KLAJIĆ MAGDALENA
+KLAJIĆ OLGA
+KLAJIĆ ROZALIJA
+KLAJIĆ VALERIJA
+KLAJIĆ VIDA
+KLAJN ALBERT
+KLAJN ANA
+KLAJN DRAGUTIN
+KLAJN IVANKA
+KLAJN IVAN
+KLAJN LAJČO DR
+KLAJN MIROSLAV
+KLAJN VERA
+KLAJNER ESTER
+KLAJNER IŠTVAN
+KLAMAR KARLO
+KLAMIK IMRE
+KLAPAREVIĆ GORAN
+KLAPAREVIĆ SAVA
+KLAPAREVIĆ VASILIJE
+KLARIĆ DUŠANKA
+KLARIĆ GORAN
+KLARIĆ LJUBICA
+KLARIĆ MILIĆ
+KLARIĆ MILORAD
+KLARIĆ OLGA
+KLARIĆ SEKA
+KLASAN ANA
+KLASER ALBERT
+KLASIĆ LADISLAV
+KLASIĆ SAŠA
+KLAUS ERŽEBET
+KLAUS ERŽEBET
+KLAUS LASLO
+KLEBEČKO ŠANDOR
+KLEBEČKO ŠANDOR
+KLEM ADAM DR
+KLEM JOŽEF
+KLEM TEREZA
+KLEMENOVIĆ UROŠ
+KLENOCKI MARIJA
+KLENOVŠEK FRANJA
+KLENOVŠEK TEREZIJA
+KLENOVŠEK ZVONIMIR
+KLEPIĆ ĐURAĐ
+KLEPIĆ NIKOLA
+KLET GEZA
+KLEUT MILAN
+KLEUT RUŽA DR LEKAR
+KLEVERNIĆ BORISLAV
+KLIČEK IRENA
+KLIČKOVIĆ DANICA
+KLIČKOVIĆ KOSTA
+KLIČKOVIĆ VERA
+KLIŠANIĆ JOSIP
+KLIŠANIĆ STANISLAV
+KLICOV ILIJA
+KLIKOVAC MIHAJLO
+KLIKOVAC VELIMIR
+KLIMEŠ DRAGANA
+KLIMEŠ ZORA
+KLINAC UROŠ
+KLINAR IVAN
+KLINCOV NADA
+KLINDŽIĆ STJEPAN
+KLINGER KATICA
+KLINKO JAN
+KLINOCKI ĐERĐ
+KLINOVSKI BRANKO
+KLINOVSKI DRAGAN
+KLINOVSKI DRAGAN
+KLINOVSKI DUŠAN
+KLIPA ŽIVAN
+KLIPA ĐORĐE
+KLIPA JELICA
+KLIPA-KRABES GRETA
+KLIPA LAZAR
+KLIPA MIKA
+KLIR ILONA
+KLIR ROZALIJA
+KLISARA ŽIVKO
+KLISARA ĐORĐE
+KLISARIĆ MIRKO
+KLISIĆ NADA
+KLISKA ANĐELIJA
+KLISKA VOJO
+KLISURA MILOŠ
+KLISURA MOMIR
+KLISURA STAKA
+KLISURIĆ ĐURO
+KLIVINJI JOŽEF
+KLJAIĆ LEPOSAVA
+KLJAIĆ MACA
+KLJAIĆ SIMO
+KLJAIN DRAGINJA
+KLJAIN LAZAR
+KLJAJIĆ ĐORĐE PROFESOR
+KLJAJIĆ ĐORĐE
+KLJAJIĆ ĐORĐE
+KLJAJIĆ BORIVOJE
+KLJAJIĆ BORKA
+KLJAJIĆ BRANKO
+KLJAJIĆ BRANKO
+KLJAJIĆ DANILO
+KLJAJIĆ DRAGAN
+KLJAJIĆ DRAGAN
+KLJAJIĆ DUŠANKA
+KLJAJIĆ ILIJA
+KLJAJIĆ ILIJA
+KLJAJIĆ IVAN
+KLJAJIĆ JELENA
+KLJAJIĆ KOVILJKA
+KLJAJIĆ LUKA
+KLJAJIĆ MARA
+KLJAJIĆ MILAN
+KLJAJIĆ MILEVA
+KLJAJIĆ MIODRAG
+KLJAJIĆ NADA
+KLJAJIĆ OLIVERA
+KLJAJIĆ PETAR
+KLJAJIĆ-RADAKOVIĆ MILICA
+KLJAJIĆ SENKA
+KLJAJIĆ VATA
+KLJAJIĆ VLADO
+KLJAJIĆ VUKICA
+KLJAJIĆ ZDRAVKO
+KLJAKIĆ VUKAŠIN
+KLJEČANIN MIRJANA
+KLJUČOVSKI MAHALJINA
+KLJUČOVSKI NIKOLA
+KLJUTIĆ JASMINA
+KLJUTIĆ OSTOJA
+KLOBUŠICKI VLADISLAV
+KLOPFER ĐORĐE
+KLOPKA KLARA DR
+KLOPKA PIROŠKA
+KMEČ MARTIN
+KMEČKO STEVAN
+KMEĆ JAN DR
+KMEZIĆ IVANKA
+KMEZIĆ MILE
+KMEZIĆ VLADA
+KMICIKEVIĆ ZORAN
+KMICIKOVIĆ MILOJKA
+KNEŠAUREK MARIJA
+KNEŽEV ŽARKO DIPL ING
+KNEŽEV ĐORĐE
+KNEŽEV ĐORĐE
+KNEŽEV ĐURA
+KNEŽEV JELICA
+KNEŽEV LJILJANA
+KNEŽEVIĆ ŽARKO
+KNEŽEVIĆ ŽELJKO
+KNEŽEVIĆ ŽELJKO
+KNEŽEVIĆ ŽELJKO
+KNEŽEVIĆ ŽIVKA
+KNEŽEVIĆ ŽIVKO
+KNEŽEVIĆ ŽIVOJIN
+KNEŽEVIĆ ŽIVOJIN
+KNEŽEVIĆ ĐINE
+KNEŽEVIĆ ĐORĐE
+KNEŽEVIĆ ĐORĐE
+KNEŽEVIĆ ĐORĐE
+KNEŽEVIĆ ĐORĐE
+KNEŽEVIĆ ĐORĐE
+KNEŽEVIĆ ĐORĐE
+KNEŽEVIĆ ĐORĐE
+KNEŽEVIĆ ĐURA
+KNEŽEVIĆ ĐURA
+KNEŽEVIĆ ĐURO
+KNEŽEVIĆ ALEKSANDAR
+KNEŽEVIĆ ALEKSANDAR
+KNEŽEVIĆ ALEKSANDAR
+KNEŽEVIĆ ALEKSANDRA
+KNEŽEVIĆ ALEKSA
+KNEŽEVIĆ ANĐELKO
+KNEŽEVIĆ ANICA
+KNEŽEVIĆ ANICA
+KNEŽEVIĆ ARKADIJA
+KNEŽEVIĆ BOŠKO
+KNEŽEVIĆ BOŽO
+KNEŽEVIĆ BOGDAN
+KNEŽEVIĆ BOGDAN
+KNEŽEVIĆ BOGDAN
+KNEŽEVIĆ BORISLAV
+KNEŽEVIĆ BORIS
+KNEŽEVIĆ BORKA
+KNEŽEVIĆ BOSILJKA
+KNEŽEVIĆ BRANIMIR
+KNEŽEVIĆ BRANKO
+KNEŽEVIĆ BRANKO
+KNEŽEVIĆ CVIJO
+KNEŽEVIĆ DOBRIVOJE
+KNEŽEVIĆ DRAGAN
+KNEŽEVIĆ DRAGAN
+KNEŽEVIĆ DRAGAN
+KNEŽEVIĆ DRAGAN
+KNEŽEVIĆ DRAGIŠA
+KNEŽEVIĆ DRAGICA
+KNEŽEVIĆ DRAGICA
+KNEŽEVIĆ DRAGOLJUB
+KNEŽEVIĆ DRAGOLJUB
+KNEŽEVIĆ DUŠANKA
+KNEŽEVIĆ DUŠAN
+KNEŽEVIĆ DUŠAN
+KNEŽEVIĆ DUŠAN
+KNEŽEVIĆ DUŠAN
+KNEŽEVIĆ GLIŠA
+KNEŽEVIĆ GORDANA
+KNEŽEVIĆ ILIJA
+KNEŽEVIĆ ILIJA
+KNEŽEVIĆ ILIJA
+KNEŽEVIĆ ILIJA
+KNEŽEVIĆ ILIJA
+KNEŽEVIĆ ILIJA
+KNEŽEVIĆ IVANKA
+KNEŽEVIĆ IVAN
+KNEŽEVIĆ IVAN
+KNEŽEVIĆ JELA
+KNEŽEVIĆ JELENA
+KNEŽEVIĆ JELENA
+KNEŽEVIĆ JELISAVKA
+KNEŽEVIĆ JOSIP
+KNEŽEVIĆ JOVANKA
+KNEŽEVIĆ JOVANKA
+KNEŽEVIĆ JOVAN
+KNEŽEVIĆ JOVAN
+KNEŽEVIĆ JOVAN
+KNEŽEVIĆ JOVAN
+KNEŽEVIĆ JOVAN
+KNEŽEVIĆ JOVO
+KNEŽEVIĆ JUGOSLAV
+KNEŽEVIĆ KRSTAN
+KNEŽEVIĆ LATINKA
+KNEŽEVIĆ LAZAR
+KNEŽEVIĆ LAZAR
+KNEŽEVIĆ LJILJANA
+KNEŽEVIĆ LJUBOMIR
+KNEŽEVIĆ LJUBOMIR
+KNEŽEVIĆ LJUBOMIR
+KNEŽEVIĆ MANE
+KNEŽEVIĆ MARICA
+KNEŽEVIĆ MARICA
+KNEŽEVIĆ MARIJA
+KNEŽEVIĆ MARIJA
+KNEŽEVIĆ MARIJA
+KNEŽEVIĆ MARIJA
+KNEŽEVIĆ MARKO
+KNEŽEVIĆ MIĆA
+KNEŽEVIĆ MIHAJLO
+KNEŽEVIĆ MIHAJLO
+KNEŽEVIĆ MIHAJLO
+KNEŽEVIĆ MIHAJLO
+KNEŽEVIĆ MILADIN
+KNEŽEVIĆ MILAN
+KNEŽEVIĆ MILAN
+KNEŽEVIĆ MILAN
+KNEŽEVIĆ MILAN
+KNEŽEVIĆ MILAN
+KNEŽEVIĆ MILAN
+KNEŽEVIĆ MILAN
+KNEŽEVIĆ MILAN
+KNEŽEVIĆ MILAN
+KNEŽEVIĆ MILICA
+KNEŽEVIĆ MILIJANA
+KNEŽEVIĆ MILIVOJ
+KNEŽEVIĆ MILKA
+KNEŽEVIĆ MILOŠ
+KNEŽEVIĆ MILOMIR
+KNEŽEVIĆ MILONJA
+KNEŽEVIĆ MILONJA
+KNEŽEVIĆ MILORAD
+KNEŽEVIĆ MILUTIN
+KNEŽEVIĆ MIODRAG
+KNEŽEVIĆ MIODRAG
+KNEŽEVIĆ MIODRAG
+KNEŽEVIĆ MIRJANA
+KNEŽEVIĆ MIRKO
+KNEŽEVIĆ MIRKO
+KNEŽEVIĆ MIRKO
+KNEŽEVIĆ MIRKO
+KNEŽEVIĆ MIRKO
+KNEŽEVIĆ MIRKO
+KNEŽEVIĆ MIRKO
+KNEŽEVIĆ MIROSLAV
+KNEŽEVIĆ MIROSLAV
+KNEŽEVIĆ MLADEN
+KNEŽEVIĆ MOMČILO
+KNEŽEVIĆ MOMIR
+KNEŽEVIĆ MOMIR
+KNEŽEVIĆ MOMIR
+KNEŽEVIĆ NADA
+KNEŽEVIĆ NADEŽDA
+KNEŽEVIĆ NENAD
+KNEŽEVIĆ NEVENA
+KNEŽEVIĆ NIKOLA
+KNEŽEVIĆ NIKOLA
+KNEŽEVIĆ NIKOLA
+KNEŽEVIĆ NIKOLA
+KNEŽEVIĆ NIKOLA
+KNEŽEVIĆ NIKOLA
+KNEŽEVIĆ NIKOLA
+KNEŽEVIĆ NIKOLA
+KNEŽEVIĆ PANTA
+KNEŽEVIĆ PAVLE
+KNEŽEVIĆ PERA
+KNEŽEVIĆ PETAR
+KNEŽEVIĆ PETAR
+KNEŽEVIĆ PETAR
+KNEŽEVIĆ PETAR
+KNEŽEVIĆ PETKO
+KNEŽEVIĆ RADA
+KNEŽEVIĆ RADE
+KNEŽEVIĆ RADIVOJE
+KNEŽEVIĆ RADIVOJE
+KNEŽEVIĆ RADMILA
+KNEŽEVIĆ RADOMIR
+KNEŽEVIĆ RADOSLAV
+KNEŽEVIĆ RAJKO
+KNEŽEVIĆ RANKO
+KNEŽEVIĆ RISTO
+KNEŽEVIĆ ROZA
+KNEŽEVIĆ SAVO
+KNEŽEVIĆ SINIŠA
+KNEŽEVIĆ SLAVKO
+KNEŽEVIĆ SLAVKO
+KNEŽEVIĆ SLAVOLJUB
+KNEŽEVIĆ SLOBODAN
+KNEŽEVIĆ SLOBODAN
+KNEŽEVIĆ SLOBODAN
+KNEŽEVIĆ SLOBODAN
+KNEŽEVIĆ SLOBODAN
+KNEŽEVIĆ SLOBODAN
+KNEŽEVIĆ SLOBODAN
+KNEŽEVIĆ SLOBODAN
+KNEŽEVIĆ SLOBODAN
+KNEŽEVIĆ SPASENIJA
+KNEŽEVIĆ SRBISLAVA
+KNEŽEVIĆ STANA
+KNEŽEVIĆ STANIŠA
+KNEŽEVIĆ STANIMIR
+KNEŽEVIĆ STANKO
+KNEŽEVIĆ STEVAN
+KNEŽEVIĆ STEVO
+KNEŽEVIĆ STEVO
+KNEŽEVIĆ STIPE
+KNEŽEVIĆ STOJAN
+KNEŽEVIĆ SVETKO
+KNEŽEVIĆ SVETO
+KNEŽEVIĆ TEODOR
+KNEŽEVIĆ TOMISLAV
+KNEŽEVIĆ UROŠ
+KNEŽEVIĆ VASILIJA
+KNEŽEVIĆ VERA
+KNEŽEVIĆ VERA
+KNEŽEVIĆ VLADIMIR
+KNEŽEVIĆ VLADIMIR
+KNEŽEVIĆ VLASTIMIR
+KNEŽEVIĆ VLASTIMIR
+KNEŽEVIĆ VOJIN
+KNEŽEVIĆ VUKOSAV
+KNEŽEVIĆ ZDRAVKO
+KNEŽEVIĆ ZLATAN
+KNEŽEVIĆ ZORAN
+KNEŽEVIĆ ZORAN
+KNEŽEVIĆ ZORA
+KNEŽIĆ OLGA
+KNEŽIĆ RADOMIR
+KNEBL FRANJA
+KNEBL NIKOLA
+KNEGIĆ MIROSLAV
+KNER DEZIDER
+KNESELAC BRANISLAVA
+KNEZ ZLATKO
+KNEZI IVAN
+KNEZI JOŽEF
+KNEZI SLOBODAN
+KNJEŠKO ŽUŽANA
+KNJEŠKO ALBERT
+KOČAR LASLO
+KOČAR STEFANIJA
+KOČAR TIHOMIR
+KOČETOV TATJANA
+KOČI ETELKA
+KOČI IŠTVAN
+KOČI VLADIMIR
+KOČIŠ ĐURA
+KOČIŠ ANDRIJA
+KOČIŠ ANDRIJA
+KOČIŠ ERNEST
+KOČIŠ GERGELJ DIPL ING
+KOČIŠ HELENA
+KOČIŠ IŠTVAN
+KOČIŠ JAKOV
+KOČIŠ JANKO
+KOČIŠ JANOŠ
+KOČIŠ KARLO
+KOČIŠ MARIJA
+KOČIŠ MIHAJLO
+KOČIŠ NIKOLA PROFESOR
+KOČIŠ RADE
+KOČIŠ VLADIMIR
+KOČIŠ VLADIMIR
+KOČIĆ DRAGO
+KOČIĆ MANE
+KOČIĆ MILORAD
+KOČIĆ STANISLAV
+KOČOBA RADISLAV
+KOČOSKI PETAR
+KOČOVIĆ ALEKSANDAR
+KOČOVIĆ MILETA
+KOŠĆAK SAVKA
+KOŠA TIBOR DIPL ING
+KOŠANIN MILOMIR
+KOŠANJI FERENC
+KOŠARIĆ DIMITRIJE
+KOŠIĆ LJUBICA
+KOŠIĆ MITA
+KOŠIĆ STEVAN
+KOŠIĆ STEVO
+KOŠIĆ VASILIJE
+KOŠICKI LEA
+KOŠICKI MARIJA
+KOŠNIČAR MILAN
+KOŠNIČAR SOFIJA
+KOŠOCKI MARIJA
+KOŠUTIĆ ĐURO
+KOŠUTIĆ ĐURO
+KOŠUTIĆ BOŽIDAR
+KOŠUTIĆ BRANKO
+KOŠUTIĆ DIMITRIJE
+KOŠUTIĆ DUŠAN
+KOŠUTIĆ JOVAN
+KOŠUTIĆ KOSTA
+KOŠUTIĆ MANE
+KOŠUTIĆ MILOŠ
+KOŠUTIĆ NIKOLA
+KOĆALO RADOJICA
+KOŽUL GOJKO
+KOŽUL GOJKO
+KOŽUL RAJKO
+KOŽUVARA GAVRA
+KOBAŠ JOSIP
+KOBAŠ KATICA
+KOBAŠ VUKAŠIN
+KOBAL ĐURA
+KOBAL BOŽIDAR
+KOBAL IRIS
+KOBAL IVAN
+KOBILARIĆ ĐURĐICA
+KOBILAROV ANGELINA
+KOBILAROV LJUBOMIR
+KOBILAROV MILANKA
+KOBILAROV MILOŠ
+KOBILAROV MIROSLAV
+KOBILAROV NEGOVAN
+KOBILAROV NESTOR
+KOBILAROV SIMA
+KOBILAROV TOŠA
+KOBILAROV VASA
+KOBILJSKI ĐORĐE
+KOBILJSKI DOBRILA
+KOBILJSKI DRAGOMIR
+KOBILJSKI DUŠAN
+KOBILJSKI LAZAR
+KOBILJSKI MILOŠ
+KOBILJSKI MIRJANA
+KOBILJSKI MLADEN
+KOBILJSKI NIKOLA
+KOBILJSKI STEVAN
+KOBILJSKI VIDA
+KOBILSKI MARIJA
+KOBREHEL LAJOŠ
+KOCAP MARIJA
+KOCAP MIRA
+KOCAP VLADIMIR
+KOCI FERENC
+KOCI REŽE
+KOCIĆ ŽIKICA
+KOCIĆ ALEKSANDAR
+KOCIĆ ANICA
+KOCIĆ DUŠANKA
+KOCIĆ JASNA
+KOCIĆ LJILJANA
+KOCIĆ MILIJANA
+KOCIĆ RADMILA
+KOCIĆ SINIŠA
+KOCIĆ SLAĐANA
+KOCIĆ SLAVKO
+KOCIĆ TOMISLAV
+KOCIĆ VASILIJE
+KOCIĆ VELINKA
+KOCIĆ ZVEZDAN
+KOCIJANČIĆ MIRA
+KOCKAR BORISLAV
+KOCKAR BORISLAV
+KOCKAR LJUBOMIR
+KOCKAR VLADIMIR
+KOCKAREVIĆ BRANISLAV
+KOCKAREVIĆ JOVAN
+KOCKAREVIĆ MILICA
+KOCO ŠANDOR
+KOCO ERŽEBET
+KOCOLJEVAC STANISLAV
+KODŽO SAŠA
+KODŽO ZORAN
+KODIĆ DIMITRIJE
+KODRANOV RADOVAN
+KODRANOV SREDOJE
+KODRIN LJUDMILA
+KOGOJ EDUARD
+KOGOJ EMA
+KOH JOŽEF
+KOH SAVETA
+KOHANEC ŠANDOR
+KOHANEC FRANJA
+KOHANEC GAŠPAR
+KOHANEC JOVAN
+KOHANEC MARIJA
+KOHANEC PAL
+KOHUT ĐURA
+KOHUT STOJA
+KOJČIĆ ANĐELKO
+KOJČIĆ DRAGICA
+KOJČIĆ IVANA
+KOJČIĆ PREDRAG
+KOJČIĆ SREDOJE DR
+KOJČIN DŽEMILJA
+KOJČIN MILEVA
+KOJADINOVIĆ ŽIVKO
+KOJADINOVIĆ BOŠKO
+KOJADINOVIĆ BORO
+KOJADINOVIĆ GORDANA
+KOJADINOVIĆ KATA
+KOJADINOVIĆ MIRA
+KOJADINOVIĆ RADE
+KOJADINOVIĆ STOJAN
+KOJADINOVIĆ VLADIMIR
+KOJDIĆ MIRJANA
+KOJDIĆ MLADEN
+KOJDIĆ PETAR
+KOJIČIĆ NOVKA
+KOJIČIĆ TOMISLAV
+KOJIČIN MILAN
+KOJIĆ ČEDOMIR
+KOJIĆ ŽIVAN
+KOJIĆ ĐURAĐ
+KOJIĆ ALEKSANDAR
+KOJIĆ ALEKSANDAR
+KOJIĆ ALEKSANDAR
+KOJIĆ ARSEN
+KOJIĆ BOŠKO
+KOJIĆ-BOŽANIĆ SOFIJA
+KOJIĆ BORIVOJ
+KOJIĆ BRANISLAV
+KOJIĆ DANICA
+KOJIĆ DRAGAN
+KOJIĆ DRAGAN
+KOJIĆ DRAGAN
+KOJIĆ DRAGAN
+KOJIĆ DRAGINJA
+KOJIĆ DUŠAN
+KOJIĆ ERŽEBET
+KOJIĆ GORAN
+KOJIĆ GORAN
+KOJIĆ GORAN
+KOJIĆ HRISTIFOR
+KOJIĆ IVAN
+KOJIĆ IVAN
+KOJIĆ IVAN
+KOJIĆ JOVANKA
+KOJIĆ JOVANKA
+KOJIĆ JOVO
+KOJIĆ LEPOSAVA
+KOJIĆ LJUBICA
+KOJIĆ LJUBODRAG
+KOJIĆ LUKA
+KOJIĆ MIHAILO
+KOJIĆ MILAN
+KOJIĆ MILAN
+KOJIĆ MILAN
+KOJIĆ MILAN
+KOJIĆ MILENA
+KOJIĆ MILENA
+KOJIĆ MILENKO
+KOJIĆ MILENKO
+KOJIĆ MILENKO
+KOJIĆ MILOVINA
+KOJIĆ MIODRAG
+KOJIĆ MIRJANA
+KOJIĆ MOMČILO
+KOJIĆ NEĐO
+KOJIĆ NEBOJŠA
+KOJIĆ NEBOJŠA
+KOJIĆ NEDELJKO
+KOJIĆ OLGICA
+KOJIĆ PETAR
+KOJIĆ RADIVOJ
+KOJIĆ RUŽICA
+KOJIĆ RUŽICA
+KOJIĆ SAVO
+KOJIĆ SIMEON
+KOJIĆ SINIŠA
+KOJIĆ SPASENIJA
+KOJIĆ STEVAN
+KOJIĆ STEVAN
+KOJIĆ STEVAN
+KOJIĆ SVETISLAV
+KOJIĆ UGLJEŠA
+KOJIĆ VASA
+KOJIĆ VELIMIR
+KOJIĆ VINKA
+KOJIĆ VLADISLAV
+KOJOVIĆ ŽARKO
+KOJOVIĆ MILINKO
+KOKAI ŠANDOR
+KOKAI ŠANDOR
+KOKAI ŠANDOR
+KOKAI ALISA
+KOKAI ELENA
+KOKAI FERENC
+KOKAI FERENC
+KOKAI FERENC
+KOKAI LADISLAV
+KOKAI LASLO
+KOKAI MAGDOLNA
+KOKAI MIHAJLO
+KOKAI TIBOR
+KOKAN IVAN
+KOKANOV MILETA
+KOKANOVIĆ DUŠAN
+KOKANOVIĆ KOVILJKA
+KOKAR VERICA
+KOKAR VILMA
+KOKELJ TUGOMIR
+KOKEZA ŽARKO
+KOKEZA DUŠAN
+KOKEZA MILENA
+KOKIĆ JOVAN
+KOKIĆ MIROSLAV
+KOKINOVIĆ SLAVKO
+KOKIR LJUBO
+KOKORUŠ OSTOJA
+KOKOT RADE
+KOKOT SMILJA
+KOKOT SRETA
+KOKOT SVETLANA
+KOKOT VICO
+KOKOTOVIĆ ŽIVKO
+KOKOTOVIĆ BOŽIDAR
+KOKOTOVIĆ GOJKO
+KOKOTOVIĆ ILIJA
+KOKOTOVIĆ IVICA
+KOKOTOVIĆ JELISAVETA
+KOKOTOVIĆ KATICA
+KOKOTOVIĆ PETAR
+KOKOTOVIĆ SNEŽANA
+KOKOTOVIĆ VESELIN
+KOKOVIĆ DRAGAN
+KOKOVIĆ GORAN
+KOLĐERAJ ĐON
+KOLAČARIĆ VELIBOR
+KOLAŠINAC LJUBOMIR
+KOLAK DUŠAN
+KOLAK JELENA
+KOLAK MILAN
+KOLAKOVIĆ ALMAZ
+KOLAKOVIĆ JURE
+KOLAKOVIĆ MILE
+KOLAKOVIĆ ZDRAVKO
+KOLAKUŠIĆ IVICA
+KOLAKVIĆ LJILJANA
+KOLANO ANTON
+KOLANO DRAGOSLAV
+KOLANO IVAN
+KOLANO JULKA
+KOLAR ANA
+KOLAR ANA
+KOLAR ANDRIJA
+KOLAR ANTAL
+KOLAR DARKO
+KOLAR IBOLJKA
+KOLAR IVAN
+KOLAR JOSIP
+KOLAR JOSIP
+KOLAR JULIJANA
+KOLAR LAJOŠ
+KOLAR LASLO
+KOLAR LOZINKA
+KOLAR MATIJA
+KOLAR MILICA
+KOLAR MIRKO
+KOLAR PAVLE
+KOLAR PETAR
+KOLARŠ ŠTEFAN
+KOLAREVIĆ LJUBICA
+KOLARIĆ ALEKSANDRA
+KOLARIĆ BRANKO
+KOLARIĆ BRIGITA
+KOLARIĆ DOBRILA
+KOLARIĆ DRAGICA
+KOLARIĆ DRAGOLJUB
+KOLARIĆ DUŠAN
+KOLARIĆ FILIP
+KOLARIĆ IDA
+KOLARIĆ KOSTA
+KOLARIĆ MARIJA
+KOLARIĆ MARIJA
+KOLARIĆ MILAN
+KOLARIĆ MILAN
+KOLARIĆ MILIVOJ
+KOLARIĆ MLADEN
+KOLARIĆ NADA
+KOLARIĆ NEMANJA
+KOLARIĆ NIKOLA
+KOLARIĆ RADOVAN
+KOLARIĆ SLAVKO
+KOLARIĆ SLOBODAN
+KOLARIĆ SLOBODAN
+KOLARIĆ SNEŽANA
+KOLARIĆ STEVAN
+KOLARIĆ TOMISLAV
+KOLARIĆ VOJA
+KOLARIĆ ZORAN
+KOLARIĆ ZVONKO
+KOLAROV ŽIVA
+KOLAROV ĐORĐE
+KOLAROV ALEKSANDAR
+KOLAROV DIMITRIJE
+KOLAROV DRAGOSLAV
+KOLAROV DRAGOSLAV
+KOLAROV GOJKO
+KOLAROV JOVAN
+KOLAROV JOVAN
+KOLAROV JULKA
+KOLAROV KATE
+KOLAROV LJILJANA
+KOLAROV MARICA
+KOLAROV MILANKA
+KOLAROV MILIVOJ
+KOLAROV MILOŠ
+KOLAROV MOMIR
+KOLAROV NADA DR LEKAR
+KOLAROV NEBOJŠA
+KOLAROV PAVLE
+KOLAROV PETAR
+KOLAROV RADOJKO
+KOLAROV-RADOVANOVIĆ MARINA
+KOLAROV SAVA
+KOLAROV TODOR
+KOLAROV TOMISLAV
+KOLAROV VOJISLAV
+KOLAROVIĆ ŽIVKO
+KOLAROVIĆ JELENA
+KOLAROVIĆ KATICA
+KOLAROVIĆ KOVINKA
+KOLAROVIĆ LUKA DR
+KOLAROVIĆ MIHAJLO
+KOLAROVIĆ MILICA
+KOLAROVIĆ NENAD
+KOLARSKI ĐORĐE
+KOLARSKI ALEKSANDAR
+KOLARSKI ANICA
+KOLARSKI ARPAD
+KOLARSKI BOSILJKA
+KOLARSKI BRANISLAV
+KOLARSKI DANICA
+KOLARSKI DUŠANKA DIPL OEC
+KOLARSKI JOVAN
+KOLARSKI JOVAN
+KOLARSKI KATICA
+KOLARSKI LASLO
+KOLARSKI LAZAR
+KOLARSKI MILADIN
+KOLARSKI MILAN
+KOLARSKI MILENKO VETERINAR
+KOLARSKI MILENKO
+KOLARSKI MILICA
+KOLARSKI MITAR
+KOLARSKI MLADEN
+KOLARSKI MLADEN
+KOLARSKI NADA
+KOLARSKI NIKOLA
+KOLARSKI RADMILA
+KOLARSKI RADOSLAV
+KOLARSKI RADOVAN
+KOLARSKI RADOVAN
+KOLARSKI SLAVICA
+KOLARSKI STEVAN
+KOLARSKI STEVAN
+KOLARSKI TODOR
+KOLARSKI VERA
+KOLARSKI ZDRAVKO
+KOLBAS DANIJEL
+KOLBAS JANKO
+KOLBAS JOAKIM
+KOLBAS MELANIJA
+KOLBAS MILEVA
+KOLBAS VLADA
+KOLDŽIĆ BRANKA
+KOLDŽIĆ BRANKO
+KOLDŽIN MIRKO
+KOLDŽIN VESELIN
+KOLDAN MILENKO
+KOLEŠKA EDUARD
+KOLEDAR ANDRIJA
+KOLEDIN ĐORĐE
+KOLEDIN FOTIJE
+KOLEDIN MILOŠ
+KOLEDIN MIRJANA
+KOLEDIN PETAR
+KOLEDIN RADOSLAV
+KOLEDIN RADOVAN
+KOLEDIN RADOVAN
+KOLEDIN STEVAN
+KOLEDIN VELIMIR
+KOLEDIN VERA
+KOLER ANTAL
+KOLER LAJOŠ
+KOLESAR ĐURA
+KOLESAR ANICA
+KOLESAR FEDOR
+KOLESAR FERENC
+KOLESAR GAVRA
+KOLESAR JANOŠ
+KOLESAR JOVAN
+KOLESAR JOVAN
+KOLESAR JULIJAN
+KOLESAR JULIJAN
+KOLESAR KATICA
+KOLESAR KSENIJA
+KOLESAR MIHAJLO
+KOLESAR PETAR DR
+KOLESAR PETAR
+KOLESAR SIMEON
+KOLESAR VERA
+KOLESAR VLADIMIR
+KOLESAR ZORICA
+KOLESARIĆ VINKO
+KOLEV TODORKA
+KOLIĆ AIŠA
+KOLIN JOŽEF NOVINAR
+KOLJADŽINSKI JOVAN
+KOLJADŽINSKI STEFANIJA
+KOLJAJA BLAGOJE
+KOLJAJA DRAGAN
+KOLJAJA GORAN
+KOLJANIN PETAR
+KOLMAN JOŽEF
+KOLOČAI JOSIP
+KOLOŠNJAI MIRON
+KOLOŠNJAJI JANKO
+KOLOŠNJAJI VLADIMIR
+KOLOPIĆ PETAR
+KOLOPIĆ RUŽICA
+KOLOVIĆ STEVAN
+KOLTIN BRANKO
+KOLUNDŽIĆ ŽIVKA
+KOLUNDŽIĆ ĐURA
+KOLUNDŽIĆ ANKA
+KOLUNDŽIĆ PERICA
+KOLUNDŽIĆ SLAVKO
+KOLUNDŽIĆ SLAVKO
+KOLUNDŽIJA ANĐELKA
+KOLUNDŽIJA BORISLAV
+KOLUNDŽIJA DAVORKA
+KOLUNDŽIJA DRAGAN
+KOLUNDŽIJA LAZAR
+KOLUNDŽIJA LJUBOMIR
+KOLUNDŽIJA MIRKO
+KOLUNDŽIJA NADA
+KOLUNDŽIJA NIKOLA
+KOLUNDŽIJA ZORKA
+KOLUTAC MATIJA
+KOMŠIĆ JOVAN
+KOMŠO NIKOLA
+KOMAD ANA
+KOMAD GOJKO
+KOMAD RATOMIR
+KOMAD TOMISLAV
+KOMADANOVIĆ MOMČILO
+KOMADANOVIĆ MOMIR
+KOMADARIĆ MILOŠ
+KOMADINA MANE
+KOMADINA VELISLAV
+KOMADINA VUJADIN
+KOMADINIĆ MILORAD
+KOMADINOVIĆ DUŠAN
+KOMADINOVIĆ MIRA
+KOMADINOVIĆ RADOSLAV
+KOMAN BOSILJKA
+KOMANOV MARIJA
+KOMAR GOJKO DIPL ING
+KOMAR RADIVOJE
+KOMAR SLAVKA
+KOMAR SLOBODAN
+KOMAR ZORKA
+KOMARČEVIĆ ALEKSANDAR
+KOMARČEVIĆ IŠTVAN
+KOMARČEVIĆ MILENA
+KOMARČEVIĆ MILINKO DR
+KOMARČEVIĆ MIROSLAV
+KOMARČEVIĆ VLADIMIR
+KOMARICA MARKO
+KOMARICA NOVKO
+KOMARICA RADMILA
+KOMAROMI ĐORĐE
+KOMAROMI ANĐELKA
+KOMAROMI BORBALA
+KOMAROMI BORJANKA
+KOMAROMI BORJANKA
+KOMAROMI IRMA
+KOMAROMI KLARA
+KOMAROMI MAGDOLNA
+KOMAROMI MAGDOLNA
+KOMAROMI MARIJA
+KOMAROMI PETAR
+KOMAROMI ZOLTAN
+KOMAROV ALEKSANDAR DIPL ING
+KOMAROV ALEKSANDAR
+KOMAROV BRANKA
+KOMAROV DRAGICA
+KOMAROV DRAGOMIR
+KOMATINA DRAGAN
+KOMATINOVIĆ MIHAJLO
+KOMATOVIĆ MILAN
+KOMATOVIĆ VELIMIR
+KOMAZEC DRAGOMIR
+KOMAZEC PETAR
+KOMBERI AVDUŠ
+KOMBILJ VERA
+KOMENDA ANDRIJA
+KOMINKO LJUBICA
+KOMLENIĆ ĐORĐE
+KOMLENOV ŽIVAN
+KOMLENOV ĐORĐE
+KOMLENOV JOVAN
+KOMLENOVIĆ MARIJA
+KOMLENOVIĆ MILAN
+KOMLENOVIĆ MILE
+KOMLENOVIĆ VELJKO
+KOMLENSKI ŽIVAN
+KOMLENSKI-DELIĆ VUKOSAVA DR
+KOMLENSKI ZORAN
+KOMLJENOVIĆ ALEKSANDRA
+KOMLJENOVIĆ BOŠKO
+KOMLJENOVIĆ MILAN
+KOMLJENOVIĆ MOMIR
+KOMLJENOVIĆ STEVAN
+KOMLJENOVIĆ VLADO
+KOMLUŠAN BOŽA
+KOMLUŠKI IVANA MR
+KOMNENIĆ IVANKA
+KOMNENOV ŠARLOTA
+KOMNENOV MILORAD
+KOMNENOV NIKOLA
+KOMNENOV SANDRA
+KOMNENOV STANISLAV
+KOMNENOV VESELINA
+KOMNENOV VLADIMIR DR
+KOMNENOVIĆ ŽIVAN
+KOMNENOVIĆ BRANKO
+KOMNENOVIĆ DEJAN
+KOMNENOVIĆ JELENA
+KOMNENOVIĆ LJUBOJE
+KOMNENOVIĆ MILAN
+KOMNENOVIĆ RADOSLAV
+KOMNENOVIĆ STANKO
+KOMNENOVIĆ STOJAN
+KOMNENOVIĆ VERICA
+KOMOSAR BRANKO
+KOMOSAR RAJKO
+KOMOZEC ĐORĐE
+KOMOZEC LAZAR
+KON SLOBODANKA
+KON STEVAN
+KON TOMAŽ
+KONČAR ANDRIJA
+KONČAR BOSILJKA
+KONČAR JOVO
+KONČAR LADISLAV
+KONČAR MIRA
+KONČAR MITAR
+KONČAR NIKOLA
+KONČAR NIKOLA
+KONČAR RANKO
+KONČAR SLAVKO
+KONČAR ZORA
+KONČAR ZORA
+KONČAREVIĆ DANICA
+KONČAREVIĆ ILIJA
+KONČEK ROZALIJA
+KONAKOV NEDELJKO
+KONC ŠANDOR
+KONC IŠTVAN
+KONC ILONA
+KONC LJILJANA
+KONC ZORANKA
+KONDAN MARGARETA
+KONDIĆ ANA
+KONDIĆ ANKA
+KONDIĆ BRANKO
+KONDIĆ DRAGAN
+KONDIĆ DRAGICA
+KONDIĆ DRAGOLJUB
+KONDIĆ DUŠANKA
+KONDIĆ JOVAN
+KONDIĆ LJUBICA
+KONDIĆ MILENKO
+KONDIĆ MIRA
+KONDIĆ NEBOJŠA
+KONDIĆ NEMANJA
+KONDIĆ NIKOLA
+KONDIĆ NIKOLA
+KONDIĆ RADMILA
+KONDIĆ RADOJKA
+KONDIĆ RAJKO
+KONDIĆ SANDRA
+KONDIĆ TRIVO
+KONDIĆ ZDRAVKO
+KONDIĆ ZORKA
+KONDOJANI ĐORĐE
+KONDRAK STOJAN
+KONDRATJEV ŠTEFANIJA
+KONEČNI MARIJA
+KONECKI ZLATKO
+KONECKI ZLATKO
+KONEN ROBERT
+KONEN ROBERT
+KONESKA LJILJANA
+KONGO VERA
+KONJATIĆ ŠIMO
+KONJEVIĆ ŽIVA DIPL PRAVNIK
+KONJEVIĆ ANA
+KONJEVIĆ DANILO
+KONJEVIĆ DOBRIVOJ
+KONJEVIĆ DRAGOMIR
+KONJEVIĆ GROZDANA
+KONJEVIĆ IVANKA
+KONJEVIĆ MILEVA
+KONJEVIĆ MILIVOJ
+KONJEVIĆ MLAĐEN
+KONJEVIĆ MLADEN
+KONJEVIĆ NENAD
+KONJEVIĆ PREDRAG
+KONJEVIĆ PREDRAG
+KONJEVIĆ PREDRAG
+KONJEVIĆ STANISLAV
+KONJEVIĆ STANISLAV
+KONJIĆ STOJANKA
+KONJIK NADA
+KONJIK VIDOJE
+KONJOVIĆ BRANISLAV
+KONJOVIĆ JOVAN
+KONJOVIĆ MAKSIM
+KONJOVIĆ MILAN
+KONJOVIĆ MIRJANA
+KONJOVIĆ NIKOLA
+KONJOVIĆ RADOSLAVA
+KONJOVIĆ SMILJA
+KONJOVIĆ SOFIJA
+KONJOVIĆ TINKA
+KONJOVIĆ VERA
+KONKOL MIHAJLO
+KONKOLJ MARIJA
+KONOPEK STANIMIR
+KONRAD FRANJA
+KONRAD MIRČA
+KONRAD PAVLE
+KONSTANTIN BUHA
+KONSTANTINIDIS DIMITRIJE
+KONSTANTINIDIS GEORGIOS
+KONSTANTINIDIS TEODOR
+KONSTANTINIDU SOFIJA
+KONSTANTINOVIĆ ANĐELIJA
+KONSTANTINOVIĆ BLAGOJE
+KONSTANTINOVIĆ HERMINA
+KONSTANTINOVIĆ JELICA
+KONSTANTINOVIĆ JORDAN
+KONSTANTINOVIĆ JOVAN
+KONSTANTINOVIĆ LJILJANA
+KONSTANTINOVIĆ LUKA
+KONSTANTINOVIĆ MIRJANA
+KONSTANTINOVIĆ NIKOLA
+KONSTANTINOVIĆ PETAR
+KONSTANTINOVIĆ VERA
+KONSTANTINOVIĆ ZVONIMIR
+KONTIĆ DOBRIVOJ
+KONTIĆ JOVANKA
+KONTIĆ MILAN
+KONTIĆ SLAVICA
+KONTRIĆ JOVAN
+KOPČANSKI ŽELJKO
+KOPČANSKI IRINA
+KOPČANSKI NIKOLA
+KOPČANSKI PETAR
+KOPČANSKI RADMILA
+KOPČANSKI STEVAN
+KOPČANSKI VLADA
+KOPČOK ANA
+KOPČOK KATICA
+KOPČOK MIŠA
+KOPČOK SANDRA
+KOPANJA DANILO
+KOPANJA DRAGOMIR
+KOPANJA DUŠAN
+KOPANJA DUŠAN
+KOPANJA GOJKO
+KOPANJA GOJKO
+KOPANJA ILIJA
+KOPANJA LJUPKO
+KOPANJA MIĆO
+KOPANJA MIODRAG
+KOPANJA MITAR
+KOPANJA RANISLAV
+KOPANJA ROSA
+KOPANJA VID
+KOPAS JANOŠ
+KOPEREC ALEKSANDAR
+KOPEREC ANDRIJA
+KOPEREC JANOŠ
+KOPEREC JOVAN
+KOPEREC STEVAN
+KOPEREC STEVAN
+KOPESTENSKI KATICA
+KOPESTINSKIJ REGINA
+KOPIĆ ILONA
+KOPICL RUDOLF
+KOPILOVIĆ JOSIP
+KOPILOVIĆ MARGA
+KOPILOVIĆ-MIJATOV DRAGICA
+KOPILOVIĆ PAVLE
+KOPITOVIĆ ŠPIRO
+KOPITOVIĆ PETAR
+KOPLANJI MARIJA
+KOPLANJI MIROSLAVA
+KOPLIĆ ĐORĐE
+KOPLIĆ DANICA
+KOPLIĆ DUŠAN
+KOPLIĆ MILE
+KOPRENOVIĆ RADOJKA
+KOPRIVŠEK ZVONIMIR
+KOPRIVICA ANGELINA
+KOPRIVICA BOŽIDAR
+KOPRIVICA BOŽIDAR
+KOPRIVICA BORISLAV
+KOPRIVICA GORDANA
+KOPRIVICA LJILJANA
+KOPRIVICA MILENKO
+KOPRIVICA MILUTIN
+KOPRIVICA MIODRAG
+KOPRIVICA NOVAK
+KOPRIVICA OBREN
+KOPRIVICA PETAR
+KOPRIVICA SVETOZAR
+KOPRIVICA ZORAN
+KOPUNOVIĆ LJUBICA
+KORČOK JAN
+KORČOK MARIJA
+KORČOK VLADIMIR
+KORAĆ ŽELJKO
+KORAĆ ANĐELIJA
+KORAĆ DUŠAN
+KORAĆ GOJKO
+KORAĆ IGOR
+KORAĆ JULIJANA
+KORAĆ KATICA
+KORAĆ LJUBISAV
+KORAĆ MANE
+KORAĆ MIHAJLO
+KORAĆ MILAN
+KORAĆ MILE
+KORAĆ MILE
+KORAĆ MILE
+KORAĆ MILE
+KORAĆ MILOVAN DR PROF
+KORAĆ MILOVAN
+KORAĆ MILOVAN
+KORAĆ MIODRAG
+KORAĆ PETAR
+KORAĆ PETRA
+KORAĆ RADE
+KORAĆ RADOJKA
+KORAĆ RADOJKA
+KORAĆ RADOSAV
+KORAĆ SLOBODAN
+KORAĆ SNEŽANA
+KORAĆ TATJANA
+KORAĆ VLADO
+KORAJICA ĐURA
+KORAJLIJA ŽARKO
+KORAJLIJA ŽARKO
+KORAJLIJA ŽARKO
+KORAJLIJA DIMITRIJE
+KORAJLIJA MILAN
+KORAKU LUČIJAN
+KORAKU LUCIJAN
+KORBATFINSKI ELVIRA
+KORBATFINSKI VIKTOR DR
+KORBATVINSKI DRAGAN
+KORBATVINSKI-LALOŠEVIĆ ZLATA
+KORBIĆ MLADEN
+KORDA MILOŠ
+KORDA NANDOR
+KORDIĆ ĐURA
+KORDIĆ BOJAN
+KORDIĆ DUŠANKA
+KORDIĆ GOJKO
+KORDIĆ MILAN
+KORENIĆ GABRIEL
+KORENIĆ TEODOR
+KORENJI ĐORĐE
+KORENJI ALEKSANDAR
+KORENJI LASLO
+KORENT LUDVIG
+KORHAMER FERENC
+KORHEC PAVLE
+KORIŠ JULIJANA
+KORIĆANAC IVAN
+KORIĆANAC LJUBINKA
+KORIŽ ARPAD
+KORICA ĐORĐE
+KORICA ĐURO
+KORICA DUŠAN
+KORICA JANKO
+KORICA MILORAD
+KORICA NEDELJKO
+KORICA NIKOLA
+KORICA PETAR
+KORICA SNEŽANA
+KORICA SOFIJA
+KORICA STEVAN
+KORISTOVIĆ MIKSARD
+KORLAT PERICA
+KORLAT PETAR
+KORMANJOŠ ŠANDOR
+KORMANJOŠ ANDRIJA
+KORMANJOŠ BORKA
+KORMANJOŠ FERENC
+KORMANJOŠ KAROLJ
+KORMANJOŠ MIHALJ
+KORMOŠ JANOŠ
+KORMOŠ MARGITA
+KORMOŠ MARGITA
+KORMOŠ MARIJA
+KORMOŠ TEREZA
+KOROŠ RASTISLAV
+KOROŠ VLADA
+KOROŠAN ŠANDOR
+KOROŠEC LEO
+KOROBKO TARAS
+KORODI FRANJA
+KOROKNAI FERENC
+KOROKNAI JANOŠ
+KOROKNAI ZOLTAN
+KOROLIJA DUŠAN DR LEKAR
+KOROLIJA DUŠAN
+KOROLIJA STEVAN DR
+KOROLIJA VERA
+KOROM ERŽEBET
+KOROM TIBOR
+KOROMAN MILORAD
+KOROV ĐORĐE
+KOROVLJEV IVAN
+KOROVLJEV JOVANKA
+KOROVLJEV MARIJA
+KOROVLJEV MILENKO
+KOROVLJEV MILOŠ
+KOROVLJEV RADMILA
+KOROVLJEV VUKICA
+KORPA BELA
+KORPAŠ AMALIJA
+KORPAŠ DANICA
+KORPAŠ DIMITRIJE
+KORPAŠ JANKO
+KORPAŠ MIROSLAV
+KORPAŠ MIROSLAV
+KORPAŠ PERA
+KORPAK DRAGINJA
+KORPAK NADA
+KORPONAI IŠTVAN
+KORPONAI MARIJA
+KORUGA BORA
+KORUGA JULKA
+KORUGA RADOMIR
+KORUNIĆ LIZA
+KOS IDA
+KOS MARIJA
+KOS SLAVKO
+KOS SLAVKO
+KOS STANKO
+KOSAĆ DARINKA
+KOSANIĆ BRANISLAV
+KOSANIĆ IVANKA
+KOSANIĆ SAVA
+KOSANOV ALEKSANDAR
+KOSANOV KATICA
+KOSANOV VLADIMIR
+KOSANOVIĆ ANĐELKA
+KOSANOVIĆ BOGDAN MR
+KOSANOVIĆ BRANKO
+KOSANOVIĆ BRANKO
+KOSANOVIĆ DANE
+KOSANOVIĆ DRAGAN
+KOSANOVIĆ DUŠANKA
+KOSANOVIĆ DUŠAN
+KOSANOVIĆ JELICA
+KOSANOVIĆ JOVAN
+KOSANOVIĆ KOSANA
+KOSANOVIĆ LAZO
+KOSANOVIĆ LJUBICA
+KOSANOVIĆ LJUBOMIR DR
+KOSANOVIĆ-MANDIĆ NENA
+KOSANOVIĆ MANE
+KOSANOVIĆ MARKO
+KOSANOVIĆ MIĆO
+KOSANOVIĆ MILAN
+KOSANOVIĆ MILE
+KOSANOVIĆ MILORAD
+KOSANOVIĆ MIRKO
+KOSANOVIĆ MITAR
+KOSANOVIĆ MLADEN
+KOSANOVIĆ NADA
+KOSANOVIĆ OLGA
+KOSANOVIĆ PETAR
+KOSANOVIĆ RADOVAN
+KOSANOVIĆ SLAVKO
+KOSANOVIĆ STOJAN
+KOSANOVIĆ VELIMIR
+KOSANOVIĆ ZORICA
+KOSARENKO PETAR
+KOSEDNAR STJEPAN
+KOSIĆ ŽARKO
+KOSIĆ ŽARKO
+KOSIĆ ŽIVOJIN
+KOSIĆ BILJANA
+KOSIĆ BOJAN
+KOSIĆ BORKO
+KOSIĆ BRANISLAV
+KOSIĆ GORAN
+KOSIĆ GORDANA
+KOSIĆ IVAN
+KOSIĆ JELICA
+KOSIĆ JOVICA
+KOSIĆ LUKA
+KOSIĆ MARIJA
+KOSIĆ MILOVAN
+KOSIĆ MIRKO DIPL ING
+KOSIĆ NEDELJKO
+KOSIĆ RUŽA
+KOSIĆ SVETOZAR
+KOSIĆ TOMA
+KOSIĆ ZORICA
+KOSINA MILICA
+KOSIROVIĆ MARIJA
+KOSIROVIĆ MILAN
+KOSIROVIĆ PANTELIJA
+KOSJER DUŠAN
+KOSJERINA MILENKO
+KOSKA ATMANA
+KOSKA HATIDŽE
+KOSKA JASMIDIN
+KOSKA LJERKA
+KOSKA MILENA
+KOSKA NADEŽDA
+KOSKA SAFET
+KOSKA SALI
+KOSMAJAC ĐORĐE
+KOSMAJAC ANICA
+KOSO BOSILJKA
+KOSO FRANJO
+KOSO MIHALJ
+KOSO OLIVERA
+KOSO PAL
+KOSORUŠ ĐURA
+KOSORUŠ ETELKA
+KOSORUŠ PETER
+KOSOVAC ČEDA
+KOSOVAC ŽIVKO
+KOSOVAC ALEKSANDAR DR
+KOSOVAC BOJAN
+KOSOVAC BOJAN
+KOSOVAC DARKO
+KOSOVAC DRAGAN
+KOSOVAC DUŠAN
+KOSOVAC GEORGIJE
+KOSOVAC GOJKO
+KOSOVAC JULIJANA
+KOSOVAC MILAN
+KOSOVAC MILAN
+KOSOVAC MIRKO
+KOSOVAC NIKOLA
+KOSOVAC RADIVOJ
+KOSOVAC ZDRAVKO
+KOSOVIĆ ANDRIJA
+KOSOVIĆ ANKICA
+KOSOVIĆ MILORAD
+KOSOVIĆ OLGA PROFESOR
+KOSOVIĆ RADISLAV
+KOSOVIĆ RATKO
+KOSOVIĆ SVETISLAV
+KOSOVRASTI ADŽI
+KOSTADINOSKI BLAGOJE
+KOSTADINOV RISTA
+KOSTADINOVIĆ BRANISLAV
+KOSTADINOVIĆ DRAGOLJUB
+KOSTADINOVIĆ LJILJANA
+KOSTADINOVIĆ TIHOMIR
+KOSTADINOVIĆ VERA
+KOSTADINOVIĆ VERICA
+KOSTADINOVIĆ VUKAN
+KOSTADINOVSKI DIMČE
+KOSTELNIK NESTOR
+KOSTELNIK SILVESTER
+KOSTEVSKI IVAN
+KOSTIĆ-ŠOBOT MILKA
+KOSTIĆ ŽARKO
+KOSTIĆ ŽELJKO
+KOSTIĆ ŽIVOJIN
+KOSTIĆ ĐORĐE
+KOSTIĆ ĐORĐE
+KOSTIĆ ĐORĐE
+KOSTIĆ ĐORĐE
+KOSTIĆ ĐORĐE
+KOSTIĆ ĐURĐICA
+KOSTIĆ ACA
+KOSTIĆ ALEKSANDAR
+KOSTIĆ ALEKSANDAR
+KOSTIĆ ALEKSANDAR
+KOSTIĆ ALEKSANDRA
+KOSTIĆ ANA
+KOSTIĆ ANGELINA
+KOSTIĆ ANKICA
+KOSTIĆ BOŽIDAR
+KOSTIĆ BOŽIDAR
+KOSTIĆ BOGOLJUB
+KOSTIĆ BRANIMIR
+KOSTIĆ BRANISLAV
+KOSTIĆ BRANISLAV
+KOSTIĆ BRANKO
+KOSTIĆ DANILO
+KOSTIĆ DEJAN
+KOSTIĆ DESANKA
+KOSTIĆ DRAGAN
+KOSTIĆ DRAGA
+KOSTIĆ DRAGA
+KOSTIĆ DRAGICA
+KOSTIĆ DRAGICA
+KOSTIĆ DRAGICA
+KOSTIĆ DRAGOLJUB
+KOSTIĆ DUŠAN
+KOSTIĆ DUŠAN
+KOSTIĆ DUŠAN
+KOSTIĆ ELEONORA
+KOSTIĆ GEORGINA
+KOSTIĆ GLIŠA
+KOSTIĆ GOLUB
+KOSTIĆ GORDANA
+KOSTIĆ GRADIMIR
+KOSTIĆ IVAN
+KOSTIĆ IVAN
+KOSTIĆ JELENA
+KOSTIĆ JELICA
+KOSTIĆ JELICA
+KOSTIĆ JORDANKA
+KOSTIĆ JOVAN
+KOSTIĆ JOVAN
+KOSTIĆ JOVAN
+KOSTIĆ JOVAN
+KOSTIĆ JOVAN
+KOSTIĆ KRSMAN
+KOSTIĆ KRSTA
+KOSTIĆ LJILJANA
+KOSTIĆ LJILJANA
+KOSTIĆ LJUBIŠA
+KOSTIĆ LJUBICA
+KOSTIĆ LJUBICA
+KOSTIĆ LJUBICA
+KOSTIĆ MAKSIM
+KOSTIĆ MARIJA
+KOSTIĆ MARKO
+KOSTIĆ METODIJE
+KOSTIĆ MIHAJLO
+KOSTIĆ MILAN
+KOSTIĆ MILAN
+KOSTIĆ MILENA DR
+KOSTIĆ MILENA
+KOSTIĆ MILEVA
+KOSTIĆ MILICA
+KOSTIĆ MILORAD
+KOSTIĆ MILOVAN
+KOSTIĆ MILUŠA
+KOSTIĆ MIRJANA
+KOSTIĆ MIRKO
+KOSTIĆ MOJSE
+KOSTIĆ NADA
+KOSTIĆ NADA
+KOSTIĆ NIKOLA
+KOSTIĆ NIKOLA
+KOSTIĆ OLIVERA
+KOSTIĆ PAVLE
+KOSTIĆ PETAR
+KOSTIĆ PETAR
+KOSTIĆ PETAR
+KOSTIĆ PETAR
+KOSTIĆ PETAR
+KOSTIĆ RADOJICA
+KOSTIĆ RADOJKO
+KOSTIĆ RADOMIR
+KOSTIĆ RADOSAV
+KOSTIĆ RATKO
+KOSTIĆ RUŽICA
+KOSTIĆ SAVA
+KOSTIĆ SAVA
+KOSTIĆ SLAVICA
+KOSTIĆ SLAVKA
+KOSTIĆ SLOBODAN
+KOSTIĆ SLOBODAN
+KOSTIĆ SLOBODAN
+KOSTIĆ SNEŽANA
+KOSTIĆ SPASENKO
+KOSTIĆ SRETEN
+KOSTIĆ STANA
+KOSTIĆ STANIMIR
+KOSTIĆ STANKO
+KOSTIĆ STAZA
+KOSTIĆ STEVAN
+KOSTIĆ STOJADIN
+KOSTIĆ STRAHINJA DR PROF
+KOSTIĆ SVETISLAV DR
+KOSTIĆ SVETISLAV
+KOSTIĆ SVETOZAR
+KOSTIĆ TIBERIJE
+KOSTIĆ TOMISLAV
+KOSTIĆ TOMISLAV
+KOSTIĆ TOMISLAV
+KOSTIĆ VASO
+KOSTIĆ VELIMIR
+KOSTIĆ VERA
+KOSTIĆ VLADISLAVA
+KOSTIĆ VLADISLAV
+KOSTIĆ VLASTIMIR
+KOSTIĆ VOJISLAV
+KOSTIĆ VUKAŠIN
+KOSTIĆ ZDRAVKO
+KOSTIĆ ZORAN
+KOSTIĆ ZORAN
+KOSTIĆ ZORAN
+KOSTIĆ ZORAN
+KOSTIĆ ZORAN
+KOSTIĆ ZORICA
+KOSTOVIĆ JELICA
+KOSTOVIĆ RATKO
+KOSTOVIĆ SNEŽANA
+KOSTOVSKI KATICA
+KOSTOVSKI MIROSLAV
+KOSTOVSKI TRAJČE
+KOSTREŠ MOMČILO
+KOSTREŠEVIĆ GORAN
+KOSTREŠEVIĆ MILADIN
+KOSTREŠEVIĆ NEDELJKO
+KOSTREŠEVIĆ STANKA
+KOSTRIČENKO VASILIJE
+KOSTUDIJA MIROSLAV
+KOT ILONA
+KOT JOSIP
+KOT LADISLAV
+KOT LASLO
+KOT MARTA
+KOT MIRA
+KOT MIRKO
+KOTA ERŽEBET
+KOTA LAJOŠ
+KOTA MIHAJLO
+KOTARČEVIĆ ELVIRA
+KOTARČEVIĆ NIKOLA
+KOTARAC KATICA
+KOTARAC KOSTA
+KOTARAC SVETISLAV
+KOTARANIN LJILJANA
+KOTARANIN PETAR
+KOTARLIĆ DARKO
+KOTARLIĆ DRAGANA
+KOTARLIĆ SAVA
+KOTHAI IŠTVAN
+KOTHAI JOŽEF
+KOTHAI STEVAN
+KOTHAJ STEVAN
+KOTIĆ VOJISLAV
+KOTLAJA MILANKO
+KOTLAJA MILKO
+KOTLARIĆ MARKO DR
+KOTLARIĆ STANIMIR
+KOTRBA FRANJA
+KOTRE MAGDOLNA
+KOTUŠ ERŽEBET
+KOTUŠ MILICA
+KOTUŠ MIROSLAV
+KOTUŠ STEVAN
+KOTUĆ MARIJETA
+KOTUR ANĐELKA
+KOTUR DRAGAN
+KOTUR JELA
+KOTUR RADE
+KOTUROV NADA
+KOTUROVIĆ KATICA
+KOUNIS LJILJANA
+KOVČE AMALIJA
+KOVČEV SPASENKA
+KOVČIN MILICA
+KOVČIN MILOVAN
+KOVČIN MIROSLAV DIPL ING
+KOVČIN NEGA
+KOVČIN STANIMIR DR
+KOVAČ ČEDO
+KOVAČ ŠANDOR
+KOVAČ ŠANDOR
+KOVAČ ĐORĐE
+KOVAČ ĐORĐE
+KOVAČ ĐULA
+KOVAČ ĐURĐA
+KOVAČ-AČ KAROLJ
+KOVAČ ALEKSANDAR
+KOVAČ ALEKSANDAR
+KOVAČ ANA
+KOVAČ ANA
+KOVAČ ANDRAŠ
+KOVAČ ANTAL
+KOVAČ ANTON
+KOVAČ ARPAD
+KOVAČ ATILA
+KOVAČ BELA
+KOVAČ BELA
+KOVAČ-BIRKAŠ MIHALJ
+KOVAČ BORIS
+KOVAČ DEŽE
+KOVAČ DESANKA
+KOVAČ DRAGICA MR
+KOVAČ DUŠAN
+KOVAČ ETELKA
+KOVAČ ETELKA
+KOVAČ FERENC
+KOVAČ FERENC
+KOVAČ FRANJA
+KOVAČ FRANJA
+KOVAČ GABOR
+KOVAČ GIZELA
+KOVAČ IŠTVAN
+KOVAČ IŠTVAN
+KOVAČ IŠTVAN
+KOVAČ IŠTVAN
+KOVAČ IŠTVAN
+KOVAČ IŠTVAN
+KOVAČ IŠTVAN
+KOVAČ IŠTVAN
+KOVAČ IŠTVAN
+KOVAČ ILONA
+KOVAČ IMRE
+KOVAČ IMRE
+KOVAČ IMRE
+KOVAČ IRENA
+KOVAČ IRENA
+KOVAČ IVAN
+KOVAČ IVAN
+KOVAČ IVAN
+KOVAČ IVAN
+KOVAČ IVAN
+KOVAČ IVAN
+KOVAČ JAKOB
+KOVAČ JANKO
+KOVAČ JANOŠ
+KOVAČ JANOŠ
+KOVAČ JANOŠ
+KOVAČ JANOŠ
+KOVAČ JANOŠ
+KOVAČ JANOŠ
+KOVAČ JANOŠ
+KOVAČ JAN
+KOVAČ JAN
+KOVAČ JELICA
+KOVAČ JELISAVETA
+KOVAČ JOŽEF
+KOVAČ JOŽEF
+KOVAČ JOSIP
+KOVAČ JOSIP
+KOVAČ JOSIP
+KOVAČ JOSIP
+KOVAČ JOVAN
+KOVAČ JOVAN
+KOVAČ JOVAN
+KOVAČ JULIANA
+KOVAČ JULIJANA
+KOVAČ KARLO
+KOVAČ KARLO
+KOVAČ KAROLJ
+KOVAČ KAROLJ
+KOVAČ KAROLJ
+KOVAČ KAROLJ
+KOVAČ KATALIN
+KOVAČ KATARINA
+KOVAČ KATICA
+KOVAČ KATICA
+KOVAČ KATICA
+KOVAČ KATICA
+KOVAČ KATICA
+KOVAČ KOVILJKA
+KOVAČ LADISLAV
+KOVAČ LADISLAV
+KOVAČ LADISLAV
+KOVAČ LADISLAV
+KOVAČ LADISLAV
+KOVAČ LAJOŠ
+KOVAČ LAJOŠ
+KOVAČ LASLO
+KOVAČ LASLO
+KOVAČ LASLO
+KOVAČ LASLO
+KOVAČ LASLO
+KOVAČ LASLO
+KOVAČ LASLO
+KOVAČ LASLO
+KOVAČ LJUBAN
+KOVAČ LJUDEVIT
+KOVAČ MAJA
+KOVAČ MARGITA
+KOVAČ MARIJA
+KOVAČ MARIJA
+KOVAČ MARIJA
+KOVAČ MARIJA
+KOVAČ MARIJA
+KOVAČ MARTIN
+KOVAČ MATIJA
+KOVAČ MIHAJLO
+KOVAČ MIHAJLO
+KOVAČ MIHALJ
+KOVAČ MIHALJ
+KOVAČ MIKLOŠ
+KOVAČ MIKLOŠ
+KOVAČ MILADIN
+KOVAČ MILAN
+KOVAČ MILENA
+KOVAČ MILOŠ
+KOVAČ MILORAD
+KOVAČ MIRJANA
+KOVAČ MIRJANA
+KOVAČ MIRJANA
+KOVAČ MIRKO
+KOVAČ MIRON DIPL ING
+KOVAČ MIROSLAV
+KOVAČ NATALIJA
+KOVAČ NIKOLA
+KOVAČ NIKOLA
+KOVAČ OLGICA
+KOVAČ OLGICA
+KOVAČ OTO
+KOVAČ PAVEL
+KOVAČ PETAR
+KOVAČ RISTO DIPL ING
+KOVAČ ROŽI
+KOVAČ ROŽI
+KOVAČ ROZALIJA
+KOVAČ ROZALIJA
+KOVAČ RUŽICA
+KOVAČ SILVESTER
+KOVAČ SMILJA
+KOVAČ STANOJKA
+KOVAČ STEVAN
+KOVAČ STEVAN
+KOVAČ STEVAN
+KOVAČ STEVAN
+KOVAČ STJEPAN DIPL ING
+KOVAČ SVETOZAR
+KOVAČ TEODOR DR PROF
+KOVAČ TEODOR DR
+KOVAČ TIBOR
+KOVAČ TIBOR
+KOVAČ-TIHMAJER STEVAN
+KOVAČ TOMISLAV
+KOVAČ TRPIMIR
+KOVAČ VALERIJA
+KOVAČ VERA
+KOVAČ VERA
+KOVAČ VERA
+KOVAČ VERA
+KOVAČ VERA
+KOVAČ VERICA
+KOVAČ VERONA
+KOVAČ VERONA
+KOVAČ VIDA
+KOVAČ VLADIMIR
+KOVAČ VLADIMIR
+KOVAČ ZORA
+KOVAČ ZVONIMIR
+KOVAČEK BOŽIDAR DR
+KOVAČEK DANICA
+KOVAČEK JELENA
+KOVAČEV ĐORĐE
+KOVAČEV ALEKSANDAR
+KOVAČEV BRANKA
+KOVAČEV BRANKO
+KOVAČEV BRANKO
+KOVAČEV DANČE
+KOVAČEV DANILKA
+KOVAČEV DIMITRIJE
+KOVAČEV DRAGIŠA
+KOVAČEV DRAGOSLAV
+KOVAČEV DRAGUTIN
+KOVAČEV DRAGUTIN
+KOVAČEV DUŠANKA
+KOVAČEV GORAN
+KOVAČEV GORDANA
+KOVAČEV GORDANA
+KOVAČEV ILIJA
+KOVAČEV IVICA
+KOVAČEV JELA
+KOVAČEV JELENA
+KOVAČEV JOVAN
+KOVAČEV JULIJANA
+KOVAČEV JULKA
+KOVAČEV LAZAR
+KOVAČEV MARIJA
+KOVAČEV MILAN
+KOVAČEV MILAN
+KOVAČEV MILENA
+KOVAČEV MILICA
+KOVAČEV MILOŠ
+KOVAČEV MILORAD DR LEKAR
+KOVAČEV MILUTIN
+KOVAČEV MIRJANA
+KOVAČEV MLADEN
+KOVAČEV NEDELJKO
+KOVAČEV NEMANJA
+KOVAČEV PETAR
+KOVAČEV STEVAN
+KOVAČEV STEVAN
+KOVAČEV STEVAN
+KOVAČEV SVETISLAV
+KOVAČEV SVETOZAR
+KOVAČEV TEODOR DR
+KOVAČEV TEODOR DR
+KOVAČEV VERA
+KOVAČEV VERA
+KOVAČEV VESNA
+KOVAČEVIĆ ČEDA
+KOVAČEVIĆ ŽELIMIR
+KOVAČEVIĆ ŽELJKO
+KOVAČEVIĆ ŽIVAN
+KOVAČEVIĆ ŽIVAN
+KOVAČEVIĆ ĐORĐE DIPL ING
+KOVAČEVIĆ ĐORĐE
+KOVAČEVIĆ ĐORĐE
+KOVAČEVIĆ ĐORĐE
+KOVAČEVIĆ ĐORĐE
+KOVAČEVIĆ ĐURĐINA
+KOVAČEVIĆ ĐURA
+KOVAČEVIĆ AGNEŠ
+KOVAČEVIĆ ALEKSANDAR
+KOVAČEVIĆ ALEKSANDAR
+KOVAČEVIĆ ALEKSANDAR
+KOVAČEVIĆ ANĐELIJA
+KOVAČEVIĆ ANDRIJA
+KOVAČEVIĆ ANETA
+KOVAČEVIĆ ANKICA
+KOVAČEVIĆ ARSA
+KOVAČEVIĆ BLAGOJE
+KOVAČEVIĆ BOŠKO
+KOVAČEVIĆ BOŠKO
+KOVAČEVIĆ BOŠKO
+KOVAČEVIĆ BOŽIDAR
+KOVAČEVIĆ BOGDAN
+KOVAČEVIĆ BOGDAN
+KOVAČEVIĆ BORISLAVA
+KOVAČEVIĆ BORISLAV
+KOVAČEVIĆ BORISLAV
+KOVAČEVIĆ BORIVOJE
+KOVAČEVIĆ BORIVOJ
+KOVAČEVIĆ BORIVOJ
+KOVAČEVIĆ BORIVOJ
+KOVAČEVIĆ BORKA
+KOVAČEVIĆ BRANIMIR
+KOVAČEVIĆ BRANISLAVA DIPL ING
+KOVAČEVIĆ BRANISLAVA
+KOVAČEVIĆ BRANISLAVA
+KOVAČEVIĆ BRANISLAV
+KOVAČEVIĆ BRANKO
+KOVAČEVIĆ BRANKO
+KOVAČEVIĆ BRANKO
+KOVAČEVIĆ BRANKO
+KOVAČEVIĆ BRANKO
+KOVAČEVIĆ BRANKO
+KOVAČEVIĆ BRANKO
+KOVAČEVIĆ BRANKO
+KOVAČEVIĆ BUDIMIR
+KOVAČEVIĆ BUDIMIR
+KOVAČEVIĆ DAMJAN
+KOVAČEVIĆ DANICA
+KOVAČEVIĆ DANICA
+KOVAČEVIĆ DANICA
+KOVAČEVIĆ DANICA
+KOVAČEVIĆ DANICA
+KOVAČEVIĆ DANILO
+KOVAČEVIĆ DANKA
+KOVAČEVIĆ DAVORKA
+KOVAČEVIĆ DESANKA
+KOVAČEVIĆ DIMITRIJE DIPL OEC
+KOVAČEVIĆ DRAGAN DR
+KOVAČEVIĆ DRAGANA
+KOVAČEVIĆ DRAGAN
+KOVAČEVIĆ DRAGAN
+KOVAČEVIĆ DRAGAN
+KOVAČEVIĆ DRAGICA
+KOVAČEVIĆ DRAGICA
+KOVAČEVIĆ DRAGOLJUB
+KOVAČEVIĆ DRAGOLJUB
+KOVAČEVIĆ DRAGOLJUB
+KOVAČEVIĆ DRAGO
+KOVAČEVIĆ DRAGO
+KOVAČEVIĆ DRAGUTIN
+KOVAČEVIĆ DRAGUTIN
+KOVAČEVIĆ DRENA
+KOVAČEVIĆ DUŠANKA
+KOVAČEVIĆ DUŠAN
+KOVAČEVIĆ DUŠAN
+KOVAČEVIĆ DUŠAN
+KOVAČEVIĆ DUŠAN
+KOVAČEVIĆ DUŠAN
+KOVAČEVIĆ DUŠAN
+KOVAČEVIĆ DUŠAN
+KOVAČEVIĆ DUŠICA
+KOVAČEVIĆ DUŠICA
+KOVAČEVIĆ DUŠKO
+KOVAČEVIĆ DUŠKO
+KOVAČEVIĆ DUŠKO
+KOVAČEVIĆ FRANJA
+KOVAČEVIĆ GAVRILO
+KOVAČEVIĆ GLIGORIJE
+KOVAČEVIĆ GOJKO
+KOVAČEVIĆ IŠTVAN
+KOVAČEVIĆ IGNJAT
+KOVAČEVIĆ ILIJA
+KOVAČEVIĆ ILIJA
+KOVAČEVIĆ ILIJA
+KOVAČEVIĆ ISA
+KOVAČEVIĆ IVAN
+KOVAČEVIĆ JAGOŠ
+KOVAČEVIĆ JELENA
+KOVAČEVIĆ JELICA
+KOVAČEVIĆ JELICA
+KOVAČEVIĆ JELISAVETA
+KOVAČEVIĆ JORDAN
+KOVAČEVIĆ JOVANKA
+KOVAČEVIĆ JOVAN
+KOVAČEVIĆ JOVAN
+KOVAČEVIĆ JOVAN
+KOVAČEVIĆ JOVICA
+KOVAČEVIĆ JOVO
+KOVAČEVIĆ KATARINA
+KOVAČEVIĆ KATA
+KOVAČEVIĆ KATICA DR
+KOVAČEVIĆ KATICA
+KOVAČEVIĆ KATICA
+KOVAČEVIĆ KLARA
+KOVAČEVIĆ KOČA
+KOVAČEVIĆ KOJA
+KOVAČEVIĆ KOSTA
+KOVAČEVIĆ KOSTA
+KOVAČEVIĆ KOVILJKA
+KOVAČEVIĆ KRSTA
+KOVAČEVIĆ KRSTO
+KOVAČEVIĆ KSENIJA
+KOVAČEVIĆ KSENIJA
+KOVAČEVIĆ LAZO
+KOVAČEVIĆ LJILJANA
+KOVAČEVIĆ LJILJA
+KOVAČEVIĆ LJUBICA
+KOVAČEVIĆ LJUBO
+KOVAČEVIĆ MARA
+KOVAČEVIĆ MARA
+KOVAČEVIĆ MARIJA
+KOVAČEVIĆ MARIJA
+KOVAČEVIĆ MARKO
+KOVAČEVIĆ MARKO
+KOVAČEVIĆ MIHAJLO
+KOVAČEVIĆ MIHAJLO
+KOVAČEVIĆ MILADINKA
+KOVAČEVIĆ MILAN
+KOVAČEVIĆ MILAN
+KOVAČEVIĆ MILAN
+KOVAČEVIĆ MILAN
+KOVAČEVIĆ MILAN
+KOVAČEVIĆ MILAN
+KOVAČEVIĆ MILAN
+KOVAČEVIĆ MILAN
+KOVAČEVIĆ MILAN
+KOVAČEVIĆ MILAN
+KOVAČEVIĆ MILAN
+KOVAČEVIĆ MILENA
+KOVAČEVIĆ MILENA
+KOVAČEVIĆ MILE
+KOVAČEVIĆ MILICA
+KOVAČEVIĆ MILICA
+KOVAČEVIĆ MILICA
+KOVAČEVIĆ MILICA
+KOVAČEVIĆ MILIMIR
+KOVAČEVIĆ MILIVOJ DR
+KOVAČEVIĆ MILJAN
+KOVAČEVIĆ MILKA
+KOVAČEVIĆ MILOŠ
+KOVAČEVIĆ MILOŠ
+KOVAČEVIĆ MILOŠ
+KOVAČEVIĆ MILOŠ
+KOVAČEVIĆ MILOŠ
+KOVAČEVIĆ MILORAD
+KOVAČEVIĆ MILORAD
+KOVAČEVIĆ MILOVAN
+KOVAČEVIĆ MILOVAN
+KOVAČEVIĆ MIODRAG
+KOVAČEVIĆ MIODRAG
+KOVAČEVIĆ MIRA
+KOVAČEVIĆ MIRA
+KOVAČEVIĆ MIRJANA
+KOVAČEVIĆ MIRJANA
+KOVAČEVIĆ MIRKO
+KOVAČEVIĆ MIROSLAV
+KOVAČEVIĆ MIROSLAV
+KOVAČEVIĆ MIROSLAV
+KOVAČEVIĆ MITAR
+KOVAČEVIĆ MITA
+KOVAČEVIĆ-MLADENOVIĆ OLGA
+KOVAČEVIĆ MLADEN
+KOVAČEVIĆ NADA
+KOVAČEVIĆ NADEŽDA
+KOVAČEVIĆ NATALIJA
+KOVAČEVIĆ NEBOJŠA
+KOVAČEVIĆ NEDELJKA
+KOVAČEVIĆ NEDELJKO
+KOVAČEVIĆ NIKOLA
+KOVAČEVIĆ NIKOLA
+KOVAČEVIĆ NIKOLA
+KOVAČEVIĆ OLGICA
+KOVAČEVIĆ OZREN
+KOVAČEVIĆ PAVLE
+KOVAČEVIĆ PAVLE
+KOVAČEVIĆ PETAR
+KOVAČEVIĆ RADENKO
+KOVAČEVIĆ RADE
+KOVAČEVIĆ RADIVOJE
+KOVAČEVIĆ RADIVOJ
+KOVAČEVIĆ RADIVOJ
+KOVAČEVIĆ RADMILA
+KOVAČEVIĆ RADOJKA
+KOVAČEVIĆ RADOJKO
+KOVAČEVIĆ RADOMAN
+KOVAČEVIĆ RADOSLAV
+KOVAČEVIĆ RADOVAN
+KOVAČEVIĆ RAJKO
+KOVAČEVIĆ RAJKO
+KOVAČEVIĆ RANKO
+KOVAČEVIĆ RELJA
+KOVAČEVIĆ RUŽICA
+KOVAČEVIĆ RUŽICA
+KOVAČEVIĆ SAVA
+KOVAČEVIĆ SAVA
+KOVAČEVIĆ SAVA
+KOVAČEVIĆ SAVKA
+KOVAČEVIĆ SAVO
+KOVAČEVIĆ SEKULA
+KOVAČEVIĆ SIMEON
+KOVAČEVIĆ SLAĐANA
+KOVAČEVIĆ SLAVICA
+KOVAČEVIĆ SLAVKO
+KOVAČEVIĆ SLAVKO
+KOVAČEVIĆ SLAVKO
+KOVAČEVIĆ SLAVKO
+KOVAČEVIĆ SLOBODAN
+KOVAČEVIĆ SLOBODAN
+KOVAČEVIĆ SLOBODAN
+KOVAČEVIĆ SLOBODAN
+KOVAČEVIĆ SLOBODAN
+KOVAČEVIĆ SLOBODAN
+KOVAČEVIĆ SPASENIJA
+KOVAČEVIĆ SRBIJANKA
+KOVAČEVIĆ SRETA
+KOVAČEVIĆ SRETEN
+KOVAČEVIĆ STANA
+KOVAČEVIĆ STANKA
+KOVAČEVIĆ STEVAN
+KOVAČEVIĆ STEVAN
+KOVAČEVIĆ STEVAN
+KOVAČEVIĆ STEVAN
+KOVAČEVIĆ STEVAN
+KOVAČEVIĆ STEVO
+KOVAČEVIĆ STEVO
+KOVAČEVIĆ STEVO
+KOVAČEVIĆ SVETLANA
+KOVAČEVIĆ SVETLANA
+KOVAČEVIĆ SVETLANA
+KOVAČEVIĆ SVETOLIK
+KOVAČEVIĆ SVETOZAR
+KOVAČEVIĆ SVETOZAR
+KOVAČEVIĆ SVETOZAR
+KOVAČEVIĆ TEREZA
+KOVAČEVIĆ TODOR
+KOVAČEVIĆ TOMISLAV
+KOVAČEVIĆ VASA
+KOVAČEVIĆ VELIMIR
+KOVAČEVIĆ VELIMIR
+KOVAČEVIĆ VERA
+KOVAČEVIĆ VERA
+KOVAČEVIĆ VERA
+KOVAČEVIĆ VIDOSAVA
+KOVAČEVIĆ VIDOSAVA
+KOVAČEVIĆ VIDOSAVA
+KOVAČEVIĆ VIDOSAVA
+KOVAČEVIĆ VINKO
+KOVAČEVIĆ VLADIMIR
+KOVAČEVIĆ VLADIMIR
+KOVAČEVIĆ VLADIMIR
+KOVAČEVIĆ VLADISLAV
+KOVAČEVIĆ VOJIN
+KOVAČEVIĆ VOJIN
+KOVAČEVIĆ VOJISLAV DIPL ING
+KOVAČEVIĆ VUJO
+KOVAČEVIĆ VUKAŠIN
+KOVAČEVIĆ VUKAŠIN
+KOVAČEVIĆ ZDENKO
+KOVAČEVIĆ ZDRAVKO
+KOVAČEVIĆ ZORAN DR
+KOVAČEVIĆ ZORAN
+KOVAČEVIĆ ZORAN
+KOVAČEVIĆ ZORICA
+KOVAČEVIĆ ZORICA
+KOVAČEVIĆ ZVONIMIRKA
+KOVAČIĆ ŽIVKO
+KOVAČIĆ ANICA
+KOVAČIĆ BOŽANA
+KOVAČIĆ BORIVOJ
+KOVAČIĆ DRAGANA
+KOVAČIĆ DUŠANKA
+KOVAČIĆ DUŠAN
+KOVAČIĆ JOVAN
+KOVAČIĆ JOVAN
+KOVAČIĆ JOVAN
+KOVAČIĆ LJEPOSAVA
+KOVAČIĆ LUKA
+KOVAČIĆ MILAN
+KOVAČIĆ MILENKO
+KOVAČIĆ MIROSLAV
+KOVAČIĆ MIROSLAV
+KOVAČIĆ NEDELJKO
+KOVAČIĆ NIKOLA
+KOVAČIĆ PETAR
+KOVAČIĆ RADOSLAV
+KOVAČIĆ SLOBODAN
+KOVAČIĆ STANISLAV
+KOVAČIĆ TANASIJE
+KOVAČIĆ TOŠA
+KOVAČIĆ TOMISLAV
+KOVAČIĆ VESNA
+KOVAČIK MARGITA
+KOVAČIK MARIJA
+KOVALČIK VLADISLAV
+KOVALOVSKI TEODOR
+KOVANOVIĆ PETAR
+KOVAR JANJA
+KOVARČIK ANDRIJA
+KOVARČIK MARIJA
+KOVARIK VALERIJA
+KOVEINDL JOSIP
+KOVELJ TOMISLAV
+KOVIĆ DRAGICA
+KOVIĆ NADA
+KOVIĆ SLOBODAN
+KOVIJANIĆ VLADIMIR
+KOVINČIĆ BOJAN
+KOVINČIĆ MILAN
+KOVINČIĆ NADA
+KOVINČIĆ NATAŠA
+KOVINČIĆ SLOBODAN DIPL ING
+KOVINČIĆ STOJAN
+KOVJANIĆ ALEKSANDAR
+KOVJANIĆ JOVAN
+KOVJANIĆ MILORAD
+KOVJANIĆ NADA
+KOVJANIĆ NENAD
+KOVJANIĆ PERA
+KOVJANIĆ SAVA
+KOVLJAN ĐORĐE
+KOVLJAN SAVO
+KOVRLIJA JOVAN
+KOZAK MARIJA
+KOZAKIV IVAN
+KOZAR RADE
+KOZARČIĆ JOVANKA
+KOZARČIĆ JOVAN
+KOZARČIĆ JOVAN
+KOZARČIĆ MARKO
+KOZARČIĆ MILAN
+KOZARAC MIĆO
+KOZAREV ŽARKO
+KOZAREV ŽIVKO
+KOZAREV ALEKSANDRA
+KOZAREV BOGOLJUB
+KOZAREV DARINKA
+KOZAREV DIMITRIJE
+KOZAREV DIMITRIJE
+KOZAREV DRAGICA
+KOZAREV GOSPAVA
+KOZAREV LAZAR
+KOZAREV LJUBICA
+KOZAREV MARIJA
+KOZAREV MILAN
+KOZAREV MILKA
+KOZAREV MLADEN
+KOZAREV NEDELJKO
+KOZAREV PAVLE
+KOZAREV PETAR
+KOZAREV SAVA
+KOZAREV SAVA
+KOZAREV TODOR
+KOZAREVIĆ RADINKA
+KOZAREVIĆ ZORAN
+KOZAROV ĐORĐE
+KOZAROV ANICA
+KOZAROV GAVRA
+KOZAROV IVAN
+KOZAROV JOVANKA
+KOZAROV KATICA
+KOZAROV MILOŠ
+KOZAROV NATALIJA
+KOZAROV PAVLE
+KOZAROV PAVLE
+KOZAROV SRBISLAV
+KOZAROV TOMISLAV
+KOZARSKI ŽIVAN
+KOZARSKI ŽIVKO
+KOZARSKI LIDIJA
+KOZARSKI MARIJA
+KOZARSKI MIROSLAV
+KOZARSKI-RAJIĆ VERICA
+KOZARSKI SLOBODAN
+KOZARSKI SOFIJA
+KOZARSKI STEVAN
+KOZARSKI TEODORA
+KOZARSKI VASILIJE
+KOZARSKI VERA
+KOZARSKI VOJISLAV
+KOZARSKI VOJISLAV
+KOZBAŠIĆ STEVAN
+KOZIĆ BOGDAN
+KOZIĆ PETAR
+KOZIĆ RATKO
+KOZIĆ ROŽA
+KOZIĆ SAVA
+KOZIĆ STANKO
+KOZIĆ VELJKO
+KOZINA IVAN
+KOZINA MARICA
+KOZLIK KATARINA
+KOZLIK LAJOŠ
+KOZLINA DESANKA
+KOZLINA DUŠKO
+KOZLINA JEKA
+KOZLINA MILE
+KOZLINA ZLATICA
+KOZLOVAČKI ŽIVKO
+KOZLOVAČKI GORDANA
+KOZLOVAČKI LJUBA
+KOZLOVAČKI SAVA
+KOZLOVAČKI SOFIJA
+KOZLOVAČKI VESELIN
+KOZLOVIĆ BORIS
+KOZLOVIĆ SAVA
+KOZMA ŠANDOR
+KOZMA ETEL
+KOZMA FERENC
+KOZMA JOŽEF
+KOZMA JOSIP
+KOZMIDIS-PETROVIĆ ANA
+KOZOMARA ĐORĐE
+KOZOMARA JOVO
+KOZOMARA LJUBICA
+KOZOMARA MARIJA
+KOZOMARA ZORAN
+KOZOMARIĆ MARIJA
+KOZOMORA BOŽIDAR
+KOZOMORA BRANKO
+KOZOMORA ILIJA
+KOZOMORA JOKA
+KOZOMORA JOVO
+KOZOMORA LAZO
+KOZOMORA MILAN
+KOZOMORA MILE
+KOZOMORA MILOJKO
+KOZOMORA MIROSLAV
+KOZOMORA PETAR
+KOZOMORA RADOMIR
+KOZOMORA SRĐAN
+KOZOMORA TATJANA
+KOZOMORA VASILIJE
+KOZOMORIĆ BRANISLAVA DR LEKAR
+KOZUNOVIĆ MIROSLAV
+KRČADINAC KOSTA
+KRČADINAC NIKOLA
+KRČEDINAC MIODRAG
+KRČEDINAC TIMA
+KRČELIĆ ANDRIJA
+KRČMAR ŽELJKO
+KRČMAR CVIJO
+KRČMAR DRAGOMIR
+KRČMAR DUŠKO
+KRČMAR JOVAN
+KRČMAR LEPOSAVA
+KRČMAR LJUBICA
+KRČMAR LJUBICA
+KRČMAR MILAN
+KRČMAR MILAN
+KRČMAR MIRKO
+KRČMAR PANE
+KRČMAR VASO
+KRČMAR VINKO
+KRČMAR ZORAN
+KRČMAR ZORAN
+KRČMARIK DANILO
+KRČMARIK PREDRAG
+KRČO BOŽIDAR
+KRČO MILENKO
+KRČO RASIM
+KRČO RASIM
+KRŠEV BORIS
+KRŠEV IVAN
+KRŠEV JULIJANA
+KRŠEV JULKICA
+KRŠIĆ DARA
+KRŠIĆ IGNJAT
+KRŠIĆ JELA
+KRŠIĆ TOMO
+KRŠIN JOVO
+KRŠOVIĆ JELENA
+KRŠTENIĆ DESANKA
+KRŽA MILENKO
+KRŽIĆ SIMO
+KRĐIĆ SPOMENKA
+KRAČENSKI BORISLAV
+KRAČEVSKI APOSTOL
+KRAČUN IVAN
+KRAČUN TRAJAN
+KRAČUN TRAJAN
+KRAČUNOV PETAR
+KRAČUNOV STEVAN
+KRAČUNOVIĆ ŽIVORAD
+KRAČUNOVIĆ VELJKO
+KRAĆAK BOŠKO
+KRAGIČEK KLARA
+KRAGIĆ BILJANA
+KRAGIĆ BORA
+KRAGIĆ LJILJANA
+KRAGIĆ ZORAN
+KRAGOVIĆ MARINKO
+KRAGOVIĆ VLADIMIR
+KRAGUJEV DUŠAN
+KRAGUJEVIĆ MILORAD DR LEKAR
+KRAGUJEVIĆ RAJKO
+KRAGUJEVIĆ STANISLAV DR LEKAR
+KRAGULJ ALEKSANDAR
+KRAGULJ DUŠANKA
+KRAGULJ JELA
+KRAGULJ LAZO
+KRAGULJ SAVKA
+KRAGULJEVIĆ ZORICA
+KRAJČEVIĆ MIODRAG
+KRAJČI VLADIMIR
+KRAJČINOVIĆ JOVAN DR LEKAR
+KRAJŠIĆ MIRKO
+KRAJAČEVIĆ BORISLAV
+KRAJAČEVIĆ HILDA
+KRAJAČEVIĆ MIRJANA
+KRAJAČEVIĆ TOMISLAV
+KRAJAČEVIĆ ZORAN
+KRAJCAR VLADIMIR
+KRAJCER EUGEN
+KRAJCER IRENA
+KRAJCER IVAN
+KRAJCER PETAR
+KRAJIŠNIK ŽIVORAD
+KRAJIŠNIK KRISTINA
+KRAJIĆ AGICA
+KRAJINA ALEKSANDAR
+KRAJINA FILIP
+KRAJINOVIĆ BRANKO
+KRAJINOVIĆ LAZAR
+KRAJINOVIĆ MILAN
+KRAJINOVIĆ PAVLE
+KRAJINOVIĆ SINIŠA
+KRAJNIK ŽARKO
+KRAJNIK LAZAR
+KRAJNIKER NANDOR
+KRAJNOV BOGDAN
+KRAJNOV BOGOLJUB
+KRAJNOV GORAN
+KRAJNOVIĆ ĐORĐE
+KRAJNOVIĆ ĐORĐE
+KRAJNOVIĆ ĐURO
+KRAJNOVIĆ BOŠKO
+KRAJNOVIĆ BOGDAN
+KRAJNOVIĆ JADRANKA
+KRAJNOVIĆ MILIĆ
+KRAJNOVIĆ MILICA
+KRAJNOVIĆ NIKOLA
+KRAJNOVIĆ PETAR
+KRAJNOVIĆ RADE
+KRAJNOVIĆ SLAVICA
+KRAJNOVIĆ VERA
+KRAJOVAN MIRJANA
+KRAJOVAN MIROSLAV
+KRAK MIŠA
+KRAKANOVIĆ DUŠAN
+KRAKANOVIĆ VOJISLAV
+KRALIK MIROSLAV
+KRALIK OLINKA
+KRALIK PAVLE
+KRALIK STEVAN
+KRALJ VALENTIN
+KRALJ ZVONIMIR
+KRALJEVAČKI BARBARA
+KRALJEVAČKI ILIJA
+KRALJEVAČKI JOSIP
+KRALJEVIĆ BOSILJKA
+KRALJEVIĆ DUŠAN
+KRALJEVIĆ MARICA
+KRALJEVIĆ MILKA
+KRALJEVIĆ SAVO
+KRALJEVIĆ VLADIMIR DR
+KRALJIĆ JELENA
+KRALJIĆ VLADA
+KRANJČEVIĆ GORDANA
+KRANJČEVIĆ JOSIP
+KRAS JELENA
+KRASAVAC ŽIVORAD
+KRASAVAC MILKA
+KRASAVAC MILORAD
+KRASAVAC MILORAD
+KRASAVAC RUŽICA
+KRASIĆ BRANISLAV
+KRASIĆ DUŠAN
+KRASIĆ GOLUB
+KRASIĆ MILOJE
+KRASIĆ NIKOLA
+KRASIĆ STEVAN
+KRASKO JANKO
+KRASNIĆ IRINA
+KRASNIĆ VERA
+KRASNIK VLATKO
+KRASNIK ZVONKO
+KRASOJEVIĆ KONSTANTIN
+KRASOJEVIĆ ZORAN
+KRASULA TOMA
+KRASULJA DUŠAN
+KRASULJA STEVAN
+KRAUS ANA
+KRAUS OTO
+KRAVČENKO PETAR
+KRAVARUŠIĆ DRAGAN
+KRAVARUŠIĆ ILIJA
+KRAVARUŠIĆ TRIVUN
+KRAVARUŠIĆ VITOMIR
+KRAVIĆ DUŠAN
+KRAVIĆ MILAN
+KRAVIĆ PETAR
+KRAVLJANAC ALEKSANDRA
+KRAVLJANAC IVANKA
+KRBANJEVIĆ ALEKSANDAR
+KRBANJEVIĆ MILAN
+KRBANJEVIĆ SAŠA
+KRBAVAC JELA
+KRCIĆ BRATIMIR
+KRCUNOVIĆ BLAGOJE
+KRDŽALIĆ DRAGAN
+KRDŽALIĆ STEVAN
+KRDŽIĆ VIDOJE
+KREŠO EMIR
+KRECUL LIDIJA
+KRECULJ MARIJA
+KREG EDUARD
+KREG VLADIMIR
+KREJIĆ BORISLAV
+KREJIĆ JOVAN
+KREJIĆ MARINKO
+KREJIĆ STANISLAV
+KREJIĆ STANISLAV
+KREJIĆ STOJA
+KREKIĆ BARIŠA DR
+KREKIĆ ENVER
+KREKIĆ FRANJA
+KREKIĆ MILENA
+KREKO LJUBICA
+KREMENOVIĆ BORISLAV
+KREMENOVIĆ KLARA
+KREMENOVIĆ LJUBA
+KREMENOVIĆ LJUBA
+KREMENOVIĆ LJUBA
+KREMENOVIĆ MILANKA
+KREMENOVIĆ MILENA
+KREMENOVIĆ MILENKO
+KREMENOVIĆ MILOŠ
+KREMENOVIĆ MIRKO
+KREMENOVIĆ NEDELJKO
+KREMENOVIĆ PETAR
+KREMENOVIĆ RADOSLAV
+KREMENOVIĆ SINIŠA
+KREMENOVIĆ SNEŽANA
+KREMENOVIĆ STANKO
+KREMENOVIĆ STEVO
+KREMENOVIĆ VOJIN
+KREMER ELIZABETA
+KREMER FRANJA
+KREMER JOVAN
+KREMER KATICA
+KREMER MATIJA
+KREMER PAJA
+KREMIĆ DRAGAN
+KREMIĆ LJUBOMIR
+KREMPASKI-ANDRIĆ HILDA
+KREMPASKI ELIZABETA
+KRESANKO LASLO
+KRESANKO MARGITA
+KRESANKO MARIJA
+KRESIĆ JANJA
+KRESIĆ MILENA
+KRESIĆ MITAR
+KRESIĆ SLAVKO
+KRESO ŠAĆIR
+KRESOJA DUŠKO
+KRESOJA MARINKO
+KRESOJEVIĆ DAMJAN
+KRESOJEVIĆ JOVANKA
+KRESOJEVIĆ JOVAN
+KRESOJEVIĆ SRBOSLAV
+KRESOJEVIĆ VESNA
+KRESOJEVIĆ ZDRAVKO
+KRESOVIĆ SLAVKO
+KRESOVIĆ SLOBODAN
+KRESOVIĆ VASO
+KRESTA ARPAD
+KRESTA ATILA
+KRESTIĆ DAFINA
+KRESTIĆ NADA
+KRESTIĆ STEVAN
+KRESTIĆ VLADIMIR
+KREVEŠIĆ KARLO
+KREVEŠIĆ KATA
+KRGA GAVRA
+KRGA MANE
+KRGA MARA
+KRGA MILAN
+KRGA MILOŠ
+KRGA VASA
+KRGIN MLADEN
+KRGIN NADA
+KRGIN NEDELJKO
+KRGOVIĆ DUŠANKA
+KRGOVIĆ DUŠANKA
+KRGOVIĆ JOVO
+KRGOVIĆ MALIŠA
+KRGOVIĆ MARIJA
+KRGOVIĆ MIĆO
+KRGOVIĆ MILAN
+KRGOVIĆ MILORAD DR LEKAR
+KRGOVIĆ MOMČILO
+KRGOVIĆ RATKO
+KRGOVIĆ SMILJA
+KRGOVIĆ SNEŽANA
+KRGOVIĆ SVETOZAR
+KRGOVIĆ VLADA
+KRGOVIĆ VUKOMAN DIPL ING
+KRGOVIĆ ZORICA
+KRIŠ PETAR
+KRIŠAN BOSILJKA
+KRIŠAN DRAGOJLO
+KRIŠAN MATIJA
+KRIŠAN MILOŠ
+KRIŠAN VUKICA
+KRIŠAN ZDRAVKO
+KRIŠANOV JOVAN
+KRIŠANOVIĆ DRAGOMIR
+KRIŠTO JULIJANA
+KRIŽ JANKO
+KRIŽ PAVEL
+KRIŽAK ANA
+KRIŽAN ŠANDOR
+KRIŽAN ĐURA
+KRIŽAN ANICA
+KRIŽAN EDUARD
+KRIŽAN JANOŠ
+KRIŽAN JULA
+KRIŽAN LASLO
+KRIŽAN MARIJA
+KRIŽAN MATIJA
+KRIŽAN MIKLOŠ
+KRIŽAN ROŽA
+KRIŽANIĆ JOVAN
+KRIŽANIĆ JOVAN
+KRIŽANIĆ MILENKO
+KRIŽANIĆ SLAĐANA
+KRIŽANIĆ VLADIMIR
+KRIŽANOVIĆ ŽUŽANA
+KRIŽNAR BOJAN
+KRIŽNAR MARA
+KRIŽNAR MIRKO DR DIPL ING
+KRIŽNAR TOMA DIPL ING
+KRIMŠAMHALOV ZAIDA
+KRINKOVSKI ALEKSANDAR
+KRINKOVSKI ALEKSANDAR
+KRINKOVSKI VERONIKA
+KRISTIĆ MARIJA
+KRISTIĆ NADA
+KRISTIAN JOŽEF
+KRISTOVIĆ MIROSLAVA
+KRISTOVIĆ RUDOLF
+KRIVAK ANA
+KRIVAK MIROSLAV
+KRIVIĆ DRAGANA
+KRIVIĆ LJILJANA
+KRIVIĆ NIKOLA
+KRIVOŠIJA ŽIVKO
+KRIVOŠIJA FRANJO
+KRIVOŠIJA MILE
+KRIVOKAPIĆ AMALIJA
+KRIVOKAPIĆ DANICA
+KRIVOKAPIĆ MARTIN
+KRIVOKAPIĆ NEDELJKO
+KRIVOKAPIĆ NEVENKA DIPL ECC
+KRIVOKAPIĆ RADOSLAV
+KRIVOKAPIĆ SLOBODAN
+KRIVOKAPIĆ SLOBODAN
+KRIVOKAPIĆ STEVAN
+KRIVOKAPIĆ VLADIMIR
+KRIVOKUĆA ĐORĐE
+KRIVOKUĆA DEJAN DIPL ING
+KRIVOKUĆA DIMITRIJE
+KRIVOKUĆA DRAGICA
+KRIVOKUĆA DRAGOMIR
+KRIVOKUĆA DRAGOMIR
+KRIVOKUĆA DUŠAN
+KRIVOKUĆA JELISAVETA
+KRIVOKUĆA JOVAN
+KRIVOKUĆA JULIJANA
+KRIVOKUĆA MILAN
+KRIVOKUĆA MILICA
+KRIVOKUĆA MILKA
+KRIVOKUĆA MIODRAG
+KRIVOKUĆA PETAR
+KRIVOKUĆA RADOSLAV
+KRIVOKUĆA RADOVAN
+KRIZBAI ZOLTAN
+KRKELIĆ SLOBODAN
+KRKELJEŠ BORIS
+KRKELJIĆ MOMČILO
+KRKELJIĆ SVETISLAV
+KRKIĆ MILOVAN
+KRKLEC JOSIP
+KRKLEC VERA
+KRKLEC VLADIMIR
+KRKLJEŠ ĐURO
+KRKLJEŠ BORA
+KRKLJEŠ MILE DR
+KRKLJIĆ ĐURO
+KRKLJIĆ DRAGAN
+KRKLJIĆ MILAN
+KRKLJIĆ MILOVAN
+KRKLJIĆ NIKOLA
+KRKLJIĆ OSTOJA
+KRKLJUŠ BOŠKO
+KRKLJUŠ BRANKO
+KRKLJUŠ DRAGANA
+KRKLJUŠ DUŠANKA
+KRKLJUŠ DUŠAN
+KRKLJUŠ JELENA
+KRKLJUŠ JELICA
+KRKLJUŠ KRISTINA
+KRKLJUŠ LJUBINKA
+KRKLJUŠ LJUBOMIRKA DR
+KRKLJUŠ MILAN
+KRKLJUŠ MILAN
+KRKLJUŠ MILICA
+KRKLJUŠ MILORAD
+KRKLJUŠ MIROSLAV
+KRKLJUŠ MOMČILO
+KRKLJUŠ PETAR
+KRKLJUŠ PETAR
+KRKLJUŠ RADE
+KRKLJUŠ SLAVKO
+KRKLJUŠ SLOBODAN
+KRKLJUŠ STEVAN
+KRKLJUŠ VERICA
+KRKOBABIĆ ILIJA
+KRKOBABIĆ VERICA
+KRKOVIĆ-JUPEK DUŠANKA
+KRMAR DUŠAN
+KRMAR JASNA
+KRMAR MARKO
+KRMAR ZORA
+KRMPOT GOJKO
+KRMPOT LAZAR
+KRMPOTIĆ ANĐELKA
+KRMPOTIĆ VOJISLAV DIPL PRAVNIK
+KRMPOTIĆ VUKICA
+KRNČEVIĆ ANĐELKA
+KRNAJAC ŽIVAN
+KRNAJAC IVAN
+KRNAJAC MOMČILO
+KRNAJAC NEVENKA
+KRNAJAC PETAR
+KRNAJAC RADOVAN
+KRNAJAC ZLATICA
+KRNAJSKI MILORAD
+KRNDIJA BOGOLJUB
+KRNDIJA BRANKO
+KRNDIJA MARKO
+KRNDIJA MILOVAN
+KRNDIJA NENAD
+KRNDIJA PETAR
+KRNDIJA STANA
+KRNDIJA STEVO
+KRNDIJA VOJIN
+KRNETA BOGDAN
+KRNETA JELKA
+KRNETA MILORAD
+KRNETA MILOSAVA
+KRNETA NIKOLA
+KRNETA RADE
+KRNETA SLOBODAN
+KRNETA STEVAN
+KRNETIĆ GOJKO
+KRNETIĆ JOVAN
+KRNIĆ ANA
+KRNIĆ PERA
+KRNIĆ RADOJKA
+KRNIĆ STEVAN
+KRNIĆ STIPO
+KRNIJA MARINKO
+KRNJAIĆ DRAGO
+KRNJAIĆ GORAN
+KRNJAIĆ JELISAVETA
+KRNJAJIĆ DUŠANKA
+KRNJAJIĆ ILIJA
+KRNJAJIĆ IVICA
+KRNJAJIĆ JOVAN
+KRNJAJIĆ MILOŠ
+KRNJAJIĆ MIROSLAV
+KRNJAJIĆ RADOMIR
+KRNJEŠEVAC SAVA
+KRNJETA LEPOSAVA
+KRNJETA NOVAK
+KRNJETIN ŽIVKO
+KRNJETIN BRANKO
+KRNJETIN DRAGAN
+KRNJETIN JOVAN
+KRNJETIN KATICA
+KRNJETIN MAJA
+KRNJETIN MIKA
+KRNJETIN SAVA
+KRNJIĆ IVAN
+KRNJULAC DUŠAN
+KRNOJELAC DANILO
+KROŠLAK STEVAN
+KROMBHOLC EMIL
+KROMHOLC KARLO
+KROMPIĆ LJILJANA PROFESOR
+KROMPIĆ LJUBICA
+KROMPIĆ MILAN
+KROMPIĆ STANKO
+KRONAVETER ALFRED
+KRONIĆ LAZAR
+KRONIĆ MILENKO
+KRONJA IVAN
+KRONJA IVAN
+KRONJA MILANKA
+KROPŠ HILDA
+KROPAČEK IVAN
+KROPF ANĐELKA
+KROPF FRANJA
+KRPAN ŽELJKO
+KRPAN IVAN
+KRPAN LJILJANA
+KRPAN MIRKO
+KRPAN STEVAN
+KRSMANOVIĆ BOŽIDARKA
+KRSMANOVIĆ BOGDANKA
+KRSMANOVIĆ BRANKO
+KRSMANOVIĆ CVIJAN
+KRSMANOVIĆ JOVAN
+KRSMANOVIĆ KRSMAN DIPL ING
+KRSMANOVIĆ LAZAR
+KRSMANOVIĆ LJILJANA
+KRSMANOVIĆ MILOŠ
+KRSMANOVIĆ MOMČILO
+KRSMANOVIĆ OBREN
+KRSMANOVIĆ SAŠA
+KRSMANOVIĆ SLAVOJKA
+KRSMANOVIĆ SRETEN
+KRSMANOVIĆ VASA
+KRSNIK JON
+KRSNIK MARIJA
+KRSTAJIĆ MILOJICA
+KRSTAJIĆ PERKO
+KRSTANOVIĆ CVIJO
+KRSTANOVIĆ DRAGOMIR
+KRSTANOVIĆ FRANJA
+KRSTANOVIĆ IVANKA
+KRSTANOVIĆ KOSTA
+KRSTANOVIĆ MOMČILO
+KRSTANOVIĆ PETAR
+KRSTEKANIĆ ČEDOMIR
+KRSTEKANIĆ ANA
+KRSTEKANIĆ KRISTINA
+KRSTEKANIĆ RATOMIR
+KRSTEVSKI DRAGOSLAV
+KRSTEVSKI STANISLAV
+KRSTIĆ-ŠTIMAC SPASENIJA DR
+KRSTIĆ ŽARKO
+KRSTIĆ ŽIVAN
+KRSTIĆ ŽIVKO
+KRSTIĆ ŽIVKO
+KRSTIĆ ĐORĐE
+KRSTIĆ ĐORĐE
+KRSTIĆ ĐORĐE
+KRSTIĆ ĐORĐE
+KRSTIĆ ĐORĐE
+KRSTIĆ ĐORĐE
+KRSTIĆ ĐORĐE
+KRSTIĆ ĐORĐE
+KRSTIĆ ĐORĐE
+KRSTIĆ ĐORĐE
+KRSTIĆ ĐORĐE
+KRSTIĆ ĐORĐE
+KRSTIĆ ĐORĐE
+KRSTIĆ-ĐURČJANSKI RUŽENKA
+KRSTIĆ ALEKSANDAR DR
+KRSTIĆ ALEKSANDAR
+KRSTIĆ ALEKSANDAR
+KRSTIĆ ALEKSANDAR
+KRSTIĆ ANDRIJA
+KRSTIĆ ANICA
+KRSTIĆ BOŠKO
+KRSTIĆ BOŽIDAR
+KRSTIĆ BOŽIDAR
+KRSTIĆ BOŽIDAR
+KRSTIĆ BOGDAN
+KRSTIĆ BORIVOJ
+KRSTIĆ BRANISLAV
+KRSTIĆ BRANISLAV
+KRSTIĆ BRANISLAV
+KRSTIĆ BRANISLAV
+KRSTIĆ BRANISLAV
+KRSTIĆ BRANISLAV
+KRSTIĆ BRANISLAV
+KRSTIĆ BRANKA
+KRSTIĆ BRANKA
+KRSTIĆ BRANKO
+KRSTIĆ DANICA
+KRSTIĆ DESANKA
+KRSTIĆ DIMITRIJE
+KRSTIĆ DOBRILA
+KRSTIĆ DOBRILA
+KRSTIĆ DOBRINKA
+KRSTIĆ DOBROSLAV
+KRSTIĆ DRAGAN
+KRSTIĆ DRAGINJA
+KRSTIĆ DRAGOLJUB
+KRSTIĆ DRAGOSLAV
+KRSTIĆ DRAGUTIN
+KRSTIĆ DUŠAN DIPL ING
+KRSTIĆ DUŠAN
+KRSTIĆ DUŠKO
+KRSTIĆ ETELKA
+KRSTIĆ EVICA
+KRSTIĆ GAVRA
+KRSTIĆ-GUNEK MARIJA
+KRSTIĆ ILIJA
+KRSTIĆ IVAN DR
+KRSTIĆ JELENA
+KRSTIĆ JELENA
+KRSTIĆ JORDAN
+KRSTIĆ JOVAN
+KRSTIĆ JOVAN
+KRSTIĆ JOVAN
+KRSTIĆ KAMENKO
+KRSTIĆ KAMENKO
+KRSTIĆ KATICA
+KRSTIĆ KATICA
+KRSTIĆ KATICA
+KRSTIĆ KORNELIJA
+KRSTIĆ LAZAR
+KRSTIĆ LAZAR
+KRSTIĆ LJILJANA
+KRSTIĆ LJILJANA
+KRSTIĆ LJUBIŠA
+KRSTIĆ LJUBIŠA
+KRSTIĆ LJUBICA
+KRSTIĆ LJUBINKA
+KRSTIĆ LJUBISAV
+KRSTIĆ LJUBOMIR
+KRSTIĆ LJUBOMIR
+KRSTIĆ LJUBOMIR
+KRSTIĆ LJUBOMIR
+KRSTIĆ LJUBOMIR
+KRSTIĆ MARIJA
+KRSTIĆ MARIJA
+KRSTIĆ MARIJA
+KRSTIĆ MARKO
+KRSTIĆ MILADIN
+KRSTIĆ MILAN
+KRSTIĆ MILAN
+KRSTIĆ MILAN
+KRSTIĆ MILENKO
+KRSTIĆ MILENKO
+KRSTIĆ MILICA
+KRSTIĆ MILICA
+KRSTIĆ MILICA
+KRSTIĆ MILICA
+KRSTIĆ MILICA
+KRSTIĆ MILOŠ
+KRSTIĆ MILOŠ
+KRSTIĆ MILOJKO
+KRSTIĆ MILORAD
+KRSTIĆ MILORAD
+KRSTIĆ MILORAD
+KRSTIĆ MILORAD
+KRSTIĆ MILOVAN
+KRSTIĆ MILOVAN
+KRSTIĆ MILOVAN
+KRSTIĆ MINČE DIPL ING
+KRSTIĆ MIODRAG
+KRSTIĆ MIODRAG
+KRSTIĆ MIODRAG
+KRSTIĆ MIRKO
+KRSTIĆ MIRKO
+KRSTIĆ MIROLJUB
+KRSTIĆ MIROLJUB
+KRSTIĆ MIROSLAVA
+KRSTIĆ MIROSLAVA
+KRSTIĆ MIROSLAV
+KRSTIĆ MITAR
+KRSTIĆ NADA
+KRSTIĆ NEBOJŠA
+KRSTIĆ NENAD
+KRSTIĆ NENAD
+KRSTIĆ NIKOLA
+KRSTIĆ NIKOLA
+KRSTIĆ NIKOLA
+KRSTIĆ NOVAK
+KRSTIĆ NOVAK
+KRSTIĆ PETAR DIPL ING
+KRSTIĆ PETAR
+KRSTIĆ PETAR
+KRSTIĆ PETAR
+KRSTIĆ PETAR
+KRSTIĆ PETRUN
+KRSTIĆ RADISAV
+KRSTIĆ RADIVOJ
+KRSTIĆ RADIVOJ
+KRSTIĆ RADOJE
+KRSTIĆ RADOMIR
+KRSTIĆ RADOMIR
+KRSTIĆ RADOSAV
+KRSTIĆ RADOSLAV
+KRSTIĆ RADOVAN
+KRSTIĆ RATKO
+KRSTIĆ RATKO
+KRSTIĆ SAVA
+KRSTIĆ SAVETA
+KRSTIĆ SINIŠA
+KRSTIĆ SLAVICA
+KRSTIĆ SLOBODAN
+KRSTIĆ SRĐAN
+KRSTIĆ SRETEN
+KRSTIĆ STANKO
+KRSTIĆ STANOJE
+KRSTIĆ STEVAN
+KRSTIĆ STEVAN
+KRSTIĆ STEVAN
+KRSTIĆ STEVAN
+KRSTIĆ STEVAN
+KRSTIĆ STOJANKA
+KRSTIĆ SVETISLAV
+KRSTIĆ SVETISLAV
+KRSTIĆ SVETLANA
+KRSTIĆ SVETLANA
+KRSTIĆ SVETOZAR
+KRSTIĆ TINKA
+KRSTIĆ UGLJEŠA DR
+KRSTIĆ VASA DR LEKAR
+KRSTIĆ VASA
+KRSTIĆ VASILIJE DIPL ING
+KRSTIĆ VASILIJE
+KRSTIĆ VELIMIR
+KRSTIĆ VELJKO
+KRSTIĆ VERA
+KRSTIĆ VERA
+KRSTIĆ VESELIN
+KRSTIĆ VLADA
+KRSTIĆ VOJIN
+KRSTIĆ-VRŽINA BOSANKA
+KRSTIĆ VUKICA
+KRSTIĆ ZORAN
+KRSTIĆ ZORAN
+KRSTIN ŽIVKA
+KRSTIN BRANKO
+KRSTIN IVAN
+KRSTIN JELKA
+KRSTIN KOSTA
+KRSTIN LAZAR
+KRSTIN MLADEN
+KRSTIN NATAŠA
+KRSTIN PETAR
+KRSTIN SLAVKO
+KRSTIN STEVAN
+KRSTIN SVETOZAR
+KRSTIN VERA
+KRSTIN VLADAN
+KRSTIN ZORAN
+KRSTINIĆ DRAGAN
+KRSTONOŠIĆ ŽIVAN
+KRSTONOŠIĆ BOSILJKA
+KRSTONOŠIĆ JELENA
+KRSTONOŠIĆ JOVAN
+KRSTONOŠIĆ LJUBICA
+KRSTONOŠIĆ MILANKA
+KRSTONOŠIĆ MILENKO
+KRSTONOŠIĆ MILENKO
+KRSTONOŠIĆ MIROSLAV
+KRSTONOŠIĆ NADA
+KRSTONOŠIĆ NESTOR
+KRSTONOŠIĆ PETAR
+KRSTONOŠIĆ PETAR
+KRSTONOŠIĆ STEVAN
+KRSTONOŠIĆ VERA
+KRSTONOŠIĆ VIDA
+KRSTONOŠIĆ ZLATA DR
+KRSTONOŠIĆ ZORA
+KRSTOVSKI RADOJKA
+KRTENIĆ BRANKO
+KRTENIĆ DOBRILA
+KRTENIĆ PAVLE
+KRTINIĆ BORA
+KRTINIĆ DANE
+KRTINIĆ DANE
+KRTINIĆ MIRJANA
+KRTINIĆ MIRKO
+KRTINIĆ MIROSLAV
+KRTINIĆ NADA
+KRTINIĆ SAVA
+KRTINIĆ SMILJANA
+KRTINIĆ VLADIMIR
+KRUČIČAN MILAN
+KRUŠKA ĐORĐE
+KRUŠKA STEVAN
+KRUŽEVIĆ DEJAN
+KRUŽEVIĆ NENAD
+KRUŽEVIĆ VLADIMIR
+KRUŽEVIĆ ZDRAVKO
+KRUŽEVIĆ ZORAN
+KRUŽIĆ ANA
+KRULJ BRANISLAVA
+KRULJ MILAN
+KRUNIĆ ŽIVAN
+KRUNIĆ ŽIVORAD
+KRUNIĆ ĐORĐE
+KRUNIĆ ĐORĐE
+KRUNIĆ ĐORĐE
+KRUNIĆ-BELIĆ MILANA
+KRUNIĆ BRANKO
+KRUNIĆ BRANKO
+KRUNIĆ BRANKO
+KRUNIĆ DARA
+KRUNIĆ DRAGOLJUB
+KRUNIĆ DRAGOMIR
+KRUNIĆ GRADIMIR
+KRUNIĆ ILIJA
+KRUNIĆ ILONKA
+KRUNIĆ JELENA
+KRUNIĆ LJUBIŠA
+KRUNIĆ LJUBICA
+KRUNIĆ LJUBOMIR
+KRUNIĆ MIĆO
+KRUNIĆ MIKA
+KRUNIĆ MILANKA
+KRUNIĆ MILAN
+KRUNIĆ MILOŠ
+KRUNIĆ NOVAK
+KRUNIĆ PAVLE
+KRUNIĆ PERIŠA
+KRUNIĆ PLEMENKA
+KRUNIĆ RADOJKA
+KRUNIĆ SLOBODAN
+KRUNIĆ SOFIJA
+KRUNIĆ TOŠICA
+KRUNIĆ UROŠ
+KRUNIĆ VELIČKO
+KRUNIĆ VERICA
+KRUNIĆ ZDRAVKO
+KRUPEŽEVIĆ DARINKA
+KRUPEŽEVIĆ PRVOSLAV
+KRUPLJANIN STANA
+KRUPLJANIN VESELA
+KRUTA BOŽANA
+KRUTA DRAGAN
+KRVAVAC BISERKA
+KRVAVICA DRAŽEN
+KRVAVICA TOMISLAV
+KRVOPIĆ OLGA
+KRZMANOVIĆ MARGARETA
+KRZNARIĆ MILE
+KRZNARIĆ VALENTINA
+KUČ SLOBODAN
+KUČERA ALEKSANDAR
+KUČERA STEVAN
+KUČIĆ NIKOLA
+KUČMAŠ IRENA
+KUČMAŠ NATAŠA
+KUČMAŠ NIKOLA
+KUČNER LADISLAV
+KUŠAKOVIĆ SMILJA
+KUŠLIĆ MILAN
+KUŠLJAN SLAVKO
+KUŠLJIĆ BORISLAV
+KUŠLJIĆ BORISLAV
+KUŠLJIĆ BORIS
+KUĆ STANKA
+KUŽATKO ANICA
+KUŽATKO EMIL
+KUŽATKO MARTA
+KUŽATKO VLADIMIR
+KUŽELKA SIMA
+KUŽETIN BOŽA
+KUŽETIN JELISAVETA
+KUŽETIN MARA
+KUŽETIN MILAN
+KUŽETIN NOVAK
+KUŽEVSKI MILIVOJE
+KUŽIĆ DRAGUTIN
+KUŽIĆ MLADEN
+KUŽIĆ MLADEN
+KUŽIĆ PETAR
+KUBANJI ANA
+KUBANOVI ZLATKO
+KUBAT MILAN DIPL ING
+KUBAT UROŠ
+KUBATOVIĆ ANA
+KUBATOVIĆ ILIJA
+KUBEČKA MILAN
+KUBET MILAN
+KUBIČELA PETAR
+KUBIČKO FERENC
+KUBICA STJEPAN
+KUBICA VERA
+KUBIK FRANCIŠKA
+KUBINJEC JOSIP
+KUBURIĆ MIĆO
+KUBURIĆ NOVKA
+KUBURIĆ SVETOZAR
+KUCULOVIĆ DANICA
+KUCULOVIĆ VOJISLAV
+KUCURAC DIMITRIJE
+KUCURAC MARA
+KUCURAC NADEŽDA
+KUCURAC STEVAN
+KUCURSKI ĐURICA
+KUCURSKI DRAGOMIR
+KUCURSKI RADISLAV
+KUDIĆ MILOSAVA
+KUDIĆ STEVA
+KUDRA DANIJELA
+KUDRA OLGA
+KUDRA-ZIKOVIĆ LJUBICA
+KUDRIĆ DESIMIR
+KUGA JOVAN
+KUGIĆ ILIJA
+KUGIĆ RADMILA
+KUGIĆ SAVKA
+KUGLI IMRE
+KUGLI JOSIP
+KUGLI MIHAJLO
+KUGLI MIHALJ
+KUGLI PAVAO
+KUGLI ROŽIKA
+KUGLI STEVAN
+KUHAJDA ŠANDOR
+KUHAJDA KSENIJA MR
+KUHAJDA VLADIMIR MR
+KUHAJDA ZLATA
+KUHAR JELENA
+KUHAR JOVAN
+KUHAR SLAVICA
+KUJAČIĆ DRAGAN
+KUJOVIĆ NEDA
+KUJOVIĆ SOFIJA
+KUJUNDŽIĆ LUJZA
+KUJUNDŽIĆ MIODRAG
+KUJUNDŽIĆ TOMANIJA
+KUJUNDŽIĆ VERA
+KUKAVICA JORDAN
+KUKAVICA MIRKO
+KUKAVICA RUŽICA
+KUKAVSKI PAVLE
+KUKIĆ ŽARKO
+KUKIĆ BRANKA
+KUKIĆ DRAGAN
+KUKIĆ GOJKO
+KUKIĆ GORDANA
+KUKIĆ JELICA
+KUKIĆ JELKA
+KUKIĆ MILAN
+KUKIĆ MILOJKA
+KUKIĆ MIRJANA
+KUKIĆ MIRKO
+KUKIĆ NEBOJŠA
+KUKIĆ NIKOLA
+KUKIĆ PETAR
+KUKIĆ SLOBODAN
+KUKIĆ STEVAN
+KUKIĆ SVETOZAR
+KUKIĆ VERA
+KUKIĆ VLADIMIR
+KUKIĆ ZORAN
+KUKIĆ ZORAN
+KUKIĆ ZVONIMIR
+KUKIN ŽIVAN
+KUKIN ALEKSANDAR
+KUKIN DEJAN
+KUKIN SMILJKA
+KUKLA IVAN
+KUKOČ VINKO
+KUKOBAT RADOVAN
+KUKOLJ DANE
+KUKOLJ DRAGAN
+KUKOLJ DUŠKO
+KUKOLJ MILKA
+KUKOLJ MIRJANA
+KUKOLJ RADMILA
+KUKOLJ RAJKO
+KUKOVSKI JOVAN
+KUKRIKA BOŠKO
+KUKUČKA JAN
+KUKUČKA MIHAJLO
+KUKULJ DOBRILA
+KUKUROV JOSIF
+KUKURUZOVIĆ JELENA
+KUKURUZOVIĆ VLADIMIR
+KULČAR IŠTVAN
+KULAČANIN ANICA
+KULAČANIN BRANISLAV
+KULAČANIN MILENKO
+KULAČANIN NADA
+KULAČIĆ ZVONIMIR
+KULAČIN ĐURO
+KULAČIN BUDIMKA
+KULAČIN DUŠAN
+KULAČIN SLAVKO
+KULAČKI MITAR
+KULAŠ MARKO
+KULAŠ SLOBODAN
+KULAŠEVIĆ ZLATA
+KULAŠINOVIĆ ANĐELKA
+KULAŠINOVIĆ DANICA
+KULAŠINOVIĆ DUŠICA
+KULAŠINOVIĆ MILAN
+KULAŠINOVIĆ MILIVOJ
+KULAUZOV ARKADIJE
+KULAUZOV JOVANKA
+KULAUZOV MILENKO DR
+KULEŠEVIĆ OLIVERA
+KULEŠEVIĆ PETAR
+KULEŠKO DRAGOSLAVA
+KULENOVIĆ AHMED
+KULENOVIĆ ZORAN
+KULEVSKI KATICA
+KULEVSKI ROŽA
+KULEVSKI ROŽA
+KULIŠIĆ NEDA
+KULIŠIĆ OLGA
+KULIŠIĆ SLAVOLJUB
+KULIĆ DARINKA
+KULIĆ JOVAN
+KULIĆ JOVO
+KULIĆ LAZAR
+KULIĆ NEBOJŠA
+KULIĆ RADIVOJ
+KULIĆ VLADIMIR
+KULIDŽAN DRAGUTIN
+KULIDŽAN NEMANJA
+KULIDŽAN VASO DR
+KULJAČA ILIJA
+KULJAČA PETAR
+KULJAK MARIJA
+KULJANČIĆ DUŠAN
+KULJANČIĆ JULKA
+KULJANČIĆ MILENA
+KULJANČIĆ NIKOLA
+KULJANČIĆ SAVO
+KULJANČIĆ VERA
+KULJANIN JAKOV
+KULJANKIĆ MURADIF
+KULJANSKI OLGA
+KULJANSKI SLAVKO
+KULJIŠ SLOBODAN
+KULJIĆ BISERKA
+KULJIĆ DRAGOSLAV
+KULJIĆ LAZAR
+KULJIĆ LJUBOMIR
+KULJIĆ MIRJANA
+KULJIĆ NEDELJKO
+KULJIĆ NIKOLA
+KULJIĆ PETAR
+KULJIĆ SAVO
+KULJIĆ-SMUĐA MAGDALENA
+KULJIĆ ZDRAVKO
+KULKA GRETA
+KULPINČEVIĆ ĐORĐE
+KULPINČEVIĆ JOVO
+KULPINSKI DUŠAN
+KULPINSKI MIRJANA
+KULPINSKI STEVAN
+KULPINSKI VUJADIN
+KUMANOV ŽIVAN
+KUMANOV BOŽIDAR
+KUMANOVIĆ MIODRAG
+KUMAZEC LAZA
+KUMOVIĆ BRANKA
+KUMOVIĆ MILICA
+KUMOVIĆ SAVO
+KUN ĐURA
+KUN ALEKSANDAR
+KUN BELA
+KUN DANICA
+KUN EDITA
+KUN ERNE
+KUN LASLO
+KUN STEVAN
+KUNČAKOVA MARIJA
+KUNARAC ANIELA
+KUNDAČINA JOVO
+KUNDAČINA RADOVAN
+KUNDAČINA SAVO
+KUNIĆ ĐORĐE
+KUNIĆ GORDANA
+KUNIĆ VESELINKA
+KUNOSIĆ NEDŽAD
+KUNOSIĆ OSMAN
+KUNOVAC LJUBO
+KUNST IREN
+KUNSTMAN ANASTASIJA
+KUPEK ŽELJKA
+KUPEK ZORICA
+KUPIROVIĆ SOFIJA
+KUPREŠAK DANILO
+KUPREŠAK VIDA
+KUPREŠANIN BILJANA
+KUPREŠANIN ILIJA
+KUPREŠANIN MILE DIPL ING
+KUPREŠKI JOCA
+KUPREŠKI VERA
+KUPUSAREVIĆ BRANISLAV
+KUPUSINAC BRANISLAV
+KUPUSINAC VELJKO
+KURČUBIĆ DRAGIĆ
+KURČUBIĆ MELANIJA
+KURŠUMOVIĆ AVDULAH
+KURAJIĆ JOVAN
+KURAN IVAN
+KURANJI JAN
+KURANJI JAN
+KURBALIJA ĐORĐE
+KURBALIJA DANICA
+KURBALIJA JOVAN
+KURBALIJA LAZAR
+KURBALIJA MIRJANA
+KURBATFINSKI FEĐA DIPL ING
+KURBATFINSKI IVAN
+KURBATFINSKI SLAVKO
+KURBATFINSKI VLADIMIR
+KURBATVINSKI DINA
+KURBATVINSKI IVAN
+KURBATVINSKI STEVAN
+KURBATVINSKI ZORA
+KURCINAK EMIL
+KURCINAK IMRE
+KURCINAK JOSIP
+KURCINAK LAJOŠ
+KURCINAK PAVLE
+KURCINAK STEVAN
+KURCINAK VESNA
+KURDI AMALIJA
+KURDOVSKI MITAR
+KURDULIĆ MILOŠ
+KUREŠEVIĆ RACKO
+KUREŠEVIĆ SAVO
+KUREKAŠ MITAR
+KUREPA VASA
+KURIŠ ŠTEFAN
+KURIDŽA BOGDAN
+KURIDŽA DUŠAN
+KURIJ TOMISLAV
+KURIJA VELJKO
+KURIKŠA ANTONINA
+KURILA JANOŠ
+KURILIĆ JOVO
+KURILIĆ MILAN
+KURILIĆ MILOŠ
+KURILIĆ MIROSLAV
+KURIN ĐORĐE
+KURIN JOSIP
+KURJAČKI ŽIVKO
+KURJAČKI ĐORĐE
+KURJAČKI ĐURĐINA
+KURJAČKI ANKICA
+KURJAČKI DANICA
+KURJAČKI JOVAN
+KURJAČKI MIHAJLO
+KURJAČKI MILAN
+KURJAČKI MILEVA
+KURJAČKI MILEVA
+KURJAČKI MILICA
+KURJAČKI MILIVOJ
+KURJAČKI MIODRAG
+KURJAČKI MIRJANA
+KURJAČKI MIRJANA
+KURJAČKI SREDOJE
+KURJAČKI STANKO
+KURJAČKI STEVAN
+KURJAČKI SVETOZAR
+KURJAČKI ZORA
+KURJAKOV ĐORĐE
+KURJAKOV DANILO
+KURJAKOV DRAGAN
+KURJAKOV MILAN
+KURJAKOV MILIVOJ
+KURJAKOV ROKSANDA
+KURJAKOV VIKTORIJA
+KURS ĐORĐE
+KURTA AZIS
+KURTEŠ JASNA
+KURTEŠ LAZAR
+KURTEŠ MARA
+KURTEŠ SVETKO
+KURTEŠI FUAT
+KURTEŠI NUSRET
+KURTEŠI ZENUN
+KURTI MUSTAFA
+KURTI NEZIR
+KURTIŠEVIĆ NASUF
+KURTIĆ ALEKSANDAR
+KURTIĆ BRANISLAVA
+KURTIĆ MILOVAN
+KURTINOVIĆ PREDRAG
+KURTOVIĆ ANA
+KURTOVIĆ IVAN
+KURTUŠIĆ IVANKA
+KURUČEV MARIJA
+KURUČEV MIRJANA
+KURUČEV SLOBODAN
+KURUČKI KAMENKO
+KURUČKI VLADIMIR
+KURUČKI ZLATIMIR
+KURUŠIĆ BORO
+KURUC ĐULA
+KURUC ĐULA
+KURUC IGNAC
+KURUC IRENA
+KURUC JANOŠ
+KURUC JOVO
+KURUC LAJOŠ
+KURUC LASLO
+KURUC NANDOR
+KURUC TIBOR
+KURUC VINKA
+KURUCA BOŽA
+KURUCA JOVAN
+KURUCIĆ DRAGAN
+KURUCIĆ LJUBICA
+KURUCIĆ SINIŠA
+KURUCIĆ VITOMIR
+KURUCIN ŽIVANA
+KURUNCI ANDRIJA
+KURUNCI JOŽEF
+KURUNCI JOŽEF
+KURUNCI MARIJA
+KURUZOVIĆ TATJANA
+KUSIĆ SRETKO
+KUSLI FERENC
+KUSLI GEZA
+KUSMUK DARINKA
+KUSTIĆ SOFIJA
+KUSTUDIJA DANICA
+KUSTUDIJA MIROSLAV
+KUSTUDIJA SLOBODAN
+KUSTURIĆ NIKOLA
+KUSTURIĆ SELIMIR
+KUSTURICA HASAN
+KUSTURICA NAZIF
+KUSTURIN ANTUN
+KUSTURIN MIRJANA
+KUSUROVIĆ ANKICA
+KUTIJEVAC LJUBICA
+KUTLAČA MARKO
+KUTLEŠIĆ LJUBIŠA
+KUTLEŠIĆ LJUBIŠA
+KUTRI KARLO
+KUTRI KAROLJ
+KUTRI STEVAN
+KUTRIČKI ZORAN
+KUTUZOV MILORAD
+KUTUZOV MIROSLAV
+KUVALJ STEVAN
+KUVALJA DRAGAN
+KUVALJA DRAGOLJUB
+KUVALJA KATICA
+KUVALJA OSTOJA
+KUVEKALOVIĆ RADOSLAV
+KUVEKALOVIĆ STRAIN
+KUVELJIĆ ŽARKO
+KUVELJIĆ LJILJANA
+KUVELJIĆ RADIVOJE
+KUVELJIĆ RADOMAN
+KUVIZIĆ ŽIVOJIN
+KUVIZIĆ ŽIVOJIN
+KUZEVSKI DRAGAN
+KUZMAN ANKA
+KUZMAN BOGDAN
+KUZMAN BOGDAN
+KUZMAN BORISLAV
+KUZMAN DIMITRIJE
+KUZMAN DRAGAN
+KUZMAN MILAN
+KUZMAN MILOVAN
+KUZMAN MIRKO
+KUZMAN NADA
+KUZMAN NADA
+KUZMAN NADA
+KUZMAN NADEŽDA
+KUZMAN PETAR
+KUZMAN RISTO
+KUZMAN SLAVICA
+KUZMANČEV ALEKSANDAR
+KUZMANČEV DIMITRIJE
+KUZMANČEV DUŠAN
+KUZMANČEV OLIVERA DR
+KUZMANČEV TIMOŠENKO
+KUZMANOV BORISLAV
+KUZMANOV MARIJA
+KUZMANOV OBRAD
+KUZMANOV OBRAD
+KUZMANOV RADOŠ DIPL ING
+KUZMANOV RADOSLAV
+KUZMANOV SAVA
+KUZMANOV SLAVKO
+KUZMANOV SVETISLAV
+KUZMANOV TANASIJE
+KUZMANOV ZORAN
+KUZMANOVIĆ ČEDOMIR
+KUZMANOVIĆ ŽIVOJIN
+KUZMANOVIĆ ĐORĐE
+KUZMANOVIĆ ĐURA
+KUZMANOVIĆ ALEKSANDAR
+KUZMANOVIĆ ANGELINA
+KUZMANOVIĆ BOŠKO
+KUZMANOVIĆ BOGDAN
+KUZMANOVIĆ BOGDAN
+KUZMANOVIĆ BORISLAV
+KUZMANOVIĆ BRANISLAVA
+KUZMANOVIĆ BRANISLAV
+KUZMANOVIĆ DANICA
+KUZMANOVIĆ DARINKA
+KUZMANOVIĆ DEJAN
+KUZMANOVIĆ DRAGINJA
+KUZMANOVIĆ DRAGOMIR
+KUZMANOVIĆ DRAGUTIN
+KUZMANOVIĆ DRAGUTIN
+KUZMANOVIĆ DUŠAN
+KUZMANOVIĆ DUŠAN
+KUZMANOVIĆ DUŠAN
+KUZMANOVIĆ DUŠKO
+KUZMANOVIĆ GORAN
+KUZMANOVIĆ JELENA
+KUZMANOVIĆ JOVAN
+KUZMANOVIĆ JOVAN
+KUZMANOVIĆ KATA
+KUZMANOVIĆ LAZAR
+KUZMANOVIĆ LAZAR
+KUZMANOVIĆ LAZO
+KUZMANOVIĆ LENKA
+KUZMANOVIĆ LJILJANA
+KUZMANOVIĆ LJUBIŠA
+KUZMANOVIĆ LJUBICA
+KUZMANOVIĆ LJUBICA
+KUZMANOVIĆ LJUBICA
+KUZMANOVIĆ LJUBOMIR
+KUZMANOVIĆ MILAN
+KUZMANOVIĆ MILAN
+KUZMANOVIĆ MILENA
+KUZMANOVIĆ MILENKO
+KUZMANOVIĆ MILE
+KUZMANOVIĆ MILJOJKO DIPL ING
+KUZMANOVIĆ MILOŠ
+KUZMANOVIĆ MILOŠ
+KUZMANOVIĆ MILOŠ
+KUZMANOVIĆ MILOŠ
+KUZMANOVIĆ MIODRAG
+KUZMANOVIĆ MIRJANA
+KUZMANOVIĆ MLADEN
+KUZMANOVIĆ NADA
+KUZMANOVIĆ NADEŽDA
+KUZMANOVIĆ NENAD
+KUZMANOVIĆ NEVENA
+KUZMANOVIĆ NIKOLA
+KUZMANOVIĆ NIKOLA
+KUZMANOVIĆ PAJA
+KUZMANOVIĆ PETAR
+KUZMANOVIĆ PETAR
+KUZMANOVIĆ PREDRAG
+KUZMANOVIĆ RADIVOJ
+KUZMANOVIĆ RADIVOJ
+KUZMANOVIĆ RADOJKO
+KUZMANOVIĆ RADOSAV
+KUZMANOVIĆ RADOSLAV
+KUZMANOVIĆ RAJKO
+KUZMANOVIĆ SLAVKO
+KUZMANOVIĆ SLAVKO
+KUZMANOVIĆ SLOBODAN
+KUZMANOVIĆ SLOBODAN
+KUZMANOVIĆ SLOBODAN
+KUZMANOVIĆ SPOMENKA
+KUZMANOVIĆ STOJAN
+KUZMANOVIĆ STOJAN
+KUZMANOVIĆ TODOR
+KUZMANOVIĆ TODOR
+KUZMANOVIĆ VASILIJE
+KUZMANOVIĆ VASILIJE
+KUZMANOVIĆ VERA
+KUZMANOVIĆ VERA
+KUZMANOVIĆ VLASTIMIR
+KUZMANOVIĆ VOJISLAV
+KUZMANOVIĆ ZDRAVKO
+KUZMANOVIĆ ZORAN
+KUZMANOVIĆ ZORA
+KUZMANOVSKI BLAGOJA
+KUZMANOVSKI CVETA
+KUZMANOVSKI DUŠAN
+KUZMANOVSKI MILE
+KUZMANOVSKI PERE
+KUZMANOVSKI RADOJKA
+KUZMANOVSKI TASE
+KUZMANOVSKI TRAJČE
+KUZMIĆ MILKA
+KUZMIĆ ZVONKO
+KUZMINAC BORISLAV
+KUZMINAC GORDANA
+KUZMINAC PETAR
+KUZMINAC PREDRAG
+KUZMINAC RADOSLAV
+KVAŠČEV JOVAN
+KVAŠČEV MIRA
+KVAŠČEV RADIVOJ
+KVAIĆ ĐORĐE
+KVAIĆ DUŠAN
+KVAIĆ JELENA
+KVAIĆ MILEVA
+KVRGIĆ BOŠKO
+KVRGIĆ MILAN
+KVRGIĆ PETAR
+KVRGIĆ RADOVAN
+KVRGIĆ SAVO
+KVRGIĆ TOMISLAV
+LAČANSKI DESANKA
+LAČOK KARLO
+LAČOK KAROLJ
+LAŠKOV IGOR DIPL ING
+LAĆAK ĐURA
+LAĆAK MIHALJ
+LAĆANSKI VOJISLAV
+LAĆARAC ŽARKO
+LAĆARAC BILJANA
+LAĆARAC BORISLAV
+LAĆARAC DOBRIVOJE
+LAĆARAC JOVAN
+LAĆARAC MAKSIM
+LAĆARAC NIKOLA
+LAĆARAC NIKOLA
+LAĆARAC NIKOLA
+LAĆARAC TEODOR
+LAĆARAC VERA
+LAĆARAK ŽARKO
+LAĆARAK LAZAR
+LAĆARAK LAZA
+LAĆARAK MILOŠ
+LAĆARAK MLADEN
+LAĆARAK OGNJANKA
+LAŽEGIĆ NEVENKA
+LAŽETIĆ ALEKSANDAR
+LAŽETIĆ MARIJA DR
+LAĐEVAC DUŠAN
+LAĐEVIĆ DRAGAN
+LAĐEVIĆ GOJKO
+LAĐEVIĆ JOVAN
+LAĐINOVIĆ ŽIKA
+LAĐINOVIĆ ZLATKO
+LABAŠ IVAN
+LABADI JOŽEF
+LABAN JULKA
+LABAN MIRKO
+LABAT ANA
+LABAT ANKA
+LABAT JAN
+LABAT KVETOSLAVA
+LABAT RUŽENA
+LABAT STEVAN
+LABAT VERA
+LABAT VLADIMIR
+LABAT VLADISLAV
+LABAVIĆ IVAN
+LABOVIĆ BOŽIDAR
+LABOVIĆ MANOJLO
+LABROVIĆ MIRKO
+LABUDOVIĆ BORIS
+LABUDOVIĆ HELENA
+LABUDOVIĆ ROZALIJA
+LABUDOVIĆ VLADIMIR
+LABUS ĐURO
+LABUS BOŽIDAR
+LABUS BRANKO
+LABUS ILIJA
+LABUS JOVAN
+LABUS LJUBOMIR
+LABUS MAKEDONKA
+LABUS MILAN
+LABUS MILAN
+LABUS MILAN
+LABUS MILAN
+LABUS MILE
+LABUS NIKOLA
+LABUS SLAVKO
+LACIK JANOŠ
+LACIK SLAVICA
+LACKO MIHAJLO
+LACKOVIĆ DRAGIŠA
+LACKOVIĆ JOSIP
+LACKOVIĆ RADE
+LACKOVIĆ RADOVAN
+LACKOVIĆ SOFIJA
+LACKOVIĆ STANIMIR
+LACKOVIĆ ZLATKO
+LACKOVIĆ ZORAN
+LACMANOVIĆ MIODRAG
+LACMANOVIĆ SLAVOJKA
+LADAR MILOŠ
+LADAR STEVAN
+LADI IŠTVAN
+LADI LAJOŠ
+LADI MARIJA
+LADIŠIĆ ANTON
+LADIŠIĆ GUSTAV
+LADIŠIĆ JELISAVETA
+LADIŠIĆ JOSIP
+LADIŠIĆ MIRKO
+LADIŠIĆ NIKOLA
+LADIŠIĆ STEVAN
+LADIK ŠANDOR
+LADIK FERENC
+LADIK KATALIN
+LADIK KATALIN
+LADIK MARGITA
+LADIK MIRJANA
+LADIKA BLAŽ
+LADOCKI ANDRIJA
+LADOLEŽ ERŽEBET
+LADOLEŽ MILADIN
+LAGUMDŽIJA HAMID
+LAGUMDŽIJA MILENA
+LAGUNDŽIN DRAGAN
+LAGUNDŽIN DRAGAN
+LAGUNDŽIN DRAGAN
+LAGUNDŽIN SVETOZAR
+LAGUNDŽIN ZORAN
+LAHARNAR LUCIJA
+LAHOŠ ĐORĐE
+LAHOŠ ANDRIJA
+LAHOŠ IŠTVAN
+LAINOVIĆ ALEKSA
+LAINOVIĆ BORISLAV
+LAINOVIĆ RANKO
+LAJŠIĆ STEVAN
+LAJŠIĆ ZORKA
+LAJH MARIJA
+LAJHTNER ANTAL
+LAJHTNER FRANJA
+LAJHTNER NIKOLA DIPL ING
+LAJIĆ ŠTEFKA
+LAJIĆ BRANKO
+LAJIĆ DRAGAN
+LAJIĆ DRAGOLJUB
+LAJIĆ LJILJANA
+LAJIĆ MIRKO
+LAJIĆ RAJKO
+LAJIĆ STANA
+LAJIĆ ZDRAVKO
+LAJKO ŠANDOR
+LAJKO JOSIP
+LAJKO LAJOŠ DIPL ING
+LAJKO MARIJA
+LAJKO STEVAN
+LAJKO VERA
+LAJOŠ LASLO
+LAJTER ELZA
+LAJTER GIZELA
+LAJTER IVAN
+LAJTIH SIGFRID
+LAKATOŠ AMALIJA
+LAKATOŠ ANA
+LAKATOŠ ANDRAŠ
+LAKATOŠ DRAGICA
+LAKATOŠ GIZA
+LAKATOŠ IMRE
+LAKATOŠ IMRE
+LAKATOŠ IMRE
+LAKATOŠ JASMINKA
+LAKATOŠ JELENA
+LAKATOŠ LAJOŠ
+LAKATOŠ MIHAJLO
+LAKATOŠ MILICA
+LAKATOŠ NADA
+LAKATOŠ PAVLE
+LAKATOŠ STEVAN
+LAKATOŠ TIBOR
+LAKATOŠ VERA
+LAKATOŠ VILMOŠ
+LAKATOŠ ZOLTAN
+LAKATOŠ ZOLTAN
+LAKATUŠ BRANISLAV
+LAKETA BOŽO
+LAKETIĆ LJUBOMIR
+LAKETIĆ MILAN
+LAKETIĆ MILIVOJ
+LAKIČEVIĆ NADA
+LAKIČEVIĆ-STOJAČIĆ SNEŽANA
+LAKIĆ ANĐA
+LAKIĆ ANĐELKA
+LAKIĆ BOGOSAV
+LAKIĆ BRANKO DR LEKAR
+LAKIĆ BRANKO
+LAKIĆ BRANKO
+LAKIĆ DANILO
+LAKIĆ ILIJA
+LAKIĆ JOLAN
+LAKIĆ MARKO
+LAKIĆ MIRA
+LAKIĆ MIRJANA
+LAKIĆ MLADEN
+LAKIĆ MOMIR
+LAKIĆ NIKOLA
+LAKIĆ RADIVOJE
+LAKIĆ RADIVOJ
+LAKIĆ RADIVOJ
+LAKIĆ RADMILA
+LAKIĆ RAJKO
+LAKIĆ SAVA DR
+LAKIĆ SLOBODAN
+LAKIĆ SMILJA
+LAKIĆ SPASOJE
+LAKIĆ SRĐAN
+LAKIĆ SRĐAN
+LAKIĆ SRĐAN
+LAKIĆ STEVAN
+LAKIĆ SVETISLAV
+LAKIĆ TOMISLAV
+LAKIĆ VELIMIR
+LAKIĆ VESNA
+LAKIĆ VUČETA
+LAKIĆ ZORICA
+LAKIĆEVIĆ MILIJA
+LAKIĆEVIĆ SVETLANA
+LAKIĆEVIĆ VASO
+LAKIĆEVIĆ VESNA
+LAKIĆEVIĆ VUKSAN DR
+LAKLIJA STEVAN
+LAKO MARIJA
+LAKOBRIJA DRAGAN
+LAKOBRIJA DUŠAN
+LAKOBRIJA ILIJA
+LAKOBRIJA JELENA
+LAKOBRIJA MILAN
+LAKOBRIJA MILAN
+LAKOBRIJA MILOŠ
+LAKOBRIJA MILOŠ
+LAKOBRIJA NIKOLA
+LAKOVIĆ BUDIMIR
+LAKOVIĆ DUŠKO
+LAKOVIĆ MILIĆ
+LAKOVIĆ MILORAD
+LAKOVIĆ PETAR
+LAKOVIĆ ROZALIJA
+LAKOVIĆ VASILJKA
+LALATOVIĆ DESANKA
+LALATOVIĆ DRAGUTIN
+LALATOVIĆ SLOBODANKA
+LALATOVIĆ VASILIJE
+LALIČIĆ VELIMIR
+LALIĆ ŽIVA
+LALIĆ ĐORĐE
+LALIĆ ANKICA
+LALIĆ ARKADIJE
+LALIĆ BOGDAN
+LALIĆ GLIGORIJE
+LALIĆ GOJKO
+LALIĆ GORDANA
+LALIĆ IKONIJA
+LALIĆ JAGODA
+LALIĆ JULIJANA
+LALIĆ JULKA
+LALIĆ LJUBOMIR
+LALIĆ MARIJA
+LALIĆ MILADINKA
+LALIĆ MILAN
+LALIĆ MILICA
+LALIĆ MIRKO
+LALIĆ NENAD
+LALIĆ NIKOLA
+LALIĆ RADOMIR DR
+LALIĆ SREDOJE
+LALIĆ TAMARA
+LALIĆ TODOR
+LALIĆ UGLJEŠA
+LALIĆ VASILIJE
+LALIN ALEKSANDAR
+LALIN MILAN
+LALOŠEVIĆ ALEKSANDAR
+LALOŠEVIĆ ALEKSANDAR
+LALOŠEVIĆ DIMITRIJE
+LALOŠEVIĆ DUŠAN
+LALOŠEVIĆ DUŠKO
+LALOŠEVIĆ FEMKA
+LALOŠEVIĆ JELISAVETA
+LALOŠEVIĆ JOVAN
+LALOŠEVIĆ KATICA
+LALOŠEVIĆ LAZAR
+LALOŠEVIĆ MARA
+LALOŠEVIĆ MIKA
+LALOŠEVIĆ STEVAN
+LALOŠEVIĆ STEVA
+LALOŠEVIĆ VASA
+LALOŠEVIĆ VLADIMIR
+LALOŠEVIĆ VLADIMIR
+LALOVIĆ JANKO
+LALOVIĆ MARKO
+LALOVIĆ MIRJANA
+LALOVIĆ NADA
+LALOVIĆ RADIVOJE
+LALOVIĆ SUZANA
+LALOVIĆ VERA
+LAMBETA PEKO
+LAMBIĆ BRANISLAV
+LAMBIĆ JOVO
+LAMBIĆ OLIVERA
+LAMPRET KRISTIJAN
+LANČUŠKI EMILKA
+LANC FRANJA
+LANC MARIJA
+LANCOŠ ANA
+LANCOŠ NENAD
+LANCOŠ SVETOZAR
+LANCOŠ TOMISLAV
+LANDEKA ANTONIJE
+LANG ATILA
+LANG DRAGICA
+LANG JOSIP
+LANG MIRJANA
+LANG VALERIJA
+LANJI ANDRAŠ
+LANJI STEVAN
+LANKOVSKI PECO
+LANKOVSKI TOMČE
+LAPČEVIĆ DRAGICA
+LAPČEVIĆ MILICA
+LAPČEVIĆ MILUTIN
+LAPČEVIĆ PAJA
+LAPČEVIĆ VUKOSAVA
+LAPČIĆ MILAN
+LAPADAT HORTENZIJA
+LAPADAT SORIN
+LAPADAT VASILIJE
+LAPAJNE MILAN
+LAPO JOVAN
+LAPU ANDRAŠ
+LARKIN STEVAN
+LASIĆ TOMISLAV
+LASIĆ ZVONKO
+LASIĆ ZVONKO
+LASICA BUDIMIR
+LASICA DRAGUTIN
+LASICA ILIJA
+LASICA MILAN
+LASICA MILAN
+LASICA MILENKO
+LASICA MIROSLAV
+LASICA UROŠ
+LASICA VELJKO
+LASICA ZDRAVKO
+LASICA ZLATA
+LASICA ZORA
+LASKOV DOBRE
+LASKOVIĆ BRANKA
+LASKOVIĆ DANILO
+LASKOVIĆ DRAGAN
+LASLO ETELKA
+LASLO FERENC
+LASLO FRANJA
+LASLO FRANJA
+LASLO ILONA
+LASLO JOŽEF
+LASLO JOSIP
+LASLO JOVAN
+LASLO LASLO
+LASLO MIKLOŠ
+LASLO MILENA
+LASLO TIBOR
+LASLO VERA
+LASLOVSKI TEREZA
+LASTIĆ ALEKSANDAR
+LATAK NANDOR
+LATAL MARJAN
+LATAL SLAVICA
+LATAL STEVAN
+LATAL VERA
+LATAL ZAGORKA
+LATAS ŽIVKA
+LATAS LAZAR
+LATAS MARKO
+LATAS MILADIN
+LATAS MILAN
+LATAS PETAR
+LATAS SAVA DR STOMATOLOG
+LATAS ZORA
+LATIŠKO UROŠ
+LATIĆ ISAK
+LATIĆ RADIVOJ
+LATINČIĆ BORISLAV
+LATINČIĆ DANICA
+LATINČIĆ GRUJA
+LATINČIĆ NIKOLA
+LATINČIĆ RUŽA
+LATINKIĆ STEVAN
+LATINKIĆ VINKA
+LATINKOVIĆ RADOMIR
+LATINOVIĆ ŽARKO
+LATINOVIĆ ĐUJA
+LATINOVIĆ BOŽO
+LATINOVIĆ DRAGAN
+LATINOVIĆ DRAGAN
+LATINOVIĆ ERIKA
+LATINOVIĆ ILIJA
+LATINOVIĆ JOVAN
+LATINOVIĆ JOVAN
+LATINOVIĆ LAZA
+LATINOVIĆ LJUBA
+LATINOVIĆ MACA
+LATINOVIĆ MARINKO
+LATINOVIĆ MILENKO
+LATINOVIĆ MILORAD
+LATINOVIĆ MIRKO
+LATINOVIĆ NEĐO
+LATINOVIĆ NEDELJKO
+LATINOVIĆ NIKOLA
+LATINOVIĆ NIKOLA
+LATINOVIĆ PETAR
+LATINOVIĆ RADOMIR
+LATINOVIĆ RAJKO
+LATINOVIĆ SAVO
+LATINOVIĆ SLOBODANKA
+LATINOVIĆ SLOBODAN
+LATINOVIĆ SLOBODAN
+LATINOVIĆ SMILJA
+LATINOVIĆ SVETOZAR
+LATINOVIĆ ZORKA
+LATKOVIĆ ŽELJKO
+LATKOVIĆ JOVAN
+LATKOVIĆ JOVO
+LATKOVIĆ MILE
+LATKOVIĆ VUJO
+LATKOVSKI RISTO
+LATO JASNA
+LATOVLJEV ZAGORKA
+LAUŠ DIMITRIJE
+LAUŠ VLADIMIR
+LAUŠEV DRAGANA
+LAUŠEV JOCA
+LAUŠEV LJUBINKA
+LAUŠEV MIRJANA
+LAUŠEV TOŠA
+LAUŠEV VELIMIR
+LAUŠEV VOJISLAV
+LAUŠEVIĆ ŽIVAN
+LAUŠEVIĆ ŽIVKA
+LAUŠEVIĆ ŽIVKA
+LAUŠEVIĆ BRANISLAV
+LAUŠEVIĆ DRAGOJE
+LAUŠEVIĆ DRAGUTIN
+LAUŠEVIĆ PAVLE
+LAUŠEVIĆ RADOJICA
+LAUŠEVIĆ VESELIN
+LAUŠEVIĆ ZITA
+LAUŠIN BRANISLAV
+LAUBERT VLADISLAVA
+LAUS ANA
+LAUS KATARINA
+LAUTAREVIĆ DRAGAN
+LAUTERER ĐENĐI
+LAUTERER LASLO
+LAVAČ JOŽEF
+LAVAČ LASLO
+LAVIČKA KARLO
+LAVRNIĆ KSENIJA
+LAVRNIĆ KSENIJA
+LAVRNIĆ MILOŠ
+LAVRNIĆ RADIVOJ
+LAVRNJA LAZAR
+LAVRNJA MILKAN
+LAZA JON
+LAZA TEODORA
+LAZANSKI ANA
+LAZANSKI BRANISLAV
+LAZANSKI GORDANA
+LAZANSKI GORDANA
+LAZAR ĐULA
+LAZAR ELENA
+LAZAR JULIA
+LAZAR JULIJA
+LAZAR KATALIN
+LAZAR LADISLAV
+LAZAR PAVLE
+LAZAR SIMA
+LAZAR STJEPAN
+LAZAR VLADIMIR
+LAZAREV ĐOKA
+LAZAREV ANA
+LAZAREV ANDRIJA
+LAZAREV JOVAN
+LAZAREV VERA
+LAZAREVIĆ ČEDA
+LAZAREVIĆ ŽIVKA
+LAZAREVIĆ ŽIVOTA
+LAZAREVIĆ ĐORĐE
+LAZAREVIĆ BOŠKO
+LAZAREVIĆ BORISLAV
+LAZAREVIĆ BRANKO
+LAZAREVIĆ BRANKO
+LAZAREVIĆ DANILO
+LAZAREVIĆ DARINKA
+LAZAREVIĆ DIMITRIJE
+LAZAREVIĆ DOBROSAV
+LAZAREVIĆ DRAGIŠA
+LAZAREVIĆ DRAGOMIR
+LAZAREVIĆ JADVIGA
+LAZAREVIĆ JELENA
+LAZAREVIĆ JELENA
+LAZAREVIĆ LAZAR
+LAZAREVIĆ LJUBOMIR
+LAZAREVIĆ LJUBO
+LAZAREVIĆ MANDA
+LAZAREVIĆ MILADINKA
+LAZAREVIĆ MILAN
+LAZAREVIĆ MILAN
+LAZAREVIĆ MILIVOJE
+LAZAREVIĆ MILORAD
+LAZAREVIĆ MILORAD
+LAZAREVIĆ MILUN
+LAZAREVIĆ MILUTIN
+LAZAREVIĆ NIKOLA
+LAZAREVIĆ SAVA
+LAZAREVIĆ SMILJA
+LAZAREVIĆ STANIŠA
+LAZAREVIĆ STANOJE
+LAZAREVIĆ STEVAN
+LAZAREVIĆ STEVAN
+LAZAREVIĆ SVETISLAV
+LAZAREVIĆ VELIMIR
+LAZAREVIĆ VESNA
+LAZAREVIĆ VIDAN
+LAZAREVIĆ VLADIMIR
+LAZAREVIĆ VOJISLAV
+LAZAREVIĆ ZORAN DR LEKAR
+LAZAREVIĆ ZORAN
+LAZAREVSKI ĐORĐE
+LAZAREVSKI DRAGOLJUB
+LAZAREVSKI SLAVKO
+LAZAROV VESELIN
+LAZAROV ZORAN
+LAZAROVSKI DRAGAN
+LAZENDIĆ LAZAR
+LAZENDIĆ NIKOLA
+LAZIČIĆ BRANKO
+LAZIČIĆ STANIJA
+LAZIĆ ŽARKO
+LAZIĆ ŽIVAN
+LAZIĆ ŽIVAN
+LAZIĆ ŽIVAN
+LAZIĆ ŽIVKO
+LAZIĆ ŽIVOJIN
+LAZIĆ ŽIVORAD
+LAZIĆ ĐORĐE DIPL ING
+LAZIĆ ANĐELKA
+LAZIĆ ANDRIJA
+LAZIĆ BOŠKO
+LAZIĆ BOŽIDAR
+LAZIĆ BRANISLAVA
+LAZIĆ BRANISLAVA
+LAZIĆ BRANISLAV
+LAZIĆ BRANISLAV
+LAZIĆ BRANISLAV
+LAZIĆ BRANKA DR
+LAZIĆ BUDIMIR
+LAZIĆ DAMJANKA
+LAZIĆ DEJAN DIPL ING
+LAZIĆ DEJAN
+LAZIĆ DRAGANA
+LAZIĆ DRAGAN
+LAZIĆ DRAGA
+LAZIĆ DRAGICA
+LAZIĆ DRAGOLJUB
+LAZIĆ DRAGOMIR
+LAZIĆ DRAGO
+LAZIĆ DRAGUTIN
+LAZIĆ DUŠAN
+LAZIĆ DUŠAN
+LAZIĆ DUŠAN
+LAZIĆ DUŠAN
+LAZIĆ EMIL DR LEKAR
+LAZIĆ GOJKO
+LAZIĆ GOROLJUB
+LAZIĆ GROZDANA
+LAZIĆ IVANA
+LAZIĆ JELISAVETA
+LAZIĆ JOCA
+LAZIĆ JOVANKA
+LAZIĆ JOVAN
+LAZIĆ JULKA
+LAZIĆ KATICA
+LAZIĆ KATICA
+LAZIĆ KATICA
+LAZIĆ KOSTADIN
+LAZIĆ KOSTA
+LAZIĆ LAZAR
+LAZIĆ LAZAR
+LAZIĆ LJUBAN
+LAZIĆ LJUBINKA
+LAZIĆ LJUBISAVA
+LAZIĆ LJUBOMIR
+LAZIĆ MARIJA
+LAZIĆ MARIJA
+LAZIĆ MARINKO
+LAZIĆ MARTA
+LAZIĆ MILADIN
+LAZIĆ MILADIN
+LAZIĆ MILADIN
+LAZIĆ MILAN
+LAZIĆ MILAN
+LAZIĆ MILAN
+LAZIĆ MILAN
+LAZIĆ MILENA
+LAZIĆ MILENA
+LAZIĆ MILENKO
+LAZIĆ MILENKO
+LAZIĆ MILEVKA
+LAZIĆ MILICA
+LAZIĆ MILICA
+LAZIĆ MILICA
+LAZIĆ MILINKO
+LAZIĆ MILISAV PROFESOR
+LAZIĆ MILISAV
+LAZIĆ MILIVOJ
+LAZIĆ MILOŠ
+LAZIĆ MILORAD
+LAZIĆ MIODRAG
+LAZIĆ MIRA
+LAZIĆ MIRJANA
+LAZIĆ MIRKO
+LAZIĆ MIROLJUB
+LAZIĆ MIROSLAV
+LAZIĆ MLADEN
+LAZIĆ NADA
+LAZIĆ NADA
+LAZIĆ NADA
+LAZIĆ NADEŽDA
+LAZIĆ NAJDAN
+LAZIĆ NEVENA
+LAZIĆ NIKOLA DIPL ING
+LAZIĆ NIKOLA
+LAZIĆ NIKOLA
+LAZIĆ NIKOLA
+LAZIĆ NIKOLA
+LAZIĆ OBREN
+LAZIĆ PAJA
+LAZIĆ PETAR
+LAZIĆ PETAR
+LAZIĆ PETAR
+LAZIĆ PETAR
+LAZIĆ PIROŠKA
+LAZIĆ PIROŠKA
+LAZIĆ RADA
+LAZIĆ RADE
+LAZIĆ RADIŠA
+LAZIĆ RADIVOJ
+LAZIĆ RADMILA
+LAZIĆ RADOJKA
+LAZIĆ RADOJKO
+LAZIĆ RADOVAN
+LAZIĆ RAJKO
+LAZIĆ RODOLJUB
+LAZIĆ RUŽA
+LAZIĆ SANJA
+LAZIĆ SAVA
+LAZIĆ SAVA
+LAZIĆ SAVA
+LAZIĆ SAVA
+LAZIĆ SIMA DR
+LAZIĆ SLAVKO
+LAZIĆ SLOBODAN
+LAZIĆ SLOBODAN
+LAZIĆ SMILJA
+LAZIĆ SRBISLAV
+LAZIĆ STANIMIR
+LAZIĆ STANKO
+LAZIĆ STEVANKA
+LAZIĆ STEVAN
+LAZIĆ STEVAN
+LAZIĆ STEVAN
+LAZIĆ STEVAN
+LAZIĆ STOJADIN
+LAZIĆ STOJAN
+LAZIĆ SVETOZAR
+LAZIĆ TEODOR
+LAZIĆ TRAJKO
+LAZIĆ VALERIJA
+LAZIĆ VASILIJE
+LAZIĆ VELINKA
+LAZIĆ VESELIN
+LAZIĆ VESNA
+LAZIĆ VLADIMIR
+LAZIĆ ZORAN
+LAZIĆ ZORICA
+LAZIĆ ZORICA
+LAZICANI ALJUŠ
+LAZIN BOGDAN
+LAZIN BRANKO
+LAZIN GOJKO
+LAZIN MIROSLAVA
+LAZIN NATALIJA
+LAZIN SAVA
+LAZIN SAVA
+LAZIN SINIŠA
+LAZIN SINIŠA
+LAZIN SLOBODAN
+LAZIN VOJIN
+LAZIN ZORICA
+LAZINICA RADOJKA
+LAZOR MIRON
+LAZOR NIKOLA
+LAZOV TRAJAN
+LAZOVA TRAJKA
+LAZOVIĆ ČEDO
+LAZOVIĆ BOŠKO
+LAZOVIĆ BOŽIDAR
+LAZOVIĆ DEJAN DIPL ING
+LAZOVIĆ DRAGAN
+LAZOVIĆ LAZAR
+LAZOVIĆ LJILJANA
+LAZOVIĆ MILENTIJE
+LAZOVIĆ MILETA
+LAZOVIĆ MILICA
+LAZOVIĆ MILOJICA
+LAZOVIĆ NENAD
+LAZOVIĆ RADOSAV
+LAZOVIĆ SAVICA
+LAZOVIĆ SLOBODAN
+LAZOVIĆ STANKO
+LAZOVIĆ STEVAN PROFESOR
+LAZOVIĆ SVETISLAV
+LAZOVIĆ VUJADIN
+LAZOVIĆ ZORAN
+LAZOVIĆ ZORAN
+LAZOVSKI SLAVČO
+LAZUKIĆ ČEDO
+LAZUKIĆ ANĐA
+LAZUKIĆ JOVO
+LAZUKIĆ KAĆA
+LAZUKIĆ MILAN
+LAZUKIĆ SLOBODAN
+LEČ ENDRE DR
+LEČ ERIH
+LEČAR JOSIP
+LEČAR KARLO
+LEČIĆ ČEDOMIR
+LEČIĆ DOBRILA
+LEČIĆ DOBROSAV
+LEČIĆ GOJKO
+LEČIĆ MILEVA
+LEČIĆ MILOVAN
+LEČIĆ NADA
+LEČIĆ NADA
+LEČIĆ SIMO
+LEČIĆ SPASOJE
+LEČIĆ VIDOSAVA
+LEČIĆ VLADIMIR
+LEŠČEŠEN EDVARD
+LEŠČEŠEN JELENA
+LEŠIĆ ĐURA
+LEŠIĆ STOJAN
+LEŠKIĆ ĐORĐE
+LEŠKIĆ VOJISLAV
+LEŠKOV JOVAN
+LEŠKOV MILAN
+LEŠKOV MIODRAG
+LEŠKOV OLGICA
+LEŠKOVIĆ ZLATKO
+LEŠNIK ZAGORKA
+LEŠTAR STEVAN
+LEŠTAR ZORICA
+LEŽAJIĆ VUKADIN
+LEŽAKOV ĐURĐICA
+LEŽAKOV MILAN
+LEŽIMIRAC ALEKSANDAR
+LEŽIMIRAC BRANKICA
+LEŽIMIRAC DOBRINKA
+LEŽIMIRAC SLOBODAN
+LEŽIMIRAC SLOBODAN
+LEŽIMIRAC SVETLANA
+LEŽIMIRAC VLADIMIR
+LEĐANA JELENA
+LEĐANAC ĐURĐINKA
+LEĐANAC BRANISLAVA
+LEĐANAC DRAGOMIR
+LEĐANAC EMILIJA
+LEĐANAC GAVRA
+LEĐANAC GORICA
+LEĐANAC JOVAN
+LEĐANAC MILAN
+LEĐANAC SEKULA
+LEĐANAC SEKULA
+LEĐANAC SLAVKO
+LEĐANAC STEVAN
+LEĐANAC STEVAN
+LEĐANAC VITOMIR
+LEĐANSKI BRANKA
+LEĐENAC DRAGAN
+LEĐENAC NADA
+LEĐENAC SLAVKO
+LEĐENAC STANIMIR
+LEĐENAC STRAHINJA
+LEBAR ZLATICA
+LEBER ZLATKO
+LEBL ARPAD DR PROFESOR
+LEBOVIĆ MARINKO
+LEBURIĆ VASILIJE
+LECKI ĐULA
+LECKI KRIŠTOF
+LECKOVIĆ EMIL
+LEDENKO ANTE MR
+LEDER EMINA
+LEDER OLGA
+LEGEN STOJAN
+LEGETIĆ BRANKA
+LEHOCKI ŠANDOR
+LEHOCKI FERENC
+LEHOTSKI KARLO
+LEHR DAVOR
+LEITNER NIKOLA
+LEKI ĐURA
+LEKI MARIJA
+LEKI STJEPAN
+LEKI TEREZIJA
+LEKIĆ ŽIVADIN
+LEKIĆ ĐORĐIJE
+LEKIĆ BOGDAN
+LEKIĆ BRANKA
+LEKIĆ BRANKO
+LEKIĆ DEJAN
+LEKIĆ DRAGOLJUB
+LEKIĆ DUŠAN
+LEKIĆ JORDAN
+LEKIĆ LJUBOMIR
+LEKIĆ LJUBOMIR
+LEKIĆ MILADIN
+LEKIĆ MILANKA
+LEKIĆ NEĐO
+LEKIĆ NIKOLA
+LEKIĆ SIMEVUN
+LEKIĆ STANKA
+LEKIĆ STEVAN
+LEKIĆ TATJANA
+LEKIĆ TEODOR
+LEKIĆ VESELKO
+LEKIĆ ZAGORKA
+LEKIĆ ZDRAVKO
+LEKIN LJUBICA
+LEKIN MILAN
+LEKIN MILAN
+LEKIN MILAN
+LEKIN ZDRAVKO
+LEKO ĐERĐ
+LEKO ALEKSANDAR
+LEKO BORISLAV
+LEKO MLADEN
+LEKOVIĆ DOBRILO
+LEKOVIĆ DRAGIŠA
+LEKOVIĆ MILOŠ
+LEKOVIĆ MIRKO
+LEKOVIĆ NOVAK
+LEKOVIĆ SLOBODANKA
+LEKOVIĆ TOMISLAV
+LEKOVIĆ VERICA
+LELEA TODOR
+LELEOVIĆ BORO
+LELIĆ ŽELJKO
+LELIĆ MAHMUT
+LELIĆ MARIJA
+LELIĆ MIRSAM
+LELIĆ ZUMRETA
+LELIK JANOŠ
+LELIK JENE
+LELOVIĆ RADE
+LEMAIĆ ŽELJKO
+LEMAIĆ SOFIJA
+LEMAJIĆ BRANKO
+LEMAJIĆ CECILIJA
+LEMAJIĆ KATICA
+LEMAJIĆ MARIJA
+LEMAJIĆ MILAN
+LEMAJIĆ MILAN
+LEMAJIĆ MIROSLAV
+LEMAJIĆ RADOJICA
+LEMAJIĆ SLOBODAN
+LEMAJIĆ VLADIMIR
+LEMHE JELISAVETA
+LEMIĆ BOSA
+LEMIĆ DRAGINJA
+LEMIĆ LAZAR
+LEMIĆ MILENKO
+LEMIĆ NEBOJŠA
+LEMIĆ VLADIMIR
+LEN PIROŠKA
+LENČA ANDRIJA
+LENČA KATA
+LENĐEL ĐURO
+LENĐEL JOVAN
+LENĐEL JOVAN
+LENĐEL KAROLJ
+LENĐEL MIHAJLO
+LENARD ARPAD
+LENARD PETAR
+LENART KATICA
+LENARTIĆ ĐORĐE
+LENATOV DUŠAN
+LENDIĆ JOSIP
+LENDVAJI ANDRIJA
+LENDVAJI JOŽEF
+LENDVAJI LJILJANA
+LENER ANDRAŠ
+LENER DEŽE
+LENERT ANTAL
+LENERT PETAR DR DOCENT
+LENERT STEVAN
+LENHARD JANOŠ
+LENKEŠ JOVAN
+LENKEŠ LASLO
+LEOVAC MILIVOJE
+LEOVAC VUKADIN
+LEPČEVIĆ MILETA
+LEPŠANOVIĆ LAZAR DR LEKAR
+LEPŠIĆ DRAGICA
+LEPAR ŠANDOR
+LEPAR JELICA
+LEPAR LADISLAV
+LEPEŠ LADISLAV
+LEPEŠ TIBOR DR PROF
+LEPHAFT PAL
+LEPIR ANĐELKA
+LEPIR BOSILJKA
+LEPIR MILORAD
+LEPIR VELIMIR
+LEPOŠA RUDOLF
+LEPOJEV BRANKO
+LEPOJEV SAVA
+LEPOJEV VASILIJE
+LEPOJEVIĆ ŽIVORAD
+LEPOJEVIĆ STANKO
+LEPORIS JAN
+LEPOTIĆ ŽIVAN
+LEPOTIĆ MILENKO
+LEPOTIĆ NIKOLA
+LEPOVIĆ MIKA
+LEPUŠA ZDENKO
+LER IVAN
+LERIĆ ERŽEBET
+LERIK ANDRAŠ
+LERIK IŠTVAN
+LERIK MIKLOŠ
+LERINC ANIKO
+LERINC DRAGOSLAV
+LERINC JANOŠ
+LERINC KARLO
+LERINC KATALIN
+LERINC LASLO
+LERINC LASLO
+LERINC LEO
+LERINC LEO
+LERO BOŽIDAR
+LERO VLADIMIR
+LESKOVAC ĐORĐE
+LESKOVAC DRAGAN
+LESKOVAC LJUBICA
+LESKOVAC MILAN
+LESKOVAC MILAN
+LESKOVAC MILETA
+LESKOVAC MLADEN PROFESOR
+LESKOVAC RADOMIR
+LESKOVAC STANKA
+LESKOVAC VLADIMIR DR
+LESKOVAC VOJISLAV
+LETAJEV ALEKSANDAR
+LETAJEV ALEKSANDAR
+LETAJEV MIHAJLO
+LETAJEV VLADIMIR
+LETIĆ ČEDO
+LETIĆ ŽARKO
+LETIĆ ŽIVA
+LETIĆ ŽIVKO DIPL ING
+LETIĆ ĐOKO
+LETIĆ ĐORĐE
+LETIĆ ĐORĐE
+LETIĆ ĐORĐE
+LETIĆ ĐORĐE
+LETIĆ ĐORĐE
+LETIĆ ANICA
+LETIĆ ANICA
+LETIĆ ARIŠKO
+LETIĆ BOGDAN
+LETIĆ BORIVOJ
+LETIĆ BRANISLAV
+LETIĆ BRANISLAV
+LETIĆ BRANKA
+LETIĆ BRANKO
+LETIĆ DARINKA
+LETIĆ DRAGAN
+LETIĆ DRAGIŠA
+LETIĆ DRAGICA
+LETIĆ DUŠAN
+LETIĆ DUŠAN
+LETIĆ GAVRA
+LETIĆ GOJKO
+LETIĆ GORDANA DR
+LETIĆ IVAN
+LETIĆ JOVANKA
+LETIĆ JOVAN
+LETIĆ KOSTA
+LETIĆ LAZAR
+LETIĆ LAZAR
+LETIĆ LAZAR
+LETIĆ LJUBIŠA
+LETIĆ LJUBICA
+LETIĆ MARICA
+LETIĆ MARIJA
+LETIĆ MARIJA
+LETIĆ MARINKO
+LETIĆ MILAN
+LETIĆ MILAN
+LETIĆ MILAN
+LETIĆ MILAN
+LETIĆ MILICA
+LETIĆ MILICA
+LETIĆ MILICA
+LETIĆ MILORAD
+LETIĆ MILORAD
+LETIĆ MILORAD
+LETIĆ MILOVAN
+LETIĆ MIODRAG
+LETIĆ MIROSLAV
+LETIĆ MIROSLAV
+LETIĆ NENAD
+LETIĆ NEVENA
+LETIĆ OLGA
+LETIĆ OLGA
+LETIĆ OLGICA
+LETIĆ PERA
+LETIĆ RADA
+LETIĆ RADE
+LETIĆ RADMILA
+LETIĆ SAVA
+LETIĆ SAVA
+LETIĆ SIMKA
+LETIĆ SLOBODAN
+LETIĆ STEVAN
+LETIĆ STEVAN
+LETIĆ STEVAN
+LETIĆ STOJAN LEKAR
+LETIĆ SVETISLAV
+LETIĆ SVETOZAR
+LETIĆ TODOR
+LETIĆ VERA
+LETIĆ VESNA
+LETIĆ VIDA
+LETIĆ VLADIMIR
+LETIĆ VLADISLAVA
+LETIĆ ZDRAVKO
+LETIĆ ZORAN
+LETIĆ ZORAN
+LETIĆ ZORAN
+LETIĆ ZORKA
+LETICA IVANA
+LETICA MILAN
+LETICA TOMISLAV
+LETO RUŽICA
+LETONAI JANOŠ
+LETONAI LASLO
+LEVA ILINKA
+LEVAI GABOR
+LEVAI KATALIN
+LEVAI NANDOR
+LEVAI STEVAN
+LEVAJAC VERA
+LEVAKOV MARA
+LEVAKOV SLOBODAN
+LEVAKOV VOJISLAV
+LEVARSKI MIHAJLO
+LEVATIĆ MATIJA
+LEVATIĆ MILKA
+LEVATIĆ MILKICA
+LEVENSKI TADEJ
+LEVI GORAN
+LEVI LEON
+LEVI VIKTOR
+LEVIĆ LJUBINKO
+LEVNAJIĆ DRAGAN
+LEVNAJIĆ MILKA
+LEVNAJIĆ MOMČILO
+LEZEČEV SINIŠA
+LIČANIN DRAGAN
+LIČANIN MARIJA
+LIČANIN SLAVKO
+LIČEN HOTIMIR
+LIČEN JOSIP DIPL ING
+LIČEN LJUDMILA
+LIČINA ĐORĐE
+LIČINA BRANKICA
+LIČINA DANILO
+LIČINA DMITAR
+LIČINA DRAGO
+LIČINA DUŠAN
+LIČINA LUKA
+LIČINA MARIJA
+LIČINA MILANKA
+LIČINA MILAN
+LIČINA MILE
+LIČINA PREDRAG
+LIČINA RADE
+LIČINA VELIBOR
+LIČINA ZORAN
+LIČINAR DRAGAN
+LIČINAR NEDELJKO
+LIČINAR SLAVKO
+LIČINAR STANKO
+LIČINIĆ DUŠAN
+LIČINIĆ NADA
+LIŠČIĆ VELINKA
+LIŠIĆ ĐURĐINKA
+LIŠIĆ MARICA
+LIŠKOVIĆ MIROSLAV
+LIŠKOVIĆ MIROSLAV
+LIBER STEVAN
+LIBRIĆ IVAN
+LIBRIĆ IVAN
+LIBRIĆ MARIJAN
+LIDLOF PIROŠKA
+LIDLOF RUDOLF
+LIDLOF ZOLTAN
+LIHTENTAL ANTAL
+LIHTENTAL ELIZABETA
+LIHVARČEK ANDRIJA
+LIKAVEC JAROMIR
+LIKAVEC KARLO DIPL ING
+LIKIĆ BORISLAV
+LIKIĆ BUDISLAV
+LIKODRIĆ MILOVAN
+LILČEV DARINKA
+LILI VERA
+LILIĆ ĐORĐE
+LILIĆ ALEKSANDAR DIPL ING
+LILIĆ MARIJANA
+LILIĆ MILENA
+LILIĆ MIODRAG
+LILIĆ SRBISLAV
+LILIĆ TATJANA
+LILIĆ VELIMIR
+LIMANI ŠAĆIR
+LIMANI MEMIŠ
+LIMANI NAZIF
+LIMANOVIĆ NAZIF
+LIMANOVSKI IBRAHIM
+LIMANOVSKI MUSAFET
+LIMBOCKI PETAR
+LIMBURGER JOŽEF
+LINDEMAN JELENA
+LINDEMAN RUDOLF
+LINDNER MARGIT
+LINIĆ DRAGAN
+LINJAK DRAGOMIR
+LINKO KOLOMAN
+LIPAI KORNEL
+LIPANOVIĆ GOJKO
+LIPNIČKI ZORICA
+LIPOTIĆ PETAR
+LIPOVAC DUŠAN
+LIPOVAC MATIJA
+LISIČIN NADA
+LISIČIN TOMISLAV
+LISIĆ MARICA
+LISICA MIHAJLO
+LISICA MIHAJLO
+LISICA MILOŠ ADVOKAT
+LISOV KATICA
+LISOV MILIMIR
+LISOV MIRKO
+LISOVAC ZORAN
+LISUL ALEKSANDAR
+LISUL MILKA
+LISULOV OLGA
+LISULOV RATOMIR
+LISULOV ZORAN
+LITAVSKI VLADIMIR
+LITNER JOVAN
+LITRIČIĆ GAVRA
+LITRIČIN BOGDAN
+LITRIČIN GENA
+LITRIČIN-VEBER BOGDANKA
+LITRIČIN VELIMIR
+LITVJAK PAVLE
+LITVJAK VLADIMIR
+LIVADA MILAN
+LIVADA MILOŠ
+LIVAJA JOZO
+LIVAJA JURE
+LIZATOVIĆ BRANKO
+LJAČEVIĆ BOŽIDAR
+LJAJIĆ TAIP
+LJALJIĆ ĐORĐE
+LJATIFI KADRI
+LJAVROŠKA PAVEL
+LJAVROŠKA PAVEL
+LJEŠEVIĆ LJILJANA DR
+LJEŠEVIĆ MARIJA
+LJEŠNJAK MIROLJUB
+LJEŠNJAK MOMČILO
+LJELJAK MEHO
+LJEPOJEVIĆ STEVAN
+LJIKAR EVGENIJE
+LJIKAR MIHAJLO DIPL ING
+LJIKAR VERONA
+LJIKAR VLADIMIR LEKAR
+LJILJAK LJILJANA
+LJILJAK MILAN
+LJILJAK MILAN
+LJILJAK MILENKO
+LJILJAK MILORAD
+LJILJAK MIODRAG
+LJILJAK MIRKO
+LJILJAK MIROSLAV
+LJILJAK NADA
+LJILJAK NADEŽDA
+LJILJAK PAJO
+LJILJAK SAVA
+LJILJAK SLAVKO
+LJILJAK VLADIMIR
+LJILJAK VLADO
+LJUŠTINA ŽIVAN
+LJUŠTINA ĐORĐE
+LJUŠTINA JELENA
+LJUŠTINA LJUBICA
+LJUŠTINA MILAN
+LJUŠTINA MILAN
+LJUŠTINA MILOVAN
+LJUŠTINA NIKOLA
+LJUŠTINA OLGA
+LJUŠTINA SOFIJA
+LJUŠTINA VOJKA
+LJUŠTINOV NADA
+LJUBAŠČIK ANTON
+LJUBANIĆ MARA
+LJUBANOVIĆ MILENKO
+LJUBANOVIĆ RADISLAV
+LJUBENKOVIĆ MILOVAN
+LJUBENKOVIĆ PETAR
+LJUBENKOVIĆ PETAR
+LJUBIČIĆ ŽARKO
+LJUBIČIĆ ŽARKO
+LJUBIČIĆ ŽIVKA
+LJUBIČIĆ ĐURĐINKA
+LJUBIČIĆ BLAŽO
+LJUBIČIĆ BORISLAV
+LJUBIČIĆ DANKO
+LJUBIČIĆ DARA
+LJUBIČIĆ DRAGUTIN
+LJUBIČIĆ JOVICA
+LJUBIČIĆ LAZAR
+LJUBIČIĆ LUKA
+LJUBIČIĆ MARIJAN
+LJUBIČIĆ MARINA
+LJUBIČIĆ MIHAJLO
+LJUBIČIĆ MILOŠ LOKAL
+LJUBIČIĆ MILOŠ
+LJUBIČIĆ MIROSLAVA
+LJUBIČIĆ MIROSLAV
+LJUBIČIĆ NADA
+LJUBIČIĆ NADA
+LJUBIČIĆ NEVENKA
+LJUBIČIĆ NIKOLA
+LJUBIČIĆ PETAR
+LJUBIČIĆ PETAR
+LJUBIČIĆ RADOSLAV
+LJUBIČIĆ RADOSLAV
+LJUBIČIĆ RATKO
+LJUBIČIĆ RELJA
+LJUBIČIĆ RUDOLF
+LJUBIČIĆ SLOBODAN
+LJUBIČIĆ STANKO
+LJUBIČIĆ STEVAN
+LJUBIČIĆ SUZANA
+LJUBIČIĆ TALINKA
+LJUBIČIĆ VLADIMIR
+LJUBIČIĆ ZORA
+LJUBIŠEVIĆ MILOŠ
+LJUBIŠIĆ BRANISLAV
+LJUBIŠIĆ MILANKO
+LJUBIŠIĆ PETAR
+LJUBIŠIĆ SUZANA
+LJUBIĆ ANĐELKA
+LJUBIĆ ANDRIJA
+LJUBIĆ IVAN
+LJUBIĆ JELENA
+LJUBIĆ MIRJANA
+LJUBIĆ NATALIJA
+LJUBIĆ PERO
+LJUBIĆ RAJKO
+LJUBIBRATIĆ EDO
+LJUBIBRATIĆ LEO
+LJUBINAC MILANKA
+LJUBINKOVIĆ ALEKSANDRA
+LJUBINKOVIĆ BOGOLJUB
+LJUBINKOVIĆ LENKA
+LJUBINKOVIĆ MARIJA
+LJUBINKOVIĆ MILANKO
+LJUBINKOVIĆ MILAN
+LJUBINKOVIĆ MILORAD
+LJUBINKOVIĆ PAVLE
+LJUBINKOVIĆ SAVA
+LJUBINKOVIĆ STEVAN
+LJUBINKOVIĆ VELIMIR
+LJUBISAVLJEVIĆ DANICA
+LJUBISAVLJEVIĆ MIŠA
+LJUBISAVLJEVIĆ MILAN
+LJUBISAVLJEVIĆ MILICA
+LJUBOJA DRENKA
+LJUBOJA MLADEN
+LJUBOJA SILVIJA
+LJUBOJEV BILJANA
+LJUBOJEV IVAN
+LJUBOJEV JELENA
+LJUBOJEV LAZAR
+LJUBOJEV MAJA
+LJUBOJEV PETAR MR
+LJUBOJEV RAJKO
+LJUBOJEVIĆ ČEDOMIR
+LJUBOJEVIĆ ANĐELIJA
+LJUBOJEVIĆ BORISLAV
+LJUBOJEVIĆ BRANKO
+LJUBOJEVIĆ DESIMIR
+LJUBOJEVIĆ DRAGICA
+LJUBOJEVIĆ ILIJA
+LJUBOJEVIĆ JOVAN
+LJUBOJEVIĆ JULKA
+LJUBOJEVIĆ KATICA
+LJUBOJEVIĆ KOSTA
+LJUBOJEVIĆ MARKO
+LJUBOJEVIĆ MARKO
+LJUBOJEVIĆ MIHAJLO
+LJUBOJEVIĆ MILENA
+LJUBOJEVIĆ MILICA
+LJUBOJEVIĆ MIRKO
+LJUBOJEVIĆ OSTOJA
+LJUBOJEVIĆ PETAR
+LJUBOJEVIĆ RUŽA
+LJUBOJEVIĆ RUŽICA
+LJUBOJEVIĆ SLAVKO
+LJUBOJEVIĆ SLOBODAN
+LJUBOJEVIĆ STEVAN
+LJUBOJEVIĆ TODOR
+LJUBOJEVIĆ VELJKO
+LJUBOJEVIĆ VLADIMIR
+LJUBOJEVIĆ VLADIMIR
+LJUBOJEVIĆ VOJISLAV
+LJUBOTIN JELENA
+LJUBOTIN RADOSLAV
+LJUBOTINA-BRKIĆ RAJNA
+LJUBOVIĆ MARINKO
+LJUBUŠČIK PETAR
+LJUKOVČANIN MIRJANA
+LJUKOVČANIN ZORICA
+LJUMOŽEVSKI JELENA
+LJUMOŽEVSKI MARIJA
+LJUMOVIĆ DANICA
+LJUTIĆ STANIKA
+LJUTVI RADIVOJ
+LOČKI JELISAVETA
+LOŠIĆ MILORAD
+LOŠIĆ MILORAD
+LOŠIĆ MITRA
+LOŠONC HENRIJETE
+LOBODA ANTUN
+LOBODA STEVAN
+LOC ANDRAŠ
+LOC JOŽEF
+LOCI IŠTVAN
+LODI GABOR
+LODI JELISAVETA
+LODI LASLO
+LOGUNOV ALEKSEJ DIPL ING
+LOJANIČIĆ RADIVOJE
+LOJANICA BOŠKO
+LOJNA IVAN
+LOJOVIĆ BOŽICA
+LOJOVIĆ OSTOJA
+LOJOVIĆ RANKO
+LOJPUR MILOVAN
+LOKAS DARKO
+LOKIĆ DANICA
+LOKIĆ JELENA
+LOKIĆ LJUBICA
+LOKIĆ MILOVAN
+LOKIĆ VERA
+LOLIĆ BOŠKO
+LOLIĆ DOBRINKA
+LOLIĆ MARIJA
+LOLIĆ MILAN
+LOLIĆ NEDELJKO
+LOLIĆ SLAVKA
+LOLIĆ TODOR
+LOLIN DEJAN
+LOLIN ZORICA
+LOMEN ELENA
+LOMIĆ MOMIR
+LOMIĆ RADOVAN
+LOMIĆ SLOBODAN
+LOMJANSKI ADAM
+LOMJANSKI STEVAN
+LOMOVIĆ BRATISLAV MR OEC I IURE
+LOMOVIĆ MIHAINA
+LOMOVIĆ MIHAINA
+LOMPAR DRAGAN
+LOMPAR MITAR
+LOMPAR PETAR
+LOMPAR SAVA
+LONČAR ČEDOMIR
+LONČAR ĐURO
+LONČAR BOŠKO
+LONČAR BOŽIDAR
+LONČAR BOJANA
+LONČAR BORIS
+LONČAR BRANISLAV
+LONČAR DRAGAN
+LONČAR DUŠAN
+LONČAR DUŠAN
+LONČAR DUŠAN
+LONČAR DUŠAN
+LONČAR GOJKO
+LONČAR GORDANA
+LONČAR ILIJA
+LONČAR JELICA
+LONČAR JOVAN
+LONČAR KOSTA
+LONČAR KSENIJA
+LONČAR LJUBICA
+LONČAR LJUBICA
+LONČAR LJUBICA
+LONČAR MARKO
+LONČAR MIHAJLO
+LONČAR MILAN
+LONČAR MILAN
+LONČAR MILAN
+LONČAR MILAN
+LONČAR MILAN
+LONČAR MILAN
+LONČAR MILAN
+LONČAR MILAN
+LONČAR MILAN
+LONČAR MILAN
+LONČAR MILENKO
+LONČAR MILE
+LONČAR MILE
+LONČAR MILORAD
+LONČAR MIRKO
+LONČAR MIRKO
+LONČAR NEDELJKO
+LONČAR NEVENKA
+LONČAR NIKOLA
+LONČAR NIKOLA
+LONČAR PANTELIJA
+LONČAR PREDRAG
+LONČAR RADE
+LONČAR RADOMIR
+LONČAR RADOMIR
+LONČAR SIMO
+LONČAR SLAVKO
+LONČAR SLOBODAN
+LONČAR-SREMČEV VERICA
+LONČAR STEVO
+LONČAR TATJANA
+LONČAR VELIMIR
+LONČAR VERA
+LONČAR VLADA
+LONČAR VLADIMIRKA DR
+LONČAR VUKAŠIN
+LONČAR ZDRAVKO
+LONČAR ZORAN
+LONČAREVIĆ ŽIVOTA
+LONČAREVIĆ IGNJAT
+LONČAREVIĆ MILAN
+LONČAREVIĆ PUNIŠA
+LONČAREVIĆ RADOVAN
+LONČAREVIĆ VITOMIR
+LONČARIĆ RADMILA
+LONČARSKI DRAGANA
+LONČARSKI DRAGIŠA
+LONČARSKI PREDRAG
+LONČARSKI SAVA
+LONČARSKI SREDOJE
+LONČINA MILJA
+LONČINA PREDRAG
+LONCIĆ BERISLAVA
+LONCIĆ RAJKO
+LOPATIN NIKOLA
+LOPIČIĆ ŠPIRO
+LOPIČIĆ BRANKO
+LOPIČIĆ BRANKO
+LOPIČIĆ JELICA
+LOPIČIĆ JOVAN
+LOPIČIĆ MIODRAG
+LOPIČIĆ OLGA
+LOPIČIĆ VESELIN
+LOPUŠANSKI DUŠICA
+LOPUŠINA ALEKSANDAR
+LOPUŠINA JELICA
+LORBEK JOSIP
+LOREK JOVAN
+LORENCIN MILAN
+LOTINA DRAGAN
+LOTINA MIROSLAV
+LOTINA SMILJA
+LOVČEVIĆ DARINKA
+LOVČEVIĆ DRAGOSLAV
+LOVČEVIĆ MILIĆ
+LOVČEVIĆ TOMISLAV
+LOVČEVIĆ VOJISLAV
+LOVAŠ ROZALIJA
+LOVADINOV SVETOZAR
+LOVAS IVAN
+LOVIĆ KUZMAN
+LOVRE ČEDO
+LOVRE DRAGAN
+LOVRE LJILJANA
+LOVRE MILOŠ
+LOVRE SAVO
+LOVRE SLAVKO
+LOVRE STEVAN
+LOVREKOVIĆ TOMISLAV
+LOVREKOVIĆ ZLATKO
+LOVREN SLAVKO
+LOVRENČIĆ KATICA
+LOVRENOVIĆ MIROSLAVA
+LOVRENSKI DUŠAN
+LOVRENSKI DUŠAN
+LOVRIĆ ŽELJKO
+LOVRIĆ ŽELJKO
+LOVRIĆ ĐURA
+LOVRIĆ DIVNA
+LOVRIĆ MARKO
+LOVRIĆ NIKOLA
+LOVRIĆ PETAR
+LOVRIĆ RAJKO
+LOVRIĆ RATKO
+LOVRIĆ SLAVKO
+LOVRIĆ SLAVKO
+LOVRIĆ STEVAN
+LOVRIĆ STEVAN
+LOVRIĆ TATJANA
+LOVRIĆ TRIVUN
+LOVRIN DARA
+LOVRIN DRAGAN
+LOZANČIĆ NIKO
+LOZANIĆ IVAN DIPL ING
+LOZANIĆ-PAVLOVIĆ ĐURĐINKA
+LOZANOV EMIL
+LOZANOV SAVA
+LOZIĆ JOSIP
+LOZIĆ KRSTA
+LOZIĆ KSENIJA
+LOZIĆ MIODRAG DIPL ING
+LOZIĆ TOMISLAV
+LOZJANIN NIKOLA
+LOZJANIN NIKOLA
+LOZJANIN NIKOLA
+LOZOVOJ LJUBICA
+LUČAK ZLATICA
+LUČAR MILADIN
+LUČAR MILAN
+LUČAR VERA
+LUČI ANICA
+LUČI IVAN
+LUČIĆ ČEDOMIR
+LUČIĆ ŽIVKO
+LUČIĆ ĐOKO
+LUČIĆ ĐORĐE
+LUČIĆ ĐURĐINA
+LUČIĆ ALEKSANDAR DR
+LUČIĆ ALEKSANDRA
+LUČIĆ BRANKO
+LUČIĆ DRAGAN
+LUČIĆ DRAGICA
+LUČIĆ DRAGINJA
+LUČIĆ DRAGUTIN
+LUČIĆ GEORGIJE
+LUČIĆ JELENA
+LUČIĆ JELICA
+LUČIĆ JOVAN MR
+LUČIĆ JOVAN
+LUČIĆ JOVAN
+LUČIĆ JOVICA
+LUČIĆ LAZO
+LUČIĆ LJUBAN
+LUČIĆ LJUBOMIR
+LUČIĆ LJUBO
+LUČIĆ MIHAJLO
+LUČIĆ MILAN
+LUČIĆ MILENKO
+LUČIĆ MILENKO
+LUČIĆ MILICA
+LUČIĆ MILIVOJE
+LUČIĆ MILOŠ
+LUČIĆ MILOJICA
+LUČIĆ MILOJKA
+LUČIĆ MILOMIR
+LUČIĆ MILOSAVA
+LUČIĆ MILUTIN
+LUČIĆ MIODRAG
+LUČIĆ MIRJANA
+LUČIĆ MIROSLAVA
+LUČIĆ MOMČILO
+LUČIĆ MOMIR
+LUČIĆ NADA
+LUČIĆ OBRAD
+LUČIĆ PANTA
+LUČIĆ PAVA
+LUČIĆ PETAR
+LUČIĆ PETKO
+LUČIĆ PETKO
+LUČIĆ RAJKO
+LUČIĆ RISTO
+LUČIĆ SLAVKO
+LUČIĆ SLAVNA
+LUČIĆ SOFIJA
+LUČIĆ SPASOJE
+LUČIĆ STEFANIJA
+LUČIĆ STEVAN
+LUČIĆ VASO
+LUČIĆ VLADO
+LUČIĆ VOJIN
+LUČIĆ ZDRAVKO
+LUŠINOVSKI DIMITRIJE
+LUŽAIĆ ĐORĐE
+LUŽAIĆ ĐORĐE
+LUŽAIĆ ANKA
+LUŽAIĆ BOŽICA
+LUŽAIĆ DUŠKO
+LUŽAIĆ JADRANKA
+LUŽAIĆ JULKA
+LUŽAIĆ MIRA
+LUŽAIĆ VLADIMIR
+LUŽAIĆ VLADIMIR
+LUŽAJIĆ ANKA
+LUŽAJIĆ JADRANKA
+LUŽAJIĆ MILENA
+LUŽAJIĆ NADA
+LUŽAJIĆ STANKO
+LUŽAJIĆ STANKO
+LUŽAJIĆ STOJAN
+LUŽANIN SVETOZAR
+LUBAŠČIK ANTAL
+LUBAŠČIK LASLO
+LUBARDA LJUBICA
+LUBARDA STEVAN
+LUBEN RANKO
+LUBEN SAVA
+LUBURIĆ ČEDOMIR
+LUBURIĆ DANILO
+LUBURIĆ MILORAD
+LUBURIĆ MILORAD
+LUBURIĆ MILOVAN
+LUBURIĆ MIODRAG
+LUBURIĆ MIRKO
+LUBURIĆ NADA
+LUBURIĆ RADOMIR
+LUBURIĆ RAJKO
+LUBURIĆ STANA
+LUBURIĆ STEVAN
+LUC JANOŠ
+LUC JULIJA
+LUCIĆ ŽIVOJIN
+LUCIĆ ALEKSANDRA
+LUCIĆ PETAR
+LUCIĆ RADIVOJ
+LUCKARŽ VLADIMIR
+LUDAJIĆ DUŠAN DIPL ING
+LUDAJIĆ VERA
+LUDOŠKI ANĐELKO
+LUDOŠKI KATICA
+LUDOŠKI LAZAR
+LUDOŠKI LAZAR
+LUDOŠKI LJUBICA
+LUDOŠKI LJUBOMIR
+LUDOŠKI MILENKO
+LUDOŠKI VELIMIR
+LUDROVAN STEVA
+LUGONJA LAZO
+LUGONJA PETAR
+LUGONJA RADIVOJ
+LUGONJA SAVA
+LUGONJA SLOBODAN
+LUGONJA VELJKO
+LUGONJA VIDOJE
+LUGUMERSKI DANICA
+LUINOVIĆ MILAN
+LUJANOV DRAGOSLAV
+LUJINOVIĆ MILAN
+LUJNOVIĆ BRANKA
+LUKAČ ŠANDOR
+LUKAČ ANDRAŠ
+LUKAČ ANKICA
+LUKAČ ARANKA
+LUKAČ BOŠKO
+LUKAČ BOŠKO
+LUKAČ BOŽIDAR
+LUKAČ BRANISLAV
+LUKAČ DANILO
+LUKAČ DRAGAN
+LUKAČ DRAGOSLAV DR
+LUKAČ FERENC
+LUKAČ FRANCIŠKA
+LUKAČ FRANJA
+LUKAČ GROZDA
+LUKAČ IGNJAT
+LUKAČ IVAN
+LUKAČ LAZAR
+LUKAČ MIHAJLO
+LUKAČ MIHAJLO
+LUKAČ MIHAJLO
+LUKAČ MILEVA
+LUKAČ NADEŽDA
+LUKAČ PETAR
+LUKAČ PETAR
+LUKAČ RADE
+LUKAČ SAVA
+LUKAČ SLOBODANKA
+LUKAČ SLOBODAN
+LUKAČ STEVAN
+LUKAČ SVETKO
+LUKAČ VELIMIR
+LUKAČEVIĆ LJUBIŠA
+LUKAČI JELISAVETA
+LUKAČI JULIJANA
+LUKAJIĆ LAZAR MR
+LUKAN ĐORĐE
+LUKAN VINCENC
+LUKANIĆ FRIĐEŠ
+LUKANIĆ STEVAN
+LUKATELI IVANKA
+LUKAVAC SMILJKA
+LUKAVAC ZORAN
+LUKEŠEVIĆ DRAGAN
+LUKENIĆ LJILJANA
+LUKETA RADMILA
+LUKIČIĆ BOGDAN DIPL ING
+LUKIČIĆ KATICA
+LUKIČIĆ RADA
+LUKIČIĆ SLOBODAN
+LUKIČIĆ SLOBODAN
+LUKIĆ ŽIVORAD
+LUKIĆ ŽIVORAD
+LUKIĆ ŽIVOTA
+LUKIĆ ĐURA
+LUKIĆ ĐURO
+LUKIĆ ALEKSANDAR
+LUKIĆ ALEKSANDAR
+LUKIĆ ALEKSANDAR
+LUKIĆ ANGELINA
+LUKIĆ BERTA
+LUKIĆ BOŠKO
+LUKIĆ BOŽIDAR
+LUKIĆ BOGOLJUB
+LUKIĆ BORIVOJE
+LUKIĆ BORO
+LUKIĆ BOSILJKA
+LUKIĆ CVETA
+LUKIĆ CVJETKO
+LUKIĆ DANE
+LUKIĆ DANE
+LUKIĆ DARINKA
+LUKIĆ DIMITRIJE
+LUKIĆ DOBRILA
+LUKIĆ DOBROSAV
+LUKIĆ DRAGAN
+LUKIĆ DRAGA
+LUKIĆ DRAGOJE
+LUKIĆ DRAGOSLAVA
+LUKIĆ DUŠANKA
+LUKIĆ DUŠAN
+LUKIĆ DUŠAN
+LUKIĆ-FUDERER JOLANKA
+LUKIĆ GROZDA
+LUKIĆ GRUJICA DIPL ING
+LUKIĆ ILIJA
+LUKIĆ ILIJA
+LUKIĆ ILIJA
+LUKIĆ IVAN
+LUKIĆ IVAN
+LUKIĆ IVAN
+LUKIĆ JADRANKA
+LUKIĆ JASMINA
+LUKIĆ JELENA
+LUKIĆ JELENA
+LUKIĆ JELENA
+LUKIĆ JELICA
+LUKIĆ JOVANKA
+LUKIĆ JOVAN
+LUKIĆ JOVAN
+LUKIĆ JOVAN
+LUKIĆ JOVO
+LUKIĆ JOVO
+LUKIĆ JULKA
+LUKIĆ KATARINA
+LUKIĆ KOSTA
+LUKIĆ KOSTA
+LUKIĆ LAZAR
+LUKIĆ LJILJANA
+LUKIĆ LJUBA
+LUKIĆ LJUBIŠA DR LEKAR
+LUKIĆ LJUBICA
+LUKIĆ LJUBOMIR
+LUKIĆ MARA
+LUKIĆ MARIJA
+LUKIĆ MARKO
+LUKIĆ MARKO
+LUKIĆ MARKO
+LUKIĆ MIĆA
+LUKIĆ MILAN
+LUKIĆ MILAN
+LUKIĆ MILAN
+LUKIĆ MILAN
+LUKIĆ MILAN
+LUKIĆ MILAN
+LUKIĆ MILAN
+LUKIĆ MILE
+LUKIĆ MILIJA
+LUKIĆ MILKA
+LUKIĆ MILOŠ
+LUKIĆ MILORAD
+LUKIĆ MILORAD
+LUKIĆ MIODRAG
+LUKIĆ MIRJANA
+LUKIĆ MIRJANA
+LUKIĆ MIROSLAV
+LUKIĆ MIROSLAV
+LUKIĆ MOMČILO
+LUKIĆ NEVENA
+LUKIĆ NIKOLA
+LUKIĆ NIKOLA
+LUKIĆ NIKOLA
+LUKIĆ NOVKA
+LUKIĆ OBRAD
+LUKIĆ OLGA
+LUKIĆ OLGICA
+LUKIĆ PETAR
+LUKIĆ PETAR
+LUKIĆ PETAR
+LUKIĆ PETAR
+LUKIĆ RADOSAV
+LUKIĆ RADOSLAV
+LUKIĆ RADOVAN
+LUKIĆ RADOVAN
+LUKIĆ RAJKO
+LUKIĆ RISTO
+LUKIĆ RUŽA
+LUKIĆ RUŽA
+LUKIĆ SAVKA
+LUKIĆ SLOBODANKA
+LUKIĆ SLOBODAN
+LUKIĆ SLOBODAN
+LUKIĆ SLOBODAN
+LUKIĆ SLOBODAN
+LUKIĆ SOFIJA
+LUKIĆ SOFIJA
+LUKIĆ STANA
+LUKIĆ STANIŠA
+LUKIĆ STANISLAV
+LUKIĆ STEVAN
+LUKIĆ STEVAN
+LUKIĆ-STEVIĆ LJILJANA
+LUKIĆ STEVO
+LUKIĆ STOJANKA
+LUKIĆ STOJAN
+LUKIĆ SVETLANA
+LUKIĆ TAMARA
+LUKIĆ TOMISLAV
+LUKIĆ TOMISLAV
+LUKIĆ VELIBOR DR
+LUKIĆ VELIBOR DR
+LUKIĆ VELIMIR
+LUKIĆ VELJKO
+LUKIĆ VERA
+LUKIĆ VERICA
+LUKIĆ VERONA
+LUKIĆ VERONIKA
+LUKIĆ VESELIN
+LUKIĆ VIDOSAVA
+LUKIĆ VLADIMIR DIPL ING
+LUKIĆ VLADIMIR
+LUKIĆ VOJIN
+LUKIĆ VUKOSAV
+LUKIĆ VUK
+LUKIĆ ZORAN
+LUKIĆ ZORAN
+LUKIĆ ZORAN
+LUKIĆ ZORKA
+LUKO ŠANDOR
+LUKO ANDRAŠ
+LUKOVAC ANICA
+LUKOVAC DRAGAN
+LUKOVAC MILAN
+LUKOVAC MILOVAN
+LUKOVIĆ DUŠAN
+LUKOVIĆ IVAN
+LUKOVIĆ JOVAN
+LUKOVIĆ MILAN
+LUKOVIĆ MILORAD
+LUKOVIĆ MILORAD
+LUKOVIĆ MILUTIN
+LUKOVIĆ SLAVKO
+LUKOVIĆ SLOBODANKA
+LUKOVIĆ VLADIMIR
+LULIĆ ANA
+LULIĆ ANTUN
+LULIĆ FRANJA
+LULIĆ IVAN MR
+LULIĆ IVAN
+LULIĆ MAJA
+LULIĆ MARKO
+LUNG DRAGAN
+LUNG STEVAN
+LUNGINOVIĆ MARIJA
+LUNGULOV MILIVOJ
+LUPŠIĆ JULIJANA
+LUPŠIĆ KORNEL
+LUPŠIĆ KORNEL
+LUPŠOR STELA
+LUPINSKI NINOSLAV
+LUPINSKI VLADIMIR
+LUPUC JELICA
+LUPUROV LAZA
+LUPUROVIN NEVENKA
+LUTKIĆ ŽIVKA
+LUTKIĆ ĐORĐE
+LUTKIĆ ALEKSANDRA
+LUTKIĆ LAZAR
+LUTKIĆ MILORAD
+LUTKIĆ STANKO
+LUTKIĆ STEVAN
+LUTKIĆ ZAGORKA
+LUTROV NADA
+LUVRADOV BLAGOJE
+MAČEK JOVAN
+MAČKIĆ BRANKO
+MAČKIĆ DRAGICA
+MAČKIĆ JANKO
+MAČKIĆ JANKO
+MAČKIĆ MILENA
+MAČKIĆ MILENKO
+MAČKIĆ MILEVKA
+MAČKIĆ MILIVOJ
+MAČKIĆ MILJKA
+MAČKIĆ MILOŠ
+MAČKIĆ NEDELJKO
+MAČKIĆ NENAD
+MAČKIĆ PETRA
+MAČKIĆ STEVO
+MAČKIĆ VASO
+MAČKIĆ VLADIMIR
+MAČKOVIĆ MILANA
+MAČKOVIĆ MILAN
+MAČKOVIĆ TOMA
+MAČUKAT GRGO
+MAČVANIN BOJANA DR LEKAR
+MAŠA ERŽEBET
+MAŠA MIHAJLO
+MAŠA VLADIMIR
+MAŠANOVIĆ ĐORĐE DIPL ING
+MAŠANOVIĆ ĐORĐIJE
+MAŠANOVIĆ BLAŽO
+MAŠANOVIĆ BOSILJKA
+MAŠANOVIĆ BRANISLAV
+MAŠANOVIĆ DRAGO
+MAŠANOVIĆ NIKOLA
+MAŠANOVIĆ PETAR
+MAŠANOVIĆ PETAR
+MAŠANOVIĆ PETAR
+MAŠANOVIĆ ZORAN
+MAŠIĆ ŽARKO
+MAŠIĆ ŽIVAN
+MAŠIĆ BORIS
+MAŠIĆ DRAGAN
+MAŠIĆ DRAGIĆ
+MAŠIĆ IŠTVAN
+MAŠIĆ IMRE
+MAŠIĆ IVAN
+MAŠIĆ JOVAN
+MAŠIĆ KAROLJ
+MAŠIĆ MANDA
+MAŠIĆ MILAN DR
+MAŠIĆ MILINKO
+MAŠIĆ MILIVOJ
+MAŠIĆ MILJANA
+MAŠIĆ MILOJE
+MAŠIĆ MIRA
+MAŠIĆ MIRKO
+MAŠIĆ MIROSLAV
+MAŠIĆ NADA
+MAŠIĆ PETAR
+MAŠIĆ REŠAD
+MAŠIĆ SENKA
+MAŠIĆ SENKA
+MAŠIĆ SIMEON
+MAŠIĆ STEVAN
+MAŠIĆ TOMISLAV
+MAŠIĆ VERA
+MAŠIĆ VIKTOR
+MAŠIĆ VUČETA
+MAŠIREVIĆ GORDANA
+MAŠIREVIĆ STEVAN
+MAŠKOVIĆ NOVICA
+MAŠKOVIĆ ZORAN
+MAŠTRAPOVIĆ DRAGOLJUB
+MAŠULOVIĆ JASMINA
+MAŠULOVIĆ JOVANKA
+MAĆAŠ STEVAN
+MAĆAŠ VASA
+MAĆAŠEV ALEKSANDAR
+MAĆAŠEV BRANISLAV
+MAĆAŠEV DANILO
+MAĆAŠEVIĆ VLADIMIR
+MAĆEŠIĆ JOSIP
+MAĆEŠIĆ MIHAILO
+MAĆKO JOŽEF
+MAĆKO VILMOŠ
+MAŽIĆ ĐORĐE
+MAŽIĆ DRAGIŠA
+MAŽIĆ MIRA
+MAŽIĆ PETAR
+MAŽIĆ RUŽA
+MAŽIBRADA VASO
+MAŽIBRADA-VUGRIN MARTA DIPL ING
+MAĐAR BOŽIDAR
+MAĐAR ERŽEBET
+MAĐAR JOVAN
+MAĐAR JOVAN
+MAĐAR LADISLAV
+MAĐAR STEVAN
+MAĐAREVIĆ ALEKSANDAR
+MAĐAREVIĆ IVAN
+MAĐAREVIĆ KOSTA
+MAĐAREVIĆ MILE
+MAĐAREVIĆ MILOŠ
+MAĐAREVIĆ SPASOJE
+MAĐAREVIĆ ZORICA
+MAĐARI ANDOR
+MAĐISTOROV VLADIMIR
+MACAK PAVLE
+MACAK VLADIMIR
+MACANOVIĆ DUŠAN
+MACANOVIĆ JELENA
+MACANOVIĆ JEVROSIMA
+MACANOVIĆ JOVAN
+MACANOVIĆ MILOŠ
+MACANOVIĆ RATKO
+MACEDONIĆ BOGDAN DR
+MACEDONIĆ GORDANA
+MACEDONIĆ STANIMIR
+MACEDONIĆ VLADIMIR
+MACKO ĐURA
+MACKO ANA
+MACNER DAVOR
+MACURA ČEDO
+MACURA ĐORĐE
+MACURA DOBRINKA
+MACURA DRAGO
+MACURA LIDIJA
+MACURA MILOŠ
+MACURA MILORAD
+MACURA MIROSLAV
+MACURA PETAR
+MACURA TEODOR
+MACUT MILOŠ
+MADŽAR BORISLAV
+MADŽAR MILORAD
+MADŽAR MIRKO
+MADŽARAC ČEDOMIR
+MADŽARAC DUŠAN DIPL ING
+MADŽAREV DUŠAN
+MADŽAREV MILANKA
+MADŽAREVIĆ ŽIVORAD
+MADŽAREVIĆ ĐORĐE
+MADŽAREVIĆ BISERKA
+MADŽAREVIĆ MARKO
+MADŽAREVIĆ SAVA
+MADŽGALJ MILENKO
+MADŽGALJ SLOBODAN
+MADŽOVSKI SANDE
+MADAČI MARIJA
+MADACKI ANTAL
+MADACKI JAN
+MADACKI JOSIP
+MADACKI KARLO
+MADARAS ANDRAŠ
+MADARAS ARPAD
+MADARAS MAĆAŠ
+MADARAS MARIJA
+MADARAS ROZALIJA
+MADI ĐURICA
+MADI JOŽEF
+MADIĆ BOŽIDAR DIPL ING
+MADIĆ MARIJAN
+MADIĆ MILISAV
+MADONIĆ STJEPAN
+MADOV ILIJA
+MAGARAŠEVIĆ ANAMARIJA
+MAGARAŠEVIĆ BORIVOJ
+MAGARAŠEVIĆ KATARINA
+MAGARAŠEVIĆ MIRKO
+MAGARAŠEVIĆ NADA
+MAGDA KLARA
+MAGDALENIĆ VERJOV
+MAGDIĆ TOMISLAV
+MAGDU JON DIPL ING
+MAGDU LIA
+MAGDU RODIKA LEKAR
+MAGIĆ NIKOLA
+MAGLAJLIĆ SABRIJA
+MAGLIĆ JOVAN
+MAGLINSKI BORISLAV DIPL PRAVNIK
+MAGLOV ALEKSANDAR
+MAGLOV DRAGOLJUB
+MAGLOV DUŠAN
+MAGLOVSKI DUŠKO
+MAGLOVSKI JOSIP
+MAGLOVSKI MARGITA
+MAGLOVSKI MILICA
+MAGLOVSKI MIROSLAV
+MAGLOVSKI STEVAN
+MAGLOVSKI STEVAN
+MAGOČ FRANJA
+MAGOČ JULIJAN
+MAGOČ MIRONJ
+MAGOŠ ŠANDOR
+MAGOŠ JELISAVETA
+MAGOŠ JULIJANA
+MAGOŠ MARIJA
+MAGURA TOMA
+MAHĐIK ELENA
+MAHAČI JANOŠ
+MAHMUTI MAHMUT
+MAHMUTI ZUZANA
+MAHOVAC MILORAD
+MAICHER ĐORĐE
+MAJŠAI FERENC
+MAJŠAI KLARA
+MAJDANČEVIĆ MITAR
+MAJDANAC DRAGINJA
+MAJDANDŽIĆ JOZO
+MAJDANDŽIĆ PERICA
+MAJDANDŽIĆ PETAR
+MAJDEVAC ŽIVKO DR
+MAJDEVAC RADOVAN
+MAJER ŠANDOR
+MAJER EDUARD
+MAJER JANOŠ
+MAJER JOVAN
+MAJER KATICA
+MAJER MARIJA
+MAJER NIKOLA
+MAJER PETAR
+MAJER STEVAN
+MAJERSKI ŠTEFAN
+MAJETIĆ ANTON
+MAJETIĆ MARIJA
+MAJETIĆ NIKOLA
+MAJIĆ STEVAN
+MAJIĆ VESNA
+MAJIĆ ZORAN
+MAJIĆ ZORAN
+MAJIN EFIMIJA
+MAJIN MIODRAG
+MAJINSKI ZORA
+MAJKIĆ ALEKSANDRA
+MAJKIĆ BOGDAN
+MAJKIĆ BOGDAN
+MAJKIĆ DRAGAN
+MAJKIĆ ILIJA
+MAJKIĆ IVANKA
+MAJKIĆ JOCA
+MAJKIĆ MILAN
+MAJKIĆ MILAN
+MAJKIĆ MILAN
+MAJKIĆ MILAN
+MAJKIĆ MIROSLAV
+MAJKIĆ NIKOLA
+MAJKIĆ OBRAD
+MAJKIĆ RADE
+MAJKIĆ RADOJKA
+MAJKIĆ STOJANKA
+MAJKIĆ VELJKO
+MAJKIĆ VLADO
+MAJKIĆ ZDRAVKO
+MAJKIĆ ZORAN
+MAJKSNER ĐORĐE
+MAJOR ĐURA
+MAJOR ANA
+MAJOR FERENC DR ING
+MAJOR JOŽEF
+MAJOR JOŽEF
+MAJOR KAROLJ
+MAJOR KAROLJ
+MAJOR MARGITA
+MAJOR MARIJA
+MAJOR MARIJA
+MAJOR NANDOR
+MAJOR STEVAN
+MAJORČIK FRANJA
+MAJOROŠ BELA DR
+MAJOROŠ DEŽE
+MAJOROŠ JOVAN
+MAJOROŠ LAJOŠ
+MAJOROŠ STEVAN
+MAJOROŠ TEREZIJA
+MAJOROŠI-DEURA MARIJA
+MAJOROŠI IMRE
+MAJSKI JELICA
+MAJSKI JOVAN
+MAJSKI MILAN
+MAJSKI NIKOLA
+MAJSKI SLAVKO
+MAJSKI VESNA
+MAJSTORAC DRAGAN
+MAJSTORAC LJUBOMIR
+MAJSTORAC PETAR
+MAJSTORAC SAVO
+MAJSTOROV LJUBIŠA
+MAJSTOROV VLADIMIR
+MAJSTOROVIĆ ĐURAĐ
+MAJSTOROVIĆ ANĐA
+MAJSTOROVIĆ ANKA
+MAJSTOROVIĆ BOGDAN
+MAJSTOROVIĆ BORIVOJ
+MAJSTOROVIĆ BORIVOJ
+MAJSTOROVIĆ DARKO
+MAJSTOROVIĆ DRAGAN
+MAJSTOROVIĆ DRAGOMIR
+MAJSTOROVIĆ DUŠAN
+MAJSTOROVIĆ DUŠKO
+MAJSTOROVIĆ GORDANA
+MAJSTOROVIĆ KATICA
+MAJSTOROVIĆ-KOSTIĆ VESNA
+MAJSTOROVIĆ LJILJANA
+MAJSTOROVIĆ MILAN
+MAJSTOROVIĆ MILAN
+MAJSTOROVIĆ MILICA
+MAJSTOROVIĆ NEĐO
+MAJSTOROVIĆ NEBOJŠA
+MAJSTOROVIĆ NEVENKA
+MAJSTOROVIĆ NIKOLA
+MAJSTOROVIĆ PETAR
+MAJSTOROVIĆ RADOSLAV
+MAJSTOROVIĆ SAVKA
+MAJSTOROVIĆ SIMA
+MAJSTOROVIĆ SLOBODAN
+MAJSTOROVIĆ SVETLANA
+MAJSTOROVIĆ TEODOR
+MAJSTOROVIĆ UROŠ
+MAJSTOROVIĆ VASA
+MAJSTOROVIĆ VITOMIR
+MAJSTOROVIĆ VUKAŠIN
+MAJSTOROVIĆ VUKOSAVA
+MAJTAN ĐORĐE DIPL ING
+MAJTAN KARLO
+MAJTAN MIHAJLO
+MAJTAN PAVLE
+MAK ANDRIJA
+MAK JOSIPA
+MAK OSKAR
+MAKŠA ANA
+MAKŠA JOVAN
+MAKŠA KARLO
+MAKŠA PETAR
+MAKAJI JAKOV
+MAKAJI JANKO
+MAKAN JAN
+MAKANJIĆ BOJAN
+MAKANJIĆ MILISAV
+MAKARIĆ NADA
+MAKARIĆ STEVAN
+MAKARIĆ VIDA
+MAKARIĆ ZORAN
+MAKARIN ŽARKO
+MAKARIN ZVONIMIR DIPL ING
+MAKIŠ RUŽA
+MAKIŠ VLATKO
+MAKITAN JOVAN
+MAKIVIĆ MIHAJLO
+MAKIVIĆ MILOŠ
+MAKIVIĆ SAVA
+MAKIVIĆ STANISLAV
+MAKJI ZDENKA
+MAKLENOVIĆ RADA
+MAKLJENOVIĆ SRBOLJUB
+MAKLJENOVIĆ ZORAN
+MAKO ŠANDOR
+MAKO FRANJA
+MAKO JULIJANA
+MAKO MILENA
+MAKOH ANTON
+MAKRA ANA
+MAKRA IVAN
+MAKRA JOSIP
+MAKRA KATARINA
+MAKRIN MARGITA DR
+MAKRIN RUŽICA
+MAKSIĆ ŽIVANA
+MAKSIĆ ĐORĐE
+MAKSIĆ BILJANA
+MAKSIĆ BOŠKO
+MAKSIĆ BOŽIDAR
+MAKSIĆ DANICA
+MAKSIĆ DEJAN
+MAKSIĆ DMITAR
+MAKSIĆ DOBRIVOJE
+MAKSIĆ DRAGAN
+MAKSIĆ DRAGAN
+MAKSIĆ DRAGOMIR
+MAKSIĆ DUŠAN
+MAKSIĆ EDIT
+MAKSIĆ GAVRA
+MAKSIĆ JELICA
+MAKSIĆ JELICA
+MAKSIĆ JOVANKA
+MAKSIĆ JOVAN
+MAKSIĆ JOVAN
+MAKSIĆ LUKA
+MAKSIĆ MARIJANA
+MAKSIĆ MILANA
+MAKSIĆ MILICA
+MAKSIĆ MILICA
+MAKSIĆ MILORAD
+MAKSIĆ MILORAD
+MAKSIĆ NIKOLA
+MAKSIĆ RADOSLAV
+MAKSIĆ RATKO
+MAKSIĆ SAVA
+MAKSIĆ SLAVKO
+MAKSIĆ VOJIN
+MAKSIĆ ZORKA
+MAKSIMČEV ANĐELKO
+MAKSIMČEV STEVAN
+MAKSIMOV BRANISLAV
+MAKSIMOV LJUBOMIR
+MAKSIMOV SLOBODAN
+MAKSIMOV VERA
+MAKSIMOVIĆ ČEDOMIR
+MAKSIMOVIĆ ŽIVORAD
+MAKSIMOVIĆ ĐURICA
+MAKSIMOVIĆ ALEKSANDAR
+MAKSIMOVIĆ ALEKSANDAR
+MAKSIMOVIĆ ALEKSANDAR
+MAKSIMOVIĆ ANA
+MAKSIMOVIĆ ANKICA
+MAKSIMOVIĆ BOŠKO
+MAKSIMOVIĆ BORIVOJE
+MAKSIMOVIĆ BORIVOJ
+MAKSIMOVIĆ BRANISLAV
+MAKSIMOVIĆ BRANKA
+MAKSIMOVIĆ CVIJETIN
+MAKSIMOVIĆ DANICA
+MAKSIMOVIĆ DARKO
+MAKSIMOVIĆ DIMITRIJE
+MAKSIMOVIĆ DRAGAN
+MAKSIMOVIĆ DRAGAN
+MAKSIMOVIĆ DRAGAN
+MAKSIMOVIĆ DRAGIĆ
+MAKSIMOVIĆ DRAGOSLAV
+MAKSIMOVIĆ DUŠAN MR OEC
+MAKSIMOVIĆ DUŠAN
+MAKSIMOVIĆ DUŠAN
+MAKSIMOVIĆ DUŠAN
+MAKSIMOVIĆ IVANKA
+MAKSIMOVIĆ IVAN
+MAKSIMOVIĆ JAKOV
+MAKSIMOVIĆ JELISAVETA
+MAKSIMOVIĆ JOVAN
+MAKSIMOVIĆ JOVAN
+MAKSIMOVIĆ JOVAN
+MAKSIMOVIĆ KATARINA
+MAKSIMOVIĆ KATICA
+MAKSIMOVIĆ LAZAR
+MAKSIMOVIĆ LAZA
+MAKSIMOVIĆ LENKA
+MAKSIMOVIĆ LJUBIŠA
+MAKSIMOVIĆ LJUBIŠA
+MAKSIMOVIĆ LJUBICA
+MAKSIMOVIĆ LJUBICA
+MAKSIMOVIĆ LUKA
+MAKSIMOVIĆ MARKO
+MAKSIMOVIĆ MILAN DIPL ING
+MAKSIMOVIĆ MILANA
+MAKSIMOVIĆ MILAN
+MAKSIMOVIĆ MILENKO
+MAKSIMOVIĆ MILENKO
+MAKSIMOVIĆ MILINA
+MAKSIMOVIĆ MILORAD
+MAKSIMOVIĆ MILUTIN
+MAKSIMOVIĆ MIODRAG
+MAKSIMOVIĆ MIODRAG
+MAKSIMOVIĆ MIODRAG
+MAKSIMOVIĆ MIODRAG
+MAKSIMOVIĆ MIROSLAV
+MAKSIMOVIĆ MLADEN
+MAKSIMOVIĆ NADA
+MAKSIMOVIĆ NATALIJA
+MAKSIMOVIĆ NIKOLA
+MAKSIMOVIĆ NIKOLA
+MAKSIMOVIĆ PETAR
+MAKSIMOVIĆ PREDRAG
+MAKSIMOVIĆ RADMILA
+MAKSIMOVIĆ RADOVANKA
+MAKSIMOVIĆ RADO
+MAKSIMOVIĆ RANĐEL
+MAKSIMOVIĆ RISTO
+MAKSIMOVIĆ SAVA
+MAKSIMOVIĆ SAVO
+MAKSIMOVIĆ SLAVOLJUB
+MAKSIMOVIĆ SREĆKO
+MAKSIMOVIĆ STEVAN
+MAKSIMOVIĆ STEVAN
+MAKSIMOVIĆ STEVAN
+MAKSIMOVIĆ STEVICA
+MAKSIMOVIĆ SVETOMIR
+MAKSIMOVIĆ TIHOMIR
+MAKSIMOVIĆ TINKA
+MAKSIMOVIĆ TOMISLAV
+MAKSIMOVIĆ TOMISLAV
+MAKSIMOVIĆ VELIČKO
+MAKSIMOVIĆ VELIMIR
+MAKSIMOVIĆ VLADIMIR
+MAKSIMOVIĆ ZLATA
+MAKSIMOVIĆ ZORAN
+MAKSIMOVSKI ĐORĐE
+MAKSIMOVSKI VOJO
+MAKSIN SLAVKA
+MAKUH MIHAILO
+MAKUH MIHAJLO
+MAKUH VLADIMIR
+MALČIĆ ANDRIJA DIPL ING
+MALČIĆ ANDRIJA
+MALČIĆ JOŽEF
+MALČIĆ JULKA
+MALČIĆ NIKOLA
+MALAŠEVIĆ MILUTIN
+MALACKO JULIJAN
+MALACKO LJUBICA
+MALAENIĆ DRAGAN
+MALAVRAZIĆ JOVAN
+MALBAŠA BORISLAVA
+MALBAŠA DRAGOLJUB
+MALBAŠA DUŠANKA
+MALBAŠA JELKA
+MALBAŠA MILAN
+MALBAŠA MILE
+MALBAŠA VELJKO
+MALBAŠA ZDRAVKO
+MALBAŠIĆ BOŠKO
+MALBAŠIĆ DRAGAN
+MALBAŠIĆ JANKO
+MALBAŠIĆ MIĆO
+MALBAŠIĆ RUŽA
+MALBAŠKI DUŠAN
+MALBAŠKI-JANKOV ANĐA
+MALBAŠKI MARIJA
+MALBAŠKI MILINKA
+MALEŠ ANĐELKA
+MALEŠ BORA
+MALEŠ DMITAR
+MALEŠ JELENA
+MALEŠ JOVANKA
+MALEŠ KOSTA
+MALEŠ LJILJANA
+MALEŠ MARINKO
+MALEŠ NOVAK
+MALEŠ RADOMIR
+MALEŠ RUŽICA
+MALEŠ STANA
+MALEŠ SVETLANA
+MALEŠ VASO
+MALEŠ VOJISLAV
+MALEŠ ZORA
+MALEŠEV ŽIVKO
+MALEŠEV ŽIVOJIN
+MALEŠEV ĐORĐE
+MALEŠEV BOŠKO
+MALEŠEV BORISLAV
+MALEŠEV BRANKO
+MALEŠEV DAMJAN
+MALEŠEV DAMJAN
+MALEŠEV DIMITRIJE
+MALEŠEV DRAGANA
+MALEŠEV DRAGOLJUB
+MALEŠEV DRAGOLJUB
+MALEŠEV DUŠAN
+MALEŠEV JELICA
+MALEŠEV JOVAN
+MALEŠEV KOSANA
+MALEŠEV LAZAR
+MALEŠEV LJUBICA
+MALEŠEV LJUBINKO
+MALEŠEV LJUBOMIR
+MALEŠEV LUKA
+MALEŠEV MARIJA
+MALEŠEV MILENKO
+MALEŠEV MILEVA
+MALEŠEV MILJA
+MALEŠEV MILOŠ
+MALEŠEV MIODRAG
+MALEŠEV MIODRAG
+MALEŠEV MIROSLAV
+MALEŠEV MIROSLAV
+MALEŠEV PETAR
+MALEŠEV PETAR
+MALEŠEV PREDRAG
+MALEŠEV PREDRAG
+MALEŠEV PRIZRENKA
+MALEŠEV SLAVKO
+MALEŠEV TAMARA
+MALEŠEV VERA
+MALEŠEV VITOMIR
+MALEŠEVIĆ ŽIVAN
+MALEŠEVIĆ ŽIVKA
+MALEŠEVIĆ ĐUKA
+MALEŠEVIĆ ALEKSANDRA
+MALEŠEVIĆ DIMITRIJE
+MALEŠEVIĆ DRAGANA
+MALEŠEVIĆ DRAGAN
+MALEŠEVIĆ DUŠKO
+MALEŠEVIĆ GOJKO
+MALEŠEVIĆ IVAN
+MALEŠEVIĆ JOVAN
+MALEŠEVIĆ JOVAN
+MALEŠEVIĆ LAZAR
+MALEŠEVIĆ LJUBICA
+MALEŠEVIĆ MARIJA
+MALEŠEVIĆ MARKO
+MALEŠEVIĆ MILE
+MALEŠEVIĆ MILICA
+MALEŠEVIĆ MILOŠ
+MALEŠEVIĆ MIRKO
+MALEŠEVIĆ MIROSLAV
+MALEŠEVIĆ MLADEN
+MALEŠEVIĆ NADA
+MALEŠEVIĆ NEDELJKO
+MALEŠEVIĆ NIKICA
+MALEŠEVIĆ PETAR
+MALEŠEVIĆ PETAR
+MALEŠEVIĆ SAVKO LOKAL
+MALEŠEVIĆ SLOBODANKA DR
+MALEŠEVIĆ VASKRSIJE
+MALEŠEVIĆ VLADIMIR
+MALEŠEVIĆ VOJISLAVA
+MALECKI BLAŽ
+MALENČIĆ ĐORĐE
+MALENČIĆ GAVRILO
+MALENČIĆ MARIJA
+MALENČIĆ NIKOLA
+MALENČIĆ RODOLJUB
+MALENČIĆ RUŽICA
+MALENIĆ LAZAR
+MALENIĆ RUŽA
+MALENIĆ SIMA
+MALENIĆ TOMISLAV
+MALENICA ĐURO
+MALENICA ANTUN
+MALENICA DRAGO
+MALENICA IVAN
+MALENICA MARKO
+MALENKOVIĆ ĐORĐE
+MALENKOVIĆ MILOŠ DR
+MALENKOVIĆ VLADIMIR
+MALENOVIĆ MIROSLAV
+MALER KRIŠTOF
+MALERT VENDEL
+MALETAŠKI EVICA
+MALETIĆ-ŠREK MARIJA
+MALETIĆ-ŠREK MARIJA
+MALETIĆ ŽARKO
+MALETIĆ ŽIVANKA
+MALETIĆ ŽIVKO
+MALETIĆ ĐORĐE DIPL ING
+MALETIĆ ĐORĐE
+MALETIĆ ĐORĐE
+MALETIĆ BOSILJKA
+MALETIĆ DRAGOSLAV
+MALETIĆ DRAGO
+MALETIĆ JELICA
+MALETIĆ JOVANKA
+MALETIĆ JOVAN
+MALETIĆ LAURA
+MALETIĆ LAZAR
+MALETIĆ LAZAR
+MALETIĆ LUKA
+MALETIĆ MARICA
+MALETIĆ MILENKO
+MALETIĆ MILOMIR
+MALETIĆ MIODRAG
+MALETIĆ MIOMIR
+MALETIĆ NADA
+MALETIĆ NEDELJKO
+MALETIĆ NIKOLA
+MALETIĆ PAJA
+MALETIĆ RADIVOJ
+MALETIĆ RADOSLAV
+MALETIĆ RADOSLAV
+MALETIĆ SAVA
+MALETIĆ SAVO
+MALETIĆ SLAVICA
+MALETIĆ SLOBODANKA
+MALETIĆ SLOBODAN
+MALETIĆ SRBOLJUB
+MALETIĆ STEVAN
+MALETIĆ STEVAN
+MALETIĆ STEVAN
+MALETIĆ SVETOZAR
+MALETIĆ SVETOZAR
+MALETIĆ TAMARA
+MALETIĆ VEKOSLAV
+MALETIĆ VJERA
+MALETIĆ VJERA
+MALETIĆ ZLATKO
+MALETIN ČARNA DIPL ING
+MALETIN ŽIVKO
+MALETIN ĐORĐE
+MALETIN ĐORĐE
+MALETIN ĐURA
+MALETIN ĐURICA
+MALETIN ALEKSANDAR
+MALETIN BOŠKO
+MALETIN BOŽANA
+MALETIN DANICA
+MALETIN DARINKA
+MALETIN DRAGIŠA
+MALETIN DUŠAN
+MALETIN DUŠAN
+MALETIN GORAN
+MALETIN JANA
+MALETIN JELENA
+MALETIN JOVAN
+MALETIN JOVAN
+MALETIN JOVAN
+MALETIN LJUBOMIR
+MALETIN MARIJA
+MALETIN MARIJA
+MALETIN MILANKA
+MALETIN MILAN
+MALETIN MILAN
+MALETIN MILOŠ
+MALETIN MILOVAN
+MALETIN MIRKO
+MALETIN PAJA
+MALETIN PAVLE
+MALETIN RADA
+MALETIN RADIVOJE
+MALETIN RUŽICA
+MALETIN SLAVICA
+MALETIN SLAVKO
+MALETIN SPOMENKA
+MALETIN STEVAN
+MALETIN STEVAN
+MALETIN SVETOZAR
+MALETIN SVETOZAR
+MALETIN TIMA
+MALETIN TODOR
+MALETIN TODOR
+MALETIN VASA
+MALETIN VITOMIR
+MALETIN VOJISLAV
+MALETIN ZORA
+MALETIN ZORA
+MALEVIĆ VLADIMIR
+MALI ŽIVAN
+MALI ŽIVKO
+MALI DAMJAN
+MALI DRAGA
+MALI ELEONORA
+MALI GORAN
+MALI JOVAN
+MALI KRISTIFOR
+MALI LJUBICA
+MALI LJUBOMIR
+MALI MILOŠ
+MALI MIODRAG
+MALI SAVA
+MALI STANIMIR
+MALI VOJISLAV
+MALIČEVIĆ ĐORĐE
+MALIČEVIĆ RADIVOJE
+MALIČIĆ MILOŠ
+MALIČIĆ VOJISLAV
+MALIĆ ŽARKO
+MALIĆ BILJANA
+MALIĆ BOŽANA
+MALIĆ CVIJETIN
+MALIĆ MILAN
+MALIĆ MILENKO
+MALIĆ MITAR
+MALIĆ MLADEN
+MALIĆ NOVAK
+MALIĆ PREDRAG
+MALIĆ RADIVOJ
+MALIĆ RATKO
+MALIĆ SLAVKO
+MALIĆ SOFIJA
+MALIĆ STOJAN
+MALIĆ STOJA
+MALIĆ UROŠ
+MALIĆ VUKICA
+MALIDŽA ŽELJKO
+MALIDŽAN BLAŽO
+MALIKOVIĆ DUŠAN
+MALIN ĐURA
+MALIN ILIJA
+MALIN MILICA
+MALIN OLGA
+MALIN STANISLAV
+MALIN TATJANA
+MALINAR JELENA
+MALINIĆ SPASOJE
+MALINOVIĆ ANĐA
+MALINOVIĆ ANKICA
+MALINOVIĆ ANKICA
+MALINOVIĆ BOŽO
+MALINOVIĆ BOGDAN
+MALINOVIĆ BOGDAN
+MALINOVIĆ DANICA
+MALINOVIĆ DRAGAN
+MALINOVIĆ DRAGINJA
+MALINOVIĆ DRAGOLJUB
+MALINOVIĆ JOVO
+MALINOVIĆ MARINKO
+MALINOVIĆ NEDELJKO
+MALINOVIĆ NEDELJKO
+MALINOVIĆ SAVO
+MALINOVIĆ SINIŠA
+MALINOVIĆ SLAVICA
+MALINOVIĆ STEVAN
+MALINOVIĆ VELJKO
+MALIVUK BOŽANA
+MALIVUK DUŠAN
+MALIVUK MILAN
+MALIVUK NIKOLA
+MALIVUK PAVLE
+MALIVUK SVETISLAV
+MALJA MORINA
+MALJIK STEVA
+MALJKOVIĆ ĐURO
+MALJKOVIĆ BRANKO
+MALJKOVIĆ BRANKO
+MALJKOVIĆ-DŽUKLEVSKI ANA
+MALJKOVIĆ MARKO
+MALJKOVIĆ MILAN
+MALJKOVIĆ MILAN
+MALJKOVIĆ NEVENKA
+MALJKOVIĆ NIKOLA
+MALJKOVIĆ RANKA
+MALJKOVIĆ VERA
+MALKIĆ GORDAN
+MALKIĆ LJUBIŠA
+MALKIĆ STANA
+MALMER ANDRIJA
+MALMER ANDRIJA
+MALNAR DRAGUTIN
+MALNAR JOSIP
+MALOČIĆ MILAN
+MALOČIĆ MILORAD
+MALOBABIĆ LJUBAN
+MALOBABIĆ MARKO
+MALOBABIĆ MIROSLAV
+MALOBABIĆ NOVICA
+MALOBABIĆ RADE
+MALOGAJSKI BORISLAV
+MALOGAJSKI STEVAN
+MALOTIĆ SAVO
+MALOVAŠIĆ MARIJA
+MALOVIĆ BOGDAN
+MALOVIĆ RADMILA
+MALOVIĆ STANIŠA
+MALOVRAZIĆ GOJKO
+MALOVRAZIĆ GOJKO
+MALUCKOV BOGDAN
+MALUCKOV DANICA
+MALUCKOV JOVAN
+MALUCKOV MARIJA
+MALUCKOV MIODRAG DIPL ING
+MALUCKOV RADOVAN DR LEKAR
+MALUCKOV SLOBODAN
+MALUCKOV STEVAN
+MALUCKOV ZORKA
+MAMIĆ IVAN
+MAMIĆ JOZO
+MAMUŽIĆ IVAN DIPL ING
+MAMUŽIĆ IVAN
+MAMUŽIĆ IVAN
+MAMULA DUŠAN
+MAMULA MLADENKA
+MAMULA PAVLE
+MAMULA RUŽA
+MAMUTOVIĆ MILAN
+MAMUTOVIĆ MILAN
+MAMUTOVIĆ RADIVOJ
+MAMUZIĆ BOGDANKA
+MANČEV NIKOLA
+MANČEVSKI KATA
+MANČEVSKI STEVAN
+MANČIĆ ARANKA
+MANČIĆ DRAGAN DR
+MANČIĆ KATA
+MANČIĆ NIKOLA
+MANČIĆ SAŠA
+MANČIĆ SLOBODAN
+MANČIĆ SVETOZAR
+MANČU ĐORĐE
+MANČU DRAGINJA
+MANČU DUŠAN
+MANČU MILAN
+MANČU MILAN
+MANČU MILOŠ
+MANČU MILOŠ
+MANČU NENAD
+MANČU STEVAN
+MANČU SVETOZAR
+MANČU VIKTOR
+MANASIJEVIĆ GERASIM
+MANASTIRAC DAMJAN
+MANASTIRAC LJUBIŠA
+MANC STEVAN
+MANCEDER ĐURA
+MANDŽUKIĆ MIODRAG
+MANDŽUKOVIĆ VELIMIR
+MANDARIN NATAŠA
+MANDEK FILIP
+MANDELC LJUBICA
+MANDIĆ ČAVA
+MANDIĆ ŽIVKO
+MANDIĆ ĐORĐE
+MANDIĆ ĐORĐE
+MANDIĆ ĐURA
+MANDIĆ ĐURICA
+MANDIĆ ALEKSANDAR DIPL ING
+MANDIĆ ALEKSANDAR
+MANDIĆ BOŠKO
+MANDIĆ BOGDAN
+MANDIĆ BORISLAVA
+MANDIĆ BORISLAV
+MANDIĆ BRANISLAV
+MANDIĆ CVIJETA
+MANDIĆ DANICA
+MANDIĆ DARA
+MANDIĆ DELFINA
+MANDIĆ DENEŠ
+MANDIĆ DOBRILA
+MANDIĆ DRAGANA
+MANDIĆ DRAGAN
+MANDIĆ DRAGOSLAV
+MANDIĆ DRAGO
+MANDIĆ DRAGO
+MANDIĆ DRAGUTIN
+MANDIĆ DUŠANKA
+MANDIĆ DUŠANKA
+MANDIĆ DUŠANKA
+MANDIĆ DUŠAN
+MANDIĆ FRANJA
+MANDIĆ IGNJAT
+MANDIĆ IVANKA
+MANDIĆ IVKA
+MANDIĆ JOVANKA
+MANDIĆ-JOVANOVIĆ VINKA
+MANDIĆ JOVO
+MANDIĆ JOVO
+MANDIĆ KATICA
+MANDIĆ KOSTA
+MANDIĆ KSENIJA
+MANDIĆ LJILJANA
+MANDIĆ LJUBICA
+MANDIĆ LJUBOMIR
+MANDIĆ MANE
+MANDIĆ MANE
+MANDIĆ MARA
+MANDIĆ MARGITA
+MANDIĆ MARIJA
+MANDIĆ MARIJA
+MANDIĆ MARIJA
+MANDIĆ MIKA
+MANDIĆ MILADIJA
+MANDIĆ MILAN DIPL ING
+MANDIĆ MILAN
+MANDIĆ MILENA
+MANDIĆ MILE
+MANDIĆ MILE
+MANDIĆ MILE
+MANDIĆ MILE
+MANDIĆ MILOJE
+MANDIĆ MILOJKO DR LEKAR
+MANDIĆ MILORAD
+MANDIĆ MILORAD
+MANDIĆ MIODRAG
+MANDIĆ MIROSLAV
+MANDIĆ NADA
+MANDIĆ NADA
+MANDIĆ NEĐO
+MANDIĆ NEĐO
+MANDIĆ NEDELJKO DIPL PRAVNIK
+MANDIĆ NIKOLA
+MANDIĆ NIKOLA
+MANDIĆ NOVKA
+MANDIĆ PANE
+MANDIĆ PERA
+MANDIĆ PETAR
+MANDIĆ RADENKO
+MANDIĆ RADIVOJE
+MANDIĆ RADMILA
+MANDIĆ RADMILA
+MANDIĆ RADOJKA
+MANDIĆ RADOMIR
+MANDIĆ RADOVAN
+MANDIĆ RADOVAN
+MANDIĆ RAJA
+MANDIĆ SINIŠA
+MANDIĆ SLAVKA
+MANDIĆ SLAVKO
+MANDIĆ SLOBODAN
+MANDIĆ SLOBODAN
+MANDIĆ SNEŽANA
+MANDIĆ SRETEN
+MANDIĆ SRETEN
+MANDIĆ SRETO
+MANDIĆ STEVAN
+MANDIĆ SVETKO
+MANDIĆ SVETLANA
+MANDIĆ TEREZIJA
+MANDIĆ TIBOR
+MANDIĆ TOMISLAV
+MANDIĆ TOMISLAV
+MANDIĆ UROŠ DIPL OEC
+MANDIĆ VASILIJE
+MANDIĆ VELIZAR
+MANDIĆ VERA
+MANDIĆ VIOLETA
+MANDIĆ ZLATICA
+MANDIĆ ZORAN
+MANDIĆ ZORAN
+MANDIĆ ZORICA
+MANDIĆ ZORKA
+MANDIĆ ZORKA
+MANDIĆ ZORKA
+MANDIĆ ZVONIMIR
+MANDRAPA ĐURO
+MANDRINO SANKA
+MANESKI BLAGOJA
+MANEVSKI BRANISLAV
+MANEVSKI DUŠAN
+MANEVSKI RADOSLAV
+MANEVSKI TRAJKO DR
+MANEVSKI VERA
+MANG BRANKO
+MANGER JOSIP
+MANHAJM JOŽEF
+MANIĆ ANKICA
+MANIĆ BLANKA
+MANIĆ BOŽIDAR
+MANIĆ BRANISLAV
+MANIĆ BRANKO
+MANIĆ BRANKO
+MANIĆ DANILO
+MANIĆ DRAGIŠA
+MANIĆ MILOJE
+MANIĆ MILOJE
+MANIĆ MILORAD
+MANIĆ SEVER DIPL PH
+MANIĆ SVETOMIR
+MANIN ĐORĐE
+MANJA SREDOJE
+MANJA ZDRAVKO
+MANJAK DRAGO
+MANJENČIĆ SLOBODAN
+MANJULOV LUKA
+MANOJLOV IRENA
+MANOJLOV IVAN
+MANOJLOV JOVANKA
+MANOJLOVIĆ ČEDOMIR
+MANOJLOVIĆ ČEDO
+MANOJLOVIĆ ŽARKO
+MANOJLOVIĆ ŽIVKO
+MANOJLOVIĆ ĐORĐE
+MANOJLOVIĆ ALEKSANDAR
+MANOJLOVIĆ ALEKSANDAR
+MANOJLOVIĆ ALEKSA
+MANOJLOVIĆ ANGELINA
+MANOJLOVIĆ BILJANA
+MANOJLOVIĆ BOSILJKA
+MANOJLOVIĆ BRANISLAV
+MANOJLOVIĆ DARINKA
+MANOJLOVIĆ DESANKA
+MANOJLOVIĆ DOBRILA
+MANOJLOVIĆ DRAGANA
+MANOJLOVIĆ DRAGICA
+MANOJLOVIĆ DUŠAN
+MANOJLOVIĆ DUŠAN
+MANOJLOVIĆ GRUJICA
+MANOJLOVIĆ ILIJA
+MANOJLOVIĆ JELENA
+MANOJLOVIĆ JOVAN
+MANOJLOVIĆ KATARINA
+MANOJLOVIĆ KOVILJKO
+MANOJLOVIĆ LAZAR
+MANOJLOVIĆ LAZAR
+MANOJLOVIĆ LAZAR
+MANOJLOVIĆ LJUBICA
+MANOJLOVIĆ LJUBICA
+MANOJLOVIĆ LJUBOMIR
+MANOJLOVIĆ MAJA
+MANOJLOVIĆ MANOJLO
+MANOJLOVIĆ MANOJLO
+MANOJLOVIĆ MARIJA
+MANOJLOVIĆ MILAN
+MANOJLOVIĆ MILAN
+MANOJLOVIĆ MILAN
+MANOJLOVIĆ MILENKO
+MANOJLOVIĆ MILOŠ
+MANOJLOVIĆ MILOŠ
+MANOJLOVIĆ MILOŠ
+MANOJLOVIĆ MILORAD
+MANOJLOVIĆ MILORAD
+MANOJLOVIĆ MIODRAG
+MANOJLOVIĆ MIODRAG
+MANOJLOVIĆ MIRJANA
+MANOJLOVIĆ MIRKO DIPL ING
+MANOJLOVIĆ MIRKO
+MANOJLOVIĆ MIROSLAV
+MANOJLOVIĆ MOMČILO
+MANOJLOVIĆ MOMČILO
+MANOJLOVIĆ MOMČILO
+MANOJLOVIĆ NENAD
+MANOJLOVIĆ NIKOLA
+MANOJLOVIĆ PETAR
+MANOJLOVIĆ PETAR
+MANOJLOVIĆ RADIVOJ
+MANOJLOVIĆ RATKO
+MANOJLOVIĆ SAVA
+MANOJLOVIĆ SAVO
+MANOJLOVIĆ SLAVICA
+MANOJLOVIĆ SLOBODAN
+MANOJLOVIĆ STANIŠA DR PROF
+MANOJLOVIĆ STANKO
+MANOJLOVIĆ STEVAN
+MANOJLOVIĆ STEVAN
+MANOJLOVIĆ SVETOZAR
+MANOJLOVIĆ TOŠA
+MANOJLOVIĆ VANDA
+MANOJLOVIĆ VELISLAV
+MANOJLOVIĆ VERA
+MANOJLOVIĆ ZORAN
+MANOJLOVIĆ ZORAN
+MANOJLOVIĆ ZORAN
+MANOJLOVIĆ ZORICA
+MANOJLOVIĆ ZVONKO
+MANUKOV OLGA
+MANUKOV TODOR
+MAODUŠ ANA
+MAODUŠ DANICA
+MAODUŠ JOVO
+MAODUŠ MIODRAG
+MAODUŠ NIKOLA
+MAODUŠ PREDRAG
+MAR EDVARD
+MARČAK MIHAJLO
+MARČEK MILAN
+MARČETA ĐURA
+MARČETA BRANKO
+MARČETA DRAGICA
+MARČETA DRAGICA
+MARČETA LAZAR
+MARČETA MILAN
+MARČETA RAJKO
+MARČETA SLOBODAN
+MARČETA STEVA
+MARČETA VELIMIR
+MARČETA ZORA
+MARČETIĆ CVETA
+MARČETIĆ DRAGO
+MARČETIĆ MARKO
+MARČETIĆ MILAN
+MARČETIĆ MILAN
+MARČETIĆ MILAN
+MARČETIĆ NIKOLA
+MARČETIĆ OBRENIJA
+MARČETIĆ OLBINA
+MARČETIĆ PERICA
+MARČETIĆ PETAR
+MARČETIĆ PETAR
+MARČETIN RADE
+MARČIĆ ŽIVAN
+MARČIĆ ĐORĐE
+MARČIĆ ALEKSANDAR
+MARČIĆ BOŽANA
+MARČIĆ JELENA
+MARČIĆ MARIJA
+MARČIĆ MILENKO
+MARČIĆ STEVAN
+MARČIĆ STEVAN
+MARČIĆ STEVAN
+MARČIĆEV MARIJA
+MARČIĆEV MERIMA
+MARČINKO MILAN
+MARČOK ANICA
+MARČOK IŠTVAN
+MARČOK ISIDORA
+MARČOK LIDIJA
+MARČOK MIHAJLO
+MARČOK MIHAJLO
+MARČOK VERA
+MARČOK ZUZANA
+MARČUK SAŠA
+MARČUK STEVAN
+MARŽIĆ ANICA
+MARĐELOŠKI STANUŠA
+MARAŠ JOVAN
+MARAŠ MIROJE
+MARAŠ SLOBODAN
+MARAŠ VOJIN
+MARACI MIHALJ
+MARAKOVIĆ NEVENA
+MARAMICA JELENA
+MARAMICA MIROSLAV
+MARAN DRAGIŠA
+MARAN MILORAD
+MARAS FILIP
+MARAS JOSIP
+MARAUC ZVONIMIR
+MARAVIĆ ĐURO
+MARAVIĆ ĐURO
+MARAVIĆ ĐURO
+MARAVIĆ BRANISLAV
+MARAVIĆ DMITAR
+MARAVIĆ DRAGICA
+MARAVIĆ LAZO
+MARAVIĆ MARKO
+MARAVIĆ MIHAJLO
+MARAVIĆ MILAN
+MARAVIĆ MILENA
+MARAVIĆ MILOŠ
+MARAVIĆ NIKOLA
+MARAVIĆ SAVA
+MARAVIĆ SLAVICA
+MARAVIĆ VLADA
+MARCEKIĆ DOBRINKA
+MARCIKIĆ ŽIVANA
+MARCIKIĆ BOGDAN
+MARCIKIĆ DRAGICA
+MARCIKIĆ EMIL
+MARCIKIĆ GIGA DR
+MARCIKIĆ KONSTANTIN
+MARCIKIĆ LJILJANA
+MARCIKIĆ LJUBINKA
+MARCIKIĆ MARICA
+MARCIKIĆ MILENA
+MARCIKIĆ SOFIJA
+MARCIKIĆ STEVAN
+MARCIKIĆ STEVAN
+MARCIKIĆ VERA
+MARDEŠIĆ ŠIME
+MAREŠ BOŽO
+MAREŠ TRIFUN
+MAREŠČUK PETAR
+MARELJ ŽIVAN
+MARELJ MIROSLAV
+MARELJ SELENA
+MARELJ VELISLAV
+MARELJ ZLATA
+MARELJEV JELENA
+MARETIĆ MARKO DIPL OEC
+MARETIĆ STEVO
+MARETIĆ VLADA
+MARETIĆ VLADA
+MARETIĆ VLADA
+MAREVIĆ ANTE
+MARFI SMILJKA
+MARGANOVIĆ DRAGICA
+MARGANOVIĆ DUŠAN DR
+MARGANOVIĆ GEORGINA
+MARGANZ VIKTOR
+MARGETA ANICA
+MARGETA MARIJA
+MARGETIĆ ŽIŽA
+MARGETIĆ ELVIRA
+MARGIT JULIJANA
+MARGIT VERA
+MARGUŠIĆ ANDRIJA
+MARHOŠEVIĆ MUJO
+MARIČEVIĆ KATICA
+MARIČEVIĆ RISTA
+MARIČIĆ ANDRIJA
+MARIČIĆ BRANKO
+MARIČIĆ BRATOLJUB
+MARIČIĆ GOJKO
+MARIČIĆ ILIJA
+MARIČIĆ IVICA
+MARIČIĆ MARA
+MARIČIĆ MILAN
+MARIČIĆ MILORAD
+MARIČIĆ MIRA
+MARIČIĆ NEDELJKO
+MARIČIĆ NIKOLA
+MARIČIĆ NIKOLA
+MARIČIĆ PAVLE
+MARIČIĆ STEVAN
+MARIČIĆ STEVAN
+MARIČIĆ VOJISLAV
+MARIČIN NENAD
+MARIŠAN VLADIMIR
+MARIĆ ŽARKO
+MARIĆ ŽARKO
+MARIĆ ŽIKA
+MARIĆ ŽIVANA
+MARIĆ ŽIVKO
+MARIĆ ĐORĐE
+MARIĆ ĐURO
+MARIĆ ADAM DR
+MARIĆ ALEKSANDAR
+MARIĆ ANĐELKO
+MARIĆ ANĐELKO
+MARIĆ ANKA
+MARIĆ ANKA
+MARIĆ ANKICA
+MARIĆ BOŠKO
+MARIĆ BOŠKO
+MARIĆ BOŽICA
+MARIĆ BOŽIDAR
+MARIĆ BOGOLJUB
+MARIĆ BOJADIMIR
+MARIĆ BORIVOJ
+MARIĆ BOSILJKA
+MARIĆ BRANISLAV DIPL ING
+MARIĆ BRANKO
+MARIĆ BRANKO
+MARIĆ BRANO
+MARIĆ CVIJO
+MARIĆ DANICA
+MARIĆ DARINKA
+MARIĆ DAVID
+MARIĆ DRAGANA
+MARIĆ DRAGAN
+MARIĆ DRAGAN
+MARIĆ DRAGAN
+MARIĆ DRAGAN
+MARIĆ DRAGAN
+MARIĆ DRAGAN
+MARIĆ DRAGICA
+MARIĆ DRAGOLJUB
+MARIĆ DUŠANKA
+MARIĆ DUŠAN
+MARIĆ DUŠAN
+MARIĆ DUŠAN
+MARIĆ DUŠAN
+MARIĆ DUŠAN
+MARIĆ DUŠICA
+MARIĆ ERŽEBET
+MARIĆ GOJKO
+MARIĆ GOJKO
+MARIĆ GRUJICA DR
+MARIĆ ILE
+MARIĆ ILIJA
+MARIĆ ILIJA
+MARIĆ ILINKA
+MARIĆ IVO
+MARIĆ JADRANKA
+MARIĆ JELICA
+MARIĆ JOCA
+MARIĆ JOLANKA
+MARIĆ JOVANKA
+MARIĆ JOVAN
+MARIĆ JOVAN
+MARIĆ JOVAN
+MARIĆ JOVAN
+MARIĆ JOVAN
+MARIĆ JOVO
+MARIĆ JOVO
+MARIĆ JULIJANA
+MARIĆ KADIVKA
+MARIĆ KATICA
+MARIĆ KATICA
+MARIĆ KOSTA
+MARIĆ LAZAR
+MARIĆ LJEPOSAVA
+MARIĆ LJUBA
+MARIĆ LJUBICA
+MARIĆ LJUBOMIR
+MARIĆ LJUBOMIR
+MARIĆ LJUBOMIR
+MARIĆ LJUPKO
+MARIĆ LUKA
+MARIĆ MARA
+MARIĆ MARIJA
+MARIĆ MARIJA
+MARIĆ MARIJA
+MARIĆ MARKO
+MARIĆ MARKO
+MARIĆ MIĆA DIPL ING
+MARIĆ MIHAJLO
+MARIĆ MILAN DIPL ING
+MARIĆ MILAN DR
+MARIĆ MILANA
+MARIĆ MILANKA
+MARIĆ MILAN
+MARIĆ MILAN
+MARIĆ MILAN
+MARIĆ MILAN
+MARIĆ MILAN
+MARIĆ MILAN
+MARIĆ MILAN
+MARIĆ MILAN
+MARIĆ MILAN
+MARIĆ MILE DIPL OEC
+MARIĆ MILENA
+MARIĆ MILENA
+MARIĆ MILENKO
+MARIĆ MILENKO
+MARIĆ MILENKO
+MARIĆ MILISAV
+MARIĆ MILOŠ
+MARIĆ MILOŠ
+MARIĆ MILORAD
+MARIĆ MILORAD
+MARIĆ MILOSAV
+MARIĆ MILUN
+MARIĆ MILUTIN
+MARIĆ MIRKO
+MARIĆ MIRKO
+MARIĆ MIRKO
+MARIĆ MIRKO
+MARIĆ MIROLJUB
+MARIĆ MITAR
+MARIĆ MITAR
+MARIĆ-MITROVIĆ MARIJA
+MARIĆ MOMČILO
+MARIĆ NEBOJŠA
+MARIĆ NEDELJKO
+MARIĆ NEVENKA
+MARIĆ NIKOLA
+MARIĆ NIKOLA
+MARIĆ NOVAK
+MARIĆ NOVAK
+MARIĆ OSTOJA
+MARIĆ PAVLE
+MARIĆ PETAR
+MARIĆ PETAR
+MARIĆ PRVOSLAV
+MARIĆ RADIVOJ
+MARIĆ RADMILA
+MARIĆ RADMILA
+MARIĆ RADMILA
+MARIĆ RADOMIR DR
+MARIĆ RADOSAV
+MARIĆ RADOSLAVA
+MARIĆ RADOVANKA
+MARIĆ RADOVAN
+MARIĆ RADOVAN
+MARIĆ RAJKO
+MARIĆ SAVA
+MARIĆ SINIŠA
+MARIĆ SLAVICA
+MARIĆ SLAVKO
+MARIĆ SLAVKO
+MARIĆ SLOBODAN
+MARIĆ SLOBODAN
+MARIĆ SRETEN DR PROF
+MARIĆ STANISLAV
+MARIĆ STANISLAV
+MARIĆ STEVAN
+MARIĆ STEVAN
+MARIĆ STEVAN
+MARIĆ STEVAN
+MARIĆ STEVAN
+MARIĆ STEVKA
+MARIĆ STEVO
+MARIĆ STOJANKA
+MARIĆ SVETISLAV PROFESOR
+MARIĆ SVETISLAV
+MARIĆ TAMARA DIPL ING
+MARIĆ UROŠ
+MARIĆ VASKA
+MARIĆ VASO
+MARIĆ VERA
+MARIĆ VID
+MARIĆ VLADISLAV
+MARIĆ VOJISLAV DR PROF
+MARIĆ VUKADIN
+MARIĆ ZORANKA
+MARIĆ ZORAN
+MARIĆ ZORAN
+MARIĆEVIĆ ZORAN
+MARIAŠ JOŽEF
+MARIAŠ MARIJA
+MARIJAŠ JOVAN
+MARIJAŠ MARIJA
+MARIJAŠ MARIJA
+MARIJAŠ MARIJA
+MARIJAŠ MIHALJ
+MARIJAŠ STEVAN
+MARIJAŠ ZDENKA
+MARIJAN ŽELJKO
+MARIJAN BRANISLAVA
+MARIJANAC STOJA
+MARIJANOVIĆ RADOJKA
+MARIJANOVIĆ SVETOZAR
+MARIJANSKI ĐORĐE
+MARIJANSKI ĐORĐE
+MARIJANSKI ALEKSANDAR
+MARIJANSKI MILOŠ
+MARIJANSKI STEVAN
+MARIJANSKI VESNA
+MARIN MILAN
+MARIN MILIVOJ
+MARIN MLADEN
+MARIN NATALIJA
+MARIN NIKOLA
+MARIN RADOMIR
+MARIN VASO
+MARIN VERICA
+MARIN ZORAN
+MARINČEV BRANISLAV
+MARINČEV STEVAN
+MARINČIĆ DRAGICA
+MARINČIĆ MARKO
+MARINČIĆ MILAN
+MARINČIĆ MILAN
+MARINČIĆ OLGA
+MARINŠEK VJEKOSLAV
+MARINA ŠTEFAN
+MARINA LUĆIJAN
+MARINAC ZORAN
+MARINIĆ BRANKO
+MARINIĆ IVO
+MARINIĆ STIPAN
+MARINKOV ČEDA
+MARINKOV ŽARKO
+MARINKOV ĐORĐE
+MARINKOV ĐORĐE
+MARINKOV ĐURA DIPL ING
+MARINKOV ANKICA
+MARINKOV ARSEN
+MARINKOV BOŽA
+MARINKOV DEJAN
+MARINKOV DRAGINJA
+MARINKOV DUŠAN
+MARINKOV FEMKA
+MARINKOV GAVRA
+MARINKOV JOVANKA
+MARINKOV JOVAN
+MARINKOV JOVAN
+MARINKOV JULIJANA
+MARINKOV JULIJANA
+MARINKOV MELANIJA
+MARINKOV MILENKO
+MARINKOV MILIVOJ DIPL ING
+MARINKOV MILJA
+MARINKOV MILORAD
+MARINKOV MILOSAVA
+MARINKOV MIODRAG
+MARINKOV MIRJANA
+MARINKOV MOMČILO
+MARINKOV MOMČILO
+MARINKOV NIKOLA
+MARINKOV OMER
+MARINKOV PAJA
+MARINKOV PREDRAG
+MARINKOV RUŽICA
+MARINKOV SAVA
+MARINKOV SINIŠA
+MARINKOV SLAVKO
+MARINKOV SLAVKO
+MARINKOV STEVAN
+MARINKOV STEVAN
+MARINKOV STRAHINJA DR PROF
+MARINKOV VESELIN
+MARINKOV VESNA
+MARINKOV VLADA
+MARINKOV VLAJKO
+MARINKOV ZORAN
+MARINKOVIĆ ČEDOMIR
+MARINKOVIĆ ŽIVA
+MARINKOVIĆ ŽIVKA
+MARINKOVIĆ ŽIVKO
+MARINKOVIĆ ŽIVKO
+MARINKOVIĆ ŽIVKO
+MARINKOVIĆ ŽIVOJIN
+MARINKOVIĆ ŽIVORAD
+MARINKOVIĆ BOGOLJUB
+MARINKOVIĆ BOJA
+MARINKOVIĆ BORISLAV
+MARINKOVIĆ BORIVOJE DR
+MARINKOVIĆ BRANKO
+MARINKOVIĆ BRATIMIR
+MARINKOVIĆ DRAGAN
+MARINKOVIĆ DRAGAN
+MARINKOVIĆ DRAGAN
+MARINKOVIĆ DRAGAN
+MARINKOVIĆ DRAGICA
+MARINKOVIĆ DRAGICA
+MARINKOVIĆ JELICA
+MARINKOVIĆ JOVAN
+MARINKOVIĆ KATALIN
+MARINKOVIĆ LEPOSAVA
+MARINKOVIĆ MIĆO
+MARINKOVIĆ MILAN
+MARINKOVIĆ MILENA
+MARINKOVIĆ MILENA
+MARINKOVIĆ MILENA
+MARINKOVIĆ MILEN
+MARINKOVIĆ MILICA
+MARINKOVIĆ MILIVOJE
+MARINKOVIĆ MILOJKO
+MARINKOVIĆ MILORAD
+MARINKOVIĆ MILOVAN
+MARINKOVIĆ MILUTIN
+MARINKOVIĆ MIRKO
+MARINKOVIĆ MIROSLAV
+MARINKOVIĆ MITAR
+MARINKOVIĆ MITAR
+MARINKOVIĆ NENAD
+MARINKOVIĆ NIKOLA
+MARINKOVIĆ NIKOLA
+MARINKOVIĆ NIKOLA
+MARINKOVIĆ RADA
+MARINKOVIĆ RADIVOJ
+MARINKOVIĆ RADOJICA
+MARINKOVIĆ RADOJKA
+MARINKOVIĆ RADOMIR
+MARINKOVIĆ RADOSLAV DR
+MARINKOVIĆ RADOVAN
+MARINKOVIĆ RISTANA
+MARINKOVIĆ RUŽICA
+MARINKOVIĆ SAVA
+MARINKOVIĆ SLAVKO
+MARINKOVIĆ SLOBODAN
+MARINKOVIĆ SLOBODAN
+MARINKOVIĆ SLOBODAN
+MARINKOVIĆ SOFIJA
+MARINKOVIĆ STANKO
+MARINKOVIĆ STANOJKA
+MARINKOVIĆ STEVAN
+MARINKOVIĆ STOJANKA
+MARINKOVIĆ STOJAN
+MARINKOVIĆ SVETISLAV
+MARINKOVIĆ VLADICA
+MARINKOVIĆ VLADO
+MARINKOVIĆ VOJIN
+MARINKOVIĆ VOJISLAVKA
+MARINKOVIĆ VUKAŠIN
+MARINKOVIĆ ZORAN
+MARINOV MARINKO
+MARINOVIĆ ĐORĐE
+MARINOVIĆ ALEKSANDAR
+MARINOVIĆ ALEKSANDAR
+MARINOVIĆ DOBRIVOJE
+MARINOVIĆ DUŠAN
+MARINOVIĆ KATICA
+MARINOVIĆ MARIJA
+MARINOVIĆ MILAN
+MARINOVIĆ PEJO
+MARINOVIĆ-SRDANOV DANICA
+MARINOVIĆ TOMISLAV
+MARINOVIĆ VINKA
+MARINOVIĆ ZLATICA
+MARINOVIĆ ZORICA
+MARINOVIĆ ZORICA
+MARINOVSKI ĐORĐE
+MARINOVSKI KATICA
+MARJAŠ ANKA
+MARJAŠ JANKO
+MARJAŠ MIŠA
+MARJAŠ MIHAJLO
+MARJAŠ MILKA
+MARJAŠ STANKO
+MARJAŠ VLADIMIR
+MARJAN DUŠAN
+MARJAN MILIJANA
+MARJAN MIRKO
+MARJANOV DUŠAN
+MARJANOV ERŽEBET
+MARJANOV JOVANKA
+MARJANOV LJUBOMIR
+MARJANOV MARA
+MARJANOV MIHAJLO DR
+MARJANOV MILENKO
+MARJANOV OLGA
+MARJANOV RADOVAN
+MARJANOV SONJA
+MARJANOV TIMOTIJE
+MARJANOV VUJICA
+MARJANOVIĆ ČEDOMIR
+MARJANOVIĆ ŽARKO
+MARJANOVIĆ ŽELJKO
+MARJANOVIĆ ŽIVOTA
+MARJANOVIĆ ŽIVOTA
+MARJANOVIĆ ĐORĐE
+MARJANOVIĆ ĐURO
+MARJANOVIĆ ALEKSANDAR
+MARJANOVIĆ BILJANA
+MARJANOVIĆ BOŽIDAR
+MARJANOVIĆ BOŽIDAR
+MARJANOVIĆ BOJANA
+MARJANOVIĆ BORIVOJE
+MARJANOVIĆ BOSILJKA
+MARJANOVIĆ BRANIMIR
+MARJANOVIĆ DANA
+MARJANOVIĆ DANILKO
+MARJANOVIĆ DIMITRIJE
+MARJANOVIĆ DRAGAN
+MARJANOVIĆ DRAGIŠA
+MARJANOVIĆ DRAGIŠA
+MARJANOVIĆ DRAGOMIR
+MARJANOVIĆ DUŠANKO
+MARJANOVIĆ DUŠAN
+MARJANOVIĆ DUŠAN
+MARJANOVIĆ DUŠKO
+MARJANOVIĆ GABRIJEL
+MARJANOVIĆ GOJKO
+MARJANOVIĆ JOVANKA
+MARJANOVIĆ JOVAN
+MARJANOVIĆ JOVA
+MARJANOVIĆ LJUBIVOJE
+MARJANOVIĆ LJUBOMIR
+MARJANOVIĆ LUKA
+MARJANOVIĆ MARIJA
+MARJANOVIĆ MILAN
+MARJANOVIĆ MILAN
+MARJANOVIĆ MILAN
+MARJANOVIĆ MILAN
+MARJANOVIĆ MILENKO DR ING
+MARJANOVIĆ MILICA DR
+MARJANOVIĆ MILOŠ
+MARJANOVIĆ MILOMIR
+MARJANOVIĆ MILORAD
+MARJANOVIĆ MILORAD
+MARJANOVIĆ MILORAD
+MARJANOVIĆ MILORAD
+MARJANOVIĆ MILUTIN
+MARJANOVIĆ MIROSLAV
+MARJANOVIĆ MIROSLAV
+MARJANOVIĆ MITAR
+MARJANOVIĆ NADA
+MARJANOVIĆ NATALIJA
+MARJANOVIĆ NEDELJKO
+MARJANOVIĆ NEDELJKO
+MARJANOVIĆ NIKOLA MR
+MARJANOVIĆ NIKOLA
+MARJANOVIĆ NIKOLA
+MARJANOVIĆ NIKOLA
+MARJANOVIĆ NIKOLA
+MARJANOVIĆ NIKOLA
+MARJANOVIĆ PRVOSLAV
+MARJANOVIĆ RADMILA
+MARJANOVIĆ RUŽICA
+MARJANOVIĆ SLAVOLJUB DR
+MARJANOVIĆ STEVKA
+MARJANOVIĆ SVETLANA
+MARJANOVIĆ TATJANA
+MARJANOVIĆ TRIVUN
+MARJANOVIĆ VELIMIR
+MARJANOVIĆ VERA
+MARJANOVIĆ VID
+MARJANOVIĆ VLADO
+MARJANOVIĆ VOJIN
+MARJANOVIĆ ZORAN
+MARJANOVIĆ ZORA
+MARJANSKI FEDOR
+MARKANOV LJUBICA
+MARKANOV ZORICA
+MARKGRAF ANICA
+MARKGRAF SOFIJA
+MARKI NEVENKA
+MARKI NIKOLA
+MARKI SLAVKA
+MARKIŠ SOFIJA
+MARKIĆEVIĆ DUŠANKA
+MARKIĆEVIĆ MILAN
+MARKO JAN PROFESOR
+MARKO NADA DR
+MARKOSKI STOJAN
+MARKOV ŽARKO
+MARKOV ŽIVA
+MARKOV ĐURA
+MARKOV ANĐELKA
+MARKOV CVETANA
+MARKOV DOBRILA
+MARKOV DRAGAN
+MARKOV DRAGAN
+MARKOV DUŠAN
+MARKOV EMIL
+MARKOV FOTIJE
+MARKOV ILIJA
+MARKOV IVICA
+MARKOV-JELENIĆ MIRJANA
+MARKOV LJUBOMIR
+MARKOV LJUBOMIR
+MARKOV LJUBOMIR
+MARKOV MARIJA
+MARKOV MILAN
+MARKOV MILAN
+MARKOV MILENKO
+MARKOV MILICA
+MARKOV MILICA
+MARKOV MIRA
+MARKOV NADA
+MARKOV NADA
+MARKOV NIKOLA
+MARKOV PETAR
+MARKOV PETAR
+MARKOV RADISLAV
+MARKOV RADOSAV
+MARKOV RADOVAN
+MARKOV RADOVAN
+MARKOV SAVA
+MARKOV SINIŠA
+MARKOV SPASOJE DR
+MARKOV STOJAN
+MARKOV TOMISLAV
+MARKOV VERA
+MARKOV VIDOSAVA
+MARKOV ZORAN MR
+MARKOV ZORA
+MARKOV ZORKA
+MARKOVIĆ ČEDOMIR
+MARKOVIĆ ŽARKO
+MARKOVIĆ ŽARKO
+MARKOVIĆ ŽARKO
+MARKOVIĆ ŽELIBOR
+MARKOVIĆ ŽELJKA
+MARKOVIĆ ŽELJKO
+MARKOVIĆ ŽIVAN
+MARKOVIĆ ŽIVKO
+MARKOVIĆ ŽIVOJIN DR
+MARKOVIĆ ŽIVOJIN
+MARKOVIĆ ŽIVOJIN
+MARKOVIĆ ŽIVOSLAV
+MARKOVIĆ ŽIVOTA
+MARKOVIĆ ĐENA
+MARKOVIĆ ĐORĐE
+MARKOVIĆ ĐORĐE
+MARKOVIĆ ĐORĐE
+MARKOVIĆ ĐORĐE
+MARKOVIĆ ĐORĐE
+MARKOVIĆ ADAM
+MARKOVIĆ ALEKSANDAR
+MARKOVIĆ ALEKSANDAR
+MARKOVIĆ ALEKSANDAR
+MARKOVIĆ ALEKSANDAR
+MARKOVIĆ ALEKSANDAR
+MARKOVIĆ ANTONIJE
+MARKOVIĆ BOŠKO
+MARKOVIĆ BORISLAV
+MARKOVIĆ BORISLAV
+MARKOVIĆ BORIS
+MARKOVIĆ BORIVOJ
+MARKOVIĆ BRANISLAV
+MARKOVIĆ BRANISLAV
+MARKOVIĆ BRANISLAV
+MARKOVIĆ BRANKO
+MARKOVIĆ BRANKO
+MARKOVIĆ BUDIMIR
+MARKOVIĆ BUDIMIR
+MARKOVIĆ CVETKO
+MARKOVIĆ CVETKO
+MARKOVIĆ DANICA
+MARKOVIĆ DANICA
+MARKOVIĆ DANICA
+MARKOVIĆ DEJAN
+MARKOVIĆ DESANKA
+MARKOVIĆ DIMITRIJE
+MARKOVIĆ DIMITRIJE
+MARKOVIĆ DOBROSAV
+MARKOVIĆ DOBROSAV
+MARKOVIĆ DRAGAN
+MARKOVIĆ DRAGAN
+MARKOVIĆ DRAGAN
+MARKOVIĆ DRAGIŠA
+MARKOVIĆ DRAGOJA
+MARKOVIĆ DRAGOJA
+MARKOVIĆ DRAGOLJUB
+MARKOVIĆ DRAGOLJUB
+MARKOVIĆ DRAGOLJUB
+MARKOVIĆ DRAGOMIR
+MARKOVIĆ DRAGOSLAV
+MARKOVIĆ DRAGOSLAV
+MARKOVIĆ DRAGUTIN
+MARKOVIĆ DUŠAN
+MARKOVIĆ DUŠAN
+MARKOVIĆ DUŠAN
+MARKOVIĆ DUŠAN
+MARKOVIĆ DUŠAN
+MARKOVIĆ DUŠAN
+MARKOVIĆ DUŠAN
+MARKOVIĆ DUŠAN
+MARKOVIĆ DUŠAN
+MARKOVIĆ DUŠAN
+MARKOVIĆ DUŠAN
+MARKOVIĆ DUBRAVKO
+MARKOVIĆ ERŽEBET
+MARKOVIĆ EVICA
+MARKOVIĆ GORAN
+MARKOVIĆ GORDANA
+MARKOVIĆ IGNJAT
+MARKOVIĆ ILIJA
+MARKOVIĆ ILIJA
+MARKOVIĆ IRENA
+MARKOVIĆ IVAN
+MARKOVIĆ IVKO
+MARKOVIĆ JADRANKA
+MARKOVIĆ JADRANKA
+MARKOVIĆ JAROSLAV
+MARKOVIĆ JELENA
+MARKOVIĆ JELICA
+MARKOVIĆ JELICA
+MARKOVIĆ JELISAVKA
+MARKOVIĆ JOVAN DIPL ING
+MARKOVIĆ JOVANKA
+MARKOVIĆ JOVAN
+MARKOVIĆ JOVAN
+MARKOVIĆ JOVAN
+MARKOVIĆ JOVAN
+MARKOVIĆ JOVAN
+MARKOVIĆ JOVAN
+MARKOVIĆ JOVAN
+MARKOVIĆ JOVO
+MARKOVIĆ JOVO
+MARKOVIĆ JULIJA
+MARKOVIĆ JULKA
+MARKOVIĆ KARLO
+MARKOVIĆ KAROLINA
+MARKOVIĆ KAROLINA
+MARKOVIĆ KATA
+MARKOVIĆ KATICA
+MARKOVIĆ KOSANA
+MARKOVIĆ KOSTA
+MARKOVIĆ KRASIMIR
+MARKOVIĆ KSENIJA
+MARKOVIĆ LEPOSAVA LEKAR
+MARKOVIĆ LJUBIŠA
+MARKOVIĆ LJUBICA
+MARKOVIĆ LJUBICA
+MARKOVIĆ LJUBICA
+MARKOVIĆ LJUBINKO
+MARKOVIĆ LJUBOMIR
+MARKOVIĆ LJUBOMIR
+MARKOVIĆ LUKA
+MARKOVIĆ-MAJTENJI ANDRIJA
+MARKOVIĆ-MAJTENJI MIHALJ
+MARKOVIĆ MARA
+MARKOVIĆ MARIJA
+MARKOVIĆ MARIJA
+MARKOVIĆ MARINA
+MARKOVIĆ MARKO
+MARKOVIĆ MARKO
+MARKOVIĆ MIHAILO
+MARKOVIĆ MIHAJLO
+MARKOVIĆ MILAN
+MARKOVIĆ MILAN
+MARKOVIĆ MILAN
+MARKOVIĆ MILAN
+MARKOVIĆ MILAN
+MARKOVIĆ MILAN
+MARKOVIĆ MILAN
+MARKOVIĆ MILAN
+MARKOVIĆ MILAN
+MARKOVIĆ MILAN
+MARKOVIĆ MILA
+MARKOVIĆ MILEVA
+MARKOVIĆ MILEVA
+MARKOVIĆ MILKO
+MARKOVIĆ MILKO
+MARKOVIĆ MILOŠ
+MARKOVIĆ MILOŠ
+MARKOVIĆ MILOŠ
+MARKOVIĆ MILOŠ
+MARKOVIĆ MILOLJUB
+MARKOVIĆ MILOMIR
+MARKOVIĆ MILORAD
+MARKOVIĆ MILORAD
+MARKOVIĆ MILORAD
+MARKOVIĆ MILORAD
+MARKOVIĆ MILORAD
+MARKOVIĆ MILO
+MARKOVIĆ MILUTIN
+MARKOVIĆ MILUTIN
+MARKOVIĆ MIODRAG
+MARKOVIĆ MIODRAG
+MARKOVIĆ MIODRAG
+MARKOVIĆ MIRKO
+MARKOVIĆ MIRKO
+MARKOVIĆ MIROSLAVA
+MARKOVIĆ MIROSLAVA
+MARKOVIĆ MIROSLAV
+MARKOVIĆ MIROSLAV
+MARKOVIĆ MIROSLAV
+MARKOVIĆ MIROSLAV
+MARKOVIĆ MLADEN
+MARKOVIĆ MLADEN
+MARKOVIĆ MOMČILO
+MARKOVIĆ MOMČILO
+MARKOVIĆ MOMIR
+MARKOVIĆ NADA
+MARKOVIĆ NADA
+MARKOVIĆ NADA
+MARKOVIĆ NADA
+MARKOVIĆ NADA
+MARKOVIĆ NATAŠA
+MARKOVIĆ NATALIJA
+MARKOVIĆ NEDELJKO
+MARKOVIĆ NEGOSLAV
+MARKOVIĆ NEMANJA
+MARKOVIĆ NENAD
+MARKOVIĆ NENAD
+MARKOVIĆ NIKOLA
+MARKOVIĆ NIKOLA
+MARKOVIĆ NIKOLA
+MARKOVIĆ NIKOLA
+MARKOVIĆ OBRAD
+MARKOVIĆ OBRAD
+MARKOVIĆ OLGA
+MARKOVIĆ OLGA
+MARKOVIĆ OLGA
+MARKOVIĆ OLGA
+MARKOVIĆ OLGA
+MARKOVIĆ OLGA
+MARKOVIĆ OLGA
+MARKOVIĆ PAVLE
+MARKOVIĆ PEJČA
+MARKOVIĆ PETAR DIPL ING
+MARKOVIĆ PETAR VETERINAR
+MARKOVIĆ PETAR
+MARKOVIĆ PETAR
+MARKOVIĆ PETAR
+MARKOVIĆ PETAR
+MARKOVIĆ PETAR
+MARKOVIĆ PETRONIJE
+MARKOVIĆ PREDRAG
+MARKOVIĆ PRVOSLAV DR
+MARKOVIĆ RAŠA
+MARKOVIĆ RADENKO
+MARKOVIĆ RADE
+MARKOVIĆ RADINKA
+MARKOVIĆ RADIVOJ
+MARKOVIĆ RADIVOJ
+MARKOVIĆ RADMILA
+MARKOVIĆ RADMILA
+MARKOVIĆ RADOJKA
+MARKOVIĆ RADOSAV DIPL ING
+MARKOVIĆ RADOSAV
+MARKOVIĆ RADOSLAV
+MARKOVIĆ RADOVANKA
+MARKOVIĆ RADOVAN
+MARKOVIĆ RADOVAN
+MARKOVIĆ RADOVAN
+MARKOVIĆ RANKO
+MARKOVIĆ RATKO
+MARKOVIĆ RODOLJUB
+MARKOVIĆ ROZALIJA
+MARKOVIĆ RUŽICA
+MARKOVIĆ RUŽICA
+MARKOVIĆ SAŠA
+MARKOVIĆ SAVA
+MARKOVIĆ SAVA
+MARKOVIĆ SAVA
+MARKOVIĆ SINIŠA
+MARKOVIĆ SINIŠA
+MARKOVIĆ SLOBODAN
+MARKOVIĆ SLOBODAN
+MARKOVIĆ SLOBODAN
+MARKOVIĆ SMILJA
+MARKOVIĆ SRĐAN
+MARKOVIĆ STANA
+MARKOVIĆ STANIŠA
+MARKOVIĆ STANIMIR
+MARKOVIĆ STANISLAV
+MARKOVIĆ STEFANIJA
+MARKOVIĆ STEVAN
+MARKOVIĆ STEVAN
+MARKOVIĆ STEVAN
+MARKOVIĆ STEVAN
+MARKOVIĆ STOJAN
+MARKOVIĆ STOJAN
+MARKOVIĆ STOJAN
+MARKOVIĆ STOJA
+MARKOVIĆ SVETISLAV
+MARKOVIĆ SVETLANA
+MARKOVIĆ SVETOZAR
+MARKOVIĆ SVETOZAR
+MARKOVIĆ TANASIJE
+MARKOVIĆ TATJANA
+MARKOVIĆ TODOR
+MARKOVIĆ TOMISLAV
+MARKOVIĆ UGLJEŠA
+MARKOVIĆ VASA
+MARKOVIĆ VASILIJE DR
+MARKOVIĆ VELIMIR
+MARKOVIĆ VELJKO
+MARKOVIĆ VELJKO
+MARKOVIĆ VERA
+MARKOVIĆ VERA
+MARKOVIĆ VERA
+MARKOVIĆ VERA
+MARKOVIĆ VERA
+MARKOVIĆ VIĆA
+MARKOVIĆ VIDOJE
+MARKOVIĆ VIDOSAVA
+MARKOVIĆ VID
+MARKOVIĆ VINKO
+MARKOVIĆ VITKO
+MARKOVIĆ VITOMIR
+MARKOVIĆ VLADAN
+MARKOVIĆ VLADIMIR
+MARKOVIĆ VLADIMIR
+MARKOVIĆ VLADIMIR
+MARKOVIĆ VLADOJE
+MARKOVIĆ VOJIN
+MARKOVIĆ VOJIN
+MARKOVIĆ VOJISLAV
+MARKOVIĆ ZAGORKA
+MARKOVIĆ ZAGORKA
+MARKOVIĆ ZLATA
+MARKOVIĆ ZLATIJA
+MARKOVIĆ ZORAN
+MARKOVIĆ ZORAN
+MARKOVIĆ ZORAN
+MARKOVIĆ ZORAN
+MARKOVIĆ ZORAN
+MARKOVIĆ ZORA
+MARKOVIĆ ZORA
+MARKOVIĆ ZORICA
+MARKOVIĆAN JON
+MARKOVINOVIĆ PETAR
+MARKOVINOVIĆ PETAR
+MARKOVLJEV DRAGAN
+MARKOVSKI CVETANA
+MARKOVSKI JOVAN
+MARKSER IVAN
+MARKSER JOVAN
+MARKUŠ ANKICA
+MARKUŠ BORISLAV
+MARKUŠ EMIL
+MARKUŠ ETELKA
+MARKUŠ JOSIP
+MARKUŠ PREDRAG
+MARKUŠ ZORAN
+MARKUŠEV DRAGICA
+MARKUŠEV JELENA
+MARLOG MIROSLAV
+MAROŠ DUŠAN
+MAROŠ MILOVAN
+MAROŠ STEVAN
+MAROŠ VELJKO
+MAROŠAN TIHOMIR
+MAROŠEV KRISTA
+MAROŠEVIĆ IVAN
+MAROŠEVIĆ MARKO
+MAROŠEVIĆ MATA
+MAROŠEVIĆ NATALIJA
+MAROŠEVIĆ VLADIMIR
+MAROĐI IVAN
+MAROĐI JOLAN
+MAROĐI JOLAN
+MAROCI MARGITA
+MAROJEVIĆ ALEKSANDAR
+MAROJEVIĆ IVANKA
+MAROJEVIĆ JOSIP
+MAROJEVIĆ RADMILO
+MAROJEVIĆ SLAVOLJUB
+MAROLD JOSIP
+MAROLI ISAK
+MARON DENEŠ
+MARON KARLO
+MAROSLAVAC MIROSLAV
+MAROT IVAN
+MAROTI MIKLOŠ
+MAROVIĆ ĐURA
+MAROVIĆ BORIS DR
+MAROVIĆ DARINKA
+MAROVIĆ MILICA
+MAROVIĆ MIRKO
+MAROVIĆ RADOMIR
+MAROVIĆ ZDENKA
+MAROVSKI NIKOLA
+MARSENIĆ DRAGANA
+MARSENIĆ LEKA
+MARSENIĆ SLAVOJKA
+MARTIĆ ŽIVOJIN
+MARTIĆ ĐURA
+MARTIĆ BRANKA
+MARTIĆ DRAGAN
+MARTIĆ KOSTA
+MARTIĆ LAZAR
+MARTIĆ LJUBOMIR
+MARTIĆ MARA
+MARTIĆ MILAN
+MARTIĆ MILENKO
+MARTIĆ MILICA
+MARTIĆ OLGA
+MARTIĆ PERO
+MARTIĆ RADMILA
+MARTIĆ RADOMIR
+MARTIĆ SLAVKO
+MARTIĆ STEVAN
+MARTIĆ VLADIMIR
+MARTIĆ VOJNA
+MARTICKI MLADEN
+MARTIN ALOJZIJE
+MARTIN ANTAL
+MARTIN ENDRE
+MARTIN ERŽEBET
+MARTIN IMRE
+MARTIN IVAN
+MARTIN JOSIF
+MARTIN JOVAN
+MARTIN LJUBINKA
+MARTIN MATILDA
+MARTIN MIROSLAVA
+MARTIN ZVONIMIR
+MARTINČEVIĆ MIHAJLO
+MARTINČIĆ DAVOR
+MARTINČIĆ DAVOR
+MARTINAŠEVIĆ HERMINA
+MARTINAŠEVIĆ OTO
+MARTINAK JOVAN
+MARTINEC ANTON
+MARTINEK ANTAL
+MARTINEK FERENC
+MARTINKO ANDRIJA
+MARTINOV ĐORĐE
+MARTINOV ANKA
+MARTINOV LAZAR
+MARTINOV MIKA
+MARTINOV MILAN DR
+MARTINOV MILICA
+MARTINOV MILOŠ
+MARTINOV MILOŠ
+MARTINOV MILOŠ
+MARTINOV SANDRA
+MARTINOV SAVA
+MARTINOV SLAVKO
+MARTINOV SLAVKO
+MARTINOVIĆ ĐORĐE
+MARTINOVIĆ ANĐELKA
+MARTINOVIĆ ANA
+MARTINOVIĆ ANITA
+MARTINOVIĆ BRANKA
+MARTINOVIĆ DESANKA
+MARTINOVIĆ DUŠAN
+MARTINOVIĆ ELIZABETA
+MARTINOVIĆ FILIP
+MARTINOVIĆ FINKA
+MARTINOVIĆ IVO
+MARTINOVIĆ JELENA
+MARTINOVIĆ JOVAN VETERINAR
+MARTINOVIĆ MARIJANA
+MARTINOVIĆ MARIJA
+MARTINOVIĆ MILE
+MARTINOVIĆ MILICA
+MARTINOVIĆ MILKA
+MARTINOVIĆ MILKA
+MARTINOVIĆ NADA
+MARTINOVIĆ NENAD
+MARTINOVIĆ OLGA
+MARTINOVIĆ PERSIDA
+MARTINOVIĆ RISTA
+MARTINOVIĆ SLAVKO
+MARTINOVIĆ STANIŠA
+MARTINOVIĆ STANKA
+MARTINOVIĆ STEVAN
+MARTINOVIĆ SVETOZAR
+MARTINOVIĆ UROŠ
+MARTINOVIĆ VELIMIR
+MARTINOVIĆ VELJKO
+MARTINOVIĆ ZARIJE
+MARTINOVSKI ROMAN
+MARTON ŠANDOR
+MARTON ŽUŽANA
+MARTON ANDRAŠ
+MARTON FERENC
+MARTON IŠTVAN
+MARTON ILEŠ
+MARTON JOŽEF
+MARTON JOŽEF
+MARTON JOLAN
+MARTON LAJOŠ
+MARTON MAĆAŠ
+MARTON MARIJA
+MARTON ROZA
+MARUŠČUK MIROSLAV
+MARUŠEVIĆ IVAN
+MARUŠIĆ DANICA
+MARUŠIĆ FRANJA
+MARUŠIĆ GORAN
+MARUŠIĆ JULIJANA
+MARUŠIĆ LJUBO
+MARUŠIĆ MIORICA
+MARUŠIĆ NEBOJŠA
+MARUŠIĆ OLGA
+MARUŠIĆ STOJAN
+MARUŠIĆ VLADIMIR
+MARUNIĆ BOSILJKA
+MARUNKIĆ MILINA
+MARUNOVIĆ BLAGOTA
+MASLAĆ ANTE
+MASLAĆ MILENKO
+MASLAĆ RAJKO
+MASLAĆ VINKO
+MASLOVARIĆ BOŽIDAR DR
+MASNEC ANKA
+MASNIKOSA FEMKA
+MASNIKOSA FEMKA
+MASNOV ROZALIJA
+MASTIKOSA DRAGICA
+MASTIKOSA NIKO
+MASTILOVIĆ DUŠAN
+MASTILOVIĆ LJUBICA
+MASTILOVIĆ MIRA
+MASTILOVIĆ MIRKO
+MASTILOVIĆ MOMČILO
+MASTILOVIĆ PLEMA
+MASTILOVIĆ RANKO
+MATAJČIĆ FRANJO
+MATAJČIĆ IVAN
+MATAK MARIJA
+MATAK MARJAN
+MATAK VESNA
+MATAKOVIĆ KATICA
+MATANOV JASMINA
+MATANOVIĆ DEZIDER
+MATANOVIĆ IRENA
+MATANOVIĆ JADRANKA
+MATANOVIĆ JELISAVETA
+MATANOVIĆ MILORAD
+MATANOVIĆ MILORAD
+MATANOVIĆ MIODRAG
+MATANOVIĆ PETAR
+MATANOVIĆ PETAR
+MATANOVIĆ SLAVICA
+MATANOVIĆ VLADA
+MATARUGA LJILJANA
+MATARUGA MILKA
+MATARUGA PAVLE
+MATARUGA ZAGORKA
+MATARUGIN ALEKSANDAR
+MATASIĆ MARIJA
+MATAVULJ MILICA
+MATE ETELKA
+MATE GIZELA
+MATE VENDEL DR
+MATEČIK MIKLOŠ
+MATEJAŠEV ALEKSANDAR
+MATEJAŠEV SVETOZAR
+MATEJAŠEV SVETOZAR
+MATEJEVIĆ JELENA
+MATEJEVIĆ STANKO
+MATEJEVIĆ VELIMIR
+MATEJEVIĆ VLADIMIR
+MATEJEVIĆ ZILDA
+MATEJIĆ ĐURA
+MATEJIĆ ALEKSANDAR
+MATEJIĆ NADEŽDA
+MATEJIĆ RATKO
+MATEJIĆ RUŽICA
+MATEJIĆ SLAVOLJUB DR LEKAR
+MATEJIN ĐORĐE
+MATEJIN DRAGAN
+MATEJIN DRAGIĆ
+MATEJIN DUŠAN
+MATEJIN MILIVOJ
+MATEJIN VESELIN
+MATEKALO MILKA
+MATEKOVIĆ SMILJA
+MATEOVIĆ PUBA DR
+MATEVSKI LUIĐI
+MATIČEK LJUDEVIT
+MATIŠA IRENA
+MATIŠIĆ LJUBOMIR
+MATIĆ ŽARKO
+MATIĆ ŽIVKA
+MATIĆ ŽIVKO
+MATIĆ ŽIVKO
+MATIĆ ŽIVOJIN
+MATIĆ ŽIVORAD
+MATIĆ ĐORĐE
+MATIĆ ĐORĐE
+MATIĆ ĐORĐE
+MATIĆ ĐURĐICA
+MATIĆ ĐURA DR
+MATIĆ ACKO
+MATIĆ ACKO
+MATIĆ ALEKSANDAR
+MATIĆ ALEKSANDAR
+MATIĆ ALEKSANDAR
+MATIĆ ANKA
+MATIĆ ANKICA
+MATIĆ ARANKA
+MATIĆ ARANKA
+MATIĆ-BAUS ŽIVKO
+MATIĆ-BEKVALAC VESNA
+MATIĆ BOŽIDAR DR
+MATIĆ BOJANA
+MATIĆ BRANISLAV
+MATIĆ DAMJAN DIPL ING
+MATIĆ DESANKA
+MATIĆ DOBRICA
+MATIĆ DOBRILO
+MATIĆ DRAGAN
+MATIĆ DRAGAN
+MATIĆ DRAGAN
+MATIĆ DRAGIŠA
+MATIĆ DRAGICA
+MATIĆ DRAGINJA
+MATIĆ DRAGUTIN
+MATIĆ DUŠANKA
+MATIĆ DUŠANKA
+MATIĆ DUŠAN
+MATIĆ DUŠAN
+MATIĆ DUŠAN
+MATIĆ DUŠAN
+MATIĆ ELIZABETA
+MATIĆ EVA
+MATIĆ FINKA
+MATIĆ GORDANA
+MATIĆ ILIJA
+MATIĆ JELENA
+MATIĆ JELISAVETA
+MATIĆ JELISAVETA
+MATIĆ JELISAVKA
+MATIĆ JOVAN
+MATIĆ KATICA
+MATIĆ-KEKIĆ SNEŽANA
+MATIĆ KRISTINA
+MATIĆ LAZAR
+MATIĆ LAZAR
+MATIĆ LJILJANA
+MATIĆ LJILJANA
+MATIĆ LJILJANA
+MATIĆ LJUBICA
+MATIĆ LJUBICA
+MATIĆ LJUBO
+MATIĆ LUKA
+MATIĆ MAGDALENA
+MATIĆ MARICA
+MATIĆ MARIJA
+MATIĆ MARKO
+MATIĆ MARKO
+MATIĆ MILAN
+MATIĆ MILAN
+MATIĆ MILAN
+MATIĆ MILENKO
+MATIĆ MILENKO
+MATIĆ MILISAV
+MATIĆ MILOŠ
+MATIĆ MILOŠ
+MATIĆ MILOŠ
+MATIĆ MILOŠ
+MATIĆ MILOŠ
+MATIĆ MILORAD
+MATIĆ MILORAD
+MATIĆ MILORAD
+MATIĆ MILOVAN
+MATIĆ MIRJANA
+MATIĆ MIRJANA
+MATIĆ MIRKO
+MATIĆ NADA
+MATIĆ NADEŽDA
+MATIĆ NATAŠA
+MATIĆ NATALIJA
+MATIĆ NEGOVAN
+MATIĆ NIKOLA
+MATIĆ NOVICA
+MATIĆ PAVA
+MATIĆ PAVLE
+MATIĆ PAVLE
+MATIĆ PETAR
+MATIĆ PETAR
+MATIĆ PLANINKA
+MATIĆ PREDRAG
+MATIĆ PREDRAG
+MATIĆ RADE
+MATIĆ RADMILA
+MATIĆ RADOJE
+MATIĆ RADOMIR
+MATIĆ RADOMIR
+MATIĆ RADOMIR
+MATIĆ RADOSLAV
+MATIĆ RADOVAN
+MATIĆ RADOVAN
+MATIĆ RAJKO
+MATIĆ SAVA
+MATIĆ SIMA
+MATIĆ SLAVKO
+MATIĆ SLAVKO
+MATIĆ SLAVKO
+MATIĆ SLAVKO
+MATIĆ SLOBODAN
+MATIĆ STANKO
+MATIĆ STANKO
+MATIĆ STAZA
+MATIĆ STIPO
+MATIĆ STOJAN
+MATIĆ SVETLANA
+MATIĆ SVETOZAR
+MATIĆ SVETOZAR
+MATIĆ TOMA
+MATIĆ TOMISLAV
+MATIĆ VALERIJA
+MATIĆ VESELIN
+MATIĆ VIDA
+MATIĆ VITOMIR DIPL ING
+MATIĆ VLADA
+MATIĆ VLADIMIR
+MATIĆ VLADIMIR
+MATIĆ VLADISLAV
+MATIĆ VLASTIMIR MR
+MATIĆ VUJICA
+MATIĆ VUKICA
+MATIĆ ZAGORKA
+MATIĆ ZDRAVKA
+MATIĆ ZORA
+MATICKI MILANA DR
+MATICKI MILOŠ
+MATIJAŠ ILIJA
+MATIJAŠEV ALEKSANDAR
+MATIJAŠEV RADIVOJ
+MATIJAŠEVIĆ ALEKSANDAR
+MATIJAŠEVIĆ JELKA
+MATIJAŠEVIĆ KATICA
+MATIJAŠEVIĆ MARKO
+MATIJAŠEVIĆ MIHAILO
+MATIJAŠEVIĆ STANISLAVKA
+MATIJEVIĆ ANTICA
+MATIJEVIĆ ANTUN
+MATIJEVIĆ BOJAN
+MATIJEVIĆ BRANKO
+MATIJEVIĆ DRAGICA
+MATIJEVIĆ FRANČIŠKA
+MATIJEVIĆ ILIJA
+MATIJEVIĆ JOSIP
+MATIJEVIĆ KATALIN
+MATIJEVIĆ LAJOŠ
+MATIJEVIĆ MARIJA
+MATIJEVIĆ MILE
+MATIJEVIĆ MILOJKO
+MATIJEVIĆ PERO
+MATIJEVIĆ PETAR
+MATIJEVIĆ PETAR
+MATIJEVIĆ PETAR
+MATIJEVIĆ RADE
+MATIJEVIĆ SLAVKO
+MATIJEVIĆ VUKOSAVA
+MATIJEVIĆ ZORAN
+MATIJEVIĆ ZORA
+MATIJEVIĆ ZORA
+MATIN DOROTEA
+MATIN JOSIP
+MATIN LAJOŠ
+MATIN MATIJA
+MATIS ŠANDOR DIPL PRAVNIK
+MATIS ŠANDOR
+MATJAČIĆ VINKO
+MATKO EVA
+MATKOVIĆ ŽARKO
+MATKOVIĆ ŽARKO
+MATKOVIĆ BOŽIDAR
+MATKOVIĆ DRAGOLJUB
+MATKOVIĆ DRAGOLJUB
+MATKOVIĆ JOVAN
+MATKOVIĆ LADISLAV
+MATKOVIĆ MILENKO
+MATKOVIĆ MIROSLAVA
+MATKOVIĆ MIROSLAV
+MATKOVIĆ MIROSLAV
+MATKOVIĆ MOMIR
+MATKOVIĆ RADOVAN
+MATKOVIĆ ROZALIJA
+MATKOVIĆ RUŽICA
+MATKOVIĆ STAMENKO
+MATKOVIĆ VLASTIMIR
+MATKOVIĆ ZDENKA DR
+MATOŠEVIĆ IVAN
+MATOŠIĆ STANISLAV
+MATOŠKOVIĆ AGATA
+MATOŠKOVIĆ TEREZA
+MATOVIĆ ANĐELKO
+MATOVIĆ ANA
+MATOVIĆ BOŽANA
+MATOVIĆ BORIVOJE
+MATOVIĆ BORO
+MATOVIĆ BRANISLAV
+MATOVIĆ DANICA
+MATOVIĆ DARO
+MATOVIĆ DESA
+MATOVIĆ DRAGANA
+MATOVIĆ DRAGIŠA
+MATOVIĆ LJUBINKA
+MATOVIĆ MILAN DIPL ING
+MATOVIĆ MILAN
+MATOVIĆ MILENKO
+MATOVIĆ MILE
+MATOVIĆ-MILIĆ BATRIĆ
+MATOVIĆ MILIĆ
+MATOVIĆ MILOJKO
+MATOVIĆ NATAŠA
+MATOVIĆ PAVLE
+MATOVIĆ PETAR
+MATOVIĆ RADIVOJE
+MATOVIĆ RADOSAV
+MATOVIĆ RADOSLAV
+MATOVIĆ VITOMIR
+MATOVINA FRANJA
+MATOVINA GORAN
+MATOVINA MARKO
+MATRAK DRAGAN
+MATUŠ JAN
+MATUŠKA MARTON
+MATULJIN IGNJAC
+MATUSKI SONJA
+MATVIKOV EUGENIJE
+MAUKOVIĆ VOJISLAV
+MAUL GORDANA
+MAURIĆ FERENC
+MAURIĆ GEZA
+MAURIĆ NENAD
+MAVIĆ SRĐAN
+MAVRAK IMRE
+MAVRENSKI BOGDAN
+MAVRENSKI BORKO
+MAVRENSKI IVICA
+MAVROVIĆ BRANISLAV
+MAZALICA BRANISLAV
+MAZALICA DUŠAN
+MAZALICA GOJKO
+MAZALICA LJUBO
+MAZALICA MARIJA
+MAZALICA RAJKO
+MAZALICA SNEŽANA
+MAZALICA UROŠ
+MAZALICA VASO
+MAZALICA VELJKO
+MAZANČIK ANDRIJA
+MAZANĆIK PAJA
+MAZANJI KARLO
+MAZIĆ ŽIVKO
+MAZIĆ BRANKO
+MAZIĆ DRAGAN
+MAZIĆ LJUBOMIR
+MAZIĆ MIHAJLO
+MAZIĆ MIROSLAV
+MAZIĆ PLETIKOSA
+MAZINJANIN DUŠAN
+MAZLAMI DŽABIR
+MAZUR VUKICA
+MC-CONNELL MARTA
+MEČKAROVSKI DRAGAN
+MEČKIĆ DOBRILA
+MEČKIĆ SLAVKO
+MEŠANOVIĆ HAZIM
+MEŠTER IRENA
+MEŠTEROVIĆ LJILJANA
+MEŠTROVIĆ BOŽIDAR
+MEĆAVA BRANKO
+MEĆAVA DRAGAN
+MEĆAVA MILAN
+MEĐANIN DUŠAN
+MEĐEŠI LJUBOMIR
+MEĐEŠI VLADIMIR
+MEĐED MARICA
+MEĐEDOVIĆ ĐORĐIJE
+MEĐEDOVIĆ BRANKO
+MEĐEDOVIĆ DANILO
+MEĐEDOVIĆ DRAGOLJUB
+MEĐEDOVIĆ DRAGO
+MEĐEDOVIĆ DUBRAVKA
+MEĐEDOVIĆ MIRJANA
+MEĐEDOVIĆ NEMANJA
+MEĐEDOVIĆ RADOVAN
+MEĐERI VERONIKA
+MEĐIMOREC EDUARD
+MEĐIMOREC LJUBOMIR
+MEĐIMOREC STJEPAN
+MEĐIMOREC VIKTOR
+MEAMDŽIJA MIRA
+MEANDŽIĆ SLAVKO
+MECANOV STOJANKA
+MEDAKOV ŽIVKO
+MEDAKOV MARIJA
+MEDAKOV MILAN
+MEDAKOV MILAN
+MEDAKOV MILJANA
+MEDAKOV RADIVOJ
+MEDAKOV VLADIMIR
+MEDAKOVIĆ BOGDAN
+MEDAKOVIĆ DAMIR
+MEDAKOVIĆ DARINKA
+MEDAKOVIĆ DUŠAN
+MEDAKOVIĆ DUŠAN
+MEDAKOVIĆ ILDIKO
+MEDAKOVIĆ ILIJA
+MEDAKOVIĆ JOVAN
+MEDAKOVIĆ LJUBICA
+MEDAKOVIĆ LJUBICA
+MEDAKOVIĆ PETAR
+MEDAKOVIĆ SVETLANA
+MEDAKOVIĆ SVETLANA
+MEDAKOVIĆ VLADISLAV
+MEDAN DRAGINJA
+MEDAN MANOJLO
+MEDAN MILENKO
+MEDAN MILENKO
+MEDAN MILENKO
+MEDAN MILORAD
+MEDAN MIROSLAV
+MEDAN RADENKO
+MEDAN SLAVICA
+MEDAN SPASOJE
+MEDAN VELIMIR
+MEDAN VLADISLAV
+MEDANOVSKI BORIS
+MEDAR VUČKO
+MEDAREVIĆ DRAGAN
+MEDAREVIĆ DRAGAN
+MEDAREVIĆ STANA
+MEDENICA ĐURĐICA
+MEDENICA ĐURO
+MEDENICA BOSILJKA
+MEDENICA MILISAV
+MEDENICA RADOMIR
+MEDENICA SNEŽANA
+MEDENICA SNEŽANA
+MEDENICA VOJISLAV
+MEDENICA VOJISLAV
+MEDER ĐORĐE
+MEDER JELENA
+MEDIĆ ĐURA
+MEDIĆ ĐURA
+MEDIĆ BOŠKO
+MEDIĆ BOGDAN
+MEDIĆ BOGDAN
+MEDIĆ BORIVOJ
+MEDIĆ BRANKA
+MEDIĆ DANE
+MEDIĆ DANE
+MEDIĆ DANICA
+MEDIĆ DRAGICA
+MEDIĆ DRAGOLJUB
+MEDIĆ DRAGOSLAVA
+MEDIĆ DUŠAN
+MEDIĆ DUŠAN
+MEDIĆ GOJKO
+MEDIĆ ILIJA
+MEDIĆ ILIJA
+MEDIĆ ILIJA
+MEDIĆ LAZAR
+MEDIĆ MIĆO
+MEDIĆ MILAN
+MEDIĆ MILAN
+MEDIĆ MILE
+MEDIĆ MILICA
+MEDIĆ MILKA
+MEDIĆ MILOŠ
+MEDIĆ MILORAD
+MEDIĆ MILORAD
+MEDIĆ MIODRAG
+MEDIĆ MIRA
+MEDIĆ MIRJANA
+MEDIĆ MIRKO
+MEDIĆ MIROSLAVA
+MEDIĆ NIKOLA
+MEDIĆ NIKOLA
+MEDIĆ NIKOLA
+MEDIĆ NIKOLA
+MEDIĆ PETAR
+MEDIĆ RADE
+MEDIĆ RADOVAN
+MEDIĆ RADOVAN
+MEDIĆ SAVO
+MEDIĆ SIMO
+MEDIĆ SLAVKO
+MEDIĆ SLOBODANKA
+MEDIĆ SMILJA
+MEDIĆ STEVAN
+MEDIĆ SVETOZAR
+MEDIĆ TATJANA
+MEDIĆ ZDRAVKO
+MEDIĆ ZDRAVKO
+MEDIĆ ZORAN
+MEDIĆ ZORA
+MEDOŠ UROŠ
+MEDOJEVIĆ MILAN
+MEDOJEVIĆ MILETA
+MEDOJEVIĆ NIKOLA
+MEDOVARSKI FRANJA
+MEDOVARSKI MIŠA
+MEDOVARSKI PIROŠKA
+MEDOVARSKI PIROŠKA
+MEDOVARSKI STEVAN
+MEDOVIĆ PREDRAG DR
+MEDUNJANIN FEBRONA
+MEDUNJANIN ISIDOR
+MEDURIĆ DANILO
+MEDURIĆ DRAGOMIR
+MEDURIĆ GORAN
+MEDURIĆ IRENA
+MEDURIĆ JELENA
+MEDURIĆ KOSTA
+MEDURIĆ MILIVOJ
+MEDURIĆ PETAR
+MEDURIĆ SMILJA
+MEDURIĆ ZLATA
+MEDVEDOVIĆ DRAGA
+MEGLAJ BOSILJKA
+MEHAKOVIĆ DANICA
+MEHANDŽISKI VENKO
+MEHMETI HISEN
+MEHMETI RAFET
+MEHMETOJ HASAN
+MEJIĆ NEVENKA
+MEKENJIŠAC VESELIN
+MEKENJIŠAC ZORAN
+MEKIĆ SOFIJA
+MEKINDA MARIJAN DR
+MEKINDA MIRJANA
+MEKINIĆ ANTE
+MEKINIĆ MIRJANA
+MEKINIĆ TONKA
+MELAR ANDRAŠ
+MELAR JELENA
+MELAR LJUDEVIT
+MELEG JANKO
+MELEG JOVAN
+MELEG JOVAN
+MELEG MIŠA
+MELEG VLADIMIR
+MELERT VENDEL
+MELINK DUŠANKA
+MELINK JOHAN
+MELJA JULIJANA
+MELJKUTI FERENC
+MELJKUTI JOŽEF
+MELJKUTI KARLO
+MELJKUTI ORBAN
+MELJNIK ILIJA
+MELJNIKOV DESANKA
+MELKUS BOŽA
+MELKUS BORIVOJ
+MELKUS KATICA
+MELKUS MIRJANA
+MELKUS VOJISLAV
+MELO ALEKSANDAR
+MELOVIĆ DEJAN
+MELOVIĆ MILOVAN
+MELVAN ERŽEBET
+MELVAN PETAR
+MELVAN ZORAN
+MELVINGER ALOJZIJA
+MEMAROVIĆ RADOVAN
+MEMEDOVIĆ BORISLAV
+MEMEDOVIĆ BOSILJKA
+MEMEDOVSKI UZEIR
+MEMIŠEVIĆ IBRAHIM
+MEMIŠEVIĆ ISMAIL
+MEMIŠEVIĆ MARJAN
+MEMIŠEVIĆ MEHMED
+MEMIŠEVIĆ RAŠIDA
+MEMIŠI TEFIK
+MEMIDŽAN REDŽO
+MENĐAN ŠANDOR
+MENĐAN MARIJA
+MENĐAN PAVEL
+MENĐAN RASTISLAV
+MENDEBABA BORISLAV
+MENDEBABA PANTA
+MENDEL ELIZABETA
+MENDRAGIĆ ĐORĐE
+MENDREI HELENA
+MENEŠI BELA
+MENEŠI IRENA
+MENEŠI LASLO
+MENGL IREN
+MENGL LAJOŠ
+MENIČANIN JELA
+MENIČANIN STEVAN
+MENIĆANIN PETAR
+MENJAK IVAN
+MENZILDŽIĆ GABRIJELA
+MERČ JANOŠ
+MERČA STEVAN
+MERŠ MILAN
+MERŽA KAROLJ
+MERĐELOŠKI MILICA
+MERC EVA
+MERDIĆ MIROSLAV
+MERDOVIĆ MILKA
+MEREI KATALIN
+MEREI MARGITA
+MERGANC KATICA
+MERGEŠ JANOŠ
+MERGEL MARIJA
+MERIČAR RADOJICA
+MERKOVIĆ ALEKSANDAR
+MERKOVIĆ ALOJZ
+MERKOVIĆ ANKICA
+MERKOVIĆ JUDIT
+MERKOVIĆ LJUDEVIT
+MERKOVIĆ NIKOLA
+MERKOVIĆ PETAR
+MERKOVIĆ SILVIA
+MERKOVIĆ SVETISLAVA
+MERKOVIĆ VERA
+MERKULOV LJILJANA
+MERKVA EMA
+MERKVA JOŽEF
+MERNJAK FRANJO
+MESAK NIKOLA
+MESARIĆ GABRIJELA
+MESAROŠ ŠANDOR DR
+MESAROŠ ĐURA
+MESAROŠ ANDRAŠ
+MESAROŠ ARPAD
+MESAROŠ ATILA
+MESAROŠ BALAŽ
+MESAROŠ FERENC
+MESAROŠ FRANJA
+MESAROŠ GEZA
+MESAROŠ GEZA
+MESAROŠ GORAN
+MESAROŠ IŠTVAN
+MESAROŠ IŠTVAN
+MESAROŠ ILONA
+MESAROŠ ILONA
+MESAROŠ IMRE
+MESAROŠ JELENA
+MESAROŠ JELICA
+MESAROŠ JOSIF
+MESAROŠ JOSO
+MESAROŠ KARLO
+MESAROŠ KATICA
+MESAROŠ LAJOŠ
+MESAROŠ LASLO
+MESAROŠ LEON
+MESAROŠ MIHALJ
+MESAROŠ MIKLOŠ
+MESAROŠ PAVLE
+MESAROŠ PIROŠKA
+MESAROŠ STEVAN
+MESAROŠ TIBOR
+MESAROŠ TIBOR
+MESAROŠ ZOLTAN
+MESAROŠ ZORA DIPL ING
+MESAROŠ ZORICA
+MESAROVIĆ DUŠAN
+MESAROVIĆ JOVAN
+MESAROVIĆ MARGITA
+MESAROVIĆ MILAN
+MESAROVIĆ SVETOLIK
+MESEŠAN GEZA
+MESELDŽIJA ŽIVKO
+MESELDŽIJA NADEŽDA
+MESELDŽIJA OSTOJA
+MESELDŽIJA RAJKO
+MESELDŽIJA SLAVICA
+MESELDŽIJA STANIMIR
+METELJSKI SERGIJE
+METODIJEVIĆ MILOSAV
+MEZE JULIJANA
+MEZEŠ IMRE
+MEZEI ŠANDOR
+MEZEI JOŽEF
+MEZEI LADISLAV
+MEZEI LASLO
+MEZEI SNEŽANA
+MEZEI STEVAN DR
+MEZEI STEVAN
+MIČA JOSIP
+MIČA JOVAN
+MIČIĆ-ĐERMANOV VIDA
+MIČIĆ BOŠKO
+MIČIĆ BOŠKO
+MIČIĆ MIRJANA
+MIČIĆ-MITROVIĆ MILICA
+MIČIĆ NEDELJKO
+MIČIĆ SNEŽANA
+MIČIĆ SOFIJA
+MIČIĆ ZORA
+MIČURIN JOSIP
+MIŠČEVIĆ BRANKO
+MIŠČEVIĆ BRANKO
+MIŠČEVIĆ DUŠAN
+MIŠČEVIĆ DUŠAN
+MIŠČEVIĆ ILIJA
+MIŠČEVIĆ IVANKA
+MIŠČEVIĆ MARIJA
+MIŠČEVIĆ MICA
+MIŠČEVIĆ MILADIN
+MIŠČEVIĆ MILAN
+MIŠČEVIĆ NIKOLA
+MIŠČEVIĆ OLGA
+MIŠČEVIĆ PETAR
+MIŠČEVIĆ PETAR
+MIŠČEVIĆ PETAR
+MIŠČEVIĆ VLADIMIR
+MIŠČEVIĆ ZLATKO
+MIŠAN LAZAR
+MIŠANOVIĆ DRAGOLJUB
+MIŠANOVIĆ SIMO
+MIŠELIĆ JEFTA
+MIŠIĆ ČEDOMIR
+MIŠIĆ ĐURA
+MIŠIĆ ALEKSANDAR
+MIŠIĆ ALEKSANDAR
+MIŠIĆ ALEKSANDAR
+MIŠIĆ ANĐELIJA
+MIŠIĆ ANĐELKA
+MIŠIĆ ANA
+MIŠIĆ BOGDAN
+MIŠIĆ BUDIMIR
+MIŠIĆ DRAGICA
+MIŠIĆ DRAGICA
+MIŠIĆ ETJEN
+MIŠIĆ GORAN
+MIŠIĆ IVAN
+MIŠIĆ IVAN
+MIŠIĆ JAGODA
+MIŠIĆ JAKOV
+MIŠIĆ JASMINA
+MIŠIĆ JOSIP
+MIŠIĆ JOVAN
+MIŠIĆ LAZAR
+MIŠIĆ LAZAR
+MIŠIĆ LINKA
+MIŠIĆ LJILJANA
+MIŠIĆ LJUBO
+MIŠIĆ MARIJA
+MIŠIĆ MARKO
+MIŠIĆ MILAN
+MIŠIĆ MILAN
+MIŠIĆ MILAN
+MIŠIĆ MILAN
+MIŠIĆ MILAN
+MIŠIĆ MILOSAVKA
+MIŠIĆ MILOVAN
+MIŠIĆ MIODRAG
+MIŠIĆ MIOMIR
+MIŠIĆ MIRJANA
+MIŠIĆ MIROSLAV
+MIŠIĆ MIROSLAV
+MIŠIĆ NADA
+MIŠIĆ NENAD
+MIŠIĆ NESTOR
+MIŠIĆ NIKOLA
+MIŠIĆ PETAR
+MIŠIĆ PREDRAG
+MIŠIĆ RADE
+MIŠIĆ RADIVOJE
+MIŠIĆ RADIVOJE
+MIŠIĆ RADOJKA
+MIŠIĆ RANKO
+MIŠIĆ SAVA
+MIŠIĆ SLAVKO
+MIŠIĆ SLOBODAN
+MIŠIĆ SLOBODAN
+MIŠIĆ SLOBODAN
+MIŠIĆ SOFIJA
+MIŠIĆ STIPO
+MIŠIĆ STJEPAN
+MIŠIĆ SVETOZAR
+MIŠIĆ SVETOZAR
+MIŠIĆ TODOR DR
+MIŠIĆ TUGOMIR
+MIŠIĆ VASA
+MIŠIĆ VIDOSAVA
+MIŠIĆ VLADICA
+MIŠIĆ VOJIN
+MIŠIĆ ZDRAVKO
+MIŠIĆ ZORAN
+MIŠIĆ ZORA
+MIŠIĆ ZORICA
+MIŠIĆ ZVONIMIR
+MIŠINSKI JELENA
+MIŠKAR JOVAN
+MIŠKELJIN BOŠKO
+MIŠKIĆ ŠIMUN
+MIŠKIĆ DUŠAN
+MIŠKIĆ IVAN
+MIŠKIĆ MILAN
+MIŠKIĆ RAJKO
+MIŠKIĆ RANKO
+MIŠKIĆ SVETISLAVKA
+MIŠKIĆ VITOMIR
+MIŠKIĆEVIĆ BORIVOJ
+MIŠKLJIN KATICA
+MIŠKOV ĐURĐINKA
+MIŠKOV ALEKSANDAR
+MIŠKOV ANGELINA
+MIŠKOV ANKA
+MIŠKOV ANKICA
+MIŠKOV AVRAM
+MIŠKOV BILJANA
+MIŠKOV BOJKA
+MIŠKOV BRANIMIR
+MIŠKOV BRANKO
+MIŠKOV IVICA
+MIŠKOV JOVAN
+MIŠKOV KATARINA
+MIŠKOV KATARINA
+MIŠKOV LJUBICA
+MIŠKOV LJUBICA
+MIŠKOV MAKSA
+MIŠKOV MARICA
+MIŠKOV MILOŠ
+MIŠKOV MILOVAN
+MIŠKOV MIROSLAV
+MIŠKOV NADA
+MIŠKOV NEVENKA
+MIŠKOV NIKOLA
+MIŠKOV NOVA
+MIŠKOV RADIVOJ
+MIŠKOV SAVA DIPL ING
+MIŠKOV SAVA
+MIŠKOV STANKA
+MIŠKOV STEVAN
+MIŠKOV VESNA
+MIŠKOV VESNA
+MIŠKOV ZAGORKA
+MIŠKOV ZLATA
+MIŠKOVIĆ ŽIVKO
+MIŠKOVIĆ ĐORĐE
+MIŠKOVIĆ ĐORĐE
+MIŠKOVIĆ ĐORĐE
+MIŠKOVIĆ ALEKSANDRA
+MIŠKOVIĆ ANA
+MIŠKOVIĆ ANA
+MIŠKOVIĆ ARSA
+MIŠKOVIĆ BLAŽO
+MIŠKOVIĆ BOŽIDAR
+MIŠKOVIĆ BOJANA
+MIŠKOVIĆ BOJAN
+MIŠKOVIĆ BORIVOJ
+MIŠKOVIĆ BRANISLAV
+MIŠKOVIĆ BRANKO
+MIŠKOVIĆ CVETKO
+MIŠKOVIĆ DANČIKA
+MIŠKOVIĆ DARINKA
+MIŠKOVIĆ DELINKA
+MIŠKOVIĆ DRAGAN
+MIŠKOVIĆ DRAGORAD
+MIŠKOVIĆ DUBRAVKA
+MIŠKOVIĆ ILIJA
+MIŠKOVIĆ ILIJA
+MIŠKOVIĆ ILONKA
+MIŠKOVIĆ JOCA
+MIŠKOVIĆ JOVAN
+MIŠKOVIĆ LAZAR
+MIŠKOVIĆ LJUBICA
+MIŠKOVIĆ LJUBICA
+MIŠKOVIĆ MARKO
+MIŠKOVIĆ MIHAJLO
+MIŠKOVIĆ MILKA
+MIŠKOVIĆ MILOŠ
+MIŠKOVIĆ MILOJE
+MIŠKOVIĆ MILORAD
+MIŠKOVIĆ MIODRAG
+MIŠKOVIĆ MIRJANA
+MIŠKOVIĆ MIRKO
+MIŠKOVIĆ MIRKO
+MIŠKOVIĆ MIRKO
+MIŠKOVIĆ MIROSLAVA
+MIŠKOVIĆ NENAD
+MIŠKOVIĆ NIĆIFOR
+MIŠKOVIĆ OBRAD
+MIŠKOVIĆ OLGICA
+MIŠKOVIĆ PETAR
+MIŠKOVIĆ RADE
+MIŠKOVIĆ RADIVOJ MR
+MIŠKOVIĆ RADOSLAV
+MIŠKOVIĆ RANKO
+MIŠKOVIĆ SAŠA
+MIŠKOVIĆ SAVKA
+MIŠKOVIĆ STANKA
+MIŠKOVIĆ STEVAN
+MIŠKOVIĆ STEVAN
+MIŠKOVIĆ TANJA
+MIŠKOVIĆ VIDOSAVA
+MIŠKOVIĆ VIJENCESLAV
+MIŠKOVIĆ VUKICA
+MIŠKOVIĆ VUKICA
+MIŠKOVIĆ ZRNKA
+MIŠKOVIC LJUDEVIT
+MIŠKOVIC ZUZANA
+MIŠKULIN DRAGIŠA
+MIŠKULIN NADA
+MIŠKULIN NIKOLA
+MIŠLJENOVIĆ MIODRAG
+MIŠLOV LJUBICA
+MIŠOVIĆ MIRKO
+MIŠOVSKI RISTO
+MIŠULIĆ PETAR
+MIŠULIĆ VIDAK
+MIŠULIĆ VOJISLAV
+MIŠURA IVAN
+MIĆAŠEVIĆ BOŠKO
+MIĆAŠEVIĆ SAVA
+MIĆANOVIĆ DRAGAN
+MIĆANOVIĆ DRAGIŠA
+MIĆANOVIĆ MARJAN
+MIĆEVIĆ DUŠAN
+MIĆEVIĆ SOFIJA
+MIĆIĆ ĐORĐE
+MIĆIĆ ĐURĐINA
+MIĆIĆ BOJANA
+MIĆIĆ BRANISLAV
+MIĆIĆ BRANKA
+MIĆIĆ BRANKO DIPL ING
+MIĆIĆ BRANO
+MIĆIĆ CVIJETIN
+MIĆIĆ DRAGOLJUB
+MIĆIĆ DUŠAN DIPL PRAVNIK
+MIĆIĆ DUŠAN
+MIĆIĆ DUŠAN
+MIĆIĆ ILIJA
+MIĆIĆ JOVANKA
+MIĆIĆ KONSTANTINA
+MIĆIĆ KRSTA
+MIĆIĆ LJUBOMIR
+MIĆIĆ LJUBOMIR
+MIĆIĆ MARIJA
+MIĆIĆ MIHAJLO
+MIĆIĆ MILANA
+MIĆIĆ MILENA
+MIĆIĆ MILENKO DIPL ING
+MIĆIĆ MILICA
+MIĆIĆ MILICA
+MIĆIĆ MILKA
+MIĆIĆ MILORAD
+MIĆIĆ MIROSLAV
+MIĆIĆ OLIVERA
+MIĆIĆ OZREN
+MIĆIĆ RADMILA
+MIĆIĆ RADOJICA
+MIĆIĆ RADOVAN
+MIĆIĆ RODOLJUB
+MIĆIĆ SLAVICA
+MIĆIĆ SLAVKO
+MIĆIĆ SMILJA
+MIĆIĆ STOJAN
+MIĆIĆ SUZANA
+MIĆIĆ VELIMIR
+MIĆIĆ VLADIMIR
+MIĆIN ŽARKO
+MIĆIN ĐORĐE
+MIĆIN DUŠKO
+MIĆIN LAZA
+MIĆIN MILICA
+MIĆIN RADOVAN
+MIĆIN UROŠ
+MIĆKOVIĆ MILINKO
+MIĆOVIĆ ČEDOMIR
+MIĆOVIĆ BORISLAV
+MIĆOVIĆ BOSILJKA
+MIĆOVIĆ JANKO
+MIĆOVIĆ KOSTADIN DR
+MIĆOVIĆ MILAN
+MIĆOVIĆ MIRJANA
+MIĆOVIĆ NEBOJŠA DIPL ING
+MIĆOVIĆ PREDRAG DIPL ING
+MIĆOVIĆ STOJANKA
+MIĆOVIĆ VELIMIR
+MIĆUNOVIĆ DRAGUTIN
+MIĆUNOVIĆ MARICA
+MIĆUNOVIĆ STANKA
+MIĆUNOVIĆ VLADO
+MIĆUNOVIĆ VOJISLAVKA
+MIAVEC MAĆAŠ
+MICAI MARIJA
+MICIĆ DRAGAN
+MICIĆ DRAGOLJUB
+MICIĆ DRAGOLJUB
+MICIĆ DUŠAN
+MICIĆ KRSTA DR
+MICIĆ MIRKO
+MICKOV BLAGOJ
+MICKOV ELENA
+MIDI NENAD
+MIDIĆ ĐORĐE
+MIDIĆ BORIVOJ
+MIDIĆ-DUNĐERSKI MILENA
+MIDIĆ JELENA
+MIDIĆ JOVAN
+MIDIĆ LJUBIŠA
+MIDIĆ MILENKO
+MIDIĆ MILORAD
+MIDIĆ SLOBODAN
+MIDIĆ STEVAN
+MIDIĆ SVETOZAR
+MIDIĆ SVETOZAR
+MIDIĆ ZORKA
+MIGLINCI BARBARA
+MIGLINCI ETELKA
+MIGLINCI JELENA
+MIGLINCI LASLO
+MIHAILOVIĆ ČEDOMIR
+MIHAILOVIĆ ĐOKO
+MIHAILOVIĆ DRAGUTIN
+MIHAILOVIĆ GORAN
+MIHAILOVIĆ JOVAN
+MIHAILOVIĆ KOSTADIN
+MIHAILOVIĆ LJUBICA
+MIHAILOVIĆ MILAN
+MIHAILOVIĆ MILOŠ
+MIHAILOVIĆ MIODRAG
+MIHAILOVIĆ MIROSLAV
+MIHAILOVIĆ MIROSLAV
+MIHAILOVIĆ SLAVOLJUB
+MIHAILOVIĆ SVETLANA
+MIHAILOVIĆ SVETOZAR
+MIHAILOVIĆ VELIBOR
+MIHAILOVIĆ VERA DR
+MIHAILOVIĆ VOJISLAV
+MIHAILOVIĆ ZORAN
+MIHAJLJEVIĆ RATOMIR
+MIHAJLO LJAVO
+MIHAJLOV ŽIVA
+MIHAJLOV ĐORĐE
+MIHAJLOV ALEKSANDAR DR
+MIHAJLOV BOGDAN
+MIHAJLOV BRANISLAV
+MIHAJLOV DRAGANA
+MIHAJLOV DRAGAN
+MIHAJLOV DUŠAN
+MIHAJLOV IVAN
+MIHAJLOV JOVANKA
+MIHAJLOV LAZAR
+MIHAJLOV LJILJANA
+MIHAJLOV MARIJA
+MIHAJLOV MILAN
+MIHAJLOV MILOŠ
+MIHAJLOV MILORAD
+MIHAJLOV MILOVAN
+MIHAJLOV MILOVAN
+MIHAJLOV MIROSLAVA
+MIHAJLOV NIKOLA
+MIHAJLOV OLGA
+MIHAJLOV RADOJKA
+MIHAJLOV RADOSLAV
+MIHAJLOV SPASOJE
+MIHAJLOV VERA
+MIHAJLOV VESELIN
+MIHAJLOV VIDOSAV
+MIHAJLOV ZORAN
+MIHAJLOVIĆ ČEDOMIR
+MIHAJLOVIĆ ČEDO
+MIHAJLOVIĆ ŽARKO
+MIHAJLOVIĆ ŽARKO
+MIHAJLOVIĆ ŽELJKO
+MIHAJLOVIĆ ŽIVKO
+MIHAJLOVIĆ ŽIVOJIN
+MIHAJLOVIĆ ĐORĐE
+MIHAJLOVIĆ ĐORĐE
+MIHAJLOVIĆ ĐORĐE
+MIHAJLOVIĆ ĐURA
+MIHAJLOVIĆ ANĐELKO
+MIHAJLOVIĆ ANICA
+MIHAJLOVIĆ ANKA
+MIHAJLOVIĆ BOŠKO
+MIHAJLOVIĆ BOGOLJUB DR
+MIHAJLOVIĆ BOGOLJUB
+MIHAJLOVIĆ BRANISLAV
+MIHAJLOVIĆ BRANISLAV
+MIHAJLOVIĆ BRANISLAV
+MIHAJLOVIĆ BRANKA
+MIHAJLOVIĆ BRANKO
+MIHAJLOVIĆ BRANKO
+MIHAJLOVIĆ BRANKO
+MIHAJLOVIĆ BRANKO
+MIHAJLOVIĆ DANKA
+MIHAJLOVIĆ DARINKA
+MIHAJLOVIĆ DEJAN
+MIHAJLOVIĆ DEJAN
+MIHAJLOVIĆ DELIJA
+MIHAJLOVIĆ DIMITRIJE
+MIHAJLOVIĆ DRAGIŠA
+MIHAJLOVIĆ DRAGOLJUB DR LEKAR
+MIHAJLOVIĆ DRAGOLJUB
+MIHAJLOVIĆ DRAGOLJUB
+MIHAJLOVIĆ DRENKA
+MIHAJLOVIĆ DUŠANKA
+MIHAJLOVIĆ DUŠAN
+MIHAJLOVIĆ DUŠAN
+MIHAJLOVIĆ DUŠAN
+MIHAJLOVIĆ DUŠKO
+MIHAJLOVIĆ ERNEST
+MIHAJLOVIĆ FRANJA
+MIHAJLOVIĆ GOJKO
+MIHAJLOVIĆ GORDANA
+MIHAJLOVIĆ GORDANA
+MIHAJLOVIĆ ILE
+MIHAJLOVIĆ ILIJA
+MIHAJLOVIĆ ILIJA
+MIHAJLOVIĆ ILIJA
+MIHAJLOVIĆ ILIJA
+MIHAJLOVIĆ ILIJA
+MIHAJLOVIĆ ILIJA
+MIHAJLOVIĆ IVANKA
+MIHAJLOVIĆ JASMINA DR
+MIHAJLOVIĆ JELA
+MIHAJLOVIĆ JELENKO
+MIHAJLOVIĆ JELICA
+MIHAJLOVIĆ JELICA
+MIHAJLOVIĆ JOKA
+MIHAJLOVIĆ JOVAN DIPL ING
+MIHAJLOVIĆ JOVAN
+MIHAJLOVIĆ JOVAN
+MIHAJLOVIĆ JOVAN
+MIHAJLOVIĆ JOVAN
+MIHAJLOVIĆ JULIJANA
+MIHAJLOVIĆ KATICA
+MIHAJLOVIĆ KOSTA
+MIHAJLOVIĆ KRISTINA
+MIHAJLOVIĆ KSENIJA
+MIHAJLOVIĆ LAZO
+MIHAJLOVIĆ LENKA
+MIHAJLOVIĆ LENKA
+MIHAJLOVIĆ LEPOSAVA
+MIHAJLOVIĆ LJUBIŠA
+MIHAJLOVIĆ LJUBO
+MIHAJLOVIĆ MARGITA
+MIHAJLOVIĆ MARIJA
+MIHAJLOVIĆ MARIJA
+MIHAJLOVIĆ MIĆA
+MIHAJLOVIĆ MIHAJLO
+MIHAJLOVIĆ MILADIN
+MIHAJLOVIĆ MILAN
+MIHAJLOVIĆ MILAN
+MIHAJLOVIĆ MILAN
+MIHAJLOVIĆ MILAN
+MIHAJLOVIĆ MILA
+MIHAJLOVIĆ MILENKO
+MIHAJLOVIĆ MILENKO
+MIHAJLOVIĆ MILETA
+MIHAJLOVIĆ MILE
+MIHAJLOVIĆ MILICA
+MIHAJLOVIĆ MILORAD DIPL ING
+MIHAJLOVIĆ MILORAD
+MIHAJLOVIĆ MILORAD
+MIHAJLOVIĆ MILOVAN
+MIHAJLOVIĆ MILUN
+MIHAJLOVIĆ MIRA
+MIHAJLOVIĆ MIRKO
+MIHAJLOVIĆ MIRKO
+MIHAJLOVIĆ MIRKO
+MIHAJLOVIĆ MIROLJUB DIPL ING
+MIHAJLOVIĆ MIROSLAV
+MIHAJLOVIĆ MIROSLAV
+MIHAJLOVIĆ MIROSLAV
+MIHAJLOVIĆ MOMČILO
+MIHAJLOVIĆ NADA
+MIHAJLOVIĆ NADA
+MIHAJLOVIĆ NADA
+MIHAJLOVIĆ NADIRA
+MIHAJLOVIĆ NEBOJŠA
+MIHAJLOVIĆ NEDELJKO
+MIHAJLOVIĆ NEDELJKO
+MIHAJLOVIĆ NIKOLA
+MIHAJLOVIĆ NIKOLA
+MIHAJLOVIĆ NIKOLA
+MIHAJLOVIĆ NOVAK
+MIHAJLOVIĆ OLIVERA
+MIHAJLOVIĆ OSTOJA
+MIHAJLOVIĆ PETAR
+MIHAJLOVIĆ PRVOSLAV
+MIHAJLOVIĆ RADE
+MIHAJLOVIĆ RADIVOJ
+MIHAJLOVIĆ RADMILA
+MIHAJLOVIĆ RADMILA
+MIHAJLOVIĆ RADOMIR
+MIHAJLOVIĆ RADOSLAV
+MIHAJLOVIĆ RADOSLAV
+MIHAJLOVIĆ RADOVAN
+MIHAJLOVIĆ RADOVAN
+MIHAJLOVIĆ RADOVAN
+MIHAJLOVIĆ ROZALIJA
+MIHAJLOVIĆ RUŽICA
+MIHAJLOVIĆ RUŽICA
+MIHAJLOVIĆ SANJA
+MIHAJLOVIĆ SAVA
+MIHAJLOVIĆ SAVA
+MIHAJLOVIĆ SAVA
+MIHAJLOVIĆ SAVO
+MIHAJLOVIĆ SINIŠA
+MIHAJLOVIĆ SLAVICA
+MIHAJLOVIĆ SLAVKO
+MIHAJLOVIĆ SLAVOLJUPKA
+MIHAJLOVIĆ SLOBODAN
+MIHAJLOVIĆ SLOBODAN
+MIHAJLOVIĆ SMILJANA
+MIHAJLOVIĆ SOFIJA
+MIHAJLOVIĆ SRĐA
+MIHAJLOVIĆ SRBISLAV DR LEKAR
+MIHAJLOVIĆ SRETEN
+MIHAJLOVIĆ SRETKO
+MIHAJLOVIĆ STANIŠA DIPL ING
+MIHAJLOVIĆ STANISLAVA
+MIHAJLOVIĆ STANKO
+MIHAJLOVIĆ STEVAN
+MIHAJLOVIĆ STEVAN
+MIHAJLOVIĆ STEVA
+MIHAJLOVIĆ STEVICA
+MIHAJLOVIĆ STOJAN
+MIHAJLOVIĆ STOJAN
+MIHAJLOVIĆ-SUBIĆ JOVANKA
+MIHAJLOVIĆ SVETOZAR
+MIHAJLOVIĆ SVETOZAR
+MIHAJLOVIĆ SVETOZAR
+MIHAJLOVIĆ TUGOMIR
+MIHAJLOVIĆ UROŠ
+MIHAJLOVIĆ VASA
+MIHAJLOVIĆ VERA
+MIHAJLOVIĆ VITOMIR
+MIHAJLOVIĆ VLADIMIR
+MIHAJLOVIĆ VLADIMIR
+MIHAJLOVIĆ VOJISLAV
+MIHAJLOVIĆ ZORANA
+MIHAJLOVIĆ ZORICA
+MIHAJLOVSKI LJUBINKA
+MIHAJLOVSKI MIROSLAV
+MIHAJLOVSKI VLADIMIR
+MIHALAČKI MIHAILO
+MIHALAČKI SLOBODAN
+MIHALEC ANGELINA
+MIHALEC MARIJA
+MIHALEK IVAN
+MIHALEK MARIJA
+MIHALENKO STEVAN
+MIHALIĆ PETAR
+MIHALIK-TIR ZUZANA
+MIHALJ ESTER
+MIHALJ MARIJA DR
+MIHALJ MIHAJLO DR
+MIHALJ MIROSLAV DR
+MIHALJ VLADIMIR
+MIHALJČEVIĆ ALOJZIJE
+MIHALJČIĆ DRAGAN
+MIHALJČIĆ GOJKO
+MIHALJČIĆ ILE
+MIHALJČIĆ JOVAN
+MIHALJČIĆ JOVAN
+MIHALJČIĆ LUKA
+MIHALJČIĆ MITAR
+MIHALJČIĆ SPASOJE
+MIHALJEV ŽELJKO
+MIHALJEV IVAN DR
+MIHALJEV STOJAN
+MIHALJEVIĆ ANTON
+MIHALJEVIĆ EMIL
+MIHALJEVIĆ IVAN
+MIHALJEVIĆ MILAN
+MIHALJEVIĆ RUŽICA
+MIHALJEVIĆ ZDRAVKO
+MIHALJFI MARIKA
+MIHALJI MARIJA
+MIHALJIČIĆ BRANKO
+MIHALJIČIĆ DMITAR
+MIHALJIČIĆ JOVANKA
+MIHALJIČIĆ SIMO
+MIHALJIČIĆ TODE
+MIHALJICA ANĐA
+MIHALJICA BOŽO
+MIHALJICA CVETKO
+MIHALJICA MIRA
+MIHALJKA BRANISLAV
+MIHALJOVSKI DANILO
+MIHALOVIĆ BRANKO
+MIHALOVIĆ GROZDANA
+MIHELJ FRANJO
+MIHEVC IVANKA
+MIHIĆ ČEDOMIR
+MIHIĆ BOŽIDAR
+MIHIĆ MILAN
+MIHIĆ MILAN
+MIHIĆ MILENA
+MIHIĆ RISTO
+MIHIĆ RISTO
+MIHIĆ SAVA DIPL ING
+MIHIĆ VERA
+MIHIĆ VLADIMIR
+MIHIĆ VOJISLAVKA
+MIHIĆ ZORAN
+MIHLIC PETAR
+MIHNJAK JOAKIM
+MIHNJAK KATICA
+MIHNJAK LADISLAV
+MIHNJAK MELANIJA
+MIHNJAK NADA
+MIHNJAK PETAR
+MIHOCI FRANJA
+MIHOCI ZVONIMIR
+MIHOJEVIĆ ĐORĐE
+MIHOJEVIĆ MILENA
+MIHOJEVIĆ NIKOLA
+MIHOJEVIĆ SNEŽANA
+MIHOLČIĆ STEVICA
+MIHOLJEVIĆ EMA
+MIHOLJEVIĆ MILOTKA
+MIJAČ SLAVKO
+MIJAČEVIĆ MILAN
+MIJADŽEVIĆ JOVO
+MIJAILOVIĆ ĐORĐE
+MIJAILOVIĆ MILIVOJE
+MIJAILOVIĆ PANTELIJA
+MIJAILOVIĆ RANISAV
+MIJAILOVIĆ RANKO
+MIJAILOVIĆ STANOJE
+MIJAJLOVIĆ AJNA
+MIJAJLOVIĆ VUKOSAVA
+MIJALČIĆ MILAN
+MIJALČIĆ SAVA
+MIJALČIĆ ZORA
+MIJALICA SVETOSLAV
+MIJANOVIĆ ĐORĐE
+MIJANOVIĆ ĐORĐE
+MIJANOVIĆ MILICA
+MIJANOVIĆ MILOŠ
+MIJANOVIĆ MILORAD
+MIJANOVIĆ MILORAD
+MIJANOVIĆ PAVLE
+MIJANOVIĆ RADOMIR
+MIJAT IVAN
+MIJAT MILANKA
+MIJAT ROKO
+MIJAT TOMISLAV
+MIJATOV ŽIVKA
+MIJATOV ALEKSANDAR
+MIJATOV ANĐELKA
+MIJATOV BRANISLAV
+MIJATOV DRAGIĆ
+MIJATOV DRAGICA
+MIJATOV IVAN
+MIJATOV IVAN
+MIJATOV JOSA
+MIJATOV KATICA
+MIJATOV LAZAR
+MIJATOV LJUBINKA
+MIJATOV LJUBOMIR
+MIJATOV MILADIN
+MIJATOV MILAN
+MIJATOV MILAN
+MIJATOV MILAN
+MIJATOV MILA
+MIJATOV MILENKO
+MIJATOV MILOŠ
+MIJATOV MILORAD
+MIJATOV MIODRAG
+MIJATOV MIRJANA
+MIJATOV RADIVOJ
+MIJATOV RADOVAN
+MIJATOV SAVA
+MIJATOV SAVKA
+MIJATOV SLAVKO
+MIJATOV SMILJKA
+MIJATOV STEVAN
+MIJATOV VIDOSAVA
+MIJATOV VOJIN
+MIJATOV ZLATINKA
+MIJATOVIĆ ŽIVAN
+MIJATOVIĆ ĐORĐE
+MIJATOVIĆ ĐUJA
+MIJATOVIĆ ĐURICA
+MIJATOVIĆ ĐURO
+MIJATOVIĆ ALEKSANDRA
+MIJATOVIĆ ANTONIJE
+MIJATOVIĆ BISERKA
+MIJATOVIĆ BOŠKO
+MIJATOVIĆ BOŽIDAR
+MIJATOVIĆ BOŽO
+MIJATOVIĆ BOGOMIR
+MIJATOVIĆ BRANKO
+MIJATOVIĆ DRAGAN
+MIJATOVIĆ DRAGAN
+MIJATOVIĆ DRAGIĆ
+MIJATOVIĆ DRAGI
+MIJATOVIĆ DUŠAN
+MIJATOVIĆ DUŠAN
+MIJATOVIĆ DUŠAN
+MIJATOVIĆ GOJKO
+MIJATOVIĆ ILIJA
+MIJATOVIĆ ILIJA
+MIJATOVIĆ JOVAN
+MIJATOVIĆ JOVAN
+MIJATOVIĆ KATICA
+MIJATOVIĆ KOSTA
+MIJATOVIĆ LAZAR
+MIJATOVIĆ LAZAR
+MIJATOVIĆ LELA
+MIJATOVIĆ LJILJANA
+MIJATOVIĆ LJUBENKO
+MIJATOVIĆ LJUBICA
+MIJATOVIĆ LJUBICA
+MIJATOVIĆ LJUBICA
+MIJATOVIĆ MARTA
+MIJATOVIĆ MATO
+MIJATOVIĆ MIŠA
+MIJATOVIĆ MILAN
+MIJATOVIĆ MILEVA
+MIJATOVIĆ MILIVOJE
+MIJATOVIĆ MILKO
+MIJATOVIĆ MILOŠ
+MIJATOVIĆ MILORAD
+MIJATOVIĆ MILOVAN
+MIJATOVIĆ MIODRAG
+MIJATOVIĆ MIRA
+MIJATOVIĆ MIRJANA
+MIJATOVIĆ MIRJANA
+MIJATOVIĆ NATAŠA
+MIJATOVIĆ NEVENA
+MIJATOVIĆ NIKOLA
+MIJATOVIĆ NOVO
+MIJATOVIĆ OBRAD
+MIJATOVIĆ PERA
+MIJATOVIĆ PETAR
+MIJATOVIĆ-PUŠIĆ BRANISLAVA DR
+MIJATOVIĆ RADIČ
+MIJATOVIĆ RADOSLAV
+MIJATOVIĆ SIMO
+MIJATOVIĆ SNEŽANA
+MIJATOVIĆ STANA
+MIJATOVIĆ TOŠA
+MIJATOVIĆ TOMISLAV
+MIJATOVIĆ VERA
+MIJATOVIĆ VERA
+MIJATOVIĆ VID
+MIJATOVIĆ VLADAN
+MIJATOVIĆ VOJIN ADVOKAT
+MIJATOVIĆ ZDRAVKO DIPL ING
+MIJATOVIĆ ZORAN
+MIJATOVIĆ ZORA
+MIJATOVIĆ ZORICA
+MIJATOVIĆ ZVONIMIR
+MIJAVEC ĐORĐE
+MIJAVEC JOVAN
+MIJAVEC LUDVIG
+MIJAVEC MIHAJLO
+MIJAVEC PAJA
+MIJAVEC ZORA
+MIJIĆ ŽELJKO
+MIJIĆ ŽELJKO
+MIJIĆ ĐORĐE
+MIJIĆ ALEKSANDAR
+MIJIĆ ANTE
+MIJIĆ BRANKO
+MIJIĆ DESANKA
+MIJIĆ DRAGAN
+MIJIĆ DUŠAN
+MIJIĆ ILIJA
+MIJIĆ JANJA
+MIJIĆ MIHAJLO
+MIJIĆ MILAN
+MIJIĆ MILOŠ
+MIJIĆ MIODRAG
+MIJIĆ NIKOLA
+MIJIĆ PERA
+MIJIĆ PETAR
+MIJIĆ PETAR
+MIJIĆ RADOVAN
+MIJIĆ RADOVAN
+MIJIĆ SAVA
+MIJIĆ SVETISLAV
+MIJIĆ TINKA
+MIJIĆ VELJKO
+MIJIĆ VESNA
+MIJIĆ VLADIMIR
+MIJIN BORISLAV
+MIJIN BRANISLAV
+MIJIN JOVA
+MIJIN LAZAR
+MIJIN LAZAR
+MIJIN MILAN
+MIJIN MILEVA
+MIJIN MILICA
+MIJIN MILOŠ
+MIJIN PETAR
+MIJIN PETAR
+MIJIN RADA
+MIJIN SAVA
+MIJIN SIMA
+MIJIN STEVAN
+MIJIN SVETOZAR
+MIJOKOV DRAGAN
+MIJOLIĆ SLOBODAN
+MIJOLJEVIĆ MILENKO
+MIJOVIĆ ŽARKO
+MIJOVIĆ DRAGICA
+MIJOVIĆ GAVRILO
+MIJOVIĆ RADOJKA
+MIJOVIĆ VERA
+MIJUČIĆ STEVAN
+MIJUČIĆ VERA
+MIJUČIN MILKA
+MIJUŠKOVIĆ DRAGICA
+MIJUŠKOVIĆ JOVAN
+MIJUŠKOVIĆ MILIVOJE
+MIJUŠKOVIĆ OBREN
+MIJUŠKOVIĆ RADE
+MIJUŠKOVIĆ RADMILA
+MIJUŠKOVIĆ TINKA
+MIKŠA MILAN
+MIKŠIĆ ČEDOMIR
+MIKŠIĆ OTON
+MIKŠIĆ SLOBODAN
+MIKAŠINOVIĆ BILJANA
+MIKAŠINOVIĆ SAVA
+MIKAĆ MILAN
+MIKAC EVKA
+MIKALAČKI ĐORĐE
+MIKALAČKI ALEKSANDAR
+MIKALAČKI DRAGICA
+MIKALAČKI IVANKA
+MIKALAČKI IVANKA
+MIKALAČKI JASMINA
+MIKALAČKI MILUTIN
+MIKALAČKI MIRJANA
+MIKALAČKI PAVLE
+MIKALAČKI UROŠ
+MIKALAČKI ZORAN
+MIKALAČKI ZORAN
+MIKAN BOSILJKA
+MIKAN IVAN
+MIKANOVIĆ DANICA
+MIKANOVIĆ DRAGAN
+MIKANOVIĆ IRENA
+MIKANOVIĆ RANKO
+MIKAVICA STANIMIR
+MIKE ESTER
+MIKEŠ ANDRIJA
+MIKEŠ ENDRE
+MIKEŠ ETEL
+MIKEŠ MELANIJA
+MIKEŠ MIHALJ
+MIKETIĆ MIRJANA
+MIKIĆ ŽARKO
+MIKIĆ ŽARKO
+MIKIĆ ĐURA DR
+MIKIĆ DESIMIR
+MIKIĆ IVAN
+MIKIĆ JOSIP DIPL ING
+MIKIĆ LAZAR
+MIKIĆ MAKSIM
+MIKIĆ MILAN
+MIKIĆ MILENA
+MIKIĆ MILISAV
+MIKIĆ MILKA
+MIKIĆ MILKA
+MIKIĆ MILOVAN
+MIKIĆ MIROSLAV
+MIKIĆ OLGA
+MIKIĆ RADIVOJE
+MIKIĆ RADOJKA
+MIKIĆ RADOSLAVKA
+MIKIĆ RUŽA
+MIKIĆ SLOBODAN
+MIKIĆ SRBOLJUB
+MIKIĆ STOJA
+MIKIĆ TODOR
+MIKIĆ VLADAN
+MIKIĆ ZORKA
+MIKIN NADA
+MIKITIŠIN NADA
+MIKLEV STOJANKA
+MIKLIĆ ĐORĐE
+MIKLIĆ ANA
+MIKLIĆ TEREZA
+MIKLOŠ ANDRAŠ
+MIKLOŠ ANDRIJA
+MIKLOŠ ANTAL
+MIKLOŠ DIMITRIJE
+MIKLOŠ JANKO
+MIKLOŠ JELISAVETA
+MIKLOŠ JULIJAN
+MIKLOŠ NANDOR DR LEKAR
+MIKLOŠ STEVAN
+MIKLOŠ VLADIMIR
+MIKLOVIC JAN
+MIKLOVIC MILOSLAV
+MIKOLA ĐURA
+MIKOLACI LEPOSAVA
+MIKOLECKI SLAVICA
+MIKOLIĆ ALEKSANDAR
+MIKOV JOVANKA
+MIKOV METODI DR LEKAR
+MIKOV MOMIR
+MIKOVIĆ ĐORĐE
+MIKOVIĆ ĐORĐE
+MIKOVIĆ ĐURA
+MIKOVIĆ ALEKSANDAR
+MIKOVIĆ ALEKSANDAR
+MIKOVIĆ DANILO
+MIKOVIĆ DARINKA
+MIKOVIĆ DEJAN
+MIKOVIĆ DESANKA
+MIKOVIĆ JELENA
+MIKOVIĆ LAZAR
+MIKOVIĆ LJILJANA
+MIKOVIĆ MILENA
+MIKOVIĆ MIODRAG
+MIKOVIĆ MLADEN
+MIKOVIĆ MOMČILO DR PRAVNIK
+MIKOVIĆ NADA
+MIKOVIĆ NINOSLAV
+MIKOVIĆ PAVA
+MIKOVIĆ RUŽICA
+MIKOVIĆ SLAVKO
+MIKOVIĆ SNEŽANA
+MIKOVIĆ SREDOJE
+MIKOVILOVIĆ IVAN
+MIKSAT JOŽEF
+MIKUŠ ANĐELKA
+MIKUŠ MILKA
+MIKUŠ MIRJANA
+MIKULESKO DUŠAN
+MIKULESKO SAVO DIPL ING
+MIKULIĆ ŠIME
+MIKULIĆ BILJANA
+MIKULIĆ BLAŽ
+MIKULIĆ EDIT
+MIKULIĆ IVAN
+MIKULIĆ IVAN
+MIKULIĆ IVA
+MIKULIĆ JELISAVETA
+MIKULIĆ LOVRE
+MIKULIĆ MARA
+MIKULIĆ MILE
+MIKULIĆ MILIĆ
+MIKULINAC MATIJA
+MIKULINAC RENETA
+MIKULINAC SLAVICA
+MILČIĆ DRAGAN
+MILČIĆ JOVAN
+MILAČIĆ ŽELJKO
+MILAČIĆ BORIVOJE
+MILAČIĆ BRANISLAV
+MILAČIĆ BRANKO
+MILAČIĆ DUŠAN
+MILAČIĆ IVAN
+MILAČIĆ LJUBOMIR
+MILAČIĆ MAŠAN
+MILAČIĆ MILENKO
+MILAČIĆ SRBOSLAV
+MILAČIĆ SVETOZAR
+MILAČIĆ ZORICA
+MILAŠ DRAGAN
+MILAŠ DUŠANKA
+MILAŠEVIĆ ZORKA
+MILAŠINOVIĆ JOVAN
+MILAŠINOVIĆ LJUBOMIR
+MILAŠINOVIĆ MIĆUN
+MILAŠINOVIĆ MILORAD
+MILAŠINOVIĆ MIRJANA
+MILAŠINOVIĆ MIRKO
+MILAŠINOVIĆ MIRKO
+MILAŠINOVIĆ RADE
+MILAŠINOVIĆ-STANOJEVIĆ LJILJANA
+MILAŠINOVIĆ VUKOMAN
+MILAŠINOVIĆ ZLATOJA
+MILADIĆ ČEDA
+MILADIĆ DOBROMIR
+MILADIĆ PETAR
+MILADINOSKI LEVKO
+MILADINOV ŽARKO
+MILADINOV ŽIVKO
+MILADINOV BOŽIDAR
+MILADINOV DANICA
+MILADINOV DANICA
+MILADINOV DUŠANKA
+MILADINOV DUŠAN
+MILADINOV JOCA
+MILADINOV JOVAN
+MILADINOV JOVAN
+MILADINOV JOVAN
+MILADINOV JOVICA
+MILADINOV LJUBICA
+MILADINOV MARIJA
+MILADINOV MILAN
+MILADINOV MILAN
+MILADINOV MILENA
+MILADINOV MILENKO
+MILADINOV MILOVAN DIPL ING
+MILADINOV MILOVAN
+MILADINOV NADA
+MILADINOV NOVAK
+MILADINOV RADIVOJ
+MILADINOV RADOVAN
+MILADINOV SLAVICA
+MILADINOV SRBINKO
+MILADINOV SVETOZAR
+MILADINOV SVETOZAR
+MILADINOV TIHOMIR
+MILADINOV VESNA
+MILADINOV VJERA
+MILADINOVIĆ ŽIVADIN DIPL ING
+MILADINOVIĆ ŽIVOJIN
+MILADINOVIĆ ĐORĐE
+MILADINOVIĆ ALEKSANDAR
+MILADINOVIĆ ALEKSANDAR
+MILADINOVIĆ BOŽIDAR
+MILADINOVIĆ BRANIMIR
+MILADINOVIĆ BRANKO
+MILADINOVIĆ DAMIR
+MILADINOVIĆ DIVNA
+MILADINOVIĆ DRAGAN
+MILADINOVIĆ DRAGAN
+MILADINOVIĆ DRAGIŠA
+MILADINOVIĆ DRAGOMIR
+MILADINOVIĆ DRAGOSLAV
+MILADINOVIĆ DUŠAN
+MILADINOVIĆ JOVAN
+MILADINOVIĆ JOVAN
+MILADINOVIĆ LJUBICA
+MILADINOVIĆ LJUBINKA
+MILADINOVIĆ MARKO
+MILADINOVIĆ MIHAJLO
+MILADINOVIĆ MILAN
+MILADINOVIĆ MILAN
+MILADINOVIĆ MILAN
+MILADINOVIĆ MILE
+MILADINOVIĆ MILOVAN
+MILADINOVIĆ MIROSLAV
+MILADINOVIĆ NOVICA
+MILADINOVIĆ PREDRAG
+MILADINOVIĆ RADMILO
+MILADINOVIĆ RADOSLAV
+MILADINOVIĆ SLAVKO
+MILADINOVIĆ SLOBODANKA
+MILADINOVIĆ SLOBODAN
+MILADINOVIĆ SLOBODAN
+MILADINOVIĆ SVETOMIR
+MILADINOVIĆ TODE
+MILADINOVIĆ VERA
+MILAK ĐORĐE
+MILAK DARINKA
+MILAK DUŠAN
+MILAK JELENA
+MILAK JOVAN
+MILAK JOVAN
+MILAK KATICA
+MILAK LAZAR
+MILAK MILAN
+MILAK MILAN
+MILAK MILENKO
+MILAK MILOŠ
+MILAK RADOSLAV
+MILAK SAVA
+MILAKOV JELENA DR PROF
+MILAKOV LJUBICA DR
+MILAKOV MIRJANA
+MILAKOVIĆ ĐORĐE
+MILAKOVIĆ ĐURAĐ
+MILAKOVIĆ ĐURO
+MILAKOVIĆ BOSILJKA
+MILAKOVIĆ DANICA
+MILAKOVIĆ DRAGICA
+MILAKOVIĆ DUŠAN
+MILAKOVIĆ GORAN
+MILAKOVIĆ MILAN
+MILAKOVIĆ MILKA
+MILAKOVIĆ MLADEN
+MILAKOVIĆ RADMILA
+MILAKOVIĆ RATOMIR
+MILAKOVIĆ TEODOR
+MILAKOVIĆ VOJISLAV
+MILAKOVIĆ VOJO
+MILAKOVIĆ VUKICA
+MILAKOVIĆ ZORAN
+MILANKO SLAVKO
+MILANKOV ŽIVA
+MILANKOV ŽIVA
+MILANKOV ĐORĐE
+MILANKOV BRANISLAV
+MILANKOV CVETA
+MILANKOV DUŠAN
+MILANKOV IVAN
+MILANKOV JELENA
+MILANKOV JULIJANA
+MILANKOV LAZAR
+MILANKOV MARKO
+MILANKOV MILENKO
+MILANKOV MILIVOJ
+MILANKOV MILKO
+MILANKOV SLAVIMIR
+MILANKOV SOFIJA
+MILANKOV STANIMIR
+MILANKOV STEVAN
+MILANKOVIĆ ĐORĐE
+MILANKOVIĆ ĐORĐE
+MILANKOVIĆ ANA
+MILANKOVIĆ-COKOVIĆ MIRJANA
+MILANKOVIĆ DRAGOLJUB
+MILANKOVIĆ GORAN
+MILANKOVIĆ GORAN
+MILANKOVIĆ ILINKA
+MILANKOVIĆ LAZAR
+MILANKOVIĆ MILANKO
+MILANKOVIĆ MILAN
+MILANKOVIĆ MILEVA
+MILANKOVIĆ RADOSLAV
+MILANKOVIĆ SLOBODAN
+MILANKOVIĆ ZORA
+MILANOV ANICA
+MILANOV ANKA
+MILANOV BOGDAN
+MILANOV BORISLAVA
+MILANOV DOBRIVOJ
+MILANOV JELICA
+MILANOV LJUBIŠA
+MILANOV MILAN
+MILANOV MIODRAG
+MILANOV MIRJANA
+MILANOV MLADEN
+MILANOV PERSIDA
+MILANOV RADIVOJ
+MILANOV SAVKA
+MILANOV SVETOZAR
+MILANOV VUKOSAVA
+MILANOVIĆ ŽELJKO
+MILANOVIĆ ŽIVORAD
+MILANOVIĆ ŽIVOTIJE
+MILANOVIĆ ALEKSANDAR
+MILANOVIĆ BOŠKO
+MILANOVIĆ BOŽIDAR
+MILANOVIĆ BOGDAN
+MILANOVIĆ BRANKO DR
+MILANOVIĆ BRANKO
+MILANOVIĆ CVIJETIN
+MILANOVIĆ DAMJANKA
+MILANOVIĆ DESANKA
+MILANOVIĆ DONKA
+MILANOVIĆ DRAGAN
+MILANOVIĆ DRAGAN
+MILANOVIĆ DRAGAN
+MILANOVIĆ DRAGICA
+MILANOVIĆ DRAGO
+MILANOVIĆ DUŠAN
+MILANOVIĆ GORAN
+MILANOVIĆ GORAN
+MILANOVIĆ ILIJA
+MILANOVIĆ ILIJA
+MILANOVIĆ JASMINA
+MILANOVIĆ KATICA
+MILANOVIĆ LJILJANA
+MILANOVIĆ LJUBIŠA
+MILANOVIĆ LJUBICA
+MILANOVIĆ MARTA
+MILANOVIĆ MIHO
+MILANOVIĆ MILANA
+MILANOVIĆ MILENKO
+MILANOVIĆ MILENKO
+MILANOVIĆ MILIJA
+MILANOVIĆ MILISAV
+MILANOVIĆ MILISAV
+MILANOVIĆ MILOJE
+MILANOVIĆ MILORAD
+MILANOVIĆ MILORAD
+MILANOVIĆ MIODRAG
+MILANOVIĆ MLADEN
+MILANOVIĆ NADA
+MILANOVIĆ-PETRAŠEVIĆ DRAGICA
+MILANOVIĆ RADOSLAV
+MILANOVIĆ RADOVAN
+MILANOVIĆ SAŠA
+MILANOVIĆ SLAVOLJUB
+MILANOVIĆ SLOBODAN
+MILANOVIĆ SVETOMIR
+MILANOVIĆ VIKTORIJA
+MILANOVIĆ VITKO
+MILANOVIĆ VLADIMIR
+MILANOVIĆ VLADIMIR
+MILANOVIĆ VUJO
+MILANOVIĆ ZORAN
+MILANOVIĆ ZORAN
+MILANOVIĆ ZORA
+MILANOVIĆ ZORKA
+MILARIĆ IVAN
+MILATOVIĆ DANILO
+MILATOVIĆ JOVANKA
+MILATOVIĆ VLADIMIR
+MILEŠEV MILICA
+MILEŠEVIĆ OBRAD
+MILEC DOROTEA
+MILEC ILONKA
+MILEI DRAGUTIN
+MILEI JANOŠ
+MILEI TOMISLAV
+MILEKŠIĆ BOGDAN
+MILEKIĆ DUŠAN
+MILEKIĆ MILOMIR
+MILEKIĆ NIKOLA
+MILEKIĆ STEVAN
+MILEKIĆ UROŠ
+MILENKOVIĆ ŽARKO
+MILENKOVIĆ ŽIVOJIN
+MILENKOVIĆ ĐORĐE
+MILENKOVIĆ ĐURĐINA
+MILENKOVIĆ ALEKSANDAR
+MILENKOVIĆ-ANTIĆ LAZAR
+MILENKOVIĆ-BJELAJAC MILANKA
+MILENKOVIĆ BOŽIDAR
+MILENKOVIĆ BOGOMIR
+MILENKOVIĆ BORIVOJE
+MILENKOVIĆ BRANISLAV
+MILENKOVIĆ BRANISLAV
+MILENKOVIĆ BRANKO
+MILENKOVIĆ BRATISLAV
+MILENKOVIĆ BRATISLAV
+MILENKOVIĆ DARINKA
+MILENKOVIĆ DOBRILA
+MILENKOVIĆ DOBRILA
+MILENKOVIĆ DOBRIVOJE
+MILENKOVIĆ DRAGAN DR
+MILENKOVIĆ DRAGOŠ
+MILENKOVIĆ DRAGOLJUB DR
+MILENKOVIĆ DRAGOSLAV
+MILENKOVIĆ DRAGOSLAV
+MILENKOVIĆ DUŠAN
+MILENKOVIĆ DUŠAN
+MILENKOVIĆ ERŽIKA
+MILENKOVIĆ GROZDANA
+MILENKOVIĆ ILONKA
+MILENKOVIĆ IRENA
+MILENKOVIĆ JELICA
+MILENKOVIĆ JEVTO
+MILENKOVIĆ JUGOSLAV
+MILENKOVIĆ JUSTINA
+MILENKOVIĆ KOVILJKA
+MILENKOVIĆ KRSTANA
+MILENKOVIĆ LJILJANA
+MILENKOVIĆ LJILJANA
+MILENKOVIĆ MILIJAN
+MILENKOVIĆ MILISAV
+MILENKOVIĆ MILORAD
+MILENKOVIĆ MILORAD
+MILENKOVIĆ MILOSAV
+MILENKOVIĆ MILUTIN
+MILENKOVIĆ MIODRAG
+MILENKOVIĆ MIROSLAV
+MILENKOVIĆ MIROSLAV
+MILENKOVIĆ MOMČILO
+MILENKOVIĆ NEBOJŠA
+MILENKOVIĆ NENAD
+MILENKOVIĆ NIĆIFOR
+MILENKOVIĆ PAUN
+MILENKOVIĆ PREDRAG
+MILENKOVIĆ RADISAV
+MILENKOVIĆ RADOMIR
+MILENKOVIĆ RADOSLAV
+MILENKOVIĆ RADOVAN
+MILENKOVIĆ SAVA
+MILENKOVIĆ SLAVOLJUB
+MILENKOVIĆ SNEŽANA
+MILENKOVIĆ SRETEN
+MILENKOVIĆ STOJANKA
+MILENKOVIĆ SVETISLAV
+MILENKOVIĆ SVETOMIR
+MILENKOVIĆ TIHOMIR
+MILENKOVIĆ VESELINKA
+MILENKOVIĆ VITOMIR
+MILENKOVIĆ VLADAN
+MILENKOVIĆ ZORICA
+MILENKOVIĆ ZORKA
+MILENKOVSKI BLAGOJE
+MILENKOVSKI MILICA
+MILENOVIĆ ŽIVA
+MILENOVIĆ-BEKIĆ MIRJANA
+MILENOVIĆ BRANKO
+MILENOVIĆ MILORAD
+MILENOVIĆ OLGA
+MILENOVIĆ PREDRAG
+MILENTIJEVIĆ ŽIVORAD
+MILENTIJEVIĆ ZDRAVKO
+MILER BARBARA
+MILER ERŽEBET
+MILER FRANJA
+MILER IMRE DR LEKAR
+MILER IVANKA
+MILER JELENA
+MILER JELICA
+MILER KARLO
+MILER MARIJA
+MILER MIHAJLO
+MILER OTOKAR
+MILER ZLATKO
+MILESKI ATANASIJE
+MILETA NIKOLA
+MILETAŠKI BORIVOJ
+MILETAŠKI MILE
+MILETIĆ ŽIVKO
+MILETIĆ ŽIVOTA
+MILETIĆ ĐORĐE
+MILETIĆ ALEKSANDRA
+MILETIĆ ANA
+MILETIĆ BOŽA
+MILETIĆ BORIŠA
+MILETIĆ BRANISLAV
+MILETIĆ DOBROSAV
+MILETIĆ DRAGICA
+MILETIĆ DUŠAN
+MILETIĆ DUŠAN
+MILETIĆ DUŠAN
+MILETIĆ GOJKO
+MILETIĆ GVOZDEN
+MILETIĆ ILIJA
+MILETIĆ IVICA
+MILETIĆ LJUBICA
+MILETIĆ LJUBISAV
+MILETIĆ MILICA
+MILETIĆ MILIVOJ
+MILETIĆ MILOJE
+MILETIĆ MITA
+MILETIĆ NADA
+MILETIĆ NIKOLA
+MILETIĆ OLGA
+MILETIĆ PETAR
+MILETIĆ RADE
+MILETIĆ RADOŠ
+MILETIĆ RADOJKA
+MILETIĆ RADOSLAV
+MILETIĆ RANKO
+MILETIĆ SEVERINA
+MILETIĆ SLAVKO DR LEKAR
+MILETIĆ SLAVKO
+MILETIĆ SLAVOLJUB
+MILETIĆ SLOBODAN
+MILETIĆ SLOBODAN
+MILETIĆ SONJA
+MILETIĆ STEVAN
+MILETIĆ VELE
+MILETIĆ VELIBOR
+MILETIĆ VELIBOR
+MILETIĆ VELIMIR
+MILETIĆ VIDOSAVA
+MILETIĆ ZDRAVKO
+MILETICKI RADA
+MILETICKI ZORKA
+MILETIN DANA
+MILETIN MIRJANA
+MILETIN NIKOLA
+MILETIN RADIVOJ
+MILETIN SVETOZAR DIPL OEC
+MILETOVIĆ SLAVKO
+MILEUSNIĆ DRAGAN
+MILEUSNIĆ MARKO
+MILEUSNIĆ NADA
+MILEUSNIĆ NADA
+MILEUSNIĆ PETAR
+MILEV PETAR
+MILEVSKI ĐORĐE
+MILHANS STANISLAV
+MILIČEVIĆ ĐURA
+MILIČEVIĆ ARANKA
+MILIČEVIĆ BRANKO
+MILIČEVIĆ DRAGINJA
+MILIČEVIĆ DUŠAN
+MILIČEVIĆ JOVAN
+MILIČEVIĆ KATICA
+MILIČEVIĆ MILAN
+MILIČEVIĆ MILENKO
+MILIČEVIĆ MILICA
+MILIČEVIĆ MILIVOJ
+MILIČEVIĆ MILKAN
+MILIČEVIĆ MLADEN
+MILIČEVIĆ NENAD
+MILIČEVIĆ NOVICA
+MILIČEVIĆ PAVA
+MILIČEVIĆ PERO
+MILIČEVIĆ STANIMIR
+MILIČEVIĆ STEVAN
+MILIČEVIĆ TOMISLAV
+MILIČIĆ ŽARKO
+MILIČIĆ ALEKSANDAR
+MILIČIĆ ANA
+MILIČIĆ ANDRIJA
+MILIČIĆ ANKA
+MILIČIĆ BORISLAV
+MILIČIĆ BRANKO
+MILIČIĆ DRAGICA
+MILIČIĆ DRAGOMIR
+MILIČIĆ DUŠAN
+MILIČIĆ JELICA
+MILIČIĆ JOVANKA
+MILIČIĆ JOVAN
+MILIČIĆ KATICA
+MILIČIĆ LJUBINKA
+MILIČIĆ MARINKO
+MILIČIĆ MIHAJLO
+MILIČIĆ MILOŠ
+MILIČIĆ MIRJANA
+MILIČIĆ RADOVAN
+MILIČIĆ RAJKO
+MILIČIĆ STEVAN
+MILIČIĆ TILKA
+MILIČIĆ VASA
+MILIŠIĆ ĐORĐE
+MILIŠIĆ DUŠANKA
+MILIŠIĆ NEBOJŠA
+MILIĆ ČEDOMIR
+MILIĆ ČEDOMIR
+MILIĆ ŽIKA
+MILIĆ ŽIVKO
+MILIĆ ŽIVOMIR
+MILIĆ ĐORĐE
+MILIĆ ĐORĐE
+MILIĆ ĐORĐE
+MILIĆ ĐORĐE
+MILIĆ ĐORĐE
+MILIĆ ĐORĐE
+MILIĆ ĐORĐE
+MILIĆ ĐORĐE
+MILIĆ ĐURICA
+MILIĆ ADILA
+MILIĆ ALEKSANDAR
+MILIĆ ALEKSANDRA
+MILIĆ ANĐELIJA
+MILIĆ BOŽIDAR DR
+MILIĆ BOŽIDAR
+MILIĆ BOŽO
+MILIĆ BOGDAN
+MILIĆ BOJANA
+MILIĆ BORIVOJE
+MILIĆ BORIVOJ
+MILIĆ BRANISLAV
+MILIĆ BRANISLAV
+MILIĆ BRANISLAV
+MILIĆ BRANKA
+MILIĆ BRANKO
+MILIĆ BRANKO
+MILIĆ BRATISLAV
+MILIĆ DANICA
+MILIĆ DANILKA
+MILIĆ DANILKA
+MILIĆ DANILO
+MILIĆ DARA
+MILIĆ DRAGAN
+MILIĆ DRAGAN
+MILIĆ DRAGAN
+MILIĆ DRAGICA
+MILIĆ DRAGICA
+MILIĆ DRAGOMIR
+MILIĆ DRAGOMIR
+MILIĆ DRAGOSLAV
+MILIĆ DUŠANKA
+MILIĆ DUŠANKA
+MILIĆ DUŠAN
+MILIĆ DUŠAN
+MILIĆ DUŠAN
+MILIĆ DUŠAN
+MILIĆ ELIZABETA
+MILIĆ EMILIJA
+MILIĆ EMILIJA
+MILIĆ EVA
+MILIĆ EVA
+MILIĆ EVICA
+MILIĆ FERENC
+MILIĆ GAVRA
+MILIĆ ILIJA
+MILIĆ-JAGODINSKI MILAN
+MILIĆ JANKO
+MILIĆ JELENA
+MILIĆ JELICA
+MILIĆ JELKA
+MILIĆ JOVAN
+MILIĆ JOVAN
+MILIĆ JOVAN
+MILIĆ JOVA
+MILIĆ JOVO
+MILIĆ JOVO
+MILIĆ JULKA
+MILIĆ KATICA
+MILIĆ KRSTO
+MILIĆ KSENIJA
+MILIĆ LAZAR
+MILIĆ LJILJANA
+MILIĆ LJUBIŠA
+MILIĆ LJUBICA
+MILIĆ LJUBOMIR DIPL ING
+MILIĆ LJUBOMIR
+MILIĆ LJUBOMIR
+MILIĆ LJUBOMIR
+MILIĆ MARA
+MILIĆ MARIJA
+MILIĆ MARIJA
+MILIĆ MARIJA
+MILIĆ MILANKA
+MILIĆ MILAN
+MILIĆ MILENKO
+MILIĆ MILICA
+MILIĆ MILICA
+MILIĆ MILOŠ
+MILIĆ MILOŠ
+MILIĆ MILORAD
+MILIĆ MILOSAV
+MILIĆ MILUTIN
+MILIĆ MIODRAG
+MILIĆ MIRJANA DIPL OEC
+MILIĆ MIRJANA
+MILIĆ MIROSLAV
+MILIĆ MITA
+MILIĆ MLADEN
+MILIĆ NADA
+MILIĆ NEDELJKO
+MILIĆ NIKOLA
+MILIĆ NIKOLA
+MILIĆ NOVAK
+MILIĆ NOVAK
+MILIĆ PANTA
+MILIĆ PAVLE
+MILIĆ PERA
+MILIĆ PETAR
+MILIĆ PETAR
+MILIĆ PROKA
+MILIĆ RADA
+MILIĆ RADE
+MILIĆ RADIVOJE
+MILIĆ RADMILA
+MILIĆ RADOJKA
+MILIĆ RADOMIR
+MILIĆ RANKO
+MILIĆ RUŽA
+MILIĆ SANDRA
+MILIĆ SAVA
+MILIĆ SLAVICA
+MILIĆ SLAVICA
+MILIĆ SLAVKA
+MILIĆ SLAVKO
+MILIĆ SLAVUJ
+MILIĆ SOFIJA
+MILIĆ STEVAN
+MILIĆ STEVAN
+MILIĆ STEVAN
+MILIĆ SVETLANA
+MILIĆ SVETOZAR
+MILIĆ SVETOZAR
+MILIĆ TEODORA
+MILIĆ TODOR
+MILIĆ TODOR
+MILIĆ TOMISLAV
+MILIĆ TOMISLAV
+MILIĆ UROŠ
+MILIĆ VASA
+MILIĆ VELINKA
+MILIĆ VERA
+MILIĆ VERA
+MILIĆ VERICA
+MILIĆ VLADICA
+MILIĆ VLADO
+MILIĆ VUKICA
+MILIĆ ZDRAVKO
+MILIĆ ZORAN
+MILIĆ ZORAN
+MILIĆ ZORAN
+MILIĆ ZORA
+MILIĆEV BORISLAV
+MILIĆEV BRANKO
+MILIĆEV SLAVKO
+MILIĆEV VASILIJE
+MILIĆEV VIKENTIJE
+MILIĆEVIĆ ŽIVORAD
+MILIĆEVIĆ ĐORĐE
+MILIĆEVIĆ ĐORĐE
+MILIĆEVIĆ ĐURAĐ
+MILIĆEVIĆ BOŽIDAR
+MILIĆEVIĆ BORIŠA
+MILIĆEVIĆ BRANKO
+MILIĆEVIĆ DRAGAN
+MILIĆEVIĆ DUŠAN
+MILIĆEVIĆ DUŠAN
+MILIĆEVIĆ GOJKO
+MILIĆEVIĆ GORDANA
+MILIĆEVIĆ KATARINA
+MILIĆEVIĆ KATICA
+MILIĆEVIĆ KSENIJA DR STOMATOLOG
+MILIĆEVIĆ LJUBOMIR
+MILIĆEVIĆ MARKO
+MILIĆEVIĆ MIHAILO
+MILIĆEVIĆ MILICA
+MILIĆEVIĆ MILORAD
+MILIĆEVIĆ MILOVAN
+MILIĆEVIĆ MIODRAG
+MILIĆEVIĆ MIODRAG
+MILIĆEVIĆ MOMČILO
+MILIĆEVIĆ MOMČILO
+MILIĆEVIĆ NATAŠA
+MILIĆEVIĆ NIKOLA
+MILIĆEVIĆ PAVLE
+MILIĆEVIĆ PETAR
+MILIĆEVIĆ RADMILA
+MILIĆEVIĆ RAJKO
+MILIĆEVIĆ SLAĐANA
+MILIĆEVIĆ SLAVICA
+MILIĆEVIĆ SLOBODAN
+MILIĆEVIĆ SLOBODAN
+MILIĆEVIĆ SLOBODAN
+MILIĆEVIĆ SLOBODAN
+MILIĆEVIĆ SLOBODAN
+MILIĆEVIĆ SLOBODAN
+MILIĆEVIĆ SPASO
+MILIĆEVIĆ STANA
+MILIĆEVIĆ STEVAN
+MILIĆEVIĆ STEVAN
+MILIĆEVIĆ SVETISLAV
+MILIĆEVIĆ VELIŠA
+MILIĆEVIĆ VEROLJUB
+MILIĆEVIĆ VITOMIR
+MILIĆEVIĆ VLADIMIR
+MILIĆEVIĆ VUKOMIR
+MILIC KAROLJ
+MILIDRAG KRSTO
+MILIDRAGOVIĆ BORISLAV
+MILIDRAGOVIĆ LAZAR
+MILIDRAGOVIĆ MILIVOJE
+MILIDRAGOVIĆ MILORAD DIPL ING
+MILIDRAGOVIĆ MLADEN
+MILIDRAGOVIĆ NEDELJKO
+MILIDRAGOVIĆ SLOBODAN
+MILIJAŠ-PAVKOVIĆ MARIJA
+MILIJAŠEVIĆ ŽIVORAD
+MILIJAŠEVIĆ BOŠKO
+MILIJAŠEVIĆ MILAN
+MILIJANOVIĆ ĐORĐE
+MILIJANOVIĆ MILAN
+MILIJEVIĆ ĐURAĐ
+MILIKIĆ DRAGOJE
+MILIKIĆ SIMA
+MILIN ŽIVAN
+MILIN BRANISLAV
+MILIN DUŠAN
+MILIN DUŠAN
+MILIN IVAN
+MILIN JOVAN
+MILIN MILENKO
+MILIN MILICA
+MILIN MOMIR
+MILIN RADIVOJ DR
+MILIN RADIVOJ
+MILIN SNEŽANA
+MILIN STEVAN
+MILIN SVETISLAV
+MILIN VOJISLAV NOVINAR
+MILIN ZDRAVKO DIPL ING
+MILIN ZORICA
+MILINČIĆ ČASLAV
+MILINČIĆ STOJAN
+MILINIĆ RADENKO
+MILINIĆ RAJKO
+MILINKOV ŽIVAN
+MILINKOV ŽIVOJIN
+MILINKOV ANĐELKA
+MILINKOV BOŽA
+MILINKOV BRANISLAV
+MILINKOV BRANISLAV
+MILINKOV BRANKO
+MILINKOV DANILO
+MILINKOV DUŠAN
+MILINKOV IVAN
+MILINKOV JULKA
+MILINKOV LAZAR
+MILINKOV LJUBICA
+MILINKOV MILAN
+MILINKOV MILICA
+MILINKOV NENAD
+MILINKOV NENAD
+MILINKOV NIKOLA
+MILINKOV SLOBODAN
+MILINKOV VERA
+MILINKOV VESELIN
+MILINKOV VLAJKO
+MILINKOV ZORAN
+MILINKOVIĆ ĐORĐE
+MILINKOVIĆ ĐORĐE
+MILINKOVIĆ ĐORĐE
+MILINKOVIĆ ĐURO
+MILINKOVIĆ BILJANA
+MILINKOVIĆ BOJO
+MILINKOVIĆ BUDIMIR
+MILINKOVIĆ DRAGAN
+MILINKOVIĆ DRAGOSLAV
+MILINKOVIĆ DUŠAN
+MILINKOVIĆ DUŠAN
+MILINKOVIĆ DUŠAN
+MILINKOVIĆ DUŠAN
+MILINKOVIĆ ETELKA
+MILINKOVIĆ IVAN
+MILINKOVIĆ IVAN
+MILINKOVIĆ IVAN
+MILINKOVIĆ IVAN
+MILINKOVIĆ JOVAN
+MILINKOVIĆ JOVICA
+MILINKOVIĆ LJILJANA
+MILINKOVIĆ MARA
+MILINKOVIĆ MILAN
+MILINKOVIĆ MILENA
+MILINKOVIĆ MILIĆ
+MILINKOVIĆ MILORAD
+MILINKOVIĆ NADEŽDA
+MILINKOVIĆ NOVAK
+MILINKOVIĆ PANTA
+MILINKOVIĆ PETAR
+MILINKOVIĆ SLAVKO
+MILINKOVIĆ SLOBODAN
+MILINKOVIĆ SLOBODAN
+MILINKOVIĆ SLOBODAN
+MILINKOVIĆ SMILJKA
+MILINKOVIĆ SRETO
+MILINKOVIĆ VIDA
+MILINKOVIĆ VLADISLAV
+MILINKOVIĆ VOJA
+MILINOV GAVRA
+MILINOV JELENKO
+MILINOV MILORAD
+MILINOV MIRJANA
+MILINOV MIROSLAV
+MILINOV NEVENA
+MILINOV NIKOLA
+MILINOV RADIVOJ
+MILINOV SLAVKO
+MILINOV STEVAN
+MILINOV SVETISLAV
+MILINOVIĆ ŽARKO
+MILINOVIĆ BOŽIDAR
+MILINOVIĆ BOGOLJUB
+MILINOVIĆ DRAGAN
+MILINOVIĆ DRAGAN
+MILINOVIĆ KSENIJA
+MILINOVIĆ LAZO
+MILINOVIĆ LJUBOMIR
+MILINOVIĆ LJUBOMIR
+MILINOVIĆ MIHAJLO
+MILINOVIĆ MIROSLAV
+MILINOVIĆ NIKOLA
+MILINOVIĆ PETAR
+MILINOVIĆ PETAR
+MILINOVIĆ RADOMIR
+MILINOVIĆ SAVA
+MILINOVIĆ SLOBODAN
+MILINOVIĆ STEVAN
+MILINOVIĆ STEVA
+MILINOVIĆ TIMA
+MILINOVIĆ VJEKOSLAV
+MILINSKI ALEKSANDAR
+MILINSKI ARPAD
+MILINSKI ERŽEBET
+MILINSKI GABOR
+MILINSKI GORDANA
+MILINSKI JELENA
+MILINSKI JELENA
+MILINSKI LADISLAV
+MILINSKI MIHAILO
+MILINSKI NIKOLA
+MILINSKI TEODOR
+MILINSKI VIKTOR
+MILINSKI VIKTOR
+MILINSKI ZOLTAN
+MILISAVAC ŽIVAN
+MILISAVLJEVIĆ DRAGOMIR
+MILISAVLJEVIĆ DRAGOSLAV DR PROF
+MILISAVLJEVIĆ JOVAN
+MILISAVLJEVIĆ JULIJANA
+MILISAVLJEVIĆ MILADIN
+MILISAVLJEVIĆ MILAN
+MILISAVLJEVIĆ MILORAD
+MILISAVLJEVIĆ MIRČETA
+MILISAVLJEVIĆ STANIMIR
+MILISAVLJEVIĆ STANIMIR
+MILISAVLJEVIĆ VLADIMIR
+MILIVOJČEV BORISLAV
+MILIVOJČEV STEVAN
+MILIVOJČEVIĆ ALEKSANDAR
+MILIVOJŠA LAZAR
+MILIVOJŠIN JOVAN
+MILIVOJŠIN PAJA
+MILIVOJEV ANICA
+MILIVOJEV BORIVOJ
+MILIVOJEV GRADOJE
+MILIVOJEV JOVANKA
+MILIVOJEV KONSTANTIN
+MILIVOJEV LUKA
+MILIVOJEV MIHAJLO
+MILIVOJEV MILANA
+MILIVOJEV MILAN
+MILIVOJEV MILAN
+MILIVOJEV MILOŠ
+MILIVOJEV MLADEN
+MILIVOJEV NADA
+MILIVOJEV PAVLE
+MILIVOJEV SOFIJA
+MILIVOJEV SOFIJA
+MILIVOJEV SOFIJA
+MILIVOJEVIĆ ČEDOMIR
+MILIVOJEVIĆ ŽIVKA
+MILIVOJEVIĆ ĐORĐE
+MILIVOJEVIĆ ĐORĐE
+MILIVOJEVIĆ ĐORĐE
+MILIVOJEVIĆ BILJANA
+MILIVOJEVIĆ BOŠKO
+MILIVOJEVIĆ BRANKO
+MILIVOJEVIĆ BUDIMIR
+MILIVOJEVIĆ BUDISLAV
+MILIVOJEVIĆ DRAGAN
+MILIVOJEVIĆ DRAGAN
+MILIVOJEVIĆ DUŠAN
+MILIVOJEVIĆ DUŠAN
+MILIVOJEVIĆ ILIJA
+MILIVOJEVIĆ JAGODA
+MILIVOJEVIĆ JELENA
+MILIVOJEVIĆ JOVAN
+MILIVOJEVIĆ JOVAN
+MILIVOJEVIĆ MARINA
+MILIVOJEVIĆ MILAN
+MILIVOJEVIĆ MILENA
+MILIVOJEVIĆ MILOMIR
+MILIVOJEVIĆ MILORAD
+MILIVOJEVIĆ MILOVAN
+MILIVOJEVIĆ MIRJANA
+MILIVOJEVIĆ MIRKO
+MILIVOJEVIĆ MIROSLAV
+MILIVOJEVIĆ MOMČILO
+MILIVOJEVIĆ RADOJE
+MILIVOJEVIĆ RADOSLAV
+MILIVOJEVIĆ SAVO
+MILIVOJEVIĆ SLAVKO
+MILIVOJEVIĆ SLAVNA
+MILIVOJEVIĆ STOJANKA
+MILIVOJEVIĆ VLADIMIR
+MILIVOJEVIĆ VLASTIMIR
+MILIVOJEVIĆ VOJA
+MILIVOJEVIĆ VOJISLAV
+MILIVOJEVIĆ VUČO
+MILIVOJEVIĆ ZDRAVKO
+MILIVOJEVIĆ ZORA
+MILJAKOVIĆ MILAN
+MILJANIĆ ŽIVKA
+MILJANIĆ DRAGAN
+MILJANIĆ DUŠAN
+MILJANIĆ JOVAN
+MILJANIĆ MARKO
+MILJANIĆ NOVAK
+MILJANIĆ OBRAD
+MILJANIĆ RADIVOJE
+MILJANIĆ RADOSLAV
+MILJANIĆ SLOBODAN
+MILJANIĆ SLOBODAN
+MILJANIĆ STANKO
+MILJANIĆ VUKOTA
+MILJANOVIĆ ŽELJKO
+MILJANOVIĆ ADAM
+MILJANOVIĆ BRANKO
+MILJANOVIĆ DUŠAN
+MILJANOVIĆ DUŠICA
+MILJANOVIĆ MILKA
+MILJANOVIĆ PREDRAG
+MILJANOVIĆ STANKO
+MILJANOVIĆ VILMA
+MILJANSKI BOŠKO
+MILJANSKI LAZAR
+MILJANSKI ZORICA
+MILJANSKI ZORICA
+MILJATOVIĆ ĐORĐE
+MILJATOVIĆ MARICA
+MILJATOVIĆ MILAN
+MILJATOVIĆ MILUTIN
+MILJATOVIĆ VERA
+MILJEŠIĆ NENAD
+MILJENOVIĆ SLOBODAN
+MILJEVIĆ ŽIVKO
+MILJEVIĆ ADAM
+MILJEVIĆ ANKA
+MILJEVIĆ BOGDAN DIPL ING
+MILJEVIĆ DRAGOLJUB
+MILJEVIĆ DUŠAN
+MILJEVIĆ GAVRILO
+MILJEVIĆ JANJA
+MILJEVIĆ JOVAN
+MILJEVIĆ JOVO
+MILJEVIĆ LAZAR
+MILJEVIĆ LJUBICA
+MILJEVIĆ LJUBINKO
+MILJEVIĆ MARINKO
+MILJEVIĆ MILORAD
+MILJEVIĆ NATAŠA
+MILJEVIĆ NEDELJKO
+MILJEVIĆ OBRAD
+MILJEVIĆ RADOJKA
+MILJEVIĆ STEVAN
+MILJEVIĆ VERICA
+MILJEVIĆ VERICA
+MILJEVIĆ VINKO
+MILJIĆ SLAVKO
+MILJKOV ĐURICA
+MILJKOVAC BOGOSAV
+MILJKOVAC DRAGOMIR
+MILJKOVAC PETAR
+MILJKOVAC RADOVAN
+MILJKOVAC TATJANA
+MILJKOVIĆ ČEDOMIR
+MILJKOVIĆ ŽIVAN
+MILJKOVIĆ BOŠKO
+MILJKOVIĆ BORISLAV
+MILJKOVIĆ BOSILJKA
+MILJKOVIĆ DOBRILO
+MILJKOVIĆ DRAGAN
+MILJKOVIĆ DRAGIŠA
+MILJKOVIĆ DRAGUTIN
+MILJKOVIĆ DUŠAN
+MILJKOVIĆ DUŠAN
+MILJKOVIĆ LENKE
+MILJKOVIĆ LJILJANA
+MILJKOVIĆ LJUBIŠA
+MILJKOVIĆ LJUBICA
+MILJKOVIĆ LJUPČE
+MILJKOVIĆ MARA
+MILJKOVIĆ MIĆA
+MILJKOVIĆ MILICA
+MILJKOVIĆ MILICA
+MILJKOVIĆ MILOŠ
+MILJKOVIĆ MIODRAG
+MILJKOVIĆ MIRA
+MILJKOVIĆ MIRJANA
+MILJKOVIĆ MIRJANA
+MILJKOVIĆ MITA
+MILJKOVIĆ MLADEN
+MILJKOVIĆ MOJSA
+MILJKOVIĆ NIKOLA DR ING
+MILJKOVIĆ NIKOLA
+MILJKOVIĆ NIKOLA
+MILJKOVIĆ RADOSAV
+MILJKOVIĆ RADOSLAV
+MILJKOVIĆ RAHILJA
+MILJKOVIĆ ROSA
+MILJKOVIĆ ROSA
+MILJKOVIĆ SLOBODAN
+MILJKOVIĆ STAMENKO DR LEKAR
+MILJKOVIĆ STOJADIN
+MILJKOVIĆ STOJAN
+MILJKOVIĆ TOMISLAV
+MILJKOVIĆ VELIBOR
+MILJOJKOVIĆ DESIMIR
+MILJOJKOVIĆ DOBRINKA
+MILJOJKOVIĆ EMILIJA
+MILJOJKOVIĆ LJUBIŠA
+MILJOJKOVIĆ LJUBIŠA
+MILJUŠ ĐURO
+MILJUŠ ALEKSANDAR
+MILJUŠ BRANKO
+MILJUŠ BRANKO
+MILJUŠ DRAGO
+MILJUŠ DUŠANKA
+MILJUŠ DUŠAN
+MILJUŠ EVA
+MILJUŠ JOVAN DR
+MILJUŠ JOVAN
+MILJUŠ JOVAN
+MILJUŠ KATARINA
+MILJUŠ LJILJANA
+MILJUŠ LJUBICA
+MILJUŠ MARIJA
+MILJUŠ MARIJA
+MILJUŠ MILAN
+MILJUŠ MILE
+MILJUŠ MILORAD
+MILJUŠ MIODRAG
+MILJUŠ NIKOLA
+MILJUŠ PETAR
+MILKOV ĐURĐINKA
+MILKOV ĐURĐINKA
+MILKOV ACA
+MILKOV DRAGAN DR
+MILKOV DRAGINJA
+MILKOV GORDANA
+MILKOV GORDANA
+MILKOV JASMINA
+MILKOV JELENA
+MILKOV LAZAR
+MILKOV LAZAR
+MILKOV SLAVICA
+MILKOV STANOJE
+MILKOV STEVAN
+MILKOVIĆ DRAGICA
+MILKOVIĆ DUŠAN
+MILKOVIĆ DUŠAN
+MILKOVIĆ VELJKO
+MILNOVIĆ ALEKSANDAR
+MILNOVIĆ KAMENKO
+MILNOVIĆ LAZAR
+MILNOVIĆ MIHAJLO
+MILNOVIĆ STOJAN
+MILNOVIĆ VASILIJE
+MILNOVIĆ ZORA
+MILO GIZELA
+MILOŠ IVAN
+MILOŠČIN STAŠA
+MILOŠČIN STEVAN
+MILOŠČIN VLADIMIR
+MILOŠEV ŽARKO DR
+MILOŠEV ŽIKA
+MILOŠEV ŽIVKA
+MILOŠEV ŽIVOJIN
+MILOŠEV ALEKSANDAR
+MILOŠEV ANĐELIJA
+MILOŠEV BOŠKO DIPL ING
+MILOŠEV BRANISLAVA
+MILOŠEV BRANISLAV
+MILOŠEV BRANISLAV
+MILOŠEV DOBRIVOJ
+MILOŠEV DUŠAN
+MILOŠEV DUŠKO
+MILOŠEV JOVANKA
+MILOŠEV JOVAN
+MILOŠEV LJUBOMIR
+MILOŠEV MARIJA
+MILOŠEV MIĆO
+MILOŠEV MIHAJLO
+MILOŠEV MILAN
+MILOŠEV MILENKO
+MILOŠEV MILIVOJ
+MILOŠEV MILJANA
+MILOŠEV MILOŠ
+MILOŠEV MILOŠ
+MILOŠEV MILOŠ
+MILOŠEV MILORAD
+MILOŠEV MILORAD
+MILOŠEV MIODRAG
+MILOŠEV MIRA
+MILOŠEV MIRJANA
+MILOŠEV MIRKO
+MILOŠEV MIROSLAVA
+MILOŠEV MIROSLAV
+MILOŠEV MITA
+MILOŠEV MOMČILO
+MILOŠEV NEBOJŠA
+MILOŠEV NOVKA
+MILOŠEV PETAR
+MILOŠEV RADA
+MILOŠEV SAVA
+MILOŠEV SLAVKA
+MILOŠEV SOFIJA
+MILOŠEV STANA
+MILOŠEV STOJANKA
+MILOŠEV VASA DIPL ING
+MILOŠEV VASA
+MILOŠEV VELIMIR
+MILOŠEV ZLATOMIR
+MILOŠEVIĆ ŽIVOJIN
+MILOŠEVIĆ ŽIVORAD
+MILOŠEVIĆ ALEKSANDAR
+MILOŠEVIĆ ALEKSANDAR
+MILOŠEVIĆ ALEKSANDAR
+MILOŠEVIĆ ALEKSANDAR
+MILOŠEVIĆ ALEKSANDRA
+MILOŠEVIĆ ALEKSANDRA
+MILOŠEVIĆ ANASTAZIJA
+MILOŠEVIĆ ANKA
+MILOŠEVIĆ BILJANA
+MILOŠEVIĆ BISERKA
+MILOŠEVIĆ BOŠKO
+MILOŠEVIĆ BOŽIDAR
+MILOŠEVIĆ BOŽIDAR
+MILOŠEVIĆ BOŽIDAR
+MILOŠEVIĆ BOŽO
+MILOŠEVIĆ BOGDAN
+MILOŠEVIĆ BOJANA
+MILOŠEVIĆ BRANISLAVA
+MILOŠEVIĆ BRANISLAVA
+MILOŠEVIĆ BRANISLAV
+MILOŠEVIĆ BRANISLAV
+MILOŠEVIĆ BRANKO
+MILOŠEVIĆ BRANKO
+MILOŠEVIĆ BRANKO
+MILOŠEVIĆ BRANKO
+MILOŠEVIĆ BRANKO
+MILOŠEVIĆ BRANKO
+MILOŠEVIĆ BRANKO
+MILOŠEVIĆ CVETAN
+MILOŠEVIĆ CVETAN
+MILOŠEVIĆ DANICA
+MILOŠEVIĆ DARINKA
+MILOŠEVIĆ DEJAN
+MILOŠEVIĆ DOBRINKA
+MILOŠEVIĆ DOBROSAV
+MILOŠEVIĆ DRAGANA
+MILOŠEVIĆ DRAGAN
+MILOŠEVIĆ DRAGAN
+MILOŠEVIĆ DRAGAN
+MILOŠEVIĆ DRAGICA
+MILOŠEVIĆ DRAGICA
+MILOŠEVIĆ DRAGOLJUB
+MILOŠEVIĆ DRAGOMIR DIPL ING
+MILOŠEVIĆ DRAGUTIN
+MILOŠEVIĆ DUŠAN DR
+MILOŠEVIĆ DUŠAN
+MILOŠEVIĆ DUŠAN
+MILOŠEVIĆ EVA
+MILOŠEVIĆ EVICA
+MILOŠEVIĆ GROZDA
+MILOŠEVIĆ IGNJAT
+MILOŠEVIĆ IVANKA
+MILOŠEVIĆ JAKOV
+MILOŠEVIĆ JANKO
+MILOŠEVIĆ JELENA
+MILOŠEVIĆ JELENA
+MILOŠEVIĆ JELENA
+MILOŠEVIĆ JELENA
+MILOŠEVIĆ JERINA
+MILOŠEVIĆ JOVAN
+MILOŠEVIĆ JOVAN
+MILOŠEVIĆ JOVAN
+MILOŠEVIĆ JOVAN
+MILOŠEVIĆ JOVICA
+MILOŠEVIĆ JULKA
+MILOŠEVIĆ KLAUDIJE
+MILOŠEVIĆ KRISTINA
+MILOŠEVIĆ LATINKA
+MILOŠEVIĆ LAZAR
+MILOŠEVIĆ LAZAR
+MILOŠEVIĆ LJILJANA
+MILOŠEVIĆ LJILJANA
+MILOŠEVIĆ LJUBIŠA
+MILOŠEVIĆ LJUBOMIR
+MILOŠEVIĆ LOZANA
+MILOŠEVIĆ MARA
+MILOŠEVIĆ MARICA
+MILOŠEVIĆ MARIJA
+MILOŠEVIĆ MARIJA
+MILOŠEVIĆ MARKO
+MILOŠEVIĆ MARTA
+MILOŠEVIĆ MIHAILO
+MILOŠEVIĆ MIHALJINA
+MILOŠEVIĆ MILADIN
+MILOŠEVIĆ MILANKA
+MILOŠEVIĆ MILAN
+MILOŠEVIĆ MILAN
+MILOŠEVIĆ MILAN
+MILOŠEVIĆ MILAN
+MILOŠEVIĆ MILAN
+MILOŠEVIĆ MILENKO
+MILOŠEVIĆ MILENKO
+MILOŠEVIĆ MILENKO
+MILOŠEVIĆ MILENKO
+MILOŠEVIĆ MILICA
+MILOŠEVIĆ MILIVOJE
+MILOŠEVIĆ MILIVOJE
+MILOŠEVIĆ MILOŠ
+MILOŠEVIĆ MILOŠ
+MILOŠEVIĆ MILORAD
+MILOŠEVIĆ MILORAD
+MILOŠEVIĆ MILORAD
+MILOŠEVIĆ MILORAD
+MILOŠEVIĆ MILOSAV
+MILOŠEVIĆ MIODRAG
+MILOŠEVIĆ MIODRAG
+MILOŠEVIĆ MIODRAG
+MILOŠEVIĆ MIODRAG
+MILOŠEVIĆ MIODRAG
+MILOŠEVIĆ MIODRAG
+MILOŠEVIĆ MIRA
+MILOŠEVIĆ MIRJANA
+MILOŠEVIĆ MIRJANA
+MILOŠEVIĆ MIRJANA
+MILOŠEVIĆ MIRJANA
+MILOŠEVIĆ MIRKO
+MILOŠEVIĆ MIROSLAV
+MILOŠEVIĆ MITAR
+MILOŠEVIĆ MOMČILO
+MILOŠEVIĆ NADA
+MILOŠEVIĆ NEVENA
+MILOŠEVIĆ NIKOLA
+MILOŠEVIĆ NIKOLA
+MILOŠEVIĆ NOVICA
+MILOŠEVIĆ OBRAD
+MILOŠEVIĆ OLGA
+MILOŠEVIĆ OLIVERA
+MILOŠEVIĆ PAVLE
+MILOŠEVIĆ PAVLE
+MILOŠEVIĆ PETAR
+MILOŠEVIĆ PETAR
+MILOŠEVIĆ PETAR
+MILOŠEVIĆ PREDRAG
+MILOŠEVIĆ RADE DR
+MILOŠEVIĆ RADE
+MILOŠEVIĆ RADE
+MILOŠEVIĆ RADE
+MILOŠEVIĆ RADE
+MILOŠEVIĆ RADOVAN
+MILOŠEVIĆ RAJKO
+MILOŠEVIĆ RAJKO
+MILOŠEVIĆ RATKO
+MILOŠEVIĆ RISTO
+MILOŠEVIĆ RUŽA
+MILOŠEVIĆ RUŽICA
+MILOŠEVIĆ SAVA
+MILOŠEVIĆ SAVA
+MILOŠEVIĆ SAVA
+MILOŠEVIĆ SAVA
+MILOŠEVIĆ SELENKA
+MILOŠEVIĆ SLAVA
+MILOŠEVIĆ SLAVKO
+MILOŠEVIĆ SLOBODAN
+MILOŠEVIĆ SLOBODAN
+MILOŠEVIĆ SLOBODAN
+MILOŠEVIĆ SNEŽANA
+MILOŠEVIĆ SNEŽANA
+MILOŠEVIĆ SPASOJE
+MILOŠEVIĆ SPASOJE
+MILOŠEVIĆ SRBOBRAN
+MILOŠEVIĆ STANIMIR
+MILOŠEVIĆ STANKO
+MILOŠEVIĆ STANKO
+MILOŠEVIĆ STEVICA
+MILOŠEVIĆ STOJA
+MILOŠEVIĆ SVETISLAV
+MILOŠEVIĆ SVETOLJUB
+MILOŠEVIĆ SVETOZAR
+MILOŠEVIĆ SVETOZAR
+MILOŠEVIĆ TADIJA
+MILOŠEVIĆ TOMISLAV
+MILOŠEVIĆ UROŠ
+MILOŠEVIĆ VASA
+MILOŠEVIĆ VASILIJE
+MILOŠEVIĆ VELJKO
+MILOŠEVIĆ VERA
+MILOŠEVIĆ VESELIN
+MILOŠEVIĆ VIDOJE
+MILOŠEVIĆ VLADA DIPL OEC
+MILOŠEVIĆ VLADIMIR
+MILOŠEVIĆ VOJISLAV
+MILOŠEVIĆ VOJISLAV
+MILOŠEVIĆ VOJKAN
+MILOŠEVIĆ VUKAŠIN DR LEKAR
+MILOŠEVIĆ VUKAŠIN
+MILOŠEVIĆ ZAHARIJE
+MILOŠEVIĆ ZDRAVKO
+MILOŠEVIĆ ZLATIMIR
+MILOŠEVIĆ ZORAN DIPL ING
+MILOŠEVIĆ ZORAN
+MILOJEVIĆ ĐORĐE
+MILOJEVIĆ ANA
+MILOJEVIĆ BRANISLAV
+MILOJEVIĆ BRANISLAV
+MILOJEVIĆ CVIJETA
+MILOJEVIĆ DIMITRIJE
+MILOJEVIĆ DRAGAN
+MILOJEVIĆ DRAGAN
+MILOJEVIĆ DUŠANKA
+MILOJEVIĆ DUŠAN
+MILOJEVIĆ DUŠAN
+MILOJEVIĆ DUŠAN
+MILOJEVIĆ GOJKO
+MILOJEVIĆ GORDANA
+MILOJEVIĆ GROZDANA
+MILOJEVIĆ JANKO
+MILOJEVIĆ JELENA
+MILOJEVIĆ JULIJANA
+MILOJEVIĆ MIHAJLO
+MILOJEVIĆ-MILANOV SVETLANA
+MILOJEVIĆ MILIVOJE
+MILOJEVIĆ MILOJE DR PROF
+MILOJEVIĆ MILORAD
+MILOJEVIĆ MIROSLAV
+MILOJEVIĆ MOMIR DR
+MILOJEVIĆ OLGICA
+MILOJEVIĆ PAVLE
+MILOJEVIĆ PREDRAG
+MILOJEVIĆ RADOVAN
+MILOJEVIĆ RANKO
+MILOJEVIĆ SLOBODAN
+MILOJEVIĆ VASA
+MILOJEVIĆ VLADA
+MILOJEVIĆ VLADIMIR
+MILOJEVIĆ VOJIN
+MILOJEVIĆ VOJISLAV
+MILOJEVIĆ ZORAN
+MILOJEVIĆ ZORAN
+MILOJEVIĆ ZVONKO
+MILOJICA MILJA
+MILOJKOVIĆ ŽIVAN
+MILOJKOVIĆ ACA
+MILOJKOVIĆ BOŽANA
+MILOJKOVIĆ BOŽIDAR
+MILOJKOVIĆ DUŠAN
+MILOJKOVIĆ DUŠAN
+MILOJKOVIĆ JOVANKA
+MILOJKOVIĆ KATARINA
+MILOJKOVIĆ KRISTA
+MILOJKOVIĆ LJUBOMIR
+MILOJKOVIĆ MILIVOJ
+MILOJKOVIĆ MILOVAN
+MILOJKOVIĆ MIROLJUB
+MILOJKOVIĆ NADEŽDA
+MILOM IMRE
+MILOM IMRE
+MILORADIĆ BRANKO
+MILORADIĆ NIKOLA
+MILORADOV BORISLAVA
+MILORADOV MILOŠ
+MILORADOV MILORAD
+MILORADOV RADOSLAVKA
+MILORADOV VIOLETA
+MILORADOVIĆ BRANISLAV
+MILORADOVIĆ DEJAN
+MILORADOVIĆ DRAGAN
+MILORADOVIĆ MILOŠ
+MILORADOVIĆ MLADEN
+MILORADOVIĆ ZLATOJE
+MILOSAVAC MIĆA
+MILOSAVIĆ BORISLAV
+MILOSAVIĆ BRANKO
+MILOSAVIĆ KRSTAN
+MILOSAVIĆ MLADEN
+MILOSAVIĆ MOMČILO
+MILOSAVIĆ PETAR
+MILOSAVIĆ RADIVOJ
+MILOSAVIĆ STOJA
+MILOSAVLJEV ŽIVAN
+MILOSAVLJEV ŽIVKA
+MILOSAVLJEV ALEKSANDAR
+MILOSAVLJEV BOŽIDAR
+MILOSAVLJEV DOBREN
+MILOSAVLJEV DRAGINJA
+MILOSAVLJEV LJILJANA
+MILOSAVLJEV MELANIJA
+MILOSAVLJEV MILENKO
+MILOSAVLJEV MILICA
+MILOSAVLJEV NOVKA
+MILOSAVLJEV VLADA
+MILOSAVLJEV VOJA
+MILOSAVLJEVIĆ ŽARKO
+MILOSAVLJEVIĆ ŽIVADIN
+MILOSAVLJEVIĆ ŽIVKO
+MILOSAVLJEVIĆ ŽIVKO
+MILOSAVLJEVIĆ ADAM DIPL PRAVNIK
+MILOSAVLJEVIĆ BOŽIDAR
+MILOSAVLJEVIĆ BORA
+MILOSAVLJEVIĆ BORIVOJE
+MILOSAVLJEVIĆ BRANISLAV
+MILOSAVLJEVIĆ BRANKO
+MILOSAVLJEVIĆ BRATISLAV
+MILOSAVLJEVIĆ DEJAN
+MILOSAVLJEVIĆ DRAGAN
+MILOSAVLJEVIĆ DRAGAN
+MILOSAVLJEVIĆ DRAGAN
+MILOSAVLJEVIĆ DRAGICA
+MILOSAVLJEVIĆ DRAGICA
+MILOSAVLJEVIĆ DRAGUTIN
+MILOSAVLJEVIĆ DUŠANKA
+MILOSAVLJEVIĆ ILIJA
+MILOSAVLJEVIĆ JELISAVETA
+MILOSAVLJEVIĆ JOVAN
+MILOSAVLJEVIĆ JOVAN
+MILOSAVLJEVIĆ JOVAN
+MILOSAVLJEVIĆ KATICA
+MILOSAVLJEVIĆ LAZAR
+MILOSAVLJEVIĆ MARIJA
+MILOSAVLJEVIĆ MIHAJLO
+MILOSAVLJEVIĆ MILAN
+MILOSAVLJEVIĆ MILAN
+MILOSAVLJEVIĆ MILE
+MILOSAVLJEVIĆ MILICA
+MILOSAVLJEVIĆ MILKA
+MILOSAVLJEVIĆ MILORAD
+MILOSAVLJEVIĆ MILORAD
+MILOSAVLJEVIĆ MILORAD
+MILOSAVLJEVIĆ MILOVAN
+MILOSAVLJEVIĆ MIODRAG DR
+MILOSAVLJEVIĆ MIODRAG
+MILOSAVLJEVIĆ MIODRAG
+MILOSAVLJEVIĆ MIODRAG
+MILOSAVLJEVIĆ MIODRAG
+MILOSAVLJEVIĆ MIODRAG
+MILOSAVLJEVIĆ MIODRAG
+MILOSAVLJEVIĆ MIROSLAV
+MILOSAVLJEVIĆ NIKOLA DR
+MILOSAVLJEVIĆ NOVICA
+MILOSAVLJEVIĆ OLGA
+MILOSAVLJEVIĆ PETAR
+MILOSAVLJEVIĆ RADIVOJE
+MILOSAVLJEVIĆ RADIVOJ
+MILOSAVLJEVIĆ RADOMIR
+MILOSAVLJEVIĆ SAVO
+MILOSAVLJEVIĆ SLAVKO
+MILOSAVLJEVIĆ SLOBODAN
+MILOSAVLJEVIĆ SLOBODAN
+MILOSAVLJEVIĆ SRETA
+MILOSAVLJEVIĆ STANISLAV
+MILOSAVLJEVIĆ STANKO
+MILOSAVLJEVIĆ STEVO
+MILOSAVLJEVIĆ SVETOZAR
+MILOSAVLJEVIĆ VERA
+MILOSAVLJEVIĆ VERA
+MILOSAVLJEVIĆ VLADIMIR
+MILOSAVLJEVIĆ VLADISLAV
+MILOSAVLJEVIĆ ZORAN
+MILOSOVIĆ JOVAN
+MILOSOVIĆ MILOŠ
+MILOSOVIĆ MIRKO
+MILOVČEVIĆ MILOŠ
+MILOVAC DUŠAN
+MILOVAC GLIŠA
+MILOVAC GORAN
+MILOVAC ILE
+MILOVAC ILIJA
+MILOVAC JELA
+MILOVAC MILAN
+MILOVAC MILAN
+MILOVAC MILAN
+MILOVAC PETAR
+MILOVAC RUŽICA
+MILOVAC SIMO
+MILOVAC STANKO
+MILOVAC STEVAN
+MILOVAC STOJAN
+MILOVAN KONSTANCA
+MILOVANČEV ALEKSANDAR
+MILOVANČEV ISIDOR
+MILOVANČEV NIKOLA
+MILOVANČEV SLOBODAN DIPL ING
+MILOVANČEV SVETOZAR DR
+MILOVANKIĆ ĐORĐE
+MILOVANKIĆ MIROSLAV
+MILOVANOV ĐORĐE
+MILOVANOV ALEKSANDAR DIPL ING
+MILOVANOV ANICA
+MILOVANOV BOŽIDAR
+MILOVANOV DIMITRIJE DIPL ING
+MILOVANOV DRAGAN
+MILOVANOV GOJKO
+MILOVANOV GOJKO
+MILOVANOV GORAN
+MILOVANOV GORDANA DR LEKAR
+MILOVANOV IVAN
+MILOVANOV JULKA
+MILOVANOV MILAN
+MILOVANOV MILE
+MILOVANOV MILINKA
+MILOVANOV MILINKA
+MILOVANOV MIRJANA
+MILOVANOV SIMA
+MILOVANOV STOJANKA
+MILOVANOV TODOR
+MILOVANOV VASILIJE
+MILOVANOV ZORAN
+MILOVANOVIĆ ŽIKA
+MILOVANOVIĆ ŽIVKO
+MILOVANOVIĆ ANĐELKA
+MILOVANOVIĆ ANICA
+MILOVANOVIĆ ANICA
+MILOVANOVIĆ BOGOSAV
+MILOVANOVIĆ BRANISLAVA
+MILOVANOVIĆ BRANISLAV
+MILOVANOVIĆ BRANISLAV
+MILOVANOVIĆ DANICA
+MILOVANOVIĆ DOBRISAV
+MILOVANOVIĆ DOBRIVOJE
+MILOVANOVIĆ DRAGINJA
+MILOVANOVIĆ DRAGOLJUB
+MILOVANOVIĆ DRAGOLJUB
+MILOVANOVIĆ DRAGOMIR
+MILOVANOVIĆ DRAGOSLAV
+MILOVANOVIĆ DRAGOSLAV
+MILOVANOVIĆ DUŠAN DR LEKAR
+MILOVANOVIĆ DUŠAN
+MILOVANOVIĆ GORAN
+MILOVANOVIĆ GORDANA
+MILOVANOVIĆ ILIJA
+MILOVANOVIĆ IVANKA
+MILOVANOVIĆ IVICA
+MILOVANOVIĆ JOVAN
+MILOVANOVIĆ KATALIN
+MILOVANOVIĆ KATICA
+MILOVANOVIĆ KOSARA
+MILOVANOVIĆ KRSTOMIR
+MILOVANOVIĆ LJILJANA
+MILOVANOVIĆ LJILJANA
+MILOVANOVIĆ LJUBICA
+MILOVANOVIĆ LUKA
+MILOVANOVIĆ MILADIN
+MILOVANOVIĆ MILAN
+MILOVANOVIĆ MILENA
+MILOVANOVIĆ MILENKO
+MILOVANOVIĆ MILEVA
+MILOVANOVIĆ MILISAV
+MILOVANOVIĆ MILIVOJE
+MILOVANOVIĆ MILORAD
+MILOVANOVIĆ MILOVAN
+MILOVANOVIĆ MILOVAN
+MILOVANOVIĆ MIRJANA
+MILOVANOVIĆ MIRJANA
+MILOVANOVIĆ MOMIR DIPL ING
+MILOVANOVIĆ NADA MR
+MILOVANOVIĆ NIKOLA
+MILOVANOVIĆ OBREN
+MILOVANOVIĆ OLGA
+MILOVANOVIĆ RADAŠIN
+MILOVANOVIĆ RADENKO
+MILOVANOVIĆ RADENKO
+MILOVANOVIĆ RADENKO
+MILOVANOVIĆ RADE
+MILOVANOVIĆ RADISAV
+MILOVANOVIĆ RADISLAV
+MILOVANOVIĆ RADOSLAV
+MILOVANOVIĆ RISTA
+MILOVANOVIĆ SAVA
+MILOVANOVIĆ SLAVKA
+MILOVANOVIĆ SLAVKO
+MILOVANOVIĆ SLOBODAN
+MILOVANOVIĆ SONJA
+MILOVANOVIĆ SRBISLAV
+MILOVANOVIĆ STANICA
+MILOVANOVIĆ STEVAN DIPL ING
+MILOVANOVIĆ STEVAN
+MILOVANOVIĆ STEVAN
+MILOVANOVIĆ SVETOZAR
+MILOVANOVIĆ SVETOZAR
+MILOVANOVIĆ TERKA
+MILOVANOVIĆ VESELINKA
+MILOVANOVIĆ VESNA
+MILOVANOVIĆ VIDAN
+MILOVANOVIĆ VLADIMIR
+MILOVANOVIĆ VLADIMIR
+MILOVANOVIĆ VLADISLAV
+MILOVANOVIĆ VOJA
+MILOVANOVIĆ VOJISLAV
+MILOVANOVIĆ VOJISLAV
+MILOVANOVIĆ VOJISLAV
+MILOVANOVIĆ VOJISLAV
+MILOVANOVIĆ VUKOSAVA
+MILOVANOVIĆ ZORAN
+MILOVANOVIĆ ZORAN
+MILOVANOVIĆ ZORKA
+MILOVIĆ ČEDO
+MILOVIĆ ĐORĐE
+MILOVIĆ BOŠKO
+MILOVIĆ BOGDAN
+MILOVIĆ BORIŠA
+MILOVIĆ BORO
+MILOVIĆ BORO
+MILOVIĆ BRANKO
+MILOVIĆ DESIMIR
+MILOVIĆ DUŠAN
+MILOVIĆ GOJKO
+MILOVIĆ GOJKO
+MILOVIĆ ILIJA
+MILOVIĆ JELENA
+MILOVIĆ KRSTO
+MILOVIĆ LJUBOMIR
+MILOVIĆ MAJA
+MILOVIĆ MARIJAN
+MILOVIĆ MILAN
+MILOVIĆ MILENKO
+MILOVIĆ MILORAD
+MILOVIĆ MILORAD
+MILOVIĆ MIOMIR
+MILOVIĆ MOMČILO
+MILOVIĆ ORLE
+MILOVIĆ PETAR
+MILOVIĆ RADE
+MILOVIĆ RADOVAN
+MILOVIĆ SLOBODAN
+MILOVIĆ STANKO
+MILOVIĆ TOMISLAV
+MILOVIĆ VUKAŠIN
+MILUŠIĆ EVICA
+MILUŠIĆ PETAR DIPL ING
+MILUNOV JOVAN
+MILUNOV JULKA
+MILUNOVIĆ BRANKO
+MILUNOVIĆ DRAGOMIR
+MILUNOVIĆ MILOŠ
+MILUNOVIĆ MILOMIR
+MILUNOVIĆ MILORAD
+MILUNOVIĆ MILUN
+MILUNOVIĆ RADOMIR
+MILUNOVIĆ SPASENKO
+MILUNOVIĆ ZORICA
+MILUROVIĆ SLOBODAN
+MILUTIN ŽIVKO
+MILUTIN JASNA
+MILUTIN MIRA
+MILUTIN NEDELJKO
+MILUTIN RATKO
+MILUTIN VOJISLAV
+MILUTINOV ĐOKA
+MILUTINOV ACA
+MILUTINOV DRAGOSLAV
+MILUTINOV JELISAVETA
+MILUTINOV JOVAN
+MILUTINOV KONSTANTIN
+MILUTINOV LAZAR
+MILUTINOV MILISAV
+MILUTINOV MITA
+MILUTINOV-NEDELJKOVIĆ RADOVAN
+MILUTINOV RADA
+MILUTINOV RADOSLAV
+MILUTINOV SAVA
+MILUTINOV SAVETA
+MILUTINOV TODOR
+MILUTINOV VELIBOR
+MILUTINOVIĆ ŠTEFICA
+MILUTINOVIĆ ŽIKA
+MILUTINOVIĆ ĐORĐE
+MILUTINOVIĆ ĐORĐE
+MILUTINOVIĆ ĐORĐE
+MILUTINOVIĆ ĐURĐICA
+MILUTINOVIĆ ANĐELKO
+MILUTINOVIĆ BOŠKO
+MILUTINOVIĆ BOJAN
+MILUTINOVIĆ BRANKA
+MILUTINOVIĆ BUDIMIR
+MILUTINOVIĆ DANIJELA
+MILUTINOVIĆ DRAGAN
+MILUTINOVIĆ DRAGICA
+MILUTINOVIĆ DRAGICA
+MILUTINOVIĆ DRAGUTIN
+MILUTINOVIĆ DUŠANKA
+MILUTINOVIĆ DUŠAN
+MILUTINOVIĆ GAVRILO
+MILUTINOVIĆ IGNJAT
+MILUTINOVIĆ JOVAN
+MILUTINOVIĆ JOVAN
+MILUTINOVIĆ JULKICA
+MILUTINOVIĆ LIDIJA
+MILUTINOVIĆ LIDIJA
+MILUTINOVIĆ LJUBINKA
+MILUTINOVIĆ LJUBO
+MILUTINOVIĆ MANDA
+MILUTINOVIĆ MARTA
+MILUTINOVIĆ MELANIJA
+MILUTINOVIĆ MILADIN
+MILUTINOVIĆ MILAN
+MILUTINOVIĆ MILAN
+MILUTINOVIĆ MILENKO
+MILUTINOVIĆ MILINKO
+MILUTINOVIĆ MILIVOJE
+MILUTINOVIĆ MILIVOJE
+MILUTINOVIĆ MILOŠ
+MILUTINOVIĆ MILOJKO
+MILUTINOVIĆ MILORAD
+MILUTINOVIĆ MILORAD
+MILUTINOVIĆ MILOVAN
+MILUTINOVIĆ MILUTIN
+MILUTINOVIĆ MIOMIR
+MILUTINOVIĆ MIRJANA
+MILUTINOVIĆ MIRJANA
+MILUTINOVIĆ MIRJANA
+MILUTINOVIĆ MIROSLAVA DR
+MILUTINOVIĆ MIROSLAV
+MILUTINOVIĆ MOMIR
+MILUTINOVIĆ OLGA
+MILUTINOVIĆ PETAR
+MILUTINOVIĆ PETAR
+MILUTINOVIĆ RADE
+MILUTINOVIĆ RADIŠA
+MILUTINOVIĆ RADOJKA
+MILUTINOVIĆ RADOSAV
+MILUTINOVIĆ SAŠA
+MILUTINOVIĆ SLAVKO
+MILUTINOVIĆ SLOBODANKA
+MILUTINOVIĆ SRETEN
+MILUTINOVIĆ STANA
+MILUTINOVIĆ STEVAN
+MILUTINOVIĆ STOJANKA
+MILUTINOVIĆ STOJAN
+MILUTINOVIĆ SVETOZAR
+MILUTINOVIĆ VELIMIR
+MILUTINOVIĆ VERA
+MILUTINOVIĆ VERA
+MILUTINOVIĆ VERICA DR
+MILUTINOVIĆ-VUKSAN OLGA
+MILUTINOVIĆ ZORAN
+MILUTINOVIĆ ZORAN
+MILUTINOVIĆ ZORAN
+MILUTINOVIĆ ZORAN
+MIMICA MLADEN
+MIMICA NENAD
+MIMICA NENAD
+MIMICA NENAD
+MINČIĆ MIROLJUB
+MINČIĆ MIROSLAV
+MINČIĆ SLOBODANKA
+MINDA-RAĐENOVIĆ ELENA
+MINDA TIBOR
+MINDIĆ MIRJANA
+MINDIĆ SVETISLAV
+MINEA ROMAN
+MINIĆ MILOSAV
+MINIĆ NADA
+MINIĆ SLAVKO
+MINIĆ TOMISLAV
+MINIĆ ZORKA
+MINIK ŠANDOR
+MINIK JOSIP
+MINJA MAJA
+MINJA MILUTIN
+MIOČ ŽELJKO
+MIOČ IVAN
+MIOČ ZDENKO
+MIOČINOVIĆ MARKO
+MIOČINOVIĆ MILAN
+MIODANIĆ DANKO
+MIODRAG ANA
+MIODRAG MIRKO
+MIODRAG PERO
+MIODRAG ZDRAVKA
+MIODRAG ZORICA
+MIODRAGOVIĆ ALAKSANDAR
+MIODRAGOVIĆ BORISLAV
+MIODRAGOVIĆ DRAGOLJUB
+MIODRAGOVIĆ DRAGOLJUB
+MIODRAGOVIĆ DRAGOMIR
+MIODRAGOVIĆ DUŠKO
+MIODRAGOVIĆ MILENKO DIPL ING
+MIODRAGOVIĆ MILENKO
+MIODRAGOVIĆ RADOSLAV
+MIODRAGOVIĆ STEVAN
+MIODRAGOVIĆ TOŠA
+MIODRAGOVIĆ VERA
+MIODRAGOVIĆ-VUKANIĆ ALEKSANDRA
+MIODRAGOVIĆ ZORICA
+MIOK VLASTIMIR
+MIOKOVIĆ BRANKO
+MIOKOVIĆ DANICA
+MIOKOVIĆ RADOSLAV
+MIOLSKI BORISLAV
+MIOLSKI DUŠKO
+MIOLSKI STANKO
+MIOLSKI STEVAN
+MIRČETIĆ JOVAN
+MIRČETIĆ LAZAR
+MIRČETIĆ MILICA
+MIRČETIĆ MILUTIN
+MIRČETIĆ RADOSLAV
+MIRČETIĆ SLAVKO
+MIRČETIĆ ZORAN
+MIRČETIĆ ZORAN
+MIRČEVSKI MIHAILO
+MIRČIĆ KOVILJKA
+MIRČIĆ MILORAD
+MIRČIĆ NIKOLA
+MIRČIĆ RADOVAN
+MIRČIĆ STOJANKA
+MIRČIĆ STOJAN
+MIRAŽIĆ ANTUN
+MIRAŽIĆ BRANISLAV
+MIRAŽIĆ BRANKO
+MIRAŽIĆ JELA
+MIRAŽIĆ MARA
+MIRAŽIĆ VESELINKA
+MIRALEM AHMED
+MIRANOVIĆ KSENIJA DR LEKAR
+MIRANOVIĆ MAJA
+MIRANOVIĆ MIRKO
+MIREŠEVIĆ DUŠAN
+MIREŠEVIĆ RADOJKA
+MIRIĆ ĐURA
+MIRIĆ AGATA
+MIRIĆ BOŽIDAR
+MIRIĆ DANE
+MIRIĆ DRAGOMIR
+MIRIĆ DRAGUTIN
+MIRIĆ DUŠANKA
+MIRIĆ DUŠAN
+MIRIĆ DUŠAN
+MIRIĆ DUŠKO
+MIRIĆ JOSIF
+MIRIĆ JOVAN
+MIRIĆ JOVO
+MIRIĆ KATA
+MIRIĆ KATICA
+MIRIĆ KOVILJKA
+MIRIĆ MARIJA
+MIRIĆ MILAN
+MIRIĆ MILAN
+MIRIĆ MILAN
+MIRIĆ MILENA
+MIRIĆ MILKA
+MIRIĆ NIKOLA
+MIRIĆ PAVLE
+MIRIĆ RAJKO
+MIRIĆ RUŽICA
+MIRIĆ SAŠA
+MIRIĆ SAVKA
+MIRIĆ SMILJA
+MIRIĆ STEVAN
+MIRIĆ STOJANKA
+MIRIĆ VASILIJE
+MIRILOV ALEKSANDAR
+MIRILOV MILADIN DR
+MIRILOV ZORKA
+MIRILOVIĆ DRAGAN
+MIRILOVIĆ GORDANA
+MIRILOVIĆ LAZAR
+MIRILOVIĆ MLADEN
+MIRILOVIĆ SNEŽANA
+MIRIMANOV DARA
+MIRIMANOV VLADIMIR
+MIRJAČIĆ BOSA
+MIRJANIĆ DANICA
+MIRJANIĆ MORAVKA
+MIRJANIĆ VASA
+MIRJANIĆ VERICA
+MIRJANIN NERA
+MIRKAC STANISLAV
+MIRKAJLOVIĆ MILOVAN
+MIRKAJLOVIĆ MILOVAN
+MIRKIĆ BLAGOJE
+MIRKONJ SREDOJE
+MIRKONJEV BRANISLAV
+MIRKONJEV SNEŽANA
+MIRKOV ŽELJKO
+MIRKOV ŽIVAN
+MIRKOV ĐORĐE
+MIRKOV ĐURĐIJA
+MIRKOV ĐURĐIJA
+MIRKOV ĐURICA
+MIRKOV BOSILJKA
+MIRKOV DUŠICA
+MIRKOV EVICA
+MIRKOV MARICA
+MIRKOV PAVLE
+MIRKOV RUŽICA
+MIRKOV SEKULA DIPL OEC
+MIRKOV SLOBODAN
+MIRKOV SNEŽANA
+MIRKOV STANISLAV
+MIRKOV STEVAN
+MIRKOV STEVAN
+MIRKOV VELJKO
+MIRKOV VLADA
+MIRKOV ZORAN
+MIRKOV ZORICA
+MIRKOV ZORKA
+MIRKOVIĆ ČEDOMIR
+MIRKOVIĆ ŽIVAN
+MIRKOVIĆ ŽIVKA
+MIRKOVIĆ ŽIVOJIN
+MIRKOVIĆ ĐORĐE
+MIRKOVIĆ ĐORĐE
+MIRKOVIĆ AVRAM
+MIRKOVIĆ BORA
+MIRKOVIĆ BRANISLAV
+MIRKOVIĆ BRANKA
+MIRKOVIĆ BRANKA
+MIRKOVIĆ BRANKO
+MIRKOVIĆ BRANKO
+MIRKOVIĆ DANICA
+MIRKOVIĆ DEJAN
+MIRKOVIĆ DRAGANA
+MIRKOVIĆ DRAGICA
+MIRKOVIĆ DRAGICA
+MIRKOVIĆ DRAGOLJUB
+MIRKOVIĆ DUŠAN
+MIRKOVIĆ DUŠAN
+MIRKOVIĆ DUŠAN
+MIRKOVIĆ DUŠKO
+MIRKOVIĆ DUBRAVKA
+MIRKOVIĆ EDITA
+MIRKOVIĆ ELA
+MIRKOVIĆ EMILIJA
+MIRKOVIĆ GAVRILO
+MIRKOVIĆ IVAN
+MIRKOVIĆ JOVANKA
+MIRKOVIĆ JOVAN
+MIRKOVIĆ JOVAN
+MIRKOVIĆ JOVAN
+MIRKOVIĆ KATICA
+MIRKOVIĆ LAZAR
+MIRKOVIĆ LJILJANA
+MIRKOVIĆ LJILJANA
+MIRKOVIĆ MARA
+MIRKOVIĆ MARA
+MIRKOVIĆ MILAN DR
+MIRKOVIĆ MILAN
+MIRKOVIĆ MILAN
+MIRKOVIĆ MILAN
+MIRKOVIĆ MILAN
+MIRKOVIĆ MILICA
+MIRKOVIĆ MILISAV
+MIRKOVIĆ MILIVOJ DIPL ING
+MIRKOVIĆ MILIVOJE
+MIRKOVIĆ MILKA
+MIRKOVIĆ MILOŠ
+MIRKOVIĆ MILOSAV
+MIRKOVIĆ MILOVAN
+MIRKOVIĆ MILUTIN
+MIRKOVIĆ MIODRAG
+MIRKOVIĆ MIRJANA
+MIRKOVIĆ MIRKO
+MIRKOVIĆ MIROSLAV
+MIRKOVIĆ NENAD
+MIRKOVIĆ NOVAK
+MIRKOVIĆ PETAR
+MIRKOVIĆ PETAR
+MIRKOVIĆ PETAR
+MIRKOVIĆ PETAR
+MIRKOVIĆ PREDRAG
+MIRKOVIĆ RADMILA
+MIRKOVIĆ RATKO
+MIRKOVIĆ SANJA
+MIRKOVIĆ SAVA
+MIRKOVIĆ SLOBODAN DR LEKAR
+MIRKOVIĆ SLOBODAN
+MIRKOVIĆ STEVAN
+MIRKOVIĆ SVETISLAV
+MIRKOVIĆ TRIFUN
+MIRKOVIĆ VLADIMIR
+MIRKOVIĆ ZORAN DR
+MIRKOVIĆ ZORAN
+MIRKOVIĆ ZORAN
+MIRKOVIĆ ZORKA
+MIRKOVIĆ ZORKA
+MIRNIĆ JOSIP DR
+MIRNIĆ SILVIJA
+MIRNIĆ VUKAŠIN
+MIROŠEVIĆ NINO
+MIRONICKI RUŽICA
+MIRONICKI ZVONIMIR
+MIROSAVIĆ MILENKO
+MIROSAVIĆ MILENKO
+MIROSAVLJEV ILINKA
+MIROSAVLJEV JOCA
+MIROSAVLJEV MARIJA
+MIROSAVLJEV MILENKO
+MIROSAVLJEV MLADEN
+MIROSAVLJEVIĆ ALEKSANDAR
+MIROSAVLJEVIĆ BOŠKO
+MIROSAVLJEVIĆ BORISLAV
+MIROSAVLJEVIĆ BORIVOJ
+MIROSAVLJEVIĆ BRANKA
+MIROSAVLJEVIĆ DOBRILA
+MIROSAVLJEVIĆ JOVAN
+MIROSAVLJEVIĆ LEPOSAVA
+MIROSAVLJEVIĆ LJUBICA
+MIROSAVLJEVIĆ LJUBODRAG
+MIROSAVLJEVIĆ MAGDA
+MIROSAVLJEVIĆ MILENKO
+MIROSAVLJEVIĆ NIKOLA
+MIROSAVLJEVIĆ NIKOLA
+MIROSAVLJEVIĆ STEVAN
+MIROSAVLJEVIĆ STRAHINJA
+MIROSAVLJEVIĆ SVETISLAV
+MIROSAVLJEVIĆ TOMISLAV
+MIROSAVLJEVIĆ TOMISLAV
+MIROSAVLJEVIĆ VERA
+MIROSAVLJEVIĆ VERA
+MIROSAVLJEVIĆ VOJISLAV
+MIROSAVLJEVIĆ ZORAN
+MIROSAVLJEVIĆ ZORKA
+MIROSLAVLJEVIĆ DUŠANKA
+MIROVIĆ ALEKSANDAR
+MIROVIĆ DIMITRIJE
+MIROVIĆ IGOR
+MIROVIĆ MARIJA
+MIROVIĆ MILO
+MIROVIĆ NENAD
+MISAILOVIĆ SVETOZAR
+MISAJLOVIĆ MARGITA
+MISALJEVIĆ NEMANJA
+MISIMI KAMBER
+MISINI MIRIMAN
+MISIRKIĆ MILOŠ
+MISIRKIĆ VLADA
+MISIRLIS GEORGIOS
+MISKIN DRAGAN
+MISKIN MILOŠ
+MISKIN NIKO
+MISKIN ZDRAVKO
+MISLIMI ALIVEBI
+MITAR TOMA
+MITAR VERA
+MITEVSKI IVAN
+MITIĆ ČEDOMIR
+MITIĆ ALEKSANDAR
+MITIĆ BORIVOJ
+MITIĆ BRANISLAVA
+MITIĆ BRANISLAV
+MITIĆ BUDIMIR
+MITIĆ DANICA
+MITIĆ DRAGOLJUB
+MITIĆ DRAGOLJUB
+MITIĆ DRAGUTIN
+MITIĆ DUŠAN
+MITIĆ GORDANA
+MITIĆ IGOR
+MITIĆ JOSIF
+MITIĆ JOVAN
+MITIĆ JOVAN
+MITIĆ MARIJA
+MITIĆ MILAN
+MITIĆ MILIVOJ
+MITIĆ MIODRAG DR LEKAR
+MITIĆ MIODRAG
+MITIĆ MIRKO
+MITIĆ MITAR DIPL ING
+MITIĆ NIKOLA
+MITIĆ PAVLE
+MITIĆ RADIVOJE
+MITIĆ RUŽICA
+MITIĆ SLAVKO
+MITIĆ SREBRA
+MITIĆ SUZANA
+MITIĆ TOMISLAV
+MITIĆ VELIMIR
+MITIĆ VERA
+MITIĆ VIDOSAVA
+MITIĆ VITOMIR
+MITKOVIĆ DRAGAN
+MITOŠEVIĆ BOGDAN
+MITOŠEVIĆ MILE
+MITOŠEVIĆ NADA
+MITOŠEVIĆ SAVA
+MITOVIĆ ALEKSANDAR
+MITOVIĆ DOBRISLAV
+MITOVIĆ MIROSLAV
+MITRAŠINOVIĆ LJILJANA
+MITRAŠINOVIĆ ZORA
+MITRAKOVIĆ ĐURAĐ
+MITRAKOVIĆ MIROSLAV
+MITRAKOVIĆ NENAD
+MITRAKOVIĆ UGLJEŠA
+MITREKANIĆ MILORAD
+MITRESKI MOMČILO
+MITREVSKA EVDOKIJA
+MITREVSKI LAMBE
+MITREVSKI MOMČILO
+MITREVSKI RADA
+MITRIČEVIĆ ŽIKA
+MITRIČEVIĆ ANĐELKA
+MITRIČEVIĆ ANA
+MITRIČEVIĆ SMILJA
+MITRIĆ ĐURO
+MITRIĆ BOGIĆ
+MITRIĆ MILAN
+MITRIĆ MILAN
+MITRIĆ MILOŠ
+MITRIĆ NEĐO
+MITRIĆ NEĐO
+MITRIĆ NOVAK
+MITRIĆ RADMILA
+MITRIĆ VALENTINA
+MITROVČAN JULKICA
+MITROVČAN KOSTA
+MITROVČAN LAZAR
+MITROVČAN LJUBINKO
+MITROVČAN LJUBINKO
+MITROVČAN MITA
+MITROVČAN RADINKA
+MITROVČAN STEVAN
+MITROVČAN STJEPAN
+MITROVČAN ZAGORKA
+MITROVIĆ ČEDOMIR
+MITROVIĆ ŽARKO
+MITROVIĆ ŽIVORAD
+MITROVIĆ ĐOKO
+MITROVIĆ ALEKSANDAR
+MITROVIĆ ALEKSANDAR
+MITROVIĆ ALEKSANDAR
+MITROVIĆ ANGELINA
+MITROVIĆ ANKA
+MITROVIĆ BILJANA
+MITROVIĆ BOŠKO
+MITROVIĆ BORISLAV
+MITROVIĆ BRANKO
+MITROVIĆ BRANKO
+MITROVIĆ DANICA
+MITROVIĆ DARINKA
+MITROVIĆ DESANKA
+MITROVIĆ DRAGAN
+MITROVIĆ DRAGAN
+MITROVIĆ DRAGICA
+MITROVIĆ DRAGI
+MITROVIĆ DRAGOJLO
+MITROVIĆ DRAGOLJUB
+MITROVIĆ DUŠANKA
+MITROVIĆ DUŠAN
+MITROVIĆ DUŠAN
+MITROVIĆ DUŠKO
+MITROVIĆ DUBRAVKA
+MITROVIĆ GOJKO
+MITROVIĆ GOSPAVA
+MITROVIĆ GOSPA
+MITROVIĆ IKA
+MITROVIĆ IVAN
+MITROVIĆ JELENA
+MITROVIĆ JELENA
+MITROVIĆ JELICA
+MITROVIĆ JOVAN
+MITROVIĆ JOVAN
+MITROVIĆ JOVAN
+MITROVIĆ LAZAR
+MITROVIĆ LAZAR
+MITROVIĆ LJILJANA
+MITROVIĆ LJUBISAV
+MITROVIĆ LJUBOMIR
+MITROVIĆ LJUBOMIR
+MITROVIĆ MARKO
+MITROVIĆ MIHAJLO
+MITROVIĆ MIHAJLO
+MITROVIĆ MILANKA
+MITROVIĆ MILAN
+MITROVIĆ MILAN
+MITROVIĆ MILENA
+MITROVIĆ MILENKO
+MITROVIĆ MILICA
+MITROVIĆ MILKA
+MITROVIĆ MILOŠ
+MITROVIĆ MILOŠ
+MITROVIĆ MILORAD
+MITROVIĆ MILOVAN
+MITROVIĆ MIODRAG
+MITROVIĆ MIODRAG
+MITROVIĆ MIODRAG
+MITROVIĆ MIRKO
+MITROVIĆ MIRKO
+MITROVIĆ MIROSLAV
+MITROVIĆ MIROSLAV
+MITROVIĆ MITAR DIPL ING
+MITROVIĆ MLADEN
+MITROVIĆ MLADEN
+MITROVIĆ MLADEN
+MITROVIĆ MOMČILO
+MITROVIĆ MOMIR
+MITROVIĆ NADEŽDA
+MITROVIĆ NENAD
+MITROVIĆ NIKOLA
+MITROVIĆ OLGA
+MITROVIĆ PETAR
+MITROVIĆ RADISLAV
+MITROVIĆ RADIVOJE
+MITROVIĆ RADIVOJ
+MITROVIĆ RADMILA
+MITROVIĆ RADMILA
+MITROVIĆ RADOJICA
+MITROVIĆ RADOVAN
+MITROVIĆ RADOVAN
+MITROVIĆ RADO
+MITROVIĆ RATKO
+MITROVIĆ SLAVKO
+MITROVIĆ SLAVKO
+MITROVIĆ SLOBODAN
+MITROVIĆ SLOBODAN
+MITROVIĆ SLOBODAN
+MITROVIĆ SOFIJA
+MITROVIĆ SRETA
+MITROVIĆ STAKA
+MITROVIĆ STANIŠA
+MITROVIĆ STANKO
+MITROVIĆ STEVAN
+MITROVIĆ STEVAN
+MITROVIĆ SUZANA
+MITROVIĆ SUZANA
+MITROVIĆ TIHOMIR DIPL ING
+MITROVIĆ TIHOMIR
+MITROVIĆ TODE
+MITROVIĆ VALERIJA
+MITROVIĆ VASA
+MITROVIĆ VELIMIR
+MITROVIĆ VERA
+MITROVIĆ VERA
+MITROVIĆ VERICA
+MITROVIĆ VERONIKA
+MITROVIĆ VESELIN
+MITROVIĆ VLADIMIR
+MITROVIĆ VUČETA
+MITROVIĆ-VUJNIĆ SMILJANA
+MITROVIĆ VUJOŠ
+MITROVIĆ ZLATKO
+MITRUŠIĆ BORISLAV
+MITRUŠIĆ BRANISLAV
+MITRUŠIĆ JELISAVETA
+MIUČIN NATALIJA
+MIUČIN ROZINA
+MIUČIN SLAVKO
+MIUČIN SVETOZAR
+MIUČIN VERICA
+MIZ MARIJA
+MIZ ROMAN
+MIZDRAK BRANKO
+MJEDA SIMON
+MLAĐEN ĐURO
+MLAĐEN DMITAR
+MLAĐENOVIĆ BRANKA
+MLAĐENOVIĆ ELENA
+MLAĐENOVIĆ RADE
+MLADENOVIĆ ŽIVORAD
+MLADENOVIĆ ĐORĐE
+MLADENOVIĆ ĐORĐE
+MLADENOVIĆ ALEKSANDAR
+MLADENOVIĆ ALEKSANDAR
+MLADENOVIĆ ANĐELKA
+MLADENOVIĆ ANKICA
+MLADENOVIĆ BOŠKO
+MLADENOVIĆ BOGDAN
+MLADENOVIĆ BOSILJKA
+MLADENOVIĆ DANILO
+MLADENOVIĆ DRAGAN
+MLADENOVIĆ DRAGAN
+MLADENOVIĆ DRAGOLJUB
+MLADENOVIĆ DRAGOMIR
+MLADENOVIĆ DUŠAN
+MLADENOVIĆ DUŠAN
+MLADENOVIĆ GRADIMIR
+MLADENOVIĆ JELENA
+MLADENOVIĆ JELENA
+MLADENOVIĆ JELICA
+MLADENOVIĆ JELICA
+MLADENOVIĆ JUSTINA
+MLADENOVIĆ MARA
+MLADENOVIĆ MARINA
+MLADENOVIĆ MIHAJLO
+MLADENOVIĆ MILAN DIPL ING
+MLADENOVIĆ MILAN
+MLADENOVIĆ MILAN
+MLADENOVIĆ MILORAD
+MLADENOVIĆ MILORAD
+MLADENOVIĆ MILOVAN
+MLADENOVIĆ MILOVAN
+MLADENOVIĆ MLADEN
+MLADENOVIĆ NADEŽDA
+MLADENOVIĆ NEBOJŠA
+MLADENOVIĆ-NIKOLIĆ GORDANA
+MLADENOVIĆ OLGA
+MLADENOVIĆ PETAR
+MLADENOVIĆ RADIVOJ
+MLADENOVIĆ RAJKO
+MLADENOVIĆ RANKO
+MLADENOVIĆ RUŽICA
+MLADENOVIĆ SAVA
+MLADENOVIĆ SLOBODAN
+MLADENOVIĆ SLOBODAN
+MLADENOVIĆ SRBISLAVKA
+MLADENOVIĆ TIHOMIR
+MLADENOVIĆ TOMISLAV
+MLADENOVIĆ TOMISLAV
+MLADENOVIĆ UROŠ
+MLADENOVIĆ VEKOSLAV
+MLADENOVIĆ VERICA
+MLADENOVIĆ VOJISLAV
+MLADENOVIĆ ZAGORKA
+MLADENOVIĆ ZORANA
+MLADENOVSKI LOZANA
+MLADIN IMRE
+MLADIN MARGITA
+MLAZEV VASIL
+MLINAR MUHAREM
+MLINAR MUSTAFA
+MLINKO AMBROZIJE
+MLINKO DUŠAN
+MLINKO PETAR
+MLINKO ZVONIMIR
+MOČ JELENA
+MOČ JOVANKA
+MOŠO JOŽEF
+MOŠORINAC ŽIVKO
+MOŠORINAC NENAD
+MOŠORINSKI ZAGORKA
+MOŠORINSKI ZORA
+MOĆAN JELENA DIPL ING
+MOŽE EMIL
+MOCIĆ MOMIR
+MOCIK ĐULA
+MOCIK IRENKA
+MOCKO JAN
+MOCKO-MILADINOVIĆ VIERA
+MOCKO MIROSLAV
+MOCKO STEVAN
+MOCNAI IRENA
+MOCNI JOVAN
+MOCNI MARIJA
+MOCNI STEVAN
+MODELSKI BRANISLAVA
+MODIĆ MILENKO
+MODIĆ MILENKO
+MODIĆ MILIVOJE
+MODIĆ RANKO
+MODIĆ SLOBODAN
+MODIĆ TOMISLAV
+MODIĆ TOMISLAV
+MODOŠANOV MARTA
+MODOŠANOV NIKOLA
+MODRAH VLADIMIR
+MODRI ŠANDOR
+MODRI DRAGAN
+MODRI EVA
+MODRIĆ ILIJA
+MODRIĆ STANKO
+MODRINIĆ MILICA
+MODRONJA FEHIM
+MOFARDIN SPASENKA
+MOGA BRANKO
+MOGA JOVAN
+MOGA MILAN DR LEKAR
+MOGA MLADEN
+MOGA PAJA
+MOGA STEVAN
+MOGA VERA
+MOGIĆ ALEKSANDAR
+MOGIĆ BORISLAV
+MOGIĆ GORANA
+MOGIN ALEKSANDAR
+MOGIN ALEKSANDAR
+MOGIN ALEKSANDAR
+MOGIN BORISLAV
+MOGIN IRINA
+MOGIN JELENA
+MOGIN JULIJANA
+MOGIN KSENIJA
+MOGIN LAZAR
+MOGIN LJUBIŠA
+MOGIN MARA
+MOGIN MILANA
+MOGIN MILAN
+MOGIN PAVLE
+MOGIN PAVLE
+MOGIN PAVLE
+MOGIN PETAR
+MOGIN RADOMIR
+MOGIN RADOMIR
+MOGIN VITOMIR
+MOHAČI ALEKSANDAR
+MOHAČI LASLO
+MOHAN DEANA
+MOHAN JON
+MOHAN PETAR
+MOHAN SMILJANA
+MOHORA EMILIJAN
+MOHORIĆ DANICA
+MOHORKO ILIJA
+MOHORKO ILIJA
+MOHORKO MARGITA
+MOHORKO RAJKO
+MOJIĆ DUŠAN
+MOJIĆ DUŠAN
+MOJIĆ IVANKA
+MOJIĆ MILIVOJE
+MOJIĆ MILORAD
+MOJIĆ MITAR
+MOJIĆ NIKOLA
+MOJIĆ NIKOLA
+MOJIĆ SLAVKO
+MOJIĆEVIĆ DESIMIR
+MOJIN SOFIJA
+MOJSE KATICA
+MOJSE NANDOR
+MOJSEJEV ALEKSANDAR
+MOJSEJEV KONSTANTIN DIPL PH
+MOJSIJEVIĆ NIKOLA
+MOJSIJEVIĆ SAVA
+MOJSILOV DIMITRIJE
+MOJSILOV DRAGAN
+MOJSILOV MILISAV
+MOJSILOVIĆ MILOMIR
+MOJSILOVIĆ PETAR
+MOJSILOVIĆ SLAVICA
+MOJSILOVIĆ VERA
+MOJSILOVIĆ VIDOJE
+MOJSIN DRAGOMIR
+MOJSOVIĆ ALEKSANDAR
+MOJZEŠ ALFRED
+MOJZEŠ MARIJA
+MOKUŠ ŠANDOR
+MOKUŠ IMRE
+MOKUŠ JOVAN
+MOKUŠ KALMAN
+MOKUŠ LASLO
+MOKUŠ LASLO
+MOKUŠ LASLO
+MOKUŠ MIKLOŠ
+MOKUŠ TIBOR
+MOKUŠ ZOLTAN
+MOLAC MILORAD
+MOLC KATICA
+MOLDOVAN LJUBINKA
+MOLDOVAN MARIJA
+MOLDOVANOV BOŠKO
+MOLDOVANOVIĆ ĐORĐE
+MOLDVAI ERVIN
+MOLDVAI IZABELA
+MOLDVAI LASLO
+MOLDVAI OTO
+MOLDVAJ FRANJA
+MOLDVAJ HILDA
+MOLDVAJ-OLAH EMILIJA
+MOLDVAJ ROZALIA
+MOLDVAJ STEVAN
+MOLDVAJ VIKTOR
+MOLDVAJI PREDRAG
+MOLEROV RADOVAN
+MOLJAC ĐORĐE
+MOLJAC BRANKA
+MOLJAC GAVRA
+MOLJAC GAVRA
+MOLJAC JOVAN
+MOLJAC JOVAN
+MOLJAC KATICA
+MOLJAC MILICA
+MOLJAC MIODRAG
+MOLJAC NADA
+MOLJAC PAJA
+MOLJAC STEVAN
+MOLJAC STEVAN
+MOLJAC VERA
+MOLJSKI MIROSLAV
+MOLKUC PETAR DIPL ING
+MOLKUC VIRĐINEL
+MOLNAR ŠANDOR
+MOLNAR-ŠTEFULIK ILONA
+MOLNAR ĐORĐE
+MOLNAR ALEKSANDAR
+MOLNAR ANDRAŠ
+MOLNAR ANDRAŠ
+MOLNAR ANTON
+MOLNAR ARPAD
+MOLNAR BRANISLAVA
+MOLNAR DEŽE
+MOLNAR EMILIJA
+MOLNAR EMILIJA
+MOLNAR EVICA
+MOLNAR FEODOR
+MOLNAR FERENC DIPL ING
+MOLNAR IŠTVAN
+MOLNAR IŠTVAN
+MOLNAR IMRE DR
+MOLNAR IMRE
+MOLNAR IMRE
+MOLNAR IRENA
+MOLNAR IVAN DIPL ING
+MOLNAR IVAN
+MOLNAR IVAN
+MOLNAR JAKOV
+MOLNAR JANOŠ
+MOLNAR JAN
+MOLNAR JELENA
+MOLNAR JELICA
+MOLNAR JELISAVETA
+MOLNAR JELISAVETA
+MOLNAR JELISAVETA
+MOLNAR JOŽEF
+MOLNAR JOŽEF
+MOLNAR JOŽEF
+MOLNAR JOŽEF
+MOLNAR JOŽEF
+MOLNAR JOLANKA
+MOLNAR JOSIP
+MOLNAR JOSIP
+MOLNAR JOSIP
+MOLNAR JOSIP
+MOLNAR JOVAN
+MOLNAR KARLO
+MOLNAR KATALIN
+MOLNAR LASLO
+MOLNAR LAZAR
+MOLNAR MAĆAŠ
+MOLNAR MARIJA DR
+MOLNAR MARTA DR
+MOLNAR MATILDA
+MOLNAR MIHAJLO
+MOLNAR MIHALJ
+MOLNAR MIHALJ
+MOLNAR MIHALJ
+MOLNAR MIHALJ
+MOLNAR MILAN
+MOLNAR MIRON
+MOLNAR NIKOLA
+MOLNAR SPOMENKA
+MOLNAR SVETOSLAV
+MOLNAR TEREZA
+MOLNAR VERA
+MOLNAR VILMOŠ DIPL ING
+MOLNAR VJERA
+MOLNAR VLADIMIR
+MOLNAR ZVONKO
+MOMČILOV DOBRIJA
+MOMČILOV GAVRILO
+MOMČILOV GAVRILO
+MOMČILOV STEVAN
+MOMČILOVIĆ ČEDOMIR
+MOMČILOVIĆ BOGOMIR
+MOMČILOVIĆ BRANKO DR
+MOMČILOVIĆ DANE
+MOMČILOVIĆ DRAGAN
+MOMČILOVIĆ DUŠANKA
+MOMČILOVIĆ ILIJA
+MOMČILOVIĆ MIHAJLO
+MOMČILOVIĆ MILAN
+MOMČILOVIĆ MILAN
+MOMČILOVIĆ MILE
+MOMČILOVIĆ MIRA
+MOMČILOVIĆ MIRA
+MOMČILOVIĆ MOMČILO
+MOMČILOVIĆ PETAR
+MOMČILOVIĆ RUŽICA
+MOMČILOVIĆ SMILJA
+MOMČILOVIĆ TOMISLAV
+MOMČILOVIĆ VASA
+MOMČILOVIĆ VIDAN
+MOMČILOVIĆ VOJISLAV
+MOMČILOVIĆ VUKICA
+MOMANI AKRAM
+MOMIĆ OBRAD
+MOMIROV ILIJA
+MOMIROV LJILJANA
+MOMIROV MILENKO
+MOMIROV MILETA
+MOMIROV MIROSLAV
+MOMIROV NADA
+MOMIROV PAJA
+MOMIROV SAVA
+MOMIROV SVETLANA
+MOMIROV SVETOZAR
+MOMIROV TOŠA
+MOMIROV ZORICA
+MOMIROVIĆ BRANKO
+MOMIROVIĆ JELICA
+MOMIROVIĆ JOVICA
+MOMIROVIĆ LAZA
+MOMIROVIĆ PETAR
+MOMIROVIĆ SREĆKO
+MOMIROVIĆ STEVAN
+MOMIROVSKI-MILOŠEVIĆ CVETANA
+MONAR JANKO
+MONAREV ALEKSANDAR
+MONAREV JOSIPA
+MONAREV-SOKOLIĆ NADA
+MONAROV ELIZABETA
+MONAROV JOZEFINA
+MONDOVIĆ ĐULA
+MONDOVIĆ ALEKSANDAR
+MONDOVIĆ FRANJA
+MONDOVIĆ KATICA
+MONDOVIĆ LADISLAV
+MONGEJAR RADOSAVA
+MONI ISLAM
+MONOKI ĐULA
+MONOKI IŠTVAN
+MOR ĐERĐ
+MOR FRANJA
+MOR GABOR
+MOR GABOR
+MOR LASLO
+MOR ZDENKO
+MORA ANA
+MORA ANDRAŠ
+MORA KORNELIJA
+MORAČA ĐURAĐ
+MORAČA MIODRAG
+MORAČA NIKOLA
+MORAČA RADMILA
+MORAČA VASO
+MORAČA VASO
+MORAČANIN MILORAD
+MORAIĆ ĐORĐE
+MORAREVIĆ LJUBICA
+MORAREVIĆ VOJKAN
+MORAVAC VOJISLAV
+MORAVEK JANKO
+MORE MARIJA
+MORE SILVESTER
+MORGENTALER JOVAN
+MORIĆ HAMO
+MORIC DRAGUTIN
+MORIC GABOR
+MORIC JANOŠ
+MORIC JELENA
+MORIC JULIJA
+MORIC KARLO
+MORIC LAJOŠ
+MORIC LASLO
+MORIC LASLO
+MORIC LIDIJA
+MORIC MILANA
+MORIC PAULA
+MORIC SILARD
+MORIC SLAVICA
+MORIC ZOLTAN
+MOROŠEV RADOSLAV
+MOROKVAŠIĆ BOGDANKA
+MOROKVAŠIĆ MILISAV
+MOROKVAŠIĆ NENAD
+MOROKVAŠIĆ NIKOLA
+MOROMILOV LJUBINKA
+MOROTVANSKI VIDOSAVA
+MOROVIĆ MATILDA
+MOROVIĆ MILENA
+MOROVIĆ NESTOR
+MOROVIC LASLO
+MORVAI ŠANDOR
+MORVAI ĐERĐ
+MORVAI FERENC
+MORVAI JANOŠ
+MORVAI KARLO
+MORVAI LADISLAV
+MORVAI PETAR
+MOSIĆ MIODRAG
+MOSKALJ LJUBOMIR
+MOSKALJ NIKOLA
+MOSKALJ NIKOLA
+MOSKALJ RADMILA
+MOSKVALJ SAVKA
+MOSLOVAC KATARINA
+MOSNAK ANDRIJA
+MOSNAK PAVEL
+MOSTARAC JELENA
+MOSTARSKI SLAVICA
+MOSTIĆ RADMILA
+MOSUROVIĆ MILIJANA
+MOTOK ĐORĐE
+MOTOK BRANKO
+MOTOROŽESKU AURORA
+MOVRIN IVAN
+MOZETIĆ MLADEN
+MRČARICA ZORAN
+MRŠA MILENKA
+MRŠIĆ ĐORĐE
+MRŠIĆ BOGDAN
+MRŠIĆ DUŠAN
+MRŠIĆ MARKO
+MRŠIĆ MILE
+MRŠO ANTO
+MRŠULJA NIKOLA
+MRŠULJA RADOMIR
+MRĐA BOŠKO
+MRĐA BOGDAN
+MRĐA MANE
+MRĐA MILKAN
+MRĐA MIROSLAV
+MRĐA STEVAN
+MRĐA ZORAN
+MRĐAN DUŠAN
+MRĐAN MIHAJLO
+MRĐAN RUŽICA
+MRĐAN SAVA
+MRĐAN SAVA
+MRĐAN STEVAN
+MRĐAN STEVAN
+MRĐANIN VLADISLAV
+MRĐANOV ŽARKO
+MRĐANOV ANICA
+MRĐANOV KSENIJA
+MRĐANOV LAZA
+MRĐANOV MARINKO
+MRĐANOV MELANIJA
+MRĐANOV MIROSLAV
+MRĐANOV MOMČILO
+MRĐANOV NEMANJA
+MRĐANOV NOVICA
+MRĐANOV PROKA
+MRĐANOV SMILJA
+MRĐANOV VUKOSAVA
+MRĐANOV ZDRAVKO
+MRĐEN ILIJA
+MRĐEN JELENA
+MRĐEN LAZAR
+MRĐEN MIRKO
+MRĐEN VELJKO
+MRĐENOV KATICA
+MRĐENOVIĆ BRANISLAV
+MRĐENOVIĆ BRANKO
+MRĐENOVIĆ LJUBOMIR
+MRĐENOVIĆ NEBOJŠA
+MRĐENOVIĆ PETAR
+MRĐENOVIĆ VASO
+MRAČAJAC CVIJO
+MRAČAJAC DEJAN
+MRAĆEVIĆ RADIVOJ
+MRAKOVIĆ BOŽIDAR
+MRAKOVIĆ LJUBAN
+MRAKOVIĆ SLOBODANKA
+MRAOVIĆ-BAHUN MILIJANA
+MRAOVIĆ DRAGAN
+MRAOVIĆ DUŠAN
+MRAOVIĆ KATICA
+MRAOVIĆ MARKO
+MRAOVIĆ OLGA DR PRAVNIK
+MRAOVIĆ SLOBODAN
+MRAOVIĆ STOJAN
+MRATINKOVIĆ BORIS DR LEKAR
+MRATINKOVIĆ DUŠAN DR
+MRATINKOVIĆ LJUBICA
+MRAVIK ŽIVKA
+MRAVIK ĐURA
+MRAVIK PAVLE
+MRAZ ANDRIJA
+MRAZEK BERNARDO
+MRAZOVIĆ JOSIP
+MRAZOVIĆ MILANA
+MRAZOVIĆ MILAN
+MRAZOVIĆ NEVENKA
+MRDAK ĐORĐE
+MRDAK MIRAŠ
+MRDAKOVIĆ BORISAV
+MRDAKOVIĆ MILUTIN
+MRDAKOVIĆ VERICA
+MRDAKOVIĆ VUKOSAV
+MRDALJ PETAR
+MRDIĆ KAROLINA
+MRDIĆ MARKO
+MRDIĆ SANJA
+MRGANIĆ JOZO
+MRGANIĆ SREĆKO
+MRGIĆ MIRJANA
+MRKŠIĆ ĐORĐE
+MRKŠIĆ ALEKSANDAR
+MRKŠIĆ BOJANA
+MRKŠIĆ DRAGAN
+MRKŠIĆ DRAGAN
+MRKŠIĆ JELENA
+MRKŠIĆ JOCA
+MRKŠIĆ JOCA
+MRKŠIĆ KOSTA
+MRKŠIĆ MILOŠ
+MRKŠIĆ NENAD
+MRKŠIĆ SLAVICA
+MRKŠIĆ ZAGORKA
+MRKŠIĆ ZLATA
+MRKAIĆ GORAN
+MRKAIĆ SIMA
+MRKAIĆ TOMISLAV
+MRKALJ BOŽIDAR
+MRKELA MIRA
+MRKELA VOJIN
+MRKIĆ BRANISLAV
+MRKIĆ MILKA MR PH
+MRKIĆ NIKOLA
+MRKIĆ SMILJA
+MRKOJEVIĆ KOSTA
+MRKOJEVIĆ MARIJA
+MRKONJEV DRAGAN
+MRKONJIĆ ŽIVOJIN
+MRKOVAČKI JELENA
+MRKOVAČKI MILOŠ
+MRKOVAČKI MILOVAN
+MRKOVIĆ MLADEN
+MRKUŠIĆ MILICA
+MRKUŠIĆ MILICA
+MRKUŠIĆ RADIVOJ
+MRKUŠIĆ STEVAN
+MRMOŠ MILAN
+MRNUŠTIK STEVAN
+MRVIĆ NEDELJKO
+MRVIĆ SAVA
+MRVIĆ STEVAN
+MRVIĆ VUKOMIR
+MRVICA RUŽICA
+MRVOŠ JOVAN
+MRVOŠ MIHAILO
+MRVOŠ MILANKA
+MUČALICA DRAGOLJUB
+MUČALO SLAVICA
+MUČALOV SLOBODAN
+MUČALOVIĆ DUŠKO
+MUČENSKI LJUBOMIR
+MUČENSKI NIKOLA
+MUČENSKI VLADIMIR
+MUČI ĐERĐ DIPL ING
+MUČI ANDRAŠ
+MUČI FRANJA
+MUČI ILONA
+MUČI ILONKA
+MUČI JOŽEF
+MUČI JOŽEF
+MUČIBABIĆ MIRJANA
+MUČIBABIĆ NATALIJA
+MUČIBABIĆ RADOVAN
+MUČIBABIĆ RADOVAN
+MUČIBABIĆ SAVO
+MUČIBABIĆ VERA
+MUČU JOVAN
+MUČU NIKOLA
+MUŠAN MARIJA
+MUŠIĆ FRANJA
+MUŠICKI ĆIRA
+MUŠICKI ŽIVAN
+MUŠICKI ŽIVAN
+MUŠICKI ŽIVAN
+MUŠICKI ĐORĐE
+MUŠICKI ĐORĐE
+MUŠICKI BOGDAN
+MUŠICKI BOJANA
+MUŠICKI BRANISLAV
+MUŠICKI BRANKA
+MUŠICKI DOROTEJA
+MUŠICKI DRAGAN
+MUŠICKI DRAGOSLAV
+MUŠICKI DUŠAN
+MUŠICKI DUŠAN
+MUŠICKI DUŠAN
+MUŠICKI EVICA
+MUŠICKI JOVAN
+MUŠICKI LAZAR
+MUŠICKI MARIJA
+MUŠICKI MILANA
+MUŠICKI MILENKO
+MUŠICKI MILICA
+MUŠICKI MILICA
+MUŠICKI MILORAD
+MUŠICKI NATAŠA
+MUŠICKI NOVAK
+MUŠICKI PROKA
+MUŠICKI SLAVKO
+MUŠICKI SLAVKO
+MUŠICKI SOFIJA
+MUŠICKI STEVAN
+MUŠICKI VELJKO
+MUŠIKIĆ BOŽIDAR
+MUŠIKIĆ LJUBICA
+MUŠIKIĆ RADOMIR
+MUŠIKIĆ RATKO
+MUŠKINJA BARICA
+MUŠKINJA MIRKO
+MUŽEK VIDA
+MUŽIJEVIĆ RISTO
+MUŽIK BILJANA
+MUŽIK MATA
+MUŽIKA-TOT ZOLTAN
+MUŽLAI ŠANDOR
+MUC ZLATOMIR
+MUCI JANOŠ
+MUDRENIĆ MARIJA
+MUDRENIĆ RADISLAV
+MUDRI EUGEN
+MUDRI JOAKIM
+MUDRI LJUBICA
+MUDRI MIROSLAV
+MUDRI PETAR
+MUDRI PETAR
+MUDRI VERA DR VETERINE
+MUDRI VLADA
+MUDRI VLADIMIR
+MUDRI VLADIMIR
+MUDRIĆ ĐURA
+MUDRIĆ DRAGOLJUB
+MUDRIĆ LJUBOMIR DIPL ING
+MUDRIĆ PETAR
+MUDRIĆ SLAVKA
+MUDRINIĆ BOŠKO
+MUDRINIĆ BOŠKO
+MUDRINIĆ BRANKO
+MUDRINIĆ GOJKO
+MUDRINIĆ MAJA
+MUDRINIĆ MIHAJLO
+MUDRINIĆ MILAN
+MUDRINIĆ MILEVA
+MUDRINIĆ MLADEN
+MUDRINIĆ PETAR DR
+MUDRINIĆ SLAVKO
+MUDRINIĆ SPASENKA
+MUDRINIĆ STEVO
+MUDRINIĆ STOJAN
+MUDRINIĆ VLADIMIR
+MUDRINIĆ VOJIN
+MUDRINSKI ĐORĐE
+MUDRINSKI ALEKSANDAR
+MUDRINSKI ALEKSANDAR
+MUDRINSKI BORISLAV
+MUDRINSKI BOSILJKA
+MUDRINSKI IVANKA
+MUDRINSKI LAZAR
+MUDRINSKI MILAN
+MUDRINSKI MILETA
+MUDRINSKI MILOŠ
+MUDRINSKI MIROSLAV
+MUDRINSKI OLGA
+MUDRINSKI PETAR
+MUDRINSKI SAVA
+MUDRINSKI SOFIJA
+MUDRINSKI STEVAN
+MUDRINSKI VOJISLAV
+MUGOŠA MILO
+MUHA ZUZANA
+MUHAREMI FUAD
+MUHAREMSKI-BEĆIROVIĆ REMZIJA
+MUHARI LAJOŠ
+MUHI BELA
+MUJANOVIĆ SAFET
+MUJANOVIĆ SLOBODAN
+MUJANOVIĆ SVETLANA
+MUJEZINOVIĆ ALMAS
+MUJEZINOVIĆ IRENA
+MUJEZINOVIĆ ZLATAN
+MUJIĆ MILAN
+MUJKANOVIĆ SALIH
+MUJKIĆ ŠEFIK
+MUJKIĆ HAJRUDIN
+MUJKIĆ ILDUZA
+MUJKIĆ IZUDIN
+MUJKIĆ JAKUB
+MUJKIĆ MEHMED
+MUK-SAMARDŽIĆ EMA
+MULAI MATIJA
+MULAJ ESTIKA
+MULAJ KATICA
+MULIĆ KATARINA
+MULIĆ MIODRAG
+MULIĆ MIROSLAV
+MULIĆ PETAR
+MULIĆ RADMILO
+MULIĆ SVETISLAV
+MULIĆ VELJKO
+MULIĆ ZORAN
+MUMDŽIĆ HAZIR
+MUMIN ALEKSANDAR
+MUMIN NIKOLA
+MUMINAGIĆ ALIDA
+MUMINOVIĆ ALIM
+MUMINOVIĆ HAMED
+MUMOVIĆ ANDRIJA
+MUMOVIĆ JOVA
+MUMOVIĆ SAVA
+MUNĆAN ĐORĐE
+MUNĆAN ĐORĐE
+MUNĆAN ĐORĐE
+MUNĆAN ALEKSANDAR
+MUNĆAN ANGELINA
+MUNĆAN BOŠKO
+MUNĆAN BOŠKO
+MUNĆAN DRAGAN
+MUNĆAN DRAGOLJUB
+MUNĆAN DUŠAN
+MUNĆAN JOVAN DR
+MUNĆAN JOVAN
+MUNĆAN LAZAR
+MUNĆAN LAZA
+MUNĆAN MILENKO
+MUNĆAN RADOVAN
+MUNĆAN SLAVKO
+MUNĆAN SOFIJA
+MUNĆAN TODOR
+MUNĆAN VASA
+MUNĆAN VESELIN
+MUNĆAN VLADIMIR
+MUNĆAN ZORA
+MUNDŽIĆ ŽIVOJIN
+MUNDŽIĆ BOGDAN
+MUNDŽIĆ MIRJANA
+MUNDŽIĆ PETAR
+MUNDING ETELKA
+MUNIŠIĆ JOVAN
+MUNIŽABA ĐORĐE DIPL ING
+MUNIŽABA BRANISLAV
+MUNIŽABA JOVAN
+MUNIŽABA KATICA
+MUNIŽABA LAZAR
+MUNIŽABA MILENKO
+MUNIŽABA VEDRANA
+MUNITLAK DRAGAN
+MUNJAS BOŽIDAR
+MUNJAS DMITAR
+MUNJAS MILAN
+MUNJAS SIMKA
+MUNJAS STANA
+MUNJIN ŽIVKO
+MUNJIN ALEKSANDAR
+MUNJIN-BANIĆ OLGA DIPL PRAVNIK
+MUNJIN KAJICA
+MUNJIN LAZAR
+MUNJIN PETAR
+MUNJIN SMILJA
+MUNJIZA ŽELJKO
+MUNJIZA JOVANKA
+MUNK ĐORĐE
+MUNKA DUŠANKA
+MUNKAČI MIHAJLO
+MUNTEAN ILIJA
+MUNTEAN TODOR
+MUNZAR VERA
+MURATI MILJAZIM
+MURATI STANA
+MURATOVIĆ IBRAHIM
+MURATOVIĆ JOVO
+MURATOVIĆ MIKA
+MURATOVIĆ RADENKO
+MURATOVIĆ SABRIJA
+MURGAŠKI BRANKA
+MURGAŠKI DANICA
+MURGAŠKI DOBREN
+MURGAŠKI DUŠAN
+MURGAŠKI JOVAN
+MURGAŠKI LJUBINKA
+MURGAŠKI MATIJA
+MURGAŠKI MIHAJLO
+MURGAŠKI MILICA
+MURGAŠKI MILOŠ
+MURGAŠKI MILORAD
+MURGAŠKI MIROSLAV
+MURGAŠKI NENAD
+MURGAŠKI NOVAK
+MURGAŠKI PETAR
+MURGAŠKI SAVA
+MURGAŠKI SEVER
+MURGAŠKI SLOBODAN DR
+MURGAŠKI SVETOZAR
+MURGAŠKI VUKOSAVA
+MURGUL LJUBOMIR
+MURGULOVIĆ MOMIR
+MURIĆ SLAVKO
+MURIĆ STEVAN
+MURIĆ VELJKO
+MURINJI JOSIP
+MURINJI KATICA
+MURINJI MILEVA
+MURINJI STOJANKA
+MURPHU MIRJANA
+MURSELI MIRČE
+MURSELI NEZIR
+MURSELOVIĆ NAZIF
+MURSELOVIĆ RAIF
+MUSA IVANKA
+MUSA JELICA
+MUSAFIJA BLANKA
+MUSIĆ ŠABANIJA
+MUSIĆ ŠEMSA
+MUSIĆ KATICA
+MUSIĆ MIRKO
+MUSIĆ RADOJKA
+MUSIĆ ZORAN
+MUSIN KALMAN
+MUSOVSKI ISA
+MUSTAFIĆ BRANKA
+MUSTAFIĆ HARIZ
+MUSTAFIĆ MILICA
+MUSTAFIĆ SEDAT
+MUSTAFOSKI BEDRIJA
+MUSTEDANAGIĆ ESAD
+MUSULIN GORKI
+MUSULIN MILORAD
+MUSULIN SLAVKO
+MUTABDŽIJA MILOVAN
+MUTAVČIEV IVAN
+MUTAVDŽIĆ-GION MARIJA
+MUTAVDŽIĆ MILAN
+MUTAVDŽIĆ MILAN
+MUTAVDŽIĆ MILOŠ
+MUTAVDŽIĆ RATKO
+MUTAVDŽIĆ TOMISLAV
+MUTAVDŽIĆ VELJKO
+MUTAVDŽIĆ ZLATA
+MUTAVDŽIJA MIRJANA
+MUTIĆ ŽIVKO
+MUTIĆ BRANKO
+MUTIĆ DUŠAN
+MUTIĆ DUŠAN
+MUTIĆ DUŠAN
+MUTIĆ DUŠICA
+MUTIĆ KAMENKO
+MUTIĆ LJILJANA
+MUTIĆ RADOSLAV
+MUTIĆ SMILJA
+MUTIBARIĆ ALEKSANDAR DR
+MUTIBARIĆ ALEKSANDAR
+MUTIBARIĆ DRAGOLJUB
+MUTIBARIĆ IRENA
+MUTIBARIĆ LIBUŠA
+MUTIBARIĆ MILAN
+MUTIBARIĆ MILE
+MUTIBARIĆ NATAŠA
+MUTIBARIĆ STEVAN
+MUTIBARIĆ TODOR
+MUTIN ĐORĐE
+MUTIN EMIL
+MUTIN ZDRAVKO
+MUZALEVSKI ALEKSANDAR
+MUZEKA MARIJANA
+MUZER FRANJA
+MUZER MIROSLAV
+MUZER RADOSLAV
+MUZIKRAVIĆ BLAŽO
+MUZIKRAVIĆ LJUBOMIR DR
+NAČ ANDRIJA
+NAČA JANOŠ
+NAČA JOSIP
+NAČA OTILIJA
+NAŠIGAĆIN MILENKO
+NAĆUK ALEKSANDAR
+NAĆUK IRINA
+NAĐ ČONGOR
+NAĐ ČONGOR
+NAĐ ŠANDOR
+NAĐ ŠANDOR
+NAĐ ĐERĐ
+NAĐ-ABONJI GABOR
+NAĐ ALEKSANDAR
+NAĐ ANA
+NAĐ ANGELA
+NAĐ BARBARA
+NAĐ BELA
+NAĐ BRANKA
+NAĐ DEŽE
+NAĐ-DOROTIĆ MARIJA
+NAĐ DRAGISLAV
+NAĐ DUŠANKA
+NAĐ ERŽEBET
+NAĐ ETEL
+NAĐ EUFEMIJA
+NAĐ FERENC
+NAĐ FERENC
+NAĐ FERENC
+NAĐ FERENC
+NAĐ FERENC
+NAĐ-FORKAŠ KATICA
+NAĐ FRANJA
+NAĐ FRANJA
+NAĐ FRANJA
+NAĐ GEORGINA
+NAĐ GIZELA
+NAĐ-HEVEŠI LASLO
+NAĐ IŠTVAN
+NAĐ IŠTVAN
+NAĐ ILONA
+NAĐ IMRE
+NAĐ IRINA
+NAĐ IVAN
+NAĐ JANOŠ
+NAĐ JANOŠ
+NAĐ JOŽEF
+NAĐ JOŽEF
+NAĐ JOŽEF
+NAĐ JOŽEF
+NAĐ JOSIP
+NAĐ JOSIP
+NAĐ JOSIP
+NAĐ JOSIP
+NAĐ JOSIP
+NAĐ JOSIP
+NAĐ JOVANKA
+NAĐ JOVAN
+NAĐ KARLO
+NAĐ KAROLJ
+NAĐ KAROLJ
+NAĐ KATARINA
+NAĐ LADISLAV
+NAĐ LAJOŠ
+NAĐ LAJOŠ
+NAĐ LASLO DIPL ING
+NAĐ LASLO
+NAĐ LASLO
+NAĐ LASLO
+NAĐ LASLO
+NAĐ LASLO
+NAĐ LEONA
+NAĐ LEONA
+NAĐ LJUBICA
+NAĐ MARGARETA
+NAĐ MARIJA
+NAĐ MARIJA
+NAĐ MARTON
+NAĐ-MELJKUTI EDIT
+NAĐ MIHAJLO
+NAĐ MIHALJ
+NAĐ MIRA
+NAĐ MIRA
+NAĐ MIRA
+NAĐ MIRJANA
+NAĐ NANDOR
+NAĐ NANDOR
+NAĐ NEVENKA
+NAĐ NIKOLA
+NAĐ NOVICA
+NAĐ OTO
+NAĐ OTO
+NAĐ PAVLE
+NAĐ PAVLE
+NAĐ PETAR
+NAĐ PETAR
+NAĐ PETAR
+NAĐ PETER
+NAĐ PIROŠKA
+NAĐ PIROŠKA
+NAĐ-POPOV CECILIJA
+NAĐ ROZA
+NAĐ SLAVKO
+NAĐ STEVAN
+NAĐ STEVAN
+NAĐ SVJATOSLAV
+NAĐ-TANASKOVIĆ JULIJA
+NAĐ TIBOR
+NAĐ VASILIJE
+NAĐ VERONA
+NAĐ VIKTORIJA
+NAĐ VLADIMIR
+NAĐ VLADIMIR
+NAĐ VLADIMIR
+NAĐ VLADIMIR
+NAĐ ZLATIMIR
+NAĐ ZOLTAN
+NAĐALIN BRANKO
+NAĐALIN ISA
+NAĐBABI FERENC
+NAĐBABI FERENC
+NAĐBABI IGOR
+NAĐBABI IVKA
+NAĐBABI JANIKA
+NAĐERĐ ILONKA
+NAĐGELERT JANOŠ
+NAĐHEĐEŠI FRANJA
+NAĐHEĐEŠI JOVAN
+NAĐHEĐEŠI LADISLAV
+NAĐIDAI KAROLJ
+NAĐMELJKUTI KLARA
+NAĐMIĆO VESELINA
+NAĐORĐ SAŠA
+NAĐPAL IRENKA
+NAĐVINSKI KSENIJA
+NAĐVINSKI PETAR
+NACEV GRUJO
+NADAŠKI LAZAR
+NADAŠKI MILIVOJ
+NADAŠKI MIROSLAV
+NADAŠKIĆ KATICA
+NADAŽDI RUŽICA
+NADAREVIĆ BORIS
+NADBANDIĆ SVETISLAV DIPL ING
+NADBANTIĆ NADA
+NADIH FRIDRIH
+NADIH MIRKO
+NADLAČKI ALEKSANDAR
+NADLAČKI MILOJE
+NADLAČKI RADIVOJ
+NADLAČKI RADOVAN
+NADLAČKI STEVKA
+NADLUKAČ MARIJA
+NADRLJANSKI ĐORĐE
+NADRLJANSKI DANILKA
+NADRLJANSKI LJILJANA
+NADRLJANSKI LJUBIŠA
+NADRLJANSKI MILIVOJ
+NADRLJANSKI SLOBODAN
+NADRLJANSKI STEVAN
+NAERAC SLOBODAN
+NAGLIĆ SLAVKO
+NAGRADIĆ JELENA
+NAGRADIĆ LJUBICA
+NAHLOVSKI JOŽEF
+NAJBAUER IVAN
+NAJDANOV GEORGI
+NAJDANOV IVAN
+NAJDEK VINKO
+NAJDOVSKI TOMISLAV
+NAJDOVSKI TOMISLAV
+NAJIĆ ANKICA
+NAJIĆ MILENKO
+NAJIĆ ZORICA
+NAJVIRT GOTFRID
+NAJVIRT JOVAN
+NAKARADA DARINKA
+NAKARADIĆ LJUBO
+NAKIĆ DRAGAN
+NAKIĆ IVAN
+NAKIĆ JANJA
+NAKIĆ LJUBINKA
+NAKIĆ RADOVAN
+NAKIĆ STEVAN
+NAKOMČIĆ ZORKA
+NAKOV JORDAN
+NALIĆ DRAGICA
+NALIĆ ENISA
+NAMESNIK OLGA
+NAMLIĐI FERIDA
+NANAŠI ŽOLT
+NANAŠI AGATA
+NANAŠI JULIJANA
+NANIĆ ĐOKA
+NANOVSKI VLADIMIR
+NANOVSKIJ ALEKSANDAR
+NAODOVIĆ PAVLE
+NARAI FERENC
+NARANČIĆ ILONKA
+NARANČIĆ MILE
+NARANČIĆ MILE
+NARANČIĆ MILORAD
+NARANČIĆ NADA
+NARANČIĆ PETAR
+NARANČIĆ PETAR
+NARANČIĆ PETAR
+NARANČIĆ PETAR
+NARANČIĆ SAVA
+NARANČIĆ STEVAN
+NARANČIĆ STEVAN
+NARANČIĆ SUZANA
+NARANČIĆ VLADIMIR
+NARANDŽIĆ DARKO
+NARANDŽIĆ EVA
+NARANDŽIĆ MILAN
+NARANDŽIĆ MIRJANA
+NARANDŽIĆ VERA
+NARIĆ NEDELJKO
+NAS ĐERĐ
+NAS FERENC
+NAS FRANJA
+NAS KARLO
+NASKOVIĆ BLAŽA
+NASKOVIĆ ZORKA
+NASOV MILIVOJ
+NASTASIĆ DRAGAN
+NASTASIĆ IVAN
+NASTASIĆ JELENA
+NASTASIĆ LJILJANA
+NASTASIĆ PAVLE
+NASTASIĆ RADOSLAV
+NASTASIĆ STEVAN DR LEKAR
+NASTASIĆ TATJANA
+NASTASIĆ TEODOR
+NASTASIJEVIĆ MIROSLAV
+NASTASOVIĆ MLADEN
+NASTASOVIĆ TONČA
+NASTEVIĆ TODOR
+NASTIĆ IRENA
+NASTIĆ LEPOSAVA
+NASTIĆ MIHAILO
+NASTIĆ MILENA
+NASTIĆ MILICA
+NASTIĆ MIRJANA
+NASTIĆ NIKOLETA
+NASTIĆ OLGA
+NASTIĆ RADE
+NASTIĆ RADISAV
+NASTIĆ RADOMIR
+NASTIĆ RATOMIR
+NASTIĆ SVETOZAR
+NASTIĆ VLADA
+NASTIĆ ZORAN DR LEKAR
+NASTOV KIRO
+NASTOVSKI DRAGO
+NATOŠEVIĆ DEJAN
+NAUMOV ĐORĐE
+NAUMOV BRANKA
+NAUMOV DRAGOLJUB
+NAUMOV KATARINA
+NAUMOV KATARINA
+NAUMOV MILENA
+NAUMOV MILIVOJ
+NAUMOV STEVAN
+NAUMOVIĆ JELICA
+NAUMOVIĆ MILIVOJ DR
+NAUMOVIĆ NIKOLA
+NAUMOVIĆ SLOBODAN
+NAUMOVSKI MIRKO
+NAUMOVSKI NIKOLA
+NAUMOVSKI SONJA
+NAUMOVSKI STOJAN
+NAUMOVSKI TANAS
+NAUNKOVIĆ BOGDANKA
+NAUNKOVIĆ SINIŠA
+NAVALA NIKOLA
+NAVALUŠIĆ JULIJANA
+NAVALUŠIĆ VOJIN
+NAVRATIL ĐURA
+NAVRATIL JOSIP
+NAVRATIL JOSIP
+NAVRATIL SLOBODAN
+NAVRATIL ZDENKO
+NAVRATIL ZORAN
+NAZDRAVECKI ANDRAŠ
+NEČOVSKI DIMITRIJE
+NEŠEVIĆ ANĐELKA
+NEŠEVIĆ ANĐELKO
+NEŠIĆ ACA
+NEŠIĆ ALEKSANDAR
+NEŠIĆ ALEKSANDAR
+NEŠIĆ BOŽIDAR
+NEŠIĆ BRANISLAV DR
+NEŠIĆ BRANISLAV
+NEŠIĆ DIMITRIJE
+NEŠIĆ DUŠAN
+NEŠIĆ JEFTA
+NEŠIĆ JOVAN
+NEŠIĆ JOVAN
+NEŠIĆ JOVAN
+NEŠIĆ JOVAN
+NEŠIĆ KOSANA
+NEŠIĆ LENKA
+NEŠIĆ LEONID
+NEŠIĆ LJILJANA
+NEŠIĆ MARJAN
+NEŠIĆ MILAN
+NEŠIĆ MILAN
+NEŠIĆ MILAN
+NEŠIĆ MILENKO
+NEŠIĆ MILICA
+NEŠIĆ MILIVOJ
+NEŠIĆ MILKA
+NEŠIĆ MILORAD
+NEŠIĆ MIRA
+NEŠIĆ MIRKO
+NEŠIĆ MIROSLAVA
+NEŠIĆ MLADEN
+NEŠIĆ MLADEN
+NEŠIĆ NEDELJKO
+NEŠIĆ PETAR
+NEŠIĆ RADISAV
+NEŠIĆ SAVETA
+NEŠIĆ SIMEON
+NEŠIĆ SLAVKO
+NEŠIĆ SLAVOJKA
+NEŠIĆ TODOR
+NEŠIĆ VLADIMIR
+NEŠIN ŽARKO
+NEŠIN JOVANA
+NEŠIN JOVAN
+NEŠIN MARKO
+NEŠIN STEVAN
+NEŠKOV DRAGOSLAV DR
+NEŠKOV STANISLAV
+NEŠKOV VOJISLAV
+NEŠKOVIĆ ĐURĐA
+NEŠKOVIĆ ALEKSANDAR
+NEŠKOVIĆ DRAGAN
+NEŠKOVIĆ IRENA
+NEŠKOVIĆ JELENA
+NEŠKOVIĆ LJUBIŠA
+NEŠKOVIĆ MIHAILO
+NEŠKOVIĆ MILAN
+NEŠKOVIĆ MILIJAN
+NEŠKOVIĆ MILISAV
+NEŠKOVIĆ MILIVOJE
+NEŠKOVIĆ MILKA
+NEŠKOVIĆ MILOVAN
+NEŠKOVIĆ MITA
+NEŠKOVIĆ NEŠKO
+NEŠKOVIĆ PERICA
+NEŠKOVIĆ PETAR
+NEŠKOVIĆ RADISAV
+NEŠKOVIĆ RADOMIR
+NEŠKOVIĆ RADONJA
+NEŠKOVIĆ REJMOND
+NEŠKOVIĆ RUŽICA
+NEŠKOVIĆ STEVAN
+NEŠKOVIĆ-ZDRAVIĆ VERICA
+NEŠOVIĆ DESANKA
+NEŠOVIĆ DRAGAN DIPL ING
+NEŠOVIĆ DRAGANA
+NEŠOVIĆ DRAGAN
+NEŠOVIĆ IVANKA
+NEŠOVIĆ MILOVAN
+NEŠOVIĆ PREDRAG
+NEŠOVIĆ RADOMIR
+NEŠOVIĆ RUŽICA
+NEŠOVIĆ TRIVKA
+NEŠTICKI JOSIP
+NEŠTICKI JOSIP
+NEŠTICKI MILICA
+NEŠTICKI STEVAN
+NEĆAK ĐORĐE
+NEĆAK ALEKSANDAR
+NEĆAK BRANKO
+NEĆAK-KORAĆ ANĐELKA
+NEĆAK STEVAN
+NEĆAK VERA
+NEĆAK ZDRAVKO
+NEĆAKOV MARIJA
+NEĆAKOV MILAN
+NEĆAKOV MILKA
+NEĆAKOV SIMA
+NEĆAKOV SLOBODAN
+NEŽIĆ DAMIR
+NEATNICA DUŠAN
+NEATNICA RADIVOJ DIPL ING
+NEBESNI BORIS
+NEBOJŠA SOFIJA
+NEBRIGIĆ JOVICA
+NEBRIGIĆ RATKO
+NECEV DRAGOLJUB
+NECIĆ DRAGOLJUB
+NECIĆ TOŠA
+NECIN ŽIVICA
+NECIN STEVA
+NECIN VOJA
+NECIN ZLATOMIR
+NECKOV DRAGINJA
+NECKOV GORAN
+NECKOV KATICA
+NECKOV LAZAR
+NECKOV LOZINKA
+NECKOV MARIJA
+NECKOV MIRJANA
+NECKOV MOMČILO
+NECKOV NIKOLA
+NEDELJKOV ŽIVKO
+NEDELJKOV ŽIVKO
+NEDELJKOV ĐORĐE
+NEDELJKOV ĐORĐE
+NEDELJKOV ĐORĐE
+NEDELJKOV ANĐELKA
+NEDELJKOV ANKA
+NEDELJKOV DESANKA
+NEDELJKOV DRAGAN
+NEDELJKOV DRAGINJA
+NEDELJKOV DUŠAN
+NEDELJKOV ILIJA
+NEDELJKOV IRENA
+NEDELJKOV IVAN
+NEDELJKOV JELENA
+NEDELJKOV JOVAN
+NEDELJKOV JOVAN
+NEDELJKOV JULIJANA
+NEDELJKOV KATICA
+NEDELJKOV KRSTA
+NEDELJKOV LAZAR DIPL ING
+NEDELJKOV LINA
+NEDELJKOV LJILJANA
+NEDELJKOV LJUBICA
+NEDELJKOV LJUBICA
+NEDELJKOV MARIJA
+NEDELJKOV MARIJA
+NEDELJKOV MARKO
+NEDELJKOV MILAN
+NEDELJKOV MILAN
+NEDELJKOV MILIVOJ
+NEDELJKOV MILOŠ
+NEDELJKOV MIRJANA
+NEDELJKOV MIRKO
+NEDELJKOV MIROSLAVA
+NEDELJKOV MITA
+NEDELJKOV OLGA
+NEDELJKOV OLGA
+NEDELJKOV RADE
+NEDELJKOV RADIVOJ
+NEDELJKOV RADOJKA
+NEDELJKOV RADOMIR
+NEDELJKOV SINIŠA
+NEDELJKOV STEVAN
+NEDELJKOV TEODORA
+NEDELJKOV TOMISLAV
+NEDELJKOV VINKA
+NEDELJKOV VOJISLAV
+NEDELJKOVIĆ ŽIVKO
+NEDELJKOVIĆ ŽIVKO
+NEDELJKOVIĆ ŽIVKO
+NEDELJKOVIĆ ŽIVOJIN
+NEDELJKOVIĆ ĐORĐE
+NEDELJKOVIĆ ĐORĐE
+NEDELJKOVIĆ ALEKSANDAR
+NEDELJKOVIĆ ALEKSANDAR
+NEDELJKOVIĆ ANDRIJA
+NEDELJKOVIĆ BOGOMIR
+NEDELJKOVIĆ BORISLAV DIPL ING
+NEDELJKOVIĆ BORKA
+NEDELJKOVIĆ BOSILJKA
+NEDELJKOVIĆ DARINKA
+NEDELJKOVIĆ DOBRILA
+NEDELJKOVIĆ DOBRINKA
+NEDELJKOVIĆ DRAGAN
+NEDELJKOVIĆ JADRANKA
+NEDELJKOVIĆ JELENA
+NEDELJKOVIĆ JORDAN
+NEDELJKOVIĆ JOVAN
+NEDELJKOVIĆ JOVAN
+NEDELJKOVIĆ JUGOSLAV
+NEDELJKOVIĆ JULKICA
+NEDELJKOVIĆ JUSTA
+NEDELJKOVIĆ LEPOSAVA
+NEDELJKOVIĆ LJUBOMIR
+NEDELJKOVIĆ MARKO
+NEDELJKOVIĆ MILAN
+NEDELJKOVIĆ MILAN
+NEDELJKOVIĆ MILAN
+NEDELJKOVIĆ MILENKO
+NEDELJKOVIĆ MILIJA
+NEDELJKOVIĆ MILISAV
+NEDELJKOVIĆ MILOJKA
+NEDELJKOVIĆ MILOJKA
+NEDELJKOVIĆ MILUTIN
+NEDELJKOVIĆ MIRJANA
+NEDELJKOVIĆ MIROSLAV
+NEDELJKOVIĆ MIROSLAV
+NEDELJKOVIĆ NEBOJŠA
+NEDELJKOVIĆ NIKOLA
+NEDELJKOVIĆ PAVA
+NEDELJKOVIĆ RADOJICA
+NEDELJKOVIĆ RADOMIR
+NEDELJKOVIĆ RADOVAN
+NEDELJKOVIĆ SIMA
+NEDELJKOVIĆ SIMA
+NEDELJKOVIĆ SLAVKO
+NEDELJKOVIĆ SLOBODANKA
+NEDELJKOVIĆ SLOBODANKA
+NEDELJKOVIĆ SLOBODAN
+NEDELJKOVIĆ SOFIJA
+NEDELJKOVIĆ SRETA
+NEDELJKOVIĆ STANIMIR
+NEDELJKOVIĆ STEVAN
+NEDELJKOVIĆ STEVAN
+NEDELJKOVIĆ STEVAN
+NEDELJKOVIĆ SVETISLAV
+NEDELJKOVIĆ SVETISLAV
+NEDELJKOVIĆ SVETOZAR
+NEDELJKOVIĆ VERA
+NEDELJKOVIĆ VERICA
+NEDELJKOVIĆ VLADISLAV DR
+NEDELJKOVIĆ VOJISLAV
+NEDELJKOVIĆ VUČKO
+NEDELJKOVIĆ ZAGORKA
+NEDELJKOVIĆ ZLATA
+NEDIĆ ŠPIRO
+NEDIĆ BILJANA
+NEDIĆ BORISLAV
+NEDIĆ BORJANKA
+NEDIĆ DARINKA
+NEDIĆ DESANKA PROFESOR
+NEDIĆ DRAGOSLAV
+NEDIĆ JELENA
+NEDIĆ JELISAVETA
+NEDIĆ JOVAN DIPL ING
+NEDIĆ JOVAN
+NEDIĆ KATICA
+NEDIĆ KATICA
+NEDIĆ LAZAR
+NEDIĆ LAZAR
+NEDIĆ LAZAR
+NEDIĆ LAZAR
+NEDIĆ LJUBICA
+NEDIĆ MELANIJA
+NEDIĆ MILAN
+NEDIĆ MILAN
+NEDIĆ MILAN
+NEDIĆ MILENKO
+NEDIĆ MILOŠ
+NEDIĆ MILOJE
+NEDIĆ MILOVAN
+NEDIĆ MIROSLAV
+NEDIĆ MLADEN
+NEDIĆ NENAD
+NEDIĆ NIKOLA
+NEDIĆ PETAR
+NEDIĆ RADOŠ
+NEDIĆ RADOMIR
+NEDIĆ RADOSLAV
+NEDIĆ RADOSLAV
+NEDIĆ SAVA
+NEDIĆ SMILJA
+NEDIĆ SNEŽANA
+NEDIĆ-SREMAC NADA
+NEDIĆ STEVAN
+NEDIĆ VERA
+NEDIĆ VIDA
+NEDIĆ VLADIMIR
+NEDIĆ ZLATOJE
+NEDIĆ ZORAN
+NEDIMOVIĆ BOŽO
+NEDIMOVIĆ DRAGAN
+NEDIMOVIĆ GORDANA
+NEDINIĆ SRETEN
+NEDINIĆ ZORAN
+NEDOMAČKI MILAN
+NEDOMAČKI STEVAN
+NEDOVIĆ ANKICA
+NEDOVIĆ MIRO
+NEDOVIĆ MIRO
+NEDOVIĆ VLADO
+NEDUČIĆ SVETOZAR
+NEDUČIN ALEKSANDAR
+NEDUČIN DRAGICA
+NEDUČIN LAZAR DIPL ING
+NEDUČIN MILENA
+NEDVIDEK BORIS DR
+NEGLIĆ ĐORĐE
+NEGLIĆ KATICA
+NEGOVANOVIĆ ŽIVKO
+NEGOVANOVIĆ BRANKO
+NEGOVANOVIĆ LAZAR
+NEGRU BISERKA
+NEGUŠEVIĆ PAJA
+NEJGEBAUER ALEKSANDAR DR PROF
+NEMČANIN ĐURĐICA
+NEMČANIN MARIJA
+NEMČANIN MIRJANA
+NEMČEV BORIVOJ
+NEMČEV DUŠKO
+NEMČEV JELENA
+NEMČEV NIKOLA
+NEMČEV SRBINKO
+NEMČEVIĆ MARKO
+NEMČEVIĆ PETAR
+NEMA VALERIJA
+NEMEČEK ROŽA
+NEMEŠ JELA
+NEMEŠ SLOBODANKA
+NEMEC ANTUN
+NEMEC ANTUN
+NEMEC EMANUEL
+NEMEC LJUDMILA
+NEMET ŠANDOR
+NEMET ANDRIJA
+NEMET ANTAL
+NEMET ANTAL
+NEMET ANTAL
+NEMET ARPAD
+NEMET BORISLAVKA
+NEMET DEŽE
+NEMET DEJAN
+NEMET ERNEST
+NEMET GERGELJ
+NEMET GEZA DR
+NEMET GEZA
+NEMET IŠTVAN
+NEMET IŠTVAN
+NEMET IŠTVAN
+NEMET ILONA
+NEMET ILONA
+NEMET ILONKA
+NEMET JULIJANA
+NEMET KARLO
+NEMET KARLO
+NEMET KATICA
+NEMET LAJOŠ
+NEMET LASLO
+NEMET LASLO
+NEMET LJILJANA
+NEMET MARIJANA
+NEMET MARIJA
+NEMET MARIJA
+NEMET MIHALJ
+NEMET MILKA
+NEMET MIRJANA
+NEMET-MUČI MARIJA
+NEMET OLIVERA
+NEMET OTO
+NEMET PETAR
+NEMET ROZALIJA
+NEMET RUDOLF
+NEMET STEVAN
+NEMET STOJANKA
+NEMET TIBOR
+NEMET VIOLETA
+NEMET ZOLTAN
+NEMET ZOLTAN
+NEMETH IRENA
+NENAD SIMO
+NENADIĆ MILAN
+NENADIĆ MILENKO
+NENADIĆ MILORAD
+NENADIĆ RATKO
+NENADOV ŽIVKO
+NENADOV AMALIJA
+NENADOV ANKA
+NENADOV BRANISLAV
+NENADOV DRAGOMIR
+NENADOV JEVROSIMA
+NENADOV KAMENKO
+NENADOV KOSTA DIPL ING
+NENADOV MILENKO
+NENADOV MILENKO
+NENADOV OLGA
+NENADOV PETAR
+NENADOV RAJKO
+NENADOV STEVAN
+NENADOV VOJISLAV
+NENADOVIĆ BORISLAV
+NENADOVIĆ DANICA
+NENADOVIĆ DRAGICA
+NENADOVIĆ DUŠAN
+NENADOVIĆ JULKICA
+NENADOVIĆ MIHAJLO
+NENADOVIĆ MILENKO DR
+NENADOVIĆ MITAR
+NENADOVIĆ PANTA
+NENADOVIĆ PETAR
+NENADOVIĆ SLAVNA
+NENADOVIĆ SLOBODAN
+NENADOVIĆ VASILIJE
+NENEZIĆ ĐORĐE
+NENEZIĆ DARKO
+NENEZIĆ MIROSLAV
+NENEZIĆ RADENKO
+NENEZIĆ RADISAV
+NENIĆ ĐORĐE
+NENIĆ BRANIMIR
+NENIĆ SAVA
+NENIĆ VERA
+NENIĆ VERICA
+NENIN ŽIVKO
+NENIN DEJAN
+NENIN DRAGINJA
+NENIN DRAGOMIR
+NENIN JASENKA
+NENIN LENKA
+NENIN MARA
+NENIN MILAN
+NENIN MILICA
+NENIN MILICA
+NENIN MILORAD
+NENIN MIRKO
+NENIN RAJKO
+NENIN SAVA
+NENIN SLAVKO
+NENIN TOMISLAV
+NENIN VASA
+NEOFITOVIĆ DEJAN
+NEPIL ANTUN
+NEPOKOJČICKI ALEKSANDAR
+NERA ORLEANA
+NERAC MLADINKO
+NERAC PERO
+NERAC SLOBODAN
+NERANČIĆ NIKOLA
+NERANDŽIĆ BOŠKO
+NERANDŽIĆ BRANISLAV
+NERANDŽIĆ JASMINA
+NERANDŽIĆ MAKSIM
+NERANDŽIĆ NEVENKA
+NERANDŽIĆ STOJANKA
+NERER ĐURA
+NERER ALEKSANDAR
+NERTICA STEVAN
+NESKALIĆ EVGENIJE
+NESKALIĆ LEONARDO
+NESTOROV ŽELJKO
+NESTOROV ALEKSANDAR
+NESTOROV DRAGOLJUB
+NESTOROV LAZAR
+NESTOROV MILAN DIPL ING
+NESTOROV MIRKO
+NESTOROV SLOBODAN
+NESTOROVIĆ ŽIVOTA
+NESTOROVIĆ BILJANA
+NESTOROVIĆ BLAGOJE
+NESTOROVIĆ BOJANA
+NESTOROVIĆ BORIS
+NESTOROVIĆ DRAGAN
+NESTOROVIĆ DRAGOLJUB
+NESTOROVIĆ DRAGUTIN
+NESTOROVIĆ DUŠANKA
+NESTOROVIĆ GAVRA
+NESTOROVIĆ ISA
+NESTOROVIĆ LJILJANA
+NESTOROVIĆ MILE
+NESTOROVIĆ NADA
+NESTOROVIĆ NADEŽDA
+NESTOROVIĆ RADMILA
+NESTOROVIĆ RADOVAN
+NESTOROVIĆ SAVA
+NESTOROVIĆ SLAVICA
+NESTOROVIĆ SLOBODAN
+NESTOROVIĆ VLADIMIR
+NESTOROVIĆ VLADIMIR
+NEVAJDIĆ VELIMIR
+NEVIDOVČIĆ LJUBICA
+NEVIDOVČIĆ MILKA
+NEVIDOVČIĆ SAVA
+NEVOLIĆ ANICA
+NEZIRI ARIF
+NEZIROV ALJILJ
+NEZIROV VELIČKO
+NIČIĆ NADA
+NIČIĆ PREDRAG
+NIŠAVIĆ KRISTINA
+NIŠAVIĆ MILUTIN
+NIŠAVIĆ PAVLE
+NIŠAVIĆ RADOSLAV
+NIŠEVIĆ ĐORĐE
+NIŠEVIĆ ĐURA
+NIŠEVIĆ JOVICA
+NIŠEVIĆ KATICA
+NIŠEVIĆ OLGA
+NIŠEVIĆ SAVA
+NIŠIĆ DRAGAN
+NIŠIĆ MLAĐEN
+NIŠKANOVIĆ BOŠKO
+NIŠKANOVIĆ LJUPKO
+NIŠKANOVIĆ MIRKO
+NIĆETIĆ LJUBOMIR
+NIĆETIĆ MIRA
+NIĆIFOROVIĆ JOVAN
+NIĆIFOROVIĆ PERA
+NIĆIFOROVIĆ PETAR
+NIĆIFOROVIĆ TEODOR
+NIĆIN ĐORĐE
+NIĆIN ALEKSANDAR
+NIĆIN BRANISLAV
+NIĆIN DONKA
+NIĆIN DUŠKO
+NIĆIN MIROSLAV
+NIĆIN NEVENKA
+NIĆIN NIĆIFOR DIPL ING
+NIĆIN SNEŽANA
+NIĆIN SOFIJA
+NIĆIN SVETOZAR
+NIĆIN VASILIJE
+NIĆIN VERICA
+NIĆIN ZORA
+NICIĆ DARKO
+NIDERLENDER ĐORĐE
+NIDERLENIĆ ZORANA
+NIJEMČEVIĆ NIKOLA
+NIKČEVIĆ BOŠKO
+NIKČEVIĆ JOVAN
+NIKČEVIĆ LJUBOMIR
+NIKČEVIĆ MOMO
+NIKČEVIĆ RATKO
+NIKČEVIĆ STANA
+NIKŠIĆ ŽIVKO
+NIKŠIĆ ĐURA
+NIKŠIĆ CVETOZAR
+NIKŠIĆ DARKO
+NIKŠIĆ DRAGINJA
+NIKŠIĆ DRAGOLJUB
+NIKŠIĆ DUŠANKA
+NIKŠIĆ FRANJA
+NIKŠIĆ ISA
+NIKŠIĆ JULIJA
+NIKŠIĆ MILAN
+NIKŠIĆ MIRKO
+NIKŠIĆ MLADEN
+NIKŠIĆ STEVAN
+NIKŠIĆ VESNA
+NIKAČEV RADOVAN
+NIKAČEV RADOVAN
+NIKAČEVIĆ MIHOVIL
+NIKAČEVIĆ RADOMAN
+NIKAŠINOVIĆ LJILJANA
+NIKAŠINOVIĆ LJUBICA
+NIKETIĆ GORDANA
+NIKETIĆ GOSPAVA
+NIKETIĆ JEFTA
+NIKETIĆ KATICA
+NIKETIĆ NEBOJŠA DR
+NIKETIĆ PETAR
+NIKETIĆ SAŠA
+NIKETIĆ SIMA
+NIKETIĆ SLOBODAN
+NIKETIĆ VLADIMIR
+NIKEZIĆ MILA
+NIKEZIĆ PETAR
+NIKEZIĆ ROKSANDA
+NIKIĆ BRANISLAVA
+NIKIĆ BRANISLAV
+NIKIĆ BUDIMIR
+NIKIĆ DAJANA
+NIKIĆ DRAGAN
+NIKIĆ JOVANKA
+NIKIĆ JOVO
+NIKIĆ JOVO
+NIKIĆ KATICA
+NIKIĆ LAZAR
+NIKIĆ MARINKO
+NIKIĆ MILAN
+NIKIĆ MILE
+NIKIĆ MILUTIN
+NIKIĆ MIODRAG
+NIKIĆ MIRJANA
+NIKIĆ NADA
+NIKIĆ NATAŠA
+NIKIĆ NEVENKA
+NIKIĆ RADMILA
+NIKIĆ RADOMIR
+NIKIĆ RADOMIR
+NIKIĆ RADOMIR
+NIKIĆ SANJA
+NIKIĆ SAVA
+NIKIĆ VLADIMIR
+NIKIĆ ZDRAVKO
+NIKIĆ ZLATA
+NIKIĆ ZORA
+NIKIĆ ZORKA
+NIKIN BORISLAV
+NIKIN RADOMIR
+NIKIN VERA
+NIKITIŠIN NADA
+NIKITOVIĆ ČEDOMIR
+NIKITOVIĆ ALEKSANDAR
+NIKITOVIĆ ANGELINA
+NIKITOVIĆ BOŽO
+NIKITOVIĆ DUŠAN
+NIKITOVIĆ DUŠAN
+NIKITOVIĆ MIHAJLO
+NIKITOVIĆ MILIJANKA
+NIKITOVIĆ RADA
+NIKITOVIĆ RADOJICA
+NIKITOVIĆ SLOBODAN
+NIKOČEV ZORICA
+NIKODIJEVIĆ DUŠAN
+NIKODIJEVIĆ ENESA
+NIKODIJEVIĆ RADOJKO
+NIKODIJEVIĆ RATOMIR
+NIKODINOVSKI STOJAN DIPL ING
+NIKOLČIĆ BLAŽO
+NIKOLČIĆ DRAGAN
+NIKOLČIĆ SVETLANA
+NIKOLČIN MILOŠ
+NIKOLČIN MIRJANA
+NIKOLAŠEV BORIVOJ
+NIKOLAŠEV JOVA
+NIKOLAŠEV LJUBOMIR
+NIKOLAŠEV MATILDA
+NIKOLAŠEV NADA
+NIKOLAJEV JELENA
+NIKOLAJEV LAZAR
+NIKOLAJEV MILICA
+NIKOLAJEVIĆ DIMITRIJE
+NIKOLAJEVIĆ DUŠAN
+NIKOLAJEVIĆ IRENA
+NIKOLAJEVIĆ MILIVOJ AKADEMSKI SLIKAR
+NIKOLAJEVIĆ NIKOLA
+NIKOLAJEVIĆ RADIVOJ
+NIKOLAJEVIĆ VOJISLAV
+NIKOLAJEVSKI ALEKSANDAR
+NIKOLETIĆ BORA
+NIKOLETIĆ DRAGAN
+NIKOLETIĆ DUŠANKA
+NIKOLETIĆ DUŠAN
+NIKOLETIĆ DUŠAN
+NIKOLETIĆ JOVANKA
+NIKOLETIĆ JOVAN
+NIKOLETIĆ JOVAN
+NIKOLETIĆ JOVAN
+NIKOLETIĆ JOVAN
+NIKOLETIĆ MILAN
+NIKOLETIĆ MILOŠ
+NIKOLETIĆ MILOVAN
+NIKOLETIĆ SIMO
+NIKOLETIĆ STEVAN
+NIKOLETIĆ SVETOZAR
+NIKOLETIĆ VID
+NIKOLETIĆ ZORAN
+NIKOLIČIN BRANKO
+NIKOLIČIN DANILO
+NIKOLIČIN ZORAN
+NIKOLIŠ DRAGUTIN
+NIKOLIŠ EVICA
+NIKOLIŠ MILAN
+NIKOLIĆ-ČANJI BARBARA
+NIKOLIĆ-ŠIKOPARIJA NEVENKA
+NIKOLIĆ ĆIRILO
+NIKOLIĆ ŽARKO
+NIKOLIĆ ŽARKO
+NIKOLIĆ ŽARKO
+NIKOLIĆ ŽARKO
+NIKOLIĆ ŽIVAN
+NIKOLIĆ ŽIVAN
+NIKOLIĆ ŽIVAN
+NIKOLIĆ ŽIVAN
+NIKOLIĆ ŽIVA
+NIKOLIĆ ŽIVKA
+NIKOLIĆ ŽIVKA
+NIKOLIĆ ŽIVKO
+NIKOLIĆ ŽIVKO
+NIKOLIĆ ŽIVORAD
+NIKOLIĆ ŽIVORAD
+NIKOLIĆ ŽIVORAD
+NIKOLIĆ ŽIVOTA
+NIKOLIĆ ŽIVOTA
+NIKOLIĆ ĐORĐE PROFESOR
+NIKOLIĆ ĐORĐE
+NIKOLIĆ ĐORĐE
+NIKOLIĆ ĐORĐE
+NIKOLIĆ ĐORĐE
+NIKOLIĆ ĐORĐE
+NIKOLIĆ ĐORĐE
+NIKOLIĆ ĐORĐE
+NIKOLIĆ ĐURĐINKA
+NIKOLIĆ ĐURĐINKA
+NIKOLIĆ ĐURA
+NIKOLIĆ ĐURA
+NIKOLIĆ ALEKSANDAR
+NIKOLIĆ ALEKSANDAR
+NIKOLIĆ ALEKSANDAR
+NIKOLIĆ ALEKSANDAR
+NIKOLIĆ ALEKSANDAR
+NIKOLIĆ ALEKSANDAR
+NIKOLIĆ ALEKSANDAR
+NIKOLIĆ ALEKSANDAR
+NIKOLIĆ-ALEKSOVSKI SLAVICA
+NIKOLIĆ ANA
+NIKOLIĆ ANDRIJA
+NIKOLIĆ ANKA
+NIKOLIĆ ANKICA
+NIKOLIĆ-BAJŠEV STANKA
+NIKOLIĆ BILJANA
+NIKOLIĆ BISERKA
+NIKOLIĆ BOŠKO
+NIKOLIĆ BOŠKO
+NIKOLIĆ BOŠKO
+NIKOLIĆ BOŽIDAR
+NIKOLIĆ BOŽIDAR
+NIKOLIĆ BOŽIDAR
+NIKOLIĆ BOŽIDAR
+NIKOLIĆ BOŽO
+NIKOLIĆ BOGDAN
+NIKOLIĆ BOJKA
+NIKOLIĆ BORA
+NIKOLIĆ BORA
+NIKOLIĆ BORISLAV
+NIKOLIĆ BORISLAV
+NIKOLIĆ BORISLAV
+NIKOLIĆ BORIVOJE
+NIKOLIĆ BORIVOJ
+NIKOLIĆ BRANISLAV
+NIKOLIĆ BRANISLAV
+NIKOLIĆ BRANISLAV
+NIKOLIĆ BRANISLAV
+NIKOLIĆ BRANISLAV
+NIKOLIĆ BRANISLAV
+NIKOLIĆ BRANKO
+NIKOLIĆ BRANKO
+NIKOLIĆ BRANKO
+NIKOLIĆ BUDIMIR
+NIKOLIĆ CVETANKA
+NIKOLIĆ CVIJETA
+NIKOLIĆ-DŽAVER IVAN DIPL ING
+NIKOLIĆ DAMJAN
+NIKOLIĆ DAMJAN
+NIKOLIĆ DANA
+NIKOLIĆ DANICA
+NIKOLIĆ DANICA
+NIKOLIĆ DANICA
+NIKOLIĆ DANIEL
+NIKOLIĆ DANIJEL
+NIKOLIĆ DANILO
+NIKOLIĆ DANILO
+NIKOLIĆ DANKO
+NIKOLIĆ DARINKA
+NIKOLIĆ DAVORIN
+NIKOLIĆ DEJAN
+NIKOLIĆ DESANKA
+NIKOLIĆ DIMITRIJE
+NIKOLIĆ DOBRIVOJE
+NIKOLIĆ DRAŠKO
+NIKOLIĆ DRAGANA
+NIKOLIĆ DRAGAN
+NIKOLIĆ DRAGAN
+NIKOLIĆ DRAGAN
+NIKOLIĆ DRAGAN
+NIKOLIĆ DRAGAN
+NIKOLIĆ DRAGAN
+NIKOLIĆ DRAGAN
+NIKOLIĆ DRAGAN
+NIKOLIĆ DRAGAN
+NIKOLIĆ DRAGA
+NIKOLIĆ DRAGICA
+NIKOLIĆ DRAGICA
+NIKOLIĆ DRAGICA
+NIKOLIĆ DRAGOLJUB
+NIKOLIĆ DRAGOLJUB
+NIKOLIĆ DRAGOLJUB
+NIKOLIĆ DRAGOLJUB
+NIKOLIĆ DRAGOMIR
+NIKOLIĆ DRAGOMIR
+NIKOLIĆ DRAGOMIR
+NIKOLIĆ DRAGOSLAV
+NIKOLIĆ DRAGO
+NIKOLIĆ DRAGUTIN
+NIKOLIĆ DUŠAN DIPL ING
+NIKOLIĆ DUŠANKA
+NIKOLIĆ DUŠANKA
+NIKOLIĆ DUŠAN
+NIKOLIĆ DUŠAN
+NIKOLIĆ DUŠAN
+NIKOLIĆ DUŠAN
+NIKOLIĆ DUŠAN
+NIKOLIĆ DUŠAN
+NIKOLIĆ DUŠAN
+NIKOLIĆ DUŠAN
+NIKOLIĆ DUŠAN
+NIKOLIĆ DUŠAN
+NIKOLIĆ DUŠAN
+NIKOLIĆ DUŠAN
+NIKOLIĆ DUŠAN
+NIKOLIĆ DUŠAN
+NIKOLIĆ DUŠAN
+NIKOLIĆ DUŠKO
+NIKOLIĆ EMILIJA
+NIKOLIĆ EMIL
+NIKOLIĆ GORDANA
+NIKOLIĆ GORDANA
+NIKOLIĆ GORDANA
+NIKOLIĆ HILDA
+NIKOLIĆ HRISTINA
+NIKOLIĆ ILIJA
+NIKOLIĆ ISIDOR
+NIKOLIĆ IVANKA
+NIKOLIĆ IVAN
+NIKOLIĆ IVO
+NIKOLIĆ JAVORKA
+NIKOLIĆ JEFTA
+NIKOLIĆ JEFTIMIR
+NIKOLIĆ JEFTIMIR
+NIKOLIĆ JELENA
+NIKOLIĆ JELENA
+NIKOLIĆ JELKA
+NIKOLIĆ JELKA
+NIKOLIĆ JOCA
+NIKOLIĆ JOVAN
+NIKOLIĆ JOVAN
+NIKOLIĆ JOVAN
+NIKOLIĆ JOVAN
+NIKOLIĆ JOVAN
+NIKOLIĆ JOVAN
+NIKOLIĆ JOVAN
+NIKOLIĆ JOVAN
+NIKOLIĆ JOVAN
+NIKOLIĆ JOVAN
+NIKOLIĆ JOVAN
+NIKOLIĆ JOVICA
+NIKOLIĆ JULIJANA
+NIKOLIĆ JULKA
+NIKOLIĆ KATARINA
+NIKOLIĆ KATICA
+NIKOLIĆ KATICA
+NIKOLIĆ KATICA
+NIKOLIĆ KOSTADIN
+NIKOLIĆ KOSTA
+NIKOLIĆ KRSTA DR
+NIKOLIĆ KRSTA
+NIKOLIĆ LAZAR
+NIKOLIĆ LAZAR
+NIKOLIĆ LAZAR
+NIKOLIĆ LAZAR
+NIKOLIĆ LAZAR
+NIKOLIĆ LAZAR
+NIKOLIĆ LAZAR
+NIKOLIĆ LAZAR
+NIKOLIĆ LJILJANA
+NIKOLIĆ LJILJANA
+NIKOLIĆ LJILJANA
+NIKOLIĆ LJUBICA
+NIKOLIĆ LJUBICA
+NIKOLIĆ LJUBICA
+NIKOLIĆ LJUBICA
+NIKOLIĆ LUJZA
+NIKOLIĆ LUKA
+NIKOLIĆ MANOJLO
+NIKOLIĆ MARA
+NIKOLIĆ MARA
+NIKOLIĆ MARA
+NIKOLIĆ MARGITA
+NIKOLIĆ MARGITA
+NIKOLIĆ MARICA
+NIKOLIĆ MARIJA
+NIKOLIĆ MARIJA
+NIKOLIĆ MARIJA
+NIKOLIĆ MARIJA
+NIKOLIĆ MARKO
+NIKOLIĆ MARKO
+NIKOLIĆ MARKO
+NIKOLIĆ MELANIJA STOMATOLOG
+NIKOLIĆ MELANIJA
+NIKOLIĆ MIHAJLO
+NIKOLIĆ MIHAJLO
+NIKOLIĆ MIHAJLO
+NIKOLIĆ MILAŠIN
+NIKOLIĆ MILANA
+NIKOLIĆ MILANA
+NIKOLIĆ MILAN
+NIKOLIĆ MILAN
+NIKOLIĆ MILAN
+NIKOLIĆ MILAN
+NIKOLIĆ MILAN
+NIKOLIĆ MILAN
+NIKOLIĆ MILAN
+NIKOLIĆ MILAN
+NIKOLIĆ MILAN
+NIKOLIĆ MILENA
+NIKOLIĆ MILENKO
+NIKOLIĆ MILEVA
+NIKOLIĆ MILEVA
+NIKOLIĆ MILE
+NIKOLIĆ MILE
+NIKOLIĆ MILE
+NIKOLIĆ MILICA
+NIKOLIĆ MILICA
+NIKOLIĆ MILICA
+NIKOLIĆ MILIVOJE
+NIKOLIĆ MILKA
+NIKOLIĆ MILKA
+NIKOLIĆ MILOŠ
+NIKOLIĆ MILOŠ
+NIKOLIĆ MILOŠ
+NIKOLIĆ MILOŠ
+NIKOLIĆ MILOŠ
+NIKOLIĆ MILOJKO
+NIKOLIĆ MILOMIR
+NIKOLIĆ MILORAD
+NIKOLIĆ MILORAD
+NIKOLIĆ MILORAD
+NIKOLIĆ MILORAD
+NIKOLIĆ MILORAD
+NIKOLIĆ MILORAD
+NIKOLIĆ MILORAD
+NIKOLIĆ MILORAD
+NIKOLIĆ MILOSAVA
+NIKOLIĆ MILOSAVA
+NIKOLIĆ MILOVAN
+NIKOLIĆ MILUTIN
+NIKOLIĆ MILUTIN
+NIKOLIĆ MILUTIN
+NIKOLIĆ MIODRAG DIPL ING
+NIKOLIĆ MIODRAG DR
+NIKOLIĆ MIODRAG DR
+NIKOLIĆ MIODRAG
+NIKOLIĆ MIODRAG
+NIKOLIĆ MIODRAG
+NIKOLIĆ MIODRAG
+NIKOLIĆ MIODRAG
+NIKOLIĆ MIODRAG
+NIKOLIĆ MIODRAG
+NIKOLIĆ MIRJANA
+NIKOLIĆ MIRJANA
+NIKOLIĆ MIRJANA
+NIKOLIĆ MIRJANA
+NIKOLIĆ MIRJANA
+NIKOLIĆ MIRKO
+NIKOLIĆ MIRKO
+NIKOLIĆ MIROSLAV DIPL ING
+NIKOLIĆ MIROSLAV
+NIKOLIĆ MIROSLAV
+NIKOLIĆ MIROSLAV
+NIKOLIĆ MIROSLAV
+NIKOLIĆ MIROSLAV
+NIKOLIĆ MITA
+NIKOLIĆ MITA
+NIKOLIĆ MITA
+NIKOLIĆ MLADENKA
+NIKOLIĆ MLADEN
+NIKOLIĆ MOMČILO
+NIKOLIĆ-MUŠICKI DARA
+NIKOLIĆ NADA
+NIKOLIĆ NADA
+NIKOLIĆ NADA
+NIKOLIĆ NADA
+NIKOLIĆ NADA
+NIKOLIĆ NADEŽDA
+NIKOLIĆ NEBOJŠA
+NIKOLIĆ NEDELJKA
+NIKOLIĆ NEDELJKO
+NIKOLIĆ NEDELJKO
+NIKOLIĆ NENAD DR
+NIKOLIĆ NENAD
+NIKOLIĆ NIKOLA
+NIKOLIĆ NIKOLA
+NIKOLIĆ NIKOLA
+NIKOLIĆ NIKOLA
+NIKOLIĆ NIKOLA
+NIKOLIĆ NIKOLA
+NIKOLIĆ NIKOLA
+NIKOLIĆ NIKOLA
+NIKOLIĆ NOVICA
+NIKOLIĆ NOVICA
+NIKOLIĆ NOVICA
+NIKOLIĆ OLGA
+NIKOLIĆ OSMAN
+NIKOLIĆ PAUN
+NIKOLIĆ PAVLE
+NIKOLIĆ PERA
+NIKOLIĆ PERO
+NIKOLIĆ PERSIDA
+NIKOLIĆ PETAR DIPL OEC
+NIKOLIĆ PETAR
+NIKOLIĆ PETAR
+NIKOLIĆ PETAR
+NIKOLIĆ PETRA
+NIKOLIĆ PETRA
+NIKOLIĆ PETRONIJE
+NIKOLIĆ PREDRAG
+NIKOLIĆ PRVOSLAV
+NIKOLIĆ RADENKO
+NIKOLIĆ RADISAV
+NIKOLIĆ RADIVOJE
+NIKOLIĆ RADOJICA
+NIKOLIĆ RADOJKA
+NIKOLIĆ RADOJKA
+NIKOLIĆ RADOMIR
+NIKOLIĆ RADOMIR
+NIKOLIĆ RADOMIR
+NIKOLIĆ RADOSLAVA
+NIKOLIĆ RADOSLAV
+NIKOLIĆ RADOVAN
+NIKOLIĆ RADOVAN
+NIKOLIĆ RADOVAN
+NIKOLIĆ RADOVAN
+NIKOLIĆ RADOVAN
+NIKOLIĆ RAJKO
+NIKOLIĆ RAJKO
+NIKOLIĆ RANKA
+NIKOLIĆ RATKO MR
+NIKOLIĆ RATOMIR
+NIKOLIĆ RATOMIR
+NIKOLIĆ RUŽA
+NIKOLIĆ RUŽICA
+NIKOLIĆ RUŽICA
+NIKOLIĆ SAVA
+NIKOLIĆ SAVA
+NIKOLIĆ SAVA
+NIKOLIĆ SAVA
+NIKOLIĆ SAVA
+NIKOLIĆ SAVETA
+NIKOLIĆ SAVKA
+NIKOLIĆ SAVO
+NIKOLIĆ SEĆERKA
+NIKOLIĆ SIMA
+NIKOLIĆ SIMEON
+NIKOLIĆ SIMEUN
+NIKOLIĆ SINIŠA
+NIKOLIĆ SINIŠA
+NIKOLIĆ SINIŠA
+NIKOLIĆ SLAĐANA
+NIKOLIĆ SLAVIŠA
+NIKOLIĆ SLAVICA
+NIKOLIĆ SLAVKO
+NIKOLIĆ SLAVNA
+NIKOLIĆ SLOBODANKA
+NIKOLIĆ SLOBODAN
+NIKOLIĆ SLOBODAN
+NIKOLIĆ SLOBODAN
+NIKOLIĆ SLOBODAN
+NIKOLIĆ SLOBODAN
+NIKOLIĆ SMILJANA
+NIKOLIĆ SNEŽANA
+NIKOLIĆ SOFIJA
+NIKOLIĆ SOFIJA
+NIKOLIĆ SOFIJA
+NIKOLIĆ SPASENKA
+NIKOLIĆ SPASOJE
+NIKOLIĆ SPASOJE
+NIKOLIĆ SPASOJE
+NIKOLIĆ SRETA
+NIKOLIĆ SRETENKA
+NIKOLIĆ STANIMIR
+NIKOLIĆ STANIMIR
+NIKOLIĆ STANISLAV
+NIKOLIĆ STANKO
+NIKOLIĆ STEFANIJA
+NIKOLIĆ STEVAN
+NIKOLIĆ STEVAN
+NIKOLIĆ STEVAN
+NIKOLIĆ STEVAN
+NIKOLIĆ STEVAN
+NIKOLIĆ STEVAN
+NIKOLIĆ STEVAN
+NIKOLIĆ STEVAN
+NIKOLIĆ STEVICA
+NIKOLIĆ STOJADIN
+NIKOLIĆ STOJAN
+NIKOLIĆ SUZANA
+NIKOLIĆ SVETISLAV
+NIKOLIĆ SVETISLAV
+NIKOLIĆ SVETOZAR
+NIKOLIĆ SVETOZAR
+NIKOLIĆ SVETOZAR
+NIKOLIĆ SVETOZAR
+NIKOLIĆ TAMARA
+NIKOLIĆ TATJANA
+NIKOLIĆ TEODOR
+NIKOLIĆ TEODOR
+NIKOLIĆ TIHOMIR
+NIKOLIĆ TIHOMIR
+NIKOLIĆ TODOR
+NIKOLIĆ TOMISLAV MR
+NIKOLIĆ TOMISLAV
+NIKOLIĆ TOMISLAV
+NIKOLIĆ TRENČA
+NIKOLIĆ VASILIJE
+NIKOLIĆ VEKOSLAV
+NIKOLIĆ VELIMIR
+NIKOLIĆ VELIMIR
+NIKOLIĆ VELJKO DR ING
+NIKOLIĆ VELJKO
+NIKOLIĆ VERA
+NIKOLIĆ VERA
+NIKOLIĆ VERA
+NIKOLIĆ VERA
+NIKOLIĆ VERICA
+NIKOLIĆ VESNA
+NIKOLIĆ VIDOSAVA
+NIKOLIĆ VITOMIR
+NIKOLIĆ VITOMIR
+NIKOLIĆ VITOMIR
+NIKOLIĆ VLADA
+NIKOLIĆ VLADIMIR
+NIKOLIĆ VLADIMIR
+NIKOLIĆ VLADIMIR
+NIKOLIĆ VLADIMIR
+NIKOLIĆ VLADISLAV DR
+NIKOLIĆ VOJISLAV DR DOCENT
+NIKOLIĆ VOJISLAV DR LEKAR
+NIKOLIĆ VOJISLAV
+NIKOLIĆ VUKAŠIN
+NIKOLIĆ VUKAŠIN
+NIKOLIĆ ZAGORKA
+NIKOLIĆ ZDRAVKO
+NIKOLIĆ ZDRAVKO
+NIKOLIĆ ZORAN
+NIKOLIĆ ZORAN
+NIKOLIĆ ZORAN
+NIKOLIĆ ZORA
+NIKOLIĆ ZORA
+NIKOLIĆ ZORA
+NIKOLIĆ ZORKA
+NIKOLIN ALEKSANDRA
+NIKOLIN ANA
+NIKOLIN BRANKO
+NIKOLIN DRAGOSLAVA DR
+NIKOLIN DUŠICA
+NIKOLIN ERŽEBET
+NIKOLIN IVICA
+NIKOLIN LAZAR DR LEKAR
+NIKOLIN LJUBIŠA
+NIKOLIN MARGITA
+NIKOLIN MILAN
+NIKOLIN MILICA
+NIKOLIN MILIVOJ
+NIKOLIN MILIVOJ
+NIKOLIN MIROSLAV
+NIKOLIN RADOVAN
+NIKOLIN RADOVAN
+NIKOLIN RUŽICA
+NIKOLIN SAVA
+NIKOLIN SINIŠA
+NIKOLIN SINIŠA
+NIKOLIN STIPAN
+NIKOLIN VESNA
+NIKOLIN VITOMIR
+NIKOLOSKI NIKOLA
+NIKOLOSKI SLAVICA
+NIKOLOV ĐORĐE
+NIKOLOV BOŠKO
+NIKOLOV JOCA
+NIKOLOV JOCA
+NIKOLOV LJUBICA
+NIKOLOV NINA
+NIKOLOV RAŠA
+NIKOLOV SINIŠA
+NIKOLOV STOJAN
+NIKOLOV TODOR
+NIKOLOVSKI ILIJA
+NIKOLOVSKI MILAN
+NIKOTIĆ VELIMIR
+NILIĆ NIKOLA
+NILOVIĆ MIROSLAV
+NIMRIHTER DRAGUTIN
+NIMRIHTER MILAN
+NIMRIHTER MIROSLAV
+NIMRIHTER VLADA
+NINČIĆ BISERKA
+NINČIĆ DAMJAN
+NINČIĆ MILENKO
+NINČIĆ PERO
+NINIĆ ALEKSA
+NINIĆ BRANISLAV
+NINIĆ MARKO
+NINIĆ MIRKO
+NINIĆ RADOJE
+NINIĆ RADOMIR
+NINKOV ŽIVKO
+NINKOV ĐORĐE
+NINKOV ĐORĐE
+NINKOV ĐORĐE
+NINKOV BOŽICA
+NINKOV BORISLAV
+NINKOV BORISLAV
+NINKOV BRANISLAV
+NINKOV DOBRIVOJ
+NINKOV DRAGOMIR
+NINKOV DUŠAN
+NINKOV DUŠAN
+NINKOV DUŠAN
+NINKOV EMILIJA
+NINKOV ERŽEBET
+NINKOV JELICA
+NINKOV JOVAN
+NINKOV JULIJAN MR
+NINKOV-KOMLENOV DANICA DR
+NINKOV LAZAR
+NINKOV LAZAR
+NINKOV-LEĐENAC JOVANKA DR
+NINKOV LJUBOMIR
+NINKOV LJUBOMIR
+NINKOV MARIJA
+NINKOV MARIJA
+NINKOV MILANA
+NINKOV MILAN
+NINKOV MILICA
+NINKOV MILOŠ
+NINKOV MILOŠ
+NINKOV MILOŠ
+NINKOV MILOVAN
+NINKOV MILOVAN
+NINKOV MILUTIN
+NINKOV MIRJANA
+NINKOV MIRKO
+NINKOV MIROSLAV
+NINKOV MIROSLAV
+NINKOV NADA
+NINKOV NEBOJŠA
+NINKOV NEBOJŠA
+NINKOV NIKOLA
+NINKOV OLGICA
+NINKOV RADICA
+NINKOV SAVETA DIPL ING
+NINKOV SAVETA
+NINKOV SLAVKO
+NINKOV SMILJA
+NINKOV SOFIJA
+NINKOV SPOMENKA
+NINKOV STEVAN
+NINKOV STEVAN
+NINKOV STEVAN
+NINKOV VELIMIR
+NINKOV VELJKO
+NINKOV VERICA
+NINKOV VLADIMIR
+NINKOV VOJISLAV
+NINKOVIĆ ŠPIRO
+NINKOVIĆ ŠPIRO
+NINKOVIĆ ĐURAĐ
+NINKOVIĆ ĐURA
+NINKOVIĆ ANKICA
+NINKOVIĆ BRANKO
+NINKOVIĆ DANICA
+NINKOVIĆ DRAGA
+NINKOVIĆ DUŠAN
+NINKOVIĆ ERIKA
+NINKOVIĆ GAVRA
+NINKOVIĆ JANKO
+NINKOVIĆ JOJA
+NINKOVIĆ JOVANKA
+NINKOVIĆ MARICA
+NINKOVIĆ MARKO
+NINKOVIĆ MIĆO
+NINKOVIĆ MIHAILO
+NINKOVIĆ MILAN
+NINKOVIĆ MILOŠ
+NINKOVIĆ MIRJANA
+NINKOVIĆ MIRJANA
+NINKOVIĆ NIKOLA
+NINKOVIĆ NIKOLA
+NINKOVIĆ PERA
+NINKOVIĆ PERO
+NINKOVIĆ PETAR
+NINKOVIĆ RADOMIR
+NINKOVIĆ RADOVAN
+NINKOVIĆ RAJKO
+NINKOVIĆ SRĐAN
+NINKOVIĆ STOJAN
+NINKOVIĆ SVETISLAV
+NINKOVIĆ VERA
+NISIM DESA
+NISTER EVA
+NISTOR DRAGAN
+NISTORAN ĐORĐE
+NISTORAN MILAN
+NJAGOJEV MILADIN
+NJAGRIN SLAVICA
+NJAGUL-DOKIĆ SRBISLAVA
+NJAGUL DUŠAN
+NJARADI EVGENIJE
+NJARADI JANKO
+NJARADI JOVGEN
+NJARADI MARIJA
+NJARADI SOFIJA
+NJARI ŠANDOR
+NJARI DEŽE
+NJEŽIĆ OBRAD
+NJEŽIĆ ZVONKO
+NJEGOMIR ĐURO
+NJEGOMIR LJUBINKA DR LEKAR
+NJEGOMIR MILAN
+NJEGOMIR NIKOLA
+NJEGOMIR NOVAK
+NJEGOVAN ŽARKO
+NJEGOVAN JOVANKA
+NJEGOVAN MARA
+NJEGOVAN MARIJA
+NJEGOVAN MIRKO
+NJEGOVAN MIRKO
+NJEGOVAN STOJANKA
+NJEGOVANOVIĆ ELENA
+NJEGRIĆ MARIJA
+NJEGRIĆ RADMILA
+NJEMČOK JOŽEF
+NJEMOGA JURAJ
+NJENJIĆ VLADO
+NJERGEŠ JANOŠ
+NJERGEŠ MARIJA
+NJIRE STEVAN
+NJIRJAK ĐORĐE
+NJIRJAK LEONA
+NJITRI KAROLJ
+NJUNJIĆ MILEVA
+NOČEVSKA VELIKA
+NOČEVSKI BILJANA
+NOČEVSKI RADE
+NOŽICA CVIJETA
+NOŽICA MILIVOJE
+NOŽINIĆ DARA
+NOŽINIĆ LJUBICA
+NOŽINIĆ MILAN
+NOŽINIĆ NIKOLA
+NOLA TIMNJA
+NOLIN ĐURĐINKA
+NONIN ANĐELKA
+NONIN DUŠAN
+NONIN MILORAD
+NONIN NIKOLA
+NONIN SONJA
+NONIN VITOMIR
+NONKOVIĆ MILAN
+NONKOVIĆ MILORAD
+NOSAK ĐORĐE
+NOSAK MIKLOŠ
+NOSALJ MIŠA
+NOSEK EVICA
+NOSEK FRANJA
+NOSEK KARLO
+NOSEK KSENIJA
+NOSEK ZORAN
+NOSONJIN LENKA
+NOSONJIN MILAN
+NOSONJIN SAVA
+NOSOVIĆ ĐORĐE
+NOSOVIĆ DANICA
+NOSOVIĆ JANKO
+NOSOVIĆ JOVAN
+NOSOVIĆ JOVAN
+NOSOVIĆ ZORAN
+NOTA JANKO
+NOTAROŠ DARINKA
+NOTAROŠ DEJAN
+NOTAROŠ MILAN
+NOTHOF EVA
+NOTHOF ZOLTAN
+NOVČIĆ BUDIMIR
+NOVČIĆ DAMNJAN
+NOVČIĆ DUŠAN
+NOVČIĆ STANA
+NOVČIĆ STANA
+NOVČIĆ TATJANA
+NOVČIĆ VLADIMIR
+NOVAČIĆ ĐURA
+NOVAČIĆ ĐURO
+NOVAČIĆ PERSIDA
+NOVAK ĐORĐE
+NOVAK ANDRIJA
+NOVAK ANTAL
+NOVAK BOŠKO
+NOVAK DRAGICA
+NOVAK DUŠANKA
+NOVAK FRANJA
+NOVAK IŠTVAN
+NOVAK IRENA
+NOVAK IVAN
+NOVAK JANA
+NOVAK JANOŠ
+NOVAK JOSIP
+NOVAK JOSIP
+NOVAK JOVAN
+NOVAK LADISLAV MR
+NOVAK LASLO
+NOVAK LAZAR
+NOVAK LJUBOMIR
+NOVAK MARGITA
+NOVAK MARIJA
+NOVAK MATILDA
+NOVAK MIHALJ
+NOVAK NANDOR
+NOVAK NIKOLA
+NOVAK SLAVKA
+NOVAK STEVAN
+NOVAK STEVAN
+NOVAK STJEPAN
+NOVAK TIBOR
+NOVAK-VAJDA LJILJANA
+NOVAK VASILIJA
+NOVAK VERA
+NOVAK VERONA
+NOVAK VIKTOR
+NOVAKOV ČEDOMIR
+NOVAKOV ANĐELKO
+NOVAKOV BORISLAV
+NOVAKOV DRAGOLJUB MR
+NOVAKOV DUŠAN
+NOVAKOV GORDANA
+NOVAKOV GOSPAVA DR
+NOVAKOV JELICA
+NOVAKOV LAZAR
+NOVAKOV LJUBINKA
+NOVAKOV LJUBOMIR
+NOVAKOV MARINA
+NOVAKOV MILAN
+NOVAKOV MILICA
+NOVAKOV MILIVOJ
+NOVAKOV MILORAD
+NOVAKOV MIROSLAV
+NOVAKOV NADA
+NOVAKOV PREDRAG
+NOVAKOV PREDRAG
+NOVAKOV RADOVAN DIPL ING
+NOVAKOV SAVA
+NOVAKOV SAVA
+NOVAKOV SRBISLAV
+NOVAKOV SRETEN
+NOVAKOV SRETEN
+NOVAKOV STEVAN DR
+NOVAKOV STEVAN
+NOVAKOV VALERIJA
+NOVAKOV VESELIN
+NOVAKOV ZDRAVKO
+NOVAKOVIĆ ŽIVAN
+NOVAKOVIĆ ŽIVAN
+NOVAKOVIĆ ŽIVKO
+NOVAKOVIĆ ŽIVOJIN
+NOVAKOVIĆ ĐORĐE
+NOVAKOVIĆ ĐUJA
+NOVAKOVIĆ ĐURO
+NOVAKOVIĆ ALEKSANDAR
+NOVAKOVIĆ ANĐELKA
+NOVAKOVIĆ ANA
+NOVAKOVIĆ ANKA
+NOVAKOVIĆ BOŠKO DR PROF
+NOVAKOVIĆ BOGDAN
+NOVAKOVIĆ BRANISLAVA
+NOVAKOVIĆ BRANISLAV
+NOVAKOVIĆ BRANKO
+NOVAKOVIĆ BRANKO
+NOVAKOVIĆ CVETKO DR
+NOVAKOVIĆ CVIJETA
+NOVAKOVIĆ DANA
+NOVAKOVIĆ DANICA
+NOVAKOVIĆ DIMITRIJE
+NOVAKOVIĆ DRAGAN
+NOVAKOVIĆ DRAGAN
+NOVAKOVIĆ DRAGA
+NOVAKOVIĆ DRAGOLJUB
+NOVAKOVIĆ DRAGOLJUB
+NOVAKOVIĆ DRAGOSLAV
+NOVAKOVIĆ DUŠANKA
+NOVAKOVIĆ DUŠAN
+NOVAKOVIĆ DUŠAN
+NOVAKOVIĆ DUŠAN
+NOVAKOVIĆ DUŠAN
+NOVAKOVIĆ DUŠAN
+NOVAKOVIĆ DUŠAN
+NOVAKOVIĆ DUŠAN
+NOVAKOVIĆ FRANJO
+NOVAKOVIĆ GORDANA
+NOVAKOVIĆ GORICA
+NOVAKOVIĆ GROZDA
+NOVAKOVIĆ INĐIJA
+NOVAKOVIĆ JELENA
+NOVAKOVIĆ JELENA
+NOVAKOVIĆ JOVANKA
+NOVAKOVIĆ JOVAN
+NOVAKOVIĆ JOVAN
+NOVAKOVIĆ KOSA
+NOVAKOVIĆ LAZAR
+NOVAKOVIĆ LEPOSAVA
+NOVAKOVIĆ LJILJANA
+NOVAKOVIĆ LJUBOMIR
+NOVAKOVIĆ LJUBOMIR
+NOVAKOVIĆ MARICA
+NOVAKOVIĆ MARIJA
+NOVAKOVIĆ MARIJA
+NOVAKOVIĆ MARIJA
+NOVAKOVIĆ MELANIJA
+NOVAKOVIĆ MIŠO
+NOVAKOVIĆ-MIDI DIVNA DIPL TURIZM
+NOVAKOVIĆ MIJODRAG
+NOVAKOVIĆ MILAN
+NOVAKOVIĆ MILAN
+NOVAKOVIĆ MILAN
+NOVAKOVIĆ MILOŠ
+NOVAKOVIĆ MILOŠ
+NOVAKOVIĆ MILORAD
+NOVAKOVIĆ MILORAD
+NOVAKOVIĆ MILORAD
+NOVAKOVIĆ MILORAD
+NOVAKOVIĆ MILOVAN
+NOVAKOVIĆ MILOVAN
+NOVAKOVIĆ MIODRAG DR
+NOVAKOVIĆ MIODRAG
+NOVAKOVIĆ MLADEN
+NOVAKOVIĆ MOMČILO
+NOVAKOVIĆ NADA
+NOVAKOVIĆ NIKOLA
+NOVAKOVIĆ NIKOLA
+NOVAKOVIĆ NIKOLA
+NOVAKOVIĆ NIKOLA
+NOVAKOVIĆ NIKOLA
+NOVAKOVIĆ NIKOLA
+NOVAKOVIĆ NIKOLA
+NOVAKOVIĆ OLIVER
+NOVAKOVIĆ PETAR
+NOVAKOVIĆ PETAR
+NOVAKOVIĆ PETAR
+NOVAKOVIĆ PETAR
+NOVAKOVIĆ PETAR
+NOVAKOVIĆ PETAR
+NOVAKOVIĆ-PLAVŠIĆ JELENA
+NOVAKOVIĆ RADMILO
+NOVAKOVIĆ RADOJKA
+NOVAKOVIĆ RADOMIR
+NOVAKOVIĆ RADOMIR
+NOVAKOVIĆ RADOMIR
+NOVAKOVIĆ RADOVAN
+NOVAKOVIĆ RAJKO
+NOVAKOVIĆ RANKO
+NOVAKOVIĆ ROSANKA
+NOVAKOVIĆ RUŽICA
+NOVAKOVIĆ SAVA
+NOVAKOVIĆ SAVA
+NOVAKOVIĆ SLAVKO
+NOVAKOVIĆ SLOBODAN
+NOVAKOVIĆ SLOBODAN
+NOVAKOVIĆ SLOBODAN
+NOVAKOVIĆ SOFIJA
+NOVAKOVIĆ SPASOJA
+NOVAKOVIĆ SPOMENKA
+NOVAKOVIĆ STANISLAV
+NOVAKOVIĆ STEVAN DIPL ING
+NOVAKOVIĆ STEVAN
+NOVAKOVIĆ STEVAN
+NOVAKOVIĆ STEVAN
+NOVAKOVIĆ STEVO
+NOVAKOVIĆ STOJAN
+NOVAKOVIĆ SVETOMIR
+NOVAKOVIĆ VELIMIR
+NOVAKOVIĆ VELINKA
+NOVAKOVIĆ VERICA
+NOVAKOVIĆ VESNA
+NOVAKOVIĆ VIDOJE
+NOVAKOVIĆ VITKO
+NOVAKOVIĆ VLADIMIR DIPL ING
+NOVAKOVIĆ VLADIMIR
+NOVAKOVIĆ VLADIMIR
+NOVAKOVIĆ VLADISLAV
+NOVAKOVIĆ ZLATOMIR
+NOVAKOVIĆ ZORA
+NOVAKOVIĆ ZORICA
+NOVAKOVIĆ ZORICA
+NOVIČIĆ MILOŠ
+NOVIĆ ČEDO
+NOVIĆ-ČULJAK LJUBICA
+NOVIĆ DANICA
+NOVIĆ DUŠAN
+NOVIĆ JOVAN
+NOVIĆ MILAN
+NOVIĆ MILAN
+NOVIĆ MIROSLAV
+NOVIĆ MIROSLAV
+NOVIĆ MITAR
+NOVIĆ NIKOLA
+NOVIĆ PANTELIJA
+NOVIĆ PERSIDA
+NOVIĆ TATJANA
+NOVIĆ TOMA
+NOVIĆ VLAJKO
+NOVICKI ALEKSA
+NOVIKOV VERA
+NOVINC IVAN
+NOVITOVIĆ MARKO
+NOVKOV ŽIVOJIN
+NOVKOV DOBRILA
+NOVKOV GAVRA
+NOVKOV JOVAN
+NOVKOV MILAN
+NOVKOV NADA
+NOVKOV STEVAN
+NOVKOV STEVAN
+NOVKOV ZAGORKA
+NOVKOVIĆ ĐORĐE
+NOVKOVIĆ ANKA
+NOVKOVIĆ BILJANA
+NOVKOVIĆ DRAGICA
+NOVKOVIĆ DRAGINJA
+NOVKOVIĆ DUŠAN
+NOVKOVIĆ DUŠAN
+NOVKOVIĆ DUŠAN
+NOVKOVIĆ DUŠAN
+NOVKOVIĆ ELFRIDA
+NOVKOVIĆ ELIZABETA
+NOVKOVIĆ JOVAN
+NOVKOVIĆ MIHAJLO
+NOVKOVIĆ MILAN
+NOVKOVIĆ MILINKO
+NOVKOVIĆ MILOŠ
+NOVKOVIĆ MIRJANA
+NOVKOVIĆ MOMČILO
+NOVKOVIĆ MOMČILO
+NOVKOVIĆ NADA
+NOVKOVIĆ NEBOJŠA DR
+NOVKOVIĆ NIKOLA
+NOVKOVIĆ ROSA
+NOVKOVIĆ SMILJKA
+NOVKOVIĆ STANKO
+NOVKOVIĆ VLADA
+NOVKOVIĆ VUKAŠIN
+NOVOSEL GORDANA
+NOVOSEL MARIJA
+NOVOSEL NADA
+NOVOSEL RAJKO
+NOVOSELAC KATICA
+NOVOSELAC STEVAN
+NOVOSELAC ZVONIMIR
+NOVOSELJAČKI MILIVOJ
+NOVOSELOVSKI ANGEL
+NOVOT LADISLAV
+NOVOT PAVLE
+NOVOVIĆ ŽIVOJIN
+NOVOVIĆ BATRIĆ
+NOVOVIĆ BILJANA
+NOVOVIĆ DRAGAN
+NOVOVIĆ GORDANA
+NOVOVIĆ MINA
+NOVOVIĆ NADA
+NOVOVIĆ VLADO
+NOVOVIĆ ZDENKA
+NOVTA NIKOLA DR
+NOVTA VLADIMIR
+NOVTA VLADIMIR
+NUŽDIĆ MILAN
+NUŽDIĆ OBRAD
+NUBER ANA
+NUDIĆ ĐORĐE
+NUDIĆ SVETOZAR
+NUHI FEVZI
+NUHI HAJDAN
+NUHI ZEKIJA
+NUKA HASAN
+NUKIĆ ALJO
+NUKIĆ DŽEVAD
+NUKIĆ KANITA
+NUKIĆ OMER
+OČENAŠ LJUDMILA
+OČKAJI IŠTVAN
+OČKO VILHELM
+OČOVAJ BOŽENKA
+OČOVAJ ZUZANA
+OŠAP JELENA
+OŠAP JOVAN
+OŠKERT ANKA
+OŠTRIĆ MILE DIPL ING
+OŠTRIKA ŽARKO
+OŠTRIKA ŽARKO
+OŠTRIKA DARINKA
+OŽEGOVIĆ ŽARKO DIPL ING
+OŽEGOVIĆ BOŠKO
+OŽEGOVIĆ BRANKO DIPL ING
+OŽEGOVIĆ DANE
+OŽEGOVIĆ DRAGA
+OŽEGOVIĆ LAZAR
+OŽEGOVIĆ MIRKO
+OŽEGOVIĆ MOMČILO
+OŽEGOVIĆ NEVENKA
+OŽEGOVIĆ SLAVKO
+OŽEGOVIĆ SLOBODAN
+OŽEKOVIĆ GOJKO
+OŽVAT JASMINA
+OŽVAT JASMINA
+OŽVAT JULIJANA
+OŽVAT ONDREJ
+OĐIĆ ALEKSANDAR
+OBŠUST JANKO
+OBADOV ALEKSANDRA
+OBADOV MILE
+OBADOV NATALIJA
+OBADOV SLAVKO
+OBADOVIĆ DUŠANKA
+OBADOVIĆ MILOJE
+OBADOVIĆ MILOJE
+OBADOVIĆ MILOJE
+OBADOVIĆ MILORAD
+OBADOVIĆ SLOBODANKA
+OBERMAJER FRANJA
+OBERMAN BRANISLAV
+OBERT FRANC
+OBJEDOVIĆ STOJAN
+OBLEŠČUK ANKA
+OBLEŠČUK ANKA
+OBLEŠČUK DRAGIŠA
+OBLEŠČUK GREGOR
+OBLEŠČUK MARIJA
+OBOČKI VLADIMIR
+OBRADOV GORDANA
+OBRADOV GORDANA
+OBRADOV LJUBIŠA
+OBRADOV LJUBIŠA
+OBRADOV MILAN
+OBRADOV MILORAD
+OBRADOV NADA
+OBRADOV NOVAK
+OBRADOV RADIVOJ
+OBRADOV RADMILA
+OBRADOV STOJANKA
+OBRADOVIĆ ČEDOMIR
+OBRADOVIĆ ŽIVKO
+OBRADOVIĆ ŽIVKO
+OBRADOVIĆ ĐORĐE
+OBRADOVIĆ ĐORĐE
+OBRADOVIĆ ĐORĐE
+OBRADOVIĆ ĐURĐINA
+OBRADOVIĆ ĐURO
+OBRADOVIĆ ĐURO
+OBRADOVIĆ ALEKSANDAR
+OBRADOVIĆ ANKA
+OBRADOVIĆ BOGDANKA
+OBRADOVIĆ BOGDAN
+OBRADOVIĆ BOGDAN
+OBRADOVIĆ BORISLAV
+OBRADOVIĆ BORKA
+OBRADOVIĆ BRANISLAV
+OBRADOVIĆ BRANISLAV
+OBRADOVIĆ BRANKO
+OBRADOVIĆ BUDIMIR
+OBRADOVIĆ BUDO
+OBRADOVIĆ DANE
+OBRADOVIĆ DANIJELA
+OBRADOVIĆ DANILO DR
+OBRADOVIĆ DMITAR
+OBRADOVIĆ DOBRILA
+OBRADOVIĆ DRAGAN
+OBRADOVIĆ DRAGICA
+OBRADOVIĆ DRAGOLJUB
+OBRADOVIĆ DUŠANKA
+OBRADOVIĆ DUŠAN
+OBRADOVIĆ DUŠAN
+OBRADOVIĆ DUŠAN
+OBRADOVIĆ DUŠAN
+OBRADOVIĆ DUŠAN
+OBRADOVIĆ DUŠAN
+OBRADOVIĆ EMILIJA
+OBRADOVIĆ GLIŠA
+OBRADOVIĆ GORDANA
+OBRADOVIĆ GVOZDEN
+OBRADOVIĆ ILIJA
+OBRADOVIĆ JASMINA
+OBRADOVIĆ JOVAN
+OBRADOVIĆ JOVAN
+OBRADOVIĆ JOVO
+OBRADOVIĆ KONSTANTIN
+OBRADOVIĆ LAZAR
+OBRADOVIĆ LAZAR
+OBRADOVIĆ LIDIJA
+OBRADOVIĆ LJILJANA
+OBRADOVIĆ LJILJANA
+OBRADOVIĆ LJILJANA
+OBRADOVIĆ LJUBIŠA
+OBRADOVIĆ LJUBODRAG
+OBRADOVIĆ LUKA
+OBRADOVIĆ MARKO
+OBRADOVIĆ MILADIN
+OBRADOVIĆ MILAN
+OBRADOVIĆ MILA
+OBRADOVIĆ MILENA
+OBRADOVIĆ MILENKO
+OBRADOVIĆ MILE
+OBRADOVIĆ MILE
+OBRADOVIĆ MILICA
+OBRADOVIĆ MILIJANA
+OBRADOVIĆ MILKA
+OBRADOVIĆ MILOŠ
+OBRADOVIĆ MILOJKO
+OBRADOVIĆ MILORAD
+OBRADOVIĆ MILORAD
+OBRADOVIĆ MILOVAN DIPL ING
+OBRADOVIĆ MILUN
+OBRADOVIĆ MILUTIN
+OBRADOVIĆ MIODRAG
+OBRADOVIĆ MIRAŠ
+OBRADOVIĆ MIRJANA DIPL ING
+OBRADOVIĆ MIRKO
+OBRADOVIĆ MIROSLAV
+OBRADOVIĆ MLADEN
+OBRADOVIĆ NADA
+OBRADOVIĆ NEBOJŠA
+OBRADOVIĆ NEDELJKA
+OBRADOVIĆ NEDELJKO
+OBRADOVIĆ NEMANJA
+OBRADOVIĆ NENAD DR LEKAR
+OBRADOVIĆ NIKOLA
+OBRADOVIĆ PETAR
+OBRADOVIĆ PETAR
+OBRADOVIĆ RADE
+OBRADOVIĆ RADIVOJE
+OBRADOVIĆ RADIVOJ
+OBRADOVIĆ RADMILA
+OBRADOVIĆ RATKO
+OBRADOVIĆ ROSA
+OBRADOVIĆ SAVA
+OBRADOVIĆ-SIKIMIĆ MIRJANA
+OBRADOVIĆ SLAVICA
+OBRADOVIĆ SLAVKO
+OBRADOVIĆ SLAVKO
+OBRADOVIĆ SLOBODAN
+OBRADOVIĆ SMILJKA
+OBRADOVIĆ SMILJKA
+OBRADOVIĆ STANIMIR
+OBRADOVIĆ STANKO
+OBRADOVIĆ STEVAN DR
+OBRADOVIĆ STEVAN
+OBRADOVIĆ STEVAN
+OBRADOVIĆ STEVO
+OBRADOVIĆ STEVO
+OBRADOVIĆ STJEPAN
+OBRADOVIĆ SVETOZAR
+OBRADOVIĆ SVETOZAR
+OBRADOVIĆ SVETOZAR
+OBRADOVIĆ TODOR
+OBRADOVIĆ VERA
+OBRADOVIĆ VERA
+OBRADOVIĆ VOJISLAV
+OBRADOVIĆ ZLATICA
+OBREHT PETAR
+OBRENIĆ BORIVOJE
+OBRENIĆ DRAGO
+OBRENIĆ JELISAVETA
+OBRENIĆ MANOJLE
+OBRENIĆ MILADIN
+OBRENIĆ MILEVA
+OBRENIĆ MILOMIR
+OBRENIĆ PREDRAG
+OBRENIĆ RADOMAN
+OBRENIĆ SNEŽANA
+OBRENOV ŽIVAN
+OBRENOV ŽIVAN
+OBRENOV JELENA
+OBRENOV JEVREM
+OBRENOV JOLANDA
+OBRENOV KRUNA
+OBRENOV PETAR
+OBRENOV RADIVOJ
+OBRENOV SANJA
+OBRENOV SAVA
+OBRENOV SLOBODANKA
+OBRENOV STANKA
+OBRENOV STEVAN
+OBRENOV VASA
+OBRENOV VLADIMIR
+OBRENOV ZORICA
+OBRENOV ZORICA
+OBRENOVIĆ BOŽIDAR
+OBRENOVIĆ BRANKO
+OBRENOVIĆ DARINKA
+OBRENOVIĆ DESIMIR
+OBRENOVIĆ KATARINA
+OBRENOVIĆ MILAN DR
+OBRENOVIĆ MIODRAG DIPL ING
+OBRENOVIĆ MIROSLAV
+OBRENOVIĆ NIKOLA
+OBRENOVIĆ RADOSLAV
+OBRENOVIĆ TATJANA
+OBRENOVIĆ VASO
+OBRENOVIĆ VLAJKO
+OBRIĆ GOJKO
+OBRIĆ RADOJICA
+OBRKNEŽEV ĐORĐE
+OBRKNEŽEV MILENKO
+OBRKNEŽEV RADMILA
+OBRKNEŽEV RADOJKA
+OBRKNEŽEV STEVAN
+OBROVAČKI DUŠICA
+OBROVAČKI GORDANA
+OBROVAČKI MIROSLAV
+OBROVAČKI RADE
+OBROVAČKI SVETOZAR
+OBROVAC MIJAT
+OBROVSKI ĐORĐE
+OBROVSKI DRAGUTIN
+OBROVSKI IVAN
+OBROVSKI JOVAN
+OBROVSKI KATICA
+OBROVSKI MIHAJLO
+OBROVSKI VASA
+OBUĆINA RATOMIR
+OBUĆINA SLAVKO
+OBUĆINA SLAVOLJUB
+OCOKOLJIĆ LJUBINKO
+ODŽIĆ NOVKA
+ODŽIĆ RATOMIR
+ODŽIĆ ZORKA
+ODŽOVSKI ILIJA
+ODADŽIĆ DUŠAN
+ODADŽIĆ GORDANA
+ODADŽIĆ JELISAVETA
+ODADŽIĆ NADA
+ODADŽIĆ RADIVOJ
+ODADŽIĆ STEVAN
+ODALOVIĆ BRANKO
+ODAVIĆ-JOSIĆ JELICA DIPL ING
+ODAVIĆ MILKA
+ODAVIĆ SLAVKO
+ODOR JOSIP
+ODOVIĆ JOVO
+ODRI BALINT
+ODRI KARLO
+OFENBEHER GIZELA
+OFENBEHER VALERIJA
+OFENBEHER VERICA
+OGAR JELENA
+OGAR VLADE
+OGNENOVSKA BOJANA
+OGNENOVSKA CVETANKA
+OGNJANAC DRAGICA
+OGNJANOV MILETA
+OGNJANOVAC BORISLAV
+OGNJANOVIĆ ĐORĐE
+OGNJANOVIĆ ACA
+OGNJANOVIĆ BRANISLAVA
+OGNJANOVIĆ DANILO
+OGNJANOVIĆ DEJAN DR LEKAR
+OGNJANOVIĆ DMITAR
+OGNJANOVIĆ MARIJA DR LEKAR
+OGNJANOVIĆ MIHAJLO
+OGNJANOVIĆ MILOVAN
+OGNJANOVIĆ OGNJENA
+OGNJANOVIĆ RADOJKA DR LEKAR
+OGNJANOVIĆ RANKO
+OGNJANOVIĆ SPASOJE
+OGNJANOVIĆ SVETLANA
+OGNJENOVIĆ BOŽIDAR
+OGNJENOVIĆ DARA
+OGNJENOVIĆ DRAGUTIN
+OGNJENOVIĆ MILENKO
+OGNJENOVIĆ NIKOLA
+OGNJENOVIĆ NIKOLA
+OGNJENOVIĆ NOVKA
+OGNJENOVIĆ PETAR
+OGNJENOVIĆ RADOVANKA
+OGNJENOVIĆ STANISLAV
+OGNJENOVIĆ STEVAN
+OGNJENOVIĆ STEVO
+OGNJENOVIĆ TOMISLAV
+OGORELICA BILJANA
+OGORELICA BOGDAN
+OGORELICA BRANKO
+OGORELICA MARIJA
+OGRIZEK DRAGICA
+OGRIZEK DRAGUTIN
+OGRIZEK KRISTINA
+OGRIZEK ROBERT
+OGRIZOVIĆ ALEKSANDAR
+OGRIZOVIĆ BORA
+OGRIZOVIĆ DESANKA
+OGRIZOVIĆ DESANKA
+OGRIZOVIĆ DRAGICA
+OGRIZOVIĆ DUŠAN
+OGRIZOVIĆ LJUBICA
+OGRIZOVIĆ LJUBICA
+OGRIZOVIĆ MILAN
+OGRIZOVIĆ MILE
+OGRIZOVIĆ MILIVOJ
+OGRIZOVIĆ NEDELJKO
+OGRIZOVIĆ NEDELJKO
+OGRIZOVIĆ RADOJKA
+OGRIZOVIĆ SRETA
+OGRIZOVIĆ VELJKO
+OGRIZOVIĆ VLADIMIR
+OGRIZOVIĆ ZORAN
+OJDANIĆ SAVA
+OJKIĆ SLAVKO
+OKAŠANOVIĆ SRETEN
+OKANJ STEVAN
+OKANJI LAJOŠ
+OKANJI OSKAR
+OKANJI RANKA
+OKANJI TIBOR
+OKANOVIĆ NOVICA
+OKEZAN JOVAN
+OKILJ SLAVKO
+OKILJEVIĆ SOFIJA
+OKLJEŠA NENAD
+OKLJEŠA NENAD
+OKLOBDŽIJA MARKO
+OKRAJNOV STEVAN
+OKRUŽNIK DRAGAN
+OKSENFELD JOVAN
+OKUKA LJILJANA
+OKULIĆ BOGDAN
+OKULIĆ ZORAN
+OLŠOVI NIKOLA
+OLAH ŠANDOR
+OLAH ŠANDOR
+OLAH ŠANDOR
+OLAH ĐORĐE
+OLAH ANDRIJA
+OLAH ERNA
+OLAH FERENC
+OLAH FERENC
+OLAH IŠTVAN
+OLAH IŠTVAN
+OLAH JELENA
+OLAH JELISAVETA
+OLAH JOVAN
+OLAH JULIJANA
+OLAH LASLO
+OLAH MIRKO
+OLAH NANDOR
+OLAH NANDOR
+OLAH PAVLE
+OLAH PAVLE
+OLAH ROZALIJA
+OLAH VINCE
+OLAJOŠ BELA
+OLAJOŠ GORDANA
+OLAJOŠ JANOŠ
+OLAJOŠ MIHALJ
+OLAJOŠ MIHALJ
+OLAJOŠ OTO
+OLAR PAU
+OLBINA SLAVKO
+OLEAR MIHAJLO
+OLEAR MIHAJLO
+OLEAR SANJA
+OLEAR SVETISLAV
+OLEAR VLADA
+OLEJAR JOAKIM
+OLIČKOV BRANISLAV
+OLIČKOV MILORAD
+OLIĆ STEVAN
+OLIVERIĆ NEBOJŠA
+OLJŠEVSKA NATAŠA
+OLJAČA ILIJA
+OLJAČA MARICA
+OLJAČA MILENKO
+OLJAČA MILOVAN
+OLJAČA NIKOLA
+OLJAČA RADA
+OLJAČA SLAVOLJUB
+OLJAČA STANISLAV
+OLJAČA STEVAN
+OLMAN MARIJA
+OLUŠKI DOBRILA
+OLUŠKI DUŠAN
+OLUŠKI DUŠAN
+OLUŠKI LAZAR
+OLUŠKI MILUTIN
+OLUŠKI MIROSLAV
+OLUŠKI MIROSLAV
+OLUŠKI OLIVERA
+OLUŠKI STOJAN
+OLUŠKI TODOR
+OLUŠKI TOMISLAV
+OLUŠKI VASA
+OLUŠKI VELIMIR DR
+OLUŠKI VERICA
+OLUJIĆ IVANA
+OLUJIĆ IVAN
+OLUJIĆ JELENA
+OLUJIĆ MILICA
+OLUJIĆ MIRKO
+OMČIKUS BOŠKO
+OMČIKUS JELENA
+OMČIKUS MAGDA
+OMČIKUS NIKOLA
+OMČIKUS RAJKO
+OMALJEV IVAN
+OMALJEV IVAN
+OMALJEV JULKA
+OMALJEV LEPOSAVA
+OMALJEV LEPOSAVA
+OMALJEV MILENA
+OMALJEV MILORAD
+OMALJEV VOJISLAV
+OMAZIĆ SOFIJA
+OMERAGIĆ KEMAL
+OMERI HAJRUDIN
+OMERI HALIM
+OMERI HASO
+OMERI NEDŽAD
+OMERI NURUDIN
+OMERZU ANTON
+OMERZU ELIZABETA
+OMIĆ IDRIZ
+OMORAC KATARINA
+OMORAC LATINKA
+ONČEVSKI JOVAN
+ONČU PETAR
+ONDRIK DUŠANKA
+ONEŠČUK MIHAJLO
+ONEŠĆUK NENAD
+ONHAUZ MARIJA
+ONODI IŠTVAN
+OPAČAK ANTUN
+OPAČAK IVAN
+OPAČIĆ ANĐA
+OPAČIĆ ANGELINA
+OPAČIĆ BOSILJKA
+OPAČIĆ BRANKO
+OPAČIĆ DUŠAN
+OPAČIĆ KOSTA
+OPAČIĆ MILAN
+OPAČIĆ MILAN
+OPAČIĆ MILORAD
+OPAČIĆ MIODRAG
+OPAČIĆ MIRKO
+OPAČIĆ MIRKO
+OPAČIĆ NENAD
+OPAČIĆ PAVLE
+OPAČIĆ SIMO
+OPAČIĆ SLAVKO
+OPAČIĆ STEVAN
+OPAČIĆ TODOR
+OPALIĆ DARINKA
+OPALIĆ MARKO
+OPALIĆ NIKOLA
+OPALIĆ NIKOLA
+OPALIĆ NIKOLA
+OPALIĆ SOFIJA
+OPANČAREV DUŠAN
+OPANČAREV IVAN
+OPANČAREV MILKA
+OPARNICA LJUBO
+OPARNICA LUKA
+OPARNICA MAKSIM
+OPARNICA MAKSIM
+OPARNICA MAKSIM
+OPARNICA MARINKO
+OPARNICA MILENKO
+OPARNICA MIRA
+OPARNICA SOFIJA
+OPARNICA VID
+OPELC LADISLAV
+OPOJLEVIĆ LAZAR
+OPRANOVIĆ BOŽIDAR
+OPRANOVIĆ MICA
+OPREŠNIK ANKICA
+OPRIJAN ANĐELKO DIPL ING
+OPRIJAN DRAGAN
+OPRIJAN MILKA
+OPRUC MILORAD
+OPSENICA MILAN
+OPSENICA SOKA
+ORČIĆ ŠIME
+ORČIĆ ŠIME
+ORČIĆ BOŽIDAR
+ORČIĆ DRAGO
+ORČIĆ IVAN
+ORČIĆ STJEPAN
+ORŠIĆ ĐORĐE
+ORŠIĆ JOCA
+ORŠIĆ MILICA
+ORŠOŠ ĐORĐE
+ORŠOŠ BRANKO
+ORŠOŠ DRAGAN
+ORŠOŠ FERENC
+ORŠOŠ JOSIP
+ORŠOŠ NIKOLA
+ORŠOŠ ROZALIJA
+ORŠOŠ SAVA
+ORŠOŠ TEREZA
+ORŠOŠ ZORAN
+ORŠOLIĆ STJEPAN
+ORANICA MAKSIM
+ORAVEC BRANISLAV
+ORAVEC BRANKO
+ORAVEC MARKO
+ORAVEC PAVLE
+ORBAN ALEKSANDAR
+ORBAN EMILIJA
+ORBAN GAVRA
+ORBAN VESNA
+ORDANOSKI JELENA
+ORDINAČEV ĐORĐE
+ORDINAČEV MLADEN
+ORDINAČEV TODOR
+ORDINAČEV TODOR
+ORDINAČEV TODOR
+OREŠČANIN BOGDAN
+OREŠČANIN BRANKO
+OREŠČANIN MILAN
+OREŠČANIN MILOVAN
+OREŠČANIN NATALIJA DR
+OREŠČANIN NATALIJA
+OREŠČANIN NIKOLA
+OREŠČANIN RADOVAN
+OREŠČANIN VLADIMIR
+OREŠČANIN VLADIMIR
+OREŠĆANIN DUŠAN
+OREŠKOVIĆ DONA
+OREŠKOVIĆ JELENA
+OREŠKOVIĆ MILE
+OREŠKOVIĆ SLAVKO
+OREŠKOVIĆ ZVONIMIR
+OREB BORIS
+OREHOVAC RUŽA
+ORELJ ĐURO
+ORELJ BRANISLAV
+ORELJ DARINKA
+ORELJ JOVAN
+ORELJ LJUBO
+ORELJ MATILDA
+ORELJ MILEVA
+ORELJ NATALIJA
+ORELJ RADE
+ORENDI JULIJANA
+ORENDI LASLO
+ORENDI OTO
+ORLANDIĆ KORNELIJA
+ORLANDIĆ ZOLTAN
+ORLIĆ BRANISLAV
+ORLIĆ LJUBICA
+ORLIĆ LJUBICA
+ORLIĆ MARICA
+ORLIĆ MARIJA
+ORLIĆ MILAN
+ORLIĆ MILORAD
+ORLIĆ NADA
+ORLIĆ NADEŽDA
+ORLIĆ NEDELJKO
+ORLIK ANA
+ORLIK MARIJA
+ORLOVAC ERŽEBET
+ORLOVIĆ ANTE
+ORLOVIĆ DARINKA
+ORLOVIĆ DUŠAN
+ORLOVIĆ JOVO
+ORLOVIĆ LJUBICA
+ORLOVIĆ MANE
+ORLOVIĆ MIHAJLO
+ORLOVIĆ MILAN
+ORLOVIĆ MILAN
+ORLOVIĆ MILORAD DR
+ORLOVIĆ MILORAD
+ORLOVIĆ SAŠA
+ORLOVIĆ SRBOLJUB
+ORLOVIĆ STEVICA
+ORLOVIĆ STOJAN
+ORLOVIĆ SVETLANA
+ORMAI TIBOR
+ORNJAKOV PRIZRENKA
+ORO ČEDOMIR
+OROS ŽARKO
+OROS ĐURA
+OROS ĐURA
+OROS ALBERT
+OROS EUGEN
+OROS JOAKIM
+OROS MARIJA
+OROS NIKOLA
+OROS VASA
+OROS ZDENKA
+OROVČANEC KIRA DR
+OROVEC JOSIP
+OROVIĆ MILOVAN
+ORSAG ANTAL
+ORSIĆ RADMILA
+ORTAK KAĆA
+ORVOŠ LAJOŠ
+ORZA MIRCA
+ORZA ROSANA
+OSEĆANSKI MLADEN
+OSETROV NIKOLA
+OSLOVČAN BOSILJKA
+OSMANAJ IMER
+OSMANI ASAN
+OSMANI MEHMED
+OSMANI NEŠAT
+OSMANI ROMANKA
+OSMANI SELIM
+OSMANKAČ SELIM
+OSMANOVIĆ KLAUDIJA
+OSMANOVIĆ LJUBINKA
+OSMONOJ SADRIJA
+OSNOVIĆ OSKAR
+OSOSLIJA RADENKO
+OSREDKAR JOSIP
+OSTER ILONA
+OSTOIĆ ĐORĐE
+OSTOIĆ ZORAN
+OSTOJIĆ ŽIVKO
+OSTOJIĆ ĐORĐE
+OSTOJIĆ BOŠKO
+OSTOJIĆ BOŽIDAR
+OSTOJIĆ BOŽIDAR
+OSTOJIĆ BOGDAN
+OSTOJIĆ BRANA
+OSTOJIĆ BRANIMIR
+OSTOJIĆ BRANISLAV DR
+OSTOJIĆ BRANKO
+OSTOJIĆ DAFINA
+OSTOJIĆ DOBRIVOJ
+OSTOJIĆ DRAGAN
+OSTOJIĆ DRAGICA
+OSTOJIĆ DRAGICA
+OSTOJIĆ DRAGOLJUB
+OSTOJIĆ DUŠAN
+OSTOJIĆ DUŠAN
+OSTOJIĆ DUŠAN
+OSTOJIĆ GOJKO
+OSTOJIĆ GORINKA
+OSTOJIĆ IVAN
+OSTOJIĆ JOVANKA
+OSTOJIĆ KATICA
+OSTOJIĆ LAZAR
+OSTOJIĆ LJUBA
+OSTOJIĆ LJUBINKO
+OSTOJIĆ LJUBOMIR
+OSTOJIĆ LJUBOMIR
+OSTOJIĆ LJUBOMIR
+OSTOJIĆ MIĆA
+OSTOJIĆ MILADIN
+OSTOJIĆ MILAN
+OSTOJIĆ MILENKO
+OSTOJIĆ MILENKO
+OSTOJIĆ MILEVA
+OSTOJIĆ MILICA
+OSTOJIĆ MILKA
+OSTOJIĆ MILOŠ
+OSTOJIĆ MILORAD
+OSTOJIĆ MILORAD
+OSTOJIĆ MIRJANA
+OSTOJIĆ NADA
+OSTOJIĆ NATAŠA
+OSTOJIĆ NENAD
+OSTOJIĆ OBRAD
+OSTOJIĆ OBRAD
+OSTOJIĆ OLGA
+OSTOJIĆ PETAR
+OSTOJIĆ PETAR
+OSTOJIĆ PETAR
+OSTOJIĆ PETAR
+OSTOJIĆ PETAR
+OSTOJIĆ PETAR
+OSTOJIĆ PREDRAG
+OSTOJIĆ RADIVOJE
+OSTOJIĆ RADOJICA
+OSTOJIĆ RADOVAN
+OSTOJIĆ RATKO
+OSTOJIĆ RISTO
+OSTOJIĆ SLAVICA
+OSTOJIĆ SLAVKO
+OSTOJIĆ SLOBODAN
+OSTOJIĆ SMILJKA
+OSTOJIĆ STANA
+OSTOJIĆ STANKA
+OSTOJIĆ SVETOZAR
+OSTOJIĆ TOMISLAV
+OSTOJIĆ VASA
+OSTOJIĆ VASILIJE
+OSTOJIĆ VESELIN
+OSTOJIĆ VESELIN
+OSTOJIĆ VLADIMIR
+OSTOJIĆ VOJISLAV
+OSTOJIĆ ZAGORKA
+OSTOJIĆ ZORAN
+OSTOJIĆ ZORA
+OSTOJIN ŽARKO
+OSTOJIN JULKA
+OSTOJIN LAZAR
+OSTOJIN MARIJA
+OSTOJIN MILOŠ
+OSTOJIN PERA
+OSTOJIN PERO
+OSTOJIN PETAR
+OSTOJIN PETAR
+OSTOJIN RADOVAN
+OSTOJIN SVETISLAV
+OSTOJIN TOŠA
+OSTROGONAC IVAN NOVINAR
+OSTROGONAC IVAN
+OSTROGONAC TIBOR
+OSVALD BARBARA
+OSVALD IVAN
+OSVALD VERA
+OTAŠEVIĆ ŽIVKO
+OTAŠEVIĆ JOVAN
+OTAŠEVIĆ SLOBODANKA
+OTAŠEVIĆ VLASTA
+OTIĆ ŽIVKO
+OTIĆ BORIVOJ
+OTIĆ BORIVOJ
+OTIĆ DARINKA
+OTIĆ DUBRAVKA
+OTIĆ JOVANKA
+OTIĆ KATICA
+OTIĆ MILAN
+OTIĆ MILIVOJ
+OTIĆ NIKOLA
+OTIĆ NOVAK
+OTIĆ RADOSLAVA
+OTIĆ RADOSLAVA
+OTIĆ RADOSLAV
+OTIĆ SAVA
+OTIĆ SVETOZAR
+OTIĆ VELIZAR
+OTIĆ VLADISLAV
+OTIĆ VUKICA
+OTLOKAN JOVAN
+OTMAČIĆ DRAGO
+OTOŠ ANDRAŠ
+OTORANOV SLAVKO
+OTOVIĆ VLADIMIR
+OTRUPČAK JOSIP
+OTRUPČAK MILOŠ
+OTRUPČAK SAMUILO
+OVCIN MILORAD
+OVUKA ĐURO
+OVUKA ĐURO
+OVUKA MILAN
+OVUKA NIKOLA
+OZER ĐURA
+OZER ĐURA
+OZER ĐURA
+OZMEC VERA
+PŠENIČNIK ZVONIMIR
+PAČARIĆ ŽIVAN
+PAČARIĆ MARIJA
+PAČARIĆ MIRKO
+PAČARIĆ NIKOLA
+PAČARIĆ RADIVOJ
+PAČARIĆ RADOMIR
+PAČARIĆ ZORAN
+PAŠĆAN ŠTEFANIJA
+PAŠĆAN ĐORĐE
+PAŠĆAN ĐORĐE
+PAŠĆAN ANKA
+PAŠĆAN DANICA
+PAŠĆAN DRAGAN
+PAŠĆAN DUŠANKA
+PAŠĆAN DUŠAN
+PAŠĆAN GAVRA
+PAŠĆAN JOVAN
+PAŠĆAN JOVAN
+PAŠĆAN MILORAD
+PAŠĆAN NADEŽDA
+PAŠĆAN NEDELJKO
+PAŠĆAN NIKOLA
+PAŠĆAN OLGA
+PAŠĆAN PERA
+PAŠĆAN PETAR
+PAŠĆAN RADIVOJ
+PAŠĆAN RADOSLAVA
+PAŠĆAN RADOSLAV
+PAŠĆAN SAVA
+PAŠĆAN SINIŠA
+PAŠĆAN SMILJA
+PAŠĆAN STEVAN
+PAŠĆAN TODOR
+PAŠĆAN VASA
+PAŠĆAN ZAGORKA
+PAŠĆANOVIĆ GRADIMIR
+PAŠĆANOVIĆ LAZAR
+PAŠĆANOVIĆ LJUBICA
+PAŠĆIK KLARA
+PAŠĆIK LASLO
+PAŠAGIĆ RAJKO
+PAŠAJLIĆ ANĐELKO
+PAŠAJLIĆ BILJANA
+PAŠAJLIĆ MIODRAG
+PAŠAJLIĆ RADOSLAV
+PAŠAJLIĆ RADOSLAV
+PAŠAJLIĆ VLADO
+PAŠALIĆ PAVLE
+PAŠANSKI MILAN
+PAŠANSKI VUKICA
+PAŠIĆ BOŽANA
+PAŠIĆ BOŽO
+PAŠIĆ DRAGICA
+PAŠIĆ DUŠKO
+PAŠIĆ JOVAN
+PAŠIĆ KATICA
+PAŠIĆ MILAN
+PAŠIĆ MILENA
+PAŠIĆ PETAR
+PAŠIĆ ROSA
+PAŠIĆ SAŠA
+PAŠIĆ SINIŠA
+PAŠIĆ STOJA
+PAŠIĆ VOJISLAV
+PAŠIĆ ZORA
+PAŠIN GROZDANA
+PAŠKA ŠANDOR
+PAŠKINOV VASKO
+PAŠTERAC ALEKSANDAR
+PAŠTI ŠANDOR
+PAŠTI MATIJA
+PAŠUJKOVIĆ JOVAN
+PAĆI BORIS
+PAĆI IŠTVAN
+PAĆI MARIO
+PAĆUK NIKOLA
+PAĆUK SLAVKO
+PAŽĐERSKI-MANOJLOVIĆ JELENA
+PAŽIN ŽELJKO
+PAŽIN ANĐELKO
+PAŽIN DANICA
+PAŽIN LJUBOMIR
+PAĐAN LJUBOMIR
+PAĐAN MILICA
+PAĐEN DUŠAN
+PAĐEN LEPA
+PAĐEN MARIJA
+PAĐEN STEVA
+PAĐEN ZDRAVKO
+PAC IVANKA
+PACEK LASLO
+PACIK IŠTVAN
+PADEŽANIN LJUBO
+PADEŽANIN VLADETA
+PADEJSKI MILENA
+PADEJSKI MILOVAN
+PADEJSKI SAVA
+PADEJSKI VELIMIR
+PADI ALEKSANDAR
+PADI ALEKSANDAR
+PADI LAJOŠ
+PADROV GORAN
+PADROV NIKOLA
+PADROV RADIVOJ
+PADROV VESNA
+PAGAČ BILJANA
+PAGAČ NIKOLA
+PAGAČEVIĆ ANĐELKO
+PAGAČEVIĆ DRAGOMIR
+PAGAČEVIĆ STEVAN
+PAGAČEVIĆ STEVAN
+PAGAČEVIĆ VASA
+PAGANETO TINA
+PAGONIS JULKA
+PAGONIS VLADIMIROS
+PAIĆ ĐURAĐ
+PAIĆ DRAGAN
+PAIĆ FRANE
+PAIĆ IVAN
+PAIĆ MARIJA
+PAJČIĆ ALEKSA
+PAJČIĆ ANA
+PAJČIN ILIJA
+PAJČIN MILOJKO
+PAJČIN NEDELJKA
+PAJČIN VOJISLAV
+PAJANTIĆ DRAGAN
+PAJAZITOVIĆ MIRJANA
+PAJDAKOVIĆ DUBRAVKA
+PAJDIĆ JULIJA
+PAJDIĆ MARIJAN
+PAJEVIĆ ĐORĐE
+PAJEVIĆ DRAGOLJUB
+PAJEVIĆ GORAN
+PAJEVIĆ KOSTA
+PAJEVIĆ MILAN
+PAJIĆ BLAGOJE
+PAJIĆ BLAGOJE
+PAJIĆ BOŽIDAR
+PAJIĆ BOŽO
+PAJIĆ BOGIĆ
+PAJIĆ BORISLAV
+PAJIĆ BRANISLAV
+PAJIĆ BRANKO
+PAJIĆ BUDISLAV
+PAJIĆ DOBRIVOJ
+PAJIĆ DRAGOSLAV
+PAJIĆ DUŠAN DR
+PAJIĆ DUŠAN
+PAJIĆ DUŠAN
+PAJIĆ EMINA
+PAJIĆ GORDANA
+PAJIĆ GORICA
+PAJIĆ GRUJA
+PAJIĆ KOVILJKA
+PAJIĆ LJUBINKA
+PAJIĆ LJUBOMIR DIPL ING
+PAJIĆ MARIJA
+PAJIĆ MILICA
+PAJIĆ MILIVOJE
+PAJIĆ MILOŠ
+PAJIĆ MILOŠ
+PAJIĆ MILOJE
+PAJIĆ MILORAD
+PAJIĆ MILOSAV
+PAJIĆ MILUN
+PAJIĆ MIRKO
+PAJIĆ MIRKO
+PAJIĆ MLADEN
+PAJIĆ NADA
+PAJIĆ NADA
+PAJIĆ NIKOLA
+PAJIĆ NOVAK
+PAJIĆ PERO
+PAJIĆ PETAR
+PAJIĆ RADOJICA
+PAJIĆ RADOMIR
+PAJIĆ RADOSLAVA
+PAJIĆ RAJKO
+PAJIĆ SINIŠA
+PAJIĆ SMILJA
+PAJIĆ SREDOJE
+PAJIĆ STEVAN
+PAJIĆ SVETOZAR
+PAJIĆ TIHOMIR
+PAJIĆ VASA
+PAJIĆ VELIMIR
+PAJIĆ VESELIN
+PAJIĆ VIDOSAVA
+PAJIĆ VLADISLAV
+PAJIĆ VUKICA
+PAJIK DANICA
+PAJIN JOVAN
+PAJIN MILIVOJ
+PAJKERT ALEKSANDAR
+PAJKERT FRANJA
+PAJKERT MIROSLAVA
+PAJKERT RANKA
+PAJKIĆ DRAGAN
+PAJKIĆ RADOSLAV
+PAJKOVIĆ DRAGANA
+PAJKOVIĆ VLASTIMIR
+PAJOR MATIJA
+PAJOVIĆ ŠPIRO
+PAJOVIĆ ĐORĐE
+PAJOVIĆ DRAGOMIR
+PAJOVIĆ DUŠAN
+PAJOVIĆ JELENA
+PAJOVIĆ PREDRAG
+PAJOVIĆ RAJKO
+PAJOVIĆ SLOBODAN
+PAJOVIĆ ZORKA
+PAJTAŠEV DOBRIVOJ
+PAJTAK RADMILA
+PAJTIĆ PAVLE
+PAJVANČIĆ FRANJA
+PAJVANČIĆ KATA
+PAJVANČIĆ MARIJANA
+PAJVOD BOSILJKA
+PAKAŠKI ĐURA
+PAKAŠKI MIKA
+PAKAŠKI MILOVAN
+PAKAŠKI RADOSLAV
+PAKAŠKI SIMA
+PAKAŠKI VASA
+PAKAŠKI VITALIJ DIPL ING
+PAKAI JOŽEF
+PAKAI LASLO
+PAKLAR VIDA
+PAKLEDINAC VINKO
+PAKUŠEVSKI KATARINA
+PAKUŠEVSKI MIHAJLO
+PAKUŠEVSKI MITAR
+PAKUŠEVSKI RUŽICA
+PAKUŠEVSKIJ STEFAN
+PAL ILONA
+PAL ROZALIJA
+PALČEK JOSIP
+PALAČKOVIĆ MILAN
+PALAČKOVIĆ UROŠ
+PALAŠTI ĐORĐE
+PALAŠTI DESANKA
+PALAŠTI IŠTVAN
+PALAŠTI IŠTVAN
+PALAŠTI JOSIP
+PALAŠTI ROZALIJA
+PALADA JOZO
+PALALIĆ ĐURA
+PALALIĆ DRAGAN
+PALALIĆ DUŠAN
+PALALIĆ GOJKO
+PALALIĆ GOJKO
+PALALIĆ ILIJA
+PALALIĆ JOVAN
+PALALIĆ MIRKO
+PALALIĆ NEVENA
+PALALIĆ NIKO
+PALALIĆ PAVLE
+PALALIĆ RADE
+PALALIĆ SNEŽANA
+PALALIĆ SRETO
+PALALIĆ STOJAN
+PALALIĆ TODE
+PALALIĆ VID
+PALALIĆ VOJIN
+PALALIĆ ZDRAVKO
+PALAMARČUK ALEKSANDAR
+PALAN JOSIP
+PALANČANIN ELENA
+PALANČANIN JOVAN
+PALANČANIN RUŽA
+PALANČANIN VASA
+PALANČANIN VASA
+PALANAČKI ĐORĐE
+PALANAČKI RUŽICA
+PALANAČKI SAVA
+PALATINUŠ ANDRAŠ
+PALATINUŠ IŠTVAN
+PALATINUŠ JOŽEF
+PALEŽEVIĆ BORISLAV
+PALEVIĆ SLAVICA
+PALFI ALEKSANDAR
+PALFI BORKA
+PALFI IŠTVAN
+PALFI IŠTVAN
+PALFI JULIJANA
+PALFI KATICA
+PALIČKO ĐURĐINKA
+PALIČKO ANDRAŠ
+PALIČKO ILEŠ
+PALIČKO IRENA
+PALIČKO JELENA
+PALIŠAŠKI OLGA
+PALIĆ BORISLAV DIPL ING
+PALIĆ DRAGAN
+PALIĆ DUŠAN
+PALIĆ LJUBICA
+PALIĆ MARTA
+PALIĆ MILENKO
+PALIĆ NIKOLA
+PALIĆ OLGA
+PALIĆ STEVAN
+PALIĆ STEVAN
+PALIĆ VLASTIMIR
+PALINKAŠ ĐORĐE
+PALINKAŠ ĐURA
+PALINKAŠ BLANKA
+PALINKAŠ BORIVOJE DIPL ING
+PALINKAŠ FRANJA
+PALINKAŠ GEZA
+PALINKAŠ JOŽEF
+PALINKAŠ MARIJA
+PALINKAŠ MIHALJ
+PALINKAŠ MIRKO
+PALINKAŠ STEVAN
+PALINKAŠ VERA DR
+PALJIĆ LJUBOMIR
+PALJURAS APOSTOLOS
+PALOŠ IVAN
+PALOŠI OLGA
+PALOC ŠANDOR
+PALOC LASLO
+PALOC TIBOR
+PALOTAŠ ANDRIJA
+PALOV MIHAILO DR
+PALUROVIĆ STEPAN
+PAMUČINA JOVAN
+PANČIĆ GAVRILO
+PANČIĆ GRADIMIR
+PANČIĆ JULIJANA
+PANČIĆ JULIJANA
+PANČIĆ SLOBODAN
+PANČIĆ ZORAN
+PANČOVAN AVRAM
+PANČULIDZEV ALEKSIJE
+PANAJOTIDIS LEONIDAS
+PANAOTOVIĆ BOGDAN
+PANAOTOVIĆ DUŠANKA
+PANAOTOVIĆ JOVICA
+PANAOTOVIĆ MIRJANA
+PANCER BRANKO
+PANCER BRANKO
+PANDŽA BOŽICA
+PANDŽA ZVEZDANA
+PANDŽIĆ NADA
+PANDŽIĆ SLOBODANKA
+PANDŽIĆ SVETOZAR
+PANDŽIĆ TOMISLAV
+PANDŽIĆ VOJISLAV DIPL ING
+PANDI OSKAR
+PANDUREVIĆ MILANKO
+PANDUROV ŽIVKA
+PANDUROV ACA
+PANDUROV DRAGOLJUB
+PANDUROV DUŠANKA
+PANDUROV MILICA
+PANDUROV MILIVOJ
+PANDUROV MIROSLAV
+PANDUROV PETAR
+PANDUROV SAVA
+PANDUROV ZORAN
+PANDUROV ZORAN
+PANDUROVIĆ ŽIVKA
+PANDUROVIĆ IVAN
+PANDUROVIĆ JOVAN
+PANDUROVIĆ JULKA
+PANDUROVIĆ PAVLE
+PANDUROVIĆ RADMILA
+PANDUROVIĆ SRETEN
+PANDUROVIĆ SVETOZAR
+PANDUROVIĆ TOMISLAV
+PANDUROVIĆ VLADISLAVA
+PANDUROVIĆ VOJIN
+PANDURSKI MIROSLAV
+PANGERC MARA
+PANGERC VELIBOR
+PANIĆ ŽARKO
+PANIĆ ŽIVAN
+PANIĆ ŽIVOJIN
+PANIĆ ĐORĐE
+PANIĆ ĐORĐE
+PANIĆ ĐORĐE
+PANIĆ ĐORĐE
+PANIĆ ĐORĐE
+PANIĆ ĐURA
+PANIĆ ALEKSANDAR
+PANIĆ ANA
+PANIĆ ANA
+PANIĆ ANTUN
+PANIĆ BRANISLAV
+PANIĆ BRANISLAV
+PANIĆ BRANISLAV
+PANIĆ BRANKO
+PANIĆ DAMJAN
+PANIĆ DANILKA
+PANIĆ DRAGAN
+PANIĆ DRAGAN
+PANIĆ DRAGAN
+PANIĆ DRAGAN
+PANIĆ DRAGOLJUB
+PANIĆ DRAGOSLAV
+PANIĆ DRAGOSLAV
+PANIĆ DRENA
+PANIĆ DUŠAN
+PANIĆ DUŠAN
+PANIĆ GORDANA
+PANIĆ ILIJA
+PANIĆ ILONA
+PANIĆ JAŠA
+PANIĆ JELENA
+PANIĆ JELENA
+PANIĆ JOVANKA DR
+PANIĆ JOVANKA
+PANIĆ JOVANKA
+PANIĆ JULKA
+PANIĆ KAICA
+PANIĆ KATA
+PANIĆ KONSTANTIN
+PANIĆ LJUBICA
+PANIĆ MARKO
+PANIĆ MIĆO
+PANIĆ MICA
+PANIĆ MIKA
+PANIĆ MILANA
+PANIĆ MILAN
+PANIĆ MILENA
+PANIĆ MILENKO
+PANIĆ MILE
+PANIĆ MILICA
+PANIĆ MILIJA
+PANIĆ MILIVOJ
+PANIĆ MILIVOJ
+PANIĆ MILIVOJ
+PANIĆ MILOŠ
+PANIĆ MILOŠ
+PANIĆ MILOŠ
+PANIĆ MILORAD
+PANIĆ MILORAD
+PANIĆ MILOVAN
+PANIĆ MIRJANA
+PANIĆ MIRKO
+PANIĆ MIRKO
+PANIĆ MIROSLAV
+PANIĆ NADA
+PANIĆ NADA
+PANIĆ NADA
+PANIĆ NEMANJA
+PANIĆ NENAD
+PANIĆ OBRADIN
+PANIĆ OGNJEN
+PANIĆ OLGA
+PANIĆ PETAR
+PANIĆ PETAR
+PANIĆ PREDRAG
+PANIĆ RADIVOJE
+PANIĆ RADOMIR
+PANIĆ RADOSLAV
+PANIĆ RANKO
+PANIĆ RISTO
+PANIĆ SAŠA
+PANIĆ SANJA
+PANIĆ SLAĐANA
+PANIĆ SMILJANKA
+PANIĆ SNEŽANA
+PANIĆ SRĐAN
+PANIĆ SRBOLJUB
+PANIĆ STANA
+PANIĆ STANKA
+PANIĆ STEVAN
+PANIĆ STEVAN
+PANIĆ STEVAN
+PANIĆ SVETOZAR
+PANIĆ TOMISLAV
+PANIĆ UGLJEŠA
+PANIĆ VASILJKA
+PANIĆ VLADIMIR
+PANIĆ VOJISLAV
+PANIĆ ZDRAVKO
+PANIĆ ZLATKO
+PANIĆ ZORAN
+PANIĆ ZORA
+PANIAN ANICA
+PANIN BORIVOJE
+PANIN BRANA
+PANIN MILICA
+PANIN MILOŠ
+PANIN MITA
+PANIN MLADEN
+PANIN ZORAN
+PANINČIĆ SOFIJA
+PANJKOVIĆ BILJANA
+PANJKOVIĆ BRANKA
+PANJKOVIĆ DRAGAN
+PANJKOVIĆ ILIJA MR
+PANJKOVIĆ JELENA
+PANJKOVIĆ MELANIJA
+PANJKOVIĆ MILAN
+PANJKOVIĆ MILAN
+PANJKOVIĆ MILAN
+PANJKOVIĆ MILICA
+PANJKOVIĆ NADA
+PANJKOVIĆ NIKOLA
+PANJKOVIĆ PETAR
+PANJKOVIĆ VLADIMIR
+PANKOV BRANISLAV
+PANKOV BRANISLAV
+PANKOV BRANKO
+PANKOV JELENA
+PANKOV JELICA
+PANKOV KATICA
+PANKOV MARKO
+PANKOV MILENKO
+PANKOV MILOVAN
+PANKOV PREDRAG
+PANKOV RADOSLAV
+PANKOV SAVA
+PANKOV SLAVKO
+PANKOV SVETOZAR
+PANKOV VESNA
+PANKOVIĆ LAZAR
+PANOV DESANKA
+PANOV NENAD
+PANOVIĆ ANĐELKO
+PANOVIĆ MIODRAG
+PANTELEMONOV NEDELJKO
+PANTELEMONOV NOVKA
+PANTELIĆ ČEDOMIR
+PANTELIĆ ŽARKO
+PANTELIĆ ĐORĐE
+PANTELIĆ ĐORĐE
+PANTELIĆ ANĐELKO
+PANTELIĆ ANA
+PANTELIĆ BORIVOJE
+PANTELIĆ BORIVOJ
+PANTELIĆ CVETIN
+PANTELIĆ DAFINA
+PANTELIĆ DANICA
+PANTELIĆ DRAGAN
+PANTELIĆ DRAGOLJUB
+PANTELIĆ DRAGOLJUB
+PANTELIĆ ILIJA DIPL ING
+PANTELIĆ ILIJA
+PANTELIĆ JULIJANA
+PANTELIĆ KAMENKO
+PANTELIĆ LAZAR
+PANTELIĆ LJUBIŠA
+PANTELIĆ LJUBICA
+PANTELIĆ MIHAJLO
+PANTELIĆ MILADIN
+PANTELIĆ MILAN
+PANTELIĆ MILOŠ
+PANTELIĆ MILORAD
+PANTELIĆ MILOVAN
+PANTELIĆ MIODRAG
+PANTELIĆ MIROSLAV
+PANTELIĆ MOMČILO
+PANTELIĆ MOMIR
+PANTELIĆ NENAD
+PANTELIĆ NEVENKA
+PANTELIĆ NIKOLA
+PANTELIĆ PAJO
+PANTELIĆ PAVLE
+PANTELIĆ PETAR DIPL ING
+PANTELIĆ PETAR
+PANTELIĆ-PETROVIĆ MARIJA
+PANTELIĆ SLAVICA
+PANTELIĆ SOFIJA
+PANTELIĆ VASA
+PANTELIĆ VERA
+PANTELIĆ VLADIMIR
+PANTELIĆ VLADISLAV
+PANTELIĆ VUJICA
+PANTELIĆ-VUKANOVIĆ VUKOSAVA
+PANTELIĆ VUKICA
+PANTELIĆ VUKICA
+PANTELIĆ ZORAN
+PANTELIN GEORGIJE
+PANTELINAC NIKOLA
+PANTELINAC PAVLE
+PANTELINAC SLOBODAN
+PANTIĆ ŽARKO
+PANTIĆ ŽIVAN
+PANTIĆ ŽIVKA
+PANTIĆ ŽIVOJIN
+PANTIĆ ŽIVORAD
+PANTIĆ ĐORĐE
+PANTIĆ ĐURĐINKA
+PANTIĆ ALEKSANDAR
+PANTIĆ BATA
+PANTIĆ BOGDAN
+PANTIĆ BORIVOJE
+PANTIĆ BOSILJKA
+PANTIĆ DOBRIVOJ
+PANTIĆ DOBROSAV
+PANTIĆ DUŠAN
+PANTIĆ GIZELA
+PANTIĆ GVOZDEN
+PANTIĆ JELICA
+PANTIĆ LJUBICA
+PANTIĆ MARINA
+PANTIĆ MIHAILO
+PANTIĆ MILAN
+PANTIĆ MILENKO
+PANTIĆ MILIVOJE
+PANTIĆ MILIVOJ
+PANTIĆ MILORAD
+PANTIĆ MILORAD
+PANTIĆ MIODRAG DR LEKAR
+PANTIĆ RADENKO
+PANTIĆ RADOMIR
+PANTIĆ RADOMIR
+PANTIĆ RADOSLAV
+PANTIĆ ROZA
+PANTIĆ SELIMIR
+PANTIĆ SELIMIR
+PANTIĆ SVETOZAR
+PANTIĆ TOMISLAV
+PANTIĆ UROŠ
+PANTIĆ VESNA
+PANTIĆ VOJISLAV DR
+PANTIĆ ZAGORKA
+PANTIĆ ZDRAVKO
+PANTOŠ ĐURO
+PANTOŠ KOVILJKA
+PANTOŠ PETAR
+PANTOŠ PETAR
+PANTOVIĆ ŠĆEPAN
+PANTOVIĆ ŽELJKO
+PANTOVIĆ ACA
+PANTOVIĆ BILJANA
+PANTOVIĆ BRANKO
+PANTOVIĆ DRAGINJA
+PANTOVIĆ LJUBO
+PANTOVIĆ MILISAV
+PANTOVIĆ MILOVAN
+PANTOVIĆ MLADEN
+PANTOVIĆ SAVA
+PANTOVIĆ SVETOLIK
+PANTOVIĆ VLADIMIR
+PANZALOVIĆ RADOVAN
+PAOLONI ĐUZEPINA
+PAP ŠANDOR
+PAP ŠANDOR
+PAP ŠANDOR
+PAP ŠANDOR
+PAP ĐERĐ
+PAP ĐURO
+PAP ANA
+PAP DEJAN
+PAP DRAGICA
+PAP EDIT
+PAP EDIT
+PAP ENDRE DR
+PAP ENDRE
+PAP ERŽEBET
+PAP ETELKA
+PAP FERENC
+PAP FRANJA
+PAP FRANJA
+PAP GABOR
+PAP IŠTVAN DR
+PAP IŠTVAN
+PAP ILEŠ
+PAP IMRE
+PAP IMRE
+PAP IRENA
+PAP IRENA
+PAP JANJA
+PAP JANKO
+PAP JELENA
+PAP JELISAVETA
+PAP JOŽEF DR
+PAP JOSIP
+PAP JOSIP
+PAP JOVAN
+PAP JULIJANA
+PAP JULIJAN
+PAP JULIJA
+PAP KATARINA
+PAP LASLO
+PAP MARGITA
+PAP MIHAJLO
+PAP MIHAJLO
+PAP MIKLOŠ
+PAP MIRON
+PAP OLGA
+PAP PAVLE
+PAP ROZALIJA
+PAP SILVESTER
+PAP TEREZIJA
+PAP TIBOR
+PAP VALERIJA
+PAP VERA
+PAP VINCE
+PAP VLADISLAV
+PAP ZDENKA
+PAP ZOLTAN
+PAPŠOT-KOZIK PEPI
+PAPĐURDES JOVGEN
+PAPADOPOLO DRAGOSLAV
+PAPADOPOLO VJEKOSLAV
+PAPADOPULOS JANIS
+PAPADOPULOS KOSTAS
+PAPAGEORGIT KOSTA
+PAPAK DRAGAN
+PAPATANASIU NICA
+PAPEŠ JOSIP
+PAPEŠ KOSA
+PAPEŽ ILINKA
+PAPHARHAJI ĐURA
+PAPHARHAJI TEREZIJA
+PAPHARHAJI VLADIMIR
+PAPIŠTA FRANJA
+PAPIŠTA FRANJA
+PAPIŠTA ILDIKA
+PAPIŠTA JOVAN
+PAPIŠTA MARIJA
+PAPIŠTA MARKO
+PAPIŠTA MIHAJLO
+PAPIĆ ČEDOMIR
+PAPIĆ ŽIVKO
+PAPIĆ ALEKSANDAR
+PAPIĆ ALEKSANDAR
+PAPIĆ ANA
+PAPIĆ ARANKA
+PAPIĆ ARANKA
+PAPIĆ ARANKA
+PAPIĆ ARANKA
+PAPIĆ BOŠKO
+PAPIĆ BOŽA
+PAPIĆ BOŽIDAR
+PAPIĆ BRANISLAV
+PAPIĆ BRANKO
+PAPIĆ BRANKO
+PAPIĆ DESANKA
+PAPIĆ DOBRIVOJE
+PAPIĆ DUŠAN
+PAPIĆ DUŠAN
+PAPIĆ GOJKO
+PAPIĆ IVAN
+PAPIĆ JELISAVETA
+PAPIĆ LAZAR
+PAPIĆ LEPOSAVA
+PAPIĆ LJUBICA
+PAPIĆ LOZINKA
+PAPIĆ LUKA
+PAPIĆ MARIJA
+PAPIĆ MIHAJLO
+PAPIĆ MILADIN
+PAPIĆ MILADIN
+PAPIĆ MILICA
+PAPIĆ MILIVOJ
+PAPIĆ MILKA
+PAPIĆ MILOŠ
+PAPIĆ MIROSLAV
+PAPIĆ MIROSLAV
+PAPIĆ NIKOLA
+PAPIĆ PAVLE
+PAPIĆ RADENKO
+PAPIĆ SAVA
+PAPIĆ SMILJA
+PAPIĆ SRĐAN DR
+PAPIĆ SRĐANKA
+PAPIĆ STEVAN
+PAPIĆ STEVAN
+PAPIĆ STEVAN
+PAPIĆ SVETISLAV DIPL ING
+PAPIĆ TEODOR
+PAPIĆ TODOR
+PAPIĆ VERA
+PAPIĆ ZORICA
+PAPIĆ ZORICA
+PAPIK VIKTOR
+PAPILION BORIŠKA
+PAPLACKO VELIMIR
+PAPOVIĆ ČEDOMIR
+PAPOVIĆ BLAŽO
+PAPOVIĆ BLAGOJE
+PAPOVIĆ KRSTO
+PAPOVIĆ MILE
+PAPOVIĆ MIODRAG
+PAPOVIĆ MLADEN
+PAPOVIĆ VESELIN
+PAPOVIĆ VUKOSAV
+PAPRIĆ ŽIVAN
+PAPRIĆ ĐORĐE
+PAPRIĆ MARKO
+PAPRIĆ RAJKO
+PAPUGA ĐURA
+PAPUGA DIMITRIJE
+PAPUGA EUFEMIJA
+PAPUGA IRINA
+PAPUGA JAROSLAV
+PAPUGA KIRIL
+PAPUGA LJUBOMIR
+PAPUGA MIHAJLO
+PAPUGA TATJANA
+PAPUGA VERA
+PAPUGA VLADIMIR
+PAPULIN ĐERĐIKA
+PAPULIN BORISLAV
+PAPULIN DOBRINA
+PAPULIN RADOJKA
+PARČIĆ NAĐA DR
+PARABUĆSKI MILENKO
+PARABUĆSKI-SIMIĆ RUŽICA
+PARABUĆSKI SVETISLAV NOVINAR
+PARABUCKI LAZAR
+PARABUCKI LJILJANA
+PARAG STEVAN
+PARANDILOVIĆ ROSA
+PARAPID MIRJANA
+PARAVIL NIKOLA
+PARAVINA JARMILA
+PARAVINA MILOŠ
+PARDOVICKI FERENC
+PARDOVICKI FRANJA
+PARDOVICKI MARIJA
+PAREŽANIN RADIVOJ
+PAREŽANIN SLOBODAN
+PAREŽANIN VLADISLAV
+PARHANOV VIKTORIJA
+PARIČEVIĆ EVA
+PARIĆ STIPE
+PARIPOV JELA
+PARIPOV MILAN
+PARIPOV MILENKO
+PARIPOVIĆ ČEDOMIR
+PARIPOVIĆ DRAGAN
+PARIPOVIĆ DUŠAN
+PARIPOVIĆ JOVAN
+PARIPOVIĆ JOVO
+PARIPOVIĆ MIHAJLO
+PARIPOVIĆ MILENKO
+PARIPOVIĆ MILE
+PARIPOVIĆ MILKA
+PARIPOVIĆ PAJA
+PARIPOVIĆ SLOBODAN
+PARIPOVIĆ SVETOZAR
+PARIPOVIĆ VLADIMIR
+PARIPOVIĆ VLADISLAVKA
+PARIPOVIĆ ZORAN
+PARKANJI SAMUEL
+PARLAĆ LJUBOMIR
+PARLAĆ MARINKO
+PARLAĆ MIODRAG
+PARLIĆ ANA
+PARLIĆ JEVTA
+PARLIĆ NIKOLA
+PARMAĆ NEDELJKO
+PARNICKI IVAN
+PARNICKI JOVAN
+PAROŠKAJ ĐURA
+PAROŠKAJ DANILO
+PAROŠKI ĐORĐE
+PAROŠKI ĐORĐE
+PAROŠKI ALEKSANDAR
+PAROŠKI ALEKSANDAR
+PAROŠKI ANA
+PAROŠKI ANKICA
+PAROŠKI BORIVOJ
+PAROŠKI BRANISLAV
+PAROŠKI DAMJAN
+PAROŠKI DIMITRIJE
+PAROŠKI DOBRILA
+PAROŠKI DRAGAN
+PAROŠKI DUŠAN
+PAROŠKI GLIŠA
+PAROŠKI GORDAN
+PAROŠKI IVAN
+PAROŠKI JELENA
+PAROŠKI JELICA
+PAROŠKI JOVAN
+PAROŠKI MARIJA
+PAROŠKI MILAN
+PAROŠKI MILAN
+PAROŠKI MILAN
+PAROŠKI MILICA
+PAROŠKI MILOŠ
+PAROŠKI MILORAD
+PAROŠKI MILOVAN
+PAROŠKI MIRA
+PAROŠKI MIRJANA
+PAROŠKI MIRKO
+PAROŠKI NESTOR
+PAROŠKI OBREN
+PAROŠKI OLGA
+PAROŠKI PETAR
+PAROŠKI PUNIŠA
+PAROŠKI RADMILA
+PAROŠKI RAJKO
+PAROŠKI ROŽA
+PAROŠKI SAVA
+PAROŠKI SLAVICA
+PAROŠKI SOFIJA
+PAROŠKI STEVAN
+PAROŠKI VEROLJUB
+PAROŠKI VLADIMIR
+PAROŠKI ZAGORKA
+PAROCI JOSIP
+PAROCI JULIJANA
+PAROCI KARLO
+PAROCI LJILJANA
+PAROCI TIBOR
+PAROCI TIBOR
+PAROCI TIBOR
+PAROJČIĆ LJUBICA
+PAROJČIĆ SLOBODAN
+PAROKAI MIRKO
+PAROVIĆ SLAVKO
+PARUŽIĆ PANTA
+PARUCKI MIHAJLO
+PASARIĆ RUŽA
+PASKAŠ MILAN
+PASKAŠ MILKA
+PASKAŠ NATAŠA
+PASKALI GORAN
+PASKALJEVIĆ ALEKSANDAR
+PASKU DIMITRIJE
+PASKULOV MIROLJUB
+PAST ROBERT
+PASTERKO STEVAN
+PASTONJICKI ELEMIR
+PASTOR GEZA
+PASTOR JANOŠ
+PASTOR JANOŠ
+PASTOR JOSIP
+PASTOR JOSIP
+PASTOR JOZEF
+PASTOR LASLO
+PASTOR MARIJA
+PASTOR MIHAJLO
+PASTOR MILAN
+PASTOR PETAR
+PASTOR STJEPAN
+PASTORNAČKI ĐURĐINKA
+PASTORNAČKI LAZAR
+PASTORNAČKI LJUBIŠA
+PASTORNAČKI MARIJA
+PASTORNAČKI RADOSLAV
+PASTORNJICKI GORDANA
+PATAFTA JULIJA
+PATAFTA STEVAN
+PATAJ ARANKA DR
+PATAK PAVLE
+PATAKI ANA
+PATAKI EVA
+PATAKI GORAN
+PATARIĆ STIPAN
+PATARICA ELEMER
+PATIĆ DRAGOMIR
+PATIĆ RADOSAV
+PATIĆ RATKO
+PATIĆ VLADIMIR
+PATLEJH NADEŽDA
+PATRIK LAJOŠ
+PATRIK STEVAN
+PATRNOGIĆ BRANISLAV DIPL ING
+PATRNOGIĆ DUŠAN DR
+PATRNOGIĆ DUŠICA
+PATRNOGIĆ LIDIJA
+PAUŠIĆ IVAN
+PAUŠIĆ MARKO
+PAUKOVIĆ MIRJANA
+PAUL KATICA
+PAUL LAJOŠ
+PAUL LAJOŠ
+PAUL OSKAR
+PAULIĆ MILE
+PAULIK ALEKSANDAR
+PAULIK PERO
+PAULIK PETAR
+PAULOVIĆ DRAGUTIN
+PAUNESKU VASA
+PAUNIĆ ŽIVKO DIPL ING
+PAUNIĆ ĐURA
+PAUNIĆ ALIMPIJE
+PAUNIĆ BRANKO
+PAUNIĆ DIMITRIJE
+PAUNIĆ DRAGOMIR
+PAUNIĆ ILIJA
+PAUNIĆ LAZAR
+PAUNIĆ MILANA
+PAUNIĆ MILEVA
+PAUNIĆ MILE
+PAUNIĆ STANIMIR
+PAUNIĆ TOMA
+PAUNIĆ VUKAŠIN
+PAUNKOVIĆ JOVANA
+PAUNKOVIĆ LJILJANA
+PAUNKOVIĆ VELIMIR
+PAUNKOVIĆ VLADIMIR
+PAUNKU AURELIJA
+PAUNOVIĆ ČASLAV
+PAUNOVIĆ ANTO
+PAUNOVIĆ BOGDAN
+PAUNOVIĆ BOGDAN
+PAUNOVIĆ BRANKA
+PAUNOVIĆ BRANKO
+PAUNOVIĆ DIMITRIJE
+PAUNOVIĆ DRAGOLJUB
+PAUNOVIĆ DRAGUTIN
+PAUNOVIĆ GOSPAVA
+PAUNOVIĆ JELENA
+PAUNOVIĆ JOVAN
+PAUNOVIĆ JOVICA
+PAUNOVIĆ KATICA
+PAUNOVIĆ KOVILJKA
+PAUNOVIĆ KOVILJKA
+PAUNOVIĆ LJILJANA
+PAUNOVIĆ LJUBIVOJE
+PAUNOVIĆ MARINA
+PAUNOVIĆ MELINDA
+PAUNOVIĆ MILICA
+PAUNOVIĆ MILOMIR
+PAUNOVIĆ MILORAD
+PAUNOVIĆ MILORAD
+PAUNOVIĆ MILORAD
+PAUNOVIĆ NIKOLA
+PAUNOVIĆ PAUN
+PAUNOVIĆ PETAR
+PAUNOVIĆ RADOŠ
+PAUNOVIĆ RADOSLAV
+PAUNOVIĆ RADOSLAV
+PAUNOVIĆ RATOMIR
+PAUNOVIĆ SLAVA
+PAUNOVIĆ SLOBODANKA
+PAUNOVIĆ SRBICA
+PAUNOVIĆ STOJANKA
+PAUNOVIĆ TOMISLAV
+PAUNOVIĆ VUKOSAVA
+PAUNOVIĆ ZORAN
+PAUNOVIĆ ZVONKO
+PAUT MILAN
+PAUZENBERGER IRENA
+PAUZENBERGER JOVAN
+PAVAI FRANJA
+PAVELKA DANIELA
+PAVELKA VLADIMIR
+PAVIČ DANICA
+PAVIČEVIĆ MILAN
+PAVIČEVIĆ NADA
+PAVIČIĆ DRAGICA
+PAVIČIĆ IVAN
+PAVIČIĆ MIRKO
+PAVIŠIĆ ĐURA
+PAVIĆ ĐURO
+PAVIĆ ANKA
+PAVIĆ ARON
+PAVIĆ BILJANA
+PAVIĆ DUŠAN
+PAVIĆ GAŠO
+PAVIĆ GOJKO
+PAVIĆ JOŽEF
+PAVIĆ LJUBIŠA
+PAVIĆ LJUBICA
+PAVIĆ LJUBOMIR
+PAVIĆ MARIJA
+PAVIĆ MILAN
+PAVIĆ MILAN
+PAVIĆ MILICA
+PAVIĆ SLAVKO
+PAVIĆ STEVAN
+PAVIĆ-SULOCKI ESTER
+PAVIĆ TEREZIJA
+PAVIĆ VENKO
+PAVIĆ VERKA
+PAVIĆEVIĆ ALEKSANDAR
+PAVIĆEVIĆ ALEKSANDAR
+PAVIĆEVIĆ ANANIJE
+PAVIĆEVIĆ BRANISLAV
+PAVIĆEVIĆ DESA
+PAVIĆEVIĆ DRAGAN
+PAVIĆEVIĆ DUŠAN
+PAVIĆEVIĆ DUŠAN
+PAVIĆEVIĆ JELENA
+PAVIĆEVIĆ LJILJANA
+PAVIĆEVIĆ MILANKO
+PAVIĆEVIĆ MILOŠ
+PAVIĆEVIĆ MILOMIR
+PAVIĆEVIĆ MILUTIN
+PAVIĆEVIĆ MIODRAG
+PAVIĆEVIĆ MIODRAG
+PAVIĆEVIĆ MIRA
+PAVIĆEVIĆ MIRKO
+PAVIĆEVIĆ SLAVKO
+PAVIĆEVIĆ SLOBODAN
+PAVIN LJUBICA
+PAVKOV ŽIVKO
+PAVKOV ŽIVOJIN
+PAVKOV ĐURĐEVKA
+PAVKOV ĐURĐINA
+PAVKOV ALEKSANDAR
+PAVKOV ANKA
+PAVKOV BOŽIDAR
+PAVKOV BOSILJKA
+PAVKOV BRANKO
+PAVKOV DRAGAN
+PAVKOV DRAGAN
+PAVKOV DUŠAN
+PAVKOV DUŠAN
+PAVKOV GOJKO
+PAVKOV GORDANA
+PAVKOV IVANKA
+PAVKOV JOVAN
+PAVKOV JOVAN
+PAVKOV JOVAN
+PAVKOV KATICA
+PAVKOV LAZAR
+PAVKOV MILAN
+PAVKOV MILAN
+PAVKOV MILAN
+PAVKOV MILIVOJ DIPL ING
+PAVKOV MILOŠ
+PAVKOV MILOJE
+PAVKOV MILORAD
+PAVKOV MILORAD
+PAVKOV MILUTIN
+PAVKOV MITAR
+PAVKOV NADA
+PAVKOV NADA
+PAVKOV PAVLE
+PAVKOV PETAR
+PAVKOV RADIVOJ
+PAVKOV RADOVAN
+PAVKOV RATOMIR
+PAVKOV SAVA
+PAVKOV SAVA
+PAVKOV SINIŠA
+PAVKOV SLAVKO
+PAVKOV STEVAN
+PAVKOV STEVAN
+PAVKOV STEVAN
+PAVKOV UROŠ
+PAVKOV VITOMIR
+PAVKOV ZORAN
+PAVKOV ZORKA
+PAVKOVIĆ BOŽIDAR
+PAVKOVIĆ BORISLAV
+PAVKOVIĆ DRAGANA
+PAVKOVIĆ DRAGICA
+PAVKOVIĆ JOVANKA
+PAVKOVIĆ KATICA
+PAVKOVIĆ NIKOLA
+PAVKOVIĆ PETAR
+PAVKOVIĆ RADOJE
+PAVLEKIĆ STEVAN
+PAVLESKI MENKA
+PAVLEVSKI DESA
+PAVLEVSKI TRAJAN
+PAVLIČ MIRKO
+PAVLIČIĆ KREŠIMIR
+PAVLIČIĆ LJUBIŠA DR
+PAVLIĆ ĐORĐE
+PAVLIĆ BORISLAV
+PAVLIĆ BRANKO DIPL ING
+PAVLIĆ PETAR DIPL ING
+PAVLIĆ VLADA
+PAVLIĆEV ĐORĐE
+PAVLICA BRANISLAV
+PAVLICA JOVAN
+PAVLICA LAZAR
+PAVLICA MARICA
+PAVLICA MICA
+PAVLICA MILAN
+PAVLICA MILENA
+PAVLICA MILEVA
+PAVLICA NADA
+PAVLICA NIKOLA
+PAVLICA NIKOLA
+PAVLICA SAVO
+PAVLICA SOFIJA
+PAVLICA TODOR
+PAVLICA VLADIMIR
+PAVLIK ANTAL
+PAVLIK JOSIP
+PAVLIK KATARINA
+PAVLIK MIŠA
+PAVLIK VINKO
+PAVLOV ŽARKO
+PAVLOV ŽIVAN
+PAVLOV ŽIVKA
+PAVLOV ĐOKA
+PAVLOV ALEKSANDAR
+PAVLOV ALEKSANDAR
+PAVLOV ALEKSANDAR
+PAVLOV BOGDANKA
+PAVLOV BORISLAV
+PAVLOV DANICA
+PAVLOV DANILO
+PAVLOV DRAGINJA
+PAVLOV DRAGOMIR
+PAVLOV DUŠANKA
+PAVLOV DUŠANKA
+PAVLOV DUŠAN
+PAVLOV DUŠAN
+PAVLOV JOVAN
+PAVLOV KATICA
+PAVLOV-KOSTIĆ ANA DR
+PAVLOV KOVILJKA
+PAVLOV KRISTINA
+PAVLOV KUZMAN
+PAVLOV LAZAR
+PAVLOV LAZAR
+PAVLOV LJUBICA
+PAVLOV LJUBICA
+PAVLOV MARIJA
+PAVLOV MILAN
+PAVLOV MILETA
+PAVLOV MILIVOJ
+PAVLOV MILORAD
+PAVLOV MILORAD
+PAVLOV MILOVAN
+PAVLOV MILOVAN
+PAVLOV MILUTIN
+PAVLOV MIRA
+PAVLOV-MIRKOVIĆ MIROSLAVA DR
+PAVLOV MIROSLAV
+PAVLOV MIROSLAV
+PAVLOV MITKO
+PAVLOV NADA
+PAVLOV NADA
+PAVLOV NATALIJA
+PAVLOV NEVENKA
+PAVLOV OLGA
+PAVLOV PAJA
+PAVLOV PAVEL
+PAVLOV PAVEL
+PAVLOV PAVLE
+PAVLOV PETAR
+PAVLOV PETAR
+PAVLOV RADA
+PAVLOV RADIVOJ
+PAVLOV RADMILA
+PAVLOV RADOSLAVA
+PAVLOV RADOSLAV
+PAVLOV SAVA
+PAVLOV SAVA
+PAVLOV STEVAN
+PAVLOV STEVAN
+PAVLOV STEVAN
+PAVLOV STEVAN
+PAVLOV STEVAN
+PAVLOV STEVAN
+PAVLOV STOJAN
+PAVLOV SVETOZAR
+PAVLOV VASILIJE
+PAVLOV VERA
+PAVLOV VERA
+PAVLOV VERICA
+PAVLOV VIDOSAVA
+PAVLOV VLADIMIR
+PAVLOV VLASTIMIR
+PAVLOVIĆ ČEDOMIR
+PAVLOVIĆ ŽARKO
+PAVLOVIĆ-ŽENER OLGA
+PAVLOVIĆ ĐORĐE
+PAVLOVIĆ ĐORĐE
+PAVLOVIĆ ĐORĐE
+PAVLOVIĆ ĐORĐO
+PAVLOVIĆ ĐORĐO
+PAVLOVIĆ ALEKSANDAR DR
+PAVLOVIĆ ALEKSANDAR
+PAVLOVIĆ ALEKSIJE
+PAVLOVIĆ ANA
+PAVLOVIĆ ANA
+PAVLOVIĆ ANDRIJA
+PAVLOVIĆ ANICA
+PAVLOVIĆ ANKICA
+PAVLOVIĆ BLAGOJE
+PAVLOVIĆ BLAGO
+PAVLOVIĆ BOŽIDAR
+PAVLOVIĆ BOŽO
+PAVLOVIĆ BOGDAN
+PAVLOVIĆ BOGOLJUB
+PAVLOVIĆ BORA
+PAVLOVIĆ BORISAV
+PAVLOVIĆ BORISLAV
+PAVLOVIĆ BORISLAV
+PAVLOVIĆ BRANKO
+PAVLOVIĆ BRANKO
+PAVLOVIĆ CVETAN
+PAVLOVIĆ DEJAN
+PAVLOVIĆ DIMITRIJE
+PAVLOVIĆ DOBRIVOJ
+PAVLOVIĆ DOBROSLAV
+PAVLOVIĆ DRAGAN
+PAVLOVIĆ DRAGAN
+PAVLOVIĆ DRAGAN
+PAVLOVIĆ DRAGAN
+PAVLOVIĆ DRAGOLJUB
+PAVLOVIĆ DRAGOLJUB
+PAVLOVIĆ DRAGOSLAVA
+PAVLOVIĆ DRAGOSLAV
+PAVLOVIĆ DRAGUTIN
+PAVLOVIĆ DUŠANKA
+PAVLOVIĆ DUŠAN
+PAVLOVIĆ DUŠAN
+PAVLOVIĆ DUŠAN
+PAVLOVIĆ DUŠAN
+PAVLOVIĆ DUŠAN
+PAVLOVIĆ DUŠKO
+PAVLOVIĆ EMIL
+PAVLOVIĆ ERŽEBET
+PAVLOVIĆ ERŽEBET
+PAVLOVIĆ GOJKO
+PAVLOVIĆ GORINKA
+PAVLOVIĆ ILIJA
+PAVLOVIĆ ILIJA
+PAVLOVIĆ ILONA
+PAVLOVIĆ ILONA
+PAVLOVIĆ IRINA
+PAVLOVIĆ IVAN DIPL ING
+PAVLOVIĆ IVAN
+PAVLOVIĆ JAGO
+PAVLOVIĆ JANKO
+PAVLOVIĆ JANKO
+PAVLOVIĆ JANOŠ
+PAVLOVIĆ JELA
+PAVLOVIĆ JELENA
+PAVLOVIĆ JELENA
+PAVLOVIĆ JELENA
+PAVLOVIĆ JELENA
+PAVLOVIĆ JELICA
+PAVLOVIĆ JOAKIM
+PAVLOVIĆ JOVAN
+PAVLOVIĆ JOVAN
+PAVLOVIĆ JOVICA
+PAVLOVIĆ KATARINA
+PAVLOVIĆ KATICA
+PAVLOVIĆ KONSTANTIN
+PAVLOVIĆ KOVINKA
+PAVLOVIĆ LAZAR
+PAVLOVIĆ LAZAR
+PAVLOVIĆ LAZAR
+PAVLOVIĆ LJUBIŠA
+PAVLOVIĆ MAGDA
+PAVLOVIĆ MARA DIPL ING
+PAVLOVIĆ MARA
+PAVLOVIĆ MARICA
+PAVLOVIĆ MARKO DIPL ING
+PAVLOVIĆ MARKO
+PAVLOVIĆ MICA
+PAVLOVIĆ MILADIN
+PAVLOVIĆ MILAN
+PAVLOVIĆ MILAN
+PAVLOVIĆ MILENA
+PAVLOVIĆ MILENKO
+PAVLOVIĆ MILENKO
+PAVLOVIĆ MILE
+PAVLOVIĆ MILE
+PAVLOVIĆ MILICA
+PAVLOVIĆ MILICA
+PAVLOVIĆ MILICA
+PAVLOVIĆ MILISAV
+PAVLOVIĆ MILJANA
+PAVLOVIĆ MILKA
+PAVLOVIĆ MILKA
+PAVLOVIĆ MILOJE
+PAVLOVIĆ MILOJE
+PAVLOVIĆ MILOMIR
+PAVLOVIĆ MILORAD DR
+PAVLOVIĆ MILORAD
+PAVLOVIĆ MILORAD
+PAVLOVIĆ MILORAD
+PAVLOVIĆ MILOSAVA
+PAVLOVIĆ MILOSAV
+PAVLOVIĆ MILOVAN
+PAVLOVIĆ MILOVAN
+PAVLOVIĆ MIODRAG
+PAVLOVIĆ MIODRAG
+PAVLOVIĆ MIODRAG
+PAVLOVIĆ MIRA
+PAVLOVIĆ MIRJANA DR
+PAVLOVIĆ MIRJANA
+PAVLOVIĆ MIRJANA
+PAVLOVIĆ MIRJANA
+PAVLOVIĆ MIRKO DIPL OEC
+PAVLOVIĆ MIRKO
+PAVLOVIĆ MIRKO
+PAVLOVIĆ MIROSLAVA
+PAVLOVIĆ MIROSLAV
+PAVLOVIĆ MOMČILO
+PAVLOVIĆ NADA DR
+PAVLOVIĆ NADA
+PAVLOVIĆ NADA
+PAVLOVIĆ NEDELJKA
+PAVLOVIĆ NEDELJKO
+PAVLOVIĆ NEMANJA
+PAVLOVIĆ NEMANJA
+PAVLOVIĆ NIKOLA
+PAVLOVIĆ NIKOLA
+PAVLOVIĆ NIKOLICA
+PAVLOVIĆ NINA
+PAVLOVIĆ NOVAK
+PAVLOVIĆ OLGA
+PAVLOVIĆ OLGA
+PAVLOVIĆ OLGA
+PAVLOVIĆ OLGA
+PAVLOVIĆ PAVLE
+PAVLOVIĆ PAVLE
+PAVLOVIĆ PEĐA
+PAVLOVIĆ PERO
+PAVLOVIĆ PETAR
+PAVLOVIĆ PETAR
+PAVLOVIĆ PETAR
+PAVLOVIĆ PLEMENKA
+PAVLOVIĆ-POPOVIĆ ZORA DR LEKAR
+PAVLOVIĆ PREDRAG
+PAVLOVIĆ PREDRAG
+PAVLOVIĆ PRVOSLAV
+PAVLOVIĆ RADENKO
+PAVLOVIĆ RADIVOJ
+PAVLOVIĆ RADMILA
+PAVLOVIĆ RADMILO DIPL ING
+PAVLOVIĆ RADMILO
+PAVLOVIĆ RADOJE
+PAVLOVIĆ RADOJKA
+PAVLOVIĆ RADOMIR DIPL OEC
+PAVLOVIĆ RADOMIR
+PAVLOVIĆ RADOSLAVA
+PAVLOVIĆ RADOVAN DR VETERINE
+PAVLOVIĆ RADOVAN
+PAVLOVIĆ RAJKO
+PAVLOVIĆ RANKO
+PAVLOVIĆ RATKO
+PAVLOVIĆ SAVA
+PAVLOVIĆ SAVO
+PAVLOVIĆ SIMA
+PAVLOVIĆ SIMEON
+PAVLOVIĆ SIMEON
+PAVLOVIĆ SINIŠA
+PAVLOVIĆ SLAVICA
+PAVLOVIĆ SLAVKO DIPL ING
+PAVLOVIĆ SLAVKO
+PAVLOVIĆ SLAVKO
+PAVLOVIĆ SLAVKO
+PAVLOVIĆ SLOBODAN DR
+PAVLOVIĆ SLOBODAN
+PAVLOVIĆ SLOBODAN
+PAVLOVIĆ SLOBODAN
+PAVLOVIĆ SMILJA
+PAVLOVIĆ STANA
+PAVLOVIĆ STANIKA
+PAVLOVIĆ STANISLAV
+PAVLOVIĆ STEVANKA
+PAVLOVIĆ STEVAN
+PAVLOVIĆ STEVAN
+PAVLOVIĆ STEVAN
+PAVLOVIĆ STEVAN
+PAVLOVIĆ STEVAN
+PAVLOVIĆ STJEPAN
+PAVLOVIĆ STOJAN
+PAVLOVIĆ STOJAN
+PAVLOVIĆ SVETISLAV
+PAVLOVIĆ SVETOZAR
+PAVLOVIĆ TOŠA
+PAVLOVIĆ TOMA
+PAVLOVIĆ TOMISLAV DR
+PAVLOVIĆ VELIZAR
+PAVLOVIĆ VERA
+PAVLOVIĆ VERA
+PAVLOVIĆ VERA
+PAVLOVIĆ VIDA
+PAVLOVIĆ VIDOSAVA
+PAVLOVIĆ VIDOSAVA
+PAVLOVIĆ VIDOSLAV
+PAVLOVIĆ VITOMIR
+PAVLOVIĆ VITOMIR
+PAVLOVIĆ VLADIMIR
+PAVLOVIĆ VOJISLAV
+PAVLOVIĆ ZAGORKA
+PAVLOVIĆ ZDRAVKO
+PAVLOVIĆ ZORAN
+PAVLOVIĆ ZORAN
+PAVLOVIĆ ZORAN
+PAVLOVIĆ ZORAN
+PAVLOVIĆ ZORA
+PAVLOVIĆ ZORICA
+PAVLOVIĆ ZVONIMIR
+PAVLOVSKI ALEKSANDAR
+PAVLOVSKI MARIJA
+PAVLOVSKI SERGEJ
+PAVOŠEVIĆ ANKA
+PAVOŠEVIĆ RODOLJUB
+PAZARSKI STEVAN
+PAZMANJ JULIJANA
+PEČARIĆ KATICA
+PEČI GEZA
+PEČI IŠTVAN
+PEČI MARIJA
+PEČKAI-KOVAČ ANA
+PEČKAI MARGITA
+PEČVARAC STANOJE
+PEŠENJANSKI IVAN
+PEŠENJANSKI IVAN
+PEŠENJANSKI KARLO
+PEŠEVIĆ BOGDAN
+PEŠEVSKI ĐOKA
+PEŠEVSKI TOME
+PEŠEVSKI VLADO
+PEŠIĆ ŽIVAN
+PEŠIĆ ALEKSANDAR
+PEŠIĆ ANĐELKO
+PEŠIĆ BUDIMIR
+PEŠIĆ DESIMIR
+PEŠIĆ DIMITRIJE
+PEŠIĆ DIMITRIJE
+PEŠIĆ DRAGAN
+PEŠIĆ DRAGICA
+PEŠIĆ DRAGOLJUB
+PEŠIĆ DRAGOLJUB
+PEŠIĆ GOJKO
+PEŠIĆ GRADIMIR
+PEŠIĆ ILIJA
+PEŠIĆ JORDAN
+PEŠIĆ JOVAN
+PEŠIĆ LJUBICA
+PEŠIĆ MILADIN
+PEŠIĆ MILAN
+PEŠIĆ MILINKO
+PEŠIĆ MILUTIN
+PEŠIĆ MILUTIN
+PEŠIĆ MIROSLAV
+PEŠIĆ PETAR
+PEŠIĆ RADMILA
+PEŠIĆ RAJKO
+PEŠIĆ RUŽA
+PEŠIĆ SAVA
+PEŠIĆ STANOJE
+PEŠIĆ STEVAN DR
+PEŠIĆ VLADIMIR
+PEŠIĆ VUKAŠIN
+PEŠIKAN TIHOMIR
+PEŠIKAN VUK
+PEŠKA ANA
+PEŠKAN DRAGAN
+PEŠKAN VERA
+PEŠKANOV MILORAD
+PEŠKANOV PERSIDA
+PEŠKANOV STEVAN
+PEŠKANOV TODOR
+PEŠOVIĆ MILIVOJE
+PEŠOVIĆ STOJAN
+PEŠTALIĆ SLOBODANKA
+PEŠTERAC ČEDOMIR
+PEŠTERAC MILOMIR
+PEŠTERAC MILUTIN
+PEŠTI JOŽEF
+PEŠUT ALEKSANDRA
+PEŠUT BOŠKO
+PEŠUT BRANKO
+PEŠUT DUŠAN
+PEŠUT DUŠAN
+PEŠUT ILIJA
+PEŠUT MARIJA
+PEŠUT MILAN
+PEŠUT MILICA
+PEŠUT SLAVKA
+PEŠUT SMILJA
+PEŠUT VLADIMIR
+PEĆANAC BOSILJKA
+PEĆANAC DIMITRIJE
+PEĆANAC JOVAN
+PEĆANAC NIKOLA
+PEĆANAC VESNA
+PEĆANIN DUŠAN
+PEĆANIN LJUBIŠA DIPL ING
+PEĆANIN MIROSLAVA
+PEĆANIN OMILJEN
+PEĆANIN-VERMEZOVIĆ OLJA
+PEĆKO DANILO
+PEĆKO VERA
+PEĆO LAZAR
+PEĆO LUKA
+PEĆO SVETOZAR
+PEC JULIJE
+PECARSKI LEKSA
+PECE ĐORĐE
+PECE ĐORĐE
+PECE ALEKSANDAR
+PECE ANTON
+PECE ILEŠ
+PECE ZOLTAN
+PECELJ BOŽO
+PECELJ STEVAN
+PECIĆ ACA
+PECIĆ KATARINA
+PECIĆ MIODRAG
+PECIĆ STEVAN
+PECNJIK ANA
+PECO MIRSAD
+PECOVIĆ RADOMIR
+PEDOVIĆ RATOMIR
+PEIĆ-TUKULJAC VJEKOSLAV
+PEJČIĆ BOŽIDAR
+PEJČIĆ BRATISLAV
+PEJČIĆ DOBRIVOJE
+PEJČIĆ DOBRIVOJ
+PEJČIĆ DOBROSAV
+PEJČIĆ DRAGOMIR
+PEJČIĆ DUŠANKA
+PEJČIĆ DUBRAVKA
+PEJČIĆ GRADIMIR
+PEJČIĆ ILIJA
+PEJČIĆ ILIJA
+PEJČIĆ JASMINA
+PEJČIĆ JOVAN
+PEJČIĆ JOVAN
+PEJČIĆ LJUBICA
+PEJČIĆ LJUBOMIR
+PEJČIĆ MILENKO
+PEJČIĆ MILE
+PEJČIĆ MIODRAG
+PEJČIĆ MIROSLAV
+PEJČIĆ MITAR
+PEJČIĆ MOMČILO
+PEJČIĆ NOVAK
+PEJČIĆ PETAR
+PEJČIĆ RADOSLAVA
+PEJČIĆ RUŽA
+PEJČIĆ SAVA
+PEJČIĆ SAVA
+PEJČIĆ SVETISLAV
+PEJČIĆ VOJISLAV
+PEJČIĆ VOJISLAV
+PEJČIĆ ZORAN
+PEJAK ĐORĐE
+PEJAK ĐURA
+PEJAK BRANKO
+PEJAK DRAGOSLAVA
+PEJAK JELENA
+PEJAK JOVAN
+PEJAK JOVICA
+PEJAK LAZAR
+PEJAK LJUBICA
+PEJAK MILAN
+PEJAK MILINKA
+PEJAK MIODRAG
+PEJAK MIRJANA
+PEJAK MOJA
+PEJAK NEVENKA
+PEJAK RADOVAN
+PEJAK RAJKO
+PEJAK SAVA
+PEJAK SLAVKO
+PEJAK TRIVA
+PEJAK VERICA
+PEJAK VLADIMIR
+PEJAKIĆ MARKO
+PEJAKOVIĆ ŽARKO
+PEJAKOVIĆ ĐORĐE
+PEJAKOVIĆ DUŠAN
+PEJAKOVIĆ ILIJA
+PEJAKOVIĆ MILENKO
+PEJAKOVIĆ NANDOR
+PEJAKOVIĆ NENAD
+PEJAKOVIĆ PERICA
+PEJAKOVIĆ PETAR
+PEJAKOVIĆ PREDRAG
+PEJANOVIĆ ĐORĐE
+PEJANOVIĆ ANĐELKO
+PEJANOVIĆ BRANKO
+PEJANOVIĆ DIMITRIJE
+PEJANOVIĆ MILKA
+PEJANOVIĆ RADOVAN DR
+PEJANOVIĆ ZORAN
+PEJIČIĆ MILAN
+PEJIĆ ŽIVAN
+PEJIĆ ALEKSANDAR
+PEJIĆ ALEKSANDAR
+PEJIĆ ANICA
+PEJIĆ ANTON
+PEJIĆ BOGDANKA
+PEJIĆ BORIVOJ
+PEJIĆ BRANISLAV
+PEJIĆ BRANISLAV
+PEJIĆ DRAGAN
+PEJIĆ DRAGAN
+PEJIĆ DRAGIŠA
+PEJIĆ DRAGICA
+PEJIĆ DRAGO
+PEJIĆ DRAGO
+PEJIĆ DUŠAN
+PEJIĆ DUŠAN
+PEJIĆ DUŠAN
+PEJIĆ GAVRA
+PEJIĆ IVAN
+PEJIĆ IVAN
+PEJIĆ JANJA
+PEJIĆ JOVAN
+PEJIĆ LJUBOMIR
+PEJIĆ MARA
+PEJIĆ MIHAJLO
+PEJIĆ MILAN
+PEJIĆ MILAN
+PEJIĆ MILAN
+PEJIĆ MILENKO
+PEJIĆ MILICA
+PEJIĆ MILOŠ
+PEJIĆ MILORAD
+PEJIĆ MILORAD
+PEJIĆ MILORAD
+PEJIĆ MILORAD
+PEJIĆ MILORAD
+PEJIĆ MILORAD
+PEJIĆ MILOSAV
+PEJIĆ NEDELJKO
+PEJIĆ NIKOLA
+PEJIĆ NIKO
+PEJIĆ NOVAK
+PEJIĆ ORJEN
+PEJIĆ PREDRAG
+PEJIĆ RADOJKA
+PEJIĆ RADOSAV
+PEJIĆ RAJKO
+PEJIĆ RUŽICA
+PEJIĆ SLOBODANKA
+PEJIĆ SLOBODAN
+PEJIĆ SLOBODAN
+PEJIĆ SOFIJA
+PEJIĆ STANKO
+PEJIĆ STEVAN
+PEJIĆ STIPAN
+PEJIĆ VERICA
+PEJIĆ VLADO
+PEJIN ĐORĐE
+PEJIN ĐURĐINA
+PEJIN ANĐELKA
+PEJIN BRANIMIR
+PEJIN BRANIMIR
+PEJIN BRANIMIR
+PEJIN DEJAN
+PEJIN DIMITRIJE
+PEJIN DUŠAN DR
+PEJIN GOJKO
+PEJIN JELENA
+PEJIN JOVAN
+PEJIN LAZAR DIPL OEC
+PEJIN MARIJA
+PEJIN MARITA
+PEJIN MILIVOJ
+PEJIN MILOŠ
+PEJIN MILORAD
+PEJIN MIROSLAV
+PEJIN MLADEN
+PEJIN NENAD
+PEJIN NIKOLA
+PEJIN NIKOLA
+PEJIN NIKOLA
+PEJIN NOVAK
+PEJIN PAVLE
+PEJIN PERSIDA
+PEJIN PLAVŠA
+PEJIN RADA
+PEJIN RADA
+PEJIN RADOSLAV
+PEJIN STEVAN
+PEJIN STEVAN
+PEJIN VASA
+PEJIN VERICA
+PEJIN VUKOSAVA
+PEJINOV BRANISLAV
+PEJINOV LJUBICA
+PEJINOV VELJKO
+PEJINOVIĆ DRAGAN
+PEJKOVIĆ ALEKSANDAR
+PEJKOVIĆ DANILKA
+PEJKOVIĆ IBOLJKA
+PEJKOVIĆ IVAN
+PEJKOVIĆ JASNA
+PEJNOVIĆ BOSILJKA
+PEJNOVIĆ LJUBINKA
+PEJNOVIĆ MILAN
+PEJNOVIĆ MIROSLAV
+PEJNOVIĆ NIKOLA
+PEJNOVIĆ STEVAN
+PEJOVIĆ ĐOKA
+PEJOVIĆ ĐUKAN
+PEJOVIĆ ALEKSANDAR
+PEJOVIĆ ALEKSANDAR
+PEJOVIĆ BOŽIDAR
+PEJOVIĆ BORISLAV
+PEJOVIĆ BORIVOJE
+PEJOVIĆ BORKA
+PEJOVIĆ BOSILJKA
+PEJOVIĆ BRANKA
+PEJOVIĆ DANICA
+PEJOVIĆ DANILO
+PEJOVIĆ DAVID
+PEJOVIĆ DEJAN
+PEJOVIĆ DOBRILA
+PEJOVIĆ DRAGICA
+PEJOVIĆ LJUBO
+PEJOVIĆ MARKO
+PEJOVIĆ MILAN
+PEJOVIĆ MILENA
+PEJOVIĆ MILENA
+PEJOVIĆ MILIJA
+PEJOVIĆ MILOJKA
+PEJOVIĆ MIODRAG
+PEJOVIĆ MIRJANA
+PEJOVIĆ MOMIR
+PEJOVIĆ NADA
+PEJOVIĆ OLGA
+PEJOVIĆ PAVLE
+PEJOVIĆ PETAR
+PEJOVIĆ SAVA
+PEJOVIĆ SLAVKA
+PEJOVIĆ SLOBODANKA
+PEJOVIĆ SLOBODAN
+PEJOVIĆ TOMISLAV
+PEJOVSKI DRAGAN
+PEJOVSKI KOLE
+PEJOVSKI TOMISLAV
+PEKAR DARKO
+PEKAR JANOŠ
+PEKAR MILKA
+PEKAR ROZALIJA
+PEKAROVIĆ DRAGICA
+PEKAS ANTE
+PEKEČ MITA
+PEKEZ BRANKO
+PEKEZ JOVAN
+PEKEZ JOVAN
+PEKEZ MARICA
+PEKEZ MILORAD
+PEKEZ STANA
+PEKEZ ZORA
+PEKIĆ BRANISLAV DR
+PEKIĆ GORAN
+PEKIĆ KRSTO
+PEKIĆ MIHAJLO
+PEKIĆ MILAN
+PEKIĆ MILAN
+PEKIĆ MILOŠ
+PEKIĆ MIRKO
+PEKIĆ STEVAN
+PEKOVIĆ ŽELJKO
+PEKOVIĆ ILIJA
+PEKOVIĆ MAGDALENA
+PEKOVIĆ MILIVOJE
+PEKOVIĆ MITRUŠA
+PEKOVIĆ-PARLAĆ SMILJA DR
+PEKOVIĆ PAVA
+PEKOVIĆ VERA
+PEKOVIĆ VIDA
+PEKOVIĆ VUKAŠIN
+PEKURAR KORNEL
+PEKURAR ROMAN
+PELAGIĆ NADA
+PELAGIĆ SRĐAN
+PELE FERENC
+PELE MARIJA
+PELE ZOLTAN
+PELEGRIN STJEPAN
+PELEGRIN VLADO
+PELEVIĆ BRANKO
+PELHE FRANJA DR
+PELJHA ĐURA
+PELJHA SANJA
+PELJHA ZVONKO
+PELOZA DUŠAN
+PELOZA NADA
+PELVA JOSIP
+PELVA JOVAN
+PELVA ZOLTAN
+PELVAI-ZORIĆ EDIT
+PEMAC BRANISLAV
+PEMAC LAZAR
+PENA MARINKO
+PENA MILAN
+PENA MIODRAG
+PENA RADIVOJ
+PENA SLOBODAN
+PENAC STAKICA
+PENAVIN VELIMIR
+PENC DOBRILA
+PENC IRENA
+PENCA SLAVKO
+PENDŽIĆ BRANISLAV
+PENDŽIĆ JEROSIMA
+PENEZIĆ DUŠAN
+PENEZIĆ NENAD
+PENEZIĆ RADOSLAV
+PENEZIĆ ZORICA
+PENIĆ ČEDOMIR
+PENIĆ ĐURĐICA
+PENIĆ BORISLAV
+PENIĆ BRANKO
+PENIĆ MIHAJLO
+PENIĆ MILEVA
+PENIĆ MILICA
+PENIĆ PAVLE
+PENIĆ SLAVKO
+PENIĆ STEVAN
+PENIĆ VLADIMIR
+PENJAŠKOVIĆ ZVONIMIR
+PENJIN ŽIVA
+PENJIN SLAVKO
+PENOV EMIL
+PENOV LJUBIŠA
+PENOV MARKO
+PENZEŠ ĐORĐE
+PENZEŠ FERENC
+PENZEŠ FERENC
+PENZEŠ MIHALJ
+PENZEŠ MIHALJ
+PENZEŠ TIBOR
+PEPIĆ LAZO
+PEPIĆ MILAN
+PEPIĆ MILE
+PEPIĆ MIRJANA
+PEPIĆ MIRKO
+PEPLINAC TOMA
+PERČI AGNEZA
+PERČIĆ DRAGAN
+PERŠ KSENIJA
+PERŠAJ MIRJANA
+PERŠIĆ DANICA
+PERŠIĆ VALERIJA
+PERĐEĐAJ BAŠKIM
+PERĐUN ZVONKO
+PERAĆ BRANKO
+PERAĆ LJUPKO
+PERAZIĆ SAVA
+PERAZIĆ VLADIMIR
+PERC BRANKA
+PERC ELA
+PERC VLADIMIR
+PERCE LUKA
+PERDAN STANISLAV
+PEREŠ HERMINA
+PEREŽA NIKOLA
+PEREGI GEZA
+PEREGI OSKAR
+PEREHINAC IVAN
+PERENČEVIĆ VASO
+PEREPATIĆ PIROŠ
+PEREPATIĆ STEVAN
+PEREULA BOGDAN
+PERGAL MIROSLAV DR ING
+PERGE ESTER
+PERGE MARA
+PERGE VIKTORIJA
+PERIČEVIĆ BRANKO
+PERIČEVIĆ RAJKO
+PERIČIN ŽIVAN
+PERIČIN MILANKA
+PERIČIN MILENKO
+PERIČIN RATKO
+PERIČIN VLADA
+PERIŠA JAKOV
+PERIŠA MIROSLAV
+PERIŠIĆ ČEDOMIR
+PERIŠIĆ ŽIVODARKA
+PERIŠIĆ ĐORĐE
+PERIŠIĆ ĐORĐE
+PERIŠIĆ ALEKSANDAR
+PERIŠIĆ ANICA
+PERIŠIĆ BLAŽO
+PERIŠIĆ BLAGOJE
+PERIŠIĆ BOBAN
+PERIŠIĆ BORISLAV
+PERIŠIĆ BRANKO
+PERIŠIĆ DANICA
+PERIŠIĆ DRAGOMIR
+PERIŠIĆ DUŠANKA
+PERIŠIĆ IRENA
+PERIŠIĆ KATICA
+PERIŠIĆ KATICA
+PERIŠIĆ LAZAR
+PERIŠIĆ LAZAR
+PERIŠIĆ LAZAR
+PERIŠIĆ LAZA
+PERIŠIĆ LJUBOMIR
+PERIŠIĆ MANCIKA
+PERIŠIĆ MARA
+PERIŠIĆ MIHAJLO
+PERIŠIĆ MILAN
+PERIŠIĆ MILENKO
+PERIŠIĆ MILINKO
+PERIŠIĆ MILJA
+PERIŠIĆ MILOVAN
+PERIŠIĆ MILOVAN
+PERIŠIĆ MILUTIN
+PERIŠIĆ MIODRAG
+PERIŠIĆ MIRA
+PERIŠIĆ NIKOLA
+PERIŠIĆ RADE
+PERIŠIĆ RADOSLAVA
+PERIŠIĆ RADOSLAV
+PERIŠIĆ RANKO
+PERIŠIĆ STANKO
+PERIŠIĆ STEVO
+PERIŠIĆ STOJAN
+PERIŠIĆ SVETOZAR
+PERIŠIĆ TODOR
+PERIŠIĆ UGLJEŠA
+PERIŠIĆ VASO
+PERIŠIĆ VASO
+PERIĆ ŽARKO
+PERIĆ ŽIVKA
+PERIĆ ŽIVOJIN
+PERIĆ ĐORĐE
+PERIĆ ĐURICA
+PERIĆ ALEKSANDAR
+PERIĆ ANA
+PERIĆ BISERKA
+PERIĆ BOŽIDAR
+PERIĆ BOŽIDAR
+PERIĆ BORIS
+PERIĆ BRANISLAV
+PERIĆ BRANISLAV
+PERIĆ BRANKO
+PERIĆ CVIJETIN
+PERIĆ DOBRILA
+PERIĆ DRAGANA
+PERIĆ DUŠANKA
+PERIĆ DUŠAN
+PERIĆ DUŠAN
+PERIĆ GOJKO DIPL ING
+PERIĆ GORAN
+PERIĆ IVAN
+PERIĆ JANKO
+PERIĆ JELKA
+PERIĆ JOVANKA
+PERIĆ JOVAN
+PERIĆ KSENIJA
+PERIĆ LAZA
+PERIĆ LJUBIŠA
+PERIĆ LJUBICA
+PERIĆ LJUBINKA
+PERIĆ LJUBINKO
+PERIĆ LJUBOMIR
+PERIĆ MARA
+PERIĆ MARIJA
+PERIĆ MARIJA
+PERIĆ MARIJA
+PERIĆ MARINKO
+PERIĆ MARKO
+PERIĆ MIHA
+PERIĆ MILADIN
+PERIĆ MILAN
+PERIĆ MILENKO
+PERIĆ MILICA
+PERIĆ MILKICA
+PERIĆ MILOŠ
+PERIĆ MILOŠ
+PERIĆ MILORAD
+PERIĆ MIODRAG
+PERIĆ MITAR
+PERIĆ NATAŠA
+PERIĆ-NEŠIĆ COKA
+PERIĆ NIKOLA
+PERIĆ NIKOLA
+PERIĆ NIKOLA
+PERIĆ NIKOLA
+PERIĆ PAVLE
+PERIĆ PETAR
+PERIĆ RAŠA
+PERIĆ RADE
+PERIĆ RADIVOJ
+PERIĆ RADO
+PERIĆ RAJKO
+PERIĆ RODOLJUB
+PERIĆ RUŽICA
+PERIĆ SAVA
+PERIĆ SAVA
+PERIĆ SLAVICA
+PERIĆ SLAVKO
+PERIĆ SLOBODAN
+PERIĆ SLOBODAN
+PERIĆ SMILJA
+PERIĆ STANKA
+PERIĆ SVETOZAR
+PERIĆ TOMISLAV
+PERIĆ VASA
+PERIĆ VINKA
+PERIĆ VLATKO
+PERIĆ ZDENKA
+PERIĆ ZORAN
+PERIĆ ZORAN
+PERIĆ ZORA
+PERICA ANTE
+PERICA RADOSLAV
+PERIN BRANISLAV
+PERIN DRAGIŠA
+PERIN MILINKO
+PERIN MILORAD
+PERIN RADIŠA
+PERIN SEKULA
+PERIN ZORA
+PERINAC RADOVAN
+PERINAC RADOVAN
+PERINOVIĆ BRANKO
+PERINOVIĆ NADA
+PERINOVIĆ SLAVICA
+PERINOVIĆ SLAVKO
+PERINOVIĆ STANKO
+PERIZ STEVO
+PERKOV RADINKA
+PERKOVAC MARIJA
+PERKOVIĆ BRANIMIR
+PERKOVIĆ BRANISLAV
+PERKOVIĆ DANICA
+PERKOVIĆ DRAGAN
+PERKOVIĆ GVOZDEN
+PERKOVIĆ JELKA
+PERKOVIĆ RADIVOJ
+PERKOVIĆ RADOMAN MR
+PERKOVIĆ SLAVKO
+PERKOVIĆ TADIJA
+PERKOVIĆ TOMO
+PERKOVSKI ĐORĐE
+PERKOVSKI ANĐELKO
+PERKUČIN ĐORĐE
+PERKUČIN ĐULINKA
+PERKUČIN DUŠAN
+PERKUČIN GORDANA
+PERKUČIN KATICA
+PERKUČIN NIKOLA
+PERKUČIN RADIVOJ DR
+PERLAKI LAJOŠ
+PERLIĆ DRAGAN
+PERLINAC SIMEUN
+PERNJAK NATALIJA
+PERNJAK NIKOLA DIPL ING
+PERNJAKOVIĆ DRAGOSLAV
+PEROŠEVIĆ NOVICA
+PEROŠEVIĆ STANKA
+PEROSAVLJEVIĆ LJUBIŠA
+PEROVANOVIĆ ALEKSANDAR
+PEROVANOVIĆ DUŠAN
+PEROVANOVIĆ JAGODA
+PEROVIĆ ŽANKA
+PEROVIĆ ANĐELKA
+PEROVIĆ BOJANA
+PEROVIĆ BRANKO
+PEROVIĆ BRATIMIR
+PEROVIĆ DRAGO
+PEROVIĆ GABRIELA
+PEROVIĆ IVANKA
+PEROVIĆ JELA
+PEROVIĆ JOVAN
+PEROVIĆ KATARINA
+PEROVIĆ MARKO
+PEROVIĆ MILENKO DR
+PEROVIĆ MILORAD
+PEROVIĆ MLAĐEN
+PEROVIĆ NADEŽDA
+PEROVIĆ NIKOLA
+PEROVIĆ RADAŠIN
+PEROVIĆ RADISAV
+PEROVIĆ RADISLAV
+PEROVIĆ RADIVOJE
+PEROVIĆ RADIVOJ
+PEROVIĆ RADOVAN DIPL ING
+PEROVIĆ SVETOMIR
+PEROVIĆ VESELIN
+PEROVIĆ VLAJKO
+PERTIĆ ZAKARIAŠ
+PERTOT JELENA
+PERUNIČIĆ DOBRILA
+PERUNIČIĆ MILORAD
+PERUNIČIĆ RADAN
+PERUNOVIĆ LJILJANA
+PERUNOVIĆ PANTO
+PERUNOVIĆ STANOJE
+PERVAZ ŽIVKA
+PERVAZ DRAGINJA DR PROF
+PESIRAC DRAGOLJUB
+PESIRAC KATARINA
+PESIRAC PETAR
+PESIRAC STEVAN
+PESLAĆ JOVAN
+PESTALIĆ JOSIP
+PESTELEK LJUBIŠA
+PESTELEK LJUBIŠA
+PETAKOV ŽIVKO
+PETAKOV JULKA
+PETAKOV MILENKO
+PETAKOV RADOSLAV
+PETAKOV RANKA
+PETAKOV SAVA
+PETAKOVIĆ DOBRILA
+PETAKOVIĆ DUŠAN
+PETAKOVIĆ ILIJA
+PETAKOVIĆ JOVAN
+PETAKOVIĆ MILICA
+PETAKOVIĆ NEMANJA
+PETAKOVIĆ RADIVOJ
+PETAKOVIĆ RAJKO
+PETAKOVIĆ SAVA
+PETE ĐURA
+PETE ĐURA
+PETE DUŠANKA
+PETE FERENC
+PETE FERENC
+PETE FRANJA
+PETE IŠTVAN
+PETE IŠTVAN
+PETE IŠTVAN
+PETE KAROLJ
+PETE PETAR
+PETE STEPAN
+PETE STEVAN
+PETEJ RATKO
+PETEK DAMIR
+PETELIN ELIZABETA
+PETENJI JOSIP DR
+PETENJI STEVAN
+PETER FRANCIŠKA
+PETER JOŽEF
+PETER JOLAN
+PETER JOVAN
+PETER MIHALJ
+PETER VILMOŠ
+PETERKA ĐORĐE
+PETERKA JELENA
+PETERKA JOSIP
+PETERKA MARIJA
+PETERKA STEVAN
+PETERKA VLADISLAV
+PETERLIĆ MILAN
+PETERNEL LIDIJA
+PETIĆ MILAN
+PETIĆ ZORKA
+PETIJEVIĆ JOVAN MR
+PETIJEVIĆ JOVAN
+PETIN NIKOLA PROFESOR
+PETKANIĆ MILORAD
+PETKOV ŽARE
+PETKOV ĐORĐE
+PETKOV ĐURA
+PETKOV BORISLAV
+PETKOV IVAN
+PETKOV MILAN
+PETKOV NADEŽDA
+PETKOV SAVA
+PETKOV STEVAN
+PETKOV STEVA
+PETKOVIĆ ČEDA
+PETKOVIĆ ŽARKO
+PETKOVIĆ ŽELJKO
+PETKOVIĆ ŽIVORAD
+PETKOVIĆ ŽIVORAD
+PETKOVIĆ ĐORĐE DR
+PETKOVIĆ ĐORĐE
+PETKOVIĆ ĐORĐE
+PETKOVIĆ ĐORĐE
+PETKOVIĆ ĐORĐE
+PETKOVIĆ ĐULA
+PETKOVIĆ ĐURAĐ
+PETKOVIĆ ALEKSANDAR
+PETKOVIĆ ANA
+PETKOVIĆ ANTUN
+PETKOVIĆ BOJANA
+PETKOVIĆ BORISLAV
+PETKOVIĆ BORKO
+PETKOVIĆ BRANKO
+PETKOVIĆ BRANKO
+PETKOVIĆ BRANKO
+PETKOVIĆ BRANKO
+PETKOVIĆ CVETKO
+PETKOVIĆ DARINKA
+PETKOVIĆ DRAGAN
+PETKOVIĆ DRAGAN
+PETKOVIĆ DRAGIŠA
+PETKOVIĆ DRAGICA
+PETKOVIĆ DRAGOLJUB
+PETKOVIĆ DUŠAN
+PETKOVIĆ DUŠAN
+PETKOVIĆ DUŠAN
+PETKOVIĆ GORDANA
+PETKOVIĆ GVOZDEN
+PETKOVIĆ IŠTVAN
+PETKOVIĆ ILIJA
+PETKOVIĆ ILIJA
+PETKOVIĆ ILJA
+PETKOVIĆ IRENA
+PETKOVIĆ JAGODA
+PETKOVIĆ JOSIP
+PETKOVIĆ JOVAN
+PETKOVIĆ JOVO
+PETKOVIĆ KALMAN
+PETKOVIĆ KATARINA
+PETKOVIĆ KOSTADIN
+PETKOVIĆ KRSTA
+PETKOVIĆ LAZAR
+PETKOVIĆ LAZAR
+PETKOVIĆ LAZAR
+PETKOVIĆ LAZO
+PETKOVIĆ LJUBINKO
+PETKOVIĆ LJUBOMIR
+PETKOVIĆ MARKO
+PETKOVIĆ MIHAJLO
+PETKOVIĆ MILANA
+PETKOVIĆ MILAN
+PETKOVIĆ MILAN
+PETKOVIĆ MILAN
+PETKOVIĆ MILAN
+PETKOVIĆ MILAN
+PETKOVIĆ MILICA
+PETKOVIĆ MILKA
+PETKOVIĆ MILORAD
+PETKOVIĆ MILORAD
+PETKOVIĆ MILOVANKA
+PETKOVIĆ MILUTIN
+PETKOVIĆ MILUTIN
+PETKOVIĆ MILUTIN
+PETKOVIĆ MIODRAG
+PETKOVIĆ MIODRAG
+PETKOVIĆ MIODRAG
+PETKOVIĆ MIORIKA
+PETKOVIĆ MIRA
+PETKOVIĆ MIRJANA DIPL ING
+PETKOVIĆ MIRJANA
+PETKOVIĆ MIRKO
+PETKOVIĆ MIRKO
+PETKOVIĆ MIRKO
+PETKOVIĆ MLADEN
+PETKOVIĆ MLADEN
+PETKOVIĆ MLADEN
+PETKOVIĆ NADA
+PETKOVIĆ NIKO
+PETKOVIĆ OBRAD
+PETKOVIĆ OLIVERA
+PETKOVIĆ PAVLE
+PETKOVIĆ PAVLE
+PETKOVIĆ PAVLE
+PETKOVIĆ PETAR
+PETKOVIĆ PETAR
+PETKOVIĆ PETAR
+PETKOVIĆ PETRA
+PETKOVIĆ PUNIŠA
+PETKOVIĆ RADE
+PETKOVIĆ RADIVOJ
+PETKOVIĆ RADOVAN
+PETKOVIĆ RADOVAN
+PETKOVIĆ RATKA
+PETKOVIĆ SLAVKO
+PETKOVIĆ SLOBODAN
+PETKOVIĆ SLOBODAN
+PETKOVIĆ SRĐAN
+PETKOVIĆ STANA
+PETKOVIĆ STANOJE
+PETKOVIĆ STEVAN
+PETKOVIĆ STEVAN
+PETKOVIĆ SVETISLAV
+PETKOVIĆ TOMISLAV
+PETKOVIĆ TOMISLAV
+PETKOVIĆ VASILIJE
+PETKOVIĆ VERA
+PETKOVIĆ VERICA
+PETKOVIĆ VESELIN
+PETKOVIĆ VLADIMIR
+PETKOVIĆ VLADIMIR
+PETKOVIĆ VLADIMIR
+PETKOVIĆ VLADISLAV
+PETKOVIĆ VOJISLAV
+PETKOVIĆ VUKAŠIN
+PETKOVIĆ VUKOSAVA
+PETKOVIĆ ZLATKO
+PETKOVIĆ ZLATOMIR
+PETKOVIĆ ZORAN
+PETKOVSKA SLAVICA
+PETKOVSKI ACA
+PETKOVSKI GORAN
+PETKOVSKI MILKA
+PETKOVSKI STANKO
+PETLEK JOVAN
+PETLJANSKI BRANKO
+PETLJANSKI DRAGOSLAV
+PETLJANSKI IRENA
+PETO JOŽEF
+PETOŠEVIĆ MILE
+PETOŠEVIĆ SLAVKO
+PETOŠEVIĆ STEVAN
+PETOŠEVIĆ SVETISLAV
+PETOHLEB PAVICA
+PETOJEVIĆ ĐORĐE
+PETOVIĆ ĐURO
+PETOVIĆ GOJKO
+PETOVIĆ MILENA
+PETOVIĆ SLAVKO
+PETRAŠINOVIĆ DRAGAN
+PETRAŠKOVIĆ DRAGAN
+PETRAŠKOVIĆ EMILIJA
+PETRAKOVIĆ-GRAOVAC KOSANA
+PETRANOVIĆ JOSIP
+PETRANOVIĆ MAGDA
+PETRANOVIĆ ZVONKO
+PETREŠ FRANJO
+PETREŠ RADE
+PETRENJ STEVAN
+PETREVSKA ZORANKA
+PETREVSKI BORIS
+PETREVSKI ILONA
+PETREVSKI KIRO
+PETRI MILENA
+PETRI MIROSLAVA
+PETRIČEVIĆ IVAN
+PETRIČIĆ BRANKO
+PETRIČIĆ DANE
+PETRIČIĆ JOVO
+PETRIČIĆ MILAN
+PETRIČIĆ MILAN
+PETRIČIĆ STEVAN
+PETRIČIĆ TATJANA
+PETRIĆ ĐORĐE
+PETRIĆ ALEKSANDAR
+PETRIĆ ANASTAZIJA
+PETRIĆ BOŠKO
+PETRIĆ BRANISLAVA
+PETRIĆ BRANKO DR
+PETRIĆ DANILO
+PETRIĆ DESANKA DIPL ING
+PETRIĆ DESIMIR
+PETRIĆ DIMITRIJE DIPL ING
+PETRIĆ DIMITRIJE
+PETRIĆ DIMITRIJE
+PETRIĆ DUŠANKA
+PETRIĆ DUŠAN
+PETRIĆ ILIJA
+PETRIĆ JOVAN
+PETRIĆ LAZAR MR
+PETRIĆ LJILJANA
+PETRIĆ LJUBICA
+PETRIĆ MILAN
+PETRIĆ MILAN
+PETRIĆ MILENKO
+PETRIĆ MILETA
+PETRIĆ MILIVOJ
+PETRIĆ MILORAD
+PETRIĆ NADA
+PETRIĆ OLGA
+PETRIĆ PETAR
+PETRIĆ PETAR
+PETRIĆ RADISAV
+PETRIĆ RADISAV
+PETRIĆ RADOVAN
+PETRIĆ SLAVICA
+PETRIĆ SLOBODANKA
+PETRIĆ SLOBODAN
+PETRIĆ SOFIJA
+PETRIĆ SOFIJA
+PETRIĆ VASILIJE
+PETRIĆ VULETA
+PETRIK ŠANDOR
+PETRIK ALEKSANDAR DIPL ING
+PETRIK ELIZABETA
+PETRIK IŠTVAN
+PETRIK VINCE
+PETRIK ZOLTAN
+PETRIKA LJUBIŠA
+PETRIKA MIODRAG
+PETRIKONJA KSENIJA
+PETRIKONJA LAZAR
+PETRIN DUŠAN
+PETRIN KATICA
+PETRIN MAJA
+PETRIN MILANKA
+PETRIN MILANKA
+PETRIN RADMILA
+PETRIN VLADIMIR
+PETRIN VLADIMIR
+PETRINIĆ MIRKO
+PETRINOVIĆ MILINA
+PETRINOVIĆ STEVA
+PETRO ANTE
+PETRO KATALIN
+PETRO NIKO
+PETRO SANJA
+PETRONIĆ ŽIVOTA
+PETRONIĆ ALEKSANDAR
+PETRONIĆ KATARINA
+PETRONIJEVIĆ DRAGOMIR
+PETRONIJEVIĆ GORAN
+PETRONIJEVIĆ PREDRAG
+PETRONIJEVIĆ SRETA
+PETRONIJEVIĆ VLASTIMIR
+PETRONJE MIODRAG
+PETRONJE MIODRAG
+PETROV ŽIVANA
+PETROV ŽIVAN
+PETROV ANATOLIJ
+PETROV ANA
+PETROV BORIS
+PETROV DANICA
+PETROV DUŠANKA
+PETROV DUŠAN
+PETROV EVICA
+PETROV FRANKA
+PETROV IŠTVAN
+PETROV IVAN
+PETROV JASMINA
+PETROV JELENA
+PETROV JOŽEF
+PETROV LAZAR
+PETROV LJUBOMIR
+PETROV LJUBOMIR
+PETROV MARIJA
+PETROV MARIJA
+PETROV MARINKO
+PETROV MILAN
+PETROV MILENKO
+PETROV MILICA
+PETROV MILORAD
+PETROV MILOSAVA
+PETROV MILOVAN
+PETROV MIODRAG
+PETROV MIODRAG
+PETROV MIROSLAV
+PETROV MOMČILO
+PETROV NADA
+PETROV NATALIJA
+PETROV NEBOJŠA DR
+PETROV OLGA
+PETROV RADMILA
+PETROV SAŠA
+PETROV SAVA
+PETROV SAVA
+PETROV SAVA
+PETROV SERGIJE
+PETROV SLAVKA
+PETROV SLAVKO
+PETROV SLOBODAN
+PETROV SRBIVOJ
+PETROV STEVAN
+PETROV SVETOZAR
+PETROV TOMISLAV
+PETROV VASO
+PETROV VELIZAR
+PETROV VLADIMIR
+PETROV VOJISLAV
+PETROV VOJISLAV
+PETROV ZLATOMIR
+PETROVČAN-ŠPANOVIĆ EUFEMIJA
+PETROVAČKI DUŠAN
+PETROVAČKI JOVAN
+PETROVAČKI LJILJANA
+PETROVAČKI VERA
+PETROVIĆ ČEDA
+PETROVIĆ ŠTEFAN
+PETROVIĆ ŽARKO
+PETROVIĆ ŽARKO
+PETROVIĆ ŽARKO
+PETROVIĆ ŽARKO
+PETROVIĆ ŽELJKO
+PETROVIĆ ŽELJKO
+PETROVIĆ ŽIKA
+PETROVIĆ ŽIVAN
+PETROVIĆ ŽIVKA
+PETROVIĆ ŽIVKA
+PETROVIĆ ŽIVKO
+PETROVIĆ ŽIVKO
+PETROVIĆ ŽIVOJIN
+PETROVIĆ ŽIVORAD
+PETROVIĆ ŽIVOTA
+PETROVIĆ ĐOKICA
+PETROVIĆ ĐORĐE
+PETROVIĆ ĐORĐE
+PETROVIĆ ĐORĐE
+PETROVIĆ ĐORĐE
+PETROVIĆ ĐORĐE
+PETROVIĆ ĐORĐE
+PETROVIĆ ĐORĐE
+PETROVIĆ ĐURA
+PETROVIĆ ALEKSANDAR
+PETROVIĆ ALEKSANDAR
+PETROVIĆ ALEKSANDAR
+PETROVIĆ ALEKSANDAR
+PETROVIĆ ALEKSANDRA
+PETROVIĆ ALEKSANDRA
+PETROVIĆ ALINKA
+PETROVIĆ ANĐELKA
+PETROVIĆ ANA
+PETROVIĆ ANGELINA
+PETROVIĆ ANICA
+PETROVIĆ ANKA
+PETROVIĆ ANKA
+PETROVIĆ-BALIŽ LJILJANA
+PETROVIĆ BILJANA
+PETROVIĆ BOŠKO
+PETROVIĆ BOŽIDAR
+PETROVIĆ BOGDAN
+PETROVIĆ BOGDAN
+PETROVIĆ BOJANA
+PETROVIĆ BOSILJKA
+PETROVIĆ BOSILJKA
+PETROVIĆ BRANIMIR
+PETROVIĆ BRANISLAVA
+PETROVIĆ BRANISLAVA
+PETROVIĆ BRANISLAV
+PETROVIĆ BRANISLAV
+PETROVIĆ BRANISLAV
+PETROVIĆ BRANISLAV
+PETROVIĆ BRANISLAV
+PETROVIĆ BRANISLAV
+PETROVIĆ BRANISLAV
+PETROVIĆ BRANISLAV
+PETROVIĆ BRANKA
+PETROVIĆ BRANKO
+PETROVIĆ BRANKO
+PETROVIĆ BRANKO
+PETROVIĆ BRANKO
+PETROVIĆ CVIKO
+PETROVIĆ DAMIR
+PETROVIĆ DAMIR
+PETROVIĆ DANICA
+PETROVIĆ DANICA
+PETROVIĆ DANICA
+PETROVIĆ DARA
+PETROVIĆ DARINKA
+PETROVIĆ DARINKA
+PETROVIĆ DEJAN
+PETROVIĆ DESANKA
+PETROVIĆ DESIMIR
+PETROVIĆ DIMITRIJE
+PETROVIĆ DOBRICA
+PETROVIĆ DRAGAN
+PETROVIĆ DRAGAN
+PETROVIĆ DRAGAN
+PETROVIĆ DRAGAN
+PETROVIĆ DRAGAN
+PETROVIĆ DRAGAN
+PETROVIĆ DRAGAN
+PETROVIĆ DRAGAN
+PETROVIĆ DRAGIŠA DIPL PRAVNIK
+PETROVIĆ DRAGIŠA
+PETROVIĆ DRAGIĆ
+PETROVIĆ DRAGINJA
+PETROVIĆ DRAGOLJUB DR
+PETROVIĆ DRAGOLJUB
+PETROVIĆ DRAGOLJUB
+PETROVIĆ DRAGOMIR
+PETROVIĆ DRAGOSLAV
+PETROVIĆ DUŠAN
+PETROVIĆ DUŠAN
+PETROVIĆ DUŠAN
+PETROVIĆ DUŠAN
+PETROVIĆ DUŠAN
+PETROVIĆ DUŠAN
+PETROVIĆ DUŠAN
+PETROVIĆ DUŠAN
+PETROVIĆ DUŠAN
+PETROVIĆ DUŠAN
+PETROVIĆ DUŠICA
+PETROVIĆ DUŠKO
+PETROVIĆ EVA
+PETROVIĆ EVGENIJE
+PETROVIĆ EVICA
+PETROVIĆ FABIJAN
+PETROVIĆ GAVRILO
+PETROVIĆ GORDANA
+PETROVIĆ GORDANA
+PETROVIĆ GRADIMIR
+PETROVIĆ GRADIMIR
+PETROVIĆ HRISTINA
+PETROVIĆ ILIJA
+PETROVIĆ ILIJA
+PETROVIĆ ILIJA
+PETROVIĆ ILONA
+PETROVIĆ ISAK
+PETROVIĆ IVANKA
+PETROVIĆ IVAN
+PETROVIĆ IVAN
+PETROVIĆ IVAN
+PETROVIĆ IVAN
+PETROVIĆ IVAN
+PETROVIĆ JANKO
+PETROVIĆ JASMINKA
+PETROVIĆ JELENA
+PETROVIĆ JELICA
+PETROVIĆ JELISAVETA
+PETROVIĆ JEVREM
+PETROVIĆ JOŽEF
+PETROVIĆ JOVANKA
+PETROVIĆ JOVANKA
+PETROVIĆ JOVAN
+PETROVIĆ JOVAN
+PETROVIĆ JOVAN
+PETROVIĆ JOVAN
+PETROVIĆ JOVAN
+PETROVIĆ JOVAN
+PETROVIĆ JOVAN
+PETROVIĆ JOVAN
+PETROVIĆ JOVAN
+PETROVIĆ JOVAN
+PETROVIĆ KATICA
+PETROVIĆ KATICA
+PETROVIĆ KATICA
+PETROVIĆ KATICA
+PETROVIĆ KOSTA DR
+PETROVIĆ KRSTO
+PETROVIĆ LAZAR
+PETROVIĆ LAZAR
+PETROVIĆ LENKA
+PETROVIĆ LIDA
+PETROVIĆ LJILJANA
+PETROVIĆ LJILJANA
+PETROVIĆ LJILJANA
+PETROVIĆ LJILJANA
+PETROVIĆ LJUBIŠA
+PETROVIĆ LJUBICA
+PETROVIĆ LJUBICA
+PETROVIĆ LJUBICA
+PETROVIĆ LJUBINKA
+PETROVIĆ LJUBISAV
+PETROVIĆ LJUBOMIR
+PETROVIĆ LJUBOMIR
+PETROVIĆ MARA
+PETROVIĆ MARICA
+PETROVIĆ MARIJA
+PETROVIĆ MARIJA
+PETROVIĆ MARIKA
+PETROVIĆ MARKO
+PETROVIĆ MARKO
+PETROVIĆ MARKO
+PETROVIĆ MARKO
+PETROVIĆ MIAJLO
+PETROVIĆ MICA
+PETROVIĆ MIHAILO
+PETROVIĆ MIHAILO
+PETROVIĆ MIHAJLO DR VETERINE
+PETROVIĆ MIJOMIR
+PETROVIĆ MILADIN
+PETROVIĆ MILANKA
+PETROVIĆ MILANKO
+PETROVIĆ MILANKO
+PETROVIĆ MILAN
+PETROVIĆ MILAN
+PETROVIĆ MILAN
+PETROVIĆ MILAN
+PETROVIĆ MILAN
+PETROVIĆ MILAN
+PETROVIĆ MILAN
+PETROVIĆ MILENA
+PETROVIĆ MILENKO
+PETROVIĆ MILENKO
+PETROVIĆ MILENKO
+PETROVIĆ MILEN
+PETROVIĆ MILEVA
+PETROVIĆ MILE
+PETROVIĆ MILIĆ
+PETROVIĆ MILICA
+PETROVIĆ MILICA
+PETROVIĆ MILICA
+PETROVIĆ MILIVOJ
+PETROVIĆ MILOŠ DR
+PETROVIĆ MILOŠ DR
+PETROVIĆ MILOŠ
+PETROVIĆ MILOJE
+PETROVIĆ MILOJKO
+PETROVIĆ MILOLJUB
+PETROVIĆ MILORAD
+PETROVIĆ MILORAD
+PETROVIĆ MILOVAN
+PETROVIĆ MILOVAN
+PETROVIĆ MILOVAN
+PETROVIĆ MILUN
+PETROVIĆ MILUN
+PETROVIĆ MILUTIN
+PETROVIĆ MILUTIN
+PETROVIĆ MILUTIN
+PETROVIĆ MIODRAG
+PETROVIĆ MIODRAG
+PETROVIĆ MIODRAG
+PETROVIĆ MIOLJUB
+PETROVIĆ MIOMIR
+PETROVIĆ MIRČEA
+PETROVIĆ MIRJANA
+PETROVIĆ MIRJANA
+PETROVIĆ MIRKO
+PETROVIĆ MIROSLAV DR LEKAR
+PETROVIĆ MIROSLAVA
+PETROVIĆ MIROSLAVKA
+PETROVIĆ MIROSLAV
+PETROVIĆ MIROSLAV
+PETROVIĆ MLAĐEN
+PETROVIĆ MLADEN
+PETROVIĆ MLADEN
+PETROVIĆ MOMČILO
+PETROVIĆ MOMČILO
+PETROVIĆ MOMČILO
+PETROVIĆ MOMČILO
+PETROVIĆ NADA
+PETROVIĆ NADA
+PETROVIĆ NADA
+PETROVIĆ NADIRA
+PETROVIĆ NATALIJA
+PETROVIĆ NENAD
+PETROVIĆ NEVENA
+PETROVIĆ NEVENKA DR
+PETROVIĆ NIKOLA
+PETROVIĆ NIKOLA
+PETROVIĆ NOVAK
+PETROVIĆ NOVICA
+PETROVIĆ OBRAD
+PETROVIĆ OLGA
+PETROVIĆ OLGICA
+PETROVIĆ OLIVERA
+PETROVIĆ PAJA
+PETROVIĆ PANTELIJA
+PETROVIĆ PERSIDA
+PETROVIĆ PETAR
+PETROVIĆ PETAR
+PETROVIĆ PETAR
+PETROVIĆ PETAR
+PETROVIĆ PETAR
+PETROVIĆ PETAR
+PETROVIĆ PETAR
+PETROVIĆ PETAR
+PETROVIĆ PETAR
+PETROVIĆ PETAR
+PETROVIĆ PETAR
+PETROVIĆ PETRIJA
+PETROVIĆ PLAMENKA
+PETROVIĆ-POPADIĆ MILAN
+PETROVIĆ PREDRAG
+PETROVIĆ PRVOSLAV
+PETROVIĆ RADA
+PETROVIĆ RADE
+PETROVIĆ RADIŠA DIPL ING
+PETROVIĆ RADIŠA
+PETROVIĆ RADIŠA
+PETROVIĆ RADIVOJE
+PETROVIĆ RADIVOJ
+PETROVIĆ RADIVOJ
+PETROVIĆ RADMILA
+PETROVIĆ RADMILA
+PETROVIĆ RADMILA
+PETROVIĆ RADMILA
+PETROVIĆ RADMILA
+PETROVIĆ RADOJKA
+PETROVIĆ RADOMIR
+PETROVIĆ RADOMIR
+PETROVIĆ RADOMIR
+PETROVIĆ RADOMIR
+PETROVIĆ RADOSAV
+PETROVIĆ RADOSLAV
+PETROVIĆ RADOSLAV
+PETROVIĆ RAJKO
+PETROVIĆ RAJKO
+PETROVIĆ RANKO
+PETROVIĆ RANKO
+PETROVIĆ RATKO
+PETROVIĆ RATKO
+PETROVIĆ RATOMIR
+PETROVIĆ RISTO
+PETROVIĆ RODOLJUB
+PETROVIĆ ROSA
+PETROVIĆ RUŽA
+PETROVIĆ RUŽICA
+PETROVIĆ RUZMARINKA
+PETROVIĆ SAVAN
+PETROVIĆ SAVA
+PETROVIĆ SAVA
+PETROVIĆ SAVA
+PETROVIĆ SIMA
+PETROVIĆ SIMEUN
+PETROVIĆ SIMO
+PETROVIĆ SINIŠA
+PETROVIĆ SLAVICA
+PETROVIĆ SLAVKA
+PETROVIĆ SLAVKA
+PETROVIĆ SLAVKO
+PETROVIĆ SLAVKO
+PETROVIĆ SLOBODAN DIPL ING
+PETROVIĆ SLOBODAN DIPL ING
+PETROVIĆ SLOBODAN DR
+PETROVIĆ SLOBODANKA
+PETROVIĆ SLOBODAN
+PETROVIĆ SLOBODAN
+PETROVIĆ SLOBODAN
+PETROVIĆ SLOBODAN
+PETROVIĆ SLOBODAN
+PETROVIĆ SMILJA
+PETROVIĆ SNEŽANA
+PETROVIĆ SOFIJA
+PETROVIĆ SPASE
+PETROVIĆ SPASOJE
+PETROVIĆ SPOMENKA
+PETROVIĆ SRĐAN
+PETROVIĆ STAMENKO
+PETROVIĆ STANIŠA
+PETROVIĆ STANISLAV
+PETROVIĆ STEVAN DIPL ING
+PETROVIĆ STEVAN
+PETROVIĆ STEVAN
+PETROVIĆ STEVAN
+PETROVIĆ STEVAN
+PETROVIĆ STEVAN
+PETROVIĆ STEVAN
+PETROVIĆ STEVAN
+PETROVIĆ STEVAN
+PETROVIĆ STEVAN
+PETROVIĆ STOJADIN
+PETROVIĆ STOJAN
+PETROVIĆ STOJAN
+PETROVIĆ STOJKA
+PETROVIĆ SUZANA DR
+PETROVIĆ SUZANA
+PETROVIĆ SVETISLAV
+PETROVIĆ SVETKO
+PETROVIĆ SVETOZAR
+PETROVIĆ SVETOZAR
+PETROVIĆ SVETOZAR
+PETROVIĆ SVETOZAR
+PETROVIĆ SVETOZAR
+PETROVIĆ TATJANA
+PETROVIĆ TIBOR
+PETROVIĆ TINKA
+PETROVIĆ TODORKA
+PETROVIĆ TOMISLAV
+PETROVIĆ UROŠ
+PETROVIĆ UROŠ
+PETROVIĆ VASA
+PETROVIĆ VASILIJE
+PETROVIĆ VELIBOR
+PETROVIĆ VELIBOR
+PETROVIĆ VELIBOR
+PETROVIĆ VELIMIR
+PETROVIĆ VERA
+PETROVIĆ VERA
+PETROVIĆ VERA
+PETROVIĆ VERA
+PETROVIĆ VERA
+PETROVIĆ VERICA
+PETROVIĆ VESELA
+PETROVIĆ VESELIN
+PETROVIĆ VESNA
+PETROVIĆ VIŠNJA
+PETROVIĆ VIDA
+PETROVIĆ VLADA
+PETROVIĆ VLADE
+PETROVIĆ VLADIMIR
+PETROVIĆ VLADIMIR
+PETROVIĆ VLADISLAVA
+PETROVIĆ VLASTIMIR
+PETROVIĆ VOJIN
+PETROVIĆ VOJIN
+PETROVIĆ VOJISLAV
+PETROVIĆ VOJISLAV
+PETROVIĆ VOJISLAV
+PETROVIĆ VOJKA
+PETROVIĆ VUKAŠIN
+PETROVIĆ VUKICA
+PETROVIĆ ZAGORKA
+PETROVIĆ ZAGORKA
+PETROVIĆ ZAGORKA
+PETROVIĆ ZDENKO
+PETROVIĆ ZDENKO
+PETROVIĆ ZLATAN
+PETROVIĆ ZORAN
+PETROVIĆ ZORAN
+PETROVIĆ ZORAN
+PETROVIĆ ZORAN
+PETROVIĆ ZORAN
+PETROVIĆ ZORAN
+PETROVIĆ ZORAN
+PETROVIĆ ZORA
+PETROVIĆ ZORA
+PETROVIĆ ZORICA
+PETROVIĆ ZORICA
+PETROVIĆ ZORICA
+PETROVIĆ ZORKA
+PETROVSKI BORIS
+PETROVSKI DIMITRIJE
+PETROVSKI EVA
+PETROVSKI FIDANČO
+PETROVSKI HELENA
+PETROVSKI MILADIN
+PETROVSKI MILAN
+PETROVSKI MILODARKA
+PETROVSKI PETAR
+PETROVSKI SLAVKA
+PETRUŠEVIĆ MOMČILO
+PETRUŠEVSKI MOMČILO
+PETRUŠEVSKI NADA
+PETRUŠIĆ-PARIPOVIĆ OLGA
+PETRUŠIĆ VASILJ
+PETRULJESKOV DRAGAN
+PETRULJESKOV DRAGAN
+PEULIĆ LJUBOMIR
+PEULIĆ MIRJANA
+PEULJA VOJIN
+PEURAČA DRAGAN
+PEURAČA MILE
+PEVAČ STJEPAN
+PEVIĆ ERŽEBET
+PEZDEVŠEK JANEZ
+PEZDEVŠEK KARL
+PEZEROVIĆ VELIMIR
+PFAJFER ALEKSANDAR
+PFAJFER ATILA
+PFAJFER PETAR
+PFAJFERT ALEKSANDAR
+PFAU JOVANKA
+PFUNŠTAJN JOSIP
+PIŠKORIĆ IVAN
+PIŠPEK MARTA
+PIŠTALOVIĆ MIHAJLO
+PIŠTALOVIĆ MIRKO
+PIĆURIĆ ŽIVKO
+PIĆURIĆ MIKO
+PIŽURICA MATO
+PIGL ANA
+PIGL IMRE
+PIHAJLIĆ BLAŽ
+PIHLER JOSIP
+PIHLER STANKO DR
+PIHLER TODOR
+PIJANIĆ DANIJEL
+PIJETLOVIĆ BRANO
+PIJETLOVIĆ JOVAN
+PIJUKOVIĆ ELZA
+PIJUKOVIĆ ILIJA
+PIKSIADES ONDREJ
+PIKSIJADES ANA
+PIKSIJADES PAVEL
+PIKSIJADES PAVLE
+PIKULA ĐORĐE
+PIKULA BRANKO
+PIL ANDRIJA
+PIL MIHAJLO
+PIL STEVAN
+PIL TEREZA
+PILAR MARICA
+PILC NANDOR
+PILC REŽE
+PILC ZOLTAN
+PILER KARLO
+PILIŠ ANA
+PILIŠ ANDRAŠ
+PILIŠ JOSIP
+PILIŠER ĐORĐE
+PILIĆ ŽARKO
+PILIĆ ANTON
+PILIĆ BORIVOJ
+PILIĆ BORO
+PILIĆ GAVRA
+PILIĆ JOVAN
+PILIĆ-KALENIĆ MILINKA
+PILIĆ LJILJA
+PILIĆ MILOŠ
+PILIĆ MILUTIN
+PILIĆ RANKO
+PILIĆ SLAVKO
+PILIĆ SRBOLJUB
+PILIĆ STANKO
+PILIĆ STEVAN
+PILIĆ VOJISLAV
+PILIPOV EVA
+PILIPOVIĆ ČEDA
+PILIPOVIĆ ŽIVKO
+PILIPOVIĆ ĐORĐE
+PILIPOVIĆ ĐURA
+PILIPOVIĆ ANĐA
+PILIPOVIĆ BOŠKO
+PILIPOVIĆ BOŽIDAR
+PILIPOVIĆ BRANKO
+PILIPOVIĆ CVIJETA
+PILIPOVIĆ CVIJETA
+PILIPOVIĆ DANE
+PILIPOVIĆ DANICA
+PILIPOVIĆ DANICA
+PILIPOVIĆ DRAGAN
+PILIPOVIĆ DRAGO
+PILIPOVIĆ GORAN
+PILIPOVIĆ JOLAN
+PILIPOVIĆ JOVAN
+PILIPOVIĆ LAZAR
+PILIPOVIĆ LJILJANA
+PILIPOVIĆ LJUBICA
+PILIPOVIĆ LJUBO
+PILIPOVIĆ MARIJA
+PILIPOVIĆ MIHAJLO
+PILIPOVIĆ MIHAJLO
+PILIPOVIĆ MILAN
+PILIPOVIĆ MILAN
+PILIPOVIĆ MILAN
+PILIPOVIĆ MILENKO
+PILIPOVIĆ MILEVA
+PILIPOVIĆ MILOŠ
+PILIPOVIĆ MIRKO
+PILIPOVIĆ NIKOLA
+PILIPOVIĆ PETAR DIPL ING
+PILIPOVIĆ RADE
+PILIPOVIĆ RADE
+PILIPOVIĆ RADIVOJE
+PILIPOVIĆ RADOMIR
+PILIPOVIĆ SLAVKO
+PILIPOVIĆ SPOMENKO
+PILIPOVIĆ STANA
+PILIPOVIĆ STEVAN
+PILIPOVIĆ STEVAN
+PILIPOVIĆ STEVO
+PILIPOVIĆ VOJIN
+PILIPOVIĆ ZORICA
+PILIPOVIĆ ZVONKO
+PILJIĆ MARIJAN
+PILKO IRENA
+PILKO PAVLE
+PILOVIĆ DESIMIR
+PILOVIĆ DUŠANKA
+PILOVIĆ MILAN
+PINĆIR JAN
+PINĆIR VLADIMIR
+PINĆIR ZDENKO
+PINĆJER ONDREJ
+PINĆJER SAMUEL
+PINĆJER SAMUILO
+PINJUŠIĆ ILIJA
+PINJUH MIRJANA
+PINJUH PETAR
+PINTAČ FRANJO
+PINTAČ LADISLAV
+PINTAČ NIKOLA DIPL OEC
+PINTAČ VESNA
+PINTAĆ ĐORĐE
+PINTAĆ MARIJA
+PINTARIĆ JASNA
+PINTARIĆ JOVAN
+PINTER ADRIENE
+PINTER ALEKSANDAR
+PINTER ANDRAŠ
+PINTER BELA
+PINTER BELA
+PINTER FRANJA
+PINTER IMRE
+PINTER JANOŠ
+PINTER KAROLJ
+PINTER KATALIN
+PINTER LENKA
+PINTER LIVIJA
+PINTER MARIJA
+PINTER MIHALJ
+PINTER MIHALJ
+PINTER STEVAN
+PINTER TIBOR
+PINTER VERA
+PINTER VJEKOSLAV
+PIPER VELIBOR
+PIPERAC NADA
+PIPERKOV ANKA
+PIPERSKI ŽIVA
+PIPERSKI ANA
+PIPERSKI DRAGOMIR
+PIPERSKI KOSTA
+PIRC DANICA
+PIRI JANOŠ
+PIRI JOŽEF
+PIRI JOSIP
+PIRI JOSIP
+PIRIĆ IBRAHIM
+PIRIĆ OSMAN
+PIRIĆ ZORA
+PIRIVATRIĆ DUŠANKA
+PIRMAJER JOSIP
+PIROŠKI DRAGICA
+PIROŠKI JULIJANA
+PIROŠKI MIODRAG
+PIROŠKI VASA
+PIRTIĆ KSENIJA
+PIRTIĆ RADINKA
+PIRTIĆ SAVETA
+PIS EDITA
+PISAČIĆ VLADIMIR
+PISAR ŠANDOR
+PISAR DUŠAN
+PISAR JOŽEF
+PISAR LASLO
+PISAREV ĐORĐE
+PISAREV EMILIJA
+PISAREV KATICA
+PISAREV MILAN
+PISAREVIĆ ĐORĐE
+PISAREVIĆ MIRKO
+PISAREVIĆ MIRKO
+PISAREVIĆ MITAR
+PISAREVIĆ SPASENIJA
+PISARIĆ ĐURA
+PISARIĆ ĐURO
+PISARIĆ BLAŽO
+PISARIĆ BRANKO
+PISARIĆ DRAGAN
+PISARIĆ DRAGO
+PISARIĆ NEĐO
+PISARIĆ OSTOJA
+PISARIĆ OSTOJA
+PISARIĆ PAVLE
+PISARIĆ VLADO
+PISAROV ĐORĐE
+PISAROV KATICA
+PISAROV VASA
+PITA MAHMUT
+PITA MAHMUT
+PITOMAČIĆ STOJANKA
+PITOMAČIĆ VLADA
+PITUK NADA
+PIUKOVIĆ IVAN
+PIUKOVIĆ MAGDA
+PIVAČ BOSILJKA
+PIVAC DRAGOLJUB
+PIVAC MILORAD
+PIVAC MILOVAN
+PIVAC ZVONIMIR
+PIVARSKI BRANKA
+PIVARSKI DUŠAN
+PIVARSKI MIODRAG
+PIVARSKI RATOMIR
+PIVARSKI SLAVICA
+PIVARSKI STEVAN
+PIVARSKI VESELIN MR PH
+PIVNIČKI BOGDANKA
+PIVNIČKI BRANISLAV
+PIVNIČKI BRANISLAV
+PIVNIČKI BRANKA
+PIVNIČKI DRAGAN
+PIVNIČKI GORDANA
+PIVNIČKI IVANKA
+PIVNIČKI KATARINA
+PIVNIČKI MARIJA
+PIVNIČKI MILAN
+PIVNIČKI MILETA
+PIVNIČKI RADENKO
+PIVNIČKI RAJKO
+PIVNIČKI STOJKA
+PIVNIČKI SVETOZAR
+PJANIĆ MIHAJLO
+PJANIĆ RISTA
+PJEŠČIĆ BOGOLJUB
+PJEŠČIĆ LEPOSAVA
+PJEŠČIĆ MARIJA
+PJEŠČIĆ MILEVA
+PJEŠČIĆ NOVAK
+PJEŠIVAC ZDRAVKO
+PJETLOVIĆ DRAGICA
+PJEVAČ NIKOLA
+PJEVAC BRANKO
+PJEVAC DUŠAN
+PJEVAC STEVAN
+PJEVAC VLADIMIR
+PJEVAC ZORA
+PJEVALICA UROŠ
+PJEVIĆ ĐURAĐ
+PJEVIĆ BOŽO
+PJEVIĆ MIRKO DR
+PJEVIĆ MIROSLAVA DR
+PLAČKIĆ ŽARKO
+PLAČKIĆ BOŽIDAR
+PLAČKIĆ BRANKO
+PLAČKIĆ MELANIJA
+PLAČKIĆ SLAVKO
+PLAČKIĆ TOMISLAV
+PLAČKO STJEPAN
+PLAČKOV ŽIVKA
+PLAČKOV ĐORĐE
+PLAČKOV BORIVOJ
+PLAČKOV BRANISLAV
+PLAČKOV BRANISLAV
+PLAČKOV BRANISLAV
+PLAČKOV BRANKA
+PLAČKOV DUŠAN
+PLAČKOV ILONKA
+PLAČKOV MILAN
+PLAČKOV MIROLJUB
+PLAČKOV PAJA
+PLAČKOV PERA
+PLAČKOV PETAR
+PLAČKOV RUDOLF
+PLAČKOV SAVA
+PLAČKOV SAVETA
+PLAČKOV SIMA
+PLAČKOV STANIMIR
+PLAČKOV STEVAN
+PLAČKOV STEVA
+PLAČKOV STOJAN
+PLAČKOV SVETOZAR
+PLAČKOV VUKOSAVA
+PLAČKOVIĆ MILAN
+PLAČKOVIĆ PAJA
+PLAC EDO
+PLAKALOVIĆ MILADIN
+PLANČAK AMALIJA
+PLANČAK EUFEMIJA
+PLANČAK EUGEN
+PLANČAK JOVAN
+PLANČAK MIHAJLO
+PLANČAK MIROSLAV DR PROF
+PLANIĆ RADOVAN
+PLANIĆ ZDENKA
+PLANINČIĆ MINA
+PLANINČIĆ VESELIN
+PLANJANIN RADOMIR
+PLANOJEVIĆ MILUTIN DR
+PLANOVIĆ VESNA
+PLATIŠA MILAN
+PLATIŠA MIODRAG
+PLAVŠIĆ ANĐA
+PLAVŠIĆ ANICA
+PLAVŠIĆ ANICA
+PLAVŠIĆ ANKA
+PLAVŠIĆ BOŠKO
+PLAVŠIĆ BOŽA
+PLAVŠIĆ BOŽA
+PLAVŠIĆ BOŽIDAR
+PLAVŠIĆ BOGOMIR
+PLAVŠIĆ BORISLAV
+PLAVŠIĆ BRANISLAV
+PLAVŠIĆ BRANKO
+PLAVŠIĆ BRANKO
+PLAVŠIĆ BRANKO
+PLAVŠIĆ CVIJO
+PLAVŠIĆ DRAGAN
+PLAVŠIĆ DUŠAN
+PLAVŠIĆ DUŠICA
+PLAVŠIĆ GORDANA
+PLAVŠIĆ JELISAVETA
+PLAVŠIĆ JOVANKA
+PLAVŠIĆ JOVAN
+PLAVŠIĆ JOVAN
+PLAVŠIĆ JOVICA
+PLAVŠIĆ KATARINA
+PLAVŠIĆ KRSTA
+PLAVŠIĆ LAZAR
+PLAVŠIĆ LJILJANA
+PLAVŠIĆ LJUBICA
+PLAVŠIĆ LJUBICA
+PLAVŠIĆ LJUBINKA
+PLAVŠIĆ LJUBOMIR
+PLAVŠIĆ LUKA
+PLAVŠIĆ MARIJA
+PLAVŠIĆ MARINKO
+PLAVŠIĆ MARINKO
+PLAVŠIĆ MILENKO
+PLAVŠIĆ MILENKO
+PLAVŠIĆ MILICA
+PLAVŠIĆ MILICA
+PLAVŠIĆ MILINKA
+PLAVŠIĆ MILOŠ
+PLAVŠIĆ MILOMIR
+PLAVŠIĆ MIODRAG
+PLAVŠIĆ MIRKO
+PLAVŠIĆ MIRKO
+PLAVŠIĆ MIROSLAV DR LEKAR
+PLAVŠIĆ MITAR
+PLAVŠIĆ MITA
+PLAVŠIĆ MOMČILO
+PLAVŠIĆ MOMIR
+PLAVŠIĆ NERA
+PLAVŠIĆ NIKOLA
+PLAVŠIĆ NOVKA
+PLAVŠIĆ PAVA
+PLAVŠIĆ PETAR
+PLAVŠIĆ PETAR
+PLAVŠIĆ RADE
+PLAVŠIĆ RADMILA
+PLAVŠIĆ RADOVAN
+PLAVŠIĆ RADOVAN
+PLAVŠIĆ RANKO
+PLAVŠIĆ RANKO
+PLAVŠIĆ SIMA
+PLAVŠIĆ SLOBODAN
+PLAVŠIĆ SLOBODAN
+PLAVŠIĆ STEVAN
+PLAVŠIĆ STEVAN
+PLAVŠIĆ STEVO
+PLAVŠIĆ TODE
+PLAVŠIĆ TODOR
+PLAVŠIĆ VINKO
+PLAVŠIĆ VITOMIR
+PLAVŠIĆ VLADA
+PLAVŠIĆ VOJIN
+PLAVŠIĆ VOJIN
+PLAVŠIĆ VUKOSAVA
+PLAVŠIĆ ZORKA
+PLAVŠIN DUŠAN
+PLAVŠIN MILICA
+PLAVŠIN STEVAN
+PLAVAC ŽELJKO
+PLAVAC DUŠAN
+PLAVAC JANKO
+PLAVC AHMET
+PLAVC BAJRUŠ
+PLAVLJANIN ŽIVKO
+PLAZAČIĆ VIDOJE
+PLAZINA PUNIŠA
+PLEŠA JOSIP
+PLEŠE GORAN
+PLEŠKO ANICA
+PLEŠTIĆ DIMITRIJE
+PLEŠTIĆ MIRJANA
+PLEĆAŠ DANILO
+PLEĆAŠ ILIJA
+PLEĆAŠ KATICA
+PLEĆAŠ MILEVA
+PLEĆAŠ RADE
+PLEĆAŠ ROZALIJA
+PLEMIĆ ĐURO
+PLEMIĆ DANE
+PLEMIĆ MILAN
+PLESKONJA MILOJICA
+PLESKONJIĆ AMALIJA
+PLESKOVIĆ ANTUN
+PLESKOVIĆ NIKOLA
+PLESKOVIĆ ZDRAVKO
+PLETEL KSENIJA
+PLETEL MILAN
+PLETIKAPIĆ DRAGAN
+PLETIKOSIĆ LJERKA
+PLETIKOSIĆ PETAR
+PLETL OTILIJA
+PLISNIĆ MILICA
+PLISNIĆ MILORAD
+PLIVAR JOVAN
+PLJUCO BRANKO
+PLOH DRAGO
+PLOH FRANJA
+PLOJ MARIJA
+PLOS MIODRAG
+PLUŽAREV LAZAR
+PLUŽAREV OLIVERA DR
+PLUŽAROV MILENKO
+PLUKAVEC IVAN
+PLZAK DRAGOSLAV
+POČANIĆ TRIPO
+POČEK BRANISLAV
+POČEK BRANKO
+POČEK LJILJANA
+POČEK MILOVAN
+POČEK VLADA
+POČEK VLADISLAV
+POČEK VLADISLAV
+POČETAK MILENKO
+POČETAK MILICA
+POČUČA DMITAR
+POČUČA DUŠAN
+POČUČA JOVANKA
+POČUČA PETAR
+POČUČA RADMILA
+POŠČIĆ ERIKA
+POŠA ĐURA
+POŠA ANDRAŠ
+POŠA DRAGICA
+POŠA IŠTVAN
+POŠA KARLO
+POŠA PETAR
+POŠA ROZALIJA
+POŠA SNEŽANA
+POŠARAC DUŠKO
+POŠARAC ZORAN
+POŠTA NIKOLA
+POŠTIĆ ĐORĐE DR
+POŠTIĆ DRAGAN
+POŠTIĆ MILAN
+POŠTIĆ SLOBODANKA
+POŠTIĆ SOFIJA
+POŠTIĆ SRĐAN DIPL ING
+POŠTOŠ VERA
+POŽAR MILICA
+POŽAREV ĐORĐE
+POŽAREV ĐORĐE
+POŽAREV ALEKSANDAR
+POŽAREV ANĐELKA
+POŽAREV DORA
+POŽAREV JELENA
+POŽAREV RADE
+POŽAREV RATOMIRKA
+POŽAREV RATOMIR
+POŽAREV STEVAN
+POŽAREV VESELIN
+POŽEGA MILE
+POŽEGA SOFIJA
+POŽEGA STEVAN
+POŽGAJ ANTUN
+POŽGAJ TOMISLAV
+POBOR JELENA
+POBOR SRETO
+POBRAN STEVAN
+POBRAN VLADIMIR
+POBRIĆ ISAK
+POBUĆANOVIĆ-KULJANKIĆ ŠUHRETA
+POBUĐANOVIĆ ILINKA
+POBUĐANOVIĆ MUHAREM
+POBUĐANOVIĆ SVETLANA
+POCAJT VIKTOR
+POCMAN ANTUN
+POCMAN VILIM
+POCRNIĆ MILE
+POCRNIĆ NIKOLA
+PODGORNIK MILAN
+PODGORNIK RAJNA
+PODLIPEC MARIJA
+PODMAJORSKI MARA
+PODOBNIK JASNA
+PODOLA JUSTINA
+PODRAŠČANIN JOVAN
+PODRAŠČANIN NADA
+PODRAŠČANIN VOJA
+PODRAVAC BRANKO
+POGANČEV GORAN
+POGANČEV GORAN
+POGANJ JULIJANA
+POGUBEROVIĆ JOVAN
+POJBIĆ DUŠAN
+POJE JOSIP
+POJIĆ BRANKO
+POKA JOSIP
+POKAS JOSIP
+POKRAJAC ANGELINA
+POKRAJAC JOVAN
+POKRAJAC JOVAN
+POKRAJAC MILAN
+POKRAJAC MILORAD
+POKRAJAC RADE
+POKRAJAC SLAVKO
+POKRIĆ VOJISLAV
+POKUŠEVSKI DOBRINKA
+POKUPEC MILAN
+POLAK JELENA
+POLAK JOŽEF
+POLAK STEVAN
+POLAKOVIĆ ERŽEBET
+POLAKOVIĆ JANOŠ
+POLANEC FRANJO
+POLE NIKOLA
+POLE NIKOLA
+POLEDICA DUŠANKA
+POLENDER SOFIJA
+POLERMAN BELA
+POLERMAN MILICA
+POLETANOVIĆ MARINKO
+POLETO DOMENIK
+POLETO IVAN
+POLGAR IŠTVAN
+POLIĆ ĐURA
+POLIĆ BOŠKO
+POLIĆ DANICA
+POLIĆ DRAGAN
+POLIĆ LJUBICA
+POLIĆ MARIJAN
+POLIĆ SLOBODAN
+POLIMAC ANĐELIJA
+POLIN ĐURA
+POLIN LASLO
+POLINSKI ARANKA
+POLJAČKI ALEKSANDAR
+POLJAČKI MILICA
+POLJAČKI MILICA
+POLJAČKI SVETOZAR
+POLJAK ĐERĐ
+POLJAK EVA
+POLJAK FRANJO
+POLJAK LASLO
+POLJAK MIŠA
+POLJAK MIHALJ
+POLJAK MILKA
+POLJAK MIODRAG
+POLJAK MIODRAG
+POLJAK NIKOLA
+POLJAK NIKOLA
+POLJAK PETAR
+POLJAK RANKO
+POLJAKOVIĆ STJEPAN
+POLJANSKI JOVICA
+POLJANSKI LJUBICA
+POLJANSKI STOJAN
+POLJIČAK ANTE
+POLJIČAK LJUBAN
+POLJIĆ REFIK
+POLJOVKA JAN
+POLJVAŠ JOŽEF
+POLOJAC LUKA
+POLOVIĆ KOSTA
+POLOVIĆ STEVO
+POLOVINA ĐORĐE
+POLOVINA DANIJEL
+POLOVINA ISA
+POLOVINA MILAN
+POLOVINA MILICA
+POLOVINA MILORAD
+POLOVINA NADA
+POLOVINA NIKOLA
+POLOVINA PLEMENKA
+POLOVINA RADIVOJE
+POLOVINA SLOBODAN
+POLOVINA STEVO
+POLOVINA TODOR
+POLOVINA VLADIMIR
+POLOVINA VLADO
+POLOVINSKI SAVA
+POLTURA ŽUŽANA
+POLTURA GABOR
+POLTURA IRENA
+POLTURA MIRKO
+POLUŽANSKI IVANKA
+POLUMIRAC MILICA
+POLUTA LINA
+POLVEREŽAN-OBŠUST ĆEĆILIJA
+POLZOVIĆ ALEKSANDAR
+POLZOVIĆ JOVAN
+POLZOVIĆ MIOMIR
+POLZOVIĆ MIROSLAV
+POLZOVIĆ RADOSLAV
+POMORIŠKI BRANISLAV
+PONGO ŽUŽANA
+PONGO JANOŠ
+PONGO LASLO
+PONGO STEVAN
+PONJARAC SAVO
+PONJAVIĆ GORDANA
+PONJAVIĆ RADISAV
+PONJAVIĆ SINIŠA
+PONJEVIĆ MOMČILO
+PONJEVIĆ PETAR
+PONJEVIĆ SPASAN
+PONJEVIĆ ZVEZDAN
+PONJIČAN HORISLAV
+PONJIČAN JAN
+PONJIČAN JOSIP
+PONJIGER ĐURA
+PONJIGER IVAN
+PONOĆKO ČEDOMIR
+PONORAC LAZAR
+POP-JOVANOV VERA
+POP ZDENKO
+POPĐURĐEV MILAN
+POPA SPASENIJA
+POPADIĆ ŽIVAN
+POPADIĆ ŽIVA
+POPADIĆ ŽIVKO
+POPADIĆ ĐOKO
+POPADIĆ ĐUKA
+POPADIĆ BRANKA
+POPADIĆ GOJKO
+POPADIĆ ISIDOR
+POPADIĆ-JANUZOVIĆ RADMILA
+POPADIĆ LJILJANA
+POPADIĆ LJUBICA
+POPADIĆ LJUBO
+POPADIĆ MILAN
+POPADIĆ MILENKO
+POPADIĆ MILENKO
+POPADIĆ MILENKO
+POPADIĆ MIODRAG
+POPADIĆ NEDELJKO
+POPADIĆ NEGOVAN
+POPADIĆ NIKOLA
+POPADIĆ NOVAK
+POPADIĆ PETKO
+POPADIĆ PREDRAG
+POPADIĆ RADMILA
+POPADIĆ RADMILA
+POPADIĆ RATOMIR
+POPADIĆ SILVIJA
+POPADIĆ SLAVKO
+POPADIĆ SLAVOLJUB
+POPADIĆ STANA
+POPADIĆ STOJICA
+POPADIĆ SVETLANA
+POPADIĆ TIHOMIR
+POPADIĆ VERA
+POPADIĆ VOJISLAV ADVOKAT
+POPADIĆ VOJISLAV
+POPARA ALEKSANDAR
+POPARA ILIJA
+POPARA LJUBIŠA
+POPARA TADIJA
+POPARA ZORAN
+POPARIĆ ŽIVOJIN
+POPARIĆ ISIDOR
+POPARIĆ MARICA
+POPARIĆ NENAD
+POPDANKOV JUDITA
+POPEJKOV BORISLAV
+POPEJKOV LJILJANA
+POPEJKOV MARA
+POPENGOV VASA
+POPESKU RUŽA
+POPGLIGORIN PAVLE
+POPIĆ ŽELJKO
+POPIĆ ALEKSANDAR
+POPIĆ ANĐELKO
+POPIĆ BRANKO
+POPIĆ BUDIMIR
+POPIĆ DRAGAN
+POPIĆ DUŠAN
+POPIĆ DUŠAN
+POPIĆ DUŠAN
+POPIĆ EDITA
+POPIĆ GORDANA
+POPIĆ JELISAVETA
+POPIĆ KATICA
+POPIĆ LJILJANA
+POPIĆ LUKA
+POPIĆ MILAN
+POPIĆ MILAN
+POPIĆ MILAN
+POPIĆ MILICA
+POPIĆ MILIVOJ
+POPIĆ MIRA
+POPIĆ MIRA
+POPIĆ MIRJANA
+POPIĆ NADA
+POPIĆ-PALJIĆ FEODORA
+POPIĆ RADIVOJ
+POPIĆ SAVA
+POPIĆ SAVO
+POPIĆ SNEŽANA
+POPIĆ SOFIJA
+POPIĆ SOFIJA
+POPIĆ SVETOZAR
+POPIĆ TOMA
+POPIĆ VUKICA
+POPIĆ ZORA
+POPIN IVAN
+POPIN RADIVOJ
+POPIN VITOMIR
+POPIN VLADIMIR
+POPIVODA BOŽIDAR
+POPIVODA MILOVAN
+POPIVODA MILUTIN
+POPIVODA NEDELJKO
+POPIVODA PETAR
+POPIVODA RADISLAV
+POPMIHAJLOV DIMITRIJE
+POPMIHAJLOV DUŠAN
+POPNOVAKOV DRAGOMIR
+POPNOVAKOV MILAN
+POPNOVAKOV MILICA
+POPOV ČEDOMIR
+POPOV ŽARKO
+POPOV ŽARKO
+POPOV-ŽIKELIĆ ZORA
+POPOV ŽIVKA
+POPOV ŽIVKO
+POPOV ŽIVKO
+POPOV ŽIVKO
+POPOV ŽIVKO
+POPOV ŽIVKO
+POPOV ŽIVKO
+POPOV ĐOKA
+POPOV ĐOKA
+POPOV ĐORĐE
+POPOV ĐORĐE
+POPOV ĐORĐE
+POPOV ĐORĐE
+POPOV ĐORĐE
+POPOV ĐORĐE
+POPOV ĐURĐINA
+POPOV ĐURA
+POPOV ĐURA
+POPOV ALEKSANDAR
+POPOV ALEKSANDAR
+POPOV ALEKSANDAR
+POPOV ALEKSANDAR
+POPOV ALEKSANDAR
+POPOV ALEKSANDAR
+POPOV ALEKSANDAR
+POPOV ANĐA
+POPOV ANDON
+POPOV ANKICA
+POPOV-BAŠA VERA
+POPOV BORIVOJ DIPL ING
+POPOV BRANISLAVA
+POPOV BRANISLAV
+POPOV BRANISLAV
+POPOV BRANISLAV
+POPOV BRANKO
+POPOV BRANKO
+POPOV DANICA
+POPOV DANICA
+POPOV DANILO
+POPOV DANILO
+POPOV DARINKA
+POPOV DIMITRIJE
+POPOV DIMITRIJE
+POPOV DRAGANA
+POPOV DRAGAN
+POPOV DRAGAN
+POPOV DRAGAN
+POPOV DRAGAN
+POPOV DRAGA
+POPOV DRAGIŠA
+POPOV DRAGICA
+POPOV-DRAGIN OLGA
+POPOV DRAGOLJUB
+POPOV DRAGOLJUB
+POPOV DRAGOLJUB
+POPOV DRAGOMIR
+POPOV DRAGOMIR
+POPOV DRAGOMIR
+POPOV DRAGOSLAVA
+POPOV DUŠAN DR
+POPOV DUŠAN
+POPOV DUŠAN
+POPOV DUŠAN
+POPOV DUŠKA
+POPOV GAVRA
+POPOV GORAN
+POPOV GORDANA DR
+POPOV GORDANA
+POPOV GORDANA
+POPOV ILONKA
+POPOV ISA
+POPOV IVANKA
+POPOV IVAN
+POPOV IVKA
+POPOV JELA
+POPOV JELA
+POPOV JELISAVETA
+POPOV JEZDIMIR
+POPOV JOVAN
+POPOV JOVAN
+POPOV JOVAN
+POPOV JOVAN
+POPOV JOVAN
+POPOV JOVAN
+POPOV JOVAN
+POPOV JOVAN
+POPOV JOVAN
+POPOV JUGOSLAV
+POPOV JUG
+POPOV JULKA
+POPOV KATICA
+POPOV KATICA
+POPOV KOSA
+POPOV KOVINKA
+POPOV LAZAR
+POPOV LAZAR
+POPOV LAZAR
+POPOV LAZAR
+POPOV LENKA
+POPOV LJILJANA
+POPOV LJILJANA
+POPOV LJUBIŠA
+POPOV LJUBICA
+POPOV LJUBICA
+POPOV LJUBICA
+POPOV LJUBICA
+POPOV LJUBINKA
+POPOV LJUBOMIR
+POPOV MARA
+POPOV MARICA
+POPOV MARIJA
+POPOV MARIJA
+POPOV MARINKO
+POPOV MARKO
+POPOV MARKO
+POPOV MARKO
+POPOV MILADIN
+POPOV MILAN
+POPOV MILAN
+POPOV MILAN
+POPOV MILAN
+POPOV MILAN
+POPOV MILAN
+POPOV MILAN
+POPOV MILAN
+POPOV MILAN
+POPOV MILAN
+POPOV MILAN
+POPOV MILAN
+POPOV MILAN
+POPOV MILENA
+POPOV MILENA
+POPOV MILENKO
+POPOV MILICA
+POPOV MILICA
+POPOV MILICA
+POPOV MILICA
+POPOV MILIVOJ
+POPOV MILIVOJ
+POPOV MILIVOJ
+POPOV MILIVOJ
+POPOV MILKA
+POPOV MILOŠ
+POPOV MILOŠ
+POPOV MILOJE
+POPOV MILORAD
+POPOV MILOVAN
+POPOV MILOVAN
+POPOV MILUTIN
+POPOV MIRJANA
+POPOV MIRJANA
+POPOV MIRJAN
+POPOV MIROSLAV
+POPOV MITA
+POPOV MOMČILO
+POPOV NEDELJKO
+POPOV NENATKA
+POPOV NIKOLA
+POPOV NINA
+POPOV NINOSLAV DIPL ING
+POPOV NOVAK
+POPOV OBRAD
+POPOV-OBROVAČKI SOFIJA
+POPOV OLGA
+POPOV PAJA
+POPOV PAVLE
+POPOV PAVLE
+POPOV PAVLE
+POPOV PERA
+POPOV PETAR
+POPOV PETAR
+POPOV PLATON
+POPOV PREDRAG
+POPOV RADIVOJE
+POPOV RADIVOJ
+POPOV RADIVOJ
+POPOV RADIVOJ
+POPOV RADIVOJ
+POPOV RADIVOJ
+POPOV RADMILA
+POPOV RADOJKA
+POPOV RADOVAN DIPL ING
+POPOV RADOVAN
+POPOV RADOVAN
+POPOV RADOVAN
+POPOV RADOVAN
+POPOV RADOVAN
+POPOV RADOVAN
+POPOV RADOVAN
+POPOV RATOMIR
+POPOV RELJA
+POPOV RODOLJUB
+POPOV SAVA
+POPOV SAVA
+POPOV SAVA
+POPOV SAVA
+POPOV SAVETA
+POPOV SEKULA
+POPOV SINIŠA
+POPOV SLAVICA
+POPOV SLAVKO
+POPOV SLAVKO
+POPOV SLAVKO
+POPOV SLOBODAN
+POPOV SLOBODAN
+POPOV SNEŽANA
+POPOV SOFIJA
+POPOV SPASOJE
+POPOV SREDOJE
+POPOV STANA
+POPOV STEVAN DIPL ING
+POPOV STEVAN
+POPOV STEVAN
+POPOV STEVAN
+POPOV STEVAN
+POPOV STEVAN
+POPOV STEVAN
+POPOV STEVAN
+POPOV STEVAN
+POPOV STEVA
+POPOV STEVICA
+POPOV STOJANKA
+POPOV SVETLANA
+POPOV SVETOZAR
+POPOV SVETOZAR
+POPOV TATOMIR
+POPOV TODOR
+POPOV TRIVA
+POPOV UROŠ
+POPOV VASILIJE
+POPOV VASILIJE
+POPOV VASILIJE
+POPOV VERA
+POPOV VERA
+POPOV VERA
+POPOV VERICA
+POPOV VESELIN
+POPOV VLADIMIR
+POPOV VLADIMIR
+POPOV VOJIN
+POPOV VOJISLAV
+POPOV VUKOSAVA
+POPOV ZLATA
+POPOV ZLATICA
+POPOV ZORKA
+POPOVIĆ ČASLAV DIPL PRAVNIK
+POPOVIĆ ČEDOMIR DIPL ING
+POPOVIĆ ČEDOMIR
+POPOVIĆ ČEDOMIR
+POPOVIĆ ČEDOMIR
+POPOVIĆ-ČEJOVIĆ PAVLE
+POPOVIĆ ŠĆEPAN
+POPOVIĆ ŽARKO
+POPOVIĆ ŽARKO
+POPOVIĆ ŽARKO
+POPOVIĆ ŽELJKO
+POPOVIĆ ŽIVAN
+POPOVIĆ ŽIVAN
+POPOVIĆ ŽIVKO
+POPOVIĆ ŽIVORAD
+POPOVIĆ ŽUŽANA
+POPOVIĆ ĐORĐE
+POPOVIĆ ĐORĐE
+POPOVIĆ ĐORĐE
+POPOVIĆ ĐORĐE
+POPOVIĆ ĐORĐE
+POPOVIĆ ĐORĐE
+POPOVIĆ ĐORĐE
+POPOVIĆ ĐORĐE
+POPOVIĆ ĐORĐE
+POPOVIĆ ĐORĐE
+POPOVIĆ ĐORĐE
+POPOVIĆ ĐORĐE
+POPOVIĆ ĐORĐE
+POPOVIĆ ĐORĐIJE
+POPOVIĆ ĐURĐINA
+POPOVIĆ ĐURĐINA
+POPOVIĆ ĐURA
+POPOVIĆ ĐURICA
+POPOVIĆ ĐURO
+POPOVIĆ ĐURO
+POPOVIĆ AKSENTIJE
+POPOVIĆ ALEKSANDAR DR PRAVNIK
+POPOVIĆ ALEKSANDAR DR
+POPOVIĆ ALEKSANDAR
+POPOVIĆ ALEKSANDAR
+POPOVIĆ ALEKSANDAR
+POPOVIĆ ALEKSANDAR
+POPOVIĆ ANĐELKA
+POPOVIĆ ANĐELKA
+POPOVIĆ ANĐEL
+POPOVIĆ ANA
+POPOVIĆ ANA
+POPOVIĆ ANGELINA
+POPOVIĆ ANGELINA
+POPOVIĆ ANGELINA
+POPOVIĆ ANICA
+POPOVIĆ BLAGOJE
+POPOVIĆ BOŽA
+POPOVIĆ BOŽIDAR
+POPOVIĆ BOGDAN
+POPOVIĆ BOGDAN
+POPOVIĆ BOGOLJUB
+POPOVIĆ BOJAN
+POPOVIĆ BORISLAVA
+POPOVIĆ BORISLAV
+POPOVIĆ BORJAN
+POPOVIĆ BORKA
+POPOVIĆ BOSILJKA
+POPOVIĆ BRANISLAV DR
+POPOVIĆ BRANISLAV
+POPOVIĆ BRANISLAV
+POPOVIĆ BRANISLAV
+POPOVIĆ BRANISLAV
+POPOVIĆ BRANISLAV
+POPOVIĆ BRANIVOJ
+POPOVIĆ BRANIVOJ
+POPOVIĆ BRANKA
+POPOVIĆ BRANKO
+POPOVIĆ BRANKO
+POPOVIĆ BRANKO
+POPOVIĆ CVEJA
+POPOVIĆ DANČIKA
+POPOVIĆ DANE
+POPOVIĆ DANE
+POPOVIĆ DANICA
+POPOVIĆ DANICA
+POPOVIĆ DANILO
+POPOVIĆ DANKICA
+POPOVIĆ DARINKA
+POPOVIĆ DEJAN
+POPOVIĆ DESANKA
+POPOVIĆ DESA
+POPOVIĆ DIMITRIJE
+POPOVIĆ DIMITRIJE
+POPOVIĆ DIMITRIJE
+POPOVIĆ DOBRINKA
+POPOVIĆ DOBRINKA
+POPOVIĆ DOBRINKO
+POPOVIĆ DOBRIVOJ
+POPOVIĆ DRAGANA
+POPOVIĆ DRAGAN
+POPOVIĆ DRAGAN
+POPOVIĆ DRAGAN
+POPOVIĆ DRAGIŠA DR
+POPOVIĆ DRAGIŠA
+POPOVIĆ DRAGINJA
+POPOVIĆ DRAGO DIPL ING
+POPOVIĆ DRAGOJLO
+POPOVIĆ DRAGOLJUB
+POPOVIĆ DRAGOLJUB
+POPOVIĆ DRAGOLJUB
+POPOVIĆ DRAGOMIR
+POPOVIĆ DRAGOMIR
+POPOVIĆ DRAGO
+POPOVIĆ DRAGO
+POPOVIĆ DRAGO
+POPOVIĆ DRAGUTIN
+POPOVIĆ DUŠAN DR
+POPOVIĆ DUŠANKA
+POPOVIĆ DUŠANKA
+POPOVIĆ DUŠANKA
+POPOVIĆ DUŠAN
+POPOVIĆ DUŠAN
+POPOVIĆ DUŠAN
+POPOVIĆ DUŠAN
+POPOVIĆ DUŠAN
+POPOVIĆ DUŠAN
+POPOVIĆ DUŠAN
+POPOVIĆ DUŠAN
+POPOVIĆ DUŠAN
+POPOVIĆ DUŠICA
+POPOVIĆ DUŠKO DR
+POPOVIĆ EMIL
+POPOVIĆ FEODORA
+POPOVIĆ FEODOR
+POPOVIĆ GOJKO
+POPOVIĆ GORAN
+POPOVIĆ GORDANA
+POPOVIĆ ILE
+POPOVIĆ ILIJA
+POPOVIĆ ILIJA
+POPOVIĆ ILIJA
+POPOVIĆ ILIJA
+POPOVIĆ ILIJA
+POPOVIĆ IRINA
+POPOVIĆ IVAN
+POPOVIĆ IVAN
+POPOVIĆ IVAN
+POPOVIĆ IVAN
+POPOVIĆ IVAN
+POPOVIĆ JADRANKA
+POPOVIĆ JANKO
+POPOVIĆ JASNA
+POPOVIĆ JEFTA
+POPOVIĆ JELENA
+POPOVIĆ JELENA
+POPOVIĆ JELENA
+POPOVIĆ JELENA
+POPOVIĆ JELISAVETA
+POPOVIĆ JOVANKA
+POPOVIĆ JOVANKA
+POPOVIĆ JOVANKA
+POPOVIĆ JOVAN
+POPOVIĆ JOVAN
+POPOVIĆ JOVAN
+POPOVIĆ JOVAN
+POPOVIĆ JOVAN
+POPOVIĆ JOVAN
+POPOVIĆ JOVAN
+POPOVIĆ JOVAN
+POPOVIĆ JOVAN
+POPOVIĆ JOVAN
+POPOVIĆ JOVAN
+POPOVIĆ JOVAN
+POPOVIĆ JOVAN
+POPOVIĆ JOVO
+POPOVIĆ KATARINA
+POPOVIĆ KATICA
+POPOVIĆ KATICA
+POPOVIĆ KATICA
+POPOVIĆ KONSTANTIN
+POPOVIĆ KOSTA DR
+POPOVIĆ KOSTADIN
+POPOVIĆ KOSTA
+POPOVIĆ KOSTA
+POPOVIĆ KRISTINA
+POPOVIĆ KRSTA
+POPOVIĆ KRSTO
+POPOVIĆ KSENIJA
+POPOVIĆ LAZAR DR LEKAR
+POPOVIĆ LAZAR
+POPOVIĆ LAZAR
+POPOVIĆ LAZAR
+POPOVIĆ LAZAR
+POPOVIĆ LAZAR
+POPOVIĆ LAZAR
+POPOVIĆ LAZAR
+POPOVIĆ LAZAR
+POPOVIĆ LAZAR
+POPOVIĆ LAZAR
+POPOVIĆ LAZAR
+POPOVIĆ LELA
+POPOVIĆ LEPOSAVA
+POPOVIĆ LJILJANA DR
+POPOVIĆ LJILJANA
+POPOVIĆ LJILJANA
+POPOVIĆ LJILJANA
+POPOVIĆ LJILJANA
+POPOVIĆ LJILJANA
+POPOVIĆ LJUBICA
+POPOVIĆ LJUBICA
+POPOVIĆ LJUBICA
+POPOVIĆ LJUBICA
+POPOVIĆ LJUBISAV
+POPOVIĆ LJUBOMIR
+POPOVIĆ LJUBOMIR
+POPOVIĆ LJUBOMIR
+POPOVIĆ LJUBOMIR
+POPOVIĆ MAKSIM
+POPOVIĆ MARA
+POPOVIĆ MARA
+POPOVIĆ MARIJA DR
+POPOVIĆ MARIJANA
+POPOVIĆ MARIJA
+POPOVIĆ MARIJA
+POPOVIĆ MARIJA
+POPOVIĆ MARIJA
+POPOVIĆ MARIJA
+POPOVIĆ MARINKO
+POPOVIĆ MARKO DR LEKAR
+POPOVIĆ MARKO MR ING
+POPOVIĆ MARKO
+POPOVIĆ MARKO
+POPOVIĆ MARTA
+POPOVIĆ MELANIJA
+POPOVIĆ MIHAILO
+POPOVIĆ MIHAJLO DR
+POPOVIĆ MIHAJLO
+POPOVIĆ MILANA
+POPOVIĆ MILAN
+POPOVIĆ MILAN
+POPOVIĆ MILAN
+POPOVIĆ MILAN
+POPOVIĆ MILAN
+POPOVIĆ MILAN
+POPOVIĆ MILAN
+POPOVIĆ MILAN
+POPOVIĆ MILAN
+POPOVIĆ MILAN
+POPOVIĆ MILAN
+POPOVIĆ MILAN
+POPOVIĆ MILA
+POPOVIĆ MILENA
+POPOVIĆ MILENKO
+POPOVIĆ MILENKO
+POPOVIĆ MILENKO
+POPOVIĆ MILENKO
+POPOVIĆ MILENKO
+POPOVIĆ MILETA DIPL ING
+POPOVIĆ MILE
+POPOVIĆ MILICA
+POPOVIĆ MILICA
+POPOVIĆ MILIJAN DR
+POPOVIĆ MILINKO
+POPOVIĆ MILIVOJE
+POPOVIĆ MILKA
+POPOVIĆ MILOŠ DIPL ING
+POPOVIĆ MILOŠ
+POPOVIĆ MILOŠ
+POPOVIĆ MILOŠ
+POPOVIĆ MILORAD
+POPOVIĆ MILORAD
+POPOVIĆ MILORAD
+POPOVIĆ MILORAD
+POPOVIĆ MILORAD
+POPOVIĆ MILORAD
+POPOVIĆ MILOSAVA
+POPOVIĆ MILOSAV
+POPOVIĆ MILOVAN
+POPOVIĆ MILUTIN
+POPOVIĆ MIODRAG
+POPOVIĆ MIODRAG
+POPOVIĆ MIODRAG
+POPOVIĆ MIODRAG
+POPOVIĆ MIRA
+POPOVIĆ MIRA
+POPOVIĆ MIRJANA
+POPOVIĆ MIRJANA
+POPOVIĆ MIRJANA
+POPOVIĆ MIRJANA
+POPOVIĆ MIRKO
+POPOVIĆ MIRKO
+POPOVIĆ MIRKO
+POPOVIĆ MIRKO
+POPOVIĆ MIRKO
+POPOVIĆ MIROLJUB
+POPOVIĆ MIROSLAV
+POPOVIĆ MIROSLAV
+POPOVIĆ MIROSLAV
+POPOVIĆ MIROSLAV
+POPOVIĆ MITAR
+POPOVIĆ MITAR
+POPOVIĆ MLADEN
+POPOVIĆ MLADINKO
+POPOVIĆ MOMČILO
+POPOVIĆ MOMČILO
+POPOVIĆ MOMČILO
+POPOVIĆ NADA
+POPOVIĆ NADA
+POPOVIĆ NADA
+POPOVIĆ NADA
+POPOVIĆ NADA
+POPOVIĆ NADEŽDA
+POPOVIĆ NADEŽDA
+POPOVIĆ NADEŽDA
+POPOVIĆ NATALIJA
+POPOVIĆ NEĐO
+POPOVIĆ NEBOJŠA
+POPOVIĆ NEDELJKO
+POPOVIĆ NEDELJKO
+POPOVIĆ NENAD
+POPOVIĆ NENAD
+POPOVIĆ NIKOLA
+POPOVIĆ NIKOLA
+POPOVIĆ NIKOLA
+POPOVIĆ NIKOLA
+POPOVIĆ NIKOLA
+POPOVIĆ NIKOLA
+POPOVIĆ NOVAK
+POPOVIĆ NOVAK
+POPOVIĆ OBRAD
+POPOVIĆ OBRAD
+POPOVIĆ OLGA
+POPOVIĆ OLGA
+POPOVIĆ OLGA
+POPOVIĆ PAJA
+POPOVIĆ PAVLE DIPL PRAVNIK
+POPOVIĆ PAVLE
+POPOVIĆ PAVLE
+POPOVIĆ PAVLE
+POPOVIĆ PERA
+POPOVIĆ PERICA
+POPOVIĆ PERO
+POPOVIĆ PETAR
+POPOVIĆ PETAR
+POPOVIĆ PETAR
+POPOVIĆ PETAR
+POPOVIĆ PETAR
+POPOVIĆ PETAR
+POPOVIĆ PETAR
+POPOVIĆ PETAR
+POPOVIĆ RADA
+POPOVIĆ RADENKO
+POPOVIĆ RADE
+POPOVIĆ RADE
+POPOVIĆ RADE
+POPOVIĆ RADINKA
+POPOVIĆ RADIVOJE
+POPOVIĆ RADIVOJ
+POPOVIĆ RADIVOJ
+POPOVIĆ RADMILA
+POPOVIĆ RADMILA
+POPOVIĆ RADOICA
+POPOVIĆ RADOICA
+POPOVIĆ RADOJICA
+POPOVIĆ RADOJKA
+POPOVIĆ RADOJKA
+POPOVIĆ RADOMIR
+POPOVIĆ RADOSAV
+POPOVIĆ RADOSAV
+POPOVIĆ RADOSLAV
+POPOVIĆ RADOVANKA
+POPOVIĆ RADOVANKA
+POPOVIĆ RADOVAN
+POPOVIĆ RADUL
+POPOVIĆ RAJKO
+POPOVIĆ RANKO
+POPOVIĆ RATKO
+POPOVIĆ RAVIJOJLA
+POPOVIĆ RELJA DR
+POPOVIĆ RODOLJUB
+POPOVIĆ SANJA
+POPOVIĆ SAVA DIPL ING
+POPOVIĆ SAVA DIPL ING
+POPOVIĆ SAVA
+POPOVIĆ SAVA
+POPOVIĆ SAVA
+POPOVIĆ SAVO
+POPOVIĆ SEKULA
+POPOVIĆ SINIŠA DR LEKAR
+POPOVIĆ SLAVICA
+POPOVIĆ SLAVKO DIPL OEC
+POPOVIĆ SLAVKO
+POPOVIĆ SLAVKO
+POPOVIĆ SLAVKO
+POPOVIĆ SLAVOLJUB
+POPOVIĆ SLAVOLJUB
+POPOVIĆ SLOBODAN
+POPOVIĆ SLOBODAN
+POPOVIĆ SLOBODAN
+POPOVIĆ SLOBODAN
+POPOVIĆ SMILJANA
+POPOVIĆ SOFIJA
+POPOVIĆ SOFIJA
+POPOVIĆ SOFIJA
+POPOVIĆ SOFIJA
+POPOVIĆ SOFIJA
+POPOVIĆ SONJA
+POPOVIĆ SPASOJE
+POPOVIĆ STANIMIR
+POPOVIĆ STANIMIR
+POPOVIĆ STANKO
+POPOVIĆ STANKO
+POPOVIĆ STANKO
+POPOVIĆ STEVAN DR
+POPOVIĆ STEVAN
+POPOVIĆ STEVAN
+POPOVIĆ STEVAN
+POPOVIĆ STEVKA
+POPOVIĆ STEVO
+POPOVIĆ STOJAN
+POPOVIĆ SVETISLAV
+POPOVIĆ SVETLANA
+POPOVIĆ SVETOZAR
+POPOVIĆ TEODOR
+POPOVIĆ TEREZA
+POPOVIĆ TODOR
+POPOVIĆ TOMISLAV
+POPOVIĆ TOMO
+POPOVIĆ UGLJEŠA
+POPOVIĆ VASILIJE
+POPOVIĆ VASILIJE
+POPOVIĆ VELIMIR
+POPOVIĆ VELIZAR
+POPOVIĆ VELJKO
+POPOVIĆ VERA
+POPOVIĆ VERA
+POPOVIĆ VERA
+POPOVIĆ VERA
+POPOVIĆ VERA
+POPOVIĆ VERICA
+POPOVIĆ VESELIN
+POPOVIĆ VIDOJE
+POPOVIĆ VIDOSAVA
+POPOVIĆ VIKTORIJA
+POPOVIĆ VLADAN
+POPOVIĆ VLADIMIR DR
+POPOVIĆ VLADIMIR
+POPOVIĆ VLADIMIR
+POPOVIĆ VLADIMIR
+POPOVIĆ VLADIMIR
+POPOVIĆ VLADISLAV
+POPOVIĆ VLADO
+POPOVIĆ VOJIN
+POPOVIĆ VOJIN
+POPOVIĆ VOJISLAV
+POPOVIĆ VUČINA
+POPOVIĆ VUČKO
+POPOVIĆ VUJADIN
+POPOVIĆ VUKADIN
+POPOVIĆ VUKADIN
+POPOVIĆ VUKOSAVA
+POPOVIĆ ZDENKO
+POPOVIĆ ZDRAVKA
+POPOVIĆ ZLATOJA
+POPOVIĆ ZORAN
+POPOVIĆ ZORAN
+POPOVIĆ ZORAN
+POPOVIĆ ZORAN
+POPOVIĆ ZORAN
+POPOVIĆ ZORAN
+POPOVIĆ ZORKA
+POPOVIĆ ZUZANA
+POPOVIĆ ZVONIMIR
+POPOVICKI ŽARKO
+POPOVICKI BORISLAV
+POPOVICKI JOVANKA
+POPOVICKI LJUBOMIR
+POPOVICKI MILENKO
+POPOVICKI MILENKO
+POPOVICKI MILICA
+POPOVICKI MILOŠ
+POPOVICKI PETAR
+POPOVICKI RADOMIR
+POPOVICKI RADOMIR
+POPOVICKI SALOMA
+POPOVICKI SVETISLAV
+POPOVICKI TATJANA
+POPOVICKI TEODOR
+POPOVICKI VLADISLAV
+POPOVICKI ZORAN
+POPOVSKI RADOJKA
+POPOVSKI VENKO
+POPRŽAN MILAN
+POPRŽAN NIKOLA
+POPRŽAN VALENTINA
+POPRŽEN BORIVOJ
+POPSAVIN DUŠAN
+POPSAVIN VELIMIR
+POPTEŠIN ĐORĐE
+POPTEŠIN LAZAR DIPL PRAVNIK
+POPTEŠIN MILADINKA
+POPTEŠIN STEVAN
+PORČA LJILJANA
+PORČA RAMIZ
+POROŠIN DRAGINJA
+POROŠIN GEORGIJE DR LEKAR
+POROBIĆ MILAN
+POROBIĆ MIROSLAV
+POROBIĆ MIROSLAV
+POROBIĆ NIJAZ
+POROBIĆ NIKOLA
+POROBIĆ SLOBODAN
+POROPAT BOŠKO
+POROPATIĆ ZORA
+POSAVAC VJEKOSLAV
+POSLAN IVAN
+POSTOLOVIĆ STANIMIR
+POT FRANJA
+POT JOSIP
+POT MIRKO DIPL ING
+POTAI LADISLAV
+POTH LJUDEVIT
+POTIĆ MARIJELA
+POTIĆ RADIVOJE
+POTIĆ RADOMIR
+POTKONJAK JOVAN
+POTKONJAK MARA
+POTKONJAK NIKOLA
+POTKONJAK PETAR
+POTKONJAK SOFIJA
+POTKONJAK STANKO
+POTKONJAK STEVO
+POTKONJAK VLADO
+POTKOZARAC JULIJANA
+POTNER TEREZIJA
+POTOKOVIĆ ABDULAH
+POTOKOVIĆ SMAJO
+POTPARIĆ JELICA
+POTRAN MIŠA
+POTREBIĆ ĐURO
+POTREBIĆ DOBRILA
+POTREBIĆ DRAGICA
+POTREBIĆ MILE
+POTREBIĆ MILE
+POTREBIĆ MILICA
+POTREBIĆ NIKOLA
+POTREBIĆ RADE
+POTREBIĆ SLAVKO
+POTREBIĆ SOFIJA
+POTURIĆ STEVA
+POUČKI RADISLAV
+POVA MIROSLAVA
+POVAŽAN ANDRIJA
+POVAŽAN MARIJA
+POVAZAI IŠTVAN
+POVAZAI TIBOR
+POVIĆ MILAN
+POVRŽAN SIMO
+POZDAN ĐURO
+POZDER VERONA
+POZDEREC FRANC
+POZNANOVIĆ DEJAN
+POZNANOVIĆ JELENA
+POZNANOVIĆ LJUBOMIR
+POZNANOVIĆ MILAN
+POZNANOVIĆ MILAN
+POZNANOVIĆ MILENKO
+POZNANOVIĆ OBRAD
+POZNANOVIĆ RADIVOJE
+POZNIĆ ĐURO
+POZNIĆ JOVO
+POZNIĆ MIRA
+POZNIĆ NIKOLA
+POZOJEVIĆ KLARA
+POZOJEVIĆ STEVAN
+PRČIĆ JELISAVETA
+PRČIĆ STJEPAN
+PRČIĆ TIHOMIR
+PRČIĆ VLADIMIR
+PRŠA MIROSLAV MR
+PRŠA VERA
+PRĆIĆ IVAN
+PRŽAR NADA
+PRŽEVALJSKI NIKOLA
+PRŽNICA MILANA
+PRŽNICA ZLATKO
+PRAŠČEVIĆ ANTONIJA
+PRAŠČEVIĆ ZORICA
+PRAŠTALO MILUTIN
+PRAŠTALO PETAR
+PRAŽIĆ BILJANA
+PRAŽIĆ BRANKO
+PRACNER JOSIP
+PRACNER RUŽICA
+PRALICA LJUBOMIR
+PRALICA NEDELJKO
+PRALICA STEVAN
+PRALICA STEVAN
+PRAMENKO MIROSLAV
+PRAMENKO NEDELJKO
+PRAMENKO RISTO
+PRAMENKO SRETO
+PRANIĆ KATICA
+PRANIĆ MIRKO
+PRANIĆ PETAR
+PRANIĆ TOFIL
+PRANJIĆ ZLATKO
+PRANJKIĆ MARKO
+PRANKIĆ MILE
+PRAVDA BORBALA
+PRAVDA LADISLAV
+PRAVDA LAJOŠ
+PRAVICA EVICA
+PRAVICA LJUBOMIR
+PRDIĆ NEDELJKO
+PREČANICA BOŽO
+PREŠERN JULIJANA
+PREŠOVA MIRJANA
+PREBEG DRAGAN
+PREBIRČEVIĆ NEVENA
+PREBIRAČEVIĆ KRISTINA
+PREBIRAČEVIĆ LAZO
+PREDA AUREL
+PREDIĆ MIHAJLO
+PREDIĆ RADOMIR
+PREDOJEVIĆ ŽELJKO
+PREDOJEVIĆ ANKA
+PREDOJEVIĆ BOŽO
+PREDOJEVIĆ BOŽO
+PREDOJEVIĆ BORISLAV
+PREDOJEVIĆ DANICA
+PREDOJEVIĆ DRAGICA
+PREDOJEVIĆ LJUBOMIR
+PREDOJEVIĆ LUKA
+PREDOJEVIĆ MILAN
+PREDOJEVIĆ MILE
+PREDOJEVIĆ MILICA
+PREDOJEVIĆ MILORAD
+PREDOJEVIĆ MILOVAN
+PREDOJEVIĆ MIRKO
+PREDOJEVIĆ NENAD
+PREDOJEVIĆ PAVLE
+PREDOJEVIĆ PREDRAG
+PREDOJEVIĆ RADOSLAVA
+PREDOJEVIĆ SIMA
+PREDOJEVIĆ SIMO
+PREDOJEVIĆ STOJAN
+PREDOJEVIĆ TRIVO
+PREDOJEVIĆ ZORA
+PREDOLAC DRAGOMIR
+PREDOVIĆ DUŠAN
+PREDRAŠKI DRAGOLJUB
+PREDRAGOVIĆ BORA
+PREDRAGOVIĆ DESIMIR
+PREDRAGOVIĆ MARIJA
+PREDRAGOVIĆ NOVAK
+PREDRAGOVIĆ VESELKO
+PREDRAGOVIĆ VESNA
+PREDRAGOVIĆ ZVEZDAN DIPL ING
+PREGUN ĐURA
+PREGUN NIKOLA
+PREGUN PETAR
+PREGUN STEVAN
+PREGUN ZORA
+PREKAJAC ŽIVOJIN
+PREKAJAC SLAVKO
+PREKAJSKI BRANKO
+PREKAJSKI MIRJAN
+PREKIĆ ANĐELKA
+PREKODRAVAC NEVENKA
+PREKOGAČIĆ ĐORĐE
+PREKOGAČIĆ DANICA
+PREKOGAČIĆ ILIJA
+PREKOGAČIĆ VERA
+PREKOP JOŽEF
+PREKOP RADOJKA
+PREKPALJAJ BIBA
+PREKPALJAJ KOLJA
+PREKPALJAJ MARTIN
+PREKPALJAJ PJETER
+PREL MARIJA
+PRELEVIĆ BORISLAV
+PRELEVIĆ MARKO
+PRELEVIĆ MILAN
+PRELEVIĆ MILOŠ
+PRELEVIĆ RADOMIR
+PRELEVIĆ SENKA
+PRELEVIĆ VASILIJE
+PRELIĆ MILOJKA
+PRELIĆ VASA
+PRELIĆ ZAGORKA
+PREMIĆ PETAR
+PREMIĆ VASA
+PREMOVIĆ DANICA
+PREMOVIĆ RADOMIR
+PREMOVIĆ TOMISLAV
+PREMUŠ FRANJA
+PREMUŽIĆ DAMIR
+PREMUŽIĆ MATO
+PREMUŽIĆ VLADIMIR
+PRENDOVIĆ PALJUŠ
+PRENTOVIĆ DRAGAN
+PRENTOVIĆ DRAGAN
+PRENTOVIĆ MILAN
+PRENTOVIĆ PAVLE
+PRENTOVIĆ PETAR
+PRENTOVIĆ RISTO
+PRENTOVIĆ VASO
+PRERAD DOBRILA
+PRERADOV DINKA
+PRERADOV DRAGICA
+PRERADOV DUBRAVKA
+PRERADOV GAVRA
+PRERADOV LAZAR
+PRERADOV LEPOSAVA
+PRERADOV MARIJA
+PRERADOV MIRJANA
+PRERADOV MIRJANA
+PRERADOV NEDELJKO
+PRERADOV PETAR
+PRERADOV SAVA
+PRERADOV VELIZAR
+PRERADOV VLADIMIR
+PRERADOVIĆ ANA
+PRERADOVIĆ BOJA
+PRERADOVIĆ MILENKO
+PRERADOVIĆ MLADEN
+PRERADOVIĆ NEDELJKO
+PRERADOVIĆ NEDELJKO
+PRESEČKOVIĆ VESNA
+PRETMERSKI JOVAN
+PRETMERSKI STEVAN
+PREVEDEN LEO
+PRGOMELJA NIKOLA
+PRIŠIĆ KATICA
+PRIŠIĆ LAZAR
+PRIŠIĆ LIDIJA
+PRIŠIĆ MILOŠ
+PRIŠIĆ MITA
+PRIŠIĆ NATALIJA
+PRIŠIĆ STEVAN
+PRIBAKOVIĆ KSENIJA
+PRIBAKOVIĆ MILANA
+PRIBAKOVIĆ NIKOLA
+PRIBANOVIĆ TOMISLAV
+PRIBIČEVIĆ ARSENIJE
+PRIBIČEVIĆ SAVKA
+PRIBIČEVIĆ SVETOZAR DR ING
+PRIBIŠ STEVAN
+PRIBIŠEV MIRJANA
+PRIBIŠIĆ LJUBO
+PRIBIŠIĆ MIROSLAV
+PRIBIŠIĆ RISTINJA
+PRIBIŠIĆ SAVO
+PRIBIĆ ARSENIJE
+PRIBIĆ DANILO
+PRIBIĆ DIMITRIJE
+PRIBIĆ MARIJA
+PRIBIĆ MILOJE
+PRIBIĆ SAVA
+PRIBIĆEVIĆ JOVO
+PRIBIĆEVIĆ OLGA
+PRIBIĆEVIĆ TATJANA
+PRIBILOVIĆ BRANKICA
+PRICA ŽIVKO
+PRICA ALEKSANDAR
+PRICA BORIVOJ
+PRICA BOSILJKA
+PRICA DANILO
+PRICA DUŠAN
+PRICA ISO
+PRICA JOVANKA
+PRICA MARKO
+PRICA MILE
+PRICA MLADEN
+PRICA PETAR
+PRICA SOFIJA
+PRIJEVIĆ ĐORĐE
+PRIJEVIĆ MILAN
+PRIJIĆ MILAN
+PRIJIĆ MIRSAD
+PRIJOVIĆ BOGDAN
+PRIJOVIĆ DRAGAN
+PRIJOVIĆ STANIŠA
+PRIKEL PETAR
+PRIKIDANOVIČ LASLO
+PRIKIDANOVIĆ ANA
+PRILJEVA BORISLAV
+PRIMORAC NIKOLA
+PRIMOVIĆ BLAGOJE
+PRIMOVIĆ DEJAN
+PRIMOVIĆ DOBRICA
+PRIMOVIĆ GORDANA
+PRIMOVIĆ KOVINKA
+PRIMOVIĆ MILAN
+PRIMOVIĆ STOJAN
+PRINCIP JOZO
+PRISELAC BORIS
+PRISELAC BRANKO
+PRISELAC ZDRAVKO
+PRISLAN ZVONIMIR
+PRISTAI LADISLAV
+PRIVRODSKI BORIS DR
+PRIVRODSKI KONSTANTIN
+PRKUŠIĆ ANICA
+PRKUŠIĆ SLAVKO
+PRLEVIĆ STOJAN
+PRLINAC VELJKO
+PRLJEVIĆ NADA
+PROČIKEVIĆ ANKA
+PROŠIĆ BOGDAN
+PROŠIĆ JOVAN
+PROŠIĆ NEĐO
+PROŠIĆ NEĐO
+PROŠIĆ NEBOJŠA
+PROŠIĆ NIKOLA
+PROŠIĆ PETAR
+PROŠIĆ SMILJA
+PROBOJČEVIĆ ANTUN
+PROBOJČEVIĆ ERNEST
+PROBOJČEVIĆ MARIJA
+PROBOJČIĆ BRANISLAVA
+PRODANA KRSTAN
+PRODANIĆ BORISLAV
+PRODANIĆ MILAN
+PRODANOV ANĐELKA
+PRODANOV BLAGOJA
+PRODANOV BORA
+PRODANOV DANILO
+PRODANOV DRAGOLJUB
+PRODANOV DRAGOLJUB
+PRODANOV DRAGOSLAV
+PRODANOV DUŠAN
+PRODANOV GORICA
+PRODANOV ILIJA
+PRODANOV JOVAN
+PRODANOV JUSTINA
+PRODANOV MILAN
+PRODANOV MILENA
+PRODANOV MILENKO
+PRODANOV MIODRAG
+PRODANOV MLADEN
+PRODANOV NEDELJKO
+PRODANOV RADOSLAV
+PRODANOV SAVA
+PRODANOV SLAVKA DR
+PRODANOV ZUZANA
+PRODANOVIĆ ŠPIRO
+PRODANOVIĆ ŽARKO
+PRODANOVIĆ ŽELJKO
+PRODANOVIĆ ŽIVAN
+PRODANOVIĆ ŽIVKA
+PRODANOVIĆ ŽIVKO
+PRODANOVIĆ ĐOKA
+PRODANOVIĆ ĐORĐE
+PRODANOVIĆ ĐORĐE
+PRODANOVIĆ ĐORĐE
+PRODANOVIĆ ĐURO
+PRODANOVIĆ ALEKSANDAR
+PRODANOVIĆ ANĐELKO
+PRODANOVIĆ BILJANA
+PRODANOVIĆ BORISLAV
+PRODANOVIĆ BOSILJKA
+PRODANOVIĆ BRANIMIR
+PRODANOVIĆ DAMJAN
+PRODANOVIĆ DANICA
+PRODANOVIĆ DANICA
+PRODANOVIĆ DANILKA
+PRODANOVIĆ DRAGAN
+PRODANOVIĆ DRAGAN
+PRODANOVIĆ DRAGAN
+PRODANOVIĆ DUŠANKA
+PRODANOVIĆ DUŠAN
+PRODANOVIĆ DUŠAN
+PRODANOVIĆ DUŠICA
+PRODANOVIĆ GAVRA
+PRODANOVIĆ JOVANKA
+PRODANOVIĆ JOVAN
+PRODANOVIĆ JOVAN
+PRODANOVIĆ JOVAN
+PRODANOVIĆ JOVAN
+PRODANOVIĆ JOVAN
+PRODANOVIĆ JOVAN
+PRODANOVIĆ KOSTA
+PRODANOVIĆ KOSTA
+PRODANOVIĆ LAZAR DIPL ING
+PRODANOVIĆ LJUBICA
+PRODANOVIĆ LJUBINKA
+PRODANOVIĆ LJUBOJA
+PRODANOVIĆ LJUBOMIR
+PRODANOVIĆ MARTA
+PRODANOVIĆ MILAN
+PRODANOVIĆ MILAN
+PRODANOVIĆ MILAN
+PRODANOVIĆ MILAN
+PRODANOVIĆ MILICA
+PRODANOVIĆ MILJKO
+PRODANOVIĆ MILORAD
+PRODANOVIĆ MILOVAN
+PRODANOVIĆ MIODRAG
+PRODANOVIĆ MIODRAG
+PRODANOVIĆ MIRA
+PRODANOVIĆ MIRJANA
+PRODANOVIĆ MIROSLAV
+PRODANOVIĆ MLADEN
+PRODANOVIĆ NIKOLA
+PRODANOVIĆ-PANJKOVIĆ ĐURĐINKA
+PRODANOVIĆ PAVA
+PRODANOVIĆ PAVLE
+PRODANOVIĆ PETAR
+PRODANOVIĆ PETAR
+PRODANOVIĆ PETAR
+PRODANOVIĆ RADISAV
+PRODANOVIĆ RADOSLAV
+PRODANOVIĆ RATKO
+PRODANOVIĆ RODOLJUB
+PRODANOVIĆ SAVA
+PRODANOVIĆ SINIŠA
+PRODANOVIĆ SINIŠA
+PRODANOVIĆ SLAVKO
+PRODANOVIĆ SLOBODAN
+PRODANOVIĆ SLOBODAN
+PRODANOVIĆ STANA
+PRODANOVIĆ TANASIJE
+PRODANOVIĆ VASA
+PRODANOVIĆ VASA
+PRODANOVIĆ VELINKA
+PRODANOVIĆ VELJKO
+PRODANOVIĆ VERA DR
+PRODANOVIĆ VIDOSAVA
+PRODANOVIĆ VLADIMIR
+PRODANOVIĆ ZAGORKA
+PRODANOVIĆ ZAGORKA
+PRODANOVIĆ ZORAN
+PRODIĆ DANICA
+PRODIĆ VIDA
+PRODIĆ VITOMIR
+PRODIĆ VITOMIR
+PROFONTAROVIĆ ROZALIJA
+PROHASKA MILENKO
+PROHASKA NIKOLA
+PROHASKA STEVAN
+PROHASKA VERA
+PROJKOVSKI DESPA
+PROKEŠ BELA
+PROKEŠ LADISLAV
+PROKIĆ ĐORĐE
+PROKIĆ GORAN
+PROKIĆ MILAN
+PROKIĆ MIRA
+PROKIĆ RUŽICA
+PROKIĆ STEVAN
+PROKIĆ STEVAN
+PROKIĆ ZORAN
+PROKIĆ ZORAN
+PROKIN ANĐELKA
+PROKIN BRANISLAV
+PROKIN KSENIJA
+PROKIN LAZAR
+PROKIN MARKO
+PROKIN MIRA
+PROKIN RADIVOJ
+PROKIN RUŽICA
+PROKIN STEVAN
+PROKIN STEVAN
+PROKIN ZLATINKA
+PROKIN ZORA
+PROKOPEC DUŠAN
+PROKOPEC HELENA
+PROKOPEC JELISAVETA
+PROKOPEC STEVAN
+PROKOPIĆ ČEDO
+PROKOPIĆ MIHAJILO
+PROKOPIĆ STOJAN
+PROLE CVIJO
+PROLE JAGODA
+PROLE MELANIJA
+PROLE MILENKO
+PROLE MILIJANA
+PROLE MILOŠ
+PROLE MIRKO
+PROLE MIROSLAV
+PROLE MITAR
+PROLE MITAR
+PROLE MLADEN
+PROLE RADOVAN
+PROLE RISTA
+PROLE STANISLAV
+PROLE STANKO
+PROLE UGLJEŠA
+PROLE VELJKO
+PROLE VERONA
+PROLIĆ DRAGICA
+PROLIĆ MILORAD
+PROLIĆ PERO
+PROLIĆ VID
+PROSENICA MARKO
+PROSENICA VIDOSAVA
+PROSENIK DUBRAVKO
+PROSENIK ZVONIMIR
+PROSTRAN ČEDOMIR
+PROSTRAN PETAR
+PROTIĆ ŽARKO
+PROTIĆ ĐOKA
+PROTIĆ ĐORĐE
+PROTIĆ BOSILJKA
+PROTIĆ BRANISLAV
+PROTIĆ DRAGAN
+PROTIĆ DUŠAN
+PROTIĆ ILIJA DIPL ING
+PROTIĆ JOSIM
+PROTIĆ MARIJA
+PROTIĆ MILENA DR STOMATOLOG
+PROTIĆ MILKA
+PROTIĆ-MILOŠEVIĆ SIMKA PROF
+PROTIĆ MILOŠ
+PROTIĆ MILORAD
+PROTIĆ MIRJANA
+PROTIĆ MITAR
+PROTIĆ NADA
+PROTIĆ OBRAD
+PROTIĆ PREDRAG
+PROTIĆ PUNIŠA
+PROTIĆ RADOMIR
+PROTIĆ SAMUILO
+PROTIĆ SMILJA
+PROTIĆ VIDA
+PROTIĆ VITOMIR
+PROVČI AGAFIJA
+PROVČI EVGENIJE DIPL ING
+PROVČI JOVGEN
+PROVČI VERA
+PRPA ANĐA
+PRPA GOSPA
+PRPA LAZAR
+PRPA MARGITA
+PRPA MILOVAN
+PRPA VELJKO
+PRPA ZAGORKA
+PRPIĆ ALEKSANDAR
+PRPIĆ ALEKSANDAR
+PRPIĆ ALEKSANDAR
+PRPIĆ MARIJANA
+PRPIĆ NIKOLA
+PRPIĆ RADOVAN
+PRSKALO BLAGO
+PRSTOJEVIĆ GORAN
+PRSTOJEVIĆ VOJISLAV
+PRTINA BRANKO
+PRUŽAREV TATJANA
+PRUDAN-ĐURIŠIĆ RADOJKA DR
+PRUGIĆ LJUBOMIR
+PRUGIĆ VOJISLAV
+PRUGINIĆ LJUBICA
+PRUNIĆ JOVAN
+PRUSINA DRAGO
+PRUSINA ILIJA
+PRUSINA MARGITA
+PRUSINA MILAN
+PRUSINA VLATKO
+PRVANOV BRANISLAV
+PRVANOV DARINKA
+PRVANOV DIVNA
+PRVANOV MILOŠ
+PRVANOV VLADIMIR
+PRVANOVIĆ MILEVA
+PSODAROV BRANKO
+PSODOROV MAJA
+PSODOROV SPASOJE
+PSODOROV TAMARA
+PTIČAR ĐURA
+PTIČAR MILAN
+PUŠAC BRANKO
+PUŠAC JELENKO
+PUŠAC MILENA
+PUŠAC MILENA
+PUŠARA ĐORĐE
+PUŠARA BOŽIDAR
+PUŠARA DUŠAN
+PUŠARA JELENA
+PUŠARA MILIVOJ
+PUŠARA MIRKO
+PUŠARA MIROSLAV
+PUŠARA RADMILA
+PUŠELJIĆ JELENA
+PUŠENJAK MARIJA
+PUŠIĆ DRAGOLJUB
+PUŠIĆ DUŠAN
+PUŠIĆ EMIL
+PUŠIĆ GORAN
+PUŠIĆ JOVAN
+PUŠIĆ LJUBINKO
+PUŠIĆ MILENA
+PUŠIĆ MILICA
+PUŠIĆ MILIVOJ
+PUŠIĆ MILOŠ
+PUŠIĆ NIKOLA
+PUŠIĆ OBRAD
+PUŠIĆ PAVLE
+PUŠIĆ SAVA
+PUŠIĆ SAVA
+PUŠIĆ SOFIJA
+PUŠIĆ STEVAN
+PUŠIĆ VERICA
+PUŠIĆ VERICA
+PUŠIĆ ZAGORKA
+PUŠIBRK CVETKO
+PUŠIBRK VASA
+PUŠIN MIRJANA
+PUŠIN MIROSLAV
+PUŠIN MIROSLAV
+PUŠIN VLADA
+PUŠKAŠ ĐURA
+PUŠKAŠ ĐURA
+PUŠKAŠ CILA
+PUŠKAŠ JOŽEF
+PUŠKAŠ JOAKIM
+PUŠKAŠ JULIJAN
+PUŠKAŠ MIHAJLO
+PUŠKAŠ MILENA
+PUŠKAŠ MIROSLAV
+PUŠKAŠ OLENA
+PUŠKAŠ ONUFRIJE
+PUŠKAŠ PETAR
+PUŠKAŠ ROZALIJA
+PUŠKAŠ STEVAN
+PUŠKAŠ VERA
+PUŠKAŠ VLADIMIR
+PUŠKAŠ VLADIMIR
+PUŠKAR JOVICA
+PUŠKAR STEVA
+PUŠKAR VOJISLAV
+PUŠKAREVIĆ JOVANKA
+PUŠKAREVIĆ SVETISLAV
+PUŠKARIĆ ANA
+PUŠKARIĆ IVAN
+PUŠKARIĆ JURE
+PUŠKARIĆ MARIJA
+PUŠKAROV DANILKA
+PUŠKAROV DANILKA
+PUŠKAROV MILAN
+PUŠKAROV ZORA
+PUŠKOVIĆ ANĐELKO
+PUŠTRIĆ MILAN
+PUŠTRIĆ SPASOJE
+PUŽ-EVIĆ OLGA
+PUŽIĆ VERA
+PUĐA LEPOSAVA
+PUAČ SVETISLAV
+PUAČ SVETOZAR
+PUAČA VELJKO DR
+PUCAR ĐURO
+PUCAR DUŠAN
+PUCAR MILICA
+PUCAR STEVO
+PUCAR VASILIJE
+PUCAR VASO
+PUCAR ZDRAVKO
+PUCAREVIĆ ŽIVKO
+PUCAREVIĆ BOSILJKA
+PUCAREVIĆ GOJKO
+PUCAREVIĆ HILDA
+PUCAREVIĆ JELA
+PUCAREVIĆ NOVAK
+PUCAREVIĆ SOFIJA
+PUCOVSKI ĐURO
+PUDAR DANILO
+PUDAR GOJKO
+PUDAR RAJKO
+PUDAR RANKO
+PUDAR RANKO
+PUDAR RANKO
+PUDAR RATKO
+PUDAR SLOBODAN
+PUDAR STEVAN
+PUDAR ZDRAVKO
+PUDIĆ ILIJA
+PUDIĆ JOZA
+PUDRLJA BRANKO
+PUGAR ANĐELKA
+PUHAČA STEVO
+PUHALAK BERTA
+PUHALAK LASLO DR LEKAR
+PUHALAK STEVAN
+PUHAN OSKAR
+PUHANIĆ TEREZA
+PUHAR DUŠAN
+PUHAR FRANC
+PUIĆ ĐORĐE
+PUIĆ RADOSLAV
+PUJA FLORIN
+PUJIĆ MILIVOJ
+PUJIĆ MILOŠ
+PUJIĆ NADEŽDA
+PUJIĆ PERSIDA DIPL ING
+PUJIĆ SAVA
+PUJIĆ STEVAN
+PUJIN LAZA
+PUJIN RADE
+PUJIN RADIVOJE
+PUJIN STEVAN
+PUJIN VLASTA DR
+PULAI LAJOŠ
+PULETIĆ ZDRAVKO
+PULIĆ ANTONIJA
+PULIĆ OLGA
+PULIĆ RADOJKA
+PULISAK FRANJA
+PULISAK ILONKA
+PULISAK JOVAN
+PULISAK MIHAJLO
+PULISAK NADEŽDA
+PULISAK NIKOLA
+PULJIZEVIĆ ANTUN DIPL ING
+PUNDOV ANDREJ
+PUNGUL JOVICA
+PUNGUL MIRA
+PUPAVAC ĐORĐE
+PUPAVAC BRANKO
+PUPAVAC BRANKO
+PUPAVAC FRANJA
+PUPAVAC MILAN
+PUPAVAC PETAR
+PUPAVAC STAKA
+PUPAVAC STEVAN
+PUPAVAC STOJAN
+PUPAVAC TODOR
+PUPAVAC VESNA
+PUPIĆ RADMILA
+PUPIN ŽIVAN
+PUPOVAC DMITAR
+PUPOVAC DUŠAN
+PUPOVAC LUKA
+PUPOVAC MILOŠ
+PUPOVAC MILOŠ
+PUPOVAC SVETLANA
+PUPOVAC TODOR
+PUPOVIĆ LJUBOMIR
+PURAĆ ŽIVKO
+PURAĆ BRANKO
+PURAĆ ERŽEBET
+PURAĆ JOVAN
+PURAĆ LAZAR
+PURAĆ MAGDA
+PURAĆ MILADIN
+PURAĆ MILADIN
+PURAĆ MILENKO
+PURAĆ MIROSLAV
+PURAĆ NADA
+PURAĆ OLGA
+PURIŠIĆ ČEDO
+PURIŠIĆ SVETLANA
+PURIĆ BLANKA
+PURIĆ BOŽO
+PURIĆ DIJANA
+PURIĆ DRAGAN
+PURIĆ DRAGICA
+PURIĆ MILAN
+PURIĆ SLOBODAN
+PURIĆ ZORA
+PURKOV VESELIN
+PURKOVIĆ LJILJANA
+PURTIĆ NIKOLA
+PUSTAI IMRE
+PUSTAI JENE
+PUSTAJIĆ BRANKA
+PUSTAJIĆ RADA
+PUSTAJIĆ VUKICA
+PUSTI JOSIP
+PUTARIĆ JOVAN
+PUTIĆ ŽIVANA
+PUTIĆ KATICA
+PUTIĆ LIVIJA
+PUTIĆ SLOBODAN
+PUTIĆ SVETISLAV
+PUTIĆ ZORAN
+PUTNIK ALEKSANDAR
+PUTNIK ALEKSANDAR
+PUTNIK BORISLAV
+PUTNIK BRANKO
+PUTNIK DANILKA
+PUTNIK DIMITRIJE
+PUTNIK GERTRUDA
+PUTNIK GORAN
+PUTNIK IVAN
+PUTNIK JELENA
+PUTNIK KATICA
+PUTNIK KSENIJA
+PUTNIK LJUBICA
+PUTNIK MILAN
+PUTNIK MILAN
+PUTNIK MILENA
+PUTNIK MILORAD
+PUTNIK NEVENKA
+PUTNIK PAJO
+PUTNIK PETAR
+PUTNIK PETAR
+PUTNIK RADE
+PUTNIK RADOMIR
+PUTNIK RADOVAN
+PUTNIK SLOBODAN DIPL ING
+PUTNIK SNEŽANA
+PUTNIK STEFANIJA
+PUTNIK STEVAN
+PUTNIK STEVAN
+PUTNIK-URAČ RENATA
+PUTNIK VLADIMIR DR
+PUTNIK VLADIMIR
+PUTNIK ZORAN
+PUTNIKOVIĆ IVAN
+PUTNIKOVIĆ MILENA
+PUTNIKOVIĆ PIROŠKA
+PUVAČA LJILJANA
+PUVALIĆ KATICA
+PUZIĆ BILJANA
+PUZIĆ BOŠKO
+PUZIĆ BOSA
+PUZIĆ DRAGOMIR
+PUZIĆ SAVA
+PUZIĆ VELJKO
+PUZIGAĆA KRISTINA
+RAČIĆ ARANĐEL
+RAČIĆ LEPOSAVA
+RAČIĆ MILOŠ
+RAČIĆ MIROSLAV
+RAČIĆ NADA
+RAČIĆ RANKO
+RAČIĆ SAŠA
+RAČIĆ-SAVIN ZORICA
+RAČIĆ STOJAN
+RAČIĆ TOMISLAV
+RAČIĆ VERA
+RAČIĆ ZDRAVKO
+RAŠČANIN BRANISLAV
+RAŠČANIN BRANISLAV
+RAŠČIĆ NEHRU
+RAŠA DOJNA
+RAŠAJSKI DUŠAN
+RAŠAJSKI VEROSLAV
+RAŠETA DANE
+RAŠETA MIODRAG
+RAŠETA MIRJANA
+RAŠETA NIKOLA
+RAŠETA PETAR
+RAŠETA STEVA
+RAŠETA TOMA
+RAŠETA ZDRAVKO
+RAŠEVIĆ ŽARKO
+RAŠEVIĆ ŽELJKO
+RAŠEVIĆ MIODRAG
+RAŠIĆ BOŽIDAR DR
+RAŠIĆ DIMITRIJE
+RAŠIĆ DUŠICA
+RAŠIĆ IBOJKA
+RAŠIĆ IGNJAT
+RAŠIĆ ILIJA
+RAŠIĆ-KOPČOK NADA
+RAŠIĆ LAZAR
+RAŠIĆ MANDA
+RAŠIĆ MARIJA
+RAŠIĆ NADEŽDA
+RAŠIĆ NIKOLA
+RAŠIĆ PAUN
+RAŠIĆ PETAR MR ING
+RAŠIĆ SMILJA
+RAŠIĆ STOJAN
+RAŠIĆ UROŠ
+RAŠIĆ VESNA
+RAŠIDI DOROTEJA
+RAŠIDI SLOBODANKA
+RAŠIJOVAN RADMILA
+RAŠITI BAJRAM
+RAŠITI HAVA
+RAŠITI IMER
+RAŠKOV BRANKO
+RAŠKOV BRANKO
+RAŠKOV DANICA
+RAŠKOV MARIJA
+RAŠKOV SMILJKA
+RAŠKOVIĆ ĐORĐE
+RAŠKOVIĆ ĐORĐE
+RAŠKOVIĆ DARINKA
+RAŠKOVIĆ DRAGAN
+RAŠKOVIĆ DRAGOLJUB
+RAŠKOVIĆ DRAGOSLAVA
+RAŠKOVIĆ GORDANA
+RAŠKOVIĆ MILAN
+RAŠKOVIĆ MILICA
+RAŠKOVIĆ MIODRAG
+RAŠKOVIĆ MIRJANA
+RAŠKOVIĆ MIRJANA
+RAŠKOVIĆ MLADEN
+RAŠKOVIĆ RADOSAV
+RAŠKOVIĆ SLOBODAN
+RAŠKOVIĆ SREĆKO
+RAŠKOVIĆ STEVAN
+RAŠKOVIĆ VERA
+RAŠKOVIĆ VLADIMIR
+RAŠOVIĆ RADOVAN
+RAŠOVIĆ VOJISLAV
+RAŽNATOVIĆ RADIVOJ
+RAĐELIĆ GORDANA
+RAĐELIĆ MILAN
+RAĐENOVIĆ ŽELJKO
+RAĐENOVIĆ ŽELJKO
+RAĐENOVIĆ BOŽO
+RAĐENOVIĆ BORIS
+RAĐENOVIĆ BOSA
+RAĐENOVIĆ BRANKO
+RAĐENOVIĆ DRAGA
+RAĐENOVIĆ DUŠAN
+RAĐENOVIĆ DUŠAN
+RAĐENOVIĆ KARLO
+RAĐENOVIĆ MANE
+RAĐENOVIĆ MILANKO
+RAĐENOVIĆ MILEVA
+RAĐENOVIĆ MILKA
+RAĐENOVIĆ MILKA
+RAĐENOVIĆ NEBOJŠA
+RAĐENOVIĆ NIKOLA
+RAĐENOVIĆ SOFIJA
+RAĐENOVIĆ UROŠ
+RAĐENOVIĆ VELJKO
+RAĐENOVIĆ ZORICA
+RAĐEVIĆ SAVO
+RABADŽIJEVSKI PAULA
+RABATIĆ MILOŠ
+RABI JOŽEF
+RABIJAC SRBA
+RABRENOVIĆ MARIJA
+RABRENOVIĆ RADISAV
+RABRENOVIĆ ZLATINKA
+RAC ŠANDOR
+RAC ALBERT
+RAC ANA
+RAC BRUNO
+RAC EDMUND
+RAC FERENC
+RAC FERENC
+RAC FRANJA
+RAC GABRIJEL
+RAC JANOŠ
+RAC JELISAVETA
+RAC JOVAN
+RAC LJILJANA
+RAC LJUBOMIR
+RAC MARIJA
+RAC MARIJA
+RAC MELANIJA
+RAC PAL
+RAC RUDOLF
+RAC-SABO LAJOŠ
+RAC STEVAN
+RAC TEODOR
+RAC VLADIMIR
+RAC ZLATA
+RACA ĐURO
+RACA DRAGAN
+RACA DRAGAN
+RACA DRAGAN
+RACA DUŠAN
+RACA GORDANA DR
+RACA MIRKO
+RACA PETAR
+RACA RUŽICA
+RACIĆ ČEDOMIR
+RACIĆ BRANKO
+RACIĆ DUŠAN
+RACIĆ MILAN
+RACIĆ MILENKO
+RACIĆ MILICA
+RACIĆ MILICA
+RACIĆ MILORAD
+RACIĆ MIRJANA
+RACIĆ NEDELJKO
+RACIĆ RADENKO
+RACIĆ SLOBODAN
+RACIĆ SLOBODAN
+RACIĆ VELJKO
+RACIĆ ZDRAVKO
+RACIĆ ZDRAVKO
+RACIĆ ZORAN
+RACKOV DARINKA
+RACKOV DRAGOSLAV
+RACKOV KATICA
+RACKOV LAZAR
+RACKOV MILICA
+RACKOV MILIVOJ
+RACKOV MILOŠ
+RACKOV MIROSLAV
+RACKOV MIROSLAV
+RACKOV NATAŠA
+RACKOV OLGA
+RACKOV RADOJKA
+RACKOV RADOMIR
+RACKOV RADOSLAV
+RACKOV SAVA
+RACKOV SLOBODAN
+RACKOV SRĐAN
+RACKOV SRĐAN
+RACKOV SRĐAN
+RACKOV ZLATICA
+RACKOVIĆ ĐORĐE
+RACKOVIĆ DRAGOMIR
+RACKOVIĆ DUŠAN
+RACKOVIĆ LAZAR
+RACKOVIĆ MILAN
+RACKOVIĆ MILOŠ
+RACKOVIĆ MIRJANA
+RACLER ĐERĐ
+RACLER MARGIT
+RACO MIĆO
+RACO RATKO
+RAD PREDRAG
+RADAŠIN ELVIRA
+RADAŠIN VLADIMIR
+RADAŠIN ZVEZDAN
+RADAK ĐORĐE
+RADAK ĐURICA
+RADAK DUŠAN
+RADAK DUŠAN
+RADAK GAVRA
+RADAK JELISAVETA
+RADAK JOVANKA
+RADAK JOVAN
+RADAK KOVINKA
+RADAK LAZAR
+RADAK LAZAR
+RADAK LJUBICA
+RADAK LJUBICA
+RADAK LUKA
+RADAK MILADINKA
+RADAK MIROSLAV
+RADAK OLGA
+RADAK RADMILA
+RADAK SLAVKO
+RADAK ZORA
+RADAKOVIĆ ŽIVAN
+RADAKOVIĆ ĐORĐE
+RADAKOVIĆ ĐORĐE
+RADAKOVIĆ ĐURAĐ
+RADAKOVIĆ ALEKSANDAR
+RADAKOVIĆ ANA DR
+RADAKOVIĆ BRANKO
+RADAKOVIĆ BRANKO
+RADAKOVIĆ BRANKO
+RADAKOVIĆ DAMJAN
+RADAKOVIĆ DARKA
+RADAKOVIĆ DIMITRIJE
+RADAKOVIĆ DUŠAN
+RADAKOVIĆ DUŠAN
+RADAKOVIĆ ILIJA
+RADAKOVIĆ ILIJA
+RADAKOVIĆ JELENA
+RADAKOVIĆ JOVAN
+RADAKOVIĆ JOVAN
+RADAKOVIĆ JOVAN
+RADAKOVIĆ JOVAN
+RADAKOVIĆ LAZO
+RADAKOVIĆ LJILJANA
+RADAKOVIĆ MANDA
+RADAKOVIĆ MANE
+RADAKOVIĆ MILANKO
+RADAKOVIĆ MILAN
+RADAKOVIĆ MILENA
+RADAKOVIĆ MILE
+RADAKOVIĆ MILE
+RADAKOVIĆ MILOJKA
+RADAKOVIĆ MILORAD
+RADAKOVIĆ MIROSLAV
+RADAKOVIĆ NENAD
+RADAKOVIĆ PETAR
+RADAKOVIĆ RADE
+RADAKOVIĆ RADE
+RADAKOVIĆ RAJKO
+RADAKOVIĆ RUŽICA
+RADAKOVIĆ SAVA
+RADAKOVIĆ SMILJKA
+RADAKOVIĆ TEODORA
+RADAKOVIĆ VLADIMIR
+RADAKOVIĆ VLADISLAV
+RADAN VELIMIR
+RADANOV BILJANA
+RADANOV DRAGOMIR
+RADANOV DUŠAN
+RADANOV GOSPAVA
+RADANOV LJUBOMIR ADVOKAT
+RADANOV LJUBOMIR
+RADANOV MIROSLAVA
+RADANOV NIKOLA
+RADANOV OLIVERA
+RADANOV RADINKA
+RADANOV RADIVOJ
+RADANOV RADOSLAV
+RADANOV VERICA
+RADANOVIĆ ŽELJKO
+RADANOVIĆ ĐORĐE
+RADANOVIĆ ĐORĐE
+RADANOVIĆ ĐUKA
+RADANOVIĆ ALEKSANDAR
+RADANOVIĆ ANĐELKO
+RADANOVIĆ BOŽIDAR
+RADANOVIĆ DIMITRIJE
+RADANOVIĆ DRAGAN
+RADANOVIĆ DRAGICA
+RADANOVIĆ DRAGOMIR
+RADANOVIĆ DRAGOMIR
+RADANOVIĆ DRAGUTIN
+RADANOVIĆ GOJKO
+RADANOVIĆ ILIJA
+RADANOVIĆ JOVANKA
+RADANOVIĆ JOVAN
+RADANOVIĆ JOVAN
+RADANOVIĆ JOVAN
+RADANOVIĆ KATA
+RADANOVIĆ KOVILJKA
+RADANOVIĆ LJUBO
+RADANOVIĆ MARIJA
+RADANOVIĆ MILANKO
+RADANOVIĆ MILAN
+RADANOVIĆ MILAN
+RADANOVIĆ MILAN
+RADANOVIĆ MILENKO
+RADANOVIĆ MILOŠ
+RADANOVIĆ MIODRAG
+RADANOVIĆ MIODRAG
+RADANOVIĆ NEVENKA
+RADANOVIĆ NIKOLA
+RADANOVIĆ NIKOLA
+RADANOVIĆ OBRAD
+RADANOVIĆ PETAR
+RADANOVIĆ PETAR
+RADANOVIĆ RADIVOJ
+RADANOVIĆ RADOVANKA
+RADANOVIĆ RADOVAN
+RADANOVIĆ RAJKO
+RADANOVIĆ SAŠA
+RADANOVIĆ SAVA
+RADANOVIĆ SOFIJA
+RADANOVIĆ SOFIJA
+RADANOVIĆ SRETEN
+RADANOVIĆ TRIŠA
+RADANOVIĆ VITOMIR
+RADAT MARKO
+RADATOVIĆ MARIJA
+RADEK ANDRAŠ
+RADEK MARIJA
+RADEKA ŠTEFKA
+RADEKA DUŠKO
+RADEKA JOVAN
+RADEKA MILE
+RADEKA MILKA
+RADEKA NIKOLA
+RADEKA RADOVAN
+RADEKIN LJUBICA
+RADELIĆ MILAN
+RADENČIĆ JOSIP
+RADENKOVIĆ ČEDOMIR
+RADENKOVIĆ ŽIVOJIN
+RADENKOVIĆ BLAŽA
+RADENKOVIĆ DRAGAN
+RADENKOVIĆ LEPOSAVA
+RADENKOVIĆ LJUBIŠA
+RADENKOVIĆ MILIVOJE
+RADENKOVIĆ MILOVAN
+RADENKOVIĆ MILOVAN
+RADENKOVIĆ MIODRAG
+RADENKOVIĆ NADA
+RADENKOVIĆ RADOMIR
+RADENKOVIĆ RADOSLAVA
+RADENKOVIĆ RATOMIR
+RADENKOVIĆ ROZALIJA
+RADENKOVIĆ SLOBODAN
+RADENKOVIĆ TOMISLAV
+RADENKOVIĆ VITOMIR
+RADENKOVIĆ VJERA
+RADENOVIĆ OBREN
+RADETA SLAVKO
+RADETA SVETOZAR
+RADETIĆ BOŠKO
+RADETIĆ BRANKO
+RADETIĆ GORAN
+RADETIĆ RADOMIR
+RADETIĆ VOJISLAV
+RADEVIĆ ĐORĐE
+RADEVIĆ GORAN
+RADEVIĆ IVAN
+RADEVIĆ MILEVA
+RADEVIĆ MILOŠ
+RADEVIĆ VOJIMIR
+RADIČEV JELICA
+RADIČEV MARIJA DR
+RADIČEVIĆ RADMILA
+RADIČEVIĆ SAVA
+RADIČEVIĆ ZORAN
+RADIČIĆ SMILJANA
+RADIŠIĆ ŽIVKO
+RADIŠIĆ ĐORĐE
+RADIŠIĆ ANĐELKA
+RADIŠIĆ BILJANA
+RADIŠIĆ BORISLAV
+RADIŠIĆ BORISLAV
+RADIŠIĆ BRANISLAV
+RADIŠIĆ BRANKA
+RADIŠIĆ BRANKO
+RADIŠIĆ DRAGIŠA
+RADIŠIĆ DRAGUTIN
+RADIŠIĆ DUŠAN
+RADIŠIĆ DUŠICA
+RADIŠIĆ ILIJA
+RADIŠIĆ JEFTA
+RADIŠIĆ JELENA
+RADIŠIĆ JOVAN
+RADIŠIĆ JOVO
+RADIŠIĆ KATICA
+RADIŠIĆ LAZAR
+RADIŠIĆ LAZAR
+RADIŠIĆ LAZAR
+RADIŠIĆ LJILJANA
+RADIŠIĆ LJUBICA
+RADIŠIĆ MARKO
+RADIŠIĆ MILAN
+RADIŠIĆ MILENA
+RADIŠIĆ MILENKO
+RADIŠIĆ MILICA
+RADIŠIĆ MILIJANA
+RADIŠIĆ MILUTIN
+RADIŠIĆ MIROSLAVA
+RADIŠIĆ MLADEN
+RADIŠIĆ NENA
+RADIŠIĆ NIKOLA
+RADIŠIĆ OBRADIN
+RADIŠIĆ OLIVERA
+RADIŠIĆ PERICA
+RADIŠIĆ PERO
+RADIŠIĆ PERSA
+RADIŠIĆ PETAR
+RADIŠIĆ RADIVOJ
+RADIŠIĆ RADMILA
+RADIŠIĆ RADOJKA
+RADIŠIĆ SAVETA
+RADIŠIĆ SLOBODAN
+RADIŠIĆ STANOJE
+RADIŠIĆ STEVAN
+RADIŠIĆ STEVAN
+RADIŠIĆ SVETOZAR
+RADIŠIĆ TODOR
+RADIŠIĆ VLADIMIR
+RADIŠIĆ VLADIMIR
+RADIŠIĆ ZORAN
+RADIĆ ČEDA
+RADIĆ ŽELJKO
+RADIĆ ŽIVAN
+RADIĆ ĐORĐE
+RADIĆ ĐORĐE
+RADIĆ ANĐA
+RADIĆ ANĐELKO
+RADIĆ ANDRIJA DR
+RADIĆ ANGELINA
+RADIĆ ANKICA
+RADIĆ ANTE
+RADIĆ BOŠKO
+RADIĆ BRANKA
+RADIĆ DOBRIVOJE
+RADIĆ DRAGOLJUB
+RADIĆ DUŠAN
+RADIĆ DUŠAN
+RADIĆ FRANJA
+RADIĆ FRANJO
+RADIĆ GOJKO
+RADIĆ HRANISLAV
+RADIĆ ILIJA
+RADIĆ ILIJA
+RADIĆ IVANKA
+RADIĆ JOSIP
+RADIĆ JOVAN
+RADIĆ LAZAR
+RADIĆ LJUBICA
+RADIĆ LJUBOMIR
+RADIĆ MARIJA
+RADIĆ MIJA
+RADIĆ MILANKO
+RADIĆ MILAN
+RADIĆ MILAN
+RADIĆ MILE
+RADIĆ MILIVOJ
+RADIĆ MILIVOJ
+RADIĆ MILKA
+RADIĆ MILUTIN DIPL ING
+RADIĆ MIRJANA
+RADIĆ MIRKO
+RADIĆ MLADEN
+RADIĆ NEDELJKO
+RADIĆ NENAD
+RADIĆ PAVLE
+RADIĆ PETAR
+RADIĆ PETAR
+RADIĆ PETAR
+RADIĆ PETAR
+RADIĆ PETAR
+RADIĆ-POPOVIĆ GORDANA
+RADIĆ PREDRAG
+RADIĆ RADA
+RADIĆ RADE
+RADIĆ ROBERT
+RADIĆ SAVA
+RADIĆ SLAVIŠA
+RADIĆ SLAVKO
+RADIĆ SOFIJA
+RADIĆ STANKO
+RADIĆ STEVAN
+RADIĆ STEVAN
+RADIĆ STOJAN
+RADIĆ TIHOMIR
+RADIĆ TRIVA
+RADIĆ VELINKA
+RADIĆ VLADIMIR
+RADIĆ ZDRAVKO
+RADIĆ ZORAN
+RADIĆ ZORA
+RADIĆ ZORICA
+RADIBRATOVIĆ MILICA
+RADIBRATOVIĆ MOMČILO
+RADIJELJAC JELENA
+RADIJELJAC MOMČILO
+RADIN ŽIVAN
+RADIN ALEKSANDAR
+RADIN ANTONIJA
+RADIN BRANISLAV
+RADIN BRANISLAV
+RADIN BRANKO
+RADIN DRAGOJLA
+RADIN HRISTINA
+RADIN IVANKA
+RADIN JOVANKA
+RADIN LAZAR
+RADIN LJUBOMIR DR LEKAR
+RADIN LJUBOMIR
+RADIN MAKSIMILIJAN
+RADIN MARA
+RADIN MILADINKA
+RADIN MILAN
+RADIN MILAN
+RADIN MILAN
+RADIN MILAN
+RADIN MILAN
+RADIN MILENA
+RADIN MILKA
+RADIN MIRA
+RADIN MIROSLAV
+RADIN MLADEN
+RADIN NADA
+RADIN NIKOLA DIPL ING
+RADIN PETAR DR
+RADIN RADA
+RADIN RADOSLAV
+RADIN SLAVINKA
+RADIN SLAVKO
+RADIN STEVAN
+RADIN STEVAN
+RADIN SVETISLAV
+RADIN TOMISLAV
+RADIN VESELIN
+RADIN VLADIMIR
+RADIN ZLATOJE
+RADIN ZORANKA
+RADIN ZORA
+RADINOVIĆ ĐORĐE
+RADINOVIĆ BUDIMIR
+RADINOVIĆ DIMITRIJE
+RADINOVIĆ DUŠKO
+RADINOVIĆ ILIJA
+RADINOVIĆ LAZO
+RADINOVIĆ MANOJLO
+RADINOVIĆ MARIJA
+RADINOVIĆ MILICA
+RADINOVIĆ MILIVOJ
+RADINOVIĆ MILORAD
+RADINOVIĆ MIRA
+RADINOVIĆ MLADEN
+RADINOVIĆ MOMČILO DIPL PRAVNIK
+RADINOVIĆ MOMČILO
+RADINOVIĆ NIKOLA
+RADINOVIĆ RADOSLAV
+RADINOVIĆ SILVANA
+RADINOVIĆ STEVAN
+RADINOVIĆ VUKAŠIN
+RADISAVLJEVIĆ ŽIVORAD
+RADISAVLJEVIĆ BOGDAN
+RADISAVLJEVIĆ BORIVOJE
+RADISAVLJEVIĆ IVAN
+RADISAVLJEVIĆ MILOSAV
+RADISAVLJEVIĆ SLAVICA
+RADISAVLJEVIĆ STANIŠA
+RADISAVLJEVIĆ ZORICA DR
+RADIVOJŠA MILOŠ
+RADIVOJŠA SMILJA
+RADIVOJAC DOBRILA
+RADIVOJAC DRAGA
+RADIVOJAC DRAGOLJUB
+RADIVOJAC JOVAN
+RADIVOJAC NATALIJA
+RADIVOJEV RADINKA
+RADIVOJEVIĆ ANĐELKO
+RADIVOJEVIĆ BOGOLJUB
+RADIVOJEVIĆ BRANISLAV
+RADIVOJEVIĆ BRANKO
+RADIVOJEVIĆ BRATIMIR
+RADIVOJEVIĆ DRAGAN MR
+RADIVOJEVIĆ DRAGIŠA
+RADIVOJEVIĆ DRAGOMIR
+RADIVOJEVIĆ DRAGOSLAV
+RADIVOJEVIĆ DUŠAN DIPL OEC
+RADIVOJEVIĆ DUŠANKA
+RADIVOJEVIĆ IDA
+RADIVOJEVIĆ JANKO
+RADIVOJEVIĆ JELA
+RADIVOJEVIĆ JOVANKA
+RADIVOJEVIĆ JOVAN
+RADIVOJEVIĆ LJUBICA
+RADIVOJEVIĆ LJUBODRAG
+RADIVOJEVIĆ LJUBOMIR
+RADIVOJEVIĆ LJUBOMIR
+RADIVOJEVIĆ LUKA
+RADIVOJEVIĆ LUKA
+RADIVOJEVIĆ MILAN
+RADIVOJEVIĆ MILA
+RADIVOJEVIĆ MILE
+RADIVOJEVIĆ MILIVOJE
+RADIVOJEVIĆ MILOMIR
+RADIVOJEVIĆ MIRJANA
+RADIVOJEVIĆ MLADEN
+RADIVOJEVIĆ MOMČILO
+RADIVOJEVIĆ NEĐO
+RADIVOJEVIĆ NEMANJA
+RADIVOJEVIĆ NIKOLA
+RADIVOJEVIĆ PAVLE
+RADIVOJEVIĆ RADIŠA
+RADIVOJEVIĆ RADIVOJE
+RADIVOJEVIĆ RADOŠ
+RADIVOJEVIĆ RATKO
+RADIVOJEVIĆ SINIŠA
+RADIVOJEVIĆ SLOBODAN
+RADIVOJEVIĆ SLOBODAN
+RADIVOJEVIĆ SLOBODAN
+RADIVOJEVIĆ SLOBODAN
+RADIVOJEVIĆ STEVAN
+RADIVOJEVIĆ STOJADIN
+RADIVOJEVIĆ TOMISLAV
+RADIVOJEVIĆ TUGOMIR
+RADIVOJEVIĆ VERA
+RADIVOJEVIĆ VIDA
+RADIVOJEVIĆ VIDA
+RADIVOJEVIĆ VUKICA
+RADIVOJEVIĆ ZORAN
+RADIVOJEVIĆ ZORAN
+RADIVOJKOV ĐORĐE
+RADIVOJKOV JELICA
+RADIVOJKOV MIRJANA
+RADIVOJKOV RAJKO
+RADIVOJKOV SAVA
+RADIVOJKOV STEVAN
+RADLOVAČKI DOBRINKA
+RADLOVAČKI SINIŠA
+RADLOVIĆ MILKA
+RADMAN ŠIMUN
+RADMAN ŠPIRO
+RADMAN IVAN
+RADMAN LEPOSAVA
+RADMAN MILAN
+RADMAN MILE
+RADMAN MILICA
+RADMAN MILOVAN
+RADMAN MIROSLAV
+RADMANIĆ EVICA
+RADMANOVAC MILOVAN
+RADMANOVIĆ DRAGICA
+RADMANOVIĆ DUŠANKA
+RADMANOVIĆ MILUTIN
+RADMILO ĐURO
+RADMILO MARIJA
+RADMILO MIRKO
+RADMILOVIĆ DUŠANKA
+RADMILOVIĆ MILAN
+RADMILOVIĆ MILOŠ
+RADMILOVIĆ MIROSLAV
+RADMILOVIĆ NEDELJKO
+RADMILOVIĆ RADE PROFESOR
+RADMILOVIĆ SLAVOLJUB
+RADMILOVIĆ STEVO
+RADNIĆ DOBRINKA
+RADNOV ALEKSA
+RADNOV LENKA
+RADNOV RADIVOJ
+RADNOV RAJKO
+RADNOV ZORKA
+RADNOVIĆ DRAGAN
+RADNOVIĆ OLGICA
+RADNOVIĆ RADOVAN
+RADNOVIĆ UROŠ
+RADNOVIĆ UROŠ
+RADOČAJ DUŠANKA
+RADOČAJ ILIJA
+RADOČAJ MARA
+RADOČAJ MILKA
+RADOČAJ NEDELJKA
+RADOČAJ SAVKA
+RADOŠ BORISLAV
+RADOŠ DANICA
+RADOŠ DRENKA
+RADOŠ MARTA
+RADOŠ MILAN
+RADOŠ RUŽA
+RADOŠ VOJISLAV
+RADOŠ ZORA
+RADOŠEVIĆ-ŠTIMAC LJUBICA
+RADOŠEVIĆ ĐORĐE
+RADOŠEVIĆ ANĐELKA
+RADOŠEVIĆ ANICA
+RADOŠEVIĆ ANICA
+RADOŠEVIĆ BOŽIDAR
+RADOŠEVIĆ BOŽO
+RADOŠEVIĆ BRANISLAV
+RADOŠEVIĆ BRANKO
+RADOŠEVIĆ DESANKA
+RADOŠEVIĆ DUŠICA
+RADOŠEVIĆ JELISAVETA
+RADOŠEVIĆ JOVANKA
+RADOŠEVIĆ JOVAN
+RADOŠEVIĆ JOVAN
+RADOŠEVIĆ LJILJANA
+RADOŠEVIĆ LJUBICA
+RADOŠEVIĆ MILENA
+RADOŠEVIĆ MILENA
+RADOŠEVIĆ MILIVOJ
+RADOŠEVIĆ MILOŠ
+RADOŠEVIĆ MILUTIN
+RADOŠEVIĆ MIODRAG
+RADOŠEVIĆ MIRJANA
+RADOŠEVIĆ MIROSLAVA
+RADOŠEVIĆ MITAR
+RADOŠEVIĆ NIKOLA
+RADOŠEVIĆ OLIVERA
+RADOŠEVIĆ RADE
+RADOŠEVIĆ RADIVOJ
+RADOŠEVIĆ RADMILA
+RADOŠEVIĆ RADOVAN
+RADOŠEVIĆ RADOVAN
+RADOŠEVIĆ RODOLJUB
+RADOŠEVIĆ STANICA
+RADOŠEVIĆ TEREZA
+RADOŠEVIĆ VLADIMIR
+RADOŠEVIĆ ZDRAVKO
+RADOC FRANJA
+RADOC-SIMIĆ SOFIJA
+RADOIČIĆ MILOŠ
+RADOIČKI BRANISLAV
+RADOJČEVIĆ MILOŠ
+RADOJČIĆ BOŽA DIPL ING
+RADOJČIĆ BOŽIDAR
+RADOJČIĆ BOŽIDAR
+RADOJČIĆ DANICA
+RADOJČIĆ DARINKA
+RADOJČIĆ DRAGANA
+RADOJČIĆ DRAGOMIR
+RADOJČIĆ DRAGO
+RADOJČIĆ DUŠKO
+RADOJČIĆ GOJKO
+RADOJČIĆ IRENA
+RADOJČIĆ IVAN
+RADOJČIĆ IVAN
+RADOJČIĆ IVAN
+RADOJČIĆ LJIJANA
+RADOJČIĆ LJILJANA
+RADOJČIĆ MILADIN
+RADOJČIĆ MILAN
+RADOJČIĆ MILENKO
+RADOJČIĆ MILICA
+RADOJČIĆ MILORAD
+RADOJČIĆ MILUTIN
+RADOJČIĆ MIODRAG
+RADOJČIĆ MITAR
+RADOJČIĆ NADICA
+RADOJČIĆ NENAD
+RADOJČIĆ-OBERKNEŽEV MIRJANA
+RADOJČIĆ PAVLE
+RADOJČIĆ SAVA
+RADOJČIĆ SRETEN
+RADOJČIĆ STEVAN
+RADOJČIĆ VITOMIR
+RADOJČIĆ VLADAN
+RADOJČIĆ VOJISLAV
+RADOJČIN ĐORĐE
+RADOJČIN ANICA
+RADOJČIN DOBRILA
+RADOJČIN DUŠICA
+RADOJČIN EVICA
+RADOJČIN JULKA
+RADOJČIN MARA
+RADOJČIN MARTA
+RADOJČIN MILAN
+RADOJČIN MILKA
+RADOJČIN MILOŠ
+RADOJČIN MILOVAN
+RADOJČIN MIRJANA
+RADOJČIN RADMILA
+RADOJČIN RADOJKA
+RADOJČIN RADOVAN
+RADOJČIN SLOBODAN
+RADOJČIN SREDOJE
+RADOJČIN TODOR
+RADOJČIN VELIMIR
+RADOJČIN VERA
+RADOJČIN VERA
+RADOJA BORISLAV
+RADOJA KOVILJKA
+RADOJEV IVAN
+RADOJEV SLAVKO
+RADOJEVIĆ ĐOKA
+RADOJEVIĆ ANĐELKA
+RADOJEVIĆ BOSILJKA
+RADOJEVIĆ DEJAN
+RADOJEVIĆ DRAGOSLAV
+RADOJEVIĆ JELENA
+RADOJEVIĆ JELICA
+RADOJEVIĆ KATA
+RADOJEVIĆ KOSTA
+RADOJEVIĆ MILAN
+RADOJEVIĆ MILENKO
+RADOJEVIĆ MILE
+RADOJEVIĆ MILUTIN
+RADOJEVIĆ MIRJANA
+RADOJEVIĆ MIROSANDA
+RADOJEVIĆ MOMČILO
+RADOJEVIĆ NIKOLA
+RADOJEVIĆ NIKOLA
+RADOJEVIĆ NIKOLA
+RADOJEVIĆ PETRA
+RADOJEVIĆ RADISAV
+RADOJEVIĆ RADOSLAVKA DR
+RADOJEVIĆ SAVA
+RADOJEVIĆ SLAVKO
+RADOJEVIĆ SRBOLJUB
+RADOJEVIĆ STEVAN
+RADOJEVIĆ STEVAN
+RADOJEVIĆ TATJANA
+RADOJEVIĆ VERA
+RADOJEVIĆ ZORAN
+RADOJIČIĆ ĐOKA
+RADOJIČIĆ ĐORĐO
+RADOJIČIĆ DANILO
+RADOJIČIĆ DRAGAN
+RADOJIČIĆ JELENA
+RADOJIČIĆ JORDAN
+RADOJIČIĆ LJUBOMIR
+RADOJIČIĆ MILICA
+RADOJIČIĆ MILOSAV
+RADOJIČIĆ OBREN
+RADOJIČIĆ RADE
+RADOJIČIĆ RADIŠA
+RADOJIČIĆ VLADAN
+RADOJIČIĆ VOJIN
+RADOJKO JELENA
+RADOJKOVIĆ ĐURĐINKA
+RADOJKOVIĆ LJUBICA
+RADOJKOVIĆ PREDRAG
+RADOJKOVIĆ PRVOSLAV
+RADOJKOVIĆ PRVOSLAV
+RADOJKOVIĆ RAJKO
+RADOJKOVIĆ TIHOMIR
+RADOJKOVIĆ TOMISLAV
+RADOJKOVIĆ TRAJKO
+RADOJKOVIĆ VLADIMIR
+RADOMAN JELENA
+RADOMAN LJUBICA
+RADOMAN MARTA
+RADOMAN MIROSLAV
+RADOMAN ZORAN
+RADOMIR STOJAN
+RADOMIROVIĆ MILORAD
+RADOMIROVIĆ VINKO
+RADOMIROVIĆ VUKSAN
+RADOMIROVIĆ ZLATA
+RADONČIĆ JUSUF
+RADONČIĆ RAMIZ
+RADONIĆ ŽELJKO
+RADONIĆ ŽIVAN
+RADONIĆ ŽIVKO
+RADONIĆ ALEKSANDAR
+RADONIĆ ANĐELKA
+RADONIĆ BLAGOJE
+RADONIĆ BRANISLAV
+RADONIĆ BRANKO DIPL ING
+RADONIĆ BRANKO
+RADONIĆ DANICA
+RADONIĆ DUŠAN
+RADONIĆ EVGENIJE
+RADONIĆ FERENC
+RADONIĆ HANA
+RADONIĆ JOVAN
+RADONIĆ LJUBOMIR
+RADONIĆ MAKSIM
+RADONIĆ MILIVOJE
+RADONIĆ MILOVAN
+RADONIĆ MLADEN
+RADONIĆ NADA
+RADONIĆ NADA
+RADONIĆ NEDELJKO
+RADONIĆ NENAD
+RADONIĆ NIKOLA
+RADONIĆ NIKOLA
+RADONIĆ NOVICA
+RADONIĆ PETAR
+RADONIĆ RADA
+RADONIĆ RADE
+RADONIĆ RADIVOJ
+RADONIĆ RADIVOJ
+RADONIĆ RADMILA
+RADONIĆ RAJKO
+RADONIĆ SOFIJA
+RADONIĆ VLADA
+RADONIĆ VLADIMIR
+RADONJA ANTE
+RADONJANIN MARTA
+RADONJANIN PETAR
+RADONJANIN VLASTIMIR
+RADONJIĆ BRANISLAV
+RADONJIĆ DRAGAN
+RADONJIĆ IVAN
+RADONJIĆ KATARINA
+RADONJIĆ LUKA
+RADONJIĆ MANDA
+RADONJIĆ MILADIN
+RADONJIĆ MILOVAN
+RADONJIĆ MIRJANA
+RADONJIĆ MITAR
+RADONJIĆ OLGA
+RADONJIĆ SENKA
+RADONJIĆ SLAVOMIR
+RADONJIĆ SLOBODAN
+RADONJIĆ SNEŽANA
+RADONJIĆ STANA
+RADONJIĆ VERICA
+RADOSAV ERŽEBET
+RADOSAV KRISTINA
+RADOSAV RADIVOJ
+RADOSAVČEV DUŠAN
+RADOSAVČEV MILA
+RADOSAVAC DIMITRIJE DR
+RADOSAVAC DUŠICA
+RADOSAVAC NEDELJKO
+RADOSAVAC VELIZAR
+RADOSAVAC VLADO
+RADOSAVLJEV ŽIVAN
+RADOSAVLJEV BOŽIDAR
+RADOSAVLJEV DRAGOLJUB
+RADOSAVLJEV DRAGUTIN
+RADOSAVLJEV GOJKO
+RADOSAVLJEV IVAN
+RADOSAVLJEV JEVREM
+RADOSAVLJEV KAĆA
+RADOSAVLJEV MILORAD
+RADOSAVLJEV NIKOLA
+RADOSAVLJEV PAVLE
+RADOSAVLJEV SLAVKA
+RADOSAVLJEV STEVAN
+RADOSAVLJEV ZORA
+RADOSAVLJEV ZORICA
+RADOSAVLJEVIĆ ŽIVAN
+RADOSAVLJEVIĆ ĐORĐE
+RADOSAVLJEVIĆ ĐORĐE
+RADOSAVLJEVIĆ ALEKSANDAR
+RADOSAVLJEVIĆ ANA
+RADOSAVLJEVIĆ ANA
+RADOSAVLJEVIĆ BOŽIDAR
+RADOSAVLJEVIĆ BOGDAN
+RADOSAVLJEVIĆ BOGOVID
+RADOSAVLJEVIĆ BORA
+RADOSAVLJEVIĆ BORA
+RADOSAVLJEVIĆ BUDIMIR
+RADOSAVLJEVIĆ DANIEL
+RADOSAVLJEVIĆ DIANA
+RADOSAVLJEVIĆ DOBRIVOJE
+RADOSAVLJEVIĆ DRAGAN
+RADOSAVLJEVIĆ DRAGIŠA
+RADOSAVLJEVIĆ DRAGOLJUB
+RADOSAVLJEVIĆ DRAGUTIN
+RADOSAVLJEVIĆ DUŠAN DIPL ING
+RADOSAVLJEVIĆ DUŠAN
+RADOSAVLJEVIĆ DUŠAN
+RADOSAVLJEVIĆ ILIJA
+RADOSAVLJEVIĆ JASMINA
+RADOSAVLJEVIĆ JOVAN
+RADOSAVLJEVIĆ JOVAN
+RADOSAVLJEVIĆ JOVAN
+RADOSAVLJEVIĆ JULIJA
+RADOSAVLJEVIĆ LEPOSAVA
+RADOSAVLJEVIĆ LJILJANA
+RADOSAVLJEVIĆ LJILJA
+RADOSAVLJEVIĆ LJUBIŠA
+RADOSAVLJEVIĆ LJUBOMIR
+RADOSAVLJEVIĆ LJUBOMIR
+RADOSAVLJEVIĆ MARKO
+RADOSAVLJEVIĆ MILAN
+RADOSAVLJEVIĆ MILAN
+RADOSAVLJEVIĆ MILAN
+RADOSAVLJEVIĆ MILENKO
+RADOSAVLJEVIĆ MILENKO
+RADOSAVLJEVIĆ MILEVA
+RADOSAVLJEVIĆ MILKA
+RADOSAVLJEVIĆ MILOVAN
+RADOSAVLJEVIĆ MIODRAG
+RADOSAVLJEVIĆ MIRJANA
+RADOSAVLJEVIĆ MIRJANA
+RADOSAVLJEVIĆ MLADEN
+RADOSAVLJEVIĆ NJEGOSAVA
+RADOSAVLJEVIĆ PAVLE
+RADOSAVLJEVIĆ PETAR
+RADOSAVLJEVIĆ RADIŠA
+RADOSAVLJEVIĆ RADIŠA
+RADOSAVLJEVIĆ RADIVOJ
+RADOSAVLJEVIĆ RAMIZA
+RADOSAVLJEVIĆ RODOLJUB DIPL ING
+RADOSAVLJEVIĆ SAVA
+RADOSAVLJEVIĆ SINIŠA
+RADOSAVLJEVIĆ STEVAN
+RADOSAVLJEVIĆ STEVAN
+RADOSAVLJEVIĆ STEVAN
+RADOSAVLJEVIĆ STOJAN
+RADOSAVLJEVIĆ SVETISLAV
+RADOSAVLJEVIĆ SVETISLAV
+RADOSAVLJEVIĆ SVETLANA
+RADOSAVLJEVIĆ SVETOZAR
+RADOSAVLJEVIĆ VIDOSAVA
+RADOSAVLJEVIĆ VLADETA
+RADOSAVLJEVIĆ ZAGA
+RADOSAVLJEVIĆ ZAGORKA
+RADOSAVLJEVIĆ ZORICA
+RADOVAC IVA
+RADOVAC NIKOLA
+RADOVAC PETAR
+RADOVAC SAVA
+RADOVAN ANTE
+RADOVAN VIDOSAVA
+RADOVANČEV BRANISLAV
+RADOVANČEV LJUBICA
+RADOVANČEV VLADIMIR
+RADOVANČEV VLADIMIR
+RADOVANAC ĐURA
+RADOVANAC NEĐO
+RADOVANOV ŽIVAN
+RADOVANOV ALEKSANDAR
+RADOVANOV ANĐELKA
+RADOVANOV ANKA
+RADOVANOV BOŽIDAR
+RADOVANOV BOGDANKA
+RADOVANOV BRANKO
+RADOVANOV DANICA
+RADOVANOV DUŠAN
+RADOVANOV DUŠAN
+RADOVANOV DUŠAN
+RADOVANOV EVICA
+RADOVANOV GORDANA
+RADOVANOV ILIJA
+RADOVANOV KUZMAN
+RADOVANOV LJUBICA
+RADOVANOV MARIJA
+RADOVANOV MELANIJA
+RADOVANOV MILAN
+RADOVANOV MILAN
+RADOVANOV MILENKO
+RADOVANOV MILENKO
+RADOVANOV MILENKO
+RADOVANOV MILICA
+RADOVANOV MILICA
+RADOVANOV MILICA
+RADOVANOV MILKA
+RADOVANOV MIRJANA
+RADOVANOV NADA
+RADOVANOV NEVENKA
+RADOVANOV PETAR
+RADOVANOV PETAR
+RADOVANOV PETAR
+RADOVANOV RADOMIR
+RADOVANOV RADOVAN
+RADOVANOV RUŽICA
+RADOVANOV SLOBODANKA
+RADOVANOV SLOBODAN
+RADOVANOV SLOBODAN
+RADOVANOV SMILJANA
+RADOVANOV STEVAN
+RADOVANOV STEVAN
+RADOVANOV STEVA
+RADOVANOV SVETOZAR
+RADOVANOV TATJANA
+RADOVANOV TINKA
+RADOVANOV VOJISLAV
+RADOVANOVIĆ ŽIVADIN
+RADOVANOVIĆ ĐORĐIJE
+RADOVANOVIĆ BORA
+RADOVANOVIĆ BORKA
+RADOVANOVIĆ BRANKO
+RADOVANOVIĆ DANILO
+RADOVANOVIĆ DARINKA
+RADOVANOVIĆ DOBRIVOJE
+RADOVANOVIĆ DRAGAN
+RADOVANOVIĆ DRAGIŠA
+RADOVANOVIĆ DRAGIŠA
+RADOVANOVIĆ DRAGOLJUB
+RADOVANOVIĆ DUŠANKA
+RADOVANOVIĆ DUŠAN
+RADOVANOVIĆ DUŠKO DIPL ING
+RADOVANOVIĆ ILONKA
+RADOVANOVIĆ JELICA
+RADOVANOVIĆ JOKA
+RADOVANOVIĆ JOVANKA
+RADOVANOVIĆ LAZAR
+RADOVANOVIĆ LAZO
+RADOVANOVIĆ LJUBICA
+RADOVANOVIĆ LJUBOMIR
+RADOVANOVIĆ MARA
+RADOVANOVIĆ MARIJA DR
+RADOVANOVIĆ MARIJA
+RADOVANOVIĆ MIĆO
+RADOVANOVIĆ MILADIN
+RADOVANOVIĆ MILAN
+RADOVANOVIĆ MILAN
+RADOVANOVIĆ MILAN
+RADOVANOVIĆ MILA
+RADOVANOVIĆ MILICA
+RADOVANOVIĆ MILOŠ
+RADOVANOVIĆ MILOŠ
+RADOVANOVIĆ MILORAD
+RADOVANOVIĆ MILORAD
+RADOVANOVIĆ MILORAD
+RADOVANOVIĆ MILUTIN
+RADOVANOVIĆ MIRA
+RADOVANOVIĆ MIROSLAV DR PROF
+RADOVANOVIĆ MIROSLAV
+RADOVANOVIĆ MLAĐEN
+RADOVANOVIĆ MOMIR
+RADOVANOVIĆ NADA
+RADOVANOVIĆ NEDELJKO
+RADOVANOVIĆ NIKOLA
+RADOVANOVIĆ NINOSLAV DR
+RADOVANOVIĆ PREDRAG
+RADOVANOVIĆ RADENKO
+RADOVANOVIĆ RADIVOJ
+RADOVANOVIĆ RADOJICA
+RADOVANOVIĆ RADOMIR DR LEKAR
+RADOVANOVIĆ RADOSLAV
+RADOVANOVIĆ RADOSLAV
+RADOVANOVIĆ RADOVAN
+RADOVANOVIĆ RAJA
+RADOVANOVIĆ RAJKO
+RADOVANOVIĆ SLADOLJUB
+RADOVANOVIĆ SLAVKO
+RADOVANOVIĆ SLAVKO
+RADOVANOVIĆ SLOBODAN
+RADOVANOVIĆ SNEŽANA
+RADOVANOVIĆ SRETEN
+RADOVANOVIĆ STANOJE
+RADOVANOVIĆ STEVAN
+RADOVANOVIĆ STEVAN
+RADOVANOVIĆ SVETISLAV
+RADOVANOVIĆ TOMISLAV
+RADOVANOVIĆ VELISAV
+RADOVANOVIĆ VIDOSAVA
+RADOVANOVIĆ VINKA
+RADOVANOVIĆ VLADIMIR
+RADOVANOVIĆ VOJISLAV
+RADOVANOVIĆ VOJISLAV
+RADOVANOVIĆ ZORKA
+RADOVANOVIĆ ZVEZDANA
+RADOVIĆ ČEDOMIR
+RADOVIĆ ŽARKO
+RADOVIĆ ŽIVAN
+RADOVIĆ ĐORĐE
+RADOVIĆ ALEKSANDAR
+RADOVIĆ ALEKSANDAR
+RADOVIĆ ANĐELIJA
+RADOVIĆ BLAGA
+RADOVIĆ BLAGOJE
+RADOVIĆ BOŠKO
+RADOVIĆ BOGOLJUB
+RADOVIĆ BORISLAV
+RADOVIĆ BRANISLAV DIPL ING
+RADOVIĆ BRANKO
+RADOVIĆ DAMJAN
+RADOVIĆ DARKO
+RADOVIĆ DEJAN
+RADOVIĆ DIMITRIJE
+RADOVIĆ DOBRILA
+RADOVIĆ DRAGAN
+RADOVIĆ DRAGIŠA
+RADOVIĆ DRAGICA
+RADOVIĆ DRAGOLJUB
+RADOVIĆ DRAGUTIN
+RADOVIĆ DUŠAN
+RADOVIĆ GOJKO DIPL ING
+RADOVIĆ IRMA
+RADOVIĆ IVA
+RADOVIĆ JEVTO
+RADOVIĆ JOVAN
+RADOVIĆ LJUBOMIR
+RADOVIĆ MAGDALENA
+RADOVIĆ MAGDA
+RADOVIĆ MILAN
+RADOVIĆ MILAN
+RADOVIĆ MILAN
+RADOVIĆ MILAN
+RADOVIĆ MILENA
+RADOVIĆ MILEVA
+RADOVIĆ MILE
+RADOVIĆ MILOŠ
+RADOVIĆ MILOJE
+RADOVIĆ MILOMIR
+RADOVIĆ MILUTIN
+RADOVIĆ MIODRAG
+RADOVIĆ MIODRAG
+RADOVIĆ MIRČETA
+RADOVIĆ MOMČILO
+RADOVIĆ MOMČILO
+RADOVIĆ NEDELJKO
+RADOVIĆ NOVAK
+RADOVIĆ OLGA
+RADOVIĆ PAVLE
+RADOVIĆ PETAR
+RADOVIĆ PETKO
+RADOVIĆ RADOJKA
+RADOVIĆ RADOMIR
+RADOVIĆ RADOVAN
+RADOVIĆ RADOVAN
+RADOVIĆ RADOVAN
+RADOVIĆ RAJKO
+RADOVIĆ RATOMIR DIPL ING
+RADOVIĆ ROZIKA
+RADOVIĆ SAVO
+RADOVIĆ SIMA
+RADOVIĆ SLAVICA
+RADOVIĆ SLAVICA
+RADOVIĆ SLAVKA
+RADOVIĆ SLAVKO
+RADOVIĆ SRETEN
+RADOVIĆ STANKO
+RADOVIĆ STEVAN
+RADOVIĆ STRAHINJA
+RADOVIĆ TEREZIJA
+RADOVIĆ-UVERIĆ MILA DR
+RADOVIĆ VELIMIR
+RADOVIĆ VELJA
+RADOVIĆ VELJKO
+RADOVIĆ VELJKO
+RADOVIĆ VERA
+RADOVIĆ VERA
+RADOVIĆ VIDAK
+RADOVIĆ VIDOSAV
+RADOVIĆ VLADIMIR
+RADOVIĆ VLADIMIR
+RADOVIĆ VLAJKO
+RADOVIĆ VOJISLAV
+RADOVIĆ VUKSAN
+RADOVIĆ ZDRAVKO
+RADOVIĆ ZORAN
+RADOVNIKOVIĆ MARIJA
+RADU BRANKO
+RADUJKO ĐURA
+RADUJKO ALEKSANDAR
+RADUJKO BRANKO
+RADUJKO DESA
+RADUJKO DUŠAN
+RADUJKO DUŠAN
+RADUJKO GORAN
+RADUJKO JASMINA
+RADUJKO LJILJANA
+RADUJKO MARKO
+RADUJKO MILAN
+RADUJKO MIRA
+RADUJKO MIRKO
+RADUJKO NEDELJKO
+RADUJKO STEVO
+RADUJKOV ALEKSANDAR
+RADUJKOV DANICA DIPL ING
+RADUJKOV DANILO
+RADUJKOV DANILO
+RADUJKOV DEJAN
+RADUJKOV DRAGOLJUB
+RADUJKOV LJUBICA
+RADUJKOV LJUBICA
+RADUJKOV MILAN
+RADUJKOV MILIVOJ
+RADUJKOV MITAR
+RADUJKOV NIKOLA
+RADUJKOV PETAR
+RADUJKOV RUŽICA
+RADUJKOV STEVAN
+RADUJKOV VLADIMIR
+RADUJKOVIĆ ILIJA
+RADUJKOVIĆ JELKA
+RADUJKOVIĆ KOSTA
+RADUKA LAJOŠ
+RADUKIĆ RADOSAV
+RADUKIN ALEKSA
+RADUKIN BRANKA
+RADUKIN DANICA
+RADUKIN GAVRA
+RADUKIN LJUBOMIR
+RADUKIN MILAN
+RADUKIN MILENKO
+RADUKIN MIRKO
+RADUKIN RADOSLAV
+RADUKIN STOJKA
+RADULAŠKI BOŠKO
+RADULAŠKI STEVAN
+RADULEV JOVAN
+RADULJ JELENA
+RADULOV CVETISLAV
+RADULOV CVETISLAV
+RADULOV JOVAN
+RADULOV JULKA
+RADULOVIĆ ŽIVKO
+RADULOVIĆ ĐOKO
+RADULOVIĆ ĐORĐE
+RADULOVIĆ ĐORĐE
+RADULOVIĆ ĐURO
+RADULOVIĆ ALEKSANDAR
+RADULOVIĆ ALEKSANDAR
+RADULOVIĆ ANĐELKA
+RADULOVIĆ ANĐELKO
+RADULOVIĆ ANĐELKO
+RADULOVIĆ ANA
+RADULOVIĆ-BELIĆ ZORKA
+RADULOVIĆ BOGDANKA
+RADULOVIĆ BORIVOJ
+RADULOVIĆ BOSA
+RADULOVIĆ BOSILJKA
+RADULOVIĆ BRANKA
+RADULOVIĆ BRANKO
+RADULOVIĆ BRANKO
+RADULOVIĆ BRANKO
+RADULOVIĆ BRANKO
+RADULOVIĆ BRANKO
+RADULOVIĆ BRANKO
+RADULOVIĆ BRATISLAV
+RADULOVIĆ DANIJELA
+RADULOVIĆ DRAGAN
+RADULOVIĆ DRAGICA
+RADULOVIĆ DRAGICA
+RADULOVIĆ DRAGOLJUB
+RADULOVIĆ DRAGUTIN
+RADULOVIĆ DUŠAN
+RADULOVIĆ GORAN
+RADULOVIĆ ILIJA
+RADULOVIĆ JORDAN
+RADULOVIĆ JOVAN
+RADULOVIĆ JOVAN
+RADULOVIĆ KRUNISLAV
+RADULOVIĆ KSENIJA
+RADULOVIĆ LAZAR
+RADULOVIĆ LJUBIŠA DIPL ING
+RADULOVIĆ MAGDA
+RADULOVIĆ MARIJANA
+RADULOVIĆ MARIJA
+RADULOVIĆ MARIJA
+RADULOVIĆ MIHAILO
+RADULOVIĆ MILAN
+RADULOVIĆ MILAN
+RADULOVIĆ MILAN
+RADULOVIĆ MILAN
+RADULOVIĆ MILENA
+RADULOVIĆ MILE
+RADULOVIĆ MILOJE
+RADULOVIĆ MILORAD DR
+RADULOVIĆ MILOVAN
+RADULOVIĆ MILUTIN
+RADULOVIĆ MIRJANA
+RADULOVIĆ MIRKO
+RADULOVIĆ MIROSLAVA
+RADULOVIĆ NADA
+RADULOVIĆ NEDELJKA
+RADULOVIĆ NIKOLA DIPL ING
+RADULOVIĆ NIKOLA
+RADULOVIĆ NIKOLA
+RADULOVIĆ NIKOLA
+RADULOVIĆ NINOSLAVA DR
+RADULOVIĆ PETAR
+RADULOVIĆ PETAR
+RADULOVIĆ RADE
+RADULOVIĆ RADIVOJ
+RADULOVIĆ RADOJE DR
+RADULOVIĆ RADOJKA
+RADULOVIĆ RADOMIR
+RADULOVIĆ RAJKO
+RADULOVIĆ ROZALIJA
+RADULOVIĆ RUŽA
+RADULOVIĆ RUDOLF
+RADULOVIĆ SAVA
+RADULOVIĆ SAVA
+RADULOVIĆ SAVA
+RADULOVIĆ SELIMIR
+RADULOVIĆ SLAVICA
+RADULOVIĆ SLOBODAN
+RADULOVIĆ SREĆKO
+RADULOVIĆ SRETO
+RADULOVIĆ STANA
+RADULOVIĆ STANKO
+RADULOVIĆ STEVAN DR
+RADULOVIĆ STEVAN
+RADULOVIĆ STEVAN
+RADULOVIĆ SVETKO
+RADULOVIĆ SVETOZAR
+RADULOVIĆ SVETOZAR
+RADULOVIĆ TOMAŠ
+RADULOVIĆ VELIMIR
+RADULOVIĆ ZLATINKA DR
+RADULOVIĆ ZORAN
+RADULOVIĆ ZORAN
+RADULOVIĆ ZVONIMIR
+RADUMILO ALEKSANDAR
+RADUMILO GORDANA
+RADUMILO MIĆO
+RADUMILO MILORAD
+RADUMILO MIRKO
+RADUN ŽELJKO
+RADUN ŽELJKO
+RADUN DRAGAN
+RADUN GORAN
+RADUN ILIJA
+RADUN JOVAN
+RADUN LJUBICA
+RADUN MARKO
+RADUN MILOŠ
+RADUN SLOBODAN
+RADUN SMILJA
+RADUN VLADO
+RADUNJIĆ MILOMIR
+RADUNKOVIĆ MIROSLAV
+RADUNKOVIĆ RADOMIR
+RADUNKOVIĆ RANKO
+RADUNOVIĆ ĐORĐE
+RADUNOVIĆ JELICA
+RADUNOVIĆ JELICA
+RADUNOVIĆ JEVREM
+RADUNOVIĆ RADUN
+RADUNOVIĆ ROSANDA
+RADUSIN MILE
+RADUSIN TOMA
+RADUSIN VERICA
+RADUSIN VLADIMIR
+RADUSINOVIĆ BISER DIPL ING
+RADUSINOVIĆ BORA
+RADUSINOVIĆ DANILO
+RADUSINOVIĆ MILAN
+RADUSINOVIĆ NEDELJKO
+RADUSINOVIĆ VOJISLAV
+RADVANJ SAŠA
+RADVANJI JOVAN
+RADVANSKI STEVAN
+RAFA ANDRAŠ
+RAFAI GABOR
+RAFAI IŠTVAN
+RAFAI JULIJANA
+RAFAI STEVAN
+RAFAI TIBOR
+RAFAJLOVIĆ ZUZANA
+RAFAL ĐURĐINKA
+RAFAL LAJOŠ
+RAFAL MARIJA
+RAGAČ IVAN
+RAGAI JOVGEN
+RAGAJI ĐURA
+RAGAJI IRINA
+RAGAJI NIKOLA
+RAGAJI NIKOLA
+RAGAJI VLADA
+RAGAJI VLADA
+RAGAJI VLADIMIR
+RAGO ADAM
+RAGUŽ DRAŽEN
+RAHELIĆ SVETOMIR DR
+RAHMAN MIHAJLO
+RAIČ ALEKSANDAR
+RAIČ NIKOLA
+RAIČEVIĆ ŽIVKO
+RAIČEVIĆ ŽIVOJIN
+RAIČEVIĆ ŽIVOJIN
+RAIČEVIĆ BORKA
+RAIČEVIĆ DRAGIĆ
+RAIČEVIĆ MILAN
+RAIČEVIĆ MILICA
+RAIČEVIĆ NIKOLA
+RAIČEVIĆ VESNA
+RAIČEVIĆ ZORAN
+RAIČIĆ ŽIVOJIN
+RAIČIĆ ŽIVOJIN
+RAIĆ DRAGAN
+RAIĆ NIKOLA
+RAILIĆ RANKO
+RAILIĆ VUKOSAVA
+RAIMOVSKI DESANKA
+RAINAC MARIKA
+RAINAC MITAR
+RAJČAN IŠTVAN
+RAJČETIĆ DRAGOMIR
+RAJČETIĆ EMIL
+RAJČETIĆ GOJKO
+RAJČETIĆ IVANKA
+RAJČETIĆ LAZAR
+RAJČETIĆ LJUBICA
+RAJČETIĆ MILIVOJ
+RAJČETIĆ MIROSLAV
+RAJČETIĆ RUŽICA
+RAJČETIĆ SINIŠA
+RAJČETIĆ STOJAN
+RAJČETIĆ VERA
+RAJČETIĆ VLADISLAV
+RAJČETIĆ VLADISLAV
+RAJČEVIĆ VLADETA
+RAJČIĆ GRGA
+RAJČIĆ PAVLE
+RAJČIĆ STEVAN
+RAJŠIĆ ANĐA
+RAJŠIĆ DANICA
+RAJŠIĆ DUŠAN
+RAJŠIĆ ILIJA
+RAJŠIĆ JELA
+RAJŠIĆ NADA
+RAJŠIĆ RADE
+RAJŠIĆ STANA
+RAJŠIĆ STANKO
+RAJŠLI ILONA
+RAJŠLI LASLO
+RAJAČIĆ-ČAPAKOVIĆ JELICA
+RAJAČIĆ ĐURO
+RAJAČIĆ ĐURO
+RAJAČIĆ ALEKSANDAR
+RAJAČIĆ BORISLAV
+RAJAČIĆ BORISLAV
+RAJAČIĆ BRANISLAVA
+RAJAČIĆ DMITAR
+RAJAČIĆ DUŠAN
+RAJAČIĆ GORDANA
+RAJAČIĆ ILIJA
+RAJAČIĆ JOVAN
+RAJAČIĆ MILAN
+RAJAČIĆ MILAN
+RAJAČIĆ MILAN
+RAJAČIĆ PETAR
+RAJAČIĆ TIHOMIR
+RAJAČIĆ VLADIMIR
+RAJAČIĆ VLADO
+RAJAČIĆ ZORICA
+RAJAČIĆ ZORKA
+RAJAK BRANKO
+RAJAK MILENA
+RAJAK NEGOVAN
+RAJAKOVAC MIODRAG
+RAJAKOVAC ZORAN
+RAJBER JOŽEF
+RAJDA PETAR
+RAJDA PETER
+RAJDA SANDI
+RAJEVIĆ KOSTA
+RAJEVIĆ VALERIJA
+RAJH DEŽE
+RAJH OLGA
+RAJH VLADIMIR
+RAJIČ MILAN
+RAJIČIĆ KATALIN
+RAJIČIĆ MIODRAG
+RAJIČIĆ MIODRAG
+RAJIĆ ANKICA
+RAJIĆ BORISAV
+RAJIĆ DARINKA
+RAJIĆ DESANKA
+RAJIĆ DOBRIVOJ
+RAJIĆ DRAGAN
+RAJIĆ DRAGA
+RAJIĆ DRAGICA
+RAJIĆ DRAGUTIN
+RAJIĆ GORDANA
+RAJIĆ IGNJAT
+RAJIĆ ISA
+RAJIĆ JOVAN
+RAJIĆ JOVAN
+RAJIĆ KATARINA
+RAJIĆ KOVINKA
+RAJIĆ KRISTINA
+RAJIĆ LJUBICA
+RAJIĆ LUKA
+RAJIĆ MILAN
+RAJIĆ MILENA
+RAJIĆ MILKA
+RAJIĆ MILORAD
+RAJIĆ MIOMIR
+RAJIĆ NADA
+RAJIĆ NADA
+RAJIĆ NIKOLA
+RAJIĆ PERKA
+RAJIĆ PETAR
+RAJIĆ RADE
+RAJIĆ RADISLAV
+RAJIĆ RADMILA
+RAJIĆ RUŽA
+RAJIĆ SLAVKA
+RAJIĆ SNEŽANA
+RAJIĆ SPASOJE DR
+RAJIĆ STEVAN
+RAJIĆ STEVAN
+RAJIĆ STEVAN
+RAJIĆ VELIMIR
+RAJIĆ VELIMIR
+RAJIĆ VELINKA
+RAJIĆ VOJISLAV
+RAJIĆ VOJISLAV
+RAJIĆ ZORAN
+RAJILIĆ JOVANKA
+RAJINAC-BUKUROV DRAGANA
+RAJINAC NENAD
+RAJINAC SVETOZAR
+RAJINOVIĆ MIRKO
+RAJKIĆ NIKOLA
+RAJKOV BOGDAN DR
+RAJKOV BORIVOJ
+RAJKOV DESANKA
+RAJKOV DRAGIĆ
+RAJKOV DUŠAN
+RAJKOV ISIDOR
+RAJKOV IVAN
+RAJKOV IVAN
+RAJKOV LJUBOMIR
+RAJKOV MARKO
+RAJKOV MILAN
+RAJKOV MILENKO
+RAJKOV MILORAD
+RAJKOV MLADEN DIPL ING
+RAJKOV MOMIR
+RAJKOV MOMIR
+RAJKOV NIKOLA
+RAJKOV PETAR
+RAJKOV RAJKO
+RAJKOV RATIMIR
+RAJKOV SAVA
+RAJKOV STEVAN
+RAJKOV VESNA
+RAJKOV VLADIMIR
+RAJKOV VUKAŠIN
+RAJKOVIĆ ČEDOMIR
+RAJKOVIĆ ŽIVAN DR
+RAJKOVIĆ ANKICA
+RAJKOVIĆ BLAGUTIN
+RAJKOVIĆ BOGOLJUB
+RAJKOVIĆ BORIVOJE
+RAJKOVIĆ BRANKO
+RAJKOVIĆ DAMNJAN
+RAJKOVIĆ DRAGANA
+RAJKOVIĆ DRAGAN
+RAJKOVIĆ DRAGIŠA
+RAJKOVIĆ DRAGOLJUB
+RAJKOVIĆ DUŠAN
+RAJKOVIĆ IVO
+RAJKOVIĆ LJUBOMIR
+RAJKOVIĆ MILAN
+RAJKOVIĆ MILEVA
+RAJKOVIĆ MILIĆ
+RAJKOVIĆ MILJKO
+RAJKOVIĆ MIRKO
+RAJKOVIĆ MIROLJUB
+RAJKOVIĆ NIKOLA
+RAJKOVIĆ PETAR
+RAJKOVIĆ RAJKO
+RAJKOVIĆ RATKO
+RAJKOVIĆ SLAVKO
+RAJKOVIĆ SLOBODAN
+RAJKOVIĆ SRBOLJUB
+RAJKOVIĆ SRETEN
+RAJKOVIĆ STEVAN
+RAJKOVIĆ STOJA
+RAJKOVIĆ SVETISLAV
+RAJKOVIĆ TATJANA
+RAJKOVIĆ TOMISLAV
+RAJKOVIĆ VELIMIR
+RAJKOVIĆ VIDOSAV
+RAJKOVIĆ VLASTIMIR
+RAJLIĆ MILKA
+RAJLIĆ NEVENKA
+RAJMOVSKA JELZA
+RAJNIĆ DRAGAN
+RAJNIĆ NOVAK
+RAJNINGER JOŽEF
+RAJNOVIĆ ALOJZ
+RAJNOVIĆ BLAŽ
+RAJNOVIĆ JELENA
+RAJNOVIĆ JOVAN
+RAJNOVIĆ JULIJANA
+RAJNOVIĆ NADA
+RAJNOVIĆ SNEŽANA
+RAJNPREHT VERA
+RAJTA IŠTVAN
+RAJTA MARIJA
+RAJTA NIKOLA
+RAJTENBAH ELEMIR
+RAJTER DRAGICA
+RAJTER ZOLTAN
+RAK ANICA
+RAK MARIJA
+RAK NIKOLA
+RAK VELIBOR
+RAKŠANJI LADISLAV
+RAKAS ĐORĐE
+RAKAS RADOJKA
+RAKAZOV MIODRAG
+RAKETIĆ TOMISLAV
+RAKIĆ ŽARKO
+RAKIĆ ŽIVKA
+RAKIĆ ŽIVKO
+RAKIĆ ĐORĐE
+RAKIĆ ĐORĐE
+RAKIĆ ĐORĐE
+RAKIĆ ĐURA
+RAKIĆ ALEKSANDAR
+RAKIĆ ANĐELIJA
+RAKIĆ ANĐELKA
+RAKIĆ ANASTASIJA
+RAKIĆ ANA
+RAKIĆ BLAGOJE
+RAKIĆ BOŽO
+RAKIĆ BOGDANKA
+RAKIĆ BORO
+RAKIĆ BRANIMIR
+RAKIĆ BRANISLAV
+RAKIĆ BRANKA
+RAKIĆ BRANKO
+RAKIĆ DARINKA
+RAKIĆ DOMINKA
+RAKIĆ DRAGANA
+RAKIĆ DRAGAN
+RAKIĆ DRAGIŠA
+RAKIĆ DRAGOMIR
+RAKIĆ DUŠANKA
+RAKIĆ DUŠAN
+RAKIĆ DUŠAN
+RAKIĆ DUŠAN
+RAKIĆ DUŠAN
+RAKIĆ DUŠAN
+RAKIĆ DUŠAN
+RAKIĆ DUŠAN
+RAKIĆ DUŠAN
+RAKIĆ DUŠAN
+RAKIĆ DUŠAN
+RAKIĆ GAVRA
+RAKIĆ GLIGORIJE
+RAKIĆ GORDANA
+RAKIĆ GRUJA
+RAKIĆ IVAN
+RAKIĆ JOVANKA
+RAKIĆ JOVAN
+RAKIĆ JOVAN
+RAKIĆ JOVAN
+RAKIĆ JOVICA
+RAKIĆ KATICA
+RAKIĆ KLEMENT
+RAKIĆ LAZAR
+RAKIĆ LJILJANA
+RAKIĆ LJILJANA
+RAKIĆ LJILJANA
+RAKIĆ LJUBIŠA DR LEKAR
+RAKIĆ LJUBIŠA
+RAKIĆ LJUBICA
+RAKIĆ LJUBICA
+RAKIĆ LJUBICA
+RAKIĆ LJUBICA
+RAKIĆ LJUBOMIR
+RAKIĆ LJUBO
+RAKIĆ MATIJA
+RAKIĆ MILANKA
+RAKIĆ MILAN
+RAKIĆ MILAN
+RAKIĆ MILAN
+RAKIĆ MILAN
+RAKIĆ MILAN
+RAKIĆ MILAN
+RAKIĆ MILAN
+RAKIĆ MILENKO
+RAKIĆ MILENKO
+RAKIĆ MILENKO
+RAKIĆ MILICA
+RAKIĆ MILINA
+RAKIĆ MILIVOJE
+RAKIĆ MILIVOJ
+RAKIĆ MILIVOJ
+RAKIĆ MILIVOJ
+RAKIĆ MILKA
+RAKIĆ MILOŠ
+RAKIĆ MILOVAN
+RAKIĆ MILUTIN
+RAKIĆ MIODRAG
+RAKIĆ MIRA
+RAKIĆ MIRA
+RAKIĆ MIRJANA
+RAKIĆ MIRJANA
+RAKIĆ MIRJANA
+RAKIĆ MIRJANA
+RAKIĆ MIROSLAVA
+RAKIĆ NATALIJA
+RAKIĆ NEBOJŠA
+RAKIĆ NEDELJKO
+RAKIĆ NENAD
+RAKIĆ NENAD
+RAKIĆ NIKOLA
+RAKIĆ NIKOLA
+RAKIĆ NOVAK
+RAKIĆ OBRAD
+RAKIĆ PAJA
+RAKIĆ PANE
+RAKIĆ PAVLE
+RAKIĆ PETAR
+RAKIĆ PETAR
+RAKIĆ PREDRAG
+RAKIĆ RADMILA
+RAKIĆ RADMILA
+RAKIĆ RADOJKA
+RAKIĆ RADOJKA
+RAKIĆ RADOSLAV DIPL ING
+RAKIĆ RADOVAN
+RAKIĆ RADOVAN
+RAKIĆ RADOVAN
+RAKIĆ RADOVAN
+RAKIĆ RADOVAN
+RAKIĆ RAJKO
+RAKIĆ RAJKO
+RAKIĆ RUŽICA
+RAKIĆ SAVA
+RAKIĆ SLAVKA
+RAKIĆ SLAVKO
+RAKIĆ SLOBODAN
+RAKIĆ SLOBODAN
+RAKIĆ SLOBODAN
+RAKIĆ SMILJANA
+RAKIĆ SOFIJA
+RAKIĆ STAMENKA
+RAKIĆ STEVANKA
+RAKIĆ STEVAN
+RAKIĆ STEVAN
+RAKIĆ STEVAN
+RAKIĆ STEVAN
+RAKIĆ STEVICA
+RAKIĆ STOJANKA
+RAKIĆ STOJAN
+RAKIĆ SVETOMIR
+RAKIĆ SVETOZAR
+RAKIĆ TIMA
+RAKIĆ TODOR
+RAKIĆ TOMISLAV
+RAKIĆ VASILIJE
+RAKIĆ VELEMIR
+RAKIĆ VERA
+RAKIĆ VERA
+RAKIĆ VIDOSAVA
+RAKIĆ VLADIMIR
+RAKIĆ VLADIMIR
+RAKIĆ VLADIMIR
+RAKIĆ VLADIMIR
+RAKIĆ VLADIMIR
+RAKIĆ ZAGA
+RAKIĆ ZLATA
+RAKIĆ ZORAN
+RAKIĆ ZORKA
+RAKIĆEVIĆ STAMENA
+RAKIĆEVIĆ TIHOMIR
+RAKIĆEVIĆ ZORAN
+RAKIN ĐORĐE
+RAKIN ANTUN
+RAKIN BORISLAV
+RAKIN GOJKO
+RAKIN JELICA
+RAKIN JULIJANA
+RAKIN-MARTINOVIĆ RADMILA
+RAKIN RADOVAN
+RAKITA ANKICA
+RAKITA BOŽO
+RAKITA CVIJAN
+RAKITA CVIJO
+RAKITA JOVO
+RAKITA LJILJANA
+RAKITA MILAN
+RAKITA MLADINKO
+RAKITA PETAR
+RAKITA SIMKA
+RAKOČEVIĆ ĐORĐE
+RAKOČEVIĆ BORO
+RAKOČEVIĆ GRUJICA
+RAKOČEVIĆ MARIJAN
+RAKOČEVIĆ MARKO
+RAKOČEVIĆ MILAN
+RAKOČEVIĆ MILIJA
+RAKOČEVIĆ MIROSLAV
+RAKOČEVIĆ RADE
+RAKOČEVIĆ RADMILA
+RAKOŠ JANOŠ
+RAKOŠ KATICA
+RAKOŠ ZVONIMIR
+RAKOŠI NADA
+RAKOŠI VLADISLAV
+RAKONJAC BOGOLJUB
+RAKONJAC PUNIŠA
+RAKOVIĆ ALEKSANDAR
+RAKOVIĆ DRAGICA
+RAKOVIĆ DUŠAN
+RAKOVIĆ JUGOSLAV
+RAKOVIĆ LJUBINKA
+RAKOVIĆ MILAN
+RAKOVIĆ MILOVAN
+RAKOVIĆ NIKOLA
+RAKOVIĆ OSTOJA
+RAKOVIĆ RADOMIR
+RAKOVIĆ RATKO
+RAKOVIĆ SLAVKO
+RAKOVIĆ STANISLAV
+RAKOVIĆ TOMISLAV
+RAKOVIĆ VITOMIRKA
+RAKOVIĆ VLADO
+RAKUŠIĆ VLADIMIR
+RALETIĆ ŽIVKA
+RALETIĆ ĐORĐE
+RALETIĆ ĐURA
+RALETIĆ ANĐELKA
+RALETIĆ ANA
+RALETIĆ BOGDAN
+RALETIĆ DOBRICA
+RALETIĆ DRAGAN
+RALETIĆ DUŠAN
+RALETIĆ ILIJA
+RALETIĆ JELICA
+RALETIĆ LAZAR
+RALETIĆ LAZAR
+RALETIĆ LAZAR
+RALETIĆ LEPOSAVA
+RALETIĆ MAJA
+RALETIĆ MILAN
+RALETIĆ MILOŠ
+RALETIĆ MILOŠ
+RALETIĆ MILORAD
+RALETIĆ MIRKO
+RALETIĆ MIROSLAV
+RALETIĆ MLADEN
+RALETIĆ PETAR
+RALETIĆ-SAVIĆ JELENA
+RALETIĆ-SAVIĆ JELENA
+RALETIĆ VELJKO
+RALETIĆ VERA
+RALETIĆ ZORAN
+RALETIĆ ZORICA
+RALEVIĆ NEBOJŠA
+RALIĆ ŽIVOJIN
+RALIĆ BRANKO
+RALIĆ DRAGICA
+RALIĆ DUŠAN
+RALIĆ MARIJA
+RALIĆ MARIJA
+RALIĆ MILE
+RALIĆ MOMIRKA
+RALIĆ STEVAN
+RALIĆ STEVA
+RALJIĆ ANĐELKO
+RALJIĆ DRAGINJA
+RALJIĆ DUŠAN
+RALJIĆ NEDELJKO
+RAMAČ ANICA
+RAMAČ IVAN
+RAMAČ JULIJAN
+RAMAČ LEONA
+RAMAČ LJUBOMIR
+RAMAČ LJUBOMIR
+RAMAČ LJUBOMIR
+RAMAČ MARIJA
+RAMAČ MIHAJLO
+RAMAČ MIHAJLO
+RAMAČ MIROSLAV
+RAMAČ NADA
+RAMAČ NATALIJA
+RAMAČ PETAR
+RAMAČ SIMEON
+RAMAČ VLADIMIR
+RAMAČ ZDENKA
+RAMAĆ MILEVA
+RAMADANI ROZA
+RAMADANOV MUMUDIJA
+RAMADANOVIĆ ĐEMALJ
+RAMADANOVIĆ JAKOV
+RAMADANOVSKI NADA
+RAMADANOVSKI NEDELJKO
+RAMADANSKI DRAGIĆ
+RAMADANSKI JELENA
+RAMADANSKI MILINKA
+RAMAZANOV VIKTOR
+RAMIĆ ĐUKA
+RAMIĆ JOVANKA
+RAMIĆ LAZAR
+RAMIĆ LUKA
+RAMIĆ LUKA
+RAMIĆ MILOŠ DIPL OEC
+RAMIĆ NIKOLA
+RAMIĆ RADOJKA
+RAMIĆ STOJAN
+RAMIĆ VELIDA
+RAMLJAK VLADIMIR
+RAMLJAK ZLATKO
+RANČIĆ ŠIME
+RANČIĆ DUŠANKA
+RANČIĆ HRANISLAV
+RANČIĆ JORDAN
+RANČIĆ MILOŠ
+RANČIĆ RANKO
+RANĐELOVIĆ ĐORĐE
+RANĐELOVIĆ HRANISLAV
+RANĐELOVIĆ ILIJA
+RANĐELOVIĆ LJILJANA
+RANĐELOVIĆ LJUBIŠA
+RANĐELOVIĆ LJUBODRAG
+RANĐELOVIĆ MIRJANA
+RANĐELOVIĆ MIROSLAV
+RANĐELOVIĆ MIROSLAV
+RANĐELOVIĆ MLADEN
+RANĐELOVIĆ OBRAD
+RANĐELOVIĆ RUŽICA
+RANĐELOVIĆ SLAVOLJUB
+RANĐELOVIĆ STEVAN
+RANĐELOVIĆ TOMISLAV
+RANĐELOVIĆ VLASTIMIR
+RANĐELOVIĆ ZORAN
+RANDELJ ĐORĐE
+RANDELJ ĐURĐINKA
+RANDELJ LAZAR
+RANDELJ OLIVERA
+RANDELJ PETAR
+RANDELJ STEVAN
+RANDELJ SVETOZAR
+RANGELOV DIMITAR
+RANGELOV STEVAN
+RANGELOV STEVAN
+RANIĆ VLADISLAV
+RANIN JOVAN
+RANIN LAZAR
+RANISAV RADIVOJ
+RANISAVLJEV ŽIVKO
+RANISAVLJEV ĐORĐE
+RANISAVLJEV ĐORĐE
+RANISAVLJEV GORDANA
+RANISAVLJEV MILICA
+RANISAVLJEV MILOŠ
+RANISAVLJEV PAJA
+RANISAVLJEV RADA
+RANISAVLJEV RADMILA
+RANISAVLJEV RADMILA
+RANISAVLJEV RADOSLAV
+RANISAVLJEV SLAVOLJUB
+RANISAVLJEV STEVAN
+RANISAVLJEV TIJANA
+RANISAVLJEVIĆ ŽARKO
+RANISAVLJEVIĆ ŽELJKO
+RANISAVLJEVIĆ BOGUMILA
+RANISAVLJEVIĆ DOBRIVOJ
+RANISAVLJEVIĆ DUŠAN
+RANISAVLJEVIĆ JELENA
+RANISAVLJEVIĆ NEBOJŠA
+RANISAVLJEVIĆ RADIVOJ
+RANISAVLJEVIĆ SINIŠA
+RANISAVLJEVIĆ SLAVKA
+RANISAVLJEVIĆ VIOLETA
+RANISAVLJEVIĆ ZORAN
+RANISLAV-LARTY NADA DR
+RANITOVIĆ BOŠKO
+RANITOVIĆ BOGOLJUB
+RANITOVIĆ DIVNA
+RANITOVIĆ DRAGOSLAV
+RANITOVIĆ JELICA
+RANITOVIĆ SLAVICA
+RANITOVIĆ VELISLAV
+RANKIĆ STEVO
+RANKIĆ TOMISLAV
+RANKOV ANKICA
+RANKOV DRAGAN DR
+RANKOV DRAGOLJUB
+RANKOV GROZDA
+RANKOV IRENA
+RANKOV IVANKA
+RANKOV JOVAN
+RANKOV KOSTA
+RANKOV LJILJANA
+RANKOV LJUBICA
+RANKOV MARIJA
+RANKOV MILAN
+RANKOV MILIVOJ
+RANKOV MIROSLAV
+RANKOV NEDELJKO
+RANKOV NEDELJKO
+RANKOV OLGICA
+RANKOV PETAR
+RANKOV RADISLAV
+RANKOV RADMILA
+RANKOV RADOJKA
+RANKOV STEVAN
+RANKOV STEVAN
+RANKOV TANASIJE
+RANKOV ZORA
+RANKOVIĆ ŽIVKO
+RANKOVIĆ ANĐELKA DR
+RANKOVIĆ ANDRIJA
+RANKOVIĆ ANKA
+RANKOVIĆ BOŠKO
+RANKOVIĆ BOJAN
+RANKOVIĆ BORIVOJ
+RANKOVIĆ BRANISLAV
+RANKOVIĆ BRANKA
+RANKOVIĆ DARINKA
+RANKOVIĆ DESANKA
+RANKOVIĆ DRAGO
+RANKOVIĆ DUŠAN
+RANKOVIĆ DUŠICA
+RANKOVIĆ DUBRAVKA
+RANKOVIĆ IRENA
+RANKOVIĆ IVAN
+RANKOVIĆ JOVAN
+RANKOVIĆ LJUBICA
+RANKOVIĆ MELANIJA
+RANKOVIĆ MILICA
+RANKOVIĆ MIROSLAV
+RANKOVIĆ NIKOLA DIPL ING
+RANKOVIĆ PREDRAG
+RANKOVIĆ RADIVOJ
+RANKOVIĆ RATOMIR
+RANKOVIĆ ROZALIJA
+RANKOVIĆ SLOBODAN
+RANKOVIĆ STEVAN
+RANKOVIĆ SVETOZAR
+RANKOVIĆ SVETOZAR
+RANKOVIĆ TOMISLAV
+RANKOVIĆ VUKOSAVA
+RANKOVIĆ ZORAN
+RANOGAJEC IVAN
+RAONIĆ ĐORĐE
+RAONIĆ IKONIJA
+RAONIĆ JANKO
+RAONIĆ RADENKO
+RAONIĆ SPASOJE
+RAONIĆ VUKOLA
+RAPČO KATALIN
+RAPAIĆ DEJAN
+RAPAIĆ MIODRAG DR
+RAPAIĆ RADENKA
+RAPAIĆ STEVAN
+RAPAJIĆ ANAMARIJA
+RAPAJIĆ BORIVOJE
+RAPAJIĆ DUŠKO
+RAPAJIĆ MILAN ADVOKAT
+RAPAJIĆ MILAN
+RAPAJIĆ MILAN
+RAPAJIĆ RADOJA
+RAPAJIĆ STEVAN
+RAPAJIĆ TAMARA
+RAPIĆ BORE
+RAPIĆ DRAGOMIR
+RAPIĆ DUŠANKA
+RAPIĆ JOVAN
+RAPIĆ JOVAN
+RAPIĆ MILAN
+RAPIĆ NADA
+RAPIĆ NENAD
+RAPIĆ RADE
+RAPIĆ RUŠKO
+RAPO STJEPAN
+RAPOTI IŠTVAN
+RASPOPOVIĆ BOŠKO
+RASPOPOVIĆ MILOŠ
+RASPOPOVIĆ SLOBODAN
+RASPOPOVIĆ SVETISLAV
+RASPOPOVIĆ VLADISLAV
+RASTAVAC PETAR
+RASTIK ĐORĐE
+RASTOVAC ĐURO
+RASTOVIĆ ILIJA
+RASTOVIĆ JELENA
+RASTOVIĆ MILAN
+RASTOVIĆ MILICA
+RASTOVIĆ-PLIVELIĆ DESANKA
+RASTOVIĆ RADOJKA
+RASTOVIĆ SLOBODAN
+RASTOVIĆ STEVAN
+RASTOVIĆ VERA
+RAT FERENC
+RAT FRANJA
+RAT JAKOB
+RAT JOSIP
+RATAJAC DRAGOLJUB DR
+RATGEBER JULIJA
+RATGEBER LASLO
+RATIĆ ĐURĐINA
+RATIĆ BORA
+RATIĆ DUŠAN
+RATKELIĆ MILAN
+RATKOV ŽIVKO
+RATKOV ĐORĐE
+RATKOV ACA
+RATKOV BORIVOJ
+RATKOV CECILIJA
+RATKOV DRAGAN
+RATKOV DRAGINJA
+RATKOV DRAGINJA
+RATKOV DUŠANKA
+RATKOV DUŠAN
+RATKOV JELENA
+RATKOV JULIJANA
+RATKOV KATARINA
+RATKOV LEPOSAVA
+RATKOV MIĆO
+RATKOV MILENKO
+RATKOV MILENKO
+RATKOV MILICA
+RATKOV NENAD
+RATKOV NENAD
+RATKOV PAVLE
+RATKOV PREDRAG
+RATKOV RADE
+RATKOV RADIVOJ
+RATKOV RADOMIR
+RATKOV RUŽICA
+RATKOV SAVKA
+RATKOV SMILJANA
+RATKOV STANISLAVA
+RATKOV STANISLAV
+RATKOV VERA
+RATKOV VIDOSAVA
+RATKOV VLADIMIR
+RATKOV VLADIMIR
+RATKOV VOJISLAV
+RATKOV VUJICA
+RAUŠ KLAUDIJA
+RAUŠ RIHARD
+RAUŠENBERGER MARTIN
+RAUŠKI ĐORĐE
+RAUŠKI ANGELINA
+RAUŠKI DANILO
+RAUŠKI LJILJANA
+RAUŠKI MILANA
+RAUŠKI MILOŠ
+RAUSAVLJEVIĆ ĐORĐE
+RAUSAVLJEVIĆ DUŠANKA
+RAUZA PALKO
+RAVAJIĆ ĐURO
+RAVASI LJUBICA
+RAVIĆ NIKOLA
+RAVIĆ SLOBODANKA
+RAVLIĆ-BANJAC SNEŽANA
+RAVLIĆ PEJO
+RAVLIĆ VIDA
+RAVLIJA DRAGAN
+RAZDEVŠEK STOJANKA
+RAZIĆ DŽEMAL
+RAZMOVSKI NIKOLA
+RAZUMENIĆ-KOTROŠAN MILENA
+REČEI ILONKA
+REČKO ILEŠ
+REŠĆANSKI BOŠKO
+REŠĆANSKI BOGDAN
+REŠĆANSKI VERA
+REŠETAR ANTE
+REŠETAR STANA
+REŠETAROVIĆ JOVAN
+REŠITI ĐORĐE
+REŠNJAK ANDRIJA
+REŠNJAK LASLO
+REŠNJAK STEVAN
+REŠNJAK ZORICA
+REŽNJAK LASLO
+REŽUK JOSIP
+REĐEP DRAŠKO
+REĐEPI DŽELJAN
+REĐEPI MILAIM
+REĐEPOVIĆ ALIJA
+REBA BLAGOJE
+REBA IGOR
+REBA IGOR
+REBIĆ BOGDAN DIPL ING
+REBIĆ DRAGAN
+REBIĆ NEDELJKO
+REBIĆ NEDELJKO
+REBIĆ SIMEON
+REBIĆ SIMO
+REBIĆ SLOBODAN DR
+REBIĆ VLADIMIR
+REBRINA KATARINA
+REDŽA IBRAHIM
+REDŽEK JOVAN
+REDŽEP JUSNIJA
+REDŽEPOV ŠEVKIN
+REDŽEPOV KAMBER
+REDE RUDOLF
+REDIG VILIM
+REDLI ĐORĐE
+REDLI MARIJA
+REDLI VERA
+REGAJZ STEVAN
+REGEC ETELKA
+REGELJAC LJUBICA
+REGELJAC MARA
+REGER JOVAN
+REGL VLADIMIR
+REGODIĆ SVETOZAR
+REGOJEVIĆ MLAĐENKO
+REHAK IMRE
+REHAK LASLO
+REHAK OLGA
+REHNER MARIJA
+REHNER STAMENKA
+REINHOLC ĐEZE
+REINHOLC ĐEZE
+REINHOLZ ĐEZE
+REKA ARIF
+REKA-IVANOVIĆ DUŠICA
+REKEĆE ŠANDOR
+REKECKI ELEONORA
+REKECKI JOŽEF
+REKIĆ HUSEIN
+RELIĆ ĐORĐE
+RELIĆ ĐORĐE
+RELIĆ DARKO
+RELIĆ DIMITRIJE
+RELIĆ GOJKO
+RELIĆ JOVAN
+RELIĆ JOVICA
+RELIĆ KONSTANTIN
+RELIĆ LJUBAN
+RELIĆ MILAN
+RELIĆ MILENKO
+RELIĆ MILIVOJ
+RELIĆ MIRA
+RELIĆ PAVLE
+RELIĆ PETAR
+RELIĆ RADINKA
+RELIĆ SAVA
+RELIĆ SLAVOLJUB
+RELIĆ SOFIJA
+RELIĆ SOFIJA
+RELIĆ SPOMENKA DIPL PRAVNIK
+RELIĆ SRETA
+RELJANOVIĆ MARIJA
+RELJIĆ ĐURICA
+RELJIĆ ĐURO
+RELJIĆ BOŽIDAR
+RELJIĆ DAMJANKA
+RELJIĆ DANILO
+RELJIĆ JOVAN
+RELJIĆ LJUBOMIR
+RELJIĆ MARA
+RELJIĆ MILORAD
+RELJIĆ ROMAN
+RELJIĆ SLAVKO
+RELJIĆ SMILJA
+RELJIĆ SNEŽANA
+RELJIĆ STEVAN
+RELJIĆ STEVA
+RELJIĆ ZLATKO
+RELJIĆ ZORKA
+RELJIN DUŠANKA
+RELJIN DUŠAN
+RELJIN DUŠAN
+RELJIN IGNJAT DR
+RELJIN ILONA
+RELJIN IVAN
+RELJIN LAZAR
+RELJIN LEPOSAVA
+RELJIN MARICA
+RELJIN MILAN
+RELJIN MILAN
+RELJIN MILICA
+RELJIN MILIVOJ
+RELJIN MILOŠ
+RELJIN MILOŠ
+RELJIN MILOŠ
+RELJIN MILOŠ
+RELJIN MILORAD
+RELJIN NADA
+RELJIN PROKOPIJE
+RELJIN RADOVAN
+RELJIN SAVA
+RELJIN SIMA
+RELJIN SLOBODAN
+RELJIN STEVAN
+RELOTA RUDOLF
+REMECKI DRAGUTIN
+REMECKI PETAR
+REMELI ANTON
+REMELI LASLO
+REMENAR DRAGUTIN
+REMER BRANISLAV
+REMLINGER ROBERT
+RENČAR ŠANDOR
+RENČAR TIVADAR
+RENČEVIĆ MILAN
+RENDULIĆ MARKO
+RENDULIĆ STOJAN
+REPŠTOK JOŽEF
+REPAŠI JOSIP
+REPAŠI STEVAN
+REPAC ŽUŽANA
+REPAC ĐORĐE
+REPAC ANA
+REPAC ISA
+REPAC JOVAN
+REPAC KOVILJKA
+REPAC MIROSLAV
+REPAC PERKICA
+REPAC PETAR
+REPAC SLAVKO
+REPAC STANIŠA
+REPAC VASILIJA
+REPIĆ ŽIVAN
+REPIĆ DANICA
+REPIĆ EMIL
+REPIĆ GIZELA
+REPIĆ IVAN
+REPIĆ MARKO
+REPIĆ MILENA
+REPIĆ MILKA
+REPIĆ VERICA
+REPIĆ ZORAN
+RESAN ANA
+RESANOVIĆ ANKA
+RESANOVIĆ DRAGAN
+RESANOVIĆ LJUBO
+RESANOVIĆ NADA
+RESANOVIĆ PERO
+RESMAN ZDRAVKO
+RESULOVSKI STOJAN
+REU LAVINEL
+REVES ANDRIJA
+REVID KATARINA
+REZANCOV KATICA
+REZEC ANTON
+REZNIČEK KARLO
+RIŽANJI IRENA
+RIĐIČKI ĐOKA
+RIĐIČKI ĐORĐE
+RIĐIČKI MILANKA
+RIĐIČKI MILAN
+RIĐIČKI SPOMENKA
+RIĐIK-GRUJIĆ ČEDOMIR
+RIĐIK-GRUJIĆ JADRANKA
+RIĐIK-GRUJIĆ VELIMIR
+RIBAR ŠANDOR
+RIBAR BELA DR
+RIBAR IMRE
+RIBAR KATICA
+RIBAREVIĆ VERA
+RIBAROV MIROSLAV
+RIBAROV SLAVICA
+RIBIČ RUŽA
+RIBIĆ ČEDO
+RIBIĆ BRANKO
+RIBIĆ FRANC
+RIBIĆ JOVAN
+RIBIĆ MIHAJLO
+RIBIĆ MILAN
+RIBIĆ PAVO
+RIBIĆ PETAR
+RIBIĆ STANKO
+RIBIĆ ZORICA
+RIBOVIĆ AMALIJA
+RIC MIHALJ DIPL OEC
+RIC RUDOLF
+RIC VESELIN
+RICA ANICA
+RICE MARGITA
+RIGO ĐULA
+RIGO LASLO
+RIHAK NANDOR
+RIHTAREC KATARINA
+RIJAVEC IVAN
+RIKER ZVONIMIR
+RIKIĆ ŽELJKO
+RIKIĆ DRAGICA
+RIKIĆ MILADIN
+RIKIĆ MILENKO
+RIL PAL
+RILAK MILOMIR
+RILKE ROBERT
+RIMŠNAJDER ROBERT
+RIMAC JOSIP
+RIMAN EGON DR
+RIMAR LEONA
+RIMAR VLADIMIR
+RIMSKI ŽARKO
+RIMSKI ŽARKO
+RIMSKI ŽARKO
+RIMSKI ŽARKO
+RIMSKI ĐOKA
+RIMSKI BISERKA
+RIMSKI BISERKA
+RIMSKI BRANISLAV
+RIMSKI BRANKA
+RIMSKI BRANKO
+RIMSKI JASMINA
+RIMSKI JELENA
+RIMSKI MILAN
+RIMSKI MILICA
+RIMSKI NATALIJA
+RIMSKI NOVAK
+RIMSKI SAVA
+RIMSKI SAVA
+RIMSKI SMILJA
+RIMSKI SMILJA
+RIMSKI STEVAN
+RIS ŠANDOR
+RIS ALEKSANDAR
+RIS DRAGINJA
+RIS DUŠKO
+RIS GEZA
+RIS NEDELJKO
+RIS STEVAN
+RIS TANJA
+RIS ZDRAVKO
+RISOVIĆ DUŠAN
+RISOVIĆ NEDELJKO
+RISOVIĆ NEDELJKO
+RISTA ŽELJKA
+RISTANOVIĆ CVETIN
+RISTANOVIĆ RADE
+RISTANOVIĆ RADOSLAV
+RISTANOVIĆ VERICA
+RISTANOVIĆ VOJIMIR
+RISTANOVIĆ ZDRAVKO
+RISTANOVIĆ ZORAN
+RISTANOVIĆ ZORAN
+RISTIĆ ĐORĐE DR LEKAR
+RISTIĆ ĐORĐE
+RISTIĆ ĐORĐE
+RISTIĆ ĐORĐE
+RISTIĆ ĐUJA
+RISTIĆ ĐURĐA
+RISTIĆ ALEKSANDAR
+RISTIĆ ALEKSANDAR
+RISTIĆ ALEKSANDAR
+RISTIĆ ALEKSANDAR
+RISTIĆ ALEKSA
+RISTIĆ ANDRIJA
+RISTIĆ BOŽIDAR
+RISTIĆ BOŽIDAR
+RISTIĆ BORA
+RISTIĆ BORISLAV
+RISTIĆ BRANISLAV
+RISTIĆ BRANKO
+RISTIĆ CVJETANKA
+RISTIĆ DANILO
+RISTIĆ DARINKA
+RISTIĆ DIMITRIJE
+RISTIĆ DIMITRIJE
+RISTIĆ DIMITRIJE
+RISTIĆ DOBRIVOJE
+RISTIĆ DRAGAN
+RISTIĆ DRAGAN
+RISTIĆ DRAGIŠA
+RISTIĆ DRAGICA
+RISTIĆ DRAGOJLA
+RISTIĆ DRAGOLJUB
+RISTIĆ DRAGOLJUB
+RISTIĆ DUŠAN DR
+RISTIĆ DUŠAN
+RISTIĆ DUŠAN
+RISTIĆ DUŠAN
+RISTIĆ DUŠAN
+RISTIĆ GAVRILO
+RISTIĆ ISIDOR
+RISTIĆ JASMINA
+RISTIĆ JELENA
+RISTIĆ JELENA
+RISTIĆ JEREMIJA
+RISTIĆ JOVAN DR
+RISTIĆ JOVAN DR
+RISTIĆ JOVAN
+RISTIĆ KSENIJA
+RISTIĆ LABUD DR LEKAR
+RISTIĆ LAZAR
+RISTIĆ LJILJANA
+RISTIĆ LJILJANA
+RISTIĆ LJUBICA
+RISTIĆ LJUBICA
+RISTIĆ MARIJA
+RISTIĆ MARIJA
+RISTIĆ MARIJA
+RISTIĆ MARIJA
+RISTIĆ MARIJENKA
+RISTIĆ MARKO
+RISTIĆ MIHAJLO
+RISTIĆ MILANKA
+RISTIĆ MILAN
+RISTIĆ MILAN
+RISTIĆ MILAN
+RISTIĆ MILAN
+RISTIĆ MILAN
+RISTIĆ MILETA
+RISTIĆ MILIVOJE
+RISTIĆ MILKA
+RISTIĆ MILOŠ
+RISTIĆ MILOŠ
+RISTIĆ MILORAD
+RISTIĆ MILORAD
+RISTIĆ MILUN
+RISTIĆ MILUTIN
+RISTIĆ MIODRAG
+RISTIĆ MIODRAG
+RISTIĆ MIROSLAV
+RISTIĆ MIROSLAV
+RISTIĆ MIROSLAV
+RISTIĆ MIROSLAV
+RISTIĆ MIROSLAV
+RISTIĆ MLADEN
+RISTIĆ NADA
+RISTIĆ NATALIJA
+RISTIĆ NEGOVAN
+RISTIĆ NESTOR
+RISTIĆ NIKOLA
+RISTIĆ NIKOLA
+RISTIĆ NOVICA
+RISTIĆ OLGA
+RISTIĆ PAVLE
+RISTIĆ PERA
+RISTIĆ PETAR
+RISTIĆ-POPOVIĆ MILICA
+RISTIĆ RADISAV
+RISTIĆ RAISA
+RISTIĆ RODOLJUB DR
+RISTIĆ SAVA
+RISTIĆ SAVA
+RISTIĆ SAVO
+RISTIĆ SLAĐAN
+RISTIĆ SLAVICA
+RISTIĆ SLAVICA
+RISTIĆ SLAVKO
+RISTIĆ SPOMENKA
+RISTIĆ STANIŠA
+RISTIĆ STANOJE DR
+RISTIĆ STEVAN
+RISTIĆ STEVAN
+RISTIĆ STEVAN
+RISTIĆ STEVAN
+RISTIĆ STEVICA
+RISTIĆ SVETISLAV
+RISTIĆ TEMELJKO
+RISTIĆ TOMISLAV
+RISTIĆ VERICA
+RISTIĆ VITOMIR
+RISTIĆ VLADIMIR
+RISTIĆ VLADIMIR
+RISTIĆ VLADIMIR
+RISTIĆ VOJIN
+RISTIĆ VOJISLAV
+RISTIĆ ZAGORKA
+RISTIĆ ZDRAVKO
+RISTIĆ ZORAN
+RISTIĆ ZORAN
+RISTIN JOVAN
+RISTIN MIODRAG
+RISTIN MIODRAG
+RISTIVOJEVIĆ ANĐELKA
+RISTIVOJEVIĆ ANICA
+RISTIVOJEVIĆ DESIMIR
+RISTIVOJEVIĆ IGNJAT
+RISTIVOJEVIĆ RADOMIR
+RISTIVOJEVIĆ RATOMIR
+RISTIVOJEVIĆ STOJANKA
+RISTIVOJEVIĆ ZDRAVKO
+RISTOVIĆ JOVANKA
+RISTOVIĆ NEBOJŠA
+RISTOVIĆ RADIVOJE
+RISTOVIĆ RATKO
+RISTOVSKI ALEKSANDAR
+RISTOVSKI KOSTA
+RISTOVSKI LJILJANA
+RISTOVSKI LJILJANA
+RISTOVSKI LJUBO
+RISTOVSKI SIMEON
+RITER ANKICA
+RITER ANTON
+RITER FRANJA
+RITER JOŽEF
+RITER LUDVIG
+RITER NADA
+RITOC GEZA
+RITTER ŠANDOR
+RIVIĆ IVO
+RIZNIĆ BRANISLAVA
+RIZNIĆ VELJKO
+RIZNIĆ VELJKO
+RIZOVSKI DRAGO
+RIZVAN ŠUKRI
+RIZVANOVIĆ SADIK
+RMUŠ ZORICA
+RNIĆ MIHAILO
+RNJAK DANICA
+RNJAK STANKO
+ROŠIN KSENIJA
+ROŠIN ZORKO
+ROŠU KOSTA
+ROŠULJ ŽIVAN
+ROŠULJ ŽIVA
+ROŠULJ ANĐELKA
+ROŠULJ EMIL
+ROŠULJ LAZAR
+ROŠULJ MILANA
+ROŠULJ MILORAD
+ROŠULJ RADOVAN
+ROŠULJ SVETOZAR
+ROŠULJ ZORAN
+ROŠULJA VASA
+ROŠULOV STADOJE
+ROŽA BELA
+ROŽA FERENC
+ROŽA JANOŠ
+ROŽA JOVAN
+ROŽA MIRKO
+ROŽANKOVIĆ IVAN
+ROĐAK FRANJA
+ROĐENKOV ŽIVOJIN
+ROĐENKOV ĐURA
+ROĐENKOV MILOŠ
+ROBOTIĆ ANA
+ROBOTIĆ TEREZA
+ROD DANICA
+RODIĆ ČEDOMIR
+RODIĆ ČEDOMIR
+RODIĆ ŠPIRO
+RODIĆ ĐORĐE
+RODIĆ ALEKSANDAR
+RODIĆ ANDRIJA
+RODIĆ BOŽO
+RODIĆ BOŽO
+RODIĆ BOGDAN
+RODIĆ BORISLAV
+RODIĆ BORISLAV
+RODIĆ BRANISLAV
+RODIĆ DANICA
+RODIĆ DRAGAN
+RODIĆ DRAGOMIR
+RODIĆ DUŠAN
+RODIĆ DUŠAN
+RODIĆ DUŠAN
+RODIĆ DUŠAN
+RODIĆ GOJKO
+RODIĆ GOJKO
+RODIĆ GOJKO
+RODIĆ JELISAVETA
+RODIĆ JOVO
+RODIĆ LEPA
+RODIĆ LJILJANA
+RODIĆ MANOJLO
+RODIĆ MIĆA
+RODIĆ MIĆO
+RODIĆ MILAN
+RODIĆ MILENA
+RODIĆ MILICA
+RODIĆ MILICA
+RODIĆ MILKA
+RODIĆ MILOŠ
+RODIĆ MILORAD
+RODIĆ MIRKO
+RODIĆ MIROSLAV
+RODIĆ NATALIJA
+RODIĆ NEĐO
+RODIĆ NEDELJKO
+RODIĆ NIKOLA
+RODIĆ NIKOLA
+RODIĆ NIKOLA
+RODIĆ NIKOLA
+RODIĆ OLGA
+RODIĆ PETAR DIPL ING
+RODIĆ PETAR
+RODIĆ PETRA
+RODIĆ RADE
+RODIĆ RANKO
+RODIĆ SLAVKO
+RODIĆ SMILJA
+RODIĆ SRETEN
+RODIĆ STANKO
+RODIĆ STEVAN
+RODIĆ SUZANA
+RODIĆ SUZANA
+RODIĆ SVETKO
+RODIĆ-TOMLJANOVIĆ MIRJANA
+RODIĆ VERICA
+RODIĆ ZORAN
+ROGAČ SVETLANA
+ROGAČ SVETOZAR
+ROGAČEVIĆ OBRAD
+ROGALJSKI JELENA
+ROGALO ANTON
+ROGAN SVETOZAR
+ROGANOVIĆ KATARINA
+ROGANOVIĆ LUKA
+ROGANOVIĆ MILANKA
+ROGANOVIĆ NADA
+ROGANOVIĆ NOVAK
+ROGANOVIĆ SLOBODAN
+ROGANOVIĆ STEVO
+ROGANOVIĆ TANJA
+ROGANOVIĆ VELIZAR
+ROGAVAC MILAN
+ROGIĆ ALEKSA
+ROGIĆ MILORAD
+ROGIĆ SAVA
+ROGIĆ VELJKO
+ROGIĆ VESELIN
+ROGIĆ VESNA
+ROGIĆ ZORAN
+ROGLIĆ IVAN
+ROGLIĆ LJUBOMIR
+ROGLIĆ MILAN
+ROGLIĆ VESNA
+ROGLIĆ VESNA
+ROGOŽARSKI STEVANKA
+ROGULIĆ JELENA
+ROGULJA ĐORĐE
+ROGULJA ILIJA
+ROGULJA JOVAN
+ROGULJA NIKOLA
+ROGULJA PAVLE DR
+ROGULJIĆ MILORAD
+ROGULJIĆ NEDELJKO
+ROGULJIĆ PREDRAG
+ROGULJIĆ ZDRAVKO
+ROJKA ANDREJ
+ROJKA ANDREJ
+ROJNIK LJUBOMIR
+ROKA ŽUŽANA
+ROKA JANOŠ
+ROKA VALERIJA
+ROKAI PETAR
+ROKIĆ DUŠAN
+ROKIĆ MILENKO
+ROKLICER FRANJA
+ROKLICER JOSIP
+ROKNIĆ JULKICA
+ROKNIĆ MILENKO
+ROKNIĆ MOMČILO
+ROKSANDIĆ ADAM
+ROKSANDIĆ MILAN
+ROKSANDIĆ SIMA
+ROKSANDIĆ VLADIMIR
+ROKSANDIĆ VLADO
+ROKSIĆ SLOBODAN
+ROKVIĆ BOGDAN
+ROKVIĆ BRANISLAV
+ROKVIĆ DUŠAN
+ROKVIĆ GOJKO
+ROKVIĆ LAZAR
+ROKVIĆ MARKO
+ROKVIĆ MILAN
+ROKVIĆ MILICA
+ROKVIĆ MILORAD
+ROKVIĆ NIKOLA DIPL POLITIKOLOG
+ROKVIĆ OMILJKO
+ROKVIĆ RADIVOJ
+ROKVIĆ RADOJKA
+ROKVIĆ RANKO
+ROKVIĆ SINIŠA
+ROKVIĆ VESELKO
+ROKVIĆ ZDRAVKO
+ROLAND TOMISLAV
+ROLOVIĆ DUŠANKA
+ROLOVIĆ OLGA
+ROM BRANKA
+ROMČEV MIROSLAV
+ROMAN JELENA
+ROMAN LJUBICA
+ROMAN MINEA
+ROMAN MIRON
+ROMAN ROMKO
+ROMANDIĆ ANKICA
+ROMANDIĆ JELENA
+ROMANDIĆ STANIMIR
+ROMANELI GINO
+ROMANIĆ DUŠAN
+ROMANIĆ ERŽEBET
+ROMANIĆ JOC0
+ROMANIĆ MARIJA
+ROMANKIV MIHAJLO
+ROMANOV JOSIP
+ROMANOV SNEŽANA
+ROMANOVIĆ ĐORĐE DIPL PRAVNIK
+ROMANOVIĆ ĐORĐE
+ROMANOVIĆ ALEKSANDAR
+ROMANOVIĆ ILINKA
+ROMANOVIĆ MILAN
+ROMANOVIĆ NADA
+ROMAS JOSIP
+ROMIĆ ETA
+ROMIĆ JANKO
+ROMIĆ LJUBOMIR
+ROMIĆ LJUBOMIR
+ROMIĆ MLADEN
+ROMIĆ NENAD
+ROMIĆ PAVLE
+ROMIĆ PREDRAG
+ROMODA IŠTVAN
+ROMODA KARLO
+ROMODA MARIJA
+RONČELI KATICA
+RONČEVIĆ BOGDAN
+RONČEVIĆ DRAGAN
+RONČEVIĆ IKONIJA
+RONČEVIĆ KOSTA
+RONČEVIĆ MILE
+RONČEVIĆ NADA
+RONČEVIĆ OBRAD
+RONČEVIĆ PETAR
+RONČEVIĆ PETAR
+RONČEVIĆ PETAR
+RONČEVIĆ RADIVOJE
+RONČEVIĆ SAVETA
+RONČEVIĆ SAVO
+RONČEVIĆ STANA
+RONČEVIĆ STANIMIR
+RONČEVIĆ STANIMIR
+RONČEVIĆ STEVAN
+RONČEVIĆ STEVAN
+RONČEVIĆ VERA
+RONAI MIRKO DIPL ING
+RONTO FRANCIŠKA
+RONTO ILONKA
+RONTO JAKOB
+RONTOVIĆ RADOSLAV
+ROR DESA
+RORBAHER MAGDOLNA
+ROSIĆ ĐURO
+ROSIĆ BOGDAN
+ROSIĆ DRAGANA
+ROSIĆ DRAGAN
+ROSIĆ DRAGAN
+ROSIĆ DRAGAN
+ROSIĆ DRAGAN
+ROSIĆ DUŠAN
+ROSIĆ GROZDANA
+ROSIĆ ILIJA
+ROSIĆ LJILJANA
+ROSIĆ MILENA
+ROSIĆ MILICA
+ROSIĆ MILORAD
+ROSIĆ MIODRAG
+ROSIĆ NIKOLA
+ROSIĆ OSTOJA
+ROSIĆ VLADIMIR
+ROSIĆ ZORAN
+ROSLAVLJEV VOJISLAV
+ROSO IVAN
+ROSO MARTA
+ROT DEZIDER
+ROT FRANJA
+ROTARIU TIBERIJE
+ROTBART VLADISLAV
+ROTIM IVAN
+ROVČANIN EUĐENIJA
+ROVČANIN UZEIR
+ROVČANIN VESELIN
+ROVIĆ BRANISLAV
+ROVIĆ DIMITRIJE
+ROVO MIHALJ
+ROZENTAL DRAGICA
+ROZENTAL KARLO
+ROZENTAL MARTON
+ROZIĆ ANTE
+ROZMARING IŠTVAN
+ROZMIROV DRAGAN
+ROZMIROV MILENKO
+RUŠITI ALIJA
+RUŠKO ERŽEBET
+RUŠKUC ĐORĐE
+RUŠKUC ATANASIJE
+RUŠKUC MARGARITA
+RUŠKUC MARTA
+RUŠKUC PAVLE
+RUŠKUC STEVAN
+RUŠKUC SVETISLAV
+RUŠKUC VESELIN
+RUŠKUC VLADIMIR
+RUŽANOVIĆ DRAGOLJUB
+RUŽANOVIĆ MARIJA
+RUŽIČIĆ ĐORĐE
+RUŽIČIĆ BOŠKO
+RUŽIČIĆ MILAN
+RUŽIČIN DANICA
+RUŽIČIN RADIVOJ
+RUŽIČKA ĐURA
+RUŽIČKA RUŽA
+RUŽIĆ ŽARKO
+RUŽIĆ ALEKSANDAR
+RUŽIĆ DRAŽANA
+RUŽIĆ DUŠAN
+RUŽIĆ DUŠAN
+RUŽIĆ DUŠAN
+RUŽIĆ EMA
+RUŽIĆ GORDANA
+RUŽIĆ IVICA
+RUŽIĆ JOVAN
+RUŽIĆ JOVO
+RUŽIĆ JULKA
+RUŽIĆ KRSTO
+RUŽIĆ MARIJA
+RUŽIĆ MARIJA
+RUŽIĆ MILAN
+RUŽIĆ MILAN
+RUŽIĆ MILIVOJ
+RUŽIĆ MIRA
+RUŽIĆ MIRJANA
+RUŽIĆ MIRJANA
+RUŽIĆ MIRKO
+RUŽIĆ NIKOLA
+RUŽIĆ NIKOLA
+RUŽIĆ PAVA
+RUŽIĆ PETAR
+RUŽIĆ RADMILA
+RUŽIĆ RADOMIR
+RUŽIĆ SLOBODAN
+RUŽIĆ SMILJANA
+RUŽIĆ STANKO
+RUŽIĆ-STARI VESNA
+RUŽIĆ STJEPAN
+RUŽIĆ SVETOLIK
+RUŽIĆ VELJKO
+RUŽIĆ VLADIMIR DIPL ING
+RUŽIĆ ZORAN
+RUŽIĆ ZORAN
+RUŽIN ČEDOMIR
+RUŽIN MILORAD
+RUŽNICKI IVAN
+RUĐA NEMANJA
+RUĐA ZORAN
+RUĐA ZORAN
+RUBEŽIĆ MILOVAN
+RUBEŽIĆ SLOBODAN
+RUBIN MILAN
+RUBUŠ AGNEZA
+RUBUŠ JOŽEF
+RUDAN MARKO
+RUDAN RADIVOJE
+RUDEŽ ILIJA
+RUDEŽ MIĆO
+RUDEŽ PERA
+RUDEK JAROSLAV
+RUDEK NIKOLA
+RUDEK NIKOLA
+RUDIĆ DARKO
+RUDIĆ DIMITRIJE
+RUDIĆ DRAGAN
+RUDIĆ DUŠAN
+RUDIĆ IMRE
+RUDIĆ IVAN
+RUDIĆ IVAN
+RUDIĆ JOSIP
+RUDIĆ LAZAR
+RUDIĆ MARKO
+RUDIĆ MARKO
+RUDIĆ MILKA
+RUDIĆ NEDELJKO
+RUDIĆ NIKOLA
+RUDIĆ PERA
+RUDIĆ STEVAN
+RUDIĆ STEVICA
+RUDIĆ-VRANIĆ NEDELJKA
+RUDOLF KLAJN
+RUDOLF OLGA
+RUDOLF SPASOJE
+RUDOLF ZORAN
+RUDOVIĆ DANILO
+RUDOVIĆ ILIJA
+RUDOVIĆ JUGOSLAV
+RUDOVIĆ MIRJANA
+RUDOVIĆ ZORAN
+RUFČESKI SLOBODAN
+RUJEVIĆ JADRANKA
+RUJEVIĆ MILEVA
+RUKAVINA-ŠLIBAR HERMINA
+RUKAVINA ALEKSANDAR
+RUKAVINA BARICA
+RUKAVINA DESPINA
+RUKAVINA DOBRILA
+RUKAVINA DUŠAN
+RUKAVINA JURE
+RUKAVINA KREŠIMIR
+RUKAVINA LJUBICA
+RUKAVINA MARIJA
+RUKAVINA MILKA
+RUKAVINA RUDOLF
+RUKAVINA RUDOLF
+RUKAVINA STEVAN
+RUKAVINA ZVONIMIR
+RUMAN MIHAJLO
+RUNIĆ MARIJA
+RUNIĆ MILAN DIPL ING
+RUNJAJIĆ ILIJA
+RUNJANIN ĐORĐE
+RUNJANIN VLADISLAV
+RUNJANIN VOJO
+RUNJIĆ AMALIJA
+RUNJIĆ DRAGAN
+RUNJIĆ DRAGICA
+RUNJIĆ GAVRILO
+RUNJIĆ GORAN
+RUNJO JOVAN
+RUNTIĆ BOŠKO
+RUPČIĆ VLADIMIR
+RUPA ATILA
+RUPAR BRANISLAV
+RUPAR ERŽEBET
+RUPIĆ ŽIVKO
+RUPNJAK BRANISLAV
+RUS ĐURĐINKA
+RUS DRAGAN
+RUS IVANKA
+RUS JOSIP
+RUS MARGITA
+RUS MARIJA
+RUS MILOSAVA
+RUS RADA
+RUS SLAVICA
+RUS SMILJA
+RUS SVETLANA
+RUS VERA
+RUS VUKOSAVA
+RUSIĆ ANDRIJA
+RUSKAJI SLAVOMIR
+RUSKI DIMITRIJE
+RUSKI LAZAR
+RUSKOVSKI ĐORĐE
+RUSKOVSKI DRAGICA
+RUSKOVSKI MAGDALENA
+RUSMIR RADMILA
+RUSMIROVIĆ BILJANA
+RUSMIROVIĆ BILJANA
+RUSOV ŽARKO
+RUSOV ŽIVKA
+RUSOV BRANKA
+RUSOV BRANKO
+RUSOV DRENKA
+RUSOV KATICA
+RUSOV KOSTA
+RUSOV KRISTINA
+RUSOV MARIJA
+RUSOV MILAN
+RUSOV MILORAD
+RUSOV NADA
+RUSOV PAVLE
+RUSOV SLOBODAN
+RUSOV VLADIMIR
+RUSOVAN ŽIVICA
+RUSOVAN DRAGOLJUB
+RUSOVAN MILAN
+RUSOVAN MILAN
+RUSTEMAGIĆ ERVIN
+RUSTEMI ŠABAN
+RUTEŠIĆ JOVICA
+RUTIĆ MILORAD
+RUTONIĆ JULKICA
+RUTONIĆ-KOLENDA VIDOSAVA
+RUTONIĆ LAZAR
+RUTONIĆ LAZAR
+RUTONJSKI DUŠAN
+RUTONJSKI JELICA
+RUTONJSKI JOVANKA
+RUTONJSKI NADA
+RUTONJSKI SLOBODAN
+RUTONJSKI VASA
+RUTONSKI ĐORĐE
+RUTOVIĆ BOŠKO
+SAČEK MIROSLAV
+SAČER ROKI
+SAČIĆ MARIJA
+SABADI LASLO
+SABADI MIRJANA
+SABADKA ŠANDOR
+SABADKA ILONKA
+SABADKA VALERIJA
+SABADOŠ ŠANDOR
+SABADOŠ ĐURA
+SABADOŠ IVAN
+SABADOŠ JANKO
+SABADOŠ JANKO
+SABADOŠ JANKO
+SABADOŠ JOAKIM
+SABADOŠ LJUBOMIR
+SABADOŠ MIŠA
+SABADOŠ MIHAJLO
+SABADOŠ MIHAJLO
+SABADOŠ MIROSLAV
+SABADOŠ PAVLINA
+SABADOŠ RUŽICA
+SABADOŠ SLAVNA
+SABADOŠ SLAVOMIR
+SABADOŠ SRBISLAV
+SABADOŠ STEVAN
+SABADOŠ VLADIMIR
+SABADOŠ VLADIMIR
+SABADOŠ ZDENKA
+SABADUŠ JOVAN DIPL ING
+SABADUŠ STEVAN
+SABATKA STEVAN
+SABATUŠ BORISLAV
+SABATUŠ DRAGOLJUB
+SABATUŠ TOMISLAV
+SABLIĆ BRANKO
+SABLJAK DRAGAN
+SABLJAK FRANJO
+SABLJAK MARIJAN
+SABLJAKOVIĆ ESAD
+SABLJAR ĐORĐE
+SABLJAR MANOJLO
+SABLJAR MILAN
+SABLJAR TEODOR
+SABLJAREVIĆ VERICA
+SABLJIĆ DANILO DIPL PRAVNIK
+SABLJIĆ DARA
+SABLJIĆ GORDANA
+SABLJOV IŠTVAN
+SABLJOV MILICA
+SABO ŠANDOR
+SABO ŠANJIKA
+SABO ĐEZE
+SABO ĐORĐE
+SABO ĐORĐE
+SABO ALEKSANDAR
+SABO ALEKSANDAR
+SABO ANA DR
+SABO ANA
+SABO ANA
+SABO ANDRAŠ
+SABO ANDRAŠ
+SABO ANICA
+SABO ANICA
+SABO BERTALAN
+SABO DRAGAN
+SABO ELIZABETA
+SABO EMIL
+SABO ERŽEBET
+SABO ERŽEBET
+SABO ERNE
+SABO ERNE
+SABO ESTER
+SABO FERENC
+SABO FERENC
+SABO FRANJA
+SABO FRANJA
+SABO FRANJO
+SABO GAŠPAR
+SABO GABOR
+SABO GERGELJ
+SABO GIZELA
+SABO GORDANA
+SABO HILDA
+SABO IŠTVAN
+SABO IŠTVAN
+SABO IŠTVAN
+SABO IŠTVAN
+SABO IŠTVAN
+SABO IŠTVAN
+SABO IBOLJKA
+SABO IDA
+SABO ILONA
+SABO IMRE
+SABO IMRE
+SABO IVAN
+SABO JANIKA
+SABO JANOŠ
+SABO JOSIP
+SABO JOSIP
+SABO JOSIP
+SABO JOSIP
+SABO JOSIP
+SABO JOSIP
+SABO JULIA
+SABO JULIJANA
+SABO KAROLINA
+SABO KATICA
+SABO KATICA
+SABO LADISLAV
+SABO LADISLAV
+SABO LADISLAV
+SABO LJUBOMIR
+SABO MARIJA
+SABO MARTA
+SABO MIHAJLO
+SABO MILICA
+SABO NIKOLA
+SABO OLIVERA
+SABO PAVLE
+SABO PETAR
+SABO PETAR
+SABO PETAR
+SABO PIŠTA
+SABO ROZALIJA
+SABO SNIJEŽANA
+SABO STEVAN
+SABO TEREZIJA
+SABO TIBOR
+SABO VALERIJA
+SABO ZOLTAN
+SABO ZOLTAN
+SABOŠOTI FABIJAN
+SABOL JAROSLAV
+SABOL JELENA
+SABOLČKI ANDRIJA
+SABOLČKI ANDRIJA
+SABOLČKI ANDRIJA
+SABOLČKI ZOLTAN
+SABOLOVIĆ BORIS
+SABOV BORIVOJE
+SABOVLJEVIĆ RADOVAN
+SADŽAK LJUBICA
+SADŽAKOV DRAGOMIR
+SADŽAKOV DUŠANKA
+SADŽAKOV MIROSLAV
+SADŽAKOV OLGA
+SADŽAKOV PETAR
+SADŽAKOV RADOVAN
+SADŽAKOV RADOVAN
+SADŽAKOV VIDOSAVA
+SADŽAKOV ZORAN
+SADIĆ RADIVOJ
+SADIKU SADIK
+SAITOV ŠAHIM
+SAJFERT ĐULA
+SAJFERT JOHAN
+SAJFERT LJUBIŠA
+SAJFERT LJUBIŠA
+SAJFERT MARGIT
+SAJFERT MARIJA
+SAJIĆ MILIVOJE
+SAJKO BRANKA
+SAJKO IŠTVAN
+SAJKO MARGITA
+SAJKO RUŽICA
+SAJKO ZOLTAN
+SAJLER FERENC
+SAJTOVIĆ DRAGINJA
+SAKAČ BORISLAV LEKAR
+SAKAČ FERENC
+SAKAČ IŠTVAN
+SAKAČ JANKO
+SAKAČ JANKO
+SAKAČ JOVAN
+SAKAČ JULIJANA
+SAKAČ JULIJAN
+SAKAČ LJUDEVIT
+SAKAČ MAGDA
+SAKAČ MARIJA
+SAKAČ MIHAILO
+SAKAČ SIMA
+SAKAČ SVETLANA
+SAKAČ VASILIJE
+SAKAČ VLADIMIR ADVOKAT
+SAKAČ VLADIMIR
+SAKAČ VLADIMIR
+SAKAL ADELA
+SAKAL AUGUSTINA
+SAKAL GABOR
+SAKAL JOŽEF
+SAKAL MARIJA
+SAKAL MARIJA
+SAKALAŠ OTO
+SAKAN DALIBOR
+SAKOVIĆ ALIJA
+SAKOVIĆ STOJAN
+SAKULSKI MILAN
+SALAČ ĐURO
+SALAG EVGENIJE
+SALAG JANKO
+SALAG LJUBA
+SALAI ERŽEBET
+SALAI ESTER
+SALAI-GOMBAR RUŽA
+SALAI IŠTVAN NOVINAR
+SALAI JELISAVETA
+SALAI LADISLAV
+SALAI LASLO
+SALAJ FRANJO
+SALAJ JANKO
+SALAJ JOŽEF
+SALAJ MIRJANA
+SALAJ RUDOLF
+SALAK JANKO
+SALAK VLADIMIR
+SALAK VLADIMIR
+SALAMUN ANA
+SALAMUN BOSILJKA
+SALAMUN ILIJA
+SALAMUN JANKO
+SALAMUN JOAKIM
+SALAMUN JOAKIM
+SALAMUN NATALIJA
+SALAMUN SILVESTER
+SALAMUN VLADIMIR
+SALAPURA MILE
+SALAPURA NEDELJKO
+SALAPURA PETAR
+SALATIĆ MILOVAN
+SALATIĆ PETAR MR OEC
+SALATIĆ VELIMIR
+SALDUM VIDA
+SALETA ANTUN
+SALIĆ MILAN
+SALIBEGOVIĆ MUSTAFA
+SALIHOVIĆ ISMET
+SALIJA SEFER
+SALIJEVIĆ ŠEĆERIJA
+SALKAI ILONA
+SALKAI LASLO
+SALMA ŠANDOR
+SALMA GEZA
+SALMA JOŽEF PROF DR
+SALMA JOSIP
+SALMA PETAR
+SALMA TIBOR
+SALMA TIBOR
+SALOCKI STEVAN
+SALONSKI BOŽIDAR
+SALONSKI JELENA
+SALONSKI MILORAD
+SALONSKI MIRJANA
+SALONSKI MIROSLAV
+SALONSKI RUŽA
+SALONTAI JULIJANA
+SALOPEK BRANKO
+SALOV JOVAN
+SAMAC IVANKA
+SAMAC MIRKO
+SAMARĐIĆ BRANISLAVA
+SAMARDŽIĆ ŽARKO
+SAMARDŽIĆ ADAM
+SAMARDŽIĆ BOŠKO
+SAMARDŽIĆ BOŠKO
+SAMARDŽIĆ BORA
+SAMARDŽIĆ BORA
+SAMARDŽIĆ BRANISLAV
+SAMARDŽIĆ BRANKO
+SAMARDŽIĆ DANILO
+SAMARDŽIĆ DANILO
+SAMARDŽIĆ DESA
+SAMARDŽIĆ DRAGAN
+SAMARDŽIĆ DUŠAN
+SAMARDŽIĆ GOJKO
+SAMARDŽIĆ ILIJA
+SAMARDŽIĆ IVAN
+SAMARDŽIĆ KRSTA
+SAMARDŽIĆ LJUBO
+SAMARDŽIĆ MILAN
+SAMARDŽIĆ MILIJA
+SAMARDŽIĆ MILOŠ
+SAMARDŽIĆ MILOŠ
+SAMARDŽIĆ MILOJKO
+SAMARDŽIĆ MILORAD
+SAMARDŽIĆ MILOSAV
+SAMARDŽIĆ MIODRAG
+SAMARDŽIĆ MIRA
+SAMARDŽIĆ NEĐA
+SAMARDŽIĆ NOVICA
+SAMARDŽIĆ OLGA
+SAMARDŽIĆ OSTOJA
+SAMARDŽIĆ RADOJKA
+SAMARDŽIĆ RADOSLAV
+SAMARDŽIĆ RADOVAN
+SAMARDŽIĆ RAJKO
+SAMARDŽIĆ RATKO
+SAMARDŽIĆ ROZINA
+SAMARDŽIĆ SAVKA
+SAMARDŽIĆ SAVO
+SAMARDŽIĆ SPOMENKA
+SAMARDŽIĆ SRETEN
+SAMARDŽIĆ SRETEN
+SAMARDŽIĆ-STANIŠIĆ MILANKA
+SAMARDŽIĆ SVETLANA
+SAMARDŽIĆ VASILIJA
+SAMARDŽIĆ VASO
+SAMARDŽIĆ VELIMIR
+SAMARDŽIĆ VLADO
+SAMARDŽIĆ VUKAŠIN
+SAMARDŽIĆ ZDRAVKO
+SAMARDŽIĆ ZORAN
+SAMARDŽIĆ ZUZANA
+SAMARDŽIJA ĐURĐINKA
+SAMARDŽIJA ĐURAĐ
+SAMARDŽIJA ĐURA
+SAMARDŽIJA BOŠKO
+SAMARDŽIJA DESA
+SAMARDŽIJA DUŠAN
+SAMARDŽIJA GORICA
+SAMARDŽIJA JELENA
+SAMARDŽIJA LJUBICA
+SAMARDŽIJA LJUBICA
+SAMARDŽIJA MARIJA
+SAMARDŽIJA MARIJA
+SAMARDŽIJA MILANKA
+SAMARDŽIJA MILAN
+SAMARDŽIJA MILAN
+SAMARDŽIJA MILE
+SAMARDŽIJA MIRKO
+SAMARDŽIJA MIROSLAV
+SAMARDŽIJA NEBOJŠA
+SAMARDŽIJA NOVICA
+SAMARDŽIJA PETAR
+SAMARDŽIJA RADE
+SAMARDŽIJA RADE
+SAMARDŽIJA RANKO
+SAMARDŽIJA STOJAN
+SAMARDŽIJEVIĆ MIROSLAV
+SAMBRAILO BRUNO
+SAMEC BOŽENKA
+SAMII ABBAS
+SAMOČETA ALEKSANDRA
+SAMOČETA MILE
+SAMOČETA NEVENKA
+SAMOČETA RADOMIR
+SAMOJLIK NIKOLA
+SAMOKOVLIJA MARKO
+SAMOLOV VELJKO
+SAMOLOVČEV IVANKA
+SAMSONOV NIKOLA DIPL ING
+SANČANIN MILIVOJ
+SANADER ŽIVKO
+SANADER ŽIVKO
+SANADER JELENA
+SANADER RADOVAN
+SANADER SLOBODAN
+SANADER VERA
+SANDIĆ BRANIMIR
+SANDIĆ IVAN
+SANDIĆ SVETLANA
+SANDIKI APOSTOL
+SANDIKI KOSTA
+SANDIKI KOSTA
+SANKOVIĆ BORKO
+SANKOVIĆ LJUBINKA
+SANKOVIĆ MILORAD
+SANKOVIĆ MIRA
+SANKOVIĆ PETAR
+SANKOVIĆ SABINA
+SANKOVIĆ SVETOZAR
+SANTAI ILONA
+SANTO FRANJA
+SANTO KAROLJ
+SANTO LADISLAV DIPL ING
+SANTO ZOLTAN
+SANTO ZOLTAN
+SANTOVAC DRAGAN
+SANTOVAC LJUBINKA
+SANTOVAC MILOŠ
+SANTOVAC PETAR
+SANTOVAC STEVAN
+SANTRAČ ĐURĐINKA
+SANTRAČ DRAGOLJUB
+SANTRAČ GORDANA
+SANTRAČ MILAN
+SANTRAČ MILORAD
+SANTRAČ MOMČILO
+SANTRAČ NIKOLA
+SANTRAČ RATKO
+SANTRAČ SAVO
+SANTRAČ SLAVKO
+SAPUNDŽIĆ-MATIĆ MIRJANA
+SAPUNDŽIĆ MILAN
+SAPUNDŽIĆ MIRA
+SAPUNDŽIĆ TATJANA
+SAPUNDŽIJA ERŽEBET
+SAPUNDŽIJA MARIJA
+SARČEV NADICA
+SARČEV RADIVOJ
+SARAČEVIĆ SRBOLJUB
+SARAFIJANOVIĆ NIKOLA
+SARAJLIJA DRAGOMIR
+SARAMANDIĆ MOMIR
+SARAMANDIĆ NEDELJKO
+SARANDA VASILJKA
+SARAPKA KATICA
+SARATLIĆ MILAN
+SARATLIĆ SRBOLJUB
+SARAVOLAC LAZAR VETERINAR
+SARAVOLAC MAGDALENA
+SARAVOLAC MIRJANA
+SARAVOLAC MIRJANA
+SARAVOLAC SINIŠA DR
+SARAVOLAC SLAVKO
+SARAVOLAC SVETLANA
+SARIĆ ĐURA
+SARIĆ DANILO
+SARIĆ IVAN
+SARIĆ LEPOSAVA
+SARIĆ MARINKO
+SARIĆ MILOŠ
+SARIĆ MILOJE DR
+SARIĆ RADOŠ
+SARIĆ RATKO
+SARIĆ TIBOR
+SARIĆ VOJIN
+SARIKAS SNEŽANA
+SARIKAS VASILIJE
+SARKA ARPAD
+SARKA MIHALJ
+SARKOTIĆ FRANJA
+SARMEŠ MARIJA DIPL PRAVNIK
+SAROV LAZAR
+SARVAŠ ŠANDOR
+SARVAŠ JANOŠ
+SARVAK ALEKSA
+SARVAN DRAGOLJUB
+SARVAN VJERA
+SAS JENE
+SASIK BORISLAV
+SATARIĆ BRANISLAV
+SATARIĆ MILJKO DR
+SATKANOVIĆ HABIB
+SAUER JELICA
+SAUER MARGITA
+SAUER PAVLE
+SAUER ROSA
+SAUER SMILJANA
+SAUSMAN LASLO
+SAUZER FRANJO
+SAVČIĆ DRAGAN
+SAVČIĆ MILANA
+SAVČIĆ MILIVOJE
+SAVČIĆ MILIVOJ
+SAVČIĆ MIROSLAV
+SAVČIĆ SLOBODAN
+SAVA FRANJA
+SAVANOVIĆ BRANKO
+SAVANOVIĆ DRAGOLJUB
+SAVANOVIĆ DUŠAN
+SAVANOVIĆ JOVAN
+SAVANOVIĆ JOVO
+SAVANOVIĆ LJUBOMIR
+SAVANOVIĆ MARICA
+SAVANOVIĆ MARINKO
+SAVANOVIĆ MILAN
+SAVANOVIĆ MILOŠ
+SAVANOVIĆ MIRKO
+SAVANOVIĆ NENAD
+SAVANOVIĆ SNEŽANA
+SAVANOVIĆ STOJAN
+SAVANOVIĆ ZDRAVKA
+SAVATIĆ DRAGOMIR
+SAVATIĆ VLADIMIR
+SAVATOVIĆ BOSILJKA
+SAVATOVIĆ DRAGAN
+SAVATOVIĆ DUŠAN
+SAVATOVIĆ RADOVAN
+SAVELJIĆ ČEDOMIR
+SAVELJIĆ DUŠAN
+SAVELJIĆ MARIJA
+SAVELJIĆ SVETLANA
+SAVELJIĆ VELJKO
+SAVESKI MILČO
+SAVESKI ZORAN
+SAVIČEVIĆ GOJKO
+SAVIČIĆ GOJKO
+SAVIČIĆ STOJAN
+SAVIČIN LJUBICA
+SAVIĆ ČEDOMIR
+SAVIĆ ČEDO
+SAVIĆ ĆETKO
+SAVIĆ ŽIVKA
+SAVIĆ ŽIVKA
+SAVIĆ ĐOKA
+SAVIĆ ĐORĐE DIPL ING
+SAVIĆ ĐORĐE
+SAVIĆ ĐURĐIJA
+SAVIĆ ALEKSANDRA
+SAVIĆ ALEKSA
+SAVIĆ ANĐELKA
+SAVIĆ ANĐELKA
+SAVIĆ ANA
+SAVIĆ ANDRIJA
+SAVIĆ ANDRIJA
+SAVIĆ ANGELINA
+SAVIĆ BLAGOJE
+SAVIĆ BLAGOJE
+SAVIĆ BOŽIDAR
+SAVIĆ BOŽIMIR DR
+SAVIĆ BOGDAN
+SAVIĆ BORISLAV
+SAVIĆ BRANISLAV
+SAVIĆ BRANISLAV
+SAVIĆ BRANISLAV
+SAVIĆ BRANKO
+SAVIĆ CVETANKA
+SAVIĆ CVETKO
+SAVIĆ DAMJAN DR LEKAR
+SAVIĆ DANICA
+SAVIĆ DARA
+SAVIĆ DEJAN
+SAVIĆ DESANKA
+SAVIĆ DESIMIR
+SAVIĆ DOBRILA
+SAVIĆ DRAGAN
+SAVIĆ DRAGAN
+SAVIĆ DRAGAN
+SAVIĆ DRAGAN
+SAVIĆ DRAGIŠA
+SAVIĆ DRAGOSLAV
+SAVIĆ DRAGO
+SAVIĆ DRAGUTIN
+SAVIĆ DRAGUTIN
+SAVIĆ DUŠANKA
+SAVIĆ DUŠAN
+SAVIĆ DUŠAN
+SAVIĆ DUŠAN
+SAVIĆ DUŠAN
+SAVIĆ DUŠAN
+SAVIĆ DUŠAN
+SAVIĆ DUŠAN
+SAVIĆ GEORGIJE
+SAVIĆ GLIGORIJE
+SAVIĆ GOJKO
+SAVIĆ GORAN
+SAVIĆ GOSTIMIR
+SAVIĆ GROZDANA
+SAVIĆ ILIJA
+SAVIĆ ILIJA
+SAVIĆ IVAN
+SAVIĆ JADRANKA
+SAVIĆ JELA
+SAVIĆ JELENA
+SAVIĆ JELENA
+SAVIĆ JELICA
+SAVIĆ JEVTO
+SAVIĆ JOVANKA
+SAVIĆ JOVAN
+SAVIĆ JOVAN
+SAVIĆ JOVAN
+SAVIĆ JOVAN
+SAVIĆ JOVAN
+SAVIĆ JOVAN
+SAVIĆ KATICA
+SAVIĆ KATICA
+SAVIĆ KOSTA
+SAVIĆ KSENIJA
+SAVIĆ LAZAR
+SAVIĆ LAZAR
+SAVIĆ LENKA DR
+SAVIĆ LJILJANA
+SAVIĆ LJILJANA
+SAVIĆ LJUBIŠA
+SAVIĆ LJUBICA
+SAVIĆ LJUBOMIR
+SAVIĆ LJUBOSLAV
+SAVIĆ LUKA
+SAVIĆ MARIJA
+SAVIĆ MARIJA
+SAVIĆ MARIJA
+SAVIĆ MARIJA
+SAVIĆ MARINA
+SAVIĆ MARINA
+SAVIĆ MARKO
+SAVIĆ MEDŽO
+SAVIĆ MIHAJLO
+SAVIĆ MILADIN
+SAVIĆ MILAN
+SAVIĆ MILAN
+SAVIĆ MILAN
+SAVIĆ MILAN
+SAVIĆ MILENA
+SAVIĆ MILENKO
+SAVIĆ MILENKO
+SAVIĆ MILENKO
+SAVIĆ MILIJANA
+SAVIĆ MILISAV
+SAVIĆ MILIVOJE
+SAVIĆ MILIVOJE
+SAVIĆ MILIVOJE
+SAVIĆ MILIVOJ
+SAVIĆ MILIVOJ
+SAVIĆ MILKO
+SAVIĆ MILOŠ DIPL ING
+SAVIĆ MILOŠ
+SAVIĆ MILOŠ
+SAVIĆ MILOŠ
+SAVIĆ MILOŠ
+SAVIĆ MILORAD
+SAVIĆ MILORAD
+SAVIĆ MILORAD
+SAVIĆ MILOSAVA
+SAVIĆ MILOSAV
+SAVIĆ MILOVAN
+SAVIĆ MILUTIN
+SAVIĆ MIODRAG
+SAVIĆ MIODRAG
+SAVIĆ MIRJANA
+SAVIĆ MIRKO
+SAVIĆ MIRKO
+SAVIĆ MIROSLAV
+SAVIĆ MIROSLAV
+SAVIĆ MIROSLAV
+SAVIĆ MIROSLAV
+SAVIĆ MLADEN
+SAVIĆ MOMČILO
+SAVIĆ NADA
+SAVIĆ NADEŽDA
+SAVIĆ NATAŠA
+SAVIĆ NEDELJKO
+SAVIĆ NEDELJKO
+SAVIĆ NEDELJKO
+SAVIĆ NEDELJKO
+SAVIĆ NENAD
+SAVIĆ NIKOLA
+SAVIĆ NIKOLA
+SAVIĆ NIKOLA
+SAVIĆ NIKOLA
+SAVIĆ NINOSLAV
+SAVIĆ NOVO
+SAVIĆ OLGA
+SAVIĆ OLIVERA
+SAVIĆ OLIVERA
+SAVIĆ PANTELIJA
+SAVIĆ PAVLE
+SAVIĆ PERA
+SAVIĆ PETAR
+SAVIĆ PETAR
+SAVIĆ PETAR
+SAVIĆ PETAR
+SAVIĆ PLANINKA
+SAVIĆ PREDRAG
+SAVIĆ PROKOPIJE
+SAVIĆ RADIŠA
+SAVIĆ RADIVOJE DIPL ING
+SAVIĆ RADMILA
+SAVIĆ RADMILA
+SAVIĆ RADMILA
+SAVIĆ RADOJICA
+SAVIĆ RADOMIR
+SAVIĆ RADOMIR
+SAVIĆ RADOVAN
+SAVIĆ RADOVAN
+SAVIĆ RAKIĆ
+SAVIĆ RATKO
+SAVIĆ RATKO
+SAVIĆ RELJA DR
+SAVIĆ RENATA
+SAVIĆ ROKSANDA
+SAVIĆ RUŽICA
+SAVIĆ SAŠA
+SAVIĆ SAVA ADVOKAT
+SAVIĆ SAVA
+SAVIĆ SAVA
+SAVIĆ SAVA
+SAVIĆ SIMEUN DIPL ING
+SAVIĆ SINIŠA
+SAVIĆ SLAVKO
+SAVIĆ SLAVOLJUB
+SAVIĆ SLAVOLJUB
+SAVIĆ SLOBODAN
+SAVIĆ SLOBODAN
+SAVIĆ SMILJA
+SAVIĆ SPASOJE
+SAVIĆ SPASOJE
+SAVIĆ SRĐAN
+SAVIĆ SRBISLAV
+SAVIĆ SRETA
+SAVIĆ STEVAN
+SAVIĆ STOJANKA
+SAVIĆ STOJAN
+SAVIĆ STOJAN
+SAVIĆ STOJAN
+SAVIĆ SVENKA
+SAVIĆ SVETOZAR
+SAVIĆ SVETOZAR
+SAVIĆ TATOMIR
+SAVIĆ TEODOR
+SAVIĆ TINKA
+SAVIĆ TODOR
+SAVIĆ TODOR
+SAVIĆ TODOR
+SAVIĆ TOMISLAV
+SAVIĆ UROŠ
+SAVIĆ VELJKO
+SAVIĆ VERICA
+SAVIĆ VERICA
+SAVIĆ VESNA
+SAVIĆ VIDOSAV
+SAVIĆ VITOMIR
+SAVIĆ VLADIMIR
+SAVIĆ VLADIMIR
+SAVIĆ VOJA
+SAVIĆ VUKAN
+SAVIĆ VUKOTA
+SAVIĆ ZORAN
+SAVIĆ ZORAN
+SAVIĆ ZORAN
+SAVIĆ ZORAN
+SAVIĆ ZORAN
+SAVIĆ ZORA
+SAVIN ŽIVKA
+SAVIN ŽIVKO
+SAVIN ĐORĐE
+SAVIN ĐURĐINKA
+SAVIN BERISLAV
+SAVIN BILJANA DR
+SAVIN BORA
+SAVIN DANICA
+SAVIN DRAGOLJUB
+SAVIN DRAGOMIR
+SAVIN DRENKA
+SAVIN DUŠAN
+SAVIN DUŠAN
+SAVIN JOVAN
+SAVIN JOVAN
+SAVIN JULKA
+SAVIN LASLO
+SAVIN LAZAR
+SAVIN LJUBINKA
+SAVIN MAGDA
+SAVIN MILEVA
+SAVIN MILICA
+SAVIN MILKA
+SAVIN MILORAD
+SAVIN MILORAD
+SAVIN MILOVAN
+SAVIN MIODRAG DIPL OEC
+SAVIN MIRJANA
+SAVIN MIRJANA
+SAVIN NIKOLA
+SAVIN PAVLE
+SAVIN PREDRAG
+SAVIN RADIVOJ
+SAVIN SAVA
+SAVIN SNEŽANA
+SAVIN SPIRIDON
+SAVIN STANA
+SAVIN TODOR
+SAVIN TODOR
+SAVIN VERICA
+SAVIN VUKOSAVA
+SAVIN ZORA
+SAVKELJIN STEVAN
+SAVKIĆ DUŠAN
+SAVKOV DRAGOLJUB
+SAVKOV ILIJA
+SAVKOV MILAN
+SAVKOV TODOR
+SAVKOV VERA
+SAVKOV VOJISLAV
+SAVKOV ZORAN
+SAVKOVIĆ ŽIVORAD
+SAVKOVIĆ JANJA
+SAVKOVIĆ MILUTIN
+SAVKOVIĆ MIRKO
+SAVKOVIĆ NEMANJA
+SAVKOVIĆ SAVA
+SAVKOVIĆ SAVO
+SAVKOVIĆ STAŠA
+SAVKOVIĆ TATJANA
+SAVKOVIĆ VUKA
+SAVKOVIĆ ZDRAVKO
+SAVOVIĆ DESANKA
+SAVOVIĆ FATIMA
+SAVOVIĆ LJUBO
+SAVOVIĆ LUKA
+SAVOVIĆ NENAD
+SAVOVIĆ RADE
+SAVU-MIHAJLOVIĆ SOFIJA
+SAVU TIBI
+SAVULJIĆ RADOMIR
+SAZDANIĆ ĐOKA
+SAZDANIĆ PAVLE
+SAZDANIĆ STEVAN
+SEČANSKI ĐORĐE
+SEČEN MILIVOJ
+SEČEN SVETOZAR DR
+SEČENJI IBOLJA
+SEČI IŠTVAN
+SEČIVANOVIĆ LEPŠA
+SEČIVANOVIĆ LEPŠA
+SEČIVANOVIĆ PAVLE
+SEČUJSKI ANDRIJA DIPL ING
+SEČUJSKI DANILO
+SEČUJSKI MLADEN
+SEČUJSKI RADIVOJ
+SEBASTIAN ERNE
+SEBASTIAN JOHANA
+SEBASTIJAN ZLATKO
+SEBELEDI PAVLE
+SEBENJI FERENC
+SEBENJI FRANJA
+SEBIŠANOVIĆ ĐORĐE
+SEBIŠANOVIĆ PAVLE
+SEDEJ JANEZ
+SEDER ALEKSANDAR
+SEDER IVICA
+SEDER SLAVKO
+SEDER VLADIMIR
+SEDERLAND ĐORĐE
+SEDLAČEK SARA
+SEDLAK ANDRAŠ
+SEDLAN ILIJA
+SEDLAN MANOJLO
+SEDLAN MIRKO DIPL ING
+SEDLAN RADOSLAV
+SEDLAN SAVA
+SEDLAR ILIJA
+SEDLAR MANE
+SEDLAR MILICA
+SEDLAR MILICA
+SEDLAR NADA
+SEDMAK DRAGAN
+SEDMAK VLADO
+SEFČIK ŽUŽANA
+SEFER MARIJA
+SEFER SAKIB
+SEFER SENAD
+SEFEROVIĆ SUAD
+SEG ŽUŽANA
+SEG IMRE
+SEGEDI BRANKA
+SEGEDI DIMITRIJE
+SEGEDI EVGENIJE
+SEGEDI IVICA
+SEGEDI JOSIP
+SEGEDI JOVAN
+SEGEDI JULIJAN
+SEGEDI KAROLJ
+SEGEDI-KOVAČEV BRANKA DR
+SEGEDI KSENIJA
+SEGEDI LEONA
+SEGEDI MARIJA
+SEGEDI MELITA
+SEGEDI MILENA
+SEGEDI SLAVICA
+SEGEDI STEVAN
+SEGEDI VLADIMIR
+SEGEDINAC DUŠKO
+SEGEDINAC NATALIJA
+SEGEDINAC ZDRAVKO
+SEGEDINSKI ARKADIJE
+SEGEDINSKI BOJKO
+SEGEDINSKI JULIJANA
+SEGEDINSKI NESTOR
+SEGEDINSKI SAVA
+SEGEDINSKI TOMA
+SEGEDINSKI VITOMIR
+SEGI LASLO
+SEGIĆ BORISLAV
+SEGIĆ RANKO
+SEIZOVIĆ DUŠANKA
+SEKAČ PETAR
+SEKE ARPAD
+SEKE EVA
+SEKE ILIJA
+SEKE JOSIP
+SEKE KATARINA
+SEKE STEVAN
+SEKE STEVAN
+SEKELJ JANI
+SEKELJ JOSIP
+SEKELJ MARIJA
+SEKELJ RUŽICA
+SEKEREŠ ŠANDOR
+SEKEREŠ ĐULA
+SEKEREŠ DENEŠ
+SEKEREŠ ETEL
+SEKEREŠ FERENC DR LEKAR
+SEKEREŠ FERENC
+SEKEREŠ IŠTVAN
+SEKEREŠ IŠTVAN
+SEKEREŠ IRENA
+SEKEREŠ JOŽEF
+SEKEREŠ JULIJANA
+SEKEREŠ JULIJA
+SEKEREŠ KAROLJ
+SEKEREŠ KATICA
+SEKEREŠ LAJOŠ DIPL ING
+SEKEREŠ NANDOR
+SEKEREŠ STEVAN
+SEKEREŠ TIBOR
+SEKEREŠ VERA
+SEKEREZOVIĆ MILAN
+SEKERIĆ STEVAN
+SEKERUŠ JELISAVETA
+SEKERUŠ LJUBICA
+SEKERUŠ MILKICA
+SEKERUŠ MIRJANA
+SEKERUŠ PAVLE
+SEKERUŠ PETAR
+SEKERUŠ STANISLAV
+SEKERUŠ VLADIMIR
+SEKICKI ALEKSANDAR
+SEKICKI EMILIJA
+SEKICKI ISIDOR
+SEKICKI LAZAR
+SEKICKI MARICA
+SEKICKI MILORAD
+SEKICKI PETAR
+SEKICKI VELJA
+SEKIZ ŽIVKO
+SEKIZ ILIJA
+SEKIZ JOVAN
+SEKIZ MELANIJA
+SEKIZ PETAR
+SEKIZ PETAR
+SEKIZ RADIVOJ
+SEKIZ SONJA
+SEKOŠAN LJUBICA
+SEKOŠAN MARINA
+SEKOL MILKA
+SEKOSKI JOMČE
+SEKOVSKI RADE
+SEKRENJ JOŽEF
+SEKULIĆ ČEDICA
+SEKULIĆ ČEDOMIR
+SEKULIĆ ŽARKO
+SEKULIĆ ŽIVKO
+SEKULIĆ ŽIVKO
+SEKULIĆ ŽIVOJIN DIPL ING
+SEKULIĆ ĐORĐE
+SEKULIĆ ĐORĐE
+SEKULIĆ ĐURĐICA
+SEKULIĆ ĐURAĐ
+SEKULIĆ ALEKSANDAR
+SEKULIĆ ALEKSANDAR
+SEKULIĆ ANĐELKA
+SEKULIĆ ARSENIJE
+SEKULIĆ BOŽIDAR DIPL ING
+SEKULIĆ BRANISLAV
+SEKULIĆ BRANISLAV
+SEKULIĆ BRANISLAV
+SEKULIĆ DANE
+SEKULIĆ DARINKA
+SEKULIĆ DARINKA
+SEKULIĆ DESANKA
+SEKULIĆ DESANKA
+SEKULIĆ DOSTA
+SEKULIĆ DRAGAN
+SEKULIĆ DRAGICA
+SEKULIĆ DRAGOLJUB
+SEKULIĆ DRAGOMIR
+SEKULIĆ DRAGOMIR
+SEKULIĆ DUŠAN
+SEKULIĆ DUŠAN
+SEKULIĆ DUŠAN
+SEKULIĆ DUŠAN
+SEKULIĆ ILIJA
+SEKULIĆ ILIJA
+SEKULIĆ IVAN
+SEKULIĆ IVAN
+SEKULIĆ KATICA
+SEKULIĆ LAZAR
+SEKULIĆ LJILJANA
+SEKULIĆ LJILJANA
+SEKULIĆ LJUBIŠA
+SEKULIĆ LJUBICA
+SEKULIĆ LJUBICA
+SEKULIĆ LJUBICA
+SEKULIĆ LJUBOMIR
+SEKULIĆ MARIJA
+SEKULIĆ MARIJA
+SEKULIĆ MARIJA
+SEKULIĆ MIĆO
+SEKULIĆ MILAN
+SEKULIĆ MILAN
+SEKULIĆ MILAN
+SEKULIĆ MILAN
+SEKULIĆ MILAN
+SEKULIĆ MILAN
+SEKULIĆ MILENA
+SEKULIĆ MILENA
+SEKULIĆ MILIVOJE
+SEKULIĆ MILJA
+SEKULIĆ MILORAD
+SEKULIĆ MILORAD
+SEKULIĆ MILOVAN
+SEKULIĆ MILOVAN
+SEKULIĆ MILOVAN
+SEKULIĆ MIODRAG
+SEKULIĆ MIODRAG
+SEKULIĆ MIRA
+SEKULIĆ MIRJANA
+SEKULIĆ MIRJANA
+SEKULIĆ MIRKO
+SEKULIĆ NEGICA
+SEKULIĆ NEMANJA
+SEKULIĆ OLGA
+SEKULIĆ OLIVERA
+SEKULIĆ PAVLE
+SEKULIĆ PAVLE
+SEKULIĆ PETAR DR
+SEKULIĆ PETAR
+SEKULIĆ PETKO
+SEKULIĆ RADE
+SEKULIĆ RADIVOJ MR
+SEKULIĆ RADMILA
+SEKULIĆ RADOSAV
+SEKULIĆ RUŽICA
+SEKULIĆ SIMO
+SEKULIĆ SLAVKO
+SEKULIĆ SMILJA
+SEKULIĆ SPASA
+SEKULIĆ SPASO
+SEKULIĆ STANISLAV
+SEKULIĆ STANOJE
+SEKULIĆ STEVAN
+SEKULIĆ STEVAN
+SEKULIĆ STOJAN DIPL ING
+SEKULIĆ STOJAN
+SEKULIĆ SVETOZAR
+SEKULIĆ SVETOZAR
+SEKULIĆ TIHOMIR
+SEKULIĆ TOMISLAV
+SEKULIĆ TOMISLAV
+SEKULIĆ USTIJANKA
+SEKULIĆ VALENTINA
+SEKULIĆ VENO
+SEKULIĆ VIDOJE
+SEKULIĆ VINKO
+SEKULIĆ VLADIMIR
+SEKULIĆ VLADIMIR
+SEKULIĆ VLADO
+SEKULIĆ VOJISLAV
+SEKULIĆ ZORAN
+SEKULIĆ ZORAN
+SEKULIĆ ZORA
+SEKULIĆ ZORICA
+SEKULOVIĆ MIHAILO
+SEKULOVIĆ MILANKA
+SEKULOVIĆ MILENKO
+SEKULOVIĆ RADIVOJE
+SEKULOVIĆ SLAVKO
+SEL ANA
+SEL JOŽEF
+SEL LADISLAV
+SELAK JOVAN
+SELAK JOVO
+SELAK MIRJANA
+SELAK STEVAN
+SELAKOVIĆ ĐORĐE DR LEKAR
+SELAKOVIĆ DRAGICA DR LEKAR
+SELAKOVIĆ LJUBISAV
+SELAKOVIĆ MILAN
+SELAKOVIĆ MIODRAG
+SELAKOVIĆ MIROSLAV
+SELAKOVIĆ MLADEN
+SELAKOVIĆ RADOSLAV
+SELAKOVIĆ SREĆKO
+SELAKOVIĆ VOJA
+SELEŠ KAROLJ
+SELEŠ KAROLJ
+SELEŠ MIHAJLO
+SELEŠI ELZA
+SELEŠI ETELKA
+SELEŠI LADISLAV
+SELEŠI LASLO
+SELEŠI MAGDALENA
+SELEŠI MARIJA
+SELEŠI PAL
+SELEŠI STEVAN
+SELEŠI VINCE
+SELEŠI ZOLTAN
+SELENA JELENA
+SELENA NIKOLA
+SELENIĆ ANKICA
+SELI ETELKA
+SELI IŠTVAN DR
+SELI MIKLOŠ
+SELIĆ DRAGUTIN
+SELIĆ MIĆO
+SELIĆ MILOŠ
+SELIĆ MILORAD
+SELIH DANILO
+SELIH DRAGO
+SELIK JOSIP
+SELIK LADISLAV
+SELIMOVIĆ MUSTAFA
+SELINGER GABRIJELA
+SELJAKOV NADA
+SELMAN HAKIJA
+SELSKI ANA
+SELSKI MARIJA
+SELVER ALINAĐI
+SEMAN JOAKIM
+SEMEDER DIMITRIJE
+SEMEDER SUZANA
+SEMEDER SUZANA
+SEMEK ČABA
+SEMEK ČILA
+SEMENSKI KORNELIJA
+SEMEREDI JOŽEF
+SEMEREDI VERA
+SEMIZ KATICA
+SEMIZOVIĆ SADIK
+SEMNIC RUDOLF DR
+SEN MARTIN
+SENČUK SLAVICA
+SENČUK STEVO
+SENĆANSKI JULIJA
+SENĆANSKI KATICA
+SENĆANSKI NADA
+SENĆANSKI PETAR
+SENĆANSKI ZORA
+SENAŠI LADISLAV
+SENCI LADISLAV
+SENDERAK ĐURA
+SENDERAK EUGEN
+SENDERAK LIDIJA
+SENDERAK MELANIJA
+SENDERAK MIRKO
+SENDERAK NIKOLA
+SENDERAK PETAR
+SENDERAK SILVESTER
+SENEŠI JELENA
+SENIĆ ANICA
+SENIĆ IVANKA
+SENIĆ LAZAR
+SENIĆ MILORAD
+SENIĆ RISTO
+SENIĆ VLADIMIR
+SENJEŠ ŠANDOR
+SENJI AGOŠTON DR LEKAR
+SENJI ILONA
+SENJI IRENA
+SENTE LJUBICA
+SENTE PETAR
+SENTIN ČEDOMIR
+SENTIVANAC ĐORĐE
+SENTIVANAC MARKO
+SENTIVANAC MILAN
+SENTIVANAC MILOŠ
+SENTIVANAC MOMIR
+SENTIVANAC SAVA
+SENTIVANAC SVETLANA
+SENTIVANAC TODOR
+SENTIVANAC VESNA
+SENTMARTONI FERENC
+SEP ANTAL
+SEP DEŽE DR LEKAR
+SEP FERENC
+SEP-VARGA EMILIJA
+SERAFIMOV KIRIL
+SERATLIĆ ČEDOMIR
+SERATLIĆ DARKA
+SERATLIĆ GOLUB
+SERATLIĆ MIRAŠ
+SERATLIĆ MIRJANA
+SERATLIĆ VELIMIR DR
+SERATLIĆ ZORAN
+SERDA ŠANDOR
+SERDAR DANICA
+SERDAR ILIJA
+SERDAR MARA
+SERDAR MLADEN
+SERDAR NEDELJKO
+SERDAR PETAR
+SERDAR PETAR
+SERDAREVIĆ ĆAZIM
+SERDAREVIĆ GIZELA
+SEREŠI FERENC
+SEREŠI IŠTVAN
+SEREŠI LASLO
+SEREŠI ROZALIJA
+SEREŠI STEVAN
+SEREŠI TIBOR
+SERENČE LADISLAV
+SERENČEŠ JOŽEF NOVINAR
+SERNEC STEVAN
+SERTIĆ DRAGAN
+SERTIĆ MARIJA
+SERTIĆ MATIJA
+SERTIĆ MILAN
+SERTIĆ VLADA
+SETENČIĆ MILORAD
+SEVER ŠIME
+SEVERINI JAN
+SEVIĆ ĐORĐE
+SEVIĆ RADENKO
+SEVKIĆ BRANKO
+SEVKIĆ MAGDALENA
+SIČ ANDRIJA
+SIČ DRAGAN
+SIČ FERENC
+SIČ IMRE
+SIČ JOŽEF
+SIČ JOSIP
+SIČ JOSIP
+SIČ JULIJANA
+SIČ KALMAN
+SIČ KALMAN
+SIČ MARGITA
+SIČ MARIJA
+SIČ MARIJA
+SIČ MIHALJ
+SIČ MIROSLAVA
+SIČ PETAR DR LEKAR
+SIČ PIROŠKA
+SIČ STEVAN
+SIČ STEVAN
+SIČ STEVAN
+SIČ TEREZA
+SIČ VLADISLAV
+SIČ ZLATKO
+SIĆ MIROSLAV
+SIĆ SLAĐANA
+SIĆ STANISLAV
+SIĆ STANKO
+SIĐI MIRKO
+SIBER IŠTVAN
+SIBER IŠTVAN
+SIBINAC VUKICA
+SIBINKIĆ PETAR
+SIBINKIĆ RATKO
+SIBINKIĆ RATKO
+SIBINKIĆ VASA
+SIBINOV NIKOLA
+SIBINOVIĆ RADOMIR
+SIBINSKI VIDA
+SIDŽIMOSKI DIMITRIJE
+SIDOR ĆIRIL DR
+SIGETI-BIČKEI AGOTA
+SIGETI JAŠA
+SIGETI JANOŠ
+SIGETI STEVAN
+SIKA FRANJA
+SIKA IRENA
+SIKIMIĆ ANĐELKA
+SIKIMIĆ NOVAK
+SIKIMIĆ SRĐAN
+SIKIMIĆ SRĐAN
+SIKIRICA MIRJANA
+SIKORA KAROLJ
+SIKORA LADISLAV
+SIKORA PETAR
+SILAŠKI ILIJA
+SILAŠKI RADOVAN
+SILAŠKI SLAVKO
+SILAŠKI SNEŽANA
+SILAŠKI VERA
+SILAŠKI VLADISLAVA
+SILAĐEV RUŽICA
+SILAĐI ŠANDOR
+SILAĐI ANDRAŠ
+SILAĐI FRANJA
+SILAĐI GIZELA
+SILAĐI IŠTVAN
+SILAĐI IMRE
+SILAĐI JELISAVETA
+SILAĐI KAROLJ
+SILAĐI LADISLAV
+SILAĐI LASLO VAJAR
+SILAĐI LASLO
+SILAĐI LASLO
+SILAĐI LASLO
+SILAĐI LJUDEVIT
+SILAĐI LJUDEVIT
+SILAĐI MARIJA
+SILAĐI MIKLOŠ
+SILAĐI ROZALIJA
+SILAĐI TEREZA
+SILAĐI VIKTORIJA
+SILAK ANDRAŠ
+SILAK GIZELA
+SILAK IŠTVAN
+SILAK ZOLTAN
+SILBAŠKI DOŠKO
+SILBAŠKI LJUBICA
+SILBAŠKI MARJAN
+SILBAŠKI ZORAN
+SILBERHOLC STEVAN
+SILER ĐULA
+SILER DUŠICA
+SILER GUSTAV
+SILER KARL
+SILJANOVSKI DARKO
+SILJANOVSKI JOŽE
+SILNI SLAVNA
+SILVAŠI ŠANDOR
+SILVAŠI JANOŠ
+SILVAŠI KAROLJ
+SILVESTROVIĆ MILICA
+SILVESTROVIĆ TANASIJE
+SIMČIN MIHAJLO
+SIMANIĆ ILIJA
+SIMANIĆ JEZDIMIR
+SIMANIĆ PETKO
+SIMANIĆ RAJKA
+SIMANIĆ SAVA
+SIMENDIĆ BOŽA
+SIMENDIĆ GORAN
+SIMENDIĆ SVETOZAR
+SIMENDIĆ VLADIMIR
+SIMENTIĆ JOVAN
+SIMENTIĆ VOJISLAV
+SIMEONOV PAVLE
+SIMEONOV RADIVOJ
+SIMEONOV ZDRAVČO
+SIMEONOVIĆ ĐORĐE
+SIMEONOVIĆ MILIVOJ
+SIMEONOVIĆ RADOSLAV
+SIMEONOVIĆ SLOBODANKA
+SIMETIĆ MOMČILO
+SIMETIĆ OSTOJA
+SIMEUNOVIĆ BORISLAV
+SIMEUNOVIĆ DRAGAN
+SIMEUNOVIĆ DRAGAN
+SIMEUNOVIĆ DRAGOLJUB
+SIMEUNOVIĆ DUŠAN
+SIMEUNOVIĆ JANKO
+SIMEUNOVIĆ LEPOSAVA
+SIMEUNOVIĆ MILAN
+SIMEUNOVIĆ MILOMIR
+SIMEUNOVIĆ NEVENKA
+SIMEUNOVIĆ RADOSAV
+SIMEUNOVIĆ SAVA
+SIMEUNOVIĆ SIMO
+SIMEUNOVIĆ SIMO
+SIMEUNOVIĆ SRETEN
+SIMEUNOVIĆ VLADA
+SIMIČIĆ DRAGANA
+SIMIŠIĆ RADOJICA
+SIMIĆ ČEDA
+SIMIĆ ŽIVOJIN
+SIMIĆ ŽIVOJIN
+SIMIĆ ĐURĐEVKA
+SIMIĆ ĐURA
+SIMIĆ ĐURO
+SIMIĆ ACA
+SIMIĆ ADAM
+SIMIĆ ALEKSANDAR
+SIMIĆ ALEKSANDAR
+SIMIĆ ANĐELKA
+SIMIĆ BOŠKO
+SIMIĆ BOJANA
+SIMIĆ BORA
+SIMIĆ BORISLAV
+SIMIĆ BORISLAV
+SIMIĆ BORKA
+SIMIĆ BOSILJKA
+SIMIĆ BRANISLAV
+SIMIĆ BRANISLAV
+SIMIĆ BRANISLAV
+SIMIĆ BRANKO
+SIMIĆ BUDIMIR
+SIMIĆ-CHALABI DRAGANA
+SIMIĆ CVETIN
+SIMIĆ DEJAN
+SIMIĆ DOBRIVOJE
+SIMIĆ DOBRIVOJE
+SIMIĆ DOJČIN
+SIMIĆ DRAGAN
+SIMIĆ DRAGICA
+SIMIĆ DRAGOLJUB
+SIMIĆ DRAGOLJUB
+SIMIĆ DRAGUTIN
+SIMIĆ DUŠANKA
+SIMIĆ DUŠAN
+SIMIĆ DUŠAN
+SIMIĆ DUŠICA
+SIMIĆ GOJKO
+SIMIĆ GORDANA
+SIMIĆ GRADIMIR
+SIMIĆ HERMINA DR
+SIMIĆ ILIJA
+SIMIĆ ILONKA
+SIMIĆ IVAN
+SIMIĆ JELENA
+SIMIĆ JOVAN
+SIMIĆ JOVAN
+SIMIĆ JOVICA
+SIMIĆ JOVO
+SIMIĆ JOVO
+SIMIĆ JUDIT
+SIMIĆ KRISTINA
+SIMIĆ LJILJANA
+SIMIĆ MARIJA
+SIMIĆ MARIJA
+SIMIĆ MARIJA
+SIMIĆ MICA
+SIMIĆ MIHAILO
+SIMIĆ MILAN
+SIMIĆ MILAN
+SIMIĆ MILAN
+SIMIĆ MILENA
+SIMIĆ MILICA
+SIMIĆ MILIJA
+SIMIĆ MILIVOJ
+SIMIĆ MILOŠ
+SIMIĆ MILOŠ
+SIMIĆ MILOŠ
+SIMIĆ MILORAD
+SIMIĆ MILORAD
+SIMIĆ MILOVAN
+SIMIĆ MILUTIN
+SIMIĆ MILUTIN
+SIMIĆ MILUTIN
+SIMIĆ MIRKO
+SIMIĆ MOMČILO
+SIMIĆ MOMČILO
+SIMIĆ MOMČILO
+SIMIĆ MOMČILO
+SIMIĆ NADA
+SIMIĆ NADA
+SIMIĆ NARANČA
+SIMIĆ NEĐO
+SIMIĆ NEDELJKO
+SIMIĆ NEMANJA
+SIMIĆ NEVENKA
+SIMIĆ NIKOLA
+SIMIĆ NIKOLA
+SIMIĆ NOVAK
+SIMIĆ NOVAK
+SIMIĆ NOVAK
+SIMIĆ OLGA
+SIMIĆ OSTOJA
+SIMIĆ PANTELIJA
+SIMIĆ PAVLE
+SIMIĆ PETAR
+SIMIĆ RADA
+SIMIĆ RADENKO
+SIMIĆ RADENKO
+SIMIĆ RADISAV
+SIMIĆ RADIVOJE
+SIMIĆ RADIVOJE
+SIMIĆ RADIVOJ
+SIMIĆ RADOJE
+SIMIĆ RADOVAN
+SIMIĆ RAJKO
+SIMIĆ RUŽICA
+SIMIĆ RUŽICA
+SIMIĆ SAVA
+SIMIĆ SIMA
+SIMIĆ SINIŠA
+SIMIĆ SLADA
+SIMIĆ SLAVKO
+SIMIĆ SLOBODAN
+SIMIĆ SRĐAN
+SIMIĆ SRETEN
+SIMIĆ STEVAN
+SIMIĆ STEVAN
+SIMIĆ STEVAN
+SIMIĆ STOJANKA
+SIMIĆ SVETISLAV
+SIMIĆ SVETISLAV
+SIMIĆ TIHOMIR
+SIMIĆ TIHOMIR
+SIMIĆ TODE
+SIMIĆ TOMISLAV
+SIMIĆ TOMISLAV
+SIMIĆ VAJKA
+SIMIĆ VASA
+SIMIĆ VERONKA
+SIMIĆ VESELKO
+SIMIĆ VINKA
+SIMIĆ VLADE
+SIMIĆ VLADIMIR
+SIMIĆ VLADO
+SIMIĆ VOJISLAV
+SIMIĆ ZLATIMIR
+SIMIĆ ZORAN
+SIMIĆ ZORAN
+SIMIĆ ZORAN
+SIMIĆ ZORA
+SIMIĆ ZORA
+SIMIĆ ZORICA
+SIMIĆ ZORKA
+SIMIĆEVIĆ RADOMAN
+SIMIJONOVIĆ SLOBODAN
+SIMIKIĆ JOVAN
+SIMILENJI DUŠICA
+SIMIN ŽIVKA
+SIMIN ŽIVOJIN
+SIMIN ANĐELKA
+SIMIN ARANKA
+SIMIN CVETKO
+SIMIN DANICA
+SIMIN DANILO
+SIMIN DINA
+SIMIN DRAGAN
+SIMIN HILDA
+SIMIN IVANKA
+SIMIN IVAN
+SIMIN JAŠA
+SIMIN JELENA
+SIMIN KOSTA
+SIMIN LAZAR
+SIMIN LEPOSAVA
+SIMIN LJUBICA
+SIMIN MAGDA
+SIMIN MILENA
+SIMIN MILICA
+SIMIN MILICA
+SIMIN MILIVOJ
+SIMIN MILIVOJ
+SIMIN MILUTIN
+SIMIN MIROSLAV
+SIMIN NADA
+SIMIN NADA
+SIMIN NEBOJŠA
+SIMIN PAVLE
+SIMIN PETAR
+SIMIN RADICA
+SIMIN RADIVOJE
+SIMIN RADOJICA
+SIMIN RADOVAN
+SIMIN SINIŠA
+SIMIN SOFIJA
+SIMIN STEVAN
+SIMONOVIĆ DRAGOSLAVA
+SIMONOVIĆ HRISTINA
+SIMONOVIĆ IRENA DR
+SIMONOVIĆ MILE
+SIMONOVIĆ MILORAD
+SIMONOVIĆ MILORAD
+SIMONOVIĆ NADA
+SIMONOVIĆ NIKOLA
+SIMONOVIĆ PETAR
+SIMONOVIĆ SLOBODAN
+SIMONOVIĆ TOMISLAV
+SIMONOVIĆ VOJISLAV
+SIMONOVSKI FINKA
+SIMONOVSKI MITA
+SIMOTIN RADOVAN
+SIMOVIĆ ŽELJKO
+SIMOVIĆ ŽIVOTA
+SIMOVIĆ ANKA
+SIMOVIĆ BRANISLAV DR
+SIMOVIĆ DRAGOLJUB
+SIMOVIĆ DRAGOLJUB
+SIMOVIĆ DRAGO
+SIMOVIĆ JOVA
+SIMOVIĆ LJUBIŠA
+SIMOVIĆ MILAN
+SIMOVIĆ MILAN
+SIMOVIĆ MILAN
+SIMOVIĆ MILAN
+SIMOVIĆ MILOŠ
+SIMOVIĆ MILOŠ
+SIMOVIĆ MIRKO
+SIMOVIĆ MITAR
+SIMOVIĆ PETAR
+SIMOVIĆ RADIVOJE
+SIMOVIĆ RADOMIR
+SIMOVIĆ SLOBODAN PROFESOR
+SIMOVIĆ SLOBODAN
+SIMOVIĆ TODOR
+SIMOVIĆ VIDAK
+SIMOVIĆ VLADIMIR
+SIMOVLJEVIĆ JOCA
+SIMUNIĆ ŽELIMIR
+SIMUNIĆ ANDRIJA
+SIMUNIĆ MAGDA
+SIMUNIĆ STANIMIR
+SIMUNOVIĆ MARIJA
+SIMUNOVIĆ MILUN
+SIMURDIĆ MILAN
+SIMURDIĆ PETAR
+SIMURDIĆ VITOMIR
+SINČIĆ ZVONIMIR
+SINĐELIĆ LJUBISAV
+SINĐELIĆ MILOŠ
+SINĐIĆ MILENKO
+SINADINOVIĆ VOJO
+SINANI ABDULA
+SINANI MILICA
+SINANOVIĆ SAFET
+SINGER DRAGICA
+SINGER RUŽICA
+SIRAČKI KAROLINA
+SIRACKI JOVAN
+SIRACKI VLADIMIR
+SIRAK LASLO DR
+SIRIŠKI ŽARKO
+SIRIŠKI ĐURĐINA
+SIRIŠKI BRANISLAV
+SIRIŠKI IVAN
+SIRIŠKI JASMINKA
+SIRIŠKI JELENA
+SIRIŠKI JOVAN
+SIRIŠKI MIROSLAVA
+SIRIŠKI SLAVKO SUDIJA
+SIRIŠKI SLAVKO
+SIROČIĆ IVAN
+SIROŽENKO SNEŽANA
+SIROŽENKO VERA
+SIROTIN SLAVICA
+SIROVICA JANOŠ
+SIRUČEK VILIM DIPL ING
+SITAŠ ILONA
+SITAŠ LAJOŠ
+SITAREVIĆ AMIR
+SITARIĆ PAJA
+SIVČ AMALIJA
+SIVČ ANĐELKA
+SIVČ DANILO
+SIVČ HELENA
+SIVČ IRINA
+SIVČ JANKO
+SIVČ LJUBOMIR
+SIVČ LJUBOMIR
+SIVČ NESTOR
+SIVČ VLADIMIR
+SIVČEV ĐOKA
+SIVČEV BOŽIDAR
+SIVČEV JOVAN DR
+SIVČEV JULKA
+SIVČEV LJUBICA
+SIVČEV MILAN
+SIVČEV ZORAN
+SIVAČKI ĐURA
+SIVAČKI JOVAN
+SIVAČKI MILAN
+SIVAČKI MIRJANA
+SIVAČKI MIROSLAV
+SIVAČKI SAVA
+SIVAČKI SLOBODANKA
+SIVAČKI VERA
+SIVAČKI VERA
+SIVAC JOVANKA
+SIVAK IBOLJA
+SIVAK JUDITA
+SIVAK LJUBINKA
+SIVAK ROZINA
+SIVIĆ GOJKO
+SIVIĆ RADE
+SIZOV MARGITA
+SJENIČIĆ NEDELJKO
+SJEPANOVIĆ SRĐAN
+SKAKAVAC NIKOLA
+SKAKAVAC NOVA
+SKAKAVAC NOVA
+SKAKAVAC SOFIJA
+SKAKAVAC VELIMIR
+SKAKAVAC VUJICA
+SKAKAVAC ZDRAVKO
+SKAKIĆ BOŠKO
+SKAKIĆ MILAN
+SKAKIĆ NIKOLA
+SKAKUN ŽIVKO
+SKALA ANTAL
+SKALA MILENA
+SKALA VLADIMIR
+SKALICKI ZAGORKA
+SKANDARSKI ANKA
+SKANDARSKI MILAN
+SKANDARSKI MILOŠ
+SKANDARSKI MIRKO
+SKANDARSKI MLADEN
+SKANDARSKI MOMČILO
+SKANDARSKI RADOVAN
+SKARAMUCA MIJO
+SKARAMUCA ZDRAVKO
+SKELEDŽIĆ ALEKSANDAR
+SKELEDŽIĆ ALEKSANDAR
+SKELEDŽIĆ BRANISLAV
+SKELEDŽIĆ BRANISLAV
+SKELEDŽIĆ DRAGICA
+SKELEDŽIĆ KATICA
+SKELEDŽIĆ LJUBINKO
+SKELEDŽIĆ MARIJA
+SKELEDŽIĆ MILAN
+SKELEDŽIĆ MIROSLAVA
+SKELEDŽIĆ RADOSLAV
+SKELEDŽIĆ RADOSLAV
+SKELEDŽIJA KATA
+SKELEDŽIJA RADOJICA
+SKELEDŽIJA SPASIMIR
+SKENDŽIĆ ŽARKO
+SKENDŽIĆ BOGDAN
+SKENDŽIĆ BRANKA
+SKENDŽIĆ DANE
+SKENDŽIĆ DANILO
+SKENDŽIĆ DRAGOMIR
+SKENDŽIĆ DUŠAN
+SKENDŽIĆ ILIJA
+SKENDŽIĆ JASMINKA
+SKENDŽIĆ JOVANKA
+SKENDŽIĆ MARGARETA
+SKENDŽIĆ MILAN
+SKENDŽIĆ MILENKO
+SKENDŽIĆ MILICA
+SKENDŽIĆ RADE
+SKENDŽIĆ SARA
+SKENDŽIĆ SOFIJA
+SKENDŽIĆ STEVAN
+SKENDEROVIĆ ANDRIJA
+SKENDEROVIĆ BERISLAV
+SKENDEROVIĆ GABOR
+SKENDEROVIĆ MARIJA
+SKENDEROVIĆ SINIŠA
+SKERLETOVIĆ MILOŠ
+SKERLETOVIĆ ZORAN
+SKERT BOŽIDAR
+SKIČAK LASLO
+SKIVJANI ŠANDOR
+SKIVJANI MIHALJ
+SKLABINAC VLADIMIR
+SKLABINSKI SAMO
+SKLENA JOHAN DIPL ING
+SKLENA OLIVERA
+SKLENA VIKTORIJA
+SKLENAR PETAR
+SKLJAR ĐURO
+SKOČAJIĆ VUKAŠIN
+SKOČOVSKI MARIJA
+SKOBE IVAN
+SKOK MIRJANA
+SKOKANDIĆ PETAR
+SKOKIĆ NENAD
+SKOKIĆ VESNA
+SKOKNIĆ DUŠAN
+SKOKNIĆ STEVAN
+SKOKO MILOŠ
+SKOMINA VERICA
+SKOPAL BELA
+SKOPAL JOVAN
+SKORIĆ JASMINKA
+SKORIĆ LJUBO
+SKORIĆ TONKA
+SKORIĆ VUJO
+SKORUPAN ĐURA
+SKORUPAN DANICA
+SKORUPAN KATA
+SKORUPAN RADENKO
+SKORUPAN SLAVKO
+SKOTOVIĆ FERENC
+SKRAMOĆIN SREĆKO
+SKROBIĆ DRAGAN
+SKROBIĆ PETAR
+SKROBONJA ALEKSANDAR
+SKROBONJA KATICA
+SKROBONJA NIKOLA
+SKROBONJA VLADIMIR
+SKUBAN HELENA
+SKUBAN JANKO
+SKUBAN JEFREM
+SKUBAN JULIJAN
+SKUBAN LEONA
+SKUBAN LJUBOMIR
+SKUBAN MIHAJLO
+SKUBAN NATALIJA
+SKUBAN NIKOLA
+SKUBAN ZORKA
+SKULAR RADOJKA
+SKULIĆ MIRJANA
+SKULIĆ SIMKA
+SKULIĆ VLADIMIR
+SKUMPIJA JOŽEF
+SKURUPATIS MIRJANA
+SLAĆANIN IVAN
+SLADAKOVIĆ NIKOLA
+SLADEK ANDRIJA
+SLADIĆ CVETA
+SLADIĆ SLOBODAN
+SLADIĆ STEVAN
+SLADIĆ ZORICA
+SLADOJA MILOVAN
+SLADOJE ILIJA
+SLADOJE RADOMIR
+SLADOJEV MILAN
+SLADOJEV PREDRAG
+SLADOJEVIĆ ŽIVKO
+SLADOJEVIĆ MIRKO
+SLADOJEVIĆ RADIVOJ
+SLAMA ĐORĐE
+SLAMA MARIJA
+SLAMAR FERENC
+SLANC JELENA
+SLANKAMENAC ŽIVKO
+SLANKAMENAC ŽIVKO
+SLANKAMENAC ĐORĐE
+SLANKAMENAC ALEKSANDAR
+SLANKAMENAC ANKICA
+SLANKAMENAC BRANISLAV
+SLANKAMENAC DUŠANKA
+SLANKAMENAC IDA
+SLANKAMENAC JELENA
+SLANKAMENAC JOVAN
+SLANKAMENAC MARIJA
+SLANKAMENAC MARIJA
+SLANKAMENAC MILAN
+SLANKAMENAC MILAN
+SLANKAMENAC MILAN
+SLANKAMENAC MILOŠ
+SLANKAMENAC MILOŠ
+SLANKAMENAC MILOJE
+SLANKAMENAC MIRJANA
+SLANKAMENAC MOMČILO
+SLANKAMENAC NADA
+SLANKAMENAC PETAR DR
+SLANKAMENAC PETAR
+SLANKAMENAC PETAR
+SLANKAMENAC PROKA
+SLANKAMENAC RADOSLAV
+SLANKAMENAC STEVAN
+SLANKAMENAC VESELIN
+SLANKAMENAC ZORAN
+SLATVINSKI GEORGIJE
+SLAVIĆ ĐORĐE
+SLAVIĆ SOFIJA
+SLAVICA STIPE
+SLAVKIĆ DUŠANKA
+SLAVKOVIĆ ALOJZ
+SLAVKOVIĆ MILOŠ
+SLAVKOVIĆ MIRJANA
+SLAVKOVIĆ SIBIN
+SLAVKOVIĆ SNEŽANA
+SLAVKOVIĆ TRIFUN
+SLAVKOVIĆ ZDENKO
+SLAVNIĆ DANILO
+SLAVNIĆ JASMINA
+SLAVNIĆ LJUBICA
+SLAVNIĆ NOVKA
+SLAVNIĆ RADIVOJ
+SLAVNOVIĆ IVAN
+SLAVUJ BOŽO
+SLAVUJ DRAGAN
+SLAVUJEVIĆ DUŠAN
+SLAVUJEVIĆ LJUBOMIR
+SLAVUJEVIĆ MILENA
+SLAVUJEVIĆ RADISAV
+SLAVUJEVIĆ STEVO
+SLAVULJ MILE
+SLEPČEV ŽIVAN
+SLEPČEV DANICA
+SLEPČEV JOVAN
+SLEPČEV NIKOLA
+SLEPČEV ZDENKA
+SLEPČEV ZORICA
+SLEPČEVIĆ KRSTAN
+SLEPČEVIĆ LJUBIŠA
+SLEPČEVIĆ MILAN
+SLEPČEVIĆ OLGA
+SLEPČEVIĆ RUŽA
+SLEPČEVIĆ ZDRAVKA
+SLEPKO IRENA
+SLEPKO JOVAN
+SLEPKO MIHAJLO
+SLEPKO MILICA
+SLESAR DANILO
+SLESAR JELENA
+SLESAR MOMČILO
+SLESAR VASA
+SLIŠKO ANDRIJA
+SLIŠKO MARKO
+SLIŠKOVIĆ ANĐELKA
+SLIJEPČEVIĆ ANA
+SLIJEPČEVIĆ BISERKA
+SLIJEPČEVIĆ DRAGAN
+SLIJEPČEVIĆ DUŠAN
+SLIJEPČEVIĆ DUŠAN
+SLIJEPČEVIĆ GEORGIJE
+SLIJEPČEVIĆ JANKO
+SLIJEPČEVIĆ JANKO
+SLIJEPČEVIĆ JOVAN
+SLIJEPČEVIĆ KOVILJKA
+SLIJEPČEVIĆ LJUBAN
+SLIJEPČEVIĆ MILORAD
+SLIJEPČEVIĆ MILOVAN
+SLIJEPČEVIĆ MIROSLAVA
+SLIJEPČEVIĆ NOVICA
+SLIJEPČEVIĆ RUŽICA
+SLIJEPČEVIĆ SAVO
+SLIJEPČEVIĆ VERA
+SLIJEPČEVIĆ VJEKOSLAVA
+SLIJEPČEVIĆ ZVONKO
+SLIJEPAC MILOŠ
+SLIJEPAC SLOBODAN
+SLIMAK ADAM
+SLIVA ELIZABETA
+SLIVKA ĐURA
+SLIVKA ANA
+SLIVKA BOŽANA
+SLIVKA BOSILJKA
+SLIVKA JAROSLAV
+SLIVKA JOVAN
+SLIVKA MIŠA
+SLIVKA MIŠA
+SLIVKA STEVAN
+SLIVKA ZDENKA
+SLIVKA ZLATA
+SLJUKA BOHUSLAV
+SLJUKA JURAJ
+SLOBODA ANTAL
+SLOBODA IŠTVAN
+SLOBODA JANOŠ
+SLOBODA JOŽEF
+SLOBODA JULKA
+SLOBODA MIHAJLO
+SLOBODA MIHALJ
+SLOBODA PETAR
+SLOBODA SLAVKA
+SLOBODA STEVAN
+SLOKAR IVAN
+SLOKAR MATIJA
+SLOVIĆ DRAGOLJUB DR
+SLUNJSKI FRANJA
+SMAGIN IVAN
+SMAJIĆ MAKSIM
+SMAJIĆ MILOŠ
+SMAJIĆ SLOBODAN
+SMAJIĆ SLOBODAN
+SMEDEREVAC DUŠAN
+SMEDEREVAC JOVAN
+SMEDEREVAC MILICA
+SMEDEREVAC PETAR
+SMEDEREVAC STEVICA
+SMIĆEVIĆ UROŠ
+SMIEŠKO JELISAVETA
+SMILIĆ MARIJA
+SMILJANIĆ ĐORĐE
+SMILJANIĆ ĐORĐE
+SMILJANIĆ ĐORĐE
+SMILJANIĆ BOJANA
+SMILJANIĆ BORKA
+SMILJANIĆ BRANKO
+SMILJANIĆ DOBRIVOJ
+SMILJANIĆ DRAGICA
+SMILJANIĆ ILIJA
+SMILJANIĆ JOVANA
+SMILJANIĆ JOVAN
+SMILJANIĆ JOVO
+SMILJANIĆ LJILJANA
+SMILJANIĆ LJILJANA
+SMILJANIĆ MARIJA
+SMILJANIĆ MILAN
+SMILJANIĆ MILAN
+SMILJANIĆ MILENKO
+SMILJANIĆ MILKA
+SMILJANIĆ MILORAD
+SMILJANIĆ MILUTIN
+SMILJANIĆ MIODRAG
+SMILJANIĆ MLADEN
+SMILJANIĆ NEVENKA
+SMILJANIĆ NEVENKA
+SMILJANIĆ OLIVERA
+SMILJANIĆ PETAR
+SMILJANIĆ PREDRAG
+SMILJANIĆ RADA
+SMILJANIĆ RADE
+SMILJANIĆ SAVA
+SMILJANIĆ SOFIJA
+SMILJANIĆ SOFIJA
+SMILJANIĆ STANA
+SMILJANIĆ STEVO
+SMILJANIĆ TRIVO
+SMILJANIĆ VESELKO
+SMILJANIĆ VIDOSAV
+SMILJANIĆ VINKO
+SMILJANIĆ VLADIMIR
+SMILJANIĆ VLADIMIR
+SMILJANIĆ ZLATKO
+SMILJANIĆ ZORKA
+SMILJANOV MILAN
+SMILJANOV RADOVAN
+SMILJANSKI MILAN
+SMILJIĆ ŽIVKO
+SMILJKOVIĆ RADOMIR
+SMILJKOVIĆ STANIMIR
+SMIRNOV JUDITA
+SMIRNOV JUDIT
+SMIRNOV RASTISLAV
+SMIRNOV VLADIMIR
+SMOK NIKOLA
+SMOLČIĆ RUŽA
+SMOLENICKI MELITA
+SMOLENSKI KARLO
+SMOLENSKI ROZALIJA
+SMOLJANIKOV MIHAJLO DIPL ING
+SMOLOVIĆ DRAGOLJUB
+SMOLOVIĆ MIHAJLO
+SMOLOVIĆ RADMILA
+SMOLOVIĆ RATKO
+SMOLOVIĆ SAVA
+SMREKA DRAGICA
+SMUĐA GRADIMIR
+SMUĐA JOVAN
+SMUĐA MILENKO
+SMUĐA NIKOLA
+SMUĐA SAVA
+SMUK ŽIVANA
+SMUK BORIVOJ
+SMUTEK JOSIP
+SMUTNI IVAN
+SNJIDA ANA
+SNJIDA SAŠA
+SOBČAK FRANJA
+SOBOČAN MIŠA
+SOBOĆAN IVAN
+SOCEK IMRE
+SOCEK JOSIP
+SOCEK MIRJANA
+SOFILJ ALEKSANDRA
+SOFILJ DRAGICA
+SOFILJ JOVANKA
+SOFILJ RANKO
+SOFILJ SLAVICA
+SOFINKIĆ BRANKA
+SOFRADŽIJA MUHAMED
+SOFRANIN BORIVOJ
+SOFRANIN KUZMAN
+SOFRANIN MILIVOJ
+SOFRENIĆ VERICA
+SOFRONIJEVIĆ LJUBICA
+SOFTIĆ MARIJA
+SOGIĆ SAVA
+SOGIĆ VLADISLAV
+SOJEVIĆ MLADEN
+SOJIĆ RADOJKA
+SOKELE BRANISLAV
+SOKIĆ ŽIVKO
+SOKIĆ ĐURĐICA
+SOKIĆ ILIJA
+SOKIĆ LIDIJA
+SOKIĆ ZORKA
+SOKNIĆ TOMISLAV
+SOKOLA ANTUN
+SOKOLA FERENC
+SOKOLA IŠTVAN
+SOKOLA IŠTVAN
+SOKOLA KATARINA
+SOKOLA MARTA
+SOKOLAI JOŽEF
+SOKOLAI LAJOŠ
+SOKOLIĆ ŽELJKO
+SOKOLOV ALEKSANDAR
+SOKOLOV LJUBOMIR
+SOKOLOV MILAN
+SOKOLOV NADKA
+SOKOLOV SLAVKA
+SOKOLOV STEVAN
+SOKOLOV ZINAIDO
+SOKOLOVIĆ ĐORĐE
+SOKOLOVIĆ ANA
+SOKOLOVIĆ DUŠKO
+SOKOLOVIĆ KATARINA
+SOKOLOVIĆ MILE
+SOKOLOVIĆ NATALIJA
+SOKOLOVIĆ RUŽICA
+SOKOLOVIĆ SLOBODAN
+SOKOLOVIĆ SLOBODAN
+SOKOLOVIĆ TOMISLAV
+SOKOLOVIĆ ZORICA
+SOKOVIĆ DIMITRIJE
+SOKOVIĆ DUŠAN
+SOLAR LJUBICA
+SOLAR STJEPAN
+SOLAREVIĆ JOVANKA
+SOLAREVIĆ MILANKA
+SOLARIĆ SOFIJA
+SOLAROV BORISLAV
+SOLAROV BORO
+SOLAROV MILAN
+SOLAROV MILICA
+SOLAROV MILICA
+SOLAROV MILOŠ
+SOLAROV MILOVAN
+SOLAROV NIKOLA
+SOLAROV RADIVOJ
+SOLDAT BOŠKO
+SOLDAT BRANKA
+SOLDAT DRAGO
+SOLDAT MILOŠ
+SOLDAT MITAR
+SOLDAT PETAR
+SOLDAT VESNA
+SOLDATOVIĆ ĐORĐE
+SOLDATOVIĆ ĐORĐE
+SOLDATOVIĆ GORAN
+SOLDATOVIĆ JOVAN
+SOLDATOVIĆ MILA
+SOLDATOVIĆ SAVA NOVINAR
+SOLDATOVIĆ STANOJE
+SOLDATOVIĆ VESNA
+SOLDATOVIĆ VOJO
+SOLDO ALEKSANDAR
+SOLDO IVAN
+SOLDO NOVICA
+SOLDO VLADIMIR
+SOLEŠA MIŠO
+SOLOMUN BRANKO
+SOLOMUN DRAGO
+SOLOMUN ILIJA
+SOLOMUN MILE
+SOLOMUN VESA
+SOLONJA STEVAN
+SOMBORAC ALEKSANDAR
+SOMBORAC JOVAN
+SOMBORAC MARIJA
+SOMBORAC SREĆKO
+SOMBORAC TEREZA
+SOMBORAC TODOR
+SOMBORSKI LAZAR
+SOMBORSKI MILICA
+SOMER IMRE
+SOMER JELENA
+SOMER TIBOR
+SOPKA ANICA
+SOPKA JANKO
+SOPKA LJUBOMIR
+SOPKA LJUBOMIR
+SOPKA MARIJA
+SOPKA MIROSLAV
+SORŠAK MILAN
+SORŠAK VALENTIN
+SORADI ANTUN
+SORADI IVAN
+SORADI STJEPAN
+SORAJIĆ MILAN
+SORAJIĆ MILIVOJ
+SORAK DELIVOJE
+SORG ANGELINA
+SORG JELENA
+SORG NIKOLA
+SORGER MIRA
+SORO MILAN
+SORO MIODRAG
+SORO MIRJANA
+SORO NIKOLA
+SORO SIMO
+SOTER JANOŠ
+SOTIROVIĆ SLAVICA
+SOTONICA RAJKO
+SOVA PETAR
+SOVA RUDI
+SOVIŠ ĐORĐE
+SOVIŠ MIŠA
+SOVIŠ OLGA
+SOVIŠ PAVLE
+SOVILJ ĐORĐE
+SOVILJ ĐURO
+SOVILJ ANĐELKO
+SOVILJ ANKA
+SOVILJ BOŽO
+SOVILJ BOGDAN
+SOVILJ DUŠAN
+SOVILJ ILIJA
+SOVILJ ILIJA
+SOVILJ ILIJA
+SOVILJ IVICA
+SOVILJ JOVAN DR LEKAR
+SOVILJ LJUBICA
+SOVILJ MILAN MR
+SOVILJ MILAN
+SOVILJ PERKA
+SOVILJ PETAR
+SOVILJ PETAR
+SOVILJ VLADO
+SPAHIĆ KEMAL
+SPAIĆ ŽELJKO
+SPAIĆ MILAN
+SPAIĆ MILAN
+SPAJIĆ BOŽA
+SPAJIĆ DIKO
+SPAJIĆ JOVAN
+SPAJIĆ JULIJANA
+SPAJIĆ MILOJE
+SPAJIĆ MIRJANA
+SPAJIĆ SOFIJA
+SPAJIĆ VOJISLAV
+SPAJIĆ ZORAN
+SPAJIĆ ZORAN
+SPALEVIĆ MIOMIR
+SPALEVIĆ VERA
+SPARIOSI ANĐELKA
+SPASENOSKI DIMITRIJE
+SPASENOV MILE
+SPASENOV SPASKO
+SPASENOV STANA
+SPASENOVIĆ ŽIVKO
+SPASENOVIĆ LJUBICA
+SPASENOVSKI ROMAN
+SPASENOVSKI VASA
+SPASIĆ ŽIVOMIR
+SPASIĆ ĐORĐE
+SPASIĆ ALEKSANDAR
+SPASIĆ BOŽIDAR
+SPASIĆ BRANISLAV
+SPASIĆ BRANISLAV
+SPASIĆ DRAGIŠA
+SPASIĆ GORDANA
+SPASIĆ GORDANA
+SPASIĆ JELISAVETA
+SPASIĆ JOVAN
+SPASIĆ JUGOSLAV
+SPASIĆ LJILJANA
+SPASIĆ LJUBICA
+SPASIĆ MILAN
+SPASIĆ MILEVA
+SPASIĆ MILOŠ
+SPASIĆ MILUTIN
+SPASIĆ MIRJANA
+SPASIĆ MIRKO
+SPASIĆ OLIVERA
+SPASIĆ PETAR
+SPASIĆ PREDRAG
+SPASIĆ STANIŠA
+SPASIĆ STANKO
+SPASIĆ STOJAN
+SPASIĆ SVETISLAV
+SPASIĆ TOMISLAV DIPL ING
+SPASIĆ TOMISLAV
+SPASIĆ TRAJANKA
+SPASIĆ VELIČKO
+SPASIĆ VUJICA
+SPASOJEV LJUBICA
+SPASOJEV STOJAN
+SPASOJEVIĆ ŽIVOTA
+SPASOJEVIĆ ĐORĐE
+SPASOJEVIĆ ĐURA
+SPASOJEVIĆ BORIŠA MR
+SPASOJEVIĆ BORISLAV
+SPASOJEVIĆ CVETKO
+SPASOJEVIĆ DESIMIR
+SPASOJEVIĆ DOBRILA
+SPASOJEVIĆ DOBROSAV
+SPASOJEVIĆ DRAGAN
+SPASOJEVIĆ DRAGIŠA
+SPASOJEVIĆ DRAGOLJUB
+SPASOJEVIĆ DRAGOMIR
+SPASOJEVIĆ DUŠAN
+SPASOJEVIĆ ELIZABETA
+SPASOJEVIĆ GOSPAVA
+SPASOJEVIĆ GOSTIMIR
+SPASOJEVIĆ JOVAN
+SPASOJEVIĆ JULKA
+SPASOJEVIĆ KATICA
+SPASOJEVIĆ KRSTA
+SPASOJEVIĆ LAZAR
+SPASOJEVIĆ MIĆO
+SPASOJEVIĆ MIĆO
+SPASOJEVIĆ MIHAJLO
+SPASOJEVIĆ MILORAD
+SPASOJEVIĆ MIODRAG
+SPASOJEVIĆ MIODRAG
+SPASOJEVIĆ MOMČILO
+SPASOJEVIĆ NEBOJŠA
+SPASOJEVIĆ NOVAK
+SPASOJEVIĆ PAVLE
+SPASOJEVIĆ PREDRAG
+SPASOJEVIĆ RACO
+SPASOJEVIĆ RADISAV
+SPASOJEVIĆ RADOJLE
+SPASOJEVIĆ RANKO DIPL ING
+SPASOJEVIĆ RODOLJUB
+SPASOJEVIĆ RUŽICA
+SPASOJEVIĆ SLAVKA
+SPASOJEVIĆ SLAVKO
+SPASOJEVIĆ SLAVO
+SPASOJEVIĆ SLOBODAN
+SPASOJEVIĆ SONJA
+SPASOJEVIĆ STANISLAVA
+SPASOJEVIĆ STEVAN
+SPASOJEVIĆ SUZANA
+SPASOJEVIĆ VITOMIR DR
+SPASOJEVIĆ VLADIMIR
+SPASOJEVIĆ ZORAN
+SPASOLI FERAT
+SPASOVA LJUBICA
+SPERANSKI LJUDMILA MR
+SPERNJAK ĐORĐE
+SPERNJAK BOGDAN
+SPERNJAK LJUBINKA
+SPERNJAK MILENKO DIPL ING
+SPEVAK DANIELA
+SPEVAK JURAJ
+SPEVAK ZOROSLAV
+SPIČANOVIĆ EVICA
+SPIČANOVIĆ MAJA
+SPIČANOVIĆ ZAGORKA
+SPILKUCIĆ BORIVOJE
+SPIRIĆ ALEKSANDAR
+SPIRIDONOV ANASTAS
+SPIRIDONOVIĆ GRADIMIR
+SPIRIDONOVIĆ MILENKO
+SPIRIDONOVIĆ SILVIJA
+SPIROSKI ALEKSANDAR
+SPIROVSKI CANE
+SPOJA ŽELJKO
+SPREMIĆ DRAGAN
+SPREMIĆ PETAR
+SPREMIĆ SRETEN
+SPREMO ĐURO
+SPREMO MIODRAG
+SPREMO MIRKO
+SPREMO MIROSLAV
+SPREMO RADOVAN
+SPREMO SLAVKO
+SPREMO VOJISLAV
+SPUSENIK LAJOŠ
+SRĐANOV ŽARKO
+SRĐANOV ŽIVKO
+SRĐANOV KONSTANTIN
+SRĐANOV MIHAJLO
+SRĐANOV MILIVOJ
+SRĐANOV MILOŠ DIPL ING
+SRĐANOV MILOŠ
+SRĐANOV MIROSLAV
+SRĐANOV NADA
+SRĐANOV NADA
+SRĐANOV SLAVKO
+SRĐANOV SLOBODANKA
+SRĐANOV SLOBODANKA
+SRĐANOV SLOBODAN
+SRĐANOV VERA
+SRĐENOVIĆ MILAN
+SRĐENOVIĆ UROŠ
+SRĐEVIĆ BOJAN
+SRBIN ANKA
+SRBIN BOGDAN
+SRBIN JOVAN DR
+SRBIN KOSTA
+SRBIN MIROSLAV
+SRBINOVSKI BORIS
+SRBINOVSKI DRAGANA
+SRBINOVSKI DRAGANA
+SRBINOVSKI MAŠA
+SRBINOVSKI PANTA
+SRBINOVSKI PETAR
+SRBLJAN LAZAR
+SRBLJANIN DRAGAN
+SRBLJANIN PREDRAG
+SRBOVAN JON
+SRBULOVIĆ BOŽIDAR
+SRBULOVIĆ DRAGOLJUB
+SRBULOVIĆ MIROSLAV
+SRDANOV ŽIVAN
+SRDANOV ŽIVOJIN
+SRDANOV ĐORĐE
+SRDANOV BOŽIDAR
+SRDANOV JELKA
+SRDANOV JOVAN
+SRDANOV LAZAR
+SRDANOV LAZAR
+SRDANOV LJILJANA
+SRDANOV MIŠA
+SRDANOV MILICA
+SRDANOV MILOŠ
+SRDANOV MILOSAVA
+SRDANOV PETAR
+SRDANOV SIMA
+SRDANOV SLAVKA
+SRDANOV SLOBODAN
+SRDANOV SLOBODAN
+SRDANOV TODOR
+SRDANOVIĆ BRANISLAV
+SRDANOVIĆ DEJAN
+SRDANOVIĆ DRAGOJE
+SRDANOVIĆ FILIP
+SRDANOVIĆ LEPOSAVA
+SRDANOVIĆ OZREN DIPL ING
+SRDANOVIĆ ROSANDA
+SRDANOVIĆ SANJA
+SRDIĆ ČEDOMIR
+SRDIĆ ŽIVKO
+SRDIĆ ŽIVKO
+SRDIĆ ŽIVKO
+SRDIĆ ĐORĐE MR
+SRDIĆ ĐURO
+SRDIĆ ANĐA
+SRDIĆ ANA
+SRDIĆ BOŠKO
+SRDIĆ BOGDAN
+SRDIĆ BOSA
+SRDIĆ BRANISLAV
+SRDIĆ DANE
+SRDIĆ DIJANA
+SRDIĆ DUŠAN
+SRDIĆ EMERIKA
+SRDIĆ EMERIKA
+SRDIĆ GORAN
+SRDIĆ IVAN
+SRDIĆ JELENA
+SRDIĆ LJUBICA
+SRDIĆ MILAN
+SRDIĆ MILAN
+SRDIĆ MILICA
+SRDIĆ MIRJANA
+SRDIĆ MIRKO
+SRDIĆ MIRKO
+SRDIĆ NADA
+SRDIĆ NADA
+SRDIĆ NIKOLA
+SRDIĆ NIKOLA
+SRDIĆ NIKOLA
+SRDIĆ PETAR
+SRDIĆ RADE
+SRDIĆ RADE
+SRDIĆ SIMA
+SRDIĆ SLOBODAN
+SRDIĆ SVETOZAR
+SRDIĆ VASO
+SRDIĆ VLADIMIR
+SRDIĆ VOJA
+SRDIĆ ZORA
+SREĆKOV ŽIVKO
+SREĆKOV BLAGICA
+SREĆKOV BRANKO
+SREĆKOV DRAGAN
+SREĆKOV DRAGICA
+SREĆKOV DUŠAN
+SREĆKOV DUŠAN
+SREĆKOV ERŽEBET
+SREĆKOV JOVAN
+SREĆKOV KATICA
+SREĆKOV MILENA
+SREĆKOV MILENA
+SREĆKOV MILIVOJ
+SREĆKOV MIROSLAV
+SREĆKOV RADIVOJ
+SREĆKOV RADOJKA
+SREĆKOV STANKO
+SREĆKOV STEVAN
+SREĆKOV TEODORA
+SREĆKOV VASA
+SREĆKOV ZDRAVKO
+SREĆKOVIĆ ALEKSANDAR DR
+SREĆKOVIĆ DRAGIŠA
+SREĆKOVIĆ MARIJA
+SREĆKOVIĆ MILUTIN
+SREĆKOVIĆ RADIŠA
+SREĆKOVIĆ STOJANA
+SREĆO DANICA
+SREĆO MIĆO
+SREBOTNJAK STANKO
+SREBRO ILIJA DR
+SREDANOVIĆ MILORAD DIPL ING
+SREDANOVIĆ NEDELJKO
+SREDOJEVIĆ DARINKA
+SREDOJEVIĆ DOBRO
+SREDOJEVIĆ JULKICA
+SREDOJEVIĆ LAZAR
+SREDOJEVIĆ MILISAV
+SREDOJEVIĆ MIRKO
+SREDOJEVIĆ NEBOJŠA
+SREDOJEVIĆ VELIMIR
+SREDOJEVIĆ VELIMIR
+SREDOVIĆ RAJKO
+SREJIĆ BORKA
+SREMČEV ĐORĐE
+SREMČEV ALEKSANDAR DR LEKAR
+SREMČEV LAZAR
+SREMČEV MARIJA
+SREMČEV NESTOR
+SREMČEV SLOBODAN
+SREMČEV SOFIJA
+SREMČEVIĆ BORISLAV
+SREMČEVIĆ JOVAN
+SREMČEVIĆ JOVAN
+SREMČEVIĆ KATA
+SREMČEVIĆ KATICA
+SREMČEVIĆ LJUBIŠA
+SREMČEVIĆ RADIVOJ
+SREMČEVIĆ RASTKO
+SREMČEVIĆ SLAVNA
+SREMČEVIĆ STANISLAV
+SREMČEVIĆ VELJKO
+SREMAČKI ĐORĐE
+SREMAČKI DRAGOLJUB
+SREMAČKI DUŠANKA
+SREMAČKI-GAVRILOVIĆ MAJA
+SREMAČKI IVANKA
+SREMAČKI JOVANKA
+SREMAČKI MILOŠ
+SREMAČKI-MIRKOVIĆ MIRJANA
+SREMAČKI PETAR
+SREMAČKI SIMA
+SREMAČKI SOKA
+SREMAČKI SPASOJE
+SREMAČKI STANOJE
+SREMAČKI VLADA
+SREMAČKI ZORICA
+SREMAC ĐORĐE
+SREMAC ALEKSANDAR
+SREMAC DRAGOLJUB
+SREMAC ISAK
+SREMAC JANKO
+SREMAC JOVAN
+SREMAC LJUBICA
+SREMAC LJUBICA
+SREMAC MILENA
+SREMAC MILENKO
+SREMAC MILIVOJ
+SREMAC MIRA
+SREMAC NIKOLA
+SREMAC PAULINA
+SREMAC PAVLE
+SREMAC PERSIDA
+SREMAC RADOJKO
+SREMAC SLOBODAN
+SREMAC SRĐAN
+SREMAC STOJANKA
+SREMAC SVETISLAV
+SREMAC SVETISLAV
+SREMAC TANASIJE
+SREMAC VLADIMIR
+SREMAC VLAJKO
+SREMAC ZORANA
+SREMAC ZORAN
+SRETENOVIĆ ĐURĐINKA
+SRETENOVIĆ BORIVOJ
+SRETENOVIĆ-MANOJLOVIĆ ĐURĐINKA
+SRETENOVIĆ NEVENKA
+SRETENOVIĆ STOJADIN
+SRETIĆ MILENKO
+SRETIĆ MIRJANA
+SRETIĆ RATOMIR
+SRETKOVIĆ VERICA
+SRNDOVIĆ ZORKA
+SRNEC ŽELJKO
+SRNIĆ BOGDAN
+SRNIĆ EVICA
+SRNKA JANKO
+SRNKA JOVAN
+STAŠUK MIHAJLO
+STAHANIĆ ANKA
+STAIN STEVAN
+STAJČIĆ IVAN
+STAJČIĆ PETAR
+STAJŠIĆ ĐURA
+STAJIĆ ĐORĐE
+STAJIĆ ALEKSANDRA
+STAJIĆ BOŽIDAR
+STAJIĆ BORISLAV
+STAJIĆ BORISLAV
+STAJIĆ BORIVOJ
+STAJIĆ BRANIMIR
+STAJIĆ BRANISLAV
+STAJIĆ DRAGOLJUB
+STAJIĆ DUŠAN
+STAJIĆ DUŠICA
+STAJIĆ FEMA
+STAJIĆ GLIGORIJE
+STAJIĆ GLIGORIJE
+STAJIĆ GRIGORIJE DIPL ING
+STAJIĆ JUSTINA
+STAJIĆ LEPOSAVA
+STAJIĆ LJUBOMIR
+STAJIĆ MARA
+STAJIĆ MARIJA
+STAJIĆ MILAN DIPL ING
+STAJIĆ MILAN
+STAJIĆ MILESA
+STAJIĆ MILEVA
+STAJIĆ MILKA
+STAJIĆ MIROSLAV
+STAJIĆ NESTOR
+STAJIĆ PAVLE
+STAJIĆ PETAR
+STAJIĆ-POPOV BORISLAVA DR
+STAJIĆ RADIVOJ
+STAJIĆ RADOSLAV
+STAJIĆ SIKA
+STAJIĆ SRETA
+STAJIĆ STANISLAV
+STAJIĆ STOJADIN
+STAJIĆ TODOR
+STAJIĆ VELIMIR
+STAJIĆ VUKOSAV
+STAJIĆ ZLATA
+STAJKOVIĆ BRATISLAV
+STAJKOVIĆ DRAGOLJUB
+STAKIĆ ŽIVAN
+STAKIĆ ŽIVKA
+STAKIĆ ĐURO
+STAKIĆ ALEKSANDAR
+STAKIĆ BOŠKO
+STAKIĆ BOŽIDAR
+STAKIĆ BORIVOJE
+STAKIĆ BRANISLAV
+STAKIĆ DEJAN
+STAKIĆ DUŠAN DIPL ING
+STAKIĆ JELENA
+STAKIĆ JOVAN SUDIJA
+STAKIĆ MELINDA
+STAKIĆ MILAN
+STAKIĆ MILAN
+STAKIĆ MIRKO
+STAKIĆ MOMIR
+STAKIĆ NEBOJŠA
+STAKIĆ NEDELJKO
+STAKIĆ NIKOLA
+STAKIĆ PAVLE
+STAKIĆ SPOMENKA
+STAKIĆ STOJAN
+STAKIĆ VERA
+STAKIĆ ZAHARIJE
+STAKIĆ ZORAN
+STAKORIĆ ZDRAVKO
+STAMATOVIĆ MILENKO DR
+STAMATOVIĆ MILORAD
+STAMENIĆ DAMNJAN
+STAMENIĆ MARKO
+STAMENIĆ RADOSAV
+STAMENIĆ TOMISLAV
+STAMENKOVIĆ ŽIVOJIN
+STAMENKOVIĆ ŽIVOJIN
+STAMENKOVIĆ ALEKSANDAR
+STAMENKOVIĆ BLAGOJE
+STAMENKOVIĆ DRAGAN
+STAMENKOVIĆ GORDANA
+STAMENKOVIĆ LJUBOMIR DR
+STAMENKOVIĆ LJUBOMIR
+STAMENKOVIĆ MARJAN
+STAMENKOVIĆ MILORAD
+STAMENKOVIĆ MIROSLAVA
+STAMENKOVIĆ NOVICA
+STAMENKOVIĆ PETRONIJE
+STAMENKOVIĆ RADOMIR DIPL ING
+STAMENKOVIĆ SINIŠA
+STAMENKOVIĆ SLAVOLJUB
+STAMENKOVIĆ SLOBODAN
+STAMENKOVIĆ SRETEN DR
+STAMENKOVIĆ SRETEN
+STAMENKOVIĆ STANIMIR
+STAMENKOVIĆ STOJAN
+STAMENKOVIĆ STOJAN
+STAMENKOVIĆ STOJAN
+STAMENKOVIĆ VASILIJE
+STAMENKOVIĆ VELIBOR
+STAMENKOVIĆ VERA
+STAMENKOVIĆ VLADIMIR DIPL ING
+STAMENKOVIĆ VLADIMIR
+STAMENKOVIĆ VLASTIMIR
+STAMENKOVIĆ VUKADIN
+STAMENKOVIĆ ZORAN
+STAMENKOVIĆ ZORA
+STAMENOV BRANKO
+STAMENOV NIKOLA
+STAMENOV SLAVKA
+STAMENOVIĆ KRSTIVOJ
+STAMENOVIĆ RAJKO
+STAMEVSKI TONČE
+STAMORAN KATICA
+STAMPFER ROZALIJA
+STANČETIĆ DRAGICA
+STANČETIĆ PAVLE
+STANČIĆ ANĐELKA
+STANČIĆ ANDRIJA DR
+STANČIĆ BLAGOJE MR
+STANČIĆ BOŽANA
+STANČIĆ BOŽIDAR
+STANČIĆ DANICA
+STANČIĆ DRAGOLJUB
+STANČIĆ LAZAR
+STANČIĆ LJUBOMIR
+STANČIĆ MARIJA
+STANČIĆ MARKO
+STANČIĆ MIĆA
+STANČIĆ MIHAJLO
+STANČIĆ MIKA
+STANČIĆ MIODRAG
+STANČIĆ NIKOLA
+STANČIĆ PAVLE
+STANČIĆ TANKOSAVA
+STANČIĆ TIHOMIR
+STANČIĆ ZORAN
+STANČIK MARGITA
+STANČU MARIJA
+STANČUL ŽIVAN
+STANČUL ANKA
+STANČUL LJILJANA
+STANČUL LJUBOMIR
+STANČUL RADISLAV
+STANČUL RADOVAN
+STANČUL SAVA
+STANČULOV DRAGICA
+STANČULOV MILAN
+STANAĆEV ŽIVA
+STANAĆEV MILENA
+STANAĆEV MILIVOJ
+STANAĆEV SREDOJE DR
+STANAR ĐURA
+STANAR ĐURA
+STANAR ĐURA
+STANAR ANKA
+STANAR DESA
+STANAR DUŠANKA
+STANAR DUŠAN
+STANAR-GOGIĆ STEVAN
+STANAR ILIJA
+STANAR MILE
+STANAR RADE
+STANAR RATKO
+STANAREVIĆ ŽELJKO
+STANAREVIĆ BOŽA
+STANAREVIĆ MARKO
+STANAREVIĆ MIHAJLO
+STANAREVIĆ MILAN
+STANAREVIĆ NEDELJKA
+STANAREVIĆ SAVA
+STANBOLIJA MIRKO
+STANEKOVIĆ MILAN
+STANEKOVIĆ STANISLAV
+STANEKOVIĆ VOJA
+STANIČKOV ČEDOMIR
+STANIČKOV BORA
+STANIČKOV JOVAN
+STANIČKOV LJILJANA
+STANIČKOV MARTA
+STANIŠIĆ BOGOLJUB
+STANIŠIĆ BORISLAV
+STANIŠIĆ BUDINKA
+STANIŠIĆ DAMJAN
+STANIŠIĆ DRAGOLJUB
+STANIŠIĆ DRAGOLJUB
+STANIŠIĆ DRAGOMIR
+STANIŠIĆ DUŠAN
+STANIŠIĆ DUŠAN
+STANIŠIĆ GOJKO
+STANIŠIĆ JELENA
+STANIŠIĆ JOVAN
+STANIŠIĆ JOVAN
+STANIŠIĆ KATICA
+STANIŠIĆ LEPOSAVA
+STANIŠIĆ LJILJANA DR
+STANIŠIĆ LJUBICA
+STANIŠIĆ MARKO
+STANIŠIĆ MARKO
+STANIŠIĆ MILAN
+STANIŠIĆ MILAN
+STANIŠIĆ MILIĆ DR LEKAR
+STANIŠIĆ MILIVOJ
+STANIŠIĆ MILOŠ
+STANIŠIĆ MIODRAG
+STANIŠIĆ MIODRAG
+STANIŠIĆ MLADEN
+STANIŠIĆ MOMIR
+STANIŠIĆ NEBOJŠA
+STANIŠIĆ NEDELJKA
+STANIŠIĆ NIKOLA
+STANIŠIĆ NIKOLA
+STANIŠIĆ OLGICA
+STANIŠIĆ PAVLE
+STANIŠIĆ PAVLE
+STANIŠIĆ PETAR
+STANIŠIĆ PROKA
+STANIŠIĆ RADA
+STANIŠIĆ RADOVAN
+STANIŠIĆ RATKO
+STANIŠIĆ RELJA
+STANIŠIĆ SIMO
+STANIŠIĆ SLAVKO DIPL ING
+STANIŠIĆ SLOBODAN
+STANIŠIĆ STANIŠA
+STANIŠIĆ STANISLAV
+STANIŠIĆ STEVO
+STANIŠIĆ STOJANČA
+STANIŠIĆ SVETLANA
+STANIŠIĆ SVETOZAR DR
+STANIŠIĆ SVETOZAR
+STANIŠIĆ TIHOMIR
+STANIŠIĆ TODOR
+STANIŠIĆ TOMAŠ
+STANIŠIĆ VASILJKA
+STANIŠIĆ VELJKO
+STANIŠIĆ VLADA
+STANIŠIĆ ZORAN
+STANIŠIĆ ZORAN
+STANIŠIN BRANKO
+STANIŠIN ISA
+STANIŠIN VOJIN
+STANIŠLJEVIĆ DUŠANKA
+STANIĆ ŽIVADIN
+STANIĆ ŽIVAN
+STANIĆ ĐURA
+STANIĆ ALEKSANDAR
+STANIĆ BOŠKO
+STANIĆ BOGDAN
+STANIĆ BRANKA
+STANIĆ BRANKO
+STANIĆ BRANKO
+STANIĆ DANE
+STANIĆ DANICA
+STANIĆ DANKA
+STANIĆ DRAGAN
+STANIĆ DRAGOSLAV DR
+STANIĆ DRAGO
+STANIĆ DUŠAN
+STANIĆ GOJKO
+STANIĆ ILIJA
+STANIĆ ILIJA
+STANIĆ ILIJA
+STANIĆ ILIJA
+STANIĆ IVAN
+STANIĆ JADRANKA
+STANIĆ JELENA
+STANIĆ JOVAN DIPL ING
+STANIĆ JOVAN DIPL ING
+STANIĆ JULKA
+STANIĆ KRISTIVOJE
+STANIĆ LINKA
+STANIĆ LJUBODRAG
+STANIĆ MANE
+STANIĆ MARKO
+STANIĆ MILAN DIPL PRAVNIK
+STANIĆ MILANKO
+STANIĆ MILANKO
+STANIĆ MILAN
+STANIĆ MILAN
+STANIĆ MILAN
+STANIĆ MILAN
+STANIĆ MILE
+STANIĆ MILICA
+STANIĆ MILINKO
+STANIĆ MILISAV
+STANIĆ MILOJE
+STANIĆ MILOSAVA
+STANIĆ MLADEN
+STANIĆ MOMČILO
+STANIĆ OLGA
+STANIĆ OSTOJA
+STANIĆ PETAR
+STANIĆ PETAR
+STANIĆ PETAR
+STANIĆ RADE
+STANIĆ RADE
+STANIĆ RADIŠA
+STANIĆ RADOVAN DIPL ING
+STANIĆ RAJKO
+STANIĆ SAVO
+STANIĆ SIMO
+STANIĆ SINIŠA
+STANIĆ SPASOJE
+STANIĆ SRĐAN
+STANIĆ STAMENA
+STANIĆ STEVAN
+STANIĆ UROŠ
+STANIĆ VELIBOR
+STANIĆ VIKTOR
+STANIĆ VITOMIR
+STANIĆ VITOMIR
+STANIĆ VLADIMIR
+STANIĆ VOJISLAV
+STANIĆ ZORAN
+STANIĆ ZORAN
+STANIŽAN MILORAD
+STANIK OLGA
+STANIKIĆ MILAN
+STANIKIĆ MILEVA
+STANIMIROV ALEKSANDAR
+STANIMIROV ANA
+STANIMIROV BORIVOJ
+STANIMIROV BRANKA
+STANIMIROV DUŠAN
+STANIMIROV GAVRA
+STANIMIROV JELKA
+STANIMIROV KATICA
+STANIMIROV LJILJANA
+STANIMIROV LJILJANA
+STANIMIROV LJUBICA
+STANIMIROV NEDELJKO
+STANIMIROV RADIVOJ
+STANIMIROV RANKA
+STANIMIROV SLAVKO
+STANIMIROV ZORICA
+STANIMIROVIĆ ŽIVOJIN
+STANIMIROVIĆ DESIMIR
+STANIMIROVIĆ DRAGAN
+STANIMIROVIĆ DRAGAN
+STANIMIROVIĆ DRAGOMIR
+STANIMIROVIĆ JADRANKA
+STANIMIROVIĆ JELICA
+STANIMIROVIĆ KRSTO
+STANIMIROVIĆ MOMA DR
+STANIMIROVIĆ PAVLE
+STANIMIROVIĆ RADOJKA
+STANIMIROVIĆ STANIMIR
+STANIMIROVIĆ TATJANA
+STANIMIROVIĆ TRIFUN
+STANIMIROVIĆ VERONIKA
+STANISAVLJEV ĐOKA
+STANISAVLJEV ĐORĐE
+STANISAVLJEV ALEKSANDRA
+STANISAVLJEV ANA
+STANISAVLJEV DOBRIVOJ
+STANISAVLJEV DUŠAN
+STANISAVLJEV LJUBICA
+STANISAVLJEV LJUBOMIR
+STANISAVLJEV MILAN
+STANISAVLJEV MILICA
+STANISAVLJEV MILOJKO
+STANISAVLJEV MIROSLAV
+STANISAVLJEVIĆ ĐORĐE DIPL ING
+STANISAVLJEVIĆ ĐORĐE
+STANISAVLJEVIĆ BILJANA
+STANISAVLJEVIĆ BOŽA
+STANISAVLJEVIĆ CVETA
+STANISAVLJEVIĆ DANE
+STANISAVLJEVIĆ DIMITRIJE
+STANISAVLJEVIĆ DRAGOMIR
+STANISAVLJEVIĆ DUŠANKA
+STANISAVLJEVIĆ ELIZABETA
+STANISAVLJEVIĆ GIZELA
+STANISAVLJEVIĆ GORDANA
+STANISAVLJEVIĆ IGNJATIJE
+STANISAVLJEVIĆ KATICA
+STANISAVLJEVIĆ LEPOSAVA
+STANISAVLJEVIĆ MARIJA
+STANISAVLJEVIĆ MILAN
+STANISAVLJEVIĆ MILAN
+STANISAVLJEVIĆ MILIVOJE
+STANISAVLJEVIĆ MILOŠ
+STANISAVLJEVIĆ MIODRAG
+STANISAVLJEVIĆ MIODRAG
+STANISAVLJEVIĆ MIRKO
+STANISAVLJEVIĆ NADA
+STANISAVLJEVIĆ RADE
+STANISAVLJEVIĆ RUŽICA
+STANISAVLJEVIĆ SAVA DIPL ING
+STANISAVLJEVIĆ STAVRA DIPL ING
+STANISAVLJEVIĆ STEVAN
+STANISAVLJEVIĆ VELIZAR
+STANISAVLJEVIĆ VELJKO
+STANISAVLJEVIĆ ZORICA
+STANIVUK ŽARKO
+STANIVUK DEJAN
+STANIVUK MIRKO
+STANIVUK MLADEN
+STANIVUK NADA
+STANIVUK NEDELJKO
+STANIVUK NIKOLA
+STANIVUK ZDRAVKO
+STANIVUKOVIĆ DRAGUTIN MR
+STANIVUKOVIĆ DRAGUTIN
+STANIVUKOVIĆ LJILJANA
+STANIVUKOVIĆ MARIJA
+STANIVUKOVIĆ MILIVOJ DR VETERINE
+STANIVUKOVIĆ UROŠ
+STANKIĆ DRAGAN
+STANKIĆ LAZAR
+STANKIĆ MILOŠ
+STANKIĆ STEVAN
+STANKIĆ VILOGORKA
+STANKIJEVIĆ DUŠAN
+STANKIN ĐORĐE
+STANKIN BRANKA
+STANKIN JASMINA
+STANKIN MILE
+STANKIN MILIVOJ
+STANKIN MILIVOJ
+STANKIN TODOR
+STANKO IMRE
+STANKO IVAN
+STANKO JOSIP DIPL ING
+STANKO STEVAN
+STANKO STEVAN
+STANKO STEVAN
+STANKO VERICA
+STANKOV ŽARKO
+STANKOV ŽIVKA
+STANKOV ŽIVKO
+STANKOV ŽIVKO
+STANKOV ĐORĐE
+STANKOV BOJANA
+STANKOV DARINKA
+STANKOV DARKO
+STANKOV DUŠAN
+STANKOV DUŠAN
+STANKOV EŽEBET
+STANKOV IVANKA
+STANKOV IVAN
+STANKOV JELENA
+STANKOV KATICA
+STANKOV KOVINA
+STANKOV LJUBICA
+STANKOV MARIJA
+STANKOV MARINKO
+STANKOV MARKO
+STANKOV MILANKO
+STANKOV MILANKO
+STANKOV MILOŠ
+STANKOV MIRJANA
+STANKOV MIROSLAV
+STANKOV NEVENKA
+STANKOV NIKOLA
+STANKOV PAJA DR
+STANKOV PAVLE
+STANKOV PETAR
+STANKOV PETAR
+STANKOV RADOVAN
+STANKOV RASTKO
+STANKOV RUŽICA
+STANKOV SLOBODANKA
+STANKOV SOFIJA
+STANKOV STANKA
+STANKOV STEVAN
+STANKOV STEVAN
+STANKOV STOJAN
+STANKOV SVETISLAV
+STANKOV SVETOZAR
+STANKOV VELJKO
+STANKOV VELJKO
+STANKOV VLADIMIR
+STANKOV VOJISLAV
+STANKOV VOJISLAV
+STANKOV VOJISLAV
+STANKOV ZORANKA
+STANKOV ZORAN
+STANKOVIĆ ŽARKO
+STANKOVIĆ ŽARKO
+STANKOVIĆ ŽIVKO
+STANKOVIĆ ŽIVKO
+STANKOVIĆ ŽIVOJIN
+STANKOVIĆ ŽIVOJIN
+STANKOVIĆ ŽIVORAD
+STANKOVIĆ ĐORĐE
+STANKOVIĆ ĐORĐE
+STANKOVIĆ ĐORE
+STANKOVIĆ ĐURO
+STANKOVIĆ ALEKSANDAR
+STANKOVIĆ ALEKSANDAR
+STANKOVIĆ ALEKSANDAR
+STANKOVIĆ ANĐELKA
+STANKOVIĆ ANĐELKA
+STANKOVIĆ ANA
+STANKOVIĆ ANICA
+STANKOVIĆ ARANKA
+STANKOVIĆ AVRAM
+STANKOVIĆ BILJANA
+STANKOVIĆ BOŽIDAR
+STANKOVIĆ BOŽIDAR
+STANKOVIĆ BOGOLJUB DR
+STANKOVIĆ BOGOLJUB
+STANKOVIĆ BOJANA
+STANKOVIĆ BOJAN
+STANKOVIĆ BORA
+STANKOVIĆ BORA
+STANKOVIĆ BORA
+STANKOVIĆ BORISLAV
+STANKOVIĆ BORISLAV
+STANKOVIĆ BOSILJKA
+STANKOVIĆ BRANKO
+STANKOVIĆ DANICA
+STANKOVIĆ DANILO
+STANKOVIĆ DARINKA
+STANKOVIĆ DIVNA
+STANKOVIĆ DOBRINKA
+STANKOVIĆ DOBRIVOJE
+STANKOVIĆ DOBRIVOJE
+STANKOVIĆ DOBROSLAV
+STANKOVIĆ DRAGAN
+STANKOVIĆ DRAGAN
+STANKOVIĆ DRAGIŠA
+STANKOVIĆ DRAGIŠA
+STANKOVIĆ DRAGICA
+STANKOVIĆ DRAGOLJUB
+STANKOVIĆ DRAGORAD
+STANKOVIĆ DRAGUTIN
+STANKOVIĆ DUŠAN
+STANKOVIĆ DUŠAN
+STANKOVIĆ DUŠAN
+STANKOVIĆ DUŠAN
+STANKOVIĆ DUŠKO
+STANKOVIĆ EVELIN DR
+STANKOVIĆ EVICA
+STANKOVIĆ FREDERIK
+STANKOVIĆ ILIJA
+STANKOVIĆ ILIJA
+STANKOVIĆ IVAN
+STANKOVIĆ IVAN
+STANKOVIĆ JAGODA
+STANKOVIĆ JELENA
+STANKOVIĆ JELICA
+STANKOVIĆ JESENKA DR
+STANKOVIĆ JOVAN DIPL ING
+STANKOVIĆ JOVAN
+STANKOVIĆ JOVICA
+STANKOVIĆ JOVICA
+STANKOVIĆ KATALIN
+STANKOVIĆ KATARINA
+STANKOVIĆ KATICA
+STANKOVIĆ KOSANA
+STANKOVIĆ KOSTADIN
+STANKOVIĆ LAZAR DIPL ING
+STANKOVIĆ LAZAR
+STANKOVIĆ LAZAR
+STANKOVIĆ LJILJANA
+STANKOVIĆ LJILJANA
+STANKOVIĆ LJILJANA
+STANKOVIĆ LJUBICA
+STANKOVIĆ LJUBICA
+STANKOVIĆ LJUBISAV
+STANKOVIĆ LJUBOMIR
+STANKOVIĆ LJUBOMIR
+STANKOVIĆ LJUBOMIR
+STANKOVIĆ LJUBO
+STANKOVIĆ MARIJA
+STANKOVIĆ MARIJA
+STANKOVIĆ MARINKO
+STANKOVIĆ MARINKO
+STANKOVIĆ MARJAN
+STANKOVIĆ MARKO
+STANKOVIĆ MELANIJA
+STANKOVIĆ MIHAJLO
+STANKOVIĆ MIHAJLO
+STANKOVIĆ MILANKO
+STANKOVIĆ MILANKO
+STANKOVIĆ MILAN
+STANKOVIĆ MILAN
+STANKOVIĆ MILAN
+STANKOVIĆ MILAN
+STANKOVIĆ MILAN
+STANKOVIĆ MILAN
+STANKOVIĆ MILAN
+STANKOVIĆ MILENKO
+STANKOVIĆ MILOŠ
+STANKOVIĆ MILOŠ
+STANKOVIĆ MILORAD
+STANKOVIĆ MILUTIN
+STANKOVIĆ MIODRAG
+STANKOVIĆ MIOMIR
+STANKOVIĆ MIRJANA
+STANKOVIĆ MIRJANA
+STANKOVIĆ MIRKO
+STANKOVIĆ MIRKO
+STANKOVIĆ MIROLJUB
+STANKOVIĆ MIROSLAV
+STANKOVIĆ MIROSLAV
+STANKOVIĆ MITAR
+STANKOVIĆ MLADEN
+STANKOVIĆ MLADEN
+STANKOVIĆ MOMČILO
+STANKOVIĆ NADA
+STANKOVIĆ NADA
+STANKOVIĆ NADA
+STANKOVIĆ NADA
+STANKOVIĆ NATAŠA
+STANKOVIĆ NATALIJA
+STANKOVIĆ NENAD
+STANKOVIĆ NEVENA
+STANKOVIĆ NIKOLA
+STANKOVIĆ NIKOLA
+STANKOVIĆ NIKOLA
+STANKOVIĆ NIKOLA
+STANKOVIĆ NIKOLA
+STANKOVIĆ OLGA
+STANKOVIĆ OLGA
+STANKOVIĆ OLGICA
+STANKOVIĆ OSTOJA
+STANKOVIĆ PAVLE
+STANKOVIĆ PETAR
+STANKOVIĆ PETAR
+STANKOVIĆ RADIVOJ
+STANKOVIĆ RADOMIR
+STANKOVIĆ RADOSLAV
+STANKOVIĆ SAŠA
+STANKOVIĆ SAVKA
+STANKOVIĆ SAVO
+STANKOVIĆ SLAVKO
+STANKOVIĆ SLAVKO
+STANKOVIĆ SLOBODANKA
+STANKOVIĆ SLOBODAN
+STANKOVIĆ SLOBODAN
+STANKOVIĆ SLOBODAN
+STANKOVIĆ SOFIJA
+STANKOVIĆ SRĐAN
+STANKOVIĆ SRBOLJUB DIPL ING
+STANKOVIĆ STAMEN
+STANKOVIĆ STANKO
+STANKOVIĆ STANOJE
+STANKOVIĆ STEVAN
+STANKOVIĆ STEVAN
+STANKOVIĆ STEVO
+STANKOVIĆ SVETISLAV
+STANKOVIĆ SVETISLAV
+STANKOVIĆ SVETOZAR
+STANKOVIĆ SVETOZAR
+STANKOVIĆ TEREZA
+STANKOVIĆ TIOSAV
+STANKOVIĆ TOŠA
+STANKOVIĆ TOMISLAV
+STANKOVIĆ TOMISLAV
+STANKOVIĆ VENERA
+STANKOVIĆ VESELIN
+STANKOVIĆ VESELIN
+STANKOVIĆ VITOMIR
+STANKOVIĆ VLADAN
+STANKOVIĆ VLADA
+STANKOVIĆ VLADIMIR
+STANKOVIĆ VLADIMIR
+STANKOVIĆ VOJISLAV
+STANKOVIĆ-VRANIĆ MILICA
+STANKOVIĆ ZLATIVOJE
+STANKOVIĆ ZORAN
+STANKOVIĆ ZORAN
+STANKOVIĆ ZORA
+STANKOVSKI KOSTA
+STANKOVSKI STEVAN
+STANKOVSKI VELJAN
+STANOJČIĆ ĐORĐE
+STANOJČIĆ ANĐELKO
+STANOJČIĆ ANKICA
+STANOJČIĆ DESIMIR
+STANOJČIĆ DUŠANKA
+STANOJČIĆ OLGA
+STANOJČIĆ SLOBODAN
+STANOJČIĆ SOFIJA
+STANOJČIĆ STEVAN
+STANOJČIĆ VERA
+STANOJČIĆ VOJISLAV
+STANOJEV ŽIVAN
+STANOJEV ALEKSANDRA
+STANOJEV BRANISLAV
+STANOJEV DEJAN
+STANOJEV DUŠAN
+STANOJEV DUŠAN
+STANOJEV DUŠAN
+STANOJEV DUŠAN
+STANOJEV GORAN
+STANOJEV JOCA
+STANOJEV LAZAR
+STANOJEV LJUBICA
+STANOJEV MILAN
+STANOJEV-MOSKALJ OLGA
+STANOJEV NEBOJŠA
+STANOJEV NIKOLA
+STANOJEV-PETRENJ MIRJANA
+STANOJEV SAVA
+STANOJEV STANKA
+STANOJEV STEVAN
+STANOJEV TIHOMIR
+STANOJEV VERICA
+STANOJEV VLADIMIR
+STANOJEV VLADIMIR
+STANOJEVIĆ ČEDOMIR
+STANOJEVIĆ ŽARKO
+STANOJEVIĆ ŽIVANKO
+STANOJEVIĆ ŽIVOJIN
+STANOJEVIĆ ĐURA
+STANOJEVIĆ BOŽIDAR
+STANOJEVIĆ DANICA
+STANOJEVIĆ DRAGAN
+STANOJEVIĆ DRAGOLJUB
+STANOJEVIĆ DUŠAN
+STANOJEVIĆ DUŠAN
+STANOJEVIĆ HRANISLAV
+STANOJEVIĆ ILIJA
+STANOJEVIĆ JOVAN
+STANOJEVIĆ KAĆA
+STANOJEVIĆ KOSTA
+STANOJEVIĆ LJUBINKA
+STANOJEVIĆ-MANDIĆ MILA
+STANOJEVIĆ MARIJA
+STANOJEVIĆ MILAN
+STANOJEVIĆ MILAN
+STANOJEVIĆ MILAN
+STANOJEVIĆ MILAN
+STANOJEVIĆ MILA
+STANOJEVIĆ MILETA
+STANOJEVIĆ MILIVOJ
+STANOJEVIĆ MILORAD
+STANOJEVIĆ MIODRAG
+STANOJEVIĆ MIODRAG
+STANOJEVIĆ MIROSLAV
+STANOJEVIĆ NADA
+STANOJEVIĆ NATAŠA
+STANOJEVIĆ NEBOJŠA
+STANOJEVIĆ NEMANJA
+STANOJEVIĆ NESTOR
+STANOJEVIĆ NIKOLA
+STANOJEVIĆ NIKOLA
+STANOJEVIĆ PAVLE
+STANOJEVIĆ PETAR
+STANOJEVIĆ PREDRAG
+STANOJEVIĆ RADMILA
+STANOJEVIĆ RADOMIR
+STANOJEVIĆ RADOSLAV
+STANOJEVIĆ RADO
+STANOJEVIĆ SLOBODAN
+STANOJEVIĆ SOFIJA
+STANOJEVIĆ SRBOLJUB
+STANOJEVIĆ STEVAN
+STANOJEVIĆ SVETISLAV
+STANOJEVIĆ TATJANA
+STANOJEVIĆ TOMISLAV
+STANOJEVIĆ-VARGA ANA DR
+STANOJEVIĆ VELJKO
+STANOJEVIĆ VLADIMIR
+STANOJEVIĆ VLADIMIR
+STANOJEVIĆ VLADISLAV
+STANOJEVIĆ VUK
+STANOJEVIĆ ZDRAVKO
+STANOJEVIĆ ZLATKO
+STANOJEVIĆ ZORAN
+STANOJEVIĆ ZORAN
+STANOJEVIĆ ZORAN
+STANOJEVIĆ ZORAN
+STANOJKOVIĆ MILOŠ
+STANOJKOVIĆ RADE
+STANOJKOVIĆ VLADA
+STANOJLOVIĆ MITAR
+STANOJLOVIĆ STEVAN
+STANOJOSKI DANICA
+STANOJOSKI ZLATA
+STANOJSKI BLAGOJE
+STANOVIĆ STEVAN
+STANOVIĆ VESELIN
+STANTE JOSIP
+STANTIĆ BARTUL
+STANTIĆ BERTALAN
+STANTIĆ KATALIN
+STANTIĆ LADISLAV
+STANTIĆ VERONA
+STANUŠIĆ MIJAT
+STANUL PETAR
+STANULOV SVETLANA
+STANULOV TODOR
+STANULOVIĆ DIMITRIJE DR
+STANULOVIĆ MILAN DR
+STAPAR ALEKSANDAR
+STAPARSKI BORISLAV
+STAPARSKI MILAN
+STAPARSKI PETAR
+STAPARSKI STEVAN
+STARČEV ANĐELKA
+STARČEV BRANKA
+STARČEV DESANKA
+STARČEV JELA
+STARČEV KATICA
+STARČEV MILAN DIPL ING
+STARČEV MILENKO
+STARČEV MILOŠ
+STARČEV MIROSLAV
+STARČEV STOJANKA
+STARČEVIĆ ANICA
+STARČEVIĆ ANKA
+STARČEVIĆ BOŠKO
+STARČEVIĆ BOGDAN
+STARČEVIĆ BORISLAV
+STARČEVIĆ BRANISLAV
+STARČEVIĆ BUDIMIR
+STARČEVIĆ DRAGICA
+STARČEVIĆ DUŠANKA
+STARČEVIĆ DUŠAN
+STARČEVIĆ FRANJA
+STARČEVIĆ IVAN
+STARČEVIĆ LJUBINKO DIPL ING
+STARČEVIĆ MILAN
+STARČEVIĆ MILAN
+STARČEVIĆ MILAN
+STARČEVIĆ MILAN
+STARČEVIĆ MILICA
+STARČEVIĆ MILICA
+STARČEVIĆ MILKA
+STARČEVIĆ MILOVAN
+STARČEVIĆ MIODRAG
+STARČEVIĆ MIRKO
+STARČEVIĆ MIRKO
+STARČEVIĆ MIRKO
+STARČEVIĆ NIKOLA
+STARČEVIĆ OLGA
+STARČEVIĆ PAVLE
+STARČEVIĆ RUDOLF
+STARČEVIĆ STAMENKA
+STARČEVIĆ STANKO
+STARČEVIĆ STIPO
+STARČEVIĆ STOJAN
+STARČEVIĆ VLASTIMIR
+STARAČEK ŽELJKO
+STARAČEK JOŽEF
+STARAČEK JOVAN
+STAREVIĆ NIKOLA
+STARI DANIEL
+STARI LIVIJA
+STARIĆ IVAN
+STAROVIĆ BORIVOJ DR
+STAROVIĆ BRANKO
+STAROVIĆ MARIJA
+STAROVIĆ MILAN
+STAROVIĆ PREDRAG
+STAROVIĆ RADOMIR
+STAROVIĆ RASTISLAV
+STAROVIĆ ZDRAVKO
+STAROVLAH MLADEN
+STAVENOV ĐORĐE
+STAVJEL MLADEN
+STAVREVSKI BOGDAN
+STAVRIĆ ILONKA
+STAVRIĆ STANOJE
+STAVROV DANICA
+STEĆ MITAR
+STEĆ VASILIJE
+STEFAN IVAN
+STEFAN LJUBOMIRA
+STEFANIDES JULIJE
+STEFANIDES LJUDEVIT
+STEFANIDIS KIRIAKI
+STEFANJUK NIKOLA
+STEFANOV BLAGOJE
+STEFANOV LJUBOMIR
+STEFANOV NADA
+STEFANOVIĆ ŽARKO
+STEFANOVIĆ ŽIKA
+STEFANOVIĆ ŽIKA
+STEFANOVIĆ ŽIKA
+STEFANOVIĆ ŽIVKO
+STEFANOVIĆ ŽIVORAD
+STEFANOVIĆ ŽIVOTA
+STEFANOVIĆ ĐORĐE
+STEFANOVIĆ ĐURICA DR LEKAR
+STEFANOVIĆ ALEKSANDAR
+STEFANOVIĆ ALEKSANDAR
+STEFANOVIĆ ANA
+STEFANOVIĆ ANGELINA
+STEFANOVIĆ ANKA
+STEFANOVIĆ BOGDAN
+STEFANOVIĆ BOGOLJUB
+STEFANOVIĆ BORIVOJE
+STEFANOVIĆ BORIVOJ
+STEFANOVIĆ BRANISLAV
+STEFANOVIĆ BRANKA
+STEFANOVIĆ BRANKO
+STEFANOVIĆ DANICA
+STEFANOVIĆ DANICA
+STEFANOVIĆ DANILKA
+STEFANOVIĆ DARINKA
+STEFANOVIĆ DEŽE
+STEFANOVIĆ DEJAN
+STEFANOVIĆ DRAGANA
+STEFANOVIĆ DRAGAN
+STEFANOVIĆ DRAGAN
+STEFANOVIĆ DRAGAN
+STEFANOVIĆ DRAGAN
+STEFANOVIĆ DRAGAN
+STEFANOVIĆ DRAGIŠA
+STEFANOVIĆ DRAGIŠA
+STEFANOVIĆ DRAGICA
+STEFANOVIĆ DRAGICA
+STEFANOVIĆ DRAGICA
+STEFANOVIĆ DRAGOLJUB
+STEFANOVIĆ DRAGOLJUB
+STEFANOVIĆ DRAGUTIN
+STEFANOVIĆ DRAGUTIN
+STEFANOVIĆ DUŠAN
+STEFANOVIĆ DUŠKO
+STEFANOVIĆ ERŽIKA
+STEFANOVIĆ-GERIĆ ZORKA
+STEFANOVIĆ GORAN
+STEFANOVIĆ GORDAN
+STEFANOVIĆ IVAN
+STEFANOVIĆ JELICA
+STEFANOVIĆ JELICA
+STEFANOVIĆ JOSIF
+STEFANOVIĆ JOVANKA
+STEFANOVIĆ JOVAN
+STEFANOVIĆ JOVAN
+STEFANOVIĆ JOZEFINA
+STEFANOVIĆ JULIJANA
+STEFANOVIĆ KARANFILA
+STEFANOVIĆ KATICA
+STEFANOVIĆ LAZAR
+STEFANOVIĆ LENKA
+STEFANOVIĆ LJUBOMIR DR
+STEFANOVIĆ LJUBOMIR
+STEFANOVIĆ LUCIJA
+STEFANOVIĆ MARIJA
+STEFANOVIĆ MARINKO
+STEFANOVIĆ MARKO
+STEFANOVIĆ MARTA
+STEFANOVIĆ MARTA
+STEFANOVIĆ MIHAJLO
+STEFANOVIĆ MILAN
+STEFANOVIĆ MILAN
+STEFANOVIĆ MILAN
+STEFANOVIĆ MILAN
+STEFANOVIĆ MILAN
+STEFANOVIĆ MILAN
+STEFANOVIĆ MILENA
+STEFANOVIĆ MILEN
+STEFANOVIĆ MILICA
+STEFANOVIĆ MILOŠ
+STEFANOVIĆ MILOŠ
+STEFANOVIĆ MILOJE
+STEFANOVIĆ MILOVAN
+STEFANOVIĆ MILUTIN DIPL PRAVNIK
+STEFANOVIĆ MILUTIN
+STEFANOVIĆ MIOMIR
+STEFANOVIĆ MIRA
+STEFANOVIĆ MIRJANA
+STEFANOVIĆ MIRKO
+STEFANOVIĆ MIRKO
+STEFANOVIĆ MIRKO
+STEFANOVIĆ MIROSLAV
+STEFANOVIĆ MIROSLAV
+STEFANOVIĆ MIROSLAV
+STEFANOVIĆ MIROSLAV
+STEFANOVIĆ NADA
+STEFANOVIĆ NEDELJKA
+STEFANOVIĆ NIKOLA
+STEFANOVIĆ NIKOLA
+STEFANOVIĆ NIKOLA
+STEFANOVIĆ NIKOLA
+STEFANOVIĆ PANTA
+STEFANOVIĆ PAULA
+STEFANOVIĆ PETAR
+STEFANOVIĆ RADMILA
+STEFANOVIĆ RADMILA
+STEFANOVIĆ RADOSLAV
+STEFANOVIĆ RUŽICA
+STEFANOVIĆ SANJA
+STEFANOVIĆ SLAVICA DR
+STEFANOVIĆ SLAVKA
+STEFANOVIĆ SLAVKO
+STEFANOVIĆ SLAVKO
+STEFANOVIĆ SLOBODAN PROFESOR
+STEFANOVIĆ SLOBODAN
+STEFANOVIĆ SMILJA
+STEFANOVIĆ SMILJKA
+STEFANOVIĆ SNEŽANA
+STEFANOVIĆ STANIŠA
+STEFANOVIĆ STANKO
+STEFANOVIĆ STEVAN
+STEFANOVIĆ STEVAN
+STEFANOVIĆ STEVAN
+STEFANOVIĆ STJEPAN
+STEFANOVIĆ STOJANA
+STEFANOVIĆ SUZANA
+STEFANOVIĆ SVETISLAV
+STEFANOVIĆ SVETOZAR
+STEFANOVIĆ SVETOZAR
+STEFANOVIĆ TATJANA
+STEFANOVIĆ-TILIĆ DIVNA
+STEFANOVIĆ TODOR
+STEFANOVIĆ TOMISLAV
+STEFANOVIĆ VASA
+STEFANOVIĆ VASA
+STEFANOVIĆ VASILIJE
+STEFANOVIĆ VERA
+STEFANOVIĆ VERA
+STEFANOVIĆ VERICA
+STEFANOVIĆ VESNA
+STEFANOVIĆ VESNA
+STEFANOVIĆ VITOMIR
+STEFANOVIĆ VLADICA
+STEFANOVIĆ VLADIMIR
+STEFANOVIĆ VLADIMIR
+STEFANOVIĆ VLADIMIR
+STEFANOVIĆ VLADIMIR
+STEFANOVIĆ VLAJKO
+STEFANOVIĆ VOJISLAVA
+STEFANOVIĆ VOJISLAV
+STEFANOVIĆ VOJISLAV
+STEFANOVIĆ ZORAN
+STEFANOVIĆ ZORAN
+STEFANOVSKA ZORKA
+STEFANOVSKI LEVKO
+STEFANOVSKI METODIJE
+STEFANOVSKI MILORAD
+STEFANOVSKI STAMEN
+STEGIĆ DEJAN
+STEGIĆ IVAN
+STEGIĆ NIKOLA
+STEGNJAIĆ OLGA
+STEGNJAJIĆ VLADIMIR
+STEJIĆ ARANKA
+STEJIĆ JELENA
+STEJIĆ KOSTA
+STEJIĆ NEVENKA
+STEJIĆ RUŽA
+STEJIN ĐORĐE
+STEJIN BORISLAV
+STEJIN DUŠAN DIPL ING
+STEJIN JELENA
+STEJIN JOVANKA
+STEJIN LJUBICA
+STEJIN RUŽICA
+STEJIN SAŠA
+STEJIN SRĐAN
+STELA VLADIMIRA
+STELJA NOVAK
+STELJIĆ MILIVOJE
+STELJIĆ MILUN
+STELKIĆ ĐURICA
+STELKIĆ DRAGICA
+STELKIĆ MILIVOJ
+STELKIĆ RADICA
+STELKIĆ RELJA DIPL ING
+STELKIĆ SVETOZAR
+STELKIĆ ZLATOMIR
+STEPANČEV ANICA
+STEPANČEV STEVAN
+STEPANČEV VLADISLAV
+STEPANČEV ZORAN
+STEPANČEV ZORA
+STEPANČEV ZORICA
+STEPANČEVIĆ MILICA
+STEPANČEVIĆ MIODRAG
+STEPANČEVIĆ SOFIJA
+STEPANČEVIĆ SPASOJE
+STEPANIĆ MILISAV
+STEPANIĆ PREDRAG
+STEPANOV ĐORĐE
+STEPANOV ĐORĐE
+STEPANOV ĐORĐE
+STEPANOV ALEKSANDAR
+STEPANOV ALEKSANDRA
+STEPANOV ANĐELKA
+STEPANOV BRANISLAV
+STEPANOV BRANKO
+STEPANOV BRANKO
+STEPANOV DRAGIŠA
+STEPANOV DRAGICA
+STEPANOV DUŠAN
+STEPANOV DUŠAN
+STEPANOV EMIL
+STEPANOV JOLE
+STEPANOV KATICA
+STEPANOV LJILJANA
+STEPANOV LJUBOMIR DR
+STEPANOV LJUBOMIR
+STEPANOV MAKSA
+STEPANOV MARA
+STEPANOV MILANKA
+STEPANOV MILANKA
+STEPANOV MILAN
+STEPANOV MILAN
+STEPANOV MILEVA
+STEPANOV MILIVOJ
+STEPANOV MILIVOJ
+STEPANOV MILIVOJ
+STEPANOV MILOVAN
+STEPANOV NIKOLA
+STEPANOV PAJA
+STEPANOV PAJA
+STEPANOV PETAR DR
+STEPANOV PETAR
+STEPANOV PIROŠKA
+STEPANOV RADIVOJ
+STEPANOV RADOVAN
+STEPANOV SAVA
+STEPANOV SAVA
+STEPANOV SERGIJE
+STEPANOV SLOBODAN
+STEPANOV SVETISLAV
+STEPANOV VASILIJE
+STEPANOV VELIMIR
+STEPANOV VESNA
+STEPANOV VIDA
+STEPANOV VIDOSAVA
+STEPANOV VOJNA
+STEPANOV ZDRAVKO
+STEPANOVIĆ ĐURĐICA
+STEPANOVIĆ BRATISLAV
+STEPANOVIĆ DRAGIŠA
+STEPANOVIĆ DRAGICA
+STEPANOVIĆ MILORAD
+STEPANOVIĆ NEBOJŠA
+STEPANOVIĆ SLOBODAN
+STEPANOVIĆ SNEŽANA
+STEPANOVIĆ STEVAN
+STEPANOVIĆ SVETLANA
+STEPIĆ JOSIP
+STEPIĆ MARIJA
+STERIO ĐORĐE
+STERIO BRANKO DR
+STERPIN ZVONIMIR
+STEVČIĆ SAVATIJE
+STEVANČEV ANKICA
+STEVANČEV MILICA
+STEVANČEV MILORAD
+STEVANČEV OLGA
+STEVANČEVIĆ LJILJANA
+STEVANDIĆ ĐURO
+STEVANDIĆ MILICA
+STEVANDIĆ RADE
+STEVANIĆ BORIVOJE
+STEVANIĆ DRAGOSLAV
+STEVANIĆ IVAN
+STEVANIĆ MIODRAG
+STEVANIĆ SLOBODAN
+STEVANIĆ VUKOMAN
+STEVANOV ŽIVAN
+STEVANOV DRAGANA
+STEVANOV EMILKA
+STEVANOV GAVRA
+STEVANOV JELENA
+STEVANOV LJILJANA
+STEVANOV MADLEN
+STEVANOV MILORAD
+STEVANOV MILOVAN
+STEVANOV MILUTIN
+STEVANOV MLADEN
+STEVANOV MLADEN
+STEVANOV NATALIJA
+STEVANOV STANA
+STEVANOV SVETOZAR
+STEVANOV VESELIN
+STEVANOV VLADIMIR
+STEVANOV ZLATOJE
+STEVANOVIĆ ŽIVADIN
+STEVANOVIĆ ŽIVKA
+STEVANOVIĆ ŽIVORAD
+STEVANOVIĆ ADAM
+STEVANOVIĆ ALEKSANDAR
+STEVANOVIĆ BOŠKO
+STEVANOVIĆ BORA
+STEVANOVIĆ BRANISLAVA
+STEVANOVIĆ DANICA
+STEVANOVIĆ DESIMIR
+STEVANOVIĆ DRAGIŠA
+STEVANOVIĆ DRAGICA
+STEVANOVIĆ DRAGOSLAV
+STEVANOVIĆ DUŠAN DR
+STEVANOVIĆ GORAN
+STEVANOVIĆ GORAN
+STEVANOVIĆ JAROSLAV
+STEVANOVIĆ JOVAN
+STEVANOVIĆ LJUBIŠA
+STEVANOVIĆ MILADINKA
+STEVANOVIĆ MILADIN
+STEVANOVIĆ MILENKO
+STEVANOVIĆ MILE
+STEVANOVIĆ MILIVOJ
+STEVANOVIĆ MILKA
+STEVANOVIĆ MILOLJUB
+STEVANOVIĆ MIOMIR
+STEVANOVIĆ MIRA
+STEVANOVIĆ MLADENKA
+STEVANOVIĆ-NEĆAK SLOBODANKA DIPL ING
+STEVANOVIĆ NIKOSAVA
+STEVANOVIĆ RADOSLAV
+STEVANOVIĆ RAJKO
+STEVANOVIĆ RANKO DR LEKAR
+STEVANOVIĆ RATKO
+STEVANOVIĆ RUŽA
+STEVANOVIĆ SAVA
+STEVANOVIĆ SLOBODAN
+STEVANOVIĆ SNEŽANA
+STEVANOVIĆ STOJADIN
+STEVANOVIĆ SVIJETLANA
+STEVANOVIĆ TOMISLAV
+STEVANOVIĆ TOMISLAV
+STEVANOVIĆ VERA
+STEVANOVIĆ VLADA
+STEVANOVIĆ VLASTIMIR
+STEVANOVIĆ ZLATKO DR
+STEVANOVIĆ ZORAN
+STEVANOVIĆ ZORICA
+STEVANOVSKI GOŠE
+STEVANOVSKI SLOBODAN
+STEVIĆ DOBRIVOJE
+STEVIĆ DUŠAN
+STEVIĆ GORDANA
+STEVIĆ LJUBIŠA
+STEVIĆ NIKOLA
+STEVIĆ PETAR
+STEVIĆ SLOBODAN
+STEVIĆ SNEŽANA
+STEVIĆ SRBA
+STEVIĆ VELIMIR
+STEVIĆ VOJISLAV
+STEVIN BOGDAN
+STEVIN BORISLAV
+STEVIN NADA DIPL ING
+STEVIN RADOJLA
+STEVOVIĆ ANKA
+STEVOVIĆ BOŽIDAR
+STEVOVIĆ BRANISLAV
+STEVOVIĆ IVAN DIPL PRAVNIK
+STEVOVIĆ-LUKIĆ RADMILA
+STEVOVIĆ MILOSAVA
+STEVOVIĆ VOJIN
+STIJAČIĆ BRANKO
+STIJAČIĆ PAVLE
+STIJAČIĆ SVETOZAR
+STIJAKOVIĆ DRAGAN
+STIJEPOVIĆ ALEKSA
+STIJEPOVIĆ MILIJANA
+STIJOVIĆ ILIJA
+STIJOVIĆ JELISAVETA
+STIJOVIĆ MARA
+STIJOVIĆ MILAN
+STIKIĆ BILJANA
+STIKIĆ JOVAN
+STIKIĆ MOMIRKA
+STIKOVIĆ ROSA
+STILINOVIĆ KOVINKA
+STILINOVIĆ ZVONIMIR DIPL ING
+STIPANČIĆ STIPAN
+STIPANOVIĆ BJELICA
+STIPANOVIĆ GOJKO
+STIPETIĆ DRAGAN
+STIPIĆ ANDRIJA
+STIPIĆ ANTE
+STIPIĆ BUDE
+STIPIĆ GIZELA
+STIPIĆ JAŠA
+STIPIĆ NADA
+STIPIĆ OLIVERA
+STIPIĆ SONJA
+STIPIĆ VELJKO
+STISKALO TIHOMIR
+STJELJA DANICA
+STJEPČEVIĆ ANICA
+STJEPANOVIĆ BOŽO
+STJEPANOVIĆ BORIVOJE
+STJEPANOVIĆ CVEJA
+STJEPANOVIĆ JASNA
+STJEPANOVIĆ JELENA
+STJEPANOVIĆ JELISAVETA
+STJEPANOVIĆ JOVICA
+STJEPANOVIĆ STANKA
+STJEPANOVIĆ TOMISLAV
+STJEPIĆ JOSIP
+STJEPIĆ MIJO
+STOŠIĆ DRAGAN
+STOŠIĆ DRAGAN
+STOŠIĆ DRAGAN
+STOŠIĆ DUŠAN
+STOŠIĆ DUŠAN
+STOŠIĆ DUŠAN
+STOŠIĆ JELENA
+STOŠIĆ MILICA
+STOŠIĆ NEDELJKO
+STOŠIĆ RADIVOJ
+STOŠIĆ SLAVIŠA
+STOŠIĆ STOJADIN
+STOŠIĆ STOJAN
+STOŠIĆ TANJA
+STOŠIĆ TOMISLAV
+STOŠIĆ VLADIMIR
+STOŠIĆ VOJISLAV
+STOŠIĆ ZORAN
+STOŽINIĆ DRAGINJA
+STOESKI JEVTIM
+STOGOV ANATOLIJ DIPL ING
+STOILJKOVIĆ ŽIKA
+STOILJKOVIĆ DRAGOSLAV
+STOILJKOVIĆ JELICA
+STOILJKOVIĆ JOVAN
+STOILJKOVIĆ MILORAD
+STOILJKOVIĆ NENAD
+STOILJKOVIĆ STOJAN
+STOILKOVSKI BORIS
+STOISAVLJEVIĆ ĐUJA
+STOISAVLJEVIĆ MIĆO
+STOJČEV MARIJA
+STOJČEVIĆ ILIJA
+STOJČEVIĆ STANOJKO
+STOJČEVSKI BLAGOJA
+STOJČEVSKI TOMISLAV
+STOJČEVSKI TONE
+STOJČIĆ ĐORĐE
+STOJČIĆ ĐURO
+STOJČIĆ DESIMIR
+STOJČIĆ DUŠAN
+STOJČIĆ JELENA
+STOJČIĆ MILAN
+STOJČIĆ MILAN
+STOJČIĆ MILENKO
+STOJČIĆ MIROSLAV
+STOJČIĆ NIKOLA
+STOJČIĆ SREĆKO
+STOJČIĆ SRETKO
+STOJČINOVIĆ MARKO
+STOJČINOVIĆ SIMO
+STOJŠIĆ ŽIVAN
+STOJŠIĆ ĐORĐE
+STOJŠIĆ ĐORĐE
+STOJŠIĆ BOJKA
+STOJŠIĆ DANČIKA
+STOJŠIĆ DRAGI
+STOJŠIĆ DUŠANKA
+STOJŠIĆ JELENA
+STOJŠIĆ JOVAN
+STOJŠIĆ JOVAN
+STOJŠIĆ LAZAR
+STOJŠIĆ MARIJA
+STOJŠIĆ MARIJA
+STOJŠIĆ MARIJA
+STOJŠIĆ MILAN DIPL ING
+STOJŠIĆ MILAN
+STOJŠIĆ MILAN
+STOJŠIĆ MILIVOJ
+STOJŠIĆ MILKA
+STOJŠIĆ MILOŠ
+STOJŠIĆ MIRA
+STOJŠIĆ NADA
+STOJŠIĆ NADA
+STOJŠIĆ NEGOVAN
+STOJŠIĆ NENAD
+STOJŠIĆ NEVENKA
+STOJŠIĆ NEVENKA
+STOJŠIĆ NIKOLA
+STOJŠIĆ OLGA
+STOJŠIĆ PETAR
+STOJŠIĆ PROKOPIJE
+STOJŠIĆ PRVOSLAV
+STOJŠIĆ SAVA
+STOJŠIĆ SAVA
+STOJŠIĆ SAVA
+STOJŠIĆ SLAVICA
+STOJŠIĆ SMILJA
+STOJŠIĆ SOFIJA
+STOJŠIĆ SRBISLAV
+STOJŠIĆ STANOJE
+STOJŠIĆ STEVAN
+STOJŠIĆ TATJANA
+STOJŠIĆ VERA
+STOJŠIĆ VIDOSAVA
+STOJŠIĆ VLADIMIR
+STOJŠIĆ VLADIMIR
+STOJŠIĆ VLADIMIR
+STOJŠIĆ VOJISLAV
+STOJŠIĆ VUJADIN DIPL ING
+STOJŠIĆ ZDRAVKO
+STOJŠIN ŽARKO
+STOJŠIN ĐORĐE
+STOJŠIN ĐURĐA
+STOJŠIN ĐURĐINKA
+STOJŠIN BOGOSLOV
+STOJŠIN DIMITRIJE
+STOJŠIN DOBRIVOJ
+STOJŠIN DRAGAN
+STOJŠIN DUŠAN
+STOJŠIN EMIL
+STOJŠIN ESTER
+STOJŠIN GAVRA
+STOJŠIN GROZDANA
+STOJŠIN JOVAN
+STOJŠIN JOVAN
+STOJŠIN LAZAR
+STOJŠIN MILANKA
+STOJŠIN MILAN
+STOJŠIN MILAN
+STOJŠIN MILICA
+STOJŠIN MILORAD
+STOJŠIN MILOVAN
+STOJŠIN NIKOLA
+STOJŠIN OLGA
+STOJŠIN RADA
+STOJŠIN RADOSLAV
+STOJŠIN SAVA
+STOJŠIN SAVA
+STOJŠIN SINIŠA
+STOJŠIN SVETOZAR
+STOJŠIN TODOR
+STOJŠIN VASA
+STOJŠIN VERA
+STOJŠIN ZLATA
+STOJA LJILJANA
+STOJA MARIJA
+STOJA MILANA
+STOJA SLAĐANA
+STOJA SLOBODAN DR LEKAR
+STOJA VOJISLAV
+STOJAČIĆ DIMITRIJE
+STOJAČIĆ MILAN
+STOJAČIĆ NENAD
+STOJAČIĆ VLADISLAV
+STOJADINOV RADIVOJ
+STOJADINOVIĆ ANICA
+STOJADINOVIĆ BORISLAVA
+STOJADINOVIĆ BORIVOJ
+STOJADINOVIĆ DIMITRIJE
+STOJADINOVIĆ DOBRILA
+STOJADINOVIĆ DRAGANA LEKAR
+STOJADINOVIĆ DRAGINJA
+STOJADINOVIĆ DRAGOSLAV
+STOJADINOVIĆ LAZAR
+STOJADINOVIĆ LJUBIŠA
+STOJADINOVIĆ MILAN
+STOJADINOVIĆ MILAN
+STOJADINOVIĆ MILEVA
+STOJADINOVIĆ MILICA
+STOJADINOVIĆ MILINKO
+STOJADINOVIĆ MILKA
+STOJADINOVIĆ MILOJE
+STOJADINOVIĆ PETAR
+STOJADINOVIĆ PETAR
+STOJADINOVIĆ PUNIŠA
+STOJADINOVIĆ SLAVKO
+STOJADINOVIĆ SLOBODAN
+STOJADINOVIĆ SLOBODAN
+STOJADINOVIĆ SOFIJA
+STOJADINOVIĆ SOFIJA
+STOJADINOVIĆ STEVAN
+STOJADINOVIĆ TATJANA
+STOJADINOVIĆ VLADETA
+STOJAK ZORICA
+STOJAKOV BOŽIDAR
+STOJAKOV MILORAD
+STOJAKOV SRBOSLAV
+STOJAKOV SRBOSLAV
+STOJAKOVIĆ ĐUKAN
+STOJAKOVIĆ ĐURO
+STOJAKOVIĆ BRANISLAVA
+STOJAKOVIĆ DIVNA
+STOJAKOVIĆ DRAGAN
+STOJAKOVIĆ JELKA
+STOJAKOVIĆ KOSTA
+STOJAKOVIĆ LAZAR
+STOJAKOVIĆ MARGITA
+STOJAKOVIĆ MIHAJLO
+STOJAKOVIĆ MILADINKA
+STOJAKOVIĆ MILA
+STOJAKOVIĆ MILE
+STOJAKOVIĆ MILISAV
+STOJAKOVIĆ MILOVAN
+STOJAKOVIĆ NIKOLA
+STOJAKOVIĆ RADMILA
+STOJAKOVIĆ SAVAN
+STOJAKOVIĆ SLAVKO
+STOJAKOVIĆ SMILJA
+STOJAKOVIĆ STANKO
+STOJAKOVIĆ STEVO
+STOJAKOVIĆ SVETOZAR
+STOJAKOVIĆ ZORAN
+STOJAKOVIĆ ZORA
+STOJANČEV GORDANA
+STOJANČEV IVAN
+STOJANČEV RADOMIR
+STOJANČEV SLAVICA
+STOJANČEV VASA
+STOJANČIĆ VLADA
+STOJANAC BRANKO
+STOJANAC MILE
+STOJANAC NIKOLA
+STOJANIĆ ANGELINA
+STOJANOSKI DUŠAN
+STOJANOSKI GAVRIL
+STOJANOV BRANKO
+STOJANOV BRANKO
+STOJANOV IVAN
+STOJANOV MILOVAN
+STOJANOV MIRJANA
+STOJANOV MLADEN DR
+STOJANOV NADA
+STOJANOV NADA
+STOJANOV OLGA
+STOJANOV RADIVOJE
+STOJANOV RADOVAN
+STOJANOV SAVA
+STOJANOV SAVA
+STOJANOV SENKA
+STOJANOV STANKO
+STOJANOV STEVAN
+STOJANOV VERA
+STOJANOV VLADIMIR
+STOJANOV VUKICA
+STOJANOV ZORAN
+STOJANOVIĆ ŽIVKO
+STOJANOVIĆ ŽIVKO
+STOJANOVIĆ ŽIVKO
+STOJANOVIĆ ŽIVOJIN
+STOJANOVIĆ ŽIVORAD
+STOJANOVIĆ ĐORĐE
+STOJANOVIĆ ĐORĐE
+STOJANOVIĆ ĐURĐICA
+STOJANOVIĆ ĐURA
+STOJANOVIĆ ACA
+STOJANOVIĆ ALEKSANDAR
+STOJANOVIĆ ALEKSANDAR
+STOJANOVIĆ ALEKSANDAR
+STOJANOVIĆ ALJOŠA
+STOJANOVIĆ ANA
+STOJANOVIĆ-BALINT BOŽANA
+STOJANOVIĆ BLAGOJE
+STOJANOVIĆ BOŠKO
+STOJANOVIĆ BOŠKO
+STOJANOVIĆ BOŠKO
+STOJANOVIĆ BOŽIDAR
+STOJANOVIĆ BOŽIDAR
+STOJANOVIĆ BOBAN
+STOJANOVIĆ BOGOLJUB
+STOJANOVIĆ BORISLAVA
+STOJANOVIĆ BORISLAV
+STOJANOVIĆ BORIVOJE
+STOJANOVIĆ BORIVOJ
+STOJANOVIĆ BRANISLAV
+STOJANOVIĆ BRANISLAV
+STOJANOVIĆ BRANISLAV
+STOJANOVIĆ BRANKA
+STOJANOVIĆ BRANKA
+STOJANOVIĆ BRANKO
+STOJANOVIĆ BRANKO
+STOJANOVIĆ BUDIMIR
+STOJANOVIĆ CVIJETA
+STOJANOVIĆ DANICA
+STOJANOVIĆ DANICA
+STOJANOVIĆ DANILO
+STOJANOVIĆ DANKA
+STOJANOVIĆ DARINKA DR
+STOJANOVIĆ DESIMIR
+STOJANOVIĆ DOBRILA
+STOJANOVIĆ DOBRILA
+STOJANOVIĆ DOBRILA
+STOJANOVIĆ DOBRINKA
+STOJANOVIĆ DRAGAN
+STOJANOVIĆ DRAGAN
+STOJANOVIĆ DRAGAN
+STOJANOVIĆ DRAGAN
+STOJANOVIĆ DRAGAN
+STOJANOVIĆ DRAGAN
+STOJANOVIĆ DRAGAN
+STOJANOVIĆ DRAGIŠA
+STOJANOVIĆ DRAGIŠA
+STOJANOVIĆ DRAGICA
+STOJANOVIĆ DRAGOLJUB
+STOJANOVIĆ DRAGOLJUB
+STOJANOVIĆ DRAGOMIR
+STOJANOVIĆ DRAGOSLAV
+STOJANOVIĆ DUŠAN
+STOJANOVIĆ DUŠICA
+STOJANOVIĆ GAVRILO
+STOJANOVIĆ GAVRO
+STOJANOVIĆ GORAN
+STOJANOVIĆ GRADIMIR
+STOJANOVIĆ IVKO
+STOJANOVIĆ JAKOV
+STOJANOVIĆ JASMINA
+STOJANOVIĆ-JEFTOVIĆ BOSILJKA
+STOJANOVIĆ JELENA
+STOJANOVIĆ JELENA
+STOJANOVIĆ JELICA
+STOJANOVIĆ JOVAN
+STOJANOVIĆ JOVAN
+STOJANOVIĆ JULKA
+STOJANOVIĆ KATICA
+STOJANOVIĆ KONSTANTIN
+STOJANOVIĆ KOSTA
+STOJANOVIĆ KRSTA
+STOJANOVIĆ LAZAR
+STOJANOVIĆ LAZAR
+STOJANOVIĆ LEONA
+STOJANOVIĆ LJUBIŠA
+STOJANOVIĆ LJUBICA
+STOJANOVIĆ LJUBINKO
+STOJANOVIĆ LJUBOMIR
+STOJANOVIĆ LJUBOMIR
+STOJANOVIĆ MARIJA
+STOJANOVIĆ MARKO
+STOJANOVIĆ MIŠA
+STOJANOVIĆ MILAK
+STOJANOVIĆ MILAN
+STOJANOVIĆ MILAN
+STOJANOVIĆ MILETA
+STOJANOVIĆ MILE
+STOJANOVIĆ MILICA
+STOJANOVIĆ MILICA
+STOJANOVIĆ MILIVOJE
+STOJANOVIĆ MILKA
+STOJANOVIĆ MILOŠ
+STOJANOVIĆ MILOŠ
+STOJANOVIĆ MILOŠ
+STOJANOVIĆ MILOVAN
+STOJANOVIĆ MILOVAN
+STOJANOVIĆ MILOVAN
+STOJANOVIĆ MIODRAG
+STOJANOVIĆ MIODRAG
+STOJANOVIĆ MIOMIR
+STOJANOVIĆ MIRA
+STOJANOVIĆ MIRJANA
+STOJANOVIĆ MIRJANA
+STOJANOVIĆ MIROLJUB
+STOJANOVIĆ MIROSLAV
+STOJANOVIĆ MIROSLAV
+STOJANOVIĆ MIROSLAV
+STOJANOVIĆ MIROSLAV
+STOJANOVIĆ MIRO
+STOJANOVIĆ MOMČILO
+STOJANOVIĆ MOMIR
+STOJANOVIĆ NADA
+STOJANOVIĆ NADA
+STOJANOVIĆ NASTAS
+STOJANOVIĆ NEDELJKO
+STOJANOVIĆ NENAD
+STOJANOVIĆ NENAD
+STOJANOVIĆ NIKICA
+STOJANOVIĆ NIKOLA
+STOJANOVIĆ NIKOLA
+STOJANOVIĆ NOVICA
+STOJANOVIĆ NOVICA
+STOJANOVIĆ OBRAD
+STOJANOVIĆ OLGA
+STOJANOVIĆ OSTOJA
+STOJANOVIĆ PETAR
+STOJANOVIĆ PETAR
+STOJANOVIĆ PETAR
+STOJANOVIĆ PETAR
+STOJANOVIĆ PRVAN
+STOJANOVIĆ RADE
+STOJANOVIĆ RADE
+STOJANOVIĆ RADISAV
+STOJANOVIĆ RADMILA
+STOJANOVIĆ RADMILA
+STOJANOVIĆ RADMILA
+STOJANOVIĆ RADMILO
+STOJANOVIĆ RADOICA
+STOJANOVIĆ RADOMIR
+STOJANOVIĆ RADOMIR
+STOJANOVIĆ RADOVAN
+STOJANOVIĆ RUŽICA
+STOJANOVIĆ SAŠA
+STOJANOVIĆ SAVA
+STOJANOVIĆ-SIMIĆ VESNA
+STOJANOVIĆ SLAVKO
+STOJANOVIĆ SLAVKO
+STOJANOVIĆ SLAVKO
+STOJANOVIĆ SLAVOJKA
+STOJANOVIĆ SLAVOLJUB
+STOJANOVIĆ SLOBODAN
+STOJANOVIĆ SLOBODAN
+STOJANOVIĆ SLOBODAN
+STOJANOVIĆ SRĐAN
+STOJANOVIĆ SRBOLJUB
+STOJANOVIĆ SRETEN
+STOJANOVIĆ SRETEN
+STOJANOVIĆ STANISLAV DR LEKAR
+STOJANOVIĆ STANOJE
+STOJANOVIĆ STANOJE
+STOJANOVIĆ STEVAN DR
+STOJANOVIĆ STEVAN
+STOJANOVIĆ STEVAN
+STOJANOVIĆ STEVAN
+STOJANOVIĆ STEVAN
+STOJANOVIĆ STOJAN
+STOJANOVIĆ STOJAN
+STOJANOVIĆ STOLE
+STOJANOVIĆ SVETISLAV
+STOJANOVIĆ SVETLANA
+STOJANOVIĆ SVETOZAR
+STOJANOVIĆ TIHOMIR DR ING
+STOJANOVIĆ TIHOMIR
+STOJANOVIĆ TOMISLAV MR
+STOJANOVIĆ TOMISLAV
+STOJANOVIĆ VALERIJA
+STOJANOVIĆ VASILIJE
+STOJANOVIĆ VASO
+STOJANOVIĆ VELIMIR
+STOJANOVIĆ VELIMIR
+STOJANOVIĆ VELJKO
+STOJANOVIĆ VERA
+STOJANOVIĆ VERA
+STOJANOVIĆ VESNA
+STOJANOVIĆ VESNA
+STOJANOVIĆ VLADIMIR
+STOJANOVIĆ VLADIMIR
+STOJANOVIĆ VLADIMIR
+STOJANOVIĆ VLADIMIR
+STOJANOVIĆ VLADIMIR
+STOJANOVIĆ VLADIMIR
+STOJANOVIĆ VLASTIMIR
+STOJANOVIĆ VOJISLAV
+STOJANOVIĆ VUKAŠIN
+STOJANOVIĆ ZDRAVKO
+STOJANOVIĆ ZORAN DR
+STOJANOVIĆ ZORAN
+STOJANOVIĆ ZORAN
+STOJANOVIĆ ZORAN
+STOJANOVIĆ ZORKA
+STOJANOVSKI ŽIVKO
+STOJANOVSKI ANDRIJA
+STOJANOVSKI BILJANA
+STOJANOVSKI BRANIMIR
+STOJANOVSKI DRAGAN DIPL OEC
+STOJANOVSKI JORDAN
+STOJANOVSKI LJUBIŠA
+STOJANOVSKI LJUBICA
+STOJANOVSKI PAVLE
+STOJANOVSKI PAVLE
+STOJANOVSKI SANE
+STOJANOVSKI SLAVICA
+STOJANOVSKI TOMO
+STOJEV STOIČKO
+STOJIČIĆ DESANKA
+STOJIČIĆ GLIGORIJE
+STOJIČIĆ JASMINA
+STOJIČIĆ JASMINA
+STOJIČIĆ MILICA
+STOJIČIĆ ROSA
+STOJIČIĆ SLAVKO
+STOJIČIĆ TODORA
+STOJIŠIĆ ĐURICA DR
+STOJIĆ ĐURĐINKA
+STOJIĆ-APIĆ SLAVKA
+STOJIĆ BOGOLJUB
+STOJIĆ BOGOLJUB
+STOJIĆ BOGOLJUB
+STOJIĆ BRANKA
+STOJIĆ DOBRIVOJ
+STOJIĆ DRAGINJA
+STOJIĆ DRAGOLJUB
+STOJIĆ DUŠAN
+STOJIĆ GAVRA
+STOJIĆ GOJKO
+STOJIĆ GRADIMIR
+STOJIĆ IŠTVAN
+STOJIĆ JULIJANA
+STOJIĆ KATICA
+STOJIĆ LJUBINKA
+STOJIĆ MARA
+STOJIĆ MARINKO
+STOJIĆ MILAN
+STOJIĆ MILENA
+STOJIĆ MILE
+STOJIĆ MILICA
+STOJIĆ MIODRAG DR
+STOJIĆ MIOMIR
+STOJIĆ MIRKO
+STOJIĆ MLADEN DR LEKAR
+STOJIĆ NEDELJKO
+STOJIĆ NIKOLA
+STOJIĆ SINIŠA DR
+STOJIĆ SLAVKA
+STOJIĆ STANISLAV
+STOJIĆ SVETLANA
+STOJIĆ SVETOZAR
+STOJIĆ TODOR
+STOJIĆ VASA
+STOJIĆ VUČKO
+STOJIĆ VUKAŠIN
+STOJIĆ ZORAN
+STOJIĆEVIĆ SLOBODAN
+STOJIC JONEL
+STOJILJKOVIĆ BOŽIDAR
+STOJILJKOVIĆ BOŽIDAR
+STOJILJKOVIĆ BRANIMIR DIPL OEC
+STOJILJKOVIĆ DAMIR
+STOJILJKOVIĆ DARKA
+STOJILJKOVIĆ GORAN DR
+STOJILJKOVIĆ GORDANA
+STOJILJKOVIĆ JELICA
+STOJILJKOVIĆ LJUBIŠA
+STOJILJKOVIĆ TOMISLAV
+STOJILJKOVIĆ TOMISLAV
+STOJILJKOVIĆ VIKTOR
+STOJILKOVIĆ MILETIJE
+STOJILKOVIĆ MILE
+STOJILKOVIĆ STOJAN
+STOJILKOVIĆ VALERIJA
+STOJILOV RADOSLAV
+STOJILOVIĆ MILAN
+STOJILOVIĆ MILAN
+STOJIN ČEDOMIR
+STOJIN MILIVOJ DR PROF
+STOJIN MILIVOJ
+STOJINOV ŽIVKO
+STOJINOV BRANKO
+STOJINOV DUŠAN
+STOJINOV JOVAN
+STOJINOV KATARINA
+STOJINOV KATICA
+STOJINOV LJUBICA
+STOJINOV MILENKO
+STOJINOV ZORICA
+STOJINOVIĆ GORAN
+STOJINOVIĆ MARICA
+STOJISAVLJEVIĆ DUŠAN
+STOJISAVLJEVIĆ JOVANKA
+STOJISAVLJEVIĆ MILAN
+STOJISAVLJEVIĆ MILE
+STOJISAVLJEVIĆ SLOBODAN
+STOJISAVLJEVIĆ SLOBODAN
+STOJISAVLJEVIĆ VELJKO
+STOJKOV ŽARKO
+STOJKOV ŽIVORAD
+STOJKOV ALEKSANDAR
+STOJKOV BOGDAN
+STOJKOV BORIVOJ
+STOJKOV BRANISLAV
+STOJKOV DIMITRIJE
+STOJKOV DRAGINA
+STOJKOV IVAN
+STOJKOV JELICA
+STOJKOV JELKA
+STOJKOV JOVAN
+STOJKOV JULKA
+STOJKOV KATICA
+STOJKOV LJUBICA
+STOJKOV MILAN
+STOJKOV MILAN
+STOJKOV MILAN
+STOJKOV MILENA
+STOJKOV MILEVKA
+STOJKOV MILE
+STOJKOV MIODRAG
+STOJKOV MIOMIR
+STOJKOV MIROSLAV
+STOJKOV MLADEN
+STOJKOV NEGOVAN
+STOJKOV RADIVOJ
+STOJKOV RADIVOJ
+STOJKOV SLOBODAN
+STOJKOV STEVAN
+STOJKOV STOJAN
+STOJKOV STOJAN
+STOJKOV TODOR
+STOJKOV VERICA
+STOJKOV VUKOSAVA
+STOJKOV ZDRAVKO
+STOJKOVIĆ-ŠALBOT BOJANA
+STOJKOVIĆ ŽIVKA
+STOJKOVIĆ ŽIVOTA
+STOJKOVIĆ ĐORĐE
+STOJKOVIĆ ĐORĐE
+STOJKOVIĆ ALEKSANDAR
+STOJKOVIĆ ALEKSANDAR
+STOJKOVIĆ ALEKSANDAR
+STOJKOVIĆ ANĐELKA
+STOJKOVIĆ ANANIJE
+STOJKOVIĆ ANTONIJE
+STOJKOVIĆ BLAGOJE
+STOJKOVIĆ BOŽIDAR
+STOJKOVIĆ BOŽIDAR
+STOJKOVIĆ BORISLAV
+STOJKOVIĆ BORKO
+STOJKOVIĆ BRANISLAV
+STOJKOVIĆ DRAGAN
+STOJKOVIĆ DRAGAN
+STOJKOVIĆ DRAGINJA
+STOJKOVIĆ DRAGOLJUB
+STOJKOVIĆ DRAGOLJUB
+STOJKOVIĆ DUŠANKA
+STOJKOVIĆ DUŠANKA
+STOJKOVIĆ DUŠAN
+STOJKOVIĆ DUŠAN
+STOJKOVIĆ DUŠAN
+STOJKOVIĆ GORDANA
+STOJKOVIĆ GORDANA
+STOJKOVIĆ GRADIMIR
+STOJKOVIĆ ILIJA
+STOJKOVIĆ IVAN
+STOJKOVIĆ JELENA
+STOJKOVIĆ JELENA
+STOJKOVIĆ JELENA
+STOJKOVIĆ-JOVANOVIĆ SLAVICA
+STOJKOVIĆ JOVAN
+STOJKOVIĆ JOVAN
+STOJKOVIĆ KATICA
+STOJKOVIĆ KUZMAN
+STOJKOVIĆ LENKA
+STOJKOVIĆ MARIJA
+STOJKOVIĆ MILAN
+STOJKOVIĆ MILAN
+STOJKOVIĆ MILAN
+STOJKOVIĆ MILENKO
+STOJKOVIĆ MILENKO
+STOJKOVIĆ MILENTIJE
+STOJKOVIĆ MILOŠ
+STOJKOVIĆ MILOVAN
+STOJKOVIĆ MILTEN
+STOJKOVIĆ MILUTIN
+STOJKOVIĆ MIODRAG
+STOJKOVIĆ MIODRAG
+STOJKOVIĆ MIRJANA
+STOJKOVIĆ MIRJANA
+STOJKOVIĆ MIRJANA
+STOJKOVIĆ MIRJANA
+STOJKOVIĆ MIRJANA
+STOJKOVIĆ MIRKO
+STOJKOVIĆ MIROSLAV
+STOJKOVIĆ MLADEN
+STOJKOVIĆ NADA
+STOJKOVIĆ PAVLE
+STOJKOVIĆ PAVLE
+STOJKOVIĆ PETAR
+STOJKOVIĆ PETAR
+STOJKOVIĆ PETAR
+STOJKOVIĆ PREDRAG DR
+STOJKOVIĆ RADENKO
+STOJKOVIĆ RADISAV DIPL ING
+STOJKOVIĆ RADIVOJE
+STOJKOVIĆ RADMILA
+STOJKOVIĆ RADMILA
+STOJKOVIĆ RADOMIR
+STOJKOVIĆ RADOSLAVKA
+STOJKOVIĆ RADOSLAV
+STOJKOVIĆ RADOVAN DIPL ING
+STOJKOVIĆ SANJA
+STOJKOVIĆ SLAVKA
+STOJKOVIĆ SLAVOLJUB
+STOJKOVIĆ SMILJKA
+STOJKOVIĆ STOJADIN
+STOJKOVIĆ TEODOR
+STOJKOVIĆ VELIMIR
+STOJKOVIĆ VELJKO
+STOJKOVIĆ VEROSLAV
+STOJKOVIĆ VLADIMIR
+STOJKOVIĆ VLADIMIR
+STOJKOVIĆ ZAGORKA
+STOJKOVIĆ ZLATIBOR
+STOJKOVIĆ ZORAN
+STOJKOVSKI DRAGAN
+STOJKOVSKI DRAGAN
+STOJLOVIĆ ĐULA
+STOJMENOVIĆ ŽIVKO
+STOJMENOVIĆ IVAN
+STOJMENOVIĆ JOVAN
+STOJMENOVIĆ MARIJA
+STOJMENOVIĆ VLADA
+STOJMENOVIĆ VOJISLAV
+STOJNIĆ BOŠKO
+STOJNIĆ DRAGAN
+STOJNIĆ DRAGICA
+STOJNIĆ DUŠAN
+STOJNIĆ MILICA
+STOJNIĆ MIRKO
+STOJNIĆ PAVLE
+STOJNIĆ RADOMIR
+STOJNIĆ SLOBODAN
+STOJNOV DAMJAN
+STOJOVIĆ RADOMIR
+STOJOVIĆ TOMAŠ
+STOJSAVLJEVIĆ NIKOLA
+STOJSAVLJEVIĆ PETAR
+STOJSAVLJEVIĆ STEVAN
+STOJSAVLJEVIĆ TIHOMIR
+STOKANOVIĆ ĐORĐE
+STOKANOVIĆ MILORAD
+STOKIĆ ĐORĐE
+STOKIĆ DRAGOLJUB
+STOKIĆ DUŠAN
+STOKIĆ JOVICA
+STOKIĆ MILAN
+STOKIĆ TODOR
+STOKIN ALESANDAR
+STOKIN BRANKO
+STOKIN MILIVOJ
+STOKIN SLOBODAN
+STOKIN STOJAN
+STOKUĆA DANE
+STOKUĆA MIHAJLO
+STOKUĆA MILAN
+STOKUĆA MILAN
+STOKUĆA MILAN
+STOKUĆA MIRJANA
+STOKUĆA NIKOLA
+STOKUĆA PETAR
+STOLESKI MITIJA
+STOLIĆ ĐURO
+STOLIĆ BISERKA
+STOLIĆ DUŠAN
+STOLIĆ DUŠAN
+STOLIĆ DUŠAN
+STOLIĆ KATICA
+STOLIĆ LJUBICA
+STOLIĆ MIRJANA
+STOLIĆ MIROSLAV
+STOLIĆ MIROSLAV
+STOLIĆ NENAD
+STOLIĆ PETAR DR
+STOLIĆ SRETA
+STOLIĆ STEVAN
+STOPINŠEK STANISLAV
+STRAŽMEŠTER BOŽIDAR
+STRAŽMEŠTER DUŠAN
+STRAŽMEŠTEROV DIMITRIJE
+STRAŽMEŠTEROV MILICA
+STRAŽMEŠTEROV MIROSLAV DIPL ING
+STRAŽMEŠTEROV SAVA
+STRAŽMEŠTEROV SOFIJA
+STRAŽMEŠTEROV STEVAN
+STRACENSKI MIROSLAV
+STRACENSKI STEVAN
+STRAGA STJEPAN
+STRAHINIĆ KRSTOMIR
+STRAJIN BRANISLAVA
+STRAJIN JELENA
+STRAJIN NADA
+STRAJIN RADOVAN
+STRAJIN STOJAN
+STRAJIN VELIZAR
+STRAJINIĆ BOŽIDAR
+STRAJINIĆ IRENA
+STRAJINIĆ JOVAN
+STRAJINIĆ LAZAR
+STRAJINIĆ MILUTIN
+STRAJNIĆ BRANKO
+STRAJNIĆ DUŠAN
+STRAJNIĆ GRUJA
+STRAJNIĆ MARIJA
+STRAJNIĆ MILANKO
+STRAJNIĆ MILAN
+STRAJNIĆ MLADEN
+STRAJNIĆ PAL
+STRAJNIĆ TOŠA
+STRANIĆ JOVICA
+STRANJAKOVIĆ ŽIVOJIN
+STRANJANAC MILORAD
+STRANJANAC MIROSLAV
+STRBAČKI FRIDOLINA
+STRBAČKI STEVAN
+STRBAD STEVAN
+STRBAT TOMISLAV
+STREHOVSKI ZUZANA
+STRELE RAŠA
+STREZOSKI JOVAN
+STREZOSKI MILESA
+STREZOSKI NIKODINKA
+STREZOSKI VLADIMIR
+STRGAR PETAR
+STRIČEVIĆ DARA
+STRIČEVIĆ DUŠAN
+STRIČEVIĆ JOSIP
+STRIČEVIĆ JULKA
+STRIČEVIĆ KSENIJA
+STRIČEVIĆ LJUBOMIR
+STRIČEVIĆ MLADEN
+STRIČEVIĆ RADIVOJ
+STRIČEVIĆ SAVKA
+STRIČEVIĆ VELIMIR
+STRIČEVIĆ VLADISLAVA
+STRIČKO VLADIMIR
+STRIBER EMIL
+STRIBER FRANJA
+STRIBER FRANJA
+STRIBER MIHAJLO
+STRIBER STEVAN
+STRIBER STEVAN
+STRICKI IVAN
+STRIKA ĐORĐE
+STRIKA BRANKO
+STRIKOVIĆ ĆAMIL
+STRIKOVIĆ BELI
+STRIKOVIĆ JANOŠ
+STRIKOVIĆ MILOSAV
+STRIKOVIĆ RADOSLAV
+STRIKOVIĆ VERA
+STRINEKA KATICA
+STRIZOVIĆ LJILJANA
+STRIZOVIĆ MAKSIM
+STRUGAR ŽARKO
+STRUGAR ŽIVORAD
+STRUGAR GORAN
+STRUGAR JOSIP
+STRUGAR MILUTIN
+STRUGAR PAVLE
+STRUGAR RADMILA
+STRUGAR SONJA
+STRUGAR VOJISLAV
+STRUGAR ZARIJA
+STRUHAR ANA
+STRUHAR JARMILA
+STRUHAR JOSIP
+STRUHAR MAGDA
+STRUHARIK JOSIP
+STRUHARIK JOSIP
+STRUHARIK-JUR RASTISLAV
+STRUHARIK JURAJ DR
+STRUHARIK MARJENA
+STRUHARIK MATO
+STRUHARIK PAVLE
+STRUKAN DOMAGOJ DR
+STRUNJAŠ GORDANA
+STUBLINAC MILOŠ
+STUDEN ŽIVORAD
+STULAR DUŠAN
+STUPAR ČEDA
+STUPAR ŽELJKO
+STUPAR ŽIVKO
+STUPAR ĐORĐE
+STUPAR BOGOLJUB
+STUPAR BORO
+STUPAR BOSILJKA
+STUPAR BRANKO
+STUPAR BRANKO
+STUPAR BRANKO
+STUPAR CVETA
+STUPAR DESANKA
+STUPAR DRAGAN
+STUPAR DRAGO
+STUPAR DUŠANKA
+STUPAR DUŠAN
+STUPAR DUŠAN
+STUPAR DUŠAN
+STUPAR ILIJA
+STUPAR JANJA
+STUPAR JANKO
+STUPAR JOVO
+STUPAR LJUBINKA
+STUPAR MARKO
+STUPAR MARKO
+STUPAR MILJA
+STUPAR MILKA
+STUPAR MILORAD
+STUPAR MILORAD
+STUPAR MIRJANA
+STUPAR MIRKO
+STUPAR NIKOLA
+STUPAR PERO
+STUPAR PETAR
+STUPAR PETAR
+STUPAR RADA
+STUPAR RADE
+STUPAR RAJKO
+STUPAR RAJKO
+STUPAR RAJKO
+STUPAR SLAĐANA
+STUPAR VLADIMIR
+STUPAR ZDRAVKO
+STUPAR ZORAN
+STUPAVSKI ANDREJ
+STUPAVSKI JANKO
+STUPIĆ SLAVENKO
+STUPIN IVAN
+STUPIN ZVONIMIR
+STURAR ZDRAVKO
+STVORIĆ PAVLE
+SUČEVIĆ DANE DIPL PRAVNIK
+SUČEVIĆ DRAGAN
+SUČEVIĆ DUŠAN
+SUČEVIĆ MARIJA
+SUČEVIĆ MARTA
+SUČEVIĆ MIROSLAV
+SUČEVIĆ NIKOLA
+SUČEVIĆ NIKOLA
+SUČEVIĆ RUŽICA
+SUŠA DANILO
+SUŠA MARKO
+SUŠA MILIJANA
+SUŠAC VINKO
+SUŠIĆ GORDANA
+SUŠIĆ HILDA
+SUŠIĆ RADA
+SUŠIĆ VUJANA
+SUĐI JOVAN
+SUĐI MARIJA
+SUĐI STANKO
+SUBAŠIĆ BORISLAV
+SUBAŠIĆ JULKA
+SUBAŠIĆ LAZAR
+SUBAŠIĆ MARKO
+SUBAŠIĆ MILAN
+SUBAŠIĆ NIKOLA
+SUBAŠIĆ PERO
+SUBAŠIĆ PETAR MR
+SUBAŠIĆ RAJKO
+SUBAŠIĆ SIMA
+SUBAŠIĆ STOJAN
+SUBAJKOV RADOJKA
+SUBAKOV KOVILJKA
+SUBAKOV SMILJKA
+SUBAKOV SOFIJA
+SUBANOVIĆ MILAN
+SUBIĆ ŽARKO
+SUBIĆ ĐORĐE
+SUBIĆ ALEKSANDAR
+SUBIĆ ANĐELKA
+SUBIĆ BOŽENA
+SUBIĆ BOŽIDAR
+SUBIĆ BRANISLAV
+SUBIĆ DAMIR
+SUBIĆ DARA
+SUBIĆ DIMITRIJE
+SUBIĆ DUŠAN
+SUBIĆ GORDANA
+SUBIĆ JOVAN
+SUBIĆ KOSTA
+SUBIĆ LAZAR
+SUBIĆ LAZAR
+SUBIĆ LAZAR
+SUBIĆ LJUBICA
+SUBIĆ LJUBOMIR
+SUBIĆ LJUBOMIR
+SUBIĆ LJUBOMIR
+SUBIĆ MARIJA
+SUBIĆ MARKO
+SUBIĆ MARKO
+SUBIĆ MILAN
+SUBIĆ MIROSLAVA
+SUBIĆ MLADEN
+SUBIĆ NADA
+SUBIĆ NEDELJKA
+SUBIĆ NEDELJKO
+SUBIĆ NOVAK
+SUBIĆ OLGA
+SUBIĆ PAJA
+SUBIĆ RADIVOJ
+SUBIĆ RADOSLAV
+SUBIĆ SMILJA
+SUBIĆ SNEŽANA
+SUBIĆ STEVAN
+SUBIĆ ZORAN
+SUBOTIČKI BRANISLAV
+SUBOTIČKI GORICA
+SUBOTIČKI KATICA
+SUBOTIČKI LUKA
+SUBOTIČKI MIRJANA
+SUBOTIČKI MIRKO
+SUBOTIČKI NADA
+SUBOTIČKI NESTOR DIPL ING
+SUBOTIČKI RADOVAN
+SUBOTIČKI SAVA
+SUBOTIČKI SLOBODAN
+SUBOTIČKI SOFIJA
+SUBOTIČKI SVETISLAV
+SUBOTIČKI VASA
+SUBOTIČKI VERA
+SUBOTIČKI VLADIMIR
+SUBOTIČKI ZORAN
+SUBOTIĆ ŽARKO
+SUBOTIĆ ĐORĐE
+SUBOTIĆ ĐURO
+SUBOTIĆ ALEKSANDAR
+SUBOTIĆ BRANISLAV DR
+SUBOTIĆ DRAGUTIN
+SUBOTIĆ DUŠAN
+SUBOTIĆ DUŠAN
+SUBOTIĆ LJILJANA
+SUBOTIĆ LJUBICA
+SUBOTIĆ MACA
+SUBOTIĆ MARKO
+SUBOTIĆ MILIVOJ
+SUBOTIĆ MILOŠ
+SUBOTIĆ MILORAD
+SUBOTIĆ MIODRAG DIPL ING
+SUBOTIĆ NENAD
+SUBOTIĆ RADIVOJ
+SUBOTIĆ RADOŠ
+SUBOTIĆ RAJKO
+SUBOTIĆ RAJKO
+SUBOTIĆ RUŽA
+SUBOTIĆ RUŽA
+SUBOTIĆ SAVA
+SUBOTIĆ SLOBODAN
+SUBOTIĆ STANA
+SUBOTIĆ SVETOZAR
+SUBOTIĆ SVETOZAR
+SUBOTIĆ TOMISLAV
+SUBOTIĆ VERA
+SUBOTIĆ VLADANA
+SUBOTIN ŽIVKO
+SUBOTIN ŽIVKO
+SUBOTIN ĐORĐE
+SUBOTIN ĐORĐE
+SUBOTIN ĐURA
+SUBOTIN BOGDAN
+SUBOTIN BOGDAN
+SUBOTIN DANICA
+SUBOTIN DIMITRIJE
+SUBOTIN DRAGAN
+SUBOTIN DRAGINJA
+SUBOTIN DUŠANKA
+SUBOTIN IRINA
+SUBOTIN IVAN
+SUBOTIN JELENA
+SUBOTIN JELICA
+SUBOTIN LJILJANA
+SUBOTIN LJUBINKA
+SUBOTIN MARKO
+SUBOTIN MARKO
+SUBOTIN MARKO
+SUBOTIN MILAN
+SUBOTIN MILAN
+SUBOTIN MILAN
+SUBOTIN MILORAD
+SUBOTIN NEVENKA
+SUBOTIN PAVLE
+SUBOTIN PETAR
+SUBOTIN PREDRAG
+SUBOTIN RADOSLAV
+SUBOTIN RADOVAN
+SUBOTIN SAŠA
+SUBOTIN SAVA
+SUBOTIN SAVA
+SUBOTIN SAVA
+SUBOTIN SLOBODAN
+SUBOTIN SMILJA
+SUBOTIN STANKA
+SUBOTIN STEVAN
+SUBOTIN STEVAN
+SUBOTIN SVETOZAR
+SUBOTIN SVETOZAR
+SUBOTIN SVETOZAR
+SUBOTIN ZORA
+SUBU ĐORĐE
+SUDŽUKOVIĆ NIKOLA
+SUDŽUM BOŠKO
+SUDŽUM BOGDAN
+SUDŽUM ILIJA
+SUDAK VLADIMIR
+SUDAR DUŠAN
+SUDAR DUŠAN
+SUDAR GAJA
+SUDAR VOJIN
+SUDAREVIĆ BOŠKO
+SUDAROV BRATISLAV
+SUDARSKI DUŠAN
+SUDIMAC DRAGO
+SUDIMAC MILAN
+SUHANEK ADAM
+SUHANSKI STEVAN
+SUHOVSKI JANO
+SUIĆ BRANKO
+SUIĆ NENAD
+SUJER MIHAJLO
+SUJIĆ JELENA
+SUJIĆ MILAN
+SUJIĆ SOFIJA
+SUJIĆ VOJIN
+SUJIĆ ZDENKA
+SUKAČ MIHAJLO
+SUKNJAJA DANILO
+SUKNOVIĆ MIRKO
+SUKNOVIĆ RADIVOJE
+SUKNOVIĆ SLAVKO
+SUKOLA ANTAL
+SUKOLA SUZANA
+SUKUP MARGITA
+SULEJMANOV NAFIJA
+SULIĆ MARICA
+SULIĆ TOMISLAV
+SULJA RAMADAN
+SULJAGIĆ REFIK
+SULOCKI JOŠKA
+SULOMAR AGNEZA
+SULOMAR ERŽEBET
+SULOMAR ILONA
+SULOMAR JANOŠ
+SULOMAR MAGDA
+SUMAN MILE
+SUMAROV JELISAVETA
+SUMINA DANICA
+SUMINJA MIŠA
+SUNAJKO ĐURO
+SUNAJKO DUŠAN
+SUNDAĆ ĐURA
+SUNDAĆ TODOR
+SUNIĆ MIRJANA
+SUNKA LJUBICA
+SUNTOK ANICA
+SUNZER VLADIMIR
+SUPIĆ BORIŠA
+SUPIĆ DARINKA
+SUPIĆ MILAN
+SUPIĆ OLGA
+SURĆA JOSIP
+SURĆA TRAJAN
+SURA MARGITA
+SURDUČAN DIMITRIJE
+SURDUČKI ŽIVKO
+SURDUČKI DRAGAN
+SURDUČKI ILIJA
+SURDUČKI ILIJA
+SURDUČKI ISIDOR
+SURDUČKI MARA
+SURDUČKI MILAN
+SURDUČKI MILOŠ
+SURDUČKI MILOŠ
+SURDUČKI MIRJANA
+SURDUČKI NEBOJŠA
+SURDUČKI PANTELIJA
+SURDUČKI PERSA
+SURDUČKI SINIŠA
+SURDUČKI STANKA
+SURDUČKI STEVAN
+SURLA BOŽO
+SURLA DUŠAN
+SURLA LUKA
+SURLA PETAR
+SURLA PETAR
+SURLA SAVA
+SURLA ZORAN
+SURLIĆ MILENKO
+SUROVI ANTON
+SUROVI JOLANKA
+SUROVI MIHAL
+SUROVI MIROSLAV
+SUROVI STEVAN
+SUROVI VLADIMIR
+SUSEDSKI OSKAR
+SUTARIĆ VERA
+SUTRIN BORIS
+SUTUROVIĆ JAGA
+SUTUROVIĆ MARIJA
+SUTUROVIĆ NESTO
+SUTUROVIĆ ZVONIMIR
+SUVAČAR ILINKA
+SUVAČAR TODOR
+SUVAČAR VERA
+SUVAČAREV BORISLAVA
+SUVAČAREV JOVAN
+SUVAČAREV MARIJA
+SUVAČAREV MILENKO
+SUVAČAREV MOMIR
+SUVAČAREV OBRAD
+SUVAČAREV PAJA
+SUVAČAREV RADENKO
+SUVAJČEVIĆ SVETISLAV
+SUVAJAC ŽELJKO
+SUVAJAC VASILIJE
+SUVAJDŽIĆ ŽIVKO
+SUVAJDŽIĆ ĐORĐE
+SUVAJDŽIĆ ĐORĐE
+SUVAJDŽIĆ DIMITRIJE
+SUVAJDŽIĆ GOJKO
+SUVAJDŽIĆ ILIJA
+SUVAJDŽIĆ ISA
+SUVAJDŽIĆ JOVAN
+SUVAJDŽIĆ LJILJANA
+SUVAJDŽIĆ MARIJA
+SUVAJDŽIĆ MARINKO
+SUVAJDŽIĆ MILKA
+SUVAJDŽIĆ NENAD
+SUVAJDŽIĆ NENAD
+SUVAJDŽIĆ OBRAD
+SUVAJDŽIĆ OLGICA
+SUVAJDŽIĆ PETAR
+SUVAJDŽIĆ RADMILA
+SUVAJDŽIĆ VASA
+SUVAJDŽIĆ VASA
+SUVAJDŽIN JOVAN
+SUVAJDŽIN JOVAN
+SUVAJDŽIN MLADEN
+SUVAJDŽIN NIKOLA
+SUZIĆ MARA
+SUZIĆ MIRKO
+SUZIĆ NIKOLA
+SUZIĆ SOFIJA
+SVALINA KATA
+SVEĆNJAK BRANKO
+SVETIĆ IVAN DR
+SVETIĆ IVAN
+SVETIĆ LJERKA
+SVETLIK ADAM
+SVILAKOS MARIJA
+SVILAR ANĐELKA
+SVILAR BRANISLAV
+SVILAR GOJKO
+SVILAR LJUBOMIR
+SVILAR MIHAJLO
+SVILAR MIHAJLO
+SVILAR NIKOLA
+SVILAR PETAR
+SVILAR RADOMIR
+SVILAR RATKO
+SVILAR SLAVICA
+SVILAR SOFIJA
+SVILAR VERICA
+SVILAR VINKA
+SVILAREVIĆ STEVO
+SVILARKOVIĆ STANIMIR DIPL ING
+SVILAROV MILAN
+SVILOKOS BORISLAV
+SVILOKOS GAVRA
+SVILOKOS KATICA
+SVILOKOS MILAN
+SVILOKOS STEVAN
+SVINJAREVIĆ SLAVKO
+SVIRČEV ŽIVKO
+SVIRČEV JOVAN
+SVIRČEV MILIVOJ
+SVIRČEV MILOŠ
+SVIRČEV RADA
+SVIRČEVIĆ ALEKSANDAR DR DOCENT
+SVIRČEVIĆ ANA
+SVIRČEVIĆ BORISLAV
+SVIRČEVIĆ DRAGAN
+SVIRČEVIĆ DRAGA
+SVIRČEVIĆ DRENKA
+SVIRČEVIĆ JOVAN
+SVIRČEVIĆ JOVAN
+SVIRČEVIĆ LJUBOMIR
+SVIRČEVIĆ MILIVOJ
+SVIRČEVIĆ MILORAD
+SVIRČEVIĆ MIRJANA
+SVIRČEVIĆ PETAR
+SVIRČEVIĆ RADOVAN
+SVIRČEVIĆ SLAVKO
+SVIRČEVIĆ STEVAN
+SVIRČEVIĆ TEODORA
+SVIRČEVIĆ-TRAJKOVIĆ LJUBICA
+SVIRČEVIĆ VASA
+SVIRČEVIĆ VUKAN
+SVIRAC RUŽICA
+SVITIĆ BOŽO
+SVITLICA DRAGAN
+SVITLICA DUŠAN
+SVITLICA GOJKO DIPL OEC
+SVITLICA JELICA
+SVITLICA MILAN
+SVITLICA RUŽICA
+SVITLICA SIMO
+SVITLICA STANKO
+SVITLICA TANASIJE DIPL OEC
+SVITLICA VERA
+SVOBODA STEVAN
+SVORCAN BRANISLAV
+SVORCAN LJUBOMIR
+SVORCAN MILOŠ
+SVORCAN MILORAD
+SVORCAN MILORAD
+SVORCAN RADISLAV
+SVORCAN RADOMIR
+SVORCAN STEVAN
+SVORCAN STOJAN
+SVORCAN ZORICA
+SVRDLAN MLAĐAN
+SVRKOTA ŽIVKO
+SVRKOTA VUKOMAN
+SVRZIĆ GORDANA
+TAČI ISMAILJ
+TAČI TEOFIL
+TAŠ KAROLJ
+TAŠEVSKI MILKA
+TAŠEVSKI SOFIJA
+TAŠI LJUBICA
+TAŠI PETAR
+TAŠI ROZALIJA
+TAŠI STEVAN
+TAŠI ZOLTAN
+TAŠIĆ MILIVOJ
+TAŠIĆ VERA
+TAŠNADI MIHALJ
+TABŠ NADA
+TABŠ NOHADEDIN
+TABAČKI VLADIMIR
+TABAČKI ZORICA
+TABAK DRAGAN
+TABAK IVAN
+TABAK VASA
+TABAK VOJISLAV
+TABAKOV DRAGOMIR
+TABAKOV MILENKO
+TABAKOV MLADEN
+TABAKOVIĆ ĐORĐE DIPL ING
+TABAKOVIĆ DUŠAN
+TABAKOVIĆ ISMET
+TABAKOVIĆ MIRKO
+TABORI ĐORĐE DR LEKAR
+TACOVIĆ VERA
+TADIĆ ŽIVAN
+TADIĆ ĐORĐE
+TADIĆ ĐORĐE
+TADIĆ ALEKSANDAR
+TADIĆ ANA
+TADIĆ ARSENIJE
+TADIĆ BOSILJKA
+TADIĆ DANILO
+TADIĆ DRAGAN
+TADIĆ DRAGA
+TADIĆ DUŠAN
+TADIĆ DUŠAN
+TADIĆ DUŠAN
+TADIĆ EDITA
+TADIĆ GORAN
+TADIĆ ILIJA
+TADIĆ ILIJA
+TADIĆ IVAN
+TADIĆ JOVICA
+TADIĆ KRASIMIR
+TADIĆ LAZAR
+TADIĆ LAZAR
+TADIĆ MARIJA
+TADIĆ MARINKO
+TADIĆ MARINKO
+TADIĆ MIJO
+TADIĆ MILOŠ DIPL ING
+TADIĆ MILOŠ
+TADIĆ MILOJE
+TADIĆ MILOSAV
+TADIĆ MIRKO
+TADIĆ MIRKO
+TADIĆ MIRKO
+TADIĆ NADA
+TADIĆ NEVENKA
+TADIĆ OBREN
+TADIĆ PETAR
+TADIĆ RADOJE
+TADIĆ RATKO
+TADIĆ SAŠA
+TADIĆ SAVA
+TADIĆ SLOBODAN
+TADIĆ SOFIJA
+TADIĆ SPASOJE
+TADIĆ STOJAN
+TADIĆ TANKOSAVA
+TADIĆ UROŠ
+TADIĆ VESELIN
+TADIĆ ZORAN
+TADIĆ ZORA
+TADIĆ ZORKA
+TADIJANOVIĆ SILVESTER
+TADIJIN GLIŠA
+TADIJIN MILICA
+TADIJIN MILOŠ
+TADIJIN MILORAD
+TADIN DUŠANKA
+TADIN DUŠAN
+TADIN IVANKA
+TADIN MILOVAN
+TADIN ZLATOJE
+TAHIROVIĆ EVICA
+TAHIROVIĆ MARIJA
+TAHIROVIĆ MILADINKA
+TAIROVIĆ ALEKSANDAR
+TAJHMAN BELA
+TAJHMAN DESANKA
+TAJHMAN JOSIP
+TAJKOV ANĐELKA
+TAJKOV JOVAN
+TAJKOV MIRJANA
+TAJKOV RADOJKA
+TAJKOVIĆ MILICA
+TAJTI VERONIKA
+TAKAČ ŠANDOR
+TAKAČ ĐERĐI
+TAKAČ ĐORĐE
+TAKAČ ĐULA
+TAKAČ ĐURA
+TAKAČ ĐURA
+TAKAČ ANĐELKA
+TAKAČ ANDRIJA
+TAKAČ ANTAL
+TAKAČ ANTAL
+TAKAČ ANTUN
+TAKAČ ANTUN
+TAKAČ ARPAD
+TAKAČ ERNE
+TAKAČ EVGEN
+TAKAČ FERENC
+TAKAČ FRANJA
+TAKAČ IŠTVAN
+TAKAČ IŠTVAN
+TAKAČ JAKIM
+TAKAČ JANOŠ
+TAKAČ JANOŠ
+TAKAČ JANOŠ
+TAKAČ JOŽEF DIPL ING
+TAKAČ JOŽEF
+TAKAČ JOŽEF
+TAKAČ JOSIP
+TAKAČ KAROLJ
+TAKAČ KATICA
+TAKAČ KATICA
+TAKAČ LADISLAV
+TAKAČ LAJOŠ
+TAKAČ LASLO
+TAKAČ MAGDA
+TAKAČ MATA
+TAKAČ MIHAJLO
+TAKAČ MILAN
+TAKAČ MIRKO
+TAKAČ ROŽA
+TAKAČ SENA
+TAKAČ SOFIJA
+TAKAČ SOFIJA
+TAKAČ STEVAN
+TAKAČ TIBOR
+TAKAČ TIBOR
+TAKAČ VINKO
+TAKAČ VLADIMIR
+TAKAČ VLADIMIR
+TAKAČ ZOLTAN
+TAKAČI ARPAD DIPL OEC
+TAKAČI ARPAD DR
+TAKAČI GABOR
+TAKO ZVONIMIR
+TAKOVAC RADISAV
+TAKOVSKI BLAGOJE
+TAKOVSKI JOVANKA
+TALESKI LJUBICA
+TALESKI RISTA
+TALIĆ DRAGAN
+TALIĆ MITAR
+TALIJAN ROŽA
+TALO ŠANDOR
+TALO ŽIVKA
+TALO ALEKSANDAR
+TALO BRIGITA
+TALO FRANJA
+TALO JELENA
+TALO JELISAVETA
+TALO JOŽEF
+TALO JOSIP
+TALO JOVAN
+TALO TEREZA
+TALOŠI ĐORĐE
+TALOŠI IRENA
+TALOŠI KAROLJ
+TALOVIĆ BEHUDIN
+TALOVIĆ HAJRIJA
+TALOVIĆ SADIK
+TAMAŠ ĐERĐ
+TAMAŠ ĐURA
+TAMAŠ IRINEJ
+TAMAŠ-JOŠANOV ALEKSANDRA
+TAMAŠ LJUBOMIR
+TAMAŠ MARIJA
+TAMAŠ MIHAJLO
+TAMAŠ PAVLE
+TAMAŠ VLADIMIR
+TAMAŠ VLADIMIR
+TAMAŠI AGOŠTON
+TAMAŠI ALADAR
+TAMAŠI TIBOR
+TAMAŠKOVIĆ ZOLTAN
+TAMBURAŠEV VUKAŠIN
+TAMBURKOVSKI DRAGAN
+TAMINDŽIĆ ČEDOMIR
+TAMINDŽIĆ ANĐELKO
+TAMINDŽIĆ KOVINKA
+TAMINDŽIĆ RISTA
+TAMINDŽIJA DANILO
+TAMINDŽIJA MILORAD
+TAMINDŽIJA MIRKO
+TAMINDŽIJA VLADO
+TANČIK ŠANDOR
+TANČIK ALBERT
+TANČIK ALEKSANDAR
+TANČIK EMIL
+TANČIK IBOLJA
+TANČIK ROZA
+TANACKOV NOVAK
+TANACKOVIĆ ACO
+TANACKOVIĆ MIHAJLO
+TANASIĆ JOVAN
+TANASIĆ OLIVERA
+TANASIĆ PREDRAG
+TANASIĆ RUŽA
+TANASIĆ SPASOJE
+TANASIĆ VALERIJA
+TANASIĆ VALERIJA
+TANASIJEVIĆ ŽARKO
+TANASIJEVIĆ-FILIPOV IVANKA
+TANASIJEVIĆ MILAN
+TANASIJEVIĆ SINIŠA
+TANASIJIN LUKA
+TANASIJIN PETAR
+TANASIJIN VERA
+TANASIN DANISLAVA
+TANASIN JOVAN
+TANASIN LJUBICA
+TANASIN NESTOR
+TANASIN STEVAN
+TANASIN STEVAN
+TANASIN STEVAN
+TANASIN STEVAN
+TANASKOVIĆ DRAGAN
+TANASKOVIĆ DRAGOMIR
+TANASKOVIĆ GINA
+TANASKOVIĆ GORDANA
+TANASKOVIĆ GOSPAVA
+TANASKOVIĆ LAZAR
+TANASKOVIĆ MILE
+TANASKOVIĆ NOVAK
+TANASKOVIĆ STANISLAV
+TANASKOVIĆ VITKO
+TANASKOVIĆ VITOMIR
+TANASKOVIĆ VUKAN
+TANDI JULIJANA
+TANEV TRAJKO
+TANGL IVAN
+TANGL OLGA
+TANJEVIĆ DRAGOLJUB
+TANJEVIĆ LJUBOMIR
+TANJGA GORAN
+TANJGA LJUBOMIR
+TANJGA MARIJA
+TANJGA RAJKO
+TANJGA TANE
+TANKA IŠTVAN
+TANKOSIĆ BOGDAN
+TANKOSIĆ BOJANA
+TANKOSIĆ BRANKO
+TANKOSIĆ JOVAN
+TANKOSIĆ KUZMAN
+TANKOSIĆ MARKO
+TANKOSIĆ MIHAJLO
+TANKOSIĆ MILAN
+TANKOSIĆ MILENA
+TANKOSIĆ MILICA
+TANKOSIĆ MILICA
+TANKOSIĆ NIKOLA
+TANKOSIĆ RAZIJA
+TANKOSIĆ STEVAN
+TANKOVIĆ SALKO
+TANOVIĆ GAVRILO MR
+TANOVIĆ JOVO
+TANOVIĆ VLADIMIR
+TANTIĆ SLAVKO
+TANURDŽIĆ ŽIVOJIN
+TANURDŽIĆ ALEKSANDAR
+TANURDŽIĆ DARINKA
+TANURDŽIĆ GOJKO
+TANURDŽIĆ JOVAN
+TANURDŽIĆ MILICA
+TANURDŽIĆ MIRKO
+TANURDŽIĆ SRBOMIR
+TANURDŽIĆ STANISLAVA
+TANURDŽIĆ SVETOZAR
+TANURDŽIĆ ZORA
+TAPAI RUDOLF
+TAPAJ GABRIJEL
+TAPAJ STAMENKA
+TAPALAGA JON
+TAPALAGA TODOR
+TAPAVIČKI ČEDOMIR
+TAPAVIČKI BORIVOJ
+TAPAVIČKI FEODOR
+TAPAVIČKI MLADEN
+TAPAVIČKI RADOVAN
+TAPAVIČKI STEVAN
+TAPAVICA ČEDOMIR
+TAPAVICA ALEKSANDRA
+TAPAVICA ALEKSANDRA
+TAPAVICA BORKA
+TAPAVICA BRANKA
+TAPAVICA DOBRILA
+TAPAVICA JELICA
+TAPAVICA LJUBOMIR
+TAPAVICA MILORAD
+TAPAVICA MITA
+TAPAVICA RADOSLAVA
+TAPAVICA RAJKO
+TAPAVICA SIMA
+TAPAVICA STEVAN
+TAPAVICA TIHOMIR
+TAPAVICA VERICA
+TAPAVICA VERICA
+TARAKČIJA ĐORĐE
+TARAKČIJA-MILOVANOVIĆ RATKA
+TARANDŽA IVAN
+TARANDŽA IVAN
+TARASENKO BRATISLAV DR
+TARBUK MIRKO
+TARBUK NIKOLA
+TAREVSKI ĆAMIL
+TARGUŠ MATIJA
+TARI ILONA
+TARJAN DEŽE
+TARJAN GABOR
+TARJAN IMRE
+TARJAN KARLO
+TARJAN TIBOR
+TARKO JANOŠ
+TARLAĆ PERICA
+TARLE ILIJA
+TARLE IVAN
+TARNOCKI AMALIJA DR
+TARNOCKI PAL
+TASEV BLAŽO
+TASEVSKI ILO
+TASEVSKI JORDAN
+TASIĆ ŽAKLINA
+TASIĆ ŽIVOJIN
+TASIĆ ĐORĐE
+TASIĆ ANĐELIJA
+TASIĆ ANA
+TASIĆ BLAGOJE DIPL PRAVNIK
+TASIĆ BLAGOJE
+TASIĆ BOŽIDAR MR PH
+TASIĆ BORISLAV
+TASIĆ BORIVOJE
+TASIĆ BORIVOJE
+TASIĆ DESANKA
+TASIĆ DOBRIVOJ
+TASIĆ IVAN
+TASIĆ LJUBODRAG DIPL ING
+TASIĆ MILOŠ DR LEKAR
+TASIĆ MILOŠ DR
+TASIĆ MILOŠ DR
+TASIĆ MILOŠ
+TASIĆ MIROSLAV
+TASIĆ MIROSLAV
+TASIĆ NEVENKA
+TASIĆ RADE
+TASIĆ SINIŠA
+TASIĆ SLOBODAN
+TASIĆ TRIFUN
+TASIĆ UROŠ
+TASIĆ VERA
+TASIĆ VLADANKA
+TASIĆ ZORAN
+TASKOVIĆ DUŠAN
+TASKOVIĆ MIROSLAV
+TASKOVIĆ PERA
+TASOVAC DOBRILA
+TASOVAC MILORAD
+TATAI EMILIJA
+TATAI IVAN
+TATAI KAROLJ
+TATAI MARGIT
+TATAI TIBOR
+TATALOVIĆ ŽIVKO
+TATALOVIĆ BRANIMIR
+TATALOVIĆ DRAGAN
+TATALOVIĆ ILIJA
+TATALOVIĆ ILIJA
+TATALOVIĆ LAZO
+TATALOVIĆ MILAN
+TATALOVIĆ MILAN
+TATALOVIĆ PETAR
+TATALOVIĆ PETAR
+TATALOVIĆ PETAR
+TATAR DUŠAN
+TATAR DUŠAN
+TATAREVIĆ BLAŽA
+TATARIN RUŽICA
+TATARSKI DUŠAN
+TATARSKI MILORAD
+TATARSKI NADA
+TATARSKI SVETISLAV
+TATARSKI VLADETA
+TATIĆ ŽARKO
+TATIĆ ĐURĐINKA
+TATIĆ ALEKSANDAR
+TATIĆ ALEKSANDAR
+TATIĆ ANKICA
+TATIĆ BRANKO
+TATIĆ DANA
+TATIĆ DRAGAN
+TATIĆ DRAGOŠ
+TATIĆ DRAGOLJUB
+TATIĆ DRAGOMIR
+TATIĆ DUŠAN
+TATIĆ EMIL DR
+TATIĆ EVICA
+TATIĆ ILIJA
+TATIĆ ILIJA
+TATIĆ ILONKA
+TATIĆ JELENA
+TATIĆ JOVAN DIPL ING
+TATIĆ JOVAN
+TATIĆ LAZAR
+TATIĆ MARA
+TATIĆ MARIJA
+TATIĆ MARIJA
+TATIĆ MILAN
+TATIĆ MILAN
+TATIĆ MILIVOJ
+TATIĆ MILKA
+TATIĆ MILOŠ
+TATIĆ MILORAD
+TATIĆ MILOSAV
+TATIĆ MILUTIN DIPL ING
+TATIĆ NEDELJKO
+TATIĆ PAJA
+TATIĆ PERSIDA
+TATIĆ PETAR
+TATIĆ RADMILA
+TATIĆ RADOSLAV
+TATIĆ SLAVKO
+TATIĆ SLOBODAN
+TATIĆ SRBISLAV
+TATIĆ STEVAN
+TATIĆ TOMISLAV
+TATIĆ ZLATICA
+TATOMIR MARKO
+TATOMIROV JOVAN
+TATOMIROV MARIJA
+TATOMIROV MARIJA
+TATOMIROV RADIVOJ
+TATOMIROV ZORAN
+TATOMIROVIĆ BRANKA
+TAUŠAN MARKO
+TAUŠANOVIĆ ILIJA
+TAUŠANOVIĆ RADE
+TAUBNER KATICA
+TEŠANOV MILAN
+TEŠANOVIĆ ČEDO
+TEŠANOVIĆ ŽELJKO
+TEŠANOVIĆ ĐOKO
+TEŠANOVIĆ CVIJETA
+TEŠANOVIĆ DRAGAN
+TEŠANOVIĆ DRAGAN
+TEŠANOVIĆ DUŠAN
+TEŠANOVIĆ JELA
+TEŠANOVIĆ LAZAR
+TEŠANOVIĆ NENAD
+TEŠANOVIĆ NEVENKA
+TEŠANOVIĆ PETAR
+TEŠANOVIĆ RAŠKO
+TEŠANOVIĆ RAJKO
+TEŠANOVIĆ TOMA
+TEŠANOVIĆ VOJA
+TEŠANOVIĆ ZORAN
+TEŠENJI EDUARD
+TEŠIĆ ĐORĐE
+TEŠIĆ ALEKSANDAR
+TEŠIĆ DARINKA
+TEŠIĆ DRAGAN
+TEŠIĆ DUŠAN
+TEŠIĆ ERŽEBET
+TEŠIĆ GRADIMIR
+TEŠIĆ ILIJA
+TEŠIĆ JULIJANA
+TEŠIĆ LJUBOMIR
+TEŠIĆ LUKA
+TEŠIĆ MARIJA
+TEŠIĆ MILENKO
+TEŠIĆ MILE
+TEŠIĆ MILE
+TEŠIĆ MILICA
+TEŠIĆ MILORAD
+TEŠIĆ MIRKO
+TEŠIĆ PERSA
+TEŠIĆ RADISLAV
+TEŠIĆ SLAVKA
+TEŠIĆ SLAVOLJUB DIPL ING
+TEŠIĆ SOFIJA
+TEŠIĆ STANISLAVA
+TEŠIĆ STEVAN DR
+TEŠIĆ SVETLANA
+TEŠIĆ ZDRAVKO
+TEŠIN JASMINKA
+TEŠIN LJUBINKA
+TEŠIN MILOŠ
+TEŠIN STEVKA
+TEŠIN VESNA
+TEŠOVIĆ DRAGICA
+TEŠOVIĆ LJUBO
+TEŠOVIĆ MILENKO
+TEŠOVIĆ MILOMIR
+TEŠOVIĆ MILORAD
+TEŠOVIĆ VASILIJE
+TEŽLA ANDRIJA
+TEDIĆ ŽIVKO
+TEDIĆ BRANISLAV
+TEDIĆ MILOVAN
+TEDIĆ NEVENKA
+TEGELTIJA BOGDAN
+TEGELTIJA DUŠAN
+TEGELTIJA DUŠAN
+TEGELTIJA ILONKA
+TEGELTIJA MAGDALENA
+TEGELTIJA MILAN
+TEGELTIJA MITRA
+TEGELTIJA STANKO
+TEGELTIJA VLAJKO
+TEGLAŠ ANA
+TEGLAŠ LIDIJA
+TEGLAŠ NADA
+TEGLAŠI IŠTVAN
+TEGLAŠI JOŽEF
+TEJIĆ BRANKO
+TEJIĆ-KOVAČ MARIJA
+TEJIĆ LAZAR
+TEJIĆ MILIJA
+TEKIĆ BORO
+TEKIĆ MILAN
+TEKIĆ MILKA
+TEKIĆ MIODRAG
+TEKIĆ MIRKO
+TEKIĆ SLAVICA
+TEKIĆ SLAVKO
+TEL FERENC
+TEL JANOŠ
+TEL JELISAVETA
+TEL JENE
+TEL PETAR
+TEL VILMOŠ
+TELAROV ANKA
+TELAROV JOVAN
+TELAROV MILOŠ
+TELAROV NADA
+TELAROV PERA
+TELAROV SIMA
+TELAROV SINIŠA
+TELAROV SINIŠA
+TELAROV SMILJANA
+TELAROV VOJIN
+TELAROV ZORA
+TELAROVIĆ BORIS
+TELAROVIĆ DIMITRIJE
+TELAROVIĆ IVANA
+TELAROVIĆ IVAN
+TELAROVIĆ RATOMIR
+TELAROVIĆ SLOBODAN
+TELAROVIĆ STEVAN
+TELAROVIĆ STJEPAN
+TELEKI ŠANDOR
+TELEKI ERIKA
+TELEKI STEVAN
+TELEKI VERA
+TEMERINAC DARA
+TEMERINAC MILEVA
+TEMERINAC MIODRAG
+TEMERINSKI JELICA
+TEMERINSKI JOVAN
+TEMERINSKI NADA
+TEMUNOVIĆ MARIJA
+TENCE ALBIN
+TENJI ĐORĐE
+TENJI JOSIP
+TENJI JOSIP
+TENJI JOSIP
+TENJI KSENIJA
+TENJI MARIJA
+TENJOVIĆ DOBRIVOJE
+TENJOVIĆ MILOŠ
+TENJOVIĆ RADIVOJE
+TEODOROVIĆ ANDREJA
+TEODOROVIĆ DOBRILA
+TEODOROVIĆ DUŠAN
+TEODOROVIĆ JOVAN
+TEODOROVIĆ JOVAN
+TEODOROVIĆ LJUBO
+TEODOROVIĆ MARA
+TEODOROVIĆ MILAN
+TEODOROVIĆ NADA
+TEODOROVIĆ PAJA
+TEODOROVIĆ PERA
+TEODOROVIĆ PERA
+TEODOROVIĆ RATIMIR
+TEODOROVIĆ SAVA
+TEODOROVIĆ SIMA
+TEODOROVIĆ SLOBODAN
+TEODOROVIĆ VITOMIR
+TEODOROVIĆ VLADISLAV DIPL ING
+TEODOROVIĆ VLADISLAVA
+TEODOSIĆ MIRJANA
+TEODOSIJEVIĆ BRANISLAV
+TEODOSIJEVIĆ MILICA
+TEODOSIJEVIĆ ZORAN
+TEOFANOV ĐURĐICA
+TEOFANOV BOŠKO
+TEOFANOV DOBRINKA
+TEOFANOV DUŠAN
+TEOFANOV DUŠKO
+TEOFANOV MARINKO
+TEOFANOV MILAN
+TEOFANOV MILIVOJ
+TEOFANOV MILOŠ
+TEOFANOV MILOŠ
+TEOFANOV OLIVERA
+TEOFANOV ZORA
+TEOFANOVIĆ ŠTEFANIJA
+TEOFANOVIĆ ALEKSANDAR
+TEOFANOVIĆ ALEKSANDAR
+TEOFANOVIĆ ANA
+TEOFANOVIĆ ARANĐEL
+TEOFANOVIĆ BOGDAN
+TEOFANOVIĆ BOGDAN
+TEOFANOVIĆ DANILO
+TEOFANOVIĆ DONKA
+TEOFANOVIĆ DUŠAN
+TEOFANOVIĆ MARKO DR VETERINE
+TEOFANOVIĆ MILEVA
+TEOFANOVIĆ MILICA
+TEOFANOVIĆ TADIJA
+TEOFILOVIĆ ĐURĐICA
+TEOFILOVIĆ ALEKSANDAR
+TEOFILOVIĆ BRANKA
+TEOFILOVIĆ GORAN
+TEOFILOVIĆ MOMČILO
+TEOFILOVIĆ SAVO
+TEOVANOVIĆ NEVENKA
+TEPŠA NEBOJŠA
+TEPŠA SINIŠA
+TEPŠIĆ JOVICA
+TEPŠIĆ MIODRAG
+TEPŠIĆ RADE
+TEPAČEVIĆ ANDREJA
+TEPAVČEVIĆ ŽANKA
+TEPAVČEVIĆ BOŽIDAR
+TEPAVČEVIĆ GOJKO
+TEPAVČEVIĆ MILOVAN
+TEPAVČEVIĆ PETAR DR
+TEPAVČEVIĆ RATKO
+TEPAVČEVIĆ STRAHINJA
+TEPIĆ FRANCIKA
+TEPIĆ GORAN
+TEPIĆ JOVAN
+TEPIĆ MILAN
+TEPIĆ MILOŠ
+TEPIĆ MILOVAN
+TEPIĆ NEDELJKO
+TEPIĆ OBRENKO
+TEPIĆ RADOVAN
+TEPIĆ RAJKO
+TEPIĆ SNEŽANA
+TEPIĆ VIDA
+TEPIĆ ZORAN
+TEREČEK ANĐELKA
+TEREČIĆ LAJOŠ
+TEREČIK PAL
+TERECKI IŠTVAN
+TEREK ĐULA
+TEREK ANDRIJA
+TEREK FERENC
+TEREK IŠTVAN
+TEREK IMRE DIPL ING
+TEREK IRENA
+TEREK JANOŠ
+TEREK KATALIN
+TEREK LASLO
+TEREK LJUDEVIT DR ING
+TEREK OLGA
+TEREK TIBOR
+TEREZIJA BOSILJKA
+TERHEŠ ŠANDOR
+TERJEK ALEKSANDAR
+TERJEK-KOVAČ KARLO
+TERJEK MIHAJLO
+TERJEK VIKTORIJA
+TERKELJ ANA
+TERLJUK IVAN
+TERNOVAC IŠTVAN
+TERZIĆ ŽIVKO
+TERZIĆ ĐORĐE
+TERZIĆ ĐURO
+TERZIĆ BELA
+TERZIĆ BISERKA
+TERZIĆ BOGOLJUB
+TERZIĆ BRANKA
+TERZIĆ DRAGAN
+TERZIĆ DRAGOMIR
+TERZIĆ DUŠAN
+TERZIĆ DUŠAN
+TERZIĆ FRANCA
+TERZIĆ JEVREM
+TERZIĆ JOVAN
+TERZIĆ MILAN
+TERZIĆ MILAN
+TERZIĆ MILENA
+TERZIĆ MILENKO
+TERZIĆ MILICA
+TERZIĆ MIODRAG
+TERZIĆ MIODRAG
+TERZIĆ NIKOLA
+TERZIĆ NJEGOSAVA
+TERZIĆ PAVLE
+TERZIĆ PERKA
+TERZIĆ PETAR DR
+TERZIĆ PETAR
+TERZIĆ PETAR
+TERZIĆ RELJA
+TERZIĆ SAVA
+TERZIĆ SLAVKO
+TERZIĆ SLAVKO
+TERZIĆ SLAVNA
+TERZIĆ SLOBODAN
+TERZIĆ SRBISLAV
+TERZIĆ STANKA
+TERZIĆ TEODOR
+TERZIĆ TEREZA
+TERZIĆ TRIFUN
+TERZIĆ VERA
+TERZIĆ VLADAN
+TERZIĆ VOJISLAV
+TERZIJA MITAR
+TERZIN BRANISLAV
+TERZIN BRANKO
+TERZIN DRAGOSLAV
+TERZIN DUŠAN
+TERZIN JOVANKA
+TERZIN JOVANKA
+TERZIN LJUBICA
+TERZIN MILAN
+TERZIN MILINA
+TERZIN MIRJANA
+TERZIN MIROSLAVA
+TERZIN MIROSLAVA
+TERZIN MITA
+TERZIN NEVENKA
+TERZIN RADIVOJ
+TERZIN RADMILA
+TERZIN RISTA
+TERZIN SLOBODAN
+TERZIN STANKO
+TERZIN TOŠA
+TERZIN VASA
+TERZIN VELIMIR
+TERZIN VELJKO
+TERZIN VERICA
+TERZIN VESELIN
+TERZIN VOJISLAV
+TESLA ŠPIRO
+TESLA BRANKO
+TESLA DRAGAN
+TESLA MIRA
+TESLIĆ ĐORĐE
+TESLIĆ MAKSIM
+TESLIĆ MARKO
+TESLIĆ VLADIMIR
+TESTIN MARIJA
+TIŠANOVIĆ MILIVOJ
+TIŠIĆ MILENA
+TIŠMA ČEDOMIR
+TIŠMA ŽELJKO
+TIŠMA ĐURICA
+TIŠMA ANDREJ
+TIŠMA BRANKO
+TIŠMA DUŠAN
+TIŠMA DUŠAN
+TIŠMA ILIJA
+TIŠMA JOVAN
+TIŠMA LAZAR
+TIŠMA LJILJANA
+TIŠMA MARIJA
+TIŠMA MARTA
+TIŠMA-MILOŠEVSKI NATAŠA
+TIŠMA MILOŠ
+TIŠMA MIRKO
+TIŠMA MOMIR
+TIŠMA NIKOLA
+TIŠMA SINIŠA
+TIŠMA SMILJA
+TIŠMA STEVAN
+TIŠMA SVETOZAR
+TIŠMA VOJINKA
+TIŠMA VOJIN
+TIŠMA ZORAN
+TIBAI IŠTVAN
+TIC ANAMARIJA
+TICA BOŽO
+TICA CVETA
+TICA DMITAR
+TICA DRAGAN
+TICA JOVAN
+TICA MILOŠ
+TICA NEDELJKO
+TIGANJ ANTE
+TIHI JOSIP
+TIHOMIROVIĆ MILAN
+TIHOMIROVIĆ VELJKO
+TIHVINSKI VLADAN
+TIHVINSKI VLADIMIR DIPL ING
+TIJANIĆ MILOŠ
+TIJANIĆ SMILJA
+TIJANIĆ ZORAN
+TIKVEŠA NAILA
+TIKVIĆ BOŠKO
+TIKVIĆ MIROSLAV
+TIKVICKI HRVOJE
+TIKVICKI MARIJANA
+TIL EDVIN DR
+TIMARAC BRANKO
+TIMARAC STOJAN
+TIMAROV ĐORĐE
+TIMAROV STEVAN
+TIMAROV VASA
+TIMAROV VERA
+TIMILIĆ DIMITRIJE
+TIMKO IRINEJ
+TIMKO LJUBOV
+TIMKO MELANIJA
+TIMKO NESTOR
+TIMKO VERA
+TIMKO VLADIMIR
+TIMOTIĆ ĐORĐE
+TIMOTIĆ STANA
+TIMOTIĆ UROŠ
+TIMOTIJEVIĆ ANICA
+TIMOTIJEVIĆ BOŽIDAR
+TIMOTIJEVIĆ DIMITRIJE
+TIMOTIJEVIĆ JEVREM
+TIMOTIJEVIĆ-KOPRIVICA MAJA
+TIMOTIJEVIĆ MIROSLAV
+TIMOTIJEVIĆ OLGA
+TIMOTIJEVIĆ PLEMENKA
+TIMOTIJEVIĆ RADOSLAV
+TINKOVIĆ TOMISLAV
+TINTER HEDVIGA
+TINTOR ĐURA
+TINTOR DUŠAN
+TINTOR MARKO
+TINTOR MILKA
+TINTOR MIODRAG
+TINTOR MIRA
+TINTOR-RADOMIR STOJA
+TINTOR STEVAN
+TINUS BERNADETA
+TINUS MARTA
+TIODOROVIĆ LJILJANA
+TIODOROVIĆ RADOVAN
+TIPŠIN BORISLAV
+TIPURA JOSIP
+TIPURA JOSIP
+TIPURA LADISLAV
+TIPURA LASLO
+TIR IŠTVAN
+TIR MILKA
+TIR PETAR
+TIRI ANTAL
+TIRINDA ĐURA
+TIRINGER ELZA
+TIRKAJLA ANA
+TIRKAJLA SLAVOMIR
+TIRNANIĆ BISERKA
+TISINOVIĆ JELISAVETA
+TISTA ERŽEBET
+TISTA JANOŠ
+TITELAC ĐORĐE
+TITELAC ĐORĐE
+TITELAC JELENA
+TITELAC JOVAN
+TITELAC MILINKA
+TITELAC NADA
+TITELAC STEVAN
+TITELAC ZORICA
+TITOV ALEKSANDAR
+TITOV ANA
+TITOV ANICA
+TITOV EVGENIJE
+TITOV PAVLE
+TITOV TOMISLAV
+TKALČEC JOVAN
+TKALEC PAVAO
+TOŠIĆ ŽARKO
+TOŠIĆ BORISLAVA
+TOŠIĆ BORISLAV
+TOŠIĆ BRATISLAV
+TOŠIĆ BRATISLAV
+TOŠIĆ DANICA
+TOŠIĆ DRAGAN
+TOŠIĆ DRAGAN
+TOŠIĆ DUŠAN
+TOŠIĆ DUŠAN
+TOŠIĆ DUŠAN
+TOŠIĆ ERŽEBET
+TOŠIĆ EVICA
+TOŠIĆ GOJKO
+TOŠIĆ JELA
+TOŠIĆ JOVAN
+TOŠIĆ JOVICA
+TOŠIĆ KRSTAN
+TOŠIĆ KRSTOMIR
+TOŠIĆ LJUBICA
+TOŠIĆ LJUBINKO
+TOŠIĆ MIHAJLO
+TOŠIĆ MILAN
+TOŠIĆ MILAN
+TOŠIĆ MILAN
+TOŠIĆ MILEVA
+TOŠIĆ MILE
+TOŠIĆ MILOŠ
+TOŠIĆ MILORAD
+TOŠIĆ MILUTIN
+TOŠIĆ MIODRAG
+TOŠIĆ MIRKO
+TOŠIĆ MITAR
+TOŠIĆ NEDELJKO
+TOŠIĆ NEVENKA
+TOŠIĆ NIKOLA
+TOŠIĆ NIKO
+TOŠIĆ NOVAK
+TOŠIĆ OBRAD
+TOŠIĆ OSTOJA
+TOŠIĆ PERO
+TOŠIĆ PETAR
+TOŠIĆ RADE
+TOŠIĆ RADOMIR
+TOŠIĆ RADOMIR
+TOŠIĆ RATKO
+TOŠIĆ SAVA
+TOŠIĆ SLAVKA
+TOŠIĆ SOFIJA
+TOŠIĆ STANIMIR
+TOŠIĆ STEVAN
+TOŠIĆ STEVAN
+TOŠIĆ SVETISLAV
+TOŠIĆ SVETLANA
+TOŠIĆ VELIBOR
+TOŠIĆ VERA
+TOŠIĆ VID
+TOŠIĆ VLADO
+TOŠIĆ VLASTIMIR
+TOŠIĆ VOJIN
+TOŠINOVIĆ LUKA
+TOŠKOV HRANISLAV
+TOŠKOV PERA
+TOŠKOVIĆ VUČETA
+TOŠKOVIĆ VUČIĆ
+TOŠKOVIĆ ZDRAVKO
+TOŠOVIĆ MILANKA
+TOŠOVIĆ MILOJE
+TOĐER KOSTA
+TOBDŽIĆ-BRAŠANAC MIROSLAVA
+TOBDŽIĆ KATARINA
+TOBDŽIĆ MILENKO
+TOBDŽIĆ STEVAN
+TOBI MARIJA
+TOBI MIROSLAV
+TOBIAŠ VILMOŠ
+TOBOLKA ANA
+TOBOLKA DANIEL
+TOBOLKA ERIKA
+TOBOLKA IŠTVAN
+TOBOLKA ILONA
+TODIĆ BOGDAN
+TODIĆ BORISLAV
+TODIĆ BORISLAV
+TODIĆ BRANISLAV
+TODIĆ DANIJELA
+TODIĆ GOJKO DIPL ING
+TODIĆ MARIJANA
+TODIĆ MILANKO
+TODIĆ MILAN
+TODIĆ MILE
+TODIĆ MILOŠ DIPL ING
+TODIĆ MILOŠ
+TODIĆ MIROSLAV
+TODIĆ NEĐO
+TODIĆ RADIVOJ
+TODIĆ RAJKO
+TODIĆ RATOMIR
+TODIĆ STANISAVA
+TODIĆ STANKO
+TODIĆ TOMISLAV
+TODIĆ VELIMIR
+TODIĆ VLADO
+TODOŠKOVIĆ BOGDAN
+TODOŠKOVIĆ NADA
+TODOŠKOVIĆ NEMANJA
+TODORČEVIĆ DRAGUTIN
+TODORČEVIĆ OSTOJA
+TODORČEVIĆ PERO
+TODORČEVIĆ SVETLANA
+TODORČEVIĆ VASILIJE
+TODORČEVIĆ VASO
+TODORČEVIĆ VOJIN
+TODORAN TRAJAN
+TODORIĆ ČEDOMIR
+TODORIĆ BRANKO
+TODORIĆ DRAGAN
+TODORIĆ GOJKO
+TODORIĆ ILIJA
+TODORIĆ JELENA
+TODORIĆ JOVANKA
+TODORIĆ JOVAN
+TODORIĆ LJUBA
+TODORIĆ LJUBIVOJE
+TODORIĆ MARIJA
+TODORIĆ MILOŠ
+TODORIĆ MILOŠ
+TODORIĆ NEDELJKO
+TODORIĆ NIKOLA
+TODORIĆ NIKO
+TODORIĆ RADMILA
+TODORIĆ SELIMIR
+TODORIĆ TRIVUNA
+TODOROV ĐURA
+TODOROV ALEKSANDAR
+TODOROV BISERKA
+TODOROV DESANKA
+TODOROV GLIŠA
+TODOROV IVAN
+TODOROV-JAŠAREVIĆ DANICA
+TODOROV MILIVOJ
+TODOROV MILOŠ
+TODOROV NEDELJKO
+TODOROV OBRENKA
+TODOROV RADOVAN
+TODOROV ROBERT
+TODOROV SAVA
+TODOROV SLOBODAN
+TODOROV SPIRO DR
+TODOROV TOMISLAV
+TODOROVIĆ ČEDO
+TODOROVIĆ ŽARKO
+TODOROVIĆ ŽARKO
+TODOROVIĆ ŽIVOJIN
+TODOROVIĆ ŽIVOTA
+TODOROVIĆ ŽIVOTA
+TODOROVIĆ ALEKSANDAR
+TODOROVIĆ ALEKSANDAR
+TODOROVIĆ ALEKSANDAR
+TODOROVIĆ ANĐELKO
+TODOROVIĆ ANA
+TODOROVIĆ ANKA
+TODOROVIĆ ANTUN
+TODOROVIĆ BOŠKO
+TODOROVIĆ BOŠKO
+TODOROVIĆ BOGDAN
+TODOROVIĆ BORISLAV
+TODOROVIĆ BORIVOJE
+TODOROVIĆ BOSA
+TODOROVIĆ BRANISLAV
+TODOROVIĆ BRANKO
+TODOROVIĆ BRANKO
+TODOROVIĆ BRANKO
+TODOROVIĆ BRANKO
+TODOROVIĆ CVETKO
+TODOROVIĆ CVIJETIN
+TODOROVIĆ CVIJO
+TODOROVIĆ DANICA
+TODOROVIĆ DANILO
+TODOROVIĆ DIMITRIJE
+TODOROVIĆ DOBROSAV
+TODOROVIĆ DOBROSAV
+TODOROVIĆ DRAGAN
+TODOROVIĆ DRAGAN
+TODOROVIĆ DRAGAN
+TODOROVIĆ DRAGAN
+TODOROVIĆ DRAGICA
+TODOROVIĆ DRAGOLJUB
+TODOROVIĆ DRAGOLJUB
+TODOROVIĆ DRAGOSLAV
+TODOROVIĆ DRAGOSLAV
+TODOROVIĆ DUŠAN
+TODOROVIĆ DUŠAN
+TODOROVIĆ DUŠAN
+TODOROVIĆ DUŠAN
+TODOROVIĆ DUŠKO
+TODOROVIĆ GOJKO
+TODOROVIĆ GOJKO
+TODOROVIĆ GRADIMIR
+TODOROVIĆ ILE
+TODOROVIĆ JASNA
+TODOROVIĆ JELENA
+TODOROVIĆ JELICA
+TODOROVIĆ JELICA
+TODOROVIĆ JOKA
+TODOROVIĆ JOVANKA
+TODOROVIĆ JOVICA
+TODOROVIĆ JULIJANA
+TODOROVIĆ KOVINKA
+TODOROVIĆ LAZAR
+TODOROVIĆ LENKA
+TODOROVIĆ LJUBICA
+TODOROVIĆ LJUBICA
+TODOROVIĆ LJUBINKA
+TODOROVIĆ LJUBOMIR
+TODOROVIĆ MARA
+TODOROVIĆ MARGITA
+TODOROVIĆ MARIJA
+TODOROVIĆ MARKO
+TODOROVIĆ MARKO
+TODOROVIĆ MARKO
+TODOROVIĆ MIŠO
+TODOROVIĆ MIĆA
+TODOROVIĆ MIĆO
+TODOROVIĆ MIHAJLO
+TODOROVIĆ MILAN
+TODOROVIĆ MILAN
+TODOROVIĆ MILAN
+TODOROVIĆ MILAN
+TODOROVIĆ MILAN
+TODOROVIĆ MILAN
+TODOROVIĆ MILAN
+TODOROVIĆ MILAN
+TODOROVIĆ MILENKO
+TODOROVIĆ MILE
+TODOROVIĆ MILICA
+TODOROVIĆ MILKA
+TODOROVIĆ MILOŠ
+TODOROVIĆ MILORAD
+TODOROVIĆ MILOVAN
+TODOROVIĆ MIRKO DIPL ING
+TODOROVIĆ MIRKO DR LEKAR
+TODOROVIĆ MIRKO
+TODOROVIĆ MIRKO
+TODOROVIĆ MIRKO
+TODOROVIĆ MIRKO
+TODOROVIĆ MIROSLAVA
+TODOROVIĆ MIROSLAV
+TODOROVIĆ MLADEN DR
+TODOROVIĆ MLADEN
+TODOROVIĆ MLADOMIR
+TODOROVIĆ MOMČILO
+TODOROVIĆ MOMČILO
+TODOROVIĆ MOMIRKA
+TODOROVIĆ NADA
+TODOROVIĆ NADA
+TODOROVIĆ NIĆIFOR
+TODOROVIĆ NIKOLA
+TODOROVIĆ NIKOLA
+TODOROVIĆ OLGICA
+TODOROVIĆ OSTOJA
+TODOROVIĆ PETAR
+TODOROVIĆ PETAR
+TODOROVIĆ RAŠKO
+TODOROVIĆ RADA
+TODOROVIĆ RADIŠA
+TODOROVIĆ RADIVOJ ADVOKAT
+TODOROVIĆ RADIVOJE
+TODOROVIĆ RADIVOJ
+TODOROVIĆ RADMILA
+TODOROVIĆ RADOJKA
+TODOROVIĆ RADOSLAV
+TODOROVIĆ RAJKO
+TODOROVIĆ RANKO
+TODOROVIĆ RATKO
+TODOROVIĆ ROSA
+TODOROVIĆ SAŠA
+TODOROVIĆ SAVA
+TODOROVIĆ SAVA
+TODOROVIĆ SAVO
+TODOROVIĆ SAVO
+TODOROVIĆ SENKA
+TODOROVIĆ SIMA
+TODOROVIĆ SINIŠA
+TODOROVIĆ SLAVE
+TODOROVIĆ SLOBODAN
+TODOROVIĆ SLOBODAN
+TODOROVIĆ SMILJKA
+TODOROVIĆ SNEŽANA
+TODOROVIĆ SOFIJA
+TODOROVIĆ SREDOJE
+TODOROVIĆ SRETEN
+TODOROVIĆ STANIMIR
+TODOROVIĆ STANISLAV
+TODOROVIĆ STANKO
+TODOROVIĆ STEVAN
+TODOROVIĆ STEVAN
+TODOROVIĆ STEVA
+TODOROVIĆ TODE
+TODOROVIĆ TODE
+TODOROVIĆ TOMISLAV
+TODOROVIĆ TOMISLAV
+TODOROVIĆ VERA
+TODOROVIĆ VERA
+TODOROVIĆ VERA
+TODOROVIĆ VLADETA
+TODOROVIĆ VLADIMIR
+TODOROVIĆ VLADIMIR
+TODOROVIĆ VLADISLAV
+TODOROVIĆ VUKAŠIN
+TODOROVIĆ ZORAN
+TODOROVIĆ ZORAN
+TODOROVIĆ ZORAN
+TODOROVIĆ ZORA
+TODOROVIĆ ZORKA
+TODOROVSKI MANASIJE
+TODOROVSKI MIROSLAV
+TODOROVSKI NADA
+TODOSIJEVIĆ ĐORĐE
+TODOSIJEVIĆ DRAGOLJUB
+TODOSIJEVIĆ MILAN
+TODOSIJEVIĆ ZLATKO DIPL PRAVNIK
+TOFIL SOFIJA
+TOHOLJ JOVO
+TOHOLJEVIĆ BOŠKO
+TOHOLJEVIĆ ZDRAVKO
+TOJAGA MILAN
+TOJAGA MILOŠ
+TOJAGA SVETOZAR
+TOJAGIĆ ĐORĐE
+TOJAGIĆ BOŽIDAR
+TOJAGIĆ DANE
+TOJAGIĆ DANILO
+TOJAGIĆ DUŠAN
+TOJAGIĆ JELA
+TOJAGIĆ LUDMILA
+TOJAGIĆ MIRJANA
+TOJAGIĆ NIKOLA
+TOJAGIĆ NIKOLA
+TOJAGIĆ RADOVAN
+TOJAGIĆ SLOBODAN
+TOJZAN ILONA
+TOKAR JULIJA
+TOKIĆ KOSARA
+TOKIĆ MIHAJLO
+TOKIĆ MILAN
+TOKIĆ SAVA
+TOKIĆ SAVA
+TOKIĆ SAVA
+TOKIN-ĐERIĆ ZAGORKA
+TOKIN ĐORĐE
+TOKIN ALISA
+TOKIN BORA
+TOKIN DANICA
+TOKIN PROKOP DR LEKAR
+TOKIN SLOBODAN
+TOKIN VERA
+TOKIN VLADA
+TOKODI JANOŠ
+TOKODI JOLANKA
+TOKODI MARGITA
+TOKOVIĆ JELICA
+TOL ANDRAŠ
+TOL JOŽEF
+TOLDI EVA
+TOLDI VILMOŠ
+TOLIĆ MILOŠ
+TOLIĆ VESNA
+TOLICKI ZORA
+TOLIMIR UROŠ
+TOLJAGA VUKOSAVA
+TOLJEVIĆ BRANKO
+TOLJEVIĆ DOBRISLAV
+TOLJEVIĆ DRAGICA
+TOLJIĆ RAJKO
+TOLMAČ ZORAN
+TOLMAČEV ŽIVA
+TOLMAČEV MIROSLAV
+TOLNAI OTO
+TOLNAI RUŽA
+TOLT JOŽEF
+TOLT JOSIP
+TOLVAJ AGNEŠ
+TOLVAJ ELEONORA
+TOLVET OSKAR
+TOMČANJI IVAN
+TOMČANJI MIROSLAVA
+TOMČANJI STANISLAVA
+TOMČEVA NEVENKA DR
+TOMČEVSKI CVETAN
+TOMČIĆ ČEDOMIR
+TOMČOV TOMČO
+TOMČOVA ANETA DR
+TOMČOVA ANITA DR
+TOMŠIĆ LADISLAV
+TOMA ŠANDOR
+TOMA ANDRIJA
+TOMA JANOŠ
+TOMA JANOŠ
+TOMA JANOŠ
+TOMA JULIJANA
+TOMA LADISLAV
+TOMA MARIJA
+TOMA MIHAJLO
+TOMA OLGA
+TOMA PAL
+TOMA ROZALIJA
+TOMA STEVAN
+TOMAŠ ĐURA
+TOMAŠ JANKO
+TOMAŠ JOVAN
+TOMAŠ MILORAD
+TOMAŠ MILOVAN
+TOMAŠ STOJANKA
+TOMAŠEV BOŽIDAR
+TOMAŠEV KOVINKA
+TOMAŠEV MATIJA
+TOMAŠEV MATIJA
+TOMAŠEV PETAR
+TOMAŠEV VERA
+TOMAŠEVIĆ BLAGOTA
+TOMAŠEVIĆ BOŽIDAR
+TOMAŠEVIĆ BORISLAV
+TOMAŠEVIĆ DRAGANA
+TOMAŠEVIĆ EVICA
+TOMAŠEVIĆ IVAN
+TOMAŠEVIĆ JELICA
+TOMAŠEVIĆ JOVAN
+TOMAŠEVIĆ KOSTA
+TOMAŠEVIĆ LJUBIŠA
+TOMAŠEVIĆ LJUBICA
+TOMAŠEVIĆ LUKA
+TOMAŠEVIĆ MANOJLE
+TOMAŠEVIĆ MILENKO
+TOMAŠEVIĆ MILIVOJ
+TOMAŠEVIĆ MILKA
+TOMAŠEVIĆ MILORAD
+TOMAŠEVIĆ MIODRAG
+TOMAŠEVIĆ MIODRAG
+TOMAŠEVIĆ NADA
+TOMAŠEVIĆ NADEŽDA
+TOMAŠEVIĆ RADIVOJ
+TOMAŠEVIĆ RADOJKA
+TOMAŠEVIĆ RADOJKA
+TOMAŠEVIĆ SAVO
+TOMAŠEVIĆ SLOBODAN
+TOMAŠEVIĆ SVETOMIR
+TOMAŠEVIĆ VLADIMIR
+TOMAŠEVIĆ VOJISLAV
+TOMAŠIĆ ĐURA
+TOMAŠIĆ BERTA
+TOMAŠIĆ MARTIN
+TOMAŠIĆ MIRJANA
+TOMAŠIĆ TIBOR
+TOMAC IVAN
+TOMAC MIROSLAV
+TOMAC RUŽICA
+TOMAN DIN
+TOMAN FRANJA
+TOMAN JOŽEF
+TOMAN LASLO
+TOMAN MAGDOLNA
+TOMANIĆ DUŠAN
+TOMANIĆ-LACKOVIĆ MILENA
+TOMANIĆ MILENA
+TOMANIĆ ZDENKA
+TOMANOVIĆ BRANISLAV
+TOMANOVIĆ MARIJA
+TOMANOVIĆ MIODRAG
+TOMANOVIĆ RAJKO
+TOMANOVIĆ TOMISLAV
+TOMAS ANDRIJA
+TOMAS JOSIP
+TOMAS RUDOLF
+TOMAS ZDRAVKA
+TOMEC VLADISLAV
+TOMIČIĆ ANTE
+TOMIČIĆ CVIJO
+TOMIČIĆ JOVO
+TOMIČIĆ PETAR
+TOMIČIĆ STOJA
+TOMIČIĆ TOMISLAV
+TOMIČIN MARIJA
+TOMIĆ ČEDOMIR DIPL ING
+TOMIĆ ČEDOMIR
+TOMIĆ ŽELJKO
+TOMIĆ ŽIVKO
+TOMIĆ ŽIVOJIN
+TOMIĆ ĐORĐE
+TOMIĆ ĐURĐICA
+TOMIĆ ĐURĐINKA
+TOMIĆ ĐURICA
+TOMIĆ ALEKSANDAR
+TOMIĆ ALEKSANDAR
+TOMIĆ ALEKSANDAR
+TOMIĆ ALEKSANDAR
+TOMIĆ ALEKSANDAR
+TOMIĆ ALEKSA
+TOMIĆ ANA
+TOMIĆ ANGELINA
+TOMIĆ ANKA
+TOMIĆ ANKICA
+TOMIĆ ANKICA
+TOMIĆ ARIJADNA
+TOMIĆ BILJANA
+TOMIĆ BOŠKO
+TOMIĆ BOŠKO
+TOMIĆ BOŽIDARKA
+TOMIĆ BOGDANKA
+TOMIĆ BOJKA
+TOMIĆ BORISLAV DR ING
+TOMIĆ BORISLAV
+TOMIĆ BOSILJKA
+TOMIĆ BRANKO
+TOMIĆ DANICA
+TOMIĆ DANILO MR
+TOMIĆ DARINKA
+TOMIĆ DEJAN
+TOMIĆ DEVA
+TOMIĆ DRAGAN
+TOMIĆ DRAGAN
+TOMIĆ DRAGAN
+TOMIĆ DRAGA
+TOMIĆ DRAGA
+TOMIĆ DRAGOLJUB
+TOMIĆ DRAGUTIN
+TOMIĆ DUŠAN
+TOMIĆ DUŠAN
+TOMIĆ DUŠICA
+TOMIĆ EVA
+TOMIĆ EVA
+TOMIĆ GORDANA
+TOMIĆ GRADIMIR
+TOMIĆ ILE
+TOMIĆ ILE
+TOMIĆ ILIJA
+TOMIĆ ILIJA
+TOMIĆ ILIJA
+TOMIĆ IVAN
+TOMIĆ-IVIČIĆ BILJANA
+TOMIĆ JELENA
+TOMIĆ JELICA
+TOMIĆ JOSIF
+TOMIĆ JOSIP
+TOMIĆ JOVANKA
+TOMIĆ JOVAN
+TOMIĆ JOVAN
+TOMIĆ JOVAN
+TOMIĆ JULIANA
+TOMIĆ KATARINA
+TOMIĆ KONSTANTIN
+TOMIĆ KORNELIA
+TOMIĆ KOSA
+TOMIĆ KRSTA
+TOMIĆ LAZAR
+TOMIĆ LAZAR
+TOMIĆ LEPOSAVA
+TOMIĆ LJILJANA
+TOMIĆ LJILJA
+TOMIĆ LJUBA
+TOMIĆ LJUBIŠA
+TOMIĆ LJUBIŠA
+TOMIĆ LJUBIŠA
+TOMIĆ LJUBINKA
+TOMIĆ LJUBOMIR
+TOMIĆ LJUBOMIR
+TOMIĆ MARGIT
+TOMIĆ MARIJA
+TOMIĆ MARIJA
+TOMIĆ MARIJA
+TOMIĆ MARIJA
+TOMIĆ MARKO
+TOMIĆ MIJODRAG
+TOMIĆ MILADIN
+TOMIĆ MILAN
+TOMIĆ MILAN
+TOMIĆ MILAN
+TOMIĆ MILAN
+TOMIĆ MILENKO
+TOMIĆ MILENKO
+TOMIĆ MILE
+TOMIĆ MILIVOJ
+TOMIĆ MILKA
+TOMIĆ MILOŠ
+TOMIĆ MILOŠ
+TOMIĆ MILOMIR
+TOMIĆ MILORAD
+TOMIĆ MILORAD
+TOMIĆ MILOSAV
+TOMIĆ MIRJANA
+TOMIĆ MIRJANA
+TOMIĆ MIRJAN
+TOMIĆ MIRKO
+TOMIĆ MIRKO
+TOMIĆ MIROSLAV
+TOMIĆ MIROSLAV
+TOMIĆ MIROSLAV
+TOMIĆ MIROSLAV
+TOMIĆ MITAR
+TOMIĆ MLADEN
+TOMIĆ MOMČILO
+TOMIĆ MOMČILO
+TOMIĆ NATAŠA
+TOMIĆ NATALIJA
+TOMIĆ NEBOJŠA
+TOMIĆ NEDELJKA
+TOMIĆ-NEDELJKOVIĆ DOBRILA
+TOMIĆ NEDELJKO
+TOMIĆ NENAD
+TOMIĆ NENAD
+TOMIĆ NENAD
+TOMIĆ NIKOLA
+TOMIĆ NIKOLA
+TOMIĆ NOVICA
+TOMIĆ OLGICA MR
+TOMIĆ OLIVERA
+TOMIĆ PAVLE DR
+TOMIĆ PELKA
+TOMIĆ PETAR
+TOMIĆ PETKO
+TOMIĆ RADIVOJE
+TOMIĆ RADOVAN
+TOMIĆ RADOVAN
+TOMIĆ RATOMIR
+TOMIĆ ROZALIJA
+TOMIĆ SAŠA
+TOMIĆ SAVA
+TOMIĆ SAVA
+TOMIĆ SELIMIR
+TOMIĆ-SIMIN MILKA
+TOMIĆ SINIŠA
+TOMIĆ SLAVICA
+TOMIĆ SLAVICA
+TOMIĆ SLAVKO
+TOMIĆ SLAVKO
+TOMIĆ SLAVKO
+TOMIĆ SLAVOLJUB
+TOMIĆ SLOBODANKA
+TOMIĆ SLOBODAN
+TOMIĆ SLOBODAN
+TOMIĆ SNEŽANA
+TOMIĆ SOFIJA
+TOMIĆ STANKO
+TOMIĆ STEVAN
+TOMIĆ STEVAN
+TOMIĆ STEVAN
+TOMIĆ STEVAN
+TOMIĆ STIPA
+TOMIĆ STJEPAN
+TOMIĆ SVETOZAR
+TOMIĆ SVETOZAR
+TOMIĆ TATJANA
+TOMIĆ TODE
+TOMIĆ TODOR
+TOMIĆ VALERIJA
+TOMIĆ VELJKO
+TOMIĆ VELJKO
+TOMIĆ VERA
+TOMIĆ VERICA
+TOMIĆ VESNA
+TOMIĆ VESNA
+TOMIĆ VESNA
+TOMIĆ VID
+TOMIĆ VINKO
+TOMIĆ VLADIMIR
+TOMIĆ VLADIMIR
+TOMIĆ VLASTIMIR
+TOMIĆ VLASTIMIR
+TOMIĆ VOJISLAVA
+TOMIĆ VUKOSAVA
+TOMIĆ ZORAN
+TOMIĆ ZORICA
+TOMIĆ ZORKA
+TOMIĆ ZORKA
+TOMIĆ ZORKA
+TOMIK JOVAN
+TOMIK SOFIJA
+TOMIK STEVAN
+TOMIN ŽIVAN
+TOMIN ALEKSANDAR
+TOMIN BRANISLAV
+TOMIN BRANISLAV
+TOMIN DIMITRIJE
+TOMIN DRAGAN
+TOMIN DRAGAN
+TOMIN DRAGINJA
+TOMIN DUŠAN
+TOMIN GORDANA
+TOMIN LJUBICA
+TOMIN LJUBICA
+TOMIN MARIJA
+TOMIN MILAN
+TOMIN MILUTIN
+TOMIN MILUTIN
+TOMIN MIROSLAV
+TOMIN MITAR
+TOMIN RADOSLAV
+TOMIN STEVAN DIPL PRAVNIK
+TOMIN STEVAN
+TOMIN STEVAN
+TOMIN STEVAN
+TOMIN STEVAN
+TOMIN SVETLANA
+TOMIN VASA
+TOMIN VIDOSAVA
+TOMINČIĆ MILOVAN
+TOMINAC VINKO
+TOMKA ALPAR
+TOMKA KARLO
+TOMLJANOVIĆ BOGOSLAV
+TOMLJANOVIĆ LJUBICA
+TOMLJANOVIĆ MARIJA
+TOMLJANOVIĆ MILAN
+TOMO JOSIP
+TOMOV BOGDAN
+TOMOV MIRČE
+TOMOV SAVA
+TOMOV SLOBODAN
+TOMOV TOŠA
+TOMOV TODOR
+TOMOV VELIN
+TOMOV VELIN
+TOMOVIĆ ANĐA
+TOMOVIĆ BOŽIDAR
+TOMOVIĆ BORISLAV
+TOMOVIĆ DRAGINJA
+TOMOVIĆ DUŠAN
+TOMOVIĆ MITAR
+TOMOVIĆ RADOMIR
+TOMOVIĆ RADOSLAV
+TOMOVIĆ STOJANKA
+TOMOVIĆ TOMO
+TOMOVIĆ VASILIJE
+TOMOVIĆ ZORAN
+TOMOVIĆ ZORICA
+TONČEV IVAN
+TONDOLO SMILJA
+TONIĆ ŽIKICA
+TONIĆ RUŽICA
+TONIĆ STOJIMEN
+TONKOVIĆ JOCA
+TONKOVIĆ JOSIP
+TONKOVIĆ MILAN
+TONKOVIĆ MILAN
+TONTE FRIĐEŠ
+TONTIĆ ĐORĐE
+TONTIĆ DUŠAN
+TOPALOV DUŠAN
+TOPALOV GAVRA DIPL ING
+TOPALOV JELICA
+TOPALOV MELANIJA
+TOPALOV MELANIJA
+TOPALOV MIHAJLO
+TOPALOV MILENA
+TOPALOV MILOŠ
+TOPALOV MILORAD
+TOPALOV NADA
+TOPALOV PETAR
+TOPALOV SOFIJA
+TOPALOV SPASOJE
+TOPALOV STANISLAVA
+TOPALOV STEVAN
+TOPALOV STEVAN
+TOPALOV STEVAN
+TOPALOV SVETOZAR
+TOPALOV VASILIJE
+TOPALOV VERA
+TOPALOVIĆ BOŽO
+TOPALOVIĆ DUŠAN
+TOPALOVIĆ DUKATINKA
+TOPALOVIĆ EMILIJA
+TOPALOVIĆ JELENA
+TOPALOVIĆ JULIJE
+TOPALOVIĆ MIHAJLO
+TOPALOVIĆ MILAN
+TOPALOVIĆ MIRKO
+TOPALOVIĆ NEVENKA
+TOPALOVIĆ RADOJICA
+TOPALOVIĆ STANIJA
+TOPALOVIĆ VLAJKO
+TOPALSKI DANILO
+TOPALSKI DUŠANKA
+TOPALSKI-FIŠTEŠ NADA
+TOPALSKI MILENA
+TOPALSKI ZORAN
+TOPAR MARIJA
+TOPIĆ ČEDO
+TOPIĆ ĐURO
+TOPIĆ ANTO
+TOPIĆ CVIJA
+TOPIĆ DANICA
+TOPIĆ DANICA
+TOPIĆ DRAGAN
+TOPIĆ DRAGAN
+TOPIĆ ILIJA
+TOPIĆ JOVAN
+TOPIĆ JOVAN
+TOPIĆ LEON
+TOPIĆ LJUBO
+TOPIĆ MARIJA
+TOPIĆ MILADINKA
+TOPIĆ MILAN
+TOPIĆ MILIVOJE
+TOPIĆ MILIVOJ
+TOPIĆ MILORAD
+TOPIĆ MILORAD
+TOPIĆ MILORAD
+TOPIĆ MILORAD
+TOPIĆ MILOVAN
+TOPIĆ MIRKO
+TOPIĆ MITAR
+TOPIĆ NATALIJA
+TOPIĆ NEĐO
+TOPIĆ NIKO
+TOPIĆ PETAR
+TOPIĆ RATKO
+TOPIĆ SRETEN
+TOPIĆ STEVAN
+TOPIĆ TATJANA
+TOPIĆ VOJIN
+TOPIĆ VOJISLAV
+TOPKA ALEKSANDAR
+TOPKA ALEKSANDAR
+TOPLAK IMRE
+TOPLICA ABEDIN
+TOPLICA GANI
+TOPLICA NEĐMEDIN
+TOPLICA RAMADAN
+TOPLICA ZEĆIR
+TOPLICA ZENIJA
+TOPO ANTONIJA
+TOPO LJUBOMIR
+TOPO NENAD
+TOPOLČEVIĆ JOVAN
+TOPOLAC RADIVOJ DR LEKAR
+TOPOLIĆ ĐURA
+TOPOLIĆ DUŠAN
+TOPOLIĆ PEJA
+TOPOLJANIN VLADISLAVA
+TOPOLKOVIĆ VLADIMIR
+TOPOLOVAČKI RADOVAN
+TOPOLOVAČKI VUKOSAVA
+TOPREK SIMO
+TORĐANSKI ALEKSANDAR
+TORBAROV DUŠAN
+TORBICA ALEKSA
+TORBICA BORISLAV
+TORBICA DUŠAN
+TORBICA DUŠAN
+TORBICA ILIJA
+TORBICA JELKA
+TORBICA JULKA
+TORBICA MARIJA
+TORBICA MILOŠ
+TORBICA MIROSLAV
+TORBICA NADA
+TORBICA RADOSLAV
+TORBICA VERICA
+TORDA JANKO
+TORDAI ILONA
+TORDAI MARIJA
+TORDAI SVETLANA
+TORDAJ MIŠKO
+TORDAJI JANKO
+TORER ĐURA
+TORMA GEZA
+TORMA JOSIP
+TORMA JOVAN
+TORMA MARGITA
+TORMA STEVAN
+TORMA VILIM
+TORMAŠI ĐERĐ
+TORMAŠI JANOŠ
+TORMAŠI SMILJKA
+TORMAŠI STEVAN
+TORMOŠI JOŽEF
+TORNJANSKI ŽARKO
+TORNJANSKI BORISLAV
+TORNJANSKI BRANISLAV
+TORNJANSKI JELKA
+TORNJANSKI SVETISLAV
+TOROK ČABA
+TOROMAN BRANISLAV
+TOROMAN NEĐELJKO
+TOROMAN RADISAV
+TOROMAN RADMILA
+TOROMAN RADOJICA
+TOROVIĆ TRIPO
+TORTIĆ ANDRIJA
+TORTIĆ JOSIP
+TORTIĆ MIHAJLO
+TORTIĆ STEVAN
+TORTIĆ VERA
+TOSMAN JOSIP
+TOSUNOVIĆ JELISAVETA
+TOSUNOVIĆ MARIJA
+TOSUNOVIĆ VLADIMIR
+TOT ŠANDOR
+TOT ŠANDOR
+TOT ŠANDOR
+TOT AMALIJA
+TOT ANA
+TOT ANA
+TOT ANDRAŠ
+TOT ANDRIJA
+TOT ANDRIJA
+TOT ANICA
+TOT ANTAL DIPL ING
+TOT ANTONIJA
+TOT ARPAD
+TOT-ARVAI ANTAL
+TOT-ARVAI JANOŠ
+TOT-ARVAI JANOŠ
+TOT-BAGI IMRE
+TOT-BAGI JANOŠ
+TOT-BAGI MARIJA
+TOT BALINT
+TOT BERTA
+TOT-BOJNIK DEZIDER DIPL ING
+TOT BORA
+TOT DEŽE
+TOT DUŠANKA
+TOT FERENC
+TOT FERENC
+TOT FERENC
+TOT FERENC
+TOT FERENC
+TOT FRANJA
+TOT FRANJA
+TOT FRANJA
+TOT GABOR
+TOT GEZA
+TOT-HORTI ŠANDOR
+TOT IŠTVAN
+TOT IŠTVAN
+TOT IŠTVAN
+TOT IBOLJA DR
+TOT ILONA
+TOT ILONA
+TOT ILONA
+TOT IMRE
+TOT IRENA
+TOT IRENA
+TOT IVAN
+TOT JANOŠ
+TOT JANOŠ
+TOT JANOŠ
+TOT JELENA
+TOT JOŽEF
+TOT JOŽEF
+TOT JOŽEF
+TOT JOŽEF
+TOT JOŽEF
+TOT JOSIP
+TOT JOVANKA
+TOT JOVAN
+TOT JULIJANA
+TOT JULIJANA
+TOT JULIJA
+TOT-KAŠA BLAŽ
+TOT KAROLJ
+TOT KAROLJ
+TOT KATARINA
+TOT KATICA
+TOT KOVILJKA
+TOT LAJOŠ
+TOT LAJOŠ
+TOT LASLO DR
+TOT LASLO
+TOT LASLO
+TOT LASLO
+TOT LIVIJA
+TOT MAGDOLNA
+TOT MARGITA
+TOT MARGITA
+TOT MARIJA
+TOT MARIJA
+TOT MARIJA
+TOT MARIJA
+TOT MIHALJ
+TOT MIHALJ
+TOT MIKLOŠ
+TOT MILANKA
+TOT MILKA
+TOT MIROSLAV
+TOT NEBOJŠA
+TOT OLGA
+TOT PALIKA
+TOT PAL
+TOT PAL
+TOT PAL
+TOT PAVLE
+TOT ROZALIJA
+TOT ROZALIJA
+TOT SILVESTER
+TOT STEVAN
+TOT STEVAN
+TOT STEVAN
+TOT STJEPAN
+TOT TEREZA
+TOT TEREZA
+TOT TIBOR
+TOT TOMISLAV
+TOT VALERIJA
+TOT VLADIMIR
+TOT VLADISLAV
+TOT ZITA
+TOT ZLATA
+TOT ZOLTAN
+TOT ZORA
+TOTARVAI MARIJA
+TOTH SILVESTER
+TOTIĆ SVETOZAR
+TOTOVIĆ JOVANKA
+TOTOVIĆ MILAN
+TOVARLOŽA DUŠANKA
+TOVERNIĆ ZORA
+TOVILOVIĆ SVETLANA
+TOVILOVIĆ ZORAN
+TOVITOVIĆ NIKOLA
+TOVITOVIĆ SLOBODAN
+TOVJANIN BILJANA
+TOVLJANIĆ DUŠAN
+TOVLJANIĆ SAVA
+TRAŽI PAL
+TRABAK KATARINA
+TRAILOVIĆ NADA
+TRAILOVIĆ SELIMIR
+TRAILOVIĆ VOJISLAV
+TRAJČEVIĆ LEPOSAVA
+TRAJČEVSKA ANITA
+TRAJANOVSKI LJUBICA
+TRAJANOVSKI LJUBO
+TRAJANOVSKI MOJSO
+TRAJANOVSKI TRAJAN
+TRAJBAR ADOLF
+TRAJBAR ZVONIMIR
+TRAJER LADISLAV DR
+TRAJER ROBERT
+TRAJKOVIĆ BOŽIDAR
+TRAJKOVIĆ BRANIMIR
+TRAJKOVIĆ BRANISLAV
+TRAJKOVIĆ BRANKO
+TRAJKOVIĆ DIMITRIJE
+TRAJKOVIĆ GLIGORIJE
+TRAJKOVIĆ MILAN
+TRAJKOVIĆ MILORAD
+TRAJKOVIĆ NADA
+TRAJKOVIĆ NAJDAN
+TRAJKOVIĆ RUŽICA
+TRAJKOVIĆ SLOBODAN
+TRAJKOVIĆ STOJADIN
+TRAJKOVSKI DIMITRIJE
+TRAJKOVSKI METODIJE
+TRAJKOVSKI PANTA
+TRAKILOVIĆ VLADA
+TRALJIĆ IVAN
+TRANDAFIR VASILIJE
+TRANKOLOVIĆ CVETA
+TRANKULOV JOŽEF
+TRAUM ARANKA
+TRAVANJ JOVANKA
+TRAVAR ĐURO
+TRAVAR LJUBIŠA
+TRAVAR MILOSAV
+TRAVICA MILAN
+TRAVICA MILE
+TRAVICA NIKOLA
+TRAVICA RADE
+TRBANOS ŽIVA
+TRBIĆ BRANISLAV
+TRBIĆ LJUBIŠA
+TRBIĆ MILADIN
+TRBIĆ MIROSLAV
+TRBIĆ TAMARA
+TRBIĆ VLADIMIR
+TRBOJEVIĆ ĐORĐE
+TRBOJEVIĆ ĐURAĐ
+TRBOJEVIĆ BOGOLJUB
+TRBOJEVIĆ BRANKO
+TRBOJEVIĆ DRAGICA
+TRBOJEVIĆ GAVRA
+TRBOJEVIĆ IDA
+TRBOJEVIĆ ILIJA
+TRBOJEVIĆ JOVAN
+TRBOJEVIĆ LAZA
+TRBOJEVIĆ MARICA
+TRBOJEVIĆ MILE
+TRBOJEVIĆ MILICA
+TRBOJEVIĆ NIKOLA
+TRBOJEVIĆ NIKOLA
+TRBOJEVIĆ STEVAN
+TRBOLJEVAC DRAGOSLAV
+TRBOVIĆ MIHAJLO DIPL PRAVNIK
+TRBOVIĆ MILAN
+TRBOVIĆ MILAN
+TRBOVIĆ VESNA
+TREŠNJIĆ ALEKSANDRA
+TREŠNJIĆ JOVAN
+TREŠNJIĆ STEVAN
+TREĆAKOV STOJAN
+TREBATICKI ALEKSANDAR
+TREBATICKI ALEKSANDAR
+TREBATICKI JUSTINA
+TREBATICKI MARIJA
+TREBIČNIK-VUČIĆ OLGA
+TREBOVAC MILE
+TRENČEVSKI NADEŽDA
+TREPANIĆ MAHMUT
+TRESIGLAVIĆ KATICA
+TRESIGLAVIĆ MILAN
+TRESIGLAVIĆ SLAVKO
+TRESIGLAVIĆ STEVAN
+TRESIGLAVIĆ VASA
+TRESIGLAVIĆ VASA
+TRESKIĆ ZDRAVKO
+TRGALA ĐURA
+TRGO NEVENKA
+TRIČKOVIĆ ANKA
+TRIČKOVIĆ JULKA
+TRIČKOVIĆ MIODRAG
+TRIČKOVIĆ SINIŠA
+TRIČKOVIĆ VERICA
+TRIŠIĆ HRANISLAV
+TRIŠIĆ-ILIĆ SVETLANA
+TRIŠIĆ MLADEN
+TRIFKOVIĆ JOVICA
+TRIFKOVIĆ KUZMAN
+TRIFKOVIĆ LJUBICA
+TRIFKOVIĆ MARKO
+TRIFKOVIĆ MILADIN
+TRIFKOVIĆ MILAN
+TRIFKOVIĆ MILAN
+TRIFKOVIĆ MILISAV
+TRIFKOVIĆ MIROSLAVA
+TRIFKOVIĆ NEDELJKO
+TRIFKOVIĆ SRĐA DR
+TRIFKOVIĆ VLADIMIR
+TRIFKOVIĆ VOJISLAV
+TRIFU DORU
+TRIFUNČEVIĆ MARIJA
+TRIFUNČEVIĆ MILOŠ
+TRIFUNJAGIĆ SPASOJE
+TRIFUNJAGIĆ SVETISLAV
+TRIFUNOV DANILO
+TRIFUNOV JOSIF
+TRIFUNOV MIODRAG
+TRIFUNOV RADMILA
+TRIFUNOVIĆ ŽIKICA
+TRIFUNOVIĆ ŽIVKA
+TRIFUNOVIĆ BOŠKO
+TRIFUNOVIĆ DANKA
+TRIFUNOVIĆ DRAGAN
+TRIFUNOVIĆ DRAGOMIR
+TRIFUNOVIĆ ILINKA
+TRIFUNOVIĆ JELENA
+TRIFUNOVIĆ JOVAN
+TRIFUNOVIĆ JOVAN
+TRIFUNOVIĆ MAKSIM
+TRIFUNOVIĆ MILISAV
+TRIFUNOVIĆ MILORAD DIPL ING
+TRIFUNOVIĆ MIRJANA
+TRIFUNOVIĆ MIRKO
+TRIFUNOVIĆ NADA
+TRIFUNOVIĆ NADEŽDA
+TRIFUNOVIĆ NEGOVANKA
+TRIFUNOVIĆ OLGA
+TRIFUNOVIĆ PAVLE
+TRIFUNOVIĆ PETAR
+TRIFUNOVIĆ PETAR
+TRIFUNOVIĆ RADIVOJ
+TRIFUNOVIĆ RADMILA
+TRIFUNOVIĆ RADOMIR DIPL PRAVNIK
+TRIFUNOVIĆ RUŽICA
+TRIFUNOVIĆ SLAVICA
+TRIFUNOVIĆ SLOBODAN DR
+TRIFUNOVIĆ SLOBODAN
+TRIFUNOVIĆ SOFIJA
+TRIFUNOVIĆ STANA
+TRIFUNOVIĆ SVETISLAV DR
+TRIFUNOVIĆ SVETOMIR
+TRIFUNOVIĆ TRIFUN
+TRIFUNOVIĆ VASA
+TRIFUNOVIĆ VERA
+TRIFUNOVIĆ VLADAN
+TRIFUNOVIĆ VLADIMIR
+TRIFUNOVIĆ VLADIMIR
+TRIFUNOVIĆ VOJISLAV
+TRIFUNOVIĆ VUKOSAVA
+TRIFUNOVIĆ VUKOSAV
+TRIKIĆ DRAGICA
+TRIKIĆ MIRKO
+TRIKIĆ ROSA
+TRIKIĆ SVETOZAR
+TRIKIĆ VLADIMIR
+TRIPKOVIĆ MILAN
+TRIPKOVIĆ SLOBODAN
+TRIPOLSKI MARIJA
+TRIPUNOVIĆ ĐORĐIJA
+TRIPUNOVIĆ BLAŽO
+TRIPUNOVIĆ DRAGOMIR
+TRIS JAKOB
+TRIVANOVIĆ DRAGAN
+TRIVANOVIĆ RADE
+TRIVANOVIĆ STEVAN
+TRIVANOVIĆ VERA
+TRIVIĆ BORIS
+TRIVIĆ BRANISLAV
+TRIVIĆ DOBRIVOJE
+TRIVIĆ DUŠAN
+TRIVIĆ JOVAN
+TRIVIĆ SVETLANA
+TRIVUNČIĆ MIRA
+TRIVUNDŽA MILOŠ
+TRIVUNDŽA NENAD
+TRIVUNIĆ BOGOLJUB
+TRIVUNIĆ MIROSLAV
+TRIVUNIĆ RANKO
+TRIVUNOVIĆ MLADENKO
+TRIVUNOVIĆ SIMO
+TRIVUNOVIĆ TIHOMIR
+TRIZLIĆ SLAVKO
+TRKLJA GOJKO
+TRKLJA MIRKO
+TRKULJA ŽIVORAD
+TRKULJA ANA
+TRKULJA BOŠKO
+TRKULJA BORISLAV
+TRKULJA BRANKO
+TRKULJA DRAGAN
+TRKULJA DRAGAN
+TRKULJA ESTER
+TRKULJA GOJKO
+TRKULJA GROZDA
+TRKULJA JOVAN
+TRKULJA JULKA
+TRKULJA MARINKO
+TRKULJA MILAN
+TRKULJA MILORAD
+TRKULJA MIODRAG
+TRKULJA MIODRAG
+TRKULJA NEDELJKO
+TRKULJA NIKOLA
+TRKULJA NOVAK
+TRKULJA NOVAK
+TRKULJA PETAR
+TRKULJA RANKO
+TRKULJA SLAVKO
+TRKULJA SOFIJA
+TRKULJA SONJA
+TRKULJA STEVAN
+TRKULJA STOJANKA
+TRKULJA VLADISLAVA
+TRMČIĆ RADOSLAV
+TRNČIĆ LAZO
+TRNAVAC MILAN
+TRNIĆ RADMILA
+TRNIĆ VERA
+TRNINIĆ ŽIVAN
+TRNINIĆ ŽIVOJIN
+TRNINIĆ ĐORĐE
+TRNINIĆ ĐURA
+TRNINIĆ BOGDAN
+TRNINIĆ BOJA
+TRNINIĆ BORIVOJ
+TRNINIĆ BOSILJKA
+TRNINIĆ DOBRIVOJ
+TRNINIĆ DRAGAN
+TRNINIĆ DRAGAN
+TRNINIĆ DUŠAN
+TRNINIĆ MARA
+TRNINIĆ MARIJA
+TRNINIĆ MIRKO
+TRNINIĆ MIRKO
+TRNINIĆ MIROSLAV
+TRNINIĆ MOMČILO
+TRNINIĆ OLIVERA
+TRNINIĆ RADIVOJ
+TRNINIĆ RADOJKA
+TRNINIĆ RADOVAN
+TRNINIĆ STEVA
+TRNINIĆ VLADIMIR
+TRNJAKOV DUŠAN
+TRNOVAC NADA
+TROČA KORNEL
+TROŠELJAC MATO
+TROŠKIN SAVETA
+TROŠKIN TAMARA
+TROJANOV EDVARD
+TROJANOV MARIJA
+TROJANOV ROMAN
+TROJKOVIĆ ILONA
+TROMLER LASLO
+TRPČEVIĆ MIROSLAV
+TRPČEVSKI TOMČE
+TRPINAC JELENA
+TRPKA PAVLE
+TRPKA PAVLE
+TRPOVSKI VASILJ
+TRSTENJAK FRANJA
+TRTIĆ SLAVKO
+TRUŠNOVEC IVAN
+TRUBARAC GABRIJELA
+TRUDA ALIJA
+TRUDIĆ IVAN
+TRUJIĆ DUŠICA
+TRUJIĆ MILOŠ VETERINAR
+TRUMBIĆ VEDRAN
+TRUMIĆ SOFIJA
+TRUMIĆ VERA
+TUČEV ŽIVANKA
+TUŠEV ŽIVKO
+TUŠJAK JAN
+TUŠJAK JURAJ
+TUŠJAK MILOŠ
+TUŠNEK OTILIJA
+TUŠNJAK ANA
+TUBIĆ ŽIVAN
+TUBIĆ ALEKSANDAR
+TUBIĆ BRANISLAV
+TUBIĆ DRAGUTIN
+TUBIĆ DUŠAN
+TUBIĆ DUŠAN
+TUBIĆ JUGOSLAV
+TUBIĆ LEPOSAVA
+TUBIĆ MILAN
+TUBIĆ MILENKO
+TUBIĆ MILIVOJ
+TUBIĆ MILOŠ
+TUBIĆ MILOJKO
+TUBIĆ MILORAD
+TUBIĆ NIKOLA
+TUBIĆ NOVAK
+TUBIĆ OLGA
+TUBIĆ PETAR
+TUBIĆ RADA
+TUBIĆ RADMILA
+TUBIĆ RADOVAN
+TUBIĆ SAVA
+TUBIĆ STANKO
+TUBIĆ SVETOZAR DR
+TUBIĆ VERA
+TUBIĆ VLADIMIR
+TUBIĆ ZORAN
+TUBIN KATARINA
+TUBIN STOJAN DIPL ING
+TUBIN STOJA
+TUBIN TOMISLAV
+TUBIN ZORKA
+TUCAKOV ĐORĐE
+TUCAKOV ĐORĐE
+TUCAKOV BOŠKO
+TUCAKOV BOGDANKA
+TUCAKOV BORA
+TUCAKOV BRANKO
+TUCAKOV DARINKA
+TUCAKOV DRAGAN
+TUCAKOV KAMENKO
+TUCAKOV LATINKA
+TUCAKOV MARIJA
+TUCAKOV MARKO
+TUCAKOV MILAN
+TUCAKOV MILAN
+TUCAKOV MILICA
+TUCAKOV NOVAK
+TUCAKOV RADIVOJ
+TUCAKOV RADOJKA
+TUCAKOV RADOSLAV
+TUCAKOV RAJKO
+TUCAKOV SINIŠA
+TUCAKOV TANASIJE
+TUCAKOV VERA
+TUCAKOV VLADIMIR
+TUCAKOV ZORANA
+TUCAKOV ZORA
+TUCAKOVIĆ ĐORĐE
+TUCAKOVIĆ DANICA
+TUCAKOVIĆ DESANKA
+TUCAKOVIĆ JOVAN
+TUCAKOVIĆ MILOŠ
+TUCAKOVIĆ RADOSLAV
+TUCIĆ ĐORĐE
+TUCIĆ BRANISLAV
+TUCIĆ LAZAR
+TUCIĆ MILENKO
+TUCIĆ MIROSLAVA
+TUCIĆ MIROSLAV
+TUCIĆ VUJICA
+TUCOVIĆ ZORA
+TUFEGDŽIĆ MILEN
+TUKAČ MIHAJLO
+TUKANIĆ ENDRE
+TUKANIĆ IRENA
+TUKAR FADIL
+TUKAR MIRJANA
+TUKIĆ PETAR
+TUKIĆ STOJANKA
+TULAĆ JOVICA
+TULENČIĆ KATICA
+TULENČIĆ RADOSLAVA
+TULENČIĆ RADOSLAV
+TULIĆ BORKO
+TULIĆ NEVENKO
+TULUBEC ĐORĐE
+TULUBEC MILKA
+TULUBEC VASILIJE
+TUMARIĆ BRANISLAV
+TUMARIĆ CVETIN
+TUMARIĆ MILORAD
+TUMBAS AGNEZA
+TUMBAS IVAN
+TUMBAS LJUDEVIT
+TUMIN DUŠANKA
+TUNGUZ JELISAVETA
+TUNIĆ RADOJICA
+TUNIĆ RAJKO
+TUNIĆ SPASOJE
+TUNIĆ STEVAN
+TUNTEV MARIJA
+TUPANČEVSKI NIKOLA
+TUPEC ZVONIMIR
+TUPIĆ NEVENKA
+TUR MIHAJLO
+TUR SUZANA
+TURČAN JAN
+TURČAN JAN
+TURČAN JURAJ
+TURČAN VLADIMIR SUDIJA
+TURČIĆ MIROSLAVA
+TURŠIĆ JELENA
+TURŠIJAN VASA
+TURAI BELA
+TURAI MIHAJLO
+TURAI TEREZA
+TURAJLIĆ MILE
+TURAJLIJA BOŽICA
+TURAJLIJA MIROSLAV
+TURAN ĐURA
+TURAN LJUBICA
+TURANSKI ĐORĐE
+TURANSKI FERENC
+TURANSKI GEZA
+TURANSKI JANOŠ
+TURANSKI JOSIP
+TURANSKI LASLO
+TURANSKI MARICA
+TURANSKI MARIJA
+TURANSKI MATIJA
+TURANSKI PETAR
+TURANSKI STEVAN
+TURI ARPAD
+TURI TIBOR
+TURIĆ LUKA
+TURIĆ MARINKO
+TURIKA JOSIM
+TURINSKI DUŠAN
+TURINSKI EDITA
+TURINSKI MILETA
+TURINSKI MIOMIR
+TURK MIRKO
+TURK NADA
+TURKALJ KATA
+TURKOVIĆ HAKIJA
+TURKOVIĆ MIRKO
+TURKOVIĆ MITAR
+TURKOVIĆ PETAR
+TURKOVIĆ RAFIT
+TURKOVIĆ VLADIMIR
+TURKOVIĆ ZINKA
+TURKULOV ŽAKLINA
+TURKULOV DUŠAN
+TURKULOV JOVAN
+TURLAKOV CVETAN
+TURNAJ SLAVOLJUB DIPL ING
+TURO MIHALJ
+TUROMAN MILORAD
+TUROPOLJAC MIĆO
+TURUDIĆ MILAN
+TURUDIĆ MIODRAG
+TURUDIJA MILORAD
+TURUKALO MIODRAG
+TURUKALO RADMILA
+TURUKALO ZORA
+TURZO JELISAVETA
+TURZO KARLO
+TUTIĆ ILIJA
+TUTNILOVIĆ NADA
+TUTNJEVIĆ BOŽENKA
+TUTNJEVIĆ BOGDAN
+TUTNJEVIĆ JOVAN
+TUTNJEVIĆ MIROSLAV
+TUTNJEVIĆ RADOJKA
+TUTOROV DESANČIĆ
+TUTOROV JULKICA
+TUTOROV STANA
+TUTOROV STEVAN
+TUTULUGDŽIJA MARA
+TUVEDŽIĆ DRAGANA
+TUVIĆ SLOBODAN
+TVRTKOVIĆ MARIN DR LEKAR
+UŠĆEBRKA LAZAR
+UŠĆEBRKA MILENKO
+UŠĆEBRKA ZLATO
+UŠĆUMLIĆ MILENKO
+UŠĆUMLIĆ NEŠKO
+UŠĆUMLIĆ VUKICA
+UŠAN JANEZ
+UŠJAK JANKO
+UŠJAK JARMILA
+UŠJAK VLASTA
+UŠLJEBRKA MILORAD
+UŠTIPAK JELA
+UĆUKALO SIMO
+UŽAR DESANKA
+UŽAR KATICA
+UŽIČANIN ĐORĐE
+UBAVČIĆ SAVA
+UBAVIĆ DARINKA
+UBAVIĆ LJUBICA
+UBAVIĆ MOMČILO DR
+UBIPARIP ČEDO
+UBIPARIP ŽIVKO
+UBIPARIP GOJKO
+UBIPARIP ILE
+UBIPARIP JANJA
+UBIPARIP JOVO
+UBIPARIP MARINKO
+UBIPARIP MARKO
+UBIPARIP MILAN
+UBIPARIP MIRKO
+UBIPARIP MOMIR
+UBIPARIP PAVLE
+UBIPARIP SLAVKO
+UBIPARIP TODE
+UBIPARIP VOJKO
+UBIPARIP ZDRAVKO
+UBIPARIP ZORAN
+UBORKA ŠANDOR
+UBORKA MARTON
+UBORKA STEVKA
+UBORNJI ŠANDOR
+UBORNJI ANDRAŠ
+UBOVIĆ EVA
+UBOVIĆ JEFTA
+UBOVIĆ JOVICA
+UBOVIĆ MARKO
+UBOVIĆ MILOŠ
+UBOVIĆ PETRA
+UBOVIĆ RAJKO
+UCAJ VLADIMIR
+UDICKI PAJA
+UDICKI SLAVICA
+UDICKI SREDOJE
+UDOVIČIĆ BOBAN
+UDOVIČIĆ BRANKO
+UDOVIČIĆ IVAN
+UDOVIČIĆ MOMIR
+UDOVIČIĆ RADOSLAV
+UDOVIČIĆ STEVAN
+UDOVIČKI BRANKO LEKAR
+UDOVIČKI JULKA
+UDOVIČKI OLGICA DR
+UDOVIČKI SLOBODAN
+UDOVIČKI SVETOZAR
+UDRIJA PETAR
+UDVARDI KARLO
+UGARČINA BORISLAV
+UGARČINA DRAGAN
+UGARČINA ILIJA
+UGARAK ĐORĐE
+UGARAK BOŽO
+UGARAK DRAGAN
+UGARAK DUŠAN
+UGARAK PETAR
+UGARKOVIĆ DARINKA
+UGARKOVIĆ JELA
+UGARKOVIĆ KATICA
+UGARKOVIĆ STEVAN
+UGLJEŠIĆ BOŠKO
+UGLJEŠIĆ HILDA
+UGRČIĆ VUKICA
+UGREŠIĆ PETAR
+UGREM MARIJA
+UGREM RADOVAN
+UGREN MILORAD
+UGREN PETAR
+UGRENIĆ LASLO
+UGRENIĆ MIHALJ
+UGRENOVIĆ VUČIĆ
+UGRENOVIĆ VUJADIN
+UGRICA DRAGAN
+UGRICA SREĆKO
+UGRIN ILIJA
+UGRIN MILOVAN
+UGRINČIĆ DANILKA
+UGRINČIĆ DOBRILA
+UGRINČIĆ MILIVOJ
+UGRINČIĆ MIRJANA DR
+UGRINČIĆ STEVAN
+UGRINČIĆ VLADA DIPL ING
+UGRINOV ĐURICA
+UGRINOV DOBRILA
+UGRINOV MILICA
+UGRINOV NADA
+UGRNOV VLADIMIR
+UGRNOV ZORICA
+UHER VERA
+UHLARIK ELIZABETA
+UHLARIK LADISLAV
+UHLARIK STEVAN
+UHOR PETAR
+UJ MARTON
+UJČIĆ BLAŽ
+UJČIĆ TOMA
+UJDILOVIĆ MILORAD
+UJFALUŠ VELIMIR
+UJFALUŠI ĐURA
+UJFALUŠI JANKO
+UJFALUŠI JULIJAN
+UJFALUŠI LJUBOMIR
+UJFALUŠI MIROSLAV
+UJFALUŠI NIKOLA
+UJFALUŠI SILVESTER
+UJFALUŠI VLADIMIR
+UJFELJAN MILAN
+UJHAZI BORIŠKA
+UJHAZI IVAN
+UJHAZI JELISAVETA
+UJHAZI LADISLAV
+UJHAZI MIRKO
+UJHELJI JOVANKA
+UJHELJI MIHALJ
+UJLAKOŠ KARLO
+UJVARI GABOR
+UJVARI KATALIN
+UKAČEK VERKA
+UKROPINA ČEDA
+UKROPINA DESANKA
+UKROPINA JELENA
+UKROPINA JOVANKA
+UKROPINA JOVAN
+UKROPINA MILOVAN
+UKROPINA NEBOJŠA
+UKROPINA PANTO
+UKROPINA TOMISLAV
+ULEMEK ĐURO
+ULIĆ ŽELJKA
+ULIĆ ĐORĐE
+ULIĆ ALEKSANDAR
+ULIĆ DOBROSLAV
+ULIĆ MILAN
+ULJAREVIĆ PERO
+UMEK MARGITA
+UMEK MIKLOŠ
+UMIČEVIĆ PERA
+UMIĆEVIĆ ŽELJKO
+UMIĆEVIĆ GORDANA
+UMIĆEVIĆ MIRKO
+UMIĆEVIĆ MLADEN
+UNČANIN BOJAN
+UNČANIN DUŠAN
+UNGAR TIHOMIR
+UNGUROVIĆ JELENA
+UNKOVIĆ ANĐELKO
+UNKOVIĆ MLADEN
+URAČ ŠANDOR
+URAČ ALEKSANDAR
+URAČ DANICA
+URAČ GIZELA
+URAČ IŠTVAN
+URAČ ROZALIJA
+URBAN ĐERĐ
+URBAN ĐORĐE
+URBAN ANA
+URBAN HORVAT
+URBAN IŠTVAN
+URBAN JANOŠ
+URBAN JASNA
+URBAN MIHALJ
+URBAN MIHALJ
+URBAN PAVEL
+URBAN STANISLAV
+URBAN STEVAN
+URBAN VIKTORIJA
+URBAN VLADISLAV
+URBANČIK PIROŠKA
+URBANČIK SILVIA
+URBANOVIĆ STEVAN
+URDAREVIĆ STANIMIR
+UREKE ĐORĐE
+URI ČABA
+URI ALEKSANDAR
+URI EVA
+URI GABOR
+URI KARLO
+URI LASLO
+URI PAJA
+URI STEVAN
+URI STEVAN
+URKIN LJUBICA
+URLIH MARIJA
+UROŠEV ŽIVAN
+UROŠEV BOJKA
+UROŠEV ILIJA
+UROŠEV JERICA
+UROŠEV MILENKO
+UROŠEV MIRJANA
+UROŠEV PAJA
+UROŠEV SOFIJA
+UROŠEV STOJAN
+UROŠEV VELINKA
+UROŠEVIĆ ŽIVAN
+UROŠEVIĆ ALEKSANDAR
+UROŠEVIĆ BOGDAN DIPL ING
+UROŠEVIĆ BORIVOJ
+UROŠEVIĆ BRANKA
+UROŠEVIĆ BRANKO
+UROŠEVIĆ DRAGIŠA
+UROŠEVIĆ DUŠAN
+UROŠEVIĆ IVAN
+UROŠEVIĆ LEONA
+UROŠEVIĆ LJILJANA
+UROŠEVIĆ LJUBICA
+UROŠEVIĆ MARKA
+UROŠEVIĆ MILOŠ
+UROŠEVIĆ MIRJANA
+UROŠEVIĆ NADA
+UROŠEVIĆ RUŽICA
+UROŠEVIĆ SRĐA
+UROŠEVIĆ STANISLAVA
+UROŠEVIĆ VIDOJKO
+UROŠEVIĆ VLADIMIR
+UROŠEVIĆ ZORICA
+URSIĆ VLADIMIR
+URSULESKU FLORIN
+URSULESKU JULIJAN
+USKOKOVIĆ BRANISLAV
+USKOKOVIĆ MILENKO
+USKOKOVIĆ MILOŠ
+USTIĆ ĐURA
+USTIĆ NIKOLA
+USTIĆ SIMA
+USTIĆ VOJKO
+UTAŠI ČABA
+UTJEŠANOVIĆ SIMO
+UTJEŠINOVIĆ DESANKA
+UTJEŠINOVIĆ LJILJANA
+UTJEŠINOVIĆ MILAN
+UTJEŠINOVIĆ VERA
+UTORNIK IVAN
+UTORNIK JOVAN
+UTORNIK KATICA
+UTORNIK LJUBICA
+UTORNIK MILOŠ
+UTORNIK-RADULOVIĆ MARIJA
+UTORNIK STEVAN
+UTORNIK SVETOZAR
+UTRŽAN BRANKO
+UTVIĆ KOSTA
+UTVIĆ PAVLE
+UTVIĆ VASA
+UTVIĆ-VUKAŠINOVIĆ DARA
+UVALIĆ ANGELINA
+UVALIĆ DUŠANKA
+UVALIĆ DUŠAN
+UVALIĆ DUŠKO
+UVALIĆ LAZAR
+UVALIĆ MELANIJA
+UVALIĆ RADOSLAV
+UVALIĆ STANISLAV
+UVALIĆ VASA
+UVERIĆ ĐURA
+UVERIĆ BRANKA
+UVERIĆ MILAN
+UVERIĆ MILOŠ
+UVERIĆ MILORAD
+UVERIĆ MIRJANA
+UVERIĆ NIKOLA
+UZAIR ALIJA
+UZEIRI MUAREM
+UZELAC ĐORĐE
+UZELAC ĐORĐE
+UZELAC ĐORĐE
+UZELAC ĐORĐE
+UZELAC ĐURICA
+UZELAC ĐURO
+UZELAC ALEKSANDRA
+UZELAC ALEKSA
+UZELAC BISERKA
+UZELAC BOŠKO
+UZELAC BOGDAN
+UZELAC BOGDAN
+UZELAC BRANISLAV
+UZELAC BRANISLAV
+UZELAC BRANISLAV
+UZELAC BRANKO
+UZELAC CVETA
+UZELAC DARINKA
+UZELAC DESANKA
+UZELAC DRAGAN
+UZELAC DRAGAN
+UZELAC DRAGAN
+UZELAC DUŠANKA
+UZELAC DUŠAN
+UZELAC DUŠAN
+UZELAC DUŠAN
+UZELAC DUŠAN
+UZELAC EVA
+UZELAC GALINA
+UZELAC GORDANA
+UZELAC ILIJA
+UZELAC IVAN
+UZELAC JELENA
+UZELAC KOSTA
+UZELAC LAZAR
+UZELAC MARIJA
+UZELAC MARIJA
+UZELAC MARIJA
+UZELAC MARIJA
+UZELAC MIHAJLO
+UZELAC MILAN
+UZELAC MILAN
+UZELAC MILAN
+UZELAC MILAN
+UZELAC MILAN
+UZELAC MILAN
+UZELAC MILAN
+UZELAC MILE
+UZELAC MILICA
+UZELAC MILOŠ
+UZELAC MOMČILO
+UZELAC NIKOLA
+UZELAC NIKOLA
+UZELAC OLIVERA
+UZELAC RADMILA
+UZELAC RADOJKA
+UZELAC RENATA
+UZELAC SLAVKO
+UZELAC SLOBODAN
+UZELAC SLOBODAN
+UZELAC SOFIJA
+UZELAC SRĐAN
+UZELAC SRĐAN
+UZELAC STEVAN
+UZELAC STEVAN
+UZELAC STEVAN
+UZELAC STEVAN
+UZELAC STOJAN
+UZELAC VERA
+UZELAC VUJO
+UZELAC ZLATKO
+UZELAC ZLATKO
+UZELAC ZLATKO
+UZELAC ZORAN
+UZELAC ZORAN
+UZELAC ZORAN
+UZELAC ZORAN
+UZELAC ZORAN
+UZELAC ZORAN
+UZOROCKI IŠTVAN
+UZUNOVIĆ BRANISLAV
+UZUNOVIĆ LADISLAV
+UZUNOVIĆ MILORAD
+UZUNOVIĆ MITO
+UZUNOVIĆ NASUF
+UZUNOVIĆ RAJKO
+UZUROV OBRENIJA
+UZUROV RADMILA
+VAČIĆ ALEKSANDAR
+VAČIĆ ZORAN
+VAČIK JOŽEF
+VAŠ ATILA
+VAŠ JOSIP
+VAŠ PAVLE
+VAŠ VERA
+VAŠČIĆ BOŽIDAR
+VAŠAŠ MIKLOŠ
+VAŠAŠ OLGA
+VAŠADI FERENC
+VAŠADI JULIJANA
+VAŠADI VALERIJA
+VAŠALIĆ ANKA
+VAŠALIĆ MILOŠ
+VAŠALIĆ OBRAD
+VAŠALIĆ UROŠ
+VAŠTAG ĐORĐE
+VAŠTAG ANDRAŠ
+VAŠTAG IŠTVAN
+VAŠTAG IŠTVAN
+VAŠTAG JASMINKA
+VAŠTAG MARGITA
+VAŠTAG MARIJA
+VAŠTAG MIHALJ
+VAŠTAG OLGA
+VAŠTAG RUŽA
+VAŠTAG STOJAN
+VAŽIĆ DANICA
+VAŽIĆ JOVAN
+VAŽIĆ JULIJA
+VAŽIĆ MIRA
+VAŽIĆ SLAVICA
+VAŽIĆ VERICA
+VAŽIĆ VESELIN
+VAŽIĆ VLADIMIR
+VAŽONJI ANTAL
+VAŽONJI ROZALIJA
+VACI ŠIMON
+VACIĆ BLAGOJE
+VACIĆ VIDEN
+VACLAVIK MARIJA
+VADASKI CECILIJA
+VADASKI LJUBOMIR
+VADOC FRANJA
+VADOC IVICA
+VADOC JOSIP
+VAGIĆ ĐURO
+VAGNER ĐURA
+VAGNER ANDRIJA
+VAGNER JOSIP
+VAGNER KARLO
+VAGNER LASLO
+VAGNER MARIJA
+VAGNER OTILIJA
+VAGO IŠTVAN
+VAGO STEVAN
+VAGURIĆ ZDRAVKO
+VAJAGIĆ ANĐELKA
+VAJAGIĆ BOŠKO
+VAJAGIĆ GORDANA
+VAJAGIĆ MILAN
+VAJAGIĆ NIKOLA DR
+VAJAGIĆ NIKOLA
+VAJAGIĆ SAVO
+VAJAGIĆ SIMA
+VAJAGIĆ STOJAN
+VAJAGIĆ ZORICA
+VAJDA ŠANDOR
+VAJDA ŠANDOR
+VAJDA IRMA
+VAJDA LAJOŠ
+VAJDA LAJOŠ
+VAJDA TIBOR
+VAJDA TOMISLAV
+VAJDIĆ ŽIVKO
+VAJDIĆ IVAN
+VAJDIĆ JOVAN DR
+VAJDIĆ JOVAN DR
+VAJDIĆ MILICA
+VAJDIĆ MILICA
+VAJDIĆ NADA
+VAJDIĆ PETAR
+VAJDIĆ TIHOMIR
+VAJDL JOVAN
+VAJDL MIROSLAV
+VAJDLE JOLAN
+VAJLER ANDRIJA
+VAJNŠTAJN PETAR
+VAJNBERGER VLADIMIR
+VAJNBERGER ZLATKO
+VAJNBERGER ZVONIMIR
+VAJNGERTNER RADOJKA DIPL ECC
+VAJNHEPL MARIA
+VAJNHEPL OTMAR DIPL ING
+VAJOVIĆ VASILIJE
+VAJS ŠANDOR
+VAJS BRANKO
+VAJS KARLO
+VAJS KARLO
+VAJS MAGDA
+VAJS VERICA
+VAJSENBERG JOSIP
+VAJUKIĆ PANTELIJA
+VAKANJAC MILICA
+VAL ĐORĐE
+VAL ANDRIJA
+VAL EVA
+VAL ZOLTAN
+VALAH JANKO
+VALAN OSTOJA
+VALAN ZORAN
+VALDMA ARBO
+VALEK EMILIJA
+VALEK FRANJA
+VALENČIK PAVEL
+VALENČIK STEVAN
+VALENĆIK ANDRIJA
+VALENĆIK JAN
+VALENĆIK PAVLE
+VALENĆIK VLADIMIR
+VALENT ŽUŽANA
+VALENT JANKO
+VALENT JANKO
+VALENT LASLO
+VALENTA JASMINKA
+VALENTENJI JOSIP
+VALENTENJI JULIJANA
+VALENTIĆ IVAN
+VALENTIĆ VIKTOR
+VALENTIĆ VIKTOR
+VALENTIK NIKOLA
+VALENTIN IMRE
+VALENTIN JUCIKA
+VALENTIN STEVAN
+VALENTIROV STEVAN
+VALENTIROVIĆ LJUBOMIR
+VALENTOVIĆ JOSIP
+VALENTOVIĆ KARLO
+VALENTOVIĆ KARLO
+VALENTOVIĆ KARLO
+VALENTOVIĆ TIBOR
+VALIĆ GORAN
+VALIĆ SLAVKO
+VALIDŽIJA NIKOLA DIPL ING
+VALIHORA JOZEF
+VALIHORA KATICA
+VALKAI JOŽEF
+VALKO GAVRA
+VALO GORDANA
+VALO JOSIP
+VALO JOSIP
+VALO MIRKO
+VALO STEVAN
+VALOK ĐORĐE
+VALOK ĐURA
+VALOK RATOMIR
+VALTER DRAGINJA
+VALTER LJILJANA
+VALTER NORBERT
+VALTNER PETAR
+VALUŠEK JOVAN
+VALUŠEK KATICA
+VALUŠEK PAVLE
+VALUH BRANISLAV
+VALUH JANKO
+VALUH JANKO
+VALUH KARLO
+VALUH MIHAJLO
+VAMBAH VIKTORIJA
+VAMOŠER MIRJANA
+VAMOŠER PAVLE
+VAMPOVAC JOSIP
+VANĐEL MILAN
+VANDERER PAL
+VANDORI MARIJA
+VANIĆ DRAGUTIN
+VANIĆ KATICA
+VANIĆ LJUBICA
+VANJUR FRANJA
+VANJUR FRANJA
+VANJUR IŠTVAN DIPL ING
+VANJUR JOŽEF
+VANJUR JOSIP
+VANJUR KARLO
+VANJUR KARLO
+VANJUR MARIJA
+VANKO JAROSLAV
+VANOVIĆ SNEŽANA
+VAPA JOVANKA
+VAPA MILAN DR
+VAPA VERA
+VAPA ZORAN
+VAPENSKI IVAN
+VAPENSKI MARIJA
+VARŠANJI IRENA
+VARAĐANIN MILAN
+VARADI TIBOR DR PROF
+VARAGIĆ BOGDAN
+VARAGIĆ LJUBICA
+VARAGIĆ MARIJA
+VARAGIĆ MELANIJA
+VARAGIĆ MILICA
+VARAGIĆ VIĆENTIJE
+VARAJIĆ GORAN
+VARAJIĆ GORAN
+VARAVA EMILIJAN
+VARBAI LADISLAV
+VARCAR DESANKA
+VARDIĆ GAVRILO
+VARENIKA ĐOKA
+VARENIKA BRANISLAV
+VARENIKA RADOJKA
+VAREVAC DRAGAN
+VARGA ŠANDOR
+VARGA ŠANDOR
+VARGA ŠANDOR
+VARGA ŠANDOR
+VARGA ŠANDOR
+VARGA-ŠOMOĐI JANOŠ
+VARGA ŽARKO
+VARGA ĐERĐ
+VARGA ĐORĐE
+VARGA ĐORĐE
+VARGA ĐULA
+VARGA ĐURA
+VARGA ĐURA
+VARGA ALEKSANDAR
+VARGA ANA
+VARGA ANDRAŠ
+VARGA ANDRIJA
+VARGA ANDRIJA
+VARGA ANTON
+VARGA ARANKA
+VARGA BELA
+VARGA BELA
+VARGA BILJANA
+VARGA-BURAI ERŽEBET
+VARGA DRAGICA
+VARGA DUŠANKA
+VARGA ERŽIKA
+VARGA FERENC
+VARGA FERENC
+VARGA FERENC
+VARGA FRANJA
+VARGA FRANJA
+VARGA FRANJO
+VARGA FRANJO
+VARGA GABOR
+VARGA GIZELA
+VARGA HELENA
+VARGA IŠTVAN
+VARGA IŠTVAN
+VARGA IŠTVAN
+VARGA IŠTVAN
+VARGA ILEŠ
+VARGA IMRE
+VARGA-IVAN ANGELINA
+VARGA JAKIM
+VARGA JAN DR
+VARGA JANOŠ
+VARGA JANOŠ
+VARGA JAROSLAV
+VARGA JELENA
+VARGA JELISAVETA
+VARGA JOŽEF
+VARGA JOŽEF
+VARGA JOŽEF
+VARGA JOSIPA
+VARGA JOSIP
+VARGA JOSIP
+VARGA JOVAN
+VARGA JULIJA
+VARGA KARLO
+VARGA KATARINA
+VARGA KATA
+VARGA-KLIŠANIĆ LJUBICA
+VARGA KORNELIJA
+VARGA KORNEL
+VARGA KOSANA
+VARGA LADISLAV
+VARGA LAJOŠ
+VARGA LAJOŠ
+VARGA LASLO
+VARGA LASLO
+VARGA LASLO
+VARGA LASLO
+VARGA LJUPKA
+VARGA MARGITA
+VARGA MARIJA
+VARGA MARIJA
+VARGA MARIJA
+VARGA MIHAJLO
+VARGA MIHAJLO
+VARGA MIHALJ
+VARGA MIRKO
+VARGA MIRON
+VARGA MIROSLAV
+VARGA NIKOLA
+VARGA OLGA
+VARGA PAL
+VARGA PAL
+VARGA PETAR
+VARGA PETAR
+VARGA PETER DIPL ING
+VARGA RASTISLAV
+VARGA ROZALIJA
+VARGA ROZALIJA
+VARGA SLAVICA
+VARGA STEVAN
+VARGA STEVAN
+VARGA STJEPAN
+VARGA TIBOR
+VARGA TIBOR
+VARGA VERA
+VARGA VERA
+VARGA VERONIKA
+VARGA VLADISLAV
+VARGA VLASTA
+VARGA ZOLTAN
+VARGA ZOLTAN
+VARGEC IVAN
+VARHOLIK ADAM
+VARIĆAK BOŽO
+VARIĆAK DARINKA
+VARJU LASLO
+VARJU MARIJA
+VARJU TEREZA
+VARKAŠ IVAN
+VARMAZ ISMET
+VARMEĐA ĐORĐE
+VARMUŽA MAĆAŠ
+VARNICA IVAN
+VARNICA PETAR
+VARNJU ANUŠKA
+VARNJU GIZELA
+VARNJU ILONA
+VARNOS MARTON
+VARNUS JOŽEF
+VAROŠČIĆ SPASENIJA
+VAROŠI GABRIELA
+VAROŠI JOVAN
+VAROŠI SILARD
+VASELEK ŠTEFAN
+VASELEK STEVAN
+VASELEK STEVAN
+VASELEK VASILJ
+VASIĆ ŽELJKO
+VASIĆ ŽIVKA
+VASIĆ ŽIVKO
+VASIĆ ŽIVKO
+VASIĆ ŽIVKO
+VASIĆ ĐOKA
+VASIĆ ĐORĐE
+VASIĆ ĐORĐE
+VASIĆ ALEKSANDAR
+VASIĆ ANICA
+VASIĆ ANKICA
+VASIĆ BOJANA
+VASIĆ BORISLAV
+VASIĆ BORIVOJ
+VASIĆ BRANKO
+VASIĆ CVETKO
+VASIĆ DARINKA
+VASIĆ DOBRIVOJ
+VASIĆ DRAGANA
+VASIĆ DRAGAN
+VASIĆ DRAGICA
+VASIĆ DRAGICA
+VASIĆ DRAGICA
+VASIĆ DRAGOLJUB
+VASIĆ DRAGOMIR
+VASIĆ DRAGOMIR
+VASIĆ DRAGOSLAV
+VASIĆ DUŠAN
+VASIĆ DUŠAN
+VASIĆ DUŠAN
+VASIĆ DUŠAN
+VASIĆ DUŠAN
+VASIĆ DUŠAN
+VASIĆ DUŠAN
+VASIĆ DUŠAN
+VASIĆ DUŠICA
+VASIĆ DUŠKO NOVINAR
+VASIĆ DUBRAVKA
+VASIĆ ELENA
+VASIĆ GORAN
+VASIĆ GORDANA
+VASIĆ GORDANA
+VASIĆ GORDICA
+VASIĆ JAKOV
+VASIĆ JANA
+VASIĆ JANKO
+VASIĆ JELICA
+VASIĆ JOVO
+VASIĆ KATICA
+VASIĆ KOSTA
+VASIĆ KRISTINA
+VASIĆ LAZAR
+VASIĆ LJILJANA DR
+VASIĆ LJILJANA
+VASIĆ LJUBOMIR
+VASIĆ LUKA
+VASIĆ MAKSIM
+VASIĆ MARIJANA
+VASIĆ MARKO
+VASIĆ MIĆO
+VASIĆ MIHAILO
+VASIĆ MIHAJLO
+VASIĆ MIKA
+VASIĆ MILAN
+VASIĆ MILAN
+VASIĆ MILAN
+VASIĆ MILAN
+VASIĆ MILAN
+VASIĆ MILENKO DR PRIMARIUS
+VASIĆ MILENKO
+VASIĆ MILENKO
+VASIĆ MILICA
+VASIĆ MILINKO
+VASIĆ MILOŠ
+VASIĆ MILOŠ
+VASIĆ MILOVAN
+VASIĆ MILOVAN
+VASIĆ MILUTIN
+VASIĆ MIODRAG
+VASIĆ MIRJANA
+VASIĆ MIRJANA
+VASIĆ MIRJANA
+VASIĆ MIROSLAVA
+VASIĆ NADA
+VASIĆ NADA
+VASIĆ NEDELJKO
+VASIĆ NEDELJKO
+VASIĆ NEDELJKO
+VASIĆ NIKOLA
+VASIĆ NOVAK
+VASIĆ NOVAK
+VASIĆ NOVAK
+VASIĆ OLGA
+VASIĆ OLGICA
+VASIĆ OSTOJA
+VASIĆ OSTOJA
+VASIĆ PAJA
+VASIĆ PERO
+VASIĆ PETAR
+VASIĆ PETAR
+VASIĆ-POPOVIĆ LJILJANA
+VASIĆ PRVOSLAV DIPL ING
+VASIĆ RADICA
+VASIĆ RADIVOJ
+VASIĆ RADOJE
+VASIĆ RADOSLAV
+VASIĆ RADOVAN
+VASIĆ RATKO
+VASIĆ RAVICA
+VASIĆ SAVA
+VASIĆ SAVA
+VASIĆ SAVA
+VASIĆ SEKULA
+VASIĆ SLAVICA
+VASIĆ SLAVKO
+VASIĆ SLAVKO
+VASIĆ SLOBODAN
+VASIĆ SLOBODAN
+VASIĆ SLOBODAN
+VASIĆ SNEŽANA
+VASIĆ SOFIJA
+VASIĆ SRETKO
+VASIĆ STANIŠA
+VASIĆ STEVAN
+VASIĆ STEVAN
+VASIĆ STEVAN
+VASIĆ STEVAN
+VASIĆ SVETLANA
+VASIĆ SVETOZAR
+VASIĆ TIHOMIR
+VASIĆ TINKA
+VASIĆ TOŠA
+VASIĆ TOMISLAV
+VASIĆ VELIMIR
+VASIĆ VELIMIR
+VASIĆ VESELIN
+VASIĆ VIDA
+VASIĆ VLADIMIR DR LEKAR
+VASIĆ VLADIMIR
+VASIĆ VOJISLAV
+VASIĆ ZDRAVKO
+VASIĆ ZORAN
+VASIĆ ZORICA
+VASILČIN SLOBODAN
+VASILESKI BRANKO
+VASILIŠIN ANTON
+VASILIŠIN MILAN
+VASILIĆ BRANISLAV
+VASILIĆ DANICA
+VASILIĆ DRAGA
+VASILIĆ MILAN
+VASILIĆ MILENKO
+VASILIĆ MIRA
+VASILIĆ NIKOLA
+VASILIĆ RAJKO
+VASILIĆ STEVAN
+VASILIĆ TODE
+VASILIĆ VESNA
+VASILIĆ VOJIN DIPL ING
+VASILJČIN ŽIVKO
+VASILJEV ANA
+VASILJEV DEJAN
+VASILJEV DRAGOSLAV
+VASILJEV JELICA
+VASILJEV JOVAN
+VASILJEV JOVAN
+VASILJEV LJUBICA
+VASILJEV MARA
+VASILJEV MILORAD
+VASILJEV MIROLJUB
+VASILJEV MITA
+VASILJEV RADOVAN
+VASILJEV SPASOJE
+VASILJEV STANOJE
+VASILJEV TAMARA
+VASILJEV ZDRAVKO
+VASILJEVIĆ ŠARLOTA
+VASILJEVIĆ ŽIVOTA
+VASILJEVIĆ ĐORĐE
+VASILJEVIĆ ĐURA
+VASILJEVIĆ-AĆANSKI IVANA
+VASILJEVIĆ ANĐELKA
+VASILJEVIĆ ANDREJA
+VASILJEVIĆ CVETKO
+VASILJEVIĆ DANICA
+VASILJEVIĆ DRAGIŠA
+VASILJEVIĆ DUŠICA
+VASILJEVIĆ GLIGOR
+VASILJEVIĆ GOJAN
+VASILJEVIĆ GOJKO
+VASILJEVIĆ GROZDA
+VASILJEVIĆ JAVORKA
+VASILJEVIĆ JULKA
+VASILJEVIĆ LEPA
+VASILJEVIĆ LJUBINKO
+VASILJEVIĆ MARKO
+VASILJEVIĆ MARKO
+VASILJEVIĆ MILENA
+VASILJEVIĆ MILENKO
+VASILJEVIĆ MILISAV
+VASILJEVIĆ MILJKO
+VASILJEVIĆ MILOŠ
+VASILJEVIĆ MILORAD
+VASILJEVIĆ MIODRAG DIPL ING
+VASILJEVIĆ MIRA
+VASILJEVIĆ MIROSLAV
+VASILJEVIĆ MOMČILO DR
+VASILJEVIĆ NADA
+VASILJEVIĆ NEDELJKO
+VASILJEVIĆ NEVENKA
+VASILJEVIĆ NIKOLA
+VASILJEVIĆ NIKOLA
+VASILJEVIĆ OLGA
+VASILJEVIĆ OSTOJA
+VASILJEVIĆ PETAR
+VASILJEVIĆ PETAR
+VASILJEVIĆ RADA
+VASILJEVIĆ RADENKA
+VASILJEVIĆ RADOSAV
+VASILJEVIĆ RADOSLAV
+VASILJEVIĆ RADO
+VASILJEVIĆ RAJA NOVINAR
+VASILJEVIĆ RAJKO
+VASILJEVIĆ SIMO
+VASILJEVIĆ SLAVKO
+VASILJEVIĆ STANIMIR
+VASILJEVIĆ TIHOMIR
+VASILJEVIĆ TOŠA
+VASILJEVIĆ UMKA
+VASILJEVIĆ VERICA
+VASILJEVIĆ VUKICA
+VASILJEVIĆ ZDRAVKO
+VASILJEVIĆ ZLATKO
+VASILJEVIĆ ZLATOJE
+VASILJEVIĆ ZORAN
+VASILJEVSKI VASILIJE
+VASIN ĐORĐE
+VASIN ĐORĐE
+VASIN ANĐELKA
+VASIN ARANKA
+VASIN BORIVOJE
+VASIN BRANISLAV
+VASIN DRAGANA
+VASIN DRAGOMIR
+VASIN JASMINA
+VASIN JELENA
+VASIN JEVROSIMA
+VASIN JULKA
+VASIN LAZAR
+VASIN LJUBINKA
+VASIN MARICA
+VASIN MILENKO
+VASIN MILENKO
+VASIN NEDELJKO
+VASIN OLGICA
+VASIN PAVLE
+VASIN PETAR
+VASIN RADIVOJ
+VASIN STEVAN
+VASIN SVETISLAV
+VASIN SVETOZAR
+VASIN TODOR
+VASIN ZORA
+VASKO VERA
+VASKOVIĆ MILORAD
+VASKRSIĆ SAVETA
+VASOVIĆ ALEKSANDAR
+VASOVIĆ MILENA
+VASOVIĆ MILOVAN
+VASOVIĆ PREDRAG
+VASOVIĆ SLAVIMIRKA
+VATAJI ĐULA
+VATIĆ MARJAN
+VATIĆ MARKO
+VATIĆ MIRAŠ
+VATIĆ NIKOLA
+VATOVIĆ HRANISLAV
+VATOVIĆ JELENA
+VAURIČAK KATALIN
+VAVAN MILORAD
+VAVAN MILORAD
+VAVAN MLADENKO
+VAVAN PAVLE
+VAVAN SLAVKO
+VAVIĆ JOVAN
+VAVRA PREDRAG
+VAVRIN JOSIP
+VAVRIN PETAR
+VDOVIAK BERNARD
+VEČEI JOŽEF
+VEČEI JOSIP
+VEČEI LJILJANA
+VEČEJI JOVAN
+VEČERA MIHAJLO
+VEČERI JULIUS
+VEČI IŠTVAN
+VEČIĆ SVETLANA
+VEŠLIGAJ STEVAN
+VEŠLIGAJ VERA
+VEŠOVIĆ IVANKA
+VEŠOVIĆ LEOPOLD
+VEŠOVIĆ OLGA
+VEŠOVIĆ SMILJANA
+VEŠOVIĆ VLASTIMIR
+VEŠOVIĆ VUKSAN
+VEŠOVIĆ ZORKA MR
+VEĆKALOV ĐORĐE
+VEĆKALOV ALEKSANDAR
+VEĆKALOV SOFIJA DR LEKAR
+VEBEL VALERIJA
+VEBER BOŽANA
+VEBER GABRIELA
+VEBER GABRIELA
+VEBER MILICA
+VEBER OLGA
+VEBER TEREZIJA
+VEG ŠANDOR
+VEG ENIKE
+VEGŠE PAVLE
+VEGEL LASLO
+VEGVARI DEŽE
+VEGVARI JULIANA
+VEGVARI MIKLOŠ
+VEHTER KAROLJ
+VEHTER KAROLJ
+VEHTER ZOLTAN
+VEIN JEKA
+VEIN ZORKA
+VEINOVIĆ NIKOLA
+VEJIN ĐORĐE
+VEJIN BRANISLAVA
+VEJIN BRANISLAV
+VEJIN DUŠANKA
+VEJIN KRISTINA
+VEJNOVIĆ DANE
+VEJNOVIĆ DRAGAN
+VEJNOVIĆ JELENA
+VEJNOVIĆ MIRKO
+VEJNOVIĆ MLADEN DIPL ING
+VEJNOVIĆ NIKOLA
+VEJNOVIĆ OBRAD
+VEJNOVIĆ RAJKO
+VEJNOVIĆ SIMEON
+VEJNOVIĆ TIHOMIR
+VEJNOVIĆ TIHOMIR
+VEJNOVIĆ VAJKO
+VEJNOVIĆ VOJISLAV
+VEJZOVSKI VEJZ
+VEKAŠ ŽUŽANA
+VEKAŠ ATILA
+VEKAŠ EVA
+VEKAŠ EVA
+VEKAŠ JANOŠ
+VEKAŠ JUDITA
+VEKAŠ LASLO
+VEKIĆ ANA
+VEKIĆ DRAGAN
+VEKIĆ ELENA
+VEKIĆ JULIJANA
+VEKIĆ NIKOLA
+VEKIĆ PETAR
+VEKIĆ RADIVOJ
+VEKIĆ RADMILA
+VEKIĆ TEREZA
+VEKIĆ TEREZA
+VEKIĆ ZVONKO
+VEKONJ ŠANDOR
+VEKONJ LADISLAV
+VEKOVIĆ MILORAD
+VELČEK IŠTVAN
+VELČEK JOSIP
+VELČEK VLADIMIR
+VELĐI ANA
+VELĐI JOŽEF
+VELĐI LADISLAV
+VELĐI MARIJA
+VELAGIĆ SANJA
+VELAJA JOVO
+VELBABOVIĆ DESANKA
+VELBABOVIĆ MILORAD
+VELBABOVIĆ RADINKA
+VELEČKOVIĆ BRANKO
+VELEČKOVIĆ EVA
+VELEMIR ANICA
+VELEMIR DRAGOLJUB
+VELEMIR ILIJA
+VELEMIR MILOMIR
+VELEMIR RISTO
+VELEMIR RISTO
+VELEMIR SAVKA
+VELEMIR SLAVKO
+VELEMIR SVETOMIR
+VELEMIR TODOR
+VELEMIR VOJA
+VELEMIR VOJKO
+VELEMIROV SIMA
+VELENDEČIĆ BOŽO
+VELENDEČIĆ MILAN
+VELEZ IŠTVAN
+VELEZ IŠTVAN
+VELHES MIROSLAV
+VELHNER JOSIP DIPL ING
+VELIČKOV ŽIVAN
+VELIČKOV DANICA
+VELIČKOV GROZDA
+VELIČKOV KATICA
+VELIČKOV LJILJA
+VELIČKOV NATAŠA
+VELIČKOV RADIVOJ
+VELIČKOVIĆ ŽIVORAD DIPL PRAVNIK
+VELIČKOVIĆ ŽIVOTA
+VELIČKOVIĆ ĐORĐE
+VELIČKOVIĆ BILJANA
+VELIČKOVIĆ DUŠAN
+VELIČKOVIĆ EMILIJA
+VELIČKOVIĆ IVANKA
+VELIČKOVIĆ JOVAN
+VELIČKOVIĆ JOVAN
+VELIČKOVIĆ KATARINA
+VELIČKOVIĆ KSENIJA
+VELIČKOVIĆ MARIJA
+VELIČKOVIĆ MILANKA
+VELIČKOVIĆ MILAN
+VELIČKOVIĆ MILICA
+VELIČKOVIĆ MILORAD
+VELIČKOVIĆ NENAD
+VELIČKOVIĆ NIKOLA
+VELIČKOVIĆ PERSIDA
+VELIČKOVIĆ PREDRAG
+VELIČKOVIĆ SLAVIŠA
+VELIČKOVIĆ SLAVOLJUB
+VELIČKOVIĆ SONJA
+VELIČKOVIĆ STEVAN
+VELIČKOVIĆ ZORAN
+VELIČKOVSKI ALEKSANDAR
+VELIŠEK GABRIELA
+VELIŠEK GEZA
+VELIŠEK KARLO
+VELIĆ ILIJA
+VELIĆ ZORAN
+VELICKI ĐORĐE
+VELICKI ALEKSANDAR
+VELICKI ALEKSANDAR
+VELICKI JELICA
+VELICKI JOVICA
+VELICKI LJUBOMIR
+VELICKI MILAN
+VELICKI MILAN
+VELICKI MILIVOJ
+VELICKI MIODRAG
+VELICKI NOVAK
+VELICKI SVETOZAR
+VELICKI UROŠ
+VELICKI ZORAN
+VELICKI ZORA
+VELIJA LJILJANA
+VELIJA REĐEP
+VELIKIĆ ALEKSANDAR DIPL ING
+VELIKIĆ ANA
+VELIKIĆ DANICA
+VELIKIĆ LJUBOMIR
+VELIKIĆ SIMA
+VELIKIĆ ZORAN
+VELIMIROV JELENA
+VELIMIROV MILOŠ
+VELIMIROV VLADIMIR
+VELIMIROVIĆ ANGELA
+VELIMIROVIĆ BOŠKO
+VELIMIROVIĆ DIMITRIJE
+VELIMIROVIĆ DRAŠKO
+VELIMIROVIĆ JELISAVETA
+VELIMIROVIĆ JOVAN
+VELIMIROVIĆ LAZAR
+VELIMIROVIĆ NOVAK
+VELIMIROVIĆ SIMEON
+VELIMIROVIĆ SLAVICA
+VELIMIROVIĆ SLAVOLJUB
+VELIMIROVIĆ SMILJANA
+VELIMIROVIĆ SNEŽANA
+VELIMIROVIĆ VOJIN
+VELIOSKI SADEM
+VELIOV DŽEMAJLO
+VELISAVLJEV GORDANA DR
+VELISAVLJEV MILORAD DR
+VELISAVLJEV SREDOJE
+VELISAVLJEVIĆ MILISAV
+VELJA ŽIVA DIP OEC
+VELJA PETAR
+VELJANOVIĆ BRANISLAV
+VELJANOVIĆ MOMČILO
+VELJANOVIĆ TOMISLAVA
+VELJANOVSKI IVAN
+VELJIĆ MILOVAN
+VELJKO ANĐELKO
+VELJKOV DARINKA
+VELJKOV GEORGIJE
+VELJKOV IDA
+VELJKOV MIROSLAV DIPL PRAVNIK
+VELJKOV PAVLE
+VELJKOV-PFAJFER SOFIJA
+VELJKOV STEVAN
+VELJKOV VLADIMIR
+VELJKOVIĆ ŽARKO
+VELJKOVIĆ ALEKSANDAR DIPL ING
+VELJKOVIĆ ALEKSANDAR
+VELJKOVIĆ ANĐELKA
+VELJKOVIĆ BOŽIDAR
+VELJKOVIĆ BOJAN
+VELJKOVIĆ DOBROSAV
+VELJKOVIĆ DRAGAN
+VELJKOVIĆ MILOMIR
+VELJKOVIĆ MIODRAG
+VELJKOVIĆ MIODRAG
+VELJKOVIĆ MIRJANA
+VELJKOVIĆ MIRKO
+VELJKOVIĆ NADA
+VELJKOVIĆ PETAR
+VELJKOVIĆ RADA
+VELJKOVIĆ RADISAV
+VELJKOVIĆ RADOSAV
+VELJKOVIĆ RADOSLAV
+VELJKOVIĆ RUŽICA
+VELJKOVIĆ SRETEN
+VELJKOVIĆ SVETA
+VELJKOVIĆ SVETISLAV
+VELJKOVIĆ TIHOMIR
+VELJKOVIĆ VIDOJE
+VELJKOVIĆ VOJISLAV
+VELJKOVIĆ VUKAŠIN
+VELJOVIĆ DUŠAN
+VELJOVIĆ LEPOSAVA
+VELJOVIĆ MILAN
+VELJOVIĆ MITAR
+VELJOVIĆ MOMČILO
+VELJOVIĆ PAVLE
+VELJOVIĆ RUŽA
+VELJOVIĆ SIMO
+VELJOVIĆ SLAVICA
+VELKOVSKI IRENA
+VELKOVSKI TEOFIL
+VEMENAC OBRAD
+VEMIĆ BORA
+VEMIĆ DRAGINJA
+VEMIĆ ILIJA
+VEMIĆ LAZAR
+VEMIĆ MILAN
+VEMIĆ RADIVOJE DR
+VEMIĆ RADIVOJE
+VENČELOVSKI LJUBICA
+VENČELOVSKI VLADA
+VENČELOVSKI VLADIMIR
+VENČELOVSKI VLASTA
+VENCEL GEZA
+VENCEL GEZA
+VENCL JOSIP
+VENCL ZVONIMIR
+VENDLENER ANDRIJANA
+VENDLENER JELENA
+VENDLENER ZORAN
+VENE GORDANA
+VENGRIN AGNEŠ
+VENGRING FERENC
+VENGRING STEVAN
+VERAC MIODRAG
+VERBA JOŽEF
+VERBANEC IŠTVAN
+VERBANEC IŠTVAN
+VERBASI FRANJA
+VERBASI JOVANKA
+VEREŠ ĐULA
+VEREŠ ANDRIJA
+VEREŠ DRAGUTIN
+VEREŠ HAJNALKA
+VEREŠ IVAN
+VEREŠ JELISAVETA
+VEREŠ JOŽEF
+VEREŠ JOSIP
+VEREŠ JOSIP
+VEREŠ LADISLAV
+VEREŠ MARIJA
+VEREŠBARANJI IŠTVAN
+VEREŠBARANJI MARIJA
+VEREŠEVIĆ TIHOMIR
+VEREŽAN ĐURICA
+VEREŽAN ZORKA
+VEREB ŽUŽANA
+VEREBEŠ BORISLAVA
+VEREBEŠ ERVIN
+VERECKEI DUŠICA
+VERECKEI GEZA
+VERECKEI MARGITA
+VERGAŠ BRANKO
+VERIĆ RATKO
+VERKIĆ TODOR
+VERKIĆ VITOMIR
+VERKIĆ VOJISLAV
+VERLIĆ MILAN
+VERMEŠ LILI
+VERMEZOVIĆ ĐORĐE
+VERNAČKI ANITA
+VERNAČKI BRANISLAV
+VERNAČKI GAVRA
+VERNAČKI GAVRILO
+VERNAČKI MIROSLAV
+VERNER ANA
+VERNER MIHAJLO
+VERNER STEVAN
+VERNOT ANA
+VERNOT DUNJA
+VERNOT JOSIP
+VERNOT VJEKOSLAVA
+VERNOT ZDENKO
+VERNOT ZDENKO
+VERZOTI DRAGICA
+VERZOTI JULIJANA
+VERZOTI PETAR
+VERZOTI STANKA
+VESELIĆ BORIVOJ
+VESELIĆ DRAGOLJUB
+VESELIĆ GOSPAVA
+VESELIĆ RADOJKA
+VESELIĆ SLAVKO
+VESELICA MANE
+VESELICA MILAN
+VESELICA SVETOZAR
+VESELIN PETAR
+VESELINOV ĐORĐE
+VESELINOV BORISLAVA
+VESELINOV BRANISLAV
+VESELINOV LIBUŠA
+VESELINOV MILICA
+VESELINOV RISTA
+VESELINOV STEVAN DR
+VESELINOV STEVAN
+VESELINOV SVETOZAR
+VESELINOV VERA
+VESELINOVIĆ ĐORĐE
+VESELINOVIĆ ĐORĐE
+VESELINOVIĆ ĐORĐE
+VESELINOVIĆ ĐUJA
+VESELINOVIĆ ĐURA
+VESELINOVIĆ ĐURO
+VESELINOVIĆ ALEKSANDAR
+VESELINOVIĆ ALEKSANDAR
+VESELINOVIĆ ALEKSANDAR
+VESELINOVIĆ ALEKSANDAR
+VESELINOVIĆ BORA
+VESELINOVIĆ BRANE
+VESELINOVIĆ BRANISLAV
+VESELINOVIĆ BRANISLAV
+VESELINOVIĆ DARA
+VESELINOVIĆ DARKO
+VESELINOVIĆ DRAGAN
+VESELINOVIĆ DRAGOMIR
+VESELINOVIĆ DRAGORAD
+VESELINOVIĆ DUŠANKA
+VESELINOVIĆ GORDANA
+VESELINOVIĆ ILIJA
+VESELINOVIĆ JELISAVKA
+VESELINOVIĆ JORDAN
+VESELINOVIĆ JOSIPA
+VESELINOVIĆ JOVANKA
+VESELINOVIĆ JULIJANA
+VESELINOVIĆ KATICA
+VESELINOVIĆ LANA
+VESELINOVIĆ LENKICA
+VESELINOVIĆ LJUBOMIR
+VESELINOVIĆ MARIJA
+VESELINOVIĆ MIKA
+VESELINOVIĆ MILANKA
+VESELINOVIĆ MILAN
+VESELINOVIĆ MILAN
+VESELINOVIĆ MILAN
+VESELINOVIĆ MILAN
+VESELINOVIĆ MILAN
+VESELINOVIĆ MILENA
+VESELINOVIĆ MILE
+VESELINOVIĆ MILISAV
+VESELINOVIĆ MILORAD
+VESELINOVIĆ MIRKO
+VESELINOVIĆ MITA
+VESELINOVIĆ MLADEN
+VESELINOVIĆ NIKOLA
+VESELINOVIĆ NIKOLA
+VESELINOVIĆ OLGA
+VESELINOVIĆ PAVLE
+VESELINOVIĆ PERSIDA
+VESELINOVIĆ PETAR
+VESELINOVIĆ-POPOVIĆ BRANKA
+VESELINOVIĆ PREDRAG
+VESELINOVIĆ RADMIL
+VESELINOVIĆ RANKO
+VESELINOVIĆ RANKO
+VESELINOVIĆ RUŽICA
+VESELINOVIĆ RUŽICA
+VESELINOVIĆ RUŽICA
+VESELINOVIĆ SAVA
+VESELINOVIĆ SEVER
+VESELINOVIĆ SLOBODAN
+VESELINOVIĆ SPASOJE
+VESELINOVIĆ STEVAN
+VESELINOVIĆ STEVAN
+VESELINOVIĆ SVETISLAV
+VESELINOVIĆ TODOR
+VESELINOVIĆ TODOR
+VESELINOVIĆ UROŠ
+VESELINOVIĆ VASILJKA
+VESELINOVIĆ VELIMIR
+VESELINOVIĆ VELIZAR
+VESELINOVIĆ VELJKO
+VESELINOVIĆ VERA
+VESELINOVIĆ VERA
+VESELINOVIĆ VESELIN
+VESELINOVIĆ VESELIN
+VESELINOVIĆ VINKA
+VESELINOVIĆ VLADISLAV
+VESELINOVIĆ VLASTIMIR
+VESELINOVIĆ VOJISLAV DR LEKAR
+VESELINOVIĆ VOJISLAV
+VESELINOVIĆ VUKICA
+VESELINOVIĆ ZORAN
+VESELINOVIĆ ZORAN
+VESELINOVIĆ ZVEZDAN
+VESIĆ DOBROSAV
+VESIĆ DRAGOSLAV
+VESIĆ KATICA
+VESIĆ KRSTA
+VESIĆ MILAN
+VESIĆ MILAN
+VESIĆ MILICA
+VESIĆ MIODRAG
+VESIĆ MITAR
+VESIĆ MLADEN
+VESIĆ RUŽICA
+VESIĆ-VARGA DRAGICA
+VESIĆ VESELINKA
+VESIN BRANKO
+VESIN MILAN
+VESIN NADA
+VESIN PETAR
+VESKOV ALEKSANDAR
+VESKOV ALEKSANDAR
+VESKOV IVAN
+VESKOV JELENA
+VESKOV MILOŠ
+VESKOVIĆ ANKICA
+VESKOVIĆ DRAŠKO
+VESKOVIĆ KATARINA
+VESKOVIĆ MARICA
+VESKOVIĆ MIROSLAV
+VESKOVIĆ MOMČILO DIPL ING
+VESKOVIĆ PETAR
+VESKOVIĆ SLAVKO
+VESKOVIĆ STANOJE
+VESKOVIĆ ZORA
+VESLAVSKI TINKA
+VESNIĆ MILENA
+VESNIĆ-VASILJEVIĆ ANĐELIJA
+VESOVIĆ ACO
+VESOVIĆ ANDRIJA
+VETRAB FRANJA
+VETRAB KATALIN
+VETRAB MIHALJ
+VETRO PETAR
+VEVERIČEK MARIJA
+VEZETI MIHAEL
+VEZETI PETAR
+VEZILIĆ ĐORĐE
+VEZILIĆ CRNOGORKA
+VEZILIĆ DUŠANKA
+VEZILIĆ DUŠICA
+VEZILIĆ JELICA
+VEZILIĆ RADOSLAV
+VEZMAR BRANKO
+VEZMAR ILIJA
+VEZMAR MARGARITA
+VEZMAR MILAN
+VEZMAR MILOŠ
+VEZMAR MILORAD
+VEZMAR MOMČILO
+VEZMAR NIKOLA
+VEZMAR PETAR
+VEZULIĆ ĐORĐE
+VIČEK ŠANDOR
+VIČEK KAROLJ
+VIČEVIĆ ZVONIMIR
+VIČIK IGNJAT
+VIŠEKRUNA BORIVOJ
+VIŠEKRUNA DANKO
+VIŠEKRUNA DUŠAN
+VIŠEKRUNA DUŠKO
+VIŠEKRUNA JOVAN
+VIŠEKRUNA MILAN
+VIŠEKRUNA SLAVKO
+VIŠEKRUNA VOJIN
+VIŠIĆ MILE
+VIŠKOVIĆ MILICA
+VIŠKOVIĆ MILOŠ
+VIŠKOVIĆ PLANINKA
+VIŠKOVIĆ PREDRAG
+VIŠKOVIĆ VLADIMIR DR
+VIŠNIĆ DANICA
+VIŠNIĆ DUŠAN
+VIŠNIĆ ZORKA
+VIŠNJEVČANIN JOVAN
+VIŠNJEVČANIN LEPA
+VIŠNJEVAC BORO
+VIŠNJEVAC OLIVERA
+VIŠNJEVSKI KATICA
+VIŠNJIČAN DUŠAN
+VIŠNJIČAN GAVRILO
+VIŠNJIČAN JOVANKA
+VIŠNJIČAN MILICA
+VIŠNJIČANIN JOVANKA
+VIŠNJIČAR ŽARKO
+VIŠNJIČAR ĐORĐE
+VIŠNJIČAR ĐORĐE
+VIŠNJIČAR DRAGOSLAV
+VIŠNJIČAR MARIJA
+VIŠNJIČAR MIKA
+VIŠNJIČAR NEDELJKO
+VIŠNJIČKI GORDANA
+VIŠNJIČKI MILOŠ
+VIŠNJIČKI MIROSLAV
+VIŠNJIČKI SRETEN
+VIŠNJIĆ ČEDOMILA
+VIŠNJIĆ BRANKO
+VIŠNJIĆ BRANSILAVA
+VIŠNJIĆ DALIBOR
+VIŠNJIĆ DUŠAN
+VIŠNJIĆ ILIJA
+VIŠNJIĆ JOSIP
+VIŠNJIĆ MARIJA
+VIŠNJIĆ MILAN
+VIŠNJIĆ MILICA
+VIŠNJIĆ OLIVERA
+VIŠNJIĆ OLIVER
+VIŠNJIĆ SPASOJE
+VIŠNJIĆ TIHOMIR
+VIŠNJIĆ VASILIJE
+VIŠNJIĆ VERA
+VIŠNJIĆ VESNA
+VIŠNJOVSKI ĐURA
+VIŠNJOVSKI ARANKA
+VIŠNJOVSKI MARIJA
+VIŠNJOVSKI MARJAN
+VIŠOŠEVIĆ RUŽENA
+VIŠONTAI JOŽEF
+VIŠONTAI JOŽEF
+VIĆEVIĆ RADIŠA
+VIŽAI ŠANDOR
+VIATORIS JANOŠ
+VIATORIS JULIŠKA
+VIATORIS LJUBICA
+VIBOK JOŽEF
+VICEI JOŽEF
+VICEI NIKOLA
+VICIAN KLARA
+VICKO ARPAD
+VICKO FRANJA
+VICKO JOSIP
+VICKOŠ JOŽEF
+VICKOVIĆ BRANKO
+VICKOVIĆ BRANKO
+VICKOVIĆ DRAGICA
+VICKOVIĆ TOMISLAV
+VICKOVIĆ VESNA
+VICO BOGDAN
+VICO RADIVOJE
+VICO RADOMIR
+VID BRANISLAVA
+VIDA JELISAVETA
+VIDA JOŽEF
+VIDA JULIJA
+VIDA SLOBODANKA
+VIDA VILI
+VIDAČ JANJA LOKAL
+VIDAČ LASLO
+VIDAČ SLAVICA
+VIDAJIĆ ŽIVKO
+VIDAJIĆ JASMINA
+VIDAJIĆ JOSIP
+VIDAJIĆ LUČIJANO
+VIDAJIĆ MARIJA
+VIDAJIĆ VELJA
+VIDAJIĆ VLADA
+VIDAKOV ANKICA
+VIDAKOV JOVAN
+VIDAKOV ZORICA
+VIDAKOVIĆ ALEKSANDAR
+VIDAKOVIĆ ALEKSANDRA DR
+VIDAKOVIĆ ANGELINA
+VIDAKOVIĆ BRANIMIR
+VIDAKOVIĆ BRANKO
+VIDAKOVIĆ DUŠANKA
+VIDAKOVIĆ DUŠAN
+VIDAKOVIĆ EMIL
+VIDAKOVIĆ IVAN
+VIDAKOVIĆ IVAN
+VIDAKOVIĆ IVAN
+VIDAKOVIĆ JAGODA
+VIDAKOVIĆ JOSIP
+VIDAKOVIĆ JOSIP
+VIDAKOVIĆ KOSA
+VIDAKOVIĆ MIHAJLO
+VIDAKOVIĆ MILAN
+VIDAKOVIĆ MILAN
+VIDAKOVIĆ MILJA
+VIDAKOVIĆ MIRČETA
+VIDAKOVIĆ MIRJANA
+VIDAKOVIĆ MIRKO
+VIDAKOVIĆ NEDELJKO
+VIDAKOVIĆ OLGA
+VIDAKOVIĆ OLGA
+VIDAKOVIĆ RADENKO
+VIDAKOVIĆ RADMILA
+VIDAKOVIĆ SAVA
+VIDAKOVIĆ SLAVKA
+VIDAKOVIĆ SOFIJA
+VIDAKOVIĆ SREĆKO
+VIDAKOVIĆ SREĆKO
+VIDAKOVIĆ STEVAN
+VIDAKOVIĆ STOJAN
+VIDAKOVIĆ SVETOZAR
+VIDAKOVIĆ TEREZA
+VIDAKOVIĆ VOJISLAV
+VIDAKOVIĆ VOJISLAV
+VIDAKOVIĆ VUKAŠIN
+VIDANOVIĆ MIHAJLO
+VIDANOVIĆ-SKOKO JELENA
+VIDARIĆ JOVO
+VIDARIĆ MILORAD
+VIDARIĆ RATKO
+VIDARIĆ STEVAN
+VIDAS TEREZA
+VIDEC JOSIP
+VIDEC JOSIP
+VIDENOVIĆ BRANKO
+VIDENOVIĆ KOSOVKA
+VIDENOVIĆ LJILJANA DR
+VIDENOVIĆ MOMIR
+VIDER MIRKO DIPL ING
+VIDIĆ ŽELJKO
+VIDIĆ ĐORĐE
+VIDIĆ BRANISLAV
+VIDIĆ BRANKA
+VIDIĆ BRANKA
+VIDIĆ BRANKO
+VIDIĆ DRAGANA
+VIDIĆ DUŠANKA
+VIDIĆ EMILIJA
+VIDIĆ JELICA
+VIDIĆ JOCA
+VIDIĆ LJILJANA
+VIDIĆ LJUBOMIR
+VIDIĆ MARIJA
+VIDIĆ MILAN
+VIDIĆ MILAN
+VIDIĆ MILOŠ
+VIDIĆ MIROSLAVA
+VIDIĆ MIROSLAV
+VIDIĆ NADA
+VIDIĆ PERO
+VIDIĆ RADMILA
+VIDIĆ RADMILA
+VIDIĆ RAJKO
+VIDIĆ SOFIJA
+VIDIĆ STANISLAVA
+VIDIĆ STEVAN
+VIDIĆ SVETISLAV
+VIDIĆ VELJKO
+VIDIĆ VERA
+VIDIĆ ZDRAVKO
+VIDICKI BRANKO
+VIDICKI IVAN
+VIDICKI KOSTA
+VIDICKI LJUBOMIR
+VIDICKI MIROSLAV
+VIDINER BOŽIDAR
+VIDMANIĆ GABRIJELA
+VIDOJEVIĆ ŽIVKA
+VIDOJEVIĆ BLAŽO
+VIDOJEVIĆ BOŽA
+VIDOJEVIĆ JOSIF
+VIDOJKOVIĆ RADOMIR
+VIDOSAVLJEVIĆ DOBROSAV
+VIDOSAVLJEVIĆ DUŠAN
+VIDOSAVLJEVIĆ JELICA
+VIDOSAVLJEVIĆ ZVONIMIR
+VIDOVIĆ ŽIVKO
+VIDOVIĆ AMIRA
+VIDOVIĆ ANICA
+VIDOVIĆ BEATRIS
+VIDOVIĆ BILJANA
+VIDOVIĆ BISERKA
+VIDOVIĆ BOŽIDAR
+VIDOVIĆ BORISLAV
+VIDOVIĆ BORISLAV
+VIDOVIĆ BRANISLAV
+VIDOVIĆ DRAGO
+VIDOVIĆ MARJAN
+VIDOVIĆ MILAN
+VIDOVIĆ MILAN
+VIDOVIĆ MILAN
+VIDOVIĆ MILE
+VIDOVIĆ MILICA
+VIDOVIĆ MILOŠ
+VIDOVIĆ MIRKO
+VIDOVIĆ NADA
+VIDOVIĆ PETAR
+VIDOVIĆ RADOMIR
+VIDOVIĆ RAJKO
+VIDOVIĆ RUŽICA
+VIDOVIĆ SAVA
+VIDOVIĆ SLOBODAN
+VIDOVIĆ VID
+VIGI JOSIP
+VIGNJEVIĆ ĐORĐE
+VIGNJEVIĆ ANA
+VIGNJEVIĆ BRANKA
+VIGNJEVIĆ BRANKO
+VIGNJEVIĆ DAKO
+VIGNJEVIĆ DRAGAN
+VIGNJEVIĆ DRAGAN
+VIGNJEVIĆ DUŠANKA
+VIGNJEVIĆ MILENKO
+VIGNJEVIĆ NEVENKA
+VIGNJEVIĆ RADE
+VIGNJEVIĆ STEVANIJA
+VIGNJEVIĆ VESNA
+VIGNJEVIĆ VLADIMIR
+VIGNJEVIĆ ZORAN
+VIJATOV SMILJA
+VIJEŠTICA NJEGOMIR
+VIJUK LJUBAN
+VIJUK SAVA
+VIKOR PETAR
+VIKOR RUŽA
+VILČEK JANJA
+VILČEK NIKOLA
+VILA MILOVAN
+VILAGOŠ ĐERĐI
+VILETI ZORA
+VILIŠ ĐURA
+VILIŠ FRANJA
+VILIĆ MARKO
+VILIĆ RADOMIR
+VILIĆ RADOSLAVA
+VILIĆ ROZALIJA
+VILIĆ VOJISLAV
+VILIGORSKI PAULA
+VILOTIĆ ŽIVKO
+VILOTIĆ MILISAV
+VILOTIJEVIĆ DRAGUTIN
+VILOTIJEVIĆ KIĆUN
+VILOTIJEVIĆ MIROJE
+VILOVAČKI KATICA
+VILOVAČKI SLAVKO
+VILOVAC JOVAN
+VILOVAC JOVAN
+VILOVAC MILAN
+VILOVSKI ĐORĐE
+VILOVSKI BRANISLAV
+VILOVSKI BRANKO
+VILOVSKI SAVA
+VILOVSKI SLAVOMIR
+VILOVSKI SMILJANA
+VILOVSKI VELJKO
+VILOVSKI ZORA
+VILUS DANICA
+VIMER VERA
+VIN IVAN
+VIN JOSIP
+VIN LAJOŠ
+VIN PAVLE
+VIN SVETLANA
+VINŠ DRAGUTIN
+VINAJ ĐORĐE
+VINAJ ĐORĐE
+VINAJ JANKO
+VINAJ LJUBICA
+VINAJ MELANIJA
+VINAJI ĐURA
+VINAJI MITAR
+VINAJI VERICA
+VINARŽ VLADIMIR
+VINCE ANDRIJA
+VINCE ERŽEBET
+VINCE IŠTVAN
+VINCE KARLO
+VINCE LACIKA
+VINCE MARELA
+VINCE MARGITA
+VINCE PAVLE
+VINCETIN ANA
+VINDŽANOVIĆ PETAR
+VINDŽANOVIĆ RADIVOJE
+VINDIŠ DRAGUTIN
+VINDIŠ STEVAN
+VINER BRANISLAV
+VINER IVAN
+VINER JERONIM
+VINER MARIJA
+VINER ZVONIMIR
+VINKA EMANUELA
+VINKIĆ ILIJA
+VINKLER JOŽEF
+VINKLEROVIĆ VERICA
+VINKOVIĆ ANA
+VINKOVIĆ DRAGAN
+VINKOVIĆ LJUDEVIT
+VINOKIĆ BOGDAN
+VINOKIĆ VASILJKA
+VIRAG ALBERT
+VIRAG ANDRIJA
+VIRAG ERIKA
+VIRAG JULIJANA
+VIRAG LJUDEVIT
+VIRAG MARTON
+VIRAG MIHAJLO
+VIRAG ROBERT
+VIRAG ROBERT
+VIRC FERENC
+VIRC JOŽEF
+VIRC JOVAN
+VIRC MARTIN
+VIRC NADA
+VIRC RUŽICA
+VIRC STEVAN
+VIRIĆ IVAN
+VIRIĆ IVAN
+VIRIJEVIĆ ĐORĐE
+VIRIJEVIĆ BOŽIDAR
+VIRIJEVIĆ BUDIMIR
+VIRIJEVIĆ JOVANKA
+VIRIJEVIĆ LJUBINKO
+VIRIJEVIĆ PETAR
+VIRIJEVIĆ VOJIN
+VISLAVSKI ĐURA
+VISLAVSKI BOGDAN
+VISLAVSKI JAKIM
+VISLAVSKI JAKIM
+VISLAVSKI JANOŠ
+VISLAVSKI JANOŠ
+VISLAVSKI LEON
+VISLAVSKI LJUBOMIR
+VISLAVSKI MARIJA
+VISLAVSKI MIHAJLO
+VISLAVSKI MIRON
+VISLAVSKI MIROSLAV
+VISLAVSKI MIROSLAV
+VISLAVSKI NATAŠA
+VISLAVSKI ZLATKO
+VIST HELGAANA
+VITAS STEVAN
+VITAS STEVAN
+VITASOVIĆ DUŠANKA
+VITASOVIĆ DUŠANKA
+VITASOVIĆ DUŠAN
+VITASOVIĆ NEBOJŠA
+VITAZ PETAR
+VITEZ JAN
+VITEZ TUGOMIR
+VITEZ ZVONKO
+VITIĆ ĐORĐE
+VITIĆ ĐORĐE
+VITIĆ BOŠKO DR LEKAR
+VITJUK MIRJANA DIPL ING
+VITJUK PETAR DIPL ING
+VITKAI ILONA
+VITKOVIĆ BRANKO
+VITKOVIĆ DRAGO
+VITKOVIĆ JOVAN
+VITOMIROV ŽIVAN
+VITOMIROVIĆ BORIS
+VITOMIROVIĆ DRAGOMIR
+VITORAC ĐURA
+VITORAC ĐURO
+VITORAC BORISLAV
+VITORAC ILIJA
+VITORAC NADA
+VITORAC RUŽENKA
+VITOROVIĆ MILAN
+VITOROVIĆ MILOŠ
+VITOROVIĆ OLGA
+VITOROVIĆ RANKA
+VITOROVIĆ SOFIJA
+VITUŠKA STEVAN
+VIVOD JELISAVETA
+VIVOD MAGDALENA
+VIZI ŠANDOR
+VIZI JOSIP
+VIZI JOVAN
+VIZI KATICA
+VIZI MARIJA
+VIZI MARIJA
+VIZI RADOJKA
+VIZI SONJA
+VIZI STEVAN
+VJEŠTICA ĐURO
+VJEŠTICA DUŠANKA
+VJEŠTICA JOVO
+VJEŠTICA MILAN
+VJEŠTICA MIRKO
+VJEŠTICA MIROSLAV
+VJEŠTICA NADA
+VJEŠTICA NEBOJŠA
+VJEŠTICA SLAVKO
+VJERG BRANISLAV
+VJETROV LJUBICA
+VLA DUŠAN
+VLA DUŠAN
+VLA JOVAN
+VLA MILOVAN
+VLA PETAR
+VLA RADOSLAV
+VLA SLAVKO
+VLA SRETA
+VLAČO DUŠANKA
+VLAŠČIĆ ALEKSANDAR
+VLAŠIĆ MIODRAG
+VLAŠIĆ VASO
+VLAŠKALIĆ ĐORĐE
+VLAŠKALIĆ ALEKSANDAR
+VLAŠKALIĆ ANDRIJA
+VLAŠKALIĆ BOŽANA
+VLAŠKALIĆ-BOJANOVIĆ RAJKA
+VLAŠKALIĆ BRANISLAV
+VLAŠKALIĆ BRANISLAV
+VLAŠKALIĆ BRANISLAV
+VLAŠKALIĆ DONKA
+VLAŠKALIĆ FADILA
+VLAŠKALIĆ ILIJA
+VLAŠKALIĆ LAZAR
+VLAŠKALIĆ LAZAR
+VLAŠKALIĆ MILORAD
+VLAŠKALIĆ NIKOLA
+VLAŠKALIĆ OLGA
+VLAŠKALIĆ PAVLE
+VLAŠKALIĆ PAVLE
+VLAŠKALIĆ PAVLE
+VLAŠKALIĆ PETAR
+VLAŠKALIĆ PETAR
+VLAŠKALIĆ-POPOVIĆ DUŠANKA
+VLAŠKALIĆ RADOSLAV
+VLAŠKALIĆ SAVA
+VLAŠKALIĆ SLOBODAN
+VLAŠKALIĆ SLOBODAN
+VLAŠKALIĆ STEVAN
+VLAŠKALIĆ STOJAN
+VLAŠKALIĆ VLADIMIR
+VLAŠKALIĆ ZORA
+VLAŠKALIJA JELENA
+VLAŠKALIJA VLADA
+VLAŠKALIN BRANKO
+VLAŠKI BOGDANKA
+VLAŠKI LAZAR
+VLAŠKI PREDRAG
+VLADARSKI OLGA
+VLADARSKI OLGA
+VLADETIĆ MILAN
+VLADETIĆ MIRKO
+VLADIĆ DRAGO
+VLADIĆ MILAN
+VLADIĆ PETAR
+VLADIMIR SELENA
+VLADIMIR ZDRAVKO
+VLADIMIROVIĆ ALEKSANDAR
+VLADIMIROVIĆ MILAN
+VLADIMIROVIĆ VLADIMIR
+VLADISAVLJEV ŽIVAN
+VLADISAVLJEV MILORAD
+VLADISAVLJEV PERA
+VLADISAVLJEV TOMA
+VLADISAVLJEVIĆ ĐORĐE
+VLADISAVLJEVIĆ ĐURA
+VLADISAVLJEVIĆ DESIMIR
+VLADISAVLJEVIĆ DRAGICA
+VLADISAVLJEVIĆ ERŽEBET
+VLADISAVLJEVIĆ JELENA
+VLADISAVLJEVIĆ MILOSAVA
+VLADISAVLJEVIĆ MIROSLAV
+VLADISAVLJEVIĆ OBRAD
+VLADISAVLJEVIĆ-PEŠKANOV MIRJANA
+VLADISAVLJEVIĆ PREDRAG
+VLADISAVLJEVIĆ VOJISLAV
+VLADOVIĆ JOVAN
+VLADOVIĆ JOVAN
+VLADOVIĆ RADOJKA
+VLADUŠA NIKOLA
+VLADUŠIĆ IVAN
+VLADUŠIĆ MILAN
+VLADULOV ŽIVOJIN
+VLADULOVIĆ-POPOV MARIJA DR LEKAR
+VLADULOVIĆ TIHOMIR
+VLAH DANICA
+VLAH IVAN
+VLAH PAVLE
+VLAH RADOVAN
+VLAHEK STANKO
+VLAHINIĆ MILOŠ
+VLAHO KRUNOSLAV
+VLAHOVIĆ ĐORĐE
+VLAHOVIĆ BOJANA
+VLAHOVIĆ BRANISLAV
+VLAHOVIĆ BRANKA
+VLAHOVIĆ BRANKA
+VLAHOVIĆ DANIJELA
+VLAHOVIĆ DRAGOLJUB
+VLAHOVIĆ DRAGO
+VLAHOVIĆ DUŠAN
+VLAHOVIĆ JELICA
+VLAHOVIĆ LJUBICA
+VLAHOVIĆ LJUBINKA
+VLAHOVIĆ MARIJA
+VLAHOVIĆ MILAN DIPL ING
+VLAHOVIĆ MILENKO
+VLAHOVIĆ MILICA
+VLAHOVIĆ MIRKO DR ING
+VLAHOVIĆ MIROSLAVA
+VLAHOVIĆ MOMČILO
+VLAHOVIĆ PAVLE
+VLAHOVIĆ RADOŠ
+VLAHOVIĆ RADOMIR
+VLAHOVIĆ RADONJA
+VLAHOVIĆ SAVA DR
+VLAHOVIĆ SENKA
+VLAHOVIĆ SLOBODAN
+VLAHOVIĆ STEVAN
+VLAHOVIĆ STRAHINJA
+VLAHOVIĆ TEODORA
+VLAHOVIĆ VITOMIRKA
+VLAHOVIĆ VLADA
+VLAHOVIĆ VLADIMIR
+VLAHUŠIĆ MIRKO
+VLAHUŠIĆ OLGICA
+VLAISAVLJEVIĆ ŽIVKO
+VLAISAVLJEVIĆ ĐUJO
+VLAISAVLJEVIĆ ANGELINA
+VLAISAVLJEVIĆ DANILO
+VLAISAVLJEVIĆ DARA
+VLAISAVLJEVIĆ DMITAR
+VLAISAVLJEVIĆ DUŠAN
+VLAISAVLJEVIĆ MAKSIM
+VLAISAVLJEVIĆ MILAN
+VLAISAVLJEVIĆ MILAN
+VLAISAVLJEVIĆ MILIJANA
+VLAISAVLJEVIĆ MILOŠ
+VLAISAVLJEVIĆ MOMČILO
+VLAISAVLJEVIĆ NIKOLA
+VLAISAVLJEVIĆ NIKOLA
+VLAISAVLJEVIĆ NIKOLA
+VLAISAVLJEVIĆ RADMILA
+VLAISAVLJEVIĆ SAVO
+VLAISAVLJEVIĆ SLOBODAN
+VLAISAVLJEVIĆ SOFIJA
+VLAISAVLJEVIĆ STOJA
+VLAISAVLJEVIĆ TRIVUNA
+VLAISAVLJEVIĆ VASO
+VLAJANKOV LAZAR
+VLAJANKOV NATALIJA
+VLAJANKOV SLOBODAN
+VLAJANKOV-VULIĆ VERA
+VLAJIĆ DRAGAN
+VLAJIĆ DRAGOSLAVA
+VLAJIĆ DUŠANKA
+VLAJIĆ DUŠICA
+VLAJIĆ JOVAN
+VLAJIĆ MARIJA
+VLAJIĆ MILOŠ
+VLAJIĆ VALERIJA
+VLAJKOV BOSILJKA
+VLAJKOV BRANISLAV
+VLAJKOV BRANKO
+VLAJKOV-IVANOVIĆ SNEŽANA
+VLAJKOV LAZAR
+VLAJKOV LAZA
+VLAJKOV MACA
+VLAJKOV MIODRAG
+VLAJKOV MIRKO
+VLAJKOV MLADEN
+VLAJKOV NIKOLA
+VLAJKOV PAVLE
+VLAJKOV PETAR
+VLAJKOV ZORICA
+VLAJKOVIĆ ANTONIJA
+VLAJKOVIĆ BOGDAN
+VLAJKOVIĆ MILUTIN
+VLAJKOVIĆ MIODRAG
+VLAJKOVIĆ NEMANJA
+VLAJNIĆ ČEDOMIR
+VLAJNIĆ GORAN
+VLAJNIĆ MIRJANA
+VLAJNIĆ ZORA
+VLAJOVANOV SLOBODAN
+VLALUKIN DRAGOSLAV
+VLALUKIN ILONA
+VLALUKIN ILONKA
+VLALUKIN MILORAD DIPL ING
+VLALUKIN MIRJANA
+VLALUKIN NADA
+VLALUKIN SAVA
+VLALUKIN SLAVKO
+VLALUKIN ZORA
+VLAOV-ŽARKOV OLGA
+VLAOV GORDANA
+VLAOV JAVORKA
+VLAOV MILOŠ
+VLAOV MIROSLAV
+VLAOV VELIMIR
+VLAOVIĆ ĐORĐE
+VLAOVIĆ ĐORĐE
+VLAOVIĆ ĐORĐE
+VLAOVIĆ ĐORĐE
+VLAOVIĆ ALEKSANDAR
+VLAOVIĆ ANICA
+VLAOVIĆ BOŠKO
+VLAOVIĆ BRANISLAVA
+VLAOVIĆ DIMITRIJE
+VLAOVIĆ DRAGAN
+VLAOVIĆ DRAGAN
+VLAOVIĆ DRAGOLJUB
+VLAOVIĆ DUŠAN
+VLAOVIĆ DUŠKO
+VLAOVIĆ GAVRA
+VLAOVIĆ HARI
+VLAOVIĆ IGNJAT
+VLAOVIĆ IVANKA
+VLAOVIĆ JELA
+VLAOVIĆ JOVAN
+VLAOVIĆ JOVAN
+VLAOVIĆ KATICA
+VLAOVIĆ LAZAR
+VLAOVIĆ LJUBIŠA
+VLAOVIĆ LJUBICA
+VLAOVIĆ LJUBOMIR
+VLAOVIĆ LJUBOMIR
+VLAOVIĆ LUKA
+VLAOVIĆ MARA
+VLAOVIĆ MARKO
+VLAOVIĆ MILOŠ
+VLAOVIĆ MILOŠ
+VLAOVIĆ MILOSAV
+VLAOVIĆ MIROSLAV
+VLAOVIĆ MLADEN
+VLAOVIĆ NIKOLA
+VLAOVIĆ NIKOLA
+VLAOVIĆ OLIVERA
+VLAOVIĆ PLEMENKA
+VLAOVIĆ RADIVOJ
+VLAOVIĆ RAJKO
+VLAOVIĆ SAVA
+VLAOVIĆ SLAVKO
+VLAOVIĆ STANOJE
+VLAOVIĆ STEVAN
+VLAOVIĆ STEVAN
+VLAOVIĆ SVETOZAR
+VLAOVIĆ TOŠA
+VLAOVIĆ TODOR
+VLAOVIĆ TOMA
+VLAOVIĆ TOMISLAV
+VLAOVIĆ VESNA
+VLAOVIĆ VLASTISLAVA
+VLAOVIĆ ZORAN
+VLASAČEVIĆ STOJKO
+VLASAK RENATA
+VLASOV MIHAJLO
+VLASTELIĆ ROKSANDA
+VLATKOVIĆ ŽELJKO
+VLATKOVIĆ ANGELO
+VLATKOVIĆ DUŠAN
+VLATKOVIĆ KREŠIMIR
+VLATKOVIĆ MARIJA
+VLATKOVIĆ MARIJA
+VLATKOVIĆ MILAN
+VLATKOVIĆ MILICA
+VLATKOVIĆ MIROSLAV
+VLATKOVIĆ MLADEN
+VLATKOVIĆ NIKOLA
+VLATKOVIĆ SAVKA
+VLATKOVIĆ SVETOZAR
+VOŠTIĆ ALEKSANDAR
+VOŠTIĆ MIODRAG
+VODA ZDENKO
+VODALOV DEJAN
+VODALOV MLADEN
+VODENIČAR NIKOLA
+VODOGAZ DRAGAN
+VODOGAZ LEPOSAVA
+VODOPIVEC ŽELJKO
+VODOPIVEC DRAGICA
+VODOPIVEC MIHAEL
+VOGANJAC MILENKO
+VOGLEŠ LIDIJA
+VOIN ALEKSANDAR DR LEKAR
+VOJČEVSKI ALEKSANDAR
+VOJČIĆ JOVAN
+VOJAŠĆUK MARA
+VOJIČIĆ JELENA
+VOJIČIĆ RAJKO
+VOJIČIĆ SAVA
+VOJIČIĆ VLADIMIR
+VOJIMIROVIĆ SLAVKO
+VOJIN MILKA
+VOJINOV ĐORĐE
+VOJINOV MIRA
+VOJINOV RADOSLAV
+VOJINOVIĆ ALEKSANDRA
+VOJINOVIĆ BOGIĆ
+VOJINOVIĆ DRAGAN
+VOJINOVIĆ DRAGOLJUB
+VOJINOVIĆ DRAGOSLAV
+VOJINOVIĆ JELENA
+VOJINOVIĆ JOVAN DR
+VOJINOVIĆ LJILJANA
+VOJINOVIĆ LJUBOMIR
+VOJINOVIĆ MILIVOJE
+VOJINOVIĆ MILORAD
+VOJINOVIĆ MIRJANA DR
+VOJINOVIĆ MIROSLAV
+VOJINOVIĆ MIROSLAV
+VOJINOVIĆ MIROSLAV
+VOJINOVIĆ NEBOJŠA
+VOJINOVIĆ VESELIN
+VOJINOVIĆ VUJICA
+VOJINOVIĆ VUKOSAVA
+VOJINOVIĆ ZORKA
+VOJISAVLJEVIĆ ZLATIJA
+VOJKIĆ BOŠKO
+VOJKIĆ RADISLAV
+VOJNIĆ FRANJA
+VOJNIĆ-HAJDUK GIZA
+VOJNIĆ-HAJDUK LJILJANA
+VOJNIĆ-HAJDUK MIRJANA
+VOJNIĆ JOVAN
+VOJNIĆ-KORTUIŠ STANA
+VOJNIĆ STEVAN
+VOJNOV BRANISLAV
+VOJNOV-ILIĆ ROZALIJA
+VOJNOV STOJAN DR LEKAR
+VOJNOVIĆ ŽARKO
+VOJNOVIĆ ŽARKO
+VOJNOVIĆ ŽARKO
+VOJNOVIĆ ĐORĐE
+VOJNOVIĆ ĐORĐE
+VOJNOVIĆ ĐURA
+VOJNOVIĆ ĐURO
+VOJNOVIĆ ACA
+VOJNOVIĆ ANASTAZIJA
+VOJNOVIĆ BRACA
+VOJNOVIĆ BRANKO
+VOJNOVIĆ BRANKO
+VOJNOVIĆ BRANKO
+VOJNOVIĆ DANICA
+VOJNOVIĆ DAVOR
+VOJNOVIĆ DESANKA
+VOJNOVIĆ DESANKA
+VOJNOVIĆ DIMITRIJE
+VOJNOVIĆ DRAGAN
+VOJNOVIĆ DRAGAN
+VOJNOVIĆ DRAGICA
+VOJNOVIĆ DUŠAN DIPL ING
+VOJNOVIĆ DUŠAN
+VOJNOVIĆ DUŠAN
+VOJNOVIĆ DUŠAN
+VOJNOVIĆ DUŠAN
+VOJNOVIĆ GIZELA
+VOJNOVIĆ ILIJA
+VOJNOVIĆ ILIJA
+VOJNOVIĆ ILIJA
+VOJNOVIĆ ILIJA
+VOJNOVIĆ IVANKA
+VOJNOVIĆ IVAN
+VOJNOVIĆ JOVAN
+VOJNOVIĆ JOVAN
+VOJNOVIĆ KATARINA
+VOJNOVIĆ KATICA
+VOJNOVIĆ KLARA
+VOJNOVIĆ LJUBIŠA
+VOJNOVIĆ LJUBINKA
+VOJNOVIĆ MARA
+VOJNOVIĆ MARKO
+VOJNOVIĆ MILAN
+VOJNOVIĆ MILAN
+VOJNOVIĆ MILAN
+VOJNOVIĆ MILAN
+VOJNOVIĆ MILAN
+VOJNOVIĆ MILAN
+VOJNOVIĆ MILENKO
+VOJNOVIĆ MILENKO
+VOJNOVIĆ MILICA
+VOJNOVIĆ MILINA
+VOJNOVIĆ MILJAN
+VOJNOVIĆ MILKA
+VOJNOVIĆ MILOŠ
+VOJNOVIĆ MILUTIN
+VOJNOVIĆ MIODRAG
+VOJNOVIĆ MIRJANA
+VOJNOVIĆ MIRKO
+VOJNOVIĆ MIROSLAV
+VOJNOVIĆ MLADEN DIPL OEC
+VOJNOVIĆ NADA
+VOJNOVIĆ NADA
+VOJNOVIĆ NADEŽDA
+VOJNOVIĆ NATAŠA
+VOJNOVIĆ NATAŠA
+VOJNOVIĆ NIKOLA DR
+VOJNOVIĆ NIKOLA
+VOJNOVIĆ NIKOLA
+VOJNOVIĆ PETAR
+VOJNOVIĆ PETAR
+VOJNOVIĆ PETAR
+VOJNOVIĆ RADA
+VOJNOVIĆ RADE
+VOJNOVIĆ RADE
+VOJNOVIĆ RADE
+VOJNOVIĆ RADIVOJ
+VOJNOVIĆ-RADUJKOV NADA
+VOJNOVIĆ RAJKO
+VOJNOVIĆ RUŽICA
+VOJNOVIĆ SLAVKO
+VOJNOVIĆ SLAVKO
+VOJNOVIĆ SPASENIJA
+VOJNOVIĆ STAMENKA
+VOJNOVIĆ STANISLAV
+VOJNOVIĆ STEVAN
+VOJNOVIĆ STEVAN
+VOJNOVIĆ STEVAN
+VOJNOVIĆ STEVA
+VOJNOVIĆ STEVO
+VOJNOVIĆ STOJKA
+VOJNOVIĆ STRAHINJA
+VOJNOVIĆ TOMISLAV
+VOJNOVIĆ VESELIN
+VOJNOVIĆ VESELIN
+VOJNOVIĆ VLADIMIR
+VOJNOVIĆ VLADIMIR
+VOJNOVIĆ VLADIMIR
+VOJNOVIĆ VLADIMIR
+VOJNOVIĆ VOJISLAV
+VOJNOVIĆ VOJISLAV
+VOJNOVIĆ ZDRAVKO
+VOJT LJUBICA
+VOJT MILANA
+VOJTAS STANISLAV
+VOJTEHOVSKI JAROSLAV
+VOJTEHOVSKI OTO
+VOJTEHOVSKI OTO
+VOJTEHOVSKI ZAGORKA
+VOJVODIĆ ĐURA
+VOJVODIĆ ALEKSANDAR
+VOJVODIĆ ANA
+VOJVODIĆ BRANISLAV
+VOJVODIĆ DANICA
+VOJVODIĆ DRAGOLJUB
+VOJVODIĆ DUŠAN
+VOJVODIĆ GRADIMIR
+VOJVODIĆ JOVAN
+VOJVODIĆ MANIŠA
+VOJVODIĆ MILAN
+VOJVODIĆ MILE
+VOJVODIĆ MILOŠ
+VOJVODIĆ MILORAD
+VOJVODIĆ MIRKO
+VOJVODIĆ NADA
+VOJVODIĆ NIKOLA
+VOJVODIĆ RADOVAN
+VOJVODIĆ RATKA
+VOJVODIĆ SLAVKO
+VOJVODIĆ STEVAN
+VOJVODIĆ STEVAN
+VOJVODIĆ-TASIĆ SVETLANA
+VOJVODIĆ VASO
+VOJVODIĆ VOJISLAV
+VOJVODIĆ ZORA
+VOKŠI ĐEVAD
+VOKALIĆ HILDEGARD
+VOKALIĆ TEOBALD
+VOKIĆ DRAGAN
+VOKIĆ DUŠKO
+VOKIĆ JOVAN
+VOKIĆ NADA
+VOLČEVIĆ BORISLAV
+VOLČEVIĆ EVA
+VOLČEVIĆ TODOR
+VOLČEVSKI EVANTIJE
+VOLČEVSKI NIKOLA
+VOLAŠ ISIDOR
+VOLAŠ MILANKO
+VOLAŠ MILAN
+VOLAR ANDRAŠ
+VOLAR KARLO
+VOLAR PETAR
+VOLAR STJEPAN
+VOLAREV LJUBOMIR
+VOLAREV NADA
+VOLAREV STEVAN
+VOLAREVIĆ MARKO
+VOLAREVIĆ ZORAN
+VOLAROV MILAN
+VOLAROV RADOVAN
+VOLENC MARIJA
+VOLF BORIS
+VOLF DRAGUTIN
+VOLF IŠTVAN
+VOLF LJUBICA
+VOLF LJUDEVIT
+VOLF MIRA
+VOLF MIRA
+VOLF VERA
+VOLIČ VLADIMIR
+VOLIĆ ALEKSANDAR
+VOLIĆ BOŽIDAR
+VOLIĆ DRAGOSLAV
+VOLIĆ GRUJA
+VOLIĆ LJILJANA
+VOLIĆ MARINKA
+VOLIĆ PETAR
+VOLIĆ RADOSLAV
+VOLIĆ SLAVKO
+VOLIĆ TIHOMIR
+VOLIĆ VINKA
+VOLKAR EMIL
+VOLKOV RADOSLAV
+VOLOŠKIN BRATISLAV
+VOLOŠKIN DRAGICA
+VONIĆ VLATKO
+VORAČEK ŽELJKO
+VORAČEK LADISLAV
+VORATOVIĆ RADIVOJ
+VORGIĆ ĐORĐE
+VORGIĆ ALEKSANDAR
+VORGIĆ ANĐELKA
+VORGIĆ BORIVOJ
+VORGIĆ DRAGAN
+VORGIĆ EMIL
+VORGIĆ GAVRA
+VORGIĆ JOSIP
+VORGIĆ LAZAR
+VORGIĆ MARA
+VORGIĆ MILADINKA
+VORGIĆ NIKOLA DR
+VORGIĆ SLOBODAN
+VORGIĆ STEVAN
+VORGIĆ STEVAN
+VORGIĆ VUJICA
+VORGIĆ ZDRAVKO
+VORGIĆ ZORA
+VORGINC CVETA
+VORGUČIĆ MILOŠ
+VORGUČIĆ SAŠA
+VORGUČIN IVAN
+VORKAPA NIKOLA
+VORKAPIĆ DUŠAN
+VORKAPIĆ LJUBICA
+VORKAPIĆ MILAN
+VORKAPIĆ NIKOLA
+VORLIČEK JANOŠ
+VORLIČEK JANOŠ
+VORLIČEK MARICA
+VOROBJEV PETAR
+VOROBJEV SAVA
+VOROTOVIĆ STANA
+VORTIĆ BOSILJKA
+VOZAR ANA
+VOZAR DANICA
+VOZAR DRAGAN
+VOZAR MILOŠ
+VOZAR PAVLE DIPL ING
+VOZAREVIĆ ĐORĐE
+VOZAREVIĆ ELIZABETA
+VOZAREVIĆ JELICA
+VOZAREVIĆ MIRKO
+VOZAROVIĆ VIDA
+VRČINAC PETAR
+VRŠKA ĐORĐE
+VRŠKA DANIJEL
+VRŠKA KATARINA
+VRAČAR BRANISLAV
+VRAČAR DARINKA
+VRAČAR JOVAN
+VRAČAR LJUBOMIR
+VRAČAR LJUBO
+VRAČAR MILAN
+VRAČAR MIOLJKA
+VRAČAR NEDELJKO
+VRAČAR SLAVKA
+VRAČAR SLOBODAN
+VRAČAR VERA
+VRAČAR VUK
+VRAČAR ZDENKA
+VRAČARIČIĆ RADE
+VRAČARIĆ ĐORĐE
+VRAČARIĆ ALEKSANDAR
+VRAČARIĆ DIMITRIJE
+VRAČARIĆ JELICA
+VRAČARIĆ LJILJANA
+VRAČARIĆ LJUBIŠA
+VRAČARIĆ LJUBOMIR
+VRAČARIĆ MARIJA
+VRAČARIĆ MILENKO
+VRAČARIĆ MILISAV
+VRAČARIĆ MILOMIR
+VRAČARIĆ VLADIMIR
+VRAČEVIĆ SAVKA
+VRAŠTANOVIĆ LJUBINKA
+VRABLIK JULIJANA
+VRAGOVIĆ JOCA
+VRANA NADA
+VRANAC KSENIJA
+VRANAC SEAD
+VRANAC VAHIDA
+VRANAC ZIJAD
+VRANEŠ ČEDOMIR
+VRANEŠ BOŽIDAR
+VRANEŠ DAVORIN
+VRANEŠ EMILIJA
+VRANEŠ JOVANKA
+VRANEŠ MARIJA
+VRANEŠ MILAN
+VRANEŠ MILKA
+VRANEŠ MILUTIN
+VRANEŠ NADA
+VRANEŠ NIKOLA
+VRANEŠ PETAR
+VRANEŠ SMILJA
+VRANEŠ VERICA
+VRANEŠEVIĆ ADAM
+VRANEŠEVIĆ BRANISLAV DR
+VRANEŠEVIĆ DAMJAN
+VRANEŠEVIĆ KATICA
+VRANEŠEVIĆ MILAN
+VRANEŠEVIĆ MILAN
+VRANEŠEVIĆ MILOŠ
+VRANEŠEVIĆ MIROSLAV
+VRANEŠEVIĆ MLADEN
+VRANEŠEVIĆ NADA DR
+VRANEŠEVIĆ PREDRAG
+VRANEŠEVIĆ RAJKO
+VRANEŠEVIĆ STEVAN
+VRANEŠEVIĆ STOJAN
+VRANIĆ ČEDOMIR
+VRANIĆ BRANKO
+VRANIĆ DOBRINA
+VRANIĆ DRAGINJA
+VRANIĆ DRAGOSLAV
+VRANIĆ ILIJA
+VRANIĆ JADRANKA
+VRANIĆ MARKO
+VRANIĆ MILAN PROFESOR
+VRANIĆ MILORAD
+VRANIĆ MILUTIN
+VRANIĆ MIRČETA
+VRANIĆ MIRKO
+VRANIĆ MITRA
+VRANIĆ NENAD
+VRANIĆ NIKOLA
+VRANIĆ RADIVOJE
+VRANIĆ RADOJKA
+VRANIĆ SLAVKO
+VRANIĆ SLOBODAN
+VRANJEŠ GOJKO
+VRANJEŠ JOVANKA
+VRANJEŠ MILENKO
+VRANJEŠ MILENKO
+VRANJEŠ MILE
+VRANJEŠ MILKA
+VRANJEŠ NENAD
+VRANJEŠ RADOMIR
+VRANJEŠ SOFIJA
+VRANJEŠ SVETISLAV
+VRANJEŠ SVETLANA
+VRANJEŠEVIĆ BRANKO
+VRANJEŠEVIĆ DINKA
+VRANJEŠEVIĆ DRAGAN
+VRANJEŠEVIĆ JOVICA
+VRANJEŠEVIĆ MOMIR
+VRANJEŠEVIĆ RATOMIR
+VRANJEŠEVIĆ VELJKO
+VRANJEVAC DRAGAN
+VRANJEVAC MILIVOJE
+VRANJKOVIĆ MILAN
+VRANJKOVIĆ MILE
+VRANJKOVIĆ SMILJKA
+VRANJKOVIĆ SRETO
+VRANJO FRANJA
+VRANJO ZOLTAN
+VRANKOVIĆ JURAJ
+VRANKOVIĆ LUKA
+VRANKOVIĆ MILAN
+VRAPČEV ŽIVKO
+VRAPČEV DUŠKO
+VRAPČEV MELANIJA
+VRATNJAN BRANIMIR
+VRATONJIĆ SLAVOLJUB
+VRBAŠKI ŽARKO
+VRBAŠKI ŽARKO
+VRBAŠKI ĐORĐE
+VRBAŠKI ĐORĐE
+VRBAŠKI ĐURA
+VRBAŠKI ALEKSANDAR
+VRBAŠKI ANICA
+VRBAŠKI BRANISLAVA
+VRBAŠKI DARINKA
+VRBAŠKI DRAGOMIR
+VRBAŠKI DRAGOSLAV
+VRBAŠKI DUŠAN
+VRBAŠKI DUŠAN
+VRBAŠKI DUŠAN
+VRBAŠKI DUŠICA
+VRBAŠKI GORDANA
+VRBAŠKI JELENA
+VRBAŠKI JELISAVETA
+VRBAŠKI JOVAN
+VRBAŠKI JULIJANA
+VRBAŠKI KOSTA
+VRBAŠKI LAZAR
+VRBAŠKI LJILJANA
+VRBAŠKI LJUBICA MR
+VRBAŠKI LJUBOMIR
+VRBAŠKI MILAN
+VRBAŠKI MILAN
+VRBAŠKI MILENA
+VRBAŠKI MILENKO
+VRBAŠKI MILICA
+VRBAŠKI MILORAD
+VRBAŠKI MIODRAG
+VRBAŠKI MIROSLAV
+VRBAŠKI MIROSLAV
+VRBAŠKI PAVLE
+VRBAŠKI PETAR DIPL ING
+VRBAŠKI PETAR
+VRBAŠKI PETAR
+VRBAŠKI RADA
+VRBAŠKI RADENKO
+VRBAŠKI SAVA
+VRBAŠKI SLOBODAN
+VRBAŠKI STEVAN DR
+VRBAŠKI SVETLANA
+VRBAŠKI TANJA
+VRBAŠKI TIMA
+VRBAŠKI TODOR
+VRBAŠKI VLADISLAV
+VRBAJAC ĐORĐE
+VRBAJAC CVEĆE
+VRBAJAC JOVAN
+VRBAJAC VALERIJA
+VRBANAC LAJOŠ
+VRBICA DRAGOLJUB
+VRBICA KSENIJA
+VRBICA PETAR
+VRBLJANAC ALEN
+VRCAN VALERIJA
+VRCELJ ŽIVKO
+VRCELJ BOŽIDAR
+VRCELJ LJILJANA
+VRCELJ MIHAJLO
+VRCELJ ZORAN
+VRDOLJAK BRANIMIR
+VRDOLJAK RADOVANKA
+VREŠĆAK IŠTVAN
+VREĆA BRANKO
+VREĆO VELIMIR
+VREBAC ZVONIMIR
+VREBALOV ALEKSANDRA
+VREBALOV STEVAN
+VREBALOV TIHOMIR
+VREVEZOSKI RISTO
+VREVIČIĆ ĐORĐE
+VREVIČIĆ SIMA
+VREVIČIĆ TRIVUN
+VRGOV KOSTA
+VRGOVIĆ DRAGAN
+VRGOVIĆ STEVAN
+VRGOVIĆ VERA
+VRGOVIĆ VLADIMIR
+VRHOVAC BRANISLAV
+VRHOVAC DANE
+VRHOVAC JASMINA
+VRHOVAC NEDELJKO
+VRHOVAC SLAVKO DIPL ING
+VRHOVAC TOMISLAV
+VRKEŠ GORAN
+VRMIĆ MLADEN
+VRNČIĆ ĐORĐE
+VRSAJKOV ILIJA
+VRSAJKOV ISIDOR
+VRSAJKOV JULKA
+VRSAJKOV LJUBICA
+VRSAJKOV MILOŠ
+VRSAJKOV NEVENKA
+VRSELJA VINKO
+VRTIKAPA JOVANKA
+VRTIPRAŠKI PETAR
+VRTIPRAŠKI RADOVAN DR
+VRTIPRAŠKI RADOVAN
+VRTIPRAŠKI VASA
+VRTOVŠNIK MIHAJLO
+VRTULEK SMILJA
+VRTUNIĆ BORISLAV
+VRTUNIĆ MARKO
+VRTUNIĆ NIKOLA
+VRTUNSKI DANICA
+VRTUNSKI HEDVIGA
+VRTUNSKI JULKA
+VRTUNSKI KATARINA
+VRTUNSKI MILAN
+VRTUNSKI MILICA
+VRTUNSKI MIODRAG
+VRTUNSKI MLADEN
+VRTUNSKI SRĐAN
+VRTUNSKI VLADIMIR
+VRUĆINIĆ RADOJICA
+VRUĆINIĆ RAJKO
+VRZIĆ BORISLAV
+VRZIĆ DRAGICA
+VRZIĆ DRAGICA
+VRZIĆ NADEŽDA
+VRZIĆ STEVO
+VUČAJ ALEKSANDAR
+VUČAJ FRAN
+VUČAJ MIOMIRA
+VUČAJ ROBERT
+VUČANOVIĆ PREDRAG
+VUČELIĆ RADOMIR
+VUČELIĆ SLAVKO
+VUČELIĆ VERA
+VUČELIĆ VLAJKO
+VUČEN MILANA
+VUČENIĆ PREDRAG
+VUČENOV ĐURICA
+VUČENOV KATALIN
+VUČENOV MIRJANA
+VUČENOV STEVAN
+VUČENOVIĆ ŽIVAN
+VUČENOVIĆ ŽIVAN
+VUČENOVIĆ BRANKA
+VUČENOVIĆ DESANKA
+VUČENOVIĆ DRAGOLJUB
+VUČENOVIĆ JOVAN
+VUČENOVIĆ LUKA
+VUČENOVIĆ MIRKO
+VUČENOVIĆ PETAR
+VUČENOVIĆ SRETO
+VUČENOVIĆ SVETLANA
+VUČERIĆ PRVOSLAV
+VUČETIĆ ŽIKA
+VUČETIĆ ŽIVKO
+VUČETIĆ ANĐELKA
+VUČETIĆ BOŽIDAR
+VUČETIĆ BOJANA
+VUČETIĆ DARINKA
+VUČETIĆ DESIMIR
+VUČETIĆ DEVA
+VUČETIĆ DIMITRIJE
+VUČETIĆ DRAGAN
+VUČETIĆ DUŠAN
+VUČETIĆ LAZAR
+VUČETIĆ LJILJANA
+VUČETIĆ MIĆA
+VUČETIĆ MILENA
+VUČETIĆ MILENA
+VUČETIĆ MILEN
+VUČETIĆ MILOSAV
+VUČETIĆ NIKOLA
+VUČETIĆ NIKOLA
+VUČETIĆ NINKO
+VUČETIĆ PETAR
+VUČETIĆ PETAR
+VUČETIĆ RADE
+VUČETIĆ RADOJKA
+VUČETIĆ RADOJKO
+VUČETIĆ RAJKO
+VUČETIĆ SANJA
+VUČETIĆ SLOBODAN
+VUČETIĆ SMILJKA
+VUČETIĆ SOFIJA
+VUČETIĆ STANKO
+VUČETIĆ STEVAN
+VUČETIĆ SVETLANA
+VUČETIĆ VANJA
+VUČETIĆ VELJKO DR
+VUČETIĆ VERA
+VUČETIĆ VLADISLAV
+VUČETIĆ ZORAN
+VUČETIĆ ZORAN
+VUČETIN ŽIVAN
+VUČETIN MILORAD
+VUČETIN PETAR
+VUČETIN SOFIJA
+VUČETIN TODOR
+VUČEVAC ŽELIMIR
+VUČEVIĆ ALEKSANDAR
+VUČEVIĆ BOŽANA
+VUČEVIĆ VALERIJA
+VUČIČEVIĆ MILAN
+VUČIČEVIĆ NIKOLA
+VUČIĆ ŽARKO
+VUČIĆ ĐORĐE
+VUČIĆ ĐURĐINKA
+VUČIĆ BOGDAN
+VUČIĆ BRANISLAVA
+VUČIĆ DRAGAN
+VUČIĆ DUŠAN
+VUČIĆ DUŠAN
+VUČIĆ JELENA
+VUČIĆ JOVANKA
+VUČIĆ JOVAN
+VUČIĆ KATICA
+VUČIĆ MARGITA
+VUČIĆ MILAN
+VUČIĆ MILAN
+VUČIĆ MIROSLAV
+VUČIĆ NEVENKA
+VUČIĆ NIKOLA
+VUČIĆ RADMILA
+VUČIĆ SLOBODAN
+VUČIĆ TODOR
+VUČIĆ VESELIN
+VUČIĆEVIĆ ĐORĐE
+VUČIĆEVIĆ BOŽIDAR
+VUČIĆEVIĆ DUŠAN
+VUČIĆEVIĆ GORDANA
+VUČIĆEVIĆ MILAN
+VUČIĆEVIĆ MILAN
+VUČIĆEVIĆ MILENKO
+VUČIĆEVIĆ MILICA
+VUČIĆEVIĆ MIODRAG
+VUČIĆEVIĆ NADEŽDA
+VUČIĆEVIĆ PETAR
+VUČIĆEVIĆ SELIMIR
+VUČIĆEVIĆ VUKOSAV
+VUČINIĆ ANĐELIJA
+VUČINIĆ ANDRIJA
+VUČINIĆ DUŠAN
+VUČINIĆ GAVRILO
+VUČINIĆ JANJA
+VUČINIĆ JASMINKA
+VUČINIĆ LJILJANA DR
+VUČINIĆ LJUBOMIR
+VUČINIĆ MARIJA
+VUČINIĆ MILAN
+VUČINIĆ MILAN
+VUČINIĆ MILISAV
+VUČINIĆ MILUTIN
+VUČINIĆ MIODRAG
+VUČINIĆ MLADEN
+VUČINIĆ MLADEN
+VUČINIĆ PETAR
+VUČINIĆ RADMILA
+VUČINIĆ RADMILA
+VUČINIĆ RADMILA
+VUČINIĆ RAJKO
+VUČINIĆ VESNA
+VUČINIĆ VLADIMIR
+VUČINIĆ VUKMAN
+VUČINIĆ ZLATIBOR
+VUČINOVIĆ RADMILA
+VUČKOV BOJANA
+VUČKOV BRANISLAV
+VUČKOV MARELA
+VUČKOV MILOVAN
+VUČKOVAC DRAGAN
+VUČKOVAC RADE
+VUČKOVAC TOMISLAV
+VUČKOVIĆ ČASLAV
+VUČKOVIĆ ŽARKO
+VUČKOVIĆ ŽIVKO
+VUČKOVIĆ ĐORĐE
+VUČKOVIĆ ĐORĐE
+VUČKOVIĆ ANĐELKO
+VUČKOVIĆ ANA
+VUČKOVIĆ BOGDAN
+VUČKOVIĆ BRANISLAV
+VUČKOVIĆ BRANKO
+VUČKOVIĆ BRANKO
+VUČKOVIĆ DOBRILA
+VUČKOVIĆ DRAGAN
+VUČKOVIĆ DRAGO
+VUČKOVIĆ DUŠANKA
+VUČKOVIĆ DUŠAN
+VUČKOVIĆ DUŠAN
+VUČKOVIĆ DUŠAN
+VUČKOVIĆ DUŠAN
+VUČKOVIĆ DUBRAVKA
+VUČKOVIĆ EMIN
+VUČKOVIĆ EVICA
+VUČKOVIĆ GEORGIJE
+VUČKOVIĆ JANKO
+VUČKOVIĆ JANKO
+VUČKOVIĆ JOVAN
+VUČKOVIĆ JOVAN
+VUČKOVIĆ JOVAN
+VUČKOVIĆ JOVAN
+VUČKOVIĆ LJUBICA
+VUČKOVIĆ LUKA DIPL OEC
+VUČKOVIĆ MARA
+VUČKOVIĆ MARIJA
+VUČKOVIĆ MARKO
+VUČKOVIĆ MARKO
+VUČKOVIĆ MIHAJLO
+VUČKOVIĆ MIHAJLO
+VUČKOVIĆ MILAN
+VUČKOVIĆ MILAN
+VUČKOVIĆ MILENA
+VUČKOVIĆ MILOŠ
+VUČKOVIĆ MILOŠ
+VUČKOVIĆ MILOŠ
+VUČKOVIĆ MILOJKA
+VUČKOVIĆ MILORAD
+VUČKOVIĆ MIODRAG
+VUČKOVIĆ MIODRAG
+VUČKOVIĆ MIRKO
+VUČKOVIĆ MIROSLAV
+VUČKOVIĆ MOMČILO
+VUČKOVIĆ NADA DR
+VUČKOVIĆ NADA
+VUČKOVIĆ NEDELJKO
+VUČKOVIĆ NIKOLA VETERINAR
+VUČKOVIĆ NOVICA
+VUČKOVIĆ PAULINA
+VUČKOVIĆ-PEURAČA LJILJANA
+VUČKOVIĆ RADIVOJ
+VUČKOVIĆ RADOVAN
+VUČKOVIĆ SAVETA
+VUČKOVIĆ-SIMIĆ VESNA
+VUČKOVIĆ SINIŠA
+VUČKOVIĆ STEVAN
+VUČKOVIĆ STOJAN DR LEKAR
+VUČKOVIĆ STOJAN DR
+VUČKOVIĆ SVETLANA
+VUČKOVIĆ TAJSIJA
+VUČKOVIĆ TOMO
+VUČKOVIĆ VASA
+VUČKOVIĆ VLADISLAV
+VUČKOVIĆ VOJISLAV
+VUČKOVIĆ VUKICA
+VUČKOVIĆ VUKOSAVA
+VUČUREVIĆ ČEDO
+VUČUREVIĆ ĐORĐE
+VUČUREVIĆ ANĐELIJA
+VUČUREVIĆ BILJANA
+VUČUREVIĆ BLAŽO
+VUČUREVIĆ BOŠKO
+VUČUREVIĆ BRANISLAV
+VUČUREVIĆ DARINKA
+VUČUREVIĆ DRAGOMIR
+VUČUREVIĆ DUŠAN
+VUČUREVIĆ GORDANA
+VUČUREVIĆ JELENA
+VUČUREVIĆ MAŠA
+VUČUREVIĆ MILOŠ
+VUČUREVIĆ MIRKO
+VUČUREVIĆ MLADEN
+VUČUREVIĆ NADA
+VUČUREVIĆ NIKOLA
+VUČUREVIĆ PETAR
+VUČUREVIĆ TEREZIJA
+VUČUREVIĆ UROŠ
+VUČUREVIĆ VESNA
+VUČUREVIĆ VLADISLAVA
+VUČUREVIĆ VLADO
+VUČUREVIĆ VOJISLAV
+VUČUREVIĆ VOJO
+VUČUROVIĆ JASNA
+VUČUROVIĆ JOVAN
+VUČUROVIĆ MIRKO
+VUČUROVIĆ MIROSLAV
+VUČUROVIĆ MLADEN
+VUČUROVIĆ PREDRAG
+VUČUROVIĆ SLOBODAN DR
+VUŠTAR BOGDAN
+VUCELIĆ SLOBODAN DIPL ING
+VUCELJA DRAGAN
+VUCELJA MILOŠ
+VUCELJA-PETRONIJEVIĆ VERA
+VUCELJA TRIVUN
+VUCELJA VOJIN
+VUDRAG SAVO
+VUDRAG ZORAN
+VUDRAG ZORAN
+VUDRAKOVIĆ RATKO
+VUGDELIĆ DOBRIVOJ
+VUGDELIĆ VUK
+VUGLEC EDITA
+VUGRENIČEK ĐURA
+VUGRENIČEK MAGDA
+VUGRIN STEVAN
+VUGRINČIĆ ANKA
+VUGRINČIĆ FRANJO
+VUGRINČIĆ JAROSLAV
+VUGRINEC RUDOLF
+VUIĆ JOSIP
+VUJČIĆ DRAGAN
+VUJČIĆ MILE
+VUJČIĆ PETAR
+VUJČIĆ PETRIJA
+VUJČIN JOVAN
+VUJČIN MILAN
+VUJČIN MITA
+VUJAČIĆ DRAGUTIN
+VUJAČIĆ DUBRAVKA
+VUJAČIĆ MILISAV
+VUJAČIĆ MILORAD
+VUJAČIĆ MILORAD
+VUJAČIĆ NIKOLA
+VUJAČIĆ RADOSAV
+VUJAČIĆ RAJKO
+VUJAŠKOVIĆ SLAVKO
+VUJAŠKOVIĆ VLADIMIR
+VUJAŠKOVIĆ VLADISLAV
+VUJAŠKOVIĆ ZORA
+VUJACKOV ĐORĐE
+VUJACKOV ALEKSANDAR
+VUJACKOV JOVAN
+VUJADINOV DOBRIVOJE DIPL ING
+VUJADINOVIĆ BLAGOJE
+VUJADINOVIĆ BRANISLAVA
+VUJADINOVIĆ LJUBICA
+VUJADINOVIĆ MILAN
+VUJADINOVIĆ MILIVOJE
+VUJADINOVIĆ MILIVOJ
+VUJADINOVIĆ MILIVOJ
+VUJADINOVIĆ RADOŠ
+VUJADINOVIĆ RAJKO
+VUJADINOVIĆ SLAVICA
+VUJADINOVIĆ SVETOZAR
+VUJADINOVIĆ TOMISLAV
+VUJADINOVIĆ VERA
+VUJADINOVIĆ VIŠNJA
+VUJADINOVIĆ VITO
+VUJADINOVIĆ VOJISLAV
+VUJAKLIJA DESA
+VUJAKLIJA STANKO
+VUJAKOVIĆ ĐURAĐ
+VUJAKOVIĆ DRAGUTIN
+VUJAKOVIĆ KRSTAN
+VUJAKOVIĆ SLOBODAN
+VUJAKOVIĆ VASO
+VUJAKOVIĆ VUJO
+VUJANIĆ ŽIVOSAV
+VUJANIĆ ŽIVOSLAV
+VUJANIĆ BORIVOJ
+VUJANIĆ BRANKO
+VUJANIĆ GORDANA
+VUJANIĆ JORDAN
+VUJANIĆ KORNELIJA
+VUJANIĆ MILAN
+VUJANIĆ MILE
+VUJANIĆ MILOVAN
+VUJANIĆ NEDELJKA
+VUJANIĆ PETAR
+VUJANIĆ-VARGA DINKA DR
+VUJANOV ALEKSANDAR
+VUJANOV MILANKA
+VUJANOV NIKOLA
+VUJANOVIĆ ŽARKO
+VUJANOVIĆ ALEKSANDAR
+VUJANOVIĆ BOŠKO
+VUJANOVIĆ BOŽIDAR DR
+VUJANOVIĆ BOŽIDAR
+VUJANOVIĆ BORISLAV
+VUJANOVIĆ BRANKO
+VUJANOVIĆ DESIMIR
+VUJANOVIĆ DIMITRIJE
+VUJANOVIĆ DIMITRIJE
+VUJANOVIĆ DRAGICA
+VUJANOVIĆ JOVANKA
+VUJANOVIĆ JOVO
+VUJANOVIĆ MIJO
+VUJANOVIĆ MILAN
+VUJANOVIĆ MILE
+VUJANOVIĆ MILINKA
+VUJANOVIĆ MILORAD
+VUJANOVIĆ MIRKO
+VUJANOVIĆ MLADEN
+VUJANOVIĆ SIMO
+VUJANOVIĆ SLAVOLJUB
+VUJANOVIĆ STANA
+VUJANOVIĆ STOJAN
+VUJANOVIĆ VITOMIR
+VUJASIN STRAILO
+VUJASINOVIĆ ČEDOMIR
+VUJASINOVIĆ JELICA
+VUJASINOVIĆ LJUBOMIR
+VUJASINOVIĆ MARKO
+VUJASINOVIĆ MILAN
+VUJASINOVIĆ MIROSLAV
+VUJASINOVIĆ RADMILA
+VUJATOVIĆ MILENKO
+VUJATOVIĆ MIRJANA
+VUJATOVIĆ TEODOR
+VUJEVIĆ RUŽA
+VUJIČIĆ ĐORĐE
+VUJIČIĆ BISERKA
+VUJIČIĆ BOŽIDAR
+VUJIČIĆ CVETA
+VUJIČIĆ DANILO DR
+VUJIČIĆ DOBRILA
+VUJIČIĆ DRAGAN
+VUJIČIĆ DUŠAN
+VUJIČIĆ GOJKO
+VUJIČIĆ IGNJAT
+VUJIČIĆ ILIJA
+VUJIČIĆ IVICA DR PROF
+VUJIČIĆ MARKO
+VUJIČIĆ MIHAJLO
+VUJIČIĆ MILENKO
+VUJIČIĆ MILOŠ
+VUJIČIĆ MILOŠ
+VUJIČIĆ PETAR
+VUJIČIĆ PETRA
+VUJIČIĆ RADOSLAV
+VUJIČIĆ RANKO
+VUJIČIĆ RATKO
+VUJIČIĆ RATKO
+VUJIČIĆ SIMO
+VUJIČIĆ SLOBODAN
+VUJIČIĆ SRĐAN
+VUJIČIĆ STANKO
+VUJIČIĆ STEVAN
+VUJIČIĆ STOJAN DIPL ING
+VUJIČIĆ SVETKO
+VUJIČIĆ TOMISLAV
+VUJIČIĆ VASILIJE
+VUJIČIĆ VERA
+VUJIČIĆ VERICA
+VUJIČIĆ VLADIMIR
+VUJIČIĆ VOJIN
+VUJIČIN ŽARKO
+VUJIČIN ĐORĐE
+VUJIČIN ĐURĐICA
+VUJIČIN LJUBICA
+VUJIČIN PETAR
+VUJIĆ ŽARKO
+VUJIĆ ŽIVKO
+VUJIĆ ĐORĐE
+VUJIĆ ĐORĐE
+VUJIĆ ĐURĐIJA
+VUJIĆ ĐURA
+VUJIĆ ĐURA
+VUJIĆ ALEKSANDAR
+VUJIĆ ALEKSANDAR
+VUJIĆ ANĐELIJA
+VUJIĆ ANTE
+VUJIĆ ANTE
+VUJIĆ BORISLAV
+VUJIĆ BRANISLAV
+VUJIĆ BRANISLAV
+VUJIĆ BRANKA
+VUJIĆ DRAGA
+VUJIĆ DRAGA
+VUJIĆ DRAGINJA
+VUJIĆ DRAGOSLAVA
+VUJIĆ DRAGOSLAV
+VUJIĆ DUŠAN
+VUJIĆ IVAN DR
+VUJIĆ IVAN DR
+VUJIĆ IVANKA
+VUJIĆ JAKOB DR LEKAR
+VUJIĆ JOVAN
+VUJIĆ JOVAN
+VUJIĆ JOVO
+VUJIĆ KATARINA
+VUJIĆ-KOSO VESNA
+VUJIĆ LAZAR
+VUJIĆ LJUBAN
+VUJIĆ LJUBICA
+VUJIĆ MARIJA PROFESOR
+VUJIĆ MILAN
+VUJIĆ MILEVA
+VUJIĆ MILEVA
+VUJIĆ MILEVKA
+VUJIĆ MILICA
+VUJIĆ MILOŠ DR
+VUJIĆ MILOŠ
+VUJIĆ MILOŠ
+VUJIĆ MILOŠ
+VUJIĆ MIRA
+VUJIĆ MIROSLAV DIPL ING
+VUJIĆ MOMIR
+VUJIĆ NADA
+VUJIĆ NADA
+VUJIĆ PAVLE DR
+VUJIĆ PREDRAG
+VUJIĆ RADIVOJ
+VUJIĆ RADOSLAV
+VUJIĆ RATKA
+VUJIĆ SAVO
+VUJIĆ SAVO
+VUJIĆ SLAVKA
+VUJIĆ SOFIJA
+VUJIĆ STANKO
+VUJIĆ STANKO
+VUJIĆ STEVAN
+VUJIĆ STEVAN
+VUJIĆ STEVAN
+VUJIĆ VERA
+VUJIĆ VESNA
+VUJIĆ VLADIMIR
+VUJIĆ VLADIMIR
+VUJIĆ VOJISLAVA
+VUJIĆ ZORAN
+VUJIN ĐOKA
+VUJIN ĐURICA
+VUJIN ALEKSANDAR
+VUJIN DANICA
+VUJIN DAVID
+VUJIN JEVREM
+VUJIN JOVANKA
+VUJIN LAZAR
+VUJIN MARA
+VUJIN MELANIJA
+VUJIN MIRJANA
+VUJIN RADIVOJ
+VUJIN RADOVAN
+VUJIN SLAVKO
+VUJIN SLOBODAN
+VUJIN SVETOZAR
+VUJIN VUJADIN
+VUJINOVIĆ ŽIVKA
+VUJINOVIĆ ĐURA
+VUJINOVIĆ ĐURO
+VUJINOVIĆ BORISLAV
+VUJINOVIĆ BRANIMIR
+VUJINOVIĆ GNJATIJA
+VUJINOVIĆ JOVO
+VUJINOVIĆ LJUBOMIR
+VUJINOVIĆ MILOŠ
+VUJINOVIĆ MLADINKO
+VUJINOVIĆ NADA
+VUJINOVIĆ SRETEN
+VUJINOVIĆ STOJAN
+VUJINOVIĆ TEODOSIJE
+VUJINOVIĆ VERA
+VUJINOVIĆ VIDOJE
+VUJKO SAVA
+VUJKOV ČEDOMIR
+VUJKOV ĐORĐE
+VUJKOV ALEKSANDAR
+VUJKOV ANTINIJA
+VUJKOV BOŽIDAR
+VUJKOV BOŽIDAR
+VUJKOV DRAGICA
+VUJKOV DRAGINJA
+VUJKOV DRAGOLJUB
+VUJKOV DUŠAN
+VUJKOV DUŠAN
+VUJKOV-ISAKOV JAGICA
+VUJKOV JELENA
+VUJKOV LAZAR
+VUJKOV LAZAR
+VUJKOV MILAN DIPL ING
+VUJKOV MILANA
+VUJKOV MILANA
+VUJKOV MILAN
+VUJKOV MILAN
+VUJKOV MILENA
+VUJKOV MILICA
+VUJKOV MILICA
+VUJKOV MILIVOJ
+VUJKOV MIRJANA
+VUJKOV MIROSLAV DIPL ING
+VUJKOV MIROSLAV
+VUJKOV NADA
+VUJKOV NENAD
+VUJKOV OLGA
+VUJKOV PAVLE
+VUJKOV PERA
+VUJKOV PETAR DIPL PRAVNIK
+VUJKOV RADIVOJ
+VUJKOV RADOSLAV
+VUJKOV SAVA
+VUJKOV SAVA
+VUJKOV SENKA
+VUJKOV SIMA
+VUJKOV SLAVKO
+VUJKOV SLOBODAN
+VUJKOV SNEŽANA
+VUJKOV SNEŽANA
+VUJKOV STEVAN
+VUJKOV SVETOZAR
+VUJKOV TAMARA
+VUJKOV TOMISLAV
+VUJKOV VASA DR
+VUJKOV VESELIN DR PROF
+VUJKOV VLADIMIR
+VUJKOV ZDRAVKO
+VUJKOV ZDRAVKO
+VUJKOVIĆ ĐURA
+VUJKOVIĆ DRAGAN
+VUJKOVIĆ GORDANA
+VUJKOVIĆ GOSPAVA
+VUJKOVIĆ MIRA
+VUJKOVIĆ NIKOLA
+VUJKOVIĆ RUŽA
+VUJKOVIĆ SLOBODAN
+VUJKOVIĆ STEVAN
+VUJNOVIĆ ANKA
+VUJNOVIĆ BOSILJKA
+VUJNOVIĆ DRAGAN
+VUJNOVIĆ GOJKO
+VUJNOVIĆ GOJKO
+VUJNOVIĆ ILIJA
+VUJNOVIĆ-MIHAJLOVIĆ DESANKA
+VUJNOVIĆ MILAN
+VUJNOVIĆ MILAN
+VUJNOVIĆ VELJKO
+VUJNOVIĆ VERA
+VUJNOVIĆ ZORA
+VUJOŠEVIĆ BORISLAV
+VUJOŠEVIĆ BRANKO DIPL OEC
+VUJOŠEVIĆ DOBRISLAV
+VUJOŠEVIĆ DUŠAN
+VUJOŠEVIĆ KLARA
+VUJOŠEVIĆ LJUBOMIR
+VUJOŠEVIĆ MILAN
+VUJOŠEVIĆ NIKOLA
+VUJOŠEVIĆ RATKO
+VUJOŠEVIĆ ZORA
+VUJOVIĆ ĐORĐE
+VUJOVIĆ ALEKSANDAR
+VUJOVIĆ BLAŽO
+VUJOVIĆ BLAGOJE
+VUJOVIĆ BOŽIDAR
+VUJOVIĆ DANICA
+VUJOVIĆ DARINKA
+VUJOVIĆ DRAGOLJUB
+VUJOVIĆ DUŠAN
+VUJOVIĆ MARTA
+VUJOVIĆ MIHAILO
+VUJOVIĆ MILOMIR
+VUJOVIĆ MILORAD
+VUJOVIĆ MILORAD
+VUJOVIĆ MILORAD
+VUJOVIĆ MILOVAN
+VUJOVIĆ MIODRAG
+VUJOVIĆ MIOMIR
+VUJOVIĆ MIRJANA
+VUJOVIĆ NEĐELJKO
+VUJOVIĆ NEĐO
+VUJOVIĆ NOVICA
+VUJOVIĆ OLGA
+VUJOVIĆ PAVLE
+VUJOVIĆ PAVLE
+VUJOVIĆ PETKO
+VUJOVIĆ RADIVOJE
+VUJOVIĆ RADIVOJ
+VUJOVIĆ RADOJE
+VUJOVIĆ RATKO
+VUJOVIĆ SLOBODAN
+VUJOVIĆ SLOBODAN
+VUJOVIĆ STEVAN
+VUJOVIĆ SVETISLAV
+VUJOVIĆ VASILIJE
+VUJOVIĆ VASILIJE
+VUJOVIĆ VASILIJE
+VUJOVIĆ VELJKO
+VUJOVIĆ VESELIN
+VUJOVIĆ VLADO
+VUJOVIĆ VLAJKO
+VUJOVIĆ VLATKO
+VUJOVIĆ VOJISLAV
+VUJOVIĆ VOJISLAV
+VUJOVIĆ VOJISLAV
+VUJOVIĆ VUKICA
+VUJOVIĆ ZORAN
+VUKČEVIĆ DUŠAN
+VUKČEVIĆ GORDANA
+VUKČEVIĆ JOVAN
+VUKČEVIĆ KRSTO
+VUKČEVIĆ LJUBOMIR
+VUKČEVIĆ LJUBOMIR
+VUKČEVIĆ MILENKO
+VUKČEVIĆ MILENKO
+VUKČEVIĆ PETAR
+VUKČEVIĆ SAVO
+VUKČEVIĆ SOFIJA
+VUKČEVIĆ STEVAN
+VUKČEVIĆ ZORAN
+VUKŠA ČEDO
+VUKŠA ŽELJKO
+VUKŠA BORIVOJE
+VUKŠA LAZAR
+VUKŠA MILENKO
+VUKŠA MILUTIN
+VUKŠA PETAR
+VUKŠA VJERA
+VUKAŠEVIĆ MILO
+VUKAŠEVIĆ SLOBODAN
+VUKAŠIN JOVAN
+VUKAŠINOV BRANIMIR
+VUKAŠINOV CVETKO
+VUKAŠINOV STEVAN
+VUKAŠINOVIĆ ŽARKO
+VUKAŠINOVIĆ ŽIVAN
+VUKAŠINOVIĆ ĐORĐE
+VUKAŠINOVIĆ BOŽIDAR
+VUKAŠINOVIĆ BOJAN
+VUKAŠINOVIĆ DRAGAN
+VUKAŠINOVIĆ DRAGINJA
+VUKAŠINOVIĆ DRAGOLJUB
+VUKAŠINOVIĆ IRENA
+VUKAŠINOVIĆ IRENA
+VUKAŠINOVIĆ LAZAR
+VUKAŠINOVIĆ LAZAR
+VUKAŠINOVIĆ MILAN
+VUKAŠINOVIĆ MILE
+VUKAŠINOVIĆ MILICA
+VUKAŠINOVIĆ MIRA
+VUKAŠINOVIĆ MIRJANA
+VUKAŠINOVIĆ MIROSLAV
+VUKAŠINOVIĆ MOMIR
+VUKAŠINOVIĆ NIKOLA
+VUKAŠINOVIĆ PAVLE
+VUKAŠINOVIĆ RADOJE
+VUKAŠINOVIĆ SPOMENKA
+VUKAŠINOVIĆ STOJAN
+VUKAŠINOVIĆ VERA
+VUKAŠINOVIĆ VERICA
+VUKAŠINOVIĆ VESELIN
+VUKAŠINOVIĆ VIDA
+VUKAŠINOVIĆ ZDRAVKO
+VUKADIN DOBRIVOJE
+VUKADIN TOMISLAV
+VUKADINOV ĐORĐE
+VUKADINOV ĐURA
+VUKADINOV BOJKA
+VUKADINOV BRANISLAV
+VUKADINOV ISIDOR
+VUKADINOV IVANKA
+VUKADINOV IVANKA
+VUKADINOV JOVAN
+VUKADINOV KATICA
+VUKADINOV MILENKO
+VUKADINOV MIODRAG
+VUKADINOV NENAD
+VUKADINOVIĆ ANĐELKO
+VUKADINOVIĆ BILJANA
+VUKADINOVIĆ BOSILJKA
+VUKADINOVIĆ BRANISLAV
+VUKADINOVIĆ BRANISLAV
+VUKADINOVIĆ BRANISLAV
+VUKADINOVIĆ BRANKO
+VUKADINOVIĆ GABRIJELA PROFESOR
+VUKADINOVIĆ JELICA
+VUKADINOVIĆ LEPOSAVA
+VUKADINOVIĆ LJUBO
+VUKADINOVIĆ MILENKO
+VUKADINOVIĆ MILIVOJE
+VUKADINOVIĆ MILJOJKO
+VUKADINOVIĆ MILOŠ
+VUKADINOVIĆ MILOJE
+VUKADINOVIĆ MILORAD
+VUKADINOVIĆ NIKOLA
+VUKADINOVIĆ PAVLE DR
+VUKADINOVIĆ PETAR
+VUKADINOVIĆ PETAR
+VUKADINOVIĆ SOFIJA LOKAL
+VUKADINOVIĆ SOFIJA
+VUKADINOVIĆ STANA
+VUKADINOVIĆ STEVAN DR
+VUKADINOVIĆ SVETOZAR
+VUKADINOVIĆ SVETOZAR
+VUKADINOVIĆ TATJANA
+VUKADINOVIĆ VELIZAR
+VUKADINOVIĆ VLADISAV
+VUKADINOVIĆ ZOLIKA
+VUKADINOVIĆ ZOLIKA
+VUKAJLOV BUDIMIR
+VUKAJLOV MIROSLAV
+VUKAJLOVIĆ ŽIVAN PROFESOR
+VUKAJLOVIĆ ĐORĐE
+VUKAJLOVIĆ ANKICA
+VUKAJLOVIĆ DANILO
+VUKAJLOVIĆ DARINKA
+VUKAJLOVIĆ DUŠAN
+VUKAJLOVIĆ ELIZABETA
+VUKAJLOVIĆ LAZAR
+VUKAJLOVIĆ MILENA
+VUKAJLOVIĆ MIRJANA
+VUKAJLOVIĆ SRETO
+VUKAJLOVIĆ STEVAN
+VUKALIĆ MUMIN
+VUKALJEVIĆ ILIJA
+VUKALJEVIĆ SLAVKO
+VUKALOVIĆ SVETLANA
+VUKANIĆ ALEKSANDAR
+VUKANIĆ PETAR
+VUKANIĆ SRETEN
+VUKANIĆ ZORAN
+VUKANIĆ ZORAN
+VUKANOVIĆ ŽIVKA
+VUKANOVIĆ ANICA
+VUKANOVIĆ MARINA
+VUKANOVIĆ MIROSLAV
+VUKANOVIĆ NEBOJŠA
+VUKANOVIĆ RADIVOJ
+VUKANOVIĆ SLAVIMIR
+VUKANOVIĆ SLOBODAN
+VUKANOVIĆ SLOBODAN
+VUKAS ĐORĐE
+VUKAS ĐURO
+VUKAS ANKICA
+VUKAS BRANKO
+VUKAS OMERKA
+VUKASOVIĆ BRANISLAV
+VUKASOVIĆ MARIJA
+VUKASOVIĆ MILAN
+VUKASOVIĆ SLAVICA
+VUKAVIĆ ALEKSANDRA
+VUKELIĆ ANĐELKA
+VUKELIĆ BORISLAV
+VUKELIĆ BRANKO
+VUKELIĆ BRANKO
+VUKELIĆ DARA
+VUKELIĆ DRAGAN
+VUKELIĆ JOVAN
+VUKELIĆ LJUBOMIR
+VUKELIĆ MILAN
+VUKELIĆ MILE
+VUKELIĆ MILICA
+VUKELIĆ MIODRAG
+VUKELIĆ MOMIR
+VUKELIĆ PAVLE
+VUKELIĆ PETAR
+VUKELIĆ PETAR
+VUKELIĆ RADA
+VUKELIĆ RADE
+VUKELIĆ SILVIJE
+VUKELIĆ SIMO
+VUKELIĆ SLAVKO
+VUKELIĆ STEVAN
+VUKELIĆ STEVAN
+VUKELIĆ TOMISLAV
+VUKELIĆ VELJKO
+VUKELIĆ VERICA
+VUKELIĆ VESNA
+VUKELIĆ VUKICA
+VUKELIĆ ZDRAVKO DR
+VUKELIĆ ZORICA
+VUKELIĆ ZVONIMIR
+VUKELJA BRANKA
+VUKIČEVIĆ DRAGOMIR
+VUKIČEVIĆ LJILJANA
+VUKIČEVIĆ MILAN
+VUKIČEVIĆ MILAN
+VUKIČEVIĆ MILAN
+VUKIČEVIĆ MITAR DIPL PRAVNIK
+VUKIČEVIĆ RANKO
+VUKIČEVIĆ SPASOJE
+VUKIČEVIĆ VESNA
+VUKIĆ-ĆULAFIĆ BRANKA
+VUKIĆ ŽIVKO
+VUKIĆ ANDREJ
+VUKIĆ BOŽIDAR
+VUKIĆ BORISLAV
+VUKIĆ BRANKO
+VUKIĆ BRANKO
+VUKIĆ BUDIMIR
+VUKIĆ DEJAN
+VUKIĆ DIMITRIJE
+VUKIĆ DUŠAN
+VUKIĆ IVANKA
+VUKIĆ JOVAN
+VUKIĆ LJUBICA
+VUKIĆ LJUBOMIR
+VUKIĆ MARIJA
+VUKIĆ MILAN
+VUKIĆ MILICA
+VUKIĆ MIRJANA
+VUKIĆ MIRKO
+VUKIĆ MOMČILO
+VUKIĆ NIKOLA
+VUKIĆ NIKOLA
+VUKIĆ NOVAK
+VUKIĆ PETAR
+VUKIĆ STANKO
+VUKIĆ STEVAN
+VUKIĆ VELIMIR
+VUKIĆ VLADO
+VUKIĆ VUKAŠIN
+VUKIĆEVIĆ ĐORĐE
+VUKIĆEVIĆ ĐORĐE
+VUKIĆEVIĆ ALEKSANDAR
+VUKIĆEVIĆ BRATISLAV
+VUKIĆEVIĆ DRAGICA
+VUKIĆEVIĆ DUŠANKA
+VUKIĆEVIĆ ISIDOR
+VUKIĆEVIĆ ISIDOR
+VUKIĆEVIĆ MIOMIR
+VUKIĆEVIĆ MIROSLAV
+VUKIĆEVIĆ MIROSLAV
+VUKIĆEVIĆ MOMČILO DR
+VUKIĆEVIĆ STANIŠA
+VUKIĆEVIĆ TOMA
+VUKIĆEVIĆ VELJKO
+VUKLIŠ DRAGAN
+VUKLIŠ SLOBODAN
+VUKMANOVIĆ DANILO
+VUKMANOVIĆ LJUBA
+VUKMANOVIĆ MILANA
+VUKMANOVIĆ MILAN
+VUKMANOVIĆ NENAD
+VUKMANOVIĆ PETAR
+VUKMANOVIĆ SIMO
+VUKMANOVIĆ VELIMIR
+VUKMANOVIĆ VERA
+VUKMIROVIĆ ĐORĐE
+VUKMIROVIĆ ĐORĐE
+VUKMIROVIĆ BOŽIDAR
+VUKMIROVIĆ BRANKO
+VUKMIROVIĆ BRANKO
+VUKMIROVIĆ DANE
+VUKMIROVIĆ DRAGAN
+VUKMIROVIĆ GOJKO
+VUKMIROVIĆ ILIJA
+VUKMIROVIĆ ILIJA
+VUKMIROVIĆ ILIJA
+VUKMIROVIĆ JANJA
+VUKMIROVIĆ LJUBOMIR
+VUKMIROVIĆ MILAN
+VUKMIROVIĆ MILAN
+VUKMIROVIĆ MILICA
+VUKMIROVIĆ MILOŠ
+VUKMIROVIĆ MILO
+VUKMIROVIĆ NIKOLA
+VUKMIROVIĆ PETAR
+VUKMIROVIĆ RANKO
+VUKMIROVIĆ RANKO
+VUKMIROVIĆ RODOLJUB
+VUKMIROVIĆ SMILJKA
+VUKMIROVIĆ SREĆKO
+VUKMIROVIĆ VELINKA
+VUKMIROVIĆ VUKICA
+VUKMIROVIĆ ZDRAVKA
+VUKNIĆ MARIJAN
+VUKOBRAD DRAGO
+VUKOBRAD LJUBOMIR
+VUKOBRAD MARKO
+VUKOBRAD MILOŠ
+VUKOBRAT DANICA
+VUKOBRAT DRAGAN
+VUKOBRAT JOŠO
+VUKOBRAT LJUBOMIR
+VUKOBRAT MILAN
+VUKOBRAT NIKOLA
+VUKOBRAT PETAR
+VUKOBRAT TATJANA
+VUKOBRAT ZDRAVKO
+VUKOBRATOV RADOVAN DIPL ING
+VUKOBRATOV SLOBODAN
+VUKOBRATOVIĆ BOGDAN
+VUKOBRATOVIĆ DANICA
+VUKOBRATOVIĆ JOVAN
+VUKOBRATOVIĆ MIRJANA
+VUKOBRATOVIĆ NADA
+VUKOBRATOVIĆ SLAVICA
+VUKOJČIĆ DUŠAN
+VUKOJA ANTUN
+VUKOJE DUŠAN
+VUKOJE GAŠO
+VUKOJE ILIJA
+VUKOJE JOVAN
+VUKOJE MILANA
+VUKOJE RADIVOJE
+VUKOJE RADMILA
+VUKOJE RADOVAN
+VUKOJE VANJA
+VUKOJE VOJO
+VUKOJEV BOGDAN
+VUKOJEV DUŠAN
+VUKOJEV DUŠAN
+VUKOJEV SLOBODAN
+VUKOJEVIĆ ĐURO
+VUKOJEVIĆ MARA
+VUKOJEVIĆ MIĆO
+VUKOJEVIĆ MIODRAG
+VUKOJEVIĆ NIKO
+VUKOJEVIĆ VERICA
+VUKOJEVIĆ VIDOSAV
+VUKOJEVIĆ ZORAN
+VUKOJIČIĆ BORISLAV
+VUKOJIČIĆ DRAGAN
+VUKOJIČIĆ MIODRAG
+VUKOJIČIĆ MIODRAG
+VUKOJIČIĆ SLAVOLJUB
+VUKOMAN EMILIJA
+VUKOMAN MILORAD
+VUKOMAN RADA
+VUKOMAN ZORAN
+VUKOMAN ZORKA
+VUKOMANOV JOVAN
+VUKOMANOVIĆ ANDRIJA
+VUKOMANOVIĆ KATICA
+VUKOMANOVIĆ NIKOLA
+VUKOMANOVIĆ RADOMIR
+VUKOMANOVIĆ SLAVKO
+VUKOSAV BORIVOJE
+VUKOSAV BORKO DR
+VUKOSAV DOBRILA
+VUKOSAV JOVO
+VUKOSAV MILOVAN
+VUKOSAV RADE
+VUKOSAV SENKA
+VUKOSAV VLAJKO
+VUKOSAVLJEV BOGDANKA
+VUKOSAVLJEV DANICA
+VUKOSAVLJEV DRAGICA
+VUKOSAVLJEV JELENA
+VUKOSAVLJEV LAZAR
+VUKOSAVLJEV MAKSA
+VUKOSAVLJEV MILAN
+VUKOSAVLJEV PETAR
+VUKOSAVLJEV SAVA
+VUKOSAVLJEV SLAVICA
+VUKOSAVLJEV STEVAN
+VUKOSAVLJEV VOJIN DIPL ING
+VUKOSAVLJEVIĆ ANĐELKA
+VUKOSAVLJEVIĆ BARBARA
+VUKOSAVLJEVIĆ CVIJETIN
+VUKOSAVLJEVIĆ DRAGICA
+VUKOSAVLJEVIĆ IVAN
+VUKOSAVLJEVIĆ LJUBICA
+VUKOSAVLJEVIĆ LUKA
+VUKOSAVLJEVIĆ MARA
+VUKOSAVLJEVIĆ MILENKO
+VUKOSAVLJEVIĆ MILORAD
+VUKOSAVLJEVIĆ MIRA
+VUKOSAVLJEVIĆ MIROSLAV
+VUKOSAVLJEVIĆ PAVLE
+VUKOSAVLJEVIĆ SLOBODAN
+VUKOSAVLJEVIĆ STOJAN
+VUKOSLAVČEVIĆ NIKOLA
+VUKOSLAVČEVIĆ ZARIJE
+VUKOSLAVOVIĆ RADONJA
+VUKOTA MARKO
+VUKOTA MILAN
+VUKOTIĆ BRANKO
+VUKOTIĆ IVA
+VUKOTIĆ KATARINA
+VUKOTIĆ-KOVAČEVIĆ BILJANA
+VUKOTIĆ LUKA
+VUKOTIĆ MARA
+VUKOTIĆ MARIJA
+VUKOTIĆ MILAN
+VUKOTIĆ MILICA
+VUKOTIĆ MIODRAG
+VUKOTIĆ NENAD
+VUKOTIĆ NIKOLA
+VUKOTIĆ OLGA
+VUKOTIĆ PERIŠA
+VUKOTIĆ RADOJE
+VUKOTIĆ RADOVAN
+VUKOTIĆ SOFIJA
+VUKOTIĆ ZORICA
+VUKOV ŽIVKO
+VUKOV ĐORĐE
+VUKOV ĐORĐE
+VUKOV BOŠKO
+VUKOV BOŠKO
+VUKOV BOŽANA
+VUKOV BRANISLAV
+VUKOV BRANISLAV
+VUKOV DRAGAN
+VUKOV DRAGOLJUB
+VUKOV JOVAN
+VUKOV JOVAN
+VUKOV LAZAR
+VUKOV LJUBOMIR
+VUKOV MARIJA
+VUKOV MARKO
+VUKOV NIKOLIJA
+VUKOV OLGA
+VUKOV STEVICA
+VUKOV VUKAŠIN
+VUKOVAC DRAGAN
+VUKOVAC PANTA
+VUKOVIĆ ŠTEFICA
+VUKOVIĆ ŽIVKO
+VUKOVIĆ ŽIVOJIN
+VUKOVIĆ ĐORĐE
+VUKOVIĆ ĐUKA
+VUKOVIĆ ALEKSANDAR
+VUKOVIĆ ALEKSANDRA
+VUKOVIĆ ALEKSIJA
+VUKOVIĆ ANDRIJA
+VUKOVIĆ ANTO
+VUKOVIĆ BILJANA
+VUKOVIĆ BLAŽO
+VUKOVIĆ BLAGOJE
+VUKOVIĆ BOŠKO
+VUKOVIĆ BOŠKO
+VUKOVIĆ BOGIĆ
+VUKOVIĆ BOJANA
+VUKOVIĆ BOJANA
+VUKOVIĆ BORIŠA
+VUKOVIĆ BORIŠA
+VUKOVIĆ BORIVOJ
+VUKOVIĆ BOSILJKA
+VUKOVIĆ BRANISLAV
+VUKOVIĆ BUDIMIR
+VUKOVIĆ CVETKO
+VUKOVIĆ DARINKA
+VUKOVIĆ DOBRIVOJE
+VUKOVIĆ DRAGAN
+VUKOVIĆ DRAGAN
+VUKOVIĆ DRAGOLJUB
+VUKOVIĆ DRAGOSLAV
+VUKOVIĆ DRAGO
+VUKOVIĆ DUŠAN DR LEKAR
+VUKOVIĆ DUŠANKA
+VUKOVIĆ DUŠAN
+VUKOVIĆ DUŠAN
+VUKOVIĆ GEZA NOVINAR
+VUKOVIĆ GOJKO
+VUKOVIĆ GORAN
+VUKOVIĆ GORDANA
+VUKOVIĆ ILIJA
+VUKOVIĆ ILIJA
+VUKOVIĆ IVAN
+VUKOVIĆ IVAN
+VUKOVIĆ IVICA
+VUKOVIĆ JASMINA
+VUKOVIĆ JELICA
+VUKOVIĆ JOSIP
+VUKOVIĆ JOVA
+VUKOVIĆ JULIJANA
+VUKOVIĆ JULIJANA
+VUKOVIĆ LJUBAN
+VUKOVIĆ MARGARETA
+VUKOVIĆ MARJENKA
+VUKOVIĆ MATO
+VUKOVIĆ MILADIN
+VUKOVIĆ MILAN
+VUKOVIĆ MILAN
+VUKOVIĆ MILENA
+VUKOVIĆ MILENA
+VUKOVIĆ MILENKO
+VUKOVIĆ MILIVOJE
+VUKOVIĆ MILIVOJE
+VUKOVIĆ MILIVOJE
+VUKOVIĆ MILIVOJ
+VUKOVIĆ MILJAN
+VUKOVIĆ MILKA
+VUKOVIĆ MILKA
+VUKOVIĆ MILORAD
+VUKOVIĆ MILUTIN
+VUKOVIĆ MILUTIN
+VUKOVIĆ MIODRAG
+VUKOVIĆ MIODRAG
+VUKOVIĆ MIRJANA
+VUKOVIĆ MIRJANA
+VUKOVIĆ MIRKO
+VUKOVIĆ MIRKO
+VUKOVIĆ MIROJE
+VUKOVIĆ MIROSLAV
+VUKOVIĆ MIROSLAV
+VUKOVIĆ MITAR
+VUKOVIĆ MITAR
+VUKOVIĆ MITA
+VUKOVIĆ MLADEN
+VUKOVIĆ NADA
+VUKOVIĆ NADA
+VUKOVIĆ NEDA
+VUKOVIĆ OBRAD
+VUKOVIĆ OBRAD
+VUKOVIĆ OLGICA
+VUKOVIĆ OLGICA
+VUKOVIĆ PETAR
+VUKOVIĆ PETAR
+VUKOVIĆ PETAR
+VUKOVIĆ RADENKO
+VUKOVIĆ RADE
+VUKOVIĆ RADOSLAV
+VUKOVIĆ RADOVAN
+VUKOVIĆ RATKO
+VUKOVIĆ SAVA
+VUKOVIĆ SENKA
+VUKOVIĆ SIMA
+VUKOVIĆ SLOBODAN
+VUKOVIĆ SLOBODAN
+VUKOVIĆ SREĆKO
+VUKOVIĆ SREDOJE
+VUKOVIĆ STANKA
+VUKOVIĆ STANKA
+VUKOVIĆ STIPA
+VUKOVIĆ SVETISLAV
+VUKOVIĆ SVETLANA
+VUKOVIĆ SVETLANA
+VUKOVIĆ-TAVČIOSKA ALEKSANDRA
+VUKOVIĆ TODOR
+VUKOVIĆ TOMISLAV
+VUKOVIĆ VESNA
+VUKOVIĆ VIDAK
+VUKOVIĆ VINKA
+VUKOVIĆ VLADIMIR
+VUKOVIĆ VLADIMIR
+VUKOVIĆ VLADIMIR
+VUKOVIĆ VLADISLAV DR
+VUKOVIĆ VLATKO DIPL ING
+VUKOVIĆ VOJISLAV
+VUKOVIĆ VOJKO
+VUKOVIĆ VUČIĆ
+VUKOVIĆ VUKAŠIN
+VUKOVIĆ ZORAN
+VUKOVIĆ ZORAN
+VUKOVIĆ ZORAN
+VUKOVIĆ ZORAN
+VUKOVIĆ ZORAN
+VUKOVLJAK BOSILJKA
+VUKOVLJAK EVICA
+VUKOVLJAK MIRKO
+VUKOVLJAK VOJIN
+VUKOVOJAC OLGA
+VUKOVOJAC VOJISLAV
+VUKSAN MILAN
+VUKSAN MILIVOJ
+VUKSAN MIODRAG
+VUKSAN NIKOLA
+VUKSAN RADOSLAV PROFESOR
+VUKSAN RUŽICA
+VUKSAN SVETOZAR
+VUKSAN VUKOSAVA
+VUKSANOV LJUBICA
+VUKSANOV VOJISLAV
+VUKSANOVIĆ ŽIVORAD
+VUKSANOVIĆ ALEKSANDAR
+VUKSANOVIĆ ALEKSANDAR
+VUKSANOVIĆ DARKO
+VUKSANOVIĆ DESANKA
+VUKSANOVIĆ GORAN
+VUKSANOVIĆ GORDANA
+VUKSANOVIĆ JOVAN
+VUKSANOVIĆ MILE
+VUKSANOVIĆ MILISAV
+VUKSANOVIĆ MILORAD
+VUKSANOVIĆ MIODRAG
+VUKSANOVIĆ MIRO
+VUKSANOVIĆ SAVO
+VUKSANOVIĆ STEVANKA
+VUKSIĆ STEVO
+VUKSIĆ VELIMIR
+VUKUŠIĆ ANTE
+VULANOVIĆ RELJA
+VULANOVIĆ VOJISLAV
+VULETA BOJAN
+VULETA PREDRAG
+VULETA RISTO
+VULETIĆ ŽELJKO
+VULETIĆ ĐORĐIJE
+VULETIĆ ANDRIJA
+VULETIĆ BORISLAV
+VULETIĆ BRANISLAVA
+VULETIĆ BRANKO
+VULETIĆ BRANKO
+VULETIĆ DANICA DR
+VULETIĆ DIMITRIJE
+VULETIĆ JELENA
+VULETIĆ JELICA PROFESOR
+VULETIĆ MILADIN
+VULETIĆ MILAN VETERINAR
+VULETIĆ MILE
+VULETIĆ MILIVOJ
+VULETIĆ MLADEN
+VULETIĆ NADEŽDA
+VULETIĆ NEDELJKO
+VULETIĆ NIKOLA
+VULETIĆ OBRAD
+VULETIĆ RADOVAN
+VULETIĆ SRĐAN
+VULETIĆ VASILIJE
+VULETIĆ VIDOSAVA
+VULETIĆ VITOMIR
+VULETIĆ VLADIMIR
+VULETIĆ VLASTIMIR
+VULETIĆ ZORICA
+VULETIN ZORA
+VULEVIĆ ČEDOMIR
+VULEVIĆ ČEDOMIR
+VULEVIĆ ČEDOMIR
+VULEVIĆ SPASOJE
+VULIĆ ŽIKA
+VULIĆ ĐORĐE
+VULIĆ ĐORĐE
+VULIĆ BOŽIDAR
+VULIĆ BORISLAV
+VULIĆ BRANISLAV
+VULIĆ BRANISLAV
+VULIĆ DARINKA
+VULIĆ DESANKA
+VULIĆ DRAGOLJUB
+VULIĆ ILIJA
+VULIĆ JAVORKA
+VULIĆ JELENA
+VULIĆ JELENA
+VULIĆ JOVAN
+VULIĆ JOVAN
+VULIĆ JOVAN
+VULIĆ LUKA
+VULIĆ LUKA
+VULIĆ MILANKA
+VULIĆ MILAN
+VULIĆ MILIVOJE
+VULIĆ MILORAD
+VULIĆ MILORAD
+VULIĆ MIROSLAV
+VULIĆ MLADEN
+VULIĆ MOMČILO
+VULIĆ NIKOLA
+VULIĆ PETKO
+VULIĆ SLAVICA
+VULIĆ SLAVKO
+VULIĆ STEVAN
+VULIĆ ZLATA
+VULIĆ ZLATIJA
+VULIKIĆ LUKA
+VULIKIĆ RUŽICA
+VULIKIĆ VESELIN
+VULIKIĆ VOJISLAV
+VULIN ANGELINA
+VULIN BRANISLAV
+VULIN GOJKO
+VULIN JULKA
+VULIN MLADEN
+VULIN NENAD
+VULIN NENAD
+VULIN PREDRAG
+VULIN RADOMIR
+VULIN STEVAN
+VULIN VUKAŠIN
+VULJAJ VASELJ
+VULJEVIĆ ĐOKA
+VULKANI GORDANA
+VULOVIĆ DRAGICA
+VULOVIĆ DRAGOŠ
+VULOVIĆ DRAGOLJUB
+VULOVIĆ DRAGOMIR
+VULOVIĆ GORAN
+VULOVIĆ PETAR
+VULOVIĆ RAJKO
+VULOVIĆ SAVO
+VULOVIĆ SLAVIŠA
+VULOVIĆ VLADIMIR
+VULOVIĆ VUKICA
+VULSANOVIĆ ILKA
+VUNDERLIH JOSIP
+VUNDUK MIROSLAVA
+VUNIĆ MILJENKO
+VUNIĆ PETAR
+VUNIĆ RADOJKA
+VUNJAK ĐORĐE
+VUNJAK BRANISLAVA
+VUNJAK DUŠAN
+VURDELJA NEMANJA DR PROF
+VURDELJA SOFIJA
+VURDELJA VASA
+VURST JOVANKA
+VURUNA BRANKO
+VURUNA MARIJA
+VURUNIĆ ZDRAVKO
+ZABLEĆANSKI VLADA
+ZABRDAC MILAN
+ZABUNOV VLADIMIR
+ZADOR ANDRIJA DR IURE
+ZADRAVEC JOSIP
+ZADRO NIKOLA
+ZAFIROVIĆ BRANKO
+ZAGA MILAN
+ZAGAJČAN KOSTA
+ZAGORČIĆ ŽARKO
+ZAGORČIĆ ŽIVKO
+ZAGORČIĆ ŽIVKO
+ZAGORČIĆ ĐORĐE
+ZAGORČIĆ ĐORĐE
+ZAGORČIĆ ĐORĐE
+ZAGORČIĆ ALEKSANDAR
+ZAGORČIĆ ANGELINA
+ZAGORČIĆ BORISLAV
+ZAGORČIĆ BORISLAV
+ZAGORČIĆ DRAGOLJUB
+ZAGORČIĆ GAVRA
+ZAGORČIĆ GLIGORIJE
+ZAGORČIĆ GORAN
+ZAGORČIĆ ILIJA
+ZAGORČIĆ ILIJA
+ZAGORČIĆ IRENA
+ZAGORČIĆ JASMINA
+ZAGORČIĆ JELENA
+ZAGORČIĆ JOVAN
+ZAGORČIĆ JOVAN
+ZAGORČIĆ KRISTINA
+ZAGORČIĆ LAZAR
+ZAGORČIĆ LAZAR
+ZAGORČIĆ LAZA
+ZAGORČIĆ MARIJA
+ZAGORČIĆ MILAN
+ZAGORČIĆ MILAN
+ZAGORČIĆ MILICA
+ZAGORČIĆ MILIVOJE
+ZAGORČIĆ MILIVOJ
+ZAGORČIĆ MILIVOJ
+ZAGORČIĆ MILOŠ
+ZAGORČIĆ MILOSAV
+ZAGORČIĆ-ORŠOŠ DRAGANA
+ZAGORČIĆ PANTA
+ZAGORČIĆ PETAR
+ZAGORČIĆ PETAR
+ZAGORČIĆ PREDRAG
+ZAGORČIĆ RADIVOJ
+ZAGORČIĆ RADOSLAV
+ZAGORČIĆ SLOBODAN
+ZAGORČIĆ STEVAN
+ZAGORČIĆ SVETISLAV
+ZAGORČIĆ SVETOZAR
+ZAGORČIĆ UROŠ
+ZAGORČIĆ VASA
+ZAGORČIĆ VASA
+ZAGORČIĆ VASA
+ZAGORČIĆ VUKOSAVA
+ZAGORČIĆ ZIJAH
+ZAGORAC BOŽICA
+ZAGORAC DIMITRIJE
+ZAGORAC DUŠAN
+ZAGORAC IVAN
+ZAGORAC MARIJA
+ZAGORAC MILENA
+ZAGORAC MILICA
+ZAGORAC MILICA
+ZAGORAC NEDELJKO
+ZAGORAC NIKOLA
+ZAGORAC NIKOLA
+ZAGORAC OSTOJA
+ZAGORAC PETAR
+ZAGORAC RAJKO
+ZAGORAC RUŽICA
+ZAGORAC SIMO
+ZAGORAC VALKO
+ZAGOREC JOSIP
+ZAGORICA OZREN
+ZAGRAĐA BAJIRAM
+ZAHARIJEVIĆ BOGDAN
+ZAHORAI JOVAN
+ZAHOREC ZUZANA
+ZAHORODNI ANTON
+ZAHORODNI IVAN
+ZAIMOVIĆ MUHAREM
+ZAJZOV JELENA
+ZAKANJ ARPAD
+ZAKANJ LAJOŠ
+ZAKANJ MIRKO
+ZAKANJ-TOBOLKA EVA
+ZAKIĆ ĐORĐE
+ZAKIĆ BOŽIDAR
+ZAKIĆ DIMITRIJE
+ZAKIĆ DOBRIVOJ
+ZAKIĆ DOBRIVOJ
+ZAKIĆ IVAN
+ZAKIĆ MILAN
+ZAKIĆ SAVA
+ZAKLAN ĐURA
+ZAKLAN MILAN
+ZAKLAN NEGICA
+ZAKLAN RANKO
+ZAKLAN SLOBODAN
+ZAKLAN STANIŠA
+ZAKLAN TIHOMIR
+ZAKLAN TOMISLAV
+ZALIS GEORGIJE
+ZALIS JANIS
+ZAMAKLAR ZORAN
+ZAMOLO EDUARD
+ZAMUROVIĆ ALEKSANDAR
+ZAMUROVIĆ BOJANA
+ZAMUROVIĆ KOSTA
+ZAMUROVIĆ MILENA
+ZAMUROVIĆ OLGA DR
+ZAMUROVIĆ STOJAN
+ZANOVJAK PETER
+ZAPUNIDIS LEONIDAS
+ZARECKI ROZALIJA
+ZARIČNI VERICA
+ZARIČNI VERONIKA
+ZARIĆ ĐORĐE
+ZARIĆ ĐORĐE
+ZARIĆ ĐORĐE
+ZARIĆ BOŠKO
+ZARIĆ BOGDAN
+ZARIĆ BORISLAV
+ZARIĆ BRANISLAV
+ZARIĆ BRATISLAV
+ZARIĆ DRAGA
+ZARIĆ DRAGOSLAV
+ZARIĆ DUŠAN
+ZARIĆ IVANKA
+ZARIĆ IVAN
+ZARIĆ JELENA
+ZARIĆ JOVAN
+ZARIĆ JOVO
+ZARIĆ KATICA
+ZARIĆ KATICA
+ZARIĆ LAZAR
+ZARIĆ MARIJA
+ZARIĆ MARIJA
+ZARIĆ MIKA
+ZARIĆ MILADIN
+ZARIĆ MILAN
+ZARIĆ MILAN
+ZARIĆ MILENA
+ZARIĆ MILICA
+ZARIĆ MILICA
+ZARIĆ MIODRAG
+ZARIĆ MLADEN
+ZARIĆ MOMČILO
+ZARIĆ NIKOLA
+ZARIĆ NIKOLA
+ZARIĆ NOVAK
+ZARIĆ PETAR
+ZARIĆ RADMILA
+ZARIĆ RAJO
+ZARIĆ SAVA
+ZARIĆ SLOBODAN
+ZARIĆ SLOBODAN
+ZARIĆ STANIMIR
+ZARIĆ STANISLAV
+ZARIĆ STANKA
+ZARIĆ STEVAN
+ZARIĆ VESNA
+ZARIĆ ZARIJA
+ZARIĆ ZDRAVKO
+ZARIĆ ZORKA
+ZARIN STEVA
+ZARINGER-PINTER NIKOLA
+ZARKOV KOCA
+ZARLI KATARINA
+ZARNOCKI PAVLE
+ZAROL ALEKSANDAR
+ZARUBAC ALEKSANDAR
+ZARUBAC BORKA
+ZARUBAC ROMICA
+ZARUBICA BOŽANA
+ZARUBICA RADUN
+ZARUPSKI ĐORĐE
+ZARUPSKI BRANKO
+ZARUPSKI MILOVAN
+ZATEK MARIJA
+ZATEZALO DUŠAN PROF
+ZATEZALO MIODRAG
+ZATEZALO PETAR
+ZATEZALO PREDRAG
+ZAVARGO ZOLTAN
+ZAVARKO ŠANDOR
+ZAVARKO ŠANDOR
+ZAVARKO ŠANDOR
+ZAVARKO ANTAL
+ZAVARKO ESTERA
+ZAVARKO IŠTVAN
+ZAVARKO JANOŠ
+ZAVARKO KARLO
+ZAVARKO MARIJA
+ZAVARKO VERA
+ZAVAROŠ ANDRIJA
+ZAVIŠA PETAR
+ZAVIŠA RANKO
+ZAVIŠIĆ CVIJETA
+ZAVIŠIĆ MILAN
+ZAVIŠIĆ PREDRAG
+ZAVIŠIĆ VIDA
+ZAVIŠIN MARICA
+ZAVIŠIN MOMIR
+ZAVIŠIN SAVA
+ZAVRTANIK IVAN
+ZAVRTANIK IVAN
+ZAVRTANIK MARJAN
+ZAZULJAK SLAVKO
+ZBAČNIK ZOFIJA
+ZBILJIĆ DRAGOLJUB
+ZBUĆNOVIĆ JOVANKA
+ZBUĆNOVIĆ MILAN
+ZBUĆNOVIĆ MILOŠ
+ZBUĆNOVIĆ MITA
+ZBUĆNOVIĆ PAVLE
+ZBUĆNOVIĆ SAVA
+ZDELAR SLOBODAN
+ZDENJAK JOSIP
+ZDIHAN MARKO
+ZDJELAR DRAGAN
+ZDJELAR MIROSLAV
+ZDJELAR OLGA
+ZDJELAR VIŠNJA
+ZDJELAR ZDRAVKO
+ZDJELARIĆ BRANKO
+ZDJELARIĆ DRAGAN
+ZDRAVESKI DUŠANKA
+ZDRAVEVSKI ILIJA
+ZDRAVKOVIĆ ANĐELIJA
+ZDRAVKOVIĆ BOGOLJUB
+ZDRAVKOVIĆ BORISLAV
+ZDRAVKOVIĆ DEJAN
+ZDRAVKOVIĆ DRAGOLJUB
+ZDRAVKOVIĆ DUŠANKA
+ZDRAVKOVIĆ JELENA
+ZDRAVKOVIĆ JOVAN
+ZDRAVKOVIĆ MIHAJLO
+ZDRAVKOVIĆ MILAN
+ZDRAVKOVIĆ MIODRAG
+ZDRAVKOVIĆ MIODRAG
+ZDRAVKOVIĆ MIROSLAV
+ZDRAVKOVIĆ RADE
+ZDRAVKOVIĆ RADE
+ZDRAVKOVIĆ TIHOMIR
+ZDRAVKOVIĆ TOMISLAV
+ZDRAVKOVIĆ VEROLJUB
+ZDRAVKOVIĆ VIDOJE
+ZDUPSKI BOŽIDAR
+ZEČAK VOJA
+ZEČEVIĆ ĐORĐO
+ZEČEVIĆ ANGELINA
+ZEČEVIĆ CVIJAN
+ZEČEVIĆ DOBRIVOJE DR
+ZEČEVIĆ DRAGAN DR
+ZEČEVIĆ DUŠAN
+ZEČEVIĆ GOLUB
+ZEČEVIĆ GVOZDEN
+ZEČEVIĆ HIMZO
+ZEČEVIĆ KRSTO
+ZEČEVIĆ LJUBICA
+ZEČEVIĆ LJUBINKO
+ZEČEVIĆ MARIJA
+ZEČEVIĆ MILAN
+ZEČEVIĆ MILAN
+ZEČEVIĆ MILISAV
+ZEČEVIĆ MILO
+ZEČEVIĆ MIOMIR
+ZEČEVIĆ MIRJANA
+ZEČEVIĆ NIKOLA
+ZEČEVIĆ NIKOLA
+ZEČEVIĆ NOVAK
+ZEČEVIĆ PREDRAG
+ZEČEVIĆ RAJKO
+ZEČEVIĆ RISTIVOJE
+ZEČEVIĆ SAVO
+ZEČEVIĆ SLAVKO
+ZEČEVIĆ SLOBODAN
+ZEČEVIĆ SMILJA
+ZEČEVIĆ SMILJA
+ZEČEVIĆ SOFIJA
+ZEČEVIĆ VESNA
+ZEČEVIĆ VLADIMIR
+ZEČEVIĆ ZORAN
+ZEČIROVIĆ ILMI
+ZEĆIRI ISMAIL
+ZEĆIRI ZIJA
+ZEC ŽELJKO
+ZEC ĐURO
+ZEC BOŠKO
+ZEC BOŽIDAR
+ZEC DANIJEL
+ZEC DRAGAN
+ZEC DRAGUTIN
+ZEC DUŠAN
+ZEC DUŠAN
+ZEC JOVAN
+ZEC MARIJA
+ZEC MARIJA
+ZEC MARINKO
+ZEC MATA
+ZEC MILAN
+ZEC MILAN
+ZEC MILE DIPL ING
+ZEC MILOŠ
+ZEC MILOŠ
+ZEC MILORAD
+ZEC MILOVAN
+ZEC NIKOLA
+ZEC NIKOLA
+ZEC RADOVAN
+ZEC RAJKO
+ZEC RAJKO
+ZEC STEVANIJA
+ZEC ZORICA
+ZEDI MIHALJ
+ZEGA ALEKSANDAR
+ZEGNAL RUDOLF
+ZEJAK IVAN
+ZEJAK MILETA
+ZEJAK RADOŠ
+ZEKA GZIM
+ZEKA HIRZEN
+ZEKA IRMA
+ZEKAVICA JELENA
+ZEKAVICA MIRJANA
+ZEKAVICA SLAVICA
+ZEKAVICA SRĐAN
+ZEKIĆ MIRA
+ZEKONJA ZDRAVKO
+ZEKOVIĆ BOŠKO
+ZEKOVIĆ DRAGOMIR
+ZEKOVIĆ GORDANA
+ZEKOVIĆ HANKIJA
+ZEKOVIĆ JULIJANA
+ZEKOVIĆ LILA
+ZEKOVIĆ MILADIN
+ZEKOVIĆ MILOŠ
+ZEKOVIĆ PETAR DILP OEC
+ZEKOVIĆ PETAR
+ZEKOVIĆ RADENKO
+ZEKOVIĆ RIZA
+ZEKOVIĆ VASO
+ZEKOVSKI ZORICA
+ZELENBABA RATKO
+ZELENBABA STEVAN
+ZELENHASIĆ EMIR
+ZELENJAK ANDRIJA
+ZELENJAK STJEPAN
+ZELENKA FRANJA
+ZELENKA MARIJA
+ZELENKO EMA
+ZELENOVIĆ BORIŠA
+ZELENOVIĆ DRAGAN
+ZELENOVIĆ JELENA
+ZELENOVIĆ JOVAN
+ZELENOVIĆ LJUBICA
+ZELENOVIĆ LJUBO
+ZELENOVIĆ MARA
+ZELENOVIĆ MILADIN
+ZELENOVIĆ MILAN
+ZELENOVIĆ MILISAV
+ZELENOVIĆ MILISAV
+ZELENOVIĆ VERA
+ZELENOVIĆ VLADIMIR
+ZELENSKI ALEKSANDAR
+ZELENSKI ALEKSANDAR
+ZELENSKI JELENA
+ZELENSKI MILICA
+ZELIĆ ĐORĐE
+ZELIĆ IVAN
+ZELIĆ JANOŠ
+ZELIĆ JOVAN
+ZELIĆ LAZAR
+ZELIĆ LJUBA
+ZELIĆ LJUBICA
+ZELIĆ LJUBOMIR
+ZELIĆ MARTA
+ZELIĆ PAVLE
+ZELIĆ PERSIDA
+ZELIĆ PETAR
+ZELIĆ RUŽICA
+ZELIĆ VLADIMIR
+ZELIĆ ZOLTAN
+ZELJAJIĆ NIKOLA DR
+ZELJIĆ SLOBODAN
+ZELJKO MARICA
+ZELJKOVIĆ ŽELJKO
+ZELJKOVIĆ ŽELJKO
+ZELJKOVIĆ ĐURO
+ZELJKOVIĆ BOSA
+ZELJKOVIĆ BRANKO
+ZELJKOVIĆ BRANKO
+ZELJKOVIĆ DESIMIR
+ZELJKOVIĆ DRAGUTIN
+ZELJKOVIĆ DUŠKO
+ZELJKOVIĆ IVANKA
+ZELJKOVIĆ JOVAN
+ZELJKOVIĆ JOVO
+ZELJKOVIĆ KRISTINA
+ZELJKOVIĆ LJILJANA
+ZELJKOVIĆ MARKO
+ZELJKOVIĆ MILAN
+ZELJKOVIĆ MILAN
+ZELJKOVIĆ MILIĆ
+ZELJKOVIĆ MILJA
+ZELJKOVIĆ MILOŠ
+ZELJKOVIĆ MIRKO
+ZELJKOVIĆ OSTOJA
+ZELJKOVIĆ RADMILA
+ZELJKOVIĆ RANKO
+ZELJKOVIĆ RATKO
+ZELJKOVIĆ SIMA
+ZELJKOVIĆ STEVO
+ZELJKOVIĆ STOJANKA
+ZELJKOVIĆ TODE
+ZELJKOVIĆ TOMA
+ZELJKOVIĆ VERA
+ZELJKOVIĆ VLAJKO
+ZELJKOVIĆ VUKAŠIN
+ZELJKOVIĆ ZORAN
+ZELJKOVIĆ ZORAN
+ZELJKOVIĆ ZORAN
+ZEMBERI FERENC
+ZEMBERI JOSIP
+ZEMBERI ROBERT
+ZEMKO ŠANDOR
+ZEMLJAK IVAN
+ZEMLJANAC MILANKA
+ZENTAI ROBERT DIPL ING
+ZENUN AVDO
+ZENZEROVIĆ PAVLE
+ZERDO BOŽIDAR
+ZERDO MILORAD
+ZERDO RADOSLAV
+ZERDO ZLATA
+ZEREMSKI DANILO
+ZEREMSKI DRAGAN
+ZEREMSKI DUŠAN
+ZEREMSKI KAMENKO
+ZEREMSKI NADA
+ZEREMSKI NOVAK
+ZEREMSKI PETAR
+ZEREMSKI PETAR
+ZEREMSKI PIROŠKA
+ZEREMSKI RADOJKA
+ZEREMSKI RANKO
+ZEREMSKI RATOMIR
+ZEREMSKI RUŽICA
+ZEREMSKI SLAVICA
+ZEREMSKI STEVAN
+ZEREMSKI STEVAN
+ZEREMSKI TEOFAN
+ZEREMSKI TOMISLAV
+ZEREMSKI VERA
+ZEREMSKI VLADIMIR
+ZEREMSKI VUJADIN
+ZEZDIN ALEKSANDAR DR
+ZGOMBA LAZAR
+ZGOMBA VLADIMIR
+ZGONJANIN MILAN
+ZGONJANIN RADE
+ZGONJANIN RUŽA
+ZIDAR MARIJAN
+ZIKOV ANDRIJA
+ZIKOV DRAGOLJUB
+ZIMA ČABA
+ZIMA RUDOLF
+ZIMANJI JOVAN
+ZIMONJA LJUBOMIR
+ZIMONJIĆ VLADIMIR
+ZINAIĆ CVIJETA
+ZINAIĆ UROŠ
+ZIRAMOV ŽARKO
+ZIRAMOV JEVROSIMA
+ZIRAMOV JEVROSIMA
+ZIRAMOV SAVA
+ZIRAMOV STEVAN
+ZIRDUH MARIJAN
+ZIROJE DRAGAN
+ZIROJEVIĆ ANĐA
+ZIROJEVIĆ GOJKO
+ZIROJEVIĆ MILENKO
+ZIROJEVIĆ MLADEN
+ZIROJEVIĆ OBRAD
+ZIROJEVIĆ TOMISLAV
+ZISIJADES MIRJANA
+ZIVLAK BRANKO
+ZIVLAK JELKA
+ZIVLAK JOVAN
+ZIVLAK PERO
+ZIVLAK PERO
+ZIVLAK VLADIMIR
+ZIVLAKOVIĆ DRAGOLJUB
+ZJAČIĆ ĐORĐE
+ZJAČIĆ ĐORĐE
+ZJAČIĆ BRANKO
+ZJAJIĆ KRSTAN
+ZJALIĆ DRAGOMIR ADVOKAT
+ZJALIĆ DRAGOMIR
+ZJALIĆ MARGITA
+ZJEVALO ANKICA
+ZLATANOVIĆ BLAGOJE
+ZLATANOVIĆ CVETKO
+ZLATANOVIĆ RADIVOJ
+ZLATANOVIĆ TIHOMIR
+ZLATANOVIĆ VLADIMIR
+ZLATANOVSKI DIMITRIJE
+ZLATANOVSKI RUSE
+ZLATAR MILENKO
+ZLATAREV DUŠAN
+ZLATAREV DUŠAN
+ZLATAREV VERICA
+ZLATARIĆ MOMČILO
+ZLATARIĆ VOJISLAV
+ZLATAROV MILOVAN
+ZLATEK LAZAR
+ZLATIČANIN TOŠO
+ZLATIĆ MILORAD
+ZLATIĆ RADOSLAV
+ZLATIĆ VESELIN
+ZLATKOVIĆ BOŠKO
+ZLATKOVIĆ BORISLAV
+ZLATKOVIĆ JELICA
+ZLATKOVIĆ-JOVIĆ OLGICA
+ZLATKOVIĆ KATARINA
+ZLATKOVIĆ MELANIJA
+ZLATKOVIĆ RUSOMIR
+ZLATKOVIĆ SLAĐANA
+ZLATKOVIĆ SLAVKO
+ZLATONIĆ SLAVKO
+ZLATOVERHOVNIKOV ĐORĐE
+ZLATOVIĆ JELISAVETA
+ZLATOVIĆ NIKOLA
+ZLIČIĆ ALEKSANDRA
+ZLIČIĆ DARINKA
+ZLIČIĆ DIMITRIJE
+ZLIČIĆ DUŠANKA DIPL ING
+ZLIČIĆ DUŠAN
+ZLIČIĆ IVAN
+ZLIČIĆ KATICA
+ZLIČIĆ LJUBICA
+ZLIČIĆ MILAN
+ZLIČIĆ MILORAD
+ZLIČIĆ RADOVAN
+ZLIČIĆ VASILJKA
+ZLOJUTRO MIĆO
+ZLOJUTRO MIHAJLO
+ZLOJUTRO STEVO
+ZLOJUTRO VASA
+ZLOKOLICA ŽIVKO
+ZLOKOLICA ĐORĐE
+ZLOKOLICA BOŠKO
+ZLOKOLICA JORGOVANKA
+ZLOKOLICA JOVAN
+ZLOKOLICA JOVAN
+ZLOKOLICA LAZAR
+ZLOKOLICA LJUBICA
+ZLOKOLICA MARKO
+ZLOKOLICA MILOŠ
+ZLOKOLICA MIODRAG
+ZLOKOLICA NIKOLA
+ZLOKOLICA NOVAK
+ZLOKOLICA SLAVKO
+ZLOKOLICA SLAVNA
+ZLOKOLICA STEVAN
+ZLOKOLICA STEVAN
+ZLOKOLICA TODOR
+ZLOKOLICA VLADA
+ZLOKOLICA ZLATA
+ZMIJANJAC MILAN
+ZMRZLIKAR MIRJANA
+ZOĆEVIĆ MARIJA
+ZOĆEVIĆ VITOR
+ZOBENICA BILJANA
+ZOBENICA DANICA
+ZOBENICA MIRJANA
+ZOGOVIĆ VUK
+ZOKI STEVAN
+ZOKIĆ RADOVAN
+ZOLNAI TOMAŠ
+ZOLNJAN PAVEL
+ZOLOTIĆ KATARINA
+ZOLOTIĆ VELINKA
+ZOLOTIĆ VUKOSAV
+ZOMBORAC ZVONKO
+ZONA DIVNA
+ZONAI PAL
+ZONIĆ LJUBAN
+ZONIĆ RIZAH
+ZORAD MIHALJ
+ZORAD STEVAN
+ZORAJA ĐURA
+ZORAJA DRAGAN
+ZORAJA IGNJAT
+ZORAJA PETAR
+ZORAJA STEVAN
+ZORANIĆ SLAVICA
+ZORANOVIĆ DUŠANKA
+ZORANOVIĆ ILIJA
+ZORANOVIĆ LAZAR
+ZORANOVIĆ LAZAR
+ZORANOVIĆ MILAN
+ZORANOVIĆ MIODRAG
+ZORANOVIĆ SOFIJA
+ZORANOVIĆ SPASA
+ZORANOVIĆ STEVAN
+ZORANOVIĆ SVETLANA
+ZORIČIĆ DRAGOLJUB
+ZORIĆ ČEDO
+ZORIĆ ĐORĐE
+ZORIĆ ĐORĐE
+ZORIĆ ĐURĐICA
+ZORIĆ ĐURICA
+ZORIĆ ĐURO
+ZORIĆ ĐURO
+ZORIĆ ĐURO
+ZORIĆ ANĐELKA
+ZORIĆ BOŠKO
+ZORIĆ BOŽIDAR
+ZORIĆ BOGDAN
+ZORIĆ BOGOLJUB
+ZORIĆ BORIVOJ
+ZORIĆ BORO
+ZORIĆ BORO
+ZORIĆ BRANKA
+ZORIĆ BRANKO
+ZORIĆ DARINKA
+ZORIĆ DARKO
+ZORIĆ DRAGAN
+ZORIĆ DRAGAN
+ZORIĆ DRAGAN
+ZORIĆ DRAGOLJUB
+ZORIĆ DUŠANKA
+ZORIĆ DUŠAN
+ZORIĆ DUŠAN
+ZORIĆ-GARDINOVAČKI MARIJANA
+ZORIĆ GAVRILO
+ZORIĆ GORDANA
+ZORIĆ JELISAVETA
+ZORIĆ JELISAVETA
+ZORIĆ JOVAN
+ZORIĆ KATA
+ZORIĆ KLARA
+ZORIĆ KOSTADIN
+ZORIĆ KOVILJKA
+ZORIĆ LAZAR
+ZORIĆ LUKA
+ZORIĆ MARIJA
+ZORIĆ MARKO
+ZORIĆ MIKA
+ZORIĆ MILAN
+ZORIĆ MILAN
+ZORIĆ MILAN
+ZORIĆ MILAN
+ZORIĆ MILAN
+ZORIĆ MILEVA
+ZORIĆ MILICA
+ZORIĆ MILICA
+ZORIĆ MILORAD
+ZORIĆ MILORAD
+ZORIĆ MILORAD
+ZORIĆ MILORAD
+ZORIĆ MILORAD
+ZORIĆ MIODRAG
+ZORIĆ MIRKO ING
+ZORIĆ MIRKO
+ZORIĆ MIROSLAV
+ZORIĆ NIKOLA
+ZORIĆ NIKOLA
+ZORIĆ NIKOLA
+ZORIĆ PAVLE
+ZORIĆ PERA
+ZORIĆ PETAR
+ZORIĆ PETKO
+ZORIĆ RADE
+ZORIĆ RADE
+ZORIĆ SAVA
+ZORIĆ SIMA
+ZORIĆ SIMEON
+ZORIĆ SLAVICA
+ZORIĆ SLOBODAN
+ZORIĆ SNEŽANA
+ZORIĆ SOKA
+ZORIĆ SPASOJE
+ZORIĆ STANKO
+ZORIĆ STOJAN
+ZORIĆ SVETKO
+ZORIĆ SVETKO
+ZORIĆ VASILIJE
+ZORIĆ VELIMIR
+ZORIĆ VELJKO DIPL ING
+ZORIĆ VLADISLAV
+ZORIĆ VLADO
+ZORIĆ VOJIN
+ZORIĆ VOJKA
+ZORIĆ ZDRAVKA
+ZORIĆ ZORICA
+ZORIĆ ZVONIMIR
+ZORICA ACO
+ZORICA DUŠAN
+ZORICA MARKO
+ZORIJAN EMIL
+ZORJAN BRANKO
+ZORJAN JANKO
+ZORKIĆ ŽIVKO
+ZORNIJA BRANKO
+ZORNIJA VLADISLAV
+ZORNIK ALDA
+ZORZIĆ MILORAD
+ZOTIN ĐORĐE
+ZOTIN SAVA
+ZOTIN SLAVOLJUB
+ZOTOVIĆ ALEKSANDAR
+ZOTOVIĆ OBRAD
+ZOVIĆ ANA
+ZOVIĆ DUŠAN
+ZOVIĆ MILOVAN
+ZOVIĆ MIROSLAV
+ZOVKO ŠIMUN
+ZOVKO ILIJA
+ZOVKO JOSIP
+ZOVKO MANDA
+ZOVKO MARJAN
+ZOZUK LJUBOMIR
+ZRILIĆ NADA
+ZRILIĆ VERA
+ZRILIĆ VLADIMIR DR LEKAR
+ZRNIĆ ŠPIRO
+ZRNIĆ ĐORĐE
+ZRNIĆ ĐURO
+ZRNIĆ ĐURO
+ZRNIĆ BRANKO
+ZRNIĆ DUŠAN
+ZRNIĆ GOJKO
+ZRNIĆ GOJKO
+ZRNIĆ JOVAN
+ZRNIĆ LAZAR
+ZRNIĆ MAJA
+ZRNIĆ MALINA
+ZRNIĆ MANE DIPL ING
+ZRNIĆ MANE
+ZRNIĆ MARINKO
+ZRNIĆ MILAN
+ZRNIĆ MILAN
+ZRNIĆ MILOŠ
+ZRNIĆ MIRJANA
+ZRNIĆ MIROLJUB
+ZRNIĆ NENAD
+ZRNIĆ NIKOLA
+ZRNIĆ PETAR
+ZRNIĆ SINIŠA
+ZRNIĆ SLOBODAN
+ZRNIĆ SRĐAN
+ZRNIĆ VLADO
+ZRNIĆ ZORAN
+ZRNIĆ ZORAN
+ZUBAC ČEDOMIR
+ZUBAC DIVNA
+ZUBAC MILAN
+ZUBAC PERO
+ZUBAK STEVAN
+ZUBAN PETAR
+ZUBANOV BRANISLAV
+ZUBANOV VLADIMIR
+ZUBER DUŠAN
+ZUBER MARKO
+ZUBEREC JOVAN
+ZUBIĆ ŽARKO
+ZUBIĆ ĐURĐA
+ZUBIĆ BILJANA
+ZUBIĆ BOŽO
+ZUBIĆ BRANISLAVA
+ZUBIĆ DRAGO
+ZUBIĆ JOVO
+ZUBIĆ LAZO
+ZUBIĆ PETAR
+ZUBIĆ RADOSLAV
+ZUBIĆ RATKO
+ZUBIĆ VERA
+ZUBIĆ VERKA
+ZUBOV ADELA
+ZUBOVIĆ ANDRIJA
+ZUBOVIĆ MIRJANA
+ZUBOVIĆ SLOBODAN
+ZUBOVIĆ STEVAN
+ZUCAJIĆ JELENA
+ZUKIĆ GOJKO
+ZUKOVIĆ MILINKO
+ZULIĆ AGNEŠ
+ZUMBULOVIĆ PREDRAG
+ZUPANČIĆ FRANC
+ZUPANČIĆ IVAN
+ZUPANC DARKO
+ZUPANC RAJKO
+ZUPKOV ĐURA
+ZUPKOV MIROSLAV
+ZURKOVIĆ ĐORĐE
+ZURKOVIĆ ALEKSANDAR
+ZURKOVIĆ BOGOLJUB
+ZURKOVIĆ DUŠAN
+ZURKOVIĆ GAVRA
+ZURKOVIĆ MIRJANA
+ZURKOVIĆ NIKOLA
+ZURKOVIĆ RADOSLAV
+ZURKOVIĆ RUŽA
+ZURKOVIĆ VERA
+ZUROVAC JOVO
+ZUROVAC VELJKO
+ZUVIĆ OBRAD
+ZUZAKU REDŽEP
+ZVARA JULIJA
+ZVEKANOVIĆ JOSIP
+ZVEKIĆ DUŠANKA
+ZVEKIĆ JUGOSLAV
+ZVEKIĆ MARIJA
+ZVEKIĆ MILAN
+ZVEKIĆ NADA
+ZVEKIĆ PETAR
+ZVEKIĆ SINIŠA
+ZVEKIĆ VELIMIR
+ZVERŽINA JOSIP
+ZVEZDANOVIĆ BORA
+ZVEZDANOVIĆ TOMA
+ZVEZDIN JOVANKA
+ZVIJER MILORAD
+ZVIZDIĆ MEHMED
+ZVOŠEC KLARA
+ZVONAREVIĆ KATA
diff --git a/src/com/ibm/icu/dev/test/perf/data/collation/TestNames_SerbianSR.txt b/src/com/ibm/icu/dev/test/perf/data/collation/TestNames_SerbianSR.txt
new file mode 100644
index 0000000..9a5760a
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/perf/data/collation/TestNames_SerbianSR.txt
@@ -0,0 +1,61254 @@
+﻿#/**
+# *******************************************************************************
+# * Copyright (C) 2002-2004, International Business Machines Corporation and    *
+# * others. All Rights Reserved.                                                *
+# *******************************************************************************
+# */
+
+ЧАЧИЋ АЛЕКСАНДАР
+ЧАЧИЋ ЈЕЛИЦА
+ЧАЧИЋ МАРИЈА
+ЧАЧИЋ НИКОЛА
+ЧАЧИЈА БРАНКО
+ЧАЂЕНОВИЋ ЖАРКО
+ЧАЂЕНОВИЋ САБИНА
+ЧАБАИ АНДРИЈА
+ЧАБАИ ЛАЈОШ
+ЧАБАИ МАРИЈА
+ЧАБАИ СТЕВАН
+ЧАБАИ СТЕВАН
+ЧАБАРКАПА БРАНКО
+ЧАБАРКАПА МИЛЕНКО
+ЧАБАРКАПА МИРОСЛАВ
+ЧАБАРКАПА СИМО
+ЧАБАРКАПА СТАНКО
+ЧАБАРКАПА ТАМАРА
+ЧАБАРКАПА ТОМАШ
+ЧАБДАРИЋ НИКОЛА
+ЧАБДАРИЋ ЗОРИЦА
+ЧАБИ НАНДОР
+ЧАБОВИЋ МИЛАН
+ЧАБРАДИ АГНЕЗИЈА
+ЧАБРАДИ ИВАН
+ЧАБРАДИ ЈЕЛЕНА
+ЧАБРАДИ ЉУБИЦА
+ЧАБРАДИ СТЕВАН
+ЧАБРДА МАРТИН
+ЧАБРИЛО БОГДАН
+ЧАБРИЛО БРАНИСЛАВ
+ЧАБРИЛО ЛАЗАР
+ЧАБРИЛО ЉУБИЦА
+ЧАБРИЛО СПАСОЈА
+ЧАДЕШ ЗДЕНКА
+ЧАДЕСКИ БЛАГОЈЕ
+ЧАДОВСКИ ВЛАДИМИР
+ЧАГЉЕВИЋ ТОМА
+ЧАГОРОВИЋ ВЛАДИМИР
+ЧАЈА ВАНКА
+ЧАЈИЋ БОГОЉУБ
+ЧАЈИЋ БОРИСЛАВ
+ЧАЈИЋ РАДОСЛАВ
+ЧАКШИРАН МИЛАДИН
+ЧАКАН ЕУГЕН
+ЧАКАН ЕВГЕНИЈЕ
+ЧАКАН ИВАН
+ЧАКАН ЈУЛИЈАН
+ЧАКАН МИХАЈЛО
+ЧАКАН СТЕВАН
+ЧАКАН ВЛАДИМИР
+ЧАКАН ВЛАДИМИР
+ЧАКАН ВЛАДИМИР
+ЧАКАРА АНА
+ЧАКАРЕВИЋ МОМИР
+ЧАКАРЕВИЋ НЕДЕЉКО
+ЧАКИ ШАНДОР
+ЧАКИ АМАЛИЈА
+ЧАКИ АНДРАШ
+ЧАКИ ЛАДИСЛАВ
+ЧАКИ ЛАЈОШ
+ЧАКИ ЛАСЛО
+ЧАКИ МИХАЉ
+ЧАКИ МИХАЉ
+ЧАКИ ПИРОШКА
+ЧАКИЋ САВА
+ЧАКИЋ ЗЛАТОЈЕ ДР
+ЧАКМАК ДАНИЦА
+ЧАКМАК ДЕЈАН
+ЧАКМАК ЛАЗАР
+ЧАКМАК ЉИЉАНА
+ЧАКМАК ЉУБИЦА
+ЧАКМАК СОФИЈА
+ЧАКМАК СВЕТОЗАР
+ЧАКМАЛ ВОЈИСЛАВ
+ЧАКОВАЦ БОРИСЛАВ
+ЧАКОВАЦ МИРОСЛАВ
+ЧАКОВАЦ ПАНТЕЛИЈА
+ЧАКОВАЦ САВА
+ЧАКОВИЋ ЗДРАВКО
+ЧАКРА МИЛЕНА
+ЧАЛА ЂУЛА
+ЧАЛА ИРЕН
+ЧАЛА ИВАНКА
+ЧАЛА ЛЕНКА
+ЧАЛАКИЋ БРАНКО
+ЧАЛАКИЋ ЉУБОМИР
+ЧАЛАКИЋ МАРКО
+ЧАЛАКИЋ МИЛАН
+ЧАЛЕ ИВАН
+ЧАЛЕ ЈОСИП
+ЧАЛЕ МИЛАН
+ЧАЛЕ СОФИЈА
+ЧАЛЕ ВЛАДИМИР
+ЧАЛЕНИЋ БОРИСЛАВ
+ЧАЛЕНИЋ БРАНИСЛАВА
+ЧАЛЕНИЋ ДИНА
+ЧАЛЕНИЋ ДРАГИЦА
+ЧАЛЕНИЋ ЛАЗАР
+ЧАЛЕНИЋ ЉИЉАНА
+ЧАЛЕНИЋ ЉУБОМИР
+ЧАЛЕНИЋ ЛУКА
+ЧАЛЕНИЋ МИЛОСАВА
+ЧАЛЕНИЋ МИРЈАНА
+ЧАЛЕНИЋ СТЕВАН
+ЧАЛИЋ БОШКО
+ЧАЛИЋ ЈОВО
+ЧАЛИЋ МАРИЈА
+ЧАЛИЈА ДАНИЦА
+ЧАЛИЈА ЈОВАН
+ЧАЛИЈА ЛАЗАР
+ЧАЛИЈА МИЛАН
+ЧАМЂИЋ ЈАХИЈА
+ЧАМАНГОС ЂОРЂЕ
+ЧАМАНГОС КАТИЦА
+ЧАМБЕР ЉУБИЦА
+ЧАМБОР ЂУРО
+ЧАМБОР АНДРИЈА
+ЧАМБОР ЈОСИП
+ЧАМЏИЋ НЕАД
+ЧАМО БАРБАРА
+ЧАМПРАГ ЂОРЂЕ ЛЕКАР
+ЧАМПРАГ ДРАГА
+ЧАМПРАГ ДУШАН
+ЧАМПРАГ ЉУБИЦА
+ЧАМПРАГ МИЛАН
+ЧАНЧАР ЂОРЂЕ
+ЧАНЧАРЕВИЋ ЈОВАНКА
+ЧАНЧАРЕВИЋ МИРОЉУБ
+ЧАНЧАРЕВИЋ МЛАДЕН
+ЧАНАЏИЋ ЂОРЂЕ
+ЧАНАЏИЋ ЈОВАН
+ЧАНАЏИЋ САЊА
+ЧАНАДАНОВИЋ АНДРИЈА
+ЧАНАДАНОВИЋ МИРКО
+ЧАНАДАНОВИЋ РАДМИЛА
+ЧАНАДИ ЈАНОШ МР
+ЧАНАДИ ЉИЉАНА
+ЧАНАГЛИЋ ЂОКА
+ЧАНАК ЖЕЉКО
+ЧАНАК ЂУРА
+ЧАНАК БОСИЉКА ДР
+ЧАНАК МИХАЈЛО
+ЧАНАК МИРКО
+ЧАНАК МОМЧИЛО
+ЧАНАК НЕВЕНКА
+ЧАНАК НИКОЛА
+ЧАНАК НИКОЛА
+ЧАНАК НИКОЛА
+ЧАНАК ОЛИВЕРА
+ЧАНАК ВЕЉКО
+ЧАНАК ВЕСЕЛИН
+ЧАНАК ВУКАШИН
+ЧАНГАЛИЋ ДУШАН
+ЧАНИЋ ЉИЉАНА
+ЧАНИЋ МИЛОШ
+ЧАНИЋ ОСТОЈА
+ЧАЊЕВАЦ ШАРЛОТА
+ЧАЊИ АНДРИЈА
+ЧАЊИ ГАБИ
+ЧАЊИ ГАБОР
+ЧАЊИ ГИЗЕЛА
+ЧАЊИ ИРЕНА
+ЧАЊИ ИРЕНА
+ЧАЊИ ЈАНКО
+ЧАЊИ КАРЛО
+ЧАЊИ ЛАСЛО
+ЧАЊИ ЛАСЛО
+ЧАЊИ НАДА
+ЧАЊИ САМУЕЛ
+ЧАЊИ СТЕВАН
+ЧАЊИ СТЕВАН
+ЧАЊИ ВЛАДИМИР
+ЧАЊИ ЗОЛТАН
+ЧАЊИ ЗУЗАНА
+ЧАНКОВИЋ ЂОРЂЕ
+ЧАНКОВИЋ БОШКО
+ЧАНКОВИЋ БОЈА
+ЧАНКОВИЋ БРАНКО
+ЧАНКОВИЋ ДАНЕ
+ЧАНКОВИЋ ДАНЕ
+ЧАНКОВИЋ ДАНЕ
+ЧАНКОВИЋ ДАНИЦА
+ЧАНКОВИЋ ЈОВА
+ЧАНКОВИЋ ЉУБИНКА
+ЧАНКОВИЋ МАРИЈА
+ЧАНКОВИЋ МАРКО
+ЧАНКОВИЋ МИКА
+ЧАНКОВИЋ МИЛАН
+ЧАНКОВИЋ МИЛАН
+ЧАНКОВИЋ МИЛИВОЈ
+ЧАНКОВИЋ МИЛОРАД
+ЧАНКОВИЋ МЛАДЕН
+ЧАНКОВИЋ ОЛГА
+ЧАНКОВИЋ ПЕТАР МР
+ЧАНКОВИЋ ПЕТАР
+ЧАНКОВИЋ РАДОМИР
+ЧАНКОВИЋ РАДОМИР
+ЧАНКОВИЋ СЛАЂАНА
+ЧАНКОВИЋ СЛАВКО
+ЧАНКОВИЋ СЛОБОДАН
+ЧАНКОВИЋ ЗЛАТА
+ЧАНКОВИЋ ЗОРАН
+ЧАП АНТАЛ
+ЧАПАНДА ЈОСИП
+ЧАПЕЉА ДРАГАН
+ЧАПЕЉА ЈАН ДР
+ЧАПЕЉА ЈОВАН
+ЧАПЕЉА ПАВЛЕ
+ЧАПКО ЈУЛИЈАН
+ЧАПКО МИЛОРАД
+ЧАПКО МИРОСЛАВ
+ЧАПКО НЕСТОР
+ЧАПО АДАМ
+ЧАПО ИЛИЈА
+ЧАПО ЈАНОШ
+ЧАПО МАРИЈА
+ЧАПО НАДА
+ЧАПРИЋ МИЛОРАД
+ЧАРАПИЋ ТОМИСЛАВ
+ЧАСЊИ ЕРЖЕБЕТ
+ЧАСЊИ ФЕРЕНЦ
+ЧАСТВЕН ЈУЛИЈАНА
+ЧАТ АНДРИЈА
+ЧАТАЛИНАЦ МИЛАН
+ЧАТАЛИНАЦ НИКОЛА
+ЧАТАЛОВ СТОЈАН
+ЧАТЛАЈА СТАНА
+ЧАТЛАК ОЛИВЕРА
+ЧАТУШ ЗЛАТКО
+ЧАУШЕВИЋ КЕМАЛ
+ЧАУШЕВИЋ МИДХАТ
+ЧАУШЕВИЋ ТАТЈАНА
+ЧАВИЋ ШТЕФИЦА
+ЧАВИЋ ЖИВКА
+ЧАВИЋ ЂОРЂЕ
+ЧАВИЋ БОШКО
+ЧАВИЋ БРАНИСЛАВ
+ЧАВИЋ ДЕЈАН
+ЧАВИЋ ДЕЈАН
+ЧАВИЋ ДРАГИЦА
+ЧАВИЋ ДРАГО
+ЧАВИЋ ГОРДАНА
+ЧАВИЋ ГОРДАНА
+ЧАВИЋ КРСТАН
+ЧАВИЋ ЉУБОМИР
+ЧАВИЋ ЉУБОМИР
+ЧАВИЋ ЉУБОМИР
+ЧАВИЋ МАРИЈА
+ЧАВИЋ МИЛЕНА
+ЧАВИЋ МИРКО
+ЧАВИЋ ПЕТАР
+ЧАВИЋ РАДОМИР
+ЧАВИЋ РАДОВАН
+ЧАВИЋ СЛОБОДАН
+ЧАВИЋ СЛОБОДАН
+ЧАВИЋ СОКА
+ЧАВИЋ ТОША
+ЧАВИЋ ВЕЛИЗАР
+ЧАВИЋ ВЛАДО
+ЧАВИЋ ЗОРКА
+ЧАЗИМ ЧЕЛЕБИЈА
+ЧЕЧЕК ДРАГИЦА
+ЧЕЧЕК ВИЛИМ
+ЧЕЧУК АЛЕКСАНДАР
+ЧЕЧУК БРАНИСЛАВ
+ЧЕЧУК МИЛОШ
+ЧЕЧУК СЛАВИЦА
+ЧЕЧУК СТЕВАН
+ЧЕШЉАР ЂУРА
+ЧЕШЉАР АЛЕКСАНДАР
+ЧЕШЉАР ДАРИНКА
+ЧЕШЉАР ЈОСИП
+ЧЕШЉАР ЈОВАН
+ЧЕШЉАР СТЕВАН
+ЧЕШЉЕВИЋ ДУШАН
+ЧЕШЉЕВИЋ КОСТА
+ЧЕШЉЕВИЋ МИЛЕНКО
+ЧЕШЉЕВИЋ МИРОСЛАВА
+ЧЕШЉЕВИЋ МОМЧИЛО
+ЧЕШЉЕВИЋ СТАНКО
+ЧЕБАЦ ЉУБИЦА
+ЧЕБАЦ ПАВЛЕ
+ЧЕБЕЏИЋ МИЛАН
+ЧЕБСКИ ВЛАДИМИР
+ЧЕБЗАН ПАНТА
+ЧЕДИЋ РЕЏО
+ЧЕГАР БОЖО
+ЧЕГАР ДЕСАНКА
+ЧЕГАР ДРАГАН
+ЧЕГАР МИЛОШ
+ЧЕГАР МИРКО
+ЧЕГАР ПАНЕ
+ЧЕГАР СРЕТКО
+ЧЕГАР СТЕВАНИЈА
+ЧЕГАР СВЕТЛАНА
+ЧЕГАР ТОДОР
+ЧЕХ АНТОН
+ЧЕХ ЈОЖЕФ
+ЧЕХ ЈОСИП
+ЧЕХ ЈОВАН
+ЧЕХ МИКЛОШ
+ЧЕХ СТАНКА
+ЧЕХ ЗЛАТА
+ЧЕХАК КАЛМАН ДР
+ЧЕХОВ ИВАН
+ЧЕХОВ ПЕТАР
+ЧЕЈОВИЋ БИСЕРКА
+ЧЕЈОВИЋ СЛОБОДАН
+ЧЕЈОВИЋ ВЕЛИМИР
+ЧЕЈОВИЋ ВЛАДИМИР
+ЧЕКАНОВИЋ ЖИВАНА
+ЧЕКАНОВИЋ ВИТОМИР
+ЧЕКЕ ДЕЖЕ
+ЧЕКЕ МАРИЈА
+ЧЕКЕ СНЕЖАНА
+ЧЕКЕ СТЕВАН
+ЧЕКЕРЕВАЦ БРАНКО
+ЧЕКЕРИНАЦ ДУШАН
+ЧЕКЕРИНАЦ ЗОРАН
+ЧЕКИ ДАРИНКА
+ЧЕКИ ДАВИД
+ЧЕКИЋ АНА
+ЧЕКИЋ ДАРИНКА
+ЧЕКИЋ ДИМИТРИЈЕ
+ЧЕКИЋ ДРАГАН
+ЧЕКИЋ ИЛИЈА
+ЧЕКИЋ ЈОВАН
+ЧЕКИЋ МИЛОРАД
+ЧЕКИЋ МИЛОРАД
+ЧЕКИЋ МИЛОВАН
+ЧЕКИЋ МИРЈАНА
+ЧЕКИЋ МОМЧИЛО
+ЧЕКИЋ САВА
+ЧЕКИЋ САВА
+ЧЕКИЋ ВАСА
+ЧЕКИЋ ЗДРАВКО
+ЧЕКРЏИН РАДИСЛАВ
+ЧЕЛАР СТЕВАН
+ЧЕЛЕБИЋ АЛЕКСАНДАР
+ЧЕЛЕБИЋ БОЖО
+ЧЕЛЕБИЋ ИЛИЈА
+ЧЕЛЕБИЋ МИЛОРАД
+ЧЕЛЕБИЋ МОМЧИЛО
+ЧЕЛЕБИЋ ОЛГА
+ЧЕЛЕБИЋ-ТУБИЋ ВЕСНА
+ЧЕЛЕБИЋ ЗОРКА
+ЧЕЛЕКЕТИЋ ЈОВАН
+ЧЕЛЕКЕТИЋ ЈОВАН
+ЧЕЛЕКЕТИЋ МИРОСЛАВ
+ЧЕЛЕКЕТИЋ МИРОСЛАВ
+ЧЕЛЕКЕТИЋ РАДОВАН
+ЧЕЛЕКЕТИЋ ТАМАРА
+ЧЕЛЕНАК КАТАЛИН
+ЧЕЛЕСНИК ДРАГУТИН
+ЧЕЛИЋ БАНЕ
+ЧЕЛИЋ ДИНКА
+ЧЕЛИЋ ГЛИГОРИЈЕ
+ЧЕЛИЋ ИЛИЈА
+ЧЕЛИЋ КАТАРИНА
+ЧЕЛИЋ ЉУБИНКО
+ЧЕЛИЋ ЉУБОМИР
+ЧЕЛИЋ МИЛИВОЈ
+ЧЕЛИЋ ПАВЛЕ
+ЧЕЛИЋ СРЂАН
+ЧЕЛИЋ СТАНКО ДР
+ЧЕЛИЋ ВЕРА
+ЧЕЛИЦА ЈЕЛЕНА
+ЧЕЛИКОВИЋ ЕМИЛ
+ЧЕЛОФИГА АНТОНИЈА
+ЧЕЛОВИЋ МИРЈАНА
+ЧЕЛОВСКИ АНДРЕЈ
+ЧЕЛОВСКИ ДРАГИЦА
+ЧЕМАН ЂОРЂЕ
+ЧЕМАН ЂУРА
+ЧЕМАН АНДРИЈА
+ЧЕМАН ДАНИЛО
+ЧЕМАН ГОРДАНА
+ЧЕМАН ЈАН
+ЧЕМАН ЈОВАН
+ЧЕМАН МИША
+ЧЕМАН МИРОСЛАВ
+ЧЕМАН ОЛГА
+ЧЕМАН РУЖЕНКА
+ЧЕМАН САМУЕЛ
+ЧЕМАН СТЕВАН
+ЧЕМАН ТЕРЕЗА
+ЧЕМБИЋ МИЛАН
+ЧЕМЕРЕ ЕРЖЕБЕТ
+ЧЕМЕРЕ ЛАЈОШ
+ЧЕМЕРЛИЋ ПЕТАР
+ЧЕНДЕШ БРАНКО
+ЧЕНЕЈАЦ ЖИВАН
+ЧЕНЕЈАЦ ГРУЈА
+ЧЕНЕЈАЦ ЉУБИЦА
+ЧЕНЕЈАЦ ЉУБИЦА
+ЧЕНЕЈАЦ МИЛОШ
+ЧЕНЕЈАЦ МИЛУТИН
+ЧЕНЕЈАЦ ТОМИСЛАВ
+ЧЕНЕЈАЦ ВЕЛИСЛАВ
+ЧЕНГЕРИ АТИЛА
+ЧЕНГИЋ МАРИЈА
+ЧЕНУША ГЕОРГИНА
+ЧЕПЧАЊИ МИРЈАНА
+ЧЕПЕ АНИЦА
+ЧЕПИ ЈАНОШ
+ЧЕПИ ЛАСЛО
+ЧЕПИ МАРИЈА
+ЧЕПИ НАНДОР
+ЧЕПИЋ БОРИСЛАВ
+ЧЕПИЋ СЛОБОДАН
+ЧЕПИЋ СМИЉА
+ЧЕПИЋ ВЕЛИМИР
+ЧЕПИН ВИКТОР
+ЧЕПЛЕ СТЕВАН
+ЧЕПРЕГИ ИРЕНА
+ЧЕПРЕГИ ЈУЛИЈА
+ЧЕПСКИ ЈОВАН
+ЧЕПСКИ СТЕВАН
+ЧЕР ШАНДОР
+ЧЕР АЛЕКСАНДАР
+ЧЕР ФРАЊА
+ЧЕР ЛАДИСЛАВ
+ЧЕР МАРИЈА
+ЧЕРЕКОВИЋ ЕЛИЗАБЕТА
+ЧЕРЕКОВИЋ РИСТО
+ЧЕРЕКОВИЋ СЛАВКО
+ЧЕРЕКОВИЋ ВАСКРСИЈЕ
+ЧЕРЕВИЋ ИВАН
+ЧЕРЕВИЋ ВЕРИЦА
+ЧЕРЕВИЦКИ АЛЕКСАНДАР
+ЧЕРЕВИЦКИ ДУШАН
+ЧЕРЕВИЦКИ ЈОВАН
+ЧЕРЕВИЦКИ ЉУБИЦА
+ЧЕРЕВИЦКИ МИТА
+ЧЕРЕВИЦКИ НАДА
+ЧЕРЕВИЦКИ РАДА
+ЧЕРЕВИЦКИ РУЖИЦА
+ЧЕРЕВИЦКИ СТЕВАН
+ЧЕРЕВИЦКИ СВЕТИСЛАВ
+ЧЕРЕВИЦКИ ТЕОДОР
+ЧЕРГЕ БЕЛА
+ЧЕРИ ЈОЖЕФ
+ЧЕРКЕЗ БОГДАНКА
+ЧЕРКЕЗ ДУШАНКА
+ЧЕРКЕЗ ЕВИЦА
+ЧЕРКЕЗ ЈОВАНКА
+ЧЕРКЕЗ СТЕВАН
+ЧЕРКЕЗОВ ДУШАНКА
+ЧЕРКИЋ ОСМАН
+ЧЕРКИЋ ВАСИЛИЈЕ
+ЧЕРНЧЕЦ ВЕРА
+ЧЕРНАК ЕВА
+ЧЕРНЕК-АПРО ЖУЖАНА
+ЧЕРНЕКА СТЕВАН
+ЧЕРНИ ИШТВАН
+ЧЕРНИЧЕК ЕРЖЕБЕТ
+ЧЕРНИЧЕК ИШТВАН
+ЧЕРНИЧЕК ИШТВАН
+ЧЕРНИЋ ДУШАН
+ЧЕРНИК АТИЛА
+ЧЕРНИК ЈОЖЕФ
+ЧЕРНИК МАРГИТА
+ЧЕРНИВЕЦ ТАТЈАНА
+ЧЕРЊА МАРИЈА
+ЧЕРЊА МАТИЛДА
+ЧЕРЊАК ЛАДИСЛАВ
+ЧЕРЊАНСКИ ДРАГОМИР
+ЧЕРЊЕВСКИ СВЕТИСЛАВ
+ЧЕРЊУШ ЈАКИМ
+ЧЕРНОГУБОВ БОРИС
+ЧЕРНУШ ИБОЉА
+ЧЕРНУШ ТИБОР
+ЧЕРОВИЋ РАТКО
+ЧЕРУБЏИЋ ДРАГОМИР
+ЧЕРУБЏИЋ ЈОВАН
+ЧЕРУБЏИЋ МАРГИТА
+ЧЕРУБЏИЋ МАРГИТА
+ЧЕРУПОЖИЋ ОЛГА
+ЧЕРВАРИ ЕРЖЕБЕТ
+ЧЕРВЕЊАК ЈЕЛИСАВЕТА
+ЧЕРВЕЊАК ЈОСИП
+ЧЕРВЕЊАК ЉУБИЦА
+ЧЕРВЕЊАК ОЛГА
+ЧЕРВЕЊАК ПЕТАР
+ЧЕРВЕЊАК ЗАГОРКА
+ЧЕРВЕНКО АЛЕКСАНДАР
+ЧЕРВЕНКО АНА
+ЧЕСАК АНДРИЈА
+ЧЕТЕ АРОН ДИПЛ ИНГ
+ЧЕТИЋ МИЛОРАД
+ЧЕТЛЕ МАРИЈА
+ЧЕТНИК БОГДАН
+ЧЕТНИК ЈОВАН
+ЧЕТНИК ЗАГОРКА
+ЧЕТНИКОВИЋ ПЕТАР ДИПЛ ОЕЦ
+ЧЕТОЈЕВИЋ МИЛКА
+ЧЕТОЈЕВИЋ РАДИВОЈЕ
+ЧЕВАРИ ЂОРЂЕ
+ЧЕВАРИ АНТАЛ
+ЧЕВАРИ МАРИЈА
+ЧЕВАРИ МИХАЈЛО
+ЧЕВАРИ ЗОЛТАН
+ЧИЧА ЈОВАН
+ЧИЧА НИКОЛА
+ЧИЧАИ ЈОЖЕФ
+ЧИЧАК АНКИЦА
+ЧИЧАК МИРКО
+ЧИЧАКИН АНЂЕЛКА
+ЧИЧАРЕВИЋ САВО
+ЧИЧЕК ДАНИЈЕЛ
+ЧИЧИЋ ДРАГОЉУБ
+ЧИЧИЋ МИЛЕ
+ЧИЧИЋ МИРОСЛАВ
+ЧИЧКОВИЋ СВЕТКО
+ЧИЧОВАЧКИ БОРИСЛАВ
+ЧИЧОВАЧКИ ДИМИТРИЈЕ
+ЧИЧОВАЦ ЂОРЂЕ
+ЧИЧОВАЦ КОСТА
+ЧИЧОВАЦ МИЛИЦА
+ЧИЧОВАЦ РАДОСЛАВ
+ЧИЧОВАЦ ВЛАДИМИР
+ЧИЖЕК ПАВЛЕ
+ЧИЖЕК СЛАВОМИР
+ЧИЖМЕШИЈА ИВАН
+ЧИБРИ ЈАНОШ
+ЧИБРИ ПИРОШКА
+ЧИЕФ ЈАН
+ЧИЕФ МАРТИН
+ЧИЕФ САМУЕЛ
+ЧИХИ ФЕРЕНЦ
+ЧИХИ ЈАНОШ
+ЧИХИ ЈАНОШ
+ЧИК АНДРИЈА
+ЧИК ИЛИЈА
+ЧИК ЈЕНЕ
+ЧИК ЗОЛТАН
+ЧИКИ ЈОСИП
+ЧИКИ МАРИЈА
+ЧИКИЋ ЂОРЂЕ
+ЧИКИЋ ЦВЕТОМИР
+ЧИКИЋ ДРАГИЦА
+ЧИКИЋ ЕМИЛ
+ЧИКИЋ ЕВИЦА
+ЧИКИЋ МИЛАН
+ЧИКИЋ НИКОЛА
+ЧИКИЋ СТЕВАН
+ЧИКОШ ЖУЖАНА
+ЧИКОШ ЂЕРЂ
+ЧИКОШ ЂОРЂЕ
+ЧИКОШ ЕРЖЕБЕТ
+ЧИКОШ ЕРЖЕБЕТ
+ЧИКОШ ФЕРЕНЦ
+ЧИКОШ ЈОСИП ДР
+ЧИКОШ ЈУЛИЈАНА
+ЧИКОШ ЛАДИСЛАВ
+ЧИКОШ ЛЕХЕЛ
+ЧИКОШ МАРИЈА
+ЧИКОЈЕВИЋ ВИНКО
+ЧИКОВИЋ СРЕТКО
+ЧИКВАР КАРЛО
+ЧИЛАГ ЈАНОШ
+ЧИЛАГ НАНДОР
+ЧИЛАГ НАНДОР
+ЧИЛЕГ ЕВА
+ЧИЛИЋ АВДО
+ЧИЛИЋ ИШТВАН
+ЧИЛИЋ ЈОСИП
+ЧИЛИЋ ЈУЛИАНА
+ЧИЛИЋ МАЛВИНА
+ЧИЛИЋ МАРКО
+ЧИЛИК АНКА
+ЧИЛИК ИЛОНКА
+ЧИЛИНГИРИС ПАВЛЕ
+ЧИНЧАК ГАБОР
+ЧИНЧУРАК МИХАЈЛО
+ЧИНЧУРАК ПАВЛЕ
+ЧИНЧУРАК СТЕВАН
+ЧИНЧУРЕК БОШКО
+ЧИНДРАК ДАУТ
+ЧИНДРАК САНИЈА
+ЧИП МАТО
+ЧИПАК-ФАЗЕКАШ ИБОЈА
+ЧИПЕ ЂОРЂЕ
+ЧИПЕ ЕРЖЕБЕТ
+ЧИПЕ ЕРЖИКА
+ЧИПЕ ФРАЊА
+ЧИПЕ ИРЕН
+ЧИПЕ ЈАНОШ
+ЧИПЕ ЈОСИП
+ЧИПЕ ЈУЛИЈАНА
+ЧИПЕ ЛАСЛО
+ЧИПЕ ЛАСЛО
+ЧИПЕ МАРИЈА
+ЧИПЕ МАРТА
+ЧИПЕ МИХАЉ
+ЧИПЕ МИХАЉ
+ЧИПЕ СТЈЕПАН
+ЧИПИЋ КАТИЦА
+ЧИПКАР АНДРЕЈ
+ЧИПКАР СТЕВАН
+ЧИПЛИЋ ЛАЗАР
+ЧИПЛИЋ МИЛАН
+ЧИПЛИЋ ВЕРА
+ЧИПЛИЋ ВИДА
+ЧИРХ ДЕЖЕ
+ЧИРХ ВАСКА
+ЧИРИЋ ЈОЖЕФ
+ЧИСАР ФЕРЕНЦ ДИПЛ ИНГ
+ЧИСАР ЛАСЛО
+ЧИТЛУЧАНИН МИЛИЦА
+ЧИВЧИЋ ЕРЖЕБЕТ
+ЧИВЧИЋ МИХАЈЛО
+ЧИВЧИЋ МИЛЕ
+ЧИВЧИЋ МИЉА
+ЧИВЧИЋ РАДОМИР
+ЧИВЧИЋ САВО
+ЧИВОВИЋ МИЛЕВА
+ЧИВОВИЋ РАДОВАН
+ЧИЗМАДИА ГУСТАВ
+ЧИЗМАДИА ВЕРОНИКА
+ЧИЗМАДИЈА ЂУЛА
+ЧИЗМАДИЈА ИШТВАН
+ЧИЗМАДИЈА ЈАНОШ
+ЧИЗМАДИЈА КАРОЉ
+ЧИЗМАДИЈА МИКИ
+ЧИЗМАР АНА
+ЧИЗМАР АНИЦА
+ЧИЗМАР ЈАНКО
+ЧИЗМАР ЈОАКИМ
+ЧИЗМАР ЛАЈОШ
+ЧИЗМАР МАРИЈА
+ЧИЗМАР МИРКО
+ЧИЗМАР ПАВЛЕ
+ЧИЗМАР СТЕВАН
+ЧИЗМАР ВЛАДИМИР
+ЧИЗМЕШИЈА МАГДА
+ЧИЗМИЋ АНИЦА
+ЧИЗМИЋ ИВАН
+ЧИЗМИЋ РАДА
+ЧИЗМИЋ ЗОРА
+ЧИЗМОВИЋ ВИДАК
+ЧМЕЛИК МАРТИН
+ЧМЕЛИК РАСТИСЛАВ
+ЧОЧАЈ СУЛО
+ЧОШКОВ НАДА
+ЧОАШ ИРЕНА
+ЧОБАН ЈОН
+ЧОБАН ЈОВАН
+ЧОБАН ЈОВАН
+ЧОБАН ЛИДИЈА
+ЧОБАН МАРИЈА
+ЧОБАН НИКУ
+ЧОБАНОВ ЖИВКА
+ЧОБАНОВ БИЉАНА
+ЧОБАНОВ ДРАГИЦА
+ЧОБАНОВ ДРАГОМИР
+ЧОБАНОВ ДУШАН
+ЧОБАНОВ ЈЕЛЕНА
+ЧОБАНОВ ЉИЉАНА
+ЧОБАНОВ МЕЛАНИЈА
+ЧОБАНОВ МИЉКА
+ЧОБАНОВ РУЖИЦА
+ЧОБАНОВ СЛОБОДАН
+ЧОБАНОВ СВЕТО
+ЧОБАНОВ ВАСА
+ЧОБАНОВ ВЛАДИСЛАВ
+ЧОБАНОВ ЗОРАН
+ЧОБАНОВИЋ БОШКО
+ЧОБАНОВИЋ БРАНИСЛАВ
+ЧОБАНОВИЋ ДРАГАН
+ЧОБАНОВИЋ ДРАГАН
+ЧОБАНОВИЋ ДРАГАН
+ЧОБАНОВИЋ ДУШАН
+ЧОБАНОВИЋ-ГЕЗ МАРИЈА
+ЧОБАНОВИЋ ИЛИЈА
+ЧОБАНОВИЋ ЈЕЛЕНА
+ЧОБАНОВИЋ ЛАЗАР
+ЧОБАНОВИЋ ЉИЉАНА
+ЧОБАНОВИЋ НИКОЛА
+ЧОБАНОВИЋ РАДМИЛА
+ЧОБАНОВИЋ САВА
+ЧОБАНОВИЋ САВО
+ЧОБАНОВИЋ СЛОБОДАН
+ЧОБАНОВИЋ ВАЛЕРИЈА
+ЧОБАНОВИЋ ЗОРАН
+ЧОБАНСКИ ДРАГАН
+ЧОБАНСКИ МИЛЕНА
+ЧОБАНСКИ РАДОЈКА
+ЧОБИЋ РЕЉА
+ЧОБИЋ СТРАХИЊА
+ЧОБИЋ ТИМОТЕЈ
+ЧОБОТ ИЛОНКА
+ЧОБРДА ЈАНКО
+ЧОБРДА ЈАНКО
+ЧОЈИЋ СТЕФАНИДА
+ЧОКА ИВАНКА
+ЧОКАШ ЛУЦИЈА
+ЧОКАН НИКОЛА
+ЧОКАНИЦА САВА
+ЧОКАНИЦА СОФИЈА
+ЧОКИЋ МИЛАН
+ЧОКЉАТ ЗДЕНКА
+ЧОКРЛИЋ БАРБАРА
+ЧОКРЛИЋ ЈОСИП
+ЧОЛАК АЛЕКСАНДАР
+ЧОЛАК ДРАГОЉУБ
+ЧОЛАК ДРАГОЉУБ
+ЧОЛАК ГОРАН
+ЧОЛАК КРИСТИНА
+ЧОЛАК МИХАЈЛО
+ЧОЛАК-МИХАЛИК МАРИЈА
+ЧОЛАКОВ МИЛАН
+ЧОЛАКОВ МИЛЕ
+ЧОЛАКОВ ПАВЛЕ
+ЧОЛАКОВИЋ АНЂЕЛКА
+ЧОЛАКОВИЋ МОМА
+ЧОЛАКОВИЋ НИКОЛА
+ЧОЛАКОВИЋ СВЕТОЗАР
+ЧОЛАКОВИЋ ТЕОДОР
+ЧОЛАКОВИЋ ВАЊА
+ЧОЛЕВИЋ СВЕТИСЛАВ
+ЧОЛИЋ ЂУРО
+ЧОЛИЋ АНЂЕЛКА
+ЧОЛИЋ БОРО
+ЧОЛИЋ ДЕСА
+ЧОЛИЋ ДУШАН
+ЧОЛИЋ ДУШКО
+ЧОЛИЋ ЕЛИЗАБЕТА
+ЧОЛИЋ-ГАЋЕША СЛАВИЦА
+ЧОЛИЋ ИВАН
+ЧОЛИЋ ЈОВАНКА
+ЧОЛИЋ ЈОВАН
+ЧОЛИЋ ЈОВАН
+ЧОЛИЋ ЛУКА
+ЧОЛИЋ МАРА
+ЧОЛИЋ МАРИЈА
+ЧОЛИЋ МИЛАН
+ЧОЛИЋ МИЛАН
+ЧОЛИЋ МИЛАН
+ЧОЛИЋ МИРЈАНА
+ЧОЛИЋ МИРКО
+ЧОЛИЋ МИРОСЛАВКА
+ЧОЛИЋ ПЕТАР
+ЧОЛИЋ РАДА
+ЧОЛИЋ РАДМИЛА
+ЧОЛИЋ РИСТО
+ЧОЛИЋ САВА
+ЧОЛОВИЋ БОГОЉУБ
+ЧОЛОВИЋ ДРАГАН
+ЧОЛОВИЋ ДУШАН
+ЧОЛОВИЋ МИЛЕ
+ЧОЛОВИЋ МИЛИЈАНА
+ЧОЛОВИЋ ОЛГА
+ЧОЛОВИЋ ПЕТАР
+ЧОЛОВИЋ РАДОСЛАВ
+ЧОЛОВИЋ РАДОВАН
+ЧОЛОВИЋ СТЕВАН
+ЧОЛОВИЋ ВИДОСАВ
+ЧОЛОВИЋ ВЛАДО
+ЧОМА ЂУЛА
+ЧОМА ЂУЛА
+ЧОМИЋ ЂУРЂИНА
+ЧОМИЋ ДАРА
+ЧОМИЋ ДРАГАН
+ЧОМИЋ ДУШАНКА
+ЧОМИЋ ЕРЖЕБЕТ
+ЧОМИЋ ИЛИЈА
+ЧОМИЋ ЈАШКО
+ЧОМИЋ ЈАШКО
+ЧОМИЋ КРСТА
+ЧОМИЋ ЛИДИЈА
+ЧОМИЋ ЉУБОМИР
+ЧОМИЋ МИЛОШ
+ЧОМИЋ МИРОЉУБ
+ЧОМИЋ МЛАДЕН
+ЧОМИЋ СЛОБОДАН
+ЧОМИЋ СМИЉАНА
+ЧОМИЋ ТОДОР
+ЧОМИЋ ТОДОР
+ЧОМОР ИЛОНКА
+ЧОМОР МАТИЛДА
+ЧОНГРАДАЦ ДАНИЈЕЛА
+ЧОНГРАДАЦ ИВАНКА
+ЧОНГРАДАЦ РАДОСЛАВ
+ЧОНИЋ АНКА
+ЧОНИЋ МИЛЕНКО
+ЧОНИЋ МИЛОШ
+ЧОНИЋ ПЕТАР
+ЧОНИЋ ТИЈАНА
+ЧОНИЋ ЗОРАН
+ЧОНКА ЂЕРЂ
+ЧОНКА ГОРДАНА
+ЧОНКА КАРОЉ
+ЧОНКА ПЕТАР
+ЧОНКАШ ЕМИЛ
+ЧОНКАШ ГАБРИЕЛА
+ЧОНКАШ ЛАДИСЛАВ
+ЧОНКИЋ ЖИВКО
+ЧОНКИЋ АЛЕКСА
+ЧОНКИЋ БИЉАНА
+ЧОНКИЋ БОГОЉУБ ЛЕКАР
+ЧОНКИЋ БОРИСЛАВ
+ЧОНКИЋ ДРАГАН
+ЧОНКИЋ ЈЕЛА
+ЧОНКИЋ ЈУДИТ
+ЧОНКИЋ ЉИЉАНА
+ЧОНКИЋ МАРИЈА
+ЧОНКИЋ МИЛАНКА
+ЧОНКИЋ МИЛЕНА
+ЧОНКИЋ МИЛОШ
+ЧОНКИЋ МИЛОРАД
+ЧОНКИЋ МИЛОРАД
+ЧОНКИЋ МИЛОВАН
+ЧОНКИЋ МОМЧИЛО ДИПЛ ИНГ
+ЧОНКИЋ НЕБОЈША
+ЧОНКИЋ НЕСТОР
+ЧОНКИЋ ПЕТАР
+ЧОНКИЋ РАДЕНКО
+ЧОНКИЋ РАДОСЛАВ
+ЧОНКИЋ САША
+ЧОНКИЋ СЛАВКО
+ЧОНКИЋ СЛОБОДАН
+ЧОНКИЋ СНЕЖАНА
+ЧОНКИЋ СТАМЕНА
+ЧОНКИЋ СТЕВАН
+ЧОНКИЋ ТИХОМИР
+ЧОНТОШ ЈОЖЕФ
+ЧОНТОШ ЗОРА
+ЧОПЧИЋ МАРТИН
+ЧОПИК ПЕТАР
+ЧОПИК ВАСИЛИЈА
+ЧОПОРДА ВУКОСАВА
+ЧОР ФРАЊА
+ЧОР ЈОСИП
+ЧОРАК ЈОСИП
+ЧОРАК СТИПЕ
+ЧОРАЛИЋ ИВАНКА
+ЧОРБА ЂЕРЂ
+ЧОРБА ИШТВАН
+ЧОРБА ЈОВАН
+ЧОРБА ЈОВАН
+ЧОРБА МИХАЉ
+ЧОРДА АЛЕКСАНДРА
+ЧОРДА АЛИЈА
+ЧОРДА НАДЕЖДА
+ЧОРДА ТОМИСЛАВ
+ЧОРДА ВЕРА
+ЧОРДАШ АНДРИЈА
+ЧОРДАШ АРПАД
+ЧОРДАШ ДУШАНКА
+ЧОРДАШ ЕРЖЕБЕТ
+ЧОРДАШ ХАРГИТА
+ЧОРДАШ ИРЕНА
+ЧОРДАШ ЛАСЛО
+ЧОРДАШ МИХАЉ
+ЧОРДАШ СЛАВКО
+ЧОРДАР БРАНКО
+ЧОРДАРЕВ ЉИЉАНА
+ЧОРДАРЕВ ВЕРА
+ЧОРДАРОВ БОРИСЛАВКА
+ЧОРДАРОВ ИВАН
+ЧОРДАРОВ СВЕТИСЛАВ
+ЧОРДАРОВ ТЕОДОР
+ЧОРДАРОВ ТЕОДОР
+ЧОРИЋ МАРИЈАН
+ЧОРНЕНКИ БОРИСЛАВ
+ЧОРНЕНКИ ДРАГОЉУБ
+ЧОРНЕНКИ ЈОВАН
+ЧОРНЕНКИ ВЛАДА
+ЧОРНИ МИЛУНА
+ЧОРНИЈ МИРОСЛАВ
+ЧОРТАН ЖИВКО
+ЧОРТАН БОШКО
+ЧОРТАН МИЛИЦА
+ЧОРТАН НАДА
+ЧОРТАН РАДИВОЈ
+ЧОРТАНОВАЧКИ СЛОБОДАН
+ЧОВИЋ ДАРКО
+ЧОВИЋ ДАРКО
+ЧОВИЋ ДРАГАН
+ЧОВИЋ ГУСТАВ
+ЧОВИЋ ИВАН
+ЧОВИЋ ЈАНКО
+ЧОВИЋ ЈОСИП
+ЧОВИЋ КОВИЉКА
+ЧОВИЋ КРСТО
+ЧОВИЋ ЛАДА
+ЧОВИЋ МАРИЈАНА
+ЧОВИЋ МИЛАН
+ЧОВИЋ МИЛЕВА
+ЧОВИЋ МОМИР
+ЧОВИЋ ОЛГА
+ЧОВИЋ ПЕТАР
+ЧОВИЋ РАДОШ
+ЧОВИЋ РАДОСЛАВ
+ЧОВИЋ РАТКО
+ЧОВИЋ СНЕЖАНА
+ЧОВИЋ СТАНКО
+ЧОВИЋ ВЛАДА
+ЧОВИЋ ВЛАТКО
+ЧОВИЋ ЗОРИЦА
+ЧОВИЛО БРАНИСЛАВ
+ЧОВС ЈАША
+ЧОВС ПАВЛЕ
+ЧОВС ПАВЛЕ
+ЧОВС ВЕРИЦА
+ЧРЕТНИК-ЦВЕЈАНОВИЋ ОЛГА ДИПЛ ИНГ
+ЧРЊЕКА ЗЛАТКО
+ЧРНОЈАЧКИ ДАНИСЛАВ
+ЧУЧ ЈЕЛЕНА
+ЧУЧ МАРИЈА
+ЧУЧИЛОВИЋ БРАНКА
+ЧУЧКОВИЋ ЧЕДО
+ЧУЧКОВИЋ ЖЕЉКО
+ЧУЧКОВИЋ ЂУРО
+ЧУЧКОВИЋ БОЖИДАР
+ЧУЧКОВИЋ ДРАГАН
+ЧУЧКОВИЋ РАДОЈКА
+ЧУЧКОВИЋ САВА ДИПЛ ИНГ
+ЧУЧКОВИЋ СЛОБОДАН
+ЧУЧКОВИЋ СПАСА
+ЧУЧКОВИЋ ВЛАДИМИР
+ЧУЧУЛИС ДИМИТРИЈЕ
+ЧУБРАНОВИЋ РАДОМИР
+ЧУБРИЛО АНКА
+ЧУБРИЛО ДРАГАН
+ЧУБРИЛО ДУШАН
+ЧУБРИЛО ЈОВО
+ЧУБРИЛО ЛАЗО
+ЧУБРИЛО МИЛАН
+ЧУБРИЛО ПЕТАР
+ЧУБРИЛО СОФИЈА
+ЧУБРИЛО ВЛАДИМИР
+ЧУБРИЛОВИЋ МИЛАН
+ЧУБРОВИЋ СТЕВАН
+ЧУДАНОВ ЧЕДА
+ЧУДАНОВ АЛЕКСАНДАР
+ЧУДАНОВ МАРИЈА
+ЧУДАНОВ МИЛИЦА
+ЧУДИЋ ИВАН
+ЧУДИЋ ЈОВАНКА
+ЧУДИЋ МИЛОРАД
+ЧУДИЋ НИКОЛА
+ЧУДИЋ ПРЕДРАГ
+ЧУДИЋ СЛОБОДАН
+ЧУДОМИРОВИЋ БОГДАН
+ЧУДОМИРОВИЋ УРОШ
+ЧУГАЉ АНКА
+ЧУГАЉ МИРЈАНА
+ЧУГАЉ СВЕТО
+ЧУГЕЉ АНГЕЛИНА
+ЧУХА МАРИЈА
+ЧУХА ПАВЛЕ
+ЧУХА СЛАВКО
+ЧУХА СТЕВАН
+ЧУХА-ВУЈКОВ РУЖА
+ЧУХА ЗЛАТА
+ЧУЈАНОВ БОРИС
+ЧУКА ВЈЕКОСЛАВ
+ЧУКАЉИЋ НЕВЕНКА
+ЧУКИЋ БОРИВОЈЕ
+ЧУКИЋ МИЛКА
+ЧУКИЋ МИРСАДА
+ЧУКИЋ СЛОБОДАН
+ЧУКИЋ ЗОРАН
+ЧУКЉАШ ИВАН
+ЧУКЉЕК ФРАЊА
+ЧУКЉЕК МАРГИТА
+ЧУКЉЕВИЋ БУДИМКА
+ЧУКОВИЋ СЛАВКО
+ЧУКУРАНОВИЋ ЖИКА
+ЧУКУРАНОВИЋ МИЈА
+ЧУЛАЈЕВИЋ ЈОВАН
+ЧУЛАЈЕВИЋ СТАНКО
+ЧУЛИЋ ЈОВА
+ЧУЛИК ХАЈНЕРИК
+ЧУЛИНА ЖЕЉКО
+ЧУЉАК ДРАГА
+ЧУЉАК ИВАН
+ЧУЉАК КАРЛО
+ЧУЉАК МИРКО
+ЧУЉАК НАДА
+ЧУЉАТ ДАНЕ
+ЧУЉАТ ЈАКОВ
+ЧУЉИЋ ЖИВОЈИН
+ЧУЛО БОЖА
+ЧУЛО МАРКО
+ЧУЛО МАТО
+ЧУНКО БРАНКО
+ЧУПАК АЛЕКСАНДАР
+ЧУПЕЉИЋ МИЛИВОЈЕ
+ЧУПИЋ ЂОРЂЕ
+ЧУПИЋ БОЖИДАР
+ЧУПИЋ БОЈАН
+ЧУПИЋ БРАНИСЛАВ
+ЧУПИЋ ДРАГАН
+ЧУПИЋ ДУШАН
+ЧУПИЋ ХРИСТИФОР
+ЧУПИЋ ЈЕЛЕНА
+ЧУПИЋ КАЈКА
+ЧУПИЋ КАЈКА
+ЧУПИЋ КАТИЦА
+ЧУПИЋ КАТИЦА
+ЧУПИЋ КОСТАДИНКА
+ЧУПИЋ КРИСТИНА
+ЧУПИЋ ЉУБОМИР
+ЧУПИЋ МИЛАН
+ЧУПИЋ МИЛИЦА
+ЧУПИЋ МИОДРАГ
+ЧУПИЋ МИОДРАГ
+ЧУПИЋ МИОДРАГ
+ЧУПИЋ МИРЈАНА
+ЧУПИЋ МИРОСЛАВ
+ЧУПИЋ ОЛГА
+ЧУПИЋ РАДИНКА
+ЧУПИЋ РАДОСЛАВ
+ЧУПИЋ СПОМЕНКА
+ЧУПИЋ СТЕВАН
+ЧУПИЋ СТЕВАН
+ЧУПИЋ СТОЈАН
+ЧУПИЋ УРОШ
+ЧУПИЋ ЗОРАН
+ЧУРЧИЋ ДУШАН
+ЧУРЧИЋ ИЛИЈА
+ЧУРЧИЋ ЛАЗАР
+ЧУРЧИЋ СЛОБОДАНКА
+ЧУРГАНОВ ЕМИЛ
+ЧУРИЋ ЖАРКО
+ЧУРИЋ ЂОРЂЕ
+ЧУРИЋ ДРАГОСЛАВА
+ЧУРИЋ ДУШАНКА
+ЧУРИЋ МИЛЕНА
+ЧУРИЋ МИЛОШ
+ЧУРИЋ НАТАЛИЈА
+ЧУРИЋ РАДОСЛАВ ДР ПРОФ
+ЧУРИЋ СЛОБОДАН
+ЧУРИЋ ВАСА
+ЧУРИЋ ВЕЛИНКА
+ЧУРИЋ ВИДОСАВА
+ЧУРИЋ ВИДОСАВА
+ЧУРОВИЋ ДАНИЛО
+ЧУРОВИЋ ВУКСАН
+ЧУРУШКИ ГАВРА
+ЧУРУШКИ МИЦА
+ЧУСТОВИЋ АРИФ
+ЧУТУРА МАРКО
+ЧУТУРИЋ ЈЕРОНИМ
+ЧУТУРИЛО ЧЕДОМИР
+ЧУТУРИЛО БОЖА
+ЧУТУРИЛО МИЛИВОЈЕ
+ЧУТУРИЛО СЛОБОДАН ДИПЛ ИНГ
+ЧУТУРИЛОВ МАРИЈА
+ЧУТУРИЛОВ МИЛОШ
+ЧУТУРИЛОВ МИЛОШ
+ЧУТУРИЛОВ СВЕТОЗАР
+ЧУТУРИЛОВ ВЕЛИНКА
+ЧУТУРИЛОВ ВУЈИЦА
+ЧУВАЛО ЉУБИЦА
+ЧУВАРДИЋ АНТУН
+ЧВОКИЋ МАРКО
+ЧВОКИЋ РАТКО
+ЧВОРИЋ ДУШАН
+ЧВОРИЋ МИЛОЈЕ
+ЧВОРКОВ ЉУБОМИР
+ЧВОРКОВ ЗДРАВКО
+ЧВОРКОВ ЗЛАТАН
+ЧВОРО-ЂУКИЋ ДУШАНКА
+ЧВОРО ДОБРОСЛАВ
+ЧВОРОВИЋ ЈЕЛЕНКА
+ЧВОРОВИЋ ЉУБО
+ЧВОРОВИЋ РАТКО
+ЧВОРОВИЋ ВУЈИЦА
+ШЋЕКИЋ БУДИМИР
+ШЋЕКИЋ ДРАГОМИР
+ШЋЕКИЋ КОСА
+ШЋЕКИЋ МИЛАНКА
+ШЋЕКИЋ МИЛИЋ
+ШЋЕКИЋ МИЛИЦА
+ШЋЕКИЋ МИОМИР
+ШЋЕКИЋ СЛОБОДАН
+ШЋЕКИЋ СВЕТОЗАР
+ШЋЕКИЋ ВУКО
+ШЋЕПАНЧЕВИЋ ЂОРЂЕ
+ШЋЕПАНЧЕВИЋ НИКОЛА
+ШЋЕПАНОВИЋ БОГОЉУБ
+ШЋЕПАНОВИЋ БРАНИСЛАВ
+ШЋЕПАНОВИЋ ДОБРОСЛАВА
+ШЋЕПАНОВИЋ ДРАГАН
+ШЋЕПАНОВИЋ ДРАГАН
+ШЋЕПАНОВИЋ ДРАГУТИН
+ШЋЕПАНОВИЋ ДУШАН
+ШЋЕПАНОВИЋ ГОРАН
+ШЋЕПАНОВИЋ ГОРДАНА
+ШЋЕПАНОВИЋ ЉУБОМИР
+ШЋЕПАНОВИЋ МИЛЕВА
+ШЋЕПАНОВИЋ МИЛОВАН
+ШЋЕПАНОВИЋ МИОДРАГ
+ШЋЕПАНОВИЋ РАШКО
+ШЋЕПАНОВИЋ РАДОВАН
+ШЋЕПАНОВИЋ РАНКО ДИПЛ ИНГ
+ШЋЕПАНОВИЋ СИНИША
+ШЋЕПАНОВИЋ ЗОРАН
+ШЋЕПАНОВИЋ ЗОРА
+ШЋЕПОВИЋ ПЕТАР
+ШЋЕРБАЋЕВ ГЛИГОРИЈЕ
+ШЋЕВЧИК ПАВЛЕ
+ШЋИБАН МАРИНА
+ШЋОПИЋ МИОДРАГ
+ШЋОПИЋ СТАНИМИР
+ШЋОПУЛОВИЋ ПЕТАР
+ШЋУРИЦ ЈОСИП
+ШАШИЋ ЖИВКО
+ШАШИЋ ЂОРЂЕ
+ШАШИЋ ДУШАН
+ШАШИЋ МИЛАН
+ШАШИЋ МИЛАН
+ШАШИЋ МИЛОШ
+ШАШИЋ МИРКО
+ШАШИЋ НЕВЕНКА
+ШАШИЋ ПЕТАР
+ШАШИЋ САВО
+ШАШИЋ СТЕВАН
+ШАШИЋ ЗОРАН
+ШАШИН ДАНИЦА
+ШАШИН РАДОМИР
+ШАШИНАЧКИ МАРИЈА
+ШАШИНАЧКИ СОЊА
+ШАШИНАЧКИ ВАСИЛИЈЕ
+ШАШЉИН ЛАЗАР
+ШАШОВИЋ ТРИФКО
+ШАБАНИ НАЗИМ
+ШАБАНОВИЋ АБДУРАХМАН
+ШАБАНОВИЋ ОБРАД
+ШАБЕЦ ДРАГИЦА
+ШАБИЋ ЂУРО
+ШАБИЋ ХУСЕИН
+ШАБИЋ ПАВЛЕ
+ШАБЛИ МАРТОН
+ШАБЛИ МИХАЈЛО
+ШАБОВИЋ МЕХМЕДАЛИЈА
+ШАДЕ ЈЕЛЕНА
+ШАФАРИК ЉИЉАНА
+ШАФРАЊ АНДРИЈА
+ШАФРАЊ ДЕЖЕ
+ШАФРАЊ ФРАЊА
+ШАФРАЊ ЛАСЛО
+ШАФРАЊ ЛАСЛО
+ШАФРАЊ ПИРОШКА
+ШАФРАЊ СТЕВАН
+ШАФРАЊ ТЕОДОРА
+ШАГУНОВИЋ ДУШАН
+ШАГУНОВИЋ МИЛИВОЈ
+ШАИН АНДРИЈА
+ШАИН МИЛЕВА
+ШАИН ЗАГОРКА
+ШАИНОВИЋ ДУШАН
+ШАИНОВИЋ МАРИНА
+ШАЈАТОВИЋ ЈЕЛИЦА
+ШАЈАТОВИЋ ЗДРАВКО
+ШАЈБЕР ДАНИЦА
+ШАЈБЕР МИЛЕНКО
+ШАЈДИК ФРАНЦИШКА
+ШАЈФАР ПАВЛЕ
+ШАЈИН МИЛОРАД
+ШАЈИНОВИЋ ДРАГОСЛАВ
+ШАЈИНОВИЋ ДУШАН
+ШАЈИНОВИЋ ГОРДАНА
+ШАЈИНОВИЋ МАРИНКО
+ШАЈИНОВИЋ СИДА
+ШАЈН ДУШАН
+ШАЈНБЕРГЕР ЈОВАН
+ШАЈНБЕРГЕР ЛИЛИ
+ШАЈНОВ ЈОВАН
+ШАЈНОВ КАТИЦА
+ШАЈНОВ ПЕТАР
+ШАЈНОВИЋ РАДИНКА
+ШАЈТИ ЕТЕЛКА
+ШАЈТИ ГИЗЕЛА
+ШАЈТИ КАТИЦА
+ШАЈТИ МАРИЈА
+ШАЈТОШ ЂОРЂЕ
+ШАЈТОШ ЂУРА
+ШАЈТОШ ЉУБИША
+ШАЈТОШ НИКОЛА
+ШАЈТОШ СИМА
+ШАЈТОШ СИМА
+ШАКИЋ ЖЕЉКО
+ШАКИЋ ЂОРЂЕ
+ШАКИЋ ИЛИЈА
+ШАКИЋ ИЛИЈА
+ШАКИЋ ИЛИЈА
+ШАКИЋ ЈАЊА
+ШАКИЋ КАТА
+ШАКИЋ МАНЕ
+ШАКИЋ МИЛУТИН
+ШАКИЋ РАДЕ
+ШАКИЋ ЗОРКА
+ШАКОТА ДУШАН
+ШАКОТА КОЈО
+ШАКОТА МИЛАН
+ШАКОТА МИЛОРАД
+ШАКОТА СИМЕОН
+ШАКОТИЋ ЉУБОМИР
+ШАКОТИЋ МИРЈАНА
+ШАКУ МЕХМЕД
+ШАЛАБАЛИЈА ДРАГОМИР
+ШАЛАБАЛИЈА ВАСО
+ШАЛАЈИЋ СТЕВАН
+ШАЛАМОН ШАНДОР
+ШАЛАМОН АНДРИЈА
+ШАЛАМОН ЈОСИП
+ШАЛАМОН ЈОСИП
+ШАЛАМОН МИША
+ШАЛАМОН МИХАЈЛО
+ШАЛАМОН МИХАЈЛО
+ШАЛАНКИ ЈАНОШ
+ШАЛАНКИ ЈАНОШ
+ШАЛБОТ ЗУЗА
+ШАЛЕР ВЕРА
+ШАЛГО ЈЕЛИСАВЕТА
+ШАЛИПУРОВИЋ МИЛОВАН
+ШАЛИПУРОВИЋ СЛАВИША
+ШАМАТИЋ НЕМАЊА
+ШАМЕЦ МИЛИЦА
+ШАНДОЛ АТИЛА
+ШАНДОЛ АТИЛА
+ШАНДОЛ ИШТВАН
+ШАНДОЛ КАТИЦА
+ШАНДОЛ МАТИЈА
+ШАНДОЛ МИХАЈЛО
+ШАНДОР ИЛОНА
+ШАНДОР ЈОСИП
+ШАНДОР ЛАДИСЛАВ
+ШАНДОР МАРИЈА
+ШАНДОР ТИБОР
+ШАНДОРИ ШАРИКА
+ШАЊИЋ МИЛАДИН
+ШАНОВИЋ ДУШАН
+ШАНТА ШАНДОР
+ШАНТА АМАЛИЈА
+ШАНТА БЕЛА
+ШАНТА ДУШАНКА
+ШАНТА ФЕРЕНЦ
+ШАНТА ИШТВАН
+ШАНТА ИЛОНКА
+ШАНТА ИМРЕ
+ШАНТА ЈОСИП
+ШАНТА ЛАСЛО
+ШАНТА МИРОСЛАВ
+ШАНТА ПАЛ
+ШАНТА СИМА
+ШАНТА СЛАВКО
+ШАНТА СОФИЈА
+ШАНТА СТЕВАН
+ШАНТА ВИНКО
+ШАНТА ВЛАДИМИР
+ШАНТАК ЈОСИП
+ШАНТАК КАРЛО
+ШАНТАЛАБ СОФИЈА
+ШАНТЕК ЖЕЉКО
+ШАНТЕК ЗДЕНКА
+ШАПИ ПИРОШКА ДИПЛ ИНГ
+ШАПИЋ НИКОЛА
+ШАПИНА МИРОСЛАВ
+ШАПОЊА ЈОВАН
+ШАПОЊА МАРКО
+ШАПОЊАЦ ЖАРКО
+ШАПОЊАЦ ЖАРКО
+ШАПОЊАЦ АЛЕКСАНДАР
+ШАПОЊАЦ ЈЕЛКА ПРОФЕСОР
+ШАПОЊАЦ РАДА
+ШАПОЊАЦ СТЕВАН
+ШАПОЊСКИ РАДИВОЈ
+ШАПУРИЋ СВЕТОЗАР
+ШАРЧАНСКИ ЈУЛКА
+ШАРЧАНСКИ МИЛИЦА
+ШАРЧАНСКИ МИРОСЛАВ
+ШАРЧЕВ АНТОНИЈА
+ШАРЧЕВ ЈЕЛЕНА
+ШАРЧЕВ МИРОСЛАВА
+ШАРЧЕВ НИКОЛА
+ШАРЧЕВ ВЛАДИМИР
+ШАРЧЕВИЋ ЖАРКО
+ШАРЧЕВИЋ ЖЕЛИМИР
+ШАРЧЕВИЋ АНИЦА
+ШАРЧЕВИЋ БРАТИМИР
+ШАРЧЕВИЋ ДУШАН
+ШАРЧЕВИЋ ГРОЗДАНА
+ШАРЧЕВИЋ ИЛКА
+ШАРЧЕВИЋ КАТИЦА
+ШАРЧЕВИЋ МАРГИТА ДР
+ШАРЧЕВИЋ МИЛЕНА
+ШАРЧЕВИЋ НЕБОЈША
+ШАРЧЕВИЋ ПЕТАР
+ШАРЧЕВИЋ ПРЕДРАГ
+ШАРЧЕВИЋ РАЈКО
+ШАРЧЕВИЋ ВИДОЈЕ
+ШАРЧЕВИЋ ВОЈИСЛАВ
+ШАРШАНСКИ МАРИНКО
+ШАРШАНСКИ МИЛАН
+ШАРА ИМРЕ
+ШАРА ИМРЕ
+ШАРАЦ ЂОРЂЕ
+ШАРАЦ БИЉАНА
+ШАРАЦ БОШКО
+ШАРАЦ ДУШАН
+ШАРАЦ ДУШАН
+ШАРАЦ МИЛАН
+ШАРАЦ МИЛЕ
+ШАРАЦ МИЛИЦА
+ШАРАЦ МИОДРАГ
+ШАРАЦ РАДОЈЕ
+ШАРАЦ РАДОМИР
+ШАРАЦ РАДОВАН
+ШАРАЦ РУЖИЦА
+ШАРАЦ СТЕВА
+ШАРАЦ СВЕТОЗАР
+ШАРАНДИ ШАНДОР
+ШАРАНОВИЋ АНИТА
+ШАРАНОВИЋ ДРАГИША
+ШАРАНОВИЋ МИЛАДИН ДР ЛЕКАР
+ШАРАНОВИЋ МИЛОШ
+ШАРАНОВИЋ МИОДРАГ
+ШАРАНОВИЋ ЗОРАН
+ШАРЕНАЦ БОЖИДАР
+ШАРЕНАЦ МАРКО
+ШАРЕНАЦ РОЗИНА
+ШАРЕНАЦ ВИДАК
+ШАРЕНАЦ ВОЈИСЛАВ
+ШАРГАЧ БРАНКО
+ШАРГИЋ МИЛОРАД
+ШАРГИЋ ВЛАДИМИР
+ШАРГИЋ ЗЛАТИЦА
+ШАРГИН ЖАРКО
+ШАРГИН МАРИЈА
+ШАРИ МАРИЈА
+ШАРИ СТЕВАН
+ШАРИЋ ЈОСИП
+ШАРИЋ КАТАРИНА
+ШАРИЋ КОСТА
+ШАРИЋ ЉУБИЦА
+ШАРИЋ МАРИЈА
+ШАРИЋ МАТО
+ШАРИЋ НЕНАД
+ШАРИЋ СЛОБОДАН
+ШАРИЋ СОФИЈА
+ШАРИЋ СТЕВАН
+ШАРИЋ ТОМИСЛАВ МР
+ШАРИЋ ЗВЕЗДАНА
+ШАРИК АНА
+ШАРИК АНДРИЈА
+ШАРИК ЈОВАН
+ШАРИК КАТИЦА
+ШАРИК ЉУБИЦА
+ШАРИК МИРОСЛАВ
+ШАРИК СТЕВАН
+ШАРИК-ВИДИЋ НАДА
+ШАРИК ВЛАДИМИР
+ШАРКАДИ ВЕРОНИКА
+ШАРКАЊ АНТОН
+ШАРКАЊ ФЕРЕНЦ
+ШАРКАЊ ФРАЊА
+ШАРКАЊ ЈАНОШ
+ШАРКАЊАЦ ФЕРЕНЦ
+ШАРКЕЗИ-ПЕТРИЋ МАРГИТА
+ШАРКИЋ СРЂАН
+ШАРКОВИЋ ДУШАН
+ШАРКОВИЋ МИОДРАГ ДР
+ШАРКОВИЋ ЗОРАН
+ШАРЊАИ АНКИЦА
+ШАРЊАИ МИКЛОШ
+ШАРЊАИ ПАЛ
+ШАРО ЈОВАН
+ШАРО НАДА
+ШАРОШИ ВАЛЕРИЈА
+ШАРОШКОВИЋ ВУКИЦА
+ШАРОИ-САБО ВЕРА
+ШАРОВИЋ ЂУРО
+ШАРОВИЋ МИРКО
+ШАРОВИЋ ПЕТАР
+ШАРУ ДУШИЦА
+ШАРВАРИ ШАНДОР
+ШАРВАРИ КАРОЉ
+ШАРВАРИ МАРТА
+ШАРВАРИ РОЗАЛИЈА
+ШАРВАРИ ВАЛЕРИЈА
+ШАСИВАР АХМЕД
+ШАТАРА МИЛАН
+ШАТОРА СТОЈАН
+ШАТРИЋ АНА
+ШАТРИЋ БРАНИСЛАВ
+ШАУЛА ГОРАН
+ШАУЛА РАДОВАН
+ШАУЛИЋ ДИМИТРИЈЕ
+ШАВЕЛИН ШАНДОР
+ШАВЕЛИН ЈОСИП
+ШАВЕЛИН ЈОВАН
+ШАВЕЛИН ЈУЛИЈА
+ШАВЕРДИЈА НИКОЛА
+ШАВИЈА ДУШАН
+ШАВИЈА МИЛЕ
+ШАВИЈА МИЛОРАД
+ШАВИЈА ПЕТАР
+ШАВИЈА РАДЕ
+ШАВРЉУГА МИЛАН
+ШЕЧИЋ АЛИЈА
+ШЕЧИЋ ЈУЛКА
+ШЕША СЛАВКО
+ШЕШЕЉА БРАНИМИР
+ШЕШЕЉА МАРИЈАН
+ШЕШЕРИНАЦ ЂОРЂЕ
+ШЕШЕВИЋ ЂОРЂЕ
+ШЕШЕВИЋ ДРАГИЦА
+ШЕШЕВИЋ ЛЕОНА
+ШЕШЕВИЋ ЉИЉАНА
+ШЕШЕВИЋ МАРА
+ШЕШЕВИЋ МИЛИВОЈ
+ШЕШЕВИЋ СТЕВАН
+ШЕШИЋ ЖИВОТА ДИПЛ ИНГ
+ШЕШИЋ АУРЕЛИЈА
+ШЕШИЋ ДРАГОЉУБ
+ШЕШИЋ ДРАГОЉУБ
+ШЕШИЋ ВЕРА
+ШЕШИЋ ВИДА
+ШЕШКАР НАДА
+ШЕШЛИЈА ЧЕДА
+ШЕШЛИЈА БРАНКО
+ШЕШЛИЈА ДРАГАН
+ШЕШЛИЈА ДУШАН
+ШЕШУМ БРАНКО
+ШЕШУМ ДРАГОЉУБ
+ШЕШУМ ИЛИЈА
+ШЕШУМ МИХАЈЛО
+ШЕШУМ МИЛАН
+ШЕШУМ МИЛАН
+ШЕШУМ МИЛЕНКО
+ШЕШУМ САВА
+ШЕШУМ СЛАВИЦА
+ШЕШУМ ТОМА
+ШЕЋЕРОВ АНЂЕЛИЈА
+ШЕЋЕРОВ БИЉАНА
+ШЕЋЕРОВ БРАНИСЛАВ
+ШЕЋЕРОВ ДРЕНКА
+ШЕЋЕРОВ ДУШАН
+ШЕЋЕРОВ ЕМИЛ
+ШЕЋЕРОВ ИДА
+ШЕЋЕРОВ ИВАН
+ШЕЋЕРОВ ЈОВАН
+ШЕЋЕРОВ КАЈА
+ШЕЋЕРОВ МАТА
+ШЕЋЕРОВ МИЛАН
+ШЕЋЕРОВ ПАВЛЕ
+ШЕЋЕРОВ ПЕТАР ДИПЛ ИНГ
+ШЕЋЕРОВ ПЕТАР
+ШЕЋЕРОВ ПРОДАН
+ШЕЋЕРОВ РАДОСЛАВ
+ШЕЋЕРОВ САВА
+ШЕЋЕРОВ СИНИША
+ШЕЋЕРОВ СВЕТЛАНА
+ШЕЋЕРОВ СВЕТОЗАР
+ШЕЋЕРОВ СВЕТОЗАР
+ШЕЋЕРОВ СВЕТОЗАР
+ШЕЋЕРОВ ЗЛАТОЈЕ
+ШЕЋЕРОВ ЗЛАТОЈЕ
+ШЕБЕШЋЕН ИМРЕ
+ШЕБЕШЋЕН ЈОЖЕФ
+ШЕБЕДИНИ НЕВЗАД
+ШЕБЕК ЂУЛА
+ШЕБЕК АНУШКА
+ШЕБЕК ИВАН
+ШЕБЕК ЈОСИП
+ШЕБЕКОВИЋ ПАВЛЕ
+ШЕБЕЗ ДРАГАН
+ШЕБЕЗ ДУШАН
+ШЕБЕЗ ЛАЗО
+ШЕБЕЗ РАДОЈКА
+ШЕБЕЗ СИМО
+ШЕБЕЗ СТЕВАН
+ШЕБЕЗ СТЕВО
+ШЕБЕЗ СТЕВО
+ШЕБИ ЈЕЛИЦА
+ШЕФЧИЋ ЕМИЛ
+ШЕФЧИЋ МИРКО
+ШЕФЕР ЂОРЂЕ ДИПЛ ИНГ
+ШЕФЕР АЛЕКСАНДРА
+ШЕФЕР ЈУЛИЈЕ ДР
+ШЕФЕР КАТАРИНА
+ШЕФЕР КЛАРА
+ШЕФЕР МИОДРАГ
+ШЕФЕР ПЕТАР
+ШЕФЕР РАДОЈЕ
+ШЕФЕР СЛАВКО
+ШЕГЕЦ ЕДУАРД
+ШЕГИНА НИКОЛА
+ШЕГО НИКОЛА
+ШЕГОВИЋ ДРАГАН
+ШЕГОВИЋ МИЛОШ
+ШЕГРТ ЧЕДОМИР
+ШЕГРТ ЧЕДОМИР
+ШЕГРТ ЈОВО
+ШЕГРТ ЈОВО
+ШЕГРТ МАТО
+ШЕГРТ МЛАДЕН
+ШЕГРТ НАДА
+ШЕГРТ ПЕТАР
+ШЕГРТ ВОЈИСЛАВ
+ШЕГУЉЕВ ДУШАН
+ШЕГУЉЕВ ДУШАН
+ШЕГУЉЕВ ДУШАН
+ШЕГУЉЕВ ГРУЈА
+ШЕГУЉЕВ ЈОВАН
+ШЕГУЉЕВ МАРКО
+ШЕГУЉЕВ МИКА
+ШЕГУЉЕВ МИЛЕНКО
+ШЕГУЉЕВ ПАЈА
+ШЕГУЉЕВ ПЕТАР
+ШЕГУЉЕВ РАДОСЛАВ
+ШЕГУЉЕВ РУЖИЦА
+ШЕГУЉЕВ СЛАВКО
+ШЕГУЉЕВ СНЕЖАНА
+ШЕГУЉЕВ ЗАГОРКА
+ШЕГУЉЕВ ЗОРИЦА
+ШЕХИЋ ЉУБИЦА
+ШЕХИЋ МИРСА
+ШЕХИЋ СЛАВИЦА
+ШЕХОВИЋ РАМИЗ
+ШЕЈМЕШИ СТЕВАН
+ШЕЈПЕШ ШАРЛОТА
+ШЕЈПЕШ ФЕДОР
+ШЕЈПЕШ ФЕДОР
+ШЕЈПЕШ ГАЛИНА
+ШЕЈПЕШ ИЛОНА
+ШЕК ЈУЛИЈАН
+ШЕКАРИЋ МИЛОСАВ
+ШЕКАРИЋ НАДА
+ШЕКЕРОВИЋ ДРАГАН
+ШЕКУЛАРАЦ АЛЕКСАНДРА
+ШЕКУЛАРАЦ БРАНИСЛАВ ДИПЛ ОЕЦ
+ШЕКУЛАРАЦ ДУШАН
+ШЕКУЛАРАЦ ПРЕДРАГ
+ШЕКУЛАРАЦ САВКА
+ШЕКУЛАРАЦ СЛОБОДАН
+ШЕЛ МАРГИТА
+ШЕЛБ ЛАСЛО
+ШЕЛЕСТ СЛОБОДАНКА
+ШЕЉЕМ ЈУЛИЈАНА
+ШЕЉЕМ КАРОЉ ДИПЛ ИНГ
+ШЕЉЕМ ЉИЉАНА
+ШЕЉЕМ СТЕВАН
+ШЕЉЕМ ЗОЛТАН
+ШЕЛКЕН ИЛОНКА
+ШЕЛМИЋ ВУКОМАН ДИПЛ ИНГ
+ШЕНЧЕВИЋ МИЛОМИР
+ШЕНБОРН АДАЛБЕРТ ДР ПРОФ
+ШЕНДУЛА ШАНДОР
+ШЕНДУЛА АНТАЛ
+ШЕНДУЛА ГАБОР
+ШЕНХАУЗЕР ТОМИСЛАВ
+ШЕНК АЛБИНА
+ШЕНК ИВАН ДИПЛ ИНГ
+ШЕНК ВОЈИН
+ШЕНТАЛЕР ЕМИЛ
+ШЕП ЛЕНКА
+ШЕПШЕИ КРИСТИНА
+ШЕПА СВЕТОЗАР
+ШЕПАРЕВИЋ ДАРКО
+ШЕПАРОВИЋ ДАРКО
+ШЕПАРОВИЋ ЉИЉАНА
+ШЕПАРОВИЋ МИРОСЛАВ
+ШЕПАРОВИЋ ЗОРА
+ШЕПЕЦ ВЛАДИМИР
+ШЕПЕЦАНОВИЋ МИЛОШ
+ШЕПЕЉ ЛЕНКА
+ШЕПЕРАЦ РАНКА
+ШЕПИЋ ЗАДА
+ШЕПИНСКИ ЂУРА
+ШЕПИНСКИ ЂУРА
+ШЕПИНСКИ ЈОАКИМ
+ШЕПИНСКИ СЛАВИЦА
+ШЕРБАН СЛОБОДАНКА
+ШЕРБЕЏИЈА ДРАГОЉУБ
+ШЕРБЕЏИЈА МИРКО
+ШЕРБЕЏИЈА МИРКО
+ШЕРБИЋ ЈЕЛКА
+ШЕРБИЋ ЗАГОРКА
+ШЕРБИЋ ЗАГОРКА
+ШЕРБУЛА БРАНКО
+ШЕРБУЛА МИЛАН
+ШЕРЕШ ШАНДОР
+ШЕРЕШ ЖУЖАНА
+ШЕРЕШ АНА
+ШЕРЕШ АНТУН
+ШЕРЕШ ЕНДРЕ
+ШЕРЕШ ЕСТЕР
+ШЕРЕШ ФРАНЦИШКА
+ШЕРЕШ ГИЗЕЛА
+ШЕРЕШ ИМРЕ
+ШЕРЕШ ЈАНОШ
+ШЕРЕШ КАРОЉ МР
+ШЕРЕШ ЛАСЛО
+ШЕРЕШ СТЕВАН
+ШЕРЕГИ ЗОЛТАН
+ШЕРЕМЕТКОВСКИ АЛЕКСА
+ШЕРЕМЕТКОВСКИ БОНА
+ШЕРЕР ЛЕНКА
+ШЕРФЕЗИ ЂУРА
+ШЕРИЋ МИЛКА
+ШЕРИФ НЕШАТ
+ШЕРИФИ РАБИЈА
+ШЕРИФИ САФЕТ
+ШЕРКОВ ЉИЉАНА
+ШЕРКОВ РАДОСЛАВ
+ШЕРОВИЋ ЈОВИЦА
+ШЕСЕК СТАНИСЛАВ
+ШЕСТАН БОРИС
+ШЕСТАНОВ БРАНКО
+ШЕСТАНОВ МИЛЕНА
+ШЕСТИЋ БОГДАН
+ШЕТАЛО ШАНДОР
+ШЕТАЛО ФРАЊА
+ШЕТАЛО ИМРЕ
+ШЕТАЛО ИМРЕ
+ШЕТАЛО КАРЛО
+ШЕТАЛО КАРОЉ
+ШЕТКА КАТА
+ШЕТКА ТОМИСЛАВ
+ШЕТРАЈЧИЋ ИЛДИКО
+ШЕВЧИЋ ЂОРЂЕ
+ШЕВАР ЕМИЛИЈА
+ШЕВАР ЈОСИП ВЕТЕРИНАР
+ШЕВАР ВЛАДИСЛАВ
+ШЕВАРЛИЋ КОСТА
+ШЕВЕРОВ РАДОСЛАВ
+ШЕВИЋ ЂОРЂЕ МР
+ШЕВИЋ ЂОРЂЕ
+ШЕВИЋ ЂОРЂЕ
+ШЕВИЋ АЛЕКСАНДАР
+ШЕВИЋ БОРИСЛАВ
+ШЕВИЋ ДРАГАН
+ШЕВИЋ ДРАГОЉУБ
+ШЕВИЋ ДРАГОЉУБ
+ШЕВИЋ ЈОВО
+ШЕВИЋ ЛАЗАР
+ШЕВИЋ МИЛАН
+ШЕВИЋ МИЛОШ
+ШЕВИЋ МИЛОРАД
+ШЕВИЋ МИРОСЛАВА
+ШЕВИЋ НАДА
+ШЕВИЋ НАДА
+ШЕВИЋ ПЕТАР
+ШЕВИЋ ПЕТАР
+ШЕВИЋ ПРЕДРАГ
+ШЕВИЋ РАДОВАН
+ШЕВИЋ САВКА
+ШЕВИЋ СЛОБОДАН
+ШЕВИЋ СРЂАН
+ШЕВИЋ ТРИВО
+ШЕВО ЧЕДОМИР
+ШЕВО АЛЕКСАНДАР
+ШЕВО БОШКО
+ШЕВО БОШКО
+ШЕВО БРАНКО
+ШЕВО ДУШАН
+ШЕВО ЈОВО
+ШЕВО МИЛАН
+ШЕВО МИЛАН
+ШЕВО МИЛАН
+ШЕВО МЛАДЕН
+ШЕВО СЛАВИЦА
+ШЕВО ВЛАДО
+ШИША ЈОСИП
+ШИША ЈОСИП
+ШИШАКОВИЋ МИЛЕНА
+ШИШАКОВИЋ МИРОСЛАВ
+ШИШАРИЦА ЉУПКО
+ШИШАРИЦА ЗДРАВКО
+ШИШЕВИЋ АНЂЕЛКА
+ШИШИЋ МИЛАН
+ШИШИЋ МЛАДЕН
+ШИШИЋ ПЕТКА
+ШИШИЋ СТЈЕПАН
+ШИШКА МАРГИТА
+ШИШКОВ АНТЕ
+ШИШКОВИЋ ДРАГОЉУБ
+ШИШКОВИЋ ДРАГОЉУБ
+ШИШЉАГИЋ ЧЕДО
+ШИШЉАГИЋ ДУШАН
+ШИШОВИЋ ДРАГОЉУБ
+ШИШОВИЋ МИЛАШИН
+ШИЂАНИН БРАНИСЛАВ
+ШИЂАНИН ДУШАН ДИПЛ ИНГ
+ШИЂАНИН МИЛИЦА
+ШИЂАНИН МИЛОЈЕ ДИПЛ ИНГ
+ШИЂАНСКИ БУДИМИР
+ШИЂАНСКИ МИРОСЛАВ
+ШИБАЛИЋ ИЛИЈА
+ШИБАЛИЋ ЉУБОМИР
+ШИБУЛ ЗОРАН
+ШИБУЛ ЗОРИЦА
+ШИБУЛОВ ЂУРА
+ШИЦ МАРИЈА
+ШИЦ ТЕРЕЗА
+ШИФЛИШ ЈАГОДА
+ШИФЛИШ ЛАЈОШ
+ШИФЛИШ СЛАВКО
+ШИГУД ЂОРЂЕ
+ШИХА ИШТВАН
+ШИЈАЧИЋ АЛЕКСАНДАР
+ШИЈАЧИЋ АЛЕКСАНДАР
+ШИЈАЧИЋ БОРИСЛАВ
+ШИЈАЧИЋ БОСИЉКА
+ШИЈАЧИЋ БРАНИСЛАВ
+ШИЈАЧИЋ ДАНИЦА
+ШИЈАЧИЋ ДАНИЦА
+ШИЈАЧИЋ ДАНИЛО
+ШИЈАЧИЋ ДАНИЛО
+ШИЈАЧИЋ ДУШАН
+ШИЈАЧИЋ ДУШИЦА
+ШИЈАЧИЋ ДУШИЦА
+ШИЈАЧИЋ ЈЕЛИЦА
+ШИЈАЧИЋ ЛЕСА
+ШИЈАЧИЋ МИЛИВОЈЕ
+ШИЈАЧИЋ МИЛОРАД
+ШИЈАЧИЋ МИРОСЛАВ
+ШИЈАЧИЋ РАДОСЛАВ
+ШИЈАЧИЋ СТАНКА
+ШИЈАЧИЋ СТЕВАН
+ШИЈАЧИЋ ЗОРИЦА
+ШИЈАЧКИ ЖИВА
+ШИЈАЧКИ ЖИВКО
+ШИЈАЧКИ ЂУРЂИНКА
+ШИЈАЧКИ БОЖИДАР
+ШИЈАЧКИ ДРАГАНА
+ШИЈАЧКИ ГОРДАНА
+ШИЈАЧКИ ИСА
+ШИЈАЧКИ ЈОВАН
+ШИЈАЧКИ КОСТА
+ШИЈАЧКИ ЛАЗАР
+ШИЈАЧКИ МИЛАН
+ШИЈАЧКИ МИЛЕНКО
+ШИЈАЧКИ МИЛОШ
+ШИЈАЧКИ МИРЈАНА
+ШИЈАЧКИ НЕСТОР ДР
+ШИЈАЧКИ ПЕТАР
+ШИЈАЧКИ ПРЕДРАГ
+ШИЈАЧКИ РАДОСЛАВА
+ШИЈАЧКИ СИМА
+ШИЈАЧКИ СЛАВКО
+ШИЈАЧКИ СЛОБОДАН
+ШИЈАЧКИ СТЕВАН
+ШИЈАЧКИ ТОМИСЛАВ
+ШИЈАЧКИ ВИТОМИР
+ШИЈАЧКИ ВУЈИЦА
+ШИЈАК ЂОРЂЕ
+ШИЈАК ЈЕЛИЦА
+ШИЈАК МИЛЕНКО
+ШИЈАК МИЛОШ
+ШИЈАК ПАВЛЕ
+ШИЈАК ПЕТАР
+ШИЈАК ТОМА
+ШИЈАКОВ СТАНИСЛАВА
+ШИЈАКОВ ВЕЉКО
+ШИЈАКОВИЋ ДРАГИЦА
+ШИЈАКОВИЋ МИЛОРАД
+ШИЈАКОВИЋ СТЕВА
+ШИЈАКОВИЋ ЗОРАН
+ШИЈАН АЛЕКСАНДРА
+ШИЈАН БОЈА
+ШИЈАН БРАНКО
+ШИЈАН БРАНКО
+ШИЈАН БРАНКО
+ШИЈАН ДАНЕ
+ШИЈАН ИЛИЈА
+ШИЈАН МИЛЕВА
+ШИЈАН МИЛОШ
+ШИЈАН МИРКО
+ШИЈАН НЕВЕНКА
+ШИЈАН НИКОЛА
+ШИЈАН РАДЕ
+ШИЈАН СЛОБОДАН
+ШИЈУК ДРАГАН
+ШИК ТИБОР
+ШИКЕТ ИШТВАН
+ШИКЕТ ИШТВАН
+ШИКЕТ ИМРЕ
+ШИКЕТ ЈОЖЕФ
+ШИКЕТ ЛАСЛО
+ШИКЕТ ЛАСЛО
+ШИКЕТ ЛАСЛО
+ШИКЕТ МАГДА
+ШИКЕТ СТЕВАН
+ШИКИЋ БОГДАН
+ШИКИЋ РАДОСЛАВ
+ШИКМАН ЗВОНКО
+ШИКОПАРИЈА ЂОРЂЕ
+ШИКОПАРИЈА БОРИСЛАВ
+ШИКОПАРИЈА ДУШАН
+ШИКОПАРИЈА ЈЕЛЕНА
+ШИКОПАРИЈА МИЛАН
+ШИКОПАРИЈА НЕВЕНА
+ШИКОПАРИЈА ТИХОМИР
+ШИКОПАРИЈА ТИХОМИР
+ШИКОПАРИЈА ВЛАДИМИР
+ШИЛЕ ШАНДОР
+ШИЛЕ ЛАДИСЛАВ
+ШИЛЕ ЗОЛТАН
+ШИЛЕР МИЛОРАД
+ШИЛЕР МИЛОРАД
+ШИЛИ ИШТВАН
+ШИЛИ КАРЛО
+ШИЛИ МИХАЈЛО
+ШИЛИ ВАЛЕРИЈА
+ШИЛИЋ ЂОРЂЕ
+ШИЛИЋ ЂОРЂЕ
+ШИЛИЋ ЂОРЂЕ
+ШИЛИЋ АНА
+ШИЛИЋ БОГДАН
+ШИЛИЋ ДАНИЦА
+ШИЛИЋ ДРАГОМИР
+ШИЛИЋ ДУШИЦА
+ШИЛИЋ ЈОВАН
+ШИЛИЋ ЉУБИЦА
+ШИЛИЋ МИЛОРАД ДР
+ШИЛИЋ МИЛОСАВА
+ШИЛИЋ МИРЈАНА
+ШИЛИЋ МИРКО
+ШИЛИЋ МИРКО
+ШИЛИЋ НАДА
+ШИЛИЋ НИКОЛА
+ШИЛИЋ ОЛГИЦА
+ШИЛИЋ ОЛГИЦА
+ШИЛИЋ ПЕТАР
+ШИЛИЋ ПЕТАР
+ШИЛИЋ РАЦКО
+ШИЛИЋ САВА
+ШИЛИЋ СПАСЕНКА
+ШИЛИЋ СТОЈАН
+ШИЛИЋ ТОША
+ШИЛИЋ ТОДОР
+ШИЛИЋ ВАСА
+ШИЛИЋ ВЕРА
+ШИЛИЋ ВИТОМИР
+ШИЉЕГ ЈОЗО
+ШИЉЕГОВИЋ БОШКО
+ШИЉЕГОВИЋ БОШКО
+ШИЉЕГОВИЋ ДРАГОЉУБ
+ШИЉЕГОВИЋ ДУШАН
+ШИЉЕГОВИЋ ЈОВАНКА
+ШИЉЕГОВИЋ МИЛАН
+ШИЉЕГОВИЋ НАДА
+ШИЉИЋ ЋАМИЛ
+ШИЉКУТ МИЛАН
+ШИЉКУТ МИЛАН
+ШИЉКУТ МИРКО
+ШИМЧИЋ ОЛГИЦА
+ШИМШИЋ ДУШАН
+ШИМШИЋ ИЛИЈА
+ШИМШИЋ САВО
+ШИМА ЈОАКИМ
+ШИМА МАРГИТА
+ШИМА ВЕРОНИКА
+ШИМАК ЈАН
+ШИМАЛА ВИКТОР
+ШИМАН АЛЕКСЕЈ
+ШИМАНДИ ГАБРИЈЕЛА
+ШИМАНДИ СТЕВАН
+ШИМЕК ВЛАТКО
+ШИМИЧИЋ ПЕТАР
+ШИМИЧИЋ СВЕТИСЛАВ
+ШИМИЋ АНТО
+ШИМИЋ БОЖАНА
+ШИМИЋ ФРАЊО
+ШИМИЋ ГИЗЕЛА
+ШИМИЋ ХРВОЈЕ
+ШИМИЋ ЈУЛА ДИПЛ ИНГ
+ШИМИЋ МИЛАН
+ШИМИЋ МИЛАН
+ШИМИЋ МИРОСЛАВ
+ШИМИЋ МЛАДЕН
+ШИМИЋ НИНОСЛАВ
+ШИМИЋ СЛАВКО
+ШИМИЋ СЛАВКО
+ШИМИЋ СТЕВАН
+ШИМИГ ТИБОР
+ШИМОКОВИЋ КАТАРИНА
+ШИМОН ШАНДОР
+ШИМОН ЂЕРЂ
+ШИМОН АРПАД
+ШИМОН ЕРЖЕБЕТ
+ШИМОН МАРИЦА
+ШИМОН МИХАЉ
+ШИМОН ВИЛМОШ ДР
+ШИМОНИК ВЛАДА
+ШИМОЊИ ШАНДОР
+ШИМОЊИ БАРБАРА
+ШИМОЊИ ЈАНОШ
+ШИМОЊИ СОФИЈА
+ШИМОЊИ ЗОЛТАН
+ШИМОЊИ ЗВОНКО
+ШИМОЊИК МАТИЈА
+ШИМОВИЋ ЈОЖЕФ
+ШИМОВИЋ МИРО
+ШИМПРАГА ДУШАН
+ШИМПРАГА ЈАДРАНКА
+ШИМУДВАРАЦ ПАВАО
+ШИМУЛИЈА ДРАЖЕН
+ШИМУЛИЈА ЈОВО
+ШИМУНЂА ЉУБОМИР
+ШИМУНЕЦ МАРИЈА
+ШИМУНИЋ АНКА
+ШИМУНИЋ ИВАН
+ШИМУНИЋ КАРЛО
+ШИМУНИЋ СТЕВАН
+ШИМУНОВАЧКИ КАТИЦА
+ШИМУНОВАЧКИ НИКОЛА
+ШИМУНОВАЧКИ НИКОЛА
+ШИМУНОВАЧКИ СЛАВКО
+ШИМУНОВИЋ ГОРДАНА
+ШИМУНОВИЋ ГОРДАНА
+ШИМУНОВИЋ ЈОСИП
+ШИМУНОВИЋ ЈОСИП
+ШИМУНОВИЋ ЈОСИП
+ШИМУНОВИЋ НЕНАД
+ШИМУНОВИЋ НИКОЛА ДИПЛ ИНГ
+ШИМУНОВИЋ СТАНИСЛАВ
+ШИМУНОВИЋ СТАНКО
+ШИМУНОВИЋ СВЕТЛАНА
+ШИМУНОВИЋ ТОМА
+ШИНАГЛ КАРОЉ
+ШИНАГЛ КАРОЉ
+ШИНАГЛ ОТО
+ШИНАГЛ СТЕВАН
+ШИНИК ДРАГАН
+ШИНИКОВ ЂОРЂЕ
+ШИНИКОВ МИЛАН
+ШИНКА МАРГИТА
+ШИНКА ЗЛАТКО
+ШИНКО ГИЗЕЛА
+ШИНКО ИВАНКА
+ШИНКО ЈАНОШ
+ШИНКО СТЕВАН
+ШИНКО ВЛАДИСЛАВ
+ШИНКОВИЋ МАРИЈА
+ШИПЧИЋ ЉУБОМИР
+ШИПЧИЋ МАРИЈА
+ШИПЧИЋ МИДО
+ШИПЧИЋ МИЈОДРАГ
+ШИПЧИЋ НИНОСЛАВ
+ШИПЕК ЈОСИП НОВИНАР
+ШИПЕТИЋ АНЂА
+ШИПЕТИЋ МОМЧИЛО
+ШИПИЋ АЛЕКСАНДРА
+ШИПИН ЈОВАНКА
+ШИПКА БОЖА
+ШИПКА БОЖО
+ШИПКА БРАНКО
+ШИПКА ДРАГАН
+ШИПКА ДРАГО
+ШИПКА ГРУЈО
+ШИПКА МАРКО
+ШИПКА МИРКО
+ШИПКА МИРОСЛАВ
+ШИПКА МИРО
+ШИПКА НЕЂО
+ШИПКА ЗОРАН
+ШИПКА ЗОРАН
+ШИПОШ ШАНДОР
+ШИПОШ ЂОРЂЕ
+ШИПОШ ЂОРЂЕ
+ШИПОШ ЂУРА
+ШИПОШ ЂУРО
+ШИПОШ ЕДИТ
+ШИПОШ ЕРЖЕБЕТ
+ШИПОШ ИГЊАЦ
+ШИПОШ ЈАНОШ
+ШИПОШ ЈОВАНКА
+ШИПОШ ЈОВАН
+ШИПОШ ЈУЛИЈАНА
+ШИПОШ МИРЈАНА
+ШИПОШ РОЗАЛИЈА
+ШИПОШ ВЛАДИМИР
+ШИПОШЕВИЋ РАДОЈКА
+ШИПОСКИ КРСТЕ
+ШИПОВАЦ ЦВИЈЕТА
+ШИПОВАЦ ДАНИЛО
+ШИПОВАЦ ЈАЊА
+ШИПОВАЦ НЕДЕЉКО
+ШИПОВАЦ РАДИЦА
+ШИПОВАЦ ВАСИЛИЈА
+ШИПРАГА УРОШ
+ШИПУШИЋ ХЕЛЕНА
+ШИРАДОВИЋ БРАНИСЛАВ
+ШИРИЈОВСКИ ГОЦЕ
+ШИРКА ЈАН
+ШИРКА САМУЕЛ
+ШИРОЧКА АНТУН
+ШИРОКИ АДАМ
+ШИРОЛА ИВАН
+ШИРОНИЋ ЉУБО
+ШИСТОВ ДРАГО
+ШИТЕ КАРОЉ
+ШИТЕ МАРИЈА
+ШИТЕ ТИБОР
+ШИТЕР КАРЛО
+ШИТЕР РУЖИЦА
+ШИТЕР СЛОБОДАН
+ШИВЕГИ ИМРЕ
+ШКАЉАЦ СТАНКО
+ШКАЉАЦ ЗОРАН
+ШКАРИЧИЋ МИРОСЛАВ
+ШКАРИЦА ДОЛОРЕС
+ШКАРИЦА СТЈЕПАН
+ШКАРИН ТОДОР
+ШКАТАРИЋ ЗОРАН
+ШКАВИЋ ЦВИЈО
+ШКАВИЋ ЈОВО
+ШКАВИЋ МИЛАН
+ШКАВИЋ НИКОЛА
+ШКЕКИЋ МИОМИР
+ШКИЉАЈИЦА ВЛАДИМИР
+ШКИЉЕВИЋ МИЛИДРАГ
+ШКОБАЉ НАДА
+ШКОБАЉ ВОЈИСЛАВ
+ШКОДАК ПАВЛЕ
+ШКОЛОПИЈА ЛАЗАР
+ШКОНДРИЋ ДРАГОМИР
+ШКОРИЋ ЧЕДОМИР
+ШКОРИЋ ШТРАЦИМИР
+ШКОРИЋ ЂУЈА
+ШКОРИЋ ЂУРО
+ШКОРИЋ АНКА
+ШКОРИЋ БОСИЉКА
+ШКОРИЋ БРАНИСЛАВ
+ШКОРИЋ БРАНКО
+ШКОРИЋ ДРАГАН ДР
+ШКОРИЋ ДРАГАН
+ШКОРИЋ ДРАГАН
+ШКОРИЋ ДУШАН
+ШКОРИЋ ДУШАН
+ШКОРИЋ ДУШАН
+ШКОРИЋ ДУШКО
+ШКОРИЋ ГРУМИКОВ
+ШКОРИЋ ЈОВАН
+ШКОРИЋ ЈОВАН
+ШКОРИЋ КСЕНИЈА
+ШКОРИЋ ЛАЗАР
+ШКОРИЋ ЉИЉАНА
+ШКОРИЋ МАРА
+ШКОРИЋ МАРИЈА
+ШКОРИЋ МАРИЈА
+ШКОРИЋ МИЋО
+ШКОРИЋ МИЛАН
+ШКОРИЋ МИЛАН
+ШКОРИЋ МИЛАН
+ШКОРИЋ МИЛАН
+ШКОРИЋ МИЛЕНКО
+ШКОРИЋ МИЛИВОЈ
+ШКОРИЋ МИЛКА
+ШКОРИЋ МИЛОШ
+ШКОРИЋ МИРЈАНА
+ШКОРИЋ МИРКО
+ШКОРИЋ МИРКО
+ШКОРИЋ МИРКО
+ШКОРИЋ НИКОЛА
+ШКОРИЋ НИКОЛА
+ШКОРИЋ ПАВЛЕ
+ШКОРИЋ ПАВЛЕ
+ШКОРИЋ ПЕРО
+ШКОРИЋ СЛАВКО
+ШКОРИЋ СЛОБОДАН
+ШКОРИЋ СМИЉА
+ШКОРИЋ СМИЉА
+ШКОРИЋ СРЕЋКО
+ШКОРИЋ СТАНА
+ШКОРИЋ ВЛАДИМИР
+ШКОРИЋ ЗОРА
+ШКОРО ШИМЕ
+ШКОРО МИРЈАНА
+ШКОРО ВАСИЛИЈА
+ШКРАВАН АНДРИЈА
+ШКРБИЋ ЖЕЉКО
+ШКРБИЋ ЂУРО
+ШКРБИЋ АНИЦА
+ШКРБИЋ БЛАЖО
+ШКРБИЋ БОЖО
+ШКРБИЋ БОЈАНА
+ШКРБИЋ БРАНКО
+ШКРБИЋ ДРАГИЦА
+ШКРБИЋ ДУШАН
+ШКРБИЋ ЈОВАН
+ШКРБИЋ ЈОВАН
+ШКРБИЋ ЉУБИЦА
+ШКРБИЋ МАРА
+ШКРБИЋ МАРИЦА
+ШКРБИЋ МИЛЕ
+ШКРБИЋ МИЛОРАД
+ШКРБИЋ МИЛОРАД
+ШКРБИЋ НЕБОЈША
+ШКРБИЋ ОСТОЈА
+ШКРБИЋ ПЕТАР
+ШКРБИЋ РАДОСЛАВ
+ШКРБИЋ СВЕТОЗАР
+ШКРБИЋ ЗОРКА
+ШКРБИНА СТЈЕПАН
+ШКРГЕТ ЈОСИП
+ШКРИЈЕЛ ДРАГАН
+ШКРИЈЕЛ МИЛАН
+ШКРИЈЕЉ АЈНИЈА
+ШКРИЈЕЉ САМИР
+ШКРИЈЕЉ ВЕХБО
+ШКРИЊАР КАРОЉ
+ШКРИЊАР МАРИО
+ШКРИЊАР ЗВОНИМИР
+ШКРИВАН ЂУРА
+ШКРИВАН АНТУН
+ШКРИВАН ФРАЊА
+ШКРИВАН КАРЛО
+ШКРИВАН ЛАДИСЛАВ
+ШКРИВАН ПЕТАР
+ШКРИВАН СТЕВАН
+ШКРИВАН СТЕВАН
+ШКРИВАЊ ПИШТА
+ШКУЛЕТИЋ ОЛГА
+ШКУЛЕТИЋ ЗОРАН
+ШКУНЦА ИВАН
+ШКУНЦА ЈЕЛИЦА
+ШКУНДРИЋ ДУШАН
+ШКУНДРИЋ МИЛИЦА
+ШКУНДРИЋ ПЕТАР
+ШКУНДРИЋ РОЗАЛИЈА
+ШКВАРЕК ВЛАДА
+ШЛАХТЕР ВЕНДЕЛ
+ШЛАЈЕР РУДОЛФ
+ШЛАВИК ИЛОНА
+ШЛЕХТА ЗДЕНКО
+ШЛЕМЕНДЕР ЂОРЂЕ
+ШЛЕМЕНДЕР АНГЕЛА
+ШЛЕМЕНДЕР ИРЕНА
+ШЉАПИЋ ГОРАН
+ШЉАПИЋ МИРЈАНА
+ШЉАПИЋ ОБРЕН
+ШЉАПИЋ РУЖИЦА
+ШЉАПИЋ СТЕВАН
+ШЉАПИЋ ТАТЈАНА
+ШЉАПИЋ ТОМИСЛАВ
+ШЉАПИЋ ВЕЛЕМИР
+ШЉИВАНЧАНИН ЈОВАН
+ШЉИВАНЧАНИН ЈОВАН
+ШЉИВАНЧАНИН МАРИЈА
+ШЉИВАНЧАНИН МИЛУТИН
+ШЉИВИЋ ЂОРЂЕ
+ШЉИВИЋ БОРКА
+ШЉИВИЋ ЈЕЛЕНА
+ШЉИВИЋ ЉИЉАНА
+ШЉИВИЋ МИРЈАНА
+ШЉИВИЋ РАДОЈИЦА
+ШЉИВИЋ СПАСОЈЕ
+ШЉИВИЋ ВЛАДИСЛАВ
+ШЉИВКОВИЋ ЂОРЂЕ
+ШЉУКА ДРАГИША
+ШЉУКА МИЈОДРАГ
+ШЉУКА МИЛАН
+ШЉУКА МИЛОШ
+ШЉУКИЋ ЖИВАН ДР
+ШЉУКИЋ МИЛИВОЈ
+ШЉУКИЋ РОСАНДА
+ШМАЊА МИРКО
+ШМАЊА СЛАВКО
+ШМИДЕРКАЛ ФРАЊА
+ШМИГЕЉСКИ НИКОЛА
+ШМИГИЋ БОРИСЛАВ
+ШМИГИЋ МИЛОРАД
+ШМИГИЋ СВЕТОЗАР
+ШМИТ ФЕРДИНАНД
+ШМИТ ГИЗЕЛА
+ШМИТ ЈОСИП
+ШМИТ ЈОВАН
+ШМИТ-КОТА КАТИЦА
+ШМИТ МАРИЈА
+ШМИТ МИРЈАНА
+ШМИТ-ПРОКИН ЂУРЂИНА
+ШМИТ РЕЖЕ
+ШМИТ СТАНА
+ШМИТ СТАНОЈКА
+ШМИТ СТЕВАН
+ШМИТ СТЕВАН
+ШМИТ ВИОЛЕТА
+ШМИТ ЗЛАТКО
+ШМИТРАН ЂОРЂЕ
+ШМУК ИВАН
+ШНАЈДЕР ШАНДОР
+ШНАЈДЕР АНИЦА
+ШНАЈДЕР ИЛИНКА
+ШНАЈДЕР ЈАНОШ
+ШНАЈДЕР ЈАРОСЛАВ
+ШНАЈДЕР СТЕВАН
+ШНАЈДЕР ВЕРА
+ШНАЈДЕРОВ ЈОСИП
+ШНАЈДЕРОВ ВЕСНА
+ШНАУТИЛ ДРАГУТИН
+ШНЕЛ ПЕТЕР
+ШЊАРИЋ ИВАН
+ШОШ АНТАЛ
+ШОШ АНТАЛ
+ШОШ БАЛИНТ
+ШОШ ДЕЗИДЕР
+ШОШ ГИЗЕЛА
+ШОШ ИЛОНА
+ШОШ ЈЕЛИЦА
+ШОШ ЛАЈОШ
+ШОШ МАРИЈА
+ШОШ ТИБОР
+ШОШИЋ МИРКО
+ШОШИЋ НАТАША
+ШОШИЋ ОЛГА
+ШОШИЋ РАДОСЛАВ
+ШОШИЋ ВУК
+ШОШКИЋ ДРАГОМИР
+ШОШКИЋ МИРА
+ШОЋ БОЈАНА
+ШОЋ ДУШАН
+ШОЋ ТОМИСЛАВ
+ШОБАЈИЋ ДРАГОСЛАВ
+ШОБАКИ МАРИЈА
+ШОБИЋ МИРА
+ШОБИЋ РАДЕ
+ШОБИЋ ВЕРА
+ШОБИЋ ЗОРАН
+ШОБИЋ ЗОРАН
+ШОБОТ ЂУРА
+ШОБОТ БОШКО
+ШОБОТ БРАНКО
+ШОБОТ ДРАГАН
+ШОБОТ ЈОВАН
+ШОБОТ ЉУБОМИР
+ШОБОТ МИЛАН
+ШОБОТ МИЛИЦА
+ШОБОТ ПЕТКО
+ШОБОТ СЕКУЛА
+ШОБОТ СЛАВИЦА
+ШОДИЋ ДОБРИЛА
+ШОДИЋ ДРАГИЊА
+ШОДИЋ ГИЗЕЛА
+ШОДИЋ МИЛАН
+ШОДИЋ ТОДОР
+ШОДОРОВИЋ РОСА
+ШОФХАУЗЕР МИХАЈЛО
+ШОФХАУЗЕР РОЗАЛИЈА
+ШОФРАН МАРИЈА
+ШОФРАНАЦ МЕЛАНИЈА
+ШОГОРОВ СТЕВАН
+ШОЈИЋ ЖИВКО
+ШОЈИЋ БРАНКО
+ШОЈИЋ ДРАГИЦА
+ШОЈИЋ НЕДЕЉКА
+ШОЈЛЕВСКА САЊА
+ШОКИЋ ЂОРЂЕ
+ШОКИЋ ЈУДИТА
+ШОКИЋ МИЛАН
+ШОКИЋ ПЕТАР
+ШОКИЋ РАДОВАН
+ШОКИЋ СМИЉА
+ШОКИЦА ЖИВКО
+ШОКИЦА БРАНИСЛАВ
+ШОКИЦА ДИМИТРИЈЕ
+ШОКИЦА ДРАГИША
+ШОКИЦА ЈОВАН
+ШОКИЦА ЈУДИТА
+ШОКИЦА ЉУБИЦА
+ШОКИЦА МИЛОШ
+ШОКИЦА ЗОРА
+ШОКЛОВАЧКИ ЖИВКО
+ШОКЛОВАЧКИ ДРАГОЉУБ
+ШОКЛОВАЧКИ НАДА
+ШОКЛОВАЧКИ РАТОМИР
+ШОЛ БЕЛА
+ШОЛАЈА ЂОРЂЕ
+ШОЛАЈА ДИМИТРИЈЕ
+ШОЛАЈА ГОЈКО
+ШОЛАЈА МИЛАН
+ШОЛАЈА МИРОСЛАВ
+ШОЛАЈА НАДА
+ШОЛАЈА НАДА
+ШОЛАЈА РАДОСЛАВ
+ШОЛАЈА СЛАВКО
+ШОЛАЈА СЛАВКО
+ШОЛАЈА СЛОБОДАН
+ШОЛАЈА ВИШЊА
+ШОЛАК ЈОКА
+ШОЛАК МАРИНКО
+ШОЛАК МИЛЕ
+ШОЛАК РАДЕ
+ШОЛЕВИЋ МИЛИВОЈЕ
+ШОЛТЕС ШАНДОР
+ШОЛТЕС ИБОЉА
+ШОЛТЕС ЈОЖЕФ
+ШОМКЕРЕКИ ИЛОНКА
+ШОМКЕРЕКИ ЈОСИП
+ШОМКЕРЕКИ ЈУЛИЈАНА
+ШОМКЕРЕКИ ЛАДИСЛАВ
+ШОМКЕРЕКИ СТЕВАН
+ШОМКЕРЕКИ СТЕВАН
+ШОМОЂИ ЖОФИЈА
+ШОМОЂИ ЂОРЂЕ
+ШОМОЂИ ЕВА
+ШОМОЂИ ФРАЊА
+ШОМОЂИ ИШТВАН
+ШОМОЂИ ЈЕЛЕНА
+ШОМОЂИ ЈОВАН
+ШОМОЂИ ЛАСЛО
+ШОМОЂИ МИХАЈЛО
+ШОМОЂИ ПАЛ
+ШОМОЂИ ПАЛ
+ШОМОЂИ ПАЛ
+ШОМОЂИ РОЗА
+ШОМОЂИ ЗОЛТАН
+ШОМОЂИ ЗОРА
+ШОП МАГДАЛЕНА
+ШОП МИЛАН
+ШОПАЛО ЂУРЂИНА
+ШОПАЛО ЂУРЂИНА
+ШОПАЛО МИОДРАГ ДИПЛ ОЕЦ
+ШОПАЛО МИОДРАГ
+ШОРЂАН РОМАН
+ШОРАК МИРЈАНА
+ШОРАЛОВ МИЛОШ
+ШОРАЛОВ МИРОСЛАВ
+ШОРМАЗ ДУШАН
+ШОРМАЗ МИЛАН
+ШОРМАЗ НИКОЛА
+ШОРМАЗ ВЛАДИМИР
+ШОРОЊА САВА
+ШОРОЊА ВЕРА
+ШОСБЕРГЕР БОРИШКА
+ШОСБЕРГЕР ЈОСИП ДИПЛ ОЕЦ
+ШОСБЕРГЕР ПАВЛЕ
+ШОСТАКОВ РАСТИСЛАВ ДИПЛ ИНГ
+ШОТИ-ЧАЛЕНИЋ МАРИЈА
+ШОТИ ФЕЂА
+ШОТИ ИВАНА
+ШОТИ ЈОСИП
+ШОТИ ЈОСИП
+ШОТИ МАРИЈА
+ШОТИ МАРИЈА
+ШОТРА МОМЧИЛО
+ШОУЦ МИЛАН
+ШОУЦ МИРОСЛАВ
+ШОУЦ ЗЛАТА
+ШОВШ ЈАНКО
+ШОВШ ЈОАКИМ
+ШОВАЊ ЈОАКИМ
+ШОВЕЊ АЛЕКСАНДАР
+ШОВЕЊ КАРЛО
+ШОВЕЊ ВЕРА
+ШОВЉАКОВ ЈОВАН
+ШОВЉАКОВ МИЛОШ
+ШОВЉАКОВ МИЛОШ
+ШОВЉАНСКИ ЂОРЂЕ ДИПЛ ИНГ
+ШОВЉАНСКИ ЂОРЂЕ
+ШОВЉАНСКИ АНКИЦА
+ШОВЉАНСКИ БОСИЉКА
+ШОВЉАНСКИ БРАНКО
+ШОВЉАНСКИ ДАНИЦА
+ШОВЉАНСКИ ДАНИЛО
+ШОВЉАНСКИ ДАНКА
+ШОВЉАНСКИ ДИМИТРИЈЕ
+ШОВЉАНСКИ ДРАГИША
+ШОВЉАНСКИ ДРАГИЦА
+ШОВЉАНСКИ ДРАГИЦА
+ШОВЉАНСКИ ДРАГИЦА
+ШОВЉАНСКИ ДРАГОМИР
+ШОВЉАНСКИ ДРАГОМИР
+ШОВЉАНСКИ ДРАГОСЛАВ
+ШОВЉАНСКИ ДРЕНКА
+ШОВЉАНСКИ ЕМИЛ
+ШОВЉАНСКИ ЈУЛКА
+ШОВЉАНСКИ ЛАЗАР
+ШОВЉАНСКИ ЉУБИЦА
+ШОВЉАНСКИ ЉУБОМИР
+ШОВЉАНСКИ МАРГИТА
+ШОВЉАНСКИ МИЛАН
+ШОВЉАНСКИ МИЛОШ
+ШОВЉАНСКИ МИЛОРАД
+ШОВЉАНСКИ МИРЈАНА
+ШОВЉАНСКИ МИРЈАНА
+ШОВЉАНСКИ МИРЈАНА
+ШОВЉАНСКИ МИРОСЛАВ ДР
+ШОВЉАНСКИ НАДА
+ШОВЉАНСКИ ПАВЛЕ
+ШОВЉАНСКИ РАДИВОЈ
+ШОВЉАНСКИ РАДОСЛАВ
+ШОВЉАНСКИ САВА
+ШОВЉАНСКИ СТОЈАН
+ШПАДИЈЕР ТАТИЈАНА
+ШПАГОВИЋ ДРАГОСЛАВ
+ШПАК ВЛАДИМИР
+ШПАНЧИЋ РАДМИЛА
+ШПАНГ ЛАСЛО
+ШПАНГ ЗОЛТАН
+ШПАНИЋ БОШКО
+ШПАНИЋ ФРАЊА
+ШПАНИЋ ЛАДИСЛАВ
+ШПАНИЋ НАДА
+ШПАНИЋ ОТО
+ШПАЊЕВИЋ СУЗАНА
+ШПАЊЕВИЋ ВУКОТА
+ШПАНОВИЋ ЂОРЂЕ
+ШПАНОВИЋ АЛЕКСА
+ШПАНОВИЋ МИЛОШ
+ШПАНОВИЋ НИКОЛА
+ШПАРАВАЛО МАРИЈА
+ШПАРАВАЛО НАТАША
+ШПАРАВАЛО САВА
+ШПАРАВАЛО ЗДРАВКО
+ШПАРОВИЋ ИЛИЈА
+ШПЕГАР ЛАЗАР
+ШПЕХАР МАРИЈА
+ШПЕС ЕТЕЛ
+ШПЕС ВИЛИМ
+ШПЕС ВИЛИМ
+ШПИЦА МИОДРАГ
+ШПИКА МИЛАН
+ШПИНДЛЕР МАРИЈА
+ШПИНДЛЕР-ТРБОЈЕВИЋ МИРЈАНА
+ШПИРИЋ БОРИВОЈЕ
+ШПИРИЋ ГОРДАНА
+ШПИРИЋ ГОСПАВА
+ШПИРИЋ ИЛЕ
+ШПИРИЋ ЈОВО
+ШПИРИЋ ЛУКА
+ШПИРИЋ ЛУКА
+ШПИРИЋ МИЛЕ
+ШПИРИЋ НЕЂО
+ШПИРИЋ ОБРАД
+ШПИРИЋ СТОЈАН
+ШПИРИЋ ТОДЕ
+ШПИРИЋ УРОШ
+ШПИРИЋ ЗОРАН
+ШПИРКА МАТИЛД
+ШПИРТА АЛЕКСАНДАР
+ШПИРТА АЛЕКСАНДАР
+ШПИС ДАНИЛО
+ШПИС ДАНИЛО
+ШПИС ЛАЈОШ
+ШПИС МИРЈАНА
+ШПИС НАНДОР
+ШПОЊА КОВИЉКО
+ШПРОХ ДРЕНКА
+ШПРОХ ЈАНКО
+ШПРОХ МАГДА
+ШПРОХ СЛАВКО
+ШПРОХ СТАНКО
+ШПРОХ СТЕВАН
+ШРАХОЛ ХИЛДА
+ШРАХОЛ КАРЛО
+ШРАХОЛ ЉУДЕВИТ
+ШРАЈ ВЛАДИМИР
+ШРАК ЈОВИЦА
+ШРАК ЛАДИСЛАВ
+ШРАК ЛАСЛО
+ШРАК ОТО
+ШРАК ОТО
+ШРАМ ХУГО
+ШРАНЦ РИХАРД
+ШРАНЦ РИХАРД
+ШРАНКА АНА
+ШРАНКА ДЕСАНКА
+ШРЕДЕР ЈАНОШ
+ШРЕДЕР ЈАНОШ
+ШРЕК АНДРИЈА ДИПЛ ИНГ
+ШРЕК СТЕВАН ДИПЛ ИНГ
+ШТАБИ ШТЕФИЦА
+ШТАЈН ЛИВИЈА
+ШТАЈНЕР КРЕШИМИР
+ШТАЈНЕР МИРЈАНА
+ШТАЈНЕР МИРОСЛАВ
+ШТАЈНЕР ЗВОНИМИР
+ШТАЈНФЕЛД МИХАЈЛО
+ШТАЈНИЦ МИРОСЛАВ
+ШТАЈНИЦ ТИБОР
+ШТАНДИ КАТИЦА
+ШТАНДИ ЗОЛТАН
+ШТАНФЕЉ АЛОЈЗ
+ШТАНФЕЉ МИРОСЛАВ
+ШТАНГЛ ЂОРЂЕ
+ШТАЊО-ТОТ ГИЗЕЛА
+ШТАРК ЕГОН ДИПЛ ИНГ
+ШТАРК МИРКО
+ШТАСНИ ЈОСИП
+ШТАСНИ КАТИЦА
+ШТАТКИЋ МИРОСЛАВ
+ШТАУХЕР ЈОСИП
+ШТЕБЛ ЈЕЛЕНА
+ШТЕФАН ЂОРЂЕ
+ШТЕФАН ЕУЂЕН
+ШТЕФАН ЈУЛИЈАНА
+ШТЕФАН МАТИЈА
+ШТЕФАН ОСКАР
+ШТЕФАН РУДОЛФ
+ШТЕФАН ТРАЈАН
+ШТЕФАНАЦ СТЕВАН
+ШТЕФАНИЦКИ МИШО
+ШТЕФАНИДЕС КАРЛО ДР
+ШТЕФАНИДЕС КАРЛО
+ШТЕФАНКО ВИКТОРИЈА
+ШТЕФАНОВИЋ ДРАГАН
+ШТЕФАНОВИЋ ДРАГУТИН
+ШТЕФАНОВИЋ ТОМИСЛАВ
+ШТЕФКО ЂОРЂЕ
+ШТЕФКО ЂОРЂЕ
+ШТЕФОВИЋ ВЛАДИМИР
+ШТЕФУЛИК ЈОЖЕФ
+ШТЕГЕР РОЖИ
+ШТЕГЕР ВАЛЕНТИНА
+ШТЕХЕР РАДМИЛА
+ШТЕЛЦЕР ЈОСИП
+ШТЕЛИ АНТУН
+ШТЕРЛЕ ЈОСИП
+ШТЕРЛЕ СТЕВАН
+ШТЕРЛЕМАН КРИСТИЈАН
+ШТЕРЛЕМАН ПЕРА
+ШТЕТИЋ КРИСТИНА
+ШТЕТИЋ ТИХОМИР
+ШТЕТИЋ ВЕСНА
+ШТЕТИЋ ВИДА
+ШТЕТИН ХЕЛЕНА
+ШТЕТИН МИЛАН
+ШТЕТИН МИЛЕ
+ШТЕТИН СВЕТИСЛАВ
+ШТЕВАНЧЕВ ЉУБОМИР
+ШТИЦА ВИТОМИР
+ШТИГЛЕР ИВАН
+ШТИГЛЕР МИЛАН
+ШТИГЛИЋ ДРАГАН
+ШТИГЛИЋ СВЕТОЗАР
+ШТИКАВАЦ КОСОВКА
+ШТИКОВАЦ СПАСОЈЕ
+ШТИМАЦ ОТО
+ШТИМАЦ РУДОЛФ
+ШТОКОВАЦ ЈОВАН
+ШТОКОВАЦ ТОМИСЛАВ
+ШТОЛБА ЗВОНИМИР
+ШТОС КАТИЦА
+ШТРАЈХ ИШТВАН
+ШТРАЈХ ЈОСИП
+ШТРАЈХ ОТТО
+ШТРАНГАР НАДА
+ШТРАНГАРОВ БОРИВОЈ
+ШТРАНГАРОВ ДИМИТРИЈЕ
+ШТРАНГАРОВ ЈЕЛЕНА
+ШТРАНГАРОВ ЈЕЛЕНА
+ШТРАНГАРОВ МИЛИЦА
+ШТРАНГАРОВ СЛОБОДАН
+ШТРАПАЈЕВИЋ ЈУЛИЈАНА
+ШТРАСЕР МИХАЈЛО ДР ЛЕКАР
+ШТРАСЕР НАДА
+ШТРАУБ ЕРЖЕБЕТ
+ШТРАУБ ИШТВАН
+ШТРАУБ СТЕВАН
+ШТРБА ДАНИЛО
+ШТРБА МИЛАН
+ШТРБАЧКИ БОРИСЛАВ
+ШТРБАЦ ЖЕЉКО
+ШТРБАЦ ЂОРЂЕ
+ШТРБАЦ ЂУРО
+ШТРБАЦ АНЂЕЛКА
+ШТРБАЦ БОШКО
+ШТРБАЦ БОРИСЛАВ
+ШТРБАЦ БРАНКА
+ШТРБАЦ ДАРИНКА
+ШТРБАЦ ДЕСАНКА
+ШТРБАЦ ДРАГАН
+ШТРБАЦ ДУШАН
+ШТРБАЦ ДУШАН
+ШТРБАЦ ДУШАН
+ШТРБАЦ ДУШАН
+ШТРБАЦ ЈОВАН
+ШТРБАЦ ЉУБИЦА
+ШТРБАЦ ЉУБОМИР
+ШТРБАЦ МАРИЈА
+ШТРБАЦ МИЋО
+ШТРБАЦ МИЋО
+ШТРБАЦ МИЛАНКО
+ШТРБАЦ МИЛАН
+ШТРБАЦ МИЛАН
+ШТРБАЦ МИЛАН
+ШТРБАЦ МИЛАН
+ШТРБАЦ МИЛЕНА
+ШТРБАЦ МИЛИЦА
+ШТРБАЦ МИЛИВОЈ
+ШТРБАЦ МИЛОШ
+ШТРБАЦ МИРЈАНА
+ШТРБАЦ МИРКО
+ШТРБАЦ МОМЧИЛО
+ШТРБАЦ НЕМАЊА
+ШТРБАЦ НИКОЛА
+ШТРБАЦ РАДОЈКА
+ШТРБАЦ РАДОВАН
+ШТРБАЦ САВКА
+ШТРБАЦ СЛАВИЦА
+ШТРБАЦ СЛАВКО
+ШТРБАЦ СТАНА
+ШТРБАЦ СТЕВАН
+ШТРБАЦ ТОМИСЛАВ
+ШТРБАЦ УРОШ
+ШТРБАЦ ВЛАДО
+ШТРБАЦ ВУКИЦА
+ШТРБАЦ ЗОРИЦА
+ШТРБЕНК ИВАНКА
+ШТРБЕНК НИКОЛА
+ШТРБОЈА ЖИВКО
+ШТРБОЈА ЂОРЂЕ
+ШТРБОЈА ЂОРЂЕ
+ШТРБОЈА РАДА
+ШТРБОЈА РАДИВОЈ
+ШТРБОЈА СТЕВАН
+ШТРБОЈЕ ДИМИТРИЈЕ
+ШТРИЦКИ ЈОСИП
+ШТРК ЈОСИП
+ШТРК МАРИЈА
+ШТРКИЋ МИРОСЛАВ
+ШТРКИЋ МОМИР
+ШТРОК ЖЕЉКО
+ШТРТАК СЛАВКО
+ШТРТАК СЛОБОДАН
+ШТУЛА МИЛЕ
+ШТУЛИЋ БОЖИДАР
+ШТУЛИЋ ГОРАН
+ШТУЛИЋ ЈОВО
+ШТУЛИЋ МАРКО
+ШТУЛИЋ РАДОВАН
+ШТУМПФ ХЕЛМУТ
+ШТУМПФ ОСВАЛД
+ШУШЧЕВИЋ ЈОВО
+ШУШЧЕВИЋ ЗДРАВКО
+ШУША ЧЕДОМИР
+ШУША ДУШАН
+ШУША ЈОВАН
+ШУША КЕМАЛ
+ШУША СТОЈАНКА
+ШУШАК ЂОКА
+ШУШАК ЂОРЂЕ
+ШУШАК ГОСПАВА
+ШУШАК МАРИЈА
+ШУШАК НЕВЕНА
+ШУШАК СТАМЕНКО ДР
+ШУШАК ТОМИСЛАВ
+ШУШАКОВ ПАЈА
+ШУШЕВСКИ МИЛАН
+ШУШИЋ РИСТО
+ШУШИЋ ТОМИСЛАВ
+ШУШКАВЧЕВИЋ ИЛИЈА
+ШУШКАВЧЕВИЋ МИОДРАГ
+ШУШКОВИЋ БОРИС
+ШУШЉИК ЈОВАН
+ШУШЊАР ЖАРКО
+ШУШЊАР БОРИСЛАВ
+ШУШЊАР БОРИСЛАВ
+ШУШЊАР МИХАЈЛО
+ШУШЊАР МИЛАН
+ШУШЊАР МИЛАН
+ШУШЊАР ПЕТАР
+ШУШЊАР ПЕТАР
+ШУШЊАР ПЕТАР
+ШУШЊАР СЛАВКО
+ШУШЊАР СОФИЈА
+ШУШЊАР СТАНКО
+ШУШЊЕВИЋ ДУШАН
+ШУШЊЕВИЋ МОМЧИЛО
+ШУШЊЕВИЋ РАДОСЛАВ
+ШУШЊИЋ СТАНКА
+ШУШТРАН МЛАДЕН
+ШУШТУМ ЈОВАН
+ШУЋАК МИЛАН
+ШУЋОВ ЋИРА
+ШУЋОВ ДАНИЦА
+ШУЋОВ ДАНИЛО
+ШУЋОВ МИЛОШ
+ШУЋОВ ВУКОСАВА
+ШУБАРА МЛАДЕН
+ШУБАРИЋ ЛУКА
+ШУБАРИЋ ВЛАСТИМИР
+ШУБАРИЋ ЗОРАН
+ШУБЕРТ ИЛОНКА
+ШУБИЋ ЈОВАНКА
+ШУБОЊ СИЛВИУС
+ШУДАР ЈОЖЕФ
+ШУДАР ЈОСИП
+ШУДИЦКИ ЈОЖЕФ
+ШУГИЋ МИЛАН
+ШУГИЋ НАДА
+ШУГИЋ ПЕТАР
+ШУГИН ЖИВКО
+ШУГИН БЕРИСАВ
+ШУГИН ДИМИТРИЈЕ
+ШУГИН ЛЕКСА
+ШУГИН ЉИЉАНА
+ШУГИН ЉИЉАНА
+ШУГИН МИЛКА
+ШУГИН МИОДРАГ
+ШУГИН МИОДРАГ
+ШУГИН РАДА
+ШУГИН РАНКА
+ШУХАЈДА ЂУРА
+ШУХАЈДА ИМРЕ
+ШУХАЈДА ЛАЈОШ
+ШУЈДОВИЋ ЗОРАН
+ШУЈИЋ ДРАГОМИР
+ШУЈИЋ РЕЏО
+ШУЈИЦА МИЛАН
+ШУКА АЛЕКСА
+ШУКАЛОВИЋ ЂОРЂЕ
+ШУКАРА БОГДАН
+ШУКАРА ДМИТАР
+ШУКАРА ДУШАН
+ШУКИЋ ДРАГИЦА
+ШУКИЋ МИРОЉУБ
+ШУКИЋ ЗОРИЦА
+ШУКЛА СЛАВКО
+ШУКОВИЋ МИЛАН
+ШУКОВИЋ ЗОРКА
+ШУКУНДА МАРИЈА
+ШУКУНДА МИЛАН
+ШУКУРМА СТЕВО
+ШУЛАЈА МИРОСЛАВ
+ШУЛЦ АНДРАШ
+ШУЛЦ ДЕЛИМИР ДР ПРОФ
+ШУЛЦ ИМРЕ ДИПЛ ИНГ
+ШУЛЦ ИМРЕ
+ШУЛЦ ЈОЖЕФ
+ШУЛЦ ЈОЖЕФ
+ШУЛЦ КОСАНА
+ШУЛЦ ВЕРА
+ШУЛЕНТИЋ МИЛЕ
+ШУЛХОФ ЈОЖЕФ КЊИЖЕВНИК
+ШУЉАН АНА
+ШУЉАН ЈАНКО
+ШУЉАН ЈАН
+ШУЉАН ЈАН
+ШУЉАН ЈАРОСЛАВ
+ШУЉАН ПАЛ
+ШУЉМАНАЦ-ШЕЋЕРОВ МИРЈАНА
+ШУЉМАНАЦ БРАНИМИР
+ШУЉМАНАЦ ЈОВАН
+ШУЉМАНАЦ УРОШ
+ШУЛОВИЋ ПЕТАР
+ШУМАХЕР ИЛОНА
+ШУМАХЕР ЈАНОШ
+ШУМАЈСКИ БЛАЖЕНКА
+ШУМАН ВИТОМИР
+ШУМАНОВАЦ ПАВЛЕ ДИПЛ ИНГ
+ШУМАНОВИЋ БРАНИСЛАВ
+ШУМАНОВИЋ ЉИЉАНА
+ШУМАР БОЖО
+ШУМАР МИЛАН
+ШУМАР СИМА
+ШУМАРЕВИЋ ДРАГОРАД
+ШУМАРОВ НИКОЛА
+ШУМАРУНА ЦВЕТА
+ШУМАРУНИЋ ПАВЛЕ
+ШУМЕЦ ЕРНА
+ШУМЕЦ ЈАНОШ
+ШУМИЋ МЛАДЕН
+ШУМОЊА МИЛАН
+ШУНДОВА ФЛОРА
+ШУНИЋ ЈОВО
+ШУЊИЋ ПЕТАР
+ШУЊКА МАРКО
+ШУЊКА МИЛИЦА
+ШУЊКА РАТКО
+ШУНКА ЈОВАН
+ШУНКИЋ ЛАЗАР
+ШУНТИЋ МАТЕЈ
+ШУПЕ ШИМЕ
+ШУПИЦА ДУШАН
+ШУПИЦА ЛАЗАР
+ШУПИЦА ЛАЗА
+ШУПИЦА ЉУБИЦА
+ШУПИЦА МАРА
+ШУПИЦА МИЛАН
+ШУПИЦА МИЛОШ
+ШУПИЦА ПЕТАР
+ШУПИЦА СЛАВКО
+ШУПИЦА ВАСА
+ШУПУТ ЖАРКО ДИПЛ ИНГ
+ШУПУТ ЂУРО
+ШУПУТ ДУШАН
+ШУПУТ СЛОБОДАН
+ШУПУТ СВЕТОЗАР
+ШУРАЊИ ТЕРЕЗИЈА
+ШУРБАНОВИЋ БРАНКО
+ШУРЈАН ЈАНОШ
+ШУРЈАН ЈОВАН
+ШУРЈАНЧЕВ ИВАН
+ШУРЈАНОВИЋ МИЛАН
+ШУРЈАНОВИЋ МИЛЕНА
+ШУРКАЛОВИЋ МИЛЕНА
+ШУРКОВИЋ ДОРАН
+ШУРКОВИЋ ИРФАН ДИПЛ ИНГ
+ШУРЛАН ЧЕДОМИР
+ШУРЛАН ЂОРЂО
+ШУРЛАН ДРАГОМИР
+ШУРЛАН ДРАГОСЛАВ
+ШУРЛАН ГОЈКО
+ШУРЛАН ЈОВАН
+ШУРЛАН МАРИНКО
+ШУРЛАН МАРКО
+ШУРЛАН МИЛОШ
+ШУРЛАН МИРКО
+ШУРЛАН МОМИР
+ШУРЛАН НЕДЕЉКО
+ШУРЛАН РУШКО
+ШУРЛАН ВОЈИСЛАВ
+ШУРЛАН ВУКОСАВА
+ШУСТЕР НЕГОСЛАВ
+ШУСТРИЈАН ОЛГА
+ШУТАНОВИЋ НАДА
+ШУТИЛОВИЋ МИЛОРАД
+ШУТИЛОВИЋ НЕВЕНКА
+ШУТУЛОВИЋ ДАНКА
+ШУТУЛОВИЋ ВЕСНА
+ШУТВИЋ БРАНКА
+ШУВАК МИОДРАГ
+ШУВАКОВ ДАРИНКА
+ШУВАКОВ ДЕЈАН
+ШУВАКОВ ЈОВАН
+ШУВАКОВ МИЛЕНА
+ШУВАКОВ МИЛОРАД
+ШУВАКОВ СТЕВАН
+ШУВАКОВ ТИХОМИР ДР
+ШУВАКОВ ВЕСЕЛИНКА
+ШУВАКОВИЋ ЂУРЂИЦА
+ШУВАКОВИЋ БОГОСЛАВ
+ШУВАКОВИЋ ДАМЈАН ДР ЛЕКАР
+ШУВАКОВИЋ ЈУЛИЈАНА
+ШУВАКОВИЋ ЗОРАН
+ШВАБ ЕСТЕР
+ШВАБ ХЕНРИЈЕТА
+ШВАГЕР МАРТИН
+ШВАЈБЕРИЋ ВИРГИНИЈА
+ШВАЈЦЕР ГИЗЕЛА
+ШВАЈЦЕР ИВИЦА
+ШВАЈЦЕР-РАКИЋ ИРЕНА
+ШВАЈЦЕР РОЗАЛИЈА
+ШВАНДИЛИК ЈОЖЕФ
+ШВАРЦ ИЛОНА
+ШВАРЦ ТИБОР
+ШВАРЦ ВЛАДИМИР
+ШВЕДИЋ АЋИМ
+ШВЕДИЋ ДУШАН
+ШВЕДИЋ ЕЛИЗАБЕТА
+ШВЕДИЋ ЕРЖИКА
+ШВЕДИЋ ГРУЈА
+ШВЕДИЋ ЈОВАН
+ШВЕДИЋ МИЛИЦА
+ШВЕДИЋ МИЛОРАД
+ШВЕДИЋ МИЛУТИН
+ШВЕДИЋ НИКОЛА
+ШВЕДИЋ ПЕТАР
+ШВЕЉА БОГДАН
+ШВЕЉА ПЕТАР
+ШВЕМ ЂУРА
+ШВЕНДА ГОРАН
+ШВЕР КАРЛО
+ШВЕРЕР РУДОЛФ
+ШВЕРКО АНЂЕЛИЈА
+ШВИНД НЕНАД
+ШВОБ ЈОСИП
+ШВОБ ЛАЈОШ
+ШВОЊА ЖЕЉКО
+ШВОЊА ЂУРЂИНКА
+ШВОЊА БИЉАНА
+ШВОЊА БОШКО
+ШВОЊА БОШКО
+ШВОЊА БОЖИДАР
+ШВОЊА БОРИВОЈ
+ШВОЊА БРАНКО
+ШВОЊА ДРАГОЉУБ
+ШВОЊА ДУШАН
+ШВОЊА ДУШКО
+ШВОЊА МИЛАН
+ШВОЊА МИРА
+ШВОЊА РАТКО
+ШВОЊА РАТКО
+ШВОЊА СВЕТОЗАР
+ШВОЊА ВЕЉКО
+ШВРАКА ФРАЊО
+ШВРАКА СТЕВАН ДИПЛ ИНГ
+ШВРАКА СТЕВАН
+ЋАЋИЋ ДАНИЦА
+ЋАЋИЋ ДУШАН
+ЋАЋИЋ МАРКО
+ЋАЋИЋ НИНОСЛАВ
+ЋАХУН КАРЛО ДИПЛ ИНГ
+ЋАЈА ВАНКА
+ЋАКИЋ ГИЗА
+ЋАЛАСАН ЈОВАН
+ЋАЛАСАН СТОЈАН
+ЋАЛЕТА ИВИЦА
+ЋАЛИЋ ИЛИЈА
+ЋАЛИЋ ЈОВАН
+ЋАЛИЋ ЈОВАН
+ЋАЛИЋ ЛУКА
+ЋАЛИЋ МИЛОШ
+ЋАЛИЋ МОМЧИЛО
+ЋАЛИЋ СЛОБОДАН
+ЋАЛИЋ ЗОРАН
+ЋАЛОВ МИЛОРАД
+ЋАЛОВИЋ ЛАКИЋ
+ЋАЛОВИЋ РАДОМИР
+ЋАЛУШИЋ ЈАКОВ
+ЋАТИЋ РАДЕНКО
+ЋАТИЋ СМИЉАНА
+ЋАТОВИЋ ДРАГАН
+ЋАТОВИЋ ГОСПАВА
+ЋАТОВИЋ МАХИТ
+ЋАТОВИЋ СИМАН
+ЋАВАР МАРКО
+ЋАЗИЋ ЂОРЂЕ
+ЋАЗИЋ МИЛЕ
+ЋАЗИЋ МИЛЕ
+ЋАЗИЋ ПЕТАР
+ЋЕБИЋ БОРИВОЈ
+ЋЕБИЋ МИЛАН
+ЋЕБИЋ СЛАВИЦА
+ЋЕБОВИЋ НЕНАД
+ЋЕХА БРАНЕ
+ЋЕЈИЋ ДУШАН
+ЋЕЈИЋ ДУШАН
+ЋЕЛАП МЛАДЕН
+ЋЕЛАП СВЕТОЗАР
+ЋЕЛИЋ ЉУБА
+ЋЕЛИЋ СЛАВКО
+ЋЕЛИЋ ВИКТОРИЈА
+ЋЕНАНОВИЋ МИРЈАНА
+ЋЕРАН БОШКО
+ЋЕРАН ДУШАН
+ЋЕРАН ЈЕЛКА
+ЋЕРАН МИЛЕНКО
+ЋЕРАН СТОЈАН
+ЋЕРАН ВЕЉКО
+ЋЕРАН ЗОРАНКА
+ЋЕРАНИЋ БРАНИСЛАВ
+ЋЕРАНИЋ МИЛАН
+ЋЕРАНИЋ МИЛИЦА
+ЋЕРАНИЋ РАДИНКА
+ЋЕРАНИЋ СНЕЖАНА
+ЋЕРАНИЋ ЗОРАН
+ЋЕРИМАГИЋ ЕТХЕМ
+ЋЕРМОВ-КАВЕЧАН БОЈАНА
+ЋЕСАРОВ ЖАРКО
+ЋЕСАРОВ БРАНИСЛАВ
+ЋЕСАРОВ РУЖИЦА
+ЋЕСАРОВ СИМА
+ЋЕСАРОВ СТЕВАН
+ЋЕСАРОВ СВЕТОЗАР
+ЋЕСАРОВИЋ БОСИЉКА
+ЋЕСАРОВИЋ РАДИВОЈ
+ЋЕТКОВИЋ ЖАРКО
+ЋЕТКОВИЋ БОЖИДАР
+ЋЕТКОВИЋ ДУШАНКА
+ЋЕТКОВИЋ МИЛЕНКО
+ЋЕТКОВИЋ НЕНАД
+ЋЕТКОВИЋ ПРЕДРАГ
+ЋЕТОЈЕВИЋ ЂОРЂЕ
+ЋЕТОЈЕВИЋ БОСА
+ЋЕТОЈЕВИЋ ДРАГОЉУБ
+ЋЕТОЈЕВИЋ ЈОВО
+ЋЕТОЈЕВИЋ МИЛОШ
+ЋЕТОЈЕВИЋ МИЛОВАН
+ЋЕТОЈЕВИЋ МИРОСЛАВ
+ЋЕТОЈЕВИЋ НЕДЕЉКО
+ЋЕТОЈЕВИЋ РАДОВАН
+ЋЕВАП БОЖА
+ЋИШИН ДУШАНКА
+ЋИНКУЛ САВА
+ЋИНКУЛ ВАЛТА
+ЋИПЕ ЕРЖЕБЕТ
+ЋИПРОВАЦ САВА
+ЋИПРОВАЦ ТОША
+ЋИПРОВАЦ ЗДРАВКО
+ЋИРАК МИЛОРАД
+ЋИРАКОВИЋ ЖИВОРАД
+ЋИРАКОВИЋ МАРКО
+ЋИРАКОВИЋ МИЛОРАД
+ЋИРАКОВИЋ САЈА
+ЋИРЕВСКИ БУДИМИР
+ЋИРИЋ ЋИРА
+ЋИРИЋ ЖИВКА
+ЋИРИЋ ЖИВКА
+ЋИРИЋ ЂОРЂЕ
+ЋИРИЋ ЂОРЂЕ
+ЋИРИЋ ЂОРЂЕ
+ЋИРИЋ ЂОРЂЕ
+ЋИРИЋ ЂОРЂЕ
+ЋИРИЋ ЂОРЂЕ
+ЋИРИЋ ЂОРЂЕ
+ЋИРИЋ ЂУРЂИНКА
+ЋИРИЋ АНИЦА
+ЋИРИЋ АНИТА
+ЋИРИЋ БОШКО
+ЋИРИЋ БОЖИДАР ДР
+ЋИРИЋ БОЖИДАР
+ЋИРИЋ БОЖО
+ЋИРИЋ БОРИСЛАВ
+ЋИРИЋ БОРИСЛАВ
+ЋИРИЋ БОРИСЛАВ
+ЋИРИЋ БРАНКА
+ЋИРИЋ БРАНКО
+ЋИРИЋ ДАНИЦА
+ЋИРИЋ ДАНИЛО
+ЋИРИЋ ДЕСАНКА
+ЋИРИЋ ДИВКО
+ЋИРИЋ ДОБРИЛА
+ЋИРИЋ ДРАГАН
+ЋИРИЋ ДРАГИЦА
+ЋИРИЋ ДРАГИЊА
+ЋИРИЋ ДРАГОЉУБ
+ЋИРИЋ ДУШАН ДИПЛ ИНГ
+ЋИРИЋ ДУШАНКА
+ЋИРИЋ ДУШАН
+ЋИРИЋ ДУШАН
+ЋИРИЋ ДУШИЦА
+ЋИРИЋ ГАВРИЛО
+ЋИРИЋ ГОРДАНА
+ЋИРИЋ ИВАНКА
+ЋИРИЋ ИВАН
+ЋИРИЋ ЈЕЛИСАВЕТА
+ЋИРИЋ ЈОРДАН
+ЋИРИЋ ЈОВАНКА
+ЋИРИЋ ЈОВАН
+ЋИРИЋ ЈОВАН
+ЋИРИЋ ЈОВАН
+ЋИРИЋ КАМЕНКО
+ЋИРИЋ КАТИЦА
+ЋИРИЋ ЛАЗАР
+ЋИРИЋ ЛЕНКА
+ЋИРИЋ ЉУБИЦА
+ЋИРИЋ ЉУБИЦА
+ЋИРИЋ ЉУБОМИР
+ЋИРИЋ МАРКО
+ЋИРИЋ МИЛАН ДИПЛ ИНГ
+ЋИРИЋ МИЛАН
+ЋИРИЋ МИЛЕНКО
+ЋИРИЋ МИЛЕНКО
+ЋИРИЋ МИЛЕТА
+ЋИРИЋ МИЛИЦА
+ЋИРИЋ МИЛКА
+ЋИРИЋ МИЛОШ
+ЋИРИЋ МИЛОШ
+ЋИРИЋ МИЛОРАД
+ЋИРИЋ МИЛОРАД
+ЋИРИЋ МИОДРАГ
+ЋИРИЋ МИРА
+ЋИРИЋ МЛАДЕН
+ЋИРИЋ НИКОЛА
+ЋИРИЋ ПАЈА
+ЋИРИЋ ПЕТАР
+ЋИРИЋ ПЕТАР
+ЋИРИЋ-ПЕТРОВИЋ КАТАРИНА
+ЋИРИЋ ПРЕДРАГ
+ЋИРИЋ РАДЕ
+ЋИРИЋ РАДМИЛА
+ЋИРИЋ РАДМИЛО
+ЋИРИЋ РАДОМИР
+ЋИРИЋ РАДОВАН
+ЋИРИЋ РОБЕРТ
+ЋИРИЋ САВА
+ЋИРИЋ СЛАВИЦА
+ЋИРИЋ СЛАВКО
+ЋИРИЋ СЛАВКО
+ЋИРИЋ СЛОБОДАН
+ЋИРИЋ СМИЉА
+ЋИРИЋ СОФИЈА
+ЋИРИЋ СРЕДОЈЕ
+ЋИРИЋ СТАНИСЛАВ
+ЋИРИЋ СТЕВАН
+ЋИРИЋ СТЕВАН
+ЋИРИЋ СТЕВАН
+ЋИРИЋ СВЕТИСЛАВ
+ЋИРИЋ СВЕТОЗАР
+ЋИРИЋ СВЕТОЗАР
+ЋИРИЋ СВЕТОЗАР
+ЋИРИЋ СВЕТОЗАР
+ЋИРИЋ ТОМИСЛАВ
+ЋИРИЋ ТОМИСЛАВ
+ЋИРИЋ-ТОН ЈЕЛИЦА
+ЋИРИЋ ВАСА
+ЋИРИЋ ВЕРА
+ЋИРИЋ ВЛАДИМИР
+ЋИРИЋ ВЛАДИМИР
+ЋИРИЋ ВЛАДИСЛАВ
+ЋИРИЋ ВУЧКО
+ЋИРИЋ ЗОРАН
+ЋИРИЋ ЗОРА
+ЋИРИЋ ЗОРА
+ЋИРИЋ ЗОРКА
+ЋИРИЛОВ МИЛАН
+ЋИРИЛОВИЋ АНИЦА
+ЋИРИЛОВИЋ БРАНИСЛАВ
+ЋИРИЛОВИЋ МИЛИВОЈ
+ЋИРИЛОВИЋ МЛАДЕН
+ЋИРИЛОВИЋ ОЛГА
+ЋИРИЛОВИЋ ПЕТАР
+ЋИРИЛОВИЋ ВЕРА
+ЋИРИН ДРАГОСЛАВ
+ЋИРИН-НОВТА ВЕРА
+ЋИРИН СЛОБОДАН
+ЋИРИТОВИЋ ДУШАНКА
+ЋИРЈАКОВИЋ ГОРДАНА
+ЋИРЈАКОВИЋ СЛАВОЉУБ
+ЋИРЈАКОВИЋ СЛОБОДАН
+ЋИРКОВИЋ ЂОРЂЕ
+ЋИРКОВИЋ ЦВЕТАНКА
+ЋИРКОВИЋ ИВАН
+ЋИРКОВИЋ ИВАН
+ЋИРКОВИЋ ЈАНКО
+ЋИРКОВИЋ КАТИЦА
+ЋИРКОВИЋ МАРКО
+ЋИРКОВИЋ МАРТА
+ЋИРКОВИЋ МИЛЕНКО
+ЋИРКОВИЋ МИРОСЛАВ
+ЋИРКОВИЋ НЕНАД
+ЋИРКОВИЋ РАДМИЛА
+ЋИРОВИЋ ЖАРКО
+ЋИРОВИЋ ДЕЈАН
+ЋИРОВИЋ ГРУЈИЦА
+ЋИРОВИЋ МИЛУТИН
+ЋИРОВИЋ НИКОЛА
+ЋИРОВИЋ ВЕЛИМИР
+ЋИРОВИЋ ВЕЛИМИР
+ЋИРПАНОВ МИОДРАГ
+ЋИРУШИЋ РАЈКО
+ЋИТИЋ ДУШАН
+ЋИТИЋ МИЛОВАН
+ЋОЋКАЛО СИМА
+ЋОЈАНОВИЋ БОЖИДАР
+ЋОЈАНОВИЋ БОРО
+ЋОЈАНОВИЋ МИЛКА
+ЋОЈДЕР ГОЈКО
+ЋОМА КАТАРИНА
+ЋОПИЋ АНДРИЈА
+ЋОПИЋ ЕВИЦА
+ЋОПИЋ МИЋА
+ЋОПИЋ МИЛЕ
+ЋОПИЋ МИЛОШ
+ЋОПИЋ ВЕРА
+ЋОРИЋ-ЂОКИЋ НАДА
+ЋОРИЋ ЂОРЂЕ
+ЋОРИЋ ЂУРО
+ЋОРИЋ ЂУРО
+ЋОРИЋ АНДРИЈА
+ЋОРИЋ БИСЕРКА
+ЋОРИЋ БЛАГОЈЕ
+ЋОРИЋ БОРА
+ЋОРИЋ ЈОВАН
+ЋОРИЋ КАТАРИНА
+ЋОРИЋ ЉИЉАНА
+ЋОРИЋ МАРИЈА
+ЋОРИЋ МИЋО
+ЋОРИЋ МИКАИЛО
+ЋОРИЋ РАЈКО
+ЋОРКОВИЋ ИВАН
+ЋОРКОВИЋ МАРКО
+ЋОРОВИЋ ДАНИЛО
+ЋОРОВИЋ ЈОВАН
+ЋОРОВИЋ МИРЧЕТА
+ЋОРОВИЋ МИРО
+ЋОРОВИЋ РЕНАТА
+ЋОРОВИЋ СЛОБОДАН
+ЋОСИЋ ШТЕФИЦА
+ЋОСИЋ ЖАРКО
+ЋОСИЋ ЖИВАНА
+ЋОСИЋ ЖИВКА
+ЋОСИЋ АЛЕКСАНДАР
+ЋОСИЋ АЛЕКСАНДАР
+ЋОСИЋ БОГДАН СУДИЈА
+ЋОСИЋ БРАНКО
+ЋОСИЋ БРАНКО
+ЋОСИЋ ДАНИЦА
+ЋОСИЋ ДРАГАНА
+ЋОСИЋ ДРАГАН
+ЋОСИЋ ДРАГИЦА
+ЋОСИЋ ДРАГИЦА
+ЋОСИЋ ДУШАН
+ЋОСИЋ ДУШАН
+ЋОСИЋ ДУШКО
+ЋОСИЋ ФАДИЛ
+ЋОСИЋ ИЛИЈА
+ЋОСИЋ ЈЕЛКА
+ЋОСИЋ ЈОВАН
+ЋОСИЋ ЈОВАН
+ЋОСИЋ ЈОВАН
+ЋОСИЋ ЈОЗО
+ЋОСИЋ ЉИЉАНА
+ЋОСИЋ МАРИЈА
+ЋОСИЋ МАРИЈА
+ЋОСИЋ МИЛАН
+ЋОСИЋ МИЛЕНА
+ЋОСИЋ МИЛИЦА
+ЋОСИЋ МИРЈАНА
+ЋОСИЋ МУХАМЕД
+ЋОСИЋ ОЛГА
+ЋОСИЋ ПАНТЕЛИЈА
+ЋОСИЋ САВКА
+ЋОСИЋ СМИЉА
+ЋОСИЋ СНЕЖАНА
+ЋОСИЋ СТАНКА
+ЋОСИЋ СТОЈАН
+ЋОСИЋ ТОДОР ДИПЛ ИНГ
+ЋОСИЋ ВЕРА
+ЋОСИЋ ВЕРОСЛАВ
+ЋОСИЋ ВЛАДИМИР
+ЋОСИЋ ЗОРАН
+ЋОСИЋ ЗОРКА
+ЋОСИН ДУШАН
+ЋОСИН ЗОРАН
+ЋОСО ГАВРИЛО
+ЋОСОВИЋ ЈЕЛЕНА
+ЋОСОВИЋ МИЛЕТА
+ЋОСОВИЋ ТОМИСЛАВ
+ЋОВИЋ ЛАЗАР
+ЋОВИН МИЛАН
+ЋУЋА АДАМ
+ЋУЋИЛОВИЋ ЦВИЈА
+ЋУЋИЛОВИЋ МОМЧИЛО
+ЋУЋИЛОВИЋ РУЖИЦА
+ЋУЋУЗ МАРКО
+ЋУЋУЗ САША
+ЋУЋУЗ СТАНКО
+ЋУБА РАТКО ДИПЛ ИНГ
+ЋУБИЋ ДУШАН
+ЋУИЋ ИЛИЈА
+ЋУИЋ МАРА
+ЋУИЋ МИЛКА
+ЋУЈИЋ ЉУБИЦА
+ЋУЈИЋ СТЕВАН
+ЋУК ЂУРО
+ЋУК ДРАГО
+ЋУК ДУШАН
+ЋУК ДУШАН
+ЋУК ГОЈКО
+ЋУК ЛЕЛА
+ЋУК ЛУКА
+ЋУК МАРА
+ЋУК МИЛАН ДИПЛ ИНГ
+ЋУК МИЛЕ
+ЋУК МИЛИЦА
+ЋУК МИЛКАН
+ЋУК МИЛОРАД
+ЋУК МИРОСЛАВ
+ЋУК НИКОЛА
+ЋУК РАДИВОЈ
+ЋУК РАТКО
+ЋУК СЛОБОДАН
+ЋУК ТОМИСЛАВ
+ЋУК ЗОРКА
+ЋУКОВИЋ МИЛУН
+ЋУКОВИЋ МИРА
+ЋУКОВИЋ РАДОМИР ДИПЛ ИНГ
+ЋУКОВИЋ РАДОВАН
+ЋУКОВИЋ ТИХОМИРКА
+ЋУКОВИЋ ЗОРАН
+ЋУЛИЋ ЂОРЂЕ
+ЋУЛИЋ ЈАСМИНКА
+ЋУЛИБРК БОГДАН
+ЋУЛИБРК ДРАГАН
+ЋУЛИБРК ДРАГАН
+ЋУЛИБРК ДРАГОСЛАВ
+ЋУЛИБРК ДУШАНКА
+ЋУЛИБРК ДУШАН
+ЋУЛИБРК ГОСПАВА
+ЋУЛИБРК ЈЕЛИЦА
+ЋУЛИБРК ЈЕЛКА
+ЋУЛИБРК МИЛАН
+ЋУЛИБРК МИЛЕ
+ЋУЛИБРК МИЛЕ
+ЋУЛИБРК МИОДРАГ
+ЋУЛИБРК МИРКО
+ЋУЛИБРК МЛАДЕН
+ЋУЛИБРК МОМЧИЛО
+ЋУЛИБРК РАДИВОЈЕ
+ЋУЛИБРК РАДОЈКА
+ЋУЛИБРК РАТКО
+ЋУЛИБРК РИСТО
+ЋУЛИБРК СЛОБОДАН
+ЋУЛИБРК СОКА
+ЋУЛИБРК СТЕВАН
+ЋУЛИБРК ТРИВО
+ЋУЛУМ БРАНКО
+ЋУЛУМ ГОЈКО
+ЋУЛУМ ИЛИЈА
+ЋУЛУМ ЈЕЛИЦА
+ЋУЛУМ ЈОВАН
+ЋУЛУМ ЛАЗАР
+ЋУЛУМ МАРА
+ЋУЛУМ МАРА
+ЋУЛУМ МИХАЈЛО
+ЋУЛУМ МИЛАН
+ЋУЛУМ МИЛЕТА
+ЋУЛУМ МИЛОШ
+ЋУЛУМ МИОДРАГ
+ЋУЛУМ МИРКО
+ЋУЛУМ МИРКО
+ЋУЛУМ НАДА
+ЋУЛУМ НАДА
+ЋУЛУМ НИКОЛА
+ЋУЛУМ ПЕРО
+ЋУЛУМ РАДЕ
+ЋУЛУМ РАДЕ
+ЋУЛУМ САВА
+ЋУЛУМ СЛАВКО
+ЋУЛУМ СТАНКА
+ЋУЛУМ СТАНКА
+ЋУЛУМ СТЕВО
+ЋУЛУМ СТЕВО
+ЋУЛУМ УРОШ
+ЋУЛУМ ВАСА
+ЋУЛУМАН СТЕВАН
+ЋУЛУМОВИЋ СТЈЕПАН
+ЋУМУРОВИЋ СЛАВИЦА
+ЋУПИЋ ДУШАН
+ЋУПИНА БРАНКО
+ЋУПИНА МИЛАДИН
+ЋУПИНА НОВИЦА
+ЋУПИНА ТОМИСЛАВ ДР
+ЋУПУРДИЈА ЈЕЛЕНА
+ЋУПУРДИЈА МИЛАН
+ЋУПУРДИЈА МИЛОВАН
+ЋУПУРДИЈА САША
+ЋУПУРДИЈА СТЕВАН
+ЋУРЧИЋ ЧЕДОМИР
+ЋУРЧИЋ ЖИВАН
+ЋУРЧИЋ ЖИВАН
+ЋУРЧИЋ ЖИВКО
+ЋУРЧИЋ ЂОРЂЕ
+ЋУРЧИЋ АЛЕКСАНДАР
+ЋУРЧИЋ АНДРИЈА
+ЋУРЧИЋ БОШКО
+ЋУРЧИЋ БОГДАН
+ЋУРЧИЋ БОРИВОЈ
+ЋУРЧИЋ БРАНИСЛАВ
+ЋУРЧИЋ БРАНКО
+ЋУРЧИЋ БРАНКО
+ЋУРЧИЋ БРАНКО
+ЋУРЧИЋ ДАНИЛО
+ЋУРЧИЋ ДЕСПИНА
+ЋУРЧИЋ ДРАГАН
+ЋУРЧИЋ ДРАГАН
+ЋУРЧИЋ ДРАГАН
+ЋУРЧИЋ ДРАГОМИР
+ЋУРЧИЋ ДРАГОСЛАВ
+ЋУРЧИЋ ДУШАНКА
+ЋУРЧИЋ ДУШАН
+ЋУРЧИЋ ДУШАН
+ЋУРЧИЋ ДУШАН
+ЋУРЧИЋ ГЕОРГИЈЕ
+ЋУРЧИЋ ГОЈКО
+ЋУРЧИЋ ГОРДАНА
+ЋУРЧИЋ ИБОЈА
+ЋУРЧИЋ ИЛИЈА
+ЋУРЧИЋ ИЛИЈА
+ЋУРЧИЋ ЈАСМИНА
+ЋУРЧИЋ ЈЕЛЕНА
+ЋУРЧИЋ ЈОВАН НОВИНАР
+ЋУРЧИЋ ЈОВА
+ЋУРЧИЋ КАМЕНКО
+ЋУРЧИЋ-КАСАЛИЦА БОСА
+ЋУРЧИЋ КАТИЦА
+ЋУРЧИЋ ЛАЗАР
+ЋУРЧИЋ ЛАЗАР
+ЋУРЧИЋ ЉИЉАНА
+ЋУРЧИЋ ЉИЉАНА
+ЋУРЧИЋ ЉУБИША
+ЋУРЧИЋ ЉУБОМИР
+ЋУРЧИЋ МАРА
+ЋУРЧИЋ МАРА
+ЋУРЧИЋ МАРИЈА
+ЋУРЧИЋ МАРИЈА
+ЋУРЧИЋ МАРИЈА
+ЋУРЧИЋ МИХАЈЛО
+ЋУРЧИЋ МИЈО
+ЋУРЧИЋ МИЛАН
+ЋУРЧИЋ МИЛАН
+ЋУРЧИЋ МИЛАН
+ЋУРЧИЋ МИЛАН
+ЋУРЧИЋ МИЛАН
+ЋУРЧИЋ МИЛЕНА
+ЋУРЧИЋ МИЛЕВА
+ЋУРЧИЋ МИЛЕ
+ЋУРЧИЋ МИЛЕ
+ЋУРЧИЋ МИЛИЋ
+ЋУРЧИЋ МИЛИЦА
+ЋУРЧИЋ МИЛИВОЈ
+ЋУРЧИЋ МИЛОРАД
+ЋУРЧИЋ МИЛОРАД
+ЋУРЧИЋ МИОДРАГ
+ЋУРЧИЋ МИОДРАГ
+ЋУРЧИЋ МИРЈАНА
+ЋУРЧИЋ МИРЈАНА
+ЋУРЧИЋ МИРКО
+ЋУРЧИЋ МИРОСЛАВ
+ЋУРЧИЋ МИРОСЛАВ
+ЋУРЧИЋ МЛАДЕН
+ЋУРЧИЋ МОМЧИЛО
+ЋУРЧИЋ НАДА
+ЋУРЧИЋ НЕНАД
+ЋУРЧИЋ НИКОЛА
+ЋУРЧИЋ ОЛГА
+ЋУРЧИЋ ОЛГА
+ЋУРЧИЋ ПАВЛЕ
+ЋУРЧИЋ ПЕТАР
+ЋУРЧИЋ РАДЕ
+ЋУРЧИЋ РАДИВОЈ
+ЋУРЧИЋ РАДМИЛА
+ЋУРЧИЋ РАДМИЛА
+ЋУРЧИЋ РАДОСЛАВ
+ЋУРЧИЋ РАДОСЛАВ
+ЋУРЧИЋ РАДОСЛАВ
+ЋУРЧИЋ РАЈКО
+ЋУРЧИЋ РАЈКО
+ЋУРЧИЋ РАТКА
+ЋУРЧИЋ РАТОМИР
+ЋУРЧИЋ САВА
+ЋУРЧИЋ СЛАВИЦА
+ЋУРЧИЋ СЛАВКО
+ЋУРЧИЋ СЛОБОДАН
+ЋУРЧИЋ СЛОБОДАН
+ЋУРЧИЋ СЛОБОДАН
+ЋУРЧИЋ СТЕВАН
+ЋУРЧИЋ СТЕВО
+ЋУРЧИЋ УРОШ
+ЋУРЧИЋ ВАСИЛИЈЕ
+ЋУРЧИЋ ВЕРА
+ЋУРЧИЋ ВЕСЕЛИНКА
+ЋУРЧИЋ ВУКАШИН
+ЋУРЧИЋ ЗДРАВКО
+ЋУРЧИЋ ЗЛАТА
+ЋУРЧИЋ ЗОРАН
+ЋУРЧИЋ ЗОРАН
+ЋУРЧИЈА СИМА
+ЋУРЧИН ЖИВКО
+ЋУРЧИН ЖИВКО
+ЋУРЧИН ЂОРЂЕ
+ЋУРЧИН ЂУРА
+ЋУРЧИН АЛЕКСАНДАР
+ЋУРЧИН БОЖИДАР
+ЋУРЧИН БРАНКО
+ЋУРЧИН ДРАГОМИР
+ЋУРЧИН ДРАГОСЛАВ
+ЋУРЧИН ДРЕНКА
+ЋУРЧИН ДУШАН
+ЋУРЧИН ДУШАН
+ЋУРЧИН ЕМИЛИЈА
+ЋУРЧИН ЈЕЛЕНА
+ЋУРЧИН ЈЕЛИСАВЕТА
+ЋУРЧИН ЉУБИЦА
+ЋУРЧИН МАКСА
+ЋУРЧИН МИЛАН
+ЋУРЧИН МИЛЕНА
+ЋУРЧИН МИЛОРАД
+ЋУРЧИН МИЛОРАД
+ЋУРЧИН ОБРАД
+ЋУРЧИН ПЕТАР
+ЋУРЧИН РАДИВОЈ
+ЋУРЧИН РАДОСЛАВ
+ЋУРЧИН РУЖА
+ЋУРЧИН САРА
+ЋУРЧИН СВЕТОЗАР
+ЋУРЧИН ТОДОР
+ЋУРЧИН ВАСА
+ЋУРЧИН ВЕЛЕМИР
+ЋУРЧИН ВЕЛИМИР
+ЋУРЧИН ВЕРИЦА
+ЋУРЧИН ВУКИЦА
+ЋУРЧИН ЗОРА
+ЋУРЋИЈИЋ РАТОМИР
+ЋУРДИЋ ЈОВАН
+ЋУРДИЋ ВАСИЛИЈЕ
+ЋУРДИЋ ЗОРАН
+ЋУРГУЗ ИЛИЈА
+ЋУРГУЗ МИЛОРАД
+ЋУРГУЗ НАДА
+ЋУРГУЗ ВЕРИЦА
+ЋУРИЧИЋ ТАТЈАНА
+ЋУРИЋ ЂОРЂЕ
+ЋУРИЋ ЈОВАН
+ЋУРИЋ МИЛАН
+ЋУРИЋ МИЛОШ
+ЋУРИЋ МИЛОРАД
+ЋУРИЋ МИЛУТИН
+ЋУРИЋ ПЕЛАГИЈА
+ЋУРИЋ САВО
+ЋУРИЋ СИМО
+ЋУРИЋ СИНИША
+ЋУРИЋ СУЗАНА
+ЋУРИЋ ВЛАДИСЛАВ
+ЋУРКОВИЋ ШПИРО
+ЋУРКОВИЋ-ЂОРЂЕВИЋ МИОМИРА
+ЋУРКОВИЋ КАТИЦА
+ЋУРЛИБРК БОСИЉКА
+ЋУРУВИЈА БРАНКО
+ЋУРУВИЈА НИКОЛА
+ЋУРУВИЈА НИКОЛА
+ЋУРУВИЈА ВЛАДО
+ЋУТИЛО СТЕВО
+ЋУЗОВИЋ БРАНЕ
+ЋУЗОВИЋ ДРАГОЉУБ
+ЋУЗОВИЋ ДРАГОЉУБ
+ЋУЗОВИЋ ГОРАН
+ЋУЗОВИЋ МИРКО
+ЖАБАЉАЦ ВОЈИСЛАВ
+ЖАБИЋ ГОРАН
+ЖАБИЋ ЉУБОМИР
+ЖАБУЉАЦ ПАВЛЕ
+ЖАФРАН МАРТИН
+ЖАГАР ДРАГАН
+ЖАГАР ЕРНЕСТ
+ЖАГАР ИВАН
+ЖАГАР ЈОВАН
+ЖАГАР ЉИЉА
+ЖАГАР МАРИЈА
+ЖАГАР МАТИЈА
+ЖАГАР ПАВАО
+ЖАГАР РАДОСЛАВА
+ЖАЈА ТОМИСЛАВ
+ЖАЈАЧКО ЖЕЉКО
+ЖАК ДРАГУТИН
+ЖАКИЋ ЉУБИЦА
+ЖАКИЋ МАРИЈА
+ЖАКИЋ МИОДРАГ
+ЖАКИЋ МЛАДЕН
+ЖАКИЋ ВЕРА
+ЖАКИЋ ВЛАДИМИР
+ЖАКИЋ ВОЈИСЛАВ
+ЖАКУЛА АРАНКА
+ЖАКУЛА БОРИСЛАВ
+ЖАКУЛА МИЛАН
+ЖАКУЛА МИЛАН
+ЖАКУЛА МИОДРАГ
+ЖАКУЛА МИРА
+ЖАКУЛА РАДИВОЈ ДР ПРОФ
+ЖАКУЛА ЗОРА
+ЖАМБОКИ МАРИЈА
+ЖАМБОКИ ВЕРОНА
+ЖАРЧАНИН БРАНКО
+ЖАРЧАНИН ПРЕДРАГ
+ЖАРИН РАДОЈИЦА
+ЖАРИН СИНИША
+ЖАРИН-ТАБАК НАТАЛИЈА
+ЖАРИН ВЕСЕЛИН
+ЖАРКО ЛАДИСЛАВ
+ЖАРКО МИХАЈЛО
+ЖАРКОВ ДУШАН
+ЖАРКОВ КОСТА
+ЖАРКОВ ЉИЉАНА
+ЖАРКОВ ВЕСЕЛКА
+ЖАРКОВ ЗЛАТОЈЕ
+ЖАРКОВАЧКИ ИЛИЈА
+ЖАРКОВАЧКИ МИРКО
+ЖАРКОВИЋ ЖАРКО
+ЖАРКОВИЋ ДАНИЛО
+ЖАРКОВИЋ ДАНИЛО
+ЖАРКОВИЋ ДРАГОЈЕ ДР ПРОФ
+ЖАРКОВИЋ ГОЈКО
+ЖАРКОВИЋ ГОЈКО
+ЖАРКОВИЋ ЈОВАН
+ЖАРКОВИЋ ЈОВАН
+ЖАРКОВИЋ МИЛЕНА
+ЖАРКОВИЋ МИОДРАГ
+ЖАРКОВИЋ МИОДРАГ
+ЖАРКОВИЋ МИРКО
+ЖАРКОВИЋ НЕБОЈША
+ЖАРКОВИЋ НЕНАД
+ЖАРКОВИЋ НЕНАД
+ЖАРКОВИЋ НОВИЦА
+ЖАРКОВИЋ РИСТО
+ЖАРКОВИЋ РИСТО
+ЖАРКОВИЋ СЛАВКО
+ЖАРКОВИЋ ВЛАЈКО
+ЖАРКОВИЋ ЗДРАВКО
+ЖАРКОВИЋ ЗДРАВКО
+ЖАРКОВИЋ ЗОРА
+ЖДЕРИЋ ЈЕЛИЦА
+ЖДЕРИЋ МАРИЈА
+ЖДЕРИЋ МИЛАН
+ЖДЕРИЋ МИЛЕНКО
+ЖДЕРО ДРАГИЊА
+ЖДЕРО ДУШИЦА
+ЖДЕРО ГОЈКО
+ЖДЕРО МАРИНКО
+ЖДЕРО ПЕТАР
+ЖДЕРО ПЕТАР
+ЖДЕРО РАДОМИР
+ЖДРАЛЕ РАДОВАН
+ЖДРАЛИЋ ВАСО
+ЖДРЊА МИЛАН
+ЖДРЊА МИЛАН
+ЖДРЊА МИРКО
+ЖДРЊА НЕЂО
+ЖДРЊА НЕЂО
+ЖДРЊА СИМО
+ЖЕЖЕЉ БРАНКО
+ЖЕЖЕЉ МИЛАН
+ЖЕЖЕЉ МИЛАН
+ЖЕЖЕЉ САВА
+ЖЕЖЕЉ СВЕТИСЛАВ
+ЖЕБЕЉАН МИЛЕНА
+ЖЕБЕЉАН МИЛЕНКО
+ЖЕБЕЉАН МИЛОРАД
+ЖЕБЕЉАН МИТА
+ЖЕБЕЉАН НЕДЕЉКО
+ЖЕБЕРАН АНЂЕЛКА
+ЖЕГАРАЦ ЂОРЂЕ
+ЖЕГАРАЦ ДАНИЦА
+ЖЕГАРАЦ ДУШАН
+ЖЕГАРАЦ ЛАЗАР
+ЖЕГАРАЦ МИЛАН
+ЖЕГАРАЦ МИЛЕНКО
+ЖЕГАРАЦ МИРЈАНА
+ЖЕГАРАЦ СТЕВАН
+ЖЕГАРАЦ ВОЈИСЛАВ
+ЖЕКИЋ ЖИВКО
+ЖЕКИЋ БОШКО
+ЖЕКИЋ РАДИСЛАВ
+ЖЕКИЋ РУЖА
+ЖЕКИЋ ЗОРАН
+ЖЕЛЕМ СТЕВАН
+ЖЕЛЕР ЂУРЂЕВКА
+ЖЕЛЕЗЕН ЈОСИП
+ЖЕЛИ АНДРАШ
+ЖЕЛИ ИШТВАН
+ЖЕЛИ КАТАРИНА
+ЖЕЛИ СИЛВЕСТЕР
+ЖЕМБЕРИ ШАНДОР
+ЖЕМБЕРИ ЈОСИП
+ЖЕМБЕРИ РОБЕРТ
+ЖЕМБЕРИ РОБЕРТ
+ЖЕНЕР КАРЛО
+ЖЕНИЛО БОЖИДАР
+ЖЕРАЈИЋ ГАВРИЛО
+ЖЕРАВИЦА ДАМЈАН
+ЖЕРАВИЦА МИЛАДИН
+ЖЕРАВИЦА НАДА
+ЖЕРАВИЦА СТАНОЈЕ
+ЖЕРАВЉЕВ ИЛИЈА
+ЖЕРИЋ ИРМА
+ЖЕСТИЋ ШТЕФАНИЈА
+ЖИЖА НАДА
+ЖИЖАКИЋ САВА
+ЖИЖАКОВ ДРАГОЉУБ
+ЖИЖАКОВ КАТИЦА
+ЖИЖАКОВ МИЛОШ
+ЖИЖАКОВ ПАВЛЕ
+ЖИЖАКОВ ВЕЛИНКА
+ЖИЖАКОВ ВИТОМИР
+ЖИЖАКОВ ВЛАДА
+ЖИЖАКОВ ВЛАДИМИР
+ЖИЖИЋ ЧЕДОМИР
+ЖИЖИЋ АНЂЕЛИЈА
+ЖИЖИЋ БРАНИСЛАВ
+ЖИЖИЋ ДРАГАН
+ЖИЖИЋ МИЛОРАД
+ЖИЖИЋ ВЕСЕЛИН
+ЖИЖОВИЋ СЛОБОДАНКА
+ЖИБРЕГ АЛЕКСАНДАР
+ЖИБРЕГ ИВАНА
+ЖИДЕК ЈОСИП
+ЖИДИШИЋ ЗОРАН
+ЖИГА ЈЕЛЕНА
+ЖИГА КАРЛО
+ЖИГА МИРКО
+ЖИГА МУСТАФА
+ЖИГАЛАЦ ВЕРОНА
+ЖИГИЋ БОГДАН
+ЖИГИЋ БРАНКО
+ЖИГИЋ ДАНИЦА
+ЖИГИЋ ДИМИТРИЈЕ
+ЖИГИЋ ДУШАН
+ЖИГИЋ ЈУЛИЈА
+ЖИГИЋ ЉУБИША
+ЖИГИЋ МИЛАН
+ЖИГИЋ МИЛАН
+ЖИГИЋ МИЛАН
+ЖИГИЋ МИЛЕВА
+ЖИГИЋ МИЛКА
+ЖИГИЋ МИРКО
+ЖИГИЋ НЕДЕЉКО
+ЖИГИЋ НИКОЛА
+ЖИГИЋ ПЕТАР
+ЖИГИЋ ПЕТАР
+ЖИГИЋ ПЕТАР
+ЖИГИЋ РАДЕ
+ЖИГИЋ РАДОСЛАВ
+ЖИГИЋ САВКА
+ЖИГИЋ ВОЈИН
+ЖИГМОНД БЕЛА
+ЖИГМОНД БРАНКА
+ЖИГРАИ ЂОРЂЕ
+ЖИГРАИ ИШТВАН МР
+ЖИГРАИ ЈОВАН
+ЖИГРИ ЈОСИП
+ЖИГРИ ЉУБИЦА
+ЖИГРИ МИРКО
+ЖИГУРСКИ ПАВЛЕ
+ЖИХА МАРИЈА
+ЖИХЛАВСКИ ЈУЛКА
+ЖИЈИЋ ВУКОСАВА
+ЖИКИЋ ЂОРЂЕ
+ЖИКИЋ ЂОРЂЕ
+ЖИКИЋ ЂОРЂЕ
+ЖИКИЋ АЛЕКСАНДАР
+ЖИКИЋ ДИМИТРИЈЕ
+ЖИКИЋ ДОБРИЛА
+ЖИКИЋ ДРАГАН
+ЖИКИЋ ДУШАН
+ЖИКИЋ ЈОВАНКА
+ЖИКИЋ ЈОВАН
+ЖИКИЋ ЈОВАН
+ЖИКИЋ КАТИЦА
+ЖИКИЋ ЉУБИЦА
+ЖИКИЋ МАРИЦА
+ЖИКИЋ МАРИЈА
+ЖИКИЋ МИХАЈЛО
+ЖИКИЋ МИЛАН
+ЖИКИЋ МИЛОРАД ДР
+ЖИКИЋ НЕВЕНА
+ЖИКИЋ НИКОЛА
+ЖИКИЋ НИКОЛА
+ЖИКИЋ ОЛГА
+ЖИКИЋ ОЛИВЕРА
+ЖИКИЋ РАДИВОЈ
+ЖИКИЋ РАДОМИР
+ЖИКИЋ СЛОБОДАН
+ЖИКИЋ СОФИЈА
+ЖИКИЋ ТАМАРА
+ЖИКИЋ ТИХОМИР ДИПЛ ИНГ
+ЖИКИЋ ТОДОР
+ЖИКИЋ ВАСА
+ЖИКИЋ-ВАСИЋ ТАМАРА
+ЖИКИЋ ВЕЛИМИР
+ЖИКИЋ ВЕРА
+ЖИКИЋ ВЕРИЦА
+ЖИКИЋ ВИТОМИР
+ЖИКИЋ ВЛАДИМИР
+ЖИКОВИЋ НЕНАД
+ЖИЛЕВСКИ КРСТО
+ЖИЛИЋ МИЛЕНКО
+ЖИЛИЋ МИРОСЛАВ
+ЖИЛИЋ СТОЈАН
+ЖИЛНИК ЂУРА
+ЖИЛНИК ЂУРА
+ЖИЛНИК ПАВЛЕ ДИПЛ ИНГ
+ЖИЛНИК-ПЕТРОВИЋ ЖЕЛИМИР
+ЖИНИЋ МАРИНА
+ЖИРАВАЦ СТЕВАН
+ЖИРКА ПАВЕЛ
+ЖИРОШ МИРОН
+ЖИРОВНИК АНТОН
+ЖИВЧИЋ СВЕТЛАНА
+ЖИВАЉЕВИЋ ДРАГОМИР
+ЖИВАЉЕВИЋ ГОРАН
+ЖИВАЉЕВИЋ ОЛГА
+ЖИВАЉЕВИЋ СТАНА
+ЖИВАНЧЕВ ИЛИЈА
+ЖИВАНЧЕВ ЈОВАН
+ЖИВАНЧЕВ КАСА ДИПЛ ИНГ
+ЖИВАНЧЕВ МИКА
+ЖИВАНЧЕВ МИЛАН
+ЖИВАНЧЕВ МИЛАН
+ЖИВАНЧЕВ ПАЈА
+ЖИВАНЧЕВ РАДА
+ЖИВАНЧЕВ РАНКО
+ЖИВАНЧЕВ СТЕВАН
+ЖИВАНЧЕВ СТРАХИЊА
+ЖИВАНЧЕВИЋ ЛАЗАР
+ЖИВАНЧЕВИЋ МИЉКО
+ЖИВАНЧЕВИЋ МИЛОРАД ДР
+ЖИВАНЧЕВИЋ СЛОБОДАН
+ЖИВАНЧЕВИЋ ВЕЛИМИР
+ЖИВАНАЦ ДЕЈАН
+ЖИВАНАЦ ДЕЈАН
+ЖИВАНАЦ ЛАЗАР
+ЖИВАНАЦ ЗОРИЦА
+ЖИВАНИЋ ЂОКА
+ЖИВАНИЋ МИХАЈЛО
+ЖИВАНИЋ МИЛАН
+ЖИВАНИЋ МИЛОРАД
+ЖИВАНИЋ МИТАР
+ЖИВАНИЋ ПРЕДРАГ
+ЖИВАНИЋ ВЛАДИМИР
+ЖИВАНИЋ ЗОРАН
+ЖИВАНКИЋ ЕВИЦА
+ЖИВАНКОВ ИГЊАТ
+ЖИВАНОВ ЖАРКО
+ЖИВАНОВ ЖИВАН
+ЖИВАНОВ ЖИВКО
+ЖИВАНОВ АНЂЕЛИЈА
+ЖИВАНОВ БОГОЉУБ
+ЖИВАНОВ БРАНКО
+ЖИВАНОВ ДАНИЦА
+ЖИВАНОВ ДИМИТРИЈЕ
+ЖИВАНОВ ДОБРИЛА
+ЖИВАНОВ ДОБРИВОЈ
+ЖИВАНОВ ДРАГОЈЛА
+ЖИВАНОВ ДРАГОСЛАВ
+ЖИВАНОВ ДРАГОСЛАВ
+ЖИВАНОВ ДУШАН
+ЖИВАНОВ ГОРОСЛАВА
+ЖИВАНОВ ЈУСТИНА
+ЖИВАНОВ ЛАЗАР
+ЖИВАНОВ ЛАЗАР
+ЖИВАНОВ ЛЕПОСАВА
+ЖИВАНОВ ЉУБИЦА
+ЖИВАНОВ МАГДА
+ЖИВАНОВ МАКСИН
+ЖИВАНОВ МАРИЈА
+ЖИВАНОВ МАРИЈА
+ЖИВАНОВ МАРИЈА
+ЖИВАНОВ МАРИЈА
+ЖИВАНОВ МИЛАН
+ЖИВАНОВ МИЛЕТА
+ЖИВАНОВ МИЛИВОЈ
+ЖИВАНОВ МИЛОШ
+ЖИВАНОВ МИЛОШ
+ЖИВАНОВ МИЛОРАД
+ЖИВАНОВ МИОДРАГ
+ЖИВАНОВ МИОМИР
+ЖИВАНОВ МИТА
+ЖИВАНОВ МЛАДЕН
+ЖИВАНОВ МЛАДЕН
+ЖИВАНОВ МЛАДЕН
+ЖИВАНОВ МОМИР
+ЖИВАНОВ НАТАША
+ЖИВАНОВ НИКОЛА
+ЖИВАНОВ ПАВИЦА
+ЖИВАНОВ ПАВЛЕ
+ЖИВАНОВ ПАВЛЕ
+ЖИВАНОВ ПАВЛЕ
+ЖИВАНОВ ПАВЛЕ
+ЖИВАНОВ РАДИША
+ЖИВАНОВ РАЈКО
+ЖИВАНОВ САВА
+ЖИВАНОВ СЛАВКО
+ЖИВАНОВ СРЂАН
+ЖИВАНОВ СРБИСЛАВ
+ЖИВАНОВ СТАНИСЛАВ
+ЖИВАНОВ СВЕТОЗАР
+ЖИВАНОВ ТОДОР
+ЖИВАНОВ ТОМИСЛАВ
+ЖИВАНОВ ТУГОМИР
+ЖИВАНОВ ВЕЛИМИР
+ЖИВАНОВ ВЛАДИМИР
+ЖИВАНОВ ВЛАДИМИР
+ЖИВАНОВ ВОЈИСЛАВ
+ЖИВАНОВ ЗЛАТИНКА
+ЖИВАНОВИЋ ЖАРКО
+ЖИВАНОВИЋ ЖИКА
+ЖИВАНОВИЋ ЖИВАН
+ЖИВАНОВИЋ ЖИВОЈИН ДИПЛ ПРАВНИК
+ЖИВАНОВИЋ ЖИВОЈИН
+ЖИВАНОВИЋ ЂОРЂЕ
+ЖИВАНОВИЋ АЛЕКСАНДАР
+ЖИВАНОВИЋ АЛЕКСАНДАР
+ЖИВАНОВИЋ АЛЕКСИЈА
+ЖИВАНОВИЋ АНКИЦА
+ЖИВАНОВИЋ БОШКО
+ЖИВАНОВИЋ БОШКО
+ЖИВАНОВИЋ БОГДАН
+ЖИВАНОВИЋ БОРКА
+ЖИВАНОВИЋ БУДИМКА
+ЖИВАНОВИЋ ДРАГИША
+ЖИВАНОВИЋ ДРАГОЉУБ
+ЖИВАНОВИЋ ДРАГОСЛАВ
+ЖИВАНОВИЋ ЈАДРАНКА
+ЖИВАНОВИЋ ЈЕЛЕНА
+ЖИВАНОВИЋ ЈОВАН
+ЖИВАНОВИЋ ЈОВАН
+ЖИВАНОВИЋ ЛАЗАР
+ЖИВАНОВИЋ-ЛЕШ ДУШИЦА
+ЖИВАНОВИЋ ЉИЉАНА
+ЖИВАНОВИЋ МАРИЦА
+ЖИВАНОВИЋ МАРИЈА
+ЖИВАНОВИЋ МИЛАН
+ЖИВАНОВИЋ МИЛИСАВ
+ЖИВАНОВИЋ МИЛИВОЈ
+ЖИВАНОВИЋ МИЛОШ
+ЖИВАНОВИЋ МИЛОРАД
+ЖИВАНОВИЋ МИЛОВАН
+ЖИВАНОВИЋ МИОДРАГ ДР
+ЖИВАНОВИЋ МИОДРАГ
+ЖИВАНОВИЋ МИРЈАНА
+ЖИВАНОВИЋ МОМЧИЛО
+ЖИВАНОВИЋ НОВИЦА
+ЖИВАНОВИЋ ОБРАД
+ЖИВАНОВИЋ ПЕТАР
+ЖИВАНОВИЋ ПЕТАР
+ЖИВАНОВИЋ ПЕТАР
+ЖИВАНОВИЋ РАДА
+ЖИВАНОВИЋ РАДМИЛА
+ЖИВАНОВИЋ СЛАВКА
+ЖИВАНОВИЋ СЛАВКО
+ЖИВАНОВИЋ СТЕВАН
+ЖИВАНОВИЋ ТОМИСЛАВ
+ЖИВАНОВИЋ ВИДОЈЕ
+ЖИВАНОВИЋ ВЛАДИМИР
+ЖИВАНОВИЋ ВЛАДИСЛАВ
+ЖИВАНОВИЋ ВОЈИСЛАВ
+ЖИВАНОВИЋ ЗОРАН
+ЖИВАНОВИЋ ЗОРАН
+ЖИВАНОВИЋ ЗОРКА
+ЖИВИЋ ЂОРЂЕ
+ЖИВИЋ ЂОРЂЕ
+ЖИВИЋ БОЖИДАР
+ЖИВИЋ ГАВРА
+ЖИВИЋ ЈЕФТА
+ЖИВИЋ ЈЕЛИЦА
+ЖИВИЋ ЈОВАН
+ЖИВИЋ ЛАЗАР
+ЖИВИЋ ЉУБИЦА
+ЖИВИЋ РАДОЈИЦА
+ЖИВИЋ САВА
+ЖИВИЋ САВА
+ЖИВИЋ СМИЉА
+ЖИВИЋ СПАСОЈЕ
+ЖИВИЋ ВЕЛИБОР
+ЖИВИЋ ВИНКА ДР
+ЖИВИЋ ЗОРКА
+ЖИВИН НАДА
+ЖИВКАНОВИЋ ЈОВАН
+ЖИВКИЋ СТЕВАН
+ЖИВКОВ ЂОРЂЕ
+ЖИВКОВ АНЂЕЛКА
+ЖИВКОВ АНЂЕЛКА
+ЖИВКОВ БОРИСЛАВА
+ЖИВКОВ БРАНИСЛАВ
+ЖИВКОВ ДРАГИЊА
+ЖИВКОВ ДРАГОЉУБ
+ЖИВКОВ ДУШКО
+ЖИВКОВ ЕСТЕР
+ЖИВКОВ ГРАДИМИР
+ЖИВКОВ ИВАН
+ЖИВКОВ КОСТА
+ЖИВКОВ МАРКО
+ЖИВКОВ МЕЛАНИЈА
+ЖИВКОВ НЕНАД
+ЖИВКОВ ПАВЛЕ
+ЖИВКОВ РАДОЈКА
+ЖИВКОВ САВА
+ЖИВКОВ САВА
+ЖИВКОВ СЛАВКО
+ЖИВКОВ СЛАВКО
+ЖИВКОВ ВАСА
+ЖИВКОВИЋ ЧАСЛАВ
+ЖИВКОВИЋ ЖАКЛИНА
+ЖИВКОВИЋ ЖИВКА
+ЖИВКОВИЋ ЖИВОЈИН
+ЖИВКОВИЋ ЂОКА
+ЖИВКОВИЋ ЂОРЂЕ
+ЖИВКОВИЋ ЂОРЂЕ
+ЖИВКОВИЋ АЈКА
+ЖИВКОВИЋ АЛЕКСАНДАР
+ЖИВКОВИЋ АЛЕКСАНДАР
+ЖИВКОВИЋ АЛЕКСАНДАР
+ЖИВКОВИЋ АЛЕКСАНДАР
+ЖИВКОВИЋ АЛЕКСАНДАР
+ЖИВКОВИЋ АЛЕКСАНДАР
+ЖИВКОВИЋ АЛЕКСАНДАР
+ЖИВКОВИЋ АЛОЈЗИЈА
+ЖИВКОВИЋ АНЂЕЛКА
+ЖИВКОВИЋ БЛАШКО
+ЖИВКОВИЋ БОГДАН
+ЖИВКОВИЋ БОГДАН
+ЖИВКОВИЋ БОГОЉУБ
+ЖИВКОВИЋ БОГОМИР
+ЖИВКОВИЋ БОГОМИР
+ЖИВКОВИЋ БОРИСЛАВ
+ЖИВКОВИЋ БОРИСЛАВ
+ЖИВКОВИЋ БОРО
+ЖИВКОВИЋ БРАНИСЛАВ
+ЖИВКОВИЋ БРАНИСЛАВ
+ЖИВКОВИЋ БРАНИСЛАВ
+ЖИВКОВИЋ БРАНКА ДР
+ЖИВКОВИЋ БРАНКО
+ЖИВКОВИЋ ДАНИЛО
+ЖИВКОВИЋ ДЕЈАН
+ЖИВКОВИЋ ДИМИТРИЈЕ
+ЖИВКОВИЋ ДИМИТРИЈЕ
+ЖИВКОВИЋ ДОБРОСАВ
+ЖИВКОВИЋ ДРАГАНА
+ЖИВКОВИЋ ДРАГАНА
+ЖИВКОВИЋ ДРАГАН
+ЖИВКОВИЋ ДРАГАН
+ЖИВКОВИЋ ДРАГАН
+ЖИВКОВИЋ ДРАГАН
+ЖИВКОВИЋ ДРАГИША ДР
+ЖИВКОВИЋ ДРАГИША
+ЖИВКОВИЋ ДРАГИЋ
+ЖИВКОВИЋ ДРАГОЉУБ
+ЖИВКОВИЋ ДУШАНКА
+ЖИВКОВИЋ ДУШАН
+ЖИВКОВИЋ ДУШАН
+ЖИВКОВИЋ ДУШАН
+ЖИВКОВИЋ ДУШИЦА
+ЖИВКОВИЋ ГАБРИЈЕЛА
+ЖИВКОВИЋ ГАБРИЈЕЛА
+ЖИВКОВИЋ ГОРАН
+ЖИВКОВИЋ ГОРДАНА
+ЖИВКОВИЋ ИЛИЈА
+ЖИВКОВИЋ ИЛИЈА
+ЖИВКОВИЋ ИЛОНКА
+ЖИВКОВИЋ ИВАНКА
+ЖИВКОВИЋ ИВИЦА
+ЖИВКОВИЋ ЈАСМИНА
+ЖИВКОВИЋ ЈЕЛИЦА
+ЖИВКОВИЋ ЈЕЛИЦА
+ЖИВКОВИЋ ЈОВАН
+ЖИВКОВИЋ ЈОВАН
+ЖИВКОВИЋ ЈОВИЦА
+ЖИВКОВИЋ ЈУЛКА
+ЖИВКОВИЋ ЈУЛКА
+ЖИВКОВИЋ ЈУЛКИЦА
+ЖИВКОВИЋ КОСТА
+ЖИВКОВИЋ КРЕШО
+ЖИВКОВИЋ ЛАЗАР
+ЖИВКОВИЋ ЛАЗАР
+ЖИВКОВИЋ ЛЕПОСАВА
+ЖИВКОВИЋ ЉИЉАНА
+ЖИВКОВИЋ ЉУБИЦА
+ЖИВКОВИЋ ЉУБИНКА
+ЖИВКОВИЋ ЉУБОМИР
+ЖИВКОВИЋ ЉУБОМИР
+ЖИВКОВИЋ МАРИЈА
+ЖИВКОВИЋ МИХАЈЛО
+ЖИВКОВИЋ МИЛАНКА
+ЖИВКОВИЋ МИЛАН
+ЖИВКОВИЋ МИЛИЦА
+ЖИВКОВИЋ МИЛИВОЈ
+ЖИВКОВИЋ МИЛКА
+ЖИВКОВИЋ МИЛКА
+ЖИВКОВИЋ МИЛОШ
+ЖИВКОВИЋ МИЛОШ
+ЖИВКОВИЋ МИЛОМИР
+ЖИВКОВИЋ МИЛОРАД
+ЖИВКОВИЋ МИЛОРАД
+ЖИВКОВИЋ МИЛУТИН
+ЖИВКОВИЋ МИОДРАГ
+ЖИВКОВИЋ МИРЧЕТА
+ЖИВКОВИЋ МИРЈАНА
+ЖИВКОВИЋ МИРКО
+ЖИВКОВИЋ МИРОСЛАВ
+ЖИВКОВИЋ МИРОСЛАВ
+ЖИВКОВИЋ МОМЧИЛО
+ЖИВКОВИЋ НЕБОЈША
+ЖИВКОВИЋ НЕБОЈША
+ЖИВКОВИЋ НЕДЕЉКО
+ЖИВКОВИЋ НИКОЛА
+ЖИВКОВИЋ ОБРАД
+ЖИВКОВИЋ ПАВЛЕ
+ЖИВКОВИЋ ПЕТАР
+ЖИВКОВИЋ ПЕТАР
+ЖИВКОВИЋ ПЕТАР
+ЖИВКОВИЋ ПЕТАР
+ЖИВКОВИЋ РАДЕНКО
+ЖИВКОВИЋ РАДЕ
+ЖИВКОВИЋ РАДИВОЈ
+ЖИВКОВИЋ РАДМИЛА
+ЖИВКОВИЋ РАДМИЛО
+ЖИВКОВИЋ РАДОМИР
+ЖИВКОВИЋ РАДОСЛАВА
+ЖИВКОВИЋ РАДОСЛАВ
+ЖИВКОВИЋ РАДОСЛАВ
+ЖИВКОВИЋ РАДОСЛАВ
+ЖИВКОВИЋ РОСА
+ЖИВКОВИЋ РУЖИЦА
+ЖИВКОВИЋ САША
+ЖИВКОВИЋ САВА
+ЖИВКОВИЋ САВА
+ЖИВКОВИЋ САВА
+ЖИВКОВИЋ САВА
+ЖИВКОВИЋ СИНИША
+ЖИВКОВИЋ СЛАВКО
+ЖИВКОВИЋ СЛАВКО
+ЖИВКОВИЋ СЛАВКО
+ЖИВКОВИЋ СЛОБОДАН ДР
+ЖИВКОВИЋ СЛОБОДАН
+ЖИВКОВИЋ СМИЉКА
+ЖИВКОВИЋ СНЕЖАНА
+ЖИВКОВИЋ СРЕТЕН
+ЖИВКОВИЋ СТАМЕНКО
+ЖИВКОВИЋ СТЕПАН
+ЖИВКОВИЋ СТЕВАН
+ЖИВКОВИЋ СТОЈАНКА
+ЖИВКОВИЋ СТОЈАН
+ЖИВКОВИЋ СТОЈАН
+ЖИВКОВИЋ СВЕТИСЛАВ
+ЖИВКОВИЋ СВЕТЛАНА
+ЖИВКОВИЋ СВЕТОЗАР
+ЖИВКОВИЋ ТАНАСИЈЕ
+ЖИВКОВИЋ ТИНКА
+ЖИВКОВИЋ ТОША
+ЖИВКОВИЋ ТОМИСЛАВ
+ЖИВКОВИЋ ТОМИСЛАВ
+ЖИВКОВИЋ ВЕКОСЛАВ
+ЖИВКОВИЋ ВЕРА
+ЖИВКОВИЋ ВЕРА
+ЖИВКОВИЋ ВИДОЈКО
+ЖИВКОВИЋ ВЛАДАН
+ЖИВКОВИЋ ВЛАДИМИР
+ЖИВКОВИЋ ВЛАСТИМИР
+ЖИВКОВИЋ ВОЈИН
+ЖИВКОВИЋ ВОЈИСЛАВ
+ЖИВКОВИЋ ЗДЕНКА
+ЖИВКОВИЋ ЗДЕНКО
+ЖИВКОВИЋ ЗДРАВКО
+ЖИВКОВИЋ ЗЛАТОМИР
+ЖИВКОВИЋ ЗОРАН
+ЖИВКОВИЋ ЗОРАН
+ЖИВКОВИЋ ЗОРАН
+ЖИВКОВИЋ ЗОРАН
+ЖИВКОВИЋ ЗОРАН
+ЖИВКОВЉЕВИЋ ВИДОСАВА
+ЖИВКУЦИН МИРОСЛАВА
+ЖИВКУЦИН СЛОБОДАН
+ЖИВНИ АНА
+ЖИВНИ ФРАЊА
+ЖИВОЈИНОВ БОРИВОЈ
+ЖИВОЈИНОВ ЉУБИЦА
+ЖИВОЈИНОВ МИЛОВАН
+ЖИВОЈИНОВ РАДИВОЈ
+ЖИВОЈИНОВИЋ РОЗАЛИЈА
+ЖИВОЈИНОВИЋ ВЛАДИМИР
+ЖИВОЈНОВ БРАНИСЛАВ
+ЖИВОЈНОВ МИРОСЛАВ
+ЖИВОЈНОВИЋ ЖИВОЈИН
+ЖИВОЈНОВИЋ САЊА
+ЖИВОЈНОВИЋ СРЂАН ДР ЛЕКАР
+ЖИВОЈНОВИЋ ЗОРКА
+ЖИВОТИЋ АНГЕЛИНА
+ЖИВОТИЋ ДУШАН
+ЖИВОТИЋ СТАНИСЛАВ
+ЖИВОТИЋ СТЕВАН
+ЖИВОТИЋ ВЕЛИМИР
+ЖИВОТИН МАРИЦА
+ЖИВОТИН МИТАР
+ЖМУКИЋ БРАНКО
+ЖМУКИЋ ГОРДАНА
+ЖМУКИЋ НИКОЛА
+ЖНИДАРШИЋ ИГНАЦ
+ЖНИДАРЕЦ ИВАН
+ЖНИДАРЕЦ ИВАН
+ЖОЛЦЕР ФЕРЕНЦ
+ЖОЛЦЕР ВИЛМОШ
+ЖОЉОМ КЛАРА
+ЖОЉОМ МИРЈАНА
+ЖОРЖ АЛЕКСАНДАР
+ЖОРИЋ ФИЛИП
+ЖУЖА МИРКО
+ЖУБОРИ МИЛЕНА
+ЖУГИЋ ДРАГОЉУБ
+ЖУГИЋ КРСТО
+ЖУГИЋ МАРИЈА
+ЖУГИЋ МИЛИЈА
+ЖУГИЋ МИЛИСАВ
+ЖУГИЋ МИЛОРАД
+ЖУГИЋ МИРКО
+ЖУГИЋ РАДОЈКА
+ЖУГИЋ РАТКО
+ЖУГИЋ-РИЈАВЕЦ СИЛВИЈА
+ЖУГИЋ СТАНИША
+ЖУГИЋ СТАНКО
+ЖУЈИЋ МОМИР
+ЖУЈИЋ СЛАВКО
+ЖУЈО МАРЈАН
+ЖУМБЕРКОВИЋ ЂОРЂЕ МР
+ЖУНАЦ ЈУЛКА
+ЖУНАЦ ТОМИСЛАВ
+ЖУНГУЛ СМИЉА
+ЖУНИЋ БОШКО
+ЖУНИЋ ДАРКО
+ЖУНИЋ ЈОВИША
+ЖУНИЋ МИЛАН
+ЖУНИЋ МИЛЕНКО
+ЖУНИЋ МИЛИЈАН
+ЖУНИЋ МОМЧИЛО
+ЖУНИЋ НЕНАД
+ЖУНИЋ-ПОПОВ СНЕЖАНА
+ЖУНИЋ РАДА
+ЖУНИЋ СИМА
+ЖУНИЋ СОЊА
+ЖУНИЋ ВЕЛИМИР
+ЖУЊИЋ ДРАГОМИР
+ЖУНТЕР АНТУН ДИПЛ ИНГ
+ЖУНТЕР БОЖАНА
+ЖУПАН ЕДУАРД
+ЖУПАН МИРКО
+ЖУПАНЧИЋ МАРГАРЕТА
+ЖУПАНЕЦ АЛБЕРТ ДР
+ЖУПАНЕЦ КСЕНИЈА
+ЖУПАНЕЦ МИРА
+ЖУПАНЕЦ МИРА
+ЖУПАРИЋ ВИКТОР
+ЖУПИЋ АНТЕ
+ЖУПИЋ ДАНЕ
+ЖУПИЋ ДРАГИЦА
+ЖУПИЋ МИЈО
+ЖУПУНСКИ ЖАРКО
+ЖУПУНСКИ ЖИВОРАД
+ЖУПУНСКИ ГОЈКО
+ЖУПУНСКИ ГРОЗДАНА
+ЖУПУНСКИ ГРУЈИЦА
+ЖУПУНСКИ ХЕЛЕНА
+ЖУПУНСКИ ИВАН
+ЖУПУНСКИ МАРИНКО
+ЖУПУНСКИ СТЕВАН
+ЖУПУНСКИ ВЕСЕЛИНКА
+ЖУРЖЕВИЋ ЦВЕТКО
+ЖУРЖИНОВИЋ КОСТА
+ЖУРЖОВАН ЛИА
+ЖУРЖОВАН НЕЛУ
+ЖУРЖОВАН ТРАНДАФИР
+ЖУРЖУЛ БОШКО
+ЖУРЖУЛ СТАНОЈЕ
+ЖУРИЋ МИХАИЛО
+ЖУРИЋ ВАСО
+ЖУРКА АУРОРА
+ЖУТИЋ МИЛКА
+ЖУТИЋ ПЕТАР
+ЖУТИЋ СТЕВО
+ЂАЧАНИН РАДОВАН
+ЂАЧИЋ ВЛАДИМИР
+ЂАИЋ МИРОСЛАВ
+ЂАЈИЋ ЖАРКО
+ЂАЈИЋ ЖЕЉКО
+ЂАЈИЋ АЛЕКСАНДРА
+ЂАЈИЋ БОГДАН
+ЂАЈИЋ ЈЕЛЕНКО
+ЂАЈИЋ-ЈОВАНОВИЋ РАЈКА
+ЂАЈИЋ МИЛОРАД
+ЂАЈИЋ НАДА
+ЂАЈИЋ НЕВЕНА
+ЂАЈИЋ НИКОЛА
+ЂАЈИЋ ВЕЉКО
+ЂАЈИЋ ВЛАДИСЛАВА
+ЂАКОНОВ МИЛКА
+ЂАКОНОВ СТЕВАН
+ЂАКОНОВИЋ МИЛОВАН
+ЂАКОНОВИЋ СЛАВИЦА
+ЂАКОНОВИЋ СТЕВАН
+ЂАКОВ ЉИЉАНА
+ЂАКОВ МИХАЈЛО
+ЂАКОВ МИЛАН
+ЂАКОВИЋ ЖИВКА
+ЂАКОВИЋ ЂОРЂЕ ДР
+ЂАКОВИЋ ЂОРЂЕ
+ЂАКОВИЋ ЂОРЂЕ
+ЂАКОВИЋ ЂУРА
+ЂАКОВИЋ ЂУРО
+ЂАКОВИЋ ЂУРО
+ЂАКОВИЋ АНКА
+ЂАКОВИЋ ДАРА
+ЂАКОВИЋ ДРАГАН
+ЂАКОВИЋ ДРАГАН
+ЂАКОВИЋ ДРАГОЉУБ ДР
+ЂАКОВИЋ ДРАГОЉУБ
+ЂАКОВИЋ ДУШАН
+ЂАКОВИЋ ИЛЕ
+ЂАКОВИЋ ИЛИЈА
+ЂАКОВИЋ ЈОКА
+ЂАКОВИЋ ЈОВАНКА
+ЂАКОВИЋ ЈОВАН
+ЂАКОВИЋ ЈОВИЦА
+ЂАКОВИЋ ЈОВО
+ЂАКОВИЋ ЉУБОМИР ДР ИНГ
+ЂАКОВИЋ ЉУБОМИР
+ЂАКОВИЋ МАРИЈА
+ЂАКОВИЋ МИЛАН
+ЂАКОВИЋ МИЛАН
+ЂАКОВИЋ МИЛАН
+ЂАКОВИЋ МИЛКА
+ЂАКОВИЋ МИРЈАНА
+ЂАКОВИЋ МИРЈАНА
+ЂАКОВИЋ НЕЂО
+ЂАКОВИЋ НЕДЕЉКО
+ЂАКОВИЋ НИКОЛА
+ЂАКОВИЋ ОСТОЈА
+ЂАКОВИЋ ПЕРСИДА
+ЂАКОВИЋ ПЕТАР
+ЂАКОВИЋ ПРЕДРАГ
+ЂАКОВИЋ ПРЕДРАГ
+ЂАКОВИЋ РАДОМИР
+ЂАКОВИЋ РАДОСАВ
+ЂАКОВИЋ РАНКО
+ЂАКОВИЋ САВА
+ЂАКОВИЋ СЛАВИЦА
+ЂАКОВИЋ СЛАВОЉУБ
+ЂАКОВИЋ СЛОБОДАН
+ЂАКОВИЋ СТЕВАН
+ЂАКОВИЋ СТЕВАН
+ЂАКОВИЋ СТОЈАН
+ЂАКОВИЋ ТАТЈАНА
+ЂАКОВИЋ ВАСО
+ЂАКОВИЋ ВЛАДИМИР
+ЂАКОВИЋ ВОЈО
+ЂАКОВИЋ ВУКОСАВА
+ЂАКОВИЋ ЗОРАН
+ЂАЛАИ ЛАЈОШ
+ЂАЛИНАЦ ГОРДАНА
+ЂАЛИНАЦ РАДИВОЈ
+ЂАЛО МИРКО
+ЂАЛОВИЋ РАДОСЛАВ
+ЂАЛУШ СТЕВАН
+ЂАН ЈОВАН
+ЂАНИШ ЛАЗАР
+ЂАНИШ ОЛИВЕРА
+ЂАНИЋ МАТО
+ЂАНКОВИЋ МИЛОШ
+ЂАНТАР АНЂЕЛИЈА
+ЂАНТАР ЈОЖЕФ
+ЂАПА АЛЕКСАНДАР
+ЂАПА ДУШАН
+ЂАПА МАРКО
+ЂАПА ПЕТАР
+ЂАПИЋ ДАВИД
+ЂАПИЋ КРСТА
+ЂАПИЋ МИЛЕСА
+ЂАПИЋ МИЛЕСА
+ЂАПИЋ-МИЛИЋ ТАТЈАНА ЛЕКАР
+ЂАПИЋ ПАВЛЕ
+ЂАРМАТИ ФРАЊА
+ЂАРМАТИ ГИЗЕЛА
+ЂАРМАТИ ИЛОНА
+ЂАРМАТИ ЈУЛИО
+ЂАРМАТИ ЛАСЛО
+ЂАРМАТИ МИХАЈЛО
+ЂАРМАТИ СНЕЖАНА
+ЂАТКОВ РАДА
+ЂЕБНАР ОБРАД
+ЂЕКЕР РОЗАЛИЈА
+ЂЕКИЋ ЖИВОЈИН
+ЂЕКИЋ КАТИЦА
+ЂЕКИЋ МИЛАН
+ЂЕКИЋ МИЛЕНА
+ЂЕКИЋ МИЛОМИР
+ЂЕКИЋ НАДА
+ЂЕКИЋ НЕДЕЉКО
+ЂЕКИЋ ПАВЛЕ
+ЂЕКИЋ РАДЕ
+ЂЕКИЋ РАДМИЛА
+ЂЕКИЋ СТАНА
+ЂЕКИЋ СТОЈАНКА
+ЂЕЛИЋ УРОШ
+ЂЕМБЕР ИШТВАН
+ЂЕМРОВСКИ ТОМАШ
+ЂЕМРОВСКИ ВЛАТКО
+ЂЕМРОВСКИ ЗДЕНКО
+ЂЕНАДИЋ ДРАГИША
+ЂЕНАДИЈА ПЕТАР
+ЂЕНДИЋ ЈОВАН ДИПЛ ИНГ
+ЂЕНДИЋ ЛАЗАР
+ЂЕНЕШ ПЕТАР
+ЂЕНГЕ АНДРАШ
+ЂЕНГЕ АНДРИЈА
+ЂЕНГЕ ПЕТЕР
+ЂЕНИЋ ЈЕЛЕНА
+ЂЕНИЋ СЛОБОДАН
+ЂЕНИЋ СЛОБОДАН
+ЂЕНИЋ ЗОРИЦА
+ЂЕНИСИЋ СТАНИМИР
+ЂЕРЂ ЂУРА
+ЂЕРЂ АНТУН
+ЂЕРЂ ИГОР
+ЂЕРЂ ЈОСИП
+ЂЕРЂ КАТАРИНА
+ЂЕРЂ ЉУБИЦА
+ЂЕРЂ ПЕТАР
+ЂЕРЂ ВИЛМОШ
+ЂЕРЕ КОРНЕЛ
+ЂЕРЕ ЗОЛТАН
+ЂЕРФИ АЛЕКСАНДАР
+ЂЕРИ ШАНДОР
+ЂЕРИ ЕНДРЕ
+ЂЕРИ ЕРЖЕБЕТ
+ЂЕРИ ГЕЗА
+ЂЕРИ КАРОЉ
+ЂЕРИ ЛАДИСЛАВ
+ЂЕРИ ЛАСЛО
+ЂЕРИ САБОЛЧ
+ЂЕРИ САЛОМЕ
+ЂЕРИЋ ЖИВАН
+ЂЕРИЋ ЂОРЂЕ
+ЂЕРИЋ ЂУРА
+ЂЕРИЋ БРАНКО
+ЂЕРИЋ ДАНИЦА
+ЂЕРИЋ ДЕСАНКА
+ЂЕРИЋ ДИМИТРИЈЕ
+ЂЕРИЋ ДОБРИНКО
+ЂЕРИЋ ДРАГАН
+ЂЕРИЋ ФЕЛИКС
+ЂЕРИЋ ЈАРОСЛАВ
+ЂЕРИЋ ЈОВАН
+ЂЕРИЋ ЈОВАН
+ЂЕРИЋ ЈУЛКА
+ЂЕРИЋ МИЦА
+ЂЕРИЋ МИХАЈЛО
+ЂЕРИЋ МИЛАН
+ЂЕРИЋ МИЛЕНКО
+ЂЕРИЋ МИЛЕ
+ЂЕРИЋ МИЛИВОЈЕ
+ЂЕРИЋ МИЛОШ
+ЂЕРИЋ МИОДРАГ
+ЂЕРИЋ МИРЈАНА
+ЂЕРИЋ НАДА
+ЂЕРИЋ ОЛГА
+ЂЕРИЋ ОЛИВЕРА
+ЂЕРИЋ ПЕТАР
+ЂЕРИЋ РАДЕ
+ЂЕРИЋ РАДИВОЈ
+ЂЕРИЋ РАДОМИР
+ЂЕРИЋ РАДОСЛАВ
+ЂЕРИЋ РАДОВАН
+ЂЕРИЋ СЛАВКО
+ЂЕРИЋ СТАНИСЛАВ
+ЂЕРИЋ ВЕЉКО
+ЂЕРИЋ ВОЈИН
+ЂЕРКИ ВЕРА
+ЂЕРКОВИЋ МИРЧЕТА
+ЂЕРКОВИЋ РАДОЈКА
+ЂЕРКОВИЋ ВЛАДЕТА
+ЂЕРМАН ЖИВКО
+ЂЕРМАН НЕДЕЉКО
+ЂЕРМАНОВ ИВАН
+ЂЕРМАНОВ ЉУБОМИР
+ЂЕРМАНОВ МИЛАН
+ЂЕРМАНОВ МИЛЕНА
+ЂЕРМАНОВ НАДЕЖДА
+ЂЕРМАНОВ ОЛГА
+ЂЕРМАНОВ ПЕТАР
+ЂЕРМАНОВ ТОДОР
+ЂЕРМАНОВ ВЛАДА
+ЂЕРМАНОВИЋ ЈЕЛИЦА
+ЂЕРМАНОВИЋ МАРИЈА
+ЂЕРМАНОВИЋ МИЛОДАНКА
+ЂЕРМАНОВИЋ СЛАВКО
+ЂЕРМАНОВИЋ СТАНКО
+ЂЕРМАТИ ИРЕНА
+ЂЕТКА ЈАНО
+ЂЕТКА МИХАЛ
+ЂЕТКА МИХАЛ
+ЂЕТКА МИРКО
+ЂЕТВАИ АНДРАШ ДИПЛ ИНГ
+ЂЕТВАИ АНДРАШ
+ЂЕТВАИ АНИЦА
+ЂЕТВАИ ФЕРЕНЦ
+ЂЕТВАИ ИМРЕ
+ЂЕТВАИ ЛАЈОШ
+ЂЕВЕКИ ЈОВАН
+ЂИДИЋ МАРИЈА
+ЂИДИЋ МАРИНКО
+ЂИКИЋ СТОЈАН
+ЂИКИЋ ВИКТОРИЈА
+ЂИЛАС БОРО
+ЂИЛАС ДРАГАН
+ЂИЛАС ДУШАН
+ЂИЛАС ГРОЗДАНА
+ЂИЛАС МАРИНКО
+ЂИЛАС МИЛОРАД
+ЂИЛАС МИЛОРАД
+ЂИЛАС МИЛОРАД
+ЂИЛАС НИКОЛА
+ЂИЛАС СТЕВАН
+ЂИЛВЕСИ ШАНДОР
+ЂИЛВЕСИ КАРЛО
+ЂИН ЂУРА
+ЂИН ЈУЛИЈАНА
+ЂИНЂИЋ МИЛОЈКО
+ЂИНИЋ ИВИЦА
+ЂИНИЋ НИКОЛА
+ЂИНИЋ СЛАВКА
+ЂИНИЋ СОФИЈА
+ЂИНИЋ ВЛАДЕТА
+ЂИНИЋ ЗОРАН
+ЂИЊА АНДРЕЈ
+ЂИНОВИЋ ЦВЕТКО
+ЂИНОВИЋ ИВКО
+ЂИНОВИЋ КОЛЕ
+ЂИПАЛО ЂУРО
+ЂИПАЛО ГОЈКО
+ЂИПАЛО МИЛАН
+ЂИПАЛО МИРКО
+ЂИПАЛО МИРОСЛАВ
+ЂИПАЛО РАДЕ
+ЂИПАНОВ ИДА
+ЂИПАНОВ НИКОЛА
+ЂИПАНОВ РЕЉА
+ЂИПАНОВ СВЕТОЗАР
+ЂИРИШИ ИШТВАН
+ЂИРЛИЋ СТЕВАН
+ЂИСАЛОВ БРАНИСЛАВ
+ЂИСАЛОВ ЈЕЛЕНА
+ЂИСАЛОВ ЈЕЛЕНА
+ЂИСАЛОВ ЛАЗАР
+ЂИСАЛОВ ЉУБИНКА
+ЂИСАЛОВ МИЛАН
+ЂИСАЛОВ МИЛАН
+ЂИСАЛОВ МИЛИВОЈ
+ЂИСАЛОВ МИЛИВОЈ
+ЂИСАЛОВ МИОДРАГ
+ЂИСАЛОВ МИОДРАГ
+ЂИСАЛОВ НАДА
+ЂИСАЛОВ СОЊА
+ЂИСАЛОВИЋ КАТИЦА
+ЂИТКОВ ЈОВАН
+ЂИТКОВ СОФИЈА
+ЂЈАК ЖИВКО
+ЂОЂИЋ МИЛОРАД
+ЂОГО МИЛОВАН
+ЂОГО МИРЈАНА
+ЂОГО РУЖИЦА
+ЂОГО ЗОРАН
+ЂОГОВИЋ МИЛОРАД
+ЂОГОВИЋ РАДИВОЈКА
+ЂОКИЋ АЛЕКСАНДАР
+ЂОКИЋ БОШКО
+ЂОКИЋ БОРИВОЈЕ
+ЂОКИЋ БРАТИСЛАВ
+ЂОКИЋ ЦВЕТКО
+ЂОКИЋ ДАРИНКА
+ЂОКИЋ ДРАГАН
+ЂОКИЋ ДРАГИША
+ЂОКИЋ ДРАГОЉУБ
+ЂОКИЋ ДРАГО
+ЂОКИЋ ГОРАН
+ЂОКИЋ ИВАН
+ЂОКИЋ ЈЕЛИСАВА
+ЂОКИЋ ЈОРДАН
+ЂОКИЋ ЉУБИНКО
+ЂОКИЋ ЉУБО
+ЂОКИЋ ЛУКА
+ЂОКИЋ МАРИНКО
+ЂОКИЋ МАТИЛДА
+ЂОКИЋ МИХАЈЛО
+ЂОКИЋ МИЛАН
+ЂОКИЋ МИЛАН
+ЂОКИЋ МИЛИСАВ
+ЂОКИЋ МИЛИВОЈЕ
+ЂОКИЋ МИЛОВАН
+ЂОКИЋ МИЛУТИН
+ЂОКИЋ ПАНТЕЛИЈА
+ЂОКИЋ ПЕТАР
+ЂОКИЋ РАДИСАВ
+ЂОКИЋ РАДОВАН
+ЂОКИЋ РАТКО
+ЂОКИЋ РУЖА
+ЂОКИЋ СЛОБОДАНКА
+ЂОКИЋ СЛОБОДАН
+ЂОКИЋ СОФИЈА
+ЂОКИЋ СТАНИША
+ЂОКИЋ СВЕТИСЛАВ
+ЂОКИЋ ВЕРА
+ЂОКИЋ ВЛАДИСЛАВ
+ЂОКИЋ ВОЈИСЛАВ
+ЂОКИЋ ВУЈАДИН
+ЂОКИЋ ВУКАДИН
+ЂОКИЋ ЗОРАН
+ЂОКОВИЋ ДРАГОМИР
+ЂОКОВИЋ МАРКО
+ЂОКОВИЋ МИЛАН
+ЂОКОВИЋ МИЛОВАН
+ЂОКОВИЋ ПЕТАР
+ЂОКОВИЋ РАДОМИР
+ЂОКОВИЋ РАДОВАН
+ЂОКОВИЋ СТОЈАН
+ЂОКВУЧИЋ НАДА
+ЂОЛАИ ИМРЕ
+ЂОЛАИ МАТИЛДА
+ЂОЉЕВИЋ ЂОКА
+ЂОЛОВИЋ ЧЕДОМИР
+ЂОМПАРИЋ ДУШАН
+ЂОМПАРИЋ ИЛИЈА
+ЂОМПАРИЋ МЕЛАНИЈА
+ЂОМПАРИЋ НИКОЛА
+ЂОМПАРИЋ НИКОЛА
+ЂОМПАРИЋ НИКОЛА
+ЂОМПАРИЋ ВЛАДИСЛАВА
+ЂОНОВИЋ ЂОРЂИЈЕ
+ЂОНОВИЋ КАРОЛИНА
+ЂОНОВИЋ ЗАРИЈА
+ЂОРЂЕВИЋ ЧЕДОМИР
+ЂОРЂЕВИЋ ЖИВКО
+ЂОРЂЕВИЋ ЖИВОЈИН
+ЂОРЂЕВИЋ ЖИВОЈИН
+ЂОРЂЕВИЋ ЖИВОЈИН
+ЂОРЂЕВИЋ ЖИВОРАД
+ЂОРЂЕВИЋ ЖИВОРАД
+ЂОРЂЕВИЋ ЖИВОТА
+ЂОРЂЕВИЋ ЂОКА
+ЂОРЂЕВИЋ ЂОРЂЕ
+ЂОРЂЕВИЋ ЂОРЂЕ
+ЂОРЂЕВИЋ ЂУРА
+ЂОРЂЕВИЋ АЦА
+ЂОРЂЕВИЋ АЛЕКСАНДАР
+ЂОРЂЕВИЋ АЛЕКСАНДАР
+ЂОРЂЕВИЋ АЛЕКСАНДАР
+ЂОРЂЕВИЋ АЛЕКСАНДАР
+ЂОРЂЕВИЋ АЛЕКСАНДАР
+ЂОРЂЕВИЋ АЛЕКСАНДАР
+ЂОРЂЕВИЋ АЛЕКСАНДАР
+ЂОРЂЕВИЋ АЛЕКСАНДАР
+ЂОРЂЕВИЋ АЛЕКСАНДАР
+ЂОРЂЕВИЋ АЛЕКСАНДРА
+ЂОРЂЕВИЋ БОГДАН
+ЂОРЂЕВИЋ БОРА
+ЂОРЂЕВИЋ БОРИСАВ
+ЂОРЂЕВИЋ БОРИВОЈЕ
+ЂОРЂЕВИЋ БРАНИМИР
+ЂОРЂЕВИЋ БРАНИСЛАВ
+ЂОРЂЕВИЋ БРАНИСЛАВ
+ЂОРЂЕВИЋ БРАНИСЛАВ
+ЂОРЂЕВИЋ БРАНИСЛАВ
+ЂОРЂЕВИЋ БРАНИСЛАВ
+ЂОРЂЕВИЋ БРАНИСЛАВ
+ЂОРЂЕВИЋ БРАНКО
+ЂОРЂЕВИЋ БУДИМИР
+ЂОРЂЕВИЋ БУДИМИР
+ЂОРЂЕВИЋ ДАРКО
+ЂОРЂЕВИЋ ДЕСАНКА
+ЂОРЂЕВИЋ ДЕСПОТ
+ЂОРЂЕВИЋ ДИМИТРИЈЕ
+ЂОРЂЕВИЋ ДОБРИВОЈЕ
+ЂОРЂЕВИЋ ДРАЖА
+ЂОРЂЕВИЋ ДРАГАНА
+ЂОРЂЕВИЋ ДРАГАН
+ЂОРЂЕВИЋ ДРАГАН
+ЂОРЂЕВИЋ ДРАГАН
+ЂОРЂЕВИЋ ДРАГАН
+ЂОРЂЕВИЋ ДРАГАН
+ЂОРЂЕВИЋ ДРАГА
+ЂОРЂЕВИЋ ДРАГИША
+ЂОРЂЕВИЋ ДРАГИША
+ЂОРЂЕВИЋ ДРАГИША
+ЂОРЂЕВИЋ ДРАГОЉУБ ДР
+ЂОРЂЕВИЋ ДРАГОЉУБ
+ЂОРЂЕВИЋ ДРАГОЉУБ
+ЂОРЂЕВИЋ ДРАГОЉУБ
+ЂОРЂЕВИЋ ДРАГОЉУБ
+ЂОРЂЕВИЋ ДРАГОСЛАВ
+ЂОРЂЕВИЋ ДРАГУТИН
+ЂОРЂЕВИЋ ДУШАНКА
+ЂОРЂЕВИЋ ДУШАН
+ЂОРЂЕВИЋ ДУШАН
+ЂОРЂЕВИЋ ДУШАН
+ЂОРЂЕВИЋ ДУШАН
+ЂОРЂЕВИЋ ЕРНЕСТ
+ЂОРЂЕВИЋ ЕВИЦА
+ЂОРЂЕВИЋ ФАТИМА
+ЂОРЂЕВИЋ ГИЗЕЛА
+ЂОРЂЕВИЋ ГОРА
+ЂОРЂЕВИЋ ГОРДАНА
+ЂОРЂЕВИЋ ГРАДИМИР
+ЂОРЂЕВИЋ ГРАДИМИР
+ЂОРЂЕВИЋ ХРАНИСЛАВ
+ЂОРЂЕВИЋ ИЛИНКА
+ЂОРЂЕВИЋ ИЛОНА
+ЂОРЂЕВИЋ ИВАНА
+ЂОРЂЕВИЋ ИВАН
+ЂОРЂЕВИЋ ЈАГОДА
+ЂОРЂЕВИЋ ЈЕЛЕНА
+ЂОРЂЕВИЋ ЈЕЛЕНА
+ЂОРЂЕВИЋ ЈЕЛЕНА
+ЂОРЂЕВИЋ ЈОВАН
+ЂОРЂЕВИЋ ЈОВАН
+ЂОРЂЕВИЋ ЈОВАН
+ЂОРЂЕВИЋ ЈОВАН
+ЂОРЂЕВИЋ ЈОВАН
+ЂОРЂЕВИЋ ЈОВИЦА
+ЂОРЂЕВИЋ ЈУЛКИЦА
+ЂОРЂЕВИЋ ЈУЛКИЦА
+ЂОРЂЕВИЋ КАТАРИНА
+ЂОРЂЕВИЋ КОНСТАНДИНА
+ЂОРЂЕВИЋ КОСТА
+ЂОРЂЕВИЋ ЛАЗАР
+ЂОРЂЕВИЋ ЛАЗАР
+ЂОРЂЕВИЋ ЉИЉАНА
+ЂОРЂЕВИЋ ЉУБА ДИПЛ ИНГ
+ЂОРЂЕВИЋ ЉУБИША
+ЂОРЂЕВИЋ ЉУБИША
+ЂОРЂЕВИЋ ЉУБИЦА
+ЂОРЂЕВИЋ ЉУБИЦА
+ЂОРЂЕВИЋ ЉУБИЦА
+ЂОРЂЕВИЋ ЉУБИНКА
+ЂОРЂЕВИЋ ЉУБИСАВ
+ЂОРЂЕВИЋ ЉУБОМИР
+ЂОРЂЕВИЋ ЉУБОМИР
+ЂОРЂЕВИЋ МАРИЈА
+ЂОРЂЕВИЋ МАРИЈА
+ЂОРЂЕВИЋ МИЛАНКА
+ЂОРЂЕВИЋ МИЛАНКА
+ЂОРЂЕВИЋ МИЛАН
+ЂОРЂЕВИЋ МИЛАН
+ЂОРЂЕВИЋ МИЛЕНА
+ЂОРЂЕВИЋ МИЛЕНКО
+ЂОРЂЕВИЋ МИЛЕНКО
+ЂОРЂЕВИЋ МИЛИЈА
+ЂОРЂЕВИЋ МИЛОШ ДР
+ЂОРЂЕВИЋ МИЛОШ
+ЂОРЂЕВИЋ МИЛОРАД
+ЂОРЂЕВИЋ МИЛОРАД
+ЂОРЂЕВИЋ МИЛОСАВ
+ЂОРЂЕВИЋ МИЛОВАН
+ЂОРЂЕВИЋ МИЛОВАН
+ЂОРЂЕВИЋ МИЛУТИН
+ЂОРЂЕВИЋ МИОДРАГ
+ЂОРЂЕВИЋ МИОДРАГ
+ЂОРЂЕВИЋ МИОДРАГ
+ЂОРЂЕВИЋ МИРЈАНА
+ЂОРЂЕВИЋ МИРЈАНА
+ЂОРЂЕВИЋ МИРКО
+ЂОРЂЕВИЋ МИРКО
+ЂОРЂЕВИЋ МИРОСЛАВ
+ЂОРЂЕВИЋ МИРОСЛАВ
+ЂОРЂЕВИЋ МИРОСЛАВ
+ЂОРЂЕВИЋ МЛАДЕН
+ЂОРЂЕВИЋ НАДА
+ЂОРЂЕВИЋ НАДА
+ЂОРЂЕВИЋ НЕДЕЉКО ДР
+ЂОРЂЕВИЋ НЕВЕНКА
+ЂОРЂЕВИЋ НИКОЛА
+ЂОРЂЕВИЋ ПАЈА
+ЂОРЂЕВИЋ ПАНТА
+ЂОРЂЕВИЋ ПАВЛЕ
+ЂОРЂЕВИЋ ПАВЛЕ
+ЂОРЂЕВИЋ ПАВЛЕ
+ЂОРЂЕВИЋ ПЕТАР
+ЂОРЂЕВИЋ РАДОМИР
+ЂОРЂЕВИЋ РАДОМИР
+ЂОРЂЕВИЋ РАДОСЛАВ
+ЂОРЂЕВИЋ РАДОСЛАВ
+ЂОРЂЕВИЋ РАДОСЛАВ
+ЂОРЂЕВИЋ РАЈКА
+ЂОРЂЕВИЋ РАНЂЕЛ
+ЂОРЂЕВИЋ САША
+ЂОРЂЕВИЋ САВА
+ЂОРЂЕВИЋ СИНИША
+ЂОРЂЕВИЋ СЛАЂАНА
+ЂОРЂЕВИЋ СЛАВКО
+ЂОРЂЕВИЋ СЛАВКО
+ЂОРЂЕВИЋ СЛАВКО
+ЂОРЂЕВИЋ СЛОБОДАН
+ЂОРЂЕВИЋ СЛОБОДАН
+ЂОРЂЕВИЋ СЛОБОДАН
+ЂОРЂЕВИЋ СЛОБОДАН
+ЂОРЂЕВИЋ СНЕЖАНА
+ЂОРЂЕВИЋ СОФИЈА
+ЂОРЂЕВИЋ СОФИЈА
+ЂОРЂЕВИЋ СРЂАН
+ЂОРЂЕВИЋ СРЂАН
+ЂОРЂЕВИЋ СРЕТЕН
+ЂОРЂЕВИЋ СТАНА
+ЂОРЂЕВИЋ СТАНИСЛАВ
+ЂОРЂЕВИЋ СТАНКА
+ЂОРЂЕВИЋ СТЕВАНА
+ЂОРЂЕВИЋ СТЕВАН
+ЂОРЂЕВИЋ СТЕВАН
+ЂОРЂЕВИЋ СВЕТИСЛАВ
+ЂОРЂЕВИЋ СВЕТИСЛАВ
+ЂОРЂЕВИЋ СВЕТОЗАР
+ЂОРЂЕВИЋ ТИОСАВ
+ЂОРЂЕВИЋ ТОМИСЛАВ
+ЂОРЂЕВИЋ ТОМИСЛАВ
+ЂОРЂЕВИЋ ВЕЛИСАВ
+ЂОРЂЕВИЋ ВЕЛИЗАР
+ЂОРЂЕВИЋ ВЕРА
+ЂОРЂЕВИЋ ВЕРА
+ЂОРЂЕВИЋ ВИДОСАВА
+ЂОРЂЕВИЋ ВЛАДИМИР
+ЂОРЂЕВИЋ ВЛАЈКО
+ЂОРЂЕВИЋ ВЛАСТИМИР
+ЂОРЂЕВИЋ ВЛАСТИМИР
+ЂОРЂЕВИЋ ВОЈИН
+ЂОРЂЕВИЋ ВУЧКО
+ЂОРЂЕВИЋ ЗОРАН
+ЂОРЂЕВИЋ ЗОРАН
+ЂОРЂЕВИЋ ЗОРАН
+ЂОРЂЕВИЋ ЗОРАН
+ЂОРЂИЋ БРАНКО
+ЂОРЂИЋ МАРКО
+ЂОРЂИЋ МИЛАН
+ЂОРЂИЈЕВСКИ ДРАГАН
+ЂОРЂИЈЕВСКИ ДУШАН
+ЂОРЂИЈЕВСКИ ЗОРАН
+ЂОРЂИН ФЕМКА
+ЂОРЂИН РАДЕ
+ЂОРЂИН САВА
+ЂОРЂИОСКИ КИРО
+ЂОРЕВСКИ ГОРАН
+ЂОРГИЕВА ЈЕЛИЦА
+ЂОРИЋ АНТОНИЈЕ
+ЂОРИЋ ГОРДАНА
+ЂОРИЋ ЉУБИСАВ
+ЂОРИЋ МИЛИВОЈЕ
+ЂОРИЋ МИОДРАГ
+ЂОРИЋ ВЕРИЦА
+ЂОРОЈЕВИЋ ВУКОТА
+ЂОТЕВА ТРАЈАНКА
+ЂОТУНОВИЋ АНЂЕЛИЈА
+ЂОЗИЋ ШУКРИЈА
+ЂУЂАР МЕЛАНИЈА
+ЂУЂАР ВЛАДА
+ЂУЂАР ВЛАДИМИР
+ЂУЂАР ЗВОНИМИР
+ЂУЂИЋ ДРАГАН
+ЂУДУРОВИЋ ДУШАН
+ЂУГА ПАВЕЛ
+ЂУКАНОВ БОРИВОЈ
+ЂУКАНОВ ЕМИЛИЈАН
+ЂУКАНОВ МИЛАН
+ЂУКАНОВ НАДА
+ЂУКАНОВ СЛОБОДАН
+ЂУКАНОВИЋ АЛЕКСАНДАР
+ЂУКАНОВИЋ БРАНКО
+ЂУКАНОВИЋ ИВО
+ЂУКАНОВИЋ ЉУБИЦА
+ЂУКАНОВИЋ МАРА
+ЂУКАНОВИЋ МИЛАН
+ЂУКАНОВИЋ МИРОЉУБ
+ЂУКАНОВИЋ НАДА
+ЂУКАНОВИЋ НАДА
+ЂУКАНОВИЋ ПУНИША
+ЂУКАНОВИЋ СРЕТЕН
+ЂУКАНОВИЋ СТАКА
+ЂУКАНОВИЋ ВЛАДИМИР
+ЂУКАНОВИЋ ЗОРА
+ЂУКИЧИН ЈОВАНКА
+ЂУКИЧИН МАРИЈА
+ЂУКИЧИН СРЕДОЈЕ
+ЂУКИЧИН СРЕДОЈЕ
+ЂУКИЋ-ШАБИЋ ГОРДАНА
+ЂУКИЋ ЖАРКА
+ЂУКИЋ ЖАРКО
+ЂУКИЋ ЖЕЉКО
+ЂУКИЋ ЖИВОТА
+ЂУКИЋ ЂОРЂЕ
+ЂУКИЋ ЂОРЂЕ
+ЂУКИЋ ЂОРЂЕ
+ЂУКИЋ ЂОРЂЕ
+ЂУКИЋ ЂУР0
+ЂУКИЋ ЂУРА
+ЂУКИЋ ЂУРО
+ЂУКИЋ АГНИЦА
+ЂУКИЋ АЛЕКСАНДАР ДИПЛ ИНГ
+ЂУКИЋ АНА
+ЂУКИЋ АНА
+ЂУКИЋ АНДРИЈА
+ЂУКИЋ АНИЦА
+ЂУКИЋ БИЉАНА
+ЂУКИЋ БОРИСЛАВ
+ЂУКИЋ БРАНИСЛАВ
+ЂУКИЋ БРАНИСЛАВ
+ЂУКИЋ БРАНКО
+ЂУКИЋ ДАНИЦА ДР
+ЂУКИЋ ДАНИЛО
+ЂУКИЋ ДИЈАНА
+ЂУКИЋ ДИМИТРИЈЕ
+ЂУКИЋ ДОБРИЛА
+ЂУКИЋ ДОБРИВОЈ
+ЂУКИЋ ДРАГАН
+ЂУКИЋ ДРАГАН
+ЂУКИЋ ДРАГОЈЛО
+ЂУКИЋ ДРАГОМИР
+ЂУКИЋ ДУШАН
+ЂУКИЋ ДУШАН
+ЂУКИЋ ДУШАН
+ЂУКИЋ ДУШАН
+ЂУКИЋ ДУШАН
+ЂУКИЋ ГЕНА
+ЂУКИЋ ГЕНО
+ЂУКИЋ ГИЗЕЛА
+ЂУКИЋ ГОРДАНА
+ЂУКИЋ ИЛИЈА
+ЂУКИЋ ИЛИЈА
+ЂУКИЋ ИВАН ДИПЛ ИНГ
+ЂУКИЋ ИВАНКА
+ЂУКИЋ ЈАША
+ЂУКИЋ ЈЕЛЕНА
+ЂУКИЋ ЈОВАН
+ЂУКИЋ ЈОВИЦА
+ЂУКИЋ ЈУЛКА
+ЂУКИЋ ЛЕО
+ЂУКИЋ ЉИЉАНА
+ЂУКИЋ ЉУБИЦА
+ЂУКИЋ ЉУБОМИР
+ЂУКИЋ ЉУБОМИР
+ЂУКИЋ МАКСИМ
+ЂУКИЋ МАРА
+ЂУКИЋ МАРИЈА
+ЂУКИЋ МАРИНА
+ЂУКИЋ МИЈОДРАГ
+ЂУКИЋ МИЛАНКА
+ЂУКИЋ МИЛАН
+ЂУКИЋ МИЛАН
+ЂУКИЋ МИЛАН
+ЂУКИЋ МИЛАН
+ЂУКИЋ МИЛАН
+ЂУКИЋ МИЛАН
+ЂУКИЋ МИЛАН
+ЂУКИЋ МИЛЕНКО
+ЂУКИЋ МИЛЕВА
+ЂУКИЋ МИЛЕ
+ЂУКИЋ МИЛЕ
+ЂУКИЋ МИЛИЦА
+ЂУКИЋ МИЛИЦА
+ЂУКИЋ МИЉКО
+ЂУКИЋ МИЛКА
+ЂУКИЋ МИЛОШ
+ЂУКИЋ МИЛОШ
+ЂУКИЋ МИЛОРАД
+ЂУКИЋ МИЛОВАН
+ЂУКИЋ МИРКО
+ЂУКИЋ МИРКО
+ЂУКИЋ МИРКО
+ЂУКИЋ МИРКО
+ЂУКИЋ МИРКО
+ЂУКИЋ НЕЂО
+ЂУКИЋ НЕДЕЉКО
+ЂУКИЋ НИКОЛА
+ЂУКИЋ НИКОЛА
+ЂУКИЋ НОВАК
+ЂУКИЋ НОВАК
+ЂУКИЋ НОВАК
+ЂУКИЋ ОСТОЈА
+ЂУКИЋ ПАНЕ
+ЂУКИЋ ПАВЛЕ
+ЂУКИЋ ПЕРИША
+ЂУКИЋ ПЕТАР
+ЂУКИЋ ПЕТАР
+ЂУКИЋ РАДЕ
+ЂУКИЋ РАДИВОЈ
+ЂУКИЋ РАДОЈИЦА
+ЂУКИЋ РАДОВАН
+ЂУКИЋ РАЈКО
+ЂУКИЋ РОСА
+ЂУКИЋ РУЖИЦА ЛОКАЛ
+ЂУКИЋ САВА
+ЂУКИЋ САВКА
+ЂУКИЋ САВО ДР
+ЂУКИЋ СЛАВИЦА
+ЂУКИЋ СЛАВКО
+ЂУКИЋ СЛАВОЉУБ
+ЂУКИЋ СЛОБОДАН
+ЂУКИЋ СРЂАН
+ЂУКИЋ СРБОЉУБ
+ЂУКИЋ СТАНА
+ЂУКИЋ СТАНКО
+ЂУКИЋ СТАНКО
+ЂУКИЋ СТЕВАН
+ЂУКИЋ СТОЈАНКА
+ЂУКИЋ СТОЈАН
+ЂУКИЋ СВЕТЛАНА
+ЂУКИЋ СВЕТЛАНА
+ЂУКИЋ ТОМИСЛАВ
+ЂУКИЋ ТОМИСЛАВ
+ЂУКИЋ ВАЛЕРИЈА
+ЂУКИЋ ВЕЛЕМИР
+ЂУКИЋ ВЕРИЦА
+ЂУКИЋ ВЕРОНИКА
+ЂУКИЋ ВИДАК
+ЂУКИЋ ВИДА
+ЂУКИЋ ВЛАДИМИР
+ЂУКИЋ ВЛАДИМИР
+ЂУКИЋ ВЛАДИМИР
+ЂУКИЋ ВЛАЈКО
+ЂУКИЋ ВОЈИН
+ЂУКИЋ ВОЈИСЛАВ
+ЂУКИЋ ВУКАН
+ЂУКИЋ ЗОРАН
+ЂУКИН ДУШАН
+ЂУКИН СТЕВАН
+ЂУКНИЋ СРЕТЕН
+ЂУЛА КАРЛО
+ЂУЛИНАЦ ЈЕЛИЦА
+ЂУЛИНАЦ ВЕСЕЛИН
+ЂУЛИЗИБАРИЋ-ОРЕШКОВИЋ ДАНИЦА
+ЂУЛВЕЗАН КОСА
+ЂУЛВЕЗАН МИЛОШ
+ЂУЛВЕЗАН РОЗАЛИЈА
+ЂУМИЋ БОГДАН
+ЂУМИЋ ДУШАН
+ЂУМИЋ ГОСПАВА
+ЂУМИЋ ИЛИЈА
+ЂУМИЋ МАРИЈА
+ЂУМИЋ МИЛЕНКО
+ЂУМИЋ СЛАВКО
+ЂУМИЋ СТАНКО
+ЂУМИЋ УРОШ
+ЂУНДИЋ МАРИНКО
+ЂУРЧЕК МИЛЕНКО
+ЂУРЧЕВИЋ КСЕНИЈА
+ЂУРЧИАНСКИ МИРОСЛАВ
+ЂУРЧИАНСКИ ПАВЛЕ
+ЂУРЧИК ЈОСИП
+ЂУРЧЈАНСКИ МИРОСЛАВ
+ЂУРЧОК МИЛИНА
+ЂУРЂЕВ ЖАРКО
+ЂУРЂЕВ ЂОРЂЕ
+ЂУРЂЕВ АЛЕКСАНДАР
+ЂУРЂЕВ АЛЕКСАНДАР
+ЂУРЂЕВ БОЖИДАР
+ЂУРЂЕВ БРАНИСЛАВ
+ЂУРЂЕВ ДИМИТРИЈЕ
+ЂУРЂЕВ ДОБРИЛА
+ЂУРЂЕВ ДРАГОЉУБ
+ЂУРЂЕВ ДУШАН
+ЂУРЂЕВ ДУШАН
+ЂУРЂЕВ КАЋА
+ЂУРЂЕВ КАТА
+ЂУРЂЕВ ЉУБИША
+ЂУРЂЕВ МАРИЈА
+ЂУРЂЕВ МАРИЈА
+ЂУРЂЕВ МИЛЕТА
+ЂУРЂЕВ МЛАДЕН
+ЂУРЂЕВ НАДЕЖДА
+ЂУРЂЕВ НЕВЕНКА
+ЂУРЂЕВ НОВАК
+ЂУРЂЕВ ОБРАД
+ЂУРЂЕВ ПАВА
+ЂУРЂЕВ ПРВОСЛАВ
+ЂУРЂЕВ САВИЦА
+ЂУРЂЕВ СЛАВКО
+ЂУРЂЕВ СТЕВАН
+ЂУРЂЕВ ТОДОР
+ЂУРЂЕВ ВАСА
+ЂУРЂЕВ ВЕРА
+ЂУРЂЕВ ЗОРКА
+ЂУРЂЕВАЦ ДРАГОЉУБ
+ЂУРЂЕВИЋ ЖЕЉКО
+ЂУРЂЕВИЋ ЖИВАН
+ЂУРЂЕВИЋ ЖИВКО
+ЂУРЂЕВИЋ ЖИВКО
+ЂУРЂЕВИЋ ЂОРЂЕ
+ЂУРЂЕВИЋ ЂУРЂИЦА ДИПЛ ИНГ
+ЂУРЂЕВИЋ АНЂЕЛКО
+ЂУРЂЕВИЋ БОГДАН
+ЂУРЂЕВИЋ БРАНКО
+ЂУРЂЕВИЋ БРАНКО
+ЂУРЂЕВИЋ БУДИМИР
+ЂУРЂЕВИЋ ДРАГУТИН
+ЂУРЂЕВИЋ ДУШАН
+ЂУРЂЕВИЋ ДУШАН
+ЂУРЂЕВИЋ ДУШИЦА
+ЂУРЂЕВИЋ ГОРДАНА
+ЂУРЂЕВИЋ ЈАКОВ
+ЂУРЂЕВИЋ ЈЕЛЕНА
+ЂУРЂЕВИЋ ЈЕЛЕНА
+ЂУРЂЕВИЋ ЈЕЛИЦА
+ЂУРЂЕВИЋ ЈОВАНКА
+ЂУРЂЕВИЋ ЈОВАН
+ЂУРЂЕВИЋ ЈУЛКА
+ЂУРЂЕВИЋ ЛАЗАР
+ЂУРЂЕВИЋ ЛАЗО
+ЂУРЂЕВИЋ ЉУБОМИР
+ЂУРЂЕВИЋ МАНОЈЛО
+ЂУРЂЕВИЋ МАРИЈА
+ЂУРЂЕВИЋ МИЛАН
+ЂУРЂЕВИЋ МИЛАН
+ЂУРЂЕВИЋ МИЛАН
+ЂУРЂЕВИЋ МИЛЕНКО
+ЂУРЂЕВИЋ МИЛИЦА
+ЂУРЂЕВИЋ МИЛИВОЈ
+ЂУРЂЕВИЋ МИЛОРАД
+ЂУРЂЕВИЋ МИЛОРАД
+ЂУРЂЕВИЋ МИРЈАНА
+ЂУРЂЕВИЋ МИРЈАНА
+ЂУРЂЕВИЋ МОМЧИЛО
+ЂУРЂЕВИЋ НЕДЕЉКО
+ЂУРЂЕВИЋ НИКОЛА
+ЂУРЂЕВИЋ РАДИНКА
+ЂУРЂЕВИЋ РАНКО
+ЂУРЂЕВИЋ САВА
+ЂУРЂЕВИЋ САВА
+ЂУРЂЕВИЋ СЛОБОДАН
+ЂУРЂЕВИЋ СРЂАН ДР
+ЂУРЂЕВИЋ СТАНКО
+ЂУРЂЕВИЋ СТАНОЈКА
+ЂУРЂЕВИЋ СТЕВАН
+ЂУРЂЕВИЋ СВЕТОЗАР
+ЂУРЂЕВИЋ ТОДОР
+ЂУРЂЕВИЋ ТОМИСЛАВ
+ЂУРЂЕВИЋ ТОМИСЛАВ
+ЂУРЂЕВИЋ ВЕСЕЛИН
+ЂУРЂЕВИЋ ВИД
+ЂУРЂЕВИЋ ВЛАДА
+ЂУРЂЕВИЋ ВЛАДА
+ЂУРЂЕВИЋ ВЛАДИМИР
+ЂУРЂЕВИЋ ВЛАДИМИР
+ЂУРЂЕВИЋ ВЛАДИСЛАВ
+ЂУРЂЕВИЋ ЗОРАН
+ЂУРЂЕВИЋ ЗОРАН
+ЂУРЂЕВСКИ БОШКО
+ЂУРЂИЋ БОЖИДАР
+ЂУРЂИЋ МИЛОШ
+ЂУРЂИЋ МОМЧИЛО
+ЂУРЂИЋ САВО
+ЂУРЂИЋ СТАНА
+ЂУРЂИН СТЕВАН
+ЂУРЂУЛОВ ДЕЈАН
+ЂУРЂУЛОВ ЕВИЦА
+ЂУРА ФРАЊА
+ЂУРА ЈЕЛИСАВЕТА
+ЂУРА ЈУЛИЈАНА МР
+ЂУРАЧИЋ ДРАГАН
+ЂУРАШ МИОДРАГ
+ЂУРАШЕВИЋ ЂОРЂЕ
+ЂУРАШЕВИЋ ЂУРО
+ЂУРАШЕВИЋ ГОЈКО
+ЂУРАШЕВИЋ ИВО
+ЂУРАШЕВИЋ МАРИЈАНА
+ЂУРАШЕВИЋ МИЛЕ
+ЂУРАШЕВИЋ РАДОМИР
+ЂУРАШЕВИЋ ТИБОР
+ЂУРАШЕВИЋ ЗОРАН
+ЂУРАШИНОВ ВЕЛИМИР
+ЂУРАШИНОВИЋ ИЛИЈА
+ЂУРАШКОВИЋ ЖИВОЈИН
+ЂУРАШКОВИЋ БОЖО
+ЂУРАШКОВИЋ ДРАГАН
+ЂУРАШКОВИЋ ДРАГО
+ЂУРАШКОВИЋ ГОРДАНА
+ЂУРАШКОВИЋ ЈОВАН
+ЂУРАШКОВИЋ ЈОВАН
+ЂУРАШКОВИЋ ЈОВИЦА
+ЂУРАШКОВИЋ РАЈКО
+ЂУРАШКОВИЋ СТАНОЈЕ
+ЂУРАГИЋ ЂОРЂЕ
+ЂУРАГИЋ ДИЛЕ
+ЂУРАГИЋ ДРАГАН
+ЂУРАГИЋ ГИГА
+ЂУРАГИЋ ЈОВАН
+ЂУРАГИЋ ЈУЛКА
+ЂУРАГИЋ ЛАЗАР
+ЂУРАГИЋ МИРОСЛАВ
+ЂУРАГИЋ САВА
+ЂУРАГИЋ СТЕВАН
+ЂУРАГИН ЈОВАН
+ЂУРАГИН СТАНКА
+ЂУРАК ЈОЖЕФ
+ЂУРАК ЈОСИФ
+ЂУРАКОВАЦ ФАТМИРА
+ЂУРАН БОЈАНА
+ЂУРАН ИЛИЈА
+ЂУРАН ЈЕЛЕНА
+ЂУРАН ЈОВО
+ЂУРАН МИЛАН
+ЂУРАН МИЛАН
+ЂУРАН РАЈКО
+ЂУРАН РАЈКО
+ЂУРАН СЛАВКО
+ЂУРАН СНЕЖАНА
+ЂУРАН ЗДРАВКО
+ЂУРАНОВИЋ ДУШАН
+ЂУРАНОВИЋ ИЛОНА
+ЂУРАНОВИЋ МИХАИЛО
+ЂУРАНОВИЋ МИЛАН
+ЂУРАНОВИЋ МИОДРАГ
+ЂУРАНОВИЋ МИРКО
+ЂУРАНОВИЋ НАДА
+ЂУРАНОВИЋ СЛАЂАНА
+ЂУРАСИНОВИЋ МИЛЕ
+ЂУРДКОВ ЕВА
+ЂУРЕКОВИЋ КАРЛО
+ЂУРЕКОВИЋ ЉУБИЦА
+ЂУРЕКОВИЋ ЗВОНИМИР
+ЂУРЕНДИЋ ЂОРЂЕ
+ЂУРЕНДИЋ ДУШАН
+ЂУРЕТИЋ НИКОЛА
+ЂУРИЧИЋ ДРАГИЊА
+ЂУРИЧИЋ ДРАГО
+ЂУРИЧИЋ ДРАГУТИН
+ЂУРИЧИЋ ДУШАН
+ЂУРИЧИЋ ЈОВАН
+ЂУРИЧИЋ МИЉОЈКО
+ЂУРИЧИЋ МИЛОШ
+ЂУРИЧИЋ НЕШКО
+ЂУРИЧИЋ НИКОЛА
+ЂУРИЧИЋ ПАВЛЕ
+ЂУРИЧИЋ РУЖА
+ЂУРИЧИЋ СЛАВКО
+ЂУРИЧИЋ СЛАВКО
+ЂУРИЧИЋ СТАНКО
+ЂУРИЧИЋ ТАНКОСАВА
+ЂУРИЧИЋ ЗЛАТИЦА
+ЂУРИЧИЋ ЗОРАН
+ЂУРИЧИН ЂОРЂЕ
+ЂУРИЧИН АЛЕКСАНДАР
+ЂУРИЧИН ДРАГАН
+ЂУРИЧИН ДРАГУТИН
+ЂУРИЧИН КАТАРИНА
+ЂУРИЧИН КАТИЦА
+ЂУРИЧИН МАРКО
+ЂУРИЧИН МИЛАН
+ЂУРИЧИН МИЛОРАД
+ЂУРИЧИН МИОДРАГ
+ЂУРИЧИН ПЕТАР
+ЂУРИЧИН РАДОСЛАВА
+ЂУРИЧИН РУЖИЦА
+ЂУРИЧИН СИНИША
+ЂУРИЧИН СОФИЈА
+ЂУРИЧИН СТАНИЈА
+ЂУРИЧИН СТЕВАН
+ЂУРИЧИН СВЕТЛАНА
+ЂУРИЧИН ТОМИСЛАВ
+ЂУРИЧИН ВАСИЛИЈЕ
+ЂУРИЧИН ЗОРКА
+ЂУРИЧКОВИЋ МИЛОРАД
+ЂУРИЧКОВИЋ ПАВЛЕ
+ЂУРИЧКОВИЋ ЗЛАТАНА
+ЂУРИШ КЛАРА
+ЂУРИШ МИРОСЛАВ
+ЂУРИШ ПАЉО
+ЂУРИШЕВИЋ МИЛЕНА
+ЂУРИШИЋ ДУШАН
+ЂУРИШИЋ ЈЕЛЕНА
+ЂУРИШИЋ ЛАЗАР
+ЂУРИШИЋ МАТО
+ЂУРИШИЋ МИЛАН
+ЂУРИШИЋ МИЛАН
+ЂУРИШИЋ МИЛИЈА
+ЂУРИШИЋ МИЛИСАВ
+ЂУРИШИЋ НИКОЛА
+ЂУРИШИЋ РАДМИЛА
+ЂУРИШИЋ РАДОМИР
+ЂУРИШИЋ СЛАВКО
+ЂУРИШИЋ СВЕТЛАНА
+ЂУРИШИЋ ВЕРА
+ЂУРИШИЋ ВИДА
+ЂУРИШИЋ ЗЛАТАНА
+ЂУРИШИЋ ЗЛАТА
+ЂУРИЋ ЖАРКО
+ЂУРИЋ ЖЕЉКО
+ЂУРИЋ ЖИВОРАД
+ЂУРИЋ ЂЕРЂ
+ЂУРИЋ ЂОРЂЕ
+ЂУРИЋ ЂОРЂЕ
+ЂУРИЋ ЂОРЂЕ
+ЂУРИЋ ЂУРА
+ЂУРИЋ ЂУРИЦА
+ЂУРИЋ АЛЕКСАНДАР
+ЂУРИЋ АНЂЕЛКА
+ЂУРИЋ АНГЕЛИНА
+ЂУРИЋ АНКА
+ЂУРИЋ АРСЕНИЈЕ
+ЂУРИЋ БЛАГОМИР
+ЂУРИЋ БОЖИДАР
+ЂУРИЋ БОЖИДАР
+ЂУРИЋ БОГОЉУБ
+ЂУРИЋ БОГОЉУБ
+ЂУРИЋ БОЈАН
+ЂУРИЋ БОРИВОЈ
+ЂУРИЋ БОРКА
+ЂУРИЋ БОРКА
+ЂУРИЋ БРАНИСЛАВ ДР ЛЕКАР
+ЂУРИЋ БРАНИСЛАВА
+ЂУРИЋ БРАНКА
+ЂУРИЋ БРАНКА
+ЂУРИЋ БРАНКО
+ЂУРИЋ БРАТИСЛАВ
+ЂУРИЋ БУДИМИР
+ЂУРИЋ ДЕЈАН
+ЂУРИЋ ДЕЈАН
+ЂУРИЋ ДЕСПОТ
+ЂУРИЋ ДОБРЕ
+ЂУРИЋ ДОБРИЛА
+ЂУРИЋ ДРАГАН
+ЂУРИЋ ДРАГАН
+ЂУРИЋ ДРАГАН
+ЂУРИЋ ДРАГАН
+ЂУРИЋ ДРАГАН
+ЂУРИЋ ДРАГАН
+ЂУРИЋ ДРАГАН
+ЂУРИЋ ДРАГИЦА
+ЂУРИЋ ДРАГИЦА
+ЂУРИЋ ДРАГУТИН ДР
+ЂУРИЋ ДУШАН
+ЂУРИЋ ДУШАН
+ЂУРИЋ ЕВА
+ЂУРИЋ ФРАЊА
+ЂУРИЋ ГОЈКО
+ЂУРИЋ ГОЈКО
+ЂУРИЋ ГОРДАНА
+ЂУРИЋ ХРАНИСЛАВ
+ЂУРИЋ ХРАНИСЛАВ
+ЂУРИЋ ИЛИЈА
+ЂУРИЋ ИЛИЈА
+ЂУРИЋ ЈАСМИНКА
+ЂУРИЋ ЈЕЛИЦА
+ЂУРИЋ ЈОВАН
+ЂУРИЋ ЈОВАН
+ЂУРИЋ ЈОВАН
+ЂУРИЋ ЈОВО
+ЂУРИЋ КРИСТИНА
+ЂУРИЋ ЉИЉАНА
+ЂУРИЋ ЉУБИША
+ЂУРИЋ ЉУБИША
+ЂУРИЋ ЉУБИЦА
+ЂУРИЋ ЉУБИЦА
+ЂУРИЋ ЉУБОДРАГ
+ЂУРИЋ ЉУБОМИР
+ЂУРИЋ МАРА
+ЂУРИЋ МАРИЈА
+ЂУРИЋ МИЋА
+ЂУРИЋ МИЛАНКО
+ЂУРИЋ МИЛАН
+ЂУРИЋ МИЛАН
+ЂУРИЋ МИЛАН
+ЂУРИЋ МИЛАН
+ЂУРИЋ МИЛЕНКО
+ЂУРИЋ МИЛИЦА
+ЂУРИЋ МИЛИВОЈЕ
+ЂУРИЋ МИЛОШ
+ЂУРИЋ МИЛОРАД
+ЂУРИЋ МИЛОРАД
+ЂУРИЋ МИЛОВАН
+ЂУРИЋ МИЛУН
+ЂУРИЋ МИОДРАГ
+ЂУРИЋ МИОДРАГ
+ЂУРИЋ МИРЈАНА
+ЂУРИЋ МИРКО
+ЂУРИЋ МИРОЉУБ
+ЂУРИЋ МИРОСЛАВА
+ЂУРИЋ МИРОСЛАВ
+ЂУРИЋ МИТАР
+ЂУРИЋ МОМЧИЛО
+ЂУРИЋ НЕДЕЉКО
+ЂУРИЋ НЕМАЊА
+ЂУРИЋ НЕНАД
+ЂУРИЋ НЕВЕНКА
+ЂУРИЋ ПЕТРА
+ЂУРИЋ ПРЕДРАГ
+ЂУРИЋ ПРЕДРАГ
+ЂУРИЋ РАДИВОЈЕ
+ЂУРИЋ РАДМИЛА
+ЂУРИЋ РАДОИЦА
+ЂУРИЋ РАДОЈКА
+ЂУРИЋ РАДОСЛАВ
+ЂУРИЋ РАТКО
+ЂУРИЋ САЊА
+ЂУРИЋ САВКА
+ЂУРИЋ САВО
+ЂУРИЋ СЕКУЛА
+ЂУРИЋ СЛАВИЦА
+ЂУРИЋ СЛАВКА
+ЂУРИЋ СЛАВКО
+ЂУРИЋ СЛАВКО
+ЂУРИЋ СРБОЉУБ
+ЂУРИЋ СТАНИМИР
+ЂУРИЋ СТАНИМИР
+ЂУРИЋ СТЕВАН
+ЂУРИЋ СТОЈАНКА
+ЂУРИЋ СТОЈАНКА
+ЂУРИЋ ТЕОДОР
+ЂУРИЋ ТЕРЕЗА
+ЂУРИЋ ТОДОР
+ЂУРИЋ ТОДОР
+ЂУРИЋ ТУГОМИР
+ЂУРИЋ ВАСА
+ЂУРИЋ ВЕЉКО
+ЂУРИЋ ВЕРА
+ЂУРИЋ ВЕРА
+ЂУРИЋ ВИДА
+ЂУРИЋ ВИДОЈЕ
+ЂУРИЋ ВЛАДА
+ЂУРИЋ ВЛАДИМИР
+ЂУРИЋ ВЛАДИМИР
+ЂУРИЋ ВЛАДИМИР
+ЂУРИЋ ВОЈИН
+ЂУРИЋ ВОЈИСЛАВ
+ЂУРИЋ ВУКАШИН
+ЂУРИЋ ЗДЕНКА
+ЂУРИЋ ЗДРАВКО
+ЂУРИЋ ЗОРАН
+ЂУРИЦА МИЛОШ
+ЂУРИЦА НЕВЕНКА
+ЂУРИЦА РАДЕ
+ЂУРИЦА РАНКО
+ЂУРИЦА РАНКО
+ЂУРИЦА РАТКО
+ЂУРИЦА СЛОБОДАН ДИПЛ ОЕЦ
+ЂУРИК ДУШАН
+ЂУРИК ЈУЛКА
+ЂУРИК МИЛАН
+ЂУРИК ОТИЛИЈА
+ЂУРИКИН ИЛИЈА
+ЂУРИКИН ВЕРА
+ЂУРИН ИЛИЈА
+ЂУРИН ЈОСИП
+ЂУРИН НОВА
+ЂУРИН НОВА
+ЂУРИН САВА ДИПЛ ИНГ
+ЂУРИН СВЕТЛАНА
+ЂУРИН ТЕОДОР
+ЂУРКИЋ ДРАГИЦА
+ЂУРКИН МИЛЕНКО
+ЂУРКИН РАДИШКО
+ЂУРКИН ВЛАДИМИР
+ЂУРКОВИЋ ЧАСЛАВ
+ЂУРКОВИЋ ЂЕНА
+ЂУРКОВИЋ АЛЕКСАНДАР ДИПЛ ИНГ
+ЂУРКОВИЋ АНТОН
+ЂУРКОВИЋ МАГДАЛЕНА
+ЂУРКОВИЋ ПЕРИЦА
+ЂУРКОВИЋ РАДЕ
+ЂУРКОВИЋ РУЖИЦА
+ЂУРКОВИЋ СТЕВАН
+ЂУРКОВИЋ СВЕТОМИР
+ЂУРКОВИЋ ВЛАЈКО
+ЂУРКОВСКИ ПАВЕЛ
+ЂУРНИЋ РАДМИЛА
+ЂУРНИЋ ВОЈИСЛАВ
+ЂУРОВИЋ ЖИВКА
+ЂУРОВИЋ АЛЕКСАНДАР
+ЂУРОВИЋ БОШКО
+ЂУРОВИЋ БОЈА
+ЂУРОВИЋ БОРИСЛАВ
+ЂУРОВИЋ БОСИЉКА
+ЂУРОВИЋ ДАНИЛО
+ЂУРОВИЋ ДАРИНКА
+ЂУРОВИЋ ДРАГАН
+ЂУРОВИЋ ДРАГАН
+ЂУРОВИЋ ДРАГАН
+ЂУРОВИЋ ДРАГАН
+ЂУРОВИЋ ДРАГАН
+ЂУРОВИЋ ДРАГОЉУБ
+ЂУРОВИЋ ГОЈКО
+ЂУРОВИЋ ЈАСМИНКА
+ЂУРОВИЋ ЈОВАН
+ЂУРОВИЋ ЉУБИЦА
+ЂУРОВИЋ МИЛЕНКО
+ЂУРОВИЋ МИЛИЦА
+ЂУРОВИЋ МИЛИСАВ
+ЂУРОВИЋ МИЛКА
+ЂУРОВИЋ НАДЕЖДА
+ЂУРОВИЋ НИКОЛА
+ЂУРОВИЋ ОЛГИЦА
+ЂУРОВИЋ РАДЕНКО
+ЂУРОВИЋ РАДЕ
+ЂУРОВИЋ РАДОМИР
+ЂУРОВИЋ РАДОМИР
+ЂУРОВИЋ РАДОСЛАВ
+ЂУРОВИЋ РАДОВАН
+ЂУРОВИЋ СОФИЈА
+ЂУРОВИЋ СВЕТЛАНА
+ЂУРОВИЋ СВЕТОМИР
+ЂУРОВИЋ ВАСО
+ЂУРОВИЋ ВЕСНА
+ЂУРОВИЋ ВУКАШИН
+ЂУРОВИЋ ВУКАДИН
+ЂУРОВИЋ ЗОРКА
+ЂУРОВКА МАРИЈА
+ЂУРОВКА ОНДРЕЈ
+ЂУРОВКА ВЛАДИСЛАВ
+ЂУРОВСКИ ЈОВИЦА
+ЂУСИЋ МИОДРАГ
+ЂУЗА СТЕВО
+АЧ ШАНДОР
+АЧ ФЕРЕНЦ
+АЧ ФРАЊА ДР ПРИМАРИЈУС
+АЧ ГАБОР
+АЧ ЈОЖЕФ АКАДЕМСКИ СЛИКАР
+АЧ ЈОЖЕФ БИОЛОГ
+АЧ ЈОВАН
+АЧ КАТИЦА
+АЧ ЛАЈОШ
+АЧ-НИКОЛИЋ ЕРЖЕБЕТ
+АЧ ОТО
+АЧ ПАВЛЕ
+АЧ ТИБОР
+АЧАИ ИШТВАН
+АЧАИ ЗОЛТАН
+АЧАНАСКИ ВЕСНА
+АЧАНСКИ ЖИВКО
+АЧАНСКИ АЛБИНА
+АЧАНСКИ АЛЕКСАНДАР
+АЧАНСКИ БРАНИСЛАВ
+АЧАНСКИ ДОБРИВОЈ
+АЧАНСКИ ДРАГИЦА
+АЧАНСКИ ДРАГОМИР
+АЧАНСКИ ЈЕЛИСОВ
+АЧАНСКИ КОСАНА
+АЧАНСКИ ЛАЗАР
+АЧАНСКИ ЛАЗАР
+АЧАНСКИ НИКОЛА
+АЧАНСКИ РАДА
+АЧАНСКИ СТАНА
+АЧАНСКИ СТАНИСЛАВ
+АЧАНСКИ ТЕОДОР ДИПЛ ИНГ
+АЧАНСКИ ТОДОР
+АЧАНСКИ ВИДОСАВА
+АЧАНСКИ ЗДРАВКО
+АЧАНСКИ ЗОРИЦА
+АШЋЕРИЋ СТЕВАН
+АШЋЕРИЋ СТЕВАН
+АШЋЕРИЋ ЗОРА
+АШАНИН РАДИВОЈЕ
+АШАНИН ЗОРАН
+АШИКУ ВИТАЛИС ДР ЛЕКАР
+АШКОВИЋ СЛАВКО ДИПЛ ИНГ
+АШКОВИЋ ТОМИСЛАВ
+АШКОВИЋ ВОЈИСЛАВА
+АШОЊА НЕДЕЉКО
+АШОЊА ОЛГА
+АШТАЛКОВСКИ АЛЕКСАНДАР
+АШТАЛКОВСКИ КРИСТИНА
+АЋАНСКИ ЂОРЂЕ
+АЋАНСКИ ЛАЗАР
+АЋИЋ ИЛИЈА
+АЋИЋ МИРКО
+АЋИЋ СТЕВАН
+АЋИМОВ АЛЕКСАНДАР
+АЋИМОВ БОШКО
+АЋИМОВ ДРАГИЦА
+АЋИМОВ ЛЕЛА
+АЋИМОВ МАРКО
+АЋИМОВ МИЛАН
+АЋИМОВ МИРЈАНА ПРОФЕСОР
+АЋИМОВ НЕДЕЉКО
+АЋИМОВ РАДИВОЈ
+АЋИМОВ РАДОСЛАВА
+АЋИМОВИЋ ЖИВКО
+АЋИМОВИЋ ЖИВОЈИН
+АЋИМОВИЋ ЂОРЂЕ
+АЋИМОВИЋ ЂОРЂЕ
+АЋИМОВИЋ ЂУРЂИНКА
+АЋИМОВИЋ БОШКО
+АЋИМОВИЋ БОГДАНКА
+АЋИМОВИЋ БОРКА
+АЋИМОВИЋ БРАНКО
+АЋИМОВИЋ БРАНКО
+АЋИМОВИЋ ДРАГАН
+АЋИМОВИЋ ДРАГОЉУБ
+АЋИМОВИЋ ДРАГОСЛАВ
+АЋИМОВИЋ ДУШАНКА
+АЋИМОВИЋ ДУШАН
+АЋИМОВИЋ ДУШАН
+АЋИМОВИЋ ГОЈКО
+АЋИМОВИЋ ИЛИЈА
+АЋИМОВИЋ ЈОВА
+АЋИМОВИЋ МИЛАН
+АЋИМОВИЋ МИЛА
+АЋИМОВИЋ МИЛИВОЈЕ ДР
+АЋИМОВИЋ МИЛИВОЈ
+АЋИМОВИЋ МИЛОЈИЦА
+АЋИМОВИЋ МИОДРАГ
+АЋИМОВИЋ ОБРАД
+АЋИМОВИЋ РАДМИЛА
+АЋИМОВИЋ РАДОВАН
+АЋИМОВИЋ РАТКО
+АЋИМОВИЋ САВА
+АЋИМОВИЋ САВА
+АЋИМОВИЋ СЛАВКО
+АЋИМОВИЋ СЛОБОДАН
+АЋИМОВИЋ ТАДИЈА
+АЋИМОВИЋ ВАСА
+АЋИМОВИЋ ВАСИЛИЈЕ
+АЋИМПВИЋ АЛЕКСАНДАР
+АЂАНСКИ БРАНИСЛАВ
+АЂАНСКИ ИВАНА
+АЂАНСКИ МИЛИВОЈ
+АЂАНСКИ НАДА
+АЂАНСКИ СТЕВАН
+АЂИЋ ДРАГО
+АЂИЋ ОТО
+АЂИН АДАМ
+АБАЏИЋ МАРКО
+АБАЏИЋ РАДМИЛА
+АБАЏИЋ САВО
+АБАЏИЋ СТАНКО
+АБАЗА ВЕСНА
+АБАЗИ ИЉАЗ
+АБАЗИ РАМАДАН
+АБАЗОВСКИ СУЛТАН
+АБДИЈЕВИЋ ШУКРИЈА
+АБДИЈЕВИЋ ИСМЕТ
+АБРАХАМ ЕВА
+АБРАХАМ ИРЕНА
+АБРАХАМ ПАВЕЛ
+АБРАМОВИЋ ДУШАНКА
+АБРАМОВИЋ ЛИВИЈА
+АБРАМОВИЋ МИЛОРАД
+АБРАМОВИЋ МИРЈАНА
+АБРАМОВИЋ НАДА
+АБРАМОВИЋ СТАНА
+АБРАМОВИЋ ВАЛЕРИЈА
+АБРЛИЋ НАДА
+АБТ ЛАСЛО
+АБУ-АБЕД МУХАМЕД
+АЦИГАН ЈОВАНКА
+АЦИН-ПЕТРОВИЋ ИВАНКА
+АЦКЕТА ДРАГАН
+АЦКЕТА МИРЈАНА
+АЦКЕТА ТИХОМИР
+АЦКОВИЋ МАРА
+АЏАИП МИЛОРАД
+АЏАИП МИРЈАНА
+АЏЕМОВИЋ АЛЕКСАНДАР
+АЏЕМОВИЋ ГРУЈО
+АЏИЋ ЖАРКО
+АЏИЋ БОШКО
+АЏИЋ БРАНКО
+АЏИЋ ДЕСАНКА
+АЏИЋ ДРАГОЉУБ
+АЏИЋ ДУШИЦА
+АЏИЋ ГОРАН
+АЏИЋ ИЛИЈА
+АЏИЋ ЈОВАНКА
+АЏИЋ ЈОВАН
+АЏИЋ ЉУБОДРАГ
+АЏИЋ МИЛАН
+АЏИЋ МИЛЕН
+АЏИЋ МИЛИСАВ
+АЏИЋ МИЛИВОЈЕ
+АЏИЋ МИЛОРАД
+АЏИЋ НЕДЕЉКО
+АЏИЋ ПЕРО
+АЏИЋ РАДИСАВ
+АЏИЋ РАДОЊА
+АЏИЋ РАНКО
+АЏИЋ РАТКО
+АЏИЋ СЛОБОДАН
+АЏИЋ ВЛАДО
+АЏИЋ ЗОРАН
+АЏИБАБА МИЛИЦА
+АЏИБАБА НИКОЛА
+АДАМ ШАРЛОТА
+АДАМ ЂУРА
+АДАМ ДЕНЕШ
+АДАМ ИРМА
+АДАМ ЈОЖЕФ
+АДАМ ЈОСИП
+АДАМ КРУНИЦА ДР
+АДАМ ЛАДИСЛАВ
+АДАМ ЛАДИСЛАВ
+АДАМ ЛАСЛО
+АДАМ ОЛГИЦА
+АДАМ ТИБОР НОВИНАР
+АДАМОВ ЂОРЂЕ
+АДАМОВ БОЖИДАР
+АДАМОВ ДРАГАН
+АДАМОВ ДУШАН
+АДАМОВ ИВАН
+АДАМОВ ЈОВАН
+АДАМОВ ЈУЛИАНА
+АДАМОВ ЈУЛКА
+АДАМОВ ЈУЛКА
+АДАМОВ КАТАРИНА
+АДАМОВ ЉУБА
+АДАМОВ МАРИЈА
+АДАМОВ МИРОСЛАВА
+АДАМОВ РАДОВАН
+АДАМОВ ТИЦА
+АДАМОВ ВИТОМИР
+АДАМОВИЋ ЂУРА
+АДАМОВИЋ БОШКО
+АДАМОВИЋ ДРАГА
+АДАМОВИЋ ДРАГОЉУБ
+АДАМОВИЋ ДРАГОЉУБ
+АДАМОВИЋ ДРАГУТИН
+АДАМОВИЋ ДУШАН
+АДАМОВИЋ ДУШАН
+АДАМОВИЋ ДУШАН
+АДАМОВИЋ ДУШАН
+АДАМОВИЋ ГОЈКО
+АДАМОВИЋ ГОЈКО
+АДАМОВИЋ ГОРАН
+АДАМОВИЋ ИЛОНА
+АДАМОВИЋ ИВАН
+АДАМОВИЋ ЈЕЛА
+АДАМОВИЋ ЈЕЛЕНА
+АДАМОВИЋ ЈОВАНКА
+АДАМОВИЋ ЈОВАН
+АДАМОВИЋ КАТА
+АДАМОВИЋ ЛАЗАР
+АДАМОВИЋ ЛАЗАР
+АДАМОВИЋ ЉИЉАНА
+АДАМОВИЋ ЉУБОМИР
+АДАМОВИЋ МАРА
+АДАМОВИЋ МАРА
+АДАМОВИЋ МАРА
+АДАМОВИЋ МАРИНКО
+АДАМОВИЋ МИЛЕНА
+АДАМОВИЋ МИЛИЦА
+АДАМОВИЋ МИЛКАН
+АДАМОВИЋ МИРКО
+АДАМОВИЋ МИРКО
+АДАМОВИЋ МОМЧИЛО
+АДАМОВИЋ МОМЧИЛО
+АДАМОВИЋ МОМЧИЛО
+АДАМОВИЋ РАДМИЛА
+АДАМОВИЋ РАДОСАВ
+АДАМОВИЋ СЛАВКО
+АДАМОВИЋ СОЊА
+АДАМОВИЋ СТОЈАНКА
+АДАМОВИЋ СВЕТОЗАР
+АДАМОВИЋ ТОМИСЛАВ
+АДАМОВИЋ ТОМИСЛАВ
+АДАМОВИЋ ВЛАДИМИР
+АДЕМИ ГОРДАНА
+АДЕМИ ИМЕР
+АДЕМОВ КЕМАЛ
+АДЕМОВИЋ ЈУСУФ
+АДЕМОВИЋ ОСМАН
+АДЛЕШИЋ ЉУБИЦА
+АДНАЂЕВИЋ СВЕТОЗАР
+АДОР ЈОВАН
+АГАРСКИ ЈАН ДР
+АГАТИЋ МАТЕ
+АГАТИЋ МИРКО
+АГАТИЋ ВЕЛИМИР
+АГБАБА БРАНКА
+АГБАБА ДАНЕ
+АГБАБА ДАНИЦА
+АГБАБА ДАНИЛО
+АГБАБА ДУШАН
+АГБАБА ЈОВАН
+АГБАБА НЕДЕЉКА
+АГБАБА НЕДЕЉКО
+АГБАБА НИКОЛА ДР
+АГБАБА НИКОЛА
+АГБАБА ВИДА
+АГИЋ МАРКО
+АГИЋ НАДА
+АГИЋ НИКОЛАЈ
+АГИЋ НИКОЛА
+АГИЋ СЛОБОДАН ДИПЛ ОЕЦ
+АГИЋ СРБИСЛАВ
+АГИЋ ВЛАДИМИР
+АГО МАРКО
+АГО ЗОРИЦА
+АГОЧ ДУШАН
+АГОШТОН БЕЛА
+АГОШТОН ФЕРЕНЦ
+АГОШТОН КАРОЉ
+АГОШТОН ЛАСЛО
+АГОШТОН МИХАЉ
+АГОШТОН ВЕРА
+АГРАМОВИЋ ДЕСАНКА
+АГРАМОВИЋ РАДЕ
+АГУШЕВИЋ СЛОБОДАНКА
+АГУЦИЋ ОЛГИЦА
+АХМЕД ЕЛЕЗ
+АХМЕТОВ ШУКРИ
+АХМЕТОВИЋ КАРЛО
+АХМЕТОВИЋ СОФИЈА
+АХМЕТОВИЋ ЗЛАТКО
+АИРАЛДИ БОЖИДАР
+АЈ БРАНИСЛАВ
+АЈ ВЕСНА
+АЈАНОВИЋ САЛКО
+АЈЦЕВ ДУШАН
+АЈЏАНОВИЋ АНАСТАСИЈА ДР ЛЕКАР
+АЈДАРИЋ РАДОСЛАВ
+АЈДЕР ЖЕЉКО
+АЈДЕР БОШКО
+АЈДЕР ДАНИЦА
+АЈДИЋ ЂОРЂЕ
+АЈДИНИ САБРИЈА
+АЈДИНОВИЋ НИКОЛА
+АЈДУК ЈОСИМ
+АЈДУК МАРКО
+АЈДУК МИЛИЦА
+АЈДУК ТОША
+АЈДУКОВИЋ ГОЈКО
+АЈДУКОВИЋ ЉИЉАНА
+АЈДУКОВИЋ МИЛАН
+АЈДУКОВИЋ СОФИЈА
+АЈГЕНМАХТ МАРИНА
+АЈКУНИЋ АДИЛ
+АЈКУНИЋ НЕЗИР
+АЈРАНОВИЋ ЈУСУФ
+АЈТИЋ СВЕТИСЛАВ
+АЈТЛБЕЗ МИЈАТ
+АЈТЛБЕЗ МИЈАТ
+АЈВАЗОВИЋ АЋИФ
+АЈВАЗОВИЋ АСЛАН
+АЈВАЗОВИЋ ЕСМА
+АЈВАЗОВИЋ ФАИД
+АЈВИЛЕР СТЕВАН
+АЈЗЕНБЕРГЕР БЕЛА
+АКШАМОВИЋ ПЛАВША
+АКИК ДРАГИЦА
+АКИК ДУШАН
+АКИН ДРАГА
+АКИН СОФИЈА
+АКОНЧИЋ ЗОРАН
+АКРАП ФИЛИП ПРОФ
+АКРАПОВИЋ МИРОСЛАВ
+АКСЕНТИЈЕВИЋ ЈОВАН
+АКСЕНТИЈЕВИЋ НИКОЛА СУДИЈА
+АКСЕНТИЈЕВИЋ СТОЈАДИН
+АКСИН БРАНИСЛАВ
+АКСИН МИЛОВАН
+АКСИН ВЛАДИМИР ДР ИНГ
+АЛАЂИ ШАНДОР
+АЛАБАШОВСКИ ГРУЈА
+АЛАБАШОВСКИ ИБРАХИМ
+АЛАБУРИЋ ПАВЛЕ
+АЛАБУРИЋ ТЕОДОР ДИПЛ ИНГ
+АЛАЏИЋ ЂОРЂО
+АЛАДИЋ АЛЕКСАНДАР
+АЛАДИЋ АЛЕКСАНДАР
+АЛАДИЋ БРАНИСЛАВА
+АЛАДИЋ ИДА
+АЛАДИЋ СТЕВАН
+АЛАГИЋ ДУШАН
+АЛАГИЋ МУЈО
+АЛАГИЋ НАДА
+АЛАГИЋ РАДОСЛАВ
+АЛАГИЋ ВЕРА
+АЛАИЦА РАДОЈКА
+АЛАЈИЦА БРАНКО
+АЛАЈИЦА ЈОВО
+АЛАН ВЕРА
+АЛАНОВ РУЖИЦА
+АЛАРГИЋ ЈЕЛЕНА
+АЛАРГИЋ МИЛИЦА
+АЛАРГИЋ ПЕТАР
+АЛАРГИЋ РАДЕ
+АЛАРГИЋ РАНКА
+АЛАРГИЋ ТИМА
+АЛАСОВ ДРАГОСЛАВ
+АЛАСОВ ЛАЗАР ДИПЛ ИНГ
+АЛАВАЊА МИРЈАНА
+АЛБИЈАНИЋ БОРО
+АЛБИЈАНИЋ ДРАГУТИН
+АЛБОТ ИЛИЈА
+АЛБРЕХТ ЈАНОШ
+АЛБРЕХТ МАРИЈА
+АЛБРЕХТ МАРИЈА
+АЛБУЉ ДИВНА
+АЛБУЉ ГОРДАНА
+АЛБУЉ ВЕСЕЛИН
+АЛБУЉ ВОЈИСЛАВКА
+АЛЕКСАНДЕР АНА
+АЛЕКСАНДЕР РУДОЛФ
+АЛЕКСАНДРИЋ МИЛЕСА ДР
+АЛЕКСАНДРОВ СЛАВЧА
+АЛЕКСАНДРОВИЋ ДРАГАН
+АЛЕКСАНДРОВИЋ ДУШАН
+АЛЕКСИ СТЕВАН
+АЛЕКСИЋ ЧАСЛАВ
+АЛЕКСИЋ ЧЕДОМИР
+АЛЕКСИЋ ЖИВОМИР
+АЛЕКСИЋ ЂОРЂЕ
+АЛЕКСИЋ ЂУРА
+АЛЕКСИЋ АЦА
+АЛЕКСИЋ АДАМ
+АЛЕКСИЋ АРСА
+АЛЕКСИЋ БИСЕРКА
+АЛЕКСИЋ БОЖИДАР
+АЛЕКСИЋ БОЖИДАР
+АЛЕКСИЋ БОГДАН
+АЛЕКСИЋ БРАНИСЛАВ
+АЛЕКСИЋ БРАНКО
+АЛЕКСИЋ БРАНКО
+АЛЕКСИЋ БРАНКО
+АЛЕКСИЋ БУДИМИР
+АЛЕКСИЋ ДАНИЦА
+АЛЕКСИЋ ДАРИНКА
+АЛЕКСИЋ ДРАГАН
+АЛЕКСИЋ ДРАГА
+АЛЕКСИЋ ДРАГОЉУБ
+АЛЕКСИЋ ДРАГОМИР
+АЛЕКСИЋ ДРАГОСЛАВ ДР
+АЛЕКСИЋ ДУШАН
+АЛЕКСИЋ ДУШАН
+АЛЕКСИЋ ЕВИЦА
+АЛЕКСИЋ ГОЈКО
+АЛЕКСИЋ ГОРАН
+АЛЕКСИЋ ГОРДАНА
+АЛЕКСИЋ-ГРИСЕР НИКОЛА
+АЛЕКСИЋ ИЛИНКА
+АЛЕКСИЋ ИВАН
+АЛЕКСИЋ ЈЕЛЕНА
+АЛЕКСИЋ ЈЕЛИЦА
+АЛЕКСИЋ ЈЕЛИЦА
+АЛЕКСИЋ ЈОСИП
+АЛЕКСИЋ ЈОВАН
+АЛЕКСИЋ ЈОВО
+АЛЕКСИЋ КАТА
+АЛЕКСИЋ КАТИЦА
+АЛЕКСИЋ КАТИЦА
+АЛЕКСИЋ КОСА
+АЛЕКСИЋ КОСТА
+АЛЕКСИЋ КОСТА
+АЛЕКСИЋ ЛЕПОСАВА
+АЛЕКСИЋ ЛЕПОСАВА
+АЛЕКСИЋ ЉИЉАНА
+АЛЕКСИЋ ЉИЉАНА
+АЛЕКСИЋ ЉУБИША
+АЛЕКСИЋ ЉУТОМИР
+АЛЕКСИЋ МАРИН
+АЛЕКСИЋ МИЛАНКА
+АЛЕКСИЋ МИЛАН
+АЛЕКСИЋ МИЛАН
+АЛЕКСИЋ МИЛАН
+АЛЕКСИЋ МИЛЕНА
+АЛЕКСИЋ МИЛИНКА
+АЛЕКСИЋ МИЛИВОЈ
+АЛЕКСИЋ МИЛИВОЈ
+АЛЕКСИЋ МИЛОШ
+АЛЕКСИЋ МИЛОШ
+АЛЕКСИЋ МИЛОШ
+АЛЕКСИЋ МИЛОЈЕ
+АЛЕКСИЋ МИЛОРАД
+АЛЕКСИЋ МИЛОВАН
+АЛЕКСИЋ МИОДРАГ
+АЛЕКСИЋ МИОДРАГ
+АЛЕКСИЋ МИОДРАГ
+АЛЕКСИЋ МИРЈАНА
+АЛЕКСИЋ МИРКО
+АЛЕКСИЋ МИРОСЛАВ
+АЛЕКСИЋ МОМЧИЛО
+АЛЕКСИЋ МОМЧИЛО
+АЛЕКСИЋ МОМИР
+АЛЕКСИЋ НАДА
+АЛЕКСИЋ НАТАЛИЈА
+АЛЕКСИЋ НЕБОЈША
+АЛЕКСИЋ НИКОЛА
+АЛЕКСИЋ НИКОЛА
+АЛЕКСИЋ ПАУЛИНА
+АЛЕКСИЋ ПАВЛЕ
+АЛЕКСИЋ ПЕТАР
+АЛЕКСИЋ ПЕТАР
+АЛЕКСИЋ ПЕТАР
+АЛЕКСИЋ ПРЕДРАГ
+АЛЕКСИЋ РАДЕ
+АЛЕКСИЋ РАДМИЛА
+АЛЕКСИЋ РАДОМИР
+АЛЕКСИЋ РАЈКО
+АЛЕКСИЋ РАТКО
+АЛЕКСИЋ РАТКО
+АЛЕКСИЋ РИСТО
+АЛЕКСИЋ САВО
+АЛЕКСИЋ СЛАВНА
+АЛЕКСИЋ СМИЉА
+АЛЕКСИЋ СТЕВАН
+АЛЕКСИЋ СТЕВАН
+АЛЕКСИЋ ВАСА
+АЛЕКСИЋ ВЕРА
+АЛЕКСИЋ ВЕРА
+АЛЕКСИЋ ВЕСНА
+АЛЕКСИЋ ВИТОМИР
+АЛЕКСИЋ ВЛАСТИМИР
+АЛЕКСИЋ ВОЈИСЛАВ
+АЛЕКСИЋ ЗДРАВЕНКА
+АЛЕКСИЋ ЗДРАВКО
+АЛЕКСИЋ ЗЛАТИБОР
+АЛЕКСИЋ ЗОРАН
+АЛЕКСИЈЕВИЋ БОГДАН
+АЛЕКСИЈЕВИЋ БОРА
+АЛЕКСИЈЕВИЋ ИСИДОР
+АЛЕКСИЈЕВИЋ ЈОВАН
+АЛЕКСИЈЕВИЋ МАРИЈА
+АЛЕКСОВ ГЕОРГИ
+АЛЕКСОВ МИЛУТИН
+АЛЕКСОВ СИМЕОН
+АЛЕКСОВ ЗОРАН
+АЛЕКСОВСКИ МИЛЕ
+АЛЕКСОВСКИ СРБОЉУБ
+АЛЕМПИЋ САВО
+АЛЕМПИЈЕВИЋ ЗОРАН
+АЛЕМПИЈЕВИЋ ЗОРАН
+АЛЕНДЕР ШЕФИК
+АЛИ ЈУЛИСТАН
+АЛИШИЋ БЕСИМ
+АЛИШИЋ НИЈАЗ
+АЛИШИЋ РЕЏЕП
+АЛИШИЋ ВАСВИЈА
+АЛИЂУКИЋ ИЛИЈА
+АЛИБАШИЋ ХАМИД
+АЛИЈА АБДИРАХМАН
+АЛИЈА ИЗЕТ
+АЛИЈЕВИЋ НЕЗИР
+АЛИЈЕВИЋ САДРИЈА
+АЛИЛОВИЋ ВИНКО
+АЛИМПИЋ ЖИВКО
+АЛИМПИЋ АЛЕКСАНДАР
+АЛИМПИЋ БАРБАРА
+АЛИМПИЋ БОГОМИР
+АЛИМПИЋ БОРИВОЈЕ
+АЛИМПИЋ ДРАГАН
+АЛИМПИЋ ДРАГИЦА
+АЛИМПИЋ ЈЕЛА
+АЛИМПИЋ ЈОВАН
+АЛИМПИЋ ЉУБИЦА
+АЛИМПИЋ МОМЧИЛО
+АЛИМПИЋ СЛАВКА
+АЛИМПИЋ СЛАВКО
+АЛИМПИЋ СТЕВАН
+АЛИМПИЋ ТИХОМИР
+АЛИМПИЋ ТОМИСЛАВ
+АЛИМПИЋ ВОЈИСЛАВ
+АЛИМПИЈЕВИЋ ЂОРЂЕ
+АЛИМПИЈЕВИЋ ДИМИТРИЈЕ
+АЛИМПИЈЕВИЋ ЈОВАН
+АЛИМПИЈЕВИЋ ЈОВАН
+АЛИМПИЈЕВИЋ ВЕСЕЛИНКА
+АЛИОВ ХУСЕИН
+АЛИОВ ОМЕР
+АЉИ АЈРАДИН
+АЉИ МАКСУТ
+АЉИЋ КАТАРИНА
+АЉИЋ РАМО
+АЉИЈУПИ ЧЕРИМ
+АЛКИЋ СТЕВАН
+АЛКИЋ ВЛАДИМИР
+АЛМАШИ ЕТЕЛ
+АЛМАШИ МАРИШКА
+АЛМАШИ МАТИЈА
+АЛМАШИ САМУЕЛ
+АЛМАЖАН СЛАВКО НОВИНАР
+АЛОРИЋ ДРАГОМИРКА
+АЛОРИЋ ИЛИЈА
+АЛТЕРОВ АНА
+АЛТКОРН МАЛВИНА
+АЛВАЏИН ДРАГУТИН
+АЛВИРОВИЋ ДРАГОРАД
+АЛВИРОВИЋ МИОДРАГ
+АМАМОВИЋ ДУШАН
+АМАМОВИЋ МИЛЕВА
+АМБАРЏИЈЕВ ХРИСТО
+АМБО ИЛИЈА
+АМБРОЗИЋ РАСТКО
+АМБРУШ АТИЛА
+АМБРУШИЋ МАГДА
+АМБРУСОВ ЈОВАН
+АМЕТОВ ОСМАН
+АМЕТОВИЋ ЂОРЂЕ
+АМЕТОВИЋ ЂОРЂО
+АМЕТОВИЋ ЂУРО
+АМЕТОВИЋ БУДИМИР
+АМЕТОВИЋ ЈЕЛЕНА
+АМЕТОВИЋ ЈОВАН
+АМЕТОВИЋ КАТИЦА
+АМЕТОВИЋ ЛАЗАР
+АМЕТОВИЋ ЛАЗАР
+АМЕТОВИЋ МАРКО
+АМЕТОВИЋ МИЛАДИН
+АМЕТОВИЋ МИЛОРАД
+АМЕТОВИЋ МИРКО
+АМЕТОВИЋ МОМЧИЛО
+АМЕТОВИЋ РАЈКО
+АМЕТОВИЋ РАТКО
+АМЕТОВИЋ РУСМИРА
+АМЕТОВИЋ СОФИЈА
+АМЕТОВИЋ ВОЈИН
+АМИЖИЋ ДАНИЦА
+АМИЖИЋ МИРОСЛАВ
+АМИЖИЋ ТЕОДОРА
+АНЧИЋ АЛЕКСАНДРА
+АНЧИЋ МИЛАН
+АНЧИЋ НЕВЕНКА ДР
+АНЂЕЛИЋ АНЂЕЛКО
+АНЂЕЛИЋ АНДРИЈА
+АНЂЕЛИЋ АНИЦА
+АНЂЕЛИЋ БИЉАНА
+АНЂЕЛИЋ БЛАГИША
+АНЂЕЛИЋ БОЖИДАР ДР
+АНЂЕЛИЋ БОРИВОЈЕ
+АНЂЕЛИЋ БОРИВОЈЕ
+АНЂЕЛИЋ БРАНИСЛАВ
+АНЂЕЛИЋ ДАРИНКА
+АНЂЕЛИЋ ДРАГИЦА
+АНЂЕЛИЋ ДРАГОМИР
+АНЂЕЛИЋ ДУШАНКА
+АНЂЕЛИЋ ГОРАН
+АНЂЕЛИЋ ИЛИЈА
+АНЂЕЛИЋ ИЛИЈА
+АНЂЕЛИЋ МИЛЕНКО
+АНЂЕЛИЋ МИЛИВОЈЕ
+АНЂЕЛИЋ МИЛОРАД
+АНЂЕЛИЋ МИЛОРАД
+АНЂЕЛИЋ МИРЈАНА
+АНЂЕЛИЋ МИРЈАНА
+АНЂЕЛИЋ МИТАР
+АНЂЕЛИЋ НИКОЛА
+АНЂЕЛИЋ РАДМИЛА
+АНЂЕЛИЋ РАДОЈИЦА
+АНЂЕЛИЋ РАДОСЛАВ
+АНЂЕЛИЋ САВА
+АНЂЕЛИЋ СЛОБОДАН ДР ЛЕКАР
+АНЂЕЛИЋ СЛОБОДАН
+АНЂЕЛИЋ СЛОБОДАН
+АНЂЕЛИЋ СТЕВАН
+АНЂЕЛИЋ ВАСА
+АНЂЕЛИЋ ВАСО
+АНЂЕЛИЋ ВЕЉКО
+АНЂЕЛИЋ ВЕСЕЛИН
+АНЂЕЛИЋ ВЕСНА
+АНЂЕЛИЋ ВЛАДА
+АНЂЕЛИЋ ВОЈИСЛАВ
+АНЂЕЛКОВИЋ АНЂЕЛКО
+АНЂЕЛКОВИЋ БОЖИДАР
+АНЂЕЛКОВИЋ ДРАГОМИР
+АНЂЕЛКОВИЋ-ДУДИЋ ЗЛАТА
+АНЂЕЛКОВИЋ ЈЕЛИЦА
+АНЂЕЛКОВИЋ ЈОВАН
+АНЂЕЛКОВИЋ ЛИДИЈА
+АНЂЕЛКОВИЋ ЉУБИША
+АНЂЕЛКОВИЋ МИЛАН
+АНЂЕЛКОВИЋ МИЛОШ
+АНЂЕЛКОВИЋ МИЛОРАД
+АНЂЕЛКОВИЋ МИРОСЛАВ
+АНЂЕЛКОВИЋ МИРОСЛАВ
+АНЂЕЛКОВИЋ НАТАША
+АНЂЕЛКОВИЋ ПЕТАР
+АНЂЕЛКОВИЋ ПРЕДРАГ
+АНЂЕЛКОВИЋ РАДОМИР
+АНЂЕЛКОВИЋ РОБЕРТ
+АНЂЕЛКОВИЋ СИМА
+АНЂЕЛКОВИЋ СЛОБОДАН
+АНЂЕЛКОВИЋ СТАНИМИР
+АНЂЕЛКОВИЋ СТАНКО
+АНЂЕЛКОВИЋ СТЕВАН
+АНЂЕЛКОВИЋ СТОЈАН
+АНЂЕЛКОВИЋ СВЕТИСЛАВ
+АНЂЕЛКОВИЋ СВЕТИСЛАВ
+АНЂЕЛКОВИЋ СВЕТОМИР
+АНЂЕЛКОВИЋ ВАЛЕРИЈА
+АНЂЕЛКОВИЋ ВЕРА
+АНЂЕЛКОВИЋ ВИНКО
+АНЂЕЛКОВИЋ ВИНКО
+АНЂЕЛКОВИЋ ВИНКО
+АНЂЕЛКОВИЋ ВУКАДИН
+АНЂЕЛКОВИЋ ЗОРАН
+АНЂЕЛКОВИЋ ЗОРАН
+АНЂЕЛКОВИЋ ЗОРА
+АНЂЕЛОВИЋ ЉУБИША
+АНЂЕЛОВИЋ ВЕРИЦА
+АНЂЕЛОВСКИ ЂОРЂЕ
+АНЂИЋ СТЕВАН
+АНЂУШИЋ ЖАРКО
+АНЂУШИЋ ЈЕЛИСАВКА
+АНЂУШИЋ МИЛОРАД
+АНЂУШИЋ СЛОБОДАН
+АНАСТАСИЈЕВИЋ ДУШАН
+АНАСТАСИЈЕВИЋ ЈУЛКИЦА
+АНАСТАСИЈЕВИЋ ЗОРИЦА
+АНАСТАСИЈЕВИЋ ЗОРИЦА
+АНАСТАСОВ МАРКО
+АНАСТАСОВ НИКОЛА
+АНАСТАСОВСКИ АЛЕКСАНДАР
+АНАУ ГАБРИЕЛА
+АНАУ СТЕВАН
+АНДАБАК МАРКО
+АНДАБАКА АНТЕ
+АНДАБАКА СЛАВИЦА
+АНДЕР ИМРЕ
+АНДЕРЛОН СТЕВИЦА
+АНДЕСЕЛИЋ ШТЕФИЦА
+АНДЕВСКИ РАДЕ
+АНДИЋ СВЕТОЗАР
+АНДИЋ ВЛАДИМИР
+АНДОНИАДИС МИЛИЦА
+АНДОНОВ ДИМИТРИЈЕ
+АНДОНОВ НЕНАД
+АНДОНОВ ЗОРИЦА
+АНДОНОВИЋ ДИМИТРИЈЕ
+АНДРАШИК ПАВЕЛ
+АНДРЕАТА СЛАВКО
+АНДРЕИЋ РАДОВАН
+АНДРЕЈЕВ ХЕЛЕНА
+АНДРЕЈЕВ МИХАЈЛО
+АНДРЕЈЕВИЋ БОГОСАВ
+АНДРЕЈЕВИЋ БОРИВОЈЕ
+АНДРЕЈЕВИЋ ГРАДИМИР
+АНДРЕЈЕВИЋ ИВАН
+АНДРЕЈЕВИЋ МАРКО
+АНДРЕЈЕВИЋ МИЛАН
+АНДРЕЈЕВИЋ МИРОСЛАВ
+АНДРЕЈЕВИЋ СЛОБОДАН
+АНДРЕЈЕВИЋ ТЕОДОР
+АНДРЕЈЕВИЋ ВУКАШИН ДИПЛ ИНГ
+АНДРЕЈИЋ ЖАРКО
+АНДРЕЈИЋ БОРИСЛАВ
+АНДРЕЈИЋ ДРАГАН
+АНДРЕЈИЋ РАДОСЛАВ
+АНДРЕЈИЋ СЛАВОЉУБ
+АНДРЕЈИЋ СРЕТЕН
+АНДРЕЈИЋ ВЕРА
+АНДРЕЈИЋ ЗОРАН
+АНДРЕЈИЋ ЗОРИЦА
+АНДРЕС АНЂЕЛКО
+АНДРИЧЕК АНА
+АНДРИЧЕК ЛАЈОШ
+АНДРИЧЕК МАГДАЛЕНА
+АНДРИЧЕК ПАВАО
+АНДРИЧЕК ПАВЛЕ
+АНДРИЋ ЖЕЉКА
+АНДРИЋ ЖИКА
+АНДРИЋ ЖИВАН
+АНДРИЋ ЂОРЂЕ
+АНДРИЋ ЂУРЂИНА
+АНДРИЋ АЛЕКСАНДАР
+АНДРИЋ БОГОЉУБ
+АНДРИЋ БОЈАН
+АНДРИЋ БОСИЉКА
+АНДРИЋ БРАНИМИР
+АНДРИЋ БРАНИСЛАВ
+АНДРИЋ ДАРИНКА
+АНДРИЋ ДОСТА
+АНДРИЋ ДРАГАН
+АНДРИЋ ДРАГОЉУБ
+АНДРИЋ ДУШАН
+АНДРИЋ ДУШАН
+АНДРИЋ ДУШАН
+АНДРИЋ ДУШАН
+АНДРИЋ ДУШАН
+АНДРИЋ ФРИДА
+АНДРИЋ ИЛИЈА
+АНДРИЋ ЈЕЛЕНА
+АНДРИЋ ЈЕЛИСАВЕТА
+АНДРИЋ ЈОВИЦА
+АНДРИЋ-КОВАЧЕВИЋ ОЛИВЕРА
+АНДРИЋ ЛАЗАР
+АНДРИЋ ЛАЗА
+АНДРИЋ ЉИЉАНА
+АНДРИЋ ЉИЉАНА
+АНДРИЋ ЛУДМИЛА
+АНДРИЋ МИЛЕ
+АНДРИЋ МИЛОШ
+АНДРИЋ МИЛОШ
+АНДРИЋ НЕБОЈША
+АНДРИЋ НЕСТОР
+АНДРИЋ НИКОЛА
+АНДРИЋ ПЕРИЦА
+АНДРИЋ ПЕТАР
+АНДРИЋ РАДИСАВ
+АНДРИЋ РАДИСЛАВ
+АНДРИЋ САВА
+АНДРИЋ СИМА
+АНДРИЋ СЛАВКА
+АНДРИЋ СЛАВКА
+АНДРИЋ СЛАВОЉУБ
+АНДРИЋ СЛОБОДАН
+АНДРИЋ СТЕВАН
+АНДРИЋ СТЕВАН
+АНДРИЋ ТОДОР
+АНДРИЋ ТОМИСЛАВ
+АНДРИЋ ВЕРИЦА
+АНДРИЋ ВЛАДА
+АНДРИЋ ВЛАДИМИРА
+АНДРИЋ ВУКОМАН
+АНДРИЋ ЗОРА
+АНДРИГА АЛЕКСАНДАР
+АНДРИЈАШЕВ КОСАНА
+АНДРИЈАШЕВ РУЖИЦА
+АНДРИЈАШЕВИЋ ЖЕЉКО
+АНДРИЈАШЕВИЋ АНКА
+АНДРИЈАШЕВИЋ БРАНКО
+АНДРИЈАШЕВИЋ ЈЕЛЕНА
+АНДРИЈАШЕВИЋ РАДОВАН
+АНДРИЈЕВИЋ ЖИВА
+АНДРИЈЕВИЋ ЈОВАН
+АНДРИН АНЂЕЛКА
+АНДРИН ИСИДОР
+АНДРИН КАТИЦА
+АНДРИН МИЛАДИНКА
+АНДРИН НАДА
+АНДРОЦКИ ПАЛ ДИПЛ ИНГ
+АНДУЛАЈЕВИЋ СТЕВО
+АНГЕБРАНТ ИЛОНКА
+АНГЕЛЕСКИ ВАНГЕЛ
+АНГЕЛОВ ДУШАН
+АНГЕЛОВ СРЕЋКО
+АНГЕЛОВСКИ ДУШАН
+АНГЕЛОВСКИ ИЛИЈА
+АНГЕЛОВСКИ ЈАНДРЕ
+АНГЕЛОВСКИ МИТРЕ
+АНГЕЛОВСКИ ТОМО
+АНИЧИЋ ЖИВОТА
+АНИЧИЋ БРАНИСЛАВ
+АНИЧИЋ ДРАГАН
+АНИЧИЋ ДУШАН ДИПЛ ОЕЦ
+АНИЧИЋ ФИЛИП
+АНИЧИЋ ИЛИЈА
+АНИЧИЋ КОВИНКА
+АНИЧИЋ МИЛЕНА ДИПЛ ЕЦЦ
+АНИЧИЋ МИРКО
+АНИЧИЋ МИРО
+АНИЧИЋ МИРО
+АНИЧИЋ НЕНАД
+АНИЧИЋ ОСТОЈА
+АНИЧИЋ ПРЕДРАГ
+АНИЧИЋ СТАКА
+АНИЧИЋ СТОЈАНКА
+АНИЧИЋ ТОДОР
+АНИЧИЋ ЗДРАВКО
+АНИЧИН ЖАРКО
+АНИЧИН БРАНИСЛАВ
+АНИШИЋ ЈАСМИНКА
+АНИЋ ДУШАН
+АНИЋ СЛОБОДАН
+АНИЋ ЗОРА
+АНИКА ГАВРИЛО
+АНИКА ЈУЛИЈЕ ПРОФЕСОР
+АНИТИЋ ИШТВАН
+АНКИЋ МАРЈАН
+АНКИЋ ПЕРИЦА
+АНОЈЧИЋ ЖЕЉКО
+АНОЈЧИЋ ЛАЗАР
+АНОЈЧИЋ МИЛАН
+АНОЈЧИЋ РАДИВОЈ
+АНОЈЧИЋ РАДИВОЈ
+АНОЈЧИЋ СПАСОЈЕ
+АНОЈЧИЋ-СТОЈКОВИЋ ЈАСМИНКА
+АНТАЛ АЛЕКСАНДАР
+АНТАЛ ВЕРОНА
+АНТАНАСИЋ СТАНКО
+АНТАНАСИЈЕВИЋ БОРА
+АНТЕЉЕВИЋ АЛЕКСАНДАР
+АНТИЋ ЂОКА
+АНТИЋ ЂОРЂЕ
+АНТИЋ ЂОРЂЕ
+АНТИЋ АЛЕКСАНДАР
+АНТИЋ АНГЕЛИНА
+АНТИЋ БОШКО
+АНТИЋ БОЖИДАР ДР СТОМАТОЛОГ
+АНТИЋ БОЖИДАР
+АНТИЋ БРАНКО
+АНТИЋ БРАТИСЛАВ
+АНТИЋ ДИМИТРИЈЕ
+АНТИЋ ДРАГАН
+АНТИЋ ДРАГАН
+АНТИЋ ДРАГИША
+АНТИЋ ДУШАНКА
+АНТИЋ ДУШАНКА
+АНТИЋ ЈУЛКА
+АНТИЋ КОСТА
+АНТИЋ ЉУБИША
+АНТИЋ ЛУКА
+АНТИЋ МАРИЦА
+АНТИЋ МАРИЈА
+АНТИЋ МИЛАН
+АНТИЋ МИЛАН
+АНТИЋ МИЛАН
+АНТИЋ МИЛАН
+АНТИЋ МИЛИВОЈ
+АНТИЋ МИЛУТИН
+АНТИЋ МИОДРАГ
+АНТИЋ МИРКО
+АНТИЋ МИРКО
+АНТИЋ НЕНАД
+АНТИЋ НЕВЕНА
+АНТИЋ ОЛГА
+АНТИЋ ПАВЛЕ
+АНТИЋ ПАВЛЕ
+АНТИЋ ПАВЛЕ
+АНТИЋ ПЕТАР
+АНТИЋ РАДОЈКО
+АНТИЋ РАДОМИР
+АНТИЋ РАДОВАН
+АНТИЋ СЛАЂАНА
+АНТИЋ СЛАВИЦА
+АНТИЋ СЛОБОДАН
+АНТИЋ СМИЉА
+АНТИЋ СМИЉА
+АНТИЋ СОФИЈА
+АНТИЋ СТАНЧА
+АНТИЋ СТАНИСЛАВ
+АНТИЋ СТАНОЈЕ
+АНТИЋ СТОЈАН
+АНТИЋ СВЕТИСЛАВ
+АНТИЋ СВЕТЛАНА
+АНТИЋ СВЕТОВИД
+АНТИЋ ВЕРИЦА
+АНТИЋ ВУКАШИН
+АНТИЋ ЗАГОРКА
+АНТИЋ ЗЛАТАН
+АНТИН ИВАНКА
+АНТИН ВЕЛЕМИР
+АНТОЛОВИЋ ИВАН
+АНТОНИЋ ЖИВКО ДИПЛ ИНГ
+АНТОНИЋ ЖИВКО
+АНТОНИЋ ЂОРЂЕ
+АНТОНИЋ БОРИВОЈ
+АНТОНИЋ БРАНКО
+АНТОНИЋ ДОБРИВОЈ
+АНТОНИЋ ДРАГАН
+АНТОНИЋ ДРАГАН
+АНТОНИЋ ГОРДАНА
+АНТОНИЋ ЈАДРАНКА
+АНТОНИЋ ЈАСМИНКА
+АНТОНИЋ ЈЕЛЕНА
+АНТОНИЋ ЉУБИЦА
+АНТОНИЋ МАРИЈА
+АНТОНИЋ МИЛАН
+АНТОНИЋ МИЛАН
+АНТОНИЋ МИЛАН
+АНТОНИЋ МИЛИВОЈ
+АНТОНИЋ НЕБОЈША ДИПЛ ИНГ
+АНТОНИЋ РАДИСАВ
+АНТОНИЋ РАНКО
+АНТОНИЋ РАТКО
+АНТОНИЋ СИМА
+АНТОНИЋ СЛАВИЦА
+АНТОНИЋ СЛОБОДАН
+АНТОНИЋ СЛОБОДАН
+АНТОНИЋ СТЕВАН
+АНТОНИЋ ЗОРКА
+АНТОНИЈЕВИЋ АЛЕКСАНДАР
+АНТОНИЈЕВИЋ БИЉАНА
+АНТОНИЈЕВИЋ БОЖУР
+АНТОНИЈЕВИЋ БРАНКО
+АНТОНИЈЕВИЋ ДАМЊАН
+АНТОНИЈЕВИЋ ДУШАН ДР
+АНТОНИЈЕВИЋ ДУШАН
+АНТОНИЈЕВИЋ ЉИЉА
+АНТОНИЈЕВИЋ ПЕТАР
+АНТОНИЈЕВИЋ СТЕВА
+АНТОНИНИ МАРИЈА
+АНТОНОВИЋ МИЛИВОЈ
+АНТОВИЋ ЉУБИЦА
+АНТУН МИЛОШ
+АНТУНОВИЋ АНДРИЈА
+АНТУНОВИЋ БОГДАН
+АНТУНОВИЋ ГИЗЕЛА
+АНТУНОВИЋ ЛАЗАР
+АНТУНОВИЋ МЛАДЕН
+АНТУНОВИЋ МОМЧИЛО
+АНТУНОВИЋ НЕДА
+АНТУНОВИЋ ТОМИСЛАВ
+АНУЧИН НЕНАД
+АНУКИЋ КОСТА
+АПАРАЦ СВЕТОЗАР
+АПАТОВИЋ ЈОВАН
+АПАТОВИЋ ЛАЗАР
+АПАТОВИЋ НИКОЛА
+АПАТОВИЋ САВА
+АПЕРЛИЋ ВОЈИН
+АПИЋ ЂОРЂЕ
+АПИЋ АНКИЦА
+АПИЋ БРАНКО ДР ВЕТЕРИНЕ
+АПИЋ БРАНКО
+АПИЋ ДУШАН
+АПИЋ ЈУЛКА
+АПИЋ КАТАРИНА
+АПИЋ МИЛАН
+АПИЋ МИЛАН
+АПИЋ МИЛИЦА
+АПИЋ МИЛОШ
+АПИЋ МИЛОРАД
+АПИЋ МИРЈАНА
+АПИЋ МИРОСЛАВ
+АПИЋ ОЛИВЕРА
+АПИЋ ПАЈА
+АПИЋ ПАЈА
+АПИЋ РАДИШКО
+АПИЋ РАДИВОЈЕ
+АПИЋ РАТОМИР ДИПЛ ИНГ
+АПИЋ СРЕТА
+АПИЋ СТЕВАН
+АПИЋ СТОЈАН
+АПИЋ СВЕТОЗАР
+АПИЋ СВЕТОЗАР
+АПИЋ ВЕРА
+АПИЋ ЗДРАВКО
+АПИЋ ЗОРКА
+АПОСТОЛОВ ЉУБОМИР
+АПОСТОЛОВИЋ БОЖИДАР
+АПОСТОЛОВИЋ МИЛОРАД
+АПРО ФРАЊА
+АПРО ЈАНОШ
+АПРО ЈОЖЕФ
+АПРО ЛАСЛО
+АПРО ЉУБОМИР
+АПРО РИХАРД
+АПРО-САМАРЏИЈА ВЕРА ДР
+АПРО СТЕВАН
+АПРО ЗОЛТАН
+АПТ БОГОЉУБ
+АПТ МАРКО
+АРШИНОВ ЂОРЂЕ
+АРШИНОВ МИЛОРАД
+АРЂЕЛАМ-ШРАК ЕДИТ
+АРЂЕЛАН ИШТВАН
+АРАЧИЋ СЛОБОДАН
+АРАЂАНИН ТИМОТИЈЕ
+АРАЂАНСКИ КАТИЦА
+АРАЂАНСКИ НАДА
+АРАЂАНСКИ-РАЈКОВ МАЈА
+АРАЦКИ ЕРЖИКА
+АРАЦКИЋ ЂОРЂЕ
+АРАЦКИЋ МИЛИЦА
+АРАЦКИЋ ЗЛАТОЈЕ ДИПЛ ПРАВНИК
+АРАДСКИ АЛЕКСАНДАР ДИПЛ ИНГ
+АРАДСКИ ИВАНКА
+АРАДСКИ МИЛОРАД
+АРАДСКИ МИТА
+АРАДСКИ РАДИВОЈ
+АРАДСКИ СОФИЈА
+АРАДСКИ СРЕТЕНКА
+АРАДСКИ СТОЈАНКА
+АРАДСКИ ЗЛАТА
+АРАЛИЦА РАЈКО
+АРАМБАШИЋ ЂОРЂЕ
+АРАМБАШИЋ ДРАГАН
+АРАНЧИЋ АЛЕКСАНДАР
+АРАНЧИЋ КАРЛО
+АРАНЂЕЛОВИЋ АЛЕКСАНДАР
+АРАНЂЕЛОВИЋ БОЖИДАР
+АРАНЂЕЛОВИЋ ДИМИТРИЈЕ
+АРАНЂЕЛОВИЋ ЊЕГОВАН
+АРАНЂЕЛОВИЋ САВА
+АРАНЂЕЛОВИЋ СРЕТЕН
+АРАНЂУС АНТОН
+АРАНИЦКИ ДИНКА
+АРАНИЦКИ ГЛИГОРИЈЕ
+АРАНИЦКИ МИЛАНА
+АРАНИЦКИ МИЛИЦА
+АРАНИЦКИ МИЛОШ ДР ПРОФ
+АРАНИЦКИ ЗАГОРКА
+АРАНИЦКИ ЗОРИЦА
+АРАНИТОВИЋ ЛАЗАР
+АРАЊОШ ПАЛ
+АРАПЧИЋ ПАШАГА
+АРАПИНАЦ МИЛИЦА
+АРАПОВИЋ ДРАГО
+АРАПОВИЋ ДРАГУТИН
+АРАР ПЕТАР
+АРАС БРАНКО
+АРАС ЈУГОСЛАВ
+АРАС ЉУБО
+АРБЕС НЕНАД
+АРБУНИЋ ПЕРА
+АРБУТИНА ЂУРЂИНКА
+АРБУТИНА БРАНИСЛАВ
+АРБУТИНА МАРИЈА
+АРБУТИНА НАТАЛИЈА
+АРБУТИНА ВЕЛИМИР
+АРБУТИНА ВЛАДИМИР
+АРЏОН НАТАЛИЈА
+АРДАЛИЋ ЈОВАНКА
+АРДАЛИЋ ЛЕПОСАВА
+АРДАЛИЋ СЛАВКО
+АРДЕЉАН ЈОН
+АРДЕЉАН МАРИЈА
+АРДЕЉАН ПЕТАР
+АРДОЦКИ ИШТВАН
+АРЕЖИНА ЂОРЂЕ
+АРЕЖИНА БОШКО
+АРИФИ ИБРАХИМ
+АРИФОВИЋ СРБИЦА
+АРИЗАТОВИЋ ЈАСМИНА
+АРКУЛА БЛАЖЕ
+АРКУЛА СЛАВИЦА
+АРКУЛА СЛАВИЦА
+АРЛОВ ДРАГАН
+АРМАЦКИ БРАНИСЛАВ
+АРМАЦКИ РАДОВАН
+АРМАЦКИ СОФИЈА
+АРМАЦКИ СТЕВАН
+АРМБРУСТЕР ЛАСЛО
+АРМБРУСТЕР МАРИЈА
+АРНАУТ ЂОРЂЕ
+АРНАУТ ДРАГИЊА
+АРНАУТ МИЛИЦА
+АРНАУТ ВАСА
+АРНОУС ТЕРЕЗА
+АРНОВЉЕВИЋ КАТАРИНА
+АРОК-ДИВЈАК ГОРДАНА
+АРПАШИ ЂОРЂЕ
+АРПАШИ ЛАСЛО
+АРСЕНИЋ ЖИВКО
+АРСЕНИЋ БРАТИСЛАВА
+АРСЕНИЋ ДИМИТРИЈЕ
+АРСЕНИЋ ДРАШКО
+АРСЕНИЋ ЈОВАНКА
+АРСЕНИЋ МОМИР
+АРСЕНИЋ ОЛГИЦА
+АРСЕНИЋ ВЕЉКО
+АРСЕНИЈЕВИЋ БОРИСЛАВ
+АРСЕНИЈЕВИЋ ЈОВАН
+АРСЕНИЈЕВИЋ МИЛАН
+АРСЕНИЈЕВИЋ МИЛОРАД
+АРСЕНИЈЕВИЋ МИЛОВАН
+АРСЕНИЈЕВИЋ МИЛУНКА
+АРСЕНИЈЕВИЋ МОМЧИЛО ДР
+АРСЕНИЈЕВИЋ МОМЧИЛО
+АРСЕНИЈЕВИЋ МОМИР
+АРСЕНИЈЕВИЋ СЛАВКА
+АРСЕНИЈЕВИЋ СМИЉА
+АРСЕНИЈЕВИЋ ВОЈИСЛАВ
+АРСЕНИЈЕВИЋ ВОЈИСЛАВ
+АРСЕНИН ЂУРЂИНКА
+АРСЕНИН АЛЕКСАНДАР
+АРСЕНИН АЛЕКСАНДАР
+АРСЕНИН БОГОЉУБ
+АРСЕНИН ГАЈА
+АРСЕНИН ЈОВАН
+АРСЕНИН ЈОВАН
+АРСЕНИН КОСТА
+АРСЕНИН КРИСТИНА
+АРСЕНИН МАРИЈА
+АРСЕНИН МИТА
+АРСЕНИН МЛАДЕН
+АРСЕНИН МЛАДЕН
+АРСЕНИН СВЕТОЗАР
+АРСЕНИН ВИТОМИР
+АРСЕНИН ВЛАДИМИР
+АРСЕЊЕВ АЛЕКСЕЈ
+АРСЕНОВ АЛЕКСА
+АРСЕНОВ АРИШКО
+АРСЕНОВ БРАНИСЛАВ
+АРСЕНОВ БРАНИСЛАВ
+АРСЕНОВ БРАНИСЛАВ
+АРСЕНОВ ДРАГИЦА
+АРСЕНОВ КАТИЦА
+АРСЕНОВ МИЛАН
+АРСЕНОВ МИРОСЛАВ
+АРСЕНОВ ПЕРА
+АРСЕНОВ ПЕТАР
+АРСЕНОВ ПЕТАР
+АРСЕНОВ РАДИВОЈ
+АРСЕНОВ САША
+АРСЕНОВ ВАСИЛИЈЕ
+АРСЕНОВИЋ ЖИВКО
+АРСЕНОВИЋ МАРИЦА
+АРСЕНОВИЋ НАДА ДР
+АРСЕНОВИЋ РАДИСАВ
+АРСЕНОВИЋ РАДОМИР
+АРСЕНОВИЋ САВО
+АРСЕНОВИЋ СРЂАН
+АРСЕНОВИЋ СТОЈАДИН
+АРСЕНОВИЋ ТРИВО
+АРСЕНОВИЋ ВЕСНА
+АРСЕНОВИЋ ВЛАДА
+АРСЕНОВИЋ ЗОРАН
+АРСИЋ ЧЕДОМИР
+АРСИЋ ЖАРКО
+АРСИЋ ЖИВКО
+АРСИЋ АЛЕКСАНДАР
+АРСИЋ ДОБРИВОЈЕ
+АРСИЋ ДУШКО
+АРСИЋ ЕРЖЕБЕТ
+АРСИЋ ЛАЗАР
+АРСИЋ ЛИДИЈА
+АРСИЋ ЉУБИША
+АРСИЋ МАРИЈА
+АРСИЋ МИХАИЛО
+АРСИЋ МИХОЉКА
+АРСИЋ МИЛОШ
+АРСИЋ МИЛОСЛАВ ДР
+АРСИЋ МИЛУТИН
+АРСИЋ МИОДРАГ
+АРСИЋ МИОМИР
+АРСИЋ МИРЈАНА
+АРСИЋ МИРЈАНА
+АРСИЋ МОМЧИЛО
+АРСИЋ ОБРАД
+АРСИЋ ПЕРИЦА
+АРСИЋ ПЕТАР
+АРСИЋ РАДОМИР
+АРСИЋ РАДОСАВ
+АРСИЋ САВЕТА
+АРСИЋ СЛАВКА
+АРСИЋ СЛАВОЈКА
+АРСИЋ СЛАВОЉУБ
+АРСИЋ СТАНКО
+АРСИЋ ТОМИСЛАВ
+АРСИЋ ТОМИСЛАВ
+АРСИЋ ТОМИСЛАВ
+АРСИЋ ТРАЈАН
+АРСИЋ ЗОРАН
+АРСИЋ ЗОРАН
+АРСИЋ ЗОРАН
+АРСИКИН МИЛАНКО
+АРСИКИН ПАВЛЕ
+АРСЛАНАГИЋ НАЂА
+АРСОВИЋ АЛЕКСАНДАР
+АРСОВИЋ ДОБРОСАВ
+АРСОВИЋ ЈОВАН
+АРСОВИЋ МАТЕЈА
+АРСОВИЋ МИЛАН
+АРСОВИЋ МИЛИЦА
+АРТ ЂУРА
+АРТ ЗВОНИМИР
+АРТУКОВ ДУШАН
+АРТУКОВ ОЛГА
+АРУЛА МИЋО
+АРВАИ АЛЕКСАНДАР
+АРВАИ АРПАД
+АРВАИ ДАНИЦА
+АРВАИ ПАВАО
+АРВАИ ТЕРЕЗА
+АРВАЈИ ПАВАО
+АРВАНИТИДИС СТЕРЈОС
+АСАНИ АСАН
+АСАНИ ХУРИША
+АСАНИ НАИЉА
+АСАНИ НАЗИФА
+АСАНОВ ЗОРА
+АСАНОВИЋ МИЛЕВА
+АСАНОВИЋ СТАНКА
+АСАНОВИЋ ЗУХРА
+АСАНОВСКИ РОЗАЛИЈА
+АСИЋ МИЛАН
+АСОДИ ЈАНОШ
+АСОДИ ЈОЖЕФ
+АСОДИ МИРКО
+АСОТИЋ МУАМЕР
+АСТАХОВ-ЈЕРЕМИЋ МАРИЈА
+АСТАЛОШ ИШТВАН
+АСУРЏИЋ КРИСТИНА
+АСУРЏИЋ ЛУКА
+АСУРЏИЋ МИЛОШ
+АСУРЏИЋ МИЛОШ
+АСУРЏИЋ МИЛОШ
+АСУРЏИЋ МОЛОШ
+АСУРЏИЋ НИКОЛА
+АСУРЏИЋ НИКОЛА
+АСУРЏИЋ СОФИЈА
+АСУРЏИЋ СТЕВАН
+АСУРЏИЋ ТЕОДОР
+АСУРЏИЋ ТЕОДОР
+АТАНАЦКОВ ЂОРЂЕ
+АТАНАЦКОВ БОРА
+АТАНАЦКОВ БОРИВОЈ
+АТАНАЦКОВ ДРАГАН
+АТАНАЦКОВ ИЛОНА
+АТАНАЦКОВ МАРИЈА
+АТАНАЦКОВ МИРЈАНА
+АТАНАЦКОВ МИРКО
+АТАНАЦКОВ НОВА
+АТАНАЦКОВ ОЛГА
+АТАНАЦКОВ ПАВЛЕ
+АТАНАЦКОВ САША
+АТАНАЦКОВ СТЕВАН
+АТАНАЦКОВ СТЕВАН
+АТАНАЦКОВИЋ ЖИВАН
+АТАНАЦКОВИЋ ЂОРЂЕ
+АТАНАЦКОВИЋ АЛЕКСАНДАР
+АТАНАЦКОВИЋ АНА
+АТАНАЦКОВИЋ БОГОБОЈ
+АТАНАЦКОВИЋ БОРИСЛАВ
+АТАНАЦКОВИЋ БОРИСЛАВ
+АТАНАЦКОВИЋ БРАНКА ДИПЛ ПРАВНИК
+АТАНАЦКОВИЋ ДРАГИША ДР
+АТАНАЦКОВИЋ ДУШАН ДР ЛЕКАР
+АТАНАЦКОВИЋ ГРАДИМИР
+АТАНАЦКОВИЋ ИВАН
+АТАНАЦКОВИЋ КАТАРИНА
+АТАНАЦКОВИЋ ЛАЗА
+АТАНАЦКОВИЋ ЛУКА
+АТАНАЦКОВИЋ МИЛЕНКО
+АТАНАЦКОВИЋ МИЛЕНКО
+АТАНАЦКОВИЋ МИРКО
+АТАНАЦКОВИЋ МЛАДЕН
+АТАНАЦКОВИЋ РАТКО
+АТАНАЦКОВИЋ САВА
+АТАНАЦКОВИЋ СЛАЂАНА
+АТАНАЦКОВИЋ СТЕВАН
+АТАНАЦКОВИЋ СВЕТОМИР
+АТАНАЦКОВИЋ ТЕОДОР ДР
+АТАНАЦКОВИЋ ТОША
+АТАНАЦКОВИЋ ВАСИЉКА
+АТАНАЦКОВИЋ ВЛАДИМИР ДИПЛ ИНГ
+АТАНАЦКОВИЋ ЗОРАН
+АТАНАСИАДИС ХРИСТОФОРОС
+АТАНАСИЈАДИС АНЕСТИ
+АТАНАСКОВИЋ ГОРДАНА
+АТАНАСКОВИЋ МИРЈАНА
+АТАНАСКОВИЋ МИРОЉУБ
+АТАНАСОСКИ СТЕВО
+АТАНАСОВ МАРКО
+АТАНАСОВСКИ РИСТО
+АТАРАЦ ДРАГОШ
+АТЕЉЕВИЋ ДУШАН
+АТЕЉЕВИЋ МИЛОВАН
+АТИЋ ДАНИЦА
+АТЛАГИЋ БРАНКО
+АТЛАГИЋ ЈОВАН
+АТЛАГИЋ МИЛАН
+АТЛАГИЋ МИЛИЦА
+АТЛАГИЋ ЗДРАВКО
+АТЛАГИЋ ЗДРАВКО
+АТЛАС ЂОРЂЕ ДР
+АТЛАС ИВАН
+АТЛАС МИРКО
+АТЛИЋ ЛАЗАР
+АТЛИЋ МИЛАН
+АУЖИНА МИЛИЦА
+АУЖИНА МИРА
+АУЖИНА МИРОСЛАВА
+АУЕР МАРА
+АУГУСТИН ИВИЦА
+АУГУСТИНОВ АНТОН
+АУГУСТИНОВ ИВАН
+АУЛИК ИЛОНА
+АУРЕЛИЈАН ЂАН
+АВАКУМОВИЋ ЉУБИНКА
+АВАКУМОВИЋ НИКОЛА
+АВДАЛОВИЋ ГОРДАНА
+АВДАЛОВИЋ МИЛАДИН
+АВДАЛОВИЋ ВИДОСАВА
+АВДАЛОВИЋ ВЛАДИМИР
+АВДИ РАМАДАН
+АВДИЋ АЛЕКСАНДАР
+АВДИЋ ФУАД
+АВДИЋ ГОРДАНА
+АВДИЋ ХУСНИЈА
+АВДИЋ МАЛИЋ
+АВДИЋ МУЛИЈА
+АВЕМАРИА ПЕТАР
+АВРАМОВ БОШКО
+АВРАМОВ БРАНИСЛАВ
+АВРАМОВ ДИМИТРИЈЕ
+АВРАМОВ ДОБРИЛА
+АВРАМОВ ГАВРА
+АВРАМОВ ИВАН
+АВРАМОВ ЈОВАНКА
+АВРАМОВ ЈОВАН
+АВРАМОВ ЉИЉАНА
+АВРАМОВ МИЛАДИН
+АВРАМОВ МИЛЕВА
+АВРАМОВ МИЛКА
+АВРАМОВ МИРЈАНА
+АВРАМОВ МИТА
+АВРАМОВ ПАЈА
+АВРАМОВ ПЕРА
+АВРАМОВ ПЕТАР
+АВРАМОВ РАДИВОЈ
+АВРАМОВ СТЕВАН
+АВРАМОВ СВЕТОЛИК
+АВРАМОВ СВЕТОЛИК
+АВРАМОВ ЗОРАН
+АВРАМОВ ЗОРАН
+АВРАМОВИЋ ЖИВКО
+АВРАМОВИЋ БОРИВОЈЕ
+АВРАМОВИЋ ДАРИНКА
+АВРАМОВИЋ ДИМИТРИЈЕ
+АВРАМОВИЋ ДИМИТРИЈЕ
+АВРАМОВИЋ ДРАГО
+АВРАМОВИЋ ФРАНЦИШКА
+АВРАМОВИЋ ГОЈКО
+АВРАМОВИЋ ИЛИНКА
+АВРАМОВИЋ ЈОВАН ДР ЛЕКАР
+АВРАМОВИЋ ЉУБИША
+АВРАМОВИЋ ЉУБИНКО
+АВРАМОВИЋ ЉУБОМИР
+АВРАМОВИЋ МИЛАН
+АВРАМОВИЋ МИЛАН
+АВРАМОВИЋ МИЛАН
+АВРАМОВИЋ МИЛИВОЈ
+АВРАМОВИЋ МИРЈАНА
+АВРАМОВИЋ МИТА
+АВРАМОВИЋ МОМИР
+АВРАМОВИЋ НИКОЛА
+АВРАМОВИЋ РАДИВОЈ
+АВРАМОВИЋ РАДОСЛАВ
+АВРАМОВИЋ РАТКО
+АВРАМОВИЋ РАТКО
+АВРАМОВИЋ СИНИША
+АВРАМОВИЋ СТАНКА
+АВРАМОВИЋ СТЕВАН
+АВРАМОВИЋ ТЕОДОР
+АВРАМОВИЋ ТОМА
+АВРАМОВИЋ ВЕЉКО
+АВРАМОВИЋ ВЕРА
+АВРАМОВИЋ ВЕРА
+АВРАМОВИЋ ВЕРА
+АВРАМОВСКИ БОРИС
+АЗЛЕН БОРИСЛАВ
+БАЧА ШАНДОР
+БАЧА ЛАДИСЛАВ
+БАЧАНОВИЋ НЕНАД
+БАЧИЋ ЧЕДОМИР ПРОФЕСОР
+БАЧИЋ ЖИВКО
+БАЧИЋ ЂОРЂЕ
+БАЧИЋ АНТЕ
+БАЧИЋ БРАНКА
+БАЧИЋ ДРАГОСЛАВ
+БАЧИЋ ЈОВАН
+БАЧИЋ КАРА
+БАЧИЋ МАРИЈА
+БАЧИЋ МИЛАН ДР ВЕТЕРИНЕ
+БАЧИЋ МИЛИЦА
+БАЧИЋ МИРКО
+БАЧИЋ НИКОЛА
+БАЧИЋ СМИЉАНА
+БАЧКАЛИЋ ЂОРЂЕ
+БАЧКАЛИЋ АЛЕКСАНДАР
+БАЧКАЛИЋ ДОБРА
+БАЧКАЛИЋ ДОБРИЦА
+БАЧКАЛИЋ ЈОВАН
+БАЧКАЛИЋ ЛАЗАР
+БАЧКАЛИЋ ЉУБИЦА
+БАЧКАЛИЋ ЉУБОМИР
+БАЧКАЛИЋ МИЛАН
+БАЧКАЛИЋ МИЛА
+БАЧКАЛИЋ НОВАК
+БАЧКО МИЛАНА
+БАЧКО ПЕТАР
+БАЧЛИЋ ЂОРЂЕ
+БАЧЛИЋ БРАНИСЛАВ
+БАЧЛИЋ ЛАЗАР
+БАЧЛИЋ ЉУБИЦА
+БАЧЛИЈА ЈОСИП
+БАЧЛИЈА МАРКО
+БАЧЛИЈА РУЖИЦА
+БАЧЛИЈА СЛАВИЦА
+БАЧУЛОВ СТЕВАН
+БАЧВАНИН ЖИВОЈИН
+БАЧВАНСКИ БОШКО
+БАЧВАНСКИ СТЕВАН ДР ИНГ
+БАШ ЈУЛИА
+БАША ДУШАН
+БАША ЈОВАН
+БАШЕВИЋ ЧЕДОМИР
+БАШЕВИЋ НЕВЕНКА
+БАШИЧЕВИЋ ВОЈИН ДР
+БАШИЧЕВИЋ ВОЈИН
+БАШИЋ ЖАРКО
+БАШИЋ ЂУРО
+БАШИЋ АЛЕКСАНДАР
+БАШИЋ БИЉАНА
+БАШИЋ БОЖО
+БАШИЋ ДРАГУТИН
+БАШИЋ ДРАГУТИН
+БАШИЋ ДУШАН
+БАШИЋ ДУШАН
+БАШИЋ ДУШАН
+БАШИЋ ДУШАН
+БАШИЋ ДУШАН
+БАШИЋ ФРАЊО
+БАШИЋ ГАВРА
+БАШИЋ ГРУЈИЦА
+БАШИЋ ИДРИЗ
+БАШИЋ ИЛИЈА
+БАШИЋ ЈАНКО
+БАШИЋ ЈЕЛА
+БАШИЋ ЈЕЛЕНА
+БАШИЋ ЈОВАН
+БАШИЋ ЈОВАН
+БАШИЋ ЈУРЕ
+БАШИЋ ЛАЗАР
+БАШИЋ ЉУБИЦА
+БАШИЋ ЉУБИЦА
+БАШИЋ ЛУКА
+БАШИЋ МАРИЈА
+БАШИЋ МИЛАН
+БАШИЋ МИЛАН
+БАШИЋ МИЛА
+БАШИЋ МИЛИЦА
+БАШИЋ МИЛУТИН ДИПЛ ИНГ
+БАШИЋ МИТА
+БАШИЋ НЕДЕЉКА
+БАШИЋ НЕСТОР
+БАШИЋ НИКОЛА
+БАШИЋ ПАВЛЕ
+БАШИЋ ПЕТАР
+БАШИЋ РАДОСЛАВ
+БАШИЋ САВА
+БАШИЋ САВА
+БАШИЋ СИМКА
+БАШИЋ СЛОБОДАНКА
+БАШИЋ СЛОБОДАНКА
+БАШИЋ СЛОБОДАН
+БАШИЋ СЛОБОДАН
+БАШИЋ СОЊА
+БАШИЋ СПАСОЈЕ
+БАШИЋ СТЕВАН
+БАШИЋ ТОМИСЛАВ
+БАШИЋ ВЕРА
+БАШИЋЕВИЋ ДЕСА
+БАШИЦА МИЛАН
+БАШИЦА РАНКО
+БАШИЦА РИСТО
+БАШКАЛО МАРКО
+БАШНЕЦ ИВАН
+БАШТИЋ БОЖИДАР
+БАШТИЋ МИЛКА
+БАШТИЋ ПЕТАР
+БАШТОВАНОВ ДАНИЦА
+БАШТОВАНОВ СТЕВАН
+БАШТОВАНОВИЋ ИВАН
+БАШТОВАНОВИЋ МИЛАН
+БАЋАН ДРАГОМИР
+БАЋАНОВ ДРАГИЦА
+БАЋАНОВ СТАНКО
+БАЋАНОВ СТЕВАН
+БАЋАНОВИЋ ДАНИЦА
+БАЋАНОВИЋ ЈУЦА
+БАЋАНОВИЋ МИЛАН
+БАЋАНОВИЋ МИЛОШ
+БАЋАНОВИЋ НЕМАЊА
+БАЋАНОВИЋ СИНИША
+БАЋАНОВИЋ СТОЈАН
+БАЋИЋ ЉИЉАНА
+БАЋИЋ ЉУБОМИР
+БАЋИНА МЛАДЕН
+БАЋИНАЦ РАДОСЛАВ
+БАЖАНЧИК БЕЛА
+БАЖАНТИК МАРА
+БАЖДАР БРУНО
+БАЖДАР МИЛОРАД
+БАЖЕНОВ АНГЕЛИНА
+БАЂИ ШАНДОР
+БАЂИ-РИБАР РЕНАТА
+БАЂИН СМИЉКА
+БАБА ИЛОНКА
+БАБА ЈАНОШ
+БАБА ЈОН
+БАБАЈИЋ АЛЕКСАНДАР
+БАБАРИКИН МАРКО
+БАБЕЦ ЗОРАН
+БАБИ ИВАН
+БАБИЋ ЖАРКО
+БАБИЋ ЖЕЉКА
+БАБИЋ ЖИВАН
+БАБИЋ ЖИВАН
+БАБИЋ ЂОРЂЕ
+БАБИЋ ЂОРЂЕ
+БАБИЋ ЂОРЂЕ
+БАБИЋ ЂОРЂЕ
+БАБИЋ ЂОРЂЕ
+БАБИЋ ЂУРЂИЦА
+БАБИЋ ЂУРА
+БАБИЋ ЂУРА
+БАБИЋ ЂУРО
+БАБИЋ АЦА
+БАБИЋ АИДА
+БАБИЋ АЛЕКСАНДАР
+БАБИЋ АЛЕКСАНДАР
+БАБИЋ АЛЕКСАНДРА
+БАБИЋ АЛЕКСА
+БАБИЋ АЛКА
+БАБИЋ АНА
+БАБИЋ АНА
+БАБИЋ АНА
+БАБИЋ БИЉАНА
+БАБИЋ БОЖИЦА
+БАБИЋ БОЖИДАРКА
+БАБИЋ БОГДАН
+БАБИЋ БОЈА
+БАБИЋ БОРИША
+БАБИЋ БОРИСЛАВА
+БАБИЋ БОРИВОЈЕ
+БАБИЋ БРАНКО
+БАБИЋ ЦВИЈО
+БАБИЋ ДАНЕ
+БАБИЋ ДАРИНКА
+БАБИЋ ДАВИД
+БАБИЋ ДРАШКО
+БАБИЋ ДРАГАНА
+БАБИЋ ДРАГАН
+БАБИЋ ДРАГИША
+БАБИЋ ДРАГИША
+БАБИЋ ДРАГИША
+БАБИЋ ДРАГИША
+БАБИЋ ДРАГИША
+БАБИЋ ДРАГО
+БАБИЋ ДУШАНКА
+БАБИЋ ДУШАН
+БАБИЋ ДУШАН
+БАБИЋ ДУШАН
+БАБИЋ ДУШАН
+БАБИЋ ДУШИЦА
+БАБИЋ ГОЈКО
+БАБИЋ ГОЈКО
+БАБИЋ ГОРАН
+БАБИЋ ГОРДАНА
+БАБИЋ ГОРИЦА
+БАБИЋ ГОСПАВА
+БАБИЋ ХЕЛЕНА
+БАБИЋ ИЛИЈА
+БАБИЋ ИЛИЈА
+БАБИЋ ИЛИЈА
+БАБИЋ ИЛИНКА
+БАБИЋ ИВАН
+БАБИЋ ИВАН
+БАБИЋ ИВАН
+БАБИЋ ЈОВАН
+БАБИЋ ЈОВАН
+БАБИЋ ЈОВАН
+БАБИЋ ЈОВАН
+БАБИЋ ЈОВАН
+БАБИЋ КАТИЦА
+БАБИЋ КАЗИМИР
+БАБИЋ-КОПЉАН РОЖА
+БАБИЋ КОСА
+БАБИЋ КОСТАДИН
+БАБИЋ КОСТА
+БАБИЋ КРСТА
+БАБИЋ ЛАЗО
+БАБИЋ ЛАЗО
+БАБИЋ ЛЕОНИД
+БАБИЋ ЉИЉАНА
+БАБИЋ ЉИЉАНА
+БАБИЋ ЉИЉАНА
+БАБИЋ ЉУБИША
+БАБИЋ ЉУБИЦА
+БАБИЋ ЉУБОМИР
+БАБИЋ ЉУБОМИР
+БАБИЋ ЛУКА
+БАБИЋ МАЈА
+БАБИЋ МАРИЈАНА
+БАБИЋ МАРИЈА
+БАБИЋ МАРИНКО
+БАБИЋ МАРКО
+БАБИЋ МАТО
+БАБИЋ МИЈО
+БАБИЋ МИЛАДИН
+БАБИЋ МИЛАН
+БАБИЋ МИЛАН
+БАБИЋ МИЛАН
+БАБИЋ МИЛАН
+БАБИЋ МИЛАН
+БАБИЋ МИЛАН
+БАБИЋ МИЛАН
+БАБИЋ МИЛАН
+БАБИЋ МИЛАН
+БАБИЋ МИЛАН
+БАБИЋ МИЛЕТА
+БАБИЋ МИЛЕВА
+БАБИЋ МИЛЕВА
+БАБИЋ МИЛИЋ
+БАБИЋ МИЛИВОЈЕ ДИПЛ ИНГ
+БАБИЋ МИЛИВОЈ
+БАБИЋ МИЛИВОЈ
+БАБИЋ МИЛОШ
+БАБИЋ МИЛОШ
+БАБИЋ МИЛОШ
+БАБИЋ МИЛОШ
+БАБИЋ МИЛОШ
+БАБИЋ МИЛОШ
+БАБИЋ МИЛОРАД
+БАБИЋ МИЛОРАД
+БАБИЋ МИЛОРАД
+БАБИЋ МИЛОСАВ
+БАБИЋ МИРА
+БАБИЋ МИРА
+БАБИЋ МИРЈАНА
+БАБИЋ МИРОСЛАВ
+БАБИЋ МИРОСЛАВ
+БАБИЋ МИРОСЛАВ
+БАБИЋ МОМЧИЛО
+БАБИЋ МОМИР
+БАБИЋ-МРКШИЋ ЈУЛКА
+БАБИЋ МУРИЗ
+БАБИЋ НАДА
+БАБИЋ НАДА
+БАБИЋ НАДА
+БАБИЋ НАТАША
+БАБИЋ НЕДЕЉКО
+БАБИЋ НЕНАД
+БАБИЋ НИКОЛА
+БАБИЋ НИКОЛА
+БАБИЋ НИКОЛА
+БАБИЋ ОЛГИЦА
+БАБИЋ ОСТОЈА
+БАБИЋ ОСТОЈА
+БАБИЋ ПЕРСА
+БАБИЋ ПЕРСИДА
+БАБИЋ ПЕТАР
+БАБИЋ ПЕТАР
+БАБИЋ ПЕТАР
+БАБИЋ ПЕТАР
+БАБИЋ ПЕТАР
+БАБИЋ ПРЕДРАГ
+БАБИЋ РАДЕНКО
+БАБИЋ РАДЕ
+БАБИЋ РАДЕ
+БАБИЋ РАДИНКА
+БАБИЋ РАДИСАВ
+БАБИЋ РАДИВОЈЕ
+БАБИЋ РАДОЈЕ
+БАБИЋ РАДОЈКА
+БАБИЋ РАДОЈКА
+БАБИЋ РАДОМИР
+БАБИЋ РАДОСЛАВ
+БАБИЋ РАДОВАН
+БАБИЋ РАДОВАН
+БАБИЋ РАЈКО
+БАБИЋ РАЈКО
+БАБИЋ РАНКО
+БАБИЋ САША
+БАБИЋ САВО
+БАБИЋ СЛАДЕ
+БАБИЋ СЛАВИЦА
+БАБИЋ СЛОБОДАН
+БАБИЋ СЛОБОДАН
+БАБИЋ СМИЉКА
+БАБИЋ СМИЉКА
+БАБИЋ СНЕЖАНА
+БАБИЋ СОФИЈА
+БАБИЋ СТАКА
+БАБИЋ СТАНКО
+БАБИЋ СТЕВАН
+БАБИЋ СТЕВАН
+БАБИЋ СТЕВАН
+БАБИЋ СТЕВАН
+БАБИЋ СТЕВАН
+БАБИЋ СТЕВО
+БАБИЋ СВЕТЛАНА
+БАБИЋ СВЕТЛАНА
+БАБИЋ ТОМО
+БАБИЋ ВАСА
+БАБИЋ ВАСА
+БАБИЋ ВЕРА
+БАБИЋ ВЕРИЦА
+БАБИЋ ВЕСНА
+БАБИЋ ВИДОСАВА
+БАБИЋ ВУЈО
+БАБИЋ ВУКМАН
+БАБИЋ ЗАГОРКА
+БАБИЋ ЗДРАВКО
+БАБИЋ ЗОРАН
+БАБИЋ ЗОРАН
+БАБИЋ ЗОРКА
+БАБИЈАНОВИЋ ЈУЛКА
+БАБИЛОН ВЛАДИМИР
+БАБИЛОН ВЛАДИМИР
+БАБИН ЂОРЂЕ
+БАБИН БОГДАН
+БАБИН БРАНИСЛАВ
+БАБИН ДИМИТРИЈЕ
+БАБИН ДУШАН
+БАБИН ЈОВАН
+БАБИН КАТАРИНА
+БАБИН КРИСТИНА
+БАБИН ЛАЗАР
+БАБИН ЉУБОМИР
+БАБИН МАРИЈА
+БАБИН МАРИН
+БАБИН МИХАЈЛО
+БАБИН МИЛАН
+БАБИН МИЛЕНА
+БАБИН МИЛЕНКО ДР ИНГ
+БАБИН МИЛЕНКО
+БАБИН МИОДРАГ
+БАБИН МИРЈАНА
+БАБИН МИРЈАНА
+БАБИН НАДА
+БАБИН НИКОЛА
+БАБИН ПЕТАР
+БАБИН РАДОЈКА
+БАБИН САВА
+БАБИН ЗОРАН
+БАБЈАК СЛОБОДАН
+БАБКА ЈАН
+БАБОРАЦ ДРАГАН
+БАБОВИЋ ЧЕДОМИР
+БАБОВИЋ БРАНИСЛАВ
+БАБОВИЋ ЈАСМИНА
+БАБОВИЋ ЈЕЛЕНА
+БАБОВИЋ ЈОВАН
+БАБОВИЋ ЉУБОМИР
+БАБОВИЋ МИХАИЛО
+БАБОВИЋ МИЛИСАВ
+БАБОВИЋ МОМЧИЛО
+БАБОВИЋ СИНИША ДР
+БАБОВИЋ ТОМИСЛАВ
+БАБОВИЋ ЗОРА
+БАЦКОВИЋ ДОБРОСЛАВ
+БАЦКОВИЋ ДРАГАН
+БАЦКОВИЋ МАРИЈА
+БАЦКОВИЋ МИЛИЦА
+БАЦКОВИЋ МИЛИВОЈЕ
+БАЦКОВИЋ МИЛОРАД
+БАЦКОВИЋ МИЛОВАН
+БАЦКОВИЋ РАДИВОЈЕ
+БАДА ИШТВАН
+БАДАЛИЋ МАЈДА
+БАДАЊАЦ ЈЕЛЕНА
+БАДЊАР МИЛАН
+БАДЊАР МИЛИВОЈЕ
+БАДЊАР ВЛАДО
+БАДЊАРЕВИЋ АЛЕКСАНДАР ДИПЛ ПРАВНИК
+БАДЊАРЕВИЋ БОЖИДАР
+БАДЊАРЕВИЋ МИЛАНА
+БАДЊАРЕВИЋ МИОДРАГ
+БАДЊАРЕВИЋ РАДОШ
+БАДЊАРЕВИЋ СТАНА
+БАДОВИНАЦ ДРАГУТИН
+БАДОВИНАЦ НИКОЛА
+БАДРКИЋ НИКОЛА
+БАДРЉИЦА ДУШИЦА
+БАДРЉИЦА ГАВРА
+БАДРЉИЦА ЛАЗАР
+БАДРЉИЦА МЛАДЕН
+БАДРЉИЦА ОЛГА
+БАДРЉИЦА ПЕТАР
+БАДРЉИЦА РАДОЈКА
+БАФУС ЛАСЛО
+БАГИ ЂУЛА
+БАГИ-БЕНКОВИЋ ПАЛ
+БАГИ ФЕРЕНЦ
+БАГИ ИШТВАН
+БАГИ ЈАНОШ
+БАГИЋ МИРЈАНА
+БАГИЊ ЛАЗАР
+БАГИЊ ЛЕПОСАВА
+БАГЛАВА МИЛАН
+БАГОЊА ЈАН
+БАГОЊА МАРИЈА
+БАГОЊА НАДА
+БАХ ЕРНА
+БАХМАН МАРКО
+БАХТИЈАРЕВИЋ ЈЕЛА
+БАХУН НИКОЛА
+БАХУН ПЕТАР
+БАИЋ МИРКО
+БАИЋ СТАНА
+БАЈЧЕТА МОМЧИЛО
+БАЈЧЕТА РАДОСЛАВ
+БАЈЧЕТИЋ БОГДАН ДР
+БАЈЧЕТИЋ ЉУБИЦА
+БАЈЧЕТИЋ МАРИЈА
+БАЈЧЕТИЋ МАРКО
+БАЈЧЕТИЋ МИЛЕНКО
+БАЈЧЕТИЋ МИРКО
+БАЈЧЕТИЋ ПАВЛЕ
+БАЈЧЕТИЋ ПЕТАР
+БАЈЧЕВ ЈОВАН
+БАЈЧЕВ МИРЈАНА
+БАЈШАНСКИ ДРАГОСЛАВ
+БАЈШАНСКИ ЈОВАН
+БАЈШАНСКИ ЉИЉАНА
+БАЈШАНСКИ МИЛАДИН
+БАЈШАНСКИ МИЛЕНКО
+БАЈШАНСКИ РАДОВАН
+БАЈШАНСКИ САВА
+БАЈШАНСКИ САВА
+БАЈШАНСКИ СМИЉА
+БАЈШАНСКИ ЗОРАН
+БАЈШЕВ ДРАГОМИР
+БАЈШЕВ ИЛИЈА
+БАЈШЕВ МИЛИЦА
+БАЈШЕВ СТЕВАН
+БАЈШЕВ СВЕТИСЛАВ
+БАЈШИЋ ЖАРКО
+БАЈШИЋ ДРАГАН
+БАЈШИЋ МИЛАН
+БАЈА ЂОРЂЕ
+БАЈА СТЕВАН
+БАЈАЦ БОРИСЛАВ
+БАЈАЦ ЕМИЛИЈА ДР
+БАЈАЦ ИСАК
+БАЈАЦ ЉУБИЦА
+БАЈАЦ МИЛАН
+БАЈАЦ МИЛОШ
+БАЈАЦ МИЛУТИН
+БАЈАЦ СВЕТЛАНА
+БАЈАЦ ВЕРА
+БАЈАГИЋ КАТИЦА
+БАЈАГИЋ МИЛЕНА
+БАЈАГИЋ МИОДРАГ
+БАЈАГИЋ МОМЧИЛО
+БАЈАГИЋ МОМЧИЛО
+БАЈАГИЋ ПЕТАР
+БАЈАГИЋ РАДА
+БАЈАГИЋ РАДЕ
+БАЈАГИЋ САВО
+БАЈАГИЋ СВЕТОЗАР
+БАЈАГИЋ ТАМАРА
+БАЈАКИЋ МАРА
+БАЈАЛО ЈОВАНКА
+БАЈАЛОВИЋ СОФИЈА
+БАЈАЛОВИЋ СВЕТИСЛАВ
+БАЈАТ МИЛОРАД
+БАЈАТ МИРКО
+БАЈАТ МИРКО
+БАЈАТ НЕДЕЉКО
+БАЈАТ НИКОЛА
+БАЈАТ РАДОВАН
+БАЈАТ ТРИФУН
+БАЈАТ ВЕЛИМИР
+БАЈАЗЕТ ЈЕВГЕНИЈА
+БАЈАЗЕТ ТОДОР
+БАЈАЗЕТ ВЕРА ДИПЛ ИНГ
+БАЈАЗЕТОВ ДРАГАН
+БАЈАЗЕТОВ ДРАГАН
+БАЈАЗЕТОВ РАДИВОЈ
+БАЈАЗИТ МИЛАН
+БАЈБАРАК ИВАН
+БАЈГО ЗОЛТАН
+БАЈИ АРАНКА
+БАЈИ-ХРИБАР ЈУЛИЈА
+БАЈИ СТЕВАН
+БАЈИЋ ЧЕДОМИР
+БАЈИЋ ЖАРКО
+БАЈИЋ ЖИКА
+БАЈИЋ ЖИВКО
+БАЈИЋ ЖИВОЈИН
+БАЈИЋ ЂОРЂЕ ДР
+БАЈИЋ ЂУРА
+БАЈИЋ ЂУРО
+БАЈИЋ АЛЕКСАНДАР
+БАЈИЋ БОШКО
+БАЈИЋ БОЖИЦА
+БАЈИЋ БОГДАН
+БАЈИЋ БОГОЉУБ
+БАЈИЋ БОЈКА
+БАЈИЋ БОРА
+БАЈИЋ БОРИВОЈЕ
+БАЈИЋ БОСИЉКА
+БАЈИЋ БРАНИСЛАВ
+БАЈИЋ БРАНИСЛАВ
+БАЈИЋ БРАНИСЛАВ
+БАЈИЋ БРАНИСЛАВ
+БАЈИЋ БРАНИСЛАВ
+БАЈИЋ БРАНКО
+БАЈИЋ ДАНИЦА
+БАЈИЋ ДИМИТРИЈЕ
+БАЈИЋ ДРАГИЦА
+БАЈИЋ ДРАГОСЛАВ
+БАЈИЋ ДРАГУТИН
+БАЈИЋ ДУШАН
+БАЈИЋ ДУШАН
+БАЈИЋ ДУШАН
+БАЈИЋ ДУШАН
+БАЈИЋ ДУШАН
+БАЈИЋ ДУШАН
+БАЈИЋ ДУШКО
+БАЈИЋ ГОЈКО
+БАЈИЋ ГОРДАНА
+БАЈИЋ ИЛИЈА
+БАЈИЋ ИЛИНКА
+БАЈИЋ ИЛОНА
+БАЈИЋ ЈАГОШ
+БАЈИЋ ЈАНКО
+БАЈИЋ ЈАНКО
+БАЈИЋ ЈЕЛИЦА
+БАЈИЋ ЈОВАН
+БАЈИЋ ЈОВАН
+БАЈИЋ ЈОВАН
+БАЈИЋ ЈОВИЦА
+БАЈИЋ КРСТА
+БАЈИЋ ЛАЗАР
+БАЈИЋ ЛУКА
+БАЈИЋ МАРА
+БАЈИЋ МАРА
+БАЈИЋ МАРИЦА
+БАЈИЋ МАРИЈА
+БАЈИЋ МАРИЈА
+БАЈИЋ МЕЛАНИЈА
+БАЈИЋ МИЋО
+БАЈИЋ МИХАЈЛО ДР
+БАЈИЋ МИЛАН ДР ПРОФ
+БАЈИЋ МИЛАН
+БАЈИЋ МИЛАН
+БАЈИЋ МИЛАН
+БАЈИЋ МИЛАН
+БАЈИЋ МИЛАН
+БАЈИЋ МИЛАН
+БАЈИЋ МИЛАН
+БАЈИЋ МИЛЕНКО
+БАЈИЋ МИЛЕ
+БАЈИЋ МИЛИЦА
+БАЈИЋ МИЛКА
+БАЈИЋ МИЛОВАН
+БАЈИЋ МИОДРАГ
+БАЈИЋ МИРКО
+БАЈИЋ МИРКО
+БАЈИЋ МИРОСЛАВ
+БАЈИЋ МИРОСЛАВ
+БАЈИЋ МИРОСЛАВ
+БАЈИЋ МИРОСЛАВ
+БАЈИЋ МИТАР
+БАЈИЋ МИТАР
+БАЈИЋ МИТА
+БАЈИЋ МЛАДЕН
+БАЈИЋ МЛАДЕН
+БАЈИЋ МЛАДЕН
+БАЈИЋ МОМЧИЛО
+БАЈИЋ НАДА
+БАЈИЋ НАДА
+БАЈИЋ НАТАША
+БАЈИЋ НЕЂО
+БАЈИЋ НЕВЕНА
+БАЈИЋ НИКОЛА
+БАЈИЋ НИКОЛА
+БАЈИЋ ПЕРА
+БАЈИЋ ПЕРО
+БАЈИЋ ПЕРСИДА
+БАЈИЋ ПЕТАР
+БАЈИЋ ПЕТАР
+БАЈИЋ РАДЕ
+БАЈИЋ РАДЕ
+БАЈИЋ РАДЕ
+БАЈИЋ РАДИВОЈ
+БАЈИЋ РАДМИЛА
+БАЈИЋ РАДОСЛАВ
+БАЈИЋ САВА
+БАЈИЋ САВО
+БАЈИЋ СИМО
+БАЈИЋ СИНИША
+БАЈИЋ СЛАВКО
+БАЈИЋ СЛАВКО
+БАЈИЋ СНЕЖАНА
+БАЈИЋ СНЕЖАНА
+БАЈИЋ СОФИЈА
+БАЈИЋ СОФИЈА
+БАЈИЋ СОФИЈА
+БАЈИЋ СОЊА
+БАЈИЋ СПАСОЈЕ
+БАЈИЋ СТАНИСЛАВ
+БАЈИЋ СТЕВАН
+БАЈИЋ СТЕВАН
+БАЈИЋ СТЕВАН
+БАЈИЋ СТЕВАН
+БАЈИЋ СВЕТЛАНА
+БАЈИЋ ТОДОР
+БАЈИЋ ТОМИСЛАВ
+БАЈИЋ-ТУРИНСКИ МИРЈАНА
+БАЈИЋ ВАСА
+БАЈИЋ ВАСА
+БАЈИЋ ВЕРОНА
+БАЈИЋ ВЕСЕЛИН
+БАЈИЋ ВИДА
+БАЈИЋ ВЛАДИМИР
+БАЈИЋ ВЛАДИМИР
+БАЈИЋ ВЛАДИМИР
+БАЈИЋ ЗОРАНКА
+БАЈИЋ ЗОРАН
+БАЈИЋ ЗОРАН
+БАЈИЋ ЗОРАН
+БАЈИЋ ЗОРИЦА
+БАЈИЛО ДРАГОМИР
+БАЈИЛО ДРАГОМИР
+БАЈИЛО ДУШАН
+БАЈИЛО ПЕРО
+БАЈИЛО ВИДОСАВА
+БАЈИЛОВ ЉИЉАНА
+БАЈИН БОРИСЛАВ
+БАЈИН БРАНИСЛАВ
+БАЈИН ГАВРИЛО
+БАЈИН ИВАН
+БАЈИН КАЋА
+БАЈИН ЉУБИЦА
+БАЈИН МИЛАНКА
+БАЈИН НАДА
+БАЈИН РАДОЈКА
+БАЈИН РАЈКО
+БАЈИН РУЖИЦА
+БАЈИН САВА
+БАЈИН САВЕТА
+БАЈИН СТОЈАНКА
+БАЈКИН АНЂЕЛКО
+БАЈКИН СТОЈАН
+БАЈКИН СВЕТОЗАР
+БАЈКИН ВЕСЕЛИН
+БАЈКИН ВИТОМИР
+БАЈОР МАРИЈА
+БАЈОВИЋ БРАНКО
+БАЈОВИЋ МАРА
+БАЈОВИЋ МИТАР
+БАЈОВИЋ ВЕРА
+БАЈРАМИ ШЕФКИ
+БАЈРАМИ ШЕФКИ
+БАЈРАМИ АГРОН
+БАЈРАМИ БАТИЈА
+БАЈРАМИ ГАНИ
+БАЈРАМИ СКЕНДЕР
+БАЈРАМОВИЋ ШЕРИФ
+БАЈРАМОВИЋ ХИВЗИЈА
+БАЈРИЋ РАДМИЛА
+БАЈС ФРАНЦ
+БАЈУНОВИЋ МЛАДЕН
+БАЈУС ЈОЖЕФ
+БАКША ЂОРЂЕ
+БАКША ИМРЕ
+БАКША ЈОЖЕФ
+БАКША ЛАЈОШ
+БАКША ЛАЈОШ
+БАКША ЛАСЛО
+БАКША МАГДА
+БАКША МИХАЈЛО
+БАКША ЗОЛТАН
+БАКША ЗОЛТАН
+БАКА АНТАЛ
+БАКА ИШТВАН
+БАКА ИШТВАН
+БАКА ИШТВАН
+БАКА ИБОЉА
+БАКА МИЛИЦА
+БАКАИ ИРЕН
+БАКАЈ ИВАН
+БАКАЈ МИЉКО
+БАКАЈИЋ МИЛАН
+БАКАЈИН ДОБРИЛА
+БАКАЈИН ЉУБОМИР
+БАКАЈИН НЕВЕНКА
+БАКАЈИН ТОДОР
+БАКАЛИЋ ЂУЛИНКА СУДИЈА
+БАКАЛИЋ МИХАЈЛО
+БАКАЛИЋ ВОЈИСЛАВ
+БАКАЛОВИЋ НЕМАЊА
+БАКЕВ ЂОРЂЕ
+БАКИ ИРЕНА
+БАКИ ОТО
+БАКИ ВЕРА
+БАКИШ ЧЕДОМИР ДИПЛ ИНГ
+БАКИЋ БОРИВОЈЕ
+БАКИЋ ДИМИТРИЈЕ
+БАКИЋ ДУШАН ДИПЛ ИНГ
+БАКИЋ ИВАН
+БАКИЋ ЈОВАН
+БАКИЋ КОСТА
+БАКИЋ МИЈОМИР
+БАКИЋ МИЛОШ
+БАКИЋ МИЛОШ
+БАКИЋ МИЛУТИН
+БАКИЋ МИРА
+БАКИЋ МИРОСЛАВ
+БАКИЋ МИРОСЛАВ
+БАКИЋ НАДА
+БАКИЋ СИНИША
+БАКИЋ СОЊА
+БАКЛАИЋ ЈОВАНКА
+БАКМАЗ ЛАЗО
+БАКМАЗ ЉУБАН
+БАКМАЗ ЗОРАН
+БАКО МИША
+БАКОЧЕВИЋ МИРЈАНА
+БАКОШ ЂЕРЂИ
+БАКОШ ГАБОР
+БАКОШ ЛАЈОШ
+БАКОШ ЛАСЛО
+БАКОШ МАРИЈА
+БАКОШ ПАЛ
+БАКОШ ПЕТАР
+БАКОШ ТЕРЕЗИЈА
+БАКОВИЋ РАДЕ
+БАКТАИ СТЕВАН
+БАКУНИЋ ИВАН
+БАКУНИЋ ВИДОСАВА
+БАКВИЋ МИЛАН
+БАЛ КАРЛО
+БАЛ ЗВОНИМИР
+БАЛЧАКОВИЋ ВАСО
+БАЛШИЋ РАНКА
+БАЛА ЕТЕЛКА
+БАЛА ИШТВАН
+БАЛА ЈАНОШ
+БАЛА ЈУЛИЈАНА
+БАЛА ЈУЛИЈА
+БАЛА КАРЛО
+БАЛА КАРЛО
+БАЛА КАРОЉ
+БАЛА ЛАДИСЛАВ
+БАЛА МИХАЉ
+БАЛА ТЕРЕЗ
+БАЛАША ЈОЖЕФ
+БАЛАЋ АНА
+БАЛАЋ ДУШАНКА
+БАЛАЋ ЈОВАН
+БАЛАЋ ЉУБО
+БАЛАЋ МИРОСЛАВ
+БАЛАЋ МИРОСЛАВ
+БАЛАЋ СЛАВКО
+БАЛАЋ СРБИСЛАВ
+БАЛАЋ СТЕВАН
+БАЛАЋ ВУЈО
+БАЛАЋ ЗОРА
+БАЛАЖ ШАНДОР
+БАЛАЖ ЂУЛА
+БАЛАЖ ЂУЛА
+БАЛАЖ ЂУЛА
+БАЛАЖ ЂУЛА
+БАЛАЖ АДАЛБЕРТ
+БАЛАЖ АНА
+БАЛАЖ ЕТЕЛКА
+БАЛАЖ ГЕЗА
+БАЛАЖ ГЕЗА
+БАЛАЖ ИРЕНА
+БАЛАЖ ИВАНКА
+БАЛАЖ ЈАНИКА
+БАЛАЖ ЈЕЛИСАВЕТА
+БАЛАЖ ЈОСИП
+БАЛАЖ ЈОВАН
+БАЛАЖ КАТАРИНА
+БАЛАЖ ЛАСЛО
+БАЛАЖ ПАЛ
+БАЛАЖ ПАЛ
+БАЛАЖ-ПИРИ ЂЕРЂ
+БАЛАЖ ЗИТА
+БАЛАЖЕВ СТИПАН
+БАЛАЖЕВИЋ СЛОБОДАНКА
+БАЛАБАН БОШКО
+БАЛАБАН БРАНКО
+БАЛАБАН МИЛОВАН
+БАЛАБАН МИЛУТИН
+БАЛАБАН НЕЂО
+БАЛАБАН ПЕТАР
+БАЛАБАН САВО
+БАЛАБАН СПОМЕНКА
+БАЛАБАН ВИД
+БАЛАБАН ВУКАШИН
+БАЛАБАНОВ АНА
+БАЛАБАНОВИЋ БОШКО
+БАЛАБАНОВИЋ МИЛОРАД
+БАЛАБАНОВИЋ НИКОЛА
+БАЛАБАНОВИЋ ПЕТАР
+БАЛАБАНОВИЋ ВОЈИСЛАВ
+БАЛАЈ МИХАЈЛО
+БАЛАЛИЋ ЏЕВАД ДИПЛ ИНГ
+БАЛАЛИЋ ЏЕВАД
+БАЛАНЕСКО АЛЕКСАНДАР
+БАЛАТ ИРЕНА
+БАЛАТОН ЂЕРЂ
+БАЛАТОН ЂЕРЂ
+БАЛАТОН ЂЕРЂ
+БАЛАТОН БЕЛА
+БАЛАТОН ИМРЕ
+БАЛАТОН МАГДОЛНА
+БАЛАТОН ПЕТАР
+БАЛЦА ВЛАДИМИР
+БАЛЦА ВЛАДИМИР
+БАЛДИЋ СЛОБОДАН
+БАЛЕНОВИЋ АНДРИЈА
+БАЛЕР ЈОСИП
+БАЛЕВИЋ МИЛИВОЈ
+БАЛГО ФРАНЦИШКА
+БАЛИ АЛЕКСАНДРА
+БАЛИ ГАБОР
+БАЛИ ЛАСЛО
+БАЛИЋ ЕСАД
+БАЛИЖ ИЛДА
+БАЛИЖ МИХАЉ
+БАЛИЖ ЗОЛТАН
+БАЛИНД ПАЛ
+БАЛИНД СИЛВИА
+БАЛИНОВИЋ МИЛЕВА
+БАЛИНОВИЋ СИНИША
+БАЛИНТ ШАНДОР МР
+БАЛИНТ ЖИГМУНД
+БАЛИНТ ЂОРЂЕ
+БАЛИНТ ЂУРА
+БАЛИНТ АНДРЕЈ
+БАЛИНТ ДЕЖЕ
+БАЛИНТ ИШТВАН
+БАЛИНТ ИЛОНА
+БАЛИНТ ИМРЕ
+БАЛИНТ ИМРЕ
+БАЛИНТ ЈОЖЕФ
+БАЛИНТ ЈОЖЕФ
+БАЛИНТ ЈОСИП
+БАЛИНТ ЈОСИП
+БАЛИНТ ЈОСИП
+БАЛИНТ ЈУЛИЈАНА
+БАЛИНТ КАРОЉ
+БАЛИНТ МАЋАШ
+БАЛИНТ МАРГАРЕТА
+БАЛИНТ МАРИА
+БАЛИНТ МАРИЈА
+БАЛИНТ МАРИЈА
+БАЛИНТ МИХАИЛО
+БАЛИНТ МИРОСЛАВ
+БАЛИНТ-МИТРОВИЋ ОЛГА
+БАЛИНТ РАДОСЛАВ
+БАЛИНТ РОБЕРТ
+БАЛИНТ СЛАВОМИР
+БАЉ БРАНКО
+БАЉ МИЛОРАД
+БАЉ САВО
+БАЉА ИДРИЗ
+БАЉАК ЧЕДОМИР
+БАЉОШЕВИЋ АЛЕКСАНДАР
+БАЉОШЕВИЋ БОГДАНКА
+БАЉОШЕВИЋ ЈОВАН
+БАЉОШЕВИЋ МИРО
+БАЉОЗОВИЋ ОЛИВЕРА
+БАЉОЗОВИЋ ТОМИСЛАВ ДР
+БАЛКОВОЈ ВЛАДИМИР
+БАЛНОЖАН НЕВЕНКА
+БАЛНОЖАН СИМА
+БАЛО ГАШПАР
+БАЛО ПЕТАР
+БАЛОШ НУЦА
+БАЛОШ ТОДОР
+БАЛОШ ТОДОР
+БАЛОБАН МИЛАН
+БАЛОБАН МИЛАН
+БАЛОГ ШАНДОР
+БАЛОГ ЖИВКА
+БАЛОГ ЖУЖАНА
+БАЛОГ ЂОРЂЕ
+БАЛОГ ЂОРЂЕ
+БАЛОГ ЂОРЂЕ
+БАЛОГ ЂУРА
+БАЛОГ ЂУРА
+БАЛОГ АЛЕКСАНДАР
+БАЛОГ АНА
+БАЛОГ АНА
+БАЛОГ АНА
+БАЛОГ АНДРАШ
+БАЛОГ АНДРИЈА
+БАЛОГ БЕЛА
+БАЛОГ БРАНКО
+БАЛОГ ДЕЖЕ
+БАЛОГ ДЕЖЕ
+БАЛОГ ДРАГАН
+БАЛОГ ДУШАНКА
+БАЛОГ ФЕРЕНЦ
+БАЛОГ ФРАЊА
+БАЛОГ ФРАЊА
+БАЛОГ ФРАЊА
+БАЛОГ ИШТВАН
+БАЛОГ ИБОЈКА
+БАЛОГ ИМРЕ
+БАЛОГ ИМРЕ
+БАЛОГ ЈОЖЕФ
+БАЛОГ ЈОЦА
+БАЛОГ ЈОВАН
+БАЛОГ ЈУЛИЈАНА
+БАЛОГ ЈУЛИЈАНА
+БАЛОГ КАЛМАН
+БАЛОГ КАРОЉ
+БАЛОГ КАРОЉ
+БАЛОГ КАТАРИНА
+БАЛОГ ЛАДИСЛАВ
+БАЛОГ ЛАДИСЛАВ
+БАЛОГ ЛАСЛО
+БАЛОГ МАГДА
+БАЛОГ МАРА
+БАЛОГ МАРИЈА
+БАЛОГ МАРИЈА
+БАЛОГ МАРИЈА
+БАЛОГ МАРИЈА
+БАЛОГ МАРИЈА
+БАЛОГ МАРТА
+БАЛОГ МИЛЕНА
+БАЛОГ МИРКО
+БАЛОГ НИКОЛА
+БАЛОГ НИКОЛА
+БАЛОГ ПИШТА
+БАЛОГ ПИРОШКА
+БАЛОГ СИМА
+БАЛОГ СМИЉА
+БАЛОГ СПОМЕНКА
+БАЛОГ СТЕВАН
+БАЛОГ СТЕВАН
+БАЛОГ СТЕВАН
+БАЛОГ ТИБОР
+БАЛОГ ВЕЛИМИР
+БАЛОГ ЗОРАН
+БАЛОК ИШТВАН
+БАЛОВИЋ МИЛИЋ
+БАЛТА АНА
+БАЛТИЋ ДАНИЦА
+БАЛТИЋ РАДМИЛА
+БАЛТИЋ ВЛАДИМИР ДР
+БАЛТОВИЋ ДРАГАН
+БАЛТОВИЋ ПЕТАР
+БАЛУНОВИЋ ИВАН
+БАМБУЛОВИЋ МИЛКА
+БАН СТЕВАН
+БАНЧЕВИЋ ПЕТАР
+БАНЧЕВИЋ РАДЕ
+БАНЧИ БАЛИНТ
+БАНЧИ КАРОЉ
+БАНЧИЋ ЖИВКО
+БАНЧИЋ АЛЕКСАНДАР
+БАНЧИЋ ЈОВАН
+БАНЧИЋ ЈУЛКА
+БАНЧИЋ ЛАЗА
+БАНЧИЋ МАРИЈА
+БАНЧИЋ СОФИЈА
+БАНЧИЋ СТЕВИЦА
+БАНЧИЋ ТОДОР
+БАНЂУР МИРКО
+БАНАЋАНИН ЉИЉАНА
+БАНАЋАНИН ОЛГА
+БАНАИ ТИБОР
+БАНАИ ВЕРА
+БАНАЈ ЈОСИП
+БАНДА ЖИВКО
+БАНДИЋ БЛАГОЈЕ
+БАНДИЋ ЈЕЛИЦА
+БАНДИЋ ЉУБОМИР
+БАНДИЋ ЉУБО
+БАНДИЋ РАДЕ
+БАНДИЋ САВКА
+БАНДИЋ ТОМИСЛАВ
+БАНДИЋ ВЕРИЦА
+БАНДИЋ ВУЈАДИН
+БАНДИН ЖИВОРАД
+БАНДИН ИВАН
+БАНДИН КАТИЦА
+БАНДИН МИОДРАГ
+БАНДИН МЛАДЕН
+БАНДОБРАНСКИ ОЛГА
+БАНДОЛО ДРАГИЦА
+БАНДУКА ДРАГУТИН
+БАНФИ МАРИЈА
+БАНГО ЉУДЕВИТ
+БАНИЋ АНЂА
+БАНИЋ БОЖИДАР
+БАНИЋ БРАНКО ДР
+БАНИЋ ЕМИЛИЈА
+БАНИЋ ЕВИЦА
+БАНИЋ КАТИЦА
+БАНИЋ МИЛОШ
+БАНИЋ МИЛОВАН
+БАНИЋ ПАНЕ
+БАНИЋ ПЕТАР
+БАНИЋ РАДЕ
+БАНИЋ РАДОМИР
+БАНИЋ РАСТКО
+БАНИЋ РУЖИЦА
+БАНИЋ СЛАВКО
+БАНИЋ СВЕТОЗАР
+БАНИЋ ЗОРКА
+БАНИЋЕВИЋ ЈЕЛЕНА
+БАНИЋЕВИЋ ВЕСЕЛИН
+БАНИА-ЖИВАДИНОВИЋ МИРЈАНА
+БАЊАШ ЂУРА
+БАЊАЦ ЧЕДОМИР
+БАЊАЦ ЧЕДО
+БАЊАЦ ЧЕДО
+БАЊАЦ ШПИРО ДИПЛ ИНГ
+БАЊАЦ ЖИВАН
+БАЊАЦ ЂОРЂЕ
+БАЊАЦ ЂОРЂЕ
+БАЊАЦ ЂОРЂЕ
+БАЊАЦ БОСИЉКА
+БАЊАЦ ДАНИЛО
+БАЊАЦ ДМИТАР
+БАЊАЦ ДРАГАН ДИПЛ ИНГ
+БАЊАЦ ДРАГАН
+БАЊАЦ ДРАГИЦА
+БАЊАЦ ДРАГИЦА
+БАЊАЦ ДУШАН
+БАЊАЦ ДУШКО
+БАЊАЦ ДУШКО
+БАЊАЦ ЕМИЛ
+БАЊАЦ ГАВРА
+БАЊАЦ ГОЈКО
+БАЊАЦ ЈЕЛЕНА
+БАЊАЦ ЈОВАН
+БАЊАЦ ЈОВАН
+БАЊАЦ КАТИЦА
+БАЊАЦ МИЛАН
+БАЊАЦ МИЛАН
+БАЊАЦ МИЛЕ
+БАЊАЦ МИЛОРАД
+БАЊАЦ МИРКО
+БАЊАЦ НЕДЕЉКО
+БАЊАЦ НИКОЛА
+БАЊАЦ ОЛГА
+БАЊАЦ ПЕРО
+БАЊАЦ ПЕТАР
+БАЊАЦ РАДА
+БАЊАЦ РАДОЊА
+БАЊАЦ САВА
+БАЊАЦ САВА
+БАЊАЦ САВЕТА
+БАЊАЦ САВО
+БАЊАЦ СЛАВКО
+БАЊАЦ СЛАВНА
+БАЊАЦ СЛОБОДАН
+БАЊАЦ СТЕВАН
+БАЊАЦ ТЕОДОР
+БАЊАЦ ВЕСНА
+БАЊАЦ ВИНКО
+БАЊАЦ ВИТОМИР
+БАЊАЦ ВОЈИСЛАВ
+БАЊАИ ЈАГА
+БАЊАИ ЈАНОШ
+БАЊАИ ЈОВАН
+БАЊАИ ЛАЈОШ
+БАЊАИ МАЋАШ
+БАЊАИ МАРИЈА
+БАЊАИ РОМАН
+БАЊАИ РУЖА
+БАЊАНАЦ БРАНКО
+БАЊАНАЦ БРАТИСЛАВ
+БАЊАНАЦ МИЛАН
+БАЊАНАЦ РАДЕ
+БАЊАНАЦ СЛАВИЦА
+БАЊАНИН ДАНИЦА
+БАЊАНИН ДАРА
+БАЊАНИН ЈЕЛЕНА
+БАЊАНИН ЈЕЛИСАВЕТА
+БАЊАНИН ЈОВАН
+БАЊАНИН НЕДЕЉКО
+БАЊАНИН НЕДЕЉКО
+БАЊАНИН НИКОЛА
+БАЊАНИН НИКОЛА
+БАЊАНИН РАДМИЛА
+БАЊАНИН СОФИЈА
+БАЊАНИН ВЕЛИМИР
+БАЊАРИ ЛАЈОШ
+БАЊЕГЛАВ БОЖА
+БАЊЕГЛАВ ДРАГАН
+БАЊЕГЛАВ ДУШАН
+БАЊЕГЛАВ НИКОЛА
+БАЊЕГЛАВ РАДИВОЈ
+БАЊЕВИЋ СЛОБОДАНКА
+БАНКА ЛАЈОШ
+БАНКОВАЧКИ ЂУРА
+БАНКОВАЧКИ ЈОВАН
+БАНКОВАЧКИ МАРИЈА
+БАНКОВАЧКИ НАДА
+БАНКОВАЧКИ ПЕТАР
+БАНКОВАЧКИ САВА
+БАНКОВАЧКИ СВЕТОЗАР
+БАНКОВИЋ МИЛУН
+БАНОВЧАНИН ДРАГИЦА
+БАНОВЧАНИН МИЛАН
+БАНОВЧАНИН МОМЧИЛО
+БАНОВАЧКИ ЂОРЂЕ
+БАНОВАЧКИ ЈОВАН
+БАНОВАЧКИ МАРИЈА
+БАНОВАЧКИ РУЖИЦА
+БАНОВИЋ ЖАРКО
+БАНОВИЋ ЖИВОРАД
+БАНОВИЋ ДУШАН
+БАНОВИЋ ЈОВАНКА
+БАНОВИЋ ЛЕПОСАВА
+БАНОВИЋ-ЛОЦ НАДА
+БАНОВИЋ МИЛАН
+БАНОВИЋ МИЛАН
+БАНОВИЋ МИЉКО
+БАНОВИЋ НИКОЛА
+БАНОВИЋ СЛАВА
+БАНОВИЋ СЛОБОДАН
+БАНСКИ ЕРИКА
+БАНСКИ МАРИЈА
+БАРЧИКИН ЂОРЂЕ
+БАРШИ ЕНДРЕ
+БАРШИ ЛАСЛО
+БАРАЧАНИН ДАНИЦА
+БАРАЧАНИН ЛАЗАР
+БАРАЧАНИН ПАЈА
+БАРАЧАНИН САВКА
+БАРАЧИ СТЕВАН
+БАРАЧКОВ ЧЕДОМИР
+БАРАЧКОВ ЂОРЂЕ
+БАРАЧКОВ ГОРИНКА
+БАРАЧКОВ МИЛАН
+БАРАЧКОВ СРЕДОЈЕ
+БАРАЧКОВ ВЕСЕЛИН
+БАРАШЕВИЋ МИРОСЛАВА
+БАРАШЕВИЋ ТОМИСЛАВ
+БАРАШИН ГОРАН
+БАРАШИН ЉУБОМИР
+БАРАШИН НЕВЕНКА
+БАРАШИН САВА
+БАРАЋ ЖАРКО
+БАРАЋ ДРАГИЦА
+БАРАЋ ДУШАНКА
+БАРАЋ ГОДИМИР
+БАРАЋ ГОЈКО
+БАРАЋ ЈОСИП
+БАРАЋ КОВИЉКА
+БАРАЋ МИЛАН
+БАРАЋ МИЛОШ
+БАРАЋ МИЛОШ
+БАРАЋ МИЛОСАВА
+БАРАЋ МОМЧИЛО
+БАРАЋ РАДОЊА
+БАРАЋ САРАФИНА
+БАРАЋ СТАНИМИРКА
+БАРАЋ ВЕСЕЛИН
+БАРАЋ ВИДАК
+БАРАЋ ВУЧИНА
+БАРАЦ МАЛИША
+БАРАЦ МАРКО
+БАРАЦ НОВО
+БАРАЦ ТОМИСЛАВ
+БАРАЈЕВАЦ ЈОВА
+БАРАКО САВА
+БАРАЛИЋ МИРОСЛАВ
+БАРАН ЈАКИМ
+БАРАН МИХАЈЛО
+БАРАН МИРОН ДИПЛ ИНГ
+БАРАНИН ВАСИЛИЈЕ
+БАРАЊАИ ЈЕНЕ
+БАРАЊИ ФЕРЕНЦ
+БАРАЊИ ФЕРЕНЦ
+БАРАЊИ ЛАСЛО
+БАРАЊИ ПАВЛЕ
+БАРАЊИ СТЕВАН
+БАРАНОВСКИ ВЛАДА
+БАРАС ТОМА ДР
+БАРАТ АЛЕКСАНДАР
+БАРАТ ДРАГИЦА
+БАРАТ ДРАГИЊА
+БАРАТ ФЕРЕНЦ
+БАРАТ ИМРЕ
+БАРАТ ОЛГА
+БАРАТ ОСКАР
+БАРАТОВ БОШКО
+БАРБАРИЋ АНТЕ
+БАРБАРИЋ ПАВЛЕ
+БАРБАТЕСКОВИЋ ЉУБИША
+БАРБЕРИЋ ДРАГАН
+БАРБЕРИЋ МИРКО
+БАРБИР АНТЕ
+БАРБИР ЉУБА
+БАРБУ ВАСА
+БАРБУЛ МАРИЈА
+БАРБУЛ МИЛАН
+БАРБУЛ МИЛАН
+БАРБУЛ САВА
+БАРБУЛ СТОЈАН
+БАРБУЛ ВЛАДИСЛАВА
+БАРБУЛОВ ДИМИТРИЈЕ
+БАРБУЛОВ ДОБРИВОЈ
+БАРБУЛОВ МИЛИВОЈ
+БАРБУЛОВ НИКОЛА
+БАРБУЛОВИЋ ДРАГАН
+БАРБУЗАН ЈАСНА
+БАРБУЗАН РУЖИЦА
+БАРЦАЛ ЂЕРЂ
+БАРЦАЛ АНА
+БАРЦАЛ ЈОЖЕФ
+БАРЦАЛ ЛАСЛО ДИПЛ ИНГ
+БАРЦЕЛ КАТИЦА
+БАРДАК АЛЕКСАНДАР
+БАРДАК АНКИЦА
+БАРДАК ЛУКА
+БАРДИЋ ЖЕЉКО
+БАРДИЋ МИРКО
+БАРДОШ ЈОЖЕФ
+БАРДОШ МЕЛАНИЈА
+БАРДУН КАРЛО
+БАРЕШИЋ ИВАН
+БАРЕШИЋ МАТО
+БАРЕТИЋ ДРАГОЉУБ
+БАРИЧЕВИЋ СТИПЕ
+БАРИЧИЋ БИСЕРКА
+БАРИШИЋ АНЂЕЛКО
+БАРИШИЋ БЛАГОЈЕ
+БАРИШИЋ БОШКО
+БАРИШИЋ ИЛИЈА
+БАРИШИЋ ИЛИЈА
+БАРИШИЋ ЈАЊА
+БАРИШИЋ ЉУБИЦА
+БАРИШИЋ МАРКО
+БАРИШИЋ МИЛАН
+БАРИШИЋ МИЛАН
+БАРИШИЋ ПЕТАР
+БАРИШИЋ СТЈЕПАН
+БАРИШИЋ ВЕРОНИКА
+БАРИШИЋ ЗОРКА
+БАРИЋ ЉУБИЦА
+БАРИЋ ПАУЛИНА
+БАРИЋ СЛАВИЦА
+БАРЈАКТАР СПАСЕНИЈА
+БАРЈАКТАР СТЕВА
+БАРЈАКТАРЕВИЋ ЖИВКО
+БАРЈАКТАРЕВИЋ ДРАГАН
+БАРЈАКТАРЕВИЋ МАРА
+БАРЈАКТАРЕВИЋ МАРА
+БАРЈАКТАРЕВИЋ МИЛАН
+БАРЈАКТАРЕВИЋ МИЛКА
+БАРЈАКТАРЕВИЋ МИЛОЈЕ
+БАРЈАКТАРЕВИЋ ВАЛЕРИЈА
+БАРЈАКТАРЕВИЋ ЗЛАТКО
+БАРЈАКТАРОВ МИЛИЦА
+БАРЈАКТАРОВИЋ ЂОКО
+БАРЈАКТАРОВИЋ АНКА
+БАРЈАКТАРОВИЋ МИЛОШ
+БАРЈАКТАРОВИЋ СНЕЖАНА
+БАРЈАКТАРОВИЋ ВУЧИНА
+БАРЈАКТАРОВИЋ ВУЧИНА
+БАРЈАКТАРОВИЋ ЗОРКА
+БАРЈАМОВИЋ АЛИЛ
+БАРЈАМОВИЋ АРСЕНИЈЕ
+БАРЈАМОВИЋ СЛОБОДАН
+БАРНА ГАШПАР
+БАРНА ИВАН
+БАРНА ЈАНОШ
+БАРНА ЈОСИП
+БАРНА МИХАЉ
+БАРО ФРАЊО
+БАРО ЈЕЛЕНА
+БАРО ЈОЖЕФ
+БАРО ЈОЖЕФ
+БАРО ЈОСИП
+БАРОШ БОЖО
+БАРОШ БОРИСЛАВ ДР
+БАРОШ БОРИСЛАВ
+БАРОШ ЛАЗО
+БАРОШ НЕБОЈША
+БАРОШ НИКОЛА
+БАРОШ НИКОЛА
+БАРОШЕВИЋ ЈОВО
+БАРОВИЋ ВЕЛИМИР
+БАРОВИЋ ВОЈИСЛАВ
+БАРТА ЂЕРЂ
+БАРТА ЂОРЂЕ
+БАРТА АРПАД
+БАРТА ДЕЖЕ
+БАРТА ЕМА
+БАРТА ИЛДИКО
+БАРТА ИРМА
+БАРТА МАГДАЛЕНА
+БАРТЕК АНДРИЈА
+БАРТЕК КАТАРИНА
+БАРТЕК РУДОЛФ ДИПЛ ИНГ
+БАРТЕК СТЕВАН
+БАРТОШ ДАНИЛО
+БАРТОШ ДРАГИЦА
+БАРТОШ ИМРЕ
+БАРТОШ ЛАДИСЛАВ
+БАРТОШ ЛАСЛО
+БАРТОШ СВЕТЛАНА
+БАРТОШ ЗВОНИМИР
+БАРТОЈ МИРЈАНА
+БАРТОК МАРГИТ
+БАРТОЛОВИЋ АНТУН
+БАРТОЛОВИЋ ЈОСИП
+БАРТОЛОВИЋ МАРИН
+БАРТУЛОВИЋ ПАВЛЕ
+БАРУШИЋ МАРТИН
+БАРУЏИЈА МАРКО
+БАРУДАНОВ ДУШАНКА
+БАСАРА ЂУРО
+БАСАРА АНКА
+БАСАРА ДИВНА
+БАСАРА ДРАГИЦА
+БАСАРА ЈОВАН
+БАСАРА МАРТА
+БАСАРА МИЛИВОЈ
+БАСАРА МИРА
+БАСАРА ПАЈО
+БАСАРАБА ДУШИЦА
+БАСАРИЋ БОГДАН
+БАСАРИЋ ДАНЕ
+БАСАРИЋ ДРАГИЊА
+БАСАРИЋ ДУШАН
+БАСАРИЋ ЈЕЛЕНА
+БАСАРИЋ ЈОВАН
+БАСАРИЋ ЉУБОМИР
+БАСАРИЋ МИЛАН
+БАСАРИЋ МИЛАН
+БАСАРИЋ МИЛКА
+БАСАРИЋ МИРЈАНА
+БАСАРИЋ НИКОЛА
+БАСАРИЋ СТЕВАН
+БАСАРИЋ ВЕРА
+БАСИЋ КОВИЉКА
+БАСИЋ СРЂАН
+БАСИОЛИ СРЕЋКО
+БАСКИЈИН ЗОРА
+БАСРАК БРАНКО
+БАСРАК МИЛАН
+БАСТА ДАНЕ
+БАСТА ДАНИЕЛА
+БАСТА ДРАГУТИН
+БАСТА ДУШАН
+БАСТА ИВАНА
+БАСТА КАТИЦА
+БАСТА ЉУБИЦА
+БАСТА МАРИЈА
+БАСТА МАРИЈА
+БАСТА МАРИЈА
+БАСТА МИЛАН
+БАСТА МИЛОШ
+БАСТА МИРОСЛАВ
+БАСТА НИКОЛА
+БАСТА СТЕВА
+БАСТА ВЛАДО
+БАСТАХ БРАНКО
+БАСТАЈА БРАНКО
+БАСТАЈА МИЛАН
+БАТА ДЕЗИДЕР
+БАТА ИЛОНА
+БАТА КАРОЉ
+БАТА ЛАСЛО
+БАТА ЛАСЛО
+БАТА МАРГИТА
+БАТАЈИЋ БОГОЉУБ
+БАТАК ЕМИЛ
+БАТАК МИРКО
+БАТАКОВИЋ КОСАРА
+БАТАКОВИЋ МИЛАН
+БАТАКОВИЋ ВИТОМИР
+БАТАЛОВ РАДИЦА
+БАТАНЧЕВ ЈОВАН
+БАТАНЧЕВ СЛАВНА
+БАТАЊСКИ МИЛАН
+БАТАЊСКИ МИЛАН
+БАТАНОВИЋ АНКА
+БАТАР ЧЕДОМИР
+БАТАР ЧЕДОМИР
+БАТАР МИЛОШ
+БАТАР МОМИР
+БАТАР СЛОБОДАН
+БАТАР ВЕЛИМИР
+БАТАР ВОЈИН
+БАТАРИЛО ЖЕЉКО
+БАТАС БОЖАНА
+БАТАЗ ВЛАДО
+БАТЕРНЕК ИВАН
+БАТИЋ ЂУРАЂ
+БАТИЋ БОЖИДАР
+БАТИЋ БРАНКА
+БАТИЋ ИВАНА
+БАТИЋ МИХАЈЛО
+БАТИНИЋ ЂУРО
+БАТИНИЋ ДРАГАН
+БАТИНИЋ ГОРДАНА
+БАТИНИЋ САВА
+БАТИНИЋ СПАСОЈЕ
+БАТИСТИЋ ИВАН
+БАТКИЋ ЈУСУФ
+БАТКИЋ СТАНИСЛАВА
+БАТКОВИЋ МАРА
+БАТОРИ ЈАНОШ
+БАТОРИ ЈОЖЕФ
+БАТОРИ МАРИЈА
+БАТОРИ МАРИЈА
+БАТОРИ МИХАЉ
+БАТОРИ МИХАЉ
+БАТОРИ МИХАЉ
+БАТОС АЛЕКСАНДАР
+БАТОС БОШКО
+БАТОС БОШКО
+БАТОС МИЛАН
+БАТОС НАДА
+БАТОС РАДИВОЈ
+БАТОС ЗОРИЦА
+БАТРНЕК ЗДЕНКА
+БАТУРАН ОБРАД
+БАТУРАН РАДОВАН
+БАУЕР ЕВА
+БАУЕР ЈУЛИЈАНА
+БАУЕР КСЕНИЈА
+БАУЕР ОТО
+БАУК ДРАГАН
+БАУКОВ ВЛАДИМИР
+БАУРАНОВ ЛАЗАР
+БАВАРЧИЋ МИЛОРАД
+БАВАРЧИЋ ВЕСЕЛИН
+БАЗАНЧИК ВАЛЕРИЈА
+БАЗОКИН ЖИВИЦА
+БЕЧ ЈАЊА
+БЕЧЕИ ЛАЈОШ
+БЕЧЕЈАЦ АЛЕКСАНДАР
+БЕЧЕЈАЦ БОШКО
+БЕЧЕЈАЦ БРАНИСЛАВ
+БЕЧЕЈАЦ ЈОВАН
+БЕЧЕЈАЦ КАМЕНКО
+БЕЧЕЈАЦ МИЛАН
+БЕЧЕЈАЦ РАДЕНКО
+БЕЧЕЈАЦ РАДОЈКА
+БЕЧЕЈАЦ САВА
+БЕЧЕЛИЋ ЂОРЂЕ
+БЕЧЕЛИЋ БИСЕРКА
+БЕЧЕЛИЋ БОСИЉКА
+БЕЧЕЛИЋ ДОБРИНКО
+БЕЧЕЛИЋ ДРАГИЦА
+БЕЧЕЛИЋ ГИНА
+БЕЧЕЛИЋ ЈОВАН
+БЕЧЕЛИЋ ЛАЗАР
+БЕЧЕЛИЋ МАРИЈА
+БЕЧЕЛИЋ МАРИЈА
+БЕЧЕЛИЋ МИЛАН
+БЕЧЕЛИЋ МИЛЕНА
+БЕЧЕЛИЋ МИЛИЦА
+БЕЧЕЛИЋ МИЛОШ
+БЕЧЕЛИЋ ПЕТАР
+БЕЧЕЛИЋ РАДИВОЈ
+БЕЧЕЛИЋ РАДОВАН
+БЕЧЕЛИЋ СТЕВАН
+БЕЧЕЛИЋ СТЕВАН
+БЕЧЕЛИЋ ВАСА
+БЕЧЕЛИЋ ВЕСЕЛИН
+БЕЧЕЛИЋ ВЕСЕЛИН
+БЕЧИЋ МУХИБА
+БЕЧИЋ ВЕРОЉУБ
+БЕЧКЕИ ЈАНОШ
+БЕЧКЕИ ПЕТАР
+БЕЧКЕЈИ КАРЛО
+БЕЧВАРДИ АЛЕКСАНДАР
+БЕЧВАРДИ ЈОСИП
+БЕШАНИЋ БОЖАНА
+БЕШАНИЋ ЗДРАВКО
+БЕШЕЊИ КАРЛО
+БЕШЕЊИ КАРЛО
+БЕШЕНСКИ НИКОЛА
+БЕШЕВИЋ АЛЕКСА
+БЕШЕВИЋ ЈОВАН
+БЕШЕВИЋ МИРЈАНА
+БЕШЕВИЋ НИКОЛА ДИПЛ ОЕЦ
+БЕШИЋ МАРИЈА
+БЕШИЋ МАРИЈА
+БЕШИЋ МЕХМЕД
+БЕШИЋ МИХАЈЛО
+БЕШИЋ СЛОБОДАН
+БЕШИЋ СВЕТИСЛАВ
+БЕШКЕР АНДРИЈА
+БЕШКЕР БОЖО
+БЕШКЕР СРЕЋКА
+БЕШЛИЋ ЈОВАН
+БЕШЛИЋ ТЕРЕЗИЈА
+БЕШЛИЈА ГОСПАВА
+БЕШЛИН ЖИВКО ДИПЛ ОЕЦ
+БЕШЛИН БРАНКО
+БЕШЛИН ИВАН
+БЕШЛИН ИВИЦА
+БЕШЛИН ЈЕЛИСАВЕТА
+БЕШЛИН МИОДРАГ
+БЕШЛИН СТОЈАН
+БЕШЛИН ВЛАДИСЛАВА
+БЕЋАГУЛ САВА
+БЕЋИН АЛЕКСАНДАР
+БЕЋИН ОЛГА
+БЕЋИРОВСКИ АДЕМ
+БЕЖАН ВИКТОР
+БЕЖАНОВ АЛЕКСАНДАР
+БЕЖАНОВ БРАНИСЛАВ
+БЕЖАНОВ ДРАГОЉУБ
+БЕЖАНОВ МИРОЉУБ
+БЕЖАНОВИЋ ЂОРЂЕ
+БЕАДЕР ЈОВАН
+БЕАРА ЖИВКО
+БЕАРА ЂОРЂЕ
+БЕАРА ЈОВАН
+БЕАРА МАРКО
+БЕАРА ПЕТАР
+БЕАРА ПЕТАР
+БЕАТОВИЋ НЕБОЈША
+БЕБЕК МАТО
+БЕБЕЉА-МАТУШ АНКА
+БЕБИЋ АНА
+БЕБИЋ ЉИЉАНА
+БЕБИЋ НЕВЕНКА
+БЕБИЋ НЕВЕНКА
+БЕБИЋ ПЕТАР
+БЕБИЋ СТОЈАНКА
+БЕЦЕ БЕЛА
+БЕЦЕ ТИБОР
+БЕЦИЋ СТЕВАН
+БЕЏЕТИ МАРИЈА
+БЕДАК БИЉАНА
+БЕДЕ ШАНДОР
+БЕДЕ ПЕТАР ДР
+БЕДЕ ПЕТАР
+БЕДЕКОВИЋ АНТОН
+БЕДНАРИК АНДРИЈА
+БЕДНАРИК ДАРИНКА
+БЕДНАРИК ЈАНОШ
+БЕДНАРИК ЈОСИП
+БЕДНАРИК МИХАЉ
+БЕДОВ БИСЕРКА
+БЕДОВ ЈОВАН
+БЕДОВ ЉУБИЦА
+БЕДОВ МАРИЈА
+БЕДОВ МИРОСЛАВ
+БЕДОВ НАДА
+БЕДОВ ПРЕДРАГ
+БЕДОВ РАДА
+БЕДОВ СРЂАН
+БЕДОВ СУНЧИЦА
+БЕДОВ СВЕТИСЛАВ
+БЕДРИК АЛЕКСАНДАР
+БЕГ АНДРИЈА
+БЕГ-ВАЛОВИЧИЋ АНЂЕЛКО
+БЕГ-ВОЛОВИЧИЋ ИВАН
+БЕГАНИ ШЕРИФ
+БЕГАНОВИЋ МЕХМЕД
+БЕГАНОВИЋ САНИД
+БЕГЕЧКИ РАЈКО
+БЕГЕЧКИ САВА
+БЕГЕНИШИЋ ДРАГОРАД
+БЕГЕНИШИЋ ВУКАШИН
+БЕГИЋ МИЛОШ
+БЕГИЋ МИРКО
+БЕГЛЕРБЕГОВИЋ ЏЕВАД
+БЕГОЈЕВ АНКА
+БЕГОЈЕВ БОГДАН
+БЕГОЈЕВ ЛАЗАР
+БЕГОЈЕВ ЛАЗА
+БЕГОЈЕВ ПЕТАР
+БЕГОЈЕВ РАДОЈКА
+БЕГОЈЕВ ТОША
+БЕГОЈЕВИЋ РАДИВОЈ
+БЕГОВИЋ ЕВИЦА
+БЕГОВИЋ ЈАСМИНА
+БЕГОВИЋ ЈОВАН
+БЕГОВИЋ ЛАДИСЛАВ
+БЕГОВИЋ-ЛИВАЈА ИЛИЈА
+БЕГОВИЋ ЉУБАН
+БЕГОВИЋ МИЛИЈА
+БЕГОВИЋ МИЛОРАД
+БЕГОВИЋ МИРКО
+БЕГОВИЋ РОЋКО
+БЕГОВИЋ САВО
+БЕГОВИЋ ТОДОР
+БЕГОВИЋ ЗОРО
+БЕХЕР ЕВА
+БЕХЕРАНО ЈОСИП
+БЕХТЕР АЛЕКСАНДАР
+БЕЈАРОВИЋ МАРКО
+БЕЈАРОВИЋ НЕНАД
+БЕЈАТОВИЋ ЂОРЂЕ
+БЕЈАТОВИЋ МИЛОРАД
+БЕЈАТОВИЋ МИРКО
+БЕЈТОВИЋ АЛИЈА
+БЕК АНТОНИЈА
+БЕК ДРАГАНА
+БЕК ЈОВАН
+БЕК ЛАДИСЛАВ
+БЕК ЉИЉАНА
+БЕК РУЖА
+БЕК СТЕВАН
+БЕКЧИЋ МИЛОРАД
+БЕКАРЕК ИЛИНКА
+БЕКЕ ЛАСЛО
+БЕКЕ МАРИЈАН
+БЕКЕР ФРЕДЕРИК
+БЕКЕР ИШТВАН
+БЕКЕР ИДА
+БЕКЕР ЈОЖЕФ
+БЕКЕР ЈОСИП
+БЕКЕР СТЕВАН
+БЕКИЋ БОРИС
+БЕКИЋ БРАНКА
+БЕКИЋ ЈУРЕ
+БЕКИЋ МИЛОРАД
+БЕКИЋ ТОМИСЛАВ
+БЕКИЋ ВЕРА
+БЕКРИЋ ДРАГАН
+БЕКРИЋ МИРА
+БЕКРИЋ ТОМИСЛАВ
+БЕКТАШ ДАНИЦА
+БЕКТАШ СЛАВКО
+БЕКУТ ДРАГАН
+БЕКУТ ПЕТАР
+БЕКВАЛАЦ ЖИВАН
+БЕКВАЛАЦ БРАНИСЛАВ
+БЕКВАЛАЦ БРАНИСЛАВ
+БЕКВАЛАЦ БРАНКА
+БЕКВАЛАЦ БРАНКО
+БЕКВАЛАЦ БРАНКО
+БЕКВАЛАЦ ДРАГОЉУБ
+БЕКВАЛАЦ ЕМИЛИЈА
+БЕКВАЛАЦ ИСА
+БЕКВАЛАЦ ЛАЗАР
+БЕКВАЛАЦ ЉУБИЦА
+БЕКВАЛАЦ ЉУБИЦА
+БЕКВАЛАЦ ЉУБИНКО
+БЕКВАЛАЦ МАРА
+БЕКВАЛАЦ МИЈА
+БЕКВАЛАЦ МИЛАНКО
+БЕКВАЛАЦ МИЛАН
+БЕКВАЛАЦ МИЛИСАВ
+БЕКВАЛАЦ МИРЈАНА
+БЕКВАЛАЦ РАДИВОЈ
+БЕКВАЛАЦ РАДМИЛА
+БЕКВАЛАЦ СЕРАФИНА
+БЕКВАЛАЦ СТЕВАН
+БЕЛЧЕВИЋ ГРАДИМИР
+БЕЛЧЕВИЋ РАТКО
+БЕЛАК ШАНДОР
+БЕЛАК АНА
+БЕЛАК МАРГИТА
+БЕЛАК МИЈО
+БЕЛАК ВЛАДА
+БЕЛАН ЈОЖЕФ
+БЕЛАНЧИЋ ЕЛИЗАБЕТА
+БЕЛАНОВИЋ ЂОРЂЕ
+БЕЛАНОВИЋ АЛЕКСАНДРА
+БЕЛАНОВИЋ КАТИЦА
+БЕЛАНОВИЋ МИЛИВОЈ
+БЕЛАНОВИЋ ТИБОР
+БЕЛЕЦКИ ЈЕЛЕНА
+БЕЛЕГИШАНИН ДРАГОМИР ДР
+БЕЛЕСЛИЈИН МИЛОРАД
+БЕЛЕСЛИЈИН СЛОБОДАН
+БЕЛЕСЛИН ДОБРИЛА
+БЕЛЕСЛИН МИРОСЛАВ
+БЕЛЕСЛИН СВЕТОЗАР ДР
+БЕЛЕТИЋ ЈЕЛЕНА
+БЕЛИ АНДРИЈА
+БЕЛИ ЕМИЛ
+БЕЛИ РОЗАЛИЈА
+БЕЛИ СТЕВАН
+БЕЛИ ВОЈИСЛАВ
+БЕЛИЧКА АНА
+БЕЛИЧКА БРАНИСЛАВ
+БЕЛИЧКА МИРОСЛАВ
+БЕЛИЋ ЖИВКА
+БЕЛИЋ ЂОРЂЕ
+БЕЛИЋ ЂОРЂЕ
+БЕЛИЋ ЂУРИЦА
+БЕЛИЋ БОШКО
+БЕЛИЋ БОЖИДАР
+БЕЛИЋ БОЖИДАР
+БЕЛИЋ БОРИСЛАВ
+БЕЛИЋ БОРИСЛАВ
+БЕЛИЋ БОРИС
+БЕЛИЋ БОРИВОЈЕ
+БЕЛИЋ БОРИВОЈЕ
+БЕЛИЋ БРАНИСЛАВ
+БЕЛИЋ-БРКИЋ ВЛАДИСЛАВА
+БЕЛИЋ ДАНИЦА
+БЕЛИЋ ДАНИЈЕЛА
+БЕЛИЋ ДРАГАН
+БЕЛИЋ ДРАГИЦА
+БЕЛИЋ ДРАГУТИН
+БЕЛИЋ ДУШАН ДР
+БЕЛИЋ ДУШАН ДР
+БЕЛИЋ ДУШАН
+БЕЛИЋ ДУШАН
+БЕЛИЋ ДУШАН
+БЕЛИЋ ДУШКО
+БЕЛИЋ ДУШКО
+БЕЛИЋ ФЛОРИКА
+БЕЛИЋ ИЛИЈА
+БЕЛИЋ ЈОСИМ
+БЕЛИЋ ЈОВАНКА
+БЕЛИЋ ЈОВИЦА
+БЕЛИЋ ЈУЛИЈАНА
+БЕЛИЋ ЈУЛКА
+БЕЛИЋ ЛАЗАР
+БЕЛИЋ ЉУБИЦА
+БЕЛИЋ МАРИЦА
+БЕЛИЋ МИЛАН
+БЕЛИЋ МИЛАН
+БЕЛИЋ МИЛАН
+БЕЛИЋ МИЛАН
+БЕЛИЋ МИЛЕНА
+БЕЛИЋ МИЛИВОЈ
+БЕЛИЋ МИЛОШ
+БЕЛИЋ МИЛОРАД
+БЕЛИЋ МИРЈАНА
+БЕЛИЋ МИРОСЛАВ
+БЕЛИЋ НЕНАД
+БЕЛИЋ НЕСТОР
+БЕЛИЋ НИКОЛА
+БЕЛИЋ ПЕТАР
+БЕЛИЋ ПЕТАР
+БЕЛИЋ РАДИНКА
+БЕЛИЋ РАДОЈКА
+БЕЛИЋ РАДОСЛАВ
+БЕЛИЋ РАДОВАН
+БЕЛИЋ САВА
+БЕЛИЋ СЕНА
+БЕЛИЋ СИМА
+БЕЛИЋ СЛАВКО ДИПЛ ИНГ
+БЕЛИЋ СЛАВКО
+БЕЛИЋ СЛОБОДАНКА
+БЕЛИЋ СОФИЈА
+БЕЛИЋ СРЂАН
+БЕЛИЋ СТАНКО
+БЕЛИЋ СТЕВАН
+БЕЛИЋ СТОЈАНКА
+БЕЛИЋ СТОЈАН
+БЕЛИЋ СВЕТИСЛАВ
+БЕЛИЋ СВЕТИСЛАВ
+БЕЛИЋ СВЕТЛАНА
+БЕЛИЋ ТОДОР
+БЕЛИЋ ВЕРА
+БЕЛИЋ ВЕСНА
+БЕЛИЋ ВЛАДИСЛАВ
+БЕЛИЋ ВЛАДИСЛАВ
+БЕЛИЋ ВОЈИСЛАВ
+БЕЛИЋ ВУКА
+БЕЛИЋ ЗОРА
+БЕЛИМАРКОВИЋ СЛАВОЉУБ
+БЕЛИНИЋ ЂУРА
+БЕЛИНСКИ АЛЕКСАНДАР
+БЕЛИНСКИ СПАСЕНИЈА
+БЕЉАКОВ МИЛИЦА
+БЕЉАНСКИ ЖИВКА
+БЕЉАНСКИ ЖИВКА
+БЕЉАНСКИ ЂОРЂЕ
+БЕЉАНСКИ ЂОРЂЕ
+БЕЉАНСКИ ЂОРЂЕ
+БЕЉАНСКИ АНЂЕЛИЈА
+БЕЉАНСКИ АНКИЦА
+БЕЉАНСКИ-БАЈИЋ КАЋУША
+БЕЉАНСКИ БОРА
+БЕЉАНСКИ БОРА
+БЕЉАНСКИ БОРИВОЈ
+БЕЉАНСКИ ДРАГАНА
+БЕЉАНСКИ ДРАГИЦА
+БЕЉАНСКИ ЕМИЛИЈА
+БЕЉАНСКИ ГАВРА
+БЕЉАНСКИ ГОРДАНА
+БЕЉАНСКИ ЈЕЛИСАВЕТА
+БЕЉАНСКИ ЈОВАН
+БЕЉАНСКИ ЈОВАН
+БЕЉАНСКИ ЈУЛИЈАНА
+БЕЉАНСКИ ЛАЗАР
+БЕЉАНСКИ ЛАЗАР
+БЕЉАНСКИ ЛАЗАР
+БЕЉАНСКИ ЛЕПОЈКА
+БЕЉАНСКИ ЉУБОМИР
+БЕЉАНСКИ МИЛАН
+БЕЉАНСКИ МИЛЕНКО
+БЕЉАНСКИ МИЛОРАД
+БЕЉАНСКИ МИЛОРАД
+БЕЉАНСКИ МИЛУТИН
+БЕЉАНСКИ МИРЈАНА
+БЕЉАНСКИ ПАВЛЕ
+БЕЉАНСКИ РАДА
+БЕЉАНСКИ РАДМИЛА
+БЕЉАНСКИ РАДОВАН
+БЕЉАНСКИ РАНКО
+БЕЉАНСКИ РУЖИЦА
+БЕЉАНСКИ СЛОБОДАН
+БЕЉАНСКИ СТЕВАН
+БЕЉАНСКИ ТЕОДОР
+БЕЉАНСКИ ТОША
+БЕЉАНСКИ ВАСИЛИЈЕ
+БЕЉАНСКИ ВЕРА
+БЕЉАНСКИ ВЛАДИМИР
+БЕЉАНСКИ ВЛАДИСЛАВ
+БЕЉАНСКИ ВОЈИСЛАВ
+БЕЉАНСКИ ЗАГОРКА
+БЕЉАНСКИ ЗДЕНКА
+БЕЉИН ЖИВА
+БЕЉИН ЂОРЂЕ
+БЕЉИН БРАНИСЛАВА
+БЕЉИН ДИМИТРИЈЕ
+БЕЉИН МАРИЈА МАГДАЛЕНА
+БЕЉИН НЕДЕЉКО
+БЕЉИН РАДИВОЈ
+БЕЉИН РАДОСЛАВ
+БЕЉИН РУЖА
+БЕЉИН САВА
+БЕЉИН СОФИЈА
+БЕЉИН ВЛАДИМИР
+БЕЉИНАЦ ЗОРАН
+БЕЛОШЕВ НЕВЕНКА
+БЕЛОБРАДИЋ МИЛАН
+БЕЛОБРАДИЋ САВА
+БЕЛОБРК БРАНИСЛАВ
+БЕЛОБРК ДРАГОСЛАВ
+БЕЛОБРК ЛИВИЈЕ
+БЕЛОЦИЋ МИЛЕНКО
+БЕЛОЦИЋ РАДМИЛА
+БЕЛОИЦА РАДОСЛАВ
+БЕЛОИЦА ВИДАН
+БЕЛОПАВЛОВИЋ ДРАГА ДР
+БЕЛОПАВЛОВИЋ МИЛОЈКО
+БЕЛОПАВЛОВИЋ ЗОРАН ДР
+БЕЛОПАВЛОВИЋ ЗОРАН ДР
+БЕЛОСАВИЋ ЈЕЛИЦА
+БЕЛОТИ ИВАНКО
+БЕЛОВАРИ ИВАН
+БЕЛОВИЋ БИЉАНА
+БЕЛОВИЋ РАДА
+БЕЛОВИЋ СТЕВАН
+БЕЛУШЕВИЋ БОЖИДАР
+БЕЛУШЕВИЋ НОВИЦА
+БЕЛУЖИЋ ДАРИНКА
+БЕЛУЖИЋ СТЈЕПАН
+БЕМ ИВАН
+БЕМ ЈОВАН
+БЕМ КАРЛО
+БЕМ МИРОСЛАВ
+БЕМИЛЕР МАГДАЛЕНА
+БЕНЧИК ЂУЛА
+БЕНЧИК ИЛОНКА
+БЕНА МИЛОСАВА
+БЕНАШИЋ ВИНКО
+БЕНАК ПАЛ
+БЕНАРИК ЛАСЛО
+БЕНАРИК МАГДАЛЕНА
+БЕНЦ БРАНИСЛАВА
+БЕНЦ ДРАГАН
+БЕНЦЕ МАРИЈА
+БЕНЦЕ МИХАЉ
+БЕНЦЕ МИКЕШ
+БЕНЦЕТИЋ АНДРИЈА
+БЕНЦЕТИЋ ЉУДЕВИТ
+БЕНЦУН ВЕЛИНКА
+БЕНДЕК МИЛАН
+БЕНЕШ ЉУДМИЛА
+БЕНЕЖАН ЉУБИЦА
+БЕНЕДЕКОВИЋ ИВАН
+БЕНГИН-ЂУРКИЋ НЕЗА
+БЕНГИН БОЖИДАР
+БЕНГИН ДОБРИНКА
+БЕНГИН ДУШАН
+БЕНГИН КОВИЦА
+БЕНГИН МИЛАН
+БЕНИЧАК КАРЛО
+БЕНИЧАК МАГДАЛЕНА
+БЕНИШЕК ДРАГУТИН
+БЕНИЋ ЕВА
+БЕНИЋ ГРУЈИЦА
+БЕНИЋ ПЕТАР
+БЕНИЋ СЕКУЛА
+БЕНИЋ ЗДЕНКО
+БЕНИН ЖИВОЈИН
+БЕЊА КАТАРИНА
+БЕЊАК ДРАГОСЛАВА
+БЕЊАК ЕВИЦА
+БЕНКА МАРИЈА
+БЕНКА МИХАИЛО
+БЕНКЕ ЕЛЗА
+БЕНКОВИЋ ЈОЦА
+БЕНКОВИЋ ЈОЦА
+БЕНО ТИБОР
+БЕНОВИЋ ЈОСИП
+БЕНОВИЋ СТАНА
+БЕОЧАНИН ЈОВАН
+БЕОЧАНИН МИОДРАГ
+БЕОЧАНИН ПАВЛЕ
+БЕОДРАНСКИ ДРАГОМИР
+БЕОДРАНСКИ СТОЈАН
+БЕОКОВИЋ ДАМИР
+БЕР АЛЕКСИЈЕ
+БЕР ФРАЊО
+БЕРЧЕК ЂЕРЂ
+БЕРЧЕК БОЖИДАР
+БЕРЧЕК ФРАЊА
+БЕРЧЕК ЛАДИСЛАВ
+БЕРЧЕК МАРИЈА
+БЕРЧЕК МИХАИЛО
+БЕРЧЕК ОСКАР
+БЕРЧЕК САНИСЛО
+БЕРЋАН МИРЈАНА
+БЕРЋАН ПЕТАР
+БЕРЋАН СЛАВКО
+БЕРА ЂОРЂО
+БЕРА ДРАГАН
+БЕРАК НЕБОЈША
+БЕРАНОВИЋ АЛЕКСАНДАР
+БЕРАР ЖИВАНА
+БЕРАР БОРИВОЈ
+БЕРАР БРАНИСЛАВ
+БЕРАР БРАНИСЛАВ
+БЕРАР ДУШАНКА
+БЕРАР МИЛАН
+БЕРАР МИЛАН
+БЕРАР МИЛАН
+БЕРАР РАДИВОЈ
+БЕРАР СЛОБОДАН
+БЕРАР СЛОБОДАН
+БЕРАР ТИМА
+БЕРАР ВЛАДИМИР
+БЕРАРОВ ЂУРИЦА
+БЕРБАКОВ ЉУБИЦА
+БЕРБАКОВ МАРА
+БЕРБАКОВ МИЛОШ
+БЕРБАКОВ ПЕТАР
+БЕРБАКОВ СТЕВАН
+БЕРБАТОВИЋ ЖАРКО
+БЕРБАТОВИЋ МИРЈАНА
+БЕРБЕР ЉИЉАНА
+БЕРБЕР СТЕВАН
+БЕРБЕРИЋ ЈЕЛИСАВЕТА
+БЕРБЕРИЋ ЈОВАН
+БЕРБЕРИЋ ЛАЗАР
+БЕРБЕРИЋ МИЛУТИН
+БЕРЕШ ЂОРЂЕ
+БЕРЕШ ДАНИЛО
+БЕРЕШ ИЛОНА
+БЕРЕШ ЈОСИП
+БЕРЕШ ЈУЛИШКА
+БЕРЕШ КАРОЉ
+БЕРЕШ КОРНЕЛ
+БЕРЕШ ТИБОР
+БЕРЕШ-ТОТ КОРНЕЛ
+БЕРЕХАНИЋ ЈУЛКА
+БЕРЕЊИ ЕУГЕН
+БЕРЕЊИ ЈАНОШ
+БЕРЕЊИ ЈЕЛЕНА
+БЕРЕЊИ МИКЛОШ
+БЕРЕЊИ МИКЛОШ
+БЕРЕЊИ РОЗАЛИЈА
+БЕРЕЊИ СТЕВАН
+БЕРЕЊИ ТИБОР
+БЕРЕНТА ЈОСИП
+БЕРЕНТЕ ИЛОНА
+БЕРЕТИЋ АНТУН
+БЕРЕТИЋ ЛАДИСЛАВ
+БЕРЕТИЋ МАРГИТА
+БЕРЕТКА ШАНДОР
+БЕРЕТКА ГОРДАНА
+БЕРЕТКА ЈУЛИЈАНА
+БЕРЕТКА КАРЛО
+БЕРЕТКА МИХАЉ
+БЕРГЕЛ ЂУРА
+БЕРГЕЛ АНТУН
+БЕРГЕР ФРАЊА ДР СТОМАТОЛОГ
+БЕРГЕР МИРОСЛАВ
+БЕРИША АЗИС
+БЕРИША БОЈКА
+БЕРИША ДЕМО
+БЕРИША ФАИК
+БЕРИША МИРВЕТА
+БЕРИША РАГИБ
+БЕРИЋ ЖИВКО
+БЕРИЋ АНЂЕЛКО
+БЕРИЋ АНТА
+БЕРИЋ АНТА
+БЕРИЋ БЕРИСЛАВ ДР ПРОФ
+БЕРИЋ БИЉАНА
+БЕРИЋ БОЖИДАР
+БЕРИЋ БОГДАН
+БЕРИЋ ДРАГИЊА
+БЕРИЋ ДУШАНКА
+БЕРИЋ ДУШАН
+БЕРИЋ ГОЈКО
+БЕРИЋ ГОЈКО
+БЕРИЋ ГОЈКО
+БЕРИЋ ИЛИЈА
+БЕРИЋ ЈОРДАНА
+БЕРИЋ ЈОВО
+БЕРИЋ КОСТА
+БЕРИЋ МАРА
+БЕРИЋ-МАСКАРЕЛ КАРМЕНСИТА ДР
+БЕРИЋ МИЛАН
+БЕРИЋ МИЛАН
+БЕРИЋ МИЛАН
+БЕРИЋ МИЛИЦА МР
+БЕРИЋ МИЛИВОЈ
+БЕРИЋ МИЛОРАД
+БЕРИЋ МИЛОРАД
+БЕРИЋ МИЛОВАН
+БЕРИЋ НАДА
+БЕРИЋ НИКОЛА
+БЕРИЋ ПЕРСИДА
+БЕРИЋ ПЕТАР
+БЕРИЋ РАДИВОЈ
+БЕРИЋ РАЈКО
+БЕРИЋ РАЈКО
+БЕРИЋ САВА
+БЕРИЋ ТОДЕ
+БЕРИЋ ВЕРА
+БЕРИЋ ВЕРИЦА
+БЕРИЋ ВЕСНА ДР
+БЕРИЋ ЗОРИЦА
+БЕРИСАВЉЕВИЋ РАЈКО
+БЕРИСАВЉЕВИЋ ЗОРИЦА
+БЕРКЕШ ИШТВАН
+БЕРКИ ЈОЖЕФ
+БЕРКИЋ РУЖИЦА
+БЕРКОВИЋ БЕРИСЛАВ
+БЕРКОВИЋ ЏАФЕР
+БЕРКОВИЋ МИРОСЛАВ
+БЕРКОВИЋ СЛАВОЉУБ
+БЕРЛАНЧИЋ ДАНИЈЕЛ
+БЕРЛОВАН ГЕОРГИНА
+БЕРНАЦКИ АДОЛФ
+БЕРНАРД ЂОРЂЕ
+БЕРНХАРД ЖАРКО
+БЕРНХАРД БОЖИДАР
+БЕРНХАРД БОЈАНА
+БЕРНХАРД ФИЛИП
+БЕРНХАРД ИЛИЈА
+БЕРНХАРД ЉУБАН
+БЕРНХАРД МАРИЈА
+БЕРНХАРД МИЛАН
+БЕРНХАРД МИЛИЦА ДР
+БЕРНХАРД МИЛОРАД
+БЕРНХАРД РАДОСЛАВ
+БЕРНХАРД РАЈКО
+БЕРНХАРД СИМО
+БЕРНХАРД ТРИВО
+БЕРОШ ЉУБИЦА
+БЕРТА ЈАНОШ
+БЕРТА МИЛИЦА
+БЕРТА ПАЛ
+БЕРТА ПЕТАР
+БЕРТИЋ ТАТЈАНА
+БЕРТИЋ ЗВОНКО
+БЕРТОК ЈАНОШ
+БЕРТОК ЈУЛИЈАНА
+БЕРТОК ЛАЈОШ
+БЕРТРОН ЛЕНКЕ
+БЕРУС ВЈЕКОСЛАВ
+БЕРЗА АЛЕКСАНДАР
+БЕСЕДЕШ ЈОЖЕФ
+БЕСЕРМЕЊИ ЂОРЂЕ
+БЕСЕРМЕЊИ БРАНКО
+БЕСЕРМЕЊИ ДИОНИЗИЈЕ
+БЕСЕРМЕЊИ ЕУФЕМИЈА
+БЕСЕРМЕЊИ ИРЕНА
+БЕСЕРМЕЊИ ИВАН
+БЕСЕРМЕЊИ КИРИЛ
+БЕСЕРМЕЊИ КСЕНИЈА
+БЕСЕРМЕЊИ ЛЕОНА
+БЕСЕРМЕЊИ МЕЛАНИЈА
+БЕСЕРМЕЊИ ОЛГА
+БЕСЕРМЕЊИ ВЛАДИМИР
+БЕСЕРМЕЊИ ВЛАДИМИР
+БЕСКОРОВАЈНИ ВЛАДИМИР
+БЕСЛАЋ ДРАГАНА
+БЕСЛАЋ МИЛУТИН
+БЕСЛАЋ РАДМИЛА
+БЕСНИЛОВ БОШКО
+БЕСНИЛОВ ОЛИВЕРА
+БЕСУ СИЛА
+БЕСУ ТОДОР
+БЕСУ ТРАНДАФИР
+БЕТИ СТАНКО АДВОКАТ
+БЕУЦ ЖИВАН
+БЕУЦ МИРА
+БЕУЦ ОЛГА
+БЕЗДАН АНА
+БЕЗДАН ФРАЊА
+БЕЗДАН ИЛДИКО
+БЕЗДАН ИРЕНА
+БЕЗДАН ЈОСИП
+БЕЗЕНШЕК НАТАЛИЈА
+БЕЗИ КАТИЦА
+БЕЗЈАК МИЛАНКА
+БЕЗЈАК ЗДЕНКО
+БЕЗУЉ ЂОРЂЕ
+БЕЗУЉ ЉИЉАНА ПРОФЕСОР
+БИЧАК ИГНАЦ
+БИЧАК ЈУСТИНА
+БИЧАН АНКА
+БИЧАН ИВИЦА
+БИЧКЕИ ТЕРЕЗИЈА
+БИЋАНИЋ ДАНИЦА
+БИЋАНИЋ КРИСТИНА
+БИЋАНИЋ МАРИЈА
+БИЋАНИЋ ПЕТАР
+БИЋАНИЋ ПЕТРА
+БИБЕР СТЕВАН
+БИБЕРЏИЋ РАДОМИР
+БИБИЋ АЛЕКСАНДАР
+БИБИЋ ПАВЛЕ
+БИБИЋ СОФИЈА
+БИБИЋ СТЈЕПАН
+БИБИН ЈУГОСЛАВ
+БИБИН МИЛИНКО
+БИЦИКИН МИЛАН
+БИЦК ДРАГУТИН
+БИЦО РУЖИЦА
+БИЦОК ЕТЕЛКА
+БИЦОК МАРГИТА
+БИЦОК МАРГИТА
+БИЕЛЧИК ЛИДИЈА
+БИГА БОРИСЛАВ
+БИГА МИЛАН
+БИГА НАДА
+БИГА СМИЉА
+БИГОВИЋ-ШИРОКИ ЗОРИЦА
+БИГОВИЋ АНА
+БИГОВИЋ ВОЈИН
+БИГОВИЋ ВОЈИСЛАВ
+БИХОРАЦ МИРЈАНА
+БИЈАНИЋ МИЛЕНКО
+БИЈАНКО ПЕТАР
+БИЈЕДИЋ МИЛОРАД
+БИЈЕЛИЋ АЛЕКСА
+БИЈЕЛИЋ БРАНИСЛАВ
+БИЈЕЛИЋ ДАРА
+БИЈЕЛИЋ ИВИЦА
+БИЈЕЛИЋ ЈОВАН
+БИЈЕЛИЋ ЈОВИЦА
+БИЈЕЛИЋ МАТО
+БИЈЕЛИЋ МИЛАН
+БИЈЕЛИЋ МИЛЕ
+БИЈЕЛИЋ МИЛЕ
+БИЈЕЛИЋ МИЛЕ
+БИЈЕЛИЋ МИЛЕ
+БИЈЕЛИЋ НОВАК
+БИЈЕЛИЋ ПЕРО
+БИЈЕЛИЋ РИСТО
+БИЈЕЛИЋ СТОЈАН
+БИЈЕЛИЋ СТОЈАН
+БИЈЕЉАЦ НЕДЕЉКО ДИПЛ ИНГ
+БИЈЕЛОВИЋ НОВКА
+БИЈУКЛИЋ ДРАГОСЛАВ
+БИЈУКЛИЋ ДРАГОСЛАВ
+БИЈУКЛИЋ МАРИНКО
+БИКАР ДРАГАНА
+БИКАР ФЕДОРА
+БИКАРЕВИЋ ДРАГАН
+БИКИЋ ЖИВАН
+БИКИЋ ЂОРЂЕ
+БИКИЋ ДАНИЦА
+БИКИЋ ДУШАН
+БИКИЋ КОНСТАНТИН
+БИКИЋ ЉИЉАНА
+БИКИЋ МИЛОВАН
+БИКИЋ МИОДРАГ
+БИКИЋ НИКОЛА
+БИКИЋ ПЕРА
+БИКИЦКИ ЂОРЂЕ
+БИКИЦКИ АЛЕКСАНДАР
+БИКИЦКИ БРАНИСЛАВ
+БИКИЦКИ ЈЕЛИЦА
+БИКИЦКИ ЈЕЛИЦА
+БИКИЦКИ ЈОВАН
+БИКИЦКИ ЈОВАН
+БИКИЦКИ КАТАРИНА
+БИКИЦКИ МИЛОШ
+БИКИЦКИ МИРОСЛАВ
+БИКИЦКИ РАДОЈКА
+БИКИЦКИ СИНИША
+БИКИЦКИ СИНИША
+БИКИЦКИ ВАСИЛИЈЕ
+БИКИТ МАГДОЛНА
+БИКИТ НОРБЕРТ
+БИКОВИЋ ЉУБИЦА
+БИКОВИЋ ВЛАДИМИР
+БИЛЧАР ХИЛДА
+БИЛЧАР ВЕРА
+БИЛА МИРКО
+БИЛАК МИЛАН
+БИЛАК НАДА
+БИЛАЛОВИЋ САБАХУДИН
+БИЛАНЏИЈА ДАНИЦА
+БИЛАНИЋ НАДА
+БИЛАНОВИЋ ДУШАН
+БИЛАНОВИЋ ГОРДАНА
+БИЛАНОВИЋ ПЕРО
+БИЛАС СМИЉА
+БИЛБИЈА БОГДАН
+БИЛБИЈА ДЕЈАН
+БИЛБИЈА ДРАГАН
+БИЛБИЈА ЈАСНА
+БИЛБИЈА МИЛАН
+БИЛБИЈА СМИЉА
+БИЛЕК МИЛИЦА
+БИЛЕР ЂОРЂЕ
+БИЛИ ЈУЛИЈА
+БИЛИЧИЋ СТЈЕПАН
+БИЛИЋ АНТЕ
+БИЛИЋ БРАНКИЦА
+БИЛИЋ ГОРДАНА
+БИЛИЋ ИВАН ДИПЛ ИНГ
+БИЛИЋ ИВАН
+БИЛИЋ ЈАКОВ
+БИЛИЋ ЈЕЛЕНА
+БИЛИЋ МИЛАН
+БИЛИЋ МИЛАН
+БИЛИЋ МИЛЕНКО
+БИЛИЋ МИЛОРАД
+БИЛИЋ МИРО
+БИЛИЋ ПРЕДРАГ
+БИЛИЋ СРЂАН
+БИЛИЋ СТЈЕПАН
+БИЛИЋ СТРАИН
+БИЛИЦКИ ЛАСЛО
+БИЛИНОВИЋ БОРИС
+БИЛИНОВИЋ САША
+БИЉАНИЋ РАДОЈКА
+БИЉЊА ВЛАДИМИР
+БИЛОКАПИЋ ИВАН
+БИЛОКАПИЋ ЈУРЕ
+БИЛОКАПИЋ СТЕВАН
+БИЛУШИЋ СЛАВИЦА
+БИН АЛЕКСАНДАР
+БИН МУХАМЕТ
+БИНАКАЈ БАЈРАМ
+БИНДАС ЂУРА
+БИНДАС ДРАГИЦА
+БИНДАС МИХАЈЛО
+БИНДЕР АРАНКА
+БИНГОЛД ДРАГУТИН
+БИНГОЛД КАРЛО
+БИНГОЛД РУДОЛФ
+БИНГУЛАЦ ЖИВКО
+БИНГУЛАЦ БОЈАНА
+БИНГУЛАЦ МИРЈАНА
+БИОНДИЋ ЈЕЛЕНА
+БИОРАЦ ДЕСИМИР
+БИОРАЦ РАНКО
+БИРЋА СРЕТКО
+БИРЦЛИН РУЖИЦА
+БИРДИЋ БЕЛА
+БИРЕШ ЛЕНКА
+БИРЕШ РОЗАЛИЈА
+БИРГЕМАЈЕР МАРИЈА
+БИРХМАН АНА
+БИРИЊИ ДЕНЕШ
+БИРИЊИ ЕУГЕН
+БИРМАНАЦ ДУШАН
+БИРО АНТОН
+БИРО ГИЗЕЛА
+БИРО ГИЗЕЛА
+БИРО ИШТВАН
+БИРО ИЛОНА
+БИРО ИМРЕ
+БИРО ИМРЕ
+БИРО КАТАЛИН
+БИРО ЛАЈОШ
+БИРО МИКЛОШ
+БИРО МИЛОШ
+БИРОШЕВИЋ МИЛИЦА
+БИРОВЉЕВ БРАНИМИР
+БИРОВЉЕВ БРАНИСЛАВ
+БИРОВЉЕВ МИЛАН
+БИРОВЉЕВ МИЛОРАД
+БИРОВЉЕВ МИЛОСАВ
+БИРОВЉЕВ МИРОСЛАВ
+БИРОВЉЕВ ТОДОР ДР
+БИРОВЉЕВИЋ ДРАГАН
+БИРОВЉЕВИЋ ЉУБИЦА
+БИРТА ВЛАДИМИР
+БИРВАЛСКИ ДУШАН
+БИСЕРЧИЋ АНДРИЈА
+БИСЕРЧИЋ ДРАГО
+БИСЕРЧИЋ МИЛКАНА
+БИСИЋ ЈОВАН
+БИСТРИЦАН ОЛГА
+БИСТРОВИЋ АНТОН
+БИТИЋ ЏЕМАИЛ
+БИТО СТЕВАН
+БИУК МАРИЈА
+БИВОЛАРЕВИЋ ВУКАШИН
+БИЗЈАК РЕНАТО
+БИЗУМИЋ ГЕОРГИЈЕ
+БИЗУМИЋ ЈЕЛКА
+БИЗУМИЋ ЛАЗАР
+БИЗУМИЋ МИЛАН
+БЈЕДИЋ ДЕСАНКА
+БЈЕДОВ ЂУКА
+БЈЕДОВ ДРАГО
+БЈЕДОВ НИКОЛА
+БЈЕГОВИЋ ДАНИЛКА
+БЈЕГОВИЋ ГОЈКО
+БЈЕКИЋ ЛУКА
+БЈЕКИЋ ОСТОЈА
+БЈЕКОВИЋ МИРЈАНА
+БЈЕКОВИЋ РАДЕ
+БЈЕЛАЦ ЂУРА
+БЈЕЛАЦ ДРАГАН
+БЈЕЛАЦ ДРАГАН
+БЈЕЛАЦ ЕТЕЛКА
+БЈЕЛАЈАЦ ДРАГАН
+БЈЕЛАЈАЦ МИЉА
+БЈЕЛАЈАЦ СВЕТОЗАР
+БЈЕЛАКОВИЋ РАДИВОЈЕ
+БЈЕЛАНОВИЋ МИЛОСАВ
+БЈЕЛАНОВИЋ МИРКО
+БЈЕЛАНОВИЋ РАЈКО
+БЈЕЛАНОВИЋ СТАНИМИР
+БЈЕЛАНОВИЋ ТАЊА
+БЈЕЛЕТИЋ БОГДАН
+БЈЕЛЕТИЋ ЉУБИЦА
+БЈЕЛЕТИЋ ЛУКА
+БЈЕЛИ-ХАЏИЋ ЈЕЛИЦА
+БЈЕЛИЋ ЂУРА
+БЈЕЛИЋ БОРИСЛАВ
+БЈЕЛИЋ БРАНКО
+БЈЕЛИЋ ДАНИЛКА
+БЈЕЛИЋ ДМИТАР
+БЈЕЛИЋ ГОРДАНА
+БЈЕЛИЋ ЈОВАН
+БЈЕЛИЋ КАТИЦА
+БЈЕЛИЋ КРСТАН
+БЈЕЛИЋ ЉУБОМИР
+БЈЕЛИЋ МИЛАН
+БЈЕЛИЋ МИРКО
+БЈЕЛИЋ НЕДЕЉКО
+БЈЕЛИЋ ОЛГА
+БЈЕЛИЋ ПЕТАР
+БЈЕЛИЋ ПЕТАР
+БЈЕЛИЋ СЛАВКО
+БЈЕЛИЋ СЛОБОДАН
+БЈЕЛИЋ СТЕВО
+БЈЕЛИЋ СВЕТЛАНА
+БЈЕЛИЋ ВЕРА
+БЈЕЛИЋ ВЛАДИМИР
+БЈЕЛИЦА ЧЕДО
+БЈЕЛИЦА ЂОРЂИЈА
+БЈЕЛИЦА АЛЕКСА
+БЈЕЛИЦА БОГДАН
+БЈЕЛИЦА БРАНИСЛАВ
+БЈЕЛИЦА ДАНИЛО
+БЈЕЛИЦА ДОБРИВОЈЕ
+БЈЕЛИЦА ДРАГУТИН
+БЈЕЛИЦА ГОЈКО
+БЈЕЛИЦА ГОЈКО
+БЈЕЛИЦА ЈАДРАНКА
+БЈЕЛИЦА ЈАДРАНКА
+БЈЕЛИЦА ЛУКА
+БЈЕЛИЦА МИЛАН
+БЈЕЛИЦА МИЛИЦА
+БЈЕЛИЦА МИОДРАГ
+БЈЕЛИЦА НАДА
+БЈЕЛИЦА-ПОПОВИЋ ЉУБИЦА
+БЈЕЛИЦА РАЈКО
+БЈЕЛИЦА РАКО
+БЈЕЛИЦА РАТКО
+БЈЕЛИЦА САВКА
+БЈЕЛИЦА СЛАВКО
+БЈЕЛИЦА СПАСОЈЕ
+БЈЕЛИЦА ТИГРАН
+БЈЕЛИЦА ВЕЉКО
+БЈЕЛИЦА ВЕЉКО
+БЈЕЛИЦА ВОЈО
+БЈЕЛИЦА ВУКОСАВА
+БЈЕЛИЦА ЗОРАН
+БЈЕЛИНИЋ ДАРИНКА
+БЈЕЛИНИЋ ЈОВО
+БЈЕЛИВУК ГОРАН
+БЈЕЛИВУК ВЛАДИМИР
+БЈЕЉАЦ АНА
+БЈЕЉАЦ БОРА
+БЈЕЉАЦ БРАНКО
+БЈЕЉАЦ МИЛАН
+БЈЕЉАЦ МИЛОРАД
+БЈЕЛОШ ДАНИЦА
+БЈЕЛОШ МИРОСЛАВ
+БЈЕЛОШ МИРОСЛАВ
+БЈЕЛОШЕВИЋ СЛАВКО
+БЈЕЛОБАБА АЛЕКСАНДАР
+БЈЕЛОБАБА ДАРА
+БЈЕЛОБРК БОШКО
+БЈЕЛОБРК БОШКО
+БЈЕЛОБРК ГОРАН
+БЈЕЛОБРК ЛАЗАР
+БЈЕЛОБРК ЛАЗАР
+БЈЕЛОБРК МАНЕ
+БЈЕЛОБРК МАРКО
+БЈЕЛОБРК МИЛАН
+БЈЕЛОБРК МИЛОШ
+БЈЕЛОБРК ПЕТАР
+БЈЕЛОБРК-ВАРГА ЈАСНА
+БЈЕЛОГРЛИЋ ЂОРЂЕ
+БЈЕЛОГРЛИЋ БЛАГОЈЕ
+БЈЕЛОГРЛИЋ ДЕЈАНА
+БЈЕЛОГРЛИЋ ДРАГАН
+БЈЕЛОГРЛИЋ ЉУБИЦА
+БЈЕЛОГРЛИЋ ЉУБО
+БЈЕЛОГРЛИЋ МИТАР
+БЈЕЛОГРЛИЋ МОМЧИЛО
+БЈЕЛОТОМИЋ ЈОВО
+БЈЕЛОВИЋ РАТКО
+БЈЕЛОВУК МИРЈАНА
+БЈЕЛОВУК СЛАВИЦА
+БЈЕЛОВУК СЛАВКО
+БЛАШКО ТИБОР
+БЛАШКОВИЋ ФРАЊО
+БЛАШКОВИЋ ЛАСЛО
+БЛАШКОВИЋ ПАВЛЕ
+БЛАЖАН ФРАЊО
+БЛАЖАН ИВО
+БЛАЖАН МАРКО
+БЛАЖАН СЛАВКО
+БЛАЖЕК ГУСТАВ
+БЛАЖЕК ЈЕЛЕНА
+БЛАЖЕК МАРИЈА
+БЛАЖЕК МИХАЉ
+БЛАЖЕВА ОЛГА
+БЛАЖЕВИЋ АНДРИЈА
+БЛАЖЕВИЋ ДРАГАНА
+БЛАЖЕВИЋ ДРАГО
+БЛАЖЕВИЋ ДУШАНКА
+БЛАЖЕВИЋ ДУШИЦА
+БЛАЖЕВИЋ ДУБРАВКА
+БЛАЖЕВИЋ ФРАЊО
+БЛАЖЕВИЋ МИОДРАГ
+БЛАЖЕВИЋ РАДЕ ДР ЛЕКАР
+БЛАЖЕВИЋ СТЈЕПАН
+БЛАЖЕВИЋ СУЗАНА
+БЛАЖЕВИЋ ВЕРА
+БЛАЖЕВИЋ ЗОРАН
+БЛАЖИЋ ЂОРЂЕ
+БЛАЖИЋ БОШКО
+БЛАЖИЋ БРАНИСЛАВА
+БЛАЖИЋ ДРАГАН
+БЛАЖИЋ ДРАГАН
+БЛАЖИЋ ДРАГОЉУБ
+БЛАЖИЋ ХРИСТИНА
+БЛАЖИЋ ИВАН
+БЛАЖИЋ ЈЕЛЕНА
+БЛАЖИЋ КСЕНИЈА
+БЛАЖИЋ МАРИЈА
+БЛАЖИЋ МЕТОДИЈЕ
+БЛАЖИЋ МИХАЈЛО
+БЛАЖИЋ САВА
+БЛАЖИЋ САВКО
+БЛАЖИЋ СВЕТОЗАР
+БЛАЖИЋ ВИДА
+БЛАЖИК АНТАЛ
+БЛАЖИН ДРАГИЊА
+БЛАГОЈЕВ ЖИВКО
+БЛАГОЈЕВ ЖИВКО
+БЛАГОЈЕВ ЂОРЂЕ
+БЛАГОЈЕВ ИВАН
+БЛАГОЈЕВ МИЛИВОЈ
+БЛАГОЈЕВ МИЛОРАД
+БЛАГОЈЕВ МИТА
+БЛАГОЈЕВ РАДА
+БЛАГОЈЕВ РАДОСЛАВ
+БЛАГОЈЕВ СТЕВАН
+БЛАГОЈЕВ ВЕЛИМИР
+БЛАГОЈЕВИЋ ЧЕДО
+БЛАГОЈЕВИЋ ЖАРКО
+БЛАГОЈЕВИЋ ЂОРЂЕ
+БЛАГОЈЕВИЋ ЂОРЂЕ
+БЛАГОЈЕВИЋ АНА
+БЛАГОЈЕВИЋ БЕЋКО
+БЛАГОЈЕВИЋ БОРА
+БЛАГОЈЕВИЋ БОРИСЛАВ
+БЛАГОЈЕВИЋ БОРИВОЈЕ
+БЛАГОЈЕВИЋ БОРИВОЈ
+БЛАГОЈЕВИЋ БОРКО
+БЛАГОЈЕВИЋ БРАНИСЛАВ
+БЛАГОЈЕВИЋ ДАНИЦА
+БЛАГОЈЕВИЋ ДРАГОМИР
+БЛАГОЈЕВИЋ ДУШАН ДИПЛ ИНГ
+БЛАГОЈЕВИЋ ДУШАН
+БЛАГОЈЕВИЋ ЈАГИЦА
+БЛАГОЈЕВИЋ ЈАНКО
+БЛАГОЈЕВИЋ КРСТАН
+БЛАГОЈЕВИЋ ЉУБОМИР
+БЛАГОЈЕВИЋ МАРИНКО
+БЛАГОЈЕВИЋ МИКА
+БЛАГОЈЕВИЋ МИКА
+БЛАГОЈЕВИЋ МИЛАН
+БЛАГОЈЕВИЋ МИЛАН
+БЛАГОЈЕВИЋ МИЛАН
+БЛАГОЈЕВИЋ МИЛЕНА
+БЛАГОЈЕВИЋ МИЛИЦА
+БЛАГОЈЕВИЋ МИЛИВОЈЕ
+БЛАГОЈЕВИЋ МИЛОШ
+БЛАГОЈЕВИЋ МИРОСЛАВ
+БЛАГОЈЕВИЋ МЛАЂА
+БЛАГОЈЕВИЋ МОМИР
+БЛАГОЈЕВИЋ НАДА
+БЛАГОЈЕВИЋ ПРЕДРАГ
+БЛАГОЈЕВИЋ РАДЕ
+БЛАГОЈЕВИЋ РАДОМИР
+БЛАГОЈЕВИЋ СЕРАФИНА
+БЛАГОЈЕВИЋ СЛОБОДАН
+БЛАГОЈЕВИЋ СЛОБОДАН
+БЛАГОЈЕВИЋ СЛОБОДАН
+БЛАГОЈЕВИЋ СНЕЖАНА
+БЛАГОЈЕВИЋ СЊЕЖАНА
+БЛАГОЈЕВИЋ СТАНКО
+БЛАГОЈЕВИЋ СТЕВО
+БЛАГОЈЕВИЋ СВЕТКО
+БЛАГОЈЕВИЋ ВЛАДИСЛАВ
+БЛАГОВИЋ МАРИЈА
+БЛАХО ЈОЖЕФ
+БЛАНАРИК ШАНДОР
+БЛАНАРИК ЂУРА
+БЛАНАРИК АЛЕКСАНДАР
+БЛАНАРИК ЕТЕЛКА
+БЛАНАРИК ИЛОНА
+БЛАНАРИК ЈОЖЕФ
+БЛАНАРИК ЛАДИСЛАВ
+БЛАНАРИК ОЛГА
+БЛАНАРИК СТЕВАН
+БЛАНАРИК ТИБОР
+БЛАНАРИК ВАЛЕРИЈА
+БЛАНУША БРАНКО
+БЛАНУША ИЛИЈА
+БЛАНУША РАДЕ
+БЛАНУША ВЕРА
+БЛАНУША ЗОРАН
+БЛАТЕШИЋ МИОЉКА
+БЛАТЕШИЋ РАЈКО
+БЛАТНИЦКИ ВЕСНА
+БЛЕЧИЋ ЈЕЛЕНА
+БЛЕЧИЋ ЉУБИЦА
+БЛЕЧИЋ МИЛАДИН
+БЛЕЧИЋ МИОДРАГ
+БЛЕЧИЋ РАДОСАВ МР
+БЛЕЧИЋ САША
+БЛЕХЛ ЈОВАНКА
+БЛИТВА ЂОРЂЕ
+БЛИТВА БРАНКО
+БЛИЗАНАЦ ДОБРИВОЈ
+БЛИЗАНАЦ ДРАГОЉУБ
+БЛИЗАНАЦ ДУШАН
+БЛИЗАНАЦ ЈЕЛКИЦА
+БЛИЗАНАЦ ЛЕПОСАВА
+БЛИЗАНАЦ МИЛОРАД
+БЛИЗАНАЦ МИРОСЛАВ
+БЛИЗАНАЦ НЕНАД
+БЛИЗАНАЦ САВА
+БЛИЗАНАЦ ВУЈИЦА
+БЛОЖИЋ ДИМИТРИЈЕ
+БЛУМЕНШАЈН КАРЛО
+БОЧАН ИВАН
+БОЧКОР НИКОЛА
+БОШЧАНИН БОШКО
+БОШКИЋ БОРКА
+БОШКИЋ МИРЈАНА
+БОШКИЋ НАТАША
+БОШКИЋ ЗОРА
+БОШКОВ ЖАРКО ДИПЛ ИНГ
+БОШКОВ ЖИВОЈИН
+БОШКОВ-ЈАГОДИЋ ЗОРИЦА
+БОШКОВ ЉУБИНКА
+БОШКОВ ЛУКА
+БОШКОВ МИЛИВОЈЕ
+БОШКОВ МИЛОШ
+БОШКОВ МИРЈАНА
+БОШКОВ САВКА
+БОШКОВ СОФИЈА
+БОШКОВ СРЕТЕН
+БОШКОВ СТЕВАН
+БОШКОВ СТОЈАН
+БОШКОВ ВЕСНА
+БОШКОВ ВУЈАДИН
+БОШКОВИЋ ЖЕЉКО
+БОШКОВИЋ ЖИВКО
+БОШКОВИЋ АЛЕКСАНДАР
+БОШКОВИЋ АЛЕКСА
+БОШКОВИЋ АЛЕКСА
+БОШКОВИЋ АНЂА
+БОШКОВИЋ БИЉАНА
+БОШКОВИЋ БЛАГОЈЕ
+БОШКОВИЋ БОШКО
+БОШКОВИЋ БОГДАНКА
+БОШКОВИЋ БОГДАН
+БОШКОВИЋ БОРИС
+БОШКОВИЋ БУДИМИР
+БОШКОВИЋ ЦВЕТКО
+БОШКОВИЋ ДАНИЛО
+БОШКОВИЋ ДЕСАНКА
+БОШКОВИЋ ДРАГАН
+БОШКОВИЋ ДРАГИЦА
+БОШКОВИЋ ДРАГОЈЛО
+БОШКОВИЋ ДРАГОЉУБ
+БОШКОВИЋ ДРАГОМИР
+БОШКОВИЋ ДРАГОМИР
+БОШКОВИЋ ДУШАН
+БОШКОВИЋ ДУШАН
+БОШКОВИЋ ДУШКО
+БОШКОВИЋ ГОРАН
+БОШКОВИЋ ГОРАН
+БОШКОВИЋ ХЕДВИГА
+БОШКОВИЋ ЈОВАН
+БОШКОВИЋ КРСТО
+БОШКОВИЋ ЉИЉАНА
+БОШКОВИЋ ЉУБИША
+БОШКОВИЋ ЉУБИНКА
+БОШКОВИЋ ЉУБОМИР
+БОШКОВИЋ ЉУБОМИР
+БОШКОВИЋ МИЛЕВА
+БОШКОВИЋ МИЛИВОЈЕ
+БОШКОВИЋ МИЛИВОЈЕ
+БОШКОВИЋ МИЛОРАД
+БОШКОВИЋ МИЛОРАД
+БОШКОВИЋ МИЛОРАД
+БОШКОВИЋ МИЛОРАД
+БОШКОВИЋ МИЛОВАН
+БОШКОВИЋ МИОДРАГ
+БОШКОВИЋ МИРКО
+БОШКОВИЋ МОМЧИЛО
+БОШКОВИЋ МОМЧИЛО
+БОШКОВИЋ НАДА
+БОШКОВИЋ НАДА
+БОШКОВИЋ НЕДЕЉКО
+БОШКОВИЋ НИКОЛА
+БОШКОВИЋ НИКОЛА
+БОШКОВИЋ НОВКА
+БОШКОВИЋ-ПЕРОВИЋ ИВАНА
+БОШКОВИЋ ПЕТАР
+БОШКОВИЋ ПЕТАР
+БОШКОВИЋ ПЕТАР
+БОШКОВИЋ ПЕТАР
+БОШКОВИЋ ПЕТАР
+БОШКОВИЋ РАДОМИР
+БОШКОВИЋ РАТОМИР
+БОШКОВИЋ РОСА
+БОШКОВИЋ САВА
+БОШКОВИЋ СЛОБОДАНКА
+БОШКОВИЋ СЛОБОДАН
+БОШКОВИЋ СЛОБОДАН
+БОШКОВИЋ СТЕВАН АДВОКАТ
+БОШКОВИЋ СТЕВАН
+БОШКОВИЋ СТЕВАН
+БОШКОВИЋ ТОМИСЛАВ
+БОШКОВИЋ ТОМИСЛАВ
+БОШКОВИЋ ВЕЉКО
+БОШКОВИЋ ВЛАДА
+БОШКОВИЋ ВЛАДИМИР
+БОШКОВИЋ ВОЈИСЛАВ
+БОШКОВСКИ ДОЈЧИН
+БОШКОВСКИ РАДА
+БОШЊАЧИЋ РАЈКО
+БОШЊАК ЂОРЂЕ
+БОШЊАК ЂУРА
+БОШЊАК ЂУРО
+БОШЊАК АНА
+БОШЊАК БОЖИДАР
+БОШЊАК ДАРКО
+БОШЊАК ДЕЈАН
+БОШЊАК ДЕСАНКА
+БОШЊАК ФЕРЕНЦ
+БОШЊАК ИШТВАН
+БОШЊАК ЈЕЛЕНА
+БОШЊАК ЈЕЛИЦА
+БОШЊАК ЈЕЛИЦА
+БОШЊАК ЈУЛКА
+БОШЊАК КАТАРИНА
+БОШЊАК КОСТА
+БОШЊАК ЉУБОМИР
+БОШЊАК ЉУБОМИР
+БОШЊАК МАГДАЛЕНА
+БОШЊАК МАРИЈА
+БОШЊАК МИЛАН
+БОШЊАК МИЛЕНА
+БОШЊАК МИЛОРАД
+БОШЊАК МИРКО
+БОШЊАК НЕЂО
+БОШЊАК НИКОЛА
+БОШЊАК ПАВЛЕ
+БОШЊАК ПЕТАР
+БОШЊАК РАДМИЛА
+БОШЊАК РАДОЈКА
+БОШЊАК РАДОВАН
+БОШЊАК СЛАВКА
+БОШЊАК СЛАВКО
+БОШЊАК ТОМИСЛАВ
+БОШЊАК ВЕЛИМИР
+БОШЊАК ВИДОСАВА
+БОШЊАК ВИНКА
+БОШЊАК ВОЈИСЛАВ
+БОШЊАК ЗОРАН
+БОШЊАКОВИЋ АЛЕКСАНДАР ДИПЛ ИНГ
+БОШЊАКОВИЋ АЛЕКСАНДАР ДИПЛ ПРАВНИК
+БОШЊАКОВИЋ АНТОНИЈА
+БОШЊАКОВИЋ БИЉАНА
+БОШЊАКОВИЋ БОРИСЛАВ
+БОШЊАКОВИЋ БОРИСЛАВ
+БОШЊАКОВИЋ БРАНКА
+БОШЊАКОВИЋ ЦВИЈЕТИН
+БОШЊАКОВИЋ ДОБРИНКА
+БОШЊАКОВИЋ КОРНЕЛИЈЕ
+БОШЊАКОВИЋ ЉУБОМИР
+БОШЊАКОВИЋ МАРИЦА ДИПЛ ОЕЦ
+БОШЊАКОВИЋ МИЛУТИН
+БОШЊАКОВИЋ МИРОСЛАВ
+БОШЊАКОВИЋ МИТАР
+БОШЊАКОВИЋ ПАВАО
+БОШЊАКОВИЋ РАДОСЛАВ
+БОШЊАКОВИЋ РАТКО
+БОШЊАКОВИЋ СИНИША
+БОШЊАКОВИЋ СЛАВКА
+БОЋАН МАРИЈА
+БОЋЕРЕГ ЗУЗАНА
+БОЖА ПАЛ
+БОЖАНИЋ ЖИКА
+БОЖАНИЋ ЂОРЂЕ
+БОЖАНИЋ АНЂЕЛКА
+БОЖАНИЋ ДУШАН
+БОЖАНИЋ ГОЈКО
+БОЖАНИЋ ЈЕЛЕНА
+БОЖАНИЋ КОСА
+БОЖАНИЋ МИЛИЦА
+БОЖАНИЋ МИЛОРАД
+БОЖАНИЋ НЕВЕНКА
+БОЖАНОВИЋ РАЈКА
+БОЖАНОВИЋ ЗОРАН
+БОЖЕР ЛАЈОШ
+БОЖЕР ЉУДЕВИТ
+БОЖЕР ЗОРА
+БОЖИЧИЋ МИЛАН
+БОЖИЧИЋ МИЛЕНКО
+БОЖИЧИЋ ПЕТАР
+БОЖИЧКОВИЋ ЈОВАН
+БОЖИЧКОВИЋ НЕДЕЉКО ДР
+БОЖИЧКОВИЋ НЕРА
+БОЖИЧКОВИЋ ВОЈИСЛАВ
+БОЖИЧКОВИЋ ЗОРКА
+БОЖИЋ ЧЕДОМИР
+БОЖИЋ ЖАРКО
+БОЖИЋ ЖИВАНА
+БОЖИЋ ЖИВКО
+БОЖИЋ ЂОРЂЕ
+БОЖИЋ ЂУРЂИНА
+БОЖИЋ ЂУРА
+БОЖИЋ АЛЕКСАНДАР
+БОЖИЋ АЛЕКСАНДАР
+БОЖИЋ АНЂЕЛКА
+БОЖИЋ БОШКО
+БОЖИЋ БОЖАНА
+БОЖИЋ БОРИВОЈ
+БОЖИЋ БОРКО
+БОЖИЋ БРАНИСЛАВ
+БОЖИЋ БРАНИСЛАВ
+БОЖИЋ ДАРИНКА
+БОЖИЋ ДЕЈО
+БОЖИЋ ДЕСАНКА
+БОЖИЋ ДРАГАН
+БОЖИЋ ДРАГАН
+БОЖИЋ ДРАГАН
+БОЖИЋ ДРАГАН
+БОЖИЋ ДРАГОЉУБ
+БОЖИЋ ДРАГОМИР
+БОЖИЋ ДРАГОМИР
+БОЖИЋ ДРАГОМИР
+БОЖИЋ ДУШАН
+БОЖИЋ ГАВРО
+БОЖИЋ ГОЈКО
+БОЖИЋ ГОРДАНА
+БОЖИЋ ГОРДАНА
+БОЖИЋ ГРАДИМИР
+БОЖИЋ ИЛИЈА
+БОЖИЋ ИВАН
+БОЖИЋ ЈОВАНКА
+БОЖИЋ ЈОВАН
+БОЖИЋ ЈОВАН
+БОЖИЋ ЈОВИЦА
+БОЖИЋ ЈУЛКА
+БОЖИЋ КСЕНИЈА
+БОЖИЋ ЛАЗАР
+БОЖИЋ ЛАЗАР
+БОЖИЋ ЉИЉАНА
+БОЖИЋ МАРА
+БОЖИЋ МАРИНКО
+БОЖИЋ МАРКО
+БОЖИЋ МАРКО
+БОЖИЋ МАРКО
+БОЖИЋ МАТИЈА
+БОЖИЋ МИЛАН
+БОЖИЋ МИЛАН
+БОЖИЋ МИЛАН
+БОЖИЋ МИЛАН
+БОЖИЋ МИЛАН
+БОЖИЋ МИЛАН
+БОЖИЋ МИЛЕВА
+БОЖИЋ МИЛЕ
+БОЖИЋ МИЛИСАВ
+БОЖИЋ МИЉКО
+БОЖИЋ МИЛОРАД
+БОЖИЋ МИОДРАГ
+БОЖИЋ МИРЈАНА
+БОЖИЋ МИРКО
+БОЖИЋ МИРКО
+БОЖИЋ МОМЧИЛО
+БОЖИЋ МОМЧИЛО
+БОЖИЋ НЕЂО
+БОЖИЋ НЕНАД
+БОЖИЋ НЕНАД
+БОЖИЋ НИКОЛА
+БОЖИЋ ОЛГА
+БОЖИЋ ОЗРЕН
+БОЖИЋ ПАВЛЕ ДИПЛ ИНГ
+БОЖИЋ ПЕРА
+БОЖИЋ ПЕТАР
+БОЖИЋ РАДИВОЈ
+БОЖИЋ РАДМИЛА
+БОЖИЋ-РАДОМИРОВИЋ ЈОКА
+БОЖИЋ РАДОВАН
+БОЖИЋ РАЈКО
+БОЖИЋ РАНКО
+БОЖИЋ САЊА
+БОЖИЋ САВА
+БОЖИЋ САВА
+БОЖИЋ САВО
+БОЖИЋ СЛОБОДАН
+БОЖИЋ СЛОБОДАН
+БОЖИЋ СРЕТЕН
+БОЖИЋ СТАНИМИР
+БОЖИЋ СТЕВАН
+БОЖИЋ СТЕВО
+БОЖИЋ СТОЈАНКА
+БОЖИЋ ТАМАРА
+БОЖИЋ ТАТЈАНА
+БОЖИЋ ТЕОДОР
+БОЖИЋ ТОМИСЛАВ
+БОЖИЋ ВЕРИЦА
+БОЖИЋ-ВИЛИЋ ЈЕЛЕНА
+БОЖИЋ ВЛАДАНКА
+БОЖИЋ ВЛАДА
+БОЖИЋ ВЛАДА
+БОЖИЋ ВЛАДА
+БОЖИЋ ВЛАДИСЛАВ
+БОЖИЋ ВУКОСАВА
+БОЖИЋ ЗЛАТА
+БОЖИЋ ЗЛАТИЦА
+БОЖИЋ ЗОРАН
+БОЖИЋ ЗОРАН
+БОЖИЋ ЗОРАН
+БОЖИЋ ЗОРАН
+БОЖИЋ ЗОРКА
+БОЖИДАР АЛЕКСАНДАР
+БОЖИДАР БОРИСЛАВ
+БОЖИДАР БОРИСЛАВ
+БОЖИДАР-КРИЖАК ИРЕНА
+БОЖИДАР ЉУБОМИР
+БОЖИДАРЕВИЋ ЂУРА
+БОЖИДАРЕВИЋ ДЕСАНКА
+БОЖИДАРЕВИЋ ПЕРСИДА
+БОЖИДАРЕВИЋ ВЕЉКО
+БОЖИН ЖАРКО
+БОЖИН ЂОРЂЕ
+БОЖИН ДАНИЦА
+БОЖИН ДАРИНКА
+БОЖИН ДЕСАНКА
+БОЖИН ИГЊАТ ДИПЛ ИНГ
+БОЖИН ИСИДОР
+БОЖИН ЈЕЛИЦА
+БОЖИН ЈУЛИЈАНА
+БОЖИН КРИСТИНА
+БОЖИН КСЕНИЈА
+БОЖИН ЛАЗАР
+БОЖИН ЉУБИЦА
+БОЖИН ЉУБИЦА
+БОЖИН МИЛОШ
+БОЖИН МИЛОШ
+БОЖИН МИРОСЛАВ
+БОЖИН НИКОЛА
+БОЖИН ПАВЛЕ
+БОЖИН ПЕТАР
+БОЖИН РАДИВОЈ
+БОЖИН РАДОВАН
+БОЖИН СИНИША
+БОЖИН СЛАВИЦА
+БОЖИН СЛОБОДАН
+БОЖИН СТЕВАН
+БОЖИН СТЕВАН
+БОЖИН СТЕВАН
+БОЖИНИЋ РУЖИЦА
+БОЖИНОВСКИ АНГЕЛ
+БОЖИНОВСКИ РИСТЕ
+БОЖИНОВСКИ ТРАЈАН
+БОЖЈАК ФРАЊО
+БОЖЈАК МИКА
+БОЖЈАКОВИЋ ЉУБИНКА
+БОЖО ЕЛЕОНОРА
+БОЖОКИ ЕРНЕ
+БОЖОКИ ИЛОНА
+БОЖОВИЋ БОЖИДАР
+БОЖОВИЋ БОРИВОЈ
+БОЖОВИЋ БРАТИСЛАВ
+БОЖОВИЋ ГОРЧИН
+БОЖОВИЋ ГОРДАНА
+БОЖОВИЋ ЉУБИЦА
+БОЖОВИЋ МИЛАДИН ДИПЛ ИНГ
+БОЖОВИЋ МИЛАДИН
+БОЖОВИЋ МИЛОРАД
+БОЖОВИЋ МИЛОВАН
+БОЖОВИЋ МИРЈАНА
+БОЖОВИЋ МИРОЉУБ
+БОЖОВИЋ РАШКО
+БОЖОВИЋ СЛАВКО
+БОЖОВИЋ СНЕЖАНА
+БОЖОВИЋ СТАНКА
+БОЖОВИЋ ВЕЛИМИР
+БОЖОВИЋ ВЕРА
+БОЖОВИЋ ВЛАДИМИР
+БОЖУЛИЋ АНЂЕЛКО
+БОЖУЛИЋ ИВАН
+БОЖУЛИЋ ИВИЦА
+БОЖУЛИЋ СИНИША
+БОЖУНОВИЋ ДУШАН
+БОЂА ЂУРА
+БОЂА АНДРИЈА
+БОЂА АНДРИЈА
+БОЂА АНДРИЈА
+БОЂА ИВАН
+БОЂА ИВАН
+БОЂА ЈОВАН
+БОЂА САША
+БОЂА СТЕВАН
+БОЂАНАЦ ЈЕЛЕНА
+БОЂАНАЦ МИРОСЛАВ
+БОЂАНАЦ ЗДРАВКО
+БОЂАНСКИ АЛЕКСАНДАР
+БОАРОВ ДИМИТРИЈЕ
+БОАРОВ ЈОВАН
+БОАРОВ КАТАРИНА
+БОАРОВ МИЛАНКА
+БОБ ЈУСТИНА
+БОБАК ИШТВАН
+БОБАК КАТИЦА
+БОБАН ЂЕРЂ
+БОБАН МАРИЈА
+БОБАН МЕРИМА
+БОБАН НЕДЕЉКО
+БОБАН СТИПЕ
+БОБАН СУЗАНА
+БОБАН-ВАРНУС ЕРЖЕБЕТ
+БОБАЊ ИМРЕ
+БОБАР БОШКО
+БОБАРЕВИЋ РУЖИЦА
+БОБЕРИЋ ОЛГА
+БОБЕРИЋ ЗОРКА
+БОБИЋ ЂОРЂЕ
+БОБИЋ ЂОРЂЕ
+БОБИЋ БОГДАН
+БОБИЋ БРАНИСЛАВ
+БОБИЋ ИВАН
+БОБИЋ ЈОСИП
+БОБИЋ КАЈА
+БОБИЋ ЉУБОМИР
+БОБИЋ МИЛАНКА
+БОБИЋ МИЛИЦА
+БОБИЋ МЛАДЕН
+БОБИЋ НЕНАД
+БОБИЋ РУЖИЦА
+БОБИЋ ТАЊА
+БОБИНАЦ ЈОСИП
+БОБИНАЦ ЛУЦИЈА
+БОБИНЕЦ ЈОСИП
+БОБЉАГОВИЋ БОГОСЛАВ
+БОБОШ СТАНКО
+БОЦ СТЕВАН
+БОЦА ДАНЕ
+БОЦА ДУШАН
+БОЦА МИЛЕ
+БОЦА МИЛОШ
+БОЦОНАДИ МАРТОН
+БОЏОНИ ГИЗЕЛА
+БОЏОНИ СТЕВАН
+БОДА ЈОВАН
+БОДАКОШ ЈОСИП
+БОДАКОШ СТЈЕПАН
+БОДЕГРАЈАЦ СОФИЈА
+БОДИ ЕРЖЕБЕТ
+БОДИ ЈАСМИНА
+БОДИ ЛАЈОШ
+БОДИ ЛАСЛО
+БОДИ МИХАЈЛО
+БОДИШ ЈОЖЕФ
+БОДИШ МИЛИЦА
+БОДИРОЖА ПЕТАР
+БОДИРОЖА РАДИВОЈ
+БОДИРОГА ЈОВАН
+БОДИРОГА МАРИЈА
+БОДИРОГА НИКО
+БОДИРОГА ПРЕДРАГ
+БОДЛОВИЋ НИКОЛА
+БОДНАР ШАНДОР
+БОДНАР РИСТА
+БОДНАР СТЕВАН
+БОДНАР ВЕРИЦА
+БОДО ИШТВАН
+БОДО КАРОЉ
+БОДО МАРИЈА
+БОДО МАРИЈА
+БОДО МАТИЈА
+БОДО СТЕВАН
+БОДОЧИ ЈОЖЕФ
+БОДОЛО ШАНДОР
+БОДОЛО ИШТВАН
+БОДОЊИ КАРЛО
+БОДОР АНТОН
+БОДОР АНТУН
+БОДОР БОСИЉКА
+БОДОР ФРАЊА
+БОДОР ФРАЊА
+БОДОР ИШТВАН
+БОДОР ЈАНОШ
+БОДОР ЈОСИП
+БОДОР ПЕТАР
+БОДОР СИНИША
+БОДРЕ ИШТВАН
+БОДРИЧ-ХЕРЋАН АРАНКА
+БОДРИЧ МИХАЈЛО
+БОДРИЧ СТЕВАН
+БОДРИЧ ВЕСНА
+БОДРИЋ ЈЕЛИСАВЕТА
+БОДРОЖА БРАНКО
+БОДРОЖА ОЛГА
+БОДРОЖИЋ ИЛИЈА
+БОДРОЖИЋ ИЛИЈА
+БОДРОЖИЋ ЈОВАН
+БОДРОЖИЋ МИЛАН
+БОДРОЖИЋ СТЕВАН
+БОДУЛИЋ ШТЕФАНИЈА
+БОДУЛИЋ ЈЕЛЕНА
+БОДУЛИЋ ПЕТАР
+БОДУЛИЋ СЛОБОДАН
+БОДУЛИЋ СЛОБОДАН
+БОДВАИ ЈАНКО
+БОГАРОШИ СЛОБОДАН
+БОГАРОШКИ АНДРИЈА
+БОГАТИНОСКИ ТОМИСЛАВ
+БОГАВАЦ АЛЕКСАНДАР ДР
+БОГАВАЦ БРАНИСЛАВ
+БОГАВАЦ ДРАГИЦА
+БОГАВАЦ ЈАДРАНКА
+БОГАВАЦ МИРЈАНА
+БОГДАН АНДРАШ
+БОГДАН БИЉАНА
+БОГДАН ДУШАН
+БОГДАН ИШТВАН
+БОГДАН ИМРЕ
+БОГДАН ИВАН
+БОГДАН ЈОСИП
+БОГДАН ЈОСИП
+БОГДАН МАНЕ
+БОГДАН-МИЈИН ДУШАНКА
+БОГДАН МИЛКА
+БОГДАН НИКОЛА
+БОГДАН СТЕВАН
+БОГДАН СТЕВА
+БОГДАН ВЕРИЦА
+БОГДАН ЗОРАН
+БОГДАНФИ ШАНДОР НОВИНАР
+БОГДАНФИ МАРИНКО
+БОГДАНОВ-АНТОНИЋ БИЉАНА
+БОГДАНОВ БИСЕРКА
+БОГДАНОВ БРАНИСЛАВ ДР ПРОФ
+БОГДАНОВ БРАНКА ДР ЛЕКАР
+БОГДАНОВ ДАНИЛО
+БОГДАНОВ ДИМИТРИЈЕ
+БОГДАНОВ ДРАГАН
+БОГДАНОВ ДУШАН
+БОГДАНОВ-ХИЛ ДОБРИЛА
+БОГДАНОВ ИРМА
+БОГДАНОВ ИВАН
+БОГДАНОВ ЛАЗАР
+БОГДАНОВ МАРИЦА
+БОГДАНОВ МИЛАН
+БОГДАНОВ МИЛЕНА
+БОГДАНОВ МИЛОШ
+БОГДАНОВ МИЛОРАД
+БОГДАНОВ НАДА
+БОГДАНОВ ОЛГА
+БОГДАНОВ ПЕТАР
+БОГДАНОВ СЛАВКО
+БОГДАНОВ СЛАВНА
+БОГДАНОВ СМИЉА
+БОГДАНОВ СТАНКО
+БОГДАНОВ СТЕВАН
+БОГДАНОВ СТЕВАН
+БОГДАНОВ ЗОРАН
+БОГДАНОВИЋ ЖИВАН МР
+БОГДАНОВИЋ ЂОРЂЕ
+БОГДАНОВИЋ ЂОРЂЕ
+БОГДАНОВИЋ ЂУРА
+БОГДАНОВИЋ АЛЕКСАНДАР
+БОГДАНОВИЋ АНКА
+БОГДАНОВИЋ БЛАГОЈА
+БОГДАНОВИЋ БОШКО
+БОГДАНОВИЋ БОЖИДАР
+БОГДАНОВИЋ БОГДАН
+БОГДАНОВИЋ БОРА
+БОГДАНОВИЋ БОРИВОЈ
+БОГДАНОВИЋ БРАНИСЛАВА
+БОГДАНОВИЋ БРАНИСЛАВ
+БОГДАНОВИЋ БРАНИСЛАВ
+БОГДАНОВИЋ БРАНИСЛАВ
+БОГДАНОВИЋ БРАНИСЛАВ
+БОГДАНОВИЋ БРАНКО
+БОГДАНОВИЋ ДАРИНКА
+БОГДАНОВИЋ ДЕСАНКА
+БОГДАНОВИЋ ДИМИТРИЈЕ
+БОГДАНОВИЋ ДОБРИВОЈ
+БОГДАНОВИЋ ДРАГАН
+БОГДАНОВИЋ ДРАГАН
+БОГДАНОВИЋ ДРАГОЉУБ
+БОГДАНОВИЋ ДРАГОЉУБ
+БОГДАНОВИЋ ДУШКО
+БОГДАНОВИЋ ЕТЕЛКА
+БОГДАНОВИЋ ГЕДЕОН
+БОГДАНОВИЋ ГОЈКО
+БОГДАНОВИЋ ГОРДАНА
+БОГДАНОВИЋ ИЛИЈА
+БОГДАНОВИЋ ИЛОНА
+БОГДАНОВИЋ ИВАН
+БОГДАНОВИЋ ЈОВАН
+БОГДАНОВИЋ ЈОВИЦА
+БОГДАНОВИЋ КСЕНИЈА
+БОГДАНОВИЋ ЛАЗАР
+БОГДАНОВИЋ ЛАЗАР
+БОГДАНОВИЋ ЉИЉАНА
+БОГДАНОВИЋ ЉУБИСАВ
+БОГДАНОВИЋ ЉУБОМИР
+БОГДАНОВИЋ ЉУБОМИР
+БОГДАНОВИЋ МАРИНА
+БОГДАНОВИЋ МИЋО
+БОГДАНОВИЋ МИХАЈЛО
+БОГДАНОВИЋ МИЛАН
+БОГДАНОВИЋ МИЛАН
+БОГДАНОВИЋ МИЛАН
+БОГДАНОВИЋ МИЛАН
+БОГДАНОВИЋ МИЛКА
+БОГДАНОВИЋ МИЛОШ
+БОГДАНОВИЋ МИЛОСАВ
+БОГДАНОВИЋ МИОДРАГ
+БОГДАНОВИЋ МИРЈАНА
+БОГДАНОВИЋ МИТАР
+БОГДАНОВИЋ МЛАДЕН
+БОГДАНОВИЋ НАДА
+БОГДАНОВИЋ НАДА
+БОГДАНОВИЋ НЕДЕЉКО
+БОГДАНОВИЋ НИКОЛА
+БОГДАНОВИЋ НИКОЛА
+БОГДАНОВИЋ НОВАК
+БОГДАНОВИЋ ПАЈА
+БОГДАНОВИЋ ПАВЛЕ
+БОГДАНОВИЋ ПАВЛЕ
+БОГДАНОВИЋ ПЕТАР
+БОГДАНОВИЋ ПЕТАР
+БОГДАНОВИЋ ПЕТАР
+БОГДАНОВИЋ ПЕТАР
+БОГДАНОВИЋ ПРВОСЛАВ
+БОГДАНОВИЋ РАДИСАВ
+БОГДАНОВИЋ РАДИВОЈЕ
+БОГДАНОВИЋ РАДОСЛАВ
+БОГДАНОВИЋ РАДОВАН
+БОГДАНОВИЋ РАНКО
+БОГДАНОВИЋ РАТОМИР
+БОГДАНОВИЋ РУЖИЦА
+БОГДАНОВИЋ СЛАВКО МР ПРАВНИК
+БОГДАНОВИЋ СЛОБОДАНКА ПРОФЕСОР
+БОГДАНОВИЋ СЛОБОДАН
+БОГДАНОВИЋ СЛОБОДАН
+БОГДАНОВИЋ СОФИЈА
+БОГДАНОВИЋ СОЊА
+БОГДАНОВИЋ СТЕВАН
+БОГДАНОВИЋ СТЕВАН
+БОГДАНОВИЋ СТЕВО
+БОГДАНОВИЋ СВЕТИСЛАВ
+БОГДАНОВИЋ ТИХОМИР
+БОГДАНОВИЋ ТИХОМИР
+БОГДАНОВИЋ ВАЈА
+БОГДАНОВИЋ ВАСА
+БОГДАНОВИЋ ВЕРА
+БОГДАНОВИЋ ВИТОМИР
+БОГДАНОВИЋ ВЛАДИМИР
+БОГДАНОВИЋ ВЛАЈКО
+БОГДАНОВИЋ ЗДРАВКО
+БОГДАНОВИЋ ЗОРАН
+БОГДАНОВСКИ ДИМИТРИЈЕ
+БОГДАНОВСКИ СЛОБОДАН
+БОГЕТИЋ ДРАГОЉУБ
+БОГЕТИЋ САЊА
+БОГИЧЕВИЋ ЖИВКО
+БОГИЧЕВИЋ АНЂЕЛКА
+БОГИЧЕВИЋ ДАНИЦА
+БОГИЧЕВИЋ ДУШАН
+БОГИЧЕВИЋ ГЕОРГИЈЕ
+БОГИЧЕВИЋ КОСТАДИНКА
+БОГИЧЕВИЋ КРСТА
+БОГИЧЕВИЋ ЉУБИША
+БОГИЧЕВИЋ ЉУБИЦА
+БОГИЧЕВИЋ МАРИЈА
+БОГИЧЕВИЋ МИЛИЦА
+БОГИЧЕВИЋ НИКОЛА
+БОГИЧЕВИЋ НИКОЛА
+БОГИЧЕВИЋ ТИХОМИР
+БОГИЧЕВИЋ ЗОРКА
+БОГИШИЋ АНДРИЈА
+БОГИШИЋ ФРАЊА
+БОГИШИЋ ЈОСИП
+БОГИЋ АЛЕКСАНДАР
+БОГИЋ АНЂЕЛКА
+БОГИЋ БРАНИСЛАВ
+БОГИЋ ДИМИТРИЈЕ
+БОГИЋ ДРАГАН
+БОГИЋ ДУШАНКА
+БОГИЋ ИЛДИКО
+БОГИЋ ЈЕЛЕНА
+БОГИЋ ЈЕЛИСАВЕТА
+БОГИЋ ЈОВАН
+БОГИЋ ЉУБИЦА
+БОГИЋ МАРИЈА
+БОГИЋ МИЛАН
+БОГИЋ МИРЈАНА
+БОГИЋ СОФИЈА
+БОГИЋ СРЕЋКО
+БОГИЋ СТЕВАН
+БОГИЋЕВИЋ ЖЕЉКА
+БОГИЋЕВИЋ АНЂЕЛКА
+БОГИЋЕВИЋ БРАНИСЛАВ
+БОГИЋЕВИЋ ДИМИТРИЈЕ
+БОГИЋЕВИЋ ЈЕЛИСАВЕТА
+БОГИЋЕВИЋ ЈЕЛКА
+БОГИЋЕВИЋ ЈОЛЕТА
+БОГИЋЕВИЋ КОНСТАНТИН
+БОГИЋЕВИЋ МИЛАН
+БОГНАР ШАНДОР
+БОГНАР АЛЕКСАНДАР ДИПЛ ИНГ
+БОГНАР АНТАЛ
+БОГНАР ЕЛИЗАБЕТА
+БОГНАР ЕЛИЗАБЕТА
+БОГНАР ГИЗЕЛА
+БОГНАР ЈОЖЕФ
+БОГНАР КАЛМАН
+БОГНАР ЛАЈОШ
+БОГНАР МАРИА
+БОГНАР МАРИЈА
+БОГНАР МИРКО
+БОГНАР РОЗИКА
+БОГНАР СИЛАРД
+БОГНАР СТЕВАН ДР
+БОГОЈЕВ ЖИВКО
+БОГОЈЕВАЦ ЕРЖЕБЕТ
+БОГОЈЕВАЦ ЈОВАН
+БОГОЈЕВИЋ АНГЕЛИНА
+БОГОЈЕВИЋ БИЉАНА
+БОГОЈЕВИЋ БОЖО
+БОГОЈЕВИЋ БРАНИСЛАВ
+БОГОЈЕВИЋ БРАНКО
+БОГОЈЕВИЋ ДРАГО
+БОГОЈЕВИЋ ЈОВАНКА
+БОГОЈЕВИЋ ЛАЗО
+БОГОЈЕВИЋ ЉУБИСАВ
+БОГОЈЕВИЋ МИЛАН
+БОГОЈЕВИЋ МИЛОРАД
+БОГОЈЕВИЋ МИТАР
+БОГОЈЕВИЋ МОМЧИЛО
+БОГОЈЕВИЋ РАДМИЛА
+БОГОЈЕВИЋ РАДОЈКА
+БОГОЈЕВИЋ РАДОМИР
+БОГОЈЕВИЋ РАДОМИР
+БОГОЈЕВИЋ РАЈКО
+БОГОЈЕВИЋ СТАНИЈА
+БОГОЈЕВИЋ ТОДОР
+БОГОЈЕВИЋ ВЕЛИМИР
+БОГОЈЕВИЋ ВЛАДА
+БОГОЈЕВИЋ ВЛАДИЦА
+БОГОЈЕВИЋ ВЛАЈКО
+БОГОСАВ МИЛАН
+БОГОСАВАЦ МИРОСЛАВ
+БОГОСАВАЦ МИРОСЛАВ
+БОГОСАВАЦ ЗДРАВКО
+БОГОСАВЉЕВ ЈОВАНКА
+БОГОСАВЉЕВИЋ ЖАРКО
+БОГОСАВЉЕВИЋ БРАНИСЛАВ
+БОГОСАВЉЕВИЋ ДОБРИЛА
+БОГОСАВЉЕВИЋ ДОБРИВОЈЕ
+БОГОСАВЉЕВИЋ ДРАГИЦА
+БОГОСАВЉЕВИЋ ДРАГОМИР
+БОГОСАВЉЕВИЋ МИЛАДИН
+БОГОСАВЉЕВИЋ МИОДРАГ ДР ИНГ
+БОГОСАВЉЕВИЋ РАДЕ
+БОГОСАВЉЕВИЋ СТАНИМИР
+БОГОСАВЉЕВИЋ ЗЛАТА
+БОГОВАЦ ДОБРОСЛАВА
+БОГОВАЦ ДРАГОЉУБ
+БОГОВАЦ МИЛАН ДР
+БОГОВАЦ НИКОЛА
+БОГОВАЦ СЛОБОДАН
+БОГОВИЋ ИБОЈА
+БОГОВИЋ МИЈО
+БОГОВИЋ НИКОЛА
+БОГОВИЋ СТЕВАН
+БОГОВИЋ ТОМИСЛАВ
+БОГОВИЋ ВЕСНА
+БОГОВИЋ ВЕСНА
+БОГОВИЋ ЗЛАТКО
+БОГУНОВИЋ ЂОРЂЕ
+БОГУНОВИЋ БОГДАН
+БОГУНОВИЋ БРАНКО
+БОГУНОВИЋ ДРАГАН
+БОГУНОВИЋ МИЛАН
+БОГУНОВИЋ ТОМИСЛАВ
+БОГУНОВИЋ ВЛАДЕ
+БОГУНОВИЋ ЗОРАН
+БОГУТ ЉУБО
+БОГУТ НАДА
+БОХАЧЕК ВАЛТЕР
+БОХИНЦ БОЖАНА
+БОХОЦКИ ЈАНОШ
+БОХОЦКИ ЈУЛИЈАНА
+БОХОЦКИ ПЕТАР
+БОХОЦКИ РОБЕРТ
+БОХОТА СИЛВЕСТЕР
+БОХУШ ЈОВАН
+БОЈЧЕТА ГОРАН
+БОЈЧЕВСКИ НАУМ
+БОЈЧИЋ МИЛАН
+БОЈА АНДРАШ
+БОЈА ЕРИКА
+БОЈАЦ ДАФИНА
+БОЈАЦ РАДИВОЈ
+БОЈАДИЋ МИРКО
+БОЈАГИЋ МАРКО
+БОЈАНИЋ АЛЕКСАНДАР
+БОЈАНИЋ АНА
+БОЈАНИЋ БОГОСАВ
+БОЈАНИЋ БОРИКА
+БОЈАНИЋ БОСИЉКА
+БОЈАНИЋ БРАНЕ
+БОЈАНИЋ БУДИМИР
+БОЈАНИЋ ДАРИНКА
+БОЈАНИЋ ДЕСАНКА
+БОЈАНИЋ ДРАГИЦА
+БОЈАНИЋ ДРАГОЉУБ
+БОЈАНИЋ ДУШАН
+БОЈАНИЋ ДУШАН
+БОЈАНИЋ ИЛИЈА
+БОЈАНИЋ ЈЕЛИЦА
+БОЈАНИЋ ЉУБО
+БОЈАНИЋ МИЛАН
+БОЈАНИЋ МИЛИВОЈ
+БОЈАНИЋ МИЛИВОЈ
+БОЈАНИЋ МИЛОШ
+БОЈАНИЋ МИЛУН
+БОЈАНИЋ МИОДРАГ
+БОЈАНИЋ РАНКО
+БОЈАНИЋ СЛОБОДАН
+БОЈАНИЋ СВЕТЛАНА
+БОЈАНИЋ ВЕЛИМИР
+БОЈАНИЋ ЗОРАН
+БОЈАНИЋ ЗОРА
+БОЈАНОВИЋ ЧЕДО
+БОЈАНОВИЋ ДУШКО
+БОЈАНОВИЋ ЛАЗАР
+БОЈАНОВИЋ МАРЈАН
+БОЈАНОВИЋ МИЛОРАД
+БОЈАНОВИЋ РИСТАН
+БОЈАНОВИЋ ВУЈАДИН
+БОЈАНОВИЋ ВУЈАДИН
+БОЈАТ ЈАНКО
+БОЈАТ МИЛОРАД
+БОЈАТ РАДОМИР
+БОЈАТ ВЕСЕЛИН ДР
+БОЈБИЋ РАЈКО
+БОЈИЧИЋ РАДИВОЈ
+БОЈИЋ АНЂЕЛИЈА
+БОЈИЋ БЛАГОТА
+БОЈИЋ БОГДАН
+БОЈИЋ БОГОЉУБ
+БОЈИЋ БОГОМИР
+БОЈИЋ БОРИСЛАВ
+БОЈИЋ БРАНИСЛАВА
+БОЈИЋ БРАНИСЛАВ
+БОЈИЋ БРАНИСЛАВ
+БОЈИЋ БРАНИСЛАВ
+БОЈИЋ ДАНИЦА
+БОЈИЋ ДЕЈАН
+БОЈИЋ ДРАГАН
+БОЈИЋ ДРАГАН
+БОЈИЋ ДРАГИЦА
+БОЈИЋ ДРАГИЊА
+БОЈИЋ ДУШАНКА
+БОЈИЋ ДУШАН
+БОЈИЋ ДУШАН
+БОЈИЋ ГОРДАНА ДР
+БОЈИЋ ГОРДАНА
+БОЈИЋ ГОРДАНА
+БОЈИЋ КАТИЦА
+БОЈИЋ-КОЛАРСКИ ГОРДАНА
+БОЈИЋ ЛАЗАР
+БОЈИЋ МАРКО
+БОЈИЋ МИШКО
+БОЈИЋ МИЛА
+БОЈИЋ МИЛЕНКО
+БОЈИЋ МИЛИДАР
+БОЈИЋ МИЛОВАН
+БОЈИЋ МИОДРАГ
+БОЈИЋ МИРКО
+БОЈИЋ МИРОСЛАВ
+БОЈИЋ РАДОСЛАВА
+БОЈИЋ РАЈКО
+БОЈИЋ РАЈКО
+БОЈИЋ СЕНКА
+БОЈИЋ СНЕЖАНА
+БОЈИЋ СНЕЖАНА
+БОЈИЋ СОЊИЦА
+БОЈИЋ СРЕТЕН
+БОЈИЋ СТЕВАН
+БОЈИЋ ТОМИСЛАВ
+БОЈИЋ УГЉЕША
+БОЈИЋ ВЕРА
+БОЈИНОВИЋ ЈЕЛЕНА
+БОЈКИЋ АЛЕКСАНДАР
+БОЈКИЋ МИЛИЦА
+БОЈКО АЛЕКСАНДАР
+БОЈКО ЈОВАНКА
+БОЈКО МАРИЈА
+БОЈКО НЕВЕНКА
+БОЈКОВ ФЕОДОР
+БОЈКОВ РОМАН
+БОЈКОВИЋ ДАНИЦА
+БОЈКОВИЋ КРИСТИНА
+БОЈКОВИЋ ЛЕНА
+БОЈКОВИЋ МИЛИЦА
+БОЈКОВИЋ СЛОБОДАН
+БОЈОВИЋ ЖИВОРАД
+БОЈОВИЋ БОШКО
+БОЈОВИЋ БОГДАН
+БОЈОВИЋ БРАНКО
+БОЈОВИЋ БРАНКО
+БОЈОВИЋ ДРАГОЈЕ
+БОЈОВИЋ ДРАГОСЛАВ
+БОЈОВИЋ ДРАГУТИН
+БОЈОВИЋ ДРАГУТИН
+БОЈОВИЋ ИКОНИЈА
+БОЈОВИЋ ЈАКОВ
+БОЈОВИЋ ЉУБИЦА
+БОЈОВИЋ ЉУБО
+БОЈОВИЋ МИЛАН
+БОЈОВИЋ МИЛАН
+БОЈОВИЋ МИЛИЦА
+БОЈОВИЋ МИЛИЦА
+БОЈОВИЋ МИЛОЈЕ
+БОЈОВИЋ МИРОСЛАВ
+БОЈОВИЋ НАДА
+БОЈОВИЋ НОВИЦА
+БОЈОВИЋ ПЕТАР
+БОЈОВИЋ СРЕТКО
+БОЈОВИЋ ТОМИСЛАВ
+БОЈОВИЋ ВЕЛИША
+БОЈОВИЋ ВЕЉКО
+БОЈОВИЋ ВЛАДАН
+БОЈОВИЋ ВОЈИН
+БОЈОВИЋ ЗОРАН
+БОКШАН АНКА
+БОКШАН ЕМИЛИЈАН
+БОКШАН СТОЈАН
+БОКШИЋ ЂОКА
+БОКШИЋ ЈЕЛЕНА
+БОКШИЋ ЛАЗАР
+БОКШИЋ МИРЈАНА
+БОКШИЋ МИРЈАНА
+БОКШИЋ РАДА
+БОКШИЋ РАДОЈКА
+БОКШИЋ РАДОСЛАВ
+БОКШИЋ РУЖЕНКА
+БОКШИЋ СОКА
+БОКА ЖИВКА
+БОКА СИЛВИО
+БОКА СТЈЕПАН
+БОКАН АНЂА
+БОКАН АНИЦА
+БОКАН ДРАГО
+БОКАН МИЛАН
+БОКАН МИЛАН
+БОКАН МИЛЕНА
+БОКАН МИРКО
+БОКАН НИКОЛА
+БОКАН РАДЕ
+БОКАН РАДОМИР
+БОКАН СЛОБОДАН
+БОКАН ТОМИСЛАВ
+БОКАН ВЕЉКО
+БОКАНИЋ БРАНИСЛАВ
+БОКАНИЋ ВЛАДИМИР
+БОКИЋ ДАНИЛО
+БОКИЋ ДУШАН
+БОКИЋ МИЛАН
+БОКИЋ РАДОЈИЦА
+БОКИЋ ВИД
+БОКОР ЂОРЂЕ ДИПЛ ИНГ
+БОКОР ЂОРЂЕ
+БОКОР ГАВРА
+БОКОР ЛАСЛО ДИПЛ ИНГ
+БОКОР ЛАСЛО
+БОКОР МАРИЈА
+БОКОРОВ ТАНАСИЈЕ ДИПЛ ИНГ
+БОКУН ДУБРАВКА
+БОКУН НОВАК
+БОКУН ПЕТАР
+БОКУН СПАСИЈА
+БОКУН СТЕВА
+БОКУН ВЛАДИМИР
+БОЛАНОВИЋ РАЈКА
+БОЛДИЖАР ЈОЖЕФ
+БОЛДИЖАР ЛАСЛО
+БОЛДИН РУДОЛФ
+БОЛДОЦКИ ЈОЖЕФ
+БОЛДОЦКИ ВЛАДИМИР
+БОЛДОГ ЛАЈОШ
+БОЛЕРАЦ АНА
+БОЛЕСНИКОВ БРАНИСЛАВ
+БОЛЕСНИКОВ ДАРИНКА
+БОЛЕСНИКОВ МИЛОРАД
+БОЛЕСНИКОВ ЗОРАН
+БОЛФ БРАНКО
+БОЛФ НЕВЕНКА
+БОЛФИК ЈОСИП
+БОЛИЋ ЗЛАТКО
+БОЛИНОВСКА СОФИЈА
+БОЛИНОВСКИ МИРОСЛАВ
+БОЉАНОВИЋ ЂОРЂЕ
+БОЉАНОВИЋ АЛЕКСАНДАР
+БОЉАНОВИЋ МИЛИВОЈЕ
+БОЉАНОВИЋ НИКОЛА
+БОЉАНОВИЋ РАДОВАН
+БОЉАНОВИЋ ЗОРИЦА
+БОЉЕВИЋ СВЕТОЗАР
+БОЛМАНАЦ БРАНКО
+БОЛМАНАЦ ЕВГЕНИЈЕ
+БОЛО ЖОЛТ
+БОЛОК АНДРАШ
+БОЛОК ЈОЖЕФ
+БОЛОК КАРЛО
+БОЛОК КАРОЉ
+БОЛОК ПАЛ
+БОЛОРИН РАДИВОЈ
+БОЛТА ЖЕЉКО
+БОЛТА ЂУРА
+БОЛТА БРАНКО
+БОЛТА ДРАГИЦА
+БОМЕШТАР РАДА
+БОНА СТЕВАН
+БОНЏИЋ ДЕЈАН
+БОНДАРЕНКО АЛЕКСАНДАР ДР
+БОНДОКИЋ БОРИВОЈЕ
+БОНДОКИЋ ЉУБИЦА
+БОНЕРТ ДУШАН ДР
+БОНЕРТ ДУШАН
+БОНИЋ ДРАГАН
+БОНИЋ МАРЈАН
+БОНИЋ МИЛИЦА
+БОНИЋ ВЛАДИМИР
+БОНУС ЉУБИЦА
+БОР ЕНДРЕ
+БОРЧАНИН ЉУБИЦА
+БОРЧАНИН СОФИЈА
+БОРЧАНСКИ ТИНКА
+БОРЧИЋ БУДЕ
+БОРЧИЋ ДРАГАНА
+БОРЧИЋ ЈОВАН
+БОРШИ ТИВАДАР ДИПЛ ОЕЦ
+БОРШОШ АТИЛА
+БОРШОШ БАРБАРА
+БОРШОШ ИШТВАН
+БОРШОШ ИШТВАН
+БОРШОШ ИМРЕ
+БОРШТНАР ХЕНРИК
+БОРШТНЕР НАДА
+БОРЂИН ЛАЗАР
+БОРЂОШКИ ЂОРЂЕ ДИПЛ ИНГ
+БОРЂОШКИ БОШКО
+БОРЂОШКИ МИЛИЦА
+БОРЂОШКИ ТАМАРА
+БОРЂОШКИ ВОЈИН
+БОРАШ ИРЕНА
+БОРАС БОРИСЛАВ
+БОРАС МАРИЈА
+БОРАС МИЛИЦА
+БОРБАШ КАРОЉ
+БОРБАШ ВИОЛЕТА
+БОРБАШ ЗОЛТАН
+БОРБЕЉ АЛЕКСАНДАР
+БОРБЕЉ ЈАНОШ
+БОРБЕЉ ЈОСИП
+БОРБЕЉ ЉУБИЦА
+БОРБЕЉ МАРИЈА
+БОРБЕЉ НЕВЕНКА
+БОРДАШ ЂЕЗЕ
+БОРДАШ АКОШ
+БОРДАШ БЕЛА
+БОРДАШ ФЕРЕНЦ
+БОРДАШ ФРАЊА
+БОРДАШ ХИЛДА
+БОРЕНОВИЋ АНТОНИЈЕ
+БОРЕНОВИЋ МИЛЕ
+БОРЕНОВИЋ ВЕРА
+БОРИ ИМРЕ ДР
+БОРИ МАРИЈА
+БОРИЧИЋ ЛАЗАР
+БОРИЧИЋ НОВАК
+БОРИЧИЋ РАДИВОЈЕ
+БОРИЧИЋ РАДУЛЕ
+БОРИШЕВ БОРИСЛАВ
+БОРИШЕВ ЉИЉАНА
+БОРИШЕВ МИЛЕНКО
+БОРИШЕВ НИКОЛА
+БОРИШЕВ РУЖИЦА
+БОРИШЕВ САВА
+БОРИШЕВ ТЕОДОР
+БОРИШЕВ ВАСА
+БОРИШИЋ МАРИЈА
+БОРИШИЋ ВЛАДИМИР
+БОРИЋ ЧЕДОМИР
+БОРИЋ АЛЕКСАНДАР
+БОРИЋ ДУШАН
+БОРИЋ КАМЕНКО
+БОРИЋ КАТИЦА
+БОРИЋ МИЛАН
+БОРИЋ МИЛКА
+БОРИЋ НИКОЛА
+БОРИЋ ПЕТАР
+БОРИЋ СТЕВАН
+БОРИЋ ЗОРАН
+БОРИЋ ЗОРАН
+БОРИС ЈОСИП
+БОРИВОЈЕВИЋ ВИТОМИР
+БОРЈАНИН СЛАВКО
+БОРЈАНОВИЋ ГОРДАНА
+БОРЈАНОВИЋ ИЛИЈА
+БОРЈАНОВИЋ НИКОЛА
+БОРКО СТАНИСЛАВ
+БОРКОВАЧКИ ЗОРАН
+БОРКОВАЦ КАТАРИНА
+БОРКОВИЋ ДРАГОСЛАВА
+БОРКОВИЋ МИЛАН
+БОРЉА СТЕВАН
+БОРОШ ШАНДОР
+БОРОШ ШАНДОР
+БОРОШ ЂЕРЂ
+БОРОШ-ЂЕВИ ЖЕЉКО
+БОРОШ ЂОРЂЕ
+БОРОШ АЛЕКСАНДАР
+БОРОШ АНДРИЈА
+БОРОШ АНТУН
+БОРОШ ЕРНЕ
+БОРОШ ЕВА
+БОРОШ ИШТВАН
+БОРОШ ЈОЖЕФ
+БОРОШ ЈОЛАН
+БОРОШ ЈУЛИЈА
+БОРОШ ЛАДИСЛАВ
+БОРОШ ЛАЈОШ
+БОРОШ МАРГИТА
+БОРОШ МИХАЈЛО
+БОРОШ МИХАЈЛО
+БОРОШ МИКЛОШ
+БОРОШ ВЕРА
+БОРОШИЋ ЕЛИЗАБЕТА
+БОРОЦКИ АЛЕКСАНДАР
+БОРОЦКИ ДАНИЦА
+БОРОЦКИ ЉУБИНКА
+БОРОЈА ЉУБАН
+БОРОЈА РУЖИЦА
+БОРОЈЕВ АРСЕН ДР ЛЕКАР
+БОРОЈЕВ ЕМИЛИЈАН ДР
+БОРОЈЕВ ЈАГОДА
+БОРОЈЕВ ЉУБОМИР
+БОРОЈЕВ РАДМИЛА
+БОРОЈЕВИЋ АНА
+БОРОЈЕВИЋ БОШКО
+БОРОЈЕВИЋ БОШКО
+БОРОЈЕВИЋ БОШКО
+БОРОЈЕВИЋ БРАНКО
+БОРОЈЕВИЋ ДРАГАН
+БОРОЈЕВИЋ ДРАГОЉУБ
+БОРОЈЕВИЋ ДУШАН
+БОРОЈЕВИЋ КРСТА
+БОРОЈЕВИЋ ЉИЉАНА
+БОРОЈЕВИЋ МИЛАН
+БОРОЈЕВИЋ ПАВЛЕ
+БОРОЈЕВИЋ ПЕТРА
+БОРОЈЕВИЋ СЛАВКО ПРОФ
+БОРОМИСА ДРАГИЦА
+БОРОМИСА ЈЕЛЕНА
+БОРОЊАЦ ДРАГАН
+БОРОЊАЦ МИЛИЦА
+БОРОЊАЦ ОЛГА
+БОРОЊАЦ ВЕРА
+БОРОТА АЛЕКСАНДАР
+БОРОТА ЈОВАНКА
+БОРОТА МИЛАН
+БОРОТА МИЛОРАД
+БОРОТА МИРА
+БОРОТА РАДОСЛАВ ДР ЛЕКАР
+БОРОВЧАНИН ЉУБОМИР
+БОРОВЧАНИН МИЛИСАВ
+БОРОВЧАНИН НЕДЕЉКО
+БОРОВЧАНИН РАДОМИР
+БОРОВЧАНИН СЛОБОДАН
+БОРОВАЦ АРСО
+БОРОВАЦ БРАНИСЛАВ
+БОРОВАЦ КАТИЦА
+БОРОВАЦ МИЛОРАД
+БОРОВИЧАНИН МИЛОРАД
+БОРОВИЋ АТИЛА
+БОРОВИЋ ЈОСИП
+БОРОВИЋ ЈОВАН
+БОРОВИЋ КОСТА
+БОРОВИЋ МЕНА
+БОРОВИЋ ПЕТАР
+БОРОВИЋ РУДОЛФ
+БОРОВИЋ ВЛАДЕ
+БОРОВИЋАНИН МИРОСЛАВ
+БОРОВИЦА БОЈКА
+БОРОВИЦА ИВАН
+БОРОВИЦА ИВАН
+БОРОВИЦА ЈЕЛЕНА
+БОРОВИЦА МИОДРАГ
+БОРОВНИЦА БРАНКО
+БОРОВНИЦА МАРКО
+БОРОВНИЦА МИЛАН
+БОРОВНИЦА МИЛЕВА
+БОРОЗАН МИЛОРАД
+БОРУШ ИШТВАН
+БОРУШ ИРЕНА
+БОРЗАШКИ БРАТИСЛАВА
+БОРЗАШКИ РАДОМИР
+БОРЗАШКИ СТЕВАН
+БОСАК ИРЕНА
+БОСАКОВ ДРАГАН
+БОСАНЧИЋ БОШКО
+БОСАНЧИЋ БОГДАН
+БОСАНЧИЋ БОГДАН
+БОСАНЧИЋ ЈЕЛИЦА
+БОСАНЧИЋ МАНОЈЛО
+БОСАНЧИЋ МИЛЕВА
+БОСАНЧИЋ МИОДРАГ
+БОСАНЧИЋ РАДОВАН
+БОСАНЧИЋ РАЈКО
+БОСАНЧИЋ ТРИВА
+БОСАНЧИЋ ВАСО
+БОСАНЧИЋ ВЛАДО
+БОСАНЧИЋ ВУЈО
+БОСАНАЦ ЈОВАН
+БОСАНАЦ ЉУБИЦА
+БОСАНАЦ МАРИЈА
+БОСАНАЦ НИКОЛА
+БОСАНАЦ ВЕРА
+БОСИЋ БОЖАНА
+БОСИЋ БРАНКО
+БОСИЋ ДУШАН ДР
+БОСИЋ ЈОВАН
+БОСИЋ МИОДРАГ
+БОСИЋ РАДОВАН
+БОСИЋ СЛАВКА
+БОСИЉКИЋ ЛАЗАР
+БОСИЉКИЋ ЛУКА
+БОСИН СЛОБОДАН
+БОСИОК ДОРУ
+БОСНАИ-БАБА ЛУЦИЈА
+БОСНАИ ЈАНОШ
+БОСНИЋ ЧЕДОМИР
+БОСНИЋ ЂУРЂИНКА
+БОСНИЋ АЛЕКСАНДАР
+БОСНИЋ БОЖИДАР
+БОСНИЋ БОСИЉКА
+БОСНИЋ ДАВИД
+БОСНИЋ ДАВИД
+БОСНИЋ ЈОВАН
+БОСНИЋ МАРА
+БОСНИЋ МИРКО
+БОСНИЋ МЛАДЕН
+БОСНИЋ НАДА
+БОСНИЋ НУРИЈА
+БОСНИЋ РАДОСА
+БОСНИЋ РАЈКО
+БОСНИЋ ВЕРА
+БОСНИЋ ВЛАДА
+БОСНИЋ ВЛАДА
+БОСНИЋ ЗОРАН
+БОТА БРАНИСЛАВ
+БОТИЧ ОЛИВЕРА
+БОТИЋ АЛЕКСАНДАР
+БОТИЋ БОГДАН
+БОТИЋ ДАНИЦА
+БОТИЋ ДАРКО
+БОТИЋ ДАРКО
+БОТИЋ ГАВРА
+БОТИЋ МИЛАН
+БОТИЋ МИЛАН
+БОТИЋ МИЛЕ
+БОТИЋ МИЛОРАД АДВОКАТ
+БОТИЋ МИРОСЛАВА
+БОТИЋ ОЛИВЕРА
+БОТИЋ ПРОКА
+БОТИЋ РАДОСЛАВА
+БОТИЋ ВЕРИЦА
+БОТИЋ ВЛАДИМИР
+БОТИЋ ЗОРАНКА
+БОТКА АНТАЛ
+БОТКА ДАВИД
+БОТКА ЕРЖЕБЕТ
+БОТКА ВЕРОНА
+БОТКА ЗОЛТАН
+БОТЛИК ГЕЗА
+БОТЛИК МАРИЈА
+БОТОШКИ ДРАГОВАН
+БОТОШКИ САВА
+БОТОРИЋ РАДОЈИЦА
+БОТЗА ИШТВАН
+БОЗЕЈАЦ АНТАЛ ДИПЛ ПРАВНИК
+БОЗЕЈАЦ ДУШАН
+БОЗЕЈАЦ ГОРДАНА
+БОЗЕЈАЦ МИЛЕНКО
+БОЗЕЈАЦ СМИЉКА
+БОЗЕЈАЦ СВЕТИСЛАВ
+БОЗЕЈАЦ ВЕРА
+БОЗОКИН СТЕВИЦА
+БРЧИЋ ИГЊАЦ
+БРЧИЋ МИРОСЛАВ
+БРЧИЋ НЕЂО
+БРЧИЋ РАДОВАН
+БРЧИН ЂОРЂЕ
+БРЧИН МИЛИНКА
+БРЧИН НИКОЛА
+БРЧИН РАТОМИР
+БРЧИН СЛАВИЦА
+БРЧИН СВЕТОЗАР
+БРЧИНОВИЋ ПАВЛЕ
+БРЧКАЛОВИЋ ЉУБОМИР
+БРАЧЕВИЋ ИВАН
+БРАЧЕВИЋ МИРЈАНА
+БРАШАНАЦ БОРИСЛАВ
+БРАШАНАЦ ГАВРИЛО ДИПЛ ИНГ
+БРАШАНАЦ ИЛИЈА
+БРАШАНАЦ МИРЈАНА
+БРАШАНАЦ МИРОСЛАВ
+БРАШКО ЈОЖЕФ
+БРАШЊО ГУСТАВ
+БРАШЊО ИШТВАН
+БРАШЊО ИШТВАН
+БРАЦАНОВИЋ ДАМЈАН
+БРАЦАНОВИЋ МИЛУТИН
+БРАЦИЋ МИЛАН
+БРАДАЧ ЕЛИЗАБЕТА
+БРАДАЧ ИМРЕ
+БРАДАШ ЖИВА ДИПЛ ИНГ
+БРАДАРИЋ НЕДЕЉКО
+БРАДИЋ ЂОРЂЕ
+БРАДИЋ ЂОРЂЕ
+БРАДИЋ БОЖИДАР
+БРАДИЋ БОГОЉУБ
+БРАДИЋ БОГОЉУБ
+БРАДИЋ БРАНКО
+БРАДИЋ ЕВГЕНИЈА
+БРАДИЋ ГАВРИЛО
+БРАДИЋ ЈУСТИНА
+БРАДИЋ МИЛАН ДИПЛ ИНГ
+БРАДИЋ МИЛАН
+БРАДИЋ МИЛИЦА
+БРАДИЋ МИЛИВОЈЕ
+БРАДИЋ МИЉКО
+БРАДИЋ СЛОБОДАН
+БРАДИЋ СРЕТА
+БРАДИЋ-ТЕЊИ ЗОРИЦА
+БРАДИЋ ТЕОДОРА
+БРАДИЋ ТОМИСЛАВА
+БРАДИЋ ВИДОЈЕ
+БРАДИЋ ЗОРИЦА
+БРАДОШ СЛОБОДАН
+БРАХТЛ МАРИЦА
+БРАЈДИЋ ИВАН
+БРАЈЕР ФРАЊА
+БРАЈЕВИЋ ПРЕДРАГ
+БРАЈИЋ МИЛИЦА
+БРАЈИЋ РАДОВАН
+БРАЈИЋ СЛОБОДАН
+БРАЈКОВ МАРКО
+БРАЈКОВИЋ ИВО
+БРАЈКОВИЋ МИРЈАНА
+БРАЈОВИЋ МИЛИВОЈЕ
+БРАЈОВИЋ МИЛОШ
+БРАЈОВИЋ СЛАВКА
+БРАЈОВИЋ СПАСОЈЕ
+БРАЈОВИЋ СТАНКА
+БРАЈОВИЋ ВЕЉКО
+БРАКОЧЕВИЋ ЈОВАН
+БРАКУС ДУШАНКА
+БРАКУС ЉИЉАНА
+БРАКУС МАРИЈА
+БРАКУС МИЛАН
+БРАКУС МОМЧИЛО
+БРАЛОВИЋ РАТКО
+БРАНЧИЋ БОРИС ДИПЛ ИНГ
+БРАНЧИЋ ЈАСНА
+БРАНЧИЋ МИЛЕНА
+БРАНЧИЋ МИЛУШКО
+БРАНА ПЕТАР
+БРАНИЛОВИЋ СТЈЕПАН
+БРАНКОВ ЂОРЂЕ
+БРАНКОВ ЂОРЂЕ
+БРАНКОВ АЛЕКСАНДРА
+БРАНКОВ-БОКА РОЗАЛИЈА
+БРАНКОВ БОРИВОЈ
+БРАНКОВ БРАНИСЛАВ
+БРАНКОВ ДОБРИЦА
+БРАНКОВ ДРАГАНА
+БРАНКОВ ДРАГАН
+БРАНКОВ ДУШАН
+БРАНКОВ ЕМИЛ
+БРАНКОВ ИЛИЈА
+БРАНКОВ ЈЕЛИЦА
+БРАНКОВ ЈОВАНКА
+БРАНКОВ КОСТА
+БРАНКОВ КОСТА
+БРАНКОВ ЉУБИЦА
+БРАНКОВ ЉУБИЦА
+БРАНКОВ ЉУБИНКО
+БРАНКОВ МИЛИЦА
+БРАНКОВ МИЛОРАД
+БРАНКОВ МИРКО
+БРАНКОВ МИТА
+БРАНКОВ МИТА
+БРАНКОВ МЛАДЕН
+БРАНКОВ МОМИР
+БРАНКОВ НАДА
+БРАНКОВ ОЛИВЕРА
+БРАНКОВ РАДИВОЈ
+БРАНКОВ РАДОВАН
+БРАНКОВ РАДОВАН
+БРАНКОВ СВЕТИСЛАВ
+БРАНКОВ ВЕЉКО
+БРАНКОВ ВЛАДИМИР
+БРАНКОВ ЗЛАТИНКА
+БРАНКОВАН ЂОРЂЕ
+БРАНКОВАН ВЛАСТИМИР
+БРАНКОВИЋ БОГОЉУБ
+БРАНКОВИЋ БОЈА
+БРАНКОВИЋ БРАНКО
+БРАНКОВИЋ БРАНКО
+БРАНКОВИЋ ДРАГАН
+БРАНКОВИЋ ДУШАНКА
+БРАНКОВИЋ ДУШАН
+БРАНКОВИЋ ДУШАН
+БРАНКОВИЋ ИЛИЈА
+БРАНКОВИЋ-КОВАЧЕВИЋ РАДМИЛА
+БРАНКОВИЋ ЉИЉАНА
+БРАНКОВИЋ ЉУБИЦА
+БРАНКОВИЋ МИЛАН
+БРАНКОВИЋ МИЛЕНА
+БРАНКОВИЋ МИЛОРАД
+БРАНКОВИЋ МИРКО
+БРАНКОВИЋ МЛАДЕН
+БРАНКОВИЋ САВКА
+БРАНКОВИЋ СЛАВКО
+БРАНКОВИЋ СЛАВОЉУБ
+БРАНКОВИЋ СЛАВОЉУБ
+БРАНКОВИЋ СВЕТЛАНА
+БРАНКОВИЋ ТУГОМИР
+БРАНКОВИЋ ЗИНА
+БРАНКОВИЋ ЗОРАН
+БРАНОВАЧКИ ЂОРЂЕ
+БРАНОВАЧКИ АНГЕЛИНА
+БРАНОВАЧКИ ГАВРИЛО
+БРАНОВАЧКИ ИВАНА
+БРАНОВАЧКИ ЉУБИЦА
+БРАНОВАЧКИ ОЛГА
+БРАНОВАЧКИ СВЕТИСЛАВ
+БРАНОВИЋ БИСЕРКА
+БРАНОВИЋ РУЖА
+БРАОВИЋ САНДРА
+БРАОВИЋ ВЛАДИМИР
+БРАТ ДУШАН
+БРАТИЋ АШИР
+БРАТИЋ ДРАГО
+БРАТИЋ ДУШАН
+БРАТИЋ ГОРАН
+БРАТИЋ ЉУБИЦА
+БРАТИЋ ЉУБОМИР
+БРАТИЋ МУХО
+БРАТИЋ НЕДЕЉКО
+БРАТИЋ РАДОВАН
+БРАТИЋ ВОЈИСЛАВ
+БРАТОНОЖИЋ МАРГИТА
+БРБОРИЋ ЛАЗАР
+БРБОРИЋ СРБИСЛАВ
+БРЦАНОВ ЂУРЂИНКА
+БРЦАНОВ ОЛГА
+БРЦАНОВ СИМА
+БРЦАНОВ ТИХОМИР
+БРЦАНСКИ НИКОЛА
+БРДАР ДАНЕ
+БРДАР ДРАГО
+БРДАР ИЛИЈА
+БРДАР ИВАНКА
+БРДАР МИЛАН
+БРДАР ПЕРО
+БРДАР СЛАВИША
+БРДАРЕВИЋ ДУШКО
+БРДАРИЋ ДРАГОМИР
+БРДАРИЋ КОСТА
+БРДАРИЋ МИЛАН
+БРДАРИЋ ПЕТАР
+БРЕШЋАНСКИ МАРИЈА
+БРЕШКОВИЋ СТАНИСЛАВА
+БРЕШКОВСКИ ДРАГИЦА
+БРЕЖАН ИЛОНА
+БРЕЖАН ЛЕОНОРА
+БРЕЖАН МАРИЈА
+БРЕБЕР ЉУБИЦА
+БРЕБЕРИНА МИЛАН
+БРЕБЕРИНА СТЕВАН
+БРЕГУН ЂОРЂЕ
+БРЕГУН АЛЕКСАНДРА
+БРЕГУН НИКОЛА
+БРЕГУН РАДОСЛАВ ДИПЛ ИНГ
+БРЕКАЛО ЈОСИП
+БРЕКИЋ ИЛИЈА
+БРЕКИЋ НИКОЛА
+БРЕКИЋ СТЕВАН
+БРЕНЕЦКИ ЗДРАВКО
+БРЕНЕСЕЛ ДРАГАН
+БРЕНЕСЕЛ ГАБРИЕЛ
+БРЕНЕСЕЛ МИРЈАНА
+БРЕНЕСЕЛ НИКОЛА
+БРЕСТОВАЧКИ ИВАН
+БРЕСТОВАЧКИ ЈАСМИНА
+БРЕСТОВАЧКИ МИЛКА
+БРЕСТОВАЧКИ СТЕВА
+БРЕТ ВЕРА
+БРЕТШНАЈДЕР АНА
+БРЕЗНИК ЕРНЕ
+БРЕЗЊАК ЈАНОШ
+БРЕЗЊАК МАРИЈА
+БРЕЗОВЧЕК ЈОВАНКА
+БРЕЗОВАЦ ДРАГИЦА
+БРЕЗОВАЦ ДУШАН
+БРЕЗОВАЦ ИВАН
+БРЕЗОВАЦ ИВАН
+БРЕЗОВАЦ ЈУРАЈ
+БРЕЗОВАЦ КАТАРИНА
+БРЕЗОВАЦ ЉУБИНКА
+БРЕЗОВАЦ МИЛЕНА
+БРЕЗОВАЦ МИЛОШ
+БРЕЗОВАЦ ПЕТАР
+БРЕЗОВАЦ САВА
+БРЕЗОВИЋ МИРЈАНА
+БРИШЕВАЦ ЈУРЕ
+БРИКЕР СМИЉАНА
+БРИЊАК ДРАГО
+БРИТВЕЦ МАРКО
+БРИЗА ЖЕЛМИРА
+БРИЗА ЈАН
+БРИЗА ЛУКРЕЦИЈА
+БРК СИМО
+БРКАНИЋ МАРКО
+БРКАНИЋ МИЛЕНКО
+БРКАНИЋ ТАТЈАНА
+БРКАНЛИЋ ЖЕЉКО
+БРКАНЛИЋ ДУШАН
+БРКИЋ ЂОРЂЕ
+БРКИЋ ЂОРЂЕ
+БРКИЋ ЂУРО
+БРКИЋ АБАЗ
+БРКИЋ АЛЕКСАНДАР
+БРКИЋ АЛЕКСАНДАР
+БРКИЋ АНКА
+БРКИЋ АНКИЦА
+БРКИЋ-БЕЛИЋ ДАНИЦА
+БРКИЋ БОГДАН
+БРКИЋ БРАНКО
+БРКИЋ ДРАГАН
+БРКИЋ ДРАГА
+БРКИЋ ДРАГО
+БРКИЋ ДУШАНКА
+БРКИЋ ГОЈКО
+БРКИЋ ИЛИЈА
+БРКИЋ ИВАН
+БРКИЋ ИВИЦА
+БРКИЋ ЈЕЛИСАВЕТА
+БРКИЋ ЈОВАН
+БРКИЋ ЈОВАН
+БРКИЋ ЈОВАН
+БРКИЋ ЈОВАН
+БРКИЋ ЉУБОМИР
+БРКИЋ ЛУКА
+БРКИЋ МАГДАЛЕНА
+БРКИЋ МАНДА
+БРКИЋ МАРИЈА
+БРКИЋ МАРИЈА
+БРКИЋ МИЛАДИН
+БРКИЋ МИЛАН
+БРКИЋ МИЛАН
+БРКИЋ МИЛАН
+БРКИЋ МИРЈАНА
+БРКИЋ МИТАР
+БРКИЋ НАДА
+БРКИЋ НЕБОЈША
+БРКИЋ НИКОЛА
+БРКИЋ НИКОЛА
+БРКИЋ ПЕТАР
+БРКИЋ ПЕТАР
+БРКИЋ ПЕТРА
+БРКИЋ РАДОЈКА
+БРКИЋ РАДОСЛАВ
+БРКИЋ РАДОСЛАВ
+БРКИЋ РАДОСЛАВ
+БРКИЋ РАТКО
+БРКИЋ РУЖА
+БРКИЋ СИЛВИЈА
+БРКИЋ СЛАВКО
+БРКИЋ СНЕЖАНА
+БРКИЋ СНЕЖАНА
+БРКИЋ ТОМО ДИПЛ ИНГ
+БРКИЋ УРОШ
+БРКИЋ ВЕЗИЛИЈА
+БРКИЋ ВЛАДИМИР
+БРКИЋ ВЛАДИМИР
+БРКИЋ ВЛАДИМИР
+БРКИЋ ВОЈИСЛАВ
+БРКИЋ ЗДРАВКО
+БРКИЋ ЗОРАН
+БРКЉАЧ БРАНИМИР
+БРКЉАЧ БРАНИСЛАВ
+БРКЉАЧ ДРАГОЉУБ
+БРКЉАЧ ИЛИЈА
+БРКЉАЧ КАТАРИНА
+БРКЉАЧ МИЛАНКО
+БРКЉАЧ МИЛАН
+БРКЉАЧ НИКОЛА
+БРКЉАЧ НИКОЛА
+БРКЉАЧ РУЖИЦА
+БРКЉАЧ СЛОБОДАН
+БРКЉАЧ СТЕВАН
+БРКЉАЧА БРАТОЉУБ
+БРКЉАЧИЋ БОЖЕНА
+БРКЉАЧИЋ ВЛАДИМИР
+БРКО НИКОЛА
+БРКОВИЋ ЂОРЂЕ
+БРКОВИЋ АНТУН
+БРКОВИЋ БОСИЉКА
+БРКОВИЋ ДРАГО
+БРКОВИЋ ДУШАН
+БРКОВИЋ ЕМИЛИЈА
+БРКОВИЋ ЈОВАНКА
+БРКОВИЋ ЉУБОМИР
+БРКОВИЋ МАГДА
+БРКОВИЋ МИЛАН
+БРКОВИЋ МИЛИЦА
+БРКОВИЋ НАДА
+БРКОВИЋ НИКОЛА
+БРКОВИЋ РАДОВАН
+БРКОВИЋ ВИОДСАВА
+БРКОВИЋ ВЈЕКОСЛАВ
+БРКОВИЋ ЗЛАТКО
+БРЛИЋ ДРАГУТИН
+БРЛИЋ ИВАН
+БРМБОТА ЈОВАН
+БРМБОТА ЈОВАН
+БРЊАКОВИЋ МАРИЈА
+БРНОВИЋ СВЕТОЗАР
+БРОШТЕАН ВИОРЕЛ
+БРОЋЕТА БОГДАН
+БРОЋЕТА МИЋА
+БРОЋЕТА МИЛОРАД
+БРОЋЕТА НЕДЕЉКО
+БРОЋЕТА ОБРАД
+БРОДРАНСКИ СВЕТЛАНА
+БРОЈЧИН ДУШАН
+БРОЈЧИН САВА
+БРОНЗА ДРАГАН
+БРОНЗА РАЈКО
+БРОЗОВИЋ ИВАН
+БРСАНОВИЋ КРСТА
+БРСТИНА ВАСИЛИЈЕ
+БРТАН ЈОСИП
+БРТКА ЈАН
+БРУШЊАИ ЈОСИП
+БРУШЊАК ПЕРО
+БРУЈИЋ ДУШАН
+БРУЈИЋ ЈОВАН
+БРУЈИЋ МАНОЈЛО
+БРУЈИЋ МИЛАН
+БРУЈИЋ МИЛИЦА
+БРУЈИЋ СЛАВКО
+БРУЈИЋ ВЛАДИМИР
+БРУК АНДРИЈА ДР
+БРУКНЕР БОГДАН
+БРУКНЕР БОГДАН
+БРУНЧЕВИЋ ХИВЗО
+БРУНЧЕВИЋ РЕЏЕП
+БРУНДЗА ЦЕЦИЛИЈА
+БРУНДЗА ВЛАДИМИР МР
+БРУНЕР ЈОСИП
+БРУНЕТ ЕЛЕМЕР
+БРУНЕТ ФРАЊА
+БРУНЕТ ИШТВАН
+БРУНЕТ ЗОЛТАН
+БРУНЕТ ЗОЛТАН
+БРУСИН ДУШКО
+БРУСИН КАЈИЦА
+БРУСИН МИЛОЈКО
+БРУСИН МИЛОВАН
+БРУСИН РАДИЦА
+БРУСИН СЛАВКО
+БРУСЊАИ КАРЛО
+БРУСЊАИ ЛАСЛО
+БРУСЊАИ МАРГАРИТА
+БРЗАК ЖИВКА
+БРЗАК ЖИВОРАД
+БРЗАК ЂОРЂЕ
+БРЗАК ЂОРЂЕ
+БРЗАК ЂОРЂЕ
+БРЗАК ЂОРЂЕ
+БРЗАК ЂУКА
+БРЗАК АЛЕКСАНДАР
+БРЗАК АЛЕКСАНДАР
+БРЗАК АНЂЕЛКА
+БРЗАК БОГДАНКА
+БРЗАК БОРИСЛАВ
+БРЗАК БОСА
+БРЗАК БРАНИСЛАВ
+БРЗАК ДРАГАН
+БРЗАК ДРАГАН
+БРЗАК ДРАГИЦА
+БРЗАК ДРАГОМИР
+БРЗАК ДУШКО
+БРЗАК ГОЈКО
+БРЗАК ИЛИЈА
+БРЗАК ЈАДРАНКА
+БРЗАК ЈЕЛЕНА
+БРЗАК ЈОВАН
+БРЗАК ЈОВАН
+БРЗАК ЈОВАН
+БРЗАК ЈОВАН
+БРЗАК ЈОВАН
+БРЗАК ЈОВАН
+БРЗАК КОСТА
+БРЗАК ЛАЗАР
+БРЗАК ЛЕПОСАВА
+БРЗАК МАРИЈА
+БРЗАК МИЛА
+БРЗАК МИЛЕНКО
+БРЗАК МИЛЕНКО
+БРЗАК МИЛЕНКО
+БРЗАК МИЛОВАН
+БРЗАК МИЛОВАН
+БРЗАК МИРА
+БРЗАК МИРА
+БРЗАК МИРОСЛАВ
+БРЗАК МИТАР
+БРЗАК ПЕТАР
+БРЗАК ПРЕДРАГ
+БРЗАК РАДОСЛАВ
+БРЗАК САВА
+БРЗАК САВЕТА
+БРЗАК СИМЕОН
+БРЗАК СЛАВКО
+БРЗАК СЛОБОДАНКА
+БРЗАК СТЕВАН
+БРЗАК СТЕВАН
+БРЗАК СТЕВАН
+БРЗАК СТОЈАНКА
+БРЗАК СВЕТЛАНА
+БРЗАК СВЕТОЗАР
+БРЗАК ТОША
+БРЗАК ТОША
+БРЗАК ТОШИЦА
+БРЗАК ТОДОР
+БРЗАК ВАСА
+БРЗАК ВАСА
+БРЗАК ВАСА
+БРЗАК ВЕЉКО
+БРЗАК ВИДА
+БРЗАК ВИДОСАВА
+БРЗАК ВИДОСЛАВ
+БРЗАК ВЛАДИСЛАВ
+БРЗАК ЗОРАН
+БРЗАКОВИЋ ИГОР
+БРЗАКОВИЋ НЕНАД ДР
+БРЗАКОВИЋ ВИТОМИР ДР ЛЕКАР
+БРЗАНОВИЋ ДРАГАН
+БРЗИЋ ЖИВАН
+БРЗИЋ ЂОРЂЕ
+БРЗИЋ БРАНКО
+БРЗИЋ ФРАЊА
+БРЗИЋ ИВАН
+БРЗИЋ ЈОВАН
+БРЗИЋ ЛАЗАР
+БРЗИЋ ЛАЗАР
+БРЗИЋ МИРЈАНА
+БРЗИЋ ПЕТАР
+БРЗИЋ ПЕТАР
+БРЗИЋ РАДОСЛАВ
+БРЗИЋ СТЕВАН
+БРЗИЋ СВЕТОЗАР
+БРЗИЋ ТОДОР
+БРЗИЋ ЗЛАТА
+БРЗИЦА БРАНКА
+БРЗИЦА ФЕРДО
+БРЗИЦА ИВАНКА
+БРЗИЦА МАРИНКО
+БРЗОВАН БЕХИЈА
+БУ ИШТВАН
+БУЧА ДУШАН
+БУЧА ДУШИЦА
+БУЧА ИРИНА
+БУЧА ВАСА
+БУЧАНСКИ ЈОЖЕФ
+БУЧИЋ БОРИСЛАВ
+БУЧКО АХНЕТА
+БУЧКО ЈАНКО
+БУЧКО МАРИЈА
+БУЧО ДАНИЈЕЛА
+БУЧУ-МАРТОНОШИ ГИЗЕЛА
+БУШ АНА
+БУШ МАГДАЛЕНА
+БУШ СИЛВЕСТЕР
+БУШИЋ СРЕЋКО
+БУШЉЕТА БРАНКА
+БУШТРЕВИЋ МИРЈАНА
+БУШТРЕВИЋ СЛОБОДАНКА
+БУШТРОВИЋ ОЛГА
+БУЋАН ДУШАН
+БУЋАН ДУШАН
+БУЋАН МИЛЕВА
+БУЋАН СЛАВКА
+БУЋАНСКИ МАЋАШ
+БУЋИН РАДЕ
+БУЋО ЗАГОРКА
+БУЖАНЧИЋ МИРА
+БУЖАНИН МИЛЕ
+БУЂИ ЂУЛА
+БУЂИЛАН ПЕТАР
+БУАЧА ДРАГАН
+БУАЧА ОЛГИЦА
+БУАЧА СТЕВАН
+БУБАЛО ДРАГАН
+БУБАЛО ДРАГИЊА
+БУБАЛО ГОРАН
+БУБАЛО ИЛИЈА
+БУБАЛО ЈОВАН
+БУБАЛО ЈОВО
+БУБАЛО МИРОСЛАВ
+БУБАЛО ПЕТАР
+БУБАЛО РАТОМИР
+БУБАЛО СИМО
+БУБАЛО ТЕОДОРА
+БУБАЊ БРАНИСЛАВ
+БУБАЊ ДАНЕ
+БУБАЊ ИВАНКА
+БУБАЊ МИЛИЦА
+БУБАЊ МИЛОШ
+БУБАЊ РАДЕ
+БУБАЊ РАДОЈКА
+БУБАЊ СРБОЉУБ
+БУБАЊ ВИДОСАВА
+БУБАЊА АЛЕКСАНДАР
+БУБАЊА БАТРИЋ
+БУБАЊА ДАРИНКА
+БУБАЊА КАТИЦА
+БУБАЊА МАШАН
+БУБАЊА РАДИСАВ
+БУБАЊА ТАДИЈА
+БУБАЊА ВОЈИСЛАВ
+БУБАЊА ЗОРКА
+БУБИЋ МИЛАН
+БУБНИЋ ВЕРОНА
+БУБЊЕВИЋ ЂОРЂЕ
+БУБЊЕВИЋ БОРЕ
+БУБЊЕВИЋ ДАРА
+БУБЊЕВИЋ ДРАГО
+БУБЊЕВИЋ ГОЈКО
+БУБЊЕВИЋ ЈАЊА
+БУБЊЕВИЋ ЉУБОМИР
+БУБЊЕВИЋ МАРИЦА
+БУБЊЕВИЋ МАРИНКО
+БУБЊЕВИЋ МИРКО
+БУБЊЕВИЋ НЕНАД
+БУБЊЕВИЋ ОСТОЈА
+БУБЊЕВИЋ РАДА
+БУБЊЕВИЋ РАДОМИР
+БУБЊЕВИЋ РЕЉА
+БУБЊЕВИЋ СРБОЉУБ
+БУБЊЕВИЋ СРЕТЕН
+БУБЊЕВИЋ СТОЈАНКА
+БУБЊЕВИЋ ВАСКРСИЈЕ
+БУБЊЕВИЋ ВЛАДИМИР
+БУБЊИЋ ЖЕЉКО
+БУБОЊА БОРИС
+БУБОЊА ДОСТАНА
+БУБОЊА ДУШАН
+БУБОЊА РАДОВАН
+БУБРЕШКО ГОРДАНА
+БУБУЉ МИЛИЋ
+БУБУЉ НАДА
+БУБУЉ СТОЈАНКА
+БУБУЉ СТОЈА
+БУЦАЛО МИЛАДИН
+БУЦАЛО МИРА
+БУЦАЛО МИТАР
+БУЦАЛОВИЋ ДУШАН
+БУЦИЋ АНТЕ
+БУЦИЋ МИЛИВОЈ
+БУЦУЉЕВИЋ АЛЕКСАНДАР
+БУЦУЉЕВИЋ ЗЛАТОМИР ДР
+БУЏАКОСКИ ТОМА
+БУЏАРОВ САВА
+БУДА АДА
+БУДА ЕВА
+БУДА ХАЈНАЛКА
+БУДА ЈОЖЕФ
+БУДА ТЕРЕЗА
+БУДАЋ ЗОРАН
+БУДАИ ГОРИЦА
+БУДАИ ИЛОНКА
+БУДАИ ЈОЖЕФ
+БУДАИ ЈОЛАН
+БУДАИ ЈОВАН
+БУДАИ ЛАЈОШ
+БУДАИ ЛАЈОШ
+БУДАИ ЗОРА
+БУДАК ДРАГАН
+БУДАК ИВИЦА
+БУДАК МИЛАН
+БУДАК ВЕРА
+БУДАКОВ АЛЕКСАНДРА
+БУДАКОВ БРАНИСЛАВ
+БУДАКОВ ДРАГАН
+БУДАКОВ ГОРИЦА
+БУДАКОВ ИВАН
+БУДАКОВ ЉИЉАНА
+БУДАКОВ МИЛАН
+БУДАКОВ МИЛУТИН
+БУДАКОВ ОЛИВЕРА
+БУДАКОВ СЛОБОДАН
+БУДАНОВ АНТАЛ
+БУДАНОВ ДАНИЦА
+БУДАНОВИЋ САВЕТА
+БУДАНОВИЋ СТАНА
+БУДЕРКА МАРИЈА
+БУДИША БОЖА
+БУДИША БОРА
+БУДИША МИРКО
+БУДИША ТИХОМИР
+БУДИШИЋ ДРАГАН
+БУДИШИН ЂОРЂЕ
+БУДИШИН ИВАН
+БУДИШИН МИЛОШ
+БУДИШИН МИЛОШ
+БУДИШИН НИКОЛА ДР
+БУДИШИН-САКАЧ СОЊА ДР
+БУДИШИН ВЛАДИМИР
+БУДИЋ ЖЕЉКО
+БУДИЋ ДАНИЛО
+БУДИЋ ДРАГОСЛАВ
+БУДИЋ ДУШАНКА
+БУДИЋ МИЛАН
+БУДИЋ ЗОРКА
+БУДИМЧИЋ ЈОВАН
+БУДИМЧИЋ ЉИЉАНА
+БУДИМЧИЋ МИЛИВОЈ
+БУДИМА БАЈРУШ
+БУДИМАЦ БУДИМИР
+БУДИМАЦ ЗОРАН
+БУДИМИР МАРИЈА
+БУДИМИР МИЛАН
+БУДИМИР МИЛОЈКО
+БУДИМИРОВИЋ ДРАГИЦА
+БУДИМИРОВИЋ НЕГОВАН
+БУДИМИРОВИЋ УРОШ
+БУДИМКИЋ-КРСТИЋ ДРАГАНА
+БУДИМЛИЈА АЛЕКСАНДАР
+БУДИМЛИЈА ДРАГИЦА
+БУДИМЛИЈА ИЛИЈА
+БУДИМЛИЈА МИЛАН
+БУДИМЛИЈА МИЛАН
+БУДИМЛИЈА РАДЕ
+БУДИМСКИ ЂУРА
+БУДИМСКИ СЛАВУЈ
+БУДИНЧЕВИЋ ГАБОР
+БУДИНЧЕВИЋ ЈУЛИЈАНА
+БУДИНЧЕВИЋ МИРКО
+БУДИНЧЕВИЋ НИКОЛА
+БУДИНСКИ КИРИЛ
+БУДИНСКИ ЉУБА
+БУДИНСКИ МАРИЈА
+БУДИНСКИ ВЛАДИМИР
+БУДИСАВЉЕВИЋ БРАНКО
+БУДИСАВЉЕВИЋ ДУШАН
+БУДИСАВЉЕВИЋ КАРОЛИНА
+БУДИСАВЉЕВИЋ МАРИЈА
+БУДИСАВЉЕВИЋ НАТАЛИЈА
+БУДИСАВЉЕВИЋ НЕВЕНКА
+БУДИСАВЉЕВИЋ РУЖИЦА
+БУДИСАВЉЕВИЋ ВЕРИЦА
+БУДЈИЛАН ПЕТАР
+БУДОШАН ЖИВКО
+БУДОШАН ЂОРЂЕ
+БУДОШАН АЛЕКСАНДАР
+БУДОШАН-КОВАЧ ЈЕЛЕНА
+БУДОШАН МИЛОШ
+БУДОШАН НАДА
+БУДОШАН САВА
+БУДОШАН САВА
+БУДОШАН СТЕВАН
+БУДОШАН ТОШИЦА
+БУДОШАН ВАСА
+БУДОШАН ВАСА
+БУДОШАН ВУКОСАВА
+БУДОВАЛЧЕВ АРСА
+БУДОВАЛЧЕВ ОЛГА
+БУДОВАЛЧЕВ ПЕТАР
+БУДОВАЛЧЕВ ПЕТАР
+БУДУРИН РАДОЈЕ
+БУГАЏИЈА ЛАЈОШ
+БУГАЏИЈА СТЕВАН
+БУГАРЧИЋ ПЕТАР
+БУГАРЧИЋ РАДМИЛО
+БУГАРЧИЋ СМИЉКА
+БУГАРИН-ЧОНКИЋ РАДОЈКА
+БУГАРИН ЖИВАН
+БУГАРИН ЖИВАН
+БУГАРИН ЖИВАН
+БУГАРИН ЖИВАН
+БУГАРИН БОШКО
+БУГАРИН БОРИСЛАВ
+БУГАРИН ДАНИЦА
+БУГАРИН ИЛИЈА
+БУГАРИН ИВАНА
+БУГАРИН ЈЕВРОСИМА
+БУГАРИН ЉИЉАНА
+БУГАРИН ЉУБОМИР
+БУГАРИН МАРИЈА
+БУГАРИН МИЛОШ
+БУГАРИН МИЛОРАД
+БУГАРИН РАДИСЛАВ
+БУГАРИН РАДОСЛАВ
+БУГАРИН СИНИША
+БУГАРИН СПАСОЈЕ
+БУГАРИН СТЕВАН
+БУГАРИН ВЕЛИБОР
+БУГАРИН ВЕСНА
+БУГАРИН ЗОРАН
+БУГАРИН ЗОРИЦА
+БУГАРИНОВИЋ МАРГАРЕТА
+БУГАРИУ ЈУЛИЈАН
+БУГАРСКИ ЖАРКО
+БУГАРСКИ ЖИКА
+БУГАРСКИ ЖИВАН ДИПЛ ИНГ
+БУГАРСКИ ЂОРЂЕ
+БУГАРСКИ ЂОРЂЕ
+БУГАРСКИ ЂУРИЦА
+БУГАРСКИ БОЈАНА
+БУГАРСКИ БРАНКО
+БУГАРСКИ ДИМИТРИЈЕ
+БУГАРСКИ ДИМИТРИЈЕ
+БУГАРСКИ ДРАГАН
+БУГАРСКИ ДРАГИЦА
+БУГАРСКИ ДРАГОЉУБ ДР
+БУГАРСКИ ДРАГОЉУБ
+БУГАРСКИ ДРАГОСЛАВ
+БУГАРСКИ ДРАГОСЛАВ
+БУГАРСКИ ДРАГОСЛАВ
+БУГАРСКИ ДУШАН ДР
+БУГАРСКИ ДУШАН
+БУГАРСКИ ДУШИЦА
+БУГАРСКИ ДУШИЦА
+БУГАРСКИ ДУШКО
+БУГАРСКИ ЕВИЦА
+БУГАРСКИ ЈОВАН
+БУГАРСКИ ЈУЛКА
+БУГАРСКИ КАТА
+БУГАРСКИ КРСТА
+БУГАРСКИ КСЕНИЈА
+БУГАРСКИ ЛАЗАР
+БУГАРСКИ ЛАЗАР
+БУГАРСКИ МИЛАН
+БУГАРСКИ МИЛАН
+БУГАРСКИ МИЛЕНА
+БУГАРСКИ МИЛЕНКО
+БУГАРСКИ МИЛЕТА
+БУГАРСКИ МИЛИЦА
+БУГАРСКИ МИЛОРАД
+БУГАРСКИ МИРА
+БУГАРСКИ МИРЈАНА
+БУГАРСКИ МИРЈАНА
+БУГАРСКИ МИРОСЛАВА
+БУГАРСКИ МИРОСЛАВ
+БУГАРСКИ НАДА
+БУГАРСКИ НЕДЕЉКО
+БУГАРСКИ НИКОЛА
+БУГАРСКИ ОЛИВЕРА
+БУГАРСКИ ПАЈА
+БУГАРСКИ ПАВЛЕ
+БУГАРСКИ РАДОСЛАВ
+БУГАРСКИ РАСТКО
+БУГАРСКИ РАТОМИР
+БУГАРСКИ САВА
+БУГАРСКИ САВА
+БУГАРСКИ СЛОБОДАН
+БУГАРСКИ СЛОБОДАН
+БУГАРСКИ СЛОБОДАН
+БУГАРСКИ СОФИЈА
+БУГАРСКИ СТЕВАН
+БУГАРСКИ СТЕВАН
+БУГАРСКИ СТЕВАН
+БУГАРСКИ СТЕВАН
+БУГАРСКИ СВЕТЛАНА
+БУГАРСКИ ТАТЈАНА
+БУГАРСКИ ВОЈИСЛАВА
+БУГАРСКИ ВОЈИСЛАВ
+БУГАРСКИ ВОЈИСЛАВ
+БУГАРСКИ ЗОРА
+БУГЕЉ ИВАН
+БУХА БРАНКА
+БУХА РАДИВОЈЕ
+БУХА ВУКАШИН
+БУХМИЛЕР АГНЕШ
+БУХМИЛЕР АТИЛА
+БУХМИЛЕР ЕВА
+БУХМИЛЕР ЈОСИП
+БУХМИЛЕР ЈОСИП
+БУХМИЛЕР КАРЛО
+БУИША МИЛИНКО
+БУИЛА АНА
+БУИЛА ИРИНЕЈ
+БУИЛА ЉУБИЦА
+БУИЛА МАКСИМИЛИЈАН
+БУИЛА МИРОСЛАВ
+БУИЛА СЛАВИЦА
+БУИЛА СЛАВОМИР
+БУЈАК ЕМИЛ
+БУЈАК МАТИЛДА
+БУЈАК САВА
+БУЈАНДРИЋ АНЂЕЛКА
+БУЈАНДРИЋ ЈОВАН
+БУЈАНДРИЋ ЉУБИЦА
+БУЈАНДРИЋ МАРИЈА
+БУЈАНДРИЋ МИЛИВОЈ
+БУЈАНДРИЋ МИТАР
+БУЈАНДРИЋ НИКОЛА
+БУЈАНДРИЋ ПАВЛЕ
+БУЈАНДРИЋ ПЕТАР
+БУЈАНДРИЋ СВЕТОЗАР
+БУЈАНДРИЋ ВЛАДИМИР
+БУЈАС МИЛЕНКО
+БУЈАС ВЕНЧЕСЛАВ
+БУЈДОША СТЕВАН
+БУЈДОШИК БОХОМИЛ
+БУЈДОШИК КЛАРА
+БУЈДОШИК МИРОСЛАВ
+БУЈДОШО ИШТВАН
+БУЈИШИЋ ЖИВКО
+БУЈИЋ БОРИВОЈЕ
+БУЈЛА ЕТЕЛКА
+БУЈЛА ЈАСМИНА
+БУЈНОВИЋ ЂОРЂЕ
+БУЈНОВИЋ МИЛИНКО
+БУКАЛОВ ЗОРА
+БУКАРА ДУШАНКА
+БУКАРИЦА ДАНИЦА
+БУКАРИЦА ЈОВАН
+БУКАТКА АНДРЕЈ
+БУКАТКА РАДОСЛАВ
+БУКАТКО ВЛАДИМИР
+БУКАТКОВ ИВАН
+БУКИЋ ЈАКОВ
+БУКИЛИЋ ДРАГА
+БУКИЛИЋ ДРАГИЦА
+БУКИН НИКОЛА ДИПЛ ИНГ
+БУКИНАЦ ЂОРЂЕ
+БУКИНАЦ БИЉАНА
+БУКИНАЦ БОГУМИЛА
+БУКИНАЦ ДИНА
+БУКИНАЦ ГЛИГОРИЈЕ
+БУКИНАЦ ИВАН
+БУКИНАЦ ЈУЛКА
+БУКИНАЦ ЛАЗАР
+БУКИНАЦ МИЛАДИН
+БУКИНАЦ МИЛАН
+БУКИНАЦ МИЛИЦА
+БУКИНАЦ МИЛОСАВА
+БУКИНАЦ МИРКО
+БУКИНАЦ МИРОСЛАВ
+БУКИНАЦ РУЖИЦА
+БУКИНАЦ СЛАВКО
+БУКИНАЦ СТАНКА
+БУКИНАЦ СТЕВАН
+БУКИНАЦ УРОШ
+БУКОВЧАНИН АЦА
+БУКОВАЧКИ МИОДРАГ
+БУКОВАЧКИ ПЕРА
+БУКОВАЧКИ СВЕТОЗАР
+БУКОВАЦ АНКИЦА
+БУКОВАЦ АТИЛА
+БУКОВАЦ СТЕВАН
+БУКОВАЦ ВЛАДО
+БУКОВАЛА ДЕСАНКА
+БУКОВИЧАНИН РЕЉА
+БУКОВИЋ АНДРАШ
+БУКОВИЦА ДИМИТРИЈЕ
+БУКОВИЦА РАНКО
+БУКТА НАДА
+БУКТА ЗВОНКО
+БУКУМИРОВИЋ МИЛОМИР
+БУКУМИРОВИЋ МИЛОРАД ДИПЛ ИНГ
+БУКУРЕЦКИ БРАНИСЛАВ
+БУКУРЕЦКИ СИНИША
+БУКУРИЋ ТАТЈАНА
+БУКУРОВ ЖАРКО
+БУКУРОВ ЖИВАН
+БУКУРОВ ЖИВАН
+БУКУРОВ БОШКО
+БУКУРОВ БРАНИСЛАВ ДР ПРОФ
+БУКУРОВ КСЕНИЈА
+БУКВА ВЕЛИМИР
+БУКВИЋ ЖЕЉКА
+БУКВИЋ АЛЕКСАНДАР
+БУКВИЋ БРАНКО
+БУКВИЋ БУДЕ
+БУКВИЋ ДАНЕ
+БУКВИЋ ДАНИЛО
+БУКВИЋ ДАНИЛО
+БУКВИЋ ДРАГАН
+БУКВИЋ ДУШАН
+БУКВИЋ ИЛИЈА
+БУКВИЋ ИЛИНКА
+БУКВИЋ ЈАНКО
+БУКВИЋ ЈЕЛИСАВЕТА
+БУКВИЋ ЈОВАН
+БУКВИЋ КОВИЉКА
+БУКВИЋ ЉУБОМИР
+БУКВИЋ МАРИЈА
+БУКВИЋ МАРИНКО
+БУКВИЋ МИЛЕНКО
+БУКВИЋ МИЛКА
+БУКВИЋ МИЛОШ
+БУКВИЋ МИЛОШ
+БУКВИЋ МИЛОШ
+БУКВИЋ МИЛОРАД
+БУКВИЋ МИРОСЛАВ
+БУКВИЋ МЛАДЕН
+БУКВИЋ НОВИЦА
+БУКВИЋ РАДОВАН
+БУКВИЋ СЛАВИЦА
+БУКВИЋ СОФИЈА
+БУКВИЋ СТЕВАН
+БУКВИЋ СВЕТОЗАР
+БУКВИЋ ТОМИСЛАВ
+БУКВИЋ ВЕЛИМИР
+БУКВИЋ ВЛАДО
+БУЛАИЋ РЕЉА
+БУЛАЈИЋ ЂУРО
+БУЛАЈИЋ ДАНИЦА
+БУЛАЈИЋ МИОДРАГ
+БУЛАЈИЋ НАТАЛИЈА
+БУЛАЈИЋ НЕДЕЉКО
+БУЛАЈИЋ ВЛАДИМИР
+БУЛАКИЋ ВУКАШИН
+БУЛАТОВИЋ АЛЕКСАНДАР
+БУЛАТОВИЋ БРАНИСЛАВ
+БУЛАТОВИЋ ДИМИТРИЈЕ
+БУЛАТОВИЋ ДРАГАН
+БУЛАТОВИЋ ДРАГАН
+БУЛАТОВИЋ ДУШАНКА
+БУЛАТОВИЋ ДУШАН
+БУЛАТОВИЋ ГРАДИМИР
+БУЛАТОВИЋ ИЛИЈА
+БУЛАТОВИЋ МИЛАДИН
+БУЛАТОВИЋ МИЛИЈАНА
+БУЛАТОВИЋ МИЛИНКО
+БУЛАТОВИЋ МИЛУТИН
+БУЛАТОВИЋ МОМИР
+БУЛАТОВИЋ НИКОЛА
+БУЛАТОВИЋ НИКОЛА
+БУЛАТОВИЋ НОВАК
+БУЛАТОВИЋ ПАВЛЕ
+БУЛАТОВИЋ ПЕРО
+БУЛАТОВИЋ ПРЕДРАГ
+БУЛАТОВИЋ РАДМИЛО
+БУЛАТОВИЋ РАДОЊА
+БУЛАТОВИЋ САВА
+БУЛАТОВИЋ СЛАЂАНА
+БУЛАТОВИЋ СПАСА
+БУЛАТОВИЋ СВЕТОЗАР
+БУЛАТОВИЋ ВОЈИН
+БУЛАТОВИЋ ВОЈИСЛАВ
+БУЛАТОВИЋ ЗЛАТИЈА
+БУЛАТОВИЋ ЗОРАН
+БУЛЕТИНАЦ МИЛОВАН
+БУЛЕВСКА ВЕРА
+БУЛИЋ ШУЋО
+БУЛИЋ АДИЛА
+БУЛИЋ АНТЕ
+БУЛИЋ АРИФ
+БУЛИЋ БОРИС
+БУЛИЋ ДРАГАН
+БУЛИЋ ДРАГОЉУБ
+БУЛИЋ ДУШАН
+БУЛИЋ МАРА
+БУЛИЋ МАРИЈА
+БУЛИЋ МАРИНА
+БУЛИЋ ОЗРЕН
+БУЛИЋ ПЕРСА
+БУЛИЋ ПЕТАР
+БУЛИЋ ПРЕДРАГ
+БУЛИЋ СМИЉА
+БУЛИЋ СТЕВАН
+БУЛИЋ ТОМИСЛАВ
+БУЛИК-ИЛЕАНА ДОРИНА
+БУЉ ЂУРА
+БУЉ БОСИЛЈКА
+БУЉ МИЛАН
+БУЉЧИК ЕУГЕН
+БУЉЧИК ЈОАКИМ
+БУЉЧИК МИХАЈЛО
+БУЉЧИК НИКОЛА
+БУЉЧИК ПАУЛИНА
+БУЉАК РАТКО
+БУЉАН ДРАГУТИН ДИПЛ ИНГ
+БУЉАН ПЕТАР
+БУЉАН СЛАВИЦА
+БУЉИЋ ИЛИЈА
+БУЉИЋ ЈЕЛЕНА
+БУЉИЋ ЈОВАН
+БУЉИЋ ЉУБИЦА
+БУЉИЋ МИЛАН
+БУЉИЋ МИЛЕ
+БУЉИЋ НОВАК
+БУЉИЋ ПАВО
+БУЉИЋ РАДОВАН
+БУЉИЋ СЕКУЛА
+БУЉИЋ СНЕЖАНА
+БУЉИЋ СТЕВА
+БУЉИЋ ВАСО
+БУЉИН БРАНКО
+БУЉИН СЛАВКО
+БУЉИН ТОМИСЛАВ
+БУЉОВЧИЋ СТИПАН
+БУЉУГИЋ РАДОЈЕ
+БУЛОВАН БРАНИСЛАВ
+БУЛОВИЋ ИРИНЕЈ
+БУЛУМ ПЕТАР
+БУЛУТ АНЂЕЛКО
+БУЛУТ НОВИЦА
+БУМБ АНТОН
+БУМБАРОСКИ РАДА
+БУМБИЋ МИЛАДИН ДР
+БУМБИЋ РАДМИЛА
+БУМБИЋ РАЈКО
+БУМБИЋ ВЕЉКО
+БУМБИЋ ВЕЉКО
+БУНЧИЋ ЂОРЂЕ
+БУНЧИЋ АЛЕКСАНДАР
+БУНЧИЋ АЛЕКСАНДАР
+БУНЧИЋ ДРАГАН
+БУНЧИЋ МАРИЈАНА
+БУНЧИЋ МИЛАН
+БУНАЈ МУХАМЕД
+БУНДАЛЕСКИ МИЛОШ
+БУНДАЛО БРАНКО
+БУНДАЛО НЕБОЈША
+БУНДАЛО НИКОЛА
+БУНДАЛО СЛАВКО
+БУНДАЛО СЛОБОДАН
+БУНДАЛО СЛОБОДАН
+БУНДИЋ АНТУН
+БУНЕТА АЛЕКСАНДАР
+БУНЕТА МИЛАН
+БУНЕТА СНЕЖАНА
+БУНЕТА ВУКОСАВА
+БУНИЋ ДРАГАН
+БУНИЋ МИЛАН
+БУЊАЦ ВАСО
+БУЊАЦ ВОЈИСЛАВ
+БУЊЕВЧЕВ ЂОРЂЕ
+БУЊЕВЧЕВ АЛЕКСАНДАР
+БУЊЕВЧЕВ СРЂАН
+БУЊЕВАЧКИ ЖИВОЈИН
+БУЊЕВАЧКИ БРАНКО
+БУЊЕВАЧКИ ДРАГИЊА
+БУЊЕВАЧКИ ЈОВАНКА
+БУЊЕВАЧКИ ЉУБИЦА
+БУЊЕВАЧКИ МИЛЕНА
+БУЊЕВАЧКИ ВОЈИСЛАВ
+БУЊИК ШАНДОР
+БУЊИК ДРАГИЦА
+БУЊИК ИВАН
+БУЊИК ЈОСИП
+БУЊИК КАРОЉ
+БУЊИК ЗОЛТАН
+БУЊИК ЗОЛТАН
+БУНОВИЋ ДРАГУТИН
+БУНОВИЋ ЛАЗАР
+БУНТ МИЈО
+БУРЧЕР ТОМИСЛАВ
+БУРШИЋ ТИНКА
+БУРАИ АЛЕКСАНДАР
+БУРАИ АНДРАШ
+БУРАИ КАРОЉ
+БУРАИ КАТИЦА
+БУРАИ ПЕТАР
+БУРАЈИ ЈОСИП
+БУРАЊ БЕЛА ДР ЛЕКАР
+БУРАЊ ЕНДРЕ
+БУРАЊ МАРТА
+БУРАЊ НАНДОР
+БУРАЊ СИДОНИЈА
+БУРАЊИ МАРИЈА
+БУРАЊИ НАНДОР
+БУРАЗОР ДРАГОЈА
+БУРАЗОР ЗДРАВКО
+БУРБАХ ГЕРХАРД
+БУРБАН ФИЛИП
+БУРДА МЕЛИНДА
+БУРДА СТАНИСЛАВ
+БУРЕВИЋ МИЛИЋ
+БУРГИЋ ДРАГОЈЕ
+БУРГИЋ ЈОВАН
+БУРГИЋ ПЕТАР
+БУРГИЈАШЕВ ВЕСЕЛИН
+БУРИЋ ЂОКО ДИПЛ ИНГ
+БУРИЋ ДИМИТРИЈЕ
+БУРИЋ ДУШАН ДР
+БУРИЋ ДУШАНКА
+БУРИЋ ФРАЊА
+БУРИЋ ГОРДАНА
+БУРИЋ КАТИЦА
+БУРИЋ КОСТА
+БУРИЋ ЛЕОНОРА
+БУРИЋ МИЛИВОЈЕ
+БУРИЋ НАДА
+БУРЈАН ЂОРЂЕ
+БУРЈАНОВСКИ СТОЈАН
+БУРКА ЕЛЕОНОРА ДР
+БУРКА ЕМИЛИЈА
+БУРКА ЕРЖЕБЕТ
+БУРКА ЈОВАН
+БУРКА МИРОСЛАВ
+БУРКА ПАВЛЕ
+БУРКА ПЕТАР
+БУРКА СОФИЈА
+БУРКА СТЕВАН
+БУРКА СТЕВАН
+БУРКЕРТ ЕДВИН
+БУРКИН ЖИВАН
+БУРКИН ЂОКА
+БУРЛАК НАТАЛИЈА
+БУРМАЈА НИКОЛА
+БУРМУЏИЈА БРАНКО
+БУРМУЏИЈА МИЛАН
+БУРМУЏИЈА НИКОЛА
+БУРНАЋ ФЕЛИКС
+БУРНАЋ ЈЕЛИСАВЕТА
+БУРНАЋ СТЕВАН
+БУРНАЋ ВЛАДИМИР
+БУРНОВ ИВАНА
+БУРНОВ ИВАН
+БУРНОВ ВЕСЕЛИНКА
+БУРОВАЦ НАДА
+БУРСАЋ ДАРИНКА
+БУРСАЋ ДРАГОСЛАВА ДИПЛ ПРАВНИК
+БУРСАЋ ЈОВАН
+БУРСАЋ ЉУБОМИР
+БУРСАЋ МИЛАНКА
+БУРСАЋ МИЛАН
+БУРСАЋ МИЛИЦА
+БУРСАЋ МИЛОРАД
+БУРСАЋ МИРКО
+БУРСАЋ НИКОЛА
+БУРСАЋ ПЕРА
+БУРСАЋ ПЕРСА
+БУРСАЋ СЛОБОДАН
+БУРСАЋ СЛОБОДАН
+БУРСАЋ ВЈЕКОСЛАВА
+БУРСАЋ ВЛАДО ДИПЛ ПРАВНИК
+БУРСИЋ СТЕВАН
+БУРСИЋ ВЛАДИМИР
+БУРУШ АЛЕКСАНДРА
+БУРУШ БОШКО
+БУРУМЏИЈА РАДЕ
+БУРЗАН МИРЈАНА
+БУРЗЕЛИЋ МИЛКА
+БУРЗЕЛИЋ ЗЛАТА
+БУСАРЧЕВИЋ СЛАВИЦА
+БУСАРЧЕВИЋ СТЕВАН
+БУСИЈА ЉУБИНКА
+БУСИЈА МИЛАН
+БУСОВ АЛЕКСИЈЕ ДИПЛ ИНГ
+БУСОВ ИГОР
+БУСУЛАЏИЋ МУСТАФА
+БУТА ЛАЗАР
+БУТА ВОЈИСЛАВ ДР
+БУТАШ ФЕРЕНЦ
+БУТЕР КСЕНИЈА
+БУТЕРЕР ИШТВАН
+БУТЕРЕР ЈУЛИЈА
+БУТЕРИН ДЕША
+БУТОР АЛЕКСАНДАР
+БУТОР ЕНДРЕ
+БУТОР МИХАЈЛО
+БУТОРАЦ ЈОСИП
+БУТОРАЦ МАРИЈА
+БУТОРАЦ ЗОРАН
+БУТУЛИЈА БРАНИСЛАВ
+БУТУРОВИЋ РАТКО
+БУТУРОВИЋ СВЕТОЗАР
+БУЗА ИРЕНА
+БУЗА КОРНЕЛИУ
+БУЗА МИХАЉ
+БУЗАШ ШАНДОР
+БУЗАШ ЈОСИП
+БУЗАШ ЈОСИП
+БУЗАШ ЛАЈОШ
+БУЗАШ ПАВАО
+БУЗАШ ПАВЛЕ
+БУЗАШИ ЈОСИП
+БУЗАШИ МИХАЈЛО
+БУЗАЏИЋ ЉИЉАНА
+БУЗАЏИЋ МИРЈАНА
+БУЗАЏИЈА НЕНАД
+БУЗАЏИЈА НОВАК
+БУЗАЉКО ЈУСУФ ДИПЛ ИНГ
+БУЗАНЧИЋ ЈОСИП
+БУЗАНЧИЋ НАДЕЖДА
+БУЗАНСКИ МИША
+БУЗАРЕВИЋ БРАНКО
+БУЗАРЕВИЋ РАДОЈКА
+БУЗАРЕВИЋ РУЖА
+БУЗАРОВ ЖИВАН
+БУЗАРОВ ЈОВАН
+БУЗАРОВ ЗОРА
+БУЗАРСКИ ЂОРЂЕ
+БУЗГО ЈАНОШ
+БУЗОГАЊ МАРИЈА
+ЦАЦКО МАРИЈА
+ЦАЈИЋ МИЛОШ
+ЦАЈНЕР ЈЕЛЕНА
+ЦАЈНЕР ЉУБИЦА
+ЦАЈНЕР СТЕВАН
+ЦАЈНЕР СТЕВА
+ЦАКИЋ ДУШАНКА
+ЦАКИЋ ГОРДАНА
+ЦАКИЋ ЈЕЛЕНКО
+ЦАКИЋ МИРОСЛАВ
+ЦАКИЋ ПЕТАР
+ЦАКИЋ СТЕВАН
+ЦАНДИР ФРАЊА
+ЦАНИЋ ЉИЉАНА
+ЦАНИЋ ВЕЛИМИР
+ЦАП ЂУРА
+ЦАП БОШКО
+ЦАП ЈОАКИМ
+ЦАП ЈОВАН
+ЦАП НЕНАД
+ЦАП НЕНАД
+ЦАП РАДОЈКА
+ЦАП ТАМАРА
+ЦАПАР-ЈАНКОВИЋ ВАЛЕРИЈА
+ЦАПАР ЈАНОШ
+ЦАПАР ЈОВАН
+ЦАПАР МАРИЈА
+ЦАПАР МАРИЈА
+ЦАПИК ЈОСИП
+ЦАПИК ЉУДЕВИТ
+ЦАР МАРИЈА
+ЦАРАН БОШКО
+ЦАРАН ГЕОРГЕ
+ЦАРАН ПЕРСА
+ЦАРАН ПЕТАР
+ЦАРАНОВИЋ СТАНОЈЕ
+ЦАРЕВИЋ ЖИВАН
+ЦАРЕВИЋ ЖИВКА
+ЦАРЕВИЋ ЂОРЂЕ
+ЦАРЕВИЋ ДУШАН
+ЦАРЕВИЋ ЕСТЕР
+ЦАРЕВИЋ КАТИЦА
+ЦАРЕВИЋ МИХАЈЛО
+ЦАРЕВИЋ МИЛЕНА
+ЦАРЕВИЋ МИЛЕ
+ЦАРЕВИЋ НАДА
+ЦАРЕВИЋ ПЕТАР
+ЦАРЕВИЋ САВА
+ЦАРЕВИЋ СЛАВКО
+ЦАРЕВИЋ СЛАВКО
+ЦАРЕВИЋ СТЕВАН
+ЦАРЕВИЋ СВЕТОЗАР
+ЦАРИЧИЋ СЛАВКО
+ЦАРИЋ АНДРИЈА
+ЦАРИЋ БРАНКО
+ЦАРИЋ ГОЈКО
+ЦАРИЋ ЛАЗАР
+ЦАРИЋ МАРИЈА
+ЦАРИЋ МИРЈАНА
+ЦАРИЋ СЛАВКО ДР ПРОФ
+ЦАРИЋ СЛОБОДАН ДР
+ЦАРИЋЕВИЋ МИЛЕНКО
+ЦАРО ГОРАН
+ЦАТИЋ ЛАЗАР
+ЦАВНИЋ МАРТА
+ЦАВНИЋ СВЕТЛАНА
+ЦАЗИН ДРАГАН
+ЦЕ ПАВЛЕ
+ЦЕЦЕЛ МАРИЈА
+ЦЕГЛЕДИ ЂУРО
+ЦЕХОЛА ФЕРЕНЦ
+ЦЕКИЋ БОРИСЛАВ
+ЦЕКИЋ БОРИВОЈЕ
+ЦЕКИЋ БОРКО
+ЦЕКИЋ ЈУЛКА
+ЦЕКИЋ ПЕТАР
+ЦЕКИЋ РАДМИЛА
+ЦЕКУШ ЕВА
+ЦЕЛИЋ БРАНКО
+ЦЕЛИН МИЛАН
+ЦЕЛИН МИЛАН
+ЦЕНАЈ ТАХИР
+ЦЕНДЕР АНГЕЛИНА
+ЦЕНИЋ МИЛОВАН
+ЦЕП СТЕВАН
+ЦЕПФ СТЕВАН
+ЦЕРГОЛ ВИДОСАВА
+ЦЕРИЋ ДАНИЦА
+ЦЕРИЋ МЕХМЕД
+ЦЕРНА РУДОЛФ
+ЦЕРОВАЦ ЗОРКА
+ЦЕРОВИЋ БАТРИЋ
+ЦЕРОВИЋ БОГДАН
+ЦЕРОВИЋ БОЈАНА
+ЦЕРОВИЋ ДАРИНКА
+ЦЕРОВИЋ ИКОНИЈА
+ЦЕРОВИЋ ЉУБИВОЈЕ
+ЦЕРОВИЋ МИШО
+ЦЕРОВИЋ НЕНАД
+ЦЕРОВИЋ НОВАК
+ЦЕРОВИЋ ПЕТАР
+ЦЕРОВИЋ СЛОБОДАН
+ЦЕРОВИЋ СРЕТЕН
+ЦЕРОВИЋ ТОМИСЛАВ
+ЦЕРОВИЋ УРОШ
+ЦЕРОВСКИ ДАНИЈЕЛ
+ЦЕСНАК ЈАНКО
+ЦЕСНАК ПАВЛЕ
+ЦЕСНАК ЗЛАТКО
+ЦЕТЕЊИ ЈОВАН
+ЦЕТИНА ЈОВАН
+ЦЕТИНА ЉИЉАНА
+ЦЕВЦ ФРАЊА
+ЦЕВЦ СОЊА
+ЦИБРИЋ ТОДОР
+ЦИБУЛА ЂУРА
+ЦИБУЛА БЕЛА
+ЦИБУЛА ЈАНКО
+ЦИБУЛА ЈОВАН
+ЦИБУЛА ЈОВАН
+ЦИБУЛА МАРЈЕНКА
+ЦИБУЛА МИША
+ЦИБУЛА ПЕРА
+ЦИЦЕРИ ФЕРЕНЦ
+ЦИЦЕРИ КАРОЉ
+ЦИЦЕРИ ЛАСЛО
+ЦИЦЕРИ МАТИЛДА
+ЦИЦЕРИ ПЕРА
+ЦИЦЕРИ ВИНКО
+ЦИЦКА ШЋЕФАН
+ЦИЦКА ЈАН
+ЦИЦМИЛ БОЖИДАР
+ЦИЦМИЛ БРАНКО
+ЦИЦМИЛ КРСТО
+ЦИЦМИЛ МАРИЈА
+ЦИЦМИЛ МАРКО
+ЦИЦМИЛ МИЛАН
+ЦИЦМИЛ СТОЈАН
+ЦИЦМИЛ ТАТЈАНА
+ЦИЦМИЛ ЗОРАН
+ЦИЦМИЛОВИЋ ДРАГАН
+ЦИЦМИЛОВИЋ ЗОРКА
+ЦИЦО ДУШАН
+ЦИЦВАРИН ЉУБОМИР
+ЦИФРИЋ ГАЛИБ
+ЦИГАН АНТУН
+ЦИГАН ИВАН
+ЦИГАЊ ЈОСИП
+ЦИГАНОВИЋ БРАНКО
+ЦИГАНОВИЋ ДАНЕ
+ЦИГАНОВИЋ ДУШАН
+ЦИГАНОВИЋ МИЛОРАД
+ЦИГАНОВИЋ ОСТОЈА
+ЦИГАНОВИЋ РАЈКО
+ЦИГАНОВИЋ СТЕВО
+ЦИГИЋ ИВАН
+ЦИГЛЕР СНЕЖАНА
+ЦИГЉЕЦКИ ФРАЊА
+ЦИГЉЕЦКИ ВЕРА
+ЦИКОРА ЖУЖАНА
+ЦИКОТА ЖЕЉКО
+ЦИКОТА ОЛГА
+ЦИКОТА СЛАВКО
+ЦИКУША ЈОВАН
+ЦИКУША ЗОРАН
+ЦИМБАЛ АЛЕКСАНДАР
+ЦИМБАЛ АЛЕКСАНДАР
+ЦИМБАЛ ТИБОР
+ЦИМБАЛ ВЕРИЦА
+ЦИМБАЉЕВИЋ ЗЛАТАНА
+ЦИМЕРМАН ЛАДИСЛАВ
+ЦИМЕРМАН СМИЉА
+ЦИНЦОВИЋ ЖИВКА
+ЦИНДЕР ВИДА
+ЦИНДРИЋ ЂОРЂЕ
+ЦИНДРИЋ ЕРЖЕБЕТ
+ЦИНДРИЋ ПЕТАР ДР
+ЦИНГАРА АЛЕКСАНДАР
+ЦИНГЕЛИ МИЛЕНА
+ЦИНГИ КАРЛО
+ЦИНКЛЕР ЈЕЛИСАВЕТА ДИПЛ ИНГ
+ЦИНКЛЕР ЈУЛИЈЕ
+ЦИНКЛЕР КАЛМАН ДИПЛ ИНГ
+ЦИНКЛЕР КАЛМАН ДИПЛ ИНГ
+ЦИНКЛЕР КАЛМАН
+ЦИНКЛЕР МАГДОЛНА
+ЦИНКОЦКИ ЂОРЂЕ
+ЦИНКОЦКИ ВОЈИСЛАВ
+ЦИПРУШ АЛЕКСАНДРА
+ЦИРБУС МАРИЈА
+ЦИРГЕР ДУШАНКА
+ЦИРОК ШАНДОР
+ЦИТКОВИЋ ИВКА
+ЦИТКОВИЋ СЛОБОДАН
+ЦИВРИЋ МИЛКА
+ЦМИЉАНОВИЋ ДРАГИША
+ЦОЦЕК ШТЕФАНИЈА
+ЦОЦЕК ИМРЕ
+ЦОЦЕК ЈОСИП
+ЦОЦЕК СТЕВАН
+ЦОЦИН МИРА
+ЦОЦО ВАХДЕТА
+ЦОЛИЋ БОЖИДАР
+ЦОЛИЋ БОГОСАВ
+ЦОЛИЋ ФРАЊА
+ЦОЛИЋ ЈОСИП
+ЦОЛИЋ КАТИЦА
+ЦОЛИЋ ЛАДИСЛАВ
+ЦОЛИЋ СВЕТЛАНА
+ЦОНИЋ ДРАГИЊА
+ЦОНИЋ ЈАНКО МР ИНГ
+ЦОНИЋ МИОДРАГ
+ЦОПКОВ ЖЕЉКО
+ЦРЕПИЋ ЛАДИСЛАВ
+ЦРЕПУЛИЋ ВИДОСАВА
+ЦРЕПУЉА ТОДОР
+ЦРЕВАР БОГДАН
+ЦРЕВАР МИЛУТИН ДИПЛ ИНГ
+ЦРЕВАР СИМА
+ЦРЕВАР СЛАВКО
+ЦРКВЕЊАКОВ ДАНИЦА
+ЦРКВЕЊАКОВ ДУШАНКА
+ЦРКВЕЊАКОВ СУЛТАНИЈА
+ЦРНЧЕВИЋ ДАРИНКА
+ЦРНЧЕВИЋ МИРКО
+ЦРНЧЕВИЋ МИРКО
+ЦРНЧЕВИЋ НЕДЕЉКА
+ЦРНЧЕВИЋ СЛАВКО
+ЦРНЧЕВИЋ ВЕРА
+ЦРНЧЕВИЋ ВЛАДО
+ЦРНАДАК ВЛАТКО
+ЦРНИ ВЕРИЦА
+ЦРНИ ЗОРИЦА
+ЦРНИЋ БРАНКА
+ЦРНИЋ ДРАГАН
+ЦРНИЋ ГОРАН
+ЦРНИЋ МАРКО
+ЦРНИЋ МИЛАН
+ЦРНИЋ МИЛУТИН
+ЦРНИЋ НИКОЛА
+ЦРНИЋ ОСТОЈА
+ЦРНИЋ РАДОМИР
+ЦРНИЋ СОФИЈА
+ЦРНИЋ УГЉЕША
+ЦРНИЋ ВАСА
+ЦРНИЋ ВЕРА
+ЦРЊАЦ МИЛЕНА
+ЦРЊАК ЖИВАНКА
+ЦРЊАКОВ ДИМИТРИЈЕ
+ЦРЊАНИН БРАНИСЛАВА
+ЦРЊАНИН ЗАГОРКА
+ЦРЊАНСКИ-ЧЕНГЕРИ КРИСТИНА
+ЦРЊАНСКИ ЖАРКО
+ЦРЊАНСКИ ЂОКА
+ЦРЊАНСКИ БУДИМКА
+ЦРЊАНСКИ ИВАН
+ЦРЊАНСКИ ЈЕЛЕНА
+ЦРЊАНСКИ КАТИЦА
+ЦРЊАНСКИ КУЗМАН
+ЦРЊАНСКИ ЛАЗАР
+ЦРЊАНСКИ РАДИВОЈ
+ЦРЊАНСКИ САЊА
+ЦРЊАНСКИ СТЕВАН
+ЦРЊАНСКИ ВЛАДИМИР
+ЦРЊАНСКИ ЗОРАН
+ЦРЊАНСКИ ЗОРАН
+ЦРНКОВИЋ НИКОЛА
+ЦРНКОВИЋ-САВИЋ ЉИЉАНА
+ЦРНКОВИЋ ЗЛАТА
+ЦРНОБАРАЦ ДУШАН
+ЦРНОБАРАЦ ЈОВАН
+ЦРНОБРЊА МИЛАН
+ЦРНОБРЊА МИРЈАНА
+ЦРНОБРЊА ПЕТАР
+ЦРНОГЛАВАЦ МИХАЈЛО
+ЦРНОГЛАВАЦ РАДОСЛАВ
+ЦРНОГОРЧЕВИЋ ЈЕЛИЦА
+ЦРНОГОРАЦ ЂОКО
+ЦРНОГОРАЦ БОРИША
+ЦРНОГОРАЦ БОСИЉКА
+ЦРНОГОРАЦ ДРАГАН
+ЦРНОГОРАЦ ДРАГОЉУБ
+ЦРНОГОРАЦ ДУШАН
+ЦРНОГОРАЦ МИЛАН
+ЦРНОГОРАЦ МИЛКА
+ЦРНОГОРАЦ МИЛОСАВ
+ЦРНОГОРАЦ МИРОСЛАВ
+ЦРНОГОРАЦ ПАВЛЕ
+ЦРНОГОРАЦ СЛОБОДАН
+ЦРНОГОРАЦ СВЕТЛАНА
+ЦРНОГОРАЦ ВЕЛИМИР ДР
+ЦРНОГОРАЦ ЗДРАВКО
+ЦРНОГОРАЦ ЗОРИЦА
+ЦРНОЈА АНТЕ
+ЦРНОЈА СЛАВИЦА
+ЦРНОЈАЧКИ БОГДАН
+ЦРНОЈАЧКИ ДАНИЦА ДР
+ЦРНОЈАЧКИ ДАНИЛО
+ЦРНОЈАЧКИ ДРАГАН
+ЦРНОЈАЧКИ ДРАГОМИР
+ЦРНОЈАЧКИ ГОРДАНА
+ЦРНОЈАЧКИ ЈОВАН
+ЦРНОЈАЧКИ КАТИЦА
+ЦРНОЈАЧКИ МИЛЕНА ДР
+ЦРНОЈАЧКИ МИЛОШ
+ЦРНОЈАЧКИ МЛАДЕН
+ЦРНОЈАЧКИ ОБРАД
+ЦРНОЈАЧКИ ОБРАД
+ЦРНОЈАЧКИ РАДМИЛА
+ЦРНОЈАЧКИ СОФИЈА
+ЦРНОЈАЧКИ ВЛАДИМИР
+ЦРНОЈАЧКИ ЗОРИЦА
+ЦРНОКРАК ЈОВАН
+ЦРНОКРАК МИЛОШ
+ЦРНОКРАК СТЕВАН
+ЦРНОМАРКОВИЋ БОГДАН
+ЦРНОМАРКОВИЋ ДУШАН
+ЦРНОМАРКОВИЋ ДУШАН
+ЦРНОМАРКОВИЋ ГОЈКО
+ЦРНОМАРКОВИЋ ЛУКА
+ЦРНОМАРКОВИЋ НИКОЛА
+ЦРНОМАРКОВИЋ ПЕТАР
+ЦРНОМАРКОВИЋ РАНКО
+ЦРНОМАРКОВИЋ СТОЈАН
+ЦРНОМАРКОВИЋ ВЕРИЦА
+ЦРНОМУТ МИХАЈЛО
+ЦРВЕНИ ЖАРКО
+ЦРВЕНИ АНА
+ЦРВЕНИ БИСЕРКА
+ЦРВЕНИ ДРАГАН
+ЦРВЕНИ МАРКО
+ЦРВЕНИ МИЛАН
+ЦРВЕНИ МИЛЕНКО
+ЦРВЕНИ МИОМИР
+ЦРВЕНИ СИМА
+ЦРВЕНИ СТЕВАН
+ЦРВЕНИ СТЕВАН
+ЦРВЕНКО ЈАНКО
+ЦРВЕНКО МИЛАН
+ЦРВЕНКО РАДОМИР
+ЦРВЕНКОВ БОРИСЛАВ
+ЦРВЕНКОВ МИЛОСАВА
+ЦРВЕНКОВ ПЕТАР
+ЦРВЕНКОВИЋ ЂОРЂЕ
+ЦРВЕНКОВИЋ ЂУРЂИЦА
+ЦРВЕНКОВИЋ ПЕТАР
+ЦРВЕНКОВИЋ РАДЕНКО
+ЦРВЕНКОВИЋ СИНИША ДР
+ЦРВЕНКОВИЋ ВИТОМИР
+ЦУЦАК МИРЈАНА
+ЦУЦАК РАХИМ
+ЦУЦИЋ АЛЕКСАНДАР
+ЦУЦИЋ БОРИСЛАВ
+ЦУЦИЋ ГИНА
+ЦУЦИЋ ЈЕЛКА
+ЦУЦИЋ ЉИЉАНА
+ЦУЦИЋ СТАНА
+ЦУЦИЋ СТАНОЈЛО
+ЦУЦИЋ ВЕРА
+ЦУЦИЋ ВЕСНА
+ЦУЦИЋ ВЛАДИМИР
+ЦУЦОВИЋ РАФЕТ
+ЦУГЛИ ЈОВАН
+ЦУКИЋ РАДА
+ЦУКИЋ РАДОЈИЦА
+ЦУКИЋ СВЕТОЗАР
+ЦУЊАК МИЛУТИН
+ЦУПАЋ СВЕТОМИР ДИПЛ ПРАВНИК
+ЦУПАРИЋ ТОМА
+ЦУРАКОВИЋ МИЛИВОЈЕ
+ЦВЕЈАНОВ ЈЕЛЕНА
+ЦВЕЈАНОВ НЕБОЈША
+ЦВЕЈАНОВ ПРЕДРАГ
+ЦВЕЈАНОВ ВЕЛИБОР
+ЦВЕЈАНОВИЋ КСЕНИЈА
+ЦВЕЈАНОВИЋ ЛАЗАР
+ЦВЕЈАНОВИЋ НАДА
+ЦВЕЈАНОВИЋ НИКОЛА
+ЦВЕЈАНОВИЋ СПОМЕНКА
+ЦВЕЈАНОВИЋ ВИДОСАВА
+ЦВЕЈАНОВИЋ ВОЈИСЛАВ
+ЦВЕЈАНОВИЋ ЗОРИЦА
+ЦВЕЈИЋ ЧЕДОМИР
+ЦВЕЈИЋ ЖАРКО
+ЦВЕЈИЋ ЖИВОЈИН
+ЦВЕЈИЋ ЂОРЂЕ ДР
+ЦВЕЈИЋ ЂУРЂИНКА
+ЦВЕЈИЋ АЛЕКСАНДАР ДР
+ЦВЕЈИЋ АЛЕКСАНДАР
+ЦВЕЈИЋ АЛЕКСАНДАР
+ЦВЕЈИЋ БОЖИДАР
+ЦВЕЈИЋ БОРИВОЈ
+ЦВЕЈИЋ ДРАГАН
+ЦВЕЈИЋ ДРАГОСЛАВ
+ЦВЕЈИЋ ДРАГУТИН
+ЦВЕЈИЋ ИГЊАТ
+ЦВЕЈИЋ ИВАН
+ЦВЕЈИЋ ЈЕЛЕНА
+ЦВЕЈИЋ КАТИЦА
+ЦВЕЈИЋ ЛАЗАР
+ЦВЕЈИЋ МИЛАН
+ЦВЕЈИЋ МИЛАН
+ЦВЕЈИЋ МИЛИСАВ
+ЦВЕЈИЋ МИЛОШ
+ЦВЕЈИЋ МИОДРАГ
+ЦВЕЈИЋ МИРЈАНА
+ЦВЕЈИЋ НАДЕЖДА
+ЦВЕЈИЋ НЕДЕЉКА
+ЦВЕЈИЋ НИКОЛА ДИПЛ ИНГ
+ЦВЕЈИЋ НИКОЛА
+ЦВЕЈИЋ ОЛГА
+ЦВЕЈИЋ ПАВЛЕ
+ЦВЕЈИЋ РАДОСЛАВ
+ЦВЕЈИЋ РАДОВАН
+ЦВЕЈИЋ РУЖИЦА
+ЦВЕЈИЋ СЛАВОЉУБ
+ЦВЕЈИЋ СТЕВАН
+ЦВЕЈИЋ СТЕВАН
+ЦВЕЈИЋ ВЛАДАН
+ЦВЕЈИЋ ЗАГОРКА
+ЦВЕЈИН БОЖА
+ЦВЕЈИН БОЈАНА
+ЦВЕЈИН ДУШАН ДИПЛ ИНГ
+ЦВЕЈИН МАРИЈА
+ЦВЕЈИН МИЛАН
+ЦВЕЈИН МИЛОШ
+ЦВЕЈИН МИРЈАНА
+ЦВЕЈИН НОВАК
+ЦВЕЈИН СЛОБОДАН
+ЦВЕЈИН ТРИВА
+ЦВЕКИЋ МИЛЕТА
+ЦВЕКИЋ ВОЈИН
+ЦВЕКИЋ ЗЛАТИЦА
+ЦВЕРДЕЉ ЈАНКО
+ЦВЕРДЕЉ РУЖА
+ЦВЕРЊАК ЈЕНЕ
+ЦВЕТАНОВИЋ АНИТА
+ЦВЕТАНОВИЋ ДРАГОСЛАВ
+ЦВЕТАНОВИЋ ЈЕЛЕНА
+ЦВЕТАНОВИЋ ЈЕРМИНА ДР ЛЕКАР
+ЦВЕТАНОВИЋ МАГДОЛНА
+ЦВЕТАНОВИЋ РАДИЦА
+ЦВЕТАНОВИЋ СТОЈАДИН
+ЦВЕТАНОВИЋ СТОЈАНКА
+ЦВЕТАНОВИЋ ВЕЉА
+ЦВЕТАНОВИЋ ЗОРАН
+ЦВЕТАНОВИЋ ЗОРАН
+ЦВЕТАНОВИЋ ЗОРАН
+ЦВЕТАНОВСКИ МАНОЈЛО
+ЦВЕТАНОВСКИ МИЛЕ
+ЦВЕТИЧАНИН ЉУБИЦА
+ЦВЕТИЧАНИН МИЛКА
+ЦВЕТИЧАНИН ВЕСНА
+ЦВЕТИЧАНИН ЗОРАН
+ЦВЕТИЋ БОШКО
+ЦВЕТИЋ ДРАГОМИР
+ЦВЕТИЋ ЛАЗАР
+ЦВЕТИЋ ЛАЗО
+ЦВЕТИЋ ЉУБИЦА
+ЦВЕТИЋ МАРИЈА
+ЦВЕТИЋ ПЕТАР
+ЦВЕТИЋ СЛАВКО
+ЦВЕТИЋ СТАНКО
+ЦВЕТИЋАНИН БОШКО
+ЦВЕТИЋАНИН БРАНКО
+ЦВЕТИЋАНИН ДАНЕ
+ЦВЕТИЋАНИН ДАНИЦА
+ЦВЕТИЋАНИН ДРАГОМИР
+ЦВЕТИЋАНИН ИЛИЈА
+ЦВЕТИЋАНИН ИРЕНА
+ЦВЕТИЋАНИН МИЛОШ
+ЦВЕТИЋАНИН МИЛОРАД
+ЦВЕТИЋАНИН МИРОСЛАВ
+ЦВЕТИЋАНИН СНЕЖАНА
+ЦВЕТИЋАНИН ЗОРАН
+ЦВЕТИНИЋ МАРКО
+ЦВЕТИНИЋ МАТИЈА
+ЦВЕТИЊАНИН ТОМИСЛАВ
+ЦВЕТИНОВ САВА
+ЦВЕТИНОВИЋ АНКА
+ЦВЕТИНОВИЋ БРАНА
+ЦВЕТИНОВИЋ БРАНКО
+ЦВЕТИНОВИЋ ДИМИТРИЈЕ
+ЦВЕТИНОВИЋ ИЛИЈА
+ЦВЕТИНОВИЋ ИВАНКО
+ЦВЕТИНОВИЋ МИЛАН
+ЦВЕТИНОВИЋ СИМО
+ЦВЕТИНОВИЋ ВЕРА
+ЦВЕТИНОВИЋ ЗОРА
+ЦВЕТКОВ ЈОВАН
+ЦВЕТКОВ МИЛАН ДИПЛ ИНГ
+ЦВЕТКОВ РАДОЈЕ
+ЦВЕТКОВИЋ ЧЕДОМИР
+ЦВЕТКОВИЋ ЖИВОЈИН
+ЦВЕТКОВИЋ ЂОРЂЕ
+ЦВЕТКОВИЋ ЂОРЂЕ
+ЦВЕТКОВИЋ АЛЕКСАНДАР
+ЦВЕТКОВИЋ АЛЕКСАНДАР
+ЦВЕТКОВИЋ АЛЕКСАНДАР
+ЦВЕТКОВИЋ АНКА
+ЦВЕТКОВИЋ БОЈАНА
+ЦВЕТКОВИЋ БОРА
+ЦВЕТКОВИЋ БОРИСЛАВ
+ЦВЕТКОВИЋ БОРИСЛАВ
+ЦВЕТКОВИЋ БРАНИСЛАВ
+ЦВЕТКОВИЋ БРАНКО
+ЦВЕТКОВИЋ БРАНКО
+ЦВЕТКОВИЋ БУДИМИР
+ЦВЕТКОВИЋ ДАРИНКА
+ЦВЕТКОВИЋ ДЕСИМИР
+ЦВЕТКОВИЋ ДРАГАН
+ЦВЕТКОВИЋ ДРАГАН
+ЦВЕТКОВИЋ ДРАГАН
+ЦВЕТКОВИЋ ДРАГАН
+ЦВЕТКОВИЋ ДРАГИША
+ЦВЕТКОВИЋ ДРАГОЉУБ
+ЦВЕТКОВИЋ ДРАГОМИР МР
+ЦВЕТКОВИЋ ДРАГОМИР
+ЦВЕТКОВИЋ ДУШАН
+ЦВЕТКОВИЋ ДУШАН
+ЦВЕТКОВИЋ-ГЛАДИЋ СМИЉА
+ЦВЕТКОВИЋ ГРОЗДА
+ЦВЕТКОВИЋ ИЛИЈА
+ЦВЕТКОВИЋ ИВАНКА
+ЦВЕТКОВИЋ ЈЕЛЕНА
+ЦВЕТКОВИЋ ЈЕЛЕНА
+ЦВЕТКОВИЋ ЈЕЛКА
+ЦВЕТКОВИЋ ЈОВАН
+ЦВЕТКОВИЋ ЈОВАН
+ЦВЕТКОВИЋ ЈОВАН
+ЦВЕТКОВИЋ ЛИВИА
+ЦВЕТКОВИЋ ЉИЉАНА
+ЦВЕТКОВИЋ ЉИЉАНА
+ЦВЕТКОВИЋ МЕЛАНИЈА
+ЦВЕТКОВИЋ МИЛАН
+ЦВЕТКОВИЋ МИЛАН
+ЦВЕТКОВИЋ МИЛИЦА
+ЦВЕТКОВИЋ МИОДРАГ
+ЦВЕТКОВИЋ МИОДРАГ
+ЦВЕТКОВИЋ МИОДРАГ
+ЦВЕТКОВИЋ МИРА
+ЦВЕТКОВИЋ МИРЈАНА
+ЦВЕТКОВИЋ МИРОСЛАВ ДР
+ЦВЕТКОВИЋ МИРОСЛАВ
+ЦВЕТКОВИЋ НИКОЛА
+ЦВЕТКОВИЋ НИКОЛА
+ЦВЕТКОВИЋ НИКОЛА
+ЦВЕТКОВИЋ ПЕТАР
+ЦВЕТКОВИЋ РАДМИЛА
+ЦВЕТКОВИЋ РАДОЈКО
+ЦВЕТКОВИЋ РАДОСЛАВ
+ЦВЕТКОВИЋ РАДОСЛАВ
+ЦВЕТКОВИЋ РАДОВАН
+ЦВЕТКОВИЋ РАДУЛА
+ЦВЕТКОВИЋ РАТОМИР
+ЦВЕТКОВИЋ РИСТО
+ЦВЕТКОВИЋ РУЖИЦА
+ЦВЕТКОВИЋ СЛАВОЉУБ
+ЦВЕТКОВИЋ СОКА
+ЦВЕТКОВИЋ СРБОБРАН
+ЦВЕТКОВИЋ СТАНКО
+ЦВЕТКОВИЋ СТАНОЈЕ
+ЦВЕТКОВИЋ СТАНОЈЕ
+ЦВЕТКОВИЋ СВЕТОЗАР
+ЦВЕТКОВИЋ ТАТЈАНА
+ЦВЕТКОВИЋ ТОНИ
+ЦВЕТКОВИЋ ВЕЛИМИР
+ЦВЕТКОВИЋ ВЛАДИМИР
+ЦВЕТКОВИЋ ЗОРА
+ЦВЕТКОВСКИ БОРИС
+ЦВЕТКОВСКИ ДРАГОЉУБ
+ЦВЕТКОВСКИ НИКОЛА
+ЦВЕТКОВСКИ ВОЈО
+ЦВЕТОЈЕВИЋ ЉИЉАНА
+ЦВЕТОЈЕВИЋ ЉИЉАНА
+ЦВЕТОЈЕВИЋ МИЛИСАВ
+ЦВЕТОЈЕВИЋ СЛАВКО
+ЦВИЈАН МАРИЈА
+ЦВИЈАН МАРКО
+ЦВИЈАНОВИЋ АНЂА
+ЦВИЈАНОВИЋ АНА
+ЦВИЈАНОВИЋ АНТО
+ЦВИЈАНОВИЋ БОШКО
+ЦВИЈАНОВИЋ БОРО
+ЦВИЈАНОВИЋ ДОБРИЦА
+ЦВИЈАНОВИЋ ДРАГАН
+ЦВИЈАНОВИЋ ДРАГУТИН
+ЦВИЈАНОВИЋ ДУШАНКА
+ЦВИЈАНОВИЋ ИЛИЈА
+ЦВИЈАНОВИЋ МИЛАН
+ЦВИЈАНОВИЋ МИЛАН
+ЦВИЈАНОВИЋ МИЛАН
+ЦВИЈАНОВИЋ МИЛЕВА
+ЦВИЈАНОВИЋ МИРОСЛАВ
+ЦВИЈАНОВИЋ МОМИР
+ЦВИЈАНОВИЋ ПЕТАР
+ЦВИЈАНОВИЋ РАДЕ
+ЦВИЈАНОВИЋ РАНКО
+ЦВИЈАНОВИЋ САВА
+ЦВИЈАНОВИЋ СЛАВКО
+ЦВИЈАНОВИЋ СНЕЖАНА
+ЦВИЈАНОВИЋ ВОЈИСЛАВ
+ЦВИЈАНОВИЋ ЗЛАТА
+ЦВИЈЕТАН МИРКО
+ЦВИЈЕТИЧАНИН ЈОВО
+ЦВИЈЕТИЋ ИГОР
+ЦВИЈЕТИЋ ЈОВО
+ЦВИЈЕТИЋ МИЛЕ
+ЦВИЈЕТИЋ НАДА
+ЦВИЈЕТИНОВИЋ РУЖА
+ЦВИЈЕТИНОВИЋ РУЖИЦА
+ЦВИЈЕТИНОВИЋ СИНИША
+ЦВИЈИЋ ЖЕЉКО
+ЦВИЈИЋ ДРАГАН
+ЦВИЈИЋ ГОРАН
+ЦВИЈИЋ ЈЕЛИСАВА
+ЦВИЈИЋ ЈОВАНКА
+ЦВИЈИЋ МИЛЕНКО
+ЦВИЈИЋ МИОДРАГ
+ЦВИЈИЋ МЛАЂА
+ЦВИЈИЋ НИКОЛА
+ЦВИЈИЋ ПАНТЕ
+ЦВИЈИЋ РУЖИЦА
+ЦВИЈИЋ СТЕВАН
+ЦВИЈИН БРАНКО
+ЦВИЈОВИЋ МИЛЕНКО
+ЦВИЈОВИЋ МИЛИВОЈЕ
+ЦВИЈОВИЋ НЕЂЕЉКА
+ЦВИЈОВИЋ РАДОСАВ
+ЦВИЈОВИЋ ВОЈИН
+ЦВИКИЋ МИХАИЛО
+ЦВИНГ ЈОСИП
+ЦВИТАНОВИЋ СНЕЖАНА
+ЦВИТКО ПЕТАР
+ЦВИТКОВАЦ МАРКО
+ЦВЈЕТАН ОЛГА
+ЦВЈЕТИЋ ИЛИЈА
+ЦВЈЕТИЋАНИН ЖИВКО
+ЦВЈЕТИЋАНИН ГОЈКО
+ЦВЈЕТИЋАНИН СТЕВО
+ЦВЈЕТКОВИЋ МИОДРАГ
+ЦВЈЕТКОВИЋ НЕБОЈША
+ЦВЈЕТОЈЕВИЋ ЧЕДОМИР
+ЦВОРОВИЋ РАДОШ
+ЦВРКАЉ ЂУРО
+ЏАБАСАН ДРАГОЈЕ
+ЏАБИЋ МИЛКА
+ЏАЏИЋ ВУКОСАВА
+ЏАФЕРОВСКИ РЕЂЕП
+ЏАФИЋ ХАМДИЈА
+ЏАФО МАТИЈА
+ЏАЈА МАРИЦА
+ЏАКИЋ ЧЕДО
+ЏАКИЋ БОЖАНА
+ЏАКИЋ ЛАЗА
+ЏАКОВИЋ ДРАГАН
+ЏАКУЛА ЕРЖЕБЕТ
+ЏАКУЛА ЕРЖЕБЕТ
+ЏАКУЛА ИВАН
+ЏАКУЛА МАРИЦА
+ЏАКУЛА НЕДЕЉКО
+ЏАКУЛА ПЕТАР
+ЏАКУЛА РАДЕ
+ЏАКУЛА ВИДОСАВ
+ЏАКУЛИН ДУШАНКА
+ЏАКУЛИН ПЕТАР
+ЏАКУЛИН СТЕВАН
+ЏАЛИЋ СТОЈАН
+ЏАМБАРСКИ ЈОВАН
+ЏАМБАС ДУШАН ДР ЛЕКАР
+ЏАМБАС МИЛЕ
+ЏАМБАСОВИЋ МИЛЕНКО
+ЏАМБИЋ БРАНКО
+ЏАМБИЋ МИЛОВАН
+ЏАМБИЋ РАДОВАН
+ЏАМБИЋ СЛАВКО
+ЏАМБИЋ СРЕТА
+ЏАНИЋ САВА
+ЏАНИЋ СТАЗА
+ЏАРИЋ ДОБРИНКА
+ЏАРИЋ РАДОМИР
+ЏЕЛЕТОВИЋ МИЛАДИН
+ЏЕЛЕТОВИЋ МИЛАН
+ЏЕЛЕТОВИЋ МЛАДЕН
+ЏЕЛЕТОВИЋ РАДОЈКА
+ЏЕЛЕТОВИЋ СЛОБОДАН
+ЏЕЛЕТОВИЋ ТОМО
+ЏЕЛИЛОВИЋ ЈАНА
+ЏЕПИНА ЈОВАН
+ЏЕВЕЛЕКИДИС МАРИНА
+ЏЕВЕЛЕКИДИС ПАНТА
+ЏЕВЕР НЕДЕЉКО
+ЏЕВЕРДАНОВИЋ АНИТА
+ЏЕВЕРДАНОВИЋ ЛАЗАР
+ЏЕВЕРДАНОВИЋ НАСТО
+ЏЕВЕРДАНОВИЋ ВЕЛИЗАР
+ДЖИДА КАТИЦА
+ЏИДА КАТИЦА
+ЏИДА МИЛАДИН
+ЏИДА МИЛОМИР
+ЏИГУРАШ МИЛЕНКО
+ЏИГУРСКИ БОРИВОЈ
+ЏИГУРСКИ БРАНИМИР
+ЏИГУРСКИ БРАНКО
+ЏИГУРСКИ ДАНИЛО
+ЏИГУРСКИ ДУШКО
+ЏИГУРСКИ ЉИЉАНА
+ЏИГУРСКИ ЉИЉАНА
+ЏИГУРСКИ МАРИЈА
+ЏИГУРСКИ МАРИЈА
+ЏИГУРСКИ МИЛАН
+ЏИГУРСКИ МИЛЕНКО
+ЏИГУРСКИ ПЕТАР
+ЏИГУРСКИ ПРЕДРАГ
+ЏИКИЋ МИЛАН
+ЏИЛИТОВ АЛЕКСАНДАР
+ЏИЛИТОВ КАТИЦА
+ЏИЛИТОВ СТЕВАН
+ЏИЛИТОВ СТЕВА
+ЏИЛИТОВ ВЕЛИНКА
+ЏИЛВИЏИЈЕВ МИТКО
+ЏИН МИРКО
+ЏИНИЋ МИРОСЛАВ ДР
+ЏИНИЋ МИРОСЛАВ
+ЏИНОВИЋ ВЕСЕЛИН
+ЏИРИЋ РУЖИЦА
+ЏОЏО РИСТО
+ЏОДАН ДРАГА
+ЏОДАН МИРЈАНА
+ЏОДАН НИКОЛА
+ЏОДАН ВЕРА
+ЏОГАНОВИЋ МИЛОРАД
+ЏОГОВИЋ ЖИВАН
+ЏОГОВИЋ МИЛУН
+ЏОЛЕВ АСЕН ДР СТОМАТОЛОГ
+ЏОЛЕВ АСЕН
+ЏОЛЕВ АСЕН
+ЏОЛЕВ МИТКО
+ЏОЛЕВ ПАНДЕ
+ЏОЛИЋ ГОРДАНА
+ЏОЛИЋ ТОМИСЛАВ
+ЏОМБА ЖИВКО
+ЏОМБЕТА КОСТА
+ЏОМБЕТА МИЛОШ
+ЏОМБЕТА НИКОЛА
+ЏОМБЕТА СВЕТОЗАР
+ЏОМБЕТА ВЛАДО
+ЏОМБИЋ ДУШАН
+ЏОМБИЋ МИЉА
+ЏОМБИЋ СОКА
+ЏОНЛЕЗ ПИРОШКА
+ЏОПАЛИЋ ДРАГАН
+ЏУЏАР ЂУРА
+ЏУЏАР ЈОАКИМ
+ЏУЏАР СЛАВКО
+ЏУДОВИЋ СМИЉКА
+ЏУДОВИЋ ВАСО
+ЏУКЛЕВСКИ САША
+ЏУКЉЕВ ДРАГАН
+ЏУКЉЕВ СТОЈАН
+ЏУНИЋ ЖИВОРАД
+ЏУНИЋ МИЛИВОЈЕ
+ЏУНИЋ МИРЈАНА
+ЏУНИЋ РАДОМИР
+ЏУЊА АМАЛИЈА
+ЏУЊА ЕВГЕНИЈЕ
+ЏУЊА ГОРДАНА
+ЏУЊА ИРЕНА
+ЏУЊА ИВАН
+ЏУЊА ЈАКИМ
+ЏУЊА ЈАНКО
+ЏУЊА ЈЕЛЕНА
+ЏУЊА ЉУБОМИР
+ЏУЊА МИРОН
+ЏУЊА ВЛАДИМИР
+ЏУЊА ЗВОНИМИР
+ЏУВЕР ВЕСЕЛИНКА
+ЏУВЕР ВОЈИСЛАВ
+ЏУВЕРОВИЋ ИВАНКА
+ДАЧЕВИЋ МИЛАН
+ДАЧЕВИЋ МОМИР
+ДАЧИЋ ДУШАН
+ДАЧИЋ КРИСТИНА
+ДАЧИЋ ЉУБОМИР
+ДАЧИЋ МИША
+ДАЧИЋ МИЛАН ПРОФЕСОР
+ДАЧИЋ МИЛАН
+ДАЧИЋ МИЛИЦА
+ДАЧИЋ НАДЕЖДА
+ДАЧИЋ РАДМИЛА
+ДАЧИЋ ВЕЛИНКА
+ДАЧИЋ ВЛАСТИМИР
+ДАШИЋ-ГУЛД ЉИЉАНА
+ДАШИЋ МАРИЈА
+ДАШИЋ МИЛЕНКО
+ДАШИЋ РАДУЛЕ
+ДАШИЋ ВЛАДО
+ДАЖЂУ НИСТОР
+ДАБАНОВИЋ ДАНИЦА
+ДАБАНОВИЋ ВАСИЛИЈЕ
+ДАБЕРЕР АНТОНИЈА
+ДАБЕТИЋ РАДИСАВ
+ДАБЕТИЋ РАДОМИР
+ДАБИЋ ЧЕДОМИР ДИПЛ ОЕЦ
+ДАБИЋ ЂОРЂЕ
+ДАБИЋ АЛЕКСАНДАР
+ДАБИЋ БОРКО
+ДАБИЋ ГОСПАВА
+ДАБИЋ ЈОВАН
+ДАБИЋ ЈОВАН
+ДАБИЋ МАРИЈА
+ДАБИЋ МАРКО
+ДАБИЋ МИЛАН
+ДАБИЋ МИЛОШ
+ДАБИЋ МИЛОРАД
+ДАБИЋ МИЛУТИН
+ДАБИЋ МИОДРАГ
+ДАБИЋ НЕДЕЉКО
+ДАБИЋ НЕНАД
+ДАБИЋ НЕНАД
+ДАБИЋ НЕНАД
+ДАБИЋ РАДОМИР
+ДАБИЋ СЛАВКО
+ДАБИЋ СТЕВАН
+ДАБИЋ СВЕТА
+ДАБИЋ ВОЈИСЛАВ
+ДАБИН ЂОРЂЕ
+ДАБОВИЋ БОГДАН
+ДАБОВИЋ БРАНКО
+ДАЦИН ЖЕЉКО
+ДАДАИ ЂУЛА
+ДАДАИ БАРБАРА
+ДАДАИ ЛАДИСЛАВ
+ДАДАИ ЛАДИСЛАВ
+ДАДАИ ЛАСЛО
+ДАДАИ СТЕВАН
+ДАДИЋ БРАНИСЛАВ
+ДАДИЋ ЉУБИЦА
+ДАИЋ ЛУКА
+ДАИЋ МИЛАН
+ДАЈЧ МИХАЈЛО
+ДАЈЧ НАДА
+ДАЈЧ РУБЕН
+ДАЈЧ ЗОРИЦА
+ДАЈИЋ БРАНКО
+ДАЈИЋ ДРАГИЦА
+ДАЈИЋ ДУШАН
+ДАЈИЋ ЉИЉАНА
+ДАЈИЋ ВЕЛИМИР
+ДАЈКО ВЛАДИМИР
+ДАЈКО ВЛАДИМИР
+ДАЈОВИЋ ЗОРА
+ДАКИЋ ЂОРЂЕ
+ДАКИЋ АНТЕ
+ДАКИЋ БОЈАНА
+ДАКИЋ БОРИС
+ДАКИЋ БОРКА
+ДАКИЋ БРАНКА
+ДАКИЋ ДАНЕ
+ДАКИЋ ДАНИЛО
+ДАКИЋ ДРАГО
+ДАКИЋ ДРАГО
+ДАКИЋ ДУШАНКА
+ДАКИЋ ГОЈКО
+ДАКИЋ ИЛИЈА
+ДАКИЋ ЈЕЛЕНА
+ДАКИЋ КСЕНИЈА
+ДАКИЋ МИЛАН
+ДАКИЋ МИЛОЈЕ
+ДАКИЋ МИЛОМИР
+ДАКИЋ МИТАР
+ДАКИЋ НЕБОЈША
+ДАКИЋ НЕДЕЉКО
+ДАКИЋ НЕДЕЉКО
+ДАКИЋ НИКОЛА
+ДАКИЋ НИКОЛА
+ДАКИЋ ПАВЛЕ
+ДАКИЋ ПЕТАР
+ДАКИЋ РАЈКО
+ДАКИЋ РАНКО
+ДАКИЋ РАТКО
+ДАКИЋ РЕЉА
+ДАКИЋ СЛАВИЦА
+ДАКИЋ СЛАВКО
+ДАКИЋ СЛОБОДАН
+ДАКИЋ СРЕТЕН
+ДАКИЋ СВЕТОЗАР
+ДАКИЋ ВЛАДИМИР ДР
+ДАКИЋ ВЛАДИМИР ДР
+ДАКИЋ ВЛАДИМИР
+ДАКИЋ ВЛАДИМИР
+ДАКИЋ ВЛАДО
+ДАКИЋ ЗОРАН
+ДАКОВИЋ ЂОКО
+ДАКОВИЋ БРАНКО
+ДАКОВИЋ ВЕСЕЛИН
+ДАКОВИЋ ЗОРАН
+ДАКСЕР ЈОВАН
+ДАКСЕР СТЕВАН
+ДАЛЧЕКОВИЋ ИЛИЈА
+ДАЛИПОВ БУДИМИР
+ДАЛИПОВИЋ АБДУЛ
+ДАЉАЦ ЉУБИЦА
+ДАЉЕВ ЉИЉАНА
+ДАЉЕВ МИЛАН
+ДАЛМАЦИЈА ЈАДРАНКА
+ДАЛМАЦИЈА МИРКО
+ДАЛОШ МАРИЈА
+ДАМШИЋ ЈОСИФ
+ДАМЈАН ЈЕЛИСАВЕТА
+ДАМЈАН ЈОН
+ДАМЈАНАЦ РАДМИЛА
+ДАМЈАНАЦ РАДОВАН
+ДАМЈАНАЦ СТОЈАНКА
+ДАМЈАНИЋ ЗОРИЦА
+ДАМЈАНОСКА СЛАВКА
+ДАМЈАНОВ ЖИКА
+ДАМЈАНОВ ЂОРЂЕ
+ДАМЈАНОВ БИЉАНА
+ДАМЈАНОВ БРАНКА
+ДАМЈАНОВ ЦВЕТКО
+ДАМЈАНОВ ДИМИТРИЈЕ
+ДАМЈАНОВ ДРАГОМИР
+ДАМЈАНОВ ИДА
+ДАМЈАНОВ ЈОРДАНКА
+ДАМЈАНОВ ЈОВАН
+ДАМЈАНОВ КАТИЦА
+ДАМЈАНОВ ЛАЗА
+ДАМЈАНОВ МИЛЕНКО
+ДАМЈАНОВ МИЛЕНКО
+ДАМЈАНОВ ПАВЛЕ
+ДАМЈАНОВ СОФИЈА
+ДАМЈАНОВ СТАНКО
+ДАМЈАНОВ СТЕВАН
+ДАМЈАНОВИЋ ЂОРЂЕ
+ДАМЈАНОВИЋ АЛЕКСАНДАР
+ДАМЈАНОВИЋ АРСЕНИЈЕ
+ДАМЈАНОВИЋ БОШКО
+ДАМЈАНОВИЋ БОРИСЛАВ
+ДАМЈАНОВИЋ ДАРИНКА
+ДАМЈАНОВИЋ ДРАГИЦА
+ДАМЈАНОВИЋ ДРАГОСЛАВ
+ДАМЈАНОВИЋ ДРАГО
+ДАМЈАНОВИЋ ДРАГУТИН
+ДАМЈАНОВИЋ ДУШАН
+ДАМЈАНОВИЋ ДУШАН
+ДАМЈАНОВИЋ ДУШИЦА
+ДАМЈАНОВИЋ ДУШКО
+ДАМЈАНОВИЋ ЕМИЛ
+ДАМЈАНОВИЋ ГОРДАНА
+ДАМЈАНОВИЋ ЈОВАН
+ДАМЈАНОВИЋ ЈОВАН
+ДАМЈАНОВИЋ ЈОВО
+ДАМЈАНОВИЋ ЉИЉАНА
+ДАМЈАНОВИЋ ЉУБИША
+ДАМЈАНОВИЋ ЉУБИЦА
+ДАМЈАНОВИЋ МАРИЈА
+ДАМЈАНОВИЋ МИЛАН
+ДАМЈАНОВИЋ МИЛАН
+ДАМЈАНОВИЋ-МИЛЕНКОВИЋ ЈЕЛЕНА
+ДАМЈАНОВИЋ МИОДРАГ
+ДАМЈАНОВИЋ НОВО
+ДАМЈАНОВИЋ ОБРАД
+ДАМЈАНОВИЋ ПЕТАР
+ДАМЈАНОВИЋ РАДЕ
+ДАМЈАНОВИЋ РАДОВАН
+ДАМЈАНОВИЋ РАНКО
+ДАМЈАНОВИЋ РАТКО
+ДАМЈАНОВИЋ СИМО
+ДАМЈАНОВИЋ СИНИША
+ДАМЈАНОВИЋ СЛАВКО
+ДАМЈАНОВИЋ СЛОБОДАНКА
+ДАМЈАНОВИЋ СНЕЖАНА
+ДАМЈАНОВИЋ СТАНИСЛАВ
+ДАМЈАНОВИЋ СТЕВАН
+ДАМЈАНОВИЋ СТЕВАН
+ДАМЈАНОВИЋ СТЕВО
+ДАМЈАНОВИЋ ТЕРЕЗА
+ДАМЈАНОВИЋ ТОДОР
+ДАМЈАНОВИЋ ТОМИСЛАВ
+ДАМЈАНОВИЋ ВАСИЛИЈЕ ДР
+ДАМЈАНОВИЋ ВАСИЛИЈЕ
+ДАМЈАНОВИЋ ВАСИЛИЈЕ
+ДАМЈАНОВИЋ ВОЈИСЛАВ
+ДАМЈАНОВИЋ ЗОРАН
+ДАМЈАНОВСКИ ЖИВКО
+ДАМЈАНОВСКИ АЛЕКСАНДАР
+ДАМЈАНОВСКИ АЛЕКСАНДАР
+ДАМЈАНОВСКИ МИЛАН
+ДАМЈАНОВСКИ РУЖИЦА
+ДАМЈАНОВСКИ ВЛАДИМИР
+ДАМЉАНОВИЋ ЖИВОТА
+ДАМЊАНОВИЋ АЛЕКСАНДАР
+ДАМЊАНОВИЋ КРИСТИНА
+ДАМЊАНОВИЋ ЛАЗАР
+ДАМЊАНОВИЋ ЉИЉАНА
+ДАМЊАНОВИЋ СЛАВОЉУБ
+ДАМЊАНОВИЋ ЗОРАН
+ДАМЊАНОВИЋ ЗОРАН
+ДАН МИРА
+ДАНЧ ТИБОР
+ДАНЧЕТОВИЋ ЗОРИЦА
+ДАНЧО ЧАБА
+ДАНЧО ЈЕНЕ
+ДАНАИЛОВ АЦА
+ДАНАИЛОВ ТЕВА
+ДАНГУБИЋ ЖАРКО
+ДАНГУБИЋ РАДИВОЈЕ ДИПЛ ИНГ
+ДАНГУБИЋ РАТКО
+ДАНГУЗОВ ДУШАН
+ДАНИ ГАШПАР
+ДАНИ ЛАСЛО
+ДАНИЧИЋ БОРО
+ДАНИЧИЋ БРАНИСЛАВ
+ДАНИЧИЋ ДРАГОЉУБ
+ДАНИЧИЋ ДРАГО
+ДАНИЧИЋ ИРЕНА
+ДАНИЧИЋ САВИЦА
+ДАНИЧИЋ ЗДРАВКО
+ДАНИШ ЕВА
+ДАНИШ ИШТВАН
+ДАНИШ МАРИЈА
+ДАНИЋ ПЕТАР ДИПЛ ИНГ
+ДАНИЋ ВЕСНА
+ДАНИЋ ЗОРИЦА
+ДАНИЕЛ АНДРИЈА
+ДАНИЕЛ АРАНКА
+ДАНИЕЛ ХИЛДА
+ДАНИЕЛ ЈОСИП
+ДАНИЕЛ ПЕТАР
+ДАНИЕЛ ПИРОШКА
+ДАНИЕЛ РУЖА
+ДАНИКОВ МИРОЉУБ
+ДАНИКОВ ВАЛЕРИЈА
+ДАНИЛОВ АНИЦА
+ДАНИЛОВ БОСИЉКА
+ДАНИЛОВ ДУШАН
+ДАНИЛОВ МИЛАН
+ДАНИЛОВ РАДОМИР
+ДАНИЛОВ СМИЉАНА
+ДАНИЛОВ СТОЈАН
+ДАНИЛОВ ВАСА
+ДАНИЛОВАЦ ДИМИТРИЈЕ
+ДАНИЛОВАЦ ПЕТАР
+ДАНИЛОВАЦ РУЖА
+ДАНИЛОВАЦ ВИТОМИР
+ДАНИЛОВИЋ ЖИВАН
+ДАНИЛОВИЋ ЖИВОРАД
+ДАНИЛОВИЋ АЛЕКСАНДАР
+ДАНИЛОВИЋ БРАНКО
+ДАНИЛОВИЋ ЈОВАН
+ДАНИЛОВИЋ КАТАРИНА
+ДАНИЛОВИЋ ЉИЉАНА
+ДАНИЛОВИЋ МАРКО
+ДАНИЛОВИЋ МИЛАН
+ДАНИЛОВИЋ МИРКО ДР
+ДАНИЛОВИЋ НИКОЛА
+ДАНИЛОВИЋ НИКОЛА
+ДАНИЛОВИЋ ПЕРСА
+ДАНИЛОВИЋ РАДА
+ДАНИЛОВИЋ РАДМИЛА
+ДАНИЛОВИЋ СТАНИСЛАВА
+ДАНИЛОВИЋ СТЕВАН
+ДАНИЛОВИЋ ТИХОМИР
+ДАНИЛОВИЋ-ВЕСЕЛИНОВ ВЕРА
+ДАНИЛОВИЋ ЗДРАВКО
+ДАЊИ ФЕРЕНЦ
+ДАЊИ ГЕЗА
+ДАЊИ КАРОЉ
+ДАЊИ ЛАСЛО
+ДАЊИ МАЋАШ
+ДАНКА МАРКО
+ДАНКА ЗЛАТА
+ДАНКО ЈАНКО
+ДАНКО ЈАРОСЛАВ
+ДАНКОВИЋ БОГОЉУБ
+ДАНКОВИЋ СЛАВИША
+ДАНКОВИЋ СЛАВКА
+ДАНКУЦ ДРАГАН
+ДАНКУЦ МИЛИЦА
+ДАНКУЦ ВОЈИСЛАВ
+ДАНКУЦ ВОЈИСЛАВ
+ДАНОЈЕВИЋ СТЕВАН
+ДАПЧЕВИЋ ДУШАН
+ДАПЧЕВИЋ ЈОВАН
+ДАПЧЕВИЋ ЉУБИЦА
+ДАПЧЕВИЋ ПАВЛЕ
+ДАПЧЕВИЋ РАЈКО
+ДАПЧЕВИЋ РУЖИЦА
+ДАПЧЕВИЋ ВЕРИЦА
+ДАРАШ ЖЕЉКО
+ДАРАЖ ЈУЛИЈАНА
+ДАРАЖ СТЕВАН
+ДАРАБАЊ ЈОЖЕФ
+ДАРАБОШ ЈУЛКА
+ДАРАБОШ ЛАДИСЛАВ
+ДАРАБОШ МАРИЈА
+ДАРАБОШ ПЕТАР
+ДАРАБУЦ НЕДЕЉКО
+ДАРАДИЋ СТЕВАН
+ДАРМАНОВИЋ МИЛАН
+ДАРМАНОВИЋ СТАНКО
+ДАРМАНОВИЋ ТОМИСЛАВ
+ДАРОЈЕВИЋ ЛАЗАР
+ДАРВИШ ЗОРИЦА
+ДАСОВИЋ СТОЈАНКА
+ДАСОВИЋ ЗЛАТА
+ДАУТОВА-РУШЕВЉАН ВЕЛИНКА ДР
+ДАУТОВИЋ ЂОРЂЕ
+ДАУТОВИЋ БОГДАН
+ДАУТОВИЋ ЏЕМАЛ
+ДАУТОВИЋ ДРАГАН
+ДАУТОВИЋ МИЛАН
+ДАУТОВИЋ МИЛАН
+ДАВИЋ БРАНИСЛАВ
+ДАВИД АНДРАШ
+ДАВИД ИЛОНА
+ДАВИДОВ ЂУРЂИНА
+ДАВИДОВ БОГДАН
+ДАВИДОВ БУДИМКА
+ДАВИДОВ ЈЕЛИЦА
+ДАВИДОВ ЈОВАН
+ДАВИДОВ ЉУБОМИР
+ДАВИДОВ МИЛАН
+ДАВИДОВ МИЛАН
+ДАВИДОВ МИЛИЋ
+ДАВИДОВ МИЛИВОЈ
+ДАВИДОВ МИЛКА
+ДАВИДОВ НЕГОВАН
+ДАВИДОВ РАДОСЛАВ
+ДАВИДОВ РАДОВАН
+ДАВИДОВ СЛАВКО
+ДАВИДОВ СТОЈАН
+ДАВИДОВ ТИХОМИР
+ДАВИДОВАЦ ЂОРЂЕ
+ДАВИДОВАЦ БОШКО
+ДАВИДОВАЦ ДАНИЛО
+ДАВИДОВАЦ ДУШАНКА
+ДАВИДОВАЦ ЕЛВИРА
+ДАВИДОВАЦ ГАВРА
+ДАВИДОВАЦ ГОЈКО
+ДАВИДОВАЦ ЉУБИЦА
+ДАВИДОВАЦ МИРОСЛАВ
+ДАВИДОВАЦ РАДИВОЈ
+ДАВИДОВАЦ РАДИВОЈ
+ДАВИДОВАЦ РАДИВОЈ
+ДАВИДОВАЦ РАДИВОЈ
+ДАВИДОВАЦ РАДМИЛА
+ДАВИДОВАЦ СТЕВАН
+ДАВИДОВАЦ ТОДОР
+ДАВИДОВАЦ ВЕРИЦА
+ДАВИДОВАЦ ВЕСЕЛИНКА
+ДАВИДОВАЦ ЗДРАВКО
+ДАВИДОВИЋ ЧАСЛАВ
+ДАВИДОВИЋ ДАВОР
+ДАВИДОВИЋ ДРАГАН
+ДАВИДОВИЋ ДРАГИЦА
+ДАВИДОВИЋ ДУШАНКА
+ДАВИДОВИЋ ДУШКО
+ДАВИДОВИЋ ГОРАН
+ДАВИДОВИЋ ЈОВАН
+ДАВИДОВИЋ ЈОВО
+ДАВИДОВИЋ ЉИЉАНА
+ДАВИДОВИЋ МАРИЈА
+ДАВИДОВИЋ МАРИЈА
+ДАВИДОВИЋ МАРЈАН
+ДАВИДОВИЋ МИХАИЛО
+ДАВИДОВИЋ МИЛАН
+ДАВИДОВИЋ МИЛАН
+ДАВИДОВИЋ МИЛАН
+ДАВИДОВИЋ МИЛАН
+ДАВИДОВИЋ МИЛАН
+ДАВИДОВИЋ МИЛАН
+ДАВИДОВИЋ МИЛА
+ДАВИДОВИЋ МИЛОШ
+ДАВИДОВИЋ МИЛОШ
+ДАВИДОВИЋ МИЛОВАН
+ДАВИДОВИЋ МИЛУТИН
+ДАВИДОВИЋ МИРКО
+ДАВИДОВИЋ МИРОСЛАВ
+ДАВИДОВИЋ МИРОСЛАВ
+ДАВИДОВИЋ МЛАДЕН
+ДАВИДОВИЋ НЕБОЈША
+ДАВИДОВИЋ НЕНАД
+ДАВИДОВИЋ ОЛГА
+ДАВИДОВИЋ ПЕРА
+ДАВИДОВИЋ ПЕТАР
+ДАВИДОВИЋ ПЕТАР
+ДАВИДОВИЋ ПЕТАР
+ДАВИДОВИЋ РАДЕ ДР
+ДАВИДОВИЋ РАДЕ
+ДАВИДОВИЋ РАДОЈЕ
+ДАВИДОВИЋ РАДОМИР
+ДАВИДОВИЋ САВА
+ДАВИДОВИЋ СЛАВКО
+ДАВИДОВИЋ СРЕТА
+ДАВИДОВИЋ СТАНКО
+ДАВИДОВИЋ СТЕВАН
+ДАВИДОВИЋ УРОШ
+ДАВИДОВИЋ ВАСА
+ДАВИДОВИЋ ВИТОМИР
+ДАВИДОВИЋ ВЛАДИМИР
+ДАВИДОВИЋ ВОЈИСЛАВ
+ДАВИДОВИЋ ЗОРА
+ДАВИДОВСКИ МАРА
+ДАВИНИЋ СТОЈАН
+ДАВОГИЋ ТЕОДОР
+ДАВОСИР ИВАН
+ДАВОСИР МАКСИМ
+ДАВОСИР ТЕОДОР
+ДАВОСИР ВЛАДИМИР
+ДЕ-ВРИЕС ИВАНКА
+ДЕШИ ЗОЛТАН
+ДЕШИЋ МАРА
+ДЕШО ЖИВАНКА
+ДЕЖЕ ЈОВАН
+ДЕЖЕ КАРЛО
+ДЕЖЕ ЗДЕНКА
+ДЕЖЕЛИЋ ЈОВАНКА
+ДЕЂАНСКИ ЂОРЂЕ
+ДЕЂАНСКИ ДУШАН
+ДЕЂАНСКИ ПЕТАР
+ДЕАК ЖАРКО
+ДЕАК АНДРАШ
+ДЕАК АНДРИЈАНА
+ДЕАК АНДРИЈА
+ДЕАК АРАНКА
+ДЕАК ФЕРЕНЦ
+ДЕАК ИЛЕШ
+ДЕАК ЛАУРА
+ДЕАК МАТИЛДА
+ДЕАН НЕВЕНКА
+ДЕАРОСКИ ФЕХИМ
+ДЕАРОВИЋ САЛИМ
+ДЕБЕЉАЧКИ ЖИВОЈИН
+ДЕБЕЉАЧКИ ЂОРЂЕ
+ДЕБЕЉАЧКИ АЛЕКСАНДАР
+ДЕБЕЉАЧКИ АЛЕКСАНДАР
+ДЕБЕЉАЧКИ БОСИЉКА
+ДЕБЕЉАЧКИ ДРАГОМИР
+ДЕБЕЉАЧКИ ИВАН
+ДЕБЕЉАЧКИ ИВАН
+ДЕБЕЉАЧКИ КАТИЦА
+ДЕБЕЉАЧКИ ЉУБИЦА
+ДЕБЕЉАЧКИ МИРЈАНА
+ДЕБЕЉАЧКИ МИРОСЛАВ
+ДЕБЕЉАЧКИ НАДА
+ДЕБЕЉАЧКИ СРЂА
+ДЕБЕЉАЧКИ СВЕТОЗАР
+ДЕБЕЉАЧКИ ВЕРА
+ДЕБЕЉАЧКИ ВУКОСАВА
+ДЕБЕЉЕВИЋ ВЕЛИМИР
+ДЕЦ АНИЦА
+ДЕДАЈ ДАВИД
+ДЕДАЈ ЛЕКО
+ДЕДЕИ ИЛОНА
+ДЕДЕИЋ ЕЛИЗАБЕТА
+ДЕДИЋ БРАНИСЛАВ
+ДЕДИЋ ДОБРОСАВ
+ДЕДИЋ ДРАГАН
+ДЕДИЋ ДРАГОСЛАВ
+ДЕДИЋ ЕЛИЗАБЕТА
+ДЕДИЋ ГАВРИЛО
+ДЕДИЋ ЈОВО
+ДЕДИЋ КОВИНКА
+ДЕДИЋ МАРА
+ДЕДИЋ МАРИЈА
+ДЕДИЋ МИЛИВОЈ ДР ПРОФ
+ДЕДИЋ МИЛО
+ДЕДИЋ МИОДРАГ
+ДЕДИЋ НЕМАЊА
+ДЕДИЋ РАДИЦА
+ДЕДИЋ СЛАВКА
+ДЕДИЋ СТЕВАН
+ДЕДИЋ-ТАСИЋ МИРА
+ДЕДИН ДЕЈАН
+ДЕДИН ДИМИТРИЈЕ
+ДЕДИН ДИМИТРИЈЕ
+ДЕДИН ВАСИЛИЈЕ
+ДЕДИНСКИ ТИБОР
+ДЕДОВИЋ МИШО
+ДЕФРАНГЕПАН ФРАНСОА
+ДЕГА АВРАМ
+ДЕЈАНАЦ МИЛОРАД
+ДЕЈАНОСКИ МИЛАН
+ДЕЈАНОВ БЕРИСЛАВ
+ДЕЈАНОВ ДАНИЛО
+ДЕЈАНОВ ЈЕЛЕНА
+ДЕЈАНОВ МИТА
+ДЕЈАНОВ СИМА
+ДЕЈАНОВИЋ ЖАРКО
+ДЕЈАНОВИЋ ЖАРКО
+ДЕЈАНОВИЋ ЖИВАН
+ДЕЈАНОВИЋ ЖИВОЈИН
+ДЕЈАНОВИЋ ЂОРЂЕ
+ДЕЈАНОВИЋ ЂУРЂИНКА
+ДЕЈАНОВИЋ ЂУРИЦА
+ДЕЈАНОВИЋ АЛЕКСАНДАР
+ДЕЈАНОВИЋ АЛЕКСАНДРА
+ДЕЈАНОВИЋ АНЂЕЛИЈА
+ДЕЈАНОВИЋ АНКИЦА
+ДЕЈАНОВИЋ БОРИСЛАВА
+ДЕЈАНОВИЋ ДАНИЛО
+ДЕЈАНОВИЋ ДИМИТРИЈЕ
+ДЕЈАНОВИЋ ДОБРИВОЈЕ
+ДЕЈАНОВИЋ ДОБРИВОЈЕ
+ДЕЈАНОВИЋ ДРАГАН
+ДЕЈАНОВИЋ ДУШАН
+ДЕЈАНОВИЋ ДУШАН
+ДЕЈАНОВИЋ ДУШАН
+ДЕЈАНОВИЋ ИВАН
+ДЕЈАНОВИЋ ЈЕЛЕНА
+ДЕЈАНОВИЋ ЈЕЛИЦА
+ДЕЈАНОВИЋ ЈОРДАН
+ДЕЈАНОВИЋ ЈОВАН
+ДЕЈАНОВИЋ КАТИЦА
+ДЕЈАНОВИЋ ЛАЗАР
+ДЕЈАНОВИЋ ЛАЗАР
+ДЕЈАНОВИЋ МИЛАНА
+ДЕЈАНОВИЋ МИЛАН
+ДЕЈАНОВИЋ МИЛАН
+ДЕЈАНОВИЋ МИЛИЦА
+ДЕЈАНОВИЋ МИЛОШ
+ДЕЈАНОВИЋ МИЛОШ
+ДЕЈАНОВИЋ МИЛОРАД
+ДЕЈАНОВИЋ МИЛОРАД
+ДЕЈАНОВИЋ МИРЈАНА
+ДЕЈАНОВИЋ МИРОСЛАВ
+ДЕЈАНОВИЋ ПЕТАР
+ДЕЈАНОВИЋ ПЕТАР
+ДЕЈАНОВИЋ ПЕТАР
+ДЕЈАНОВИЋ РАДА
+ДЕЈАНОВИЋ СТЕВАН
+ДЕЈАНОВИЋ СТЕВАН
+ДЕЈАНОВИЋ ВОЈИСЛАВ
+ДЕЈАНОВСКИ МЛАДЕН
+ДЕЈАНОВСКИ ТОМИСЛАВ
+ДЕЈАНОВСКИ ВЕСЕЛИН
+ДЕКАНИЋ БРАНКО
+ДЕКАНИЋ ГЛИГОРИЈЕ
+ДЕКАНИЋ МИЛОШ
+ДЕКАНИЋ МИЛОШ
+ДЕКАНИЋ ВОЈИСЛАВ
+ДЕКАНИЋ ВОЈИСЛАВ
+ДЕКАЊ АНТАЛ
+ДЕКАНСКИ ДИНА
+ДЕКАНСКИ ПАВЛЕ
+ДЕКИЋ ДАНЕ
+ДЕЛАЧ ФРАНЦИШКА
+ДЕЛЕТИЋ ГОРДАНА
+ДЕЛИЋ ЂОРЂЕ
+ДЕЛИЋ БИЉАНА
+ДЕЛИЋ БОЖИДАР
+ДЕЛИЋ БОГДАН
+ДЕЛИЋ ДАРИНКА
+ДЕЛИЋ ДЕСИМИР
+ДЕЛИЋ ДРАГИЦА
+ДЕЛИЋ ДРАГИЦА
+ДЕЛИЋ ДРАГУТИН
+ДЕЛИЋ-ИБУКИЋ ЕСАД
+ДЕЛИЋ ИЛИЈА
+ДЕЛИЋ ЈАЊА
+ДЕЛИЋ ЈОВАН
+ДЕЛИЋ МАРА
+ДЕЛИЋ МИЋО ДР
+ДЕЛИЋ МИХАЈЛО
+ДЕЛИЋ МИЛАНА
+ДЕЛИЋ МИЛАН
+ДЕЛИЋ МИЛИЦА
+ДЕЛИЋ МИЛКА
+ДЕЛИЋ МИЛОШ
+ДЕЛИЋ МИЛОМИР
+ДЕЛИЋ МИЛОСАВА
+ДЕЛИЋ МУСТАФА
+ДЕЛИЋ ПАШКО
+ДЕЛИЋ ПЕТАР
+ДЕЛИЋ РАДМИЛА
+ДЕЛИЋ РАДОЈКА ДР
+ДЕЛИЋ РАДОМИР
+ДЕЛИЋ РАДОСАВ
+ДЕЛИЋ-СЛАВКОВИЋ ВЕРА
+ДЕЛИЋ СРЕТЕН
+ДЕЛИЋ СТОЈАН
+ДЕЛИЋ СВЕТОЗАР
+ДЕЛИЋ ТОМИСЛАВ
+ДЕЛИЋ ВАСА
+ДЕЛИЋ ВЕСЕЛКО
+ДЕЛИЋ ВЕСНА
+ДЕЛИЋ ВЛАДО
+ДЕЛИЋ ВЛАДО
+ДЕЛИЂОРЂЕВИЋ СТЕВАНКА
+ДЕЛИБАШИЋ ДЕЈАН ДИПЛ ИНГ
+ДЕЛИБАШИЋ ЉУБИША
+ДЕЛИБАШИЋ ЉУБИЦА
+ДЕЛИБАШИЋ МАРИЦА
+ДЕЛИБАШИЋ МИЛИВОЈЕ
+ДЕЛИБАШИЋ МИЛИВОЈЕ
+ДЕЛИБАШИЋ МИЛОРАД
+ДЕЛИБАШИЋ МИОДРАГ
+ДЕЛИБАШИЋ САВО
+ДЕЛИБАШИЋ СОФИЈА
+ДЕЛИБАШИЋ ТОМИСЛАВ
+ДЕЛИБЛАЋАНИН ЈОВАН
+ДЕЛКОВИЋ ЈОВИЦА
+ДЕЛОИК ДРАГУТИН
+ДЕЛОНГА СТАНКО
+ДЕЛОВ ОРДАНЧО
+ДЕМЧЕШЕН ВАСИЛИЈЕ
+ДЕМШАР ГОРДАНА
+ДЕМШАР-ВЕГЕР МАРИЈА
+ДЕМАК МИРОСЛАВ
+ДЕМАН ЈАНКО
+ДЕМАН РАСТИСЛАВ
+ДЕМБИЦ СМИЉАНА
+ДЕМЕ ЕМА
+ДЕМЕ ФРАНЦИШКА
+ДЕМЕ ИРЕНА
+ДЕМЕ КЛАРА
+ДЕМЕШИ АРПАД
+ДЕМЕЛИС ЉУБИЦА
+ДЕМЕНДИ БЕЛА
+ДЕМЕНДИ ДОРОТЕА
+ДЕМЕР БЕЛА
+ДЕМЕР ФРАНЦ
+ДЕМЕТЕР ФЕРЕНЦ
+ДЕМЕТЕР ФРАЊА
+ДЕМЕТЕР СТЕВАН
+ДЕМИЋ ЖИВОРАД
+ДЕМЈЕН БОРИСЛАВ
+ДЕМКО-РИХТЕР ЈОСИП
+ДЕМОВСКИ СЕВДИЈА
+ДЕМУТ РОЗАЛИЈА
+ДЕНЧИК ВЛАДИСЛАВ
+ДЕНДА ДРАГАН
+ДЕНДА МИЛИВОЈ
+ДЕНДИЋ СРЕТИМИР
+ДЕНЕШИ ВИЛИМ
+ДЕНГОРИЦИЈА СТЈЕПАН
+ДЕНИЋ ЧЕДОМИР
+ДЕНИЋ ЖИВОТА
+ДЕНИЋ ЉУБИША
+ДЕНИЋ МОМЧИЛО ДИПЛ ИНГ
+ДЕНИЋ РАДИЦА
+ДЕНИЋ СИНИША
+ДЕНИЋ ЗУЗАНА
+ДЕНКОВИЋ ЉУБОМИР
+ДЕНКОВСКИ ЈАНЕ
+ДЕПЧЕЊСКИ СТЕФАН
+ДЕР ФРАЊА
+ДЕР ЈОЖЕФ
+ДЕР ЛАЈОШ
+ДЕР СТЕВАН
+ДЕРАЈИЋ СТОЈА
+ДЕРБАКОВ МАРКО
+ДЕРБОГОСИЈАН БРАНКО
+ДЕРДИЋ РУДОЛФ
+ДЕРЕХ СИМЕОН
+ДЕРЕТА МИЛАН
+ДЕРЕТА ПЕТАР
+ДЕРЕТА СВЕТОЗАР
+ДЕРЕТИЋ СВЕТОЗАР
+ДЕРИКРАВА МИЦА
+ДЕРМЕНЂИЈЕВСКИ ДИМИТАР
+ДЕРОЊИЋ ТОДОР
+ДЕРУШЕК МИЉЕНКО
+ДЕРВИШЕВИЋ ЈУСУФ
+ДЕРВИШЕВИЋ НЕЏИБ
+ДЕРВИШЕВИЋ СЛАВКО
+ДЕРВИШИ МИСИН
+ДЕРВИШИ РАМАДАН
+ДЕРВИШИ РУШИТ
+ДЕРВИЋ ШЕФКА
+ДЕСНИЦА ЂОРЂЕ
+ДЕСНИЦА ЂУРО МР
+ДЕСНИЦА БОГДАН
+ДЕСНИЦА БРАНКО
+ДЕСНИЦА ЈАНКО
+ДЕСНИЦА ЛУКА
+ДЕСНИЦА НИКОЛА
+ДЕСНИЦА РАДОМИР ДИПЛ ИНГ
+ДЕСНИЦА РАДОМИР
+ДЕСНИЦА РЕЉА
+ДЕСНИЦА СМИЉКА
+ДЕСНИЦА СТАНА
+ДЕСПЕНИЋ АЛЕКСАНДАР
+ДЕСПИ ЈОВА
+ДЕСПИ ВЕЉКО
+ДЕСПИЋ ЛАЗАР
+ДЕСПИЋ МАРКО
+ДЕСПИЋ МИРЈАНА
+ДЕСПИЋ СРЕТЕН
+ДЕСПИЋ ЗОРАН
+ДЕСПОТ ДУШАН
+ДЕСПОТ МИЛАН
+ДЕСПОТ МИЛИЦА
+ДЕСПОТ МИРЈАНА
+ДЕСПОТ НАДА
+ДЕСПОТ НЕНАД
+ДЕСПОТ СЛОБОДАН
+ДЕСПОТОВ АЛЕКСАНДАР
+ДЕСПОТОВ ДОБРИЛА
+ДЕСПОТОВ ЕВДОКИЈА
+ДЕСПОТОВ ИЛИЈА
+ДЕСПОТОВ ЈОЦА
+ДЕСПОТОВ ЉУБИНКА
+ДЕСПОТОВ МИЛАН
+ДЕСПОТОВ МИЛОВАН
+ДЕСПОТОВ РАДМИЛА
+ДЕСПОТОВ РУЖИЦА
+ДЕСПОТОВ ВИЛМА
+ДЕСПОТОВ ВИТОМИРКА
+ДЕСПОТОВ ВОЈИСЛАВ
+ДЕСПОТОВ ЗОРАН
+ДЕСПОТОВИЋ БИЉАНА
+ДЕСПОТОВИЋ ДРАГУТИН
+ДЕСПОТОВИЋ ЉИЉАНА
+ДЕСПОТОВИЋ ПАНТЕЛИЈА
+ДЕСПОТОВИЋ РАДИСЛАВ
+ДЕСПОТОВИЋ РАДИСЛАВ
+ДЕСПОТОВИЋ РАДИВОЈЕ
+ДЕСПОТОВИЋ РАДИВОЈЕ
+ДЕСПОТОВИЋ РАДМИЛА
+ДЕСПОТОВИЋ РАТКО
+ДЕСПОТОВИЋ СИМКА
+ДЕСПОТОВИЋ СТАНКО
+ДЕСПОТОВИЋ ВАСО
+ДЕСПОТОВИЋ ВОЈИСЛАВ
+ДЕСПОТОВСКИ ДУШАН
+ДЕТАРИ МАРИЈА
+ДЕТЕЛИН ЂУРА
+ДЕТЕЛИН ЈОСИП
+ДЕТЕЛИН НАДА
+ДЕУРА ДУШАН ДИПЛ ПРАВНИК
+ДЕУРА РАЈКО
+ДЕУРА ВЕРА
+ДЕУРИЋ РАДМИЛА
+ДЕВАИ ШАНДОР
+ДЕВАИ ИМРЕ
+ДЕВАИ ЛАЈОШ
+ДЕВАИ САЊА
+ДЕВАИ ЗОРИЦА
+ДЕВАЈА НАДА
+ДЕВАЈА ОМЕР ДР
+ДЕВАЛД ЕТЕЛКА
+ДЕВАЛД ИВАН
+ДЕВАЛД ЈОХАН
+ДЕВЕЧЕРИ КРИСТИНА
+ДЕВЕЧЕРСКИ АВРАМ
+ДЕВЕЧЕРСКИ ДАНИЦА
+ДЕВЕЧЕРСКИ ВАСИЛИЈЕ ДР
+ДЕВЕДАН ЂОРЂЕ
+ДЕВЕДАН БОГДАН
+ДЕВЕДАН ДРАГОЈЕ
+ДЕВЕДАН МАРА
+ДЕВЕДАН МИЛОВАН
+ДЕВЕДАН МИРКО
+ДЕВЕТАК ЗОРА
+ДЕВИЋ-ЧОБАНКСИ МИЉЕНКА
+ДЕВИЋ ЖИВАН
+ДЕВИЋ ЂОКА
+ДЕВИЋ ЂОРЂЕ
+ДЕВИЋ АЛЕКСАНДАР
+ДЕВИЋ АНКИЦА
+ДЕВИЋ БИЉАНА
+ДЕВИЋ БРАНИСЛАВА
+ДЕВИЋ БРАНКА
+ДЕВИЋ ЦВИЈЕТА
+ДЕВИЋ ДАНИЦА
+ДЕВИЋ ДАНИЛКА
+ДЕВИЋ ДОБРОСАВ
+ДЕВИЋ ДРАГОЉУБ
+ДЕВИЋ ДРАГОМИР
+ДЕВИЋ ДРАГО
+ДЕВИЋ ДУШАН
+ДЕВИЋ ЕВИЦА
+ДЕВИЋ ГОРАН
+ДЕВИЋ ГРОЗДА
+ДЕВИЋ ИГЊАТ
+ДЕВИЋ ИЛИЈА
+ДЕВИЋ ЈОВАН ДИПЛ ИНГ
+ДЕВИЋ ЈОВАНКА ДР
+ДЕВИЋ ЈОВАН
+ДЕВИЋ КАТИЦА
+ДЕВИЋ МИЛАН
+ДЕВИЋ МИЛАН
+ДЕВИЋ МИЛЕНКО
+ДЕВИЋ МИЛЕТА
+ДЕВИЋ МИЛОШ
+ДЕВИЋ МИОДРАГ
+ДЕВИЋ МИРА
+ДЕВИЋ МЛАДЕН
+ДЕВИЋ НЕБОЈША
+ДЕВИЋ НЕНАД
+ДЕВИЋ НОВКА
+ДЕВИЋ ПЕТАР
+ДЕВИЋ РАДОСЛАВ
+ДЕВИЋ СИМА
+ДЕВИЋ СЛАВКО
+ДЕВИЋ СЛОБОДАН
+ДЕВИЋ ТАТЈАНА
+ДЕВИЋ ТОМА
+ДЕВИЋ ВЕЛИНКА
+ДЕВИЋ ВЛАДА
+ДЕВИЋ ВОЈИСЛАВ ДИПЛ ИНГ
+ДЕВИЋ ЗАГОРКА
+ДЕВРЊА БРАНИСЛАВ
+ДЕВРЊА ДРАГИЦА
+ДЕВРЊА ЉУБИЦА
+ДЕВРЊА-МИХАЈЛОВИЋ ЉИЉАНА
+ДЕВРЊА МИОДРАГ
+ДЕВРЊА СПАСОЈЕ
+ДЕВУШИЋ МИЛАН
+ДИЦКОВ ЂОРЂЕ
+ДИЦКОВ АЛЕКСАНДРА
+ДИЦКОВ ДРАГАН
+ДИЦКОВ ДРАГАН
+ДИЦКОВ ДУШКО
+ДИЦКОВ ИВАН
+ДИЦКОВ КОСТА
+ДИЦКОВ МИРЈАНА
+ДИЦКОВ НИКОЛА
+ДИЦКОВ СТЕВАН
+ДИЦКОВ ВЕСЕЛИН
+ДИЦКОВ ВЕСЕЛИН
+ДИЦКОВ ЗОРКА
+ДИЦМАН ЗДЕНКА
+ДИДАНОВИЋ ЧЕДОМИР
+ДИДАНОВИЋ БУДИМИР
+ДИЈАКОВИЋ ПАВА
+ДИЈАМАТОВИЋ ДРАГИЦА
+ДИКИЋ БРАНИСЛАВ
+ДИКИЋ БРАНКО
+ДИКИЋ ДУШАН
+ДИКИЋ ГОРАН
+ДИКИЋ ЈОВАНКА
+ДИКИЋ ЈОВАН
+ДИКИЋ МИЛАН
+ДИКИЋ РАТКО
+ДИКИЋ САВА ДИПЛ ИНГ
+ДИКИЋ СТЕВАН
+ДИКИЋ ВЕЛИНКА
+ДИКИЋ ЗАГОРКА
+ДИКЛИЋ АЛЕКСАНДАР
+ДИКЛИЋ АЛЕКСАНДАР
+ДИКЛИЋ БРАНИСЛАВ
+ДИКЛИЋ ДРАГАН
+ДИКЛИЋ ДРАГАН
+ДИКЛИЋ ДУШАН
+ДИКЛИЋ ДУШАН
+ДИКЛИЋ ЈАСМИНА
+ДИКЛИЋ ЈОВАН
+ДИКЛИЋ ЈУДИТ
+ДИКЛИЋ МАРТА
+ДИКЛИЋ МИЛАН
+ДИКЛИЋ МИЛЕТА
+ДИКЛИЋ МИРОСЛАВ
+ДИКЛИЋ ПЕТАР
+ДИКЛИЋ СТАНКО
+ДИКОВИЋ НИКОЛА
+ДИЛБЕРОВИЋ АНТО
+ДИМЧОВСКИ ТРАЈЧЕ
+ДИМШИЋ АНКА
+ДИМА БОСА
+ДИМАШЕВИЋ АЛЕКСАНДАР
+ДИМАШЕВИЋ ПЕТАР
+ДИМАНИЋ АНКА
+ДИМАНИЋ БРАНИСЛАВ
+ДИМЕСКИ ИЛИЈА
+ДИМЕСКИ МЕТОДИЈЕ
+ДИМИЋ ЖАРКО
+ДИМИЋ ЂОРЂЕ
+ДИМИЋ АКСЕНТИЈЕ
+ДИМИЋ АКСЕНТИЈЕ
+ДИМИЋ АНЂЕЛКА
+ДИМИЋ БОГДАН
+ДИМИЋ БРАНКО
+ДИМИЋ ДАНИЦА
+ДИМИЋ ДИМИТРИЈЕ
+ДИМИЋ ДРАГОЉУБ ДР
+ДИМИЋ ДРАГОМИР
+ДИМИЋ ДРАГО
+ДИМИЋ ДУШАН ДР
+ДИМИЋ ДУШАН
+ДИМИЋ ДУШАН
+ДИМИЋ ЕМИЛИЈА
+ДИМИЋ ЕРЖЕБЕТ
+ДИМИЋ ИГЊАТ
+ДИМИЋ ИВАН
+ДИМИЋ ЈАНКО
+ДИМИЋ КОСТА
+ДИМИЋ ЛАЗАР
+ДИМИЋ ЛАЗАР
+ДИМИЋ ЉУБОМИР
+ДИМИЋ МИЛАН
+ДИМИЋ МИЛАН
+ДИМИЋ МИЛЕВА
+ДИМИЋ МИЛИЦА
+ДИМИЋ МИЛОШ
+ДИМИЋ МИЛОЈЕ ДИПЛ ИНГ
+ДИМИЋ МИТА
+ДИМИЋ НАДА
+ДИМИЋ НАДА
+ДИМИЋ НЕБОЈША
+ДИМИЋ НИКОЛА
+ДИМИЋ НИКОЛА
+ДИМИЋ НИКОЛА
+ДИМИЋ НИКОЛА
+ДИМИЋ ОЛГА
+ДИМИЋ ОЗРЕН
+ДИМИЋ ПЕТАР
+ДИМИЋ СТАНКО
+ДИМИЋ СТЕВАН
+ДИМИЋ СТЕВАН
+ДИМИЋ СТЕВАН
+ДИМИЋ СТЕВА
+ДИМИЋ ВАСА
+ДИМИЋ ВЕРИЦА
+ДИМИЋ ВИТОМИР
+ДИМИЋ ВИТОМИР
+ДИМИЋ ВЛАДИМИР
+ДИМИТРАШКОВИЋ ВЛАДИМИР
+ДИМИТРИЋ ЖИВОРАД
+ДИМИТРИЋ БОГОЉУБ
+ДИМИТРИЋ БРАНКО
+ДИМИТРИЋ ДРАГАН
+ДИМИТРИЋ МИЛЕНКО
+ДИМИТРИЋ МИЛЕВА
+ДИМИТРИЋ НОВАК
+ДИМИТРИЋ ПЕРО
+ДИМИТРИЋ РАТКО
+ДИМИТРИЋ ВЛАДАН
+ДИМИТРИЋ ЗОРАН
+ДИМИТРИАДИС ПАВЛОС
+ДИМИТРИЈЕВИЋ ЧЕДОМИР
+ДИМИТРИЈЕВИЋ ЧЕДОМИР
+ДИМИТРИЈЕВИЋ ЂОРЂЕ
+ДИМИТРИЈЕВИЋ ЂОРЂЕ
+ДИМИТРИЈЕВИЋ ЂУРЂА
+ДИМИТРИЈЕВИЋ АЛЕКСАНДАР
+ДИМИТРИЈЕВИЋ АРСА
+ДИМИТРИЈЕВИЋ АРСЕН
+ДИМИТРИЈЕВИЋ-БЕСЕРМЕЊИ КАТИЦА
+ДИМИТРИЈЕВИЋ БОРИВОЈЕ
+ДИМИТРИЈЕВИЋ БРАНИСЛАВА
+ДИМИТРИЈЕВИЋ БРАНИСЛАВ
+ДИМИТРИЈЕВИЋ БРАНИСЛАВ
+ДИМИТРИЈЕВИЋ БРАНКА
+ДИМИТРИЈЕВИЋ БРЗОМИР
+ДИМИТРИЈЕВИЋ ДАНИЦА
+ДИМИТРИЈЕВИЋ ДАНИЦА
+ДИМИТРИЈЕВИЋ ДЕСАНКА
+ДИМИТРИЈЕВИЋ ДИМИТРИЈЕ
+ДИМИТРИЈЕВИЋ ДОБРИЦА
+ДИМИТРИЈЕВИЋ ДРАГАН
+ДИМИТРИЈЕВИЋ ДРАГАН
+ДИМИТРИЈЕВИЋ ДРАГАН
+ДИМИТРИЈЕВИЋ ДРАГАН
+ДИМИТРИЈЕВИЋ ДУШАН ДР
+ДИМИТРИЈЕВИЋ ДУШАНКА
+ДИМИТРИЈЕВИЋ ДУШАН
+ДИМИТРИЈЕВИЋ ЕРЖЕБЕТ
+ДИМИТРИЈЕВИЋ ЕТЕЛА
+ДИМИТРИЈЕВИЋ ЕВИЦА
+ДИМИТРИЈЕВИЋ ЈЕЛЕНА
+ДИМИТРИЈЕВИЋ ЈЕЛЕНА
+ДИМИТРИЈЕВИЋ ЈЕЛИЦА
+ДИМИТРИЈЕВИЋ ЈОВАН
+ДИМИТРИЈЕВИЋ ЈОВАН
+ДИМИТРИЈЕВИЋ ЈОВАН
+ДИМИТРИЈЕВИЋ ЛАЗАР
+ДИМИТРИЈЕВИЋ ЉУБИЦА ДР
+ДИМИТРИЈЕВИЋ ЉУБИЦА
+ДИМИТРИЈЕВИЋ ЉУБИЦА
+ДИМИТРИЈЕВИЋ ЉУБИНКО
+ДИМИТРИЈЕВИЋ МАРГИТА
+ДИМИТРИЈЕВИЋ МАРИЦА
+ДИМИТРИЈЕВИЋ МИЛАН МР
+ДИМИТРИЈЕВИЋ МИЛАН
+ДИМИТРИЈЕВИЋ МИЛАН
+ДИМИТРИЈЕВИЋ МИЛАН
+ДИМИТРИЈЕВИЋ МИЛА
+ДИМИТРИЈЕВИЋ МИЛИВОЈ
+ДИМИТРИЈЕВИЋ МИЛКА
+ДИМИТРИЈЕВИЋ МИЛОЈЕ
+ДИМИТРИЈЕВИЋ МИЛОВАН
+ДИМИТРИЈЕВИЋ МИЛУТИН
+ДИМИТРИЈЕВИЋ МИОДРАГ
+ДИМИТРИЈЕВИЋ МИОДРАГ
+ДИМИТРИЈЕВИЋ МИОДРАГ
+ДИМИТРИЈЕВИЋ МИРЧЕ
+ДИМИТРИЈЕВИЋ МИРОСЛАВКА
+ДИМИТРИЈЕВИЋ МИРОСЛАВ
+ДИМИТРИЈЕВИЋ МЛАДЕН
+ДИМИТРИЈЕВИЋ НАДА
+ДИМИТРИЈЕВИЋ НАДА
+ДИМИТРИЈЕВИЋ НЕНАД
+ДИМИТРИЈЕВИЋ НЕВЕНКА
+ДИМИТРИЈЕВИЋ ПАЈА
+ДИМИТРИЈЕВИЋ ПЕТАР
+ДИМИТРИЈЕВИЋ ПЕТАР
+ДИМИТРИЈЕВИЋ ПЕТАР
+ДИМИТРИЈЕВИЋ ПРЕДРАГ
+ДИМИТРИЈЕВИЋ ПРЕДРАГ
+ДИМИТРИЈЕВИЋ РАДИСАВ
+ДИМИТРИЈЕВИЋ РАДИВОЈЕ
+ДИМИТРИЈЕВИЋ РАДИВОЈ
+ДИМИТРИЈЕВИЋ РАТКО
+ДИМИТРИЈЕВИЋ САША
+ДИМИТРИЈЕВИЋ САВА
+ДИМИТРИЈЕВИЋ СЛАВКО
+ДИМИТРИЈЕВИЋ СЛАВОЉУБ
+ДИМИТРИЈЕВИЋ СРЂА
+ДИМИТРИЈЕВИЋ СТАНКО
+ДИМИТРИЈЕВИЋ СТАНОЈЕ
+ДИМИТРИЈЕВИЋ СТЕВАН
+ДИМИТРИЈЕВИЋ СТОЈАДИН
+ДИМИТРИЈЕВИЋ СТОЈАДИН
+ДИМИТРИЈЕВИЋ СВЕТОМИР
+ДИМИТРИЈЕВИЋ ТИХОМИР
+ДИМИТРИЈЕВИЋ ТОМИСЛАВ
+ДИМИТРИЈЕВИЋ ВЕРА
+ДИМИТРИЈЕВИЋ ВИТОМИР
+ДИМИТРИЈЕВИЋ ВУЈИЦА
+ДИМИТРИЈЕВИЋ ВУКОСАВА
+ДИМИТРИЈЕВИЋ ЗЛАТИБОР
+ДИМИТРИЈЕВИЋ ЗОРАН
+ДИМИТРИЈЕВИЋ ЗОРАН
+ДИМИТРИЈЕВИЋ ЗОРИЦА
+ДИМИТРИЈЕВИЋ ЗОРИЦА
+ДИМИТРИЈЕВСКИ МИХАЈЛО
+ДИМИТРОВ ЖИВОЈИН
+ДИМИТРОВ ЂОКА
+ДИМИТРОВ ЂОРЂЕ
+ДИМИТРОВ БОШКО
+ДИМИТРОВ БОРО
+ДИМИТРОВ БРАНИСЛАВ
+ДИМИТРОВ БРАНКО
+ДИМИТРОВ ДИМИТРИЈЕ
+ДИМИТРОВ ДУШАН
+ДИМИТРОВ ДУШАН
+ДИМИТРОВ ЕФТИМ
+ДИМИТРОВ ЈОЦА
+ДИМИТРОВ ПЕТАР
+ДИМИТРОВ РАДИСЛАВ
+ДИМИТРОВ СЛАВКО
+ДИМИТРОВ СОСА
+ДИМИТРОВ СТЕВАН
+ДИМИТРОВ СВЕТИСЛАВ
+ДИМИТРОВ УРОШ
+ДИМИТРОВ ВЕЛИЧКО
+ДИМИТРОВ ЗЛАТА
+ДИМИТРОВСКИ ИЛОНА
+ДИМИТРОВСКИ ЉУБОМИР
+ДИМИТРОВСКИ ЉУБОМИР
+ДИМИТРОВСКИ ПАВЛЕ
+ДИМКОВИЋ БОРИСЛАВ
+ДИМКОВСКИ ГОРАН
+ДИМКОВСКИ ЉУБИША
+ДИМОСКИ НИКОЛА
+ДИМОВ ДИМИТАР
+ДИМОВ ТОДОР
+ДИМОВА КАТИЦА
+ДИМОВИЋ СОФИЈА
+ДИМОВСКИ ЂЕРО
+ДИМОВСКИ АНДРИЈА
+ДИМОВСКИ ЉУБИЦА
+ДИМОВСКИ МАРИНА
+ДИМОВСКИ МИЛИЦА
+ДИМОВСКИ ТРАЈЧЕ
+ДИНЧИЋ КАТИЦА
+ДИНЧИЋ МИЛОРАД
+ДИНЧИЋ СЛОБОДАН
+ДИНЧИЋ СРЕТЕНКА
+ДИНЧИК МАРИЈА
+ДИНИЋ ЧЕДОМИР
+ДИНИЋ БОЖИДАР
+ДИНИЋ БОСА
+ДИНИЋ ЈОШКА
+ДИНИЋ-КНЕЖЕВИЋ ДУШАНКА
+ДИНИЋ МИЛОРАД
+ДИНИЋ РАДОМИР
+ДИНИЋ ВАЛЕРИЈА
+ДИНИЋ ВЛАДЕТА
+ДИНИЋ ЗВОНИМИР
+ДИЊАШКИ ЖАРКО
+ДИЊАШКИ ИРИНА
+ДИЊАШКИ КСЕНИЈА
+ДИЊАШКИ ЛЕПА
+ДИЊАШКИ НЕСТОР
+ДИЊАШКИ СТАНИМИР
+ДИЊАШКИ СТАНКА
+ДИЊАШКИ СТЕВАН
+ДИЊАШКИ ТРИВА
+ДИЊАШКИ ЗДРАВКО
+ДИЊЕШ ЈОСИП
+ДИНУЛОВИЋ РАДОСЛАВ
+ДИОШИ ЈОСИП
+ДИРНЕР АРАНКА
+ДИСИЋ ЉУБИША
+ДИСИЋ ВЛАДИМИР
+ДИТРИХ АНА
+ДИТРИХ РОБЕРТ
+ДИТРИХ ВЛАДИМИР
+ДИВИЋ МИЛЕНКО
+ДИВИЈАЧКИ ДРАГАН
+ДИВИЈАЧКИ ДРАГАН
+ДИВИЛД ЂОРЂЕ
+ДИВИЛД АНДРИЈА
+ДИВИЛД ЈЕЛИСАВЕТА
+ДИВИЛД РАДОСЛАВ
+ДИВЈАК ДУШАН
+ДИВЈАК ДУШАН
+ДИВЈАК ДУШАН
+ДИВЈАК МАРИНКО
+ДИВЈАК МИЛАН
+ДИВЈАК МИЛАН
+ДИВЈАК МИЛАН
+ДИВЈАК САВА
+ДИВЈАКОВИЋ ЂОРЂЕ
+ДИВЈАКОВИЋ БРАНКО
+ДИВЈАКОВИЋ ГАВРА
+ДИВЈАКОВИЋ ЈЕЛИЦА
+ДИВЈАКОВИЋ ЉУБИЦА
+ДИВЈАКОВИЋ МАРИЈА
+ДИВЈАКОВИЋ-РАДИЧЕВА ДОРИНА
+ДИВЈАКОВИЋ СТЕВАН
+ДИВЈАКОВИЋ ТОДОР
+ДИВЈАКОВИЋ ВЛАДА
+ДИВЉАК АЛЕКСАНДАР
+ДИВЉАК АНГЕЛИНА
+ДИВЉАК БОШКО
+ДИВЉАК ДЕСИМИР
+ДИВЉАК ДОБРИВОЈ
+ДИВЉАК ДРАГО
+ДИВЉАК МИРОСЛАВ
+ДИВЉАК МИРОСЛАВ
+ДИВЉАК РАТКО
+ДИВЉАК ЗДРАВКО
+ДИВЉАКОВИЋ ДРАГУТИН
+ДИВЉАКОВИЋ ИВАНКА
+ДИВЉАН НЕНАД
+ДИВНИЋ ЖИВАН
+ДИВНИЋ ЂОРЂЕ
+ДИВНИЋ ЈЕЛКА
+ДИВНИЋ МИРЈАНА
+ДИВНИЋ ПАЈА
+ДИВНИЋ СЛОБОДАН
+ДИВНИЋ СОЊА
+ДИВНИЋ СВЕТОЗАР
+ДИВОВИЋ РАДОВАН
+ДИЗДАР АНЂА
+ДИЗДАР АНКИЦА
+ДИЗДАР ИВИЦА
+ДИЗДАР ЈОСИП
+ДИЗДАР ЈУРЕ
+ДИЗДАР ЈУРО
+ДИЗДАР МАРИЈА
+ДИЗДАР МАРКО
+ДИЗДАР ПАВО
+ДИЗДАР САРАФИНА
+ДИЗДАР ВЛАДО
+ДИЗДАРЕВИЋ РАДОЉУБ
+ДЛУХИ ЈОСИП
+ДМИТРАШИНОВИЋ РАДЕ
+ДМИТРИЈЕВ ЛИДИЈА
+ДМИТРОВИЋ ДАНИЦА
+ДМИТРОВИЋ ЉИЉАНА
+ДМИТРОВИЋ МИЛОШ
+ДМИТРОВИЋ МИРЈАНА
+ДМИТРОВИЋ РАДЕНКО ЛЕКАР
+ДМИТРОВИЋ СТЕВАН
+ДМИТРОВИЋ СТЕВАН
+ДОШЕМОВИЋ ПРЕДРАГ
+ДОШЕН ЖИВАДИН
+ДОШЕН БИЉАНА
+ДОШЕН БРАНКО
+ДОШЕН ДЕСАНКА
+ДОШЕН ДРАГАН
+ДОШЕН ДУШАН
+ДОШЕН ДУШАН
+ДОШЕН ДУШАН
+ДОШЕН ДУБРАВКА
+ДОШЕН ХРИСТИНА ДР
+ДОШЕН ИЛИЈА
+ДОШЕН ИВАН
+ДОШЕН ИВАН
+ДОШЕН ЈЕЛЕНА
+ДОШЕН МИЛАН
+ДОШЕН МИЛАН
+ДОШЕН МИЛЕ
+ДОШЕН МИЛОШ
+ДОШЕН РАДОСЛАВ
+ДОШЕН РАДОСЛАВ
+ДОШЕН РАТКО
+ДОШЕН СВЕТЛАНА
+ДОШЕН ВОЈИН
+ДОШЕНОВИЋ ЧЕДОМИР
+ДОШЕНОВИЋ МИЛИВОЈЕ
+ДОШЕНОВИЋ МИРОСЛАВА
+ДОШЕНОВИЋ ВАСИЉКА
+ДОШЕНОВИЋ ВОЈИН
+ДОШИЋ ГИЗЕЛА
+ДОШЛИЋ МИЛИЦА
+ДОШЛИЋ НЕНАД
+ДОШЛИЋ РАДОСЛАВ
+ДОШЛОВ КРСТО
+ДОШЛОВ СЛАВИЦА
+ДОЖИЋ ЉИЉАНА
+ДОЖИЋ МАРИЦА
+ДОЖИЋ СТЕВАН
+ДОЖИЋ СТЕВАН
+ДОЖИЋ СВЕТИСЛАВ
+ДОЖИЋ ВАСИЉКА
+ДОБАН МАРЧЕЛ
+ДОБАНОВАЧКИ ЧЕДОМИР
+ДОБАНОВАЧКИ АЛЕКСАНДАР
+ДОБАНОВАЧКИ БОРИСЛАВ
+ДОБАНОВАЧКИ БРАНИСЛАВ
+ДОБАНОВАЧКИ ДОБРИНКА
+ДОБАНОВАЧКИ ДУШАНКА
+ДОБАНОВАЧКИ ДУШАНКА
+ДОБАНОВАЧКИ ДУШАН
+ДОБАНОВАЧКИ ИРЕНА
+ДОБАНОВАЧКИ ЈЕЛКА
+ДОБАНОВАЧКИ ЈУЛКА
+ДОБАНОВАЧКИ ЈУЛКИЦА
+ДОБАНОВАЧКИ МАКСИМ
+ДОБАНОВАЧКИ МИЛАН
+ДОБАНОВАЧКИ МИЛАН
+ДОБАНОВАЧКИ МИРЈАНА
+ДОБАНОВАЧКИ МИРКО
+ДОБАНОВАЧКИ ПЕТАР
+ДОБАНОВАЧКИ РАДОМИР
+ДОБАНОВАЧКИ САВА
+ДОБАНОВАЧКИ САВА
+ДОБАНОВАЧКИ-САВИЋ ТИНКА
+ДОБАНОВАЧКИ СТЕВАН
+ДОБАНОВАЧКИ ТИНКА
+ДОБАНОВАЧКИ ЗОРИЦА
+ДОБАНОВИЋ СОФИЈА
+ДОБЕШ ЈОВАН
+ДОБИ ЈУЛИЈАНА
+ДОБИЋ БРАНИСЛАВ
+ДОБИЋ ПЕТАР
+ДОБО ИЛЕШ
+ДОБО ЈОЖЕФ
+ДОБО ЈОЖЕФ
+ДОБОШ ЈОЖЕФ
+ДОБОШИ ШАНДОР
+ДОБОШИ ЂЕРЂ
+ДОБОШИ ЕРЖЕБЕТ
+ДОБОШИ ЈАНОШ
+ДОБОШИ ЛАСЛО
+ДОБОШИ МАГДАЛЕНА
+ДОБОШИ МАРГИТА
+ДОБОШИ ПАЛ
+ДОБОКАИ МИХАЈЛО
+ДОБОВИЧЕК ФРАНЦ
+ДОБРА ИВАН
+ДОБРАШ МИЛКА
+ДОБРАН СЛАВКО
+ДОБРАНИЋ РАДОВАН
+ДОБРАНИЋ ВИДОСАВА
+ДОБРЕ БОЖА
+ДОБРЕНОВ ДУШАН ДИПЛ ИНГ
+ДОБРЕНОВ ГРЕТА
+ДОБРЕНОВ ЈЕЛИСАВЕТА
+ДОБРЕНОВ ЈЕЛИСАВЕТА
+ДОБРЕНОВ НИКОЛА
+ДОБРЕНОВ САНДРА
+ДОБРЕНОВ ВОЈИН
+ДОБРЕТИЋ МАРИЦА
+ДОБРИЧКИ ДУШАН
+ДОБРИЧКИ МАРИЈА
+ДОБРИЋ ЖИВКО
+ДОБРИЋ ЂОРЂЕ
+ДОБРИЋ БОШКО
+ДОБРИЋ БРАНИСЛАВ
+ДОБРИЋ ЕРЖЕБЕТ
+ДОБРИЋ ГОЈКО
+ДОБРИЋ ЈОВАН
+ДОБРИЋ КОСТА
+ДОБРИЋ ЉУБИЦА
+ДОБРИЋ МИЛАДИН
+ДОБРИЋ МИЛАН
+ДОБРИЋ МИЛАН
+ДОБРИЋ НЕГОСАВА
+ДОБРИЋ РАДИСЛАВ
+ДОБРИЋ РАДИВОЈ
+ДОБРИЋ СЛОБОДАН
+ДОБРИЋ СТЕВАН
+ДОБРИЋ УГЉЕША
+ДОБРИЋ ВЕРОНИКА
+ДОБРИЋ ВЕСНА
+ДОБРИЋ ЗДРАВКО
+ДОБРИЈЕВИЋ ДУШАН
+ДОБРИЈЕВИЋ ПЕТАР
+ДОБРИЈЕВИЋ СЛОБОДАНКА
+ДОБРИЛОВИЋ РАЈКО
+ДОБРИЛОВИЋ РАЈКО
+ДОБРИЛОВИЋ СИМА
+ДОБРИН ДЕЖЕ
+ДОБРИН НИКОЛА
+ДОБРИН ОЛГА
+ДОБРИНИЋ ДАРИНКА
+ДОБРИВОЈЕВИЋ ДУШАН
+ДОБРИВОЈЕВИЋ СВЕТЛАНА
+ДОБРЊАЦ СТОЈАНКА
+ДОБРОДЕЛ ФРАЊО
+ДОБРОДОЛСКИ ЈЕЛЕНА
+ДОБРОДОЛСКИ ЈУЛКА
+ДОБРОДОЛСКИ ВУКИЦА
+ДОБРОКЕС МИЛЕНА
+ДОБРОМИРОВ АЛЕКСАНДАР
+ДОБРОМИРОВ АЛЕКСАНДАР
+ДОБРОМИРОВ ДУШАН
+ДОБРОМИРОВ ЕУФИМИЈА
+ДОБРОМИРОВ НАДА
+ДОБРОМИРОВ ПЕТАР
+ДОБРОМИРОВ ВИТОМИР
+ДОБРОМИРОВ ВЛАДИМИР
+ДОБРОМИРОВ ВОЈИСЛАВ
+ДОБРОМИРОВИЋ ПАВЛЕ
+ДОБРОСАВЉЕВ ЛАЗАР
+ДОБРОСАВЉЕВ ЛАЗАР
+ДОБРОСАВЉЕВ МИЛАН
+ДОБРОСАВЉЕВ МИЛАН
+ДОБРОСАВЉЕВ МИЛАН
+ДОБРОСАВЉЕВ МИЛОВАН
+ДОБРОСАВЉЕВ МИРА
+ДОБРОСАВЉЕВ ПЕТАР
+ДОБРОСАВЉЕВ РАДА
+ДОБРОСАВЉЕВ РАНКО
+ДОБРОСАВЉЕВ САВА
+ДОБРОСАВЉЕВ СВЕТОЗАР
+ДОБРОСАВЉЕВИЋ ДРЕНКА
+ДОБРОСАВЉЕВИЋ СЛАВКО
+ДОБРОСАВЉЕВИЋ ВАСА НОВИНАР
+ДОБРОСАВЉЕВИЋ ВАСИЛИЈЕ
+ДОБРОСАВЉЕВИЋ ВАСИЛИЈЕ
+ДОБРОТА БИСЕРКА
+ДОБРОТА ДАМИР
+ДОБРОВИЋ АЛЕКСАНДРА
+ДОБРОВИЋ ДАМЈАНКА
+ДОБРОВИЋ ЉУБОМИР
+ДОДЕРОВИЋ МИЛОСАВ
+ДОДЕРОВИЋ РАДИВОЈ
+ДОДИЋ ИВАН
+ДОДИЋ ЈЕЛЕНА
+ДОДИЋ МИЛИВОЈ
+ДОДИЋ МИОДРАГ
+ДОДИЋ МИОДРАГ
+ДОДИЋ САВА
+ДОДИЋ СЛОБОДАН
+ДОДИЋ СТАНОЈЕ
+ДОДИЋ СТОЈАН
+ДОДИЋ ВЕРА
+ДОДИК БАРТОЛ
+ДОДИК СТЕВАН
+ДОДЛЕК ВЛАДИМИР
+ДОДОШ ЛАЗАР
+ДОГАНЏИЋ ДОБРИВОЈЕ
+ДОЈЧИНОВИЋ ЂУЈА
+ДОЈЧИНОВИЋ ЂУРЂИЦА
+ДОЈЧИНОВИЋ БЛАГОЈЕ
+ДОЈЧИНОВИЋ БОЖИДАР
+ДОЈЧИНОВИЋ ДУШАН
+ДОЈЧИНОВИЋ ЈОСИФ
+ДОЈЧИНОВИЋ МИХАЈЛО
+ДОЈЧИНОВИЋ МИРОСЛАВ ДР
+ДОЈЧИНОВИЋ РАДОСЛАВ
+ДОЈЧИНОВИЋ ВЛАДА
+ДОЈЧИНОВСКИ ВАНЧА
+ДОЈДЕР ИВО
+ДОЈДЕР ЈАКОВ
+ДОЈИЋ ЛАЗАР
+ДОЈКИЋ БОЖИДАР
+ДОЈКИЋ ЈУЛКИЦА
+ДОЈКИЋ КСЕНИЈА
+ДОЈКИЋ МАРИЈА
+ДОЈКИЋ МИЛОРАД
+ДОЈКИЋ МИЛОРАД
+ДОЈКИЋ МЛАДЕН
+ДОЈКИЋ МЛАДЕН
+ДОЈКИЋ ПАЈА
+ДОЈКИЋ ПЕТАР ДР
+ДОЈКИЋ ПЕТАР
+ДОЈКИЋ РАЈКО
+ДОЈКИЋ РАЈКО
+ДОЈКИЋ СЛАВКО
+ДОЈКИЋ ВЈЕКОСЛАВ
+ДОКЛЕАН АДАМ
+ДОКМАНОВИЋ БОРИВОЈ
+ДОКМАНОВИЋ ДЕЈАН
+ДОКМАНОВИЋ МАРИЈА
+ДОКМАНОВИЋ МИЛИЦА
+ДОКМАНОВИЋ НАДА
+ДОКМАНОВИЋ РАДИВОЈ
+ДОКНИЋ ВЕЉКО
+ДОКОШИЋ МАРИЈА
+ДОЛАШ МИЛОВАН
+ДОЛЕНЕЦ ФЛОРИЈАН
+ДОЛГА МИЛЕНА
+ДОЛИНАЈ ЂУРО
+ДОЛИНАЈ ЈАРОСЛАВА
+ДОЛИНАР ЉУБИЦА
+ДОЛИНГА МАРИОРА
+ДОЛИНГА НИКОЛАЈЕ
+ДОЛОШ ФРАЊА
+ДОЛОВЧАК КАТИЦА
+ДОЛОВАЦ АНКИЦА
+ДОЛОВАЦ БИСЕРКА
+ДОЛОВАЦ ДРАГИЦА
+ДОЛОВАЦ ЈОВАН
+ДОЛОВАЦ ЛАЗАР
+ДОЛОВАЦ ЛАЗАР
+ДОЛОВАЦ МАРИЈА
+ДОЛОВАЦ МИЛИЦА
+ДОЛОВАЦ МИЛОШ
+ДОЛОВАЦ РАДИВОЈ
+ДОЛОВАЦ РАДОСЛАВ
+ДОЛОВАЦ РАДОСЛАВ
+ДОЛОВАЦ СЛАВКО
+ДОЛОВАЦ СЛАВКО
+ДОЛОВАЦ СЛОБОДАН
+ДОЛОВАЦ ВЕЛИМИР
+ДОЛОВАЦ ЗОРКА
+ДОМАСТОВИЋ ДАНИЦА
+ДОМАЗЕТ НИКОЛА
+ДОМАЗЕТ ЗОРИЦА
+ДОМАЗЕТОВ ВЕЛИМИР
+ДОМАЗЕТОВИЋ ЧЕДОМИР
+ДОМАЗЕТОВИЋ МИРЈАНА
+ДОМАЗЕТОВИЋ МИРЈАНА
+ДОМБИ ЛАСЛО
+ДОМБИ РАДОЈКА
+ДОМБИ СМИЉКА
+ДОМИНИЋ АНА
+ДОМИНИЋ НИКОЛА
+ДОМОЊИ МАРТИН
+ДОМОНКОШ ЕВА
+ДОМОНКОШ ВИЛМОШ
+ДОМОНКОС ИШТВАН
+ДОМОВИЋ МИЛАН
+ДОНЧЕВ ТОДЕ
+ДОНЧИЋ НАДА
+ДОНАТ ДРАГУТИН
+ДОНАТ САВЕТА
+ДОНДУР ЖИВКО
+ДОНДУР ДАНИЦА
+ДОНДУР ДАРИНКА
+ДОНДУР МИЛИЦА
+ДОНДУР СЛАВКО
+ДОНДУР СТАНКО
+ДОНДУР ЗДРАВКО
+ДОНЕВ ТОДОР
+ДОНЕВСКИ ЈЕЛЕНА
+ДОНЕВСКИ КРИСТИНА
+ДОНИЋ ЖИВОЈИН
+ДОНКОР ЏЕМС
+ДОНСКОВ СЕРГИЈЕ
+ДОНСКОВА ЗОЈА ДР ЛЕКАР
+ДОПУЂ БОЖИДАР
+ДОПУЂ БРАНКО
+ДОПУЂ ДУБРАВКА
+ДОПУЂ ГОРАН
+ДОПУЂ МАРИЈА
+ДОПУЂ МИЛАН ДР
+ДОПУЂ МИРОСЛАВА
+ДОПУЂА ЖИВКО
+ДОПУЂА ДАРА
+ДОПУЂА ДРАГОМИР
+ДОПУЂА САВА
+ДОПУЂА ВЛАДИМИР
+ДОРЧИЋ АЛОЈЗА
+ДОРЧИЋ-БИКИЋ ОЛГИЦА
+ДОРЧИЋ БОЖО
+ДОРЧИЋ КЛЕМЕНТ
+ДОРЧИЋ МАРЈАН
+ДОРИЋ ЖАРКО
+ДОРИЋ БИЉАНА
+ДОРИЋ БИЉАНА
+ДОРИЋ БОРИСЛАВ
+ДОРИЋ ФРАЊА
+ДОРИЋ ИЛИЈА
+ДОРИЋ ИРМА
+ДОРИЋ ЈОСИП
+ДОРИЋ ПЕТАР
+ДОРИЋ СТЕВАН
+ДОРИЋ ВЕСЕЛИН
+ДОРКО СОФИЈА
+ДОРМАН ЛАСЛО
+ДОРО ГЕЗА ДР
+ДОРОШЕВ ЂОРЂЕ
+ДОРОШКИ ЂОРЂЕ
+ДОРОШКИ БРАНКО
+ДОРОШКИ ДЕСАНКА
+ДОРОШКИ ЈОВАН ДР
+ДОРОШКИ ЉИЉАНА
+ДОРОШКИ МАРИЈА
+ДОРОШКИ МИЛАН
+ДОРОШКИ МИЛА
+ДОРОШКИ МИРЈАНА
+ДОРОШКИ НИКОЛА
+ДОРОШКИ СИМА
+ДОРОШКИ ВИДОСАВА
+ДОРОШКИ ВУЈАДИН
+ДОРОЦКИ МАХАЛ
+ДОРОГХАЗИ ИРИНА
+ДОРОГИ ШАНДОР
+ДОРОЊСКИ ДУШАН
+ДОРОЊСКИ КАТАРИНА
+ДОРОСЛОВАЧКИ ЂУРА
+ДОРОСЛОВАЧКИ АЛЕКСАНДАР
+ДОРОСЛОВАЧКИ АНИЦА
+ДОРОСЛОВАЧКИ ДАНИЦА
+ДОРОСЛОВАЧКИ ГРУЈА
+ДОРОСЛОВАЧКИ ЈЕЛЕНА
+ДОРОСЛОВАЧКИ КСЕНИЈА
+ДОРОСЛОВАЧКИ МАРГИТА
+ДОРОСЛОВАЧКИ МАРИНА
+ДОРОСЛОВАЧКИ МАРЈАНА
+ДОРОСЛОВАЧКИ МИРОСЛАВ
+ДОРОСЛОВАЧКИ НИКОЛА
+ДОРОСЛОВАЧКИ РАДЕ
+ДОРОСЛОВАЧКИ САВЕТА
+ДОРОСЛОВАЧКИ СТЕВАНКА
+ДОРОСЛОВАЧКИ ВУЈА
+ДОРОСЛОВАЧКИ ВУКА
+ДОРОСЛОВАЦ БРАНИСЛАВА
+ДОРОСЛОВАЦ ЛАЗАР
+ДОРОСЛОВАЦ МАРИЈА
+ДОРОСЛОВАЦ МИЛАНА
+ДОРОСЛОВАЦ МИРОСЛАВ
+ДОРОСЛОВАЦ ПЕТАР
+ДОРОСЛОВАЦ ЗОРАН
+ДОРОТИЋ ЂОРЂЕ
+ДОРОТИЋ ЂОРЂЕ
+ДОРОТИЋ ГИЗЕЛА
+ДОРОТИЋ ГОРДАН
+ДОРОТИЋ-ГУТЕША ЛЕОНА
+ДОРОТИЋ ИЛА МР ПРОФ
+ДОРОТИЋ МАРИЈА
+ДОРОТИЋ СТЕВАН
+ДОРОТКА ДРАГАН
+ДОРОТКА МИЛОШ
+ДОСТАН АНА
+ДОСТАН АРПАД
+ДОСТАН ДАРИНКА
+ДОСТАН ИШТВАН
+ДОСТАН ЈОЖЕФ
+ДОСТАН ЛАДИСЛАВ
+ДОСТАН ПЕТАР
+ДОСТАН СТЕВАН
+ДОСТАН ТИБОР
+ДОСТАНИЋ ДРАГИЦА
+ДОСТАНИЋ РАДМИЛО
+ДОСТАНИЋ ВОИСЛАВ
+ДОСТАЊ ЈОСИП
+ДОСТАЊ РОЗАЛИЈА
+ДОСТИЋ СЛАВКО
+ДОСТИЋ СОФИЈА
+ДОТЛИЋ ЖИВКО
+ДОТЛИЋ БОШКО
+ДОТЛИЋ БОРИСЛАВ
+ДОТЛИЋ ДОБРИЛА
+ДОТЛИЋ ДУШАН
+ДОТЛИЋ ЛАЗАР
+ДОТЛИЋ ЛАЗАР
+ДОТЛИЋ ЛУКА
+ДОТЛИЋ САВА
+ДОТЛИЋ СОФИЈА
+ДОТЛИЋ ВАСА
+ДОТОВ ДРАГО
+ДОВАТ ПАВЛЕ ДР
+ДОВАТ ВЛАДИМИР
+ДОВАТОВ АДАМ
+ДОВЕДЕН БОРИСЛАВ
+ДОВГАН ЈОСИП
+ДОВИЈАРОВ МИЛОШ
+ДОВИЈАРОВ РАДИВОЈ
+ДОВИЈАРСКИ БРАНКА
+ДОВИЈАРСКИ МИЛЕНА
+ДОВИЈАРСКИ СТАНИМИР
+ДОВНИКОВИЋ ЛАЗАР
+ДОЗЕТ ЂОРЂЕ
+ДОЗЕТ БОЖО
+ДОЗЕТ ДРАГИЦА
+ДОЗЕТ ИЛИЈА
+ДОЗЕТ ЈАСНА
+ДОЗЕТ ЈУЛКИЦА
+ДОЗЕТ ЉУБИЦА
+ДОЗЕТ ЉУБОМИР
+ДОЗЕТ МИХАЈЛО
+ДОЗЕТ МИЛАН
+ДОЗЕТ МИЛОВАН
+ДОЗЕТ НИКОЛА
+ДОЗЕТ РАДЕ
+ДОЗЕТ РАДМИЛА
+ДОЗЕТ РАДОСЛАВКА
+ДОЗЕТ САВКА
+ДОЗЕТ СТАНКО
+ДРЧА АНА
+ДРЧА БРАНКО
+ДРЧА ДРАГИЦА
+ДРЧА ЈАНКО
+ДРЧА МИЛАН
+ДРЧА РАТКО
+ДРЧА СЛАВКО
+ДРЧА СТЕВАН
+ДРЧА-УРГЕН МАРИЈА
+ДРЧА ВЛАТКО
+ДРЧЕЛИЋ ДОБРИСАВ
+ДРЧЕЛИЋ МИРЈАНА
+ДРЖАЈИЋ ДИМИТРИЈЕ ПРОФЕСОР
+ДРЖИЋ ИЛИЈА
+ДРАЧА ЖИВКО
+ДРАЧА ЂОРЂЕ
+ДРАЧА АЦА
+ДРАЧА ДУБРАВКА
+ДРАЧА МИЛЕ
+ДРАЧА ПЕТАР ДР
+ДРАЧА ПЕТАР
+ДРАЧА СПАСЕНКА
+ДРАЧА ТОМО ДР
+ДРАЧИН КОСТА
+ДРАШИЋ НАТАЛИЈА
+ДРАШКО ЈЕЛКА
+ДРАШКО МИЛОВАН
+ДРАШКО СЛОБОДАН
+ДРАШКОВИЋ БРАНКО ДИПЛ ОЕЦ
+ДРАШКОВИЋ ДРАГА
+ДРАШКОВИЋ ДУШАН
+ДРАШКОВИЋ ЉУБОМИР
+ДРАШКОВИЋ МИХАЈЛО
+ДРАШКОВИЋ МИЛОМИР
+ДРАШКОВИЋ МИЛОРАД
+ДРАШКОВИЋ НЕНАД
+ДРАШКОВИЋ САВО
+ДРАШКОВИЋ СЛОБОДАНКА
+ДРАШКОВИЋ СЛОБОДАН
+ДРАШКОВИЋ СРЕТЕН
+ДРАЖЕТА МИЛЕНКО
+ДРАЖЕТА СТЕВАН
+ДРАЖЕТИН ДУШАН
+ДРАЖЕТИН МЛАДЕН
+ДРАЖИЋ ЖАРКО
+ДРАЖИЋ ЂОРЂЕ
+ДРАЖИЋ ЂОРЂЕ
+ДРАЖИЋ АЛЕКСАНДАР
+ДРАЖИЋ БОГДАН
+ДРАЖИЋ БУДО
+ДРАЖИЋ ДОБРИВОЈ
+ДРАЖИЋ ДРАГОЉУБ
+ДРАЖИЋ ДУШАН
+ДРАЖИЋ ДУШАН
+ДРАЖИЋ ЕМИЛ
+ДРАЖИЋ ГОРДАНА
+ДРАЖИЋ ИЛИЈА
+ДРАЖИЋ ИЛИЈА
+ДРАЖИЋ ИРЕНА
+ДРАЖИЋ ЈАША
+ДРАЖИЋ ЈЕЛИЦА
+ДРАЖИЋ ЈОВАН
+ДРАЖИЋ ЈОВАН
+ДРАЖИЋ ЈОВАН
+ДРАЖИЋ ЈОВАН
+ДРАЖИЋ ЈОВАН
+ДРАЖИЋ КАТИЦА
+ДРАЖИЋ КОСТА
+ДРАЖИЋ ЛАЗАР
+ДРАЖИЋ ЉУБИЦА
+ДРАЖИЋ МАРИЈА
+ДРАЖИЋ МИЛАН
+ДРАЖИЋ МИЛАН
+ДРАЖИЋ МИЛЕНКО
+ДРАЖИЋ МИЛЕНКО
+ДРАЖИЋ МИЛИНКО ДИПЛ ИНГ
+ДРАЖИЋ МИЛОРАД
+ДРАЖИЋ МИЛОРАД
+ДРАЖИЋ МИЛОРАД
+ДРАЖИЋ МИРА
+ДРАЖИЋ МИТА
+ДРАЖИЋ НАТАЛИЈА
+ДРАЖИЋ НАТАЛИЈА
+ДРАЖИЋ НЕСТОР
+ДРАЖИЋ НЕВЕНКА
+ДРАЖИЋ НИКОЛА
+ДРАЖИЋ НИКОЛА
+ДРАЖИЋ ОСТОЈА
+ДРАЖИЋ ПЕТАР
+ДРАЖИЋ РАДОВАН
+ДРАЖИЋ РЕЉА
+ДРАЖИЋ СЛАВКО
+ДРАЖИЋ СОФИЈА
+ДРАЖИЋ СТАНКО
+ДРАЖИЋ СТЕВАН
+ДРАЖИЋ СТЕВАН
+ДРАЖИЋ СУЗАНА
+ДРАЖИЋ ТОМИСЛАВ
+ДРАЖИЋ ВЕЛИНКА
+ДРАЖИЋ ВЕРА
+ДРАЖИЋ ВЕРА
+ДРАЖИЋ ВЕРА
+ДРАЖИЋ ЗЛАТКО
+ДРАЖИЛОВИЋ СТАНИША
+ДРАЖИН БОРИСЛАВ
+ДРАГАШ ЂОРЂЕ
+ДРАГАШ ЂУРО
+ДРАГАШ БОРИСЛАВ
+ДРАГАШ БРАНКО
+ДРАГАШ ДРАГОМИР
+ДРАГАШ ИВАН
+ДРАГАШ КАТИЦА
+ДРАГАШ-КОВАЧ ЉУБИЦА
+ДРАГАШ ЛЕПОСАВА
+ДРАГАШ ЉУБИЦА
+ДРАГАШ ЉУБИЦА
+ДРАГАШ МАНОЈЛО
+ДРАГАШ МИЛАН
+ДРАГАШ МИЛЕНКО
+ДРАГАШ МИРА
+ДРАГАШ МИРЈАНА
+ДРАГАШ МОМЧИЛО
+ДРАГАШ РАДИВОЈ
+ДРАГАШ РАДОМИР
+ДРАГАШ СПОМЕНКА
+ДРАГАШ СВЕТЛАНА
+ДРАГАШ ЗОРАН
+ДРАГАШЕВ ВЛАДИМИР
+ДРАГАН МИЛЕНА
+ДРАГАНИЋ ДРАГА
+ДРАГАНИЋ ЈАНКО
+ДРАГАНИЋ МИХАЈЛО
+ДРАГАНИЋ МИЛИЦА ДР
+ДРАГАНИЋ МИЛКА
+ДРАГАНИЋ МИРКО
+ДРАГАНИЋ МИРОСЛАВ
+ДРАГАНИЋ НАДЕЖДА
+ДРАГАНИЋ РАНКО
+ДРАГАНИЋ ВИДА
+ДРАГАНИЋ ЗЕКО
+ДРАГАНОВ МИЛОШ
+ДРАГАНОВ ОЛГА
+ДРАГАНОВ СЛОБОДАН
+ДРАГАНОВ СТОЈАНКА
+ДРАГАНОВИЋ СЛАВКО
+ДРАГЕЉЕВИЋ ДУШАН
+ДРАГЕЉЕВИЋ ЈОВАН
+ДРАГИЧЕВИЋ АДАМ
+ДРАГИЧЕВИЋ АЛЕКСАНДАР
+ДРАГИЧЕВИЋ БОРИСЛАВ
+ДРАГИЧЕВИЋ ГОЈКО
+ДРАГИЧЕВИЋ ИЛИНКА
+ДРАГИЧЕВИЋ ИВКА
+ДРАГИЧЕВИЋ КРЕШИМИР
+ДРАГИЧЕВИЋ ЛАЗАР
+ДРАГИЧЕВИЋ ЉУБИЦА
+ДРАГИЧЕВИЋ ЉУБОМИР
+ДРАГИЧЕВИЋ МИЉА
+ДРАГИЧЕВИЋ МИЛОШ
+ДРАГИЧЕВИЋ МИРКО
+ДРАГИЧЕВИЋ РАДЕНКО
+ДРАГИЧЕВИЋ СПАСА
+ДРАГИЧЕВИЋ СРЕТЕН
+ДРАГИЧЕВИЋ ВОЈИН
+ДРАГИЧЕВИЋ ВОЈИСЛАВ
+ДРАГИЧЕВИЋ ЗОРАН
+ДРАГИША ЖАРКО
+ДРАГИШИЋ БОГДАН
+ДРАГИШИЋ БОРИСЛАВКА
+ДРАГИШИЋ ЈОВАНКА
+ДРАГИШИЋ НИКОЛА
+ДРАГИШИЋ ПЕТАР
+ДРАГИШИЋ РАДЕ
+ДРАГИЋ ЧЕДОМИР
+ДРАГИЋ ЖЕЉКО
+ДРАГИЋ ЂОРЂЕ
+ДРАГИЋ АНА
+ДРАГИЋ БРАНКО
+ДРАГИЋ ДУШАН
+ДРАГИЋ ДУШАН
+ДРАГИЋ ЕЛВИРА
+ДРАГИЋ ИЛИЈА
+ДРАГИЋ ИЛИЈА
+ДРАГИЋ ИЛИЈА
+ДРАГИЋ ЈЕЛЕНА
+ДРАГИЋ ЉУБИША
+ДРАГИЋ ЉУБИША
+ДРАГИЋ МАРИЈАНА
+ДРАГИЋ МИЛЕНКО
+ДРАГИЋ МИЛИВОЈЕ
+ДРАГИЋ МИЛКА
+ДРАГИЋ МИЛОРАД
+ДРАГИЋ НАДА
+ДРАГИЋ НЕДЕЉКО
+ДРАГИЋ НЕВЕНКА
+ДРАГИЋ НИКОЛА
+ДРАГИЋ ОБРАД
+ДРАГИЋ ПАУЛА
+ДРАГИЋ ПАВЛЕ
+ДРАГИЋ ПЕРА
+ДРАГИЋ ПЕТАР
+ДРАГИЋ ПЕТАР
+ДРАГИЋ РАНКО
+ДРАГИЋ САВА
+ДРАГИЋ СЛАВКО
+ДРАГИЋ СПАСОЈЕ
+ДРАГИЋ СТЕВАН
+ДРАГИЋ СТЕВАН
+ДРАГИЋ ТОМИСЛАВ
+ДРАГИЋ ВЕРА
+ДРАГИЋ ВЕСНА
+ДРАГИЋЕВИЋ БОГИЦА
+ДРАГИЋЕВИЋ БОРИСЛАВ
+ДРАГИЋЕВИЋ БРАНИСЛАВ
+ДРАГИЋЕВИЋ РАЈИЦА
+ДРАГИН ЖАРКО
+ДРАГИН БОГДАН
+ДРАГИН БОРИВОЈ
+ДРАГИН ДАНИЛО
+ДРАГИН ДЕСАНКА
+ДРАГИН ДУШКО
+ДРАГИН ГОРДАНА
+ДРАГИН ЈОВАН ДИПЛ ИНГ
+ДРАГИН ЈОВО ДИПЛ ИНГ
+ДРАГИН ЛАЗАР
+ДРАГИН МАРКО
+ДРАГИН МИОДРАГ
+ДРАГИН МИОДРАГ
+ДРАГИН НИКОЛА
+ДРАГИН ПЕТРИЈА
+ДРАГИН РАДИВОЈ
+ДРАГИН РИСТО
+ДРАГИН САША
+ДРАГИН СОКИЦА
+ДРАГИН СТЕВАН
+ДРАГИН СВЕТИСЛАВ
+ДРАГИН ВАСА
+ДРАГИН ВОЈИСЛАВ
+ДРАГИН ЗОРАН
+ДРАГИНЧИЋ ДУШАН
+ДРАГИНЧИЋ СЛАВКО
+ДРАГОШЕВ ДРАГАН
+ДРАГОЈЕВИЋ ЖЕЉКО
+ДРАГОЈЕВИЋ АНЂЕЛКО
+ДРАГОЈЕВИЋ БОШКО
+ДРАГОЈЕВИЋ БРАНИСЛАВ
+ДРАГОЈЕВИЋ ДАРИНКА
+ДРАГОЈЕВИЋ ДРАГУТИН
+ДРАГОЈЕВИЋ ГОЈКО
+ДРАГОЈЕВИЋ ХРИСТИНА
+ДРАГОЈЕВИЋ ЉУБОМИР
+ДРАГОЈЕВИЋ МИЛЕНА
+ДРАГОЈЕВИЋ МИЛЕНКО
+ДРАГОЈЕВИЋ МИЛЕНКО
+ДРАГОЈЕВИЋ МИЛИЦА
+ДРАГОЈЕВИЋ МИЛОРАД
+ДРАГОЈЕВИЋ НИКОЛА
+ДРАГОЈЕВИЋ РАДИША
+ДРАГОЈЕВИЋ СТЕВАН
+ДРАГОЈЕВИЋ ЗЛАТАНА
+ДРАГОЈЛОВ АНКИЦА
+ДРАГОЈЛОВ БОШКО
+ДРАГОЈЛОВ ДУШАН
+ДРАГОЈЛОВ ДУБРАВКА
+ДРАГОЈЛОВ ГАВРА
+ДРАГОЈЛОВ ЛАЗАР
+ДРАГОЈЛОВ МАРГИТА
+ДРАГОЈЛОВ МИЛОШ
+ДРАГОЈЛОВ МИЛОШ
+ДРАГОЈЛОВ МИРОСЛАВ
+ДРАГОЈЛОВ ВОЈИСЛАВ
+ДРАГОЈЛОВИЋ ДУШКО
+ДРАГОЈЛОВИЋ ЛАЗАР
+ДРАГОЈЛОВИЋ МАРА
+ДРАГОЈЛОВИЋ МИЛАН
+ДРАГОЈЛОВИЋ МИЛАН
+ДРАГОЈЛОВИЋ ЗОРИЦА
+ДРАГОЉЕВИЋ ГОЈКО
+ДРАГОЉЕВИЋ МАРИНКО
+ДРАГОЉЕВИЋ МИТАР
+ДРАГОЉЕВИЋ РАНКО
+ДРАГОЉЕВИЋ СЕКУЛА
+ДРАГОЉЕВИЋ СТОЈАН
+ДРАГОЉЕВИЋ ВЛАДЕ
+ДРАГОМИРОВИЋ ЂОКА
+ДРАГОМИРОВИЋ ДИМИТРИЈЕ
+ДРАГОМИРОВИЋ ДРАГИЦА
+ДРАГОМИРОВИЋ ИВАН
+ДРАГОМИРОВИЋ ЉУБИЦА
+ДРАГОМИРОВИЋ САВА
+ДРАГОМИРОВИЋ ТОДОР
+ДРАГОСАВАЦ АНГЕЛИНА
+ДРАГОСАВАЦ ИЛИЈА
+ДРАГОСАВАЦ КАТИЦА
+ДРАГОСАВАЦ МЕЛАНИЈА
+ДРАГОСАВАЦ МИЛАНКО
+ДРАГОСАВАЦ МИЛОРАД
+ДРАГОСАВАЦ НИКОЛА
+ДРАГОСАВАЦ ЗУЗАНА
+ДРАГОСАВЉЕВИЋ ЂУРА
+ДРАГОСАВЉЕВИЋ ЉИЉАНА
+ДРАГОСАВЉЕВИЋ МАРИЈА
+ДРАГОСАВЉЕВИЋ МИРЈАНА
+ДРАГОСАВЉЕВИЋ МЛАДЕН
+ДРАГОСАВЉЕВИЋ СТЕВА ДИПЛ ИНГ
+ДРАГОСАВЉЕВИЋ СТОЈША
+ДРАГОСАВЉЕВИЋ ВОЈА
+ДРАГОСЛАВИЋ ВИДАК
+ДРАГОВАЦ СЛАВКО
+ДРАГОВИЋ ЧЕДО
+ДРАГОВИЋ БУДИМИР
+ДРАГОВИЋ ДРАГАН
+ДРАГОВИЋ ГОЈКО
+ДРАГОВИЋ ГОРДАНА
+ДРАГОВИЋ ЈАСМИНКА
+ДРАГОВИЋ ЈОВАНКА
+ДРАГОВИЋ МИЛАН
+ДРАГОВИЋ МИЛИЋ
+ДРАГОВИЋ МИЛИЦА
+ДРАГОВИЋ МИРА
+ДРАГОВИЋ РАНКО
+ДРАГОВИЋ СНИЈЕЖАНА
+ДРАГОВИЋ СТАМЕНКА
+ДРАГОВИЋ СВЕТИМИР
+ДРАГОВИЋ СВЕТОМИР
+ДРАГОВИЋ ВЕРА
+ДРАГОВИЋ ВИДАК
+ДРАГОВИЋ ВЛАДА
+ДРАГОВИЋ ЗОРАН
+ДРАГУМИЛО МИЛОМИР
+ДРАГУМИЛО МИЛУТИН
+ДРАГУНОВИЋ БОРИСЛАВ
+ДРАГУНОВИЋ ПЕРО
+ДРАГУТИНОВИЋ ЖИВКА
+ДРАГУТИНОВИЋ МИЛАН
+ДРАГУТИНОВИЋ ПРЕДРАГ
+ДРАГУТИНОВИЋ ЗОРАН
+ДРАХ ЈЕЛИСАВЕТА
+ДРАХ ЈЕЛИСАВЕТА
+ДРАХОТУСКИ БОРИСЛАВ
+ДРАХОТУСКИ ПЕТАР
+ДРАКИЋ ДРАГИША
+ДРАКИЋ СЛОБОДАН ДР
+ДРАКУЛ ВАСО
+ДРАКУЛА ДУШАН
+ДРАКУЛА РАДМИЛА
+ДРАКУЛИЋ АЛЕКСАНДАР
+ДРАКУЛИЋ БРАНИСЛАВ
+ДРАКУЛИЋ ДРАГОМИР ДР СТОМАТОЛОГ
+ДРАКУЛИЋ ДРАГОМИР
+ДРАКУЛИЋ ЕРЖЕБЕТ
+ДРАКУЛИЋ ЈЕЛЕНА
+ДРАКУЛИЋ ЈОВАН
+ДРАКУЛИЋ КОСТА
+ДРАКУЛИЋ ЛАЗАР
+ДРАКУЛИЋ ЉУБИЦА
+ДРАКУЛИЋ МАРА
+ДРАКУЛИЋ МАРА
+ДРАКУЛИЋ МИЛАН
+ДРАКУЛИЋ МИЛАН
+ДРАКУЛИЋ МИЛАН
+ДРАКУЛИЋ МИЛИВОЈ
+ДРАКУЛИЋ МИРОСЛАВ
+ДРАКУЛИЋ ПРЕДРАГ
+ДРАКУЛИЋ СМИЉА
+ДРАКУЛИЋ СОФИЈА
+ДРАКУЛИЋ СТЕВАН
+ДРАКУЛИЋ СТОЈАНКА
+ДРАКУЛИЋ СВЕТИСЛАВ
+ДРАКУЛИЋ СВЕТОЗАР
+ДРАКУЛИЋ СВЕТОЗАР
+ДРАКУЛИЋ ТОДОР
+ДРАКУЛИЋ ЗОРАН
+ДРАПШИН ЧАВА
+ДРАПШИН ЂОРЂЕ
+ДРАПШИН ДАНИЦА
+ДРАПШИН ЛЕПОСАВА
+ДРАПШИН МИЛАН
+ДРАПШИН МИЛЕНКО
+ДРАПШИН ПЕТАР
+ДРАПШИН ПРЕДРАГ
+ДРАПШИН САВА
+ДРАПШИН ЗАГОРКА
+ДРАПШИН ЗОРАН
+ДРАПИЋ БОГДАН
+ДРАПИЋ СЕНИТА
+ДРАПИЋ СЛОБОДАН
+ДРАПИЋ ВЕЛИМИР
+ДРАПОШ СТЕВАН
+ДРЕШКАИ ШАНДОР
+ДРЕЦУН ВЕЉКО
+ДРЕХЕР ЛАЈОШ
+ДРЕХЕР НИКОЛА
+ДРЕХЕР ОТО
+ДРЕХЕР ВИЛИМ ДИПЛ ИНГ
+ДРЕКОВИЋ ЂУРО
+ДРЕКОВИЋ КАТИЦА
+ДРЕКОВИЋ ЗОРАН
+ДРЕМПЕТИЋ ДАРКО
+ДРЕМПЕТИЋ ПЕТАР
+ДРЕМПЕТИЋ ЗДЕНКО
+ДРЕЊАКОВИЋ ЈЕЛИЦА
+ДРЕНКОВИЋ ЛАСЛО
+ДРЕНОВЧАНИН ЉУБОМИР
+ДРЕНОВАЦ РАНКО
+ДРЕНОВЕЦ ЦВЕТО
+ДРЕТАР МИРКО
+ДРЕЗГА ЈАКОВ
+ДРЕЗГА ТОДОР
+ДРЕЗГИЋ ДАРА
+ДРЕЗГИЋ ИЛИЈА
+ДРЕЗГИЋ МАРИЈА
+ДРЕЗГИЋ МИЛАН
+ДРЕЗГИЋ РАДИВОЈ
+ДРЕЗГИЋ СВЕТЛАНА
+ДРЕЗГИЋ ВЛАДИМИР
+ДРИГУЛОВ СПАСОЈЕ
+ДРИНЧЕВИЋ ЖИВОТА
+ДРИНЧЕВИЋ ДЕСАНКА ДР
+ДРИНЧИЋ МЕЛАНИЈА
+ДРИНЧИЋ МИЛОЈКО
+ДРИНЧИЋ РАДМИЛА
+ДРИНИЋ АЛЕКСАНДАР
+ДРИНИЋ БОРИСЛАВ
+ДРИНИЋ ЈАГОДА
+ДРИНИЋ МИЛАН
+ДРИНИЋ МИЛЕНКО
+ДРИНИЋ МИЛЕТА
+ДРИНИЋ МИЛОВАН
+ДРИНИЋ МИРКО
+ДРИНИЋ НЕДЕЉКО
+ДРИНИЋ ПЕРО
+ДРИНИЋ РАДМИЛА
+ДРИНИЋ САВО
+ДРИНИЋ СЛАВИЦА
+ДРИНИЋ СТЕВО
+ДРИНИЋ ТОМО
+ДРИНИЋ ЗДРАВКО
+ДРИЊОВСКИ АЛЕКСАНДАР
+ДРИЊОВСКИ ВОЈИСЛАВ
+ДРК БАРБАРА
+ДРКУШИЋ ИЛИЈА
+ДРЉАЧА ЂОРЂЕ
+ДРЉАЧА ЂОРЂЕ
+ДРЉАЧА БРАНКА
+ДРЉАЧА ДРАГАН
+ДРЉАЧА ДУШАН
+ДРЉАЧА МАРКО
+ДРЉАЧА МИЋА
+ДРЉАЧА МИЛАНКО
+ДРЉАЧА МИЛОРАД
+ДРЉАЧА МИРКО
+ДРЉАЧА НЕЂО
+ДРЉАЧА НЕНАД
+ДРЉАЧА РАДОВАН
+ДРЉАЧА РАДОВАН
+ДРЉАЧА СТОЈА
+ДРЉАЧА ЗДРАВКА
+ДРЉАЧИЋ КАТА
+ДРЉЕВИЋ ЂУРО
+ДРЉЕВИЋ АНИЦА
+ДРЉЕВИЋ ЈОВАНКА
+ДРЉЕВИЋ МИЛЕТА
+ДРЉЕВИЋ МИЉА
+ДРЉЕВИЋ МИРЈАНА
+ДРЉИЋ МИЛАДИН
+ДРЉИЋ ПРЕДРАГ
+ДРМАНАЦ МИРОСЛАВ
+ДРМАНАЦ СТАНКО
+ДРМАНОВИЋ МИЛЕВА
+ДРНДАРЕВИЋ БОРА
+ДРНДАРЕВИЋ БОРА
+ДРНДАРЕВИЋ КАТИЦА
+ДРНДАРСКИ МИЛАН
+ДРНДАРСКИ ВЕЛИМИР
+ДРОБАЦ ЖАРКО
+ДРОБАЦ ЖАРКО
+ДРОБАЦ ЂОРЂЕ
+ДРОБАЦ АНА
+ДРОБАЦ БРАНИСЛАВ
+ДРОБАЦ ЉИЉАНА
+ДРОБАЦ МИЛАН
+ДРОБАЦ МИЛАН
+ДРОБАЦ МИЛОРАД
+ДРОБАЦ МИРОСЛАВ
+ДРОБАЦ НЕНАД
+ДРОБАЦ НИКОЛА
+ДРОБАЦ ПРЕДРАГ
+ДРОБАЦ РАДОЈКА
+ДРОБАЦ РАДОЈКА
+ДРОБАЦ СЛАВКО
+ДРОБАЦ ВЛАДО
+ДРОБАЦ ВУКАШИН НОВИНАР
+ДРОБАЦ ЗДРАВКО
+ДРОБИНА ЈУЛИЈАНА
+ДРОБИНА ЉУБИЦА
+ДРОБИНА МИХАЉ
+ДРОБИЊАК РУЖА
+ДРОБЊАК ЕВИЦА
+ДРОБЊАК ЉИЉАНА
+ДРОБЊАК МИЛИВОЈЕ
+ДРОБЊАК МИОДРАГ
+ДРОБЊАК МОМЧИЛО
+ДРОБЊАК РАДИША
+ДРОБЊАК РАДОЈИЦА
+ДРОБЊАК РАДОЈИЦА
+ДРОБЊАКОВИЋ ДУШАН
+ДРОБЊАКОВИЋ ГВОЗДЕН
+ДРОБЊАКОВИЋ РИСТИВОЈЕ
+ДРОБЊИК ЈОСИП
+ДРОБЊИК ЈУДИТ
+ДРОЊАК ЖИВАНА
+ДРОЊАК ЖИВКО
+ДРОЊАК ЂОРЂЕ
+ДРОЊАК ДАРИНКА
+ДРОЊАК МИЛАН
+ДРОЊАК МИРЈАНА
+ДРОЊАК ОЛГА
+ДРОЊАК РАСТКО
+ДРОЊАК САВИНКА
+ДРОЊАК СТЕВАН
+ДРОПКА АРПАД
+ДРОПКА ЈЕЛЕНА
+ДРОПКА НАТАША
+ДРОПКА СТЕВАН
+ДРОПО МИЛКА
+ДРОПО ВАСА
+ДРОПО ЗОРАН
+ДРОЗДИК ИЛОНА
+ДРОЗДИК МАРИЈА
+ДРУЖЕТИЋ ЖИКА
+ДРУГОВИЋ РУЖИЦА
+ДРУГОВИЋ РУЖИЦА
+ДРВЕНЏИЈА РАДОВАН
+ДРВЕНЏИЈА СЛАВКО
+ДРВЕЊАК ВЕРИЦА
+ДУЧЕВИЋ ВАСИЛИЈЕ
+ДУЧИЋ МИЛАН
+ДУЧИЋ СЛОБОДАН
+ДУШАНИЋ ДРАГАН
+ДУШАНИЋ ЛАЗАР
+ДУШАНИЋ ЉУБИЦА
+ДУШАНИЋ НАДА
+ДУШАНИЋ НЕНАД
+ДУШАНОВИЋ СТАНОЈЕ
+ДУШАНОВИЋ ЗВЕЗДАНА
+ДУШЕК ЗЛАТКО ДИПЛ ОЕЦ
+ДУШИЋ БРАНКО
+ДУШИЋ ЗОРАН
+ДУЋАК АНДРИЈА
+ДУЋАК АРАНКА
+ДУЋАК БАРБАРА
+ДУЋАК МИХАЈЛО
+ДУЋАК ТОМА
+ДУЂАК ДРАГУТИН
+ДУЂИК ФРАЊА
+ДУБАИЋ БОЖИДАР
+ДУБАИЋ МИЛАН
+ДУБАИЋ МИРКО
+ДУБАЈИЋ ЖАРКО
+ДУБАЈИЋ ЂУРА
+ДУБАЈИЋ АЛЕКСАНДАР
+ДУБАЈИЋ БИЉАНА
+ДУБАЈИЋ ДРАГАН
+ДУБАЈИЋ МИЛИЦА
+ДУБАЈИЋ МИЛОШ
+ДУБАЈИЋ МИРКО
+ДУБАЈИЋ ВИДА
+ДУБЉЕВИЋ СЛОБОДАН
+ДУБЉЕВИЋ СТОЈАН
+ДУБЉЕВИЋ ВОЈИСЛАВ
+ДУБЉЕВИЋ ЗЛАТА
+ДУБЊАКОВИЋ МАРТА
+ДУБОВСКА МИЛОТА
+ДУБОВСКИ ЈАНКО
+ДУБОВСКИ КАТИЦА
+ДУБРАВАЦ ДУШАН
+ДУБРОЈА ДАНИЦА
+ДУБРОЈА СЛОБОДАН
+ДУЦАНОВИЋ БОШКО
+ДУЦИЋ МИЛАН
+ДУДА ПАВЛЕ
+ДУДАШ ЂУРА
+ДУДАШ ЂУРА
+ДУДАШ ЂУРА
+ДУДАШ АНА
+ДУДАШ АНТАЛ
+ДУДАШ АРПАД
+ДУДАШ АРПАД
+ДУДАШ БОРИС
+ДУДАШ ХЕЛЕНА
+ДУДАШ ЈАНОШ
+ДУДАШ ЈУЛИЈАН
+ДУДАШ ЛАЗАР
+ДУДАШ МАРИНКО
+ДУДАШ МИХАЉ
+ДУДАШ ПИРОШКА
+ДУДАШ РОМАН
+ДУДАШ СЛАВОМИР
+ДУДАК ЈАРОСЛАВ
+ДУДАК МАРИЈА
+ДУДАК СТЕВАН
+ДУДАН МИЛИВОЈ
+ДУДАР НИКОЛА
+ДУДАРИН ЖАРКО
+ДУДАРИН ДРАГАН
+ДУДАРИН САВА
+ДУДАРИН СТЕВАН
+ДУДАРИН СТЕВАН
+ДУДАРИН ВЕСЕЛИН
+ДУДАРИН ЗОРАН
+ДУДАРИН ЗОРАН
+ДУДИЋ АНИЦА
+ДУДИЋ КОСТА
+ДУДИЋ КОСТА
+ДУДИЋ МАТЕ
+ДУДИЋ МИЛА
+ДУДИЋ МИЛЕ
+ДУДИЋ МИЛОШ
+ДУДИЋ МИЛОШ
+ДУДИЋ НАДА
+ДУДИЋ СВЕТОЗАР
+ДУДИЋ ВАСА
+ДУДИЋ ВАСА
+ДУДИЋ ВЕРИЦА
+ДУДИЋ ЗОРАН
+ДУДОЈЕВИЋ НЕЏАД
+ДУДОК ДАНИЕЛ ДР
+ДУДОК ЈАНКО
+ДУДОК ПАВЕЛ
+ДУДУКОВИЋ АЛЕКСАНДАР
+ДУДУКОВИЋ СЛОБОДАН
+ДУДУКОВИЋ СТЕВАН
+ДУДВАРСКИ БОЖИДАР
+ДУДВАРСКИ ДРАГОЉУБ
+ДУДВАРСКИ ИВАН
+ДУДВАРСКИ ПАЈА
+ДУДВАРСКИ ВЕЛИНКА
+ДУГАЈЛИЋ АНЂЕЛКА
+ДУГАЈЛИЋ АРЈАНА
+ДУГАЈЛИЋ МИЛОШ
+ДУГАЈЛИЋ РАДОВАН
+ДУГАЛИЋ ДРАГАН
+ДУГАНЏИЈА БРАНКО
+ДУГАНЏИЈА ДРАГОМИР
+ДУГАНЏИЈА ДУШАН
+ДУГАНЏИЈА НЕДЕЉКО
+ДУГИН СТОЈАН
+ДУГОШИЈА ЖИВКО
+ДУГОШИЈА-МАКСИМОВИЋ НАДА
+ДУГОЊИЋ МИЛЕ
+ДУГОЊИЋ МИЛУТИН
+ДУГОЊИЋ НИКОЛА
+ДУГОЊИЋ СВЕТОМИР
+ДУХ КАТАРИНА
+ДУХАЧЕК ВЛАДО
+ДУИЋ ЈОСИП
+ДУЈАКОВИЋ МИЛЕНА
+ДУЈАКОВИЋ МИЛИЦА
+ДУЈАКОВИЋ НОВА
+ДУЈАКОВИЋ ВЕЉКО
+ДУЈЕВСКИ ВАНГЕЛ ДР
+ДУЈИЋ ЂОРЂЕ
+ДУЈИЋ ИВАН
+ДУЈИЋ ИВИЦА
+ДУЈИЋ ЉУБИЦА
+ДУЈИЋ СЛОБОДАН
+ДУЈИЋ СЛОБОДАН
+ДУЈИЋ СЛОБОДАН
+ДУЈИЋ СМИЉА
+ДУЈИЋ СТОЈАНКА
+ДУЈИН ЖИВА
+ДУЈИН ЖИВКО
+ДУЈИН ДАНИЦА
+ДУЈИН ЛУКА
+ДУЈИН СИМЕОН
+ДУЈИН СВЕТИСЛАВ
+ДУЈИН ТЕОДОР
+ДУЈИН ВИТОМИР
+ДУЈКИЋ ВЛАДИСЛАВ
+ДУЈКОВИЋ БРАНКО
+ДУЈКОВИЋ ПЕТАР
+ДУЈКОВИЋ ТЕОДОР
+ДУЈКОВИЋ ВЛАДИМИР
+ДУЈЛОВИЋ БОРА
+ДУЈМИЋ АНТЕ
+ДУЈМОВИЋ ЕЛИЗАБЕТА
+ДУЈМОВИЋ ЕВА
+ДУЈМОВИЋ ФЕРЕНЦ
+ДУЈМОВИЋ ЈОСИП
+ДУЈОВИЋ ИЛИЈА
+ДУЈОВИЋ РАДМИЛА
+ДУЈОВИЋ РАДМИЛА
+ДУКА МИРОСЛАВ
+ДУКАИ АНДРАШ
+ДУКАН НАТАША
+ДУКАРИЋ ВИДА
+ДУКЕС ФОСКА
+ДУКИЋ ЂУРО
+ДУКИЋ БОРА
+ДУКИЋ ДАНИЛО
+ДУКИЋ ДРАГАН
+ДУКИЋ ДРАГИЦА
+ДУКИЋ ДУШАН
+ДУКИЋ ИВАНКА
+ДУКИЋ ЈЕЛЕНА
+ДУКИЋ ЈОВАН
+ДУКИЋ ЈОВАН
+ДУКИЋ КОСА
+ДУКИЋ ЉУБИЦА
+ДУКИЋ МИЛАН
+ДУКИЋ МИЛАН
+ДУКИЋ МИЛАН
+ДУКИЋ МИЛИЦА
+ДУКИЋ МИЛИЦА
+ДУКИЋ МИРЈАНА
+ДУКИЋ ПРЕДРАГ
+ДУКИЋ РАДЕ
+ДУКИЋ РАДЕ
+ДУКИЋ РАЈКО
+ДУКИЋ СЛАВИЦА
+ДУКИЋ СОФИЈА
+ДУКИЋ СТЕВО ДИПЛ ИНГ
+ДУКИЋ ВУКАШИН ДР
+ДУКИЋ ЗОРАН
+ДУКОВА ЛИЛИ
+ДУКОВСКИ СВЕТИСЛАВ
+ДУЛЕЈАН ЖИВАДИНКА
+ДУЛЕЈАН СЛАВКО
+ДУЛИЋ ШАНДОР
+ДУЛИЋ АНКА
+ДУЛИЋ ИВАН
+ДУЛИЋ ЈОСИП
+ДУЛИЋ ЈОСИП
+ДУЛИЋ ЉУДЕВИТ
+ДУЛИЋ МАГДА
+ДУЛИЋ МИХАЈЛО
+ДУЛИЋ МИРОСЛАВ
+ДУЛИЋ НИКОЛА
+ДУЛОВИЋ АНЂЕЛКО
+ДУЛОВИЋ БОГДАН
+ДУЛОВИЋ БРАНКО
+ДУЛОВИЋ ДУШАН
+ДУЛОВИЋ МИЛОВАН
+ДУЛОВИЋ МИЛУН
+ДУЛОВИЋ РАДОВАН
+ДУЛОВИЋ РАНКО
+ДУЛОВИЋ РАТКА
+ДУЛОВИЋ ЗОРАН
+ДУМА МИЛОРАД
+ДУМАНЧИЋ СЛАВИЦА
+ДУМАНЧИЋ ЗДРАВКО
+ДУМАНОВИЋ МЛАДЕН
+ДУМЕДАШ СПАСОЈЕ
+ДУМЕДАШ ВАСИЛИЈЕ
+ДУМЕНЧИЋ ИВАН
+ДУМИЋ СЛАВИЦА
+ДУМИЋ СТЕВАН ДИПЛ ИНГ
+ДУМИТРОВ АЛЕКСАНДАР
+ДУМИТРОВ ДИМИТРИЈЕ
+ДУМИТРОВ ЛУКА
+ДУМИТРОВ МАРИЈА
+ДУМИТРОВ МИОДРАГ
+ДУМИТРОВ НЕДЕЉКО
+ДУМИТРОВ СЛАВКО
+ДУМИТРОВ ВЕРИЦА
+ДУМИТРОВ ВОЈИН
+ДУМНИЋ ШАРИКА
+ДУМНИЋ МИЛАН
+ДУМОНИЋ БРАНКО
+ДУМОНИЋ ПЕТАР
+ДУНЂЕР РАДЕ
+ДУНЂЕР РАДЕ
+ДУНЂЕРИН ЂОРЂЕ
+ДУНЂЕРОВ КОСАНА
+ДУНЂЕРОВ НАДА
+ДУНЂЕРОВ ПИРОШКА
+ДУНЂЕРОВИЋ РАДОВАН
+ДУНЂЕРСКИ ЖИВАН
+ДУНЂЕРСКИ ЂОРЂЕ
+ДУНЂЕРСКИ ЂОРЂЕ
+ДУНЂЕРСКИ АЛЕКСАНДАР
+ДУНЂЕРСКИ АНА
+ДУНЂЕРСКИ ЦВЕТАНА
+ДУНЂЕРСКИ ДРАГАН
+ДУНЂЕРСКИ ИВАНКА
+ДУНЂЕРСКИ ИВАН
+ДУНЂЕРСКИ ЈОВАН
+ДУНЂЕРСКИ МАРИЈА
+ДУНЂЕРСКИ МИЛАН
+ДУНЂЕРСКИ МИРЈАНА
+ДУНЂЕРСКИ НОВАК
+ДУНЂЕРСКИ СИМА
+ДУНЂЕРСКИ СОФИЈА
+ДУНЂЕРСКИ СТАНИСЛАВ
+ДУНЂЕРСКИ ТИХОМИР
+ДУНЂЕРСКИ ТРИВА
+ДУНЂЕРСКИ ЗДРАВКО
+ДУНДИЋ ХАРАЛАМПИЈЕ
+ДУНДИЋ ЈЕЛЕНА
+ДУНДИЋ СЛАВКО
+ДУНДОВИЋ СТЈЕПАН
+ДУНИЋ ДРАГИЋ
+ДУЊИЋ СТОЈАН
+ДУНОВИЋ МИЛКА
+ДУНОВИЋ НАТАША
+ДУПАК ИМРЕ
+ДУПАК МАРИЈА
+ДУПАЛО СЛАВКА
+ДУПОР ГОРДАНА
+ДУПОР МИЛОШ
+ДУПОР МИРКО
+ДУПОР ЗОРИЦА
+ДУРАЧКОВИЋ БАХРИЈА
+ДУРАЧКОВИЋ СЕНИЈА
+ДУРАКОВИЋ ЂУРО
+ДУРАКОВИЋ ДРАГАН
+ДУРАКОВИЋ ГОЈКО
+ДУРАКОВИЋ ГОЈКО
+ДУРАН БРАНКО
+ДУРАНОВИЋ ВЛАДИМИР
+ДУРГУТОВИЋ РИФАД
+ДУРКАЛИЋ ВИКТОР
+ДУРКОВИЋ МИЛОРАД
+ДУРКОВИЋ ВЛАЈКО
+ДУРКУЛИЋ АЛЕКСАНДАР
+ДУРКУЛИЋ СПАСОЈЕ
+ДУРЛЕВИЋ МИЛИЦА
+ДУРМАН ДРАГОЉУБ
+ДУРМАН ГОЈКО
+ДУРМАН НАДА
+ДУРМАН РАСТИСЛАВ
+ДУРОШКА ШАНДОР
+ДУРОШКА ИВАНКА
+ДУРОШКА ЈЕЛЕНА
+ДУРОШКА МИХАЈЛО
+ДУРОШКИ ЈУЛИЈАНА
+ДУРУШКА ПАЛ
+ДУРУТОВИЋ ДРАГАН
+ДУРУТОВИЋ РАДОВАН
+ДУРУТОВИЋ СЕНКА
+ДУСИЋ ГОСПАВА
+ДУСПАРА МИЛЕНА
+ДУСПЕР ШИМО
+ДУТИНА АНДРИЈА
+ДУТИНА БРАНИСЛАВ
+ДУТИНА БРАТОЉУБ
+ДУТИНА ДРАГАН
+ДУТИНА ИРЕНА
+ДУТИНА МИОМИР
+ДУТИНА СЛОБОДАН
+ДУТИНА ВЛАДИМИР
+ДУВЊАК ДИВНА
+ДУВЊАК ДИВНА
+ДУВЊАК ИВИЦА
+ДУВЊАК КОСТА
+ДУВЊАК ЛАЗАР
+ДУВЊАК ЛАЗАР
+ДУВЊАК МАРА
+ДУВЊАК МИЛЕНКО
+ДУВЊАК МИЛОРАД
+ДУВЊАК НЕНАД
+ДУВЊАК РАДОЈКА
+ДУВЊАК СТАНА
+ДВОРАЧКО ШАНДОР
+ДВОРНИЋ МИРЈАНА
+ЕШКИ ЕРЖЕБЕТ
+ЕШКИЧЕВИЋ ВАСА
+ЕЋИМ РАДОВАН
+ЕЋИМОВИЋ ГОЈКО
+ЕЋИМОВИЋ НИКОЛА
+ЕЋИМОВИЋ ВЕСЕЛИН
+ЕЂЕДИ ЈОЖЕФ
+ЕЂЕДИ ЈУЛИЈАНА
+ЕБЕНХЕ-ЈОВАНОВИЋ ЈАСНА ДР
+ЕБЕНХЕ НИКОЛА
+ЕБЕРХАРД-МАРКОВИЋ МИРЈАНА
+ЕБЕРХАРТ ПЕТАР
+ЕБЕРСТ-СЕДЛАЧЕК ГАБРИЕЛА
+ЕЦЕТ ЈОВАН
+ЕЦЕТ ЈОВАН
+ЕЦЕТ КАТАЛИН
+ЕЦЕТ ПАЛ
+ЕДЕЛЕЊИ МАРИЈА
+ЕДЕЛИНСКИ ЕУГЕН
+ЕДЕЛИНСКИ ЈОАКИМ
+ЕДЕЛИНСКИ ЉУБИЦА
+ЕДЕЛИНСКИ ВЕРА
+ЕДЕЛИНСКИ ВЕРА
+ЕФТЕМИЈУ НИКОЛА
+ЕГЕЉА МИЛИЦА
+ЕГЕЉА НЕБОЈША
+ЕГЕРИЋ МИРОСЛАВ ДР
+ЕГИЋ ЧЕДМИЛА
+ЕГИЋ ЂОКА
+ЕГИЋ БРАЦО
+ЕГИЋ БРАНИСЛАВ
+ЕГИЋ ЦВЕТАНКА
+ЕГИЋ ДРАГАН
+ЕГИЋ МАНЕ
+ЕГИЋ МАРИЈАН
+ЕГИЋ МИЦА
+ЕГИЋ МИЛАН
+ЕГИЋ МИЛАН
+ЕГИЋ ОЛГА
+ЕЈИЋ МИЛАН
+ЕКЕШ АЛЕКСАНДАР
+ЕКХАРДТ ЉУБИЦА
+ЕКЛИЋ МАРЈАН
+ЕКМЕШЧИЋ МИЛИСАВ
+ЕКМЕЏИЋ АНКА
+ЕКМЕЏИЋ НИКОЛА
+ЕКРЕС ЂОРЂЕ
+ЕКРЕС АНДРИЈА
+ЕКРЕС ЈАНОШ
+ЕКРЕС ЈУЛИЈАНА
+ЕКРЕС МИЛКА
+ЕКРЕС НАНДОР
+ЕКРЕС ОТО
+ЕКРЕС-РАКИЋ ВЕРИЦА
+ЕКРЕС РОЗАЛИЈА
+ЕКРЕС ВАЛЕРИЈА
+ЕЛЕК ЕВА
+ЕЛЕРО ЗВЕЗДАНА
+ЕЛЕСИН БРАНИСЛАВ
+ЕЛЕСИН БРАНКА
+ЕЛЕСИН ДРАГА
+ЕЛЕСИН ДРАГОЉУБ
+ЕЛЕСИН ДУШАНКА
+ЕЛЕСИН ГРАДИМИР
+ЕЛЕСИН МИРОСЛАВ
+ЕЛЕСИН САВА
+ЕЛЕСИН СИНИША
+ЕЛЕСИН ВЛАДИМИР
+ЕЛЕЗ ЂОКА
+ЕЛЕЗ ГОРАН
+ЕЛЕЗОВИЋ НИКОЛА
+ЕЛЕЗОВИЋ ПЕТАР
+ЕЛХАРТ ЛАЗАР
+ЕЛХАРТ ЛАЗАР
+ЕЛИАС ИРЕНА
+ЕЛИЈАШ ЈАН
+ЕЛИЗЕК ЖУЖАНА
+ЕЛИЗЕК ИВАН
+ЕЛОР ИШТВАН
+ЕЛОР ЈАНОШ
+ЕЛОР ЉУБИЦА
+ЕЛОР ПАВЛЕ
+ЕЛОР ЗОРИЦА
+ЕЛТЕР ЈАНОШ
+ЕЛТЕР ЗОЛТАН
+ЕМЕР ЈАКОВ
+ЕМЕР МАРКО
+ЕМИНИ БАЈРАМ
+ЕМИНИ ГАНИ
+ЕМИНИ РОЗАЛИЈА
+ЕНАХОЛО НАДА
+ЕНГЕЛМАН КАТИЦА
+ЕНГЕРТ МИХАЈЛО
+ЕНГЛЕР ЛАЈОШ
+ЕПИФАНИЋ ЦВЕТАНА
+ЕПИФАНИЋ ДУШКО
+ЕРЧИ-ВАРГА МАРИШКА
+ЕРЧИЋ БОЈАНА
+ЕРЧИЋ МИЛОРАД
+ЕРЧИЋ РАДОВАН
+ЕРШТЕ ЖЕЉКО
+ЕРАК БОРО
+ЕРАК ДУШАН
+ЕРАК ИЛИЈА
+ЕРАК ЛАЗАР
+ЕРАК МАРКО
+ЕРАКОВИЋ БОГДАН
+ЕРАКОВИЋ ДАНИЛО
+ЕРАКОВИЋ ДРАГИЦА
+ЕРАКОВИЋ КРИСТИВОЈ
+ЕРАКОВИЋ ЉУБИША
+ЕРАКОВИЋ ЉУБОЈЕ
+ЕРАКОВИЋ МИЛОРАД
+ЕРАКОВИЋ МИТАР
+ЕРАКОВИЋ РАДЕ
+ЕРАКОВИЋ РАЈКО
+ЕРАКОВИЋ СРЕТЕН
+ЕРБЕШ ЕРЖЕБЕТ
+ЕРБЕЖНИК СОЊА
+ЕРБЕС БРАНКА
+ЕРБЕС МАРГИТА
+ЕРБЕЗ БЛАЖО
+ЕРБЕЗ ЕРЖЕБЕТ
+ЕРЦЕГ ШПИРО
+ЕРЦЕГ ЖАРКО
+ЕРЦЕГ ЖИВКО
+ЕРЦЕГ ДАРА
+ЕРЦЕГ ЉИЉАНА
+ЕРЦЕГ МИКА
+ЕРЦЕГ РАДОВАН
+ЕРЦЕГ РАЈКО
+ЕРЦЕГ РАЈКО
+ЕРЦЕГ СЛОБОДАН
+ЕРЦЕГ СТАНА
+ЕРЦЕГ ЗДЕНКО
+ЕРЦЕГ ЗДРАВКО
+ЕРЦЕГАН ГОРАН
+ЕРЦЕГАН МИТА
+ЕРЦЕГОВЧЕВИЋ ЖИВОДАР
+ЕРЦЕГОВЧЕВИЋ ДОСТА
+ЕРЦЕГОВАЦ АНЂЕЛКО
+ЕРЦЕГОВАЦ БРАТИСЛАВ
+ЕРЦЕГОВАЦ МИОДРАГ
+ЕРЦЕГОВАЦ МИТАР
+ЕРЦЕГОВАЦ НАДА
+ЕРЦЕГОВАЦ САВА
+ЕРЦЕГОВАЦ СЛОБОДАН
+ЕРЦЕГОВАЦ СТЕВАН
+ЕРЦЕГОВАЦ ТОМИСЛАВ
+ЕРЦЕГОВИЋ ДАНИЦА
+ЕРДЕШ ДАНИЕЛ
+ЕРДЕШ ЕМИЛ
+ЕРДЕШ ЕСТЕР
+ЕРДЕШ ЕТЕЛКА
+ЕРДЕШ ИЛОНА
+ЕРДЕШ ИВАН
+ЕРДЕШ ЈУЛИЈАНА
+ЕРДЕШ КЛАРА
+ЕРДЕШ ЛАСЛО
+ЕРДЕШ ПАЛ
+ЕРДЕШ ПЕТАР
+ЕРДЕШИ ЛАСЛО
+ЕРДЕШИ ВАЛЕРИЈА
+ЕРДЕГ АРАНКА
+ЕРДЕГ ИЛОНА
+ЕРДЕГ ЈАНОШ
+ЕРДЕГ ЈУСТИНА
+ЕРДЕГ ТОМИСЛАВ
+ЕРДЕИ ШАНДОР
+ЕРДЕИ ЈОСИП
+ЕРДЕИ ЈОВАН
+ЕРДЕИ МИХАЈЛО
+ЕРДЕИ ПЕТАР
+ЕРДЕИ ЗОЛТАН
+ЕРДЕЉ БРАНКО
+ЕРДЕЉ ЕМИЛ
+ЕРДЕЉ ГОРАН
+ЕРДЕЉ ЛУДМИЛА
+ЕРДЕЉ МИЛУТИН
+ЕРДЕЉАН ЖИВКО
+ЕРДЕЉАН АЛЕКСАНДАР
+ЕРДЕЉАН АЛКСАНДАР
+ЕРДЕЉАН БИСЕРКА
+ЕРДЕЉАН БОШКО
+ЕРДЕЉАН-БОГДАНОВ СЛАВИЦА
+ЕРДЕЉАН ДАНИЛО
+ЕРДЕЉАН ДОБРИВОЈ
+ЕРДЕЉАН ДУШАНКА
+ЕРДЕЉАН ДУШАН
+ЕРДЕЉАН ДУШАН
+ЕРДЕЉАН ДУШАН
+ЕРДЕЉАН ДУШАН
+ЕРДЕЉАН ЈЕЛЕНА
+ЕРДЕЉАН КАТИЦА
+ЕРДЕЉАН ЉУБИЦА
+ЕРДЕЉАН ЉУБОМИР
+ЕРДЕЉАН МИЛАДИН
+ЕРДЕЉАН МИЛАН ДИПЛ ИНГ
+ЕРДЕЉАН МИЛАН
+ЕРДЕЉАН МИЛЕНКО
+ЕРДЕЉАН МИЛИВОЈ
+ЕРДЕЉАН МИЛОРАД
+ЕРДЕЉАН МИЛОРАД
+ЕРДЕЉАН МИЛОВАН
+ЕРДЕЉАН МИРЈАНА
+ЕРДЕЉАН НАДЕЖДА
+ЕРДЕЉАН НИКОЛА
+ЕРДЕЉАН ПРЕДРАГ
+ЕРДЕЉАН РАДИВОЈ
+ЕРДЕЉАН СЛАВКА
+ЕРДЕЉАН СЛАВКА
+ЕРДЕЉАН СЛОБОДАН ДИПЛ ИНГ
+ЕРДЕЉАН СРЕДОЈЕ
+ЕРДЕЉАН СТЕВАН
+ЕРДЕЉАН СВЕТИСЛАВ
+ЕРДЕЉАН ТИХОМИР
+ЕРДЕЉАН ВЕРИЦА
+ЕРДЕЉАН ВУКИЦА
+ЕРДЕЉАН ЗЛАТКО
+ЕРДЕЉАН ЗОРА
+ЕРДЕЉАНИН АНЂЕЛКО
+ЕРДЕЉИ ЂЕРЂ
+ЕРДЕЉИ АНТАЛ
+ЕРДЕЉИ БЕЛА
+ЕРДЕЉИ БИСЕРКА
+ЕРДЕЉИ БОРБАЛА
+ЕРДЕЉИ ДЕЖЕ
+ЕРДЕЉИ ДРАГИЦА
+ЕРДЕЉИ ФРАЊА
+ЕРДЕЉИ ГАШПАР
+ЕРДЕЉИ ИШТВАН
+ЕРДЕЉИ ЈЕНЕ
+ЕРДЕЉИ ЈОЖЕФ
+ЕРДЕЉИ КАРОЉ
+ЕРДЕЉИ ЛАЈОШ
+ЕРДЕЉИ ЛАСЛО ДИПЛ ИНГ
+ЕРДЕЉИ МАТИЛДА
+ЕРДЕЉИ СОФРОНА
+ЕРДЕЉИ СТЕВАН
+ЕРДЕЉИ ТИБОР
+ЕРДЕВИК МАРА
+ЕРДЕВИК МАРИЈА
+ЕРДЕВИК СЛОБОДАН
+ЕРДЕВИК ВОЈИСЛАВ
+ЕРДЕВИК ВУКИЦА
+ЕРДЕВИК ЗДРАВКО
+ЕРЕШ ШАНДОР
+ЕРЕШ ЛАСЛО
+ЕРЕЂИН ВУКАШИН
+ЕРЕГ ЛАЈОШ
+ЕРЕМИЋ ЈЕЛИЦА
+ЕРЕМИЋ ЈОВАН
+ЕРЕМИЋ НИНОСЛАВ
+ЕРЕМИЋ РАДОВАН
+ЕРЕМИЋ САВА
+ЕРЕМИЋ СЛАВИЦА
+ЕРЕМИЋ СТАНИСЛАВА
+ЕРЕМИЋ ТИХОМИР ДР ЛЕКАР
+ЕРЕМИЋ ВЕСЕЛИНКА
+ЕРЕМИЈА МИЛАН
+ЕРЕМИЈА СТАНКО
+ЕРЕМИН НИКОЛА
+ЕРЕНТА ЉУБИЦА
+ЕРГ ОЛГА
+ЕРГЕЛАШЕВ ДУБРАВКА
+ЕРГЕЛАШЕВ ИВАН
+ЕРГЕЛАШЕВ ЈОВАН
+ЕРГЕЛАШЕВ МИЛАН
+ЕРГЕЛАШЕВ МИЛОШ
+ЕРГЕЛАШЕВ МОМЧИЛО
+ЕРГЕЛАШЕВ НЕСТОР
+ЕРГЕЛАШЕВ СМИЉКА
+ЕРГЕЛАШЕВ ТИХОМИР
+ЕРГЕЛАШЕВ ЗОРКА
+ЕРХАРТИЧ АНА
+ЕРХАРТИЧ РУДОЛФ
+ЕРИ ИЛОНА
+ЕРИ ЈАНОШ
+ЕРИ ЈОВАН
+ЕРИЋ ЂУЛИНКА
+ЕРИЋ БОЖИН
+ЕРИЋ ЉИЉАНА
+ЕРИЋ МАРКО
+ЕРИЋ МИЛОМИР
+ЕРИЋ НЕБОЈША
+ЕРИЋ ПЕРО
+ЕРИЋ СНЕЖАНА
+ЕРИЋ СВЕТОМИР
+ЕРИЋ ЗОРИЦА
+ЕРКИЋ ЂОРЂЕ
+ЕРКИЋ ПЕТАР
+ЕРЛАУЕР ИВАН
+ЕРЛАУЕР ЈОСИП
+ЕРЛЕР ВЕРОНА
+ЕРНЕСТ ФРАЊА
+ЕРОР ЈОВАН
+ЕРОР ПЕТАР
+ЕРОР СТЕВАН
+ЕРСКИ ПЕТАР
+ЕРСКИ-ПЕТКОВИЋ СОЊА
+ЕРТЛ ФЕРЕНЦ
+ЕРТЛ ХЕДВИГА
+ЕРТЛ ЛАСЛО
+ЕРТЛ ВЛАСТА
+ЕС КЛАРА
+ЕСЕ ШАНДОР
+ЕСКИЋ СВЕТОЗАР
+ЕСТЕР ЈОСИП
+ЕСТЕР МАРИЈА ДР
+ЕСТЕР МАРТА
+ЕТШБЕРГЕР ЈАКОБ
+ЕТЕР ОТО
+ЕТЕРОВИЋ ВЕРА
+ЕТИНСКИ ЖИВАН
+ЕТИНСКИ ЖИВОЈИН
+ЕТИНСКИ ЂОРЂЕ
+ЕТИНСКИ ДРАГИЋ
+ЕТИНСКИ ДРАГИЋ
+ЕТИНСКИ ЈОВАН
+ЕТИНСКИ ЉУБИША
+ЕТИНСКИ МИХАЈЛО
+ЕТИНСКИ МИЛОШ
+ЕТИНСКИ МИЛОРАД
+ЕТИНСКИ МИЛОРАД
+ЕТИНСКИ МИЛОВАН
+ЕТИНСКИ НАДА
+ЕТИНСКИ ПЕТАР
+ЕТИНСКИ РАДОВАН
+ЕТИНСКИ СЛОБОДАНКА
+ЕТИНСКИ ВЕЉКО
+ЕТИНСКИ ВЕРА
+ЕТИНСКИ ВЕРИЦА
+ЕТОРЕ ЂИНА
+ЕВЂИЋ СТАНКА
+ЕВЕТОВИЋ БЛАШКО
+ЕВЕТОВИЋ ЈОСИП
+ЕВЕТОВИЋ ЈОВАН
+ЕВЕТОВИЋ ЈОВАН
+ЕВИЋ АЛЕКСАНДАР
+ЕВИЋ ДРАГИЦА
+ЕВИЋ ЈЕЛИСАВЕТА
+ЕВИЋ ЈОВАН
+ЕВИЋ ЛАЗАР
+ЕВИЋ ЛАЗАР
+ЕВИЋ ПЕТАР
+ЕВИЋ САВА
+ФА МЕЛАНИЈА
+ФА МИЛКА
+ФАЧАР СТЕВАН
+ФАЧКО ЈОЖЕФ
+ФАЧКО СИМА
+ФАБИАН БОРБАЛА
+ФАБИАН ИШТВАН
+ФАБИАН ЈАНОШ
+ФАБИЈАН ШАНДОР
+ФАБИЈАН АНА
+ФАБИЈАН ИЛОНА
+ФАБИЈАН ИМРЕ
+ФАБИЈАН ИВАН
+ФАБИЈАН ЈАНОШ
+ФАБИЈАН ЛАСЛО
+ФАБИЈАН НИКОЛА
+ФАБИЈАН СТЕВАН
+ФАБИЈАН СТЕВАН
+ФАБИЈАНЧИЋ ИВАН
+ФАБИЈАНЧИЋ СТЈЕПАН
+ФАБИЈАНИЋ МАРИЈА
+ФАБИЈАНОВИЋ АНА
+ФАБРИ МИКЛОШ
+ФАБРИ НАНДОР
+ФАБРИ СТЈЕПАН
+ФАБРИ ЗВОНКО
+ФАБРИК КАТАЛИН
+ФАЦИС ПАНТА
+ФАИН АНА
+ФАИН ЛАЈОШ
+ФАИН СТЕВАН
+ФАЈ ГАБОР
+ФАЈДЕТИЋ ЉУБИЦА
+ФАЈДИГА АЛЕКСАНДАР
+ФАЈФЕР ПЕТАР
+ФАЈГЕЉ ИВАН
+ФАЈХНЕР ХЕНРИК
+ФАЈХТНЕР ЈОСИП
+ФАЈХТНЕР РУЖА
+ФАЈИН ИШТВАН
+ФАЈКА ДАНИЦА
+ФАЈКА НАДА
+ФАЈКА ПАВЛЕ
+ФАЈНИК МАРИЈА
+ФАЈТ-ГРАНЕР РОЖА
+ФАЈТ ЈЕЛИЦА
+ФАЈТНЕР ВЕРОНИКА
+ФАКИН ФРАЊА
+ФАКИН ИВАН
+ФАКИН ЗВОНИМИР
+ФАЛБ ЂОРЂЕ
+ФАЛБ БОСИЉКА
+ФАЛБ ЈОСИП
+ФАЛБ КАРОЉ
+ФАЛБ КАРОЉ
+ФАЛБ МАРИНА
+ФАЛБ МАТИЈА
+ФАЛБ ОТО
+ФАЛБ ЗОЛТАН
+ФАМИЛИЋ ЂОРЂЕ
+ФАМИЛИЋ ИВАН
+ФАНЧЕВИЋ АЛЕКСАНДАР
+ФАНЧЕВИЋ ЈОСИП
+ФАНЧЕВИЋ КАТАЛИН
+ФАНЧЕВИЋ ЉУДЕВИТ
+ФАНЧЕВИЋ ТЕРЕЗИЈА
+ФАНКА ДУШАН
+ФАНКА МАРА
+ФАРАГО ШАНДОР
+ФАРАГО ШАНДОР
+ФАРАГО АРАНКА
+ФАРАГО АРПАД
+ФАРАГО ФРАЊА
+ФАРАГО ЈОЖЕФ
+ФАРАГО ЈОСИП
+ФАРАГО КАРЛО
+ФАРАГО ЛАСЛО
+ФАРАГО МАРИЈА
+ФАРК АМАЛИЈА
+ФАРК БЕАТА
+ФАРКАШ АЛЕКСАНДАР
+ФАРКАШ АЛЕКСАНДАР
+ФАРКАШ БОЖЕНА
+ФАРКАШ ДРАГУТИН
+ФАРКАШ ЕЛЕМЕР
+ФАРКАШ ЕЛИЗАБЕТА
+ФАРКАШ ЕЛЗА
+ФАРКАШ ЕСТЕР
+ФАРКАШ ЕСТЕР
+ФАРКАШ ФЕРЕНЦ
+ФАРКАШ ФЕРЕНЦ
+ФАРКАШ ФЕРЕНЦ
+ФАРКАШ ФЕРЕНЦ
+ФАРКАШ ФРАЊА
+ФАРКАШ ГАБОР
+ФАРКАШ ИШТВАН
+ФАРКАШ ИШТВАН
+ФАРКАШ ИЛОНА
+ФАРКАШ ИЛОНКА
+ФАРКАШ ИМРЕ
+ФАРКАШ ЈАН
+ФАРКАШ ЈАРОСЛАВ
+ФАРКАШ ЈЕЛИСАВЕТА
+ФАРКАШ ЈОЖЕФ
+ФАРКАШ ЈОЖЕФ
+ФАРКАШ ЈОЖЕФ
+ФАРКАШ ЈОЖЕФ
+ФАРКАШ ЈОСИП
+ФАРКАШ ЈОСИП
+ФАРКАШ ЈОВАН
+ФАРКАШ ЈОВГЕН
+ФАРКАШ ЈУДИТА
+ФАРКАШ КАРЛО
+ФАРКАШ КАТАЛИН
+ФАРКАШ КЛАРА
+ФАРКАШ ЛАДИСЛАВ
+ФАРКАШ ЛАЈОШ
+ФАРКАШ ЛАСЛО
+ФАРКАШ МАРИЈА
+ФАРКАШ МАТИЛДА
+ФАРКАШ МИХАЉ
+ФАРКАШ НАДА
+ФАРКАШ ПАЛ
+ФАРКАШ ПАВЛЕ
+ФАРКАШ РОЗАЛИЈА
+ФАРКАШ СТЕВАН
+ФАРКАШ-ТОТ ВИКТОРИЈА
+ФАРКАШ ВЕРА
+ФАРКАШ ВЕРИЦА
+ФАРКИЋ МИЛАН
+ФАРКОВ ЈОВАНКА
+ФАТ ЈОСИП
+ФАТ ЛАСЛО
+ФАТ МИХАЛ
+ФАТИЋ МАРА
+ФАТУРОВИЋ РАЈКО
+ФАУКОВИЋ НАДА
+ФАЗЕКАШ АНТАЛ
+ФАЗЕКАШ ЈАНОШ
+ФАЗЕКАШ КАТАЛИН
+ФАЗЕКАШ ТИБОР
+ФАЗЛИЋ ЈЕЛИЦА
+ФАЗЛИЋ ЈОВАНКА
+ФАЗЛИНОВИЋ ЕЛБИСА
+ФАЗЛИНОВИЋ ЈАСМИНКА
+ФЕШИШ ИМРЕ
+ФЕШИШ ЈОЖЕФ
+ФЕШИШ ЈОЖЕФ
+ФЕЦЕ ИВАН
+ФЕЦЕ МАРИЈА
+ФЕДЕРЕР ЈОВАН
+ФЕДЕРЕР МИРКО
+ФЕДИ ЈОЖЕФ
+ФЕХЕР ШАНДОР
+ФЕХЕР ШАНДОР
+ФЕХЕР ЂЕРЂ
+ФЕХЕР ЂУЛА
+ФЕХЕР ЂУЛА
+ФЕХЕР АНДРАШ
+ФЕХЕР АРИСТИД
+ФЕХЕР ЕРНЕ
+ФЕХЕР ЕРНЕ
+ФЕХЕР ФЕРЕНЦ
+ФЕХЕР ЈАНОШ
+ФЕХЕР ЈАНОШ
+ФЕХЕР ЈАНОШ
+ФЕХЕР ЈОЖЕФ
+ФЕХЕР ЈОЖЕФ
+ФЕХЕР ЈОВАН
+ФЕХЕР ЈОВАН
+ФЕХЕР ЈУЛИЈА
+ФЕХЕР КАЛМАН
+ФЕХЕР ЛАЈОШ
+ФЕХЕР ЛАСЛО
+ФЕХЕР ЛАСЛО
+ФЕХЕР МАРГИТА
+ФЕХЕР МАРИЈА
+ФЕХЕР МИХАЈЛО
+ФЕХЕР НАНДОР
+ФЕХЕР СТЕВАН
+ФЕХЕР СТЕВАН
+ФЕХЕР ТЕРЕЗА
+ФЕХЕР ВЕРА
+ФЕХЕРВАРИ ЈЕЛИСАВЕТА
+ФЕХИР АЛЕКСАНДАР
+ФЕХИР ПЕТАР
+ФЕХИРОВ АВРАМ
+ФЕХИРОВ КОСАНА
+ФЕХИРОВ МИРЈАНА
+ФЕЈЂИ ВЛАДИМИР
+ФЕЈДЕТИЋ ТОМИСЛАВ
+ФЕЈЕШ ШАНДОР
+ФЕЈЕШ ЂОРЂЕ
+ФЕЈЕШ АРАНКА
+ФЕЈЕШ ГЕНА
+ФЕЈЕШ ИШТВАН
+ФЕЈЕШ ИШТВАН
+ФЕЈЕШ ЈАНОШ
+ФЕЈЕШ ЈАНОШ
+ФЕЈЕШ ЉИЉАНА
+ФЕЈЕШ ЗОЛТАН
+ФЕЈЕШ ЗОЛТАН
+ФЕЈФАР ЈУЛИЈАНА
+ФЕЈСА ГЕОРГИЈЕ
+ФЕЈСА ЈАНКО МР ПХ
+ФЕЈСА МАРГИТА
+ФЕЈСА-ПОПОВИЋ ЛЕОНА
+ФЕЈСТХАМЕЛ ПАЛ
+ФЕЈЗУЛАХИ ФЕЈЗУЛАХ
+ФЕКЕТЕ ШАНДОР
+ФЕКЕТЕ ШАНДОР
+ФЕКЕТЕ ЖУЖАНА
+ФЕКЕТЕ АДОЛФ
+ФЕКЕТЕ ФЕРЕНЦ
+ФЕКЕТЕ ФЕРЕНЦ
+ФЕКЕТЕ ЈАГОДА
+ФЕКЕТЕ КАРЛО
+ФЕКЕТЕ КАТИЦА
+ФЕКЕТЕ ЛАСЛО
+ФЕКЕТЕ МАРИЈА
+ФЕКЕТЕ МАРИЈА
+ФЕКЕТЕ МАРИЈА
+ФЕКЕТЕ МИХАЈЛО
+ФЕКЕТЕ МИХАЉ
+ФЕКЕТЕ ПЕТАР
+ФЕКЕТЕ СТЕВАН
+ФЕКЕТЕ ВЕСНА
+ФЕКИЋ ВЛАДИМИР
+ФЕЛБАБ РАДА
+ФЕЛБАБ САВА
+ФЕЛБАБ СТАНИМИР
+ФЕЛБАБОВ ДИМИТРИЈЕ
+ФЕЛБАБОВ ЈОВАН
+ФЕЛБАБОВ ВЛАДИСЛАВА
+ФЕЛБАП ЈУЛКА
+ФЕЛБАП НИКОЛА
+ФЕЛБАПОВ ДИМИТРИЈЕ
+ФЕЛБАПОВ МИЛАНКА
+ФЕЛБАПОВ МИЛОРАД
+ФЕЛБАПОВ НЕМАЊА
+ФЕЛБАПОВ РАДМИЛА
+ФЕЛБАПОВ РАДОСЛАВ
+ФЕЛБАПОВ СТЕВАН
+ФЕЛДШЕР АНА
+ФЕЛДШЕР КАРЛО
+ФЕЛДЕШДИ АНДРИЈА
+ФЕЛДЕШИ ФРАЊА
+ФЕЛДЕШИ ИБОЉА ДР
+ФЕЛДЕШИ МАРИЈА
+ФЕЛДЕЖДИ ЈУЛИЈАНА
+ФЕЛДЕЖДИ ЛАСЛО
+ФЕЛДЕЖДИ ПЕТАР
+ФЕЛДЕЖДИ СТЕВАН
+ФЕЛДЕАК ДАНИЦА
+ФЕЛДЕАК ЈОЖЕФ
+ФЕЛДИ ШАНДОР
+ФЕЛДИ ЕРЖЕБЕТ
+ФЕЛДИ ЈАРОСЛАВ
+ФЕЛДВАРИ ЈОСИП
+ФЕЛДВАРИ ЈОВАН
+ФЕЛДВАРИ ЈУСТИНА
+ФЕЛДВАРИ КАЛМАН
+ФЕЛДВАРИ ОЛГИЦА
+ФЕЛДВАРИ СТЕВАН
+ФЕЛДВЕБЕЛ РОЗАЛИЈА
+ФЕЛЕ ДРАЖЕН ЛЕКАР
+ФЕЛЕЋ ИЗЕТ
+ФЕЛЕГИ АНА
+ФЕЛЕГИ ЛАДИСЛАВ
+ФЕЉА МИРЈАНА
+ФЕЛНЕР ДУШАНКА
+ФЕЛНЕР ТИБОР
+ФЕМИЋ АЛЕКСИЈЕ
+ФЕМИЋ БЛАГОЈЕ
+ФЕМИЋ ГРУЈИЦА
+ФЕМИЋ МИЛИЈА
+ФЕМИЋ МИЛОВАН
+ФЕМИЋ ПЕТКО
+ФЕМИЋ РАДМИЛА
+ФЕМИЋ СТАНКА
+ФЕМИЋ ВЕЉКО
+ФЕМИЋ ЗОРА
+ФЕНЦ РУЖИЦА
+ФЕНДЛЕР ЈОВАН
+ФЕНДРИК АНДРИЈА
+ФЕНДРИК ФРАЊО
+ФЕНДРИК КАРЛО
+ФЕЊАЦ ИВАН
+ФЕЊАЦ ЈОВАН
+ФЕЊАЦ СИНИША
+ФЕЊАЦ СЛОБОДАНКА
+ФЕЊЕШ АНА
+ФЕЊЕШ ФРАЊА
+ФЕЊВЕШИ МАРИШКА
+ФЕРЧИК АНДРИЈА
+ФЕРАРИНОВ ПАВЛЕ
+ФЕРАРИО СИЛВИО
+ФЕРАТИ АФИЗ
+ФЕРАТИ БЕРО
+ФЕРАТИ ЕХАТ
+ФЕРАТИ РАГИП
+ФЕРАТИ СЕЈФИДИН
+ФЕРАТИ СКЕНДЕР
+ФЕРЕНЧАК ИВИЦА
+ФЕРЕНЧЕК ЉУБИЦА
+ФЕРЕНЧЕК ОЛИВЕР ДИПЛ ИНГ
+ФЕРЕНЧЕК ВИЛКО
+ФЕРЕНЧЕВ МИЛОРАД
+ФЕРЕНЧЕВ ЗОРА
+ФЕРЕНЧЕВИЋ ЂОРЂЕ
+ФЕРЕНЧЕВИЋ-САЛАЈ ЈЕЛЕНА
+ФЕРЕНАЦ АНДРИЈА
+ФЕРЕНАЦ АНДРИЈА
+ФЕРЕНАЦ ИВАН
+ФЕРЕНАЦ РАДМИЛА
+ФЕРЕНЦ АНТАЛ
+ФЕРЕНЦ ЈОЖЕФ
+ФЕРЕНЦ ЈОЖЕФ
+ФЕРЕНЦИ ЂЕРЂ
+ФЕРЕНЦИ ДЕЗИДЕР
+ФЕРЕНЦИ ЕУГЕН
+ФЕРЕНЦИ ФРАЊА
+ФЕРЕНЦИ ЈУЛИЈАНА
+ФЕРЕНЦИ СТЕВАН
+ФЕРЕНЦИ ВЕРА
+ФЕРИК ЈУРАЈ
+ФЕРИК ЈУРАЈ
+ФЕРИЗОВИЋ АХМЕТ
+ФЕРКО АНДРЕЈ ДР ЛЕКАР
+ФЕРКО МИЛОШ
+ФЕРКО ПАВЕЛ
+ФЕРКО ПАВЛЕ
+ФЕРЛАН РАДМИЛА
+ФЕТАХИ БАЈРАМ
+ФЕТАХОВИЋ ИСМЕТ
+ФЕТАИ ЗИБЕР
+ФИЧОК АЛОЈЗИЈЕ
+ФИШАКОВ КОНСТАДИН
+ФИШАНГ ЉИЉАНА
+ФИШЕР ЂОРЂЕ ДР ЛЕКАР
+ФИШЕР ЂОРЂЕ
+ФИШЕР АЛЕКСАНДАР ДР
+ФИШЕР АЛЕКСАНДАР
+ФИШЕР АНТОН
+ФИШЕР БЛАНКА
+ФИШЕР ДРАГУТИН
+ФИШЕР ГАВРА
+ФИШЕР ИРЕНА
+ФИШЕР ИРЕНА
+ФИШЕР ЈЕНЕ
+ФИШЕР ЈОСИП
+ФИШЕР КАРОЉ
+ФИШЕР ЛАСЛО
+ФИШЕР ЛЕО ДР
+ФИШЕР НАТАЛИЈА
+ФИШЕР ПИРОШКА
+ФИШЕР СТЕВАН
+ФИШЕР ЗВОНИМИР
+ФИШЛ ФЕДОР
+ФИШЛ ЈУЛИЈА ДИПЛ ИНГ
+ФИШТЕШ ИМРЕ
+ФИШТЕШ МАРИЈА
+ФИШТЕШ МИХАЉ
+ФИШТЕШ ПИРОШКА
+ФИАЛА ИВАНКА
+ФИАЛА ИВАН
+ФИБИШАН ЂУРАЂ
+ФИБИШАН СЛАВОЉУБ
+ФИЦЕ ЕРЖЕБЕТ
+ФИЦИНГЕР ВАЛЕРИЈА
+ФИДУШЕК КАТИЦА
+ФИФА ДРАГИЦА
+ФИФА НЕБИ
+ФИГУРА ШАНДОР
+ФИЈАТОВИЋ ОЛГА
+ФИЈУКОВИЋ САДЕТА
+ФИЈУЉАНИН ЗУЛФО
+ФИЛЕКИ МИРОСЛАВ
+ФИЛЕКОВИЋ СЕИД
+ФИЛЕП ЂЕРЂ
+ФИЛЕП ЂОРЂЕ
+ФИЛЕП ЂОРЂЕ
+ФИЛЕП АНТАЛ
+ФИЛЕП БЕЛА
+ФИЛЕП ИДА
+ФИЛЕП ЈЕНЕ
+ФИЛЕП ЈОЖЕФ
+ФИЛЕП КАЛМАН
+ФИЛЕП КАЛМАН
+ФИЛЕП ЛАДИСЛАВ
+ФИЛЕП МИРЈАНА
+ФИЛЕП ЗОЛТАН
+ФИЛЕПИ МИРОСЛАВ
+ФИЛИМОНОВИЋ ЖИВОРАД
+ФИЛИМОНОВИЋ ЂОРЂЕ
+ФИЛИП ЈОВАН ДР ПРАВНИК
+ФИЛИП РАДОСАВ
+ФИЛИПЧЕВ ЗДРАВКО
+ФИЛИПАШ ДРАГАН
+ФИЛИПАШЕВ НАДА
+ФИЛИПЕЦ ЗИТА
+ФИЛИПЕНДИН МАРКО
+ФИЛИПОВ ИЛИЈА
+ФИЛИПОВ МИЛОШ
+ФИЛИПОВ МИОДРАГ
+ФИЛИПОВ МОМИР
+ФИЛИПОВ НИКОЛА
+ФИЛИПОВ ПРЕДРАГ
+ФИЛИПОВ РАДОВАН
+ФИЛИПОВ СЛАЂАНА
+ФИЛИПОВ ТИХОМИР
+ФИЛИПОВ ТИЈАНА
+ФИЛИПОВИЋ ЧЕДО
+ФИЛИПОВИЋ АЛЕКСАНДАР
+ФИЛИПОВИЋ АНТОН
+ФИЛИПОВИЋ БОШКО
+ФИЛИПОВИЋ БОГОМИР
+ФИЛИПОВИЋ БОРА
+ФИЛИПОВИЋ БРАНКО
+ФИЛИПОВИЋ-ДАМЈАНОВ НАДА
+ФИЛИПОВИЋ ДЕСАНКА
+ФИЛИПОВИЋ ДИЈАНА
+ФИЛИПОВИЋ ДОБРИЦА
+ФИЛИПОВИЋ ДОБРИЛА
+ФИЛИПОВИЋ ДРАГАН
+ФИЛИПОВИЋ ДРАГАН
+ФИЛИПОВИЋ ДУШАНКА
+ФИЛИПОВИЋ ДУШАНКА
+ФИЛИПОВИЋ ГОРДАНА
+ФИЛИПОВИЋ ИВАН
+ФИЛИПОВИЋ ИВАН
+ФИЛИПОВИЋ ЈЕЛИСАВЕТА
+ФИЛИПОВИЋ ЈОВАН
+ФИЛИПОВИЋ ЈОВАН
+ФИЛИПОВИЋ ЛЕПОСАВА
+ФИЛИПОВИЋ ЉИЉАНА
+ФИЛИПОВИЋ ЉУБИЦА
+ФИЛИПОВИЋ ЉУБИНКА
+ФИЛИПОВИЋ ЉУБИНКО
+ФИЛИПОВИЋ МИЛАДИН
+ФИЛИПОВИЋ МИЛАДИН
+ФИЛИПОВИЋ МИЛАН ДИПЛ ИНГ
+ФИЛИПОВИЋ МИЛАНКА
+ФИЛИПОВИЋ МИЛАНКА
+ФИЛИПОВИЋ МИЛАН
+ФИЛИПОВИЋ МИЛАН
+ФИЛИПОВИЋ МИЛАН
+ФИЛИПОВИЋ МИЛЕНА
+ФИЛИПОВИЋ МИЛЕНКО
+ФИЛИПОВИЋ МИЛИВОЈЕ
+ФИЛИПОВИЋ МИЛКА
+ФИЛИПОВИЋ МИЛОЈКО
+ФИЛИПОВИЋ МИЛОВАН
+ФИЛИПОВИЋ МИОДРАГ
+ФИЛИПОВИЋ МИОДРАГ
+ФИЛИПОВИЋ МИРЈАНА
+ФИЛИПОВИЋ МИРКО
+ФИЛИПОВИЋ МИРОСЛАВ
+ФИЛИПОВИЋ НАТАША
+ФИЛИПОВИЋ НИКОЛА
+ФИЛИПОВИЋ НИКОЛА
+ФИЛИПОВИЋ НИКОЛА
+ФИЛИПОВИЋ НИКОЛА
+ФИЛИПОВИЋ НИКОЛИНА
+ФИЛИПОВИЋ ПАУЛА
+ФИЛИПОВИЋ ПЕРО
+ФИЛИПОВИЋ РАДИВОЈ
+ФИЛИПОВИЋ РАДОЈКА
+ФИЛИПОВИЋ РАДОЈКО
+ФИЛИПОВИЋ РАДОСЛАВ
+ФИЛИПОВИЋ РАДОВАН
+ФИЛИПОВИЋ РАНКА
+ФИЛИПОВИЋ РУЖАНА
+ФИЛИПОВИЋ РУДОЛФ
+ФИЛИПОВИЋ САВА ДИПЛ ИНГ
+ФИЛИПОВИЋ САВА
+ФИЛИПОВИЋ СИБИН
+ФИЛИПОВИЋ СЛАВКО
+ФИЛИПОВИЋ СНЕЖАНА
+ФИЛИПОВИЋ СПАСОЈЕ
+ФИЛИПОВИЋ СРЂАН
+ФИЛИПОВИЋ СРЕЋКО
+ФИЛИПОВИЋ СТЕВАН ДР СТОМАТОЛОГ
+ФИЛИПОВИЋ СТОЈАН
+ФИЛИПОВИЋ СТОЈАН
+ФИЛИПОВИЋ ТОМИСЛАВ
+ФИЛИПОВИЋ ВЕСНА
+ФИЛИПОВИЋ ВИДОСАВ
+ФИЛИПОВИЋ ВЛАДИМИР
+ФИЛИПОВИЋ ЗОРАН
+ФИЛИПОВИЋ ЗОРАН
+ФИЛИПОВИЋ ЗОРАН
+ФИЛИПОВИЋ ЗОРАН
+ФИЛИПОВИЋ ЗОРИЦА
+ФИЛИПОВСКА-ОБРАДОВИЋ ВЕРА
+ФИЛИПОВСКИ БОЖО
+ФИЛИПОВСКИ ТОДОС
+ФИЛКО ДРАГИЦА
+ФИЛКО ЈОСИП
+ФИЛКО ЈОВАН
+ФИЛКО МАРИЈА
+ФИЛКО МИХАЉ
+ФИЛКО МИХАЉ
+ФИЛКО ПАВЕЛ
+ФИЛКО ТИХОМИР
+ФИНЧУР АЛЕКСАНДАР
+ФИНЧУР ЈОЖЕФ
+ФИНЧУР ЈУЛИЈАНА
+ФИНЧУР ЛАДИСЛАВ
+ФИНЏАНОВИЋ ГОЈКО
+ФИНЏАНОВИЋ МИКО
+ФИНЏАНОВИЋ МИРКО
+ФИНЏАНОВИЋ ОБРАД
+ФИНК-ДИМИТРИЈЕВИЋ ДОРОТЕА
+ФИНК ВИКТОР НОВИНАР
+ФИНКА ГОРЧАН
+ФИР БЕАТА
+ФИРАЊ ЈОЖЕФ
+ФИРАЊИ ЂЕРЂ
+ФИРАЊИ ЂОРЂЕ
+ФИРАЊИ ЂОРЂЕ
+ФИРАЊИ ЕРЖЕБЕТ
+ФИРАЊИ ЈОВАН
+ФИРАЊИ ВИКТОР
+ФИРИЋ МАРИЈА
+ФИРУЛОВИЋ КОСТАНТИН
+ФИСТРИЋ ЂОРЂЕ
+ФИСТРИЋ МИРЈАНА
+ФИВЕШИ ГАБОР
+ФИВЕШИ ТИБОР
+ФЛАЦ ИВАНКА
+ФЛАЦ ПЕТАР
+ФЛАЈС ЈЕЛИСАВЕТА
+ФЛЕГЕР СТЕВАН
+ФЛЕГО ИВАН
+ФЛЕГО МАРТА
+ФЛЕКАЧ ВЛАДО
+ФЛИТНЕР ОСКАР
+ФЛОКА ЂЕНИКА
+ФЛОРА ВАСА
+ФЛОРИЋ ДИМИТРИЈЕ
+ФЛОРИЋ ЉУБИЦА
+ФЛОРИЋ ЗОРАН
+ФЛОРИЋ ЗОРАН
+ФЛОРИН ВИНКА
+ФОДОР ЖОФИЈА
+ФОДОР АНА
+ФОДОР АНДРИЈА
+ФОДОР ЕРЖЕБЕТ
+ФОДОР ФЕРЕНЦ
+ФОДОР ФРАЊА
+ФОДОР ФРАЊА
+ФОДОР ЈОЛАН
+ФОДОР ЈОВАН
+ФОДОР ЈОВАН
+ФОДОР КАЛМАН
+ФОДОР КАТА
+ФОДОР ЛАЈОШ
+ФОДОР ЛАСЛО
+ФОДОР ЛАСЛО
+ФОДОР ЛАСЛО
+ФОДОР ЛАСЛО
+ФОДОР ЛИДИЈА
+ФОДОР МАРТА
+ФОДОР ОСКАР ДИПЛ ОЕЦ
+ФОДОР ТИБОР
+ФОДОР ТИБОР
+ФОДОР ТИБОР
+ФОДОР ЗДРАВКО
+ФОДОРА ЈАНКО
+ФОГАРАШИ ЂЕРЂ ДР
+ФОГАРАШИ ЂЕРЂ
+ФОГАРАШИ АНДРИЈА
+ФОГАРАШИ АНИКО
+ФОГАРАШИ ИЛОНА
+ФОГАРАШИ СТЕВАН
+ФОГЛ МАГДАЛЕНА
+ФОЈКАР ЈАНКО
+ФОЛИЋ РАДОМИР ДР
+ФОЛТИН МАРГИТА
+ФОЛТИН МИЛИЦА
+ФОНТАЊ ЛОТАР
+ФОРАИ ЗОЛТАН
+ФОРАИ ЗОРИЦА
+ФОРГАЧ ЈЕЛИСАВЕТА
+ФОРГИЋ ИВАН
+ФОРГО ИШТВАН
+ФОРГО ЛАСЛО
+ФОРИШКОВ ЈОВАНКА
+ФОРИШКОВ ЛАЗАР
+ФОРИШКОВИЋ АЛЕКСАНДАР
+ФОРКАПА САВО
+ФОРКАПИЋ АЛЕКСАНДАР
+ФОРКАПИЋ ИВАНКА
+ФОРКАПИЋ ЛАЗАР
+ФОРКАПИЋ МАРИЈА
+ФОРКАПИЋ НИКОЛА
+ФОРКАПИЋ САВА
+ФОРКАПИЋ СЛАВИЦА
+ФОРКАПИЋ ВЕЛИНКА
+ФОРО ИВАН
+ФОРО ЈУЛИЈАНА
+ФОТИЋ ЂОРЂЕ
+ФОЗЕКОШ АНКИЦА
+ФРЧЕК ЂУРА
+ФРЧЕК МАРИЈА
+ФРЖОП МИШЕ
+ФРЖОВИЋ ЂОРЂЕ
+ФРЖОВИЋ ГАВРИЛО
+ФРЖОВИЋ МИХАЈЛО
+ФРЖОВИЋ МИЛЕНА
+ФРАЦИЛЕ НИЦЕ
+ФРАЈСТ РУДОЛФ
+ФРАЈТОВИЋ МОМЧИЛО
+ФРАЈЗ ПЕТАР
+ФРАНЧИЋ РОК
+ФРАНЦ МАГДАЛЕНА ДИПЛ ИНГ
+ФРАНЦЕЉ ФРАНЦ
+ФРАНЦЕР ИВАН
+ФРАНЦЕР ИВАН
+ФРАНЦИШКОВИЋ АТИЛА
+ФРАНЦИШКОВИЋ ИВАН
+ФРАНЦИШКОВИЋ МАТЕ
+ФРАНЦИА АНДРИЈА
+ФРАНЦИА ИШТВАН
+ФРАНЦИА ПЕТАР
+ФРАНЦИЈА ЈОЖЕФ
+ФРАНЦИЈА-КУКИЧКА МАРГАРЕТА
+ФРАНЦИСТИ ЂОРЂЕ
+ФРАНЦИСТИ ЈАРОСЛАВ
+ФРАНЦИСТИ ПАВЛЕ
+ФРАНЦИСТИ ВЛАДИМИР
+ФРАНЦУСКИ АЛЕКСА
+ФРАНЦУСКИ БРАНИСЛАВ
+ФРАНЦУСКИ ДАРИНКА
+ФРАНЦУСКИ ДЕСАНКА
+ФРАНЦУСКИ ДРАГАН
+ФРАНЦУСКИ ДУШАН
+ФРАНЦУСКИ ИВАН ДР
+ФРАНЦУСКИ ЈОВАНКА
+ФРАНЦУСКИ МАРКО
+ФРАНЦУСКИ МИЛАН
+ФРАНЦУСКИ МИРОСЛАВ
+ФРАНЦУСКИ ПЕТАР
+ФРАНЦУСКИ РАДОВАН
+ФРАНЦУСКИ СЛОБОДАНКА
+ФРАНЦУСКИ СТРАХИЊА
+ФРАНЦУСКИ ЗОРАН
+ФРАНЦУСКИ ЗОРАН
+ФРАНЦУСКИ ЗОРКА
+ФРАНЦУСКИ ЗОРКА
+ФРАНЦУЗ ДАРИНКА
+ФРАНЦУЗ ЈЕЛЕНА
+ФРАНЦУЗ ВЕЛИМИР
+ФРАНЦУЗ ВУК
+ФРАНЕТА ЈОВО
+ФРАНИЋ ИВАН
+ФРАНИЋ МИЛКА
+ФРАЊИЧЕВИЋ НИКОЛА
+ФРАЊИЋ МАРИЦА
+ФРАЊО ЖУЖАНА
+ФРАНК ЂЕРЂ
+ФРАНК ФЕРЕНЦ
+ФРАНК ИЛЕШ
+ФРАНК ЈАНОШ
+ФРАНК ТИБОР
+ФРАНКА МИХАЈЛО
+ФРАНКОВИЋ ЈОВАН
+ФРАНОВИЋ АЛЕКСАНДРА
+ФРАНОВИЋ ВЛАДИМИР
+ФРАНЗЕР ИВАН
+ФРАТОЈ ЈОЦА
+ФРАТРИЋ СИГМУНД
+ФРАТУЦАН ЂОРЂЕ
+ФРАТУЦАН ЂОРЂЕ
+ФРАТУЦАН ФИЛИП
+ФРАТУЦАН ИВАН
+ФРАТУЦАН НЕВЕНА
+ФРАТУЦАН ПЕТАР
+ФРАТУЦАНОВ ИВАНКА
+ФРЕИ ЕЛИЗАБЕТА
+ФРЕМЕР АНТУН
+ФРЕМЛ ШАНДОР
+ФРЕНКЕЛ АНА
+ФРЕНКЕЛ ЕВА
+ФРЕНКЛ ДРАГИЦА
+ФРИЧ БОЖИДАР
+ФРИЧ КАТИЦА
+ФРИШ ДРАГАН
+ФРИШ МИЛАН
+ФРИШЧИЋ ДРАГУТИН
+ФРИЦ РУДОЛФ
+ФРИДРИХ АНА
+ФРИДРИХ ЈЕЛЕНА
+ФРИДРИХ МАГДА
+ФРИДРИХ ЗОРИЦА
+ФРИНДИК ФРАЊА
+ФРИНДИК МИХАЉ
+ФРИНДРИК БЕЛА
+ФРКА АРТУР
+ФРКА НИКОЛА
+ФРЉ МУХАРЕМ
+ФРОЛ МАРИЈАН
+ФРОЛ НАДА
+ФРОЛ ВИЛИМ
+ФРУЖА АЛЕКСАНДАР
+ФУЧИК КАРЛО
+ФУДЕРЕР ЈУЛИЈЕ
+ФУДЕРЕР МАГДАЛЕНА
+ФУЈКА ЂОРЂЕ
+ФУЈТО ВЛАДИМИР
+ФУЛАЈТЕР ЂОРЂЕ
+ФУНЋИК ПАВЛЕ
+ФУНДУРУЉА МИЛЕНКО
+ФУНК ШТЕФАНИЈА
+ФУНК ЛАЈОШ
+ФУНТЕК ИВАН
+ФУРЈАНОВИЋ ВЛАДИСЛАВ
+ФУРЛАН ЕРЖЕБЕТ
+ФУРЛАН МАРКО
+ФУРМАН ФРАЊА
+ФУРМАН ЈОВАН
+ФУРМАН МАРИЈА
+ФУРМАН ТИМОФЕЈ
+ФУРМАН ТИНКА
+ФУРО ИМРЕ
+ФУСКО АНГЕЛА
+ФУСКО ИШТВАН
+ФУСКО МАРИЈА
+ФУСКО МИХАЉ
+ФУТО АНТАЛ
+ФУТО ЈОЖЕФ
+ФУТО ЈОЖЕФ
+ФУТО МИРКО
+ФУТОШКИ МИЛАН
+ФУТОШКИ МИТА
+ГАЧАНОВИЋ ДРАГАН
+ГАЧЕВИЋ МИРОСЛАВ
+ГАЧЕВИЋ РАДЕНКО
+ГАЧЕВИЋ ТЕРЕЗА
+ГАЧИЋ БРАНКО
+ГАЧИЋ ДАНИЦА
+ГАЧИЋ ДАНИЛО
+ГАЧИЋ МИЛАН
+ГАЧИЋ СТЕВАН
+ГАЧИЋ СТЕВАН
+ГАЧИЋ ВЛАДАН
+ГАШЕВИЋ МИЛОРАД
+ГАШЕВИЋ МИЛОВАН
+ГАШЕВИЋ МОМЧИЛО
+ГАШЕВИЋ РАДМИЛА
+ГАШЕВИЋ САВКА
+ГАШЕВИЋ ЗДРАВКО
+ГАШИ ЂЕМАИЉ
+ГАШИ ХАМДИ
+ГАШИ ЈУЛИЈАНА
+ГАШИ ЉУАН
+ГАШИ ЗОРАН
+ГАШИЋ БОГДАН
+ГАШИЋ ДУШАН
+ГАШИЋ КОВИЉКА
+ГАШИЋ КОВИЉКА
+ГАШИЋ КРСТА
+ГАШИЋ МИРОЉУБ
+ГАШИЋ НИКОЛА
+ГАШИЋ СИЛВАНА
+ГАШИЋ ТОДОР ДИПЛ ИНГ
+ГАШИЋ ВАЛЕРИЈА
+ГАШИЋ ЗДРАВКО
+ГАШИЋ ЗОРА
+ГАШПАР БОГДАН
+ГАШПАР ЈАНОШ
+ГАШПАР ЛАЈОШ
+ГАШПАР ЛИДИЈА
+ГАШПАР МИЛЕНКО
+ГАШПАРЕВИЋ ЕРИКА
+ГАШПАРЕВИЋ ЉИЉАНА
+ГАШПАРИЋ НАДА
+ГАШПАРИН ЉИЉАНА
+ГАШПАРОВИЋ ЈОСИП
+ГАЋА БРАНИСЛАВ
+ГАЋА МИОДРАГ
+ГАЋА ВЛАДИМИР
+ГАЋАШ ДРАГИЦА
+ГАЋАШ СИНИША
+ГАЋАШ СТЕВАН
+ГАЋЕША ЂУРО
+ГАЋЕША БРАНКА
+ГАЋЕША ДРАГАН
+ГАЋЕША ДРАГАН
+ГАЋЕША ИЛИЈА
+ГАЋЕША МАНОЈЛО
+ГАЋЕША МИЛОШ
+ГАЋЕША МИЛОРАД
+ГАЋЕША МИЛОВАН ДР
+ГАЋЕША НИКОЛА
+ГАЋЕША СЛАВКО
+ГАЋЕША ВЕЉКО
+ГАЋЕША ВЛАДИМИР
+ГАЋИНА ЖАРКО
+ГАЋИНА ЉИЉАНА
+ГАЋИНОВИЋ БОЖО
+ГАЋИНОВИЋ БРАНКО
+ГАЋИНОВИЋ МИЛИВОЈЕ
+ГАЋИНОВИЋ МИЛОРАД
+ГАЋИНОВИЋ РАЈКО
+ГАЖИ ЈЕЛИСАВЕТА
+ГАЖИК ТЕРЕЗИЈА
+ГАЖО КАТИЦА
+ГАЖО-МАТОШКОВИЋ ОЛГИЦА
+ГАЖО МИХАЈЛО
+ГАЖО МИКЛОШ
+ГАЂАНСКИ ЗОРАН
+ГАБЛЕР ВИКТОРИЈА
+ГАБОР АРПАД
+ГАБОР БЕЛА
+ГАБОР ЕРЖЕБЕТ
+ГАБОР ИРЕНА
+ГАБОР ЈОЖЕФ
+ГАБОР КАРОЉ
+ГАБОР НАНДОР
+ГАБОРОВ БРАНИСЛАВ
+ГАБОРОВ БРАНИСЛАВ
+ГАБОРОВ ГАВРИЛО
+ГАБОРОВ МИЛАН
+ГАБОРОВ МИТА
+ГАБОРОВ ПАВЛЕ
+ГАБОРОВ ПЕТАР
+ГАБРЕ РОКО
+ГАБРИЋ ЕВИЦА
+ГАБРИЋ КСЕНИЈА
+ГАБРИЋ МИХАЈЛО
+ГАБРИЋ НЕСТОР
+ГАБРИЋ ПЕТАР
+ГАБРИЋ СЛАВКО
+ГАБРИЕЛ МИКЛОШ
+ГАБРИЈЕЛЧИЋ ЗДРАВКО
+ГАБРОВИЋ АНДРАШ
+ГАБРОВИЋ АНДРИЈА
+ГАЦИН МИРОСЛАВ
+ГАЏА КРИЖАН
+ГАЏА РУЖА
+ГАЏИЋ МИЛАН
+ГАЏИЋ ВИНКО
+ГАЏУР ИВАН
+ГАЏУРИЋ ЗЛАТКО
+ГАДАНЕЦ КАТАРИНА
+ГАДЊАИ ЈОВА
+ГАДЊАНСКИ ВЛАДИМИР
+ГАГИЋ АЛЕКСАНДАР
+ГАГИЋ АВРАМ
+ГАГИЋ БОШКО
+ГАГИЋ БОРИВОЈЕ
+ГАГИЋ ДРАГИЦА
+ГАГИЋ ДУШАН
+ГАГИЋ-ГРУБЕША МИЛЕВА
+ГАГИЋ ЈОВАНКА
+ГАГИЋ ЈОВАН
+ГАГИЋ НИКОЛА
+ГАГИЋ НИКОЛА
+ГАГИЋ РАДОСЛАВ
+ГАГИЋ РАДОВАН
+ГАГИЋ СЛОБОДАН
+ГАГИЋ ВИДОСАВА
+ГАГОВИЋ МИЛОРАД
+ГАГОВИЋ НОВАК
+ГАГОВИЋ ОЛГА
+ГАГОВИЋ РАДОСАВ
+ГАГРЧИН ЛАЗАР
+ГАГРЧИН МЛАДЕН
+ГАГРИЦА ЈОВАН
+ГАГУЛА МУЈО
+ГАИЋ ВЕЉКО
+ГАИЦКИ НИКОЛА
+ГАИЦКИ САЊА
+ГАИЦКИ ТАНАСИЈЕ
+ГАИЦКИ ВЕРИЦА
+ГАИНОВ РАДОВАН
+ГАЈШИН СЛАВИЦА
+ГАЈШИН СМИЉА
+ГАЈШИН СТАНИСЛАВ
+ГАЈАНИЋ СТЈЕПАН
+ГАЈДА ШАНДОР
+ГАЈДОШ ЂУЛА
+ГАЈДОШ ИШТВАН
+ГАЈДОШ ИБОЉА
+ГАЈДОШ ЛАСЛО
+ГАЈДОШ ЉУБОМИР
+ГАЈДОШ МИХАЈЛО
+ГАЈДОШ НИКОЛА
+ГАЈДОШ ПЕТАР
+ГАЈДОШЕВИЋ ЂОРЂЕ
+ГАЈДОБРАНСКИ ЂОРЂЕ ДР
+ГАЈДОБРАНСКИ ДАНИЦА
+ГАЈДОБРАНСКИ ДРАГИЦА
+ГАЈДОБРАНСКИ ЉУБИЦА
+ГАЈДОБРАНСКИ МАРИЈА
+ГАЈДОБРАНСКИ МИЛИВОЈ
+ГАЈДОБРАНСКИ ПЕТАР
+ГАЈДОБРАНСКИ ТОДОР
+ГАЈЕР ЂУРА
+ГАЈЕР ЈОЦА
+ГАЈЕР ЛЕОНА
+ГАЈЕР МАНОЈЛО
+ГАЈЕР НАДА
+ГАЈГЕР ЈОЖЕФ
+ГАЈИШИН ДАРА
+ГАЈИШИН ЛАЗАР
+ГАЈИШИН МИЛИЦА
+ГАЈИШИН ПЕТАР
+ГАЈИШИН СТЕВАН
+ГАЈИШИН СТЕВАН
+ГАЈИШИН ТОМИСЛАВ
+ГАЈИЋ ЖАРКО
+ГАЈИЋ ЖАРКО
+ГАЈИЋ ЖИВКА
+ГАЈИЋ ЖИВКО
+ГАЈИЋ ЖИВОТА
+ГАЈИЋ ЂОРЂЕ
+ГАЈИЋ ЂУРО
+ГАЈИЋ АЛЕКСАНДАР
+ГАЈИЋ АНА
+ГАЈИЋ БОЖИЦА
+ГАЈИЋ БОЖИДАР
+ГАЈИЋ БОГДАН
+ГАЈИЋ БОГОЉУБ
+ГАЈИЋ БОРИСЛАВ
+ГАЈИЋ БРАНКО
+ГАЈИЋ БРАНКО
+ГАЈИЋ ЦВИЈАН
+ГАЈИЋ ЦВИЈАН
+ГАЈИЋ ДАНИЦА
+ГАЈИЋ ДЕЈАН
+ГАЈИЋ ДЕЈАН
+ГАЈИЋ ДЕЈАН
+ГАЈИЋ ДИМИТРИЈЕ
+ГАЈИЋ ДРАГАН
+ГАЈИЋ ДРАГАН
+ГАЈИЋ ДРАГИЦА
+ГАЈИЋ ДРАГОЉУБ
+ГАЈИЋ ДРАГО
+ГАЈИЋ ДУШАН ДИПЛ ИНГ
+ГАЈИЋ ДУШКО ДИПЛ ПРАВНИК
+ГАЈИЋ ГОЈКО
+ГАЈИЋ ГОРАН
+ГАЈИЋ ГОРДАНА
+ГАЈИЋ ИБОЉА
+ГАЈИЋ ЈЕЛЕНА
+ГАЈИЋ КАТАРИНА
+ГАЈИЋ КРИСТИНА
+ГАЈИЋ КРУНА
+ГАЈИЋ ЛАЗАР
+ГАЈИЋ ЛАЗО
+ГАЈИЋ МАКСА
+ГАЈИЋ МАРИЈА ДР
+ГАЈИЋ МАРИЈА
+ГАЈИЋ МАРИНКО ДР
+ГАЈИЋ МИЋО
+ГАЈИЋ МИКА
+ГАЈИЋ МИЛАНА
+ГАЈИЋ МИЛАН
+ГАЈИЋ МИЛАН
+ГАЈИЋ МИЛАН
+ГАЈИЋ МИЛАН
+ГАЈИЋ МИЛАН
+ГАЈИЋ МИЛИНКО
+ГАЈИЋ МИЛИВОЈ
+ГАЈИЋ МИЛОШ
+ГАЈИЋ МИЛОЈКА
+ГАЈИЋ МИЛОСАВ
+ГАЈИЋ МИЛОВАН
+ГАЈИЋ МИОДРАГ
+ГАЈИЋ МИОДРАГ
+ГАЈИЋ МИРЈАНА
+ГАЈИЋ МИРКО ДР
+ГАЈИЋ МИРКО
+ГАЈИЋ МИРОСЛАВ
+ГАЈИЋ МИТРА
+ГАЈИЋ МЛАДЕНКО
+ГАЈИЋ МЛАДЕН
+ГАЈИЋ МОМЧИЛО
+ГАЈИЋ НЕДЕЉКО
+ГАЈИЋ НИКОЛА ДИПЛ ИНГ
+ГАЈИЋ НИКОЛА
+ГАЈИЋ НИКОЛА
+ГАЈИЋ НОВАК
+ГАЈИЋ ОЛИВЕРА
+ГАЈИЋ ПЕЛКА
+ГАЈИЋ ПЕРСА
+ГАЈИЋ РАДЕНКО
+ГАЈИЋ РАДМИЛА
+ГАЈИЋ РАДОМИР
+ГАЈИЋ РАЈКА
+ГАЈИЋ РАТКО
+ГАЈИЋ РАТКО
+ГАЈИЋ РОЗАЛИЈА
+ГАЈИЋ РУЖИЦА
+ГАЈИЋ САВА
+ГАЈИЋ СЛАКА
+ГАЈИЋ СЛАВИЦА
+ГАЈИЋ СЛАВКО
+ГАЈИЋ СЛАВКО
+ГАЈИЋ СРЕЋКО
+ГАЈИЋ СРЕТО
+ГАЈИЋ СТАНИМИР
+ГАЈИЋ СТАНОЈЛО
+ГАЈИЋ СТОЈАН
+ГАЈИЋ СТРАХИЊА
+ГАЈИЋ СВЕТОЗАР
+ГАЈИЋ ТАНАСКО
+ГАЈИЋ ВЕЛИМИР
+ГАЈИЋ ВЕСНА
+ГАЈИЋ ВИДА
+ГАЈИЋ ВИДОСАВА
+ГАЈИЋ ВЛАДИСЛАВ
+ГАЈИЋ ЗОРАН
+ГАЈИЦА БРАНКО
+ГАЈИЦКИ БРАНКО
+ГАЈИЦКИ ДУШАН
+ГАЈИЦКИ ЈЕЛЕНА
+ГАЈИЦКИ ЛАЗАР
+ГАЈИЦКИ МАРИЈА
+ГАЈИЦКИ МИЛА
+ГАЈИЦКИ МИЛИЦА
+ГАЈИЦКИ САВА
+ГАЈИН ЖИВКО
+ГАЈИН ЂОРЂЕ
+ГАЈИН АЛЕКСАНДАР
+ГАЈИН АНКА
+ГАЈИН БРАНКО
+ГАЈИН ДРАГИЦА
+ГАЈИН ЈОВАН
+ГАЈИН ЛАЗАР
+ГАЈИН МИХАЈЛО
+ГАЈИН МИЛАН
+ГАЈИН МИЛЕНКО
+ГАЈИН МИЛОВАН
+ГАЈИН МИРЈАНА
+ГАЈИН НАДА
+ГАЈИН НЕВЕНКА
+ГАЈИН ПЕТАР
+ГАЈИН СЛАВКА ДР
+ГАЈИН СВЕТЛАНА
+ГАЈИН ВЛАДИМИР
+ГАЈИНА ДРАГОМИР
+ГАЈИНОВ ЖИВАН
+ГАЈИНОВ ЖИВКО
+ГАЈИНОВ ЖИВКО
+ГАЈИНОВ ЂОКИЦА
+ГАЈИНОВ АЛЕКСАНДАР
+ГАЈИНОВ АНЂЕЛКА
+ГАЈИНОВ БРАНКО
+ГАЈИНОВ ДИМИТРИЈЕ
+ГАЈИНОВ ДРАГОМИР
+ГАЈИНОВ ИВАНКА
+ГАЈИНОВ ЈЕЛЕНА
+ГАЈИНОВ ЈОВАН
+ГАЈИНОВ ЈУЛКА
+ГАЈИНОВ КОСТА
+ГАЈИНОВ КОСТА
+ГАЈИНОВ ЛАЗАР
+ГАЈИНОВ ЛАЗАР
+ГАЈИНОВ ЛАЗАР
+ГАЈИНОВ ЉИЉАНА
+ГАЈИНОВ ЉУБИЦА
+ГАЈИНОВ ЉУБИЦА
+ГАЈИНОВ МАРИЈА
+ГАЈИНОВ МАРКО
+ГАЈИНОВ МАРКО
+ГАЈИНОВ МИЛАН
+ГАЈИНОВ МИЛОРАД
+ГАЈИНОВ МИЛОРАД
+ГАЈИНОВ МИЛОРАД
+ГАЈИНОВ НИКОЛА
+ГАЈИНОВ ПЕРА
+ГАЈИНОВ ПЕРСИДА
+ГАЈИНОВ РАДА
+ГАЈИНОВ РАДИВОЈ
+ГАЈИНОВ РАДИВОЈ
+ГАЈИНОВ САВА
+ГАЈИНОВ СТЕВАН
+ГАЈИНОВ СТЕВАН
+ГАЈИНОВ ТОДОР
+ГАЈИНОВ ВЕЛИМИР
+ГАЈИНОВИЋ ЂОРЂЕ
+ГАЈИНОВИЋ ЂОРЂЕ
+ГАЈИНОВИЋ ДАНИЦА
+ГАЈИНОВИЋ ДРАГАНА
+ГАЈИНОВИЋ ДУШАН
+ГАЈИНОВИЋ ИКОНИЈА
+ГАЈИНОВИЋ ЈОВАН
+ГАЈИНОВИЋ ЈОВАН
+ГАЈИНОВИЋ КАТИЦА
+ГАЈИНОВИЋ ЉУБИЦА
+ГАЈИНОВИЋ МИЛАН
+ГАЈО ИШТВАН
+ГАЈОДИ ЈОЖЕФ
+ГАЈОДИ МАРИЈА
+ГАЈОВИЋ ЈУЛИЈАНА
+ГАЈОВИЋ МОМЧИЛО
+ГАЈОВИЋ РАДОЈЕ
+ГАЈТА АНИЦА
+ГАЈТА АУРЕЛИЈА
+ГАК АЛЕКСАНДРА
+ГАК МИЛАН
+ГАК НЕВЕНКА
+ГАК РАДЕ
+ГАК СЛАВКО
+ГАК СНЕЖАНА
+ГАК ЗОРКА
+ГАКИЋ БОШКО
+ГАКОВИЋ АНТОНИЈА
+ГАКОВИЋ ЈЕЛЕНА
+ГАКОВИЋ МАРИЈА
+ГАКОВИЋ МИРКО
+ГАКОВИЋ МИРКО
+ГАКОВИЋ РАНКО
+ГАКОВИЋ ЗОРА
+ГАЛ ШАНДОР
+ГАЛ ЂУЛА
+ГАЛ ЂУЛА
+ГАЛ АНКА
+ГАЛ ФЕРЕНЦ
+ГАЛ ФЕРЕНЦ
+ГАЛ ФЕРЕНЦ
+ГАЛ ГАБОР
+ГАЛ ГИЗЕЛА
+ГАЛ ЈАНОШ
+ГАЛ ЈОЖЕФ
+ГАЛ ЈОЖЕФ
+ГАЛ ЈОВАН
+ГАЛ КАЛМАН
+ГАЛ ЛАЈОШ
+ГАЛ ЛАЈОШ
+ГАЛ МАРГИТ
+ГАЛ МАРИА
+ГАЛ МИША
+ГАЛ МИКЛОШ
+ГАЛ ПАВЛЕ
+ГАЛ ПЕТАР
+ГАЛ ПЕТАР
+ГАЛ СТЕВАН
+ГАЛАЦ ЈОСИП
+ГАЛАЦ ПАВЛЕ
+ГАЛАМБ АТИЛА
+ГАЛАМБОШ АНА
+ГАЛАМБОШ АНТОН
+ГАЛАМБОШ ЕРЖЕБЕТ
+ГАЛАМБОШ ИМРЕ
+ГАЛАМБОШ ЈОСИП
+ГАЛАМБОШ ЛАСЛО
+ГАЛАМБОШ ЛАСЛО
+ГАЛБАЧ ЈОЖЕФ
+ГАЛЕЧИЋ БРАНИСЛАВ
+ГАЛЕЧИЋ ДРАГАН
+ГАЛЕЧИЋ МИРОСЛАВ
+ГАЛЕЧИЋ ЗОРАН
+ГАЛЕЧИЋ ЗОРАН
+ГАЛЕШЕВ ЖИВОЈИН
+ГАЛЕШЕВ ДУБРАВКА
+ГАЛЕШЕВ СЛОБОДАН
+ГАЛЕТИЋ АЛЕКСАНДАР
+ГАЛЕТИЋ МАРИЈА
+ГАЛЕТИЋ МИЛАН
+ГАЛЕТИЋ ВАСА
+ГАЛЕТИЋ ВЛАДИМИР
+ГАЛЕТИЋ ЗОРА
+ГАЛЕТИН МИЛИЦА
+ГАЛЕТИН НИКОЛА
+ГАЛЕТИН ПАЈИЦА
+ГАЛЕТИН СИМА
+ГАЛЕТИН СЛАВКО
+ГАЛЕТИН-СМИТ РАДОЈКА
+ГАЛЕТИН СТЕВАН
+ГАЛЕТИН ЗЛАТКО
+ГАЛФИ ЈОСИП
+ГАЛФИ МИЛЕНА
+ГАЛГО ИШТВАН
+ГАЛИЧИЋ БРАНКО
+ГАЛИЧИЋ МИЛИЦА
+ГАЛИЋ ДУШАНКА
+ГАЛИЋ ИВАНКА
+ГАЛИЋ ЈОВАН
+ГАЛИЋ ЈОВАН
+ГАЛИЋ ЈОВАН
+ГАЛИЋ КАТИЦА
+ГАЛИЋ КАТИЦА
+ГАЛИЋ ЛАДИСЛАВ
+ГАЛИЋ ЉУБИЦА
+ГАЛИЋ МАРИЈАН
+ГАЛИЋ МИЛАДИН
+ГАЛИЋ МИЛЕНКО
+ГАЛИЋ МИЛКА
+ГАЛИЋ МИЛОШ
+ГАЛИЋ МИЛОВАН
+ГАЛИЋ МИРКО
+ГАЛИЋ МИТАР
+ГАЛИЋ МОМЧИЛО
+ГАЛИЋ НЕДЕЉКО
+ГАЛИЋ НИКОЛА
+ГАЛИЋ ОЛГА
+ГАЛИЋ ПЕТАР
+ГАЛИЋ РОЖИКА
+ГАЛИЋ САЊА
+ГАЛИЋ СЛАВКА
+ГАЛИЋ СТЕВО
+ГАЛИЋ ТЕРЕЗА
+ГАЛИЋ ВОЈИСЛАВ
+ГАЛИЋ ЗДРАВКО
+ГАЛИЦКИ ЂУРА
+ГАЛИК ЕТЕЛКА
+ГАЛИПОВИЋ ЈОВИЦА
+ГАЛКО ЈУЛИА
+ГАЛО ЂУРА
+ГАЛОЊА ДЕСАНКА
+ГАЛОЊА ДРАГОЉУБ
+ГАЛОЊА МИОДРАГ
+ГАЛОЊА МИРКО
+ГАЛОЊА РАДЕ
+ГАЛОВИЋ ЂОРЂЕ
+ГАЛОВИЋ ЂУРА
+ГАЛОВИЋ АЛЕКСАНДРА
+ГАЛОВИЋ АНЂЕЛКА
+ГАЛОВИЋ БРАНКО
+ГАЛОВИЋ ДРАГИЦА ДР
+ГАЛОВИЋ ИВИЦА
+ГАЛОВИЋ ЈЕЛИЦА
+ГАЛОВИЋ ЉУБИЦА
+ГАЛОВИЋ МИЛАН
+ГАЛОВИЋ МИЛАН
+ГАЛОВИЋ МИЛЕНКО
+ГАЛОВИЋ РАДОМИР
+ГАЛОВИЋ СТЕВО
+ГАЛОВИЋ ЗОРКА
+ГАЛУС ЛАСЛО
+ГАМБЕР СЛОБОДАН
+ГАНЏИ САВКА
+ГАНГЛИ АНА
+ГАНИЋ АЛОЈЗИЈЕ
+ГАНИЋ АЛОЈЗИЈЕ
+ГАНИЋ МИШО
+ГАНИЋ СТАНИСЛАВА
+ГАНИЋ ЗДЕНКО
+ГАНИЋ ЗОРИЦА
+ГАЊИ САМУЕЛ
+ГАНТАР АЛЕКСАНДРА
+ГАНТАР ФИЛИП
+ГАНТАР МИРОСЛАВ ДР
+ГАРЧЕВ ДАНИЦА
+ГАРЧЕВ МИЛУТИН
+ГАРЧЕВИЋ ПЕРО
+ГАРЧЕВИЋ ПЕРО
+ГАРАШЕВИЋ МИЛКА
+ГАРАБА АНДРИЈА
+ГАРАБАНДИЋ ЂОРЂЕ
+ГАРАБАНДИЋ МАРИЈА
+ГАРАБАНДИЋ МИЛЕНКО
+ГАРАБАНДИЋ НИКОЛА
+ГАРАБАНТИН ИВАН
+ГАРАБАНТИН МИЛОВАН
+ГАРАБАНТИН СТЕВАН
+ГАРАИ БЕЛА
+ГАРАИ КОРНЕЛИЈА
+ГАРАЈ БРАНИМИР
+ГАРАЈ ЈЕЛЕНА
+ГАРАЈ ОЛГА
+ГАРАЛЕЈИЋ ВЕРИЦА
+ГАРАПИЋ БРАНКО ДИПЛ ИНГ
+ГАРДАШЕВИЋ МИЛОШ
+ГАРДАШЕВИЋ-СТРИЧЕВИЋ ЈОВАНКА
+ГАРДАШЕВИЋ ВЕСЕЛИН
+ГАРДИЋ АЛИЈА
+ГАРДИНОВАЧКИ ЂОРЂЕ
+ГАРДИНОВАЧКИ БОРИСЛАВ
+ГАРДИНОВАЧКИ БРАНИМИР
+ГАРДИНОВАЧКИ ЦВЕТА
+ГАРДИНОВАЧКИ МИОРКА
+ГАРДИНОВАЧКИ НЕДЕЉКО
+ГАРДИНОВАЧКИ СТЕВАН
+ГАРДИНОВАЧКИ СВЕТОЗАР
+ГАРЕЛОВИЋ МИРОСЛАВ
+ГАРЕВСКИ ДИМИТРИЈА
+ГАРИЋ ЖАРКО
+ГАРИЋ ЛАЗАР
+ГАРИЋ ЛУКА
+ГАРИЋ МИРОСЛАВ
+ГАРИЋ НАДА
+ГАРИЋ СТЕВАН
+ГАРОВИЋ МИЛУТИН
+ГАРОВИЋ МИЛУТИН
+ГАРОВНИКОВ ЂОРЂЕ
+ГАРОВНИКОВ БОРКА
+ГАРТНЕР ПЕТАР
+ГАРУНОВИЋ ДАНИЦА
+ГАРУНОВИЋ ВАСА
+ГАТАЛО ГОРАН
+ГАТАЛО РАТКО
+ГАТАРИЋ ЖЕЉКО
+ГАТАРИЋ ЖЕЉКО
+ГАТАРИЋ БОШКО
+ГАТАРИЋ ДРАЖЕ
+ГАТАРИЋ МАНОЈЛО
+ГАТАРИЋ САВКА
+ГАТАРИЋ СТАНА
+ГАТАРИЋ СВЕТОЗАР
+ГАТАРИЋ ЗЛАТИБОР
+ГАТЕР ЈОСИП
+ГАУДЕЊИ ГАБРИЈЕЛА
+ГАУДЕЊИ МАТИЛД
+ГАУДЕЊИ ТИВАДАР
+ГАВА АЛЕКСЕЈ
+ГАВАНСКИ БРАНИСЛАВ АДВОКАТ
+ГАВАНСКИ БРАНИСЛАВА
+ГАВАНСКИ БРАНИСЛАВА
+ГАВАНСКИ ДАРА
+ГАВАНСКИ ДРАГАН
+ГАВАНСКИ ДУШАН
+ГАВАНСКИ ГАВРИЛО
+ГАВАНСКИ ИВАН
+ГАВАНСКИ ЈЕЛЕНА
+ГАВАНСКИ ЈУДИТА
+ГАВАНСКИ КОНСТАНТИН ДР
+ГАВАНСКИ КОСТА ДПЛ ИНГ
+ГАВАНСКИ КОСТА
+ГАВАНСКИ ЛАЗАР
+ГАВАНСКИ ЛУКА
+ГАВАНСКИ МАРГИТА
+ГАВАНСКИ МИЛИЦА
+ГАВАНСКИ МИЛИЦА
+ГАВАНСКИ НАДА
+ГАВАНСКИ НОВАК
+ГАВАНСКИ ПАВЛЕ
+ГАВАНСКИ ПЕТРА
+ГАВАНСКИ СТЕВАН
+ГАВАНСКИ СТЕВАН
+ГАВАНСКИ СТЕВАН
+ГАВАНСКИ СТЕВАН
+ГАВАНСКИ СВЕТОЗАР
+ГАВАНСКИ ЗОРАН
+ГАВАНСКИ ЗОРАН
+ГАВАРИЋ АЛЕКСАНДАР
+ГАВАРИЋ ГАВРИЛО
+ГАВАРИЋ ЈЕРЕМИЈЕ
+ГАВАРИЋ ЉУБИЦА
+ГАВАРИЋ МИЛЕНКО
+ГАВЛИК ГЕРГЕЉ
+ГАВОДИ ЕСТЕР
+ГАВРАН ГОЈКО
+ГАВРАН ЉУБОМИР
+ГАВРАНЧИЋ ЂУРЂИЦА
+ГАВРАНЧИЋ ЈОВАН
+ГАВРАНЧИЋ КАТИЦА
+ГАВРАНЧИЋ МАРГИТА
+ГАВРАНЧИЋ МАРИЈА
+ГАВРАНЧИЋ НИКОЛА
+ГАВРАНЧИЋ ВЛАДИМИР
+ГАВРАНИЋ ГОЈКО
+ГАВРАНИЋ ИЛИЈА
+ГАВРАНИЋ ЗВЕЗДАНА
+ГАВРАНОВ БОСА
+ГАВРАНОВ СЛОБОДАН
+ГАВРАНОВИЋ ТОМИСЛАВ
+ГАВРАНОВИЋ ЗДРАВКО
+ГАВРИЋ ЧЕДОМИР
+ГАВРИЋ ЖИВКА
+ГАВРИЋ ЂОРЂЕ
+ГАВРИЋ БРАНИСЛАВ
+ГАВРИЋ ДИМИТРИЈЕ
+ГАВРИЋ-ГАЗДИЋ НИКОЛА
+ГАВРИЋ ИВАН
+ГАВРИЋ ИВАН
+ГАВРИЋ ЈОВАН
+ГАВРИЋ ЈОВО
+ГАВРИЋ МАРИЈА
+ГАВРИЋ МИХАЈЛО
+ГАВРИЋ МИЛАН
+ГАВРИЋ МИЛАН
+ГАВРИЋ МИЛЕНА
+ГАВРИЋ МИЛЕНКО
+ГАВРИЋ МИЛЕНКО
+ГАВРИЋ МИЛОШ
+ГАВРИЋ МИРКО
+ГАВРИЋ МИРОСЛАВ
+ГАВРИЋ ПЕТАР
+ГАВРИЋ РАДОМИР
+ГАВРИЋ РАДОСЛАВ
+ГАВРИЋ СЕНКА
+ГАВРИЋ СЛАВКА
+ГАВРИЋ СПАСОЈЕ
+ГАВРИЋ СВЕТОЗАР
+ГАВРИЋ ВЕЛИНКА
+ГАВРИЋ ВЛАДИМИР
+ГАВРИЋ ЗОРАН
+ГАВРИЋ ЗОРА
+ГАВРИЛОВ ЖИВКА
+ГАВРИЛОВ АНКИЦА
+ГАВРИЛОВ БОГДАН
+ГАВРИЛОВ ГОРДАНА
+ГАВРИЛОВ ХЕРМИНА
+ГАВРИЛОВ ЈУЛКА
+ГАВРИЛОВ ЉУБИЦА
+ГАВРИЛОВ МАРТА
+ГАВРИЛОВ МИЛИВОЈ
+ГАВРИЛОВ МИЛИВОЈ
+ГАВРИЛОВ МИЛОРАД
+ГАВРИЛОВ РАДИВОЈ
+ГАВРИЛОВ СЛАВКО
+ГАВРИЛОВ СМИЉА
+ГАВРИЛОВ ТОДОР
+ГАВРИЛОВ УРОШ
+ГАВРИЛОВИЋ ЖИКИЦА
+ГАВРИЛОВИЋ ЖИВКА
+ГАВРИЛОВИЋ ЖИВОЈИН ДР
+ГАВРИЛОВИЋ АЛЕКСАНДАР
+ГАВРИЛОВИЋ АЛЕКСАНДАР
+ГАВРИЛОВИЋ АЛЕКСА
+ГАВРИЛОВИЋ БОГДАНКА
+ГАВРИЛОВИЋ БОРИВОЈ
+ГАВРИЛОВИЋ БРАНКА
+ГАВРИЛОВИЋ БРАНКО
+ГАВРИЛОВИЋ ДОБРИЛА
+ГАВРИЛОВИЋ ДОБРИВОЈЕ
+ГАВРИЛОВИЋ ДУШИЦА
+ГАВРИЛОВИЋ ЕМИЛ
+ГАВРИЛОВИЋ ГРОЗДАН
+ГАВРИЛОВИЋ ЈЕЛИСАВКА
+ГАВРИЛОВИЋ ЈОВАН
+ГАВРИЛОВИЋ ЈОВАН
+ГАВРИЛОВИЋ КАТИЦА
+ГАВРИЛОВИЋ КЛАУДИЈА
+ГАВРИЛОВИЋ ЛАЗАР
+ГАВРИЛОВИЋ ЉУБОМИР
+ГАВРИЛОВИЋ МАРА
+ГАВРИЛОВИЋ МАРИЈА
+ГАВРИЛОВИЋ МАРИЈА
+ГАВРИЛОВИЋ МИЛЕНА
+ГАВРИЛОВИЋ МИЛЕНКО
+ГАВРИЛОВИЋ МИЛЕНКО
+ГАВРИЛОВИЋ МИЛИЦА
+ГАВРИЛОВИЋ МИЛОШ
+ГАВРИЛОВИЋ МИЛОШ
+ГАВРИЛОВИЋ МИЛОЈЕ
+ГАВРИЛОВИЋ МИЛОСАВА
+ГАВРИЛОВИЋ МИЛОВАН
+ГАВРИЛОВИЋ МИРА
+ГАВРИЛОВИЋ МИРЈАНА
+ГАВРИЛОВИЋ МИРЈАНА
+ГАВРИЛОВИЋ МИРКО
+ГАВРИЛОВИЋ МИРОСЛАВ
+ГАВРИЛОВИЋ МИРОСЛАВ
+ГАВРИЛОВИЋ МИТАР
+ГАВРИЛОВИЋ МЛАДЕН
+ГАВРИЛОВИЋ НЕБОЈША
+ГАВРИЛОВИЋ НИКОЛА ДР ПРОФ
+ГАВРИЛОВИЋ НИКОЛА
+ГАВРИЛОВИЋ ПАВЛЕ
+ГАВРИЛОВИЋ РАДОСЛАВ
+ГАВРИЛОВИЋ РАЈКА
+ГАВРИЛОВИЋ САВА ДР
+ГАВРИЛОВИЋ САВО
+ГАВРИЛОВИЋ СЛАВИЦА
+ГАВРИЛОВИЋ СЛАВКО ДР
+ГАВРИЛОВИЋ СЛАВКО
+ГАВРИЛОВИЋ СЛАВКО
+ГАВРИЛОВИЋ СЛАВОЉУБ
+ГАВРИЛОВИЋ СЛОБОДАН
+ГАВРИЛОВИЋ СОФИЈА
+ГАВРИЛОВИЋ СТАНА
+ГАВРИЛОВИЋ СТЕВА
+ГАВРИЛОВИЋ СТОЈАН
+ГАВРИЛОВИЋ ТОША
+ГАВРИЛОВИЋ ТОДОР
+ГАВРИЛОВИЋ ВЕРА ДР
+ГАВРИЛОВИЋ ВЕРИЦА
+ГАВРИЛОВИЋ ВЛАДИМИР
+ГАВРИЛОВИЋ ВЛАДИМИР
+ГАВРИЛОВИЋ ВЛАДИМИР
+ГАВРИЛОВИЋ ВУКИЦА
+ГАВРИЛОВИЋ ЗЛАТА
+ГАВРИЛОВСКИ ПАВЛИНА
+ГАВРОВИЋ ГОРАН
+ГАВРОВИЋ ГОРДАНА
+ГАВРОВИЋ ЉУБИВОЈЕ
+ГАВРОВИЋ СВЕТЛАНА ЛОКАЛ
+ГАЗАФИ ЛАСЛО
+ГАЗДИЋ БОРИВОЈ
+ГАЗЕПОВ ИЛИЈА
+ГАЗИЋ ИВАН
+ГАЗИБАРИЋ ИЗЕТА
+ГАЗИБАРИЋ ЈЕЛЕНА
+ГАЗИБАРИЋ ЈОВАНКА
+ГАЗИБАРИЋ СИМА
+ГАЗИЈА ЈОВАН
+ГАЗИВОДА ГОЈКО
+ГЕЧЕВСКИ СРЕТКО
+ГЕБАУЕР ЕРВИН ДР
+ГЕБЕЛС АНА
+ГЕЦИ ЂУРА
+ГЕДЕЛОВСКИ ДУШАН
+ГЕДЕЛОВСКИ СОФИЈА
+ГЕГЕШ ЈУЛИЈАНА
+ГЕГЕШ НАНДОР
+ГЕГЕШ СЛАВИЦА
+ГЕГЕНБАУЕР ДРАГУТИН
+ГЕГЕНБАУЕР ИЛОНКА
+ГЕГЕНБАУЕР ЗОРА
+ГЕГИЋ АЛЕКСАНДАР
+ГЕГИЋ НЕМАЊА
+ГЕЛЕИ ЈЕНЕ
+ГЕЛЕР ШАНДОР
+ГЕЛЕР ЂУЛА
+ГЕЛЕР АДАМ
+ГЕЛЕР АЛЕКСАНДАР
+ГЕЛЕР БЕЛА
+ГЕЛЕР ЈЕЛИСАВЕТА
+ГЕЛЕР ЈОВАН
+ГЕЛЕР ЛАСЛО
+ГЕЛЕР ЛАСЛО
+ГЕЛЕР МАРИЈА
+ГЕЛЕР МАРТА
+ГЕЛЕР ОЛГА
+ГЕЛЕР-ПЕТКОВИЋ ГИЗЕЛА
+ГЕЛЕР ТИБОР
+ГЕЉИЋ МАТО
+ГЕМОВИЋ АЛЕКСАНДАР
+ГЕНЦ ФЕРЕНЦ
+ГЕНЦ ЛАЈОШ
+ГЕНЦЕЛ ЈУЛИЈАНА
+ГЕНЦЕЛ МАРИЈАНА
+ГЕНЦЕЛ ВАЛЕРИЈА
+ГЕНЦИ ЈОСИП
+ГЕНЕВАЈН ЂУРА
+ГЕНЕВАЈН ЈОВАН
+ГЕНЕВАЈН КАРЛО
+ГЕНЕВАЈН ЛАЈОШ
+ГЕНЕВАЈН ЛАЈОШ
+ГЕНОВА МАЈДА ДИПЛ ИНГ
+ГЕНОВА МИЛИЦА ДИПЛ ИНГ
+ГЕОРГИЕВ ЛЕПОСАВА
+ГЕОРГИЕВСКИ ПЕРО
+ГЕОРГИЕВСКИ ВАСИЛ
+ГЕОРГИЈЕВИЋ ЖИВКО
+ГЕОРГИЈЕВИЋ АЛЕКСАНДАР
+ГЕОРГИЈЕВИЋ ИВАНА
+ГЕОРГИЈЕВИЋ ЈОВАН
+ГЕОРГИЈЕВИЋ ЈОВАН
+ГЕОРГИЈЕВИЋ ЛАЗАР
+ГЕОРГИЈЕВИЋ ЛАЗА
+ГЕОРГИЈЕВИЋ ЉУБИША
+ГЕОРГИЈЕВИЋ МИЛАН
+ГЕОРГИЈЕВИЋ МИЛОСАВ
+ГЕОРГИЈЕВИЋ МИЛОВАН
+ГЕОРГИЈЕВИЋ НЕСТОР
+ГЕОРГИЈЕВИЋ РАДОВАН
+ГЕОРГИЈЕВИЋ ВОЈИСЛАВ
+ГЕРА ИБОЉА
+ГЕРАК ЕМИЛИЈА
+ГЕРАСИМОВСКИ ЗЛАТЕ
+ГЕРАТОВИЋ ЗОРАН
+ГЕРДИЈАН ЧЕДОМИР
+ГЕРЕ ЛАЈОШ
+ГЕРЕ ЗОЛТАН
+ГЕРЕЦИ ЈУРАЈ
+ГЕРЕГ ЖУЖАНА
+ГЕРЕГ АНДРАШ
+ГЕРЕГ БЛАНКА
+ГЕРЕГ ЕУГЕН
+ГЕРЕГ ТИБОР
+ГЕРГЕЧ СМИЉА
+ГЕРГЕЉ ШИМОН
+ГЕРИ ТЕРЕЗА
+ГЕРИЋ ЖАРКО
+ГЕРИЋ ЂОРЂЕ
+ГЕРИЋ АЛЕКСАНДАР
+ГЕРИЋ АНТОН
+ГЕРИЋ ЦВЕТА
+ГЕРИЋ ГИНА
+ГЕРИЋ ГОРДАНА
+ГЕРИЋ ИВАН
+ГЕРИЋ ИВАН
+ГЕРИЋ КОСТА
+ГЕРИЋ КОВИЦА
+ГЕРИЋ ЉУБОМИР
+ГЕРИЋ МАРИЈА
+ГЕРИЋ МИЛАН
+ГЕРИЋ МИЛОШ
+ГЕРИЋ МИЛОШ
+ГЕРИЋ МИРКО
+ГЕРИЋ НЕДЕЉКО
+ГЕРИЋ НЕСТОР
+ГЕРИЋ ОБРАД
+ГЕРИЋ ПЕТАР
+ГЕРИЋ РАДИНКА
+ГЕРИЋ СТЕВАН
+ГЕРИХ АНДРИЈА
+ГЕРЛ ФЕРДО
+ГЕРЛ МАРИЈА
+ГЕРЛА ДРАГАНА
+ГЕРЛА ЛАДИСЛАВ
+ГЕРЛА ТЕОДОР
+ГЕРМАНОВИЋ МИЛАН
+ГЕРМАНОВИЋ СТАНОЈЕ
+ГЕРНАЧ ЂОРЂЕ
+ГЕРНАЧ ФРАЊА
+ГЕРНАЧ ЛАДИСЛАВ
+ГЕРО ЂЕРЂ
+ГЕРО ДУШАНКА
+ГЕРО ЈАНОШ
+ГЕРО ЈОЖЕФ
+ГЕРО КАРЛО
+ГЕРО ЛАЈОШ
+ГЕРО МАРГИТА
+ГЕРОЛД ЈАКОБ
+ГЕРОЛД ЛАСЛО
+ГЕРОВ АНГЕЛ ДИПЛ ИНГ
+ГЕРТНЕР АНА
+ГЕРТНЕР ФРАЊА
+ГЕРТНЕР ЈОЖЕФ
+ГЕРТНЕР РЕЖЕ
+ГЕТЕЛ ХЕЛМУТ
+ГЕЗ ЈАНОШ
+ГЕЗ ЈЕЛИЦА
+ГЕЗ КАТИЦА
+ГЕЗ ТИБОР
+ГЕЗ ВЕРОНИКА
+ГХАНДОУР-ШАЛ ЈУЛИЈАНА
+ГИАДРОШИЋ МАРИЈА
+ГИБАНИЦА ГЕОРГИНА
+ГИГА СРЕТЕН
+ГИГИЋ МИОМИР
+ГИГИЋ МИРЈАНА
+ГИГИЋ ЗОРАН
+ГИКИЋ БОЖИДАР
+ГИКИЋ ДИМИТРИЈЕ
+ГИКИЋ РАДИВОЈЕ
+ГИКОВСКИ МИНО
+ГИЛЕЗАН КОРИОЛАН
+ГИЛГ ИРЕНА
+ГИЛИЋ ДРАГАН
+ГИЛИЋ ДРАГАН
+ГИМБОШ ДОБРИВОЈЕ
+ГИНЦУЉ СЕРГИЈЕ ДИПЛ ИНГ
+ГИОН АЛЕКСАНДАР
+ГИОН АНА ДР
+ГИОН ИШТВАН
+ГИОН КАЛМАН
+ГИОН НАНДОР
+ГИРИЋ МАТИЈА
+ГИРИЦ БЕЛА
+ГИРИЦ ЕЛЕНА
+ГИРИЦ ИМРЕ
+ГИРИЦ ЈОЖЕФ
+ГИРИЦ ЛАСЛО
+ГИРИЦ-МОКУШ КЛАРА
+ГИРИЗД ЛАСЛО НОВИНАР
+ГИРНТ РОЗАЛИЈА
+ГИС ХЕДВИГА
+ГЈАФО МАТИЈА
+ГЈЕР ВЛАДИМИР
+ГЛАДИШ СТЕВАН
+ГЛАДИЋ МИЛАН
+ГЛАДИЋ РАЈКО
+ГЛАДИЋ СВЕТОЗАР
+ГЛАДОВИЋ ДУШАН
+ГЛАДОВИЋ ТАТЈАНА
+ГЛАЈХ ГЕОРГ
+ГЛАМОЧАНИН НЕВЕНКА
+ГЛАМОЧАНИН НЕВЕНКА
+ГЛАМОЧАНИН ПЕРО
+ГЛАМОЧАНИН ВЛАДИМИР
+ГЛАМОЧИЋ ДАНЕ
+ГЛАМОЧИЋ СНЕЖАНА
+ГЛАМОЧЛИЈА РУЖИЦА
+ГЛАНЦ АНТУН
+ГЛАСОВАЦ МАРТА
+ГЛАВЧИЋ МИЛОРАД
+ГЛАВАШ ЖАРКО
+ГЛАВАШ ЈОВО
+ГЛАВАШ МИЛАН
+ГЛАВАШ-ТРБИЋ БОШКО
+ГЛАВАШЕВИЋ АНЂЕЛКО
+ГЛАВАШЕВИЋ АНЂЕЛКО
+ГЛАВАШКИ ЖИВОЈИН
+ГЛАВАШКИ АЛЕКСАНДАР
+ГЛАВАШКИ АЛЕКСАНДРА
+ГЛАВАШКИ АНЂЕЛКА
+ГЛАВАШКИ БОГДАН ДИПЛ ИНГ
+ГЛАВАШКИ БРАНИСЛАВ
+ГЛАВАШКИ БРАНКО ДИПЛ ПРАВНИК
+ГЛАВАШКИ ДРАГАН
+ГЛАВАШКИ ДУШАН
+ГЛАВАШКИ ГЛИША
+ГЛАВАШКИ МИЛУТИН
+ГЛАВАШКИ НЕМАЊА
+ГЛАВАШКИ СИМА
+ГЛАВАШКИ СИНИША
+ГЛАВАШКИ СМИЉКА
+ГЛАВАН ЈОВАН
+ГЛАВАНИЋ БОСИЉКА
+ГЛАВАНИЋ ЈУЛКА
+ГЛАВАНИЋ МИРКО
+ГЛАВАРДАНОВ АЛЕКСАНДАР
+ГЛАВАРДАНОВ ИВАН ДИПЛ ИНГ
+ГЛАВАРДАНОВ МАРИЈА
+ГЛАВАРДАНОВ СОКО
+ГЛАВАТОВИЋ ДРАГАН
+ГЛАВАТОВИЋ ДУШАН
+ГЛАВИЧИЋ МАРИЈАНА
+ГЛАВИЋ БОШКО
+ГЛАВИЋ ГАВРО
+ГЛАВИЋ ЈЕЛКА
+ГЛАВИЋ РАДИСЛАВ
+ГЛАВИНИЋ ЈОВО
+ГЛАВИНИЋ МИЛОРАД
+ГЛАВОЧЕВИЋ ИЛИЈА
+ГЛЕЂА МИЛЕНКО
+ГЛЕДИЋ МИЛИЦА
+ГЛИШИЋ ЂОРЂО
+ГЛИШИЋ БОРИСЛАВ
+ГЛИШИЋ БРАНКО
+ГЛИШИЋ ГРАДИМИР
+ГЛИШИЋ ИЛИЈА
+ГЛИШИЋ ИВАН
+ГЛИШИЋ ЈЕЛИЦА
+ГЛИШИЋ ЈОВАН
+ГЛИШИЋ-КЕСЕГ ВАЛЕРИЈА
+ГЛИШИЋ ЉУБИША
+ГЛИШИЋ МИЛЕВА
+ГЛИШИЋ НЕНАД
+ГЛИШИЋ ПРЕДРАГ
+ГЛИШИЋ РАДОМИР
+ГЛИШИЋ СИМО
+ГЛИШИЋ СРЕТА
+ГЛИШИЋ ВЕСНА
+ГЛИШИЋ ЗОРАН
+ГЛИШИН ЂОРЂЕ
+ГЛИШИН БРАНКА
+ГЛИШИН НЕНАД
+ГЛИШОВИЋ МАРИЈА
+ГЛИБИЋ МИЛАН
+ГЛИБОТА ВЛАДО
+ГЛИГИЋ ЖЕЉКА
+ГЛИГИЋ МИРА
+ГЛИГИЋ НЕДЕЉКО
+ГЛИГИЋ ТОМИСЛАВ
+ГЛИГОРЕВИЋ ДУШКО
+ГЛИГОРЕВИЋ ТОМО
+ГЛИГОРИЋ ЖЕЉКО
+ГЛИГОРИЋ ЖИВОЈИН
+ГЛИГОРИЋ ЖИВОРАД
+ГЛИГОРИЋ АНЂЕЛКА
+ГЛИГОРИЋ ЦВЕТАНКА
+ГЛИГОРИЋ ДРАГАН
+ГЛИГОРИЋ ДРАГАН
+ГЛИГОРИЋ ДРАГИША
+ГЛИГОРИЋ ДРАГИЦА
+ГЛИГОРИЋ ДРАГИЊА
+ГЛИГОРИЋ ДРАГОМИР
+ГЛИГОРИЋ ЈЕЛЕНА
+ГЛИГОРИЋ КАТИЦА
+ГЛИГОРИЋ ЉУБОМИР
+ГЛИГОРИЋ МИЛАН
+ГЛИГОРИЋ МИЛАН
+ГЛИГОРИЋ МИЛОРАД
+ГЛИГОРИЋ МЛАДЕН
+ГЛИГОРИЋ НИКОЛА
+ГЛИГОРИЋ РАДИША
+ГЛИГОРИЋ СТАНОЈЕ
+ГЛИГОРИЋ СТЕВАН
+ГЛИГОРИЋ СТЕВАН
+ГЛИГОРИЈЕВИЋ АЛЕКСАНДАР
+ГЛИГОРИЈЕВИЋ ДРАГАНА
+ГЛИГОРИЈЕВИЋ ДРАГИЦА
+ГЛИГОРИЈЕВИЋ КРСТА
+ГЛИГОРИЈЕВИЋ МИХАЈЛО
+ГЛИГОРИЈЕВИЋ МИОДРАГ
+ГЛИГОРИЈЕВИЋ ПЕТРА
+ГЛИГОРИЈЕВИЋ РУЖИЦА
+ГЛИГОРИН ЂУРЂИНКА
+ГЛИГОРИН БОЈАНА
+ГЛИГОРИН МИРОСЛАВ
+ГЛИГОРИН СЛАВИЦА
+ГЛИГОРИН СТЕВАН
+ГЛИГОРИН ТОМИСЛАВ
+ГЛИГОРИН ЗОРАН
+ГЛИГОРИН ЗОРКА
+ГЛИГОРОВ ДЕСИМИР
+ГЛИГОРОВ ЈОВАН
+ГЛИГОРОВ ЛЕКА
+ГЛИГОРОВ ЉУБОМИР
+ГЛИГОРОВИЋ СЛАВКО
+ГЛИГОРОВСКИ ТРАЈКО
+ГЛИНТИЋ МИЛЕ
+ГЛИНТИЋ МИОДРАГ
+ГЛИНТИЋ НИКОЛА
+ГЛИНТИЋ РАДОСЛАВ
+ГЛИНТИЋ САВКА
+ГЛИНТИЋ ВЕСЕЛКА
+ГЛОЖАНСКИ МАРИЈА
+ГЛОЖАНСКИ ПЕТАР
+ГЛОЖАНСКИ ВОЈИСЛАВ
+ГЛОГОЊАЦ ВИТОМИР
+ГЛОГОВЧАН МИЛОШ ДИПЛ ИНГ
+ГЛОГОВАЦ ЈЕВРЕМ
+ГЛОГОВАЦ КОРНЕЛИЈА
+ГЛОГОВАЦ МИРКО
+ГЛОГОВАЦ МОМЧИЛО
+ГЛУШАЦ БОЖИДАР
+ГЛУШАЦ ДУШАН
+ГЛУШАЦ МИХАЈЛО
+ГЛУШАЦ МИЛАН
+ГЛУШАЦ МИЛОШ
+ГЛУШАЦ МИЛОРАД
+ГЛУШАЦ ПЕТАР
+ГЛУШИЋ БРАНКО
+ГЛУШИЦА ЉУБОМИР
+ГЛУШИЦА МИЛАН
+ГЛУШИЦА МИЛАН
+ГЛУШИЦА МИЛЕ
+ГЛУШИЦА НЕНАД
+ГЛУШИЦА ПЕТАР
+ГЛУШИЦА СЛАЂАНА
+ГЛУШИЦА СЛАВКА
+ГЛУШИЦА ЗДРАВКО
+ГЛУХАИЋ АНЂЕЛКО
+ГЛУХАЈИЋ БОЖО
+ГЛУХАК КАРЛО
+ГЛУХОВИЋ МИЛОШ
+ГЛУХОВИЋ МИЛОМИР
+ГЛУХОВИЋ ВЕЉКО
+ГЛУМАЦ ДАНЕ
+ГЛУМАЦ ДАНИЛО
+ГЛУМАЦ ДАНИЛО
+ГЛУМАЦ ДРАГАН
+ГЛУМАЦ ДУШАН
+ГЛУМАЦ ГАВРА
+ГЛУМАЦ ЈЕЛЕНА
+ГЛУМАЦ ЛАЗО
+ГЛУМАЦ ЉУБО
+ГЛУМАЦ МАГДАЛЕНА
+ГЛУМАЦ МИЛАН
+ГЛУМАЦ МИЛЕ
+ГЛУМАЦ МИОДРАГ ДР
+ГЛУМАЦ МИРОСЛАВ
+ГЛУМАЦ СЛОБОДАН ДР
+ГЛУМИЧИЋ МАНДА
+ГЛУВАИЋ ЂОРЂЕ
+ГЛУВАЈИЋ ДРАГАН
+ГЛУВАЈИЋ ЈОВАН
+ГЛУВАКОВ МИЛАДИНКА
+ГЛУВАКОВ ПАВЛЕ
+ГЛУВАКОВИЋ ВЛАДИМИР
+ГЛУВЊА СТЕВАН
+ГМИЗИЋ БРАНИСЛАВ
+ГМИЗИЋ НЕГОВАН
+ГМИЗИЋ ВЛАДА
+ГНИП ЈОАКИМ
+ГНИП ВЕЛИМИР ДИПЛ ИНГ
+ГНИП ВЕРА
+ГНИП ВЛАДИМИР
+ГЊАТИЋ СТОЈАНКА
+ГЊЕЧ СВЕН
+ГОЧАНИН РАДЕ
+ГОЧИЋ АНЂА
+ГОШИЋ ЈЕВРЕМ
+ГОШИЋ ЉИЉА
+ГОШИЋ ПАВЛЕ
+ГОШИЋ ПАВЛЕ
+ГОШИЋ ПАВЛЕ
+ГОШИЋ ТОМИСЛАВ
+ГОШИЋ ТОМИСЛАВ
+ГОШЊИЋ ДОБРИВОЈ
+ГОЂЕВАЦ БОСИЉКА
+ГОБЕЦ КАТИЦА
+ГОБЕЦ МИЛАН
+ГОБЕЉИЋ МИЛОВАН
+ГОБЕЉИЋ СТРАХИЊА
+ГОБЕЉИЋ СВЕТИСЛАВ
+ГОБЕЉИЋ ВУКАДИН
+ГОБЕЉИЋ ВУК
+ГОБОР АНА
+ГОБОР ЛАДИСЛАВ
+ГОБОР ЗОЛТАН
+ГОБОР ЗОЛТАН
+ГОЦИЋ БОГОСАВ
+ГОЦИЋ ЈЕВРОСИМА
+ГОЦИЋ ВИДОЈКО
+ГОДА ОЛИВИЈА
+ГОДАР КАТАРИНА
+ГОДИЋ МАРИЈА
+ГОДИЋ ЗВОНКО
+ГОДИЋ ЗВОНКО
+ГОДИНА ДАРКО
+ГОДИНА МИЛКО
+ГОДИНСКИ ВЛАДИМИР
+ГОДОШЕВ КРСТА
+ГОДОР ШАНДОР
+ГОДОР ЈАНОШ
+ГОДОР ЈОСИП
+ГОДУНЦ ДУШАН
+ГОГИЋ ДОБРИЛО
+ГОГИЋ ДРАГОЉУБ
+ГОГИЋ МАРА
+ГОГИЋ ПАВЛЕ
+ГОГИЋ СЛАВКО
+ГОГИЋ ВЕЛИНКА
+ГОГОЛАК МАРГИТА
+ГОГОЉЕВ МИХАЈЛО
+ГОГОЉЕВ УЉАНА
+ГОГОЉЕВ ВАСИЛИЈЕ
+ГОГОВ МИЛАН
+ГОЈАН ФЕРЕНЦ
+ГОЈИЋ ДРАГАН
+ГОЈИЋ ГОЈКО
+ГОЈИЋ МИЛЕНА
+ГОЈИЋ МИЛЕ
+ГОЈКОВ ЖИВКО
+ГОЈКОВ ЈУЛИЈАНА
+ГОЈКОВ МИЛЕНА
+ГОЈКОВ РАДОМИР
+ГОЈКОВ ВАСИЛИЈЕ
+ГОЈКОВИЋ ДОНКА
+ГОЈКОВИЋ ДРАГАН
+ГОЈКОВИЋ ДРАГОРАД
+ГОЈКОВИЋ ДУШАН
+ГОЈКОВИЋ ГЕОРГИЈЕ ДИПЛ ИНГ
+ГОЈКОВИЋ ИЛИЈА
+ГОЈКОВИЋ ЈЕЛА
+ГОЈКОВИЋ ЉУБИША
+ГОЈКОВИЋ МИЛИСАВ
+ГОЈКОВИЋ МИТА
+ГОЈКОВИЋ НАДЕЖДА
+ГОЈКОВИЋ НЕВЕНКА
+ГОЈКОВИЋ ПАВЛЕ
+ГОЈКОВИЋ РАДМИЛО
+ГОЈКОВИЋ РАДОЉУБ
+ГОЈКОВИЋ САВО
+ГОЈКОВИЋ ТОМИСЛАВ
+ГОЈНИЋ ДАВОР
+ГОЈОВИЋ ВУКОСАВ
+ГОКЛЕР ИЛОНА
+ГОЛДМАН АНКИЦА
+ГОЛДМАН-ТОМАШЕВИЋ ЕВА
+ГОЛЕШ РУЖА
+ГОЛЕНИЋ СЛАВКО
+ГОЛЕЊА БРАНКО
+ГОЛЕЊА ИРЕНА
+ГОЛЕЊА МИРОСЛАВА
+ГОЛЕЊА МИРОСЛАВА
+ГОЛЕВА НАДА
+ГОЛИШЕВИЋ МИРЈАНА
+ГОЛИЋ ЖИВАН
+ГОЛИЋ ЂОРЂЕ
+ГОЛИЋ АЛЕКСАНДАР
+ГОЛИЋ АНИЦА
+ГОЛИЋ ДОБРИВОЈЕ
+ГОЛИЋ ФАИД
+ГОЛИЋ ЉУБОМИР
+ГОЛИЋ МАРКО
+ГОЛИЋ СЛАВКА
+ГОЛИЋ СТАНКА
+ГОЛИЋ ТОМИСЛАВ
+ГОЛИЋ ВОЈИН
+ГОЛИЋ ВОЈКО
+ГОЛИЈАН АНА
+ГОЛИЈАНИН ДУШАНКА
+ГОЛИЈАНИН ЕРЖЕБЕТ
+ГОЛИК ОЛГА
+ГОЛИК СЛОБОДАН
+ГОЉЕВАЧКИ ДРАГИЦА
+ГОЛО АЛЕКСАНДАР
+ГОЛО ДРАГОСЛАВ
+ГОЛОЧОРБИН СЛАВУЈ
+ГОЛОЧОРДИН ДРАГО
+ГОЛОШИН-ДИМИТРИЈЕВИЋ ЉИЉАНА
+ГОЛОШИН СТЕВИЦА
+ГОЛОБОЧАНИН МИЛОСАВ
+ГОЛОМЕЈИЋ МИЛОРАД
+ГОЛОНИЋ ЗАГОРКА
+ГОЛОУХ ИВАН
+ГОЛОВИЋ ЈОВАН
+ГОЛУШИН БРАНИСЛАВ
+ГОЛУШИН ДРАГАН
+ГОЛУШИН ЉУБИЦА
+ГОЛУШИН ЉУБОМИР
+ГОЛУШИН-МИЋИЋ МИЛЕНКО
+ГОЛУШИН МИОДРАГ
+ГОЛУШИН НАДА
+ГОЛУШИН НИКОЛА
+ГОЛУБИЧИЋ ВЕРА
+ГОЛУБИЋ МИЛИВОЈЕ
+ГОЛУБЈАТНИКОВА НИНА
+ГОЛУБОВ НАКА
+ГОЛУБОВИЋ ЧЕДОМИР
+ГОЛУБОВИЋ ЂОРЂЕ
+ГОЛУБОВИЋ АЛЕКСАНДАР
+ГОЛУБОВИЋ АРСЕН
+ГОЛУБОВИЋ БОШКО
+ГОЛУБОВИЋ БОГДАН
+ГОЛУБОВИЋ БОРИВОЈ
+ГОЛУБОВИЋ БРАНКО
+ГОЛУБОВИЋ ДИМИТРИЈЕ
+ГОЛУБОВИЋ ДОБРИЛА
+ГОЛУБОВИЋ ДРАГАНА
+ГОЛУБОВИЋ ДРАГАН
+ГОЛУБОВИЋ ДРАГА
+ГОЛУБОВИЋ ГОЛУБ
+ГОЛУБОВИЋ ГОЛУБ
+ГОЛУБОВИЋ ИЛИЈА
+ГОЛУБОВИЋ ИВАН
+ГОЛУБОВИЋ ЈЕРЕМИЈЕ
+ГОЛУБОВИЋ ЈОВАН
+ГОЛУБОВИЋ КСЕНИЈА
+ГОЛУБОВИЋ ЉИЉАНА
+ГОЛУБОВИЋ ЉУБИНКА
+ГОЛУБОВИЋ ЛУКА
+ГОЛУБОВИЋ МАНОЈЛО
+ГОЛУБОВИЋ МАНОЈЛО
+ГОЛУБОВИЋ МАРИЈА
+ГОЛУБОВИЋ МИХАЈЛО
+ГОЛУБОВИЋ МИЛАН
+ГОЛУБОВИЋ МИЛЕНКО
+ГОЛУБОВИЋ МИЛЕНКО
+ГОЛУБОВИЋ МИЛУН
+ГОЛУБОВИЋ МИЛУТИН
+ГОЛУБОВИЋ МИОДРАГ
+ГОЛУБОВИЋ МИРЈАНА
+ГОЛУБОВИЋ МИРОСЛАВ
+ГОЛУБОВИЋ МЛАЂЕН
+ГОЛУБОВИЋ МОМЧИЛО
+ГОЛУБОВИЋ МОМЧИЛО
+ГОЛУБОВИЋ МОМЧИЛО
+ГОЛУБОВИЋ НАДА
+ГОЛУБОВИЋ НИКОЛА
+ГОЛУБОВИЋ ОЛГИЦА
+ГОЛУБОВИЋ ПЕРИША
+ГОЛУБОВИЋ СЕКУЛА
+ГОЛУБОВИЋ СТАНА
+ГОЛУБОВИЋ СТАНА
+ГОЛУБОВИЋ ТЕОДОРА
+ГОЛУБОВИЋ ТИХОМИР
+ГОЛУБОВИЋ ТОМО
+ГОЛУБОВИЋ ВАЛЕРИЈА
+ГОЛУБОВИЋ ВЕЛИЗАР
+ГОЛУБОВИЋ ВУКАШИН
+ГОЛУБОВИЋ ВУКАШИН
+ГОЛУБОВИЋ ЗОРАН
+ГОЛУБОВИЋ ЗВОНИМИР
+ГОЛУБСКИ МИЛИЦА
+ГОЛУБСКИ РУЖА
+ГОМБАШ ТАМАШ
+ГОМБАР ШАНДОР
+ГОМБАР ЕЛИЗАБЕТА
+ГОМБАР ФЕРЕНЦ
+ГОМБАР ИШТВАН
+ГОМБАР ЈАНОШ
+ГОМБАР ЈАНОШ
+ГОМБАР КАТАЛИН
+ГОМБАР МИХАЉ
+ГОМБАР РОЗАЛИЈА
+ГОМБОШ ИШТВАН
+ГОМБОШ ИВИЦА
+ГОМБОШ КАРЛО
+ГОМБОВИЋ БРАНКО
+ГОМИРАЦ ЖИВКО
+ГОМИРАЦ БРАНКО
+ГОМИРАЦ СТОЈАН
+ГОНЧИН СРЕТКО
+ГОНЂА ЖИВАН
+ГОНЂА МИЛЕНА
+ГОНЂА ПЕТАР
+ГОНДА ЛАДИСЛАВ
+ГОНДАР РУЖА
+ГОЊА БРАНИМИР
+ГОЊА МИЛОСЛАВ
+ГОЊА ПЕТАР
+ГОРШЕ АНДРИЈА
+ГОРАНОВИЋ ДРАГО
+ГОРАНОВИЋ МИРКО
+ГОРБАНОВ ИВАН
+ГОРДАНИЋ СТОЈАН
+ГОРДИЋ ДАРИНКА
+ГОРДИЋ ГОЈКО
+ГОРДИЋ ЛАВИНИЈА
+ГОРДИЋ МИЛОРАД
+ГОРДИЋ МИЛОВАН
+ГОРДИЋ РИСТО
+ГОРДИЋ СЛАВКО
+ГОРДИЋ СТЕВАН
+ГОРДИЋ ВИТОМИР
+ГОРДОШ ЖУЖАНА
+ГОРЕЧАН КАРЛО
+ГОРЕЦ ДРАГУТИН
+ГОРЕЦ НАДА
+ГОРЕЊАК РУДОЛФ
+ГОРИЧАНЕЦ МИЈО
+ГОРЈАНАЦ БРАНКО
+ГОРЈАНАЦ МАРИН
+ГОРЊАК КАТИЦА
+ГОРТВА ЈОСИП
+ГОСАРИЋ ФРАЊА
+ГОСПИЋ НЕДЕЉКО
+ГОСПОЂИНАЧКИ РАДОВАН
+ГОСПОДИНОВИЋ ИВАН
+ГОСТИЋ ЗДРАВКО
+ГОСТИМИРОВИЋ МАРИН
+ГОСТИМИРОВИЋ ПЕТАР
+ГОСТОЈИЋ ЂУРЂИНКА
+ГОСТОЈИЋ ДУШАН
+ГОСТОЈИЋ ЈОВАН
+ГОСТОЈИЋ ЛАЗАР
+ГОСТОЈИЋ МИЛАНА
+ГОСТОЈИЋ МИЛОШ
+ГОСТОЈИЋ МИРОСЛАВ
+ГОСТОЈИЋ МИТАР
+ГОСТОЈИЋ СЛАВКА
+ГОСТОЈИЋ СЛОБОДАНКА
+ГОСТОЈИЋ ТЕОДОР
+ГОСТОВИЋ ЂОРЂЕ
+ГОСТОВИЋ БОГДАН
+ГОСТОВИЋ ИКА
+ГОСТОВИЋ ЉУБОМИР
+ГОСТОВИЋ МОМИР
+ГОТШТАЈН ФЕРЕНЦ
+ГОВЕДАРИЦА ЧЕДО
+ГОВЕДАРИЦА ЖЕЛИМИР
+ГОВЕДАРИЦА ДЕЈАН
+ГОВЕДАРИЦА ДРАГИЦА
+ГОВЕДАРИЦА МИЛЕНКО
+ГОВЕДАРИЦА МИЛОВАН
+ГОВЕДАРИЦА МИТАР
+ГОВЕДАРИЦА МИТАР
+ГОВЕДАРИЦА ПАВЛЕ
+ГОВЕДАРИЦА СИМО
+ГОВЕДАРИЦА СЛАВКО
+ГОВЕДАРИЦА ТАТАЈАНА
+ГОВЕДАРИЦА ВЕЛИМИР
+ГОВЕДАРИЦА ВЛАДИМИР
+ГОВЕДАРОВИЋ ЈУЛИЈА
+ГОВЕДАРОВИЋ НИКОЛА
+ГОВЕДАРОВИЋ ПЕТАР
+ГОВОРЧИН ЖИВКА
+ГОВОРЧИН БОГДАН
+ГОВОРЧИН ДАРИНКА
+ГОВОРЧИН ДЕЛИНКА
+ГОВОРЧИН ДИМИТРИЈЕ
+ГОВОРЧИН ДИМИТРИЈЕ
+ГОВОРЧИН ДУШАН
+ГОВОРЧИН ГАВРА
+ГОВОРЧИН ЛАЗАР
+ГОВОРЧИН МЛАДЕН
+ГОВОРЧИН САВА
+ГОВОРЧИН СЛАВИЦА
+ГОВОРЧИН СЛОБОДАН
+ГОВОРЧИН СТЕВАН
+ГОВОРЧИН СТОЈАН
+ГОВОРЧИН ВЕРА
+ГОВОРЧИН ВЛАДА
+ГОВОРЧИН ВЛАДИМИР
+ГОВОРЧИНОВ МИРОСЛАВ
+ГРЧАНАЦ БРАНКО
+ГРЧЕ МИЛАН
+ГРЧИЋ МИЛЕНКО
+ГРЧИЋ МИЛИВОЈ
+ГРЧИЋ СЛОБОДАН ДИПЛ ИНГ
+ГРЧИЋ СВЕТИСЛАВ
+ГРЧИЋ-ТУБИЋ ЈОВАНКА
+ГРЧИЋ ВЕРИЦА
+ГРЧИЋ ЗОРКА
+ГРЧКИ МИЛЕ
+ГРЧКИ МИРЈАНА
+ГРШИЋ ЂОРЂЕ
+ГРШИЋ ЂОРЂЕ
+ГРШИЋ МИЛИЦА
+ГРШИЋ НИКОЛА
+ГРШИЋ РУЖИЦА
+ГРШИЋ СОФИЈА
+ГРЂИЋ ДРАГУТИН
+ГРАЧАНИН ИВАН
+ГРАЧАНИН ВАЛЕРИЈА
+ГРАЧЕК СТЕВАН
+ГРАЧИК СЛАВКА
+ГРАЧИК СТЕВАН
+ГРАЧКО ШАНДОР
+ГРАЧКО ОЛГА
+ГРАЧКО ОЛГА
+ГРАЧКО РОЗАЛИЈА
+ГРАША ЈОСИП
+ГРАШАР АНА
+ГРАШИЋ ВАЛЕНТИН
+ГРАШИЋ ЗДЕНКО
+ГРАШНЕР СОФИЈА
+ГРАЂИН МИЛОШ
+ГРАБ ФЕРЕНЦ
+ГРАБАР ЈОСИПА
+ГРАБАР ЈОСИП
+ГРАБАР МИРКО
+ГРАБЕЖ ИЛЕ
+ГРАБЕЖ ЈОЈА
+ГРАБИЋ СТЕВАН
+ГРАБИЋ УРОШ
+ГРАБОЦИ РАМАДАН
+ГРАБОВАЦ АЦО
+ГРАБОВАЦ ЦВЕТА
+ГРАБОВАЦ ДИМИТРИЈЕ
+ГРАБОВАЦ ЈОВАН
+ГРАБОВАЦ НЕВЕНКА
+ГРАБОВАЦ РАНКО
+ГРАБОВАЦ СИМЕУН
+ГРАБУНЏИЈА ЈУЛИЈАНА
+ГРАДАШЧЕВИЋ ОСМАН
+ГРАДИЋ ЖИВКО
+ГРАДИЋ БОЖИЦА
+ГРАДИЋ ДАНКА
+ГРАДИЋ СПАСОЈЕ
+ГРАДИНЧЕВИЋ АРСЕНИЈЕ
+ГРАДИНА СМИЉКА
+ГРАДИНАЦ АЛЕКСАНДАР
+ГРАДИНАЦ СРЕДОЈЕ
+ГРАДИНАЦ СРЕДОЈЕ
+ГРАДИНАЦ СРЕДОЈЕ
+ГРАДИНАРОВ ДИМИТРИЈЕ
+ГРАДОЈЕВИЋ КАТИЦА
+ГРАДОЈЕВИЋ ЉУБИЦА
+ГРАХЕК НАДА
+ГРАХОВАЦ ЂОРЂЕ
+ГРАХОВАЦ ЂОРЂЕ
+ГРАХОВАЦ БРАНИСЛАВ
+ГРАХОВАЦ ЦВИЈО
+ГРАХОВАЦ ДАНИЈЕЛА
+ГРАХОВАЦ ДРАГАНА
+ГРАХОВАЦ ДРАГИЦА
+ГРАХОВАЦ ДУШАНКА
+ГРАХОВАЦ ДУШАН
+ГРАХОВАЦ ДУШАН
+ГРАХОВАЦ ДУШАН
+ГРАХОВАЦ ГОЈКО
+ГРАХОВАЦ ЈАНКО
+ГРАХОВАЦ ЈОВАН
+ГРАХОВАЦ ЈОВАН
+ГРАХОВАЦ МИОДРАГ
+ГРАХОВАЦ МИРКО
+ГРАХОВАЦ МИРОСЛАВ
+ГРАХОВАЦ НАДА
+ГРАХОВАЦ НИКОЛА
+ГРАХОВАЦ ОБРАД
+ГРАХОВАЦ РАДЕ
+ГРАХОВАЦ РАНКА
+ГРАХОВАЦ СЛАВИЦА
+ГРАХОВАЦ СЛАВКО
+ГРАХОВАЦ СЛАВКО
+ГРАХОВАЦ СМИЉА
+ГРАХОВАЦ СПАСО
+ГРАХОВАЦ ВАСО
+ГРАХОВАЦ ВЕЛИМИР
+ГРАХОВАЦ ЗДЕНКО
+ГРАЈЛИНГ ЕМИЛ
+ГРАНДИЋ МИЈОДРАГ
+ГРАНДИЋ МИЛИЦА
+ГРАНДИЋ РАДОВАН ДР ПРОФ
+ГРАНДИЋ СТОЈАН
+ГРАНИЋ МАРИЈА
+ГРАНИЋ МАРИЈА
+ГРАНИЋ НИКОЛА
+ГРАНУЛА ГОЈКО
+ГРАОЊА ЂУРО
+ГРАОР МИРОСЛАВ
+ГРАОР СЛАВКО
+ГРАОРАЦ ИСИДОР
+ГРАОВАЦ ЂОРЂЕ
+ГРАОВАЦ АОРИКА
+ГРАОВАЦ БЛАЖ
+ГРАОВАЦ БОГДАН
+ГРАОВАЦ БОГДАН
+ГРАОВАЦ БОРИСЛАВ
+ГРАОВАЦ ДУШАН
+ГРАОВАЦ МИЛОШ
+ГРАОВАЦ МИЛОРАД
+ГРАОВАЦ ОЛИВЕРА
+ГРАОВАЦ-ПАДРОВ ЉУБИНКА
+ГРАОВАЦ СЛОБОДАНКА
+ГРАПЧАК ЈОСИП
+ГРАВАРА ДРАГИЦА
+ГРАВАРА НИКОЛА
+ГРАВАРА РАДЕ
+ГРБА КОСТА
+ГРБА МИЛАН
+ГРБА НЕВЕНКА
+ГРБА ВУКОЈИЦА
+ГРБАТИНИЋ МИЛАН
+ГРБАТИНИЋ МИЛОШ
+ГРБАВ ЈОН
+ГРБАВАЦ НЕВЕНКА
+ГРБАВАЦ НИКОЛА
+ГРБИЋ ЖИВАН
+ГРБИЋ ЖИВКО
+ГРБИЋ ЂОРЂЕ МР
+ГРБИЋ ЂУРАЂ
+ГРБИЋ ЂУРО
+ГРБИЋ АНЂЕЛИЈА
+ГРБИЋ АНКА
+ГРБИЋ АНКИЦА
+ГРБИЋ БОШКО
+ГРБИЋ БОГДАНКА
+ГРБИЋ БОРИВОЈЕ
+ГРБИЋ БРАНКО
+ГРБИЋ ЏЕВАД
+ГРБИЋ ДАРИНКА
+ГРБИЋ ДЕСА
+ГРБИЋ ДРАГАН
+ГРБИЋ ДРАГАН
+ГРБИЋ ДРАГАН
+ГРБИЋ ДРАГО
+ГРБИЋ ДРЕНКА
+ГРБИЋ ДУШАН
+ГРБИЋ ДУШАН
+ГРБИЋ ДУШАН
+ГРБИЋ ДУШАН
+ГРБИЋ ДУШАН
+ГРБИЋ ДУШАН
+ГРБИЋ ДУШАН
+ГРБИЋ ДУШИЦА
+ГРБИЋ ГОЈКО
+ГРБИЋ ГОРАН
+ГРБИЋ ЈОВАНКА
+ГРБИЋ ЈОВАНКА
+ГРБИЋ ЈОВАН
+ГРБИЋ ЈОВАН
+ГРБИЋ ЈОВИЦА
+ГРБИЋ ЈОВО
+ГРБИЋ ЛАЗАР
+ГРБИЋ ЉУБАН
+ГРБИЋ ЉУБИША
+ГРБИЋ МАРИЈА
+ГРБИЋ МИЛАН
+ГРБИЋ МИЛАН
+ГРБИЋ МИЛАН
+ГРБИЋ МИЛЕНА
+ГРБИЋ МИЛЕНА
+ГРБИЋ МИЛЕНКО
+ГРБИЋ МИЛЕНКО
+ГРБИЋ МИЛЕ
+ГРБИЋ МИЛИЋ
+ГРБИЋ МИЛИЦА
+ГРБИЋ МИЛКА
+ГРБИЋ МИЛОШ
+ГРБИЋ МИЛОШ
+ГРБИЋ МИЛОРАД
+ГРБИЋ МИЛОВАН
+ГРБИЋ МИЛОВАН
+ГРБИЋ МИЛУТИН
+ГРБИЋ МИРА
+ГРБИЋ МИРА
+ГРБИЋ МЛАДЕН
+ГРБИЋ НИКОЛА
+ГРБИЋ ОСТОЈА
+ГРБИЋ ПЕТАР
+ГРБИЋ ПЕТАР
+ГРБИЋ ПЕТАР
+ГРБИЋ РАДЕ
+ГРБИЋ РОСА
+ГРБИЋ СЛОБОДАН
+ГРБИЋ СТЕВАН
+ГРБИЋ СТЕВАН
+ГРБИЋ СТЕВО
+ГРБИЋ СВЕТКО
+ГРБИЋ ВАСА ДР
+ГРБИЋ ВЕРА
+ГРБИЋ ВИД
+ГРБИЋ ВОЈИН
+ГРБИЋ ВОЈИСЛАВ
+ГРБИЋ ВУКОСАВА
+ГРБИН МАРИЈА
+ГРБИН РАДОСЛАВ
+ГРБОВАЦ МИХАЉ
+ГРБОВИЋ АЛИЛ
+ГРБОВИЋ ДРАГАН
+ГРБОВИЋ ГАВРИЛО
+ГРБОВИЋ ЈОВАН
+ГРБОВИЋ ЈОВАН
+ГРБОВИЋ МИЛАН
+ГРБОВИЋ МИЛАН
+ГРБОВИЋ МИРЧЕТА
+ГРБОВИЋ МОМЧИЛО
+ГРБОВИЋ МУРАТ
+ГРБОВИЋ МУРАТ
+ГРБОВИЋ РАДИСАВ
+ГРБОВИЋ РУЖИЦА
+ГРБОВИЋ СЛАВКО
+ГРБОВИЋ СМИЉА
+ГРЦЕ АНИЦА
+ГРЦИЋ ЈОВАН
+ГРЦИЋ МИЛИЦА
+ГРЦИЋ НИКОЛА
+ГРЦИЋ ВЕСЕЛИН
+ГРЦОВИЋ ВЕРИЦА
+ГРДИЋ ИВИЦА
+ГРДИЋ ЛУЈКА
+ГРДИЋ МАРА
+ГРДИНИЋ МИРКО
+ГРДИНИЋ СЛОБОДАН
+ГРЕЧ РОЗАЛИЈА
+ГРЕЧЕЛ КАРЛО
+ГРЕЧНИК ЈАНКО
+ГРЕЧНИК МАРИЈА
+ГРЕЧНИК ПАВЛЕ
+ГРЕБЕЛДИНГЕР ЉУБИЦА
+ГРЕБЕЛДИНГЕР ПЕТАР
+ГРЕБЊЕВ РОЗАЛИЈА
+ГРЕБО НЕДЕЉКО
+ГРЕБОВИЋ РАНКО
+ГРЕГЕЦ МАРИЈА
+ГРЕГЕЦ ВИЛИ
+ГРЕГЕЦ ВИЛИ
+ГРЕГЕР ХЕДВИГА
+ГРЕГОР ЈОСИП
+ГРЕГОРИЋ БРАНКО
+ГРЕГОРИЋ ДУШАН
+ГРЕГОРИЋ МИЛАНКА
+ГРЕГОРИН ПЕТАР
+ГРЕГОРОВИЋ АНТОНИЈЕ
+ГРЕГОРОВИЋ ИВАН
+ГРЕГОРОВИЋ ВЛАДИМИР ДИПЛ ИНГ
+ГРЕГУШ АНТАЛ
+ГРЕГУШ ЈАНОШ
+ГРЕГУШ ЛАСЛО
+ГРЕГУШ ПЕТАР
+ГРЕГУРИЋ ИВАН
+ГРЕИСИНГЕР ДАРИНА
+ГРЕИЗЕР ПЕТАР
+ГРЕК САДИК
+ГРЕКС ПАВЕЛ
+ГРЕКУ АДЕМ
+ГРЕКУ ГАНИ
+ГРЕКУ ХАСАН
+ГРЕКУ МУХАМЕР
+ГРЕКУ НЕЗИР
+ГРЕКУ РАМИЗ
+ГРЕКУ САБИТ
+ГРЕКУЛОВИЋ ЈОВАН
+ГРЕКУЛОВИЋ СТАНЧЕ
+ГРГАНОВИЋ ЂУРА
+ГРГАР ЂУРИЦА
+ГРГАР БРАНКА
+ГРГАР ЛАЗАР
+ГРГАР ТОША
+ГРГИЧЕВИЋ ЈУЛИШКА
+ГРГИЋ БОШКО
+ГРГИЋ БОЈАНА
+ГРГИЋ ДРАГОЈЕ
+ГРГИЋ МИЈО
+ГРГИЋ МИЛАН
+ГРГИЋ САВЕТА
+ГРГИЋ СИМО
+ГРГИЋ ВЕРА
+ГРГИЋ ВЕРИЦА
+ГРГИЋ ЗВОНИМИР
+ГРГИНЧЕВИЋ МИХАЕЛА ПРОФЕСОР
+ГРГИНЧЕВИЋ ВЛАДИМИР
+ГРГУР ДУШАН
+ГРГУР РАДОСЛАВ
+ГРГУР ВЛАДА
+ГРГУРЕВИЋ МИРОСЛАВ
+ГРГУРЕВИЋ РАЈКО
+ГРГУРИЋ АНТУН
+ГРГУРИЋ ЈОСИП
+ГРГУРИЋ РУЖИЦА
+ГРГУРОВ СЛОБОДАН
+ГРГУРОВИЋ МИЛОРАД
+ГРИФАТОНГ КАРЛО
+ГРИФАТОНГ ОТО
+ГРИГОРИЈЕВ АЛЕКСАНДАР
+ГРИГОРИЈЕВИЋ НИКОЛА
+ГРИГОРИЈЕВИЋ ПЕТАР
+ГРИЈАК ДАНИЦА
+ГРИЈАК КОСОВКА
+ГРИЈАК МИЛАН
+ГРИЈАКОВИЋ МИЛИЦА
+ГРИЈАКОВИЋ МИЛОШ
+ГРИЛЕЦ СТАНКО
+ГРИЛЕЦ СТАНКО
+ГРИНХУТ ЛАДИСЛАВ
+ГРИСА ПЕТАР
+ГРИСХАБЕР ФРАЊА
+ГРИЗЕЉ КАРЛО
+ГРИЗЕР ПЕТАР
+ГРИЗЕР СТЕВАН
+ГРКАВАЦ МИЛАН
+ГРКАВАЦ МИРОСЛАВ
+ГРКИНИЋ КОСАРА
+ГРКИНИЋ МИЛАН
+ГРКОВИЋ ЖИВАН
+ГРКОВИЋ ЂОРЂЕ
+ГРКОВИЋ ЂУРО
+ГРКОВИЋ АНКА
+ГРКОВИЋ БОЖИДАР
+ГРКОВИЋ БОГОЉУБ
+ГРКОВИЋ БОРИСЛАВ
+ГРКОВИЋ БРАНКО
+ГРКОВИЋ ДАНЕ
+ГРКОВИЋ ДУШАН
+ГРКОВИЋ ДУШАН
+ГРКОВИЋ ГАВРИЛО
+ГРКОВИЋ ЈЕЛЕНА
+ГРКОВИЋ ЈОВАН ДИПЛ ИНГ
+ГРКОВИЋ ЈОВАН
+ГРКОВИЋ ЉИЉАНА
+ГРКОВИЋ МИЛИЦА ДР
+ГРКОВИЋ МИРЈАНА
+ГРКОВИЋ СТОЈАНКА
+ГРКОВИЋ ВЕРА
+ГРКОВИЋ ВОЈИМИР
+ГРКОВИЋ ВОЈИН
+ГРКОВСКИ ПАНТА
+ГРЛИЋ ЂОРЂЕ
+ГРЛИЋ ЉУБИНКО
+ГРЛИЋ МИЛЕНКО
+ГРЛИЦА ЖЕЉКО
+ГРЛИЦА БОСИЉКА
+ГРЛИЦА МИЛЕВА
+ГРЛИЦА МИЛОВАН
+ГРЛИЦА СТАНКО
+ГРЛИЦА ВОЈИН
+ГРЉЕВИЋ МИРЈАНА
+ГРМАШ ЂУРО
+ГРМАШ БРАНКО
+ГРМОШ ПРЕДРАГ
+ГРМУША ЖИВКО
+ГРМУША ЂУРО
+ГРМУША МИЛАН
+ГРМУША МИЛАН
+ГРМУША РАДЕ
+ГРМУША СЛАВКО
+ГРМУША СМИЉКА
+ГРМУША СТОЈАН
+ГРМУША ВЕЛКО
+ГРЊА ЂУРА
+ГРЊА АНДРИЈА
+ГРЊА АНКА
+ГРЊА-АСАНИ ЉУМНИЈА
+ГРЊА ДУШАН
+ГРЊА ЈАНКО
+ГРЊА ЈАН
+ГРЊА ЈОВАН
+ГРЊА ЈОВАН
+ГРЊА ЈОВАН
+ГРЊА ЈОВАН
+ГРЊА ЈУРАЈ
+ГРЊА ЛАСЛО
+ГРЊА ЉУДЕВИТ
+ГРЊА МАРИЈА
+ГРЊА ОСКАР
+ГРЊА СОФИЈА
+ГРЊА СТЕВАН
+ГРЊА СТЕВАН
+ГРЊА СТЕВАН
+ГРЊА ВЛАДИМИР
+ГРОШЕК ЗВОНИМИР
+ГРОШКО МАРИЈА
+ГРОМ ЦИРИЛ
+ГРОМИЛИЋ МИЛОРАД
+ГРОС ЂОРЂЕ
+ГРОС ИВАН
+ГРОС ЛАДИСЛАВ
+ГРОЗДАНИЋ ЂОРЂЕ
+ГРОЗДАНИЋ ЕНИНКА
+ГРОЗДАНИЋ ЈОСИП
+ГРОЗДАНИЋ МИЛАН
+ГРОЗДАНИЋ МИЛАН
+ГРОЗДАНОВ СЛАВКО
+ГРОЗДАНОВСКИ ДАМЈАН
+ГРОЗДАНОВСКИ МИЛЕ
+ГРОЗДАНОВСКИ ПЕТАР
+ГРОЗДИЋ БОШКО
+ГРОЗДИЋ БОГДАН
+ГРОЗДИЋ ДЕСАНКА
+ГРОЗДИЋ ДОБРИВОЈ
+ГРОЗДИЋ ДУШАН
+ГРОЗДИЋ ЈАСМИНА
+ГРОЗДИЋ ЈОВАН
+ГРОЗДИЋ ЈОВАН
+ГРОЗДИЋ ЈОВАН
+ГРОЗДИЋ КУЗМАН
+ГРОЗДИЋ ЛАЗАР
+ГРОЗДИЋ ЉУБИША
+ГРОЗДИЋ ЉУБОМИР
+ГРОЗДИЋ МИЛАН
+ГРОЗДИЋ ПЕТАР
+ГРОЗДИЋ СТЕВАН
+ГРОЗДИЋ ВЕСНА
+ГРОЗДИЋ ЗДРАВКО
+ГРОЗДИЋ ЗОРАН
+ГРОЗДИЋ ЗОРИЦА
+ГРОЗГУТ ТИБОР
+ГРУБА ДОРУ
+ГРУБА ТИБЕРИЈЕ
+ГРУБАЧ ГОРДАНА
+ГРУБАЧ МАКСА
+ГРУБАЧ МОМЧИЛО
+ГРУБАЧ СТАНКА
+ГРУБАЧ ТАНАСИЈЕ
+ГРУБАЧИЋ ГОЈКО
+ГРУБАНОВ ДОБРИВОЈ
+ГРУБАНОВ ДУШАНКА
+ГРУБАНОВ НОВАК
+ГРУБАНОВ ЗАХАРИЈЕ
+ГРУБЕША НИКОЛА
+ГРУБЕШИЋ ДРАГАН
+ГРУБЕШИЋ ДУШАН
+ГРУБЕШИЋ МЕЛАНИЈА
+ГРУБЕР ЕДУАРД
+ГРУБЕР ЕМИЛ
+ГРУБЕР ЕВАЛД
+ГРУБЕР ФРАЊА
+ГРУБЕР РУДОЛФ
+ГРУБЕТИЋ ОЛГА
+ГРУБИША АНЂЕЛО
+ГРУБИШИЋ МИРЈАНА
+ГРУБИШИЋ МИРКО
+ГРУБИШИЋ НИКОЛА
+ГРУБИЋ ЖАРКО
+ГРУБИЋ ЖАРКО
+ГРУБИЋ АНКА
+ГРУБИЋ МИЛАН
+ГРУБИЋ НИКОЛА
+ГРУБИН МИЛАН
+ГРУБИН МИРОСЛАВ
+ГРУБЈЕШИЋ БРАНКО
+ГРУБЈЕШИЋ МИЛЕНКО
+ГРУБЈЕШИЋ МИРКО
+ГРУБЈЕШИЋ СТЕВО
+ГРУБОР АДАМ
+ГРУБОР БРАНКО
+ГРУБОР ЕМА
+ГРУБОР ЈЕФТО
+ГРУБОР-ЈОЈИЋ СЛАВИЦА
+ГРУБОР ЈОВО
+ГРУБОР ЛАЗАР
+ГРУБОР ЛАЗО
+ГРУБОР ЉУБОМИР
+ГРУБОР МИЉАНА
+ГРУБОР МИЛОШ
+ГРУБОР НЕЂО
+ГРУБОР НЕДЕЉКО
+ГРУБОР НЕВЕНА
+ГРУБОР НИКОЛА
+ГРУБОР НИКОЛА
+ГРУБОР ОЛГА
+ГРУБОР РАДЕ
+ГРУБОР СЛОБОДАН
+ГРУБОР СРЕТО
+ГРУБОР ВУЈО
+ГРУБОР ЗДРАВКО
+ГРУБОРОВИЋ МИЛЕ
+ГРУБОВИЋ ИЛИЈА
+ГРУЕСКУ-ЋИРИШАН ДЕЛИЈА
+ГРУИЧИЋ ДРАГОЉУБ
+ГРУИК ВЕРОНИКА
+ГРУЈЧИЋ НИКОЛА
+ГРУЈАНАЦ МИЛАН
+ГРУЈЕВ ОГЊАН ДИПЛ ИНГ
+ГРУЈИЧ СЛОБОДАН
+ГРУЈИЧИЋ БИЉАНА
+ГРУЈИЧИЋ ЈОВА
+ГРУЈИЧИЋ МАРИНКО
+ГРУЈИЧИЋ МИА
+ГРУЈИЧИЋ МИЛИЦА
+ГРУЈИЧИЋ МИЛОЈЕ
+ГРУЈИЧИЋ НЕНАД
+ГРУЈИЧИЋ ПЕТАР
+ГРУЈИЧИЋ ПРЕДРАГ
+ГРУЈИЧИЋ РАДОМИР
+ГРУЈИЧИН СТАНОЈЕ
+ГРУЈИЧКОВ ЈОВАН
+ГРУЈИЧКОВ МИЛКА
+ГРУЈИЋ ЖИВКА
+ГРУЈИЋ ЖИВОРАД
+ГРУЈИЋ ЂЕНА
+ГРУЈИЋ ЂЕНИСИЈЕ
+ГРУЈИЋ ЂОРЂЕ
+ГРУЈИЋ ЂУРЂИЦА
+ГРУЈИЋ ЂУРА
+ГРУЈИЋ ЂУРА
+ГРУЈИЋ АЛЕКСАНДАР
+ГРУЈИЋ АЛЕКСАНДАР
+ГРУЈИЋ АЛЕКСАНДАР
+ГРУЈИЋ АЛЕКСАНДАР
+ГРУЈИЋ АЛЕКСАНДАР
+ГРУЈИЋ АНЂЕЛКО
+ГРУЈИЋ АНДРИЈА
+ГРУЈИЋ АНИЦА
+ГРУЈИЋ БОЖИДАР
+ГРУЈИЋ БОЖИДАР
+ГРУЈИЋ БОРИСЛАВ
+ГРУЈИЋ БОРИВОЈ
+ГРУЈИЋ БОСИЉКА
+ГРУЈИЋ БРАНИСЛАВ
+ГРУЈИЋ БРАНИСЛАВ
+ГРУЈИЋ БРАНКО
+ГРУЈИЋ ЦВИЈЕТИН
+ГРУЈИЋ ЦВИЈО
+ГРУЈИЋ ДАНИЦА
+ГРУЈИЋ ДИМИТРИЈЕ
+ГРУЈИЋ ДРАГИЦА
+ГРУЈИЋ ДУШАН
+ГРУЈИЋ ДУШАН
+ГРУЈИЋ ДУШАН
+ГРУЈИЋ ФРАНЦИШКА
+ГРУЈИЋ ГАВРА
+ГРУЈИЋ ГАВРИЛО
+ГРУЈИЋ ГОРАН
+ГРУЈИЋ ГОРИЦА
+ГРУЈИЋ ГРУЈА
+ГРУЈИЋ ИЛИНКА
+ГРУЈИЋ ИВАН ДИПЛ ИНГ
+ГРУЈИЋ ИВАНКА
+ГРУЈИЋ ЈАЊА
+ГРУЈИЋ ЈЕЛИЦА
+ГРУЈИЋ ЈЕЛИСАВЕТА
+ГРУЈИЋ ЈЕЛКА ДР
+ГРУЈИЋ ЈОВАНКА
+ГРУЈИЋ ЈОВАНКА
+ГРУЈИЋ ЈОВАН
+ГРУЈИЋ ЈОВАН
+ГРУЈИЋ ЈОВАН
+ГРУЈИЋ ЈОВАН
+ГРУЈИЋ ЈОВИЦА
+ГРУЈИЋ ЈУЛКА
+ГРУЈИЋ КОСТА ДР
+ГРУЈИЋ КОСТА ДР
+ГРУЈИЋ ЛАЗАР
+ГРУЈИЋ ЛЕНКА
+ГРУЈИЋ ЉИЉАНА
+ГРУЈИЋ ЉУБИЦА
+ГРУЈИЋ ЉУБОМИР
+ГРУЈИЋ ЉУБО
+ГРУЈИЋ МАРИЈА
+ГРУЈИЋ МАРИЈА
+ГРУЈИЋ МАРИЈА
+ГРУЈИЋ МАРИЈА
+ГРУЈИЋ МАРИНА
+ГРУЈИЋ МИХАЈЛО
+ГРУЈИЋ МИЛАН
+ГРУЈИЋ МИЛАН
+ГРУЈИЋ МИЛАН
+ГРУЈИЋ МИЛЕНА
+ГРУЈИЋ МИЛЕНКО
+ГРУЈИЋ МИЛЕ
+ГРУЈИЋ МИЛИЦА
+ГРУЈИЋ МИЛОШ
+ГРУЈИЋ МИЛОШ
+ГРУЈИЋ МИЛОРАД
+ГРУЈИЋ МИЛОРАД
+ГРУЈИЋ МИРЈАНА
+ГРУЈИЋ МИРОСЛАВ ДИПЛ ИНГ
+ГРУЈИЋ МИРОСЛАВ
+ГРУЈИЋ МИТАР
+ГРУЈИЋ НАДА ДР ЛЕКАР
+ГРУЈИЋ НАДА
+ГРУЈИЋ НАДА
+ГРУЈИЋ НЕДЕЉКО
+ГРУЈИЋ НИКОЛА
+ГРУЈИЋ НИКОЛА
+ГРУЈИЋ НИКОЛА
+ГРУЈИЋ НИКОЛА
+ГРУЈИЋ НИКОЛА
+ГРУЈИЋ НИКОЛА
+ГРУЈИЋ НОВАК
+ГРУЈИЋ ПАВЛЕ
+ГРУЈИЋ ПЕТАР
+ГРУЈИЋ РАДЕНКО
+ГРУЈИЋ РАДЕ
+ГРУЈИЋ РАДИША
+ГРУЈИЋ РАДИНКА
+ГРУЈИЋ РАДИВОЈ
+ГРУЈИЋ РАДИВОЈ
+ГРУЈИЋ РАДМИЛА
+ГРУЈИЋ РАДОЈИЦА
+ГРУЈИЋ РАДОВАН
+ГРУЈИЋ РУЖИЦА
+ГРУЈИЋ САЊА
+ГРУЈИЋ САВА
+ГРУЈИЋ САВА
+ГРУЈИЋ СИНИША
+ГРУЈИЋ СЛАВИША
+ГРУЈИЋ СЛАВИЦА
+ГРУЈИЋ СЛАВКА
+ГРУЈИЋ СЛАВКО
+ГРУЈИЋ СЛОБОДАН ДИПЛ ИНГ
+ГРУЈИЋ СЛОБОДАН
+ГРУЈИЋ СЛОБОДАН
+ГРУЈИЋ СЛОБОДАН
+ГРУЈИЋ СЛОБОДАН
+ГРУЈИЋ СМИЉАНА
+ГРУЈИЋ СМИЉА
+ГРУЈИЋ СМИЉА
+ГРУЈИЋ СРЂАН
+ГРУЈИЋ СТЕВАН
+ГРУЈИЋ СТЕВАН
+ГРУЈИЋ СТЕВАН
+ГРУЈИЋ СТЕВАН
+ГРУЈИЋ СТОЈАН ДР
+ГРУЈИЋ СВЕТОЗАР
+ГРУЈИЋ СВЕТОЗАР
+ГРУЈИЋ ТАТЈАНА
+ГРУЈИЋ ВЕЛИМИР
+ГРУЈИЋ ВЕРИЦА
+ГРУЈИЋ ВЕСЕЛИН
+ГРУЈИЋ ВЕСНА
+ГРУЈИЋ ВОЈИСЛАВ
+ГРУЈИЋ ЗДРАВКО
+ГРУЈИЋ ЗЛАТИЦА
+ГРУЈИЋ ЗЛАТИЦА
+ГРУЈИН ДАНИЦА
+ГРУЈИН ДУШАН
+ГРУЈИН ЉУБИЦА
+ГРУЈИН МИЛАН
+ГРУЈИН МИЛОШ
+ГРУЈИН НАДА
+ГРУЈИН ОЛГА
+ГРУЈИН ПЕТАР
+ГРУЈИН РАДОСЛАВ
+ГРУЈИН САША
+ГРУЈИН СМИЉА
+ГРУЈИН СПАСОЈЕ
+ГРУЈИН ТЕРЕЗА
+ГРУЈИН ЗОРАН
+ГРУЈИНОВИЋ ДРАГУТИН
+ГРУЈИНОВИЋ ЗОРКА
+ГРУЈОВИЋ БРАНИСЛАВ
+ГРУЈОВИЋ МИХАЈЛО
+ГРУЈОВСКИ ЛАЗАР
+ГРУЛОВИЋ РАДОЈКА
+ГРУЛОВИЋ ЗДЕНКО
+ГРУЛОВИЋ ЗДРАВКА
+ГРУЛОВИЋ ЗДРАВКО
+ГРУНЧИЋ ЈОВАН
+ГРУНИК ВЛАДИМИР ДР
+ГУША НИКОЛА
+ГУША ПРЕДРАГ
+ГУШАВАЦ ЗОРАН
+ГУШИЋ БОГДАН
+ГУШИЋ БОРИС
+ГУШИЋ МАНОЈЛО
+ГУШИЋ МАНОЈЛО
+ГУШИЋ МИЛЕНКА
+ГУШИЋ РАДЕНКО
+ГУШИЋ РАДЕНКО
+ГУШИЋ УГЉЕША
+ГУШИЋ ВАСИЉКА
+ГУЖАЛИЋ МАРИЈА
+ГУЖАЛИЋ СТЈЕПАН
+ГУЖАЛИЋ ВЛАДИМИР
+ГУЖАЛИЋ ЗВОНИМИР
+ГУЖЕЛА ЛАСЛО
+ГУЖВАЊ ИВИЦА
+ГУЖВИЦА ЂОРЂЕ
+ГУЖВИЦА ЂОРЂЕ
+ГУЖВИЦА БРАНИСЛАВ
+ГУЖВИЦА МИЛАН
+ГУЖВИЦА МИЛАН
+ГУЖВИЦА МИРКО
+ГУЖВИЦА НИКОЛА
+ГУЖВИЦА СТЕВО
+ГУЖВИЦА ЗОРАН
+ГУБАШ АНЂЕЛИЈА
+ГУБАШ МИРОСЛАВ
+ГУБАШ ВЛАДИМИР
+ГУБАШ ЗАГОРКА
+ГУБАНДА БАРБАРА
+ГУБАНДА ЛАДИСЛАВ
+ГУБЕРИНА ДУШАН
+ГУБЕРИНА СЛОБОДАН
+ГУБЕРИНИЋ ЉУБИЦА
+ГУБЕРНОВ ЈУЛИЈАНА
+ГУБИЋ МИРКО
+ГУБИЦА ЈОВАН
+ГУБИК ШАНДОР
+ГУБИК ШАНДОР
+ГУБИК КАРЛО
+ГУБИК КАТАРИНА
+ГУБИК СТЕВАН
+ГУЦ СТЕВАН
+ГУЦИЈАН СТЕВА
+ГУЦУ МИРЈАНА
+ГУЦУЉ ЈЕЛЕНА
+ГУЦУЉ МАРГИТА
+ГУЦУЉ ВЕРА
+ГУЦУЊА ЈОВАН
+ГУЦУЊА МИЛАН
+ГУЦУЊА МИЛОРАД
+ГУЦУЊА МИЛОРАД
+ГУЦУНСКИ ЖИВКА
+ГУЦУНСКИ ЂОРЂЕ
+ГУЦУНСКИ БОЖИДАР
+ГУЦУНСКИ БОРИСЛАВ
+ГУЦУНСКИ БРАНИСЛАВ
+ГУЦУНСКИ ИВАНКА
+ГУЦУНСКИ ИВАНКА
+ГУЦУНСКИ ЈЕЛЕНА
+ГУЦУНСКИ ЈОВАН
+ГУЦУНСКИ МАРИЈА
+ГУЦУНСКИ НАДА
+ГУЦУНСКИ ПЕРСИДА
+ГУЦУНСКИ РАДЕ
+ГУЦУНСКИ СИМА
+ГУДАЉ МАРТА
+ГУДАЛОВИЋ МОМИР
+ГУДАЛОВИЋ РАДМИЛА
+ГУДЕЉ ЂОРЂЕ
+ГУДЕЉ БРАНИСЛАВ ДИПЛ ИНГ
+ГУДЕЉ ЈОВАН
+ГУДЕЉ МАРИЈА
+ГУДЕЉ МИЛАН
+ГУДЕЉ МИЛЕНА
+ГУДЕЉ МОМЧИЛО
+ГУДЕЉ НЕДЕЉКА
+ГУДЕЉ САВА ДР
+ГУДОВИЋ ДРАГОМИР
+ГУДОВИЋ ПАВЛЕ
+ГУДОВИЋ РАДМИЛА
+ГУДОВИЋ СТЕВАН
+ГУДУРИЋ АЛЕКСАНДАР
+ГУДУРИЋ АНЂЕЛКА ДР
+ГУДУРИЋ БРАНИМИР ДР
+ГУДУРИЋ ДЕЈАН
+ГУДУРИЋ ЈОВАН
+ГУДУРИЋ СВЕТИСЛАВ
+ГУДУРИЋ ВАСА
+ГУДУРИЋ ЗОРАН
+ГУЕЛМИНО ШАНДОР
+ГУЕЛМИНО ФРИЂЕШ
+ГУГА ВЕРА
+ГУГА ВЕРА
+ГУГИЋ СИНИША
+ГУГЛЕТА СРБИСЛАВ
+ГУКОДИ МЛАДЕН
+ГУЛАЧИ ЈОСИП
+ГУЛАЋИ ЉУБИНКА
+ГУЛАН БОШКО
+ГУЛАН БРАНИСЛАВ
+ГУЛАН ВИДОСАВА
+ГУЛД ВАЛЕРИЈА
+ГУЛЕВИЋ ТАТЈАНА
+ГУЛЕВИЋ ВЛАДИМИР ДР ЛЕКАР
+ГУЛЕВСКИ ДИМЧЕ
+ГУЛЕВСКИ ДИМЧЕ
+ГУЛЕВСКИ ДИМЧЕ
+ГУЛЕВСКИ ДИМЧЕ
+ГУЛЕВСКИ ДИМЧЕ
+ГУЛЕВСКИ МИХАЈЛО
+ГУЛЕВСКИ САША
+ГУЛИЧ ИМРЕ
+ГУЛИЋ СТАНКО
+ГУЛИЋ ВЕСНА
+ГУЛИН МАРИЦА
+ГУЛИН ЗЛАТКО
+ГУЉАШ МАРИЈА
+ГУЉАШ ТЕРЕЗИЈА
+ГУЉАШ ВЕСНА
+ГУЉПА МИЛАН
+ГУЉПА САВА
+ГУНЕК МАРИЈА
+ГУНЕК МАТЕ
+ГУНЕК ТОМА
+ГУНИЋ МИЛЕНА
+ГУЊЕВИЋ МИЛЕ
+ГУЊЕВИЋ НЕВЕНКА
+ГУРАН ТАМАШ
+ГУРЈАНОВ ЖАРКО
+ГУРЈАНОВ БЛАГОЈЕ
+ГУРЈАНОВ ЈЕЛИЦА
+ГУРЈАНОВ ВАСА
+ГУРОВИЋ БОЖИДАР
+ГУСИЋ МИЛЕВА
+ГУСМАН ЂОРЂЕ ДР ЛЕКАР
+ГУСМАН ДРАГИЦА
+ГУСМАН ГЕРХАРД
+ГУСМАН ХИЛДА
+ГУСМАН ИМРЕ
+ГУТ ЈАНКО
+ГУТ ЈОВАН
+ГУТ НАТАЛИЈА
+ГУТАИ ЈОЛАН
+ГУТАИ МИХАЉ
+ГУТАЈИ ИЛЕШ
+ГУТАЉ МИЛОРАД
+ГУТЕША ЂУРО
+ГУТЕША МИРКО
+ГУТЕША НИКОЛА
+ГУТЕША ВОЈИСЛАВ
+ГУТИ ЖОЛТ
+ГУТИЋ ШПИРО
+ГУТИЋ ГОРАН
+ГУТМАН АЛЕКСАНДАР
+ГУТМАН ДАРИНКО
+ГУТОВИЋ АНЂЕЛКО
+ГУТОВИЋ ДАНИЕЛА
+ГУТОВИЋ МИЛЕНКО
+ГУТОВИЋ РАДЕ
+ГУТОВИЋ РИСТО
+ГУТОВИЋ СИНИША
+ГУТОВИЋ СНЕЖАНА
+ГУТОВИЋ ЗОРАН
+ГУТВАЈН АДАМ
+ГУТВАЈН АДАМ
+ГУТВАЈН ЕЛИЗАБЕТА
+ГУТВАЈН ЕВА
+ГУЗИЈАН ЈОВО
+ГУЗИЈАН МИЛАН
+ГУЗИЈАН НИКОЛА
+ГУЗИНА ЧЕДОМИР
+ГУЗИНА ЉУБИСАВ
+ГУЗИНА МИХАЈЛО
+ГУЗИНА МИЛОРАД
+ГУЗИНА МИЛОРАД
+ГУЗИНА МИЛОСАВ ДР
+ГУЗИНА ВЛАДИМИР
+ГУЗИНА ВОЈИСЛАВ
+ГУЗИНА ВУКАШИН
+ГВЕРИЋ БОРИВОЈ
+ГВЕРИЋ СНЕЖАНА
+ГВЕРО ЛАЗО
+ГВЕРО МИРА
+ГВОЖЂАН БОРИСЛАВА
+ГВОЖЂАН МИХАЈЛО
+ГВОЖЂАН РАДОВАН
+ГВОИЋ БРАНКО
+ГВОИЋ МИЛАН
+ГВОИЋ ВАЛЕРИЈА
+ГВОЈИЋ БОРИСЛАВ
+ГВОЈИЋ МИЛАН
+ГВОЈИЋ СТАНКО
+ГВОЈИЋ СТЕВАН
+ГВОКА НАДА
+ГВОЗДЕН БОСИЉКА
+ГВОЗДЕН БРАНКО
+ГВОЗДЕН СРЕТО
+ГВОЗДЕН ВЛАДИМИР
+ГВОЗДЕНАЦ ЖИВКО
+ГВОЗДЕНАЦ БОРА
+ГВОЗДЕНАЦ БОРА
+ГВОЗДЕНАЦ БОРКА
+ГВОЗДЕНАЦ ДРАГОЉУБ
+ГВОЗДЕНАЦ ДУШАН
+ГВОЗДЕНАЦ РАЈКО
+ГВОЗДЕНАЦ СНЕЖАНА
+ГВОЗДЕНОВ ЈОВАН
+ГВОЗДЕНОВ МИЛАН
+ГВОЗДЕНОВИЋ ЖИВОРАД
+ГВОЗДЕНОВИЋ ЂОРЂЕ
+ГВОЗДЕНОВИЋ ЂУРО
+ГВОЗДЕНОВИЋ БОЖО
+ГВОЗДЕНОВИЋ БРАНКО
+ГВОЗДЕНОВИЋ БРАНКО
+ГВОЗДЕНОВИЋ ДЕЈАН
+ГВОЗДЕНОВИЋ ДРАГИЊА
+ГВОЗДЕНОВИЋ ДУШАН ДР
+ГВОЗДЕНОВИЋ ДУШАН
+ГВОЗДЕНОВИЋ ЕМИЛИЈА
+ГВОЗДЕНОВИЋ ЉИЉАНА
+ГВОЗДЕНОВИЋ ЉУБО
+ГВОЗДЕНОВИЋ МИЋО
+ГВОЗДЕНОВИЋ МИЛИВОЈЕ
+ГВОЗДЕНОВИЋ МИЛОШ
+ГВОЗДЕНОВИЋ МИРКО
+ГВОЗДЕНОВИЋ МИРОСЛАВ
+ГВОЗДЕНОВИЋ МИРОСЛАВ
+ГВОЗДЕНОВИЋ НИКОЛА
+ГВОЗДЕНОВИЋ ПЕТАР
+ГВОЗДЕНОВИЋ РАЈКО
+ГВОЗДЕНОВИЋ РАЈКО
+ГВОЗДЕНОВИЋ РАЈКО
+ГВОЗДЕНОВИЋ СТЕВО
+ГВОЗДЕНОВИЋ-ТОДОРОВИЋ ЗАГОРКА
+ГВОЗДЕНОВИЋ-ТОДОРОВИЋ ЗАГОРКА
+ГВОЗДЕНОВИЋ ВИДА
+ГВОЗДЕНОВИЋ ВИТОМИР
+ГВОЗДЕНОВИЋ ВЛАДА
+ГВОЗДЕНОВИЋ ВЛАДА
+ГВОЗДЕНОВИЋ ЗОРИЦА
+ГВОЗДИЋ ЂОРЂЕ
+ГВОЗДИЋ МИЛАН
+ХАШОВИЋ АНДРИЈА
+ХАШОВИЋ ИМРЕ
+ХАЂИНАЦ БРАНИСЛАВ
+ХАБАШ ЗОРАН
+ХАБАЈЕЦ ЉУБИЦА
+ХАБЕК ЖЕЉКО
+ХАБЕНШУС МИЛЕНКО
+ХАБЕНШУС МИЛЕНКО
+ХАБИЈАН ФРАЊА
+ХАБИЈАН ВЕСНА
+ХАБИЈАНЕЦ ТИХОМИР
+ХАБОР ЈАН
+ХАБРАМ АРАНКА
+ХАБРАМ КАРОЉ
+ХАБУДА ЈОСИП
+ХАБУДА ВАЛЕНТИН
+ХАЦОПУЛОС ЂОРЂЕ
+ХАЦОПУЛОС НАДА
+ХАЏИ АЛЕКСАНДАР
+ХАЏИ КОСТА АДВОКАТ
+ХАЏИ-МАНОВ ЉУПЧО
+ХАЏИ-ПАВЛОВИЋ ОЛГА
+ХАЏИ РАМАДАН
+ХАЏИЋ БОСИЉКА
+ХАЏИЋ ГОРАНКА
+ХАЏИЋ ИБРАХИМ
+ХАЏИЋ ИСМЕТ
+ХАЏИЋ ЛАЗАР
+ХАЏИЋ ЛАЗАР
+ХАЏИЋ МИЛАН ДР
+ХАЏИЋ МИЛЕВА
+ХАЏИЋ МОНИКА
+ХАЏИЋ МУХАРЕМ
+ХАЏИЋ НАДА
+ХАЏИЋ ОЛГА ДР
+ХАЏИЋ ПАВЛЕ
+ХАЏИЋ РАДИВОЈ
+ХАЏИЋ СЛАВУЈ
+ХАЏИЋ ВЛАДИМИР
+ХАЏИАХМЕТОВИЋ РАСИМ
+ХАЏИАРСИЋ ДОБРИВОЈЕ
+ХАЏИБАБИЋ ДРАГАН
+ХАЏИБАБИЋ РАДОМИР
+ХАЏИБАБИЋ РАДОМИР
+ХАЏИБАБИЋ ЗОРИЦА
+ХАЏИХАСАНОВИЋ РАДМИЛА
+ХАЏИВУКОВИЋ СТЕВАН ДР ПРОФ
+ХАЏОВИЋ ЈЕЛИСАВЕТА
+ХАЏОВИЋ РАТКО
+ХАДАДИ СМИЉА
+ХАДИК АДРИЕН
+ХАДИК ЈОЖЕФ
+ХАДНАЂ ГИЗЕЛА
+ХАДНАЂ ТЕРЕЗА
+ХАДНАЂ ВЕРА
+ХАДНАЂ ВЕРОНИКА
+ХАДНАЂЕВ АРСЕН
+ХАДНАЂЕВ ДУШАН ДР
+ХАДНАЂЕВ ДУШАН
+ХАДНАЂЕВ ИСИДОР
+ХАДНАЂЕВ МИОДРАГ
+ХАДНАЂЕВ МИРКО
+ХАДНАЂЕВ СТАНИСЛАВ
+ХАДНАЂЕВ СТЕВАН
+ХАДНАЂЕВ СТОЈАН
+ХАИН БРАНИСЛАВ
+ХАИН ЗОРИЦА
+ХАЈЧУНК ЈОЖЕФ
+ХАЈЧУНК МИРКО
+ХАЈАШ ЈЕЛИСАВЕТА
+ХАЈДАРЕВИЋ ОРХАН
+ХАЈДАРПАШИЋ ЕСАД
+ХАЈДЕР ЂОРЂЕ
+ХАЈДЕР ДРАГАН
+ХАЈДЕР ЛУКА
+ХАЈДЕР МАРИЦА
+ХАЈДЕР МАРКО
+ХАЈДЕР МИЛОШ
+ХАЈДЕР РАДЕ
+ХАЈДЕР РАЈКО
+ХАЈДЕР СТОЈАНКА
+ХАЈДЕР ВЕСНА
+ХАЈДЕР ЗОРАН
+ХАЈДИЋ АНЂЕЛКО
+ХАЈДИН БОГДАН
+ХАЈДИН СЛАВКО
+ХАЈДУ АНА
+ХАЈДУ АНДРИЈА
+ХАЈДУ АНТАЛ
+ХАЈДУ ФЕРЕНЦ
+ХАЈДУ-ГРАЈЛАХ ЕМА
+ХАЈДУ ИЛОНКА
+ХАЈДУ ИРЕНА
+ХАЈДУ ЈОЖЕФ
+ХАЈДУ ЈОЛИКА
+ХАЈДУ ЈОСИП
+ХАЈДУ КАТИЦА
+ХАЈДУ КЛАРА
+ХАЈДУ ЛАЈОШ
+ХАЈДУ ЛАСЛО
+ХАЈДУ ЉУДЕВИТ
+ХАЈДУ МАРИЈА
+ХАЈДУ ОТО
+ХАЈДУ ПАВЛЕ
+ХАЈДУ СТЕВАН
+ХАЈДУК ЂОРЂЕ
+ХАЈДУК ИРИНА
+ХАЈДУК ЈАНКО
+ХАЈДУКОВИЋ АРСЕН
+ХАЈДУКОВИЋ БОШКО
+ХАЈДУКОВИЋ БОГДАН
+ХАЈДУКОВИЋ ДЕСАНКА
+ХАЈДУКОВИЋ ДУШАН
+ХАЈДУКОВИЋ ЈОВАНКА
+ХАЈДУКОВИЋ ЉИЉАНА
+ХАЈДУКОВИЋ МИЛАНКА
+ХАЈДУКОВИЋ МИЛАН
+ХАЈДУКОВИЋ НАДЕЖДА
+ХАЈДУКОВИЋ ОТО
+ХАЈДУКОВИЋ РАДОСЛАВ ДИПЛ ИНГ
+ХАЈДУКОВИЋ СМИЉА
+ХАЈНАЛ АНТАЛ
+ХАЈНАЛ ГАБРИЈЕЛА
+ХАЈНАЛ ИВАН
+ХАЈНАЛ ЛАСЛО
+ХАЈНАЛ ЉУБИЦА
+ХАЈНАЛ МАРИЈА
+ХАЈНАЛ НИКОЛА
+ХАЈНЦ ЂОРЂЕ
+ХАЈНЦ ЈОСИП
+ХАЈНЦ ЈОВАН
+ХАЈНЦ ЗЛАТА
+ХАЈТФОГЕЛ ВЛАДА
+ХАЈТФОГЕЛ ВЛАДИСЛАВ
+ХАЈТЛ ИВАН
+ХАЈВАЗ РАЈКО
+ХАЈЗЛЕР ЂОРЂЕ
+ХАЈЗЛЕР ДУШАН
+ХАЈЗЛЕР ЈОВАН
+ХАКАЧ МАТИЈА
+ХАКЕР ИВАН
+ХАКЕР ТЕРЕЗА
+ХАЛАШ ЗУЗАНА
+ХАЛАШИ ЂОРЂЕ
+ХАЛАШИ ЕТЕЛКА
+ХАЛАШИ-КИШ ФРАНКА
+ХАЛАШИ РУЖА ДР ИНГ
+ХАЛАИ ИМРЕ
+ХАЛАИ МАРИЈА
+ХАЛАИ ПЕТАР
+ХАЛАИ САБОЛЧ
+ХАЛАПИ ДРАГИЦА
+ХАЛАПИ ИРЕНА
+ХАЛАПИ ИВАН
+ХАЛАС ШАНДОР
+ХАЛАС ФРАЊА
+ХАЛАС МАРИЈА
+ХАЛАВАЊА ЖЕЉКО
+ХАЛАВАЊА ЉУБАН
+ХАЛАВАЊА МИЛАН
+ХАЛАВАЊА РАДЕ
+ХАЛАВАЊА СТЕВА
+ХАЛЕР СТЕВАН
+ХАЛИЛОВИЋ МУХАРЕМ
+ХАЛИМ СЕФЕР
+ХАЛУПКА ЈОЖЕФ ДР
+ХАМ АЛЕКСАНДАР
+ХАМУ МИХАЉ
+ХАМЗИЋ МИЛЕНА
+ХАН СОФИЈА
+ХАНЦКО ЈОЖЕФ ДР
+ХАНЦКО ЈОЖЕФ ДР
+ХАНДА КАТИЦА
+ХАНГ МАТЕЈ
+ХАНГ ВЛАТКО
+ХАНГА АНТУН
+ХАНГА АНТУН
+ХАНГА МАРИЈА
+ХАНГОВСКИ АНДРИЈА
+ХАНСКО ЈОСИП
+ХАНСКО СТЕВАН
+ХАНУШИЋ СЕАД
+ХАРАЧИЋ ЏЕМАЛ
+ХАРАЧИЋ ЉУБИЦА
+ХАРАК ПАВЛЕ
+ХАРАМБАШИЋ БОЖАНА
+ХАРАМИЈА МАРИЈА
+ХАРАНГОЗО ШАНДОР
+ХАРАНГОЗО ШАНДОР
+ХАРАНГОЗО ШАРИКА
+ХАРАНГОЗО БАЛИНТ
+ХАРАНГОЗО БОШКО
+ХАРАНГОЗО ЕРЖЕБЕТ
+ХАРАНГОЗО ЕРЖЕБЕТ
+ХАРАНГОЗО ИШТВАН
+ХАРАНГОЗО ИМРЕ
+ХАРАНГОЗО-ЈЕГРИШКИ МАРИЈА
+ХАРАНГОЗО КАРОЉ
+ХАРАНГОЗО-ТОРИ ЖУЖАНА
+ХАРАНГОЗО-ТОРИ ЂУРА
+ХАРАНГОЗО-ТОРИ БОЖИДАР
+ХАРАНГОЗО-ТОРИ ИРИНА
+ХАРАНГОЗО-ТОРИ ИВАН
+ХАРАНГОЗО-ТОРИ ЈОАКИМ
+ХАРАНГОЗО-ТОРИ ЈОВАН
+ХАРАНГОЗО-ТОРИ ЈОВАН
+ХАРАНГОЗО-ТОРИ ЉУБИЦА
+ХАРАНГОЗО-ТОРИ НЕСТОР
+ХАРАНГОЗО-ТОРИ НИКОЛА
+ХАРАНГОЗО-ТОРИ СИЛВЕСТЕР
+ХАРАНГОЗО-ТОРИ СТОЈАНКА
+ХАРАНГОЗО-ТОРИ ВЕСНА
+ХАРАНГОЗО-ТОРИ ВЛАДИМИР
+ХАРАНГОЗО-ТОРИ ВЛАДИМИР
+ХАРФМАН МАРА
+ХАРХАИ ЖЕЉКО
+ХАРХАИ БОЖАНА
+ХАРХАИ ЈАНКО
+ХАРХАЈИ ХЕЛЕНА
+ХАРХАЈИ ЈАНКО
+ХАРХАЈИ ЈОАКИМ
+ХАРХАЈИ ЈОАКИМ
+ХАРХАЈИ ЉУБОМИР
+ХАРХАЈИ ЉУБОМИР
+ХАРХАЈИ МИРОН
+ХАРХАЈИ НИКОЛА
+ХАРХАЈИ ВЛАДИМИР
+ХАРХАЈИ ВЛАДИМИР
+ХАРИШ ЈЕЛИСАВЕТА
+ХАРИШ ЈЕЛИСАВЕТА
+ХАРИШ ЉУБИВОЈЕ
+ХАРИШ ПИРОШКА
+ХАРИЈАН ШТЕФИЦА
+ХАРКАИ СТЕВАН
+ХАРМАТ КОНРАД
+ХАРПАЊ МИХАЛ
+ХАРТ МАРГИТА
+ХАРТИГ ИРЕНА
+ХАРТИГ ТИБОР
+ХАРТМАН КАТАРИНА
+ХАРТМАН ВЕСНА
+ХАС АЛЕКСАНДАР
+ХАС КАРЛО
+ХАС МАРТА
+ХАС МИЛИЦА
+ХАСАНАГИЋ ЕСНАФ
+ХАСАНАГИЋ МИЛАН
+ХАСЕНАУЕР ЈОСИП
+ХАСИЋ ЏЕМАЛ
+ХАТАЛА МАТЕ
+ХАТАЛА ЗОЛТАН
+ХАУГ АНИЦА
+ХАУК РОБЕРТ
+ХАУПТМАН СЛАВКО
+ХАУРДИЋ РАБИЈА
+ХАУСЕР ХИЛДА
+ХАУЗЕР ОСКАР
+ХАУЗЛОХНЕР ИРЕНА
+ХАВЈАР ВЕЛИЗАР
+ХАВЛЕК ФРАЊА
+ХАВЛЕК ЈОСИП
+ХАВРАН ЗЛАТКО
+ХАВЗИ ШЕРИФ
+ХАВЗИ ЛИМАН
+ХЕЂЕШ ЈАНОШ
+ХЕЂЕЛАИ СТЕВАН
+ХЕЂИ АЛЕКСАНДАР
+ХЕЂИ МИЛИЦА
+ХЕДЕШ ЈАНОШ
+ХЕГЕДИШ ЂЕРЂ
+ХЕГЕДИШ БЕЛА
+ХЕГЕДИШ БЕРТА
+ХЕГЕДИШ ГЕЗА
+ХЕГЕДИШ ИШТВАН
+ХЕГЕДИШ ЈОЖЕФ
+ХЕГЕДИШ ЈОХАНА
+ХЕГЕДИШ ЈОЗЕФИНА
+ХЕГЕДИШ ТЕРЕЗИЈА
+ХЕГЕДИШ ЗОЛТАН
+ХЕГЕДУШ КАРОЛИНА
+ХЕИМ МАГДА
+ХЕКИЋ СЛАВИЦА
+ХЕЛЕР ГАБРИЈЕЛ
+ХЕЛЕР ИНГРИД
+ХЕМ ЈАНОШ
+ХЕМИ АНИЦА
+ХЕМИ ВЛАДИСЛАВ
+ХЕМОН БОРИС
+ХЕМОН МАРИЈА
+ХЕМОН СЛАВИЦА
+ХЕМОН ТЕРЕЗИЈА
+ХЕМОН ВЛАДИМИР
+ХЕМОН ВЛАДИМИР
+ХЕМРИХ КЛАРА
+ХЕМУН МИХАЈЛО
+ХЕН ЖЕЉКО
+ХЕН ИВИЦА
+ХЕН МАРИЈА
+ХЕНГЛ ДАМЈАН
+ХЕНГЛ ЈОВАН
+ХЕНГЛ РИХАРД
+ХЕНИШ ВИЛМА
+ХЕНКЕЛ ФИЛИП
+ХЕП МАКСИМ
+ХЕРЧИК РОБЕРТ
+ХЕРАК ИВАН
+ХЕРАК СТАНИСЛАВ
+ХЕРАКОВИЋ АЛЕКСАНДАР
+ХЕРАКОВИЋ БРАНИСЛАВ
+ХЕРАКОВИЋ СЛОБОДАН
+ХЕРБЕЗ МИЛЕНКО
+ХЕРБСТ АНТУН
+ХЕРБУТ ЂОРЂЕ
+ХЕРБУТ ГАБОР
+ХЕРБУТ ЈОЖЕФ
+ХЕРБУТ КАРОЉ
+ХЕРБУТ КИРИЛ
+ХЕРБУТ МИХАЈЛО
+ХЕРБУТ СИЛВЕСТЕР
+ХЕРЦЕГ ЂОРЂЕ
+ХЕРЦЕГ ДРАГОСЛАВ
+ХЕРЦЕГ КАРЛО
+ХЕРЦЕНБЕРГЕР ЂУЛА
+ХЕРЦЕНБЕРГЕР АЛЕКСАНДАР
+ХЕРЦЕНБЕРГЕР АЛЕКСАНДАР
+ХЕРЦЕНБЕРГЕР ГИЗЕЛА
+ХЕРЦЕНБЕРГЕР ИРЕН
+ХЕРЦОГ ЂОРЂЕ
+ХЕРДИ ЈОСИП
+ХЕРДИ ЉИЉАНА
+ХЕРДИ-СТОЈАНОВИЋ АНГЕЛИНА
+ХЕРЕНЧИЋ ЛЕОПОЛД
+ХЕРЕНДИЈА ЂОРЂЕ
+ХЕРЕНДИЈА МАРКО
+ХЕРЕТА СЛОБОДАН
+ХЕРГЕТ КАТИЦА
+ХЕРИЋ МИХОВИЛ
+ХЕРИНГ АМАЛИЈА
+ХЕРИНГ ИВАН
+ХЕРМАН ЧИЛА
+ХЕРМАН АНЂА
+ХЕРМАН ИВАН
+ХЕРМАН КАРЛО
+ХЕРМАН ВИЛИМ
+ХЕРОР ЛАЗАР
+ХЕРПКА ДУБРАВКА
+ХЕРПКА ИВАН ДР ИНГ
+ХЕРТЛ ЈОЖЕФ
+ХЕРТЛ НАДА
+ХЕС ШАНДОР
+ХЕС ЛАСЛО
+ХЕСКО ВИКТОРИЈА
+ХЕВЕР МАРГИТА
+ХЕВЕР ПАВЛЕ
+ХЕВЕРА МИХАЈЛО
+ХЕВЕРА ЗУЗАНА
+ХЕВИЗИ ИЛОНА
+ХЕВИЗИ ПЕТАР
+ХИЋИЛ АЛЕКСАНДАР
+ХИЋИЛ ЈОСИП
+ХИЋИЛ КАТАРИНА
+ХИЖА ЈОВАН
+ХИЖА МИША
+ХИБШ МАРИЈА
+ХИБШ РИХАРД СУДИЈА
+ХИБШ ТАНКРЕД
+ХИЕЛ КСЕНИЈА
+ХИЛ ЈОСИП
+ХИЛ ВЕРА
+ХИЛИЕР-КОЛАРОВ ВАЛЕРИЈА ДР
+ХИЛИЕР ЛАЈОШ ДИПЛ ИНГ
+ХИНИЋ ЂОРЂЕ
+ХИНИЋ БРАНКО
+ХИНИЋ МАНЕ
+ХИНИЋ МИЛИЦА
+ХИНИЋ ПРЕДРАГ
+ХИПИК ШТЕФАНА
+ХИПИК ЈОВАН
+ХИПИК КАРЛО
+ХИРШ СТЈЕПАН
+ХИРШЕНБЕРГЕР МАРТА
+ХИРШЕНБЕРГЕР СТЕВАН ДИПЛ ИНГ
+ХИРШМАН АНТУН
+ХИРЈОВАТИ ЉУБИЦА
+ХИРЈОВАТИЈ МИРОН
+ХИРМАН ФРАЊА
+ХИРМАН ЗОЛТАН
+ХИТЕНБЕРГЕР ЂОРЂЕ
+ХИТИ ФРАНЦ
+ХИТЛ ЕЛИЗАБЕТА
+ХИТЛ СТЕВАН
+ХЛАЂИК ЗВОНКО
+ХЛАДНИ ИВАН
+ХЛАДНИ СЛАВКО
+ХЛАПЕЦ СТЈЕПАН
+ХЛАВСА СЛАВИЦА
+ХЛЕБЕЦ НОРБЕРТ
+ХЛОЖАН ЈОВАН
+ХМИЉ ИЛИЈА
+ХНАТКО МИШКО
+ХОЧКО АЈЕТ
+ХОШЕК ЧАБА
+ХОШЕК ФРАЊА
+ХОБРАТ МАРТА
+ХОЏА РАМАДАН
+ХОЏИЋ ХАЛИД
+ХОЏИЋ ОМЕР
+ХОЏИЋ СТАЗА
+ХОДА МЕЈРЕМ
+ХОДАК МИЛЕ
+ХОДАК СИЛВЕСТАР
+ХОДАК СОФИЈА
+ХОДАК ВЕРА
+ХОДАК ВЛАДИСЛАВ
+ХОДАР ЈОСИП
+ХОДИ ЕРНЕ
+ХОДИ ЕРНЕ
+ХОДИ ФЕРЕНЦ
+ХОДИ ВИЛМА
+ХОДИК БАРБАРА
+ХОДИНКА МИХАИЛО
+ХОДНИК АЛОЈЗ
+ХОДОБА ДАНИЈЕЛА
+ХОДОЛИЧ ЈАНКО
+ХОДОЛИЋ ЈАРОСЛАВ
+ХОФМАН АЛЕКСАНДАР
+ХОФМАН АРТУР
+ХОФМАН БРУНО
+ХОФМАН ФРАЊА
+ХОФМАН ЛАДИСЛАВ
+ХОФМАН МАРИЈА
+ХОФМАН ВЕСНА
+ХОХЊЕЦ ДАРКО
+ХОХЊЕЦ ПЕТАР
+ХОХЊЕЦ ВЛАДИМИР
+ХОЛЦЕР ЛАДИСЛАВ
+ХОЛЕРБАХ КАТИЦА
+ХОЛИ АНДРИЈА МР ПХ
+ХОЛИ КАТАРИНА
+ХОЛИЧЕК ЛАСЛО
+ХОЛИЧЕК МАРГИТ
+ХОЛИЧЕК СТЕВАН
+ХОЛИГА КАРЛО
+ХОЛИГА СНЕЖАНА
+ХОЛИГА СТЕВАН
+ХОЛИК ЈАНКО
+ХОЛИК ЈОАКИМ
+ХОЛО ЛЕОНТИНА
+ХОЛО ВИЛМОШ ДИПЛ ИНГ
+ХОЛОД СТЕВАН
+ХОЛОДКОВ ВЛАДИМИР
+ХОЛОТ РУЖА
+ХОЛОВКА АНКА
+ХОЛОВКА БРАНКА
+ХОЛОВКА НАТАЛИЈА
+ХОЛПЕРТ ЕРНЕСТ
+ХОЛПЕРТ ЛУЈО
+ХОМА АНА
+ХОМА БОСИЉКА
+ХОМА ЕУГЕН
+ХОМА ЈАНКО
+ХОМА ЈОВГЕН
+ХОМА МИРОСЛАВ
+ХОМА НИКОЛА
+ХОМА ПЕТАР ДИПЛ ИНГ
+ХОМА ВЛАДИМИР
+ХОМА ВЛАДИМИР
+ХОМА ВУКИЦА
+ХОМОЉА ЈОЖЕФ
+ХОР БОЖИЦА
+ХОР ИЛИЈА
+ХОР ПАВЛЕ
+ХОРАК МИХАЈЛО
+ХОРАК НАНДОР
+ХОРГАС ИШТВАН
+ХОРГАС МАТИЛДА
+ХОРГОШИ ЂУЛА
+ХОРГОШИ КАТАРИНА
+ХОРИЋ ЈЕЛИСАВЕТА
+ХОРИЋ КОСИМ
+ХОРН ВАЛЕНТИН
+ХОРЊАК ЖИВА
+ХОРЊАК ЂУРО
+ХОРЊАК ДИМИТРИЈЕ
+ХОРЊАК ДИМИТРИЈЕ
+ХОРЊАК ИВАН
+ХОРЊАК ЈАНОШ
+ХОРЊАК ЈАН
+ХОРЊАК МАГДАЛЕНА
+ХОРЊАК МИША
+ХОРЊАК МИРКО
+ХОРЊАК ОЛГА
+ХОРЊАК ПЕТАР
+ХОРЊАК-ПУШКАШОВА МАРИЈА
+ХОРЊАК СОФРОНА
+ХОРЊАК СТЕВАН
+ХОРЊАК ВЛАДА
+ХОРЊАК ВЛАДА
+ХОРЊАК ВЛАДИМИР
+ХОРЊИК ШАНДОР
+ХОРЊИК ЂЕРЂ
+ХОРЊИК ЂЕРЂ
+ХОРЊИК ЗОЛТАН
+ХОРНОК ЗОЛТАН
+ХОРНУНГ-ШОМАН ШТЕФАНИЈА
+ХОРОШИЛОВ СОФИЈА
+ХОРОШКО АЛЕКСАНДАР
+ХОРОШКО СТЕФАН ДР
+ХОРОВИЦ ДРАГИЊА
+ХОРОВИЦ ВЛАДИМИР
+ХОРТИ ДРАГАНА
+ХОРТИ ГЕЗА
+ХОРТИ ЈОСИП
+ХОРТИ ВЛАДИСЛАВ
+ХОРВАЦКИ МАРКО
+ХОРВАЦКИ СНЕЖАНА
+ХОРВАТ ШАНДОР
+ХОРВАТ ШАНДОР
+ХОРВАТ ЖОЛТ
+ХОРВАТ ЂУЛА
+ХОРВАТ ЂУРА
+ХОРВАТ АГИ
+ХОРВАТ АЛЕКСАНДАР
+ХОРВАТ АЛЕКСАНДАР
+ХОРВАТ АНДРАШ
+ХОРВАТ АНДРИЈА
+ХОРВАТ АНКА
+ХОРВАТ АНТАЛ
+ХОРВАТ АРПАД
+ХОРВАТ БЕЛА
+ХОРВАТ БИСЕРКА
+ХОРВАТ ДЕЖЕ
+ХОРВАТ ДИМИТРИЈЕ
+ХОРВАТ ЕДИТ
+ХОРВАТ ЕЛИЗАБЕТА
+ХОРВАТ ЕРЖЕБЕТ
+ХОРВАТ ЕРИКА
+ХОРВАТ ЕСТЕР
+ХОРВАТ ФЕРЕНЦ
+ХОРВАТ ФЕРЕНЦ
+ХОРВАТ ФЕРЕНЦ
+ХОРВАТ ФЕРЕНЦ
+ХОРВАТ ФРАЊА
+ХОРВАТ ФРАЊА
+ХОРВАТ ФРАЊО
+ХОРВАТ ГАБОР
+ХОРВАТ ГИЗЕЛА
+ХОРВАТ ГРОЗДАНА
+ХОРВАТ ИШТВАН
+ХОРВАТ ИГОР
+ХОРВАТ ИГОР
+ХОРВАТ ИЛОНКА
+ХОРВАТ ИМРЕ
+ХОРВАТ ИМРЕ
+ХОРВАТ ИМРЕ
+ХОРВАТ ИРЕНА
+ХОРВАТ ИРЕНКА
+ХОРВАТ ИВАНКА
+ХОРВАТ ИВАН
+ХОРВАТ ЈАНОШ ДИПЛ ИНГ
+ХОРВАТ ЈАНОШ
+ХОРВАТ ЈЕЛЕНА
+ХОРВАТ ЈОЖЕФ
+ХОРВАТ ЈОЖЕФ
+ХОРВАТ ЈОЖЕФ
+ХОРВАТ ЈОСИП
+ХОРВАТ ЈОСИП
+ХОРВАТ ЈОСИП
+ХОРВАТ ЈОСИП
+ХОРВАТ ЈОСИП
+ХОРВАТ ЈОВАН
+ХОРВАТ КАЛМАН
+ХОРВАТ КАРЛО
+ХОРВАТ КАРЛО
+ХОРВАТ КАРЛО
+ХОРВАТ КАРОЉ
+ХОРВАТ КАТАЛИН
+ХОРВАТ КАТАРИНА
+ХОРВАТ КАТИЦА
+ХОРВАТ КАТИЦА
+ХОРВАТ ЛАЈОШ
+ХОРВАТ ЛАСЛО
+ХОРВАТ ЛАСЛО
+ХОРВАТ ЛАСЛО
+ХОРВАТ ЛАСЛО
+ХОРВАТ ЛАСЛО
+ХОРВАТ ЛАСЛО
+ХОРВАТ ЛУДВИГ
+ХОРВАТ МАРИЈА
+ХОРВАТ МАРИЈА
+ХОРВАТ МАРИЈА
+ХОРВАТ МАРИЈА
+ХОРВАТ МАРИЈА
+ХОРВАТ МАРИЈА
+ХОРВАТ МАРИЈА
+ХОРВАТ МАРИЈА
+ХОРВАТ МАТО
+ХОРВАТ МИХАЉ
+ХОРВАТ-МИЛИТИЧИ КАРОЉ ДР
+ХОРВАТ МИЛКА
+ХОРВАТ МИЛКА
+ХОРВАТ МИЛОСЛАВ
+ХОРВАТ МИРКО
+ХОРВАТ ПАЈА
+ХОРВАТ ПАВЛЕ
+ХОРВАТ ПЕТАР
+ХОРВАТ РАДМИЛА
+ХОРВАТ РОЖА
+ХОРВАТ РОЗАЛИЈА
+ХОРВАТ РУЖА
+ХОРВАТ РУДОЛФ
+ХОРВАТ САМУЕЛ
+ХОРВАТ СИЛВЕСТЕР
+ХОРВАТ СЛАВКО
+ХОРВАТ СМИЉА
+ХОРВАТ СТЕВАН
+ХОРВАТ ТАМАШ
+ХОРВАТ ТЕРЕЗА
+ХОРВАТ ТЕРЕЗА
+ХОРВАТ ТИБОР
+ХОРВАТ ТИБОР
+ХОРВАТ ТИБОР
+ХОРВАТ ТИБОР
+ХОРВАТ ВАЛЕРИЈА
+ХОРВАТ ВЕРИЦА
+ХОРВАТ ВЕРОНИКА
+ХОРВАТ ВЕРОНИКА
+ХОРВАТ ВЛАДИМИР
+ХОРВАТ ЗОЛТАН
+ХОРВАТ ЗОЛТАН
+ХОРВАТИЋ МАРИЈАН
+ХОРВАТИЋ ОЛГА
+ХОРВАТИЋ СЛАВКО
+ХОРВАТИЋ ЗВОНИМИР
+ХОРВАТОВ РАСТКО
+ХОРВАТОВИЋ ЂОРЂЕ
+ХОРВАТОВИЋ КАТИЦА
+ХОРВАТОВИЋ МИРЈАНА
+ХОРВАТОВИЋ ПАВЛЕ ДР
+ХОРВАТСКИ ДУШАН
+ХОРВАТСКИ ЉУБИЦА
+ХОРВАТСКИ ЉУБИЦА
+ХОРВАТСКИ МИЛЕНКО
+ХОРВАТСКИ МИРОСЛАВ
+ХОРВАТСКИ РАДИВОЈ
+ХОРВАТСКИ РУЖИЦА
+ХОСТИЋ БИСЕРКА
+ХОСТНИК КАТИЦА
+ХОСТОНСКИ СТАНА
+ХОТ АДЕМ
+ХОУФ ЕЛВИРА
+ХОВАН МАРТИН
+ХОВАН МИРОСЛАВ
+ХОВАНЕЦ ВИКТОРИЈА
+ХРЋАН ЈОВАН
+ХРЋАН ЈОВАН
+ХРАБАР ИВО
+ХРАБОВСКИ АНТОН
+ХРАБОВСКИ АНТОН
+ХРАБОВСКИ БОЈАНА ДР
+ХРАБОВСКИ ЕДГАР ДИПЛ ОЕЦ
+ХРАБОВСКИ ИМРЕ
+ХРАБОВСКИ ЛАДИСЛАВ
+ХРАБРИЋ ЕУГЕН
+ХРАДЕЧНИ БЕЛА
+ХРАДЕЧНИ ФРАЊА
+ХРАДЕЧНИ ЈОСИП
+ХРАНИЧАК МИРКО
+ХРАНИСАВЉЕВИЋ ПАВЛЕ
+ХРАПОВИЋ ОСМАН
+ХРДЛИЧКА ДЕСАНКА
+ХРЕШЧАК ВЛАДИМИР
+ХРЕНАР ЛАУРА
+ХРГИЋ ЉУБОМИР
+ХРГИЋ МИЛАН
+ХРГИЋ ВЛАСТИМИР
+ХРИЧАНЕК МИРОСЛАВ
+ХРИЧАНЕК НЕДЕЉКА
+ХРИБЉАН АНТОН
+ХРИБОВШЕК ФРАНЦ
+ХРИЦКАНИЋ ЛУКА
+ХРИЕШИК МАРИЈА
+ХРИЈЕШИК ЈАН
+ХРИЈЕШИК ЈУРАЈ
+ХРИСТИЋ БЛАГОЈЕ
+ХРИСТИЋ ДИМИТРИЈЕ
+ХРИСТИЋ ЛЕПОСАВА
+ХРИСТИЋ ЉУБИЦА
+ХРИСТИДИС АПОСТОЛ
+ХРИСТИДИС НИКОЛА
+ХРИСТИДИС НИКОЛА
+ХРИСТОВ БРАНКО
+ХРИСТОВ МИЛОСИЈА
+ХРИСТОВ ВЕСНА
+ХРИСТОВ ЗАГОРКА
+ХРИСТОВА ЕМИЛИЈА
+ХРИСТОВСКИ ТОМА
+ХРИСТУ ТИХОМИР
+ХРКАЛОВИЋ БОШКО
+ХРНЧАР САМУЕЛ
+ХРНЧИЋ МАРГИТА
+ХРНЧИЋ МИХАД
+ХРНЧИЋ ВАХИД
+ХРНЧИАР АНА
+ХРНЧИАР ЈАНКО
+ХРНЧИАРОВА ТЕРЕЗИА
+ХРНЧЈАР АНДРЕЈ
+ХРНЧЈАР ВЛАДИМИР
+ХРЊАЧКИ ЖАРКО
+ХРЊАЧКИ ЂОРЂЕ
+ХРЊАЧКИ ЈЕЛИЦА
+ХРЊАЧКИ ЈОВАН
+ХРЊАЧКИ ЛАЗИЦА
+ХРЊАЧКИ МИЛКА
+ХРЊАЧКИ МЛАДЕН
+ХРЊАК ДАНЕ
+ХРЊАК ДРАГАН
+ХРЊАК ДУШАН
+ХРЊАК ЉИЉАНА
+ХРЊАК МАРИЈА
+ХРЊАК РАЈКО
+ХРЊАК ВЕЉКО
+ХРЊАКОВИЋ БРАНИСЛАВ
+ХРЊАКОВИЋ ИВАНА
+ХРЊАКОВИЋ ЈОВАН
+ХРЊАКОВИЋ МИРКО
+ХРЊЕЗ ОБРАД
+ХРОМИШ АМАЛИЈА
+ХРОМИШ АНА
+ХРОМИШ БАРБАРА
+ХРОМИШ БОРИСЛАВ
+ХРОМИШ ЈОАКИМ
+ХРОМИШ ЈОАКИМ
+ХРОМИШ КАТИЦА
+ХРОМИШ МАРИЈА
+ХРОМИШ МЕЛАНИЈА
+ХРОМИШ МИХАЈЛО ДИПЛ ИНГ
+ХРОМИШ МИРОСЛАВ
+ХРОМИШ МИРОСЛАВ
+ХРОМИШ НАДА
+ХРОМИШ НИКОЛА
+ХРОМИШ ПЕТАР
+ХРОМИШ СИМА
+ХРОМИШ ВЛАДИМИР
+ХРОМИШ ЗДЕНКА
+ХРОЊЕЦ ВИЋАЗОСЛАВ
+ХРСТО СЛАВКО
+ХРУБЕЊА ЂУРА
+ХРУБЕЊА ФЕБРОНА
+ХРУБЕЊА ЈАНКО
+ХРУБЕЊА ЈОАКИМ
+ХРУБЕЊА ЈОАКИМ
+ХРУБЕЊА ЈОАКИМ
+ХРУБЕЊА КАРЛО
+ХРУБЕЊА МИХАЈЛО
+ХРУБЕЊА МИРОСЛАВ
+ХРУБЕЊА ПЕТАР
+ХРУБЕЊА ЗВОНИМИР
+ХРУБИК АНДРЕЈ
+ХРУБИК ЈОВАН
+ХРУБИК КАРЛО
+ХРУБИК МИРКО
+ХРУБИК ОСКАР ДР ЛЕКАР
+ХРУБИК РОЗАЛИЈА
+ХРУСТАНОВИЋ ТУРСУН
+ХРУСТИЋ ЕМИН
+ХРУСТИЋ ЕНВЕР
+ХРУСТИЋ ЗИЈАХ
+ХРУСТИЋ ЗИЛХА
+ХУЧИЋ СТЈЕПАН
+ХУЧКА ЈОВАН
+ХУЖВАР ШАНДОР
+ХУЂЕЦ ЈОВАНКА
+ХУЂЕЦ КАРЛО
+ХУБАИ ГАБОР
+ХУБАНИЋ МИЛЕНА
+ХУБЕР БОЈАНА
+ХУБЕР ДРАГАН
+ХУБЕР ЕЛЗА
+ХУБЕР ЈОВАН ДИПЛ ИНГ
+ХУБЕР МАГДАЛЕНА
+ХУБЕР МАРИЈА
+ХУБЕР МАТИЛДА
+ХУБЕР ПЕТАР
+ХУБЕР ТИБОР
+ХУБЕРТ ЕВА
+ХУБЕРТ РАДМИЛА
+ХУБЕРТ ВЕРА
+ХУБИЈАР ЕНЕС
+ХУБИЈАР НАДА
+ХУДАК ИРИНЕЈ
+ХУДАК НАТАЛИЈА
+ХУДОМЕЛ ИВАН
+ХУЈДУР БРАНКА
+ХУМСКИ РОСА
+ХУЊАДИ АЛЕКСАНДАР
+ХУЊАДИ ИЛОНКА
+ХУЊАДИ ОЛГА
+ХУПЕРТ ЛАЈОШ
+ХУПИК МИРЈАНА
+ХУС ИМРЕ
+ХУСАГ АРПАД
+ХУСАГИЋ ЕСАД
+ХУСАГИЋ СУЛЕЈМАН
+ХУСАГИЋ ЗИНЕТА
+ХУСАК РАДОВАН
+ХУСАР ЕВА
+ХУСАР ИШТВАН
+ХУСАР ЈАНКО
+ХУСАР ЛАСЛО
+ХУСАР ТОДОР
+ХУСЕИН МЕХМЕД
+ХУСЕИНБЕГОВИЋ НАМИК
+ХУСЕИНОВИЋ АНИЦА
+ХУСЕИНОВИЋ АТИЛА
+ХУСЕИНОВИЋ АТИЛА
+ХУСЕИНОВИЋ ЕСМЕРАЛДА
+ХУСЕИНОВИЋ ИСМЕТ
+ХУСЕНБЕГОВИЋ РОЗАЛИЈА
+ХУСИЋ ЂУРЂИНКА
+ХУСИЋ ЛАДИСЛАВ
+ХУСКА ИЛОНА
+ХУСКА-РОКА МАГДА ДР
+ХУСКО МИЈО
+ХУСОВИЋ ХУСО
+ХУТАЛАРОВИЋ ЈЕЛЕНА
+ХУТАЛАРОВИЋ КОСТА
+ХУЗЈАН ТИХОМИР
+ХВАЛА МИРА
+ХВЕТКОВИЋ ЈЕЛИСАВЕТА
+ИЧАГИЋ НИКОЛА
+ИЧЕВИЋ МОМЧИЛО
+ИЧИН ЖИВКО
+ИЧИН МИЛЕНКО
+ИЧИН РАДИСЛАВ
+ИЧИН СРЕТЕН
+ИШИЋ ЕЛИЗАБЕТА
+ИШПАН ШАНДОР
+ИШПАН МАРГИТА
+ИШПАНОВИЋ ЈОЖЕФ
+ИШТОК ЈОСИП
+ИШТОК ЈОСИП
+ИШТОК МИРЈАНА
+ИШТОК СТЕВАН
+ИШТОКОВИЋ СТЕВО
+ИШТВАНОВ СТАНИСЛАВА
+ИЋИТОВИЋ МИЛАН
+ИЋУРУП ЖИВОЈИН
+ИЋУРУП МИЛОРАД
+ИЋУРУП РАДОСЛАВ ДИПЛ ИНГ
+ИЖАК ФЕРЕНЦ
+ИЖАК КАРЛО
+ИЖАК РОЗАЛИЈА
+ИЂИДОВ ОЛГА
+ИЂИДОВ ВЕЛИНКА
+ИЂОШКИ ХОРСТ
+ИЂОШКИ НИКОЛА
+ИЂУШКИ СТЕВАН
+ИБРАХИМ ДЕМИР
+ИБРАХИМАГИЋ НАДА
+ИБРАХИМИ ИБРАХИМ
+ИБРАХИМОВИЋ ДЕРВИША
+ИБРАХИМОВИЋ ЕМИЛ
+ИБРАХИМОВИЋ ХАМДИЈА
+ИБРАХИМОВИЋ МИЛАН
+ИБРАХИМОВИЋ СЛАВКО
+ИБРАХИМОВИЋ ВЕРА
+ИБРАХИМПАШИЋ АНА
+ИБРАЈТЕР ИВАН
+ИБРАЈТЕР ЉУБОМИР
+ИБРАЈТЕР МЛАДЕН
+ИБРИШЕВИЋ ЂУЛАГА
+ИБРИШЕВИЋ МИРСАД
+ИБРИШЕВИЋ СУАД
+ИБРОЧИЋ ДИМИТРИЈЕ ДИПЛ ИНГ
+ИБРОЧИЋ МАРИЈА
+ИБРОЧИЋ РАТОМИР
+ИБРОЧИЋ СЛОБОДАН
+ИБРОЧИЋ ВЕРА
+ИБРОЛИ БАН
+ИЦОСКИ ЛАЗАР
+ИДЕИ НАНДОР
+ИДЕЈИ ЈОВАН
+ИДЕЈИ ВАЛЕРИЈА
+ИДРИЗОВИЋ АХМЕТ ДР
+ИДВОРЕАН ТОДОР
+ИДВОРЕАН ВИКЕНТИЈЕ
+ИФЈУ АНГЕЛИКА
+ИФЈУ ГАБОР
+ИФКО ИЛДИКО ДИПЛ ИНГ
+ИГИЋ ЖИВАДИН
+ИГИЋ ЂУЛВАСИЈА
+ИГИЋ АНКА
+ИГИЋ ДРАГАН
+ИГИЋ ЈОВАНКА
+ИГИЋ МИЛКА
+ИГИЋ МИЛОРАД
+ИГИЋ МИРОСЛАВА
+ИГИЋ МИРОСЛАВ
+ИГИЋ НИКОЛА
+ИГИЋ ПАВЛЕ
+ИГИЋ РАЈКО
+ИГИЋ САША
+ИГИЋ СТЕВАН
+ИГИЋ СТЕВАН
+ИГИЋ СВЕТОЗАР
+ИГИЋ ТОМИСЛАВ
+ИГИЋ ВУКА
+ИГНАЦ ПЕРА
+ИГЊАЦ ВИДА
+ИГЊАТИЋ АНКА
+ИГЊАТИЋ БОРИВОЈ
+ИГЊАТИЋ ДУШАНКА
+ИГЊАТИЋ ГОЈКО
+ИГЊАТИЋ НЕВЕНКА
+ИГЊАТИЋ РАДОВАН
+ИГЊАТИЋ ВИД
+ИГЊАТИЈЕВИЋ АЛЕКСАНДАР
+ИГЊАТИЈЕВИЋ БРАНИСЛАВ
+ИГЊАТИЈЕВИЋ ДОБРИЛА
+ИГЊАТИЈЕВИЋ ДРАГОМИР
+ИГЊАТИЈЕВИЋ ДУШАН
+ИГЊАТИЈЕВИЋ ДУШАН
+ИГЊАТИЈЕВИЋ ЈОВАН
+ИГЊАТИЈЕВИЋ ЉИЉАНА
+ИГЊАТИЈЕВИЋ ЉИЉАНА
+ИГЊАТИЈЕВИЋ ЉУБОМИР
+ИГЊАТИЈЕВИЋ МАРА
+ИГЊАТИЈЕВИЋ МИЛАН
+ИГЊАТИЈЕВИЋ МИЛЕНА
+ИГЊАТИЈЕВИЋ МИРОСЛАВ
+ИГЊАТИЈЕВИЋ МИТА
+ИГЊАТИЈЕВИЋ НОВАК
+ИГЊАТИЈЕВИЋ РАДАШИН
+ИГЊАТИЈЕВИЋ РАДОВАН
+ИГЊАТИЈЕВИЋ СВЕТИСЛАВ
+ИГЊАТИЈЕВИЋ СВЕТОЗАР
+ИГЊАТИЈЕВИЋ ТОМИСЛАВ
+ИГЊАТИЈЕВИЋ ТОМИСЛАВ
+ИГЊАТИЈЕВИЋ ВОЈИСЛАВ
+ИГЊАТИЈЕВИЋ ЗОРАН
+ИГЊАТОВ-РАДОВАНОВИЋ МИЛЕНА ПРОФ
+ИГЊАТОВИЋ ЖИВКО
+ИГЊАТОВИЋ ЖИВОРАД
+ИГЊАТОВИЋ АНГЕЛА
+ИГЊАТОВИЋ АНКА
+ИГЊАТОВИЋ ДАНИЛО
+ИГЊАТОВИЋ ГОРДАНА
+ИГЊАТОВИЋ КОСАРА
+ИГЊАТОВИЋ ЉУБИША
+ИГЊАТОВИЋ МАРИЦА
+ИГЊАТОВИЋ МИЛАН
+ИГЊАТОВИЋ МИЛЕ
+ИГЊАТОВИЋ МИЛКА
+ИГЊАТОВИЋ МИЛОШ ДР ПРАВНИК
+ИГЊАТОВИЋ МИЛОШ
+ИГЊАТОВИЋ МИЛОРАД
+ИГЊАТОВИЋ МИЛУТИН
+ИГЊАТОВИЋ МИРЈАНА
+ИГЊАТОВИЋ САВА
+ИГЊАТОВИЋ СЛОБОДАН
+ИГЊАТОВИЋ ВЕРА
+ИГЊАТОВИЋ ВЕРА
+ИГЊАТОВИЋ ВИДАК
+ИГЊАТОВИЋ ВЛАДИМИР
+ИГЊАТОВИЋ ВОЈИСЛАВ
+ИГЊАТОВИЋ ВУЧКО
+ИГЊАТОВСКИ ЕФРЕМ
+ИГЊИЋ БРАНКО
+ИГЊИЋ ЈОВАН
+ИГЊИЋ СТОЈАН
+ИГЊИЋ ЗИЗА
+ИГЊИЋ ЗОРАН
+ИГЊОВИЋ МАРИЈА
+ИГРАЧКИ ЂОРЂЕ
+ИГРАЧКИ ЕТЕЛА
+ИГРАЧКИ ЈУЛИН
+ИГРАЧКИ КАРЛО
+ИГРАЧКИ ЛАСЛО
+ИГРИЋ НАДА
+ИГРИЋ СТОЈАНКА
+ИГРУТИНОВИЋ СЛОБОДАН
+ИХАС ИЛОНА
+ИЈАЧИЋ БРАНКО
+ИЈАЧИЋ МАКСИМ
+ИЈЕВЉЕВ ФЕОДОР
+ИКАНОВИЋ ДУШАН
+ИКАНОВИЋ ИВАН
+ИКАНОВИЋ ЈЕЛЕНА
+ИКАНОВИЋ НИКОЛА
+ИКЕЉИЋ ИРФАН
+ИКИЋ ДЕЈАН
+ИКИЋ ЈОВАН
+ИКИЋ МЛАДЕН
+ИКИЋ МЛАДЕН
+ИКИЋ СМИЉАНА
+ИКОДИНОВИЋ ДУШАН
+ИКОНИЋ ЂУРА
+ИКОНОВ ДЕЈАН
+ИКОТИН ЈАНОШ
+ИКОТИН ЈОВАНКА
+ИКОТИН МАТИЈА
+ИКОТИН ПАЛ
+ИКОТИН ПЕТАР
+ИКОВАЦ БОШКО
+ИКОВАЦ СТЕВАН
+ИКОВИЋ ДРАГУТИН
+ИКОВИЋ МИЛОШ
+ИКОВИЋ МИЛОСАВ
+ИКОВИЋ ВЕЛИНКА
+ИКРАШЕВ ЈЕЛИЦА
+ИКРАШЕВ ЈОВАН
+ИЛ АЛЕКСАНДАР
+ИЛ ЈЕЛИЦА
+ИЛЧИК МАРИЈА
+ИЛЕШ ФРАНЦИШКА
+ИЛЕШ ИМРЕ
+ИЛЕШ ИРЕНА
+ИЛЕШ МИХАИЛО
+ИЛЕШ МИЛАН
+ИЛЕШ МИРОСЛАВ
+ИЛИЧИЋ АНТУН
+ИЛИЧИЋ ИВАН
+ИЛИЧИЋ ЉУБИЦА
+ИЛИЧИЋ МИХАЈЛО
+ИЛИЧИЋ ПЕТАР
+ИЛИЧИЋ-ПОПИЋ ОЉА
+ИЛИЋ ЧЕДОМИР
+ИЛИЋ ЧЕДО
+ИЛИЋ ШИМУН
+ИЛИЋ ЖЕЉКО
+ИЛИЋ ЖИВКО
+ИЛИЋ ЖИВКО
+ИЛИЋ ЖИВКО
+ИЛИЋ ЖИВОМИР
+ИЛИЋ ЖИВОМИР
+ИЛИЋ ЖИВОМИР
+ИЛИЋ ЖИВОРАД
+ИЛИЋ ЖИВОРАД
+ИЛИЋ ЂОРЂЕ
+ИЛИЋ ЂОРЂЕ
+ИЛИЋ ЂОРЂЕ
+ИЛИЋ АЛЕКСА ДР
+ИЛИЋ АЛЕКСАНДАР
+ИЛИЋ АЛЕКСАНДАР
+ИЛИЋ АЛЕКСАНДАР
+ИЛИЋ АЛЕКСАНДАР
+ИЛИЋ АНИЦА
+ИЛИЋ АНКИЦА
+ИЛИЋ АРСА
+ИЛИЋ АРСА
+ИЛИЋ БИЉАНА
+ИЛИЋ БЛАГОЈЕ
+ИЛИЋ БОШКО
+ИЛИЋ БОШКО
+ИЛИЋ БОЖИДАР
+ИЛИЋ БОБАН
+ИЛИЋ БОГДАН
+ИЛИЋ БОГОЉУБ
+ИЛИЋ БОРИСЛАВКА
+ИЛИЋ БОРИСЛАВ
+ИЛИЋ БОРИСЛАВ
+ИЛИЋ БОРИВОЈЕ
+ИЛИЋ БОРКА
+ИЛИЋ БОСИЉКА
+ИЛИЋ БРАНИСЛАВ
+ИЛИЋ БРАНИСЛАВ
+ИЛИЋ БРАНИСЛАВ
+ИЛИЋ БРАНКО
+ИЛИЋ БРАНКО
+ИЛИЋ БРАНКО
+ИЛИЋ БРАТИСЛАВ
+ИЛИЋ БРАТИСЛАВ
+ИЛИЋ ЦЕЦИЛИЈА
+ИЛИЋ ЦВЕТА
+ИЛИЋ ЦВИЈАН
+ИЛИЋ ДАНЕ
+ИЛИЋ ДАРИНКА
+ИЛИЋ ДЕЈАН
+ИЛИЋ ДОБРИВОЈЕ
+ИЛИЋ ДОБРОСАВ
+ИЛИЋ ДРАГАН
+ИЛИЋ ДРАГАН
+ИЛИЋ ДРАГАН
+ИЛИЋ ДРАГИЦА
+ИЛИЋ ДРАГОЉУБ
+ИЛИЋ ДРАГО
+ИЛИЋ ДРАГУТИН
+ИЛИЋ ДУШАНКА
+ИЛИЋ ДУШАН
+ИЛИЋ ДУШАН
+ИЛИЋ ДУШАН
+ИЛИЋ ДУШАН
+ИЛИЋ ДУШАН
+ИЛИЋ ДУШИЦА
+ИЛИЋ ДУШИЦА
+ИЛИЋ ЕДИТ
+ИЛИЋ ЕРЖИКА
+ИЛИЋ ГОРАН
+ИЛИЋ ГОРАН
+ИЛИЋ-ГРЕГОР МИРА
+ИЛИЋ ИЛИЈА
+ИЛИЋ ИЛИЈА
+ИЛИЋ ИЛИЈА
+ИЛИЋ ИРЕНА
+ИЛИЋ ИВАН ДР
+ИЛИЋ ИВАН
+ИЛИЋ ИВАН
+ИЛИЋ ЈЕЛЕНА
+ИЛИЋ ЈЕЛЕНА
+ИЛИЋ ЈЕЛЕНКО
+ИЛИЋ ЈЕЛИСАВЕТА
+ИЛИЋ ЈЕЛКА
+ИЛИЋ ЈОСИФ
+ИЛИЋ ЈОВАНКА
+ИЛИЋ ЈОВАН
+ИЛИЋ ЈОВАН
+ИЛИЋ ЈОВАН
+ИЛИЋ ЈОВАН
+ИЛИЋ ЈОВАН
+ИЛИЋ ЈОВИЦА
+ИЛИЋ КОВИЉКА
+ИЛИЋ КРСТАН
+ИЛИЋ ЛАЗАР
+ИЛИЋ ЛАЗАР
+ИЛИЋ ЛАЗАР
+ИЛИЋ ЉУБИША
+ИЛИЋ ЉУБИША
+ИЛИЋ ЉУБИЦА
+ИЛИЋ ЉУБИЦА
+ИЛИЋ ЉУБИЦА
+ИЛИЋ ЉУБИНКО
+ИЛИЋ ЉУБО
+ИЛИЋ МАРА
+ИЛИЋ МАРА
+ИЛИЋ МАРИЈА
+ИЛИЋ МАРИЈА
+ИЛИЋ МАРИЈА
+ИЛИЋ МАРИЈА
+ИЛИЋ МАРИНКО
+ИЛИЋ МАРКО
+ИЛИЋ МИХАЈЛО
+ИЛИЋ МИХАЈЛО
+ИЛИЋ МИЛАДИН
+ИЛИЋ МИЛАН
+ИЛИЋ МИЛАН
+ИЛИЋ МИЛАН
+ИЛИЋ МИЛАН
+ИЛИЋ МИЛАН
+ИЛИЋ МИЛАН
+ИЛИЋ МИЛАН
+ИЛИЋ МИЛАН
+ИЛИЋ МИЛАН
+ИЛИЋ МИЛА
+ИЛИЋ МИЛЕНА
+ИЛИЋ МИЛЕНА
+ИЛИЋ МИЛЕН
+ИЛИЋ МИЛЕВА
+ИЛИЋ МИЛЕ
+ИЛИЋ МИЛИЋ
+ИЛИЋ МИЛИЦА
+ИЛИЋ МИЛИЦА
+ИЛИЋ МИЛИЦА
+ИЛИЋ МИЛИСАВ
+ИЛИЋ МИЛИВОЈЕ
+ИЛИЋ МИЛИВОЈ
+ИЛИЋ МИЛИВОЈ
+ИЛИЋ МИЛИВОЈ
+ИЛИЋ МИЛОШ
+ИЛИЋ МИЛОШ
+ИЛИЋ МИЛОШ
+ИЛИЋ МИЛОШ
+ИЛИЋ МИЛОРАД
+ИЛИЋ-МИЛУШИЋ ОЛГА
+ИЛИЋ МИЛУШКА
+ИЛИЋ МИЛУТИН
+ИЛИЋ МИОДРАГ ДР
+ИЛИЋ МИОДРАГ
+ИЛИЋ МИОДРАГ
+ИЛИЋ МИОДРАГ
+ИЛИЋ МИРЈАНА
+ИЛИЋ МИРКО
+ИЛИЋ МИРОСЛАВА
+ИЛИЋ МИРОСЛАВ
+ИЛИЋ МИРОСЛАВ
+ИЛИЋ МИТАР
+ИЛИЋ МОМЧИЛО
+ИЛИЋ МОМЧИЛО
+ИЛИЋ МОМЧИЛО
+ИЛИЋ МОМЧИЛО
+ИЛИЋ НАДА
+ИЛИЋ НЕЂО
+ИЛИЋ НЕБОЈША
+ИЛИЋ НЕБОЈША
+ИЛИЋ НЕНАД
+ИЛИЋ НЕВЕНКА
+ИЛИЋ НИКОЛА
+ИЛИЋ НИКОЛА
+ИЛИЋ ОБРАД
+ИЛИЋ ОБРЕН
+ИЛИЋ ОЛГА
+ИЛИЋ ОЛГА
+ИЛИЋ ОЛИВЕРА
+ИЛИЋ ОСТОЈА
+ИЛИЋ ПАВЛЕ ДИПЛ ИНГ
+ИЛИЋ ПАВЛЕ
+ИЛИЋ ПЕРО
+ИЛИЋ ПЕТАР
+ИЛИЋ ПЕТАР
+ИЛИЋ ПЕТАР
+ИЛИЋ ПЕТАР
+ИЛИЋ ПЕТАР
+ИЛИЋ-ПЕТРОВИЋ СПОМЕНКА
+ИЛИЋ ПРЕВИСЛАВ
+ИЛИЋ РАДЕ
+ИЛИЋ РАДИВОЈ
+ИЛИЋ РАДОЈКА
+ИЛИЋ РАДОМИР
+ИЛИЋ РАДОСЛАВ
+ИЛИЋ РАДОСЛАВ
+ИЛИЋ РАДОСЛАВ
+ИЛИЋ РАДОВАН
+ИЛИЋ РАДОВАН
+ИЛИЋ РАДО
+ИЛИЋ РАНКО
+ИЛИЋ РАТКО
+ИЛИЋ РАТКО
+ИЛИЋ РУЖА
+ИЛИЋ РУЖИЦА
+ИЛИЋ САВА ДР
+ИЛИЋ САВА
+ИЛИЋ-САВИЋ ВОЈИСЛАВА
+ИЛИЋ СИМО
+ИЛИЋ СИНИША
+ИЛИЋ СЛАВИЦА
+ИЛИЋ СЛАВКО
+ИЛИЋ СЛАВКО
+ИЛИЋ СЛАВОЉУБ
+ИЛИЋ СЛОБОДАН
+ИЛИЋ СЛОБОДАН
+ИЛИЋ СЛОБОДАН
+ИЛИЋ СЛОБОДАН
+ИЛИЋ СРЂАН
+ИЛИЋ СРЂАН
+ИЛИЋ СРЂАН
+ИЛИЋ СРЕТЕН
+ИЛИЋ СТАНА
+ИЛИЋ СТАНИША
+ИЛИЋ СТАНИМИР
+ИЛИЋ СТАНИМИР
+ИЛИЋ СТАНКА
+ИЛИЋ СТЕВО
+ИЛИЋ СТОЈАНЧЕ
+ИЛИЋ СТОЈАН
+ИЛИЋ СТОЈАН
+ИЛИЋ СВЕТИСЛАВ ДР ЛЕКАР
+ИЛИЋ СВЕТЛАНА
+ИЛИЋ СВЕТОЗАР
+ИЛИЋ ТАТЈАНА
+ИЛИЋ ТОДЕ
+ИЛИЋ ТОДЕ
+ИЛИЋ ТОМИСЛАВ
+ИЛИЋ ВАСА
+ИЛИЋ ВЕРА
+ИЛИЋ ВИДОСАВ
+ИЛИЋ ВИНКА
+ИЛИЋ ВИНКО
+ИЛИЋ ВЛАДАН
+ИЛИЋ ВЛАДАН
+ИЛИЋ ВЛАДИМИР ДР
+ИЛИЋ ВЛАДИМИР
+ИЛИЋ ВЛАДИМИР
+ИЛИЋ ВЛАДИМИР
+ИЛИЋ ВЛАДИМИР
+ИЛИЋ ВЛАДИМИР
+ИЛИЋ ВЛАТКА
+ИЛИЋ ВОЈИСЛАВ
+ИЛИЋ ВОЈИСЛАВ
+ИЛИЋ ВОЈИСЛАВ
+ИЛИЋ ВОЈИСЛАВ
+ИЛИЋ ЗДРАВКО
+ИЛИЋ ЗЛАТКО
+ИЛИЋ ЗЛАТКО
+ИЛИЋ ЗОРАН
+ИЛИЋ ЗОРИЦА
+ИЛИБАШИЋ ДАРИНКА
+ИЛИБАШИЋ НИКОЛА
+ИЛИБАШИЋ ОСТОЈА
+ИЛИБАШИЋ СТЕВАН
+ИЛИБАШИЋ СТЕВО
+ИЛИБАШИЋ ЗЛАТА
+ИЛИЕВСКИ АЛЕКСАНДАР
+ИЛИЈЋ СМИЉА
+ИЛИЈЋ СВЕТОЛИК
+ИЛИЈАШЕВ СОФИЈА
+ИЛИЈАШЕВИЋ АЛЕКСАНДАР
+ИЛИЈАШЕВИЋ ДАРА
+ИЛИЈАШЕВИЋ ЉУБИША
+ИЛИЈАШЕВИЋ СВЕТИСЛАВ
+ИЛИЈАЗИ АБДИСАМИ
+ИЛИЈАЗИ ДАУТ
+ИЛИЈАЗИ ХАФИЗА
+ИЛИЈАЗИ ЈАЛЧИН
+ИЛИЈАЗИ ЗАЈНЕЛ
+ИЛИЈАЗОВИЋ ВЕЏРИЈА
+ИЛИЈЕВ ИВАН
+ИЛИЈЕВ ИВАН
+ИЛИЈЕВ ЉУБЕН
+ИЛИЈЕВИЋ ДУШАН ДИПЛ ИНГ
+ИЛИЈЕВИЋ НИКОЛА
+ИЛИЈЕВИЋ РАДЕ
+ИЛИЈЕВСКИ ЋИРО
+ИЛИЈЕВСКИ ЂОРЂЕ
+ИЛИЈЕВСКИ ДАНИЛО
+ИЛИЈИН ЖАРКО
+ИЛИЈИН ЖИВАН
+ИЛИЈИН ДУШАН
+ИЛИЈИН ЈЕЛЕНА
+ИЛИЈИН ЈОВАН
+ИЛИЈИН ЈОВАН
+ИЛИЈИН МИЛАН
+ИЛИЈИН МИЛИВОЈ
+ИЛИЈИН МИЛИВОЈ
+ИЛИЈИН МИЛОШ
+ИЛИЈИН МИРЈАНА
+ИЛИЈИН СТЕВАН
+ИЛИЈИН СВЕТОЗАР
+ИЛИЈИН ТАНАСИЈЕ
+ИЛИЈИН УРОШ
+ИЛИЈИН ЗОРКА
+ИЛИН ЖАРКО
+ИЛИН АЛЕКСАНДАР
+ИЛИН АНКИЦА
+ИЛИН БОРИСЛАВ
+ИЛИН БОРКА
+ИЛИН ДРАГИЊА
+ИЛИН ДРАГИЊА
+ИЛИН ДУШАН
+ИЛИН ДУШАН
+ИЛИН ИВАН
+ИЛИН ЉУБИНКО
+ИЛИН ЉУБОМИР
+ИЛИН МИЛАН
+ИЛИН МИЛЕНКО
+ИЛИН МЛАДЕН
+ИЛИН НЕДЕЉКО
+ИЛИН НИКОЛА
+ИЛИН РАДЕ
+ИЛИН СНЕЖАНА
+ИЛИН СОФИЈА
+ИЛИН ТИМА
+ИЛИН ЗОРА
+ИЛИНЧИЋ МОМИР
+ИЛИНЧИЋ НЕБОЈША
+ИЉАЗИ ЏАМИЉ
+ИЛКИЋ ЈЕЛА
+ИЛКИЋ МАРИЦА
+ИЛКИЋ МИЛАН
+ИЛКИЋ МИРА
+ИЛКИЋ НАДА
+ИЛКИЋ НЕБОЈША
+ИЛКИЋ НЕНАД
+ИЛКИЋ РАДМИЛА
+ИЛКИЋ СТЕВИЦА
+ИЛКИЋ ЗЛАТОЈА
+ИЛКИН РАДИВОЈ
+ИЛОВАЧА МАРКО
+ИЛОВСКИ АЛЕКСАНДАР
+ИЛОВСКИ ЗЛАТА
+ИМШИРОВИЋ КОЛОМАН
+ИМШИРОВИЋ МИРОСЛАВ
+ИМШИРОВИЋ СМАЈИЛ
+ИМАМОВИЋ ЈАСМИНА
+ИМБРА ЖИВОЈИН
+ИМБРИШИЋ БЕХИЈА
+ИМБРИШИЋ ИВАН
+ИМБРОЊЕВ РАЈКО
+ИМБРОЊЕВ РАЈКО
+ИМБРОЊЕВ РАЈКО
+ИМБРОЊЕВ СПАСОЈА
+ИМБРОНОВИЋ ЂОРЂЕ
+ИМБРОНОВИЋ ДУШАН
+ИМБРОНОВИЋ ЈУЛКА
+ИМРЕШИ ИВАН
+ИНЂИЋ ДРАГИЦА
+ИНЂИЋ ДУШАН
+ИНЂИЋ ЈЕЛЕНА
+ИНЂИЋ ЈЕЛИЦА
+ИНЂИЋ ТЕРЕЗ
+ИНЂИЋ ВОЈИН
+ИНЂИН ЖИВКО
+ИНЂИН ЂУРА
+ИНЂИН ДУШАН
+ИНЂИН ВЛАДИМИР
+ИНИЋ БРАНКО
+ИНИЋ ДРАГАН
+ИНИЋ ДУШАН
+ИНИЋ ЈЕЛЕНА
+ИНИЋ КРСТА
+ИНИЋ ЉУБИЦА
+ИНИЋ МИЛАН ДР
+ИНИЋ ТИНДА
+ИНИЋ ВАСО
+ИЊАЦ БОГДАН
+ИЊАЦ ДРАГИЦА
+ИЊАЦ ЈОВАН
+ИЊАЦ ЉУБИЦА
+ИЊАЦ МИРКО
+ИЊАЦ НИКОЛА
+ИЊАЦ РАДА
+ИЊАЦ РАДЕ
+ИЊАЦ РАДОМИР
+ИЊАЦ СЛОБОДАН
+ИЊАЦ ВЛАДИМИР
+ИНОВАН ДОБРИВОЈЕ
+ИПАЧ КАТАЛИНА
+ИПАЧ КАТИЦА
+ИПИЋ ЗОРА
+ИРШАИ ИВАН
+ИРШАЈИ ЈОВАН
+ИРШАЈИ СТЕВА
+ИРИЋ БОЖО
+ИРИЋ ГАШПАР
+ИРМЕШ МАРИА
+ИРМЕЊИ ЈОЖЕФ
+ИРМЕЊИ ЈОСИП
+ИРМЕЊИ МАРГИТ
+ИСАИЛОВИЋ ЉУБИША
+ИСАИЛОВИЋ МИЛАНКА
+ИСАИЛОВИЋ МИРКО
+ИСАИЛОВИЋ ВЕЛИСАВ
+ИСАЈЕВ МАРИЈА
+ИСАЈЕВИЋ ЛАЗАР
+ИСАЈЕВИЋ МИЛОШ
+ИСАЈЕВИЋ ЗДРАВКО
+ИСАЈЛОВ ЈОНЕЛ
+ИСАЈЛОВ ЈОНЕЛ
+ИСАЈЛОВ ЈОНЕЛ
+ИСАЈЛОВИЋ АЛЕКСАНДАР
+ИСАЈЛОВИЋ АЛЕКСАНДАР
+ИСАЈЛОВИЋ БРАНКО
+ИСАЈЛОВИЋ ДУШАН
+ИСАЈЛОВИЋ ФЕДОР
+ИСАК ИЛИЈА
+ИСАК СТАНКО
+ИСАКОВ ЖАРКО
+ИСАКОВ ЖИВОЈИН
+ИСАКОВ АЦКО
+ИСАКОВ БОРИСЛАВ
+ИСАКОВ ЦВЕТКО
+ИСАКОВ ДИМИТРИЈЕ
+ИСАКОВ ДРАГАНА
+ИСАКОВ ДРАГОЉУБ
+ИСАКОВ ДУШИЦА
+ИСАКОВ ЕСТЕР
+ИСАКОВ ИВАН
+ИСАКОВ ЈЕЛИЦА
+ИСАКОВ ЈОВАНКА
+ИСАКОВ КАТИЦА
+ИСАКОВ ЛЕПОСАВА
+ИСАКОВ ЉУБИЦА
+ИСАКОВ ЉУБИЦА
+ИСАКОВ МИЛАН
+ИСАКОВ МИЛАН
+ИСАКОВ МИЛЕНКО
+ИСАКОВ МИЛИВОЈ
+ИСАКОВ МИЛОРАД
+ИСАКОВ МИЛУТИН
+ИСАКОВ МИОДРАГ
+ИСАКОВ МИРОСЛАВ
+ИСАКОВ НЕНАД
+ИСАКОВ ПЕТАР
+ИСАКОВ РАДЕ
+ИСАКОВ РАДИЦА
+ИСАКОВ РАДИНКА
+ИСАКОВ РАДИВОЈ
+ИСАКОВ РАДМИЛА
+ИСАКОВ РАДОМИР
+ИСАКОВ РАДОВАН
+ИСАКОВ РУЖИЦА
+ИСАКОВ САВА
+ИСАКОВ СЛАВКО
+ИСАКОВ СМИЉКА
+ИСАКОВ СРЕДОЈЕ
+ИСАКОВ СТЕВАН
+ИСАКОВ СТЕВАН
+ИСАКОВ ТОДОР
+ИСАКОВ ТОМИСЛАВ
+ИСАКОВ ВОЈИСЛАВ
+ИСАКОВ ЗОРИЦА
+ИСАКОВИЋ ЂУРА ДИПЛ ИНГ
+ИСАКОВИЋ АНА
+ИСАКОВИЋ МАРКО
+ИСАКОВИЋ СТЕВАН
+ИСАКОВИЋ ЗОРАН
+ИСАКОВСКИ ЈАКОВ
+ИСАКОВСКИ СЛОБОДАН ДР
+ИСАНОВИЋ АНА
+ИСИЈАНОВ СЛОБОДАНКА
+ИСИЈАНОВ ВЛАДИМИР
+ИСКАЛОВ МАРИЈАНА
+ИСКИЋ МИЛАДИН
+ИСКРИН БРАНКО
+ИСКРИН ЈЕЛЕНА
+ИСЛАМБАШИЋ ЉИЉАНА
+ИСЛАМИ АБИБ
+ИСЛАМОВИЋ МАХМУД
+ИСЛАМОВИЋ НАДА
+ИСМАИЛИ ШАЋИР
+ИТАЛО ЕВИЦА
+ИТАЛО МАРКО
+ИТЕБЕЈАЦ ЗОРА
+ИВАЧКОВИЋ БРАНИСЛАВ
+ИВАЧКОВИЋ МАНОЈЛО
+ИВАЧКОВИЋ НАДА
+ИВАШЧЕНКО АЛЕКСАНДАР
+ИВАШЧЕНКО АЛЕКСАНДАР
+ИВАШЧЕНКО КАТИЦА
+ИВАШКУ-МИЛОВАНОВИЋ ФЕЛИЧИА
+ИВАК ЈАН
+ИВАН ШАНДОР
+ИВАН ЂУРА
+ИВАН АТИЛА
+ИВАН ЦЕЦИЛИЈА
+ИВАН ГАБОР
+ИВАН ЈОЖЕФ
+ИВАН ЈОВАН
+ИВАН КАТАЛИН
+ИВАН МИХАЈЛО
+ИВАН СИЛВЕСТЕР
+ИВАН ВЕРОНА
+ИВАНЧЕВ ИРИНА
+ИВАНЧЕВ ВЛАДИМИР
+ИВАНЧЕВИЋ ЖАРКО ДР
+ИВАНЧЕВИЋ БОШКО
+ИВАНЧЕВИЋ БРАНКА
+ИВАНЧЕВИЋ ДАРКО
+ИВАНЧЕВИЋ ДИМИТРИЈЕ
+ИВАНЧЕВИЋ ДРАГОСЛАВА
+ИВАНЧЕВИЋ ДУШАН
+ИВАНЧЕВИЋ ГАВРА
+ИВАНЧЕВИЋ ЈОВАН
+ИВАНЧЕВИЋ ЈОВАН
+ИВАНЧЕВИЋ МАРИЦА
+ИВАНЧЕВИЋ МИЛАН
+ИВАНЧЕВИЋ МИЛАН
+ИВАНЧЕВИЋ МИЛЕНКО
+ИВАНЧЕВИЋ МИЛИВОЈЕ ПРОФЕСОР
+ИВАНЧЕВИЋ ОЛИВЕРА
+ИВАНЧЕВИЋ ПЕТАР
+ИВАНЧЕВИЋ ПЕТАР
+ИВАНЧЕВИЋ РАДИВОЈ ДИПЛ ИНГ
+ИВАНЧЕВИЋ РАДМИЛА
+ИВАНЧЕВИЋ СИНИША
+ИВАНЧЕВИЋ СТАНКО
+ИВАНЧЕВИЋ СВЕТОЗАР
+ИВАНЧЕВИЋ ВЛАДА
+ИВАНЧЕВИЋ ВЛАДИМИР ДР
+ИВАНЧИЋ АНТЕ
+ИВАНЧИЋ БРАНКО
+ИВАНЧИЋ ДРАГАН
+ИВАНЧИЋ ЈОСИП
+ИВАНЧИЋ ЈУЛИЈАНА
+ИВАНЧИЋ МАРИЈА
+ИВАНЧИЋ МИЛАН
+ИВАНЧИЋ ОЛГА
+ИВАНЧИЋ СТАНИМИР
+ИВАНЧИЋ СТАНИСЛАВ
+ИВАНЧИЋ СТЕВАН
+ИВАНЧИЋ СТЕВАН
+ИВАНЧИЋ ВЛАДИМИР
+ИВАНЧИН НИКОЛА
+ИВАНЧИН ОЉЕГ
+ИВАНЧУК ПАВАО
+ИВАНДИЋ ИВИЦА
+ИВАНДИЋ РАДМИЛА
+ИВАНЕЖА АНДРИЈА
+ИВАНЕК ЂУРА
+ИВАНЕК ДУШКО
+ИВАНЕК ВИКТОРИЈА
+ИВАНИ ХИЉА
+ИВАНИШ КОВИЉКА
+ИВАНИШ СЛАВКО
+ИВАНИШ СЛАВКО
+ИВАНИШЕВИЋ ЂУРО
+ИВАНИШЕВИЋ ДУШАН
+ИВАНИШЕВИЋ ЕВИЦА
+ИВАНИШЕВИЋ ИЛИЈА
+ИВАНИШЕВИЋ ЈЕЛИЦА
+ИВАНИШЕВИЋ МИХАИЛО
+ИВАНИШЕВИЋ МИЛАН
+ИВАНИШЕВИЋ МИРОСЛАВ
+ИВАНИШЕВИЋ МИРОСЛАВ
+ИВАНИШЕВИЋ МИТАР
+ИВАНИШЕВИЋ НАДА
+ИВАНИШЕВИЋ НАДА
+ИВАНИШЕВИЋ НЕЂА
+ИВАНИШЕВИЋ НЕМАЊА
+ИВАНИШЕВИЋ ОЛГА
+ИВАНИШЕВИЋ ПЕТАР
+ИВАНИШЕВИЋ РАЈКО
+ИВАНИШЕВИЋ СВЕТОЗАР
+ИВАНИШЕВИЋ ТИНА
+ИВАНИШЕВИЋ ВУКИЦА
+ИВАНИЋ ЧЕДОМИР
+ИВАНИЋ ЂОРЂЕ
+ИВАНИЋ АЛБЕРТ
+ИВАНИЋ АНА
+ИВАНИЋ БРАНКО
+ИВАНИЋ ДРАГАНА
+ИВАНИЋ ДРАГАН
+ИВАНИЋ ДРАГИЦА
+ИВАНИЋ ДУШАН
+ИВАНИЋ ДУШАН
+ИВАНИЋ ГРОЗДАНА
+ИВАНИЋ ИВАНА
+ИВАНИЋ ИВАН
+ИВАНИЋ ИВАН
+ИВАНИЋ ИВАН
+ИВАНИЋ ЈОВО
+ИВАНИЋ МАРИНА
+ИВАНИЋ МИЛАН
+ИВАНИЋ МИЛАН
+ИВАНИЋ МИЛАН
+ИВАНИЋ НЕВЕНКА
+ИВАНИЋ ПЕРСИДА
+ИВАНИЋ ПЕТАР
+ИВАНИЋ СНЕЖАНА
+ИВАНИЋ СТЕВАН
+ИВАНИЋ ЗЛАТОЈЕ
+ИВАЊИ СИНИША
+ИВАЊИ ВЕРОНИКА
+ИВАНКОВИЋ ЧЕДОМИР
+ИВАНКОВИЋ ЂОРЂЕ
+ИВАНКОВИЋ БОЖАНА
+ИВАНКОВИЋ БОЖО
+ИВАНКОВИЋ ЈАНКО
+ИВАНКОВИЋ МАРИНКО
+ИВАНКОВИЋ МИЛЕНКО
+ИВАНКОВИЋ МИЛЕ
+ИВАНКОВИЋ МИЛКА
+ИВАНКОВИЋ МИЛКА
+ИВАНКОВИЋ НЕНАД
+ИВАНКОВИЋ НОВО
+ИВАНКОВИЋ РАДЕ
+ИВАНКОВИЋ РАДЕ
+ИВАНКОВИЋ САВО
+ИВАНКОВИЋ СЛАВКО
+ИВАНКОВИЋ ТИХОМИР
+ИВАНКОВИЋ ЗДРАВКО
+ИВАНОВ ЖИВАН
+ИВАНОВ ЂОКА
+ИВАНОВ ЂОРЂЕ
+ИВАНОВ ЂУРЂЕВКА
+ИВАНОВ ЂУРЂИНКА
+ИВАНОВ БОРИС
+ИВАНОВ ДИМИТАР
+ИВАНОВ ДРАГИЦА
+ИВАНОВ ДРАГОСЛАВА
+ИВАНОВ ЕМИЛИЈА
+ИВАНОВ ЕВИЦА
+ИВАНОВ ГАВРА
+ИВАНОВ ЈУЛКА
+ИВАНОВ КАТИЦА
+ИВАНОВ ЉУБОМИР
+ИВАНОВ МАРИЦА
+ИВАНОВ МАРИЈА
+ИВАНОВ МИША
+ИВАНОВ МИЛЕНКО
+ИВАНОВ МИЛЕ
+ИВАНОВ МИЛОРАД
+ИВАНОВ МИТА
+ИВАНОВ НИКОЛА
+ИВАНОВ ОЛИВЕРА
+ИВАНОВ ПЕТАР
+ИВАНОВ СЕРГИЈЕ
+ИВАНОВ СЛАВКО
+ИВАНОВ ВЕРА
+ИВАНОВ ЗДРАВКО
+ИВАНОВ ЗОРА
+ИВАНОВ ЗОРИЦА
+ИВАНОВИЋ ЧЕДОМИР
+ИВАНОВИЋ ЖИКА
+ИВАНОВИЋ ЖИВОРАД
+ИВАНОВИЋ ЂОРЂЕ
+ИВАНОВИЋ АЛЕКСА
+ИВАНОВИЋ АНГЕЛИНА
+ИВАНОВИЋ БОЖА
+ИВАНОВИЋ БОГДАН
+ИВАНОВИЋ БРАНИСЛАВА
+ИВАНОВИЋ БРАНИСЛАВ
+ИВАНОВИЋ БРАНИСЛАВ
+ИВАНОВИЋ БРАНИСЛАВ
+ИВАНОВИЋ БРАНИСЛАВ
+ИВАНОВИЋ ЦВЕЈА
+ИВАНОВИЋ ДЕСАНКА
+ИВАНОВИЋ ДЕСА
+ИВАНОВИЋ ДИМИТРИЈЕ
+ИВАНОВИЋ ДРАГАН
+ИВАНОВИЋ ДРАГАН
+ИВАНОВИЋ ДРАГАН
+ИВАНОВИЋ ДРАГАН
+ИВАНОВИЋ ДРАГАН
+ИВАНОВИЋ ДРАГОЉУБ
+ИВАНОВИЋ ДРАГОЉУБ
+ИВАНОВИЋ ДУШАНКА
+ИВАНОВИЋ ДУШАН
+ИВАНОВИЋ ФРАЊА
+ИВАНОВИЋ ИЛИЈА
+ИВАНОВИЋ ИЛИЈА
+ИВАНОВИЋ ИВАН ДР
+ИВАНОВИЋ ЈАНОШ
+ИВАНОВИЋ ЈЕЛЕНА
+ИВАНОВИЋ ЈОРДАН
+ИВАНОВИЋ ЈОВАН
+ИВАНОВИЋ КОВИНКА
+ИВАНОВИЋ КРСТОМИР
+ИВАНОВИЋ КСЕНИЈА
+ИВАНОВИЋ ЉУБИЦА
+ИВАНОВИЋ ЉУБИСАВ
+ИВАНОВИЋ ЉУБОМИР
+ИВАНОВИЋ ЉУДЕВИТ
+ИВАНОВИЋ МАРИЈА
+ИВАНОВИЋ МАРИНКО
+ИВАНОВИЋ МАРКО
+ИВАНОВИЋ МИЛАН СУДИЈА
+ИВАНОВИЋ МИЛЕНКО
+ИВАНОВИЋ МИЛЕНКО
+ИВАНОВИЋ МИЛЕТА
+ИВАНОВИЋ МИЛЕВА
+ИВАНОВИЋ МИЛИЦА
+ИВАНОВИЋ МИЛИЈА
+ИВАНОВИЋ МИЛКА
+ИВАНОВИЋ МИЛКО
+ИВАНОВИЋ МИЛОРАД
+ИВАНОВИЋ МИЛУН
+ИВАНОВИЋ МИЛУТИН
+ИВАНОВИЋ МИОДРАГ
+ИВАНОВИЋ МИРА
+ИВАНОВИЋ МИРЈАНА
+ИВАНОВИЋ МИРКО
+ИВАНОВИЋ МИРОСЛАВ
+ИВАНОВИЋ МИРОСЛАВ
+ИВАНОВИЋ МЛАДЕН
+ИВАНОВИЋ НЕБОЈША
+ИВАНОВИЋ НЕГОВАН
+ИВАНОВИЋ НИКОЛА
+ИВАНОВИЋ ОБРАД
+ИВАНОВИЋ ПЕТАР
+ИВАНОВИЋ ПЕТРА
+ИВАНОВИЋ РАШКО
+ИВАНОВИЋ РАДМИЛА
+ИВАНОВИЋ РАДОМИР
+ИВАНОВИЋ РАДОСЛАВ
+ИВАНОВИЋ РАДОВАН
+ИВАНОВИЋ СЕЛИМИР
+ИВАНОВИЋ СИМО
+ИВАНОВИЋ СЛОБОДАНКА
+ИВАНОВИЋ СЛОБОДАН
+ИВАНОВИЋ СЛОБОДАН
+ИВАНОВИЋ СЛОБОДАН
+ИВАНОВИЋ СЛОБОДАН
+ИВАНОВИЋ СТАМЕН
+ИВАНОВИЋ СТАНИСЛАВА
+ИВАНОВИЋ СТАНКА
+ИВАНОВИЋ СТЕВАН
+ИВАНОВИЋ СТЕВАН
+ИВАНОВИЋ СТОЈАН
+ИВАНОВИЋ ВАСИЛИЈЕ
+ИВАНОВИЋ ВЕЛИБОР
+ИВАНОВИЋ ВИТОМИР
+ИВАНОВИЋ ВЛАДА
+ИВАНОВИЋ ВЛАДА
+ИВАНОВИЋ ВОЈИСЛАВ
+ИВАНОВИЋ ВОЈИСЛАВ
+ИВАНОВИЋ ВУКОСАВА
+ИВАНОВИЋ ЗОРАН ДИПЛ ИНГ
+ИВАНОВИЋ ЗОРА
+ИВАНОВСКИ ЂОРЂЕ
+ИВАНОВСКИ БЛАГОЈЕ
+ИВАНОВСКИ ИЛИЈА
+ИВАНОВСКИ СТАНА
+ИВАТОВИЋ БРАНКО
+ИВЕГЕШ АНА
+ИВЕГЕШ ИШТВАН ДИПЛ ИНГ
+ИВЕГЕШ ЛАСЛО
+ИВЕК ВЛАДИМИР
+ИВЕТИЋ БРАНИСЛАВА
+ИВЕТИЋ БРАНИСЛАВА
+ИВЕТИЋ ДИМИТРИЈЕ
+ИВЕТИЋ ДРАГАН
+ИВЕТИЋ ЛАЗА
+ИВЕТИЋ ЉИЉАНА
+ИВЕТИЋ МИЛОЈКО
+ИВЕТИЋ РАДЕ ДР
+ИВЕТИЋ РАДЕ ДР
+ИВЕТИЋ РАДОВАН
+ИВЕТИЋ ВАСА
+ИВЕТИЋ ВЕСНА
+ИВЕЗИЋ АЛЕКСАНДАР
+ИВЕЗИЋ ДРАГО
+ИВЕЗИЋ ГОЈКО
+ИВЕЗИЋ МАРКО ДР
+ИВЕЗИЋ МИЛЕ
+ИВЕЗИЋ ЗОРАН
+ИВЕЗИЋ ЗВОНКО
+ИВИЧИЋ МИРА
+ИВИЧИЋ НАДА
+ИВИЧИЋ-ТОМИЋ БИЉАНА
+ИВИЋ БЛАГОМИР
+ИВИЋ ДЕСАНКА
+ИВИЋ ЈУЛИЈА
+ИВИЋ МЕЛИТА
+ИВИЋ МИРКО МР ПХ
+ИВИЋ ПЕТАР ДИПЛ ОЕЦ
+ИВИЋ РАДЕ
+ИВИЋ СТОЈАН
+ИВИЋ ВАСИЛИЈЕ
+ИВИЋ ВАСО
+ИВИЋ ВОЈИМИР
+ИВИЋ ЗЛАТКО
+ИВКОВ ЧЕДОМИР
+ИВКОВ ЖИВКА
+ИВКОВ ЂОРЂЕ
+ИВКОВ БОШКО
+ИВКОВ БОРИВОЈ
+ИВКОВ ДАНИЛО
+ИВКОВ ДОБРИВОЈ
+ИВКОВ ДУШАН
+ИВКОВ ИСА
+ИВКОВ ИВАН
+ИВКОВ ЈЕЛЕНА
+ИВКОВ ЈЕЛЕНА
+ИВКОВ КАТИЦА
+ИВКОВ КАТИЦА
+ИВКОВ КАТИЦА
+ИВКОВ МИЛЕНКО
+ИВКОВ МИЛИЦА
+ИВКОВ МИЛОВАН
+ИВКОВ ОЛГИЦА
+ИВКОВ ПЕТАР
+ИВКОВ РАДОСЛАВ
+ИВКОВ РАДОВАН
+ИВКОВ САВА
+ИВКОВ СЕКУЛА
+ИВКОВ СЛАВКО
+ИВКОВ СЛОБОДАН
+ИВКОВ СЛОБОДАН
+ИВКОВ СТАНА
+ИВКОВ СТАНИСЛАВА
+ИВКОВ СТЕВАН
+ИВКОВ СТЕВАН
+ИВКОВ СТЕВАН
+ИВКОВ УРОШ
+ИВКОВ ВОЈИСЛАВ
+ИВКОВИЋ ЂУРО
+ИВКОВИЋ АНТУН
+ИВКОВИЋ АРСА
+ИВКОВИЋ БОЖА
+ИВКОВИЋ БОГДАН
+ИВКОВИЋ БОРИСЛАВ
+ИВКОВИЋ БОРИСЛАВ
+ИВКОВИЋ ДЕЈАН
+ИВКОВИЋ ДИВНА
+ИВКОВИЋ ДРАГАН ДИПЛ ИНГ
+ИВКОВИЋ ДУШАН
+ИВКОВИЋ ДУШАН
+ИВКОВИЋ ДУШАН
+ИВКОВИЋ ЕСТЕРА
+ИВКОВИЋ ГУСТАВ ДР
+ИВКОВИЋ-ИВАНДЕКИЋ ДАНИЦА
+ИВКОВИЋ ЈЕЛЕНА
+ИВКОВИЋ ЈОВАН
+ИВКОВИЋ КОВИЉКА
+ИВКОВИЋ-ЛАЗАР ТАТЈАНА ДР
+ИВКОВИЋ ЛУКА
+ИВКОВИЋ МИХАЈЛО
+ИВКОВИЋ МИЛАНКА
+ИВКОВИЋ МИЛАН
+ИВКОВИЋ МИЛЕНТИЈЕ
+ИВКОВИЋ МИЛЕВА
+ИВКОВИЋ МИЛЕ
+ИВКОВИЋ МИЛИЦА
+ИВКОВИЋ МИЛОЉУБ ДИПЛ ИНГ
+ИВКОВИЋ МИЛОРАД
+ИВКОВИЋ МИЛУТИН
+ИВКОВИЋ МИРЈАНА
+ИВКОВИЋ МЛАДЕН
+ИВКОВИЋ НАТАША
+ИВКОВИЋ НАТАША
+ИВКОВИЋ НЕБОЈША
+ИВКОВИЋ НИКОЛА
+ИВКОВИЋ НИКОЛА
+ИВКОВИЋ ПЕТАР
+ИВКОВИЋ ПРЕДРАГ
+ИВКОВИЋ РАДИСАВ
+ИВКОВИЋ РАНКО
+ИВКОВИЋ СТЕВАН
+ИВКОВИЋ СТОЈАН
+ИВКОВИЋ ВЕРА
+ИВКОВИЋ ВЕРА
+ИВКОВИЋ ВЕРИЦА
+ИВКОВИЋ ВЛАДИМИР
+ИВКОВИЋ ВЛАЈКО
+ИВКОВИЋ ЗАГОРКА
+ИВКОВИЋ ЗДРАВКО
+ИВКОВИЋ ЗОРИЦА
+ИВОШ АЛЕКСАНДАР
+ИВОШ РОДОЉУБ
+ИВОШ ВОЈИСЛАВ
+ИВОШЕВ АЛЕКСАНДАР
+ИВОШЕВ ДУШАН
+ИВОШЕВ ИЛИЈА
+ИВОШЕВ КАТАРИНА
+ИВОШЕВ КОСТА
+ИВОШЕВ МАРКО
+ИВОШЕВ СЛАВКО
+ИВОШЕВ ВОЈИСЛАВ
+ИВОШЕВИЋ ЂУРО
+ИВОШЕВИЋ АЛЕКСАНДРА
+ИВОШЕВИЋ ДАНИЦА
+ИВОШЕВИЋ ГОЈКО
+ИВОШЕВИЋ МИЛАН
+ИВОШЕВИЋ МИЛЕНКО
+ИВОШЕВИЋ САВА
+ИВОШЕВИЋ СЛОБОДАН
+ИВОШЕВИЋ ЗОРАН
+ИВОВИЋ ЉУБИША
+ИВОВИЋ ПЕТАР
+ИЗБРАДИЋ СТЕВАН
+ИЗГАРЈАН МИЛИВОЈ
+ЈАШЧЕНКОВ СТАНА
+ЈАШАР ХАСАН
+ЈАШАРАГИЋ ИВАНКА
+ЈАШАРАГИЋ ЗИЈО
+ЈАШАРЕВИЋ ХУСЕИН
+ЈАШАРЕВИЋ МУХАРЕМ
+ЈАШАРЕВИЋ РАМО
+ЈАШАРЕВИЋ ВОЈИСЛАВ
+ЈАШАРИ ЏАФЕР
+ЈАШАРОВ ШАИП
+ЈАШИЋ ДЕСАНКА
+ЈАШИЋ СИНИША
+ЈАШИНСКИ РУЖА
+ЈАШО АНА
+ЈАШО ЈОЖЕФ ДР
+ЈАШО МИЛОСАВ
+ЈАШО МИРОСЛАВА
+ЈАШОВИЋ ГОЈКО
+ЈАЋЕВИЋ МИОДРАГ
+ЈАЋИМОВИЋ АЛЕКСАНДАР ЛЕКАР
+ЈАЋИМОВИЋ БОЈИН
+ЈАЋИМОВИЋ ЈОВА
+ЈАЋИМОВИЋ МИЛЕНКО
+ЈАЋИМОВИЋ МИЛОЈКО
+ЈАЋИМОВИЋ МИРЈАНА
+ЈАЋИМОВИЋ ПЕТАР
+ЈАЋИМОВИЋ СТЕВО
+ЈАЋИМОВИЋ ВОЈИСЛАВ
+ЈАЋИМОВСКИ МОЈСЕ
+ЈАБЛАНОВ ЂУКА
+ЈАБЛАНОВ ДРАГИЦА
+ЈАБЛАНОВ ИГЊАТИЈЕ
+ЈАБЛАНОВ ЈЕЛЕНА
+ЈАБЛАНОВ ЉУБОМИР
+ЈАБЛАНОВ МИЛОРАД ДИПЛ ИНГ
+ЈАБЛАНОВ ЗОРА
+ЈАБЛАНОВ ЗОРА
+ЈАБЛАНОВИЋ ДЕСАНКА
+ЈАБЛАНОВИЋ РАТКО
+ЈАЦАНОВИЋ ЖИВКА
+ЈАЦАНОВИЋ ГАБРИЈЕЛА
+ЈАЦАНОВИЋ ВЛАДИМИР
+ЈАЦИШИН АНКА
+ЈАЦИЋ ДАРИНКА
+ЈАЦИЋ ДРАГАН
+ЈАГЕР АНА
+ЈАГЕР МАРИН
+ЈАГЕР МИХАЈЛО
+ЈАГЕР ПАВАО
+ЈАГЕТИЋ АЛЕКСАНДАР
+ЈАГЕТИЋ МИЛОШ
+ЈАГЕТИЋ СТЕВАН
+ЈАГЕТИЋ ВЕЛИМИР
+ЈАГЕТИЋ ВОЈИСЛАВ
+ЈАГИЋ СЛАВИЦА
+ЈАГЛИЦА БРАНКО
+ЈАГЛИЦА СЛОБОДАН
+ЈАГЊИЋ ДРАГАН
+ЈАГОДИЋ АНЂЕЛКО
+ЈАГОДИЋ ДУШАН
+ЈАГОДИЋ МИЛИЦА
+ЈАГОДИЋ МИРОСЛАВ
+ЈАГОДИЋ ПЕТАР
+ЈАГОДИЋ РАНКО
+ЈАГОДИЋ ВЕЉКО
+ЈАГОДИЋ ВЛАДО
+ЈАГУШТ-АККАД ЛАДА
+ЈАХЈА РЕШАД
+ЈАХУРА ВУКАШИН
+ЈАЈЧАНИН БОЖО
+ЈАЈЧЕВИЋ АНГЕЛА
+ЈАЈАГИН РАДОВАН
+ЈАЈАГИН СПАСОЈЕ
+ЈАЈАГИН ЗОРИЦА
+ЈАЈИЋ ЂОРЂЕ ДР
+ЈАЈИЋ ЂОРЂЕ
+ЈАЈИЋ ДРАГАН
+ЈАЈИЋ ИЛИЈА
+ЈАЈИЋ ИВАНКА
+ЈАЈИЋ ЛАЗАР
+ЈАЈИЋ ЛЕНКА
+ЈАЈИЋ МИЛЕНА
+ЈАЈИЋ МИЛИЦА
+ЈАЈИЋ НИКОЛА
+ЈАЈИЋ САВА
+ЈАЈИЋ СТЕВАН
+ЈАЈИЋ СВЕТЛАНА
+ЈАЈИН ЛАДИСЛАВ
+ЈАЈИН МИРЈАНА
+ЈАЈИН ЗЛАТКО
+ЈАКША ПИРОШКА
+ЈАКШЕВАЦ ДРАГО
+ЈАКШИЋ ЖАРКО
+ЈАКШИЋ ЂОРЂЕ
+ЈАКШИЋ ЂОРЂЕ
+ЈАКШИЋ ЂУРА
+ЈАКШИЋ АНА
+ЈАКШИЋ БОГДАН
+ЈАКШИЋ БОГДАН
+ЈАКШИЋ БОЈАН
+ЈАКШИЋ БРАНКО
+ЈАКШИЋ ДАНЕ
+ЈАКШИЋ ДАНЕ
+ЈАКШИЋ ДАНЕ
+ЈАКШИЋ ДЕЈАН
+ЈАКШИЋ ДМИТАР
+ЈАКШИЋ ДРАГАН
+ЈАКШИЋ ДУШАНКА
+ЈАКШИЋ ДУШАНКА
+ЈАКШИЋ ДУШАН
+ЈАКШИЋ ДУШАН
+ЈАКШИЋ ДУШАН
+ЈАКШИЋ ДУШАН
+ЈАКШИЋ ДУШАН
+ЈАКШИЋ ДУШКО
+ЈАКШИЋ ЕМИЛ
+ЈАКШИЋ ИЛИЈА
+ЈАКШИЋ ИЛИЈА
+ЈАКШИЋ ИВИЦА
+ЈАКШИЋ ИВИЦА
+ЈАКШИЋ ЈАДРАНКА
+ЈАКШИЋ ЈАСМИНКА
+ЈАКШИЋ ЈЕЛЕНА
+ЈАКШИЋ ЈОВАНКА
+ЈАКШИЋ ЈОВАН
+ЈАКШИЋ ЈОВАН
+ЈАКШИЋ КАТИЦА
+ЈАКШИЋ ЉИЉА
+ЈАКШИЋ ЉУБИСАВ
+ЈАКШИЋ ЉУБОМИР
+ЈАКШИЋ ЉУБОМИР
+ЈАКШИЋ ЉУБОМИР
+ЈАКШИЋ ЉУБОМИР
+ЈАКШИЋ МАРКО
+ЈАКШИЋ МАРКО
+ЈАКШИЋ МАРКО
+ЈАКШИЋ МИЈАТ
+ЈАКШИЋ МИЛАН
+ЈАКШИЋ МИЛАН
+ЈАКШИЋ МИЛЕНКО
+ЈАКШИЋ МИЛЕВА
+ЈАКШИЋ МИЛОШ
+ЈАКШИЋ МИЛОРАД
+ЈАКШИЋ МИЛОРАД
+ЈАКШИЋ МИОДРАГ
+ЈАКШИЋ МИРКО
+ЈАКШИЋ НЕБОЈША
+ЈАКШИЋ НЕДЕЉКО
+ЈАКШИЋ НЕНАД
+ЈАКШИЋ ПАВЛЕ
+ЈАКШИЋ ПАВЛЕ
+ЈАКШИЋ ПЕТАР
+ЈАКШИЋ ПЕТАР
+ЈАКШИЋ-ПРОВЧИ БРАНКА
+ЈАКШИЋ РАДЕНКО
+ЈАКШИЋ РАДЕ
+ЈАКШИЋ РАДЕ
+ЈАКШИЋ РАДИША
+ЈАКШИЋ РАДОЈКО
+ЈАКШИЋ РАДОВАН
+ЈАКШИЋ РАДУН
+ЈАКШИЋ РИСТО
+ЈАКШИЋ РОСА
+ЈАКШИЋ РУЖИЦА
+ЈАКШИЋ РУЖИЦА
+ЈАКШИЋ САВА
+ЈАКШИЋ СЛОБОДАН
+ЈАКШИЋ СМИЉА
+ЈАКШИЋ СТЕВАН
+ЈАКШИЋ СВЕТКО
+ЈАКШИЋ СВЕТЛАНА ДИПЛ ПХ
+ЈАКШИЋ ТОМИСЛАВ
+ЈАКШИЋ ВАСИЛИЈЕ
+ЈАКШИЋ ВЕЛИМИР
+ЈАКШИЋ ВЕРА
+ЈАКШИЋ ВЛАДА
+ЈАКШИЋ ВЛАДИМИР
+ЈАКШИЋ ВОЈИСЛАВ
+ЈАКАБ ДЕЖЕ
+ЈАКАБ ЈОЖЕФ
+ЈАКАБ ПАВЕЛ
+ЈАКЕШЕВИЋ ДРАГАН
+ЈАКЕШЕВИЋ НИКО
+ЈАКИША ИШТВАН
+ЈАКИЋ ЂОРЂЕ
+ЈАКИЋ ДАНИЦА
+ЈАКИЋ ДАРА
+ЈАКИЋ ДЕСАНКА
+ЈАКИЋ МИЛАНКА
+ЈАКИЋ МИОДРАГ
+ЈАКИЋ НИКОЛА
+ЈАКИЋ СТЕВАН
+ЈАКИЋ ВИДА
+ЈАКИЦА ЧЕДО
+ЈАКИЦА ИЛИЈА
+ЈАКИМОВ СЛАВКО ДР ЛЕКАР
+ЈАКИМОВА-ГАЗЕПОВА ЈУЛКА ДР
+ЈАКИМОВСКИ БЛАГОЈ
+ЈАКИМОВСКИ БОГОСЛАВ
+ЈАКИМОВСКИ БОРКО
+ЈАКИМОВСКИ ДАНЕ
+ЈАКЛИЋ ИВАН
+ЈАКОБ ЈОШКА
+ЈАКОБ ЈОЖЕФ
+ЈАКОБ ЛАЈОШ
+ЈАКОБАЦ ЂУРЂИЦА
+ЈАКОБИ БОРИС
+ЈАКОБИ ТАТЈАНА
+ЈАКОБИ ВИЛМОШ
+ЈАКОБОВИЋ ФРАЊО
+ЈАКОБС ИШТВАН
+ЈАКОНИЋ ДРАГОСЛАВ ДР
+ЈАКОНИЋ ЈАСМИНА
+ЈАКОНИЋ МИЛАН ДИПЛ ОЕЦ
+ЈАКОНИЋ РАДМИЛА
+ЈАКОПЧЕВИЋ БРАНКА
+ЈАКОПОВИЋ БРАНИСЛАВА
+ЈАКОПОВИЋ МИРОСЛАВ
+ЈАКОПОВИЋ ВЛАДИМИР
+ЈАКОТИН ЖИВКО
+ЈАКОТИН КОСТА
+ЈАКОТИН ПЛЕМЕНКА
+ЈАКОВ САЛАМУН
+ЈАКОВАЦ ИВАН
+ЈАКОВИЋ РАДЕ
+ЈАКОВЉЕВ ЖАРКО
+ЈАКОВЉЕВ ЂУРА
+ЈАКОВЉЕВ ЂУРИЦА
+ЈАКОВЉЕВ АЛЕКСЕЈ
+ЈАКОВЉЕВ ДАНИЦА
+ЈАКОВЉЕВ ДРАГАН
+ЈАКОВЉЕВ ДУШАН
+ЈАКОВЉЕВ ИВАН
+ЈАКОВЉЕВ ЈЕФРЕМ
+ЈАКОВЉЕВ КАТА
+ЈАКОВЉЕВ КОСТА
+ЈАКОВЉЕВ КРИСТИФОР
+ЈАКОВЉЕВ МАРИНА
+ЈАКОВЉЕВ МИЛОШ
+ЈАКОВЉЕВ МИЛОШ
+ЈАКОВЉЕВ МИРОСЛАВ
+ЈАКОВЉЕВ РАДОВАН
+ЈАКОВЉЕВ СЛОБОДАН
+ЈАКОВЉЕВ СВЕТОЗАР
+ЈАКОВЉЕВ ВЛАДА
+ЈАКОВЉЕВ ЗЛАТОЈЕ
+ЈАКОВЉЕВИЋ ЖИВАН
+ЈАКОВЉЕВИЋ ЖИВОРАД
+ЈАКОВЉЕВИЋ ЂОРЂЕ
+ЈАКОВЉЕВИЋ ЂОРЂО
+ЈАКОВЉЕВИЋ ЂУРЂИНКА
+ЈАКОВЉЕВИЋ АЛЕКСАНДАР
+ЈАКОВЉЕВИЋ АНА
+ЈАКОВЉЕВИЋ БОЖАНА
+ЈАКОВЉЕВИЋ БОГДАН
+ЈАКОВЉЕВИЋ БОРИША
+ЈАКОВЉЕВИЋ БРАНКА
+ЈАКОВЉЕВИЋ ДАМЈАН
+ЈАКОВЉЕВИЋ ДАМЈАН
+ЈАКОВЉЕВИЋ ДИВНА
+ЈАКОВЉЕВИЋ ДРАГАН
+ЈАКОВЉЕВИЋ ДРАГОСЛАВ
+ЈАКОВЉЕВИЋ ЕМИЛИЈА
+ЈАКОВЉЕВИЋ ГОЈКО
+ЈАКОВЉЕВИЋ ГРОЗДАНА
+ЈАКОВЉЕВИЋ ИГЊАТ
+ЈАКОВЉЕВИЋ ЈАЊА
+ЈАКОВЉЕВИЋ ЈОСО
+ЈАКОВЉЕВИЋ ЈОВАН
+ЈАКОВЉЕВИЋ ЈОВАН
+ЈАКОВЉЕВИЋ ЈОВО
+ЈАКОВЉЕВИЋ ЈОВО
+ЈАКОВЉЕВИЋ ЛАЗАР
+ЈАКОВЉЕВИЋ ЉИЉАНА
+ЈАКОВЉЕВИЋ ЉУБИНКО
+ЈАКОВЉЕВИЋ ЛУКА
+ЈАКОВЉЕВИЋ МАРКО
+ЈАКОВЉЕВИЋ МИЛАНА
+ЈАКОВЉЕВИЋ МИЛАН
+ЈАКОВЉЕВИЋ МИЛАН
+ЈАКОВЉЕВИЋ МИЛЕНА
+ЈАКОВЉЕВИЋ МИЛИЋ
+ЈАКОВЉЕВИЋ МИЛИЦА
+ЈАКОВЉЕВИЋ МИЛИЦА
+ЈАКОВЉЕВИЋ МИЛИВОЈ МР ПХ
+ЈАКОВЉЕВИЋ МИЉАНА
+ЈАКОВЉЕВИЋ МИЛОШ
+ЈАКОВЉЕВИЋ МИЛОВАН
+ЈАКОВЉЕВИЋ МИЛУТИН
+ЈАКОВЉЕВИЋ МИРЈАНА
+ЈАКОВЉЕВИЋ МИРКО
+ЈАКОВЉЕВИЋ МИРОСЛАВ
+ЈАКОВЉЕВИЋ МИТА
+ЈАКОВЉЕВИЋ НИКОЛА
+ЈАКОВЉЕВИЋ ОБРАД
+ЈАКОВЉЕВИЋ ПАЈА
+ЈАКОВЉЕВИЋ РАДИША
+ЈАКОВЉЕВИЋ РАДИВОЈ
+ЈАКОВЉЕВИЋ РАДОЈКО
+ЈАКОВЉЕВИЋ САВА
+ЈАКОВЉЕВИЋ СИМО
+ЈАКОВЉЕВИЋ СЛОБОДАН
+ЈАКОВЉЕВИЋ СОЊА
+ЈАКОВЉЕВИЋ СТЕВАН
+ЈАКОВЉЕВИЋ ТАТЈАНА
+ЈАКОВЉЕВИЋ ВАСА
+ЈАКОВЉЕВИЋ ВАСА
+ЈАКОВЉЕВИЋ ВАСИЛИЈЕ
+ЈАКОВЉЕВИЋ ВИКТОР
+ЈАКОВЉЕВИЋ ВИКТОР
+ЈАКОВЉЕВИЋ ВИКТОР
+ЈАКОВЉЕВИЋ ЗДРАВКО
+ЈАКОВОВИЋ ДУШАН
+ЈАКУШ МИРЈАНА
+ЈАКУБЕЦ ЂУРА
+ЈАКУБЕЦ ЛАДИСЛАВ
+ЈАМА НАДА
+ЈАМБОР АНДРЕА
+ЈАМБОР ДАНИЕЛА
+ЈАМБОР ИМРЕ
+ЈАМБОР МИХАЉ
+ЈАМБРУШИЋ ФРАЊО
+ЈАМИНА МИЛОВАН
+ЈАМИНА РАТКО
+ЈАМРИК ЂОРЂЕ
+ЈАМРИК ЈЕЛЕНА
+ЈАМРИК ЉУБИЦА
+ЈАМРИК ОТО
+ЈАНЧА ДЕЈАН ДР
+ЈАНЧА КОСТА ДР
+ЈАНЧА ЉУБИЦА
+ЈАНЧИЋ БИЉАНА
+ЈАНЧИЋ БОЖАНА
+ЈАНЧИЋ БОГДАН
+ЈАНЧИЋ ДИМИТРИЈЕ
+ЈАНЧИЋ ДРАГИЊА
+ЈАНЧИЋ ДРАГОСЛАВА
+ЈАНЧИЋ ДРАГОСЛАВ
+ЈАНЧИЋ ДУШАН
+ЈАНЧИЋ ДУШАН
+ЈАНЧИЋ ГОРДАНА
+ЈАНЧИЋ ГОРИЦА
+ЈАНЧИЋ ЈЕРОСИМ
+ЈАНЧИЋ ЉУБИЦА
+ЈАНЧИЋ МИЛОШ
+ЈАНЧИЋ МИРОСЛАВ
+ЈАНЧИЋ МЛАДЕН
+ЈАНЧИЋ НИКОЛА
+ЈАНЧИЋ ПЕРА
+ЈАНЧИЋ ПЕТАР
+ЈАНЧИЋ РАДОВАН
+ЈАНЧИЋ САВА
+ЈАНЧИЋ СВЕТИСЛАВ
+ЈАНЧИЋ СВЕТИСЛАВ
+ЈАНЧИЋ ТИХОМИР
+ЈАНЧИЋ ТИНКА
+ЈАНЧИЋ ВЕЛИБОР
+ЈАНЧИЋ ВИНКА
+ЈАНЧИЋ ВЛАДИМИР
+ЈАНЧИЋ ВЛАСТА
+ЈАНЧУРИЋ АЛЕКСАНДАР
+ЈАНЧУРИЋ ДАРИНКА
+ЈАНЧУРИЋ ДУШАН
+ЈАНЧУРИЋ ЈОВАН
+ЈАНЧУРИЋ ЛАЗАР
+ЈАНЧУРИЋ ЛЕНКА
+ЈАНЧУРИЋ МИРЈАНА
+ЈАНЧУРИЋ САВА
+ЈАНЖЕКОВИЋ МИЛЕВКА
+ЈАНЖЕКОВИЋ ОЛГА
+ЈАНЖЕЉ АНТОН
+ЈАНАЧЕК ЂОРЂЕ
+ЈАНАЧЕК КАТИЦА
+ЈАНАЧКОВИЋ СТОИЛ
+ЈАНАЋ ЈАНОШ
+ЈАНАЋ КАРОЉ
+ЈАНЦИЋ БЛАГОЈЕ
+ЈАНЦИЋ ПРЕДРАГ
+ЈАНДРИЋ ЂУРИЦА
+ЈАНДРИЋ БОГДАН
+ЈАНДРИЋ ЈАНДРИЈА
+ЈАНДРИЋ МАРИНКО
+ЈАНДРИЋ МАРКО
+ЈАНДРИЋ МАРКО
+ЈАНДРИЋ МИЋО
+ЈАНДРИЋ МИЛЕНА
+ЈАНДРИЋ МИЛИНА
+ЈАНДРИЋ МИЛКА
+ЈАНДРИЋ МИЛОРАД
+ЈАНДРИЋ МИЛОРАД
+ЈАНДРИЋ МИРОСЛАВ
+ЈАНДРИЋ МИРОСЛАВ
+ЈАНДРИЋ МИТАР
+ЈАНДРИЋ МОМЧИЛО
+ЈАНДРИЋ НЕДЕЉКО
+ЈАНДРИЋ РАДОВАН
+ЈАНДРИЋ РАТКО
+ЈАНДРИЋ РИСТО
+ЈАНДРИЋ СИМО
+ЈАНДРИЋ СЛОБОДАН
+ЈАНДРИЋ СРЕТЕН
+ЈАНДРИЋ СТАНКО
+ЈАНДРИЋ СТАНКО
+ЈАНДРИЋ СТАНКО
+ЈАНДРИЋ УГЉЕША
+ЈАНДРИЋ ВИДА
+ЈАНДРИЋ ВИНКА
+ЈАНДРИЋ ЗОРАН
+ЈАНДРИЋ ЗОРАН
+ЈАНЕШ НЕВЕН
+ЈАНЕГА СНЕЖАНА
+ЈАНЕВ БЛАГОЈЕ ДИПЛ ИНГ
+ЈАНЕВСКИ АЛЕКСАНДАР
+ЈАНИЧИЋ БЛАЖО
+ЈАНИЧИЋ БОЖА
+ЈАНИЧИЋ ЈЕЛЕНА
+ЈАНИЧИЋ МИЛЕВА
+ЈАНИЧИЋ МИРКО
+ЈАНИЧИЋ РАДОЈИЦА
+ЈАНИЧИЋ СТЕВО
+ЈАНИЋ ЧАСЛАВ ДИПЛ ИНГ
+ЈАНИЋ ЖИВОРАД
+ЈАНИЋ АЛЕКСАНДАР
+ЈАНИЋ АНЂЕЛКО
+ЈАНИЋ ДУШАН
+ЈАНИЋ ДУШКО
+ЈАНИЋ-ХИЛТ ГОРДАНА
+ЈАНИЋ ИРЕНА
+ЈАНИЋ ИВАН ДР
+ЈАНИЋ МИЛИСАВ
+ЈАНИЋ НАДА
+ЈАНИЋ РАДОЈКА
+ЈАНИЋ СЛОБОДАН
+ЈАНИЋ ВЛАДИМИР
+ЈАНИЋИЈЕВИЋ МИЛЕНКО
+ЈАНИЋИЈЕВИЋ МИЛОШ
+ЈАНИЋИЈЕВИЋ МИРКО
+ЈАНИЋИЈЕВИЋ МОМЧИЛО
+ЈАНИЋИЈЕВИЋ НАДЕЖДА
+ЈАНИЋИЈЕВИЋ ОЗРЕНКА
+ЈАНИЋИЈЕВИЋ РАТКО
+ЈАНИЋИЈЕВИЋ СОФИЈА
+ЈАНИЋИЈЕВИЋ ВИТОМИР
+ЈАНИЋИН АНГЕЛИНА
+ЈАНИЋИН ИЛИЈА
+ЈАНИЦКИ СТАНИМИР
+ЈАНИК ФЕРЕНЦ
+ЈАЊАНИН БРАНКО
+ЈАЊАНИН СИМО
+ЈАЊАТОВИЋ ДЕЈАН
+ЈАЊАТОВИЋ ГОРИЦА
+ЈАЊАТОВИЋ МАНЕ
+ЈАЊАТОВИЋ МИЛАН
+ЈАЊАТОВИЋ МИРКО
+ЈАЊАТОВИЋ НЕДЕЉКО
+ЈАЊАТОВИЋ НИКОЛА
+ЈАЊАТОВИЋ СЛАВИЦА
+ЈАЊАТОВИЋ СЛАВИЦА
+ЈАЊАТОВИЋ ВЕРА
+ЈАЊЕТОВ РАДА
+ЈАЊЕТОВИЋ БРАНКО
+ЈАЊЕТОВИЋ НЕБОЈША
+ЈАЊЕТОВИЋ СЛАВИЦА
+ЈАЊЕТОВИЋ СЛОБОДАН
+ЈАЊЕВИЋ ДРАГОСЛАВ
+ЈАЊЕВИЋ КСЕНИЈА
+ЈАЊЕВИЋ ЗОРАН
+ЈАЊЕВИЋ ЗОРАН
+ЈАЊИЧИЋ СИМО
+ЈАЊИШ ЈЕЛИЦА
+ЈАЊИЋ ЧЕДОМИР
+ЈАЊИЋ ЖЕЉКО
+ЈАЊИЋ ЖИВКА
+ЈАЊИЋ ЖИВКО
+ЈАЊИЋ ЂОРЂЕ ДР
+ЈАЊИЋ БОШКО
+ЈАЊИЋ ДАНИЦА
+ЈАЊИЋ ДРАГОМИР ДИПЛ ОЕЦ
+ЈАЊИЋ ИЛИЈА
+ЈАЊИЋ ЈЕЛА
+ЈАЊИЋ ЈЕВРЕМ
+ЈАЊИЋ ЈЕВТО
+ЈАЊИЋ ЈОВАН
+ЈАЊИЋ ЈОВО
+ЈАЊИЋ ЈОВО
+ЈАЊИЋ ЈОВО
+ЈАЊИЋ КСЕНИЈА
+ЈАЊИЋ ЉУБОМИР
+ЈАЊИЋ ЛУКА
+ЈАЊИЋ МАРИЈА
+ЈАЊИЋ МАРКО
+ЈАЊИЋ МИЛИЦА
+ЈАЊИЋ МИЛИВОЈ
+ЈАЊИЋ МИЛКА
+ЈАЊИЋ МИЛОМИР
+ЈАЊИЋ МЛАДЕН
+ЈАЊИЋ НАТАША
+ЈАЊИЋ НЕБОЈША
+ЈАЊИЋ РАДОВАН
+ЈАЊИЋ САВО
+ЈАЊИЋ СТЕВАН
+ЈАЊИЋ ВИТОМИР
+ЈАЊИЋ ВОЈИСЛАВ МР
+ЈАЊИЋ ВОЈКО
+ЈАЊИЋ ВУКОТА
+ЈАЊИН БОГОЉУБ
+ЈАЊИН ДАМЈАН
+ЈАЊИН ЛАЗАР
+ЈАЊИН МИЛИВОЈ
+ЈАЊИН РАДИВОЈ
+ЈАЊИН СНЕЖАНА
+ЈАЊОШ ЗОРАН
+ЈАЊОШЕВИЋ БРАНИСЛАВ
+ЈАЊОШЕВИЋ МИЛИЦА
+ЈАЊОШЕВИЋ СТЕВАНКА
+ЈАЊУШЕВИЋ БОСИЉКА
+ЈАЊУШЕВИЋ ГОЈКО
+ЈАЊУШЕВИЋ ЈОКИЦА
+ЈАЊУШЕВИЋ МИРА
+ЈАЊУШЕВИЋ НЕДЕЉКО
+ЈАЊУШЕВИЋ НЕДЕЉКО
+ЈАЊУШЕВИЋ СТОЈАН
+ЈАНКА ШАНДОР
+ЈАНКА ИВАН
+ЈАНКАЊ ВЛАДО
+ЈАНКИЋ КРИСТИНА
+ЈАНКО ЈАНОШ
+ЈАНКОВ БОРИСЛАВ
+ЈАНКОВ БОРИСЛАВ
+ЈАНКОВ БОРИСЛАВ
+ЈАНКОВ БРАНИСЛАВ
+ЈАНКОВ ДРАГИЦА
+ЈАНКОВ ДУШАН
+ЈАНКОВ ИВАН
+ЈАНКОВ ЈЕЛИЦА
+ЈАНКОВ ЈОВАН
+ЈАНКОВ ЈОВИЦА
+ЈАНКОВ МИЛАН
+ЈАНКОВ МИЛИЈАНА
+ЈАНКОВ МИОМИР
+ЈАНКОВ МИТА
+ЈАНКОВ МИТКО
+ЈАНКОВ НАДА
+ЈАНКОВ НЕДЕЉКО
+ЈАНКОВ НИКОЛА
+ЈАНКОВ НИКОЛА
+ЈАНКОВ НОВКА
+ЈАНКОВ ПРЕДРАГ
+ЈАНКОВ РАДИВОЈ
+ЈАНКОВ РАДОСЛАВА
+ЈАНКОВ РАНЂЕЛ
+ЈАНКОВ СЛОБОДАН
+ЈАНКОВ СЛОБОДАН
+ЈАНКОВ СМИЉКА
+ЈАНКОВ СПАСОЈА
+ЈАНКОВ СРЕДОЈЕ
+ЈАНКОВ ТИХОМИР
+ЈАНКОВ ВЕРА
+ЈАНКОВ ЗАГОРКА ДР
+ЈАНКОВИЋ ЧАСЛАВ
+ЈАНКОВИЋ ЧЕДО
+ЈАНКОВИЋ ЧЕДО
+ЈАНКОВИЋ ЖАРКО ДИПЛ ИНГ
+ЈАНКОВИЋ ЖАРКО
+ЈАНКОВИЋ ЖИВКО
+ЈАНКОВИЋ ЖИВОРАД
+ЈАНКОВИЋ ЖИВОРАД
+ЈАНКОВИЋ ЖИВОРАД
+ЈАНКОВИЋ ЂОРЂЕ
+ЈАНКОВИЋ ЂОРЂЕ
+ЈАНКОВИЋ ЂУРЂИЦА
+ЈАНКОВИЋ ЂУРА
+ЈАНКОВИЋ АЛЕКСАНДАР
+ЈАНКОВИЋ АЛЕКСАНДАР
+ЈАНКОВИЋ АНА
+ЈАНКОВИЋ АНИЦА
+ЈАНКОВИЋ АНКА
+ЈАНКОВИЋ БОШКО
+ЈАНКОВИЋ БОШКО
+ЈАНКОВИЋ БОЖИДАР
+ЈАНКОВИЋ БОЖИДАР
+ЈАНКОВИЋ БОЖО
+ЈАНКОВИЋ БОГОЉУБ
+ЈАНКОВИЋ БОРИВОЈ ДР ЛЕКАР
+ЈАНКОВИЋ БРАНКО
+ЈАНКОВИЋ БРАТИСЛАВ
+ЈАНКОВИЋ ДАРА
+ЈАНКОВИЋ ДИМИТРИЈЕ
+ЈАНКОВИЋ ДИМИТРИЈЕ
+ЈАНКОВИЋ ДИМИТРИЈЕ
+ЈАНКОВИЋ ДОБРИВОЈЕ
+ЈАНКОВИЋ ДОБРИВОЈ
+ЈАНКОВИЋ ДРАГАНА
+ЈАНКОВИЋ ДРАГАН
+ЈАНКОВИЋ ДРАГАН
+ЈАНКОВИЋ ДРАГАН
+ЈАНКОВИЋ ДРАГИЊА
+ЈАНКОВИЋ ДРАГОМИР
+ЈАНКОВИЋ ДРАГОСЛАВ
+ЈАНКОВИЋ ДУШАНКА
+ЈАНКОВИЋ ДУШАН
+ЈАНКОВИЋ ДУШАН
+ЈАНКОВИЋ ДУШИЦА
+ЈАНКОВИЋ ГОРДАНА
+ЈАНКОВИЋ ГОРДАНА
+ЈАНКОВИЋ ХРИСТИВОЈЕ
+ЈАНКОВИЋ ИГЊАТ
+ЈАНКОВИЋ ЈЕЛИЦА
+ЈАНКОВИЋ ЈОРДАН
+ЈАНКОВИЋ ЈОВАН
+ЈАНКОВИЋ ЈОВАН
+ЈАНКОВИЋ ЈОВАН
+ЈАНКОВИЋ ЈОВАН
+ЈАНКОВИЋ ЈУЛИЈАНА
+ЈАНКОВИЋ КАЛМАН ДИПЛ ИНГ
+ЈАНКОВИЋ КАЛМАН
+ЈАНКОВИЋ КАТИЦА
+ЈАНКОВИЋ КОВИЉКА
+ЈАНКОВИЋ КРСТА
+ЈАНКОВИЋ-КУЗМАНЧЕВ ОЛИВЕРА
+ЈАНКОВИЋ ЛАСЛО
+ЈАНКОВИЋ ЛАСЛО
+ЈАНКОВИЋ ЛАЗАР
+ЈАНКОВИЋ ЛАЗАР
+ЈАНКОВИЋ ЉИЉАНА
+ЈАНКОВИЋ ЉУБИЦА
+ЈАНКОВИЋ ЉУБИЦА
+ЈАНКОВИЋ ЉУБИЦА
+ЈАНКОВИЋ ЉУБОМИР
+ЈАНКОВИЋ МАРА
+ЈАНКОВИЋ МАРИЈАН
+ЈАНКОВИЋ МАРИЈА
+ЈАНКОВИЋ МАРИЈА
+ЈАНКОВИЋ МАРИЈА
+ЈАНКОВИЋ МАРИЈА
+ЈАНКОВИЋ МАРИНА
+ЈАНКОВИЋ МАРКО
+ЈАНКОВИЋ МЕЛАНИЈА
+ЈАНКОВИЋ МИЋА
+ЈАНКОВИЋ МИЋА
+ЈАНКОВИЋ МИЛАН
+ЈАНКОВИЋ МИЛЕНА
+ЈАНКОВИЋ МИЛЕНКО
+ЈАНКОВИЋ МИЛЕНКО
+ЈАНКОВИЋ МИЛИЦА
+ЈАНКОВИЋ МИЛИЦА
+ЈАНКОВИЋ МИЛИЈАНА
+ЈАНКОВИЋ МИЛИНКО
+ЈАНКОВИЋ МИЛИСАВ
+ЈАНКОВИЋ МИЛИВОЈЕ
+ЈАНКОВИЋ МИЛОЈЕ
+ЈАНКОВИЋ МИЛОЈИЦА
+ЈАНКОВИЋ МИЛОМИР
+ЈАНКОВИЋ МИЛОРАД
+ЈАНКОВИЋ МИЛОРАД
+ЈАНКОВИЋ МИЛОРАД
+ЈАНКОВИЋ МИЛОСАВ
+ЈАНКОВИЋ МИЛОСАВ
+ЈАНКОВИЋ МИЛОСАВ
+ЈАНКОВИЋ МИЛУТИН
+ЈАНКОВИЋ МИЛУТИН
+ЈАНКОВИЋ МИЛУТИН
+ЈАНКОВИЋ МИЛУТИН
+ЈАНКОВИЋ МИРЈАНА
+ЈАНКОВИЋ МИРОЉУБ
+ЈАНКОВИЋ МИТАР
+ЈАНКОВИЋ МЛАДЕН
+ЈАНКОВИЋ-МРКИЋ ЗОРА ДИПЛ ИНГ
+ЈАНКОВИЋ НАДА
+ЈАНКОВИЋ НАДА
+ЈАНКОВИЋ НАСТА
+ЈАНКОВИЋ НЕНАД
+ЈАНКОВИЋ НИКОЛА
+ЈАНКОВИЋ ОБРАД
+ЈАНКОВИЋ ПАВЛЕ
+ЈАНКОВИЋ ПАВЛЕ
+ЈАНКОВИЋ ПАВЛЕ
+ЈАНКОВИЋ ПЕТАР
+ЈАНКОВИЋ ПЕТАР
+ЈАНКОВИЋ ПЕТАР
+ЈАНКОВИЋ ПРВОСЛАВ
+ЈАНКОВИЋ ПРВОСЛАВ
+ЈАНКОВИЋ РАДИВОЈЕ
+ЈАНКОВИЋ РАДОМИР
+ЈАНКОВИЋ РАДОСЛАВ
+ЈАНКОВИЋ РАДОСЛАВ
+ЈАНКОВИЋ РАДОВАН
+ЈАНКОВИЋ РАЈКО
+ЈАНКОВИЋ РАЈКО
+ЈАНКОВИЋ РАНКО
+ЈАНКОВИЋ РАТКО
+ЈАНКОВИЋ РОСА
+ЈАНКОВИЋ РУЖА
+ЈАНКОВИЋ СЛАВИЦА
+ЈАНКОВИЋ СЛАВКО
+ЈАНКОВИЋ СЛАВКО
+ЈАНКОВИЋ СЛОБОДАН
+ЈАНКОВИЋ СЛОБОДАН
+ЈАНКОВИЋ СЛОБОДАН
+ЈАНКОВИЋ СЛОБОДАН
+ЈАНКОВИЋ СОФИЈА
+ЈАНКОВИЋ СПАСА
+ЈАНКОВИЋ СПАСОЈЕ
+ЈАНКОВИЋ СПОМЕНКА
+ЈАНКОВИЋ СРБОЉУБ
+ЈАНКОВИЋ СТАНКО
+ЈАНКОВИЋ СТЕВАН
+ЈАНКОВИЋ СТЕВАН
+ЈАНКОВИЋ СТЕВАН
+ЈАНКОВИЋ СТОЈАНКА
+ЈАНКОВИЋ СВЕТИСЛАВ
+ЈАНКОВИЋ СВЕТОЗАР
+ЈАНКОВИЋ ТИБОР
+ЈАНКОВИЋ ТОДОР
+ЈАНКОВИЋ ТОДОР
+ЈАНКОВИЋ ТОДОР
+ЈАНКОВИЋ ВЕСНА
+ЈАНКОВИЋ ВИТОМИР
+ЈАНКОВИЋ ВИТОМИР
+ЈАНКОВИЋ ВЛАДИМИР
+ЈАНКОВИЋ ВУКИЋ
+ЈАНКОВИЋ ВУКИЦА
+ЈАНКОВИЋ ВУКОМАН
+ЈАНКОВИЋ ЗЛАТОЈЕ
+ЈАНКОВИЋ ЗОЛТАН
+ЈАНКОВИЋ ЗОРАН
+ЈАНКОВИЋ ЗОРАН
+ЈАНКОВИЋ ЗОРИЦА
+ЈАНКОВИЋ ЗОРИЦА
+ЈАНКОВИЋ ЗОРИЦА
+ЈАНКОВИЋ ЗОРКА
+ЈАНКУЛОВ ДАНИЦА
+ЈАНКУЛОВ-ДЕМЈЕН МАЈА
+ЈАНКУЛОВ ДРАГИША МР ПХ
+ЈАНКУЛОВ СТЕВАН
+ЈАНКУЛОВСКИ МАРИЈА
+ЈАНКУЛОВСКИ ПЕТАР
+ЈАНО ЈУЛИЈА
+ЈАНОШЕВ БИСЕРКА
+ЈАНОШЕВ ДРАГИЦА
+ЈАНОШЕВ ЉИЉАНА
+ЈАНОШЕВ МИЛАН
+ЈАНОШЕВ МИЛЕНА
+ЈАНОШЕВ МИЛЕНКО
+ЈАНОШЕВИЋ РАДИВОЈ
+ЈАНОШИ ФРАНЦИШКА
+ЈАНОШИ ИЛОНА
+ЈАНОШИ КАРЛО
+ЈАНОШИ ЛАСЛО
+ЈАНОШИ МАРГИТА
+ЈАНОШИ МИХАЉ
+ЈАНОШИ МИХАЉ
+ЈАНОШИ ТЕРЕЗА
+ЈАНОШИ ЗОЛТАН
+ЈАНОВАЦ ЖИВОЈИН
+ЈАНОВИЋ ЉИЉА
+ЈАНУШКО ИШТВАН
+ЈАНУС МИЛКА
+ЈАНУС ВОИСЛАВ
+ЈАНУЗОВИЋ ДУШАНКА
+ЈАНУЗОВИЋ ЈОЛАН
+ЈАНУЗОВИЋ МИЛОВАН
+ЈАНУЗОВИЋ МИРАЉУБ
+ЈАНУЗОВИЋ НОВИЦА ДР
+ЈАНУЗОВИЋ СЛОБОДАН
+ЈАНУЗОВИЋ СВЕТЛАНА
+ЈАПУНЏА ЛАЗА
+ЈАПУНЏИЋ ЂОРЂЕ
+ЈАПУНЏИЋ ГОРДАНА
+ЈАПУНЏИЋ МИРКО
+ЈАПУНЏИЋ НИКОЛА
+ЈАПУНЏИЋ НИКОЛА
+ЈАПУНЏИЋ НИКОЛА
+ЈАПУНЏИЋ САВА
+ЈАРАК ИВАН
+ЈАРАМАЗ ДИЈАНА
+ЈАРАМАЗ МИЛОВАН
+ЈАРАМАЗ НИКОЛА
+ЈАРЦ АНГЕЛ
+ЈАРИ ПРОКА
+ЈАРИЋ ЧЕДОМИР
+ЈАРИЋ АЛЕКСАНДАР
+ЈАРИЋ АВДО
+ЈАРИЋ БОЈАН
+ЈАРИЋ БРАНКО
+ЈАРИЋ ДАНИЕЛА
+ЈАРИЋ ДЕСАНКА
+ЈАРИЋ ДРАГАНА
+ЈАРИЋ ДРАГАН
+ЈАРИЋ ДУШАН ДР
+ЈАРИЋ КРИСТИНА
+ЈАРИЋ КРИСТИНА
+ЈАРИЋ ЉИЉАНА
+ЈАРИЋ ЉИЉАНА
+ЈАРИЋ МАРИЈА
+ЈАРИЋ МАРИЈА
+ЈАРИЋ МИЛАН
+ЈАРИЋ МИЛАН
+ЈАРИЋ МИЛОЈКО
+ЈАРИЋ МИРА
+ЈАРИЋ СЛОБОДАН
+ЈАРИЋ ЗОРАН
+ЈАРМИНАЦ БРАНКО
+ЈАРОШЕНКО КАТАРИНА
+ЈАРОШЕВСКИ АНТОН
+ЈАРОШЕВСКИ ИВИЦА
+ЈАРОШЕВСКИ ПАВЕЛ
+ЈАСЕНОВСКИ АНА
+ЈАСИЋ ДИВНА
+ЈАСИЋ ЈАНКО
+ЈАСИЋ МАНДА
+ЈАСИЋ МИРКО
+ЈАСИЋ ВЕРИЦА
+ЈАСИКА РУЖА
+ЈАСИКА СТОЈАНКА
+ЈАСИКИЋ МИЛОРАД
+ЈАСМИНОВИЋ ЈАМИН
+ЈАСНИЋ МИЛАН ДР ЛЕКАР
+ЈАСНИЋ МИЛАН
+ЈАСНИЋ МИЛОМИРКА
+ЈАСНИЋ СИНИША
+ЈАСНИГЕР АЛЕКСАНДАР
+ЈАТИЋ АНЂЕЛИЈА
+ЈАТИЋ ДРАГАН
+ЈАТИЋ ГРАДИМИР
+ЈАТИЋ СТЕВАН
+ЈАУКОВИЋ ДРАГИША
+ЈАУКОВИЋ ПЕЈКА
+ЈАУС ВАЛТЕР
+ЈАВНИ ПЕТАР
+ЈАВОРАН ИВАН
+ЈАВОРИНА ЂУРА
+ЈАВОРИНА ЉИЉАНА
+ЈАВОРИНА МИЛЕ
+ЈАВОРИНА СИМО
+ЈАВОРНИК БОСИЉКА
+ЈАВОРНИК ПАВЕЛ
+ЈАЗИЋ ДАНИЛО
+ЈАЗИЋ ИВАНКА
+ЈАЗИЋ ЛАЗА
+ЈАЗИЋ ЉУБОМИР
+ЈАЗИЋ МАРИНКО
+ЈАЗИЋ МИРОСЛАВ
+ЈАЗИЋ-САВИН ТАТЈАНА
+ЈАЗИЋ СВЕТЛАНА
+ЈАЗВИЋ АНКА
+ЈЕЧИНАЦ МИЛАН
+ЈЕЧИНАЦ МИЛОРАД
+ЈЕЧИНАЦ ВЕРА
+ЈЕЧМЕНИЦА АЛЕКСАНДАР
+ЈЕЧМЕНИЦА АЛЕКСАНДАР
+ЈЕЧМЕНИЦА ЈЕЛЕНА
+ЈЕЧМЕНИЦА МИЛОШ
+ЈЕЧМЕНИЦА ВЛАДИМИР
+ЈЕШИЋ ЖИВКА
+ЈЕШИЋ АНЂЕЛКО
+ЈЕШИЋ ДАНИЈЕЛА
+ЈЕШИЋ ЈУЛКА
+ЈЕШИЋ МИЛАН
+ЈЕШИЋ МИОДРАГ
+ЈЕШИЋ МИРОСЛАВА
+ЈЕШИЋ СТЕВАН
+ЈЕШИЋ ЗОРАН
+ЈЕЖ ДРАГАН
+ЈЕЖ ГОСПОЈИНКА
+ЈЕЖ МИЛОРАД
+ЈЕЖ СЛОБОДАН
+ЈЕЖ ТРИВО
+ЈЕЖЕК МИЛИВОЈ
+ЈЕЦКОВ НАДА
+ЈЕДЕРАН ЈОСИП
+ЈЕДЕРАН ЈОСИП
+ЈЕФИЋ ГОРАН
+ЈЕФТЕНИЋ ШПИРО
+ЈЕФТЕНИЋ ВЛАДО
+ЈЕФТИЋ ЖАРКО
+ЈЕФТИЋ БИЉАНА
+ЈЕФТИЋ БОЖИДАР
+ЈЕФТИЋ БОРИСЛАВ ДИПЛ ИНГ
+ЈЕФТИЋ БРАНКО
+ЈЕФТИЋ ДАМЈАН
+ЈЕФТИЋ ДРАГАН
+ЈЕФТИЋ ЈАДРАНКА
+ЈЕФТИЋ ЈЕФТА
+ЈЕФТИЋ ЈЕЛЕНА
+ЈЕФТИЋ ЈОВАН
+ЈЕФТИЋ КАТАРИНА
+ЈЕФТИЋ ЉУБОМИР
+ЈЕФТИЋ МИЛАН
+ЈЕФТИЋ МИЛАН
+ЈЕФТИЋ МИЛЕНКО
+ЈЕФТИЋ МИЛОРАД
+ЈЕФТИЋ МИТА
+ЈЕФТИЋ СРЕТЕНКА
+ЈЕФТИЋ ТИХОМИР
+ЈЕФТИЋ ТОМИСЛАВ
+ЈЕФТИЋ ВЕЛИНКА
+ЈЕФТИЋ ВЛАДИМИР
+ЈЕФТИЋ ВЛАСТА
+ЈЕФТИЋ ЗДРАВКО
+ЈЕФТОВИЋ ФРАЊА
+ЈЕГАРАЦ ОЛГА
+ЈЕГДИЋ ДАМЈАН
+ЈЕГДИЋ ГОРДАНА
+ЈЕГДИЋ СВЕТИСЛАВ
+ЈЕГДИЋ ВАСА
+ЈЕГДИЋ ВАСО
+ЈЕГЕШ МИЛА
+ЈЕКЕЛИЋ БРАНИСЛАВ
+ЈЕКЕЛИЋ БРАНКО
+ЈЕКЕЛИЋ ЕМИЛИЈА
+ЈЕКЕЛИЋ ЛАСЛО
+ЈЕКЕЛИЋ МИЛАН
+ЈЕКЕЛИЋ МИЛИЋ
+ЈЕКЕЛИЋ РАДОСЛАВ ДИПЛ ИНГ
+ЈЕКЕЛИЋ СЛАВКО
+ЈЕКЕЛИЋ ЗОРИЦА
+ЈЕКНИЋ РАДОЈИЦА
+ЈЕЛЧИЋ ЈОЗЕФИНА
+ЈЕЛЧИЋ КРИСТИЈАН
+ЈЕЛЧИЋ ЉУБИША
+ЈЕЛЧИЋ МИЛОВАН
+ЈЕЛЧИЋ МИЛОВАН
+ЈЕЛЧИЋ ПАВЛЕ
+ЈЕЛЧИЋ ЗОРА
+ЈЕЛАЧА ЂУРО
+ЈЕЛАЧА ЂУРО
+ЈЕЛАЧА БРАНКО
+ЈЕЛАЧА ДЕСА
+ЈЕЛАЧА КОСТА
+ЈЕЛАЧА МИХАЈЛО
+ЈЕЛАЧА МИЛЕНКО
+ЈЕЛАЧА РУЖА
+ЈЕЛАЧА СИМО ДР ИНГ
+ЈЕЛАЧА СЛОБОДАН
+ЈЕЛАЧА СТАНКО
+ЈЕЛАЧА СТОЈАН
+ЈЕЛАЧИЋ БОЖИДАР
+ЈЕЛАЧИЋ БРАНКО
+ЈЕЛАЧИЋ ДАНИЛО
+ЈЕЛАЧИЋ ДУШАН
+ЈЕЛАЧИЋ ЈУЛИШКА
+ЈЕЛАЧИЋ ЉУБОМИР
+ЈЕЛАЧИЋ МИХАЈЛО
+ЈЕЛАЧИЋ МИЛЕНКО
+ЈЕЛАЧИЋ МИРОСЛАВ
+ЈЕЛАЧИЋ РАТОМИР
+ЈЕЛАЧИЋ СЛОБОДАН
+ЈЕЛАЧИЋ ЗОРКА
+ЈЕЛАВИЋ ЖЕЉКО
+ЈЕЛАВИЋ ДРАГО
+ЈЕЛЕЧ ИЛИЈА
+ЈЕЛЕЧАНИН ЂОРЂЕ
+ЈЕЛЕЧАНИН МАРИЈА
+ЈЕЛЕЧИЋ ЈОВАН
+ЈЕЛЕНЧИЋ ФРАЊА
+ЈЕЛЕНИЋ ЖИВАН
+ЈЕЛЕНИЋ МИЛАН
+ЈЕЛЕНИЋ ПАНТА
+ЈЕЛЕНИЋ ПАВЛЕ
+ЈЕЛЕНИЋ РАДА
+ЈЕЛЕНИЋ СЛОБОДАН
+ЈЕЛЕНИЋ ВАСИЛИЈЕ
+ЈЕЛЕНКОВИЋ АЛЕКСАНДАР
+ЈЕЛЕНКОВИЋ ГРОЗДА
+ЈЕЛЕНКОВИЋ ВЛАДИСЛАВ
+ЈЕЛЕСИЋ АНГЕЛА ПРОФЕСОР
+ЈЕЛИЧИЋ ЖИВКО
+ЈЕЛИЧИЋ ЂУРО
+ЈЕЛИЧИЋ БЕАТА
+ЈЕЛИЧИЋ БРАНКО
+ЈЕЛИЧИЋ ДУШАН
+ЈЕЛИЧИЋ ЈЕЛЕНА
+ЈЕЛИЧИЋ ЈОВО
+ЈЕЛИЧИЋ ЉУБИЦА
+ЈЕЛИЧИЋ МАРИЈА
+ЈЕЛИЧИЋ МИЛАН
+ЈЕЛИЧИЋ МИЛЕ
+ЈЕЛИЧИЋ МИРКО
+ЈЕЛИЧИЋ ПЕТАР
+ЈЕЛИЧИЋ ПЕТАР
+ЈЕЛИЧИЋ РОСА
+ЈЕЛИЧИЋ ВИД
+ЈЕЛИЋ ЖИВКО
+ЈЕЛИЋ ЖИВКО
+ЈЕЛИЋ ЂОРЂЕ
+ЈЕЛИЋ ЂОРЂЕ
+ЈЕЛИЋ АЋИМ
+ЈЕЛИЋ АНЂА
+ЈЕЛИЋ АНТЕ
+ЈЕЛИЋ БУДИМИР
+ЈЕЛИЋ ДРАГАН
+ЈЕЛИЋ ДРАГУТИН
+ЈЕЛИЋ ДУШАН
+ЈЕЛИЋ ЕМИЛИЈА
+ЈЕЛИЋ ЕСТЕРА
+ЈЕЛИЋ ГОРДАНА
+ЈЕЛИЋ ИВАНКА
+ЈЕЛИЋ ИВИЦА
+ЈЕЛИЋ ЈАГОДИНКА
+ЈЕЛИЋ ЈАЊА
+ЈЕЛИЋ ЈЕЛЕНА
+ЈЕЛИЋ ЈОВАН
+ЈЕЛИЋ ЛАЗАР
+ЈЕЛИЋ ЛАЗАР
+ЈЕЛИЋ ЉУБИЦА
+ЈЕЛИЋ ЉУБИНКА
+ЈЕЛИЋ ЛУКА
+ЈЕЛИЋ МАРИЦА
+ЈЕЛИЋ МАРИНА
+ЈЕЛИЋ-МАТИЋ МАРИЈА
+ЈЕЛИЋ МИЛАН
+ЈЕЛИЋ МИЛАН
+ЈЕЛИЋ МИЛЕНА
+ЈЕЛИЋ МИЛЕНКО
+ЈЕЛИЋ МИЛКА
+ЈЕЛИЋ МИОДРАГ
+ЈЕЛИЋ МИОДРАГ
+ЈЕЛИЋ МИРЈАНА
+ЈЕЛИЋ МИТА
+ЈЕЛИЋ МОМИР
+ЈЕЛИЋ НАДА
+ЈЕЛИЋ НЕДЕЉКО
+ЈЕЛИЋ ПАВЛЕ
+ЈЕЛИЋ ПРЕДРАГ
+ЈЕЛИЋ ПРЕДРАГ
+ЈЕЛИЋ РАДЕНКО
+ЈЕЛИЋ РОСА
+ЈЕЛИЋ САВА
+ЈЕЛИЋ СИМА
+ЈЕЛИЋ СЛАВИЦА
+ЈЕЛИЋ СТАНИМИР
+ЈЕЛИЋ СТЕВАН
+ЈЕЛИЋ СТЕВА
+ЈЕЛИЋ СТЕВА
+ЈЕЛИЋ СТИПЕ
+ЈЕЛИЋ СВЕТИСЛАВ ДИПЛ ИНГ
+ЈЕЛИЋ СВЕТОЗАР
+ЈЕЛИЋ ТОМА
+ЈЕЛИЋ ТОМИСЛАВ
+ЈЕЛИЋ ВАСА
+ЈЕЛИЋ ВАСО
+ЈЕЛИЋ ВИКТОРИЈА
+ЈЕЛИЦКИ СИМЕУН
+ЈЕЛИН ЈОВАН
+ЈЕЛИН РАДМИЛА
+ЈЕЛИНЧИЋ ДУЈО
+ЈЕЛИНЕК СТЕВАН
+ЈЕЛИСАВАЦ ГОРДАН
+ЈЕЛИСАВАЦ МИЛОШ
+ЈЕЛИСАВАЦ МОМИР
+ЈЕЛКИЋ ЈОВАН
+ЈЕЛКИЋ ЛАЗАР
+ЈЕЛКИЋ ОЛИВЕРА
+ЈЕЛКИЋ ВЛАДИМИР
+ЈЕЛОВАЦ ЖАРКО
+ЈЕЛОВАЦ ЖАРКО
+ЈЕЛОВАЦ ЂОРЂЕ
+ЈЕЛОВАЦ ЂОРЂЕ
+ЈЕЛОВАЦ ЂУРО
+ЈЕЛОВАЦ БИСЕРКА
+ЈЕЛОВАЦ БРАНИСЛАВ
+ЈЕЛОВАЦ БРАНКА
+ЈЕЛОВАЦ БРАНКА
+ЈЕЛОВАЦ БРАНКО
+ЈЕЛОВАЦ ДРАГАН
+ЈЕЛОВАЦ ДРАГАН
+ЈЕЛОВАЦ ДУШАН
+ЈЕЛОВАЦ ИЗАБЕЛА
+ЈЕЛОВАЦ ЈОВАН
+ЈЕЛОВАЦ МИЛАН
+ЈЕЛОВАЦ МИЛИЦА
+ЈЕЛОВАЦ МИРОСЛАВ
+ЈЕЛОВАЦ МИРОСЛАВ
+ЈЕЛОВАЦ НАДА
+ЈЕЛОВАЦ НИКОЛА
+ЈЕЛОВАЦ РАДОЈКА
+ЈЕЛОВАЦ РАДОЈКА
+ЈЕЛОВАЦ РАДОМИР ДР ЛЕКАР
+ЈЕЛОВАЦ РУЖИЦА
+ЈЕЛОВАЦ СЛОБОДАН
+ЈЕЛОВАЦ СТЕВАН
+ЈЕЛОВАЦ СТОЈАН
+ЈЕЛОВАЦ ТУГОМИР
+ЈЕЛОВАЦ ВЕЛИМИР
+ЈЕЛОВАЦ ВЛАДА
+ЈЕЛОВАЦ ВУЈИЦА
+ЈЕЛОВИЋ МИЛАНКА
+ЈЕЛУШИЋ ГОРДАНА
+ЈЕЛУШИЋ ЛЕНКА
+ЈЕЛУШИЋ МАТИЈЕ
+ЈЕМЧ БРАНИСЛАВ
+ЈЕМРИЋ ЈЕЛА
+ЈЕНЕЦКОВ РАДМИЛА
+ЈЕНЕЦКОВ САША
+ЈЕНЕИ АНДРАШ
+ЈЕНЕИ ЕУГЕН
+ЈЕНЕИ ЛАЈОШ
+ЈЕНЕИ МИОДРАГ
+ЈЕНЕИ РУЖА
+ЈЕНЕИ СТЕВАН
+ЈЕНЕИ ТИБОР
+ЈЕНЕВ БЛАГОЈ
+ЈЕПУРСКИ НЕНАД
+ЈЕРЧИЋ ФРАЊО
+ЈЕРАНЧЕ ДАНИЦА
+ЈЕРАНТ АНДРИЈА
+ЈЕРАНТ ПАТИЋ ВЕРА ДР
+ЈЕРАНТ ПЕТАР
+ЈЕРАУШЕК ФРАЊО
+ЈЕРАУШЕК ИВИЦА
+ЈЕРБИЋ ДРАГИЦА
+ЈЕРЕБИНШЕК АНА
+ЈЕРЕБИНШЕК СЛАВКО
+ЈЕРЕЛЕ ФРАНЦИШКА
+ЈЕРЕМЕНКО АЛЕКСАНДРА
+ЈЕРЕМИЋ ЂОКА
+ЈЕРЕМИЋ ЂОРЂЕ
+ЈЕРЕМИЋ АЛЕКСАНДАР
+ЈЕРЕМИЋ-БЛАГОЈЕВИЋ ВЕРИЦА
+ЈЕРЕМИЋ БЛАГОЈЕ
+ЈЕРЕМИЋ ДИМИТРИЈЕ ДР ЛЕКАР
+ЈЕРЕМИЋ ДРАГОСЛАВ
+ЈЕРЕМИЋ ДУШАНКА
+ЈЕРЕМИЋ ЈАСНА
+ЈЕРЕМИЋ ЈЕЛЕНА
+ЈЕРЕМИЋ ЈОВАН
+ЈЕРЕМИЋ ЈОВАН
+ЈЕРЕМИЋ ЛАЗАР
+ЈЕРЕМИЋ ЉИЉАНА
+ЈЕРЕМИЋ МЕЛАНИЈА
+ЈЕРЕМИЋ МИЛЕВА
+ЈЕРЕМИЋ МИРА
+ЈЕРЕМИЋ МИРОСЛАВ
+ЈЕРЕМИЋ НАДЕЖДА
+ЈЕРЕМИЋ НЕНАД
+ЈЕРЕМИЋ ОЛИВЕРА
+ЈЕРЕМИЋ ПАВЛЕ
+ЈЕРЕМИЋ ПАВЛЕ
+ЈЕРЕМИЋ РАДЕ
+ЈЕРЕМИЋ СТАНА
+ЈЕРЕМИЋ СТАНКО
+ЈЕРЕМИЋ СТАНОЈЕ
+ЈЕРЕМИЋ СТЕВАН
+ЈЕРЕМИЋ СТЕВАН
+ЈЕРЕМИЋ ВАСИЛИЈЕ
+ЈЕРЕМИЋ ВЕРА
+ЈЕРЕМИЋ ВОЈИСЛАВ
+ЈЕРЕМИЋ ЗОРА
+ЈЕРЕМИЈИЋ ВИТОМИР
+ЈЕРЕНИЋ МЛАДЕН
+ЈЕРГИЋ МИЛИЦА
+ЈЕРГИЋ МИОДРАГ
+ЈЕРГИЋ МИРКО
+ЈЕРГИЋ ПЕТАР
+ЈЕРГИЋ СЛАВИЦА
+ЈЕРГИЋ СПАСОЈЕ
+ЈЕРИЋ ДУШАН
+ЈЕРИЋ КОВИНКА
+ЈЕРИЋ ЉУБИША
+ЈЕРИЋ МИЛИЦА
+ЈЕРИЋ ПЕТАР
+ЈЕРИНИЋ БРАНКО
+ЈЕРИНИЋ-КУРИН ЕДИТ
+ЈЕРИНИЋ МИОДРАГ
+ЈЕРИНИЋ ВОЈИСЛАВ
+ЈЕРИНКИЋ ДРАГАН
+ЈЕРИНКИЋ ИВАН
+ЈЕРИНКИЋ ПАВЛЕ
+ЈЕРКАН АНТЕ
+ЈЕРКИЋ СВЕТОЗАР
+ЈЕРКОВ ЖАРКО
+ЈЕРКОВ АНДРИЈА
+ЈЕРКОВ БРАНИМИР
+ЈЕРКОВ ЈОВАН
+ЈЕРКОВ ЈОВИЦА
+ЈЕРКОВ ЈОВИЦА
+ЈЕРКОВ МИРЈАНА
+ЈЕРКОВ МИРЈАНА
+ЈЕРКОВ ПАВЛЕ
+ЈЕРКОВ СМИЉА
+ЈЕРКОВ СНЕЖАНА
+ЈЕРКОВ ВЕЉКО
+ЈЕРКОВ ВОЈИСЛАВ
+ЈЕРКОВИЋ ЂОРЂЕ
+ЈЕРКОВИЋ АЛЕКСАНДАР
+ЈЕРКОВИЋ ДМИТАР
+ЈЕРКОВИЋ ФРАЊО
+ЈЕРКОВИЋ ЈОВАН
+ЈЕРКОВИЋ ЈОВАН
+ЈЕРКОВИЋ ЈОВАН
+ЈЕРКОВИЋ ЈОВАН
+ЈЕРКОВИЋ КАТИЦА
+ЈЕРКОВИЋ КАТИЦА
+ЈЕРКОВИЋ ЛЕНКА
+ЈЕРКОВИЋ МИЛАН
+ЈЕРКОВИЋ МИЛОШ
+ЈЕРКОВИЋ НАДЕЖДА
+ЈЕРКОВИЋ НИКОЛА
+ЈЕРКОВИЋ ПРЕДРАГ
+ЈЕРКОВИЋ РАЈКО
+ЈЕРКОВИЋ СИМО
+ЈЕРКОВИЋ СИНИША
+ЈЕРКОВИЋ СОФИЈА
+ЈЕРКОВИЋ СТЕВАН
+ЈЕРКОВИЋ СТОЈАН
+ЈЕРКОВИЋ СВЕТКО
+ЈЕРКОВИЋ ТАДИЈА
+ЈЕРКОВИЋ ВАЛЕРИЈА
+ЈЕРКОВИЋ ВАСА
+ЈЕРКОВИЋ ВЛАДИМИР МР
+ЈЕРКОВИЋ ВЛАДИМИР
+ЈЕРКОВИЋ ВЛАДО
+ЈЕРКОВИЋ ВУКОСАВА
+ЈЕРКОВИЋ ЗОРАН
+ЈЕРОСИМОВИЋ БРАНИМИР
+ЈЕРОТИЈЕВИЋ ДАРИНКА
+ЈЕСИЋ МИЛЕНА
+ЈЕСТРОНИЋ ТОМИСЛАВ
+ЈЕСТРОВИЋ ИРЕНА
+ЈЕВЂЕНИЋ РУЖИЦА
+ЈЕВЂЕНИЋ ВЛАДА
+ЈЕВЂОВИЋ МЕЛАНИЈА ДР
+ЈЕВЂОВИЋ МЕЛАНИЈА
+ЈЕВИЋ ЧЕДО
+ЈЕВИЋ БРАНКО
+ЈЕВИЋ МИЛАН
+ЈЕВИЋ МИЛИВОЈ
+ЈЕВИЋ МИОДРАГ
+ЈЕВИЋ МОМЧИЛО
+ЈЕВИЋ НАДА
+ЈЕВИЋ НИКОЛА
+ЈЕВИЋ ТОДОР
+ЈЕВРЕМОВ ЖИВА
+ЈЕВРЕМОВ ЂОРЂЕ
+ЈЕВРЕМОВ МИЛАН
+ЈЕВРЕМОВ МИРЈАНА
+ЈЕВРЕМОВИЋ ДОБРИЛА
+ЈЕВРЕМОВИЋ ЉУБИНКА
+ЈЕВРЕМОВИЋ МИЛИВОЈ
+ЈЕВРЕМОВИЋ МИЛОРАД
+ЈЕВРЕМОВИЋ МИОДРАГ
+ЈЕВРЕМОВИЋ РАДИША
+ЈЕВРЕМОВИЋ СИНИША
+ЈЕВРЕМОВИЋ СОФИЈА
+ЈЕВРЕМОВИЋ СТЕВАН
+ЈЕВРЕМОВИЋ ВЛАДАН
+ЈЕВРИЋ ЖИВАН
+ЈЕВРИЋ ЂОРЂЕ
+ЈЕВРИЋ ЂОРЂЕ
+ЈЕВРИЋ БОЖИДАР
+ЈЕВРИЋ БОГОЉУБ
+ЈЕВРИЋ БРАНКО
+ЈЕВРИЋ БРАТИСЛАВ
+ЈЕВРИЋ ДАНИЦА
+ЈЕВРИЋ ДЕСИМИР
+ЈЕВРИЋ ДРАГУТИН
+ЈЕВРИЋ ЕВИЦА
+ЈЕВРИЋ ГИГА
+ЈЕВРИЋ ГОРАН
+ЈЕВРИЋ ЈЕЛА
+ЈЕВРИЋ ЈОВАН
+ЈЕВРИЋ КРИСТИНА
+ЈЕВРИЋ ЉУБИЦА
+ЈЕВРИЋ МАРИЈА
+ЈЕВРИЋ МИЛАН
+ЈЕВРИЋ МИЛЕНКО
+ЈЕВРИЋ МИЛЕ
+ЈЕВРИЋ МИЛОШ
+ЈЕВРИЋ МИРОСЛАВ
+ЈЕВРИЋ РАДИША
+ЈЕВРИЋ РАДИВОЈЕ
+ЈЕВРИЋ РАДИВОЈ
+ЈЕВРИЋ РАДИВОЈ
+ЈЕВРИЋ РАДОСЛАВ
+ЈЕВРИЋ РАНИСАВ
+ЈЕВРИЋ СЛАВКО
+ЈЕВРИЋ СЛАВКО
+ЈЕВРИЋ СЛАВКО
+ЈЕВРИЋ СЛАВКО
+ЈЕВРИЋ СЛОБОДАН
+ЈЕВРИЋ СРБОЉУБ
+ЈЕВРИЋ СТАМЕНКО
+ЈЕВРИЋ СТЕВАН ДР ИНГ
+ЈЕВРИЋ СТЕВАН
+ЈЕВРИЋ ЗЛАТОМИР
+ЈЕВТОВИЋ АЛЕКСАНДАР
+ЈЕВТОВИЋ АЛЕКСАНДРА
+ЈЕВТОВИЋ ЈОРДАН
+ЈЕВТОВИЋ МИЛАН
+ЈЕВТОВИЋ МИРКО
+ЈЕВТОВИЋ РАДИВОЈЕ
+ЈЕВТОВИЋ СТАНИСЛАВА
+ЈЕВТОВИЋ ВОЈКАН
+ЈЕВТОВИЋ ВУКОТА
+ЈЕВТОВИЋ ВУЛЕ
+ЈЕЗДИЋ ДОБРИЛА
+ЈЕЗДИЋ ДРАГАН
+ЈЕЗДИЋ ЈОВАН
+ЈЕЗДИЋ ЉУБОМИР
+ЈЕЗДИЋ МОМЧИЛО
+ЈЕЗДИЋ САВА
+ЈЕЗДИЋ СПИРА
+ЈЕЗДИЋ СТЕВКА
+ЈЕЗДИЋ СТОЈАН ДИПЛ ИНГ
+ЈЕЗДИМИРОВИЋ АЦА
+ЈЕЗДИМИРОВИЋ ДРАГАН
+ЈЕЗДИМИРОВИЋ ДРАГИЦА
+ЈЕЗДИМИРОВИЋ ЛАЗАР
+ЈЕЗДИМИРОВИЋ МИРЈАНА
+ЈЕЗДИМИРОВИЋ СТОЈАНКА
+ЈЕЗДИМИРОВИЋ ЗОРИЦА
+ЈЕЗЕРКИЋ ОЛГИЦА
+ЈИРОТА-ГАЗИБАРИЋ ДАНИЕЛА
+ЈОЧИЋ МОМЧИЛО
+ЈОЧИЋ СТАНОЈЛО
+ЈОЧИН ЖИКА
+ЈОЧКОВИЋ ЈОВАН
+ЈОШАНОВ АЛЕКСАНДРА
+ЈОШАНОВ ЛАЗАР
+ЈОШАНОВ ЉУБИЦА
+ЈОШАНОВ МЛАДЕН
+ЈОШЕВСКИ ЂОРЂИЈА
+ЈОШИЋ ЂУРА
+ЈОШИЋ БЛАЖО
+ЈОШИЋ ДРАГОСЛАВ
+ЈОШИЋ МИЛАН
+ЈОШИЋ МИЛИВОЈ
+ЈОШИЋ МИЛОРАД
+ЈОШИЋ ПЕТАР
+ЈОЖА КАТАЛИН
+ЈОЖИЋ ЂУРА
+ЈОАНОВИЋ ЦВЕТКО ДИПЛ ИНГ
+ЈОАНОВИЋ ЕРЖЕБЕТ
+ЈОАНОВИЋ РАМОНА
+ЈОЦИЋ ЖИВОЈИН ДИПЛ ИНГ
+ЈОЦИЋ ЖИВОРАД ДР
+ЈОЦИЋ ЂОРЂЕ
+ЈОЦИЋ АЛЕКСАНДАР
+ЈОЦИЋ АНЂЕЛКА
+ЈОЦИЋ АНГЕЛИНА
+ЈОЦИЋ АНКИЦА
+ЈОЦИЋ БОРИСЛАВ
+ЈОЦИЋ БРАНИСЛАВ ДР
+ЈОЦИЋ БРАНКА
+ЈОЦИЋ ДРАГИЦА
+ЈОЦИЋ ДРАГУТИН
+ЈОЦИЋ ФИЛИП
+ЈОЦИЋ ХРИСТИНА
+ЈОЦИЋ ИЛИЈА
+ЈОЦИЋ ИСИДОР
+ЈОЦИЋ ЈЕЛИСАВЕТА
+ЈОЦИЋ ЈОВАНКА
+ЈОЦИЋ ЉИЉАНА
+ЈОЦИЋ МАРИЈА
+ЈОЦИЋ МАРКО
+ЈОЦИЋ МАРКО
+ЈОЦИЋ МАРТА
+ЈОЦИЋ МИЛАДИНКА
+ЈОЦИЋ МИЛАН
+ЈОЦИЋ МИЛАН
+ЈОЦИЋ МИЛОШ
+ЈОЦИЋ МИЛОШ
+ЈОЦИЋ МИРКО
+ЈОЦИЋ МЛАДЕН
+ЈОЦИЋ НЕНАД
+ЈОЦИЋ ПЕТАР
+ЈОЦИЋ ПЕТАР
+ЈОЦИЋ ПЕТАР
+ЈОЦИЋ РАДИВОЈ
+ЈОЦИЋ РАДМИЛА
+ЈОЦИЋ РАДОСЛАВ
+ЈОЦИЋ РОДОЉУБ
+ЈОЦИЋ САВА
+ЈОЦИЋ СЛОБОДАН
+ЈОЦИЋ СМИЉА
+ЈОЦИЋ СТЕВАН ДИПЛ ИНГ
+ЈОЦИЋ СТЕВАН
+ЈОЦИЋ СТЕВАН
+ЈОЦИЋ ВАЛЕРИЈА
+ЈОЦИЋ ВЕРА
+ЈОЦИЋ ЗОРАН
+ЈОЦИН БРАНКО
+ЈОЦИН ПЕРСИДА
+ЈОЦИН ЗЛАТОЈЕ
+ЈОЦКОВ ДАНИЦА
+ЈОЦКОВ МАНОЈЛО
+ЈОЦКОВ МИЛАНКА
+ЈОЦКОВ МИЛОСАВ
+ЈОЦКОВ МИРОСЛАВА
+ЈОЦКОВ НИКОЛА
+ЈОЦКОВ НИКОЛА
+ЈОЦКОВ РАДОВАН
+ЈОЦКОВИЋ ЂОРЂЕ ДР
+ЈОЦКОВИЋ ЈОВАНКА
+ЈОЦКОВИЋ ОБРАД
+ЈОЦОВИЋ ЖИВОМИР
+ЈОЦОВИЋ МИОДРАГ
+ЈОЦОВИЋ РАДЕНКО
+ЈОЦОВИЋ ЗОРИЦА
+ЈОЦУЛОВ БРАНКА
+ЈОЦУЛОВ МИХАЉ
+ЈОДАЛ РОЖА
+ЈОХИМСТАЛ АГАТА
+ЈОЈИЋ ЂОРЂЕ
+ЈОЈИЋ АЛЕКСАНДАР
+ЈОЈИЋ БОЖИДАР
+ЈОЈИЋ ДОИНА
+ЈОЈИЋ ДРАГИ
+ЈОЈИЋ ДРАГОСЛАВ ДР
+ЈОЈИЋ ДУШАН
+ЈОЈИЋ ГЕОРГИЈЕ
+ЈОЈИЋ ИВАНКА
+ЈОЈИЋ ИВАНКА
+ЈОЈИЋ ЈЕЛА
+ЈОЈИЋ ЈЕЛЕНА
+ЈОЈИЋ ЉУБИЦА
+ЈОЈИЋ МИЋКО
+ЈОЈИЋ МИЛЕВА
+ЈОЈИЋ МИЛОШ
+ЈОЈИЋ МИОДРАГ
+ЈОЈИЋ МИРКО
+ЈОЈИЋ МИРКО
+ЈОЈИЋ МИРОЉУБ
+ЈОЈИЋ МИРОСЛАВ
+ЈОЈИЋ ОЛГА
+ЈОЈИЋ САВА
+ЈОЈИЋ СИМО
+ЈОЈИЋ СТАНА
+ЈОЈИЋ СТЕВАН
+ЈОЈИЋ СВЕТОЗАР
+ЈОЈИЋ СВЕТО
+ЈОЈИН БАРБАРА
+ЈОЈИН ДОБРОСАВ
+ЈОЈИН СИНИША
+ЈОЈКИЋ ЂОРЂЕ
+ЈОЈКИЋ ЂОРЂЕ
+ЈОЈКИЋ ЂОРЂЕ
+ЈОЈКИЋ АЛЕКСАНДАР
+ЈОЈКИЋ БОРИСЛАВА
+ЈОЈКИЋ БРАНИСЛАВ
+ЈОЈКИЋ ДАНИЦА
+ЈОЈКИЋ ДИНА
+ЈОЈКИЋ ДУШАН
+ЈОЈКИЋ ДУШКО
+ЈОЈКИЋ ЈОВИЦА
+ЈОЈКИЋ КАТИЦА
+ЈОЈКИЋ КАТИЦА
+ЈОЈКИЋ ЉУБОМИР
+ЈОЈКИЋ МАРИЦА
+ЈОЈКИЋ МАРИЈА
+ЈОЈКИЋ МАРИЈА
+ЈОЈКИЋ МИЛАДИН
+ЈОЈКИЋ МИЛЕНА
+ЈОЈКИЋ МИЛЕНКО
+ЈОЈКИЋ МИЛИЦА
+ЈОЈКИЋ МИЛИЦА
+ЈОЈКИЋ МИОДРАГ
+ЈОЈКИЋ МИРЈАНА ДР
+ЈОЈКИЋ МИРОСЛАВ
+ЈОЈКИЋ НАДА
+ЈОЈКИЋ ОЛГА
+ЈОЈКИЋ ПАЈА
+ЈОЈКИЋ-ПОЛЕТТО ЗОРА
+ЈОЈКИЋ РАДИВОЈ
+ЈОЈКИЋ РАДИВОЈ
+ЈОЈКИЋ РАДОЈКА
+ЈОЈКИЋ РАДОСЛАВ
+ЈОЈКИЋ СЛАВКО
+ЈОЈКИЋ СМИЉКА
+ЈОЈКИЋ СНЕЖАНА
+ЈОЈКИЋ СОФИЈА
+ЈОЈКИЋ СОКО
+ЈОЈКИЋ СТАНКО
+ЈОЈКИЋ УРОШ
+ЈОЈКИЋ ВОЈИСЛАВ
+ЈОЈКИЋ ЗДРАВКО
+ЈОКА КАТАРИНА
+ЈОКА ВАСО
+ЈОКАНИЋ ИЛИЈА
+ЈОКАНОВИЋ БЛАГОЈЕ
+ЈОКАНОВИЋ БОСИЉКА
+ЈОКАНОВИЋ БРАНКО
+ЈОКАНОВИЋ БРАНКО
+ЈОКАНОВИЋ ДЕСИМИР
+ЈОКАНОВИЋ МИЛОРАД
+ЈОКАНОВИЋ РАДА
+ЈОКАНОВИЋ РАДОМИР
+ЈОКАНОВИЋ СИНИША
+ЈОКАНОВИЋ ТОДОР
+ЈОКАНОВИЋ ТОМИСЛАВ
+ЈОКАНОВИЋ ВЛАДИМИР ДР
+ЈОКИШИЋ БРАНКО
+ЈОКИШИЋ СПАСОЈЕ
+ЈОКИЋ ЖАРКО
+ЈОКИЋ ЖАРКО
+ЈОКИЋ ЖИВАН
+ЈОКИЋ ЂОРЂЕ
+ЈОКИЋ ЂУРАЂ
+ЈОКИЋ БОЖИДАР
+ЈОКИЋ БОРИСЛАВ
+ЈОКИЋ БРАНИСЛАВ
+ЈОКИЋ БУДИМИР
+ЈОКИЋ ЦВИЈЕТИН
+ЈОКИЋ ДАНЕ
+ЈОКИЋ ДОБРИЛА
+ЈОКИЋ ДРАГАН
+ЈОКИЋ ДРАГАН
+ЈОКИЋ ДРАГАН
+ЈОКИЋ ДРАГИЦА
+ЈОКИЋ ДРАГИЊА
+ЈОКИЋ ДУШАНКА
+ЈОКИЋ ДУШАН
+ЈОКИЋ ДУШАН
+ЈОКИЋ ДУШАН
+ЈОКИЋ ДУШАН
+ЈОКИЋ ДУШАН
+ЈОКИЋ ДУШАН
+ЈОКИЋ ИГЊАТ
+ЈОКИЋ ЈЕЛЕНА
+ЈОКИЋ ЈОКА
+ЈОКИЋ КРСТАН
+ЈОКИЋ КСЕНИЈА
+ЈОКИЋ ЛАКИЋ
+ЈОКИЋ ЛАЗО
+ЈОКИЋ ЉИЉАНА
+ЈОКИЋ ЉУБИЦА
+ЈОКИЋ ЉУБО
+ЈОКИЋ ЛУКА
+ЈОКИЋ МАРА
+ЈОКИЋ МАРИЈА
+ЈОКИЋ МАРКО
+ЈОКИЋ МИХАЈЛО
+ЈОКИЋ МИЛАН
+ЈОКИЋ МИЛАН
+ЈОКИЋ МИЛАН
+ЈОКИЋ МИЛАН
+ЈОКИЋ МИЛЕНКО
+ЈОКИЋ МИЛЕВА
+ЈОКИЋ МИЛИЈА
+ЈОКИЋ МИЛИСАВ
+ЈОКИЋ МИЛОРАД
+ЈОКИЋ МИЛОВАН
+ЈОКИЋ МИРКО
+ЈОКИЋ МИРКО
+ЈОКИЋ МИРКО
+ЈОКИЋ МИРКО
+ЈОКИЋ МИРОСЛАВ
+ЈОКИЋ НАДА
+ЈОКИЋ НАДА
+ЈОКИЋ НАДИЦА
+ЈОКИЋ НЕНАД
+ЈОКИЋ НИКОЛА
+ЈОКИЋ НИКОЛА
+ЈОКИЋ ПЕТАР
+ЈОКИЋ РАДИВОЈЕ
+ЈОКИЋ РАДОИЦА
+ЈОКИЋ РИСТА
+ЈОКИЋ САША
+ЈОКИЋ СИМА
+ЈОКИЋ СИНИША
+ЈОКИЋ СЛАВКО
+ЈОКИЋ СЛАВКО
+ЈОКИЋ СЛАВКО
+ЈОКИЋ СНЕЖАНА
+ЈОКИЋ СТЕВАН ДИПЛ ИНГ
+ЈОКИЋ СТЕВАН
+ЈОКИЋ СВЕТИСЛАВ
+ЈОКИЋ СВЕТОЗАР
+ЈОКИЋ СВЕТОЗАР
+ЈОКИЋ ТОМИСЛАВ
+ЈОКИЋ ВЕЉКО
+ЈОКИЋ ВЕРА
+ЈОКИЋ ВЛАДО
+ЈОКИЋ ВОЈИСЛАВ
+ЈОКИЋ ВОЈИСЛАВ
+ЈОКИЋ ВУЈАДИН
+ЈОКИЋ ВУКАДИН
+ЈОКИЋ ВУКО
+ЈОКИЋ ЗЛАТА
+ЈОКИЋ ЗОРКА
+ЈОКМАНОВИЋ САВЕТА
+ЈОКОВИЋ ЖИВКО
+ЈОКОВИЋ ЂУРЂИНА
+ЈОКОВИЋ ДОБРИВОЈЕ
+ЈОКОВИЋ-МИКИЋ МИРЈАНА
+ЈОКОВИЋ МИЛКА
+ЈОКОВИЋ РАДОСАВ
+ЈОКОВИЋ ВОЈИСЛАВ
+ЈОКСИЋ ДРАГИША
+ЈОКСИЋ ГОЈКО
+ЈОКСИМОВЋ НЕБОЈША
+ЈОКСИМОВИЋ ЖАРКО
+ЈОКСИМОВИЋ ДАРКО
+ЈОКСИМОВИЋ ДУШКО
+ЈОКСИМОВИЋ ГОЛУБАНКА
+ЈОКСИМОВИЋ ЈОВАН ДИПЛ ИНГ
+ЈОКСИМОВИЋ ЉУБИЦА
+ЈОКСИМОВИЋ ЉУБИСАВ ДР
+ЈОКСИМОВИЋ ЉУБИСАВ
+ЈОКСИМОВИЋ МОМЧИЛО
+ЈОКСИМОВИЋ НАДА
+ЈОКСИМОВИЋ ПАВЛЕ
+ЈОКСИМОВИЋ ПЕТАР
+ЈОКСИМОВИЋ РАДОМИР
+ЈОКСИМОВИЋ СИНИША
+ЈОКСИМОВИЋ СТЕВАН
+ЈОКСИМОВИЋ ВЛАДИМИР
+ЈОКСИМОВИЋ ЗЛАТОМИР
+ЈОКСИМОВИЋ ЗОРАН
+ЈОКСОВИЋ ДРАГИША
+ЈОКСОВИЋ СНЕЖАНА
+ЈОЛДИЋ МАРА
+ЈОЛДИЋ МИОДРАГ
+ЈОЛИЋ ЖИВАН
+ЈОЛИЋ ЖИВОЈИН
+ЈОЛИЋ АНГЕЛИНА
+ЈОЛИЋ ДАНИЛО
+ЈОЛИЋ ЈАДРАНКА
+ЈОЛИЋ ЈОВАН
+ЈОЛИЋ КОНСТАНТИН
+ЈОЛИЋ КОСТА
+ЈОЛИЋ МИРЈАНА
+ЈОЛИЋ НЕБОЈША
+ЈОЛИЋ ПЕТАР
+ЈОЛИЋ СЛОБОДАН
+ЈОЛИЋ УРОШ
+ЈОЛИЋ ВАСА
+ЈОЛОВИЋ МИЛОВАН
+ЈОНЧИЋ МАРА
+ЈОНАШ ДУШАН
+ЈОНАШ ЛАСЛО
+ЈОНАШ НИКОЛА
+ЈОНИЋ БОШКО
+ЈОНИЋ ДРАГАН
+ЈОЊЕВ МИЛИВОЈ
+ЈОЊЕВ СЛАВОЉУБ
+ЈОЊИЋ САВО
+ЈОНОВИЋ ДУШАН
+ЈОНОВИЋ ПЕТАР
+ЈОНТОВИЋ АЛЕКСА
+ЈОНТОВИЋ-БИКИЋ МИРЈАНА
+ЈОНТОВИЋ РУДОЛФ
+ЈОНУЗОВИЋ ВЛАДИМИР
+ЈОРДАЧ АНА
+ЈОРДАН ЕРЖЕБЕТ
+ЈОРДАНОВ КИРИЛ
+ЈОРДАНОВСКИ СТАНОЈКО
+ЈОРГАНОВИЋ СИМО
+ЈОРГИЋ ЖИВАНА
+ЈОРГИЋ ДРАГОМИР
+ЈОРГОВАНОВИЋ ЈЕЛИСАВЕТА
+ЈОРОВИЋ БРАНКО
+ЈОРОВИЋ РАНКО
+ЈОСЕВСКИ СИМЕОН
+ЈОСИЋ АЛЕКСАНДАР
+ЈОСИЋ ФИЛИП
+ЈОСИЋ ИЛИЈА
+ЈОСИЋ ИВАН
+ЈОСИЋ КОСАНА
+ЈОСИЋ ЉУБИНКО
+ЈОСИЋ ЉУБИНКО
+ЈОСИЋ ЉУБОМИР
+ЈОСИЋ МИЛЕНКО
+ЈОСИЋ МИРЈАНА
+ЈОСИЋ ОБРАД
+ЈОСИЋ ОЛГА
+ЈОСИЋ РАДИНКА
+ЈОСИЋ СРЂА
+ЈОСИЋ СТЕВАН
+ЈОСИЋ СТЕВАН
+ЈОСИФИДИС КОСТА
+ЈОСИФОВИЋ ДИМИТРИЈЕ
+ЈОСИФОВИЋ ДРАГИЋ
+ЈОСИФОВИЋ ЉУБИЦА
+ЈОСИФОВИЋ ОЛГА
+ЈОСИМЧЕВ ЗВОНИМИР
+ЈОСИМОВ БОРИСЛАВ
+ЈОСИМОВ ДРАГОСЛАВ
+ЈОСИМОВ ДУШАН
+ЈОСИМОВ ГЛИГОРИЈЕ
+ЈОСИМОВ ЈЕЛЕНА
+ЈОСИМОВ СТЕВАН
+ЈОСИМОВ ВАСИЛИЈЕ
+ЈОСИМОВ ВОЈО
+ЈОСИМОВИЋ ЖИВА
+ЈОСИМОВИЋ БОРИВОЈ
+ЈОСИМОВИЋ БОРИВОЈ
+ЈОСИМОВИЋ ЈУЛИЈАНА
+ЈОСИМОВИЋ МАРКО
+ЈОСИМОВИЋ МИЛИЦА
+ЈОСИМОВИЋ НЕНАД
+ЈОСИМОВИЋ СИНИША
+ЈОСИМОВИЋ СТЕВАН
+ЈОСИМОВИЋ СТЕВАН
+ЈОСИМОВИЋ СТЕВКА
+ЈОСИМОВИЋ ТАТЈАНА
+ЈОСИМОВИЋ ВЛАДИМИР
+ЈОСИМОВИЋ ВЛАДИМИР
+ЈОСИМОВИЋ ВЛАДИМИР
+ЈОСИМОВИЋ ЗДЕНКА
+ЈОСИМОВСКИ АЛЕКСАНДАР
+ЈОСИН ДРАГАН
+ЈОСИН МАРИЈА
+ЈОСИН МИЛЕ
+ЈОСИН РАДИЦА
+ЈОСИН РАДОВАН
+ЈОСИН СЛОБОДАН
+ЈОСИПОВИЋ БОРИСЛАВ
+ЈОСИПОВИЋ БОРО
+ЈОСИПОВИЋ ДАНИЦА
+ЈОСИПОВИЋ ИВИЦА
+ЈОСИПОВИЋ ПЕТАР
+ЈОСИПОВИЋ СЛОБОДАН
+ЈОСИПОВИЋ ВЛАДИМИР
+ЈОТАНОВИЋ ДАРИНКА
+ЈОТАНОВИЋ КОРНЕЛИЈА
+ЈОТАНОВИЋ ЉУБОМИР
+ЈОТАНОВИЋ МИЛИВОЈ
+ЈОТАНОВИЋ НЕДЕЉКО
+ЈОТАНОВИЋ РАЈКО
+ЈОТАНОВИЋ СТАНКО
+ЈОТАНОВИЋ ТОМИСЛАВ
+ЈОТИЋ МИРОСЛАВ
+ЈОВЧИЋ ДУШКО
+ЈОВЧИЋ СЛАВКО
+ЈОВЧИЋ ВЛАДАН
+ЈОВАЧЕВИЋ ДМИТАР
+ЈОВАШЕВИЋ СЛОБОДАН
+ЈОВАНЧЕВИЋ БОСИЉКА
+ЈОВАНЧЕВИЋ ГОЈКО
+ЈОВАНЧЕВИЋ ИЛИЈА
+ЈОВАНЧЕВИЋ ЈЕЛИЦА
+ЈОВАНЧЕВИЋ ЈОВАН
+ЈОВАНЧЕВИЋ ЈОВАН
+ЈОВАНЧЕВИЋ КОВИЉКА
+ЈОВАНЧЕВИЋ СТЕВАН
+ЈОВАНЧЕВИЋ-ЗЕКИЋ НИКОЛА
+ЈОВАНЧЕВИЋ-ЗЕКИЋ НИКОЛА
+ЈОВАНЧИЋ ДРАГИЦА
+ЈОВАНЧИЋ МЕЛАНИЈА
+ЈОВАНЧИЋ МИОДРАГ
+ЈОВАНЧИЋ МИРОСЛАВ
+ЈОВАНЦАИ МАРИЈА
+ЈОВАНДИЋ МАНДА
+ЈОВАНДИЋ МИЛОШ
+ЈОВАНДИН МИЛАН
+ЈОВАНИЋ ЂОРЂЕ
+ЈОВАНИЋ ЂУРО
+ЈОВАНИЋ БОШКО
+ЈОВАНИЋ БОШКО
+ЈОВАНИЋ ДОБРИЦА
+ЈОВАНИЋ ДУШАН ДИПЛ ИНГ
+ЈОВАНИЋ МАРИЈА
+ЈОВАНИЋ МИРКО
+ЈОВАНИЋ МЛАДЕН
+ЈОВАНИЋ МОМИР
+ЈОВАНИЋ ОЛИВЕРА
+ЈОВАНИЋ ОЛИВЕРА
+ЈОВАНКИН АЛЕКСАНДАР
+ЈОВАНКОВИЋ РАДОСЛАВ
+ЈОВАНОВ ЖАРКО
+ЈОВАНОВ ЖИВА
+ЈОВАНОВ БИЉАНА
+ЈОВАНОВ БОШКО
+ЈОВАНОВ БОЈАНА
+ЈОВАНОВ БОРИСЛАВ
+ЈОВАНОВ БОРИСЛАВ
+ЈОВАНОВ БРАНИСЛАВ
+ЈОВАНОВ ДРАГАН
+ЈОВАНОВ ДРАГИЦА
+ЈОВАНОВ ДРАГИЊА
+ЈОВАНОВ ДРАГОЉУБ
+ЈОВАНОВ ДРАГОМИР
+ЈОВАНОВ ДУШАН
+ЈОВАНОВ ДУШАН
+ЈОВАНОВ ДУШИЦА
+ЈОВАНОВ ИГЊАТ
+ЈОВАНОВ ИСА
+ЈОВАНОВ ИВАН
+ЈОВАНОВ ЈАША
+ЈОВАНОВ ЈАСНА
+ЈОВАНОВ ЈЕЛЕНА
+ЈОВАНОВ ЈОВАН
+ЈОВАНОВ ЈОВАН
+ЈОВАНОВ ЈОВИЦА
+ЈОВАНОВ ЛАЗАР
+ЈОВАНОВ ЛАЗАР
+ЈОВАНОВ МЕЛАНИЈА
+ЈОВАНОВ МИЛАН
+ЈОВАНОВ МИЛАН
+ЈОВАНОВ МИЛАН
+ЈОВАНОВ МИЛИВОЈ
+ЈОВАНОВ МИЛОШ
+ЈОВАНОВ МИРЈАНА
+ЈОВАНОВ МЛАДЕН
+ЈОВАНОВ МОМЧИЛО
+ЈОВАНОВ ПЕТАР
+ЈОВАНОВ РАДИВОЈ
+ЈОВАНОВ САВА
+ЈОВАНОВ СПОМЕНКА
+ЈОВАНОВ СТЕВАНКА
+ЈОВАНОВ СТЕВАН
+ЈОВАНОВ СВЕТИСЛАВ
+ЈОВАНОВ СВЕТИСЛАВ
+ЈОВАНОВ СВЕТОЗАР
+ЈОВАНОВ ТОДОР
+ЈОВАНОВ ТОМА
+ЈОВАНОВ ВИДА
+ЈОВАНОВ ВЛАДИМИР
+ЈОВАНОВИЋ ЧЕДА
+ЈОВАНОВИЋ ЧЕДОМИР
+ЈОВАНОВИЋ ЧЕДОМИР
+ЈОВАНОВИЋ ЧЕДОМИР
+ЈОВАНОВИЋ ЧЕДО
+ЈОВАНОВИЋ ЖИВАДИН
+ЈОВАНОВИЋ ЖИВКА
+ЈОВАНОВИЋ ЖИВКО
+ЈОВАНОВИЋ ЖИВКО
+ЈОВАНОВИЋ ЖИВКО
+ЈОВАНОВИЋ ЖИВОЈИН
+ЈОВАНОВИЋ ЖИВОЈИН
+ЈОВАНОВИЋ ЖИВОЈИН
+ЈОВАНОВИЋ ЖИВОРАД
+ЈОВАНОВИЋ ЖИВОРАД
+ЈОВАНОВИЋ ЖИВОТА
+ЈОВАНОВИЋ ЂЕНЂИ
+ЈОВАНОВИЋ ЂОРЂЕ
+ЈОВАНОВИЋ ЂОРЂЕ
+ЈОВАНОВИЋ ЂОРЂЕ
+ЈОВАНОВИЋ ЂОРЂЕ
+ЈОВАНОВИЋ ЂОРЂЕ
+ЈОВАНОВИЋ ЂОРЂЕ
+ЈОВАНОВИЋ ЂОРЂЕ
+ЈОВАНОВИЋ ЂОРЂЕ
+ЈОВАНОВИЋ ЂОРЂЕ
+ЈОВАНОВИЋ ЂОРЂЕ
+ЈОВАНОВИЋ ЂОРЂЕ
+ЈОВАНОВИЋ ЂОРЂЕ
+ЈОВАНОВИЋ ЂУРЂИНА
+ЈОВАНОВИЋ ЂУРЂИНКА
+ЈОВАНОВИЋ ЂУРА
+ЈОВАНОВИЋ ЂУРО
+ЈОВАНОВИЋ АЛЕКСАНДАР ДР
+ЈОВАНОВИЋ АЛЕКСАНДАР
+ЈОВАНОВИЋ АЛЕКСАНДАР
+ЈОВАНОВИЋ АЛЕКСАНДАР
+ЈОВАНОВИЋ АЛЕКСАНДАР
+ЈОВАНОВИЋ АЛЕКСАНДАР
+ЈОВАНОВИЋ АЛЕКСАНДАР
+ЈОВАНОВИЋ АЛЕКСАНДАР
+ЈОВАНОВИЋ АЛЕКСАНДАР
+ЈОВАНОВИЋ АЛЕКСАНДАР
+ЈОВАНОВИЋ АЛЕКСАНДРА
+ЈОВАНОВИЋ АЛЕКСА
+ЈОВАНОВИЋ АНЂА
+ЈОВАНОВИЋ АНЂА
+ЈОВАНОВИЋ АНЂЕЛИЈА ДР
+ЈОВАНОВИЋ АНЂЕЛКА
+ЈОВАНОВИЋ АНЂЕЛКО
+ЈОВАНОВИЋ АНДРИЈА ДИПЛ ИНГ
+ЈОВАНОВИЋ АНДРИЈА ДИПЛ ОЕЦ
+ЈОВАНОВИЋ АНДРИЈА
+ЈОВАНОВИЋ АНДРИЈА
+ЈОВАНОВИЋ АНГЕЛИНА
+ЈОВАНОВИЋ АНИЦА
+ЈОВАНОВИЋ АНКИЦА
+ЈОВАНОВИЋ АРАНЂЕЛ
+ЈОВАНОВИЋ АРСА ДР
+ЈОВАНОВИЋ АРСА
+ЈОВАНОВИЋ АРСЕНИЈЕ
+ЈОВАНОВИЋ-АРСИЋ ВИОЛЕТА
+ЈОВАНОВИЋ-БАНКОВАЧКИ ЈОВАНКА
+ЈОВАНОВИЋ БЛАГОЈЕ
+ЈОВАНОВИЋ БОШКО
+ЈОВАНОВИЋ БОШКО
+ЈОВАНОВИЋ БОШКО
+ЈОВАНОВИЋ БОШКО
+ЈОВАНОВИЋ БОШКО
+ЈОВАНОВИЋ БОЖИДАР ПРОФЕСОР
+ЈОВАНОВИЋ БОЖИДАР
+ЈОВАНОВИЋ БОЖО
+ЈОВАНОВИЋ БОГДАНКА
+ЈОВАНОВИЋ БОГДАНКА
+ЈОВАНОВИЋ БОГДАН
+ЈОВАНОВИЋ БОГДАН
+ЈОВАНОВИЋ БОГДАН
+ЈОВАНОВИЋ БОЈАНА
+ЈОВАНОВИЋ БОРИСЛАВ
+ЈОВАНОВИЋ БОРИСЛАВ
+ЈОВАНОВИЋ БОРИВОЈ ДИПЛ ИНГ
+ЈОВАНОВИЋ БОРИВОЈ
+ЈОВАНОВИЋ БОСИЉКА
+ЈОВАНОВИЋ БРАНИБОР
+ЈОВАНОВИЋ БРАНИМИР
+ЈОВАНОВИЋ БРАНИСЛАВА
+ЈОВАНОВИЋ БРАНИСЛАВ
+ЈОВАНОВИЋ БРАНИСЛАВ
+ЈОВАНОВИЋ БРАНИСЛАВ
+ЈОВАНОВИЋ БРАНИСЛАВ
+ЈОВАНОВИЋ БРАНКА
+ЈОВАНОВИЋ БРАНКО
+ЈОВАНОВИЋ БРАНКО
+ЈОВАНОВИЋ БРАНКО
+ЈОВАНОВИЋ БРАТИСЛАВ ДР
+ЈОВАНОВИЋ БУДИМИР
+ЈОВАНОВИЋ ЦВЕТА
+ЈОВАНОВИЋ ЦВЕТКО
+ЈОВАНОВИЋ ДАЛИБОР ДИПЛ ПРАВНИК
+ЈОВАНОВИЋ ДАЛИБОР
+ЈОВАНОВИЋ ДАНИЛО
+ЈОВАНОВИЋ ДАРИНКА
+ЈОВАНОВИЋ ДЕЈАН
+ЈОВАНОВИЋ ДЕЈАН
+ЈОВАНОВИЋ ДИМИТРИЈЕ
+ЈОВАНОВИЋ ДИМИТРИЈЕ
+ЈОВАНОВИЋ ДИМИТРИЈЕ
+ЈОВАНОВИЋ ДИМИТРИЈЕ
+ЈОВАНОВИЋ ДОБРИЛА
+ЈОВАНОВИЋ ДОБРИВОЈЕ
+ЈОВАНОВИЋ ДОБРОСАВ
+ЈОВАНОВИЋ ДОБРОСАВ
+ЈОВАНОВИЋ ДРАГАНА
+ЈОВАНОВИЋ ДРАГАНА
+ЈОВАНОВИЋ ДРАГАН
+ЈОВАНОВИЋ ДРАГАН
+ЈОВАНОВИЋ ДРАГАН
+ЈОВАНОВИЋ ДРАГАН
+ЈОВАНОВИЋ ДРАГАН
+ЈОВАНОВИЋ ДРАГАН
+ЈОВАНОВИЋ ДРАГАН
+ЈОВАНОВИЋ ДРАГАН
+ЈОВАНОВИЋ ДРАГАН
+ЈОВАНОВИЋ ДРАГАН
+ЈОВАНОВИЋ ДРАГАН
+ЈОВАНОВИЋ ДРАГИША
+ЈОВАНОВИЋ ДРАГИЋ
+ЈОВАНОВИЋ ДРАГИЋ
+ЈОВАНОВИЋ ДРАГИЦА
+ЈОВАНОВИЋ ДРАГИЦА
+ЈОВАНОВИЋ ДРАГИЦА
+ЈОВАНОВИЋ ДРАГИЦА
+ЈОВАНОВИЋ ДРАГИВОЈЕ
+ЈОВАНОВИЋ ДРАГОЉУБ ОЕЦ
+ЈОВАНОВИЋ ДРАГОЉУБ
+ЈОВАНОВИЋ ДРАГОЉУБ
+ЈОВАНОВИЋ ДРАГОЉУБ
+ЈОВАНОВИЋ ДРАГОСЛАВ ДИПЛ ИНГ
+ЈОВАНОВИЋ ДРАГОСЛАВ ДИПЛ ИНГ
+ЈОВАНОВИЋ ДРАГОСЛАВ
+ЈОВАНОВИЋ ДРАГОСЛАВ
+ЈОВАНОВИЋ ДРАГОСЛАВ
+ЈОВАНОВИЋ ДРАГОСЛАВ
+ЈОВАНОВИЋ ДРАГОСЛАВ
+ЈОВАНОВИЋ ДРАГОСЛАВ
+ЈОВАНОВИЋ ДРАГОСЛАВ
+ЈОВАНОВИЋ ДРАГОСЛАВ
+ЈОВАНОВИЋ ДРАГО
+ЈОВАНОВИЋ ДРАГУТИН
+ЈОВАНОВИЋ ДУШАН ДР ПРОФ
+ЈОВАНОВИЋ ДУШАН ДР
+ЈОВАНОВИЋ ДУШАН ДР
+ЈОВАНОВИЋ ДУШАНКА
+ЈОВАНОВИЋ ДУШАНКА
+ЈОВАНОВИЋ ДУШАН
+ЈОВАНОВИЋ ДУШАН
+ЈОВАНОВИЋ ДУШАН
+ЈОВАНОВИЋ ДУШАН
+ЈОВАНОВИЋ ДУШАН
+ЈОВАНОВИЋ ДУШАН
+ЈОВАНОВИЋ ДУШАН
+ЈОВАНОВИЋ ДУШАН
+ЈОВАНОВИЋ ДУШАН
+ЈОВАНОВИЋ ДУШАН
+ЈОВАНОВИЋ ДУШАН
+ЈОВАНОВИЋ ДУШАН
+ЈОВАНОВИЋ ДУШАН
+ЈОВАНОВИЋ ДУШАН
+ЈОВАНОВИЋ ДУШАН
+ЈОВАНОВИЋ ДУШАН
+ЈОВАНОВИЋ ДУШАН
+ЈОВАНОВИЋ ДУШКО
+ЈОВАНОВИЋ ДУШКО
+ЈОВАНОВИЋ ДУДА
+ЈОВАНОВИЋ ЕЛЕНА
+ЈОВАНОВИЋ ЕМИЦА
+ЈОВАНОВИЋ ЕСМА
+ЈОВАНОВИЋ ЕВИЦА
+ЈОВАНОВИЋ ФЕЛИЦИЈА
+ЈОВАНОВИЋ ФИЛИП
+ЈОВАНОВИЋ ГЕОРГ
+ЈОВАНОВИЋ ГОЈКО
+ЈОВАНОВИЋ ГОЈКО
+ЈОВАНОВИЋ ГОРАН
+ЈОВАНОВИЋ ГОРАН
+ЈОВАНОВИЋ ГОРДАНА
+ЈОВАНОВИЋ ГОРДАНА
+ЈОВАНОВИЋ ГОРДАНА
+ЈОВАНОВИЋ ГОРДАНА
+ЈОВАНОВИЋ ГОРДАНА
+ЈОВАНОВИЋ ГРОЗДА
+ЈОВАНОВИЋ ГРУЈА
+ЈОВАНОВИЋ ГРУЈИЦА
+ЈОВАНОВИЋ ХРИСТИНА
+ЈОВАНОВИЋ ИЛЕ
+ЈОВАНОВИЋ ИЛИЈА
+ЈОВАНОВИЋ ИЛИЈА
+ЈОВАНОВИЋ ИЛИЈА
+ЈОВАНОВИЋ ИЛИЈА
+ЈОВАНОВИЋ ИЛИЈА
+ЈОВАНОВИЋ ИЛИЈА
+ЈОВАНОВИЋ ИРИНА
+ЈОВАНОВИЋ ИВАН ДР
+ЈОВАНОВИЋ ИВАНКА ДР ПРОФ
+ЈОВАНОВИЋ ИВАНКА
+ЈОВАНОВИЋ ИВАН
+ЈОВАНОВИЋ ИВАН
+ЈОВАНОВИЋ ЈАША
+ЈОВАНОВИЋ ЈАДРАНКА
+ЈОВАНОВИЋ ЈАСМИНКА
+ЈОВАНОВИЋ ЈЕЛА
+ЈОВАНОВИЋ ЈЕЛЕНА
+ЈОВАНОВИЋ ЈЕЛЕНА
+ЈОВАНОВИЋ ЈЕЛЕНА
+ЈОВАНОВИЋ ЈЕЛЕНА
+ЈОВАНОВИЋ ЈЕЛИЦА
+ЈОВАНОВИЋ ЈЕЛИСАВЕТА
+ЈОВАНОВИЋ ЈЕЛИСАВЕТА
+ЈОВАНОВИЋ ЈЕЛИСАВЕТА
+ЈОВАНОВИЋ ЈЕЛКА
+ЈОВАНОВИЋ ЈЕВТА
+ЈОВАНОВИЋ ЈОЦА
+ЈОВАНОВИЋ ЈОВАНКА
+ЈОВАНОВИЋ ЈОВАНКА
+ЈОВАНОВИЋ ЈОВАН
+ЈОВАНОВИЋ ЈОВАН
+ЈОВАНОВИЋ ЈОВАН
+ЈОВАНОВИЋ ЈОВАН
+ЈОВАНОВИЋ ЈОВАН
+ЈОВАНОВИЋ ЈОВАН
+ЈОВАНОВИЋ ЈОВАН
+ЈОВАНОВИЋ ЈОВАН
+ЈОВАНОВИЋ ЈОВАН
+ЈОВАНОВИЋ ЈОВАН
+ЈОВАНОВИЋ ЈОВАН
+ЈОВАНОВИЋ ЈОВИЦА
+ЈОВАНОВИЋ ЈОВИЦА
+ЈОВАНОВИЋ ЈОВИЦА
+ЈОВАНОВИЋ ЈОВИЦА
+ЈОВАНОВИЋ ЈОВИЦА
+ЈОВАНОВИЋ ЈУЛИЈАНА
+ЈОВАНОВИЋ ЈУЛКА
+ЈОВАНОВИЋ КАТАРИНА
+ЈОВАНОВИЋ КАТИЦА
+ЈОВАНОВИЋ КОСАНА
+ЈОВАНОВИЋ КОСТА
+ЈОВАНОВИЋ КОСТА
+ЈОВАНОВИЋ-КОСТИЋ ДРАГОСЛАВА
+ЈОВАНОВИЋ КОВИНКА
+ЈОВАНОВИЋ КСЕНИЈА
+ЈОВАНОВИЋ ЛАЗАР
+ЈОВАНОВИЋ ЛАЗАР
+ЈОВАНОВИЋ ЛАЗАР
+ЈОВАНОВИЋ ЛАЗАР
+ЈОВАНОВИЋ ЛАЗАР
+ЈОВАНОВИЋ ЉИЉАНА
+ЈОВАНОВИЋ ЉУБАН
+ЈОВАНОВИЋ ЉУБИША
+ЈОВАНОВИЋ ЉУБИША
+ЈОВАНОВИЋ ЉУБИЦА
+ЈОВАНОВИЋ ЉУБИЦА
+ЈОВАНОВИЋ ЉУБИЦА
+ЈОВАНОВИЋ ЉУБИЦА
+ЈОВАНОВИЋ ЉУБИНКА
+ЈОВАНОВИЋ ЉУБИНКА
+ЈОВАНОВИЋ ЉУБИВОЈЕ ДР
+ЈОВАНОВИЋ ЉУБОМИР МР
+ЈОВАНОВИЋ ЉУБОМИР
+ЈОВАНОВИЋ ЉУБО
+ЈОВАНОВИЋ ЛУКА
+ЈОВАНОВИЋ ЛУКА
+ЈОВАНОВИЋ ЛУКА
+ЈОВАНОВИЋ ЛУКА
+ЈОВАНОВИЋ МАЛИША
+ЈОВАНОВИЋ МАРА
+ЈОВАНОВИЋ МАРА
+ЈОВАНОВИЋ МАРА
+ЈОВАНОВИЋ МАРИЦА
+ЈОВАНОВИЋ МАРИЈА
+ЈОВАНОВИЋ МАРИЈА
+ЈОВАНОВИЋ МАРИЈА
+ЈОВАНОВИЋ МАРИЈА
+ЈОВАНОВИЋ МАРИЈА
+ЈОВАНОВИЋ МАРИЈА
+ЈОВАНОВИЋ МАРИЈА
+ЈОВАНОВИЋ МАРКО
+ЈОВАНОВИЋ МАРКО
+ЈОВАНОВИЋ МИЋО
+ЈОВАНОВИЋ МИХАЈЛО
+ЈОВАНОВИЋ МИХАЈЛО
+ЈОВАНОВИЋ МИХАЈЛО
+ЈОВАНОВИЋ МИЈАТ
+ЈОВАНОВИЋ МИЈА
+ЈОВАНОВИЋ МИЛАШИН
+ЈОВАНОВИЋ МИЛАДИН
+ЈОВАНОВИЋ МИЛАН АДВОКАТ
+ЈОВАНОВИЋ МИЛАН ДИПЛ ИНГ
+ЈОВАНОВИЋ МИЛАНКА
+ЈОВАНОВИЋ МИЛАНКА
+ЈОВАНОВИЋ МИЛАНКА
+ЈОВАНОВИЋ МИЛАН
+ЈОВАНОВИЋ МИЛАН
+ЈОВАНОВИЋ МИЛАН
+ЈОВАНОВИЋ МИЛАН
+ЈОВАНОВИЋ МИЛАН
+ЈОВАНОВИЋ МИЛАН
+ЈОВАНОВИЋ МИЛАН
+ЈОВАНОВИЋ МИЛАН
+ЈОВАНОВИЋ МИЛАН
+ЈОВАНОВИЋ МИЛАН
+ЈОВАНОВИЋ МИЛАН
+ЈОВАНОВИЋ МИЛАН
+ЈОВАНОВИЋ МИЛАН
+ЈОВАНОВИЋ МИЛАН
+ЈОВАНОВИЋ МИЛАН
+ЈОВАНОВИЋ МИЛАН
+ЈОВАНОВИЋ МИЛЕНА
+ЈОВАНОВИЋ МИЛЕНА
+ЈОВАНОВИЋ МИЛЕНА
+ЈОВАНОВИЋ МИЛЕНКО ДР
+ЈОВАНОВИЋ МИЛЕНКО
+ЈОВАНОВИЋ МИЛЕНКО
+ЈОВАНОВИЋ МИЛЕНКО
+ЈОВАНОВИЋ МИЛЕНКО
+ЈОВАНОВИЋ МИЛЕНКО
+ЈОВАНОВИЋ МИЛЕНКО
+ЈОВАНОВИЋ МИЛЕНКО
+ЈОВАНОВИЋ МИЛЕНТИЈЕ
+ЈОВАНОВИЋ МИЛЕВА
+ЈОВАНОВИЋ МИЛЕ
+ЈОВАНОВИЋ МИЛЕ
+ЈОВАНОВИЋ МИЛИЋ
+ЈОВАНОВИЋ МИЛИЋ
+ЈОВАНОВИЋ МИЛИЦА
+ЈОВАНОВИЋ МИЛИЦА
+ЈОВАНОВИЋ МИЛИЦА
+ЈОВАНОВИЋ МИЛИЈАНА
+ЈОВАНОВИЋ МИЛИСАВ
+ЈОВАНОВИЋ МИЛИВОЈЕ
+ЈОВАНОВИЋ МИЛИВОЈ
+ЈОВАНОВИЋ МИЛИВОЈ
+ЈОВАНОВИЋ МИЉАНА
+ЈОВАНОВИЋ МИЛКАН
+ЈОВАНОВИЋ МИЛОШ
+ЈОВАНОВИЋ МИЛОШ
+ЈОВАНОВИЋ МИЛОШ
+ЈОВАНОВИЋ МИЛОШ
+ЈОВАНОВИЋ МИЛОШ
+ЈОВАНОВИЋ МИЛОШ
+ЈОВАНОВИЋ МИЛОШ
+ЈОВАНОВИЋ МИЛОШ
+ЈОВАНОВИЋ МИЛОЊА
+ЈОВАНОВИЋ МИЛОРАД ДИПЛ ИНГ
+ЈОВАНОВИЋ МИЛОРАД ДР ЛЕКАР
+ЈОВАНОВИЋ МИЛОРАД
+ЈОВАНОВИЋ МИЛОРАД
+ЈОВАНОВИЋ МИЛОВАН
+ЈОВАНОВИЋ МИЛОВАН
+ЈОВАНОВИЋ МИЛУТИН
+ЈОВАНОВИЋ МИЛУТИН
+ЈОВАНОВИЋ МИОДРАГ
+ЈОВАНОВИЋ МИОДРАГ
+ЈОВАНОВИЋ МИОДРАГ
+ЈОВАНОВИЋ МИОДРАГ
+ЈОВАНОВИЋ МИОДРАГ
+ЈОВАНОВИЋ МИОДРАГ
+ЈОВАНОВИЋ МИРА
+ЈОВАНОВИЋ МИРА
+ЈОВАНОВИЋ МИРА
+ЈОВАНОВИЋ МИРЈАНА
+ЈОВАНОВИЋ МИРЈАНА
+ЈОВАНОВИЋ МИРЈАНА
+ЈОВАНОВИЋ МИРКО
+ЈОВАНОВИЋ МИРКО
+ЈОВАНОВИЋ МИРКО
+ЈОВАНОВИЋ МИРКО
+ЈОВАНОВИЋ МИРОЉУБ
+ЈОВАНОВИЋ МИРОСЛАВА
+ЈОВАНОВИЋ МИРОСЛАВА
+ЈОВАНОВИЋ МИРОСЛАВ
+ЈОВАНОВИЋ МИРОСЛАВ
+ЈОВАНОВИЋ МИРОСЛАВ
+ЈОВАНОВИЋ МИРОСЛАВ
+ЈОВАНОВИЋ МИРОСЛАВ
+ЈОВАНОВИЋ МИРОСЛАВ
+ЈОВАНОВИЋ МИРОСЛАВ
+ЈОВАНОВИЋ МИРОСЛАВ
+ЈОВАНОВИЋ МИРОСЛАВ
+ЈОВАНОВИЋ МИТАР
+ЈОВАНОВИЋ МЛАЂА
+ЈОВАНОВИЋ МЛАДЕНКА
+ЈОВАНОВИЋ МЛАДЕН
+ЈОВАНОВИЋ МЛАДЕН
+ЈОВАНОВИЋ МОМЧИЛО
+ЈОВАНОВИЋ МОМЧИЛО
+ЈОВАНОВИЋ МОМИР
+ЈОВАНОВИЋ НАДА
+ЈОВАНОВИЋ НАДА
+ЈОВАНОВИЋ НАДА
+ЈОВАНОВИЋ НАДА
+ЈОВАНОВИЋ НАДЕЖДА
+ЈОВАНОВИЋ НАДЕЖДА
+ЈОВАНОВИЋ НАДЕЖДА
+ЈОВАНОВИЋ НЕБОЈША
+ЈОВАНОВИЋ НЕДА
+ЈОВАНОВИЋ НЕДЕЉКА
+ЈОВАНОВИЋ НЕМАЊА
+ЈОВАНОВИЋ НЕМАЊА
+ЈОВАНОВИЋ НЕНАД АДВОКАТ
+ЈОВАНОВИЋ НЕНАД
+ЈОВАНОВИЋ НЕНАД
+ЈОВАНОВИЋ НЕНАД
+ЈОВАНОВИЋ НЕВЕНА
+ЈОВАНОВИЋ НЕВЕНКА
+ЈОВАНОВИЋ НЕВЕНКА
+ЈОВАНОВИЋ НИКОЛА
+ЈОВАНОВИЋ НИКОЛА
+ЈОВАНОВИЋ НИКОЛА
+ЈОВАНОВИЋ НИКОЛА
+ЈОВАНОВИЋ НИКОЛА
+ЈОВАНОВИЋ НОВАК
+ЈОВАНОВИЋ НОВИЦА
+ЈОВАНОВИЋ ОБРАД
+ЈОВАНОВИЋ ОЛГА
+ЈОВАНОВИЋ ОЛГА
+ЈОВАНОВИЋ ОЛГА
+ЈОВАНОВИЋ ОЛГА
+ЈОВАНОВИЋ ОЛГИЦА
+ЈОВАНОВИЋ ОСТОЈА
+ЈОВАНОВИЋ ОСТОЈА
+ЈОВАНОВИЋ ОСТОЈА
+ЈОВАНОВИЋ ПАВЛЕ
+ЈОВАНОВИЋ ПАВЛЕ
+ЈОВАНОВИЋ ПАВЛЕ
+ЈОВАНОВИЋ ПЕРА
+ЈОВАНОВИЋ ПЕРИЦА
+ЈОВАНОВИЋ ПЕРИЦА
+ЈОВАНОВИЋ ПЕРО
+ЈОВАНОВИЋ ПЕРО
+ЈОВАНОВИЋ ПЕТАР
+ЈОВАНОВИЋ ПЕТАР
+ЈОВАНОВИЋ ПЕТАР
+ЈОВАНОВИЋ ПЕТАР
+ЈОВАНОВИЋ ПЕТАР
+ЈОВАНОВИЋ ПЕТАР
+ЈОВАНОВИЋ ПЕТАР
+ЈОВАНОВИЋ ПЕТАР
+ЈОВАНОВИЋ ПРЕДРАГ ДР
+ЈОВАНОВИЋ ПРЕДРАГ
+ЈОВАНОВИЋ ПРЕДРАГ
+ЈОВАНОВИЋ ПРЕДРАГ
+ЈОВАНОВИЋ РАДЕ
+ЈОВАНОВИЋ РАДИША
+ЈОВАНОВИЋ РАДИНКА
+ЈОВАНОВИЋ РАДИВОЈ
+ЈОВАНОВИЋ РАДИВОЈ
+ЈОВАНОВИЋ РАДМИЛА
+ЈОВАНОВИЋ РАДМИЛА
+ЈОВАНОВИЋ РАДМИЛА
+ЈОВАНОВИЋ РАДОМИР ДР
+ЈОВАНОВИЋ РАДОМИР
+ЈОВАНОВИЋ РАДОЊА
+ЈОВАНОВИЋ РАДОСЛАВА
+ЈОВАНОВИЋ РАДОСЛАВ
+ЈОВАНОВИЋ РАДОСЛАВ
+ЈОВАНОВИЋ РАДОВАН
+ЈОВАНОВИЋ РАДОВАН
+ЈОВАНОВИЋ РАДОВАН
+ЈОВАНОВИЋ РАДОВАН
+ЈОВАНОВИЋ РАДОВАН
+ЈОВАНОВИЋ РАЈКО
+ЈОВАНОВИЋ РАНЂЕЛ
+ЈОВАНОВИЋ РАНКО
+ЈОВАНОВИЋ РАТКА
+ЈОВАНОВИЋ РУЖА
+ЈОВАНОВИЋ РУЖИЦА
+ЈОВАНОВИЋ РУЖИЦА
+ЈОВАНОВИЋ РУЖИЦА
+ЈОВАНОВИЋ САША
+ЈОВАНОВИЋ САВА
+ЈОВАНОВИЋ САВЕТА
+ЈОВАНОВИЋ САВО
+ЈОВАНОВИЋ САВО
+ЈОВАНОВИЋ СЕЛИМИР
+ЈОВАНОВИЋ СЕРАФИМ
+ЈОВАНОВИЋ СИМА
+ЈОВАНОВИЋ СИМА
+ЈОВАНОВИЋ СИМО
+ЈОВАНОВИЋ СИНИША
+ЈОВАНОВИЋ СЛАВИЦА
+ЈОВАНОВИЋ СЛАВКО
+ЈОВАНОВИЋ СЛАВКО
+ЈОВАНОВИЋ СЛАВКО
+ЈОВАНОВИЋ СЛАВКО
+ЈОВАНОВИЋ СЛОБОДАН ДР
+ЈОВАНОВИЋ СЛОБОДАН
+ЈОВАНОВИЋ СЛОБОДАН
+ЈОВАНОВИЋ СЛОБОДАН
+ЈОВАНОВИЋ СЛОБОДАН
+ЈОВАНОВИЋ СЛОБОДАН
+ЈОВАНОВИЋ СЛОБОДАН
+ЈОВАНОВИЋ СМИЉА
+ЈОВАНОВИЋ СМИЉА
+ЈОВАНОВИЋ СМИЉКА
+ЈОВАНОВИЋ СМИЉКА
+ЈОВАНОВИЋ СОФИЈА
+ЈОВАНОВИЋ СПИРА
+ЈОВАНОВИЋ СПОМЕНКА
+ЈОВАНОВИЋ СРЂАН
+ЈОВАНОВИЋ СРБИСЛАВ
+ЈОВАНОВИЋ СРЕТЕН
+ЈОВАНОВИЋ СТАНИША
+ЈОВАНОВИЋ СТАНИМИР
+ЈОВАНОВИЋ СТАНИМИР
+ЈОВАНОВИЋ СТАНИМИР
+ЈОВАНОВИЋ СТАНКО
+ЈОВАНОВИЋ СТАНОЈЕ
+ЈОВАНОВИЋ СТЕВАН
+ЈОВАНОВИЋ СТЕВАН
+ЈОВАНОВИЋ СТЕВАН
+ЈОВАНОВИЋ СТЕВАН
+ЈОВАНОВИЋ СТЕВАН
+ЈОВАНОВИЋ СТЕВАН
+ЈОВАНОВИЋ СТЕВАН
+ЈОВАНОВИЋ СТЕВАН
+ЈОВАНОВИЋ СТЕВАН
+ЈОВАНОВИЋ СТОЈША
+ЈОВАНОВИЋ-СТОЈАН ГЕРТРУДА ДР
+ЈОВАНОВИЋ СТОЈАНКА
+ЈОВАНОВИЋ СТОЈАНКА
+ЈОВАНОВИЋ СТОЈАН
+ЈОВАНОВИЋ СТОЈАН
+ЈОВАНОВИЋ СТОЈАН
+ЈОВАНОВИЋ СТОЈАН
+ЈОВАНОВИЋ СУЗАНА
+ЈОВАНОВИЋ СВЕТЛАНА
+ЈОВАНОВИЋ СВЕТОЗАР
+ЈОВАНОВИЋ СВЕТОЗАР
+ЈОВАНОВИЋ СВЕТОЗАР
+ЈОВАНОВИЋ СВЕТОЗАР
+ЈОВАНОВИЋ ТАТЈАНА
+ЈОВАНОВИЋ ТЕОДОРА
+ЈОВАНОВИЋ ТИХОМИР
+ЈОВАНОВИЋ ТИХОМИР
+ЈОВАНОВИЋ ТОДОР
+ЈОВАНОВИЋ ТОМА
+ЈОВАНОВИЋ ТОМИСЛАВ
+ЈОВАНОВИЋ ТОМИСЛАВ
+ЈОВАНОВИЋ ТРАЈКО
+ЈОВАНОВИЋ ТУГОМИР
+ЈОВАНОВИЋ УРОШ
+ЈОВАНОВИЋ ВАСА
+ЈОВАНОВИЋ ВАСА
+ЈОВАНОВИЋ ВАСИЛИЈЕ
+ЈОВАНОВИЋ ВАСИЛИЈЕ
+ЈОВАНОВИЋ ВАСИЛИЈЕ
+ЈОВАНОВИЋ ВАСИЛИЈЕ
+ЈОВАНОВИЋ ВАСИЉ
+ЈОВАНОВИЋ ВЕЛИЧКО
+ЈОВАНОВИЋ ВЕЛИБОР
+ЈОВАНОВИЋ ВЕЛИБОР
+ЈОВАНОВИЋ ВЕЛИБОР
+ЈОВАНОВИЋ ВЕЛИНКА
+ЈОВАНОВИЋ ВЕРА
+ЈОВАНОВИЋ ВЕРА
+ЈОВАНОВИЋ ВЕРА
+ЈОВАНОВИЋ ВЕРА
+ЈОВАНОВИЋ ВЕРИЦА
+ЈОВАНОВИЋ ВЕРИЦА
+ЈОВАНОВИЋ ВЕРОЉУБ
+ЈОВАНОВИЋ ВЕСЕЛИН
+ЈОВАНОВИЋ ВЕСНА
+ЈОВАНОВИЋ ВЕСНА
+ЈОВАНОВИЋ ВЕСНА
+ЈОВАНОВИЋ ВИДА
+ЈОВАНОВИЋ ВИДОСЛАВ
+ЈОВАНОВИЋ ВИЛМА
+ЈОВАНОВИЋ ВЛАДА
+ЈОВАНОВИЋ ВЛАДА
+ЈОВАНОВИЋ ВЛАДИМИР
+ЈОВАНОВИЋ ВЛАДИМИР
+ЈОВАНОВИЋ ВЛАДИМИР
+ЈОВАНОВИЋ ВЛАДИМИР
+ЈОВАНОВИЋ ВЛАДИСЛАВА
+ЈОВАНОВИЋ ВЛАЈКО
+ЈОВАНОВИЋ ВЛАСТИМИР
+ЈОВАНОВИЋ ВОЈИСЛАВ ДР ПРОФ
+ЈОВАНОВИЋ ВОЈИСЛАВ
+ЈОВАНОВИЋ ВОЈИСЛАВ
+ЈОВАНОВИЋ ВОЈИСЛАВ
+ЈОВАНОВИЋ ВОЈИСЛАВ
+ЈОВАНОВИЋ ВОЈИСЛАВ
+ЈОВАНОВИЋ ВОЈИСЛАВ
+ЈОВАНОВИЋ ВУЧЕТА
+ЈОВАНОВИЋ ЗАГОРКА
+ЈОВАНОВИЋ ЗДЕНКА
+ЈОВАНОВИЋ ЗДРАВКО
+ЈОВАНОВИЋ ЗДРАВКО
+ЈОВАНОВИЋ ЗОРАН
+ЈОВАНОВИЋ ЗОРАН
+ЈОВАНОВИЋ ЗОРАН
+ЈОВАНОВИЋ ЗОРАН
+ЈОВАНОВИЋ ЗОРАН
+ЈОВАНОВИЋ ЗОРАН
+ЈОВАНОВИЋ ЗОРАН
+ЈОВАНОВИЋ ЗОРАН
+ЈОВАНОВИЋ ЗОРАН
+ЈОВАНОВИЋ ЗОРАН
+ЈОВАНОВИЋ ЗОРАН
+ЈОВАНОВИЋ ЗОРАН
+ЈОВАНОВИЋ ЗОРА
+ЈОВАНОВИЋ ЗОРА
+ЈОВАНОВИЋ ЗОРИЦА
+ЈОВАНОВИЋ ЗОРИЦА
+ЈОВАНОВИЋ ЗОРИЦА
+ЈОВАНОВИЋ ЗОРКА
+ЈОВАНОВИЋ ЗВОНИМИР
+ЈОВАНОВСКА ЦВЕТА
+ЈОВАНОВСКА ТАСКА
+ЈОВАНОВСКИ ДИМИТАР
+ЈОВАНОВСКИ ДУШАН
+ЈОВАНОВСКИ МИЛЕ
+ЈОВАНОВСКИ МИЛЕ
+ЈОВАНОВСКИ МИЛИЦА
+ЈОВАНОВСКИ НИКОЛА
+ЈОВАНОВСКИ ПЕТАР
+ЈОВАНОВСКИ СИМЕОНА
+ЈОВАНОВСКИ СТОЈАДИН
+ЈОВЕР МИХАЉ
+ЈОВЕТИЋ АНДРИЈА
+ЈОВЕТИЋ БРАНКО
+ЈОВЕТИЋ БРАНКО
+ЈОВЕТИЋ МИЛИЦА
+ЈОВЕТИЋ СТАНКО
+ЈОВЕТИЋ ВЕСЕЛИН
+ЈОВИЧЕВИЋ ВЛАДИМИР ДР
+ЈОВИЧИЋ ЧЕДОМИР
+ЈОВИЧИЋ ЖАРКО
+ЈОВИЧИЋ ЖАРКО
+ЈОВИЧИЋ ЖЕЉКО
+ЈОВИЧИЋ ЖИВАН
+ЈОВИЧИЋ ЂОРЂЕ
+ЈОВИЧИЋ ЂОРЂЕ
+ЈОВИЧИЋ ЂУРА
+ЈОВИЧИЋ АНКИЦА
+ЈОВИЧИЋ БОШКО
+ЈОВИЧИЋ БОГДАН
+ЈОВИЧИЋ БОРА
+ЈОВИЧИЋ БРАНЕ
+ЈОВИЧИЋ БРАНИСЛАВА
+ЈОВИЧИЋ БРАНКА
+ЈОВИЧИЋ ДЕЈАН
+ЈОВИЧИЋ ДРАГАН
+ЈОВИЧИЋ ДРАГАН
+ЈОВИЧИЋ ДРАГАН
+ЈОВИЧИЋ ДРАГАН
+ЈОВИЧИЋ ДРАГОЉУБ
+ЈОВИЧИЋ ДУШАН
+ЈОВИЧИЋ ДУШАН
+ЈОВИЧИЋ ДУШКО
+ЈОВИЧИЋ ГЕОРГИЈЕ
+ЈОВИЧИЋ ХЕЛЕНА
+ЈОВИЧИЋ ИЛИЈА
+ЈОВИЧИЋ ИЛИЈА
+ЈОВИЧИЋ ЈЕЛИСАВЕТА
+ЈОВИЧИЋ ЈОВАН
+ЈОВИЧИЋ ЈОВИЦА
+ЈОВИЧИЋ КАТИЦА
+ЈОВИЧИЋ ЛАЗАР
+ЈОВИЧИЋ ЛЕПОСАВА
+ЈОВИЧИЋ ЉИЉАНА
+ЈОВИЧИЋ ЉИЉАНА
+ЈОВИЧИЋ ЉУБИЦА
+ЈОВИЧИЋ ЉУБИЦА
+ЈОВИЧИЋ ЉУБИНКА
+ЈОВИЧИЋ ЉУБОМИР
+ЈОВИЧИЋ МАКСИМ
+ЈОВИЧИЋ МАРА
+ЈОВИЧИЋ МАРИЈА
+ЈОВИЧИЋ МАРИЈА
+ЈОВИЧИЋ МАРКО
+ЈОВИЧИЋ МАРКО
+ЈОВИЧИЋ МАРКО
+ЈОВИЧИЋ МАРКО
+ЈОВИЧИЋ МИЛАДИН
+ЈОВИЧИЋ МИЛАН
+ЈОВИЧИЋ МИЛАН
+ЈОВИЧИЋ МИЛЕНКО
+ЈОВИЧИЋ МИЛЕНКО
+ЈОВИЧИЋ МИЛИЦА
+ЈОВИЧИЋ МИЛИЦА
+ЈОВИЧИЋ МИЛОШ
+ЈОВИЧИЋ МИЛОШ
+ЈОВИЧИЋ МИЛОМИР
+ЈОВИЧИЋ МИЛОРАД
+ЈОВИЧИЋ МИЛОВАН
+ЈОВИЧИЋ МИРОСЛАВ
+ЈОВИЧИЋ МЛАДЕН
+ЈОВИЧИЋ ОБРАД
+ЈОВИЧИЋ ОЛГА
+ЈОВИЧИЋ ПАЈА
+ЈОВИЧИЋ ПЕТАР
+ЈОВИЧИЋ РАДА
+ЈОВИЧИЋ РАДЕ
+ЈОВИЧИЋ РАДИСЛАВ
+ЈОВИЧИЋ РАДИВОЈЕ
+ЈОВИЧИЋ РАДОМИР
+ЈОВИЧИЋ РАДОВАН
+ЈОВИЧИЋ РАТКО
+ЈОВИЧИЋ САВЕТА
+ЈОВИЧИЋ СИМО
+ЈОВИЧИЋ СЛАВКО
+ЈОВИЧИЋ СЛОБОДАНКА
+ЈОВИЧИЋ СЛОБОДАН
+ЈОВИЧИЋ СРЕТЕН
+ЈОВИЧИЋ СТАНКО
+ЈОВИЧИЋ СВЕТИСЛАВ
+ЈОВИЧИЋ СВЕТОЗАР
+ЈОВИЧИЋ СВЕТОЗАР
+ЈОВИЧИЋ ТАНАСИЈЕ
+ЈОВИЧИЋ ТАТЈАНА
+ЈОВИЧИЋ ТОДОР
+ЈОВИЧИЋ УРОШ
+ЈОВИЧИЋ ВАСА
+ЈОВИЧИЋ ВЕРИЦА
+ЈОВИЧИЋ ВОЈИН
+ЈОВИЧИЋ ВОЈИСЛАВ
+ЈОВИЧИЋ ЗДРАВКО
+ЈОВИЧИЋ ЗОРАН
+ЈОВИЧИН АЛЕКСАНДАР
+ЈОВИЧИН АНИЦА
+ЈОВИЧИН КАТИЦА
+ЈОВИЧИН ЉУБИЦА
+ЈОВИЧИН ЉУБИЦА
+ЈОВИЧИН МИЛОВАН
+ЈОВИЧИН СЛАВКО
+ЈОВИЧИН СОФИЈА
+ЈОВИЧИН ТОША
+ЈОВИШЕВИЋ МИЛАН
+ЈОВИШЕВИЋ МИРЈАНА
+ЈОВИШЕВИЋ ЗДРАВКО
+ЈОВИШИЋ ЖАРКО
+ЈОВИШИЋ ЂУРО
+ЈОВИШИЋ БОРО
+ЈОВИШИЋ ДУШАН
+ЈОВИШИЋ ЈОВАН
+ЈОВИШИЋ МИТАР
+ЈОВИШИЋ НИКОЛА
+ЈОВИШИЋ ПАВЛЕ
+ЈОВИШИЋ ПРЕДРАГ
+ЈОВИШИЋ СИМО
+ЈОВИЋ ЧЕДОМИР
+ЈОВИЋ ЖАРКО
+ЈОВИЋ ЖАРКО
+ЈОВИЋ ЖИВОЈИН
+ЈОВИЋ ЖИВОРАД
+ЈОВИЋ ЖИВОРАД
+ЈОВИЋ ЂОРЂЕ
+ЈОВИЋ АЛЕКСАНДАР
+ЈОВИЋ АЛЕКСАНДАР
+ЈОВИЋ АНИЦА
+ЈОВИЋ БОШКО
+ЈОВИЋ БОБАН
+ЈОВИЋ БОРА
+ЈОВИЋ БРАНКО
+ЈОВИЋ БРАНКО
+ЈОВИЋ ЦВЕТА
+ЈОВИЋ ДАВИД
+ЈОВИЋ ДИМИТРИЈЕ
+ЈОВИЋ ДРАГАНА
+ЈОВИЋ ДРАГОЉУБ
+ЈОВИЋ ДРАГОЉУБ
+ЈОВИЋ ДУШАН
+ЈОВИЋ ДУШАН
+ЈОВИЋ ЕРИКА
+ЈОВИЋ ГОЈКО
+ЈОВИЋ ГОРДАНА
+ЈОВИЋ ИВАНА
+ЈОВИЋ ИВАН
+ЈОВИЋ ЈАДРАНКА ДР
+ЈОВИЋ ЈАСНА
+ЈОВИЋ ЈОЦО
+ЈОВИЋ ЈОВАНКА
+ЈОВИЋ ЈОВАН
+ЈОВИЋ ЈОВАН
+ЈОВИЋ ЈОВО
+ЈОВИЋ КОСТА
+ЈОВИЋ КСЕНИЈА
+ЈОВИЋ ЉУБИША
+ЈОВИЋ МАРИЦА
+ЈОВИЋ МАРИЈАН
+ЈОВИЋ МАРКО
+ЈОВИЋ МЕЛИТА
+ЈОВИЋ МИЛАДИН
+ЈОВИЋ МИЛАНКА
+ЈОВИЋ МИЛАНКА
+ЈОВИЋ МИЛАН
+ЈОВИЋ МИЛАН
+ЈОВИЋ МИЛАН
+ЈОВИЋ МИЛЕНКО
+ЈОВИЋ МИЛИВОЈЕ
+ЈОВИЋ МИЛОЈИЦА
+ЈОВИЋ МИЛУТИН
+ЈОВИЋ МИЛУТИН
+ЈОВИЋ МИРА
+ЈОВИЋ МИРЈАНА
+ЈОВИЋ МИРЈАНА
+ЈОВИЋ МИРОСЛАВА
+ЈОВИЋ МИРОСЛАВ
+ЈОВИЋ МИТАР
+ЈОВИЋ НИКОЛА
+ЈОВИЋ НИКОЛА
+ЈОВИЋ НИКОЛА
+ЈОВИЋ НИКОЛА
+ЈОВИЋ ПАЈИЦА
+ЈОВИЋ ПЕРСИДА
+ЈОВИЋ ПЕТАР
+ЈОВИЋ ПЕТАР
+ЈОВИЋ РАДЕ
+ЈОВИЋ РАДИВОЈЕ
+ЈОВИЋ РАДИВОЈЕ
+ЈОВИЋ РАДОВАН
+ЈОВИЋ РАЈКО
+ЈОВИЋ САВО
+ЈОВИЋ СЛАВКО
+ЈОВИЋ СЛОБОДАН
+ЈОВИЋ СПАСЕНИЈА
+ЈОВИЋ СТАНА
+ЈОВИЋ СТАНИША
+ЈОВИЋ СТАНКО
+ЈОВИЋ СТАНКО
+ЈОВИЋ СТАНКО
+ЈОВИЋ СТЕВАН
+ЈОВИЋ СВЕТИСЛАВ
+ЈОВИЋ ВАСА
+ЈОВИЋ ВЕЛИМИР
+ЈОВИЋ ВЕЛИЗАР
+ЈОВИЋ ВЕЉКО
+ЈОВИЋ ВЕРА
+ЈОВИЋ ВЕРА
+ЈОВИЋ ВЕРА
+ЈОВИЋ ВЛАДА
+ЈОВИЋ ВЛАДА
+ЈОВИЋ ВЛАДА
+ЈОВИЋ ВЛАДА
+ЈОВИЋ ВЛАДИМИР
+ЈОВИЋ ВЛАДИСЛАВ
+ЈОВИЋ ВОЈИСЛАВ
+ЈОВИЋ ВУКОСАВА
+ЈОВИЋ ЗДРАВКО
+ЈОВИЋ ЗВОНИМИР
+ЈОВИЋЕВИЋ БОЖИДАР
+ЈОВИЋЕВИЋ МИЛА
+ЈОВИЋЕВИЋ МИЛУТИН
+ЈОВИЋЕВИЋ НЕНАД
+ЈОВИЋЕВИЋ СТАНКО ДИПЛ ИНГ
+ЈОВИЋЕВИЋ ВИДОСАВА
+ЈОВИЋЕВИЋ ЗОРАН
+ЈОВИН ЖИВА
+ЈОВИН АНЂЕЛКА
+ЈОВИН БОРИВОЈ
+ЈОВИН БРАНКО
+ЈОВИН ДРАГАН
+ЈОВИН ДРАГОМИР
+ЈОВИН ДУШАН
+ЈОВИН ДУШАН
+ЈОВИН ИВАН
+ЈОВИН ЈЕЛЕНА
+ЈОВИН ЉУБИЦА
+ЈОВИН МИЛАН
+ЈОВИН МИЛИВОЈ ДР
+ЈОВИН МИЛОШ
+ЈОВИН МИРЈАНА
+ЈОВИН РАДОСЛАВ
+ЈОВИН РАДОВАН
+ЈОВИН СИМА
+ЈОВИН СЛАВКО ДР
+ЈОВИН СВЕТЛАНА
+ЈОВИН ВЕСНА
+ЈОВИН ЗЛАТОЈЕ
+ЈОВИН ЗУСКА
+ЈОВИНОВ БОГДАН
+ЈОВКОВИЋ МИОДРАГ
+ЈОВКОВИЋ РАТОМИР
+ЈОВОВИЋ ЖЕЉКО
+ЈОВОВИЋ АНКА
+ЈОВОВИЋ БОЖИДАР
+ЈОВОВИЋ БРАНИСЛАВ
+ЈОВОВИЋ ЈОВАН
+ЈОВОВИЋ ЈОВАН
+ЈОВОВИЋ ЉИЉАНА
+ЈОВОВИЋ МИЛОРАД
+ЈОВОВИЋ МИЛОВАН
+ЈОВОВИЋ НИКОЛА
+ЈОВОВИЋ НИКОЛА
+ЈОВОВИЋ РАДЕ
+ЈОВОВИЋ РАДОМИР
+ЈОВОВИЋ РАЈКО
+ЈОВОВИЋ СТАНА
+ЈОВОВИЋ СТОЈАН
+ЈОЗАНОВ ДАНИЦА
+ЈОЗАНОВ МИЛАН
+ЈОЗАНОВ СЛОБОДАН
+ЈОЗАНОВ ЗОРАН
+ЈОЗЕФЧАК ИВАН
+ЈОЗИЋ ЈОЗА
+ЈОЗИЋ КАТАРИНА
+ЈОЗИЋ МИОДРАГ
+ЈОЗИЋ МИРКО
+ЈОЗИЋ ПЕЈО
+ЈУШИЋ НАТАЛИЈА
+ЈУШКОВИЋ БРАНИСЛАВ
+ЈУАНИН ЖИВОЈИН ДИПЛ ИНГ
+ЈУАНИН ЈОВАН
+ЈУГИН МИЛЕНА
+ЈУГОВИЋ ЂУРАЂ
+ЈУГОВИЋ ЛЕПОСАВА
+ЈУГОВИЋ МИЛЕ
+ЈУГОВИЋ МИЛОШ
+ЈУГОВИЋ ВЕСЕЛИН
+ЈУГОВИЋ ЗДРАВКО
+ЈУХАС ЂЕРЂ
+ЈУХАС АНДРАШ
+ЈУХАС АНДРАШ
+ЈУХАС АНТАЛ
+ЈУХАС ДЕЗЕ
+ЈУХАС ЕРНЕ
+ЈУХАС ЕВА
+ЈУХАС ФЕРЕНЦ
+ЈУХАС ФЕРЕНЦ
+ЈУХАС ГЕЗА ДР ПРОФЕСОР
+ЈУХАС ГИЗЕЛА
+ЈУХАС ИВАНКА
+ЈУХАС ЈАНОШ
+ЈУХАС ЈАНОШ
+ЈУХАС ЈЕЛИСАВЕТА
+ЈУХАС КАТАРИНА
+ЈУХАС-КОСТИЋ ЂЕРЂИ
+ЈУХАС ЛАДИСЛАВ
+ЈУХАС МАРИЈА
+ЈУХАС МИХАЉ
+ЈУХАС МИХАЉ
+ЈУХАС МИЈО
+ЈУХАС МИРОН
+ЈУХАС СТЕВАН
+ЈУХАС СТЕВАН
+ЈУХАС СТЕВАН
+ЈУХАС СТЕВАН
+ЈУХАС ТИБОР ДИПЛ ИНГ
+ЈУХАС ТИБОР
+ЈУХАС ВАЛЕРИЈА
+ЈУХАС ВИКТОРИЈА
+ЈУХАС ВЛАДИСЛАВ
+ЈУКИЋ БАНЕ
+ЈУКИЋ ФРАЊА
+ЈУКИЋ ФРАЊО
+ЈУКИЋ ИВИЦА
+ЈУКИЋ ЈОСИП
+ЈУКИЋ ЛУКА
+ЈУКИЋ МАРКО
+ЈУКИЋ НАДА
+ЈУКИЋ ВЛАДИСЛАВ
+ЈУКОВИЋ РАСИМ
+ЈУЛИНАЦ ДРАГИЊА
+ЈУНГ ЂЕРЂ
+ЈУНГ ФРАНЦИШКА
+ЈУНГ ИБОЉКА
+ЈУНГ ИЛДИКО
+ЈУНГ ИВИЦА
+ЈУНГ ЈОСИП
+ЈУНГ ЈОВАН
+ЈУНГ КАРОЉ МР
+ЈУНГ МАРИЈА
+ЈУНГ РОБЕРТ
+ЈУНГ РОБЕРТ
+ЈУНГ ВЕРИЦА
+ЈУНУЗОВИЋ ИСМЕТ
+ЈУПЕК ЗДЕНКА
+ЈУРЧЕВИЋ МАРКО
+ЈУРЧИЋ ЖЕЉКО
+ЈУРЧИЋ ДЕСАНКА
+ЈУРШИЋ ЦВЕТА
+ЈУРАГА МАРКО
+ЈУРАГА МИЛОРАД
+ЈУРАКИЋ ГОРАН
+ЈУРАКИЋ ИЛИЈА
+ЈУРАКИЋ ИВАН
+ЈУРАКИЋ ЈЕЛА
+ЈУРАКИЋ ЈОЗО
+ЈУРАКИЋ ПЕЈО
+ЈУРАКИЋ СТИПО
+ЈУРАЊИ МАРИЈА
+ЈУРАС АНИЦА
+ЈУРАС АНТЕ
+ЈУРАСОВИЋ ЈОВАН
+ЈУРЦА ЖЕЉКО
+ЈУРЦА ЂОРЂЕ
+ЈУРЦА ИВАН
+ЈУРЦА ЛАРИСА
+ЈУРЕШЕВ ПЕТАР
+ЈУРЕШИЋ ЈОЗО
+ЈУРЕШИЋ ВЕРА
+ЈУРИШЕВИЋ АНКА
+ЈУРИШЕВИЋ МАРА
+ЈУРИШЕВИЋ МИРКО
+ЈУРИШИЋ ЂОРЂЕ
+ЈУРИШИЋ ЂУРА
+ЈУРИШИЋ АЛОЈЗ
+ЈУРИШИЋ АНДРИЈА
+ЈУРИШИЋ БОГОЉУБ
+ЈУРИШИЋ ДРАГАН
+ЈУРИШИЋ ФРАЊА
+ЈУРИШИЋ ГОСПАВА
+ЈУРИШИЋ ИГЊАТ
+ЈУРИШИЋ ИЛИНКА
+ЈУРИШИЋ ИВАН
+ЈУРИШИЋ ЈЕЛЕНА
+ЈУРИШИЋ ЈОВАН
+ЈУРИШИЋ КАТАРИНА
+ЈУРИШИЋ ЉУБИЦА
+ЈУРИШИЋ МАРИЈА
+ЈУРИШИЋ МИЛЕНКО
+ЈУРИШИЋ МИЛОРАД
+ЈУРИШИЋ МИЛОРАД
+ЈУРИШИЋ НЕДЕЉКА
+ЈУРИШИЋ НЕНАД
+ЈУРИШИЋ НИКОЛА
+ЈУРИШИЋ ОЛГА
+ЈУРИШИЋ ОСТОЈА
+ЈУРИШИЋ ПЕТАР
+ЈУРИШИЋ ПЕТАР
+ЈУРИШИЋ РАДЕНКО
+ЈУРИШИЋ СТЕВАН
+ЈУРИШИЋ СТЕВАН
+ЈУРИШИЋ ВЛАТКО
+ЈУРИШИЋ ЗОРКА
+ЈУРИШИН ЖАРКО
+ЈУРИШИН ЖИВА
+ЈУРИШИН БРАНИСЛАВ
+ЈУРИШИН ДРАГОЉУБ
+ЈУРИШИН ЉИЉАНА
+ЈУРИШИН МИЛИНА
+ЈУРИШИН МИЛОШ
+ЈУРИШИН НАТАЛИЈА
+ЈУРИШИН РАСТКО ДИПЛ ИНГ
+ЈУРИШИН СЛАВКО
+ЈУРИШИН ВЛАДИМИР
+ЈУРИЋ ЖИВАДИНКА
+ЈУРИЋ АНА
+ЈУРИЋ АВГУСТ
+ЈУРИЋ БОСИЉКО
+ЈУРИЋ ЦВИЈО
+ЈУРИЋ ФИЛИП
+ЈУРИЋ ИЛИЈА
+ЈУРИЋ ИВАН
+ЈУРИЋ ЈЕЛКА
+ЈУРИЋ МАРИЈА
+ЈУРИЋ МАРИЈА
+ЈУРИЋ МАРКО
+ЈУРИЋ МАРКО
+ЈУРИЋ МИЛОШ
+ЈУРИЋ ПАУЛИНА
+ЈУРИЋ ПЕТАР
+ЈУРИЋ СОФИЈА
+ЈУРИБАШИЋ МАРИЈА
+ЈУРИБАШИЋ ТОМИСЛАВ
+ЈУРИЦ ИВАН
+ЈУРИЦ ЈОСИП
+ЈУРИЦ СТЈЕПАН
+ЈУРИЦА АНА
+ЈУРИЦА ДАЛИБОР
+ЈУРИЦА ЈАН
+ЈУРИК ШАНДОР
+ЈУРИК ДУШАН
+ЈУРИК ЈОСИП
+ЈУРИК ЈОСИП
+ЈУРИК ЈОВАН
+ЈУРИК МАРИЈА
+ЈУРИК МИХАЛ
+ЈУРИК МИЛКА
+ЈУРИК ПАВЛЕ
+ЈУРИК СТЕВАН
+ЈУРИСТОВСКИ ГЕОРГ ДИПЛ ИНГ
+ЈУРЈАНОВИЋ ДУШАНКА
+ЈУРЈЕВИЋ ЈАСМИНА
+ЈУРКИЋ АНТУН
+ЈУРКИЋ АУГУСТИН
+ЈУРКИЋ МАРКО
+ЈУРКОВИЋ АНА
+ЈУРКОВИЋ БИЉАНА
+ЈУРКОВИЋ БОЖИЦА
+ЈУРКОВИЋ ДРАГАН
+ЈУРКОВИЋ ДУШАН
+ЈУРКОВИЋ КРИСТИНА
+ЈУРКОВИЋ ПЕТАР
+ЈУРКОВИЋ ПЕТАР
+ЈУРКОВИЋ ЗЛАТКО
+ЈУРКОВИЋ ЗВОНКО
+ЈУРКОВСКИ СТЕВАН
+ЈУРЛИНА АНТУН
+ЈУРЛИНА МАРКО ДР
+ЈУРЛИНА ПАВЛЕ
+ЈУРУКОВСКИ ГОСПАВА
+ЈУРУКОВСКИ ЛЕВКО
+ЈУРУКОВСКИ МИЛОВАНКА
+ЈУСТИН ЦИРИЛ
+ЈУСТИН ДАНИЦА
+ЈУСУФИ БЕРЗАТ
+ЈУСУФОВИЋ АМИР
+ЈУВАН ФАНИКА
+КЋИКУ ЂАВИД
+КЋИКУ РАХИМ
+КАЧАК ИЛОНА
+КАЧАПОР СЕФЕДИН
+КАЧАР ЧЕДОМИР
+КАЧАР ЂУРО
+КАЧАР БРАНИСЛАВ
+КАЧАР ДУШАНКА
+КАЧАР СЛАВКО
+КАЧАР СЛОБОДАН
+КАЧАР СЛОБОДАН
+КАЧАР ТАДИЈА
+КАЧАРЕВИЋ МИЛАН
+КАЧАВЕНДА БРАНИСЛАВА
+КАЧАВЕНДА ЛАЗО
+КАЧАВЕНДА МИЛАН
+КАЧАВЕНДА МИЛОРАД
+КАЧАВЕНДА МИЛОРАД
+КАЧАВЕНДА СЛОБОДАН
+КАЧАВЕНДА ТАТЈАНА
+КАЧАВЕНДА ТАТЈАНА
+КАЧАВЕНДА ВЕРА
+КАЧМАРЧИК ШТЕФАН
+КАЧМАРЧИК ЈЕЛЕНА
+КАША ТИБОР
+КАШАИ ЈЕЛИСАВЕТА
+КАШАНИН МИЛЕТА
+КАШАНИН МИРА
+КАШАНИН МИРЈАНА
+КАШАНИН МИРОСЛАВ
+КАШИЋ АЛЕКСАНДАР
+КАШИЋ ЈОВАН ДР
+КАШИЋ МАРИЈА
+КАШИЋ МИЛИВОЈ
+КАШИЋ МЛАДЕН
+КАШИЋ РЕВЕКА
+КАШИЋ ВЕРА
+КАШИЋ ВИКТОРИЈА
+КАШИЋ ВОЈИСЛАВ
+КАШИК ИВАН
+КАШИКОВИЋ ЂОРЂО
+КАШИКОВИЋ БОШКО
+КАШИКОВИЋ ГОЈКО
+КАШИКОВИЋ ПРЕДРАГ
+КАШИКОВИЋ СЛАВКА
+КАШИКОВИЋ ВЛАДО
+КАШЛИК ИМРЕ
+КАШЛИК МАТИЈА
+КАШОВСКИ ЈАНКО
+КАШОВСКИ НИКОЛА
+КАЋАНСКИ ЖАРКО
+КАЋАНСКИ ЖАРКО
+КАЋАНСКИ ЖИВКО
+КАЋАНСКИ ЂОРЂЕ
+КАЋАНСКИ БОЈАНА
+КАЋАНСКИ БРАНИСЛАВ
+КАЋАНСКИ БРАНКО
+КАЋАНСКИ ДУШАНКА
+КАЋАНСКИ ДУШАН
+КАЋАНСКИ ЈЕЛИСАВЕТА
+КАЋАНСКИ КОНСТАНТИН
+КАЋАНСКИ ЉУБИЦА
+КАЋАНСКИ МИЛИВОЈ
+КАЋАНСКИ МИЛИВОЈ
+КАЋАНСКИ МИЛКА
+КАЋАНСКИ МИЛОРАД
+КАЋАНСКИ МИЛУТИН
+КАЋАНСКИ МИРОСЛАВА
+КАЋАНСКИ МЛАДЕН
+КАЋАНСКИ ПАВЛЕ ДР ЛЕКАР
+КАЋАНСКИ ПЛАТОН ДР
+КАЋАНСКИ РАДОВАН
+КАЋАНСКИ СИМА
+КАЋАНСКИ СЛАВКО
+КАЋАНСКИ СМИЉА
+КАЋАНСКИ СОФИЈА
+КАЋАНСКИ СВЕТИСЛАВ
+КАЋАНСКИ ТОДОР
+КАЋАНСКИ ВЕЛИНКА
+КАЋАНСКИ ВЕРА
+КАЋАНСКИ ВЛАДИМИР ВЕТЕРИНАР
+КАЋАНСКИ ВЛАДИСЛАВА
+КАЋИАК МИХАЈЛО
+КАЋУРИН ЖИВАН
+КАЋУРИН КРИСТИНА
+КАЋУРИН МИЛАНА
+КАЋУРИН МИЛАН
+КАЋУРИН РАДОСЛАВ
+КАЖИЋ ВЛАДИМИР
+КАБА СУЛЕЈМАН
+КАБИЋ АНА
+КАБИЋ БОГДАН
+КАБИЋ ДАНИЛО
+КАБИЋ ДРАГИЦА
+КАБИЋ ДРАГУТИН
+КАБИЋ СЛОБОДАН
+КАБИЋ ТИМОШЕНКО
+КАБИЉО ДРАГИЦА
+КАБИЉО ЈОСИП
+КАБИЉО СИЛВИО
+КАБОК ЕРИКА
+КАБОК ЈОЖЕФ
+КАЦАРОШ КОСТАС
+КАДАШ ЛАЈОШ ДИПЛ ИНГ
+КАДАР ЈУЛИЈАНА
+КАДИЋ ИЛИЈА
+КАДИЋ МАРИЈАН
+КАДИЋ НИКОЛА
+КАДИЋ РАДМИЛА
+КАДИЋ САВА
+КАДИЈА ВОЈИСЛАВ
+КАДИВНИК МИОДРАГ
+КАДЛЕЧИК КАТИЦА
+КАДРИЈА ФЕВЗИЈА
+КАДРИЈА ХАБИЉ
+КАДРИЈА ХАСАФ
+КАДРИЈА ХУРМЕТ
+КАДВАЊ ЈАНОШ
+КАДВАЊ ЈОВАН
+КАДВАЊ ЛАДИСЛАВ
+КАДВАЊ ЛАЈОШ
+КАХРИМАН ПЕТАР
+КАХРИМАН СНЕЖАНА
+КАХРИМАН СНЕЖАНА
+КАХРИМАН СНЕЖАНА
+КАИЋ ИВАН
+КАИЋ КАТАЛИН ДР
+КАИЋ ПЕТАР
+КАИНОВИЋ ГОРДАНА
+КАИТОВИЋ ЈЕЛА
+КАЈЧИЋ ЉИЉАНА
+КАЈЧИЋ МИЛОВАН
+КАЈЧИЋ ВЕЛИМИР
+КАЈЕВИЋ ЖАРКО
+КАЈФЕШ ЗВОНКО
+КАЈГАНИЋ ИЛИЈА
+КАЈГАНИЋ ЉУБАН
+КАЈГАНИЋ МИЛОРАД
+КАЈГАНИЋ ВЕРОНИКА
+КАЈИШ ЖЕЉКО
+КАЈИШ МИЛЕ
+КАЈИЋ ЖЕЉКО
+КАЈИЋ НАДА
+КАЈКАРА БОГДАН
+КАЈКАРА МИЛЕНКО
+КАЈКАРА РАДОСЛАВ
+КАЈОН АЛЕКСАНДАР
+КАЈОН АНА
+КАЈОН ЉИЉАНА
+КАЈОН МИРОСЛАВ
+КАЈОН МИРОСЛАВ
+КАЈТЕС ЂУРО
+КАЈТЕЗ ДРАГАН
+КАЈТЕЗ МИРКО
+КАЈТЕЗ НЕДЕЉКО
+КАЈТЕЗ РОЗАЛИЈА
+КАЈТЕЗ ТРИВУН
+КАЈТЕЗ ВАЛЕНТИНА
+КАЈЗЕР КАРЛО
+КАКАШ ДАМИР
+КАКАШ ИЛИЈА
+КАКАШ ЈОЖЕФ
+КАКАШ ЈОСИП
+КАКАШ МАРИЈА
+КАКОЊИ АНА
+КАКУЧКА ИШТВАН
+КАКУЧКА ЈЕЛИСАВЕТА
+КАКУЧКА СТЕВАН
+КАЛЧОВ МИХАЉ
+КАЛА ГЕЗА
+КАЛАЧАЈИ СВЕТИСЛАВ
+КАЛАЧЕВИЋ ВЛАДИМИР
+КАЛАБА БОЈАН
+КАЛАБА БРАНКО
+КАЛАБА ДРАГИЦА
+КАЛАБА ЉУПКО
+КАЛАБА ЛУКА
+КАЛАБА МАРКО
+КАЛАБА МЛАДЕН
+КАЛАБА НИКОЛА
+КАЛАБА СТЕВАН
+КАЛАБИЋ ДАНЕ
+КАЛАБИЋ СТЕВО
+КАЛАБРИЋ БРАНКО
+КАЛАБРИЋ МИХОВИЛ
+КАЛАФАТИЋ МИЛИВОЈ
+КАЛАФАТИЋ НЕБОЈША
+КАЛАИ КАРОЉ
+КАЛАЈЏИЋ ДАРКО
+КАЛАЈЏИЋ ЛУКА
+КАЛАЈЏИЋ МИХАИЛО
+КАЛАЈЏИЋ МИЛАН
+КАЛАМАНДА ДРАГАН
+КАЛАМАНДА СЛОБОДАН
+КАЛАЊ ЂУКА
+КАЛАЊ ДРАГИША
+КАЛАЊ ФЕМКА
+КАЛАЊ СТЕВАН
+КАЛАЊА ДУШАНКА
+КАЛАЊА МИРОСЛАВ
+КАЛАЊЕВ ЗОРА
+КАЛАЊОШ ЂУРА
+КАЛАЊОШ АНА
+КАЛАЊОШ БОРИСЛАВ
+КАЛАЊОШ ЈАНОШ
+КАЛАЊОШ МИРЈАНА
+КАЛАЊОШ ПЕТАР
+КАЛАЊОШ ПЕТАР
+КАЛАЊОШ РУЖА
+КАЛАЊОШ РУЖА
+КАЛАЊУШ ЂУРА
+КАЛАЊУШ ФРАЊА
+КАЛАПАШ ЕВИЦА
+КАЛАПАШЕВ ДИНА
+КАЛАПАШЕВ СИНИША
+КАЛАПАТИ ШАРА
+КАЛАПАТИ ФЕРЕНЦ
+КАЛАПАТИ ИВАН
+КАЛАПАТИ РУДОЛФ
+КАЛАПИШ РУДИ
+КАЛАПИШ ЗОЛТАН
+КАЛАУЗ МАРИНКО
+КАЛАУЗОВ МАША
+КАЛЦ МИЛЕНКА
+КАЛЦ МИЛКО
+КАЛЦ СЛАВОЈКА
+КАЛЕА ЈЕЛЕНА
+КАЛЕЈСКИ ЗЛАТОМИР
+КАЛЕМ БРАНКО
+КАЛЕМ ИВАНКА
+КАЛЕМ МИРЈАНА
+КАЛЕМ НЕДЕЉКО
+КАЛЕМ СРЕТЕН
+КАЛЕМ СРЕТЕН
+КАЛЕМБЕР БОШКО
+КАЛЕМБЕР МИША
+КАЛЕМБЕР МИЛЕНА
+КАЛЕМБЕР МИЛИВОЈ
+КАЛЕМБЕР МИРЈАНА
+КАЛЕМБЕР СОФИЈА
+КАЛЕМБЕР СТОЈАДИН
+КАЛЕМИ ШЕРИФ
+КАЛЕНДЕР КРИСТИНА
+КАЛЕНИЋ АЛЕКСАНДАР ДИПЛ ИНГ
+КАЛЕНИЋ АЛЕКСАНДАР
+КАЛЕНИЋ ВОЈИСЛАВ
+КАЛЕЊУК МИТАР
+КАЛЕНТИЋ БОСА
+КАЛЕНТИЋ РАДОВАН
+КАЛЕЗИЋ ЈЕЛЕНА
+КАЛЕЗИЋ ЈОВАНКА
+КАЛЕЗИЋ ОЛГА
+КАЛЕЗИЋ ТОМИСЛАВ
+КАЛИЧАНИН МОМЧИЛО
+КАЛИЋ ДРАГАНА
+КАЛИЋ ЈОСИП
+КАЛИЋ ЈОВАНКА
+КАЛИЋ МИЛЕНА
+КАЛИЋ МУСТАФА
+КАЛИЋ ОЛГА
+КАЛИЋ РАДОВАН
+КАЛИЋ СОФИЈА
+КАЛИК ГРОЗДА
+КАЛИН ЕДУАРД
+КАЛИН МАРИЈАН
+КАЛИНИЋ ДАНИЦА
+КАЛИНИЋ ЈОВО
+КАЛИНИЋ КРСТО
+КАЛИНИЋ МИЛАДИН
+КАЛИНИЋ МИЛИЦА
+КАЛИНИЋ НАДА
+КАЛИНСКИ ДАРКО
+КАЛИВОДА РУДОЛФ
+КАЉЕВИЋ АЛЕКСАНДАР
+КАЉЕВИЋ КРСТО
+КАЉЕВИЋ СТЕВАН
+КАЛКАН МИЛАН
+КАЛМАН КЛАРА
+КАЛМАН МИХАЈЛО
+КАЛМАН МИКЛОШ
+КАЛМАН РАДИЦА
+КАЛМАР ЂОРЂЕ
+КАЛМАР ЂУРА
+КАЛМАР АНА
+КАЛМАР ФЕРЕНЦ
+КАЛМАР ФРАЊА
+КАЛМАР ГРГУР
+КАЛМАР ИШТВАН
+КАЛМАР ЛАЈОШ
+КАЛМАР МИРКО
+КАЛМАР-ВЕРЕШ ГИЗЕЛА
+КАЛМАР ВЛАДИМИР
+КАЛМАРЕВИЋ АЛЕКСАНДАР
+КАЛНОК СЛОБОДАН
+КАЛОЧАИ ШАНДОР
+КАЛОЧАИ ИШТВАН
+КАЛОЧАИ ЛЕНКЕ
+КАЛОЧАИ ПЕТАР
+КАЛОЧАЈИ ЂОРЂЕ
+КАЛОЧАЊ ФЕРЕНЦ
+КАЛОЦИ ИВАН
+КАЛОЦИ ЛАДИСЛАВ
+КАЛОЦИ ТИБОР
+КАЛОЦИ ВЕСЕЛИНКА
+КАЛОПЕР ЈОВАНКА
+КАЛОПЕР ПЕРИЦА
+КАЛОЗИ АРАНКА
+КАЛТНЕКЕР ЕМИЛИЈА
+КАЛТНЕКЕР ЕМИЛИЈА
+КАЛУШЕВ ГЛИША
+КАЛУШКА СЛАВКО
+КАЛУЖИЋ КАТИЦА
+КАЛУЖИЋ НАДА
+КАЛУЂЕРОВИЋ МАРКО
+КАЛУЂЕРОВИЋ МИЛИВОЈЕ
+КАЛУЂЕРОВИЋ МИЛОШ
+КАЛУЂЕРОВИЋ МИРИЈАНА
+КАЛУЂЕРОВИЋ МЛАДЕН
+КАЛУЂЕРОВИЋ МОМЧИЛО
+КАЛУЂЕРОВИЋ ОЛИВЕРА
+КАЛУЂЕРОВИЋ УРОШ
+КАЛУЂЕРСКИ ЂОКА
+КАЛУЂЕРСКИ ЂОКА
+КАЛУЂЕРСКИ АГНЕЗА
+КАЛУЂЕРСКИ БОРИС
+КАЛУЂЕРСКИ ГАВРА
+КАЛУЂЕРСКИ МИЛОРАД
+КАЛУЂЕРСКИ МИРОСЛАВ
+КАЛУЂЕРСКИ СИНИША
+КАЛУЂЕРСКИ СТОЈАН ДР
+КАЛУГЕР НИКОЛА
+КАЛУГЕР ЗОРАН
+КАМЧЕСКА ДРАГИЦА
+КАМЧЕСКИ ДИМЧЕ
+КАМЧЕСКИ СТЕВАН
+КАМЧЕВИЋ АНА
+КАМЧЕВСКИ САВА
+КАМАРИТ ЗОРАН
+КАМАСИ ФЕРЕНЦ
+КАМАСИ ФЕРЕНЦ
+КАМАСИ ИМРЕ
+КАМАСИ ЈАНОШ
+КАМБЕРИ ДУШАН
+КАМБЕРИ МУСА
+КАМБЕРОВИЋ БАТО
+КАМБЕРОВИЋ СИНИША
+КАМЕНАРОВИЋ ГЛИГОРИЈЕ
+КАМЕНАРОВИЋ МИЛАН
+КАМЕНАРОВИЋ НИКОЛА
+КАМЕЊИЦКИ ЈУЛИЈАН
+КАМЕНКО МИЛАН
+КАМЕНКО РАДЕ
+КАМЕНКО РАДЕ
+КАМЕНКО ВЕРА
+КАМЕНКОВИЋ АЛЕКСАНДРА
+КАМЕНКОВИЋ ДОБРИЛА
+КАМЕНКОВИЋ ЈОСИП
+КАМЕНКОВИЋ ЈОВАНКА
+КАМЕНКОВИЋ ОЛГА
+КАМЕНОВ ЕМИЛ ДР
+КАМПЕЛ ИВАН
+КАМПИЋ ПАВЛЕ
+КАМРА ИВАН
+КАНЧАР ЕРЖЕБЕТ
+КАНАЧКИ ЖАРКО
+КАНАЧКИ ЉИЉАНА
+КАНАЧКИ МАГДАЛЕНА
+КАНАЧКИ СТЕВАН
+КАНАЧКИ ЗЛАТА
+КАНАЗИР ЖИВКА
+КАНАЗИР АЛЕКСАНДАР
+КАНАЗИР-БЕЛИЋ МИЛИЦА
+КАНАЗИР БОРИСЛАВ
+КАНАЗИР БОРИСЛАВ
+КАНАЗИР БРАНИСЛАВ
+КАНАЗИР ЦВЕТА
+КАНАЗИР ДРАГИЦА
+КАНАЗИР ДРАГИЦА
+КАНАЗИР ДУШАН
+КАНАЗИР ИВАНКА
+КАНАЗИР ЈОВАНКА
+КАНАЗИР ЈОВАН
+КАНАЗИР КОСТА
+КАНАЗИР КОСТА
+КАНАЗИР КОСТА
+КАНАЗИР МАРИЈА
+КАНАЗИР МИЛАН
+КАНАЗИР МИЛИЦА
+КАНАЗИР МИЛОВАН
+КАНАЗИР РАДИВОЈ
+КАНАЗИР СЛАВКО
+КАНАЗИР ВАСА
+КАНАЗИР ВЕРИЦА ДР
+КАНАЗИР ВУКИЦА
+КАНАЗИР ЗАХАРИЈЕ
+КАНБАН МИЛИЦА
+КАНДИЋ НАДА
+КАНДИЋ РАДМИЛА
+КАНДИЋ СМИЉАНА
+КАНДИЋ ВИДОЈЕ
+КАНДРАЧ ЂОРЂЕ
+КАНДРАЧ ЛЕОНА
+КАНГРГА АНКА
+КАНГРГА КОСТА
+КАНГРГА РУЖА
+КАНИЖАИ ЕВА
+КАЊА ЈАН
+КАЊЕРИЋ МАТЕ
+КАЊО ИШТВАН
+КАЊО СТЈЕПАН
+КАЊО ЗОЛТАН
+КАЊУХ ЈАКИМ
+КАЊУХ ЈОАКИМ
+КАЊУХ МАРИЦА
+КАЊУХ МИРА
+КАЊУХ ВЛАДИМИР
+КАЊУХ ЗВОНКО
+КАЊУКА ИВАН
+КАЊУКА ВЛАДИМИР
+КАНКАРАШ РАДОСАВ
+КАНКАРАШ ВЕСЕЛИН
+КАНЛИЋ МИЛАН
+КАНЛИЋ ЗАРИЈА
+КАНОВИЋ ПАВЛЕ ДИПЛ ИНГ
+КАНТАР ЂУРО
+КАНТАР ДМИТАР
+КАНТАР КАЈА
+КАНТАР МИЛАН
+КАНТАР МИЛОШ
+КАНТАР МИРОСЛАВ
+КАНТАР НИКОЛА
+КАНТАР ОСТОЈА
+КАНТАР ВЛАДО
+КАНТАРЏИЋ ЂОРЂЕ
+КАНТАРЏИЋ ГОРДАНА
+КАНТАРЏИЋ ЈЕЛЕНА
+КАНТАРЏИЋ КАТИЦА
+КАНТАРЏИЋ КОСТА
+КАНТАРЏИЋ ЛАЗАР
+КАНТАРЏИЋ ЛАЗА
+КАНТАРЏИЋ МИЛИЦА
+КАНТАРЏИЋ МИЛОВАН
+КАНТАРЏИЋ МИЛОВАН
+КАНТАРЏИЋ МИРОСЛАВ
+КАНТАРЏИЋ МЛАДЕН
+КАНТАРЏИЋ НАДА
+КАНТАРЏИЋ ОЛГА
+КАНТАРЏИЋ ПЕТАР
+КАНТАРЏИЋ СТЕВАН
+КАНТАРЏИЋ ВАСА
+КАНТИНКОСКИ ХАНУ
+КАНТОР ЛАЈОШ
+КАНТОР ОСКАР
+КАНУРИЋ АЛЕКСАНДАР
+КАНУРИЋ МИЛИЦА
+КАНУРИЋ ЗОРКА
+КАНУРСКИ ЈОВАН
+КАНУРСКИ ВИДОСАВА
+КАПАМАЏИЈА АЛЕКСАНДРА
+КАПАМАЏИЈА БОРИСЛАВ ДР
+КАПАМАЏИЈА ДУШАНКА
+КАПАМАЏИЈА РАДМИЛА
+КАПАМАЏИН ЈОВАН
+КАПЕЛАН НИКОЛА
+КАПЕС АЛЕКСАНДАР
+КАПЕС ЗДРАВКА
+КАПЕТАНИЋ ТОМИСЛАВ
+КАПЕТАНОВ МИРЈАНА
+КАПЕТАНОВ СВЕТИСЛАВ
+КАПЕТАНОВ ВУКИЦА
+КАПЕТАНОВИЋ ЈОВАН
+КАПЕТАНОВИЋ МИДХАТ
+КАПЕТАНОВИЋ МОМЧИЛО
+КАПЕТАНОВИЋ ОЛГА
+КАПЕТАНОВИЋ РАТКО
+КАПЕТАНОВИЋ ВЕРИЦА
+КАПИЧИЋ ДУШАН
+КАПИЧИЋ САВО
+КАПИЧИЋ СТЕВАН
+КАПИЦЛ ДРАГУТИН
+КАПИТАЊ ЛАСЛО
+КАПЛАР ЖИВАН
+КАПЛАР МАРИЈА
+КАПЛАРЕВИЋ МИОДРАГ
+КАПЛАРСКИ КОНСТАНТИН
+КАПЛАРСКИ МЛАДЕН
+КАПЛАРСКИ СВЕТЛАНА
+КАПЛИЈЕВ ПЕТАР
+КАПМАЈЕР АЛЕКСАНДАР
+КАПОЧ АНТАЛ
+КАПОЧ ЈУДИТ
+КАПОР АГНЕШ
+КАПОР АЛЕКСАНДАР
+КАПОР ДЕСАНКА
+КАПОР ГОЈКО
+КАПОР КАТАРИНА
+КАПОР НАДА
+КАПОР НОВИЦА
+КАПОР СТАНА
+КАПОСТА ТЕРЕЗА
+КАПРИШ МИРЈАНА
+КАПУЋ ИЛОНА
+КАРЋАШ МИЛКА
+КАРАЧ МИРКО
+КАРАЧОЊИ ИШТВАН
+КАРАЋ ДРАГАН
+КАРАЋ ДУШАН
+КАРАЋ ДУШАН
+КАРАЋ ИЛИЈА
+КАРАЋ ЈЕЛИЦА
+КАРАЋ ЉУБОМИР
+КАРАЋ МАРИЈА
+КАРАЋ МИЛЕНКО
+КАРАЋ РАДЕНКО
+КАРАЋ РАЈКО
+КАРАЋ СЛОБОДАН
+КАРАЂЕНОВ ИВАН
+КАРАЂЕНОВ ИВАН
+КАРАЂЕНОВ МИРЈАНА
+КАРАЂИНОВИЋ ШПИРО
+КАРАЂИНОВИЋ НЕНАД
+КАРАЂИНОВИЋ ПЕТАР
+КАРАЂИНОВИЋ ВЕЛИМИР
+КАРАЂИНОВИЋ ЗОРА
+КАРАБА ИРЕНА ДР ЛЕКАР
+КАРАБА ЈОВАН
+КАРАБА ОЛГА
+КАРАБАШ МИЛИВОЈ
+КАРАБАШ СЛОБОДАН
+КАРАБАСИЛ ДРАГАН
+КАРАБАСИЛ ВИДОМИР
+КАРАБЕГОВИЋ ДАНИЛО
+КАРАЏИЋ ШУЈО
+КАРАЏИЋ ЖАРКО
+КАРАЏИЋ ЂОРЂЕ
+КАРАЏИЋ АРСЕНИЈЕ
+КАРАЏИЋ АВРАМ
+КАРАЏИЋ БОЖО
+КАРАЏИЋ БРАТИСЛАВ
+КАРАЏИЋ ЈОВАН
+КАРАЏИЋ ЈОВАН
+КАРАЏИЋ КСЕНИЈА
+КАРАЏИЋ МАРИЈА
+КАРАЏИЋ МИЛОРАД
+КАРАЏИЋ МИОДРАГ
+КАРАЏИЋ МИРОСЛАВ
+КАРАЏИЋ НЕНАД
+КАРАЏИЋ РЕЉА
+КАРАЏИЋ РУЖА
+КАРАЏИЋ СЛАВИЦА
+КАРАЏИЋ ТВРТКО
+КАРАЏИЋ ВЕРА
+КАРАЏИЋ ВУК
+КАРАЏИЋ ЗОРАН
+КАРАЏИЋ ЗОРАН
+КАРАДАРЕВИЋ МИЛАН
+КАРАДАРЕВИЋ МИЛОШ
+КАРАДЕГЛИЋ КОСА
+КАРАГА НИКОЛА
+КАРАГИЋ-ЛИПИНСКИ ИЛОНА
+КАРАИЦА ЗОРАН
+КАРАЈКОВ АЛОЈЗИЈЕ
+КАРАЈКОВ ВЛАДИМИР
+КАРАЈКОВ ВЛАДИМИР
+КАРАЈЛОВИЋ ЂУРО
+КАРАЈОВИЋ МИЛУТИН
+КАРАКАШ МИРЈАНА
+КАРАКАШЕВИЋ ДЕСАНКА
+КАРАКАШЕВИЋ ДРАГИЦА
+КАРАКАШЕВИЋ ЕВИЦА
+КАРАКАШЕВИЋ СТЕВАН
+КАРАКАШЕВИЋ ЗОРА
+КАРАМАРКОВИЋ МИЛА
+КАРАМАТИЋ АНТЕ
+КАРАН ЖЕЉКО
+КАРАН ДРАГАН
+КАРАН-КЕРН БАРБАРА
+КАРАН МИЛАН
+КАРАН МИЛЕНКО
+КАРАН МИЛИНКО
+КАРАН САВО
+КАРАН СРЂО
+КАРАЊАЦ ДРАГОСЛАВ
+КАРАЊАЦ ЉУБИЦА
+КАРАЊАЦ ВЕРОЉУБ
+КАРАНОВ ЖИВАН
+КАРАНОВ БУДИМКА
+КАРАНОВ ДРАГОЉУБ
+КАРАНОВ КУЗМАН
+КАРАНОВ МИЛАН
+КАРАНОВ МИЛОВАН
+КАРАНОВ МИРОСЛАВ
+КАРАНОВ СОФИЈА
+КАРАНОВИЋ ЂОРЂЕ
+КАРАНОВИЋ БОЖО
+КАРАНОВИЋ ДРАГАН
+КАРАНОВИЋ ДУШАН
+КАРАНОВИЋ ДУШАН
+КАРАНОВИЋ ЕМИЛИЈА
+КАРАНОВИЋ ГРЕТА
+КАРАНОВИЋ ИЛИЈА
+КАРАНОВИЋ ИЛИЈА
+КАРАНОВИЋ ИЛИЈА
+КАРАНОВИЋ ИВИЦА
+КАРАНОВИЋ ЈОВАН
+КАРАНОВИЋ КАТИЦА
+КАРАНОВИЋ ЉИЉАНА
+КАРАНОВИЋ ЉУБА
+КАРАНОВИЋ МИЛАН
+КАРАНОВИЋ МИЛАН
+КАРАНОВИЋ МИЛОМИР
+КАРАНОВИЋ МИЛУТИН
+КАРАНОВИЋ МИРЈАНА
+КАРАНОВИЋ МИРКО
+КАРАНОВИЋ НИКОЛА
+КАРАНОВИЋ ПЕРО
+КАРАНОВИЋ РАТКО
+КАРАНОВИЋ СЛАВКО
+КАРАНОВИЋ СЛОБОДАН
+КАРАНОВИЋ СТЕВАН
+КАРАНОВИЋ СТЕВО
+КАРАНОВИЋ СВЕТОЗАР
+КАРАНОВИЋ ТРИВО
+КАРАНОВИЋ ВЕСО
+КАРАНОВИЋ ВЛАДИМИР
+КАРАПАНЖА МАРИЈА
+КАРАПАНЏА ЉИЉАНА
+КАРАПАНЏА ВИТОМИР
+КАРАПАНЏИЋ ЂУРА
+КАРАПАНЏИЋ ГОРДАНА
+КАРАПАНЏИЋ МИРЈАНА
+КАРАПАНЏИН БАРБАРА
+КАРАПАНЏИН ЗОРКА
+КАРАС КАЗИМИР
+КАРАС МАГДА
+КАРАС ПЕТАР
+КАРАС ПЕТАР
+КАРАСАЛИХОВИЋ СМАИЛ
+КАРАСЕК КАРОЉ
+КАРАСИЈ БОРИС
+КАРАСИЈ ЈАСМИНА
+КАРАСИЈ ВЕРОНИКА
+КАРАТИ ЕУГЕН
+КАРАТУР ЈАДРАНКА
+КАРАВЛА КАТАРИНА
+КАРАВЛА ЗЛАТКО
+КАРАВЛА ЗОРИЦА
+КАРБАН РУДОЛФ
+КАРДАШ ОБРАД
+КАРДАШ ОЛГА
+КАРДАШЕВИЋ БРАНИСЛАВ
+КАРДАШЕВИЋ ФИЈА
+КАРДАШЕВИЋ ХУСНИЈА
+КАРДОШ АЛЕКСАНДАР
+КАРДОШ ЕРИКА
+КАРДОШ ИЛОНА
+КАРДОШ ЛАЈОШ
+КАРДОШ ПАЛ
+КАРДОШ ВЕРОНИКА
+КАРДОВ ЈОСИП
+КАРДУМ ЂОРЂЕ
+КАРГАЧИН ЈЕЛИСАВЕТА
+КАРИШИЋ ИВАНКА
+КАРИШИК ДАНЕ
+КАРИШИК ЈОВАНКА
+КАРИШИК МИЛУТИН
+КАРИЋ БОСИЉКА
+КАРИЋ ЈОВАНКА
+КАРИЋ РАДОСЛАВ
+КАРИЋ САВА
+КАРИЋ САВА
+КАРИЋ СВЕТИСЛАВ
+КАРИКО ЈОСИП
+КАРИКО МАРИЈА
+КАРИКО ТЕРЕЗА
+КАРИНА ДРАГИЦА
+КАРИУС МАРИЈА
+КАРИУС ВЕРА
+КАРЛАШ МИЛОРАД
+КАРЛАВАРИС ДРАГАН
+КАРЛАВАРИС ИВАН
+КАРЛАВАРИС НАДА
+КАРЛАВАРИС РАДИВОЈ
+КАРЛАВАРИС-ЗЕКОВИЋ МИРЕЛА
+КАРЛИЋ ЈЕФТА
+КАРЛИЋ ЛАЗАР
+КАРЛИЋ МИЛИВОЈ
+КАРЛО ВАЈДА
+КАРЛОВЧЕЦ МИРКО
+КАРЛОВИЋ ЂЕРЂ
+КАРЛОВИЋ МАРИЦА
+КАРОЛИЋ ЉУБИЦА
+КАРОЛИЋ МИРКО
+КАРОЛИЋ МИРОСЛАВ
+КАРОЉИ ЈАНОШ
+КАРОЉИ ЛАСЛО
+КАРОВИЋ ГЛИША
+КАРПАТИ ЛАСЛО
+КАРПОЊА ЈУЛИЈАНА
+КАРПОЊА СИНИША
+КАРТАГ НАНДОР
+КАРТАИ ЛАЈОШ
+КАРТАЛОВИЋ МИЛАН
+КАРТЈЕ ЈОВАН
+КАРВАК ЕМА
+КАРВАК ГЕЗА
+КАСА ЂЕРЂ
+КАСА АНДРИЈА
+КАСА АНТАЛ
+КАСА ФРАЊА
+КАСА ИДА
+КАСА ИМРЕ
+КАСА ЈЕЛЕНА
+КАСА МИХАЉ
+КАСА РУЖА
+КАСА РУЖА
+КАСА ЗОРКА
+КАСАШ АЛЕКСАНДАР МР
+КАСАШ АЛЕКСАНДАР
+КАСАШ ИМРЕ
+КАСАШ ИМРЕ
+КАСАШ ИМРЕ
+КАСАШ ЈАНОШ
+КАСАШ ЈОЖЕФ
+КАСАШ ЈОСИП
+КАСАШ КАРОЉ
+КАСАШ КАРОЉ
+КАСАШ КАРОЉ
+КАСАШ ОЛГА
+КАСАГИЋ БОРИСЛАВ
+КАСАЛИЦА ЖАРКО
+КАСАЛИЦА ЖИВКО
+КАСАЛИЦА МИЛАН
+КАСАЛИЦА СТЕВАНИЈА
+КАСАП ЕРВИН
+КАСАПОВ СТЕВАН
+КАСАПОВИЋ МАРА
+КАСАПОВИЋ МЕХО
+КАСАПОВИЋ ТИХОМИР
+КАСАПСКИ ЖАРКО
+КАСАПСКИ ЈЕЛКА
+КАСАР СЕЛИМ
+КАСИЋ ДАНИЦА
+КАСНЕР МИЈОЉКА
+КАСПЕР АЛЕКСАНДАР
+КАСПЕР ФЕРЕНЦ
+КАСПЕР ФРАЊА
+КАСПЕР ЛАДИСЛАВ
+КАСПЕР СТЕВАН
+КАСТЕЛИ ЂУРЂИНКА
+КАСТЕЛИ МАРКО
+КАСТОРИ РУДОЛФ
+КАСТРАТИ ФАДИЛ
+КАСТРАТОВИЋ АЛЕКСАНДАР
+КАСТРАТОВИЋ БОГДАН
+КАСТРАТОВИЋ МИХАИЛО
+КАСТРАТОВИЋ ВЛАДИМИР
+КАСТРАТОВИЋ ЗОРАН
+КАСТРАТОВИЋ ЗОРАН
+КАТАШИЋ ПЕТАР
+КАТАЛЕНИЋ ДУШАН
+КАТАЛИНЧЕВ ЖИВАН
+КАТАНА АНГЕЛИНА
+КАТАНА НИКОЛА
+КАТАНИЋ АНЂЕЛКА
+КАТАНИЋ ЈЕЦА
+КАТАНИЋ КСЕНИЈА
+КАТАНИЋ ЉУБИЦА
+КАТАНИЋ МАРА
+КАТАНИЋ РАДИВОЈ
+КАТАНИЋ РАДОМИР
+КАТАНИЋ САВА ДР
+КАТАНСКИ МИЛОШ
+КАТАНСКИ ПАВЛЕ
+КАТАРИНЧИЋ ЦЕЛЕСТИН
+КАТАРИВАС ЕЛА
+КАТАРИВАС-НИКОЛИЋ ГИЗЕЛА
+КАТАТИЋ ИЛОНА
+КАТАВА РУДОЛФ
+КАТАВИЋ ДАНИЛКА
+КАТАВИЋ МАРИЈА
+КАТАВИЋ РАДМИЛА
+КАТИЋ АДА
+КАТИЋ АЛЕКСАНДАР ДИПЛ ИНГ
+КАТИЋ БОСИЉКА
+КАТИЋ ДАРА
+КАТИЋ ДОБРИЛА
+КАТИЋ ГОЈКО
+КАТИЋ ИЛИЈА
+КАТИЋ ИЛИЈА
+КАТИЋ ИВАН
+КАТИЋ ЈОВАН
+КАТИЋ ЈОВО
+КАТИЋ КОСТА
+КАТИЋ КРСТА
+КАТИЋ КСЕНИЈА
+КАТИЋ ЉИЉАНА
+КАТИЋ ЉУБИНКО
+КАТИЋ ЛУКА
+КАТИЋ МАРГАРЕТА
+КАТИЋ МАРИЈА
+КАТИЋ МИЛАН
+КАТИЋ МИЛАН
+КАТИЋ МИЛОРАД
+КАТИЋ МИЛОРАД
+КАТИЋ МИТА
+КАТИЋ НИКОЛА
+КАТИЋ НОВАК
+КАТИЋ ОТИЛИЈА
+КАТИЋ ПАВЛЕ ДР
+КАТИЋ РАДИВОЈ
+КАТИЋ РАТКО
+КАТИЋ САВО
+КАТИЋ СЛОБОДАН
+КАТИЋ СЛОБОДАН
+КАТИЋ СНЕЖАНА
+КАТИЋ СРЕТЕН
+КАТИЋ СТАНКО
+КАТИЋ СВЕТИСЛАВ
+КАТИЋ СВЕТЛАНА
+КАТИЋ ВЕСЕЛА
+КАТИЋ ВЕСНА
+КАТИЋ ВЛАДИМИР
+КАТИЋ ЗЛАТОМИР
+КАТИНЧИЋ ЖЕЛИМИР ДИПЛ ИНГ
+КАТНИЋ САВЕТА
+КАТОНА ИМРЕ
+КАТОНА ЈОЖЕФ
+КАТОНА ЛАЈОШ ДИПЛ ИНГ
+КАТОНА ЛАСЛО
+КАТОНА ВИНЦЕ
+КАУРИЋ НИКОЛА
+КАУРИН ЈУРЕ
+КАУРИН КРСТО
+КАУРИН ЛАЗАР
+КАУРИН МОМЧИЛО
+КАУРИН НЕДЕЉКО
+КАУРИН ВАСО
+КАУРИНОВИЋ БОЖИДАР
+КАУРИНОВИЋ СИМО ДИПЛ ИНГ
+КАУТЕН ЈОХАН
+КАВЧИЋ СТЕВАН
+КАВАЈА ЛУКА
+КАВАЈА НИКО
+КАВАЛИЋ БОРИСЛАВ
+КАВЕЧАН ИВАН ДР
+КАВЕЧАН НИКОЛА
+КАВГИЋ МИОДРАГ
+КАВГИЋ НИКОЛА
+КАВГИЋ ПЕТАР
+КАВГИЋ ПЕТАР
+КАВГИЋ СТЕВАН
+КАВРАЈА СТЕВАН
+КАВРАЈА СВЕТОЗАР
+КАВРАН ЖЕЉКО
+КАЗАФЕРОВИЋ РЕШАД
+КАЗАНЦЕВ ЈОСИПА
+КАЗИ ЕРНЕ
+КАЗИ ЈОЖЕФ
+КАЗИЈА СМИЉКА
+КАЗИМИЋ СТЕВАН
+КАЗИМИРОВИЋ АНА
+КАЗИМИРОВИЋ ЉУБИСАВ
+КАЗИМИРОВИЋ МИРЈАНА
+КАЗИМИРОВИЋ НЕСТОР
+КЕЧА БОЈАНА
+КЕЧА ДУШАНКА
+КЕЧА ИЛИЈА
+КЕЧА МИКАН
+КЕЧА МИЛАН
+КЕЧА МИЛАН
+КЕЧА МИЛАН
+КЕЧА МИЛЕНКО
+КЕЧА МИЛЕВА
+КЕЧА ПЕРО
+КЕЧА РАНКО
+КЕЧА СЛОБОДАН
+КЕЧА ВОЈИН
+КЕЧИЋ ЖИВАН
+КЕЧИЋ МИЛАН АКАДЕМСКИ СЛИКАР
+КЕЧКЕШ ЂЕРЂ
+КЕЧКЕШ ФЕРЕНЦ
+КЕЧКЕШ ЈОСИП
+КЕЧКЕМЕТИ ИШТВАН
+КЕЧКИ РУЖИЦА
+КЕШАНСКИ ИВКА
+КЕШАНСКИ КАТИЦА
+КЕШАНСКИ РАДЕНКО
+КЕШАНСКИ РАДИВОЈ
+КЕШАНСКИ РУЖИЦА
+КЕШАНСКИ СИМО
+КЕШАНСКИ СТАНИСЛАВ
+КЕШЕЉ ЧЕДОМИР
+КЕШЕЉ ЕВА
+КЕШЕЉ ГОЈКО
+КЕШЕЉ ЈОВАН
+КЕШЕЉ РАДМИЛА
+КЕШЕЉ СЛОБОДАН
+КЕШЕЉ УГЉЕША
+КЕШЕЉ ВУКАШИН
+КЕШКИЋ ЗВОНИМИР
+КЕШМАРКИ-КРЕСТА ЈЕЛЕНА
+КЕЖИЋ БИЉАНА
+КЕЖИЋ ДУШАН
+КЕЖИЋ КАТИЦА
+КЕЖИЋ МАРЈАН
+КЕЖИЋ МИЛАН
+КЕЖИЋ НЕВЕНКА
+КЕЖИЋ ВЛАДО
+КЕБИН ЖАРКО
+КЕЦЕЛИ МИХАЉ
+КЕЦИЋ ДАНИЛО ДР
+КЕЦИЋ МИРОСЛАВ
+КЕЦИЋ СЛОБОДАН
+КЕЦМАН ЧЕДА
+КЕЦМАН ЖАРКО
+КЕЦМАН ЂУРО
+КЕЦМАН ЂУРО
+КЕЦМАН БОРИСЛАВ
+КЕЦМАН БРАНКО
+КЕЦМАН ДРАГИЦА
+КЕЦМАН ДУШАН
+КЕЦМАН ИЛИЈА
+КЕЦМАН ЈОВАН
+КЕЦМАН ЈОВАН
+КЕЦМАН ЈУЛКА
+КЕЦМАН ЉУБА
+КЕЦМАН МАРА
+КЕЦМАН МАРКО
+КЕЦМАН МИЛАДИН
+КЕЦМАН МИЛАН
+КЕЦМАН МИЛАН
+КЕЦМАН МИЛКА
+КЕЦМАН МИЛУТИН
+КЕЦМАН МИРЈАНА
+КЕЦМАН МИРОСЛАВА
+КЕЦМАН МЛАДЕН
+КЕЦМАН СТЕВАН
+КЕЦМАН СВЕТКО
+КЕЦО ЧЕДОМИР
+КЕЦО ГОЈКО
+КЕЦО ЈЕЛЕНА
+КЕЦО ЉУБОМИР
+КЕЦО МАРИЈА
+КЕЦО МАРИЈА
+КЕЦО МИРЈАНА
+КЕЦО МИТАР
+КЕЦО МОМИР
+КЕЦО РАДОЈЕ
+КЕЦО РАТКО
+КЕЦО СЛОБОДАН
+КЕЦО СЛОБОДАН
+КЕЏА МИЛОРАД
+КЕДИЋ ДУШАН
+КЕДИЋ СТАНКО
+КЕДВЕШ ЕВА
+КЕФЕР ЈАНОШ
+КЕФЕР ЈОСИП
+КЕГЛОВИЋ ВИНКО
+КЕК ЕРЖЕБЕТ
+КЕК ЕВА
+КЕКЕЉЕВИЋ МИОДРАГ
+КЕКЕЊ ГИЗЕЛА
+КЕКЕЗ ДРАГИЊА
+КЕКИЋ ЂОРЂЕ
+КЕКИЋ ЂУРА
+КЕКИЋ АГИЦА
+КЕКИЋ ДАНИЦА
+КЕКИЋ ДРАГАН
+КЕКИЋ ДУШАН
+КЕКИЋ ГОРДАНА
+КЕКИЋ КОСОВКА
+КЕКИЋ МИЛАН
+КЕКИЋ МИЛИЦА
+КЕКИЋ МИРКО
+КЕКИЋ НАТАЛИЈА
+КЕКИЋ ПЕТАР
+КЕКИЋ СЛАВИЦА
+КЕКИЋ ТЕОДОР
+КЕКИН МАРИЈА
+КЕКОВИЋ ДРАГОЉУБ
+КЕКОВИЋ МЕЛАНИЈА
+КЕКОВИЋ МИОДРАГ
+КЕЛБЛИ МИХАЈЛО
+КЕЛЕ ЈОЖЕФ
+КЕЛЕ ЈОЖЕФ
+КЕЛЕЧ МИЛОРАД
+КЕЛЕЧ МИРКО
+КЕЛЕЧЕВИЋ ДАНИЦА
+КЕЛЕЧЕВИЋ НИКИЦА
+КЕЛЕЧИЋ ИВАН
+КЕЛЕЧИЋ ЈОСИП
+КЕЛЕМЕН АЛЕКСАНДАР ДИПЛ ИНГ
+КЕЛЕМЕН АЛЕКСАНДАР
+КЕЛЕМЕН АНА
+КЕЛЕМЕН ГАБОР
+КЕЛЕМЕН ИМРЕ
+КЕЛЕМЕН ЈОЖЕФ
+КЕЛЕМЕН ЈОЖЕФ
+КЕЛЕМЕН ЛАЈОШ
+КЕЛЕМЕН МАЋАШ
+КЕЛЕМЕН МАРИЈА
+КЕЛЕМЕН ТИБОР
+КЕЛЕР ЈАНОШ
+КЕЛЕР ЈАНОШ
+КЕЛЕР ПЕТАР
+КЕЛЕР РАДМИЛА
+КЕЛЕР СТЕВАН
+КЕЛЕУВА ДРАГО
+КЕЛЕУВА МИХАЈЛО
+КЕЛИЋ СТЕВАНКА
+КЕЛИЈАШЕВИЋ ЖИВКО
+КЕЛНЕР МАРИЈА
+КЕЛОВИЋ МИЛОМИР
+КЕМЕЦ АНДРИЈА
+КЕМЕЦ МИЈО ДИПЛ ИНГ
+КЕМЕНЦИ БЕЛА
+КЕМЕЊ МИРА
+КЕМЕЊ ТЕРЕЗИЈА ДИПЛ ИНГ
+КЕМИВЕШ ГЕОРГ
+КЕНЂЕЛ СТЕВИЦА
+КЕНЦЕЛ СМИЉА
+КЕНЕШКИ ДРАГАН
+КЕНИГ ХЕНДРИХ
+КЕНИГ ЈЕКА
+КЕНИГ ЈЕЛЕНА
+КЕЊАЛО СТОЈАН
+КЕПЧИЈА ИЛИЈА
+КЕПЧИЈА МИЛЕ
+КЕПЧИЈА ТОДОР
+КЕПЕ-ДРАГОСАВЉЕВИЋ ЛИВИЈА
+КЕПЕ ЈУЛИЈАНА
+КЕПИЋ ЖИВАН
+КЕРЧЕВ КАРЛО
+КЕРЧУ МИРЈАНА
+КЕРЧУ СТАНИСЛАВ
+КЕРШНЕР АЛЕКСАНДАР
+КЕРАЦ ЖАРКО
+КЕРАЦ ЖАРКО
+КЕРАЦ ЂУРА
+КЕРАЦ БРАНИСЛАВ
+КЕРАЦ ДАНИЦА
+КЕРАЦ ДУШАН
+КЕРАЦ ЕРЖЕБЕТ
+КЕРАЦ ГАВРА
+КЕРАЦ ЈОВАН
+КЕРАЦ ЈОВАН
+КЕРАЦ ЛАЗАР
+КЕРАЦ ЛАЗАР
+КЕРАЦ ЛЕПОСАВА
+КЕРАЦ МИЛИВОЈ
+КЕРАЦ МИЛОШ
+КЕРАЦ МИТА
+КЕРАЦ ПАВЛЕ
+КЕРАЦ ПАВЛЕ
+КЕРАЦ ПЕРА
+КЕРАЦ СИМА
+КЕРАЦ СОЊА
+КЕРАЦ СПАСА
+КЕРАЦ СТАНА
+КЕРАЦ СТАНИСЛАВА
+КЕРАЦ СТЕВАН
+КЕРАЦ СТЕВАН
+КЕРАЦ ТОДОР
+КЕРАЦ ЗЛАТКО
+КЕРАНОВИЋ МИЛАН
+КЕРАНОВИЋ СТАНА
+КЕРАВЧИН МИТА
+КЕРАВЧИН СВЕТОЗАР
+КЕРАВИЦА ДАВИД
+КЕРАВИЦА ЈОВАН
+КЕРАВИЦА ЉУБОМИР
+КЕРАВИЦА МИЛИВОЈ
+КЕРАВИЦА МИЛОШ
+КЕРАВИЦА МИЛОШ
+КЕРАВИЦА МИОДРАГ
+КЕРАВИЦА МИОДРАГ
+КЕРАВИЦА ПЕТАР
+КЕРАВИЦА СТЕВАН
+КЕРАВИЦА СВЕТИСЛАВ
+КЕРЕЧКИ БРАНКО
+КЕРЕЧКИ ДРАГОМИР
+КЕРЕШЕВИЋ АЛЕКСАНДРА
+КЕРЕШЕВИЋ ИЛОНА
+КЕРЕШЕВИЋ СТОЈАНКА
+КЕРЕШИ ЈУЛИЈАНА
+КЕРЕШИ ВИНЦЕ
+КЕРЕЖИ ФЕРЕНЦ
+КЕРЕЦ ИВАН
+КЕРЕЏИН МИЛАН
+КЕРЕЏИН МИРЈАНА
+КЕРЕЏИН СОФИЈА
+КЕРЕКЕШ ИШТВАН ДИПЛ ИНГ
+КЕРЕКЕШ-МАЛОНКА ЕТЕЛКА
+КЕРЕНЕЦ ЉИЉАНА
+КЕРЕЊИ АЛЕКСАНДАР
+КЕРЕСТЕШ ЈЕНЕ
+КЕРЕСТЕШ ЉУБИЦА
+КЕРЕСТЕШ МАРГИТА
+КЕРЕЗОВИЋ МИХАЈЛО
+КЕРЕЗОВИЋ НЕЂО
+КЕРИ ДЕНЕШ
+КЕРИ ФРАЊО
+КЕРИ ЈОВАН
+КЕРИЋ САВА
+КЕРКЕЗ ДРАГО
+КЕРКЕЗ ДУШАНКА
+КЕРКЕЗ ДУШАН
+КЕРКЕЗ ДУШАН
+КЕРКЕЗ ГОЈКО
+КЕРКЕЗ ИЛИЈА
+КЕРКЕЗ ЛАЗАР
+КЕРКЕЗ МИЛАН
+КЕРКЕЗ МИЛЕНКО
+КЕРКЕЗ МИЛИЦА
+КЕРКЕЗ МИРЈАНА
+КЕРКЕЗ МИРОСЛАВ
+КЕРКЕЗ МЛАДЕН
+КЕРКЕЗ НИКОЛА
+КЕРКЕЗ ПАУЛИНА
+КЕРКЕЗ ПЕТАР
+КЕРКЕЗ СЛОБОДАН
+КЕРКЕЗ СРЕТЕН
+КЕРКЕЗ СТЕВАН
+КЕРКЕЗ СТЕВАН
+КЕРКЕЗ ВЛАДА
+КЕРКЕЗ ВОЈИН
+КЕРЛЕТА НЕЂО
+КЕРМЕЦ ИЛОНКА
+КЕРМЕЦИ ТИБОР
+КЕРМЕНДИ ПЕТАР
+КЕРН ДАНИЕЛ
+КЕРПЕЛ СОФИЈА
+КЕРСНИК ЈОЖЕ
+КЕРСНИК МИША
+КЕРСТИНГ КАТАРИНА
+КЕРТЕС ЕРЖЕБЕТ
+КЕРТЕС ЈАНОШ
+КЕРТЕС ЈАНОШ
+КЕРТЕС ВИЛМОШ
+КЕРВИНА АНТОН
+КЕРВИНА АРИЈАНА
+КЕСЕГ ЛАЈОШ
+КЕСЕГ ЛАЈОШ
+КЕСЕГИ ГЕЗА
+КЕСЕГИ КАРОЉ
+КЕСЕГИ ВОЈИСЛАВ
+КЕСЕР ДРАГИША
+КЕСЕРОВИЋ КАТАРИНА
+КЕСИЋ ЖИВКО
+КЕСИЋ ЂУРА
+КЕСИЋ БОШКО
+КЕСИЋ БОРИСЛАВ
+КЕСИЋ ГОРАН
+КЕСИЋ ЈОВАН
+КЕСИЋ МАРИНКО
+КЕСИЋ МИЛЕ
+КЕСИЋ МИЛИЦА
+КЕСИЋ МИЛКА
+КЕСИЋ НЕВЕНКА
+КЕСИЋ СЛОБОДАН
+КЕСИЋ СТАНОЈЕ ДИПЛ ПРАВНИК
+КЕСЛЕР АНДРИЈА ДР ЛЕКАР
+КЕСЛЕР РОБЕРТ
+КЕТЕЛЕШ РОЖИКА
+КЕТИГ ТОМИСЛАВ
+КЕТИГ ТОМИСЛАВ
+КЕВИЋ МИЛА
+КЕВИЋ ОЛГА
+КЕВИЋ РАДЕ
+КЕВИЉ БРАНКО
+КЕВРЕШАН ЕМИЛ
+КЕЗЕШИ ДУШКО
+КЕЗИЋ ДУШАНКА
+КЕЗИЋ МИРКО
+КЕЗИЈА МИЛОРАД
+КЕЗМИЋ БИЉАНА
+КЕЗУНОВИЋ МИЛОВАН
+КЕЗУНОВИЋ ПЕТКО
+КЕЗУНОВИЋ РАЈКО
+КИЧИ ЕРНЕ
+КИЧИН ЕВА
+КИЧИНА ЛАЗАР
+КИЧИЊ ЕЛИЗАБЕТА
+КИШ-ЧЕПЕГИ ГАБОР
+КИШ-ЧЕПЕГИ ГАБОР
+КИШ-ЧЕПЕГИ РУДОЛФ
+КИШ-ЧЕПЕГИ ТЕРЕЗА
+КИШ ШАНДОР
+КИШ ШАНДОР
+КИШ ЂЕРЂ
+КИШ ЂЕРЂ
+КИШ АЛЕКСАНДАР
+КИШ АНА
+КИШ АНДРИЈА
+КИШ БЕЛА
+КИШ БЕЛА
+КИШ БОЛДИЖАР
+КИШ БРАНКО
+КИШ ДУШАНКА
+КИШ ДУШИЦА
+КИШ ЕРНЕСТ
+КИШ ЕРНЕ
+КИШ ЕСТЕР
+КИШ ЕВА
+КИШ ФЕРЕНЦ
+КИШ ФЕРЕНЦ
+КИШ ФЕРЕНЦ
+КИШ ФРАЊО
+КИШ ГЕЗА
+КИШ ГЕЗА
+КИШ ГИЗЕЛА
+КИШ ХЕЛЕНА
+КИШ ХЕНРИЈЕТА
+КИШ ИШТВАН
+КИШ ИШТВАН
+КИШ ИШТВАН
+КИШ ИЛОНА
+КИШ ИЛОНКА
+КИШ ИРЕНА
+КИШ ИСИДОР
+КИШ ИВАН
+КИШ ИВАН
+КИШ ЈАНКО
+КИШ ЈАНОШ
+КИШ ЈОЖЕФ
+КИШ ЈОЦА
+КИШ ЈОСИП
+КИШ ЈОСИП
+КИШ-ЈОВАК ФРАЊА
+КИШ ЈОЗЕФИНА
+КИШ ЈУЛИЈАН
+КИШ КАЛМАН
+КИШ КАТАЛИН
+КИШ КАТИЦА
+КИШ КАТИЦА
+КИШ ЛАЦИКА
+КИШ ЛАСЛО
+КИШ ЛАСЛО
+КИШ МАРГИТА
+КИШ МАРИЈА
+КИШ МАРИЈА
+КИШ МИХАЉ
+КИШ МИЈА
+КИШ МИЛАН
+КИШ МИЛИЦА
+КИШ МИРКО
+КИШ НАНДОР
+КИШ НИКОЛА
+КИШ НИКОЛА
+КИШ ОТО
+КИШ ОТО
+КИШ ПАВЛЕ
+КИШ ПЕРА
+КИШ ПЕТАР
+КИШ ПЕТАР
+КИШ ПЕТАР
+КИШ РОЗАЛИЈА
+КИШ СЛАВИЦА
+КИШ СЛАВИЦА
+КИШ СЛОБОДАН
+КИШ СТАНИСЛАВ
+КИШ СТЕВАН
+КИШ СТЕВАН
+КИШ СТЕВАН
+КИШ СТЕВАН
+КИШ СТЈЕПАН
+КИШ ТИБОР ДР
+КИШ ТИБОР
+КИШ ТИБОР
+КИШ ТОДОР
+КИШ ВЕСНА
+КИШ ВИКТОРИЈА
+КИШ ВЛАДИМИР
+КИШ ВЛАДИМИР
+КИШ ВЛАДИМИР
+КИШ ВЛАДИМИР
+КИШ ВУКОСАВА
+КИШ ЗОЛТАН
+КИШ ЗОЛТАН
+КИШ ЗОЛТАН
+КИШ ЗОЛТАН
+КИШ ЗОЛТАН
+КИШ ЗОЛТАН
+КИШ ЗОЛТАН
+КИШДОБРАНСКИ МИЛИВОЈ
+КИШЕГЕЦИ ЈАН ДР
+КИШГЕЦИ-ДУДАШ КЛАРА
+КИШГЕЦИ ЕМИЛ
+КИШГЕЦИ ИВАН
+КИШГЕЦИ ПАВЛЕ
+КИШГЕЦИ СТАНИСЛАВ
+КИШГЕЦИ СТАНИСЛАВ
+КИШГЕЦИ СТЕВАН
+КИШГЕЦИ ВЛАДИМИР
+КИШЈУХАС ЈАКОВ
+КИШМИШКА ПАЛ
+КИШПРДИЛОВ ДЕЈАН
+КИШПРДИЛОВ ЗОРАН
+КИЋАНОВИЋ БОРО
+КИЋАНОВИЋ ДАРИНКА
+КИЋАНОВИЋ ЈОКА
+КИЋАНОВИЋ МИРОСЛАВ
+КИЋАНОВИЋ МИТАР
+КИЋАНОВИЋ ПЕТАР
+КИЋАНОВИЋ РАДМИЛА
+КИЋАНОВИЋ РАЈКО
+КИЋАНОВИЋ ЗОРАН
+КИЖДОБРАНСКИ ЖАРКО
+КИЖДОБРАНСКИ ЉУБИЦА
+КИЖДОБРАНСКИ МИЛАН
+КИЖДОБРАНСКИ МИЛАН
+КИЖДОБРАНСКИ МИЛИВОЈ
+КИЖДОБРАНСКИ САВА
+КИЖЕВСКИ ДИМКО
+КИЖЕВСКИ МИРА
+КИЖЕВСКИ ВОЈИСЛАВ
+КИЦОШЕВ БРАНКО
+КИЦОШЕВ ЉИЉАНА
+КИЦОШЕВ МИТА
+КИЦОШЕВ САША
+КИЦОШЕВ СТОЈАН
+КИЦОШЕВИЋ ТРИВА
+КИЦОШЕВИЋ ВЛАЈКО
+КИЈАЧКИ БРАНИСЛАВ
+КИЈАНОВИЋ МАНОЈЛЕ
+КИЈАНОВИЋ СТАНКО
+КИКАНОВИЋ ДИМИТРИЈЕ
+КИКАНОВИЋ ДОБРИЛА
+КИКАНОВИЋ МИЛЕНИЈА
+КИКИЋ-ШОВЉАНСКИ ЉИЉАНА
+КИКИЋ МИРКО
+КИКИЋ СМИЉА ДР
+КИКИНЂАНИН МИРОСЛАВА
+КИКИНДАИ ВЕРА
+КИКОШ ГОРДАН
+КИКОШ ЈОВАН
+КИКОШ ЛАЗАР
+КИКОШ СРБИСЛАВ
+КИКОВИЋ СЛАВИЦА
+КИЛИЋ НИКОЛА
+КИЛИБАРДА МИЛОРАД
+КИЛИБАРДА МИТАР
+КИЛИБАРДА ПАВЛЕ
+КИЛИБАРДА ВЛАДИМИР
+КИЛИБАРДА ВОЈИСЛАВ
+КИМПАНОВ БРАНИСЛАВ
+КИМПАНОВ НАТАЛИЈА
+КИМПАНОВ СЛОБОДАН
+КИМПАНОВ СЛОБОДАН
+КИМПАНОВ СОФИЈА
+КИНЧЕШ МИХАЉ
+КИНЂИН СВЕТОЗАР
+КИНЂИН ВАСА
+КИНДЕРНАЈ ИЛИЈА
+КИНДЕРНАЈ МИЛАН
+КИНДЕРНАЈ ОТО
+КИНДЕРНОЈ ПАВЛЕ
+КИНИК ЈАН
+КИНИК ПАВЛЕ
+КИЊЕРАН СВЕТИСЛАВ
+КИНКА РИТА
+КИПЕРОВИЋ ЈОВО
+КИПИЋ ЂУЛА
+КИПИЋ АНДРИЈА
+КИПИЋ АНКА
+КИПИЋ ЕДИТА
+КИПИЋ ЕРЖЕБЕТ
+КИПИЋ ЕРНЕ
+КИПИЋ ФЕРЕНЦ
+КИПИЋ ФРАЊА
+КИПИЋ ИШТВАН
+КИПИЋ ЈОСИП
+КИПИЋ ЛАСЛО
+КИПИЋ НАНДОР
+КИРЧАН ЕМИЛ
+КИРШ ЈОЖЕФ
+КИРШ МИЛОРАД
+КИРШЕК ЈУРАЈ
+КИРЋАН САВА
+КИРЋАНСКИ БРАНКО
+КИРЋАНСКИ ДУШКО
+КИРЋАНСКИ ИВАН
+КИРЋАНСКИ МИЛИЦА
+КИРЋАНСКИ ОБРАД
+КИРЋАНСКИ РАДИВОЈ
+КИРЋАНСКИ РАДОСЛАВА
+КИРДА ВЛАДИМИР
+КИРИЋ ФРАЊО
+КИРИЋ МЕНКА
+КИРИЋ СЛОБОДАН
+КИРИЋ СТАНИСЛАВ
+КИРИЏИЋ ДРАГИША
+КИРИЏИЋ МИЛОШ
+КИРИЏИЋ ОБРАД
+КИРИЛОВ АЛЕКСАНДАР
+КИРИЛОВИЋ АЛЕКСАНДАР
+КИРИЛОВИЋ ДОБРИНКА
+КИРИЛОВИЋ ЈЕЛЕНА
+КИРИЛОВИЋ КРИСТА
+КИРИЛОВИЋ КРИСТИНА
+КИРИЛОВИЋ ОЛГА
+КИРИН ЖЕЉКО
+КИРИН ИВИЦА
+КИРИН СНЕЖАНА
+КИРЈАКОВИЋ ЈОВАН
+КИРЈАКОВИЋ НИКОЛА
+КИРКОВ ДИМИТАР
+КИРКОВ ВЕРИЦА
+КИРН ВЛАДИМИР
+КИРОВАКОВ ВАЛЕРИЈА
+КИРТИЋ ДУШАН
+КИСАЧАНИН ДЕСАНКА
+КИСАЧАНИН ДУШАН
+КИСАЧАНИН МИОДРАГ ДИПЛ ИНГ
+КИСАЧАНИН МИРОСЛАВ
+КИСАЧАНИН ПАВЛЕ
+КИСАЧАНИН СВЕТОЗАР
+КИСЕЛИЧКИ ЖИВКО СУДИЈА
+КИСЕЛИЧКИ ДАНИЦА
+КИСЕЛИЧКИ ФЕДОР ДР
+КИСЕЛИЧКИ ЛАЗАР ДИПЛ ИНГ
+КИСЕЛИЦА ЖАРКО
+КИСЕЛИЦА НАДА
+КИСЕЛИЦА ПЕТАР
+КИСЕЛИЦА ПЕТАР
+КИСИЋ ДУШАН
+КИСИЋ ЈОВАН
+КИСИЋ МИРКО
+КИСИЋ СРЂАН
+КИСИЋ СВЕТОЗАР
+КИСИН АНЂА
+КИСИН МИЛИЦА
+КИСИН МИЛКА
+КИСИН ТОМО
+КИСЛИЦ ИРЕНА
+КИСЛОВСКИ ВЛАДИМИР
+КИСО МИЛОРАД
+КИСТЕР ВИНКО
+КИТ ВАСИЉ
+КИТАНОВИЋ ЖИВКО
+КИТАНОВИЋ БРАНИСЛАВА
+КИТАНОВИЋ КАТИЦА
+КИТАНОВИЋ ЛЕНКА
+КИТАНОВИЋ МИРЈАНА
+КИТАНОВИЋ НЕДЕЉКО
+КИТАНОВИЋ ТОМА
+КИТАНОВСКИ ДИМЧЕ
+КИТИЋ РАДОЈКА
+КИТИЋ САВО
+КИТИЋ СТОЈКО
+КИТИЋ ВЕЛИМИР
+КИУРСКИ СТЕВАН ДИПЛ ОЕЦ
+КИВОВИЋ АНТОНИЈА
+КИЗА БРАНКИЦА
+КИЗИЋ ДУШАН
+КИЗИЋ ЛИДИЈА
+КИЗИЋ МАРКО
+КИЗИЋ МИХАИЛО
+КИЗИЋ САВКА
+КИЗИЋ СЛОБОДАН
+КИЗИЋ СЛОБОДАН
+КИЗИЋ СНЕЖАНА
+КИЗИЋ ТИХОСЛАВ
+КИЗУР АНДРАШ
+КИЗУР ИШТВАН
+КИЗУР ЈАНОШ
+КИЗУР ЛАСЛО
+КИЗУР ПАВЕЛ
+КИЗУР ВЕРА
+КЛАЧАР МИЛКО
+КЛАЧАР МИЛОШ
+КЛАШЊА ЖАРКО
+КЛАШЊА БРАНКО
+КЛАШЊА ЈОВАН
+КЛАШЊА МАРИЈА
+КЛАШЊА МИКА
+КЛАШЊА МИЛЕНА
+КЛАШЊА МИЛЕ
+КЛАШЊА МИЛИЦА
+КЛАШЊА МИРОСЛАВ
+КЛАШЊА ВЛАДИСЛАВ ДР ЛЕКАР
+КЛАЋ ДРАГАН
+КЛАЋИК ЈОЖЕФ
+КЛАЋИК МАРИЈА
+КЛАДУШИЋ МЕНСУРА
+КЛАИЋ АНТО
+КЛАИЋ ПАВО
+КЛАЈ ПЕТАР
+КЛАЈИЋ ЂУРА
+КЛАЈИЋ ДАНИЛО
+КЛАЈИЋ ЉУБИЦА
+КЛАЈИЋ МАГДАЛЕНА
+КЛАЈИЋ ОЛГА
+КЛАЈИЋ РОЗАЛИЈА
+КЛАЈИЋ ВАЛЕРИЈА
+КЛАЈИЋ ВИДА
+КЛАЈН АЛБЕРТ
+КЛАЈН АНА
+КЛАЈН ДРАГУТИН
+КЛАЈН ИВАНКА
+КЛАЈН ИВАН
+КЛАЈН ЛАЈЧО ДР
+КЛАЈН МИРОСЛАВ
+КЛАЈН ВЕРА
+КЛАЈНЕР ЕСТЕР
+КЛАЈНЕР ИШТВАН
+КЛАМАР КАРЛО
+КЛАМИК ИМРЕ
+КЛАПАРЕВИЋ ГОРАН
+КЛАПАРЕВИЋ САВА
+КЛАПАРЕВИЋ ВАСИЛИЈЕ
+КЛАРИЋ ДУШАНКА
+КЛАРИЋ ГОРАН
+КЛАРИЋ ЉУБИЦА
+КЛАРИЋ МИЛИЋ
+КЛАРИЋ МИЛОРАД
+КЛАРИЋ ОЛГА
+КЛАРИЋ СЕКА
+КЛАСАН АНА
+КЛАСЕР АЛБЕРТ
+КЛАСИЋ ЛАДИСЛАВ
+КЛАСИЋ САША
+КЛАУС ЕРЖЕБЕТ
+КЛАУС ЕРЖЕБЕТ
+КЛАУС ЛАСЛО
+КЛЕБЕЧКО ШАНДОР
+КЛЕБЕЧКО ШАНДОР
+КЛЕМ АДАМ ДР
+КЛЕМ ЈОЖЕФ
+КЛЕМ ТЕРЕЗА
+КЛЕМЕНОВИЋ УРОШ
+КЛЕНОЦКИ МАРИЈА
+КЛЕНОВШЕК ФРАЊА
+КЛЕНОВШЕК ТЕРЕЗИЈА
+КЛЕНОВШЕК ЗВОНИМИР
+КЛЕПИЋ ЂУРАЂ
+КЛЕПИЋ НИКОЛА
+КЛЕТ ГЕЗА
+КЛЕУТ МИЛАН
+КЛЕУТ РУЖА ДР ЛЕКАР
+КЛЕВЕРНИЋ БОРИСЛАВ
+КЛИЧЕК ИРЕНА
+КЛИЧКОВИЋ ДАНИЦА
+КЛИЧКОВИЋ КОСТА
+КЛИЧКОВИЋ ВЕРА
+КЛИШАНИЋ ЈОСИП
+КЛИШАНИЋ СТАНИСЛАВ
+КЛИЦОВ ИЛИЈА
+КЛИКОВАЦ МИХАЈЛО
+КЛИКОВАЦ ВЕЛИМИР
+КЛИМЕШ ДРАГАНА
+КЛИМЕШ ЗОРА
+КЛИНАЦ УРОШ
+КЛИНАР ИВАН
+КЛИНЦОВ НАДА
+КЛИНЏИЋ СТЈЕПАН
+КЛИНГЕР КАТИЦА
+КЛИНКО ЈАН
+КЛИНОЦКИ ЂЕРЂ
+КЛИНОВСКИ БРАНКО
+КЛИНОВСКИ ДРАГАН
+КЛИНОВСКИ ДРАГАН
+КЛИНОВСКИ ДУШАН
+КЛИПА ЖИВАН
+КЛИПА ЂОРЂЕ
+КЛИПА ЈЕЛИЦА
+КЛИПА-КРАБЕС ГРЕТА
+КЛИПА ЛАЗАР
+КЛИПА МИКА
+КЛИР ИЛОНА
+КЛИР РОЗАЛИЈА
+КЛИСАРА ЖИВКО
+КЛИСАРА ЂОРЂЕ
+КЛИСАРИЋ МИРКО
+КЛИСИЋ НАДА
+КЛИСКА АНЂЕЛИЈА
+КЛИСКА ВОЈО
+КЛИСУРА МИЛОШ
+КЛИСУРА МОМИР
+КЛИСУРА СТАКА
+КЛИСУРИЋ ЂУРО
+КЛИВИЊИ ЈОЖЕФ
+КЉАИЋ ЛЕПОСАВА
+КЉАИЋ МАЦА
+КЉАИЋ СИМО
+КЉАИН ДРАГИЊА
+КЉАИН ЛАЗАР
+КЉАЈИЋ ЂОРЂЕ ПРОФЕСОР
+КЉАЈИЋ ЂОРЂЕ
+КЉАЈИЋ ЂОРЂЕ
+КЉАЈИЋ БОРИВОЈЕ
+КЉАЈИЋ БОРКА
+КЉАЈИЋ БРАНКО
+КЉАЈИЋ БРАНКО
+КЉАЈИЋ ДАНИЛО
+КЉАЈИЋ ДРАГАН
+КЉАЈИЋ ДРАГАН
+КЉАЈИЋ ДУШАНКА
+КЉАЈИЋ ИЛИЈА
+КЉАЈИЋ ИЛИЈА
+КЉАЈИЋ ИВАН
+КЉАЈИЋ ЈЕЛЕНА
+КЉАЈИЋ КОВИЉКА
+КЉАЈИЋ ЛУКА
+КЉАЈИЋ МАРА
+КЉАЈИЋ МИЛАН
+КЉАЈИЋ МИЛЕВА
+КЉАЈИЋ МИОДРАГ
+КЉАЈИЋ НАДА
+КЉАЈИЋ ОЛИВЕРА
+КЉАЈИЋ ПЕТАР
+КЉАЈИЋ-РАДАКОВИЋ МИЛИЦА
+КЉАЈИЋ СЕНКА
+КЉАЈИЋ ВАТА
+КЉАЈИЋ ВЛАДО
+КЉАЈИЋ ВУКИЦА
+КЉАЈИЋ ЗДРАВКО
+КЉАКИЋ ВУКАШИН
+КЉЕЧАНИН МИРЈАНА
+КЉУЧОВСКИ МАХАЉИНА
+КЉУЧОВСКИ НИКОЛА
+КЉУТИЋ ЈАСМИНА
+КЉУТИЋ ОСТОЈА
+КЛОБУШИЦКИ ВЛАДИСЛАВ
+КЛОПФЕР ЂОРЂЕ
+КЛОПКА КЛАРА ДР
+КЛОПКА ПИРОШКА
+КМЕЧ МАРТИН
+КМЕЧКО СТЕВАН
+КМЕЋ ЈАН ДР
+КМЕЗИЋ ИВАНКА
+КМЕЗИЋ МИЛЕ
+КМЕЗИЋ ВЛАДА
+КМИЦИКЕВИЋ ЗОРАН
+КМИЦИКОВИЋ МИЛОЈКА
+КНЕШАУРЕК МАРИЈА
+КНЕЖЕВ ЖАРКО ДИПЛ ИНГ
+КНЕЖЕВ ЂОРЂЕ
+КНЕЖЕВ ЂОРЂЕ
+КНЕЖЕВ ЂУРА
+КНЕЖЕВ ЈЕЛИЦА
+КНЕЖЕВ ЉИЉАНА
+КНЕЖЕВИЋ ЖАРКО
+КНЕЖЕВИЋ ЖЕЉКО
+КНЕЖЕВИЋ ЖЕЉКО
+КНЕЖЕВИЋ ЖЕЉКО
+КНЕЖЕВИЋ ЖИВКА
+КНЕЖЕВИЋ ЖИВКО
+КНЕЖЕВИЋ ЖИВОЈИН
+КНЕЖЕВИЋ ЖИВОЈИН
+КНЕЖЕВИЋ ЂИНЕ
+КНЕЖЕВИЋ ЂОРЂЕ
+КНЕЖЕВИЋ ЂОРЂЕ
+КНЕЖЕВИЋ ЂОРЂЕ
+КНЕЖЕВИЋ ЂОРЂЕ
+КНЕЖЕВИЋ ЂОРЂЕ
+КНЕЖЕВИЋ ЂОРЂЕ
+КНЕЖЕВИЋ ЂОРЂЕ
+КНЕЖЕВИЋ ЂУРА
+КНЕЖЕВИЋ ЂУРА
+КНЕЖЕВИЋ ЂУРО
+КНЕЖЕВИЋ АЛЕКСАНДАР
+КНЕЖЕВИЋ АЛЕКСАНДАР
+КНЕЖЕВИЋ АЛЕКСАНДАР
+КНЕЖЕВИЋ АЛЕКСАНДРА
+КНЕЖЕВИЋ АЛЕКСА
+КНЕЖЕВИЋ АНЂЕЛКО
+КНЕЖЕВИЋ АНИЦА
+КНЕЖЕВИЋ АНИЦА
+КНЕЖЕВИЋ АРКАДИЈА
+КНЕЖЕВИЋ БОШКО
+КНЕЖЕВИЋ БОЖО
+КНЕЖЕВИЋ БОГДАН
+КНЕЖЕВИЋ БОГДАН
+КНЕЖЕВИЋ БОГДАН
+КНЕЖЕВИЋ БОРИСЛАВ
+КНЕЖЕВИЋ БОРИС
+КНЕЖЕВИЋ БОРКА
+КНЕЖЕВИЋ БОСИЉКА
+КНЕЖЕВИЋ БРАНИМИР
+КНЕЖЕВИЋ БРАНКО
+КНЕЖЕВИЋ БРАНКО
+КНЕЖЕВИЋ ЦВИЈО
+КНЕЖЕВИЋ ДОБРИВОЈЕ
+КНЕЖЕВИЋ ДРАГАН
+КНЕЖЕВИЋ ДРАГАН
+КНЕЖЕВИЋ ДРАГАН
+КНЕЖЕВИЋ ДРАГАН
+КНЕЖЕВИЋ ДРАГИША
+КНЕЖЕВИЋ ДРАГИЦА
+КНЕЖЕВИЋ ДРАГИЦА
+КНЕЖЕВИЋ ДРАГОЉУБ
+КНЕЖЕВИЋ ДРАГОЉУБ
+КНЕЖЕВИЋ ДУШАНКА
+КНЕЖЕВИЋ ДУШАН
+КНЕЖЕВИЋ ДУШАН
+КНЕЖЕВИЋ ДУШАН
+КНЕЖЕВИЋ ДУШАН
+КНЕЖЕВИЋ ГЛИША
+КНЕЖЕВИЋ ГОРДАНА
+КНЕЖЕВИЋ ИЛИЈА
+КНЕЖЕВИЋ ИЛИЈА
+КНЕЖЕВИЋ ИЛИЈА
+КНЕЖЕВИЋ ИЛИЈА
+КНЕЖЕВИЋ ИЛИЈА
+КНЕЖЕВИЋ ИЛИЈА
+КНЕЖЕВИЋ ИВАНКА
+КНЕЖЕВИЋ ИВАН
+КНЕЖЕВИЋ ИВАН
+КНЕЖЕВИЋ ЈЕЛА
+КНЕЖЕВИЋ ЈЕЛЕНА
+КНЕЖЕВИЋ ЈЕЛЕНА
+КНЕЖЕВИЋ ЈЕЛИСАВКА
+КНЕЖЕВИЋ ЈОСИП
+КНЕЖЕВИЋ ЈОВАНКА
+КНЕЖЕВИЋ ЈОВАНКА
+КНЕЖЕВИЋ ЈОВАН
+КНЕЖЕВИЋ ЈОВАН
+КНЕЖЕВИЋ ЈОВАН
+КНЕЖЕВИЋ ЈОВАН
+КНЕЖЕВИЋ ЈОВАН
+КНЕЖЕВИЋ ЈОВО
+КНЕЖЕВИЋ ЈУГОСЛАВ
+КНЕЖЕВИЋ КРСТАН
+КНЕЖЕВИЋ ЛАТИНКА
+КНЕЖЕВИЋ ЛАЗАР
+КНЕЖЕВИЋ ЛАЗАР
+КНЕЖЕВИЋ ЉИЉАНА
+КНЕЖЕВИЋ ЉУБОМИР
+КНЕЖЕВИЋ ЉУБОМИР
+КНЕЖЕВИЋ ЉУБОМИР
+КНЕЖЕВИЋ МАНЕ
+КНЕЖЕВИЋ МАРИЦА
+КНЕЖЕВИЋ МАРИЦА
+КНЕЖЕВИЋ МАРИЈА
+КНЕЖЕВИЋ МАРИЈА
+КНЕЖЕВИЋ МАРИЈА
+КНЕЖЕВИЋ МАРИЈА
+КНЕЖЕВИЋ МАРКО
+КНЕЖЕВИЋ МИЋА
+КНЕЖЕВИЋ МИХАЈЛО
+КНЕЖЕВИЋ МИХАЈЛО
+КНЕЖЕВИЋ МИХАЈЛО
+КНЕЖЕВИЋ МИХАЈЛО
+КНЕЖЕВИЋ МИЛАДИН
+КНЕЖЕВИЋ МИЛАН
+КНЕЖЕВИЋ МИЛАН
+КНЕЖЕВИЋ МИЛАН
+КНЕЖЕВИЋ МИЛАН
+КНЕЖЕВИЋ МИЛАН
+КНЕЖЕВИЋ МИЛАН
+КНЕЖЕВИЋ МИЛАН
+КНЕЖЕВИЋ МИЛАН
+КНЕЖЕВИЋ МИЛАН
+КНЕЖЕВИЋ МИЛИЦА
+КНЕЖЕВИЋ МИЛИЈАНА
+КНЕЖЕВИЋ МИЛИВОЈ
+КНЕЖЕВИЋ МИЛКА
+КНЕЖЕВИЋ МИЛОШ
+КНЕЖЕВИЋ МИЛОМИР
+КНЕЖЕВИЋ МИЛОЊА
+КНЕЖЕВИЋ МИЛОЊА
+КНЕЖЕВИЋ МИЛОРАД
+КНЕЖЕВИЋ МИЛУТИН
+КНЕЖЕВИЋ МИОДРАГ
+КНЕЖЕВИЋ МИОДРАГ
+КНЕЖЕВИЋ МИОДРАГ
+КНЕЖЕВИЋ МИРЈАНА
+КНЕЖЕВИЋ МИРКО
+КНЕЖЕВИЋ МИРКО
+КНЕЖЕВИЋ МИРКО
+КНЕЖЕВИЋ МИРКО
+КНЕЖЕВИЋ МИРКО
+КНЕЖЕВИЋ МИРКО
+КНЕЖЕВИЋ МИРКО
+КНЕЖЕВИЋ МИРОСЛАВ
+КНЕЖЕВИЋ МИРОСЛАВ
+КНЕЖЕВИЋ МЛАДЕН
+КНЕЖЕВИЋ МОМЧИЛО
+КНЕЖЕВИЋ МОМИР
+КНЕЖЕВИЋ МОМИР
+КНЕЖЕВИЋ МОМИР
+КНЕЖЕВИЋ НАДА
+КНЕЖЕВИЋ НАДЕЖДА
+КНЕЖЕВИЋ НЕНАД
+КНЕЖЕВИЋ НЕВЕНА
+КНЕЖЕВИЋ НИКОЛА
+КНЕЖЕВИЋ НИКОЛА
+КНЕЖЕВИЋ НИКОЛА
+КНЕЖЕВИЋ НИКОЛА
+КНЕЖЕВИЋ НИКОЛА
+КНЕЖЕВИЋ НИКОЛА
+КНЕЖЕВИЋ НИКОЛА
+КНЕЖЕВИЋ НИКОЛА
+КНЕЖЕВИЋ ПАНТА
+КНЕЖЕВИЋ ПАВЛЕ
+КНЕЖЕВИЋ ПЕРА
+КНЕЖЕВИЋ ПЕТАР
+КНЕЖЕВИЋ ПЕТАР
+КНЕЖЕВИЋ ПЕТАР
+КНЕЖЕВИЋ ПЕТАР
+КНЕЖЕВИЋ ПЕТКО
+КНЕЖЕВИЋ РАДА
+КНЕЖЕВИЋ РАДЕ
+КНЕЖЕВИЋ РАДИВОЈЕ
+КНЕЖЕВИЋ РАДИВОЈЕ
+КНЕЖЕВИЋ РАДМИЛА
+КНЕЖЕВИЋ РАДОМИР
+КНЕЖЕВИЋ РАДОСЛАВ
+КНЕЖЕВИЋ РАЈКО
+КНЕЖЕВИЋ РАНКО
+КНЕЖЕВИЋ РИСТО
+КНЕЖЕВИЋ РОЗА
+КНЕЖЕВИЋ САВО
+КНЕЖЕВИЋ СИНИША
+КНЕЖЕВИЋ СЛАВКО
+КНЕЖЕВИЋ СЛАВКО
+КНЕЖЕВИЋ СЛАВОЉУБ
+КНЕЖЕВИЋ СЛОБОДАН
+КНЕЖЕВИЋ СЛОБОДАН
+КНЕЖЕВИЋ СЛОБОДАН
+КНЕЖЕВИЋ СЛОБОДАН
+КНЕЖЕВИЋ СЛОБОДАН
+КНЕЖЕВИЋ СЛОБОДАН
+КНЕЖЕВИЋ СЛОБОДАН
+КНЕЖЕВИЋ СЛОБОДАН
+КНЕЖЕВИЋ СЛОБОДАН
+КНЕЖЕВИЋ СПАСЕНИЈА
+КНЕЖЕВИЋ СРБИСЛАВА
+КНЕЖЕВИЋ СТАНА
+КНЕЖЕВИЋ СТАНИША
+КНЕЖЕВИЋ СТАНИМИР
+КНЕЖЕВИЋ СТАНКО
+КНЕЖЕВИЋ СТЕВАН
+КНЕЖЕВИЋ СТЕВО
+КНЕЖЕВИЋ СТЕВО
+КНЕЖЕВИЋ СТИПЕ
+КНЕЖЕВИЋ СТОЈАН
+КНЕЖЕВИЋ СВЕТКО
+КНЕЖЕВИЋ СВЕТО
+КНЕЖЕВИЋ ТЕОДОР
+КНЕЖЕВИЋ ТОМИСЛАВ
+КНЕЖЕВИЋ УРОШ
+КНЕЖЕВИЋ ВАСИЛИЈА
+КНЕЖЕВИЋ ВЕРА
+КНЕЖЕВИЋ ВЕРА
+КНЕЖЕВИЋ ВЛАДИМИР
+КНЕЖЕВИЋ ВЛАДИМИР
+КНЕЖЕВИЋ ВЛАСТИМИР
+КНЕЖЕВИЋ ВЛАСТИМИР
+КНЕЖЕВИЋ ВОЈИН
+КНЕЖЕВИЋ ВУКОСАВ
+КНЕЖЕВИЋ ЗДРАВКО
+КНЕЖЕВИЋ ЗЛАТАН
+КНЕЖЕВИЋ ЗОРАН
+КНЕЖЕВИЋ ЗОРАН
+КНЕЖЕВИЋ ЗОРА
+КНЕЖИЋ ОЛГА
+КНЕЖИЋ РАДОМИР
+КНЕБЛ ФРАЊА
+КНЕБЛ НИКОЛА
+КНЕГИЋ МИРОСЛАВ
+КНЕР ДЕЗИДЕР
+КНЕСЕЛАЦ БРАНИСЛАВА
+КНЕЗ ЗЛАТКО
+КНЕЗИ ИВАН
+КНЕЗИ ЈОЖЕФ
+КНЕЗИ СЛОБОДАН
+КЊЕШКО ЖУЖАНА
+КЊЕШКО АЛБЕРТ
+КОЧАР ЛАСЛО
+КОЧАР СТЕФАНИЈА
+КОЧАР ТИХОМИР
+КОЧЕТОВ ТАТЈАНА
+КОЧИ ЕТЕЛКА
+КОЧИ ИШТВАН
+КОЧИ ВЛАДИМИР
+КОЧИШ ЂУРА
+КОЧИШ АНДРИЈА
+КОЧИШ АНДРИЈА
+КОЧИШ ЕРНЕСТ
+КОЧИШ ГЕРГЕЉ ДИПЛ ИНГ
+КОЧИШ ХЕЛЕНА
+КОЧИШ ИШТВАН
+КОЧИШ ЈАКОВ
+КОЧИШ ЈАНКО
+КОЧИШ ЈАНОШ
+КОЧИШ КАРЛО
+КОЧИШ МАРИЈА
+КОЧИШ МИХАЈЛО
+КОЧИШ НИКОЛА ПРОФЕСОР
+КОЧИШ РАДЕ
+КОЧИШ ВЛАДИМИР
+КОЧИШ ВЛАДИМИР
+КОЧИЋ ДРАГО
+КОЧИЋ МАНЕ
+КОЧИЋ МИЛОРАД
+КОЧИЋ СТАНИСЛАВ
+КОЧОБА РАДИСЛАВ
+КОЧОСКИ ПЕТАР
+КОЧОВИЋ АЛЕКСАНДАР
+КОЧОВИЋ МИЛЕТА
+КОШЋАК САВКА
+КОША ТИБОР ДИПЛ ИНГ
+КОШАНИН МИЛОМИР
+КОШАЊИ ФЕРЕНЦ
+КОШАРИЋ ДИМИТРИЈЕ
+КОШИЋ ЉУБИЦА
+КОШИЋ МИТА
+КОШИЋ СТЕВАН
+КОШИЋ СТЕВО
+КОШИЋ ВАСИЛИЈЕ
+КОШИЦКИ ЛЕА
+КОШИЦКИ МАРИЈА
+КОШНИЧАР МИЛАН
+КОШНИЧАР СОФИЈА
+КОШОЦКИ МАРИЈА
+КОШУТИЋ ЂУРО
+КОШУТИЋ ЂУРО
+КОШУТИЋ БОЖИДАР
+КОШУТИЋ БРАНКО
+КОШУТИЋ ДИМИТРИЈЕ
+КОШУТИЋ ДУШАН
+КОШУТИЋ ЈОВАН
+КОШУТИЋ КОСТА
+КОШУТИЋ МАНЕ
+КОШУТИЋ МИЛОШ
+КОШУТИЋ НИКОЛА
+КОЋАЛО РАДОЈИЦА
+КОЖУЛ ГОЈКО
+КОЖУЛ ГОЈКО
+КОЖУЛ РАЈКО
+КОЖУВАРА ГАВРА
+КОБАШ ЈОСИП
+КОБАШ КАТИЦА
+КОБАШ ВУКАШИН
+КОБАЛ ЂУРА
+КОБАЛ БОЖИДАР
+КОБАЛ ИРИС
+КОБАЛ ИВАН
+КОБИЛАРИЋ ЂУРЂИЦА
+КОБИЛАРОВ АНГЕЛИНА
+КОБИЛАРОВ ЉУБОМИР
+КОБИЛАРОВ МИЛАНКА
+КОБИЛАРОВ МИЛОШ
+КОБИЛАРОВ МИРОСЛАВ
+КОБИЛАРОВ НЕГОВАН
+КОБИЛАРОВ НЕСТОР
+КОБИЛАРОВ СИМА
+КОБИЛАРОВ ТОША
+КОБИЛАРОВ ВАСА
+КОБИЉСКИ ЂОРЂЕ
+КОБИЉСКИ ДОБРИЛА
+КОБИЉСКИ ДРАГОМИР
+КОБИЉСКИ ДУШАН
+КОБИЉСКИ ЛАЗАР
+КОБИЉСКИ МИЛОШ
+КОБИЉСКИ МИРЈАНА
+КОБИЉСКИ МЛАДЕН
+КОБИЉСКИ НИКОЛА
+КОБИЉСКИ СТЕВАН
+КОБИЉСКИ ВИДА
+КОБИЛСКИ МАРИЈА
+КОБРЕХЕЛ ЛАЈОШ
+КОЦАП МАРИЈА
+КОЦАП МИРА
+КОЦАП ВЛАДИМИР
+КОЦИ ФЕРЕНЦ
+КОЦИ РЕЖЕ
+КОЦИЋ ЖИКИЦА
+КОЦИЋ АЛЕКСАНДАР
+КОЦИЋ АНИЦА
+КОЦИЋ ДУШАНКА
+КОЦИЋ ЈАСНА
+КОЦИЋ ЉИЉАНА
+КОЦИЋ МИЛИЈАНА
+КОЦИЋ РАДМИЛА
+КОЦИЋ СИНИША
+КОЦИЋ СЛАЂАНА
+КОЦИЋ СЛАВКО
+КОЦИЋ ТОМИСЛАВ
+КОЦИЋ ВАСИЛИЈЕ
+КОЦИЋ ВЕЛИНКА
+КОЦИЋ ЗВЕЗДАН
+КОЦИЈАНЧИЋ МИРА
+КОЦКАР БОРИСЛАВ
+КОЦКАР БОРИСЛАВ
+КОЦКАР ЉУБОМИР
+КОЦКАР ВЛАДИМИР
+КОЦКАРЕВИЋ БРАНИСЛАВ
+КОЦКАРЕВИЋ ЈОВАН
+КОЦКАРЕВИЋ МИЛИЦА
+КОЦО ШАНДОР
+КОЦО ЕРЖЕБЕТ
+КОЦОЉЕВАЦ СТАНИСЛАВ
+КОЏО САША
+КОЏО ЗОРАН
+КОДИЋ ДИМИТРИЈЕ
+КОДРАНОВ РАДОВАН
+КОДРАНОВ СРЕДОЈЕ
+КОДРИН ЉУДМИЛА
+КОГОЈ ЕДУАРД
+КОГОЈ ЕМА
+КОХ ЈОЖЕФ
+КОХ САВЕТА
+КОХАНЕЦ ШАНДОР
+КОХАНЕЦ ФРАЊА
+КОХАНЕЦ ГАШПАР
+КОХАНЕЦ ЈОВАН
+КОХАНЕЦ МАРИЈА
+КОХАНЕЦ ПАЛ
+КОХУТ ЂУРА
+КОХУТ СТОЈА
+КОЈЧИЋ АНЂЕЛКО
+КОЈЧИЋ ДРАГИЦА
+КОЈЧИЋ ИВАНА
+КОЈЧИЋ ПРЕДРАГ
+КОЈЧИЋ СРЕДОЈЕ ДР
+КОЈЧИН ЏЕМИЉА
+КОЈЧИН МИЛЕВА
+КОЈАДИНОВИЋ ЖИВКО
+КОЈАДИНОВИЋ БОШКО
+КОЈАДИНОВИЋ БОРО
+КОЈАДИНОВИЋ ГОРДАНА
+КОЈАДИНОВИЋ КАТА
+КОЈАДИНОВИЋ МИРА
+КОЈАДИНОВИЋ РАДЕ
+КОЈАДИНОВИЋ СТОЈАН
+КОЈАДИНОВИЋ ВЛАДИМИР
+КОЈДИЋ МИРЈАНА
+КОЈДИЋ МЛАДЕН
+КОЈДИЋ ПЕТАР
+КОЈИЧИЋ НОВКА
+КОЈИЧИЋ ТОМИСЛАВ
+КОЈИЧИН МИЛАН
+КОЈИЋ ЧЕДОМИР
+КОЈИЋ ЖИВАН
+КОЈИЋ ЂУРАЂ
+КОЈИЋ АЛЕКСАНДАР
+КОЈИЋ АЛЕКСАНДАР
+КОЈИЋ АЛЕКСАНДАР
+КОЈИЋ АРСЕН
+КОЈИЋ БОШКО
+КОЈИЋ-БОЖАНИЋ СОФИЈА
+КОЈИЋ БОРИВОЈ
+КОЈИЋ БРАНИСЛАВ
+КОЈИЋ ДАНИЦА
+КОЈИЋ ДРАГАН
+КОЈИЋ ДРАГАН
+КОЈИЋ ДРАГАН
+КОЈИЋ ДРАГАН
+КОЈИЋ ДРАГИЊА
+КОЈИЋ ДУШАН
+КОЈИЋ ЕРЖЕБЕТ
+КОЈИЋ ГОРАН
+КОЈИЋ ГОРАН
+КОЈИЋ ГОРАН
+КОЈИЋ ХРИСТИФОР
+КОЈИЋ ИВАН
+КОЈИЋ ИВАН
+КОЈИЋ ИВАН
+КОЈИЋ ЈОВАНКА
+КОЈИЋ ЈОВАНКА
+КОЈИЋ ЈОВО
+КОЈИЋ ЛЕПОСАВА
+КОЈИЋ ЉУБИЦА
+КОЈИЋ ЉУБОДРАГ
+КОЈИЋ ЛУКА
+КОЈИЋ МИХАИЛО
+КОЈИЋ МИЛАН
+КОЈИЋ МИЛАН
+КОЈИЋ МИЛАН
+КОЈИЋ МИЛАН
+КОЈИЋ МИЛЕНА
+КОЈИЋ МИЛЕНА
+КОЈИЋ МИЛЕНКО
+КОЈИЋ МИЛЕНКО
+КОЈИЋ МИЛЕНКО
+КОЈИЋ МИЛОВИНА
+КОЈИЋ МИОДРАГ
+КОЈИЋ МИРЈАНА
+КОЈИЋ МОМЧИЛО
+КОЈИЋ НЕЂО
+КОЈИЋ НЕБОЈША
+КОЈИЋ НЕБОЈША
+КОЈИЋ НЕДЕЉКО
+КОЈИЋ ОЛГИЦА
+КОЈИЋ ПЕТАР
+КОЈИЋ РАДИВОЈ
+КОЈИЋ РУЖИЦА
+КОЈИЋ РУЖИЦА
+КОЈИЋ САВО
+КОЈИЋ СИМЕОН
+КОЈИЋ СИНИША
+КОЈИЋ СПАСЕНИЈА
+КОЈИЋ СТЕВАН
+КОЈИЋ СТЕВАН
+КОЈИЋ СТЕВАН
+КОЈИЋ СВЕТИСЛАВ
+КОЈИЋ УГЉЕША
+КОЈИЋ ВАСА
+КОЈИЋ ВЕЛИМИР
+КОЈИЋ ВИНКА
+КОЈИЋ ВЛАДИСЛАВ
+КОЈОВИЋ ЖАРКО
+КОЈОВИЋ МИЛИНКО
+КОКАИ ШАНДОР
+КОКАИ ШАНДОР
+КОКАИ ШАНДОР
+КОКАИ АЛИСА
+КОКАИ ЕЛЕНА
+КОКАИ ФЕРЕНЦ
+КОКАИ ФЕРЕНЦ
+КОКАИ ФЕРЕНЦ
+КОКАИ ЛАДИСЛАВ
+КОКАИ ЛАСЛО
+КОКАИ МАГДОЛНА
+КОКАИ МИХАЈЛО
+КОКАИ ТИБОР
+КОКАН ИВАН
+КОКАНОВ МИЛЕТА
+КОКАНОВИЋ ДУШАН
+КОКАНОВИЋ КОВИЉКА
+КОКАР ВЕРИЦА
+КОКАР ВИЛМА
+КОКЕЉ ТУГОМИР
+КОКЕЗА ЖАРКО
+КОКЕЗА ДУШАН
+КОКЕЗА МИЛЕНА
+КОКИЋ ЈОВАН
+КОКИЋ МИРОСЛАВ
+КОКИНОВИЋ СЛАВКО
+КОКИР ЉУБО
+КОКОРУШ ОСТОЈА
+КОКОТ РАДЕ
+КОКОТ СМИЉА
+КОКОТ СРЕТА
+КОКОТ СВЕТЛАНА
+КОКОТ ВИЦО
+КОКОТОВИЋ ЖИВКО
+КОКОТОВИЋ БОЖИДАР
+КОКОТОВИЋ ГОЈКО
+КОКОТОВИЋ ИЛИЈА
+КОКОТОВИЋ ИВИЦА
+КОКОТОВИЋ ЈЕЛИСАВЕТА
+КОКОТОВИЋ КАТИЦА
+КОКОТОВИЋ ПЕТАР
+КОКОТОВИЋ СНЕЖАНА
+КОКОТОВИЋ ВЕСЕЛИН
+КОКОВИЋ ДРАГАН
+КОКОВИЋ ГОРАН
+КОЛЂЕРАЈ ЂОН
+КОЛАЧАРИЋ ВЕЛИБОР
+КОЛАШИНАЦ ЉУБОМИР
+КОЛАК ДУШАН
+КОЛАК ЈЕЛЕНА
+КОЛАК МИЛАН
+КОЛАКОВИЋ АЛМАЗ
+КОЛАКОВИЋ ЈУРЕ
+КОЛАКОВИЋ МИЛЕ
+КОЛАКОВИЋ ЗДРАВКО
+КОЛАКУШИЋ ИВИЦА
+КОЛАКВИЋ ЉИЉАНА
+КОЛАНО АНТОН
+КОЛАНО ДРАГОСЛАВ
+КОЛАНО ИВАН
+КОЛАНО ЈУЛКА
+КОЛАР АНА
+КОЛАР АНА
+КОЛАР АНДРИЈА
+КОЛАР АНТАЛ
+КОЛАР ДАРКО
+КОЛАР ИБОЉКА
+КОЛАР ИВАН
+КОЛАР ЈОСИП
+КОЛАР ЈОСИП
+КОЛАР ЈУЛИЈАНА
+КОЛАР ЛАЈОШ
+КОЛАР ЛАСЛО
+КОЛАР ЛОЗИНКА
+КОЛАР МАТИЈА
+КОЛАР МИЛИЦА
+КОЛАР МИРКО
+КОЛАР ПАВЛЕ
+КОЛАР ПЕТАР
+КОЛАРШ ШТЕФАН
+КОЛАРЕВИЋ ЉУБИЦА
+КОЛАРИЋ АЛЕКСАНДРА
+КОЛАРИЋ БРАНКО
+КОЛАРИЋ БРИГИТА
+КОЛАРИЋ ДОБРИЛА
+КОЛАРИЋ ДРАГИЦА
+КОЛАРИЋ ДРАГОЉУБ
+КОЛАРИЋ ДУШАН
+КОЛАРИЋ ФИЛИП
+КОЛАРИЋ ИДА
+КОЛАРИЋ КОСТА
+КОЛАРИЋ МАРИЈА
+КОЛАРИЋ МАРИЈА
+КОЛАРИЋ МИЛАН
+КОЛАРИЋ МИЛАН
+КОЛАРИЋ МИЛИВОЈ
+КОЛАРИЋ МЛАДЕН
+КОЛАРИЋ НАДА
+КОЛАРИЋ НЕМАЊА
+КОЛАРИЋ НИКОЛА
+КОЛАРИЋ РАДОВАН
+КОЛАРИЋ СЛАВКО
+КОЛАРИЋ СЛОБОДАН
+КОЛАРИЋ СЛОБОДАН
+КОЛАРИЋ СНЕЖАНА
+КОЛАРИЋ СТЕВАН
+КОЛАРИЋ ТОМИСЛАВ
+КОЛАРИЋ ВОЈА
+КОЛАРИЋ ЗОРАН
+КОЛАРИЋ ЗВОНКО
+КОЛАРОВ ЖИВА
+КОЛАРОВ ЂОРЂЕ
+КОЛАРОВ АЛЕКСАНДАР
+КОЛАРОВ ДИМИТРИЈЕ
+КОЛАРОВ ДРАГОСЛАВ
+КОЛАРОВ ДРАГОСЛАВ
+КОЛАРОВ ГОЈКО
+КОЛАРОВ ЈОВАН
+КОЛАРОВ ЈОВАН
+КОЛАРОВ ЈУЛКА
+КОЛАРОВ КАТЕ
+КОЛАРОВ ЉИЉАНА
+КОЛАРОВ МАРИЦА
+КОЛАРОВ МИЛАНКА
+КОЛАРОВ МИЛИВОЈ
+КОЛАРОВ МИЛОШ
+КОЛАРОВ МОМИР
+КОЛАРОВ НАДА ДР ЛЕКАР
+КОЛАРОВ НЕБОЈША
+КОЛАРОВ ПАВЛЕ
+КОЛАРОВ ПЕТАР
+КОЛАРОВ РАДОЈКО
+КОЛАРОВ-РАДОВАНОВИЋ МАРИНА
+КОЛАРОВ САВА
+КОЛАРОВ ТОДОР
+КОЛАРОВ ТОМИСЛАВ
+КОЛАРОВ ВОЈИСЛАВ
+КОЛАРОВИЋ ЖИВКО
+КОЛАРОВИЋ ЈЕЛЕНА
+КОЛАРОВИЋ КАТИЦА
+КОЛАРОВИЋ КОВИНКА
+КОЛАРОВИЋ ЛУКА ДР
+КОЛАРОВИЋ МИХАЈЛО
+КОЛАРОВИЋ МИЛИЦА
+КОЛАРОВИЋ НЕНАД
+КОЛАРСКИ ЂОРЂЕ
+КОЛАРСКИ АЛЕКСАНДАР
+КОЛАРСКИ АНИЦА
+КОЛАРСКИ АРПАД
+КОЛАРСКИ БОСИЉКА
+КОЛАРСКИ БРАНИСЛАВ
+КОЛАРСКИ ДАНИЦА
+КОЛАРСКИ ДУШАНКА ДИПЛ ОЕЦ
+КОЛАРСКИ ЈОВАН
+КОЛАРСКИ ЈОВАН
+КОЛАРСКИ КАТИЦА
+КОЛАРСКИ ЛАСЛО
+КОЛАРСКИ ЛАЗАР
+КОЛАРСКИ МИЛАДИН
+КОЛАРСКИ МИЛАН
+КОЛАРСКИ МИЛЕНКО ВЕТЕРИНАР
+КОЛАРСКИ МИЛЕНКО
+КОЛАРСКИ МИЛИЦА
+КОЛАРСКИ МИТАР
+КОЛАРСКИ МЛАДЕН
+КОЛАРСКИ МЛАДЕН
+КОЛАРСКИ НАДА
+КОЛАРСКИ НИКОЛА
+КОЛАРСКИ РАДМИЛА
+КОЛАРСКИ РАДОСЛАВ
+КОЛАРСКИ РАДОВАН
+КОЛАРСКИ РАДОВАН
+КОЛАРСКИ СЛАВИЦА
+КОЛАРСКИ СТЕВАН
+КОЛАРСКИ СТЕВАН
+КОЛАРСКИ ТОДОР
+КОЛАРСКИ ВЕРА
+КОЛАРСКИ ЗДРАВКО
+КОЛБАС ДАНИЈЕЛ
+КОЛБАС ЈАНКО
+КОЛБАС ЈОАКИМ
+КОЛБАС МЕЛАНИЈА
+КОЛБАС МИЛЕВА
+КОЛБАС ВЛАДА
+КОЛЏИЋ БРАНКА
+КОЛЏИЋ БРАНКО
+КОЛЏИН МИРКО
+КОЛЏИН ВЕСЕЛИН
+КОЛДАН МИЛЕНКО
+КОЛЕШКА ЕДУАРД
+КОЛЕДАР АНДРИЈА
+КОЛЕДИН ЂОРЂЕ
+КОЛЕДИН ФОТИЈЕ
+КОЛЕДИН МИЛОШ
+КОЛЕДИН МИРЈАНА
+КОЛЕДИН ПЕТАР
+КОЛЕДИН РАДОСЛАВ
+КОЛЕДИН РАДОВАН
+КОЛЕДИН РАДОВАН
+КОЛЕДИН СТЕВАН
+КОЛЕДИН ВЕЛИМИР
+КОЛЕДИН ВЕРА
+КОЛЕР АНТАЛ
+КОЛЕР ЛАЈОШ
+КОЛЕСАР ЂУРА
+КОЛЕСАР АНИЦА
+КОЛЕСАР ФЕДОР
+КОЛЕСАР ФЕРЕНЦ
+КОЛЕСАР ГАВРА
+КОЛЕСАР ЈАНОШ
+КОЛЕСАР ЈОВАН
+КОЛЕСАР ЈОВАН
+КОЛЕСАР ЈУЛИЈАН
+КОЛЕСАР ЈУЛИЈАН
+КОЛЕСАР КАТИЦА
+КОЛЕСАР КСЕНИЈА
+КОЛЕСАР МИХАЈЛО
+КОЛЕСАР ПЕТАР ДР
+КОЛЕСАР ПЕТАР
+КОЛЕСАР СИМЕОН
+КОЛЕСАР ВЕРА
+КОЛЕСАР ВЛАДИМИР
+КОЛЕСАР ЗОРИЦА
+КОЛЕСАРИЋ ВИНКО
+КОЛЕВ ТОДОРКА
+КОЛИЋ АИША
+КОЛИН ЈОЖЕФ НОВИНАР
+КОЉАЏИНСКИ ЈОВАН
+КОЉАЏИНСКИ СТЕФАНИЈА
+КОЉАЈА БЛАГОЈЕ
+КОЉАЈА ДРАГАН
+КОЉАЈА ГОРАН
+КОЉАНИН ПЕТАР
+КОЛМАН ЈОЖЕФ
+КОЛОЧАИ ЈОСИП
+КОЛОШЊАИ МИРОН
+КОЛОШЊАЈИ ЈАНКО
+КОЛОШЊАЈИ ВЛАДИМИР
+КОЛОПИЋ ПЕТАР
+КОЛОПИЋ РУЖИЦА
+КОЛОВИЋ СТЕВАН
+КОЛТИН БРАНКО
+КОЛУНЏИЋ ЖИВКА
+КОЛУНЏИЋ ЂУРА
+КОЛУНЏИЋ АНКА
+КОЛУНЏИЋ ПЕРИЦА
+КОЛУНЏИЋ СЛАВКО
+КОЛУНЏИЋ СЛАВКО
+КОЛУНЏИЈА АНЂЕЛКА
+КОЛУНЏИЈА БОРИСЛАВ
+КОЛУНЏИЈА ДАВОРКА
+КОЛУНЏИЈА ДРАГАН
+КОЛУНЏИЈА ЛАЗАР
+КОЛУНЏИЈА ЉУБОМИР
+КОЛУНЏИЈА МИРКО
+КОЛУНЏИЈА НАДА
+КОЛУНЏИЈА НИКОЛА
+КОЛУНЏИЈА ЗОРКА
+КОЛУТАЦ МАТИЈА
+КОМШИЋ ЈОВАН
+КОМШО НИКОЛА
+КОМАД АНА
+КОМАД ГОЈКО
+КОМАД РАТОМИР
+КОМАД ТОМИСЛАВ
+КОМАДАНОВИЋ МОМЧИЛО
+КОМАДАНОВИЋ МОМИР
+КОМАДАРИЋ МИЛОШ
+КОМАДИНА МАНЕ
+КОМАДИНА ВЕЛИСЛАВ
+КОМАДИНА ВУЈАДИН
+КОМАДИНИЋ МИЛОРАД
+КОМАДИНОВИЋ ДУШАН
+КОМАДИНОВИЋ МИРА
+КОМАДИНОВИЋ РАДОСЛАВ
+КОМАН БОСИЉКА
+КОМАНОВ МАРИЈА
+КОМАР ГОЈКО ДИПЛ ИНГ
+КОМАР РАДИВОЈЕ
+КОМАР СЛАВКА
+КОМАР СЛОБОДАН
+КОМАР ЗОРКА
+КОМАРЧЕВИЋ АЛЕКСАНДАР
+КОМАРЧЕВИЋ ИШТВАН
+КОМАРЧЕВИЋ МИЛЕНА
+КОМАРЧЕВИЋ МИЛИНКО ДР
+КОМАРЧЕВИЋ МИРОСЛАВ
+КОМАРЧЕВИЋ ВЛАДИМИР
+КОМАРИЦА МАРКО
+КОМАРИЦА НОВКО
+КОМАРИЦА РАДМИЛА
+КОМАРОМИ ЂОРЂЕ
+КОМАРОМИ АНЂЕЛКА
+КОМАРОМИ БОРБАЛА
+КОМАРОМИ БОРЈАНКА
+КОМАРОМИ БОРЈАНКА
+КОМАРОМИ ИРМА
+КОМАРОМИ КЛАРА
+КОМАРОМИ МАГДОЛНА
+КОМАРОМИ МАГДОЛНА
+КОМАРОМИ МАРИЈА
+КОМАРОМИ ПЕТАР
+КОМАРОМИ ЗОЛТАН
+КОМАРОВ АЛЕКСАНДАР ДИПЛ ИНГ
+КОМАРОВ АЛЕКСАНДАР
+КОМАРОВ БРАНКА
+КОМАРОВ ДРАГИЦА
+КОМАРОВ ДРАГОМИР
+КОМАТИНА ДРАГАН
+КОМАТИНОВИЋ МИХАЈЛО
+КОМАТОВИЋ МИЛАН
+КОМАТОВИЋ ВЕЛИМИР
+КОМАЗЕЦ ДРАГОМИР
+КОМАЗЕЦ ПЕТАР
+КОМБЕРИ АВДУШ
+КОМБИЉ ВЕРА
+КОМЕНДА АНДРИЈА
+КОМИНКО ЉУБИЦА
+КОМЛЕНИЋ ЂОРЂЕ
+КОМЛЕНОВ ЖИВАН
+КОМЛЕНОВ ЂОРЂЕ
+КОМЛЕНОВ ЈОВАН
+КОМЛЕНОВИЋ МАРИЈА
+КОМЛЕНОВИЋ МИЛАН
+КОМЛЕНОВИЋ МИЛЕ
+КОМЛЕНОВИЋ ВЕЉКО
+КОМЛЕНСКИ ЖИВАН
+КОМЛЕНСКИ-ДЕЛИЋ ВУКОСАВА ДР
+КОМЛЕНСКИ ЗОРАН
+КОМЉЕНОВИЋ АЛЕКСАНДРА
+КОМЉЕНОВИЋ БОШКО
+КОМЉЕНОВИЋ МИЛАН
+КОМЉЕНОВИЋ МОМИР
+КОМЉЕНОВИЋ СТЕВАН
+КОМЉЕНОВИЋ ВЛАДО
+КОМЛУШАН БОЖА
+КОМЛУШКИ ИВАНА МР
+КОМНЕНИЋ ИВАНКА
+КОМНЕНОВ ШАРЛОТА
+КОМНЕНОВ МИЛОРАД
+КОМНЕНОВ НИКОЛА
+КОМНЕНОВ САНДРА
+КОМНЕНОВ СТАНИСЛАВ
+КОМНЕНОВ ВЕСЕЛИНА
+КОМНЕНОВ ВЛАДИМИР ДР
+КОМНЕНОВИЋ ЖИВАН
+КОМНЕНОВИЋ БРАНКО
+КОМНЕНОВИЋ ДЕЈАН
+КОМНЕНОВИЋ ЈЕЛЕНА
+КОМНЕНОВИЋ ЉУБОЈЕ
+КОМНЕНОВИЋ МИЛАН
+КОМНЕНОВИЋ РАДОСЛАВ
+КОМНЕНОВИЋ СТАНКО
+КОМНЕНОВИЋ СТОЈАН
+КОМНЕНОВИЋ ВЕРИЦА
+КОМОСАР БРАНКО
+КОМОСАР РАЈКО
+КОМОЗЕЦ ЂОРЂЕ
+КОМОЗЕЦ ЛАЗАР
+КОН СЛОБОДАНКА
+КОН СТЕВАН
+КОН ТОМАЖ
+КОНЧАР АНДРИЈА
+КОНЧАР БОСИЉКА
+КОНЧАР ЈОВО
+КОНЧАР ЛАДИСЛАВ
+КОНЧАР МИРА
+КОНЧАР МИТАР
+КОНЧАР НИКОЛА
+КОНЧАР НИКОЛА
+КОНЧАР РАНКО
+КОНЧАР СЛАВКО
+КОНЧАР ЗОРА
+КОНЧАР ЗОРА
+КОНЧАРЕВИЋ ДАНИЦА
+КОНЧАРЕВИЋ ИЛИЈА
+КОНЧЕК РОЗАЛИЈА
+КОНАКОВ НЕДЕЉКО
+КОНЦ ШАНДОР
+КОНЦ ИШТВАН
+КОНЦ ИЛОНА
+КОНЦ ЉИЉАНА
+КОНЦ ЗОРАНКА
+КОНДАН МАРГАРЕТА
+КОНДИЋ АНА
+КОНДИЋ АНКА
+КОНДИЋ БРАНКО
+КОНДИЋ ДРАГАН
+КОНДИЋ ДРАГИЦА
+КОНДИЋ ДРАГОЉУБ
+КОНДИЋ ДУШАНКА
+КОНДИЋ ЈОВАН
+КОНДИЋ ЉУБИЦА
+КОНДИЋ МИЛЕНКО
+КОНДИЋ МИРА
+КОНДИЋ НЕБОЈША
+КОНДИЋ НЕМАЊА
+КОНДИЋ НИКОЛА
+КОНДИЋ НИКОЛА
+КОНДИЋ РАДМИЛА
+КОНДИЋ РАДОЈКА
+КОНДИЋ РАЈКО
+КОНДИЋ САНДРА
+КОНДИЋ ТРИВО
+КОНДИЋ ЗДРАВКО
+КОНДИЋ ЗОРКА
+КОНДОЈАНИ ЂОРЂЕ
+КОНДРАК СТОЈАН
+КОНДРАТЈЕВ ШТЕФАНИЈА
+КОНЕЧНИ МАРИЈА
+КОНЕЦКИ ЗЛАТКО
+КОНЕЦКИ ЗЛАТКО
+КОНЕН РОБЕРТ
+КОНЕН РОБЕРТ
+КОНЕСКА ЉИЉАНА
+КОНГО ВЕРА
+КОЊАТИЋ ШИМО
+КОЊЕВИЋ ЖИВА ДИПЛ ПРАВНИК
+КОЊЕВИЋ АНА
+КОЊЕВИЋ ДАНИЛО
+КОЊЕВИЋ ДОБРИВОЈ
+КОЊЕВИЋ ДРАГОМИР
+КОЊЕВИЋ ГРОЗДАНА
+КОЊЕВИЋ ИВАНКА
+КОЊЕВИЋ МИЛЕВА
+КОЊЕВИЋ МИЛИВОЈ
+КОЊЕВИЋ МЛАЂЕН
+КОЊЕВИЋ МЛАДЕН
+КОЊЕВИЋ НЕНАД
+КОЊЕВИЋ ПРЕДРАГ
+КОЊЕВИЋ ПРЕДРАГ
+КОЊЕВИЋ ПРЕДРАГ
+КОЊЕВИЋ СТАНИСЛАВ
+КОЊЕВИЋ СТАНИСЛАВ
+КОЊИЋ СТОЈАНКА
+КОЊИК НАДА
+КОЊИК ВИДОЈЕ
+КОЊОВИЋ БРАНИСЛАВ
+КОЊОВИЋ ЈОВАН
+КОЊОВИЋ МАКСИМ
+КОЊОВИЋ МИЛАН
+КОЊОВИЋ МИРЈАНА
+КОЊОВИЋ НИКОЛА
+КОЊОВИЋ РАДОСЛАВА
+КОЊОВИЋ СМИЉА
+КОЊОВИЋ СОФИЈА
+КОЊОВИЋ ТИНКА
+КОЊОВИЋ ВЕРА
+КОНКОЛ МИХАЈЛО
+КОНКОЉ МАРИЈА
+КОНОПЕК СТАНИМИР
+КОНРАД ФРАЊА
+КОНРАД МИРЧА
+КОНРАД ПАВЛЕ
+КОНСТАНТИН БУХА
+КОНСТАНТИНИДИС ДИМИТРИЈЕ
+КОНСТАНТИНИДИС ГЕОРГИОС
+КОНСТАНТИНИДИС ТЕОДОР
+КОНСТАНТИНИДУ СОФИЈА
+КОНСТАНТИНОВИЋ АНЂЕЛИЈА
+КОНСТАНТИНОВИЋ БЛАГОЈЕ
+КОНСТАНТИНОВИЋ ХЕРМИНА
+КОНСТАНТИНОВИЋ ЈЕЛИЦА
+КОНСТАНТИНОВИЋ ЈОРДАН
+КОНСТАНТИНОВИЋ ЈОВАН
+КОНСТАНТИНОВИЋ ЉИЉАНА
+КОНСТАНТИНОВИЋ ЛУКА
+КОНСТАНТИНОВИЋ МИРЈАНА
+КОНСТАНТИНОВИЋ НИКОЛА
+КОНСТАНТИНОВИЋ ПЕТАР
+КОНСТАНТИНОВИЋ ВЕРА
+КОНСТАНТИНОВИЋ ЗВОНИМИР
+КОНТИЋ ДОБРИВОЈ
+КОНТИЋ ЈОВАНКА
+КОНТИЋ МИЛАН
+КОНТИЋ СЛАВИЦА
+КОНТРИЋ ЈОВАН
+КОПЧАНСКИ ЖЕЉКО
+КОПЧАНСКИ ИРИНА
+КОПЧАНСКИ НИКОЛА
+КОПЧАНСКИ ПЕТАР
+КОПЧАНСКИ РАДМИЛА
+КОПЧАНСКИ СТЕВАН
+КОПЧАНСКИ ВЛАДА
+КОПЧОК АНА
+КОПЧОК КАТИЦА
+КОПЧОК МИША
+КОПЧОК САНДРА
+КОПАЊА ДАНИЛО
+КОПАЊА ДРАГОМИР
+КОПАЊА ДУШАН
+КОПАЊА ДУШАН
+КОПАЊА ГОЈКО
+КОПАЊА ГОЈКО
+КОПАЊА ИЛИЈА
+КОПАЊА ЉУПКО
+КОПАЊА МИЋО
+КОПАЊА МИОДРАГ
+КОПАЊА МИТАР
+КОПАЊА РАНИСЛАВ
+КОПАЊА РОСА
+КОПАЊА ВИД
+КОПАС ЈАНОШ
+КОПЕРЕЦ АЛЕКСАНДАР
+КОПЕРЕЦ АНДРИЈА
+КОПЕРЕЦ ЈАНОШ
+КОПЕРЕЦ ЈОВАН
+КОПЕРЕЦ СТЕВАН
+КОПЕРЕЦ СТЕВАН
+КОПЕСТЕНСКИ КАТИЦА
+КОПЕСТИНСКИЈ РЕГИНА
+КОПИЋ ИЛОНА
+КОПИЦЛ РУДОЛФ
+КОПИЛОВИЋ ЈОСИП
+КОПИЛОВИЋ МАРГА
+КОПИЛОВИЋ-МИЈАТОВ ДРАГИЦА
+КОПИЛОВИЋ ПАВЛЕ
+КОПИТОВИЋ ШПИРО
+КОПИТОВИЋ ПЕТАР
+КОПЛАЊИ МАРИЈА
+КОПЛАЊИ МИРОСЛАВА
+КОПЛИЋ ЂОРЂЕ
+КОПЛИЋ ДАНИЦА
+КОПЛИЋ ДУШАН
+КОПЛИЋ МИЛЕ
+КОПРЕНОВИЋ РАДОЈКА
+КОПРИВШЕК ЗВОНИМИР
+КОПРИВИЦА АНГЕЛИНА
+КОПРИВИЦА БОЖИДАР
+КОПРИВИЦА БОЖИДАР
+КОПРИВИЦА БОРИСЛАВ
+КОПРИВИЦА ГОРДАНА
+КОПРИВИЦА ЉИЉАНА
+КОПРИВИЦА МИЛЕНКО
+КОПРИВИЦА МИЛУТИН
+КОПРИВИЦА МИОДРАГ
+КОПРИВИЦА НОВАК
+КОПРИВИЦА ОБРЕН
+КОПРИВИЦА ПЕТАР
+КОПРИВИЦА СВЕТОЗАР
+КОПРИВИЦА ЗОРАН
+КОПУНОВИЋ ЉУБИЦА
+КОРЧОК ЈАН
+КОРЧОК МАРИЈА
+КОРЧОК ВЛАДИМИР
+КОРАЋ ЖЕЉКО
+КОРАЋ АНЂЕЛИЈА
+КОРАЋ ДУШАН
+КОРАЋ ГОЈКО
+КОРАЋ ИГОР
+КОРАЋ ЈУЛИЈАНА
+КОРАЋ КАТИЦА
+КОРАЋ ЉУБИСАВ
+КОРАЋ МАНЕ
+КОРАЋ МИХАЈЛО
+КОРАЋ МИЛАН
+КОРАЋ МИЛЕ
+КОРАЋ МИЛЕ
+КОРАЋ МИЛЕ
+КОРАЋ МИЛЕ
+КОРАЋ МИЛОВАН ДР ПРОФ
+КОРАЋ МИЛОВАН
+КОРАЋ МИЛОВАН
+КОРАЋ МИОДРАГ
+КОРАЋ ПЕТАР
+КОРАЋ ПЕТРА
+КОРАЋ РАДЕ
+КОРАЋ РАДОЈКА
+КОРАЋ РАДОЈКА
+КОРАЋ РАДОСАВ
+КОРАЋ СЛОБОДАН
+КОРАЋ СНЕЖАНА
+КОРАЋ ТАТЈАНА
+КОРАЋ ВЛАДО
+КОРАЈИЦА ЂУРА
+КОРАЈЛИЈА ЖАРКО
+КОРАЈЛИЈА ЖАРКО
+КОРАЈЛИЈА ЖАРКО
+КОРАЈЛИЈА ДИМИТРИЈЕ
+КОРАЈЛИЈА МИЛАН
+КОРАКУ ЛУЧИЈАН
+КОРАКУ ЛУЦИЈАН
+КОРБАТФИНСКИ ЕЛВИРА
+КОРБАТФИНСКИ ВИКТОР ДР
+КОРБАТВИНСКИ ДРАГАН
+КОРБАТВИНСКИ-ЛАЛОШЕВИЋ ЗЛАТА
+КОРБИЋ МЛАДЕН
+КОРДА МИЛОШ
+КОРДА НАНДОР
+КОРДИЋ ЂУРА
+КОРДИЋ БОЈАН
+КОРДИЋ ДУШАНКА
+КОРДИЋ ГОЈКО
+КОРДИЋ МИЛАН
+КОРЕНИЋ ГАБРИЕЛ
+КОРЕНИЋ ТЕОДОР
+КОРЕЊИ ЂОРЂЕ
+КОРЕЊИ АЛЕКСАНДАР
+КОРЕЊИ ЛАСЛО
+КОРЕНТ ЛУДВИГ
+КОРХАМЕР ФЕРЕНЦ
+КОРХЕЦ ПАВЛЕ
+КОРИШ ЈУЛИЈАНА
+КОРИЋАНАЦ ИВАН
+КОРИЋАНАЦ ЉУБИНКА
+КОРИЖ АРПАД
+КОРИЦА ЂОРЂЕ
+КОРИЦА ЂУРО
+КОРИЦА ДУШАН
+КОРИЦА ЈАНКО
+КОРИЦА МИЛОРАД
+КОРИЦА НЕДЕЉКО
+КОРИЦА НИКОЛА
+КОРИЦА ПЕТАР
+КОРИЦА СНЕЖАНА
+КОРИЦА СОФИЈА
+КОРИЦА СТЕВАН
+КОРИСТОВИЋ МИКСАРД
+КОРЛАТ ПЕРИЦА
+КОРЛАТ ПЕТАР
+КОРМАЊОШ ШАНДОР
+КОРМАЊОШ АНДРИЈА
+КОРМАЊОШ БОРКА
+КОРМАЊОШ ФЕРЕНЦ
+КОРМАЊОШ КАРОЉ
+КОРМАЊОШ МИХАЉ
+КОРМОШ ЈАНОШ
+КОРМОШ МАРГИТА
+КОРМОШ МАРГИТА
+КОРМОШ МАРИЈА
+КОРМОШ ТЕРЕЗА
+КОРОШ РАСТИСЛАВ
+КОРОШ ВЛАДА
+КОРОШАН ШАНДОР
+КОРОШЕЦ ЛЕО
+КОРОБКО ТАРАС
+КОРОДИ ФРАЊА
+КОРОКНАИ ФЕРЕНЦ
+КОРОКНАИ ЈАНОШ
+КОРОКНАИ ЗОЛТАН
+КОРОЛИЈА ДУШАН ДР ЛЕКАР
+КОРОЛИЈА ДУШАН
+КОРОЛИЈА СТЕВАН ДР
+КОРОЛИЈА ВЕРА
+КОРОМ ЕРЖЕБЕТ
+КОРОМ ТИБОР
+КОРОМАН МИЛОРАД
+КОРОВ ЂОРЂЕ
+КОРОВЉЕВ ИВАН
+КОРОВЉЕВ ЈОВАНКА
+КОРОВЉЕВ МАРИЈА
+КОРОВЉЕВ МИЛЕНКО
+КОРОВЉЕВ МИЛОШ
+КОРОВЉЕВ РАДМИЛА
+КОРОВЉЕВ ВУКИЦА
+КОРПА БЕЛА
+КОРПАШ АМАЛИЈА
+КОРПАШ ДАНИЦА
+КОРПАШ ДИМИТРИЈЕ
+КОРПАШ ЈАНКО
+КОРПАШ МИРОСЛАВ
+КОРПАШ МИРОСЛАВ
+КОРПАШ ПЕРА
+КОРПАК ДРАГИЊА
+КОРПАК НАДА
+КОРПОНАИ ИШТВАН
+КОРПОНАИ МАРИЈА
+КОРУГА БОРА
+КОРУГА ЈУЛКА
+КОРУГА РАДОМИР
+КОРУНИЋ ЛИЗА
+КОС ИДА
+КОС МАРИЈА
+КОС СЛАВКО
+КОС СЛАВКО
+КОС СТАНКО
+КОСАЋ ДАРИНКА
+КОСАНИЋ БРАНИСЛАВ
+КОСАНИЋ ИВАНКА
+КОСАНИЋ САВА
+КОСАНОВ АЛЕКСАНДАР
+КОСАНОВ КАТИЦА
+КОСАНОВ ВЛАДИМИР
+КОСАНОВИЋ АНЂЕЛКА
+КОСАНОВИЋ БОГДАН МР
+КОСАНОВИЋ БРАНКО
+КОСАНОВИЋ БРАНКО
+КОСАНОВИЋ ДАНЕ
+КОСАНОВИЋ ДРАГАН
+КОСАНОВИЋ ДУШАНКА
+КОСАНОВИЋ ДУШАН
+КОСАНОВИЋ ЈЕЛИЦА
+КОСАНОВИЋ ЈОВАН
+КОСАНОВИЋ КОСАНА
+КОСАНОВИЋ ЛАЗО
+КОСАНОВИЋ ЉУБИЦА
+КОСАНОВИЋ ЉУБОМИР ДР
+КОСАНОВИЋ-МАНДИЋ НЕНА
+КОСАНОВИЋ МАНЕ
+КОСАНОВИЋ МАРКО
+КОСАНОВИЋ МИЋО
+КОСАНОВИЋ МИЛАН
+КОСАНОВИЋ МИЛЕ
+КОСАНОВИЋ МИЛОРАД
+КОСАНОВИЋ МИРКО
+КОСАНОВИЋ МИТАР
+КОСАНОВИЋ МЛАДЕН
+КОСАНОВИЋ НАДА
+КОСАНОВИЋ ОЛГА
+КОСАНОВИЋ ПЕТАР
+КОСАНОВИЋ РАДОВАН
+КОСАНОВИЋ СЛАВКО
+КОСАНОВИЋ СТОЈАН
+КОСАНОВИЋ ВЕЛИМИР
+КОСАНОВИЋ ЗОРИЦА
+КОСАРЕНКО ПЕТАР
+КОСЕДНАР СТЈЕПАН
+КОСИЋ ЖАРКО
+КОСИЋ ЖАРКО
+КОСИЋ ЖИВОЈИН
+КОСИЋ БИЉАНА
+КОСИЋ БОЈАН
+КОСИЋ БОРКО
+КОСИЋ БРАНИСЛАВ
+КОСИЋ ГОРАН
+КОСИЋ ГОРДАНА
+КОСИЋ ИВАН
+КОСИЋ ЈЕЛИЦА
+КОСИЋ ЈОВИЦА
+КОСИЋ ЛУКА
+КОСИЋ МАРИЈА
+КОСИЋ МИЛОВАН
+КОСИЋ МИРКО ДИПЛ ИНГ
+КОСИЋ НЕДЕЉКО
+КОСИЋ РУЖА
+КОСИЋ СВЕТОЗАР
+КОСИЋ ТОМА
+КОСИЋ ЗОРИЦА
+КОСИНА МИЛИЦА
+КОСИРОВИЋ МАРИЈА
+КОСИРОВИЋ МИЛАН
+КОСИРОВИЋ ПАНТЕЛИЈА
+КОСЈЕР ДУШАН
+КОСЈЕРИНА МИЛЕНКО
+КОСКА АТМАНА
+КОСКА ХАТИЏЕ
+КОСКА ЈАСМИДИН
+КОСКА ЉЕРКА
+КОСКА МИЛЕНА
+КОСКА НАДЕЖДА
+КОСКА САФЕТ
+КОСКА САЛИ
+КОСМАЈАЦ ЂОРЂЕ
+КОСМАЈАЦ АНИЦА
+КОСО БОСИЉКА
+КОСО ФРАЊО
+КОСО МИХАЉ
+КОСО ОЛИВЕРА
+КОСО ПАЛ
+КОСОРУШ ЂУРА
+КОСОРУШ ЕТЕЛКА
+КОСОРУШ ПЕТЕР
+КОСОВАЦ ЧЕДА
+КОСОВАЦ ЖИВКО
+КОСОВАЦ АЛЕКСАНДАР ДР
+КОСОВАЦ БОЈАН
+КОСОВАЦ БОЈАН
+КОСОВАЦ ДАРКО
+КОСОВАЦ ДРАГАН
+КОСОВАЦ ДУШАН
+КОСОВАЦ ГЕОРГИЈЕ
+КОСОВАЦ ГОЈКО
+КОСОВАЦ ЈУЛИЈАНА
+КОСОВАЦ МИЛАН
+КОСОВАЦ МИЛАН
+КОСОВАЦ МИРКО
+КОСОВАЦ НИКОЛА
+КОСОВАЦ РАДИВОЈ
+КОСОВАЦ ЗДРАВКО
+КОСОВИЋ АНДРИЈА
+КОСОВИЋ АНКИЦА
+КОСОВИЋ МИЛОРАД
+КОСОВИЋ ОЛГА ПРОФЕСОР
+КОСОВИЋ РАДИСЛАВ
+КОСОВИЋ РАТКО
+КОСОВИЋ СВЕТИСЛАВ
+КОСОВРАСТИ АЏИ
+КОСТАДИНОСКИ БЛАГОЈЕ
+КОСТАДИНОВ РИСТА
+КОСТАДИНОВИЋ БРАНИСЛАВ
+КОСТАДИНОВИЋ ДРАГОЉУБ
+КОСТАДИНОВИЋ ЉИЉАНА
+КОСТАДИНОВИЋ ТИХОМИР
+КОСТАДИНОВИЋ ВЕРА
+КОСТАДИНОВИЋ ВЕРИЦА
+КОСТАДИНОВИЋ ВУКАН
+КОСТАДИНОВСКИ ДИМЧЕ
+КОСТЕЛНИК НЕСТОР
+КОСТЕЛНИК СИЛВЕСТЕР
+КОСТЕВСКИ ИВАН
+КОСТИЋ-ШОБОТ МИЛКА
+КОСТИЋ ЖАРКО
+КОСТИЋ ЖЕЉКО
+КОСТИЋ ЖИВОЈИН
+КОСТИЋ ЂОРЂЕ
+КОСТИЋ ЂОРЂЕ
+КОСТИЋ ЂОРЂЕ
+КОСТИЋ ЂОРЂЕ
+КОСТИЋ ЂОРЂЕ
+КОСТИЋ ЂУРЂИЦА
+КОСТИЋ АЦА
+КОСТИЋ АЛЕКСАНДАР
+КОСТИЋ АЛЕКСАНДАР
+КОСТИЋ АЛЕКСАНДАР
+КОСТИЋ АЛЕКСАНДРА
+КОСТИЋ АНА
+КОСТИЋ АНГЕЛИНА
+КОСТИЋ АНКИЦА
+КОСТИЋ БОЖИДАР
+КОСТИЋ БОЖИДАР
+КОСТИЋ БОГОЉУБ
+КОСТИЋ БРАНИМИР
+КОСТИЋ БРАНИСЛАВ
+КОСТИЋ БРАНИСЛАВ
+КОСТИЋ БРАНКО
+КОСТИЋ ДАНИЛО
+КОСТИЋ ДЕЈАН
+КОСТИЋ ДЕСАНКА
+КОСТИЋ ДРАГАН
+КОСТИЋ ДРАГА
+КОСТИЋ ДРАГА
+КОСТИЋ ДРАГИЦА
+КОСТИЋ ДРАГИЦА
+КОСТИЋ ДРАГИЦА
+КОСТИЋ ДРАГОЉУБ
+КОСТИЋ ДУШАН
+КОСТИЋ ДУШАН
+КОСТИЋ ДУШАН
+КОСТИЋ ЕЛЕОНОРА
+КОСТИЋ ГЕОРГИНА
+КОСТИЋ ГЛИША
+КОСТИЋ ГОЛУБ
+КОСТИЋ ГОРДАНА
+КОСТИЋ ГРАДИМИР
+КОСТИЋ ИВАН
+КОСТИЋ ИВАН
+КОСТИЋ ЈЕЛЕНА
+КОСТИЋ ЈЕЛИЦА
+КОСТИЋ ЈЕЛИЦА
+КОСТИЋ ЈОРДАНКА
+КОСТИЋ ЈОВАН
+КОСТИЋ ЈОВАН
+КОСТИЋ ЈОВАН
+КОСТИЋ ЈОВАН
+КОСТИЋ ЈОВАН
+КОСТИЋ КРСМАН
+КОСТИЋ КРСТА
+КОСТИЋ ЉИЉАНА
+КОСТИЋ ЉИЉАНА
+КОСТИЋ ЉУБИША
+КОСТИЋ ЉУБИЦА
+КОСТИЋ ЉУБИЦА
+КОСТИЋ ЉУБИЦА
+КОСТИЋ МАКСИМ
+КОСТИЋ МАРИЈА
+КОСТИЋ МАРКО
+КОСТИЋ МЕТОДИЈЕ
+КОСТИЋ МИХАЈЛО
+КОСТИЋ МИЛАН
+КОСТИЋ МИЛАН
+КОСТИЋ МИЛЕНА ДР
+КОСТИЋ МИЛЕНА
+КОСТИЋ МИЛЕВА
+КОСТИЋ МИЛИЦА
+КОСТИЋ МИЛОРАД
+КОСТИЋ МИЛОВАН
+КОСТИЋ МИЛУША
+КОСТИЋ МИРЈАНА
+КОСТИЋ МИРКО
+КОСТИЋ МОЈСЕ
+КОСТИЋ НАДА
+КОСТИЋ НАДА
+КОСТИЋ НИКОЛА
+КОСТИЋ НИКОЛА
+КОСТИЋ ОЛИВЕРА
+КОСТИЋ ПАВЛЕ
+КОСТИЋ ПЕТАР
+КОСТИЋ ПЕТАР
+КОСТИЋ ПЕТАР
+КОСТИЋ ПЕТАР
+КОСТИЋ ПЕТАР
+КОСТИЋ РАДОЈИЦА
+КОСТИЋ РАДОЈКО
+КОСТИЋ РАДОМИР
+КОСТИЋ РАДОСАВ
+КОСТИЋ РАТКО
+КОСТИЋ РУЖИЦА
+КОСТИЋ САВА
+КОСТИЋ САВА
+КОСТИЋ СЛАВИЦА
+КОСТИЋ СЛАВКА
+КОСТИЋ СЛОБОДАН
+КОСТИЋ СЛОБОДАН
+КОСТИЋ СЛОБОДАН
+КОСТИЋ СНЕЖАНА
+КОСТИЋ СПАСЕНКО
+КОСТИЋ СРЕТЕН
+КОСТИЋ СТАНА
+КОСТИЋ СТАНИМИР
+КОСТИЋ СТАНКО
+КОСТИЋ СТАЗА
+КОСТИЋ СТЕВАН
+КОСТИЋ СТОЈАДИН
+КОСТИЋ СТРАХИЊА ДР ПРОФ
+КОСТИЋ СВЕТИСЛАВ ДР
+КОСТИЋ СВЕТИСЛАВ
+КОСТИЋ СВЕТОЗАР
+КОСТИЋ ТИБЕРИЈЕ
+КОСТИЋ ТОМИСЛАВ
+КОСТИЋ ТОМИСЛАВ
+КОСТИЋ ТОМИСЛАВ
+КОСТИЋ ВАСО
+КОСТИЋ ВЕЛИМИР
+КОСТИЋ ВЕРА
+КОСТИЋ ВЛАДИСЛАВА
+КОСТИЋ ВЛАДИСЛАВ
+КОСТИЋ ВЛАСТИМИР
+КОСТИЋ ВОЈИСЛАВ
+КОСТИЋ ВУКАШИН
+КОСТИЋ ЗДРАВКО
+КОСТИЋ ЗОРАН
+КОСТИЋ ЗОРАН
+КОСТИЋ ЗОРАН
+КОСТИЋ ЗОРАН
+КОСТИЋ ЗОРАН
+КОСТИЋ ЗОРИЦА
+КОСТОВИЋ ЈЕЛИЦА
+КОСТОВИЋ РАТКО
+КОСТОВИЋ СНЕЖАНА
+КОСТОВСКИ КАТИЦА
+КОСТОВСКИ МИРОСЛАВ
+КОСТОВСКИ ТРАЈЧЕ
+КОСТРЕШ МОМЧИЛО
+КОСТРЕШЕВИЋ ГОРАН
+КОСТРЕШЕВИЋ МИЛАДИН
+КОСТРЕШЕВИЋ НЕДЕЉКО
+КОСТРЕШЕВИЋ СТАНКА
+КОСТРИЧЕНКО ВАСИЛИЈЕ
+КОСТУДИЈА МИРОСЛАВ
+КОТ ИЛОНА
+КОТ ЈОСИП
+КОТ ЛАДИСЛАВ
+КОТ ЛАСЛО
+КОТ МАРТА
+КОТ МИРА
+КОТ МИРКО
+КОТА ЕРЖЕБЕТ
+КОТА ЛАЈОШ
+КОТА МИХАЈЛО
+КОТАРЧЕВИЋ ЕЛВИРА
+КОТАРЧЕВИЋ НИКОЛА
+КОТАРАЦ КАТИЦА
+КОТАРАЦ КОСТА
+КОТАРАЦ СВЕТИСЛАВ
+КОТАРАНИН ЉИЉАНА
+КОТАРАНИН ПЕТАР
+КОТАРЛИЋ ДАРКО
+КОТАРЛИЋ ДРАГАНА
+КОТАРЛИЋ САВА
+КОТХАИ ИШТВАН
+КОТХАИ ЈОЖЕФ
+КОТХАИ СТЕВАН
+КОТХАЈ СТЕВАН
+КОТИЋ ВОЈИСЛАВ
+КОТЛАЈА МИЛАНКО
+КОТЛАЈА МИЛКО
+КОТЛАРИЋ МАРКО ДР
+КОТЛАРИЋ СТАНИМИР
+КОТРБА ФРАЊА
+КОТРЕ МАГДОЛНА
+КОТУШ ЕРЖЕБЕТ
+КОТУШ МИЛИЦА
+КОТУШ МИРОСЛАВ
+КОТУШ СТЕВАН
+КОТУЋ МАРИЈЕТА
+КОТУР АНЂЕЛКА
+КОТУР ДРАГАН
+КОТУР ЈЕЛА
+КОТУР РАДЕ
+КОТУРОВ НАДА
+КОТУРОВИЋ КАТИЦА
+КОУНИС ЉИЉАНА
+КОВЧЕ АМАЛИЈА
+КОВЧЕВ СПАСЕНКА
+КОВЧИН МИЛИЦА
+КОВЧИН МИЛОВАН
+КОВЧИН МИРОСЛАВ ДИПЛ ИНГ
+КОВЧИН НЕГА
+КОВЧИН СТАНИМИР ДР
+КОВАЧ ЧЕДО
+КОВАЧ ШАНДОР
+КОВАЧ ШАНДОР
+КОВАЧ ЂОРЂЕ
+КОВАЧ ЂОРЂЕ
+КОВАЧ ЂУЛА
+КОВАЧ ЂУРЂА
+КОВАЧ-АЧ КАРОЉ
+КОВАЧ АЛЕКСАНДАР
+КОВАЧ АЛЕКСАНДАР
+КОВАЧ АНА
+КОВАЧ АНА
+КОВАЧ АНДРАШ
+КОВАЧ АНТАЛ
+КОВАЧ АНТОН
+КОВАЧ АРПАД
+КОВАЧ АТИЛА
+КОВАЧ БЕЛА
+КОВАЧ БЕЛА
+КОВАЧ-БИРКАШ МИХАЉ
+КОВАЧ БОРИС
+КОВАЧ ДЕЖЕ
+КОВАЧ ДЕСАНКА
+КОВАЧ ДРАГИЦА МР
+КОВАЧ ДУШАН
+КОВАЧ ЕТЕЛКА
+КОВАЧ ЕТЕЛКА
+КОВАЧ ФЕРЕНЦ
+КОВАЧ ФЕРЕНЦ
+КОВАЧ ФРАЊА
+КОВАЧ ФРАЊА
+КОВАЧ ГАБОР
+КОВАЧ ГИЗЕЛА
+КОВАЧ ИШТВАН
+КОВАЧ ИШТВАН
+КОВАЧ ИШТВАН
+КОВАЧ ИШТВАН
+КОВАЧ ИШТВАН
+КОВАЧ ИШТВАН
+КОВАЧ ИШТВАН
+КОВАЧ ИШТВАН
+КОВАЧ ИШТВАН
+КОВАЧ ИЛОНА
+КОВАЧ ИМРЕ
+КОВАЧ ИМРЕ
+КОВАЧ ИМРЕ
+КОВАЧ ИРЕНА
+КОВАЧ ИРЕНА
+КОВАЧ ИВАН
+КОВАЧ ИВАН
+КОВАЧ ИВАН
+КОВАЧ ИВАН
+КОВАЧ ИВАН
+КОВАЧ ИВАН
+КОВАЧ ЈАКОБ
+КОВАЧ ЈАНКО
+КОВАЧ ЈАНОШ
+КОВАЧ ЈАНОШ
+КОВАЧ ЈАНОШ
+КОВАЧ ЈАНОШ
+КОВАЧ ЈАНОШ
+КОВАЧ ЈАНОШ
+КОВАЧ ЈАНОШ
+КОВАЧ ЈАН
+КОВАЧ ЈАН
+КОВАЧ ЈЕЛИЦА
+КОВАЧ ЈЕЛИСАВЕТА
+КОВАЧ ЈОЖЕФ
+КОВАЧ ЈОЖЕФ
+КОВАЧ ЈОСИП
+КОВАЧ ЈОСИП
+КОВАЧ ЈОСИП
+КОВАЧ ЈОСИП
+КОВАЧ ЈОВАН
+КОВАЧ ЈОВАН
+КОВАЧ ЈОВАН
+КОВАЧ ЈУЛИАНА
+КОВАЧ ЈУЛИЈАНА
+КОВАЧ КАРЛО
+КОВАЧ КАРЛО
+КОВАЧ КАРОЉ
+КОВАЧ КАРОЉ
+КОВАЧ КАРОЉ
+КОВАЧ КАРОЛЈ
+КОВАЧ КАТАЛИН
+КОВАЧ КАТАРИНА
+КОВАЧ КАТИЦА
+КОВАЧ КАТИЦА
+КОВАЧ КАТИЦА
+КОВАЧ КАТИЦА
+КОВАЧ КАТИЦА
+КОВАЧ КОВИЉКА
+КОВАЧ ЛАДИСЛАВ
+КОВАЧ ЛАДИСЛАВ
+КОВАЧ ЛАДИСЛАВ
+КОВАЧ ЛАДИСЛАВ
+КОВАЧ ЛАДИСЛАВ
+КОВАЧ ЛАЈОШ
+КОВАЧ ЛАЈОШ
+КОВАЧ ЛАСЛО
+КОВАЧ ЛАСЛО
+КОВАЧ ЛАСЛО
+КОВАЧ ЛАСЛО
+КОВАЧ ЛАСЛО
+КОВАЧ ЛАСЛО
+КОВАЧ ЛАСЛО
+КОВАЧ ЛАСЛО
+КОВАЧ ЉУБАН
+КОВАЧ ЉУДЕВИТ
+КОВАЧ МАЈА
+КОВАЧ МАРГИТА
+КОВАЧ МАРИЈА
+КОВАЧ МАРИЈА
+КОВАЧ МАРИЈА
+КОВАЧ МАРИЈА
+КОВАЧ МАРИЈА
+КОВАЧ МАРТИН
+КОВАЧ МАТИЈА
+КОВАЧ МИХАЈЛО
+КОВАЧ МИХАЈЛО
+КОВАЧ МИХАЉ
+КОВАЧ МИХАЉ
+КОВАЧ МИКЛОШ
+КОВАЧ МИКЛОШ
+КОВАЧ МИЛАДИН
+КОВАЧ МИЛАН
+КОВАЧ МИЛЕНА
+КОВАЧ МИЛОШ
+КОВАЧ МИЛОРАД
+КОВАЧ МИРЈАНА
+КОВАЧ МИРЈАНА
+КОВАЧ МИРЈАНА
+КОВАЧ МИРКО
+КОВАЧ МИРОН ДИПЛ ИНГ
+КОВАЧ МИРОСЛАВ
+КОВАЧ НАТАЛИЈА
+КОВАЧ НИКОЛА
+КОВАЧ НИКОЛА
+КОВАЧ ОЛГИЦА
+КОВАЧ ОЛГИЦА
+КОВАЧ ОТО
+КОВАЧ ПАВЕЛ
+КОВАЧ ПЕТАР
+КОВАЧ РИСТО ДИПЛ ИНГ
+КОВАЧ РОЖИ
+КОВАЧ РОЖИ
+КОВАЧ РОЗАЛИЈА
+КОВАЧ РОЗАЛИЈА
+КОВАЧ РУЖИЦА
+КОВАЧ СИЛВЕСТЕР
+КОВАЧ СМИЉА
+КОВАЧ СТАНОЈКА
+КОВАЧ СТЕВАН
+КОВАЧ СТЕВАН
+КОВАЧ СТЕВАН
+КОВАЧ СТЕВАН
+КОВАЧ СТЈЕПАН ДИПЛ ИНГ
+КОВАЧ СВЕТОЗАР
+КОВАЧ ТЕОДОР ДР ПРОФ
+КОВАЧ ТЕОДОР ДР
+КОВАЧ ТИБОР
+КОВАЧ ТИБОР
+КОВАЧ-ТИХМАЈЕР СТЕВАН
+КОВАЧ ТОМИСЛАВ
+КОВАЧ ТРПИМИР
+КОВАЧ ВАЛЕРИЈА
+КОВАЧ ВЕРА
+КОВАЧ ВЕРА
+КОВАЧ ВЕРА
+КОВАЧ ВЕРА
+КОВАЧ ВЕРА
+КОВАЧ ВЕРИЦА
+КОВАЧ ВЕРОНА
+КОВАЧ ВЕРОНА
+КОВАЧ ВИДА
+КОВАЧ ВЛАДИМИР
+КОВАЧ ВЛАДИМИР
+КОВАЧ ЗОРА
+КОВАЧ ЗВОНИМИР
+КОВАЧЕК БОЖИДАР ДР
+КОВАЧЕК ДАНИЦА
+КОВАЧЕК ЈЕЛЕНА
+КОВАЧЕВ ЂОРЂЕ
+КОВАЧЕВ АЛЕКСАНДАР
+КОВАЧЕВ БРАНКА
+КОВАЧЕВ БРАНКО
+КОВАЧЕВ БРАНКО
+КОВАЧЕВ ДАНЧЕ
+КОВАЧЕВ ДАНИЛКА
+КОВАЧЕВ ДИМИТРИЈЕ
+КОВАЧЕВ ДРАГИША
+КОВАЧЕВ ДРАГОСЛАВ
+КОВАЧЕВ ДРАГУТИН
+КОВАЧЕВ ДРАГУТИН
+КОВАЧЕВ ДУШАНКА
+КОВАЧЕВ ГОРАН
+КОВАЧЕВ ГОРДАНА
+КОВАЧЕВ ГОРДАНА
+КОВАЧЕВ ИЛИЈА
+КОВАЧЕВ ИВИЦА
+КОВАЧЕВ ЈЕЛА
+КОВАЧЕВ ЈЕЛЕНА
+КОВАЧЕВ ЈОВАН
+КОВАЧЕВ ЈУЛИЈАНА
+КОВАЧЕВ ЈУЛКА
+КОВАЧЕВ ЛАЗАР
+КОВАЧЕВ МАРИЈА
+КОВАЧЕВ МИЛАН
+КОВАЧЕВ МИЛАН
+КОВАЧЕВ МИЛЕНА
+КОВАЧЕВ МИЛИЦА
+КОВАЧЕВ МИЛОШ
+КОВАЧЕВ МИЛОРАД ДР ЛЕКАР
+КОВАЧЕВ МИЛУТИН
+КОВАЧЕВ МИРЈАНА
+КОВАЧЕВ МЛАДЕН
+КОВАЧЕВ НЕДЕЉКО
+КОВАЧЕВ НЕМАЊА
+КОВАЧЕВ ПЕТАР
+КОВАЧЕВ СТЕВАН
+КОВАЧЕВ СТЕВАН
+КОВАЧЕВ СТЕВАН
+КОВАЧЕВ СВЕТИСЛАВ
+КОВАЧЕВ СВЕТОЗАР
+КОВАЧЕВ ТЕОДОР ДР
+КОВАЧЕВ ТЕОДОР ДР
+КОВАЧЕВ ВЕРА
+КОВАЧЕВ ВЕРА
+КОВАЧЕВ ВЕСНА
+КОВАЧЕВИЋ ЧЕДА
+КОВАЧЕВИЋ ЖЕЛИМИР
+КОВАЧЕВИЋ ЖЕЉКО
+КОВАЧЕВИЋ ЖИВАН
+КОВАЧЕВИЋ ЖИВАН
+КОВАЧЕВИЋ ЂОРЂЕ ДИПЛ ИНГ
+КОВАЧЕВИЋ ЂОРЂЕ
+КОВАЧЕВИЋ ЂОРЂЕ
+КОВАЧЕВИЋ ЂОРЂЕ
+КОВАЧЕВИЋ ЂОРЂЕ
+КОВАЧЕВИЋ ЂУРЂИНА
+КОВАЧЕВИЋ ЂУРА
+КОВАЧЕВИЋ АГНЕШ
+КОВАЧЕВИЋ АЛЕКСАНДАР
+КОВАЧЕВИЋ АЛЕКСАНДАР
+КОВАЧЕВИЋ АЛЕКСАНДАР
+КОВАЧЕВИЋ АНЂЕЛИЈА
+КОВАЧЕВИЋ АНДРИЈА
+КОВАЧЕВИЋ АНЕТА
+КОВАЧЕВИЋ АНКИЦА
+КОВАЧЕВИЋ АРСА
+КОВАЧЕВИЋ БЛАГОЈЕ
+КОВАЧЕВИЋ БОШКО
+КОВАЧЕВИЋ БОШКО
+КОВАЧЕВИЋ БОШКО
+КОВАЧЕВИЋ БОЖИДАР
+КОВАЧЕВИЋ БОГДАН
+КОВАЧЕВИЋ БОГДАН
+КОВАЧЕВИЋ БОРИСЛАВА
+КОВАЧЕВИЋ БОРИСЛАВ
+КОВАЧЕВИЋ БОРИСЛАВ
+КОВАЧЕВИЋ БОРИВОЈЕ
+КОВАЧЕВИЋ БОРИВОЈ
+КОВАЧЕВИЋ БОРИВОЈ
+КОВАЧЕВИЋ БОРИВОЈ
+КОВАЧЕВИЋ БОРКА
+КОВАЧЕВИЋ БРАНИМИР
+КОВАЧЕВИЋ БРАНИСЛАВА ДИПЛ ИНГ
+КОВАЧЕВИЋ БРАНИСЛАВА
+КОВАЧЕВИЋ БРАНИСЛАВА
+КОВАЧЕВИЋ БРАНИСЛАВ
+КОВАЧЕВИЋ БРАНКО
+КОВАЧЕВИЋ БРАНКО
+КОВАЧЕВИЋ БРАНКО
+КОВАЧЕВИЋ БРАНКО
+КОВАЧЕВИЋ БРАНКО
+КОВАЧЕВИЋ БРАНКО
+КОВАЧЕВИЋ БРАНКО
+КОВАЧЕВИЋ БРАНКО
+КОВАЧЕВИЋ БУДИМИР
+КОВАЧЕВИЋ БУДИМИР
+КОВАЧЕВИЋ ДАМЈАН
+КОВАЧЕВИЋ ДАНИЦА
+КОВАЧЕВИЋ ДАНИЦА
+КОВАЧЕВИЋ ДАНИЦА
+КОВАЧЕВИЋ ДАНИЦА
+КОВАЧЕВИЋ ДАНИЦА
+КОВАЧЕВИЋ ДАНИЛО
+КОВАЧЕВИЋ ДАНКА
+КОВАЧЕВИЋ ДАВОРКА
+КОВАЧЕВИЋ ДЕСАНКА
+КОВАЧЕВИЋ ДИМИТРИЈЕ ДИПЛ ОЕЦ
+КОВАЧЕВИЋ ДРАГАН ДР
+КОВАЧЕВИЋ ДРАГАНА
+КОВАЧЕВИЋ ДРАГАН
+КОВАЧЕВИЋ ДРАГАН
+КОВАЧЕВИЋ ДРАГАН
+КОВАЧЕВИЋ ДРАГИЦА
+КОВАЧЕВИЋ ДРАГИЦА
+КОВАЧЕВИЋ ДРАГОЉУБ
+КОВАЧЕВИЋ ДРАГОЉУБ
+КОВАЧЕВИЋ ДРАГОЉУБ
+КОВАЧЕВИЋ ДРАГО
+КОВАЧЕВИЋ ДРАГО
+КОВАЧЕВИЋ ДРАГУТИН
+КОВАЧЕВИЋ ДРАГУТИН
+КОВАЧЕВИЋ ДРЕНА
+КОВАЧЕВИЋ ДУШАНКА
+КОВАЧЕВИЋ ДУШАН
+КОВАЧЕВИЋ ДУШАН
+КОВАЧЕВИЋ ДУШАН
+КОВАЧЕВИЋ ДУШАН
+КОВАЧЕВИЋ ДУШАН
+КОВАЧЕВИЋ ДУШАН
+КОВАЧЕВИЋ ДУШАН
+КОВАЧЕВИЋ ДУШИЦА
+КОВАЧЕВИЋ ДУШИЦА
+КОВАЧЕВИЋ ДУШКО
+КОВАЧЕВИЋ ДУШКО
+КОВАЧЕВИЋ ДУШКО
+КОВАЧЕВИЋ ФРАЊА
+КОВАЧЕВИЋ ГАВРИЛО
+КОВАЧЕВИЋ ГЛИГОРИЈЕ
+КОВАЧЕВИЋ ГОЈКО
+КОВАЧЕВИЋ ИШТВАН
+КОВАЧЕВИЋ ИГЊАТ
+КОВАЧЕВИЋ ИЛИЈА
+КОВАЧЕВИЋ ИЛИЈА
+КОВАЧЕВИЋ ИЛИЈА
+КОВАЧЕВИЋ ИСА
+КОВАЧЕВИЋ ИВАН
+КОВАЧЕВИЋ ЈАГОШ
+КОВАЧЕВИЋ ЈЕЛЕНА
+КОВАЧЕВИЋ ЈЕЛИЦА
+КОВАЧЕВИЋ ЈЕЛИЦА
+КОВАЧЕВИЋ ЈЕЛИСАВЕТА
+КОВАЧЕВИЋ ЈОРДАН
+КОВАЧЕВИЋ ЈОВАНКА
+КОВАЧЕВИЋ ЈОВАН
+КОВАЧЕВИЋ ЈОВАН
+КОВАЧЕВИЋ ЈОВАН
+КОВАЧЕВИЋ ЈОВИЦА
+КОВАЧЕВИЋ ЈОВО
+КОВАЧЕВИЋ КАТАРИНА
+КОВАЧЕВИЋ КАТА
+КОВАЧЕВИЋ КАТИЦА ДР
+КОВАЧЕВИЋ КАТИЦА
+КОВАЧЕВИЋ КАТИЦА
+КОВАЧЕВИЋ КЛАРА
+КОВАЧЕВИЋ КОЧА
+КОВАЧЕВИЋ КОЈА
+КОВАЧЕВИЋ КОСТА
+КОВАЧЕВИЋ КОСТА
+КОВАЧЕВИЋ КОВИЉКА
+КОВАЧЕВИЋ КРСТА
+КОВАЧЕВИЋ КРСТО
+КОВАЧЕВИЋ КСЕНИЈА
+КОВАЧЕВИЋ КСЕНИЈА
+КОВАЧЕВИЋ ЛАЗО
+КОВАЧЕВИЋ ЉИЉАНА
+КОВАЧЕВИЋ ЉИЉА
+КОВАЧЕВИЋ ЉУБИЦА
+КОВАЧЕВИЋ ЉУБО
+КОВАЧЕВИЋ МАРА
+КОВАЧЕВИЋ МАРА
+КОВАЧЕВИЋ МАРИЈА
+КОВАЧЕВИЋ МАРИЈА
+КОВАЧЕВИЋ МАРКО
+КОВАЧЕВИЋ МАРКО
+КОВАЧЕВИЋ МИХАЈЛО
+КОВАЧЕВИЋ МИХАЈЛО
+КОВАЧЕВИЋ МИЛАДИНКА
+КОВАЧЕВИЋ МИЛАН
+КОВАЧЕВИЋ МИЛАН
+КОВАЧЕВИЋ МИЛАН
+КОВАЧЕВИЋ МИЛАН
+КОВАЧЕВИЋ МИЛАН
+КОВАЧЕВИЋ МИЛАН
+КОВАЧЕВИЋ МИЛАН
+КОВАЧЕВИЋ МИЛАН
+КОВАЧЕВИЋ МИЛАН
+КОВАЧЕВИЋ МИЛАН
+КОВАЧЕВИЋ МИЛАН
+КОВАЧЕВИЋ МИЛЕНА
+КОВАЧЕВИЋ МИЛЕНА
+КОВАЧЕВИЋ МИЛЕ
+КОВАЧЕВИЋ МИЛИЦА
+КОВАЧЕВИЋ МИЛИЦА
+КОВАЧЕВИЋ МИЛИЦА
+КОВАЧЕВИЋ МИЛИЦА
+КОВАЧЕВИЋ МИЛИМИР
+КОВАЧЕВИЋ МИЛИВОЈ ДР
+КОВАЧЕВИЋ МИЉАН
+КОВАЧЕВИЋ МИЛКА
+КОВАЧЕВИЋ МИЛОШ
+КОВАЧЕВИЋ МИЛОШ
+КОВАЧЕВИЋ МИЛОШ
+КОВАЧЕВИЋ МИЛОШ
+КОВАЧЕВИЋ МИЛОШ
+КОВАЧЕВИЋ МИЛОРАД
+КОВАЧЕВИЋ МИЛОРАД
+КОВАЧЕВИЋ МИЛОВАН
+КОВАЧЕВИЋ МИЛОВАН
+КОВАЧЕВИЋ МИОДРАГ
+КОВАЧЕВИЋ МИОДРАГ
+КОВАЧЕВИЋ МИРА
+КОВАЧЕВИЋ МИРА
+КОВАЧЕВИЋ МИРЈАНА
+КОВАЧЕВИЋ МИРЈАНА
+КОВАЧЕВИЋ МИРКО
+КОВАЧЕВИЋ МИРОСЛАВ
+КОВАЧЕВИЋ МИРОСЛАВ
+КОВАЧЕВИЋ МИРОСЛАВ
+КОВАЧЕВИЋ МИТАР
+КОВАЧЕВИЋ МИТА
+КОВАЧЕВИЋ-МЛАДЕНОВИЋ ОЛГА
+КОВАЧЕВИЋ МЛАДЕН
+КОВАЧЕВИЋ НАДА
+КОВАЧЕВИЋ НАДЕЖДА
+КОВАЧЕВИЋ НАТАЛИЈА
+КОВАЧЕВИЋ НЕБОЈША
+КОВАЧЕВИЋ НЕДЕЉКА
+КОВАЧЕВИЋ НЕДЕЉКО
+КОВАЧЕВИЋ НИКОЛА
+КОВАЧЕВИЋ НИКОЛА
+КОВАЧЕВИЋ НИКОЛА
+КОВАЧЕВИЋ ОЛГИЦА
+КОВАЧЕВИЋ ОЗРЕН
+КОВАЧЕВИЋ ПАВЛЕ
+КОВАЧЕВИЋ ПАВЛЕ
+КОВАЧЕВИЋ ПЕТАР
+КОВАЧЕВИЋ РАДЕНКО
+КОВАЧЕВИЋ РАДЕ
+КОВАЧЕВИЋ РАДИВОЈЕ
+КОВАЧЕВИЋ РАДИВОЈ
+КОВАЧЕВИЋ РАДИВОЈ
+КОВАЧЕВИЋ РАДМИЛА
+КОВАЧЕВИЋ РАДОЈКА
+КОВАЧЕВИЋ РАДОЈКО
+КОВАЧЕВИЋ РАДОМАН
+КОВАЧЕВИЋ РАДОСЛАВ
+КОВАЧЕВИЋ РАДОВАН
+КОВАЧЕВИЋ РАЈКО
+КОВАЧЕВИЋ РАЈКО
+КОВАЧЕВИЋ РАНКО
+КОВАЧЕВИЋ РЕЉА
+КОВАЧЕВИЋ РУЖИЦА
+КОВАЧЕВИЋ РУЖИЦА
+КОВАЧЕВИЋ САВА
+КОВАЧЕВИЋ САВА
+КОВАЧЕВИЋ САВА
+КОВАЧЕВИЋ САВКА
+КОВАЧЕВИЋ САВО
+КОВАЧЕВИЋ СЕКУЛА
+КОВАЧЕВИЋ СИМЕОН
+КОВАЧЕВИЋ СЛАЂАНА
+КОВАЧЕВИЋ СЛАВИЦА
+КОВАЧЕВИЋ СЛАВКО
+КОВАЧЕВИЋ СЛАВКО
+КОВАЧЕВИЋ СЛАВКО
+КОВАЧЕВИЋ СЛАВКО
+КОВАЧЕВИЋ СЛОБОДАН
+КОВАЧЕВИЋ СЛОБОДАН
+КОВАЧЕВИЋ СЛОБОДАН
+КОВАЧЕВИЋ СЛОБОДАН
+КОВАЧЕВИЋ СЛОБОДАН
+КОВАЧЕВИЋ СЛОБОДАН
+КОВАЧЕВИЋ СПАСЕНИЈА
+КОВАЧЕВИЋ СРБИЈАНКА
+КОВАЧЕВИЋ СРЕТА
+КОВАЧЕВИЋ СРЕТЕН
+КОВАЧЕВИЋ СТАНА
+КОВАЧЕВИЋ СТАНКА
+КОВАЧЕВИЋ СТЕВАН
+КОВАЧЕВИЋ СТЕВАН
+КОВАЧЕВИЋ СТЕВАН
+КОВАЧЕВИЋ СТЕВАН
+КОВАЧЕВИЋ СТЕВАН
+КОВАЧЕВИЋ СТЕВО
+КОВАЧЕВИЋ СТЕВО
+КОВАЧЕВИЋ СТЕВО
+КОВАЧЕВИЋ СВЕТЛАНА
+КОВАЧЕВИЋ СВЕТЛАНА
+КОВАЧЕВИЋ СВЕТЛАНА
+КОВАЧЕВИЋ СВЕТОЛИК
+КОВАЧЕВИЋ СВЕТОЗАР
+КОВАЧЕВИЋ СВЕТОЗАР
+КОВАЧЕВИЋ СВЕТОЗАР
+КОВАЧЕВИЋ ТЕРЕЗА
+КОВАЧЕВИЋ ТОДОР
+КОВАЧЕВИЋ ТОМИСЛАВ
+КОВАЧЕВИЋ ВАСА
+КОВАЧЕВИЋ ВЕЛИМИР
+КОВАЧЕВИЋ ВЕЛИМИР
+КОВАЧЕВИЋ ВЕРА
+КОВАЧЕВИЋ ВЕРА
+КОВАЧЕВИЋ ВЕРА
+КОВАЧЕВИЋ ВИДОСАВА
+КОВАЧЕВИЋ ВИДОСАВА
+КОВАЧЕВИЋ ВИДОСАВА
+КОВАЧЕВИЋ ВИДОСАВА
+КОВАЧЕВИЋ ВИНКО
+КОВАЧЕВИЋ ВЛАДИМИР
+КОВАЧЕВИЋ ВЛАДИМИР
+КОВАЧЕВИЋ ВЛАДИМИР
+КОВАЧЕВИЋ ВЛАДИСЛАВ
+КОВАЧЕВИЋ ВОЈИН
+КОВАЧЕВИЋ ВОЈИН
+КОВАЧЕВИЋ ВОЈИСЛАВ ДИПЛ ИНГ
+КОВАЧЕВИЋ ВУЈО
+КОВАЧЕВИЋ ВУКАШИН
+КОВАЧЕВИЋ ВУКАШИН
+КОВАЧЕВИЋ ЗДЕНКО
+КОВАЧЕВИЋ ЗДРАВКО
+КОВАЧЕВИЋ ЗОРАН ДР
+КОВАЧЕВИЋ ЗОРАН
+КОВАЧЕВИЋ ЗОРАН
+КОВАЧЕВИЋ ЗОРИЦА
+КОВАЧЕВИЋ ЗОРИЦА
+КОВАЧЕВИЋ ЗВОНИМИРКА
+КОВАЧИЋ ЖИВКО
+КОВАЧИЋ АНИЦА
+КОВАЧИЋ БОЖАНА
+КОВАЧИЋ БОРИВОЈ
+КОВАЧИЋ ДРАГАНА
+КОВАЧИЋ ДУШАНКА
+КОВАЧИЋ ДУШАН
+КОВАЧИЋ ЈОВАН
+КОВАЧИЋ ЈОВАН
+КОВАЧИЋ ЈОВАН
+КОВАЧИЋ ЉЕПОСАВА
+КОВАЧИЋ ЛУКА
+КОВАЧИЋ МИЛАН
+КОВАЧИЋ МИЛЕНКО
+КОВАЧИЋ МИРОСЛАВ
+КОВАЧИЋ МИРОСЛАВ
+КОВАЧИЋ НЕДЕЉКО
+КОВАЧИЋ НИКОЛА
+КОВАЧИЋ ПЕТАР
+КОВАЧИЋ РАДОСЛАВ
+КОВАЧИЋ СЛОБОДАН
+КОВАЧИЋ СТАНИСЛАВ
+КОВАЧИЋ ТАНАСИЈЕ
+КОВАЧИЋ ТОША
+КОВАЧИЋ ТОМИСЛАВ
+КОВАЧИЋ ВЕСНА
+КОВАЧИК МАРГИТА
+КОВАЧИК МАРИЈА
+КОВАЛЧИК ВЛАДИСЛАВ
+КОВАЛОВСКИ ТЕОДОР
+КОВАНОВИЋ ПЕТАР
+КОВАР ЈАЊА
+КОВАРЧИК АНДРИЈА
+КОВАРЧИК МАРИЈА
+КОВАРИК ВАЛЕРИЈА
+КОВЕИНДЛ ЈОСИП
+КОВЕЉ ТОМИСЛАВ
+КОВИЋ ДРАГИЦА
+КОВИЋ НАДА
+КОВИЋ СЛОБОДАН
+КОВИЈАНИЋ ВЛАДИМИР
+КОВИНЧИЋ БОЈАН
+КОВИНЧИЋ МИЛАН
+КОВИНЧИЋ НАДА
+КОВИНЧИЋ НАТАША
+КОВИНЧИЋ СЛОБОДАН ДИПЛ ИНГ
+КОВИНЧИЋ СТОЈАН
+КОВЈАНИЋ АЛЕКСАНДАР
+КОВЈАНИЋ ЈОВАН
+КОВЈАНИЋ МИЛОРАД
+КОВЈАНИЋ НАДА
+КОВЈАНИЋ НЕНАД
+КОВЈАНИЋ ПЕРА
+КОВЈАНИЋ САВА
+КОВЉАН ЂОРЂЕ
+КОВЉАН САВО
+КОВРЛИЈА ЈОВАН
+КОЗАК МАРИЈА
+КОЗАКИВ ИВАН
+КОЗАР РАДЕ
+КОЗАРЧИЋ ЈОВАНКА
+КОЗАРЧИЋ ЈОВАН
+КОЗАРЧИЋ ЈОВАН
+КОЗАРЧИЋ МАРКО
+КОЗАРЧИЋ МИЛАН
+КОЗАРАЦ МИЋО
+КОЗАРЕВ ЖАРКО
+КОЗАРЕВ ЖИВКО
+КОЗАРЕВ АЛЕКСАНДРА
+КОЗАРЕВ БОГОЉУБ
+КОЗАРЕВ ДАРИНКА
+КОЗАРЕВ ДИМИТРИЈЕ
+КОЗАРЕВ ДИМИТРИЈЕ
+КОЗАРЕВ ДРАГИЦА
+КОЗАРЕВ ГОСПАВА
+КОЗАРЕВ ЛАЗАР
+КОЗАРЕВ ЉУБИЦА
+КОЗАРЕВ МАРИЈА
+КОЗАРЕВ МИЛАН
+КОЗАРЕВ МИЛКА
+КОЗАРЕВ МЛАДЕН
+КОЗАРЕВ НЕДЕЉКО
+КОЗАРЕВ ПАВЛЕ
+КОЗАРЕВ ПЕТАР
+КОЗАРЕВ САВА
+КОЗАРЕВ САВА
+КОЗАРЕВ ТОДОР
+КОЗАРЕВИЋ РАДИНКА
+КОЗАРЕВИЋ ЗОРАН
+КОЗАРОВ ЂОРЂЕ
+КОЗАРОВ АНИЦА
+КОЗАРОВ ГАВРА
+КОЗАРОВ ИВАН
+КОЗАРОВ ЈОВАНКА
+КОЗАРОВ КАТИЦА
+КОЗАРОВ МИЛОШ
+КОЗАРОВ НАТАЛИЈА
+КОЗАРОВ ПАВЛЕ
+КОЗАРОВ ПАВЛЕ
+КОЗАРОВ СРБИСЛАВ
+КОЗАРОВ ТОМИСЛАВ
+КОЗАРСКИ ЖИВАН
+КОЗАРСКИ ЖИВКО
+КОЗАРСКИ ЛИДИЈА
+КОЗАРСКИ МАРИЈА
+КОЗАРСКИ МИРОСЛАВ
+КОЗАРСКИ-РАЈИЋ ВЕРИЦА
+КОЗАРСКИ СЛОБОДАН
+КОЗАРСКИ СОФИЈА
+КОЗАРСКИ СТЕВАН
+КОЗАРСКИ ТЕОДОРА
+КОЗАРСКИ ВАСИЛИЈЕ
+КОЗАРСКИ ВЕРА
+КОЗАРСКИ ВОЈИСЛАВ
+КОЗАРСКИ ВОЈИСЛАВ
+КОЗБАШИЋ СТЕВАН
+КОЗИЋ БОГДАН
+КОЗИЋ ПЕТАР
+КОЗИЋ РАТКО
+КОЗИЋ РОЖА
+КОЗИЋ САВА
+КОЗИЋ СТАНКО
+КОЗИЋ ВЕЉКО
+КОЗИНА ИВАН
+КОЗИНА МАРИЦА
+КОЗЛИК КАТАРИНА
+КОЗЛИК ЛАЈОШ
+КОЗЛИНА ДЕСАНКА
+КОЗЛИНА ДУШКО
+КОЗЛИНА ЈЕКА
+КОЗЛИНА МИЛЕ
+КОЗЛИНА ЗЛАТИЦА
+КОЗЛОВАЧКИ ЖИВКО
+КОЗЛОВАЧКИ ГОРДАНА
+КОЗЛОВАЧКИ ЉУБА
+КОЗЛОВАЧКИ САВА
+КОЗЛОВАЧКИ СОФИЈА
+КОЗЛОВАЧКИ ВЕСЕЛИН
+КОЗЛОВИЋ БОРИС
+КОЗЛОВИЋ САВА
+КОЗМА ШАНДОР
+КОЗМА ЕТЕЛ
+КОЗМА ФЕРЕНЦ
+КОЗМА ЈОЖЕФ
+КОЗМА ЈОСИП
+КОЗМИДИС-ПЕТРОВИЋ АНА
+КОЗОМАРА ЂОРЂЕ
+КОЗОМАРА ЈОВО
+КОЗОМАРА ЉУБИЦА
+КОЗОМАРА МАРИЈА
+КОЗОМАРА ЗОРАН
+КОЗОМАРИЋ МАРИЈА
+КОЗОМОРА БОЖИДАР
+КОЗОМОРА БРАНКО
+КОЗОМОРА ИЛИЈА
+КОЗОМОРА ЈОКА
+КОЗОМОРА ЈОВО
+КОЗОМОРА ЛАЗО
+КОЗОМОРА МИЛАН
+КОЗОМОРА МИЛЕ
+КОЗОМОРА МИЛОЈКО
+КОЗОМОРА МИРОСЛАВ
+КОЗОМОРА ПЕТАР
+КОЗОМОРА РАДОМИР
+КОЗОМОРА СРЂАН
+КОЗОМОРА ТАТЈАНА
+КОЗОМОРА ВАСИЛИЈЕ
+КОЗОМОРИЋ БРАНИСЛАВА ДР ЛЕКАР
+КОЗУНОВИЋ МИРОСЛАВ
+КРЧАДИНАЦ КОСТА
+КРЧАДИНАЦ НИКОЛА
+КРЧЕДИНАЦ МИОДРАГ
+КРЧЕДИНАЦ ТИМА
+КРЧЕЛИЋ АНДРИЈА
+КРЧМАР ЖЕЉКО
+КРЧМАР ЦВИЈО
+КРЧМАР ДРАГОМИР
+КРЧМАР ДУШКО
+КРЧМАР ЈОВАН
+КРЧМАР ЛЕПОСАВА
+КРЧМАР ЉУБИЦА
+КРЧМАР ЉУБИЦА
+КРЧМАР МИЛАН
+КРЧМАР МИЛАН
+КРЧМАР МИРКО
+КРЧМАР ПАНЕ
+КРЧМАР ВАСО
+КРЧМАР ВИНКО
+КРЧМАР ЗОРАН
+КРЧМАР ЗОРАН
+КРЧМАРИК ДАНИЛО
+КРЧМАРИК ПРЕДРАГ
+КРЧО БОЖИДАР
+КРЧО МИЛЕНКО
+КРЧО РАСИМ
+КРЧО РАСИМ
+КРШЕВ БОРИС
+КРШЕВ ИВАН
+КРШЕВ ЈУЛИЈАНА
+КРШЕВ ЈУЛКИЦА
+КРШИЋ ДАРА
+КРШИЋ ИГЊАТ
+КРШИЋ ЈЕЛА
+КРШИЋ ТОМО
+КРШИН ЈОВО
+КРШОВИЋ ЈЕЛЕНА
+КРШТЕНИЋ ДЕСАНКА
+КРЖА МИЛЕНКО
+КРЖИЋ СИМО
+КРЂИЋ СПОМЕНКА
+КРАЧЕНСКИ БОРИСЛАВ
+КРАЧЕВСКИ АПОСТОЛ
+КРАЧУН ИВАН
+КРАЧУН ТРАЈАН
+КРАЧУН ТРАЈАН
+КРАЧУНОВ ПЕТАР
+КРАЧУНОВ СТЕВАН
+КРАЧУНОВИЋ ЖИВОРАД
+КРАЧУНОВИЋ ВЕЉКО
+КРАЋАК БОШКО
+КРАГИЧЕК КЛАРА
+КРАГИЋ БИЉАНА
+КРАГИЋ БОРА
+КРАГИЋ ЉИЉАНА
+КРАГИЋ ЗОРАН
+КРАГОВИЋ МАРИНКО
+КРАГОВИЋ ВЛАДИМИР
+КРАГУЈЕВ ДУШАН
+КРАГУЈЕВИЋ МИЛОРАД ДР ЛЕКАР
+КРАГУЈЕВИЋ РАЈКО
+КРАГУЈЕВИЋ СТАНИСЛАВ ДР ЛЕКАР
+КРАГУЉ АЛЕКСАНДАР
+КРАГУЉ ДУШАНКА
+КРАГУЉ ЈЕЛА
+КРАГУЉ ЛАЗО
+КРАГУЉ САВКА
+КРАГУЉЕВИЋ ЗОРИЦА
+КРАЈЧЕВИЋ МИОДРАГ
+КРАЈЧИ ВЛАДИМИР
+КРАЈЧИНОВИЋ ЈОВАН ДР ЛЕКАР
+КРАЈШИЋ МИРКО
+КРАЈАЧЕВИЋ БОРИСЛАВ
+КРАЈАЧЕВИЋ ХИЛДА
+КРАЈАЧЕВИЋ МИРЈАНА
+КРАЈАЧЕВИЋ ТОМИСЛАВ
+КРАЈАЧЕВИЋ ЗОРАН
+КРАЈЦАР ВЛАДИМИР
+КРАЈЦЕР ЕУГЕН
+КРАЈЦЕР ИРЕНА
+КРАЈЦЕР ИВАН
+КРАЈЦЕР ПЕТАР
+КРАЈИШНИК ЖИВОРАД
+КРАЈИШНИК КРИСТИНА
+КРАЈИЋ АГИЦА
+КРАЈИНА АЛЕКСАНДАР
+КРАЈИНА ФИЛИП
+КРАЈИНОВИЋ БРАНКО
+КРАЈИНОВИЋ ЛАЗАР
+КРАЈИНОВИЋ МИЛАН
+КРАЈИНОВИЋ ПАВЛЕ
+КРАЈИНОВИЋ СИНИША
+КРАЈНИК ЖАРКО
+КРАЈНИК ЛАЗАР
+КРАЈНИКЕР НАНДОР
+КРАЈНОВ БОГДАН
+КРАЈНОВ БОГОЉУБ
+КРАЈНОВ ГОРАН
+КРАЈНОВИЋ ЂОРЂЕ
+КРАЈНОВИЋ ЂОРЂЕ
+КРАЈНОВИЋ ЂУРО
+КРАЈНОВИЋ БОШКО
+КРАЈНОВИЋ БОГДАН
+КРАЈНОВИЋ ЈАДРАНКА
+КРАЈНОВИЋ МИЛИЋ
+КРАЈНОВИЋ МИЛИЦА
+КРАЈНОВИЋ НИКОЛА
+КРАЈНОВИЋ ПЕТАР
+КРАЈНОВИЋ РАДЕ
+КРАЈНОВИЋ СЛАВИЦА
+КРАЈНОВИЋ ВЕРА
+КРАЈОВАН МИРЈАНА
+КРАЈОВАН МИРОСЛАВ
+КРАК МИША
+КРАКАНОВИЋ ДУШАН
+КРАКАНОВИЋ ВОЈИСЛАВ
+КРАЛИК МИРОСЛАВ
+КРАЛИК ОЛИНКА
+КРАЛИК ПАВЛЕ
+КРАЛИК СТЕВАН
+КРАЉ ВАЛЕНТИН
+КРАЉ ЗВОНИМИР
+КРАЉЕВАЧКИ БАРБАРА
+КРАЉЕВАЧКИ ИЛИЈА
+КРАЉЕВАЧКИ ЈОСИП
+КРАЉЕВИЋ БОСИЉКА
+КРАЉЕВИЋ ДУШАН
+КРАЉЕВИЋ МАРИЦА
+КРАЉЕВИЋ МИЛКА
+КРАЉЕВИЋ САВО
+КРАЉЕВИЋ ВЛАДИМИР ДР
+КРАЉИЋ ЈЕЛЕНА
+КРАЉИЋ ВЛАДА
+КРАЊЧЕВИЋ ГОРДАНА
+КРАЊЧЕВИЋ ЈОСИП
+КРАС ЈЕЛЕНА
+КРАСАВАЦ ЖИВОРАД
+КРАСАВАЦ МИЛКА
+КРАСАВАЦ МИЛОРАД
+КРАСАВАЦ МИЛОРАД
+КРАСАВАЦ РУЖИЦА
+КРАСИЋ БРАНИСЛАВ
+КРАСИЋ ДУШАН
+КРАСИЋ ГОЛУБ
+КРАСИЋ МИЛОЈЕ
+КРАСИЋ НИКОЛА
+КРАСИЋ СТЕВАН
+КРАСКО ЈАНКО
+КРАСНИЋ ИРИНА
+КРАСНИЋ ВЕРА
+КРАСНИК ВЛАТКО
+КРАСНИК ЗВОНКО
+КРАСОЈЕВИЋ КОНСТАНТИН
+КРАСОЈЕВИЋ ЗОРАН
+КРАСУЛА ТОМА
+КРАСУЉА ДУШАН
+КРАСУЉА СТЕВАН
+КРАУС АНА
+КРАУС ОТО
+КРАВЧЕНКО ПЕТАР
+КРАВАРУШИЋ ДРАГАН
+КРАВАРУШИЋ ИЛИЈА
+КРАВАРУШИЋ ТРИВУН
+КРАВАРУШИЋ ВИТОМИР
+КРАВИЋ ДУШАН
+КРАВИЋ МИЛАН
+КРАВИЋ ПЕТАР
+КРАВЉАНАЦ АЛЕКСАНДРА
+КРАВЉАНАЦ ИВАНКА
+КРБАЊЕВИЋ АЛЕКСАНДАР
+КРБАЊЕВИЋ МИЛАН
+КРБАЊЕВИЋ САША
+КРБАВАЦ ЈЕЛА
+КРЦИЋ БРАТИМИР
+КРЦУНОВИЋ БЛАГОЈЕ
+КРЏАЛИЋ ДРАГАН
+КРЏАЛИЋ СТЕВАН
+КРЏИЋ ВИДОЈЕ
+КРЕШО ЕМИР
+КРЕЦУЛ ЛИДИЈА
+КРЕЦУЉ МАРИЈА
+КРЕГ ЕДУАРД
+КРЕГ ВЛАДИМИР
+КРЕЈИЋ БОРИСЛАВ
+КРЕЈИЋ ЈОВАН
+КРЕЈИЋ МАРИНКО
+КРЕЈИЋ СТАНИСЛАВ
+КРЕЈИЋ СТАНИСЛАВ
+КРЕЈИЋ СТОЈА
+КРЕКИЋ БАРИША ДР
+КРЕКИЋ ЕНВЕР
+КРЕКИЋ ФРАЊА
+КРЕКИЋ МИЛЕНА
+КРЕКО ЉУБИЦА
+КРЕМЕНОВИЋ БОРИСЛАВ
+КРЕМЕНОВИЋ КЛАРА
+КРЕМЕНОВИЋ ЉУБА
+КРЕМЕНОВИЋ ЉУБА
+КРЕМЕНОВИЋ ЉУБА
+КРЕМЕНОВИЋ МИЛАНКА
+КРЕМЕНОВИЋ МИЛЕНА
+КРЕМЕНОВИЋ МИЛЕНКО
+КРЕМЕНОВИЋ МИЛОШ
+КРЕМЕНОВИЋ МИРКО
+КРЕМЕНОВИЋ НЕДЕЉКО
+КРЕМЕНОВИЋ ПЕТАР
+КРЕМЕНОВИЋ РАДОСЛАВ
+КРЕМЕНОВИЋ СИНИША
+КРЕМЕНОВИЋ СНЕЖАНА
+КРЕМЕНОВИЋ СТАНКО
+КРЕМЕНОВИЋ СТЕВО
+КРЕМЕНОВИЋ ВОЈИН
+КРЕМЕР ЕЛИЗАБЕТА
+КРЕМЕР ФРАЊА
+КРЕМЕР ЈОВАН
+КРЕМЕР КАТИЦА
+КРЕМЕР МАТИЈА
+КРЕМЕР ПАЈА
+КРЕМИЋ ДРАГАН
+КРЕМИЋ ЉУБОМИР
+КРЕМПАСКИ-АНДРИЋ ХИЛДА
+КРЕМПАСКИ ЕЛИЗАБЕТА
+КРЕСАНКО ЛАСЛО
+КРЕСАНКО МАРГИТА
+КРЕСАНКО МАРИЈА
+КРЕСИЋ ЈАЊА
+КРЕСИЋ МИЛЕНА
+КРЕСИЋ МИТАР
+КРЕСИЋ СЛАВКО
+КРЕСО ШАЋИР
+КРЕСОЈА ДУШКО
+КРЕСОЈА МАРИНКО
+КРЕСОЈЕВИЋ ДАМЈАН
+КРЕСОЈЕВИЋ ЈОВАНКА
+КРЕСОЈЕВИЋ ЈОВАН
+КРЕСОЈЕВИЋ СРБОСЛАВ
+КРЕСОЈЕВИЋ ВЕСНА
+КРЕСОЈЕВИЋ ЗДРАВКО
+КРЕСОВИЋ СЛАВКО
+КРЕСОВИЋ СЛОБОДАН
+КРЕСОВИЋ ВАСО
+КРЕСТА АРПАД
+КРЕСТА АТИЛА
+КРЕСТИЋ ДАФИНА
+КРЕСТИЋ НАДА
+КРЕСТИЋ СТЕВАН
+КРЕСТИЋ ВЛАДИМИР
+КРЕВЕШИЋ КАРЛО
+КРЕВЕШИЋ КАТА
+КРГА ГАВРА
+КРГА МАНЕ
+КРГА МАРА
+КРГА МИЛАН
+КРГА МИЛОШ
+КРГА ВАСА
+КРГИН МЛАДЕН
+КРГИН НАДА
+КРГИН НЕДЕЉКО
+КРГОВИЋ ДУШАНКА
+КРГОВИЋ ДУШАНКА
+КРГОВИЋ ЈОВО
+КРГОВИЋ МАЛИША
+КРГОВИЋ МАРИЈА
+КРГОВИЋ МИЋО
+КРГОВИЋ МИЛАН
+КРГОВИЋ МИЛОРАД ДР ЛЕКАР
+КРГОВИЋ МОМЧИЛО
+КРГОВИЋ РАТКО
+КРГОВИЋ СМИЉА
+КРГОВИЋ СНЕЖАНА
+КРГОВИЋ СВЕТОЗАР
+КРГОВИЋ ВЛАДА
+КРГОВИЋ ВУКОМАН ДИПЛ ИНГ
+КРГОВИЋ ЗОРИЦА
+КРИШ ПЕТАР
+КРИШАН БОСИЉКА
+КРИШАН ДРАГОЈЛО
+КРИШАН МАТИЈА
+КРИШАН МИЛОШ
+КРИШАН ВУКИЦА
+КРИШАН ЗДРАВКО
+КРИШАНОВ ЈОВАН
+КРИШАНОВИЋ ДРАГОМИР
+КРИШТО ЈУЛИЈАНА
+КРИЖ ЈАНКО
+КРИЖ ПАВЕЛ
+КРИЖАК АНА
+КРИЖАН ШАНДОР
+КРИЖАН ЂУРА
+КРИЖАН АНИЦА
+КРИЖАН ЕДУАРД
+КРИЖАН ЈАНОШ
+КРИЖАН ЈУЛА
+КРИЖАН ЛАСЛО
+КРИЖАН МАРИЈА
+КРИЖАН МАТИЈА
+КРИЖАН МИКЛОШ
+КРИЖАН РОЖА
+КРИЖАНИЋ ЈОВАН
+КРИЖАНИЋ ЈОВАН
+КРИЖАНИЋ МИЛЕНКО
+КРИЖАНИЋ СЛАЂАНА
+КРИЖАНИЋ ВЛАДИМИР
+КРИЖАНОВИЋ ЖУЖАНА
+КРИЖНАР БОЈАН
+КРИЖНАР МАРА
+КРИЖНАР МИРКО ДР ДИПЛ ИНГ
+КРИЖНАР ТОМА ДИПЛ ИНГ
+КРИМШАМХАЛОВ ЗАИДА
+КРИНКОВСКИ АЛЕКСАНДАР
+КРИНКОВСКИ АЛЕКСАНДАР
+КРИНКОВСКИ ВЕРОНИКА
+КРИСТИЋ МАРИЈА
+КРИСТИЋ НАДА
+КРИСТИАН ЈОЖЕФ
+КРИСТОВИЋ МИРОСЛАВА
+КРИСТОВИЋ РУДОЛФ
+КРИВАК АНА
+КРИВАК МИРОСЛАВ
+КРИВИЋ ДРАГАНА
+КРИВИЋ ЉИЉАНА
+КРИВИЋ НИКОЛА
+КРИВОШИЈА ЖИВКО
+КРИВОШИЈА ФРАЊО
+КРИВОШИЈА МИЛЕ
+КРИВОКАПИЋ АМАЛИЈА
+КРИВОКАПИЋ ДАНИЦА
+КРИВОКАПИЋ МАРТИН
+КРИВОКАПИЋ НЕДЕЉКО
+КРИВОКАПИЋ НЕВЕНКА ДИПЛ ЕЦЦ
+КРИВОКАПИЋ РАДОСЛАВ
+КРИВОКАПИЋ СЛОБОДАН
+КРИВОКАПИЋ СЛОБОДАН
+КРИВОКАПИЋ СТЕВАН
+КРИВОКАПИЋ ВЛАДИМИР
+КРИВОКУЋА ЂОРЂЕ
+КРИВОКУЋА ДЕЈАН ДИПЛ ИНГ
+КРИВОКУЋА ДИМИТРИЈЕ
+КРИВОКУЋА ДРАГИЦА
+КРИВОКУЋА ДРАГОМИР
+КРИВОКУЋА ДРАГОМИР
+КРИВОКУЋА ДУШАН
+КРИВОКУЋА ЈЕЛИСАВЕТА
+КРИВОКУЋА ЈОВАН
+КРИВОКУЋА ЈУЛИЈАНА
+КРИВОКУЋА МИЛАН
+КРИВОКУЋА МИЛИЦА
+КРИВОКУЋА МИЛКА
+КРИВОКУЋА МИОДРАГ
+КРИВОКУЋА ПЕТАР
+КРИВОКУЋА РАДОСЛАВ
+КРИВОКУЋА РАДОВАН
+КРИЗБАИ ЗОЛТАН
+КРКЕЛИЋ СЛОБОДАН
+КРКЕЉЕШ БОРИС
+КРКЕЉИЋ МОМЧИЛО
+КРКЕЉИЋ СВЕТИСЛАВ
+КРКИЋ МИЛОВАН
+КРКЛЕЦ ЈОСИП
+КРКЛЕЦ ВЕРА
+КРКЛЕЦ ВЛАДИМИР
+КРКЉЕШ ЂУРО
+КРКЉЕШ БОРА
+КРКЉЕШ МИЛЕ ДР
+КРКЉИЋ ЂУРО
+КРКЉИЋ ДРАГАН
+КРКЉИЋ МИЛАН
+КРКЉИЋ МИЛОВАН
+КРКЉИЋ НИКОЛА
+КРКЉИЋ ОСТОЈА
+КРКЉУШ БОШКО
+КРКЉУШ БРАНКО
+КРКЉУШ ДРАГАНА
+КРКЉУШ ДУШАНКА
+КРКЉУШ ДУШАН
+КРКЉУШ ЈЕЛЕНА
+КРКЉУШ ЈЕЛИЦА
+КРКЉУШ КРИСТИНА
+КРКЉУШ ЉУБИНКА
+КРКЉУШ ЉУБОМИРКА ДР
+КРКЉУШ МИЛАН
+КРКЉУШ МИЛАН
+КРКЉУШ МИЛИЦА
+КРКЉУШ МИЛОРАД
+КРКЉУШ МИРОСЛАВ
+КРКЉУШ МОМЧИЛО
+КРКЉУШ ПЕТАР
+КРКЉУШ ПЕТАР
+КРКЉУШ РАДЕ
+КРКЉУШ СЛАВКО
+КРКЉУШ СЛОБОДАН
+КРКЉУШ СТЕВАН
+КРКЉУШ ВЕРИЦА
+КРКОБАБИЋ ИЛИЈА
+КРКОБАБИЋ ВЕРИЦА
+КРКОВИЋ-ЈУПЕК ДУШАНКА
+КРМАР ДУШАН
+КРМАР ЈАСНА
+КРМАР МАРКО
+КРМАР ЗОРА
+КРМПОТ ГОЈКО
+КРМПОТ ЛАЗАР
+КРМПОТИЋ АНЂЕЛКА
+КРМПОТИЋ ВОЈИСЛАВ ДИПЛ ПРАВНИК
+КРМПОТИЋ ВУКИЦА
+КРНЧЕВИЋ АНЂЕЛКА
+КРНАЈАЦ ЖИВАН
+КРНАЈАЦ ИВАН
+КРНАЈАЦ МОМЧИЛО
+КРНАЈАЦ НЕВЕНКА
+КРНАЈАЦ ПЕТАР
+КРНАЈАЦ РАДОВАН
+КРНАЈАЦ ЗЛАТИЦА
+КРНАЈСКИ МИЛОРАД
+КРНДИЈА БОГОЉУБ
+КРНДИЈА БРАНКО
+КРНДИЈА МАРКО
+КРНДИЈА МИЛОВАН
+КРНДИЈА НЕНАД
+КРНДИЈА ПЕТАР
+КРНДИЈА СТАНА
+КРНДИЈА СТЕВО
+КРНДИЈА ВОЈИН
+КРНЕТА БОГДАН
+КРНЕТА ЈЕЛКА
+КРНЕТА МИЛОРАД
+КРНЕТА МИЛОСАВА
+КРНЕТА НИКОЛА
+КРНЕТА РАДЕ
+КРНЕТА СЛОБОДАН
+КРНЕТА СТЕВАН
+КРНЕТИЋ ГОЈКО
+КРНЕТИЋ ЈОВАН
+КРНИЋ АНА
+КРНИЋ ПЕРА
+КРНИЋ РАДОЈКА
+КРНИЋ СТЕВАН
+КРНИЋ СТИПО
+КРНИЈА МАРИНКО
+КРЊАИЋ ДРАГО
+КРЊАИЋ ГОРАН
+КРЊАИЋ ЈЕЛИСАВЕТА
+КРЊАЈИЋ ДУШАНКА
+КРЊАЈИЋ ИЛИЈА
+КРЊАЈИЋ ИВИЦА
+КРЊАЈИЋ ЈОВАН
+КРЊАЈИЋ МИЛОШ
+КРЊАЈИЋ МИРОСЛАВ
+КРЊАЈИЋ РАДОМИР
+КРЊЕШЕВАЦ САВА
+КРЊЕТА ЛЕПОСАВА
+КРЊЕТА НОВАК
+КРЊЕТИН ЖИВКО
+КРЊЕТИН БРАНКО
+КРЊЕТИН ДРАГАН
+КРЊЕТИН ЈОВАН
+КРЊЕТИН КАТИЦА
+КРЊЕТИН МАЈА
+КРЊЕТИН МИКА
+КРЊЕТИН САВА
+КРЊИЋ ИВАН
+КРЊУЛАЦ ДУШАН
+КРНОЈЕЛАЦ ДАНИЛО
+КРОШЛАК СТЕВАН
+КРОМБХОЛЦ ЕМИЛ
+КРОМХОЛЦ КАРЛО
+КРОМПИЋ ЉИЉАНА ПРОФЕСОР
+КРОМПИЋ ЉУБИЦА
+КРОМПИЋ МИЛАН
+КРОМПИЋ СТАНКО
+КРОНАВЕТЕР АЛФРЕД
+КРОНИЋ ЛАЗАР
+КРОНИЋ МИЛЕНКО
+КРОЊА ИВАН
+КРОЊА ИВАН
+КРОЊА МИЛАНКА
+КРОПШ ХИЛДА
+КРОПАЧЕК ИВАН
+КРОПФ АНЂЕЛКА
+КРОПФ ФРАЊА
+КРПАН ЖЕЉКО
+КРПАН ИВАН
+КРПАН ЉИЉАНА
+КРПАН МИРКО
+КРПАН СТЕВАН
+КРСМАНОВИЋ БОЖИДАРКА
+КРСМАНОВИЋ БОГДАНКА
+КРСМАНОВИЋ БРАНКО
+КРСМАНОВИЋ ЦВИЈАН
+КРСМАНОВИЋ ЈОВАН
+КРСМАНОВИЋ КРСМАН ДИПЛ ИНГ
+КРСМАНОВИЋ ЛАЗАР
+КРСМАНОВИЋ ЉИЉАНА
+КРСМАНОВИЋ МИЛОШ
+КРСМАНОВИЋ МОМЧИЛО
+КРСМАНОВИЋ ОБРЕН
+КРСМАНОВИЋ САША
+КРСМАНОВИЋ СЛАВОЈКА
+КРСМАНОВИЋ СРЕТЕН
+КРСМАНОВИЋ ВАСА
+КРСНИК ЈОН
+КРСНИК МАРИЈА
+КРСТАЈИЋ МИЛОЈИЦА
+КРСТАЈИЋ ПЕРКО
+КРСТАНОВИЋ ЦВИЈО
+КРСТАНОВИЋ ДРАГОМИР
+КРСТАНОВИЋ ФРАЊА
+КРСТАНОВИЋ ИВАНКА
+КРСТАНОВИЋ КОСТА
+КРСТАНОВИЋ МОМЧИЛО
+КРСТАНОВИЋ ПЕТАР
+КРСТЕКАНИЋ ЧЕДОМИР
+КРСТЕКАНИЋ АНА
+КРСТЕКАНИЋ КРИСТИНА
+КРСТЕКАНИЋ РАТОМИР
+КРСТЕВСКИ ДРАГОСЛАВ
+КРСТЕВСКИ СТАНИСЛАВ
+КРСТИЋ-ШТИМАЦ СПАСЕНИЈА ДР
+КРСТИЋ ЖАРКО
+КРСТИЋ ЖИВАН
+КРСТИЋ ЖИВКО
+КРСТИЋ ЖИВКО
+КРСТИЋ ЂОРЂЕ
+КРСТИЋ ЂОРЂЕ
+КРСТИЋ ЂОРЂЕ
+КРСТИЋ ЂОРЂЕ
+КРСТИЋ ЂОРЂЕ
+КРСТИЋ ЂОРЂЕ
+КРСТИЋ ЂОРЂЕ
+КРСТИЋ ЂОРЂЕ
+КРСТИЋ ЂОРЂЕ
+КРСТИЋ ЂОРЂЕ
+КРСТИЋ ЂОРЂЕ
+КРСТИЋ ЂОРЂЕ
+КРСТИЋ ЂОРЂЕ
+КРСТИЋ-ЂУРЧЈАНСКИ РУЖЕНКА
+КРСТИЋ АЛЕКСАНДАР ДР
+КРСТИЋ АЛЕКСАНДАР
+КРСТИЋ АЛЕКСАНДАР
+КРСТИЋ АЛЕКСАНДАР
+КРСТИЋ АНДРИЈА
+КРСТИЋ АНИЦА
+КРСТИЋ БОШКО
+КРСТИЋ БОЖИДАР
+КРСТИЋ БОЖИДАР
+КРСТИЋ БОЖИДАР
+КРСТИЋ БОГДАН
+КРСТИЋ БОРИВОЈ
+КРСТИЋ БРАНИСЛАВ
+КРСТИЋ БРАНИСЛАВ
+КРСТИЋ БРАНИСЛАВ
+КРСТИЋ БРАНИСЛАВ
+КРСТИЋ БРАНИСЛАВ
+КРСТИЋ БРАНИСЛАВ
+КРСТИЋ БРАНИСЛАВ
+КРСТИЋ БРАНКА
+КРСТИЋ БРАНКА
+КРСТИЋ БРАНКО
+КРСТИЋ ДАНИЦА
+КРСТИЋ ДЕСАНКА
+КРСТИЋ ДИМИТРИЈЕ
+КРСТИЋ ДОБРИЛА
+КРСТИЋ ДОБРИЛА
+КРСТИЋ ДОБРИНКА
+КРСТИЋ ДОБРОСЛАВ
+КРСТИЋ ДРАГАН
+КРСТИЋ ДРАГИЊА
+КРСТИЋ ДРАГОЉУБ
+КРСТИЋ ДРАГОСЛАВ
+КРСТИЋ ДРАГУТИН
+КРСТИЋ ДУШАН ДИПЛ ИНГ
+КРСТИЋ ДУШАН
+КРСТИЋ ДУШКО
+КРСТИЋ ЕТЕЛКА
+КРСТИЋ ЕВИЦА
+КРСТИЋ ГАВРА
+КРСТИЋ-ГУНЕК МАРИЈА
+КРСТИЋ ИЛИЈА
+КРСТИЋ ИВАН ДР
+КРСТИЋ ЈЕЛЕНА
+КРСТИЋ ЈЕЛЕНА
+КРСТИЋ ЈОРДАН
+КРСТИЋ ЈОВАН
+КРСТИЋ ЈОВАН
+КРСТИЋ ЈОВАН
+КРСТИЋ КАМЕНКО
+КРСТИЋ КАМЕНКО
+КРСТИЋ КАТИЦА
+КРСТИЋ КАТИЦА
+КРСТИЋ КАТИЦА
+КРСТИЋ КОРНЕЛИЈА
+КРСТИЋ ЛАЗАР
+КРСТИЋ ЛАЗАР
+КРСТИЋ ЉИЉАНА
+КРСТИЋ ЉИЉАНА
+КРСТИЋ ЉУБИША
+КРСТИЋ ЉУБИША
+КРСТИЋ ЉУБИЦА
+КРСТИЋ ЉУБИНКА
+КРСТИЋ ЉУБИСАВ
+КРСТИЋ ЉУБОМИР
+КРСТИЋ ЉУБОМИР
+КРСТИЋ ЉУБОМИР
+КРСТИЋ ЉУБОМИР
+КРСТИЋ ЉУБОМИР
+КРСТИЋ МАРИЈА
+КРСТИЋ МАРИЈА
+КРСТИЋ МАРИЈА
+КРСТИЋ МАРКО
+КРСТИЋ МИЛАДИН
+КРСТИЋ МИЛАН
+КРСТИЋ МИЛАН
+КРСТИЋ МИЛАН
+КРСТИЋ МИЛЕНКО
+КРСТИЋ МИЛЕНКО
+КРСТИЋ МИЛИЦА
+КРСТИЋ МИЛИЦА
+КРСТИЋ МИЛИЦА
+КРСТИЋ МИЛИЦА
+КРСТИЋ МИЛИЦА
+КРСТИЋ МИЛОШ
+КРСТИЋ МИЛОШ
+КРСТИЋ МИЛОЈКО
+КРСТИЋ МИЛОРАД
+КРСТИЋ МИЛОРАД
+КРСТИЋ МИЛОРАД
+КРСТИЋ МИЛОРАД
+КРСТИЋ МИЛОВАН
+КРСТИЋ МИЛОВАН
+КРСТИЋ МИЛОВАН
+КРСТИЋ МИНЧЕ ДИПЛ ИНГ
+КРСТИЋ МИОДРАГ
+КРСТИЋ МИОДРАГ
+КРСТИЋ МИОДРАГ
+КРСТИЋ МИРКО
+КРСТИЋ МИРКО
+КРСТИЋ МИРОЉУБ
+КРСТИЋ МИРОЉУБ
+КРСТИЋ МИРОСЛАВА
+КРСТИЋ МИРОСЛАВА
+КРСТИЋ МИРОСЛАВ
+КРСТИЋ МИТАР
+КРСТИЋ НАДА
+КРСТИЋ НЕБОЈША
+КРСТИЋ НЕНАД
+КРСТИЋ НЕНАД
+КРСТИЋ НИКОЛА
+КРСТИЋ НИКОЛА
+КРСТИЋ НИКОЛА
+КРСТИЋ НОВАК
+КРСТИЋ НОВАК
+КРСТИЋ ПЕТАР ДИПЛ ИНГ
+КРСТИЋ ПЕТАР
+КРСТИЋ ПЕТАР
+КРСТИЋ ПЕТАР
+КРСТИЋ ПЕТАР
+КРСТИЋ ПЕТРУН
+КРСТИЋ РАДИСАВ
+КРСТИЋ РАДИВОЈ
+КРСТИЋ РАДИВОЈ
+КРСТИЋ РАДОЈЕ
+КРСТИЋ РАДОМИР
+КРСТИЋ РАДОМИР
+КРСТИЋ РАДОСАВ
+КРСТИЋ РАДОСЛАВ
+КРСТИЋ РАДОВАН
+КРСТИЋ РАТКО
+КРСТИЋ РАТКО
+КРСТИЋ САВА
+КРСТИЋ САВЕТА
+КРСТИЋ СИНИША
+КРСТИЋ СЛАВИЦА
+КРСТИЋ СЛОБОДАН
+КРСТИЋ СРЂАН
+КРСТИЋ СРЕТЕН
+КРСТИЋ СТАНКО
+КРСТИЋ СТАНОЈЕ
+КРСТИЋ СТЕВАН
+КРСТИЋ СТЕВАН
+КРСТИЋ СТЕВАН
+КРСТИЋ СТЕВАН
+КРСТИЋ СТЕВАН
+КРСТИЋ СТОЈАНКА
+КРСТИЋ СВЕТИСЛАВ
+КРСТИЋ СВЕТИСЛАВ
+КРСТИЋ СВЕТЛАНА
+КРСТИЋ СВЕТЛАНА
+КРСТИЋ СВЕТОЗАР
+КРСТИЋ ТИНКА
+КРСТИЋ УГЉЕША ДР
+КРСТИЋ ВАСА ДР ЛЕКАР
+КРСТИЋ ВАСА
+КРСТИЋ ВАСИЛИЈЕ ДИПЛ ИНГ
+КРСТИЋ ВАСИЛИЈЕ
+КРСТИЋ ВЕЛИМИР
+КРСТИЋ ВЕЉКО
+КРСТИЋ ВЕРА
+КРСТИЋ ВЕРА
+КРСТИЋ ВЕСЕЛИН
+КРСТИЋ ВЛАДА
+КРСТИЋ ВОЈИН
+КРСТИЋ-ВРЖИНА БОСАНКА
+КРСТИЋ ВУКИЦА
+КРСТИЋ ЗОРАН
+КРСТИЋ ЗОРАН
+КРСТИН ЖИВКА
+КРСТИН БРАНКО
+КРСТИН ИВАН
+КРСТИН ЈЕЛКА
+КРСТИН КОСТА
+КРСТИН ЛАЗАР
+КРСТИН МЛАДЕН
+КРСТИН НАТАША
+КРСТИН ПЕТАР
+КРСТИН СЛАВКО
+КРСТИН СТЕВАН
+КРСТИН СВЕТОЗАР
+КРСТИН ВЕРА
+КРСТИН ВЛАДАН
+КРСТИН ЗОРАН
+КРСТИНИЋ ДРАГАН
+КРСТОНОШИЋ ЖИВАН
+КРСТОНОШИЋ БОСИЉКА
+КРСТОНОШИЋ ЈЕЛЕНА
+КРСТОНОШИЋ ЈОВАН
+КРСТОНОШИЋ ЉУБИЦА
+КРСТОНОШИЋ МИЛАНКА
+КРСТОНОШИЋ МИЛЕНКО
+КРСТОНОШИЋ МИЛЕНКО
+КРСТОНОШИЋ МИРОСЛАВ
+КРСТОНОШИЋ НАДА
+КРСТОНОШИЋ НЕСТОР
+КРСТОНОШИЋ ПЕТАР
+КРСТОНОШИЋ ПЕТАР
+КРСТОНОШИЋ СТЕВАН
+КРСТОНОШИЋ ВЕРА
+КРСТОНОШИЋ ВИДА
+КРСТОНОШИЋ ЗЛАТА ДР
+КРСТОНОШИЋ ЗОРА
+КРСТОВСКИ РАДОЈКА
+КРТЕНИЋ БРАНКО
+КРТЕНИЋ ДОБРИЛА
+КРТЕНИЋ ПАВЛЕ
+КРТИНИЋ БОРА
+КРТИНИЋ ДАНЕ
+КРТИНИЋ ДАНЕ
+КРТИНИЋ МИРЈАНА
+КРТИНИЋ МИРКО
+КРТИНИЋ МИРОСЛАВ
+КРТИНИЋ НАДА
+КРТИНИЋ САВА
+КРТИНИЋ СМИЉАНА
+КРТИНИЋ ВЛАДИМИР
+КРУЧИЧАН МИЛАН
+КРУШКА ЂОРЂЕ
+КРУШКА СТЕВАН
+КРУЖЕВИЋ ДЕЈАН
+КРУЖЕВИЋ НЕНАД
+КРУЖЕВИЋ ВЛАДИМИР
+КРУЖЕВИЋ ЗДРАВКО
+КРУЖЕВИЋ ЗОРАН
+КРУЖИЋ АНА
+КРУЉ БРАНИСЛАВА
+КРУЉ МИЛАН
+КРУНИЋ ЖИВАН
+КРУНИЋ ЖИВОРАД
+КРУНИЋ ЂОРЂЕ
+КРУНИЋ ЂОРЂЕ
+КРУНИЋ ЂОРЂЕ
+КРУНИЋ-БЕЛИЋ МИЛАНА
+КРУНИЋ БРАНКО
+КРУНИЋ БРАНКО
+КРУНИЋ БРАНКО
+КРУНИЋ ДАРА
+КРУНИЋ ДРАГОЉУБ
+КРУНИЋ ДРАГОМИР
+КРУНИЋ ГРАДИМИР
+КРУНИЋ ИЛИЈА
+КРУНИЋ ИЛОНКА
+КРУНИЋ ЈЕЛЕНА
+КРУНИЋ ЉУБИША
+КРУНИЋ ЉУБИЦА
+КРУНИЋ ЉУБОМИР
+КРУНИЋ МИЋО
+КРУНИЋ МИКА
+КРУНИЋ МИЛАНКА
+КРУНИЋ МИЛАН
+КРУНИЋ МИЛОШ
+КРУНИЋ НОВАК
+КРУНИЋ ПАВЛЕ
+КРУНИЋ ПЕРИША
+КРУНИЋ ПЛЕМЕНКА
+КРУНИЋ РАДОЈКА
+КРУНИЋ СЛОБОДАН
+КРУНИЋ СОФИЈА
+КРУНИЋ ТОШИЦА
+КРУНИЋ УРОШ
+КРУНИЋ ВЕЛИЧКО
+КРУНИЋ ВЕРИЦА
+КРУНИЋ ЗДРАВКО
+КРУПЕЖЕВИЋ ДАРИНКА
+КРУПЕЖЕВИЋ ПРВОСЛАВ
+КРУПЉАНИН СТАНА
+КРУПЉАНИН ВЕСЕЛА
+КРУТА БОЖАНА
+КРУТА ДРАГАН
+КРВАВАЦ БИСЕРКА
+КРВАВИЦА ДРАЖЕН
+КРВАВИЦА ТОМИСЛАВ
+КРВОПИЋ ОЛГА
+КРЗМАНОВИЋ МАРГАРЕТА
+КРЗНАРИЋ МИЛЕ
+КРЗНАРИЋ ВАЛЕНТИНА
+КУЧ СЛОБОДАН
+КУЧЕРА АЛЕКСАНДАР
+КУЧЕРА СТЕВАН
+КУЧИЋ НИКОЛА
+КУЧМАШ ИРЕНА
+КУЧМАШ НАТАША
+КУЧМАШ НИКОЛА
+КУЧНЕР ЛАДИСЛАВ
+КУШАКОВИЋ СМИЉА
+КУШЛИЋ МИЛАН
+КУШЉАН СЛАВКО
+КУШЉИЋ БОРИСЛАВ
+КУШЉИЋ БОРИСЛАВ
+КУШЉИЋ БОРИС
+КУЋ СТАНКА
+КУЖАТКО АНИЦА
+КУЖАТКО ЕМИЛ
+КУЖАТКО МАРТА
+КУЖАТКО ВЛАДИМИР
+КУЖЕЛКА СИМА
+КУЖЕТИН БОЖА
+КУЖЕТИН ЈЕЛИСАВЕТА
+КУЖЕТИН МАРА
+КУЖЕТИН МИЛАН
+КУЖЕТИН НОВАК
+КУЖЕВСКИ МИЛИВОЈЕ
+КУЖИЋ ДРАГУТИН
+КУЖИЋ МЛАДЕН
+КУЖИЋ МЛАДЕН
+КУЖИЋ ПЕТАР
+КУБАЊИ АНА
+КУБАНОВИ ЗЛАТКО
+КУБАТ МИЛАН ДИПЛ ИНГ
+КУБАТ УРОШ
+КУБАТОВИЋ АНА
+КУБАТОВИЋ ИЛИЈА
+КУБЕЧКА МИЛАН
+КУБЕТ МИЛАН
+КУБИЧЕЛА ПЕТАР
+КУБИЧКО ФЕРЕНЦ
+КУБИЦА СТЈЕПАН
+КУБИЦА ВЕРА
+КУБИК ФРАНЦИШКА
+КУБИЊЕЦ ЈОСИП
+КУБУРИЋ МИЋО
+КУБУРИЋ НОВКА
+КУБУРИЋ СВЕТОЗАР
+КУЦУЛОВИЋ ДАНИЦА
+КУЦУЛОВИЋ ВОЈИСЛАВ
+КУЦУРАЦ ДИМИТРИЈЕ
+КУЦУРАЦ МАРА
+КУЦУРАЦ НАДЕЖДА
+КУЦУРАЦ СТЕВАН
+КУЦУРСКИ ЂУРИЦА
+КУЦУРСКИ ДРАГОМИР
+КУЦУРСКИ РАДИСЛАВ
+КУДИЋ МИЛОСАВА
+КУДИЋ СТЕВА
+КУДРА ДАНИЈЕЛА
+КУДРА ОЛГА
+КУДРА-ЗИКОВИЋ ЉУБИЦА
+КУДРИЋ ДЕСИМИР
+КУГА ЈОВАН
+КУГИЋ ИЛИЈА
+КУГИЋ РАДМИЛА
+КУГИЋ САВКА
+КУГЛИ ИМРЕ
+КУГЛИ ЈОСИП
+КУГЛИ МИХАЈЛО
+КУГЛИ МИХАЉ
+КУГЛИ ПАВАО
+КУГЛИ РОЖИКА
+КУГЛИ СТЕВАН
+КУХАЈДА ШАНДОР
+КУХАЈДА КСЕНИЈА МР
+КУХАЈДА ВЛАДИМИР МР
+КУХАЈДА ЗЛАТА
+КУХАР ЈЕЛЕНА
+КУХАР ЈОВАН
+КУХАР СЛАВИЦА
+КУЈАЧИЋ ДРАГАН
+КУЈОВИЋ НЕДА
+КУЈОВИЋ СОФИЈА
+КУЈУНЏИЋ ЛУЈЗА
+КУЈУНЏИЋ МИОДРАГ
+КУЈУНЏИЋ ТОМАНИЈА
+КУЈУНЏИЋ ВЕРА
+КУКАВИЦА ЈОРДАН
+КУКАВИЦА МИРКО
+КУКАВИЦА РУЖИЦА
+КУКАВСКИ ПАВЛЕ
+КУКИЋ ЖАРКО
+КУКИЋ БРАНКА
+КУКИЋ ДРАГАН
+КУКИЋ ГОЈКО
+КУКИЋ ГОРДАНА
+КУКИЋ ЈЕЛИЦА
+КУКИЋ ЈЕЛКА
+КУКИЋ МИЛАН
+КУКИЋ МИЛОЈКА
+КУКИЋ МИРЈАНА
+КУКИЋ МИРКО
+КУКИЋ НЕБОЈША
+КУКИЋ НИКОЛА
+КУКИЋ ПЕТАР
+КУКИЋ СЛОБОДАН
+КУКИЋ СТЕВАН
+КУКИЋ СВЕТОЗАР
+КУКИЋ ВЕРА
+КУКИЋ ВЛАДИМИР
+КУКИЋ ЗОРАН
+КУКИЋ ЗОРАН
+КУКИЋ ЗВОНИМИР
+КУКИН ЖИВАН
+КУКИН АЛЕКСАНДАР
+КУКИН ДЕЈАН
+КУКИН СМИЉКА
+КУКЛА ИВАН
+КУКОЧ ВИНКО
+КУКОБАТ РАДОВАН
+КУКОЉ ДАНЕ
+КУКОЉ ДРАГАН
+КУКОЉ ДУШКО
+КУКОЉ МИЛКА
+КУКОЉ МИРЈАНА
+КУКОЉ РАДМИЛА
+КУКОЉ РАЈКО
+КУКОВСКИ ЈОВАН
+КУКРИКА БОШКО
+КУКУЧКА ЈАН
+КУКУЧКА МИХАЈЛО
+КУКУЉ ДОБРИЛА
+КУКУРОВ ЈОСИФ
+КУКУРУЗОВИЋ ЈЕЛЕНА
+КУКУРУЗОВИЋ ВЛАДИМИР
+КУЛЧАР ИШТВАН
+КУЛАЧАНИН АНИЦА
+КУЛАЧАНИН БРАНИСЛАВ
+КУЛАЧАНИН МИЛЕНКО
+КУЛАЧАНИН НАДА
+КУЛАЧИЋ ЗВОНИМИР
+КУЛАЧИН ЂУРО
+КУЛАЧИН БУДИМКА
+КУЛАЧИН ДУШАН
+КУЛАЧИН СЛАВКО
+КУЛАЧКИ МИТАР
+КУЛАШ МАРКО
+КУЛАШ СЛОБОДАН
+КУЛАШЕВИЋ ЗЛАТА
+КУЛАШИНОВИЋ АНЂЕЛКА
+КУЛАШИНОВИЋ ДАНИЦА
+КУЛАШИНОВИЋ ДУШИЦА
+КУЛАШИНОВИЋ МИЛАН
+КУЛАШИНОВИЋ МИЛИВОЈ
+КУЛАУЗОВ АРКАДИЈЕ
+КУЛАУЗОВ ЈОВАНКА
+КУЛАУЗОВ МИЛЕНКО ДР
+КУЛЕШЕВИЋ ОЛИВЕРА
+КУЛЕШЕВИЋ ПЕТАР
+КУЛЕШКО ДРАГОСЛАВА
+КУЛЕНОВИЋ АХМЕД
+КУЛЕНОВИЋ ЗОРАН
+КУЛЕВСКИ КАТИЦА
+КУЛЕВСКИ РОЖА
+КУЛЕВСКИ РОЖА
+КУЛИШИЋ НЕДА
+КУЛИШИЋ ОЛГА
+КУЛИШИЋ СЛАВОЉУБ
+КУЛИЋ ДАРИНКА
+КУЛИЋ ЈОВАН
+КУЛИЋ ЈОВО
+КУЛИЋ ЛАЗАР
+КУЛИЋ НЕБОЈША
+КУЛИЋ РАДИВОЈ
+КУЛИЋ ВЛАДИМИР
+КУЛИЏАН ДРАГУТИН
+КУЛИЏАН НЕМАЊА
+КУЛИЏАН ВАСО ДР
+КУЉАЧА ИЛИЈА
+КУЉАЧА ПЕТАР
+КУЉАК МАРИЈА
+КУЉАНЧИЋ ДУШАН
+КУЉАНЧИЋ ЈУЛКА
+КУЉАНЧИЋ МИЛЕНА
+КУЉАНЧИЋ НИКОЛА
+КУЉАНЧИЋ САВО
+КУЉАНЧИЋ ВЕРА
+КУЉАНИН ЈАКОВ
+КУЉАНКИЋ МУРАДИФ
+КУЉАНСКИ ОЛГА
+КУЉАНСКИ СЛАВКО
+КУЉИШ СЛОБОДАН
+КУЉИЋ БИСЕРКА
+КУЉИЋ ДРАГОСЛАВ
+КУЉИЋ ЛАЗАР
+КУЉИЋ ЉУБОМИР
+КУЉИЋ МИРЈАНА
+КУЉИЋ НЕДЕЉКО
+КУЉИЋ НИКОЛА
+КУЉИЋ ПЕТАР
+КУЉИЋ САВО
+КУЉИЋ-СМУЂА МАГДАЛЕНА
+КУЉИЋ ЗДРАВКО
+КУЛКА ГРЕТА
+КУЛПИНЧЕВИЋ ЂОРЂЕ
+КУЛПИНЧЕВИЋ ЈОВО
+КУЛПИНСКИ ДУШАН
+КУЛПИНСКИ МИРЈАНА
+КУЛПИНСКИ СТЕВАН
+КУЛПИНСКИ ВУЈАДИН
+КУМАНОВ ЖИВАН
+КУМАНОВ БОЖИДАР
+КУМАНОВИЋ МИОДРАГ
+КУМАЗЕЦ ЛАЗА
+КУМОВИЋ БРАНКА
+КУМОВИЋ МИЛИЦА
+КУМОВИЋ САВО
+КУН ЂУРА
+КУН АЛЕКСАНДАР
+КУН БЕЛА
+КУН ДАНИЦА
+КУН ЕДИТА
+КУН ЕРНЕ
+КУН ЛАСЛО
+КУН СТЕВАН
+КУНЧАКОВА МАРИЈА
+КУНАРАЦ АНИЕЛА
+КУНДАЧИНА ЈОВО
+КУНДАЧИНА РАДОВАН
+КУНДАЧИНА САВО
+КУНИЋ ЂОРЂЕ
+КУНИЋ ГОРДАНА
+КУНИЋ ВЕСЕЛИНКА
+КУНОСИЋ НЕЏАД
+КУНОСИЋ ОСМАН
+КУНОВАЦ ЉУБО
+КУНСТ ИРЕН
+КУНСТМАН АНАСТАСИЈА
+КУПЕК ЖЕЉКА
+КУПЕК ЗОРИЦА
+КУПИРОВИЋ СОФИЈА
+КУПРЕШАК ДАНИЛО
+КУПРЕШАК ВИДА
+КУПРЕШАНИН БИЉАНА
+КУПРЕШАНИН ИЛИЈА
+КУПРЕШАНИН МИЛЕ ДИПЛ ИНГ
+КУПРЕШКИ ЈОЦА
+КУПРЕШКИ ВЕРА
+КУПУСАРЕВИЋ БРАНИСЛАВ
+КУПУСИНАЦ БРАНИСЛАВ
+КУПУСИНАЦ ВЕЉКО
+КУРЧУБИЋ ДРАГИЋ
+КУРЧУБИЋ МЕЛАНИЈА
+КУРШУМОВИЋ АВДУЛАХ
+КУРАЈИЋ ЈОВАН
+КУРАН ИВАН
+КУРАЊИ ЈАН
+КУРАЊИ ЈАН
+КУРБАЛИЈА ЂОРЂЕ
+КУРБАЛИЈА ДАНИЦА
+КУРБАЛИЈА ЈОВАН
+КУРБАЛИЈА ЛАЗАР
+КУРБАЛИЈА МИРЈАНА
+КУРБАТФИНСКИ ФЕЂА ДИПЛ ИНГ
+КУРБАТФИНСКИ ИВАН
+КУРБАТФИНСКИ СЛАВКО
+КУРБАТФИНСКИ ВЛАДИМИР
+КУРБАТВИНСКИ ДИНА
+КУРБАТВИНСКИ ИВАН
+КУРБАТВИНСКИ СТЕВАН
+КУРБАТВИНСКИ ЗОРА
+КУРЦИНАК ЕМИЛ
+КУРЦИНАК ИМРЕ
+КУРЦИНАК ЈОСИП
+КУРЦИНАК ЛАЈОШ
+КУРЦИНАК ПАВЛЕ
+КУРЦИНАК СТЕВАН
+КУРЦИНАК ВЕСНА
+КУРДИ АМАЛИЈА
+КУРДОВСКИ МИТАР
+КУРДУЛИЋ МИЛОШ
+КУРЕШЕВИЋ РАЦКО
+КУРЕШЕВИЋ САВО
+КУРЕКАШ МИТАР
+КУРЕПА ВАСА
+КУРИШ ШТЕФАН
+КУРИЏА БОГДАН
+КУРИЏА ДУШАН
+КУРИЈ ТОМИСЛАВ
+КУРИЈА ВЕЉКО
+КУРИКША АНТОНИНА
+КУРИЛА ЈАНОШ
+КУРИЛИЋ ЈОВО
+КУРИЛИЋ МИЛАН
+КУРИЛИЋ МИЛОШ
+КУРИЛИЋ МИРОСЛАВ
+КУРИН ЂОРЂЕ
+КУРИН ЈОСИП
+КУРЈАЧКИ ЖИВКО
+КУРЈАЧКИ ЂОРЂЕ
+КУРЈАЧКИ ЂУРЂИНА
+КУРЈАЧКИ АНКИЦА
+КУРЈАЧКИ ДАНИЦА
+КУРЈАЧКИ ЈОВАН
+КУРЈАЧКИ МИХАЈЛО
+КУРЈАЧКИ МИЛАН
+КУРЈАЧКИ МИЛЕВА
+КУРЈАЧКИ МИЛЕВА
+КУРЈАЧКИ МИЛИЦА
+КУРЈАЧКИ МИЛИВОЈ
+КУРЈАЧКИ МИОДРАГ
+КУРЈАЧКИ МИРЈАНА
+КУРЈАЧКИ МИРЈАНА
+КУРЈАЧКИ СРЕДОЈЕ
+КУРЈАЧКИ СТАНКО
+КУРЈАЧКИ СТЕВАН
+КУРЈАЧКИ СВЕТОЗАР
+КУРЈАЧКИ ЗОРА
+КУРЈАКОВ ЂОРЂЕ
+КУРЈАКОВ ДАНИЛО
+КУРЈАКОВ ДРАГАН
+КУРЈАКОВ МИЛАН
+КУРЈАКОВ МИЛИВОЈ
+КУРЈАКОВ РОКСАНДА
+КУРЈАКОВ ВИКТОРИЈА
+КУРС ЂОРЂЕ
+КУРТА АЗИС
+КУРТЕШ ЈАСНА
+КУРТЕШ ЛАЗАР
+КУРТЕШ МАРА
+КУРТЕШ СВЕТКО
+КУРТЕШИ ФУАТ
+КУРТЕШИ НУСРЕТ
+КУРТЕШИ ЗЕНУН
+КУРТИ МУСТАФА
+КУРТИ НЕЗИР
+КУРТИШЕВИЋ НАСУФ
+КУРТИЋ АЛЕКСАНДАР
+КУРТИЋ БРАНИСЛАВА
+КУРТИЋ МИЛОВАН
+КУРТИНОВИЋ ПРЕДРАГ
+КУРТОВИЋ АНА
+КУРТОВИЋ ИВАН
+КУРТУШИЋ ИВАНКА
+КУРУЧЕВ МАРИЈА
+КУРУЧЕВ МИРЈАНА
+КУРУЧЕВ СЛОБОДАН
+КУРУЧКИ КАМЕНКО
+КУРУЧКИ ВЛАДИМИР
+КУРУЧКИ ЗЛАТИМИР
+КУРУШИЋ БОРО
+КУРУЦ ЂУЛА
+КУРУЦ ЂУЛА
+КУРУЦ ИГНАЦ
+КУРУЦ ИРЕНА
+КУРУЦ ЈАНОШ
+КУРУЦ ЈОВО
+КУРУЦ ЛАЈОШ
+КУРУЦ ЛАСЛО
+КУРУЦ НАНДОР
+КУРУЦ ТИБОР
+КУРУЦ ВИНКА
+КУРУЦА БОЖА
+КУРУЦА ЈОВАН
+КУРУЦИЋ ДРАГАН
+КУРУЦИЋ ЉУБИЦА
+КУРУЦИЋ СИНИША
+КУРУЦИЋ ВИТОМИР
+КУРУЦИН ЖИВАНА
+КУРУНЦИ АНДРИЈА
+КУРУНЦИ ЈОЖЕФ
+КУРУНЦИ ЈОЖЕФ
+КУРУНЦИ МАРИЈА
+КУРУЗОВИЋ ТАТЈАНА
+КУСИЋ СРЕТКО
+КУСЛИ ФЕРЕНЦ
+КУСЛИ ГЕЗА
+КУСМУК ДАРИНКА
+КУСТИЋ СОФИЈА
+КУСТУДИЈА ДАНИЦА
+КУСТУДИЈА МИРОСЛАВ
+КУСТУДИЈА СЛОБОДАН
+КУСТУРИЋ НИКОЛА
+КУСТУРИЋ СЕЛИМИР
+КУСТУРИЦА ХАСАН
+КУСТУРИЦА НАЗИФ
+КУСТУРИН АНТУН
+КУСТУРИН МИРЈАНА
+КУСУРОВИЋ АНКИЦА
+КУТИЈЕВАЦ ЉУБИЦА
+КУТЛАЧА МАРКО
+КУТЛЕШИЋ ЉУБИША
+КУТЛЕШИЋ ЉУБИША
+КУТРИ КАРЛО
+КУТРИ КАРОЉ
+КУТРИ СТЕВАН
+КУТРИЧКИ ЗОРАН
+КУТУЗОВ МИЛОРАД
+КУТУЗОВ МИРОСЛАВ
+КУВАЉ СТЕВАН
+КУВАЉА ДРАГАН
+КУВАЉА ДРАГОЉУБ
+КУВАЉА КАТИЦА
+КУВАЉА ОСТОЈА
+КУВЕКАЛОВИЋ РАДОСЛАВ
+КУВЕКАЛОВИЋ СТРАИН
+КУВЕЉИЋ ЖАРКО
+КУВЕЉИЋ ЉИЉАНА
+КУВЕЉИЋ РАДИВОЈЕ
+КУВЕЉИЋ РАДОМАН
+КУВИЗИЋ ЖИВОЈИН
+КУВИЗИЋ ЖИВОЈИН
+КУЗЕВСКИ ДРАГАН
+КУЗМАН АНКА
+КУЗМАН БОГДАН
+КУЗМАН БОГДАН
+КУЗМАН БОРИСЛАВ
+КУЗМАН ДИМИТРИЈЕ
+КУЗМАН ДРАГАН
+КУЗМАН МИЛАН
+КУЗМАН МИЛОВАН
+КУЗМАН МИРКО
+КУЗМАН НАДА
+КУЗМАН НАДА
+КУЗМАН НАДА
+КУЗМАН НАДЕЖДА
+КУЗМАН ПЕТАР
+КУЗМАН РИСТО
+КУЗМАН СЛАВИЦА
+КУЗМАНЧЕВ АЛЕКСАНДАР
+КУЗМАНЧЕВ ДИМИТРИЈЕ
+КУЗМАНЧЕВ ДУШАН
+КУЗМАНЧЕВ ОЛИВЕРА ДР
+КУЗМАНЧЕВ ТИМОШЕНКО
+КУЗМАНОВ БОРИСЛАВ
+КУЗМАНОВ МАРИЈА
+КУЗМАНОВ ОБРАД
+КУЗМАНОВ ОБРАД
+КУЗМАНОВ РАДОШ ДИПЛ ИНГ
+КУЗМАНОВ РАДОСЛАВ
+КУЗМАНОВ САВА
+КУЗМАНОВ СЛАВКО
+КУЗМАНОВ СВЕТИСЛАВ
+КУЗМАНОВ ТАНАСИЈЕ
+КУЗМАНОВ ЗОРАН
+КУЗМАНОВИЋ ЧЕДОМИР
+КУЗМАНОВИЋ ЖИВОЈИН
+КУЗМАНОВИЋ ЂОРЂЕ
+КУЗМАНОВИЋ ЂУРА
+КУЗМАНОВИЋ АЛЕКСАНДАР
+КУЗМАНОВИЋ АНГЕЛИНА
+КУЗМАНОВИЋ БОШКО
+КУЗМАНОВИЋ БОГДАН
+КУЗМАНОВИЋ БОГДАН
+КУЗМАНОВИЋ БОРИСЛАВ
+КУЗМАНОВИЋ БРАНИСЛАВА
+КУЗМАНОВИЋ БРАНИСЛАВ
+КУЗМАНОВИЋ ДАНИЦА
+КУЗМАНОВИЋ ДАРИНКА
+КУЗМАНОВИЋ ДЕЈАН
+КУЗМАНОВИЋ ДРАГИЊА
+КУЗМАНОВИЋ ДРАГОМИР
+КУЗМАНОВИЋ ДРАГУТИН
+КУЗМАНОВИЋ ДРАГУТИН
+КУЗМАНОВИЋ ДУШАН
+КУЗМАНОВИЋ ДУШАН
+КУЗМАНОВИЋ ДУШАН
+КУЗМАНОВИЋ ДУШКО
+КУЗМАНОВИЋ ГОРАН
+КУЗМАНОВИЋ ЈЕЛЕНА
+КУЗМАНОВИЋ ЈОВАН
+КУЗМАНОВИЋ ЈОВАН
+КУЗМАНОВИЋ КАТА
+КУЗМАНОВИЋ ЛАЗАР
+КУЗМАНОВИЋ ЛАЗАР
+КУЗМАНОВИЋ ЛАЗО
+КУЗМАНОВИЋ ЛЕНКА
+КУЗМАНОВИЋ ЉИЉАНА
+КУЗМАНОВИЋ ЉУБИША
+КУЗМАНОВИЋ ЉУБИЦА
+КУЗМАНОВИЋ ЉУБИЦА
+КУЗМАНОВИЋ ЉУБИЦА
+КУЗМАНОВИЋ ЉУБОМИР
+КУЗМАНОВИЋ МИЛАН
+КУЗМАНОВИЋ МИЛАН
+КУЗМАНОВИЋ МИЛЕНА
+КУЗМАНОВИЋ МИЛЕНКО
+КУЗМАНОВИЋ МИЛЕ
+КУЗМАНОВИЋ МИЉОЈКО ДИПЛ ИНГ
+КУЗМАНОВИЋ МИЛОШ
+КУЗМАНОВИЋ МИЛОШ
+КУЗМАНОВИЋ МИЛОШ
+КУЗМАНОВИЋ МИЛОШ
+КУЗМАНОВИЋ МИОДРАГ
+КУЗМАНОВИЋ МИРЈАНА
+КУЗМАНОВИЋ МЛАДЕН
+КУЗМАНОВИЋ НАДА
+КУЗМАНОВИЋ НАДЕЖДА
+КУЗМАНОВИЋ НЕНАД
+КУЗМАНОВИЋ НЕВЕНА
+КУЗМАНОВИЋ НИКОЛА
+КУЗМАНОВИЋ НИКОЛА
+КУЗМАНОВИЋ ПАЈА
+КУЗМАНОВИЋ ПЕТАР
+КУЗМАНОВИЋ ПЕТАР
+КУЗМАНОВИЋ ПРЕДРАГ
+КУЗМАНОВИЋ РАДИВОЈ
+КУЗМАНОВИЋ РАДИВОЈ
+КУЗМАНОВИЋ РАДОЈКО
+КУЗМАНОВИЋ РАДОСАВ
+КУЗМАНОВИЋ РАДОСЛАВ
+КУЗМАНОВИЋ РАЈКО
+КУЗМАНОВИЋ СЛАВКО
+КУЗМАНОВИЋ СЛАВКО
+КУЗМАНОВИЋ СЛОБОДАН
+КУЗМАНОВИЋ СЛОБОДАН
+КУЗМАНОВИЋ СЛОБОДАН
+КУЗМАНОВИЋ СПОМЕНКА
+КУЗМАНОВИЋ СТОЈАН
+КУЗМАНОВИЋ СТОЈАН
+КУЗМАНОВИЋ ТОДОР
+КУЗМАНОВИЋ ТОДОР
+КУЗМАНОВИЋ ВАСИЛИЈЕ
+КУЗМАНОВИЋ ВАСИЛИЈЕ
+КУЗМАНОВИЋ ВЕРА
+КУЗМАНОВИЋ ВЕРА
+КУЗМАНОВИЋ ВЛАСТИМИР
+КУЗМАНОВИЋ ВОЈИСЛАВ
+КУЗМАНОВИЋ ЗДРАВКО
+КУЗМАНОВИЋ ЗОРАН
+КУЗМАНОВИЋ ЗОРА
+КУЗМАНОВСКИ БЛАГОЈА
+КУЗМАНОВСКИ ЦВЕТА
+КУЗМАНОВСКИ ДУШАН
+КУЗМАНОВСКИ МИЛЕ
+КУЗМАНОВСКИ ПЕРЕ
+КУЗМАНОВСКИ РАДОЈКА
+КУЗМАНОВСКИ ТАСЕ
+КУЗМАНОВСКИ ТРАЈЧЕ
+КУЗМИЋ МИЛКА
+КУЗМИЋ ЗВОНКО
+КУЗМИНАЦ БОРИСЛАВ
+КУЗМИНАЦ ГОРДАНА
+КУЗМИНАЦ ПЕТАР
+КУЗМИНАЦ ПРЕДРАГ
+КУЗМИНАЦ РАДОСЛАВ
+КВАШЧЕВ ЈОВАН
+КВАШЧЕВ МИРА
+КВАШЧЕВ РАДИВОЈ
+КВАИЋ ЂОРЂЕ
+КВАИЋ ДУШАН
+КВАИЋ ЈЕЛЕНА
+КВАИЋ МИЛЕВА
+КВРГИЋ БОШКО
+КВРГИЋ МИЛАН
+КВРГИЋ ПЕТАР
+КВРГИЋ РАДОВАН
+КВРГИЋ САВО
+КВРГИЋ ТОМИСЛАВ
+ЛАЧАНСКИ ДЕСАНКА
+ЛАЧОК КАРЛО
+ЛАЧОК КАРОЉ
+ЛАШКОВ ИГОР ДИПЛ ИНГ
+ЛАЋАК ЂУРА
+ЛАЋАК МИХАЉ
+ЛАЋАНСКИ ВОЈИСЛАВ
+ЛАЋАРАЦ ЖАРКО
+ЛАЋАРАЦ БИЉАНА
+ЛАЋАРАЦ БОРИСЛАВ
+ЛАЋАРАЦ ДОБРИВОЈЕ
+ЛАЋАРАЦ ЈОВАН
+ЛАЋАРАЦ МАКСИМ
+ЛАЋАРАЦ НИКОЛА
+ЛАЋАРАЦ НИКОЛА
+ЛАЋАРАЦ НИКОЛА
+ЛАЋАРАЦ ТЕОДОР
+ЛАЋАРАЦ ВЕРА
+ЛАЋАРАК ЖАРКО
+ЛАЋАРАК ЛАЗАР
+ЛАЋАРАК ЛАЗА
+ЛАЋАРАК МИЛОШ
+ЛАЋАРАК МЛАДЕН
+ЛАЋАРАК ОГЊАНКА
+ЛАЖЕГИЋ НЕВЕНКА
+ЛАЖЕТИЋ АЛЕКСАНДАР
+ЛАЖЕТИЋ МАРИЈА ДР
+ЛАЂЕВАЦ ДУШАН
+ЛАЂЕВИЋ ДРАГАН
+ЛАЂЕВИЋ ГОЈКО
+ЛАЂЕВИЋ ЈОВАН
+ЛАЂИНОВИЋ ЖИКА
+ЛАЂИНОВИЋ ЗЛАТКО
+ЛАБАШ ИВАН
+ЛАБАДИ ЈОЖЕФ
+ЛАБАН ЈУЛКА
+ЛАБАН МИРКО
+ЛАБАТ АНА
+ЛАБАТ АНКА
+ЛАБАТ ЈАН
+ЛАБАТ КВЕТОСЛАВА
+ЛАБАТ РУЖЕНА
+ЛАБАТ СТЕВАН
+ЛАБАТ ВЕРА
+ЛАБАТ ВЛАДИМИР
+ЛАБАТ ВЛАДИСЛАВ
+ЛАБАВИЋ ИВАН
+ЛАБОВИЋ БОЖИДАР
+ЛАБОВИЋ МАНОЈЛО
+ЛАБРОВИЋ МИРКО
+ЛАБУДОВИЋ БОРИС
+ЛАБУДОВИЋ ХЕЛЕНА
+ЛАБУДОВИЋ РОЗАЛИЈА
+ЛАБУДОВИЋ ВЛАДИМИР
+ЛАБУС ЂУРО
+ЛАБУС БОЖИДАР
+ЛАБУС БРАНКО
+ЛАБУС ИЛИЈА
+ЛАБУС ЈОВАН
+ЛАБУС ЉУБОМИР
+ЛАБУС МАКЕДОНКА
+ЛАБУС МИЛАН
+ЛАБУС МИЛАН
+ЛАБУС МИЛАН
+ЛАБУС МИЛАН
+ЛАБУС МИЛЕ
+ЛАБУС НИКОЛА
+ЛАБУС СЛАВКО
+ЛАЦИК ЈАНОШ
+ЛАЦИК СЛАВИЦА
+ЛАЦКО МИХАЈЛО
+ЛАЦКОВИЋ ДРАГИША
+ЛАЦКОВИЋ ЈОСИП
+ЛАЦКОВИЋ РАДЕ
+ЛАЦКОВИЋ РАДОВАН
+ЛАЦКОВИЋ СОФИЈА
+ЛАЦКОВИЋ СТАНИМИР
+ЛАЦКОВИЋ ЗЛАТКО
+ЛАЦКОВИЋ ЗОРАН
+ЛАЦМАНОВИЋ МИОДРАГ
+ЛАЦМАНОВИЋ СЛАВОЈКА
+ЛАДАР МИЛОШ
+ЛАДАР СТЕВАН
+ЛАДИ ИШТВАН
+ЛАДИ ЛАЈОШ
+ЛАДИ МАРИЈА
+ЛАДИШИЋ АНТОН
+ЛАДИШИЋ ГУСТАВ
+ЛАДИШИЋ ЈЕЛИСАВЕТА
+ЛАДИШИЋ ЈОСИП
+ЛАДИШИЋ МИРКО
+ЛАДИШИЋ НИКОЛА
+ЛАДИШИЋ СТЕВАН
+ЛАДИК ШАНДОР
+ЛАДИК ФЕРЕНЦ
+ЛАДИК КАТАЛИН
+ЛАДИК КАТАЛИН
+ЛАДИК МАРГИТА
+ЛАДИК МИРЈАНА
+ЛАДИКА БЛАЖ
+ЛАДОЦКИ АНДРИЈА
+ЛАДОЛЕЖ ЕРЖЕБЕТ
+ЛАДОЛЕЖ МИЛАДИН
+ЛАГУМЏИЈА ХАМИД
+ЛАГУМЏИЈА МИЛЕНА
+ЛАГУНЏИН ДРАГАН
+ЛАГУНЏИН ДРАГАН
+ЛАГУНЏИН ДРАГАН
+ЛАГУНЏИН СВЕТОЗАР
+ЛАГУНЏИН ЗОРАН
+ЛАХАРНАР ЛУЦИЈА
+ЛАХОШ ЂОРЂЕ
+ЛАХОШ АНДРИЈА
+ЛАХОШ ИШТВАН
+ЛАИНОВИЋ АЛЕКСА
+ЛАИНОВИЋ БОРИСЛАВ
+ЛАИНОВИЋ РАНКО
+ЛАЈШИЋ СТЕВАН
+ЛАЈШИЋ ЗОРКА
+ЛАЈХ МАРИЈА
+ЛАЈХТНЕР АНТАЛ
+ЛАЈХТНЕР ФРАЊА
+ЛАЈХТНЕР НИКОЛА ДИПЛ ИНГ
+ЛАЈИЋ ШТЕФКА
+ЛАЈИЋ БРАНКО
+ЛАЈИЋ ДРАГАН
+ЛАЈИЋ ДРАГОЉУБ
+ЛАЈИЋ ЉИЉАНА
+ЛАЈИЋ МИРКО
+ЛАЈИЋ РАЈКО
+ЛАЈИЋ СТАНА
+ЛАЈИЋ ЗДРАВКО
+ЛАЈКО ШАНДОР
+ЛАЈКО ЈОСИП
+ЛАЈКО ЛАЈОШ ДИПЛ ИНГ
+ЛАЈКО МАРИЈА
+ЛАЈКО СТЕВАН
+ЛАЈКО ВЕРА
+ЛАЈОШ ЛАСЛО
+ЛАЈТЕР ЕЛЗА
+ЛАЈТЕР ГИЗЕЛА
+ЛАЈТЕР ИВАН
+ЛАЈТИХ СИГФРИД
+ЛАКАТОШ АМАЛИЈА
+ЛАКАТОШ АНА
+ЛАКАТОШ АНДРАШ
+ЛАКАТОШ ДРАГИЦА
+ЛАКАТОШ ГИЗА
+ЛАКАТОШ ИМРЕ
+ЛАКАТОШ ИМРЕ
+ЛАКАТОШ ИМРЕ
+ЛАКАТОШ ЈАСМИНКА
+ЛАКАТОШ ЈЕЛЕНА
+ЛАКАТОШ ЛАЈОШ
+ЛАКАТОШ МИХАЈЛО
+ЛАКАТОШ МИЛИЦА
+ЛАКАТОШ НАДА
+ЛАКАТОШ ПАВЛЕ
+ЛАКАТОШ СТЕВАН
+ЛАКАТОШ ТИБОР
+ЛАКАТОШ ВЕРА
+ЛАКАТОШ ВИЛМОШ
+ЛАКАТОШ ЗОЛТАН
+ЛАКАТОШ ЗОЛТАН
+ЛАКАТУШ БРАНИСЛАВ
+ЛАКЕТА БОЖО
+ЛАКЕТИЋ ЉУБОМИР
+ЛАКЕТИЋ МИЛАН
+ЛАКЕТИЋ МИЛИВОЈ
+ЛАКИЧЕВИЋ НАДА
+ЛАКИЧЕВИЋ-СТОЈАЧИЋ СНЕЖАНА
+ЛАКИЋ АНЂА
+ЛАКИЋ АНЂЕЛКА
+ЛАКИЋ БОГОСАВ
+ЛАКИЋ БРАНКО ДР ЛЕКАР
+ЛАКИЋ БРАНКО
+ЛАКИЋ БРАНКО
+ЛАКИЋ ДАНИЛО
+ЛАКИЋ ИЛИЈА
+ЛАКИЋ ЈОЛАН
+ЛАКИЋ МАРКО
+ЛАКИЋ МИРА
+ЛАКИЋ МИРЈАНА
+ЛАКИЋ МЛАДЕН
+ЛАКИЋ МОМИР
+ЛАКИЋ НИКОЛА
+ЛАКИЋ РАДИВОЈЕ
+ЛАКИЋ РАДИВОЈ
+ЛАКИЋ РАДИВОЈ
+ЛАКИЋ РАДМИЛА
+ЛАКИЋ РАЈКО
+ЛАКИЋ САВА ДР
+ЛАКИЋ СЛОБОДАН
+ЛАКИЋ СМИЉА
+ЛАКИЋ СПАСОЈЕ
+ЛАКИЋ СРЂАН
+ЛАКИЋ СРЂАН
+ЛАКИЋ СРЂАН
+ЛАКИЋ СТЕВАН
+ЛАКИЋ СВЕТИСЛАВ
+ЛАКИЋ ТОМИСЛАВ
+ЛАКИЋ ВЕЛИМИР
+ЛАКИЋ ВЕСНА
+ЛАКИЋ ВУЧЕТА
+ЛАКИЋ ЗОРИЦА
+ЛАКИЋЕВИЋ МИЛИЈА
+ЛАКИЋЕВИЋ СВЕТЛАНА
+ЛАКИЋЕВИЋ ВАСО
+ЛАКИЋЕВИЋ ВЕСНА
+ЛАКИЋЕВИЋ ВУКСАН ДР
+ЛАКЛИЈА СТЕВАН
+ЛАКО МАРИЈА
+ЛАКОБРИЈА ДРАГАН
+ЛАКОБРИЈА ДУШАН
+ЛАКОБРИЈА ИЛИЈА
+ЛАКОБРИЈА ЈЕЛЕНА
+ЛАКОБРИЈА МИЛАН
+ЛАКОБРИЈА МИЛАН
+ЛАКОБРИЈА МИЛОШ
+ЛАКОБРИЈА МИЛОШ
+ЛАКОБРИЈА НИКОЛА
+ЛАКОВИЋ БУДИМИР
+ЛАКОВИЋ ДУШКО
+ЛАКОВИЋ МИЛИЋ
+ЛАКОВИЋ МИЛОРАД
+ЛАКОВИЋ ПЕТАР
+ЛАКОВИЋ РОЗАЛИЈА
+ЛАКОВИЋ ВАСИЉКА
+ЛАЛАТОВИЋ ДЕСАНКА
+ЛАЛАТОВИЋ ДРАГУТИН
+ЛАЛАТОВИЋ СЛОБОДАНКА
+ЛАЛАТОВИЋ ВАСИЛИЈЕ
+ЛАЛИЧИЋ ВЕЛИМИР
+ЛАЛИЋ ЖИВА
+ЛАЛИЋ ЂОРЂЕ
+ЛАЛИЋ АНКИЦА
+ЛАЛИЋ АРКАДИЈЕ
+ЛАЛИЋ БОГДАН
+ЛАЛИЋ ГЛИГОРИЈЕ
+ЛАЛИЋ ГОЈКО
+ЛАЛИЋ ГОРДАНА
+ЛАЛИЋ ИКОНИЈА
+ЛАЛИЋ ЈАГОДА
+ЛАЛИЋ ЈУЛИЈАНА
+ЛАЛИЋ ЈУЛКА
+ЛАЛИЋ ЉУБОМИР
+ЛАЛИЋ МАРИЈА
+ЛАЛИЋ МИЛАДИНКА
+ЛАЛИЋ МИЛАН
+ЛАЛИЋ МИЛИЦА
+ЛАЛИЋ МИРКО
+ЛАЛИЋ НЕНАД
+ЛАЛИЋ НИКОЛА
+ЛАЛИЋ РАДОМИР ДР
+ЛАЛИЋ СРЕДОЈЕ
+ЛАЛИЋ ТАМАРА
+ЛАЛИЋ ТОДОР
+ЛАЛИЋ УГЉЕША
+ЛАЛИЋ ВАСИЛИЈЕ
+ЛАЛИН АЛЕКСАНДАР
+ЛАЛИН МИЛАН
+ЛАЛОШЕВИЋ АЛЕКСАНДАР
+ЛАЛОШЕВИЋ АЛЕКСАНДАР
+ЛАЛОШЕВИЋ ДИМИТРИЈЕ
+ЛАЛОШЕВИЋ ДУШАН
+ЛАЛОШЕВИЋ ДУШКО
+ЛАЛОШЕВИЋ ФЕМКА
+ЛАЛОШЕВИЋ ЈЕЛИСАВЕТА
+ЛАЛОШЕВИЋ ЈОВАН
+ЛАЛОШЕВИЋ КАТИЦА
+ЛАЛОШЕВИЋ ЛАЗАР
+ЛАЛОШЕВИЋ МАРА
+ЛАЛОШЕВИЋ МИКА
+ЛАЛОШЕВИЋ СТЕВАН
+ЛАЛОШЕВИЋ СТЕВА
+ЛАЛОШЕВИЋ ВАСА
+ЛАЛОШЕВИЋ ВЛАДИМИР
+ЛАЛОШЕВИЋ ВЛАДИМИР
+ЛАЛОВИЋ ЈАНКО
+ЛАЛОВИЋ МАРКО
+ЛАЛОВИЋ МИРЈАНА
+ЛАЛОВИЋ НАДА
+ЛАЛОВИЋ РАДИВОЈЕ
+ЛАЛОВИЋ СУЗАНА
+ЛАЛОВИЋ ВЕРА
+ЛАМБЕТА ПЕКО
+ЛАМБИЋ БРАНИСЛАВ
+ЛАМБИЋ ЈОВО
+ЛАМБИЋ ОЛИВЕРА
+ЛАМПРЕТ КРИСТИЈАН
+ЛАНЧУШКИ ЕМИЛКА
+ЛАНЦ ФРАЊА
+ЛАНЦ МАРИЈА
+ЛАНЦОШ АНА
+ЛАНЦОШ НЕНАД
+ЛАНЦОШ СВЕТОЗАР
+ЛАНЦОШ ТОМИСЛАВ
+ЛАНДЕКА АНТОНИЈЕ
+ЛАНГ АТИЛА
+ЛАНГ ДРАГИЦА
+ЛАНГ ЈОСИП
+ЛАНГ МИРЈАНА
+ЛАНГ ВАЛЕРИЈА
+ЛАЊИ АНДРАШ
+ЛАЊИ СТЕВАН
+ЛАНКОВСКИ ПЕЦО
+ЛАНКОВСКИ ТОМЧЕ
+ЛАПЧЕВИЋ ДРАГИЦА
+ЛАПЧЕВИЋ МИЛИЦА
+ЛАПЧЕВИЋ МИЛУТИН
+ЛАПЧЕВИЋ ПАЈА
+ЛАПЧЕВИЋ ВУКОСАВА
+ЛАПЧИЋ МИЛАН
+ЛАПАДАТ ХОРТЕНЗИЈА
+ЛАПАДАТ СОРИН
+ЛАПАДАТ ВАСИЛИЈЕ
+ЛАПАЈНЕ МИЛАН
+ЛАПО ЈОВАН
+ЛАПУ АНДРАШ
+ЛАРКИН СТЕВАН
+ЛАСИЋ ТОМИСЛАВ
+ЛАСИЋ ЗВОНКО
+ЛАСИЋ ЗВОНКО
+ЛАСИЦА БУДИМИР
+ЛАСИЦА ДРАГУТИН
+ЛАСИЦА ИЛИЈА
+ЛАСИЦА МИЛАН
+ЛАСИЦА МИЛАН
+ЛАСИЦА МИЛЕНКО
+ЛАСИЦА МИРОСЛАВ
+ЛАСИЦА УРОШ
+ЛАСИЦА ВЕЉКО
+ЛАСИЦА ЗДРАВКО
+ЛАСИЦА ЗЛАТА
+ЛАСИЦА ЗОРА
+ЛАСКОВ ДОБРЕ
+ЛАСКОВИЋ БРАНКА
+ЛАСКОВИЋ ДАНИЛО
+ЛАСКОВИЋ ДРАГАН
+ЛАСЛО ЕТЕЛКА
+ЛАСЛО ФЕРЕНЦ
+ЛАСЛО ФРАЊА
+ЛАСЛО ФРАЊА
+ЛАСЛО ИЛОНА
+ЛАСЛО ЈОЖЕФ
+ЛАСЛО ЈОСИП
+ЛАСЛО ЈОВАН
+ЛАСЛО ЛАСЛО
+ЛАСЛО МИКЛОШ
+ЛАСЛО МИЛЕНА
+ЛАСЛО ТИБОР
+ЛАСЛО ВЕРА
+ЛАСЛОВСКИ ТЕРЕЗА
+ЛАСТИЋ АЛЕКСАНДАР
+ЛАТАК НАНДОР
+ЛАТАЛ МАРЈАН
+ЛАТАЛ СЛАВИЦА
+ЛАТАЛ СТЕВАН
+ЛАТАЛ ВЕРА
+ЛАТАЛ ЗАГОРКА
+ЛАТАС ЖИВКА
+ЛАТАС ЛАЗАР
+ЛАТАС МАРКО
+ЛАТАС МИЛАДИН
+ЛАТАС МИЛАН
+ЛАТАС ПЕТАР
+ЛАТАС САВА ДР СТОМАТОЛОГ
+ЛАТАС ЗОРА
+ЛАТИШКО УРОШ
+ЛАТИЋ ИСАК
+ЛАТИЋ РАДИВОЈ
+ЛАТИНЧИЋ БОРИСЛАВ
+ЛАТИНЧИЋ ДАНИЦА
+ЛАТИНЧИЋ ГРУЈА
+ЛАТИНЧИЋ НИКОЛА
+ЛАТИНЧИЋ РУЖА
+ЛАТИНКИЋ СТЕВАН
+ЛАТИНКИЋ ВИНКА
+ЛАТИНКОВИЋ РАДОМИР
+ЛАТИНОВИЋ ЖАРКО
+ЛАТИНОВИЋ ЂУЈА
+ЛАТИНОВИЋ БОЖО
+ЛАТИНОВИЋ ДРАГАН
+ЛАТИНОВИЋ ДРАГАН
+ЛАТИНОВИЋ ЕРИКА
+ЛАТИНОВИЋ ИЛИЈА
+ЛАТИНОВИЋ ЈОВАН
+ЛАТИНОВИЋ ЈОВАН
+ЛАТИНОВИЋ ЛАЗА
+ЛАТИНОВИЋ ЉУБА
+ЛАТИНОВИЋ МАЦА
+ЛАТИНОВИЋ МАРИНКО
+ЛАТИНОВИЋ МИЛЕНКО
+ЛАТИНОВИЋ МИЛОРАД
+ЛАТИНОВИЋ МИРКО
+ЛАТИНОВИЋ НЕЂО
+ЛАТИНОВИЋ НЕДЕЉКО
+ЛАТИНОВИЋ НИКОЛА
+ЛАТИНОВИЋ НИКОЛА
+ЛАТИНОВИЋ ПЕТАР
+ЛАТИНОВИЋ РАДОМИР
+ЛАТИНОВИЋ РАЈКО
+ЛАТИНОВИЋ САВО
+ЛАТИНОВИЋ СЛОБОДАНКА
+ЛАТИНОВИЋ СЛОБОДАН
+ЛАТИНОВИЋ СЛОБОДАН
+ЛАТИНОВИЋ СМИЉА
+ЛАТИНОВИЋ СВЕТОЗАР
+ЛАТИНОВИЋ ЗОРКА
+ЛАТКОВИЋ ЖЕЉКО
+ЛАТКОВИЋ ЈОВАН
+ЛАТКОВИЋ ЈОВО
+ЛАТКОВИЋ МИЛЕ
+ЛАТКОВИЋ ВУЈО
+ЛАТКОВСКИ РИСТО
+ЛАТО ЈАСНА
+ЛАТОВЉЕВ ЗАГОРКА
+ЛАУШ ДИМИТРИЈЕ
+ЛАУШ ВЛАДИМИР
+ЛАУШЕВ ДРАГАНА
+ЛАУШЕВ ЈОЦА
+ЛАУШЕВ ЉУБИНКА
+ЛАУШЕВ МИРЈАНА
+ЛАУШЕВ ТОША
+ЛАУШЕВ ВЕЛИМИР
+ЛАУШЕВ ВОЈИСЛАВ
+ЛАУШЕВИЋ ЖИВАН
+ЛАУШЕВИЋ ЖИВКА
+ЛАУШЕВИЋ ЖИВКА
+ЛАУШЕВИЋ БРАНИСЛАВ
+ЛАУШЕВИЋ ДРАГОЈЕ
+ЛАУШЕВИЋ ДРАГУТИН
+ЛАУШЕВИЋ ПАВЛЕ
+ЛАУШЕВИЋ РАДОЈИЦА
+ЛАУШЕВИЋ ВЕСЕЛИН
+ЛАУШЕВИЋ ЗИТА
+ЛАУШИН БРАНИСЛАВ
+ЛАУБЕРТ ВЛАДИСЛАВА
+ЛАУС АНА
+ЛАУС КАТАРИНА
+ЛАУТАРЕВИЋ ДРАГАН
+ЛАУТЕРЕР ЂЕНЂИ
+ЛАУТЕРЕР ЛАСЛО
+ЛАВАЧ ЈОЖЕФ
+ЛАВАЧ ЛАСЛО
+ЛАВИЧКА КАРЛО
+ЛАВРНИЋ КСЕНИЈА
+ЛАВРНИЋ КСЕНИЈА
+ЛАВРНИЋ МИЛОШ
+ЛАВРНИЋ РАДИВОЈ
+ЛАВРЊА ЛАЗАР
+ЛАВРЊА МИЛКАН
+ЛАЗА ЈОН
+ЛАЗА ТЕОДОРА
+ЛАЗАНСКИ АНА
+ЛАЗАНСКИ БРАНИСЛАВ
+ЛАЗАНСКИ ГОРДАНА
+ЛАЗАНСКИ ГОРДАНА
+ЛАЗАР ЂУЛА
+ЛАЗАР ЕЛЕНА
+ЛАЗАР ЈУЛИА
+ЛАЗАР ЈУЛИЈА
+ЛАЗАР КАТАЛИН
+ЛАЗАР ЛАДИСЛАВ
+ЛАЗАР ПАВЛЕ
+ЛАЗАР СИМА
+ЛАЗАР СТЈЕПАН
+ЛАЗАР ВЛАДИМИР
+ЛАЗАРЕВ ЂОКА
+ЛАЗАРЕВ АНА
+ЛАЗАРЕВ АНДРИЈА
+ЛАЗАРЕВ ЈОВАН
+ЛАЗАРЕВ ВЕРА
+ЛАЗАРЕВИЋ ЧЕДА
+ЛАЗАРЕВИЋ ЖИВКА
+ЛАЗАРЕВИЋ ЖИВОТА
+ЛАЗАРЕВИЋ ЂОРЂЕ
+ЛАЗАРЕВИЋ БОШКО
+ЛАЗАРЕВИЋ БОРИСЛАВ
+ЛАЗАРЕВИЋ БРАНКО
+ЛАЗАРЕВИЋ БРАНКО
+ЛАЗАРЕВИЋ ДАНИЛО
+ЛАЗАРЕВИЋ ДАРИНКА
+ЛАЗАРЕВИЋ ДИМИТРИЈЕ
+ЛАЗАРЕВИЋ ДОБРОСАВ
+ЛАЗАРЕВИЋ ДРАГИША
+ЛАЗАРЕВИЋ ДРАГОМИР
+ЛАЗАРЕВИЋ ЈАДВИГА
+ЛАЗАРЕВИЋ ЈЕЛЕНА
+ЛАЗАРЕВИЋ ЈЕЛЕНА
+ЛАЗАРЕВИЋ ЛАЗАР
+ЛАЗАРЕВИЋ ЉУБОМИР
+ЛАЗАРЕВИЋ ЉУБО
+ЛАЗАРЕВИЋ МАНДА
+ЛАЗАРЕВИЋ МИЛАДИНКА
+ЛАЗАРЕВИЋ МИЛАН
+ЛАЗАРЕВИЋ МИЛАН
+ЛАЗАРЕВИЋ МИЛИВОЈЕ
+ЛАЗАРЕВИЋ МИЛОРАД
+ЛАЗАРЕВИЋ МИЛОРАД
+ЛАЗАРЕВИЋ МИЛУН
+ЛАЗАРЕВИЋ МИЛУТИН
+ЛАЗАРЕВИЋ НИКОЛА
+ЛАЗАРЕВИЋ САВА
+ЛАЗАРЕВИЋ СМИЉА
+ЛАЗАРЕВИЋ СТАНИША
+ЛАЗАРЕВИЋ СТАНОЈЕ
+ЛАЗАРЕВИЋ СТЕВАН
+ЛАЗАРЕВИЋ СТЕВАН
+ЛАЗАРЕВИЋ СВЕТИСЛАВ
+ЛАЗАРЕВИЋ ВЕЛИМИР
+ЛАЗАРЕВИЋ ВЕСНА
+ЛАЗАРЕВИЋ ВИДАН
+ЛАЗАРЕВИЋ ВЛАДИМИР
+ЛАЗАРЕВИЋ ВОЈИСЛАВ
+ЛАЗАРЕВИЋ ЗОРАН ДР ЛЕКАР
+ЛАЗАРЕВИЋ ЗОРАН
+ЛАЗАРЕВСКИ ЂОРЂЕ
+ЛАЗАРЕВСКИ ДРАГОЉУБ
+ЛАЗАРЕВСКИ СЛАВКО
+ЛАЗАРОВ ВЕСЕЛИН
+ЛАЗАРОВ ЗОРАН
+ЛАЗАРОВСКИ ДРАГАН
+ЛАЗЕНДИЋ ЛАЗАР
+ЛАЗЕНДИЋ НИКОЛА
+ЛАЗИЧИЋ БРАНКО
+ЛАЗИЧИЋ СТАНИЈА
+ЛАЗИЋ ЖАРКО
+ЛАЗИЋ ЖИВАН
+ЛАЗИЋ ЖИВАН
+ЛАЗИЋ ЖИВАН
+ЛАЗИЋ ЖИВКО
+ЛАЗИЋ ЖИВОЈИН
+ЛАЗИЋ ЖИВОРАД
+ЛАЗИЋ ЂОРЂЕ ДИПЛ ИНГ
+ЛАЗИЋ АНЂЕЛКА
+ЛАЗИЋ АНДРИЈА
+ЛАЗИЋ БОШКО
+ЛАЗИЋ БОЖИДАР
+ЛАЗИЋ БРАНИСЛАВА
+ЛАЗИЋ БРАНИСЛАВА
+ЛАЗИЋ БРАНИСЛАВ
+ЛАЗИЋ БРАНИСЛАВ
+ЛАЗИЋ БРАНИСЛАВ
+ЛАЗИЋ БРАНКА ДР
+ЛАЗИЋ БУДИМИР
+ЛАЗИЋ ДАМЈАНКА
+ЛАЗИЋ ДЕЈАН ДИПЛ ИНГ
+ЛАЗИЋ ДЕЈАН
+ЛАЗИЋ ДРАГАНА
+ЛАЗИЋ ДРАГАН
+ЛАЗИЋ ДРАГА
+ЛАЗИЋ ДРАГИЦА
+ЛАЗИЋ ДРАГОЉУБ
+ЛАЗИЋ ДРАГОМИР
+ЛАЗИЋ ДРАГО
+ЛАЗИЋ ДРАГУТИН
+ЛАЗИЋ ДУШАН
+ЛАЗИЋ ДУШАН
+ЛАЗИЋ ДУШАН
+ЛАЗИЋ ДУШАН
+ЛАЗИЋ ЕМИЛ ДР ЛЕКАР
+ЛАЗИЋ ГОЈКО
+ЛАЗИЋ ГОРОЉУБ
+ЛАЗИЋ ГРОЗДАНА
+ЛАЗИЋ ИВАНА
+ЛАЗИЋ ЈЕЛИСАВЕТА
+ЛАЗИЋ ЈОЦА
+ЛАЗИЋ ЈОВАНКА
+ЛАЗИЋ ЈОВАН
+ЛАЗИЋ ЈУЛКА
+ЛАЗИЋ КАТИЦА
+ЛАЗИЋ КАТИЦА
+ЛАЗИЋ КАТИЦА
+ЛАЗИЋ КОСТАДИН
+ЛАЗИЋ КОСТА
+ЛАЗИЋ ЛАЗАР
+ЛАЗИЋ ЛАЗАР
+ЛАЗИЋ ЉУБАН
+ЛАЗИЋ ЉУБИНКА
+ЛАЗИЋ ЉУБИСАВА
+ЛАЗИЋ ЉУБОМИР
+ЛАЗИЋ МАРИЈА
+ЛАЗИЋ МАРИЈА
+ЛАЗИЋ МАРИНКО
+ЛАЗИЋ МАРТА
+ЛАЗИЋ МИЛАДИН
+ЛАЗИЋ МИЛАДИН
+ЛАЗИЋ МИЛАДИН
+ЛАЗИЋ МИЛАН
+ЛАЗИЋ МИЛАН
+ЛАЗИЋ МИЛАН
+ЛАЗИЋ МИЛАН
+ЛАЗИЋ МИЛЕНА
+ЛАЗИЋ МИЛЕНА
+ЛАЗИЋ МИЛЕНКО
+ЛАЗИЋ МИЛЕНКО
+ЛАЗИЋ МИЛЕВКА
+ЛАЗИЋ МИЛИЦА
+ЛАЗИЋ МИЛИЦА
+ЛАЗИЋ МИЛИЦА
+ЛАЗИЋ МИЛИНКО
+ЛАЗИЋ МИЛИСАВ ПРОФЕСОР
+ЛАЗИЋ МИЛИСАВ
+ЛАЗИЋ МИЛИВОЈ
+ЛАЗИЋ МИЛОШ
+ЛАЗИЋ МИЛОРАД
+ЛАЗИЋ МИОДРАГ
+ЛАЗИЋ МИРА
+ЛАЗИЋ МИРЈАНА
+ЛАЗИЋ МИРКО
+ЛАЗИЋ МИРОЉУБ
+ЛАЗИЋ МИРОСЛАВ
+ЛАЗИЋ МЛАДЕН
+ЛАЗИЋ НАДА
+ЛАЗИЋ НАДА
+ЛАЗИЋ НАДА
+ЛАЗИЋ НАДЕЖДА
+ЛАЗИЋ НАЈДАН
+ЛАЗИЋ НЕВЕНА
+ЛАЗИЋ НИКОЛА ДИПЛ ИНГ
+ЛАЗИЋ НИКОЛА
+ЛАЗИЋ НИКОЛА
+ЛАЗИЋ НИКОЛА
+ЛАЗИЋ НИКОЛА
+ЛАЗИЋ ОБРЕН
+ЛАЗИЋ ПАЈА
+ЛАЗИЋ ПЕТАР
+ЛАЗИЋ ПЕТАР
+ЛАЗИЋ ПЕТАР
+ЛАЗИЋ ПЕТАР
+ЛАЗИЋ ПИРОШКА
+ЛАЗИЋ ПИРОШКА
+ЛАЗИЋ РАДА
+ЛАЗИЋ РАДЕ
+ЛАЗИЋ РАДИША
+ЛАЗИЋ РАДИВОЈ
+ЛАЗИЋ РАДМИЛА
+ЛАЗИЋ РАДОЈКА
+ЛАЗИЋ РАДОЈКО
+ЛАЗИЋ РАДОВАН
+ЛАЗИЋ РАЈКО
+ЛАЗИЋ РОДОЉУБ
+ЛАЗИЋ РУЖА
+ЛАЗИЋ САЊА
+ЛАЗИЋ САВА
+ЛАЗИЋ САВА
+ЛАЗИЋ САВА
+ЛАЗИЋ САВА
+ЛАЗИЋ СИМА ДР
+ЛАЗИЋ СЛАВКО
+ЛАЗИЋ СЛОБОДАН
+ЛАЗИЋ СЛОБОДАН
+ЛАЗИЋ СМИЉА
+ЛАЗИЋ СРБИСЛАВ
+ЛАЗИЋ СТАНИМИР
+ЛАЗИЋ СТАНКО
+ЛАЗИЋ СТЕВАНКА
+ЛАЗИЋ СТЕВАН
+ЛАЗИЋ СТЕВАН
+ЛАЗИЋ СТЕВАН
+ЛАЗИЋ СТЕВАН
+ЛАЗИЋ СТОЈАДИН
+ЛАЗИЋ СТОЈАН
+ЛАЗИЋ СВЕТОЗАР
+ЛАЗИЋ ТЕОДОР
+ЛАЗИЋ ТРАЈКО
+ЛАЗИЋ ВАЛЕРИЈА
+ЛАЗИЋ ВАСИЛИЈЕ
+ЛАЗИЋ ВЕЛИНКА
+ЛАЗИЋ ВЕСЕЛИН
+ЛАЗИЋ ВЕСНА
+ЛАЗИЋ ВЛАДИМИР
+ЛАЗИЋ ЗОРАН
+ЛАЗИЋ ЗОРИЦА
+ЛАЗИЋ ЗОРИЦА
+ЛАЗИЦАНИ АЉУШ
+ЛАЗИН БОГДАН
+ЛАЗИН БРАНКО
+ЛАЗИН ГОЈКО
+ЛАЗИН МИРОСЛАВА
+ЛАЗИН НАТАЛИЈА
+ЛАЗИН САВА
+ЛАЗИН САВА
+ЛАЗИН СИНИША
+ЛАЗИН СИНИША
+ЛАЗИН СЛОБОДАН
+ЛАЗИН ВОЈИН
+ЛАЗИН ЗОРИЦА
+ЛАЗИНИЦА РАДОЈКА
+ЛАЗОР МИРОН
+ЛАЗОР НИКОЛА
+ЛАЗОВ ТРАЈАН
+ЛАЗОВА ТРАЈКА
+ЛАЗОВИЋ ЧЕДО
+ЛАЗОВИЋ БОШКО
+ЛАЗОВИЋ БОЖИДАР
+ЛАЗОВИЋ ДЕЈАН ДИПЛ ИНГ
+ЛАЗОВИЋ ДРАГАН
+ЛАЗОВИЋ ЛАЗАР
+ЛАЗОВИЋ ЉИЉАНА
+ЛАЗОВИЋ МИЛЕНТИЈЕ
+ЛАЗОВИЋ МИЛЕТА
+ЛАЗОВИЋ МИЛИЦА
+ЛАЗОВИЋ МИЛОЈИЦА
+ЛАЗОВИЋ НЕНАД
+ЛАЗОВИЋ РАДОСАВ
+ЛАЗОВИЋ САВИЦА
+ЛАЗОВИЋ СЛОБОДАН
+ЛАЗОВИЋ СТАНКО
+ЛАЗОВИЋ СТЕВАН ПРОФЕСОР
+ЛАЗОВИЋ СВЕТИСЛАВ
+ЛАЗОВИЋ ВУЈАДИН
+ЛАЗОВИЋ ЗОРАН
+ЛАЗОВИЋ ЗОРАН
+ЛАЗОВСКИ СЛАВЧО
+ЛАЗУКИЋ ЧЕДО
+ЛАЗУКИЋ АНЂА
+ЛАЗУКИЋ ЈОВО
+ЛАЗУКИЋ КАЋА
+ЛАЗУКИЋ МИЛАН
+ЛАЗУКИЋ СЛОБОДАН
+ЛЕЧ ЕНДРЕ ДР
+ЛЕЧ ЕРИХ
+ЛЕЧАР ЈОСИП
+ЛЕЧАР КАРЛО
+ЛЕЧИЋ ЧЕДОМИР
+ЛЕЧИЋ ДОБРИЛА
+ЛЕЧИЋ ДОБРОСАВ
+ЛЕЧИЋ ГОЈКО
+ЛЕЧИЋ МИЛЕВА
+ЛЕЧИЋ МИЛОВАН
+ЛЕЧИЋ НАДА
+ЛЕЧИЋ НАДА
+ЛЕЧИЋ СИМО
+ЛЕЧИЋ СПАСОЈЕ
+ЛЕЧИЋ ВИДОСАВА
+ЛЕЧИЋ ВЛАДИМИР
+ЛЕШЧЕШЕН ЕДВАРД
+ЛЕШЧЕШЕН ЈЕЛЕНА
+ЛЕШИЋ ЂУРА
+ЛЕШИЋ СТОЈАН
+ЛЕШКИЋ ЂОРЂЕ
+ЛЕШКИЋ ВОЈИСЛАВ
+ЛЕШКОВ ЈОВАН
+ЛЕШКОВ МИЛАН
+ЛЕШКОВ МИОДРАГ
+ЛЕШКОВ ОЛГИЦА
+ЛЕШКОВИЋ ЗЛАТКО
+ЛЕШНИК ЗАГОРКА
+ЛЕШТАР СТЕВАН
+ЛЕШТАР ЗОРИЦА
+ЛЕЖАЈИЋ ВУКАДИН
+ЛЕЖАКОВ ЂУРЂИЦА
+ЛЕЖАКОВ МИЛАН
+ЛЕЖИМИРАЦ АЛЕКСАНДАР
+ЛЕЖИМИРАЦ БРАНКИЦА
+ЛЕЖИМИРАЦ ДОБРИНКА
+ЛЕЖИМИРАЦ СЛОБОДАН
+ЛЕЖИМИРАЦ СЛОБОДАН
+ЛЕЖИМИРАЦ СВЕТЛАНА
+ЛЕЖИМИРАЦ ВЛАДИМИР
+ЛЕЂАНА ЈЕЛЕНА
+ЛЕЂАНАЦ ЂУРЂИНКА
+ЛЕЂАНАЦ БРАНИСЛАВА
+ЛЕЂАНАЦ ДРАГОМИР
+ЛЕЂАНАЦ ЕМИЛИЈА
+ЛЕЂАНАЦ ГАВРА
+ЛЕЂАНАЦ ГОРИЦА
+ЛЕЂАНАЦ ЈОВАН
+ЛЕЂАНАЦ МИЛАН
+ЛЕЂАНАЦ СЕКУЛА
+ЛЕЂАНАЦ СЕКУЛА
+ЛЕЂАНАЦ СЛАВКО
+ЛЕЂАНАЦ СТЕВАН
+ЛЕЂАНАЦ СТЕВАН
+ЛЕЂАНАЦ ВИТОМИР
+ЛЕЂАНСКИ БРАНКА
+ЛЕЂЕНАЦ ДРАГАН
+ЛЕЂЕНАЦ НАДА
+ЛЕЂЕНАЦ СЛАВКО
+ЛЕЂЕНАЦ СТАНИМИР
+ЛЕЂЕНАЦ СТРАХИЊА
+ЛЕБАР ЗЛАТИЦА
+ЛЕБЕР ЗЛАТКО
+ЛЕБЛ АРПАД ДР ПРОФЕСОР
+ЛЕБОВИЋ МАРИНКО
+ЛЕБУРИЋ ВАСИЛИЈЕ
+ЛЕЦКИ ЂУЛА
+ЛЕЦКИ КРИШТОФ
+ЛЕЦКОВИЋ ЕМИЛ
+ЛЕДЕНКО АНТЕ МР
+ЛЕДЕР ЕМИНА
+ЛЕДЕР ОЛГА
+ЛЕГЕН СТОЈАН
+ЛЕГЕТИЋ БРАНКА
+ЛЕХОЦКИ ШАНДОР
+ЛЕХОЦКИ ФЕРЕНЦ
+ЛЕХОТСКИ КАРЛО
+ЛЕХР ДАВОР
+ЛЕИТНЕР НИКОЛА
+ЛЕКИ ЂУРА
+ЛЕКИ МАРИЈА
+ЛЕКИ СТЈЕПАН
+ЛЕКИ ТЕРЕЗИЈА
+ЛЕКИЋ ЖИВАДИН
+ЛЕКИЋ ЂОРЂИЈЕ
+ЛЕКИЋ БОГДАН
+ЛЕКИЋ БРАНКА
+ЛЕКИЋ БРАНКО
+ЛЕКИЋ ДЕЈАН
+ЛЕКИЋ ДРАГОЉУБ
+ЛЕКИЋ ДУШАН
+ЛЕКИЋ ЈОРДАН
+ЛЕКИЋ ЉУБОМИР
+ЛЕКИЋ ЉУБОМИР
+ЛЕКИЋ МИЛАДИН
+ЛЕКИЋ МИЛАНКА
+ЛЕКИЋ НЕЂО
+ЛЕКИЋ НИКОЛА
+ЛЕКИЋ СИМЕВУН
+ЛЕКИЋ СТАНКА
+ЛЕКИЋ СТЕВАН
+ЛЕКИЋ ТАТЈАНА
+ЛЕКИЋ ТЕОДОР
+ЛЕКИЋ ВЕСЕЛКО
+ЛЕКИЋ ЗАГОРКА
+ЛЕКИЋ ЗДРАВКО
+ЛЕКИН ЉУБИЦА
+ЛЕКИН МИЛАН
+ЛЕКИН МИЛАН
+ЛЕКИН МИЛАН
+ЛЕКИН ЗДРАВКО
+ЛЕКО ЂЕРЂ
+ЛЕКО АЛЕКСАНДАР
+ЛЕКО БОРИСЛАВ
+ЛЕКО МЛАДЕН
+ЛЕКОВИЋ ДОБРИЛО
+ЛЕКОВИЋ ДРАГИША
+ЛЕКОВИЋ МИЛОШ
+ЛЕКОВИЋ МИРКО
+ЛЕКОВИЋ НОВАК
+ЛЕКОВИЋ СЛОБОДАНКА
+ЛЕКОВИЋ ТОМИСЛАВ
+ЛЕКОВИЋ ВЕРИЦА
+ЛЕЛЕА ТОДОР
+ЛЕЛЕОВИЋ БОРО
+ЛЕЛИЋ ЖЕЉКО
+ЛЕЛИЋ МАХМУТ
+ЛЕЛИЋ МАРИЈА
+ЛЕЛИЋ МИРСАМ
+ЛЕЛИЋ ЗУМРЕТА
+ЛЕЛИК ЈАНОШ
+ЛЕЛИК ЈЕНЕ
+ЛЕЛОВИЋ РАДЕ
+ЛЕМАИЋ ЖЕЉКО
+ЛЕМАИЋ СОФИЈА
+ЛЕМАЈИЋ БРАНКО
+ЛЕМАЈИЋ ЦЕЦИЛИЈА
+ЛЕМАЈИЋ КАТИЦА
+ЛЕМАЈИЋ МАРИЈА
+ЛЕМАЈИЋ МИЛАН
+ЛЕМАЈИЋ МИЛАН
+ЛЕМАЈИЋ МИРОСЛАВ
+ЛЕМАЈИЋ РАДОЈИЦА
+ЛЕМАЈИЋ СЛОБОДАН
+ЛЕМАЈИЋ ВЛАДИМИР
+ЛЕМХЕ ЈЕЛИСАВЕТА
+ЛЕМИЋ БОСА
+ЛЕМИЋ ДРАГИЊА
+ЛЕМИЋ ЛАЗАР
+ЛЕМИЋ МИЛЕНКО
+ЛЕМИЋ НЕБОЈША
+ЛЕМИЋ ВЛАДИМИР
+ЛЕН ПИРОШКА
+ЛЕНЧА АНДРИЈА
+ЛЕНЧА КАТА
+ЛЕНЂЕЛ ЂУРО
+ЛЕНЂЕЛ ЈОВАН
+ЛЕНЂЕЛ ЈОВАН
+ЛЕНЂЕЛ КАРОЉ
+ЛЕНЂЕЛ МИХАЈЛО
+ЛЕНАРД АРПАД
+ЛЕНАРД ПЕТАР
+ЛЕНАРТ КАТИЦА
+ЛЕНАРТИЋ ЂОРЂЕ
+ЛЕНАТОВ ДУШАН
+ЛЕНДИЋ ЈОСИП
+ЛЕНДВАЈИ АНДРИЈА
+ЛЕНДВАЈИ ЈОЖЕФ
+ЛЕНДВАЈИ ЉИЉАНА
+ЛЕНЕР АНДРАШ
+ЛЕНЕР ДЕЖЕ
+ЛЕНЕРТ АНТАЛ
+ЛЕНЕРТ ПЕТАР ДР ДОЦЕНТ
+ЛЕНЕРТ СТЕВАН
+ЛЕНХАРД ЈАНОШ
+ЛЕНКЕШ ЈОВАН
+ЛЕНКЕШ ЛАСЛО
+ЛЕОВАЦ МИЛИВОЈЕ
+ЛЕОВАЦ ВУКАДИН
+ЛЕПЧЕВИЋ МИЛЕТА
+ЛЕПШАНОВИЋ ЛАЗАР ДР ЛЕКАР
+ЛЕПШИЋ ДРАГИЦА
+ЛЕПАР ШАНДОР
+ЛЕПАР ЈЕЛИЦА
+ЛЕПАР ЛАДИСЛАВ
+ЛЕПЕШ ЛАДИСЛАВ
+ЛЕПЕШ ТИБОР ДР ПРОФ
+ЛЕПХАФТ ПАЛ
+ЛЕПИР АНЂЕЛКА
+ЛЕПИР БОСИЉКА
+ЛЕПИР МИЛОРАД
+ЛЕПИР ВЕЛИМИР
+ЛЕПОША РУДОЛФ
+ЛЕПОЈЕВ БРАНКО
+ЛЕПОЈЕВ САВА
+ЛЕПОЈЕВ ВАСИЛИЈЕ
+ЛЕПОЈЕВИЋ ЖИВОРАД
+ЛЕПОЈЕВИЋ СТАНКО
+ЛЕПОРИС ЈАН
+ЛЕПОТИЋ ЖИВАН
+ЛЕПОТИЋ МИЛЕНКО
+ЛЕПОТИЋ НИКОЛА
+ЛЕПОВИЋ МИКА
+ЛЕПУША ЗДЕНКО
+ЛЕР ИВАН
+ЛЕРИЋ ЕРЖЕБЕТ
+ЛЕРИК АНДРАШ
+ЛЕРИК ИШТВАН
+ЛЕРИК МИКЛОШ
+ЛЕРИНЦ АНИКО
+ЛЕРИНЦ ДРАГОСЛАВ
+ЛЕРИНЦ ЈАНОШ
+ЛЕРИНЦ КАРЛО
+ЛЕРИНЦ КАТАЛИН
+ЛЕРИНЦ ЛАСЛО
+ЛЕРИНЦ ЛАСЛО
+ЛЕРИНЦ ЛЕО
+ЛЕРИНЦ ЛЕО
+ЛЕРО БОЖИДАР
+ЛЕРО ВЛАДИМИР
+ЛЕСКОВАЦ ЂОРЂЕ
+ЛЕСКОВАЦ ДРАГАН
+ЛЕСКОВАЦ ЉУБИЦА
+ЛЕСКОВАЦ МИЛАН
+ЛЕСКОВАЦ МИЛАН
+ЛЕСКОВАЦ МИЛЕТА
+ЛЕСКОВАЦ МЛАДЕН ПРОФЕСОР
+ЛЕСКОВАЦ РАДОМИР
+ЛЕСКОВАЦ СТАНКА
+ЛЕСКОВАЦ ВЛАДИМИР ДР
+ЛЕСКОВАЦ ВОЈИСЛАВ
+ЛЕТАЈЕВ АЛЕКСАНДАР
+ЛЕТАЈЕВ АЛЕКСАНДАР
+ЛЕТАЈЕВ МИХАЈЛО
+ЛЕТАЈЕВ ВЛАДИМИР
+ЛЕТИЋ ЧЕДО
+ЛЕТИЋ ЖАРКО
+ЛЕТИЋ ЖИВА
+ЛЕТИЋ ЖИВКО ДИПЛ ИНГ
+ЛЕТИЋ ЂОКО
+ЛЕТИЋ ЂОРЂЕ
+ЛЕТИЋ ЂОРЂЕ
+ЛЕТИЋ ЂОРЂЕ
+ЛЕТИЋ ЂОРЂЕ
+ЛЕТИЋ ЂОРЂЕ
+ЛЕТИЋ АНИЦА
+ЛЕТИЋ АНИЦА
+ЛЕТИЋ АРИШКО
+ЛЕТИЋ БОГДАН
+ЛЕТИЋ БОРИВОЈ
+ЛЕТИЋ БРАНИСЛАВ
+ЛЕТИЋ БРАНИСЛАВ
+ЛЕТИЋ БРАНКА
+ЛЕТИЋ БРАНКО
+ЛЕТИЋ ДАРИНКА
+ЛЕТИЋ ДРАГАН
+ЛЕТИЋ ДРАГИША
+ЛЕТИЋ ДРАГИЦА
+ЛЕТИЋ ДУШАН
+ЛЕТИЋ ДУШАН
+ЛЕТИЋ ГАВРА
+ЛЕТИЋ ГОЈКО
+ЛЕТИЋ ГОРДАНА ДР
+ЛЕТИЋ ИВАН
+ЛЕТИЋ ЈОВАНКА
+ЛЕТИЋ ЈОВАН
+ЛЕТИЋ КОСТА
+ЛЕТИЋ ЛАЗАР
+ЛЕТИЋ ЛАЗАР
+ЛЕТИЋ ЛАЗАР
+ЛЕТИЋ ЉУБИША
+ЛЕТИЋ ЉУБИЦА
+ЛЕТИЋ МАРИЦА
+ЛЕТИЋ МАРИЈА
+ЛЕТИЋ МАРИЈА
+ЛЕТИЋ МАРИНКО
+ЛЕТИЋ МИЛАН
+ЛЕТИЋ МИЛАН
+ЛЕТИЋ МИЛАН
+ЛЕТИЋ МИЛАН
+ЛЕТИЋ МИЛИЦА
+ЛЕТИЋ МИЛИЦА
+ЛЕТИЋ МИЛИЦА
+ЛЕТИЋ МИЛОРАД
+ЛЕТИЋ МИЛОРАД
+ЛЕТИЋ МИЛОРАД
+ЛЕТИЋ МИЛОВАН
+ЛЕТИЋ МИОДРАГ
+ЛЕТИЋ МИРОСЛАВ
+ЛЕТИЋ МИРОСЛАВ
+ЛЕТИЋ НЕНАД
+ЛЕТИЋ НЕВЕНА
+ЛЕТИЋ ОЛГА
+ЛЕТИЋ ОЛГА
+ЛЕТИЋ ОЛГИЦА
+ЛЕТИЋ ПЕРА
+ЛЕТИЋ РАДА
+ЛЕТИЋ РАДЕ
+ЛЕТИЋ РАДМИЛА
+ЛЕТИЋ САВА
+ЛЕТИЋ САВА
+ЛЕТИЋ СИМКА
+ЛЕТИЋ СЛОБОДАН
+ЛЕТИЋ СТЕВАН
+ЛЕТИЋ СТЕВАН
+ЛЕТИЋ СТЕВАН
+ЛЕТИЋ СТОЈАН ЛЕКАР
+ЛЕТИЋ СВЕТИСЛАВ
+ЛЕТИЋ СВЕТОЗАР
+ЛЕТИЋ ТОДОР
+ЛЕТИЋ ВЕРА
+ЛЕТИЋ ВЕСНА
+ЛЕТИЋ ВИДА
+ЛЕТИЋ ВЛАДИМИР
+ЛЕТИЋ ВЛАДИСЛАВА
+ЛЕТИЋ ЗДРАВКО
+ЛЕТИЋ ЗОРАН
+ЛЕТИЋ ЗОРАН
+ЛЕТИЋ ЗОРАН
+ЛЕТИЋ ЗОРКА
+ЛЕТИЦА ИВАНА
+ЛЕТИЦА МИЛАН
+ЛЕТИЦА ТОМИСЛАВ
+ЛЕТО РУЖИЦА
+ЛЕТОНАИ ЈАНОШ
+ЛЕТОНАИ ЛАСЛО
+ЛЕВА ИЛИНКА
+ЛЕВАИ ГАБОР
+ЛЕВАИ КАТАЛИН
+ЛЕВАИ НАНДОР
+ЛЕВАИ СТЕВАН
+ЛЕВАЈАЦ ВЕРА
+ЛЕВАКОВ МАРА
+ЛЕВАКОВ СЛОБОДАН
+ЛЕВАКОВ ВОЈИСЛАВ
+ЛЕВАРСКИ МИХАЈЛО
+ЛЕВАТИЋ МАТИЈА
+ЛЕВАТИЋ МИЛКА
+ЛЕВАТИЋ МИЛКИЦА
+ЛЕВЕНСКИ ТАДЕЈ
+ЛЕВИ ГОРАН
+ЛЕВИ ЛЕОН
+ЛЕВИ ВИКТОР
+ЛЕВИЋ ЉУБИНКО
+ЛЕВНАЈИЋ ДРАГАН
+ЛЕВНАЈИЋ МИЛКА
+ЛЕВНАЈИЋ МОМЧИЛО
+ЛЕЗЕЧЕВ СИНИША
+ЛИЧАНИН ДРАГАН
+ЛИЧАНИН МАРИЈА
+ЛИЧАНИН СЛАВКО
+ЛИЧЕН ХОТИМИР
+ЛИЧЕН ЈОСИП ДИПЛ ИНГ
+ЛИЧЕН ЉУДМИЛА
+ЛИЧИНА ЂОРЂЕ
+ЛИЧИНА БРАНКИЦА
+ЛИЧИНА ДАНИЛО
+ЛИЧИНА ДМИТАР
+ЛИЧИНА ДРАГО
+ЛИЧИНА ДУШАН
+ЛИЧИНА ЛУКА
+ЛИЧИНА МАРИЈА
+ЛИЧИНА МИЛАНКА
+ЛИЧИНА МИЛАН
+ЛИЧИНА МИЛЕ
+ЛИЧИНА ПРЕДРАГ
+ЛИЧИНА РАДЕ
+ЛИЧИНА ВЕЛИБОР
+ЛИЧИНА ЗОРАН
+ЛИЧИНАР ДРАГАН
+ЛИЧИНАР НЕДЕЉКО
+ЛИЧИНАР СЛАВКО
+ЛИЧИНАР СТАНКО
+ЛИЧИНИЋ ДУШАН
+ЛИЧИНИЋ НАДА
+ЛИШЧИЋ ВЕЛИНКА
+ЛИШИЋ ЂУРЂИНКА
+ЛИШИЋ МАРИЦА
+ЛИШКОВИЋ МИРОСЛАВ
+ЛИШКОВИЋ МИРОСЛАВ
+ЛИБЕР СТЕВАН
+ЛИБРИЋ ИВАН
+ЛИБРИЋ ИВАН
+ЛИБРИЋ МАРИЈАН
+ЛИДЛОФ ПИРОШКА
+ЛИДЛОФ РУДОЛФ
+ЛИДЛОФ ЗОЛТАН
+ЛИХТЕНТАЛ АНТАЛ
+ЛИХТЕНТАЛ ЕЛИЗАБЕТА
+ЛИХВАРЧЕК АНДРИЈА
+ЛИКАВЕЦ ЈАРОМИР
+ЛИКАВЕЦ КАРЛО ДИПЛ ИНГ
+ЛИКИЋ БОРИСЛАВ
+ЛИКИЋ БУДИСЛАВ
+ЛИКОДРИЋ МИЛОВАН
+ЛИЛЧЕВ ДАРИНКА
+ЛИЛИ ВЕРА
+ЛИЛИЋ ЂОРЂЕ
+ЛИЛИЋ АЛЕКСАНДАР ДИПЛ ИНГ
+ЛИЛИЋ МАРИЈАНА
+ЛИЛИЋ МИЛЕНА
+ЛИЛИЋ МИОДРАГ
+ЛИЛИЋ СРБИСЛАВ
+ЛИЛИЋ ТАТЈАНА
+ЛИЛИЋ ВЕЛИМИР
+ЛИМАНИ ШАЋИР
+ЛИМАНИ МЕМИШ
+ЛИМАНИ НАЗИФ
+ЛИМАНОВИЋ НАЗИФ
+ЛИМАНОВСКИ ИБРАХИМ
+ЛИМАНОВСКИ МУСАФЕТ
+ЛИМБОЦКИ ПЕТАР
+ЛИМБУРГЕР ЈОЖЕФ
+ЛИНДЕМАН ЈЕЛЕНА
+ЛИНДЕМАН РУДОЛФ
+ЛИНДНЕР МАРГИТ
+ЛИНИЋ ДРАГАН
+ЛИЊАК ДРАГОМИР
+ЛИНКО КОЛОМАН
+ЛИПАИ КОРНЕЛ
+ЛИПАНОВИЋ ГОЈКО
+ЛИПНИЧКИ ЗОРИЦА
+ЛИПОТИЋ ПЕТАР
+ЛИПОВАЦ ДУШАН
+ЛИПОВАЦ МАТИЈА
+ЛИСИЧИН НАДА
+ЛИСИЧИН ТОМИСЛАВ
+ЛИСИЋ МАРИЦА
+ЛИСИЦА МИХАЈЛО
+ЛИСИЦА МИХАЈЛО
+ЛИСИЦА МИЛОШ АДВОКАТ
+ЛИСОВ КАТИЦА
+ЛИСОВ МИЛИМИР
+ЛИСОВ МИРКО
+ЛИСОВАЦ ЗОРАН
+ЛИСУЛ АЛЕКСАНДАР
+ЛИСУЛ МИЛКА
+ЛИСУЛОВ ОЛГА
+ЛИСУЛОВ РАТОМИР
+ЛИСУЛОВ ЗОРАН
+ЛИТАВСКИ ВЛАДИМИР
+ЛИТНЕР ЈОВАН
+ЛИТРИЧИЋ ГАВРА
+ЛИТРИЧИН БОГДАН
+ЛИТРИЧИН ГЕНА
+ЛИТРИЧИН-ВЕБЕР БОГДАНКА
+ЛИТРИЧИН ВЕЛИМИР
+ЛИТВЈАК ПАВЛЕ
+ЛИТВЈАК ВЛАДИМИР
+ЛИВАДА МИЛАН
+ЛИВАДА МИЛОШ
+ЛИВАЈА ЈОЗО
+ЛИВАЈА ЈУРЕ
+ЛИЗАТОВИЋ БРАНКО
+ЉАЧЕВИЋ БОЖИДАР
+ЉАЈИЋ ТАИП
+ЉАЉИЋ ЂОРЂЕ
+ЉАТИФИ КАДРИ
+ЉАВРОШКА ПАВЕЛ
+ЉАВРОШКА ПАВЕЛ
+ЉЕШЕВИЋ ЉИЉАНА ДР
+ЉЕШЕВИЋ МАРИЈА
+ЉЕШЊАК МИРОЉУБ
+ЉЕШЊАК МОМЧИЛО
+ЉЕЉАК МЕХО
+ЉЕПОЈЕВИЋ СТЕВАН
+ЉИКАР ЕВГЕНИЈЕ
+ЉИКАР МИХАЈЛО ДИПЛ ИНГ
+ЉИКАР ВЕРОНА
+ЉИКАР ВЛАДИМИР ЛЕКАР
+ЉИЉАК ЉИЉАНА
+ЉИЉАК МИЛАН
+ЉИЉАК МИЛАН
+ЉИЉАК МИЛЕНКО
+ЉИЉАК МИЛОРАД
+ЉИЉАК МИОДРАГ
+ЉИЉАК МИРКО
+ЉИЉАК МИРОСЛАВ
+ЉИЉАК НАДА
+ЉИЉАК НАДЕЖДА
+ЉИЉАК ПАЈО
+ЉИЉАК САВА
+ЉИЉАК СЛАВКО
+ЉИЉАК ВЛАДИМИР
+ЉИЉАК ВЛАДО
+ЉУШТИНА ЖИВАН
+ЉУШТИНА ЂОРЂЕ
+ЉУШТИНА ЈЕЛЕНА
+ЉУШТИНА ЉУБИЦА
+ЉУШТИНА МИЛАН
+ЉУШТИНА МИЛАН
+ЉУШТИНА МИЛОВАН
+ЉУШТИНА НИКОЛА
+ЉУШТИНА ОЛГА
+ЉУШТИНА СОФИЈА
+ЉУШТИНА ВОЈКА
+ЉУШТИНОВ НАДА
+ЉУБАШЧИК АНТОН
+ЉУБАНИЋ МАРА
+ЉУБАНОВИЋ МИЛЕНКО
+ЉУБАНОВИЋ РАДИСЛАВ
+ЉУБЕНКОВИЋ МИЛОВАН
+ЉУБЕНКОВИЋ ПЕТАР
+ЉУБЕНКОВИЋ ПЕТАР
+ЉУБИЧИЋ ЖАРКО
+ЉУБИЧИЋ ЖАРКО
+ЉУБИЧИЋ ЖИВКА
+ЉУБИЧИЋ ЂУРЂИНКА
+ЉУБИЧИЋ БЛАЖО
+ЉУБИЧИЋ БОРИСЛАВ
+ЉУБИЧИЋ ДАНКО
+ЉУБИЧИЋ ДАРА
+ЉУБИЧИЋ ДРАГУТИН
+ЉУБИЧИЋ ЈОВИЦА
+ЉУБИЧИЋ ЛАЗАР
+ЉУБИЧИЋ ЛУКА
+ЉУБИЧИЋ МАРИЈАН
+ЉУБИЧИЋ МАРИНА
+ЉУБИЧИЋ МИХАЈЛО
+ЉУБИЧИЋ МИЛОШ ЛОКАЛ
+ЉУБИЧИЋ МИЛОШ
+ЉУБИЧИЋ МИРОСЛАВА
+ЉУБИЧИЋ МИРОСЛАВ
+ЉУБИЧИЋ НАДА
+ЉУБИЧИЋ НАДА
+ЉУБИЧИЋ НЕВЕНКА
+ЉУБИЧИЋ НИКОЛА
+ЉУБИЧИЋ ПЕТАР
+ЉУБИЧИЋ ПЕТАР
+ЉУБИЧИЋ РАДОСЛАВ
+ЉУБИЧИЋ РАДОСЛАВ
+ЉУБИЧИЋ РАТКО
+ЉУБИЧИЋ РЕЉА
+ЉУБИЧИЋ РУДОЛФ
+ЉУБИЧИЋ СЛОБОДАН
+ЉУБИЧИЋ СТАНКО
+ЉУБИЧИЋ СТЕВАН
+ЉУБИЧИЋ СУЗАНА
+ЉУБИЧИЋ ТАЛИНКА
+ЉУБИЧИЋ ВЛАДИМИР
+ЉУБИЧИЋ ЗОРА
+ЉУБИШЕВИЋ МИЛОШ
+ЉУБИШИЋ БРАНИСЛАВ
+ЉУБИШИЋ МИЛАНКО
+ЉУБИШИЋ ПЕТАР
+ЉУБИШИЋ СУЗАНА
+ЉУБИЋ АНЂЕЛКА
+ЉУБИЋ АНДРИЈА
+ЉУБИЋ ИВАН
+ЉУБИЋ ЈЕЛЕНА
+ЉУБИЋ МИРЈАНА
+ЉУБИЋ НАТАЛИЈА
+ЉУБИЋ ПЕРО
+ЉУБИЋ РАЈКО
+ЉУБИБРАТИЋ ЕДО
+ЉУБИБРАТИЋ ЛЕО
+ЉУБИНАЦ МИЛАНКА
+ЉУБИНКОВИЋ АЛЕКСАНДРА
+ЉУБИНКОВИЋ БОГОЉУБ
+ЉУБИНКОВИЋ ЛЕНКА
+ЉУБИНКОВИЋ МАРИЈА
+ЉУБИНКОВИЋ МИЛАНКО
+ЉУБИНКОВИЋ МИЛАН
+ЉУБИНКОВИЋ МИЛОРАД
+ЉУБИНКОВИЋ ПАВЛЕ
+ЉУБИНКОВИЋ САВА
+ЉУБИНКОВИЋ СТЕВАН
+ЉУБИНКОВИЋ ВЕЛИМИР
+ЉУБИСАВЉЕВИЋ ДАНИЦА
+ЉУБИСАВЉЕВИЋ МИША
+ЉУБИСАВЉЕВИЋ МИЛАН
+ЉУБИСАВЉЕВИЋ МИЛИЦА
+ЉУБОЈА ДРЕНКА
+ЉУБОЈА МЛАДЕН
+ЉУБОЈА СИЛВИЈА
+ЉУБОЈЕВ БИЉАНА
+ЉУБОЈЕВ ИВАН
+ЉУБОЈЕВ ЈЕЛЕНА
+ЉУБОЈЕВ ЛАЗАР
+ЉУБОЈЕВ МАЈА
+ЉУБОЈЕВ ПЕТАР МР
+ЉУБОЈЕВ РАЈКО
+ЉУБОЈЕВИЋ ЧЕДОМИР
+ЉУБОЈЕВИЋ АНЂЕЛИЈА
+ЉУБОЈЕВИЋ БОРИСЛАВ
+ЉУБОЈЕВИЋ БРАНКО
+ЉУБОЈЕВИЋ ДЕСИМИР
+ЉУБОЈЕВИЋ ДРАГИЦА
+ЉУБОЈЕВИЋ ИЛИЈА
+ЉУБОЈЕВИЋ ЈОВАН
+ЉУБОЈЕВИЋ ЈУЛКА
+ЉУБОЈЕВИЋ КАТИЦА
+ЉУБОЈЕВИЋ КОСТА
+ЉУБОЈЕВИЋ МАРКО
+ЉУБОЈЕВИЋ МАРКО
+ЉУБОЈЕВИЋ МИХАЈЛО
+ЉУБОЈЕВИЋ МИЛЕНА
+ЉУБОЈЕВИЋ МИЛИЦА
+ЉУБОЈЕВИЋ МИРКО
+ЉУБОЈЕВИЋ ОСТОЈА
+ЉУБОЈЕВИЋ ПЕТАР
+ЉУБОЈЕВИЋ РУЖА
+ЉУБОЈЕВИЋ РУЖИЦА
+ЉУБОЈЕВИЋ СЛАВКО
+ЉУБОЈЕВИЋ СЛОБОДАН
+ЉУБОЈЕВИЋ СТЕВАН
+ЉУБОЈЕВИЋ ТОДОР
+ЉУБОЈЕВИЋ ВЕЉКО
+ЉУБОЈЕВИЋ ВЛАДИМИР
+ЉУБОЈЕВИЋ ВЛАДИМИР
+ЉУБОЈЕВИЋ ВОЈИСЛАВ
+ЉУБОТИН ЈЕЛЕНА
+ЉУБОТИН РАДОСЛАВ
+ЉУБОТИНА-БРКИЋ РАЈНА
+ЉУБОВИЋ МАРИНКО
+ЉУБУШЧИК ПЕТАР
+ЉУКОВЧАНИН МИРЈАНА
+ЉУКОВЧАНИН ЗОРИЦА
+ЉУМОЖЕВСКИ ЈЕЛЕНА
+ЉУМОЖЕВСКИ МАРИЈА
+ЉУМОВИЋ ДАНИЦА
+ЉУТИЋ СТАНИКА
+ЉУТВИ РАДИВОЈ
+ЛОЧКИ ЈЕЛИСАВЕТА
+ЛОШИЋ МИЛОРАД
+ЛОШИЋ МИЛОРАД
+ЛОШИЋ МИТРА
+ЛОШОНЦ ХЕНРИЈЕТЕ
+ЛОБОДА АНТУН
+ЛОБОДА СТЕВАН
+ЛОЦ АНДРАШ
+ЛОЦ ЈОЖЕФ
+ЛОЦИ ИШТВАН
+ЛОДИ ГАБОР
+ЛОДИ ЈЕЛИСАВЕТА
+ЛОДИ ЛАСЛО
+ЛОГУНОВ АЛЕКСЕЈ ДИПЛ ИНГ
+ЛОЈАНИЧИЋ РАДИВОЈЕ
+ЛОЈАНИЦА БОШКО
+ЛОЈНА ИВАН
+ЛОЈОВИЋ БОЖИЦА
+ЛОЈОВИЋ ОСТОЈА
+ЛОЈОВИЋ РАНКО
+ЛОЈПУР МИЛОВАН
+ЛОКАС ДАРКО
+ЛОКИЋ ДАНИЦА
+ЛОКИЋ ЈЕЛЕНА
+ЛОКИЋ ЉУБИЦА
+ЛОКИЋ МИЛОВАН
+ЛОКИЋ ВЕРА
+ЛОЛИЋ БОШКО
+ЛОЛИЋ ДОБРИНКА
+ЛОЛИЋ МАРИЈА
+ЛОЛИЋ МИЛАН
+ЛОЛИЋ НЕДЕЉКО
+ЛОЛИЋ СЛАВКА
+ЛОЛИЋ ТОДОР
+ЛОЛИН ДЕЈАН
+ЛОЛИН ЗОРИЦА
+ЛОМЕН ЕЛЕНА
+ЛОМИЋ МОМИР
+ЛОМИЋ РАДОВАН
+ЛОМИЋ СЛОБОДАН
+ЛОМЈАНСКИ АДАМ
+ЛОМЈАНСКИ СТЕВАН
+ЛОМОВИЋ БРАТИСЛАВ МР ОЕЦ И ИУРЕ
+ЛОМОВИЋ МИХАИНА
+ЛОМОВИЋ МИХАИНА
+ЛОМПАР ДРАГАН
+ЛОМПАР МИТАР
+ЛОМПАР ПЕТАР
+ЛОМПАР САВА
+ЛОНЧАР ЧЕДОМИР
+ЛОНЧАР ЂУРО
+ЛОНЧАР БОШКО
+ЛОНЧАР БОЖИДАР
+ЛОНЧАР БОЈАНА
+ЛОНЧАР БОРИС
+ЛОНЧАР БРАНИСЛАВ
+ЛОНЧАР ДРАГАН
+ЛОНЧАР ДУШАН
+ЛОНЧАР ДУШАН
+ЛОНЧАР ДУШАН
+ЛОНЧАР ДУШАН
+ЛОНЧАР ГОЈКО
+ЛОНЧАР ГОРДАНА
+ЛОНЧАР ИЛИЈА
+ЛОНЧАР ЈЕЛИЦА
+ЛОНЧАР ЈОВАН
+ЛОНЧАР КОСТА
+ЛОНЧАР КСЕНИЈА
+ЛОНЧАР ЉУБИЦА
+ЛОНЧАР ЉУБИЦА
+ЛОНЧАР ЉУБИЦА
+ЛОНЧАР МАРКО
+ЛОНЧАР МИХАЈЛО
+ЛОНЧАР МИЛАН
+ЛОНЧАР МИЛАН
+ЛОНЧАР МИЛАН
+ЛОНЧАР МИЛАН
+ЛОНЧАР МИЛАН
+ЛОНЧАР МИЛАН
+ЛОНЧАР МИЛАН
+ЛОНЧАР МИЛАН
+ЛОНЧАР МИЛАН
+ЛОНЧАР МИЛАН
+ЛОНЧАР МИЛЕНКО
+ЛОНЧАР МИЛЕ
+ЛОНЧАР МИЛЕ
+ЛОНЧАР МИЛОРАД
+ЛОНЧАР МИРКО
+ЛОНЧАР МИРКО
+ЛОНЧАР НЕДЕЉКО
+ЛОНЧАР НЕВЕНКА
+ЛОНЧАР НИКОЛА
+ЛОНЧАР НИКОЛА
+ЛОНЧАР ПАНТЕЛИЈА
+ЛОНЧАР ПРЕДРАГ
+ЛОНЧАР РАДЕ
+ЛОНЧАР РАДОМИР
+ЛОНЧАР РАДОМИР
+ЛОНЧАР СИМО
+ЛОНЧАР СЛАВКО
+ЛОНЧАР СЛОБОДАН
+ЛОНЧАР-СРЕМЧЕВ ВЕРИЦА
+ЛОНЧАР СТЕВО
+ЛОНЧАР ТАТЈАНА
+ЛОНЧАР ВЕЛИМИР
+ЛОНЧАР ВЕРА
+ЛОНЧАР ВЛАДА
+ЛОНЧАР ВЛАДИМИРКА ДР
+ЛОНЧАР ВУКАШИН
+ЛОНЧАР ЗДРАВКО
+ЛОНЧАР ЗОРАН
+ЛОНЧАРЕВИЋ ЖИВОТА
+ЛОНЧАРЕВИЋ ИГЊАТ
+ЛОНЧАРЕВИЋ МИЛАН
+ЛОНЧАРЕВИЋ ПУНИША
+ЛОНЧАРЕВИЋ РАДОВАН
+ЛОНЧАРЕВИЋ ВИТОМИР
+ЛОНЧАРИЋ РАДМИЛА
+ЛОНЧАРСКИ ДРАГАНА
+ЛОНЧАРСКИ ДРАГИША
+ЛОНЧАРСКИ ПРЕДРАГ
+ЛОНЧАРСКИ САВА
+ЛОНЧАРСКИ СРЕДОЈЕ
+ЛОНЧИНА МИЉА
+ЛОНЧИНА ПРЕДРАГ
+ЛОНЦИЋ БЕРИСЛАВА
+ЛОНЦИЋ РАЈКО
+ЛОПАТИН НИКОЛА
+ЛОПИЧИЋ ШПИРО
+ЛОПИЧИЋ БРАНКО
+ЛОПИЧИЋ БРАНКО
+ЛОПИЧИЋ ЈЕЛИЦА
+ЛОПИЧИЋ ЈОВАН
+ЛОПИЧИЋ МИОДРАГ
+ЛОПИЧИЋ ОЛГА
+ЛОПИЧИЋ ВЕСЕЛИН
+ЛОПУШАНСКИ ДУШИЦА
+ЛОПУШИНА АЛЕКСАНДАР
+ЛОПУШИНА ЈЕЛИЦА
+ЛОРБЕК ЈОСИП
+ЛОРЕК ЈОВАН
+ЛОРЕНЦИН МИЛАН
+ЛОТИНА ДРАГАН
+ЛОТИНА МИРОСЛАВ
+ЛОТИНА СМИЉА
+ЛОВЧЕВИЋ ДАРИНКА
+ЛОВЧЕВИЋ ДРАГОСЛАВ
+ЛОВЧЕВИЋ МИЛИЋ
+ЛОВЧЕВИЋ ТОМИСЛАВ
+ЛОВЧЕВИЋ ВОЈИСЛАВ
+ЛОВАШ РОЗАЛИЈА
+ЛОВАДИНОВ СВЕТОЗАР
+ЛОВАС ИВАН
+ЛОВИЋ КУЗМАН
+ЛОВРЕ ЧЕДО
+ЛОВРЕ ДРАГАН
+ЛОВРЕ ЉИЉАНА
+ЛОВРЕ МИЛОШ
+ЛОВРЕ САВО
+ЛОВРЕ СЛАВКО
+ЛОВРЕ СТЕВАН
+ЛОВРЕКОВИЋ ТОМИСЛАВ
+ЛОВРЕКОВИЋ ЗЛАТКО
+ЛОВРЕН СЛАВКО
+ЛОВРЕНЧИЋ КАТИЦА
+ЛОВРЕНОВИЋ МИРОСЛАВА
+ЛОВРЕНСКИ ДУШАН
+ЛОВРЕНСКИ ДУШАН
+ЛОВРИЋ ЖЕЉКО
+ЛОВРИЋ ЖЕЉКО
+ЛОВРИЋ ЂУРА
+ЛОВРИЋ ДИВНА
+ЛОВРИЋ МАРКО
+ЛОВРИЋ НИКОЛА
+ЛОВРИЋ ПЕТАР
+ЛОВРИЋ РАЈКО
+ЛОВРИЋ РАТКО
+ЛОВРИЋ СЛАВКО
+ЛОВРИЋ СЛАВКО
+ЛОВРИЋ СТЕВАН
+ЛОВРИЋ СТЕВАН
+ЛОВРИЋ ТАТЈАНА
+ЛОВРИЋ ТРИВУН
+ЛОВРИН ДАРА
+ЛОВРИН ДРАГАН
+ЛОЗАНЧИЋ НИКО
+ЛОЗАНИЋ ИВАН ДИПЛ ИНГ
+ЛОЗАНИЋ-ПАВЛОВИЋ ЂУРЂИНКА
+ЛОЗАНОВ ЕМИЛ
+ЛОЗАНОВ САВА
+ЛОЗИЋ ЈОСИП
+ЛОЗИЋ КРСТА
+ЛОЗИЋ КСЕНИЈА
+ЛОЗИЋ МИОДРАГ ДИПЛ ИНГ
+ЛОЗИЋ ТОМИСЛАВ
+ЛОЗЈАНИН НИКОЛА
+ЛОЗЈАНИН НИКОЛА
+ЛОЗЈАНИН НИКОЛА
+ЛОЗОВОЈ ЉУБИЦА
+ЛУЧАК ЗЛАТИЦА
+ЛУЧАР МИЛАДИН
+ЛУЧАР МИЛАН
+ЛУЧАР ВЕРА
+ЛУЧИ АНИЦА
+ЛУЧИ ИВАН
+ЛУЧИЋ ЧЕДОМИР
+ЛУЧИЋ ЖИВКО
+ЛУЧИЋ ЂОКО
+ЛУЧИЋ ЂОРЂЕ
+ЛУЧИЋ ЂУРЂИНА
+ЛУЧИЋ АЛЕКСАНДАР ДР
+ЛУЧИЋ АЛЕКСАНДРА
+ЛУЧИЋ БРАНКО
+ЛУЧИЋ ДРАГАН
+ЛУЧИЋ ДРАГИЦА
+ЛУЧИЋ ДРАГИЊА
+ЛУЧИЋ ДРАГУТИН
+ЛУЧИЋ ГЕОРГИЈЕ
+ЛУЧИЋ ЈЕЛЕНА
+ЛУЧИЋ ЈЕЛИЦА
+ЛУЧИЋ ЈОВАН МР
+ЛУЧИЋ ЈОВАН
+ЛУЧИЋ ЈОВАН
+ЛУЧИЋ ЈОВИЦА
+ЛУЧИЋ ЛАЗО
+ЛУЧИЋ ЉУБАН
+ЛУЧИЋ ЉУБОМИР
+ЛУЧИЋ ЉУБО
+ЛУЧИЋ МИХАЈЛО
+ЛУЧИЋ МИЛАН
+ЛУЧИЋ МИЛЕНКО
+ЛУЧИЋ МИЛЕНКО
+ЛУЧИЋ МИЛИЦА
+ЛУЧИЋ МИЛИВОЈЕ
+ЛУЧИЋ МИЛОШ
+ЛУЧИЋ МИЛОЈИЦА
+ЛУЧИЋ МИЛОЈКА
+ЛУЧИЋ МИЛОМИР
+ЛУЧИЋ МИЛОСАВА
+ЛУЧИЋ МИЛУТИН
+ЛУЧИЋ МИОДРАГ
+ЛУЧИЋ МИРЈАНА
+ЛУЧИЋ МИРОСЛАВА
+ЛУЧИЋ МОМЧИЛО
+ЛУЧИЋ МОМИР
+ЛУЧИЋ НАДА
+ЛУЧИЋ ОБРАД
+ЛУЧИЋ ПАНТА
+ЛУЧИЋ ПАВА
+ЛУЧИЋ ПЕТАР
+ЛУЧИЋ ПЕТКО
+ЛУЧИЋ ПЕТКО
+ЛУЧИЋ РАЈКО
+ЛУЧИЋ РИСТО
+ЛУЧИЋ СЛАВКО
+ЛУЧИЋ СЛАВНА
+ЛУЧИЋ СОФИЈА
+ЛУЧИЋ СПАСОЈЕ
+ЛУЧИЋ СТЕФАНИЈА
+ЛУЧИЋ СТЕВАН
+ЛУЧИЋ ВАСО
+ЛУЧИЋ ВЛАДО
+ЛУЧИЋ ВОЈИН
+ЛУЧИЋ ЗДРАВКО
+ЛУШИНОВСКИ ДИМИТРИЈЕ
+ЛУЖАИЋ ЂОРЂЕ
+ЛУЖАИЋ ЂОРЂЕ
+ЛУЖАИЋ АНКА
+ЛУЖАИЋ БОЖИЦА
+ЛУЖАИЋ ДУШКО
+ЛУЖАИЋ ЈАДРАНКА
+ЛУЖАИЋ ЈУЛКА
+ЛУЖАИЋ МИРА
+ЛУЖАИЋ ВЛАДИМИР
+ЛУЖАИЋ ВЛАДИМИР
+ЛУЖАЈИЋ АНКА
+ЛУЖАЈИЋ ЈАДРАНКА
+ЛУЖАЈИЋ МИЛЕНА
+ЛУЖАЈИЋ НАДА
+ЛУЖАЈИЋ СТАНКО
+ЛУЖАЈИЋ СТАНКО
+ЛУЖАЈИЋ СТОЈАН
+ЛУЖАНИН СВЕТОЗАР
+ЛУБАШЧИК АНТАЛ
+ЛУБАШЧИК ЛАСЛО
+ЛУБАРДА ЉУБИЦА
+ЛУБАРДА СТЕВАН
+ЛУБЕН РАНКО
+ЛУБЕН САВА
+ЛУБУРИЋ ЧЕДОМИР
+ЛУБУРИЋ ДАНИЛО
+ЛУБУРИЋ МИЛОРАД
+ЛУБУРИЋ МИЛОРАД
+ЛУБУРИЋ МИЛОВАН
+ЛУБУРИЋ МИОДРАГ
+ЛУБУРИЋ МИРКО
+ЛУБУРИЋ НАДА
+ЛУБУРИЋ РАДОМИР
+ЛУБУРИЋ РАЈКО
+ЛУБУРИЋ СТАНА
+ЛУБУРИЋ СТЕВАН
+ЛУЦ ЈАНОШ
+ЛУЦ ЈУЛИЈА
+ЛУЦИЋ ЖИВОЈИН
+ЛУЦИЋ АЛЕКСАНДРА
+ЛУЦИЋ ПЕТАР
+ЛУЦИЋ РАДИВОЈ
+ЛУЦКАРЖ ВЛАДИМИР
+ЛУДАЈИЋ ДУШАН ДИПЛ ИНГ
+ЛУДАЈИЋ ВЕРА
+ЛУДОШКИ АНЂЕЛКО
+ЛУДОШКИ КАТИЦА
+ЛУДОШКИ ЛАЗАР
+ЛУДОШКИ ЛАЗАР
+ЛУДОШКИ ЉУБИЦА
+ЛУДОШКИ ЉУБОМИР
+ЛУДОШКИ МИЛЕНКО
+ЛУДОШКИ ВЕЛИМИР
+ЛУДРОВАН СТЕВА
+ЛУГОЊА ЛАЗО
+ЛУГОЊА ПЕТАР
+ЛУГОЊА РАДИВОЈ
+ЛУГОЊА САВА
+ЛУГОЊА СЛОБОДАН
+ЛУГОЊА ВЕЉКО
+ЛУГОЊА ВИДОЈЕ
+ЛУГУМЕРСКИ ДАНИЦА
+ЛУИНОВИЋ МИЛАН
+ЛУЈАНОВ ДРАГОСЛАВ
+ЛУЈИНОВИЋ МИЛАН
+ЛУЈНОВИЋ БРАНКА
+ЛУКАЧ ШАНДОР
+ЛУКАЧ АНДРАШ
+ЛУКАЧ АНКИЦА
+ЛУКАЧ АРАНКА
+ЛУКАЧ БОШКО
+ЛУКАЧ БОШКО
+ЛУКАЧ БОЖИДАР
+ЛУКАЧ БРАНИСЛАВ
+ЛУКАЧ ДАНИЛО
+ЛУКАЧ ДРАГАН
+ЛУКАЧ ДРАГОСЛАВ ДР
+ЛУКАЧ ФЕРЕНЦ
+ЛУКАЧ ФРАНЦИШКА
+ЛУКАЧ ФРАЊА
+ЛУКАЧ ГРОЗДА
+ЛУКАЧ ИГЊАТ
+ЛУКАЧ ИВАН
+ЛУКАЧ ЛАЗАР
+ЛУКАЧ МИХАЈЛО
+ЛУКАЧ МИХАЈЛО
+ЛУКАЧ МИХАЈЛО
+ЛУКАЧ МИЛЕВА
+ЛУКАЧ НАДЕЖДА
+ЛУКАЧ ПЕТАР
+ЛУКАЧ ПЕТАР
+ЛУКАЧ РАДЕ
+ЛУКАЧ САВА
+ЛУКАЧ СЛОБОДАНКА
+ЛУКАЧ СЛОБОДАН
+ЛУКАЧ СТЕВАН
+ЛУКАЧ СВЕТКО
+ЛУКАЧ ВЕЛИМИР
+ЛУКАЧЕВИЋ ЉУБИША
+ЛУКАЧИ ЈЕЛИСАВЕТА
+ЛУКАЧИ ЈУЛИЈАНА
+ЛУКАЈИЋ ЛАЗАР МР
+ЛУКАН ЂОРЂЕ
+ЛУКАН ВИНЦЕНЦ
+ЛУКАНИЋ ФРИЂЕШ
+ЛУКАНИЋ СТЕВАН
+ЛУКАТЕЛИ ИВАНКА
+ЛУКАВАЦ СМИЉКА
+ЛУКАВАЦ ЗОРАН
+ЛУКЕШЕВИЋ ДРАГАН
+ЛУКЕНИЋ ЉИЉАНА
+ЛУКЕТА РАДМИЛА
+ЛУКИЧИЋ БОГДАН ДИПЛ ИНГ
+ЛУКИЧИЋ КАТИЦА
+ЛУКИЧИЋ РАДА
+ЛУКИЧИЋ СЛОБОДАН
+ЛУКИЧИЋ СЛОБОДАН
+ЛУКИЋ ЖИВОРАД
+ЛУКИЋ ЖИВОРАД
+ЛУКИЋ ЖИВОТА
+ЛУКИЋ ЂУРА
+ЛУКИЋ ЂУРО
+ЛУКИЋ АЛЕКСАНДАР
+ЛУКИЋ АЛЕКСАНДАР
+ЛУКИЋ АЛЕКСАНДАР
+ЛУКИЋ АНГЕЛИНА
+ЛУКИЋ БЕРТА
+ЛУКИЋ БОШКО
+ЛУКИЋ БОЖИДАР
+ЛУКИЋ БОГОЉУБ
+ЛУКИЋ БОРИВОЈЕ
+ЛУКИЋ БОРО
+ЛУКИЋ БОСИЉКА
+ЛУКИЋ ЦВЕТА
+ЛУКИЋ ЦВЈЕТКО
+ЛУКИЋ ДАНЕ
+ЛУКИЋ ДАНЕ
+ЛУКИЋ ДАРИНКА
+ЛУКИЋ ДИМИТРИЈЕ
+ЛУКИЋ ДОБРИЛА
+ЛУКИЋ ДОБРОСАВ
+ЛУКИЋ ДРАГАН
+ЛУКИЋ ДРАГА
+ЛУКИЋ ДРАГОЈЕ
+ЛУКИЋ ДРАГОСЛАВА
+ЛУКИЋ ДУШАНКА
+ЛУКИЋ ДУШАН
+ЛУКИЋ ДУШАН
+ЛУКИЋ-ФУДЕРЕР ЈОЛАНКА
+ЛУКИЋ ГРОЗДА
+ЛУКИЋ ГРУЈИЦА ДИПЛ ИНГ
+ЛУКИЋ ИЛИЈА
+ЛУКИЋ ИЛИЈА
+ЛУКИЋ ИЛИЈА
+ЛУКИЋ ИВАН
+ЛУКИЋ ИВАН
+ЛУКИЋ ИВАН
+ЛУКИЋ ЈАДРАНКА
+ЛУКИЋ ЈАСМИНА
+ЛУКИЋ ЈЕЛЕНА
+ЛУКИЋ ЈЕЛЕНА
+ЛУКИЋ ЈЕЛЕНА
+ЛУКИЋ ЈЕЛИЦА
+ЛУКИЋ ЈОВАНКА
+ЛУКИЋ ЈОВАН
+ЛУКИЋ ЈОВАН
+ЛУКИЋ ЈОВАН
+ЛУКИЋ ЈОВО
+ЛУКИЋ ЈОВО
+ЛУКИЋ ЈУЛКА
+ЛУКИЋ КАТАРИНА
+ЛУКИЋ КОСТА
+ЛУКИЋ КОСТА
+ЛУКИЋ ЛАЗАР
+ЛУКИЋ ЉИЉАНА
+ЛУКИЋ ЉУБА
+ЛУКИЋ ЉУБИША ДР ЛЕКАР
+ЛУКИЋ ЉУБИЦА
+ЛУКИЋ ЛЈУБОМИР
+ЛУКИЋ МАРА
+ЛУКИЋ МАРИЈА
+ЛУКИЋ МАРКО
+ЛУКИЋ МАРКО
+ЛУКИЋ МАРКО
+ЛУКИЋ МИЋА
+ЛУКИЋ МИЛАН
+ЛУКИЋ МИЛАН
+ЛУКИЋ МИЛАН
+ЛУКИЋ МИЛАН
+ЛУКИЋ МИЛАН
+ЛУКИЋ МИЛАН
+ЛУКИЋ МИЛАН
+ЛУКИЋ МИЛЕ
+ЛУКИЋ МИЛИЈА
+ЛУКИЋ МИЛКА
+ЛУКИЋ МИЛОШ
+ЛУКИЋ МИЛОРАД
+ЛУКИЋ МИЛОРАД
+ЛУКИЋ МИОДРАГ
+ЛУКИЋ МИРЈАНА
+ЛУКИЋ МИРЈАНА
+ЛУКИЋ МИРОСЛАВ
+ЛУКИЋ МИРОСЛАВ
+ЛУКИЋ МОМЧИЛО
+ЛУКИЋ НЕВЕНА
+ЛУКИЋ НИКОЛА
+ЛУКИЋ НИКОЛА
+ЛУКИЋ НИКОЛА
+ЛУКИЋ НОВКА
+ЛУКИЋ ОБРАД
+ЛУКИЋ ОЛГА
+ЛУКИЋ ОЛГИЦА
+ЛУКИЋ ПЕТАР
+ЛУКИЋ ПЕТАР
+ЛУКИЋ ПЕТАР
+ЛУКИЋ ПЕТАР
+ЛУКИЋ РАДОСАВ
+ЛУКИЋ РАДОСЛАВ
+ЛУКИЋ РАДОВАН
+ЛУКИЋ РАДОВАН
+ЛУКИЋ РАЈКО
+ЛУКИЋ РИСТО
+ЛУКИЋ РУЖА
+ЛУКИЋ РУЖА
+ЛУКИЋ САВКА
+ЛУКИЋ СЛОБОДАНКА
+ЛУКИЋ СЛОБОДАН
+ЛУКИЋ СЛОБОДАН
+ЛУКИЋ СЛОБОДАН
+ЛУКИЋ СЛОБОДАН
+ЛУКИЋ СОФИЈА
+ЛУКИЋ СОФИЈА
+ЛУКИЋ СТАНА
+ЛУКИЋ СТАНИША
+ЛУКИЋ СТАНИСЛАВ
+ЛУКИЋ СТЕВАН
+ЛУКИЋ СТЕВАН
+ЛУКИЋ-СТЕВИЋ ЉИЉАНА
+ЛУКИЋ СТЕВО
+ЛУКИЋ СТОЈАНКА
+ЛУКИЋ СТОЈАН
+ЛУКИЋ СВЕТЛАНА
+ЛУКИЋ ТАМАРА
+ЛУКИЋ ТОМИСЛАВ
+ЛУКИЋ ТОМИСЛАВ
+ЛУКИЋ ВЕЛИБОР ДР
+ЛУКИЋ ВЕЛИБОР ДР
+ЛУКИЋ ВЕЛИМИР
+ЛУКИЋ ВЕЉКО
+ЛУКИЋ ВЕРА
+ЛУКИЋ ВЕРИЦА
+ЛУКИЋ ВЕРОНА
+ЛУКИЋ ВЕРОНИКА
+ЛУКИЋ ВЕСЕЛИН
+ЛУКИЋ ВИДОСАВА
+ЛУКИЋ ВЛАДИМИР ДИПЛ ИНГ
+ЛУКИЋ ВЛАДИМИР
+ЛУКИЋ ВОЈИН
+ЛУКИЋ ВУКОСАВ
+ЛУКИЋ ВУК
+ЛУКИЋ ЗОРАН
+ЛУКИЋ ЗОРАН
+ЛУКИЋ ЗОРАН
+ЛУКИЋ ЗОРКА
+ЛУКО ШАНДОР
+ЛУКО АНДРАШ
+ЛУКОВАЦ АНИЦА
+ЛУКОВАЦ ДРАГАН
+ЛУКОВАЦ МИЛАН
+ЛУКОВАЦ МИЛОВАН
+ЛУКОВИЋ ДУШАН
+ЛУКОВИЋ ИВАН
+ЛУКОВИЋ ЈОВАН
+ЛУКОВИЋ МИЛАН
+ЛУКОВИЋ МИЛОРАД
+ЛУКОВИЋ МИЛОРАД
+ЛУКОВИЋ МИЛУТИН
+ЛУКОВИЋ СЛАВКО
+ЛУКОВИЋ СЛОБОДАНКА
+ЛУКОВИЋ ВЛАДИМИР
+ЛУЛИЋ АНА
+ЛУЛИЋ АНТУН
+ЛУЛИЋ ФРАЊА
+ЛУЛИЋ ИВАН МР
+ЛУЛИЋ ИВАН
+ЛУЛИЋ МАЈА
+ЛУЛИЋ МАРКО
+ЛУНГ ДРАГАН
+ЛУНГ СТЕВАН
+ЛУНГИНОВИЋ МАРИЈА
+ЛУНГУЛОВ МИЛИВОЈ
+ЛУПШИЋ ЈУЛИЈАНА
+ЛУПШИЋ КОРНЕЛ
+ЛУПШИЋ КОРНЕЛ
+ЛУПШОР СТЕЛА
+ЛУПИНСКИ НИНОСЛАВ
+ЛУПИНСКИ ВЛАДИМИР
+ЛУПУЦ ЈЕЛИЦА
+ЛУПУРОВ ЛАЗА
+ЛУПУРОВИН НЕВЕНКА
+ЛУТКИЋ ЖИВКА
+ЛУТКИЋ ЂОРЂЕ
+ЛУТКИЋ АЛЕКСАНДРА
+ЛУТКИЋ ЛАЗАР
+ЛУТКИЋ МИЛОРАД
+ЛУТКИЋ СТАНКО
+ЛУТКИЋ СТЕВАН
+ЛУТКИЋ ЗАГОРКА
+ЛУТРОВ НАДА
+ЛУВРАДОВ БЛАГОЈЕ
+МАЧЕК ЈОВАН
+МАЧКИЋ БРАНКО
+МАЧКИЋ ДРАГИЦА
+МАЧКИЋ ЈАНКО
+МАЧКИЋ ЈАНКО
+МАЧКИЋ МИЛЕНА
+МАЧКИЋ МИЛЕНКО
+МАЧКИЋ МИЛЕВКА
+МАЧКИЋ МИЛИВОЈ
+МАЧКИЋ МИЉКА
+МАЧКИЋ МИЛОШ
+МАЧКИЋ НЕДЕЉКО
+МАЧКИЋ НЕНАД
+МАЧКИЋ ПЕТРА
+МАЧКИЋ СТЕВО
+МАЧКИЋ ВАСО
+МАЧКИЋ ВЛАДИМИР
+МАЧКОВИЋ МИЛАНА
+МАЧКОВИЋ МИЛАН
+МАЧКОВИЋ ТОМА
+МАЧУКАТ ГРГО
+МАЧВАНИН БОЈАНА ДР ЛЕКАР
+МАША ЕРЖЕБЕТ
+МАША МИХАЈЛО
+МАША ВЛАДИМИР
+МАШАНОВИЋ ЂОРЂЕ ДИПЛ ИНГ
+МАШАНОВИЋ ЂОРЂИЈЕ
+МАШАНОВИЋ БЛАЖО
+МАШАНОВИЋ БОСИЉКА
+МАШАНОВИЋ БРАНИСЛАВ
+МАШАНОВИЋ ДРАГО
+МАШАНОВИЋ НИКОЛА
+МАШАНОВИЋ ПЕТАР
+МАШАНОВИЋ ПЕТАР
+МАШАНОВИЋ ПЕТАР
+МАШАНОВИЋ ЗОРАН
+МАШИЋ ЖАРКО
+МАШИЋ ЖИВАН
+МАШИЋ БОРИС
+МАШИЋ ДРАГАН
+МАШИЋ ДРАГИЋ
+МАШИЋ ИШТВАН
+МАШИЋ ИМРЕ
+МАШИЋ ИВАН
+МАШИЋ ЈОВАН
+МАШИЋ КАРОЉ
+МАШИЋ МАНДА
+МАШИЋ МИЛАН ДР
+МАШИЋ МИЛИНКО
+МАШИЋ МИЛИВОЈ
+МАШИЋ МИЉАНА
+МАШИЋ МИЛОЈЕ
+МАШИЋ МИРА
+МАШИЋ МИРКО
+МАШИЋ МИРОСЛАВ
+МАШИЋ НАДА
+МАШИЋ ПЕТАР
+МАШИЋ РЕШАД
+МАШИЋ СЕНКА
+МАШИЋ СЕНКА
+МАШИЋ СИМЕОН
+МАШИЋ СТЕВАН
+МАШИЋ ТОМИСЛАВ
+МАШИЋ ВЕРА
+МАШИЋ ВИКТОР
+МАШИЋ ВУЧЕТА
+МАШИРЕВИЋ ГОРДАНА
+МАШИРЕВИЋ СТЕВАН
+МАШКОВИЋ НОВИЦА
+МАШКОВИЋ ЗОРАН
+МАШТРАПОВИЋ ДРАГОЉУБ
+МАШУЛОВИЋ ЈАСМИНА
+МАШУЛОВИЋ ЈОВАНКА
+МАЋАШ СТЕВАН
+МАЋАШ ВАСА
+МАЋАШЕВ АЛЕКСАНДАР
+МАЋАШЕВ БРАНИСЛАВ
+МАЋАШЕВ ДАНИЛО
+МАЋАШЕВИЋ ВЛАДИМИР
+МАЋЕШИЋ ЈОСИП
+МАЋЕШИЋ МИХАИЛО
+МАЋКО ЈОЖЕФ
+МАЋКО ВИЛМОШ
+МАЖИЋ ЂОРЂЕ
+МАЖИЋ ДРАГИША
+МАЖИЋ МИРА
+МАЖИЋ ПЕТАР
+МАЖИЋ РУЖА
+МАЖИБРАДА ВАСО
+МАЖИБРАДА-ВУГРИН МАРТА ДИПЛ ИНГ
+МАЂАР БОЖИДАР
+МАЂАР ЕРЖЕБЕТ
+МАЂАР ЈОВАН
+МАЂАР ЈОВАН
+МАЂАР ЛАДИСЛАВ
+МАЂАР СТЕВАН
+МАЂАРЕВИЋ АЛЕКСАНДАР
+МАЂАРЕВИЋ ИВАН
+МАЂАРЕВИЋ КОСТА
+МАЂАРЕВИЋ МИЛЕ
+МАЂАРЕВИЋ МИЛОШ
+МАЂАРЕВИЋ СПАСОЈЕ
+МАЂАРЕВИЋ ЗОРИЦА
+МАЂАРИ АНДОР
+МАЂИСТОРОВ ВЛАДИМИР
+МАЦАК ПАВЛЕ
+МАЦАК ВЛАДИМИР
+МАЦАНОВИЋ ДУШАН
+МАЦАНОВИЋ ЈЕЛЕНА
+МАЦАНОВИЋ ЈЕВРОСИМА
+МАЦАНОВИЋ ЈОВАН
+МАЦАНОВИЋ МИЛОШ
+МАЦАНОВИЋ РАТКО
+МАЦЕДОНИЋ БОГДАН ДР
+МАЦЕДОНИЋ ГОРДАНА
+МАЦЕДОНИЋ СТАНИМИР
+МАЦЕДОНИЋ ВЛАДИМИР
+МАЦКО ЂУРА
+МАЦКО АНА
+МАЦНЕР ДАВОР
+МАЦУРА ЧЕДО
+МАЦУРА ЂОРЂЕ
+МАЦУРА ДОБРИНКА
+МАЦУРА ДРАГО
+МАЦУРА ЛИДИЈА
+МАЦУРА МИЛОШ
+МАЦУРА МИЛОРАД
+МАЦУРА МИРОСЛАВ
+МАЦУРА ПЕТАР
+МАЦУРА ТЕОДОР
+МАЦУТ МИЛОШ
+МАЏАР БОРИСЛАВ
+МАЏАР МИЛОРАД
+МАЏАР МИРКО
+МАЏАРАЦ ЧЕДОМИР
+МАЏАРАЦ ДУШАН ДИПЛ ИНГ
+МАЏАРЕВ ДУШАН
+МАЏАРЕВ МИЛАНКА
+МАЏАРЕВИЋ ЖИВОРАД
+МАЏАРЕВИЋ ЂОРЂЕ
+МАЏАРЕВИЋ БИСЕРКА
+МАЏАРЕВИЋ МАРКО
+МАЏАРЕВИЋ САВА
+МАЏГАЉ МИЛЕНКО
+МАЏГАЉ СЛОБОДАН
+МАЏОВСКИ САНДЕ
+МАДАЧИ МАРИЈА
+МАДАЦКИ АНТАЛ
+МАДАЦКИ ЈАН
+МАДАЦКИ ЈОСИП
+МАДАЦКИ КАРЛО
+МАДАРАС АНДРАШ
+МАДАРАС АРПАД
+МАДАРАС МАЋАШ
+МАДАРАС МАРИЈА
+МАДАРАС РОЗАЛИЈА
+МАДИ ЂУРИЦА
+МАДИ ЈОЖЕФ
+МАДИЋ БОЖИДАР ДИПЛ ИНГ
+МАДИЋ МАРИЈАН
+МАДИЋ МИЛИСАВ
+МАДОНИЋ СТЈЕПАН
+МАДОВ ИЛИЈА
+МАГАРАШЕВИЋ АНАМАРИЈА
+МАГАРАШЕВИЋ БОРИВОЈ
+МАГАРАШЕВИЋ КАТАРИНА
+МАГАРАШЕВИЋ МИРКО
+МАГАРАШЕВИЋ НАДА
+МАГДА КЛАРА
+МАГДАЛЕНИЋ ВЕРЈОВ
+МАГДИЋ ТОМИСЛАВ
+МАГДУ ЈОН ДИПЛ ИНГ
+МАГДУ ЛИА
+МАГДУ РОДИКА ЛЕКАР
+МАГИЋ НИКОЛА
+МАГЛАЈЛИЋ САБРИЈА
+МАГЛИЋ ЈОВАН
+МАГЛИНСКИ БОРИСЛАВ ДИПЛ ПРАВНИК
+МАГЛОВ АЛЕКСАНДАР
+МАГЛОВ ДРАГОЉУБ
+МАГЛОВ ДУШАН
+МАГЛОВСКИ ДУШКО
+МАГЛОВСКИ ЈОСИП
+МАГЛОВСКИ МАРГИТА
+МАГЛОВСКИ МИЛИЦА
+МАГЛОВСКИ МИРОСЛАВ
+МАГЛОВСКИ СТЕВАН
+МАГЛОВСКИ СТЕВАН
+МАГОЧ ФРАЊА
+МАГОЧ ЈУЛИЈАН
+МАГОЧ МИРОЊ
+МАГОШ ШАНДОР
+МАГОШ ЈЕЛИСАВЕТА
+МАГОШ ЈУЛИЈАНА
+МАГОШ МАРИЈА
+МАГУРА ТОМА
+МАХЂИК ЕЛЕНА
+МАХАЧИ ЈАНОШ
+МАХМУТИ МАХМУТ
+МАХМУТИ ЗУЗАНА
+МАХОВАЦ МИЛОРАД
+МАИЦХЕР ЂОРЂЕ
+МАЈШАИ ФЕРЕНЦ
+МАЈШАИ КЛАРА
+МАЈДАНЧЕВИЋ МИТАР
+МАЈДАНАЦ ДРАГИЊА
+МАЈДАНЏИЋ ЈОЗО
+МАЈДАНЏИЋ ПЕРИЦА
+МАЈДАНЏИЋ ПЕТАР
+МАЈДЕВАЦ ЖИВКО ДР
+МАЈДЕВАЦ РАДОВАН
+МАЈЕР ШАНДОР
+МАЈЕР ЕДУАРД
+МАЈЕР ЈАНОШ
+МАЈЕР ЈОВАН
+МАЈЕР КАТИЦА
+МАЈЕР МАРИЈА
+МАЈЕР НИКОЛА
+МАЈЕР ПЕТАР
+МАЈЕР СТЕВАН
+МАЈЕРСКИ ШТЕФАН
+МАЈЕТИЋ АНТОН
+МАЈЕТИЋ МАРИЈА
+МАЈЕТИЋ НИКОЛА
+МАЈИЋ СТЕВАН
+МАЈИЋ ВЕСНА
+МАЈИЋ ЗОРАН
+МАЈИЋ ЗОРАН
+МАЈИН ЕФИМИЈА
+МАЈИН МИОДРАГ
+МАЈИНСКИ ЗОРА
+МАЈКИЋ АЛЕКСАНДРА
+МАЈКИЋ БОГДАН
+МАЈКИЋ БОГДАН
+МАЈКИЋ ДРАГАН
+МАЈКИЋ ИЛИЈА
+МАЈКИЋ ИВАНКА
+МАЈКИЋ ЈОЦА
+МАЈКИЋ МИЛАН
+МАЈКИЋ МИЛАН
+МАЈКИЋ МИЛАН
+МАЈКИЋ МИЛАН
+МАЈКИЋ МИРОСЛАВ
+МАЈКИЋ НИКОЛА
+МАЈКИЋ ОБРАД
+МАЈКИЋ РАДЕ
+МАЈКИЋ РАДОЈКА
+МАЈКИЋ СТОЈАНКА
+МАЈКИЋ ВЕЉКО
+МАЈКИЋ ВЛАДО
+МАЈКИЋ ЗДРАВКО
+МАЈКИЋ ЗОРАН
+МАЈКСНЕР ЂОРЂЕ
+МАЈОР ЂУРА
+МАЈОР АНА
+МАЈОР ФЕРЕНЦ ДР ИНГ
+МАЈОР ЈОЖЕФ
+МАЈОР ЈОЖЕФ
+МАЈОР КАРОЉ
+МАЈОР КАРОЉ
+МАЈОР МАРГИТА
+МАЈОР МАРИЈА
+МАЈОР МАРИЈА
+МАЈОР НАНДОР
+МАЈОР СТЕВАН
+МАЈОРЧИК ФРАЊА
+МАЈОРОШ БЕЛА ДР
+МАЈОРОШ ДЕЖЕ
+МАЈОРОШ ЈОВАН
+МАЈОРОШ ЛАЈОШ
+МАЈОРОШ СТЕВАН
+МАЈОРОШ ТЕРЕЗИЈА
+МАЈОРОШИ-ДЕУРА МАРИЈА
+МАЈОРОШИ ИМРЕ
+МАЈСКИ ЈЕЛИЦА
+МАЈСКИ ЈОВАН
+МАЈСКИ МИЛАН
+МАЈСКИ НИКОЛА
+МАЈСКИ СЛАВКО
+МАЈСКИ ВЕСНА
+МАЈСТОРАЦ ДРАГАН
+МАЈСТОРАЦ ЉУБОМИР
+МАЈСТОРАЦ ПЕТАР
+МАЈСТОРАЦ САВО
+МАЈСТОРОВ ЉУБИША
+МАЈСТОРОВ ВЛАДИМИР
+МАЈСТОРОВИЋ ЂУРАЂ
+МАЈСТОРОВИЋ АНЂА
+МАЈСТОРОВИЋ АНКА
+МАЈСТОРОВИЋ БОГДАН
+МАЈСТОРОВИЋ БОРИВОЈ
+МАЈСТОРОВИЋ БОРИВОЈ
+МАЈСТОРОВИЋ ДАРКО
+МАЈСТОРОВИЋ ДРАГАН
+МАЈСТОРОВИЋ ДРАГОМИР
+МАЈСТОРОВИЋ ДУШАН
+МАЈСТОРОВИЋ ДУШКО
+МАЈСТОРОВИЋ ГОРДАНА
+МАЈСТОРОВИЋ КАТИЦА
+МАЈСТОРОВИЋ-КОСТИЋ ВЕСНА
+МАЈСТОРОВИЋ ЉИЉАНА
+МАЈСТОРОВИЋ МИЛАН
+МАЈСТОРОВИЋ МИЛАН
+МАЈСТОРОВИЋ МИЛИЦА
+МАЈСТОРОВИЋ НЕЂО
+МАЈСТОРОВИЋ НЕБОЈША
+МАЈСТОРОВИЋ НЕВЕНКА
+МАЈСТОРОВИЋ НИКОЛА
+МАЈСТОРОВИЋ ПЕТАР
+МАЈСТОРОВИЋ РАДОСЛАВ
+МАЈСТОРОВИЋ САВКА
+МАЈСТОРОВИЋ СИМА
+МАЈСТОРОВИЋ СЛОБОДАН
+МАЈСТОРОВИЋ СВЕТЛАНА
+МАЈСТОРОВИЋ ТЕОДОР
+МАЈСТОРОВИЋ УРОШ
+МАЈСТОРОВИЋ ВАСА
+МАЈСТОРОВИЋ ВИТОМИР
+МАЈСТОРОВИЋ ВУКАШИН
+МАЈСТОРОВИЋ ВУКОСАВА
+МАЈТАН ЂОРЂЕ ДИПЛ ИНГ
+МАЈТАН КАРЛО
+МАЈТАН МИХАЈЛО
+МАЈТАН ПАВЛЕ
+МАК АНДРИЈА
+МАК ЈОСИПА
+МАК ОСКАР
+МАКША АНА
+МАКША ЈОВАН
+МАКША КАРЛО
+МАКША ПЕТАР
+МАКАЈИ ЈАКОВ
+МАКАЈИ ЈАНКО
+МАКАН ЈАН
+МАКАЊИЋ БОЈАН
+МАКАЊИЋ МИЛИСАВ
+МАКАРИЋ НАДА
+МАКАРИЋ СТЕВАН
+МАКАРИЋ ВИДА
+МАКАРИЋ ЗОРАН
+МАКАРИН ЖАРКО
+МАКАРИН ЗВОНИМИР ДИПЛ ИНГ
+МАКИШ РУЖА
+МАКИШ ВЛАТКО
+МАКИТАН ЈОВАН
+МАКИВИЋ МИХАЈЛО
+МАКИВИЋ МИЛОШ
+МАКИВИЋ САВА
+МАКИВИЋ СТАНИСЛАВ
+МАКЈИ ЗДЕНКА
+МАКЛЕНОВИЋ РАДА
+МАКЉЕНОВИЋ СРБОЉУБ
+МАКЉЕНОВИЋ ЗОРАН
+МАКО ШАНДОР
+МАКО ФРАЊА
+МАКО ЈУЛИЈАНА
+МАКО МИЛЕНА
+МАКОХ АНТОН
+МАКРА АНА
+МАКРА ИВАН
+МАКРА ЈОСИП
+МАКРА КАТАРИНА
+МАКРИН МАРГИТА ДР
+МАКРИН РУЖИЦА
+МАКСИЋ ЖИВАНА
+МАКСИЋ ЂОРЂЕ
+МАКСИЋ БИЉАНА
+МАКСИЋ БОШКО
+МАКСИЋ БОЖИДАР
+МАКСИЋ ДАНИЦА
+МАКСИЋ ДЕЈАН
+МАКСИЋ ДМИТАР
+МАКСИЋ ДОБРИВОЈЕ
+МАКСИЋ ДРАГАН
+МАКСИЋ ДРАГАН
+МАКСИЋ ДРАГОМИР
+МАКСИЋ ДУШАН
+МАКСИЋ ЕДИТ
+МАКСИЋ ГАВРА
+МАКСИЋ ЈЕЛИЦА
+МАКСИЋ ЈЕЛИЦА
+МАКСИЋ ЈОВАНКА
+МАКСИЋ ЈОВАН
+МАКСИЋ ЈОВАН
+МАКСИЋ ЛУКА
+МАКСИЋ МАРИЈАНА
+МАКСИЋ МИЛАНА
+МАКСИЋ МИЛИЦА
+МАКСИЋ МИЛИЦА
+МАКСИЋ МИЛОРАД
+МАКСИЋ МИЛОРАД
+МАКСИЋ НИКОЛА
+МАКСИЋ РАДОСЛАВ
+МАКСИЋ РАТКО
+МАКСИЋ САВА
+МАКСИЋ СЛАВКО
+МАКСИЋ ВОЈИН
+МАКСИЋ ЗОРКА
+МАКСИМЧЕВ АНЂЕЛКО
+МАКСИМЧЕВ СТЕВАН
+МАКСИМОВ БРАНИСЛАВ
+МАКСИМОВ ЉУБОМИР
+МАКСИМОВ СЛОБОДАН
+МАКСИМОВ ВЕРА
+МАКСИМОВИЋ ЧЕДОМИР
+МАКСИМОВИЋ ЖИВОРАД
+МАКСИМОВИЋ ЂУРИЦА
+МАКСИМОВИЋ АЛЕКСАНДАР
+МАКСИМОВИЋ АЛЕКСАНДАР
+МАКСИМОВИЋ АЛЕКСАНДАР
+МАКСИМОВИЋ АНА
+МАКСИМОВИЋ АНКИЦА
+МАКСИМОВИЋ БОШКО
+МАКСИМОВИЋ БОРИВОЈЕ
+МАКСИМОВИЋ БОРИВОЈ
+МАКСИМОВИЋ БРАНИСЛАВ
+МАКСИМОВИЋ БРАНКА
+МАКСИМОВИЋ ЦВИЈЕТИН
+МАКСИМОВИЋ ДАНИЦА
+МАКСИМОВИЋ ДАРКО
+МАКСИМОВИЋ ДИМИТРИЈЕ
+МАКСИМОВИЋ ДРАГАН
+МАКСИМОВИЋ ДРАГАН
+МАКСИМОВИЋ ДРАГАН
+МАКСИМОВИЋ ДРАГИЋ
+МАКСИМОВИЋ ДРАГОСЛАВ
+МАКСИМОВИЋ ДУШАН МР ОЕЦ
+МАКСИМОВИЋ ДУШАН
+МАКСИМОВИЋ ДУШАН
+МАКСИМОВИЋ ДУШАН
+МАКСИМОВИЋ ИВАНКА
+МАКСИМОВИЋ ИВАН
+МАКСИМОВИЋ ЈАКОВ
+МАКСИМОВИЋ ЈЕЛИСАВЕТА
+МАКСИМОВИЋ ЈОВАН
+МАКСИМОВИЋ ЈОВАН
+МАКСИМОВИЋ ЈОВАН
+МАКСИМОВИЋ КАТАРИНА
+МАКСИМОВИЋ КАТИЦА
+МАКСИМОВИЋ ЛАЗАР
+МАКСИМОВИЋ ЛАЗА
+МАКСИМОВИЋ ЛЕНКА
+МАКСИМОВИЋ ЉУБИША
+МАКСИМОВИЋ ЉУБИША
+МАКСИМОВИЋ ЉУБИЦА
+МАКСИМОВИЋ ЉУБИЦА
+МАКСИМОВИЋ ЛУКА
+МАКСИМОВИЋ МАРКО
+МАКСИМОВИЋ МИЛАН ДИПЛ ИНГ
+МАКСИМОВИЋ МИЛАНА
+МАКСИМОВИЋ МИЛАН
+МАКСИМОВИЋ МИЛЕНКО
+МАКСИМОВИЋ МИЛЕНКО
+МАКСИМОВИЋ МИЛИНА
+МАКСИМОВИЋ МИЛОРАД
+МАКСИМОВИЋ МИЛУТИН
+МАКСИМОВИЋ МИОДРАГ
+МАКСИМОВИЋ МИОДРАГ
+МАКСИМОВИЋ МИОДРАГ
+МАКСИМОВИЋ МИОДРАГ
+МАКСИМОВИЋ МИРОСЛАВ
+МАКСИМОВИЋ МЛАДЕН
+МАКСИМОВИЋ НАДА
+МАКСИМОВИЋ НАТАЛИЈА
+МАКСИМОВИЋ НИКОЛА
+МАКСИМОВИЋ НИКОЛА
+МАКСИМОВИЋ ПЕТАР
+МАКСИМОВИЋ ПРЕДРАГ
+МАКСИМОВИЋ РАДМИЛА
+МАКСИМОВИЋ РАДОВАНКА
+МАКСИМОВИЋ РАДО
+МАКСИМОВИЋ РАНЂЕЛ
+МАКСИМОВИЋ РИСТО
+МАКСИМОВИЋ САВА
+МАКСИМОВИЋ САВО
+МАКСИМОВИЋ СЛАВОЉУБ
+МАКСИМОВИЋ СРЕЋКО
+МАКСИМОВИЋ СТЕВАН
+МАКСИМОВИЋ СТЕВАН
+МАКСИМОВИЋ СТЕВАН
+МАКСИМОВИЋ СТЕВИЦА
+МАКСИМОВИЋ СВЕТОМИР
+МАКСИМОВИЋ ТИХОМИР
+МАКСИМОВИЋ ТИНКА
+МАКСИМОВИЋ ТОМИСЛАВ
+МАКСИМОВИЋ ТОМИСЛАВ
+МАКСИМОВИЋ ВЕЛИЧКО
+МАКСИМОВИЋ ВЕЛИМИР
+МАКСИМОВИЋ ВЛАДИМИР
+МАКСИМОВИЋ ЗЛАТА
+МАКСИМОВИЋ ЗОРАН
+МАКСИМОВСКИ ЂОРЂЕ
+МАКСИМОВСКИ ВОЈО
+МАКСИН СЛАВКА
+МАКУХ МИХАИЛО
+МАКУХ МИХАЈЛО
+МАКУХ ВЛАДИМИР
+МАЛЧИЋ АНДРИЈА ДИПЛ ИНГ
+МАЛЧИЋ АНДРИЈА
+МАЛЧИЋ ЈОЖЕФ
+МАЛЧИЋ ЈУЛКА
+МАЛЧИЋ НИКОЛА
+МАЛАШЕВИЋ МИЛУТИН
+МАЛАЦКО ЈУЛИЈАН
+МАЛАЦКО ЉУБИЦА
+МАЛАЕНИЋ ДРАГАН
+МАЛАВРАЗИЋ ЈОВАН
+МАЛБАША БОРИСЛАВА
+МАЛБАША ДРАГОЉУБ
+МАЛБАША ДУШАНКА
+МАЛБАША ЈЕЛКА
+МАЛБАША МИЛАН
+МАЛБАША МИЛЕ
+МАЛБАША ВЕЉКО
+МАЛБАША ЗДРАВКО
+МАЛБАШИЋ БОШКО
+МАЛБАШИЋ ДРАГАН
+МАЛБАШИЋ ЈАНКО
+МАЛБАШИЋ МИЋО
+МАЛБАШИЋ РУЖА
+МАЛБАШКИ ДУШАН
+МАЛБАШКИ-ЈАНКОВ АНЂА
+МАЛБАШКИ МАРИЈА
+МАЛБАШКИ МИЛИНКА
+МАЛЕШ АНЂЕЛКА
+МАЛЕШ БОРА
+МАЛЕШ ДМИТАР
+МАЛЕШ ЈЕЛЕНА
+МАЛЕШ ЈОВАНКА
+МАЛЕШ КОСТА
+МАЛЕШ ЉИЉАНА
+МАЛЕШ МАРИНКО
+МАЛЕШ НОВАК
+МАЛЕШ РАДОМИР
+МАЛЕШ РУЖИЦА
+МАЛЕШ СТАНА
+МАЛЕШ СВЕТЛАНА
+МАЛЕШ ВАСО
+МАЛЕШ ВОЈИСЛАВ
+МАЛЕШ ЗОРА
+МАЛЕШЕВ ЖИВКО
+МАЛЕШЕВ ЖИВОЈИН
+МАЛЕШЕВ ЂОРЂЕ
+МАЛЕШЕВ БОШКО
+МАЛЕШЕВ БОРИСЛАВ
+МАЛЕШЕВ БРАНКО
+МАЛЕШЕВ ДАМЈАН
+МАЛЕШЕВ ДАМЈАН
+МАЛЕШЕВ ДИМИТРИЈЕ
+МАЛЕШЕВ ДРАГАНА
+МАЛЕШЕВ ДРАГОЉУБ
+МАЛЕШЕВ ДРАГОЉУБ
+МАЛЕШЕВ ДУШАН
+МАЛЕШЕВ ЈЕЛИЦА
+МАЛЕШЕВ ЈОВАН
+МАЛЕШЕВ КОСАНА
+МАЛЕШЕВ ЛАЗАР
+МАЛЕШЕВ ЉУБИЦА
+МАЛЕШЕВ ЉУБИНКО
+МАЛЕШЕВ ЉУБОМИР
+МАЛЕШЕВ ЛУКА
+МАЛЕШЕВ МАРИЈА
+МАЛЕШЕВ МИЛЕНКО
+МАЛЕШЕВ МИЛЕВА
+МАЛЕШЕВ МИЉА
+МАЛЕШЕВ МИЛОШ
+МАЛЕШЕВ МИОДРАГ
+МАЛЕШЕВ МИОДРАГ
+МАЛЕШЕВ МИРОСЛАВ
+МАЛЕШЕВ МИРОСЛАВ
+МАЛЕШЕВ ПЕТАР
+МАЛЕШЕВ ПЕТАР
+МАЛЕШЕВ ПРЕДРАГ
+МАЛЕШЕВ ПРЕДРАГ
+МАЛЕШЕВ ПРИЗРЕНКА
+МАЛЕШЕВ СЛАВКО
+МАЛЕШЕВ ТАМАРА
+МАЛЕШЕВ ВЕРА
+МАЛЕШЕВ ВИТОМИР
+МАЛЕШЕВИЋ ЖИВАН
+МАЛЕШЕВИЋ ЖИВКА
+МАЛЕШЕВИЋ ЂУКА
+МАЛЕШЕВИЋ АЛЕКСАНДРА
+МАЛЕШЕВИЋ ДИМИТРИЈЕ
+МАЛЕШЕВИЋ ДРАГАНА
+МАЛЕШЕВИЋ ДРАГАН
+МАЛЕШЕВИЋ ДУШКО
+МАЛЕШЕВИЋ ГОЈКО
+МАЛЕШЕВИЋ ИВАН
+МАЛЕШЕВИЋ ЈОВАН
+МАЛЕШЕВИЋ ЈОВАН
+МАЛЕШЕВИЋ ЛАЗАР
+МАЛЕШЕВИЋ ЉУБИЦА
+МАЛЕШЕВИЋ МАРИЈА
+МАЛЕШЕВИЋ МАРКО
+МАЛЕШЕВИЋ МИЛЕ
+МАЛЕШЕВИЋ МИЛИЦА
+МАЛЕШЕВИЋ МИЛОШ
+МАЛЕШЕВИЋ МИРКО
+МАЛЕШЕВИЋ МИРОСЛАВ
+МАЛЕШЕВИЋ МЛАДЕН
+МАЛЕШЕВИЋ НАДА
+МАЛЕШЕВИЋ НЕДЕЉКО
+МАЛЕШЕВИЋ НИКИЦА
+МАЛЕШЕВИЋ ПЕТАР
+МАЛЕШЕВИЋ ПЕТАР
+МАЛЕШЕВИЋ САВКО ЛОКАЛ
+МАЛЕШЕВИЋ СЛОБОДАНКА ДР
+МАЛЕШЕВИЋ ВАСКРСИЈЕ
+МАЛЕШЕВИЋ ВЛАДИМИР
+МАЛЕШЕВИЋ ВОЈИСЛАВА
+МАЛЕЦКИ БЛАЖ
+МАЛЕНЧИЋ ЂОРЂЕ
+МАЛЕНЧИЋ ГАВРИЛО
+МАЛЕНЧИЋ МАРИЈА
+МАЛЕНЧИЋ НИКОЛА
+МАЛЕНЧИЋ РОДОЉУБ
+МАЛЕНЧИЋ РУЖИЦА
+МАЛЕНИЋ ЛАЗАР
+МАЛЕНИЋ РУЖА
+МАЛЕНИЋ СИМА
+МАЛЕНИЋ ТОМИСЛАВ
+МАЛЕНИЦА ЂУРО
+МАЛЕНИЦА АНТУН
+МАЛЕНИЦА ДРАГО
+МАЛЕНИЦА ИВАН
+МАЛЕНИЦА МАРКО
+МАЛЕНКОВИЋ ЂОРЂЕ
+МАЛЕНКОВИЋ МИЛОШ ДР
+МАЛЕНКОВИЋ ВЛАДИМИР
+МАЛЕНОВИЋ МИРОСЛАВ
+МАЛЕР КРИШТОФ
+МАЛЕРТ ВЕНДЕЛ
+МАЛЕТАШКИ ЕВИЦА
+МАЛЕТИЋ-ШРЕК МАРИЈА
+МАЛЕТИЋ-ШРЕК МАРИЈА
+МАЛЕТИЋ ЖАРКО
+МАЛЕТИЋ ЖИВАНКА
+МАЛЕТИЋ ЖИВКО
+МАЛЕТИЋ ЂОРЂЕ ДИПЛ ИНГ
+МАЛЕТИЋ ЂОРЂЕ
+МАЛЕТИЋ ЂОРЂЕ
+МАЛЕТИЋ БОСИЉКА
+МАЛЕТИЋ ДРАГОСЛАВ
+МАЛЕТИЋ ДРАГО
+МАЛЕТИЋ ЈЕЛИЦА
+МАЛЕТИЋ ЈОВАНКА
+МАЛЕТИЋ ЈОВАН
+МАЛЕТИЋ ЛАУРА
+МАЛЕТИЋ ЛАЗАР
+МАЛЕТИЋ ЛАЗАР
+МАЛЕТИЋ ЛУКА
+МАЛЕТИЋ МАРИЦА
+МАЛЕТИЋ МИЛЕНКО
+МАЛЕТИЋ МИЛОМИР
+МАЛЕТИЋ МИОДРАГ
+МАЛЕТИЋ МИОМИР
+МАЛЕТИЋ НАДА
+МАЛЕТИЋ НЕДЕЉКО
+МАЛЕТИЋ НИКОЛА
+МАЛЕТИЋ ПАЈА
+МАЛЕТИЋ РАДИВОЈ
+МАЛЕТИЋ РАДОСЛАВ
+МАЛЕТИЋ РАДОСЛАВ
+МАЛЕТИЋ САВА
+МАЛЕТИЋ САВО
+МАЛЕТИЋ СЛАВИЦА
+МАЛЕТИЋ СЛОБОДАНКА
+МАЛЕТИЋ СЛОБОДАН
+МАЛЕТИЋ СРБОЉУБ
+МАЛЕТИЋ СТЕВАН
+МАЛЕТИЋ СТЕВАН
+МАЛЕТИЋ СТЕВАН
+МАЛЕТИЋ СВЕТОЗАР
+МАЛЕТИЋ СВЕТОЗАР
+МАЛЕТИЋ ТАМАРА
+МАЛЕТИЋ ВЕКОСЛАВ
+МАЛЕТИЋ ВЈЕРА
+МАЛЕТИЋ ВЈЕРА
+МАЛЕТИЋ ЗЛАТКО
+МАЛЕТИН ЧАРНА ДИПЛ ИНГ
+МАЛЕТИН ЖИВКО
+МАЛЕТИН ЂОРЂЕ
+МАЛЕТИН ЂОРЂЕ
+МАЛЕТИН ЂУРА
+МАЛЕТИН ЂУРИЦА
+МАЛЕТИН АЛЕКСАНДАР
+МАЛЕТИН БОШКО
+МАЛЕТИН БОЖАНА
+МАЛЕТИН ДАНИЦА
+МАЛЕТИН ДАРИНКА
+МАЛЕТИН ДРАГИША
+МАЛЕТИН ДУШАН
+МАЛЕТИН ДУШАН
+МАЛЕТИН ГОРАН
+МАЛЕТИН ЈАНА
+МАЛЕТИН ЈЕЛЕНА
+МАЛЕТИН ЈОВАН
+МАЛЕТИН ЈОВАН
+МАЛЕТИН ЈОВАН
+МАЛЕТИН ЉУБОМИР
+МАЛЕТИН МАРИЈА
+МАЛЕТИН МАРИЈА
+МАЛЕТИН МИЛАНКА
+МАЛЕТИН МИЛАН
+МАЛЕТИН МИЛАН
+МАЛЕТИН МИЛОШ
+МАЛЕТИН МИЛОВАН
+МАЛЕТИН МИРКО
+МАЛЕТИН ПАЈА
+МАЛЕТИН ПАВЛЕ
+МАЛЕТИН РАДА
+МАЛЕТИН РАДИВОЈЕ
+МАЛЕТИН РУЖИЦА
+МАЛЕТИН СЛАВИЦА
+МАЛЕТИН СЛАВКО
+МАЛЕТИН СПОМЕНКА
+МАЛЕТИН СТЕВАН
+МАЛЕТИН СТЕВАН
+МАЛЕТИН СВЕТОЗАР
+МАЛЕТИН СВЕТОЗАР
+МАЛЕТИН ТИМА
+МАЛЕТИН ТОДОР
+МАЛЕТИН ТОДОР
+МАЛЕТИН ВАСА
+МАЛЕТИН ВИТОМИР
+МАЛЕТИН ВОЈИСЛАВ
+МАЛЕТИН ЗОРА
+МАЛЕТИН ЗОРА
+МАЛЕВИЋ ВЛАДИМИР
+МАЛИ ЖИВАН
+МАЛИ ЖИВКО
+МАЛИ ДАМЈАН
+МАЛИ ДРАГА
+МАЛИ ЕЛЕОНОРА
+МАЛИ ГОРАН
+МАЛИ ЈОВАН
+МАЛИ КРИСТИФОР
+МАЛИ ЉУБИЦА
+МАЛИ ЉУБОМИР
+МАЛИ МИЛОШ
+МАЛИ МИОДРАГ
+МАЛИ САВА
+МАЛИ СТАНИМИР
+МАЛИ ВОЈИСЛАВ
+МАЛИЧЕВИЋ ЂОРЂЕ
+МАЛИЧЕВИЋ РАДИВОЈЕ
+МАЛИЧИЋ МИЛОШ
+МАЛИЧИЋ ВОЈИСЛАВ
+МАЛИЋ ЖАРКО
+МАЛИЋ БИЉАНА
+МАЛИЋ БОЖАНА
+МАЛИЋ ЦВИЈЕТИН
+МАЛИЋ МИЛАН
+МАЛИЋ МИЛЕНКО
+МАЛИЋ МИТАР
+МАЛИЋ МЛАДЕН
+МАЛИЋ НОВАК
+МАЛИЋ ПРЕДРАГ
+МАЛИЋ РАДИВОЈ
+МАЛИЋ РАТКО
+МАЛИЋ СЛАВКО
+МАЛИЋ СОФИЈА
+МАЛИЋ СТОЈАН
+МАЛИЋ СТОЈА
+МАЛИЋ УРОШ
+МАЛИЋ ВУКИЦА
+МАЛИЏА ЖЕЉКО
+МАЛИЏАН БЛАЖО
+МАЛИКОВИЋ ДУШАН
+МАЛИН ЂУРА
+МАЛИН ИЛИЈА
+МАЛИН МИЛИЦА
+МАЛИН ОЛГА
+МАЛИН СТАНИСЛАВ
+МАЛИН ТАТЈАНА
+МАЛИНАР ЈЕЛЕНА
+МАЛИНИЋ СПАСОЈЕ
+МАЛИНОВИЋ АНЂА
+МАЛИНОВИЋ АНКИЦА
+МАЛИНОВИЋ АНКИЦА
+МАЛИНОВИЋ БОЖО
+МАЛИНОВИЋ БОГДАН
+МАЛИНОВИЋ БОГДАН
+МАЛИНОВИЋ ДАНИЦА
+МАЛИНОВИЋ ДРАГАН
+МАЛИНОВИЋ ДРАГИЊА
+МАЛИНОВИЋ ДРАГОЉУБ
+МАЛИНОВИЋ ЈОВО
+МАЛИНОВИЋ МАРИНКО
+МАЛИНОВИЋ НЕДЕЉКО
+МАЛИНОВИЋ НЕДЕЉКО
+МАЛИНОВИЋ САВО
+МАЛИНОВИЋ СИНИША
+МАЛИНОВИЋ СЛАВИЦА
+МАЛИНОВИЋ СТЕВАН
+МАЛИНОВИЋ ВЕЉКО
+МАЛИВУК БОЖАНА
+МАЛИВУК ДУШАН
+МАЛИВУК МИЛАН
+МАЛИВУК НИКОЛА
+МАЛИВУК ПАВЛЕ
+МАЛИВУК СВЕТИСЛАВ
+МАЉА МОРИНА
+МАЉИК СТЕВА
+МАЉКОВИЋ ЂУРО
+МАЉКОВИЋ БРАНКО
+МАЉКОВИЋ БРАНКО
+МАЉКОВИЋ-ЏУКЛЕВСКИ АНА
+МАЉКОВИЋ МАРКО
+МАЉКОВИЋ МИЛАН
+МАЉКОВИЋ МИЛАН
+МАЉКОВИЋ НЕВЕНКА
+МАЉКОВИЋ НИКОЛА
+МАЉКОВИЋ РАНКА
+МАЉКОВИЋ ВЕРА
+МАЛКИЋ ГОРДАН
+МАЛКИЋ ЉУБИША
+МАЛКИЋ СТАНА
+МАЛМЕР АНДРИЈА
+МАЛМЕР АНДРИЈА
+МАЛНАР ДРАГУТИН
+МАЛНАР ЈОСИП
+МАЛОЧИЋ МИЛАН
+МАЛОЧИЋ МИЛОРАД
+МАЛОБАБИЋ ЉУБАН
+МАЛОБАБИЋ МАРКО
+МАЛОБАБИЋ МИРОСЛАВ
+МАЛОБАБИЋ НОВИЦА
+МАЛОБАБИЋ РАДЕ
+МАЛОГАЈСКИ БОРИСЛАВ
+МАЛОГАЈСКИ СТЕВАН
+МАЛОТИЋ САВО
+МАЛОВАШИЋ МАРИЈА
+МАЛОВИЋ БОГДАН
+МАЛОВИЋ РАДМИЛА
+МАЛОВИЋ СТАНИША
+МАЛОВРАЗИЋ ГОЈКО
+МАЛОВРАЗИЋ ГОЈКО
+МАЛУЦКОВ БОГДАН
+МАЛУЦКОВ ДАНИЦА
+МАЛУЦКОВ ЈОВАН
+МАЛУЦКОВ МАРИЈА
+МАЛУЦКОВ МИОДРАГ ДИПЛ ИНГ
+МАЛУЦКОВ РАДОВАН ДР ЛЕКАР
+МАЛУЦКОВ СЛОБОДАН
+МАЛУЦКОВ СТЕВАН
+МАЛУЦКОВ ЗОРКА
+МАМИЋ ИВАН
+МАМИЋ ЈОЗО
+МАМУЖИЋ ИВАН ДИПЛ ИНГ
+МАМУЖИЋ ИВАН
+МАМУЖИЋ ИВАН
+МАМУЛА ДУШАН
+МАМУЛА МЛАДЕНКА
+МАМУЛА ПАВЛЕ
+МАМУЛА РУЖА
+МАМУТОВИЋ МИЛАН
+МАМУТОВИЋ МИЛАН
+МАМУТОВИЋ РАДИВОЈ
+МАМУЗИЋ БОГДАНКА
+МАНЧЕВ НИКОЛА
+МАНЧЕВСКИ КАТА
+МАНЧЕВСКИ СТЕВАН
+МАНЧИЋ АРАНКА
+МАНЧИЋ ДРАГАН ДР
+МАНЧИЋ КАТА
+МАНЧИЋ НИКОЛА
+МАНЧИЋ САША
+МАНЧИЋ СЛОБОДАН
+МАНЧИЋ СВЕТОЗАР
+МАНЧУ ЂОРЂЕ
+МАНЧУ ДРАГИЊА
+МАНЧУ ДУШАН
+МАНЧУ МИЛАН
+МАНЧУ МИЛАН
+МАНЧУ МИЛОШ
+МАНЧУ МИЛОШ
+МАНЧУ НЕНАД
+МАНЧУ СТЕВАН
+МАНЧУ СВЕТОЗАР
+МАНЧУ ВИКТОР
+МАНАСИЈЕВИЋ ГЕРАСИМ
+МАНАСТИРАЦ ДАМЈАН
+МАНАСТИРАЦ ЉУБИША
+МАНЦ СТЕВАН
+МАНЦЕДЕР ЂУРА
+МАНЏУКИЋ МИОДРАГ
+МАНЏУКОВИЋ ВЕЛИМИР
+МАНДАРИН НАТАША
+МАНДЕК ФИЛИП
+МАНДЕЛЦ ЉУБИЦА
+МАНДИЋ ЧАВА
+МАНДИЋ ЖИВКО
+МАНДИЋ ЂОРЂЕ
+МАНДИЋ ЂОРЂЕ
+МАНДИЋ ЂУРА
+МАНДИЋ ЂУРИЦА
+МАНДИЋ АЛЕКСАНДАР ДИПЛ ИНГ
+МАНДИЋ АЛЕКСАНДАР
+МАНДИЋ БОШКО
+МАНДИЋ БОГДАН
+МАНДИЋ БОРИСЛАВА
+МАНДИЋ БОРИСЛАВ
+МАНДИЋ БРАНИСЛАВ
+МАНДИЋ ЦВИЈЕТА
+МАНДИЋ ДАНИЦА
+МАНДИЋ ДАРА
+МАНДИЋ ДЕЛФИНА
+МАНДИЋ ДЕНЕШ
+МАНДИЋ ДОБРИЛА
+МАНДИЋ ДРАГАНА
+МАНДИЋ ДРАГАН
+МАНДИЋ ДРАГОСЛАВ
+МАНДИЋ ДРАГО
+МАНДИЋ ДРАГО
+МАНДИЋ ДРАГУТИН
+МАНДИЋ ДУШАНКА
+МАНДИЋ ДУШАНКА
+МАНДИЋ ДУШАНКА
+МАНДИЋ ДУШАН
+МАНДИЋ ФРАЊА
+МАНДИЋ ИГЊАТ
+МАНДИЋ ИВАНКА
+МАНДИЋ ИВКА
+МАНДИЋ ЈОВАНКА
+МАНДИЋ-ЈОВАНОВИЋ ВИНКА
+МАНДИЋ ЈОВО
+МАНДИЋ ЈОВО
+МАНДИЋ КАТИЦА
+МАНДИЋ КОСТА
+МАНДИЋ КСЕНИЈА
+МАНДИЋ ЉИЉАНА
+МАНДИЋ ЉУБИЦА
+МАНДИЋ ЉУБОМИР
+МАНДИЋ МАНЕ
+МАНДИЋ МАНЕ
+МАНДИЋ МАРА
+МАНДИЋ МАРГИТА
+МАНДИЋ МАРИЈА
+МАНДИЋ МАРИЈА
+МАНДИЋ МАРИЈА
+МАНДИЋ МИКА
+МАНДИЋ МИЛАДИЈА
+МАНДИЋ МИЛАН ДИПЛ ИНГ
+МАНДИЋ МИЛАН
+МАНДИЋ МИЛЕНА
+МАНДИЋ МИЛЕ
+МАНДИЋ МИЛЕ
+МАНДИЋ МИЛЕ
+МАНДИЋ МИЛЕ
+МАНДИЋ МИЛОЈЕ
+МАНДИЋ МИЛОЈКО ДР ЛЕКАР
+МАНДИЋ МИЛОРАД
+МАНДИЋ МИЛОРАД
+МАНДИЋ МИОДРАГ
+МАНДИЋ МИРОСЛАВ
+МАНДИЋ НАДА
+МАНДИЋ НАДА
+МАНДИЋ НЕЂО
+МАНДИЋ НЕЂО
+МАНДИЋ НЕДЕЉКО ДИПЛ ПРАВНИК
+МАНДИЋ НИКОЛА
+МАНДИЋ НИКОЛА
+МАНДИЋ НОВКА
+МАНДИЋ ПАНЕ
+МАНДИЋ ПЕРА
+МАНДИЋ ПЕТАР
+МАНДИЋ РАДЕНКО
+МАНДИЋ РАДИВОЈЕ
+МАНДИЋ РАДМИЛА
+МАНДИЋ РАДМИЛА
+МАНДИЋ РАДОЈКА
+МАНДИЋ РАДОМИР
+МАНДИЋ РАДОВАН
+МАНДИЋ РАДОВАН
+МАНДИЋ РАЈА
+МАНДИЋ СИНИША
+МАНДИЋ СЛАВКА
+МАНДИЋ СЛАВКО
+МАНДИЋ СЛОБОДАН
+МАНДИЋ СЛОБОДАН
+МАНДИЋ СНЕЖАНА
+МАНДИЋ СРЕТЕН
+МАНДИЋ СРЕТЕН
+МАНДИЋ СРЕТО
+МАНДИЋ СТЕВАН
+МАНДИЋ СВЕТКО
+МАНДИЋ СВЕТЛАНА
+МАНДИЋ ТЕРЕЗИЈА
+МАНДИЋ ТИБОР
+МАНДИЋ ТОМИСЛАВ
+МАНДИЋ ТОМИСЛАВ
+МАНДИЋ УРОШ ДИПЛ ОЕЦ
+МАНДИЋ ВАСИЛИЈЕ
+МАНДИЋ ВЕЛИЗАР
+МАНДИЋ ВЕРА
+МАНДИЋ ВИОЛЕТА
+МАНДИЋ ЗЛАТИЦА
+МАНДИЋ ЗОРАН
+МАНДИЋ ЗОРАН
+МАНДИЋ ЗОРИЦА
+МАНДИЋ ЗОРКА
+МАНДИЋ ЗОРКА
+МАНДИЋ ЗОРКА
+МАНДИЋ ЗВОНИМИР
+МАНДРАПА ЂУРО
+МАНДРИНО САНКА
+МАНЕСКИ БЛАГОЈА
+МАНЕВСКИ БРАНИСЛАВ
+МАНЕВСКИ ДУШАН
+МАНЕВСКИ РАДОСЛАВ
+МАНЕВСКИ ТРАЈКО ДР
+МАНЕВСКИ ВЕРА
+МАНГ БРАНКО
+МАНГЕР ЈОСИП
+МАНХАЈМ ЈОЖЕФ
+МАНИЋ АНКИЦА
+МАНИЋ БЛАНКА
+МАНИЋ БОЖИДАР
+МАНИЋ БРАНИСЛАВ
+МАНИЋ БРАНКО
+МАНИЋ БРАНКО
+МАНИЋ ДАНИЛО
+МАНИЋ ДРАГИША
+МАНИЋ МИЛОЈЕ
+МАНИЋ МИЛОЈЕ
+МАНИЋ МИЛОРАД
+МАНИЋ СЕВЕР ДИПЛ ПХ
+МАНИЋ СВЕТОМИР
+МАНИН ЂОРЂЕ
+МАЊА СРЕДОЈЕ
+МАЊА ЗДРАВКО
+МАЊАК ДРАГО
+МАЊЕНЧИЋ СЛОБОДАН
+МАЊУЛОВ ЛУКА
+МАНОЈЛОВ ИРЕНА
+МАНОЈЛОВ ИВАН
+МАНОЈЛОВ ЈОВАНКА
+МАНОЈЛОВИЋ ЧЕДОМИР
+МАНОЈЛОВИЋ ЧЕДО
+МАНОЈЛОВИЋ ЖАРКО
+МАНОЈЛОВИЋ ЖИВКО
+МАНОЈЛОВИЋ ЂОРЂЕ
+МАНОЈЛОВИЋ АЛЕКСАНДАР
+МАНОЈЛОВИЋ АЛЕКСАНДАР
+МАНОЈЛОВИЋ АЛЕКСА
+МАНОЈЛОВИЋ АНГЕЛИНА
+МАНОЈЛОВИЋ БИЉАНА
+МАНОЈЛОВИЋ БОСИЉКА
+МАНОЈЛОВИЋ БРАНИСЛАВ
+МАНОЈЛОВИЋ ДАРИНКА
+МАНОЈЛОВИЋ ДЕСАНКА
+МАНОЈЛОВИЋ ДОБРИЛА
+МАНОЈЛОВИЋ ДРАГАНА
+МАНОЈЛОВИЋ ДРАГИЦА
+МАНОЈЛОВИЋ ДУШАН
+МАНОЈЛОВИЋ ДУШАН
+МАНОЈЛОВИЋ ГРУЈИЦА
+МАНОЈЛОВИЋ ИЛИЈА
+МАНОЈЛОВИЋ ЈЕЛЕНА
+МАНОЈЛОВИЋ ЈОВАН
+МАНОЈЛОВИЋ КАТАРИНА
+МАНОЈЛОВИЋ КОВИЉКО
+МАНОЈЛОВИЋ ЛАЗАР
+МАНОЈЛОВИЋ ЛАЗАР
+МАНОЈЛОВИЋ ЛАЗАР
+МАНОЈЛОВИЋ ЉУБИЦА
+МАНОЈЛОВИЋ ЉУБИЦА
+МАНОЈЛОВИЋ ЉУБОМИР
+МАНОЈЛОВИЋ МАЈА
+МАНОЈЛОВИЋ МАНОЈЛО
+МАНОЈЛОВИЋ МАНОЈЛО
+МАНОЈЛОВИЋ МАРИЈА
+МАНОЈЛОВИЋ МИЛАН
+МАНОЈЛОВИЋ МИЛАН
+МАНОЈЛОВИЋ МИЛАН
+МАНОЈЛОВИЋ МИЛЕНКО
+МАНОЈЛОВИЋ МИЛОШ
+МАНОЈЛОВИЋ МИЛОШ
+МАНОЈЛОВИЋ МИЛОШ
+МАНОЈЛОВИЋ МИЛОРАД
+МАНОЈЛОВИЋ МИЛОРАД
+МАНОЈЛОВИЋ МИОДРАГ
+МАНОЈЛОВИЋ МИОДРАГ
+МАНОЈЛОВИЋ МИРЈАНА
+МАНОЈЛОВИЋ МИРКО ДИПЛ ИНГ
+МАНОЈЛОВИЋ МИРКО
+МАНОЈЛОВИЋ МИРОСЛАВ
+МАНОЈЛОВИЋ МОМЧИЛО
+МАНОЈЛОВИЋ МОМЧИЛО
+МАНОЈЛОВИЋ МОМЧИЛО
+МАНОЈЛОВИЋ НЕНАД
+МАНОЈЛОВИЋ НИКОЛА
+МАНОЈЛОВИЋ ПЕТАР
+МАНОЈЛОВИЋ ПЕТАР
+МАНОЈЛОВИЋ РАДИВОЈ
+МАНОЈЛОВИЋ РАТКО
+МАНОЈЛОВИЋ САВА
+МАНОЈЛОВИЋ САВО
+МАНОЈЛОВИЋ СЛАВИЦА
+МАНОЈЛОВИЋ СЛОБОДАН
+МАНОЈЛОВИЋ СТАНИША ДР ПРОФ
+МАНОЈЛОВИЋ СТАНКО
+МАНОЈЛОВИЋ СТЕВАН
+МАНОЈЛОВИЋ СТЕВАН
+МАНОЈЛОВИЋ СВЕТОЗАР
+МАНОЈЛОВИЋ ТОША
+МАНОЈЛОВИЋ ВАНДА
+МАНОЈЛОВИЋ ВЕЛИСЛАВ
+МАНОЈЛОВИЋ ВЕРА
+МАНОЈЛОВИЋ ЗОРАН
+МАНОЈЛОВИЋ ЗОРАН
+МАНОЈЛОВИЋ ЗОРАН
+МАНОЈЛОВИЋ ЗОРИЦА
+МАНОЈЛОВИЋ ЗВОНКО
+МАНУКОВ ОЛГА
+МАНУКОВ ТОДОР
+МАОДУШ АНА
+МАОДУШ ДАНИЦА
+МАОДУШ ЈОВО
+МАОДУШ МИОДРАГ
+МАОДУШ НИКОЛА
+МАОДУШ ПРЕДРАГ
+МАР ЕДВАРД
+МАРЧАК МИХАЈЛО
+МАРЧЕК МИЛАН
+МАРЧЕТА ЂУРА
+МАРЧЕТА БРАНКО
+МАРЧЕТА ДРАГИЦА
+МАРЧЕТА ДРАГИЦА
+МАРЧЕТА ЛАЗАР
+МАРЧЕТА МИЛАН
+МАРЧЕТА РАЈКО
+МАРЧЕТА СЛОБОДАН
+МАРЧЕТА СТЕВА
+МАРЧЕТА ВЕЛИМИР
+МАРЧЕТА ЗОРА
+МАРЧЕТИЋ ЦВЕТА
+МАРЧЕТИЋ ДРАГО
+МАРЧЕТИЋ МАРКО
+МАРЧЕТИЋ МИЛАН
+МАРЧЕТИЋ МИЛАН
+МАРЧЕТИЋ МИЛАН
+МАРЧЕТИЋ НИКОЛА
+МАРЧЕТИЋ ОБРЕНИЈА
+МАРЧЕТИЋ ОЛБИНА
+МАРЧЕТИЋ ПЕРИЦА
+МАРЧЕТИЋ ПЕТАР
+МАРЧЕТИЋ ПЕТАР
+МАРЧЕТИН РАДЕ
+МАРЧИЋ ЖИВАН
+МАРЧИЋ ЂОРЂЕ
+МАРЧИЋ АЛЕКСАНДАР
+МАРЧИЋ БОЖАНА
+МАРЧИЋ ЈЕЛЕНА
+МАРЧИЋ МАРИЈА
+МАРЧИЋ МИЛЕНКО
+МАРЧИЋ СТЕВАН
+МАРЧИЋ СТЕВАН
+МАРЧИЋ СТЕВАН
+МАРЧИЋЕВ МАРИЈА
+МАРЧИЋЕВ МЕРИМА
+МАРЧИНКО МИЛАН
+МАРЧОК АНИЦА
+МАРЧОК ИШТВАН
+МАРЧОК ИСИДОРА
+МАРЧОК ЛИДИЈА
+МАРЧОК МИХАЈЛО
+МАРЧОК МИХАЈЛО
+МАРЧОК ВЕРА
+МАРЧОК ЗУЗАНА
+МАРЧУК САША
+МАРЧУК СТЕВАН
+МАРЖИЋ АНИЦА
+МАРЂЕЛОШКИ СТАНУША
+МАРАШ ЈОВАН
+МАРАШ МИРОЈЕ
+МАРАШ СЛОБОДАН
+МАРАШ ВОЈИН
+МАРАЦИ МИХАЉ
+МАРАКОВИЋ НЕВЕНА
+МАРАМИЦА ЈЕЛЕНА
+МАРАМИЦА МИРОСЛАВ
+МАРАН ДРАГИША
+МАРАН МИЛОРАД
+МАРАС ФИЛИП
+МАРАС ЈОСИП
+МАРАУЦ ЗВОНИМИР
+МАРАВИЋ ЂУРО
+МАРАВИЋ ЂУРО
+МАРАВИЋ ЂУРО
+МАРАВИЋ БРАНИСЛАВ
+МАРАВИЋ ДМИТАР
+МАРАВИЋ ДРАГИЦА
+МАРАВИЋ ЛАЗО
+МАРАВИЋ МАРКО
+МАРАВИЋ МИХАЈЛО
+МАРАВИЋ МИЛАН
+МАРАВИЋ МИЛЕНА
+МАРАВИЋ МИЛОШ
+МАРАВИЋ НИКОЛА
+МАРАВИЋ САВА
+МАРАВИЋ СЛАВИЦА
+МАРАВИЋ ВЛАДА
+МАРЦЕКИЋ ДОБРИНКА
+МАРЦИКИЋ ЖИВАНА
+МАРЦИКИЋ БОГДАН
+МАРЦИКИЋ ДРАГИЦА
+МАРЦИКИЋ ЕМИЛ
+МАРЦИКИЋ ГИГА ДР
+МАРЦИКИЋ КОНСТАНТИН
+МАРЦИКИЋ ЉИЉАНА
+МАРЦИКИЋ ЉУБИНКА
+МАРЦИКИЋ МАРИЦА
+МАРЦИКИЋ МИЛЕНА
+МАРЦИКИЋ СОФИЈА
+МАРЦИКИЋ СТЕВАН
+МАРЦИКИЋ СТЕВАН
+МАРЦИКИЋ ВЕРА
+МАРДЕШИЋ ШИМЕ
+МАРЕШ БОЖО
+МАРЕШ ТРИФУН
+МАРЕШЧУК ПЕТАР
+МАРЕЉ ЖИВАН
+МАРЕЉ МИРОСЛАВ
+МАРЕЉ СЕЛЕНА
+МАРЕЉ ВЕЛИСЛАВ
+МАРЕЉ ЗЛАТА
+МАРЕЉЕВ ЈЕЛЕНА
+МАРЕТИЋ МАРКО ДИПЛ ОЕЦ
+МАРЕТИЋ СТЕВО
+МАРЕТИЋ ВЛАДА
+МАРЕТИЋ ВЛАДА
+МАРЕТИЋ ВЛАДА
+МАРЕВИЋ АНТЕ
+МАРФИ СМИЉКА
+МАРГАНОВИЋ ДРАГИЦА
+МАРГАНОВИЋ ДУШАН ДР
+МАРГАНОВИЋ ГЕОРГИНА
+МАРГАНЗ ВИКТОР
+МАРГЕТА АНИЦА
+МАРГЕТА МАРИЈА
+МАРГЕТИЋ ЖИЖА
+МАРГЕТИЋ ЕЛВИРА
+МАРГИТ ЈУЛИЈАНА
+МАРГИТ ВЕРА
+МАРГУШИЋ АНДРИЈА
+МАРХОШЕВИЋ МУЈО
+МАРИЧЕВИЋ КАТИЦА
+МАРИЧЕВИЋ РИСТА
+МАРИЧИЋ АНДРИЈА
+МАРИЧИЋ БРАНКО
+МАРИЧИЋ БРАТОЉУБ
+МАРИЧИЋ ГОЈКО
+МАРИЧИЋ ИЛИЈА
+МАРИЧИЋ ИВИЦА
+МАРИЧИЋ МАРА
+МАРИЧИЋ МИЛАН
+МАРИЧИЋ МИЛОРАД
+МАРИЧИЋ МИРА
+МАРИЧИЋ НЕДЕЉКО
+МАРИЧИЋ НИКОЛА
+МАРИЧИЋ НИКОЛА
+МАРИЧИЋ ПАВЛЕ
+МАРИЧИЋ СТЕВАН
+МАРИЧИЋ СТЕВАН
+МАРИЧИЋ ВОЈИСЛАВ
+МАРИЧИН НЕНАД
+МАРИШАН ВЛАДИМИР
+МАРИЋ ЖАРКО
+МАРИЋ ЖАРКО
+МАРИЋ ЖИКА
+МАРИЋ ЖИВАНА
+МАРИЋ ЖИВКО
+МАРИЋ ЂОРЂЕ
+МАРИЋ ЂУРО
+МАРИЋ АДАМ ДР
+МАРИЋ АЛЕКСАНДАР
+МАРИЋ АНЂЕЛКО
+МАРИЋ АНЂЕЛКО
+МАРИЋ АНКА
+МАРИЋ АНКА
+МАРИЋ АНКИЦА
+МАРИЋ БОШКО
+МАРИЋ БОШКО
+МАРИЋ БОЖИЦА
+МАРИЋ БОЖИДАР
+МАРИЋ БОГОЉУБ
+МАРИЋ БОЈАДИМИР
+МАРИЋ БОРИВОЈ
+МАРИЋ БОСИЉКА
+МАРИЋ БРАНИСЛАВ ДИПЛ ИНГ
+МАРИЋ БРАНКО
+МАРИЋ БРАНКО
+МАРИЋ БРАНО
+МАРИЋ ЦВИЈО
+МАРИЋ ДАНИЦА
+МАРИЋ ДАРИНКА
+МАРИЋ ДАВИД
+МАРИЋ ДРАГАНА
+МАРИЋ ДРАГАН
+МАРИЋ ДРАГАН
+МАРИЋ ДРАГАН
+МАРИЋ ДРАГАН
+МАРИЋ ДРАГАН
+МАРИЋ ДРАГАН
+МАРИЋ ДРАГИЦА
+МАРИЋ ДРАГОЉУБ
+МАРИЋ ДУШАНКА
+МАРИЋ ДУШАН
+МАРИЋ ДУШАН
+МАРИЋ ДУШАН
+МАРИЋ ДУШАН
+МАРИЋ ДУШАН
+МАРИЋ ДУШИЦА
+МАРИЋ ЕРЖЕБЕТ
+МАРИЋ ГОЈКО
+МАРИЋ ГОЈКО
+МАРИЋ ГРУЈИЦА ДР
+МАРИЋ ИЛЕ
+МАРИЋ ИЛИЈА
+МАРИЋ ИЛИЈА
+МАРИЋ ИЛИНКА
+МАРИЋ ИВО
+МАРИЋ ЈАДРАНКА
+МАРИЋ ЈЕЛИЦА
+МАРИЋ ЈОЦА
+МАРИЋ ЈОЛАНКА
+МАРИЋ ЈОВАНКА
+МАРИЋ ЈОВАН
+МАРИЋ ЈОВАН
+МАРИЋ ЈОВАН
+МАРИЋ ЈОВАН
+МАРИЋ ЈОВАН
+МАРИЋ ЈОВО
+МАРИЋ ЈОВО
+МАРИЋ ЈУЛИЈАНА
+МАРИЋ КАДИВКА
+МАРИЋ КАТИЦА
+МАРИЋ КАТИЦА
+МАРИЋ КОСТА
+МАРИЋ ЛАЗАР
+МАРИЋ ЉЕПОСАВА
+МАРИЋ ЉУБА
+МАРИЋ ЉУБИЦА
+МАРИЋ ЉУБОМИР
+МАРИЋ ЉУБОМИР
+МАРИЋ ЉУБОМИР
+МАРИЋ ЉУПКО
+МАРИЋ ЛУКА
+МАРИЋ МАРА
+МАРИЋ МАРИЈА
+МАРИЋ МАРИЈА
+МАРИЋ МАРИЈА
+МАРИЋ МАРКО
+МАРИЋ МАРКО
+МАРИЋ МИЋА ДИПЛ ИНГ
+МАРИЋ МИХАЈЛО
+МАРИЋ МИЛАН ДИПЛ ИНГ
+МАРИЋ МИЛАН ДР
+МАРИЋ МИЛАНА
+МАРИЋ МИЛАНКА
+МАРИЋ МИЛАН
+МАРИЋ МИЛАН
+МАРИЋ МИЛАН
+МАРИЋ МИЛАН
+МАРИЋ МИЛАН
+МАРИЋ МИЛАН
+МАРИЋ МИЛАН
+МАРИЋ МИЛАН
+МАРИЋ МИЛАН
+МАРИЋ МИЛЕ ДИПЛ ОЕЦ
+МАРИЋ МИЛЕНА
+МАРИЋ МИЛЕНА
+МАРИЋ МИЛЕНКО
+МАРИЋ МИЛЕНКО
+МАРИЋ МИЛЕНКО
+МАРИЋ МИЛИСАВ
+МАРИЋ МИЛОШ
+МАРИЋ МИЛОШ
+МАРИЋ МИЛОРАД
+МАРИЋ МИЛОРАД
+МАРИЋ МИЛОСАВ
+МАРИЋ МИЛУН
+МАРИЋ МИЛУТИН
+МАРИЋ МИРКО
+МАРИЋ МИРКО
+МАРИЋ МИРКО
+МАРИЋ МИРКО
+МАРИЋ МИРОЉУБ
+МАРИЋ МИТАР
+МАРИЋ МИТАР
+МАРИЋ-МИТРОВИЋ МАРИЈА
+МАРИЋ МОМЧИЛО
+МАРИЋ НЕБОЈША
+МАРИЋ НЕДЕЉКО
+МАРИЋ НЕВЕНКА
+МАРИЋ НИКОЛА
+МАРИЋ НИКОЛА
+МАРИЋ НОВАК
+МАРИЋ НОВАК
+МАРИЋ ОСТОЈА
+МАРИЋ ПАВЛЕ
+МАРИЋ ПЕТАР
+МАРИЋ ПЕТАР
+МАРИЋ ПРВОСЛАВ
+МАРИЋ РАДИВОЈ
+МАРИЋ РАДМИЛА
+МАРИЋ РАДМИЛА
+МАРИЋ РАДМИЛА
+МАРИЋ РАДОМИР ДР
+МАРИЋ РАДОСАВ
+МАРИЋ РАДОСЛАВА
+МАРИЋ РАДОВАНКА
+МАРИЋ РАДОВАН
+МАРИЋ РАДОВАН
+МАРИЋ РАЈКО
+МАРИЋ САВА
+МАРИЋ СИНИША
+МАРИЋ СЛАВИЦА
+МАРИЋ СЛАВКО
+МАРИЋ СЛАВКО
+МАРИЋ СЛОБОДАН
+МАРИЋ СЛОБОДАН
+МАРИЋ СРЕТЕН ДР ПРОФ
+МАРИЋ СТАНИСЛАВ
+МАРИЋ СТАНИСЛАВ
+МАРИЋ СТЕВАН
+МАРИЋ СТЕВАН
+МАРИЋ СТЕВАН
+МАРИЋ СТЕВАН
+МАРИЋ СТЕВАН
+МАРИЋ СТЕВКА
+МАРИЋ СТЕВО
+МАРИЋ СТОЈАНКА
+МАРИЋ СВЕТИСЛАВ ПРОФЕСОР
+МАРИЋ СВЕТИСЛАВ
+МАРИЋ ТАМАРА ДИПЛ ИНГ
+МАРИЋ УРОШ
+МАРИЋ ВАСКА
+МАРИЋ ВАСО
+МАРИЋ ВЕРА
+МАРИЋ ВИД
+МАРИЋ ВЛАДИСЛАВ
+МАРИЋ ВОЈИСЛАВ ДР ПРОФ
+МАРИЋ ВУКАДИН
+МАРИЋ ЗОРАНКА
+МАРИЋ ЗОРАН
+МАРИЋ ЗОРАН
+МАРИЋЕВИЋ ЗОРАН
+МАРИАШ ЈОЖЕФ
+МАРИАШ МАРИЈА
+МАРИЈАШ ЈОВАН
+МАРИЈАШ МАРИЈА
+МАРИЈАШ МАРИЈА
+МАРИЈАШ МАРИЈА
+МАРИЈАШ МИХАЉ
+МАРИЈАШ СТЕВАН
+МАРИЈАШ ЗДЕНКА
+МАРИЈАН ЖЕЉКО
+МАРИЈАН БРАНИСЛАВА
+МАРИЈАНАЦ СТОЈА
+МАРИЈАНОВИЋ РАДОЈКА
+МАРИЈАНОВИЋ СВЕТОЗАР
+МАРИЈАНСКИ ЂОРЂЕ
+МАРИЈАНСКИ ЂОРЂЕ
+МАРИЈАНСКИ АЛЕКСАНДАР
+МАРИЈАНСКИ МИЛОШ
+МАРИЈАНСКИ СТЕВАН
+МАРИЈАНСКИ ВЕСНА
+МАРИН МИЛАН
+МАРИН МИЛИВОЈ
+МАРИН МЛАДЕН
+МАРИН НАТАЛИЈА
+МАРИН НИКОЛА
+МАРИН РАДОМИР
+МАРИН ВАСО
+МАРИН ВЕРИЦА
+МАРИН ЗОРАН
+МАРИНЧЕВ БРАНИСЛАВ
+МАРИНЧЕВ СТЕВАН
+МАРИНЧИЋ ДРАГИЦА
+МАРИНЧИЋ МАРКО
+МАРИНЧИЋ МИЛАН
+МАРИНЧИЋ МИЛАН
+МАРИНЧИЋ ОЛГА
+МАРИНШЕК ВЈЕКОСЛАВ
+МАРИНА ШТЕФАН
+МАРИНА ЛУЋИЈАН
+МАРИНАЦ ЗОРАН
+МАРИНИЋ БРАНКО
+МАРИНИЋ ИВО
+МАРИНИЋ СТИПАН
+МАРИНКОВ ЧЕДА
+МАРИНКОВ ЖАРКО
+МАРИНКОВ ЂОРЂЕ
+МАРИНКОВ ЂОРЂЕ
+МАРИНКОВ ЂУРА ДИПЛ ИНГ
+МАРИНКОВ АНКИЦА
+МАРИНКОВ АРСЕН
+МАРИНКОВ БОЖА
+МАРИНКОВ ДЕЈАН
+МАРИНКОВ ДРАГИЊА
+МАРИНКОВ ДУШАН
+МАРИНКОВ ФЕМКА
+МАРИНКОВ ГАВРА
+МАРИНКОВ ЈОВАНКА
+МАРИНКОВ ЈОВАН
+МАРИНКОВ ЈОВАН
+МАРИНКОВ ЈУЛИЈАНА
+МАРИНКОВ ЈУЛИЈАНА
+МАРИНКОВ МЕЛАНИЈА
+МАРИНКОВ МИЛЕНКО
+МАРИНКОВ МИЛИВОЈ ДИПЛ ИНГ
+МАРИНКОВ МИЉА
+МАРИНКОВ МИЛОРАД
+МАРИНКОВ МИЛОСАВА
+МАРИНКОВ МИОДРАГ
+МАРИНКОВ МИРЈАНА
+МАРИНКОВ МОМЧИЛО
+МАРИНКОВ МОМЧИЛО
+МАРИНКОВ НИКОЛА
+МАРИНКОВ ОМЕР
+МАРИНКОВ ПАЈА
+МАРИНКОВ ПРЕДРАГ
+МАРИНКОВ РУЖИЦА
+МАРИНКОВ САВА
+МАРИНКОВ СИНИША
+МАРИНКОВ СЛАВКО
+МАРИНКОВ СЛАВКО
+МАРИНКОВ СТЕВАН
+МАРИНКОВ СТЕВАН
+МАРИНКОВ СТРАХИЊА ДР ПРОФ
+МАРИНКОВ ВЕСЕЛИН
+МАРИНКОВ ВЕСНА
+МАРИНКОВ ВЛАДА
+МАРИНКОВ ВЛАЈКО
+МАРИНКОВ ЗОРАН
+МАРИНКОВИЋ ЧЕДОМИР
+МАРИНКОВИЋ ЖИВА
+МАРИНКОВИЋ ЖИВКА
+МАРИНКОВИЋ ЖИВКО
+МАРИНКОВИЋ ЖИВКО
+МАРИНКОВИЋ ЖИВКО
+МАРИНКОВИЋ ЖИВОЈИН
+МАРИНКОВИЋ ЖИВОРАД
+МАРИНКОВИЋ БОГОЉУБ
+МАРИНКОВИЋ БОЈА
+МАРИНКОВИЋ БОРИСЛАВ
+МАРИНКОВИЋ БОРИВОЈЕ ДР
+МАРИНКОВИЋ БРАНКО
+МАРИНКОВИЋ БРАТИМИР
+МАРИНКОВИЋ ДРАГАН
+МАРИНКОВИЋ ДРАГАН
+МАРИНКОВИЋ ДРАГАН
+МАРИНКОВИЋ ДРАГАН
+МАРИНКОВИЋ ДРАГИЦА
+МАРИНКОВИЋ ДРАГИЦА
+МАРИНКОВИЋ ЈЕЛИЦА
+МАРИНКОВИЋ ЈОВАН
+МАРИНКОВИЋ КАТАЛИН
+МАРИНКОВИЋ ЛЕПОСАВА
+МАРИНКОВИЋ МИЋО
+МАРИНКОВИЋ МИЛАН
+МАРИНКОВИЋ МИЛЕНА
+МАРИНКОВИЋ МИЛЕНА
+МАРИНКОВИЋ МИЛЕНА
+МАРИНКОВИЋ МИЛЕН
+МАРИНКОВИЋ МИЛИЦА
+МАРИНКОВИЋ МИЛИВОЈЕ
+МАРИНКОВИЋ МИЛОЈКО
+МАРИНКОВИЋ МИЛОРАД
+МАРИНКОВИЋ МИЛОВАН
+МАРИНКОВИЋ МИЛУТИН
+МАРИНКОВИЋ МИРКО
+МАРИНКОВИЋ МИРОСЛАВ
+МАРИНКОВИЋ МИТАР
+МАРИНКОВИЋ МИТАР
+МАРИНКОВИЋ НЕНАД
+МАРИНКОВИЋ НИКОЛА
+МАРИНКОВИЋ НИКОЛА
+МАРИНКОВИЋ НИКОЛА
+МАРИНКОВИЋ РАДА
+МАРИНКОВИЋ РАДИВОЈ
+МАРИНКОВИЋ РАДОЈИЦА
+МАРИНКОВИЋ РАДОЈКА
+МАРИНКОВИЋ РАДОМИР
+МАРИНКОВИЋ РАДОСЛАВ ДР
+МАРИНКОВИЋ РАДОВАН
+МАРИНКОВИЋ РИСТАНА
+МАРИНКОВИЋ РУЖИЦА
+МАРИНКОВИЋ САВА
+МАРИНКОВИЋ СЛАВКО
+МАРИНКОВИЋ СЛОБОДАН
+МАРИНКОВИЋ СЛОБОДАН
+МАРИНКОВИЋ СЛОБОДАН
+МАРИНКОВИЋ СОФИЈА
+МАРИНКОВИЋ СТАНКО
+МАРИНКОВИЋ СТАНОЈКА
+МАРИНКОВИЋ СТЕВАН
+МАРИНКОВИЋ СТОЈАНКА
+МАРИНКОВИЋ СТОЈАН
+МАРИНКОВИЋ СВЕТИСЛАВ
+МАРИНКОВИЋ ВЛАДИЦА
+МАРИНКОВИЋ ВЛАДО
+МАРИНКОВИЋ ВОЈИН
+МАРИНКОВИЋ ВОЈИСЛАВКА
+МАРИНКОВИЋ ВУКАШИН
+МАРИНКОВИЋ ЗОРАН
+МАРИНОВ МАРИНКО
+МАРИНОВИЋ ЂОРЂЕ
+МАРИНОВИЋ АЛЕКСАНДАР
+МАРИНОВИЋ АЛЕКСАНДАР
+МАРИНОВИЋ ДОБРИВОЈЕ
+МАРИНОВИЋ ДУШАН
+МАРИНОВИЋ КАТИЦА
+МАРИНОВИЋ МАРИЈА
+МАРИНОВИЋ МИЛАН
+МАРИНОВИЋ ПЕЈО
+МАРИНОВИЋ-СРДАНОВ ДАНИЦА
+МАРИНОВИЋ ТОМИСЛАВ
+МАРИНОВИЋ ВИНКА
+МАРИНОВИЋ ЗЛАТИЦА
+МАРИНОВИЋ ЗОРИЦА
+МАРИНОВИЋ ЗОРИЦА
+МАРИНОВСКИ ЂОРЂЕ
+МАРИНОВСКИ КАТИЦА
+МАРЈАШ АНКА
+МАРЈАШ ЈАНКО
+МАРЈАШ МИША
+МАРЈАШ МИХАЈЛО
+МАРЈАШ МИЛКА
+МАРЈАШ СТАНКО
+МАРЈАШ ВЛАДИМИР
+МАРЈАН ДУШАН
+МАРЈАН МИЛИЈАНА
+МАРЈАН МИРКО
+МАРЈАНОВ ДУШАН
+МАРЈАНОВ ЕРЖЕБЕТ
+МАРЈАНОВ ЈОВАНКА
+МАРЈАНОВ ЉУБОМИР
+МАРЈАНОВ МАРА
+МАРЈАНОВ МИХАЈЛО ДР
+МАРЈАНОВ МИЛЕНКО
+МАРЈАНОВ ОЛГА
+МАРЈАНОВ РАДОВАН
+МАРЈАНОВ СОЊА
+МАРЈАНОВ ТИМОТИЈЕ
+МАРЈАНОВ ВУЈИЦА
+МАРЈАНОВИЋ ЧЕДОМИР
+МАРЈАНОВИЋ ЖАРКО
+МАРЈАНОВИЋ ЖЕЉКО
+МАРЈАНОВИЋ ЖИВОТА
+МАРЈАНОВИЋ ЖИВОТА
+МАРЈАНОВИЋ ЂОРЂЕ
+МАРЈАНОВИЋ ЂУРО
+МАРЈАНОВИЋ АЛЕКСАНДАР
+МАРЈАНОВИЋ БИЉАНА
+МАРЈАНОВИЋ БОЖИДАР
+МАРЈАНОВИЋ БОЖИДАР
+МАРЈАНОВИЋ БОЈАНА
+МАРЈАНОВИЋ БОРИВОЈЕ
+МАРЈАНОВИЋ БОСИЉКА
+МАРЈАНОВИЋ БРАНИМИР
+МАРЈАНОВИЋ ДАНА
+МАРЈАНОВИЋ ДАНИЛКО
+МАРЈАНОВИЋ ДИМИТРИЈЕ
+МАРЈАНОВИЋ ДРАГАН
+МАРЈАНОВИЋ ДРАГИША
+МАРЈАНОВИЋ ДРАГИША
+МАРЈАНОВИЋ ДРАГОМИР
+МАРЈАНОВИЋ ДУШАНКО
+МАРЈАНОВИЋ ДУШАН
+МАРЈАНОВИЋ ДУШАН
+МАРЈАНОВИЋ ДУШКО
+МАРЈАНОВИЋ ГАБРИЈЕЛ
+МАРЈАНОВИЋ ГОЈКО
+МАРЈАНОВИЋ ЈОВАНКА
+МАРЈАНОВИЋ ЈОВАН
+МАРЈАНОВИЋ ЈОВА
+МАРЈАНОВИЋ ЉУБИВОЈЕ
+МАРЈАНОВИЋ ЉУБОМИР
+МАРЈАНОВИЋ ЛУКА
+МАРЈАНОВИЋ МАРИЈА
+МАРЈАНОВИЋ МИЛАН
+МАРЈАНОВИЋ МИЛАН
+МАРЈАНОВИЋ МИЛАН
+МАРЈАНОВИЋ МИЛАН
+МАРЈАНОВИЋ МИЛЕНКО ДР ИНГ
+МАРЈАНОВИЋ МИЛИЦА ДР
+МАРЈАНОВИЋ МИЛОШ
+МАРЈАНОВИЋ МИЛОМИР
+МАРЈАНОВИЋ МИЛОРАД
+МАРЈАНОВИЋ МИЛОРАД
+МАРЈАНОВИЋ МИЛОРАД
+МАРЈАНОВИЋ МИЛОРАД
+МАРЈАНОВИЋ МИЛУТИН
+МАРЈАНОВИЋ МИРОСЛАВ
+МАРЈАНОВИЋ МИРОСЛАВ
+МАРЈАНОВИЋ МИТАР
+МАРЈАНОВИЋ НАДА
+МАРЈАНОВИЋ НАТАЛИЈА
+МАРЈАНОВИЋ НЕДЕЉКО
+МАРЈАНОВИЋ НЕДЕЉКО
+МАРЈАНОВИЋ НИКОЛА МР
+МАРЈАНОВИЋ НИКОЛА
+МАРЈАНОВИЋ НИКОЛА
+МАРЈАНОВИЋ НИКОЛА
+МАРЈАНОВИЋ НИКОЛА
+МАРЈАНОВИЋ НИКОЛА
+МАРЈАНОВИЋ ПРВОСЛАВ
+МАРЈАНОВИЋ РАДМИЛА
+МАРЈАНОВИЋ РУЖИЦА
+МАРЈАНОВИЋ СЛАВОЉУБ ДР
+МАРЈАНОВИЋ СТЕВКА
+МАРЈАНОВИЋ СВЕТЛАНА
+МАРЈАНОВИЋ ТАТЈАНА
+МАРЈАНОВИЋ ТРИВУН
+МАРЈАНОВИЋ ВЕЛИМИР
+МАРЈАНОВИЋ ВЕРА
+МАРЈАНОВИЋ ВИД
+МАРЈАНОВИЋ ВЛАДО
+МАРЈАНОВИЋ ВОЈИН
+МАРЈАНОВИЋ ЗОРАН
+МАРЈАНОВИЋ ЗОРА
+МАРЈАНСКИ ФЕДОР
+МАРКАНОВ ЉУБИЦА
+МАРКАНОВ ЗОРИЦА
+МАРКГРАФ АНИЦА
+МАРКГРАФ СОФИЈА
+МАРКИ НЕВЕНКА
+МАРКИ НИКОЛА
+МАРКИ СЛАВКА
+МАРКИШ СОФИЈА
+МАРКИЋЕВИЋ ДУШАНКА
+МАРКИЋЕВИЋ МИЛАН
+МАРКО ЈАН ПРОФЕСОР
+МАРКО НАДА ДР
+МАРКОСКИ СТОЈАН
+МАРКОВ ЖАРКО
+МАРКОВ ЖИВА
+МАРКОВ ЂУРА
+МАРКОВ АНЂЕЛКА
+МАРКОВ ЦВЕТАНА
+МАРКОВ ДОБРИЛА
+МАРКОВ ДРАГАН
+МАРКОВ ДРАГАН
+МАРКОВ ДУШАН
+МАРКОВ ЕМИЛ
+МАРКОВ ФОТИЈЕ
+МАРКОВ ИЛИЈА
+МАРКОВ ИВИЦА
+МАРКОВ-ЈЕЛЕНИЋ МИРЈАНА
+МАРКОВ ЉУБОМИР
+МАРКОВ ЉУБОМИР
+МАРКОВ ЉУБОМИР
+МАРКОВ МАРИЈА
+МАРКОВ МИЛАН
+МАРКОВ МИЛАН
+МАРКОВ МИЛЕНКО
+МАРКОВ МИЛИЦА
+МАРКОВ МИЛИЦА
+МАРКОВ МИРА
+МАРКОВ НАДА
+МАРКОВ НАДА
+МАРКОВ НИКОЛА
+МАРКОВ ПЕТАР
+МАРКОВ ПЕТАР
+МАРКОВ РАДИСЛАВ
+МАРКОВ РАДОСАВ
+МАРКОВ РАДОВАН
+МАРКОВ РАДОВАН
+МАРКОВ САВА
+МАРКОВ СИНИША
+МАРКОВ СПАСОЈЕ ДР
+МАРКОВ СТОЈАН
+МАРКОВ ТОМИСЛАВ
+МАРКОВ ВЕРА
+МАРКОВ ВИДОСАВА
+МАРКОВ ЗОРАН МР
+МАРКОВ ЗОРА
+МАРКОВ ЗОРКА
+МАРКОВИЋ ЧЕДОМИР
+МАРКОВИЋ ЖАРКО
+МАРКОВИЋ ЖАРКО
+МАРКОВИЋ ЖАРКО
+МАРКОВИЋ ЖЕЛИБОР
+МАРКОВИЋ ЖЕЉКА
+МАРКОВИЋ ЖЕЉКО
+МАРКОВИЋ ЖИВАН
+МАРКОВИЋ ЖИВКО
+МАРКОВИЋ ЖИВОЈИН ДР
+МАРКОВИЋ ЖИВОЈИН
+МАРКОВИЋ ЖИВОЈИН
+МАРКОВИЋ ЖИВОСЛАВ
+МАРКОВИЋ ЖИВОТА
+МАРКОВИЋ ЂЕНА
+МАРКОВИЋ ЂОРЂЕ
+МАРКОВИЋ ЂОРЂЕ
+МАРКОВИЋ ЂОРЂЕ
+МАРКОВИЋ ЂОРЂЕ
+МАРКОВИЋ ЂОРЂЕ
+МАРКОВИЋ АДАМ
+МАРКОВИЋ АЛЕКСАНДАР
+МАРКОВИЋ АЛЕКСАНДАР
+МАРКОВИЋ АЛЕКСАНДАР
+МАРКОВИЋ АЛЕКСАНДАР
+МАРКОВИЋ АЛЕКСАНДАР
+МАРКОВИЋ АНТОНИЈЕ
+МАРКОВИЋ БОШКО
+МАРКОВИЋ БОРИСЛАВ
+МАРКОВИЋ БОРИСЛАВ
+МАРКОВИЋ БОРИС
+МАРКОВИЋ БОРИВОЈ
+МАРКОВИЋ БРАНИСЛАВ
+МАРКОВИЋ БРАНИСЛАВ
+МАРКОВИЋ БРАНИСЛАВ
+МАРКОВИЋ БРАНКО
+МАРКОВИЋ БРАНКО
+МАРКОВИЋ БУДИМИР
+МАРКОВИЋ БУДИМИР
+МАРКОВИЋ ЦВЕТКО
+МАРКОВИЋ ЦВЕТКО
+МАРКОВИЋ ДАНИЦА
+МАРКОВИЋ ДАНИЦА
+МАРКОВИЋ ДАНИЦА
+МАРКОВИЋ ДЕЈАН
+МАРКОВИЋ ДЕСАНКА
+МАРКОВИЋ ДИМИТРИЈЕ
+МАРКОВИЋ ДИМИТРИЈЕ
+МАРКОВИЋ ДОБРОСАВ
+МАРКОВИЋ ДОБРОСАВ
+МАРКОВИЋ ДРАГАН
+МАРКОВИЋ ДРАГАН
+МАРКОВИЋ ДРАГАН
+МАРКОВИЋ ДРАГИША
+МАРКОВИЋ ДРАГОЈА
+МАРКОВИЋ ДРАГОЈА
+МАРКОВИЋ ДРАГОЉУБ
+МАРКОВИЋ ДРАГОЉУБ
+МАРКОВИЋ ДРАГОЉУБ
+МАРКОВИЋ ДРАГОМИР
+МАРКОВИЋ ДРАГОСЛАВ
+МАРКОВИЋ ДРАГОСЛАВ
+МАРКОВИЋ ДРАГУТИН
+МАРКОВИЋ ДУШАН
+МАРКОВИЋ ДУШАН
+МАРКОВИЋ ДУШАН
+МАРКОВИЋ ДУШАН
+МАРКОВИЋ ДУШАН
+МАРКОВИЋ ДУШАН
+МАРКОВИЋ ДУШАН
+МАРКОВИЋ ДУШАН
+МАРКОВИЋ ДУШАН
+МАРКОВИЋ ДУШАН
+МАРКОВИЋ ДУШАН
+МАРКОВИЋ ДУБРАВКО
+МАРКОВИЋ ЕРЖЕБЕТ
+МАРКОВИЋ ЕВИЦА
+МАРКОВИЋ ГОРАН
+МАРКОВИЋ ГОРДАНА
+МАРКОВИЋ ИГЊАТ
+МАРКОВИЋ ИЛИЈА
+МАРКОВИЋ ИЛИЈА
+МАРКОВИЋ ИРЕНА
+МАРКОВИЋ ИВАН
+МАРКОВИЋ ИВКО
+МАРКОВИЋ ЈАДРАНКА
+МАРКОВИЋ ЈАДРАНКА
+МАРКОВИЋ ЈАРОСЛАВ
+МАРКОВИЋ ЈЕЛЕНА
+МАРКОВИЋ ЈЕЛИЦА
+МАРКОВИЋ ЈЕЛИЦА
+МАРКОВИЋ ЈЕЛИСАВКА
+МАРКОВИЋ ЈОВАН ДИПЛ ИНГ
+МАРКОВИЋ ЈОВАНКА
+МАРКОВИЋ ЈОВАН
+МАРКОВИЋ ЈОВАН
+МАРКОВИЋ ЈОВАН
+МАРКОВИЋ ЈОВАН
+МАРКОВИЋ ЈОВАН
+МАРКОВИЋ ЈОВАН
+МАРКОВИЋ ЈОВАН
+МАРКОВИЋ ЈОВО
+МАРКОВИЋ ЈОВО
+МАРКОВИЋ ЈУЛИЈА
+МАРКОВИЋ ЈУЛКА
+МАРКОВИЋ КАРЛО
+МАРКОВИЋ КАРОЛИНА
+МАРКОВИЋ КАРОЛИНА
+МАРКОВИЋ КАТА
+МАРКОВИЋ КАТИЦА
+МАРКОВИЋ КОСАНА
+МАРКОВИЋ КОСТА
+МАРКОВИЋ КРАСИМИР
+МАРКОВИЋ КСЕНИЈА
+МАРКОВИЋ ЛЕПОСАВА ЛЕКАР
+МАРКОВИЋ ЉУБИША
+МАРКОВИЋ ЉУБИЦА
+МАРКОВИЋ ЉУБИЦА
+МАРКОВИЋ ЉУБИЦА
+МАРКОВИЋ ЉУБИНКО
+МАРКОВИЋ ЉУБОМИР
+МАРКОВИЋ ЉУБОМИР
+МАРКОВИЋ ЛУКА
+МАРКОВИЋ-МАЈТЕЊИ АНДРИЈА
+МАРКОВИЋ-МАЈТЕЊИ МИХАЉ
+МАРКОВИЋ МАРА
+МАРКОВИЋ МАРИЈА
+МАРКОВИЋ МАРИЈА
+МАРКОВИЋ МАРИНА
+МАРКОВИЋ МАРКО
+МАРКОВИЋ МАРКО
+МАРКОВИЋ МИХАИЛО
+МАРКОВИЋ МИХАЈЛО
+МАРКОВИЋ МИЛАН
+МАРКОВИЋ МИЛАН
+МАРКОВИЋ МИЛАН
+МАРКОВИЋ МИЛАН
+МАРКОВИЋ МИЛАН
+МАРКОВИЋ МИЛАН
+МАРКОВИЋ МИЛАН
+МАРКОВИЋ МИЛАН
+МАРКОВИЋ МИЛАН
+МАРКОВИЋ МИЛАН
+МАРКОВИЋ МИЛА
+МАРКОВИЋ МИЛЕВА
+МАРКОВИЋ МИЛЕВА
+МАРКОВИЋ МИЛКО
+МАРКОВИЋ МИЛКО
+МАРКОВИЋ МИЛОШ
+МАРКОВИЋ МИЛОШ
+МАРКОВИЋ МИЛОШ
+МАРКОВИЋ МИЛОШ
+МАРКОВИЋ МИЛОЉУБ
+МАРКОВИЋ МИЛОМИР
+МАРКОВИЋ МИЛОРАД
+МАРКОВИЋ МИЛОРАД
+МАРКОВИЋ МИЛОРАД
+МАРКОВИЋ МИЛОРАД
+МАРКОВИЋ МИЛОРАД
+МАРКОВИЋ МИЛО
+МАРКОВИЋ МИЛУТИН
+МАРКОВИЋ МИЛУТИН
+МАРКОВИЋ МИОДРАГ
+МАРКОВИЋ МИОДРАГ
+МАРКОВИЋ МИОДРАГ
+МАРКОВИЋ МИРКО
+МАРКОВИЋ МИРКО
+МАРКОВИЋ МИРОСЛАВА
+МАРКОВИЋ МИРОСЛАВА
+МАРКОВИЋ МИРОСЛАВ
+МАРКОВИЋ МИРОСЛАВ
+МАРКОВИЋ МИРОСЛАВ
+МАРКОВИЋ МИРОСЛАВ
+МАРКОВИЋ МЛАДЕН
+МАРКОВИЋ МЛАДЕН
+МАРКОВИЋ МОМЧИЛО
+МАРКОВИЋ МОМЧИЛО
+МАРКОВИЋ МОМИР
+МАРКОВИЋ НАДА
+МАРКОВИЋ НАДА
+МАРКОВИЋ НАДА
+МАРКОВИЋ НАДА
+МАРКОВИЋ НАДА
+МАРКОВИЋ НАТАША
+МАРКОВИЋ НАТАЛИЈА
+МАРКОВИЋ НЕДЕЉКО
+МАРКОВИЋ НЕГОСЛАВ
+МАРКОВИЋ НЕМАЊА
+МАРКОВИЋ НЕНАД
+МАРКОВИЋ НЕНАД
+МАРКОВИЋ НИКОЛА
+МАРКОВИЋ НИКОЛА
+МАРКОВИЋ НИКОЛА
+МАРКОВИЋ НИКОЛА
+МАРКОВИЋ ОБРАД
+МАРКОВИЋ ОБРАД
+МАРКОВИЋ ОЛГА
+МАРКОВИЋ ОЛГА
+МАРКОВИЋ ОЛГА
+МАРКОВИЋ ОЛГА
+МАРКОВИЋ ОЛГА
+МАРКОВИЋ ОЛГА
+МАРКОВИЋ ОЛГА
+МАРКОВИЋ ПАВЛЕ
+МАРКОВИЋ ПЕЈЧА
+МАРКОВИЋ ПЕТАР ДИПЛ ИНГ
+МАРКОВИЋ ПЕТАР ВЕТЕРИНАР
+МАРКОВИЋ ПЕТАР
+МАРКОВИЋ ПЕТАР
+МАРКОВИЋ ПЕТАР
+МАРКОВИЋ ПЕТАР
+МАРКОВИЋ ПЕТАР
+МАРКОВИЋ ПЕТРОНИЈЕ
+МАРКОВИЋ ПРЕДРАГ
+МАРКОВИЋ ПРВОСЛАВ ДР
+МАРКОВИЋ РАША
+МАРКОВИЋ РАДЕНКО
+МАРКОВИЋ РАДЕ
+МАРКОВИЋ РАДИНКА
+МАРКОВИЋ РАДИВОЈ
+МАРКОВИЋ РАДИВОЈ
+МАРКОВИЋ РАДМИЛА
+МАРКОВИЋ РАДМИЛА
+МАРКОВИЋ РАДОЈКА
+МАРКОВИЋ РАДОСАВ ДИПЛ ИНГ
+МАРКОВИЋ РАДОСАВ
+МАРКОВИЋ РАДОСЛАВ
+МАРКОВИЋ РАДОВАНКА
+МАРКОВИЋ РАДОВАН
+МАРКОВИЋ РАДОВАН
+МАРКОВИЋ РАДОВАН
+МАРКОВИЋ РАНКО
+МАРКОВИЋ РАТКО
+МАРКОВИЋ РОДОЉУБ
+МАРКОВИЋ РОЗАЛИЈА
+МАРКОВИЋ РУЖИЦА
+МАРКОВИЋ РУЖИЦА
+МАРКОВИЋ САША
+МАРКОВИЋ САВА
+МАРКОВИЋ САВА
+МАРКОВИЋ САВА
+МАРКОВИЋ СИНИША
+МАРКОВИЋ СИНИША
+МАРКОВИЋ СЛОБОДАН
+МАРКОВИЋ СЛОБОДАН
+МАРКОВИЋ СЛОБОДАН
+МАРКОВИЋ СМИЉА
+МАРКОВИЋ СРЂАН
+МАРКОВИЋ СТАНА
+МАРКОВИЋ СТАНИША
+МАРКОВИЋ СТАНИМИР
+МАРКОВИЋ СТАНИСЛАВ
+МАРКОВИЋ СТЕФАНИЈА
+МАРКОВИЋ СТЕВАН
+МАРКОВИЋ СТЕВАН
+МАРКОВИЋ СТЕВАН
+МАРКОВИЋ СТЕВАН
+МАРКОВИЋ СТОЈАН
+МАРКОВИЋ СТОЈАН
+МАРКОВИЋ СТОЈАН
+МАРКОВИЋ СТОЈА
+МАРКОВИЋ СВЕТИСЛАВ
+МАРКОВИЋ СВЕТЛАНА
+МАРКОВИЋ СВЕТОЗАР
+МАРКОВИЋ СВЕТОЗАР
+МАРКОВИЋ ТАНАСИЈЕ
+МАРКОВИЋ ТАТЈАНА
+МАРКОВИЋ ТОДОР
+МАРКОВИЋ ТОМИСЛАВ
+МАРКОВИЋ УГЉЕША
+МАРКОВИЋ ВАСА
+МАРКОВИЋ ВАСИЛИЈЕ ДР
+МАРКОВИЋ ВЕЛИМИР
+МАРКОВИЋ ВЕЉКО
+МАРКОВИЋ ВЕЉКО
+МАРКОВИЋ ВЕРА
+МАРКОВИЋ ВЕРА
+МАРКОВИЋ ВЕРА
+МАРКОВИЋ ВЕРА
+МАРКОВИЋ ВЕРА
+МАРКОВИЋ ВИЋА
+МАРКОВИЋ ВИДОЈЕ
+МАРКОВИЋ ВИДОСАВА
+МАРКОВИЋ ВИД
+МАРКОВИЋ ВИНКО
+МАРКОВИЋ ВИТКО
+МАРКОВИЋ ВИТОМИР
+МАРКОВИЋ ВЛАДАН
+МАРКОВИЋ ВЛАДИМИР
+МАРКОВИЋ ВЛАДИМИР
+МАРКОВИЋ ВЛАДИМИР
+МАРКОВИЋ ВЛАДОЈЕ
+МАРКОВИЋ ВОЈИН
+МАРКОВИЋ ВОЈИН
+МАРКОВИЋ ВОЈИСЛАВ
+МАРКОВИЋ ЗАГОРКА
+МАРКОВИЋ ЗАГОРКА
+МАРКОВИЋ ЗЛАТА
+МАРКОВИЋ ЗЛАТИЈА
+МАРКОВИЋ ЗОРАН
+МАРКОВИЋ ЗОРАН
+МАРКОВИЋ ЗОРАН
+МАРКОВИЋ ЗОРАН
+МАРКОВИЋ ЗОРАН
+МАРКОВИЋ ЗОРА
+МАРКОВИЋ ЗОРА
+МАРКОВИЋ ЗОРИЦА
+МАРКОВИЋАН ЈОН
+МАРКОВИНОВИЋ ПЕТАР
+МАРКОВИНОВИЋ ПЕТАР
+МАРКОВЉЕВ ДРАГАН
+МАРКОВСКИ ЦВЕТАНА
+МАРКОВСКИ ЈОВАН
+МАРКСЕР ИВАН
+МАРКСЕР ЈОВАН
+МАРКУШ АНКИЦА
+МАРКУШ БОРИСЛАВ
+МАРКУШ ЕМИЛ
+МАРКУШ ЕТЕЛКА
+МАРКУШ ЈОСИП
+МАРКУШ ПРЕДРАГ
+МАРКУШ ЗОРАН
+МАРКУШЕВ ДРАГИЦА
+МАРКУШЕВ ЈЕЛЕНА
+МАРЛОГ МИРОСЛАВ
+МАРОШ ДУШАН
+МАРОШ МИЛОВАН
+МАРОШ СТЕВАН
+МАРОШ ВЕЉКО
+МАРОШАН ТИХОМИР
+МАРОШЕВ КРИСТА
+МАРОШЕВИЋ ИВАН
+МАРОШЕВИЋ МАРКО
+МАРОШЕВИЋ МАТА
+МАРОШЕВИЋ НАТАЛИЈА
+МАРОШЕВИЋ ВЛАДИМИР
+МАРОЂИ ИВАН
+МАРОЂИ ЈОЛАН
+МАРОЂИ ЈОЛАН
+МАРОЦИ МАРГИТА
+МАРОЈЕВИЋ АЛЕКСАНДАР
+МАРОЈЕВИЋ ИВАНКА
+МАРОЈЕВИЋ ЈОСИП
+МАРОЈЕВИЋ РАДМИЛО
+МАРОЈЕВИЋ СЛАВОЉУБ
+МАРОЛД ЈОСИП
+МАРОЛИ ИСАК
+МАРОН ДЕНЕШ
+МАРОН КАРЛО
+МАРОСЛАВАЦ МИРОСЛАВ
+МАРОТ ИВАН
+МАРОТИ МИКЛОШ
+МАРОВИЋ ЂУРА
+МАРОВИЋ БОРИС ДР
+МАРОВИЋ ДАРИНКА
+МАРОВИЋ МИЛИЦА
+МАРОВИЋ МИРКО
+МАРОВИЋ РАДОМИР
+МАРОВИЋ ЗДЕНКА
+МАРОВСКИ НИКОЛА
+МАРСЕНИЋ ДРАГАНА
+МАРСЕНИЋ ЛЕКА
+МАРСЕНИЋ СЛАВОЈКА
+МАРТИЋ ЖИВОЈИН
+МАРТИЋ ЂУРА
+МАРТИЋ БРАНКА
+МАРТИЋ ДРАГАН
+МАРТИЋ КОСТА
+МАРТИЋ ЛАЗАР
+МАРТИЋ ЉУБОМИР
+МАРТИЋ МАРА
+МАРТИЋ МИЛАН
+МАРТИЋ МИЛЕНКО
+МАРТИЋ МИЛИЦА
+МАРТИЋ ОЛГА
+МАРТИЋ ПЕРО
+МАРТИЋ РАДМИЛА
+МАРТИЋ РАДОМИР
+МАРТИЋ СЛАВКО
+МАРТИЋ СТЕВАН
+МАРТИЋ ВЛАДИМИР
+МАРТИЋ ВОЈНА
+МАРТИЦКИ МЛАДЕН
+МАРТИН АЛОЈЗИЈЕ
+МАРТИН АНТАЛ
+МАРТИН ЕНДРЕ
+МАРТИН ЕРЖЕБЕТ
+МАРТИН ИМРЕ
+МАРТИН ИВАН
+МАРТИН ЈОСИФ
+МАРТИН ЈОВАН
+МАРТИН ЉУБИНКА
+МАРТИН МАТИЛДА
+МАРТИН МИРОСЛАВА
+МАРТИН ЗВОНИМИР
+МАРТИНЧЕВИЋ МИХАЈЛО
+МАРТИНЧИЋ ДАВОР
+МАРТИНЧИЋ ДАВОР
+МАРТИНАШЕВИЋ ХЕРМИНА
+МАРТИНАШЕВИЋ ОТО
+МАРТИНАК ЈОВАН
+МАРТИНЕЦ АНТОН
+МАРТИНЕК АНТАЛ
+МАРТИНЕК ФЕРЕНЦ
+МАРТИНКО АНДРИЈА
+МАРТИНОВ ЂОРЂЕ
+МАРТИНОВ АНКА
+МАРТИНОВ ЛАЗАР
+МАРТИНОВ МИКА
+МАРТИНОВ МИЛАН ДР
+МАРТИНОВ МИЛИЦА
+МАРТИНОВ МИЛОШ
+МАРТИНОВ МИЛОШ
+МАРТИНОВ МИЛОШ
+МАРТИНОВ САНДРА
+МАРТИНОВ САВА
+МАРТИНОВ СЛАВКО
+МАРТИНОВ СЛАВКО
+МАРТИНОВИЋ ЂОРЂЕ
+МАРТИНОВИЋ АНЂЕЛКА
+МАРТИНОВИЋ АНА
+МАРТИНОВИЋ АНИТА
+МАРТИНОВИЋ БРАНКА
+МАРТИНОВИЋ ДЕСАНКА
+МАРТИНОВИЋ ДУШАН
+МАРТИНОВИЋ ЕЛИЗАБЕТА
+МАРТИНОВИЋ ФИЛИП
+МАРТИНОВИЋ ФИНКА
+МАРТИНОВИЋ ИВО
+МАРТИНОВИЋ ЈЕЛЕНА
+МАРТИНОВИЋ ЈОВАН ВЕТЕРИНАР
+МАРТИНОВИЋ МАРИЈАНА
+МАРТИНОВИЋ МАРИЈА
+МАРТИНОВИЋ МИЛЕ
+МАРТИНОВИЋ МИЛИЦА
+МАРТИНОВИЋ МИЛКА
+МАРТИНОВИЋ МИЛКА
+МАРТИНОВИЋ НАДА
+МАРТИНОВИЋ НЕНАД
+МАРТИНОВИЋ ОЛГА
+МАРТИНОВИЋ ПЕРСИДА
+МАРТИНОВИЋ РИСТА
+МАРТИНОВИЋ СЛАВКО
+МАРТИНОВИЋ СТАНИША
+МАРТИНОВИЋ СТАНКА
+МАРТИНОВИЋ СТЕВАН
+МАРТИНОВИЋ СВЕТОЗАР
+МАРТИНОВИЋ УРОШ
+МАРТИНОВИЋ ВЕЛИМИР
+МАРТИНОВИЋ ВЕЉКО
+МАРТИНОВИЋ ЗАРИЈЕ
+МАРТИНОВСКИ РОМАН
+МАРТОН ШАНДОР
+МАРТОН ЖУЖАНА
+МАРТОН АНДРАШ
+МАРТОН ФЕРЕНЦ
+МАРТОН ИШТВАН
+МАРТОН ИЛЕШ
+МАРТОН ЈОЖЕФ
+МАРТОН ЈОЖЕФ
+МАРТОН ЈОЛАН
+МАРТОН ЛАЈОШ
+МАРТОН МАЋАШ
+МАРТОН МАРИЈА
+МАРТОН РОЗА
+МАРУШЧУК МИРОСЛАВ
+МАРУШЕВИЋ ИВАН
+МАРУШИЋ ДАНИЦА
+МАРУШИЋ ФРАЊА
+МАРУШИЋ ГОРАН
+МАРУШИЋ ЈУЛИЈАНА
+МАРУШИЋ ЉУБО
+МАРУШИЋ МИОРИЦА
+МАРУШИЋ НЕБОЈША
+МАРУШИЋ ОЛГА
+МАРУШИЋ СТОЈАН
+МАРУШИЋ ВЛАДИМИР
+МАРУНИЋ БОСИЉКА
+МАРУНКИЋ МИЛИНА
+МАРУНОВИЋ БЛАГОТА
+МАСЛАЋ АНТЕ
+МАСЛАЋ МИЛЕНКО
+МАСЛАЋ РАЈКО
+МАСЛАЋ ВИНКО
+МАСЛОВАРИЋ БОЖИДАР ДР
+МАСНЕЦ АНКА
+МАСНИКОСА ФЕМКА
+МАСНИКОСА ФЕМКА
+МАСНОВ РОЗАЛИЈА
+МАСТИКОСА ДРАГИЦА
+МАСТИКОСА НИКО
+МАСТИЛОВИЋ ДУШАН
+МАСТИЛОВИЋ ЉУБИЦА
+МАСТИЛОВИЋ МИРА
+МАСТИЛОВИЋ МИРКО
+МАСТИЛОВИЋ МОМЧИЛО
+МАСТИЛОВИЋ ПЛЕМА
+МАСТИЛОВИЋ РАНКО
+МАТАЈЧИЋ ФРАЊО
+МАТАЈЧИЋ ИВАН
+МАТАК МАРИЈА
+МАТАК МАРЈАН
+МАТАК ВЕСНА
+МАТАКОВИЋ КАТИЦА
+МАТАНОВ ЈАСМИНА
+МАТАНОВИЋ ДЕЗИДЕР
+МАТАНОВИЋ ИРЕНА
+МАТАНОВИЋ ЈАДРАНКА
+МАТАНОВИЋ ЈЕЛИСАВЕТА
+МАТАНОВИЋ МИЛОРАД
+МАТАНОВИЋ МИЛОРАД
+МАТАНОВИЋ МИОДРАГ
+МАТАНОВИЋ ПЕТАР
+МАТАНОВИЋ ПЕТАР
+МАТАНОВИЋ СЛАВИЦА
+МАТАНОВИЋ ВЛАДА
+МАТАРУГА ЉИЉАНА
+МАТАРУГА МИЛКА
+МАТАРУГА ПАВЛЕ
+МАТАРУГА ЗАГОРКА
+МАТАРУГИН АЛЕКСАНДАР
+МАТАСИЋ МАРИЈА
+МАТАВУЉ МИЛИЦА
+МАТЕ ЕТЕЛКА
+МАТЕ ГИЗЕЛА
+МАТЕ ВЕНДЕЛ ДР
+МАТЕЧИК МИКЛОШ
+МАТЕЈАШЕВ АЛЕКСАНДАР
+МАТЕЈАШЕВ СВЕТОЗАР
+МАТЕЈАШЕВ СВЕТОЗАР
+МАТЕЈЕВИЋ ЈЕЛЕНА
+МАТЕЈЕВИЋ СТАНКО
+МАТЕЈЕВИЋ ВЕЛИМИР
+МАТЕЈЕВИЋ ВЛАДИМИР
+МАТЕЈЕВИЋ ЗИЛДА
+МАТЕЈИЋ ЂУРА
+МАТЕЈИЋ АЛЕКСАНДАР
+МАТЕЈИЋ НАДЕЖДА
+МАТЕЈИЋ РАТКО
+МАТЕЈИЋ РУЖИЦА
+МАТЕЈИЋ СЛАВОЉУБ ДР ЛЕКАР
+МАТЕЈИН ЂОРЂЕ
+МАТЕЈИН ДРАГАН
+МАТЕЈИН ДРАГИЋ
+МАТЕЈИН ДУШАН
+МАТЕЈИН МИЛИВОЈ
+МАТЕЈИН ВЕСЕЛИН
+МАТЕКАЛО МИЛКА
+МАТЕКОВИЋ СМИЉА
+МАТЕОВИЋ ПУБА ДР
+МАТЕВСКИ ЛУИЂИ
+МАТИЧЕК ЉУДЕВИТ
+МАТИША ИРЕНА
+МАТИШИЋ ЉУБОМИР
+МАТИЋ ЖАРКО
+МАТИЋ ЖИВКА
+МАТИЋ ЖИВКО
+МАТИЋ ЖИВКО
+МАТИЋ ЖИВОЈИН
+МАТИЋ ЖИВОРАД
+МАТИЋ ЂОРЂЕ
+МАТИЋ ЂОРЂЕ
+МАТИЋ ЂОРЂЕ
+МАТИЋ ЂУРЂИЦА
+МАТИЋ ЂУРА ДР
+МАТИЋ АЦКО
+МАТИЋ АЦКО
+МАТИЋ АЛЕКСАНДАР
+МАТИЋ АЛЕКСАНДАР
+МАТИЋ АЛЕКСАНДАР
+МАТИЋ АНКА
+МАТИЋ АНКИЦА
+МАТИЋ АРАНКА
+МАТИЋ АРАНКА
+МАТИЋ-БАУС ЖИВКО
+МАТИЋ-БЕКВАЛАЦ ВЕСНА
+МАТИЋ БОЖИДАР ДР
+МАТИЋ БОЈАНА
+МАТИЋ БРАНИСЛАВ
+МАТИЋ ДАМЈАН ДИПЛ ИНГ
+МАТИЋ ДЕСАНКА
+МАТИЋ ДОБРИЦА
+МАТИЋ ДОБРИЛО
+МАТИЋ ДРАГАН
+МАТИЋ ДРАГАН
+МАТИЋ ДРАГАН
+МАТИЋ ДРАГИША
+МАТИЋ ДРАГИЦА
+МАТИЋ ДРАГИЊА
+МАТИЋ ДРАГУТИН
+МАТИЋ ДУШАНКА
+МАТИЋ ДУШАНКА
+МАТИЋ ДУШАН
+МАТИЋ ДУШАН
+МАТИЋ ДУШАН
+МАТИЋ ДУШАН
+МАТИЋ ЕЛИЗАБЕТА
+МАТИЋ ЕВА
+МАТИЋ ФИНКА
+МАТИЋ ГОРДАНА
+МАТИЋ ИЛИЈА
+МАТИЋ ЈЕЛЕНА
+МАТИЋ ЈЕЛИСАВЕТА
+МАТИЋ ЈЕЛИСАВЕТА
+МАТИЋ ЈЕЛИСАВКА
+МАТИЋ ЈОВАН
+МАТИЋ КАТИЦА
+МАТИЋ-КЕКИЋ СНЕЖАНА
+МАТИЋ КРИСТИНА
+МАТИЋ ЛАЗАР
+МАТИЋ ЛАЗАР
+МАТИЋ ЉИЉАНА
+МАТИЋ ЉИЉАНА
+МАТИЋ ЉИЉАНА
+МАТИЋ ЉУБИЦА
+МАТИЋ ЉУБИЦА
+МАТИЋ ЉУБО
+МАТИЋ ЛУКА
+МАТИЋ МАГДАЛЕНА
+МАТИЋ МАРИЦА
+МАТИЋ МАРИЈА
+МАТИЋ МАРКО
+МАТИЋ МАРКО
+МАТИЋ МИЛАН
+МАТИЋ МИЛАН
+МАТИЋ МИЛАН
+МАТИЋ МИЛЕНКО
+МАТИЋ МИЛЕНКО
+МАТИЋ МИЛИСАВ
+МАТИЋ МИЛОШ
+МАТИЋ МИЛОШ
+МАТИЋ МИЛОШ
+МАТИЋ МИЛОШ
+МАТИЋ МИЛОШ
+МАТИЋ МИЛОРАД
+МАТИЋ МИЛОРАД
+МАТИЋ МИЛОРАД
+МАТИЋ МИЛОВАН
+МАТИЋ МИРЈАНА
+МАТИЋ МИРЈАНА
+МАТИЋ МИРКО
+МАТИЋ НАДА
+МАТИЋ НАДЕЖДА
+МАТИЋ НАТАША
+МАТИЋ НАТАЛИЈА
+МАТИЋ НЕГОВАН
+МАТИЋ НИКОЛА
+МАТИЋ НОВИЦА
+МАТИЋ ПАВА
+МАТИЋ ПАВЛЕ
+МАТИЋ ПАВЛЕ
+МАТИЋ ПЕТАР
+МАТИЋ ПЕТАР
+МАТИЋ ПЛАНИНКА
+МАТИЋ ПРЕДРАГ
+МАТИЋ ПРЕДРАГ
+МАТИЋ РАДЕ
+МАТИЋ РАДМИЛА
+МАТИЋ РАДОЈЕ
+МАТИЋ РАДОМИР
+МАТИЋ РАДОМИР
+МАТИЋ РАДОМИР
+МАТИЋ РАДОСЛАВ
+МАТИЋ РАДОВАН
+МАТИЋ РАДОВАН
+МАТИЋ РАЈКО
+МАТИЋ САВА
+МАТИЋ СИМА
+МАТИЋ СЛАВКО
+МАТИЋ СЛАВКО
+МАТИЋ СЛАВКО
+МАТИЋ СЛАВКО
+МАТИЋ СЛОБОДАН
+МАТИЋ СТАНКО
+МАТИЋ СТАНКО
+МАТИЋ СТАЗА
+МАТИЋ СТИПО
+МАТИЋ СТОЈАН
+МАТИЋ СВЕТЛАНА
+МАТИЋ СВЕТОЗАР
+МАТИЋ СВЕТОЗАР
+МАТИЋ ТОМА
+МАТИЋ ТОМИСЛАВ
+МАТИЋ ВАЛЕРИЈА
+МАТИЋ ВЕСЕЛИН
+МАТИЋ ВИДА
+МАТИЋ ВИТОМИР ДИПЛ ИНГ
+МАТИЋ ВЛАДА
+МАТИЋ ВЛАДИМИР
+МАТИЋ ВЛАДИМИР
+МАТИЋ ВЛАДИСЛАВ
+МАТИЋ ВЛАСТИМИР МР
+МАТИЋ ВУЈИЦА
+МАТИЋ ВУКИЦА
+МАТИЋ ЗАГОРКА
+МАТИЋ ЗДРАВКА
+МАТИЋ ЗОРА
+МАТИЦКИ МИЛАНА ДР
+МАТИЦКИ МИЛОШ
+МАТИЈАШ ИЛИЈА
+МАТИЈАШЕВ АЛЕКСАНДАР
+МАТИЈАШЕВ РАДИВОЈ
+МАТИЈАШЕВИЋ АЛЕКСАНДАР
+МАТИЈАШЕВИЋ ЈЕЛКА
+МАТИЈАШЕВИЋ КАТИЦА
+МАТИЈАШЕВИЋ МАРКО
+МАТИЈАШЕВИЋ МИХАИЛО
+МАТИЈАШЕВИЋ СТАНИСЛАВКА
+МАТИЈЕВИЋ АНТИЦА
+МАТИЈЕВИЋ АНТУН
+МАТИЈЕВИЋ БОЈАН
+МАТИЈЕВИЋ БРАНКО
+МАТИЈЕВИЋ ДРАГИЦА
+МАТИЈЕВИЋ ФРАНЧИШКА
+МАТИЈЕВИЋ ИЛИЈА
+МАТИЈЕВИЋ ЈОСИП
+МАТИЈЕВИЋ КАТАЛИН
+МАТИЈЕВИЋ ЛАЈОШ
+МАТИЈЕВИЋ МАРИЈА
+МАТИЈЕВИЋ МИЛЕ
+МАТИЈЕВИЋ МИЛОЈКО
+МАТИЈЕВИЋ ПЕРО
+МАТИЈЕВИЋ ПЕТАР
+МАТИЈЕВИЋ ПЕТАР
+МАТИЈЕВИЋ ПЕТАР
+МАТИЈЕВИЋ РАДЕ
+МАТИЈЕВИЋ СЛАВКО
+МАТИЈЕВИЋ ВУКОСАВА
+МАТИЈЕВИЋ ЗОРАН
+МАТИЈЕВИЋ ЗОРА
+МАТИЈЕВИЋ ЗОРА
+МАТИН ДОРОТЕА
+МАТИН ЈОСИП
+МАТИН ЛАЈОШ
+МАТИН МАТИЈА
+МАТИС ШАНДОР ДИПЛ ПРАВНИК
+МАТИС ШАНДОР
+МАТЈАЧИЋ ВИНКО
+МАТКО ЕВА
+МАТКОВИЋ ЖАРКО
+МАТКОВИЋ ЖАРКО
+МАТКОВИЋ БОЖИДАР
+МАТКОВИЋ ДРАГОЉУБ
+МАТКОВИЋ ДРАГОЉУБ
+МАТКОВИЋ ЈОВАН
+МАТКОВИЋ ЛАДИСЛАВ
+МАТКОВИЋ МИЛЕНКО
+МАТКОВИЋ МИРОСЛАВА
+МАТКОВИЋ МИРОСЛАВ
+МАТКОВИЋ МИРОСЛАВ
+МАТКОВИЋ МОМИР
+МАТКОВИЋ РАДОВАН
+МАТКОВИЋ РОЗАЛИЈА
+МАТКОВИЋ РУЖИЦА
+МАТКОВИЋ СТАМЕНКО
+МАТКОВИЋ ВЛАСТИМИР
+МАТКОВИЋ ЗДЕНКА ДР
+МАТОШЕВИЋ ИВАН
+МАТОШИЋ СТАНИСЛАВ
+МАТОШКОВИЋ АГАТА
+МАТОШКОВИЋ ТЕРЕЗА
+МАТОВИЋ АНЂЕЛКО
+МАТОВИЋ АНА
+МАТОВИЋ БОЖАНА
+МАТОВИЋ БОРИВОЈЕ
+МАТОВИЋ БОРО
+МАТОВИЋ БРАНИСЛАВ
+МАТОВИЋ ДАНИЦА
+МАТОВИЋ ДАРО
+МАТОВИЋ ДЕСА
+МАТОВИЋ ДРАГАНА
+МАТОВИЋ ДРАГИША
+МАТОВИЋ ЉУБИНКА
+МАТОВИЋ МИЛАН ДИПЛ ИНГ
+МАТОВИЋ МИЛАН
+МАТОВИЋ МИЛЕНКО
+МАТОВИЋ МИЛЕ
+МАТОВИЋ-МИЛИЋ БАТРИЋ
+МАТОВИЋ МИЛИЋ
+МАТОВИЋ МИЛОЈКО
+МАТОВИЋ НАТАША
+МАТОВИЋ ПАВЛЕ
+МАТОВИЋ ПЕТАР
+МАТОВИЋ РАДИВОЈЕ
+МАТОВИЋ РАДОСАВ
+МАТОВИЋ РАДОСЛАВ
+МАТОВИЋ ВИТОМИР
+МАТОВИНА ФРАЊА
+МАТОВИНА ГОРАН
+МАТОВИНА МАРКО
+МАТРАК ДРАГАН
+МАТУШ ЈАН
+МАТУШКА МАРТОН
+МАТУЉИН ИГЊАЦ
+МАТУСКИ СОЊА
+МАТВИКОВ ЕУГЕНИЈЕ
+МАУКОВИЋ ВОЈИСЛАВ
+МАУЛ ГОРДАНА
+МАУРИЋ ФЕРЕНЦ
+МАУРИЋ ГЕЗА
+МАУРИЋ НЕНАД
+МАВИЋ СРЂАН
+МАВРАК ИМРЕ
+МАВРЕНСКИ БОГДАН
+МАВРЕНСКИ БОРКО
+МАВРЕНСКИ ИВИЦА
+МАВРОВИЋ БРАНИСЛАВ
+МАЗАЛИЦА БРАНИСЛАВ
+МАЗАЛИЦА ДУШАН
+МАЗАЛИЦА ГОЈКО
+МАЗАЛИЦА ЉУБО
+МАЗАЛИЦА МАРИЈА
+МАЗАЛИЦА РАЈКО
+МАЗАЛИЦА СНЕЖАНА
+МАЗАЛИЦА УРОШ
+МАЗАЛИЦА ВАСО
+МАЗАЛИЦА ВЕЉКО
+МАЗАНЧИК АНДРИЈА
+МАЗАНЋИК ПАЈА
+МАЗАЊИ КАРЛО
+МАЗИЋ ЖИВКО
+МАЗИЋ БРАНКО
+МАЗИЋ ДРАГАН
+МАЗИЋ ЉУБОМИР
+МАЗИЋ МИХАЈЛО
+МАЗИЋ МИРОСЛАВ
+МАЗИЋ ПЛЕТИКОСА
+МАЗИЊАНИН ДУШАН
+МАЗЛАМИ ЏАБИР
+МАЗУР ВУКИЦА
+МЦ-ЦОННЕЛЛ МАРТА
+МЕЧКАРОВСКИ ДРАГАН
+МЕЧКИЋ ДОБРИЛА
+МЕЧКИЋ СЛАВКО
+МЕШАНОВИЋ ХАЗИМ
+МЕШТЕР ИРЕНА
+МЕШТЕРОВИЋ ЉИЉАНА
+МЕШТРОВИЋ БОЖИДАР
+МЕЋАВА БРАНКО
+МЕЋАВА ДРАГАН
+МЕЋАВА МИЛАН
+МЕЂАНИН ДУШАН
+МЕЂЕШИ ЉУБОМИР
+МЕЂЕШИ ВЛАДИМИР
+МЕЂЕД МАРИЦА
+МЕЂЕДОВИЋ ЂОРЂИЈЕ
+МЕЂЕДОВИЋ БРАНКО
+МЕЂЕДОВИЋ ДАНИЛО
+МЕЂЕДОВИЋ ДРАГОЉУБ
+МЕЂЕДОВИЋ ДРАГО
+МЕЂЕДОВИЋ ДУБРАВКА
+МЕЂЕДОВИЋ МИРЈАНА
+МЕЂЕДОВИЋ НЕМАЊА
+МЕЂЕДОВИЋ РАДОВАН
+МЕЂЕРИ ВЕРОНИКА
+МЕЂИМОРЕЦ ЕДУАРД
+МЕЂИМОРЕЦ ЉУБОМИР
+МЕЂИМОРЕЦ СТЈЕПАН
+МЕЂИМОРЕЦ ВИКТОР
+МЕАМЏИЈА МИРА
+МЕАНЏИЋ СЛАВКО
+МЕЦАНОВ СТОЈАНКА
+МЕДАКОВ ЖИВКО
+МЕДАКОВ МАРИЈА
+МЕДАКОВ МИЛАН
+МЕДАКОВ МИЛАН
+МЕДАКОВ МИЉАНА
+МЕДАКОВ РАДИВОЈ
+МЕДАКОВ ВЛАДИМИР
+МЕДАКОВИЋ БОГДАН
+МЕДАКОВИЋ ДАМИР
+МЕДАКОВИЋ ДАРИНКА
+МЕДАКОВИЋ ДУШАН
+МЕДАКОВИЋ ДУШАН
+МЕДАКОВИЋ ИЛДИКО
+МЕДАКОВИЋ ИЛИЈА
+МЕДАКОВИЋ ЈОВАН
+МЕДАКОВИЋ ЉУБИЦА
+МЕДАКОВИЋ ЉУБИЦА
+МЕДАКОВИЋ ПЕТАР
+МЕДАКОВИЋ СВЕТЛАНА
+МЕДАКОВИЋ СВЕТЛАНА
+МЕДАКОВИЋ ВЛАДИСЛАВ
+МЕДАН ДРАГИЊА
+МЕДАН МАНОЈЛО
+МЕДАН МИЛЕНКО
+МЕДАН МИЛЕНКО
+МЕДАН МИЛЕНКО
+МЕДАН МИЛОРАД
+МЕДАН МИРОСЛАВ
+МЕДАН РАДЕНКО
+МЕДАН СЛАВИЦА
+МЕДАН СПАСОЈЕ
+МЕДАН ВЕЛИМИР
+МЕДАН ВЛАДИСЛАВ
+МЕДАНОВСКИ БОРИС
+МЕДАР ВУЧКО
+МЕДАРЕВИЋ ДРАГАН
+МЕДАРЕВИЋ ДРАГАН
+МЕДАРЕВИЋ СТАНА
+МЕДЕНИЦА ЂУРЂИЦА
+МЕДЕНИЦА ЂУРО
+МЕДЕНИЦА БОСИЉКА
+МЕДЕНИЦА МИЛИСАВ
+МЕДЕНИЦА РАДОМИР
+МЕДЕНИЦА СНЕЖАНА
+МЕДЕНИЦА СНЕЖАНА
+МЕДЕНИЦА ВОЈИСЛАВ
+МЕДЕНИЦА ВОЈИСЛАВ
+МЕДЕР ЂОРЂЕ
+МЕДЕР ЈЕЛЕНА
+МЕДИЋ ЂУРА
+МЕДИЋ ЂУРА
+МЕДИЋ БОШКО
+МЕДИЋ БОГДАН
+МЕДИЋ БОГДАН
+МЕДИЋ БОРИВОЈ
+МЕДИЋ БРАНКА
+МЕДИЋ ДАНЕ
+МЕДИЋ ДАНЕ
+МЕДИЋ ДАНИЦА
+МЕДИЋ ДРАГИЦА
+МЕДИЋ ДРАГОЉУБ
+МЕДИЋ ДРАГОСЛАВА
+МЕДИЋ ДУШАН
+МЕДИЋ ДУШАН
+МЕДИЋ ГОЈКО
+МЕДИЋ ИЛИЈА
+МЕДИЋ ИЛИЈА
+МЕДИЋ ИЛИЈА
+МЕДИЋ ЛАЗАР
+МЕДИЋ МИЋО
+МЕДИЋ МИЛАН
+МЕДИЋ МИЛАН
+МЕДИЋ МИЛЕ
+МЕДИЋ МИЛИЦА
+МЕДИЋ МИЛКА
+МЕДИЋ МИЛОШ
+МЕДИЋ МИЛОРАД
+МЕДИЋ МИЛОРАД
+МЕДИЋ МИОДРАГ
+МЕДИЋ МИРА
+МЕДИЋ МИРЈАНА
+МЕДИЋ МИРКО
+МЕДИЋ МИРОСЛАВА
+МЕДИЋ НИКОЛА
+МЕДИЋ НИКОЛА
+МЕДИЋ НИКОЛА
+МЕДИЋ НИКОЛА
+МЕДИЋ ПЕТАР
+МЕДИЋ РАДЕ
+МЕДИЋ РАДОВАН
+МЕДИЋ РАДОВАН
+МЕДИЋ САВО
+МЕДИЋ СИМО
+МЕДИЋ СЛАВКО
+МЕДИЋ СЛОБОДАНКА
+МЕДИЋ СМИЉА
+МЕДИЋ СТЕВАН
+МЕДИЋ СВЕТОЗАР
+МЕДИЋ ТАТЈАНА
+МЕДИЋ ЗДРАВКО
+МЕДИЋ ЗДРАВКО
+МЕДИЋ ЗОРАН
+МЕДИЋ ЗОРА
+МЕДОШ УРОШ
+МЕДОЈЕВИЋ МИЛАН
+МЕДОЈЕВИЋ МИЛЕТА
+МЕДОЈЕВИЋ НИКОЛА
+МЕДОВАРСКИ ФРАЊА
+МЕДОВАРСКИ МИША
+МЕДОВАРСКИ ПИРОШКА
+МЕДОВАРСКИ ПИРОШКА
+МЕДОВАРСКИ СТЕВАН
+МЕДОВИЋ ПРЕДРАГ ДР
+МЕДУЊАНИН ФЕБРОНА
+МЕДУЊАНИН ИСИДОР
+МЕДУРИЋ ДАНИЛО
+МЕДУРИЋ ДРАГОМИР
+МЕДУРИЋ ГОРАН
+МЕДУРИЋ ИРЕНА
+МЕДУРИЋ ЈЕЛЕНА
+МЕДУРИЋ КОСТА
+МЕДУРИЋ МИЛИВОЈ
+МЕДУРИЋ ПЕТАР
+МЕДУРИЋ СМИЉА
+МЕДУРИЋ ЗЛАТА
+МЕДВЕДОВИЋ ДРАГА
+МЕГЛАЈ БОСИЉКА
+МЕХАКОВИЋ ДАНИЦА
+МЕХАНЏИСКИ ВЕНКО
+МЕХМЕТИ ХИСЕН
+МЕХМЕТИ РАФЕТ
+МЕХМЕТОЈ ХАСАН
+МЕЈИЋ НЕВЕНКА
+МЕКЕЊИШАЦ ВЕСЕЛИН
+МЕКЕЊИШАЦ ЗОРАН
+МЕКИЋ СОФИЈА
+МЕКИНДА МАРИЈАН ДР
+МЕКИНДА МИРЈАНА
+МЕКИНИЋ АНТЕ
+МЕКИНИЋ МИРЈАНА
+МЕКИНИЋ ТОНКА
+МЕЛАР АНДРАШ
+МЕЛАР ЈЕЛЕНА
+МЕЛАР ЉУДЕВИТ
+МЕЛЕГ ЈАНКО
+МЕЛЕГ ЈОВАН
+МЕЛЕГ ЈОВАН
+МЕЛЕГ МИША
+МЕЛЕГ ВЛАДИМИР
+МЕЛЕРТ ВЕНДЕЛ
+МЕЛИНК ДУШАНКА
+МЕЛИНК ЈОХАН
+МЕЉА ЈУЛИЈАНА
+МЕЉКУТИ ФЕРЕНЦ
+МЕЉКУТИ ЈОЖЕФ
+МЕЉКУТИ КАРЛО
+МЕЉКУТИ ОРБАН
+МЕЉНИК ИЛИЈА
+МЕЉНИКОВ ДЕСАНКА
+МЕЛКУС БОЖА
+МЕЛКУС БОРИВОЈ
+МЕЛКУС КАТИЦА
+МЕЛКУС МИРЈАНА
+МЕЛКУС ВОЈИСЛАВ
+МЕЛО АЛЕКСАНДАР
+МЕЛОВИЋ ДЕЈАН
+МЕЛОВИЋ МИЛОВАН
+МЕЛВАН ЕРЖЕБЕТ
+МЕЛВАН ПЕТАР
+МЕЛВАН ЗОРАН
+МЕЛВИНГЕР АЛОЈЗИЈА
+МЕМАРОВИЋ РАДОВАН
+МЕМЕДОВИЋ БОРИСЛАВ
+МЕМЕДОВИЋ БОСИЉКА
+МЕМЕДОВСКИ УЗЕИР
+МЕМИШЕВИЋ ИБРАХИМ
+МЕМИШЕВИЋ ИСМАИЛ
+МЕМИШЕВИЋ МАРЈАН
+МЕМИШЕВИЋ МЕХМЕД
+МЕМИШЕВИЋ РАШИДА
+МЕМИШИ ТЕФИК
+МЕМИЏАН РЕЏО
+МЕНЂАН ШАНДОР
+МЕНЂАН МАРИЈА
+МЕНЂАН ПАВЕЛ
+МЕНЂАН РАСТИСЛАВ
+МЕНДЕБАБА БОРИСЛАВ
+МЕНДЕБАБА ПАНТА
+МЕНДЕЛ ЕЛИЗАБЕТА
+МЕНДРАГИЋ ЂОРЂЕ
+МЕНДРЕИ ХЕЛЕНА
+МЕНЕШИ БЕЛА
+МЕНЕШИ ИРЕНА
+МЕНЕШИ ЛАСЛО
+МЕНГЛ ИРЕН
+МЕНГЛ ЛАЈОШ
+МЕНИЧАНИН ЈЕЛА
+МЕНИЧАНИН СТЕВАН
+МЕНИЋАНИН ПЕТАР
+МЕЊАК ИВАН
+МЕНЗИЛЏИЋ ГАБРИЈЕЛА
+МЕРЧ ЈАНОШ
+МЕРЧА СТЕВАН
+МЕРШ МИЛАН
+МЕРЖА КАРОЉ
+МЕРЂЕЛОШКИ МИЛИЦА
+МЕРЦ ЕВА
+МЕРДИЋ МИРОСЛАВ
+МЕРДОВИЋ МИЛКА
+МЕРЕИ КАТАЛИН
+МЕРЕИ МАРГИТА
+МЕРГАНЦ КАТИЦА
+МЕРГЕШ ЈАНОШ
+МЕРГЕЛ МАРИЈА
+МЕРИЧАР РАДОЈИЦА
+МЕРКОВИЋ АЛЕКСАНДАР
+МЕРКОВИЋ АЛОЈЗ
+МЕРКОВИЋ АНКИЦА
+МЕРКОВИЋ ЈУДИТ
+МЕРКОВИЋ ЉУДЕВИТ
+МЕРКОВИЋ НИКОЛА
+МЕРКОВИЋ ПЕТАР
+МЕРКОВИЋ СИЛВИА
+МЕРКОВИЋ СВЕТИСЛАВА
+МЕРКОВИЋ ВЕРА
+МЕРКУЛОВ ЉИЉАНА
+МЕРКВА ЕМА
+МЕРКВА ЈОЖЕФ
+МЕРЊАК ФРАЊО
+МЕСАК НИКОЛА
+МЕСАРИЋ ГАБРИЈЕЛА
+МЕСАРОШ ШАНДОР ДР
+МЕСАРОШ ЂУРА
+МЕСАРОШ АНДРАШ
+МЕСАРОШ АРПАД
+МЕСАРОШ АТИЛА
+МЕСАРОШ БАЛАЖ
+МЕСАРОШ ФЕРЕНЦ
+МЕСАРОШ ФРАЊА
+МЕСАРОШ ГЕЗА
+МЕСАРОШ ГЕЗА
+МЕСАРОШ ГОРАН
+МЕСАРОШ ИШТВАН
+МЕСАРОШ ИШТВАН
+МЕСАРОШ ИЛОНА
+МЕСАРОШ ИЛОНА
+МЕСАРОШ ИМРЕ
+МЕСАРОШ ЈЕЛЕНА
+МЕСАРОШ ЈЕЛИЦА
+МЕСАРОШ ЈОСИФ
+МЕСАРОШ ЈОСО
+МЕСАРОШ КАРЛО
+МЕСАРОШ КАТИЦА
+МЕСАРОШ ЛАЈОШ
+МЕСАРОШ ЛАСЛО
+МЕСАРОШ ЛЕОН
+МЕСАРОШ МИХАЉ
+МЕСАРОШ МИКЛОШ
+МЕСАРОШ ПАВЛЕ
+МЕСАРОШ ПИРОШКА
+МЕСАРОШ СТЕВАН
+МЕСАРОШ ТИБОР
+МЕСАРОШ ТИБОР
+МЕСАРОШ ЗОЛТАН
+МЕСАРОШ ЗОРА ДИПЛ ИНГ
+МЕСАРОШ ЗОРИЦА
+МЕСАРОВИЋ ДУШАН
+МЕСАРОВИЋ ЈОВАН
+МЕСАРОВИЋ МАРГИТА
+МЕСАРОВИЋ МИЛАН
+МЕСАРОВИЋ СВЕТОЛИК
+МЕСЕШАН ГЕЗА
+МЕСЕЛЏИЈА ЖИВКО
+МЕСЕЛЏИЈА НАДЕЖДА
+МЕСЕЛЏИЈА ОСТОЈА
+МЕСЕЛЏИЈА РАЈКО
+МЕСЕЛЏИЈА СЛАВИЦА
+МЕСЕЛЏИЈА СТАНИМИР
+МЕТЕЉСКИ СЕРГИЈЕ
+МЕТОДИЈЕВИЋ МИЛОСАВ
+МЕЗЕ ЈУЛИЈАНА
+МЕЗЕШ ИМРЕ
+МЕЗЕИ ШАНДОР
+МЕЗЕИ ЈОЖЕФ
+МЕЗЕИ ЛАДИСЛАВ
+МЕЗЕИ ЛАСЛО
+МЕЗЕИ СНЕЖАНА
+МЕЗЕИ СТЕВАН ДР
+МЕЗЕИ СТЕВАН
+МИЧА ЈОСИП
+МИЧА ЈОВАН
+МИЧИЋ-ЂЕРМАНОВ ВИДА
+МИЧИЋ БОШКО
+МИЧИЋ БОШКО
+МИЧИЋ МИРЈАНА
+МИЧИЋ-МИТРОВИЋ МИЛИЦА
+МИЧИЋ НЕДЕЉКО
+МИЧИЋ СНЕЖАНА
+МИЧИЋ СОФИЈА
+МИЧИЋ ЗОРА
+МИЧУРИН ЈОСИП
+МИШЧЕВИЋ БРАНКО
+МИШЧЕВИЋ БРАНКО
+МИШЧЕВИЋ ДУШАН
+МИШЧЕВИЋ ДУШАН
+МИШЧЕВИЋ ИЛИЈА
+МИШЧЕВИЋ ИВАНКА
+МИШЧЕВИЋ МАРИЈА
+МИШЧЕВИЋ МИЦА
+МИШЧЕВИЋ МИЛАДИН
+МИШЧЕВИЋ МИЛАН
+МИШЧЕВИЋ НИКОЛА
+МИШЧЕВИЋ ОЛГА
+МИШЧЕВИЋ ПЕТАР
+МИШЧЕВИЋ ПЕТАР
+МИШЧЕВИЋ ПЕТАР
+МИШЧЕВИЋ ВЛАДИМИР
+МИШЧЕВИЋ ЗЛАТКО
+МИШАН ЛАЗАР
+МИШАНОВИЋ ДРАГОЉУБ
+МИШАНОВИЋ СИМО
+МИШЕЛИЋ ЈЕФТА
+МИШИЋ ЧЕДОМИР
+МИШИЋ ЂУРА
+МИШИЋ АЛЕКСАНДАР
+МИШИЋ АЛЕКСАНДАР
+МИШИЋ АЛЕКСАНДАР
+МИШИЋ АНЂЕЛИЈА
+МИШИЋ АНЂЕЛКА
+МИШИЋ АНА
+МИШИЋ БОГДАН
+МИШИЋ БУДИМИР
+МИШИЋ ДРАГИЦА
+МИШИЋ ДРАГИЦА
+МИШИЋ ЕТЈЕН
+МИШИЋ ГОРАН
+МИШИЋ ИВАН
+МИШИЋ ИВАН
+МИШИЋ ЈАГОДА
+МИШИЋ ЈАКОВ
+МИШИЋ ЈАСМИНА
+МИШИЋ ЈОСИП
+МИШИЋ ЈОВАН
+МИШИЋ ЛАЗАР
+МИШИЋ ЛАЗАР
+МИШИЋ ЛИНКА
+МИШИЋ ЉИЉАНА
+МИШИЋ ЉУБО
+МИШИЋ МАРИЈА
+МИШИЋ МАРКО
+МИШИЋ МИЛАН
+МИШИЋ МИЛАН
+МИШИЋ МИЛАН
+МИШИЋ МИЛАН
+МИШИЋ МИЛАН
+МИШИЋ МИЛОСАВКА
+МИШИЋ МИЛОВАН
+МИШИЋ МИОДРАГ
+МИШИЋ МИОМИР
+МИШИЋ МИРЈАНА
+МИШИЋ МИРОСЛАВ
+МИШИЋ МИРОСЛАВ
+МИШИЋ НАДА
+МИШИЋ НЕНАД
+МИШИЋ НЕСТОР
+МИШИЋ НИКОЛА
+МИШИЋ ПЕТАР
+МИШИЋ ПРЕДРАГ
+МИШИЋ РАДЕ
+МИШИЋ РАДИВОЈЕ
+МИШИЋ РАДИВОЈЕ
+МИШИЋ РАДОЈКА
+МИШИЋ РАНКО
+МИШИЋ САВА
+МИШИЋ СЛАВКО
+МИШИЋ СЛОБОДАН
+МИШИЋ СЛОБОДАН
+МИШИЋ СЛОБОДАН
+МИШИЋ СОФИЈА
+МИШИЋ СТИПО
+МИШИЋ СТЈЕПАН
+МИШИЋ СВЕТОЗАР
+МИШИЋ СВЕТОЗАР
+МИШИЋ ТОДОР ДР
+МИШИЋ ТУГОМИР
+МИШИЋ ВАСА
+МИШИЋ ВИДОСАВА
+МИШИЋ ВЛАДИЦА
+МИШИЋ ВОЈИН
+МИШИЋ ЗДРАВКО
+МИШИЋ ЗОРАН
+МИШИЋ ЗОРА
+МИШИЋ ЗОРИЦА
+МИШИЋ ЗВОНИМИР
+МИШИНСКИ ЈЕЛЕНА
+МИШКАР ЈОВАН
+МИШКЕЉИН БОШКО
+МИШКИЋ ШИМУН
+МИШКИЋ ДУШАН
+МИШКИЋ ИВАН
+МИШКИЋ МИЛАН
+МИШКИЋ РАЈКО
+МИШКИЋ РАНКО
+МИШКИЋ СВЕТИСЛАВКА
+МИШКИЋ ВИТОМИР
+МИШКИЋЕВИЋ БОРИВОЈ
+МИШКЉИН КАТИЦА
+МИШКОВ ЂУРЂИНКА
+МИШКОВ АЛЕКСАНДАР
+МИШКОВ АНГЕЛИНА
+МИШКОВ АНКА
+МИШКОВ АНКИЦА
+МИШКОВ АВРАМ
+МИШКОВ БИЉАНА
+МИШКОВ БОЈКА
+МИШКОВ БРАНИМИР
+МИШКОВ БРАНКО
+МИШКОВ ИВИЦА
+МИШКОВ ЈОВАН
+МИШКОВ КАТАРИНА
+МИШКОВ КАТАРИНА
+МИШКОВ ЉУБИЦА
+МИШКОВ ЉУБИЦА
+МИШКОВ МАКСА
+МИШКОВ МАРИЦА
+МИШКОВ МИЛОШ
+МИШКОВ МИЛОВАН
+МИШКОВ МИРОСЛАВ
+МИШКОВ НАДА
+МИШКОВ НЕВЕНКА
+МИШКОВ НИКОЛА
+МИШКОВ НОВА
+МИШКОВ РАДИВОЈ
+МИШКОВ САВА ДИПЛ ИНГ
+МИШКОВ САВА
+МИШКОВ СТАНКА
+МИШКОВ СТЕВАН
+МИШКОВ ВЕСНА
+МИШКОВ ВЕСНА
+МИШКОВ ЗАГОРКА
+МИШКОВ ЗЛАТА
+МИШКОВИЋ ЖИВКО
+МИШКОВИЋ ЂОРЂЕ
+МИШКОВИЋ ЂОРЂЕ
+МИШКОВИЋ ЂОРЂЕ
+МИШКОВИЋ АЛЕКСАНДРА
+МИШКОВИЋ АНА
+МИШКОВИЋ АНА
+МИШКОВИЋ АРСА
+МИШКОВИЋ БЛАЖО
+МИШКОВИЋ БОЖИДАР
+МИШКОВИЋ БОЈАНА
+МИШКОВИЋ БОЈАН
+МИШКОВИЋ БОРИВОЈ
+МИШКОВИЋ БРАНИСЛАВ
+МИШКОВИЋ БРАНКО
+МИШКОВИЋ ЦВЕТКО
+МИШКОВИЋ ДАНЧИКА
+МИШКОВИЋ ДАРИНКА
+МИШКОВИЋ ДЕЛИНКА
+МИШКОВИЋ ДРАГАН
+МИШКОВИЋ ДРАГОРАД
+МИШКОВИЋ ДУБРАВКА
+МИШКОВИЋ ИЛИЈА
+МИШКОВИЋ ИЛИЈА
+МИШКОВИЋ ИЛОНКА
+МИШКОВИЋ ЈОЦА
+МИШКОВИЋ ЈОВАН
+МИШКОВИЋ ЛАЗАР
+МИШКОВИЋ ЉУБИЦА
+МИШКОВИЋ ЉУБИЦА
+МИШКОВИЋ МАРКО
+МИШКОВИЋ МИХАЈЛО
+МИШКОВИЋ МИЛКА
+МИШКОВИЋ МИЛОШ
+МИШКОВИЋ МИЛОЈЕ
+МИШКОВИЋ МИЛОРАД
+МИШКОВИЋ МИОДРАГ
+МИШКОВИЋ МИРЈАНА
+МИШКОВИЋ МИРКО
+МИШКОВИЋ МИРКО
+МИШКОВИЋ МИРКО
+МИШКОВИЋ МИРОСЛАВА
+МИШКОВИЋ НЕНАД
+МИШКОВИЋ НИЋИФОР
+МИШКОВИЋ ОБРАД
+МИШКОВИЋ ОЛГИЦА
+МИШКОВИЋ ПЕТАР
+МИШКОВИЋ РАДЕ
+МИШКОВИЋ РАДИВОЈ МР
+МИШКОВИЋ РАДОСЛАВ
+МИШКОВИЋ РАНКО
+МИШКОВИЋ САША
+МИШКОВИЋ САВКА
+МИШКОВИЋ СТАНКА
+МИШКОВИЋ СТЕВАН
+МИШКОВИЋ СТЕВАН
+МИШКОВИЋ ТАЊА
+МИШКОВИЋ ВИДОСАВА
+МИШКОВИЋ ВИЈЕНЦЕСЛАВ
+МИШКОВИЋ ВУКИЦА
+МИШКОВИЋ ВУКИЦА
+МИШКОВИЋ ЗРНКА
+МИШКОВИЦ ЉУДЕВИТ
+МИШКОВИЦ ЗУЗАНА
+МИШКУЛИН ДРАГИША
+МИШКУЛИН НАДА
+МИШКУЛИН НИКОЛА
+МИШЉЕНОВИЋ МИОДРАГ
+МИШЛОВ ЉУБИЦА
+МИШОВИЋ МИРКО
+МИШОВСКИ РИСТО
+МИШУЛИЋ ПЕТАР
+МИШУЛИЋ ВИДАК
+МИШУЛИЋ ВОЈИСЛАВ
+МИШУРА ИВАН
+МИЋАШЕВИЋ БОШКО
+МИЋАШЕВИЋ САВА
+МИЋАНОВИЋ ДРАГАН
+МИЋАНОВИЋ ДРАГИША
+МИЋАНОВИЋ МАРЈАН
+МИЋЕВИЋ ДУШАН
+МИЋЕВИЋ СОФИЈА
+МИЋИЋ ЂОРЂЕ
+МИЋИЋ ЂУРЂИНА
+МИЋИЋ БОЈАНА
+МИЋИЋ БРАНИСЛАВ
+МИЋИЋ БРАНКА
+МИЋИЋ БРАНКО ДИПЛ ИНГ
+МИЋИЋ БРАНО
+МИЋИЋ ЦВИЈЕТИН
+МИЋИЋ ДРАГОЉУБ
+МИЋИЋ ДУШАН ДИПЛ ПРАВНИК
+МИЋИЋ ДУШАН
+МИЋИЋ ДУШАН
+МИЋИЋ ИЛИЈА
+МИЋИЋ ЈОВАНКА
+МИЋИЋ КОНСТАНТИНА
+МИЋИЋ КРСТА
+МИЋИЋ ЉУБОМИР
+МИЋИЋ ЉУБОМИР
+МИЋИЋ МАРИЈА
+МИЋИЋ МИХАЈЛО
+МИЋИЋ МИЛАНА
+МИЋИЋ МИЛЕНА
+МИЋИЋ МИЛЕНКО ДИПЛ ИНГ
+МИЋИЋ МИЛИЦА
+МИЋИЋ МИЛИЦА
+МИЋИЋ МИЛКА
+МИЋИЋ МИЛОРАД
+МИЋИЋ МИРОСЛАВ
+МИЋИЋ ОЛИВЕРА
+МИЋИЋ ОЗРЕН
+МИЋИЋ РАДМИЛА
+МИЋИЋ РАДОЈИЦА
+МИЋИЋ РАДОВАН
+МИЋИЋ РОДОЉУБ
+МИЋИЋ СЛАВИЦА
+МИЋИЋ СЛАВКО
+МИЋИЋ СМИЉА
+МИЋИЋ СТОЈАН
+МИЋИЋ СУЗАНА
+МИЋИЋ ВЕЛИМИР
+МИЋИЋ ВЛАДИМИР
+МИЋИН ЖАРКО
+МИЋИН ЂОРЂЕ
+МИЋИН ДУШКО
+МИЋИН ЛАЗА
+МИЋИН МИЛИЦА
+МИЋИН РАДОВАН
+МИЋИН УРОШ
+МИЋКОВИЋ МИЛИНКО
+МИЋОВИЋ ЧЕДОМИР
+МИЋОВИЋ БОРИСЛАВ
+МИЋОВИЋ БОСИЉКА
+МИЋОВИЋ ЈАНКО
+МИЋОВИЋ КОСТАДИН ДР
+МИЋОВИЋ МИЛАН
+МИЋОВИЋ МИРЈАНА
+МИЋОВИЋ НЕБОЈША ДИПЛ ИНГ
+МИЋОВИЋ ПРЕДРАГ ДИПЛ ИНГ
+МИЋОВИЋ СТОЈАНКА
+МИЋОВИЋ ВЕЛИМИР
+МИЋУНОВИЋ ДРАГУТИН
+МИЋУНОВИЋ МАРИЦА
+МИЋУНОВИЋ СТАНКА
+МИЋУНОВИЋ ВЛАДО
+МИЋУНОВИЋ ВОЈИСЛАВКА
+МИАВЕЦ МАЋАШ
+МИЦАИ МАРИЈА
+МИЦИЋ ДРАГАН
+МИЦИЋ ДРАГОЉУБ
+МИЦИЋ ДРАГОЉУБ
+МИЦИЋ ДУШАН
+МИЦИЋ КРСТА ДР
+МИЦИЋ МИРКО
+МИЦКОВ БЛАГОЈ
+МИЦКОВ ЕЛЕНА
+МИДИ НЕНАД
+МИДИЋ ЂОРЂЕ
+МИДИЋ БОРИВОЈ
+МИДИЋ-ДУНЂЕРСКИ МИЛЕНА
+МИДИЋ ЈЕЛЕНА
+МИДИЋ ЈОВАН
+МИДИЋ ЉУБИША
+МИДИЋ МИЛЕНКО
+МИДИЋ МИЛОРАД
+МИДИЋ СЛОБОДАН
+МИДИЋ СТЕВАН
+МИДИЋ СВЕТОЗАР
+МИДИЋ СВЕТОЗАР
+МИДИЋ ЗОРКА
+МИГЛИНЦИ БАРБАРА
+МИГЛИНЦИ ЕТЕЛКА
+МИГЛИНЦИ ЈЕЛЕНА
+МИГЛИНЦИ ЛАСЛО
+МИХАИЛОВИЋ ЧЕДОМИР
+МИХАИЛОВИЋ ЂОКО
+МИХАИЛОВИЋ ДРАГУТИН
+МИХАИЛОВИЋ ГОРАН
+МИХАИЛОВИЋ ЈОВАН
+МИХАИЛОВИЋ КОСТАДИН
+МИХАИЛОВИЋ ЉУБИЦА
+МИХАИЛОВИЋ МИЛАН
+МИХАИЛОВИЋ МИЛОШ
+МИХАИЛОВИЋ МИОДРАГ
+МИХАИЛОВИЋ МИРОСЛАВ
+МИХАИЛОВИЋ МИРОСЛАВ
+МИХАИЛОВИЋ СЛАВОЉУБ
+МИХАИЛОВИЋ СВЕТЛАНА
+МИХАИЛОВИЋ СВЕТОЗАР
+МИХАИЛОВИЋ ВЕЛИБОР
+МИХАИЛОВИЋ ВЕРА ДР
+МИХАИЛОВИЋ ВОЈИСЛАВ
+МИХАИЛОВИЋ ЗОРАН
+МИХАЈЉЕВИЋ РАТОМИР
+МИХАЈЛО ЉАВО
+МИХАЈЛОВ ЖИВА
+МИХАЈЛОВ ЂОРЂЕ
+МИХАЈЛОВ АЛЕКСАНДАР ДР
+МИХАЈЛОВ БОГДАН
+МИХАЈЛОВ БРАНИСЛАВ
+МИХАЈЛОВ ДРАГАНА
+МИХАЈЛОВ ДРАГАН
+МИХАЈЛОВ ДУШАН
+МИХАЈЛОВ ИВАН
+МИХАЈЛОВ ЈОВАНКА
+МИХАЈЛОВ ЛАЗАР
+МИХАЈЛОВ ЉИЉАНА
+МИХАЈЛОВ МАРИЈА
+МИХАЈЛОВ МИЛАН
+МИХАЈЛОВ МИЛОШ
+МИХАЈЛОВ МИЛОРАД
+МИХАЈЛОВ МИЛОВАН
+МИХАЈЛОВ МИЛОВАН
+МИХАЈЛОВ МИРОСЛАВА
+МИХАЈЛОВ НИКОЛА
+МИХАЈЛОВ ОЛГА
+МИХАЈЛОВ РАДОЈКА
+МИХАЈЛОВ РАДОСЛАВ
+МИХАЈЛОВ СПАСОЈЕ
+МИХАЈЛОВ ВЕРА
+МИХАЈЛОВ ВЕСЕЛИН
+МИХАЈЛОВ ВИДОСАВ
+МИХАЈЛОВ ЗОРАН
+МИХАЈЛОВИЋ ЧЕДОМИР
+МИХАЈЛОВИЋ ЧЕДО
+МИХАЈЛОВИЋ ЖАРКО
+МИХАЈЛОВИЋ ЖАРКО
+МИХАЈЛОВИЋ ЖЕЉКО
+МИХАЈЛОВИЋ ЖИВКО
+МИХАЈЛОВИЋ ЖИВОЈИН
+МИХАЈЛОВИЋ ЂОРЂЕ
+МИХАЈЛОВИЋ ЂОРЂЕ
+МИХАЈЛОВИЋ ЂОРЂЕ
+МИХАЈЛОВИЋ ЂУРА
+МИХАЈЛОВИЋ АНЂЕЛКО
+МИХАЈЛОВИЋ АНИЦА
+МИХАЈЛОВИЋ АНКА
+МИХАЈЛОВИЋ БОШКО
+МИХАЈЛОВИЋ БОГОЉУБ ДР
+МИХАЈЛОВИЋ БОГОЉУБ
+МИХАЈЛОВИЋ БРАНИСЛАВ
+МИХАЈЛОВИЋ БРАНИСЛАВ
+МИХАЈЛОВИЋ БРАНИСЛАВ
+МИХАЈЛОВИЋ БРАНКА
+МИХАЈЛОВИЋ БРАНКО
+МИХАЈЛОВИЋ БРАНКО
+МИХАЈЛОВИЋ БРАНКО
+МИХАЈЛОВИЋ БРАНКО
+МИХАЈЛОВИЋ ДАНКА
+МИХАЈЛОВИЋ ДАРИНКА
+МИХАЈЛОВИЋ ДЕЈАН
+МИХАЈЛОВИЋ ДЕЈАН
+МИХАЈЛОВИЋ ДЕЛИЈА
+МИХАЈЛОВИЋ ДИМИТРИЈЕ
+МИХАЈЛОВИЋ ДРАГИША
+МИХАЈЛОВИЋ ДРАГОЉУБ ДР ЛЕКАР
+МИХАЈЛОВИЋ ДРАГОЉУБ
+МИХАЈЛОВИЋ ДРАГОЉУБ
+МИХАЈЛОВИЋ ДРЕНКА
+МИХАЈЛОВИЋ ДУШАНКА
+МИХАЈЛОВИЋ ДУШАН
+МИХАЈЛОВИЋ ДУШАН
+МИХАЈЛОВИЋ ДУШАН
+МИХАЈЛОВИЋ ДУШКО
+МИХАЈЛОВИЋ ЕРНЕСТ
+МИХАЈЛОВИЋ ФРАЊА
+МИХАЈЛОВИЋ ГОЈКО
+МИХАЈЛОВИЋ ГОРДАНА
+МИХАЈЛОВИЋ ГОРДАНА
+МИХАЈЛОВИЋ ИЛЕ
+МИХАЈЛОВИЋ ИЛИЈА
+МИХАЈЛОВИЋ ИЛИЈА
+МИХАЈЛОВИЋ ИЛИЈА
+МИХАЈЛОВИЋ ИЛИЈА
+МИХАЈЛОВИЋ ИЛИЈА
+МИХАЈЛОВИЋ ИЛИЈА
+МИХАЈЛОВИЋ ИВАНКА
+МИХАЈЛОВИЋ ЈАСМИНА ДР
+МИХАЈЛОВИЋ ЈЕЛА
+МИХАЈЛОВИЋ ЈЕЛЕНКО
+МИХАЈЛОВИЋ ЈЕЛИЦА
+МИХАЈЛОВИЋ ЈЕЛИЦА
+МИХАЈЛОВИЋ ЈОКА
+МИХАЈЛОВИЋ ЈОВАН ДИПЛ ИНГ
+МИХАЈЛОВИЋ ЈОВАН
+МИХАЈЛОВИЋ ЈОВАН
+МИХАЈЛОВИЋ ЈОВАН
+МИХАЈЛОВИЋ ЈОВАН
+МИХАЈЛОВИЋ ЈУЛИЈАНА
+МИХАЈЛОВИЋ КАТИЦА
+МИХАЈЛОВИЋ КОСТА
+МИХАЈЛОВИЋ КРИСТИНА
+МИХАЈЛОВИЋ КСЕНИЈА
+МИХАЈЛОВИЋ ЛАЗО
+МИХАЈЛОВИЋ ЛЕНКА
+МИХАЈЛОВИЋ ЛЕНКА
+МИХАЈЛОВИЋ ЛЕПОСАВА
+МИХАЈЛОВИЋ ЉУБИША
+МИХАЈЛОВИЋ ЉУБО
+МИХАЈЛОВИЋ МАРГИТА
+МИХАЈЛОВИЋ МАРИЈА
+МИХАЈЛОВИЋ МАРИЈА
+МИХАЈЛОВИЋ МИЋА
+МИХАЈЛОВИЋ МИХАЈЛО
+МИХАЈЛОВИЋ МИЛАДИН
+МИХАЈЛОВИЋ МИЛАН
+МИХАЈЛОВИЋ МИЛАН
+МИХАЈЛОВИЋ МИЛАН
+МИХАЈЛОВИЋ МИЛАН
+МИХАЈЛОВИЋ МИЛА
+МИХАЈЛОВИЋ МИЛЕНКО
+МИХАЈЛОВИЋ МИЛЕНКО
+МИХАЈЛОВИЋ МИЛЕТА
+МИХАЈЛОВИЋ МИЛЕ
+МИХАЈЛОВИЋ МИЛИЦА
+МИХАЈЛОВИЋ МИЛОРАД ДИПЛ ИНГ
+МИХАЈЛОВИЋ МИЛОРАД
+МИХАЈЛОВИЋ МИЛОРАД
+МИХАЈЛОВИЋ МИЛОВАН
+МИХАЈЛОВИЋ МИЛУН
+МИХАЈЛОВИЋ МИРА
+МИХАЈЛОВИЋ МИРКО
+МИХАЈЛОВИЋ МИРКО
+МИХАЈЛОВИЋ МИРКО
+МИХАЈЛОВИЋ МИРОЉУБ ДИПЛ ИНГ
+МИХАЈЛОВИЋ МИРОСЛАВ
+МИХАЈЛОВИЋ МИРОСЛАВ
+МИХАЈЛОВИЋ МИРОСЛАВ
+МИХАЈЛОВИЋ МОМЧИЛО
+МИХАЈЛОВИЋ НАДА
+МИХАЈЛОВИЋ НАДА
+МИХАЈЛОВИЋ НАДА
+МИХАЈЛОВИЋ НАДИРА
+МИХАЈЛОВИЋ НЕБОЈША
+МИХАЈЛОВИЋ НЕДЕЉКО
+МИХАЈЛОВИЋ НЕДЕЉКО
+МИХАЈЛОВИЋ НИКОЛА
+МИХАЈЛОВИЋ НИКОЛА
+МИХАЈЛОВИЋ НИКОЛА
+МИХАЈЛОВИЋ НОВАК
+МИХАЈЛОВИЋ ОЛИВЕРА
+МИХАЈЛОВИЋ ОСТОЈА
+МИХАЈЛОВИЋ ПЕТАР
+МИХАЈЛОВИЋ ПРВОСЛАВ
+МИХАЈЛОВИЋ РАДЕ
+МИХАЈЛОВИЋ РАДИВОЈ
+МИХАЈЛОВИЋ РАДМИЛА
+МИХАЈЛОВИЋ РАДМИЛА
+МИХАЈЛОВИЋ РАДОМИР
+МИХАЈЛОВИЋ РАДОСЛАВ
+МИХАЈЛОВИЋ РАДОСЛАВ
+МИХАЈЛОВИЋ РАДОВАН
+МИХАЈЛОВИЋ РАДОВАН
+МИХАЈЛОВИЋ РАДОВАН
+МИХАЈЛОВИЋ РОЗАЛИЈА
+МИХАЈЛОВИЋ РУЖИЦА
+МИХАЈЛОВИЋ РУЖИЦА
+МИХАЈЛОВИЋ САЊА
+МИХАЈЛОВИЋ САВА
+МИХАЈЛОВИЋ САВА
+МИХАЈЛОВИЋ САВА
+МИХАЈЛОВИЋ САВО
+МИХАЈЛОВИЋ СИНИША
+МИХАЈЛОВИЋ СЛАВИЦА
+МИХАЈЛОВИЋ СЛАВКО
+МИХАЈЛОВИЋ СЛАВОЉУПКА
+МИХАЈЛОВИЋ СЛОБОДАН
+МИХАЈЛОВИЋ СЛОБОДАН
+МИХАЈЛОВИЋ СМИЉАНА
+МИХАЈЛОВИЋ СОФИЈА
+МИХАЈЛОВИЋ СРЂА
+МИХАЈЛОВИЋ СРБИСЛАВ ДР ЛЕКАР
+МИХАЈЛОВИЋ СРЕТЕН
+МИХАЈЛОВИЋ СРЕТКО
+МИХАЈЛОВИЋ СТАНИША ДИПЛ ИНГ
+МИХАЈЛОВИЋ СТАНИСЛАВА
+МИХАЈЛОВИЋ СТАНКО
+МИХАЈЛОВИЋ СТЕВАН
+МИХАЈЛОВИЋ СТЕВАН
+МИХАЈЛОВИЋ СТЕВА
+МИХАЈЛОВИЋ СТЕВИЦА
+МИХАЈЛОВИЋ СТОЈАН
+МИХАЈЛОВИЋ СТОЈАН
+МИХАЈЛОВИЋ-СУБИЋ ЈОВАНКА
+МИХАЈЛОВИЋ СВЕТОЗАР
+МИХАЈЛОВИЋ СВЕТОЗАР
+МИХАЈЛОВИЋ СВЕТОЗАР
+МИХАЈЛОВИЋ ТУГОМИР
+МИХАЈЛОВИЋ УРОШ
+МИХАЈЛОВИЋ ВАСА
+МИХАЈЛОВИЋ ВЕРА
+МИХАЈЛОВИЋ ВИТОМИР
+МИХАЈЛОВИЋ ВЛАДИМИР
+МИХАЈЛОВИЋ ВЛАДИМИР
+МИХАЈЛОВИЋ ВОЈИСЛАВ
+МИХАЈЛОВИЋ ЗОРАНА
+МИХАЈЛОВИЋ ЗОРИЦА
+МИХАЈЛОВСКИ ЉУБИНКА
+МИХАЈЛОВСКИ МИРОСЛАВ
+МИХАЈЛОВСКИ ВЛАДИМИР
+МИХАЛАЧКИ МИХАИЛО
+МИХАЛАЧКИ СЛОБОДАН
+МИХАЛЕЦ АНГЕЛИНА
+МИХАЛЕЦ МАРИЈА
+МИХАЛЕК ИВАН
+МИХАЛЕК МАРИЈА
+МИХАЛЕНКО СТЕВАН
+МИХАЛИЋ ПЕТАР
+МИХАЛИК-ТИР ЗУЗАНА
+МИХАЉ ЕСТЕР
+МИХАЉ МАРИЈА ДР
+МИХАЉ МИХАЈЛО ДР
+МИХАЉ МИРОСЛАВ ДР
+МИХАЉ ВЛАДИМИР
+МИХАЉЧЕВИЋ АЛОЈЗИЈЕ
+МИХАЉЧИЋ ДРАГАН
+МИХАЉЧИЋ ГОЈКО
+МИХАЉЧИЋ ИЛЕ
+МИХАЉЧИЋ ЈОВАН
+МИХАЉЧИЋ ЈОВАН
+МИХАЉЧИЋ ЛУКА
+МИХАЉЧИЋ МИТАР
+МИХАЉЧИЋ СПАСОЈЕ
+МИХАЉЕВ ЖЕЉКО
+МИХАЉЕВ ИВАН ДР
+МИХАЉЕВ СТОЈАН
+МИХАЉЕВИЋ АНТОН
+МИХАЉЕВИЋ ЕМИЛ
+МИХАЉЕВИЋ ИВАН
+МИХАЉЕВИЋ МИЛАН
+МИХАЉЕВИЋ РУЖИЦА
+МИХАЉЕВИЋ ЗДРАВКО
+МИХАЉФИ МАРИКА
+МИХАЉИ МАРИЈА
+МИХАЉИЧИЋ БРАНКО
+МИХАЉИЧИЋ ДМИТАР
+МИХАЉИЧИЋ ЈОВАНКА
+МИХАЉИЧИЋ СИМО
+МИХАЉИЧИЋ ТОДЕ
+МИХАЉИЦА АНЂА
+МИХАЉИЦА БОЖО
+МИХАЉИЦА ЦВЕТКО
+МИХАЉИЦА МИРА
+МИХАЉКА БРАНИСЛАВ
+МИХАЉОВСКИ ДАНИЛО
+МИХАЛОВИЋ БРАНКО
+МИХАЛОВИЋ ГРОЗДАНА
+МИХЕЉ ФРАЊО
+МИХЕВЦ ИВАНКА
+МИХИЋ ЧЕДОМИР
+МИХИЋ БОЖИДАР
+МИХИЋ МИЛАН
+МИХИЋ МИЛАН
+МИХИЋ МИЛЕНА
+МИХИЋ РИСТО
+МИХИЋ РИСТО
+МИХИЋ САВА ДИПЛ ИНГ
+МИХИЋ ВЕРА
+МИХИЋ ВЛАДИМИР
+МИХИЋ ВОЈИСЛАВКА
+МИХИЋ ЗОРАН
+МИХЛИЦ ПЕТАР
+МИХЊАК ЈОАКИМ
+МИХЊАК КАТИЦА
+МИХЊАК ЛАДИСЛАВ
+МИХЊАК МЕЛАНИЈА
+МИХЊАК НАДА
+МИХЊАК ПЕТАР
+МИХОЦИ ФРАЊА
+МИХОЦИ ЗВОНИМИР
+МИХОЈЕВИЋ ЂОРЂЕ
+МИХОЈЕВИЋ МИЛЕНА
+МИХОЈЕВИЋ НИКОЛА
+МИХОЈЕВИЋ СНЕЖАНА
+МИХОЛЧИЋ СТЕВИЦА
+МИХОЉЕВИЋ ЕМА
+МИХОЉЕВИЋ МИЛОТКА
+МИЈАЧ СЛАВКО
+МИЈАЧЕВИЋ МИЛАН
+МИЈАЏЕВИЋ ЈОВО
+МИЈАИЛОВИЋ ЂОРЂЕ
+МИЈАИЛОВИЋ МИЛИВОЈЕ
+МИЈАИЛОВИЋ ПАНТЕЛИЈА
+МИЈАИЛОВИЋ РАНИСАВ
+МИЈАИЛОВИЋ РАНКО
+МИЈАИЛОВИЋ СТАНОЈЕ
+МИЈАЈЛОВИЋ АЈНА
+МИЈАЈЛОВИЋ ВУКОСАВА
+МИЈАЛЧИЋ МИЛАН
+МИЈАЛЧИЋ САВА
+МИЈАЛЧИЋ ЗОРА
+МИЈАЛИЦА СВЕТОСЛАВ
+МИЈАНОВИЋ ЂОРЂЕ
+МИЈАНОВИЋ ЂОРЂЕ
+МИЈАНОВИЋ МИЛИЦА
+МИЈАНОВИЋ МИЛОШ
+МИЈАНОВИЋ МИЛОРАД
+МИЈАНОВИЋ МИЛОРАД
+МИЈАНОВИЋ ПАВЛЕ
+МИЈАНОВИЋ РАДОМИР
+МИЈАТ ИВАН
+МИЈАТ МИЛАНКА
+МИЈАТ РОКО
+МИЈАТ ТОМИСЛАВ
+МИЈАТОВ ЖИВКА
+МИЈАТОВ АЛЕКСАНДАР
+МИЈАТОВ АНЂЕЛКА
+МИЈАТОВ БРАНИСЛАВ
+МИЈАТОВ ДРАГИЋ
+МИЈАТОВ ДРАГИЦА
+МИЈАТОВ ИВАН
+МИЈАТОВ ИВАН
+МИЈАТОВ ЈОСА
+МИЈАТОВ КАТИЦА
+МИЈАТОВ ЛАЗАР
+МИЈАТОВ ЉУБИНКА
+МИЈАТОВ ЉУБОМИР
+МИЈАТОВ МИЛАДИН
+МИЈАТОВ МИЛАН
+МИЈАТОВ МИЛАН
+МИЈАТОВ МИЛАН
+МИЈАТОВ МИЛА
+МИЈАТОВ МИЛЕНКО
+МИЈАТОВ МИЛОШ
+МИЈАТОВ МИЛОРАД
+МИЈАТОВ МИОДРАГ
+МИЈАТОВ МИРЈАНА
+МИЈАТОВ РАДИВОЈ
+МИЈАТОВ РАДОВАН
+МИЈАТОВ САВА
+МИЈАТОВ САВКА
+МИЈАТОВ СЛАВКО
+МИЈАТОВ СМИЉКА
+МИЈАТОВ СТЕВАН
+МИЈАТОВ ВИДОСАВА
+МИЈАТОВ ВОЈИН
+МИЈАТОВ ЗЛАТИНКА
+МИЈАТОВИЋ ЖИВАН
+МИЈАТОВИЋ ЂОРЂЕ
+МИЈАТОВИЋ ЂУЈА
+МИЈАТОВИЋ ЂУРИЦА
+МИЈАТОВИЋ ЂУРО
+МИЈАТОВИЋ АЛЕКСАНДРА
+МИЈАТОВИЋ АНТОНИЈЕ
+МИЈАТОВИЋ БИСЕРКА
+МИЈАТОВИЋ БОШКО
+МИЈАТОВИЋ БОЖИДАР
+МИЈАТОВИЋ БОЖО
+МИЈАТОВИЋ БОГОМИР
+МИЈАТОВИЋ БРАНКО
+МИЈАТОВИЋ ДРАГАН
+МИЈАТОВИЋ ДРАГАН
+МИЈАТОВИЋ ДРАГИЋ
+МИЈАТОВИЋ ДРАГИ
+МИЈАТОВИЋ ДУШАН
+МИЈАТОВИЋ ДУШАН
+МИЈАТОВИЋ ДУШАН
+МИЈАТОВИЋ ГОЈКО
+МИЈАТОВИЋ ИЛИЈА
+МИЈАТОВИЋ ИЛИЈА
+МИЈАТОВИЋ ЈОВАН
+МИЈАТОВИЋ ЈОВАН
+МИЈАТОВИЋ КАТИЦА
+МИЈАТОВИЋ КОСТА
+МИЈАТОВИЋ ЛАЗАР
+МИЈАТОВИЋ ЛАЗАР
+МИЈАТОВИЋ ЛЕЛА
+МИЈАТОВИЋ ЉИЉАНА
+МИЈАТОВИЋ ЉУБЕНКО
+МИЈАТОВИЋ ЉУБИЦА
+МИЈАТОВИЋ ЉУБИЦА
+МИЈАТОВИЋ ЉУБИЦА
+МИЈАТОВИЋ МАРТА
+МИЈАТОВИЋ МАТО
+МИЈАТОВИЋ МИША
+МИЈАТОВИЋ МИЛАН
+МИЈАТОВИЋ МИЛЕВА
+МИЈАТОВИЋ МИЛИВОЈЕ
+МИЈАТОВИЋ МИЛКО
+МИЈАТОВИЋ МИЛОШ
+МИЈАТОВИЋ МИЛОРАД
+МИЈАТОВИЋ МИЛОВАН
+МИЈАТОВИЋ МИОДРАГ
+МИЈАТОВИЋ МИРА
+МИЈАТОВИЋ МИРЈАНА
+МИЈАТОВИЋ МИРЈАНА
+МИЈАТОВИЋ НАТАША
+МИЈАТОВИЋ НЕВЕНА
+МИЈАТОВИЋ НИКОЛА
+МИЈАТОВИЋ НОВО
+МИЈАТОВИЋ ОБРАД
+МИЈАТОВИЋ ПЕРА
+МИЈАТОВИЋ ПЕТАР
+МИЈАТОВИЋ-ПУШИЋ БРАНИСЛАВА ДР
+МИЈАТОВИЋ РАДИЧ
+МИЈАТОВИЋ РАДОСЛАВ
+МИЈАТОВИЋ СИМО
+МИЈАТОВИЋ СНЕЖАНА
+МИЈАТОВИЋ СТАНА
+МИЈАТОВИЋ ТОША
+МИЈАТОВИЋ ТОМИСЛАВ
+МИЈАТОВИЋ ВЕРА
+МИЈАТОВИЋ ВЕРА
+МИЈАТОВИЋ ВИД
+МИЈАТОВИЋ ВЛАДАН
+МИЈАТОВИЋ ВОЈИН АДВОКАТ
+МИЈАТОВИЋ ЗДРАВКО ДИПЛ ИНГ
+МИЈАТОВИЋ ЗОРАН
+МИЈАТОВИЋ ЗОРА
+МИЈАТОВИЋ ЗОРИЦА
+МИЈАТОВИЋ ЗВОНИМИР
+МИЈАВЕЦ ЂОРЂЕ
+МИЈАВЕЦ ЈОВАН
+МИЈАВЕЦ ЛУДВИГ
+МИЈАВЕЦ МИХАЈЛО
+МИЈАВЕЦ ПАЈА
+МИЈАВЕЦ ЗОРА
+МИЈИЋ ЖЕЉКО
+МИЈИЋ ЖЕЉКО
+МИЈИЋ ЂОРЂЕ
+МИЈИЋ АЛЕКСАНДАР
+МИЈИЋ АНТЕ
+МИЈИЋ БРАНКО
+МИЈИЋ ДЕСАНКА
+МИЈИЋ ДРАГАН
+МИЈИЋ ДУШАН
+МИЈИЋ ИЛИЈА
+МИЈИЋ ЈАЊА
+МИЈИЋ МИХАЈЛО
+МИЈИЋ МИЛАН
+МИЈИЋ МИЛОШ
+МИЈИЋ МИОДРАГ
+МИЈИЋ НИКОЛА
+МИЈИЋ ПЕРА
+МИЈИЋ ПЕТАР
+МИЈИЋ ПЕТАР
+МИЈИЋ РАДОВАН
+МИЈИЋ РАДОВАН
+МИЈИЋ САВА
+МИЈИЋ СВЕТИСЛАВ
+МИЈИЋ ТИНКА
+МИЈИЋ ВЕЉКО
+МИЈИЋ ВЕСНА
+МИЈИЋ ВЛАДИМИР
+МИЈИН БОРИСЛАВ
+МИЈИН БРАНИСЛАВ
+МИЈИН ЈОВА
+МИЈИН ЛАЗАР
+МИЈИН ЛАЗАР
+МИЈИН МИЛАН
+МИЈИН МИЛЕВА
+МИЈИН МИЛИЦА
+МИЈИН МИЛОШ
+МИЈИН ПЕТАР
+МИЈИН ПЕТАР
+МИЈИН РАДА
+МИЈИН САВА
+МИЈИН СИМА
+МИЈИН СТЕВАН
+МИЈИН СВЕТОЗАР
+МИЈОКОВ ДРАГАН
+МИЈОЛИЋ СЛОБОДАН
+МИЈОЉЕВИЋ МИЛЕНКО
+МИЈОВИЋ ЖАРКО
+МИЈОВИЋ ДРАГИЦА
+МИЈОВИЋ ГАВРИЛО
+МИЈОВИЋ РАДОЈКА
+МИЈОВИЋ ВЕРА
+МИЈУЧИЋ СТЕВАН
+МИЈУЧИЋ ВЕРА
+МИЈУЧИН МИЛКА
+МИЈУШКОВИЋ ДРАГИЦА
+МИЈУШКОВИЋ ЈОВАН
+МИЈУШКОВИЋ МИЛИВОЈЕ
+МИЈУШКОВИЋ ОБРЕН
+МИЈУШКОВИЋ РАДЕ
+МИЈУШКОВИЋ РАДМИЛА
+МИЈУШКОВИЋ ТИНКА
+МИКША МИЛАН
+МИКШИЋ ЧЕДОМИР
+МИКШИЋ ОТОН
+МИКШИЋ СЛОБОДАН
+МИКАШИНОВИЋ БИЉАНА
+МИКАШИНОВИЋ САВА
+МИКАЋ МИЛАН
+МИКАЦ ЕВКА
+МИКАЛАЧКИ ЂОРЂЕ
+МИКАЛАЧКИ АЛЕКСАНДАР
+МИКАЛАЧКИ ДРАГИЦА
+МИКАЛАЧКИ ИВАНКА
+МИКАЛАЧКИ ИВАНКА
+МИКАЛАЧКИ ЈАСМИНА
+МИКАЛАЧКИ МИЛУТИН
+МИКАЛАЧКИ МИРЈАНА
+МИКАЛАЧКИ ПАВЛЕ
+МИКАЛАЧКИ УРОШ
+МИКАЛАЧКИ ЗОРАН
+МИКАЛАЧКИ ЗОРАН
+МИКАН БОСИЉКА
+МИКАН ИВАН
+МИКАНОВИЋ ДАНИЦА
+МИКАНОВИЋ ДРАГАН
+МИКАНОВИЋ ИРЕНА
+МИКАНОВИЋ РАНКО
+МИКАВИЦА СТАНИМИР
+МИКЕ ЕСТЕР
+МИКЕШ АНДРИЈА
+МИКЕШ ЕНДРЕ
+МИКЕШ ЕТЕЛ
+МИКЕШ МЕЛАНИЈА
+МИКЕШ МИХАЉ
+МИКЕТИЋ МИРЈАНА
+МИКИЋ ЖАРКО
+МИКИЋ ЖАРКО
+МИКИЋ ЂУРА ДР
+МИКИЋ ДЕСИМИР
+МИКИЋ ИВАН
+МИКИЋ ЈОСИП ДИПЛ ИНГ
+МИКИЋ ЛАЗАР
+МИКИЋ МАКСИМ
+МИКИЋ МИЛАН
+МИКИЋ МИЛЕНА
+МИКИЋ МИЛИСАВ
+МИКИЋ МИЛКА
+МИКИЋ МИЛКА
+МИКИЋ МИЛОВАН
+МИКИЋ МИРОСЛАВ
+МИКИЋ ОЛГА
+МИКИЋ РАДИВОЈЕ
+МИКИЋ РАДОЈКА
+МИКИЋ РАДОСЛАВКА
+МИКИЋ РУЖА
+МИКИЋ СЛОБОДАН
+МИКИЋ СРБОЉУБ
+МИКИЋ СТОЈА
+МИКИЋ ТОДОР
+МИКИЋ ВЛАДАН
+МИКИЋ ЗОРКА
+МИКИН НАДА
+МИКИТИШИН НАДА
+МИКЛЕВ СТОЈАНКА
+МИКЛИЋ ЂОРЂЕ
+МИКЛИЋ АНА
+МИКЛИЋ ТЕРЕЗА
+МИКЛОШ АНДРАШ
+МИКЛОШ АНДРИЈА
+МИКЛОШ АНТАЛ
+МИКЛОШ ДИМИТРИЈЕ
+МИКЛОШ ЈАНКО
+МИКЛОШ ЈЕЛИСАВЕТА
+МИКЛОШ ЈУЛИЈАН
+МИКЛОШ НАНДОР ДР ЛЕКАР
+МИКЛОШ СТЕВАН
+МИКЛОШ ВЛАДИМИР
+МИКЛОВИЦ ЈАН
+МИКЛОВИЦ МИЛОСЛАВ
+МИКОЛА ЂУРА
+МИКОЛАЦИ ЛЕПОСАВА
+МИКОЛЕЦКИ СЛАВИЦА
+МИКОЛИЋ АЛЕКСАНДАР
+МИКОВ ЈОВАНКА
+МИКОВ МЕТОДИ ДР ЛЕКАР
+МИКОВ МОМИР
+МИКОВИЋ ЂОРЂЕ
+МИКОВИЋ ЂОРЂЕ
+МИКОВИЋ ЂУРА
+МИКОВИЋ АЛЕКСАНДАР
+МИКОВИЋ АЛЕКСАНДАР
+МИКОВИЋ ДАНИЛО
+МИКОВИЋ ДАРИНКА
+МИКОВИЋ ДЕЈАН
+МИКОВИЋ ДЕСАНКА
+МИКОВИЋ ЈЕЛЕНА
+МИКОВИЋ ЛАЗАР
+МИКОВИЋ ЉИЉАНА
+МИКОВИЋ МИЛЕНА
+МИКОВИЋ МИОДРАГ
+МИКОВИЋ МЛАДЕН
+МИКОВИЋ МОМЧИЛО ДР ПРАВНИК
+МИКОВИЋ НАДА
+МИКОВИЋ НИНОСЛАВ
+МИКОВИЋ ПАВА
+МИКОВИЋ РУЖИЦА
+МИКОВИЋ СЛАВКО
+МИКОВИЋ СНЕЖАНА
+МИКОВИЋ СРЕДОЈЕ
+МИКОВИЛОВИЋ ИВАН
+МИКСАТ ЈОЖЕФ
+МИКУШ АНЂЕЛКА
+МИКУШ МИЛКА
+МИКУШ МИРЈАНА
+МИКУЛЕСКО ДУШАН
+МИКУЛЕСКО САВО ДИПЛ ИНГ
+МИКУЛИЋ ШИМЕ
+МИКУЛИЋ БИЉАНА
+МИКУЛИЋ БЛАЖ
+МИКУЛИЋ ЕДИТ
+МИКУЛИЋ ИВАН
+МИКУЛИЋ ИВАН
+МИКУЛИЋ ИВА
+МИКУЛИЋ ЈЕЛИСАВЕТА
+МИКУЛИЋ ЛОВРЕ
+МИКУЛИЋ МАРА
+МИКУЛИЋ МИЛЕ
+МИКУЛИЋ МИЛИЋ
+МИКУЛИНАЦ МАТИЈА
+МИКУЛИНАЦ РЕНЕТА
+МИКУЛИНАЦ СЛАВИЦА
+МИЛЧИЋ ДРАГАН
+МИЛЧИЋ ЈОВАН
+МИЛАЧИЋ ЖЕЉКО
+МИЛАЧИЋ БОРИВОЈЕ
+МИЛАЧИЋ БРАНИСЛАВ
+МИЛАЧИЋ БРАНКО
+МИЛАЧИЋ ДУШАН
+МИЛАЧИЋ ИВАН
+МИЛАЧИЋ ЉУБОМИР
+МИЛАЧИЋ МАШАН
+МИЛАЧИЋ МИЛЕНКО
+МИЛАЧИЋ СРБОСЛАВ
+МИЛАЧИЋ СВЕТОЗАР
+МИЛАЧИЋ ЗОРИЦА
+МИЛАШ ДРАГАН
+МИЛАШ ДУШАНКА
+МИЛАШЕВИЋ ЗОРКА
+МИЛАШИНОВИЋ ЈОВАН
+МИЛАШИНОВИЋ ЉУБОМИР
+МИЛАШИНОВИЋ МИЋУН
+МИЛАШИНОВИЋ МИЛОРАД
+МИЛАШИНОВИЋ МИРЈАНА
+МИЛАШИНОВИЋ МИРКО
+МИЛАШИНОВИЋ МИРКО
+МИЛАШИНОВИЋ РАДЕ
+МИЛАШИНОВИЋ-СТАНОЈЕВИЋ ЉИЉАНА
+МИЛАШИНОВИЋ ВУКОМАН
+МИЛАШИНОВИЋ ЗЛАТОЈА
+МИЛАДИЋ ЧЕДА
+МИЛАДИЋ ДОБРОМИР
+МИЛАДИЋ ПЕТАР
+МИЛАДИНОСКИ ЛЕВКО
+МИЛАДИНОВ ЖАРКО
+МИЛАДИНОВ ЖИВКО
+МИЛАДИНОВ БОЖИДАР
+МИЛАДИНОВ ДАНИЦА
+МИЛАДИНОВ ДАНИЦА
+МИЛАДИНОВ ДУШАНКА
+МИЛАДИНОВ ДУШАН
+МИЛАДИНОВ ЈОЦА
+МИЛАДИНОВ ЈОВАН
+МИЛАДИНОВ ЈОВАН
+МИЛАДИНОВ ЈОВАН
+МИЛАДИНОВ ЈОВИЦА
+МИЛАДИНОВ ЉУБИЦА
+МИЛАДИНОВ МАРИЈА
+МИЛАДИНОВ МИЛАН
+МИЛАДИНОВ МИЛАН
+МИЛАДИНОВ МИЛЕНА
+МИЛАДИНОВ МИЛЕНКО
+МИЛАДИНОВ МИЛОВАН ДИПЛ ИНГ
+МИЛАДИНОВ МИЛОВАН
+МИЛАДИНОВ НАДА
+МИЛАДИНОВ НОВАК
+МИЛАДИНОВ РАДИВОЈ
+МИЛАДИНОВ РАДОВАН
+МИЛАДИНОВ СЛАВИЦА
+МИЛАДИНОВ СРБИНКО
+МИЛАДИНОВ СВЕТОЗАР
+МИЛАДИНОВ СВЕТОЗАР
+МИЛАДИНОВ ТИХОМИР
+МИЛАДИНОВ ВЕСНА
+МИЛАДИНОВ ВЈЕРА
+МИЛАДИНОВИЋ ЖИВАДИН ДИПЛ ИНГ
+МИЛАДИНОВИЋ ЖИВОЈИН
+МИЛАДИНОВИЋ ЂОРЂЕ
+МИЛАДИНОВИЋ АЛЕКСАНДАР
+МИЛАДИНОВИЋ АЛЕКСАНДАР
+МИЛАДИНОВИЋ БОЖИДАР
+МИЛАДИНОВИЋ БРАНИМИР
+МИЛАДИНОВИЋ БРАНКО
+МИЛАДИНОВИЋ ДАМИР
+МИЛАДИНОВИЋ ДИВНА
+МИЛАДИНОВИЋ ДРАГАН
+МИЛАДИНОВИЋ ДРАГАН
+МИЛАДИНОВИЋ ДРАГИША
+МИЛАДИНОВИЋ ДРАГОМИР
+МИЛАДИНОВИЋ ДРАГОСЛАВ
+МИЛАДИНОВИЋ ДУШАН
+МИЛАДИНОВИЋ ЈОВАН
+МИЛАДИНОВИЋ ЈОВАН
+МИЛАДИНОВИЋ ЉУБИЦА
+МИЛАДИНОВИЋ ЉУБИНКА
+МИЛАДИНОВИЋ МАРКО
+МИЛАДИНОВИЋ МИХАЈЛО
+МИЛАДИНОВИЋ МИЛАН
+МИЛАДИНОВИЋ МИЛАН
+МИЛАДИНОВИЋ МИЛАН
+МИЛАДИНОВИЋ МИЛЕ
+МИЛАДИНОВИЋ МИЛОВАН
+МИЛАДИНОВИЋ МИРОСЛАВ
+МИЛАДИНОВИЋ НОВИЦА
+МИЛАДИНОВИЋ ПРЕДРАГ
+МИЛАДИНОВИЋ РАДМИЛО
+МИЛАДИНОВИЋ РАДОСЛАВ
+МИЛАДИНОВИЋ СЛАВКО
+МИЛАДИНОВИЋ СЛОБОДАНКА
+МИЛАДИНОВИЋ СЛОБОДАН
+МИЛАДИНОВИЋ СЛОБОДАН
+МИЛАДИНОВИЋ СВЕТОМИР
+МИЛАДИНОВИЋ ТОДЕ
+МИЛАДИНОВИЋ ВЕРА
+МИЛАК ЂОРЂЕ
+МИЛАК ДАРИНКА
+МИЛАК ДУШАН
+МИЛАК ЈЕЛЕНА
+МИЛАК ЈОВАН
+МИЛАК ЈОВАН
+МИЛАК КАТИЦА
+МИЛАК ЛАЗАР
+МИЛАК МИЛАН
+МИЛАК МИЛАН
+МИЛАК МИЛЕНКО
+МИЛАК МИЛОШ
+МИЛАК РАДОСЛАВ
+МИЛАК САВА
+МИЛАКОВ ЈЕЛЕНА ДР ПРОФ
+МИЛАКОВ ЉУБИЦА ДР
+МИЛАКОВ МИРЈАНА
+МИЛАКОВИЋ ЂОРЂЕ
+МИЛАКОВИЋ ЂУРАЂ
+МИЛАКОВИЋ ЂУРО
+МИЛАКОВИЋ БОСИЉКА
+МИЛАКОВИЋ ДАНИЦА
+МИЛАКОВИЋ ДРАГИЦА
+МИЛАКОВИЋ ДУШАН
+МИЛАКОВИЋ ГОРАН
+МИЛАКОВИЋ МИЛАН
+МИЛАКОВИЋ МИЛКА
+МИЛАКОВИЋ МЛАДЕН
+МИЛАКОВИЋ РАДМИЛА
+МИЛАКОВИЋ РАТОМИР
+МИЛАКОВИЋ ТЕОДОР
+МИЛАКОВИЋ ВОЈИСЛАВ
+МИЛАКОВИЋ ВОЈО
+МИЛАКОВИЋ ВУКИЦА
+МИЛАКОВИЋ ЗОРАН
+МИЛАНКО СЛАВКО
+МИЛАНКОВ ЖИВА
+МИЛАНКОВ ЖИВА
+МИЛАНКОВ ЂОРЂЕ
+МИЛАНКОВ БРАНИСЛАВ
+МИЛАНКОВ ЦВЕТА
+МИЛАНКОВ ДУШАН
+МИЛАНКОВ ИВАН
+МИЛАНКОВ ЈЕЛЕНА
+МИЛАНКОВ ЈУЛИЈАНА
+МИЛАНКОВ ЛАЗАР
+МИЛАНКОВ МАРКО
+МИЛАНКОВ МИЛЕНКО
+МИЛАНКОВ МИЛИВОЈ
+МИЛАНКОВ МИЛКО
+МИЛАНКОВ СЛАВИМИР
+МИЛАНКОВ СОФИЈА
+МИЛАНКОВ СТАНИМИР
+МИЛАНКОВ СТЕВАН
+МИЛАНКОВИЋ ЂОРЂЕ
+МИЛАНКОВИЋ ЂОРЂЕ
+МИЛАНКОВИЋ АНА
+МИЛАНКОВИЋ-ЦОКОВИЋ МИРЈАНА
+МИЛАНКОВИЋ ДРАГОЉУБ
+МИЛАНКОВИЋ ГОРАН
+МИЛАНКОВИЋ ГОРАН
+МИЛАНКОВИЋ ИЛИНКА
+МИЛАНКОВИЋ ЛАЗАР
+МИЛАНКОВИЋ МИЛАНКО
+МИЛАНКОВИЋ МИЛАН
+МИЛАНКОВИЋ МИЛЕВА
+МИЛАНКОВИЋ РАДОСЛАВ
+МИЛАНКОВИЋ СЛОБОДАН
+МИЛАНКОВИЋ ЗОРА
+МИЛАНОВ АНИЦА
+МИЛАНОВ АНКА
+МИЛАНОВ БОГДАН
+МИЛАНОВ БОРИСЛАВА
+МИЛАНОВ ДОБРИВОЈ
+МИЛАНОВ ЈЕЛИЦА
+МИЛАНОВ ЉУБИША
+МИЛАНОВ МИЛАН
+МИЛАНОВ МИОДРАГ
+МИЛАНОВ МИРЈАНА
+МИЛАНОВ МЛАДЕН
+МИЛАНОВ ПЕРСИДА
+МИЛАНОВ РАДИВОЈ
+МИЛАНОВ САВКА
+МИЛАНОВ СВЕТОЗАР
+МИЛАНОВ ВУКОСАВА
+МИЛАНОВИЋ ЖЕЉКО
+МИЛАНОВИЋ ЖИВОРАД
+МИЛАНОВИЋ ЖИВОТИЈЕ
+МИЛАНОВИЋ АЛЕКСАНДАР
+МИЛАНОВИЋ БОШКО
+МИЛАНОВИЋ БОЖИДАР
+МИЛАНОВИЋ БОГДАН
+МИЛАНОВИЋ БРАНКО ДР
+МИЛАНОВИЋ БРАНКО
+МИЛАНОВИЋ ЦВИЈЕТИН
+МИЛАНОВИЋ ДАМЈАНКА
+МИЛАНОВИЋ ДЕСАНКА
+МИЛАНОВИЋ ДОНКА
+МИЛАНОВИЋ ДРАГАН
+МИЛАНОВИЋ ДРАГАН
+МИЛАНОВИЋ ДРАГАН
+МИЛАНОВИЋ ДРАГИЦА
+МИЛАНОВИЋ ДРАГО
+МИЛАНОВИЋ ДУШАН
+МИЛАНОВИЋ ГОРАН
+МИЛАНОВИЋ ГОРАН
+МИЛАНОВИЋ ИЛИЈА
+МИЛАНОВИЋ ИЛИЈА
+МИЛАНОВИЋ ЈАСМИНА
+МИЛАНОВИЋ КАТИЦА
+МИЛАНОВИЋ ЉИЉАНА
+МИЛАНОВИЋ ЉУБИША
+МИЛАНОВИЋ ЉУБИЦА
+МИЛАНОВИЋ МАРТА
+МИЛАНОВИЋ МИХО
+МИЛАНОВИЋ МИЛАНА
+МИЛАНОВИЋ МИЛЕНКО
+МИЛАНОВИЋ МИЛЕНКО
+МИЛАНОВИЋ МИЛИЈА
+МИЛАНОВИЋ МИЛИСАВ
+МИЛАНОВИЋ МИЛИСАВ
+МИЛАНОВИЋ МИЛОЈЕ
+МИЛАНОВИЋ МИЛОРАД
+МИЛАНОВИЋ МИЛОРАД
+МИЛАНОВИЋ МИОДРАГ
+МИЛАНОВИЋ МЛАДЕН
+МИЛАНОВИЋ НАДА
+МИЛАНОВИЋ-ПЕТРАШЕВИЋ ДРАГИЦА
+МИЛАНОВИЋ РАДОСЛАВ
+МИЛАНОВИЋ РАДОВАН
+МИЛАНОВИЋ САША
+МИЛАНОВИЋ СЛАВОЉУБ
+МИЛАНОВИЋ СЛОБОДАН
+МИЛАНОВИЋ СВЕТОМИР
+МИЛАНОВИЋ ВИКТОРИЈА
+МИЛАНОВИЋ ВИТКО
+МИЛАНОВИЋ ВЛАДИМИР
+МИЛАНОВИЋ ВЛАДИМИР
+МИЛАНОВИЋ ВУЈО
+МИЛАНОВИЋ ЗОРАН
+МИЛАНОВИЋ ЗОРАН
+МИЛАНОВИЋ ЗОРА
+МИЛАНОВИЋ ЗОРКА
+МИЛАРИЋ ИВАН
+МИЛАТОВИЋ ДАНИЛО
+МИЛАТОВИЋ ЈОВАНКА
+МИЛАТОВИЋ ВЛАДИМИР
+МИЛЕШЕВ МИЛИЦА
+МИЛЕШЕВИЋ ОБРАД
+МИЛЕЦ ДОРОТЕА
+МИЛЕЦ ИЛОНКА
+МИЛЕИ ДРАГУТИН
+МИЛЕИ ЈАНОШ
+МИЛЕИ ТОМИСЛАВ
+МИЛЕКШИЋ БОГДАН
+МИЛЕКИЋ ДУШАН
+МИЛЕКИЋ МИЛОМИР
+МИЛЕКИЋ НИКОЛА
+МИЛЕКИЋ СТЕВАН
+МИЛЕКИЋ УРОШ
+МИЛЕНКОВИЋ ЖАРКО
+МИЛЕНКОВИЋ ЖИВОЈИН
+МИЛЕНКОВИЋ ЂОРЂЕ
+МИЛЕНКОВИЋ ЂУРЂИНА
+МИЛЕНКОВИЋ АЛЕКСАНДАР
+МИЛЕНКОВИЋ-АНТИЋ ЛАЗАР
+МИЛЕНКОВИЋ-БЈЕЛАЈАЦ МИЛАНКА
+МИЛЕНКОВИЋ БОЖИДАР
+МИЛЕНКОВИЋ БОГОМИР
+МИЛЕНКОВИЋ БОРИВОЈЕ
+МИЛЕНКОВИЋ БРАНИСЛАВ
+МИЛЕНКОВИЋ БРАНИСЛАВ
+МИЛЕНКОВИЋ БРАНКО
+МИЛЕНКОВИЋ БРАТИСЛАВ
+МИЛЕНКОВИЋ БРАТИСЛАВ
+МИЛЕНКОВИЋ ДАРИНКА
+МИЛЕНКОВИЋ ДОБРИЛА
+МИЛЕНКОВИЋ ДОБРИЛА
+МИЛЕНКОВИЋ ДОБРИВОЈЕ
+МИЛЕНКОВИЋ ДРАГАН ДР
+МИЛЕНКОВИЋ ДРАГОШ
+МИЛЕНКОВИЋ ДРАГОЉУБ ДР
+МИЛЕНКОВИЋ ДРАГОСЛАВ
+МИЛЕНКОВИЋ ДРАГОСЛАВ
+МИЛЕНКОВИЋ ДУШАН
+МИЛЕНКОВИЋ ДУШАН
+МИЛЕНКОВИЋ ЕРЖИКА
+МИЛЕНКОВИЋ ГРОЗДАНА
+МИЛЕНКОВИЋ ИЛОНКА
+МИЛЕНКОВИЋ ИРЕНА
+МИЛЕНКОВИЋ ЈЕЛИЦА
+МИЛЕНКОВИЋ ЈЕВТО
+МИЛЕНКОВИЋ ЈУГОСЛАВ
+МИЛЕНКОВИЋ ЈУСТИНА
+МИЛЕНКОВИЋ КОВИЉКА
+МИЛЕНКОВИЋ КРСТАНА
+МИЛЕНКОВИЋ ЉИЉАНА
+МИЛЕНКОВИЋ ЉИЉАНА
+МИЛЕНКОВИЋ МИЛИЈАН
+МИЛЕНКОВИЋ МИЛИСАВ
+МИЛЕНКОВИЋ МИЛОРАД
+МИЛЕНКОВИЋ МИЛОРАД
+МИЛЕНКОВИЋ МИЛОСАВ
+МИЛЕНКОВИЋ МИЛУТИН
+МИЛЕНКОВИЋ МИОДРАГ
+МИЛЕНКОВИЋ МИРОСЛАВ
+МИЛЕНКОВИЋ МИРОСЛАВ
+МИЛЕНКОВИЋ МОМЧИЛО
+МИЛЕНКОВИЋ НЕБОЈША
+МИЛЕНКОВИЋ НЕНАД
+МИЛЕНКОВИЋ НИЋИФОР
+МИЛЕНКОВИЋ ПАУН
+МИЛЕНКОВИЋ ПРЕДРАГ
+МИЛЕНКОВИЋ РАДИСАВ
+МИЛЕНКОВИЋ РАДОМИР
+МИЛЕНКОВИЋ РАДОСЛАВ
+МИЛЕНКОВИЋ РАДОВАН
+МИЛЕНКОВИЋ САВА
+МИЛЕНКОВИЋ СЛАВОЉУБ
+МИЛЕНКОВИЋ СНЕЖАНА
+МИЛЕНКОВИЋ СРЕТЕН
+МИЛЕНКОВИЋ СТОЈАНКА
+МИЛЕНКОВИЋ СВЕТИСЛАВ
+МИЛЕНКОВИЋ СВЕТОМИР
+МИЛЕНКОВИЋ ТИХОМИР
+МИЛЕНКОВИЋ ВЕСЕЛИНКА
+МИЛЕНКОВИЋ ВИТОМИР
+МИЛЕНКОВИЋ ВЛАДАН
+МИЛЕНКОВИЋ ЗОРИЦА
+МИЛЕНКОВИЋ ЗОРКА
+МИЛЕНКОВСКИ БЛАГОЈЕ
+МИЛЕНКОВСКИ МИЛИЦА
+МИЛЕНОВИЋ ЖИВА
+МИЛЕНОВИЋ-БЕКИЋ МИРЈАНА
+МИЛЕНОВИЋ БРАНКО
+МИЛЕНОВИЋ МИЛОРАД
+МИЛЕНОВИЋ ОЛГА
+МИЛЕНОВИЋ ПРЕДРАГ
+МИЛЕНТИЈЕВИЋ ЖИВОРАД
+МИЛЕНТИЈЕВИЋ ЗДРАВКО
+МИЛЕР БАРБАРА
+МИЛЕР ЕРЖЕБЕТ
+МИЛЕР ФРАЊА
+МИЛЕР ИМРЕ ДР ЛЕКАР
+МИЛЕР ИВАНКА
+МИЛЕР ЈЕЛЕНА
+МИЛЕР ЈЕЛИЦА
+МИЛЕР КАРЛО
+МИЛЕР МАРИЈА
+МИЛЕР МИХАЈЛО
+МИЛЕР ОТОКАР
+МИЛЕР ЗЛАТКО
+МИЛЕСКИ АТАНАСИЈЕ
+МИЛЕТА НИКОЛА
+МИЛЕТАШКИ БОРИВОЈ
+МИЛЕТАШКИ МИЛЕ
+МИЛЕТИЋ ЖИВКО
+МИЛЕТИЋ ЖИВОТА
+МИЛЕТИЋ ЂОРЂЕ
+МИЛЕТИЋ АЛЕКСАНДРА
+МИЛЕТИЋ АНА
+МИЛЕТИЋ БОЖА
+МИЛЕТИЋ БОРИША
+МИЛЕТИЋ БРАНИСЛАВ
+МИЛЕТИЋ ДОБРОСАВ
+МИЛЕТИЋ ДРАГИЦА
+МИЛЕТИЋ ДУШАН
+МИЛЕТИЋ ДУШАН
+МИЛЕТИЋ ДУШАН
+МИЛЕТИЋ ГОЈКО
+МИЛЕТИЋ ГВОЗДЕН
+МИЛЕТИЋ ИЛИЈА
+МИЛЕТИЋ ИВИЦА
+МИЛЕТИЋ ЉУБИЦА
+МИЛЕТИЋ ЉУБИСАВ
+МИЛЕТИЋ МИЛИЦА
+МИЛЕТИЋ МИЛИВОЈ
+МИЛЕТИЋ МИЛОЈЕ
+МИЛЕТИЋ МИТА
+МИЛЕТИЋ НАДА
+МИЛЕТИЋ НИКОЛА
+МИЛЕТИЋ ОЛГА
+МИЛЕТИЋ ПЕТАР
+МИЛЕТИЋ РАДЕ
+МИЛЕТИЋ РАДОШ
+МИЛЕТИЋ РАДОЈКА
+МИЛЕТИЋ РАДОСЛАВ
+МИЛЕТИЋ РАНКО
+МИЛЕТИЋ СЕВЕРИНА
+МИЛЕТИЋ СЛАВКО ДР ЛЕКАР
+МИЛЕТИЋ СЛАВКО
+МИЛЕТИЋ СЛАВОЉУБ
+МИЛЕТИЋ СЛОБОДАН
+МИЛЕТИЋ СЛОБОДАН
+МИЛЕТИЋ СОЊА
+МИЛЕТИЋ СТЕВАН
+МИЛЕТИЋ ВЕЛЕ
+МИЛЕТИЋ ВЕЛИБОР
+МИЛЕТИЋ ВЕЛИБОР
+МИЛЕТИЋ ВЕЛИМИР
+МИЛЕТИЋ ВИДОСАВА
+МИЛЕТИЋ ЗДРАВКО
+МИЛЕТИЦКИ РАДА
+МИЛЕТИЦКИ ЗОРКА
+МИЛЕТИН ДАНА
+МИЛЕТИН МИРЈАНА
+МИЛЕТИН НИКОЛА
+МИЛЕТИН РАДИВОЈ
+МИЛЕТИН СВЕТОЗАР ДИПЛ ОЕЦ
+МИЛЕТОВИЋ СЛАВКО
+МИЛЕУСНИЋ ДРАГАН
+МИЛЕУСНИЋ МАРКО
+МИЛЕУСНИЋ НАДА
+МИЛЕУСНИЋ НАДА
+МИЛЕУСНИЋ ПЕТАР
+МИЛЕВ ПЕТАР
+МИЛЕВСКИ ЂОРЂЕ
+МИЛХАНС СТАНИСЛАВ
+МИЛИЧЕВИЋ ЂУРА
+МИЛИЧЕВИЋ АРАНКА
+МИЛИЧЕВИЋ БРАНКО
+МИЛИЧЕВИЋ ДРАГИЊА
+МИЛИЧЕВИЋ ДУШАН
+МИЛИЧЕВИЋ ЈОВАН
+МИЛИЧЕВИЋ КАТИЦА
+МИЛИЧЕВИЋ МИЛАН
+МИЛИЧЕВИЋ МИЛЕНКО
+МИЛИЧЕВИЋ МИЛИЦА
+МИЛИЧЕВИЋ МИЛИВОЈ
+МИЛИЧЕВИЋ МИЛКАН
+МИЛИЧЕВИЋ МЛАДЕН
+МИЛИЧЕВИЋ НЕНАД
+МИЛИЧЕВИЋ НОВИЦА
+МИЛИЧЕВИЋ ПАВА
+МИЛИЧЕВИЋ ПЕРО
+МИЛИЧЕВИЋ СТАНИМИР
+МИЛИЧЕВИЋ СТЕВАН
+МИЛИЧЕВИЋ ТОМИСЛАВ
+МИЛИЧИЋ ЖАРКО
+МИЛИЧИЋ АЛЕКСАНДАР
+МИЛИЧИЋ АНА
+МИЛИЧИЋ АНДРИЈА
+МИЛИЧИЋ АНКА
+МИЛИЧИЋ БОРИСЛАВ
+МИЛИЧИЋ БРАНКО
+МИЛИЧИЋ ДРАГИЦА
+МИЛИЧИЋ ДРАГОМИР
+МИЛИЧИЋ ДУШАН
+МИЛИЧИЋ ЈЕЛИЦА
+МИЛИЧИЋ ЈОВАНКА
+МИЛИЧИЋ ЈОВАН
+МИЛИЧИЋ КАТИЦА
+МИЛИЧИЋ ЉУБИНКА
+МИЛИЧИЋ МАРИНКО
+МИЛИЧИЋ МИХАЈЛО
+МИЛИЧИЋ МИЛОШ
+МИЛИЧИЋ МИРЈАНА
+МИЛИЧИЋ РАДОВАН
+МИЛИЧИЋ РАЈКО
+МИЛИЧИЋ СТЕВАН
+МИЛИЧИЋ ТИЛКА
+МИЛИЧИЋ ВАСА
+МИЛИШИЋ ЂОРЂЕ
+МИЛИШИЋ ДУШАНКА
+МИЛИШИЋ НЕБОЈША
+МИЛИЋ ЧЕДОМИР
+МИЛИЋ ЧЕДОМИР
+МИЛИЋ ЖИКА
+МИЛИЋ ЖИВКО
+МИЛИЋ ЖИВОМИР
+МИЛИЋ ЂОРЂЕ
+МИЛИЋ ЂОРЂЕ
+МИЛИЋ ЂОРЂЕ
+МИЛИЋ ЂОРЂЕ
+МИЛИЋ ЂОРЂЕ
+МИЛИЋ ЂОРЂЕ
+МИЛИЋ ЂОРЂЕ
+МИЛИЋ ЂОРЂЕ
+МИЛИЋ ЂУРИЦА
+МИЛИЋ АДИЛА
+МИЛИЋ АЛЕКСАНДАР
+МИЛИЋ АЛЕКСАНДРА
+МИЛИЋ АНЂЕЛИЈА
+МИЛИЋ БОЖИДАР ДР
+МИЛИЋ БОЖИДАР
+МИЛИЋ БОЖО
+МИЛИЋ БОГДАН
+МИЛИЋ БОЈАНА
+МИЛИЋ БОРИВОЈЕ
+МИЛИЋ БОРИВОЈ
+МИЛИЋ БРАНИСЛАВ
+МИЛИЋ БРАНИСЛАВ
+МИЛИЋ БРАНИСЛАВ
+МИЛИЋ БРАНКА
+МИЛИЋ БРАНКО
+МИЛИЋ БРАНКО
+МИЛИЋ БРАТИСЛАВ
+МИЛИЋ ДАНИЦА
+МИЛИЋ ДАНИЛКА
+МИЛИЋ ДАНИЛКА
+МИЛИЋ ДАНИЛО
+МИЛИЋ ДАРА
+МИЛИЋ ДРАГАН
+МИЛИЋ ДРАГАН
+МИЛИЋ ДРАГАН
+МИЛИЋ ДРАГИЦА
+МИЛИЋ ДРАГИЦА
+МИЛИЋ ДРАГОМИР
+МИЛИЋ ДРАГОМИР
+МИЛИЋ ДРАГОСЛАВ
+МИЛИЋ ДУШАНКА
+МИЛИЋ ДУШАНКА
+МИЛИЋ ДУШАН
+МИЛИЋ ДУШАН
+МИЛИЋ ДУШАН
+МИЛИЋ ДУШАН
+МИЛИЋ ЕЛИЗАБЕТА
+МИЛИЋ ЕМИЛИЈА
+МИЛИЋ ЕМИЛИЈА
+МИЛИЋ ЕВА
+МИЛИЋ ЕВА
+МИЛИЋ ЕВИЦА
+МИЛИЋ ФЕРЕНЦ
+МИЛИЋ ГАВРА
+МИЛИЋ ИЛИЈА
+МИЛИЋ-ЈАГОДИНСКИ МИЛАН
+МИЛИЋ ЈАНКО
+МИЛИЋ ЈЕЛЕНА
+МИЛИЋ ЈЕЛИЦА
+МИЛИЋ ЈЕЛКА
+МИЛИЋ ЈОВАН
+МИЛИЋ ЈОВАН
+МИЛИЋ ЈОВАН
+МИЛИЋ ЈОВА
+МИЛИЋ ЈОВО
+МИЛИЋ ЈОВО
+МИЛИЋ ЈУЛКА
+МИЛИЋ КАТИЦА
+МИЛИЋ КРСТО
+МИЛИЋ КСЕНИЈА
+МИЛИЋ ЛАЗАР
+МИЛИЋ ЉИЉАНА
+МИЛИЋ ЉУБИША
+МИЛИЋ ЉУБИЦА
+МИЛИЋ ЉУБОМИР ДИПЛ ИНГ
+МИЛИЋ ЉУБОМИР
+МИЛИЋ ЉУБОМИР
+МИЛИЋ ЉУБОМИР
+МИЛИЋ МАРА
+МИЛИЋ МАРИЈА
+МИЛИЋ МАРИЈА
+МИЛИЋ МАРИЈА
+МИЛИЋ МИЛАНКА
+МИЛИЋ МИЛАН
+МИЛИЋ МИЛЕНКО
+МИЛИЋ МИЛИЦА
+МИЛИЋ МИЛИЦА
+МИЛИЋ МИЛОШ
+МИЛИЋ МИЛОШ
+МИЛИЋ МИЛОРАД
+МИЛИЋ МИЛОСАВ
+МИЛИЋ МИЛУТИН
+МИЛИЋ МИОДРАГ
+МИЛИЋ МИРЈАНА ДИПЛ ОЕЦ
+МИЛИЋ МИРЈАНА
+МИЛИЋ МИРОСЛАВ
+МИЛИЋ МИТА
+МИЛИЋ МЛАДЕН
+МИЛИЋ НАДА
+МИЛИЋ НЕДЕЉКО
+МИЛИЋ НИКОЛА
+МИЛИЋ НИКОЛА
+МИЛИЋ НОВАК
+МИЛИЋ НОВАК
+МИЛИЋ ПАНТА
+МИЛИЋ ПАВЛЕ
+МИЛИЋ ПЕРА
+МИЛИЋ ПЕТАР
+МИЛИЋ ПЕТАР
+МИЛИЋ ПРОКА
+МИЛИЋ РАДА
+МИЛИЋ РАДЕ
+МИЛИЋ РАДИВОЈЕ
+МИЛИЋ РАДМИЛА
+МИЛИЋ РАДОЈКА
+МИЛИЋ РАДОМИР
+МИЛИЋ РАНКО
+МИЛИЋ РУЖА
+МИЛИЋ САНДРА
+МИЛИЋ САВА
+МИЛИЋ СЛАВИЦА
+МИЛИЋ СЛАВИЦА
+МИЛИЋ СЛАВКА
+МИЛИЋ СЛАВКО
+МИЛИЋ СЛАВУЈ
+МИЛИЋ СОФИЈА
+МИЛИЋ СТЕВАН
+МИЛИЋ СТЕВАН
+МИЛИЋ СТЕВАН
+МИЛИЋ СВЕТЛАНА
+МИЛИЋ СВЕТОЗАР
+МИЛИЋ СВЕТОЗАР
+МИЛИЋ ТЕОДОРА
+МИЛИЋ ТОДОР
+МИЛИЋ ТОДОР
+МИЛИЋ ТОМИСЛАВ
+МИЛИЋ ТОМИСЛАВ
+МИЛИЋ УРОШ
+МИЛИЋ ВАСА
+МИЛИЋ ВЕЛИНКА
+МИЛИЋ ВЕРА
+МИЛИЋ ВЕРА
+МИЛИЋ ВЕРИЦА
+МИЛИЋ ВЛАДИЦА
+МИЛИЋ ВЛАДО
+МИЛИЋ ВУКИЦА
+МИЛИЋ ЗДРАВКО
+МИЛИЋ ЗОРАН
+МИЛИЋ ЗОРАН
+МИЛИЋ ЗОРАН
+МИЛИЋ ЗОРА
+МИЛИЋЕВ БОРИСЛАВ
+МИЛИЋЕВ БРАНКО
+МИЛИЋЕВ СЛАВКО
+МИЛИЋЕВ ВАСИЛИЈЕ
+МИЛИЋЕВ ВИКЕНТИЈЕ
+МИЛИЋЕВИЋ ЖИВОРАД
+МИЛИЋЕВИЋ ЂОРЂЕ
+МИЛИЋЕВИЋ ЂОРЂЕ
+МИЛИЋЕВИЋ ЂУРАЂ
+МИЛИЋЕВИЋ БОЖИДАР
+МИЛИЋЕВИЋ БОРИША
+МИЛИЋЕВИЋ БРАНКО
+МИЛИЋЕВИЋ ДРАГАН
+МИЛИЋЕВИЋ ДУШАН
+МИЛИЋЕВИЋ ДУШАН
+МИЛИЋЕВИЋ ГОЈКО
+МИЛИЋЕВИЋ ГОРДАНА
+МИЛИЋЕВИЋ КАТАРИНА
+МИЛИЋЕВИЋ КАТИЦА
+МИЛИЋЕВИЋ КСЕНИЈА ДР СТОМАТОЛОГ
+МИЛИЋЕВИЋ ЉУБОМИР
+МИЛИЋЕВИЋ МАРКО
+МИЛИЋЕВИЋ МИХАИЛО
+МИЛИЋЕВИЋ МИЛИЦА
+МИЛИЋЕВИЋ МИЛОРАД
+МИЛИЋЕВИЋ МИЛОВАН
+МИЛИЋЕВИЋ МИОДРАГ
+МИЛИЋЕВИЋ МИОДРАГ
+МИЛИЋЕВИЋ МОМЧИЛО
+МИЛИЋЕВИЋ МОМЧИЛО
+МИЛИЋЕВИЋ НАТАША
+МИЛИЋЕВИЋ НИКОЛА
+МИЛИЋЕВИЋ ПАВЛЕ
+МИЛИЋЕВИЋ ПЕТАР
+МИЛИЋЕВИЋ РАДМИЛА
+МИЛИЋЕВИЋ РАЈКО
+МИЛИЋЕВИЋ СЛАЂАНА
+МИЛИЋЕВИЋ СЛАВИЦА
+МИЛИЋЕВИЋ СЛОБОДАН
+МИЛИЋЕВИЋ СЛОБОДАН
+МИЛИЋЕВИЋ СЛОБОДАН
+МИЛИЋЕВИЋ СЛОБОДАН
+МИЛИЋЕВИЋ СЛОБОДАН
+МИЛИЋЕВИЋ СЛОБОДАН
+МИЛИЋЕВИЋ СПАСО
+МИЛИЋЕВИЋ СТАНА
+МИЛИЋЕВИЋ СТЕВАН
+МИЛИЋЕВИЋ СТЕВАН
+МИЛИЋЕВИЋ СВЕТИСЛАВ
+МИЛИЋЕВИЋ ВЕЛИША
+МИЛИЋЕВИЋ ВЕРОЉУБ
+МИЛИЋЕВИЋ ВИТОМИР
+МИЛИЋЕВИЋ ВЛАДИМИР
+МИЛИЋЕВИЋ ВУКОМИР
+МИЛИЦ КАРОЉ
+МИЛИДРАГ КРСТО
+МИЛИДРАГОВИЋ БОРИСЛАВ
+МИЛИДРАГОВИЋ ЛАЗАР
+МИЛИДРАГОВИЋ МИЛИВОЈЕ
+МИЛИДРАГОВИЋ МИЛОРАД ДИПЛ ИНГ
+МИЛИДРАГОВИЋ МЛАДЕН
+МИЛИДРАГОВИЋ НЕДЕЉКО
+МИЛИДРАГОВИЋ СЛОБОДАН
+МИЛИЈАШ-ПАВКОВИЋ МАРИЈА
+МИЛИЈАШЕВИЋ ЖИВОРАД
+МИЛИЈАШЕВИЋ БОШКО
+МИЛИЈАШЕВИЋ МИЛАН
+МИЛИЈАНОВИЋ ЂОРЂЕ
+МИЛИЈАНОВИЋ МИЛАН
+МИЛИЈЕВИЋ ЂУРАЂ
+МИЛИКИЋ ДРАГОЈЕ
+МИЛИКИЋ СИМА
+МИЛИН ЖИВАН
+МИЛИН БРАНИСЛАВ
+МИЛИН ДУШАН
+МИЛИН ДУШАН
+МИЛИН ИВАН
+МИЛИН ЈОВАН
+МИЛИН МИЛЕНКО
+МИЛИН МИЛИЦА
+МИЛИН МОМИР
+МИЛИН РАДИВОЈ ДР
+МИЛИН РАДИВОЈ
+МИЛИН СНЕЖАНА
+МИЛИН СТЕВАН
+МИЛИН СВЕТИСЛАВ
+МИЛИН ВОЈИСЛАВ НОВИНАР
+МИЛИН ЗДРАВКО ДИПЛ ИНГ
+МИЛИН ЗОРИЦА
+МИЛИНЧИЋ ЧАСЛАВ
+МИЛИНЧИЋ СТОЈАН
+МИЛИНИЋ РАДЕНКО
+МИЛИНИЋ РАЈКО
+МИЛИНКОВ ЖИВАН
+МИЛИНКОВ ЖИВОЈИН
+МИЛИНКОВ АНЂЕЛКА
+МИЛИНКОВ БОЖА
+МИЛИНКОВ БРАНИСЛАВ
+МИЛИНКОВ БРАНИСЛАВ
+МИЛИНКОВ БРАНКО
+МИЛИНКОВ ДАНИЛО
+МИЛИНКОВ ДУШАН
+МИЛИНКОВ ИВАН
+МИЛИНКОВ ЈУЛКА
+МИЛИНКОВ ЛАЗАР
+МИЛИНКОВ ЉУБИЦА
+МИЛИНКОВ МИЛАН
+МИЛИНКОВ МИЛИЦА
+МИЛИНКОВ НЕНАД
+МИЛИНКОВ НЕНАД
+МИЛИНКОВ НИКОЛА
+МИЛИНКОВ СЛОБОДАН
+МИЛИНКОВ ВЕРА
+МИЛИНКОВ ВЕСЕЛИН
+МИЛИНКОВ ВЛАЈКО
+МИЛИНКОВ ЗОРАН
+МИЛИНКОВИЋ ЂОРЂЕ
+МИЛИНКОВИЋ ЂОРЂЕ
+МИЛИНКОВИЋ ЂОРЂЕ
+МИЛИНКОВИЋ ЂУРО
+МИЛИНКОВИЋ БИЉАНА
+МИЛИНКОВИЋ БОЈО
+МИЛИНКОВИЋ БУДИМИР
+МИЛИНКОВИЋ ДРАГАН
+МИЛИНКОВИЋ ДРАГОСЛАВ
+МИЛИНКОВИЋ ДУШАН
+МИЛИНКОВИЋ ДУШАН
+МИЛИНКОВИЋ ДУШАН
+МИЛИНКОВИЋ ДУШАН
+МИЛИНКОВИЋ ЕТЕЛКА
+МИЛИНКОВИЋ ИВАН
+МИЛИНКОВИЋ ИВАН
+МИЛИНКОВИЋ ИВАН
+МИЛИНКОВИЋ ИВАН
+МИЛИНКОВИЋ ЈОВАН
+МИЛИНКОВИЋ ЈОВИЦА
+МИЛИНКОВИЋ ЉИЉАНА
+МИЛИНКОВИЋ МАРА
+МИЛИНКОВИЋ МИЛАН
+МИЛИНКОВИЋ МИЛЕНА
+МИЛИНКОВИЋ МИЛИЋ
+МИЛИНКОВИЋ МИЛОРАД
+МИЛИНКОВИЋ НАДЕЖДА
+МИЛИНКОВИЋ НОВАК
+МИЛИНКОВИЋ ПАНТА
+МИЛИНКОВИЋ ПЕТАР
+МИЛИНКОВИЋ СЛАВКО
+МИЛИНКОВИЋ СЛОБОДАН
+МИЛИНКОВИЋ СЛОБОДАН
+МИЛИНКОВИЋ СЛОБОДАН
+МИЛИНКОВИЋ СМИЉКА
+МИЛИНКОВИЋ СРЕТО
+МИЛИНКОВИЋ ВИДА
+МИЛИНКОВИЋ ВЛАДИСЛАВ
+МИЛИНКОВИЋ ВОЈА
+МИЛИНОВ ГАВРА
+МИЛИНОВ ЈЕЛЕНКО
+МИЛИНОВ МИЛОРАД
+МИЛИНОВ МИРЈАНА
+МИЛИНОВ МИРОСЛАВ
+МИЛИНОВ НЕВЕНА
+МИЛИНОВ НИКОЛА
+МИЛИНОВ РАДИВОЈ
+МИЛИНОВ СЛАВКО
+МИЛИНОВ СТЕВАН
+МИЛИНОВ СВЕТИСЛАВ
+МИЛИНОВИЋ ЖАРКО
+МИЛИНОВИЋ БОЖИДАР
+МИЛИНОВИЋ БОГОЉУБ
+МИЛИНОВИЋ ДРАГАН
+МИЛИНОВИЋ ДРАГАН
+МИЛИНОВИЋ КСЕНИЈА
+МИЛИНОВИЋ ЛАЗО
+МИЛИНОВИЋ ЉУБОМИР
+МИЛИНОВИЋ ЉУБОМИР
+МИЛИНОВИЋ МИХАЈЛО
+МИЛИНОВИЋ МИРОСЛАВ
+МИЛИНОВИЋ НИКОЛА
+МИЛИНОВИЋ ПЕТАР
+МИЛИНОВИЋ ПЕТАР
+МИЛИНОВИЋ РАДОМИР
+МИЛИНОВИЋ САВА
+МИЛИНОВИЋ СЛОБОДАН
+МИЛИНОВИЋ СТЕВАН
+МИЛИНОВИЋ СТЕВА
+МИЛИНОВИЋ ТИМА
+МИЛИНОВИЋ ВЈЕКОСЛАВ
+МИЛИНСКИ АЛЕКСАНДАР
+МИЛИНСКИ АРПАД
+МИЛИНСКИ ЕРЖЕБЕТ
+МИЛИНСКИ ГАБОР
+МИЛИНСКИ ГОРДАНА
+МИЛИНСКИ ЈЕЛЕНА
+МИЛИНСКИ ЈЕЛЕНА
+МИЛИНСКИ ЛАДИСЛАВ
+МИЛИНСКИ МИХАИЛО
+МИЛИНСКИ НИКОЛА
+МИЛИНСКИ ТЕОДОР
+МИЛИНСКИ ВИКТОР
+МИЛИНСКИ ВИКТОР
+МИЛИНСКИ ЗОЛТАН
+МИЛИСАВАЦ ЖИВАН
+МИЛИСАВЉЕВИЋ ДРАГОМИР
+МИЛИСАВЉЕВИЋ ДРАГОСЛАВ ДР ПРОФ
+МИЛИСАВЉЕВИЋ ЈОВАН
+МИЛИСАВЉЕВИЋ ЈУЛИЈАНА
+МИЛИСАВЉЕВИЋ МИЛАДИН
+МИЛИСАВЉЕВИЋ МИЛАН
+МИЛИСАВЉЕВИЋ МИЛОРАД
+МИЛИСАВЉЕВИЋ МИРЧЕТА
+МИЛИСАВЉЕВИЋ СТАНИМИР
+МИЛИСАВЉЕВИЋ СТАНИМИР
+МИЛИСАВЉЕВИЋ ВЛАДИМИР
+МИЛИВОЈЧЕВ БОРИСЛАВ
+МИЛИВОЈЧЕВ СТЕВАН
+МИЛИВОЈЧЕВИЋ АЛЕКСАНДАР
+МИЛИВОЈША ЛАЗАР
+МИЛИВОЈШИН ЈОВАН
+МИЛИВОЈШИН ПАЈА
+МИЛИВОЈЕВ АНИЦА
+МИЛИВОЈЕВ БОРИВОЈ
+МИЛИВОЈЕВ ГРАДОЈЕ
+МИЛИВОЈЕВ ЈОВАНКА
+МИЛИВОЈЕВ КОНСТАНТИН
+МИЛИВОЈЕВ ЛУКА
+МИЛИВОЈЕВ МИХАЈЛО
+МИЛИВОЈЕВ МИЛАНА
+МИЛИВОЈЕВ МИЛАН
+МИЛИВОЈЕВ МИЛАН
+МИЛИВОЈЕВ МИЛОШ
+МИЛИВОЈЕВ МЛАДЕН
+МИЛИВОЈЕВ НАДА
+МИЛИВОЈЕВ ПАВЛЕ
+МИЛИВОЈЕВ СОФИЈА
+МИЛИВОЈЕВ СОФИЈА
+МИЛИВОЈЕВ СОФИЈА
+МИЛИВОЈЕВИЋ ЧЕДОМИР
+МИЛИВОЈЕВИЋ ЖИВКА
+МИЛИВОЈЕВИЋ ЂОРЂЕ
+МИЛИВОЈЕВИЋ ЂОРЂЕ
+МИЛИВОЈЕВИЋ ЂОРЂЕ
+МИЛИВОЈЕВИЋ БИЉАНА
+МИЛИВОЈЕВИЋ БОШКО
+МИЛИВОЈЕВИЋ БРАНКО
+МИЛИВОЈЕВИЋ БУДИМИР
+МИЛИВОЈЕВИЋ БУДИСЛАВ
+МИЛИВОЈЕВИЋ ДРАГАН
+МИЛИВОЈЕВИЋ ДРАГАН
+МИЛИВОЈЕВИЋ ДУШАН
+МИЛИВОЈЕВИЋ ДУШАН
+МИЛИВОЈЕВИЋ ИЛИЈА
+МИЛИВОЈЕВИЋ ЈАГОДА
+МИЛИВОЈЕВИЋ ЈЕЛЕНА
+МИЛИВОЈЕВИЋ ЈОВАН
+МИЛИВОЈЕВИЋ ЈОВАН
+МИЛИВОЈЕВИЋ МАРИНА
+МИЛИВОЈЕВИЋ МИЛАН
+МИЛИВОЈЕВИЋ МИЛЕНА
+МИЛИВОЈЕВИЋ МИЛОМИР
+МИЛИВОЈЕВИЋ МИЛОРАД
+МИЛИВОЈЕВИЋ МИЛОВАН
+МИЛИВОЈЕВИЋ МИРЈАНА
+МИЛИВОЈЕВИЋ МИРКО
+МИЛИВОЈЕВИЋ МИРОСЛАВ
+МИЛИВОЈЕВИЋ МОМЧИЛО
+МИЛИВОЈЕВИЋ РАДОЈЕ
+МИЛИВОЈЕВИЋ РАДОСЛАВ
+МИЛИВОЈЕВИЋ САВО
+МИЛИВОЈЕВИЋ СЛАВКО
+МИЛИВОЈЕВИЋ СЛАВНА
+МИЛИВОЈЕВИЋ СТОЈАНКА
+МИЛИВОЈЕВИЋ ВЛАДИМИР
+МИЛИВОЈЕВИЋ ВЛАСТИМИР
+МИЛИВОЈЕВИЋ ВОЈА
+МИЛИВОЈЕВИЋ ВОЈИСЛАВ
+МИЛИВОЈЕВИЋ ВУЧО
+МИЛИВОЈЕВИЋ ЗДРАВКО
+МИЛИВОЈЕВИЋ ЗОРА
+МИЉАКОВИЋ МИЛАН
+МИЉАНИЋ ЖИВКА
+МИЉАНИЋ ДРАГАН
+МИЉАНИЋ ДУШАН
+МИЉАНИЋ ЈОВАН
+МИЉАНИЋ МАРКО
+МИЉАНИЋ НОВАК
+МИЉАНИЋ ОБРАД
+МИЉАНИЋ РАДИВОЈЕ
+МИЉАНИЋ РАДОСЛАВ
+МИЛЈАНИЋ СЛОБОДАН
+МИЉАНИЋ СЛОБОДАН
+МИЉАНИЋ СТАНКО
+МИЉАНИЋ ВУКОТА
+МИЉАНОВИЋ ЖЕЉКО
+МИЉАНОВИЋ АДАМ
+МИЉАНОВИЋ БРАНКО
+МИЉАНОВИЋ ДУШАН
+МИЉАНОВИЋ ДУШИЦА
+МИЉАНОВИЋ МИЛКА
+МИЉАНОВИЋ ПРЕДРАГ
+МИЉАНОВИЋ СТАНКО
+МИЉАНОВИЋ ВИЛМА
+МИЉАНСКИ БОШКО
+МИЉАНСКИ ЛАЗАР
+МИЉАНСКИ ЗОРИЦА
+МИЉАНСКИ ЗОРИЦА
+МИЉАТОВИЋ ЂОРЂЕ
+МИЉАТОВИЋ МАРИЦА
+МИЉАТОВИЋ МИЛАН
+МИЉАТОВИЋ МИЛУТИН
+МИЉАТОВИЋ ВЕРА
+МИЉЕШИЋ НЕНАД
+МИЉЕНОВИЋ СЛОБОДАН
+МИЉЕВИЋ ЖИВКО
+МИЉЕВИЋ АДАМ
+МИЉЕВИЋ АНКА
+МИЉЕВИЋ БОГДАН ДИПЛ ИНГ
+МИЉЕВИЋ ДРАГОЉУБ
+МИЉЕВИЋ ДУШАН
+МИЉЕВИЋ ГАВРИЛО
+МИЉЕВИЋ ЈАЊА
+МИЉЕВИЋ ЈОВАН
+МИЉЕВИЋ ЈОВО
+МИЉЕВИЋ ЛАЗАР
+МИЉЕВИЋ ЉУБИЦА
+МИЉЕВИЋ ЉУБИНКО
+МИЉЕВИЋ МАРИНКО
+МИЉЕВИЋ МИЛОРАД
+МИЉЕВИЋ НАТАША
+МИЉЕВИЋ НЕДЕЉКО
+МИЉЕВИЋ ОБРАД
+МИЉЕВИЋ РАДОЈКА
+МИЉЕВИЋ СТЕВАН
+МИЉЕВИЋ ВЕРИЦА
+МИЉЕВИЋ ВЕРИЦА
+МИЉЕВИЋ ВИНКО
+МИЉИЋ СЛАВКО
+МИЉКОВ ЂУРИЦА
+МИЉКОВАЦ БОГОСАВ
+МИЉКОВАЦ ДРАГОМИР
+МИЉКОВАЦ ПЕТАР
+МИЉКОВАЦ РАДОВАН
+МИЉКОВАЦ ТАТЈАНА
+МИЉКОВИЋ ЧЕДОМИР
+МИЉКОВИЋ ЖИВАН
+МИЉКОВИЋ БОШКО
+МИЉКОВИЋ БОРИСЛАВ
+МИЉКОВИЋ БОСИЉКА
+МИЉКОВИЋ ДОБРИЛО
+МИЉКОВИЋ ДРАГАН
+МИЉКОВИЋ ДРАГИША
+МИЉКОВИЋ ДРАГУТИН
+МИЉКОВИЋ ДУШАН
+МИЉКОВИЋ ДУШАН
+МИЉКОВИЋ ЛЕНКЕ
+МИЉКОВИЋ ЉИЉАНА
+МИЉКОВИЋ ЉУБИША
+МИЉКОВИЋ ЉУБИЦА
+МИЉКОВИЋ ЉУПЧЕ
+МИЉКОВИЋ МАРА
+МИЉКОВИЋ МИЋА
+МИЉКОВИЋ МИЛИЦА
+МИЉКОВИЋ МИЛИЦА
+МИЉКОВИЋ МИЛОШ
+МИЉКОВИЋ МИОДРАГ
+МИЉКОВИЋ МИРА
+МИЉКОВИЋ МИРЈАНА
+МИЉКОВИЋ МИРЈАНА
+МИЉКОВИЋ МИТА
+МИЉКОВИЋ МЛАДЕН
+МИЉКОВИЋ МОЈСА
+МИЉКОВИЋ НИКОЛА ДР ИНГ
+МИЉКОВИЋ НИКОЛА
+МИЉКОВИЋ НИКОЛА
+МИЉКОВИЋ РАДОСАВ
+МИЉКОВИЋ РАДОСЛАВ
+МИЉКОВИЋ РАХИЉА
+МИЉКОВИЋ РОСА
+МИЉКОВИЋ РОСА
+МИЉКОВИЋ СЛОБОДАН
+МИЉКОВИЋ СТАМЕНКО ДР ЛЕКАР
+МИЉКОВИЋ СТОЈАДИН
+МИЉКОВИЋ СТОЈАН
+МИЉКОВИЋ ТОМИСЛАВ
+МИЉКОВИЋ ВЕЛИБОР
+МИЉОЈКОВИЋ ДЕСИМИР
+МИЉОЈКОВИЋ ДОБРИНКА
+МИЉОЈКОВИЋ ЕМИЛИЈА
+МИЉОЈКОВИЋ ЉУБИША
+МИЉОЈКОВИЋ ЉУБИША
+МИЉУШ ЂУРО
+МИЉУШ АЛЕКСАНДАР
+МИЉУШ БРАНКО
+МИЉУШ БРАНКО
+МИЉУШ ДРАГО
+МИЉУШ ДУШАНКА
+МИЉУШ ДУШАН
+МИЉУШ ЕВА
+МИЉУШ ЈОВАН ДР
+МИЉУШ ЈОВАН
+МИЉУШ ЈОВАН
+МИЉУШ КАТАРИНА
+МИЉУШ ЉИЉАНА
+МИЉУШ ЉУБИЦА
+МИЉУШ МАРИЈА
+МИЉУШ МАРИЈА
+МИЉУШ МИЛАН
+МИЉУШ МИЛЕ
+МИЉУШ МИЛОРАД
+МИЉУШ МИОДРАГ
+МИЉУШ НИКОЛА
+МИЉУШ ПЕТАР
+МИЛКОВ ЂУРЂИНКА
+МИЛКОВ ЂУРЂИНКА
+МИЛКОВ АЦА
+МИЛКОВ ДРАГАН ДР
+МИЛКОВ ДРАГИЊА
+МИЛКОВ ГОРДАНА
+МИЛКОВ ГОРДАНА
+МИЛКОВ ЈАСМИНА
+МИЛКОВ ЈЕЛЕНА
+МИЛКОВ ЛАЗАР
+МИЛКОВ ЛАЗАР
+МИЛКОВ СЛАВИЦА
+МИЛКОВ СТАНОЈЕ
+МИЛКОВ СТЕВАН
+МИЛКОВИЋ ДРАГИЦА
+МИЛКОВИЋ ДУШАН
+МИЛКОВИЋ ДУШАН
+МИЛКОВИЋ ВЕЉКО
+МИЛНОВИЋ АЛЕКСАНДАР
+МИЛНОВИЋ КАМЕНКО
+МИЛНОВИЋ ЛАЗАР
+МИЛНОВИЋ МИХАЈЛО
+МИЛНОВИЋ СТОЈАН
+МИЛНОВИЋ ВАСИЛИЈЕ
+МИЛНОВИЋ ЗОРА
+МИЛО ГИЗЕЛА
+МИЛОШ ИВАН
+МИЛОШЧИН СТАША
+МИЛОШЧИН СТЕВАН
+МИЛОШЧИН ВЛАДИМИР
+МИЛОШЕВ ЖАРКО ДР
+МИЛОШЕВ ЖИКА
+МИЛОШЕВ ЖИВКА
+МИЛОШЕВ ЖИВОЈИН
+МИЛОШЕВ АЛЕКСАНДАР
+МИЛОШЕВ АНЂЕЛИЈА
+МИЛОШЕВ БОШКО ДИПЛ ИНГ
+МИЛОШЕВ БРАНИСЛАВА
+МИЛОШЕВ БРАНИСЛАВ
+МИЛОШЕВ БРАНИСЛАВ
+МИЛОШЕВ ДОБРИВОЈ
+МИЛОШЕВ ДУШАН
+МИЛОШЕВ ДУШКО
+МИЛОШЕВ ЈОВАНКА
+МИЛОШЕВ ЈОВАН
+МИЛОШЕВ ЉУБОМИР
+МИЛОШЕВ МАРИЈА
+МИЛОШЕВ МИЋО
+МИЛОШЕВ МИХАЈЛО
+МИЛОШЕВ МИЛАН
+МИЛОШЕВ МИЛЕНКО
+МИЛОШЕВ МИЛИВОЈ
+МИЛОШЕВ МИЉАНА
+МИЛОШЕВ МИЛОШ
+МИЛОШЕВ МИЛОШ
+МИЛОШЕВ МИЛОШ
+МИЛОШЕВ МИЛОРАД
+МИЛОШЕВ МИЛОРАД
+МИЛОШЕВ МИОДРАГ
+МИЛОШЕВ МИРА
+МИЛОШЕВ МИРЈАНА
+МИЛОШЕВ МИРКО
+МИЛОШЕВ МИРОСЛАВА
+МИЛОШЕВ МИРОСЛАВ
+МИЛОШЕВ МИТА
+МИЛОШЕВ МОМЧИЛО
+МИЛОШЕВ НЕБОЈША
+МИЛОШЕВ НОВКА
+МИЛОШЕВ ПЕТАР
+МИЛОШЕВ РАДА
+МИЛОШЕВ САВА
+МИЛОШЕВ СЛАВКА
+МИЛОШЕВ СОФИЈА
+МИЛОШЕВ СТАНА
+МИЛОШЕВ СТОЈАНКА
+МИЛОШЕВ ВАСА ДИПЛ ИНГ
+МИЛОШЕВ ВАСА
+МИЛОШЕВ ВЕЛИМИР
+МИЛОШЕВ ЗЛАТОМИР
+МИЛОШЕВИЋ ЖИВОЈИН
+МИЛОШЕВИЋ ЖИВОРАД
+МИЛОШЕВИЋ АЛЕКСАНДАР
+МИЛОШЕВИЋ АЛЕКСАНДАР
+МИЛОШЕВИЋ АЛЕКСАНДАР
+МИЛОШЕВИЋ АЛЕКСАНДАР
+МИЛОШЕВИЋ АЛЕКСАНДРА
+МИЛОШЕВИЋ АЛЕКСАНДРА
+МИЛОШЕВИЋ АНАСТАЗИЈА
+МИЛОШЕВИЋ АНКА
+МИЛОШЕВИЋ БИЉАНА
+МИЛОШЕВИЋ БИСЕРКА
+МИЛОШЕВИЋ БОШКО
+МИЛОШЕВИЋ БОЖИДАР
+МИЛОШЕВИЋ БОЖИДАР
+МИЛОШЕВИЋ БОЖИДАР
+МИЛОШЕВИЋ БОЖО
+МИЛОШЕВИЋ БОГДАН
+МИЛОШЕВИЋ БОЈАНА
+МИЛОШЕВИЋ БРАНИСЛАВА
+МИЛОШЕВИЋ БРАНИСЛАВА
+МИЛОШЕВИЋ БРАНИСЛАВ
+МИЛОШЕВИЋ БРАНИСЛАВ
+МИЛОШЕВИЋ БРАНКО
+МИЛОШЕВИЋ БРАНКО
+МИЛОШЕВИЋ БРАНКО
+МИЛОШЕВИЋ БРАНКО
+МИЛОШЕВИЋ БРАНКО
+МИЛОШЕВИЋ БРАНКО
+МИЛОШЕВИЋ БРАНКО
+МИЛОШЕВИЋ ЦВЕТАН
+МИЛОШЕВИЋ ЦВЕТАН
+МИЛОШЕВИЋ ДАНИЦА
+МИЛОШЕВИЋ ДАРИНКА
+МИЛОШЕВИЋ ДЕЈАН
+МИЛОШЕВИЋ ДОБРИНКА
+МИЛОШЕВИЋ ДОБРОСАВ
+МИЛОШЕВИЋ ДРАГАНА
+МИЛОШЕВИЋ ДРАГАН
+МИЛОШЕВИЋ ДРАГАН
+МИЛОШЕВИЋ ДРАГАН
+МИЛОШЕВИЋ ДРАГИЦА
+МИЛОШЕВИЋ ДРАГИЦА
+МИЛОШЕВИЋ ДРАГОЉУБ
+МИЛОШЕВИЋ ДРАГОМИР ДИПЛ ИНГ
+МИЛОШЕВИЋ ДРАГУТИН
+МИЛОШЕВИЋ ДУШАН ДР
+МИЛОШЕВИЋ ДУШАН
+МИЛОШЕВИЋ ДУШАН
+МИЛОШЕВИЋ ЕВА
+МИЛОШЕВИЋ ЕВИЦА
+МИЛОШЕВИЋ ГРОЗДА
+МИЛОШЕВИЋ ИГЊАТ
+МИЛОШЕВИЋ ИВАНКА
+МИЛОШЕВИЋ ЈАКОВ
+МИЛОШЕВИЋ ЈАНКО
+МИЛОШЕВИЋ ЈЕЛЕНА
+МИЛОШЕВИЋ ЈЕЛЕНА
+МИЛОШЕВИЋ ЈЕЛЕНА
+МИЛОШЕВИЋ ЈЕЛЕНА
+МИЛОШЕВИЋ ЈЕРИНА
+МИЛОШЕВИЋ ЈОВАН
+МИЛОШЕВИЋ ЈОВАН
+МИЛОШЕВИЋ ЈОВАН
+МИЛОШЕВИЋ ЈОВАН
+МИЛОШЕВИЋ ЈОВИЦА
+МИЛОШЕВИЋ ЈУЛКА
+МИЛОШЕВИЋ КЛАУДИЈЕ
+МИЛОШЕВИЋ КРИСТИНА
+МИЛОШЕВИЋ ЛАТИНКА
+МИЛОШЕВИЋ ЛАЗАР
+МИЛОШЕВИЋ ЛАЗАР
+МИЛОШЕВИЋ ЉИЉАНА
+МИЛОШЕВИЋ ЉИЉАНА
+МИЛОШЕВИЋ ЉУБИША
+МИЛОШЕВИЋ ЉУБОМИР
+МИЛОШЕВИЋ ЛОЗАНА
+МИЛОШЕВИЋ МАРА
+МИЛОШЕВИЋ МАРИЦА
+МИЛОШЕВИЋ МАРИЈА
+МИЛОШЕВИЋ МАРИЈА
+МИЛОШЕВИЋ МАРКО
+МИЛОШЕВИЋ МАРТА
+МИЛОШЕВИЋ МИХАИЛО
+МИЛОШЕВИЋ МИХАЉИНА
+МИЛОШЕВИЋ МИЛАДИН
+МИЛОШЕВИЋ МИЛАНКА
+МИЛОШЕВИЋ МИЛАН
+МИЛОШЕВИЋ МИЛАН
+МИЛОШЕВИЋ МИЛАН
+МИЛОШЕВИЋ МИЛАН
+МИЛОШЕВИЋ МИЛАН
+МИЛОШЕВИЋ МИЛЕНКО
+МИЛОШЕВИЋ МИЛЕНКО
+МИЛОШЕВИЋ МИЛЕНКО
+МИЛОШЕВИЋ МИЛЕНКО
+МИЛОШЕВИЋ МИЛИЦА
+МИЛОШЕВИЋ МИЛИВОЈЕ
+МИЛОШЕВИЋ МИЛИВОЈЕ
+МИЛОШЕВИЋ МИЛОШ
+МИЛОШЕВИЋ МИЛОШ
+МИЛОШЕВИЋ МИЛОРАД
+МИЛОШЕВИЋ МИЛОРАД
+МИЛОШЕВИЋ МИЛОРАД
+МИЛОШЕВИЋ МИЛОРАД
+МИЛОШЕВИЋ МИЛОСАВ
+МИЛОШЕВИЋ МИОДРАГ
+МИЛОШЕВИЋ МИОДРАГ
+МИЛОШЕВИЋ МИОДРАГ
+МИЛОШЕВИЋ МИОДРАГ
+МИЛОШЕВИЋ МИОДРАГ
+МИЛОШЕВИЋ МИОДРАГ
+МИЛОШЕВИЋ МИРА
+МИЛОШЕВИЋ МИРЈАНА
+МИЛОШЕВИЋ МИРЈАНА
+МИЛОШЕВИЋ МИРЈАНА
+МИЛОШЕВИЋ МИРЈАНА
+МИЛОШЕВИЋ МИРКО
+МИЛОШЕВИЋ МИРОСЛАВ
+МИЛОШЕВИЋ МИТАР
+МИЛОШЕВИЋ МОМЧИЛО
+МИЛОШЕВИЋ НАДА
+МИЛОШЕВИЋ НЕВЕНА
+МИЛОШЕВИЋ НИКОЛА
+МИЛОШЕВИЋ НИКОЛА
+МИЛОШЕВИЋ НОВИЦА
+МИЛОШЕВИЋ ОБРАД
+МИЛОШЕВИЋ ОЛГА
+МИЛОШЕВИЋ ОЛИВЕРА
+МИЛОШЕВИЋ ПАВЛЕ
+МИЛОШЕВИЋ ПАВЛЕ
+МИЛОШЕВИЋ ПЕТАР
+МИЛОШЕВИЋ ПЕТАР
+МИЛОШЕВИЋ ПЕТАР
+МИЛОШЕВИЋ ПРЕДРАГ
+МИЛОШЕВИЋ РАДЕ ДР
+МИЛОШЕВИЋ РАДЕ
+МИЛОШЕВИЋ РАДЕ
+МИЛОШЕВИЋ РАДЕ
+МИЛОШЕВИЋ РАДЕ
+МИЛОШЕВИЋ РАДОВАН
+МИЛОШЕВИЋ РАЈКО
+МИЛОШЕВИЋ РАЈКО
+МИЛОШЕВИЋ РАТКО
+МИЛОШЕВИЋ РИСТО
+МИЛОШЕВИЋ РУЖА
+МИЛОШЕВИЋ РУЖИЦА
+МИЛОШЕВИЋ САВА
+МИЛОШЕВИЋ САВА
+МИЛОШЕВИЋ САВА
+МИЛОШЕВИЋ САВА
+МИЛОШЕВИЋ СЕЛЕНКА
+МИЛОШЕВИЋ СЛАВА
+МИЛОШЕВИЋ СЛАВКО
+МИЛОШЕВИЋ СЛОБОДАН
+МИЛОШЕВИЋ СЛОБОДАН
+МИЛОШЕВИЋ СЛОБОДАН
+МИЛОШЕВИЋ СНЕЖАНА
+МИЛОШЕВИЋ СНЕЖАНА
+МИЛОШЕВИЋ СПАСОЈЕ
+МИЛОШЕВИЋ СПАСОЈЕ
+МИЛОШЕВИЋ СРБОБРАН
+МИЛОШЕВИЋ СТАНИМИР
+МИЛОШЕВИЋ СТАНКО
+МИЛОШЕВИЋ СТАНКО
+МИЛОШЕВИЋ СТЕВИЦА
+МИЛОШЕВИЋ СТОЈА
+МИЛОШЕВИЋ СВЕТИСЛАВ
+МИЛОШЕВИЋ СВЕТОЉУБ
+МИЛОШЕВИЋ СВЕТОЗАР
+МИЛОШЕВИЋ СВЕТОЗАР
+МИЛОШЕВИЋ ТАДИЈА
+МИЛОШЕВИЋ ТОМИСЛАВ
+МИЛОШЕВИЋ УРОШ
+МИЛОШЕВИЋ ВАСА
+МИЛОШЕВИЋ ВАСИЛИЈЕ
+МИЛОШЕВИЋ ВЕЉКО
+МИЛОШЕВИЋ ВЕРА
+МИЛОШЕВИЋ ВЕСЕЛИН
+МИЛОШЕВИЋ ВИДОЈЕ
+МИЛОШЕВИЋ ВЛАДА ДИПЛ ОЕЦ
+МИЛОШЕВИЋ ВЛАДИМИР
+МИЛОШЕВИЋ ВОЈИСЛАВ
+МИЛОШЕВИЋ ВОЈИСЛАВ
+МИЛОШЕВИЋ ВОЈКАН
+МИЛОШЕВИЋ ВУКАШИН ДР ЛЕКАР
+МИЛОШЕВИЋ ВУКАШИН
+МИЛОШЕВИЋ ЗАХАРИЈЕ
+МИЛОШЕВИЋ ЗДРАВКО
+МИЛОШЕВИЋ ЗЛАТИМИР
+МИЛОШЕВИЋ ЗОРАН ДИПЛ ИНГ
+МИЛОШЕВИЋ ЗОРАН
+МИЛОЈЕВИЋ ЂОРЂЕ
+МИЛОЈЕВИЋ АНА
+МИЛОЈЕВИЋ БРАНИСЛАВ
+МИЛОЈЕВИЋ БРАНИСЛАВ
+МИЛОЈЕВИЋ ЦВИЈЕТА
+МИЛОЈЕВИЋ ДИМИТРИЈЕ
+МИЛОЈЕВИЋ ДРАГАН
+МИЛОЈЕВИЋ ДРАГАН
+МИЛОЈЕВИЋ ДУШАНКА
+МИЛОЈЕВИЋ ДУШАН
+МИЛОЈЕВИЋ ДУШАН
+МИЛОЈЕВИЋ ДУШАН
+МИЛОЈЕВИЋ ГОЈКО
+МИЛОЈЕВИЋ ГОРДАНА
+МИЛОЈЕВИЋ ГРОЗДАНА
+МИЛОЈЕВИЋ ЈАНКО
+МИЛОЈЕВИЋ ЈЕЛЕНА
+МИЛОЈЕВИЋ ЈУЛИЈАНА
+МИЛОЈЕВИЋ МИХАЈЛО
+МИЛОЈЕВИЋ-МИЛАНОВ СВЕТЛАНА
+МИЛОЈЕВИЋ МИЛИВОЈЕ
+МИЛОЈЕВИЋ МИЛОЈЕ ДР ПРОФ
+МИЛОЈЕВИЋ МИЛОРАД
+МИЛОЈЕВИЋ МИРОСЛАВ
+МИЛОЈЕВИЋ МОМИР ДР
+МИЛОЈЕВИЋ ОЛГИЦА
+МИЛОЈЕВИЋ ПАВЛЕ
+МИЛОЈЕВИЋ ПРЕДРАГ
+МИЛОЈЕВИЋ РАДОВАН
+МИЛОЈЕВИЋ РАНКО
+МИЛОЈЕВИЋ СЛОБОДАН
+МИЛОЈЕВИЋ ВАСА
+МИЛОЈЕВИЋ ВЛАДА
+МИЛОЈЕВИЋ ВЛАДИМИР
+МИЛОЈЕВИЋ ВОЈИН
+МИЛОЈЕВИЋ ВОЈИСЛАВ
+МИЛОЈЕВИЋ ЗОРАН
+МИЛОЈЕВИЋ ЗОРАН
+МИЛОЈЕВИЋ ЗВОНКО
+МИЛОЈИЦА МИЉА
+МИЛОЈКОВИЋ ЖИВАН
+МИЛОЈКОВИЋ АЦА
+МИЛОЈКОВИЋ БОЖАНА
+МИЛОЈКОВИЋ БОЖИДАР
+МИЛОЈКОВИЋ ДУШАН
+МИЛОЈКОВИЋ ДУШАН
+МИЛОЈКОВИЋ ЈОВАНКА
+МИЛОЈКОВИЋ КАТАРИНА
+МИЛОЈКОВИЋ КРИСТА
+МИЛОЈКОВИЋ ЉУБОМИР
+МИЛОЈКОВИЋ МИЛИВОЈ
+МИЛОЈКОВИЋ МИЛОВАН
+МИЛОЈКОВИЋ МИРОЉУБ
+МИЛОЈКОВИЋ НАДЕЖДА
+МИЛОМ ИМРЕ
+МИЛОМ ИМРЕ
+МИЛОРАДИЋ БРАНКО
+МИЛОРАДИЋ НИКОЛА
+МИЛОРАДОВ БОРИСЛАВА
+МИЛОРАДОВ МИЛОШ
+МИЛОРАДОВ МИЛОРАД
+МИЛОРАДОВ РАДОСЛАВКА
+МИЛОРАДОВ ВИОЛЕТА
+МИЛОРАДОВИЋ БРАНИСЛАВ
+МИЛОРАДОВИЋ ДЕЈАН
+МИЛОРАДОВИЋ ДРАГАН
+МИЛОРАДОВИЋ МИЛОШ
+МИЛОРАДОВИЋ МЛАДЕН
+МИЛОРАДОВИЋ ЗЛАТОЈЕ
+МИЛОСАВАЦ МИЋА
+МИЛОСАВИЋ БОРИСЛАВ
+МИЛОСАВИЋ БРАНКО
+МИЛОСАВИЋ КРСТАН
+МИЛОСАВИЋ МЛАДЕН
+МИЛОСАВИЋ МОМЧИЛО
+МИЛОСАВИЋ ПЕТАР
+МИЛОСАВИЋ РАДИВОЈ
+МИЛОСАВИЋ СТОЈА
+МИЛОСАВЉЕВ ЖИВАН
+МИЛОСАВЉЕВ ЖИВКА
+МИЛОСАВЉЕВ АЛЕКСАНДАР
+МИЛОСАВЉЕВ БОЖИДАР
+МИЛОСАВЉЕВ ДОБРЕН
+МИЛОСАВЉЕВ ДРАГИЊА
+МИЛОСАВЉЕВ ЉИЉАНА
+МИЛОСАВЉЕВ МЕЛАНИЈА
+МИЛОСАВЉЕВ МИЛЕНКО
+МИЛОСАВЉЕВ МИЛИЦА
+МИЛОСАВЉЕВ НОВКА
+МИЛОСАВЉЕВ ВЛАДА
+МИЛОСАВЉЕВ ВОЈА
+МИЛОСАВЉЕВИЋ ЖАРКО
+МИЛОСАВЉЕВИЋ ЖИВАДИН
+МИЛОСАВЉЕВИЋ ЖИВКО
+МИЛОСАВЉЕВИЋ ЖИВКО
+МИЛОСАВЉЕВИЋ АДАМ ДИПЛ ПРАВНИК
+МИЛОСАВЉЕВИЋ БОЖИДАР
+МИЛОСАВЉЕВИЋ БОРА
+МИЛОСАВЉЕВИЋ БОРИВОЈЕ
+МИЛОСАВЉЕВИЋ БРАНИСЛАВ
+МИЛОСАВЉЕВИЋ БРАНКО
+МИЛОСАВЉЕВИЋ БРАТИСЛАВ
+МИЛОСАВЉЕВИЋ ДЕЈАН
+МИЛОСАВЉЕВИЋ ДРАГАН
+МИЛОСАВЉЕВИЋ ДРАГАН
+МИЛОСАВЉЕВИЋ ДРАГАН
+МИЛОСАВЉЕВИЋ ДРАГИЦА
+МИЛОСАВЉЕВИЋ ДРАГИЦА
+МИЛОСАВЉЕВИЋ ДРАГУТИН
+МИЛОСАВЉЕВИЋ ДУШАНКА
+МИЛОСАВЉЕВИЋ ИЛИЈА
+МИЛОСАВЉЕВИЋ ЈЕЛИСАВЕТА
+МИЛОСАВЉЕВИЋ ЈОВАН
+МИЛОСАВЉЕВИЋ ЈОВАН
+МИЛОСАВЉЕВИЋ ЈОВАН
+МИЛОСАВЉЕВИЋ КАТИЦА
+МИЛОСАВЉЕВИЋ ЛАЗАР
+МИЛОСАВЉЕВИЋ МАРИЈА
+МИЛОСАВЉЕВИЋ МИХАЈЛО
+МИЛОСАВЉЕВИЋ МИЛАН
+МИЛОСАВЉЕВИЋ МИЛАН
+МИЛОСАВЉЕВИЋ МИЛЕ
+МИЛОСАВЉЕВИЋ МИЛИЦА
+МИЛОСАВЉЕВИЋ МИЛКА
+МИЛОСАВЉЕВИЋ МИЛОРАД
+МИЛОСАВЉЕВИЋ МИЛОРАД
+МИЛОСАВЉЕВИЋ МИЛОРАД
+МИЛОСАВЉЕВИЋ МИЛОВАН
+МИЛОСАВЉЕВИЋ МИОДРАГ ДР
+МИЛОСАВЉЕВИЋ МИОДРАГ
+МИЛОСАВЉЕВИЋ МИОДРАГ
+МИЛОСАВЉЕВИЋ МИОДРАГ
+МИЛОСАВЉЕВИЋ МИОДРАГ
+МИЛОСАВЉЕВИЋ МИОДРАГ
+МИЛОСАВЉЕВИЋ МИОДРАГ
+МИЛОСАВЉЕВИЋ МИРОСЛАВ
+МИЛОСАВЉЕВИЋ НИКОЛА ДР
+МИЛОСАВЉЕВИЋ НОВИЦА
+МИЛОСАВЉЕВИЋ ОЛГА
+МИЛОСАВЉЕВИЋ ПЕТАР
+МИЛОСАВЉЕВИЋ РАДИВОЈЕ
+МИЛОСАВЉЕВИЋ РАДИВОЈ
+МИЛОСАВЉЕВИЋ РАДОМИР
+МИЛОСАВЉЕВИЋ САВО
+МИЛОСАВЉЕВИЋ СЛАВКО
+МИЛОСАВЉЕВИЋ СЛОБОДАН
+МИЛОСАВЉЕВИЋ СЛОБОДАН
+МИЛОСАВЉЕВИЋ СРЕТА
+МИЛОСАВЉЕВИЋ СТАНИСЛАВ
+МИЛОСАВЉЕВИЋ СТАНКО
+МИЛОСАВЉЕВИЋ СТЕВО
+МИЛОСАВЉЕВИЋ СВЕТОЗАР
+МИЛОСАВЉЕВИЋ ВЕРА
+МИЛОСАВЉЕВИЋ ВЕРА
+МИЛОСАВЉЕВИЋ ВЛАДИМИР
+МИЛОСАВЉЕВИЋ ВЛАДИСЛАВ
+МИЛОСАВЉЕВИЋ ЗОРАН
+МИЛОСОВИЋ ЈОВАН
+МИЛОСОВИЋ МИЛОШ
+МИЛОСОВИЋ МИРКО
+МИЛОВЧЕВИЋ МИЛОШ
+МИЛОВАЦ ДУШАН
+МИЛОВАЦ ГЛИША
+МИЛОВАЦ ГОРАН
+МИЛОВАЦ ИЛЕ
+МИЛОВАЦ ИЛИЈА
+МИЛОВАЦ ЈЕЛА
+МИЛОВАЦ МИЛАН
+МИЛОВАЦ МИЛАН
+МИЛОВАЦ МИЛАН
+МИЛОВАЦ ПЕТАР
+МИЛОВАЦ РУЖИЦА
+МИЛОВАЦ СИМО
+МИЛОВАЦ СТАНКО
+МИЛОВАЦ СТЕВАН
+МИЛОВАЦ СТОЈАН
+МИЛОВАН КОНСТАНЦА
+МИЛОВАНЧЕВ АЛЕКСАНДАР
+МИЛОВАНЧЕВ ИСИДОР
+МИЛОВАНЧЕВ НИКОЛА
+МИЛОВАНЧЕВ СЛОБОДАН ДИПЛ ИНГ
+МИЛОВАНЧЕВ СВЕТОЗАР ДР
+МИЛОВАНКИЋ ЂОРЂЕ
+МИЛОВАНКИЋ МИРОСЛАВ
+МИЛОВАНОВ ЂОРЂЕ
+МИЛОВАНОВ АЛЕКСАНДАР ДИПЛ ИНГ
+МИЛОВАНОВ АНИЦА
+МИЛОВАНОВ БОЖИДАР
+МИЛОВАНОВ ДИМИТРИЈЕ ДИПЛ ИНГ
+МИЛОВАНОВ ДРАГАН
+МИЛОВАНОВ ГОЈКО
+МИЛОВАНОВ ГОЈКО
+МИЛОВАНОВ ГОРАН
+МИЛОВАНОВ ГОРДАНА ДР ЛЕКАР
+МИЛОВАНОВ ИВАН
+МИЛОВАНОВ ЈУЛКА
+МИЛОВАНОВ МИЛАН
+МИЛОВАНОВ МИЛЕ
+МИЛОВАНОВ МИЛИНКА
+МИЛОВАНОВ МИЛИНКА
+МИЛОВАНОВ МИРЈАНА
+МИЛОВАНОВ СИМА
+МИЛОВАНОВ СТОЈАНКА
+МИЛОВАНОВ ТОДОР
+МИЛОВАНОВ ВАСИЛИЈЕ
+МИЛОВАНОВ ЗОРАН
+МИЛОВАНОВИЋ ЖИКА
+МИЛОВАНОВИЋ ЖИВКО
+МИЛОВАНОВИЋ АНЂЕЛКА
+МИЛОВАНОВИЋ АНИЦА
+МИЛОВАНОВИЋ АНИЦА
+МИЛОВАНОВИЋ БОГОСАВ
+МИЛОВАНОВИЋ БРАНИСЛАВА
+МИЛОВАНОВИЋ БРАНИСЛАВ
+МИЛОВАНОВИЋ БРАНИСЛАВ
+МИЛОВАНОВИЋ ДАНИЦА
+МИЛОВАНОВИЋ ДОБРИСАВ
+МИЛОВАНОВИЋ ДОБРИВОЈЕ
+МИЛОВАНОВИЋ ДРАГИЊА
+МИЛОВАНОВИЋ ДРАГОЉУБ
+МИЛОВАНОВИЋ ДРАГОЉУБ
+МИЛОВАНОВИЋ ДРАГОМИР
+МИЛОВАНОВИЋ ДРАГОСЛАВ
+МИЛОВАНОВИЋ ДРАГОСЛАВ
+МИЛОВАНОВИЋ ДУШАН ДР ЛЕКАР
+МИЛОВАНОВИЋ ДУШАН
+МИЛОВАНОВИЋ ГОРАН
+МИЛОВАНОВИЋ ГОРДАНА
+МИЛОВАНОВИЋ ИЛИЈА
+МИЛОВАНОВИЋ ИВАНКА
+МИЛОВАНОВИЋ ИВИЦА
+МИЛОВАНОВИЋ ЈОВАН
+МИЛОВАНОВИЋ КАТАЛИН
+МИЛОВАНОВИЋ КАТИЦА
+МИЛОВАНОВИЋ КОСАРА
+МИЛОВАНОВИЋ КРСТОМИР
+МИЛОВАНОВИЋ ЉИЉАНА
+МИЛОВАНОВИЋ ЉИЉАНА
+МИЛОВАНОВИЋ ЉУБИЦА
+МИЛОВАНОВИЋ ЛУКА
+МИЛОВАНОВИЋ МИЛАДИН
+МИЛОВАНОВИЋ МИЛАН
+МИЛОВАНОВИЋ МИЛЕНА
+МИЛОВАНОВИЋ МИЛЕНКО
+МИЛОВАНОВИЋ МИЛЕВА
+МИЛОВАНОВИЋ МИЛИСАВ
+МИЛОВАНОВИЋ МИЛИВОЈЕ
+МИЛОВАНОВИЋ МИЛОРАД
+МИЛОВАНОВИЋ МИЛОВАН
+МИЛОВАНОВИЋ МИЛОВАН
+МИЛОВАНОВИЋ МИРЈАНА
+МИЛОВАНОВИЋ МИРЈАНА
+МИЛОВАНОВИЋ МОМИР ДИПЛ ИНГ
+МИЛОВАНОВИЋ НАДА МР
+МИЛОВАНОВИЋ НИКОЛА
+МИЛОВАНОВИЋ ОБРЕН
+МИЛОВАНОВИЋ ОЛГА
+МИЛОВАНОВИЋ РАДАШИН
+МИЛОВАНОВИЋ РАДЕНКО
+МИЛОВАНОВИЋ РАДЕНКО
+МИЛОВАНОВИЋ РАДЕНКО
+МИЛОВАНОВИЋ РАДЕ
+МИЛОВАНОВИЋ РАДИСАВ
+МИЛОВАНОВИЋ РАДИСЛАВ
+МИЛОВАНОВИЋ РАДОСЛАВ
+МИЛОВАНОВИЋ РИСТА
+МИЛОВАНОВИЋ САВА
+МИЛОВАНОВИЋ СЛАВКА
+МИЛОВАНОВИЋ СЛАВКО
+МИЛОВАНОВИЋ СЛОБОДАН
+МИЛОВАНОВИЋ СОЊА
+МИЛОВАНОВИЋ СРБИСЛАВ
+МИЛОВАНОВИЋ СТАНИЦА
+МИЛОВАНОВИЋ СТЕВАН ДИПЛ ИНГ
+МИЛОВАНОВИЋ СТЕВАН
+МИЛОВАНОВИЋ СТЕВАН
+МИЛОВАНОВИЋ СВЕТОЗАР
+МИЛОВАНОВИЋ СВЕТОЗАР
+МИЛОВАНОВИЋ ТЕРКА
+МИЛОВАНОВИЋ ВЕСЕЛИНКА
+МИЛОВАНОВИЋ ВЕСНА
+МИЛОВАНОВИЋ ВИДАН
+МИЛОВАНОВИЋ ВЛАДИМИР
+МИЛОВАНОВИЋ ВЛАДИМИР
+МИЛОВАНОВИЋ ВЛАДИСЛАВ
+МИЛОВАНОВИЋ ВОЈА
+МИЛОВАНОВИЋ ВОЈИСЛАВ
+МИЛОВАНОВИЋ ВОЈИСЛАВ
+МИЛОВАНОВИЋ ВОЈИСЛАВ
+МИЛОВАНОВИЋ ВОЈИСЛАВ
+МИЛОВАНОВИЋ ВУКОСАВА
+МИЛОВАНОВИЋ ЗОРАН
+МИЛОВАНОВИЋ ЗОРАН
+МИЛОВАНОВИЋ ЗОРКА
+МИЛОВИЋ ЧЕДО
+МИЛОВИЋ ЂОРЂЕ
+МИЛОВИЋ БОШКО
+МИЛОВИЋ БОГДАН
+МИЛОВИЋ БОРИША
+МИЛОВИЋ БОРО
+МИЛОВИЋ БОРО
+МИЛОВИЋ БРАНКО
+МИЛОВИЋ ДЕСИМИР
+МИЛОВИЋ ДУШАН
+МИЛОВИЋ ГОЈКО
+МИЛОВИЋ ГОЈКО
+МИЛОВИЋ ИЛИЈА
+МИЛОВИЋ ЈЕЛЕНА
+МИЛОВИЋ КРСТО
+МИЛОВИЋ ЉУБОМИР
+МИЛОВИЋ МАЈА
+МИЛОВИЋ МАРИЈАН
+МИЛОВИЋ МИЛАН
+МИЛОВИЋ МИЛЕНКО
+МИЛОВИЋ МИЛОРАД
+МИЛОВИЋ МИЛОРАД
+МИЛОВИЋ МИОМИР
+МИЛОВИЋ МОМЧИЛО
+МИЛОВИЋ ОРЛЕ
+МИЛОВИЋ ПЕТАР
+МИЛОВИЋ РАДЕ
+МИЛОВИЋ РАДОВАН
+МИЛОВИЋ СЛОБОДАН
+МИЛОВИЋ СТАНКО
+МИЛОВИЋ ТОМИСЛАВ
+МИЛОВИЋ ВУКАШИН
+МИЛУШИЋ ЕВИЦА
+МИЛУШИЋ ПЕТАР ДИПЛ ИНГ
+МИЛУНОВ ЈОВАН
+МИЛУНОВ ЈУЛКА
+МИЛУНОВИЋ БРАНКО
+МИЛУНОВИЋ ДРАГОМИР
+МИЛУНОВИЋ МИЛОШ
+МИЛУНОВИЋ МИЛОМИР
+МИЛУНОВИЋ МИЛОРАД
+МИЛУНОВИЋ МИЛУН
+МИЛУНОВИЋ РАДОМИР
+МИЛУНОВИЋ СПАСЕНКО
+МИЛУНОВИЋ ЗОРИЦА
+МИЛУРОВИЋ СЛОБОДАН
+МИЛУТИН ЖИВКО
+МИЛУТИН ЈАСНА
+МИЛУТИН МИРА
+МИЛУТИН НЕДЕЉКО
+МИЛУТИН РАТКО
+МИЛУТИН ВОЈИСЛАВ
+МИЛУТИНОВ ЂОКА
+МИЛУТИНОВ АЦА
+МИЛУТИНОВ ДРАГОСЛАВ
+МИЛУТИНОВ ЈЕЛИСАВЕТА
+МИЛУТИНОВ ЈОВАН
+МИЛУТИНОВ КОНСТАНТИН
+МИЛУТИНОВ ЛАЗАР
+МИЛУТИНОВ МИЛИСАВ
+МИЛУТИНОВ МИТА
+МИЛУТИНОВ-НЕДЕЉКОВИЋ РАДОВАН
+МИЛУТИНОВ РАДА
+МИЛУТИНОВ РАДОСЛАВ
+МИЛУТИНОВ САВА
+МИЛУТИНОВ САВЕТА
+МИЛУТИНОВ ТОДОР
+МИЛУТИНОВ ВЕЛИБОР
+МИЛУТИНОВИЋ ШТЕФИЦА
+МИЛУТИНОВИЋ ЖИКА
+МИЛУТИНОВИЋ ЂОРЂЕ
+МИЛУТИНОВИЋ ЂОРЂЕ
+МИЛУТИНОВИЋ ЂОРЂЕ
+МИЛУТИНОВИЋ ЂУРЂИЦА
+МИЛУТИНОВИЋ АНЂЕЛКО
+МИЛУТИНОВИЋ БОШКО
+МИЛУТИНОВИЋ БОЈАН
+МИЛУТИНОВИЋ БРАНКА
+МИЛУТИНОВИЋ БУДИМИР
+МИЛУТИНОВИЋ ДАНИЈЕЛА
+МИЛУТИНОВИЋ ДРАГАН
+МИЛУТИНОВИЋ ДРАГИЦА
+МИЛУТИНОВИЋ ДРАГИЦА
+МИЛУТИНОВИЋ ДРАГУТИН
+МИЛУТИНОВИЋ ДУШАНКА
+МИЛУТИНОВИЋ ДУШАН
+МИЛУТИНОВИЋ ГАВРИЛО
+МИЛУТИНОВИЋ ИГЊАТ
+МИЛУТИНОВИЋ ЈОВАН
+МИЛУТИНОВИЋ ЈОВАН
+МИЛУТИНОВИЋ ЈУЛКИЦА
+МИЛУТИНОВИЋ ЛИДИЈА
+МИЛУТИНОВИЋ ЛИДИЈА
+МИЛУТИНОВИЋ ЉУБИНКА
+МИЛУТИНОВИЋ ЉУБО
+МИЛУТИНОВИЋ МАНДА
+МИЛУТИНОВИЋ МАРТА
+МИЛУТИНОВИЋ МЕЛАНИЈА
+МИЛУТИНОВИЋ МИЛАДИН
+МИЛУТИНОВИЋ МИЛАН
+МИЛУТИНОВИЋ МИЛАН
+МИЛУТИНОВИЋ МИЛЕНКО
+МИЛУТИНОВИЋ МИЛИНКО
+МИЛУТИНОВИЋ МИЛИВОЈЕ
+МИЛУТИНОВИЋ МИЛИВОЈЕ
+МИЛУТИНОВИЋ МИЛОШ
+МИЛУТИНОВИЋ МИЛОЈКО
+МИЛУТИНОВИЋ МИЛОРАД
+МИЛУТИНОВИЋ МИЛОРАД
+МИЛУТИНОВИЋ МИЛОВАН
+МИЛУТИНОВИЋ МИЛУТИН
+МИЛУТИНОВИЋ МИОМИР
+МИЛУТИНОВИЋ МИРЈАНА
+МИЛУТИНОВИЋ МИРЈАНА
+МИЛУТИНОВИЋ МИРЈАНА
+МИЛУТИНОВИЋ МИРОСЛАВА ДР
+МИЛУТИНОВИЋ МИРОСЛАВ
+МИЛУТИНОВИЋ МОМИР
+МИЛУТИНОВИЋ ОЛГА
+МИЛУТИНОВИЋ ПЕТАР
+МИЛУТИНОВИЋ ПЕТАР
+МИЛУТИНОВИЋ РАДЕ
+МИЛУТИНОВИЋ РАДИША
+МИЛУТИНОВИЋ РАДОЈКА
+МИЛУТИНОВИЋ РАДОСАВ
+МИЛУТИНОВИЋ САША
+МИЛУТИНОВИЋ СЛАВКО
+МИЛУТИНОВИЋ СЛОБОДАНКА
+МИЛУТИНОВИЋ СРЕТЕН
+МИЛУТИНОВИЋ СТАНА
+МИЛУТИНОВИЋ СТЕВАН
+МИЛУТИНОВИЋ СТОЈАНКА
+МИЛУТИНОВИЋ СТОЈАН
+МИЛУТИНОВИЋ СВЕТОЗАР
+МИЛУТИНОВИЋ ВЕЛИМИР
+МИЛУТИНОВИЋ ВЕРА
+МИЛУТИНОВИЋ ВЕРА
+МИЛУТИНОВИЋ ВЕРИЦА ДР
+МИЛУТИНОВИЋ-ВУКСАН ОЛГА
+МИЛУТИНОВИЋ ЗОРАН
+МИЛУТИНОВИЋ ЗОРАН
+МИЛУТИНОВИЋ ЗОРАН
+МИЛУТИНОВИЋ ЗОРАН
+МИМИЦА МЛАДЕН
+МИМИЦА НЕНАД
+МИМИЦА НЕНАД
+МИМИЦА НЕНАД
+МИНЧИЋ МИРОЉУБ
+МИНЧИЋ МИРОСЛАВ
+МИНЧИЋ СЛОБОДАНКА
+МИНДА-РАЂЕНОВИЋ ЕЛЕНА
+МИНДА ТИБОР
+МИНДИЋ МИРЈАНА
+МИНДИЋ СВЕТИСЛАВ
+МИНЕА РОМАН
+МИНИЋ МИЛОСАВ
+МИНИЋ НАДА
+МИНИЋ СЛАВКО
+МИНИЋ ТОМИСЛАВ
+МИНИЋ ЗОРКА
+МИНИК ШАНДОР
+МИНИК ЈОСИП
+МИЊА МАЈА
+МИЊА МИЛУТИН
+МИОЧ ЖЕЉКО
+МИОЧ ИВАН
+МИОЧ ЗДЕНКО
+МИОЧИНОВИЋ МАРКО
+МИОЧИНОВИЋ МИЛАН
+МИОДАНИЋ ДАНКО
+МИОДРАГ АНА
+МИОДРАГ МИРКО
+МИОДРАГ ПЕРО
+МИОДРАГ ЗДРАВКА
+МИОДРАГ ЗОРИЦА
+МИОДРАГОВИЋ АЛАКСАНДАР
+МИОДРАГОВИЋ БОРИСЛАВ
+МИОДРАГОВИЋ ДРАГОЉУБ
+МИОДРАГОВИЋ ДРАГОЉУБ
+МИОДРАГОВИЋ ДРАГОМИР
+МИОДРАГОВИЋ ДУШКО
+МИОДРАГОВИЋ МИЛЕНКО ДИПЛ ИНГ
+МИОДРАГОВИЋ МИЛЕНКО
+МИОДРАГОВИЋ РАДОСЛАВ
+МИОДРАГОВИЋ СТЕВАН
+МИОДРАГОВИЋ ТОША
+МИОДРАГОВИЋ ВЕРА
+МИОДРАГОВИЋ-ВУКАНИЋ АЛЕКСАНДРА
+МИОДРАГОВИЋ ЗОРИЦА
+МИОК ВЛАСТИМИР
+МИОКОВИЋ БРАНКО
+МИОКОВИЋ ДАНИЦА
+МИОКОВИЋ РАДОСЛАВ
+МИОЛСКИ БОРИСЛАВ
+МИОЛСКИ ДУШКО
+МИОЛСКИ СТАНКО
+МИОЛСКИ СТЕВАН
+МИРЧЕТИЋ ЈОВАН
+МИРЧЕТИЋ ЛАЗАР
+МИРЧЕТИЋ МИЛИЦА
+МИРЧЕТИЋ МИЛУТИН
+МИРЧЕТИЋ РАДОСЛАВ
+МИРЧЕТИЋ СЛАВКО
+МИРЧЕТИЋ ЗОРАН
+МИРЧЕТИЋ ЗОРАН
+МИРЧЕВСКИ МИХАИЛО
+МИРЧИЋ КОВИЉКА
+МИРЧИЋ МИЛОРАД
+МИРЧИЋ НИКОЛА
+МИРЧИЋ РАДОВАН
+МИРЧИЋ СТОЈАНКА
+МИРЧИЋ СТОЈАН
+МИРАЖИЋ АНТУН
+МИРАЖИЋ БРАНИСЛАВ
+МИРАЖИЋ БРАНКО
+МИРАЖИЋ ЈЕЛА
+МИРАЖИЋ МАРА
+МИРАЖИЋ ВЕСЕЛИНКА
+МИРАЛЕМ АХМЕД
+МИРАНОВИЋ КСЕНИЈА ДР ЛЕКАР
+МИРАНОВИЋ МАЈА
+МИРАНОВИЋ МИРКО
+МИРЕШЕВИЋ ДУШАН
+МИРЕШЕВИЋ РАДОЈКА
+МИРИЋ ЂУРА
+МИРИЋ АГАТА
+МИРИЋ БОЖИДАР
+МИРИЋ ДАНЕ
+МИРИЋ ДРАГОМИР
+МИРИЋ ДРАГУТИН
+МИРИЋ ДУШАНКА
+МИРИЋ ДУШАН
+МИРИЋ ДУШАН
+МИРИЋ ДУШКО
+МИРИЋ ЈОСИФ
+МИРИЋ ЈОВАН
+МИРИЋ ЈОВО
+МИРИЋ КАТА
+МИРИЋ КАТИЦА
+МИРИЋ КОВИЉКА
+МИРИЋ МАРИЈА
+МИРИЋ МИЛАН
+МИРИЋ МИЛАН
+МИРИЋ МИЛАН
+МИРИЋ МИЛЕНА
+МИРИЋ МИЛКА
+МИРИЋ НИКОЛА
+МИРИЋ ПАВЛЕ
+МИРИЋ РАЈКО
+МИРИЋ РУЖИЦА
+МИРИЋ САША
+МИРИЋ САВКА
+МИРИЋ СМИЉА
+МИРИЋ СТЕВАН
+МИРИЋ СТОЈАНКА
+МИРИЋ ВАСИЛИЈЕ
+МИРИЛОВ АЛЕКСАНДАР
+МИРИЛОВ МИЛАДИН ДР
+МИРИЛОВ ЗОРКА
+МИРИЛОВИЋ ДРАГАН
+МИРИЛОВИЋ ГОРДАНА
+МИРИЛОВИЋ ЛАЗАР
+МИРИЛОВИЋ МЛАДЕН
+МИРИЛОВИЋ СНЕЖАНА
+МИРИМАНОВ ДАРА
+МИРИМАНОВ ВЛАДИМИР
+МИРЈАЧИЋ БОСА
+МИРЈАНИЋ ДАНИЦА
+МИРЈАНИЋ МОРАВКА
+МИРЈАНИЋ ВАСА
+МИРЈАНИЋ ВЕРИЦА
+МИРЈАНИН НЕРА
+МИРКАЦ СТАНИСЛАВ
+МИРКАЈЛОВИЋ МИЛОВАН
+МИРКАЈЛОВИЋ МИЛОВАН
+МИРКИЋ БЛАГОЈЕ
+МИРКОЊ СРЕДОЈЕ
+МИРКОЊЕВ БРАНИСЛАВ
+МИРКОЊЕВ СНЕЖАНА
+МИРКОВ ЖЕЉКО
+МИРКОВ ЖИВАН
+МИРКОВ ЂОРЂЕ
+МИРКОВ ЂУРЂИЈА
+МИРКОВ ЂУРЂИЈА
+МИРКОВ ЂУРИЦА
+МИРКОВ БОСИЉКА
+МИРКОВ ДУШИЦА
+МИРКОВ ЕВИЦА
+МИРКОВ МАРИЦА
+МИРКОВ ПАВЛЕ
+МИРКОВ РУЖИЦА
+МИРКОВ СЕКУЛА ДИПЛ ОЕЦ
+МИРКОВ СЛОБОДАН
+МИРКОВ СНЕЖАНА
+МИРКОВ СТАНИСЛАВ
+МИРКОВ СТЕВАН
+МИРКОВ СТЕВАН
+МИРКОВ ВЕЉКО
+МИРКОВ ВЛАДА
+МИРКОВ ЗОРАН
+МИРКОВ ЗОРИЦА
+МИРКОВ ЗОРКА
+МИРКОВИЋ ЧЕДОМИР
+МИРКОВИЋ ЖИВАН
+МИРКОВИЋ ЖИВКА
+МИРКОВИЋ ЖИВОЈИН
+МИРКОВИЋ ЂОРЂЕ
+МИРКОВИЋ ЂОРЂЕ
+МИРКОВИЋ АВРАМ
+МИРКОВИЋ БОРА
+МИРКОВИЋ БРАНИСЛАВ
+МИРКОВИЋ БРАНКА
+МИРКОВИЋ БРАНКА
+МИРКОВИЋ БРАНКО
+МИРКОВИЋ БРАНКО
+МИРКОВИЋ ДАНИЦА
+МИРКОВИЋ ДЕЈАН
+МИРКОВИЋ ДРАГАНА
+МИРКОВИЋ ДРАГИЦА
+МИРКОВИЋ ДРАГИЦА
+МИРКОВИЋ ДРАГОЉУБ
+МИРКОВИЋ ДУШАН
+МИРКОВИЋ ДУШАН
+МИРКОВИЋ ДУШАН
+МИРКОВИЋ ДУШКО
+МИРКОВИЋ ДУБРАВКА
+МИРКОВИЋ ЕДИТА
+МИРКОВИЋ ЕЛА
+МИРКОВИЋ ЕМИЛИЈА
+МИРКОВИЋ ГАВРИЛО
+МИРКОВИЋ ИВАН
+МИРКОВИЋ ЈОВАНКА
+МИРКОВИЋ ЈОВАН
+МИРКОВИЋ ЈОВАН
+МИРКОВИЋ ЈОВАН
+МИРКОВИЋ КАТИЦА
+МИРКОВИЋ ЛАЗАР
+МИРКОВИЋ ЉИЉАНА
+МИРКОВИЋ ЉИЉАНА
+МИРКОВИЋ МАРА
+МИРКОВИЋ МАРА
+МИРКОВИЋ МИЛАН ДР
+МИРКОВИЋ МИЛАН
+МИРКОВИЋ МИЛАН
+МИРКОВИЋ МИЛАН
+МИРКОВИЋ МИЛАН
+МИРКОВИЋ МИЛИЦА
+МИРКОВИЋ МИЛИСАВ
+МИРКОВИЋ МИЛИВОЈ ДИПЛ ИНГ
+МИРКОВИЋ МИЛИВОЈЕ
+МИРКОВИЋ МИЛКА
+МИРКОВИЋ МИЛОШ
+МИРКОВИЋ МИЛОСАВ
+МИРКОВИЋ МИЛОВАН
+МИРКОВИЋ МИЛУТИН
+МИРКОВИЋ МИОДРАГ
+МИРКОВИЋ МИРЈАНА
+МИРКОВИЋ МИРКО
+МИРКОВИЋ МИРОСЛАВ
+МИРКОВИЋ НЕНАД
+МИРКОВИЋ НОВАК
+МИРКОВИЋ ПЕТАР
+МИРКОВИЋ ПЕТАР
+МИРКОВИЋ ПЕТАР
+МИРКОВИЋ ПЕТАР
+МИРКОВИЋ ПРЕДРАГ
+МИРКОВИЋ РАДМИЛА
+МИРКОВИЋ РАТКО
+МИРКОВИЋ САЊА
+МИРКОВИЋ САВА
+МИРКОВИЋ СЛОБОДАН ДР ЛЕКАР
+МИРКОВИЋ СЛОБОДАН
+МИРКОВИЋ СТЕВАН
+МИРКОВИЋ СВЕТИСЛАВ
+МИРКОВИЋ ТРИФУН
+МИРКОВИЋ ВЛАДИМИР
+МИРКОВИЋ ЗОРАН ДР
+МИРКОВИЋ ЗОРАН
+МИРКОВИЋ ЗОРАН
+МИРКОВИЋ ЗОРКА
+МИРКОВИЋ ЗОРКА
+МИРНИЋ ЈОСИП ДР
+МИРНИЋ СИЛВИЈА
+МИРНИЋ ВУКАШИН
+МИРОШЕВИЋ НИНО
+МИРОНИЦКИ РУЖИЦА
+МИРОНИЦКИ ЗВОНИМИР
+МИРОСАВИЋ МИЛЕНКО
+МИРОСАВИЋ МИЛЕНКО
+МИРОСАВЉЕВ ИЛИНКА
+МИРОСАВЉЕВ ЈОЦА
+МИРОСАВЉЕВ МАРИЈА
+МИРОСАВЉЕВ МИЛЕНКО
+МИРОСАВЉЕВ МЛАДЕН
+МИРОСАВЉЕВИЋ АЛЕКСАНДАР
+МИРОСАВЉЕВИЋ БОШКО
+МИРОСАВЉЕВИЋ БОРИСЛАВ
+МИРОСАВЉЕВИЋ БОРИВОЈ
+МИРОСАВЉЕВИЋ БРАНКА
+МИРОСАВЉЕВИЋ ДОБРИЛА
+МИРОСАВЉЕВИЋ ЈОВАН
+МИРОСАВЉЕВИЋ ЛЕПОСАВА
+МИРОСАВЉЕВИЋ ЉУБИЦА
+МИРОСАВЉЕВИЋ ЉУБОДРАГ
+МИРОСАВЉЕВИЋ МАГДА
+МИРОСАВЉЕВИЋ МИЛЕНКО
+МИРОСАВЉЕВИЋ НИКОЛА
+МИРОСАВЉЕВИЋ НИКОЛА
+МИРОСАВЉЕВИЋ СТЕВАН
+МИРОСАВЉЕВИЋ СТРАХИЊА
+МИРОСАВЉЕВИЋ СВЕТИСЛАВ
+МИРОСАВЉЕВИЋ ТОМИСЛАВ
+МИРОСАВЉЕВИЋ ТОМИСЛАВ
+МИРОСАВЉЕВИЋ ВЕРА
+МИРОСАВЉЕВИЋ ВЕРА
+МИРОСАВЉЕВИЋ ВОЈИСЛАВ
+МИРОСАВЉЕВИЋ ЗОРАН
+МИРОСАВЉЕВИЋ ЗОРКА
+МИРОСЛАВЉЕВИЋ ДУШАНКА
+МИРОВИЋ АЛЕКСАНДАР
+МИРОВИЋ ДИМИТРИЈЕ
+МИРОВИЋ ИГОР
+МИРОВИЋ МАРИЈА
+МИРОВИЋ МИЛО
+МИРОВИЋ НЕНАД
+МИСАИЛОВИЋ СВЕТОЗАР
+МИСАЈЛОВИЋ МАРГИТА
+МИСАЉЕВИЋ НЕМАЊА
+МИСИМИ КАМБЕР
+МИСИНИ МИРИМАН
+МИСИРКИЋ МИЛОШ
+МИСИРКИЋ ВЛАДА
+МИСИРЛИС ГЕОРГИОС
+МИСКИН ДРАГАН
+МИСКИН МИЛОШ
+МИСКИН НИКО
+МИСКИН ЗДРАВКО
+МИСЛИМИ АЛИВЕБИ
+МИТАР ТОМА
+МИТАР ВЕРА
+МИТЕВСКИ ИВАН
+МИТИЋ ЧЕДОМИР
+МИТИЋ АЛЕКСАНДАР
+МИТИЋ БОРИВОЈ
+МИТИЋ БРАНИСЛАВА
+МИТИЋ БРАНИСЛАВ
+МИТИЋ БУДИМИР
+МИТИЋ ДАНИЦА
+МИТИЋ ДРАГОЉУБ
+МИТИЋ ДРАГОЉУБ
+МИТИЋ ДРАГУТИН
+МИТИЋ ДУШАН
+МИТИЋ ГОРДАНА
+МИТИЋ ИГОР
+МИТИЋ ЈОСИФ
+МИТИЋ ЈОВАН
+МИТИЋ ЈОВАН
+МИТИЋ МАРИЈА
+МИТИЋ МИЛАН
+МИТИЋ МИЛИВОЈ
+МИТИЋ МИОДРАГ ДР ЛЕКАР
+МИТИЋ МИОДРАГ
+МИТИЋ МИРКО
+МИТИЋ МИТАР ДИПЛ ИНГ
+МИТИЋ НИКОЛА
+МИТИЋ ПАВЛЕ
+МИТИЋ РАДИВОЈЕ
+МИТИЋ РУЖИЦА
+МИТИЋ СЛАВКО
+МИТИЋ СРЕБРА
+МИТИЋ СУЗАНА
+МИТИЋ ТОМИСЛАВ
+МИТИЋ ВЕЛИМИР
+МИТИЋ ВЕРА
+МИТИЋ ВИДОСАВА
+МИТИЋ ВИТОМИР
+МИТКОВИЋ ДРАГАН
+МИТОШЕВИЋ БОГДАН
+МИТОШЕВИЋ МИЛЕ
+МИТОШЕВИЋ НАДА
+МИТОШЕВИЋ САВА
+МИТОВИЋ АЛЕКСАНДАР
+МИТОВИЋ ДОБРИСЛАВ
+МИТОВИЋ МИРОСЛАВ
+МИТРАШИНОВИЋ ЉИЉАНА
+МИТРАШИНОВИЋ ЗОРА
+МИТРАКОВИЋ ЂУРАЂ
+МИТРАКОВИЋ МИРОСЛАВ
+МИТРАКОВИЋ НЕНАД
+МИТРАКОВИЋ УГЉЕША
+МИТРЕКАНИЋ МИЛОРАД
+МИТРЕСКИ МОМЧИЛО
+МИТРЕВСКА ЕВДОКИЈА
+МИТРЕВСКИ ЛАМБЕ
+МИТРЕВСКИ МОМЧИЛО
+МИТРЕВСКИ РАДА
+МИТРИЧЕВИЋ ЖИКА
+МИТРИЧЕВИЋ АНЂЕЛКА
+МИТРИЧЕВИЋ АНА
+МИТРИЧЕВИЋ СМИЉА
+МИТРИЋ ЂУРО
+МИТРИЋ БОГИЋ
+МИТРИЋ МИЛАН
+МИТРИЋ МИЛАН
+МИТРИЋ МИЛОШ
+МИТРИЋ НЕЂО
+МИТРИЋ НЕЂО
+МИТРИЋ НОВАК
+МИТРИЋ РАДМИЛА
+МИТРИЋ ВАЛЕНТИНА
+МИТРОВЧАН ЈУЛКИЦА
+МИТРОВЧАН КОСТА
+МИТРОВЧАН ЛАЗАР
+МИТРОВЧАН ЉУБИНКО
+МИТРОВЧАН ЉУБИНКО
+МИТРОВЧАН МИТА
+МИТРОВЧАН РАДИНКА
+МИТРОВЧАН СТЕВАН
+МИТРОВЧАН СТЈЕПАН
+МИТРОВЧАН ЗАГОРКА
+МИТРОВИЋ ЧЕДОМИР
+МИТРОВИЋ ЖАРКО
+МИТРОВИЋ ЖИВОРАД
+МИТРОВИЋ ЂОКО
+МИТРОВИЋ АЛЕКСАНДАР
+МИТРОВИЋ АЛЕКСАНДАР
+МИТРОВИЋ АЛЕКСАНДАР
+МИТРОВИЋ АНГЕЛИНА
+МИТРОВИЋ АНКА
+МИТРОВИЋ БИЉАНА
+МИТРОВИЋ БОШКО
+МИТРОВИЋ БОРИСЛАВ
+МИТРОВИЋ БРАНКО
+МИТРОВИЋ БРАНКО
+МИТРОВИЋ ДАНИЦА
+МИТРОВИЋ ДАРИНКА
+МИТРОВИЋ ДЕСАНКА
+МИТРОВИЋ ДРАГАН
+МИТРОВИЋ ДРАГАН
+МИТРОВИЋ ДРАГИЦА
+МИТРОВИЋ ДРАГИ
+МИТРОВИЋ ДРАГОЈЛО
+МИТРОВИЋ ДРАГОЉУБ
+МИТРОВИЋ ДУШАНКА
+МИТРОВИЋ ДУШАН
+МИТРОВИЋ ДУШАН
+МИТРОВИЋ ДУШКО
+МИТРОВИЋ ДУБРАВКА
+МИТРОВИЋ ГОЈКО
+МИТРОВИЋ ГОСПАВА
+МИТРОВИЋ ГОСПА
+МИТРОВИЋ ИКА
+МИТРОВИЋ ИВАН
+МИТРОВИЋ ЈЕЛЕНА
+МИТРОВИЋ ЈЕЛЕНА
+МИТРОВИЋ ЈЕЛИЦА
+МИТРОВИЋ ЈОВАН
+МИТРОВИЋ ЈОВАН
+МИТРОВИЋ ЈОВАН
+МИТРОВИЋ ЛАЗАР
+МИТРОВИЋ ЛАЗАР
+МИТРОВИЋ ЉИЉАНА
+МИТРОВИЋ ЉУБИСАВ
+МИТРОВИЋ ЉУБОМИР
+МИТРОВИЋ ЉУБОМИР
+МИТРОВИЋ МАРКО
+МИТРОВИЋ МИХАЈЛО
+МИТРОВИЋ МИХАЈЛО
+МИТРОВИЋ МИЛАНКА
+МИТРОВИЋ МИЛАН
+МИТРОВИЋ МИЛАН
+МИТРОВИЋ МИЛЕНА
+МИТРОВИЋ МИЛЕНКО
+МИТРОВИЋ МИЛИЦА
+МИТРОВИЋ МИЛКА
+МИТРОВИЋ МИЛОШ
+МИТРОВИЋ МИЛОШ
+МИТРОВИЋ МИЛОРАД
+МИТРОВИЋ МИЛОВАН
+МИТРОВИЋ МИОДРАГ
+МИТРОВИЋ МИОДРАГ
+МИТРОВИЋ МИОДРАГ
+МИТРОВИЋ МИРКО
+МИТРОВИЋ МИРКО
+МИТРОВИЋ МИРОСЛАВ
+МИТРОВИЋ МИРОСЛАВ
+МИТРОВИЋ МИТАР ДИПЛ ИНГ
+МИТРОВИЋ МЛАДЕН
+МИТРОВИЋ МЛАДЕН
+МИТРОВИЋ МЛАДЕН
+МИТРОВИЋ МОМЧИЛО
+МИТРОВИЋ МОМИР
+МИТРОВИЋ НАДЕЖДА
+МИТРОВИЋ НЕНАД
+МИТРОВИЋ НИКОЛА
+МИТРОВИЋ ОЛГА
+МИТРОВИЋ ПЕТАР
+МИТРОВИЋ РАДИСЛАВ
+МИТРОВИЋ РАДИВОЈЕ
+МИТРОВИЋ РАДИВОЈ
+МИТРОВИЋ РАДМИЛА
+МИТРОВИЋ РАДМИЛА
+МИТРОВИЋ РАДОЈИЦА
+МИТРОВИЋ РАДОВАН
+МИТРОВИЋ РАДОВАН
+МИТРОВИЋ РАДО
+МИТРОВИЋ РАТКО
+МИТРОВИЋ СЛАВКО
+МИТРОВИЋ СЛАВКО
+МИТРОВИЋ СЛОБОДАН
+МИТРОВИЋ СЛОБОДАН
+МИТРОВИЋ СЛОБОДАН
+МИТРОВИЋ СОФИЈА
+МИТРОВИЋ СРЕТА
+МИТРОВИЋ СТАКА
+МИТРОВИЋ СТАНИША
+МИТРОВИЋ СТАНКО
+МИТРОВИЋ СТЕВАН
+МИТРОВИЋ СТЕВАН
+МИТРОВИЋ СУЗАНА
+МИТРОВИЋ СУЗАНА
+МИТРОВИЋ ТИХОМИР ДИПЛ ИНГ
+МИТРОВИЋ ТИХОМИР
+МИТРОВИЋ ТОДЕ
+МИТРОВИЋ ВАЛЕРИЈА
+МИТРОВИЋ ВАСА
+МИТРОВИЋ ВЕЛИМИР
+МИТРОВИЋ ВЕРА
+МИТРОВИЋ ВЕРА
+МИТРОВИЋ ВЕРИЦА
+МИТРОВИЋ ВЕРОНИКА
+МИТРОВИЋ ВЕСЕЛИН
+МИТРОВИЋ ВЛАДИМИР
+МИТРОВИЋ ВУЧЕТА
+МИТРОВИЋ-ВУЈНИЋ СМИЉАНА
+МИТРОВИЋ ВУЈОШ
+МИТРОВИЋ ЗЛАТКО
+МИТРУШИЋ БОРИСЛАВ
+МИТРУШИЋ БРАНИСЛАВ
+МИТРУШИЋ ЈЕЛИСАВЕТА
+МИУЧИН НАТАЛИЈА
+МИУЧИН РОЗИНА
+МИУЧИН СЛАВКО
+МИУЧИН СВЕТОЗАР
+МИУЧИН ВЕРИЦА
+МИЗ МАРИЈА
+МИЗ РОМАН
+МИЗДРАК БРАНКО
+МЈЕДА СИМОН
+МЛАЂЕН ЂУРО
+МЛАЂЕН ДМИТАР
+МЛАЂЕНОВИЋ БРАНКА
+МЛАЂЕНОВИЋ ЕЛЕНА
+МЛАЂЕНОВИЋ РАДЕ
+МЛАДЕНОВИЋ ЖИВОРАД
+МЛАДЕНОВИЋ ЂОРЂЕ
+МЛАДЕНОВИЋ ЂОРЂЕ
+МЛАДЕНОВИЋ АЛЕКСАНДАР
+МЛАДЕНОВИЋ АЛЕКСАНДАР
+МЛАДЕНОВИЋ АНЂЕЛКА
+МЛАДЕНОВИЋ АНКИЦА
+МЛАДЕНОВИЋ БОШКО
+МЛАДЕНОВИЋ БОГДАН
+МЛАДЕНОВИЋ БОСИЉКА
+МЛАДЕНОВИЋ ДАНИЛО
+МЛАДЕНОВИЋ ДРАГАН
+МЛАДЕНОВИЋ ДРАГАН
+МЛАДЕНОВИЋ ДРАГОЉУБ
+МЛАДЕНОВИЋ ДРАГОМИР
+МЛАДЕНОВИЋ ДУШАН
+МЛАДЕНОВИЋ ДУШАН
+МЛАДЕНОВИЋ ГРАДИМИР
+МЛАДЕНОВИЋ ЈЕЛЕНА
+МЛАДЕНОВИЋ ЈЕЛЕНА
+МЛАДЕНОВИЋ ЈЕЛИЦА
+МЛАДЕНОВИЋ ЈЕЛИЦА
+МЛАДЕНОВИЋ ЈУСТИНА
+МЛАДЕНОВИЋ МАРА
+МЛАДЕНОВИЋ МАРИНА
+МЛАДЕНОВИЋ МИХАЈЛО
+МЛАДЕНОВИЋ МИЛАН ДИПЛ ИНГ
+МЛАДЕНОВИЋ МИЛАН
+МЛАДЕНОВИЋ МИЛАН
+МЛАДЕНОВИЋ МИЛОРАД
+МЛАДЕНОВИЋ МИЛОРАД
+МЛАДЕНОВИЋ МИЛОВАН
+МЛАДЕНОВИЋ МИЛОВАН
+МЛАДЕНОВИЋ МЛАДЕН
+МЛАДЕНОВИЋ НАДЕЖДА
+МЛАДЕНОВИЋ НЕБОЈША
+МЛАДЕНОВИЋ-НИКОЛИЋ ГОРДАНА
+МЛАДЕНОВИЋ ОЛГА
+МЛАДЕНОВИЋ ПЕТАР
+МЛАДЕНОВИЋ РАДИВОЈ
+МЛАДЕНОВИЋ РАЈКО
+МЛАДЕНОВИЋ РАНКО
+МЛАДЕНОВИЋ РУЖИЦА
+МЛАДЕНОВИЋ САВА
+МЛАДЕНОВИЋ СЛОБОДАН
+МЛАДЕНОВИЋ СЛОБОДАН
+МЛАДЕНОВИЋ СРБИСЛАВКА
+МЛАДЕНОВИЋ ТИХОМИР
+МЛАДЕНОВИЋ ТОМИСЛАВ
+МЛАДЕНОВИЋ ТОМИСЛАВ
+МЛАДЕНОВИЋ УРОШ
+МЛАДЕНОВИЋ ВЕКОСЛАВ
+МЛАДЕНОВИЋ ВЕРИЦА
+МЛАДЕНОВИЋ ВОЈИСЛАВ
+МЛАДЕНОВИЋ ЗАГОРКА
+МЛАДЕНОВИЋ ЗОРАНА
+МЛАДЕНОВСКИ ЛОЗАНА
+МЛАДИН ИМРЕ
+МЛАДИН МАРГИТА
+МЛАЗЕВ ВАСИЛ
+МЛИНАР МУХАРЕМ
+МЛИНАР МУСТАФА
+МЛИНКО АМБРОЗИЈЕ
+МЛИНКО ДУШАН
+МЛИНКО ПЕТАР
+МЛИНКО ЗВОНИМИР
+МОЧ ЈЕЛЕНА
+МОЧ ЈОВАНКА
+МОШО ЈОЖЕФ
+МОШОРИНАЦ ЖИВКО
+МОШОРИНАЦ НЕНАД
+МОШОРИНСКИ ЗАГОРКА
+МОШОРИНСКИ ЗОРА
+МОЋАН ЈЕЛЕНА ДИПЛ ИНГ
+МОЖЕ ЕМИЛ
+МОЦИЋ МОМИР
+МОЦИК ЂУЛА
+МОЦИК ИРЕНКА
+МОЦКО ЈАН
+МОЦКО-МИЛАДИНОВИЋ ВИЕРА
+МОЦКО МИРОСЛАВ
+МОЦКО СТЕВАН
+МОЦНАИ ИРЕНА
+МОЦНИ ЈОВАН
+МОЦНИ МАРИЈА
+МОЦНИ СТЕВАН
+МОДЕЛСКИ БРАНИСЛАВА
+МОДИЋ МИЛЕНКО
+МОДИЋ МИЛЕНКО
+МОДИЋ МИЛИВОЈЕ
+МОДИЋ РАНКО
+МОДИЋ СЛОБОДАН
+МОДИЋ ТОМИСЛАВ
+МОДИЋ ТОМИСЛАВ
+МОДОШАНОВ МАРТА
+МОДОШАНОВ НИКОЛА
+МОДРАХ ВЛАДИМИР
+МОДРИ ШАНДОР
+МОДРИ ДРАГАН
+МОДРИ ЕВА
+МОДРИЋ ИЛИЈА
+МОДРИЋ СТАНКО
+МОДРИНИЋ МИЛИЦА
+МОДРОЊА ФЕХИМ
+МОФАРДИН СПАСЕНКА
+МОГА БРАНКО
+МОГА ЈОВАН
+МОГА МИЛАН ДР ЛЕКАР
+МОГА МЛАДЕН
+МОГА ПАЈА
+МОГА СТЕВАН
+МОГА ВЕРА
+МОГИЋ АЛЕКСАНДАР
+МОГИЋ БОРИСЛАВ
+МОГИЋ ГОРАНА
+МОГИН АЛЕКСАНДАР
+МОГИН АЛЕКСАНДАР
+МОГИН АЛЕКСАНДАР
+МОГИН БОРИСЛАВ
+МОГИН ИРИНА
+МОГИН ЈЕЛЕНА
+МОГИН ЈУЛИЈАНА
+МОГИН КСЕНИЈА
+МОГИН ЛАЗАР
+МОГИН ЉУБИША
+МОГИН МАРА
+МОГИН МИЛАНА
+МОГИН МИЛАН
+МОГИН ПАВЛЕ
+МОГИН ПАВЛЕ
+МОГИН ПАВЛЕ
+МОГИН ПЕТАР
+МОГИН РАДОМИР
+МОГИН РАДОМИР
+МОГИН ВИТОМИР
+МОХАЧИ АЛЕКСАНДАР
+МОХАЧИ ЛАСЛО
+МОХАН ДЕАНА
+МОХАН ЈОН
+МОХАН ПЕТАР
+МОХАН СМИЉАНА
+МОХОРА ЕМИЛИЈАН
+МОХОРИЋ ДАНИЦА
+МОХОРКО ИЛИЈА
+МОХОРКО ИЛИЈА
+МОХОРКО МАРГИТА
+МОХОРКО РАЈКО
+МОЈИЋ ДУШАН
+МОЈИЋ ДУШАН
+МОЈИЋ ИВАНКА
+МОЈИЋ МИЛИВОЈЕ
+МОЈИЋ МИЛОРАД
+МОЈИЋ МИТАР
+МОЈИЋ НИКОЛА
+МОЈИЋ НИКОЛА
+МОЈИЋ СЛАВКО
+МОЈИЋЕВИЋ ДЕСИМИР
+МОЈИН СОФИЈА
+МОЈСЕ КАТИЦА
+МОЈСЕ НАНДОР
+МОЈСЕЈЕВ АЛЕКСАНДАР
+МОЈСЕЈЕВ КОНСТАНТИН ДИПЛ ПХ
+МОЈСИЈЕВИЋ НИКОЛА
+МОЈСИЈЕВИЋ САВА
+МОЈСИЛОВ ДИМИТРИЈЕ
+МОЈСИЛОВ ДРАГАН
+МОЈСИЛОВ МИЛИСАВ
+МОЈСИЛОВИЋ МИЛОМИР
+МОЈСИЛОВИЋ ПЕТАР
+МОЈСИЛОВИЋ СЛАВИЦА
+МОЈСИЛОВИЋ ВЕРА
+МОЈСИЛОВИЋ ВИДОЈЕ
+МОЈСИН ДРАГОМИР
+МОЈСОВИЋ АЛЕКСАНДАР
+МОЈЗЕШ АЛФРЕД
+МОЈЗЕШ МАРИЈА
+МОКУШ ШАНДОР
+МОКУШ ИМРЕ
+МОКУШ ЈОВАН
+МОКУШ КАЛМАН
+МОКУШ ЛАСЛО
+МОКУШ ЛАСЛО
+МОКУШ ЛАСЛО
+МОКУШ МИКЛОШ
+МОКУШ ТИБОР
+МОКУШ ЗОЛТАН
+МОЛАЦ МИЛОРАД
+МОЛЦ КАТИЦА
+МОЛДОВАН ЉУБИНКА
+МОЛДОВАН МАРИЈА
+МОЛДОВАНОВ БОШКО
+МОЛДОВАНОВИЋ ЂОРЂЕ
+МОЛДВАИ ЕРВИН
+МОЛДВАИ ИЗАБЕЛА
+МОЛДВАИ ЛАСЛО
+МОЛДВАИ ОТО
+МОЛДВАЈ ФРАЊА
+МОЛДВАЈ ХИЛДА
+МОЛДВАЈ-ОЛАХ ЕМИЛИЈА
+МОЛДВАЈ РОЗАЛИА
+МОЛДВАЈ СТЕВАН
+МОЛДВАЈ ВИКТОР
+МОЛДВАЈИ ПРЕДРАГ
+МОЛЕРОВ РАДОВАН
+МОЉАЦ ЂОРЂЕ
+МОЉАЦ БРАНКА
+МОЉАЦ ГАВРА
+МОЉАЦ ГАВРА
+МОЉАЦ ЈОВАН
+МОЉАЦ ЈОВАН
+МОЉАЦ КАТИЦА
+МОЉАЦ МИЛИЦА
+МОЉАЦ МИОДРАГ
+МОЉАЦ НАДА
+МОЉАЦ ПАЈА
+МОЉАЦ СТЕВАН
+МОЉАЦ СТЕВАН
+МОЉАЦ ВЕРА
+МОЉСКИ МИРОСЛАВ
+МОЛКУЦ ПЕТАР ДИПЛ ИНГ
+МОЛКУЦ ВИРЂИНЕЛ
+МОЛНАР ШАНДОР
+МОЛНАР-ШТЕФУЛИК ИЛОНА
+МОЛНАР ЂОРЂЕ
+МОЛНАР АЛЕКСАНДАР
+МОЛНАР АНДРАШ
+МОЛНАР АНДРАШ
+МОЛНАР АНТОН
+МОЛНАР АРПАД
+МОЛНАР БРАНИСЛАВА
+МОЛНАР ДЕЖЕ
+МОЛНАР ЕМИЛИЈА
+МОЛНАР ЕМИЛИЈА
+МОЛНАР ЕВИЦА
+МОЛНАР ФЕОДОР
+МОЛНАР ФЕРЕНЦ ДИПЛ ИНГ
+МОЛНАР ИШТВАН
+МОЛНАР ИШТВАН
+МОЛНАР ИМРЕ ДР
+МОЛНАР ИМРЕ
+МОЛНАР ИМРЕ
+МОЛНАР ИРЕНА
+МОЛНАР ИВАН ДИПЛ ИНГ
+МОЛНАР ИВАН
+МОЛНАР ИВАН
+МОЛНАР ЈАКОВ
+МОЛНАР ЈАНОШ
+МОЛНАР ЈАН
+МОЛНАР ЈЕЛЕНА
+МОЛНАР ЈЕЛИЦА
+МОЛНАР ЈЕЛИСАВЕТА
+МОЛНАР ЈЕЛИСАВЕТА
+МОЛНАР ЈЕЛИСАВЕТА
+МОЛНАР ЈОЖЕФ
+МОЛНАР ЈОЖЕФ
+МОЛНАР ЈОЖЕФ
+МОЛНАР ЈОЖЕФ
+МОЛНАР ЈОЖЕФ
+МОЛНАР ЈОЛАНКА
+МОЛНАР ЈОСИП
+МОЛНАР ЈОСИП
+МОЛНАР ЈОСИП
+МОЛНАР ЈОСИП
+МОЛНАР ЈОВАН
+МОЛНАР КАРЛО
+МОЛНАР КАТАЛИН
+МОЛНАР ЛАСЛО
+МОЛНАР ЛАЗАР
+МОЛНАР МАЋАШ
+МОЛНАР МАРИЈА ДР
+МОЛНАР МАРТА ДР
+МОЛНАР МАТИЛДА
+МОЛНАР МИХАЈЛО
+МОЛНАР МИХАЉ
+МОЛНАР МИХАЉ
+МОЛНАР МИХАЉ
+МОЛНАР МИХАЉ
+МОЛНАР МИЛАН
+МОЛНАР МИРОН
+МОЛНАР НИКОЛА
+МОЛНАР СПОМЕНКА
+МОЛНАР СВЕТОСЛАВ
+МОЛНАР ТЕРЕЗА
+МОЛНАР ВЕРА
+МОЛНАР ВИЛМОШ ДИПЛ ИНГ
+МОЛНАР ВЈЕРА
+МОЛНАР ВЛАДИМИР
+МОЛНАР ЗВОНКО
+МОМЧИЛОВ ДОБРИЈА
+МОМЧИЛОВ ГАВРИЛО
+МОМЧИЛОВ ГАВРИЛО
+МОМЧИЛОВ СТЕВАН
+МОМЧИЛОВИЋ ЧЕДОМИР
+МОМЧИЛОВИЋ БОГОМИР
+МОМЧИЛОВИЋ БРАНКО ДР
+МОМЧИЛОВИЋ ДАНЕ
+МОМЧИЛОВИЋ ДРАГАН
+МОМЧИЛОВИЋ ДУШАНКА
+МОМЧИЛОВИЋ ИЛИЈА
+МОМЧИЛОВИЋ МИХАЈЛО
+МОМЧИЛОВИЋ МИЛАН
+МОМЧИЛОВИЋ МИЛАН
+МОМЧИЛОВИЋ МИЛЕ
+МОМЧИЛОВИЋ МИРА
+МОМЧИЛОВИЋ МИРА
+МОМЧИЛОВИЋ МОМЧИЛО
+МОМЧИЛОВИЋ ПЕТАР
+МОМЧИЛОВИЋ РУЖИЦА
+МОМЧИЛОВИЋ СМИЉА
+МОМЧИЛОВИЋ ТОМИСЛАВ
+МОМЧИЛОВИЋ ВАСА
+МОМЧИЛОВИЋ ВИДАН
+МОМЧИЛОВИЋ ВОЈИСЛАВ
+МОМЧИЛОВИЋ ВУКИЦА
+МОМАНИ АКРАМ
+МОМИЋ ОБРАД
+МОМИРОВ ИЛИЈА
+МОМИРОВ ЉИЉАНА
+МОМИРОВ МИЛЕНКО
+МОМИРОВ МИЛЕТА
+МОМИРОВ МИРОСЛАВ
+МОМИРОВ НАДА
+МОМИРОВ ПАЈА
+МОМИРОВ САВА
+МОМИРОВ СВЕТЛАНА
+МОМИРОВ СВЕТОЗАР
+МОМИРОВ ТОША
+МОМИРОВ ЗОРИЦА
+МОМИРОВИЋ БРАНКО
+МОМИРОВИЋ ЈЕЛИЦА
+МОМИРОВИЋ ЈОВИЦА
+МОМИРОВИЋ ЛАЗА
+МОМИРОВИЋ ПЕТАР
+МОМИРОВИЋ СРЕЋКО
+МОМИРОВИЋ СТЕВАН
+МОМИРОВСКИ-МИЛОШЕВИЋ ЦВЕТАНА
+МОНАР ЈАНКО
+МОНАРЕВ АЛЕКСАНДАР
+МОНАРЕВ ЈОСИПА
+МОНАРЕВ-СОКОЛИЋ НАДА
+МОНАРОВ ЕЛИЗАБЕТА
+МОНАРОВ ЈОЗЕФИНА
+МОНДОВИЋ ЂУЛА
+МОНДОВИЋ АЛЕКСАНДАР
+МОНДОВИЋ ФРАЊА
+МОНДОВИЋ КАТИЦА
+МОНДОВИЋ ЛАДИСЛАВ
+МОНГЕЈАР РАДОСАВА
+МОНИ ИСЛАМ
+МОНОКИ ЂУЛА
+МОНОКИ ИШТВАН
+МОР ЂЕРЂ
+МОР ФРАЊА
+МОР ГАБОР
+МОР ГАБОР
+МОР ЛАСЛО
+МОР ЗДЕНКО
+МОРА АНА
+МОРА АНДРАШ
+МОРА КОРНЕЛИЈА
+МОРАЧА ЂУРАЂ
+МОРАЧА МИОДРАГ
+МОРАЧА НИКОЛА
+МОРАЧА РАДМИЛА
+МОРАЧА ВАСО
+МОРАЧА ВАСО
+МОРАЧАНИН МИЛОРАД
+МОРАИЋ ЂОРЂЕ
+МОРАРЕВИЋ ЉУБИЦА
+МОРАРЕВИЋ ВОЈКАН
+МОРАВАЦ ВОЈИСЛАВ
+МОРАВЕК ЈАНКО
+МОРЕ МАРИЈА
+МОРЕ СИЛВЕСТЕР
+МОРГЕНТАЛЕР ЈОВАН
+МОРИЋ ХАМО
+МОРИЦ ДРАГУТИН
+МОРИЦ ГАБОР
+МОРИЦ ЈАНОШ
+МОРИЦ ЈЕЛЕНА
+МОРИЦ ЈУЛИЈА
+МОРИЦ КАРЛО
+МОРИЦ ЛАЈОШ
+МОРИЦ ЛАСЛО
+МОРИЦ ЛАСЛО
+МОРИЦ ЛИДИЈА
+МОРИЦ МИЛАНА
+МОРИЦ ПАУЛА
+МОРИЦ СИЛАРД
+МОРИЦ СЛАВИЦА
+МОРИЦ ЗОЛТАН
+МОРОШЕВ РАДОСЛАВ
+МОРОКВАШИЋ БОГДАНКА
+МОРОКВАШИЋ МИЛИСАВ
+МОРОКВАШИЋ НЕНАД
+МОРОКВАШИЋ НИКОЛА
+МОРОМИЛОВ ЉУБИНКА
+МОРОТВАНСКИ ВИДОСАВА
+МОРОВИЋ МАТИЛДА
+МОРОВИЋ МИЛЕНА
+МОРОВИЋ НЕСТОР
+МОРОВИЦ ЛАСЛО
+МОРВАИ ШАНДОР
+МОРВАИ ЂЕРЂ
+МОРВАИ ФЕРЕНЦ
+МОРВАИ ЈАНОШ
+МОРВАИ КАРЛО
+МОРВАИ ЛАДИСЛАВ
+МОРВАИ ПЕТАР
+МОСИЋ МИОДРАГ
+МОСКАЉ ЉУБОМИР
+МОСКАЉ НИКОЛА
+МОСКАЉ НИКОЛА
+МОСКАЉ РАДМИЛА
+МОСКВАЉ САВКА
+МОСЛОВАЦ КАТАРИНА
+МОСНАК АНДРИЈА
+МОСНАК ПАВЕЛ
+МОСТАРАЦ ЈЕЛЕНА
+МОСТАРСКИ СЛАВИЦА
+МОСТИЋ РАДМИЛА
+МОСУРОВИЋ МИЛИЈАНА
+МОТОК ЂОРЂЕ
+МОТОК БРАНКО
+МОТОРОЖЕСКУ АУРОРА
+МОВРИН ИВАН
+МОЗЕТИЋ МЛАДЕН
+МРЧАРИЦА ЗОРАН
+МРША МИЛЕНКА
+МРШИЋ ЂОРЂЕ
+МРШИЋ БОГДАН
+МРШИЋ ДУШАН
+МРШИЋ МАРКО
+МРШИЋ МИЛЕ
+МРШО АНТО
+МРШУЉА НИКОЛА
+МРШУЉА РАДОМИР
+МРЂА БОШКО
+МРЂА БОГДАН
+МРЂА МАНЕ
+МРЂА МИЛКАН
+МРЂА МИРОСЛАВ
+МРЂА СТЕВАН
+МРЂА ЗОРАН
+МРЂАН ДУШАН
+МРЂАН МИХАЈЛО
+МРЂАН РУЖИЦА
+МРЂАН САВА
+МРЂАН САВА
+МРЂАН СТЕВАН
+МРЂАН СТЕВАН
+МРЂАНИН ВЛАДИСЛАВ
+МРЂАНОВ ЖАРКО
+МРЂАНОВ АНИЦА
+МРЂАНОВ КСЕНИЈА
+МРЂАНОВ ЛАЗА
+МРЂАНОВ МАРИНКО
+МРЂАНОВ МЕЛАНИЈА
+МРЂАНОВ МИРОСЛАВ
+МРЂАНОВ МОМЧИЛО
+МРЂАНОВ НЕМАЊА
+МРЂАНОВ НОВИЦА
+МРЂАНОВ ПРОКА
+МРЂАНОВ СМИЉА
+МРЂАНОВ ВУКОСАВА
+МРЂАНОВ ЗДРАВКО
+МРЂЕН ИЛИЈА
+МРЂЕН ЈЕЛЕНА
+МРЂЕН ЛАЗАР
+МРЂЕН МИРКО
+МРЂЕН ВЕЉКО
+МРЂЕНОВ КАТИЦА
+МРЂЕНОВИЋ БРАНИСЛАВ
+МРЂЕНОВИЋ БРАНКО
+МРЂЕНОВИЋ ЉУБОМИР
+МРЂЕНОВИЋ НЕБОЈША
+МРЂЕНОВИЋ ПЕТАР
+МРЂЕНОВИЋ ВАСО
+МРАЧАЈАЦ ЦВИЈО
+МРАЧАЈАЦ ДЕЈАН
+МРАЋЕВИЋ РАДИВОЈ
+МРАКОВИЋ БОЖИДАР
+МРАКОВИЋ ЉУБАН
+МРАКОВИЋ СЛОБОДАНКА
+МРАОВИЋ-БАХУН МИЛИЈАНА
+МРАОВИЋ ДРАГАН
+МРАОВИЋ ДУШАН
+МРАОВИЋ КАТИЦА
+МРАОВИЋ МАРКО
+МРАОВИЋ ОЛГА ДР ПРАВНИК
+МРАОВИЋ СЛОБОДАН
+МРАОВИЋ СТОЈАН
+МРАТИНКОВИЋ БОРИС ДР ЛЕКАР
+МРАТИНКОВИЋ ДУШАН ДР
+МРАТИНКОВИЋ ЉУБИЦА
+МРАВИК ЖИВКА
+МРАВИК ЂУРА
+МРАВИК ПАВЛЕ
+МРАЗ АНДРИЈА
+МРАЗЕК БЕРНАРДО
+МРАЗОВИЋ ЈОСИП
+МРАЗОВИЋ МИЛАНА
+МРАЗОВИЋ МИЛАН
+МРАЗОВИЋ НЕВЕНКА
+МРДАК ЂОРЂЕ
+МРДАК МИРАШ
+МРДАКОВИЋ БОРИСАВ
+МРДАКОВИЋ МИЛУТИН
+МРДАКОВИЋ ВЕРИЦА
+МРДАКОВИЋ ВУКОСАВ
+МРДАЉ ПЕТАР
+МРДИЋ КАРОЛИНА
+МРДИЋ МАРКО
+МРДИЋ САЊА
+МРГАНИЋ ЈОЗО
+МРГАНИЋ СРЕЋКО
+МРГИЋ МИРЈАНА
+МРКШИЋ ЂОРЂЕ
+МРКШИЋ АЛЕКСАНДАР
+МРКШИЋ БОЈАНА
+МРКШИЋ ДРАГАН
+МРКШИЋ ДРАГАН
+МРКШИЋ ЈЕЛЕНА
+МРКШИЋ ЈОЦА
+МРКШИЋ ЈОЦА
+МРКШИЋ КОСТА
+МРКШИЋ МИЛОШ
+МРКШИЋ НЕНАД
+МРКШИЋ СЛАВИЦА
+МРКШИЋ ЗАГОРКА
+МРКШИЋ ЗЛАТА
+МРКАИЋ ГОРАН
+МРКАИЋ СИМА
+МРКАИЋ ТОМИСЛАВ
+МРКАЉ БОЖИДАР
+МРКЕЛА МИРА
+МРКЕЛА ВОЈИН
+МРКИЋ БРАНИСЛАВ
+МРКИЋ МИЛКА МР ПХ
+МРКИЋ НИКОЛА
+МРКИЋ СМИЉА
+МРКОЈЕВИЋ КОСТА
+МРКОЈЕВИЋ МАРИЈА
+МРКОЊЕВ ДРАГАН
+МРКОЊИЋ ЖИВОЈИН
+МРКОВАЧКИ ЈЕЛЕНА
+МРКОВАЧКИ МИЛОШ
+МРКОВАЧКИ МИЛОВАН
+МРКОВИЋ МЛАДЕН
+МРКУШИЋ МИЛИЦА
+МРКУШИЋ МИЛИЦА
+МРКУШИЋ РАДИВОЈ
+МРКУШИЋ СТЕВАН
+МРМОШ МИЛАН
+МРНУШТИК СТЕВАН
+МРВИЋ НЕДЕЉКО
+МРВИЋ САВА
+МРВИЋ СТЕВАН
+МРВИЋ ВУКОМИР
+МРВИЦА РУЖИЦА
+МРВОШ ЈОВАН
+МРВОШ МИХАИЛО
+МРВОШ МИЛАНКА
+МУЧАЛИЦА ДРАГОЉУБ
+МУЧАЛО СЛАВИЦА
+МУЧАЛОВ СЛОБОДАН
+МУЧАЛОВИЋ ДУШКО
+МУЧЕНСКИ ЉУБОМИР
+МУЧЕНСКИ НИКОЛА
+МУЧЕНСКИ ВЛАДИМИР
+МУЧИ ЂЕРЂ ДИПЛ ИНГ
+МУЧИ АНДРАШ
+МУЧИ ФРАЊА
+МУЧИ ИЛОНА
+МУЧИ ИЛОНКА
+МУЧИ ЈОЖЕФ
+МУЧИ ЈОЖЕФ
+МУЧИБАБИЋ МИРЈАНА
+МУЧИБАБИЋ НАТАЛИЈА
+МУЧИБАБИЋ РАДОВАН
+МУЧИБАБИЋ РАДОВАН
+МУЧИБАБИЋ САВО
+МУЧИБАБИЋ ВЕРА
+МУЧУ ЈОВАН
+МУЧУ НИКОЛА
+МУШАН МАРИЈА
+МУШИЋ ФРАЊА
+МУШИЦКИ ЋИРА
+МУШИЦКИ ЖИВАН
+МУШИЦКИ ЖИВАН
+МУШИЦКИ ЖИВАН
+МУШИЦКИ ЂОРЂЕ
+МУШИЦКИ ЂОРЂЕ
+МУШИЦКИ БОГДАН
+МУШИЦКИ БОЈАНА
+МУШИЦКИ БРАНИСЛАВ
+МУШИЦКИ БРАНКА
+МУШИЦКИ ДОРОТЕЈА
+МУШИЦКИ ДРАГАН
+МУШИЦКИ ДРАГОСЛАВ
+МУШИЦКИ ДУШАН
+МУШИЦКИ ДУШАН
+МУШИЦКИ ДУШАН
+МУШИЦКИ ЕВИЦА
+МУШИЦКИ ЈОВАН
+МУШИЦКИ ЛАЗАР
+МУШИЦКИ МАРИЈА
+МУШИЦКИ МИЛАНА
+МУШИЦКИ МИЛЕНКО
+МУШИЦКИ МИЛИЦА
+МУШИЦКИ МИЛИЦА
+МУШИЦКИ МИЛОРАД
+МУШИЦКИ НАТАША
+МУШИЦКИ НОВАК
+МУШИЦКИ ПРОКА
+МУШИЦКИ СЛАВКО
+МУШИЦКИ СЛАВКО
+МУШИЦКИ СОФИЈА
+МУШИЦКИ СТЕВАН
+МУШИЦКИ ВЕЉКО
+МУШИКИЋ БОЖИДАР
+МУШИКИЋ ЉУБИЦА
+МУШИКИЋ РАДОМИР
+МУШИКИЋ РАТКО
+МУШКИЊА БАРИЦА
+МУШКИЊА МИРКО
+МУЖЕК ВИДА
+МУЖИЈЕВИЋ РИСТО
+МУЖИК БИЉАНА
+МУЖИК МАТА
+МУЖИКА-ТОТ ЗОЛТАН
+МУЖЛАИ ШАНДОР
+МУЦ ЗЛАТОМИР
+МУЦИ ЈАНОШ
+МУДРЕНИЋ МАРИЈА
+МУДРЕНИЋ РАДИСЛАВ
+МУДРИ ЕУГЕН
+МУДРИ ЈОАКИМ
+МУДРИ ЉУБИЦА
+МУДРИ МИРОСЛАВ
+МУДРИ ПЕТАР
+МУДРИ ПЕТАР
+МУДРИ ВЕРА ДР ВЕТЕРИНЕ
+МУДРИ ВЛАДА
+МУДРИ ВЛАДИМИР
+МУДРИ ВЛАДИМИР
+МУДРИЋ ЂУРА
+МУДРИЋ ДРАГОЉУБ
+МУДРИЋ ЉУБОМИР ДИПЛ ИНГ
+МУДРИЋ ПЕТАР
+МУДРИЋ СЛАВКА
+МУДРИНИЋ БОШКО
+МУДРИНИЋ БОШКО
+МУДРИНИЋ БРАНКО
+МУДРИНИЋ ГОЈКО
+МУДРИНИЋ МАЈА
+МУДРИНИЋ МИХАЈЛО
+МУДРИНИЋ МИЛАН
+МУДРИНИЋ МИЛЕВА
+МУДРИНИЋ МЛАДЕН
+МУДРИНИЋ ПЕТАР ДР
+МУДРИНИЋ СЛАВКО
+МУДРИНИЋ СПАСЕНКА
+МУДРИНИЋ СТЕВО
+МУДРИНИЋ СТОЈАН
+МУДРИНИЋ ВЛАДИМИР
+МУДРИНИЋ ВОЈИН
+МУДРИНСКИ ЂОРЂЕ
+МУДРИНСКИ АЛЕКСАНДАР
+МУДРИНСКИ АЛЕКСАНДАР
+МУДРИНСКИ БОРИСЛАВ
+МУДРИНСКИ БОСИЉКА
+МУДРИНСКИ ИВАНКА
+МУДРИНСКИ ЛАЗАР
+МУДРИНСКИ МИЛАН
+МУДРИНСКИ МИЛЕТА
+МУДРИНСКИ МИЛОШ
+МУДРИНСКИ МИРОСЛАВ
+МУДРИНСКИ ОЛГА
+МУДРИНСКИ ПЕТАР
+МУДРИНСКИ САВА
+МУДРИНСКИ СОФИЈА
+МУДРИНСКИ СТЕВАН
+МУДРИНСКИ ВОЈИСЛАВ
+МУГОША МИЛО
+МУХА ЗУЗАНА
+МУХАРЕМИ ФУАД
+МУХАРЕМСКИ-БЕЋИРОВИЋ РЕМЗИЈА
+МУХАРИ ЛАЈОШ
+МУХИ БЕЛА
+МУЈАНОВИЋ САФЕТ
+МУЈАНОВИЋ СЛОБОДАН
+МУЈАНОВИЋ СВЕТЛАНА
+МУЈЕЗИНОВИЋ АЛМАС
+МУЈЕЗИНОВИЋ ИРЕНА
+МУЈЕЗИНОВИЋ ЗЛАТАН
+МУЈИЋ МИЛАН
+МУЈКАНОВИЋ САЛИХ
+МУЈКИЋ ШЕФИК
+МУЈКИЋ ХАЈРУДИН
+МУЈКИЋ ИЛДУЗА
+МУЈКИЋ ИЗУДИН
+МУЈКИЋ ЈАКУБ
+МУЈКИЋ МЕХМЕД
+МУК-САМАРЏИЋ ЕМА
+МУЛАИ МАТИЈА
+МУЛАЈ ЕСТИКА
+МУЛАЈ КАТИЦА
+МУЛИЋ КАТАРИНА
+МУЛИЋ МИОДРАГ
+МУЛИЋ МИРОСЛАВ
+МУЛИЋ ПЕТАР
+МУЛИЋ РАДМИЛО
+МУЛИЋ СВЕТИСЛАВ
+МУЛИЋ ВЕЉКО
+МУЛИЋ ЗОРАН
+МУМЏИЋ ХАЗИР
+МУМИН АЛЕКСАНДАР
+МУМИН НИКОЛА
+МУМИНАГИЋ АЛИДА
+МУМИНОВИЋ АЛИМ
+МУМИНОВИЋ ХАМЕД
+МУМОВИЋ АНДРИЈА
+МУМОВИЋ ЈОВА
+МУМОВИЋ САВА
+МУНЋАН ЂОРЂЕ
+МУНЋАН ЂОРЂЕ
+МУНЋАН ЂОРЂЕ
+МУНЋАН АЛЕКСАНДАР
+МУНЋАН АНГЕЛИНА
+МУНЋАН БОШКО
+МУНЋАН БОШКО
+МУНЋАН ДРАГАН
+МУНЋАН ДРАГОЉУБ
+МУНЋАН ДУШАН
+МУНЋАН ЈОВАН ДР
+МУНЋАН ЈОВАН
+МУНЋАН ЛАЗАР
+МУНЋАН ЛАЗА
+МУНЋАН МИЛЕНКО
+МУНЋАН РАДОВАН
+МУНЋАН СЛАВКО
+МУНЋАН СОФИЈА
+МУНЋАН ТОДОР
+МУНЋАН ВАСА
+МУНЋАН ВЕСЕЛИН
+МУНЋАН ВЛАДИМИР
+МУНЋАН ЗОРА
+МУНЏИЋ ЖИВОЈИН
+МУНЏИЋ БОГДАН
+МУНЏИЋ МИРЈАНА
+МУНЏИЋ ПЕТАР
+МУНДИНГ ЕТЕЛКА
+МУНИШИЋ ЈОВАН
+МУНИЖАБА ЂОРЂЕ ДИПЛ ИНГ
+МУНИЖАБА БРАНИСЛАВ
+МУНИЖАБА ЈОВАН
+МУНИЖАБА КАТИЦА
+МУНИЖАБА ЛАЗАР
+МУНИЖАБА МИЛЕНКО
+МУНИЖАБА ВЕДРАНА
+МУНИТЛАК ДРАГАН
+МУЊАС БОЖИДАР
+МУЊАС ДМИТАР
+МУЊАС МИЛАН
+МУЊАС СИМКА
+МУЊАС СТАНА
+МУЊИН ЖИВКО
+МУЊИН АЛЕКСАНДАР
+МУЊИН-БАНИЋ ОЛГА ДИПЛ ПРАВНИК
+МУЊИН КАЈИЦА
+МУЊИН ЛАЗАР
+МУЊИН ПЕТАР
+МУЊИН СМИЉА
+МУЊИЗА ЖЕЉКО
+МУЊИЗА ЈОВАНКА
+МУНК ЂОРЂЕ
+МУНКА ДУШАНКА
+МУНКАЧИ МИХАЈЛО
+МУНТЕАН ИЛИЈА
+МУНТЕАН ТОДОР
+МУНЗАР ВЕРА
+МУРАТИ МИЉАЗИМ
+МУРАТИ СТАНА
+МУРАТОВИЋ ИБРАХИМ
+МУРАТОВИЋ ЈОВО
+МУРАТОВИЋ МИКА
+МУРАТОВИЋ РАДЕНКО
+МУРАТОВИЋ САБРИЈА
+МУРГАШКИ БРАНКА
+МУРГАШКИ ДАНИЦА
+МУРГАШКИ ДОБРЕН
+МУРГАШКИ ДУШАН
+МУРГАШКИ ЈОВАН
+МУРГАШКИ ЉУБИНКА
+МУРГАШКИ МАТИЈА
+МУРГАШКИ МИХАЈЛО
+МУРГАШКИ МИЛИЦА
+МУРГАШКИ МИЛОШ
+МУРГАШКИ МИЛОРАД
+МУРГАШКИ МИРОСЛАВ
+МУРГАШКИ НЕНАД
+МУРГАШКИ НОВАК
+МУРГАШКИ ПЕТАР
+МУРГАШКИ САВА
+МУРГАШКИ СЕВЕР
+МУРГАШКИ СЛОБОДАН ДР
+МУРГАШКИ СВЕТОЗАР
+МУРГАШКИ ВУКОСАВА
+МУРГУЛ ЉУБОМИР
+МУРГУЛОВИЋ МОМИР
+МУРИЋ СЛАВКО
+МУРИЋ СТЕВАН
+МУРИЋ ВЕЉКО
+МУРИЊИ ЈОСИП
+МУРИЊИ КАТИЦА
+МУРИЊИ МИЛЕВА
+МУРИЊИ СТОЈАНКА
+МУРПХУ МИРЈАНА
+МУРСЕЛИ МИРЧЕ
+МУРСЕЛИ НЕЗИР
+МУРСЕЛОВИЋ НАЗИФ
+МУРСЕЛОВИЋ РАИФ
+МУСА ИВАНКА
+МУСА ЈЕЛИЦА
+МУСАФИЈА БЛАНКА
+МУСИЋ ШАБАНИЈА
+МУСИЋ ШЕМСА
+МУСИЋ КАТИЦА
+МУСИЋ МИРКО
+МУСИЋ РАДОЈКА
+МУСИЋ ЗОРАН
+МУСИН КАЛМАН
+МУСОВСКИ ИСА
+МУСТАФИЋ БРАНКА
+МУСТАФИЋ ХАРИЗ
+МУСТАФИЋ МИЛИЦА
+МУСТАФИЋ СЕДАТ
+МУСТАФОСКИ БЕДРИЈА
+МУСТЕДАНАГИЋ ЕСАД
+МУСУЛИН ГОРКИ
+МУСУЛИН МИЛОРАД
+МУСУЛИН СЛАВКО
+МУТАБЏИЈА МИЛОВАН
+МУТАВЧИЕВ ИВАН
+МУТАВЏИЋ-ГИОН МАРИЈА
+МУТАВЏИЋ МИЛАН
+МУТАВЏИЋ МИЛАН
+МУТАВЏИЋ МИЛОШ
+МУТАВЏИЋ РАТКО
+МУТАВЏИЋ ТОМИСЛАВ
+МУТАВЏИЋ ВЕЉКО
+МУТАВЏИЋ ЗЛАТА
+МУТАВЏИЈА МИРЈАНА
+МУТИЋ ЖИВКО
+МУТИЋ БРАНКО
+МУТИЋ ДУШАН
+МУТИЋ ДУШАН
+МУТИЋ ДУШАН
+МУТИЋ ДУШИЦА
+МУТИЋ КАМЕНКО
+МУТИЋ ЉИЉАНА
+МУТИЋ РАДОСЛАВ
+МУТИЋ СМИЉА
+МУТИБАРИЋ АЛЕКСАНДАР ДР
+МУТИБАРИЋ АЛЕКСАНДАР
+МУТИБАРИЋ ДРАГОЉУБ
+МУТИБАРИЋ ИРЕНА
+МУТИБАРИЋ ЛИБУША
+МУТИБАРИЋ МИЛАН
+МУТИБАРИЋ МИЛЕ
+МУТИБАРИЋ НАТАША
+МУТИБАРИЋ СТЕВАН
+МУТИБАРИЋ ТОДОР
+МУТИН ЂОРЂЕ
+МУТИН ЕМИЛ
+МУТИН ЗДРАВКО
+МУЗАЛЕВСКИ АЛЕКСАНДАР
+МУЗЕКА МАРИЈАНА
+МУЗЕР ФРАЊА
+МУЗЕР МИРОСЛАВ
+МУЗЕР РАДОСЛАВ
+МУЗИКРАВИЋ БЛАЖО
+МУЗИКРАВИЋ ЉУБОМИР ДР
+НАЧ АНДРИЈА
+НАЧА ЈАНОШ
+НАЧА ЈОСИП
+НАЧА ОТИЛИЈА
+НАШИГАЋИН МИЛЕНКО
+НАЋУК АЛЕКСАНДАР
+НАЋУК ИРИНА
+НАЂ ЧОНГОР
+НАЂ ЧОНГОР
+НАЂ ШАНДОР
+НАЂ ШАНДОР
+НАЂ ЂЕРЂ
+НАЂ-АБОЊИ ГАБОР
+НАЂ АЛЕКСАНДАР
+НАЂ АНА
+НАЂ АНГЕЛА
+НАЂ БАРБАРА
+НАЂ БЕЛА
+НАЂ БРАНКА
+НАЂ ДЕЖЕ
+НАЂ-ДОРОТИЋ МАРИЈА
+НАЂ ДРАГИСЛАВ
+НАЂ ДУШАНКА
+НАЂ ЕРЖЕБЕТ
+НАЂ ЕТЕЛ
+НАЂ ЕУФЕМИЈА
+НАЂ ФЕРЕНЦ
+НАЂ ФЕРЕНЦ
+НАЂ ФЕРЕНЦ
+НАЂ ФЕРЕНЦ
+НАЂ ФЕРЕНЦ
+НАЂ-ФОРКАШ КАТИЦА
+НАЂ ФРАЊА
+НАЂ ФРАЊА
+НАЂ ФРАЊА
+НАЂ ГЕОРГИНА
+НАЂ ГИЗЕЛА
+НАЂ-ХЕВЕШИ ЛАСЛО
+НАЂ ИШТВАН
+НАЂ ИШТВАН
+НАЂ ИЛОНА
+НАЂ ИМРЕ
+НАЂ ИРИНА
+НАЂ ИВАН
+НАЂ ЈАНОШ
+НАЂ ЈАНОШ
+НАЂ ЈОЖЕФ
+НАЂ ЈОЖЕФ
+НАЂ ЈОЖЕФ
+НАЂ ЈОЖЕФ
+НАЂ ЈОСИП
+НАЂ ЈОСИП
+НАЂ ЈОСИП
+НАЂ ЈОСИП
+НАЂ ЈОСИП
+НАЂ ЈОСИП
+НАЂ ЈОВАНКА
+НАЂ ЈОВАН
+НАЂ КАРЛО
+НАЂ КАРОЉ
+НАЂ КАРОЉ
+НАЂ КАТАРИНА
+НАЂ ЛАДИСЛАВ
+НАЂ ЛАЈОШ
+НАЂ ЛАЈОШ
+НАЂ ЛАСЛО ДИПЛ ИНГ
+НАЂ ЛАСЛО
+НАЂ ЛАСЛО
+НАЂ ЛАСЛО
+НАЂ ЛАСЛО
+НАЂ ЛАСЛО
+НАЂ ЛЕОНА
+НАЂ ЛЕОНА
+НАЂ ЉУБИЦА
+НАЂ МАРГАРЕТА
+НАЂ МАРИЈА
+НАЂ МАРИЈА
+НАЂ МАРТОН
+НАЂ-МЕЉКУТИ ЕДИТ
+НАЂ МИХАЈЛО
+НАЂ МИХАЉ
+НАЂ МИРА
+НАЂ МИРА
+НАЂ МИРА
+НАЂ МИРЈАНА
+НАЂ НАНДОР
+НАЂ НАНДОР
+НАЂ НЕВЕНКА
+НАЂ НИКОЛА
+НАЂ НОВИЦА
+НАЂ ОТО
+НАЂ ОТО
+НАЂ ПАВЛЕ
+НАЂ ПАВЛЕ
+НАЂ ПЕТАР
+НАЂ ПЕТАР
+НАЂ ПЕТАР
+НАЂ ПЕТЕР
+НАЂ ПИРОШКА
+НАЂ ПИРОШКА
+НАЂ-ПОПОВ ЦЕЦИЛИЈА
+НАЂ РОЗА
+НАЂ СЛАВКО
+НАЂ СТЕВАН
+НАЂ СТЕВАН
+НАЂ СВЈАТОСЛАВ
+НАЂ-ТАНАСКОВИЋ ЈУЛИЈА
+НАЂ ТИБОР
+НАЂ ВАСИЛИЈЕ
+НАЂ ВЕРОНА
+НАЂ ВИКТОРИЈА
+НАЂ ВЛАДИМИР
+НАЂ ВЛАДИМИР
+НАЂ ВЛАДИМИР
+НАЂ ВЛАДИМИР
+НАЂ ЗЛАТИМИР
+НАЂ ЗОЛТАН
+НАЂАЛИН БРАНКО
+НАЂАЛИН ИСА
+НАЂБАБИ ФЕРЕНЦ
+НАЂБАБИ ФЕРЕНЦ
+НАЂБАБИ ИГОР
+НАЂБАБИ ИВКА
+НАЂБАБИ ЈАНИКА
+НАЂЕРЂ ИЛОНКА
+НАЂГЕЛЕРТ ЈАНОШ
+НАЂХЕЂЕШИ ФРАЊА
+НАЂХЕЂЕШИ ЈОВАН
+НАЂХЕЂЕШИ ЛАДИСЛАВ
+НАЂИДАИ КАРОЉ
+НАЂМЕЉКУТИ КЛАРА
+НАЂМИЋО ВЕСЕЛИНА
+НАЂОРЂ САША
+НАЂПАЛ ИРЕНКА
+НАЂВИНСКИ КСЕНИЈА
+НАЂВИНСКИ ПЕТАР
+НАЦЕВ ГРУЈО
+НАДАШКИ ЛАЗАР
+НАДАШКИ МИЛИВОЈ
+НАДАШКИ МИРОСЛАВ
+НАДАШКИЋ КАТИЦА
+НАДАЖДИ РУЖИЦА
+НАДАРЕВИЋ БОРИС
+НАДБАНДИЋ СВЕТИСЛАВ ДИПЛ ИНГ
+НАДБАНТИЋ НАДА
+НАДИХ ФРИДРИХ
+НАДИХ МИРКО
+НАДЛАЧКИ АЛЕКСАНДАР
+НАДЛАЧКИ МИЛОЈЕ
+НАДЛАЧКИ РАДИВОЈ
+НАДЛАЧКИ РАДОВАН
+НАДЛАЧКИ СТЕВКА
+НАДЛУКАЧ МАРИЈА
+НАДРЉАНСКИ ЂОРЂЕ
+НАДРЉАНСКИ ДАНИЛКА
+НАДРЉАНСКИ ЉИЉАНА
+НАДРЉАНСКИ ЉУБИША
+НАДРЉАНСКИ МИЛИВОЈ
+НАДРЉАНСКИ СЛОБОДАН
+НАДРЉАНСКИ СТЕВАН
+НАЕРАЦ СЛОБОДАН
+НАГЛИЋ СЛАВКО
+НАГРАДИЋ ЈЕЛЕНА
+НАГРАДИЋ ЉУБИЦА
+НАХЛОВСКИ ЈОЖЕФ
+НАЈБАУЕР ИВАН
+НАЈДАНОВ ГЕОРГИ
+НАЈДАНОВ ИВАН
+НАЈДЕК ВИНКО
+НАЈДОВСКИ ТОМИСЛАВ
+НАЈДОВСКИ ТОМИСЛАВ
+НАЈИЋ АНКИЦА
+НАЈИЋ МИЛЕНКО
+НАЈИЋ ЗОРИЦА
+НАЈВИРТ ГОТФРИД
+НАЈВИРТ ЈОВАН
+НАКАРАДА ДАРИНКА
+НАКАРАДИЋ ЉУБО
+НАКИЋ ДРАГАН
+НАКИЋ ИВАН
+НАКИЋ ЈАЊА
+НАКИЋ ЉУБИНКА
+НАКИЋ РАДОВАН
+НАКИЋ СТЕВАН
+НАКОМЧИЋ ЗОРКА
+НАКОВ ЈОРДАН
+НАЛИЋ ДРАГИЦА
+НАЛИЋ ЕНИСА
+НАМЕСНИК ОЛГА
+НАМЛИЂИ ФЕРИДА
+НАНАШИ ЖОЛТ
+НАНАШИ АГАТА
+НАНАШИ ЈУЛИЈАНА
+НАНИЋ ЂОКА
+НАНОВСКИ ВЛАДИМИР
+НАНОВСКИЈ АЛЕКСАНДАР
+НАОДОВИЋ ПАВЛЕ
+НАРАИ ФЕРЕНЦ
+НАРАНЧИЋ ИЛОНКА
+НАРАНЧИЋ МИЛЕ
+НАРАНЧИЋ МИЛЕ
+НАРАНЧИЋ МИЛОРАД
+НАРАНЧИЋ НАДА
+НАРАНЧИЋ ПЕТАР
+НАРАНЧИЋ ПЕТАР
+НАРАНЧИЋ ПЕТАР
+НАРАНЧИЋ ПЕТАР
+НАРАНЧИЋ САВА
+НАРАНЧИЋ СТЕВАН
+НАРАНЧИЋ СТЕВАН
+НАРАНЧИЋ СУЗАНА
+НАРАНЧИЋ ВЛАДИМИР
+НАРАНЏИЋ ДАРКО
+НАРАНЏИЋ ЕВА
+НАРАНЏИЋ МИЛАН
+НАРАНЏИЋ МИРЈАНА
+НАРАНЏИЋ ВЕРА
+НАРИЋ НЕДЕЉКО
+НАС ЂЕРЂ
+НАС ФЕРЕНЦ
+НАС ФРАЊА
+НАС КАРЛО
+НАСКОВИЋ БЛАЖА
+НАСКОВИЋ ЗОРКА
+НАСОВ МИЛИВОЈ
+НАСТАСИЋ ДРАГАН
+НАСТАСИЋ ИВАН
+НАСТАСИЋ ЈЕЛЕНА
+НАСТАСИЋ ЉИЉАНА
+НАСТАСИЋ ПАВЛЕ
+НАСТАСИЋ РАДОСЛАВ
+НАСТАСИЋ СТЕВАН ДР ЛЕКАР
+НАСТАСИЋ ТАТЈАНА
+НАСТАСИЋ ТЕОДОР
+НАСТАСИЈЕВИЋ МИРОСЛАВ
+НАСТАСОВИЋ МЛАДЕН
+НАСТАСОВИЋ ТОНЧА
+НАСТЕВИЋ ТОДОР
+НАСТИЋ ИРЕНА
+НАСТИЋ ЛЕПОСАВА
+НАСТИЋ МИХАИЛО
+НАСТИЋ МИЛЕНА
+НАСТИЋ МИЛИЦА
+НАСТИЋ МИРЈАНА
+НАСТИЋ НИКОЛЕТА
+НАСТИЋ ОЛГА
+НАСТИЋ РАДЕ
+НАСТИЋ РАДИСАВ
+НАСТИЋ РАДОМИР
+НАСТИЋ РАТОМИР
+НАСТИЋ СВЕТОЗАР
+НАСТИЋ ВЛАДА
+НАСТИЋ ЗОРАН ДР ЛЕКАР
+НАСТОВ КИРО
+НАСТОВСКИ ДРАГО
+НАТОШЕВИЋ ДЕЈАН
+НАУМОВ ЂОРЂЕ
+НАУМОВ БРАНКА
+НАУМОВ ДРАГОЉУБ
+НАУМОВ КАТАРИНА
+НАУМОВ КАТАРИНА
+НАУМОВ МИЛЕНА
+НАУМОВ МИЛИВОЈ
+НАУМОВ СТЕВАН
+НАУМОВИЋ ЈЕЛИЦА
+НАУМОВИЋ МИЛИВОЈ ДР
+НАУМОВИЋ НИКОЛА
+НАУМОВИЋ СЛОБОДАН
+НАУМОВСКИ МИРКО
+НАУМОВСКИ НИКОЛА
+НАУМОВСКИ СОЊА
+НАУМОВСКИ СТОЈАН
+НАУМОВСКИ ТАНАС
+НАУНКОВИЋ БОГДАНКА
+НАУНКОВИЋ СИНИША
+НАВАЛА НИКОЛА
+НАВАЛУШИЋ ЈУЛИЈАНА
+НАВАЛУШИЋ ВОЈИН
+НАВРАТИЛ ЂУРА
+НАВРАТИЛ ЈОСИП
+НАВРАТИЛ ЈОСИП
+НАВРАТИЛ СЛОБОДАН
+НАВРАТИЛ ЗДЕНКО
+НАВРАТИЛ ЗОРАН
+НАЗДРАВЕЦКИ АНДРАШ
+НЕЧОВСКИ ДИМИТРИЈЕ
+НЕШЕВИЋ АНЂЕЛКА
+НЕШЕВИЋ АНЂЕЛКО
+НЕШИЋ АЦА
+НЕШИЋ АЛЕКСАНДАР
+НЕШИЋ АЛЕКСАНДАР
+НЕШИЋ БОЖИДАР
+НЕШИЋ БРАНИСЛАВ ДР
+НЕШИЋ БРАНИСЛАВ
+НЕШИЋ ДИМИТРИЈЕ
+НЕШИЋ ДУШАН
+НЕШИЋ ЈЕФТА
+НЕШИЋ ЈОВАН
+НЕШИЋ ЈОВАН
+НЕШИЋ ЈОВАН
+НЕШИЋ ЈОВАН
+НЕШИЋ КОСАНА
+НЕШИЋ ЛЕНКА
+НЕШИЋ ЛЕОНИД
+НЕШИЋ ЉИЉАНА
+НЕШИЋ МАРЈАН
+НЕШИЋ МИЛАН
+НЕШИЋ МИЛАН
+НЕШИЋ МИЛАН
+НЕШИЋ МИЛЕНКО
+НЕШИЋ МИЛИЦА
+НЕШИЋ МИЛИВОЈ
+НЕШИЋ МИЛКА
+НЕШИЋ МИЛОРАД
+НЕШИЋ МИРА
+НЕШИЋ МИРКО
+НЕШИЋ МИРОСЛАВА
+НЕШИЋ МЛАДЕН
+НЕШИЋ МЛАДЕН
+НЕШИЋ НЕДЕЉКО
+НЕШИЋ ПЕТАР
+НЕШИЋ РАДИСАВ
+НЕШИЋ САВЕТА
+НЕШИЋ СИМЕОН
+НЕШИЋ СЛАВКО
+НЕШИЋ СЛАВОЈКА
+НЕШИЋ ТОДОР
+НЕШИЋ ВЛАДИМИР
+НЕШИН ЖАРКО
+НЕШИН ЈОВАНА
+НЕШИН ЈОВАН
+НЕШИН МАРКО
+НЕШИН СТЕВАН
+НЕШКОВ ДРАГОСЛАВ ДР
+НЕШКОВ СТАНИСЛАВ
+НЕШКОВ ВОЈИСЛАВ
+НЕШКОВИЋ ЂУРЂА
+НЕШКОВИЋ АЛЕКСАНДАР
+НЕШКОВИЋ ДРАГАН
+НЕШКОВИЋ ИРЕНА
+НЕШКОВИЋ ЈЕЛЕНА
+НЕШКОВИЋ ЉУБИША
+НЕШКОВИЋ МИХАИЛО
+НЕШКОВИЋ МИЛАН
+НЕШКОВИЋ МИЛИЈАН
+НЕШКОВИЋ МИЛИСАВ
+НЕШКОВИЋ МИЛИВОЈЕ
+НЕШКОВИЋ МИЛКА
+НЕШКОВИЋ МИЛОВАН
+НЕШКОВИЋ МИТА
+НЕШКОВИЋ НЕШКО
+НЕШКОВИЋ ПЕРИЦА
+НЕШКОВИЋ ПЕТАР
+НЕШКОВИЋ РАДИСАВ
+НЕШКОВИЋ РАДОМИР
+НЕШКОВИЋ РАДОЊА
+НЕШКОВИЋ РЕЈМОНД
+НЕШКОВИЋ РУЖИЦА
+НЕШКОВИЋ СТЕВАН
+НЕШКОВИЋ-ЗДРАВИЋ ВЕРИЦА
+НЕШОВИЋ ДЕСАНКА
+НЕШОВИЋ ДРАГАН ДИПЛ ИНГ
+НЕШОВИЋ ДРАГАНА
+НЕШОВИЋ ДРАГАН
+НЕШОВИЋ ИВАНКА
+НЕШОВИЋ МИЛОВАН
+НЕШОВИЋ ПРЕДРАГ
+НЕШОВИЋ РАДОМИР
+НЕШОВИЋ РУЖИЦА
+НЕШОВИЋ ТРИВКА
+НЕШТИЦКИ ЈОСИП
+НЕШТИЦКИ ЈОСИП
+НЕШТИЦКИ МИЛИЦА
+НЕШТИЦКИ СТЕВАН
+НЕЋАК ЂОРЂЕ
+НЕЋАК АЛЕКСАНДАР
+НЕЋАК БРАНКО
+НЕЋАК-КОРАЋ АНЂЕЛКА
+НЕЋАК СТЕВАН
+НЕЋАК ВЕРА
+НЕЋАК ЗДРАВКО
+НЕЋАКОВ МАРИЈА
+НЕЋАКОВ МИЛАН
+НЕЋАКОВ МИЛКА
+НЕЋАКОВ СИМА
+НЕЋАКОВ СЛОБОДАН
+НЕЖИЋ ДАМИР
+НЕАТНИЦА ДУШАН
+НЕАТНИЦА РАДИВОЈ ДИПЛ ИНГ
+НЕБЕСНИ БОРИС
+НЕБОЈША СОФИЈА
+НЕБРИГИЋ ЈОВИЦА
+НЕБРИГИЋ РАТКО
+НЕЦЕВ ДРАГОЉУБ
+НЕЦИЋ ДРАГОЉУБ
+НЕЦИЋ ТОША
+НЕЦИН ЖИВИЦА
+НЕЦИН СТЕВА
+НЕЦИН ВОЈА
+НЕЦИН ЗЛАТОМИР
+НЕЦКОВ ДРАГИЊА
+НЕЦКОВ ГОРАН
+НЕЦКОВ КАТИЦА
+НЕЦКОВ ЛАЗАР
+НЕЦКОВ ЛОЗИНКА
+НЕЦКОВ МАРИЈА
+НЕЦКОВ МИРЈАНА
+НЕЦКОВ МОМЧИЛО
+НЕЦКОВ НИКОЛА
+НЕДЕЉКОВ ЖИВКО
+НЕДЕЉКОВ ЖИВКО
+НЕДЕЉКОВ ЂОРЂЕ
+НЕДЕЉКОВ ЂОРЂЕ
+НЕДЕЉКОВ ЂОРЂЕ
+НЕДЕЉКОВ АНЂЕЛКА
+НЕДЕЉКОВ АНКА
+НЕДЕЉКОВ ДЕСАНКА
+НЕДЕЉКОВ ДРАГАН
+НЕДЕЉКОВ ДРАГИЊА
+НЕДЕЉКОВ ДУШАН
+НЕДЕЉКОВ ИЛИЈА
+НЕДЕЉКОВ ИРЕНА
+НЕДЕЉКОВ ИВАН
+НЕДЕЉКОВ ЈЕЛЕНА
+НЕДЕЉКОВ ЈОВАН
+НЕДЕЉКОВ ЈОВАН
+НЕДЕЉКОВ ЈУЛИЈАНА
+НЕДЕЉКОВ КАТИЦА
+НЕДЕЉКОВ КРСТА
+НЕДЕЉКОВ ЛАЗАР ДИПЛ ИНГ
+НЕДЕЉКОВ ЛИНА
+НЕДЕЉКОВ ЉИЉАНА
+НЕДЕЉКОВ ЉУБИЦА
+НЕДЕЉКОВ ЉУБИЦА
+НЕДЕЉКОВ МАРИЈА
+НЕДЕЉКОВ МАРИЈА
+НЕДЕЉКОВ МАРКО
+НЕДЕЉКОВ МИЛАН
+НЕДЕЉКОВ МИЛАН
+НЕДЕЉКОВ МИЛИВОЈ
+НЕДЕЉКОВ МИЛОШ
+НЕДЕЉКОВ МИРЈАНА
+НЕДЕЉКОВ МИРКО
+НЕДЕЉКОВ МИРОСЛАВА
+НЕДЕЉКОВ МИТА
+НЕДЕЉКОВ ОЛГА
+НЕДЕЉКОВ ОЛГА
+НЕДЕЉКОВ РАДЕ
+НЕДЕЉКОВ РАДИВОЈ
+НЕДЕЉКОВ РАДОЈКА
+НЕДЕЉКОВ РАДОМИР
+НЕДЕЉКОВ СИНИША
+НЕДЕЉКОВ СТЕВАН
+НЕДЕЉКОВ ТЕОДОРА
+НЕДЕЉКОВ ТОМИСЛАВ
+НЕДЕЉКОВ ВИНКА
+НЕДЕЉКОВ ВОЈИСЛАВ
+НЕДЕЉКОВИЋ ЖИВКО
+НЕДЕЉКОВИЋ ЖИВКО
+НЕДЕЉКОВИЋ ЖИВКО
+НЕДЕЉКОВИЋ ЖИВОЈИН
+НЕДЕЉКОВИЋ ЂОРЂЕ
+НЕДЕЉКОВИЋ ЂОРЂЕ
+НЕДЕЉКОВИЋ АЛЕКСАНДАР
+НЕДЕЉКОВИЋ АЛЕКСАНДАР
+НЕДЕЉКОВИЋ АНДРИЈА
+НЕДЕЉКОВИЋ БОГОМИР
+НЕДЕЉКОВИЋ БОРИСЛАВ ДИПЛ ИНГ
+НЕДЕЉКОВИЋ БОРКА
+НЕДЕЉКОВИЋ БОСИЉКА
+НЕДЕЉКОВИЋ ДАРИНКА
+НЕДЕЉКОВИЋ ДОБРИЛА
+НЕДЕЉКОВИЋ ДОБРИНКА
+НЕДЕЉКОВИЋ ДРАГАН
+НЕДЕЉКОВИЋ ЈАДРАНКА
+НЕДЕЉКОВИЋ ЈЕЛЕНА
+НЕДЕЉКОВИЋ ЈОРДАН
+НЕДЕЉКОВИЋ ЈОВАН
+НЕДЕЉКОВИЋ ЈОВАН
+НЕДЕЉКОВИЋ ЈУГОСЛАВ
+НЕДЕЉКОВИЋ ЈУЛКИЦА
+НЕДЕЉКОВИЋ ЈУСТА
+НЕДЕЉКОВИЋ ЛЕПОСАВА
+НЕДЕЉКОВИЋ ЉУБОМИР
+НЕДЕЉКОВИЋ МАРКО
+НЕДЕЉКОВИЋ МИЛАН
+НЕДЕЉКОВИЋ МИЛАН
+НЕДЕЉКОВИЋ МИЛАН
+НЕДЕЉКОВИЋ МИЛЕНКО
+НЕДЕЉКОВИЋ МИЛИЈА
+НЕДЕЉКОВИЋ МИЛИСАВ
+НЕДЕЉКОВИЋ МИЛОЈКА
+НЕДЕЉКОВИЋ МИЛОЈКА
+НЕДЕЉКОВИЋ МИЛУТИН
+НЕДЕЉКОВИЋ МИРЈАНА
+НЕДЕЉКОВИЋ МИРОСЛАВ
+НЕДЕЉКОВИЋ МИРОСЛАВ
+НЕДЕЉКОВИЋ НЕБОЈША
+НЕДЕЉКОВИЋ НИКОЛА
+НЕДЕЉКОВИЋ ПАВА
+НЕДЕЉКОВИЋ РАДОЈИЦА
+НЕДЕЉКОВИЋ РАДОМИР
+НЕДЕЉКОВИЋ РАДОВАН
+НЕДЕЉКОВИЋ СИМА
+НЕДЕЉКОВИЋ СИМА
+НЕДЕЉКОВИЋ СЛАВКО
+НЕДЕЉКОВИЋ СЛОБОДАНКА
+НЕДЕЉКОВИЋ СЛОБОДАНКА
+НЕДЕЉКОВИЋ СЛОБОДАН
+НЕДЕЉКОВИЋ СОФИЈА
+НЕДЕЉКОВИЋ СРЕТА
+НЕДЕЉКОВИЋ СТАНИМИР
+НЕДЕЉКОВИЋ СТЕВАН
+НЕДЕЉКОВИЋ СТЕВАН
+НЕДЕЉКОВИЋ СТЕВАН
+НЕДЕЉКОВИЋ СВЕТИСЛАВ
+НЕДЕЉКОВИЋ СВЕТИСЛАВ
+НЕДЕЉКОВИЋ СВЕТОЗАР
+НЕДЕЉКОВИЋ ВЕРА
+НЕДЕЉКОВИЋ ВЕРИЦА
+НЕДЕЉКОВИЋ ВЛАДИСЛАВ ДР
+НЕДЕЉКОВИЋ ВОЈИСЛАВ
+НЕДЕЉКОВИЋ ВУЧКО
+НЕДЕЉКОВИЋ ЗАГОРКА
+НЕДЕЉКОВИЋ ЗЛАТА
+НЕДИЋ ШПИРО
+НЕДИЋ БИЉАНА
+НЕДИЋ БОРИСЛАВ
+НЕДИЋ БОРЈАНКА
+НЕДИЋ ДАРИНКА
+НЕДИЋ ДЕСАНКА ПРОФЕСОР
+НЕДИЋ ДРАГОСЛАВ
+НЕДИЋ ЈЕЛЕНА
+НЕДИЋ ЈЕЛИСАВЕТА
+НЕДИЋ ЈОВАН ДИПЛ ИНГ
+НЕДИЋ ЈОВАН
+НЕДИЋ КАТИЦА
+НЕДИЋ КАТИЦА
+НЕДИЋ ЛАЗАР
+НЕДИЋ ЛАЗАР
+НЕДИЋ ЛАЗАР
+НЕДИЋ ЛАЗАР
+НЕДИЋ ЉУБИЦА
+НЕДИЋ МЕЛАНИЈА
+НЕДИЋ МИЛАН
+НЕДИЋ МИЛАН
+НЕДИЋ МИЛАН
+НЕДИЋ МИЛЕНКО
+НЕДИЋ МИЛОШ
+НЕДИЋ МИЛОЈЕ
+НЕДИЋ МИЛОВАН
+НЕДИЋ МИРОСЛАВ
+НЕДИЋ МЛАДЕН
+НЕДИЋ НЕНАД
+НЕДИЋ НИКОЛА
+НЕДИЋ ПЕТАР
+НЕДИЋ РАДОШ
+НЕДИЋ РАДОМИР
+НЕДИЋ РАДОСЛАВ
+НЕДИЋ РАДОСЛАВ
+НЕДИЋ САВА
+НЕДИЋ СМИЉА
+НЕДИЋ СНЕЖАНА
+НЕДИЋ-СРЕМАЦ НАДА
+НЕДИЋ СТЕВАН
+НЕДИЋ ВЕРА
+НЕДИЋ ВИДА
+НЕДИЋ ВЛАДИМИР
+НЕДИЋ ЗЛАТОЈЕ
+НЕДИЋ ЗОРАН
+НЕДИМОВИЋ БОЖО
+НЕДИМОВИЋ ДРАГАН
+НЕДИМОВИЋ ГОРДАНА
+НЕДИНИЋ СРЕТЕН
+НЕДИНИЋ ЗОРАН
+НЕДОМАЧКИ МИЛАН
+НЕДОМАЧКИ СТЕВАН
+НЕДОВИЋ АНКИЦА
+НЕДОВИЋ МИРО
+НЕДОВИЋ МИРО
+НЕДОВИЋ ВЛАДО
+НЕДУЧИЋ СВЕТОЗАР
+НЕДУЧИН АЛЕКСАНДАР
+НЕДУЧИН ДРАГИЦА
+НЕДУЧИН ЛАЗАР ДИПЛ ИНГ
+НЕДУЧИН МИЛЕНА
+НЕДВИДЕК БОРИС ДР
+НЕГЛИЋ ЂОРЂЕ
+НЕГЛИЋ КАТИЦА
+НЕГОВАНОВИЋ ЖИВКО
+НЕГОВАНОВИЋ БРАНКО
+НЕГОВАНОВИЋ ЛАЗАР
+НЕГРУ БИСЕРКА
+НЕГУШЕВИЋ ПАЈА
+НЕЈГЕБАУЕР АЛЕКСАНДАР ДР ПРОФ
+НЕМЧАНИН ЂУРЂИЦА
+НЕМЧАНИН МАРИЈА
+НЕМЧАНИН МИРЈАНА
+НЕМЧЕВ БОРИВОЈ
+НЕМЧЕВ ДУШКО
+НЕМЧЕВ ЈЕЛЕНА
+НЕМЧЕВ НИКОЛА
+НЕМЧЕВ СРБИНКО
+НЕМЧЕВИЋ МАРКО
+НЕМЧЕВИЋ ПЕТАР
+НЕМА ВАЛЕРИЈА
+НЕМЕЧЕК РОЖА
+НЕМЕШ ЈЕЛА
+НЕМЕШ СЛОБОДАНКА
+НЕМЕЦ АНТУН
+НЕМЕЦ АНТУН
+НЕМЕЦ ЕМАНУЕЛ
+НЕМЕЦ ЉУДМИЛА
+НЕМЕТ ШАНДОР
+НЕМЕТ АНДРИЈА
+НЕМЕТ АНТАЛ
+НЕМЕТ АНТАЛ
+НЕМЕТ АНТАЛ
+НЕМЕТ АРПАД
+НЕМЕТ БОРИСЛАВКА
+НЕМЕТ ДЕЖЕ
+НЕМЕТ ДЕЈАН
+НЕМЕТ ЕРНЕСТ
+НЕМЕТ ГЕРГЕЉ
+НЕМЕТ ГЕЗА ДР
+НЕМЕТ ГЕЗА
+НЕМЕТ ИШТВАН
+НЕМЕТ ИШТВАН
+НЕМЕТ ИШТВАН
+НЕМЕТ ИЛОНА
+НЕМЕТ ИЛОНА
+НЕМЕТ ИЛОНКА
+НЕМЕТ ЈУЛИЈАНА
+НЕМЕТ КАРЛО
+НЕМЕТ КАРЛО
+НЕМЕТ КАТИЦА
+НЕМЕТ ЛАЈОШ
+НЕМЕТ ЛАСЛО
+НЕМЕТ ЛАСЛО
+НЕМЕТ ЉИЉАНА
+НЕМЕТ МАРИЈАНА
+НЕМЕТ МАРИЈА
+НЕМЕТ МАРИЈА
+НЕМЕТ МИХАЉ
+НЕМЕТ МИЛКА
+НЕМЕТ МИРЈАНА
+НЕМЕТ-МУЧИ МАРИЈА
+НЕМЕТ ОЛИВЕРА
+НЕМЕТ ОТО
+НЕМЕТ ПЕТАР
+НЕМЕТ РОЗАЛИЈА
+НЕМЕТ РУДОЛФ
+НЕМЕТ СТЕВАН
+НЕМЕТ СТОЈАНКА
+НЕМЕТ ТИБОР
+НЕМЕТ ВИОЛЕТА
+НЕМЕТ ЗОЛТАН
+НЕМЕТ ЗОЛТАН
+НЕМЕТХ ИРЕНА
+НЕНАД СИМО
+НЕНАДИЋ МИЛАН
+НЕНАДИЋ МИЛЕНКО
+НЕНАДИЋ МИЛОРАД
+НЕНАДИЋ РАТКО
+НЕНАДОВ ЖИВКО
+НЕНАДОВ АМАЛИЈА
+НЕНАДОВ АНКА
+НЕНАДОВ БРАНИСЛАВ
+НЕНАДОВ ДРАГОМИР
+НЕНАДОВ ЈЕВРОСИМА
+НЕНАДОВ КАМЕНКО
+НЕНАДОВ КОСТА ДИПЛ ИНГ
+НЕНАДОВ МИЛЕНКО
+НЕНАДОВ МИЛЕНКО
+НЕНАДОВ ОЛГА
+НЕНАДОВ ПЕТАР
+НЕНАДОВ РАЈКО
+НЕНАДОВ СТЕВАН
+НЕНАДОВ ВОЈИСЛАВ
+НЕНАДОВИЋ БОРИСЛАВ
+НЕНАДОВИЋ ДАНИЦА
+НЕНАДОВИЋ ДРАГИЦА
+НЕНАДОВИЋ ДУШАН
+НЕНАДОВИЋ ЈУЛКИЦА
+НЕНАДОВИЋ МИХАЈЛО
+НЕНАДОВИЋ МИЛЕНКО ДР
+НЕНАДОВИЋ МИТАР
+НЕНАДОВИЋ ПАНТА
+НЕНАДОВИЋ ПЕТАР
+НЕНАДОВИЋ СЛАВНА
+НЕНАДОВИЋ СЛОБОДАН
+НЕНАДОВИЋ ВАСИЛИЈЕ
+НЕНЕЗИЋ ЂОРЂЕ
+НЕНЕЗИЋ ДАРКО
+НЕНЕЗИЋ МИРОСЛАВ
+НЕНЕЗИЋ РАДЕНКО
+НЕНЕЗИЋ РАДИСАВ
+НЕНИЋ ЂОРЂЕ
+НЕНИЋ БРАНИМИР
+НЕНИЋ САВА
+НЕНИЋ ВЕРА
+НЕНИЋ ВЕРИЦА
+НЕНИН ЖИВКО
+НЕНИН ДЕЈАН
+НЕНИН ДРАГИЊА
+НЕНИН ДРАГОМИР
+НЕНИН ЈАСЕНКА
+НЕНИН ЛЕНКА
+НЕНИН МАРА
+НЕНИН МИЛАН
+НЕНИН МИЛИЦА
+НЕНИН МИЛИЦА
+НЕНИН МИЛОРАД
+НЕНИН МИРКО
+НЕНИН РАЈКО
+НЕНИН САВА
+НЕНИН СЛАВКО
+НЕНИН ТОМИСЛАВ
+НЕНИН ВАСА
+НЕОФИТОВИЋ ДЕЈАН
+НЕПИЛ АНТУН
+НЕПОКОЈЧИЦКИ АЛЕКСАНДАР
+НЕРА ОРЛЕАНА
+НЕРАЦ МЛАДИНКО
+НЕРАЦ ПЕРО
+НЕРАЦ СЛОБОДАН
+НЕРАНЧИЋ НИКОЛА
+НЕРАНЏИЋ БОШКО
+НЕРАНЏИЋ БРАНИСЛАВ
+НЕРАНЏИЋ ЈАСМИНА
+НЕРАНЏИЋ МАКСИМ
+НЕРАНЏИЋ НЕВЕНКА
+НЕРАНЏИЋ СТОЈАНКА
+НЕРЕР ЂУРА
+НЕРЕР АЛЕКСАНДАР
+НЕРТИЦА СТЕВАН
+НЕСКАЛИЋ ЕВГЕНИЈЕ
+НЕСКАЛИЋ ЛЕОНАРДО
+НЕСТОРОВ ЖЕЉКО
+НЕСТОРОВ АЛЕКСАНДАР
+НЕСТОРОВ ДРАГОЉУБ
+НЕСТОРОВ ЛАЗАР
+НЕСТОРОВ МИЛАН ДИПЛ ИНГ
+НЕСТОРОВ МИРКО
+НЕСТОРОВ СЛОБОДАН
+НЕСТОРОВИЋ ЖИВОТА
+НЕСТОРОВИЋ БИЉАНА
+НЕСТОРОВИЋ БЛАГОЈЕ
+НЕСТОРОВИЋ БОЈАНА
+НЕСТОРОВИЋ БОРИС
+НЕСТОРОВИЋ ДРАГАН
+НЕСТОРОВИЋ ДРАГОЉУБ
+НЕСТОРОВИЋ ДРАГУТИН
+НЕСТОРОВИЋ ДУШАНКА
+НЕСТОРОВИЋ ГАВРА
+НЕСТОРОВИЋ ИСА
+НЕСТОРОВИЋ ЉИЉАНА
+НЕСТОРОВИЋ МИЛЕ
+НЕСТОРОВИЋ НАДА
+НЕСТОРОВИЋ НАДЕЖДА
+НЕСТОРОВИЋ РАДМИЛА
+НЕСТОРОВИЋ РАДОВАН
+НЕСТОРОВИЋ САВА
+НЕСТОРОВИЋ СЛАВИЦА
+НЕСТОРОВИЋ СЛОБОДАН
+НЕСТОРОВИЋ ВЛАДИМИР
+НЕСТОРОВИЋ ВЛАДИМИР
+НЕВАЈДИЋ ВЕЛИМИР
+НЕВИДОВЧИЋ ЉУБИЦА
+НЕВИДОВЧИЋ МИЛКА
+НЕВИДОВЧИЋ САВА
+НЕВОЛИЋ АНИЦА
+НЕЗИРИ АРИФ
+НЕЗИРОВ АЉИЉ
+НЕЗИРОВ ВЕЛИЧКО
+НИЧИЋ НАДА
+НИЧИЋ ПРЕДРАГ
+НИШАВИЋ КРИСТИНА
+НИШАВИЋ МИЛУТИН
+НИШАВИЋ ПАВЛЕ
+НИШАВИЋ РАДОСЛАВ
+НИШЕВИЋ ЂОРЂЕ
+НИШЕВИЋ ЂУРА
+НИШЕВИЋ ЈОВИЦА
+НИШЕВИЋ КАТИЦА
+НИШЕВИЋ ОЛГА
+НИШЕВИЋ САВА
+НИШИЋ ДРАГАН
+НИШИЋ МЛАЂЕН
+НИШКАНОВИЋ БОШКО
+НИШКАНОВИЋ ЉУПКО
+НИШКАНОВИЋ МИРКО
+НИЋЕТИЋ ЉУБОМИР
+НИЋЕТИЋ МИРА
+НИЋИФОРОВИЋ ЈОВАН
+НИЋИФОРОВИЋ ПЕРА
+НИЋИФОРОВИЋ ПЕТАР
+НИЋИФОРОВИЋ ТЕОДОР
+НИЋИН ЂОРЂЕ
+НИЋИН АЛЕКСАНДАР
+НИЋИН БРАНИСЛАВ
+НИЋИН ДОНКА
+НИЋИН ДУШКО
+НИЋИН МИРОСЛАВ
+НИЋИН НЕВЕНКА
+НИЋИН НИЋИФОР ДИПЛ ИНГ
+НИЋИН СНЕЖАНА
+НИЋИН СОФИЈА
+НИЋИН СВЕТОЗАР
+НИЋИН ВАСИЛИЈЕ
+НИЋИН ВЕРИЦА
+НИЋИН ЗОРА
+НИЦИЋ ДАРКО
+НИДЕРЛЕНДЕР ЂОРЂЕ
+НИДЕРЛЕНИЋ ЗОРАНА
+НИЈЕМЧЕВИЋ НИКОЛА
+НИКЧЕВИЋ БОШКО
+НИКЧЕВИЋ ЈОВАН
+НИКЧЕВИЋ ЉУБОМИР
+НИКЧЕВИЋ МОМО
+НИКЧЕВИЋ РАТКО
+НИКЧЕВИЋ СТАНА
+НИКШИЋ ЖИВКО
+НИКШИЋ ЂУРА
+НИКШИЋ ЦВЕТОЗАР
+НИКШИЋ ДАРКО
+НИКШИЋ ДРАГИЊА
+НИКШИЋ ДРАГОЉУБ
+НИКШИЋ ДУШАНКА
+НИКШИЋ ФРАЊА
+НИКШИЋ ИСА
+НИКШИЋ ЈУЛИЈА
+НИКШИЋ МИЛАН
+НИКШИЋ МИРКО
+НИКШИЋ МЛАДЕН
+НИКШИЋ СТЕВАН
+НИКШИЋ ВЕСНА
+НИКАЧЕВ РАДОВАН
+НИКАЧЕВ РАДОВАН
+НИКАЧЕВИЋ МИХОВИЛ
+НИКАЧЕВИЋ РАДОМАН
+НИКАШИНОВИЋ ЉИЉАНА
+НИКАШИНОВИЋ ЉУБИЦА
+НИКЕТИЋ ГОРДАНА
+НИКЕТИЋ ГОСПАВА
+НИКЕТИЋ ЈЕФТА
+НИКЕТИЋ КАТИЦА
+НИКЕТИЋ НЕБОЈША ДР
+НИКЕТИЋ ПЕТАР
+НИКЕТИЋ САША
+НИКЕТИЋ СИМА
+НИКЕТИЋ СЛОБОДАН
+НИКЕТИЋ ВЛАДИМИР
+НИКЕЗИЋ МИЛА
+НИКЕЗИЋ ПЕТАР
+НИКЕЗИЋ РОКСАНДА
+НИКИЋ БРАНИСЛАВА
+НИКИЋ БРАНИСЛАВ
+НИКИЋ БУДИМИР
+НИКИЋ ДАЈАНА
+НИКИЋ ДРАГАН
+НИКИЋ ЈОВАНКА
+НИКИЋ ЈОВО
+НИКИЋ ЈОВО
+НИКИЋ КАТИЦА
+НИКИЋ ЛАЗАР
+НИКИЋ МАРИНКО
+НИКИЋ МИЛАН
+НИКИЋ МИЛЕ
+НИКИЋ МИЛУТИН
+НИКИЋ МИОДРАГ
+НИКИЋ МИРЈАНА
+НИКИЋ НАДА
+НИКИЋ НАТАША
+НИКИЋ НЕВЕНКА
+НИКИЋ РАДМИЛА
+НИКИЋ РАДОМИР
+НИКИЋ РАДОМИР
+НИКИЋ РАДОМИР
+НИКИЋ САЊА
+НИКИЋ САВА
+НИКИЋ ВЛАДИМИР
+НИКИЋ ЗДРАВКО
+НИКИЋ ЗЛАТА
+НИКИЋ ЗОРА
+НИКИЋ ЗОРКА
+НИКИН БОРИСЛАВ
+НИКИН РАДОМИР
+НИКИН ВЕРА
+НИКИТИШИН НАДА
+НИКИТОВИЋ ЧЕДОМИР
+НИКИТОВИЋ АЛЕКСАНДАР
+НИКИТОВИЋ АНГЕЛИНА
+НИКИТОВИЋ БОЖО
+НИКИТОВИЋ ДУШАН
+НИКИТОВИЋ ДУШАН
+НИКИТОВИЋ МИХАЈЛО
+НИКИТОВИЋ МИЛИЈАНКА
+НИКИТОВИЋ РАДА
+НИКИТОВИЋ РАДОЈИЦА
+НИКИТОВИЋ СЛОБОДАН
+НИКОЧЕВ ЗОРИЦА
+НИКОДИЈЕВИЋ ДУШАН
+НИКОДИЈЕВИЋ ЕНЕСА
+НИКОДИЈЕВИЋ РАДОЈКО
+НИКОДИЈЕВИЋ РАТОМИР
+НИКОДИНОВСКИ СТОЈАН ДИПЛ ИНГ
+НИКОЛЧИЋ БЛАЖО
+НИКОЛЧИЋ ДРАГАН
+НИКОЛЧИЋ СВЕТЛАНА
+НИКОЛЧИН МИЛОШ
+НИКОЛЧИН МИРЈАНА
+НИКОЛАШЕВ БОРИВОЈ
+НИКОЛАШЕВ ЈОВА
+НИКОЛАШЕВ ЉУБОМИР
+НИКОЛАШЕВ МАТИЛДА
+НИКОЛАШЕВ НАДА
+НИКОЛАЈЕВ ЈЕЛЕНА
+НИКОЛАЈЕВ ЛАЗАР
+НИКОЛАЈЕВ МИЛИЦА
+НИКОЛАЈЕВИЋ ДИМИТРИЈЕ
+НИКОЛАЈЕВИЋ ДУШАН
+НИКОЛАЈЕВИЋ ИРЕНА
+НИКОЛАЈЕВИЋ МИЛИВОЈ АКАДЕМСКИ СЛИКАР
+НИКОЛАЈЕВИЋ НИКОЛА
+НИКОЛАЈЕВИЋ РАДИВОЈ
+НИКОЛАЈЕВИЋ ВОЈИСЛАВ
+НИКОЛАЈЕВСКИ АЛЕКСАНДАР
+НИКОЛЕТИЋ БОРА
+НИКОЛЕТИЋ ДРАГАН
+НИКОЛЕТИЋ ДУШАНКА
+НИКОЛЕТИЋ ДУШАН
+НИКОЛЕТИЋ ДУШАН
+НИКОЛЕТИЋ ЈОВАНКА
+НИКОЛЕТИЋ ЈОВАН
+НИКОЛЕТИЋ ЈОВАН
+НИКОЛЕТИЋ ЈОВАН
+НИКОЛЕТИЋ ЈОВАН
+НИКОЛЕТИЋ МИЛАН
+НИКОЛЕТИЋ МИЛОШ
+НИКОЛЕТИЋ МИЛОВАН
+НИКОЛЕТИЋ СИМО
+НИКОЛЕТИЋ СТЕВАН
+НИКОЛЕТИЋ СВЕТОЗАР
+НИКОЛЕТИЋ ВИД
+НИКОЛЕТИЋ ЗОРАН
+НИКОЛИЧИН БРАНКО
+НИКОЛИЧИН ДАНИЛО
+НИКОЛИЧИН ЗОРАН
+НИКОЛИШ ДРАГУТИН
+НИКОЛИШ ЕВИЦА
+НИКОЛИШ МИЛАН
+НИКОЛИЋ-ЧАЊИ БАРБАРА
+НИКОЛИЋ-ШИКОПАРИЈА НЕВЕНКА
+НИКОЛИЋ ЋИРИЛО
+НИКОЛИЋ ЖАРКО
+НИКОЛИЋ ЖАРКО
+НИКОЛИЋ ЖАРКО
+НИКОЛИЋ ЖАРКО
+НИКОЛИЋ ЖИВАН
+НИКОЛИЋ ЖИВАН
+НИКОЛИЋ ЖИВАН
+НИКОЛИЋ ЖИВАН
+НИКОЛИЋ ЖИВА
+НИКОЛИЋ ЖИВКА
+НИКОЛИЋ ЖИВКА
+НИКОЛИЋ ЖИВКО
+НИКОЛИЋ ЖИВКО
+НИКОЛИЋ ЖИВОРАД
+НИКОЛИЋ ЖИВОРАД
+НИКОЛИЋ ЖИВОРАД
+НИКОЛИЋ ЖИВОТА
+НИКОЛИЋ ЖИВОТА
+НИКОЛИЋ ЂОРЂЕ ПРОФЕСОР
+НИКОЛИЋ ЂОРЂЕ
+НИКОЛИЋ ЂОРЂЕ
+НИКОЛИЋ ЂОРЂЕ
+НИКОЛИЋ ЂОРЂЕ
+НИКОЛИЋ ЂОРЂЕ
+НИКОЛИЋ ЂОРЂЕ
+НИКОЛИЋ ЂОРЂЕ
+НИКОЛИЋ ЂУРЂИНКА
+НИКОЛИЋ ЂУРЂИНКА
+НИКОЛИЋ ЂУРА
+НИКОЛИЋ ЂУРА
+НИКОЛИЋ АЛЕКСАНДАР
+НИКОЛИЋ АЛЕКСАНДАР
+НИКОЛИЋ АЛЕКСАНДАР
+НИКОЛИЋ АЛЕКСАНДАР
+НИКОЛИЋ АЛЕКСАНДАР
+НИКОЛИЋ АЛЕКСАНДАР
+НИКОЛИЋ АЛЕКСАНДАР
+НИКОЛИЋ АЛЕКСАНДАР
+НИКОЛИЋ-АЛЕКСОВСКИ СЛАВИЦА
+НИКОЛИЋ АНА
+НИКОЛИЋ АНДРИЈА
+НИКОЛИЋ АНКА
+НИКОЛИЋ АНКИЦА
+НИКОЛИЋ-БАЈШЕВ СТАНКА
+НИКОЛИЋ БИЉАНА
+НИКОЛИЋ БИСЕРКА
+НИКОЛИЋ БОШКО
+НИКОЛИЋ БОШКО
+НИКОЛИЋ БОШКО
+НИКОЛИЋ БОЖИДАР
+НИКОЛИЋ БОЖИДАР
+НИКОЛИЋ БОЖИДАР
+НИКОЛИЋ БОЖИДАР
+НИКОЛИЋ БОЖО
+НИКОЛИЋ БОГДАН
+НИКОЛИЋ БОЈКА
+НИКОЛИЋ БОРА
+НИКОЛИЋ БОРА
+НИКОЛИЋ БОРИСЛАВ
+НИКОЛИЋ БОРИСЛАВ
+НИКОЛИЋ БОРИСЛАВ
+НИКОЛИЋ БОРИВОЈЕ
+НИКОЛИЋ БОРИВОЈ
+НИКОЛИЋ БРАНИСЛАВ
+НИКОЛИЋ БРАНИСЛАВ
+НИКОЛИЋ БРАНИСЛАВ
+НИКОЛИЋ БРАНИСЛАВ
+НИКОЛИЋ БРАНИСЛАВ
+НИКОЛИЋ БРАНИСЛАВ
+НИКОЛИЋ БРАНКО
+НИКОЛИЋ БРАНКО
+НИКОЛИЋ БРАНКО
+НИКОЛИЋ БУДИМИР
+НИКОЛИЋ ЦВЕТАНКА
+НИКОЛИЋ ЦВИЈЕТА
+НИКОЛИЋ-ЏАВЕР ИВАН ДИПЛ ИНГ
+НИКОЛИЋ ДАМЈАН
+НИКОЛИЋ ДАМЈАН
+НИКОЛИЋ ДАНА
+НИКОЛИЋ ДАНИЦА
+НИКОЛИЋ ДАНИЦА
+НИКОЛИЋ ДАНИЦА
+НИКОЛИЋ ДАНИЕЛ
+НИКОЛИЋ ДАНИЈЕЛ
+НИКОЛИЋ ДАНИЛО
+НИКОЛИЋ ДАНИЛО
+НИКОЛИЋ ДАНКО
+НИКОЛИЋ ДАРИНКА
+НИКОЛИЋ ДАВОРИН
+НИКОЛИЋ ДЕЈАН
+НИКОЛИЋ ДЕСАНКА
+НИКОЛИЋ ДИМИТРИЈЕ
+НИКОЛИЋ ДОБРИВОЈЕ
+НИКОЛИЋ ДРАШКО
+НИКОЛИЋ ДРАГАНА
+НИКОЛИЋ ДРАГАН
+НИКОЛИЋ ДРАГАН
+НИКОЛИЋ ДРАГАН
+НИКОЛИЋ ДРАГАН
+НИКОЛИЋ ДРАГАН
+НИКОЛИЋ ДРАГАН
+НИКОЛИЋ ДРАГАН
+НИКОЛИЋ ДРАГАН
+НИКОЛИЋ ДРАГАН
+НИКОЛИЋ ДРАГА
+НИКОЛИЋ ДРАГИЦА
+НИКОЛИЋ ДРАГИЦА
+НИКОЛИЋ ДРАГИЦА
+НИКОЛИЋ ДРАГОЉУБ
+НИКОЛИЋ ДРАГОЉУБ
+НИКОЛИЋ ДРАГОЉУБ
+НИКОЛИЋ ДРАГОЉУБ
+НИКОЛИЋ ДРАГОМИР
+НИКОЛИЋ ДРАГОМИР
+НИКОЛИЋ ДРАГОМИР
+НИКОЛИЋ ДРАГОСЛАВ
+НИКОЛИЋ ДРАГО
+НИКОЛИЋ ДРАГУТИН
+НИКОЛИЋ ДУШАН ДИПЛ ИНГ
+НИКОЛИЋ ДУШАНКА
+НИКОЛИЋ ДУШАНКА
+НИКОЛИЋ ДУШАН
+НИКОЛИЋ ДУШАН
+НИКОЛИЋ ДУШАН
+НИКОЛИЋ ДУШАН
+НИКОЛИЋ ДУШАН
+НИКОЛИЋ ДУШАН
+НИКОЛИЋ ДУШАН
+НИКОЛИЋ ДУШАН
+НИКОЛИЋ ДУШАН
+НИКОЛИЋ ДУШАН
+НИКОЛИЋ ДУШАН
+НИКОЛИЋ ДУШАН
+НИКОЛИЋ ДУШАН
+НИКОЛИЋ ДУШАН
+НИКОЛИЋ ДУШАН
+НИКОЛИЋ ДУШКО
+НИКОЛИЋ ЕМИЛИЈА
+НИКОЛИЋ ЕМИЛ
+НИКОЛИЋ ГОРДАНА
+НИКОЛИЋ ГОРДАНА
+НИКОЛИЋ ГОРДАНА
+НИКОЛИЋ ХИЛДА
+НИКОЛИЋ ХРИСТИНА
+НИКОЛИЋ ИЛИЈА
+НИКОЛИЋ ИСИДОР
+НИКОЛИЋ ИВАНКА
+НИКОЛИЋ ИВАН
+НИКОЛИЋ ИВО
+НИКОЛИЋ ЈАВОРКА
+НИКОЛИЋ ЈЕФТА
+НИКОЛИЋ ЈЕФТИМИР
+НИКОЛИЋ ЈЕФТИМИР
+НИКОЛИЋ ЈЕЛЕНА
+НИКОЛИЋ ЈЕЛЕНА
+НИКОЛИЋ ЈЕЛКА
+НИКОЛИЋ ЈЕЛКА
+НИКОЛИЋ ЈОЦА
+НИКОЛИЋ ЈОВАН
+НИКОЛИЋ ЈОВАН
+НИКОЛИЋ ЈОВАН
+НИКОЛИЋ ЈОВАН
+НИКОЛИЋ ЈОВАН
+НИКОЛИЋ ЈОВАН
+НИКОЛИЋ ЈОВАН
+НИКОЛИЋ ЈОВАН
+НИКОЛИЋ ЈОВАН
+НИКОЛИЋ ЈОВАН
+НИКОЛИЋ ЈОВАН
+НИКОЛИЋ ЈОВИЦА
+НИКОЛИЋ ЈУЛИЈАНА
+НИКОЛИЋ ЈУЛКА
+НИКОЛИЋ КАТАРИНА
+НИКОЛИЋ КАТИЦА
+НИКОЛИЋ КАТИЦА
+НИКОЛИЋ КАТИЦА
+НИКОЛИЋ КОСТАДИН
+НИКОЛИЋ КОСТА
+НИКОЛИЋ КРСТА ДР
+НИКОЛИЋ КРСТА
+НИКОЛИЋ ЛАЗАР
+НИКОЛИЋ ЛАЗАР
+НИКОЛИЋ ЛАЗАР
+НИКОЛИЋ ЛАЗАР
+НИКОЛИЋ ЛАЗАР
+НИКОЛИЋ ЛАЗАР
+НИКОЛИЋ ЛАЗАР
+НИКОЛИЋ ЛАЗАР
+НИКОЛИЋ ЉИЉАНА
+НИКОЛИЋ ЉИЉАНА
+НИКОЛИЋ ЉИЉАНА
+НИКОЛИЋ ЉУБИЦА
+НИКОЛИЋ ЉУБИЦА
+НИКОЛИЋ ЉУБИЦА
+НИКОЛИЋ ЉУБИЦА
+НИКОЛИЋ ЛУЈЗА
+НИКОЛИЋ ЛУКА
+НИКОЛИЋ МАНОЈЛО
+НИКОЛИЋ МАРА
+НИКОЛИЋ МАРА
+НИКОЛИЋ МАРА
+НИКОЛИЋ МАРГИТА
+НИКОЛИЋ МАРГИТА
+НИКОЛИЋ МАРИЦА
+НИКОЛИЋ МАРИЈА
+НИКОЛИЋ МАРИЈА
+НИКОЛИЋ МАРИЈА
+НИКОЛИЋ МАРИЈА
+НИКОЛИЋ МАРКО
+НИКОЛИЋ МАРКО
+НИКОЛИЋ МАРКО
+НИКОЛИЋ МЕЛАНИЈА СТОМАТОЛОГ
+НИКОЛИЋ МЕЛАНИЈА
+НИКОЛИЋ МИХАЈЛО
+НИКОЛИЋ МИХАЈЛО
+НИКОЛИЋ МИХАЈЛО
+НИКОЛИЋ МИЛАШИН
+НИКОЛИЋ МИЛАНА
+НИКОЛИЋ МИЛАНА
+НИКОЛИЋ МИЛАН
+НИКОЛИЋ МИЛАН
+НИКОЛИЋ МИЛАН
+НИКОЛИЋ МИЛАН
+НИКОЛИЋ МИЛАН
+НИКОЛИЋ МИЛАН
+НИКОЛИЋ МИЛАН
+НИКОЛИЋ МИЛАН
+НИКОЛИЋ МИЛАН
+НИКОЛИЋ МИЛЕНА
+НИКОЛИЋ МИЛЕНКО
+НИКОЛИЋ МИЛЕВА
+НИКОЛИЋ МИЛЕВА
+НИКОЛИЋ МИЛЕ
+НИКОЛИЋ МИЛЕ
+НИКОЛИЋ МИЛЕ
+НИКОЛИЋ МИЛИЦА
+НИКОЛИЋ МИЛИЦА
+НИКОЛИЋ МИЛИЦА
+НИКОЛИЋ МИЛИВОЈЕ
+НИКОЛИЋ МИЛКА
+НИКОЛИЋ МИЛКА
+НИКОЛИЋ МИЛОШ
+НИКОЛИЋ МИЛОШ
+НИКОЛИЋ МИЛОШ
+НИКОЛИЋ МИЛОШ
+НИКОЛИЋ МИЛОШ
+НИКОЛИЋ МИЛОЈКО
+НИКОЛИЋ МИЛОМИР
+НИКОЛИЋ МИЛОРАД
+НИКОЛИЋ МИЛОРАД
+НИКОЛИЋ МИЛОРАД
+НИКОЛИЋ МИЛОРАД
+НИКОЛИЋ МИЛОРАД
+НИКОЛИЋ МИЛОРАД
+НИКОЛИЋ МИЛОРАД
+НИКОЛИЋ МИЛОРАД
+НИКОЛИЋ МИЛОСАВА
+НИКОЛИЋ МИЛОСАВА
+НИКОЛИЋ МИЛОВАН
+НИКОЛИЋ МИЛУТИН
+НИКОЛИЋ МИЛУТИН
+НИКОЛИЋ МИЛУТИН
+НИКОЛИЋ МИОДРАГ ДИПЛ ИНГ
+НИКОЛИЋ МИОДРАГ ДР
+НИКОЛИЋ МИОДРАГ ДР
+НИКОЛИЋ МИОДРАГ
+НИКОЛИЋ МИОДРАГ
+НИКОЛИЋ МИОДРАГ
+НИКОЛИЋ МИОДРАГ
+НИКОЛИЋ МИОДРАГ
+НИКОЛИЋ МИОДРАГ
+НИКОЛИЋ МИОДРАГ
+НИКОЛИЋ МИРЈАНА
+НИКОЛИЋ МИРЈАНА
+НИКОЛИЋ МИРЈАНА
+НИКОЛИЋ МИРЈАНА
+НИКОЛИЋ МИРЈАНА
+НИКОЛИЋ МИРКО
+НИКОЛИЋ МИРКО
+НИКОЛИЋ МИРОСЛАВ ДИПЛ ИНГ
+НИКОЛИЋ МИРОСЛАВ
+НИКОЛИЋ МИРОСЛАВ
+НИКОЛИЋ МИРОСЛАВ
+НИКОЛИЋ МИРОСЛАВ
+НИКОЛИЋ МИРОСЛАВ
+НИКОЛИЋ МИТА
+НИКОЛИЋ МИТА
+НИКОЛИЋ МИТА
+НИКОЛИЋ МЛАДЕНКА
+НИКОЛИЋ МЛАДЕН
+НИКОЛИЋ МОМЧИЛО
+НИКОЛИЋ-МУШИЦКИ ДАРА
+НИКОЛИЋ НАДА
+НИКОЛИЋ НАДА
+НИКОЛИЋ НАДА
+НИКОЛИЋ НАДА
+НИКОЛИЋ НАДА
+НИКОЛИЋ НАДЕЖДА
+НИКОЛИЋ НЕБОЈША
+НИКОЛИЋ НЕДЕЉКА
+НИКОЛИЋ НЕДЕЉКО
+НИКОЛИЋ НЕДЕЉКО
+НИКОЛИЋ НЕНАД ДР
+НИКОЛИЋ НЕНАД
+НИКОЛИЋ НИКОЛА
+НИКОЛИЋ НИКОЛА
+НИКОЛИЋ НИКОЛА
+НИКОЛИЋ НИКОЛА
+НИКОЛИЋ НИКОЛА
+НИКОЛИЋ НИКОЛА
+НИКОЛИЋ НИКОЛА
+НИКОЛИЋ НИКОЛА
+НИКОЛИЋ НОВИЦА
+НИКОЛИЋ НОВИЦА
+НИКОЛИЋ НОВИЦА
+НИКОЛИЋ ОЛГА
+НИКОЛИЋ ОСМАН
+НИКОЛИЋ ПАУН
+НИКОЛИЋ ПАВЛЕ
+НИКОЛИЋ ПЕРА
+НИКОЛИЋ ПЕРО
+НИКОЛИЋ ПЕРСИДА
+НИКОЛИЋ ПЕТАР ДИПЛ ОЕЦ
+НИКОЛИЋ ПЕТАР
+НИКОЛИЋ ПЕТАР
+НИКОЛИЋ ПЕТАР
+НИКОЛИЋ ПЕТРА
+НИКОЛИЋ ПЕТРА
+НИКОЛИЋ ПЕТРОНИЈЕ
+НИКОЛИЋ ПРЕДРАГ
+НИКОЛИЋ ПРВОСЛАВ
+НИКОЛИЋ РАДЕНКО
+НИКОЛИЋ РАДИСАВ
+НИКОЛИЋ РАДИВОЈЕ
+НИКОЛИЋ РАДОЈИЦА
+НИКОЛИЋ РАДОЈКА
+НИКОЛИЋ РАДОЈКА
+НИКОЛИЋ РАДОМИР
+НИКОЛИЋ РАДОМИР
+НИКОЛИЋ РАДОМИР
+НИКОЛИЋ РАДОСЛАВА
+НИКОЛИЋ РАДОСЛАВ
+НИКОЛИЋ РАДОВАН
+НИКОЛИЋ РАДОВАН
+НИКОЛИЋ РАДОВАН
+НИКОЛИЋ РАДОВАН
+НИКОЛИЋ РАДОВАН
+НИКОЛИЋ РАЈКО
+НИКОЛИЋ РАЈКО
+НИКОЛИЋ РАНКА
+НИКОЛИЋ РАТКО МР
+НИКОЛИЋ РАТОМИР
+НИКОЛИЋ РАТОМИР
+НИКОЛИЋ РУЖА
+НИКОЛИЋ РУЖИЦА
+НИКОЛИЋ РУЖИЦА
+НИКОЛИЋ САВА
+НИКОЛИЋ САВА
+НИКОЛИЋ САВА
+НИКОЛИЋ САВА
+НИКОЛИЋ САВА
+НИКОЛИЋ САВЕТА
+НИКОЛИЋ САВКА
+НИКОЛИЋ САВО
+НИКОЛИЋ СЕЋЕРКА
+НИКОЛИЋ СИМА
+НИКОЛИЋ СИМЕОН
+НИКОЛИЋ СИМЕУН
+НИКОЛИЋ СИНИША
+НИКОЛИЋ СИНИША
+НИКОЛИЋ СИНИША
+НИКОЛИЋ СЛАЂАНА
+НИКОЛИЋ СЛАВИША
+НИКОЛИЋ СЛАВИЦА
+НИКОЛИЋ СЛАВКО
+НИКОЛИЋ СЛАВНА
+НИКОЛИЋ СЛОБОДАНКА
+НИКОЛИЋ СЛОБОДАН
+НИКОЛИЋ СЛОБОДАН
+НИКОЛИЋ СЛОБОДАН
+НИКОЛИЋ СЛОБОДАН
+НИКОЛИЋ СЛОБОДАН
+НИКОЛИЋ СМИЉАНА
+НИКОЛИЋ СНЕЖАНА
+НИКОЛИЋ СОФИЈА
+НИКОЛИЋ СОФИЈА
+НИКОЛИЋ СОФИЈА
+НИКОЛИЋ СПАСЕНКА
+НИКОЛИЋ СПАСОЈЕ
+НИКОЛИЋ СПАСОЈЕ
+НИКОЛИЋ СПАСОЈЕ
+НИКОЛИЋ СРЕТА
+НИКОЛИЋ СРЕТЕНКА
+НИКОЛИЋ СТАНИМИР
+НИКОЛИЋ СТАНИМИР
+НИКОЛИЋ СТАНИСЛАВ
+НИКОЛИЋ СТАНКО
+НИКОЛИЋ СТЕФАНИЈА
+НИКОЛИЋ СТЕВАН
+НИКОЛИЋ СТЕВАН
+НИКОЛИЋ СТЕВАН
+НИКОЛИЋ СТЕВАН
+НИКОЛИЋ СТЕВАН
+НИКОЛИЋ СТЕВАН
+НИКОЛИЋ СТЕВАН
+НИКОЛИЋ СТЕВАН
+НИКОЛИЋ СТЕВИЦА
+НИКОЛИЋ СТОЈАДИН
+НИКОЛИЋ СТОЈАН
+НИКОЛИЋ СУЗАНА
+НИКОЛИЋ СВЕТИСЛАВ
+НИКОЛИЋ СВЕТИСЛАВ
+НИКОЛИЋ СВЕТОЗАР
+НИКОЛИЋ СВЕТОЗАР
+НИКОЛИЋ СВЕТОЗАР
+НИКОЛИЋ СВЕТОЗАР
+НИКОЛИЋ ТАМАРА
+НИКОЛИЋ ТАТЈАНА
+НИКОЛИЋ ТЕОДОР
+НИКОЛИЋ ТЕОДОР
+НИКОЛИЋ ТИХОМИР
+НИКОЛИЋ ТИХОМИР
+НИКОЛИЋ ТОДОР
+НИКОЛИЋ ТОМИСЛАВ МР
+НИКОЛИЋ ТОМИСЛАВ
+НИКОЛИЋ ТОМИСЛАВ
+НИКОЛИЋ ТРЕНЧА
+НИКОЛИЋ ВАСИЛИЈЕ
+НИКОЛИЋ ВЕКОСЛАВ
+НИКОЛИЋ ВЕЛИМИР
+НИКОЛИЋ ВЕЛИМИР
+НИКОЛИЋ ВЕЉКО ДР ИНГ
+НИКОЛИЋ ВЕЉКО
+НИКОЛИЋ ВЕРА
+НИКОЛИЋ ВЕРА
+НИКОЛИЋ ВЕРА
+НИКОЛИЋ ВЕРА
+НИКОЛИЋ ВЕРИЦА
+НИКОЛИЋ ВЕСНА
+НИКОЛИЋ ВИДОСАВА
+НИКОЛИЋ ВИТОМИР
+НИКОЛИЋ ВИТОМИР
+НИКОЛИЋ ВИТОМИР
+НИКОЛИЋ ВЛАДА
+НИКОЛИЋ ВЛАДИМИР
+НИКОЛИЋ ВЛАДИМИР
+НИКОЛИЋ ВЛАДИМИР
+НИКОЛИЋ ВЛАДИМИР
+НИКОЛИЋ ВЛАДИСЛАВ ДР
+НИКОЛИЋ ВОЈИСЛАВ ДР ДОЦЕНТ
+НИКОЛИЋ ВОЈИСЛАВ ДР ЛЕКАР
+НИКОЛИЋ ВОЈИСЛАВ
+НИКОЛИЋ ВУКАШИН
+НИКОЛИЋ ВУКАШИН
+НИКОЛИЋ ЗАГОРКА
+НИКОЛИЋ ЗДРАВКО
+НИКОЛИЋ ЗДРАВКО
+НИКОЛИЋ ЗОРАН
+НИКОЛИЋ ЗОРАН
+НИКОЛИЋ ЗОРАН
+НИКОЛИЋ ЗОРА
+НИКОЛИЋ ЗОРА
+НИКОЛИЋ ЗОРА
+НИКОЛИЋ ЗОРКА
+НИКОЛИН АЛЕКСАНДРА
+НИКОЛИН АНА
+НИКОЛИН БРАНКО
+НИКОЛИН ДРАГОСЛАВА ДР
+НИКОЛИН ДУШИЦА
+НИКОЛИН ЕРЖЕБЕТ
+НИКОЛИН ИВИЦА
+НИКОЛИН ЛАЗАР ДР ЛЕКАР
+НИКОЛИН ЉУБИША
+НИКОЛИН МАРГИТА
+НИКОЛИН МИЛАН
+НИКОЛИН МИЛИЦА
+НИКОЛИН МИЛИВОЈ
+НИКОЛИН МИЛИВОЈ
+НИКОЛИН МИРОСЛАВ
+НИКОЛИН РАДОВАН
+НИКОЛИН РАДОВАН
+НИКОЛИН РУЖИЦА
+НИКОЛИН САВА
+НИКОЛИН СИНИША
+НИКОЛИН СИНИША
+НИКОЛИН СТИПАН
+НИКОЛИН ВЕСНА
+НИКОЛИН ВИТОМИР
+НИКОЛОСКИ НИКОЛА
+НИКОЛОСКИ СЛАВИЦА
+НИКОЛОВ ЂОРЂЕ
+НИКОЛОВ БОШКО
+НИКОЛОВ ЈОЦА
+НИКОЛОВ ЈОЦА
+НИКОЛОВ ЉУБИЦА
+НИКОЛОВ НИНА
+НИКОЛОВ РАША
+НИКОЛОВ СИНИША
+НИКОЛОВ СТОЈАН
+НИКОЛОВ ТОДОР
+НИКОЛОВСКИ ИЛИЈА
+НИКОЛОВСКИ МИЛАН
+НИКОТИЋ ВЕЛИМИР
+НИЛИЋ НИКОЛА
+НИЛОВИЋ МИРОСЛАВ
+НИМРИХТЕР ДРАГУТИН
+НИМРИХТЕР МИЛАН
+НИМРИХТЕР МИРОСЛАВ
+НИМРИХТЕР ВЛАДА
+НИНЧИЋ БИСЕРКА
+НИНЧИЋ ДАМЈАН
+НИНЧИЋ МИЛЕНКО
+НИНЧИЋ ПЕРО
+НИНИЋ АЛЕКСА
+НИНИЋ БРАНИСЛАВ
+НИНИЋ МАРКО
+НИНИЋ МИРКО
+НИНИЋ РАДОЈЕ
+НИНИЋ РАДОМИР
+НИНКОВ ЖИВКО
+НИНКОВ ЂОРЂЕ
+НИНКОВ ЂОРЂЕ
+НИНКОВ ЂОРЂЕ
+НИНКОВ БОЖИЦА
+НИНКОВ БОРИСЛАВ
+НИНКОВ БОРИСЛАВ
+НИНКОВ БРАНИСЛАВ
+НИНКОВ ДОБРИВОЈ
+НИНКОВ ДРАГОМИР
+НИНКОВ ДУШАН
+НИНКОВ ДУШАН
+НИНКОВ ДУШАН
+НИНКОВ ЕМИЛИЈА
+НИНКОВ ЕРЖЕБЕТ
+НИНКОВ ЈЕЛИЦА
+НИНКОВ ЈОВАН
+НИНКОВ ЈУЛИЈАН МР
+НИНКОВ-КОМЛЕНОВ ДАНИЦА ДР
+НИНКОВ ЛАЗАР
+НИНКОВ ЛАЗАР
+НИНКОВ-ЛЕЂЕНАЦ ЈОВАНКА ДР
+НИНКОВ ЉУБОМИР
+НИНКОВ ЉУБОМИР
+НИНКОВ МАРИЈА
+НИНКОВ МАРИЈА
+НИНКОВ МИЛАНА
+НИНКОВ МИЛАН
+НИНКОВ МИЛИЦА
+НИНКОВ МИЛОШ
+НИНКОВ МИЛОШ
+НИНКОВ МИЛОШ
+НИНКОВ МИЛОВАН
+НИНКОВ МИЛОВАН
+НИНКОВ МИЛУТИН
+НИНКОВ МИРЈАНА
+НИНКОВ МИРКО
+НИНКОВ МИРОСЛАВ
+НИНКОВ МИРОСЛАВ
+НИНКОВ НАДА
+НИНКОВ НЕБОЈША
+НИНКОВ НЕБОЈША
+НИНКОВ НИКОЛА
+НИНКОВ ОЛГИЦА
+НИНКОВ РАДИЦА
+НИНКОВ САВЕТА ДИПЛ ИНГ
+НИНКОВ САВЕТА
+НИНКОВ СЛАВКО
+НИНКОВ СМИЉА
+НИНКОВ СОФИЈА
+НИНКОВ СПОМЕНКА
+НИНКОВ СТЕВАН
+НИНКОВ СТЕВАН
+НИНКОВ СТЕВАН
+НИНКОВ ВЕЛИМИР
+НИНКОВ ВЕЉКО
+НИНКОВ ВЕРИЦА
+НИНКОВ ВЛАДИМИР
+НИНКОВ ВОЈИСЛАВ
+НИНКОВИЋ ШПИРО
+НИНКОВИЋ ШПИРО
+НИНКОВИЋ ЂУРАЂ
+НИНКОВИЋ ЂУРА
+НИНКОВИЋ АНКИЦА
+НИНКОВИЋ БРАНКО
+НИНКОВИЋ ДАНИЦА
+НИНКОВИЋ ДРАГА
+НИНКОВИЋ ДУШАН
+НИНКОВИЋ ЕРИКА
+НИНКОВИЋ ГАВРА
+НИНКОВИЋ ЈАНКО
+НИНКОВИЋ ЈОЈА
+НИНКОВИЋ ЈОВАНКА
+НИНКОВИЋ МАРИЦА
+НИНКОВИЋ МАРКО
+НИНКОВИЋ МИЋО
+НИНКОВИЋ МИХАИЛО
+НИНКОВИЋ МИЛАН
+НИНКОВИЋ МИЛОШ
+НИНКОВИЋ МИРЈАНА
+НИНКОВИЋ МИРЈАНА
+НИНКОВИЋ НИКОЛА
+НИНКОВИЋ НИКОЛА
+НИНКОВИЋ ПЕРА
+НИНКОВИЋ ПЕРО
+НИНКОВИЋ ПЕТАР
+НИНКОВИЋ РАДОМИР
+НИНКОВИЋ РАДОВАН
+НИНКОВИЋ РАЈКО
+НИНКОВИЋ СРЂАН
+НИНКОВИЋ СТОЈАН
+НИНКОВИЋ СВЕТИСЛАВ
+НИНКОВИЋ ВЕРА
+НИСИМ ДЕСА
+НИСТЕР ЕВА
+НИСТОР ДРАГАН
+НИСТОРАН ЂОРЂЕ
+НИСТОРАН МИЛАН
+ЊАГОЈЕВ МИЛАДИН
+ЊАГРИН СЛАВИЦА
+ЊАГУЛ-ДОКИЋ СРБИСЛАВА
+ЊАГУЛ ДУШАН
+ЊАРАДИ ЕВГЕНИЈЕ
+ЊАРАДИ ЈАНКО
+ЊАРАДИ ЈОВГЕН
+ЊАРАДИ МАРИЈА
+ЊАРАДИ СОФИЈА
+ЊАРИ ШАНДОР
+ЊАРИ ДЕЖЕ
+ЊЕЖИЋ ОБРАД
+ЊЕЖИЋ ЗВОНКО
+ЊЕГОМИР ЂУРО
+ЊЕГОМИР ЉУБИНКА ДР ЛЕКАР
+ЊЕГОМИР МИЛАН
+ЊЕГОМИР НИКОЛА
+ЊЕГОМИР НОВАК
+ЊЕГОВАН ЖАРКО
+ЊЕГОВАН ЈОВАНКА
+ЊЕГОВАН МАРА
+ЊЕГОВАН МАРИЈА
+ЊЕГОВАН МИРКО
+ЊЕГОВАН МИРКО
+ЊЕГОВАН СТОЈАНКА
+ЊЕГОВАНОВИЋ ЕЛЕНА
+ЊЕГРИЋ МАРИЈА
+ЊЕГРИЋ РАДМИЛА
+ЊЕМЧОК ЈОЖЕФ
+ЊЕМОГА ЈУРАЈ
+ЊЕЊИЋ ВЛАДО
+ЊЕРГЕШ ЈАНОШ
+ЊЕРГЕШ МАРИЈА
+ЊИРЕ СТЕВАН
+ЊИРЈАК ЂОРЂЕ
+ЊИРЈАК ЛЕОНА
+ЊИТРИ КАРОЉ
+ЊУЊИЋ МИЛЕВА
+НОЧЕВСКА ВЕЛИКА
+НОЧЕВСКИ БИЉАНА
+НОЧЕВСКИ РАДЕ
+НОЖИЦА ЦВИЈЕТА
+НОЖИЦА МИЛИВОЈЕ
+НОЖИНИЋ ДАРА
+НОЖИНИЋ ЉУБИЦА
+НОЖИНИЋ МИЛАН
+НОЖИНИЋ НИКОЛА
+НОЛА ТИМЊА
+НОЛИН ЂУРЂИНКА
+НОНИН АНЂЕЛКА
+НОНИН ДУШАН
+НОНИН МИЛОРАД
+НОНИН НИКОЛА
+НОНИН СОЊА
+НОНИН ВИТОМИР
+НОНКОВИЋ МИЛАН
+НОНКОВИЋ МИЛОРАД
+НОСАК ЂОРЂЕ
+НОСАК МИКЛОШ
+НОСАЉ МИША
+НОСЕК ЕВИЦА
+НОСЕК ФРАЊА
+НОСЕК КАРЛО
+НОСЕК КСЕНИЈА
+НОСЕК ЗОРАН
+НОСОЊИН ЛЕНКА
+НОСОЊИН МИЛАН
+НОСОЊИН САВА
+НОСОВИЋ ЂОРЂЕ
+НОСОВИЋ ДАНИЦА
+НОСОВИЋ ЈАНКО
+НОСОВИЋ ЈОВАН
+НОСОВИЋ ЈОВАН
+НОСОВИЋ ЗОРАН
+НОТА ЈАНКО
+НОТАРОШ ДАРИНКА
+НОТАРОШ ДЕЈАН
+НОТАРОШ МИЛАН
+НОТХОФ ЕВА
+НОТХОФ ЗОЛТАН
+НОВЧИЋ БУДИМИР
+НОВЧИЋ ДАМЊАН
+НОВЧИЋ ДУШАН
+НОВЧИЋ СТАНА
+НОВЧИЋ СТАНА
+НОВЧИЋ ТАТЈАНА
+НОВЧИЋ ВЛАДИМИР
+НОВАЧИЋ ЂУРА
+НОВАЧИЋ ЂУРО
+НОВАЧИЋ ПЕРСИДА
+НОВАК ЂОРЂЕ
+НОВАК АНДРИЈА
+НОВАК АНТАЛ
+НОВАК БОШКО
+НОВАК ДРАГИЦА
+НОВАК ДУШАНКА
+НОВАК ФРАЊА
+НОВАК ИШТВАН
+НОВАК ИРЕНА
+НОВАК ИВАН
+НОВАК ЈАНА
+НОВАК ЈАНОШ
+НОВАК ЈОСИП
+НОВАК ЈОСИП
+НОВАК ЈОВАН
+НОВАК ЛАДИСЛАВ МР
+НОВАК ЛАСЛО
+НОВАК ЛАЗАР
+НОВАК ЉУБОМИР
+НОВАК МАРГИТА
+НОВАК МАРИЈА
+НОВАК МАТИЛДА
+НОВАК МИХАЉ
+НОВАК НАНДОР
+НОВАК НИКОЛА
+НОВАК СЛАВКА
+НОВАК СТЕВАН
+НОВАК СТЕВАН
+НОВАК СТЈЕПАН
+НОВАК ТИБОР
+НОВАК-ВАЈДА ЉИЉАНА
+НОВАК ВАСИЛИЈА
+НОВАК ВЕРА
+НОВАК ВЕРОНА
+НОВАК ВИКТОР
+НОВАКОВ ЧЕДОМИР
+НОВАКОВ АНЂЕЛКО
+НОВАКОВ БОРИСЛАВ
+НОВАКОВ ДРАГОЉУБ МР
+НОВАКОВ ДУШАН
+НОВАКОВ ГОРДАНА
+НОВАКОВ ГОСПАВА ДР
+НОВАКОВ ЈЕЛИЦА
+НОВАКОВ ЛАЗАР
+НОВАКОВ ЉУБИНКА
+НОВАКОВ ЉУБОМИР
+НОВАКОВ МАРИНА
+НОВАКОВ МИЛАН
+НОВАКОВ МИЛИЦА
+НОВАКОВ МИЛИВОЈ
+НОВАКОВ МИЛОРАД
+НОВАКОВ МИРОСЛАВ
+НОВАКОВ НАДА
+НОВАКОВ ПРЕДРАГ
+НОВАКОВ ПРЕДРАГ
+НОВАКОВ РАДОВАН ДИПЛ ИНГ
+НОВАКОВ САВА
+НОВАКОВ САВА
+НОВАКОВ СРБИСЛАВ
+НОВАКОВ СРЕТЕН
+НОВАКОВ СРЕТЕН
+НОВАКОВ СТЕВАН ДР
+НОВАКОВ СТЕВАН
+НОВАКОВ ВАЛЕРИЈА
+НОВАКОВ ВЕСЕЛИН
+НОВАКОВ ЗДРАВКО
+НОВАКОВИЋ ЖИВАН
+НОВАКОВИЋ ЖИВАН
+НОВАКОВИЋ ЖИВКО
+НОВАКОВИЋ ЖИВОЈИН
+НОВАКОВИЋ ЂОРЂЕ
+НОВАКОВИЋ ЂУЈА
+НОВАКОВИЋ ЂУРО
+НОВАКОВИЋ АЛЕКСАНДАР
+НОВАКОВИЋ АНЂЕЛКА
+НОВАКОВИЋ АНА
+НОВАКОВИЋ АНКА
+НОВАКОВИЋ БОШКО ДР ПРОФ
+НОВАКОВИЋ БОГДАН
+НОВАКОВИЋ БРАНИСЛАВА
+НОВАКОВИЋ БРАНИСЛАВ
+НОВАКОВИЋ БРАНКО
+НОВАКОВИЋ БРАНКО
+НОВАКОВИЋ ЦВЕТКО ДР
+НОВАКОВИЋ ЦВИЈЕТА
+НОВАКОВИЋ ДАНА
+НОВАКОВИЋ ДАНИЦА
+НОВАКОВИЋ ДИМИТРИЈЕ
+НОВАКОВИЋ ДРАГАН
+НОВАКОВИЋ ДРАГАН
+НОВАКОВИЋ ДРАГА
+НОВАКОВИЋ ДРАГОЉУБ
+НОВАКОВИЋ ДРАГОЉУБ
+НОВАКОВИЋ ДРАГОСЛАВ
+НОВАКОВИЋ ДУШАНКА
+НОВАКОВИЋ ДУШАН
+НОВАКОВИЋ ДУШАН
+НОВАКОВИЋ ДУШАН
+НОВАКОВИЋ ДУШАН
+НОВАКОВИЋ ДУШАН
+НОВАКОВИЋ ДУШАН
+НОВАКОВИЋ ДУШАН
+НОВАКОВИЋ ФРАЊО
+НОВАКОВИЋ ГОРДАНА
+НОВАКОВИЋ ГОРИЦА
+НОВАКОВИЋ ГРОЗДА
+НОВАКОВИЋ ИНЂИЈА
+НОВАКОВИЋ ЈЕЛЕНА
+НОВАКОВИЋ ЈЕЛЕНА
+НОВАКОВИЋ ЈОВАНКА
+НОВАКОВИЋ ЈОВАН
+НОВАКОВИЋ ЈОВАН
+НОВАКОВИЋ КОСА
+НОВАКОВИЋ ЛАЗАР
+НОВАКОВИЋ ЛЕПОСАВА
+НОВАКОВИЋ ЉИЉАНА
+НОВАКОВИЋ ЉУБОМИР
+НОВАКОВИЋ ЉУБОМИР
+НОВАКОВИЋ МАРИЦА
+НОВАКОВИЋ МАРИЈА
+НОВАКОВИЋ МАРИЈА
+НОВАКОВИЋ МАРИЈА
+НОВАКОВИЋ МЕЛАНИЈА
+НОВАКОВИЋ МИШО
+НОВАКОВИЋ-МИДИ ДИВНА ДИПЛ ТУРИЗМ
+НОВАКОВИЋ МИЈОДРАГ
+НОВАКОВИЋ МИЛАН
+НОВАКОВИЋ МИЛАН
+НОВАКОВИЋ МИЛАН
+НОВАКОВИЋ МИЛОШ
+НОВАКОВИЋ МИЛОШ
+НОВАКОВИЋ МИЛОРАД
+НОВАКОВИЋ МИЛОРАД
+НОВАКОВИЋ МИЛОРАД
+НОВАКОВИЋ МИЛОРАД
+НОВАКОВИЋ МИЛОВАН
+НОВАКОВИЋ МИЛОВАН
+НОВАКОВИЋ МИОДРАГ ДР
+НОВАКОВИЋ МИОДРАГ
+НОВАКОВИЋ МЛАДЕН
+НОВАКОВИЋ МОМЧИЛО
+НОВАКОВИЋ НАДА
+НОВАКОВИЋ НИКОЛА
+НОВАКОВИЋ НИКОЛА
+НОВАКОВИЋ НИКОЛА
+НОВАКОВИЋ НИКОЛА
+НОВАКОВИЋ НИКОЛА
+НОВАКОВИЋ НИКОЛА
+НОВАКОВИЋ НИКОЛА
+НОВАКОВИЋ ОЛИВЕР
+НОВАКОВИЋ ПЕТАР
+НОВАКОВИЋ ПЕТАР
+НОВАКОВИЋ ПЕТАР
+НОВАКОВИЋ ПЕТАР
+НОВАКОВИЋ ПЕТАР
+НОВАКОВИЋ ПЕТАР
+НОВАКОВИЋ-ПЛАВШИЋ ЈЕЛЕНА
+НОВАКОВИЋ РАДМИЛО
+НОВАКОВИЋ РАДОЈКА
+НОВАКОВИЋ РАДОМИР
+НОВАКОВИЋ РАДОМИР
+НОВАКОВИЋ РАДОМИР
+НОВАКОВИЋ РАДОВАН
+НОВАКОВИЋ РАЈКО
+НОВАКОВИЋ РАНКО
+НОВАКОВИЋ РОСАНКА
+НОВАКОВИЋ РУЖИЦА
+НОВАКОВИЋ САВА
+НОВАКОВИЋ САВА
+НОВАКОВИЋ СЛАВКО
+НОВАКОВИЋ СЛОБОДАН
+НОВАКОВИЋ СЛОБОДАН
+НОВАКОВИЋ СЛОБОДАН
+НОВАКОВИЋ СОФИЈА
+НОВАКОВИЋ СПАСОЈА
+НОВАКОВИЋ СПОМЕНКА
+НОВАКОВИЋ СТАНИСЛАВ
+НОВАКОВИЋ СТЕВАН ДИПЛ ИНГ
+НОВАКОВИЋ СТЕВАН
+НОВАКОВИЋ СТЕВАН
+НОВАКОВИЋ СТЕВАН
+НОВАКОВИЋ СТЕВО
+НОВАКОВИЋ СТОЈАН
+НОВАКОВИЋ СВЕТОМИР
+НОВАКОВИЋ ВЕЛИМИР
+НОВАКОВИЋ ВЕЛИНКА
+НОВАКОВИЋ ВЕРИЦА
+НОВАКОВИЋ ВЕСНА
+НОВАКОВИЋ ВИДОЈЕ
+НОВАКОВИЋ ВИТКО
+НОВАКОВИЋ ВЛАДИМИР ДИПЛ ИНГ
+НОВАКОВИЋ ВЛАДИМИР
+НОВАКОВИЋ ВЛАДИМИР
+НОВАКОВИЋ ВЛАДИСЛАВ
+НОВАКОВИЋ ЗЛАТОМИР
+НОВАКОВИЋ ЗОРА
+НОВАКОВИЋ ЗОРИЦА
+НОВАКОВИЋ ЗОРИЦА
+НОВИЧИЋ МИЛОШ
+НОВИЋ ЧЕДО
+НОВИЋ-ЧУЉАК ЉУБИЦА
+НОВИЋ ДАНИЦА
+НОВИЋ ДУШАН
+НОВИЋ ЈОВАН
+НОВИЋ МИЛАН
+НОВИЋ МИЛАН
+НОВИЋ МИРОСЛАВ
+НОВИЋ МИРОСЛАВ
+НОВИЋ МИТАР
+НОВИЋ НИКОЛА
+НОВИЋ ПАНТЕЛИЈА
+НОВИЋ ПЕРСИДА
+НОВИЋ ТАТЈАНА
+НОВИЋ ТОМА
+НОВИЋ ВЛАЈКО
+НОВИЦКИ АЛЕКСА
+НОВИКОВ ВЕРА
+НОВИНЦ ИВАН
+НОВИТОВИЋ МАРКО
+НОВКОВ ЖИВОЈИН
+НОВКОВ ДОБРИЛА
+НОВКОВ ГАВРА
+НОВКОВ ЈОВАН
+НОВКОВ МИЛАН
+НОВКОВ НАДА
+НОВКОВ СТЕВАН
+НОВКОВ СТЕВАН
+НОВКОВ ЗАГОРКА
+НОВКОВИЋ ЂОРЂЕ
+НОВКОВИЋ АНКА
+НОВКОВИЋ БИЉАНА
+НОВКОВИЋ ДРАГИЦА
+НОВКОВИЋ ДРАГИЊА
+НОВКОВИЋ ДУШАН
+НОВКОВИЋ ДУШАН
+НОВКОВИЋ ДУШАН
+НОВКОВИЋ ДУШАН
+НОВКОВИЋ ЕЛФРИДА
+НОВКОВИЋ ЕЛИЗАБЕТА
+НОВКОВИЋ ЈОВАН
+НОВКОВИЋ МИХАЈЛО
+НОВКОВИЋ МИЛАН
+НОВКОВИЋ МИЛИНКО
+НОВКОВИЋ МИЛОШ
+НОВКОВИЋ МИРЈАНА
+НОВКОВИЋ МОМЧИЛО
+НОВКОВИЋ МОМЧИЛО
+НОВКОВИЋ НАДА
+НОВКОВИЋ НЕБОЈША ДР
+НОВКОВИЋ НИКОЛА
+НОВКОВИЋ РОСА
+НОВКОВИЋ СМИЉКА
+НОВКОВИЋ СТАНКО
+НОВКОВИЋ ВЛАДА
+НОВКОВИЋ ВУКАШИН
+НОВОСЕЛ ГОРДАНА
+НОВОСЕЛ МАРИЈА
+НОВОСЕЛ НАДА
+НОВОСЕЛ РАЈКО
+НОВОСЕЛАЦ КАТИЦА
+НОВОСЕЛАЦ СТЕВАН
+НОВОСЕЛАЦ ЗВОНИМИР
+НОВОСЕЉАЧКИ МИЛИВОЈ
+НОВОСЕЛОВСКИ АНГЕЛ
+НОВОТ ЛАДИСЛАВ
+НОВОТ ПАВЛЕ
+НОВОВИЋ ЖИВОЈИН
+НОВОВИЋ БАТРИЋ
+НОВОВИЋ БИЉАНА
+НОВОВИЋ ДРАГАН
+НОВОВИЋ ГОРДАНА
+НОВОВИЋ МИНА
+НОВОВИЋ НАДА
+НОВОВИЋ ВЛАДО
+НОВОВИЋ ЗДЕНКА
+НОВТА НИКОЛА ДР
+НОВТА ВЛАДИМИР
+НОВТА ВЛАДИМИР
+НУЖДИЋ МИЛАН
+НУЖДИЋ ОБРАД
+НУБЕР АНА
+НУДИЋ ЂОРЂЕ
+НУДИЋ СВЕТОЗАР
+НУХИ ФЕВЗИ
+НУХИ ХАЈДАН
+НУХИ ЗЕКИЈА
+НУКА ХАСАН
+НУКИЋ АЉО
+НУКИЋ ЏЕВАД
+НУКИЋ КАНИТА
+НУКИЋ ОМЕР
+ОЧЕНАШ ЉУДМИЛА
+ОЧКАЈИ ИШТВАН
+ОЧКО ВИЛХЕЛМ
+ОЧОВАЈ БОЖЕНКА
+ОЧОВАЈ ЗУЗАНА
+ОШАП ЈЕЛЕНА
+ОШАП ЈОВАН
+ОШКЕРТ АНКА
+ОШТРИЋ МИЛЕ ДИПЛ ИНГ
+ОШТРИКА ЖАРКО
+ОШТРИКА ЖАРКО
+ОШТРИКА ДАРИНКА
+ОЖЕГОВИЋ ЖАРКО ДИПЛ ИНГ
+ОЖЕГОВИЋ БОШКО
+ОЖЕГОВИЋ БРАНКО ДИПЛ ИНГ
+ОЖЕГОВИЋ ДАНЕ
+ОЖЕГОВИЋ ДРАГА
+ОЖЕГОВИЋ ЛАЗАР
+ОЖЕГОВИЋ МИРКО
+ОЖЕГОВИЋ МОМЧИЛО
+ОЖЕГОВИЋ НЕВЕНКА
+ОЖЕГОВИЋ СЛАВКО
+ОЖЕГОВИЋ СЛОБОДАН
+ОЖЕКОВИЋ ГОЈКО
+ОЖВАТ ЈАСМИНА
+ОЖВАТ ЈАСМИНА
+ОЖВАТ ЈУЛИЈАНА
+ОЖВАТ ОНДРЕЈ
+ОЂИЋ АЛЕКСАНДАР
+ОБШУСТ ЈАНКО
+ОБАДОВ АЛЕКСАНДРА
+ОБАДОВ МИЛЕ
+ОБАДОВ НАТАЛИЈА
+ОБАДОВ СЛАВКО
+ОБАДОВИЋ ДУШАНКА
+ОБАДОВИЋ МИЛОЈЕ
+ОБАДОВИЋ МИЛОЈЕ
+ОБАДОВИЋ МИЛОЈЕ
+ОБАДОВИЋ МИЛОРАД
+ОБАДОВИЋ СЛОБОДАНКА
+ОБЕРМАЈЕР ФРАЊА
+ОБЕРМАН БРАНИСЛАВ
+ОБЕРТ ФРАНЦ
+ОБЈЕДОВИЋ СТОЈАН
+ОБЛЕШЧУК АНКА
+ОБЛЕШЧУК АНКА
+ОБЛЕШЧУК ДРАГИША
+ОБЛЕШЧУК ГРЕГОР
+ОБЛЕШЧУК МАРИЈА
+ОБОЧКИ ВЛАДИМИР
+ОБРАДОВ ГОРДАНА
+ОБРАДОВ ГОРДАНА
+ОБРАДОВ ЉУБИША
+ОБРАДОВ ЉУБИША
+ОБРАДОВ МИЛАН
+ОБРАДОВ МИЛОРАД
+ОБРАДОВ НАДА
+ОБРАДОВ НОВАК
+ОБРАДОВ РАДИВОЈ
+ОБРАДОВ РАДМИЛА
+ОБРАДОВ СТОЈАНКА
+ОБРАДОВИЋ ЧЕДОМИР
+ОБРАДОВИЋ ЖИВКО
+ОБРАДОВИЋ ЖИВКО
+ОБРАДОВИЋ ЂОРЂЕ
+ОБРАДОВИЋ ЂОРЂЕ
+ОБРАДОВИЋ ЂОРЂЕ
+ОБРАДОВИЋ ЂУРЂИНА
+ОБРАДОВИЋ ЂУРО
+ОБРАДОВИЋ ЂУРО
+ОБРАДОВИЋ АЛЕКСАНДАР
+ОБРАДОВИЋ АНКА
+ОБРАДОВИЋ БОГДАНКА
+ОБРАДОВИЋ БОГДАН
+ОБРАДОВИЋ БОГДАН
+ОБРАДОВИЋ БОРИСЛАВ
+ОБРАДОВИЋ БОРКА
+ОБРАДОВИЋ БРАНИСЛАВ
+ОБРАДОВИЋ БРАНИСЛАВ
+ОБРАДОВИЋ БРАНКО
+ОБРАДОВИЋ БУДИМИР
+ОБРАДОВИЋ БУДО
+ОБРАДОВИЋ ДАНЕ
+ОБРАДОВИЋ ДАНИЈЕЛА
+ОБРАДОВИЋ ДАНИЛО ДР
+ОБРАДОВИЋ ДМИТАР
+ОБРАДОВИЋ ДОБРИЛА
+ОБРАДОВИЋ ДРАГАН
+ОБРАДОВИЋ ДРАГИЦА
+ОБРАДОВИЋ ДРАГОЉУБ
+ОБРАДОВИЋ ДУШАНКА
+ОБРАДОВИЋ ДУШАН
+ОБРАДОВИЋ ДУШАН
+ОБРАДОВИЋ ДУШАН
+ОБРАДОВИЋ ДУШАН
+ОБРАДОВИЋ ДУШАН
+ОБРАДОВИЋ ДУШАН
+ОБРАДОВИЋ ЕМИЛИЈА
+ОБРАДОВИЋ ГЛИША
+ОБРАДОВИЋ ГОРДАНА
+ОБРАДОВИЋ ГВОЗДЕН
+ОБРАДОВИЋ ИЛИЈА
+ОБРАДОВИЋ ЈАСМИНА
+ОБРАДОВИЋ ЈОВАН
+ОБРАДОВИЋ ЈОВАН
+ОБРАДОВИЋ ЈОВО
+ОБРАДОВИЋ КОНСТАНТИН
+ОБРАДОВИЋ ЛАЗАР
+ОБРАДОВИЋ ЛАЗАР
+ОБРАДОВИЋ ЛИДИЈА
+ОБРАДОВИЋ ЉИЉАНА
+ОБРАДОВИЋ ЉИЉАНА
+ОБРАДОВИЋ ЉИЉАНА
+ОБРАДОВИЋ ЉУБИША
+ОБРАДОВИЋ ЉУБОДРАГ
+ОБРАДОВИЋ ЛУКА
+ОБРАДОВИЋ МАРКО
+ОБРАДОВИЋ МИЛАДИН
+ОБРАДОВИЋ МИЛАН
+ОБРАДОВИЋ МИЛА
+ОБРАДОВИЋ МИЛЕНА
+ОБРАДОВИЋ МИЛЕНКО
+ОБРАДОВИЋ МИЛЕ
+ОБРАДОВИЋ МИЛЕ
+ОБРАДОВИЋ МИЛИЦА
+ОБРАДОВИЋ МИЛИЈАНА
+ОБРАДОВИЋ МИЛКА
+ОБРАДОВИЋ МИЛОШ
+ОБРАДОВИЋ МИЛОЈКО
+ОБРАДОВИЋ МИЛОРАД
+ОБРАДОВИЋ МИЛОРАД
+ОБРАДОВИЋ МИЛОВАН ДИПЛ ИНГ
+ОБРАДОВИЋ МИЛУН
+ОБРАДОВИЋ МИЛУТИН
+ОБРАДОВИЋ МИОДРАГ
+ОБРАДОВИЋ МИРАШ
+ОБРАДОВИЋ МИРЈАНА ДИПЛ ИНГ
+ОБРАДОВИЋ МИРКО
+ОБРАДОВИЋ МИРОСЛАВ
+ОБРАДОВИЋ МЛАДЕН
+ОБРАДОВИЋ НАДА
+ОБРАДОВИЋ НЕБОЈША
+ОБРАДОВИЋ НЕДЕЉКА
+ОБРАДОВИЋ НЕДЕЉКО
+ОБРАДОВИЋ НЕМАЊА
+ОБРАДОВИЋ НЕНАД ДР ЛЕКАР
+ОБРАДОВИЋ НИКОЛА
+ОБРАДОВИЋ ПЕТАР
+ОБРАДОВИЋ ПЕТАР
+ОБРАДОВИЋ РАДЕ
+ОБРАДОВИЋ РАДИВОЈЕ
+ОБРАДОВИЋ РАДИВОЈ
+ОБРАДОВИЋ РАДМИЛА
+ОБРАДОВИЋ РАТКО
+ОБРАДОВИЋ РОСА
+ОБРАДОВИЋ САВА
+ОБРАДОВИЋ-СИКИМИЋ МИРЈАНА
+ОБРАДОВИЋ СЛАВИЦА
+ОБРАДОВИЋ СЛАВКО
+ОБРАДОВИЋ СЛАВКО
+ОБРАДОВИЋ СЛОБОДАН
+ОБРАДОВИЋ СМИЉКА
+ОБРАДОВИЋ СМИЉКА
+ОБРАДОВИЋ СТАНИМИР
+ОБРАДОВИЋ СТАНКО
+ОБРАДОВИЋ СТЕВАН ДР
+ОБРАДОВИЋ СТЕВАН
+ОБРАДОВИЋ СТЕВАН
+ОБРАДОВИЋ СТЕВО
+ОБРАДОВИЋ СТЕВО
+ОБРАДОВИЋ СТЈЕПАН
+ОБРАДОВИЋ СВЕТОЗАР
+ОБРАДОВИЋ СВЕТОЗАР
+ОБРАДОВИЋ СВЕТОЗАР
+ОБРАДОВИЋ ТОДОР
+ОБРАДОВИЋ ВЕРА
+ОБРАДОВИЋ ВЕРА
+ОБРАДОВИЋ ВОЈИСЛАВ
+ОБРАДОВИЋ ЗЛАТИЦА
+ОБРЕХТ ПЕТАР
+ОБРЕНИЋ БОРИВОЈЕ
+ОБРЕНИЋ ДРАГО
+ОБРЕНИЋ ЈЕЛИСАВЕТА
+ОБРЕНИЋ МАНОЈЛЕ
+ОБРЕНИЋ МИЛАДИН
+ОБРЕНИЋ МИЛЕВА
+ОБРЕНИЋ МИЛОМИР
+ОБРЕНИЋ ПРЕДРАГ
+ОБРЕНИЋ РАДОМАН
+ОБРЕНИЋ СНЕЖАНА
+ОБРЕНОВ ЖИВАН
+ОБРЕНОВ ЖИВАН
+ОБРЕНОВ ЈЕЛЕНА
+ОБРЕНОВ ЈЕВРЕМ
+ОБРЕНОВ ЈОЛАНДА
+ОБРЕНОВ КРУНА
+ОБРЕНОВ ПЕТАР
+ОБРЕНОВ РАДИВОЈ
+ОБРЕНОВ САЊА
+ОБРЕНОВ САВА
+ОБРЕНОВ СЛОБОДАНКА
+ОБРЕНОВ СТАНКА
+ОБРЕНОВ СТЕВАН
+ОБРЕНОВ ВАСА
+ОБРЕНОВ ВЛАДИМИР
+ОБРЕНОВ ЗОРИЦА
+ОБРЕНОВ ЗОРИЦА
+ОБРЕНОВИЋ БОЖИДАР
+ОБРЕНОВИЋ БРАНКО
+ОБРЕНОВИЋ ДАРИНКА
+ОБРЕНОВИЋ ДЕСИМИР
+ОБРЕНОВИЋ КАТАРИНА
+ОБРЕНОВИЋ МИЛАН ДР
+ОБРЕНОВИЋ МИОДРАГ ДИПЛ ИНГ
+ОБРЕНОВИЋ МИРОСЛАВ
+ОБРЕНОВИЋ НИКОЛА
+ОБРЕНОВИЋ РАДОСЛАВ
+ОБРЕНОВИЋ ТАТЈАНА
+ОБРЕНОВИЋ ВАСО
+ОБРЕНОВИЋ ВЛАЈКО
+ОБРИЋ ГОЈКО
+ОБРИЋ РАДОЈИЦА
+ОБРКНЕЖЕВ ЂОРЂЕ
+ОБРКНЕЖЕВ МИЛЕНКО
+ОБРКНЕЖЕВ РАДМИЛА
+ОБРКНЕЖЕВ РАДОЈКА
+ОБРКНЕЖЕВ СТЕВАН
+ОБРОВАЧКИ ДУШИЦА
+ОБРОВАЧКИ ГОРДАНА
+ОБРОВАЧКИ МИРОСЛАВ
+ОБРОВАЧКИ РАДЕ
+ОБРОВАЧКИ СВЕТОЗАР
+ОБРОВАЦ МИЈАТ
+ОБРОВСКИ ЂОРЂЕ
+ОБРОВСКИ ДРАГУТИН
+ОБРОВСКИ ИВАН
+ОБРОВСКИ ЈОВАН
+ОБРОВСКИ КАТИЦА
+ОБРОВСКИ МИХАЈЛО
+ОБРОВСКИ ВАСА
+ОБУЋИНА РАТОМИР
+ОБУЋИНА СЛАВКО
+ОБУЋИНА СЛАВОЉУБ
+ОЦОКОЉИЋ ЉУБИНКО
+ОЏИЋ НОВКА
+ОЏИЋ РАТОМИР
+ОЏИЋ ЗОРКА
+ОЏОВСКИ ИЛИЈА
+ОДАЏИЋ ДУШАН
+ОДАЏИЋ ГОРДАНА
+ОДАЏИЋ ЈЕЛИСАВЕТА
+ОДАЏИЋ НАДА
+ОДАЏИЋ РАДИВОЈ
+ОДАЏИЋ СТЕВАН
+ОДАЛОВИЋ БРАНКО
+ОДАВИЋ-ЈОСИЋ ЈЕЛИЦА ДИПЛ ИНГ
+ОДАВИЋ МИЛКА
+ОДАВИЋ СЛАВКО
+ОДОР ЈОСИП
+ОДОВИЋ ЈОВО
+ОДРИ БАЛИНТ
+ОДРИ КАРЛО
+ОФЕНБЕХЕР ГИЗЕЛА
+ОФЕНБЕХЕР ВАЛЕРИЈА
+ОФЕНБЕХЕР ВЕРИЦА
+ОГАР ЈЕЛЕНА
+ОГАР ВЛАДЕ
+ОГНЕНОВСКА БОЈАНА
+ОГНЕНОВСКА ЦВЕТАНКА
+ОГЊАНАЦ ДРАГИЦА
+ОГЊАНОВ МИЛЕТА
+ОГЊАНОВАЦ БОРИСЛАВ
+ОГЊАНОВИЋ ЂОРЂЕ
+ОГЊАНОВИЋ АЦА
+ОГЊАНОВИЋ БРАНИСЛАВА
+ОГЊАНОВИЋ ДАНИЛО
+ОГЊАНОВИЋ ДЕЈАН ДР ЛЕКАР
+ОГЊАНОВИЋ ДМИТАР
+ОГЊАНОВИЋ МАРИЈА ДР ЛЕКАР
+ОГЊАНОВИЋ МИХАЈЛО
+ОГЊАНОВИЋ МИЛОВАН
+ОГЊАНОВИЋ ОГЊЕНА
+ОГЊАНОВИЋ РАДОЈКА ДР ЛЕКАР
+ОГЊАНОВИЋ РАНКО
+ОГЊАНОВИЋ СПАСОЈЕ
+ОГЊАНОВИЋ СВЕТЛАНА
+ОГЊЕНОВИЋ БОЖИДАР
+ОГЊЕНОВИЋ ДАРА
+ОГЊЕНОВИЋ ДРАГУТИН
+ОГЊЕНОВИЋ МИЛЕНКО
+ОГЊЕНОВИЋ НИКОЛА
+ОГЊЕНОВИЋ НИКОЛА
+ОГЊЕНОВИЋ НОВКА
+ОГЊЕНОВИЋ ПЕТАР
+ОГЊЕНОВИЋ РАДОВАНКА
+ОГЊЕНОВИЋ СТАНИСЛАВ
+ОГЊЕНОВИЋ СТЕВАН
+ОГЊЕНОВИЋ СТЕВО
+ОГЊЕНОВИЋ ТОМИСЛАВ
+ОГОРЕЛИЦА БИЛЈАНА
+ОГОРЕЛИЦА БОГДАН
+ОГОРЕЛИЦА БРАНКО
+ОГОРЕЛИЦА МАРИЈА
+ОГРИЗЕК ДРАГИЦА
+ОГРИЗЕК ДРАГУТИН
+ОГРИЗЕК КРИСТИНА
+ОГРИЗЕК РОБЕРТ
+ОГРИЗОВИЋ АЛЕКСАНДАР
+ОГРИЗОВИЋ БОРА
+ОГРИЗОВИЋ ДЕСАНКА
+ОГРИЗОВИЋ ДЕСАНКА
+ОГРИЗОВИЋ ДРАГИЦА
+ОГРИЗОВИЋ ДУШАН
+ОГРИЗОВИЋ ЉУБИЦА
+ОГРИЗОВИЋ ЉУБИЦА
+ОГРИЗОВИЋ МИЛАН
+ОГРИЗОВИЋ МИЛЕ
+ОГРИЗОВИЋ МИЛИВОЈ
+ОГРИЗОВИЋ НЕДЕЉКО
+ОГРИЗОВИЋ НЕДЕЉКО
+ОГРИЗОВИЋ РАДОЈКА
+ОГРИЗОВИЋ СРЕТА
+ОГРИЗОВИЋ ВЕЉКО
+ОГРИЗОВИЋ ВЛАДИМИР
+ОГРИЗОВИЋ ЗОРАН
+ОЈДАНИЋ САВА
+ОЈКИЋ СЛАВКО
+ОКАШАНОВИЋ СРЕТЕН
+ОКАЊ СТЕВАН
+ОКАЊИ ЛАЈОШ
+ОКАЊИ ОСКАР
+ОКАЊИ РАНКА
+ОКАЊИ ТИБОР
+ОКАНОВИЋ НОВИЦА
+ОКЕЗАН ЈОВАН
+ОКИЉ СЛАВКО
+ОКИЉЕВИЋ СОФИЈА
+ОКЉЕША НЕНАД
+ОКЉЕША НЕНАД
+ОКЛОБЏИЈА МАРКО
+ОКРАЈНОВ СТЕВАН
+ОКРУЖНИК ДРАГАН
+ОКСЕНФЕЛД ЈОВАН
+ОКУКА ЉИЉАНА
+ОКУЛИЋ БОГДАН
+ОКУЛИЋ ЗОРАН
+ОЛШОВИ НИКОЛА
+ОЛАХ ШАНДОР
+ОЛАХ ШАНДОР
+ОЛАХ ШАНДОР
+ОЛАХ ЂОРЂЕ
+ОЛАХ АНДРИЈА
+ОЛАХ ЕРНА
+ОЛАХ ФЕРЕНЦ
+ОЛАХ ФЕРЕНЦ
+ОЛАХ ИШТВАН
+ОЛАХ ИШТВАН
+ОЛАХ ЈЕЛЕНА
+ОЛАХ ЈЕЛИСАВЕТА
+ОЛАХ ЈОВАН
+ОЛАХ ЈУЛИЈАНА
+ОЛАХ ЛАСЛО
+ОЛАХ МИРКО
+ОЛАХ НАНДОР
+ОЛАХ НАНДОР
+ОЛАХ ПАВЛЕ
+ОЛАХ ПАВЛЕ
+ОЛАХ РОЗАЛИЈА
+ОЛАХ ВИНЦЕ
+ОЛАЈОШ БЕЛА
+ОЛАЈОШ ГОРДАНА
+ОЛАЈОШ ЈАНОШ
+ОЛАЈОШ МИХАЉ
+ОЛАЈОШ МИХАЉ
+ОЛАЈОШ ОТО
+ОЛАР ПАУ
+ОЛБИНА СЛАВКО
+ОЛЕАР МИХАЈЛО
+ОЛЕАР МИХАЈЛО
+ОЛЕАР САЊА
+ОЛЕАР СВЕТИСЛАВ
+ОЛЕАР ВЛАДА
+ОЛЕЈАР ЈОАКИМ
+ОЛИЧКОВ БРАНИСЛАВ
+ОЛИЧКОВ МИЛОРАД
+ОЛИЋ СТЕВАН
+ОЛИВЕРИЋ НЕБОЈША
+ОЉШЕВСКА НАТАША
+ОЉАЧА ИЛИЈА
+ОЉАЧА МАРИЦА
+ОЉАЧА МИЛЕНКО
+ОЉАЧА МИЛОВАН
+ОЉАЧА НИКОЛА
+ОЉАЧА РАДА
+ОЉАЧА СЛАВОЉУБ
+ОЉАЧА СТАНИСЛАВ
+ОЉАЧА СТЕВАН
+ОЛМАН МАРИЈА
+ОЛУШКИ ДОБРИЛА
+ОЛУШКИ ДУШАН
+ОЛУШКИ ДУШАН
+ОЛУШКИ ЛАЗАР
+ОЛУШКИ МИЛУТИН
+ОЛУШКИ МИРОСЛАВ
+ОЛУШКИ МИРОСЛАВ
+ОЛУШКИ ОЛИВЕРА
+ОЛУШКИ СТОЈАН
+ОЛУШКИ ТОДОР
+ОЛУШКИ ТОМИСЛАВ
+ОЛУШКИ ВАСА
+ОЛУШКИ ВЕЛИМИР ДР
+ОЛУШКИ ВЕРИЦА
+ОЛУЈИЋ ИВАНА
+ОЛУЈИЋ ИВАН
+ОЛУЈИЋ ЈЕЛЕНА
+ОЛУЈИЋ МИЛИЦА
+ОЛУЈИЋ МИРКО
+ОМЧИКУС БОШКО
+ОМЧИКУС ЈЕЛЕНА
+ОМЧИКУС МАГДА
+ОМЧИКУС НИКОЛА
+ОМЧИКУС РАЈКО
+ОМАЉЕВ ИВАН
+ОМАЉЕВ ИВАН
+ОМАЉЕВ ЈУЛКА
+ОМАЉЕВ ЛЕПОСАВА
+ОМАЉЕВ ЛЕПОСАВА
+ОМАЉЕВ МИЛЕНА
+ОМАЉЕВ МИЛОРАД
+ОМАЉЕВ ВОЈИСЛАВ
+ОМАЗИЋ СОФИЈА
+ОМЕРАГИЋ КЕМАЛ
+ОМЕРИ ХАЈРУДИН
+ОМЕРИ ХАЛИМ
+ОМЕРИ ХАСО
+ОМЕРИ НЕЏАД
+ОМЕРИ НУРУДИН
+ОМЕРЗУ АНТОН
+ОМЕРЗУ ЕЛИЗАБЕТА
+ОМИЋ ИДРИЗ
+ОМОРАЦ КАТАРИНА
+ОМОРАЦ ЛАТИНКА
+ОНЧЕВСКИ ЈОВАН
+ОНЧУ ПЕТАР
+ОНДРИК ДУШАНКА
+ОНЕШЧУК МИХАЈЛО
+ОНЕШЋУК НЕНАД
+ОНХАУЗ МАРИЈА
+ОНОДИ ИШТВАН
+ОПАЧАК АНТУН
+ОПАЧАК ИВАН
+ОПАЧИЋ АНЂА
+ОПАЧИЋ АНГЕЛИНА
+ОПАЧИЋ БОСИЉКА
+ОПАЧИЋ БРАНКО
+ОПАЧИЋ ДУШАН
+ОПАЧИЋ КОСТА
+ОПАЧИЋ МИЛАН
+ОПАЧИЋ МИЛАН
+ОПАЧИЋ МИЛОРАД
+ОПАЧИЋ МИОДРАГ
+ОПАЧИЋ МИРКО
+ОПАЧИЋ МИРКО
+ОПАЧИЋ НЕНАД
+ОПАЧИЋ ПАВЛЕ
+ОПАЧИЋ СИМО
+ОПАЧИЋ СЛАВКО
+ОПАЧИЋ СТЕВАН
+ОПАЧИЋ ТОДОР
+ОПАЛИЋ ДАРИНКА
+ОПАЛИЋ МАРКО
+ОПАЛИЋ НИКОЛА
+ОПАЛИЋ НИКОЛА
+ОПАЛИЋ НИКОЛА
+ОПАЛИЋ СОФИЈА
+ОПАНЧАРЕВ ДУШАН
+ОПАНЧАРЕВ ИВАН
+ОПАНЧАРЕВ МИЛКА
+ОПАРНИЦА ЉУБО
+ОПАРНИЦА ЛУКА
+ОПАРНИЦА МАКСИМ
+ОПАРНИЦА МАКСИМ
+ОПАРНИЦА МАКСИМ
+ОПАРНИЦА МАРИНКО
+ОПАРНИЦА МИЛЕНКО
+ОПАРНИЦА МИРА
+ОПАРНИЦА СОФИЈА
+ОПАРНИЦА ВИД
+ОПЕЛЦ ЛАДИСЛАВ
+ОПОЈЛЕВИЋ ЛАЗАР
+ОПРАНОВИЋ БОЖИДАР
+ОПРАНОВИЋ МИЦА
+ОПРЕШНИК АНКИЦА
+ОПРИЈАН АНЂЕЛКО ДИПЛ ИНГ
+ОПРИЈАН ДРАГАН
+ОПРИЈАН МИЛКА
+ОПРУЦ МИЛОРАД
+ОПСЕНИЦА МИЛАН
+ОПСЕНИЦА СОКА
+ОРЧИЋ ШИМЕ
+ОРЧИЋ ШИМЕ
+ОРЧИЋ БОЖИДАР
+ОРЧИЋ ДРАГО
+ОРЧИЋ ИВАН
+ОРЧИЋ СТЈЕПАН
+ОРШИЋ ЂОРЂЕ
+ОРШИЋ ЈОЦА
+ОРШИЋ МИЛИЦА
+ОРШОШ ЂОРЂЕ
+ОРШОШ БРАНКО
+ОРШОШ ДРАГАН
+ОРШОШ ФЕРЕНЦ
+ОРШОШ ЈОСИП
+ОРШОШ НИКОЛА
+ОРШОШ РОЗАЛИЈА
+ОРШОШ САВА
+ОРШОШ ТЕРЕЗА
+ОРШОШ ЗОРАН
+ОРШОЛИЋ СТЈЕПАН
+ОРАНИЦА МАКСИМ
+ОРАВЕЦ БРАНИСЛАВ
+ОРАВЕЦ БРАНКО
+ОРАВЕЦ МАРКО
+ОРАВЕЦ ПАВЛЕ
+ОРБАН АЛЕКСАНДАР
+ОРБАН ЕМИЛИЈА
+ОРБАН ГАВРА
+ОРБАН ВЕСНА
+ОРДАНОСКИ ЈЕЛЕНА
+ОРДИНАЧЕВ ЂОРЂЕ
+ОРДИНАЧЕВ МЛАДЕН
+ОРДИНАЧЕВ ТОДОР
+ОРДИНАЧЕВ ТОДОР
+ОРДИНАЧЕВ ТОДОР
+ОРЕШЧАНИН БОГДАН
+ОРЕШЧАНИН БРАНКО
+ОРЕШЧАНИН МИЛАН
+ОРЕШЧАНИН МИЛОВАН
+ОРЕШЧАНИН НАТАЛИЈА ДР
+ОРЕШЧАНИН НАТАЛИЈА
+ОРЕШЧАНИН НИКОЛА
+ОРЕШЧАНИН РАДОВАН
+ОРЕШЧАНИН ВЛАДИМИР
+ОРЕШЧАНИН ВЛАДИМИР
+ОРЕШЋАНИН ДУШАН
+ОРЕШКОВИЋ ДОНА
+ОРЕШКОВИЋ ЈЕЛЕНА
+ОРЕШКОВИЋ МИЛЕ
+ОРЕШКОВИЋ СЛАВКО
+ОРЕШКОВИЋ ЗВОНИМИР
+ОРЕБ БОРИС
+ОРЕХОВАЦ РУЖА
+ОРЕЉ ЂУРО
+ОРЕЉ БРАНИСЛАВ
+ОРЕЉ ДАРИНКА
+ОРЕЉ ЈОВАН
+ОРЕЉ ЉУБО
+ОРЕЉ МАТИЛДА
+ОРЕЉ МИЛЕВА
+ОРЕЉ НАТАЛИЈА
+ОРЕЉ РАДЕ
+ОРЕНДИ ЈУЛИЈАНА
+ОРЕНДИ ЛАСЛО
+ОРЕНДИ ОТО
+ОРЛАНДИЋ КОРНЕЛИЈА
+ОРЛАНДИЋ ЗОЛТАН
+ОРЛИЋ БРАНИСЛАВ
+ОРЛИЋ ЉУБИЦА
+ОРЛИЋ ЉУБИЦА
+ОРЛИЋ МАРИЦА
+ОРЛИЋ МАРИЈА
+ОРЛИЋ МИЛАН
+ОРЛИЋ МИЛОРАД
+ОРЛИЋ НАДА
+ОРЛИЋ НАДЕЖДА
+ОРЛИЋ НЕДЕЉКО
+ОРЛИК АНА
+ОРЛИК МАРИЈА
+ОРЛОВАЦ ЕРЖЕБЕТ
+ОРЛОВИЋ АНТЕ
+ОРЛОВИЋ ДАРИНКА
+ОРЛОВИЋ ДУШАН
+ОРЛОВИЋ ЈОВО
+ОРЛОВИЋ ЉУБИЦА
+ОРЛОВИЋ МАНЕ
+ОРЛОВИЋ МИХАЈЛО
+ОРЛОВИЋ МИЛАН
+ОРЛОВИЋ МИЛАН
+ОРЛОВИЋ МИЛОРАД ДР
+ОРЛОВИЋ МИЛОРАД
+ОРЛОВИЋ САША
+ОРЛОВИЋ СРБОЉУБ
+ОРЛОВИЋ СТЕВИЦА
+ОРЛОВИЋ СТОЈАН
+ОРЛОВИЋ СВЕТЛАНА
+ОРМАИ ТИБОР
+ОРЊАКОВ ПРИЗРЕНКА
+ОРО ЧЕДОМИР
+ОРОС ЖАРКО
+ОРОС ЂУРА
+ОРОС ЂУРА
+ОРОС АЛБЕРТ
+ОРОС ЕУГЕН
+ОРОС ЈОАКИМ
+ОРОС МАРИЈА
+ОРОС НИКОЛА
+ОРОС ВАСА
+ОРОС ЗДЕНКА
+ОРОВЧАНЕЦ КИРА ДР
+ОРОВЕЦ ЈОСИП
+ОРОВИЋ МИЛОВАН
+ОРСАГ АНТАЛ
+ОРСИЋ РАДМИЛА
+ОРТАК КАЋА
+ОРВОШ ЛАЈОШ
+ОРЗА МИРЦА
+ОРЗА РОСАНА
+ОСЕЋАНСКИ МЛАДЕН
+ОСЕТРОВ НИКОЛА
+ОСЛОВЧАН БОСИЉКА
+ОСМАНАЈ ИМЕР
+ОСМАНИ АСАН
+ОСМАНИ МЕХМЕД
+ОСМАНИ НЕШАТ
+ОСМАНИ РОМАНКА
+ОСМАНИ СЕЛИМ
+ОСМАНКАЧ СЕЛИМ
+ОСМАНОВИЋ КЛАУДИЈА
+ОСМАНОВИЋ ЉУБИНКА
+ОСМОНОЈ САДРИЈА
+ОСНОВИЋ ОСКАР
+ОСОСЛИЈА РАДЕНКО
+ОСРЕДКАР ЈОСИП
+ОСТЕР ИЛОНА
+ОСТОИЋ ЂОРЂЕ
+ОСТОИЋ ЗОРАН
+ОСТОЈИЋ ЖИВКО
+ОСТОЈИЋ ЂОРЂЕ
+ОСТОЈИЋ БОШКО
+ОСТОЈИЋ БОЖИДАР
+ОСТОЈИЋ БОЖИДАР
+ОСТОЈИЋ БОГДАН
+ОСТОЈИЋ БРАНА
+ОСТОЈИЋ БРАНИМИР
+ОСТОЈИЋ БРАНИСЛАВ ДР
+ОСТОЈИЋ БРАНКО
+ОСТОЈИЋ ДАФИНА
+ОСТОЈИЋ ДОБРИВОЈ
+ОСТОЈИЋ ДРАГАН
+ОСТОЈИЋ ДРАГИЦА
+ОСТОЈИЋ ДРАГИЦА
+ОСТОЈИЋ ДРАГОЉУБ
+ОСТОЈИЋ ДУШАН
+ОСТОЈИЋ ДУШАН
+ОСТОЈИЋ ДУШАН
+ОСТОЈИЋ ГОЈКО
+ОСТОЈИЋ ГОРИНКА
+ОСТОЈИЋ ИВАН
+ОСТОЈИЋ ЈОВАНКА
+ОСТОЈИЋ КАТИЦА
+ОСТОЈИЋ ЛАЗАР
+ОСТОЈИЋ ЉУБА
+ОСТОЈИЋ ЉУБИНКО
+ОСТОЈИЋ ЉУБОМИР
+ОСТОЈИЋ ЉУБОМИР
+ОСТОЈИЋ ЉУБОМИР
+ОСТОЈИЋ МИЋА
+ОСТОЈИЋ МИЛАДИН
+ОСТОЈИЋ МИЛАН
+ОСТОЈИЋ МИЛЕНКО
+ОСТОЈИЋ МИЛЕНКО
+ОСТОЈИЋ МИЛЕВА
+ОСТОЈИЋ МИЛИЦА
+ОСТОЈИЋ МИЛКА
+ОСТОЈИЋ МИЛОШ
+ОСТОЈИЋ МИЛОРАД
+ОСТОЈИЋ МИЛОРАД
+ОСТОЈИЋ МИРЈАНА
+ОСТОЈИЋ НАДА
+ОСТОЈИЋ НАТАША
+ОСТОЈИЋ НЕНАД
+ОСТОЈИЋ ОБРАД
+ОСТОЈИЋ ОБРАД
+ОСТОЈИЋ ОЛГА
+ОСТОЈИЋ ПЕТАР
+ОСТОЈИЋ ПЕТАР
+ОСТОЈИЋ ПЕТАР
+ОСТОЈИЋ ПЕТАР
+ОСТОЈИЋ ПЕТАР
+ОСТОЈИЋ ПЕТАР
+ОСТОЈИЋ ПРЕДРАГ
+ОСТОЈИЋ РАДИВОЈЕ
+ОСТОЈИЋ РАДОЈИЦА
+ОСТОЈИЋ РАДОВАН
+ОСТОЈИЋ РАТКО
+ОСТОЈИЋ РИСТО
+ОСТОЈИЋ СЛАВИЦА
+ОСТОЈИЋ СЛАВКО
+ОСТОЈИЋ СЛОБОДАН
+ОСТОЈИЋ СМИЉКА
+ОСТОЈИЋ СТАНА
+ОСТОЈИЋ СТАНКА
+ОСТОЈИЋ СВЕТОЗАР
+ОСТОЈИЋ ТОМИСЛАВ
+ОСТОЈИЋ ВАСА
+ОСТОЈИЋ ВАСИЛИЈЕ
+ОСТОЈИЋ ВЕСЕЛИН
+ОСТОЈИЋ ВЕСЕЛИН
+ОСТОЈИЋ ВЛАДИМИР
+ОСТОЈИЋ ВОЈИСЛАВ
+ОСТОЈИЋ ЗАГОРКА
+ОСТОЈИЋ ЗОРАН
+ОСТОЈИЋ ЗОРА
+ОСТОЈИН ЖАРКО
+ОСТОЈИН ЈУЛКА
+ОСТОЈИН ЛАЗАР
+ОСТОЈИН МАРИЈА
+ОСТОЈИН МИЛОШ
+ОСТОЈИН ПЕРА
+ОСТОЈИН ПЕРО
+ОСТОЈИН ПЕТАР
+ОСТОЈИН ПЕТАР
+ОСТОЈИН РАДОВАН
+ОСТОЈИН СВЕТИСЛАВ
+ОСТОЈИН ТОША
+ОСТРОГОНАЦ ИВАН НОВИНАР
+ОСТРОГОНАЦ ИВАН
+ОСТРОГОНАЦ ТИБОР
+ОСВАЛД БАРБАРА
+ОСВАЛД ИВАН
+ОСВАЛД ВЕРА
+ОТАШЕВИЋ ЖИВКО
+ОТАШЕВИЋ ЈОВАН
+ОТАШЕВИЋ СЛОБОДАНКА
+ОТАШЕВИЋ ВЛАСТА
+ОТИЋ ЖИВКО
+ОТИЋ БОРИВОЈ
+ОТИЋ БОРИВОЈ
+ОТИЋ ДАРИНКА
+ОТИЋ ДУБРАВКА
+ОТИЋ ЈОВАНКА
+ОТИЋ КАТИЦА
+ОТИЋ МИЛАН
+ОТИЋ МИЛИВОЈ
+ОТИЋ НИКОЛА
+ОТИЋ НОВАК
+ОТИЋ РАДОСЛАВА
+ОТИЋ РАДОСЛАВА
+ОТИЋ РАДОСЛАВ
+ОТИЋ САВА
+ОТИЋ СВЕТОЗАР
+ОТИЋ ВЕЛИЗАР
+ОТИЋ ВЛАДИСЛАВ
+ОТИЋ ВУКИЦА
+ОТЛОКАН ЈОВАН
+ОТМАЧИЋ ДРАГО
+ОТОШ АНДРАШ
+ОТОРАНОВ СЛАВКО
+ОТОВИЋ ВЛАДИМИР
+ОТРУПЧАК ЈОСИП
+ОТРУПЧАК МИЛОШ
+ОТРУПЧАК САМУИЛО
+ОВЦИН МИЛОРАД
+ОВУКА ЂУРО
+ОВУКА ЂУРО
+ОВУКА МИЛАН
+ОВУКА НИКОЛА
+ОЗЕР ЂУРА
+ОЗЕР ЂУРА
+ОЗЕР ЂУРА
+ОЗМЕЦ ВЕРА
+ПШЕНИЧНИК ЗВОНИМИР
+ПАЧАРИЋ ЖИВАН
+ПАЧАРИЋ МАРИЈА
+ПАЧАРИЋ МИРКО
+ПАЧАРИЋ НИКОЛА
+ПАЧАРИЋ РАДИВОЈ
+ПАЧАРИЋ РАДОМИР
+ПАЧАРИЋ ЗОРАН
+ПАШЋАН ШТЕФАНИЈА
+ПАШЋАН ЂОРЂЕ
+ПАШЋАН ЂОРЂЕ
+ПАШЋАН АНКА
+ПАШЋАН ДАНИЦА
+ПАШЋАН ДРАГАН
+ПАШЋАН ДУШАНКА
+ПАШЋАН ДУШАН
+ПАШЋАН ГАВРА
+ПАШЋАН ЈОВАН
+ПАШЋАН ЈОВАН
+ПАШЋАН МИЛОРАД
+ПАШЋАН НАДЕЖДА
+ПАШЋАН НЕДЕЉКО
+ПАШЋАН НИКОЛА
+ПАШЋАН ОЛГА
+ПАШЋАН ПЕРА
+ПАШЋАН ПЕТАР
+ПАШЋАН РАДИВОЈ
+ПАШЋАН РАДОСЛАВА
+ПАШЋАН РАДОСЛАВ
+ПАШЋАН САВА
+ПАШЋАН СИНИША
+ПАШЋАН СМИЉА
+ПАШЋАН СТЕВАН
+ПАШЋАН ТОДОР
+ПАШЋАН ВАСА
+ПАШЋАН ЗАГОРКА
+ПАШЋАНОВИЋ ГРАДИМИР
+ПАШЋАНОВИЋ ЛАЗАР
+ПАШЋАНОВИЋ ЉУБИЦА
+ПАШЋИК КЛАРА
+ПАШЋИК ЛАСЛО
+ПАШАГИЋ РАЈКО
+ПАШАЈЛИЋ АНЂЕЛКО
+ПАШАЈЛИЋ БИЉАНА
+ПАШАЈЛИЋ МИОДРАГ
+ПАШАЈЛИЋ РАДОСЛАВ
+ПАШАЈЛИЋ РАДОСЛАВ
+ПАШАЈЛИЋ ВЛАДО
+ПАШАЛИЋ ПАВЛЕ
+ПАШАНСКИ МИЛАН
+ПАШАНСКИ ВУКИЦА
+ПАШИЋ БОЖАНА
+ПАШИЋ БОЖО
+ПАШИЋ ДРАГИЦА
+ПАШИЋ ДУШКО
+ПАШИЋ ЈОВАН
+ПАШИЋ КАТИЦА
+ПАШИЋ МИЛАН
+ПАШИЋ МИЛЕНА
+ПАШИЋ ПЕТАР
+ПАШИЋ РОСА
+ПАШИЋ САША
+ПАШИЋ СИНИША
+ПАШИЋ СТОЈА
+ПАШИЋ ВОЈИСЛАВ
+ПАШИЋ ЗОРА
+ПАШИН ГРОЗДАНА
+ПАШКА ШАНДОР
+ПАШКИНОВ ВАСКО
+ПАШТЕРАЦ АЛЕКСАНДАР
+ПАШТИ ШАНДОР
+ПАШТИ МАТИЈА
+ПАШУЈКОВИЋ ЈОВАН
+ПАЋИ БОРИС
+ПАЋИ ИШТВАН
+ПАЋИ МАРИО
+ПАЋУК НИКОЛА
+ПАЋУК СЛАВКО
+ПАЖЂЕРСКИ-МАНОЈЛОВИЋ ЈЕЛЕНА
+ПАЖИН ЖЕЉКО
+ПАЖИН АНЂЕЛКО
+ПАЖИН ДАНИЦА
+ПАЖИН ЉУБОМИР
+ПАЂАН ЉУБОМИР
+ПАЂАН МИЛИЦА
+ПАЂЕН ДУШАН
+ПАЂЕН ЛЕПА
+ПАЂЕН МАРИЈА
+ПАЂЕН СТЕВА
+ПАЂЕН ЗДРАВКО
+ПАЦ ИВАНКА
+ПАЦЕК ЛАСЛО
+ПАЦИК ИШТВАН
+ПАДЕЖАНИН ЉУБО
+ПАДЕЖАНИН ВЛАДЕТА
+ПАДЕЈСКИ МИЛЕНА
+ПАДЕЈСКИ МИЛОВАН
+ПАДЕЈСКИ САВА
+ПАДЕЈСКИ ВЕЛИМИР
+ПАДИ АЛЕКСАНДАР
+ПАДИ АЛЕКСАНДАР
+ПАДИ ЛАЈОШ
+ПАДРОВ ГОРАН
+ПАДРОВ НИКОЛА
+ПАДРОВ РАДИВОЈ
+ПАДРОВ ВЕСНА
+ПАГАЧ БИЉАНА
+ПАГАЧ НИКОЛА
+ПАГАЧЕВИЋ АНЂЕЛКО
+ПАГАЧЕВИЋ ДРАГОМИР
+ПАГАЧЕВИЋ СТЕВАН
+ПАГАЧЕВИЋ СТЕВАН
+ПАГАЧЕВИЋ ВАСА
+ПАГАНЕТО ТИНА
+ПАГОНИС ЈУЛКА
+ПАГОНИС ВЛАДИМИРОС
+ПАИЋ ЂУРАЂ
+ПАИЋ ДРАГАН
+ПАИЋ ФРАНЕ
+ПАИЋ ИВАН
+ПАИЋ МАРИЈА
+ПАЈЧИЋ АЛЕКСА
+ПАЈЧИЋ АНА
+ПАЈЧИН ИЛИЈА
+ПАЈЧИН МИЛОЈКО
+ПАЈЧИН НЕДЕЉКА
+ПАЈЧИН ВОЈИСЛАВ
+ПАЈАНТИЋ ДРАГАН
+ПАЈАЗИТОВИЋ МИРЈАНА
+ПАЈДАКОВИЋ ДУБРАВКА
+ПАЈДИЋ ЈУЛИЈА
+ПАЈДИЋ МАРИЈАН
+ПАЈЕВИЋ ЂОРЂЕ
+ПАЈЕВИЋ ДРАГОЉУБ
+ПАЈЕВИЋ ГОРАН
+ПАЈЕВИЋ КОСТА
+ПАЈЕВИЋ МИЛАН
+ПАЈИЋ БЛАГОЈЕ
+ПАЈИЋ БЛАГОЈЕ
+ПАЈИЋ БОЖИДАР
+ПАЈИЋ БОЖО
+ПАЈИЋ БОГИЋ
+ПАЈИЋ БОРИСЛАВ
+ПАЈИЋ БРАНИСЛАВ
+ПАЈИЋ БРАНКО
+ПАЈИЋ БУДИСЛАВ
+ПАЈИЋ ДОБРИВОЈ
+ПАЈИЋ ДРАГОСЛАВ
+ПАЈИЋ ДУШАН ДР
+ПАЈИЋ ДУШАН
+ПАЈИЋ ДУШАН
+ПАЈИЋ ЕМИНА
+ПАЈИЋ ГОРДАНА
+ПАЈИЋ ГОРИЦА
+ПАЈИЋ ГРУЈА
+ПАЈИЋ КОВИЉКА
+ПАЈИЋ ЉУБИНКА
+ПАЈИЋ ЉУБОМИР ДИПЛ ИНГ
+ПАЈИЋ МАРИЈА
+ПАЈИЋ МИЛИЦА
+ПАЈИЋ МИЛИВОЈЕ
+ПАЈИЋ МИЛОШ
+ПАЈИЋ МИЛОШ
+ПАЈИЋ МИЛОЈЕ
+ПАЈИЋ МИЛОРАД
+ПАЈИЋ МИЛОСАВ
+ПАЈИЋ МИЛУН
+ПАЈИЋ МИРКО
+ПАЈИЋ МИРКО
+ПАЈИЋ МЛАДЕН
+ПАЈИЋ НАДА
+ПАЈИЋ НАДА
+ПАЈИЋ НИКОЛА
+ПАЈИЋ НОВАК
+ПАЈИЋ ПЕРО
+ПАЈИЋ ПЕТАР
+ПАЈИЋ РАДОЈИЦА
+ПАЈИЋ РАДОМИР
+ПАЈИЋ РАДОСЛАВА
+ПАЈИЋ РАЈКО
+ПАЈИЋ СИНИША
+ПАЈИЋ СМИЉА
+ПАЈИЋ СРЕДОЈЕ
+ПАЈИЋ СТЕВАН
+ПАЈИЋ СВЕТОЗАР
+ПАЈИЋ ТИХОМИР
+ПАЈИЋ ВАСА
+ПАЈИЋ ВЕЛИМИР
+ПАЈИЋ ВЕСЕЛИН
+ПАЈИЋ ВИДОСАВА
+ПАЈИЋ ВЛАДИСЛАВ
+ПАЈИЋ ВУКИЦА
+ПАЈИК ДАНИЦА
+ПАЈИН ЈОВАН
+ПАЈИН МИЛИВОЈ
+ПАЈКЕРТ АЛЕКСАНДАР
+ПАЈКЕРТ ФРАЊА
+ПАЈКЕРТ МИРОСЛАВА
+ПАЈКЕРТ РАНКА
+ПАЈКИЋ ДРАГАН
+ПАЈКИЋ РАДОСЛАВ
+ПАЈКОВИЋ ДРАГАНА
+ПАЈКОВИЋ ВЛАСТИМИР
+ПАЈОР МАТИЈА
+ПАЈОВИЋ ШПИРО
+ПАЈОВИЋ ЂОРЂЕ
+ПАЈОВИЋ ДРАГОМИР
+ПАЈОВИЋ ДУШАН
+ПАЈОВИЋ ЈЕЛЕНА
+ПАЈОВИЋ ПРЕДРАГ
+ПАЈОВИЋ РАЈКО
+ПАЈОВИЋ СЛОБОДАН
+ПАЈОВИЋ ЗОРКА
+ПАЈТАШЕВ ДОБРИВОЈ
+ПАЈТАК РАДМИЛА
+ПАЈТИЋ ПАВЛЕ
+ПАЈВАНЧИЋ ФРАЊА
+ПАЈВАНЧИЋ КАТА
+ПАЈВАНЧИЋ МАРИЈАНА
+ПАЈВОД БОСИЉКА
+ПАКАШКИ ЂУРА
+ПАКАШКИ МИКА
+ПАКАШКИ МИЛОВАН
+ПАКАШКИ РАДОСЛАВ
+ПАКАШКИ СИМА
+ПАКАШКИ ВАСА
+ПАКАШКИ ВИТАЛИЈ ДИПЛ ИНГ
+ПАКАИ ЈОЖЕФ
+ПАКАИ ЛАСЛО
+ПАКЛАР ВИДА
+ПАКЛЕДИНАЦ ВИНКО
+ПАКУШЕВСКИ КАТАРИНА
+ПАКУШЕВСКИ МИХАЈЛО
+ПАКУШЕВСКИ МИТАР
+ПАКУШЕВСКИ РУЖИЦА
+ПАКУШЕВСКИЈ СТЕФАН
+ПАЛ ИЛОНА
+ПАЛ РОЗАЛИЈА
+ПАЛЧЕК ЈОСИП
+ПАЛАЧКОВИЋ МИЛАН
+ПАЛАЧКОВИЋ УРОШ
+ПАЛАШТИ ЂОРЂЕ
+ПАЛАШТИ ДЕСАНКА
+ПАЛАШТИ ИШТВАН
+ПАЛАШТИ ИШТВАН
+ПАЛАШТИ ЈОСИП
+ПАЛАШТИ РОЗАЛИЈА
+ПАЛАДА ЈОЗО
+ПАЛАЛИЋ ЂУРА
+ПАЛАЛИЋ ДРАГАН
+ПАЛАЛИЋ ДУШАН
+ПАЛАЛИЋ ГОЈКО
+ПАЛАЛИЋ ГОЈКО
+ПАЛАЛИЋ ИЛИЈА
+ПАЛАЛИЋ ЈОВАН
+ПАЛАЛИЋ МИРКО
+ПАЛАЛИЋ НЕВЕНА
+ПАЛАЛИЋ НИКО
+ПАЛАЛИЋ ПАВЛЕ
+ПАЛАЛИЋ РАДЕ
+ПАЛАЛИЋ СНЕЖАНА
+ПАЛАЛИЋ СРЕТО
+ПАЛАЛИЋ СТОЈАН
+ПАЛАЛИЋ ТОДЕ
+ПАЛАЛИЋ ВИД
+ПАЛАЛИЋ ВОЈИН
+ПАЛАЛИЋ ЗДРАВКО
+ПАЛАМАРЧУК АЛЕКСАНДАР
+ПАЛАН ЈОСИП
+ПАЛАНЧАНИН ЕЛЕНА
+ПАЛАНЧАНИН ЈОВАН
+ПАЛАНЧАНИН РУЖА
+ПАЛАНЧАНИН ВАСА
+ПАЛАНЧАНИН ВАСА
+ПАЛАНАЧКИ ЂОРЂЕ
+ПАЛАНАЧКИ РУЖИЦА
+ПАЛАНАЧКИ САВА
+ПАЛАТИНУШ АНДРАШ
+ПАЛАТИНУШ ИШТВАН
+ПАЛАТИНУШ ЈОЖЕФ
+ПАЛЕЖЕВИЋ БОРИСЛАВ
+ПАЛЕВИЋ СЛАВИЦА
+ПАЛФИ АЛЕКСАНДАР
+ПАЛФИ БОРКА
+ПАЛФИ ИШТВАН
+ПАЛФИ ИШТВАН
+ПАЛФИ ЈУЛИЈАНА
+ПАЛФИ КАТИЦА
+ПАЛИЧКО ЂУРЂИНКА
+ПАЛИЧКО АНДРАШ
+ПАЛИЧКО ИЛЕШ
+ПАЛИЧКО ИРЕНА
+ПАЛИЧКО ЈЕЛЕНА
+ПАЛИШАШКИ ОЛГА
+ПАЛИЋ БОРИСЛАВ ДИПЛ ИНГ
+ПАЛИЋ ДРАГАН
+ПАЛИЋ ДУШАН
+ПАЛИЋ ЉУБИЦА
+ПАЛИЋ МАРТА
+ПАЛИЋ МИЛЕНКО
+ПАЛИЋ НИКОЛА
+ПАЛИЋ ОЛГА
+ПАЛИЋ СТЕВАН
+ПАЛИЋ СТЕВАН
+ПАЛИЋ ВЛАСТИМИР
+ПАЛИНКАШ ЂОРЂЕ
+ПАЛИНКАШ ЂУРА
+ПАЛИНКАШ БЛАНКА
+ПАЛИНКАШ БОРИВОЈЕ ДИПЛ ИНГ
+ПАЛИНКАШ ФРАЊА
+ПАЛИНКАШ ГЕЗА
+ПАЛИНКАШ ЈОЖЕФ
+ПАЛИНКАШ МАРИЈА
+ПАЛИНКАШ МИХАЉ
+ПАЛИНКАШ МИРКО
+ПАЛИНКАШ СТЕВАН
+ПАЛИНКАШ ВЕРА ДР
+ПАЉИЋ ЉУБОМИР
+ПАЉУРАС АПОСТОЛОС
+ПАЛОШ ИВАН
+ПАЛОШИ ОЛГА
+ПАЛОЦ ШАНДОР
+ПАЛОЦ ЛАСЛО
+ПАЛОЦ ТИБОР
+ПАЛОТАШ АНДРИЈА
+ПАЛОВ МИХАИЛО ДР
+ПАЛУРОВИЋ СТЕПАН
+ПАМУЧИНА ЈОВАН
+ПАНЧИЋ ГАВРИЛО
+ПАНЧИЋ ГРАДИМИР
+ПАНЧИЋ ЈУЛИЈАНА
+ПАНЧИЋ ЈУЛИЈАНА
+ПАНЧИЋ СЛОБОДАН
+ПАНЧИЋ ЗОРАН
+ПАНЧОВАН АВРАМ
+ПАНЧУЛИДЗЕВ АЛЕКСИЈЕ
+ПАНАЈОТИДИС ЛЕОНИДАС
+ПАНАОТОВИЋ БОГДАН
+ПАНАОТОВИЋ ДУШАНКА
+ПАНАОТОВИЋ ЈОВИЦА
+ПАНАОТОВИЋ МИРЈАНА
+ПАНЦЕР БРАНКО
+ПАНЦЕР БРАНКО
+ПАНЏА БОЖИЦА
+ПАНЏА ЗВЕЗДАНА
+ПАНЏИЋ НАДА
+ПАНЏИЋ СЛОБОДАНКА
+ПАНЏИЋ СВЕТОЗАР
+ПАНЏИЋ ТОМИСЛАВ
+ПАНЏИЋ ВОЈИСЛАВ ДИПЛ ИНГ
+ПАНДИ ОСКАР
+ПАНДУРЕВИЋ МИЛАНКО
+ПАНДУРОВ ЖИВКА
+ПАНДУРОВ АЦА
+ПАНДУРОВ ДРАГОЉУБ
+ПАНДУРОВ ДУШАНКА
+ПАНДУРОВ МИЛИЦА
+ПАНДУРОВ МИЛИВОЈ
+ПАНДУРОВ МИРОСЛАВ
+ПАНДУРОВ ПЕТАР
+ПАНДУРОВ САВА
+ПАНДУРОВ ЗОРАН
+ПАНДУРОВ ЗОРАН
+ПАНДУРОВИЋ ЖИВКА
+ПАНДУРОВИЋ ИВАН
+ПАНДУРОВИЋ ЈОВАН
+ПАНДУРОВИЋ ЈУЛКА
+ПАНДУРОВИЋ ПАВЛЕ
+ПАНДУРОВИЋ РАДМИЛА
+ПАНДУРОВИЋ СРЕТЕН
+ПАНДУРОВИЋ СВЕТОЗАР
+ПАНДУРОВИЋ ТОМИСЛАВ
+ПАНДУРОВИЋ ВЛАДИСЛАВА
+ПАНДУРОВИЋ ВОЈИН
+ПАНДУРСКИ МИРОСЛАВ
+ПАНГЕРЦ МАРА
+ПАНГЕРЦ ВЕЛИБОР
+ПАНИЋ ЖАРКО
+ПАНИЋ ЖИВАН
+ПАНИЋ ЖИВОЈИН
+ПАНИЋ ЂОРЂЕ
+ПАНИЋ ЂОРЂЕ
+ПАНИЋ ЂОРЂЕ
+ПАНИЋ ЂОРЂЕ
+ПАНИЋ ЂОРЂЕ
+ПАНИЋ ЂУРА
+ПАНИЋ АЛЕКСАНДАР
+ПАНИЋ АНА
+ПАНИЋ АНА
+ПАНИЋ АНТУН
+ПАНИЋ БРАНИСЛАВ
+ПАНИЋ БРАНИСЛАВ
+ПАНИЋ БРАНИСЛАВ
+ПАНИЋ БРАНКО
+ПАНИЋ ДАМЈАН
+ПАНИЋ ДАНИЛКА
+ПАНИЋ ДРАГАН
+ПАНИЋ ДРАГАН
+ПАНИЋ ДРАГАН
+ПАНИЋ ДРАГАН
+ПАНИЋ ДРАГОЉУБ
+ПАНИЋ ДРАГОСЛАВ
+ПАНИЋ ДРАГОСЛАВ
+ПАНИЋ ДРЕНА
+ПАНИЋ ДУШАН
+ПАНИЋ ДУШАН
+ПАНИЋ ГОРДАНА
+ПАНИЋ ИЛИЈА
+ПАНИЋ ИЛОНА
+ПАНИЋ ЈАША
+ПАНИЋ ЈЕЛЕНА
+ПАНИЋ ЈЕЛЕНА
+ПАНИЋ ЈОВАНКА ДР
+ПАНИЋ ЈОВАНКА
+ПАНИЋ ЈОВАНКА
+ПАНИЋ ЈУЛКА
+ПАНИЋ КАИЦА
+ПАНИЋ КАТА
+ПАНИЋ КОНСТАНТИН
+ПАНИЋ ЉУБИЦА
+ПАНИЋ МАРКО
+ПАНИЋ МИЋО
+ПАНИЋ МИЦА
+ПАНИЋ МИКА
+ПАНИЋ МИЛАНА
+ПАНИЋ МИЛАН
+ПАНИЋ МИЛЕНА
+ПАНИЋ МИЛЕНКО
+ПАНИЋ МИЛЕ
+ПАНИЋ МИЛИЦА
+ПАНИЋ МИЛИЈА
+ПАНИЋ МИЛИВОЈ
+ПАНИЋ МИЛИВОЈ
+ПАНИЋ МИЛИВОЈ
+ПАНИЋ МИЛОШ
+ПАНИЋ МИЛОШ
+ПАНИЋ МИЛОШ
+ПАНИЋ МИЛОРАД
+ПАНИЋ МИЛОРАД
+ПАНИЋ МИЛОВАН
+ПАНИЋ МИРЈАНА
+ПАНИЋ МИРКО
+ПАНИЋ МИРКО
+ПАНИЋ МИРОСЛАВ
+ПАНИЋ НАДА
+ПАНИЋ НАДА
+ПАНИЋ НАДА
+ПАНИЋ НЕМАЊА
+ПАНИЋ НЕНАД
+ПАНИЋ ОБРАДИН
+ПАНИЋ ОГЊЕН
+ПАНИЋ ОЛГА
+ПАНИЋ ПЕТАР
+ПАНИЋ ПЕТАР
+ПАНИЋ ПРЕДРАГ
+ПАНИЋ РАДИВОЈЕ
+ПАНИЋ РАДОМИР
+ПАНИЋ РАДОСЛАВ
+ПАНИЋ РАНКО
+ПАНИЋ РИСТО
+ПАНИЋ САША
+ПАНИЋ САЊА
+ПАНИЋ СЛАЂАНА
+ПАНИЋ СМИЉАНКА
+ПАНИЋ СНЕЖАНА
+ПАНИЋ СРЂАН
+ПАНИЋ СРБОЉУБ
+ПАНИЋ СТАНА
+ПАНИЋ СТАНКА
+ПАНИЋ СТЕВАН
+ПАНИЋ СТЕВАН
+ПАНИЋ СТЕВАН
+ПАНИЋ СВЕТОЗАР
+ПАНИЋ ТОМИСЛАВ
+ПАНИЋ УГЉЕША
+ПАНИЋ ВАСИЉКА
+ПАНИЋ ВЛАДИМИР
+ПАНИЋ ВОЈИСЛАВ
+ПАНИЋ ЗДРАВКО
+ПАНИЋ ЗЛАТКО
+ПАНИЋ ЗОРАН
+ПАНИЋ ЗОРА
+ПАНИАН АНИЦА
+ПАНИН БОРИВОЈЕ
+ПАНИН БРАНА
+ПАНИН МИЛИЦА
+ПАНИН МИЛОШ
+ПАНИН МИТА
+ПАНИН МЛАДЕН
+ПАНИН ЗОРАН
+ПАНИНЧИЋ СОФИЈА
+ПАЊКОВИЋ БИЉАНА
+ПАЊКОВИЋ БРАНКА
+ПАЊКОВИЋ ДРАГАН
+ПАЊКОВИЋ ИЛИЈА МР
+ПАЊКОВИЋ ЈЕЛЕНА
+ПАЊКОВИЋ МЕЛАНИЈА
+ПАЊКОВИЋ МИЛАН
+ПАЊКОВИЋ МИЛАН
+ПАЊКОВИЋ МИЛАН
+ПАЊКОВИЋ МИЛИЦА
+ПАЊКОВИЋ НАДА
+ПАЊКОВИЋ НИКОЛА
+ПАЊКОВИЋ ПЕТАР
+ПАЊКОВИЋ ВЛАДИМИР
+ПАНКОВ БРАНИСЛАВ
+ПАНКОВ БРАНИСЛАВ
+ПАНКОВ БРАНКО
+ПАНКОВ ЈЕЛЕНА
+ПАНКОВ ЈЕЛИЦА
+ПАНКОВ КАТИЦА
+ПАНКОВ МАРКО
+ПАНКОВ МИЛЕНКО
+ПАНКОВ МИЛОВАН
+ПАНКОВ ПРЕДРАГ
+ПАНКОВ РАДОСЛАВ
+ПАНКОВ САВА
+ПАНКОВ СЛАВКО
+ПАНКОВ СВЕТОЗАР
+ПАНКОВ ВЕСНА
+ПАНКОВИЋ ЛАЗАР
+ПАНОВ ДЕСАНКА
+ПАНОВ НЕНАД
+ПАНОВИЋ АНЂЕЛКО
+ПАНОВИЋ МИОДРАГ
+ПАНТЕЛЕМОНОВ НЕДЕЉКО
+ПАНТЕЛЕМОНОВ НОВКА
+ПАНТЕЛИЋ ЧЕДОМИР
+ПАНТЕЛИЋ ЖАРКО
+ПАНТЕЛИЋ ЂОРЂЕ
+ПАНТЕЛИЋ ЂОРЂЕ
+ПАНТЕЛИЋ АНЂЕЛКО
+ПАНТЕЛИЋ АНА
+ПАНТЕЛИЋ БОРИВОЈЕ
+ПАНТЕЛИЋ БОРИВОЈ
+ПАНТЕЛИЋ ЦВЕТИН
+ПАНТЕЛИЋ ДАФИНА
+ПАНТЕЛИЋ ДАНИЦА
+ПАНТЕЛИЋ ДРАГАН
+ПАНТЕЛИЋ ДРАГОЉУБ
+ПАНТЕЛИЋ ДРАГОЉУБ
+ПАНТЕЛИЋ ИЛИЈА ДИПЛ ИНГ
+ПАНТЕЛИЋ ИЛИЈА
+ПАНТЕЛИЋ ЈУЛИЈАНА
+ПАНТЕЛИЋ КАМЕНКО
+ПАНТЕЛИЋ ЛАЗАР
+ПАНТЕЛИЋ ЉУБИША
+ПАНТЕЛИЋ ЉУБИЦА
+ПАНТЕЛИЋ МИХАЈЛО
+ПАНТЕЛИЋ МИЛАДИН
+ПАНТЕЛИЋ МИЛАН
+ПАНТЕЛИЋ МИЛОШ
+ПАНТЕЛИЋ МИЛОРАД
+ПАНТЕЛИЋ МИЛОВАН
+ПАНТЕЛИЋ МИОДРАГ
+ПАНТЕЛИЋ МИРОСЛАВ
+ПАНТЕЛИЋ МОМЧИЛО
+ПАНТЕЛИЋ МОМИР
+ПАНТЕЛИЋ НЕНАД
+ПАНТЕЛИЋ НЕВЕНКА
+ПАНТЕЛИЋ НИКОЛА
+ПАНТЕЛИЋ ПАЈО
+ПАНТЕЛИЋ ПАВЛЕ
+ПАНТЕЛИЋ ПЕТАР ДИПЛ ИНГ
+ПАНТЕЛИЋ ПЕТАР
+ПАНТЕЛИЋ-ПЕТРОВИЋ МАРИЈА
+ПАНТЕЛИЋ СЛАВИЦА
+ПАНТЕЛИЋ СОФИЈА
+ПАНТЕЛИЋ ВАСА
+ПАНТЕЛИЋ ВЕРА
+ПАНТЕЛИЋ ВЛАДИМИР
+ПАНТЕЛИЋ ВЛАДИСЛАВ
+ПАНТЕЛИЋ ВУЈИЦА
+ПАНТЕЛИЋ-ВУКАНОВИЋ ВУКОСАВА
+ПАНТЕЛИЋ ВУКИЦА
+ПАНТЕЛИЋ ВУКИЦА
+ПАНТЕЛИЋ ЗОРАН
+ПАНТЕЛИН ГЕОРГИЈЕ
+ПАНТЕЛИНАЦ НИКОЛА
+ПАНТЕЛИНАЦ ПАВЛЕ
+ПАНТЕЛИНАЦ СЛОБОДАН
+ПАНТИЋ ЖАРКО
+ПАНТИЋ ЖИВАН
+ПАНТИЋ ЖИВКА
+ПАНТИЋ ЖИВОЈИН
+ПАНТИЋ ЖИВОРАД
+ПАНТИЋ ЂОРЂЕ
+ПАНТИЋ ЂУРЂИНКА
+ПАНТИЋ АЛЕКСАНДАР
+ПАНТИЋ БАТА
+ПАНТИЋ БОГДАН
+ПАНТИЋ БОРИВОЈЕ
+ПАНТИЋ БОСИЉКА
+ПАНТИЋ ДОБРИВОЈ
+ПАНТИЋ ДОБРОСАВ
+ПАНТИЋ ДУШАН
+ПАНТИЋ ГИЗЕЛА
+ПАНТИЋ ГВОЗДЕН
+ПАНТИЋ ЈЕЛИЦА
+ПАНТИЋ ЉУБИЦА
+ПАНТИЋ МАРИНА
+ПАНТИЋ МИХАИЛО
+ПАНТИЋ МИЛАН
+ПАНТИЋ МИЛЕНКО
+ПАНТИЋ МИЛИВОЈЕ
+ПАНТИЋ МИЛИВОЈ
+ПАНТИЋ МИЛОРАД
+ПАНТИЋ МИЛОРАД
+ПАНТИЋ МИОДРАГ ДР ЛЕКАР
+ПАНТИЋ РАДЕНКО
+ПАНТИЋ РАДОМИР
+ПАНТИЋ РАДОМИР
+ПАНТИЋ РАДОСЛАВ
+ПАНТИЋ РОЗА
+ПАНТИЋ СЕЛИМИР
+ПАНТИЋ СЕЛИМИР
+ПАНТИЋ СВЕТОЗАР
+ПАНТИЋ ТОМИСЛАВ
+ПАНТИЋ УРОШ
+ПАНТИЋ ВЕСНА
+ПАНТИЋ ВОЈИСЛАВ ДР
+ПАНТИЋ ЗАГОРКА
+ПАНТИЋ ЗДРАВКО
+ПАНТОШ ЂУРО
+ПАНТОШ КОВИЉКА
+ПАНТОШ ПЕТАР
+ПАНТОШ ПЕТАР
+ПАНТОВИЋ ШЋЕПАН
+ПАНТОВИЋ ЖЕЉКО
+ПАНТОВИЋ АЦА
+ПАНТОВИЋ БИЉАНА
+ПАНТОВИЋ БРАНКО
+ПАНТОВИЋ ДРАГИЊА
+ПАНТОВИЋ ЉУБО
+ПАНТОВИЋ МИЛИСАВ
+ПАНТОВИЋ МИЛОВАН
+ПАНТОВИЋ МЛАДЕН
+ПАНТОВИЋ САВА
+ПАНТОВИЋ СВЕТОЛИК
+ПАНТОВИЋ ВЛАДИМИР
+ПАНЗАЛОВИЋ РАДОВАН
+ПАОЛОНИ ЂУЗЕПИНА
+ПАП ШАНДОР
+ПАП ШАНДОР
+ПАП ШАНДОР
+ПАП ШАНДОР
+ПАП ЂЕРЂ
+ПАП ЂУРО
+ПАП АНА
+ПАП ДЕЈАН
+ПАП ДРАГИЦА
+ПАП ЕДИТ
+ПАП ЕДИТ
+ПАП ЕНДРЕ ДР
+ПАП ЕНДРЕ
+ПАП ЕРЖЕБЕТ
+ПАП ЕТЕЛКА
+ПАП ФЕРЕНЦ
+ПАП ФРАЊА
+ПАП ФРАЊА
+ПАП ГАБОР
+ПАП ИШТВАН ДР
+ПАП ИШТВАН
+ПАП ИЛЕШ
+ПАП ИМРЕ
+ПАП ИМРЕ
+ПАП ИРЕНА
+ПАП ИРЕНА
+ПАП ЈАЊА
+ПАП ЈАНКО
+ПАП ЈЕЛЕНА
+ПАП ЈЕЛИСАВЕТА
+ПАП ЈОЖЕФ ДР
+ПАП ЈОСИП
+ПАП ЈОСИП
+ПАП ЈОВАН
+ПАП ЈУЛИЈАНА
+ПАП ЈУЛИЈАН
+ПАП ЈУЛИЈА
+ПАП КАТАРИНА
+ПАП ЛАСЛО
+ПАП МАРГИТА
+ПАП МИХАЈЛО
+ПАП МИХАЈЛО
+ПАП МИКЛОШ
+ПАП МИРОН
+ПАП ОЛГА
+ПАП ПАВЛЕ
+ПАП РОЗАЛИЈА
+ПАП СИЛВЕСТЕР
+ПАП ТЕРЕЗИЈА
+ПАП ТИБОР
+ПАП ВАЛЕРИЈА
+ПАП ВЕРА
+ПАП ВИНЦЕ
+ПАП ВЛАДИСЛАВ
+ПАП ЗДЕНКА
+ПАП ЗОЛТАН
+ПАПШОТ-КОЗИК ПЕПИ
+ПАПЂУРДЕС ЈОВГЕН
+ПАПАДОПОЛО ДРАГОСЛАВ
+ПАПАДОПОЛО ВЈЕКОСЛАВ
+ПАПАДОПУЛОС ЈАНИС
+ПАПАДОПУЛОС КОСТАС
+ПАПАГЕОРГИТ КОСТА
+ПАПАК ДРАГАН
+ПАПАТАНАСИУ НИЦА
+ПАПЕШ ЈОСИП
+ПАПЕШ КОСА
+ПАПЕЖ ИЛИНКА
+ПАПХАРХАЈИ ЂУРА
+ПАПХАРХАЈИ ТЕРЕЗИЈА
+ПАПХАРХАЈИ ВЛАДИМИР
+ПАПИШТА ФРАЊА
+ПАПИШТА ФРАЊА
+ПАПИШТА ИЛДИКА
+ПАПИШТА ЈОВАН
+ПАПИШТА МАРИЈА
+ПАПИШТА МАРКО
+ПАПИШТА МИХАЈЛО
+ПАПИЋ ЧЕДОМИР
+ПАПИЋ ЖИВКО
+ПАПИЋ АЛЕКСАНДАР
+ПАПИЋ АЛЕКСАНДАР
+ПАПИЋ АНА
+ПАПИЋ АРАНКА
+ПАПИЋ АРАНКА
+ПАПИЋ АРАНКА
+ПАПИЋ АРАНКА
+ПАПИЋ БОШКО
+ПАПИЋ БОЖА
+ПАПИЋ БОЖИДАР
+ПАПИЋ БРАНИСЛАВ
+ПАПИЋ БРАНКО
+ПАПИЋ БРАНКО
+ПАПИЋ ДЕСАНКА
+ПАПИЋ ДОБРИВОЈЕ
+ПАПИЋ ДУШАН
+ПАПИЋ ДУШАН
+ПАПИЋ ГОЈКО
+ПАПИЋ ИВАН
+ПАПИЋ ЈЕЛИСАВЕТА
+ПАПИЋ ЛАЗАР
+ПАПИЋ ЛЕПОСАВА
+ПАПИЋ ЉУБИЦА
+ПАПИЋ ЛОЗИНКА
+ПАПИЋ ЛУКА
+ПАПИЋ МАРИЈА
+ПАПИЋ МИХАЈЛО
+ПАПИЋ МИЛАДИН
+ПАПИЋ МИЛАДИН
+ПАПИЋ МИЛИЦА
+ПАПИЋ МИЛИВОЈ
+ПАПИЋ МИЛКА
+ПАПИЋ МИЛОШ
+ПАПИЋ МИРОСЛАВ
+ПАПИЋ МИРОСЛАВ
+ПАПИЋ НИКОЛА
+ПАПИЋ ПАВЛЕ
+ПАПИЋ РАДЕНКО
+ПАПИЋ САВА
+ПАПИЋ СМИЉА
+ПАПИЋ СРЂАН ДР
+ПАПИЋ СРЂАНКА
+ПАПИЋ СТЕВАН
+ПАПИЋ СТЕВАН
+ПАПИЋ СТЕВАН
+ПАПИЋ СВЕТИСЛАВ ДИПЛ ИНГ
+ПАПИЋ ТЕОДОР
+ПАПИЋ ТОДОР
+ПАПИЋ ВЕРА
+ПАПИЋ ЗОРИЦА
+ПАПИЋ ЗОРИЦА
+ПАПИК ВИКТОР
+ПАПИЛИОН БОРИШКА
+ПАПЛАЦКО ВЕЛИМИР
+ПАПОВИЋ ЧЕДОМИР
+ПАПОВИЋ БЛАЖО
+ПАПОВИЋ БЛАГОЈЕ
+ПАПОВИЋ КРСТО
+ПАПОВИЋ МИЛЕ
+ПАПОВИЋ МИОДРАГ
+ПАПОВИЋ МЛАДЕН
+ПАПОВИЋ ВЕСЕЛИН
+ПАПОВИЋ ВУКОСАВ
+ПАПРИЋ ЖИВАН
+ПАПРИЋ ЂОРЂЕ
+ПАПРИЋ МАРКО
+ПАПРИЋ РАЈКО
+ПАПУГА ЂУРА
+ПАПУГА ДИМИТРИЈЕ
+ПАПУГА ЕУФЕМИЈА
+ПАПУГА ИРИНА
+ПАПУГА ЈАРОСЛАВ
+ПАПУГА КИРИЛ
+ПАПУГА ЉУБОМИР
+ПАПУГА МИХАЈЛО
+ПАПУГА ТАТЈАНА
+ПАПУГА ВЕРА
+ПАПУГА ВЛАДИМИР
+ПАПУЛИН ЂЕРЂИКА
+ПАПУЛИН БОРИСЛАВ
+ПАПУЛИН ДОБРИНА
+ПАПУЛИН РАДОЈКА
+ПАРЧИЋ НАЂА ДР
+ПАРАБУЋСКИ МИЛЕНКО
+ПАРАБУЋСКИ-СИМИЋ РУЖИЦА
+ПАРАБУЋСКИ СВЕТИСЛАВ НОВИНАР
+ПАРАБУЦКИ ЛАЗАР
+ПАРАБУЦКИ ЉИЉАНА
+ПАРАГ СТЕВАН
+ПАРАНДИЛОВИЋ РОСА
+ПАРАПИД МИРЈАНА
+ПАРАВИЛ НИКОЛА
+ПАРАВИНА ЈАРМИЛА
+ПАРАВИНА МИЛОШ
+ПАРДОВИЦКИ ФЕРЕНЦ
+ПАРДОВИЦКИ ФРАЊА
+ПАРДОВИЦКИ МАРИЈА
+ПАРЕЖАНИН РАДИВОЈ
+ПАРЕЖАНИН СЛОБОДАН
+ПАРЕЖАНИН ВЛАДИСЛАВ
+ПАРХАНОВ ВИКТОРИЈА
+ПАРИЧЕВИЋ ЕВА
+ПАРИЋ СТИПЕ
+ПАРИПОВ ЈЕЛА
+ПАРИПОВ МИЛАН
+ПАРИПОВ МИЛЕНКО
+ПАРИПОВИЋ ЧЕДОМИР
+ПАРИПОВИЋ ДРАГАН
+ПАРИПОВИЋ ДУШАН
+ПАРИПОВИЋ ЈОВАН
+ПАРИПОВИЋ ЈОВО
+ПАРИПОВИЋ МИХАЈЛО
+ПАРИПОВИЋ МИЛЕНКО
+ПАРИПОВИЋ МИЛЕ
+ПАРИПОВИЋ МИЛКА
+ПАРИПОВИЋ ПАЈА
+ПАРИПОВИЋ СЛОБОДАН
+ПАРИПОВИЋ СВЕТОЗАР
+ПАРИПОВИЋ ВЛАДИМИР
+ПАРИПОВИЋ ВЛАДИСЛАВКА
+ПАРИПОВИЋ ЗОРАН
+ПАРКАЊИ САМУЕЛ
+ПАРЛАЋ ЉУБОМИР
+ПАРЛАЋ МАРИНКО
+ПАРЛАЋ МИОДРАГ
+ПАРЛИЋ АНА
+ПАРЛИЋ ЈЕВТА
+ПАРЛИЋ НИКОЛА
+ПАРМАЋ НЕДЕЉКО
+ПАРНИЦКИ ИВАН
+ПАРНИЦКИ ЈОВАН
+ПАРОШКАЈ ЂУРА
+ПАРОШКАЈ ДАНИЛО
+ПАРОШКИ ЂОРЂЕ
+ПАРОШКИ ЂОРЂЕ
+ПАРОШКИ АЛЕКСАНДАР
+ПАРОШКИ АЛЕКСАНДАР
+ПАРОШКИ АНА
+ПАРОШКИ АНКИЦА
+ПАРОШКИ БОРИВОЈ
+ПАРОШКИ БРАНИСЛАВ
+ПАРОШКИ ДАМЈАН
+ПАРОШКИ ДИМИТРИЈЕ
+ПАРОШКИ ДОБРИЛА
+ПАРОШКИ ДРАГАН
+ПАРОШКИ ДУШАН
+ПАРОШКИ ГЛИША
+ПАРОШКИ ГОРДАН
+ПАРОШКИ ИВАН
+ПАРОШКИ ЈЕЛЕНА
+ПАРОШКИ ЈЕЛИЦА
+ПАРОШКИ ЈОВАН
+ПАРОШКИ МАРИЈА
+ПАРОШКИ МИЛАН
+ПАРОШКИ МИЛАН
+ПАРОШКИ МИЛАН
+ПАРОШКИ МИЛИЦА
+ПАРОШКИ МИЛОШ
+ПАРОШКИ МИЛОРАД
+ПАРОШКИ МИЛОВАН
+ПАРОШКИ МИРА
+ПАРОШКИ МИРЈАНА
+ПАРОШКИ МИРКО
+ПАРОШКИ НЕСТОР
+ПАРОШКИ ОБРЕН
+ПАРОШКИ ОЛГА
+ПАРОШКИ ПЕТАР
+ПАРОШКИ ПУНИША
+ПАРОШКИ РАДМИЛА
+ПАРОШКИ РАЈКО
+ПАРОШКИ РОЖА
+ПАРОШКИ САВА
+ПАРОШКИ СЛАВИЦА
+ПАРОШКИ СОФИЈА
+ПАРОШКИ СТЕВАН
+ПАРОШКИ ВЕРОЉУБ
+ПАРОШКИ ВЛАДИМИР
+ПАРОШКИ ЗАГОРКА
+ПАРОЦИ ЈОСИП
+ПАРОЦИ ЈУЛИЈАНА
+ПАРОЦИ КАРЛО
+ПАРОЦИ ЉИЉАНА
+ПАРОЦИ ТИБОР
+ПАРОЦИ ТИБОР
+ПАРОЦИ ТИБОР
+ПАРОЈЧИЋ ЉУБИЦА
+ПАРОЈЧИЋ СЛОБОДАН
+ПАРОКАИ МИРКО
+ПАРОВИЋ СЛАВКО
+ПАРУЖИЋ ПАНТА
+ПАРУЦКИ МИХАЈЛО
+ПАСАРИЋ РУЖА
+ПАСКАШ МИЛАН
+ПАСКАШ МИЛКА
+ПАСКАШ НАТАША
+ПАСКАЛИ ГОРАН
+ПАСКАЉЕВИЋ АЛЕКСАНДАР
+ПАСКУ ДИМИТРИЈЕ
+ПАСКУЛОВ МИРОЉУБ
+ПАСТ РОБЕРТ
+ПАСТЕРКО СТЕВАН
+ПАСТОЊИЦКИ ЕЛЕМИР
+ПАСТОР ГЕЗА
+ПАСТОР ЈАНОШ
+ПАСТОР ЈАНОШ
+ПАСТОР ЈОСИП
+ПАСТОР ЈОСИП
+ПАСТОР ЈОЗЕФ
+ПАСТОР ЛАСЛО
+ПАСТОР МАРИЈА
+ПАСТОР МИХАЈЛО
+ПАСТОР МИЛАН
+ПАСТОР ПЕТАР
+ПАСТОР СТЈЕПАН
+ПАСТОРНАЧКИ ЂУРЂИНКА
+ПАСТОРНАЧКИ ЛАЗАР
+ПАСТОРНАЧКИ ЉУБИША
+ПАСТОРНАЧКИ МАРИЈА
+ПАСТОРНАЧКИ РАДОСЛАВ
+ПАСТОРЊИЦКИ ГОРДАНА
+ПАТАФТА ЈУЛИЈА
+ПАТАФТА СТЕВАН
+ПАТАЈ АРАНКА ДР
+ПАТАК ПАВЛЕ
+ПАТАКИ АНА
+ПАТАКИ ЕВА
+ПАТАКИ ГОРАН
+ПАТАРИЋ СТИПАН
+ПАТАРИЦА ЕЛЕМЕР
+ПАТИЋ ДРАГОМИР
+ПАТИЋ РАДОСАВ
+ПАТИЋ РАТКО
+ПАТИЋ ВЛАДИМИР
+ПАТЛЕЈХ НАДЕЖДА
+ПАТРИК ЛАЈОШ
+ПАТРИК СТЕВАН
+ПАТРНОГИЋ БРАНИСЛАВ ДИПЛ ИНГ
+ПАТРНОГИЋ ДУШАН ДР
+ПАТРНОГИЋ ДУШИЦА
+ПАТРНОГИЋ ЛИДИЈА
+ПАУШИЋ ИВАН
+ПАУШИЋ МАРКО
+ПАУКОВИЋ МИРЈАНА
+ПАУЛ КАТИЦА
+ПАУЛ ЛАЈОШ
+ПАУЛ ЛАЈОШ
+ПАУЛ ОСКАР
+ПАУЛИЋ МИЛЕ
+ПАУЛИК АЛЕКСАНДАР
+ПАУЛИК ПЕРО
+ПАУЛИК ПЕТАР
+ПАУЛОВИЋ ДРАГУТИН
+ПАУНЕСКУ ВАСА
+ПАУНИЋ ЖИВКО ДИПЛ ИНГ
+ПАУНИЋ ЂУРА
+ПАУНИЋ АЛИМПИЈЕ
+ПАУНИЋ БРАНКО
+ПАУНИЋ ДИМИТРИЈЕ
+ПАУНИЋ ДРАГОМИР
+ПАУНИЋ ИЛИЈА
+ПАУНИЋ ЛАЗАР
+ПАУНИЋ МИЛАНА
+ПАУНИЋ МИЛЕВА
+ПАУНИЋ МИЛЕ
+ПАУНИЋ СТАНИМИР
+ПАУНИЋ ТОМА
+ПАУНИЋ ВУКАШИН
+ПАУНКОВИЋ ЈОВАНА
+ПАУНКОВИЋ ЉИЉАНА
+ПАУНКОВИЋ ВЕЛИМИР
+ПАУНКОВИЋ ВЛАДИМИР
+ПАУНКУ АУРЕЛИЈА
+ПАУНОВИЋ ЧАСЛАВ
+ПАУНОВИЋ АНТО
+ПАУНОВИЋ БОГДАН
+ПАУНОВИЋ БОГДАН
+ПАУНОВИЋ БРАНКА
+ПАУНОВИЋ БРАНКО
+ПАУНОВИЋ ДИМИТРИЈЕ
+ПАУНОВИЋ ДРАГОЉУБ
+ПАУНОВИЋ ДРАГУТИН
+ПАУНОВИЋ ГОСПАВА
+ПАУНОВИЋ ЈЕЛЕНА
+ПАУНОВИЋ ЈОВАН
+ПАУНОВИЋ ЈОВИЦА
+ПАУНОВИЋ КАТИЦА
+ПАУНОВИЋ КОВИЉКА
+ПАУНОВИЋ КОВИЉКА
+ПАУНОВИЋ ЉИЉАНА
+ПАУНОВИЋ ЉУБИВОЈЕ
+ПАУНОВИЋ МАРИНА
+ПАУНОВИЋ МЕЛИНДА
+ПАУНОВИЋ МИЛИЦА
+ПАУНОВИЋ МИЛОМИР
+ПАУНОВИЋ МИЛОРАД
+ПАУНОВИЋ МИЛОРАД
+ПАУНОВИЋ МИЛОРАД
+ПАУНОВИЋ НИКОЛА
+ПАУНОВИЋ ПАУН
+ПАУНОВИЋ ПЕТАР
+ПАУНОВИЋ РАДОШ
+ПАУНОВИЋ РАДОСЛАВ
+ПАУНОВИЋ РАДОСЛАВ
+ПАУНОВИЋ РАТОМИР
+ПАУНОВИЋ СЛАВА
+ПАУНОВИЋ СЛОБОДАНКА
+ПАУНОВИЋ СРБИЦА
+ПАУНОВИЋ СТОЈАНКА
+ПАУНОВИЋ ТОМИСЛАВ
+ПАУНОВИЋ ВУКОСАВА
+ПАУНОВИЋ ЗОРАН
+ПАУНОВИЋ ЗВОНКО
+ПАУТ МИЛАН
+ПАУЗЕНБЕРГЕР ИРЕНА
+ПАУЗЕНБЕРГЕР ЈОВАН
+ПАВАИ ФРАЊА
+ПАВЕЛКА ДАНИЕЛА
+ПАВЕЛКА ВЛАДИМИР
+ПАВИЧ ДАНИЦА
+ПАВИЧЕВИЋ МИЛАН
+ПАВИЧЕВИЋ НАДА
+ПАВИЧИЋ ДРАГИЦА
+ПАВИЧИЋ ИВАН
+ПАВИЧИЋ МИРКО
+ПАВИШИЋ ЂУРА
+ПАВИЋ ЂУРО
+ПАВИЋ АНКА
+ПАВИЋ АРОН
+ПАВИЋ БИЉАНА
+ПАВИЋ ДУШАН
+ПАВИЋ ГАШО
+ПАВИЋ ГОЈКО
+ПАВИЋ ЈОЖЕФ
+ПАВИЋ ЉУБИША
+ПАВИЋ ЉУБИЦА
+ПАВИЋ ЉУБОМИР
+ПАВИЋ МАРИЈА
+ПАВИЋ МИЛАН
+ПАВИЋ МИЛАН
+ПАВИЋ МИЛИЦА
+ПАВИЋ СЛАВКО
+ПАВИЋ СТЕВАН
+ПАВИЋ-СУЛОЦКИ ЕСТЕР
+ПАВИЋ ТЕРЕЗИЈА
+ПАВИЋ ВЕНКО
+ПАВИЋ ВЕРКА
+ПАВИЋЕВИЋ АЛЕКСАНДАР
+ПАВИЋЕВИЋ АЛЕКСАНДАР
+ПАВИЋЕВИЋ АНАНИЈЕ
+ПАВИЋЕВИЋ БРАНИСЛАВ
+ПАВИЋЕВИЋ ДЕСА
+ПАВИЋЕВИЋ ДРАГАН
+ПАВИЋЕВИЋ ДУШАН
+ПАВИЋЕВИЋ ДУШАН
+ПАВИЋЕВИЋ ЈЕЛЕНА
+ПАВИЋЕВИЋ ЉИЉАНА
+ПАВИЋЕВИЋ МИЛАНКО
+ПАВИЋЕВИЋ МИЛОШ
+ПАВИЋЕВИЋ МИЛОМИР
+ПАВИЋЕВИЋ МИЛУТИН
+ПАВИЋЕВИЋ МИОДРАГ
+ПАВИЋЕВИЋ МИОДРАГ
+ПАВИЋЕВИЋ МИРА
+ПАВИЋЕВИЋ МИРКО
+ПАВИЋЕВИЋ СЛАВКО
+ПАВИЋЕВИЋ СЛОБОДАН
+ПАВИН ЉУБИЦА
+ПАВКОВ ЖИВКО
+ПАВКОВ ЖИВОЈИН
+ПАВКОВ ЂУРЂЕВКА
+ПАВКОВ ЂУРЂИНА
+ПАВКОВ АЛЕКСАНДАР
+ПАВКОВ АНКА
+ПАВКОВ БОЖИДАР
+ПАВКОВ БОСИЉКА
+ПАВКОВ БРАНКО
+ПАВКОВ ДРАГАН
+ПАВКОВ ДРАГАН
+ПАВКОВ ДУШАН
+ПАВКОВ ДУШАН
+ПАВКОВ ГОЈКО
+ПАВКОВ ГОРДАНА
+ПАВКОВ ИВАНКА
+ПАВКОВ ЈОВАН
+ПАВКОВ ЈОВАН
+ПАВКОВ ЈОВАН
+ПАВКОВ КАТИЦА
+ПАВКОВ ЛАЗАР
+ПАВКОВ МИЛАН
+ПАВКОВ МИЛАН
+ПАВКОВ МИЛАН
+ПАВКОВ МИЛИВОЈ ДИПЛ ИНГ
+ПАВКОВ МИЛОШ
+ПАВКОВ МИЛОЈЕ
+ПАВКОВ МИЛОРАД
+ПАВКОВ МИЛОРАД
+ПАВКОВ МИЛУТИН
+ПАВКОВ МИТАР
+ПАВКОВ НАДА
+ПАВКОВ НАДА
+ПАВКОВ ПАВЛЕ
+ПАВКОВ ПЕТАР
+ПАВКОВ РАДИВОЈ
+ПАВКОВ РАДОВАН
+ПАВКОВ РАТОМИР
+ПАВКОВ САВА
+ПАВКОВ САВА
+ПАВКОВ СИНИША
+ПАВКОВ СЛАВКО
+ПАВКОВ СТЕВАН
+ПАВКОВ СТЕВАН
+ПАВКОВ СТЕВАН
+ПАВКОВ УРОШ
+ПАВКОВ ВИТОМИР
+ПАВКОВ ЗОРАН
+ПАВКОВ ЗОРКА
+ПАВКОВИЋ БОЖИДАР
+ПАВКОВИЋ БОРИСЛАВ
+ПАВКОВИЋ ДРАГАНА
+ПАВКОВИЋ ДРАГИЦА
+ПАВКОВИЋ ЈОВАНКА
+ПАВКОВИЋ КАТИЦА
+ПАВКОВИЋ НИКОЛА
+ПАВКОВИЋ ПЕТАР
+ПАВКОВИЋ РАДОЈЕ
+ПАВЛЕКИЋ СТЕВАН
+ПАВЛЕСКИ МЕНКА
+ПАВЛЕВСКИ ДЕСА
+ПАВЛЕВСКИ ТРАЈАН
+ПАВЛИЧ МИРКО
+ПАВЛИЧИЋ КРЕШИМИР
+ПАВЛИЧИЋ ЉУБИША ДР
+ПАВЛИЋ ЂОРЂЕ
+ПАВЛИЋ БОРИСЛАВ
+ПАВЛИЋ БРАНКО ДИПЛ ИНГ
+ПАВЛИЋ ПЕТАР ДИПЛ ИНГ
+ПАВЛИЋ ВЛАДА
+ПАВЛИЋЕВ ЂОРЂЕ
+ПАВЛИЦА БРАНИСЛАВ
+ПАВЛИЦА ЈОВАН
+ПАВЛИЦА ЛАЗАР
+ПАВЛИЦА МАРИЦА
+ПАВЛИЦА МИЦА
+ПАВЛИЦА МИЛАН
+ПАВЛИЦА МИЛЕНА
+ПАВЛИЦА МИЛЕВА
+ПАВЛИЦА НАДА
+ПАВЛИЦА НИКОЛА
+ПАВЛИЦА НИКОЛА
+ПАВЛИЦА САВО
+ПАВЛИЦА СОФИЈА
+ПАВЛИЦА ТОДОР
+ПАВЛИЦА ВЛАДИМИР
+ПАВЛИК АНТАЛ
+ПАВЛИК ЈОСИП
+ПАВЛИК КАТАРИНА
+ПАВЛИК МИША
+ПАВЛИК ВИНКО
+ПАВЛОВ ЖАРКО
+ПАВЛОВ ЖИВАН
+ПАВЛОВ ЖИВКА
+ПАВЛОВ ЂОКА
+ПАВЛОВ АЛЕКСАНДАР
+ПАВЛОВ АЛЕКСАНДАР
+ПАВЛОВ АЛЕКСАНДАР
+ПАВЛОВ БОГДАНКА
+ПАВЛОВ БОРИСЛАВ
+ПАВЛОВ ДАНИЦА
+ПАВЛОВ ДАНИЛО
+ПАВЛОВ ДРАГИЊА
+ПАВЛОВ ДРАГОМИР
+ПАВЛОВ ДУШАНКА
+ПАВЛОВ ДУШАНКА
+ПАВЛОВ ДУШАН
+ПАВЛОВ ДУШАН
+ПАВЛОВ ЈОВАН
+ПАВЛОВ КАТИЦА
+ПАВЛОВ-КОСТИЋ АНА ДР
+ПАВЛОВ КОВИЉКА
+ПАВЛОВ КРИСТИНА
+ПАВЛОВ КУЗМАН
+ПАВЛОВ ЛАЗАР
+ПАВЛОВ ЛАЗАР
+ПАВЛОВ ЉУБИЦА
+ПАВЛОВ ЉУБИЦА
+ПАВЛОВ МАРИЈА
+ПАВЛОВ МИЛАН
+ПАВЛОВ МИЛЕТА
+ПАВЛОВ МИЛИВОЈ
+ПАВЛОВ МИЛОРАД
+ПАВЛОВ МИЛОРАД
+ПАВЛОВ МИЛОВАН
+ПАВЛОВ МИЛОВАН
+ПАВЛОВ МИЛУТИН
+ПАВЛОВ МИРА
+ПАВЛОВ-МИРКОВИЋ МИРОСЛАВА ДР
+ПАВЛОВ МИРОСЛАВ
+ПАВЛОВ МИРОСЛАВ
+ПАВЛОВ МИТКО
+ПАВЛОВ НАДА
+ПАВЛОВ НАДА
+ПАВЛОВ НАТАЛИЈА
+ПАВЛОВ НЕВЕНКА
+ПАВЛОВ ОЛГА
+ПАВЛОВ ПАЈА
+ПАВЛОВ ПАВЕЛ
+ПАВЛОВ ПАВЕЛ
+ПАВЛОВ ПАВЛЕ
+ПАВЛОВ ПЕТАР
+ПАВЛОВ ПЕТАР
+ПАВЛОВ РАДА
+ПАВЛОВ РАДИВОЈ
+ПАВЛОВ РАДМИЛА
+ПАВЛОВ РАДОСЛАВА
+ПАВЛОВ РАДОСЛАВ
+ПАВЛОВ САВА
+ПАВЛОВ САВА
+ПАВЛОВ СТЕВАН
+ПАВЛОВ СТЕВАН
+ПАВЛОВ СТЕВАН
+ПАВЛОВ СТЕВАН
+ПАВЛОВ СТЕВАН
+ПАВЛОВ СТЕВАН
+ПАВЛОВ СТОЈАН
+ПАВЛОВ СВЕТОЗАР
+ПАВЛОВ ВАСИЛИЈЕ
+ПАВЛОВ ВЕРА
+ПАВЛОВ ВЕРА
+ПАВЛОВ ВЕРИЦА
+ПАВЛОВ ВИДОСАВА
+ПАВЛОВ ВЛАДИМИР
+ПАВЛОВ ВЛАСТИМИР
+ПАВЛОВИЋ ЧЕДОМИР
+ПАВЛОВИЋ ЖАРКО
+ПАВЛОВИЋ-ЖЕНЕР ОЛГА
+ПАВЛОВИЋ ЂОРЂЕ
+ПАВЛОВИЋ ЂОРЂЕ
+ПАВЛОВИЋ ЂОРЂЕ
+ПАВЛОВИЋ ЂОРЂО
+ПАВЛОВИЋ ЂОРЂО
+ПАВЛОВИЋ АЛЕКСАНДАР ДР
+ПАВЛОВИЋ АЛЕКСАНДАР
+ПАВЛОВИЋ АЛЕКСИЈЕ
+ПАВЛОВИЋ АНА
+ПАВЛОВИЋ АНА
+ПАВЛОВИЋ АНДРИЈА
+ПАВЛОВИЋ АНИЦА
+ПАВЛОВИЋ АНКИЦА
+ПАВЛОВИЋ БЛАГОЈЕ
+ПАВЛОВИЋ БЛАГО
+ПАВЛОВИЋ БОЖИДАР
+ПАВЛОВИЋ БОЖО
+ПАВЛОВИЋ БОГДАН
+ПАВЛОВИЋ БОГОЉУБ
+ПАВЛОВИЋ БОРА
+ПАВЛОВИЋ БОРИСАВ
+ПАВЛОВИЋ БОРИСЛАВ
+ПАВЛОВИЋ БОРИСЛАВ
+ПАВЛОВИЋ БРАНКО
+ПАВЛОВИЋ БРАНКО
+ПАВЛОВИЋ ЦВЕТАН
+ПАВЛОВИЋ ДЕЈАН
+ПАВЛОВИЋ ДИМИТРИЈЕ
+ПАВЛОВИЋ ДОБРИВОЈ
+ПАВЛОВИЋ ДОБРОСЛАВ
+ПАВЛОВИЋ ДРАГАН
+ПАВЛОВИЋ ДРАГАН
+ПАВЛОВИЋ ДРАГАН
+ПАВЛОВИЋ ДРАГАН
+ПАВЛОВИЋ ДРАГОЉУБ
+ПАВЛОВИЋ ДРАГОЉУБ
+ПАВЛОВИЋ ДРАГОСЛАВА
+ПАВЛОВИЋ ДРАГОСЛАВ
+ПАВЛОВИЋ ДРАГУТИН
+ПАВЛОВИЋ ДУШАНКА
+ПАВЛОВИЋ ДУШАН
+ПАВЛОВИЋ ДУШАН
+ПАВЛОВИЋ ДУШАН
+ПАВЛОВИЋ ДУШАН
+ПАВЛОВИЋ ДУШАН
+ПАВЛОВИЋ ДУШКО
+ПАВЛОВИЋ ЕМИЛ
+ПАВЛОВИЋ ЕРЖЕБЕТ
+ПАВЛОВИЋ ЕРЖЕБЕТ
+ПАВЛОВИЋ ГОЈКО
+ПАВЛОВИЋ ГОРИНКА
+ПАВЛОВИЋ ИЛИЈА
+ПАВЛОВИЋ ИЛИЈА
+ПАВЛОВИЋ ИЛОНА
+ПАВЛОВИЋ ИЛОНА
+ПАВЛОВИЋ ИРИНА
+ПАВЛОВИЋ ИВАН ДИПЛ ИНГ
+ПАВЛОВИЋ ИВАН
+ПАВЛОВИЋ ЈАГО
+ПАВЛОВИЋ ЈАНКО
+ПАВЛОВИЋ ЈАНКО
+ПАВЛОВИЋ ЈАНОШ
+ПАВЛОВИЋ ЈЕЛА
+ПАВЛОВИЋ ЈЕЛЕНА
+ПАВЛОВИЋ ЈЕЛЕНА
+ПАВЛОВИЋ ЈЕЛЕНА
+ПАВЛОВИЋ ЈЕЛЕНА
+ПАВЛОВИЋ ЈЕЛИЦА
+ПАВЛОВИЋ ЈОАКИМ
+ПАВЛОВИЋ ЈОВАН
+ПАВЛОВИЋ ЈОВАН
+ПАВЛОВИЋ ЈОВИЦА
+ПАВЛОВИЋ КАТАРИНА
+ПАВЛОВИЋ КАТИЦА
+ПАВЛОВИЋ КОНСТАНТИН
+ПАВЛОВИЋ КОВИНКА
+ПАВЛОВИЋ ЛАЗАР
+ПАВЛОВИЋ ЛАЗАР
+ПАВЛОВИЋ ЛАЗАР
+ПАВЛОВИЋ ЉУБИША
+ПАВЛОВИЋ МАГДА
+ПАВЛОВИЋ МАРА ДИПЛ ИНГ
+ПАВЛОВИЋ МАРА
+ПАВЛОВИЋ МАРИЦА
+ПАВЛОВИЋ МАРКО ДИПЛ ИНГ
+ПАВЛОВИЋ МАРКО
+ПАВЛОВИЋ МИЦА
+ПАВЛОВИЋ МИЛАДИН
+ПАВЛОВИЋ МИЛАН
+ПАВЛОВИЋ МИЛАН
+ПАВЛОВИЋ МИЛЕНА
+ПАВЛОВИЋ МИЛЕНКО
+ПАВЛОВИЋ МИЛЕНКО
+ПАВЛОВИЋ МИЛЕ
+ПАВЛОВИЋ МИЛЕ
+ПАВЛОВИЋ МИЛИЦА
+ПАВЛОВИЋ МИЛИЦА
+ПАВЛОВИЋ МИЛИЦА
+ПАВЛОВИЋ МИЛИСАВ
+ПАВЛОВИЋ МИЉАНА
+ПАВЛОВИЋ МИЛКА
+ПАВЛОВИЋ МИЛКА
+ПАВЛОВИЋ МИЛОЈЕ
+ПАВЛОВИЋ МИЛОЈЕ
+ПАВЛОВИЋ МИЛОМИР
+ПАВЛОВИЋ МИЛОРАД ДР
+ПАВЛОВИЋ МИЛОРАД
+ПАВЛОВИЋ МИЛОРАД
+ПАВЛОВИЋ МИЛОРАД
+ПАВЛОВИЋ МИЛОСАВА
+ПАВЛОВИЋ МИЛОСАВ
+ПАВЛОВИЋ МИЛОВАН
+ПАВЛОВИЋ МИЛОВАН
+ПАВЛОВИЋ МИОДРАГ
+ПАВЛОВИЋ МИОДРАГ
+ПАВЛОВИЋ МИОДРАГ
+ПАВЛОВИЋ МИРА
+ПАВЛОВИЋ МИРЈАНА ДР
+ПАВЛОВИЋ МИРЈАНА
+ПАВЛОВИЋ МИРЈАНА
+ПАВЛОВИЋ МИРЈАНА
+ПАВЛОВИЋ МИРКО ДИПЛ ОЕЦ
+ПАВЛОВИЋ МИРКО
+ПАВЛОВИЋ МИРКО
+ПАВЛОВИЋ МИРОСЛАВА
+ПАВЛОВИЋ МИРОСЛАВ
+ПАВЛОВИЋ МОМЧИЛО
+ПАВЛОВИЋ НАДА ДР
+ПАВЛОВИЋ НАДА
+ПАВЛОВИЋ НАДА
+ПАВЛОВИЋ НЕДЕЉКА
+ПАВЛОВИЋ НЕДЕЉКО
+ПАВЛОВИЋ НЕМАЊА
+ПАВЛОВИЋ НЕМАЊА
+ПАВЛОВИЋ НИКОЛА
+ПАВЛОВИЋ НИКОЛА
+ПАВЛОВИЋ НИКОЛИЦА
+ПАВЛОВИЋ НИНА
+ПАВЛОВИЋ НОВАК
+ПАВЛОВИЋ ОЛГА
+ПАВЛОВИЋ ОЛГА
+ПАВЛОВИЋ ОЛГА
+ПАВЛОВИЋ ОЛГА
+ПАВЛОВИЋ ПАВЛЕ
+ПАВЛОВИЋ ПАВЛЕ
+ПАВЛОВИЋ ПЕЂА
+ПАВЛОВИЋ ПЕРО
+ПАВЛОВИЋ ПЕТАР
+ПАВЛОВИЋ ПЕТАР
+ПАВЛОВИЋ ПЕТАР
+ПАВЛОВИЋ ПЛЕМЕНКА
+ПАВЛОВИЋ-ПОПОВИЋ ЗОРА ДР ЛЕКАР
+ПАВЛОВИЋ ПРЕДРАГ
+ПАВЛОВИЋ ПРЕДРАГ
+ПАВЛОВИЋ ПРВОСЛАВ
+ПАВЛОВИЋ РАДЕНКО
+ПАВЛОВИЋ РАДИВОЈ
+ПАВЛОВИЋ РАДМИЛА
+ПАВЛОВИЋ РАДМИЛО ДИПЛ ИНГ
+ПАВЛОВИЋ РАДМИЛО
+ПАВЛОВИЋ РАДОЈЕ
+ПАВЛОВИЋ РАДОЈКА
+ПАВЛОВИЋ РАДОМИР ДИПЛ ОЕЦ
+ПАВЛОВИЋ РАДОМИР
+ПАВЛОВИЋ РАДОСЛАВА
+ПАВЛОВИЋ РАДОВАН ДР ВЕТЕРИНЕ
+ПАВЛОВИЋ РАДОВАН
+ПАВЛОВИЋ РАЈКО
+ПАВЛОВИЋ РАНКО
+ПАВЛОВИЋ РАТКО
+ПАВЛОВИЋ САВА
+ПАВЛОВИЋ САВО
+ПАВЛОВИЋ СИМА
+ПАВЛОВИЋ СИМЕОН
+ПАВЛОВИЋ СИМЕОН
+ПАВЛОВИЋ СИНИША
+ПАВЛОВИЋ СЛАВИЦА
+ПАВЛОВИЋ СЛАВКО ДИПЛ ИНГ
+ПАВЛОВИЋ СЛАВКО
+ПАВЛОВИЋ СЛАВКО
+ПАВЛОВИЋ СЛАВКО
+ПАВЛОВИЋ СЛОБОДАН ДР
+ПАВЛОВИЋ СЛОБОДАН
+ПАВЛОВИЋ СЛОБОДАН
+ПАВЛОВИЋ СЛОБОДАН
+ПАВЛОВИЋ СМИЉА
+ПАВЛОВИЋ СТАНА
+ПАВЛОВИЋ СТАНИКА
+ПАВЛОВИЋ СТАНИСЛАВ
+ПАВЛОВИЋ СТЕВАНКА
+ПАВЛОВИЋ СТЕВАН
+ПАВЛОВИЋ СТЕВАН
+ПАВЛОВИЋ СТЕВАН
+ПАВЛОВИЋ СТЕВАН
+ПАВЛОВИЋ СТЕВАН
+ПАВЛОВИЋ СТЈЕПАН
+ПАВЛОВИЋ СТОЈАН
+ПАВЛОВИЋ СТОЈАН
+ПАВЛОВИЋ СВЕТИСЛАВ
+ПАВЛОВИЋ СВЕТОЗАР
+ПАВЛОВИЋ ТОША
+ПАВЛОВИЋ ТОМА
+ПАВЛОВИЋ ТОМИСЛАВ ДР
+ПАВЛОВИЋ ВЕЛИЗАР
+ПАВЛОВИЋ ВЕРА
+ПАВЛОВИЋ ВЕРА
+ПАВЛОВИЋ ВЕРА
+ПАВЛОВИЋ ВИДА
+ПАВЛОВИЋ ВИДОСАВА
+ПАВЛОВИЋ ВИДОСАВА
+ПАВЛОВИЋ ВИДОСЛАВ
+ПАВЛОВИЋ ВИТОМИР
+ПАВЛОВИЋ ВИТОМИР
+ПАВЛОВИЋ ВЛАДИМИР
+ПАВЛОВИЋ ВОЈИСЛАВ
+ПАВЛОВИЋ ЗАГОРКА
+ПАВЛОВИЋ ЗДРАВКО
+ПАВЛОВИЋ ЗОРАН
+ПАВЛОВИЋ ЗОРАН
+ПАВЛОВИЋ ЗОРАН
+ПАВЛОВИЋ ЗОРАН
+ПАВЛОВИЋ ЗОРА
+ПАВЛОВИЋ ЗОРИЦА
+ПАВЛОВИЋ ЗВОНИМИР
+ПАВЛОВСКИ АЛЕКСАНДАР
+ПАВЛОВСКИ МАРИЈА
+ПАВЛОВСКИ СЕРГЕЈ
+ПАВОШЕВИЋ АНКА
+ПАВОШЕВИЋ РОДОЉУБ
+ПАЗАРСКИ СТЕВАН
+ПАЗМАЊ ЈУЛИЈАНА
+ПЕЧАРИЋ КАТИЦА
+ПЕЧИ ГЕЗА
+ПЕЧИ ИШТВАН
+ПЕЧИ МАРИЈА
+ПЕЧКАИ-КОВАЧ АНА
+ПЕЧКАИ МАРГИТА
+ПЕЧВАРАЦ СТАНОЈЕ
+ПЕШЕЊАНСКИ ИВАН
+ПЕШЕЊАНСКИ ИВАН
+ПЕШЕЊАНСКИ КАРЛО
+ПЕШЕВИЋ БОГДАН
+ПЕШЕВСКИ ЂОКА
+ПЕШЕВСКИ ТОМЕ
+ПЕШЕВСКИ ВЛАДО
+ПЕШИЋ ЖИВАН
+ПЕШИЋ АЛЕКСАНДАР
+ПЕШИЋ АНЂЕЛКО
+ПЕШИЋ БУДИМИР
+ПЕШИЋ ДЕСИМИР
+ПЕШИЋ ДИМИТРИЈЕ
+ПЕШИЋ ДИМИТРИЈЕ
+ПЕШИЋ ДРАГАН
+ПЕШИЋ ДРАГИЦА
+ПЕШИЋ ДРАГОЉУБ
+ПЕШИЋ ДРАГОЉУБ
+ПЕШИЋ ГОЈКО
+ПЕШИЋ ГРАДИМИР
+ПЕШИЋ ИЛИЈА
+ПЕШИЋ ЈОРДАН
+ПЕШИЋ ЈОВАН
+ПЕШИЋ ЉУБИЦА
+ПЕШИЋ МИЛАДИН
+ПЕШИЋ МИЛАН
+ПЕШИЋ МИЛИНКО
+ПЕШИЋ МИЛУТИН
+ПЕШИЋ МИЛУТИН
+ПЕШИЋ МИРОСЛАВ
+ПЕШИЋ ПЕТАР
+ПЕШИЋ РАДМИЛА
+ПЕШИЋ РАЈКО
+ПЕШИЋ РУЖА
+ПЕШИЋ САВА
+ПЕШИЋ СТАНОЈЕ
+ПЕШИЋ СТЕВАН ДР
+ПЕШИЋ ВЛАДИМИР
+ПЕШИЋ ВУКАШИН
+ПЕШИКАН ТИХОМИР
+ПЕШИКАН ВУК
+ПЕШКА АНА
+ПЕШКАН ДРАГАН
+ПЕШКАН ВЕРА
+ПЕШКАНОВ МИЛОРАД
+ПЕШКАНОВ ПЕРСИДА
+ПЕШКАНОВ СТЕВАН
+ПЕШКАНОВ ТОДОР
+ПЕШОВИЋ МИЛИВОЈЕ
+ПЕШОВИЋ СТОЈАН
+ПЕШТАЛИЋ СЛОБОДАНКА
+ПЕШТЕРАЦ ЧЕДОМИР
+ПЕШТЕРАЦ МИЛОМИР
+ПЕШТЕРАЦ МИЛУТИН
+ПЕШТИ ЈОЖЕФ
+ПЕШУТ АЛЕКСАНДРА
+ПЕШУТ БОШКО
+ПЕШУТ БРАНКО
+ПЕШУТ ДУШАН
+ПЕШУТ ДУШАН
+ПЕШУТ ИЛИЈА
+ПЕШУТ МАРИЈА
+ПЕШУТ МИЛАН
+ПЕШУТ МИЛИЦА
+ПЕШУТ СЛАВКА
+ПЕШУТ СМИЉА
+ПЕШУТ ВЛАДИМИР
+ПЕЋАНАЦ БОСИЉКА
+ПЕЋАНАЦ ДИМИТРИЈЕ
+ПЕЋАНАЦ ЈОВАН
+ПЕЋАНАЦ НИКОЛА
+ПЕЋАНАЦ ВЕСНА
+ПЕЋАНИН ДУШАН
+ПЕЋАНИН ЉУБИША ДИПЛ ИНГ
+ПЕЋАНИН МИРОСЛАВА
+ПЕЋАНИН ОМИЉЕН
+ПЕЋАНИН-ВЕРМЕЗОВИЋ ОЉА
+ПЕЋКО ДАНИЛО
+ПЕЋКО ВЕРА
+ПЕЋО ЛАЗАР
+ПЕЋО ЛУКА
+ПЕЋО СВЕТОЗАР
+ПЕЦ ЈУЛИЈЕ
+ПЕЦАРСКИ ЛЕКСА
+ПЕЦЕ ЂОРЂЕ
+ПЕЦЕ ЂОРЂЕ
+ПЕЦЕ АЛЕКСАНДАР
+ПЕЦЕ АНТОН
+ПЕЦЕ ИЛЕШ
+ПЕЦЕ ЗОЛТАН
+ПЕЦЕЉ БОЖО
+ПЕЦЕЉ СТЕВАН
+ПЕЦИЋ АЦА
+ПЕЦИЋ КАТАРИНА
+ПЕЦИЋ МИОДРАГ
+ПЕЦИЋ СТЕВАН
+ПЕЦЊИК АНА
+ПЕЦО МИРСАД
+ПЕЦОВИЋ РАДОМИР
+ПЕДОВИЋ РАТОМИР
+ПЕИЋ-ТУКУЉАЦ ВЈЕКОСЛАВ
+ПЕЈЧИЋ БОЖИДАР
+ПЕЈЧИЋ БРАТИСЛАВ
+ПЕЈЧИЋ ДОБРИВОЈЕ
+ПЕЈЧИЋ ДОБРИВОЈ
+ПЕЈЧИЋ ДОБРОСАВ
+ПЕЈЧИЋ ДРАГОМИР
+ПЕЈЧИЋ ДУШАНКА
+ПЕЈЧИЋ ДУБРАВКА
+ПЕЈЧИЋ ГРАДИМИР
+ПЕЈЧИЋ ИЛИЈА
+ПЕЈЧИЋ ИЛИЈА
+ПЕЈЧИЋ ЈАСМИНА
+ПЕЈЧИЋ ЈОВАН
+ПЕЈЧИЋ ЈОВАН
+ПЕЈЧИЋ ЉУБИЦА
+ПЕЈЧИЋ ЉУБОМИР
+ПЕЈЧИЋ МИЛЕНКО
+ПЕЈЧИЋ МИЛЕ
+ПЕЈЧИЋ МИОДРАГ
+ПЕЈЧИЋ МИРОСЛАВ
+ПЕЈЧИЋ МИТАР
+ПЕЈЧИЋ МОМЧИЛО
+ПЕЈЧИЋ НОВАК
+ПЕЈЧИЋ ПЕТАР
+ПЕЈЧИЋ РАДОСЛАВА
+ПЕЈЧИЋ РУЖА
+ПЕЈЧИЋ САВА
+ПЕЈЧИЋ САВА
+ПЕЈЧИЋ СВЕТИСЛАВ
+ПЕЈЧИЋ ВОЈИСЛАВ
+ПЕЈЧИЋ ВОЈИСЛАВ
+ПЕЈЧИЋ ЗОРАН
+ПЕЈАК ЂОРЂЕ
+ПЕЈАК ЂУРА
+ПЕЈАК БРАНКО
+ПЕЈАК ДРАГОСЛАВА
+ПЕЈАК ЈЕЛЕНА
+ПЕЈАК ЈОВАН
+ПЕЈАК ЈОВИЦА
+ПЕЈАК ЛАЗАР
+ПЕЈАК ЉУБИЦА
+ПЕЈАК МИЛАН
+ПЕЈАК МИЛИНКА
+ПЕЈАК МИОДРАГ
+ПЕЈАК МИРЈАНА
+ПЕЈАК МОЈА
+ПЕЈАК НЕВЕНКА
+ПЕЈАК РАДОВАН
+ПЕЈАК РАЈКО
+ПЕЈАК САВА
+ПЕЈАК СЛАВКО
+ПЕЈАК ТРИВА
+ПЕЈАК ВЕРИЦА
+ПЕЈАК ВЛАДИМИР
+ПЕЈАКИЋ МАРКО
+ПЕЈАКОВИЋ ЖАРКО
+ПЕЈАКОВИЋ ЂОРЂЕ
+ПЕЈАКОВИЋ ДУШАН
+ПЕЈАКОВИЋ ИЛИЈА
+ПЕЈАКОВИЋ МИЛЕНКО
+ПЕЈАКОВИЋ НАНДОР
+ПЕЈАКОВИЋ НЕНАД
+ПЕЈАКОВИЋ ПЕРИЦА
+ПЕЈАКОВИЋ ПЕТАР
+ПЕЈАКОВИЋ ПРЕДРАГ
+ПЕЈАНОВИЋ ЂОРЂЕ
+ПЕЈАНОВИЋ АНЂЕЛКО
+ПЕЈАНОВИЋ БРАНКО
+ПЕЈАНОВИЋ ДИМИТРИЈЕ
+ПЕЈАНОВИЋ МИЛКА
+ПЕЈАНОВИЋ РАДОВАН ДР
+ПЕЈАНОВИЋ ЗОРАН
+ПЕЈИЧИЋ МИЛАН
+ПЕЈИЋ ЖИВАН
+ПЕЈИЋ АЛЕКСАНДАР
+ПЕЈИЋ АЛЕКСАНДАР
+ПЕЈИЋ АНИЦА
+ПЕЈИЋ АНТОН
+ПЕЈИЋ БОГДАНКА
+ПЕЈИЋ БОРИВОЈ
+ПЕЈИЋ БРАНИСЛАВ
+ПЕЈИЋ БРАНИСЛАВ
+ПЕЈИЋ ДРАГАН
+ПЕЈИЋ ДРАГАН
+ПЕЈИЋ ДРАГИША
+ПЕЈИЋ ДРАГИЦА
+ПЕЈИЋ ДРАГО
+ПЕЈИЋ ДРАГО
+ПЕЈИЋ ДУШАН
+ПЕЈИЋ ДУШАН
+ПЕЈИЋ ДУШАН
+ПЕЈИЋ ГАВРА
+ПЕЈИЋ ИВАН
+ПЕЈИЋ ИВАН
+ПЕЈИЋ ЈАЊА
+ПЕЈИЋ ЈОВАН
+ПЕЈИЋ ЉУБОМИР
+ПЕЈИЋ МАРА
+ПЕЈИЋ МИХАЈЛО
+ПЕЈИЋ МИЛАН
+ПЕЈИЋ МИЛАН
+ПЕЈИЋ МИЛАН
+ПЕЈИЋ МИЛЕНКО
+ПЕЈИЋ МИЛИЦА
+ПЕЈИЋ МИЛОШ
+ПЕЈИЋ МИЛОРАД
+ПЕЈИЋ МИЛОРАД
+ПЕЈИЋ МИЛОРАД
+ПЕЈИЋ МИЛОРАД
+ПЕЈИЋ МИЛОРАД
+ПЕЈИЋ МИЛОРАД
+ПЕЈИЋ МИЛОСАВ
+ПЕЈИЋ НЕДЕЉКО
+ПЕЈИЋ НИКОЛА
+ПЕЈИЋ НИКО
+ПЕЈИЋ НОВАК
+ПЕЈИЋ ОРЈЕН
+ПЕЈИЋ ПРЕДРАГ
+ПЕЈИЋ РАДОЈКА
+ПЕЈИЋ РАДОСАВ
+ПЕЈИЋ РАЈКО
+ПЕЈИЋ РУЖИЦА
+ПЕЈИЋ СЛОБОДАНКА
+ПЕЈИЋ СЛОБОДАН
+ПЕЈИЋ СЛОБОДАН
+ПЕЈИЋ СОФИЈА
+ПЕЈИЋ СТАНКО
+ПЕЈИЋ СТЕВАН
+ПЕЈИЋ СТИПАН
+ПЕЈИЋ ВЕРИЦА
+ПЕЈИЋ ВЛАДО
+ПЕЈИН ЂОРЂЕ
+ПЕЈИН ЂУРЂИНА
+ПЕЈИН АНЂЕЛКА
+ПЕЈИН БРАНИМИР
+ПЕЈИН БРАНИМИР
+ПЕЈИН БРАНИМИР
+ПЕЈИН ДЕЈАН
+ПЕЈИН ДИМИТРИЈЕ
+ПЕЈИН ДУШАН ДР
+ПЕЈИН ГОЈКО
+ПЕЈИН ЈЕЛЕНА
+ПЕЈИН ЈОВАН
+ПЕЈИН ЛАЗАР ДИПЛ ОЕЦ
+ПЕЈИН МАРИЈА
+ПЕЈИН МАРИТА
+ПЕЈИН МИЛИВОЈ
+ПЕЈИН МИЛОШ
+ПЕЈИН МИЛОРАД
+ПЕЈИН МИРОСЛАВ
+ПЕЈИН МЛАДЕН
+ПЕЈИН НЕНАД
+ПЕЈИН НИКОЛА
+ПЕЈИН НИКОЛА
+ПЕЈИН НИКОЛА
+ПЕЈИН НОВАК
+ПЕЈИН ПАВЛЕ
+ПЕЈИН ПЕРСИДА
+ПЕЈИН ПЛАВША
+ПЕЈИН РАДА
+ПЕЈИН РАДА
+ПЕЈИН РАДОСЛАВ
+ПЕЈИН СТЕВАН
+ПЕЈИН СТЕВАН
+ПЕЈИН ВАСА
+ПЕЈИН ВЕРИЦА
+ПЕЈИН ВУКОСАВА
+ПЕЈИНОВ БРАНИСЛАВ
+ПЕЈИНОВ ЉУБИЦА
+ПЕЈИНОВ ВЕЉКО
+ПЕЈИНОВИЋ ДРАГАН
+ПЕЈКОВИЋ АЛЕКСАНДАР
+ПЕЈКОВИЋ ДАНИЛКА
+ПЕЈКОВИЋ ИБОЉКА
+ПЕЈКОВИЋ ИВАН
+ПЕЈКОВИЋ ЈАСНА
+ПЕЈНОВИЋ БОСИЉКА
+ПЕЈНОВИЋ ЉУБИНКА
+ПЕЈНОВИЋ МИЛАН
+ПЕЈНОВИЋ МИРОСЛАВ
+ПЕЈНОВИЋ НИКОЛА
+ПЕЈНОВИЋ СТЕВАН
+ПЕЈОВИЋ ЂОКА
+ПЕЈОВИЋ ЂУКАН
+ПЕЈОВИЋ АЛЕКСАНДАР
+ПЕЈОВИЋ АЛЕКСАНДАР
+ПЕЈОВИЋ БОЖИДАР
+ПЕЈОВИЋ БОРИСЛАВ
+ПЕЈОВИЋ БОРИВОЈЕ
+ПЕЈОВИЋ БОРКА
+ПЕЈОВИЋ БОСИЉКА
+ПЕЈОВИЋ БРАНКА
+ПЕЈОВИЋ ДАНИЦА
+ПЕЈОВИЋ ДАНИЛО
+ПЕЈОВИЋ ДАВИД
+ПЕЈОВИЋ ДЕЈАН
+ПЕЈОВИЋ ДОБРИЛА
+ПЕЈОВИЋ ДРАГИЦА
+ПЕЈОВИЋ ЉУБО
+ПЕЈОВИЋ МАРКО
+ПЕЈОВИЋ МИЛАН
+ПЕЈОВИЋ МИЛЕНА
+ПЕЈОВИЋ МИЛЕНА
+ПЕЈОВИЋ МИЛИЈА
+ПЕЈОВИЋ МИЛОЈКА
+ПЕЈОВИЋ МИОДРАГ
+ПЕЈОВИЋ МИРЈАНА
+ПЕЈОВИЋ МОМИР
+ПЕЈОВИЋ НАДА
+ПЕЈОВИЋ ОЛГА
+ПЕЈОВИЋ ПАВЛЕ
+ПЕЈОВИЋ ПЕТАР
+ПЕЈОВИЋ САВА
+ПЕЈОВИЋ СЛАВКА
+ПЕЈОВИЋ СЛОБОДАНКА
+ПЕЈОВИЋ СЛОБОДАН
+ПЕЈОВИЋ ТОМИСЛАВ
+ПЕЈОВСКИ ДРАГАН
+ПЕЈОВСКИ КОЛЕ
+ПЕЈОВСКИ ТОМИСЛАВ
+ПЕКАР ДАРКО
+ПЕКАР ЈАНОШ
+ПЕКАР МИЛКА
+ПЕКАР РОЗАЛИЈА
+ПЕКАРОВИЋ ДРАГИЦА
+ПЕКАС АНТЕ
+ПЕКЕЧ МИТА
+ПЕКЕЗ БРАНКО
+ПЕКЕЗ ЈОВАН
+ПЕКЕЗ ЈОВАН
+ПЕКЕЗ МАРИЦА
+ПЕКЕЗ МИЛОРАД
+ПЕКЕЗ СТАНА
+ПЕКЕЗ ЗОРА
+ПЕКИЋ БРАНИСЛАВ ДР
+ПЕКИЋ ГОРАН
+ПЕКИЋ КРСТО
+ПЕКИЋ МИХАЈЛО
+ПЕКИЋ МИЛАН
+ПЕКИЋ МИЛАН
+ПЕКИЋ МИЛОШ
+ПЕКИЋ МИРКО
+ПЕКИЋ СТЕВАН
+ПЕКОВИЋ ЖЕЉКО
+ПЕКОВИЋ ИЛИЈА
+ПЕКОВИЋ МАГДАЛЕНА
+ПЕКОВИЋ МИЛИВОЈЕ
+ПЕКОВИЋ МИТРУША
+ПЕКОВИЋ-ПАРЛАЋ СМИЉА ДР
+ПЕКОВИЋ ПАВА
+ПЕКОВИЋ ВЕРА
+ПЕКОВИЋ ВИДА
+ПЕКОВИЋ ВУКАШИН
+ПЕКУРАР КОРНЕЛ
+ПЕКУРАР РОМАН
+ПЕЛАГИЋ НАДА
+ПЕЛАГИЋ СРЂАН
+ПЕЛЕ ФЕРЕНЦ
+ПЕЛЕ МАРИЈА
+ПЕЛЕ ЗОЛТАН
+ПЕЛЕГРИН СТЈЕПАН
+ПЕЛЕГРИН ВЛАДО
+ПЕЛЕВИЋ БРАНКО
+ПЕЛХЕ ФРАЊА ДР
+ПЕЉХА ЂУРА
+ПЕЉХА САЊА
+ПЕЉХА ЗВОНКО
+ПЕЛОЗА ДУШАН
+ПЕЛОЗА НАДА
+ПЕЛВА ЈОСИП
+ПЕЛВА ЈОВАН
+ПЕЛВА ЗОЛТАН
+ПЕЛВАИ-ЗОРИЋ ЕДИТ
+ПЕМАЦ БРАНИСЛАВ
+ПЕМАЦ ЛАЗАР
+ПЕНА МАРИНКО
+ПЕНА МИЛАН
+ПЕНА МИОДРАГ
+ПЕНА РАДИВОЈ
+ПЕНА СЛОБОДАН
+ПЕНАЦ СТАКИЦА
+ПЕНАВИН ВЕЛИМИР
+ПЕНЦ ДОБРИЛА
+ПЕНЦ ИРЕНА
+ПЕНЦА СЛАВКО
+ПЕНЏИЋ БРАНИСЛАВ
+ПЕНЏИЋ ЈЕРОСИМА
+ПЕНЕЗИЋ ДУШАН
+ПЕНЕЗИЋ НЕНАД
+ПЕНЕЗИЋ РАДОСЛАВ
+ПЕНЕЗИЋ ЗОРИЦА
+ПЕНИЋ ЧЕДОМИР
+ПЕНИЋ ЂУРЂИЦА
+ПЕНИЋ БОРИСЛАВ
+ПЕНИЋ БРАНКО
+ПЕНИЋ МИХАЈЛО
+ПЕНИЋ МИЛЕВА
+ПЕНИЋ МИЛИЦА
+ПЕНИЋ ПАВЛЕ
+ПЕНИЋ СЛАВКО
+ПЕНИЋ СТЕВАН
+ПЕНИЋ ВЛАДИМИР
+ПЕЊАШКОВИЋ ЗВОНИМИР
+ПЕЊИН ЖИВА
+ПЕЊИН СЛАВКО
+ПЕНОВ ЕМИЛ
+ПЕНОВ ЉУБИША
+ПЕНОВ МАРКО
+ПЕНЗЕШ ЂОРЂЕ
+ПЕНЗЕШ ФЕРЕНЦ
+ПЕНЗЕШ ФЕРЕНЦ
+ПЕНЗЕШ МИХАЉ
+ПЕНЗЕШ МИХАЉ
+ПЕНЗЕШ ТИБОР
+ПЕПИЋ ЛАЗО
+ПЕПИЋ МИЛАН
+ПЕПИЋ МИЛЕ
+ПЕПИЋ МИРЈАНА
+ПЕПИЋ МИРКО
+ПЕПЛИНАЦ ТОМА
+ПЕРЧИ АГНЕЗА
+ПЕРЧИЋ ДРАГАН
+ПЕРШ КСЕНИЈА
+ПЕРШАЈ МИРЈАНА
+ПЕРШИЋ ДАНИЦА
+ПЕРШИЋ ВАЛЕРИЈА
+ПЕРЂЕЂАЈ БАШКИМ
+ПЕРЂУН ЗВОНКО
+ПЕРАЋ БРАНКО
+ПЕРАЋ ЉУПКО
+ПЕРАЗИЋ САВА
+ПЕРАЗИЋ ВЛАДИМИР
+ПЕРЦ БРАНКА
+ПЕРЦ ЕЛА
+ПЕРЦ ВЛАДИМИР
+ПЕРЦЕ ЛУКА
+ПЕРДАН СТАНИСЛАВ
+ПЕРЕШ ХЕРМИНА
+ПЕРЕЖА НИКОЛА
+ПЕРЕГИ ГЕЗА
+ПЕРЕГИ ОСКАР
+ПЕРЕХИНАЦ ИВАН
+ПЕРЕНЧЕВИЋ ВАСО
+ПЕРЕПАТИЋ ПИРОШ
+ПЕРЕПАТИЋ СТЕВАН
+ПЕРЕУЛА БОГДАН
+ПЕРГАЛ МИРОСЛАВ ДР ИНГ
+ПЕРГЕ ЕСТЕР
+ПЕРГЕ МАРА
+ПЕРГЕ ВИКТОРИЈА
+ПЕРИЧЕВИЋ БРАНКО
+ПЕРИЧЕВИЋ РАЈКО
+ПЕРИЧИН ЖИВАН
+ПЕРИЧИН МИЛАНКА
+ПЕРИЧИН МИЛЕНКО
+ПЕРИЧИН РАТКО
+ПЕРИЧИН ВЛАДА
+ПЕРИША ЈАКОВ
+ПЕРИША МИРОСЛАВ
+ПЕРИШИЋ ЧЕДОМИР
+ПЕРИШИЋ ЖИВОДАРКА
+ПЕРИШИЋ ЂОРЂЕ
+ПЕРИШИЋ ЂОРЂЕ
+ПЕРИШИЋ АЛЕКСАНДАР
+ПЕРИШИЋ АНИЦА
+ПЕРИШИЋ БЛАЖО
+ПЕРИШИЋ БЛАГОЈЕ
+ПЕРИШИЋ БОБАН
+ПЕРИШИЋ БОРИСЛАВ
+ПЕРИШИЋ БРАНКО
+ПЕРИШИЋ ДАНИЦА
+ПЕРИШИЋ ДРАГОМИР
+ПЕРИШИЋ ДУШАНКА
+ПЕРИШИЋ ИРЕНА
+ПЕРИШИЋ КАТИЦА
+ПЕРИШИЋ КАТИЦА
+ПЕРИШИЋ ЛАЗАР
+ПЕРИШИЋ ЛАЗАР
+ПЕРИШИЋ ЛАЗАР
+ПЕРИШИЋ ЛАЗА
+ПЕРИШИЋ ЉУБОМИР
+ПЕРИШИЋ МАНЦИКА
+ПЕРИШИЋ МАРА
+ПЕРИШИЋ МИХАЈЛО
+ПЕРИШИЋ МИЛАН
+ПЕРИШИЋ МИЛЕНКО
+ПЕРИШИЋ МИЛИНКО
+ПЕРИШИЋ МИЉА
+ПЕРИШИЋ МИЛОВАН
+ПЕРИШИЋ МИЛОВАН
+ПЕРИШИЋ МИЛУТИН
+ПЕРИШИЋ МИОДРАГ
+ПЕРИШИЋ МИРА
+ПЕРИШИЋ НИКОЛА
+ПЕРИШИЋ РАДЕ
+ПЕРИШИЋ РАДОСЛАВА
+ПЕРИШИЋ РАДОСЛАВ
+ПЕРИШИЋ РАНКО
+ПЕРИШИЋ СТАНКО
+ПЕРИШИЋ СТЕВО
+ПЕРИШИЋ СТОЈАН
+ПЕРИШИЋ СВЕТОЗАР
+ПЕРИШИЋ ТОДОР
+ПЕРИШИЋ УГЉЕША
+ПЕРИШИЋ ВАСО
+ПЕРИШИЋ ВАСО
+ПЕРИЋ ЖАРКО
+ПЕРИЋ ЖИВКА
+ПЕРИЋ ЖИВОЈИН
+ПЕРИЋ ЂОРЂЕ
+ПЕРИЋ ЂУРИЦА
+ПЕРИЋ АЛЕКСАНДАР
+ПЕРИЋ АНА
+ПЕРИЋ БИСЕРКА
+ПЕРИЋ БОЖИДАР
+ПЕРИЋ БОЖИДАР
+ПЕРИЋ БОРИС
+ПЕРИЋ БРАНИСЛАВ
+ПЕРИЋ БРАНИСЛАВ
+ПЕРИЋ БРАНКО
+ПЕРИЋ ЦВИЈЕТИН
+ПЕРИЋ ДОБРИЛА
+ПЕРИЋ ДРАГАНА
+ПЕРИЋ ДУШАНКА
+ПЕРИЋ ДУШАН
+ПЕРИЋ ДУШАН
+ПЕРИЋ ГОЈКО ДИПЛ ИНГ
+ПЕРИЋ ГОРАН
+ПЕРИЋ ИВАН
+ПЕРИЋ ЈАНКО
+ПЕРИЋ ЈЕЛКА
+ПЕРИЋ ЈОВАНКА
+ПЕРИЋ ЈОВАН
+ПЕРИЋ КСЕНИЈА
+ПЕРИЋ ЛАЗА
+ПЕРИЋ ЉУБИША
+ПЕРИЋ ЉУБИЦА
+ПЕРИЋ ЉУБИНКА
+ПЕРИЋ ЉУБИНКО
+ПЕРИЋ ЉУБОМИР
+ПЕРИЋ МАРА
+ПЕРИЋ МАРИЈА
+ПЕРИЋ МАРИЈА
+ПЕРИЋ МАРИЈА
+ПЕРИЋ МАРИНКО
+ПЕРИЋ МАРКО
+ПЕРИЋ МИХА
+ПЕРИЋ МИЛАДИН
+ПЕРИЋ МИЛАН
+ПЕРИЋ МИЛЕНКО
+ПЕРИЋ МИЛИЦА
+ПЕРИЋ МИЛКИЦА
+ПЕРИЋ МИЛОШ
+ПЕРИЋ МИЛОШ
+ПЕРИЋ МИЛОРАД
+ПЕРИЋ МИОДРАГ
+ПЕРИЋ МИТАР
+ПЕРИЋ НАТАША
+ПЕРИЋ-НЕШИЋ ЦОКА
+ПЕРИЋ НИКОЛА
+ПЕРИЋ НИКОЛА
+ПЕРИЋ НИКОЛА
+ПЕРИЋ НИКОЛА
+ПЕРИЋ ПАВЛЕ
+ПЕРИЋ ПЕТАР
+ПЕРИЋ РАША
+ПЕРИЋ РАДЕ
+ПЕРИЋ РАДИВОЈ
+ПЕРИЋ РАДО
+ПЕРИЋ РАЈКО
+ПЕРИЋ РОДОЉУБ
+ПЕРИЋ РУЖИЦА
+ПЕРИЋ САВА
+ПЕРИЋ САВА
+ПЕРИЋ СЛАВИЦА
+ПЕРИЋ СЛАВКО
+ПЕРИЋ СЛОБОДАН
+ПЕРИЋ СЛОБОДАН
+ПЕРИЋ СМИЉА
+ПЕРИЋ СТАНКА
+ПЕРИЋ СВЕТОЗАР
+ПЕРИЋ ТОМИСЛАВ
+ПЕРИЋ ВАСА
+ПЕРИЋ ВИНКА
+ПЕРИЋ ВЛАТКО
+ПЕРИЋ ЗДЕНКА
+ПЕРИЋ ЗОРАН
+ПЕРИЋ ЗОРАН
+ПЕРИЋ ЗОРА
+ПЕРИЦА АНТЕ
+ПЕРИЦА РАДОСЛАВ
+ПЕРИН БРАНИСЛАВ
+ПЕРИН ДРАГИША
+ПЕРИН МИЛИНКО
+ПЕРИН МИЛОРАД
+ПЕРИН РАДИША
+ПЕРИН СЕКУЛА
+ПЕРИН ЗОРА
+ПЕРИНАЦ РАДОВАН
+ПЕРИНАЦ РАДОВАН
+ПЕРИНОВИЋ БРАНКО
+ПЕРИНОВИЋ НАДА
+ПЕРИНОВИЋ СЛАВИЦА
+ПЕРИНОВИЋ СЛАВКО
+ПЕРИНОВИЋ СТАНКО
+ПЕРИЗ СТЕВО
+ПЕРКОВ РАДИНКА
+ПЕРКОВАЦ МАРИЈА
+ПЕРКОВИЋ БРАНИМИР
+ПЕРКОВИЋ БРАНИСЛАВ
+ПЕРКОВИЋ ДАНИЦА
+ПЕРКОВИЋ ДРАГАН
+ПЕРКОВИЋ ГВОЗДЕН
+ПЕРКОВИЋ ЈЕЛКА
+ПЕРКОВИЋ РАДИВОЈ
+ПЕРКОВИЋ РАДОМАН МР
+ПЕРКОВИЋ СЛАВКО
+ПЕРКОВИЋ ТАДИЈА
+ПЕРКОВИЋ ТОМО
+ПЕРКОВСКИ ЂОРЂЕ
+ПЕРКОВСКИ АНЂЕЛКО
+ПЕРКУЧИН ЂОРЂЕ
+ПЕРКУЧИН ЂУЛИНКА
+ПЕРКУЧИН ДУШАН
+ПЕРКУЧИН ГОРДАНА
+ПЕРКУЧИН КАТИЦА
+ПЕРКУЧИН НИКОЛА
+ПЕРКУЧИН РАДИВОЈ ДР
+ПЕРЛАКИ ЛАЈОШ
+ПЕРЛИЋ ДРАГАН
+ПЕРЛИНАЦ СИМЕУН
+ПЕРЊАК НАТАЛИЈА
+ПЕРЊАК НИКОЛА ДИПЛ ИНГ
+ПЕРЊАКОВИЋ ДРАГОСЛАВ
+ПЕРОШЕВИЋ НОВИЦА
+ПЕРОШЕВИЋ СТАНКА
+ПЕРОСАВЉЕВИЋ ЉУБИША
+ПЕРОВАНОВИЋ АЛЕКСАНДАР
+ПЕРОВАНОВИЋ ДУШАН
+ПЕРОВАНОВИЋ ЈАГОДА
+ПЕРОВИЋ ЖАНКА
+ПЕРОВИЋ АНЂЕЛКА
+ПЕРОВИЋ БОЈАНА
+ПЕРОВИЋ БРАНКО
+ПЕРОВИЋ БРАТИМИР
+ПЕРОВИЋ ДРАГО
+ПЕРОВИЋ ГАБРИЕЛА
+ПЕРОВИЋ ИВАНКА
+ПЕРОВИЋ ЈЕЛА
+ПЕРОВИЋ ЈОВАН
+ПЕРОВИЋ КАТАРИНА
+ПЕРОВИЋ МАРКО
+ПЕРОВИЋ МИЛЕНКО ДР
+ПЕРОВИЋ МИЛОРАД
+ПЕРОВИЋ МЛАЂЕН
+ПЕРОВИЋ НАДЕЖДА
+ПЕРОВИЋ НИКОЛА
+ПЕРОВИЋ РАДАШИН
+ПЕРОВИЋ РАДИСАВ
+ПЕРОВИЋ РАДИСЛАВ
+ПЕРОВИЋ РАДИВОЈЕ
+ПЕРОВИЋ РАДИВОЈ
+ПЕРОВИЋ РАДОВАН ДИПЛ ИНГ
+ПЕРОВИЋ СВЕТОМИР
+ПЕРОВИЋ ВЕСЕЛИН
+ПЕРОВИЋ ВЛАЈКО
+ПЕРТИЋ ЗАКАРИАШ
+ПЕРТОТ ЈЕЛЕНА
+ПЕРУНИЧИЋ ДОБРИЛА
+ПЕРУНИЧИЋ МИЛОРАД
+ПЕРУНИЧИЋ РАДАН
+ПЕРУНОВИЋ ЉИЉАНА
+ПЕРУНОВИЋ ПАНТО
+ПЕРУНОВИЋ СТАНОЈЕ
+ПЕРВАЗ ЖИВКА
+ПЕРВАЗ ДРАГИЊА ДР ПРОФ
+ПЕСИРАЦ ДРАГОЉУБ
+ПЕСИРАЦ КАТАРИНА
+ПЕСИРАЦ ПЕТАР
+ПЕСИРАЦ СТЕВАН
+ПЕСЛАЋ ЈОВАН
+ПЕСТАЛИЋ ЈОСИП
+ПЕСТЕЛЕК ЉУБИША
+ПЕСТЕЛЕК ЉУБИША
+ПЕТАКОВ ЖИВКО
+ПЕТАКОВ ЈУЛКА
+ПЕТАКОВ МИЛЕНКО
+ПЕТАКОВ РАДОСЛАВ
+ПЕТАКОВ РАНКА
+ПЕТАКОВ САВА
+ПЕТАКОВИЋ ДОБРИЛА
+ПЕТАКОВИЋ ДУШАН
+ПЕТАКОВИЋ ИЛИЈА
+ПЕТАКОВИЋ ЈОВАН
+ПЕТАКОВИЋ МИЛИЦА
+ПЕТАКОВИЋ НЕМАЊА
+ПЕТАКОВИЋ РАДИВОЈ
+ПЕТАКОВИЋ РАЈКО
+ПЕТАКОВИЋ САВА
+ПЕТЕ ЂУРА
+ПЕТЕ ЂУРА
+ПЕТЕ ДУШАНКА
+ПЕТЕ ФЕРЕНЦ
+ПЕТЕ ФЕРЕНЦ
+ПЕТЕ ФРАЊА
+ПЕТЕ ИШТВАН
+ПЕТЕ ИШТВАН
+ПЕТЕ ИШТВАН
+ПЕТЕ КАРОЉ
+ПЕТЕ ПЕТАР
+ПЕТЕ СТЕПАН
+ПЕТЕ СТЕВАН
+ПЕТЕЈ РАТКО
+ПЕТЕК ДАМИР
+ПЕТЕЛИН ЕЛИЗАБЕТА
+ПЕТЕЊИ ЈОСИП ДР
+ПЕТЕЊИ СТЕВАН
+ПЕТЕР ФРАНЦИШКА
+ПЕТЕР ЈОЖЕФ
+ПЕТЕР ЈОЛАН
+ПЕТЕР ЈОВАН
+ПЕТЕР МИХАЉ
+ПЕТЕР ВИЛМОШ
+ПЕТЕРКА ЂОРЂЕ
+ПЕТЕРКА ЈЕЛЕНА
+ПЕТЕРКА ЈОСИП
+ПЕТЕРКА МАРИЈА
+ПЕТЕРКА СТЕВАН
+ПЕТЕРКА ВЛАДИСЛАВ
+ПЕТЕРЛИЋ МИЛАН
+ПЕТЕРНЕЛ ЛИДИЈА
+ПЕТИЋ МИЛАН
+ПЕТИЋ ЗОРКА
+ПЕТИЈЕВИЋ ЈОВАН МР
+ПЕТИЈЕВИЋ ЈОВАН
+ПЕТИН НИКОЛА ПРОФЕСОР
+ПЕТКАНИЋ МИЛОРАД
+ПЕТКОВ ЖАРЕ
+ПЕТКОВ ЂОРЂЕ
+ПЕТКОВ ЂУРА
+ПЕТКОВ БОРИСЛАВ
+ПЕТКОВ ИВАН
+ПЕТКОВ МИЛАН
+ПЕТКОВ НАДЕЖДА
+ПЕТКОВ САВА
+ПЕТКОВ СТЕВАН
+ПЕТКОВ СТЕВА
+ПЕТКОВИЋ ЧЕДА
+ПЕТКОВИЋ ЖАРКО
+ПЕТКОВИЋ ЖЕЉКО
+ПЕТКОВИЋ ЖИВОРАД
+ПЕТКОВИЋ ЖИВОРАД
+ПЕТКОВИЋ ЂОРЂЕ ДР
+ПЕТКОВИЋ ЂОРЂЕ
+ПЕТКОВИЋ ЂОРЂЕ
+ПЕТКОВИЋ ЂОРЂЕ
+ПЕТКОВИЋ ЂОРЂЕ
+ПЕТКОВИЋ ЂУЛА
+ПЕТКОВИЋ ЂУРАЂ
+ПЕТКОВИЋ АЛЕКСАНДАР
+ПЕТКОВИЋ АНА
+ПЕТКОВИЋ АНТУН
+ПЕТКОВИЋ БОЈАНА
+ПЕТКОВИЋ БОРИСЛАВ
+ПЕТКОВИЋ БОРКО
+ПЕТКОВИЋ БРАНКО
+ПЕТКОВИЋ БРАНКО
+ПЕТКОВИЋ БРАНКО
+ПЕТКОВИЋ БРАНКО
+ПЕТКОВИЋ ЦВЕТКО
+ПЕТКОВИЋ ДАРИНКА
+ПЕТКОВИЋ ДРАГАН
+ПЕТКОВИЋ ДРАГАН
+ПЕТКОВИЋ ДРАГИША
+ПЕТКОВИЋ ДРАГИЦА
+ПЕТКОВИЋ ДРАГОЉУБ
+ПЕТКОВИЋ ДУШАН
+ПЕТКОВИЋ ДУШАН
+ПЕТКОВИЋ ДУШАН
+ПЕТКОВИЋ ГОРДАНА
+ПЕТКОВИЋ ГВОЗДЕН
+ПЕТКОВИЋ ИШТВАН
+ПЕТКОВИЋ ИЛИЈА
+ПЕТКОВИЋ ИЛИЈА
+ПЕТКОВИЋ ИЉА
+ПЕТКОВИЋ ИРЕНА
+ПЕТКОВИЋ ЈАГОДА
+ПЕТКОВИЋ ЈОСИП
+ПЕТКОВИЋ ЈОВАН
+ПЕТКОВИЋ ЈОВО
+ПЕТКОВИЋ КАЛМАН
+ПЕТКОВИЋ КАТАРИНА
+ПЕТКОВИЋ КОСТАДИН
+ПЕТКОВИЋ КРСТА
+ПЕТКОВИЋ ЛАЗАР
+ПЕТКОВИЋ ЛАЗАР
+ПЕТКОВИЋ ЛАЗАР
+ПЕТКОВИЋ ЛАЗО
+ПЕТКОВИЋ ЉУБИНКО
+ПЕТКОВИЋ ЉУБОМИР
+ПЕТКОВИЋ МАРКО
+ПЕТКОВИЋ МИХАЈЛО
+ПЕТКОВИЋ МИЛАНА
+ПЕТКОВИЋ МИЛАН
+ПЕТКОВИЋ МИЛАН
+ПЕТКОВИЋ МИЛАН
+ПЕТКОВИЋ МИЛАН
+ПЕТКОВИЋ МИЛАН
+ПЕТКОВИЋ МИЛИЦА
+ПЕТКОВИЋ МИЛКА
+ПЕТКОВИЋ МИЛОРАД
+ПЕТКОВИЋ МИЛОРАД
+ПЕТКОВИЋ МИЛОВАНКА
+ПЕТКОВИЋ МИЛУТИН
+ПЕТКОВИЋ МИЛУТИН
+ПЕТКОВИЋ МИЛУТИН
+ПЕТКОВИЋ МИОДРАГ
+ПЕТКОВИЋ МИОДРАГ
+ПЕТКОВИЋ МИОДРАГ
+ПЕТКОВИЋ МИОРИКА
+ПЕТКОВИЋ МИРА
+ПЕТКОВИЋ МИРЈАНА ДИПЛ ИНГ
+ПЕТКОВИЋ МИРЈАНА
+ПЕТКОВИЋ МИРКО
+ПЕТКОВИЋ МИРКО
+ПЕТКОВИЋ МИРКО
+ПЕТКОВИЋ МЛАДЕН
+ПЕТКОВИЋ МЛАДЕН
+ПЕТКОВИЋ МЛАДЕН
+ПЕТКОВИЋ НАДА
+ПЕТКОВИЋ НИКО
+ПЕТКОВИЋ ОБРАД
+ПЕТКОВИЋ ОЛИВЕРА
+ПЕТКОВИЋ ПАВЛЕ
+ПЕТКОВИЋ ПАВЛЕ
+ПЕТКОВИЋ ПАВЛЕ
+ПЕТКОВИЋ ПЕТАР
+ПЕТКОВИЋ ПЕТАР
+ПЕТКОВИЋ ПЕТАР
+ПЕТКОВИЋ ПЕТРА
+ПЕТКОВИЋ ПУНИША
+ПЕТКОВИЋ РАДЕ
+ПЕТКОВИЋ РАДИВОЈ
+ПЕТКОВИЋ РАДОВАН
+ПЕТКОВИЋ РАДОВАН
+ПЕТКОВИЋ РАТКА
+ПЕТКОВИЋ СЛАВКО
+ПЕТКОВИЋ СЛОБОДАН
+ПЕТКОВИЋ СЛОБОДАН
+ПЕТКОВИЋ СРЂАН
+ПЕТКОВИЋ СТАНА
+ПЕТКОВИЋ СТАНОЈЕ
+ПЕТКОВИЋ СТЕВАН
+ПЕТКОВИЋ СТЕВАН
+ПЕТКОВИЋ СВЕТИСЛАВ
+ПЕТКОВИЋ ТОМИСЛАВ
+ПЕТКОВИЋ ТОМИСЛАВ
+ПЕТКОВИЋ ВАСИЛИЈЕ
+ПЕТКОВИЋ ВЕРА
+ПЕТКОВИЋ ВЕРИЦА
+ПЕТКОВИЋ ВЕСЕЛИН
+ПЕТКОВИЋ ВЛАДИМИР
+ПЕТКОВИЋ ВЛАДИМИР
+ПЕТКОВИЋ ВЛАДИМИР
+ПЕТКОВИЋ ВЛАДИСЛАВ
+ПЕТКОВИЋ ВОЈИСЛАВ
+ПЕТКОВИЋ ВУКАШИН
+ПЕТКОВИЋ ВУКОСАВА
+ПЕТКОВИЋ ЗЛАТКО
+ПЕТКОВИЋ ЗЛАТОМИР
+ПЕТКОВИЋ ЗОРАН
+ПЕТКОВСКА СЛАВИЦА
+ПЕТКОВСКИ АЦА
+ПЕТКОВСКИ ГОРАН
+ПЕТКОВСКИ МИЛКА
+ПЕТКОВСКИ СТАНКО
+ПЕТЛЕК ЈОВАН
+ПЕТЉАНСКИ БРАНКО
+ПЕТЉАНСКИ ДРАГОСЛАВ
+ПЕТЉАНСКИ ИРЕНА
+ПЕТО ЈОЖЕФ
+ПЕТОШЕВИЋ МИЛЕ
+ПЕТОШЕВИЋ СЛАВКО
+ПЕТОШЕВИЋ СТЕВАН
+ПЕТОШЕВИЋ СВЕТИСЛАВ
+ПЕТОХЛЕБ ПАВИЦА
+ПЕТОЈЕВИЋ ЂОРЂЕ
+ПЕТОВИЋ ЂУРО
+ПЕТОВИЋ ГОЈКО
+ПЕТОВИЋ МИЛЕНА
+ПЕТОВИЋ СЛАВКО
+ПЕТРАШИНОВИЋ ДРАГАН
+ПЕТРАШКОВИЋ ДРАГАН
+ПЕТРАШКОВИЋ ЕМИЛИЈА
+ПЕТРАКОВИЋ-ГРАОВАЦ КОСАНА
+ПЕТРАНОВИЋ ЈОСИП
+ПЕТРАНОВИЋ МАГДА
+ПЕТРАНОВИЋ ЗВОНКО
+ПЕТРЕШ ФРАЊО
+ПЕТРЕШ РАДЕ
+ПЕТРЕЊ СТЕВАН
+ПЕТРЕВСКА ЗОРАНКА
+ПЕТРЕВСКИ БОРИС
+ПЕТРЕВСКИ ИЛОНА
+ПЕТРЕВСКИ КИРО
+ПЕТРИ МИЛЕНА
+ПЕТРИ МИРОСЛАВА
+ПЕТРИЧЕВИЋ ИВАН
+ПЕТРИЧИЋ БРАНКО
+ПЕТРИЧИЋ ДАНЕ
+ПЕТРИЧИЋ ЈОВО
+ПЕТРИЧИЋ МИЛАН
+ПЕТРИЧИЋ МИЛАН
+ПЕТРИЧИЋ СТЕВАН
+ПЕТРИЧИЋ ТАТЈАНА
+ПЕТРИЋ ЂОРЂЕ
+ПЕТРИЋ АЛЕКСАНДАР
+ПЕТРИЋ АНАСТАЗИЈА
+ПЕТРИЋ БОШКО
+ПЕТРИЋ БРАНИСЛАВА
+ПЕТРИЋ БРАНКО ДР
+ПЕТРИЋ ДАНИЛО
+ПЕТРИЋ ДЕСАНКА ДИПЛ ИНГ
+ПЕТРИЋ ДЕСИМИР
+ПЕТРИЋ ДИМИТРИЈЕ ДИПЛ ИНГ
+ПЕТРИЋ ДИМИТРИЈЕ
+ПЕТРИЋ ДИМИТРИЈЕ
+ПЕТРИЋ ДУШАНКА
+ПЕТРИЋ ДУШАН
+ПЕТРИЋ ИЛИЈА
+ПЕТРИЋ ЈОВАН
+ПЕТРИЋ ЛАЗАР МР
+ПЕТРИЋ ЉИЉАНА
+ПЕТРИЋ ЉУБИЦА
+ПЕТРИЋ МИЛАН
+ПЕТРИЋ МИЛАН
+ПЕТРИЋ МИЛЕНКО
+ПЕТРИЋ МИЛЕТА
+ПЕТРИЋ МИЛИВОЈ
+ПЕТРИЋ МИЛОРАД
+ПЕТРИЋ НАДА
+ПЕТРИЋ ОЛГА
+ПЕТРИЋ ПЕТАР
+ПЕТРИЋ ПЕТАР
+ПЕТРИЋ РАДИСАВ
+ПЕТРИЋ РАДИСАВ
+ПЕТРИЋ РАДОВАН
+ПЕТРИЋ СЛАВИЦА
+ПЕТРИЋ СЛОБОДАНКА
+ПЕТРИЋ СЛОБОДАН
+ПЕТРИЋ СОФИЈА
+ПЕТРИЋ СОФИЈА
+ПЕТРИЋ ВАСИЛИЈЕ
+ПЕТРИЋ ВУЛЕТА
+ПЕТРИК ШАНДОР
+ПЕТРИК АЛЕКСАНДАР ДИПЛ ИНГ
+ПЕТРИК ЕЛИЗАБЕТА
+ПЕТРИК ИШТВАН
+ПЕТРИК ВИНЦЕ
+ПЕТРИК ЗОЛТАН
+ПЕТРИКА ЉУБИША
+ПЕТРИКА МИОДРАГ
+ПЕТРИКОЊА КСЕНИЈА
+ПЕТРИКОЊА ЛАЗАР
+ПЕТРИН ДУШАН
+ПЕТРИН КАТИЦА
+ПЕТРИН МАЈА
+ПЕТРИН МИЛАНКА
+ПЕТРИН МИЛАНКА
+ПЕТРИН РАДМИЛА
+ПЕТРИН ВЛАДИМИР
+ПЕТРИН ВЛАДИМИР
+ПЕТРИНИЋ МИРКО
+ПЕТРИНОВИЋ МИЛИНА
+ПЕТРИНОВИЋ СТЕВА
+ПЕТРО АНТЕ
+ПЕТРО КАТАЛИН
+ПЕТРО НИКО
+ПЕТРО САЊА
+ПЕТРОНИЋ ЖИВОТА
+ПЕТРОНИЋ АЛЕКСАНДАР
+ПЕТРОНИЋ КАТАРИНА
+ПЕТРОНИЈЕВИЋ ДРАГОМИР
+ПЕТРОНИЈЕВИЋ ГОРАН
+ПЕТРОНИЈЕВИЋ ПРЕДРАГ
+ПЕТРОНИЈЕВИЋ СРЕТА
+ПЕТРОНИЈЕВИЋ ВЛАСТИМИР
+ПЕТРОЊЕ МИОДРАГ
+ПЕТРОЊЕ МИОДРАГ
+ПЕТРОВ ЖИВАНА
+ПЕТРОВ ЖИВАН
+ПЕТРОВ АНАТОЛИЈ
+ПЕТРОВ АНА
+ПЕТРОВ БОРИС
+ПЕТРОВ ДАНИЦА
+ПЕТРОВ ДУШАНКА
+ПЕТРОВ ДУШАН
+ПЕТРОВ ЕВИЦА
+ПЕТРОВ ФРАНКА
+ПЕТРОВ ИШТВАН
+ПЕТРОВ ИВАН
+ПЕТРОВ ЈАСМИНА
+ПЕТРОВ ЈЕЛЕНА
+ПЕТРОВ ЈОЖЕФ
+ПЕТРОВ ЛАЗАР
+ПЕТРОВ ЉУБОМИР
+ПЕТРОВ ЉУБОМИР
+ПЕТРОВ МАРИЈА
+ПЕТРОВ МАРИЈА
+ПЕТРОВ МАРИНКО
+ПЕТРОВ МИЛАН
+ПЕТРОВ МИЛЕНКО
+ПЕТРОВ МИЛИЦА
+ПЕТРОВ МИЛОРАД
+ПЕТРОВ МИЛОСАВА
+ПЕТРОВ МИЛОВАН
+ПЕТРОВ МИОДРАГ
+ПЕТРОВ МИОДРАГ
+ПЕТРОВ МИРОСЛАВ
+ПЕТРОВ МОМЧИЛО
+ПЕТРОВ НАДА
+ПЕТРОВ НАТАЛИЈА
+ПЕТРОВ НЕБОЈША ДР
+ПЕТРОВ ОЛГА
+ПЕТРОВ РАДМИЛА
+ПЕТРОВ САША
+ПЕТРОВ САВА
+ПЕТРОВ САВА
+ПЕТРОВ САВА
+ПЕТРОВ СЕРГИЈЕ
+ПЕТРОВ СЛАВКА
+ПЕТРОВ СЛАВКО
+ПЕТРОВ СЛОБОДАН
+ПЕТРОВ СРБИВОЈ
+ПЕТРОВ СТЕВАН
+ПЕТРОВ СВЕТОЗАР
+ПЕТРОВ ТОМИСЛАВ
+ПЕТРОВ ВАСО
+ПЕТРОВ ВЕЛИЗАР
+ПЕТРОВ ВЛАДИМИР
+ПЕТРОВ ВОЈИСЛАВ
+ПЕТРОВ ВОЈИСЛАВ
+ПЕТРОВ ЗЛАТОМИР
+ПЕТРОВЧАН-ШПАНОВИЋ ЕУФЕМИЈА
+ПЕТРОВАЧКИ ДУШАН
+ПЕТРОВАЧКИ ЈОВАН
+ПЕТРОВАЧКИ ЉИЉАНА
+ПЕТРОВАЧКИ ВЕРА
+ПЕТРОВИЋ ЧЕДА
+ПЕТРОВИЋ ШТЕФАН
+ПЕТРОВИЋ ЖАРКО
+ПЕТРОВИЋ ЖАРКО
+ПЕТРОВИЋ ЖАРКО
+ПЕТРОВИЋ ЖАРКО
+ПЕТРОВИЋ ЖЕЉКО
+ПЕТРОВИЋ ЖЕЉКО
+ПЕТРОВИЋ ЖИКА
+ПЕТРОВИЋ ЖИВАН
+ПЕТРОВИЋ ЖИВКА
+ПЕТРОВИЋ ЖИВКА
+ПЕТРОВИЋ ЖИВКО
+ПЕТРОВИЋ ЖИВКО
+ПЕТРОВИЋ ЖИВОЈИН
+ПЕТРОВИЋ ЖИВОРАД
+ПЕТРОВИЋ ЖИВОТА
+ПЕТРОВИЋ ЂОКИЦА
+ПЕТРОВИЋ ЂОРЂЕ
+ПЕТРОВИЋ ЂОРЂЕ
+ПЕТРОВИЋ ЂОРЂЕ
+ПЕТРОВИЋ ЂОРЂЕ
+ПЕТРОВИЋ ЂОРЂЕ
+ПЕТРОВИЋ ЂОРЂЕ
+ПЕТРОВИЋ ЂОРЂЕ
+ПЕТРОВИЋ ЂУРА
+ПЕТРОВИЋ АЛЕКСАНДАР
+ПЕТРОВИЋ АЛЕКСАНДАР
+ПЕТРОВИЋ АЛЕКСАНДАР
+ПЕТРОВИЋ АЛЕКСАНДАР
+ПЕТРОВИЋ АЛЕКСАНДРА
+ПЕТРОВИЋ АЛЕКСАНДРА
+ПЕТРОВИЋ АЛИНКА
+ПЕТРОВИЋ АНЂЕЛКА
+ПЕТРОВИЋ АНА
+ПЕТРОВИЋ АНГЕЛИНА
+ПЕТРОВИЋ АНИЦА
+ПЕТРОВИЋ АНКА
+ПЕТРОВИЋ АНКА
+ПЕТРОВИЋ-БАЛИЖ ЉИЉАНА
+ПЕТРОВИЋ БИЉАНА
+ПЕТРОВИЋ БОШКО
+ПЕТРОВИЋ БОЖИДАР
+ПЕТРОВИЋ БОГДАН
+ПЕТРОВИЋ БОГДАН
+ПЕТРОВИЋ БОЈАНА
+ПЕТРОВИЋ БОСИЉКА
+ПЕТРОВИЋ БОСИЉКА
+ПЕТРОВИЋ БРАНИМИР
+ПЕТРОВИЋ БРАНИСЛАВА
+ПЕТРОВИЋ БРАНИСЛАВА
+ПЕТРОВИЋ БРАНИСЛАВ
+ПЕТРОВИЋ БРАНИСЛАВ
+ПЕТРОВИЋ БРАНИСЛАВ
+ПЕТРОВИЋ БРАНИСЛАВ
+ПЕТРОВИЋ БРАНИСЛАВ
+ПЕТРОВИЋ БРАНИСЛАВ
+ПЕТРОВИЋ БРАНИСЛАВ
+ПЕТРОВИЋ БРАНИСЛАВ
+ПЕТРОВИЋ БРАНКА
+ПЕТРОВИЋ БРАНКО
+ПЕТРОВИЋ БРАНКО
+ПЕТРОВИЋ БРАНКО
+ПЕТРОВИЋ БРАНКО
+ПЕТРОВИЋ ЦВИКО
+ПЕТРОВИЋ ДАМИР
+ПЕТРОВИЋ ДАМИР
+ПЕТРОВИЋ ДАНИЦА
+ПЕТРОВИЋ ДАНИЦА
+ПЕТРОВИЋ ДАНИЦА
+ПЕТРОВИЋ ДАРА
+ПЕТРОВИЋ ДАРИНКА
+ПЕТРОВИЋ ДАРИНКА
+ПЕТРОВИЋ ДЕЈАН
+ПЕТРОВИЋ ДЕСАНКА
+ПЕТРОВИЋ ДЕСИМИР
+ПЕТРОВИЋ ДИМИТРИЈЕ
+ПЕТРОВИЋ ДОБРИЦА
+ПЕТРОВИЋ ДРАГАН
+ПЕТРОВИЋ ДРАГАН
+ПЕТРОВИЋ ДРАГАН
+ПЕТРОВИЋ ДРАГАН
+ПЕТРОВИЋ ДРАГАН
+ПЕТРОВИЋ ДРАГАН
+ПЕТРОВИЋ ДРАГАН
+ПЕТРОВИЋ ДРАГАН
+ПЕТРОВИЋ ДРАГИША ДИПЛ ПРАВНИК
+ПЕТРОВИЋ ДРАГИША
+ПЕТРОВИЋ ДРАГИЋ
+ПЕТРОВИЋ ДРАГИЊА
+ПЕТРОВИЋ ДРАГОЉУБ ДР
+ПЕТРОВИЋ ДРАГОЉУБ
+ПЕТРОВИЋ ДРАГОЉУБ
+ПЕТРОВИЋ ДРАГОМИР
+ПЕТРОВИЋ ДРАГОСЛАВ
+ПЕТРОВИЋ ДУШАН
+ПЕТРОВИЋ ДУШАН
+ПЕТРОВИЋ ДУШАН
+ПЕТРОВИЋ ДУШАН
+ПЕТРОВИЋ ДУШАН
+ПЕТРОВИЋ ДУШАН
+ПЕТРОВИЋ ДУШАН
+ПЕТРОВИЋ ДУШАН
+ПЕТРОВИЋ ДУШАН
+ПЕТРОВИЋ ДУШАН
+ПЕТРОВИЋ ДУШИЦА
+ПЕТРОВИЋ ДУШКО
+ПЕТРОВИЋ ЕВА
+ПЕТРОВИЋ ЕВГЕНИЈЕ
+ПЕТРОВИЋ ЕВИЦА
+ПЕТРОВИЋ ФАБИЈАН
+ПЕТРОВИЋ ГАВРИЛО
+ПЕТРОВИЋ ГОРДАНА
+ПЕТРОВИЋ ГОРДАНА
+ПЕТРОВИЋ ГРАДИМИР
+ПЕТРОВИЋ ГРАДИМИР
+ПЕТРОВИЋ ХРИСТИНА
+ПЕТРОВИЋ ИЛИЈА
+ПЕТРОВИЋ ИЛИЈА
+ПЕТРОВИЋ ИЛИЈА
+ПЕТРОВИЋ ИЛОНА
+ПЕТРОВИЋ ИСАК
+ПЕТРОВИЋ ИВАНКА
+ПЕТРОВИЋ ИВАН
+ПЕТРОВИЋ ИВАН
+ПЕТРОВИЋ ИВАН
+ПЕТРОВИЋ ИВАН
+ПЕТРОВИЋ ИВАН
+ПЕТРОВИЋ ЈАНКО
+ПЕТРОВИЋ ЈАСМИНКА
+ПЕТРОВИЋ ЈЕЛЕНА
+ПЕТРОВИЋ ЈЕЛИЦА
+ПЕТРОВИЋ ЈЕЛИСАВЕТА
+ПЕТРОВИЋ ЈЕВРЕМ
+ПЕТРОВИЋ ЈОЖЕФ
+ПЕТРОВИЋ ЈОВАНКА
+ПЕТРОВИЋ ЈОВАНКА
+ПЕТРОВИЋ ЈОВАН
+ПЕТРОВИЋ ЈОВАН
+ПЕТРОВИЋ ЈОВАН
+ПЕТРОВИЋ ЈОВАН
+ПЕТРОВИЋ ЈОВАН
+ПЕТРОВИЋ ЈОВАН
+ПЕТРОВИЋ ЈОВАН
+ПЕТРОВИЋ ЈОВАН
+ПЕТРОВИЋ ЈОВАН
+ПЕТРОВИЋ ЈОВАН
+ПЕТРОВИЋ КАТИЦА
+ПЕТРОВИЋ КАТИЦА
+ПЕТРОВИЋ КАТИЦА
+ПЕТРОВИЋ КАТИЦА
+ПЕТРОВИЋ КОСТА ДР
+ПЕТРОВИЋ КРСТО
+ПЕТРОВИЋ ЛАЗАР
+ПЕТРОВИЋ ЛАЗАР
+ПЕТРОВИЋ ЛЕНКА
+ПЕТРОВИЋ ЛИДА
+ПЕТРОВИЋ ЉИЉАНА
+ПЕТРОВИЋ ЉИЉАНА
+ПЕТРОВИЋ ЉИЉАНА
+ПЕТРОВИЋ ЉИЉАНА
+ПЕТРОВИЋ ЉУБИША
+ПЕТРОВИЋ ЉУБИЦА
+ПЕТРОВИЋ ЉУБИЦА
+ПЕТРОВИЋ ЉУБИЦА
+ПЕТРОВИЋ ЉУБИНКА
+ПЕТРОВИЋ ЉУБИСАВ
+ПЕТРОВИЋ ЉУБОМИР
+ПЕТРОВИЋ ЉУБОМИР
+ПЕТРОВИЋ МАРА
+ПЕТРОВИЋ МАРИЦА
+ПЕТРОВИЋ МАРИЈА
+ПЕТРОВИЋ МАРИЈА
+ПЕТРОВИЋ МАРИКА
+ПЕТРОВИЋ МАРКО
+ПЕТРОВИЋ МАРКО
+ПЕТРОВИЋ МАРКО
+ПЕТРОВИЋ МАРКО
+ПЕТРОВИЋ МИАЈЛО
+ПЕТРОВИЋ МИЦА
+ПЕТРОВИЋ МИХАИЛО
+ПЕТРОВИЋ МИХАИЛО
+ПЕТРОВИЋ МИХАЈЛО ДР ВЕТЕРИНЕ
+ПЕТРОВИЋ МИЈОМИР
+ПЕТРОВИЋ МИЛАДИН
+ПЕТРОВИЋ МИЛАНКА
+ПЕТРОВИЋ МИЛАНКО
+ПЕТРОВИЋ МИЛАНКО
+ПЕТРОВИЋ МИЛАН
+ПЕТРОВИЋ МИЛАН
+ПЕТРОВИЋ МИЛАН
+ПЕТРОВИЋ МИЛАН
+ПЕТРОВИЋ МИЛАН
+ПЕТРОВИЋ МИЛАН
+ПЕТРОВИЋ МИЛАН
+ПЕТРОВИЋ МИЛЕНА
+ПЕТРОВИЋ МИЛЕНКО
+ПЕТРОВИЋ МИЛЕНКО
+ПЕТРОВИЋ МИЛЕНКО
+ПЕТРОВИЋ МИЛЕН
+ПЕТРОВИЋ МИЛЕВА
+ПЕТРОВИЋ МИЛЕ
+ПЕТРОВИЋ МИЛИЋ
+ПЕТРОВИЋ МИЛИЦА
+ПЕТРОВИЋ МИЛИЦА
+ПЕТРОВИЋ МИЛИЦА
+ПЕТРОВИЋ МИЛИВОЈ
+ПЕТРОВИЋ МИЛОШ ДР
+ПЕТРОВИЋ МИЛОШ ДР
+ПЕТРОВИЋ МИЛОШ
+ПЕТРОВИЋ МИЛОЈЕ
+ПЕТРОВИЋ МИЛОЈКО
+ПЕТРОВИЋ МИЛОЉУБ
+ПЕТРОВИЋ МИЛОРАД
+ПЕТРОВИЋ МИЛОРАД
+ПЕТРОВИЋ МИЛОВАН
+ПЕТРОВИЋ МИЛОВАН
+ПЕТРОВИЋ МИЛОВАН
+ПЕТРОВИЋ МИЛУН
+ПЕТРОВИЋ МИЛУН
+ПЕТРОВИЋ МИЛУТИН
+ПЕТРОВИЋ МИЛУТИН
+ПЕТРОВИЋ МИЛУТИН
+ПЕТРОВИЋ МИОДРАГ
+ПЕТРОВИЋ МИОДРАГ
+ПЕТРОВИЋ МИОДРАГ
+ПЕТРОВИЋ МИОЉУБ
+ПЕТРОВИЋ МИОМИР
+ПЕТРОВИЋ МИРЧЕА
+ПЕТРОВИЋ МИРЈАНА
+ПЕТРОВИЋ МИРЈАНА
+ПЕТРОВИЋ МИРКО
+ПЕТРОВИЋ МИРОСЛАВ ДР ЛЕКАР
+ПЕТРОВИЋ МИРОСЛАВА
+ПЕТРОВИЋ МИРОСЛАВКА
+ПЕТРОВИЋ МИРОСЛАВ
+ПЕТРОВИЋ МИРОСЛАВ
+ПЕТРОВИЋ МЛАЂЕН
+ПЕТРОВИЋ МЛАДЕН
+ПЕТРОВИЋ МЛАДЕН
+ПЕТРОВИЋ МОМЧИЛО
+ПЕТРОВИЋ МОМЧИЛО
+ПЕТРОВИЋ МОМЧИЛО
+ПЕТРОВИЋ МОМЧИЛО
+ПЕТРОВИЋ НАДА
+ПЕТРОВИЋ НАДА
+ПЕТРОВИЋ НАДА
+ПЕТРОВИЋ НАДИРА
+ПЕТРОВИЋ НАТАЛИЈА
+ПЕТРОВИЋ НЕНАД
+ПЕТРОВИЋ НЕВЕНА
+ПЕТРОВИЋ НЕВЕНКА ДР
+ПЕТРОВИЋ НИКОЛА
+ПЕТРОВИЋ НИКОЛА
+ПЕТРОВИЋ НОВАК
+ПЕТРОВИЋ НОВИЦА
+ПЕТРОВИЋ ОБРАД
+ПЕТРОВИЋ ОЛГА
+ПЕТРОВИЋ ОЛГИЦА
+ПЕТРОВИЋ ОЛИВЕРА
+ПЕТРОВИЋ ПАЈА
+ПЕТРОВИЋ ПАНТЕЛИЈА
+ПЕТРОВИЋ ПЕРСИДА
+ПЕТРОВИЋ ПЕТАР
+ПЕТРОВИЋ ПЕТАР
+ПЕТРОВИЋ ПЕТАР
+ПЕТРОВИЋ ПЕТАР
+ПЕТРОВИЋ ПЕТАР
+ПЕТРОВИЋ ПЕТАР
+ПЕТРОВИЋ ПЕТАР
+ПЕТРОВИЋ ПЕТАР
+ПЕТРОВИЋ ПЕТАР
+ПЕТРОВИЋ ПЕТАР
+ПЕТРОВИЋ ПЕТАР
+ПЕТРОВИЋ ПЕТРИЈА
+ПЕТРОВИЋ ПЛАМЕНКА
+ПЕТРОВИЋ-ПОПАДИЋ МИЛАН
+ПЕТРОВИЋ ПРЕДРАГ
+ПЕТРОВИЋ ПРВОСЛАВ
+ПЕТРОВИЋ РАДА
+ПЕТРОВИЋ РАДЕ
+ПЕТРОВИЋ РАДИША ДИПЛ ИНГ
+ПЕТРОВИЋ РАДИША
+ПЕТРОВИЋ РАДИША
+ПЕТРОВИЋ РАДИВОЈЕ
+ПЕТРОВИЋ РАДИВОЈ
+ПЕТРОВИЋ РАДИВОЈ
+ПЕТРОВИЋ РАДМИЛА
+ПЕТРОВИЋ РАДМИЛА
+ПЕТРОВИЋ РАДМИЛА
+ПЕТРОВИЋ РАДМИЛА
+ПЕТРОВИЋ РАДМИЛА
+ПЕТРОВИЋ РАДОЈКА
+ПЕТРОВИЋ РАДОМИР
+ПЕТРОВИЋ РАДОМИР
+ПЕТРОВИЋ РАДОМИР
+ПЕТРОВИЋ РАДОМИР
+ПЕТРОВИЋ РАДОСАВ
+ПЕТРОВИЋ РАДОСЛАВ
+ПЕТРОВИЋ РАДОСЛАВ
+ПЕТРОВИЋ РАЈКО
+ПЕТРОВИЋ РАЈКО
+ПЕТРОВИЋ РАНКО
+ПЕТРОВИЋ РАНКО
+ПЕТРОВИЋ РАТКО
+ПЕТРОВИЋ РАТКО
+ПЕТРОВИЋ РАТОМИР
+ПЕТРОВИЋ РИСТО
+ПЕТРОВИЋ РОДОЉУБ
+ПЕТРОВИЋ РОСА
+ПЕТРОВИЋ РУЖА
+ПЕТРОВИЋ РУЖИЦА
+ПЕТРОВИЋ РУЗМАРИНКА
+ПЕТРОВИЋ САВАН
+ПЕТРОВИЋ САВА
+ПЕТРОВИЋ САВА
+ПЕТРОВИЋ САВА
+ПЕТРОВИЋ СИМА
+ПЕТРОВИЋ СИМЕУН
+ПЕТРОВИЋ СИМО
+ПЕТРОВИЋ СИНИША
+ПЕТРОВИЋ СЛАВИЦА
+ПЕТРОВИЋ СЛАВКА
+ПЕТРОВИЋ СЛАВКА
+ПЕТРОВИЋ СЛАВКО
+ПЕТРОВИЋ СЛАВКО
+ПЕТРОВИЋ СЛОБОДАН ДИПЛ ИНГ
+ПЕТРОВИЋ СЛОБОДАН ДИПЛ ИНГ
+ПЕТРОВИЋ СЛОБОДАН ДР
+ПЕТРОВИЋ СЛОБОДАНКА
+ПЕТРОВИЋ СЛОБОДАН
+ПЕТРОВИЋ СЛОБОДАН
+ПЕТРОВИЋ СЛОБОДАН
+ПЕТРОВИЋ СЛОБОДАН
+ПЕТРОВИЋ СЛОБОДАН
+ПЕТРОВИЋ СМИЉА
+ПЕТРОВИЋ СНЕЖАНА
+ПЕТРОВИЋ СОФИЈА
+ПЕТРОВИЋ СПАСЕ
+ПЕТРОВИЋ СПАСОЈЕ
+ПЕТРОВИЋ СПОМЕНКА
+ПЕТРОВИЋ СРЂАН
+ПЕТРОВИЋ СТАМЕНКО
+ПЕТРОВИЋ СТАНИША
+ПЕТРОВИЋ СТАНИСЛАВ
+ПЕТРОВИЋ СТЕВАН ДИПЛ ИНГ
+ПЕТРОВИЋ СТЕВАН
+ПЕТРОВИЋ СТЕВАН
+ПЕТРОВИЋ СТЕВАН
+ПЕТРОВИЋ СТЕВАН
+ПЕТРОВИЋ СТЕВАН
+ПЕТРОВИЋ СТЕВАН
+ПЕТРОВИЋ СТЕВАН
+ПЕТРОВИЋ СТЕВАН
+ПЕТРОВИЋ СТЕВАН
+ПЕТРОВИЋ СТОЈАДИН
+ПЕТРОВИЋ СТОЈАН
+ПЕТРОВИЋ СТОЈАН
+ПЕТРОВИЋ СТОЈКА
+ПЕТРОВИЋ СУЗАНА ДР
+ПЕТРОВИЋ СУЗАНА
+ПЕТРОВИЋ СВЕТИСЛАВ
+ПЕТРОВИЋ СВЕТКО
+ПЕТРОВИЋ СВЕТОЗАР
+ПЕТРОВИЋ СВЕТОЗАР
+ПЕТРОВИЋ СВЕТОЗАР
+ПЕТРОВИЋ СВЕТОЗАР
+ПЕТРОВИЋ СВЕТОЗАР
+ПЕТРОВИЋ ТАТЈАНА
+ПЕТРОВИЋ ТИБОР
+ПЕТРОВИЋ ТИНКА
+ПЕТРОВИЋ ТОДОРКА
+ПЕТРОВИЋ ТОМИСЛАВ
+ПЕТРОВИЋ УРОШ
+ПЕТРОВИЋ УРОШ
+ПЕТРОВИЋ ВАСА
+ПЕТРОВИЋ ВАСИЛИЈЕ
+ПЕТРОВИЋ ВЕЛИБОР
+ПЕТРОВИЋ ВЕЛИБОР
+ПЕТРОВИЋ ВЕЛИБОР
+ПЕТРОВИЋ ВЕЛИМИР
+ПЕТРОВИЋ ВЕРА
+ПЕТРОВИЋ ВЕРА
+ПЕТРОВИЋ ВЕРА
+ПЕТРОВИЋ ВЕРА
+ПЕТРОВИЋ ВЕРА
+ПЕТРОВИЋ ВЕРИЦА
+ПЕТРОВИЋ ВЕСЕЛА
+ПЕТРОВИЋ ВЕСЕЛИН
+ПЕТРОВИЋ ВЕСНА
+ПЕТРОВИЋ ВИШЊА
+ПЕТРОВИЋ ВИДА
+ПЕТРОВИЋ ВЛАДА
+ПЕТРОВИЋ ВЛАДЕ
+ПЕТРОВИЋ ВЛАДИМИР
+ПЕТРОВИЋ ВЛАДИМИР
+ПЕТРОВИЋ ВЛАДИСЛАВА
+ПЕТРОВИЋ ВЛАСТИМИР
+ПЕТРОВИЋ ВОЈИН
+ПЕТРОВИЋ ВОЈИН
+ПЕТРОВИЋ ВОЈИСЛАВ
+ПЕТРОВИЋ ВОЈИСЛАВ
+ПЕТРОВИЋ ВОЈИСЛАВ
+ПЕТРОВИЋ ВОЈКА
+ПЕТРОВИЋ ВУКАШИН
+ПЕТРОВИЋ ВУКИЦА
+ПЕТРОВИЋ ЗАГОРКА
+ПЕТРОВИЋ ЗАГОРКА
+ПЕТРОВИЋ ЗАГОРКА
+ПЕТРОВИЋ ЗДЕНКО
+ПЕТРОВИЋ ЗДЕНКО
+ПЕТРОВИЋ ЗЛАТАН
+ПЕТРОВИЋ ЗОРАН
+ПЕТРОВИЋ ЗОРАН
+ПЕТРОВИЋ ЗОРАН
+ПЕТРОВИЋ ЗОРАН
+ПЕТРОВИЋ ЗОРАН
+ПЕТРОВИЋ ЗОРАН
+ПЕТРОВИЋ ЗОРАН
+ПЕТРОВИЋ ЗОРА
+ПЕТРОВИЋ ЗОРА
+ПЕТРОВИЋ ЗОРИЦА
+ПЕТРОВИЋ ЗОРИЦА
+ПЕТРОВИЋ ЗОРИЦА
+ПЕТРОВИЋ ЗОРКА
+ПЕТРОВСКИ БОРИС
+ПЕТРОВСКИ ДИМИТРИЈЕ
+ПЕТРОВСКИ ЕВА
+ПЕТРОВСКИ ФИДАНЧО
+ПЕТРОВСКИ ХЕЛЕНА
+ПЕТРОВСКИ МИЛАДИН
+ПЕТРОВСКИ МИЛАН
+ПЕТРОВСКИ МИЛОДАРКА
+ПЕТРОВСКИ ПЕТАР
+ПЕТРОВСКИ СЛАВКА
+ПЕТРУШЕВИЋ МОМЧИЛО
+ПЕТРУШЕВСКИ МОМЧИЛО
+ПЕТРУШЕВСКИ НАДА
+ПЕТРУШИЋ-ПАРИПОВИЋ ОЛГА
+ПЕТРУШИЋ ВАСИЉ
+ПЕТРУЉЕСКОВ ДРАГАН
+ПЕТРУЉЕСКОВ ДРАГАН
+ПЕУЛИЋ ЉУБОМИР
+ПЕУЛИЋ МИРЈАНА
+ПЕУЉА ВОЈИН
+ПЕУРАЧА ДРАГАН
+ПЕУРАЧА МИЛЕ
+ПЕВАЧ СТЈЕПАН
+ПЕВИЋ ЕРЖЕБЕТ
+ПЕЗДЕВШЕК ЈАНЕЗ
+ПЕЗДЕВШЕК КАРЛ
+ПЕЗЕРОВИЋ ВЕЛИМИР
+ПФАЈФЕР АЛЕКСАНДАР
+ПФАЈФЕР АТИЛА
+ПФАЈФЕР ПЕТАР
+ПФАЈФЕРТ АЛЕКСАНДАР
+ПФАУ ЈОВАНКА
+ПФУНШТАЈН ЈОСИП
+ПИШКОРИЋ ИВАН
+ПИШПЕК МАРТА
+ПИШТАЛОВИЋ МИХАЈЛО
+ПИШТАЛОВИЋ МИРКО
+ПИЋУРИЋ ЖИВКО
+ПИЋУРИЋ МИКО
+ПИЖУРИЦА МАТО
+ПИГЛ АНА
+ПИГЛ ИМРЕ
+ПИХАЈЛИЋ БЛАЖ
+ПИХЛЕР ЈОСИП
+ПИХЛЕР СТАНКО ДР
+ПИХЛЕР ТОДОР
+ПИЈАНИЋ ДАНИЈЕЛ
+ПИЈЕТЛОВИЋ БРАНО
+ПИЈЕТЛОВИЋ ЈОВАН
+ПИЈУКОВИЋ ЕЛЗА
+ПИЈУКОВИЋ ИЛИЈА
+ПИКСИАДЕС ОНДРЕЈ
+ПИКСИЈАДЕС АНА
+ПИКСИЈАДЕС ПАВЕЛ
+ПИКСИЈАДЕС ПАВЛЕ
+ПИКУЛА ЂОРЂЕ
+ПИКУЛА БРАНКО
+ПИЛ АНДРИЈА
+ПИЛ МИХАЈЛО
+ПИЛ СТЕВАН
+ПИЛ ТЕРЕЗА
+ПИЛАР МАРИЦА
+ПИЛЦ НАНДОР
+ПИЛЦ РЕЖЕ
+ПИЛЦ ЗОЛТАН
+ПИЛЕР КАРЛО
+ПИЛИШ АНА
+ПИЛИШ АНДРАШ
+ПИЛИШ ЈОСИП
+ПИЛИШЕР ЂОРЂЕ
+ПИЛИЋ ЖАРКО
+ПИЛИЋ АНТОН
+ПИЛИЋ БОРИВОЈ
+ПИЛИЋ БОРО
+ПИЛИЋ ГАВРА
+ПИЛИЋ ЈОВАН
+ПИЛИЋ-КАЛЕНИЋ МИЛИНКА
+ПИЛИЋ ЉИЉА
+ПИЛИЋ МИЛОШ
+ПИЛИЋ МИЛУТИН
+ПИЛИЋ РАНКО
+ПИЛИЋ СЛАВКО
+ПИЛИЋ СРБОЉУБ
+ПИЛИЋ СТАНКО
+ПИЛИЋ СТЕВАН
+ПИЛИЋ ВОЈИСЛАВ
+ПИЛИПОВ ЕВА
+ПИЛИПОВИЋ ЧЕДА
+ПИЛИПОВИЋ ЖИВКО
+ПИЛИПОВИЋ ЂОРЂЕ
+ПИЛИПОВИЋ ЂУРА
+ПИЛИПОВИЋ АНЂА
+ПИЛИПОВИЋ БОШКО
+ПИЛИПОВИЋ БОЖИДАР
+ПИЛИПОВИЋ БРАНКО
+ПИЛИПОВИЋ ЦВИЈЕТА
+ПИЛИПОВИЋ ЦВИЈЕТА
+ПИЛИПОВИЋ ДАНЕ
+ПИЛИПОВИЋ ДАНИЦА
+ПИЛИПОВИЋ ДАНИЦА
+ПИЛИПОВИЋ ДРАГАН
+ПИЛИПОВИЋ ДРАГО
+ПИЛИПОВИЋ ГОРАН
+ПИЛИПОВИЋ ЈОЛАН
+ПИЛИПОВИЋ ЈОВАН
+ПИЛИПОВИЋ ЛАЗАР
+ПИЛИПОВИЋ ЉИЉАНА
+ПИЛИПОВИЋ ЉУБИЦА
+ПИЛИПОВИЋ ЉУБО
+ПИЛИПОВИЋ МАРИЈА
+ПИЛИПОВИЋ МИХАЈЛО
+ПИЛИПОВИЋ МИХАЈЛО
+ПИЛИПОВИЋ МИЛАН
+ПИЛИПОВИЋ МИЛАН
+ПИЛИПОВИЋ МИЛАН
+ПИЛИПОВИЋ МИЛЕНКО
+ПИЛИПОВИЋ МИЛЕВА
+ПИЛИПОВИЋ МИЛОШ
+ПИЛИПОВИЋ МИРКО
+ПИЛИПОВИЋ НИКОЛА
+ПИЛИПОВИЋ ПЕТАР ДИПЛ ИНГ
+ПИЛИПОВИЋ РАДЕ
+ПИЛИПОВИЋ РАДЕ
+ПИЛИПОВИЋ РАДИВОЈЕ
+ПИЛИПОВИЋ РАДОМИР
+ПИЛИПОВИЋ СЛАВКО
+ПИЛИПОВИЋ СПОМЕНКО
+ПИЛИПОВИЋ СТАНА
+ПИЛИПОВИЋ СТЕВАН
+ПИЛИПОВИЋ СТЕВАН
+ПИЛИПОВИЋ СТЕВО
+ПИЛИПОВИЋ ВОЈИН
+ПИЛИПОВИЋ ЗОРИЦА
+ПИЛИПОВИЋ ЗВОНКО
+ПИЉИЋ МАРИЈАН
+ПИЛКО ИРЕНА
+ПИЛКО ПАВЛЕ
+ПИЛОВИЋ ДЕСИМИР
+ПИЛОВИЋ ДУШАНКА
+ПИЛОВИЋ МИЛАН
+ПИНЋИР ЈАН
+ПИНЋИР ВЛАДИМИР
+ПИНЋИР ЗДЕНКО
+ПИНЋЈЕР ОНДРЕЈ
+ПИНЋЈЕР САМУЕЛ
+ПИНЋЈЕР САМУИЛО
+ПИЊУШИЋ ИЛИЈА
+ПИЊУХ МИРЈАНА
+ПИЊУХ ПЕТАР
+ПИНТАЧ ФРАЊО
+ПИНТАЧ ЛАДИСЛАВ
+ПИНТАЧ НИКОЛА ДИПЛ ОЕЦ
+ПИНТАЧ ВЕСНА
+ПИНТАЋ ЂОРЂЕ
+ПИНТАЋ МАРИЈА
+ПИНТАРИЋ ЈАСНА
+ПИНТАРИЋ ЈОВАН
+ПИНТЕР АДРИЕНЕ
+ПИНТЕР АЛЕКСАНДАР
+ПИНТЕР АНДРАШ
+ПИНТЕР БЕЛА
+ПИНТЕР БЕЛА
+ПИНТЕР ФРАЊА
+ПИНТЕР ИМРЕ
+ПИНТЕР ЈАНОШ
+ПИНТЕР КАРОЉ
+ПИНТЕР КАТАЛИН
+ПИНТЕР ЛЕНКА
+ПИНТЕР ЛИВИЈА
+ПИНТЕР МАРИЈА
+ПИНТЕР МИХАЉ
+ПИНТЕР МИХАЉ
+ПИНТЕР СТЕВАН
+ПИНТЕР ТИБОР
+ПИНТЕР ВЕРА
+ПИНТЕР ВЈЕКОСЛАВ
+ПИПЕР ВЕЛИБОР
+ПИПЕРАЦ НАДА
+ПИПЕРКОВ АНКА
+ПИПЕРСКИ ЖИВА
+ПИПЕРСКИ АНА
+ПИПЕРСКИ ДРАГОМИР
+ПИПЕРСКИ КОСТА
+ПИРЦ ДАНИЦА
+ПИРИ ЈАНОШ
+ПИРИ ЈОЖЕФ
+ПИРИ ЈОСИП
+ПИРИ ЈОСИП
+ПИРИЋ ИБРАХИМ
+ПИРИЋ ОСМАН
+ПИРИЋ ЗОРА
+ПИРИВАТРИЋ ДУШАНКА
+ПИРМАЈЕР ЈОСИП
+ПИРОШКИ ДРАГИЦА
+ПИРОШКИ ЈУЛИЈАНА
+ПИРОШКИ МИОДРАГ
+ПИРОШКИ ВАСА
+ПИРТИЋ КСЕНИЈА
+ПИРТИЋ РАДИНКА
+ПИРТИЋ САВЕТА
+ПИС ЕДИТА
+ПИСАЧИЋ ВЛАДИМИР
+ПИСАР ШАНДОР
+ПИСАР ДУШАН
+ПИСАР ЈОЖЕФ
+ПИСАР ЛАСЛО
+ПИСАРЕВ ЂОРЂЕ
+ПИСАРЕВ ЕМИЛИЈА
+ПИСАРЕВ КАТИЦА
+ПИСАРЕВ МИЛАН
+ПИСАРЕВИЋ ЂОРЂЕ
+ПИСАРЕВИЋ МИРКО
+ПИСАРЕВИЋ МИРКО
+ПИСАРЕВИЋ МИТАР
+ПИСАРЕВИЋ СПАСЕНИЈА
+ПИСАРИЋ ЂУРА
+ПИСАРИЋ ЂУРО
+ПИСАРИЋ БЛАЖО
+ПИСАРИЋ БРАНКО
+ПИСАРИЋ ДРАГАН
+ПИСАРИЋ ДРАГО
+ПИСАРИЋ НЕЂО
+ПИСАРИЋ ОСТОЈА
+ПИСАРИЋ ОСТОЈА
+ПИСАРИЋ ПАВЛЕ
+ПИСАРИЋ ВЛАДО
+ПИСАРОВ ЂОРЂЕ
+ПИСАРОВ КАТИЦА
+ПИСАРОВ ВАСА
+ПИТА МАХМУТ
+ПИТА МАХМУТ
+ПИТОМАЧИЋ СТОЈАНКА
+ПИТОМАЧИЋ ВЛАДА
+ПИТУК НАДА
+ПИУКОВИЋ ИВАН
+ПИУКОВИЋ МАГДА
+ПИВАЧ БОСИЉКА
+ПИВАЦ ДРАГОЉУБ
+ПИВАЦ МИЛОРАД
+ПИВАЦ МИЛОВАН
+ПИВАЦ ЗВОНИМИР
+ПИВАРСКИ БРАНКА
+ПИВАРСКИ ДУШАН
+ПИВАРСКИ МИОДРАГ
+ПИВАРСКИ РАТОМИР
+ПИВАРСКИ СЛАВИЦА
+ПИВАРСКИ СТЕВАН
+ПИВАРСКИ ВЕСЕЛИН МР ПХ
+ПИВНИЧКИ БОГДАНКА
+ПИВНИЧКИ БРАНИСЛАВ
+ПИВНИЧКИ БРАНИСЛАВ
+ПИВНИЧКИ БРАНКА
+ПИВНИЧКИ ДРАГАН
+ПИВНИЧКИ ГОРДАНА
+ПИВНИЧКИ ИВАНКА
+ПИВНИЧКИ КАТАРИНА
+ПИВНИЧКИ МАРИЈА
+ПИВНИЧКИ МИЛАН
+ПИВНИЧКИ МИЛЕТА
+ПИВНИЧКИ РАДЕНКО
+ПИВНИЧКИ РАЈКО
+ПИВНИЧКИ СТОЈКА
+ПИВНИЧКИ СВЕТОЗАР
+ПЈАНИЋ МИХАЈЛО
+ПЈАНИЋ РИСТА
+ПЈЕШЧИЋ БОГОЉУБ
+ПЈЕШЧИЋ ЛЕПОСАВА
+ПЈЕШЧИЋ МАРИЈА
+ПЈЕШЧИЋ МИЛЕВА
+ПЈЕШЧИЋ НОВАК
+ПЈЕШИВАЦ ЗДРАВКО
+ПЈЕТЛОВИЋ ДРАГИЦА
+ПЈЕВАЧ НИКОЛА
+ПЈЕВАЦ БРАНКО
+ПЈЕВАЦ ДУШАН
+ПЈЕВАЦ СТЕВАН
+ПЈЕВАЦ ВЛАДИМИР
+ПЈЕВАЦ ЗОРА
+ПЈЕВАЛИЦА УРОШ
+ПЈЕВИЋ ЂУРАЂ
+ПЈЕВИЋ БОЖО
+ПЈЕВИЋ МИРКО ДР
+ПЈЕВИЋ МИРОСЛАВА ДР
+ПЛАЧКИЋ ЖАРКО
+ПЛАЧКИЋ БОЖИДАР
+ПЛАЧКИЋ БРАНКО
+ПЛАЧКИЋ МЕЛАНИЈА
+ПЛАЧКИЋ СЛАВКО
+ПЛАЧКИЋ ТОМИСЛАВ
+ПЛАЧКО СТЈЕПАН
+ПЛАЧКОВ ЖИВКА
+ПЛАЧКОВ ЂОРЂЕ
+ПЛАЧКОВ БОРИВОЈ
+ПЛАЧКОВ БРАНИСЛАВ
+ПЛАЧКОВ БРАНИСЛАВ
+ПЛАЧКОВ БРАНИСЛАВ
+ПЛАЧКОВ БРАНКА
+ПЛАЧКОВ ДУШАН
+ПЛАЧКОВ ИЛОНКА
+ПЛАЧКОВ МИЛАН
+ПЛАЧКОВ МИРОЉУБ
+ПЛАЧКОВ ПАЈА
+ПЛАЧКОВ ПЕРА
+ПЛАЧКОВ ПЕТАР
+ПЛАЧКОВ РУДОЛФ
+ПЛАЧКОВ САВА
+ПЛАЧКОВ САВЕТА
+ПЛАЧКОВ СИМА
+ПЛАЧКОВ СТАНИМИР
+ПЛАЧКОВ СТЕВАН
+ПЛАЧКОВ СТЕВА
+ПЛАЧКОВ СТОЈАН
+ПЛАЧКОВ СВЕТОЗАР
+ПЛАЧКОВ ВУКОСАВА
+ПЛАЧКОВИЋ МИЛАН
+ПЛАЧКОВИЋ ПАЈА
+ПЛАЦ ЕДО
+ПЛАКАЛОВИЋ МИЛАДИН
+ПЛАНЧАК АМАЛИЈА
+ПЛАНЧАК ЕУФЕМИЈА
+ПЛАНЧАК ЕУГЕН
+ПЛАНЧАК ЈОВАН
+ПЛАНЧАК МИХАЈЛО
+ПЛАНЧАК МИРОСЛАВ ДР ПРОФ
+ПЛАНИЋ РАДОВАН
+ПЛАНИЋ ЗДЕНКА
+ПЛАНИНЧИЋ МИНА
+ПЛАНИНЧИЋ ВЕСЕЛИН
+ПЛАЊАНИН РАДОМИР
+ПЛАНОЈЕВИЋ МИЛУТИН ДР
+ПЛАНОВИЋ ВЕСНА
+ПЛАТИША МИЛАН
+ПЛАТИША МИОДРАГ
+ПЛАВШИЋ АНЂА
+ПЛАВШИЋ АНИЦА
+ПЛАВШИЋ АНИЦА
+ПЛАВШИЋ АНКА
+ПЛАВШИЋ БОШКО
+ПЛАВШИЋ БОЖА
+ПЛАВШИЋ БОЖА
+ПЛАВШИЋ БОЖИДАР
+ПЛАВШИЋ БОГОМИР
+ПЛАВШИЋ БОРИСЛАВ
+ПЛАВШИЋ БРАНИСЛАВ
+ПЛАВШИЋ БРАНКО
+ПЛАВШИЋ БРАНКО
+ПЛАВШИЋ БРАНКО
+ПЛАВШИЋ ЦВИЈО
+ПЛАВШИЋ ДРАГАН
+ПЛАВШИЋ ДУШАН
+ПЛАВШИЋ ДУШИЦА
+ПЛАВШИЋ ГОРДАНА
+ПЛАВШИЋ ЈЕЛИСАВЕТА
+ПЛАВШИЋ ЈОВАНКА
+ПЛАВШИЋ ЈОВАН
+ПЛАВШИЋ ЈОВАН
+ПЛАВШИЋ ЈОВИЦА
+ПЛАВШИЋ КАТАРИНА
+ПЛАВШИЋ КРСТА
+ПЛАВШИЋ ЛАЗАР
+ПЛАВШИЋ ЉИЉАНА
+ПЛАВШИЋ ЉУБИЦА
+ПЛАВШИЋ ЉУБИЦА
+ПЛАВШИЋ ЉУБИНКА
+ПЛАВШИЋ ЉУБОМИР
+ПЛАВШИЋ ЛУКА
+ПЛАВШИЋ МАРИЈА
+ПЛАВШИЋ МАРИНКО
+ПЛАВШИЋ МАРИНКО
+ПЛАВШИЋ МИЛЕНКО
+ПЛАВШИЋ МИЛЕНКО
+ПЛАВШИЋ МИЛИЦА
+ПЛАВШИЋ МИЛИЦА
+ПЛАВШИЋ МИЛИНКА
+ПЛАВШИЋ МИЛОШ
+ПЛАВШИЋ МИЛОМИР
+ПЛАВШИЋ МИОДРАГ
+ПЛАВШИЋ МИРКО
+ПЛАВШИЋ МИРКО
+ПЛАВШИЋ МИРОСЛАВ ДР ЛЕКАР
+ПЛАВШИЋ МИТАР
+ПЛАВШИЋ МИТА
+ПЛАВШИЋ МОМЧИЛО
+ПЛАВШИЋ МОМИР
+ПЛАВШИЋ НЕРА
+ПЛАВШИЋ НИКОЛА
+ПЛАВШИЋ НОВКА
+ПЛАВШИЋ ПАВА
+ПЛАВШИЋ ПЕТАР
+ПЛАВШИЋ ПЕТАР
+ПЛАВШИЋ РАДЕ
+ПЛАВШИЋ РАДМИЛА
+ПЛАВШИЋ РАДОВАН
+ПЛАВШИЋ РАДОВАН
+ПЛАВШИЋ РАНКО
+ПЛАВШИЋ РАНКО
+ПЛАВШИЋ СИМА
+ПЛАВШИЋ СЛОБОДАН
+ПЛАВШИЋ СЛОБОДАН
+ПЛАВШИЋ СТЕВАН
+ПЛАВШИЋ СТЕВАН
+ПЛАВШИЋ СТЕВО
+ПЛАВШИЋ ТОДЕ
+ПЛАВШИЋ ТОДОР
+ПЛАВШИЋ ВИНКО
+ПЛАВШИЋ ВИТОМИР
+ПЛАВШИЋ ВЛАДА
+ПЛАВШИЋ ВОЈИН
+ПЛАВШИЋ ВОЈИН
+ПЛАВШИЋ ВУКОСАВА
+ПЛАВШИЋ ЗОРКА
+ПЛАВШИН ДУШАН
+ПЛАВШИН МИЛИЦА
+ПЛАВШИН СТЕВАН
+ПЛАВАЦ ЖЕЉКО
+ПЛАВАЦ ДУШАН
+ПЛАВАЦ ЈАНКО
+ПЛАВЦ АХМЕТ
+ПЛАВЦ БАЈРУШ
+ПЛАВЉАНИН ЖИВКО
+ПЛАЗАЧИЋ ВИДОЈЕ
+ПЛАЗИНА ПУНИША
+ПЛЕША ЈОСИП
+ПЛЕШЕ ГОРАН
+ПЛЕШКО АНИЦА
+ПЛЕШТИЋ ДИМИТРИЈЕ
+ПЛЕШТИЋ МИРЈАНА
+ПЛЕЋАШ ДАНИЛО
+ПЛЕЋАШ ИЛИЈА
+ПЛЕЋАШ КАТИЦА
+ПЛЕЋАШ МИЛЕВА
+ПЛЕЋАШ РАДЕ
+ПЛЕЋАШ РОЗАЛИЈА
+ПЛЕМИЋ ЂУРО
+ПЛЕМИЋ ДАНЕ
+ПЛЕМИЋ МИЛАН
+ПЛЕСКОЊА МИЛОЈИЦА
+ПЛЕСКОЊИЋ АМАЛИЈА
+ПЛЕСКОВИЋ АНТУН
+ПЛЕСКОВИЋ НИКОЛА
+ПЛЕСКОВИЋ ЗДРАВКО
+ПЛЕТЕЛ КСЕНИЈА
+ПЛЕТЕЛ МИЛАН
+ПЛЕТИКАПИЋ ДРАГАН
+ПЛЕТИКОСИЋ ЉЕРКА
+ПЛЕТИКОСИЋ ПЕТАР
+ПЛЕТЛ ОТИЛИЈА
+ПЛИСНИЋ МИЛИЦА
+ПЛИСНИЋ МИЛОРАД
+ПЛИВАР ЈОВАН
+ПЉУЦО БРАНКО
+ПЛОХ ДРАГО
+ПЛОХ ФРАЊА
+ПЛОЈ МАРИЈА
+ПЛОС МИОДРАГ
+ПЛУЖАРЕВ ЛАЗАР
+ПЛУЖАРЕВ ОЛИВЕРА ДР
+ПЛУЖАРОВ МИЛЕНКО
+ПЛУКАВЕЦ ИВАН
+ПЛЗАК ДРАГОСЛАВ
+ПОЧАНИЋ ТРИПО
+ПОЧЕК БРАНИСЛАВ
+ПОЧЕК БРАНКО
+ПОЧЕК ЉИЉАНА
+ПОЧЕК МИЛОВАН
+ПОЧЕК ВЛАДА
+ПОЧЕК ВЛАДИСЛАВ
+ПОЧЕК ВЛАДИСЛАВ
+ПОЧЕТАК МИЛЕНКО
+ПОЧЕТАК МИЛИЦА
+ПОЧУЧА ДМИТАР
+ПОЧУЧА ДУШАН
+ПОЧУЧА ЈОВАНКА
+ПОЧУЧА ПЕТАР
+ПОЧУЧА РАДМИЛА
+ПОШЧИЋ ЕРИКА
+ПОША ЂУРА
+ПОША АНДРАШ
+ПОША ДРАГИЦА
+ПОША ИШТВАН
+ПОША КАРЛО
+ПОША ПЕТАР
+ПОША РОЗАЛИЈА
+ПОША СНЕЖАНА
+ПОШАРАЦ ДУШКО
+ПОШАРАЦ ЗОРАН
+ПОШТА НИКОЛА
+ПОШТИЋ ЂОРЂЕ ДР
+ПОШТИЋ ДРАГАН
+ПОШТИЋ МИЛАН
+ПОШТИЋ СЛОБОДАНКА
+ПОШТИЋ СОФИЈА
+ПОШТИЋ СРЂАН ДИПЛ ИНГ
+ПОШТОШ ВЕРА
+ПОЖАР МИЛИЦА
+ПОЖАРЕВ ЂОРЂЕ
+ПОЖАРЕВ ЂОРЂЕ
+ПОЖАРЕВ АЛЕКСАНДАР
+ПОЖАРЕВ АНЂЕЛКА
+ПОЖАРЕВ ДОРА
+ПОЖАРЕВ ЈЕЛЕНА
+ПОЖАРЕВ РАДЕ
+ПОЖАРЕВ РАТОМИРКА
+ПОЖАРЕВ РАТОМИР
+ПОЖАРЕВ СТЕВАН
+ПОЖАРЕВ ВЕСЕЛИН
+ПОЖЕГА МИЛЕ
+ПОЖЕГА СОФИЈА
+ПОЖЕГА СТЕВАН
+ПОЖГАЈ АНТУН
+ПОЖГАЈ ТОМИСЛАВ
+ПОБОР ЈЕЛЕНА
+ПОБОР СРЕТО
+ПОБРАН СТЕВАН
+ПОБРАН ВЛАДИМИР
+ПОБРИЋ ИСАК
+ПОБУЋАНОВИЋ-КУЉАНКИЋ ШУХРЕТА
+ПОБУЂАНОВИЋ ИЛИНКА
+ПОБУЂАНОВИЋ МУХАРЕМ
+ПОБУЂАНОВИЋ СВЕТЛАНА
+ПОЦАЈТ ВИКТОР
+ПОЦМАН АНТУН
+ПОЦМАН ВИЛИМ
+ПОЦРНИЋ МИЛЕ
+ПОЦРНИЋ НИКОЛА
+ПОДГОРНИК МИЛАН
+ПОДГОРНИК РАЈНА
+ПОДЛИПЕЦ МАРИЈА
+ПОДМАЈОРСКИ МАРА
+ПОДОБНИК ЈАСНА
+ПОДОЛА ЈУСТИНА
+ПОДРАШЧАНИН ЈОВАН
+ПОДРАШЧАНИН НАДА
+ПОДРАШЧАНИН ВОЈА
+ПОДРАВАЦ БРАНКО
+ПОГАНЧЕВ ГОРАН
+ПОГАНЧЕВ ГОРАН
+ПОГАЊ ЈУЛИЈАНА
+ПОГУБЕРОВИЋ ЈОВАН
+ПОЈБИЋ ДУШАН
+ПОЈЕ ЈОСИП
+ПОЈИЋ БРАНКО
+ПОКА ЈОСИП
+ПОКАС ЈОСИП
+ПОКРАЈАЦ АНГЕЛИНА
+ПОКРАЈАЦ ЈОВАН
+ПОКРАЈАЦ ЈОВАН
+ПОКРАЈАЦ МИЛАН
+ПОКРАЈАЦ МИЛОРАД
+ПОКРАЈАЦ РАДЕ
+ПОКРАЈАЦ СЛАВКО
+ПОКРИЋ ВОЈИСЛАВ
+ПОКУШЕВСКИ ДОБРИНКА
+ПОКУПЕЦ МИЛАН
+ПОЛАК ЈЕЛЕНА
+ПОЛАК ЈОЖЕФ
+ПОЛАК СТЕВАН
+ПОЛАКОВИЋ ЕРЖЕБЕТ
+ПОЛАКОВИЋ ЈАНОШ
+ПОЛАНЕЦ ФРАЊО
+ПОЛЕ НИКОЛА
+ПОЛЕ НИКОЛА
+ПОЛЕДИЦА ДУШАНКА
+ПОЛЕНДЕР СОФИЈА
+ПОЛЕРМАН БЕЛА
+ПОЛЕРМАН МИЛИЦА
+ПОЛЕТАНОВИЋ МАРИНКО
+ПОЛЕТО ДОМЕНИК
+ПОЛЕТО ИВАН
+ПОЛГАР ИШТВАН
+ПОЛИЋ ЂУРА
+ПОЛИЋ БОШКО
+ПОЛИЋ ДАНИЦА
+ПОЛИЋ ДРАГАН
+ПОЛИЋ ЉУБИЦА
+ПОЛИЋ МАРИЈАН
+ПОЛИЋ СЛОБОДАН
+ПОЛИМАЦ АНЂЕЛИЈА
+ПОЛИН ЂУРА
+ПОЛИН ЛАСЛО
+ПОЛИНСКИ АРАНКА
+ПОЉАЧКИ АЛЕКСАНДАР
+ПОЉАЧКИ МИЛИЦА
+ПОЉАЧКИ МИЛИЦА
+ПОЉАЧКИ СВЕТОЗАР
+ПОЉАК ЂЕРЂ
+ПОЉАК ЕВА
+ПОЉАК ФРАЊО
+ПОЉАК ЛАСЛО
+ПОЉАК МИША
+ПОЉАК МИХАЉ
+ПОЉАК МИЛКА
+ПОЉАК МИОДРАГ
+ПОЉАК МИОДРАГ
+ПОЉАК НИКОЛА
+ПОЉАК НИКОЛА
+ПОЉАК ПЕТАР
+ПОЉАК РАНКО
+ПОЉАКОВИЋ СТЈЕПАН
+ПОЉАНСКИ ЈОВИЦА
+ПОЉАНСКИ ЉУБИЦА
+ПОЉАНСКИ СТОЈАН
+ПОЉИЧАК АНТЕ
+ПОЉИЧАК ЉУБАН
+ПОЉИЋ РЕФИК
+ПОЉОВКА ЈАН
+ПОЉВАШ ЈОЖЕФ
+ПОЛОЈАЦ ЛУКА
+ПОЛОВИЋ КОСТА
+ПОЛОВИЋ СТЕВО
+ПОЛОВИНА ЂОРЂЕ
+ПОЛОВИНА ДАНИЈЕЛ
+ПОЛОВИНА ИСА
+ПОЛОВИНА МИЛАН
+ПОЛОВИНА МИЛИЦА
+ПОЛОВИНА МИЛОРАД
+ПОЛОВИНА НАДА
+ПОЛОВИНА НИКОЛА
+ПОЛОВИНА ПЛЕМЕНКА
+ПОЛОВИНА РАДИВОЈЕ
+ПОЛОВИНА СЛОБОДАН
+ПОЛОВИНА СТЕВО
+ПОЛОВИНА ТОДОР
+ПОЛОВИНА ВЛАДИМИР
+ПОЛОВИНА ВЛАДО
+ПОЛОВИНСКИ САВА
+ПОЛТУРА ЖУЖАНА
+ПОЛТУРА ГАБОР
+ПОЛТУРА ИРЕНА
+ПОЛТУРА МИРКО
+ПОЛУЖАНСКИ ИВАНКА
+ПОЛУМИРАЦ МИЛИЦА
+ПОЛУТА ЛИНА
+ПОЛВЕРЕЖАН-ОБШУСТ ЋЕЋИЛИЈА
+ПОЛЗОВИЋ АЛЕКСАНДАР
+ПОЛЗОВИЋ ЈОВАН
+ПОЛЗОВИЋ МИОМИР
+ПОЛЗОВИЋ МИРОСЛАВ
+ПОЛЗОВИЋ РАДОСЛАВ
+ПОМОРИШКИ БРАНИСЛАВ
+ПОНГО ЖУЖАНА
+ПОНГО ЈАНОШ
+ПОНГО ЛАСЛО
+ПОНГО СТЕВАН
+ПОЊАРАЦ САВО
+ПОЊАВИЋ ГОРДАНА
+ПОЊАВИЋ РАДИСАВ
+ПОЊАВИЋ СИНИША
+ПОЊЕВИЋ МОМЧИЛО
+ПОЊЕВИЋ ПЕТАР
+ПОЊЕВИЋ СПАСАН
+ПОЊЕВИЋ ЗВЕЗДАН
+ПОЊИЧАН ХОРИСЛАВ
+ПОЊИЧАН ЈАН
+ПОЊИЧАН ЈОСИП
+ПОЊИГЕР ЂУРА
+ПОЊИГЕР ИВАН
+ПОНОЋКО ЧЕДОМИР
+ПОНОРАЦ ЛАЗАР
+ПОП-ЈОВАНОВ ВЕРА
+ПОП ЗДЕНКО
+ПОПЂУРЂЕВ МИЛАН
+ПОПА СПАСЕНИЈА
+ПОПАДИЋ ЖИВАН
+ПОПАДИЋ ЖИВА
+ПОПАДИЋ ЖИВКО
+ПОПАДИЋ ЂОКО
+ПОПАДИЋ ЂУКА
+ПОПАДИЋ БРАНКА
+ПОПАДИЋ ГОЈКО
+ПОПАДИЋ ИСИДОР
+ПОПАДИЋ-ЈАНУЗОВИЋ РАДМИЛА
+ПОПАДИЋ ЉИЉАНА
+ПОПАДИЋ ЉУБИЦА
+ПОПАДИЋ ЉУБО
+ПОПАДИЋ МИЛАН
+ПОПАДИЋ МИЛЕНКО
+ПОПАДИЋ МИЛЕНКО
+ПОПАДИЋ МИЛЕНКО
+ПОПАДИЋ МИОДРАГ
+ПОПАДИЋ НЕДЕЉКО
+ПОПАДИЋ НЕГОВАН
+ПОПАДИЋ НИКОЛА
+ПОПАДИЋ НОВАК
+ПОПАДИЋ ПЕТКО
+ПОПАДИЋ ПРЕДРАГ
+ПОПАДИЋ РАДМИЛА
+ПОПАДИЋ РАДМИЛА
+ПОПАДИЋ РАТОМИР
+ПОПАДИЋ СИЛВИЈА
+ПОПАДИЋ СЛАВКО
+ПОПАДИЋ СЛАВОЉУБ
+ПОПАДИЋ СТАНА
+ПОПАДИЋ СТОЈИЦА
+ПОПАДИЋ СВЕТЛАНА
+ПОПАДИЋ ТИХОМИР
+ПОПАДИЋ ВЕРА
+ПОПАДИЋ ВОЈИСЛАВ АДВОКАТ
+ПОПАДИЋ ВОЈИСЛАВ
+ПОПАРА АЛЕКСАНДАР
+ПОПАРА ИЛИЈА
+ПОПАРА ЉУБИША
+ПОПАРА ТАДИЈА
+ПОПАРА ЗОРАН
+ПОПАРИЋ ЖИВОЈИН
+ПОПАРИЋ ИСИДОР
+ПОПАРИЋ МАРИЦА
+ПОПАРИЋ НЕНАД
+ПОПДАНКОВ ЈУДИТА
+ПОПЕЈКОВ БОРИСЛАВ
+ПОПЕЈКОВ ЉИЉАНА
+ПОПЕЈКОВ МАРА
+ПОПЕНГОВ ВАСА
+ПОПЕСКУ РУЖА
+ПОПГЛИГОРИН ПАВЛЕ
+ПОПИЋ ЖЕЉКО
+ПОПИЋ АЛЕКСАНДАР
+ПОПИЋ АНЂЕЛКО
+ПОПИЋ БРАНКО
+ПОПИЋ БУДИМИР
+ПОПИЋ ДРАГАН
+ПОПИЋ ДУШАН
+ПОПИЋ ДУШАН
+ПОПИЋ ДУШАН
+ПОПИЋ ЕДИТА
+ПОПИЋ ГОРДАНА
+ПОПИЋ ЈЕЛИСАВЕТА
+ПОПИЋ КАТИЦА
+ПОПИЋ ЉИЉАНА
+ПОПИЋ ЛУКА
+ПОПИЋ МИЛАН
+ПОПИЋ МИЛАН
+ПОПИЋ МИЛАН
+ПОПИЋ МИЛИЦА
+ПОПИЋ МИЛИВОЈ
+ПОПИЋ МИРА
+ПОПИЋ МИРА
+ПОПИЋ МИРЈАНА
+ПОПИЋ НАДА
+ПОПИЋ-ПАЉИЋ ФЕОДОРА
+ПОПИЋ РАДИВОЈ
+ПОПИЋ САВА
+ПОПИЋ САВО
+ПОПИЋ СНЕЖАНА
+ПОПИЋ СОФИЈА
+ПОПИЋ СОФИЈА
+ПОПИЋ СВЕТОЗАР
+ПОПИЋ ТОМА
+ПОПИЋ ВУКИЦА
+ПОПИЋ ЗОРА
+ПОПИН ИВАН
+ПОПИН РАДИВОЈ
+ПОПИН ВИТОМИР
+ПОПИН ВЛАДИМИР
+ПОПИВОДА БОЖИДАР
+ПОПИВОДА МИЛОВАН
+ПОПИВОДА МИЛУТИН
+ПОПИВОДА НЕДЕЉКО
+ПОПИВОДА ПЕТАР
+ПОПИВОДА РАДИСЛАВ
+ПОПМИХАЈЛОВ ДИМИТРИЈЕ
+ПОПМИХАЈЛОВ ДУШАН
+ПОПНОВАКОВ ДРАГОМИР
+ПОПНОВАКОВ МИЛАН
+ПОПНОВАКОВ МИЛИЦА
+ПОПОВ ЧЕДОМИР
+ПОПОВ ЖАРКО
+ПОПОВ ЖАРКО
+ПОПОВ-ЖИКЕЛИЋ ЗОРА
+ПОПОВ ЖИВКА
+ПОПОВ ЖИВКО
+ПОПОВ ЖИВКО
+ПОПОВ ЖИВКО
+ПОПОВ ЖИВКО
+ПОПОВ ЖИВКО
+ПОПОВ ЖИВКО
+ПОПОВ ЂОКА
+ПОПОВ ЂОКА
+ПОПОВ ЂОРЂЕ
+ПОПОВ ЂОРЂЕ
+ПОПОВ ЂОРЂЕ
+ПОПОВ ЂОРЂЕ
+ПОПОВ ЂОРЂЕ
+ПОПОВ ЂОРЂЕ
+ПОПОВ ЂУРЂИНА
+ПОПОВ ЂУРА
+ПОПОВ ЂУРА
+ПОПОВ АЛЕКСАНДАР
+ПОПОВ АЛЕКСАНДАР
+ПОПОВ АЛЕКСАНДАР
+ПОПОВ АЛЕКСАНДАР
+ПОПОВ АЛЕКСАНДАР
+ПОПОВ АЛЕКСАНДАР
+ПОПОВ АЛЕКСАНДАР
+ПОПОВ АНЂА
+ПОПОВ АНДОН
+ПОПОВ АНКИЦА
+ПОПОВ-БАША ВЕРА
+ПОПОВ БОРИВОЈ ДИПЛ ИНГ
+ПОПОВ БРАНИСЛАВА
+ПОПОВ БРАНИСЛАВ
+ПОПОВ БРАНИСЛАВ
+ПОПОВ БРАНИСЛАВ
+ПОПОВ БРАНКО
+ПОПОВ БРАНКО
+ПОПОВ ДАНИЦА
+ПОПОВ ДАНИЦА
+ПОПОВ ДАНИЛО
+ПОПОВ ДАНИЛО
+ПОПОВ ДАРИНКА
+ПОПОВ ДИМИТРИЈЕ
+ПОПОВ ДИМИТРИЈЕ
+ПОПОВ ДРАГАНА
+ПОПОВ ДРАГАН
+ПОПОВ ДРАГАН
+ПОПОВ ДРАГАН
+ПОПОВ ДРАГАН
+ПОПОВ ДРАГА
+ПОПОВ ДРАГИША
+ПОПОВ ДРАГИЦА
+ПОПОВ-ДРАГИН ОЛГА
+ПОПОВ ДРАГОЉУБ
+ПОПОВ ДРАГОЉУБ
+ПОПОВ ДРАГОЉУБ
+ПОПОВ ДРАГОМИР
+ПОПОВ ДРАГОМИР
+ПОПОВ ДРАГОМИР
+ПОПОВ ДРАГОСЛАВА
+ПОПОВ ДУШАН ДР
+ПОПОВ ДУШАН
+ПОПОВ ДУШАН
+ПОПОВ ДУШАН
+ПОПОВ ДУШКА
+ПОПОВ ГАВРА
+ПОПОВ ГОРАН
+ПОПОВ ГОРДАНА ДР
+ПОПОВ ГОРДАНА
+ПОПОВ ГОРДАНА
+ПОПОВ ИЛОНКА
+ПОПОВ ИСА
+ПОПОВ ИВАНКА
+ПОПОВ ИВАН
+ПОПОВ ИВКА
+ПОПОВ ЈЕЛА
+ПОПОВ ЈЕЛА
+ПОПОВ ЈЕЛИСАВЕТА
+ПОПОВ ЈЕЗДИМИР
+ПОПОВ ЈОВАН
+ПОПОВ ЈОВАН
+ПОПОВ ЈОВАН
+ПОПОВ ЈОВАН
+ПОПОВ ЈОВАН
+ПОПОВ ЈОВАН
+ПОПОВ ЈОВАН
+ПОПОВ ЈОВАН
+ПОПОВ ЈОВАН
+ПОПОВ ЈУГОСЛАВ
+ПОПОВ ЈУГ
+ПОПОВ ЈУЛКА
+ПОПОВ КАТИЦА
+ПОПОВ КАТИЦА
+ПОПОВ КОСА
+ПОПОВ КОВИНКА
+ПОПОВ ЛАЗАР
+ПОПОВ ЛАЗАР
+ПОПОВ ЛАЗАР
+ПОПОВ ЛАЗАР
+ПОПОВ ЛЕНКА
+ПОПОВ ЉИЉАНА
+ПОПОВ ЉИЉАНА
+ПОПОВ ЉУБИША
+ПОПОВ ЉУБИЦА
+ПОПОВ ЉУБИЦА
+ПОПОВ ЉУБИЦА
+ПОПОВ ЉУБИЦА
+ПОПОВ ЉУБИНКА
+ПОПОВ ЉУБОМИР
+ПОПОВ МАРА
+ПОПОВ МАРИЦА
+ПОПОВ МАРИЈА
+ПОПОВ МАРИЈА
+ПОПОВ МАРИНКО
+ПОПОВ МАРКО
+ПОПОВ МАРКО
+ПОПОВ МАРКО
+ПОПОВ МИЛАДИН
+ПОПОВ МИЛАН
+ПОПОВ МИЛАН
+ПОПОВ МИЛАН
+ПОПОВ МИЛАН
+ПОПОВ МИЛАН
+ПОПОВ МИЛАН
+ПОПОВ МИЛАН
+ПОПОВ МИЛАН
+ПОПОВ МИЛАН
+ПОПОВ МИЛАН
+ПОПОВ МИЛАН
+ПОПОВ МИЛАН
+ПОПОВ МИЛАН
+ПОПОВ МИЛЕНА
+ПОПОВ МИЛЕНА
+ПОПОВ МИЛЕНКО
+ПОПОВ МИЛИЦА
+ПОПОВ МИЛИЦА
+ПОПОВ МИЛИЦА
+ПОПОВ МИЛИЦА
+ПОПОВ МИЛИВОЈ
+ПОПОВ МИЛИВОЈ
+ПОПОВ МИЛИВОЈ
+ПОПОВ МИЛИВОЈ
+ПОПОВ МИЛКА
+ПОПОВ МИЛОШ
+ПОПОВ МИЛОШ
+ПОПОВ МИЛОЈЕ
+ПОПОВ МИЛОРАД
+ПОПОВ МИЛОВАН
+ПОПОВ МИЛОВАН
+ПОПОВ МИЛУТИН
+ПОПОВ МИРЈАНА
+ПОПОВ МИРЈАНА
+ПОПОВ МИРЈАН
+ПОПОВ МИРОСЛАВ
+ПОПОВ МИТА
+ПОПОВ МОМЧИЛО
+ПОПОВ НЕДЕЉКО
+ПОПОВ НЕНАТКА
+ПОПОВ НИКОЛА
+ПОПОВ НИНА
+ПОПОВ НИНОСЛАВ ДИПЛ ИНГ
+ПОПОВ НОВАК
+ПОПОВ ОБРАД
+ПОПОВ-ОБРОВАЧКИ СОФИЈА
+ПОПОВ ОЛГА
+ПОПОВ ПАЈА
+ПОПОВ ПАВЛЕ
+ПОПОВ ПАВЛЕ
+ПОПОВ ПАВЛЕ
+ПОПОВ ПЕРА
+ПОПОВ ПЕТАР
+ПОПОВ ПЕТАР
+ПОПОВ ПЛАТОН
+ПОПОВ ПРЕДРАГ
+ПОПОВ РАДИВОЈЕ
+ПОПОВ РАДИВОЈ
+ПОПОВ РАДИВОЈ
+ПОПОВ РАДИВОЈ
+ПОПОВ РАДИВОЈ
+ПОПОВ РАДИВОЈ
+ПОПОВ РАДМИЛА
+ПОПОВ РАДОЈКА
+ПОПОВ РАДОВАН ДИПЛ ИНГ
+ПОПОВ РАДОВАН
+ПОПОВ РАДОВАН
+ПОПОВ РАДОВАН
+ПОПОВ РАДОВАН
+ПОПОВ РАДОВАН
+ПОПОВ РАДОВАН
+ПОПОВ РАДОВАН
+ПОПОВ РАТОМИР
+ПОПОВ РЕЉА
+ПОПОВ РОДОЉУБ
+ПОПОВ САВА
+ПОПОВ САВА
+ПОПОВ САВА
+ПОПОВ САВА
+ПОПОВ САВЕТА
+ПОПОВ СЕКУЛА
+ПОПОВ СИНИША
+ПОПОВ СЛАВИЦА
+ПОПОВ СЛАВКО
+ПОПОВ СЛАВКО
+ПОПОВ СЛАВКО
+ПОПОВ СЛОБОДАН
+ПОПОВ СЛОБОДАН
+ПОПОВ СНЕЖАНА
+ПОПОВ СОФИЈА
+ПОПОВ СПАСОЈЕ
+ПОПОВ СРЕДОЈЕ
+ПОПОВ СТАНА
+ПОПОВ СТЕВАН ДИПЛ ИНГ
+ПОПОВ СТЕВАН
+ПОПОВ СТЕВАН
+ПОПОВ СТЕВАН
+ПОПОВ СТЕВАН
+ПОПОВ СТЕВАН
+ПОПОВ СТЕВАН
+ПОПОВ СТЕВАН
+ПОПОВ СТЕВАН
+ПОПОВ СТЕВА
+ПОПОВ СТЕВИЦА
+ПОПОВ СТОЈАНКА
+ПОПОВ СВЕТЛАНА
+ПОПОВ СВЕТОЗАР
+ПОПОВ СВЕТОЗАР
+ПОПОВ ТАТОМИР
+ПОПОВ ТОДОР
+ПОПОВ ТРИВА
+ПОПОВ УРОШ
+ПОПОВ ВАСИЛИЈЕ
+ПОПОВ ВАСИЛИЈЕ
+ПОПОВ ВАСИЛИЈЕ
+ПОПОВ ВЕРА
+ПОПОВ ВЕРА
+ПОПОВ ВЕРА
+ПОПОВ ВЕРИЦА
+ПОПОВ ВЕСЕЛИН
+ПОПОВ ВЛАДИМИР
+ПОПОВ ВЛАДИМИР
+ПОПОВ ВОЈИН
+ПОПОВ ВОЈИСЛАВ
+ПОПОВ ВУКОСАВА
+ПОПОВ ЗЛАТА
+ПОПОВ ЗЛАТИЦА
+ПОПОВ ЗОРКА
+ПОПОВИЋ ЧАСЛАВ ДИПЛ ПРАВНИК
+ПОПОВИЋ ЧЕДОМИР ДИПЛ ИНГ
+ПОПОВИЋ ЧЕДОМИР
+ПОПОВИЋ ЧЕДОМИР
+ПОПОВИЋ ЧЕДОМИР
+ПОПОВИЋ-ЧЕЈОВИЋ ПАВЛЕ
+ПОПОВИЋ ШЋЕПАН
+ПОПОВИЋ ЖАРКО
+ПОПОВИЋ ЖАРКО
+ПОПОВИЋ ЖАРКО
+ПОПОВИЋ ЖЕЉКО
+ПОПОВИЋ ЖИВАН
+ПОПОВИЋ ЖИВАН
+ПОПОВИЋ ЖИВКО
+ПОПОВИЋ ЖИВОРАД
+ПОПОВИЋ ЖУЖАНА
+ПОПОВИЋ ЂОРЂЕ
+ПОПОВИЋ ЂОРЂЕ
+ПОПОВИЋ ЂОРЂЕ
+ПОПОВИЋ ЂОРЂЕ
+ПОПОВИЋ ЂОРЂЕ
+ПОПОВИЋ ЂОРЂЕ
+ПОПОВИЋ ЂОРЂЕ
+ПОПОВИЋ ЂОРЂЕ
+ПОПОВИЋ ЂОРЂЕ
+ПОПОВИЋ ЂОРЂЕ
+ПОПОВИЋ ЂОРЂЕ
+ПОПОВИЋ ЂОРЂЕ
+ПОПОВИЋ ЂОРЂЕ
+ПОПОВИЋ ЂОРЂИЈЕ
+ПОПОВИЋ ЂУРЂИНА
+ПОПОВИЋ ЂУРЂИНА
+ПОПОВИЋ ЂУРА
+ПОПОВИЋ ЂУРИЦА
+ПОПОВИЋ ЂУРО
+ПОПОВИЋ ЂУРО
+ПОПОВИЋ АКСЕНТИЈЕ
+ПОПОВИЋ АЛЕКСАНДАР ДР ПРАВНИК
+ПОПОВИЋ АЛЕКСАНДАР ДР
+ПОПОВИЋ АЛЕКСАНДАР
+ПОПОВИЋ АЛЕКСАНДАР
+ПОПОВИЋ АЛЕКСАНДАР
+ПОПОВИЋ АЛЕКСАНДАР
+ПОПОВИЋ АНЂЕЛКА
+ПОПОВИЋ АНЂЕЛКА
+ПОПОВИЋ АНЂЕЛ
+ПОПОВИЋ АНА
+ПОПОВИЋ АНА
+ПОПОВИЋ АНГЕЛИНА
+ПОПОВИЋ АНГЕЛИНА
+ПОПОВИЋ АНГЕЛИНА
+ПОПОВИЋ АНИЦА
+ПОПОВИЋ БЛАГОЈЕ
+ПОПОВИЋ БОЖА
+ПОПОВИЋ БОЖИДАР
+ПОПОВИЋ БОГДАН
+ПОПОВИЋ БОГДАН
+ПОПОВИЋ БОГОЉУБ
+ПОПОВИЋ БОЈАН
+ПОПОВИЋ БОРИСЛАВА
+ПОПОВИЋ БОРИСЛАВ
+ПОПОВИЋ БОРЈАН
+ПОПОВИЋ БОРКА
+ПОПОВИЋ БОСИЉКА
+ПОПОВИЋ БРАНИСЛАВ ДР
+ПОПОВИЋ БРАНИСЛАВ
+ПОПОВИЋ БРАНИСЛАВ
+ПОПОВИЋ БРАНИСЛАВ
+ПОПОВИЋ БРАНИСЛАВ
+ПОПОВИЋ БРАНИСЛАВ
+ПОПОВИЋ БРАНИВОЈ
+ПОПОВИЋ БРАНИВОЈ
+ПОПОВИЋ БРАНКА
+ПОПОВИЋ БРАНКО
+ПОПОВИЋ БРАНКО
+ПОПОВИЋ БРАНКО
+ПОПОВИЋ ЦВЕЈА
+ПОПОВИЋ ДАНЧИКА
+ПОПОВИЋ ДАНЕ
+ПОПОВИЋ ДАНЕ
+ПОПОВИЋ ДАНИЦА
+ПОПОВИЋ ДАНИЦА
+ПОПОВИЋ ДАНИЛО
+ПОПОВИЋ ДАНКИЦА
+ПОПОВИЋ ДАРИНКА
+ПОПОВИЋ ДЕЈАН
+ПОПОВИЋ ДЕСАНКА
+ПОПОВИЋ ДЕСА
+ПОПОВИЋ ДИМИТРИЈЕ
+ПОПОВИЋ ДИМИТРИЈЕ
+ПОПОВИЋ ДИМИТРИЈЕ
+ПОПОВИЋ ДОБРИНКА
+ПОПОВИЋ ДОБРИНКА
+ПОПОВИЋ ДОБРИНКО
+ПОПОВИЋ ДОБРИВОЈ
+ПОПОВИЋ ДРАГАНА
+ПОПОВИЋ ДРАГАН
+ПОПОВИЋ ДРАГАН
+ПОПОВИЋ ДРАГАН
+ПОПОВИЋ ДРАГИША ДР
+ПОПОВИЋ ДРАГИША
+ПОПОВИЋ ДРАГИЊА
+ПОПОВИЋ ДРАГО ДИПЛ ИНГ
+ПОПОВИЋ ДРАГОЈЛО
+ПОПОВИЋ ДРАГОЉУБ
+ПОПОВИЋ ДРАГОЉУБ
+ПОПОВИЋ ДРАГОЉУБ
+ПОПОВИЋ ДРАГОМИР
+ПОПОВИЋ ДРАГОМИР
+ПОПОВИЋ ДРАГО
+ПОПОВИЋ ДРАГО
+ПОПОВИЋ ДРАГО
+ПОПОВИЋ ДРАГУТИН
+ПОПОВИЋ ДУШАН ДР
+ПОПОВИЋ ДУШАНКА
+ПОПОВИЋ ДУШАНКА
+ПОПОВИЋ ДУШАНКА
+ПОПОВИЋ ДУШАН
+ПОПОВИЋ ДУШАН
+ПОПОВИЋ ДУШАН
+ПОПОВИЋ ДУШАН
+ПОПОВИЋ ДУШАН
+ПОПОВИЋ ДУШАН
+ПОПОВИЋ ДУШАН
+ПОПОВИЋ ДУШАН
+ПОПОВИЋ ДУШАН
+ПОПОВИЋ ДУШИЦА
+ПОПОВИЋ ДУШКО ДР
+ПОПОВИЋ ЕМИЛ
+ПОПОВИЋ ФЕОДОРА
+ПОПОВИЋ ФЕОДОР
+ПОПОВИЋ ГОЈКО
+ПОПОВИЋ ГОРАН
+ПОПОВИЋ ГОРДАНА
+ПОПОВИЋ ИЛЕ
+ПОПОВИЋ ИЛИЈА
+ПОПОВИЋ ИЛИЈА
+ПОПОВИЋ ИЛИЈА
+ПОПОВИЋ ИЛИЈА
+ПОПОВИЋ ИЛИЈА
+ПОПОВИЋ ИРИНА
+ПОПОВИЋ ИВАН
+ПОПОВИЋ ИВАН
+ПОПОВИЋ ИВАН
+ПОПОВИЋ ИВАН
+ПОПОВИЋ ИВАН
+ПОПОВИЋ ЈАДРАНКА
+ПОПОВИЋ ЈАНКО
+ПОПОВИЋ ЈАСНА
+ПОПОВИЋ ЈЕФТА
+ПОПОВИЋ ЈЕЛЕНА
+ПОПОВИЋ ЈЕЛЕНА
+ПОПОВИЋ ЈЕЛЕНА
+ПОПОВИЋ ЈЕЛЕНА
+ПОПОВИЋ ЈЕЛИСАВЕТА
+ПОПОВИЋ ЈОВАНКА
+ПОПОВИЋ ЈОВАНКА
+ПОПОВИЋ ЈОВАНКА
+ПОПОВИЋ ЈОВАН
+ПОПОВИЋ ЈОВАН
+ПОПОВИЋ ЈОВАН
+ПОПОВИЋ ЈОВАН
+ПОПОВИЋ ЈОВАН
+ПОПОВИЋ ЈОВАН
+ПОПОВИЋ ЈОВАН
+ПОПОВИЋ ЈОВАН
+ПОПОВИЋ ЈОВАН
+ПОПОВИЋ ЈОВАН
+ПОПОВИЋ ЈОВАН
+ПОПОВИЋ ЈОВАН
+ПОПОВИЋ ЈОВАН
+ПОПОВИЋ ЈОВО
+ПОПОВИЋ КАТАРИНА
+ПОПОВИЋ КАТИЦА
+ПОПОВИЋ КАТИЦА
+ПОПОВИЋ КАТИЦА
+ПОПОВИЋ КОНСТАНТИН
+ПОПОВИЋ КОСТА ДР
+ПОПОВИЋ КОСТАДИН
+ПОПОВИЋ КОСТА
+ПОПОВИЋ КОСТА
+ПОПОВИЋ КРИСТИНА
+ПОПОВИЋ КРСТА
+ПОПОВИЋ КРСТО
+ПОПОВИЋ КСЕНИЈА
+ПОПОВИЋ ЛАЗАР ДР ЛЕКАР
+ПОПОВИЋ ЛАЗАР
+ПОПОВИЋ ЛАЗАР
+ПОПОВИЋ ЛАЗАР
+ПОПОВИЋ ЛАЗАР
+ПОПОВИЋ ЛАЗАР
+ПОПОВИЋ ЛАЗАР
+ПОПОВИЋ ЛАЗАР
+ПОПОВИЋ ЛАЗАР
+ПОПОВИЋ ЛАЗАР
+ПОПОВИЋ ЛАЗАР
+ПОПОВИЋ ЛАЗАР
+ПОПОВИЋ ЛЕЛА
+ПОПОВИЋ ЛЕПОСАВА
+ПОПОВИЋ ЉИЉАНА ДР
+ПОПОВИЋ ЉИЉАНА
+ПОПОВИЋ ЉИЉАНА
+ПОПОВИЋ ЉИЉАНА
+ПОПОВИЋ ЉИЉАНА
+ПОПОВИЋ ЉИЉАНА
+ПОПОВИЋ ЉУБИЦА
+ПОПОВИЋ ЉУБИЦА
+ПОПОВИЋ ЉУБИЦА
+ПОПОВИЋ ЉУБИЦА
+ПОПОВИЋ ЉУБИСАВ
+ПОПОВИЋ ЉУБОМИР
+ПОПОВИЋ ЉУБОМИР
+ПОПОВИЋ ЉУБОМИР
+ПОПОВИЋ ЉУБОМИР
+ПОПОВИЋ МАКСИМ
+ПОПОВИЋ МАРА
+ПОПОВИЋ МАРА
+ПОПОВИЋ МАРИЈА ДР
+ПОПОВИЋ МАРИЈАНА
+ПОПОВИЋ МАРИЈА
+ПОПОВИЋ МАРИЈА
+ПОПОВИЋ МАРИЈА
+ПОПОВИЋ МАРИЈА
+ПОПОВИЋ МАРИЈА
+ПОПОВИЋ МАРИНКО
+ПОПОВИЋ МАРКО ДР ЛЕКАР
+ПОПОВИЋ МАРКО МР ИНГ
+ПОПОВИЋ МАРКО
+ПОПОВИЋ МАРКО
+ПОПОВИЋ МАРТА
+ПОПОВИЋ МЕЛАНИЈА
+ПОПОВИЋ МИХАИЛО
+ПОПОВИЋ МИХАЈЛО ДР
+ПОПОВИЋ МИХАЈЛО
+ПОПОВИЋ МИЛАНА
+ПОПОВИЋ МИЛАН
+ПОПОВИЋ МИЛАН
+ПОПОВИЋ МИЛАН
+ПОПОВИЋ МИЛАН
+ПОПОВИЋ МИЛАН
+ПОПОВИЋ МИЛАН
+ПОПОВИЋ МИЛАН
+ПОПОВИЋ МИЛАН
+ПОПОВИЋ МИЛАН
+ПОПОВИЋ МИЛАН
+ПОПОВИЋ МИЛАН
+ПОПОВИЋ МИЛАН
+ПОПОВИЋ МИЛА
+ПОПОВИЋ МИЛЕНА
+ПОПОВИЋ МИЛЕНКО
+ПОПОВИЋ МИЛЕНКО
+ПОПОВИЋ МИЛЕНКО
+ПОПОВИЋ МИЛЕНКО
+ПОПОВИЋ МИЛЕНКО
+ПОПОВИЋ МИЛЕТА ДИПЛ ИНГ
+ПОПОВИЋ МИЛЕ
+ПОПОВИЋ МИЛИЦА
+ПОПОВИЋ МИЛИЦА
+ПОПОВИЋ МИЛИЈАН ДР
+ПОПОВИЋ МИЛИНКО
+ПОПОВИЋ МИЛИВОЈЕ
+ПОПОВИЋ МИЛКА
+ПОПОВИЋ МИЛОШ ДИПЛ ИНГ
+ПОПОВИЋ МИЛОШ
+ПОПОВИЋ МИЛОШ
+ПОПОВИЋ МИЛОШ
+ПОПОВИЋ МИЛОРАД
+ПОПОВИЋ МИЛОРАД
+ПОПОВИЋ МИЛОРАД
+ПОПОВИЋ МИЛОРАД
+ПОПОВИЋ МИЛОРАД
+ПОПОВИЋ МИЛОРАД
+ПОПОВИЋ МИЛОСАВА
+ПОПОВИЋ МИЛОСАВ
+ПОПОВИЋ МИЛОВАН
+ПОПОВИЋ МИЛУТИН
+ПОПОВИЋ МИОДРАГ
+ПОПОВИЋ МИОДРАГ
+ПОПОВИЋ МИОДРАГ
+ПОПОВИЋ МИОДРАГ
+ПОПОВИЋ МИРА
+ПОПОВИЋ МИРА
+ПОПОВИЋ МИРЈАНА
+ПОПОВИЋ МИРЈАНА
+ПОПОВИЋ МИРЈАНА
+ПОПОВИЋ МИРЈАНА
+ПОПОВИЋ МИРКО
+ПОПОВИЋ МИРКО
+ПОПОВИЋ МИРКО
+ПОПОВИЋ МИРКО
+ПОПОВИЋ МИРКО
+ПОПОВИЋ МИРОЉУБ
+ПОПОВИЋ МИРОСЛАВ
+ПОПОВИЋ МИРОСЛАВ
+ПОПОВИЋ МИРОСЛАВ
+ПОПОВИЋ МИРОСЛАВ
+ПОПОВИЋ МИТАР
+ПОПОВИЋ МИТАР
+ПОПОВИЋ МЛАДЕН
+ПОПОВИЋ МЛАДИНКО
+ПОПОВИЋ МОМЧИЛО
+ПОПОВИЋ МОМЧИЛО
+ПОПОВИЋ МОМЧИЛО
+ПОПОВИЋ НАДА
+ПОПОВИЋ НАДА
+ПОПОВИЋ НАДА
+ПОПОВИЋ НАДА
+ПОПОВИЋ НАДА
+ПОПОВИЋ НАДЕЖДА
+ПОПОВИЋ НАДЕЖДА
+ПОПОВИЋ НАДЕЖДА
+ПОПОВИЋ НАТАЛИЈА
+ПОПОВИЋ НЕЂО
+ПОПОВИЋ НЕБОЈША
+ПОПОВИЋ НЕДЕЉКО
+ПОПОВИЋ НЕДЕЉКО
+ПОПОВИЋ НЕНАД
+ПОПОВИЋ НЕНАД
+ПОПОВИЋ НИКОЛА
+ПОПОВИЋ НИКОЛА
+ПОПОВИЋ НИКОЛА
+ПОПОВИЋ НИКОЛА
+ПОПОВИЋ НИКОЛА
+ПОПОВИЋ НИКОЛА
+ПОПОВИЋ НОВАК
+ПОПОВИЋ НОВАК
+ПОПОВИЋ ОБРАД
+ПОПОВИЋ ОБРАД
+ПОПОВИЋ ОЛГА
+ПОПОВИЋ ОЛГА
+ПОПОВИЋ ОЛГА
+ПОПОВИЋ ПАЈА
+ПОПОВИЋ ПАВЛЕ ДИПЛ ПРАВНИК
+ПОПОВИЋ ПАВЛЕ
+ПОПОВИЋ ПАВЛЕ
+ПОПОВИЋ ПАВЛЕ
+ПОПОВИЋ ПЕРА
+ПОПОВИЋ ПЕРИЦА
+ПОПОВИЋ ПЕРО
+ПОПОВИЋ ПЕТАР
+ПОПОВИЋ ПЕТАР
+ПОПОВИЋ ПЕТАР
+ПОПОВИЋ ПЕТАР
+ПОПОВИЋ ПЕТАР
+ПОПОВИЋ ПЕТАР
+ПОПОВИЋ ПЕТАР
+ПОПОВИЋ ПЕТАР
+ПОПОВИЋ РАДА
+ПОПОВИЋ РАДЕНКО
+ПОПОВИЋ РАДЕ
+ПОПОВИЋ РАДЕ
+ПОПОВИЋ РАДЕ
+ПОПОВИЋ РАДИНКА
+ПОПОВИЋ РАДИВОЈЕ
+ПОПОВИЋ РАДИВОЈ
+ПОПОВИЋ РАДИВОЈ
+ПОПОВИЋ РАДМИЛА
+ПОПОВИЋ РАДМИЛА
+ПОПОВИЋ РАДОИЦА
+ПОПОВИЋ РАДОИЦА
+ПОПОВИЋ РАДОЈИЦА
+ПОПОВИЋ РАДОЈКА
+ПОПОВИЋ РАДОЈКА
+ПОПОВИЋ РАДОМИР
+ПОПОВИЋ РАДОСАВ
+ПОПОВИЋ РАДОСАВ
+ПОПОВИЋ РАДОСЛАВ
+ПОПОВИЋ РАДОВАНКА
+ПОПОВИЋ РАДОВАНКА
+ПОПОВИЋ РАДОВАН
+ПОПОВИЋ РАДУЛ
+ПОПОВИЋ РАЈКО
+ПОПОВИЋ РАНКО
+ПОПОВИЋ РАТКО
+ПОПОВИЋ РАВИЈОЈЛА
+ПОПОВИЋ РЕЉА ДР
+ПОПОВИЋ РОДОЉУБ
+ПОПОВИЋ САЊА
+ПОПОВИЋ САВА ДИПЛ ИНГ
+ПОПОВИЋ САВА ДИПЛ ИНГ
+ПОПОВИЋ САВА
+ПОПОВИЋ САВА
+ПОПОВИЋ САВА
+ПОПОВИЋ САВО
+ПОПОВИЋ СЕКУЛА
+ПОПОВИЋ СИНИША ДР ЛЕКАР
+ПОПОВИЋ СЛАВИЦА
+ПОПОВИЋ СЛАВКО ДИПЛ ОЕЦ
+ПОПОВИЋ СЛАВКО
+ПОПОВИЋ СЛАВКО
+ПОПОВИЋ СЛАВКО
+ПОПОВИЋ СЛАВОЉУБ
+ПОПОВИЋ СЛАВОЉУБ
+ПОПОВИЋ СЛОБОДАН
+ПОПОВИЋ СЛОБОДАН
+ПОПОВИЋ СЛОБОДАН
+ПОПОВИЋ СЛОБОДАН
+ПОПОВИЋ СМИЉАНА
+ПОПОВИЋ СОФИЈА
+ПОПОВИЋ СОФИЈА
+ПОПОВИЋ СОФИЈА
+ПОПОВИЋ СОФИЈА
+ПОПОВИЋ СОФИЈА
+ПОПОВИЋ СОЊА
+ПОПОВИЋ СПАСОЈЕ
+ПОПОВИЋ СТАНИМИР
+ПОПОВИЋ СТАНИМИР
+ПОПОВИЋ СТАНКО
+ПОПОВИЋ СТАНКО
+ПОПОВИЋ СТАНКО
+ПОПОВИЋ СТЕВАН ДР
+ПОПОВИЋ СТЕВАН
+ПОПОВИЋ СТЕВАН
+ПОПОВИЋ СТЕВАН
+ПОПОВИЋ СТЕВКА
+ПОПОВИЋ СТЕВО
+ПОПОВИЋ СТОЈАН
+ПОПОВИЋ СВЕТИСЛАВ
+ПОПОВИЋ СВЕТЛАНА
+ПОПОВИЋ СВЕТОЗАР
+ПОПОВИЋ ТЕОДОР
+ПОПОВИЋ ТЕРЕЗА
+ПОПОВИЋ ТОДОР
+ПОПОВИЋ ТОМИСЛАВ
+ПОПОВИЋ ТОМО
+ПОПОВИЋ УГЉЕША
+ПОПОВИЋ ВАСИЛИЈЕ
+ПОПОВИЋ ВАСИЛИЈЕ
+ПОПОВИЋ ВЕЛИМИР
+ПОПОВИЋ ВЕЛИЗАР
+ПОПОВИЋ ВЕЉКО
+ПОПОВИЋ ВЕРА
+ПОПОВИЋ ВЕРА
+ПОПОВИЋ ВЕРА
+ПОПОВИЋ ВЕРА
+ПОПОВИЋ ВЕРА
+ПОПОВИЋ ВЕРИЦА
+ПОПОВИЋ ВЕСЕЛИН
+ПОПОВИЋ ВИДОЈЕ
+ПОПОВИЋ ВИДОСАВА
+ПОПОВИЋ ВИКТОРИЈА
+ПОПОВИЋ ВЛАДАН
+ПОПОВИЋ ВЛАДИМИР ДР
+ПОПОВИЋ ВЛАДИМИР
+ПОПОВИЋ ВЛАДИМИР
+ПОПОВИЋ ВЛАДИМИР
+ПОПОВИЋ ВЛАДИМИР
+ПОПОВИЋ ВЛАДИСЛАВ
+ПОПОВИЋ ВЛАДО
+ПОПОВИЋ ВОЈИН
+ПОПОВИЋ ВОЈИН
+ПОПОВИЋ ВОЈИСЛАВ
+ПОПОВИЋ ВУЧИНА
+ПОПОВИЋ ВУЧКО
+ПОПОВИЋ ВУЈАДИН
+ПОПОВИЋ ВУКАДИН
+ПОПОВИЋ ВУКАДИН
+ПОПОВИЋ ВУКОСАВА
+ПОПОВИЋ ЗДЕНКО
+ПОПОВИЋ ЗДРАВКА
+ПОПОВИЋ ЗЛАТОЈА
+ПОПОВИЋ ЗОРАН
+ПОПОВИЋ ЗОРАН
+ПОПОВИЋ ЗОРАН
+ПОПОВИЋ ЗОРАН
+ПОПОВИЋ ЗОРАН
+ПОПОВИЋ ЗОРАН
+ПОПОВИЋ ЗОРКА
+ПОПОВИЋ ЗУЗАНА
+ПОПОВИЋ ЗВОНИМИР
+ПОПОВИЦКИ ЖАРКО
+ПОПОВИЦКИ БОРИСЛАВ
+ПОПОВИЦКИ ЈОВАНКА
+ПОПОВИЦКИ ЉУБОМИР
+ПОПОВИЦКИ МИЛЕНКО
+ПОПОВИЦКИ МИЛЕНКО
+ПОПОВИЦКИ МИЛИЦА
+ПОПОВИЦКИ МИЛОШ
+ПОПОВИЦКИ ПЕТАР
+ПОПОВИЦКИ РАДОМИР
+ПОПОВИЦКИ РАДОМИР
+ПОПОВИЦКИ САЛОМА
+ПОПОВИЦКИ СВЕТИСЛАВ
+ПОПОВИЦКИ ТАТЈАНА
+ПОПОВИЦКИ ТЕОДОР
+ПОПОВИЦКИ ВЛАДИСЛАВ
+ПОПОВИЦКИ ЗОРАН
+ПОПОВСКИ РАДОЈКА
+ПОПОВСКИ ВЕНКО
+ПОПРЖАН МИЛАН
+ПОПРЖАН НИКОЛА
+ПОПРЖАН ВАЛЕНТИНА
+ПОПРЖЕН БОРИВОЈ
+ПОПСАВИН ДУШАН
+ПОПСАВИН ВЕЛИМИР
+ПОПТЕШИН ЂОРЂЕ
+ПОПТЕШИН ЛАЗАР ДИПЛ ПРАВНИК
+ПОПТЕШИН МИЛАДИНКА
+ПОПТЕШИН СТЕВАН
+ПОРЧА ЉИЉАНА
+ПОРЧА РАМИЗ
+ПОРОШИН ДРАГИЊА
+ПОРОШИН ГЕОРГИЈЕ ДР ЛЕКАР
+ПОРОБИЋ МИЛАН
+ПОРОБИЋ МИРОСЛАВ
+ПОРОБИЋ МИРОСЛАВ
+ПОРОБИЋ НИЈАЗ
+ПОРОБИЋ НИКОЛА
+ПОРОБИЋ СЛОБОДАН
+ПОРОПАТ БОШКО
+ПОРОПАТИЋ ЗОРА
+ПОСАВАЦ ВЈЕКОСЛАВ
+ПОСЛАН ИВАН
+ПОСТОЛОВИЋ СТАНИМИР
+ПОТ ФРАЊА
+ПОТ ЈОСИП
+ПОТ МИРКО ДИПЛ ИНГ
+ПОТАИ ЛАДИСЛАВ
+ПОТХ ЉУДЕВИТ
+ПОТИЋ МАРИЈЕЛА
+ПОТИЋ РАДИВОЈЕ
+ПОТИЋ РАДОМИР
+ПОТКОЊАК ЈОВАН
+ПОТКОЊАК МАРА
+ПОТКОЊАК НИКОЛА
+ПОТКОЊАК ПЕТАР
+ПОТКОЊАК СОФИЈА
+ПОТКОЊАК СТАНКО
+ПОТКОЊАК СТЕВО
+ПОТКОЊАК ВЛАДО
+ПОТКОЗАРАЦ ЈУЛИЈАНА
+ПОТНЕР ТЕРЕЗИЈА
+ПОТОКОВИЋ АБДУЛАХ
+ПОТОКОВИЋ СМАЈО
+ПОТПАРИЋ ЈЕЛИЦА
+ПОТРАН МИША
+ПОТРЕБИЋ ЂУРО
+ПОТРЕБИЋ ДОБРИЛА
+ПОТРЕБИЋ ДРАГИЦА
+ПОТРЕБИЋ МИЛЕ
+ПОТРЕБИЋ МИЛЕ
+ПОТРЕБИЋ МИЛИЦА
+ПОТРЕБИЋ НИКОЛА
+ПОТРЕБИЋ РАДЕ
+ПОТРЕБИЋ СЛАВКО
+ПОТРЕБИЋ СОФИЈА
+ПОТУРИЋ СТЕВА
+ПОУЧКИ РАДИСЛАВ
+ПОВА МИРОСЛАВА
+ПОВАЖАН АНДРИЈА
+ПОВАЖАН МАРИЈА
+ПОВАЗАИ ИШТВАН
+ПОВАЗАИ ТИБОР
+ПОВИЋ МИЛАН
+ПОВРЖАН СИМО
+ПОЗДАН ЂУРО
+ПОЗДЕР ВЕРОНА
+ПОЗДЕРЕЦ ФРАНЦ
+ПОЗНАНОВИЋ ДЕЈАН
+ПОЗНАНОВИЋ ЈЕЛЕНА
+ПОЗНАНОВИЋ ЉУБОМИР
+ПОЗНАНОВИЋ МИЛАН
+ПОЗНАНОВИЋ МИЛАН
+ПОЗНАНОВИЋ МИЛЕНКО
+ПОЗНАНОВИЋ ОБРАД
+ПОЗНАНОВИЋ РАДИВОЈЕ
+ПОЗНИЋ ЂУРО
+ПОЗНИЋ ЈОВО
+ПОЗНИЋ МИРА
+ПОЗНИЋ НИКОЛА
+ПОЗОЈЕВИЋ КЛАРА
+ПОЗОЈЕВИЋ СТЕВАН
+ПРЧИЋ ЈЕЛИСАВЕТА
+ПРЧИЋ СТЈЕПАН
+ПРЧИЋ ТИХОМИР
+ПРЧИЋ ВЛАДИМИР
+ПРША МИРОСЛАВ МР
+ПРША ВЕРА
+ПРЋИЋ ИВАН
+ПРЖАР НАДА
+ПРЖЕВАЉСКИ НИКОЛА
+ПРЖНИЦА МИЛАНА
+ПРЖНИЦА ЗЛАТКО
+ПРАШЧЕВИЋ АНТОНИЈА
+ПРАШЧЕВИЋ ЗОРИЦА
+ПРАШТАЛО МИЛУТИН
+ПРАШТАЛО ПЕТАР
+ПРАЖИЋ БИЉАНА
+ПРАЖИЋ БРАНКО
+ПРАЦНЕР ЈОСИП
+ПРАЦНЕР РУЖИЦА
+ПРАЛИЦА ЉУБОМИР
+ПРАЛИЦА НЕДЕЉКО
+ПРАЛИЦА СТЕВАН
+ПРАЛИЦА СТЕВАН
+ПРАМЕНКО МИРОСЛАВ
+ПРАМЕНКО НЕДЕЉКО
+ПРАМЕНКО РИСТО
+ПРАМЕНКО СРЕТО
+ПРАНИЋ КАТИЦА
+ПРАНИЋ МИРКО
+ПРАНИЋ ПЕТАР
+ПРАНИЋ ТОФИЛ
+ПРАЊИЋ ЗЛАТКО
+ПРАЊКИЋ МАРКО
+ПРАНКИЋ МИЛЕ
+ПРАВДА БОРБАЛА
+ПРАВДА ЛАДИСЛАВ
+ПРАВДА ЛАЈОШ
+ПРАВИЦА ЕВИЦА
+ПРАВИЦА ЉУБОМИР
+ПРДИЋ НЕДЕЉКО
+ПРЕЧАНИЦА БОЖО
+ПРЕШЕРН ЈУЛИЈАНА
+ПРЕШОВА МИРЈАНА
+ПРЕБЕГ ДРАГАН
+ПРЕБИРЧЕВИЋ НЕВЕНА
+ПРЕБИРАЧЕВИЋ КРИСТИНА
+ПРЕБИРАЧЕВИЋ ЛАЗО
+ПРЕДА АУРЕЛ
+ПРЕДИЋ МИХАЈЛО
+ПРЕДИЋ РАДОМИР
+ПРЕДОЈЕВИЋ ЖЕЉКО
+ПРЕДОЈЕВИЋ АНКА
+ПРЕДОЈЕВИЋ БОЖО
+ПРЕДОЈЕВИЋ БОЖО
+ПРЕДОЈЕВИЋ БОРИСЛАВ
+ПРЕДОЈЕВИЋ ДАНИЦА
+ПРЕДОЈЕВИЋ ДРАГИЦА
+ПРЕДОЈЕВИЋ ЉУБОМИР
+ПРЕДОЈЕВИЋ ЛУКА
+ПРЕДОЈЕВИЋ МИЛАН
+ПРЕДОЈЕВИЋ МИЛЕ
+ПРЕДОЈЕВИЋ МИЛИЦА
+ПРЕДОЈЕВИЋ МИЛОРАД
+ПРЕДОЈЕВИЋ МИЛОВАН
+ПРЕДОЈЕВИЋ МИРКО
+ПРЕДОЈЕВИЋ НЕНАД
+ПРЕДОЈЕВИЋ ПАВЛЕ
+ПРЕДОЈЕВИЋ ПРЕДРАГ
+ПРЕДОЈЕВИЋ РАДОСЛАВА
+ПРЕДОЈЕВИЋ СИМА
+ПРЕДОЈЕВИЋ СИМО
+ПРЕДОЈЕВИЋ СТОЈАН
+ПРЕДОЈЕВИЋ ТРИВО
+ПРЕДОЈЕВИЋ ЗОРА
+ПРЕДОЛАЦ ДРАГОМИР
+ПРЕДОВИЋ ДУШАН
+ПРЕДРАШКИ ДРАГОЉУБ
+ПРЕДРАГОВИЋ БОРА
+ПРЕДРАГОВИЋ ДЕСИМИР
+ПРЕДРАГОВИЋ МАРИЈА
+ПРЕДРАГОВИЋ НОВАК
+ПРЕДРАГОВИЋ ВЕСЕЛКО
+ПРЕДРАГОВИЋ ВЕСНА
+ПРЕДРАГОВИЋ ЗВЕЗДАН ДИПЛ ИНГ
+ПРЕГУН ЂУРА
+ПРЕГУН НИКОЛА
+ПРЕГУН ПЕТАР
+ПРЕГУН СТЕВАН
+ПРЕГУН ЗОРА
+ПРЕКАЈАЦ ЖИВОЈИН
+ПРЕКАЈАЦ СЛАВКО
+ПРЕКАЈСКИ БРАНКО
+ПРЕКАЈСКИ МИРЈАН
+ПРЕКИЋ АНЂЕЛКА
+ПРЕКОДРАВАЦ НЕВЕНКА
+ПРЕКОГАЧИЋ ЂОРЂЕ
+ПРЕКОГАЧИЋ ДАНИЦА
+ПРЕКОГАЧИЋ ИЛИЈА
+ПРЕКОГАЧИЋ ВЕРА
+ПРЕКОП ЈОЖЕФ
+ПРЕКОП РАДОЈКА
+ПРЕКПАЉАЈ БИБА
+ПРЕКПАЉАЈ КОЉА
+ПРЕКПАЉАЈ МАРТИН
+ПРЕКПАЉАЈ ПЈЕТЕР
+ПРЕЛ МАРИЈА
+ПРЕЛЕВИЋ БОРИСЛАВ
+ПРЕЛЕВИЋ МАРКО
+ПРЕЛЕВИЋ МИЛАН
+ПРЕЛЕВИЋ МИЛОШ
+ПРЕЛЕВИЋ РАДОМИР
+ПРЕЛЕВИЋ СЕНКА
+ПРЕЛЕВИЋ ВАСИЛИЈЕ
+ПРЕЛИЋ МИЛОЈКА
+ПРЕЛИЋ ВАСА
+ПРЕЛИЋ ЗАГОРКА
+ПРЕМИЋ ПЕТАР
+ПРЕМИЋ ВАСА
+ПРЕМОВИЋ ДАНИЦА
+ПРЕМОВИЋ РАДОМИР
+ПРЕМОВИЋ ТОМИСЛАВ
+ПРЕМУШ ФРАЊА
+ПРЕМУЖИЋ ДАМИР
+ПРЕМУЖИЋ МАТО
+ПРЕМУЖИЋ ВЛАДИМИР
+ПРЕНДОВИЋ ПАЉУШ
+ПРЕНТОВИЋ ДРАГАН
+ПРЕНТОВИЋ ДРАГАН
+ПРЕНТОВИЋ МИЛАН
+ПРЕНТОВИЋ ПАВЛЕ
+ПРЕНТОВИЋ ПЕТАР
+ПРЕНТОВИЋ РИСТО
+ПРЕНТОВИЋ ВАСО
+ПРЕРАД ДОБРИЛА
+ПРЕРАДОВ ДИНКА
+ПРЕРАДОВ ДРАГИЦА
+ПРЕРАДОВ ДУБРАВКА
+ПРЕРАДОВ ГАВРА
+ПРЕРАДОВ ЛАЗАР
+ПРЕРАДОВ ЛЕПОСАВА
+ПРЕРАДОВ МАРИЈА
+ПРЕРАДОВ МИРЈАНА
+ПРЕРАДОВ МИРЈАНА
+ПРЕРАДОВ НЕДЕЉКО
+ПРЕРАДОВ ПЕТАР
+ПРЕРАДОВ САВА
+ПРЕРАДОВ ВЕЛИЗАР
+ПРЕРАДОВ ВЛАДИМИР
+ПРЕРАДОВИЋ АНА
+ПРЕРАДОВИЋ БОЈА
+ПРЕРАДОВИЋ МИЛЕНКО
+ПРЕРАДОВИЋ МЛАДЕН
+ПРЕРАДОВИЋ НЕДЕЉКО
+ПРЕРАДОВИЋ НЕДЕЉКО
+ПРЕСЕЧКОВИЋ ВЕСНА
+ПРЕТМЕРСКИ ЈОВАН
+ПРЕТМЕРСКИ СТЕВАН
+ПРЕВЕДЕН ЛЕО
+ПРГОМЕЉА НИКОЛА
+ПРИШИЋ КАТИЦА
+ПРИШИЋ ЛАЗАР
+ПРИШИЋ ЛИДИЈА
+ПРИШИЋ МИЛОШ
+ПРИШИЋ МИТА
+ПРИШИЋ НАТАЛИЈА
+ПРИШИЋ СТЕВАН
+ПРИБАКОВИЋ КСЕНИЈА
+ПРИБАКОВИЋ МИЛАНА
+ПРИБАКОВИЋ НИКОЛА
+ПРИБАНОВИЋ ТОМИСЛАВ
+ПРИБИЧЕВИЋ АРСЕНИЈЕ
+ПРИБИЧЕВИЋ САВКА
+ПРИБИЧЕВИЋ СВЕТОЗАР ДР ИНГ
+ПРИБИШ СТЕВАН
+ПРИБИШЕВ МИРЈАНА
+ПРИБИШИЋ ЉУБО
+ПРИБИШИЋ МИРОСЛАВ
+ПРИБИШИЋ РИСТИЊА
+ПРИБИШИЋ САВО
+ПРИБИЋ АРСЕНИЈЕ
+ПРИБИЋ ДАНИЛО
+ПРИБИЋ ДИМИТРИЈЕ
+ПРИБИЋ МАРИЈА
+ПРИБИЋ МИЛОЈЕ
+ПРИБИЋ САВА
+ПРИБИЋЕВИЋ ЈОВО
+ПРИБИЋЕВИЋ ОЛГА
+ПРИБИЋЕВИЋ ТАТЈАНА
+ПРИБИЛОВИЋ БРАНКИЦА
+ПРИЦА ЖИВКО
+ПРИЦА АЛЕКСАНДАР
+ПРИЦА БОРИВОЈ
+ПРИЦА БОСИЉКА
+ПРИЦА ДАНИЛО
+ПРИЦА ДУШАН
+ПРИЦА ИСО
+ПРИЦА ЈОВАНКА
+ПРИЦА МАРКО
+ПРИЦА МИЛЕ
+ПРИЦА МЛАДЕН
+ПРИЦА ПЕТАР
+ПРИЦА СОФИЈА
+ПРИЈЕВИЋ ЂОРЂЕ
+ПРИЈЕВИЋ МИЛАН
+ПРИЈИЋ МИЛАН
+ПРИЈИЋ МИРСАД
+ПРИЈОВИЋ БОГДАН
+ПРИЈОВИЋ ДРАГАН
+ПРИЈОВИЋ СТАНИША
+ПРИКЕЛ ПЕТАР
+ПРИКИДАНОВИЧ ЛАСЛО
+ПРИКИДАНОВИЋ АНА
+ПРИЉЕВА БОРИСЛАВ
+ПРИМОРАЦ НИКОЛА
+ПРИМОВИЋ БЛАГОЈЕ
+ПРИМОВИЋ ДЕЈАН
+ПРИМОВИЋ ДОБРИЦА
+ПРИМОВИЋ ГОРДАНА
+ПРИМОВИЋ КОВИНКА
+ПРИМОВИЋ МИЛАН
+ПРИМОВИЋ СТОЈАН
+ПРИНЦИП ЈОЗО
+ПРИСЕЛАЦ БОРИС
+ПРИСЕЛАЦ БРАНКО
+ПРИСЕЛАЦ ЗДРАВКО
+ПРИСЛАН ЗВОНИМИР
+ПРИСТАИ ЛАДИСЛАВ
+ПРИВРОДСКИ БОРИС ДР
+ПРИВРОДСКИ КОНСТАНТИН
+ПРКУШИЋ АНИЦА
+ПРКУШИЋ СЛАВКО
+ПРЛЕВИЋ СТОЈАН
+ПРЛИНАЦ ВЕЉКО
+ПРЉЕВИЋ НАДА
+ПРОЧИКЕВИЋ АНКА
+ПРОШИЋ БОГДАН
+ПРОШИЋ ЈОВАН
+ПРОШИЋ НЕЂО
+ПРОШИЋ НЕЂО
+ПРОШИЋ НЕБОЈША
+ПРОШИЋ НИКОЛА
+ПРОШИЋ ПЕТАР
+ПРОШИЋ СМИЉА
+ПРОБОЈЧЕВИЋ АНТУН
+ПРОБОЈЧЕВИЋ ЕРНЕСТ
+ПРОБОЈЧЕВИЋ МАРИЈА
+ПРОБОЈЧИЋ БРАНИСЛАВА
+ПРОДАНА КРСТАН
+ПРОДАНИЋ БОРИСЛАВ
+ПРОДАНИЋ МИЛАН
+ПРОДАНОВ АНЂЕЛКА
+ПРОДАНОВ БЛАГОЈА
+ПРОДАНОВ БОРА
+ПРОДАНОВ ДАНИЛО
+ПРОДАНОВ ДРАГОЉУБ
+ПРОДАНОВ ДРАГОЉУБ
+ПРОДАНОВ ДРАГОСЛАВ
+ПРОДАНОВ ДУШАН
+ПРОДАНОВ ГОРИЦА
+ПРОДАНОВ ИЛИЈА
+ПРОДАНОВ ЈОВАН
+ПРОДАНОВ ЈУСТИНА
+ПРОДАНОВ МИЛАН
+ПРОДАНОВ МИЛЕНА
+ПРОДАНОВ МИЛЕНКО
+ПРОДАНОВ МИОДРАГ
+ПРОДАНОВ МЛАДЕН
+ПРОДАНОВ НЕДЕЉКО
+ПРОДАНОВ РАДОСЛАВ
+ПРОДАНОВ САВА
+ПРОДАНОВ СЛАВКА ДР
+ПРОДАНОВ ЗУЗАНА
+ПРОДАНОВИЋ ШПИРО
+ПРОДАНОВИЋ ЖАРКО
+ПРОДАНОВИЋ ЖЕЉКО
+ПРОДАНОВИЋ ЖИВАН
+ПРОДАНОВИЋ ЖИВКА
+ПРОДАНОВИЋ ЖИВКО
+ПРОДАНОВИЋ ЂОКА
+ПРОДАНОВИЋ ЂОРЂЕ
+ПРОДАНОВИЋ ЂОРЂЕ
+ПРОДАНОВИЋ ЂОРЂЕ
+ПРОДАНОВИЋ ЂУРО
+ПРОДАНОВИЋ АЛЕКСАНДАР
+ПРОДАНОВИЋ АНЂЕЛКО
+ПРОДАНОВИЋ БИЉАНА
+ПРОДАНОВИЋ БОРИСЛАВ
+ПРОДАНОВИЋ БОСИЉКА
+ПРОДАНОВИЋ БРАНИМИР
+ПРОДАНОВИЋ ДАМЈАН
+ПРОДАНОВИЋ ДАНИЦА
+ПРОДАНОВИЋ ДАНИЦА
+ПРОДАНОВИЋ ДАНИЛКА
+ПРОДАНОВИЋ ДРАГАН
+ПРОДАНОВИЋ ДРАГАН
+ПРОДАНОВИЋ ДРАГАН
+ПРОДАНОВИЋ ДУШАНКА
+ПРОДАНОВИЋ ДУШАН
+ПРОДАНОВИЋ ДУШАН
+ПРОДАНОВИЋ ДУШИЦА
+ПРОДАНОВИЋ ГАВРА
+ПРОДАНОВИЋ ЈОВАНКА
+ПРОДАНОВИЋ ЈОВАН
+ПРОДАНОВИЋ ЈОВАН
+ПРОДАНОВИЋ ЈОВАН
+ПРОДАНОВИЋ ЈОВАН
+ПРОДАНОВИЋ ЈОВАН
+ПРОДАНОВИЋ ЈОВАН
+ПРОДАНОВИЋ КОСТА
+ПРОДАНОВИЋ КОСТА
+ПРОДАНОВИЋ ЛАЗАР ДИПЛ ИНГ
+ПРОДАНОВИЋ ЉУБИЦА
+ПРОДАНОВИЋ ЉУБИНКА
+ПРОДАНОВИЋ ЉУБОЈА
+ПРОДАНОВИЋ ЉУБОМИР
+ПРОДАНОВИЋ МАРТА
+ПРОДАНОВИЋ МИЛАН
+ПРОДАНОВИЋ МИЛАН
+ПРОДАНОВИЋ МИЛАН
+ПРОДАНОВИЋ МИЛАН
+ПРОДАНОВИЋ МИЛИЦА
+ПРОДАНОВИЋ МИЉКО
+ПРОДАНОВИЋ МИЛОРАД
+ПРОДАНОВИЋ МИЛОВАН
+ПРОДАНОВИЋ МИОДРАГ
+ПРОДАНОВИЋ МИОДРАГ
+ПРОДАНОВИЋ МИРА
+ПРОДАНОВИЋ МИРЈАНА
+ПРОДАНОВИЋ МИРОСЛАВ
+ПРОДАНОВИЋ МЛАДЕН
+ПРОДАНОВИЋ НИКОЛА
+ПРОДАНОВИЋ-ПАЊКОВИЋ ЂУРЂИНКА
+ПРОДАНОВИЋ ПАВА
+ПРОДАНОВИЋ ПАВЛЕ
+ПРОДАНОВИЋ ПЕТАР
+ПРОДАНОВИЋ ПЕТАР
+ПРОДАНОВИЋ ПЕТАР
+ПРОДАНОВИЋ РАДИСАВ
+ПРОДАНОВИЋ РАДОСЛАВ
+ПРОДАНОВИЋ РАТКО
+ПРОДАНОВИЋ РОДОЉУБ
+ПРОДАНОВИЋ САВА
+ПРОДАНОВИЋ СИНИША
+ПРОДАНОВИЋ СИНИША
+ПРОДАНОВИЋ СЛАВКО
+ПРОДАНОВИЋ СЛОБОДАН
+ПРОДАНОВИЋ СЛОБОДАН
+ПРОДАНОВИЋ СТАНА
+ПРОДАНОВИЋ ТАНАСИЈЕ
+ПРОДАНОВИЋ ВАСА
+ПРОДАНОВИЋ ВАСА
+ПРОДАНОВИЋ ВЕЛИНКА
+ПРОДАНОВИЋ ВЕЉКО
+ПРОДАНОВИЋ ВЕРА ДР
+ПРОДАНОВИЋ ВИДОСАВА
+ПРОДАНОВИЋ ВЛАДИМИР
+ПРОДАНОВИЋ ЗАГОРКА
+ПРОДАНОВИЋ ЗАГОРКА
+ПРОДАНОВИЋ ЗОРАН
+ПРОДИЋ ДАНИЦА
+ПРОДИЋ ВИДА
+ПРОДИЋ ВИТОМИР
+ПРОДИЋ ВИТОМИР
+ПРОФОНТАРОВИЋ РОЗАЛИЈА
+ПРОХАСКА МИЛЕНКО
+ПРОХАСКА НИКОЛА
+ПРОХАСКА СТЕВАН
+ПРОХАСКА ВЕРА
+ПРОЈКОВСКИ ДЕСПА
+ПРОКЕШ БЕЛА
+ПРОКЕШ ЛАДИСЛАВ
+ПРОКИЋ ЂОРЂЕ
+ПРОКИЋ ГОРАН
+ПРОКИЋ МИЛАН
+ПРОКИЋ МИРА
+ПРОКИЋ РУЖИЦА
+ПРОКИЋ СТЕВАН
+ПРОКИЋ СТЕВАН
+ПРОКИЋ ЗОРАН
+ПРОКИЋ ЗОРАН
+ПРОКИН АНЂЕЛКА
+ПРОКИН БРАНИСЛАВ
+ПРОКИН КСЕНИЈА
+ПРОКИН ЛАЗАР
+ПРОКИН МАРКО
+ПРОКИН МИРА
+ПРОКИН РАДИВОЈ
+ПРОКИН РУЖИЦА
+ПРОКИН СТЕВАН
+ПРОКИН СТЕВАН
+ПРОКИН ЗЛАТИНКА
+ПРОКИН ЗОРА
+ПРОКОПЕЦ ДУШАН
+ПРОКОПЕЦ ХЕЛЕНА
+ПРОКОПЕЦ ЈЕЛИСАВЕТА
+ПРОКОПЕЦ СТЕВАН
+ПРОКОПИЋ ЧЕДО
+ПРОКОПИЋ МИХАЈИЛО
+ПРОКОПИЋ СТОЈАН
+ПРОЛЕ ЦВИЈО
+ПРОЛЕ ЈАГОДА
+ПРОЛЕ МЕЛАНИЈА
+ПРОЛЕ МИЛЕНКО
+ПРОЛЕ МИЛИЈАНА
+ПРОЛЕ МИЛОШ
+ПРОЛЕ МИРКО
+ПРОЛЕ МИРОСЛАВ
+ПРОЛЕ МИТАР
+ПРОЛЕ МИТАР
+ПРОЛЕ МЛАДЕН
+ПРОЛЕ РАДОВАН
+ПРОЛЕ РИСТА
+ПРОЛЕ СТАНИСЛАВ
+ПРОЛЕ СТАНКО
+ПРОЛЕ УГЉЕША
+ПРОЛЕ ВЕЉКО
+ПРОЛЕ ВЕРОНА
+ПРОЛИЋ ДРАГИЦА
+ПРОЛИЋ МИЛОРАД
+ПРОЛИЋ ПЕРО
+ПРОЛИЋ ВИД
+ПРОСЕНИЦА МАРКО
+ПРОСЕНИЦА ВИДОСАВА
+ПРОСЕНИК ДУБРАВКО
+ПРОСЕНИК ЗВОНИМИР
+ПРОСТРАН ЧЕДОМИР
+ПРОСТРАН ПЕТАР
+ПРОТИЋ ЖАРКО
+ПРОТИЋ ЂОКА
+ПРОТИЋ ЂОРЂЕ
+ПРОТИЋ БОСИЉКА
+ПРОТИЋ БРАНИСЛАВ
+ПРОТИЋ ДРАГАН
+ПРОТИЋ ДУШАН
+ПРОТИЋ ИЛИЈА ДИПЛ ИНГ
+ПРОТИЋ ЈОСИМ
+ПРОТИЋ МАРИЈА
+ПРОТИЋ МИЛЕНА ДР СТОМАТОЛОГ
+ПРОТИЋ МИЛКА
+ПРОТИЋ-МИЛОШЕВИЋ СИМКА ПРОФ
+ПРОТИЋ МИЛОШ
+ПРОТИЋ МИЛОРАД
+ПРОТИЋ МИРЈАНА
+ПРОТИЋ МИТАР
+ПРОТИЋ НАДА
+ПРОТИЋ ОБРАД
+ПРОТИЋ ПРЕДРАГ
+ПРОТИЋ ПУНИША
+ПРОТИЋ РАДОМИР
+ПРОТИЋ САМУИЛО
+ПРОТИЋ СМИЉА
+ПРОТИЋ ВИДА
+ПРОТИЋ ВИТОМИР
+ПРОВЧИ АГАФИЈА
+ПРОВЧИ ЕВГЕНИЈЕ ДИПЛ ИНГ
+ПРОВЧИ ЈОВГЕН
+ПРОВЧИ ВЕРА
+ПРПА АНЂА
+ПРПА ГОСПА
+ПРПА ЛАЗАР
+ПРПА МАРГИТА
+ПРПА МИЛОВАН
+ПРПА ВЕЉКО
+ПРПА ЗАГОРКА
+ПРПИЋ АЛЕКСАНДАР
+ПРПИЋ АЛЕКСАНДАР
+ПРПИЋ АЛЕКСАНДАР
+ПРПИЋ МАРИЈАНА
+ПРПИЋ НИКОЛА
+ПРПИЋ РАДОВАН
+ПРСКАЛО БЛАГО
+ПРСТОЈЕВИЋ ГОРАН
+ПРСТОЈЕВИЋ ВОЈИСЛАВ
+ПРТИНА БРАНКО
+ПРУЖАРЕВ ТАТЈАНА
+ПРУДАН-ЂУРИШИЋ РАДОЈКА ДР
+ПРУГИЋ ЉУБОМИР
+ПРУГИЋ ВОЈИСЛАВ
+ПРУГИНИЋ ЉУБИЦА
+ПРУНИЋ ЈОВАН
+ПРУСИНА ДРАГО
+ПРУСИНА ИЛИЈА
+ПРУСИНА МАРГИТА
+ПРУСИНА МИЛАН
+ПРУСИНА ВЛАТКО
+ПРВАНОВ БРАНИСЛАВ
+ПРВАНОВ ДАРИНКА
+ПРВАНОВ ДИВНА
+ПРВАНОВ МИЛОШ
+ПРВАНОВ ВЛАДИМИР
+ПРВАНОВИЋ МИЛЕВА
+ПСОДАРОВ БРАНКО
+ПСОДОРОВ МАЈА
+ПСОДОРОВ СПАСОЈЕ
+ПСОДОРОВ ТАМАРА
+ПТИЧАР ЂУРА
+ПТИЧАР МИЛАН
+ПУШАЦ БРАНКО
+ПУШАЦ ЈЕЛЕНКО
+ПУШАЦ МИЛЕНА
+ПУШАЦ МИЛЕНА
+ПУШАРА ЂОРЂЕ
+ПУШАРА БОЖИДАР
+ПУШАРА ДУШАН
+ПУШАРА ЈЕЛЕНА
+ПУШАРА МИЛИВОЈ
+ПУШАРА МИРКО
+ПУШАРА МИРОСЛАВ
+ПУШАРА РАДМИЛА
+ПУШЕЉИЋ ЈЕЛЕНА
+ПУШЕЊАК МАРИЈА
+ПУШИЋ ДРАГОЉУБ
+ПУШИЋ ДУШАН
+ПУШИЋ ЕМИЛ
+ПУШИЋ ГОРАН
+ПУШИЋ ЈОВАН
+ПУШИЋ ЉУБИНКО
+ПУШИЋ МИЛЕНА
+ПУШИЋ МИЛИЦА
+ПУШИЋ МИЛИВОЈ
+ПУШИЋ МИЛОШ
+ПУШИЋ НИКОЛА
+ПУШИЋ ОБРАД
+ПУШИЋ ПАВЛЕ
+ПУШИЋ САВА
+ПУШИЋ САВА
+ПУШИЋ СОФИЈА
+ПУШИЋ СТЕВАН
+ПУШИЋ ВЕРИЦА
+ПУШИЋ ВЕРИЦА
+ПУШИЋ ЗАГОРКА
+ПУШИБРК ЦВЕТКО
+ПУШИБРК ВАСА
+ПУШИН МИРЈАНА
+ПУШИН МИРОСЛАВ
+ПУШИН МИРОСЛАВ
+ПУШИН ВЛАДА
+ПУШКАШ ЂУРА
+ПУШКАШ ЂУРА
+ПУШКАШ ЦИЛА
+ПУШКАШ ЈОЖЕФ
+ПУШКАШ ЈОАКИМ
+ПУШКАШ ЈУЛИЈАН
+ПУШКАШ МИХАЈЛО
+ПУШКАШ МИЛЕНА
+ПУШКАШ МИРОСЛАВ
+ПУШКАШ ОЛЕНА
+ПУШКАШ ОНУФРИЈЕ
+ПУШКАШ ПЕТАР
+ПУШКАШ РОЗАЛИЈА
+ПУШКАШ СТЕВАН
+ПУШКАШ ВЕРА
+ПУШКАШ ВЛАДИМИР
+ПУШКАШ ВЛАДИМИР
+ПУШКАР ЈОВИЦА
+ПУШКАР СТЕВА
+ПУШКАР ВОЈИСЛАВ
+ПУШКАРЕВИЋ ЈОВАНКА
+ПУШКАРЕВИЋ СВЕТИСЛАВ
+ПУШКАРИЋ АНА
+ПУШКАРИЋ ИВАН
+ПУШКАРИЋ ЈУРЕ
+ПУШКАРИЋ МАРИЈА
+ПУШКАРОВ ДАНИЛКА
+ПУШКАРОВ ДАНИЛКА
+ПУШКАРОВ МИЛАН
+ПУШКАРОВ ЗОРА
+ПУШКОВИЋ АНЂЕЛКО
+ПУШТРИЋ МИЛАН
+ПУШТРИЋ СПАСОЈЕ
+ПУЖ-ЕВИЋ ОЛГА
+ПУЖИЋ ВЕРА
+ПУЂА ЛЕПОСАВА
+ПУАЧ СВЕТИСЛАВ
+ПУАЧ СВЕТОЗАР
+ПУАЧА ВЕЉКО ДР
+ПУЦАР ЂУРО
+ПУЦАР ДУШАН
+ПУЦАР МИЛИЦА
+ПУЦАР СТЕВО
+ПУЦАР ВАСИЛИЈЕ
+ПУЦАР ВАСО
+ПУЦАР ЗДРАВКО
+ПУЦАРЕВИЋ ЖИВКО
+ПУЦАРЕВИЋ БОСИЉКА
+ПУЦАРЕВИЋ ГОЈКО
+ПУЦАРЕВИЋ ХИЛДА
+ПУЦАРЕВИЋ ЈЕЛА
+ПУЦАРЕВИЋ НОВАК
+ПУЦАРЕВИЋ СОФИЈА
+ПУЦОВСКИ ЂУРО
+ПУДАР ДАНИЛО
+ПУДАР ГОЈКО
+ПУДАР РАЈКО
+ПУДАР РАНКО
+ПУДАР РАНКО
+ПУДАР РАНКО
+ПУДАР РАТКО
+ПУДАР СЛОБОДАН
+ПУДАР СТЕВАН
+ПУДАР ЗДРАВКО
+ПУДИЋ ИЛИЈА
+ПУДИЋ ЈОЗА
+ПУДРЉА БРАНКО
+ПУГАР АНЂЕЛКА
+ПУХАЧА СТЕВО
+ПУХАЛАК БЕРТА
+ПУХАЛАК ЛАСЛО ДР ЛЕКАР
+ПУХАЛАК СТЕВАН
+ПУХАН ОСКАР
+ПУХАНИЋ ТЕРЕЗА
+ПУХАР ДУШАН
+ПУХАР ФРАНЦ
+ПУИЋ ЂОРЂЕ
+ПУИЋ РАДОСЛАВ
+ПУЈА ФЛОРИН
+ПУЈИЋ МИЛИВОЈ
+ПУЈИЋ МИЛОШ
+ПУЈИЋ НАДЕЖДА
+ПУЈИЋ ПЕРСИДА ДИПЛ ИНГ
+ПУЈИЋ САВА
+ПУЈИЋ СТЕВАН
+ПУЈИН ЛАЗА
+ПУЈИН РАДЕ
+ПУЈИН РАДИВОЈЕ
+ПУЈИН СТЕВАН
+ПУЈИН ВЛАСТА ДР
+ПУЛАИ ЛАЈОШ
+ПУЛЕТИЋ ЗДРАВКО
+ПУЛИЋ АНТОНИЈА
+ПУЛИЋ ОЛГА
+ПУЛИЋ РАДОЈКА
+ПУЛИСАК ФРАЊА
+ПУЛИСАК ИЛОНКА
+ПУЛИСАК ЈОВАН
+ПУЛИСАК МИХАЈЛО
+ПУЛИСАК НАДЕЖДА
+ПУЛИСАК НИКОЛА
+ПУЉИЗЕВИЋ АНТУН ДИПЛ ИНГ
+ПУНДОВ АНДРЕЈ
+ПУНГУЛ ЈОВИЦА
+ПУНГУЛ МИРА
+ПУПАВАЦ ЂОРЂЕ
+ПУПАВАЦ БРАНКО
+ПУПАВАЦ БРАНКО
+ПУПАВАЦ ФРАЊА
+ПУПАВАЦ МИЛАН
+ПУПАВАЦ ПЕТАР
+ПУПАВАЦ СТАКА
+ПУПАВАЦ СТЕВАН
+ПУПАВАЦ СТОЈАН
+ПУПАВАЦ ТОДОР
+ПУПАВАЦ ВЕСНА
+ПУПИЋ РАДМИЛА
+ПУПИН ЖИВАН
+ПУПОВАЦ ДМИТАР
+ПУПОВАЦ ДУШАН
+ПУПОВАЦ ЛУКА
+ПУПОВАЦ МИЛОШ
+ПУПОВАЦ МИЛОШ
+ПУПОВАЦ СВЕТЛАНА
+ПУПОВАЦ ТОДОР
+ПУПОВИЋ ЉУБОМИР
+ПУРАЋ ЖИВКО
+ПУРАЋ БРАНКО
+ПУРАЋ ЕРЖЕБЕТ
+ПУРАЋ ЈОВАН
+ПУРАЋ ЛАЗАР
+ПУРАЋ МАГДА
+ПУРАЋ МИЛАДИН
+ПУРАЋ МИЛАДИН
+ПУРАЋ МИЛЕНКО
+ПУРАЋ МИРОСЛАВ
+ПУРАЋ НАДА
+ПУРАЋ ОЛГА
+ПУРИШИЋ ЧЕДО
+ПУРИШИЋ СВЕТЛАНА
+ПУРИЋ БЛАНКА
+ПУРИЋ БОЖО
+ПУРИЋ ДИЈАНА
+ПУРИЋ ДРАГАН
+ПУРИЋ ДРАГИЦА
+ПУРИЋ МИЛАН
+ПУРИЋ СЛОБОДАН
+ПУРИЋ ЗОРА
+ПУРКОВ ВЕСЕЛИН
+ПУРКОВИЋ ЉИЉАНА
+ПУРТИЋ НИКОЛА
+ПУСТАИ ИМРЕ
+ПУСТАИ ЈЕНЕ
+ПУСТАЈИЋ БРАНКА
+ПУСТАЈИЋ РАДА
+ПУСТАЈИЋ ВУКИЦА
+ПУСТИ ЈОСИП
+ПУТАРИЋ ЈОВАН
+ПУТИЋ ЖИВАНА
+ПУТИЋ КАТИЦА
+ПУТИЋ ЛИВИЈА
+ПУТИЋ СЛОБОДАН
+ПУТИЋ СВЕТИСЛАВ
+ПУТИЋ ЗОРАН
+ПУТНИК АЛЕКСАНДАР
+ПУТНИК АЛЕКСАНДАР
+ПУТНИК БОРИСЛАВ
+ПУТНИК БРАНКО
+ПУТНИК ДАНИЛКА
+ПУТНИК ДИМИТРИЈЕ
+ПУТНИК ГЕРТРУДА
+ПУТНИК ГОРАН
+ПУТНИК ИВАН
+ПУТНИК ЈЕЛЕНА
+ПУТНИК КАТИЦА
+ПУТНИК КСЕНИЈА
+ПУТНИК ЉУБИЦА
+ПУТНИК МИЛАН
+ПУТНИК МИЛАН
+ПУТНИК МИЛЕНА
+ПУТНИК МИЛОРАД
+ПУТНИК НЕВЕНКА
+ПУТНИК ПАЈО
+ПУТНИК ПЕТАР
+ПУТНИК ПЕТАР
+ПУТНИК РАДЕ
+ПУТНИК РАДОМИР
+ПУТНИК РАДОВАН
+ПУТНИК СЛОБОДАН ДИПЛ ИНГ
+ПУТНИК СНЕЖАНА
+ПУТНИК СТЕФАНИЈА
+ПУТНИК СТЕВАН
+ПУТНИК СТЕВАН
+ПУТНИК-УРАЧ РЕНАТА
+ПУТНИК ВЛАДИМИР ДР
+ПУТНИК ВЛАДИМИР
+ПУТНИК ЗОРАН
+ПУТНИКОВИЋ ИВАН
+ПУТНИКОВИЋ МИЛЕНА
+ПУТНИКОВИЋ ПИРОШКА
+ПУВАЧА ЉИЉАНА
+ПУВАЛИЋ КАТИЦА
+ПУЗИЋ БИЉАНА
+ПУЗИЋ БОШКО
+ПУЗИЋ БОСА
+ПУЗИЋ ДРАГОМИР
+ПУЗИЋ САВА
+ПУЗИЋ ВЕЉКО
+ПУЗИГАЋА КРИСТИНА
+РАЧИЋ АРАНЂЕЛ
+РАЧИЋ ЛЕПОСАВА
+РАЧИЋ МИЛОШ
+РАЧИЋ МИРОСЛАВ
+РАЧИЋ НАДА
+РАЧИЋ РАНКО
+РАЧИЋ САША
+РАЧИЋ-САВИН ЗОРИЦА
+РАЧИЋ СТОЈАН
+РАЧИЋ ТОМИСЛАВ
+РАЧИЋ ВЕРА
+РАЧИЋ ЗДРАВКО
+РАШЧАНИН БРАНИСЛАВ
+РАШЧАНИН БРАНИСЛАВ
+РАШЧИЋ НЕХРУ
+РАША ДОЈНА
+РАШАЈСКИ ДУШАН
+РАШАЈСКИ ВЕРОСЛАВ
+РАШЕТА ДАНЕ
+РАШЕТА МИОДРАГ
+РАШЕТА МИРЈАНА
+РАШЕТА НИКОЛА
+РАШЕТА ПЕТАР
+РАШЕТА СТЕВА
+РАШЕТА ТОМА
+РАШЕТА ЗДРАВКО
+РАШЕВИЋ ЖАРКО
+РАШЕВИЋ ЖЕЉКО
+РАШЕВИЋ МИОДРАГ
+РАШИЋ БОЖИДАР ДР
+РАШИЋ ДИМИТРИЈЕ
+РАШИЋ ДУШИЦА
+РАШИЋ ИБОЈКА
+РАШИЋ ИГЊАТ
+РАШИЋ ИЛИЈА
+РАШИЋ-КОПЧОК НАДА
+РАШИЋ ЛАЗАР
+РАШИЋ МАНДА
+РАШИЋ МАРИЈА
+РАШИЋ НАДЕЖДА
+РАШИЋ НИКОЛА
+РАШИЋ ПАУН
+РАШИЋ ПЕТАР МР ИНГ
+РАШИЋ СМИЉА
+РАШИЋ СТОЈАН
+РАШИЋ УРОШ
+РАШИЋ ВЕСНА
+РАШИДИ ДОРОТЕЈА
+РАШИДИ СЛОБОДАНКА
+РАШИЈОВАН РАДМИЛА
+РАШИТИ БАЈРАМ
+РАШИТИ ХАВА
+РАШИТИ ИМЕР
+РАШКОВ БРАНКО
+РАШКОВ БРАНКО
+РАШКОВ ДАНИЦА
+РАШКОВ МАРИЈА
+РАШКОВ СМИЉКА
+РАШКОВИЋ ЂОРЂЕ
+РАШКОВИЋ ЂОРЂЕ
+РАШКОВИЋ ДАРИНКА
+РАШКОВИЋ ДРАГАН
+РАШКОВИЋ ДРАГОЉУБ
+РАШКОВИЋ ДРАГОСЛАВА
+РАШКОВИЋ ГОРДАНА
+РАШКОВИЋ МИЛАН
+РАШКОВИЋ МИЛИЦА
+РАШКОВИЋ МИОДРАГ
+РАШКОВИЋ МИРЈАНА
+РАШКОВИЋ МИРЈАНА
+РАШКОВИЋ МЛАДЕН
+РАШКОВИЋ РАДОСАВ
+РАШКОВИЋ СЛОБОДАН
+РАШКОВИЋ СРЕЋКО
+РАШКОВИЋ СТЕВАН
+РАШКОВИЋ ВЕРА
+РАШКОВИЋ ВЛАДИМИР
+РАШОВИЋ РАДОВАН
+РАШОВИЋ ВОЈИСЛАВ
+РАЖНАТОВИЋ РАДИВОЈ
+РАЂЕЛИЋ ГОРДАНА
+РАЂЕЛИЋ МИЛАН
+РАЂЕНОВИЋ ЖЕЉКО
+РАЂЕНОВИЋ ЖЕЉКО
+РАЂЕНОВИЋ БОЖО
+РАЂЕНОВИЋ БОРИС
+РАЂЕНОВИЋ БОСА
+РАЂЕНОВИЋ БРАНКО
+РАЂЕНОВИЋ ДРАГА
+РАЂЕНОВИЋ ДУШАН
+РАЂЕНОВИЋ ДУШАН
+РАЂЕНОВИЋ КАРЛО
+РАЂЕНОВИЋ МАНЕ
+РАЂЕНОВИЋ МИЛАНКО
+РАЂЕНОВИЋ МИЛЕВА
+РАЂЕНОВИЋ МИЛКА
+РАЂЕНОВИЋ МИЛКА
+РАЂЕНОВИЋ НЕБОЈША
+РАЂЕНОВИЋ НИКОЛА
+РАЂЕНОВИЋ СОФИЈА
+РАЂЕНОВИЋ УРОШ
+РАЂЕНОВИЋ ВЕЉКО
+РАЂЕНОВИЋ ЗОРИЦА
+РАЂЕВИЋ САВО
+РАБАЏИЈЕВСКИ ПАУЛА
+РАБАТИЋ МИЛОШ
+РАБИ ЈОЖЕФ
+РАБИЈАЦ СРБА
+РАБРЕНОВИЋ МАРИЈА
+РАБРЕНОВИЋ РАДИСАВ
+РАБРЕНОВИЋ ЗЛАТИНКА
+РАЦ ШАНДОР
+РАЦ АЛБЕРТ
+РАЦ АНА
+РАЦ БРУНО
+РАЦ ЕДМУНД
+РАЦ ФЕРЕНЦ
+РАЦ ФЕРЕНЦ
+РАЦ ФРАЊА
+РАЦ ГАБРИЈЕЛ
+РАЦ ЈАНОШ
+РАЦ ЈЕЛИСАВЕТА
+РАЦ ЈОВАН
+РАЦ ЉИЉАНА
+РАЦ ЉУБОМИР
+РАЦ МАРИЈА
+РАЦ МАРИЈА
+РАЦ МЕЛАНИЈА
+РАЦ ПАЛ
+РАЦ РУДОЛФ
+РАЦ-САБО ЛАЈОШ
+РАЦ СТЕВАН
+РАЦ ТЕОДОР
+РАЦ ВЛАДИМИР
+РАЦ ЗЛАТА
+РАЦА ЂУРО
+РАЦА ДРАГАН
+РАЦА ДРАГАН
+РАЦА ДРАГАН
+РАЦА ДУШАН
+РАЦА ГОРДАНА ДР
+РАЦА МИРКО
+РАЦА ПЕТАР
+РАЦА РУЖИЦА
+РАЦИЋ ЧЕДОМИР
+РАЦИЋ БРАНКО
+РАЦИЋ ДУШАН
+РАЦИЋ МИЛАН
+РАЦИЋ МИЛЕНКО
+РАЦИЋ МИЛИЦА
+РАЦИЋ МИЛИЦА
+РАЦИЋ МИЛОРАД
+РАЦИЋ МИРЈАНА
+РАЦИЋ НЕДЕЉКО
+РАЦИЋ РАДЕНКО
+РАЦИЋ СЛОБОДАН
+РАЦИЋ СЛОБОДАН
+РАЦИЋ ВЕЉКО
+РАЦИЋ ЗДРАВКО
+РАЦИЋ ЗДРАВКО
+РАЦИЋ ЗОРАН
+РАЦКОВ ДАРИНКА
+РАЦКОВ ДРАГОСЛАВ
+РАЦКОВ КАТИЦА
+РАЦКОВ ЛАЗАР
+РАЦКОВ МИЛИЦА
+РАЦКОВ МИЛИВОЈ
+РАЦКОВ МИЛОШ
+РАЦКОВ МИРОСЛАВ
+РАЦКОВ МИРОСЛАВ
+РАЦКОВ НАТАША
+РАЦКОВ ОЛГА
+РАЦКОВ РАДОЈКА
+РАЦКОВ РАДОМИР
+РАЦКОВ РАДОСЛАВ
+РАЦКОВ САВА
+РАЦКОВ СЛОБОДАН
+РАЦКОВ СРЂАН
+РАЦКОВ СРЂАН
+РАЦКОВ СРЂАН
+РАЦКОВ ЗЛАТИЦА
+РАЦКОВИЋ ЂОРЂЕ
+РАЦКОВИЋ ДРАГОМИР
+РАЦКОВИЋ ДУШАН
+РАЦКОВИЋ ЛАЗАР
+РАЦКОВИЋ МИЛАН
+РАЦКОВИЋ МИЛОШ
+РАЦКОВИЋ МИРЈАНА
+РАЦЛЕР ЂЕРЂ
+РАЦЛЕР МАРГИТ
+РАЦО МИЋО
+РАЦО РАТКО
+РАД ПРЕДРАГ
+РАДАШИН ЕЛВИРА
+РАДАШИН ВЛАДИМИР
+РАДАШИН ЗВЕЗДАН
+РАДАК ЂОРЂЕ
+РАДАК ЂУРИЦА
+РАДАК ДУШАН
+РАДАК ДУШАН
+РАДАК ГАВРА
+РАДАК ЈЕЛИСАВЕТА
+РАДАК ЈОВАНКА
+РАДАК ЈОВАН
+РАДАК КОВИНКА
+РАДАК ЛАЗАР
+РАДАК ЛАЗАР
+РАДАК ЉУБИЦА
+РАДАК ЉУБИЦА
+РАДАК ЛУКА
+РАДАК МИЛАДИНКА
+РАДАК МИРОСЛАВ
+РАДАК ОЛГА
+РАДАК РАДМИЛА
+РАДАК СЛАВКО
+РАДАК ЗОРА
+РАДАКОВИЋ ЖИВАН
+РАДАКОВИЋ ЂОРЂЕ
+РАДАКОВИЋ ЂОРЂЕ
+РАДАКОВИЋ ЂУРАЂ
+РАДАКОВИЋ АЛЕКСАНДАР
+РАДАКОВИЋ АНА ДР
+РАДАКОВИЋ БРАНКО
+РАДАКОВИЋ БРАНКО
+РАДАКОВИЋ БРАНКО
+РАДАКОВИЋ ДАМЈАН
+РАДАКОВИЋ ДАРКА
+РАДАКОВИЋ ДИМИТРИЈЕ
+РАДАКОВИЋ ДУШАН
+РАДАКОВИЋ ДУШАН
+РАДАКОВИЋ ИЛИЈА
+РАДАКОВИЋ ИЛИЈА
+РАДАКОВИЋ ЈЕЛЕНА
+РАДАКОВИЋ ЈОВАН
+РАДАКОВИЋ ЈОВАН
+РАДАКОВИЋ ЈОВАН
+РАДАКОВИЋ ЈОВАН
+РАДАКОВИЋ ЛАЗО
+РАДАКОВИЋ ЉИЉАНА
+РАДАКОВИЋ МАНДА
+РАДАКОВИЋ МАНЕ
+РАДАКОВИЋ МИЛАНКО
+РАДАКОВИЋ МИЛАН
+РАДАКОВИЋ МИЛЕНА
+РАДАКОВИЋ МИЛЕ
+РАДАКОВИЋ МИЛЕ
+РАДАКОВИЋ МИЛОЈКА
+РАДАКОВИЋ МИЛОРАД
+РАДАКОВИЋ МИРОСЛАВ
+РАДАКОВИЋ НЕНАД
+РАДАКОВИЋ ПЕТАР
+РАДАКОВИЋ РАДЕ
+РАДАКОВИЋ РАДЕ
+РАДАКОВИЋ РАЈКО
+РАДАКОВИЋ РУЖИЦА
+РАДАКОВИЋ САВА
+РАДАКОВИЋ СМИЉКА
+РАДАКОВИЋ ТЕОДОРА
+РАДАКОВИЋ ВЛАДИМИР
+РАДАКОВИЋ ВЛАДИСЛАВ
+РАДАН ВЕЛИМИР
+РАДАНОВ БИЉАНА
+РАДАНОВ ДРАГОМИР
+РАДАНОВ ДУШАН
+РАДАНОВ ГОСПАВА
+РАДАНОВ ЉУБОМИР АДВОКАТ
+РАДАНОВ ЉУБОМИР
+РАДАНОВ МИРОСЛАВА
+РАДАНОВ НИКОЛА
+РАДАНОВ ОЛИВЕРА
+РАДАНОВ РАДИНКА
+РАДАНОВ РАДИВОЈ
+РАДАНОВ РАДОСЛАВ
+РАДАНОВ ВЕРИЦА
+РАДАНОВИЋ ЖЕЉКО
+РАДАНОВИЋ ЂОРЂЕ
+РАДАНОВИЋ ЂОРЂЕ
+РАДАНОВИЋ ЂУКА
+РАДАНОВИЋ АЛЕКСАНДАР
+РАДАНОВИЋ АНЂЕЛКО
+РАДАНОВИЋ БОЖИДАР
+РАДАНОВИЋ ДИМИТРИЈЕ
+РАДАНОВИЋ ДРАГАН
+РАДАНОВИЋ ДРАГИЦА
+РАДАНОВИЋ ДРАГОМИР
+РАДАНОВИЋ ДРАГОМИР
+РАДАНОВИЋ ДРАГУТИН
+РАДАНОВИЋ ГОЈКО
+РАДАНОВИЋ ИЛИЈА
+РАДАНОВИЋ ЈОВАНКА
+РАДАНОВИЋ ЈОВАН
+РАДАНОВИЋ ЈОВАН
+РАДАНОВИЋ ЈОВАН
+РАДАНОВИЋ КАТА
+РАДАНОВИЋ КОВИЉКА
+РАДАНОВИЋ ЉУБО
+РАДАНОВИЋ МАРИЈА
+РАДАНОВИЋ МИЛАНКО
+РАДАНОВИЋ МИЛАН
+РАДАНОВИЋ МИЛАН
+РАДАНОВИЋ МИЛАН
+РАДАНОВИЋ МИЛЕНКО
+РАДАНОВИЋ МИЛОШ
+РАДАНОВИЋ МИОДРАГ
+РАДАНОВИЋ МИОДРАГ
+РАДАНОВИЋ НЕВЕНКА
+РАДАНОВИЋ НИКОЛА
+РАДАНОВИЋ НИКОЛА
+РАДАНОВИЋ ОБРАД
+РАДАНОВИЋ ПЕТАР
+РАДАНОВИЋ ПЕТАР
+РАДАНОВИЋ РАДИВОЈ
+РАДАНОВИЋ РАДОВАНКА
+РАДАНОВИЋ РАДОВАН
+РАДАНОВИЋ РАЈКО
+РАДАНОВИЋ САША
+РАДАНОВИЋ САВА
+РАДАНОВИЋ СОФИЈА
+РАДАНОВИЋ СОФИЈА
+РАДАНОВИЋ СРЕТЕН
+РАДАНОВИЋ ТРИША
+РАДАНОВИЋ ВИТОМИР
+РАДАТ МАРКО
+РАДАТОВИЋ МАРИЈА
+РАДЕК АНДРАШ
+РАДЕК МАРИЈА
+РАДЕКА ШТЕФКА
+РАДЕКА ДУШКО
+РАДЕКА ЈОВАН
+РАДЕКА МИЛЕ
+РАДЕКА МИЛКА
+РАДЕКА НИКОЛА
+РАДЕКА РАДОВАН
+РАДЕКИН ЉУБИЦА
+РАДЕЛИЋ МИЛАН
+РАДЕНЧИЋ ЈОСИП
+РАДЕНКОВИЋ ЧЕДОМИР
+РАДЕНКОВИЋ ЖИВОЈИН
+РАДЕНКОВИЋ БЛАЖА
+РАДЕНКОВИЋ ДРАГАН
+РАДЕНКОВИЋ ЛЕПОСАВА
+РАДЕНКОВИЋ ЉУБИША
+РАДЕНКОВИЋ МИЛИВОЈЕ
+РАДЕНКОВИЋ МИЛОВАН
+РАДЕНКОВИЋ МИЛОВАН
+РАДЕНКОВИЋ МИОДРАГ
+РАДЕНКОВИЋ НАДА
+РАДЕНКОВИЋ РАДОМИР
+РАДЕНКОВИЋ РАДОСЛАВА
+РАДЕНКОВИЋ РАТОМИР
+РАДЕНКОВИЋ РОЗАЛИЈА
+РАДЕНКОВИЋ СЛОБОДАН
+РАДЕНКОВИЋ ТОМИСЛАВ
+РАДЕНКОВИЋ ВИТОМИР
+РАДЕНКОВИЋ ВЈЕРА
+РАДЕНОВИЋ ОБРЕН
+РАДЕТА СЛАВКО
+РАДЕТА СВЕТОЗАР
+РАДЕТИЋ БОШКО
+РАДЕТИЋ БРАНКО
+РАДЕТИЋ ГОРАН
+РАДЕТИЋ РАДОМИР
+РАДЕТИЋ ВОЈИСЛАВ
+РАДЕВИЋ ЂОРЂЕ
+РАДЕВИЋ ГОРАН
+РАДЕВИЋ ИВАН
+РАДЕВИЋ МИЛЕВА
+РАДЕВИЋ МИЛОШ
+РАДЕВИЋ ВОЈИМИР
+РАДИЧЕВ ЈЕЛИЦА
+РАДИЧЕВ МАРИЈА ДР
+РАДИЧЕВИЋ РАДМИЛА
+РАДИЧЕВИЋ САВА
+РАДИЧЕВИЋ ЗОРАН
+РАДИЧИЋ СМИЉАНА
+РАДИШИЋ ЖИВКО
+РАДИШИЋ ЂОРЂЕ
+РАДИШИЋ АНЂЕЛКА
+РАДИШИЋ БИЉАНА
+РАДИШИЋ БОРИСЛАВ
+РАДИШИЋ БОРИСЛАВ
+РАДИШИЋ БРАНИСЛАВ
+РАДИШИЋ БРАНКА
+РАДИШИЋ БРАНКО
+РАДИШИЋ ДРАГИША
+РАДИШИЋ ДРАГУТИН
+РАДИШИЋ ДУШАН
+РАДИШИЋ ДУШИЦА
+РАДИШИЋ ИЛИЈА
+РАДИШИЋ ЈЕФТА
+РАДИШИЋ ЈЕЛЕНА
+РАДИШИЋ ЈОВАН
+РАДИШИЋ ЈОВО
+РАДИШИЋ КАТИЦА
+РАДИШИЋ ЛАЗАР
+РАДИШИЋ ЛАЗАР
+РАДИШИЋ ЛАЗАР
+РАДИШИЋ ЉИЉАНА
+РАДИШИЋ ЉУБИЦА
+РАДИШИЋ МАРКО
+РАДИШИЋ МИЛАН
+РАДИШИЋ МИЛЕНА
+РАДИШИЋ МИЛЕНКО
+РАДИШИЋ МИЛИЦА
+РАДИШИЋ МИЛИЈАНА
+РАДИШИЋ МИЛУТИН
+РАДИШИЋ МИРОСЛАВА
+РАДИШИЋ МЛАДЕН
+РАДИШИЋ НЕНА
+РАДИШИЋ НИКОЛА
+РАДИШИЋ ОБРАДИН
+РАДИШИЋ ОЛИВЕРА
+РАДИШИЋ ПЕРИЦА
+РАДИШИЋ ПЕРО
+РАДИШИЋ ПЕРСА
+РАДИШИЋ ПЕТАР
+РАДИШИЋ РАДИВОЈ
+РАДИШИЋ РАДМИЛА
+РАДИШИЋ РАДОЈКА
+РАДИШИЋ САВЕТА
+РАДИШИЋ СЛОБОДАН
+РАДИШИЋ СТАНОЈЕ
+РАДИШИЋ СТЕВАН
+РАДИШИЋ СТЕВАН
+РАДИШИЋ СВЕТОЗАР
+РАДИШИЋ ТОДОР
+РАДИШИЋ ВЛАДИМИР
+РАДИШИЋ ВЛАДИМИР
+РАДИШИЋ ЗОРАН
+РАДИЋ ЧЕДА
+РАДИЋ ЖЕЉКО
+РАДИЋ ЖИВАН
+РАДИЋ ЂОРЂЕ
+РАДИЋ ЂОРЂЕ
+РАДИЋ АНЂА
+РАДИЋ АНЂЕЛКО
+РАДИЋ АНДРИЈА ДР
+РАДИЋ АНГЕЛИНА
+РАДИЋ АНКИЦА
+РАДИЋ АНТЕ
+РАДИЋ БОШКО
+РАДИЋ БРАНКА
+РАДИЋ ДОБРИВОЈЕ
+РАДИЋ ДРАГОЉУБ
+РАДИЋ ДУШАН
+РАДИЋ ДУШАН
+РАДИЋ ФРАЊА
+РАДИЋ ФРАЊО
+РАДИЋ ГОЈКО
+РАДИЋ ХРАНИСЛАВ
+РАДИЋ ИЛИЈА
+РАДИЋ ИЛИЈА
+РАДИЋ ИВАНКА
+РАДИЋ ЈОСИП
+РАДИЋ ЈОВАН
+РАДИЋ ЛАЗАР
+РАДИЋ ЉУБИЦА
+РАДИЋ ЉУБОМИР
+РАДИЋ МАРИЈА
+РАДИЋ МИЈА
+РАДИЋ МИЛАНКО
+РАДИЋ МИЛАН
+РАДИЋ МИЛАН
+РАДИЋ МИЛЕ
+РАДИЋ МИЛИВОЈ
+РАДИЋ МИЛИВОЈ
+РАДИЋ МИЛКА
+РАДИЋ МИЛУТИН ДИПЛ ИНГ
+РАДИЋ МИРЈАНА
+РАДИЋ МИРКО
+РАДИЋ МЛАДЕН
+РАДИЋ НЕДЕЉКО
+РАДИЋ НЕНАД
+РАДИЋ ПАВЛЕ
+РАДИЋ ПЕТАР
+РАДИЋ ПЕТАР
+РАДИЋ ПЕТАР
+РАДИЋ ПЕТАР
+РАДИЋ ПЕТАР
+РАДИЋ-ПОПОВИЋ ГОРДАНА
+РАДИЋ ПРЕДРАГ
+РАДИЋ РАДА
+РАДИЋ РАДЕ
+РАДИЋ РОБЕРТ
+РАДИЋ САВА
+РАДИЋ СЛАВИША
+РАДИЋ СЛАВКО
+РАДИЋ СОФИЈА
+РАДИЋ СТАНКО
+РАДИЋ СТЕВАН
+РАДИЋ СТЕВАН
+РАДИЋ СТОЈАН
+РАДИЋ ТИХОМИР
+РАДИЋ ТРИВА
+РАДИЋ ВЕЛИНКА
+РАДИЋ ВЛАДИМИР
+РАДИЋ ЗДРАВКО
+РАДИЋ ЗОРАН
+РАДИЋ ЗОРА
+РАДИЋ ЗОРИЦА
+РАДИБРАТОВИЋ МИЛИЦА
+РАДИБРАТОВИЋ МОМЧИЛО
+РАДИЈЕЉАЦ ЈЕЛЕНА
+РАДИЈЕЉАЦ МОМЧИЛО
+РАДИН ЖИВАН
+РАДИН АЛЕКСАНДАР
+РАДИН АНТОНИЈА
+РАДИН БРАНИСЛАВ
+РАДИН БРАНИСЛАВ
+РАДИН БРАНКО
+РАДИН ДРАГОЈЛА
+РАДИН ХРИСТИНА
+РАДИН ИВАНКА
+РАДИН ЈОВАНКА
+РАДИН ЛАЗАР
+РАДИН ЉУБОМИР ДР ЛЕКАР
+РАДИН ЉУБОМИР
+РАДИН МАКСИМИЛИЈАН
+РАДИН МАРА
+РАДИН МИЛАДИНКА
+РАДИН МИЛАН
+РАДИН МИЛАН
+РАДИН МИЛАН
+РАДИН МИЛАН
+РАДИН МИЛАН
+РАДИН МИЛЕНА
+РАДИН МИЛКА
+РАДИН МИРА
+РАДИН МИРОСЛАВ
+РАДИН МЛАДЕН
+РАДИН НАДА
+РАДИН НИКОЛА ДИПЛ ИНГ
+РАДИН ПЕТАР ДР
+РАДИН РАДА
+РАДИН РАДОСЛАВ
+РАДИН СЛАВИНКА
+РАДИН СЛАВКО
+РАДИН СТЕВАН
+РАДИН СТЕВАН
+РАДИН СВЕТИСЛАВ
+РАДИН ТОМИСЛАВ
+РАДИН ВЕСЕЛИН
+РАДИН ВЛАДИМИР
+РАДИН ЗЛАТОЈЕ
+РАДИН ЗОРАНКА
+РАДИН ЗОРА
+РАДИНОВИЋ ЂОРЂЕ
+РАДИНОВИЋ БУДИМИР
+РАДИНОВИЋ ДИМИТРИЈЕ
+РАДИНОВИЋ ДУШКО
+РАДИНОВИЋ ИЛИЈА
+РАДИНОВИЋ ЛАЗО
+РАДИНОВИЋ МАНОЈЛО
+РАДИНОВИЋ МАРИЈА
+РАДИНОВИЋ МИЛИЦА
+РАДИНОВИЋ МИЛИВОЈ
+РАДИНОВИЋ МИЛОРАД
+РАДИНОВИЋ МИРА
+РАДИНОВИЋ МЛАДЕН
+РАДИНОВИЋ МОМЧИЛО ДИПЛ ПРАВНИК
+РАДИНОВИЋ МОМЧИЛО
+РАДИНОВИЋ НИКОЛА
+РАДИНОВИЋ РАДОСЛАВ
+РАДИНОВИЋ СИЛВАНА
+РАДИНОВИЋ СТЕВАН
+РАДИНОВИЋ ВУКАШИН
+РАДИСАВЉЕВИЋ ЖИВОРАД
+РАДИСАВЉЕВИЋ БОГДАН
+РАДИСАВЉЕВИЋ БОРИВОЈЕ
+РАДИСАВЉЕВИЋ ИВАН
+РАДИСАВЉЕВИЋ МИЛОСАВ
+РАДИСАВЉЕВИЋ СЛАВИЦА
+РАДИСАВЉЕВИЋ СТАНИША
+РАДИСАВЉЕВИЋ ЗОРИЦА ДР
+РАДИВОЈША МИЛОШ
+РАДИВОЈША СМИЉА
+РАДИВОЈАЦ ДОБРИЛА
+РАДИВОЈАЦ ДРАГА
+РАДИВОЈАЦ ДРАГОЉУБ
+РАДИВОЈАЦ ЈОВАН
+РАДИВОЈАЦ НАТАЛИЈА
+РАДИВОЈЕВ РАДИНКА
+РАДИВОЈЕВИЋ АНЂЕЛКО
+РАДИВОЈЕВИЋ БОГОЉУБ
+РАДИВОЈЕВИЋ БРАНИСЛАВ
+РАДИВОЈЕВИЋ БРАНКО
+РАДИВОЈЕВИЋ БРАТИМИР
+РАДИВОЈЕВИЋ ДРАГАН МР
+РАДИВОЈЕВИЋ ДРАГИША
+РАДИВОЈЕВИЋ ДРАГОМИР
+РАДИВОЈЕВИЋ ДРАГОСЛАВ
+РАДИВОЈЕВИЋ ДУШАН ДИПЛ ОЕЦ
+РАДИВОЈЕВИЋ ДУШАНКА
+РАДИВОЈЕВИЋ ИДА
+РАДИВОЈЕВИЋ ЈАНКО
+РАДИВОЈЕВИЋ ЈЕЛА
+РАДИВОЈЕВИЋ ЈОВАНКА
+РАДИВОЈЕВИЋ ЈОВАН
+РАДИВОЈЕВИЋ ЉУБИЦА
+РАДИВОЈЕВИЋ ЉУБОДРАГ
+РАДИВОЈЕВИЋ ЉУБОМИР
+РАДИВОЈЕВИЋ ЉУБОМИР
+РАДИВОЈЕВИЋ ЛУКА
+РАДИВОЈЕВИЋ ЛУКА
+РАДИВОЈЕВИЋ МИЛАН
+РАДИВОЈЕВИЋ МИЛА
+РАДИВОЈЕВИЋ МИЛЕ
+РАДИВОЈЕВИЋ МИЛИВОЈЕ
+РАДИВОЈЕВИЋ МИЛОМИР
+РАДИВОЈЕВИЋ МИРЈАНА
+РАДИВОЈЕВИЋ МЛАДЕН
+РАДИВОЈЕВИЋ МОМЧИЛО
+РАДИВОЈЕВИЋ НЕЂО
+РАДИВОЈЕВИЋ НЕМАЊА
+РАДИВОЈЕВИЋ НИКОЛА
+РАДИВОЈЕВИЋ ПАВЛЕ
+РАДИВОЈЕВИЋ РАДИША
+РАДИВОЈЕВИЋ РАДИВОЈЕ
+РАДИВОЈЕВИЋ РАДОШ
+РАДИВОЈЕВИЋ РАТКО
+РАДИВОЈЕВИЋ СИНИША
+РАДИВОЈЕВИЋ СЛОБОДАН
+РАДИВОЈЕВИЋ СЛОБОДАН
+РАДИВОЈЕВИЋ СЛОБОДАН
+РАДИВОЈЕВИЋ СЛОБОДАН
+РАДИВОЈЕВИЋ СТЕВАН
+РАДИВОЈЕВИЋ СТОЈАДИН
+РАДИВОЈЕВИЋ ТОМИСЛАВ
+РАДИВОЈЕВИЋ ТУГОМИР
+РАДИВОЈЕВИЋ ВЕРА
+РАДИВОЈЕВИЋ ВИДА
+РАДИВОЈЕВИЋ ВИДА
+РАДИВОЈЕВИЋ ВУКИЦА
+РАДИВОЈЕВИЋ ЗОРАН
+РАДИВОЈЕВИЋ ЗОРАН
+РАДИВОЈКОВ ЂОРЂЕ
+РАДИВОЈКОВ ЈЕЛИЦА
+РАДИВОЈКОВ МИРЈАНА
+РАДИВОЈКОВ РАЈКО
+РАДИВОЈКОВ САВА
+РАДИВОЈКОВ СТЕВАН
+РАДЛОВАЧКИ ДОБРИНКА
+РАДЛОВАЧКИ СИНИША
+РАДЛОВИЋ МИЛКА
+РАДМАН ШИМУН
+РАДМАН ШПИРО
+РАДМАН ИВАН
+РАДМАН ЛЕПОСАВА
+РАДМАН МИЛАН
+РАДМАН МИЛЕ
+РАДМАН МИЛИЦА
+РАДМАН МИЛОВАН
+РАДМАН МИРОСЛАВ
+РАДМАНИЋ ЕВИЦА
+РАДМАНОВАЦ МИЛОВАН
+РАДМАНОВИЋ ДРАГИЦА
+РАДМАНОВИЋ ДУШАНКА
+РАДМАНОВИЋ МИЛУТИН
+РАДМИЛО ЂУРО
+РАДМИЛО МАРИЈА
+РАДМИЛО МИРКО
+РАДМИЛОВИЋ ДУШАНКА
+РАДМИЛОВИЋ МИЛАН
+РАДМИЛОВИЋ МИЛОШ
+РАДМИЛОВИЋ МИРОСЛАВ
+РАДМИЛОВИЋ НЕДЕЉКО
+РАДМИЛОВИЋ РАДЕ ПРОФЕСОР
+РАДМИЛОВИЋ СЛАВОЉУБ
+РАДМИЛОВИЋ СТЕВО
+РАДНИЋ ДОБРИНКА
+РАДНОВ АЛЕКСА
+РАДНОВ ЛЕНКА
+РАДНОВ РАДИВОЈ
+РАДНОВ РАЈКО
+РАДНОВ ЗОРКА
+РАДНОВИЋ ДРАГАН
+РАДНОВИЋ ОЛГИЦА
+РАДНОВИЋ РАДОВАН
+РАДНОВИЋ УРОШ
+РАДНОВИЋ УРОШ
+РАДОЧАЈ ДУШАНКА
+РАДОЧАЈ ИЛИЈА
+РАДОЧАЈ МАРА
+РАДОЧАЈ МИЛКА
+РАДОЧАЈ НЕДЕЉКА
+РАДОЧАЈ САВКА
+РАДОШ БОРИСЛАВ
+РАДОШ ДАНИЦА
+РАДОШ ДРЕНКА
+РАДОШ МАРТА
+РАДОШ МИЛАН
+РАДОШ РУЖА
+РАДОШ ВОЈИСЛАВ
+РАДОШ ЗОРА
+РАДОШЕВИЋ-ШТИМАЦ ЉУБИЦА
+РАДОШЕВИЋ ЂОРЂЕ
+РАДОШЕВИЋ АНЂЕЛКА
+РАДОШЕВИЋ АНИЦА
+РАДОШЕВИЋ АНИЦА
+РАДОШЕВИЋ БОЖИДАР
+РАДОШЕВИЋ БОЖО
+РАДОШЕВИЋ БРАНИСЛАВ
+РАДОШЕВИЋ БРАНКО
+РАДОШЕВИЋ ДЕСАНКА
+РАДОШЕВИЋ ДУШИЦА
+РАДОШЕВИЋ ЈЕЛИСАВЕТА
+РАДОШЕВИЋ ЈОВАНКА
+РАДОШЕВИЋ ЈОВАН
+РАДОШЕВИЋ ЈОВАН
+РАДОШЕВИЋ ЉИЉАНА
+РАДОШЕВИЋ ЉУБИЦА
+РАДОШЕВИЋ МИЛЕНА
+РАДОШЕВИЋ МИЛЕНА
+РАДОШЕВИЋ МИЛИВОЈ
+РАДОШЕВИЋ МИЛОШ
+РАДОШЕВИЋ МИЛУТИН
+РАДОШЕВИЋ МИОДРАГ
+РАДОШЕВИЋ МИРЈАНА
+РАДОШЕВИЋ МИРОСЛАВА
+РАДОШЕВИЋ МИТАР
+РАДОШЕВИЋ НИКОЛА
+РАДОШЕВИЋ ОЛИВЕРА
+РАДОШЕВИЋ РАДЕ
+РАДОШЕВИЋ РАДИВОЈ
+РАДОШЕВИЋ РАДМИЛА
+РАДОШЕВИЋ РАДОВАН
+РАДОШЕВИЋ РАДОВАН
+РАДОШЕВИЋ РОДОЉУБ
+РАДОШЕВИЋ СТАНИЦА
+РАДОШЕВИЋ ТЕРЕЗА
+РАДОШЕВИЋ ВЛАДИМИР
+РАДОШЕВИЋ ЗДРАВКО
+РАДОЦ ФРАЊА
+РАДОЦ-СИМИЋ СОФИЈА
+РАДОИЧИЋ МИЛОШ
+РАДОИЧКИ БРАНИСЛАВ
+РАДОЈЧЕВИЋ МИЛОШ
+РАДОЈЧИЋ БОЖА ДИПЛ ИНГ
+РАДОЈЧИЋ БОЖИДАР
+РАДОЈЧИЋ БОЖИДАР
+РАДОЈЧИЋ ДАНИЦА
+РАДОЈЧИЋ ДАРИНКА
+РАДОЈЧИЋ ДРАГАНА
+РАДОЈЧИЋ ДРАГОМИР
+РАДОЈЧИЋ ДРАГО
+РАДОЈЧИЋ ДУШКО
+РАДОЈЧИЋ ГОЈКО
+РАДОЈЧИЋ ИРЕНА
+РАДОЈЧИЋ ИВАН
+РАДОЈЧИЋ ИВАН
+РАДОЈЧИЋ ИВАН
+РАДОЈЧИЋ ЉИЈАНА
+РАДОЈЧИЋ ЉИЉАНА
+РАДОЈЧИЋ МИЛАДИН
+РАДОЈЧИЋ МИЛАН
+РАДОЈЧИЋ МИЛЕНКО
+РАДОЈЧИЋ МИЛИЦА
+РАДОЈЧИЋ МИЛОРАД
+РАДОЈЧИЋ МИЛУТИН
+РАДОЈЧИЋ МИОДРАГ
+РАДОЈЧИЋ МИТАР
+РАДОЈЧИЋ НАДИЦА
+РАДОЈЧИЋ НЕНАД
+РАДОЈЧИЋ-ОБЕРКНЕЖЕВ МИРЈАНА
+РАДОЈЧИЋ ПАВЛЕ
+РАДОЈЧИЋ САВА
+РАДОЈЧИЋ СРЕТЕН
+РАДОЈЧИЋ СТЕВАН
+РАДОЈЧИЋ ВИТОМИР
+РАДОЈЧИЋ ВЛАДАН
+РАДОЈЧИЋ ВОЈИСЛАВ
+РАДОЈЧИН ЂОРЂЕ
+РАДОЈЧИН АНИЦА
+РАДОЈЧИН ДОБРИЛА
+РАДОЈЧИН ДУШИЦА
+РАДОЈЧИН ЕВИЦА
+РАДОЈЧИН ЈУЛКА
+РАДОЈЧИН МАРА
+РАДОЈЧИН МАРТА
+РАДОЈЧИН МИЛАН
+РАДОЈЧИН МИЛКА
+РАДОЈЧИН МИЛОШ
+РАДОЈЧИН МИЛОВАН
+РАДОЈЧИН МИРЈАНА
+РАДОЈЧИН РАДМИЛА
+РАДОЈЧИН РАДОЈКА
+РАДОЈЧИН РАДОВАН
+РАДОЈЧИН СЛОБОДАН
+РАДОЈЧИН СРЕДОЈЕ
+РАДОЈЧИН ТОДОР
+РАДОЈЧИН ВЕЛИМИР
+РАДОЈЧИН ВЕРА
+РАДОЈЧИН ВЕРА
+РАДОЈА БОРИСЛАВ
+РАДОЈА КОВИЉКА
+РАДОЈЕВ ИВАН
+РАДОЈЕВ СЛАВКО
+РАДОЈЕВИЋ ЂОКА
+РАДОЈЕВИЋ АНЂЕЛКА
+РАДОЈЕВИЋ БОСИЉКА
+РАДОЈЕВИЋ ДЕЈАН
+РАДОЈЕВИЋ ДРАГОСЛАВ
+РАДОЈЕВИЋ ЈЕЛЕНА
+РАДОЈЕВИЋ ЈЕЛИЦА
+РАДОЈЕВИЋ КАТА
+РАДОЈЕВИЋ КОСТА
+РАДОЈЕВИЋ МИЛАН
+РАДОЈЕВИЋ МИЛЕНКО
+РАДОЈЕВИЋ МИЛЕ
+РАДОЈЕВИЋ МИЛУТИН
+РАДОЈЕВИЋ МИРЈАНА
+РАДОЈЕВИЋ МИРОСАНДА
+РАДОЈЕВИЋ МОМЧИЛО
+РАДОЈЕВИЋ НИКОЛА
+РАДОЈЕВИЋ НИКОЛА
+РАДОЈЕВИЋ НИКОЛА
+РАДОЈЕВИЋ ПЕТРА
+РАДОЈЕВИЋ РАДИСАВ
+РАДОЈЕВИЋ РАДОСЛАВКА ДР
+РАДОЈЕВИЋ САВА
+РАДОЈЕВИЋ СЛАВКО
+РАДОЈЕВИЋ СРБОЉУБ
+РАДОЈЕВИЋ СТЕВАН
+РАДОЈЕВИЋ СТЕВАН
+РАДОЈЕВИЋ ТАТЈАНА
+РАДОЈЕВИЋ ВЕРА
+РАДОЈЕВИЋ ЗОРАН
+РАДОЈИЧИЋ ЂОКА
+РАДОЈИЧИЋ ЂОРЂО
+РАДОЈИЧИЋ ДАНИЛО
+РАДОЈИЧИЋ ДРАГАН
+РАДОЈИЧИЋ ЈЕЛЕНА
+РАДОЈИЧИЋ ЈОРДАН
+РАДОЈИЧИЋ ЉУБОМИР
+РАДОЈИЧИЋ МИЛИЦА
+РАДОЈИЧИЋ МИЛОСАВ
+РАДОЈИЧИЋ ОБРЕН
+РАДОЈИЧИЋ РАДЕ
+РАДОЈИЧИЋ РАДИША
+РАДОЈИЧИЋ ВЛАДАН
+РАДОЈИЧИЋ ВОЈИН
+РАДОЈКО ЈЕЛЕНА
+РАДОЈКОВИЋ ЂУРЂИНКА
+РАДОЈКОВИЋ ЉУБИЦА
+РАДОЈКОВИЋ ПРЕДРАГ
+РАДОЈКОВИЋ ПРВОСЛАВ
+РАДОЈКОВИЋ ПРВОСЛАВ
+РАДОЈКОВИЋ РАЈКО
+РАДОЈКОВИЋ ТИХОМИР
+РАДОЈКОВИЋ ТОМИСЛАВ
+РАДОЈКОВИЋ ТРАЈКО
+РАДОЈКОВИЋ ВЛАДИМИР
+РАДОМАН ЈЕЛЕНА
+РАДОМАН ЉУБИЦА
+РАДОМАН МАРТА
+РАДОМАН МИРОСЛАВ
+РАДОМАН ЗОРАН
+РАДОМИР СТОЈАН
+РАДОМИРОВИЋ МИЛОРАД
+РАДОМИРОВИЋ ВИНКО
+РАДОМИРОВИЋ ВУКСАН
+РАДОМИРОВИЋ ЗЛАТА
+РАДОНЧИЋ ЈУСУФ
+РАДОНЧИЋ РАМИЗ
+РАДОНИЋ ЖЕЉКО
+РАДОНИЋ ЖИВАН
+РАДОНИЋ ЖИВКО
+РАДОНИЋ АЛЕКСАНДАР
+РАДОНИЋ АНЂЕЛКА
+РАДОНИЋ БЛАГОЈЕ
+РАДОНИЋ БРАНИСЛАВ
+РАДОНИЋ БРАНКО ДИПЛ ИНГ
+РАДОНИЋ БРАНКО
+РАДОНИЋ ДАНИЦА
+РАДОНИЋ ДУШАН
+РАДОНИЋ ЕВГЕНИЈЕ
+РАДОНИЋ ФЕРЕНЦ
+РАДОНИЋ ХАНА
+РАДОНИЋ ЈОВАН
+РАДОНИЋ ЉУБОМИР
+РАДОНИЋ МАКСИМ
+РАДОНИЋ МИЛИВОЈЕ
+РАДОНИЋ МИЛОВАН
+РАДОНИЋ МЛАДЕН
+РАДОНИЋ НАДА
+РАДОНИЋ НАДА
+РАДОНИЋ НЕДЕЉКО
+РАДОНИЋ НЕНАД
+РАДОНИЋ НИКОЛА
+РАДОНИЋ НИКОЛА
+РАДОНИЋ НОВИЦА
+РАДОНИЋ ПЕТАР
+РАДОНИЋ РАДА
+РАДОНИЋ РАДЕ
+РАДОНИЋ РАДИВОЈ
+РАДОНИЋ РАДИВОЈ
+РАДОНИЋ РАДМИЛА
+РАДОНИЋ РАЈКО
+РАДОНИЋ СОФИЈА
+РАДОНИЋ ВЛАДА
+РАДОНИЋ ВЛАДИМИР
+РАДОЊА АНТЕ
+РАДОЊАНИН МАРТА
+РАДОЊАНИН ПЕТАР
+РАДОЊАНИН ВЛАСТИМИР
+РАДОЊИЋ БРАНИСЛАВ
+РАДОЊИЋ ДРАГАН
+РАДОЊИЋ ИВАН
+РАДОЊИЋ КАТАРИНА
+РАДОЊИЋ ЛУКА
+РАДОЊИЋ МАНДА
+РАДОЊИЋ МИЛАДИН
+РАДОЊИЋ МИЛОВАН
+РАДОЊИЋ МИРЈАНА
+РАДОЊИЋ МИТАР
+РАДОЊИЋ ОЛГА
+РАДОЊИЋ СЕНКА
+РАДОЊИЋ СЛАВОМИР
+РАДОЊИЋ СЛОБОДАН
+РАДОЊИЋ СНЕЖАНА
+РАДОЊИЋ СТАНА
+РАДОЊИЋ ВЕРИЦА
+РАДОСАВ ЕРЖЕБЕТ
+РАДОСАВ КРИСТИНА
+РАДОСАВ РАДИВОЈ
+РАДОСАВЧЕВ ДУШАН
+РАДОСАВЧЕВ МИЛА
+РАДОСАВАЦ ДИМИТРИЈЕ ДР
+РАДОСАВАЦ ДУШИЦА
+РАДОСАВАЦ НЕДЕЉКО
+РАДОСАВАЦ ВЕЛИЗАР
+РАДОСАВАЦ ВЛАДО
+РАДОСАВЉЕВ ЖИВАН
+РАДОСАВЉЕВ БОЖИДАР
+РАДОСАВЉЕВ ДРАГОЉУБ
+РАДОСАВЉЕВ ДРАГУТИН
+РАДОСАВЉЕВ ГОЈКО
+РАДОСАВЉЕВ ИВАН
+РАДОСАВЉЕВ ЈЕВРЕМ
+РАДОСАВЉЕВ КАЋА
+РАДОСАВЉЕВ МИЛОРАД
+РАДОСАВЉЕВ НИКОЛА
+РАДОСАВЉЕВ ПАВЛЕ
+РАДОСАВЉЕВ СЛАВКА
+РАДОСАВЉЕВ СТЕВАН
+РАДОСАВЉЕВ ЗОРА
+РАДОСАВЉЕВ ЗОРИЦА
+РАДОСАВЉЕВИЋ ЖИВАН
+РАДОСАВЉЕВИЋ ЂОРЂЕ
+РАДОСАВЉЕВИЋ ЂОРЂЕ
+РАДОСАВЉЕВИЋ АЛЕКСАНДАР
+РАДОСАВЉЕВИЋ АНА
+РАДОСАВЉЕВИЋ АНА
+РАДОСАВЉЕВИЋ БОЖИДАР
+РАДОСАВЉЕВИЋ БОГДАН
+РАДОСАВЉЕВИЋ БОГОВИД
+РАДОСАВЉЕВИЋ БОРА
+РАДОСАВЉЕВИЋ БОРА
+РАДОСАВЉЕВИЋ БУДИМИР
+РАДОСАВЉЕВИЋ ДАНИЕЛ
+РАДОСАВЉЕВИЋ ДИАНА
+РАДОСАВЉЕВИЋ ДОБРИВОЈЕ
+РАДОСАВЉЕВИЋ ДРАГАН
+РАДОСАВЉЕВИЋ ДРАГИША
+РАДОСАВЉЕВИЋ ДРАГОЉУБ
+РАДОСАВЉЕВИЋ ДРАГУТИН
+РАДОСАВЉЕВИЋ ДУШАН ДИПЛ ИНГ
+РАДОСАВЉЕВИЋ ДУШАН
+РАДОСАВЉЕВИЋ ДУШАН
+РАДОСАВЉЕВИЋ ИЛИЈА
+РАДОСАВЉЕВИЋ ЈАСМИНА
+РАДОСАВЉЕВИЋ ЈОВАН
+РАДОСАВЉЕВИЋ ЈОВАН
+РАДОСАВЉЕВИЋ ЈОВАН
+РАДОСАВЉЕВИЋ ЈУЛИЈА
+РАДОСАВЉЕВИЋ ЛЕПОСАВА
+РАДОСАВЉЕВИЋ ЉИЉАНА
+РАДОСАВЉЕВИЋ ЉИЉА
+РАДОСАВЉЕВИЋ ЉУБИША
+РАДОСАВЉЕВИЋ ЉУБОМИР
+РАДОСАВЉЕВИЋ ЉУБОМИР
+РАДОСАВЉЕВИЋ МАРКО
+РАДОСАВЉЕВИЋ МИЛАН
+РАДОСАВЉЕВИЋ МИЛАН
+РАДОСАВЉЕВИЋ МИЛАН
+РАДОСАВЉЕВИЋ МИЛЕНКО
+РАДОСАВЉЕВИЋ МИЛЕНКО
+РАДОСАВЉЕВИЋ МИЛЕВА
+РАДОСАВЉЕВИЋ МИЛКА
+РАДОСАВЉЕВИЋ МИЛОВАН
+РАДОСАВЉЕВИЋ МИОДРАГ
+РАДОСАВЉЕВИЋ МИРЈАНА
+РАДОСАВЉЕВИЋ МИРЈАНА
+РАДОСАВЉЕВИЋ МЛАДЕН
+РАДОСАВЉЕВИЋ ЊЕГОСАВА
+РАДОСАВЉЕВИЋ ПАВЛЕ
+РАДОСАВЉЕВИЋ ПЕТАР
+РАДОСАВЉЕВИЋ РАДИША
+РАДОСАВЉЕВИЋ РАДИША
+РАДОСАВЉЕВИЋ РАДИВОЈ
+РАДОСАВЉЕВИЋ РАМИЗА
+РАДОСАВЉЕВИЋ РОДОЉУБ ДИПЛ ИНГ
+РАДОСАВЉЕВИЋ САВА
+РАДОСАВЉЕВИЋ СИНИША
+РАДОСАВЉЕВИЋ СТЕВАН
+РАДОСАВЉЕВИЋ СТЕВАН
+РАДОСАВЉЕВИЋ СТЕВАН
+РАДОСАВЉЕВИЋ СТОЈАН
+РАДОСАВЉЕВИЋ СВЕТИСЛАВ
+РАДОСАВЉЕВИЋ СВЕТИСЛАВ
+РАДОСАВЉЕВИЋ СВЕТЛАНА
+РАДОСАВЉЕВИЋ СВЕТОЗАР
+РАДОСАВЉЕВИЋ ВИДОСАВА
+РАДОСАВЉЕВИЋ ВЛАДЕТА
+РАДОСАВЉЕВИЋ ЗАГА
+РАДОСАВЉЕВИЋ ЗАГОРКА
+РАДОСАВЉЕВИЋ ЗОРИЦА
+РАДОВАЦ ИВА
+РАДОВАЦ НИКОЛА
+РАДОВАЦ ПЕТАР
+РАДОВАЦ САВА
+РАДОВАН АНТЕ
+РАДОВАН ВИДОСАВА
+РАДОВАНЧЕВ БРАНИСЛАВ
+РАДОВАНЧЕВ ЉУБИЦА
+РАДОВАНЧЕВ ВЛАДИМИР
+РАДОВАНЧЕВ ВЛАДИМИР
+РАДОВАНАЦ ЂУРА
+РАДОВАНАЦ НЕЂО
+РАДОВАНОВ ЖИВАН
+РАДОВАНОВ АЛЕКСАНДАР
+РАДОВАНОВ АНЂЕЛКА
+РАДОВАНОВ АНКА
+РАДОВАНОВ БОЖИДАР
+РАДОВАНОВ БОГДАНКА
+РАДОВАНОВ БРАНКО
+РАДОВАНОВ ДАНИЦА
+РАДОВАНОВ ДУШАН
+РАДОВАНОВ ДУШАН
+РАДОВАНОВ ДУШАН
+РАДОВАНОВ ЕВИЦА
+РАДОВАНОВ ГОРДАНА
+РАДОВАНОВ ИЛИЈА
+РАДОВАНОВ КУЗМАН
+РАДОВАНОВ ЉУБИЦА
+РАДОВАНОВ МАРИЈА
+РАДОВАНОВ МЕЛАНИЈА
+РАДОВАНОВ МИЛАН
+РАДОВАНОВ МИЛАН
+РАДОВАНОВ МИЛЕНКО
+РАДОВАНОВ МИЛЕНКО
+РАДОВАНОВ МИЛЕНКО
+РАДОВАНОВ МИЛИЦА
+РАДОВАНОВ МИЛИЦА
+РАДОВАНОВ МИЛИЦА
+РАДОВАНОВ МИЛКА
+РАДОВАНОВ МИРЈАНА
+РАДОВАНОВ НАДА
+РАДОВАНОВ НЕВЕНКА
+РАДОВАНОВ ПЕТАР
+РАДОВАНОВ ПЕТАР
+РАДОВАНОВ ПЕТАР
+РАДОВАНОВ РАДОМИР
+РАДОВАНОВ РАДОВАН
+РАДОВАНОВ РУЖИЦА
+РАДОВАНОВ СЛОБОДАНКА
+РАДОВАНОВ СЛОБОДАН
+РАДОВАНОВ СЛОБОДАН
+РАДОВАНОВ СМИЉАНА
+РАДОВАНОВ СТЕВАН
+РАДОВАНОВ СТЕВАН
+РАДОВАНОВ СТЕВА
+РАДОВАНОВ СВЕТОЗАР
+РАДОВАНОВ ТАТЈАНА
+РАДОВАНОВ ТИНКА
+РАДОВАНОВ ВОЈИСЛАВ
+РАДОВАНОВИЋ ЖИВАДИН
+РАДОВАНОВИЋ ЂОРЂИЈЕ
+РАДОВАНОВИЋ БОРА
+РАДОВАНОВИЋ БОРКА
+РАДОВАНОВИЋ БРАНКО
+РАДОВАНОВИЋ ДАНИЛО
+РАДОВАНОВИЋ ДАРИНКА
+РАДОВАНОВИЋ ДОБРИВОЈЕ
+РАДОВАНОВИЋ ДРАГАН
+РАДОВАНОВИЋ ДРАГИША
+РАДОВАНОВИЋ ДРАГИША
+РАДОВАНОВИЋ ДРАГОЉУБ
+РАДОВАНОВИЋ ДУШАНКА
+РАДОВАНОВИЋ ДУШАН
+РАДОВАНОВИЋ ДУШКО ДИПЛ ИНГ
+РАДОВАНОВИЋ ИЛОНКА
+РАДОВАНОВИЋ ЈЕЛИЦА
+РАДОВАНОВИЋ ЈОКА
+РАДОВАНОВИЋ ЈОВАНКА
+РАДОВАНОВИЋ ЛАЗАР
+РАДОВАНОВИЋ ЛАЗО
+РАДОВАНОВИЋ ЉУБИЦА
+РАДОВАНОВИЋ ЉУБОМИР
+РАДОВАНОВИЋ МАРА
+РАДОВАНОВИЋ МАРИЈА ДР
+РАДОВАНОВИЋ МАРИЈА
+РАДОВАНОВИЋ МИЋО
+РАДОВАНОВИЋ МИЛАДИН
+РАДОВАНОВИЋ МИЛАН
+РАДОВАНОВИЋ МИЛАН
+РАДОВАНОВИЋ МИЛАН
+РАДОВАНОВИЋ МИЛА
+РАДОВАНОВИЋ МИЛИЦА
+РАДОВАНОВИЋ МИЛОШ
+РАДОВАНОВИЋ МИЛОШ
+РАДОВАНОВИЋ МИЛОРАД
+РАДОВАНОВИЋ МИЛОРАД
+РАДОВАНОВИЋ МИЛОРАД
+РАДОВАНОВИЋ МИЛУТИН
+РАДОВАНОВИЋ МИРА
+РАДОВАНОВИЋ МИРОСЛАВ ДР ПРОФ
+РАДОВАНОВИЋ МИРОСЛАВ
+РАДОВАНОВИЋ МЛАЂЕН
+РАДОВАНОВИЋ МОМИР
+РАДОВАНОВИЋ НАДА
+РАДОВАНОВИЋ НЕДЕЉКО
+РАДОВАНОВИЋ НИКОЛА
+РАДОВАНОВИЋ НИНОСЛАВ ДР
+РАДОВАНОВИЋ ПРЕДРАГ
+РАДОВАНОВИЋ РАДЕНКО
+РАДОВАНОВИЋ РАДИВОЈ
+РАДОВАНОВИЋ РАДОЈИЦА
+РАДОВАНОВИЋ РАДОМИР ДР ЛЕКАР
+РАДОВАНОВИЋ РАДОСЛАВ
+РАДОВАНОВИЋ РАДОСЛАВ
+РАДОВАНОВИЋ РАДОВАН
+РАДОВАНОВИЋ РАЈА
+РАДОВАНОВИЋ РАЈКО
+РАДОВАНОВИЋ СЛАДОЉУБ
+РАДОВАНОВИЋ СЛАВКО
+РАДОВАНОВИЋ СЛАВКО
+РАДОВАНОВИЋ СЛОБОДАН
+РАДОВАНОВИЋ СНЕЖАНА
+РАДОВАНОВИЋ СРЕТЕН
+РАДОВАНОВИЋ СТАНОЈЕ
+РАДОВАНОВИЋ СТЕВАН
+РАДОВАНОВИЋ СТЕВАН
+РАДОВАНОВИЋ СВЕТИСЛАВ
+РАДОВАНОВИЋ ТОМИСЛАВ
+РАДОВАНОВИЋ ВЕЛИСАВ
+РАДОВАНОВИЋ ВИДОСАВА
+РАДОВАНОВИЋ ВИНКА
+РАДОВАНОВИЋ ВЛАДИМИР
+РАДОВАНОВИЋ ВОЈИСЛАВ
+РАДОВАНОВИЋ ВОЈИСЛАВ
+РАДОВАНОВИЋ ЗОРКА
+РАДОВАНОВИЋ ЗВЕЗДАНА
+РАДОВИЋ ЧЕДОМИР
+РАДОВИЋ ЖАРКО
+РАДОВИЋ ЖИВАН
+РАДОВИЋ ЂОРЂЕ
+РАДОВИЋ АЛЕКСАНДАР
+РАДОВИЋ АЛЕКСАНДАР
+РАДОВИЋ АНЂЕЛИЈА
+РАДОВИЋ БЛАГА
+РАДОВИЋ БЛАГОЈЕ
+РАДОВИЋ БОШКО
+РАДОВИЋ БОГОЉУБ
+РАДОВИЋ БОРИСЛАВ
+РАДОВИЋ БРАНИСЛАВ ДИПЛ ИНГ
+РАДОВИЋ БРАНКО
+РАДОВИЋ ДАМЈАН
+РАДОВИЋ ДАРКО
+РАДОВИЋ ДЕЈАН
+РАДОВИЋ ДИМИТРИЈЕ
+РАДОВИЋ ДОБРИЛА
+РАДОВИЋ ДРАГАН
+РАДОВИЋ ДРАГИША
+РАДОВИЋ ДРАГИЦА
+РАДОВИЋ ДРАГОЉУБ
+РАДОВИЋ ДРАГУТИН
+РАДОВИЋ ДУШАН
+РАДОВИЋ ГОЈКО ДИПЛ ИНГ
+РАДОВИЋ ИРМА
+РАДОВИЋ ИВА
+РАДОВИЋ ЈЕВТО
+РАДОВИЋ ЈОВАН
+РАДОВИЋ ЉУБОМИР
+РАДОВИЋ МАГДАЛЕНА
+РАДОВИЋ МАГДА
+РАДОВИЋ МИЛАН
+РАДОВИЋ МИЛАН
+РАДОВИЋ МИЛАН
+РАДОВИЋ МИЛАН
+РАДОВИЋ МИЛЕНА
+РАДОВИЋ МИЛЕВА
+РАДОВИЋ МИЛЕ
+РАДОВИЋ МИЛОШ
+РАДОВИЋ МИЛОЈЕ
+РАДОВИЋ МИЛОМИР
+РАДОВИЋ МИЛУТИН
+РАДОВИЋ МИОДРАГ
+РАДОВИЋ МИОДРАГ
+РАДОВИЋ МИРЧЕТА
+РАДОВИЋ МОМЧИЛО
+РАДОВИЋ МОМЧИЛО
+РАДОВИЋ НЕДЕЉКО
+РАДОВИЋ НОВАК
+РАДОВИЋ ОЛГА
+РАДОВИЋ ПАВЛЕ
+РАДОВИЋ ПЕТАР
+РАДОВИЋ ПЕТКО
+РАДОВИЋ РАДОЈКА
+РАДОВИЋ РАДОМИР
+РАДОВИЋ РАДОВАН
+РАДОВИЋ РАДОВАН
+РАДОВИЋ РАДОВАН
+РАДОВИЋ РАЈКО
+РАДОВИЋ РАТОМИР ДИПЛ ИНГ
+РАДОВИЋ РОЗИКА
+РАДОВИЋ САВО
+РАДОВИЋ СИМА
+РАДОВИЋ СЛАВИЦА
+РАДОВИЋ СЛАВИЦА
+РАДОВИЋ СЛАВКА
+РАДОВИЋ СЛАВКО
+РАДОВИЋ СРЕТЕН
+РАДОВИЋ СТАНКО
+РАДОВИЋ СТЕВАН
+РАДОВИЋ СТРАХИЊА
+РАДОВИЋ ТЕРЕЗИЈА
+РАДОВИЋ-УВЕРИЋ МИЛА ДР
+РАДОВИЋ ВЕЛИМИР
+РАДОВИЋ ВЕЉА
+РАДОВИЋ ВЕЉКО
+РАДОВИЋ ВЕЉКО
+РАДОВИЋ ВЕРА
+РАДОВИЋ ВЕРА
+РАДОВИЋ ВИДАК
+РАДОВИЋ ВИДОСАВ
+РАДОВИЋ ВЛАДИМИР
+РАДОВИЋ ВЛАДИМИР
+РАДОВИЋ ВЛАЈКО
+РАДОВИЋ ВОЈИСЛАВ
+РАДОВИЋ ВУКСАН
+РАДОВИЋ ЗДРАВКО
+РАДОВИЋ ЗОРАН
+РАДОВНИКОВИЋ МАРИЈА
+РАДУ БРАНКО
+РАДУЈКО ЂУРА
+РАДУЈКО АЛЕКСАНДАР
+РАДУЈКО БРАНКО
+РАДУЈКО ДЕСА
+РАДУЈКО ДУШАН
+РАДУЈКО ДУШАН
+РАДУЈКО ГОРАН
+РАДУЈКО ЈАСМИНА
+РАДУЈКО ЉИЉАНА
+РАДУЈКО МАРКО
+РАДУЈКО МИЛАН
+РАДУЈКО МИРА
+РАДУЈКО МИРКО
+РАДУЈКО НЕДЕЉКО
+РАДУЈКО СТЕВО
+РАДУЈКОВ АЛЕКСАНДАР
+РАДУЈКОВ ДАНИЦА ДИПЛ ИНГ
+РАДУЈКОВ ДАНИЛО
+РАДУЈКОВ ДАНИЛО
+РАДУЈКОВ ДЕЈАН
+РАДУЈКОВ ДРАГОЉУБ
+РАДУЈКОВ ЉУБИЦА
+РАДУЈКОВ ЉУБИЦА
+РАДУЈКОВ МИЛАН
+РАДУЈКОВ МИЛИВОЈ
+РАДУЈКОВ МИТАР
+РАДУЈКОВ НИКОЛА
+РАДУЈКОВ ПЕТАР
+РАДУЈКОВ РУЖИЦА
+РАДУЈКОВ СТЕВАН
+РАДУЈКОВ ВЛАДИМИР
+РАДУЈКОВИЋ ИЛИЈА
+РАДУЈКОВИЋ ЈЕЛКА
+РАДУЈКОВИЋ КОСТА
+РАДУКА ЛАЈОШ
+РАДУКИЋ РАДОСАВ
+РАДУКИН АЛЕКСА
+РАДУКИН БРАНКА
+РАДУКИН ДАНИЦА
+РАДУКИН ГАВРА
+РАДУКИН ЉУБОМИР
+РАДУКИН МИЛАН
+РАДУКИН МИЛЕНКО
+РАДУКИН МИРКО
+РАДУКИН РАДОСЛАВ
+РАДУКИН СТОЈКА
+РАДУЛАШКИ БОШКО
+РАДУЛАШКИ СТЕВАН
+РАДУЛЕВ ЈОВАН
+РАДУЉ ЈЕЛЕНА
+РАДУЛОВ ЦВЕТИСЛАВ
+РАДУЛОВ ЦВЕТИСЛАВ
+РАДУЛОВ ЈОВАН
+РАДУЛОВ ЈУЛКА
+РАДУЛОВИЋ ЖИВКО
+РАДУЛОВИЋ ЂОКО
+РАДУЛОВИЋ ЂОРЂЕ
+РАДУЛОВИЋ ЂОРЂЕ
+РАДУЛОВИЋ ЂУРО
+РАДУЛОВИЋ АЛЕКСАНДАР
+РАДУЛОВИЋ АЛЕКСАНДАР
+РАДУЛОВИЋ АНЂЕЛКА
+РАДУЛОВИЋ АНЂЕЛКО
+РАДУЛОВИЋ АНЂЕЛКО
+РАДУЛОВИЋ АНА
+РАДУЛОВИЋ-БЕЛИЋ ЗОРКА
+РАДУЛОВИЋ БОГДАНКА
+РАДУЛОВИЋ БОРИВОЈ
+РАДУЛОВИЋ БОСА
+РАДУЛОВИЋ БОСИЉКА
+РАДУЛОВИЋ БРАНКА
+РАДУЛОВИЋ БРАНКО
+РАДУЛОВИЋ БРАНКО
+РАДУЛОВИЋ БРАНКО
+РАДУЛОВИЋ БРАНКО
+РАДУЛОВИЋ БРАНКО
+РАДУЛОВИЋ БРАНКО
+РАДУЛОВИЋ БРАТИСЛАВ
+РАДУЛОВИЋ ДАНИЈЕЛА
+РАДУЛОВИЋ ДРАГАН
+РАДУЛОВИЋ ДРАГИЦА
+РАДУЛОВИЋ ДРАГИЦА
+РАДУЛОВИЋ ДРАГОЉУБ
+РАДУЛОВИЋ ДРАГУТИН
+РАДУЛОВИЋ ДУШАН
+РАДУЛОВИЋ ГОРАН
+РАДУЛОВИЋ ИЛИЈА
+РАДУЛОВИЋ ЈОРДАН
+РАДУЛОВИЋ ЈОВАН
+РАДУЛОВИЋ ЈОВАН
+РАДУЛОВИЋ КРУНИСЛАВ
+РАДУЛОВИЋ КСЕНИЈА
+РАДУЛОВИЋ ЛАЗАР
+РАДУЛОВИЋ ЉУБИША ДИПЛ ИНГ
+РАДУЛОВИЋ МАГДА
+РАДУЛОВИЋ МАРИЈАНА
+РАДУЛОВИЋ МАРИЈА
+РАДУЛОВИЋ МАРИЈА
+РАДУЛОВИЋ МИХАИЛО
+РАДУЛОВИЋ МИЛАН
+РАДУЛОВИЋ МИЛАН
+РАДУЛОВИЋ МИЛАН
+РАДУЛОВИЋ МИЛАН
+РАДУЛОВИЋ МИЛЕНА
+РАДУЛОВИЋ МИЛЕ
+РАДУЛОВИЋ МИЛОЈЕ
+РАДУЛОВИЋ МИЛОРАД ДР
+РАДУЛОВИЋ МИЛОВАН
+РАДУЛОВИЋ МИЛУТИН
+РАДУЛОВИЋ МИРЈАНА
+РАДУЛОВИЋ МИРКО
+РАДУЛОВИЋ МИРОСЛАВА
+РАДУЛОВИЋ НАДА
+РАДУЛОВИЋ НЕДЕЉКА
+РАДУЛОВИЋ НИКОЛА ДИПЛ ИНГ
+РАДУЛОВИЋ НИКОЛА
+РАДУЛОВИЋ НИКОЛА
+РАДУЛОВИЋ НИКОЛА
+РАДУЛОВИЋ НИНОСЛАВА ДР
+РАДУЛОВИЋ ПЕТАР
+РАДУЛОВИЋ ПЕТАР
+РАДУЛОВИЋ РАДЕ
+РАДУЛОВИЋ РАДИВОЈ
+РАДУЛОВИЋ РАДОЈЕ ДР
+РАДУЛОВИЋ РАДОЈКА
+РАДУЛОВИЋ РАДОМИР
+РАДУЛОВИЋ РАЈКО
+РАДУЛОВИЋ РОЗАЛИЈА
+РАДУЛОВИЋ РУЖА
+РАДУЛОВИЋ РУДОЛФ
+РАДУЛОВИЋ САВА
+РАДУЛОВИЋ САВА
+РАДУЛОВИЋ САВА
+РАДУЛОВИЋ СЕЛИМИР
+РАДУЛОВИЋ СЛАВИЦА
+РАДУЛОВИЋ СЛОБОДАН
+РАДУЛОВИЋ СРЕЋКО
+РАДУЛОВИЋ СРЕТО
+РАДУЛОВИЋ СТАНА
+РАДУЛОВИЋ СТАНКО
+РАДУЛОВИЋ СТЕВАН ДР
+РАДУЛОВИЋ СТЕВАН
+РАДУЛОВИЋ СТЕВАН
+РАДУЛОВИЋ СВЕТКО
+РАДУЛОВИЋ СВЕТОЗАР
+РАДУЛОВИЋ СВЕТОЗАР
+РАДУЛОВИЋ ТОМАШ
+РАДУЛОВИЋ ВЕЛИМИР
+РАДУЛОВИЋ ЗЛАТИНКА ДР
+РАДУЛОВИЋ ЗОРАН
+РАДУЛОВИЋ ЗОРАН
+РАДУЛОВИЋ ЗВОНИМИР
+РАДУМИЛО АЛЕКСАНДАР
+РАДУМИЛО ГОРДАНА
+РАДУМИЛО МИЋО
+РАДУМИЛО МИЛОРАД
+РАДУМИЛО МИРКО
+РАДУН ЖЕЉКО
+РАДУН ЖЕЉКО
+РАДУН ДРАГАН
+РАДУН ГОРАН
+РАДУН ИЛИЈА
+РАДУН ЈОВАН
+РАДУН ЉУБИЦА
+РАДУН МАРКО
+РАДУН МИЛОШ
+РАДУН СЛОБОДАН
+РАДУН СМИЉА
+РАДУН ВЛАДО
+РАДУЊИЋ МИЛОМИР
+РАДУНКОВИЋ МИРОСЛАВ
+РАДУНКОВИЋ РАДОМИР
+РАДУНКОВИЋ РАНКО
+РАДУНОВИЋ ЂОРЂЕ
+РАДУНОВИЋ ЈЕЛИЦА
+РАДУНОВИЋ ЈЕЛИЦА
+РАДУНОВИЋ ЈЕВРЕМ
+РАДУНОВИЋ РАДУН
+РАДУНОВИЋ РОСАНДА
+РАДУСИН МИЛЕ
+РАДУСИН ТОМА
+РАДУСИН ВЕРИЦА
+РАДУСИН ВЛАДИМИР
+РАДУСИНОВИЋ БИСЕР ДИПЛ ИНГ
+РАДУСИНОВИЋ БОРА
+РАДУСИНОВИЋ ДАНИЛО
+РАДУСИНОВИЋ МИЛАН
+РАДУСИНОВИЋ НЕДЕЉКО
+РАДУСИНОВИЋ ВОЈИСЛАВ
+РАДВАЊ САША
+РАДВАЊИ ЈОВАН
+РАДВАНСКИ СТЕВАН
+РАФА АНДРАШ
+РАФАИ ГАБОР
+РАФАИ ИШТВАН
+РАФАИ ЈУЛИЈАНА
+РАФАИ СТЕВАН
+РАФАИ ТИБОР
+РАФАЈЛОВИЋ ЗУЗАНА
+РАФАЛ ЂУРЂИНКА
+РАФАЛ ЛАЈОШ
+РАФАЛ МАРИЈА
+РАГАЧ ИВАН
+РАГАИ ЈОВГЕН
+РАГАЈИ ЂУРА
+РАГАЈИ ИРИНА
+РАГАЈИ НИКОЛА
+РАГАЈИ НИКОЛА
+РАГАЈИ ВЛАДА
+РАГАЈИ ВЛАДА
+РАГАЈИ ВЛАДИМИР
+РАГО АДАМ
+РАГУЖ ДРАЖЕН
+РАХЕЛИЋ СВЕТОМИР ДР
+РАХМАН МИХАЈЛО
+РАИЧ АЛЕКСАНДАР
+РАИЧ НИКОЛА
+РАИЧЕВИЋ ЖИВКО
+РАИЧЕВИЋ ЖИВОЈИН
+РАИЧЕВИЋ ЖИВОЈИН
+РАИЧЕВИЋ БОРКА
+РАИЧЕВИЋ ДРАГИЋ
+РАИЧЕВИЋ МИЛАН
+РАИЧЕВИЋ МИЛИЦА
+РАИЧЕВИЋ НИКОЛА
+РАИЧЕВИЋ ВЕСНА
+РАИЧЕВИЋ ЗОРАН
+РАИЧИЋ ЖИВОЈИН
+РАИЧИЋ ЖИВОЈИН
+РАИЋ ДРАГАН
+РАИЋ НИКОЛА
+РАИЛИЋ РАНКО
+РАИЛИЋ ВУКОСАВА
+РАИМОВСКИ ДЕСАНКА
+РАИНАЦ МАРИКА
+РАИНАЦ МИТАР
+РАЈЧАН ИШТВАН
+РАЈЧЕТИЋ ДРАГОМИР
+РАЈЧЕТИЋ ЕМИЛ
+РАЈЧЕТИЋ ГОЈКО
+РАЈЧЕТИЋ ИВАНКА
+РАЈЧЕТИЋ ЛАЗАР
+РАЈЧЕТИЋ ЉУБИЦА
+РАЈЧЕТИЋ МИЛИВОЈ
+РАЈЧЕТИЋ МИРОСЛАВ
+РАЈЧЕТИЋ РУЖИЦА
+РАЈЧЕТИЋ СИНИША
+РАЈЧЕТИЋ СТОЈАН
+РАЈЧЕТИЋ ВЕРА
+РАЈЧЕТИЋ ВЛАДИСЛАВ
+РАЈЧЕТИЋ ВЛАДИСЛАВ
+РАЈЧЕВИЋ ВЛАДЕТА
+РАЈЧИЋ ГРГА
+РАЈЧИЋ ПАВЛЕ
+РАЈЧИЋ СТЕВАН
+РАЈШИЋ АНЂА
+РАЈШИЋ ДАНИЦА
+РАЈШИЋ ДУШАН
+РАЈШИЋ ИЛИЈА
+РАЈШИЋ ЈЕЛА
+РАЈШИЋ НАДА
+РАЈШИЋ РАДЕ
+РАЈШИЋ СТАНА
+РАЈШИЋ СТАНКО
+РАЈШЛИ ИЛОНА
+РАЈШЛИ ЛАСЛО
+РАЈАЧИЋ-ЧАПАКОВИЋ ЈЕЛИЦА
+РАЈАЧИЋ ЂУРО
+РАЈАЧИЋ ЂУРО
+РАЈАЧИЋ АЛЕКСАНДАР
+РАЈАЧИЋ БОРИСЛАВ
+РАЈАЧИЋ БОРИСЛАВ
+РАЈАЧИЋ БРАНИСЛАВА
+РАЈАЧИЋ ДМИТАР
+РАЈАЧИЋ ДУШАН
+РАЈАЧИЋ ГОРДАНА
+РАЈАЧИЋ ИЛИЈА
+РАЈАЧИЋ ЈОВАН
+РАЈАЧИЋ МИЛАН
+РАЈАЧИЋ МИЛАН
+РАЈАЧИЋ МИЛАН
+РАЈАЧИЋ ПЕТАР
+РАЈАЧИЋ ТИХОМИР
+РАЈАЧИЋ ВЛАДИМИР
+РАЈАЧИЋ ВЛАДО
+РАЈАЧИЋ ЗОРИЦА
+РАЈАЧИЋ ЗОРКА
+РАЈАК БРАНКО
+РАЈАК МИЛЕНА
+РАЈАК НЕГОВАН
+РАЈАКОВАЦ МИОДРАГ
+РАЈАКОВАЦ ЗОРАН
+РАЈБЕР ЈОЖЕФ
+РАЈДА ПЕТАР
+РАЈДА ПЕТЕР
+РАЈДА САНДИ
+РАЈЕВИЋ КОСТА
+РАЈЕВИЋ ВАЛЕРИЈА
+РАЈХ ДЕЖЕ
+РАЈХ ОЛГА
+РАЈХ ВЛАДИМИР
+РАЈИЧ МИЛАН
+РАЈИЧИЋ КАТАЛИН
+РАЈИЧИЋ МИОДРАГ
+РАЈИЧИЋ МИОДРАГ
+РАЈИЋ АНКИЦА
+РАЈИЋ БОРИСАВ
+РАЈИЋ ДАРИНКА
+РАЈИЋ ДЕСАНКА
+РАЈИЋ ДОБРИВОЈ
+РАЈИЋ ДРАГАН
+РАЈИЋ ДРАГА
+РАЈИЋ ДРАГИЦА
+РАЈИЋ ДРАГУТИН
+РАЈИЋ ГОРДАНА
+РАЈИЋ ИГЊАТ
+РАЈИЋ ИСА
+РАЈИЋ ЈОВАН
+РАЈИЋ ЈОВАН
+РАЈИЋ КАТАРИНА
+РАЈИЋ КОВИНКА
+РАЈИЋ КРИСТИНА
+РАЈИЋ ЉУБИЦА
+РАЈИЋ ЛУКА
+РАЈИЋ МИЛАН
+РАЈИЋ МИЛЕНА
+РАЈИЋ МИЛКА
+РАЈИЋ МИЛОРАД
+РАЈИЋ МИОМИР
+РАЈИЋ НАДА
+РАЈИЋ НАДА
+РАЈИЋ НИКОЛА
+РАЈИЋ ПЕРКА
+РАЈИЋ ПЕТАР
+РАЈИЋ РАДЕ
+РАЈИЋ РАДИСЛАВ
+РАЈИЋ РАДМИЛА
+РАЈИЋ РУЖА
+РАЈИЋ СЛАВКА
+РАЈИЋ СНЕЖАНА
+РАЈИЋ СПАСОЈЕ ДР
+РАЈИЋ СТЕВАН
+РАЈИЋ СТЕВАН
+РАЈИЋ СТЕВАН
+РАЈИЋ ВЕЛИМИР
+РАЈИЋ ВЕЛИМИР
+РАЈИЋ ВЕЛИНКА
+РАЈИЋ ВОЈИСЛАВ
+РАЈИЋ ВОЈИСЛАВ
+РАЈИЋ ЗОРАН
+РАЈИЛИЋ ЈОВАНКА
+РАЈИНАЦ-БУКУРОВ ДРАГАНА
+РАЈИНАЦ НЕНАД
+РАЈИНАЦ СВЕТОЗАР
+РАЈИНОВИЋ МИРКО
+РАЈКИЋ НИКОЛА
+РАЈКОВ БОГДАН ДР
+РАЈКОВ БОРИВОЈ
+РАЈКОВ ДЕСАНКА
+РАЈКОВ ДРАГИЋ
+РАЈКОВ ДУШАН
+РАЈКОВ ИСИДОР
+РАЈКОВ ИВАН
+РАЈКОВ ИВАН
+РАЈКОВ ЉУБОМИР
+РАЈКОВ МАРКО
+РАЈКОВ МИЛАН
+РАЈКОВ МИЛЕНКО
+РАЈКОВ МИЛОРАД
+РАЈКОВ МЛАДЕН ДИПЛ ИНГ
+РАЈКОВ МОМИР
+РАЈКОВ МОМИР
+РАЈКОВ НИКОЛА
+РАЈКОВ ПЕТАР
+РАЈКОВ РАЈКО
+РАЈКОВ РАТИМИР
+РАЈКОВ САВА
+РАЈКОВ СТЕВАН
+РАЈКОВ ВЕСНА
+РАЈКОВ ВЛАДИМИР
+РАЈКОВ ВУКАШИН
+РАЈКОВИЋ ЧЕДОМИР
+РАЈКОВИЋ ЖИВАН ДР
+РАЈКОВИЋ АНКИЦА
+РАЈКОВИЋ БЛАГУТИН
+РАЈКОВИЋ БОГОЉУБ
+РАЈКОВИЋ БОРИВОЈЕ
+РАЈКОВИЋ БРАНКО
+РАЈКОВИЋ ДАМЊАН
+РАЈКОВИЋ ДРАГАНА
+РАЈКОВИЋ ДРАГАН
+РАЈКОВИЋ ДРАГИША
+РАЈКОВИЋ ДРАГОЉУБ
+РАЈКОВИЋ ДУШАН
+РАЈКОВИЋ ИВО
+РАЈКОВИЋ ЉУБОМИР
+РАЈКОВИЋ МИЛАН
+РАЈКОВИЋ МИЛЕВА
+РАЈКОВИЋ МИЛИЋ
+РАЈКОВИЋ МИЉКО
+РАЈКОВИЋ МИРКО
+РАЈКОВИЋ МИРОЉУБ
+РАЈКОВИЋ НИКОЛА
+РАЈКОВИЋ ПЕТАР
+РАЈКОВИЋ РАЈКО
+РАЈКОВИЋ РАТКО
+РАЈКОВИЋ СЛАВКО
+РАЈКОВИЋ СЛОБОДАН
+РАЈКОВИЋ СРБОЉУБ
+РАЈКОВИЋ СРЕТЕН
+РАЈКОВИЋ СТЕВАН
+РАЈКОВИЋ СТОЈА
+РАЈКОВИЋ СВЕТИСЛАВ
+РАЈКОВИЋ ТАТЈАНА
+РАЈКОВИЋ ТОМИСЛАВ
+РАЈКОВИЋ ВЕЛИМИР
+РАЈКОВИЋ ВИДОСАВ
+РАЈКОВИЋ ВЛАСТИМИР
+РАЈЛИЋ МИЛКА
+РАЈЛИЋ НЕВЕНКА
+РАЈМОВСКА ЈЕЛЗА
+РАЈНИЋ ДРАГАН
+РАЈНИЋ НОВАК
+РАЈНИНГЕР ЈОЖЕФ
+РАЈНОВИЋ АЛОЈЗ
+РАЈНОВИЋ БЛАЖ
+РАЈНОВИЋ ЈЕЛЕНА
+РАЈНОВИЋ ЈОВАН
+РАЈНОВИЋ ЈУЛИЈАНА
+РАЈНОВИЋ НАДА
+РАЈНОВИЋ СНЕЖАНА
+РАЈНПРЕХТ ВЕРА
+РАЈТА ИШТВАН
+РАЈТА МАРИЈА
+РАЈТА НИКОЛА
+РАЈТЕНБАХ ЕЛЕМИР
+РАЈТЕР ДРАГИЦА
+РАЈТЕР ЗОЛТАН
+РАК АНИЦА
+РАК МАРИЈА
+РАК НИКОЛА
+РАК ВЕЛИБОР
+РАКШАЊИ ЛАДИСЛАВ
+РАКАС ЂОРЂЕ
+РАКАС РАДОЈКА
+РАКАЗОВ МИОДРАГ
+РАКЕТИЋ ТОМИСЛАВ
+РАКИЋ ЖАРКО
+РАКИЋ ЖИВКА
+РАКИЋ ЖИВКО
+РАКИЋ ЂОРЂЕ
+РАКИЋ ЂОРЂЕ
+РАКИЋ ЂОРЂЕ
+РАКИЋ ЂУРА
+РАКИЋ АЛЕКСАНДАР
+РАКИЋ АНЂЕЛИЈА
+РАКИЋ АНЂЕЛКА
+РАКИЋ АНАСТАСИЈА
+РАКИЋ АНА
+РАКИЋ БЛАГОЈЕ
+РАКИЋ БОЖО
+РАКИЋ БОГДАНКА
+РАКИЋ БОРО
+РАКИЋ БРАНИМИР
+РАКИЋ БРАНИСЛАВ
+РАКИЋ БРАНКА
+РАКИЋ БРАНКО
+РАКИЋ ДАРИНКА
+РАКИЋ ДОМИНКА
+РАКИЋ ДРАГАНА
+РАКИЋ ДРАГАН
+РАКИЋ ДРАГИША
+РАКИЋ ДРАГОМИР
+РАКИЋ ДУШАНКА
+РАКИЋ ДУШАН
+РАКИЋ ДУШАН
+РАКИЋ ДУШАН
+РАКИЋ ДУШАН
+РАКИЋ ДУШАН
+РАКИЋ ДУШАН
+РАКИЋ ДУШАН
+РАКИЋ ДУШАН
+РАКИЋ ДУШАН
+РАКИЋ ДУШАН
+РАКИЋ ГАВРА
+РАКИЋ ГЛИГОРИЈЕ
+РАКИЋ ГОРДАНА
+РАКИЋ ГРУЈА
+РАКИЋ ИВАН
+РАКИЋ ЈОВАНКА
+РАКИЋ ЈОВАН
+РАКИЋ ЈОВАН
+РАКИЋ ЈОВАН
+РАКИЋ ЈОВИЦА
+РАКИЋ КАТИЦА
+РАКИЋ КЛЕМЕНТ
+РАКИЋ ЛАЗАР
+РАКИЋ ЉИЉАНА
+РАКИЋ ЉИЉАНА
+РАКИЋ ЉИЉАНА
+РАКИЋ ЉУБИША ДР ЛЕКАР
+РАКИЋ ЉУБИША
+РАКИЋ ЉУБИЦА
+РАКИЋ ЉУБИЦА
+РАКИЋ ЉУБИЦА
+РАКИЋ ЉУБИЦА
+РАКИЋ ЉУБОМИР
+РАКИЋ ЉУБО
+РАКИЋ МАТИЈА
+РАКИЋ МИЛАНКА
+РАКИЋ МИЛАН
+РАКИЋ МИЛАН
+РАКИЋ МИЛАН
+РАКИЋ МИЛАН
+РАКИЋ МИЛАН
+РАКИЋ МИЛАН
+РАКИЋ МИЛАН
+РАКИЋ МИЛЕНКО
+РАКИЋ МИЛЕНКО
+РАКИЋ МИЛЕНКО
+РАКИЋ МИЛИЦА
+РАКИЋ МИЛИНА
+РАКИЋ МИЛИВОЈЕ
+РАКИЋ МИЛИВОЈ
+РАКИЋ МИЛИВОЈ
+РАКИЋ МИЛИВОЈ
+РАКИЋ МИЛКА
+РАКИЋ МИЛОШ
+РАКИЋ МИЛОВАН
+РАКИЋ МИЛУТИН
+РАКИЋ МИОДРАГ
+РАКИЋ МИРА
+РАКИЋ МИРА
+РАКИЋ МИРЈАНА
+РАКИЋ МИРЈАНА
+РАКИЋ МИРЈАНА
+РАКИЋ МИРЈАНА
+РАКИЋ МИРОСЛАВА
+РАКИЋ НАТАЛИЈА
+РАКИЋ НЕБОЈША
+РАКИЋ НЕДЕЉКО
+РАКИЋ НЕНАД
+РАКИЋ НЕНАД
+РАКИЋ НИКОЛА
+РАКИЋ НИКОЛА
+РАКИЋ НОВАК
+РАКИЋ ОБРАД
+РАКИЋ ПАЈА
+РАКИЋ ПАНЕ
+РАКИЋ ПАВЛЕ
+РАКИЋ ПЕТАР
+РАКИЋ ПЕТАР
+РАКИЋ ПРЕДРАГ
+РАКИЋ РАДМИЛА
+РАКИЋ РАДМИЛА
+РАКИЋ РАДОЈКА
+РАКИЋ РАДОЈКА
+РАКИЋ РАДОСЛАВ ДИПЛ ИНГ
+РАКИЋ РАДОВАН
+РАКИЋ РАДОВАН
+РАКИЋ РАДОВАН
+РАКИЋ РАДОВАН
+РАКИЋ РАДОВАН
+РАКИЋ РАЈКО
+РАКИЋ РАЈКО
+РАКИЋ РУЖИЦА
+РАКИЋ САВА
+РАКИЋ СЛАВКА
+РАКИЋ СЛАВКО
+РАКИЋ СЛОБОДАН
+РАКИЋ СЛОБОДАН
+РАКИЋ СЛОБОДАН
+РАКИЋ СМИЉАНА
+РАКИЋ СОФИЈА
+РАКИЋ СТАМЕНКА
+РАКИЋ СТЕВАНКА
+РАКИЋ СТЕВАН
+РАКИЋ СТЕВАН
+РАКИЋ СТЕВАН
+РАКИЋ СТЕВАН
+РАКИЋ СТЕВИЦА
+РАКИЋ СТОЈАНКА
+РАКИЋ СТОЈАН
+РАКИЋ СВЕТОМИР
+РАКИЋ СВЕТОЗАР
+РАКИЋ ТИМА
+РАКИЋ ТОДОР
+РАКИЋ ТОМИСЛАВ
+РАКИЋ ВАСИЛИЈЕ
+РАКИЋ ВЕЛЕМИР
+РАКИЋ ВЕРА
+РАКИЋ ВЕРА
+РАКИЋ ВИДОСАВА
+РАКИЋ ВЛАДИМИР
+РАКИЋ ВЛАДИМИР
+РАКИЋ ВЛАДИМИР
+РАКИЋ ВЛАДИМИР
+РАКИЋ ВЛАДИМИР
+РАКИЋ ЗАГА
+РАКИЋ ЗЛАТА
+РАКИЋ ЗОРАН
+РАКИЋ ЗОРКА
+РАКИЋЕВИЋ СТАМЕНА
+РАКИЋЕВИЋ ТИХОМИР
+РАКИЋЕВИЋ ЗОРАН
+РАКИН ЂОРЂЕ
+РАКИН АНТУН
+РАКИН БОРИСЛАВ
+РАКИН ГОЈКО
+РАКИН ЈЕЛИЦА
+РАКИН ЈУЛИЈАНА
+РАКИН-МАРТИНОВИЋ РАДМИЛА
+РАКИН РАДОВАН
+РАКИТА АНКИЦА
+РАКИТА БОЖО
+РАКИТА ЦВИЈАН
+РАКИТА ЦВИЈО
+РАКИТА ЈОВО
+РАКИТА ЉИЉАНА
+РАКИТА МИЛАН
+РАКИТА МЛАДИНКО
+РАКИТА ПЕТАР
+РАКИТА СИМКА
+РАКОЧЕВИЋ ЂОРЂЕ
+РАКОЧЕВИЋ БОРО
+РАКОЧЕВИЋ ГРУЈИЦА
+РАКОЧЕВИЋ МАРИЈАН
+РАКОЧЕВИЋ МАРКО
+РАКОЧЕВИЋ МИЛАН
+РАКОЧЕВИЋ МИЛИЈА
+РАКОЧЕВИЋ МИРОСЛАВ
+РАКОЧЕВИЋ РАДЕ
+РАКОЧЕВИЋ РАДМИЛА
+РАКОШ ЈАНОШ
+РАКОШ КАТИЦА
+РАКОШ ЗВОНИМИР
+РАКОШИ НАДА
+РАКОШИ ВЛАДИСЛАВ
+РАКОЊАЦ БОГОЉУБ
+РАКОЊАЦ ПУНИША
+РАКОВИЋ АЛЕКСАНДАР
+РАКОВИЋ ДРАГИЦА
+РАКОВИЋ ДУШАН
+РАКОВИЋ ЈУГОСЛАВ
+РАКОВИЋ ЉУБИНКА
+РАКОВИЋ МИЛАН
+РАКОВИЋ МИЛОВАН
+РАКОВИЋ НИКОЛА
+РАКОВИЋ ОСТОЈА
+РАКОВИЋ РАДОМИР
+РАКОВИЋ РАТКО
+РАКОВИЋ СЛАВКО
+РАКОВИЋ СТАНИСЛАВ
+РАКОВИЋ ТОМИСЛАВ
+РАКОВИЋ ВИТОМИРКА
+РАКОВИЋ ВЛАДО
+РАКУШИЋ ВЛАДИМИР
+РАЛЕТИЋ ЖИВКА
+РАЛЕТИЋ ЂОРЂЕ
+РАЛЕТИЋ ЂУРА
+РАЛЕТИЋ АНЂЕЛКА
+РАЛЕТИЋ АНА
+РАЛЕТИЋ БОГДАН
+РАЛЕТИЋ ДОБРИЦА
+РАЛЕТИЋ ДРАГАН
+РАЛЕТИЋ ДУШАН
+РАЛЕТИЋ ИЛИЈА
+РАЛЕТИЋ ЈЕЛИЦА
+РАЛЕТИЋ ЛАЗАР
+РАЛЕТИЋ ЛАЗАР
+РАЛЕТИЋ ЛАЗАР
+РАЛЕТИЋ ЛЕПОСАВА
+РАЛЕТИЋ МАЈА
+РАЛЕТИЋ МИЛАН
+РАЛЕТИЋ МИЛОШ
+РАЛЕТИЋ МИЛОШ
+РАЛЕТИЋ МИЛОРАД
+РАЛЕТИЋ МИРКО
+РАЛЕТИЋ МИРОСЛАВ
+РАЛЕТИЋ МЛАДЕН
+РАЛЕТИЋ ПЕТАР
+РАЛЕТИЋ-САВИЋ ЈЕЛЕНА
+РАЛЕТИЋ-САВИЋ ЈЕЛЕНА
+РАЛЕТИЋ ВЕЉКО
+РАЛЕТИЋ ВЕРА
+РАЛЕТИЋ ЗОРАН
+РАЛЕТИЋ ЗОРИЦА
+РАЛЕВИЋ НЕБОЈША
+РАЛИЋ ЖИВОЈИН
+РАЛИЋ БРАНКО
+РАЛИЋ ДРАГИЦА
+РАЛИЋ ДУШАН
+РАЛИЋ МАРИЈА
+РАЛИЋ МАРИЈА
+РАЛИЋ МИЛЕ
+РАЛИЋ МОМИРКА
+РАЛИЋ СТЕВАН
+РАЛИЋ СТЕВА
+РАЉИЋ АНЂЕЛКО
+РАЉИЋ ДРАГИЊА
+РАЉИЋ ДУШАН
+РАЉИЋ НЕДЕЉКО
+РАМАЧ АНИЦА
+РАМАЧ ИВАН
+РАМАЧ ЈУЛИЈАН
+РАМАЧ ЛЕОНА
+РАМАЧ ЉУБОМИР
+РАМАЧ ЉУБОМИР
+РАМАЧ ЉУБОМИР
+РАМАЧ МАРИЈА
+РАМАЧ МИХАЈЛО
+РАМАЧ МИХАЈЛО
+РАМАЧ МИРОСЛАВ
+РАМАЧ НАДА
+РАМАЧ НАТАЛИЈА
+РАМАЧ ПЕТАР
+РАМАЧ СИМЕОН
+РАМАЧ ВЛАДИМИР
+РАМАЧ ЗДЕНКА
+РАМАЋ МИЛЕВА
+РАМАДАНИ РОЗА
+РАМАДАНОВ МУМУДИЈА
+РАМАДАНОВИЋ ЂЕМАЉ
+РАМАДАНОВИЋ ЈАКОВ
+РАМАДАНОВСКИ НАДА
+РАМАДАНОВСКИ НЕДЕЉКО
+РАМАДАНСКИ ДРАГИЋ
+РАМАДАНСКИ ЈЕЛЕНА
+РАМАДАНСКИ МИЛИНКА
+РАМАЗАНОВ ВИКТОР
+РАМИЋ ЂУКА
+РАМИЋ ЈОВАНКА
+РАМИЋ ЛАЗАР
+РАМИЋ ЛУКА
+РАМИЋ ЛУКА
+РАМИЋ МИЛОШ ДИПЛ ОЕЦ
+РАМИЋ НИКОЛА
+РАМИЋ РАДОЈКА
+РАМИЋ СТОЈАН
+РАМИЋ ВЕЛИДА
+РАМЉАК ВЛАДИМИР
+РАМЉАК ЗЛАТКО
+РАНЧИЋ ШИМЕ
+РАНЧИЋ ДУШАНКА
+РАНЧИЋ ХРАНИСЛАВ
+РАНЧИЋ ЈОРДАН
+РАНЧИЋ МИЛОШ
+РАНЧИЋ РАНКО
+РАНЂЕЛОВИЋ ЂОРЂЕ
+РАНЂЕЛОВИЋ ХРАНИСЛАВ
+РАНЂЕЛОВИЋ ИЛИЈА
+РАНЂЕЛОВИЋ ЉИЉАНА
+РАНЂЕЛОВИЋ ЉУБИША
+РАНЂЕЛОВИЋ ЉУБОДРАГ
+РАНЂЕЛОВИЋ МИРЈАНА
+РАНЂЕЛОВИЋ МИРОСЛАВ
+РАНЂЕЛОВИЋ МИРОСЛАВ
+РАНЂЕЛОВИЋ МЛАДЕН
+РАНЂЕЛОВИЋ ОБРАД
+РАНЂЕЛОВИЋ РУЖИЦА
+РАНЂЕЛОВИЋ СЛАВОЉУБ
+РАНЂЕЛОВИЋ СТЕВАН
+РАНЂЕЛОВИЋ ТОМИСЛАВ
+РАНЂЕЛОВИЋ ВЛАСТИМИР
+РАНЂЕЛОВИЋ ЗОРАН
+РАНДЕЉ ЂОРЂЕ
+РАНДЕЉ ЂУРЂИНКА
+РАНДЕЉ ЛАЗАР
+РАНДЕЉ ОЛИВЕРА
+РАНДЕЉ ПЕТАР
+РАНДЕЉ СТЕВАН
+РАНДЕЉ СВЕТОЗАР
+РАНГЕЛОВ ДИМИТАР
+РАНГЕЛОВ СТЕВАН
+РАНГЕЛОВ СТЕВАН
+РАНИЋ ВЛАДИСЛАВ
+РАНИН ЈОВАН
+РАНИН ЛАЗАР
+РАНИСАВ РАДИВОЈ
+РАНИСАВЉЕВ ЖИВКО
+РАНИСАВЉЕВ ЂОРЂЕ
+РАНИСАВЉЕВ ЂОРЂЕ
+РАНИСАВЉЕВ ГОРДАНА
+РАНИСАВЉЕВ МИЛИЦА
+РАНИСАВЉЕВ МИЛОШ
+РАНИСАВЉЕВ ПАЈА
+РАНИСАВЉЕВ РАДА
+РАНИСАВЉЕВ РАДМИЛА
+РАНИСАВЉЕВ РАДМИЛА
+РАНИСАВЉЕВ РАДОСЛАВ
+РАНИСАВЉЕВ СЛАВОЉУБ
+РАНИСАВЉЕВ СТЕВАН
+РАНИСАВЉЕВ ТИЈАНА
+РАНИСАВЉЕВИЋ ЖАРКО
+РАНИСАВЉЕВИЋ ЖЕЉКО
+РАНИСАВЉЕВИЋ БОГУМИЛА
+РАНИСАВЉЕВИЋ ДОБРИВОЈ
+РАНИСАВЉЕВИЋ ДУШАН
+РАНИСАВЉЕВИЋ ЈЕЛЕНА
+РАНИСАВЉЕВИЋ НЕБОЈША
+РАНИСАВЉЕВИЋ РАДИВОЈ
+РАНИСАВЉЕВИЋ СИНИША
+РАНИСАВЉЕВИЋ СЛАВКА
+РАНИСАВЉЕВИЋ ВИОЛЕТА
+РАНИСАВЉЕВИЋ ЗОРАН
+РАНИСЛАВ-ЛАРТY НАДА ДР
+РАНИТОВИЋ БОШКО
+РАНИТОВИЋ БОГОЉУБ
+РАНИТОВИЋ ДИВНА
+РАНИТОВИЋ ДРАГОСЛАВ
+РАНИТОВИЋ ЈЕЛИЦА
+РАНИТОВИЋ СЛАВИЦА
+РАНИТОВИЋ ВЕЛИСЛАВ
+РАНКИЋ СТЕВО
+РАНКИЋ ТОМИСЛАВ
+РАНКОВ АНКИЦА
+РАНКОВ ДРАГАН ДР
+РАНКОВ ДРАГОЉУБ
+РАНКОВ ГРОЗДА
+РАНКОВ ИРЕНА
+РАНКОВ ИВАНКА
+РАНКОВ ЈОВАН
+РАНКОВ КОСТА
+РАНКОВ ЉИЉАНА
+РАНКОВ ЉУБИЦА
+РАНКОВ МАРИЈА
+РАНКОВ МИЛАН
+РАНКОВ МИЛИВОЈ
+РАНКОВ МИРОСЛАВ
+РАНКОВ НЕДЕЉКО
+РАНКОВ НЕДЕЉКО
+РАНКОВ ОЛГИЦА
+РАНКОВ ПЕТАР
+РАНКОВ РАДИСЛАВ
+РАНКОВ РАДМИЛА
+РАНКОВ РАДОЈКА
+РАНКОВ СТЕВАН
+РАНКОВ СТЕВАН
+РАНКОВ ТАНАСИЈЕ
+РАНКОВ ЗОРА
+РАНКОВИЋ ЖИВКО
+РАНКОВИЋ АНЂЕЛКА ДР
+РАНКОВИЋ АНДРИЈА
+РАНКОВИЋ АНКА
+РАНКОВИЋ БОШКО
+РАНКОВИЋ БОЈАН
+РАНКОВИЋ БОРИВОЈ
+РАНКОВИЋ БРАНИСЛАВ
+РАНКОВИЋ БРАНКА
+РАНКОВИЋ ДАРИНКА
+РАНКОВИЋ ДЕСАНКА
+РАНКОВИЋ ДРАГО
+РАНКОВИЋ ДУШАН
+РАНКОВИЋ ДУШИЦА
+РАНКОВИЋ ДУБРАВКА
+РАНКОВИЋ ИРЕНА
+РАНКОВИЋ ИВАН
+РАНКОВИЋ ЈОВАН
+РАНКОВИЋ ЉУБИЦА
+РАНКОВИЋ МЕЛАНИЈА
+РАНКОВИЋ МИЛИЦА
+РАНКОВИЋ МИРОСЛАВ
+РАНКОВИЋ НИКОЛА ДИПЛ ИНГ
+РАНКОВИЋ ПРЕДРАГ
+РАНКОВИЋ РАДИВОЈ
+РАНКОВИЋ РАТОМИР
+РАНКОВИЋ РОЗАЛИЈА
+РАНКОВИЋ СЛОБОДАН
+РАНКОВИЋ СТЕВАН
+РАНКОВИЋ СВЕТОЗАР
+РАНКОВИЋ СВЕТОЗАР
+РАНКОВИЋ ТОМИСЛАВ
+РАНКОВИЋ ВУКОСАВА
+РАНКОВИЋ ЗОРАН
+РАНОГАЈЕЦ ИВАН
+РАОНИЋ ЂОРЂЕ
+РАОНИЋ ИКОНИЈА
+РАОНИЋ ЈАНКО
+РАОНИЋ РАДЕНКО
+РАОНИЋ СПАСОЈЕ
+РАОНИЋ ВУКОЛА
+РАПЧО КАТАЛИН
+РАПАИЋ ДЕЈАН
+РАПАИЋ МИОДРАГ ДР
+РАПАИЋ РАДЕНКА
+РАПАИЋ СТЕВАН
+РАПАЈИЋ АНАМАРИЈА
+РАПАЈИЋ БОРИВОЈЕ
+РАПАЈИЋ ДУШКО
+РАПАЈИЋ МИЛАН АДВОКАТ
+РАПАЈИЋ МИЛАН
+РАПАЈИЋ МИЛАН
+РАПАЈИЋ РАДОЈА
+РАПАЈИЋ СТЕВАН
+РАПАЈИЋ ТАМАРА
+РАПИЋ БОРЕ
+РАПИЋ ДРАГОМИР
+РАПИЋ ДУШАНКА
+РАПИЋ ЈОВАН
+РАПИЋ ЈОВАН
+РАПИЋ МИЛАН
+РАПИЋ НАДА
+РАПИЋ НЕНАД
+РАПИЋ РАДЕ
+РАПИЋ РУШКО
+РАПО СТЈЕПАН
+РАПОТИ ИШТВАН
+РАСПОПОВИЋ БОШКО
+РАСПОПОВИЋ МИЛОШ
+РАСПОПОВИЋ СЛОБОДАН
+РАСПОПОВИЋ СВЕТИСЛАВ
+РАСПОПОВИЋ ВЛАДИСЛАВ
+РАСТАВАЦ ПЕТАР
+РАСТИК ЂОРЂЕ
+РАСТОВАЦ ЂУРО
+РАСТОВИЋ ИЛИЈА
+РАСТОВИЋ ЈЕЛЕНА
+РАСТОВИЋ МИЛАН
+РАСТОВИЋ МИЛИЦА
+РАСТОВИЋ-ПЛИВЕЛИЋ ДЕСАНКА
+РАСТОВИЋ РАДОЈКА
+РАСТОВИЋ СЛОБОДАН
+РАСТОВИЋ СТЕВАН
+РАСТОВИЋ ВЕРА
+РАТ ФЕРЕНЦ
+РАТ ФРАЊА
+РАТ ЈАКОБ
+РАТ ЈОСИП
+РАТАЈАЦ ДРАГОЉУБ ДР
+РАТГЕБЕР ЈУЛИЈА
+РАТГЕБЕР ЛАСЛО
+РАТИЋ ЂУРЂИНА
+РАТИЋ БОРА
+РАТИЋ ДУШАН
+РАТКЕЛИЋ МИЛАН
+РАТКОВ ЖИВКО
+РАТКОВ ЂОРЂЕ
+РАТКОВ АЦА
+РАТКОВ БОРИВОЈ
+РАТКОВ ЦЕЦИЛИЈА
+РАТКОВ ДРАГАН
+РАТКОВ ДРАГИЊА
+РАТКОВ ДРАГИЊА
+РАТКОВ ДУШАНКА
+РАТКОВ ДУШАН
+РАТКОВ ЈЕЛЕНА
+РАТКОВ ЈУЛИЈАНА
+РАТКОВ КАТАРИНА
+РАТКОВ ЛЕПОСАВА
+РАТКОВ МИЋО
+РАТКОВ МИЛЕНКО
+РАТКОВ МИЛЕНКО
+РАТКОВ МИЛИЦА
+РАТКОВ НЕНАД
+РАТКОВ НЕНАД
+РАТКОВ ПАВЛЕ
+РАТКОВ ПРЕДРАГ
+РАТКОВ РАДЕ
+РАТКОВ РАДИВОЈ
+РАТКОВ РАДОМИР
+РАТКОВ РУЖИЦА
+РАТКОВ САВКА
+РАТКОВ СМИЉАНА
+РАТКОВ СТАНИСЛАВА
+РАТКОВ СТАНИСЛАВ
+РАТКОВ ВЕРА
+РАТКОВ ВИДОСАВА
+РАТКОВ ВЛАДИМИР
+РАТКОВ ВЛАДИМИР
+РАТКОВ ВОЈИСЛАВ
+РАТКОВ ВУЈИЦА
+РАУШ КЛАУДИЈА
+РАУШ РИХАРД
+РАУШЕНБЕРГЕР МАРТИН
+РАУШКИ ЂОРЂЕ
+РАУШКИ АНГЕЛИНА
+РАУШКИ ДАНИЛО
+РАУШКИ ЉИЉАНА
+РАУШКИ МИЛАНА
+РАУШКИ МИЛОШ
+РАУСАВЉЕВИЋ ЂОРЂЕ
+РАУСАВЉЕВИЋ ДУШАНКА
+РАУЗА ПАЛКО
+РАВАЈИЋ ЂУРО
+РАВАСИ ЉУБИЦА
+РАВИЋ НИКОЛА
+РАВИЋ СЛОБОДАНКА
+РАВЛИЋ-БАЊАЦ СНЕЖАНА
+РАВЛИЋ ПЕЈО
+РАВЛИЋ ВИДА
+РАВЛИЈА ДРАГАН
+РАЗДЕВШЕК СТОЈАНКА
+РАЗИЋ ЏЕМАЛ
+РАЗМОВСКИ НИКОЛА
+РАЗУМЕНИЋ-КОТРОШАН МИЛЕНА
+РЕЧЕИ ИЛОНКА
+РЕЧКО ИЛЕШ
+РЕШЋАНСКИ БОШКО
+РЕШЋАНСКИ БОГДАН
+РЕШЋАНСКИ ВЕРА
+РЕШЕТАР АНТЕ
+РЕШЕТАР СТАНА
+РЕШЕТАРОВИЋ ЈОВАН
+РЕШИТИ ЂОРЂЕ
+РЕШЊАК АНДРИЈА
+РЕШЊАК ЛАСЛО
+РЕШЊАК СТЕВАН
+РЕШЊАК ЗОРИЦА
+РЕЖЊАК ЛАСЛО
+РЕЖУК ЈОСИП
+РЕЂЕП ДРАШКО
+РЕЂЕПИ ЏЕЉАН
+РЕЂЕПИ МИЛАИМ
+РЕЂЕПОВИЋ АЛИЈА
+РЕБА БЛАГОЈЕ
+РЕБА ИГОР
+РЕБА ИГОР
+РЕБИЋ БОГДАН ДИПЛ ИНГ
+РЕБИЋ ДРАГАН
+РЕБИЋ НЕДЕЉКО
+РЕБИЋ НЕДЕЉКО
+РЕБИЋ СИМЕОН
+РЕБИЋ СИМО
+РЕБИЋ СЛОБОДАН ДР
+РЕБИЋ ВЛАДИМИР
+РЕБРИНА КАТАРИНА
+РЕЏА ИБРАХИМ
+РЕЏЕК ЈОВАН
+РЕЏЕП ЈУСНИЈА
+РЕЏЕПОВ ШЕВКИН
+РЕЏЕПОВ КАМБЕР
+РЕДЕ РУДОЛФ
+РЕДИГ ВИЛИМ
+РЕДЛИ ЂОРЂЕ
+РЕДЛИ МАРИЈА
+РЕДЛИ ВЕРА
+РЕГАЈЗ СТЕВАН
+РЕГЕЦ ЕТЕЛКА
+РЕГЕЉАЦ ЉУБИЦА
+РЕГЕЉАЦ МАРА
+РЕГЕР ЈОВАН
+РЕГЛ ВЛАДИМИР
+РЕГОДИЋ СВЕТОЗАР
+РЕГОЈЕВИЋ МЛАЂЕНКО
+РЕХАК ИМРЕ
+РЕХАК ЛАСЛО
+РЕХАК ОЛГА
+РЕХНЕР МАРИЈА
+РЕХНЕР СТАМЕНКА
+РЕИНХОЛЦ ЂЕЗЕ
+РЕИНХОЛЦ ЂЕЗЕ
+РЕИНХОЛЗ ЂЕЗЕ
+РЕКА АРИФ
+РЕКА-ИВАНОВИЋ ДУШИЦА
+РЕКЕЋЕ ШАНДОР
+РЕКЕЦКИ ЕЛЕОНОРА
+РЕКЕЦКИ ЈОЖЕФ
+РЕКИЋ ХУСЕИН
+РЕЛИЋ ЂОРЂЕ
+РЕЛИЋ ЂОРЂЕ
+РЕЛИЋ ДАРКО
+РЕЛИЋ ДИМИТРИЈЕ
+РЕЛИЋ ГОЈКО
+РЕЛИЋ ЈОВАН
+РЕЛИЋ ЈОВИЦА
+РЕЛИЋ КОНСТАНТИН
+РЕЛИЋ ЉУБАН
+РЕЛИЋ МИЛАН
+РЕЛИЋ МИЛЕНКО
+РЕЛИЋ МИЛИВОЈ
+РЕЛИЋ МИРА
+РЕЛИЋ ПАВЛЕ
+РЕЛИЋ ПЕТАР
+РЕЛИЋ РАДИНКА
+РЕЛИЋ САВА
+РЕЛИЋ СЛАВОЉУБ
+РЕЛИЋ СОФИЈА
+РЕЛИЋ СОФИЈА
+РЕЛИЋ СПОМЕНКА ДИПЛ ПРАВНИК
+РЕЛИЋ СРЕТА
+РЕЉАНОВИЋ МАРИЈА
+РЕЉИЋ ЂУРИЦА
+РЕЉИЋ ЂУРО
+РЕЉИЋ БОЖИДАР
+РЕЉИЋ ДАМЈАНКА
+РЕЉИЋ ДАНИЛО
+РЕЉИЋ ЈОВАН
+РЕЉИЋ ЉУБОМИР
+РЕЉИЋ МАРА
+РЕЉИЋ МИЛОРАД
+РЕЉИЋ РОМАН
+РЕЉИЋ СЛАВКО
+РЕЉИЋ СМИЉА
+РЕЉИЋ СНЕЖАНА
+РЕЉИЋ СТЕВАН
+РЕЉИЋ СТЕВА
+РЕЉИЋ ЗЛАТКО
+РЕЉИЋ ЗОРКА
+РЕЉИН ДУШАНКА
+РЕЉИН ДУШАН
+РЕЉИН ДУШАН
+РЕЉИН ИГЊАТ ДР
+РЕЉИН ИЛОНА
+РЕЉИН ИВАН
+РЕЉИН ЛАЗАР
+РЕЉИН ЛЕПОСАВА
+РЕЉИН МАРИЦА
+РЕЉИН МИЛАН
+РЕЉИН МИЛАН
+РЕЉИН МИЛИЦА
+РЕЉИН МИЛИВОЈ
+РЕЉИН МИЛОШ
+РЕЉИН МИЛОШ
+РЕЉИН МИЛОШ
+РЕЉИН МИЛОШ
+РЕЉИН МИЛОРАД
+РЕЉИН НАДА
+РЕЉИН ПРОКОПИЈЕ
+РЕЉИН РАДОВАН
+РЕЉИН САВА
+РЕЉИН СИМА
+РЕЉИН СЛОБОДАН
+РЕЉИН СТЕВАН
+РЕЛОТА РУДОЛФ
+РЕМЕЦКИ ДРАГУТИН
+РЕМЕЦКИ ПЕТАР
+РЕМЕЛИ АНТОН
+РЕМЕЛИ ЛАСЛО
+РЕМЕНАР ДРАГУТИН
+РЕМЕР БРАНИСЛАВ
+РЕМЛИНГЕР РОБЕРТ
+РЕНЧАР ШАНДОР
+РЕНЧАР ТИВАДАР
+РЕНЧЕВИЋ МИЛАН
+РЕНДУЛИЋ МАРКО
+РЕНДУЛИЋ СТОЈАН
+РЕПШТОК ЈОЖЕФ
+РЕПАШИ ЈОСИП
+РЕПАШИ СТЕВАН
+РЕПАЦ ЖУЖАНА
+РЕПАЦ ЂОРЂЕ
+РЕПАЦ АНА
+РЕПАЦ ИСА
+РЕПАЦ ЈОВАН
+РЕПАЦ КОВИЉКА
+РЕПАЦ МИРОСЛАВ
+РЕПАЦ ПЕРКИЦА
+РЕПАЦ ПЕТАР
+РЕПАЦ СЛАВКО
+РЕПАЦ СТАНИША
+РЕПАЦ ВАСИЛИЈА
+РЕПИЋ ЖИВАН
+РЕПИЋ ДАНИЦА
+РЕПИЋ ЕМИЛ
+РЕПИЋ ГИЗЕЛА
+РЕПИЋ ИВАН
+РЕПИЋ МАРКО
+РЕПИЋ МИЛЕНА
+РЕПИЋ МИЛКА
+РЕПИЋ ВЕРИЦА
+РЕПИЋ ЗОРАН
+РЕСАН АНА
+РЕСАНОВИЋ АНКА
+РЕСАНОВИЋ ДРАГАН
+РЕСАНОВИЋ ЉУБО
+РЕСАНОВИЋ НАДА
+РЕСАНОВИЋ ПЕРО
+РЕСМАН ЗДРАВКО
+РЕСУЛОВСКИ СТОЈАН
+РЕУ ЛАВИНЕЛ
+РЕВЕС АНДРИЈА
+РЕВИД КАТАРИНА
+РЕЗАНЦОВ КАТИЦА
+РЕЗЕЦ АНТОН
+РЕЗНИЧЕК КАРЛО
+РИЖАЊИ ИРЕНА
+РИЂИЧКИ ЂОКА
+РИЂИЧКИ ЂОРЂЕ
+РИЂИЧКИ МИЛАНКА
+РИЂИЧКИ МИЛАН
+РИЂИЧКИ СПОМЕНКА
+РИЂИК-ГРУЈИЋ ЧЕДОМИР
+РИЂИК-ГРУЈИЋ ЈАДРАНКА
+РИЂИК-ГРУЈИЋ ВЕЛИМИР
+РИБАР ШАНДОР
+РИБАР БЕЛА ДР
+РИБАР ИМРЕ
+РИБАР КАТИЦА
+РИБАРЕВИЋ ВЕРА
+РИБАРОВ МИРОСЛАВ
+РИБАРОВ СЛАВИЦА
+РИБИЧ РУЖА
+РИБИЋ ЧЕДО
+РИБИЋ БРАНКО
+РИБИЋ ФРАНЦ
+РИБИЋ ЈОВАН
+РИБИЋ МИХАЈЛО
+РИБИЋ МИЛАН
+РИБИЋ ПАВО
+РИБИЋ ПЕТАР
+РИБИЋ СТАНКО
+РИБИЋ ЗОРИЦА
+РИБОВИЋ АМАЛИЈА
+РИЦ МИХАЉ ДИПЛ ОЕЦ
+РИЦ РУДОЛФ
+РИЦ ВЕСЕЛИН
+РИЦА АНИЦА
+РИЦЕ МАРГИТА
+РИГО ЂУЛА
+РИГО ЛАСЛО
+РИХАК НАНДОР
+РИХТАРЕЦ КАТАРИНА
+РИЈАВЕЦ ИВАН
+РИКЕР ЗВОНИМИР
+РИКИЋ ЖЕЉКО
+РИКИЋ ДРАГИЦА
+РИКИЋ МИЛАДИН
+РИКИЋ МИЛЕНКО
+РИЛ ПАЛ
+РИЛАК МИЛОМИР
+РИЛКЕ РОБЕРТ
+РИМШНАЈДЕР РОБЕРТ
+РИМАЦ ЈОСИП
+РИМАН ЕГОН ДР
+РИМАР ЛЕОНА
+РИМАР ВЛАДИМИР
+РИМСКИ ЖАРКО
+РИМСКИ ЖАРКО
+РИМСКИ ЖАРКО
+РИМСКИ ЖАРКО
+РИМСКИ ЂОКА
+РИМСКИ БИСЕРКА
+РИМСКИ БИСЕРКА
+РИМСКИ БРАНИСЛАВ
+РИМСКИ БРАНКА
+РИМСКИ БРАНКО
+РИМСКИ ЈАСМИНА
+РИМСКИ ЈЕЛЕНА
+РИМСКИ МИЛАН
+РИМСКИ МИЛИЦА
+РИМСКИ НАТАЛИЈА
+РИМСКИ НОВАК
+РИМСКИ САВА
+РИМСКИ САВА
+РИМСКИ СМИЉА
+РИМСКИ СМИЉА
+РИМСКИ СТЕВАН
+РИС ШАНДОР
+РИС АЛЕКСАНДАР
+РИС ДРАГИЊА
+РИС ДУШКО
+РИС ГЕЗА
+РИС НЕДЕЉКО
+РИС СТЕВАН
+РИС ТАЊА
+РИС ЗДРАВКО
+РИСОВИЋ ДУШАН
+РИСОВИЋ НЕДЕЉКО
+РИСОВИЋ НЕДЕЉКО
+РИСТА ЖЕЉКА
+РИСТАНОВИЋ ЦВЕТИН
+РИСТАНОВИЋ РАДЕ
+РИСТАНОВИЋ РАДОСЛАВ
+РИСТАНОВИЋ ВЕРИЦА
+РИСТАНОВИЋ ВОЈИМИР
+РИСТАНОВИЋ ЗДРАВКО
+РИСТАНОВИЋ ЗОРАН
+РИСТАНОВИЋ ЗОРАН
+РИСТИЋ ЂОРЂЕ ДР ЛЕКАР
+РИСТИЋ ЂОРЂЕ
+РИСТИЋ ЂОРЂЕ
+РИСТИЋ ЂОРЂЕ
+РИСТИЋ ЂУЈА
+РИСТИЋ ЂУРЂА
+РИСТИЋ АЛЕКСАНДАР
+РИСТИЋ АЛЕКСАНДАР
+РИСТИЋ АЛЕКСАНДАР
+РИСТИЋ АЛЕКСАНДАР
+РИСТИЋ АЛЕКСА
+РИСТИЋ АНДРИЈА
+РИСТИЋ БОЖИДАР
+РИСТИЋ БОЖИДАР
+РИСТИЋ БОРА
+РИСТИЋ БОРИСЛАВ
+РИСТИЋ БРАНИСЛАВ
+РИСТИЋ БРАНКО
+РИСТИЋ ЦВЈЕТАНКА
+РИСТИЋ ДАНИЛО
+РИСТИЋ ДАРИНКА
+РИСТИЋ ДИМИТРИЈЕ
+РИСТИЋ ДИМИТРИЈЕ
+РИСТИЋ ДИМИТРИЈЕ
+РИСТИЋ ДОБРИВОЈЕ
+РИСТИЋ ДРАГАН
+РИСТИЋ ДРАГАН
+РИСТИЋ ДРАГИША
+РИСТИЋ ДРАГИЦА
+РИСТИЋ ДРАГОЈЛА
+РИСТИЋ ДРАГОЉУБ
+РИСТИЋ ДРАГОЉУБ
+РИСТИЋ ДУШАН ДР
+РИСТИЋ ДУШАН
+РИСТИЋ ДУШАН
+РИСТИЋ ДУШАН
+РИСТИЋ ДУШАН
+РИСТИЋ ГАВРИЛО
+РИСТИЋ ИСИДОР
+РИСТИЋ ЈАСМИНА
+РИСТИЋ ЈЕЛЕНА
+РИСТИЋ ЈЕЛЕНА
+РИСТИЋ ЈЕРЕМИЈА
+РИСТИЋ ЈОВАН ДР
+РИСТИЋ ЈОВАН ДР
+РИСТИЋ ЈОВАН
+РИСТИЋ КСЕНИЈА
+РИСТИЋ ЛАБУД ДР ЛЕКАР
+РИСТИЋ ЛАЗАР
+РИСТИЋ ЉИЉАНА
+РИСТИЋ ЉИЉАНА
+РИСТИЋ ЉУБИЦА
+РИСТИЋ ЉУБИЦА
+РИСТИЋ МАРИЈА
+РИСТИЋ МАРИЈА
+РИСТИЋ МАРИЈА
+РИСТИЋ МАРИЈА
+РИСТИЋ МАРИЈЕНКА
+РИСТИЋ МАРКО
+РИСТИЋ МИХАЈЛО
+РИСТИЋ МИЛАНКА
+РИСТИЋ МИЛАН
+РИСТИЋ МИЛАН
+РИСТИЋ МИЛАН
+РИСТИЋ МИЛАН
+РИСТИЋ МИЛАН
+РИСТИЋ МИЛЕТА
+РИСТИЋ МИЛИВОЈЕ
+РИСТИЋ МИЛКА
+РИСТИЋ МИЛОШ
+РИСТИЋ МИЛОШ
+РИСТИЋ МИЛОРАД
+РИСТИЋ МИЛОРАД
+РИСТИЋ МИЛУН
+РИСТИЋ МИЛУТИН
+РИСТИЋ МИОДРАГ
+РИСТИЋ МИОДРАГ
+РИСТИЋ МИРОСЛАВ
+РИСТИЋ МИРОСЛАВ
+РИСТИЋ МИРОСЛАВ
+РИСТИЋ МИРОСЛАВ
+РИСТИЋ МИРОСЛАВ
+РИСТИЋ МЛАДЕН
+РИСТИЋ НАДА
+РИСТИЋ НАТАЛИЈА
+РИСТИЋ НЕГОВАН
+РИСТИЋ НЕСТОР
+РИСТИЋ НИКОЛА
+РИСТИЋ НИКОЛА
+РИСТИЋ НОВИЦА
+РИСТИЋ ОЛГА
+РИСТИЋ ПАВЛЕ
+РИСТИЋ ПЕРА
+РИСТИЋ ПЕТАР
+РИСТИЋ-ПОПОВИЋ МИЛИЦА
+РИСТИЋ РАДИСАВ
+РИСТИЋ РАИСА
+РИСТИЋ РОДОЉУБ ДР
+РИСТИЋ САВА
+РИСТИЋ САВА
+РИСТИЋ САВО
+РИСТИЋ СЛАЂАН
+РИСТИЋ СЛАВИЦА
+РИСТИЋ СЛАВИЦА
+РИСТИЋ СЛАВКО
+РИСТИЋ СПОМЕНКА
+РИСТИЋ СТАНИША
+РИСТИЋ СТАНОЈЕ ДР
+РИСТИЋ СТЕВАН
+РИСТИЋ СТЕВАН
+РИСТИЋ СТЕВАН
+РИСТИЋ СТЕВАН
+РИСТИЋ СТЕВИЦА
+РИСТИЋ СВЕТИСЛАВ
+РИСТИЋ ТЕМЕЉКО
+РИСТИЋ ТОМИСЛАВ
+РИСТИЋ ВЕРИЦА
+РИСТИЋ ВИТОМИР
+РИСТИЋ ВЛАДИМИР
+РИСТИЋ ВЛАДИМИР
+РИСТИЋ ВЛАДИМИР
+РИСТИЋ ВОЈИН
+РИСТИЋ ВОЈИСЛАВ
+РИСТИЋ ЗАГОРКА
+РИСТИЋ ЗДРАВКО
+РИСТИЋ ЗОРАН
+РИСТИЋ ЗОРАН
+РИСТИН ЈОВАН
+РИСТИН МИОДРАГ
+РИСТИН МИОДРАГ
+РИСТИВОЈЕВИЋ АНЂЕЛКА
+РИСТИВОЈЕВИЋ АНИЦА
+РИСТИВОЈЕВИЋ ДЕСИМИР
+РИСТИВОЈЕВИЋ ИГЊАТ
+РИСТИВОЈЕВИЋ РАДОМИР
+РИСТИВОЈЕВИЋ РАТОМИР
+РИСТИВОЈЕВИЋ СТОЈАНКА
+РИСТИВОЈЕВИЋ ЗДРАВКО
+РИСТОВИЋ ЈОВАНКА
+РИСТОВИЋ НЕБОЈША
+РИСТОВИЋ РАДИВОЈЕ
+РИСТОВИЋ РАТКО
+РИСТОВСКИ АЛЕКСАНДАР
+РИСТОВСКИ КОСТА
+РИСТОВСКИ ЉИЉАНА
+РИСТОВСКИ ЉИЉАНА
+РИСТОВСКИ ЉУБО
+РИСТОВСКИ СИМЕОН
+РИТЕР АНКИЦА
+РИТЕР АНТОН
+РИТЕР ФРАЊА
+РИТЕР ЈОЖЕФ
+РИТЕР ЛУДВИГ
+РИТЕР НАДА
+РИТОЦ ГЕЗА
+РИТТЕР ШАНДОР
+РИВИЋ ИВО
+РИЗНИЋ БРАНИСЛАВА
+РИЗНИЋ ВЕЉКО
+РИЗНИЋ ВЕЉКО
+РИЗОВСКИ ДРАГО
+РИЗВАН ШУКРИ
+РИЗВАНОВИЋ САДИК
+РМУШ ЗОРИЦА
+РНИЋ МИХАИЛО
+РЊАК ДАНИЦА
+РЊАК СТАНКО
+РОШИН КСЕНИЈА
+РОШИН ЗОРКО
+РОШУ КОСТА
+РОШУЉ ЖИВАН
+РОШУЉ ЖИВА
+РОШУЉ АНЂЕЛКА
+РОШУЉ ЕМИЛ
+РОШУЉ ЛАЗАР
+РОШУЉ МИЛАНА
+РОШУЉ МИЛОРАД
+РОШУЉ РАДОВАН
+РОШУЉ СВЕТОЗАР
+РОШУЉ ЗОРАН
+РОШУЉА ВАСА
+РОШУЛОВ СТАДОЈЕ
+РОЖА БЕЛА
+РОЖА ФЕРЕНЦ
+РОЖА ЈАНОШ
+РОЖА ЈОВАН
+РОЖА МИРКО
+РОЖАНКОВИЋ ИВАН
+РОЂАК ФРАЊА
+РОЂЕНКОВ ЖИВОЈИН
+РОЂЕНКОВ ЂУРА
+РОЂЕНКОВ МИЛОШ
+РОБОТИЋ АНА
+РОБОТИЋ ТЕРЕЗА
+РОД ДАНИЦА
+РОДИЋ ЧЕДОМИР
+РОДИЋ ЧЕДОМИР
+РОДИЋ ШПИРО
+РОДИЋ ЂОРЂЕ
+РОДИЋ АЛЕКСАНДАР
+РОДИЋ АНДРИЈА
+РОДИЋ БОЖО
+РОДИЋ БОЖО
+РОДИЋ БОГДАН
+РОДИЋ БОРИСЛАВ
+РОДИЋ БОРИСЛАВ
+РОДИЋ БРАНИСЛАВ
+РОДИЋ ДАНИЦА
+РОДИЋ ДРАГАН
+РОДИЋ ДРАГОМИР
+РОДИЋ ДУШАН
+РОДИЋ ДУШАН
+РОДИЋ ДУШАН
+РОДИЋ ДУШАН
+РОДИЋ ГОЈКО
+РОДИЋ ГОЈКО
+РОДИЋ ГОЈКО
+РОДИЋ ЈЕЛИСАВЕТА
+РОДИЋ ЈОВО
+РОДИЋ ЛЕПА
+РОДИЋ ЉИЉАНА
+РОДИЋ МАНОЈЛО
+РОДИЋ МИЋА
+РОДИЋ МИЋО
+РОДИЋ МИЛАН
+РОДИЋ МИЛЕНА
+РОДИЋ МИЛИЦА
+РОДИЋ МИЛИЦА
+РОДИЋ МИЛКА
+РОДИЋ МИЛОШ
+РОДИЋ МИЛОРАД
+РОДИЋ МИРКО
+РОДИЋ МИРОСЛАВ
+РОДИЋ НАТАЛИЈА
+РОДИЋ НЕЂО
+РОДИЋ НЕДЕЉКО
+РОДИЋ НИКОЛА
+РОДИЋ НИКОЛА
+РОДИЋ НИКОЛА
+РОДИЋ НИКОЛА
+РОДИЋ ОЛГА
+РОДИЋ ПЕТАР ДИПЛ ИНГ
+РОДИЋ ПЕТАР
+РОДИЋ ПЕТРА
+РОДИЋ РАДЕ
+РОДИЋ РАНКО
+РОДИЋ СЛАВКО
+РОДИЋ СМИЉА
+РОДИЋ СРЕТЕН
+РОДИЋ СТАНКО
+РОДИЋ СТЕВАН
+РОДИЋ СУЗАНА
+РОДИЋ СУЗАНА
+РОДИЋ СВЕТКО
+РОДИЋ-ТОМЉАНОВИЋ МИРЈАНА
+РОДИЋ ВЕРИЦА
+РОДИЋ ЗОРАН
+РОГАЧ СВЕТЛАНА
+РОГАЧ СВЕТОЗАР
+РОГАЧЕВИЋ ОБРАД
+РОГАЉСКИ ЈЕЛЕНА
+РОГАЛО АНТОН
+РОГАН СВЕТОЗАР
+РОГАНОВИЋ КАТАРИНА
+РОГАНОВИЋ ЛУКА
+РОГАНОВИЋ МИЛАНКА
+РОГАНОВИЋ НАДА
+РОГАНОВИЋ НОВАК
+РОГАНОВИЋ СЛОБОДАН
+РОГАНОВИЋ СТЕВО
+РОГАНОВИЋ ТАЊА
+РОГАНОВИЋ ВЕЛИЗАР
+РОГАВАЦ МИЛАН
+РОГИЋ АЛЕКСА
+РОГИЋ МИЛОРАД
+РОГИЋ САВА
+РОГИЋ ВЕЉКО
+РОГИЋ ВЕСЕЛИН
+РОГИЋ ВЕСНА
+РОГИЋ ЗОРАН
+РОГЛИЋ ИВАН
+РОГЛИЋ ЉУБОМИР
+РОГЛИЋ МИЛАН
+РОГЛИЋ ВЕСНА
+РОГЛИЋ ВЕСНА
+РОГОЖАРСКИ СТЕВАНКА
+РОГУЛИЋ ЈЕЛЕНА
+РОГУЉА ЂОРЂЕ
+РОГУЉА ИЛИЈА
+РОГУЉА ЈОВАН
+РОГУЉА НИКОЛА
+РОГУЉА ПАВЛЕ ДР
+РОГУЉИЋ МИЛОРАД
+РОГУЉИЋ НЕДЕЉКО
+РОГУЉИЋ ПРЕДРАГ
+РОГУЉИЋ ЗДРАВКО
+РОЈКА АНДРЕЈ
+РОЈКА АНДРЕЈ
+РОЈНИК ЉУБОМИР
+РОКА ЖУЖАНА
+РОКА ЈАНОШ
+РОКА ВАЛЕРИЈА
+РОКАИ ПЕТАР
+РОКИЋ ДУШАН
+РОКИЋ МИЛЕНКО
+РОКЛИЦЕР ФРАЊА
+РОКЛИЦЕР ЈОСИП
+РОКНИЋ ЈУЛКИЦА
+РОКНИЋ МИЛЕНКО
+РОКНИЋ МОМЧИЛО
+РОКСАНДИЋ АДАМ
+РОКСАНДИЋ МИЛАН
+РОКСАНДИЋ СИМА
+РОКСАНДИЋ ВЛАДИМИР
+РОКСАНДИЋ ВЛАДО
+РОКСИЋ СЛОБОДАН
+РОКВИЋ БОГДАН
+РОКВИЋ БРАНИСЛАВ
+РОКВИЋ ДУШАН
+РОКВИЋ ГОЈКО
+РОКВИЋ ЛАЗАР
+РОКВИЋ МАРКО
+РОКВИЋ МИЛАН
+РОКВИЋ МИЛИЦА
+РОКВИЋ МИЛОРАД
+РОКВИЋ НИКОЛА ДИПЛ ПОЛИТИКОЛОГ
+РОКВИЋ ОМИЉКО
+РОКВИЋ РАДИВОЈ
+РОКВИЋ РАДОЈКА
+РОКВИЋ РАНКО
+РОКВИЋ СИНИША
+РОКВИЋ ВЕСЕЛКО
+РОКВИЋ ЗДРАВКО
+РОЛАНД ТОМИСЛАВ
+РОЛОВИЋ ДУШАНКА
+РОЛОВИЋ ОЛГА
+РОМ БРАНКА
+РОМЧЕВ МИРОСЛАВ
+РОМАН ЈЕЛЕНА
+РОМАН ЉУБИЦА
+РОМАН МИНЕА
+РОМАН МИРОН
+РОМАН РОМКО
+РОМАНДИЋ АНКИЦА
+РОМАНДИЋ ЈЕЛЕНА
+РОМАНДИЋ СТАНИМИР
+РОМАНЕЛИ ГИНО
+РОМАНИЋ ДУШАН
+РОМАНИЋ ЕРЖЕБЕТ
+РОМАНИЋ ЈОЦ0
+РОМАНИЋ МАРИЈА
+РОМАНКИВ МИХАЈЛО
+РОМАНОВ ЈОСИП
+РОМАНОВ СНЕЖАНА
+РОМАНОВИЋ ЂОРЂЕ ДИПЛ ПРАВНИК
+РОМАНОВИЋ ЂОРЂЕ
+РОМАНОВИЋ АЛЕКСАНДАР
+РОМАНОВИЋ ИЛИНКА
+РОМАНОВИЋ МИЛАН
+РОМАНОВИЋ НАДА
+РОМАС ЈОСИП
+РОМИЋ ЕТА
+РОМИЋ ЈАНКО
+РОМИЋ ЉУБОМИР
+РОМИЋ ЉУБОМИР
+РОМИЋ МЛАДЕН
+РОМИЋ НЕНАД
+РОМИЋ ПАВЛЕ
+РОМИЋ ПРЕДРАГ
+РОМОДА ИШТВАН
+РОМОДА КАРЛО
+РОМОДА МАРИЈА
+РОНЧЕЛИ КАТИЦА
+РОНЧЕВИЋ БОГДАН
+РОНЧЕВИЋ ДРАГАН
+РОНЧЕВИЋ ИКОНИЈА
+РОНЧЕВИЋ КОСТА
+РОНЧЕВИЋ МИЛЕ
+РОНЧЕВИЋ НАДА
+РОНЧЕВИЋ ОБРАД
+РОНЧЕВИЋ ПЕТАР
+РОНЧЕВИЋ ПЕТАР
+РОНЧЕВИЋ ПЕТАР
+РОНЧЕВИЋ РАДИВОЈЕ
+РОНЧЕВИЋ САВЕТА
+РОНЧЕВИЋ САВО
+РОНЧЕВИЋ СТАНА
+РОНЧЕВИЋ СТАНИМИР
+РОНЧЕВИЋ СТАНИМИР
+РОНЧЕВИЋ СТЕВАН
+РОНЧЕВИЋ СТЕВАН
+РОНЧЕВИЋ ВЕРА
+РОНАИ МИРКО ДИПЛ ИНГ
+РОНТО ФРАНЦИШКА
+РОНТО ИЛОНКА
+РОНТО ЈАКОБ
+РОНТОВИЋ РАДОСЛАВ
+РОР ДЕСА
+РОРБАХЕР МАГДОЛНА
+РОСИЋ ЂУРО
+РОСИЋ БОГДАН
+РОСИЋ ДРАГАНА
+РОСИЋ ДРАГАН
+РОСИЋ ДРАГАН
+РОСИЋ ДРАГАН
+РОСИЋ ДРАГАН
+РОСИЋ ДУШАН
+РОСИЋ ГРОЗДАНА
+РОСИЋ ИЛИЈА
+РОСИЋ ЉИЉАНА
+РОСИЋ МИЛЕНА
+РОСИЋ МИЛИЦА
+РОСИЋ МИЛОРАД
+РОСИЋ МИОДРАГ
+РОСИЋ НИКОЛА
+РОСИЋ ОСТОЈА
+РОСИЋ ВЛАДИМИР
+РОСИЋ ЗОРАН
+РОСЛАВЉЕВ ВОЈИСЛАВ
+РОСО ИВАН
+РОСО МАРТА
+РОТ ДЕЗИДЕР
+РОТ ФРАЊА
+РОТАРИУ ТИБЕРИЈЕ
+РОТБАРТ ВЛАДИСЛАВ
+РОТИМ ИВАН
+РОВЧАНИН ЕУЂЕНИЈА
+РОВЧАНИН УЗЕИР
+РОВЧАНИН ВЕСЕЛИН
+РОВИЋ БРАНИСЛАВ
+РОВИЋ ДИМИТРИЈЕ
+РОВО МИХАЉ
+РОЗЕНТАЛ ДРАГИЦА
+РОЗЕНТАЛ КАРЛО
+РОЗЕНТАЛ МАРТОН
+РОЗИЋ АНТЕ
+РОЗМАРИНГ ИШТВАН
+РОЗМИРОВ ДРАГАН
+РОЗМИРОВ МИЛЕНКО
+РУШИТИ АЛИЈА
+РУШКО ЕРЖЕБЕТ
+РУШКУЦ ЂОРЂЕ
+РУШКУЦ АТАНАСИЈЕ
+РУШКУЦ МАРГАРИТА
+РУШКУЦ МАРТА
+РУШКУЦ ПАВЛЕ
+РУШКУЦ СТЕВАН
+РУШКУЦ СВЕТИСЛАВ
+РУШКУЦ ВЕСЕЛИН
+РУШКУЦ ВЛАДИМИР
+РУЖАНОВИЋ ДРАГОЉУБ
+РУЖАНОВИЋ МАРИЈА
+РУЖИЧИЋ ЂОРЂЕ
+РУЖИЧИЋ БОШКО
+РУЖИЧИЋ МИЛАН
+РУЖИЧИН ДАНИЦА
+РУЖИЧИН РАДИВОЈ
+РУЖИЧКА ЂУРА
+РУЖИЧКА РУЖА
+РУЖИЋ ЖАРКО
+РУЖИЋ АЛЕКСАНДАР
+РУЖИЋ ДРАЖАНА
+РУЖИЋ ДУШАН
+РУЖИЋ ДУШАН
+РУЖИЋ ДУШАН
+РУЖИЋ ЕМА
+РУЖИЋ ГОРДАНА
+РУЖИЋ ИВИЦА
+РУЖИЋ ЈОВАН
+РУЖИЋ ЈОВО
+РУЖИЋ ЈУЛКА
+РУЖИЋ КРСТО
+РУЖИЋ МАРИЈА
+РУЖИЋ МАРИЈА
+РУЖИЋ МИЛАН
+РУЖИЋ МИЛАН
+РУЖИЋ МИЛИВОЈ
+РУЖИЋ МИРА
+РУЖИЋ МИРЈАНА
+РУЖИЋ МИРЈАНА
+РУЖИЋ МИРКО
+РУЖИЋ НИКОЛА
+РУЖИЋ НИКОЛА
+РУЖИЋ ПАВА
+РУЖИЋ ПЕТАР
+РУЖИЋ РАДМИЛА
+РУЖИЋ РАДОМИР
+РУЖИЋ СЛОБОДАН
+РУЖИЋ СМИЉАНА
+РУЖИЋ СТАНКО
+РУЖИЋ-СТАРИ ВЕСНА
+РУЖИЋ СТЈЕПАН
+РУЖИЋ СВЕТОЛИК
+РУЖИЋ ВЕЉКО
+РУЖИЋ ВЛАДИМИР ДИПЛ ИНГ
+РУЖИЋ ЗОРАН
+РУЖИЋ ЗОРАН
+РУЖИН ЧЕДОМИР
+РУЖИН МИЛОРАД
+РУЖНИЦКИ ИВАН
+РУЂА НЕМАЊА
+РУЂА ЗОРАН
+РУЂА ЗОРАН
+РУБЕЖИЋ МИЛОВАН
+РУБЕЖИЋ СЛОБОДАН
+РУБИН МИЛАН
+РУБУШ АГНЕЗА
+РУБУШ ЈОЖЕФ
+РУДАН МАРКО
+РУДАН РАДИВОЈЕ
+РУДЕЖ ИЛИЈА
+РУДЕЖ МИЋО
+РУДЕЖ ПЕРА
+РУДЕК ЈАРОСЛАВ
+РУДЕК НИКОЛА
+РУДЕК НИКОЛА
+РУДИЋ ДАРКО
+РУДИЋ ДИМИТРИЈЕ
+РУДИЋ ДРАГАН
+РУДИЋ ДУШАН
+РУДИЋ ИМРЕ
+РУДИЋ ИВАН
+РУДИЋ ИВАН
+РУДИЋ ЈОСИП
+РУДИЋ ЛАЗАР
+РУДИЋ МАРКО
+РУДИЋ МАРКО
+РУДИЋ МИЛКА
+РУДИЋ НЕДЕЉКО
+РУДИЋ НИКОЛА
+РУДИЋ ПЕРА
+РУДИЋ СТЕВАН
+РУДИЋ СТЕВИЦА
+РУДИЋ-ВРАНИЋ НЕДЕЉКА
+РУДОЛФ КЛАЈН
+РУДОЛФ ОЛГА
+РУДОЛФ СПАСОЈЕ
+РУДОЛФ ЗОРАН
+РУДОВИЋ ДАНИЛО
+РУДОВИЋ ИЛИЈА
+РУДОВИЋ ЈУГОСЛАВ
+РУДОВИЋ МИРЈАНА
+РУДОВИЋ ЗОРАН
+РУФЧЕСКИ СЛОБОДАН
+РУЈЕВИЋ ЈАДРАНКА
+РУЈЕВИЋ МИЛЕВА
+РУКАВИНА-ШЛИБАР ХЕРМИНА
+РУКАВИНА АЛЕКСАНДАР
+РУКАВИНА БАРИЦА
+РУКАВИНА ДЕСПИНА
+РУКАВИНА ДОБРИЛА
+РУКАВИНА ДУШАН
+РУКАВИНА ЈУРЕ
+РУКАВИНА КРЕШИМИР
+РУКАВИНА ЉУБИЦА
+РУКАВИНА МАРИЈА
+РУКАВИНА МИЛКА
+РУКАВИНА РУДОЛФ
+РУКАВИНА РУДОЛФ
+РУКАВИНА СТЕВАН
+РУКАВИНА ЗВОНИМИР
+РУМАН МИХАЈЛО
+РУНИЋ МАРИЈА
+РУНИЋ МИЛАН ДИПЛ ИНГ
+РУЊАЈИЋ ИЛИЈА
+РУЊАНИН ЂОРЂЕ
+РУЊАНИН ВЛАДИСЛАВ
+РУЊАНИН ВОЈО
+РУЊИЋ АМАЛИЈА
+РУЊИЋ ДРАГАН
+РУЊИЋ ДРАГИЦА
+РУЊИЋ ГАВРИЛО
+РУЊИЋ ГОРАН
+РУЊО ЈОВАН
+РУНТИЋ БОШКО
+РУПЧИЋ ВЛАДИМИР
+РУПА АТИЛА
+РУПАР БРАНИСЛАВ
+РУПАР ЕРЖЕБЕТ
+РУПИЋ ЖИВКО
+РУПЊАК БРАНИСЛАВ
+РУС ЂУРЂИНКА
+РУС ДРАГАН
+РУС ИВАНКА
+РУС ЈОСИП
+РУС МАРГИТА
+РУС МАРИЈА
+РУС МИЛОСАВА
+РУС РАДА
+РУС СЛАВИЦА
+РУС СМИЉА
+РУС СВЕТЛАНА
+РУС ВЕРА
+РУС ВУКОСАВА
+РУСИЋ АНДРИЈА
+РУСКАЈИ СЛАВОМИР
+РУСКИ ДИМИТРИЈЕ
+РУСКИ ЛАЗАР
+РУСКОВСКИ ЂОРЂЕ
+РУСКОВСКИ ДРАГИЦА
+РУСКОВСКИ МАГДАЛЕНА
+РУСМИР РАДМИЛА
+РУСМИРОВИЋ БИЉАНА
+РУСМИРОВИЋ БИЉАНА
+РУСОВ ЖАРКО
+РУСОВ ЖИВКА
+РУСОВ БРАНКА
+РУСОВ БРАНКО
+РУСОВ ДРЕНКА
+РУСОВ КАТИЦА
+РУСОВ КОСТА
+РУСОВ КРИСТИНА
+РУСОВ МАРИЈА
+РУСОВ МИЛАН
+РУСОВ МИЛОРАД
+РУСОВ НАДА
+РУСОВ ПАВЛЕ
+РУСОВ СЛОБОДАН
+РУСОВ ВЛАДИМИР
+РУСОВАН ЖИВИЦА
+РУСОВАН ДРАГОЉУБ
+РУСОВАН МИЛАН
+РУСОВАН МИЛАН
+РУСТЕМАГИЋ ЕРВИН
+РУСТЕМИ ШАБАН
+РУТЕШИЋ ЈОВИЦА
+РУТИЋ МИЛОРАД
+РУТОНИЋ ЈУЛКИЦА
+РУТОНИЋ-КОЛЕНДА ВИДОСАВА
+РУТОНИЋ ЛАЗАР
+РУТОНИЋ ЛАЗАР
+РУТОЊСКИ ДУШАН
+РУТОЊСКИ ЈЕЛИЦА
+РУТОЊСКИ ЈОВАНКА
+РУТОЊСКИ НАДА
+РУТОЊСКИ СЛОБОДАН
+РУТОЊСКИ ВАСА
+РУТОНСКИ ЂОРЂЕ
+РУТОВИЋ БОШКО
+САЧЕК МИРОСЛАВ
+САЧЕР РОКИ
+САЧИЋ МАРИЈА
+САБАДИ ЛАСЛО
+САБАДИ МИРЈАНА
+САБАДКА ШАНДОР
+САБАДКА ИЛОНКА
+САБАДКА ВАЛЕРИЈА
+САБАДОШ ШАНДОР
+САБАДОШ ЂУРА
+САБАДОШ ИВАН
+САБАДОШ ЈАНКО
+САБАДОШ ЈАНКО
+САБАДОШ ЈАНКО
+САБАДОШ ЈОАКИМ
+САБАДОШ ЉУБОМИР
+САБАДОШ МИША
+САБАДОШ МИХАЈЛО
+САБАДОШ МИХАЈЛО
+САБАДОШ МИРОСЛАВ
+САБАДОШ ПАВЛИНА
+САБАДОШ РУЖИЦА
+САБАДОШ СЛАВНА
+САБАДОШ СЛАВОМИР
+САБАДОШ СРБИСЛАВ
+САБАДОШ СТЕВАН
+САБАДОШ ВЛАДИМИР
+САБАДОШ ВЛАДИМИР
+САБАДОШ ЗДЕНКА
+САБАДУШ ЈОВАН ДИПЛ ИНГ
+САБАДУШ СТЕВАН
+САБАТКА СТЕВАН
+САБАТУШ БОРИСЛАВ
+САБАТУШ ДРАГОЉУБ
+САБАТУШ ТОМИСЛАВ
+САБЛИЋ БРАНКО
+САБЉАК ДРАГАН
+САБЉАК ФРАЊО
+САБЉАК МАРИЈАН
+САБЉАКОВИЋ ЕСАД
+САБЉАР ЂОРЂЕ
+САБЉАР МАНОЈЛО
+САБЉАР МИЛАН
+САБЉАР ТЕОДОР
+САБЉАРЕВИЋ ВЕРИЦА
+САБЉИЋ ДАНИЛО ДИПЛ ПРАВНИК
+САБЉИЋ ДАРА
+САБЉИЋ ГОРДАНА
+САБЉОВ ИШТВАН
+САБЉОВ МИЛИЦА
+САБО ШАНДОР
+САБО ШАЊИКА
+САБО ЂЕЗЕ
+САБО ЂОРЂЕ
+САБО ЂОРЂЕ
+САБО АЛЕКСАНДАР
+САБО АЛЕКСАНДАР
+САБО АНА ДР
+САБО АНА
+САБО АНА
+САБО АНДРАШ
+САБО АНДРАШ
+САБО АНИЦА
+САБО АНИЦА
+САБО БЕРТАЛАН
+САБО ДРАГАН
+САБО ЕЛИЗАБЕТА
+САБО ЕМИЛ
+САБО ЕРЖЕБЕТ
+САБО ЕРЖЕБЕТ
+САБО ЕРНЕ
+САБО ЕРНЕ
+САБО ЕСТЕР
+САБО ФЕРЕНЦ
+САБО ФЕРЕНЦ
+САБО ФРАЊА
+САБО ФРАЊА
+САБО ФРАЊО
+САБО ГАШПАР
+САБО ГАБОР
+САБО ГЕРГЕЉ
+САБО ГИЗЕЛА
+САБО ГОРДАНА
+САБО ХИЛДА
+САБО ИШТВАН
+САБО ИШТВАН
+САБО ИШТВАН
+САБО ИШТВАН
+САБО ИШТВАН
+САБО ИШТВАН
+САБО ИБОЉКА
+САБО ИДА
+САБО ИЛОНА
+САБО ИМРЕ
+САБО ИМРЕ
+САБО ИВАН
+САБО ЈАНИКА
+САБО ЈАНОШ
+САБО ЈОСИП
+САБО ЈОСИП
+САБО ЈОСИП
+САБО ЈОСИП
+САБО ЈОСИП
+САБО ЈОСИП
+САБО ЈУЛИА
+САБО ЈУЛИЈАНА
+САБО КАРОЛИНА
+САБО КАТИЦА
+САБО КАТИЦА
+САБО ЛАДИСЛАВ
+САБО ЛАДИСЛАВ
+САБО ЛАДИСЛАВ
+САБО ЉУБОМИР
+САБО МАРИЈА
+САБО МАРТА
+САБО МИХАЈЛО
+САБО МИЛИЦА
+САБО НИКОЛА
+САБО ОЛИВЕРА
+САБО ПАВЛЕ
+САБО ПЕТАР
+САБО ПЕТАР
+САБО ПЕТАР
+САБО ПИШТА
+САБО РОЗАЛИЈА
+САБО СНИЈЕЖАНА
+САБО СТЕВАН
+САБО ТЕРЕЗИЈА
+САБО ТИБОР
+САБО ВАЛЕРИЈА
+САБО ЗОЛТАН
+САБО ЗОЛТАН
+САБОШОТИ ФАБИЈАН
+САБОЛ ЈАРОСЛАВ
+САБОЛ ЈЕЛЕНА
+САБОЛЧКИ АНДРИЈА
+САБОЛЧКИ АНДРИЈА
+САБОЛЧКИ АНДРИЈА
+САБОЛЧКИ ЗОЛТАН
+САБОЛОВИЋ БОРИС
+САБОВ БОРИВОЈЕ
+САБОВЉЕВИЋ РАДОВАН
+САЏАК ЉУБИЦА
+САЏАКОВ ДРАГОМИР
+САЏАКОВ ДУШАНКА
+САЏАКОВ МИРОСЛАВ
+САЏАКОВ ОЛГА
+САЏАКОВ ПЕТАР
+САЏАКОВ РАДОВАН
+САЏАКОВ РАДОВАН
+САЏАКОВ ВИДОСАВА
+САЏАКОВ ЗОРАН
+САДИЋ РАДИВОЈ
+САДИКУ САДИК
+САИТОВ ШАХИМ
+САЈФЕРТ ЂУЛА
+САЈФЕРТ ЈОХАН
+САЈФЕРТ ЉУБИША
+САЈФЕРТ ЉУБИША
+САЈФЕРТ МАРГИТ
+САЈФЕРТ МАРИЈА
+САЈИЋ МИЛИВОЈЕ
+САЈКО БРАНКА
+САЈКО ИШТВАН
+САЈКО МАРГИТА
+САЈКО РУЖИЦА
+САЈКО ЗОЛТАН
+САЈЛЕР ФЕРЕНЦ
+САЈТОВИЋ ДРАГИЊА
+САКАЧ БОРИСЛАВ ЛЕКАР
+САКАЧ ФЕРЕНЦ
+САКАЧ ИШТВАН
+САКАЧ ЈАНКО
+САКАЧ ЈАНКО
+САКАЧ ЈОВАН
+САКАЧ ЈУЛИЈАНА
+САКАЧ ЈУЛИЈАН
+САКАЧ ЉУДЕВИТ
+САКАЧ МАГДА
+САКАЧ МАРИЈА
+САКАЧ МИХАИЛО
+САКАЧ СИМА
+САКАЧ СВЕТЛАНА
+САКАЧ ВАСИЛИЈЕ
+САКАЧ ВЛАДИМИР АДВОКАТ
+САКАЧ ВЛАДИМИР
+САКАЧ ВЛАДИМИР
+САКАЛ АДЕЛА
+САКАЛ АУГУСТИНА
+САКАЛ ГАБОР
+САКАЛ ЈОЖЕФ
+САКАЛ МАРИЈА
+САКАЛ МАРИЈА
+САКАЛАШ ОТО
+САКАН ДАЛИБОР
+САКОВИЋ АЛИЈА
+САКОВИЋ СТОЈАН
+САКУЛСКИ МИЛАН
+САЛАЧ ЂУРО
+САЛАГ ЕВГЕНИЈЕ
+САЛАГ ЈАНКО
+САЛАГ ЉУБА
+САЛАИ ЕРЖЕБЕТ
+САЛАИ ЕСТЕР
+САЛАИ-ГОМБАР РУЖА
+САЛАИ ИШТВАН НОВИНАР
+САЛАИ ЈЕЛИСАВЕТА
+САЛАИ ЛАДИСЛАВ
+САЛАИ ЛАСЛО
+САЛАЈ ФРАЊО
+САЛАЈ ЈАНКО
+САЛАЈ ЈОЖЕФ
+САЛАЈ МИРЈАНА
+САЛАЈ РУДОЛФ
+САЛАК ЈАНКО
+САЛАК ВЛАДИМИР
+САЛАК ВЛАДИМИР
+САЛАМУН АНА
+САЛАМУН БОСИЉКА
+САЛАМУН ИЛИЈА
+САЛАМУН ЈАНКО
+САЛАМУН ЈОАКИМ
+САЛАМУН ЈОАКИМ
+САЛАМУН НАТАЛИЈА
+САЛАМУН СИЛВЕСТЕР
+САЛАМУН ВЛАДИМИР
+САЛАПУРА МИЛЕ
+САЛАПУРА НЕДЕЉКО
+САЛАПУРА ПЕТАР
+САЛАТИЋ МИЛОВАН
+САЛАТИЋ ПЕТАР МР ОЕЦ
+САЛАТИЋ ВЕЛИМИР
+САЛДУМ ВИДА
+САЛЕТА АНТУН
+САЛИЋ МИЛАН
+САЛИБЕГОВИЋ МУСТАФА
+САЛИХОВИЋ ИСМЕТ
+САЛИЈА СЕФЕР
+САЛИЈЕВИЋ ШЕЋЕРИЈА
+САЛКАИ ИЛОНА
+САЛКАИ ЛАСЛО
+САЛМА ШАНДОР
+САЛМА ГЕЗА
+САЛМА ЈОЖЕФ ПРОФ ДР
+САЛМА ЈОСИП
+САЛМА ПЕТАР
+САЛМА ТИБОР
+САЛМА ТИБОР
+САЛОЦКИ СТЕВАН
+САЛОНСКИ БОЖИДАР
+САЛОНСКИ ЈЕЛЕНА
+САЛОНСКИ МИЛОРАД
+САЛОНСКИ МИРЈАНА
+САЛОНСКИ МИРОСЛАВ
+САЛОНСКИ РУЖА
+САЛОНТАИ ЈУЛИЈАНА
+САЛОПЕК БРАНКО
+САЛОВ ЈОВАН
+САМАЦ ИВАНКА
+САМАЦ МИРКО
+САМАРЂИЋ БРАНИСЛАВА
+САМАРЏИЋ ЖАРКО
+САМАРЏИЋ АДАМ
+САМАРЏИЋ БОШКО
+САМАРЏИЋ БОШКО
+САМАРЏИЋ БОРА
+САМАРЏИЋ БОРА
+САМАРЏИЋ БРАНИСЛАВ
+САМАРЏИЋ БРАНКО
+САМАРЏИЋ ДАНИЛО
+САМАРЏИЋ ДАНИЛО
+САМАРЏИЋ ДЕСА
+САМАРЏИЋ ДРАГАН
+САМАРЏИЋ ДУШАН
+САМАРЏИЋ ГОЈКО
+САМАРЏИЋ ИЛИЈА
+САМАРЏИЋ ИВАН
+САМАРЏИЋ КРСТА
+САМАРЏИЋ ЉУБО
+САМАРЏИЋ МИЛАН
+САМАРЏИЋ МИЛИЈА
+САМАРЏИЋ МИЛОШ
+САМАРЏИЋ МИЛОШ
+САМАРЏИЋ МИЛОЈКО
+САМАРЏИЋ МИЛОРАД
+САМАРЏИЋ МИЛОСАВ
+САМАРЏИЋ МИОДРАГ
+САМАРЏИЋ МИРА
+САМАРЏИЋ НЕЂА
+САМАРЏИЋ НОВИЦА
+САМАРЏИЋ ОЛГА
+САМАРЏИЋ ОСТОЈА
+САМАРЏИЋ РАДОЈКА
+САМАРЏИЋ РАДОСЛАВ
+САМАРЏИЋ РАДОВАН
+САМАРЏИЋ РАЈКО
+САМАРЏИЋ РАТКО
+САМАРЏИЋ РОЗИНА
+САМАРЏИЋ САВКА
+САМАРЏИЋ САВО
+САМАРЏИЋ СПОМЕНКА
+САМАРЏИЋ СРЕТЕН
+САМАРЏИЋ СРЕТЕН
+САМАРЏИЋ-СТАНИШИЋ МИЛАНКА
+САМАРЏИЋ СВЕТЛАНА
+САМАРЏИЋ ВАСИЛИЈА
+САМАРЏИЋ ВАСО
+САМАРЏИЋ ВЕЛИМИР
+САМАРЏИЋ ВЛАДО
+САМАРЏИЋ ВУКАШИН
+САМАРЏИЋ ЗДРАВКО
+САМАРЏИЋ ЗОРАН
+САМАРЏИЋ ЗУЗАНА
+САМАРЏИЈА ЂУРЂИНКА
+САМАРЏИЈА ЂУРАЂ
+САМАРЏИЈА ЂУРА
+САМАРЏИЈА БОШКО
+САМАРЏИЈА ДЕСА
+САМАРЏИЈА ДУШАН
+САМАРЏИЈА ГОРИЦА
+САМАРЏИЈА ЈЕЛЕНА
+САМАРЏИЈА ЉУБИЦА
+САМАРЏИЈА ЉУБИЦА
+САМАРЏИЈА МАРИЈА
+САМАРЏИЈА МАРИЈА
+САМАРЏИЈА МИЛАНКА
+САМАРЏИЈА МИЛАН
+САМАРЏИЈА МИЛАН
+САМАРЏИЈА МИЛЕ
+САМАРЏИЈА МИРКО
+САМАРЏИЈА МИРОСЛАВ
+САМАРЏИЈА НЕБОЈША
+САМАРЏИЈА НОВИЦА
+САМАРЏИЈА ПЕТАР
+САМАРЏИЈА РАДЕ
+САМАРЏИЈА РАДЕ
+САМАРЏИЈА РАНКО
+САМАРЏИЈА СТОЈАН
+САМАРЏИЈЕВИЋ МИРОСЛАВ
+САМБРАИЛО БРУНО
+САМЕЦ БОЖЕНКА
+САМИИ АББАС
+САМОЧЕТА АЛЕКСАНДРА
+САМОЧЕТА МИЛЕ
+САМОЧЕТА НЕВЕНКА
+САМОЧЕТА РАДОМИР
+САМОЈЛИК НИКОЛА
+САМОКОВЛИЈА МАРКО
+САМОЛОВ ВЕЉКО
+САМОЛОВЧЕВ ИВАНКА
+САМСОНОВ НИКОЛА ДИПЛ ИНГ
+САНЧАНИН МИЛИВОЈ
+САНАДЕР ЖИВКО
+САНАДЕР ЖИВКО
+САНАДЕР ЈЕЛЕНА
+САНАДЕР РАДОВАН
+САНАДЕР СЛОБОДАН
+САНАДЕР ВЕРА
+САНДИЋ БРАНИМИР
+САНДИЋ ИВАН
+САНДИЋ СВЕТЛАНА
+САНДИКИ АПОСТОЛ
+САНДИКИ КОСТА
+САНДИКИ КОСТА
+САНКОВИЋ БОРКО
+САНКОВИЋ ЉУБИНКА
+САНКОВИЋ МИЛОРАД
+САНКОВИЋ МИРА
+САНКОВИЋ ПЕТАР
+САНКОВИЋ САБИНА
+САНКОВИЋ СВЕТОЗАР
+САНТАИ ИЛОНА
+САНТО ФРАЊА
+САНТО КАРОЉ
+САНТО ЛАДИСЛАВ ДИПЛ ИНГ
+САНТО ЗОЛТАН
+САНТО ЗОЛТАН
+САНТОВАЦ ДРАГАН
+САНТОВАЦ ЉУБИНКА
+САНТОВАЦ МИЛОШ
+САНТОВАЦ ПЕТАР
+САНТОВАЦ СТЕВАН
+САНТРАЧ ЂУРЂИНКА
+САНТРАЧ ДРАГОЉУБ
+САНТРАЧ ГОРДАНА
+САНТРАЧ МИЛАН
+САНТРАЧ МИЛОРАД
+САНТРАЧ МОМЧИЛО
+САНТРАЧ НИКОЛА
+САНТРАЧ РАТКО
+САНТРАЧ САВО
+САНТРАЧ СЛАВКО
+САПУНЏИЋ-МАТИЋ МИРЈАНА
+САПУНЏИЋ МИЛАН
+САПУНЏИЋ МИРА
+САПУНЏИЋ ТАТЈАНА
+САПУНЏИЈА ЕРЖЕБЕТ
+САПУНЏИЈА МАРИЈА
+САРЧЕВ НАДИЦА
+САРЧЕВ РАДИВОЈ
+САРАЧЕВИЋ СРБОЉУБ
+САРАФИЈАНОВИЋ НИКОЛА
+САРАЈЛИЈА ДРАГОМИР
+САРАМАНДИЋ МОМИР
+САРАМАНДИЋ НЕДЕЉКО
+САРАНДА ВАСИЉКА
+САРАПКА КАТИЦА
+САРАТЛИЋ МИЛАН
+САРАТЛИЋ СРБОЉУБ
+САРАВОЛАЦ ЛАЗАР ВЕТЕРИНАР
+САРАВОЛАЦ МАГДАЛЕНА
+САРАВОЛАЦ МИРЈАНА
+САРАВОЛАЦ МИРЈАНА
+САРАВОЛАЦ СИНИША ДР
+САРАВОЛАЦ СЛАВКО
+САРАВОЛАЦ СВЕТЛАНА
+САРИЋ ЂУРА
+САРИЋ ДАНИЛО
+САРИЋ ИВАН
+САРИЋ ЛЕПОСАВА
+САРИЋ МАРИНКО
+САРИЋ МИЛОШ
+САРИЋ МИЛОЈЕ ДР
+САРИЋ РАДОШ
+САРИЋ РАТКО
+САРИЋ ТИБОР
+САРИЋ ВОЈИН
+САРИКАС СНЕЖАНА
+САРИКАС ВАСИЛИЈЕ
+САРКА АРПАД
+САРКА МИХАЉ
+САРКОТИЋ ФРАЊА
+САРМЕШ МАРИЈА ДИПЛ ПРАВНИК
+САРОВ ЛАЗАР
+САРВАШ ШАНДОР
+САРВАШ ЈАНОШ
+САРВАК АЛЕКСА
+САРВАН ДРАГОЉУБ
+САРВАН ВЈЕРА
+САС ЈЕНЕ
+САСИК БОРИСЛАВ
+САТАРИЋ БРАНИСЛАВ
+САТАРИЋ МИЉКО ДР
+САТКАНОВИЋ ХАБИБ
+САУЕР ЈЕЛИЦА
+САУЕР МАРГИТА
+САУЕР ПАВЛЕ
+САУЕР РОСА
+САУЕР СМИЉАНА
+САУСМАН ЛАСЛО
+САУЗЕР ФРАЊО
+САВЧИЋ ДРАГАН
+САВЧИЋ МИЛАНА
+САВЧИЋ МИЛИВОЈЕ
+САВЧИЋ МИЛИВОЈ
+САВЧИЋ МИРОСЛАВ
+САВЧИЋ СЛОБОДАН
+САВА ФРАЊА
+САВАНОВИЋ БРАНКО
+САВАНОВИЋ ДРАГОЉУБ
+САВАНОВИЋ ДУШАН
+САВАНОВИЋ ЈОВАН
+САВАНОВИЋ ЈОВО
+САВАНОВИЋ ЉУБОМИР
+САВАНОВИЋ МАРИЦА
+САВАНОВИЋ МАРИНКО
+САВАНОВИЋ МИЛАН
+САВАНОВИЋ МИЛОШ
+САВАНОВИЋ МИРКО
+САВАНОВИЋ НЕНАД
+САВАНОВИЋ СНЕЖАНА
+САВАНОВИЋ СТОЈАН
+САВАНОВИЋ ЗДРАВКА
+САВАТИЋ ДРАГОМИР
+САВАТИЋ ВЛАДИМИР
+САВАТОВИЋ БОСИЉКА
+САВАТОВИЋ ДРАГАН
+САВАТОВИЋ ДУШАН
+САВАТОВИЋ РАДОВАН
+САВЕЉИЋ ЧЕДОМИР
+САВЕЉИЋ ДУШАН
+САВЕЉИЋ МАРИЈА
+САВЕЉИЋ СВЕТЛАНА
+САВЕЉИЋ ВЕЉКО
+САВЕСКИ МИЛЧО
+САВЕСКИ ЗОРАН
+САВИЧЕВИЋ ГОЈКО
+САВИЧИЋ ГОЈКО
+САВИЧИЋ СТОЈАН
+САВИЧИН ЉУБИЦА
+САВИЋ ЧЕДОМИР
+САВИЋ ЧЕДО
+САВИЋ ЋЕТКО
+САВИЋ ЖИВКА
+САВИЋ ЖИВКА
+САВИЋ ЂОКА
+САВИЋ ЂОРЂЕ ДИПЛ ИНГ
+САВИЋ ЂОРЂЕ
+САВИЋ ЂУРЂИЈА
+САВИЋ АЛЕКСАНДРА
+САВИЋ АЛЕКСА
+САВИЋ АНЂЕЛКА
+САВИЋ АНЂЕЛКА
+САВИЋ АНА
+САВИЋ АНДРИЈА
+САВИЋ АНДРИЈА
+САВИЋ АНГЕЛИНА
+САВИЋ БЛАГОЈЕ
+САВИЋ БЛАГОЈЕ
+САВИЋ БОЖИДАР
+САВИЋ БОЖИМИР ДР
+САВИЋ БОГДАН
+САВИЋ БОРИСЛАВ
+САВИЋ БРАНИСЛАВ
+САВИЋ БРАНИСЛАВ
+САВИЋ БРАНИСЛАВ
+САВИЋ БРАНКО
+САВИЋ ЦВЕТАНКА
+САВИЋ ЦВЕТКО
+САВИЋ ДАМЈАН ДР ЛЕКАР
+САВИЋ ДАНИЦА
+САВИЋ ДАРА
+САВИЋ ДЕЈАН
+САВИЋ ДЕСАНКА
+САВИЋ ДЕСИМИР
+САВИЋ ДОБРИЛА
+САВИЋ ДРАГАН
+САВИЋ ДРАГАН
+САВИЋ ДРАГАН
+САВИЋ ДРАГАН
+САВИЋ ДРАГИША
+САВИЋ ДРАГОСЛАВ
+САВИЋ ДРАГО
+САВИЋ ДРАГУТИН
+САВИЋ ДРАГУТИН
+САВИЋ ДУШАНКА
+САВИЋ ДУШАН
+САВИЋ ДУШАН
+САВИЋ ДУШАН
+САВИЋ ДУШАН
+САВИЋ ДУШАН
+САВИЋ ДУШАН
+САВИЋ ДУШАН
+САВИЋ ГЕОРГИЈЕ
+САВИЋ ГЛИГОРИЈЕ
+САВИЋ ГОЈКО
+САВИЋ ГОРАН
+САВИЋ ГОСТИМИР
+САВИЋ ГРОЗДАНА
+САВИЋ ИЛИЈА
+САВИЋ ИЛИЈА
+САВИЋ ИВАН
+САВИЋ ЈАДРАНКА
+САВИЋ ЈЕЛА
+САВИЋ ЈЕЛЕНА
+САВИЋ ЈЕЛЕНА
+САВИЋ ЈЕЛИЦА
+САВИЋ ЈЕВТО
+САВИЋ ЈОВАНКА
+САВИЋ ЈОВАН
+САВИЋ ЈОВАН
+САВИЋ ЈОВАН
+САВИЋ ЈОВАН
+САВИЋ ЈОВАН
+САВИЋ ЈОВАН
+САВИЋ КАТИЦА
+САВИЋ КАТИЦА
+САВИЋ КОСТА
+САВИЋ КСЕНИЈА
+САВИЋ ЛАЗАР
+САВИЋ ЛАЗАР
+САВИЋ ЛЕНКА ДР
+САВИЋ ЉИЉАНА
+САВИЋ ЉИЉАНА
+САВИЋ ЉУБИША
+САВИЋ ЉУБИЦА
+САВИЋ ЉУБОМИР
+САВИЋ ЉУБОСЛАВ
+САВИЋ ЛУКА
+САВИЋ МАРИЈА
+САВИЋ МАРИЈА
+САВИЋ МАРИЈА
+САВИЋ МАРИЈА
+САВИЋ МАРИНА
+САВИЋ МАРИНА
+САВИЋ МАРКО
+САВИЋ МЕЏО
+САВИЋ МИХАЈЛО
+САВИЋ МИЛАДИН
+САВИЋ МИЛАН
+САВИЋ МИЛАН
+САВИЋ МИЛАН
+САВИЋ МИЛАН
+САВИЋ МИЛЕНА
+САВИЋ МИЛЕНКО
+САВИЋ МИЛЕНКО
+САВИЋ МИЛЕНКО
+САВИЋ МИЛИЈАНА
+САВИЋ МИЛИСАВ
+САВИЋ МИЛИВОЈЕ
+САВИЋ МИЛИВОЈЕ
+САВИЋ МИЛИВОЈЕ
+САВИЋ МИЛИВОЈ
+САВИЋ МИЛИВОЈ
+САВИЋ МИЛКО
+САВИЋ МИЛОШ ДИПЛ ИНГ
+САВИЋ МИЛОШ
+САВИЋ МИЛОШ
+САВИЋ МИЛОШ
+САВИЋ МИЛОШ
+САВИЋ МИЛОРАД
+САВИЋ МИЛОРАД
+САВИЋ МИЛОРАД
+САВИЋ МИЛОСАВА
+САВИЋ МИЛОСАВ
+САВИЋ МИЛОВАН
+САВИЋ МИЛУТИН
+САВИЋ МИОДРАГ
+САВИЋ МИОДРАГ
+САВИЋ МИРЈАНА
+САВИЋ МИРКО
+САВИЋ МИРКО
+САВИЋ МИРОСЛАВ
+САВИЋ МИРОСЛАВ
+САВИЋ МИРОСЛАВ
+САВИЋ МИРОСЛАВ
+САВИЋ МЛАДЕН
+САВИЋ МОМЧИЛО
+САВИЋ НАДА
+САВИЋ НАДЕЖДА
+САВИЋ НАТАША
+САВИЋ НЕДЕЉКО
+САВИЋ НЕДЕЉКО
+САВИЋ НЕДЕЉКО
+САВИЋ НЕДЕЉКО
+САВИЋ НЕНАД
+САВИЋ НИКОЛА
+САВИЋ НИКОЛА
+САВИЋ НИКОЛА
+САВИЋ НИКОЛА
+САВИЋ НИНОСЛАВ
+САВИЋ НОВО
+САВИЋ ОЛГА
+САВИЋ ОЛИВЕРА
+САВИЋ ОЛИВЕРА
+САВИЋ ПАНТЕЛИЈА
+САВИЋ ПАВЛЕ
+САВИЋ ПЕРА
+САВИЋ ПЕТАР
+САВИЋ ПЕТАР
+САВИЋ ПЕТАР
+САВИЋ ПЕТАР
+САВИЋ ПЛАНИНКА
+САВИЋ ПРЕДРАГ
+САВИЋ ПРОКОПИЈЕ
+САВИЋ РАДИША
+САВИЋ РАДИВОЈЕ ДИПЛ ИНГ
+САВИЋ РАДМИЛА
+САВИЋ РАДМИЛА
+САВИЋ РАДМИЛА
+САВИЋ РАДОЈИЦА
+САВИЋ РАДОМИР
+САВИЋ РАДОМИР
+САВИЋ РАДОВАН
+САВИЋ РАДОВАН
+САВИЋ РАКИЋ
+САВИЋ РАТКО
+САВИЋ РАТКО
+САВИЋ РЕЉА ДР
+САВИЋ РЕНАТА
+САВИЋ РОКСАНДА
+САВИЋ РУЖИЦА
+САВИЋ САША
+САВИЋ САВА АДВОКАТ
+САВИЋ САВА
+САВИЋ САВА
+САВИЋ САВА
+САВИЋ СИМЕУН ДИПЛ ИНГ
+САВИЋ СИНИША
+САВИЋ СЛАВКО
+САВИЋ СЛАВОЉУБ
+САВИЋ СЛАВОЉУБ
+САВИЋ СЛОБОДАН
+САВИЋ СЛОБОДАН
+САВИЋ СМИЉА
+САВИЋ СПАСОЈЕ
+САВИЋ СПАСОЈЕ
+САВИЋ СРЂАН
+САВИЋ СРБИСЛАВ
+САВИЋ СРЕТА
+САВИЋ СТЕВАН
+САВИЋ СТОЈАНКА
+САВИЋ СТОЈАН
+САВИЋ СТОЈАН
+САВИЋ СТОЈАН
+САВИЋ СВЕНКА
+САВИЋ СВЕТОЗАР
+САВИЋ СВЕТОЗАР
+САВИЋ ТАТОМИР
+САВИЋ ТЕОДОР
+САВИЋ ТИНКА
+САВИЋ ТОДОР
+САВИЋ ТОДОР
+САВИЋ ТОДОР
+САВИЋ ТОМИСЛАВ
+САВИЋ УРОШ
+САВИЋ ВЕЉКО
+САВИЋ ВЕРИЦА
+САВИЋ ВЕРИЦА
+САВИЋ ВЕСНА
+САВИЋ ВИДОСАВ
+САВИЋ ВИТОМИР
+САВИЋ ВЛАДИМИР
+САВИЋ ВЛАДИМИР
+САВИЋ ВОЈА
+САВИЋ ВУКАН
+САВИЋ ВУКОТА
+САВИЋ ЗОРАН
+САВИЋ ЗОРАН
+САВИЋ ЗОРАН
+САВИЋ ЗОРАН
+САВИЋ ЗОРАН
+САВИЋ ЗОРА
+САВИН ЖИВКА
+САВИН ЖИВКО
+САВИН ЂОРЂЕ
+САВИН ЂУРЂИНКА
+САВИН БЕРИСЛАВ
+САВИН БИЉАНА ДР
+САВИН БОРА
+САВИН ДАНИЦА
+САВИН ДРАГОЉУБ
+САВИН ДРАГОМИР
+САВИН ДРЕНКА
+САВИН ДУШАН
+САВИН ДУШАН
+САВИН ЈОВАН
+САВИН ЈОВАН
+САВИН ЈУЛКА
+САВИН ЛАСЛО
+САВИН ЛАЗАР
+САВИН ЉУБИНКА
+САВИН МАГДА
+САВИН МИЛЕВА
+САВИН МИЛИЦА
+САВИН МИЛКА
+САВИН МИЛОРАД
+САВИН МИЛОРАД
+САВИН МИЛОВАН
+САВИН МИОДРАГ ДИПЛ ОЕЦ
+САВИН МИРЈАНА
+САВИН МИРЈАНА
+САВИН НИКОЛА
+САВИН ПАВЛЕ
+САВИН ПРЕДРАГ
+САВИН РАДИВОЈ
+САВИН САВА
+САВИН СНЕЖАНА
+САВИН СПИРИДОН
+САВИН СТАНА
+САВИН ТОДОР
+САВИН ТОДОР
+САВИН ВЕРИЦА
+САВИН ВУКОСАВА
+САВИН ЗОРА
+САВКЕЉИН СТЕВАН
+САВКИЋ ДУШАН
+САВКОВ ДРАГОЉУБ
+САВКОВ ИЛИЈА
+САВКОВ МИЛАН
+САВКОВ ТОДОР
+САВКОВ ВЕРА
+САВКОВ ВОЈИСЛАВ
+САВКОВ ЗОРАН
+САВКОВИЋ ЖИВОРАД
+САВКОВИЋ ЈАЊА
+САВКОВИЋ МИЛУТИН
+САВКОВИЋ МИРКО
+САВКОВИЋ НЕМАЊА
+САВКОВИЋ САВА
+САВКОВИЋ САВО
+САВКОВИЋ СТАША
+САВКОВИЋ ТАТЈАНА
+САВКОВИЋ ВУКА
+САВКОВИЋ ЗДРАВКО
+САВОВИЋ ДЕСАНКА
+САВОВИЋ ФАТИМА
+САВОВИЋ ЉУБО
+САВОВИЋ ЛУКА
+САВОВИЋ НЕНАД
+САВОВИЋ РАДЕ
+САВУ-МИХАЈЛОВИЋ СОФИЈА
+САВУ ТИБИ
+САВУЉИЋ РАДОМИР
+САЗДАНИЋ ЂОКА
+САЗДАНИЋ ПАВЛЕ
+САЗДАНИЋ СТЕВАН
+СЕЧАНСКИ ЂОРЂЕ
+СЕЧЕН МИЛИВОЈ
+СЕЧЕН СВЕТОЗАР ДР
+СЕЧЕЊИ ИБОЉА
+СЕЧИ ИШТВАН
+СЕЧИВАНОВИЋ ЛЕПША
+СЕЧИВАНОВИЋ ЛЕПША
+СЕЧИВАНОВИЋ ПАВЛЕ
+СЕЧУЈСКИ АНДРИЈА ДИПЛ ИНГ
+СЕЧУЈСКИ ДАНИЛО
+СЕЧУЈСКИ МЛАДЕН
+СЕЧУЈСКИ РАДИВОЈ
+СЕБАСТИАН ЕРНЕ
+СЕБАСТИАН ЈОХАНА
+СЕБАСТИЈАН ЗЛАТКО
+СЕБЕЛЕДИ ПАВЛЕ
+СЕБЕЊИ ФЕРЕНЦ
+СЕБЕЊИ ФРАЊА
+СЕБИШАНОВИЋ ЂОРЂЕ
+СЕБИШАНОВИЋ ПАВЛЕ
+СЕДЕЈ ЈАНЕЗ
+СЕДЕР АЛЕКСАНДАР
+СЕДЕР ИВИЦА
+СЕДЕР СЛАВКО
+СЕДЕР ВЛАДИМИР
+СЕДЕРЛАНД ЂОРЂЕ
+СЕДЛАЧЕК САРА
+СЕДЛАК АНДРАШ
+СЕДЛАН ИЛИЈА
+СЕДЛАН МАНОЈЛО
+СЕДЛАН МИРКО ДИПЛ ИНГ
+СЕДЛАН РАДОСЛАВ
+СЕДЛАН САВА
+СЕДЛАР ИЛИЈА
+СЕДЛАР МАНЕ
+СЕДЛАР МИЛИЦА
+СЕДЛАР МИЛИЦА
+СЕДЛАР НАДА
+СЕДМАК ДРАГАН
+СЕДМАК ВЛАДО
+СЕФЧИК ЖУЖАНА
+СЕФЕР МАРИЈА
+СЕФЕР САКИБ
+СЕФЕР СЕНАД
+СЕФЕРОВИЋ СУАД
+СЕГ ЖУЖАНА
+СЕГ ИМРЕ
+СЕГЕДИ БРАНКА
+СЕГЕДИ ДИМИТРИЈЕ
+СЕГЕДИ ЕВГЕНИЈЕ
+СЕГЕДИ ИВИЦА
+СЕГЕДИ ЈОСИП
+СЕГЕДИ ЈОВАН
+СЕГЕДИ ЈУЛИЈАН
+СЕГЕДИ КАРОЉ
+СЕГЕДИ-КОВАЧЕВ БРАНКА ДР
+СЕГЕДИ КСЕНИЈА
+СЕГЕДИ ЛЕОНА
+СЕГЕДИ МАРИЈА
+СЕГЕДИ МЕЛИТА
+СЕГЕДИ МИЛЕНА
+СЕГЕДИ СЛАВИЦА
+СЕГЕДИ СТЕВАН
+СЕГЕДИ ВЛАДИМИР
+СЕГЕДИНАЦ ДУШКО
+СЕГЕДИНАЦ НАТАЛИЈА
+СЕГЕДИНАЦ ЗДРАВКО
+СЕГЕДИНСКИ АРКАДИЈЕ
+СЕГЕДИНСКИ БОЈКО
+СЕГЕДИНСКИ ЈУЛИЈАНА
+СЕГЕДИНСКИ НЕСТОР
+СЕГЕДИНСКИ САВА
+СЕГЕДИНСКИ ТОМА
+СЕГЕДИНСКИ ВИТОМИР
+СЕГИ ЛАСЛО
+СЕГИЋ БОРИСЛАВ
+СЕГИЋ РАНКО
+СЕИЗОВИЋ ДУШАНКА
+СЕКАЧ ПЕТАР
+СЕКЕ АРПАД
+СЕКЕ ЕВА
+СЕКЕ ИЛИЈА
+СЕКЕ ЈОСИП
+СЕКЕ КАТАРИНА
+СЕКЕ СТЕВАН
+СЕКЕ СТЕВАН
+СЕКЕЉ ЈАНИ
+СЕКЕЉ ЈОСИП
+СЕКЕЉ МАРИЈА
+СЕКЕЉ РУЖИЦА
+СЕКЕРЕШ ШАНДОР
+СЕКЕРЕШ ЂУЛА
+СЕКЕРЕШ ДЕНЕШ
+СЕКЕРЕШ ЕТЕЛ
+СЕКЕРЕШ ФЕРЕНЦ ДР ЛЕКАР
+СЕКЕРЕШ ФЕРЕНЦ
+СЕКЕРЕШ ИШТВАН
+СЕКЕРЕШ ИШТВАН
+СЕКЕРЕШ ИРЕНА
+СЕКЕРЕШ ЈОЖЕФ
+СЕКЕРЕШ ЈУЛИЈАНА
+СЕКЕРЕШ ЈУЛИЈА
+СЕКЕРЕШ КАРОЉ
+СЕКЕРЕШ КАТИЦА
+СЕКЕРЕШ ЛАЈОШ ДИПЛ ИНГ
+СЕКЕРЕШ НАНДОР
+СЕКЕРЕШ СТЕВАН
+СЕКЕРЕШ ТИБОР
+СЕКЕРЕШ ВЕРА
+СЕКЕРЕЗОВИЋ МИЛАН
+СЕКЕРИЋ СТЕВАН
+СЕКЕРУШ ЈЕЛИСАВЕТА
+СЕКЕРУШ ЉУБИЦА
+СЕКЕРУШ МИЛКИЦА
+СЕКЕРУШ МИРЈАНА
+СЕКЕРУШ ПАВЛЕ
+СЕКЕРУШ ПЕТАР
+СЕКЕРУШ СТАНИСЛАВ
+СЕКЕРУШ ВЛАДИМИР
+СЕКИЦКИ АЛЕКСАНДАР
+СЕКИЦКИ ЕМИЛИЈА
+СЕКИЦКИ ИСИДОР
+СЕКИЦКИ ЛАЗАР
+СЕКИЦКИ МАРИЦА
+СЕКИЦКИ МИЛОРАД
+СЕКИЦКИ ПЕТАР
+СЕКИЦКИ ВЕЉА
+СЕКИЗ ЖИВКО
+СЕКИЗ ИЛИЈА
+СЕКИЗ ЈОВАН
+СЕКИЗ МЕЛАНИЈА
+СЕКИЗ ПЕТАР
+СЕКИЗ ПЕТАР
+СЕКИЗ РАДИВОЈ
+СЕКИЗ СОЊА
+СЕКОШАН ЉУБИЦА
+СЕКОШАН МАРИНА
+СЕКОЛ МИЛКА
+СЕКОСКИ ЈОМЧЕ
+СЕКОВСКИ РАДЕ
+СЕКРЕЊ ЈОЖЕФ
+СЕКУЛИЋ ЧЕДИЦА
+СЕКУЛИЋ ЧЕДОМИР
+СЕКУЛИЋ ЖАРКО
+СЕКУЛИЋ ЖИВКО
+СЕКУЛИЋ ЖИВКО
+СЕКУЛИЋ ЖИВОЈИН ДИПЛ ИНГ
+СЕКУЛИЋ ЂОРЂЕ
+СЕКУЛИЋ ЂОРЂЕ
+СЕКУЛИЋ ЂУРЂИЦА
+СЕКУЛИЋ ЂУРАЂ
+СЕКУЛИЋ АЛЕКСАНДАР
+СЕКУЛИЋ АЛЕКСАНДАР
+СЕКУЛИЋ АНЂЕЛКА
+СЕКУЛИЋ АРСЕНИЈЕ
+СЕКУЛИЋ БОЖИДАР ДИПЛ ИНГ
+СЕКУЛИЋ БРАНИСЛАВ
+СЕКУЛИЋ БРАНИСЛАВ
+СЕКУЛИЋ БРАНИСЛАВ
+СЕКУЛИЋ ДАНЕ
+СЕКУЛИЋ ДАРИНКА
+СЕКУЛИЋ ДАРИНКА
+СЕКУЛИЋ ДЕСАНКА
+СЕКУЛИЋ ДЕСАНКА
+СЕКУЛИЋ ДОСТА
+СЕКУЛИЋ ДРАГАН
+СЕКУЛИЋ ДРАГИЦА
+СЕКУЛИЋ ДРАГОЉУБ
+СЕКУЛИЋ ДРАГОМИР
+СЕКУЛИЋ ДРАГОМИР
+СЕКУЛИЋ ДУШАН
+СЕКУЛИЋ ДУШАН
+СЕКУЛИЋ ДУШАН
+СЕКУЛИЋ ДУШАН
+СЕКУЛИЋ ИЛИЈА
+СЕКУЛИЋ ИЛИЈА
+СЕКУЛИЋ ИВАН
+СЕКУЛИЋ ИВАН
+СЕКУЛИЋ КАТИЦА
+СЕКУЛИЋ ЛАЗАР
+СЕКУЛИЋ ЉИЉАНА
+СЕКУЛИЋ ЉИЉАНА
+СЕКУЛИЋ ЉУБИША
+СЕКУЛИЋ ЉУБИЦА
+СЕКУЛИЋ ЉУБИЦА
+СЕКУЛИЋ ЉУБИЦА
+СЕКУЛИЋ ЉУБОМИР
+СЕКУЛИЋ МАРИЈА
+СЕКУЛИЋ МАРИЈА
+СЕКУЛИЋ МАРИЈА
+СЕКУЛИЋ МИЋО
+СЕКУЛИЋ МИЛАН
+СЕКУЛИЋ МИЛАН
+СЕКУЛИЋ МИЛАН
+СЕКУЛИЋ МИЛАН
+СЕКУЛИЋ МИЛАН
+СЕКУЛИЋ МИЛАН
+СЕКУЛИЋ МИЛЕНА
+СЕКУЛИЋ МИЛЕНА
+СЕКУЛИЋ МИЛИВОЈЕ
+СЕКУЛИЋ МИЉА
+СЕКУЛИЋ МИЛОРАД
+СЕКУЛИЋ МИЛОРАД
+СЕКУЛИЋ МИЛОВАН
+СЕКУЛИЋ МИЛОВАН
+СЕКУЛИЋ МИЛОВАН
+СЕКУЛИЋ МИОДРАГ
+СЕКУЛИЋ МИОДРАГ
+СЕКУЛИЋ МИРА
+СЕКУЛИЋ МИРЈАНА
+СЕКУЛИЋ МИРЈАНА
+СЕКУЛИЋ МИРКО
+СЕКУЛИЋ НЕГИЦА
+СЕКУЛИЋ НЕМАЊА
+СЕКУЛИЋ ОЛГА
+СЕКУЛИЋ ОЛИВЕРА
+СЕКУЛИЋ ПАВЛЕ
+СЕКУЛИЋ ПАВЛЕ
+СЕКУЛИЋ ПЕТАР ДР
+СЕКУЛИЋ ПЕТАР
+СЕКУЛИЋ ПЕТКО
+СЕКУЛИЋ РАДЕ
+СЕКУЛИЋ РАДИВОЈ МР
+СЕКУЛИЋ РАДМИЛА
+СЕКУЛИЋ РАДОСАВ
+СЕКУЛИЋ РУЖИЦА
+СЕКУЛИЋ СИМО
+СЕКУЛИЋ СЛАВКО
+СЕКУЛИЋ СМИЉА
+СЕКУЛИЋ СПАСА
+СЕКУЛИЋ СПАСО
+СЕКУЛИЋ СТАНИСЛАВ
+СЕКУЛИЋ СТАНОЈЕ
+СЕКУЛИЋ СТЕВАН
+СЕКУЛИЋ СТЕВАН
+СЕКУЛИЋ СТОЈАН ДИПЛ ИНГ
+СЕКУЛИЋ СТОЈАН
+СЕКУЛИЋ СВЕТОЗАР
+СЕКУЛИЋ СВЕТОЗАР
+СЕКУЛИЋ ТИХОМИР
+СЕКУЛИЋ ТОМИСЛАВ
+СЕКУЛИЋ ТОМИСЛАВ
+СЕКУЛИЋ УСТИЈАНКА
+СЕКУЛИЋ ВАЛЕНТИНА
+СЕКУЛИЋ ВЕНО
+СЕКУЛИЋ ВИДОЈЕ
+СЕКУЛИЋ ВИНКО
+СЕКУЛИЋ ВЛАДИМИР
+СЕКУЛИЋ ВЛАДИМИР
+СЕКУЛИЋ ВЛАДО
+СЕКУЛИЋ ВОЈИСЛАВ
+СЕКУЛИЋ ЗОРАН
+СЕКУЛИЋ ЗОРАН
+СЕКУЛИЋ ЗОРА
+СЕКУЛИЋ ЗОРИЦА
+СЕКУЛОВИЋ МИХАИЛО
+СЕКУЛОВИЋ МИЛАНКА
+СЕКУЛОВИЋ МИЛЕНКО
+СЕКУЛОВИЋ РАДИВОЈЕ
+СЕКУЛОВИЋ СЛАВКО
+СЕЛ АНА
+СЕЛ ЈОЖЕФ
+СЕЛ ЛАДИСЛАВ
+СЕЛАК ЈОВАН
+СЕЛАК ЈОВО
+СЕЛАК МИРЈАНА
+СЕЛАК СТЕВАН
+СЕЛАКОВИЋ ЂОРЂЕ ДР ЛЕКАР
+СЕЛАКОВИЋ ДРАГИЦА ДР ЛЕКАР
+СЕЛАКОВИЋ ЉУБИСАВ
+СЕЛАКОВИЋ МИЛАН
+СЕЛАКОВИЋ МИОДРАГ
+СЕЛАКОВИЋ МИРОСЛАВ
+СЕЛАКОВИЋ МЛАДЕН
+СЕЛАКОВИЋ РАДОСЛАВ
+СЕЛАКОВИЋ СРЕЋКО
+СЕЛАКОВИЋ ВОЈА
+СЕЛЕШ КАРОЉ
+СЕЛЕШ КАРОЉ
+СЕЛЕШ МИХАЈЛО
+СЕЛЕШИ ЕЛЗА
+СЕЛЕШИ ЕТЕЛКА
+СЕЛЕШИ ЛАДИСЛАВ
+СЕЛЕШИ ЛАСЛО
+СЕЛЕШИ МАГДАЛЕНА
+СЕЛЕШИ МАРИЈА
+СЕЛЕШИ ПАЛ
+СЕЛЕШИ СТЕВАН
+СЕЛЕШИ ВИНЦЕ
+СЕЛЕШИ ЗОЛТАН
+СЕЛЕНА ЈЕЛЕНА
+СЕЛЕНА НИКОЛА
+СЕЛЕНИЋ АНКИЦА
+СЕЛИ ЕТЕЛКА
+СЕЛИ ИШТВАН ДР
+СЕЛИ МИКЛОШ
+СЕЛИЋ ДРАГУТИН
+СЕЛИЋ МИЋО
+СЕЛИЋ МИЛОШ
+СЕЛИЋ МИЛОРАД
+СЕЛИХ ДАНИЛО
+СЕЛИХ ДРАГО
+СЕЛИК ЈОСИП
+СЕЛИК ЛАДИСЛАВ
+СЕЛИМОВИЋ МУСТАФА
+СЕЛИНГЕР ГАБРИЈЕЛА
+СЕЉАКОВ НАДА
+СЕЛМАН ХАКИЈА
+СЕЛСКИ АНА
+СЕЛСКИ МАРИЈА
+СЕЛВЕР АЛИНАЂИ
+СЕМАН ЈОАКИМ
+СЕМЕДЕР ДИМИТРИЈЕ
+СЕМЕДЕР СУЗАНА
+СЕМЕДЕР СУЗАНА
+СЕМЕК ЧАБА
+СЕМЕК ЧИЛА
+СЕМЕНСКИ КОРНЕЛИЈА
+СЕМЕРЕДИ ЈОЖЕФ
+СЕМЕРЕДИ ВЕРА
+СЕМИЗ КАТИЦА
+СЕМИЗОВИЋ САДИК
+СЕМНИЦ РУДОЛФ ДР
+СЕН МАРТИН
+СЕНЧУК СЛАВИЦА
+СЕНЧУК СТЕВО
+СЕНЋАНСКИ ЈУЛИЈА
+СЕНЋАНСКИ КАТИЦА
+СЕНЋАНСКИ НАДА
+СЕНЋАНСКИ ПЕТАР
+СЕНЋАНСКИ ЗОРА
+СЕНАШИ ЛАДИСЛАВ
+СЕНЦИ ЛАДИСЛАВ
+СЕНДЕРАК ЂУРА
+СЕНДЕРАК ЕУГЕН
+СЕНДЕРАК ЛИДИЈА
+СЕНДЕРАК МЕЛАНИЈА
+СЕНДЕРАК МИРКО
+СЕНДЕРАК НИКОЛА
+СЕНДЕРАК ПЕТАР
+СЕНДЕРАК СИЛВЕСТЕР
+СЕНЕШИ ЈЕЛЕНА
+СЕНИЋ АНИЦА
+СЕНИЋ ИВАНКА
+СЕНИЋ ЛАЗАР
+СЕНИЋ МИЛОРАД
+СЕНИЋ РИСТО
+СЕНИЋ ВЛАДИМИР
+СЕЊЕШ ШАНДОР
+СЕЊИ АГОШТОН ДР ЛЕКАР
+СЕЊИ ИЛОНА
+СЕЊИ ИРЕНА
+СЕНТЕ ЉУБИЦА
+СЕНТЕ ПЕТАР
+СЕНТИН ЧЕДОМИР
+СЕНТИВАНАЦ ЂОРЂЕ
+СЕНТИВАНАЦ МАРКО
+СЕНТИВАНАЦ МИЛАН
+СЕНТИВАНАЦ МИЛОШ
+СЕНТИВАНАЦ МОМИР
+СЕНТИВАНАЦ САВА
+СЕНТИВАНАЦ СВЕТЛАНА
+СЕНТИВАНАЦ ТОДОР
+СЕНТИВАНАЦ ВЕСНА
+СЕНТМАРТОНИ ФЕРЕНЦ
+СЕП АНТАЛ
+СЕП ДЕЖЕ ДР ЛЕКАР
+СЕП ФЕРЕНЦ
+СЕП-ВАРГА ЕМИЛИЈА
+СЕРАФИМОВ КИРИЛ
+СЕРАТЛИЋ ЧЕДОМИР
+СЕРАТЛИЋ ДАРКА
+СЕРАТЛИЋ ГОЛУБ
+СЕРАТЛИЋ МИРАШ
+СЕРАТЛИЋ МИРЈАНА
+СЕРАТЛИЋ ВЕЛИМИР ДР
+СЕРАТЛИЋ ЗОРАН
+СЕРДА ШАНДОР
+СЕРДАР ДАНИЦА
+СЕРДАР ИЛИЈА
+СЕРДАР МАРА
+СЕРДАР МЛАДЕН
+СЕРДАР НЕДЕЉКО
+СЕРДАР ПЕТАР
+СЕРДАР ПЕТАР
+СЕРДАРЕВИЋ ЋАЗИМ
+СЕРДАРЕВИЋ ГИЗЕЛА
+СЕРЕШИ ФЕРЕНЦ
+СЕРЕШИ ИШТВАН
+СЕРЕШИ ЛАСЛО
+СЕРЕШИ РОЗАЛИЈА
+СЕРЕШИ СТЕВАН
+СЕРЕШИ ТИБОР
+СЕРЕНЧЕ ЛАДИСЛАВ
+СЕРЕНЧЕШ ЈОЖЕФ НОВИНАР
+СЕРНЕЦ СТЕВАН
+СЕРТИЋ ДРАГАН
+СЕРТИЋ МАРИЈА
+СЕРТИЋ МАТИЈА
+СЕРТИЋ МИЛАН
+СЕРТИЋ ВЛАДА
+СЕТЕНЧИЋ МИЛОРАД
+СЕВЕР ШИМЕ
+СЕВЕРИНИ ЈАН
+СЕВИЋ ЂОРЂЕ
+СЕВИЋ РАДЕНКО
+СЕВКИЋ БРАНКО
+СЕВКИЋ МАГДАЛЕНА
+СИЧ АНДРИЈА
+СИЧ ДРАГАН
+СИЧ ФЕРЕНЦ
+СИЧ ИМРЕ
+СИЧ ЈОЖЕФ
+СИЧ ЈОСИП
+СИЧ ЈОСИП
+СИЧ ЈУЛИЈАНА
+СИЧ КАЛМАН
+СИЧ КАЛМАН
+СИЧ МАРГИТА
+СИЧ МАРИЈА
+СИЧ МАРИЈА
+СИЧ МИХАЉ
+СИЧ МИРОСЛАВА
+СИЧ ПЕТАР ДР ЛЕКАР
+СИЧ ПИРОШКА
+СИЧ СТЕВАН
+СИЧ СТЕВАН
+СИЧ СТЕВАН
+СИЧ ТЕРЕЗА
+СИЧ ВЛАДИСЛАВ
+СИЧ ЗЛАТКО
+СИЋ МИРОСЛАВ
+СИЋ СЛАЂАНА
+СИЋ СТАНИСЛАВ
+СИЋ СТАНКО
+СИЂИ МИРКО
+СИБЕР ИШТВАН
+СИБЕР ИШТВАН
+СИБИНАЦ ВУКИЦА
+СИБИНКИЋ ПЕТАР
+СИБИНКИЋ РАТКО
+СИБИНКИЋ РАТКО
+СИБИНКИЋ ВАСА
+СИБИНОВ НИКОЛА
+СИБИНОВИЋ РАДОМИР
+СИБИНСКИ ВИДА
+СИЏИМОСКИ ДИМИТРИЈЕ
+СИДОР ЋИРИЛ ДР
+СИГЕТИ-БИЧКЕИ АГОТА
+СИГЕТИ ЈАША
+СИГЕТИ ЈАНОШ
+СИГЕТИ СТЕВАН
+СИКА ФРАЊА
+СИКА ИРЕНА
+СИКИМИЋ АНЂЕЛКА
+СИКИМИЋ НОВАК
+СИКИМИЋ СРЂАН
+СИКИМИЋ СРЂАН
+СИКИРИЦА МИРЈАНА
+СИКОРА КАРОЉ
+СИКОРА ЛАДИСЛАВ
+СИКОРА ПЕТАР
+СИЛАШКИ ИЛИЈА
+СИЛАШКИ РАДОВАН
+СИЛАШКИ СЛАВКО
+СИЛАШКИ СНЕЖАНА
+СИЛАШКИ ВЕРА
+СИЛАШКИ ВЛАДИСЛАВА
+СИЛАЂЕВ РУЖИЦА
+СИЛАЂИ ШАНДОР
+СИЛАЂИ АНДРАШ
+СИЛАЂИ ФРАЊА
+СИЛАЂИ ГИЗЕЛА
+СИЛАЂИ ИШТВАН
+СИЛАЂИ ИМРЕ
+СИЛАЂИ ЈЕЛИСАВЕТА
+СИЛАЂИ КАРОЉ
+СИЛАЂИ ЛАДИСЛАВ
+СИЛАЂИ ЛАСЛО ВАЈАР
+СИЛАЂИ ЛАСЛО
+СИЛАЂИ ЛАСЛО
+СИЛАЂИ ЛАСЛО
+СИЛАЂИ ЉУДЕВИТ
+СИЛАЂИ ЉУДЕВИТ
+СИЛАЂИ МАРИЈА
+СИЛАЂИ МИКЛОШ
+СИЛАЂИ РОЗАЛИЈА
+СИЛАЂИ ТЕРЕЗА
+СИЛАЂИ ВИКТОРИЈА
+СИЛАК АНДРАШ
+СИЛАК ГИЗЕЛА
+СИЛАК ИШТВАН
+СИЛАК ЗОЛТАН
+СИЛБАШКИ ДОШКО
+СИЛБАШКИ ЉУБИЦА
+СИЛБАШКИ МАРЈАН
+СИЛБАШКИ ЗОРАН
+СИЛБЕРХОЛЦ СТЕВАН
+СИЛЕР ЂУЛА
+СИЛЕР ДУШИЦА
+СИЛЕР ГУСТАВ
+СИЛЕР КАРЛ
+СИЉАНОВСКИ ДАРКО
+СИЉАНОВСКИ ЈОЖЕ
+СИЛНИ СЛАВНА
+СИЛВАШИ ШАНДОР
+СИЛВАШИ ЈАНОШ
+СИЛВАШИ КАРОЉ
+СИЛВЕСТРОВИЋ МИЛИЦА
+СИЛВЕСТРОВИЋ ТАНАСИЈЕ
+СИМЧИН МИХАЈЛО
+СИМАНИЋ ИЛИЈА
+СИМАНИЋ ЈЕЗДИМИР
+СИМАНИЋ ПЕТКО
+СИМАНИЋ РАЈКА
+СИМАНИЋ САВА
+СИМЕНДИЋ БОЖА
+СИМЕНДИЋ ГОРАН
+СИМЕНДИЋ СВЕТОЗАР
+СИМЕНДИЋ ВЛАДИМИР
+СИМЕНТИЋ ЈОВАН
+СИМЕНТИЋ ВОЈИСЛАВ
+СИМЕОНОВ ПАВЛЕ
+СИМЕОНОВ РАДИВОЈ
+СИМЕОНОВ ЗДРАВЧО
+СИМЕОНОВИЋ ЂОРЂЕ
+СИМЕОНОВИЋ МИЛИВОЈ
+СИМЕОНОВИЋ РАДОСЛАВ
+СИМЕОНОВИЋ СЛОБОДАНКА
+СИМЕТИЋ МОМЧИЛО
+СИМЕТИЋ ОСТОЈА
+СИМЕУНОВИЋ БОРИСЛАВ
+СИМЕУНОВИЋ ДРАГАН
+СИМЕУНОВИЋ ДРАГАН
+СИМЕУНОВИЋ ДРАГОЉУБ
+СИМЕУНОВИЋ ДУШАН
+СИМЕУНОВИЋ ЈАНКО
+СИМЕУНОВИЋ ЛЕПОСАВА
+СИМЕУНОВИЋ МИЛАН
+СИМЕУНОВИЋ МИЛОМИР
+СИМЕУНОВИЋ НЕВЕНКА
+СИМЕУНОВИЋ РАДОСАВ
+СИМЕУНОВИЋ САВА
+СИМЕУНОВИЋ СИМО
+СИМЕУНОВИЋ СИМО
+СИМЕУНОВИЋ СРЕТЕН
+СИМЕУНОВИЋ ВЛАДА
+СИМИЧИЋ ДРАГАНА
+СИМИШИЋ РАДОЈИЦА
+СИМИЋ ЧЕДА
+СИМИЋ ЖИВОЈИН
+СИМИЋ ЖИВОЈИН
+СИМИЋ ЂУРЂЕВКА
+СИМИЋ ЂУРА
+СИМИЋ ЂУРО
+СИМИЋ АЦА
+СИМИЋ АДАМ
+СИМИЋ АЛЕКСАНДАР
+СИМИЋ АЛЕКСАНДАР
+СИМИЋ АНЂЕЛКА
+СИМИЋ БОШКО
+СИМИЋ БОЈАНА
+СИМИЋ БОРА
+СИМИЋ БОРИСЛАВ
+СИМИЋ БОРИСЛАВ
+СИМИЋ БОРКА
+СИМИЋ БОСИЉКА
+СИМИЋ БРАНИСЛАВ
+СИМИЋ БРАНИСЛАВ
+СИМИЋ БРАНИСЛАВ
+СИМИЋ БРАНКО
+СИМИЋ БУДИМИР
+СИМИЋ-ЦХАЛАБИ ДРАГАНА
+СИМИЋ ЦВЕТИН
+СИМИЋ ДЕЈАН
+СИМИЋ ДОБРИВОЈЕ
+СИМИЋ ДОБРИВОЈЕ
+СИМИЋ ДОЈЧИН
+СИМИЋ ДРАГАН
+СИМИЋ ДРАГИЦА
+СИМИЋ ДРАГОЉУБ
+СИМИЋ ДРАГОЉУБ
+СИМИЋ ДРАГУТИН
+СИМИЋ ДУШАНКА
+СИМИЋ ДУШАН
+СИМИЋ ДУШАН
+СИМИЋ ДУШИЦА
+СИМИЋ ГОЈКО
+СИМИЋ ГОРДАНА
+СИМИЋ ГРАДИМИР
+СИМИЋ ХЕРМИНА ДР
+СИМИЋ ИЛИЈА
+СИМИЋ ИЛОНКА
+СИМИЋ ИВАН
+СИМИЋ ЈЕЛЕНА
+СИМИЋ ЈОВАН
+СИМИЋ ЈОВАН
+СИМИЋ ЈОВИЦА
+СИМИЋ ЈОВО
+СИМИЋ ЈОВО
+СИМИЋ ЈУДИТ
+СИМИЋ КРИСТИНА
+СИМИЋ ЉИЉАНА
+СИМИЋ МАРИЈА
+СИМИЋ МАРИЈА
+СИМИЋ МАРИЈА
+СИМИЋ МИЦА
+СИМИЋ МИХАИЛО
+СИМИЋ МИЛАН
+СИМИЋ МИЛАН
+СИМИЋ МИЛАН
+СИМИЋ МИЛЕНА
+СИМИЋ МИЛИЦА
+СИМИЋ МИЛИЈА
+СИМИЋ МИЛИВОЈ
+СИМИЋ МИЛОШ
+СИМИЋ МИЛОШ
+СИМИЋ МИЛОШ
+СИМИЋ МИЛОРАД
+СИМИЋ МИЛОРАД
+СИМИЋ МИЛОВАН
+СИМИЋ МИЛУТИН
+СИМИЋ МИЛУТИН
+СИМИЋ МИЛУТИН
+СИМИЋ МИРКО
+СИМИЋ МОМЧИЛО
+СИМИЋ МОМЧИЛО
+СИМИЋ МОМЧИЛО
+СИМИЋ МОМЧИЛО
+СИМИЋ НАДА
+СИМИЋ НАДА
+СИМИЋ НАРАНЧА
+СИМИЋ НЕЂО
+СИМИЋ НЕДЕЉКО
+СИМИЋ НЕМАЊА
+СИМИЋ НЕВЕНКА
+СИМИЋ НИКОЛА
+СИМИЋ НИКОЛА
+СИМИЋ НОВАК
+СИМИЋ НОВАК
+СИМИЋ НОВАК
+СИМИЋ ОЛГА
+СИМИЋ ОСТОЈА
+СИМИЋ ПАНТЕЛИЈА
+СИМИЋ ПАВЛЕ
+СИМИЋ ПЕТАР
+СИМИЋ РАДА
+СИМИЋ РАДЕНКО
+СИМИЋ РАДЕНКО
+СИМИЋ РАДИСАВ
+СИМИЋ РАДИВОЈЕ
+СИМИЋ РАДИВОЈЕ
+СИМИЋ РАДИВОЈ
+СИМИЋ РАДОЈЕ
+СИМИЋ РАДОВАН
+СИМИЋ РАЈКО
+СИМИЋ РУЖИЦА
+СИМИЋ РУЖИЦА
+СИМИЋ САВА
+СИМИЋ СИМА
+СИМИЋ СИНИША
+СИМИЋ СЛАДА
+СИМИЋ СЛАВКО
+СИМИЋ СЛОБОДАН
+СИМИЋ СРЂАН
+СИМИЋ СРЕТЕН
+СИМИЋ СТЕВАН
+СИМИЋ СТЕВАН
+СИМИЋ СТЕВАН
+СИМИЋ СТОЈАНКА
+СИМИЋ СВЕТИСЛАВ
+СИМИЋ СВЕТИСЛАВ
+СИМИЋ ТИХОМИР
+СИМИЋ ТИХОМИР
+СИМИЋ ТОДЕ
+СИМИЋ ТОМИСЛАВ
+СИМИЋ ТОМИСЛАВ
+СИМИЋ ВАЈКА
+СИМИЋ ВАСА
+СИМИЋ ВЕРОНКА
+СИМИЋ ВЕСЕЛКО
+СИМИЋ ВИНКА
+СИМИЋ ВЛАДЕ
+СИМИЋ ВЛАДИМИР
+СИМИЋ ВЛАДО
+СИМИЋ ВОЈИСЛАВ
+СИМИЋ ЗЛАТИМИР
+СИМИЋ ЗОРАН
+СИМИЋ ЗОРАН
+СИМИЋ ЗОРАН
+СИМИЋ ЗОРА
+СИМИЋ ЗОРА
+СИМИЋ ЗОРИЦА
+СИМИЋ ЗОРКА
+СИМИЋЕВИЋ РАДОМАН
+СИМИЈОНОВИЋ СЛОБОДАН
+СИМИКИЋ ЈОВАН
+СИМИЛЕЊИ ДУШИЦА
+СИМИН ЖИВКА
+СИМИН ЖИВОЈИН
+СИМИН АНЂЕЛКА
+СИМИН АРАНКА
+СИМИН ЦВЕТКО
+СИМИН ДАНИЦА
+СИМИН ДАНИЛО
+СИМИН ДИНА
+СИМИН ДРАГАН
+СИМИН ХИЛДА
+СИМИН ИВАНКА
+СИМИН ИВАН
+СИМИН ЈАША
+СИМИН ЈЕЛЕНА
+СИМИН КОСТА
+СИМИН ЛАЗАР
+СИМИН ЛЕПОСАВА
+СИМИН ЉУБИЦА
+СИМИН МАГДА
+СИМИН МИЛЕНА
+СИМИН МИЛИЦА
+СИМИН МИЛИЦА
+СИМИН МИЛИВОЈ
+СИМИН МИЛИВОЈ
+СИМИН МИЛУТИН
+СИМИН МИРОСЛАВ
+СИМИН НАДА
+СИМИН НАДА
+СИМИН НЕБОЈША
+СИМИН ПАВЛЕ
+СИМИН ПЕТАР
+СИМИН РАДИЦА
+СИМИН РАДИВОЈЕ
+СИМИН РАДОЈИЦА
+СИМИН РАДОВАН
+СИМИН СИНИША
+СИМИН СОФИЈА
+СИМИН СТЕВАН
+СИМОНОВИЋ ДРАГОСЛАВА
+СИМОНОВИЋ ХРИСТИНА
+СИМОНОВИЋ ИРЕНА ДР
+СИМОНОВИЋ МИЛЕ
+СИМОНОВИЋ МИЛОРАД
+СИМОНОВИЋ МИЛОРАД
+СИМОНОВИЋ НАДА
+СИМОНОВИЋ НИКОЛА
+СИМОНОВИЋ ПЕТАР
+СИМОНОВИЋ СЛОБОДАН
+СИМОНОВИЋ ТОМИСЛАВ
+СИМОНОВИЋ ВОЈИСЛАВ
+СИМОНОВСКИ ФИНКА
+СИМОНОВСКИ МИТА
+СИМОТИН РАДОВАН
+СИМОВИЋ ЖЕЉКО
+СИМОВИЋ ЖИВОТА
+СИМОВИЋ АНКА
+СИМОВИЋ БРАНИСЛАВ ДР
+СИМОВИЋ ДРАГОЉУБ
+СИМОВИЋ ДРАГОЉУБ
+СИМОВИЋ ДРАГО
+СИМОВИЋ ЈОВА
+СИМОВИЋ ЉУБИША
+СИМОВИЋ МИЛАН
+СИМОВИЋ МИЛАН
+СИМОВИЋ МИЛАН
+СИМОВИЋ МИЛАН
+СИМОВИЋ МИЛОШ
+СИМОВИЋ МИЛОШ
+СИМОВИЋ МИРКО
+СИМОВИЋ МИТАР
+СИМОВИЋ ПЕТАР
+СИМОВИЋ РАДИВОЈЕ
+СИМОВИЋ РАДОМИР
+СИМОВИЋ СЛОБОДАН ПРОФЕСОР
+СИМОВИЋ СЛОБОДАН
+СИМОВИЋ ТОДОР
+СИМОВИЋ ВИДАК
+СИМОВИЋ ВЛАДИМИР
+СИМОВЉЕВИЋ ЈОЦА
+СИМУНИЋ ЖЕЛИМИР
+СИМУНИЋ АНДРИЈА
+СИМУНИЋ МАГДА
+СИМУНИЋ СТАНИМИР
+СИМУНОВИЋ МАРИЈА
+СИМУНОВИЋ МИЛУН
+СИМУРДИЋ МИЛАН
+СИМУРДИЋ ПЕТАР
+СИМУРДИЋ ВИТОМИР
+СИНЧИЋ ЗВОНИМИР
+СИНЂЕЛИЋ ЉУБИСАВ
+СИНЂЕЛИЋ МИЛОШ
+СИНЂИЋ МИЛЕНКО
+СИНАДИНОВИЋ ВОЈО
+СИНАНИ АБДУЛА
+СИНАНИ МИЛИЦА
+СИНАНОВИЋ САФЕТ
+СИНГЕР ДРАГИЦА
+СИНГЕР РУЖИЦА
+СИРАЧКИ КАРОЛИНА
+СИРАЦКИ ЈОВАН
+СИРАЦКИ ВЛАДИМИР
+СИРАК ЛАСЛО ДР
+СИРИШКИ ЖАРКО
+СИРИШКИ ЂУРЂИНА
+СИРИШКИ БРАНИСЛАВ
+СИРИШКИ ИВАН
+СИРИШКИ ЈАСМИНКА
+СИРИШКИ ЈЕЛЕНА
+СИРИШКИ ЈОВАН
+СИРИШКИ МИРОСЛАВА
+СИРИШКИ СЛАВКО СУДИЈА
+СИРИШКИ СЛАВКО
+СИРОЧИЋ ИВАН
+СИРОЖЕНКО СНЕЖАНА
+СИРОЖЕНКО ВЕРА
+СИРОТИН СЛАВИЦА
+СИРОВИЦА ЈАНОШ
+СИРУЧЕК ВИЛИМ ДИПЛ ИНГ
+СИТАШ ИЛОНА
+СИТАШ ЛАЈОШ
+СИТАРЕВИЋ АМИР
+СИТАРИЋ ПАЈА
+СИВЧ АМАЛИЈА
+СИВЧ АНЂЕЛКА
+СИВЧ ДАНИЛО
+СИВЧ ХЕЛЕНА
+СИВЧ ИРИНА
+СИВЧ ЈАНКО
+СИВЧ ЉУБОМИР
+СИВЧ ЉУБОМИР
+СИВЧ НЕСТОР
+СИВЧ ВЛАДИМИР
+СИВЧЕВ ЂОКА
+СИВЧЕВ БОЖИДАР
+СИВЧЕВ ЈОВАН ДР
+СИВЧЕВ ЈУЛКА
+СИВЧЕВ ЉУБИЦА
+СИВЧЕВ МИЛАН
+СИВЧЕВ ЗОРАН
+СИВАЧКИ ЂУРА
+СИВАЧКИ ЈОВАН
+СИВАЧКИ МИЛАН
+СИВАЧКИ МИРЈАНА
+СИВАЧКИ МИРОСЛАВ
+СИВАЧКИ САВА
+СИВАЧКИ СЛОБОДАНКА
+СИВАЧКИ ВЕРА
+СИВАЧКИ ВЕРА
+СИВАЦ ЈОВАНКА
+СИВАК ИБОЉА
+СИВАК ЈУДИТА
+СИВАК ЉУБИНКА
+СИВАК РОЗИНА
+СИВИЋ ГОЈКО
+СИВИЋ РАДЕ
+СИЗОВ МАРГИТА
+СЈЕНИЧИЋ НЕДЕЉКО
+СЈЕПАНОВИЋ СРЂАН
+СКАКАВАЦ НИКОЛА
+СКАКАВАЦ НОВА
+СКАКАВАЦ НОВА
+СКАКАВАЦ СОФИЈА
+СКАКАВАЦ ВЕЛИМИР
+СКАКАВАЦ ВУЈИЦА
+СКАКАВАЦ ЗДРАВКО
+СКАКИЋ БОШКО
+СКАКИЋ МИЛАН
+СКАКИЋ НИКОЛА
+СКАКУН ЖИВКО
+СКАЛА АНТАЛ
+СКАЛА МИЛЕНА
+СКАЛА ВЛАДИМИР
+СКАЛИЦКИ ЗАГОРКА
+СКАНДАРСКИ АНКА
+СКАНДАРСКИ МИЛАН
+СКАНДАРСКИ МИЛОШ
+СКАНДАРСКИ МИРКО
+СКАНДАРСКИ МЛАДЕН
+СКАНДАРСКИ МОМЧИЛО
+СКАНДАРСКИ РАДОВАН
+СКАРАМУЦА МИЈО
+СКАРАМУЦА ЗДРАВКО
+СКЕЛЕЏИЋ АЛЕКСАНДАР
+СКЕЛЕЏИЋ АЛЕКСАНДАР
+СКЕЛЕЏИЋ БРАНИСЛАВ
+СКЕЛЕЏИЋ БРАНИСЛАВ
+СКЕЛЕЏИЋ ДРАГИЦА
+СКЕЛЕЏИЋ КАТИЦА
+СКЕЛЕЏИЋ ЉУБИНКО
+СКЕЛЕЏИЋ МАРИЈА
+СКЕЛЕЏИЋ МИЛАН
+СКЕЛЕЏИЋ МИРОСЛАВА
+СКЕЛЕЏИЋ РАДОСЛАВ
+СКЕЛЕЏИЋ РАДОСЛАВ
+СКЕЛЕЏИЈА КАТА
+СКЕЛЕЏИЈА РАДОЈИЦА
+СКЕЛЕЏИЈА СПАСИМИР
+СКЕНЏИЋ ЖАРКО
+СКЕНЏИЋ БОГДАН
+СКЕНЏИЋ БРАНКА
+СКЕНЏИЋ ДАНЕ
+СКЕНЏИЋ ДАНИЛО
+СКЕНЏИЋ ДРАГОМИР
+СКЕНЏИЋ ДУШАН
+СКЕНЏИЋ ИЛИЈА
+СКЕНЏИЋ ЈАСМИНКА
+СКЕНЏИЋ ЈОВАНКА
+СКЕНЏИЋ МАРГАРЕТА
+СКЕНЏИЋ МИЛАН
+СКЕНЏИЋ МИЛЕНКО
+СКЕНЏИЋ МИЛИЦА
+СКЕНЏИЋ РАДЕ
+СКЕНЏИЋ САРА
+СКЕНЏИЋ СОФИЈА
+СКЕНЏИЋ СТЕВАН
+СКЕНДЕРОВИЋ АНДРИЈА
+СКЕНДЕРОВИЋ БЕРИСЛАВ
+СКЕНДЕРОВИЋ ГАБОР
+СКЕНДЕРОВИЋ МАРИЈА
+СКЕНДЕРОВИЋ СИНИША
+СКЕРЛЕТОВИЋ МИЛОШ
+СКЕРЛЕТОВИЋ ЗОРАН
+СКЕРТ БОЖИДАР
+СКИЧАК ЛАСЛО
+СКИВЈАНИ ШАНДОР
+СКИВЈАНИ МИХАЉ
+СКЛАБИНАЦ ВЛАДИМИР
+СКЛАБИНСКИ САМО
+СКЛЕНА ЈОХАН ДИПЛ ИНГ
+СКЛЕНА ОЛИВЕРА
+СКЛЕНА ВИКТОРИЈА
+СКЛЕНАР ПЕТАР
+СКЉАР ЂУРО
+СКОЧАЈИЋ ВУКАШИН
+СКОЧОВСКИ МАРИЈА
+СКОБЕ ИВАН
+СКОК МИРЈАНА
+СКОКАНДИЋ ПЕТАР
+СКОКИЋ НЕНАД
+СКОКИЋ ВЕСНА
+СКОКНИЋ ДУШАН
+СКОКНИЋ СТЕВАН
+СКОКО МИЛОШ
+СКОМИНА ВЕРИЦА
+СКОПАЛ БЕЛА
+СКОПАЛ ЈОВАН
+СКОРИЋ ЈАСМИНКА
+СКОРИЋ ЉУБО
+СКОРИЋ ТОНКА
+СКОРИЋ ВУЈО
+СКОРУПАН ЂУРА
+СКОРУПАН ДАНИЦА
+СКОРУПАН КАТА
+СКОРУПАН РАДЕНКО
+СКОРУПАН СЛАВКО
+СКОТОВИЋ ФЕРЕНЦ
+СКРАМОЋИН СРЕЋКО
+СКРОБИЋ ДРАГАН
+СКРОБИЋ ПЕТАР
+СКРОБОЊА АЛЕКСАНДАР
+СКРОБОЊА КАТИЦА
+СКРОБОЊА НИКОЛА
+СКРОБОЊА ВЛАДИМИР
+СКУБАН ХЕЛЕНА
+СКУБАН ЈАНКО
+СКУБАН ЈЕФРЕМ
+СКУБАН ЈУЛИЈАН
+СКУБАН ЛЕОНА
+СКУБАН ЉУБОМИР
+СКУБАН МИХАЈЛО
+СКУБАН НАТАЛИЈА
+СКУБАН НИКОЛА
+СКУБАН ЗОРКА
+СКУЛАР РАДОЈКА
+СКУЛИЋ МИРЈАНА
+СКУЛИЋ СИМКА
+СКУЛИЋ ВЛАДИМИР
+СКУМПИЈА ЈОЖЕФ
+СКУРУПАТИС МИРЈАНА
+СЛАЋАНИН ИВАН
+СЛАДАКОВИЋ НИКОЛА
+СЛАДЕК АНДРИЈА
+СЛАДИЋ ЦВЕТА
+СЛАДИЋ СЛОБОДАН
+СЛАДИЋ СТЕВАН
+СЛАДИЋ ЗОРИЦА
+СЛАДОЈА МИЛОВАН
+СЛАДОЈЕ ИЛИЈА
+СЛАДОЈЕ РАДОМИР
+СЛАДОЈЕВ МИЛАН
+СЛАДОЈЕВ ПРЕДРАГ
+СЛАДОЈЕВИЋ ЖИВКО
+СЛАДОЈЕВИЋ МИРКО
+СЛАДОЈЕВИЋ РАДИВОЈ
+СЛАМА ЂОРЂЕ
+СЛАМА МАРИЈА
+СЛАМАР ФЕРЕНЦ
+СЛАНЦ ЈЕЛЕНА
+СЛАНКАМЕНАЦ ЖИВКО
+СЛАНКАМЕНАЦ ЖИВКО
+СЛАНКАМЕНАЦ ЂОРЂЕ
+СЛАНКАМЕНАЦ АЛЕКСАНДАР
+СЛАНКАМЕНАЦ АНКИЦА
+СЛАНКАМЕНАЦ БРАНИСЛАВ
+СЛАНКАМЕНАЦ ДУШАНКА
+СЛАНКАМЕНАЦ ИДА
+СЛАНКАМЕНАЦ ЈЕЛЕНА
+СЛАНКАМЕНАЦ ЈОВАН
+СЛАНКАМЕНАЦ МАРИЈА
+СЛАНКАМЕНАЦ МАРИЈА
+СЛАНКАМЕНАЦ МИЛАН
+СЛАНКАМЕНАЦ МИЛАН
+СЛАНКАМЕНАЦ МИЛАН
+СЛАНКАМЕНАЦ МИЛОШ
+СЛАНКАМЕНАЦ МИЛОШ
+СЛАНКАМЕНАЦ МИЛОЈЕ
+СЛАНКАМЕНАЦ МИРЈАНА
+СЛАНКАМЕНАЦ МОМЧИЛО
+СЛАНКАМЕНАЦ НАДА
+СЛАНКАМЕНАЦ ПЕТАР ДР
+СЛАНКАМЕНАЦ ПЕТАР
+СЛАНКАМЕНАЦ ПЕТАР
+СЛАНКАМЕНАЦ ПРОКА
+СЛАНКАМЕНАЦ РАДОСЛАВ
+СЛАНКАМЕНАЦ СТЕВАН
+СЛАНКАМЕНАЦ ВЕСЕЛИН
+СЛАНКАМЕНАЦ ЗОРАН
+СЛАТВИНСКИ ГЕОРГИЈЕ
+СЛАВИЋ ЂОРЂЕ
+СЛАВИЋ СОФИЈА
+СЛАВИЦА СТИПЕ
+СЛАВКИЋ ДУШАНКА
+СЛАВКОВИЋ АЛОЈЗ
+СЛАВКОВИЋ МИЛОШ
+СЛАВКОВИЋ МИРЈАНА
+СЛАВКОВИЋ СИБИН
+СЛАВКОВИЋ СНЕЖАНА
+СЛАВКОВИЋ ТРИФУН
+СЛАВКОВИЋ ЗДЕНКО
+СЛАВНИЋ ДАНИЛО
+СЛАВНИЋ ЈАСМИНА
+СЛАВНИЋ ЉУБИЦА
+СЛАВНИЋ НОВКА
+СЛАВНИЋ РАДИВОЈ
+СЛАВНОВИЋ ИВАН
+СЛАВУЈ БОЖО
+СЛАВУЈ ДРАГАН
+СЛАВУЈЕВИЋ ДУШАН
+СЛАВУЈЕВИЋ ЉУБОМИР
+СЛАВУЈЕВИЋ МИЛЕНА
+СЛАВУЈЕВИЋ РАДИСАВ
+СЛАВУЈЕВИЋ СТЕВО
+СЛАВУЉ МИЛЕ
+СЛЕПЧЕВ ЖИВАН
+СЛЕПЧЕВ ДАНИЦА
+СЛЕПЧЕВ ЈОВАН
+СЛЕПЧЕВ НИКОЛА
+СЛЕПЧЕВ ЗДЕНКА
+СЛЕПЧЕВ ЗОРИЦА
+СЛЕПЧЕВИЋ КРСТАН
+СЛЕПЧЕВИЋ ЉУБИША
+СЛЕПЧЕВИЋ МИЛАН
+СЛЕПЧЕВИЋ ОЛГА
+СЛЕПЧЕВИЋ РУЖА
+СЛЕПЧЕВИЋ ЗДРАВКА
+СЛЕПКО ИРЕНА
+СЛЕПКО ЈОВАН
+СЛЕПКО МИХАЈЛО
+СЛЕПКО МИЛИЦА
+СЛЕСАР ДАНИЛО
+СЛЕСАР ЈЕЛЕНА
+СЛЕСАР МОМЧИЛО
+СЛЕСАР ВАСА
+СЛИШКО АНДРИЈА
+СЛИШКО МАРКО
+СЛИШКОВИЋ АНЂЕЛКА
+СЛИЈЕПЧЕВИЋ АНА
+СЛИЈЕПЧЕВИЋ БИСЕРКА
+СЛИЈЕПЧЕВИЋ ДРАГАН
+СЛИЈЕПЧЕВИЋ ДУШАН
+СЛИЈЕПЧЕВИЋ ДУШАН
+СЛИЈЕПЧЕВИЋ ГЕОРГИЈЕ
+СЛИЈЕПЧЕВИЋ ЈАНКО
+СЛИЈЕПЧЕВИЋ ЈАНКО
+СЛИЈЕПЧЕВИЋ ЈОВАН
+СЛИЈЕПЧЕВИЋ КОВИЉКА
+СЛИЈЕПЧЕВИЋ ЉУБАН
+СЛИЈЕПЧЕВИЋ МИЛОРАД
+СЛИЈЕПЧЕВИЋ МИЛОВАН
+СЛИЈЕПЧЕВИЋ МИРОСЛАВА
+СЛИЈЕПЧЕВИЋ НОВИЦА
+СЛИЈЕПЧЕВИЋ РУЖИЦА
+СЛИЈЕПЧЕВИЋ САВО
+СЛИЈЕПЧЕВИЋ ВЕРА
+СЛИЈЕПЧЕВИЋ ВЈЕКОСЛАВА
+СЛИЈЕПЧЕВИЋ ЗВОНКО
+СЛИЈЕПАЦ МИЛОШ
+СЛИЈЕПАЦ СЛОБОДАН
+СЛИМАК АДАМ
+СЛИВА ЕЛИЗАБЕТА
+СЛИВКА ЂУРА
+СЛИВКА АНА
+СЛИВКА БОЖАНА
+СЛИВКА БОСИЉКА
+СЛИВКА ЈАРОСЛАВ
+СЛИВКА ЈОВАН
+СЛИВКА МИША
+СЛИВКА МИША
+СЛИВКА СТЕВАН
+СЛИВКА ЗДЕНКА
+СЛИВКА ЗЛАТА
+СЉУКА БОХУСЛАВ
+СЉУКА ЈУРАЈ
+СЛОБОДА АНТАЛ
+СЛОБОДА ИШТВАН
+СЛОБОДА ЈАНОШ
+СЛОБОДА ЈОЖЕФ
+СЛОБОДА ЈУЛКА
+СЛОБОДА МИХАЈЛО
+СЛОБОДА МИХАЉ
+СЛОБОДА ПЕТАР
+СЛОБОДА СЛАВКА
+СЛОБОДА СТЕВАН
+СЛОКАР ИВАН
+СЛОКАР МАТИЈА
+СЛОВИЋ ДРАГОЉУБ ДР
+СЛУЊСКИ ФРАЊА
+СМАГИН ИВАН
+СМАЈИЋ МАКСИМ
+СМАЈИЋ МИЛОШ
+СМАЈИЋ СЛОБОДАН
+СМАЈИЋ СЛОБОДАН
+СМЕДЕРЕВАЦ ДУШАН
+СМЕДЕРЕВАЦ ЈОВАН
+СМЕДЕРЕВАЦ МИЛИЦА
+СМЕДЕРЕВАЦ ПЕТАР
+СМЕДЕРЕВАЦ СТЕВИЦА
+СМИЋЕВИЋ УРОШ
+СМИЕШКО ЈЕЛИСАВЕТА
+СМИЛИЋ МАРИЈА
+СМИЉАНИЋ ЂОРЂЕ
+СМИЉАНИЋ ЂОРЂЕ
+СМИЉАНИЋ ЂОРЂЕ
+СМИЉАНИЋ БОЈАНА
+СМИЉАНИЋ БОРКА
+СМИЉАНИЋ БРАНКО
+СМИЉАНИЋ ДОБРИВОЈ
+СМИЉАНИЋ ДРАГИЦА
+СМИЉАНИЋ ИЛИЈА
+СМИЉАНИЋ ЈОВАНА
+СМИЉАНИЋ ЈОВАН
+СМИЉАНИЋ ЈОВО
+СМИЉАНИЋ ЉИЉАНА
+СМИЉАНИЋ ЉИЉАНА
+СМИЉАНИЋ МАРИЈА
+СМИЉАНИЋ МИЛАН
+СМИЉАНИЋ МИЛАН
+СМИЉАНИЋ МИЛЕНКО
+СМИЉАНИЋ МИЛКА
+СМИЉАНИЋ МИЛОРАД
+СМИЉАНИЋ МИЛУТИН
+СМИЉАНИЋ МИОДРАГ
+СМИЉАНИЋ МЛАДЕН
+СМИЉАНИЋ НЕВЕНКА
+СМИЉАНИЋ НЕВЕНКА
+СМИЉАНИЋ ОЛИВЕРА
+СМИЉАНИЋ ПЕТАР
+СМИЉАНИЋ ПРЕДРАГ
+СМИЉАНИЋ РАДА
+СМИЉАНИЋ РАДЕ
+СМИЉАНИЋ САВА
+СМИЉАНИЋ СОФИЈА
+СМИЉАНИЋ СОФИЈА
+СМИЉАНИЋ СТАНА
+СМИЉАНИЋ СТЕВО
+СМИЉАНИЋ ТРИВО
+СМИЉАНИЋ ВЕСЕЛКО
+СМИЉАНИЋ ВИДОСАВ
+СМИЉАНИЋ ВИНКО
+СМИЉАНИЋ ВЛАДИМИР
+СМИЉАНИЋ ВЛАДИМИР
+СМИЉАНИЋ ЗЛАТКО
+СМИЉАНИЋ ЗОРКА
+СМИЉАНОВ МИЛАН
+СМИЉАНОВ РАДОВАН
+СМИЉАНСКИ МИЛАН
+СМИЉИЋ ЖИВКО
+СМИЉКОВИЋ РАДОМИР
+СМИЉКОВИЋ СТАНИМИР
+СМИРНОВ ЈУДИТА
+СМИРНОВ ЈУДИТ
+СМИРНОВ РАСТИСЛАВ
+СМИРНОВ ВЛАДИМИР
+СМОК НИКОЛА
+СМОЛЧИЋ РУЖА
+СМОЛЕНИЦКИ МЕЛИТА
+СМОЛЕНСКИ КАРЛО
+СМОЛЕНСКИ РОЗАЛИЈА
+СМОЉАНИКОВ МИХАЈЛО ДИПЛ ИНГ
+СМОЛОВИЋ ДРАГОЉУБ
+СМОЛОВИЋ МИХАЈЛО
+СМОЛОВИЋ РАДМИЛА
+СМОЛОВИЋ РАТКО
+СМОЛОВИЋ САВА
+СМРЕКА ДРАГИЦА
+СМУЂА ГРАДИМИР
+СМУЂА ЈОВАН
+СМУЂА МИЛЕНКО
+СМУЂА НИКОЛА
+СМУЂА САВА
+СМУК ЖИВАНА
+СМУК БОРИВОЈ
+СМУТЕК ЈОСИП
+СМУТНИ ИВАН
+СЊИДА АНА
+СЊИДА САША
+СОБЧАК ФРАЊА
+СОБОЧАН МИША
+СОБОЋАН ИВАН
+СОЦЕК ИМРЕ
+СОЦЕК ЈОСИП
+СОЦЕК МИРЈАНА
+СОФИЉ АЛЕКСАНДРА
+СОФИЉ ДРАГИЦА
+СОФИЉ ЈОВАНКА
+СОФИЉ РАНКО
+СОФИЉ СЛАВИЦА
+СОФИНКИЋ БРАНКА
+СОФРАЏИЈА МУХАМЕД
+СОФРАНИН БОРИВОЈ
+СОФРАНИН КУЗМАН
+СОФРАНИН МИЛИВОЈ
+СОФРЕНИЋ ВЕРИЦА
+СОФРОНИЈЕВИЋ ЉУБИЦА
+СОФТИЋ МАРИЈА
+СОГИЋ САВА
+СОГИЋ ВЛАДИСЛАВ
+СОЈЕВИЋ МЛАДЕН
+СОЈИЋ РАДОЈКА
+СОКЕЛЕ БРАНИСЛАВ
+СОКИЋ ЖИВКО
+СОКИЋ ЂУРЂИЦА
+СОКИЋ ИЛИЈА
+СОКИЋ ЛИДИЈА
+СОКИЋ ЗОРКА
+СОКНИЋ ТОМИСЛАВ
+СОКОЛА АНТУН
+СОКОЛА ФЕРЕНЦ
+СОКОЛА ИШТВАН
+СОКОЛА ИШТВАН
+СОКОЛА КАТАРИНА
+СОКОЛА МАРТА
+СОКОЛАИ ЈОЖЕФ
+СОКОЛАИ ЛАЈОШ
+СОКОЛИЋ ЖЕЉКО
+СОКОЛОВ АЛЕКСАНДАР
+СОКОЛОВ ЉУБОМИР
+СОКОЛОВ МИЛАН
+СОКОЛОВ НАДКА
+СОКОЛОВ СЛАВКА
+СОКОЛОВ СТЕВАН
+СОКОЛОВ ЗИНАИДО
+СОКОЛОВИЋ ЂОРЂЕ
+СОКОЛОВИЋ АНА
+СОКОЛОВИЋ ДУШКО
+СОКОЛОВИЋ КАТАРИНА
+СОКОЛОВИЋ МИЛЕ
+СОКОЛОВИЋ НАТАЛИЈА
+СОКОЛОВИЋ РУЖИЦА
+СОКОЛОВИЋ СЛОБОДАН
+СОКОЛОВИЋ СЛОБОДАН
+СОКОЛОВИЋ ТОМИСЛАВ
+СОКОЛОВИЋ ЗОРИЦА
+СОКОВИЋ ДИМИТРИЈЕ
+СОКОВИЋ ДУШАН
+СОЛАР ЉУБИЦА
+СОЛАР СТЈЕПАН
+СОЛАРЕВИЋ ЈОВАНКА
+СОЛАРЕВИЋ МИЛАНКА
+СОЛАРИЋ СОФИЈА
+СОЛАРОВ БОРИСЛАВ
+СОЛАРОВ БОРО
+СОЛАРОВ МИЛАН
+СОЛАРОВ МИЛИЦА
+СОЛАРОВ МИЛИЦА
+СОЛАРОВ МИЛОШ
+СОЛАРОВ МИЛОВАН
+СОЛАРОВ НИКОЛА
+СОЛАРОВ РАДИВОЈ
+СОЛДАТ БОШКО
+СОЛДАТ БРАНКА
+СОЛДАТ ДРАГО
+СОЛДАТ МИЛОШ
+СОЛДАТ МИТАР
+СОЛДАТ ПЕТАР
+СОЛДАТ ВЕСНА
+СОЛДАТОВИЋ ЂОРЂЕ
+СОЛДАТОВИЋ ЂОРЂЕ
+СОЛДАТОВИЋ ГОРАН
+СОЛДАТОВИЋ ЈОВАН
+СОЛДАТОВИЋ МИЛА
+СОЛДАТОВИЋ САВА НОВИНАР
+СОЛДАТОВИЋ СТАНОЈЕ
+СОЛДАТОВИЋ ВЕСНА
+СОЛДАТОВИЋ ВОЈО
+СОЛДО АЛЕКСАНДАР
+СОЛДО ИВАН
+СОЛДО НОВИЦА
+СОЛДО ВЛАДИМИР
+СОЛЕША МИШО
+СОЛОМУН БРАНКО
+СОЛОМУН ДРАГО
+СОЛОМУН ИЛИЈА
+СОЛОМУН МИЛЕ
+СОЛОМУН ВЕСА
+СОЛОЊА СТЕВАН
+СОМБОРАЦ АЛЕКСАНДАР
+СОМБОРАЦ ЈОВАН
+СОМБОРАЦ МАРИЈА
+СОМБОРАЦ СРЕЋКО
+СОМБОРАЦ ТЕРЕЗА
+СОМБОРАЦ ТОДОР
+СОМБОРСКИ ЛАЗАР
+СОМБОРСКИ МИЛИЦА
+СОМЕР ИМРЕ
+СОМЕР ЈЕЛЕНА
+СОМЕР ТИБОР
+СОПКА АНИЦА
+СОПКА ЈАНКО
+СОПКА ЉУБОМИР
+СОПКА ЉУБОМИР
+СОПКА МАРИЈА
+СОПКА МИРОСЛАВ
+СОРШАК МИЛАН
+СОРШАК ВАЛЕНТИН
+СОРАДИ АНТУН
+СОРАДИ ИВАН
+СОРАДИ СТЈЕПАН
+СОРАЈИЋ МИЛАН
+СОРАЈИЋ МИЛИВОЈ
+СОРАК ДЕЛИВОЈЕ
+СОРГ АНГЕЛИНА
+СОРГ ЈЕЛЕНА
+СОРГ НИКОЛА
+СОРГЕР МИРА
+СОРО МИЛАН
+СОРО МИОДРАГ
+СОРО МИРЈАНА
+СОРО НИКОЛА
+СОРО СИМО
+СОТЕР ЈАНОШ
+СОТИРОВИЋ СЛАВИЦА
+СОТОНИЦА РАЈКО
+СОВА ПЕТАР
+СОВА РУДИ
+СОВИШ ЂОРЂЕ
+СОВИШ МИША
+СОВИШ ОЛГА
+СОВИШ ПАВЛЕ
+СОВИЉ ЂОРЂЕ
+СОВИЉ ЂУРО
+СОВИЉ АНЂЕЛКО
+СОВИЉ АНКА
+СОВИЉ БОЖО
+СОВИЉ БОГДАН
+СОВИЉ ДУШАН
+СОВИЉ ИЛИЈА
+СОВИЉ ИЛИЈА
+СОВИЉ ИЛИЈА
+СОВИЉ ИВИЦА
+СОВИЉ ЈОВАН ДР ЛЕКАР
+СОВИЉ ЉУБИЦА
+СОВИЉ МИЛАН МР
+СОВИЉ МИЛАН
+СОВИЉ ПЕРКА
+СОВИЉ ПЕТАР
+СОВИЉ ПЕТАР
+СОВИЉ ВЛАДО
+СПАХИЋ КЕМАЛ
+СПАИЋ ЖЕЉКО
+СПАИЋ МИЛАН
+СПАИЋ МИЛАН
+СПАЈИЋ БОЖА
+СПАЈИЋ ДИКО
+СПАЈИЋ ЈОВАН
+СПАЈИЋ ЈУЛИЈАНА
+СПАЈИЋ МИЛОЈЕ
+СПАЈИЋ МИРЈАНА
+СПАЈИЋ СОФИЈА
+СПАЈИЋ ВОЈИСЛАВ
+СПАЈИЋ ЗОРАН
+СПАЈИЋ ЗОРАН
+СПАЛЕВИЋ МИОМИР
+СПАЛЕВИЋ ВЕРА
+СПАРИОСИ АНЂЕЛКА
+СПАСЕНОСКИ ДИМИТРИЈЕ
+СПАСЕНОВ МИЛЕ
+СПАСЕНОВ СПАСКО
+СПАСЕНОВ СТАНА
+СПАСЕНОВИЋ ЖИВКО
+СПАСЕНОВИЋ ЉУБИЦА
+СПАСЕНОВСКИ РОМАН
+СПАСЕНОВСКИ ВАСА
+СПАСИЋ ЖИВОМИР
+СПАСИЋ ЂОРЂЕ
+СПАСИЋ АЛЕКСАНДАР
+СПАСИЋ БОЖИДАР
+СПАСИЋ БРАНИСЛАВ
+СПАСИЋ БРАНИСЛАВ
+СПАСИЋ ДРАГИША
+СПАСИЋ ГОРДАНА
+СПАСИЋ ГОРДАНА
+СПАСИЋ ЈЕЛИСАВЕТА
+СПАСИЋ ЈОВАН
+СПАСИЋ ЈУГОСЛАВ
+СПАСИЋ ЉИЉАНА
+СПАСИЋ ЉУБИЦА
+СПАСИЋ МИЛАН
+СПАСИЋ МИЛЕВА
+СПАСИЋ МИЛОШ
+СПАСИЋ МИЛУТИН
+СПАСИЋ МИРЈАНА
+СПАСИЋ МИРКО
+СПАСИЋ ОЛИВЕРА
+СПАСИЋ ПЕТАР
+СПАСИЋ ПРЕДРАГ
+СПАСИЋ СТАНИША
+СПАСИЋ СТАНКО
+СПАСИЋ СТОЈАН
+СПАСИЋ СВЕТИСЛАВ
+СПАСИЋ ТОМИСЛАВ ДИПЛ ИНГ
+СПАСИЋ ТОМИСЛАВ
+СПАСИЋ ТРАЈАНКА
+СПАСИЋ ВЕЛИЧКО
+СПАСИЋ ВУЈИЦА
+СПАСОЈЕВ ЉУБИЦА
+СПАСОЈЕВ СТОЈАН
+СПАСОЈЕВИЋ ЖИВОТА
+СПАСОЈЕВИЋ ЂОРЂЕ
+СПАСОЈЕВИЋ ЂУРА
+СПАСОЈЕВИЋ БОРИША МР
+СПАСОЈЕВИЋ БОРИСЛАВ
+СПАСОЈЕВИЋ ЦВЕТКО
+СПАСОЈЕВИЋ ДЕСИМИР
+СПАСОЈЕВИЋ ДОБРИЛА
+СПАСОЈЕВИЋ ДОБРОСАВ
+СПАСОЈЕВИЋ ДРАГАН
+СПАСОЈЕВИЋ ДРАГИША
+СПАСОЈЕВИЋ ДРАГОЉУБ
+СПАСОЈЕВИЋ ДРАГОМИР
+СПАСОЈЕВИЋ ДУШАН
+СПАСОЈЕВИЋ ЕЛИЗАБЕТА
+СПАСОЈЕВИЋ ГОСПАВА
+СПАСОЈЕВИЋ ГОСТИМИР
+СПАСОЈЕВИЋ ЈОВАН
+СПАСОЈЕВИЋ ЈУЛКА
+СПАСОЈЕВИЋ КАТИЦА
+СПАСОЈЕВИЋ КРСТА
+СПАСОЈЕВИЋ ЛАЗАР
+СПАСОЈЕВИЋ МИЋО
+СПАСОЈЕВИЋ МИЋО
+СПАСОЈЕВИЋ МИХАЈЛО
+СПАСОЈЕВИЋ МИЛОРАД
+СПАСОЈЕВИЋ МИОДРАГ
+СПАСОЈЕВИЋ МИОДРАГ
+СПАСОЈЕВИЋ МОМЧИЛО
+СПАСОЈЕВИЋ НЕБОЈША
+СПАСОЈЕВИЋ НОВАК
+СПАСОЈЕВИЋ ПАВЛЕ
+СПАСОЈЕВИЋ ПРЕДРАГ
+СПАСОЈЕВИЋ РАЦО
+СПАСОЈЕВИЋ РАДИСАВ
+СПАСОЈЕВИЋ РАДОЈЛЕ
+СПАСОЈЕВИЋ РАНКО ДИПЛ ИНГ
+СПАСОЈЕВИЋ РОДОЉУБ
+СПАСОЈЕВИЋ РУЖИЦА
+СПАСОЈЕВИЋ СЛАВКА
+СПАСОЈЕВИЋ СЛАВКО
+СПАСОЈЕВИЋ СЛАВО
+СПАСОЈЕВИЋ СЛОБОДАН
+СПАСОЈЕВИЋ СОЊА
+СПАСОЈЕВИЋ СТАНИСЛАВА
+СПАСОЈЕВИЋ СТЕВАН
+СПАСОЈЕВИЋ СУЗАНА
+СПАСОЈЕВИЋ ВИТОМИР ДР
+СПАСОЈЕВИЋ ВЛАДИМИР
+СПАСОЈЕВИЋ ЗОРАН
+СПАСОЛИ ФЕРАТ
+СПАСОВА ЉУБИЦА
+СПЕРАНСКИ ЉУДМИЛА МР
+СПЕРЊАК ЂОРЂЕ
+СПЕРЊАК БОГДАН
+СПЕРЊАК ЉУБИНКА
+СПЕРЊАК МИЛЕНКО ДИПЛ ИНГ
+СПЕВАК ДАНИЕЛА
+СПЕВАК ЈУРАЈ
+СПЕВАК ЗОРОСЛАВ
+СПИЧАНОВИЋ ЕВИЦА
+СПИЧАНОВИЋ МАЈА
+СПИЧАНОВИЋ ЗАГОРКА
+СПИЛКУЦИЋ БОРИВОЈЕ
+СПИРИЋ АЛЕКСАНДАР
+СПИРИДОНОВ АНАСТАС
+СПИРИДОНОВИЋ ГРАДИМИР
+СПИРИДОНОВИЋ МИЛЕНКО
+СПИРИДОНОВИЋ СИЛВИЈА
+СПИРОСКИ АЛЕКСАНДАР
+СПИРОВСКИ ЦАНЕ
+СПОЈА ЖЕЉКО
+СПРЕМИЋ ДРАГАН
+СПРЕМИЋ ПЕТАР
+СПРЕМИЋ СРЕТЕН
+СПРЕМО ЂУРО
+СПРЕМО МИОДРАГ
+СПРЕМО МИРКО
+СПРЕМО МИРОСЛАВ
+СПРЕМО РАДОВАН
+СПРЕМО СЛАВКО
+СПРЕМО ВОЈИСЛАВ
+СПУСЕНИК ЛАЈОШ
+СРЂАНОВ ЖАРКО
+СРЂАНОВ ЖИВКО
+СРЂАНОВ КОНСТАНТИН
+СРЂАНОВ МИХАЈЛО
+СРЂАНОВ МИЛИВОЈ
+СРЂАНОВ МИЛОШ ДИПЛ ИНГ
+СРЂАНОВ МИЛОШ
+СРЂАНОВ МИРОСЛАВ
+СРЂАНОВ НАДА
+СРЂАНОВ НАДА
+СРЂАНОВ СЛАВКО
+СРЂАНОВ СЛОБОДАНКА
+СРЂАНОВ СЛОБОДАНКА
+СРЂАНОВ СЛОБОДАН
+СРЂАНОВ ВЕРА
+СРЂЕНОВИЋ МИЛАН
+СРЂЕНОВИЋ УРОШ
+СРЂЕВИЋ БОЈАН
+СРБИН АНКА
+СРБИН БОГДАН
+СРБИН ЈОВАН ДР
+СРБИН КОСТА
+СРБИН МИРОСЛАВ
+СРБИНОВСКИ БОРИС
+СРБИНОВСКИ ДРАГАНА
+СРБИНОВСКИ ДРАГАНА
+СРБИНОВСКИ МАША
+СРБИНОВСКИ ПАНТА
+СРБИНОВСКИ ПЕТАР
+СРБЉАН ЛАЗАР
+СРБЉАНИН ДРАГАН
+СРБЉАНИН ПРЕДРАГ
+СРБОВАН ЈОН
+СРБУЛОВИЋ БОЖИДАР
+СРБУЛОВИЋ ДРАГОЉУБ
+СРБУЛОВИЋ МИРОСЛАВ
+СРДАНОВ ЖИВАН
+СРДАНОВ ЖИВОЈИН
+СРДАНОВ ЂОРЂЕ
+СРДАНОВ БОЖИДАР
+СРДАНОВ ЈЕЛКА
+СРДАНОВ ЈОВАН
+СРДАНОВ ЛАЗАР
+СРДАНОВ ЛАЗАР
+СРДАНОВ ЉИЉАНА
+СРДАНОВ МИША
+СРДАНОВ МИЛИЦА
+СРДАНОВ МИЛОШ
+СРДАНОВ МИЛОСАВА
+СРДАНОВ ПЕТАР
+СРДАНОВ СИМА
+СРДАНОВ СЛАВКА
+СРДАНОВ СЛОБОДАН
+СРДАНОВ СЛОБОДАН
+СРДАНОВ ТОДОР
+СРДАНОВИЋ БРАНИСЛАВ
+СРДАНОВИЋ ДЕЈАН
+СРДАНОВИЋ ДРАГОЈЕ
+СРДАНОВИЋ ФИЛИП
+СРДАНОВИЋ ЛЕПОСАВА
+СРДАНОВИЋ ОЗРЕН ДИПЛ ИНГ
+СРДАНОВИЋ РОСАНДА
+СРДАНОВИЋ САЊА
+СРДИЋ ЧЕДОМИР
+СРДИЋ ЖИВКО
+СРДИЋ ЖИВКО
+СРДИЋ ЖИВКО
+СРДИЋ ЂОРЂЕ МР
+СРДИЋ ЂУРО
+СРДИЋ АНЂА
+СРДИЋ АНА
+СРДИЋ БОШКО
+СРДИЋ БОГДАН
+СРДИЋ БОСА
+СРДИЋ БРАНИСЛАВ
+СРДИЋ ДАНЕ
+СРДИЋ ДИЈАНА
+СРДИЋ ДУШАН
+СРДИЋ ЕМЕРИКА
+СРДИЋ ЕМЕРИКА
+СРДИЋ ГОРАН
+СРДИЋ ИВАН
+СРДИЋ ЈЕЛЕНА
+СРДИЋ ЉУБИЦА
+СРДИЋ МИЛАН
+СРДИЋ МИЛАН
+СРДИЋ МИЛИЦА
+СРДИЋ МИРЈАНА
+СРДИЋ МИРКО
+СРДИЋ МИРКО
+СРДИЋ НАДА
+СРДИЋ НАДА
+СРДИЋ НИКОЛА
+СРДИЋ НИКОЛА
+СРДИЋ НИКОЛА
+СРДИЋ ПЕТАР
+СРДИЋ РАДЕ
+СРДИЋ РАДЕ
+СРДИЋ СИМА
+СРДИЋ СЛОБОДАН
+СРДИЋ СВЕТОЗАР
+СРДИЋ ВАСО
+СРДИЋ ВЛАДИМИР
+СРДИЋ ВОЈА
+СРДИЋ ЗОРА
+СРЕЋКОВ ЖИВКО
+СРЕЋКОВ БЛАГИЦА
+СРЕЋКОВ БРАНКО
+СРЕЋКОВ ДРАГАН
+СРЕЋКОВ ДРАГИЦА
+СРЕЋКОВ ДУШАН
+СРЕЋКОВ ДУШАН
+СРЕЋКОВ ЕРЖЕБЕТ
+СРЕЋКОВ ЈОВАН
+СРЕЋКОВ КАТИЦА
+СРЕЋКОВ МИЛЕНА
+СРЕЋКОВ МИЛЕНА
+СРЕЋКОВ МИЛИВОЈ
+СРЕЋКОВ МИРОСЛАВ
+СРЕЋКОВ РАДИВОЈ
+СРЕЋКОВ РАДОЈКА
+СРЕЋКОВ СТАНКО
+СРЕЋКОВ СТЕВАН
+СРЕЋКОВ ТЕОДОРА
+СРЕЋКОВ ВАСА
+СРЕЋКОВ ЗДРАВКО
+СРЕЋКОВИЋ АЛЕКСАНДАР ДР
+СРЕЋКОВИЋ ДРАГИША
+СРЕЋКОВИЋ МАРИЈА
+СРЕЋКОВИЋ МИЛУТИН
+СРЕЋКОВИЋ РАДИША
+СРЕЋКОВИЋ СТОЈАНА
+СРЕЋО ДАНИЦА
+СРЕЋО МИЋО
+СРЕБОТЊАК СТАНКО
+СРЕБРО ИЛИЈА ДР
+СРЕДАНОВИЋ МИЛОРАД ДИПЛ ИНГ
+СРЕДАНОВИЋ НЕДЕЉКО
+СРЕДОЈЕВИЋ ДАРИНКА
+СРЕДОЈЕВИЋ ДОБРО
+СРЕДОЈЕВИЋ ЈУЛКИЦА
+СРЕДОЈЕВИЋ ЛАЗАР
+СРЕДОЈЕВИЋ МИЛИСАВ
+СРЕДОЈЕВИЋ МИРКО
+СРЕДОЈЕВИЋ НЕБОЈША
+СРЕДОЈЕВИЋ ВЕЛИМИР
+СРЕДОЈЕВИЋ ВЕЛИМИР
+СРЕДОВИЋ РАЈКО
+СРЕЈИЋ БОРКА
+СРЕМЧЕВ ЂОРЂЕ
+СРЕМЧЕВ АЛЕКСАНДАР ДР ЛЕКАР
+СРЕМЧЕВ ЛАЗАР
+СРЕМЧЕВ МАРИЈА
+СРЕМЧЕВ НЕСТОР
+СРЕМЧЕВ СЛОБОДАН
+СРЕМЧЕВ СОФИЈА
+СРЕМЧЕВИЋ БОРИСЛАВ
+СРЕМЧЕВИЋ ЈОВАН
+СРЕМЧЕВИЋ ЈОВАН
+СРЕМЧЕВИЋ КАТА
+СРЕМЧЕВИЋ КАТИЦА
+СРЕМЧЕВИЋ ЉУБИША
+СРЕМЧЕВИЋ РАДИВОЈ
+СРЕМЧЕВИЋ РАСТКО
+СРЕМЧЕВИЋ СЛАВНА
+СРЕМЧЕВИЋ СТАНИСЛАВ
+СРЕМЧЕВИЋ ВЕЉКО
+СРЕМАЧКИ ЂОРЂЕ
+СРЕМАЧКИ ДРАГОЉУБ
+СРЕМАЧКИ ДУШАНКА
+СРЕМАЧКИ-ГАВРИЛОВИЋ МАЈА
+СРЕМАЧКИ ИВАНКА
+СРЕМАЧКИ ЈОВАНКА
+СРЕМАЧКИ МИЛОШ
+СРЕМАЧКИ-МИРКОВИЋ МИРЈАНА
+СРЕМАЧКИ ПЕТАР
+СРЕМАЧКИ СИМА
+СРЕМАЧКИ СОКА
+СРЕМАЧКИ СПАСОЈЕ
+СРЕМАЧКИ СТАНОЈЕ
+СРЕМАЧКИ ВЛАДА
+СРЕМАЧКИ ЗОРИЦА
+СРЕМАЦ ЂОРЂЕ
+СРЕМАЦ АЛЕКСАНДАР
+СРЕМАЦ ДРАГОЉУБ
+СРЕМАЦ ИСАК
+СРЕМАЦ ЈАНКО
+СРЕМАЦ ЈОВАН
+СРЕМАЦ ЉУБИЦА
+СРЕМАЦ ЉУБИЦА
+СРЕМАЦ МИЛЕНА
+СРЕМАЦ МИЛЕНКО
+СРЕМАЦ МИЛИВОЈ
+СРЕМАЦ МИРА
+СРЕМАЦ НИКОЛА
+СРЕМАЦ ПАУЛИНА
+СРЕМАЦ ПАВЛЕ
+СРЕМАЦ ПЕРСИДА
+СРЕМАЦ РАДОЈКО
+СРЕМАЦ СЛОБОДАН
+СРЕМАЦ СРЂАН
+СРЕМАЦ СТОЈАНКА
+СРЕМАЦ СВЕТИСЛАВ
+СРЕМАЦ СВЕТИСЛАВ
+СРЕМАЦ ТАНАСИЈЕ
+СРЕМАЦ ВЛАДИМИР
+СРЕМАЦ ВЛАЈКО
+СРЕМАЦ ЗОРАНА
+СРЕМАЦ ЗОРАН
+СРЕТЕНОВИЋ ЂУРЂИНКА
+СРЕТЕНОВИЋ БОРИВОЈ
+СРЕТЕНОВИЋ-МАНОЈЛОВИЋ ЂУРЂИНКА
+СРЕТЕНОВИЋ НЕВЕНКА
+СРЕТЕНОВИЋ СТОЈАДИН
+СРЕТИЋ МИЛЕНКО
+СРЕТИЋ МИРЈАНА
+СРЕТИЋ РАТОМИР
+СРЕТКОВИЋ ВЕРИЦА
+СРНДОВИЋ ЗОРКА
+СРНЕЦ ЖЕЉКО
+СРНИЋ БОГДАН
+СРНИЋ ЕВИЦА
+СРНКА ЈАНКО
+СРНКА ЈОВАН
+СТАШУК МИХАЈЛО
+СТАХАНИЋ АНКА
+СТАИН СТЕВАН
+СТАЈЧИЋ ИВАН
+СТАЈЧИЋ ПЕТАР
+СТАЈШИЋ ЂУРА
+СТАЈИЋ ЂОРЂЕ
+СТАЈИЋ АЛЕКСАНДРА
+СТАЈИЋ БОЖИДАР
+СТАЈИЋ БОРИСЛАВ
+СТАЈИЋ БОРИСЛАВ
+СТАЈИЋ БОРИВОЈ
+СТАЈИЋ БРАНИМИР
+СТАЈИЋ БРАНИСЛАВ
+СТАЈИЋ ДРАГОЉУБ
+СТАЈИЋ ДУШАН
+СТАЈИЋ ДУШИЦА
+СТАЈИЋ ФЕМА
+СТАЈИЋ ГЛИГОРИЈЕ
+СТАЈИЋ ГЛИГОРИЈЕ
+СТАЈИЋ ГРИГОРИЈЕ ДИПЛ ИНГ
+СТАЈИЋ ЈУСТИНА
+СТАЈИЋ ЛЕПОСАВА
+СТАЈИЋ ЉУБОМИР
+СТАЈИЋ МАРА
+СТАЈИЋ МАРИЈА
+СТАЈИЋ МИЛАН ДИПЛ ИНГ
+СТАЈИЋ МИЛАН
+СТАЈИЋ МИЛЕСА
+СТАЈИЋ МИЛЕВА
+СТАЈИЋ МИЛКА
+СТАЈИЋ МИРОСЛАВ
+СТАЈИЋ НЕСТОР
+СТАЈИЋ ПАВЛЕ
+СТАЈИЋ ПЕТАР
+СТАЈИЋ-ПОПОВ БОРИСЛАВА ДР
+СТАЈИЋ РАДИВОЈ
+СТАЈИЋ РАДОСЛАВ
+СТАЈИЋ СИКА
+СТАЈИЋ СРЕТА
+СТАЈИЋ СТАНИСЛАВ
+СТАЈИЋ СТОЈАДИН
+СТАЈИЋ ТОДОР
+СТАЈИЋ ВЕЛИМИР
+СТАЈИЋ ВУКОСАВ
+СТАЈИЋ ЗЛАТА
+СТАЈКОВИЋ БРАТИСЛАВ
+СТАЈКОВИЋ ДРАГОЉУБ
+СТАКИЋ ЖИВАН
+СТАКИЋ ЖИВКА
+СТАКИЋ ЂУРО
+СТАКИЋ АЛЕКСАНДАР
+СТАКИЋ БОШКО
+СТАКИЋ БОЖИДАР
+СТАКИЋ БОРИВОЈЕ
+СТАКИЋ БРАНИСЛАВ
+СТАКИЋ ДЕЈАН
+СТАКИЋ ДУШАН ДИПЛ ИНГ
+СТАКИЋ ЈЕЛЕНА
+СТАКИЋ ЈОВАН СУДИЈА
+СТАКИЋ МЕЛИНДА
+СТАКИЋ МИЛАН
+СТАКИЋ МИЛАН
+СТАКИЋ МИРКО
+СТАКИЋ МОМИР
+СТАКИЋ НЕБОЈША
+СТАКИЋ НЕДЕЉКО
+СТАКИЋ НИКОЛА
+СТАКИЋ ПАВЛЕ
+СТАКИЋ СПОМЕНКА
+СТАКИЋ СТОЈАН
+СТАКИЋ ВЕРА
+СТАКИЋ ЗАХАРИЈЕ
+СТАКИЋ ЗОРАН
+СТАКОРИЋ ЗДРАВКО
+СТАМАТОВИЋ МИЛЕНКО ДР
+СТАМАТОВИЋ МИЛОРАД
+СТАМЕНИЋ ДАМЊАН
+СТАМЕНИЋ МАРКО
+СТАМЕНИЋ РАДОСАВ
+СТАМЕНИЋ ТОМИСЛАВ
+СТАМЕНКОВИЋ ЖИВОЈИН
+СТАМЕНКОВИЋ ЖИВОЈИН
+СТАМЕНКОВИЋ АЛЕКСАНДАР
+СТАМЕНКОВИЋ БЛАГОЈЕ
+СТАМЕНКОВИЋ ДРАГАН
+СТАМЕНКОВИЋ ГОРДАНА
+СТАМЕНКОВИЋ ЉУБОМИР ДР
+СТАМЕНКОВИЋ ЉУБОМИР
+СТАМЕНКОВИЋ МАРЈАН
+СТАМЕНКОВИЋ МИЛОРАД
+СТАМЕНКОВИЋ МИРОСЛАВА
+СТАМЕНКОВИЋ НОВИЦА
+СТАМЕНКОВИЋ ПЕТРОНИЈЕ
+СТАМЕНКОВИЋ РАДОМИР ДИПЛ ИНГ
+СТАМЕНКОВИЋ СИНИША
+СТАМЕНКОВИЋ СЛАВОЉУБ
+СТАМЕНКОВИЋ СЛОБОДАН
+СТАМЕНКОВИЋ СРЕТЕН ДР
+СТАМЕНКОВИЋ СРЕТЕН
+СТАМЕНКОВИЋ СТАНИМИР
+СТАМЕНКОВИЋ СТОЈАН
+СТАМЕНКОВИЋ СТОЈАН
+СТАМЕНКОВИЋ СТОЈАН
+СТАМЕНКОВИЋ ВАСИЛИЈЕ
+СТАМЕНКОВИЋ ВЕЛИБОР
+СТАМЕНКОВИЋ ВЕРА
+СТАМЕНКОВИЋ ВЛАДИМИР ДИПЛ ИНГ
+СТАМЕНКОВИЋ ВЛАДИМИР
+СТАМЕНКОВИЋ ВЛАСТИМИР
+СТАМЕНКОВИЋ ВУКАДИН
+СТАМЕНКОВИЋ ЗОРАН
+СТАМЕНКОВИЋ ЗОРА
+СТАМЕНОВ БРАНКО
+СТАМЕНОВ НИКОЛА
+СТАМЕНОВ СЛАВКА
+СТАМЕНОВИЋ КРСТИВОЈ
+СТАМЕНОВИЋ РАЈКО
+СТАМЕВСКИ ТОНЧЕ
+СТАМОРАН КАТИЦА
+СТАМПФЕР РОЗАЛИЈА
+СТАНЧЕТИЋ ДРАГИЦА
+СТАНЧЕТИЋ ПАВЛЕ
+СТАНЧИЋ АНЂЕЛКА
+СТАНЧИЋ АНДРИЈА ДР
+СТАНЧИЋ БЛАГОЈЕ МР
+СТАНЧИЋ БОЖАНА
+СТАНЧИЋ БОЖИДАР
+СТАНЧИЋ ДАНИЦА
+СТАНЧИЋ ДРАГОЉУБ
+СТАНЧИЋ ЛАЗАР
+СТАНЧИЋ ЉУБОМИР
+СТАНЧИЋ МАРИЈА
+СТАНЧИЋ МАРКО
+СТАНЧИЋ МИЋА
+СТАНЧИЋ МИХАЈЛО
+СТАНЧИЋ МИКА
+СТАНЧИЋ МИОДРАГ
+СТАНЧИЋ НИКОЛА
+СТАНЧИЋ ПАВЛЕ
+СТАНЧИЋ ТАНКОСАВА
+СТАНЧИЋ ТИХОМИР
+СТАНЧИЋ ЗОРАН
+СТАНЧИК МАРГИТА
+СТАНЧУ МАРИЈА
+СТАНЧУЛ ЖИВАН
+СТАНЧУЛ АНКА
+СТАНЧУЛ ЉИЉАНА
+СТАНЧУЛ ЉУБОМИР
+СТАНЧУЛ РАДИСЛАВ
+СТАНЧУЛ РАДОВАН
+СТАНЧУЛ САВА
+СТАНЧУЛОВ ДРАГИЦА
+СТАНЧУЛОВ МИЛАН
+СТАНАЋЕВ ЖИВА
+СТАНАЋЕВ МИЛЕНА
+СТАНАЋЕВ МИЛИВОЈ
+СТАНАЋЕВ СРЕДОЈЕ ДР
+СТАНАР ЂУРА
+СТАНАР ЂУРА
+СТАНАР ЂУРА
+СТАНАР АНКА
+СТАНАР ДЕСА
+СТАНАР ДУШАНКА
+СТАНАР ДУШАН
+СТАНАР-ГОГИЋ СТЕВАН
+СТАНАР ИЛИЈА
+СТАНАР МИЛЕ
+СТАНАР РАДЕ
+СТАНАР РАТКО
+СТАНАРЕВИЋ ЖЕЉКО
+СТАНАРЕВИЋ БОЖА
+СТАНАРЕВИЋ МАРКО
+СТАНАРЕВИЋ МИХАЈЛО
+СТАНАРЕВИЋ МИЛАН
+СТАНАРЕВИЋ НЕДЕЉКА
+СТАНАРЕВИЋ САВА
+СТАНБОЛИЈА МИРКО
+СТАНЕКОВИЋ МИЛАН
+СТАНЕКОВИЋ СТАНИСЛАВ
+СТАНЕКОВИЋ ВОЈА
+СТАНИЧКОВ ЧЕДОМИР
+СТАНИЧКОВ БОРА
+СТАНИЧКОВ ЈОВАН
+СТАНИЧКОВ ЉИЉАНА
+СТАНИЧКОВ МАРТА
+СТАНИШИЋ БОГОЉУБ
+СТАНИШИЋ БОРИСЛАВ
+СТАНИШИЋ БУДИНКА
+СТАНИШИЋ ДАМЈАН
+СТАНИШИЋ ДРАГОЉУБ
+СТАНИШИЋ ДРАГОЉУБ
+СТАНИШИЋ ДРАГОМИР
+СТАНИШИЋ ДУШАН
+СТАНИШИЋ ДУШАН
+СТАНИШИЋ ГОЈКО
+СТАНИШИЋ ЈЕЛЕНА
+СТАНИШИЋ ЈОВАН
+СТАНИШИЋ ЈОВАН
+СТАНИШИЋ КАТИЦА
+СТАНИШИЋ ЛЕПОСАВА
+СТАНИШИЋ ЉИЉАНА ДР
+СТАНИШИЋ ЉУБИЦА
+СТАНИШИЋ МАРКО
+СТАНИШИЋ МАРКО
+СТАНИШИЋ МИЛАН
+СТАНИШИЋ МИЛАН
+СТАНИШИЋ МИЛИЋ ДР ЛЕКАР
+СТАНИШИЋ МИЛИВОЈ
+СТАНИШИЋ МИЛОШ
+СТАНИШИЋ МИОДРАГ
+СТАНИШИЋ МИОДРАГ
+СТАНИШИЋ МЛАДЕН
+СТАНИШИЋ МОМИР
+СТАНИШИЋ НЕБОЈША
+СТАНИШИЋ НЕДЕЉКА
+СТАНИШИЋ НИКОЛА
+СТАНИШИЋ НИКОЛА
+СТАНИШИЋ ОЛГИЦА
+СТАНИШИЋ ПАВЛЕ
+СТАНИШИЋ ПАВЛЕ
+СТАНИШИЋ ПЕТАР
+СТАНИШИЋ ПРОКА
+СТАНИШИЋ РАДА
+СТАНИШИЋ РАДОВАН
+СТАНИШИЋ РАТКО
+СТАНИШИЋ РЕЉА
+СТАНИШИЋ СИМО
+СТАНИШИЋ СЛАВКО ДИПЛ ИНГ
+СТАНИШИЋ СЛОБОДАН
+СТАНИШИЋ СТАНИША
+СТАНИШИЋ СТАНИСЛАВ
+СТАНИШИЋ СТЕВО
+СТАНИШИЋ СТОЈАНЧА
+СТАНИШИЋ СВЕТЛАНА
+СТАНИШИЋ СВЕТОЗАР ДР
+СТАНИШИЋ СВЕТОЗАР
+СТАНИШИЋ ТИХОМИР
+СТАНИШИЋ ТОДОР
+СТАНИШИЋ ТОМАШ
+СТАНИШИЋ ВАСИЉКА
+СТАНИШИЋ ВЕЉКО
+СТАНИШИЋ ВЛАДА
+СТАНИШИЋ ЗОРАН
+СТАНИШИЋ ЗОРАН
+СТАНИШИН БРАНКО
+СТАНИШИН ИСА
+СТАНИШИН ВОЈИН
+СТАНИШЉЕВИЋ ДУШАНКА
+СТАНИЋ ЖИВАДИН
+СТАНИЋ ЖИВАН
+СТАНИЋ ЂУРА
+СТАНИЋ АЛЕКСАНДАР
+СТАНИЋ БОШКО
+СТАНИЋ БОГДАН
+СТАНИЋ БРАНКА
+СТАНИЋ БРАНКО
+СТАНИЋ БРАНКО
+СТАНИЋ ДАНЕ
+СТАНИЋ ДАНИЦА
+СТАНИЋ ДАНКА
+СТАНИЋ ДРАГАН
+СТАНИЋ ДРАГОСЛАВ ДР
+СТАНИЋ ДРАГО
+СТАНИЋ ДУШАН
+СТАНИЋ ГОЈКО
+СТАНИЋ ИЛИЈА
+СТАНИЋ ИЛИЈА
+СТАНИЋ ИЛИЈА
+СТАНИЋ ИЛИЈА
+СТАНИЋ ИВАН
+СТАНИЋ ЈАДРАНКА
+СТАНИЋ ЈЕЛЕНА
+СТАНИЋ ЈОВАН ДИПЛ ИНГ
+СТАНИЋ ЈОВАН ДИПЛ ИНГ
+СТАНИЋ ЈУЛКА
+СТАНИЋ КРИСТИВОЈЕ
+СТАНИЋ ЛИНКА
+СТАНИЋ ЉУБОДРАГ
+СТАНИЋ МАНЕ
+СТАНИЋ МАРКО
+СТАНИЋ МИЛАН ДИПЛ ПРАВНИК
+СТАНИЋ МИЛАНКО
+СТАНИЋ МИЛАНКО
+СТАНИЋ МИЛАН
+СТАНИЋ МИЛАН
+СТАНИЋ МИЛАН
+СТАНИЋ МИЛАН
+СТАНИЋ МИЛЕ
+СТАНИЋ МИЛИЦА
+СТАНИЋ МИЛИНКО
+СТАНИЋ МИЛИСАВ
+СТАНИЋ МИЛОЈЕ
+СТАНИЋ МИЛОСАВА
+СТАНИЋ МЛАДЕН
+СТАНИЋ МОМЧИЛО
+СТАНИЋ ОЛГА
+СТАНИЋ ОСТОЈА
+СТАНИЋ ПЕТАР
+СТАНИЋ ПЕТАР
+СТАНИЋ ПЕТАР
+СТАНИЋ РАДЕ
+СТАНИЋ РАДЕ
+СТАНИЋ РАДИША
+СТАНИЋ РАДОВАН ДИПЛ ИНГ
+СТАНИЋ РАЈКО
+СТАНИЋ САВО
+СТАНИЋ СИМО
+СТАНИЋ СИНИША
+СТАНИЋ СПАСОЈЕ
+СТАНИЋ СРЂАН
+СТАНИЋ СТАМЕНА
+СТАНИЋ СТЕВАН
+СТАНИЋ УРОШ
+СТАНИЋ ВЕЛИБОР
+СТАНИЋ ВИКТОР
+СТАНИЋ ВИТОМИР
+СТАНИЋ ВИТОМИР
+СТАНИЋ ВЛАДИМИР
+СТАНИЋ ВОЈИСЛАВ
+СТАНИЋ ЗОРАН
+СТАНИЋ ЗОРАН
+СТАНИЖАН МИЛОРАД
+СТАНИК ОЛГА
+СТАНИКИЋ МИЛАН
+СТАНИКИЋ МИЛЕВА
+СТАНИМИРОВ АЛЕКСАНДАР
+СТАНИМИРОВ АНА
+СТАНИМИРОВ БОРИВОЈ
+СТАНИМИРОВ БРАНКА
+СТАНИМИРОВ ДУШАН
+СТАНИМИРОВ ГАВРА
+СТАНИМИРОВ ЈЕЛКА
+СТАНИМИРОВ КАТИЦА
+СТАНИМИРОВ ЉИЉАНА
+СТАНИМИРОВ ЉИЉАНА
+СТАНИМИРОВ ЉУБИЦА
+СТАНИМИРОВ НЕДЕЉКО
+СТАНИМИРОВ РАДИВОЈ
+СТАНИМИРОВ РАНКА
+СТАНИМИРОВ СЛАВКО
+СТАНИМИРОВ ЗОРИЦА
+СТАНИМИРОВИЋ ЖИВОЈИН
+СТАНИМИРОВИЋ ДЕСИМИР
+СТАНИМИРОВИЋ ДРАГАН
+СТАНИМИРОВИЋ ДРАГАН
+СТАНИМИРОВИЋ ДРАГОМИР
+СТАНИМИРОВИЋ ЈАДРАНКА
+СТАНИМИРОВИЋ ЈЕЛИЦА
+СТАНИМИРОВИЋ КРСТО
+СТАНИМИРОВИЋ МОМА ДР
+СТАНИМИРОВИЋ ПАВЛЕ
+СТАНИМИРОВИЋ РАДОЈКА
+СТАНИМИРОВИЋ СТАНИМИР
+СТАНИМИРОВИЋ ТАТЈАНА
+СТАНИМИРОВИЋ ТРИФУН
+СТАНИМИРОВИЋ ВЕРОНИКА
+СТАНИСАВЉЕВ ЂОКА
+СТАНИСАВЉЕВ ЂОРЂЕ
+СТАНИСАВЉЕВ АЛЕКСАНДРА
+СТАНИСАВЉЕВ АНА
+СТАНИСАВЉЕВ ДОБРИВОЈ
+СТАНИСАВЉЕВ ДУШАН
+СТАНИСАВЉЕВ ЉУБИЦА
+СТАНИСАВЉЕВ ЉУБОМИР
+СТАНИСАВЉЕВ МИЛАН
+СТАНИСАВЉЕВ МИЛИЦА
+СТАНИСАВЉЕВ МИЛОЈКО
+СТАНИСАВЉЕВ МИРОСЛАВ
+СТАНИСАВЉЕВИЋ ЂОРЂЕ ДИПЛ ИНГ
+СТАНИСАВЉЕВИЋ ЂОРЂЕ
+СТАНИСАВЉЕВИЋ БИЉАНА
+СТАНИСАВЉЕВИЋ БОЖА
+СТАНИСАВЉЕВИЋ ЦВЕТА
+СТАНИСАВЉЕВИЋ ДАНЕ
+СТАНИСАВЉЕВИЋ ДИМИТРИЈЕ
+СТАНИСАВЉЕВИЋ ДРАГОМИР
+СТАНИСАВЉЕВИЋ ДУШАНКА
+СТАНИСАВЉЕВИЋ ЕЛИЗАБЕТА
+СТАНИСАВЉЕВИЋ ГИЗЕЛА
+СТАНИСАВЉЕВИЋ ГОРДАНА
+СТАНИСАВЉЕВИЋ ИГЊАТИЈЕ
+СТАНИСАВЉЕВИЋ КАТИЦА
+СТАНИСАВЉЕВИЋ ЛЕПОСАВА
+СТАНИСАВЉЕВИЋ МАРИЈА
+СТАНИСАВЉЕВИЋ МИЛАН
+СТАНИСАВЉЕВИЋ МИЛАН
+СТАНИСАВЉЕВИЋ МИЛИВОЈЕ
+СТАНИСАВЉЕВИЋ МИЛОШ
+СТАНИСАВЉЕВИЋ МИОДРАГ
+СТАНИСАВЉЕВИЋ МИОДРАГ
+СТАНИСАВЉЕВИЋ МИРКО
+СТАНИСАВЉЕВИЋ НАДА
+СТАНИСАВЉЕВИЋ РАДЕ
+СТАНИСАВЉЕВИЋ РУЖИЦА
+СТАНИСАВЉЕВИЋ САВА ДИПЛ ИНГ
+СТАНИСАВЉЕВИЋ СТАВРА ДИПЛ ИНГ
+СТАНИСАВЉЕВИЋ СТЕВАН
+СТАНИСАВЉЕВИЋ ВЕЛИЗАР
+СТАНИСАВЉЕВИЋ ВЕЉКО
+СТАНИСАВЉЕВИЋ ЗОРИЦА
+СТАНИВУК ЖАРКО
+СТАНИВУК ДЕЈАН
+СТАНИВУК МИРКО
+СТАНИВУК МЛАДЕН
+СТАНИВУК НАДА
+СТАНИВУК НЕДЕЉКО
+СТАНИВУК НИКОЛА
+СТАНИВУК ЗДРАВКО
+СТАНИВУКОВИЋ ДРАГУТИН МР
+СТАНИВУКОВИЋ ДРАГУТИН
+СТАНИВУКОВИЋ ЉИЉАНА
+СТАНИВУКОВИЋ МАРИЈА
+СТАНИВУКОВИЋ МИЛИВОЈ ДР ВЕТЕРИНЕ
+СТАНИВУКОВИЋ УРОШ
+СТАНКИЋ ДРАГАН
+СТАНКИЋ ЛАЗАР
+СТАНКИЋ МИЛОШ
+СТАНКИЋ СТЕВАН
+СТАНКИЋ ВИЛОГОРКА
+СТАНКИЈЕВИЋ ДУШАН
+СТАНКИН ЂОРЂЕ
+СТАНКИН БРАНКА
+СТАНКИН ЈАСМИНА
+СТАНКИН МИЛЕ
+СТАНКИН МИЛИВОЈ
+СТАНКИН МИЛИВОЈ
+СТАНКИН ТОДОР
+СТАНКО ИМРЕ
+СТАНКО ИВАН
+СТАНКО ЈОСИП ДИПЛ ИНГ
+СТАНКО СТЕВАН
+СТАНКО СТЕВАН
+СТАНКО СТЕВАН
+СТАНКО ВЕРИЦА
+СТАНКОВ ЖАРКО
+СТАНКОВ ЖИВКА
+СТАНКОВ ЖИВКО
+СТАНКОВ ЖИВКО
+СТАНКОВ ЂОРЂЕ
+СТАНКОВ БОЈАНА
+СТАНКОВ ДАРИНКА
+СТАНКОВ ДАРКО
+СТАНКОВ ДУШАН
+СТАНКОВ ДУШАН
+СТАНКОВ ЕЖЕБЕТ
+СТАНКОВ ИВАНКА
+СТАНКОВ ИВАН
+СТАНКОВ ЈЕЛЕНА
+СТАНКОВ КАТИЦА
+СТАНКОВ КОВИНА
+СТАНКОВ ЉУБИЦА
+СТАНКОВ МАРИЈА
+СТАНКОВ МАРИНКО
+СТАНКОВ МАРКО
+СТАНКОВ МИЛАНКО
+СТАНКОВ МИЛАНКО
+СТАНКОВ МИЛОШ
+СТАНКОВ МИРЈАНА
+СТАНКОВ МИРОСЛАВ
+СТАНКОВ НЕВЕНКА
+СТАНКОВ НИКОЛА
+СТАНКОВ ПАЈА ДР
+СТАНКОВ ПАВЛЕ
+СТАНКОВ ПЕТАР
+СТАНКОВ ПЕТАР
+СТАНКОВ РАДОВАН
+СТАНКОВ РАСТКО
+СТАНКОВ РУЖИЦА
+СТАНКОВ СЛОБОДАНКА
+СТАНКОВ СОФИЈА
+СТАНКОВ СТАНКА
+СТАНКОВ СТЕВАН
+СТАНКОВ СТЕВАН
+СТАНКОВ СТОЈАН
+СТАНКОВ СВЕТИСЛАВ
+СТАНКОВ СВЕТОЗАР
+СТАНКОВ ВЕЉКО
+СТАНКОВ ВЕЉКО
+СТАНКОВ ВЛАДИМИР
+СТАНКОВ ВОЈИСЛАВ
+СТАНКОВ ВОЈИСЛАВ
+СТАНКОВ ВОЈИСЛАВ
+СТАНКОВ ЗОРАНКА
+СТАНКОВ ЗОРАН
+СТАНКОВИЋ ЖАРКО
+СТАНКОВИЋ ЖАРКО
+СТАНКОВИЋ ЖИВКО
+СТАНКОВИЋ ЖИВКО
+СТАНКОВИЋ ЖИВОЈИН
+СТАНКОВИЋ ЖИВОЈИН
+СТАНКОВИЋ ЖИВОРАД
+СТАНКОВИЋ ЂОРЂЕ
+СТАНКОВИЋ ЂОРЂЕ
+СТАНКОВИЋ ЂОРЕ
+СТАНКОВИЋ ЂУРО
+СТАНКОВИЋ АЛЕКСАНДАР
+СТАНКОВИЋ АЛЕКСАНДАР
+СТАНКОВИЋ АЛЕКСАНДАР
+СТАНКОВИЋ АНЂЕЛКА
+СТАНКОВИЋ АНЂЕЛКА
+СТАНКОВИЋ АНА
+СТАНКОВИЋ АНИЦА
+СТАНКОВИЋ АРАНКА
+СТАНКОВИЋ АВРАМ
+СТАНКОВИЋ БИЉАНА
+СТАНКОВИЋ БОЖИДАР
+СТАНКОВИЋ БОЖИДАР
+СТАНКОВИЋ БОГОЉУБ ДР
+СТАНКОВИЋ БОГОЉУБ
+СТАНКОВИЋ БОЈАНА
+СТАНКОВИЋ БОЈАН
+СТАНКОВИЋ БОРА
+СТАНКОВИЋ БОРА
+СТАНКОВИЋ БОРА
+СТАНКОВИЋ БОРИСЛАВ
+СТАНКОВИЋ БОРИСЛАВ
+СТАНКОВИЋ БОСИЉКА
+СТАНКОВИЋ БРАНКО
+СТАНКОВИЋ ДАНИЦА
+СТАНКОВИЋ ДАНИЛО
+СТАНКОВИЋ ДАРИНКА
+СТАНКОВИЋ ДИВНА
+СТАНКОВИЋ ДОБРИНКА
+СТАНКОВИЋ ДОБРИВОЈЕ
+СТАНКОВИЋ ДОБРИВОЈЕ
+СТАНКОВИЋ ДОБРОСЛАВ
+СТАНКОВИЋ ДРАГАН
+СТАНКОВИЋ ДРАГАН
+СТАНКОВИЋ ДРАГИША
+СТАНКОВИЋ ДРАГИША
+СТАНКОВИЋ ДРАГИЦА
+СТАНКОВИЋ ДРАГОЉУБ
+СТАНКОВИЋ ДРАГОРАД
+СТАНКОВИЋ ДРАГУТИН
+СТАНКОВИЋ ДУШАН
+СТАНКОВИЋ ДУШАН
+СТАНКОВИЋ ДУШАН
+СТАНКОВИЋ ДУШАН
+СТАНКОВИЋ ДУШКО
+СТАНКОВИЋ ЕВЕЛИН ДР
+СТАНКОВИЋ ЕВИЦА
+СТАНКОВИЋ ФРЕДЕРИК
+СТАНКОВИЋ ИЛИЈА
+СТАНКОВИЋ ИЛИЈА
+СТАНКОВИЋ ИВАН
+СТАНКОВИЋ ИВАН
+СТАНКОВИЋ ЈАГОДА
+СТАНКОВИЋ ЈЕЛЕНА
+СТАНКОВИЋ ЈЕЛИЦА
+СТАНКОВИЋ ЈЕСЕНКА ДР
+СТАНКОВИЋ ЈОВАН ДИПЛ ИНГ
+СТАНКОВИЋ ЈОВАН
+СТАНКОВИЋ ЈОВИЦА
+СТАНКОВИЋ ЈОВИЦА
+СТАНКОВИЋ КАТАЛИН
+СТАНКОВИЋ КАТАРИНА
+СТАНКОВИЋ КАТИЦА
+СТАНКОВИЋ КОСАНА
+СТАНКОВИЋ КОСТАДИН
+СТАНКОВИЋ ЛАЗАР ДИПЛ ИНГ
+СТАНКОВИЋ ЛАЗАР
+СТАНКОВИЋ ЛАЗАР
+СТАНКОВИЋ ЉИЉАНА
+СТАНКОВИЋ ЉИЉАНА
+СТАНКОВИЋ ЉИЉАНА
+СТАНКОВИЋ ЉУБИЦА
+СТАНКОВИЋ ЉУБИЦА
+СТАНКОВИЋ ЉУБИСАВ
+СТАНКОВИЋ ЉУБОМИР
+СТАНКОВИЋ ЉУБОМИР
+СТАНКОВИЋ ЉУБОМИР
+СТАНКОВИЋ ЉУБО
+СТАНКОВИЋ МАРИЈА
+СТАНКОВИЋ МАРИЈА
+СТАНКОВИЋ МАРИНКО
+СТАНКОВИЋ МАРИНКО
+СТАНКОВИЋ МАРЈАН
+СТАНКОВИЋ МАРКО
+СТАНКОВИЋ МЕЛАНИЈА
+СТАНКОВИЋ МИХАЈЛО
+СТАНКОВИЋ МИХАЈЛО
+СТАНКОВИЋ МИЛАНКО
+СТАНКОВИЋ МИЛАНКО
+СТАНКОВИЋ МИЛАН
+СТАНКОВИЋ МИЛАН
+СТАНКОВИЋ МИЛАН
+СТАНКОВИЋ МИЛАН
+СТАНКОВИЋ МИЛАН
+СТАНКОВИЋ МИЛАН
+СТАНКОВИЋ МИЛАН
+СТАНКОВИЋ МИЛЕНКО
+СТАНКОВИЋ МИЛОШ
+СТАНКОВИЋ МИЛОШ
+СТАНКОВИЋ МИЛОРАД
+СТАНКОВИЋ МИЛУТИН
+СТАНКОВИЋ МИОДРАГ
+СТАНКОВИЋ МИОМИР
+СТАНКОВИЋ МИРЈАНА
+СТАНКОВИЋ МИРЈАНА
+СТАНКОВИЋ МИРКО
+СТАНКОВИЋ МИРКО
+СТАНКОВИЋ МИРОЉУБ
+СТАНКОВИЋ МИРОСЛАВ
+СТАНКОВИЋ МИРОСЛАВ
+СТАНКОВИЋ МИТАР
+СТАНКОВИЋ МЛАДЕН
+СТАНКОВИЋ МЛАДЕН
+СТАНКОВИЋ МОМЧИЛО
+СТАНКОВИЋ НАДА
+СТАНКОВИЋ НАДА
+СТАНКОВИЋ НАДА
+СТАНКОВИЋ НАДА
+СТАНКОВИЋ НАТАША
+СТАНКОВИЋ НАТАЛИЈА
+СТАНКОВИЋ НЕНАД
+СТАНКОВИЋ НЕВЕНА
+СТАНКОВИЋ НИКОЛА
+СТАНКОВИЋ НИКОЛА
+СТАНКОВИЋ НИКОЛА
+СТАНКОВИЋ НИКОЛА
+СТАНКОВИЋ НИКОЛА
+СТАНКОВИЋ ОЛГА
+СТАНКОВИЋ ОЛГА
+СТАНКОВИЋ ОЛГИЦА
+СТАНКОВИЋ ОСТОЈА
+СТАНКОВИЋ ПАВЛЕ
+СТАНКОВИЋ ПЕТАР
+СТАНКОВИЋ ПЕТАР
+СТАНКОВИЋ РАДИВОЈ
+СТАНКОВИЋ РАДОМИР
+СТАНКОВИЋ РАДОСЛАВ
+СТАНКОВИЋ САША
+СТАНКОВИЋ САВКА
+СТАНКОВИЋ САВО
+СТАНКОВИЋ СЛАВКО
+СТАНКОВИЋ СЛАВКО
+СТАНКОВИЋ СЛОБОДАНКА
+СТАНКОВИЋ СЛОБОДАН
+СТАНКОВИЋ СЛОБОДАН
+СТАНКОВИЋ СЛОБОДАН
+СТАНКОВИЋ СОФИЈА
+СТАНКОВИЋ СРЂАН
+СТАНКОВИЋ СРБОЉУБ ДИПЛ ИНГ
+СТАНКОВИЋ СТАМЕН
+СТАНКОВИЋ СТАНКО
+СТАНКОВИЋ СТАНОЈЕ
+СТАНКОВИЋ СТЕВАН
+СТАНКОВИЋ СТЕВАН
+СТАНКОВИЋ СТЕВО
+СТАНКОВИЋ СВЕТИСЛАВ
+СТАНКОВИЋ СВЕТИСЛАВ
+СТАНКОВИЋ СВЕТОЗАР
+СТАНКОВИЋ СВЕТОЗАР
+СТАНКОВИЋ ТЕРЕЗА
+СТАНКОВИЋ ТИОСАВ
+СТАНКОВИЋ ТОША
+СТАНКОВИЋ ТОМИСЛАВ
+СТАНКОВИЋ ТОМИСЛАВ
+СТАНКОВИЋ ВЕНЕРА
+СТАНКОВИЋ ВЕСЕЛИН
+СТАНКОВИЋ ВЕСЕЛИН
+СТАНКОВИЋ ВИТОМИР
+СТАНКОВИЋ ВЛАДАН
+СТАНКОВИЋ ВЛАДА
+СТАНКОВИЋ ВЛАДИМИР
+СТАНКОВИЋ ВЛАДИМИР
+СТАНКОВИЋ ВОЈИСЛАВ
+СТАНКОВИЋ-ВРАНИЋ МИЛИЦА
+СТАНКОВИЋ ЗЛАТИВОЈЕ
+СТАНКОВИЋ ЗОРАН
+СТАНКОВИЋ ЗОРАН
+СТАНКОВИЋ ЗОРА
+СТАНКОВСКИ КОСТА
+СТАНКОВСКИ СТЕВАН
+СТАНКОВСКИ ВЕЉАН
+СТАНОЈЧИЋ ЂОРЂЕ
+СТАНОЈЧИЋ АНЂЕЛКО
+СТАНОЈЧИЋ АНКИЦА
+СТАНОЈЧИЋ ДЕСИМИР
+СТАНОЈЧИЋ ДУШАНКА
+СТАНОЈЧИЋ ОЛГА
+СТАНОЈЧИЋ СЛОБОДАН
+СТАНОЈЧИЋ СОФИЈА
+СТАНОЈЧИЋ СТЕВАН
+СТАНОЈЧИЋ ВЕРА
+СТАНОЈЧИЋ ВОЈИСЛАВ
+СТАНОЈЕВ ЖИВАН
+СТАНОЈЕВ АЛЕКСАНДРА
+СТАНОЈЕВ БРАНИСЛАВ
+СТАНОЈЕВ ДЕЈАН
+СТАНОЈЕВ ДУШАН
+СТАНОЈЕВ ДУШАН
+СТАНОЈЕВ ДУШАН
+СТАНОЈЕВ ДУШАН
+СТАНОЈЕВ ГОРАН
+СТАНОЈЕВ ЈОЦА
+СТАНОЈЕВ ЛАЗАР
+СТАНОЈЕВ ЉУБИЦА
+СТАНОЈЕВ МИЛАН
+СТАНОЈЕВ-МОСКАЉ ОЛГА
+СТАНОЈЕВ НЕБОЈША
+СТАНОЈЕВ НИКОЛА
+СТАНОЈЕВ-ПЕТРЕЊ МИРЈАНА
+СТАНОЈЕВ САВА
+СТАНОЈЕВ СТАНКА
+СТАНОЈЕВ СТЕВАН
+СТАНОЈЕВ ТИХОМИР
+СТАНОЈЕВ ВЕРИЦА
+СТАНОЈЕВ ВЛАДИМИР
+СТАНОЈЕВ ВЛАДИМИР
+СТАНОЈЕВИЋ ЧЕДОМИР
+СТАНОЈЕВИЋ ЖАРКО
+СТАНОЈЕВИЋ ЖИВАНКО
+СТАНОЈЕВИЋ ЖИВОЈИН
+СТАНОЈЕВИЋ ЂУРА
+СТАНОЈЕВИЋ БОЖИДАР
+СТАНОЈЕВИЋ ДАНИЦА
+СТАНОЈЕВИЋ ДРАГАН
+СТАНОЈЕВИЋ ДРАГОЉУБ
+СТАНОЈЕВИЋ ДУШАН
+СТАНОЈЕВИЋ ДУШАН
+СТАНОЈЕВИЋ ХРАНИСЛАВ
+СТАНОЈЕВИЋ ИЛИЈА
+СТАНОЈЕВИЋ ЈОВАН
+СТАНОЈЕВИЋ КАЋА
+СТАНОЈЕВИЋ КОСТА
+СТАНОЈЕВИЋ ЉУБИНКА
+СТАНОЈЕВИЋ-МАНДИЋ МИЛА
+СТАНОЈЕВИЋ МАРИЈА
+СТАНОЈЕВИЋ МИЛАН
+СТАНОЈЕВИЋ МИЛАН
+СТАНОЈЕВИЋ МИЛАН
+СТАНОЈЕВИЋ МИЛАН
+СТАНОЈЕВИЋ МИЛА
+СТАНОЈЕВИЋ МИЛЕТА
+СТАНОЈЕВИЋ МИЛИВОЈ
+СТАНОЈЕВИЋ МИЛОРАД
+СТАНОЈЕВИЋ МИОДРАГ
+СТАНОЈЕВИЋ МИОДРАГ
+СТАНОЈЕВИЋ МИРОСЛАВ
+СТАНОЈЕВИЋ НАДА
+СТАНОЈЕВИЋ НАТАША
+СТАНОЈЕВИЋ НЕБОЈША
+СТАНОЈЕВИЋ НЕМАЊА
+СТАНОЈЕВИЋ НЕСТОР
+СТАНОЈЕВИЋ НИКОЛА
+СТАНОЈЕВИЋ НИКОЛА
+СТАНОЈЕВИЋ ПАВЛЕ
+СТАНОЈЕВИЋ ПЕТАР
+СТАНОЈЕВИЋ ПРЕДРАГ
+СТАНОЈЕВИЋ РАДМИЛА
+СТАНОЈЕВИЋ РАДОМИР
+СТАНОЈЕВИЋ РАДОСЛАВ
+СТАНОЈЕВИЋ РАДО
+СТАНОЈЕВИЋ СЛОБОДАН
+СТАНОЈЕВИЋ СОФИЈА
+СТАНОЈЕВИЋ СРБОЉУБ
+СТАНОЈЕВИЋ СТЕВАН
+СТАНОЈЕВИЋ СВЕТИСЛАВ
+СТАНОЈЕВИЋ ТАТЈАНА
+СТАНОЈЕВИЋ ТОМИСЛАВ
+СТАНОЈЕВИЋ-ВАРГА АНА ДР
+СТАНОЈЕВИЋ ВЕЉКО
+СТАНОЈЕВИЋ ВЛАДИМИР
+СТАНОЈЕВИЋ ВЛАДИМИР
+СТАНОЈЕВИЋ ВЛАДИСЛАВ
+СТАНОЈЕВИЋ ВУК
+СТАНОЈЕВИЋ ЗДРАВКО
+СТАНОЈЕВИЋ ЗЛАТКО
+СТАНОЈЕВИЋ ЗОРАН
+СТАНОЈЕВИЋ ЗОРАН
+СТАНОЈЕВИЋ ЗОРАН
+СТАНОЈЕВИЋ ЗОРАН
+СТАНОЈКОВИЋ МИЛОШ
+СТАНОЈКОВИЋ РАДЕ
+СТАНОЈКОВИЋ ВЛАДА
+СТАНОЈЛОВИЋ МИТАР
+СТАНОЈЛОВИЋ СТЕВАН
+СТАНОЈОСКИ ДАНИЦА
+СТАНОЈОСКИ ЗЛАТА
+СТАНОЈСКИ БЛАГОЈЕ
+СТАНОВИЋ СТЕВАН
+СТАНОВИЋ ВЕСЕЛИН
+СТАНТЕ ЈОСИП
+СТАНТИЋ БАРТУЛ
+СТАНТИЋ БЕРТАЛАН
+СТАНТИЋ КАТАЛИН
+СТАНТИЋ ЛАДИСЛАВ
+СТАНТИЋ ВЕРОНА
+СТАНУШИЋ МИЈАТ
+СТАНУЛ ПЕТАР
+СТАНУЛОВ СВЕТЛАНА
+СТАНУЛОВ ТОДОР
+СТАНУЛОВИЋ ДИМИТРИЈЕ ДР
+СТАНУЛОВИЋ МИЛАН ДР
+СТАПАР АЛЕКСАНДАР
+СТАПАРСКИ БОРИСЛАВ
+СТАПАРСКИ МИЛАН
+СТАПАРСКИ ПЕТАР
+СТАПАРСКИ СТЕВАН
+СТАРЧЕВ АНЂЕЛКА
+СТАРЧЕВ БРАНКА
+СТАРЧЕВ ДЕСАНКА
+СТАРЧЕВ ЈЕЛА
+СТАРЧЕВ КАТИЦА
+СТАРЧЕВ МИЛАН ДИПЛ ИНГ
+СТАРЧЕВ МИЛЕНКО
+СТАРЧЕВ МИЛОШ
+СТАРЧЕВ МИРОСЛАВ
+СТАРЧЕВ СТОЈАНКА
+СТАРЧЕВИЋ АНИЦА
+СТАРЧЕВИЋ АНКА
+СТАРЧЕВИЋ БОШКО
+СТАРЧЕВИЋ БОГДАН
+СТАРЧЕВИЋ БОРИСЛАВ
+СТАРЧЕВИЋ БРАНИСЛАВ
+СТАРЧЕВИЋ БУДИМИР
+СТАРЧЕВИЋ ДРАГИЦА
+СТАРЧЕВИЋ ДУШАНКА
+СТАРЧЕВИЋ ДУШАН
+СТАРЧЕВИЋ ФРАЊА
+СТАРЧЕВИЋ ИВАН
+СТАРЧЕВИЋ ЉУБИНКО ДИПЛ ИНГ
+СТАРЧЕВИЋ МИЛАН
+СТАРЧЕВИЋ МИЛАН
+СТАРЧЕВИЋ МИЛАН
+СТАРЧЕВИЋ МИЛАН
+СТАРЧЕВИЋ МИЛИЦА
+СТАРЧЕВИЋ МИЛИЦА
+СТАРЧЕВИЋ МИЛКА
+СТАРЧЕВИЋ МИЛОВАН
+СТАРЧЕВИЋ МИОДРАГ
+СТАРЧЕВИЋ МИРКО
+СТАРЧЕВИЋ МИРКО
+СТАРЧЕВИЋ МИРКО
+СТАРЧЕВИЋ НИКОЛА
+СТАРЧЕВИЋ ОЛГА
+СТАРЧЕВИЋ ПАВЛЕ
+СТАРЧЕВИЋ РУДОЛФ
+СТАРЧЕВИЋ СТАМЕНКА
+СТАРЧЕВИЋ СТАНКО
+СТАРЧЕВИЋ СТИПО
+СТАРЧЕВИЋ СТОЈАН
+СТАРЧЕВИЋ ВЛАСТИМИР
+СТАРАЧЕК ЖЕЉКО
+СТАРАЧЕК ЈОЖЕФ
+СТАРАЧЕК ЈОВАН
+СТАРЕВИЋ НИКОЛА
+СТАРИ ДАНИЕЛ
+СТАРИ ЛИВИЈА
+СТАРИЋ ИВАН
+СТАРОВИЋ БОРИВОЈ ДР
+СТАРОВИЋ БРАНКО
+СТАРОВИЋ МАРИЈА
+СТАРОВИЋ МИЛАН
+СТАРОВИЋ ПРЕДРАГ
+СТАРОВИЋ РАДОМИР
+СТАРОВИЋ РАСТИСЛАВ
+СТАРОВИЋ ЗДРАВКО
+СТАРОВЛАХ МЛАДЕН
+СТАВЕНОВ ЂОРЂЕ
+СТАВЈЕЛ МЛАДЕН
+СТАВРЕВСКИ БОГДАН
+СТАВРИЋ ИЛОНКА
+СТАВРИЋ СТАНОЈЕ
+СТАВРОВ ДАНИЦА
+СТЕЋ МИТАР
+СТЕЋ ВАСИЛИЈЕ
+СТЕФАН ИВАН
+СТЕФАН ЉУБОМИРА
+СТЕФАНИДЕС ЈУЛИЈЕ
+СТЕФАНИДЕС ЉУДЕВИТ
+СТЕФАНИДИС КИРИАКИ
+СТЕФАЊУК НИКОЛА
+СТЕФАНОВ БЛАГОЈЕ
+СТЕФАНОВ ЉУБОМИР
+СТЕФАНОВ НАДА
+СТЕФАНОВИЋ ЖАРКО
+СТЕФАНОВИЋ ЖИКА
+СТЕФАНОВИЋ ЖИКА
+СТЕФАНОВИЋ ЖИКА
+СТЕФАНОВИЋ ЖИВКО
+СТЕФАНОВИЋ ЖИВОРАД
+СТЕФАНОВИЋ ЖИВОТА
+СТЕФАНОВИЋ ЂОРЂЕ
+СТЕФАНОВИЋ ЂУРИЦА ДР ЛЕКАР
+СТЕФАНОВИЋ АЛЕКСАНДАР
+СТЕФАНОВИЋ АЛЕКСАНДАР
+СТЕФАНОВИЋ АНА
+СТЕФАНОВИЋ АНГЕЛИНА
+СТЕФАНОВИЋ АНКА
+СТЕФАНОВИЋ БОГДАН
+СТЕФАНОВИЋ БОГОЉУБ
+СТЕФАНОВИЋ БОРИВОЈЕ
+СТЕФАНОВИЋ БОРИВОЈ
+СТЕФАНОВИЋ БРАНИСЛАВ
+СТЕФАНОВИЋ БРАНКА
+СТЕФАНОВИЋ БРАНКО
+СТЕФАНОВИЋ ДАНИЦА
+СТЕФАНОВИЋ ДАНИЦА
+СТЕФАНОВИЋ ДАНИЛКА
+СТЕФАНОВИЋ ДАРИНКА
+СТЕФАНОВИЋ ДЕЖЕ
+СТЕФАНОВИЋ ДЕЈАН
+СТЕФАНОВИЋ ДРАГАНА
+СТЕФАНОВИЋ ДРАГАН
+СТЕФАНОВИЋ ДРАГАН
+СТЕФАНОВИЋ ДРАГАН
+СТЕФАНОВИЋ ДРАГАН
+СТЕФАНОВИЋ ДРАГАН
+СТЕФАНОВИЋ ДРАГИША
+СТЕФАНОВИЋ ДРАГИША
+СТЕФАНОВИЋ ДРАГИЦА
+СТЕФАНОВИЋ ДРАГИЦА
+СТЕФАНОВИЋ ДРАГИЦА
+СТЕФАНОВИЋ ДРАГОЉУБ
+СТЕФАНОВИЋ ДРАГОЉУБ
+СТЕФАНОВИЋ ДРАГУТИН
+СТЕФАНОВИЋ ДРАГУТИН
+СТЕФАНОВИЋ ДУШАН
+СТЕФАНОВИЋ ДУШКО
+СТЕФАНОВИЋ ЕРЖИКА
+СТЕФАНОВИЋ-ГЕРИЋ ЗОРКА
+СТЕФАНОВИЋ ГОРАН
+СТЕФАНОВИЋ ГОРДАН
+СТЕФАНОВИЋ ИВАН
+СТЕФАНОВИЋ ЈЕЛИЦА
+СТЕФАНОВИЋ ЈЕЛИЦА
+СТЕФАНОВИЋ ЈОСИФ
+СТЕФАНОВИЋ ЈОВАНКА
+СТЕФАНОВИЋ ЈОВАН
+СТЕФАНОВИЋ ЈОВАН
+СТЕФАНОВИЋ ЈОЗЕФИНА
+СТЕФАНОВИЋ ЈУЛИЈАНА
+СТЕФАНОВИЋ КАРАНФИЛА
+СТЕФАНОВИЋ КАТИЦА
+СТЕФАНОВИЋ ЛАЗАР
+СТЕФАНОВИЋ ЛЕНКА
+СТЕФАНОВИЋ ЉУБОМИР ДР
+СТЕФАНОВИЋ ЉУБОМИР
+СТЕФАНОВИЋ ЛУЦИЈА
+СТЕФАНОВИЋ МАРИЈА
+СТЕФАНОВИЋ МАРИНКО
+СТЕФАНОВИЋ МАРКО
+СТЕФАНОВИЋ МАРТА
+СТЕФАНОВИЋ МАРТА
+СТЕФАНОВИЋ МИХАЈЛО
+СТЕФАНОВИЋ МИЛАН
+СТЕФАНОВИЋ МИЛАН
+СТЕФАНОВИЋ МИЛАН
+СТЕФАНОВИЋ МИЛАН
+СТЕФАНОВИЋ МИЛАН
+СТЕФАНОВИЋ МИЛАН
+СТЕФАНОВИЋ МИЛЕНА
+СТЕФАНОВИЋ МИЛЕН
+СТЕФАНОВИЋ МИЛИЦА
+СТЕФАНОВИЋ МИЛОШ
+СТЕФАНОВИЋ МИЛОШ
+СТЕФАНОВИЋ МИЛОЈЕ
+СТЕФАНОВИЋ МИЛОВАН
+СТЕФАНОВИЋ МИЛУТИН ДИПЛ ПРАВНИК
+СТЕФАНОВИЋ МИЛУТИН
+СТЕФАНОВИЋ МИОМИР
+СТЕФАНОВИЋ МИРА
+СТЕФАНОВИЋ МИРЈАНА
+СТЕФАНОВИЋ МИРКО
+СТЕФАНОВИЋ МИРКО
+СТЕФАНОВИЋ МИРКО
+СТЕФАНОВИЋ МИРОСЛАВ
+СТЕФАНОВИЋ МИРОСЛАВ
+СТЕФАНОВИЋ МИРОСЛАВ
+СТЕФАНОВИЋ МИРОСЛАВ
+СТЕФАНОВИЋ НАДА
+СТЕФАНОВИЋ НЕДЕЉКА
+СТЕФАНОВИЋ НИКОЛА
+СТЕФАНОВИЋ НИКОЛА
+СТЕФАНОВИЋ НИКОЛА
+СТЕФАНОВИЋ НИКОЛА
+СТЕФАНОВИЋ ПАНТА
+СТЕФАНОВИЋ ПАУЛА
+СТЕФАНОВИЋ ПЕТАР
+СТЕФАНОВИЋ РАДМИЛА
+СТЕФАНОВИЋ РАДМИЛА
+СТЕФАНОВИЋ РАДОСЛАВ
+СТЕФАНОВИЋ РУЖИЦА
+СТЕФАНОВИЋ САЊА
+СТЕФАНОВИЋ СЛАВИЦА ДР
+СТЕФАНОВИЋ СЛАВКА
+СТЕФАНОВИЋ СЛАВКО
+СТЕФАНОВИЋ СЛАВКО
+СТЕФАНОВИЋ СЛОБОДАН ПРОФЕСОР
+СТЕФАНОВИЋ СЛОБОДАН
+СТЕФАНОВИЋ СМИЉА
+СТЕФАНОВИЋ СМИЉКА
+СТЕФАНОВИЋ СНЕЖАНА
+СТЕФАНОВИЋ СТАНИША
+СТЕФАНОВИЋ СТАНКО
+СТЕФАНОВИЋ СТЕВАН
+СТЕФАНОВИЋ СТЕВАН
+СТЕФАНОВИЋ СТЕВАН
+СТЕФАНОВИЋ СТЈЕПАН
+СТЕФАНОВИЋ СТОЈАНА
+СТЕФАНОВИЋ СУЗАНА
+СТЕФАНОВИЋ СВЕТИСЛАВ
+СТЕФАНОВИЋ СВЕТОЗАР
+СТЕФАНОВИЋ СВЕТОЗАР
+СТЕФАНОВИЋ ТАТЈАНА
+СТЕФАНОВИЋ-ТИЛИЋ ДИВНА
+СТЕФАНОВИЋ ТОДОР
+СТЕФАНОВИЋ ТОМИСЛАВ
+СТЕФАНОВИЋ ВАСА
+СТЕФАНОВИЋ ВАСА
+СТЕФАНОВИЋ ВАСИЛИЈЕ
+СТЕФАНОВИЋ ВЕРА
+СТЕФАНОВИЋ ВЕРА
+СТЕФАНОВИЋ ВЕРИЦА
+СТЕФАНОВИЋ ВЕСНА
+СТЕФАНОВИЋ ВЕСНА
+СТЕФАНОВИЋ ВИТОМИР
+СТЕФАНОВИЋ ВЛАДИЦА
+СТЕФАНОВИЋ ВЛАДИМИР
+СТЕФАНОВИЋ ВЛАДИМИР
+СТЕФАНОВИЋ ВЛАДИМИР
+СТЕФАНОВИЋ ВЛАДИМИР
+СТЕФАНОВИЋ ВЛАЈКО
+СТЕФАНОВИЋ ВОЈИСЛАВА
+СТЕФАНОВИЋ ВОЈИСЛАВ
+СТЕФАНОВИЋ ВОЈИСЛАВ
+СТЕФАНОВИЋ ЗОРАН
+СТЕФАНОВИЋ ЗОРАН
+СТЕФАНОВСКА ЗОРКА
+СТЕФАНОВСКИ ЛЕВКО
+СТЕФАНОВСКИ МЕТОДИЈЕ
+СТЕФАНОВСКИ МИЛОРАД
+СТЕФАНОВСКИ СТАМЕН
+СТЕГИЋ ДЕЈАН
+СТЕГИЋ ИВАН
+СТЕГИЋ НИКОЛА
+СТЕГЊАИЋ ОЛГА
+СТЕГЊАЈИЋ ВЛАДИМИР
+СТЕЈИЋ АРАНКА
+СТЕЈИЋ ЈЕЛЕНА
+СТЕЈИЋ КОСТА
+СТЕЈИЋ НЕВЕНКА
+СТЕЈИЋ РУЖА
+СТЕЈИН ЂОРЂЕ
+СТЕЈИН БОРИСЛАВ
+СТЕЈИН ДУШАН ДИПЛ ИНГ
+СТЕЈИН ЈЕЛЕНА
+СТЕЈИН ЈОВАНКА
+СТЕЈИН ЉУБИЦА
+СТЕЈИН РУЖИЦА
+СТЕЈИН САША
+СТЕЈИН СРЂАН
+СТЕЛА ВЛАДИМИРА
+СТЕЉА НОВАК
+СТЕЉИЋ МИЛИВОЈЕ
+СТЕЉИЋ МИЛУН
+СТЕЛКИЋ ЂУРИЦА
+СТЕЛКИЋ ДРАГИЦА
+СТЕЛКИЋ МИЛИВОЈ
+СТЕЛКИЋ РАДИЦА
+СТЕЛКИЋ РЕЉА ДИПЛ ИНГ
+СТЕЛКИЋ СВЕТОЗАР
+СТЕЛКИЋ ЗЛАТОМИР
+СТЕПАНЧЕВ АНИЦА
+СТЕПАНЧЕВ СТЕВАН
+СТЕПАНЧЕВ ВЛАДИСЛАВ
+СТЕПАНЧЕВ ЗОРАН
+СТЕПАНЧЕВ ЗОРА
+СТЕПАНЧЕВ ЗОРИЦА
+СТЕПАНЧЕВИЋ МИЛИЦА
+СТЕПАНЧЕВИЋ МИОДРАГ
+СТЕПАНЧЕВИЋ СОФИЈА
+СТЕПАНЧЕВИЋ СПАСОЈЕ
+СТЕПАНИЋ МИЛИСАВ
+СТЕПАНИЋ ПРЕДРАГ
+СТЕПАНОВ ЂОРЂЕ
+СТЕПАНОВ ЂОРЂЕ
+СТЕПАНОВ ЂОРЂЕ
+СТЕПАНОВ АЛЕКСАНДАР
+СТЕПАНОВ АЛЕКСАНДРА
+СТЕПАНОВ АНЂЕЛКА
+СТЕПАНОВ БРАНИСЛАВ
+СТЕПАНОВ БРАНКО
+СТЕПАНОВ БРАНКО
+СТЕПАНОВ ДРАГИША
+СТЕПАНОВ ДРАГИЦА
+СТЕПАНОВ ДУШАН
+СТЕПАНОВ ДУШАН
+СТЕПАНОВ ЕМИЛ
+СТЕПАНОВ ЈОЛЕ
+СТЕПАНОВ КАТИЦА
+СТЕПАНОВ ЉИЉАНА
+СТЕПАНОВ ЉУБОМИР ДР
+СТЕПАНОВ ЉУБОМИР
+СТЕПАНОВ МАКСА
+СТЕПАНОВ МАРА
+СТЕПАНОВ МИЛАНКА
+СТЕПАНОВ МИЛАНКА
+СТЕПАНОВ МИЛАН
+СТЕПАНОВ МИЛАН
+СТЕПАНОВ МИЛЕВА
+СТЕПАНОВ МИЛИВОЈ
+СТЕПАНОВ МИЛИВОЈ
+СТЕПАНОВ МИЛИВОЈ
+СТЕПАНОВ МИЛОВАН
+СТЕПАНОВ НИКОЛА
+СТЕПАНОВ ПАЈА
+СТЕПАНОВ ПАЈА
+СТЕПАНОВ ПЕТАР ДР
+СТЕПАНОВ ПЕТАР
+СТЕПАНОВ ПИРОШКА
+СТЕПАНОВ РАДИВОЈ
+СТЕПАНОВ РАДОВАН
+СТЕПАНОВ САВА
+СТЕПАНОВ САВА
+СТЕПАНОВ СЕРГИЈЕ
+СТЕПАНОВ СЛОБОДАН
+СТЕПАНОВ СВЕТИСЛАВ
+СТЕПАНОВ ВАСИЛИЈЕ
+СТЕПАНОВ ВЕЛИМИР
+СТЕПАНОВ ВЕСНА
+СТЕПАНОВ ВИДА
+СТЕПАНОВ ВИДОСАВА
+СТЕПАНОВ ВОЈНА
+СТЕПАНОВ ЗДРАВКО
+СТЕПАНОВИЋ ЂУРЂИЦА
+СТЕПАНОВИЋ БРАТИСЛАВ
+СТЕПАНОВИЋ ДРАГИША
+СТЕПАНОВИЋ ДРАГИЦА
+СТЕПАНОВИЋ МИЛОРАД
+СТЕПАНОВИЋ НЕБОЈША
+СТЕПАНОВИЋ СЛОБОДАН
+СТЕПАНОВИЋ СНЕЖАНА
+СТЕПАНОВИЋ СТЕВАН
+СТЕПАНОВИЋ СВЕТЛАНА
+СТЕПИЋ ЈОСИП
+СТЕПИЋ МАРИЈА
+СТЕРИО ЂОРЂЕ
+СТЕРИО БРАНКО ДР
+СТЕРПИН ЗВОНИМИР
+СТЕВЧИЋ САВАТИЈЕ
+СТЕВАНЧЕВ АНКИЦА
+СТЕВАНЧЕВ МИЛИЦА
+СТЕВАНЧЕВ МИЛОРАД
+СТЕВАНЧЕВ ОЛГА
+СТЕВАНЧЕВИЋ ЉИЉАНА
+СТЕВАНДИЋ ЂУРО
+СТЕВАНДИЋ МИЛИЦА
+СТЕВАНДИЋ РАДЕ
+СТЕВАНИЋ БОРИВОЈЕ
+СТЕВАНИЋ ДРАГОСЛАВ
+СТЕВАНИЋ ИВАН
+СТЕВАНИЋ МИОДРАГ
+СТЕВАНИЋ СЛОБОДАН
+СТЕВАНИЋ ВУКОМАН
+СТЕВАНОВ ЖИВАН
+СТЕВАНОВ ДРАГАНА
+СТЕВАНОВ ЕМИЛКА
+СТЕВАНОВ ГАВРА
+СТЕВАНОВ ЈЕЛЕНА
+СТЕВАНОВ ЉИЉАНА
+СТЕВАНОВ МАДЛЕН
+СТЕВАНОВ МИЛОРАД
+СТЕВАНОВ МИЛОВАН
+СТЕВАНОВ МИЛУТИН
+СТЕВАНОВ МЛАДЕН
+СТЕВАНОВ МЛАДЕН
+СТЕВАНОВ НАТАЛИЈА
+СТЕВАНОВ СТАНА
+СТЕВАНОВ СВЕТОЗАР
+СТЕВАНОВ ВЕСЕЛИН
+СТЕВАНОВ ВЛАДИМИР
+СТЕВАНОВ ЗЛАТОЈЕ
+СТЕВАНОВИЋ ЖИВАДИН
+СТЕВАНОВИЋ ЖИВКА
+СТЕВАНОВИЋ ЖИВОРАД
+СТЕВАНОВИЋ АДАМ
+СТЕВАНОВИЋ АЛЕКСАНДАР
+СТЕВАНОВИЋ БОШКО
+СТЕВАНОВИЋ БОРА
+СТЕВАНОВИЋ БРАНИСЛАВА
+СТЕВАНОВИЋ ДАНИЦА
+СТЕВАНОВИЋ ДЕСИМИР
+СТЕВАНОВИЋ ДРАГИША
+СТЕВАНОВИЋ ДРАГИЦА
+СТЕВАНОВИЋ ДРАГОСЛАВ
+СТЕВАНОВИЋ ДУШАН ДР
+СТЕВАНОВИЋ ГОРАН
+СТЕВАНОВИЋ ГОРАН
+СТЕВАНОВИЋ ЈАРОСЛАВ
+СТЕВАНОВИЋ ЈОВАН
+СТЕВАНОВИЋ ЉУБИША
+СТЕВАНОВИЋ МИЛАДИНКА
+СТЕВАНОВИЋ МИЛАДИН
+СТЕВАНОВИЋ МИЛЕНКО
+СТЕВАНОВИЋ МИЛЕ
+СТЕВАНОВИЋ МИЛИВОЈ
+СТЕВАНОВИЋ МИЛКА
+СТЕВАНОВИЋ МИЛОЉУБ
+СТЕВАНОВИЋ МИОМИР
+СТЕВАНОВИЋ МИРА
+СТЕВАНОВИЋ МЛАДЕНКА
+СТЕВАНОВИЋ-НЕЋАК СЛОБОДАНКА ДИПЛ ИНГ
+СТЕВАНОВИЋ НИКОСАВА
+СТЕВАНОВИЋ РАДОСЛАВ
+СТЕВАНОВИЋ РАЈКО
+СТЕВАНОВИЋ РАНКО ДР ЛЕКАР
+СТЕВАНОВИЋ РАТКО
+СТЕВАНОВИЋ РУЖА
+СТЕВАНОВИЋ САВА
+СТЕВАНОВИЋ СЛОБОДАН
+СТЕВАНОВИЋ СНЕЖАНА
+СТЕВАНОВИЋ СТОЈАДИН
+СТЕВАНОВИЋ СВИЈЕТЛАНА
+СТЕВАНОВИЋ ТОМИСЛАВ
+СТЕВАНОВИЋ ТОМИСЛАВ
+СТЕВАНОВИЋ ВЕРА
+СТЕВАНОВИЋ ВЛАДА
+СТЕВАНОВИЋ ВЛАСТИМИР
+СТЕВАНОВИЋ ЗЛАТКО ДР
+СТЕВАНОВИЋ ЗОРАН
+СТЕВАНОВИЋ ЗОРИЦА
+СТЕВАНОВСКИ ГОШЕ
+СТЕВАНОВСКИ СЛОБОДАН
+СТЕВИЋ ДОБРИВОЈЕ
+СТЕВИЋ ДУШАН
+СТЕВИЋ ГОРДАНА
+СТЕВИЋ ЉУБИША
+СТЕВИЋ НИКОЛА
+СТЕВИЋ ПЕТАР
+СТЕВИЋ СЛОБОДАН
+СТЕВИЋ СНЕЖАНА
+СТЕВИЋ СРБА
+СТЕВИЋ ВЕЛИМИР
+СТЕВИЋ ВОЈИСЛАВ
+СТЕВИН БОГДАН
+СТЕВИН БОРИСЛАВ
+СТЕВИН НАДА ДИПЛ ИНГ
+СТЕВИН РАДОЈЛА
+СТЕВОВИЋ АНКА
+СТЕВОВИЋ БОЖИДАР
+СТЕВОВИЋ БРАНИСЛАВ
+СТЕВОВИЋ ИВАН ДИПЛ ПРАВНИК
+СТЕВОВИЋ-ЛУКИЋ РАДМИЛА
+СТЕВОВИЋ МИЛОСАВА
+СТЕВОВИЋ ВОЈИН
+СТИЈАЧИЋ БРАНКО
+СТИЈАЧИЋ ПАВЛЕ
+СТИЈАЧИЋ СВЕТОЗАР
+СТИЈАКОВИЋ ДРАГАН
+СТИЈЕПОВИЋ АЛЕКСА
+СТИЈЕПОВИЋ МИЛИЈАНА
+СТИЈОВИЋ ИЛИЈА
+СТИЈОВИЋ ЈЕЛИСАВЕТА
+СТИЈОВИЋ МАРА
+СТИЈОВИЋ МИЛАН
+СТИКИЋ БИЉАНА
+СТИКИЋ ЈОВАН
+СТИКИЋ МОМИРКА
+СТИКОВИЋ РОСА
+СТИЛИНОВИЋ КОВИНКА
+СТИЛИНОВИЋ ЗВОНИМИР ДИПЛ ИНГ
+СТИПАНЧИЋ СТИПАН
+СТИПАНОВИЋ БЈЕЛИЦА
+СТИПАНОВИЋ ГОЈКО
+СТИПЕТИЋ ДРАГАН
+СТИПИЋ АНДРИЈА
+СТИПИЋ АНТЕ
+СТИПИЋ БУДЕ
+СТИПИЋ ГИЗЕЛА
+СТИПИЋ ЈАША
+СТИПИЋ НАДА
+СТИПИЋ ОЛИВЕРА
+СТИПИЋ СОЊА
+СТИПИЋ ВЕЉКО
+СТИСКАЛО ТИХОМИР
+СТЈЕЉА ДАНИЦА
+СТЈЕПЧЕВИЋ АНИЦА
+СТЈЕПАНОВИЋ БОЖО
+СТЈЕПАНОВИЋ БОРИВОЈЕ
+СТЈЕПАНОВИЋ ЦВЕЈА
+СТЈЕПАНОВИЋ ЈАСНА
+СТЈЕПАНОВИЋ ЈЕЛЕНА
+СТЈЕПАНОВИЋ ЈЕЛИСАВЕТА
+СТЈЕПАНОВИЋ ЈОВИЦА
+СТЈЕПАНОВИЋ СТАНКА
+СТЈЕПАНОВИЋ ТОМИСЛАВ
+СТЈЕПИЋ ЈОСИП
+СТЈЕПИЋ МИЈО
+СТОШИЋ ДРАГАН
+СТОШИЋ ДРАГАН
+СТОШИЋ ДРАГАН
+СТОШИЋ ДУШАН
+СТОШИЋ ДУШАН
+СТОШИЋ ДУШАН
+СТОШИЋ ЈЕЛЕНА
+СТОШИЋ МИЛИЦА
+СТОШИЋ НЕДЕЉКО
+СТОШИЋ РАДИВОЈ
+СТОШИЋ СЛАВИША
+СТОШИЋ СТОЈАДИН
+СТОШИЋ СТОЈАН
+СТОШИЋ ТАЊА
+СТОШИЋ ТОМИСЛАВ
+СТОШИЋ ВЛАДИМИР
+СТОШИЋ ВОЈИСЛАВ
+СТОШИЋ ЗОРАН
+СТОЖИНИЋ ДРАГИЊА
+СТОЕСКИ ЈЕВТИМ
+СТОГОВ АНАТОЛИЈ ДИПЛ ИНГ
+СТОИЉКОВИЋ ЖИКА
+СТОИЉКОВИЋ ДРАГОСЛАВ
+СТОИЉКОВИЋ ЈЕЛИЦА
+СТОИЉКОВИЋ ЈОВАН
+СТОИЉКОВИЋ МИЛОРАД
+СТОИЉКОВИЋ НЕНАД
+СТОИЉКОВИЋ СТОЈАН
+СТОИЛКОВСКИ БОРИС
+СТОИСАВЉЕВИЋ ЂУЈА
+СТОИСАВЉЕВИЋ МИЋО
+СТОЈЧЕВ МАРИЈА
+СТОЈЧЕВИЋ ИЛИЈА
+СТОЈЧЕВИЋ СТАНОЈКО
+СТОЈЧЕВСКИ БЛАГОЈА
+СТОЈЧЕВСКИ ТОМИСЛАВ
+СТОЈЧЕВСКИ ТОНЕ
+СТОЈЧИЋ ЂОРЂЕ
+СТОЈЧИЋ ЂУРО
+СТОЈЧИЋ ДЕСИМИР
+СТОЈЧИЋ ДУШАН
+СТОЈЧИЋ ЈЕЛЕНА
+СТОЈЧИЋ МИЛАН
+СТОЈЧИЋ МИЛАН
+СТОЈЧИЋ МИЛЕНКО
+СТОЈЧИЋ МИРОСЛАВ
+СТОЈЧИЋ НИКОЛА
+СТОЈЧИЋ СРЕЋКО
+СТОЈЧИЋ СРЕТКО
+СТОЈЧИНОВИЋ МАРКО
+СТОЈЧИНОВИЋ СИМО
+СТОЈШИЋ ЖИВАН
+СТОЈШИЋ ЂОРЂЕ
+СТОЈШИЋ ЂОРЂЕ
+СТОЈШИЋ БОЈКА
+СТОЈШИЋ ДАНЧИКА
+СТОЈШИЋ ДРАГИ
+СТОЈШИЋ ДУШАНКА
+СТОЈШИЋ ЈЕЛЕНА
+СТОЈШИЋ ЈОВАН
+СТОЈШИЋ ЈОВАН
+СТОЈШИЋ ЛАЗАР
+СТОЈШИЋ МАРИЈА
+СТОЈШИЋ МАРИЈА
+СТОЈШИЋ МАРИЈА
+СТОЈШИЋ МИЛАН ДИПЛ ИНГ
+СТОЈШИЋ МИЛАН
+СТОЈШИЋ МИЛАН
+СТОЈШИЋ МИЛИВОЈ
+СТОЈШИЋ МИЛКА
+СТОЈШИЋ МИЛОШ
+СТОЈШИЋ МИРА
+СТОЈШИЋ НАДА
+СТОЈШИЋ НАДА
+СТОЈШИЋ НЕГОВАН
+СТОЈШИЋ НЕНАД
+СТОЈШИЋ НЕВЕНКА
+СТОЈШИЋ НЕВЕНКА
+СТОЈШИЋ НИКОЛА
+СТОЈШИЋ ОЛГА
+СТОЈШИЋ ПЕТАР
+СТОЈШИЋ ПРОКОПИЈЕ
+СТОЈШИЋ ПРВОСЛАВ
+СТОЈШИЋ САВА
+СТОЈШИЋ САВА
+СТОЈШИЋ САВА
+СТОЈШИЋ СЛАВИЦА
+СТОЈШИЋ СМИЉА
+СТОЈШИЋ СОФИЈА
+СТОЈШИЋ СРБИСЛАВ
+СТОЈШИЋ СТАНОЈЕ
+СТОЈШИЋ СТЕВАН
+СТОЈШИЋ ТАТЈАНА
+СТОЈШИЋ ВЕРА
+СТОЈШИЋ ВИДОСАВА
+СТОЈШИЋ ВЛАДИМИР
+СТОЈШИЋ ВЛАДИМИР
+СТОЈШИЋ ВЛАДИМИР
+СТОЈШИЋ ВОЈИСЛАВ
+СТОЈШИЋ ВУЈАДИН ДИПЛ ИНГ
+СТОЈШИЋ ЗДРАВКО
+СТОЈШИН ЖАРКО
+СТОЈШИН ЂОРЂЕ
+СТОЈШИН ЂУРЂА
+СТОЈШИН ЂУРЂИНКА
+СТОЈШИН БОГОСЛОВ
+СТОЈШИН ДИМИТРИЈЕ
+СТОЈШИН ДОБРИВОЈ
+СТОЈШИН ДРАГАН
+СТОЈШИН ДУШАН
+СТОЈШИН ЕМИЛ
+СТОЈШИН ЕСТЕР
+СТОЈШИН ГАВРА
+СТОЈШИН ГРОЗДАНА
+СТОЈШИН ЈОВАН
+СТОЈШИН ЈОВАН
+СТОЈШИН ЛАЗАР
+СТОЈШИН МИЛАНКА
+СТОЈШИН МИЛАН
+СТОЈШИН МИЛАН
+СТОЈШИН МИЛИЦА
+СТОЈШИН МИЛОРАД
+СТОЈШИН МИЛОВАН
+СТОЈШИН НИКОЛА
+СТОЈШИН ОЛГА
+СТОЈШИН РАДА
+СТОЈШИН РАДОСЛАВ
+СТОЈШИН САВА
+СТОЈШИН САВА
+СТОЈШИН СИНИША
+СТОЈШИН СВЕТОЗАР
+СТОЈШИН ТОДОР
+СТОЈШИН ВАСА
+СТОЈШИН ВЕРА
+СТОЈШИН ЗЛАТА
+СТОЈА ЉИЉАНА
+СТОЈА МАРИЈА
+СТОЈА МИЛАНА
+СТОЈА СЛАЂАНА
+СТОЈА СЛОБОДАН ДР ЛЕКАР
+СТОЈА ВОЈИСЛАВ
+СТОЈАЧИЋ ДИМИТРИЈЕ
+СТОЈАЧИЋ МИЛАН
+СТОЈАЧИЋ НЕНАД
+СТОЈАЧИЋ ВЛАДИСЛАВ
+СТОЈАДИНОВ РАДИВОЈ
+СТОЈАДИНОВИЋ АНИЦА
+СТОЈАДИНОВИЋ БОРИСЛАВА
+СТОЈАДИНОВИЋ БОРИВОЈ
+СТОЈАДИНОВИЋ ДИМИТРИЈЕ
+СТОЈАДИНОВИЋ ДОБРИЛА
+СТОЈАДИНОВИЋ ДРАГАНА ЛЕКАР
+СТОЈАДИНОВИЋ ДРАГИЊА
+СТОЈАДИНОВИЋ ДРАГОСЛАВ
+СТОЈАДИНОВИЋ ЛАЗАР
+СТОЈАДИНОВИЋ ЉУБИША
+СТОЈАДИНОВИЋ МИЛАН
+СТОЈАДИНОВИЋ МИЛАН
+СТОЈАДИНОВИЋ МИЛЕВА
+СТОЈАДИНОВИЋ МИЛИЦА
+СТОЈАДИНОВИЋ МИЛИНКО
+СТОЈАДИНОВИЋ МИЛКА
+СТОЈАДИНОВИЋ МИЛОЈЕ
+СТОЈАДИНОВИЋ ПЕТАР
+СТОЈАДИНОВИЋ ПЕТАР
+СТОЈАДИНОВИЋ ПУНИША
+СТОЈАДИНОВИЋ СЛАВКО
+СТОЈАДИНОВИЋ СЛОБОДАН
+СТОЈАДИНОВИЋ СЛОБОДАН
+СТОЈАДИНОВИЋ СОФИЈА
+СТОЈАДИНОВИЋ СОФИЈА
+СТОЈАДИНОВИЋ СТЕВАН
+СТОЈАДИНОВИЋ ТАТЈАНА
+СТОЈАДИНОВИЋ ВЛАДЕТА
+СТОЈАК ЗОРИЦА
+СТОЈАКОВ БОЖИДАР
+СТОЈАКОВ МИЛОРАД
+СТОЈАКОВ СРБОСЛАВ
+СТОЈАКОВ СРБОСЛАВ
+СТОЈАКОВИЋ ЂУКАН
+СТОЈАКОВИЋ ЂУРО
+СТОЈАКОВИЋ БРАНИСЛАВА
+СТОЈАКОВИЋ ДИВНА
+СТОЈАКОВИЋ ДРАГАН
+СТОЈАКОВИЋ ЈЕЛКА
+СТОЈАКОВИЋ КОСТА
+СТОЈАКОВИЋ ЛАЗАР
+СТОЈАКОВИЋ МАРГИТА
+СТОЈАКОВИЋ МИХАЈЛО
+СТОЈАКОВИЋ МИЛАДИНКА
+СТОЈАКОВИЋ МИЛА
+СТОЈАКОВИЋ МИЛЕ
+СТОЈАКОВИЋ МИЛИСАВ
+СТОЈАКОВИЋ МИЛОВАН
+СТОЈАКОВИЋ НИКОЛА
+СТОЈАКОВИЋ РАДМИЛА
+СТОЈАКОВИЋ САВАН
+СТОЈАКОВИЋ СЛАВКО
+СТОЈАКОВИЋ СМИЉА
+СТОЈАКОВИЋ СТАНКО
+СТОЈАКОВИЋ СТЕВО
+СТОЈАКОВИЋ СВЕТОЗАР
+СТОЈАКОВИЋ ЗОРАН
+СТОЈАКОВИЋ ЗОРА
+СТОЈАНЧЕВ ГОРДАНА
+СТОЈАНЧЕВ ИВАН
+СТОЈАНЧЕВ РАДОМИР
+СТОЈАНЧЕВ СЛАВИЦА
+СТОЈАНЧЕВ ВАСА
+СТОЈАНЧИЋ ВЛАДА
+СТОЈАНАЦ БРАНКО
+СТОЈАНАЦ МИЛЕ
+СТОЈАНАЦ НИКОЛА
+СТОЈАНИЋ АНГЕЛИНА
+СТОЈАНОСКИ ДУШАН
+СТОЈАНОСКИ ГАВРИЛ
+СТОЈАНОВ БРАНКО
+СТОЈАНОВ БРАНКО
+СТОЈАНОВ ИВАН
+СТОЈАНОВ МИЛОВАН
+СТОЈАНОВ МИРЈАНА
+СТОЈАНОВ МЛАДЕН ДР
+СТОЈАНОВ НАДА
+СТОЈАНОВ НАДА
+СТОЈАНОВ ОЛГА
+СТОЈАНОВ РАДИВОЈЕ
+СТОЈАНОВ РАДОВАН
+СТОЈАНОВ САВА
+СТОЈАНОВ САВА
+СТОЈАНОВ СЕНКА
+СТОЈАНОВ СТАНКО
+СТОЈАНОВ СТЕВАН
+СТОЈАНОВ ВЕРА
+СТОЈАНОВ ВЛАДИМИР
+СТОЈАНОВ ВУКИЦА
+СТОЈАНОВ ЗОРАН
+СТОЈАНОВИЋ ЖИВКО
+СТОЈАНОВИЋ ЖИВКО
+СТОЈАНОВИЋ ЖИВКО
+СТОЈАНОВИЋ ЖИВОЈИН
+СТОЈАНОВИЋ ЖИВОРАД
+СТОЈАНОВИЋ ЂОРЂЕ
+СТОЈАНОВИЋ ЂОРЂЕ
+СТОЈАНОВИЋ ЂУРЂИЦА
+СТОЈАНОВИЋ ЂУРА
+СТОЈАНОВИЋ АЦА
+СТОЈАНОВИЋ АЛЕКСАНДАР
+СТОЈАНОВИЋ АЛЕКСАНДАР
+СТОЈАНОВИЋ АЛЕКСАНДАР
+СТОЈАНОВИЋ АЉОША
+СТОЈАНОВИЋ АНА
+СТОЈАНОВИЋ-БАЛИНТ БОЖАНА
+СТОЈАНОВИЋ БЛАГОЈЕ
+СТОЈАНОВИЋ БОШКО
+СТОЈАНОВИЋ БОШКО
+СТОЈАНОВИЋ БОШКО
+СТОЈАНОВИЋ БОЖИДАР
+СТОЈАНОВИЋ БОЖИДАР
+СТОЈАНОВИЋ БОБАН
+СТОЈАНОВИЋ БОГОЉУБ
+СТОЈАНОВИЋ БОРИСЛАВА
+СТОЈАНОВИЋ БОРИСЛАВ
+СТОЈАНОВИЋ БОРИВОЈЕ
+СТОЈАНОВИЋ БОРИВОЈ
+СТОЈАНОВИЋ БРАНИСЛАВ
+СТОЈАНОВИЋ БРАНИСЛАВ
+СТОЈАНОВИЋ БРАНИСЛАВ
+СТОЈАНОВИЋ БРАНКА
+СТОЈАНОВИЋ БРАНКА
+СТОЈАНОВИЋ БРАНКО
+СТОЈАНОВИЋ БРАНКО
+СТОЈАНОВИЋ БУДИМИР
+СТОЈАНОВИЋ ЦВИЈЕТА
+СТОЈАНОВИЋ ДАНИЦА
+СТОЈАНОВИЋ ДАНИЦА
+СТОЈАНОВИЋ ДАНИЛО
+СТОЈАНОВИЋ ДАНКА
+СТОЈАНОВИЋ ДАРИНКА ДР
+СТОЈАНОВИЋ ДЕСИМИР
+СТОЈАНОВИЋ ДОБРИЛА
+СТОЈАНОВИЋ ДОБРИЛА
+СТОЈАНОВИЋ ДОБРИЛА
+СТОЈАНОВИЋ ДОБРИНКА
+СТОЈАНОВИЋ ДРАГАН
+СТОЈАНОВИЋ ДРАГАН
+СТОЈАНОВИЋ ДРАГАН
+СТОЈАНОВИЋ ДРАГАН
+СТОЈАНОВИЋ ДРАГАН
+СТОЈАНОВИЋ ДРАГАН
+СТОЈАНОВИЋ ДРАГАН
+СТОЈАНОВИЋ ДРАГИША
+СТОЈАНОВИЋ ДРАГИША
+СТОЈАНОВИЋ ДРАГИЦА
+СТОЈАНОВИЋ ДРАГОЉУБ
+СТОЈАНОВИЋ ДРАГОЉУБ
+СТОЈАНОВИЋ ДРАГОМИР
+СТОЈАНОВИЋ ДРАГОСЛАВ
+СТОЈАНОВИЋ ДУШАН
+СТОЈАНОВИЋ ДУШИЦА
+СТОЈАНОВИЋ ГАВРИЛО
+СТОЈАНОВИЋ ГАВРО
+СТОЈАНОВИЋ ГОРАН
+СТОЈАНОВИЋ ГРАДИМИР
+СТОЈАНОВИЋ ИВКО
+СТОЈАНОВИЋ ЈАКОВ
+СТОЈАНОВИЋ ЈАСМИНА
+СТОЈАНОВИЋ-ЈЕФТОВИЋ БОСИЉКА
+СТОЈАНОВИЋ ЈЕЛЕНА
+СТОЈАНОВИЋ ЈЕЛЕНА
+СТОЈАНОВИЋ ЈЕЛИЦА
+СТОЈАНОВИЋ ЈОВАН
+СТОЈАНОВИЋ ЈОВАН
+СТОЈАНОВИЋ ЈУЛКА
+СТОЈАНОВИЋ КАТИЦА
+СТОЈАНОВИЋ КОНСТАНТИН
+СТОЈАНОВИЋ КОСТА
+СТОЈАНОВИЋ КРСТА
+СТОЈАНОВИЋ ЛАЗАР
+СТОЈАНОВИЋ ЛАЗАР
+СТОЈАНОВИЋ ЛЕОНА
+СТОЈАНОВИЋ ЉУБИША
+СТОЈАНОВИЋ ЉУБИЦА
+СТОЈАНОВИЋ ЉУБИНКО
+СТОЈАНОВИЋ ЉУБОМИР
+СТОЈАНОВИЋ ЉУБОМИР
+СТОЈАНОВИЋ МАРИЈА
+СТОЈАНОВИЋ МАРКО
+СТОЈАНОВИЋ МИША
+СТОЈАНОВИЋ МИЛАК
+СТОЈАНОВИЋ МИЛАН
+СТОЈАНОВИЋ МИЛАН
+СТОЈАНОВИЋ МИЛЕТА
+СТОЈАНОВИЋ МИЛЕ
+СТОЈАНОВИЋ МИЛИЦА
+СТОЈАНОВИЋ МИЛИЦА
+СТОЈАНОВИЋ МИЛИВОЈЕ
+СТОЈАНОВИЋ МИЛКА
+СТОЈАНОВИЋ МИЛОШ
+СТОЈАНОВИЋ МИЛОШ
+СТОЈАНОВИЋ МИЛОШ
+СТОЈАНОВИЋ МИЛОВАН
+СТОЈАНОВИЋ МИЛОВАН
+СТОЈАНОВИЋ МИЛОВАН
+СТОЈАНОВИЋ МИОДРАГ
+СТОЈАНОВИЋ МИОДРАГ
+СТОЈАНОВИЋ МИОМИР
+СТОЈАНОВИЋ МИРА
+СТОЈАНОВИЋ МИРЈАНА
+СТОЈАНОВИЋ МИРЈАНА
+СТОЈАНОВИЋ МИРОЉУБ
+СТОЈАНОВИЋ МИРОСЛАВ
+СТОЈАНОВИЋ МИРОСЛАВ
+СТОЈАНОВИЋ МИРОСЛАВ
+СТОЈАНОВИЋ МИРОСЛАВ
+СТОЈАНОВИЋ МИРО
+СТОЈАНОВИЋ МОМЧИЛО
+СТОЈАНОВИЋ МОМИР
+СТОЈАНОВИЋ НАДА
+СТОЈАНОВИЋ НАДА
+СТОЈАНОВИЋ НАСТАС
+СТОЈАНОВИЋ НЕДЕЉКО
+СТОЈАНОВИЋ НЕНАД
+СТОЈАНОВИЋ НЕНАД
+СТОЈАНОВИЋ НИКИЦА
+СТОЈАНОВИЋ НИКОЛА
+СТОЈАНОВИЋ НИКОЛА
+СТОЈАНОВИЋ НОВИЦА
+СТОЈАНОВИЋ НОВИЦА
+СТОЈАНОВИЋ ОБРАД
+СТОЈАНОВИЋ ОЛГА
+СТОЈАНОВИЋ ОСТОЈА
+СТОЈАНОВИЋ ПЕТАР
+СТОЈАНОВИЋ ПЕТАР
+СТОЈАНОВИЋ ПЕТАР
+СТОЈАНОВИЋ ПЕТАР
+СТОЈАНОВИЋ ПРВАН
+СТОЈАНОВИЋ РАДЕ
+СТОЈАНОВИЋ РАДЕ
+СТОЈАНОВИЋ РАДИСАВ
+СТОЈАНОВИЋ РАДМИЛА
+СТОЈАНОВИЋ РАДМИЛА
+СТОЈАНОВИЋ РАДМИЛА
+СТОЈАНОВИЋ РАДМИЛО
+СТОЈАНОВИЋ РАДОИЦА
+СТОЈАНОВИЋ РАДОМИР
+СТОЈАНОВИЋ РАДОМИР
+СТОЈАНОВИЋ РАДОВАН
+СТОЈАНОВИЋ РУЖИЦА
+СТОЈАНОВИЋ САША
+СТОЈАНОВИЋ САВА
+СТОЈАНОВИЋ-СИМИЋ ВЕСНА
+СТОЈАНОВИЋ СЛАВКО
+СТОЈАНОВИЋ СЛАВКО
+СТОЈАНОВИЋ СЛАВКО
+СТОЈАНОВИЋ СЛАВОЈКА
+СТОЈАНОВИЋ СЛАВОЉУБ
+СТОЈАНОВИЋ СЛОБОДАН
+СТОЈАНОВИЋ СЛОБОДАН
+СТОЈАНОВИЋ СЛОБОДАН
+СТОЈАНОВИЋ СРЂАН
+СТОЈАНОВИЋ СРБОЉУБ
+СТОЈАНОВИЋ СРЕТЕН
+СТОЈАНОВИЋ СРЕТЕН
+СТОЈАНОВИЋ СТАНИСЛАВ ДР ЛЕКАР
+СТОЈАНОВИЋ СТАНОЈЕ
+СТОЈАНОВИЋ СТАНОЈЕ
+СТОЈАНОВИЋ СТЕВАН ДР
+СТОЈАНОВИЋ СТЕВАН
+СТОЈАНОВИЋ СТЕВАН
+СТОЈАНОВИЋ СТЕВАН
+СТОЈАНОВИЋ СТЕВАН
+СТОЈАНОВИЋ СТОЈАН
+СТОЈАНОВИЋ СТОЈАН
+СТОЈАНОВИЋ СТОЛЕ
+СТОЈАНОВИЋ СВЕТИСЛАВ
+СТОЈАНОВИЋ СВЕТЛАНА
+СТОЈАНОВИЋ СВЕТОЗАР
+СТОЈАНОВИЋ ТИХОМИР ДР ИНГ
+СТОЈАНОВИЋ ТИХОМИР
+СТОЈАНОВИЋ ТОМИСЛАВ МР
+СТОЈАНОВИЋ ТОМИСЛАВ
+СТОЈАНОВИЋ ВАЛЕРИЈА
+СТОЈАНОВИЋ ВАСИЛИЈЕ
+СТОЈАНОВИЋ ВАСО
+СТОЈАНОВИЋ ВЕЛИМИР
+СТОЈАНОВИЋ ВЕЛИМИР
+СТОЈАНОВИЋ ВЕЉКО
+СТОЈАНОВИЋ ВЕРА
+СТОЈАНОВИЋ ВЕРА
+СТОЈАНОВИЋ ВЕСНА
+СТОЈАНОВИЋ ВЕСНА
+СТОЈАНОВИЋ ВЛАДИМИР
+СТОЈАНОВИЋ ВЛАДИМИР
+СТОЈАНОВИЋ ВЛАДИМИР
+СТОЈАНОВИЋ ВЛАДИМИР
+СТОЈАНОВИЋ ВЛАДИМИР
+СТОЈАНОВИЋ ВЛАДИМИР
+СТОЈАНОВИЋ ВЛАСТИМИР
+СТОЈАНОВИЋ ВОЈИСЛАВ
+СТОЈАНОВИЋ ВУКАШИН
+СТОЈАНОВИЋ ЗДРАВКО
+СТОЈАНОВИЋ ЗОРАН ДР
+СТОЈАНОВИЋ ЗОРАН
+СТОЈАНОВИЋ ЗОРАН
+СТОЈАНОВИЋ ЗОРАН
+СТОЈАНОВИЋ ЗОРКА
+СТОЈАНОВСКИ ЖИВКО
+СТОЈАНОВСКИ АНДРИЈА
+СТОЈАНОВСКИ БИЉАНА
+СТОЈАНОВСКИ БРАНИМИР
+СТОЈАНОВСКИ ДРАГАН ДИПЛ ОЕЦ
+СТОЈАНОВСКИ ЈОРДАН
+СТОЈАНОВСКИ ЉУБИША
+СТОЈАНОВСКИ ЉУБИЦА
+СТОЈАНОВСКИ ПАВЛЕ
+СТОЈАНОВСКИ ПАВЛЕ
+СТОЈАНОВСКИ САНЕ
+СТОЈАНОВСКИ СЛАВИЦА
+СТОЈАНОВСКИ ТОМО
+СТОЈЕВ СТОИЧКО
+СТОЈИЧИЋ ДЕСАНКА
+СТОЈИЧИЋ ГЛИГОРИЈЕ
+СТОЈИЧИЋ ЈАСМИНА
+СТОЈИЧИЋ ЈАСМИНА
+СТОЈИЧИЋ МИЛИЦА
+СТОЈИЧИЋ РОСА
+СТОЈИЧИЋ СЛАВКО
+СТОЈИЧИЋ ТОДОРА
+СТОЈИШИЋ ЂУРИЦА ДР
+СТОЈИЋ ЂУРЂИНКА
+СТОЈИЋ-АПИЋ СЛАВКА
+СТОЈИЋ БОГОЉУБ
+СТОЈИЋ БОГОЉУБ
+СТОЈИЋ БОГОЉУБ
+СТОЈИЋ БРАНКА
+СТОЈИЋ ДОБРИВОЈ
+СТОЈИЋ ДРАГИЊА
+СТОЈИЋ ДРАГОЉУБ
+СТОЈИЋ ДУШАН
+СТОЈИЋ ГАВРА
+СТОЈИЋ ГОЈКО
+СТОЈИЋ ГРАДИМИР
+СТОЈИЋ ИШТВАН
+СТОЈИЋ ЈУЛИЈАНА
+СТОЈИЋ КАТИЦА
+СТОЈИЋ ЉУБИНКА
+СТОЈИЋ МАРА
+СТОЈИЋ МАРИНКО
+СТОЈИЋ МИЛАН
+СТОЈИЋ МИЛЕНА
+СТОЈИЋ МИЛЕ
+СТОЈИЋ МИЛИЦА
+СТОЈИЋ МИОДРАГ ДР
+СТОЈИЋ МИОМИР
+СТОЈИЋ МИРКО
+СТОЈИЋ МЛАДЕН ДР ЛЕКАР
+СТОЈИЋ НЕДЕЉКО
+СТОЈИЋ НИКОЛА
+СТОЈИЋ СИНИША ДР
+СТОЈИЋ СЛАВКА
+СТОЈИЋ СТАНИСЛАВ
+СТОЈИЋ СВЕТЛАНА
+СТОЈИЋ СВЕТОЗАР
+СТОЈИЋ ТОДОР
+СТОЈИЋ ВАСА
+СТОЈИЋ ВУЧКО
+СТОЈИЋ ВУКАШИН
+СТОЈИЋ ЗОРАН
+СТОЈИЋЕВИЋ СЛОБОДАН
+СТОЈИЦ ЈОНЕЛ
+СТОЈИЉКОВИЋ БОЖИДАР
+СТОЈИЉКОВИЋ БОЖИДАР
+СТОЈИЉКОВИЋ БРАНИМИР ДИПЛ ОЕЦ
+СТОЈИЉКОВИЋ ДАМИР
+СТОЈИЉКОВИЋ ДАРКА
+СТОЈИЉКОВИЋ ГОРАН ДР
+СТОЈИЉКОВИЋ ГОРДАНА
+СТОЈИЉКОВИЋ ЈЕЛИЦА
+СТОЈИЉКОВИЋ ЉУБИША
+СТОЈИЉКОВИЋ ТОМИСЛАВ
+СТОЈИЉКОВИЋ ТОМИСЛАВ
+СТОЈИЉКОВИЋ ВИКТОР
+СТОЈИЛКОВИЋ МИЛЕТИЈЕ
+СТОЈИЛКОВИЋ МИЛЕ
+СТОЈИЛКОВИЋ СТОЈАН
+СТОЈИЛКОВИЋ ВАЛЕРИЈА
+СТОЈИЛОВ РАДОСЛАВ
+СТОЈИЛОВИЋ МИЛАН
+СТОЈИЛОВИЋ МИЛАН
+СТОЈИН ЧЕДОМИР
+СТОЈИН МИЛИВОЈ ДР ПРОФ
+СТОЈИН МИЛИВОЈ
+СТОЈИНОВ ЖИВКО
+СТОЈИНОВ БРАНКО
+СТОЈИНОВ ДУШАН
+СТОЈИНОВ ЈОВАН
+СТОЈИНОВ КАТАРИНА
+СТОЈИНОВ КАТИЦА
+СТОЈИНОВ ЉУБИЦА
+СТОЈИНОВ МИЛЕНКО
+СТОЈИНОВ ЗОРИЦА
+СТОЈИНОВИЋ ГОРАН
+СТОЈИНОВИЋ МАРИЦА
+СТОЈИСАВЉЕВИЋ ДУШАН
+СТОЈИСАВЉЕВИЋ ЈОВАНКА
+СТОЈИСАВЉЕВИЋ МИЛАН
+СТОЈИСАВЉЕВИЋ МИЛЕ
+СТОЈИСАВЉЕВИЋ СЛОБОДАН
+СТОЈИСАВЉЕВИЋ СЛОБОДАН
+СТОЈИСАВЉЕВИЋ ВЕЉКО
+СТОЈКОВ ЖАРКО
+СТОЈКОВ ЖИВОРАД
+СТОЈКОВ АЛЕКСАНДАР
+СТОЈКОВ БОГДАН
+СТОЈКОВ БОРИВОЈ
+СТОЈКОВ БРАНИСЛАВ
+СТОЈКОВ ДИМИТРИЈЕ
+СТОЈКОВ ДРАГИНА
+СТОЈКОВ ИВАН
+СТОЈКОВ ЈЕЛИЦА
+СТОЈКОВ ЈЕЛКА
+СТОЈКОВ ЈОВАН
+СТОЈКОВ ЈУЛКА
+СТОЈКОВ КАТИЦА
+СТОЈКОВ ЉУБИЦА
+СТОЈКОВ МИЛАН
+СТОЈКОВ МИЛАН
+СТОЈКОВ МИЛАН
+СТОЈКОВ МИЛЕНА
+СТОЈКОВ МИЛЕВКА
+СТОЈКОВ МИЛЕ
+СТОЈКОВ МИОДРАГ
+СТОЈКОВ МИОМИР
+СТОЈКОВ МИРОСЛАВ
+СТОЈКОВ МЛАДЕН
+СТОЈКОВ НЕГОВАН
+СТОЈКОВ РАДИВОЈ
+СТОЈКОВ РАДИВОЈ
+СТОЈКОВ СЛОБОДАН
+СТОЈКОВ СТЕВАН
+СТОЈКОВ СТОЈАН
+СТОЈКОВ СТОЈАН
+СТОЈКОВ ТОДОР
+СТОЈКОВ ВЕРИЦА
+СТОЈКОВ ВУКОСАВА
+СТОЈКОВ ЗДРАВКО
+СТОЈКОВИЋ-ШАЛБОТ БОЈАНА
+СТОЈКОВИЋ ЖИВКА
+СТОЈКОВИЋ ЖИВОТА
+СТОЈКОВИЋ ЂОРЂЕ
+СТОЈКОВИЋ ЂОРЂЕ
+СТОЈКОВИЋ АЛЕКСАНДАР
+СТОЈКОВИЋ АЛЕКСАНДАР
+СТОЈКОВИЋ АЛЕКСАНДАР
+СТОЈКОВИЋ АНЂЕЛКА
+СТОЈКОВИЋ АНАНИЈЕ
+СТОЈКОВИЋ АНТОНИЈЕ
+СТОЈКОВИЋ БЛАГОЈЕ
+СТОЈКОВИЋ БОЖИДАР
+СТОЈКОВИЋ БОЖИДАР
+СТОЈКОВИЋ БОРИСЛАВ
+СТОЈКОВИЋ БОРКО
+СТОЈКОВИЋ БРАНИСЛАВ
+СТОЈКОВИЋ ДРАГАН
+СТОЈКОВИЋ ДРАГАН
+СТОЈКОВИЋ ДРАГИЊА
+СТОЈКОВИЋ ДРАГОЉУБ
+СТОЈКОВИЋ ДРАГОЉУБ
+СТОЈКОВИЋ ДУШАНКА
+СТОЈКОВИЋ ДУШАНКА
+СТОЈКОВИЋ ДУШАН
+СТОЈКОВИЋ ДУШАН
+СТОЈКОВИЋ ДУШАН
+СТОЈКОВИЋ ГОРДАНА
+СТОЈКОВИЋ ГОРДАНА
+СТОЈКОВИЋ ГРАДИМИР
+СТОЈКОВИЋ ИЛИЈА
+СТОЈКОВИЋ ИВАН
+СТОЈКОВИЋ ЈЕЛЕНА
+СТОЈКОВИЋ ЈЕЛЕНА
+СТОЈКОВИЋ ЈЕЛЕНА
+СТОЈКОВИЋ-ЈОВАНОВИЋ СЛАВИЦА
+СТОЈКОВИЋ ЈОВАН
+СТОЈКОВИЋ ЈОВАН
+СТОЈКОВИЋ КАТИЦА
+СТОЈКОВИЋ КУЗМАН
+СТОЈКОВИЋ ЛЕНКА
+СТОЈКОВИЋ МАРИЈА
+СТОЈКОВИЋ МИЛАН
+СТОЈКОВИЋ МИЛАН
+СТОЈКОВИЋ МИЛАН
+СТОЈКОВИЋ МИЛЕНКО
+СТОЈКОВИЋ МИЛЕНКО
+СТОЈКОВИЋ МИЛЕНТИЈЕ
+СТОЈКОВИЋ МИЛОШ
+СТОЈКОВИЋ МИЛОВАН
+СТОЈКОВИЋ МИЛТЕН
+СТОЈКОВИЋ МИЛУТИН
+СТОЈКОВИЋ МИОДРАГ
+СТОЈКОВИЋ МИОДРАГ
+СТОЈКОВИЋ МИРЈАНА
+СТОЈКОВИЋ МИРЈАНА
+СТОЈКОВИЋ МИРЈАНА
+СТОЈКОВИЋ МИРЈАНА
+СТОЈКОВИЋ МИРЈАНА
+СТОЈКОВИЋ МИРКО
+СТОЈКОВИЋ МИРОСЛАВ
+СТОЈКОВИЋ МЛАДЕН
+СТОЈКОВИЋ НАДА
+СТОЈКОВИЋ ПАВЛЕ
+СТОЈКОВИЋ ПАВЛЕ
+СТОЈКОВИЋ ПЕТАР
+СТОЈКОВИЋ ПЕТАР
+СТОЈКОВИЋ ПЕТАР
+СТОЈКОВИЋ ПРЕДРАГ ДР
+СТОЈКОВИЋ РАДЕНКО
+СТОЈКОВИЋ РАДИСАВ ДИПЛ ИНГ
+СТОЈКОВИЋ РАДИВОЈЕ
+СТОЈКОВИЋ РАДМИЛА
+СТОЈКОВИЋ РАДМИЛА
+СТОЈКОВИЋ РАДОМИР
+СТОЈКОВИЋ РАДОСЛАВКА
+СТОЈКОВИЋ РАДОСЛАВ
+СТОЈКОВИЋ РАДОВАН ДИПЛ ИНГ
+СТОЈКОВИЋ САЊА
+СТОЈКОВИЋ СЛАВКА
+СТОЈКОВИЋ СЛАВОЉУБ
+СТОЈКОВИЋ СМИЉКА
+СТОЈКОВИЋ СТОЈАДИН
+СТОЈКОВИЋ ТЕОДОР
+СТОЈКОВИЋ ВЕЛИМИР
+СТОЈКОВИЋ ВЕЉКО
+СТОЈКОВИЋ ВЕРОСЛАВ
+СТОЈКОВИЋ ВЛАДИМИР
+СТОЈКОВИЋ ВЛАДИМИР
+СТОЈКОВИЋ ЗАГОРКА
+СТОЈКОВИЋ ЗЛАТИБОР
+СТОЈКОВИЋ ЗОРАН
+СТОЈКОВСКИ ДРАГАН
+СТОЈКОВСКИ ДРАГАН
+СТОЈЛОВИЋ ЂУЛА
+СТОЈМЕНОВИЋ ЖИВКО
+СТОЈМЕНОВИЋ ИВАН
+СТОЈМЕНОВИЋ ЈОВАН
+СТОЈМЕНОВИЋ МАРИЈА
+СТОЈМЕНОВИЋ ВЛАДА
+СТОЈМЕНОВИЋ ВОЈИСЛАВ
+СТОЈНИЋ БОШКО
+СТОЈНИЋ ДРАГАН
+СТОЈНИЋ ДРАГИЦА
+СТОЈНИЋ ДУШАН
+СТОЈНИЋ МИЛИЦА
+СТОЈНИЋ МИРКО
+СТОЈНИЋ ПАВЛЕ
+СТОЈНИЋ РАДОМИР
+СТОЈНИЋ СЛОБОДАН
+СТОЈНОВ ДАМЈАН
+СТОЈОВИЋ РАДОМИР
+СТОЈОВИЋ ТОМАШ
+СТОЈСАВЉЕВИЋ НИКОЛА
+СТОЈСАВЉЕВИЋ ПЕТАР
+СТОЈСАВЉЕВИЋ СТЕВАН
+СТОЈСАВЉЕВИЋ ТИХОМИР
+СТОКАНОВИЋ ЂОРЂЕ
+СТОКАНОВИЋ МИЛОРАД
+СТОКИЋ ЂОРЂЕ
+СТОКИЋ ДРАГОЉУБ
+СТОКИЋ ДУШАН
+СТОКИЋ ЈОВИЦА
+СТОКИЋ МИЛАН
+СТОКИЋ ТОДОР
+СТОКИН АЛЕСАНДАР
+СТОКИН БРАНКО
+СТОКИН МИЛИВОЈ
+СТОКИН СЛОБОДАН
+СТОКИН СТОЈАН
+СТОКУЋА ДАНЕ
+СТОКУЋА МИХАЈЛО
+СТОКУЋА МИЛАН
+СТОКУЋА МИЛАН
+СТОКУЋА МИЛАН
+СТОКУЋА МИРЈАНА
+СТОКУЋА НИКОЛА
+СТОКУЋА ПЕТАР
+СТОЛЕСКИ МИТИЈА
+СТОЛИЋ ЂУРО
+СТОЛИЋ БИСЕРКА
+СТОЛИЋ ДУШАН
+СТОЛИЋ ДУШАН
+СТОЛИЋ ДУШАН
+СТОЛИЋ КАТИЦА
+СТОЛИЋ ЉУБИЦА
+СТОЛИЋ МИРЈАНА
+СТОЛИЋ МИРОСЛАВ
+СТОЛИЋ МИРОСЛАВ
+СТОЛИЋ НЕНАД
+СТОЛИЋ ПЕТАР ДР
+СТОЛИЋ СРЕТА
+СТОЛИЋ СТЕВАН
+СТОПИНШЕК СТАНИСЛАВ
+СТРАЖМЕШТЕР БОЖИДАР
+СТРАЖМЕШТЕР ДУШАН
+СТРАЖМЕШТЕРОВ ДИМИТРИЈЕ
+СТРАЖМЕШТЕРОВ МИЛИЦА
+СТРАЖМЕШТЕРОВ МИРОСЛАВ ДИПЛ ИНГ
+СТРАЖМЕШТЕРОВ САВА
+СТРАЖМЕШТЕРОВ СОФИЈА
+СТРАЖМЕШТЕРОВ СТЕВАН
+СТРАЦЕНСКИ МИРОСЛАВ
+СТРАЦЕНСКИ СТЕВАН
+СТРАГА СТЈЕПАН
+СТРАХИНИЋ КРСТОМИР
+СТРАЈИН БРАНИСЛАВА
+СТРАЈИН ЈЕЛЕНА
+СТРАЈИН НАДА
+СТРАЈИН РАДОВАН
+СТРАЈИН СТОЈАН
+СТРАЈИН ВЕЛИЗАР
+СТРАЈИНИЋ БОЖИДАР
+СТРАЈИНИЋ ИРЕНА
+СТРАЈИНИЋ ЈОВАН
+СТРАЈИНИЋ ЛАЗАР
+СТРАЈИНИЋ МИЛУТИН
+СТРАЈНИЋ БРАНКО
+СТРАЈНИЋ ДУШАН
+СТРАЈНИЋ ГРУЈА
+СТРАЈНИЋ МАРИЈА
+СТРАЈНИЋ МИЛАНКО
+СТРАЈНИЋ МИЛАН
+СТРАЈНИЋ МЛАДЕН
+СТРАЈНИЋ ПАЛ
+СТРАЈНИЋ ТОША
+СТРАНИЋ ЈОВИЦА
+СТРАЊАКОВИЋ ЖИВОЈИН
+СТРАЊАНАЦ МИЛОРАД
+СТРАЊАНАЦ МИРОСЛАВ
+СТРБАЧКИ ФРИДОЛИНА
+СТРБАЧКИ СТЕВАН
+СТРБАД СТЕВАН
+СТРБАТ ТОМИСЛАВ
+СТРЕХОВСКИ ЗУЗАНА
+СТРЕЛЕ РАША
+СТРЕЗОСКИ ЈОВАН
+СТРЕЗОСКИ МИЛЕСА
+СТРЕЗОСКИ НИКОДИНКА
+СТРЕЗОСКИ ВЛАДИМИР
+СТРГАР ПЕТАР
+СТРИЧЕВИЋ ДАРА
+СТРИЧЕВИЋ ДУШАН
+СТРИЧЕВИЋ ЈОСИП
+СТРИЧЕВИЋ ЈУЛКА
+СТРИЧЕВИЋ КСЕНИЈА
+СТРИЧЕВИЋ ЉУБОМИР
+СТРИЧЕВИЋ МЛАДЕН
+СТРИЧЕВИЋ РАДИВОЈ
+СТРИЧЕВИЋ САВКА
+СТРИЧЕВИЋ ВЕЛИМИР
+СТРИЧЕВИЋ ВЛАДИСЛАВА
+СТРИЧКО ВЛАДИМИР
+СТРИБЕР ЕМИЛ
+СТРИБЕР ФРАЊА
+СТРИБЕР ФРАЊА
+СТРИБЕР МИХАЈЛО
+СТРИБЕР СТЕВАН
+СТРИБЕР СТЕВАН
+СТРИЦКИ ИВАН
+СТРИКА ЂОРЂЕ
+СТРИКА БРАНКО
+СТРИКОВИЋ ЋАМИЛ
+СТРИКОВИЋ БЕЛИ
+СТРИКОВИЋ ЈАНОШ
+СТРИКОВИЋ МИЛОСАВ
+СТРИКОВИЋ РАДОСЛАВ
+СТРИКОВИЋ ВЕРА
+СТРИНЕКА КАТИЦА
+СТРИЗОВИЋ ЉИЉАНА
+СТРИЗОВИЋ МАКСИМ
+СТРУГАР ЖАРКО
+СТРУГАР ЖИВОРАД
+СТРУГАР ГОРАН
+СТРУГАР ЈОСИП
+СТРУГАР МИЛУТИН
+СТРУГАР ПАВЛЕ
+СТРУГАР РАДМИЛА
+СТРУГАР СОЊА
+СТРУГАР ВОЈИСЛАВ
+СТРУГАР ЗАРИЈА
+СТРУХАР АНА
+СТРУХАР ЈАРМИЛА
+СТРУХАР ЈОСИП
+СТРУХАР МАГДА
+СТРУХАРИК ЈОСИП
+СТРУХАРИК ЈОСИП
+СТРУХАРИК-ЈУР РАСТИСЛАВ
+СТРУХАРИК ЈУРАЈ ДР
+СТРУХАРИК МАРЈЕНА
+СТРУХАРИК МАТО
+СТРУХАРИК ПАВЛЕ
+СТРУКАН ДОМАГОЈ ДР
+СТРУЊАШ ГОРДАНА
+СТУБЛИНАЦ МИЛОШ
+СТУДЕН ЖИВОРАД
+СТУЛАР ДУШАН
+СТУПАР ЧЕДА
+СТУПАР ЖЕЉКО
+СТУПАР ЖИВКО
+СТУПАР ЂОРЂЕ
+СТУПАР БОГОЉУБ
+СТУПАР БОРО
+СТУПАР БОСИЉКА
+СТУПАР БРАНКО
+СТУПАР БРАНКО
+СТУПАР БРАНКО
+СТУПАР ЦВЕТА
+СТУПАР ДЕСАНКА
+СТУПАР ДРАГАН
+СТУПАР ДРАГО
+СТУПАР ДУШАНКА
+СТУПАР ДУШАН
+СТУПАР ДУШАН
+СТУПАР ДУШАН
+СТУПАР ИЛИЈА
+СТУПАР ЈАЊА
+СТУПАР ЈАНКО
+СТУПАР ЈОВО
+СТУПАР ЉУБИНКА
+СТУПАР МАРКО
+СТУПАР МАРКО
+СТУПАР МИЉА
+СТУПАР МИЛКА
+СТУПАР МИЛОРАД
+СТУПАР МИЛОРАД
+СТУПАР МИРЈАНА
+СТУПАР МИРКО
+СТУПАР НИКОЛА
+СТУПАР ПЕРО
+СТУПАР ПЕТАР
+СТУПАР ПЕТАР
+СТУПАР РАДА
+СТУПАР РАДЕ
+СТУПАР РАЈКО
+СТУПАР РАЈКО
+СТУПАР РАЈКО
+СТУПАР СЛАЂАНА
+СТУПАР ВЛАДИМИР
+СТУПАР ЗДРАВКО
+СТУПАР ЗОРАН
+СТУПАВСКИ АНДРЕЈ
+СТУПАВСКИ ЈАНКО
+СТУПИЋ СЛАВЕНКО
+СТУПИН ИВАН
+СТУПИН ЗВОНИМИР
+СТУРАР ЗДРАВКО
+СТВОРИЋ ПАВЛЕ
+СУЧЕВИЋ ДАНЕ ДИПЛ ПРАВНИК
+СУЧЕВИЋ ДРАГАН
+СУЧЕВИЋ ДУШАН
+СУЧЕВИЋ МАРИЈА
+СУЧЕВИЋ МАРТА
+СУЧЕВИЋ МИРОСЛАВ
+СУЧЕВИЋ НИКОЛА
+СУЧЕВИЋ НИКОЛА
+СУЧЕВИЋ РУЖИЦА
+СУША ДАНИЛО
+СУША МАРКО
+СУША МИЛИЈАНА
+СУШАЦ ВИНКО
+СУШИЋ ГОРДАНА
+СУШИЋ ХИЛДА
+СУШИЋ РАДА
+СУШИЋ ВУЈАНА
+СУЂИ ЈОВАН
+СУЂИ МАРИЈА
+СУЂИ СТАНКО
+СУБАШИЋ БОРИСЛАВ
+СУБАШИЋ ЈУЛКА
+СУБАШИЋ ЛАЗАР
+СУБАШИЋ МАРКО
+СУБАШИЋ МИЛАН
+СУБАШИЋ НИКОЛА
+СУБАШИЋ ПЕРО
+СУБАШИЋ ПЕТАР МР
+СУБАШИЋ РАЈКО
+СУБАШИЋ СИМА
+СУБАШИЋ СТОЈАН
+СУБАЈКОВ РАДОЈКА
+СУБАКОВ КОВИЉКА
+СУБАКОВ СМИЉКА
+СУБАКОВ СОФИЈА
+СУБАНОВИЋ МИЛАН
+СУБИЋ ЖАРКО
+СУБИЋ ЂОРЂЕ
+СУБИЋ АЛЕКСАНДАР
+СУБИЋ АНЂЕЛКА
+СУБИЋ БОЖЕНА
+СУБИЋ БОЖИДАР
+СУБИЋ БРАНИСЛАВ
+СУБИЋ ДАМИР
+СУБИЋ ДАРА
+СУБИЋ ДИМИТРИЈЕ
+СУБИЋ ДУШАН
+СУБИЋ ГОРДАНА
+СУБИЋ ЈОВАН
+СУБИЋ КОСТА
+СУБИЋ ЛАЗАР
+СУБИЋ ЛАЗАР
+СУБИЋ ЛАЗАР
+СУБИЋ ЉУБИЦА
+СУБИЋ ЉУБОМИР
+СУБИЋ ЉУБОМИР
+СУБИЋ ЉУБОМИР
+СУБИЋ МАРИЈА
+СУБИЋ МАРКО
+СУБИЋ МАРКО
+СУБИЋ МИЛАН
+СУБИЋ МИРОСЛАВА
+СУБИЋ МЛАДЕН
+СУБИЋ НАДА
+СУБИЋ НЕДЕЉКА
+СУБИЋ НЕДЕЉКО
+СУБИЋ НОВАК
+СУБИЋ ОЛГА
+СУБИЋ ПАЈА
+СУБИЋ РАДИВОЈ
+СУБИЋ РАДОСЛАВ
+СУБИЋ СМИЉА
+СУБИЋ СНЕЖАНА
+СУБИЋ СТЕВАН
+СУБИЋ ЗОРАН
+СУБОТИЧКИ БРАНИСЛАВ
+СУБОТИЧКИ ГОРИЦА
+СУБОТИЧКИ КАТИЦА
+СУБОТИЧКИ ЛУКА
+СУБОТИЧКИ МИРЈАНА
+СУБОТИЧКИ МИРКО
+СУБОТИЧКИ НАДА
+СУБОТИЧКИ НЕСТОР ДИПЛ ИНГ
+СУБОТИЧКИ РАДОВАН
+СУБОТИЧКИ САВА
+СУБОТИЧКИ СЛОБОДАН
+СУБОТИЧКИ СОФИЈА
+СУБОТИЧКИ СВЕТИСЛАВ
+СУБОТИЧКИ ВАСА
+СУБОТИЧКИ ВЕРА
+СУБОТИЧКИ ВЛАДИМИР
+СУБОТИЧКИ ЗОРАН
+СУБОТИЋ ЖАРКО
+СУБОТИЋ ЂОРЂЕ
+СУБОТИЋ ЂУРО
+СУБОТИЋ АЛЕКСАНДАР
+СУБОТИЋ БРАНИСЛАВ ДР
+СУБОТИЋ ДРАГУТИН
+СУБОТИЋ ДУШАН
+СУБОТИЋ ДУШАН
+СУБОТИЋ ЉИЉАНА
+СУБОТИЋ ЉУБИЦА
+СУБОТИЋ МАЦА
+СУБОТИЋ МАРКО
+СУБОТИЋ МИЛИВОЈ
+СУБОТИЋ МИЛОШ
+СУБОТИЋ МИЛОРАД
+СУБОТИЋ МИОДРАГ ДИПЛ ИНГ
+СУБОТИЋ НЕНАД
+СУБОТИЋ РАДИВОЈ
+СУБОТИЋ РАДОШ
+СУБОТИЋ РАЈКО
+СУБОТИЋ РАЈКО
+СУБОТИЋ РУЖА
+СУБОТИЋ РУЖА
+СУБОТИЋ САВА
+СУБОТИЋ СЛОБОДАН
+СУБОТИЋ СТАНА
+СУБОТИЋ СВЕТОЗАР
+СУБОТИЋ СВЕТОЗАР
+СУБОТИЋ ТОМИСЛАВ
+СУБОТИЋ ВЕРА
+СУБОТИЋ ВЛАДАНА
+СУБОТИН ЖИВКО
+СУБОТИН ЖИВКО
+СУБОТИН ЂОРЂЕ
+СУБОТИН ЂОРЂЕ
+СУБОТИН ЂУРА
+СУБОТИН БОГДАН
+СУБОТИН БОГДАН
+СУБОТИН ДАНИЦА
+СУБОТИН ДИМИТРИЈЕ
+СУБОТИН ДРАГАН
+СУБОТИН ДРАГИЊА
+СУБОТИН ДУШАНКА
+СУБОТИН ИРИНА
+СУБОТИН ИВАН
+СУБОТИН ЈЕЛЕНА
+СУБОТИН ЈЕЛИЦА
+СУБОТИН ЉИЉАНА
+СУБОТИН ЉУБИНКА
+СУБОТИН МАРКО
+СУБОТИН МАРКО
+СУБОТИН МАРКО
+СУБОТИН МИЛАН
+СУБОТИН МИЛАН
+СУБОТИН МИЛАН
+СУБОТИН МИЛОРАД
+СУБОТИН НЕВЕНКА
+СУБОТИН ПАВЛЕ
+СУБОТИН ПЕТАР
+СУБОТИН ПРЕДРАГ
+СУБОТИН РАДОСЛАВ
+СУБОТИН РАДОВАН
+СУБОТИН САША
+СУБОТИН САВА
+СУБОТИН САВА
+СУБОТИН САВА
+СУБОТИН СЛОБОДАН
+СУБОТИН СМИЉА
+СУБОТИН СТАНКА
+СУБОТИН СТЕВАН
+СУБОТИН СТЕВАН
+СУБОТИН СВЕТОЗАР
+СУБОТИН СВЕТОЗАР
+СУБОТИН СВЕТОЗАР
+СУБОТИН ЗОРА
+СУБУ ЂОРЂЕ
+СУЏУКОВИЋ НИКОЛА
+СУЏУМ БОШКО
+СУЏУМ БОГДАН
+СУЏУМ ИЛИЈА
+СУДАК ВЛАДИМИР
+СУДАР ДУШАН
+СУДАР ДУШАН
+СУДАР ГАЈА
+СУДАР ВОЈИН
+СУДАРЕВИЋ БОШКО
+СУДАРОВ БРАТИСЛАВ
+СУДАРСКИ ДУШАН
+СУДИМАЦ ДРАГО
+СУДИМАЦ МИЛАН
+СУХАНЕК АДАМ
+СУХАНСКИ СТЕВАН
+СУХОВСКИ ЈАНО
+СУИЋ БРАНКО
+СУИЋ НЕНАД
+СУЈЕР МИХАЈЛО
+СУЈИЋ ЈЕЛЕНА
+СУЈИЋ МИЛАН
+СУЈИЋ СОФИЈА
+СУЈИЋ ВОЈИН
+СУЈИЋ ЗДЕНКА
+СУКАЧ МИХАЈЛО
+СУКЊАЈА ДАНИЛО
+СУКНОВИЋ МИРКО
+СУКНОВИЋ РАДИВОЈЕ
+СУКНОВИЋ СЛАВКО
+СУКОЛА АНТАЛ
+СУКОЛА СУЗАНА
+СУКУП МАРГИТА
+СУЛЕЈМАНОВ НАФИЈА
+СУЛИЋ МАРИЦА
+СУЛИЋ ТОМИСЛАВ
+СУЉА РАМАДАН
+СУЉАГИЋ РЕФИК
+СУЛОЦКИ ЈОШКА
+СУЛОМАР АГНЕЗА
+СУЛОМАР ЕРЖЕБЕТ
+СУЛОМАР ИЛОНА
+СУЛОМАР ЈАНОШ
+СУЛОМАР МАГДА
+СУМАН МИЛЕ
+СУМАРОВ ЈЕЛИСАВЕТА
+СУМИНА ДАНИЦА
+СУМИЊА МИША
+СУНАЈКО ЂУРО
+СУНАЈКО ДУШАН
+СУНДАЋ ЂУРА
+СУНДАЋ ТОДОР
+СУНИЋ МИРЈАНА
+СУНКА ЉУБИЦА
+СУНТОК АНИЦА
+СУНЗЕР ВЛАДИМИР
+СУПИЋ БОРИША
+СУПИЋ ДАРИНКА
+СУПИЋ МИЛАН
+СУПИЋ ОЛГА
+СУРЋА ЈОСИП
+СУРЋА ТРАЈАН
+СУРА МАРГИТА
+СУРДУЧАН ДИМИТРИЈЕ
+СУРДУЧКИ ЖИВКО
+СУРДУЧКИ ДРАГАН
+СУРДУЧКИ ИЛИЈА
+СУРДУЧКИ ИЛИЈА
+СУРДУЧКИ ИСИДОР
+СУРДУЧКИ МАРА
+СУРДУЧКИ МИЛАН
+СУРДУЧКИ МИЛОШ
+СУРДУЧКИ МИЛОШ
+СУРДУЧКИ МИРЈАНА
+СУРДУЧКИ НЕБОЈША
+СУРДУЧКИ ПАНТЕЛИЈА
+СУРДУЧКИ ПЕРСА
+СУРДУЧКИ СИНИША
+СУРДУЧКИ СТАНКА
+СУРДУЧКИ СТЕВАН
+СУРЛА БОЖО
+СУРЛА ДУШАН
+СУРЛА ЛУКА
+СУРЛА ПЕТАР
+СУРЛА ПЕТАР
+СУРЛА САВА
+СУРЛА ЗОРАН
+СУРЛИЋ МИЛЕНКО
+СУРОВИ АНТОН
+СУРОВИ ЈОЛАНКА
+СУРОВИ МИХАЛ
+СУРОВИ МИРОСЛАВ
+СУРОВИ СТЕВАН
+СУРОВИ ВЛАДИМИР
+СУСЕДСКИ ОСКАР
+СУТАРИЋ ВЕРА
+СУТРИН БОРИС
+СУТУРОВИЋ ЈАГА
+СУТУРОВИЋ МАРИЈА
+СУТУРОВИЋ НЕСТО
+СУТУРОВИЋ ЗВОНИМИР
+СУВАЧАР ИЛИНКА
+СУВАЧАР ТОДОР
+СУВАЧАР ВЕРА
+СУВАЧАРЕВ БОРИСЛАВА
+СУВАЧАРЕВ ЈОВАН
+СУВАЧАРЕВ МАРИЈА
+СУВАЧАРЕВ МИЛЕНКО
+СУВАЧАРЕВ МОМИР
+СУВАЧАРЕВ ОБРАД
+СУВАЧАРЕВ ПАЈА
+СУВАЧАРЕВ РАДЕНКО
+СУВАЈЧЕВИЋ СВЕТИСЛАВ
+СУВАЈАЦ ЖЕЉКО
+СУВАЈАЦ ВАСИЛИЈЕ
+СУВАЈЏИЋ ЖИВКО
+СУВАЈЏИЋ ЂОРЂЕ
+СУВАЈЏИЋ ЂОРЂЕ
+СУВАЈЏИЋ ДИМИТРИЈЕ
+СУВАЈЏИЋ ГОЈКО
+СУВАЈЏИЋ ИЛИЈА
+СУВАЈЏИЋ ИСА
+СУВАЈЏИЋ ЈОВАН
+СУВАЈЏИЋ ЉИЉАНА
+СУВАЈЏИЋ МАРИЈА
+СУВАЈЏИЋ МАРИНКО
+СУВАЈЏИЋ МИЛКА
+СУВАЈЏИЋ НЕНАД
+СУВАЈЏИЋ НЕНАД
+СУВАЈЏИЋ ОБРАД
+СУВАЈЏИЋ ОЛГИЦА
+СУВАЈЏИЋ ПЕТАР
+СУВАЈЏИЋ РАДМИЛА
+СУВАЈЏИЋ ВАСА
+СУВАЈЏИЋ ВАСА
+СУВАЈЏИН ЈОВАН
+СУВАЈЏИН ЈОВАН
+СУВАЈЏИН МЛАДЕН
+СУВАЈЏИН НИКОЛА
+СУЗИЋ МАРА
+СУЗИЋ МИРКО
+СУЗИЋ НИКОЛА
+СУЗИЋ СОФИЈА
+СВАЛИНА КАТА
+СВЕЋЊАК БРАНКО
+СВЕТИЋ ИВАН ДР
+СВЕТИЋ ИВАН
+СВЕТИЋ ЉЕРКА
+СВЕТЛИК АДАМ
+СВИЛАКОС МАРИЈА
+СВИЛАР АНЂЕЛКА
+СВИЛАР БРАНИСЛАВ
+СВИЛАР ГОЈКО
+СВИЛАР ЉУБОМИР
+СВИЛАР МИХАЈЛО
+СВИЛАР МИХАЈЛО
+СВИЛАР НИКОЛА
+СВИЛАР ПЕТАР
+СВИЛАР РАДОМИР
+СВИЛАР РАТКО
+СВИЛАР СЛАВИЦА
+СВИЛАР СОФИЈА
+СВИЛАР ВЕРИЦА
+СВИЛАР ВИНКА
+СВИЛАРЕВИЋ СТЕВО
+СВИЛАРКОВИЋ СТАНИМИР ДИПЛ ИНГ
+СВИЛАРОВ МИЛАН
+СВИЛОКОС БОРИСЛАВ
+СВИЛОКОС ГАВРА
+СВИЛОКОС КАТИЦА
+СВИЛОКОС МИЛАН
+СВИЛОКОС СТЕВАН
+СВИЊАРЕВИЋ СЛАВКО
+СВИРЧЕВ ЖИВКО
+СВИРЧЕВ ЈОВАН
+СВИРЧЕВ МИЛИВОЈ
+СВИРЧЕВ МИЛОШ
+СВИРЧЕВ РАДА
+СВИРЧЕВИЋ АЛЕКСАНДАР ДР ДОЦЕНТ
+СВИРЧЕВИЋ АНА
+СВИРЧЕВИЋ БОРИСЛАВ
+СВИРЧЕВИЋ ДРАГАН
+СВИРЧЕВИЋ ДРАГА
+СВИРЧЕВИЋ ДРЕНКА
+СВИРЧЕВИЋ ЈОВАН
+СВИРЧЕВИЋ ЈОВАН
+СВИРЧЕВИЋ ЉУБОМИР
+СВИРЧЕВИЋ МИЛИВОЈ
+СВИРЧЕВИЋ МИЛОРАД
+СВИРЧЕВИЋ МИРЈАНА
+СВИРЧЕВИЋ ПЕТАР
+СВИРЧЕВИЋ РАДОВАН
+СВИРЧЕВИЋ СЛАВКО
+СВИРЧЕВИЋ СТЕВАН
+СВИРЧЕВИЋ ТЕОДОРА
+СВИРЧЕВИЋ-ТРАЈКОВИЋ ЉУБИЦА
+СВИРЧЕВИЋ ВАСА
+СВИРЧЕВИЋ ВУКАН
+СВИРАЦ РУЖИЦА
+СВИТИЋ БОЖО
+СВИТЛИЦА ДРАГАН
+СВИТЛИЦА ДУШАН
+СВИТЛИЦА ГОЈКО ДИПЛ ОЕЦ
+СВИТЛИЦА ЈЕЛИЦА
+СВИТЛИЦА МИЛАН
+СВИТЛИЦА РУЖИЦА
+СВИТЛИЦА СИМО
+СВИТЛИЦА СТАНКО
+СВИТЛИЦА ТАНАСИЈЕ ДИПЛ ОЕЦ
+СВИТЛИЦА ВЕРА
+СВОБОДА СТЕВАН
+СВОРЦАН БРАНИСЛАВ
+СВОРЦАН ЉУБОМИР
+СВОРЦАН МИЛОШ
+СВОРЦАН МИЛОРАД
+СВОРЦАН МИЛОРАД
+СВОРЦАН РАДИСЛАВ
+СВОРЦАН РАДОМИР
+СВОРЦАН СТЕВАН
+СВОРЦАН СТОЈАН
+СВОРЦАН ЗОРИЦА
+СВРДЛАН МЛАЂАН
+СВРКОТА ЖИВКО
+СВРКОТА ВУКОМАН
+СВРЗИЋ ГОРДАНА
+ТАЧИ ИСМАИЉ
+ТАЧИ ТЕОФИЛ
+ТАШ КАРОЉ
+ТАШЕВСКИ МИЛКА
+ТАШЕВСКИ СОФИЈА
+ТАШИ ЉУБИЦА
+ТАШИ ПЕТАР
+ТАШИ РОЗАЛИЈА
+ТАШИ СТЕВАН
+ТАШИ ЗОЛТАН
+ТАШИЋ МИЛИВОЈ
+ТАШИЋ ВЕРА
+ТАШНАДИ МИХАЉ
+ТАБШ НАДА
+ТАБШ НОХАДЕДИН
+ТАБАЧКИ ВЛАДИМИР
+ТАБАЧКИ ЗОРИЦА
+ТАБАК ДРАГАН
+ТАБАК ИВАН
+ТАБАК ВАСА
+ТАБАК ВОЈИСЛАВ
+ТАБАКОВ ДРАГОМИР
+ТАБАКОВ МИЛЕНКО
+ТАБАКОВ МЛАДЕН
+ТАБАКОВИЋ ЂОРЂЕ ДИПЛ ИНГ
+ТАБАКОВИЋ ДУШАН
+ТАБАКОВИЋ ИСМЕТ
+ТАБАКОВИЋ МИРКО
+ТАБОРИ ЂОРЂЕ ДР ЛЕКАР
+ТАЦОВИЋ ВЕРА
+ТАДИЋ ЖИВАН
+ТАДИЋ ЂОРЂЕ
+ТАДИЋ ЂОРЂЕ
+ТАДИЋ АЛЕКСАНДАР
+ТАДИЋ АНА
+ТАДИЋ АРСЕНИЈЕ
+ТАДИЋ БОСИЉКА
+ТАДИЋ ДАНИЛО
+ТАДИЋ ДРАГАН
+ТАДИЋ ДРАГА
+ТАДИЋ ДУШАН
+ТАДИЋ ДУШАН
+ТАДИЋ ДУШАН
+ТАДИЋ ЕДИТА
+ТАДИЋ ГОРАН
+ТАДИЋ ИЛИЈА
+ТАДИЋ ИЛИЈА
+ТАДИЋ ИВАН
+ТАДИЋ ЈОВИЦА
+ТАДИЋ КРАСИМИР
+ТАДИЋ ЛАЗАР
+ТАДИЋ ЛАЗАР
+ТАДИЋ МАРИЈА
+ТАДИЋ МАРИНКО
+ТАДИЋ МАРИНКО
+ТАДИЋ МИЈО
+ТАДИЋ МИЛОШ ДИПЛ ИНГ
+ТАДИЋ МИЛОШ
+ТАДИЋ МИЛОЈЕ
+ТАДИЋ МИЛОСАВ
+ТАДИЋ МИРКО
+ТАДИЋ МИРКО
+ТАДИЋ МИРКО
+ТАДИЋ НАДА
+ТАДИЋ НЕВЕНКА
+ТАДИЋ ОБРЕН
+ТАДИЋ ПЕТАР
+ТАДИЋ РАДОЈЕ
+ТАДИЋ РАТКО
+ТАДИЋ САША
+ТАДИЋ САВА
+ТАДИЋ СЛОБОДАН
+ТАДИЋ СОФИЈА
+ТАДИЋ СПАСОЈЕ
+ТАДИЋ СТОЈАН
+ТАДИЋ ТАНКОСАВА
+ТАДИЋ УРОШ
+ТАДИЋ ВЕСЕЛИН
+ТАДИЋ ЗОРАН
+ТАДИЋ ЗОРА
+ТАДИЋ ЗОРКА
+ТАДИЈАНОВИЋ СИЛВЕСТЕР
+ТАДИЈИН ГЛИША
+ТАДИЈИН МИЛИЦА
+ТАДИЈИН МИЛОШ
+ТАДИЈИН МИЛОРАД
+ТАДИН ДУШАНКА
+ТАДИН ДУШАН
+ТАДИН ИВАНКА
+ТАДИН МИЛОВАН
+ТАДИН ЗЛАТОЈЕ
+ТАХИРОВИЋ ЕВИЦА
+ТАХИРОВИЋ МАРИЈА
+ТАХИРОВИЋ МИЛАДИНКА
+ТАИРОВИЋ АЛЕКСАНДАР
+ТАЈХМАН БЕЛА
+ТАЈХМАН ДЕСАНКА
+ТАЈХМАН ЈОСИП
+ТАЈКОВ АНЂЕЛКА
+ТАЈКОВ ЈОВАН
+ТАЈКОВ МИРЈАНА
+ТАЈКОВ РАДОЈКА
+ТАЈКОВИЋ МИЛИЦА
+ТАЈТИ ВЕРОНИКА
+ТАКАЧ ШАНДОР
+ТАКАЧ ЂЕРЂИ
+ТАКАЧ ЂОРЂЕ
+ТАКАЧ ЂУЛА
+ТАКАЧ ЂУРА
+ТАКАЧ ЂУРА
+ТАКАЧ АНЂЕЛКА
+ТАКАЧ АНДРИЈА
+ТАКАЧ АНТАЛ
+ТАКАЧ АНТАЛ
+ТАКАЧ АНТУН
+ТАКАЧ АНТУН
+ТАКАЧ АРПАД
+ТАКАЧ ЕРНЕ
+ТАКАЧ ЕВГЕН
+ТАКАЧ ФЕРЕНЦ
+ТАКАЧ ФРАЊА
+ТАКАЧ ИШТВАН
+ТАКАЧ ИШТВАН
+ТАКАЧ ЈАКИМ
+ТАКАЧ ЈАНОШ
+ТАКАЧ ЈАНОШ
+ТАКАЧ ЈАНОШ
+ТАКАЧ ЈОЖЕФ ДИПЛ ИНГ
+ТАКАЧ ЈОЖЕФ
+ТАКАЧ ЈОЖЕФ
+ТАКАЧ ЈОСИП
+ТАКАЧ КАРОЉ
+ТАКАЧ КАТИЦА
+ТАКАЧ КАТИЦА
+ТАКАЧ ЛАДИСЛАВ
+ТАКАЧ ЛАЈОШ
+ТАКАЧ ЛАСЛО
+ТАКАЧ МАГДА
+ТАКАЧ МАТА
+ТАКАЧ МИХАЈЛО
+ТАКАЧ МИЛАН
+ТАКАЧ МИРКО
+ТАКАЧ РОЖА
+ТАКАЧ СЕНА
+ТАКАЧ СОФИЈА
+ТАКАЧ СОФИЈА
+ТАКАЧ СТЕВАН
+ТАКАЧ ТИБОР
+ТАКАЧ ТИБОР
+ТАКАЧ ВИНКО
+ТАКАЧ ВЛАДИМИР
+ТАКАЧ ВЛАДИМИР
+ТАКАЧ ЗОЛТАН
+ТАКАЧИ АРПАД ДИПЛ ОЕЦ
+ТАКАЧИ АРПАД ДР
+ТАКАЧИ ГАБОР
+ТАКО ЗВОНИМИР
+ТАКОВАЦ РАДИСАВ
+ТАКОВСКИ БЛАГОЈЕ
+ТАКОВСКИ ЈОВАНКА
+ТАЛЕСКИ ЉУБИЦА
+ТАЛЕСКИ РИСТА
+ТАЛИЋ ДРАГАН
+ТАЛИЋ МИТАР
+ТАЛИЈАН РОЖА
+ТАЛО ШАНДОР
+ТАЛО ЖИВКА
+ТАЛО АЛЕКСАНДАР
+ТАЛО БРИГИТА
+ТАЛО ФРАЊА
+ТАЛО ЈЕЛЕНА
+ТАЛО ЈЕЛИСАВЕТА
+ТАЛО ЈОЖЕФ
+ТАЛО ЈОСИП
+ТАЛО ЈОВАН
+ТАЛО ТЕРЕЗА
+ТАЛОШИ ЂОРЂЕ
+ТАЛОШИ ИРЕНА
+ТАЛОШИ КАРОЉ
+ТАЛОВИЋ БЕХУДИН
+ТАЛОВИЋ ХАЈРИЈА
+ТАЛОВИЋ САДИК
+ТАМАШ ЂЕРЂ
+ТАМАШ ЂУРА
+ТАМАШ ИРИНЕЈ
+ТАМАШ-ЈОШАНОВ АЛЕКСАНДРА
+ТАМАШ ЉУБОМИР
+ТАМАШ МАРИЈА
+ТАМАШ МИХАЈЛО
+ТАМАШ ПАВЛЕ
+ТАМАШ ВЛАДИМИР
+ТАМАШ ВЛАДИМИР
+ТАМАШИ АГОШТОН
+ТАМАШИ АЛАДАР
+ТАМАШИ ТИБОР
+ТАМАШКОВИЋ ЗОЛТАН
+ТАМБУРАШЕВ ВУКАШИН
+ТАМБУРКОВСКИ ДРАГАН
+ТАМИНЏИЋ ЧЕДОМИР
+ТАМИНЏИЋ АНЂЕЛКО
+ТАМИНЏИЋ КОВИНКА
+ТАМИНЏИЋ РИСТА
+ТАМИНЏИЈА ДАНИЛО
+ТАМИНЏИЈА МИЛОРАД
+ТАМИНЏИЈА МИРКО
+ТАМИНЏИЈА ВЛАДО
+ТАНЧИК ШАНДОР
+ТАНЧИК АЛБЕРТ
+ТАНЧИК АЛЕКСАНДАР
+ТАНЧИК ЕМИЛ
+ТАНЧИК ИБОЉА
+ТАНЧИК РОЗА
+ТАНАЦКОВ НОВАК
+ТАНАЦКОВИЋ АЦО
+ТАНАЦКОВИЋ МИХАЈЛО
+ТАНАСИЋ ЈОВАН
+ТАНАСИЋ ОЛИВЕРА
+ТАНАСИЋ ПРЕДРАГ
+ТАНАСИЋ РУЖА
+ТАНАСИЋ СПАСОЈЕ
+ТАНАСИЋ ВАЛЕРИЈА
+ТАНАСИЋ ВАЛЕРИЈА
+ТАНАСИЈЕВИЋ ЖАРКО
+ТАНАСИЈЕВИЋ-ФИЛИПОВ ИВАНКА
+ТАНАСИЈЕВИЋ МИЛАН
+ТАНАСИЈЕВИЋ СИНИША
+ТАНАСИЈИН ЛУКА
+ТАНАСИЈИН ПЕТАР
+ТАНАСИЈИН ВЕРА
+ТАНАСИН ДАНИСЛАВА
+ТАНАСИН ЈОВАН
+ТАНАСИН ЉУБИЦА
+ТАНАСИН НЕСТОР
+ТАНАСИН СТЕВАН
+ТАНАСИН СТЕВАН
+ТАНАСИН СТЕВАН
+ТАНАСИН СТЕВАН
+ТАНАСКОВИЋ ДРАГАН
+ТАНАСКОВИЋ ДРАГОМИР
+ТАНАСКОВИЋ ГИНА
+ТАНАСКОВИЋ ГОРДАНА
+ТАНАСКОВИЋ ГОСПАВА
+ТАНАСКОВИЋ ЛАЗАР
+ТАНАСКОВИЋ МИЛЕ
+ТАНАСКОВИЋ НОВАК
+ТАНАСКОВИЋ СТАНИСЛАВ
+ТАНАСКОВИЋ ВИТКО
+ТАНАСКОВИЋ ВИТОМИР
+ТАНАСКОВИЋ ВУКАН
+ТАНДИ ЈУЛИЈАНА
+ТАНЕВ ТРАЈКО
+ТАНГЛ ИВАН
+ТАНГЛ ОЛГА
+ТАЊЕВИЋ ДРАГОЉУБ
+ТАЊЕВИЋ ЉУБОМИР
+ТАЊГА ГОРАН
+ТАЊГА ЉУБОМИР
+ТАЊГА МАРИЈА
+ТАЊГА РАЈКО
+ТАЊГА ТАНЕ
+ТАНКА ИШТВАН
+ТАНКОСИЋ БОГДАН
+ТАНКОСИЋ БОЈАНА
+ТАНКОСИЋ БРАНКО
+ТАНКОСИЋ ЈОВАН
+ТАНКОСИЋ КУЗМАН
+ТАНКОСИЋ МАРКО
+ТАНКОСИЋ МИХАЈЛО
+ТАНКОСИЋ МИЛАН
+ТАНКОСИЋ МИЛЕНА
+ТАНКОСИЋ МИЛИЦА
+ТАНКОСИЋ МИЛИЦА
+ТАНКОСИЋ НИКОЛА
+ТАНКОСИЋ РАЗИЈА
+ТАНКОСИЋ СТЕВАН
+ТАНКОВИЋ САЛКО
+ТАНОВИЋ ГАВРИЛО МР
+ТАНОВИЋ ЈОВО
+ТАНОВИЋ ВЛАДИМИР
+ТАНТИЋ СЛАВКО
+ТАНУРЏИЋ ЖИВОЈИН
+ТАНУРЏИЋ АЛЕКСАНДАР
+ТАНУРЏИЋ ДАРИНКА
+ТАНУРЏИЋ ГОЈКО
+ТАНУРЏИЋ ЈОВАН
+ТАНУРЏИЋ МИЛИЦА
+ТАНУРЏИЋ МИРКО
+ТАНУРЏИЋ СРБОМИР
+ТАНУРЏИЋ СТАНИСЛАВА
+ТАНУРЏИЋ СВЕТОЗАР
+ТАНУРЏИЋ ЗОРА
+ТАПАИ РУДОЛФ
+ТАПАЈ ГАБРИЈЕЛ
+ТАПАЈ СТАМЕНКА
+ТАПАЛАГА ЈОН
+ТАПАЛАГА ТОДОР
+ТАПАВИЧКИ ЧЕДОМИР
+ТАПАВИЧКИ БОРИВОЈ
+ТАПАВИЧКИ ФЕОДОР
+ТАПАВИЧКИ МЛАДЕН
+ТАПАВИЧКИ РАДОВАН
+ТАПАВИЧКИ СТЕВАН
+ТАПАВИЦА ЧЕДОМИР
+ТАПАВИЦА АЛЕКСАНДРА
+ТАПАВИЦА АЛЕКСАНДРА
+ТАПАВИЦА БОРКА
+ТАПАВИЦА БРАНКА
+ТАПАВИЦА ДОБРИЛА
+ТАПАВИЦА ЈЕЛИЦА
+ТАПАВИЦА ЉУБОМИР
+ТАПАВИЦА МИЛОРАД
+ТАПАВИЦА МИТА
+ТАПАВИЦА РАДОСЛАВА
+ТАПАВИЦА РАЈКО
+ТАПАВИЦА СИМА
+ТАПАВИЦА СТЕВАН
+ТАПАВИЦА ТИХОМИР
+ТАПАВИЦА ВЕРИЦА
+ТАПАВИЦА ВЕРИЦА
+ТАРАКЧИЈА ЂОРЂЕ
+ТАРАКЧИЈА-МИЛОВАНОВИЋ РАТКА
+ТАРАНЏА ИВАН
+ТАРАНЏА ИВАН
+ТАРАСЕНКО БРАТИСЛАВ ДР
+ТАРБУК МИРКО
+ТАРБУК НИКОЛА
+ТАРЕВСКИ ЋАМИЛ
+ТАРГУШ МАТИЈА
+ТАРИ ИЛОНА
+ТАРЈАН ДЕЖЕ
+ТАРЈАН ГАБОР
+ТАРЈАН ИМРЕ
+ТАРЈАН КАРЛО
+ТАРЈАН ТИБОР
+ТАРКО ЈАНОШ
+ТАРЛАЋ ПЕРИЦА
+ТАРЛЕ ИЛИЈА
+ТАРЛЕ ИВАН
+ТАРНОЦКИ АМАЛИЈА ДР
+ТАРНОЦКИ ПАЛ
+ТАСЕВ БЛАЖО
+ТАСЕВСКИ ИЛО
+ТАСЕВСКИ ЈОРДАН
+ТАСИЋ ЖАКЛИНА
+ТАСИЋ ЖИВОЈИН
+ТАСИЋ ЂОРЂЕ
+ТАСИЋ АНЂЕЛИЈА
+ТАСИЋ АНА
+ТАСИЋ БЛАГОЈЕ ДИПЛ ПРАВНИК
+ТАСИЋ БЛАГОЈЕ
+ТАСИЋ БОЖИДАР МР ПХ
+ТАСИЋ БОРИСЛАВ
+ТАСИЋ БОРИВОЈЕ
+ТАСИЋ БОРИВОЈЕ
+ТАСИЋ ДЕСАНКА
+ТАСИЋ ДОБРИВОЈ
+ТАСИЋ ИВАН
+ТАСИЋ ЉУБОДРАГ ДИПЛ ИНГ
+ТАСИЋ МИЛОШ ДР ЛЕКАР
+ТАСИЋ МИЛОШ ДР
+ТАСИЋ МИЛОШ ДР
+ТАСИЋ МИЛОШ
+ТАСИЋ МИРОСЛАВ
+ТАСИЋ МИРОСЛАВ
+ТАСИЋ НЕВЕНКА
+ТАСИЋ РАДЕ
+ТАСИЋ СИНИША
+ТАСИЋ СЛОБОДАН
+ТАСИЋ ТРИФУН
+ТАСИЋ УРОШ
+ТАСИЋ ВЕРА
+ТАСИЋ ВЛАДАНКА
+ТАСИЋ ЗОРАН
+ТАСКОВИЋ ДУШАН
+ТАСКОВИЋ МИРОСЛАВ
+ТАСКОВИЋ ПЕРА
+ТАСОВАЦ ДОБРИЛА
+ТАСОВАЦ МИЛОРАД
+ТАТАИ ЕМИЛИЈА
+ТАТАИ ИВАН
+ТАТАИ КАРОЉ
+ТАТАИ МАРГИТ
+ТАТАИ ТИБОР
+ТАТАЛОВИЋ ЖИВКО
+ТАТАЛОВИЋ БРАНИМИР
+ТАТАЛОВИЋ ДРАГАН
+ТАТАЛОВИЋ ИЛИЈА
+ТАТАЛОВИЋ ИЛИЈА
+ТАТАЛОВИЋ ЛАЗО
+ТАТАЛОВИЋ МИЛАН
+ТАТАЛОВИЋ МИЛАН
+ТАТАЛОВИЋ ПЕТАР
+ТАТАЛОВИЋ ПЕТАР
+ТАТАЛОВИЋ ПЕТАР
+ТАТАР ДУШАН
+ТАТАР ДУШАН
+ТАТАРЕВИЋ БЛАЖА
+ТАТАРИН РУЖИЦА
+ТАТАРСКИ ДУШАН
+ТАТАРСКИ МИЛОРАД
+ТАТАРСКИ НАДА
+ТАТАРСКИ СВЕТИСЛАВ
+ТАТАРСКИ ВЛАДЕТА
+ТАТИЋ ЖАРКО
+ТАТИЋ ЂУРЂИНКА
+ТАТИЋ АЛЕКСАНДАР
+ТАТИЋ АЛЕКСАНДАР
+ТАТИЋ АНКИЦА
+ТАТИЋ БРАНКО
+ТАТИЋ ДАНА
+ТАТИЋ ДРАГАН
+ТАТИЋ ДРАГОШ
+ТАТИЋ ДРАГОЉУБ
+ТАТИЋ ДРАГОМИР
+ТАТИЋ ДУШАН
+ТАТИЋ ЕМИЛ ДР
+ТАТИЋ ЕВИЦА
+ТАТИЋ ИЛИЈА
+ТАТИЋ ИЛИЈА
+ТАТИЋ ИЛОНКА
+ТАТИЋ ЈЕЛЕНА
+ТАТИЋ ЈОВАН ДИПЛ ИНГ
+ТАТИЋ ЈОВАН
+ТАТИЋ ЛАЗАР
+ТАТИЋ МАРА
+ТАТИЋ МАРИЈА
+ТАТИЋ МАРИЈА
+ТАТИЋ МИЛАН
+ТАТИЋ МИЛАН
+ТАТИЋ МИЛИВОЈ
+ТАТИЋ МИЛКА
+ТАТИЋ МИЛОШ
+ТАТИЋ МИЛОРАД
+ТАТИЋ МИЛОСАВ
+ТАТИЋ МИЛУТИН ДИПЛ ИНГ
+ТАТИЋ НЕДЕЉКО
+ТАТИЋ ПАЈА
+ТАТИЋ ПЕРСИДА
+ТАТИЋ ПЕТАР
+ТАТИЋ РАДМИЛА
+ТАТИЋ РАДОСЛАВ
+ТАТИЋ СЛАВКО
+ТАТИЋ СЛОБОДАН
+ТАТИЋ СРБИСЛАВ
+ТАТИЋ СТЕВАН
+ТАТИЋ ТОМИСЛАВ
+ТАТИЋ ЗЛАТИЦА
+ТАТОМИР МАРКО
+ТАТОМИРОВ ЈОВАН
+ТАТОМИРОВ МАРИЈА
+ТАТОМИРОВ МАРИЈА
+ТАТОМИРОВ РАДИВОЈ
+ТАТОМИРОВ ЗОРАН
+ТАТОМИРОВИЋ БРАНКА
+ТАУШАН МАРКО
+ТАУШАНОВИЋ ИЛИЈА
+ТАУШАНОВИЋ РАДЕ
+ТАУБНЕР КАТИЦА
+ТЕШАНОВ МИЛАН
+ТЕШАНОВИЋ ЧЕДО
+ТЕШАНОВИЋ ЖЕЉКО
+ТЕШАНОВИЋ ЂОКО
+ТЕШАНОВИЋ ЦВИЈЕТА
+ТЕШАНОВИЋ ДРАГАН
+ТЕШАНОВИЋ ДРАГАН
+ТЕШАНОВИЋ ДУШАН
+ТЕШАНОВИЋ ЈЕЛА
+ТЕШАНОВИЋ ЛАЗАР
+ТЕШАНОВИЋ НЕНАД
+ТЕШАНОВИЋ НЕВЕНКА
+ТЕШАНОВИЋ ПЕТАР
+ТЕШАНОВИЋ РАШКО
+ТЕШАНОВИЋ РАЈКО
+ТЕШАНОВИЋ ТОМА
+ТЕШАНОВИЋ ВОЈА
+ТЕШАНОВИЋ ЗОРАН
+ТЕШЕЊИ ЕДУАРД
+ТЕШИЋ ЂОРЂЕ
+ТЕШИЋ АЛЕКСАНДАР
+ТЕШИЋ ДАРИНКА
+ТЕШИЋ ДРАГАН
+ТЕШИЋ ДУШАН
+ТЕШИЋ ЕРЖЕБЕТ
+ТЕШИЋ ГРАДИМИР
+ТЕШИЋ ИЛИЈА
+ТЕШИЋ ЈУЛИЈАНА
+ТЕШИЋ ЉУБОМИР
+ТЕШИЋ ЛУКА
+ТЕШИЋ МАРИЈА
+ТЕШИЋ МИЛЕНКО
+ТЕШИЋ МИЛЕ
+ТЕШИЋ МИЛЕ
+ТЕШИЋ МИЛИЦА
+ТЕШИЋ МИЛОРАД
+ТЕШИЋ МИРКО
+ТЕШИЋ ПЕРСА
+ТЕШИЋ РАДИСЛАВ
+ТЕШИЋ СЛАВКА
+ТЕШИЋ СЛАВОЉУБ ДИПЛ ИНГ
+ТЕШИЋ СОФИЈА
+ТЕШИЋ СТАНИСЛАВА
+ТЕШИЋ СТЕВАН ДР
+ТЕШИЋ СВЕТЛАНА
+ТЕШИЋ ЗДРАВКО
+ТЕШИН ЈАСМИНКА
+ТЕШИН ЉУБИНКА
+ТЕШИН МИЛОШ
+ТЕШИН СТЕВКА
+ТЕШИН ВЕСНА
+ТЕШОВИЋ ДРАГИЦА
+ТЕШОВИЋ ЉУБО
+ТЕШОВИЋ МИЛЕНКО
+ТЕШОВИЋ МИЛОМИР
+ТЕШОВИЋ МИЛОРАД
+ТЕШОВИЋ ВАСИЛИЈЕ
+ТЕЖЛА АНДРИЈА
+ТЕДИЋ ЖИВКО
+ТЕДИЋ БРАНИСЛАВ
+ТЕДИЋ МИЛОВАН
+ТЕДИЋ НЕВЕНКА
+ТЕГЕЛТИЈА БОГДАН
+ТЕГЕЛТИЈА ДУШАН
+ТЕГЕЛТИЈА ДУШАН
+ТЕГЕЛТИЈА ИЛОНКА
+ТЕГЕЛТИЈА МАГДАЛЕНА
+ТЕГЕЛТИЈА МИЛАН
+ТЕГЕЛТИЈА МИТРА
+ТЕГЕЛТИЈА СТАНКО
+ТЕГЕЛТИЈА ВЛАЈКО
+ТЕГЛАШ АНА
+ТЕГЛАШ ЛИДИЈА
+ТЕГЛАШ НАДА
+ТЕГЛАШИ ИШТВАН
+ТЕГЛАШИ ЈОЖЕФ
+ТЕЈИЋ БРАНКО
+ТЕЈИЋ-КОВАЧ МАРИЈА
+ТЕЈИЋ ЛАЗАР
+ТЕЈИЋ МИЛИЈА
+ТЕКИЋ БОРО
+ТЕКИЋ МИЛАН
+ТЕКИЋ МИЛКА
+ТЕКИЋ МИОДРАГ
+ТЕКИЋ МИРКО
+ТЕКИЋ СЛАВИЦА
+ТЕКИЋ СЛАВКО
+ТЕЛ ФЕРЕНЦ
+ТЕЛ ЈАНОШ
+ТЕЛ ЈЕЛИСАВЕТА
+ТЕЛ ЈЕНЕ
+ТЕЛ ПЕТАР
+ТЕЛ ВИЛМОШ
+ТЕЛАРОВ АНКА
+ТЕЛАРОВ ЈОВАН
+ТЕЛАРОВ МИЛОШ
+ТЕЛАРОВ НАДА
+ТЕЛАРОВ ПЕРА
+ТЕЛАРОВ СИМА
+ТЕЛАРОВ СИНИША
+ТЕЛАРОВ СИНИША
+ТЕЛАРОВ СМИЉАНА
+ТЕЛАРОВ ВОЈИН
+ТЕЛАРОВ ЗОРА
+ТЕЛАРОВИЋ БОРИС
+ТЕЛАРОВИЋ ДИМИТРИЈЕ
+ТЕЛАРОВИЋ ИВАНА
+ТЕЛАРОВИЋ ИВАН
+ТЕЛАРОВИЋ РАТОМИР
+ТЕЛАРОВИЋ СЛОБОДАН
+ТЕЛАРОВИЋ СТЕВАН
+ТЕЛАРОВИЋ СТЈЕПАН
+ТЕЛЕКИ ШАНДОР
+ТЕЛЕКИ ЕРИКА
+ТЕЛЕКИ СТЕВАН
+ТЕЛЕКИ ВЕРА
+ТЕМЕРИНАЦ ДАРА
+ТЕМЕРИНАЦ МИЛЕВА
+ТЕМЕРИНАЦ МИОДРАГ
+ТЕМЕРИНСКИ ЈЕЛИЦА
+ТЕМЕРИНСКИ ЈОВАН
+ТЕМЕРИНСКИ НАДА
+ТЕМУНОВИЋ МАРИЈА
+ТЕНЦЕ АЛБИН
+ТЕЊИ ЂОРЂЕ
+ТЕЊИ ЈОСИП
+ТЕЊИ ЈОСИП
+ТЕЊИ ЈОСИП
+ТЕЊИ КСЕНИЈА
+ТЕЊИ МАРИЈА
+ТЕЊОВИЋ ДОБРИВОЈЕ
+ТЕЊОВИЋ МИЛОШ
+ТЕЊОВИЋ РАДИВОЈЕ
+ТЕОДОРОВИЋ АНДРЕЈА
+ТЕОДОРОВИЋ ДОБРИЛА
+ТЕОДОРОВИЋ ДУШАН
+ТЕОДОРОВИЋ ЈОВАН
+ТЕОДОРОВИЋ ЈОВАН
+ТЕОДОРОВИЋ ЉУБО
+ТЕОДОРОВИЋ МАРА
+ТЕОДОРОВИЋ МИЛАН
+ТЕОДОРОВИЋ НАДА
+ТЕОДОРОВИЋ ПАЈА
+ТЕОДОРОВИЋ ПЕРА
+ТЕОДОРОВИЋ ПЕРА
+ТЕОДОРОВИЋ РАТИМИР
+ТЕОДОРОВИЋ САВА
+ТЕОДОРОВИЋ СИМА
+ТЕОДОРОВИЋ СЛОБОДАН
+ТЕОДОРОВИЋ ВИТОМИР
+ТЕОДОРОВИЋ ВЛАДИСЛАВ ДИПЛ ИНГ
+ТЕОДОРОВИЋ ВЛАДИСЛАВА
+ТЕОДОСИЋ МИРЈАНА
+ТЕОДОСИЈЕВИЋ БРАНИСЛАВ
+ТЕОДОСИЈЕВИЋ МИЛИЦА
+ТЕОДОСИЈЕВИЋ ЗОРАН
+ТЕОФАНОВ ЂУРЂИЦА
+ТЕОФАНОВ БОШКО
+ТЕОФАНОВ ДОБРИНКА
+ТЕОФАНОВ ДУШАН
+ТЕОФАНОВ ДУШКО
+ТЕОФАНОВ МАРИНКО
+ТЕОФАНОВ МИЛАН
+ТЕОФАНОВ МИЛИВОЈ
+ТЕОФАНОВ МИЛОШ
+ТЕОФАНОВ МИЛОШ
+ТЕОФАНОВ ОЛИВЕРА
+ТЕОФАНОВ ЗОРА
+ТЕОФАНОВИЋ ШТЕФАНИЈА
+ТЕОФАНОВИЋ АЛЕКСАНДАР
+ТЕОФАНОВИЋ АЛЕКСАНДАР
+ТЕОФАНОВИЋ АНА
+ТЕОФАНОВИЋ АРАНЂЕЛ
+ТЕОФАНОВИЋ БОГДАН
+ТЕОФАНОВИЋ БОГДАН
+ТЕОФАНОВИЋ ДАНИЛО
+ТЕОФАНОВИЋ ДОНКА
+ТЕОФАНОВИЋ ДУШАН
+ТЕОФАНОВИЋ МАРКО ДР ВЕТЕРИНЕ
+ТЕОФАНОВИЋ МИЛЕВА
+ТЕОФАНОВИЋ МИЛИЦА
+ТЕОФАНОВИЋ ТАДИЈА
+ТЕОФИЛОВИЋ ЂУРЂИЦА
+ТЕОФИЛОВИЋ АЛЕКСАНДАР
+ТЕОФИЛОВИЋ БРАНКА
+ТЕОФИЛОВИЋ ГОРАН
+ТЕОФИЛОВИЋ МОМЧИЛО
+ТЕОФИЛОВИЋ САВО
+ТЕОВАНОВИЋ НЕВЕНКА
+ТЕПША НЕБОЈША
+ТЕПША СИНИША
+ТЕПШИЋ ЈОВИЦА
+ТЕПШИЋ МИОДРАГ
+ТЕПШИЋ РАДЕ
+ТЕПАЧЕВИЋ АНДРЕЈА
+ТЕПАВЧЕВИЋ ЖАНКА
+ТЕПАВЧЕВИЋ БОЖИДАР
+ТЕПАВЧЕВИЋ ГОЈКО
+ТЕПАВЧЕВИЋ МИЛОВАН
+ТЕПАВЧЕВИЋ ПЕТАР ДР
+ТЕПАВЧЕВИЋ РАТКО
+ТЕПАВЧЕВИЋ СТРАХИЊА
+ТЕПИЋ ФРАНЦИКА
+ТЕПИЋ ГОРАН
+ТЕПИЋ ЈОВАН
+ТЕПИЋ МИЛАН
+ТЕПИЋ МИЛОШ
+ТЕПИЋ МИЛОВАН
+ТЕПИЋ НЕДЕЉКО
+ТЕПИЋ ОБРЕНКО
+ТЕПИЋ РАДОВАН
+ТЕПИЋ РАЈКО
+ТЕПИЋ СНЕЖАНА
+ТЕПИЋ ВИДА
+ТЕПИЋ ЗОРАН
+ТЕРЕЧЕК АНЂЕЛКА
+ТЕРЕЧИЋ ЛАЈОШ
+ТЕРЕЧИК ПАЛ
+ТЕРЕЦКИ ИШТВАН
+ТЕРЕК ЂУЛА
+ТЕРЕК АНДРИЈА
+ТЕРЕК ФЕРЕНЦ
+ТЕРЕК ИШТВАН
+ТЕРЕК ИМРЕ ДИПЛ ИНГ
+ТЕРЕК ИРЕНА
+ТЕРЕК ЈАНОШ
+ТЕРЕК КАТАЛИН
+ТЕРЕК ЛАСЛО
+ТЕРЕК ЉУДЕВИТ ДР ИНГ
+ТЕРЕК ОЛГА
+ТЕРЕК ТИБОР
+ТЕРЕЗИЈА БОСИЉКА
+ТЕРХЕШ ШАНДОР
+ТЕРЈЕК АЛЕКСАНДАР
+ТЕРЈЕК-КОВАЧ КАРЛО
+ТЕРЈЕК МИХАЈЛО
+ТЕРЈЕК ВИКТОРИЈА
+ТЕРКЕЉ АНА
+ТЕРЉУК ИВАН
+ТЕРНОВАЦ ИШТВАН
+ТЕРЗИЋ ЖИВКО
+ТЕРЗИЋ ЂОРЂЕ
+ТЕРЗИЋ ЂУРО
+ТЕРЗИЋ БЕЛА
+ТЕРЗИЋ БИСЕРКА
+ТЕРЗИЋ БОГОЉУБ
+ТЕРЗИЋ БРАНКА
+ТЕРЗИЋ ДРАГАН
+ТЕРЗИЋ ДРАГОМИР
+ТЕРЗИЋ ДУШАН
+ТЕРЗИЋ ДУШАН
+ТЕРЗИЋ ФРАНЦА
+ТЕРЗИЋ ЈЕВРЕМ
+ТЕРЗИЋ ЈОВАН
+ТЕРЗИЋ МИЛАН
+ТЕРЗИЋ МИЛАН
+ТЕРЗИЋ МИЛЕНА
+ТЕРЗИЋ МИЛЕНКО
+ТЕРЗИЋ МИЛИЦА
+ТЕРЗИЋ МИОДРАГ
+ТЕРЗИЋ МИОДРАГ
+ТЕРЗИЋ НИКОЛА
+ТЕРЗИЋ ЊЕГОСАВА
+ТЕРЗИЋ ПАВЛЕ
+ТЕРЗИЋ ПЕРКА
+ТЕРЗИЋ ПЕТАР ДР
+ТЕРЗИЋ ПЕТАР
+ТЕРЗИЋ ПЕТАР
+ТЕРЗИЋ РЕЉА
+ТЕРЗИЋ САВА
+ТЕРЗИЋ СЛАВКО
+ТЕРЗИЋ СЛАВКО
+ТЕРЗИЋ СЛАВНА
+ТЕРЗИЋ СЛОБОДАН
+ТЕРЗИЋ СРБИСЛАВ
+ТЕРЗИЋ СТАНКА
+ТЕРЗИЋ ТЕОДОР
+ТЕРЗИЋ ТЕРЕЗА
+ТЕРЗИЋ ТРИФУН
+ТЕРЗИЋ ВЕРА
+ТЕРЗИЋ ВЛАДАН
+ТЕРЗИЋ ВОЈИСЛАВ
+ТЕРЗИЈА МИТАР
+ТЕРЗИН БРАНИСЛАВ
+ТЕРЗИН БРАНКО
+ТЕРЗИН ДРАГОСЛАВ
+ТЕРЗИН ДУШАН
+ТЕРЗИН ЈОВАНКА
+ТЕРЗИН ЈОВАНКА
+ТЕРЗИН ЉУБИЦА
+ТЕРЗИН МИЛАН
+ТЕРЗИН МИЛИНА
+ТЕРЗИН МИРЈАНА
+ТЕРЗИН МИРОСЛАВА
+ТЕРЗИН МИРОСЛАВА
+ТЕРЗИН МИТА
+ТЕРЗИН НЕВЕНКА
+ТЕРЗИН РАДИВОЈ
+ТЕРЗИН РАДМИЛА
+ТЕРЗИН РИСТА
+ТЕРЗИН СЛОБОДАН
+ТЕРЗИН СТАНКО
+ТЕРЗИН ТОША
+ТЕРЗИН ВАСА
+ТЕРЗИН ВЕЛИМИР
+ТЕРЗИН ВЕЉКО
+ТЕРЗИН ВЕРИЦА
+ТЕРЗИН ВЕСЕЛИН
+ТЕРЗИН ВОЈИСЛАВ
+ТЕСЛА ШПИРО
+ТЕСЛА БРАНКО
+ТЕСЛА ДРАГАН
+ТЕСЛА МИРА
+ТЕСЛИЋ ЂОРЂЕ
+ТЕСЛИЋ МАКСИМ
+ТЕСЛИЋ МАРКО
+ТЕСЛИЋ ВЛАДИМИР
+ТЕСТИН МАРИЈА
+ТИШАНОВИЋ МИЛИВОЈ
+ТИШИЋ МИЛЕНА
+ТИШМА ЧЕДОМИР
+ТИШМА ЖЕЉКО
+ТИШМА ЂУРИЦА
+ТИШМА АНДРЕЈ
+ТИШМА БРАНКО
+ТИШМА ДУШАН
+ТИШМА ДУШАН
+ТИШМА ИЛИЈА
+ТИШМА ЈОВАН
+ТИШМА ЛАЗАР
+ТИШМА ЉИЉАНА
+ТИШМА МАРИЈА
+ТИШМА МАРТА
+ТИШМА-МИЛОШЕВСКИ НАТАША
+ТИШМА МИЛОШ
+ТИШМА МИРКО
+ТИШМА МОМИР
+ТИШМА НИКОЛА
+ТИШМА СИНИША
+ТИШМА СМИЉА
+ТИШМА СТЕВАН
+ТИШМА СВЕТОЗАР
+ТИШМА ВОЈИНКА
+ТИШМА ВОЈИН
+ТИШМА ЗОРАН
+ТИБАИ ИШТВАН
+ТИЦ АНАМАРИЈА
+ТИЦА БОЖО
+ТИЦА ЦВЕТА
+ТИЦА ДМИТАР
+ТИЦА ДРАГАН
+ТИЦА ЈОВАН
+ТИЦА МИЛОШ
+ТИЦА НЕДЕЉКО
+ТИГАЊ АНТЕ
+ТИХИ ЈОСИП
+ТИХОМИРОВИЋ МИЛАН
+ТИХОМИРОВИЋ ВЕЉКО
+ТИХВИНСКИ ВЛАДАН
+ТИХВИНСКИ ВЛАДИМИР ДИПЛ ИНГ
+ТИЈАНИЋ МИЛОШ
+ТИЈАНИЋ СМИЉА
+ТИЈАНИЋ ЗОРАН
+ТИКВЕША НАИЛА
+ТИКВИЋ БОШКО
+ТИКВИЋ МИРОСЛАВ
+ТИКВИЦКИ ХРВОЈЕ
+ТИКВИЦКИ МАРИЈАНА
+ТИЛ ЕДВИН ДР
+ТИМАРАЦ БРАНКО
+ТИМАРАЦ СТОЈАН
+ТИМАРОВ ЂОРЂЕ
+ТИМАРОВ СТЕВАН
+ТИМАРОВ ВАСА
+ТИМАРОВ ВЕРА
+ТИМИЛИЋ ДИМИТРИЈЕ
+ТИМКО ИРИНЕЈ
+ТИМКО ЉУБОВ
+ТИМКО МЕЛАНИЈА
+ТИМКО НЕСТОР
+ТИМКО ВЕРА
+ТИМКО ВЛАДИМИР
+ТИМОТИЋ ЂОРЂЕ
+ТИМОТИЋ СТАНА
+ТИМОТИЋ УРОШ
+ТИМОТИЈЕВИЋ АНИЦА
+ТИМОТИЈЕВИЋ БОЖИДАР
+ТИМОТИЈЕВИЋ ДИМИТРИЈЕ
+ТИМОТИЈЕВИЋ ЈЕВРЕМ
+ТИМОТИЈЕВИЋ-КОПРИВИЦА МАЈА
+ТИМОТИЈЕВИЋ МИРОСЛАВ
+ТИМОТИЈЕВИЋ ОЛГА
+ТИМОТИЈЕВИЋ ПЛЕМЕНКА
+ТИМОТИЈЕВИЋ РАДОСЛАВ
+ТИНКОВИЋ ТОМИСЛАВ
+ТИНТЕР ХЕДВИГА
+ТИНТОР ЂУРА
+ТИНТОР ДУШАН
+ТИНТОР МАРКО
+ТИНТОР МИЛКА
+ТИНТОР МИОДРАГ
+ТИНТОР МИРА
+ТИНТОР-РАДОМИР СТОЈА
+ТИНТОР СТЕВАН
+ТИНУС БЕРНАДЕТА
+ТИНУС МАРТА
+ТИОДОРОВИЋ ЉИЉАНА
+ТИОДОРОВИЋ РАДОВАН
+ТИПШИН БОРИСЛАВ
+ТИПУРА ЈОСИП
+ТИПУРА ЈОСИП
+ТИПУРА ЛАДИСЛАВ
+ТИПУРА ЛАСЛО
+ТИР ИШТВАН
+ТИР МИЛКА
+ТИР ПЕТАР
+ТИРИ АНТАЛ
+ТИРИНДА ЂУРА
+ТИРИНГЕР ЕЛЗА
+ТИРКАЈЛА АНА
+ТИРКАЈЛА СЛАВОМИР
+ТИРНАНИЋ БИСЕРКА
+ТИСИНОВИЋ ЈЕЛИСАВЕТА
+ТИСТА ЕРЖЕБЕТ
+ТИСТА ЈАНОШ
+ТИТЕЛАЦ ЂОРЂЕ
+ТИТЕЛАЦ ЂОРЂЕ
+ТИТЕЛАЦ ЈЕЛЕНА
+ТИТЕЛАЦ ЈОВАН
+ТИТЕЛАЦ МИЛИНКА
+ТИТЕЛАЦ НАДА
+ТИТЕЛАЦ СТЕВАН
+ТИТЕЛАЦ ЗОРИЦА
+ТИТОВ АЛЕКСАНДАР
+ТИТОВ АНА
+ТИТОВ АНИЦА
+ТИТОВ ЕВГЕНИЈЕ
+ТИТОВ ПАВЛЕ
+ТИТОВ ТОМИСЛАВ
+ТКАЛЧЕЦ ЈОВАН
+ТКАЛЕЦ ПАВАО
+ТОШИЋ ЖАРКО
+ТОШИЋ БОРИСЛАВА
+ТОШИЋ БОРИСЛАВ
+ТОШИЋ БРАТИСЛАВ
+ТОШИЋ БРАТИСЛАВ
+ТОШИЋ ДАНИЦА
+ТОШИЋ ДРАГАН
+ТОШИЋ ДРАГАН
+ТОШИЋ ДУШАН
+ТОШИЋ ДУШАН
+ТОШИЋ ДУШАН
+ТОШИЋ ЕРЖЕБЕТ
+ТОШИЋ ЕВИЦА
+ТОШИЋ ГОЈКО
+ТОШИЋ ЈЕЛА
+ТОШИЋ ЈОВАН
+ТОШИЋ ЈОВИЦА
+ТОШИЋ КРСТАН
+ТОШИЋ КРСТОМИР
+ТОШИЋ ЉУБИЦА
+ТОШИЋ ЉУБИНКО
+ТОШИЋ МИХАЈЛО
+ТОШИЋ МИЛАН
+ТОШИЋ МИЛАН
+ТОШИЋ МИЛАН
+ТОШИЋ МИЛЕВА
+ТОШИЋ МИЛЕ
+ТОШИЋ МИЛОШ
+ТОШИЋ МИЛОРАД
+ТОШИЋ МИЛУТИН
+ТОШИЋ МИОДРАГ
+ТОШИЋ МИРКО
+ТОШИЋ МИТАР
+ТОШИЋ НЕДЕЉКО
+ТОШИЋ НЕВЕНКА
+ТОШИЋ НИКОЛА
+ТОШИЋ НИКО
+ТОШИЋ НОВАК
+ТОШИЋ ОБРАД
+ТОШИЋ ОСТОЈА
+ТОШИЋ ПЕРО
+ТОШИЋ ПЕТАР
+ТОШИЋ РАДЕ
+ТОШИЋ РАДОМИР
+ТОШИЋ РАДОМИР
+ТОШИЋ РАТКО
+ТОШИЋ САВА
+ТОШИЋ СЛАВКА
+ТОШИЋ СОФИЈА
+ТОШИЋ СТАНИМИР
+ТОШИЋ СТЕВАН
+ТОШИЋ СТЕВАН
+ТОШИЋ СВЕТИСЛАВ
+ТОШИЋ СВЕТЛАНА
+ТОШИЋ ВЕЛИБОР
+ТОШИЋ ВЕРА
+ТОШИЋ ВИД
+ТОШИЋ ВЛАДО
+ТОШИЋ ВЛАСТИМИР
+ТОШИЋ ВОЈИН
+ТОШИНОВИЋ ЛУКА
+ТОШКОВ ХРАНИСЛАВ
+ТОШКОВ ПЕРА
+ТОШКОВИЋ ВУЧЕТА
+ТОШКОВИЋ ВУЧИЋ
+ТОШКОВИЋ ЗДРАВКО
+ТОШОВИЋ МИЛАНКА
+ТОШОВИЋ МИЛОЈЕ
+ТОЂЕР КОСТА
+ТОБЏИЋ-БРАШАНАЦ МИРОСЛАВА
+ТОБЏИЋ КАТАРИНА
+ТОБЏИЋ МИЛЕНКО
+ТОБЏИЋ СТЕВАН
+ТОБИ МАРИЈА
+ТОБИ МИРОСЛАВ
+ТОБИАШ ВИЛМОШ
+ТОБОЛКА АНА
+ТОБОЛКА ДАНИЕЛ
+ТОБОЛКА ЕРИКА
+ТОБОЛКА ИШТВАН
+ТОБОЛКА ИЛОНА
+ТОДИЋ БОГДАН
+ТОДИЋ БОРИСЛАВ
+ТОДИЋ БОРИСЛАВ
+ТОДИЋ БРАНИСЛАВ
+ТОДИЋ ДАНИЈЕЛА
+ТОДИЋ ГОЈКО ДИПЛ ИНГ
+ТОДИЋ МАРИЈАНА
+ТОДИЋ МИЛАНКО
+ТОДИЋ МИЛАН
+ТОДИЋ МИЛЕ
+ТОДИЋ МИЛОШ ДИПЛ ИНГ
+ТОДИЋ МИЛОШ
+ТОДИЋ МИРОСЛАВ
+ТОДИЋ НЕЂО
+ТОДИЋ РАДИВОЈ
+ТОДИЋ РАЈКО
+ТОДИЋ РАТОМИР
+ТОДИЋ СТАНИСАВА
+ТОДИЋ СТАНКО
+ТОДИЋ ТОМИСЛАВ
+ТОДИЋ ВЕЛИМИР
+ТОДИЋ ВЛАДО
+ТОДОШКОВИЋ БОГДАН
+ТОДОШКОВИЋ НАДА
+ТОДОШКОВИЋ НЕМАЊА
+ТОДОРЧЕВИЋ ДРАГУТИН
+ТОДОРЧЕВИЋ ОСТОЈА
+ТОДОРЧЕВИЋ ПЕРО
+ТОДОРЧЕВИЋ СВЕТЛАНА
+ТОДОРЧЕВИЋ ВАСИЛИЈЕ
+ТОДОРЧЕВИЋ ВАСО
+ТОДОРЧЕВИЋ ВОЈИН
+ТОДОРАН ТРАЈАН
+ТОДОРИЋ ЧЕДОМИР
+ТОДОРИЋ БРАНКО
+ТОДОРИЋ ДРАГАН
+ТОДОРИЋ ГОЈКО
+ТОДОРИЋ ИЛИЈА
+ТОДОРИЋ ЈЕЛЕНА
+ТОДОРИЋ ЈОВАНКА
+ТОДОРИЋ ЈОВАН
+ТОДОРИЋ ЉУБА
+ТОДОРИЋ ЉУБИВОЈЕ
+ТОДОРИЋ МАРИЈА
+ТОДОРИЋ МИЛОШ
+ТОДОРИЋ МИЛОШ
+ТОДОРИЋ НЕДЕЉКО
+ТОДОРИЋ НИКОЛА
+ТОДОРИЋ НИКО
+ТОДОРИЋ РАДМИЛА
+ТОДОРИЋ СЕЛИМИР
+ТОДОРИЋ ТРИВУНА
+ТОДОРОВ ЂУРА
+ТОДОРОВ АЛЕКСАНДАР
+ТОДОРОВ БИСЕРКА
+ТОДОРОВ ДЕСАНКА
+ТОДОРОВ ГЛИША
+ТОДОРОВ ИВАН
+ТОДОРОВ-ЈАШАРЕВИЋ ДАНИЦА
+ТОДОРОВ МИЛИВОЈ
+ТОДОРОВ МИЛОШ
+ТОДОРОВ НЕДЕЉКО
+ТОДОРОВ ОБРЕНКА
+ТОДОРОВ РАДОВАН
+ТОДОРОВ РОБЕРТ
+ТОДОРОВ САВА
+ТОДОРОВ СЛОБОДАН
+ТОДОРОВ СПИРО ДР
+ТОДОРОВ ТОМИСЛАВ
+ТОДОРОВИЋ ЧЕДО
+ТОДОРОВИЋ ЖАРКО
+ТОДОРОВИЋ ЖАРКО
+ТОДОРОВИЋ ЖИВОЈИН
+ТОДОРОВИЋ ЖИВОТА
+ТОДОРОВИЋ ЖИВОТА
+ТОДОРОВИЋ АЛЕКСАНДАР
+ТОДОРОВИЋ АЛЕКСАНДАР
+ТОДОРОВИЋ АЛЕКСАНДАР
+ТОДОРОВИЋ АНЂЕЛКО
+ТОДОРОВИЋ АНА
+ТОДОРОВИЋ АНКА
+ТОДОРОВИЋ АНТУН
+ТОДОРОВИЋ БОШКО
+ТОДОРОВИЋ БОШКО
+ТОДОРОВИЋ БОГДАН
+ТОДОРОВИЋ БОРИСЛАВ
+ТОДОРОВИЋ БОРИВОЈЕ
+ТОДОРОВИЋ БОСА
+ТОДОРОВИЋ БРАНИСЛАВ
+ТОДОРОВИЋ БРАНКО
+ТОДОРОВИЋ БРАНКО
+ТОДОРОВИЋ БРАНКО
+ТОДОРОВИЋ БРАНКО
+ТОДОРОВИЋ ЦВЕТКО
+ТОДОРОВИЋ ЦВИЈЕТИН
+ТОДОРОВИЋ ЦВИЈО
+ТОДОРОВИЋ ДАНИЦА
+ТОДОРОВИЋ ДАНИЛО
+ТОДОРОВИЋ ДИМИТРИЈЕ
+ТОДОРОВИЋ ДОБРОСАВ
+ТОДОРОВИЋ ДОБРОСАВ
+ТОДОРОВИЋ ДРАГАН
+ТОДОРОВИЋ ДРАГАН
+ТОДОРОВИЋ ДРАГАН
+ТОДОРОВИЋ ДРАГАН
+ТОДОРОВИЋ ДРАГИЦА
+ТОДОРОВИЋ ДРАГОЉУБ
+ТОДОРОВИЋ ДРАГОЉУБ
+ТОДОРОВИЋ ДРАГОСЛАВ
+ТОДОРОВИЋ ДРАГОСЛАВ
+ТОДОРОВИЋ ДУШАН
+ТОДОРОВИЋ ДУШАН
+ТОДОРОВИЋ ДУШАН
+ТОДОРОВИЋ ДУШАН
+ТОДОРОВИЋ ДУШКО
+ТОДОРОВИЋ ГОЈКО
+ТОДОРОВИЋ ГОЈКО
+ТОДОРОВИЋ ГРАДИМИР
+ТОДОРОВИЋ ИЛЕ
+ТОДОРОВИЋ ЈАСНА
+ТОДОРОВИЋ ЈЕЛЕНА
+ТОДОРОВИЋ ЈЕЛИЦА
+ТОДОРОВИЋ ЈЕЛИЦА
+ТОДОРОВИЋ ЈОКА
+ТОДОРОВИЋ ЈОВАНКА
+ТОДОРОВИЋ ЈОВИЦА
+ТОДОРОВИЋ ЈУЛИЈАНА
+ТОДОРОВИЋ КОВИНКА
+ТОДОРОВИЋ ЛАЗАР
+ТОДОРОВИЋ ЛЕНКА
+ТОДОРОВИЋ ЉУБИЦА
+ТОДОРОВИЋ ЉУБИЦА
+ТОДОРОВИЋ ЉУБИНКА
+ТОДОРОВИЋ ЉУБОМИР
+ТОДОРОВИЋ МАРА
+ТОДОРОВИЋ МАРГИТА
+ТОДОРОВИЋ МАРИЈА
+ТОДОРОВИЋ МАРКО
+ТОДОРОВИЋ МАРКО
+ТОДОРОВИЋ МАРКО
+ТОДОРОВИЋ МИШО
+ТОДОРОВИЋ МИЋА
+ТОДОРОВИЋ МИЋО
+ТОДОРОВИЋ МИХАЈЛО
+ТОДОРОВИЋ МИЛАН
+ТОДОРОВИЋ МИЛАН
+ТОДОРОВИЋ МИЛАН
+ТОДОРОВИЋ МИЛАН
+ТОДОРОВИЋ МИЛАН
+ТОДОРОВИЋ МИЛАН
+ТОДОРОВИЋ МИЛАН
+ТОДОРОВИЋ МИЛАН
+ТОДОРОВИЋ МИЛЕНКО
+ТОДОРОВИЋ МИЛЕ
+ТОДОРОВИЋ МИЛИЦА
+ТОДОРОВИЋ МИЛКА
+ТОДОРОВИЋ МИЛОШ
+ТОДОРОВИЋ МИЛОРАД
+ТОДОРОВИЋ МИЛОВАН
+ТОДОРОВИЋ МИРКО ДИПЛ ИНГ
+ТОДОРОВИЋ МИРКО ДР ЛЕКАР
+ТОДОРОВИЋ МИРКО
+ТОДОРОВИЋ МИРКО
+ТОДОРОВИЋ МИРКО
+ТОДОРОВИЋ МИРКО
+ТОДОРОВИЋ МИРОСЛАВА
+ТОДОРОВИЋ МИРОСЛАВ
+ТОДОРОВИЋ МЛАДЕН ДР
+ТОДОРОВИЋ МЛАДЕН
+ТОДОРОВИЋ МЛАДОМИР
+ТОДОРОВИЋ МОМЧИЛО
+ТОДОРОВИЋ МОМЧИЛО
+ТОДОРОВИЋ МОМИРКА
+ТОДОРОВИЋ НАДА
+ТОДОРОВИЋ НАДА
+ТОДОРОВИЋ НИЋИФОР
+ТОДОРОВИЋ НИКОЛА
+ТОДОРОВИЋ НИКОЛА
+ТОДОРОВИЋ ОЛГИЦА
+ТОДОРОВИЋ ОСТОЈА
+ТОДОРОВИЋ ПЕТАР
+ТОДОРОВИЋ ПЕТАР
+ТОДОРОВИЋ РАШКО
+ТОДОРОВИЋ РАДА
+ТОДОРОВИЋ РАДИША
+ТОДОРОВИЋ РАДИВОЈ АДВОКАТ
+ТОДОРОВИЋ РАДИВОЈЕ
+ТОДОРОВИЋ РАДИВОЈ
+ТОДОРОВИЋ РАДМИЛА
+ТОДОРОВИЋ РАДОЈКА
+ТОДОРОВИЋ РАДОСЛАВ
+ТОДОРОВИЋ РАЈКО
+ТОДОРОВИЋ РАНКО
+ТОДОРОВИЋ РАТКО
+ТОДОРОВИЋ РОСА
+ТОДОРОВИЋ САША
+ТОДОРОВИЋ САВА
+ТОДОРОВИЋ САВА
+ТОДОРОВИЋ САВО
+ТОДОРОВИЋ САВО
+ТОДОРОВИЋ СЕНКА
+ТОДОРОВИЋ СИМА
+ТОДОРОВИЋ СИНИША
+ТОДОРОВИЋ СЛАВЕ
+ТОДОРОВИЋ СЛОБОДАН
+ТОДОРОВИЋ СЛОБОДАН
+ТОДОРОВИЋ СМИЉКА
+ТОДОРОВИЋ СНЕЖАНА
+ТОДОРОВИЋ СОФИЈА
+ТОДОРОВИЋ СРЕДОЈЕ
+ТОДОРОВИЋ СРЕТЕН
+ТОДОРОВИЋ СТАНИМИР
+ТОДОРОВИЋ СТАНИСЛАВ
+ТОДОРОВИЋ СТАНКО
+ТОДОРОВИЋ СТЕВАН
+ТОДОРОВИЋ СТЕВАН
+ТОДОРОВИЋ СТЕВА
+ТОДОРОВИЋ ТОДЕ
+ТОДОРОВИЋ ТОДЕ
+ТОДОРОВИЋ ТОМИСЛАВ
+ТОДОРОВИЋ ТОМИСЛАВ
+ТОДОРОВИЋ ВЕРА
+ТОДОРОВИЋ ВЕРА
+ТОДОРОВИЋ ВЕРА
+ТОДОРОВИЋ ВЛАДЕТА
+ТОДОРОВИЋ ВЛАДИМИР
+ТОДОРОВИЋ ВЛАДИМИР
+ТОДОРОВИЋ ВЛАДИСЛАВ
+ТОДОРОВИЋ ВУКАШИН
+ТОДОРОВИЋ ЗОРАН
+ТОДОРОВИЋ ЗОРАН
+ТОДОРОВИЋ ЗОРАН
+ТОДОРОВИЋ ЗОРА
+ТОДОРОВИЋ ЗОРКА
+ТОДОРОВСКИ МАНАСИЈЕ
+ТОДОРОВСКИ МИРОСЛАВ
+ТОДОРОВСКИ НАДА
+ТОДОСИЈЕВИЋ ЂОРЂЕ
+ТОДОСИЈЕВИЋ ДРАГОЉУБ
+ТОДОСИЈЕВИЋ МИЛАН
+ТОДОСИЈЕВИЋ ЗЛАТКО ДИПЛ ПРАВНИК
+ТОФИЛ СОФИЈА
+ТОХОЉ ЈОВО
+ТОХОЉЕВИЋ БОШКО
+ТОХОЉЕВИЋ ЗДРАВКО
+ТОЈАГА МИЛАН
+ТОЈАГА МИЛОШ
+ТОЈАГА СВЕТОЗАР
+ТОЈАГИЋ ЂОРЂЕ
+ТОЈАГИЋ БОЖИДАР
+ТОЈАГИЋ ДАНЕ
+ТОЈАГИЋ ДАНИЛО
+ТОЈАГИЋ ДУШАН
+ТОЈАГИЋ ЈЕЛА
+ТОЈАГИЋ ЛУДМИЛА
+ТОЈАГИЋ МИРЈАНА
+ТОЈАГИЋ НИКОЛА
+ТОЈАГИЋ НИКОЛА
+ТОЈАГИЋ РАДОВАН
+ТОЈАГИЋ СЛОБОДАН
+ТОЈЗАН ИЛОНА
+ТОКАР ЈУЛИЈА
+ТОКИЋ КОСАРА
+ТОКИЋ МИХАЈЛО
+ТОКИЋ МИЛАН
+ТОКИЋ САВА
+ТОКИЋ САВА
+ТОКИЋ САВА
+ТОКИН-ЂЕРИЋ ЗАГОРКА
+ТОКИН ЂОРЂЕ
+ТОКИН АЛИСА
+ТОКИН БОРА
+ТОКИН ДАНИЦА
+ТОКИН ПРОКОП ДР ЛЕКАР
+ТОКИН СЛОБОДАН
+ТОКИН ВЕРА
+ТОКИН ВЛАДА
+ТОКОДИ ЈАНОШ
+ТОКОДИ ЈОЛАНКА
+ТОКОДИ МАРГИТА
+ТОКОВИЋ ЈЕЛИЦА
+ТОЛ АНДРАШ
+ТОЛ ЈОЖЕФ
+ТОЛДИ ЕВА
+ТОЛДИ ВИЛМОШ
+ТОЛИЋ МИЛОШ
+ТОЛИЋ ВЕСНА
+ТОЛИЦКИ ЗОРА
+ТОЛИМИР УРОШ
+ТОЉАГА ВУКОСАВА
+ТОЉЕВИЋ БРАНКО
+ТОЉЕВИЋ ДОБРИСЛАВ
+ТОЉЕВИЋ ДРАГИЦА
+ТОЉИЋ РАЈКО
+ТОЛМАЧ ЗОРАН
+ТОЛМАЧЕВ ЖИВА
+ТОЛМАЧЕВ МИРОСЛАВ
+ТОЛНАИ ОТО
+ТОЛНАИ РУЖА
+ТОЛТ ЈОЖЕФ
+ТОЛТ ЈОСИП
+ТОЛВАЈ АГНЕШ
+ТОЛВАЈ ЕЛЕОНОРА
+ТОЛВЕТ ОСКАР
+ТОМЧАЊИ ИВАН
+ТОМЧАЊИ МИРОСЛАВА
+ТОМЧАЊИ СТАНИСЛАВА
+ТОМЧЕВА НЕВЕНКА ДР
+ТОМЧЕВСКИ ЦВЕТАН
+ТОМЧИЋ ЧЕДОМИР
+ТОМЧОВ ТОМЧО
+ТОМЧОВА АНЕТА ДР
+ТОМЧОВА АНИТА ДР
+ТОМШИЋ ЛАДИСЛАВ
+ТОМА ШАНДОР
+ТОМА АНДРИЈА
+ТОМА ЈАНОШ
+ТОМА ЈАНОШ
+ТОМА ЈАНОШ
+ТОМА ЈУЛИЈАНА
+ТОМА ЛАДИСЛАВ
+ТОМА МАРИЈА
+ТОМА МИХАЈЛО
+ТОМА ОЛГА
+ТОМА ПАЛ
+ТОМА РОЗАЛИЈА
+ТОМА СТЕВАН
+ТОМАШ ЂУРА
+ТОМАШ ЈАНКО
+ТОМАШ ЈОВАН
+ТОМАШ МИЛОРАД
+ТОМАШ МИЛОВАН
+ТОМАШ СТОЈАНКА
+ТОМАШЕВ БОЖИДАР
+ТОМАШЕВ КОВИНКА
+ТОМАШЕВ МАТИЈА
+ТОМАШЕВ МАТИЈА
+ТОМАШЕВ ПЕТАР
+ТОМАШЕВ ВЕРА
+ТОМАШЕВИЋ БЛАГОТА
+ТОМАШЕВИЋ БОЖИДАР
+ТОМАШЕВИЋ БОРИСЛАВ
+ТОМАШЕВИЋ ДРАГАНА
+ТОМАШЕВИЋ ЕВИЦА
+ТОМАШЕВИЋ ИВАН
+ТОМАШЕВИЋ ЈЕЛИЦА
+ТОМАШЕВИЋ ЈОВАН
+ТОМАШЕВИЋ КОСТА
+ТОМАШЕВИЋ ЉУБИША
+ТОМАШЕВИЋ ЉУБИЦА
+ТОМАШЕВИЋ ЛУКА
+ТОМАШЕВИЋ МАНОЈЛЕ
+ТОМАШЕВИЋ МИЛЕНКО
+ТОМАШЕВИЋ МИЛИВОЈ
+ТОМАШЕВИЋ МИЛКА
+ТОМАШЕВИЋ МИЛОРАД
+ТОМАШЕВИЋ МИОДРАГ
+ТОМАШЕВИЋ МИОДРАГ
+ТОМАШЕВИЋ НАДА
+ТОМАШЕВИЋ НАДЕЖДА
+ТОМАШЕВИЋ РАДИВОЈ
+ТОМАШЕВИЋ РАДОЈКА
+ТОМАШЕВИЋ РАДОЈКА
+ТОМАШЕВИЋ САВО
+ТОМАШЕВИЋ СЛОБОДАН
+ТОМАШЕВИЋ СВЕТОМИР
+ТОМАШЕВИЋ ВЛАДИМИР
+ТОМАШЕВИЋ ВОЈИСЛАВ
+ТОМАШИЋ ЂУРА
+ТОМАШИЋ БЕРТА
+ТОМАШИЋ МАРТИН
+ТОМАШИЋ МИРЈАНА
+ТОМАШИЋ ТИБОР
+ТОМАЦ ИВАН
+ТОМАЦ МИРОСЛАВ
+ТОМАЦ РУЖИЦА
+ТОМАН ДИН
+ТОМАН ФРАЊА
+ТОМАН ЈОЖЕФ
+ТОМАН ЛАСЛО
+ТОМАН МАГДОЛНА
+ТОМАНИЋ ДУШАН
+ТОМАНИЋ-ЛАЦКОВИЋ МИЛЕНА
+ТОМАНИЋ МИЛЕНА
+ТОМАНИЋ ЗДЕНКА
+ТОМАНОВИЋ БРАНИСЛАВ
+ТОМАНОВИЋ МАРИЈА
+ТОМАНОВИЋ МИОДРАГ
+ТОМАНОВИЋ РАЈКО
+ТОМАНОВИЋ ТОМИСЛАВ
+ТОМАС АНДРИЈА
+ТОМАС ЈОСИП
+ТОМАС РУДОЛФ
+ТОМАС ЗДРАВКА
+ТОМЕЦ ВЛАДИСЛАВ
+ТОМИЧИЋ АНТЕ
+ТОМИЧИЋ ЦВИЈО
+ТОМИЧИЋ ЈОВО
+ТОМИЧИЋ ПЕТАР
+ТОМИЧИЋ СТОЈА
+ТОМИЧИЋ ТОМИСЛАВ
+ТОМИЧИН МАРИЈА
+ТОМИЋ ЧЕДОМИР ДИПЛ ИНГ
+ТОМИЋ ЧЕДОМИР
+ТОМИЋ ЖЕЉКО
+ТОМИЋ ЖИВКО
+ТОМИЋ ЖИВОЈИН
+ТОМИЋ ЂОРЂЕ
+ТОМИЋ ЂУРЂИЦА
+ТОМИЋ ЂУРЂИНКА
+ТОМИЋ ЂУРИЦА
+ТОМИЋ АЛЕКСАНДАР
+ТОМИЋ АЛЕКСАНДАР
+ТОМИЋ АЛЕКСАНДАР
+ТОМИЋ АЛЕКСАНДАР
+ТОМИЋ АЛЕКСАНДАР
+ТОМИЋ АЛЕКСА
+ТОМИЋ АНА
+ТОМИЋ АНГЕЛИНА
+ТОМИЋ АНКА
+ТОМИЋ АНКИЦА
+ТОМИЋ АНКИЦА
+ТОМИЋ АРИЈАДНА
+ТОМИЋ БИЉАНА
+ТОМИЋ БОШКО
+ТОМИЋ БОШКО
+ТОМИЋ БОЖИДАРКА
+ТОМИЋ БОГДАНКА
+ТОМИЋ БОЈКА
+ТОМИЋ БОРИСЛАВ ДР ИНГ
+ТОМИЋ БОРИСЛАВ
+ТОМИЋ БОСИЉКА
+ТОМИЋ БРАНКО
+ТОМИЋ ДАНИЦА
+ТОМИЋ ДАНИЛО МР
+ТОМИЋ ДАРИНКА
+ТОМИЋ ДЕЈАН
+ТОМИЋ ДЕВА
+ТОМИЋ ДРАГАН
+ТОМИЋ ДРАГАН
+ТОМИЋ ДРАГАН
+ТОМИЋ ДРАГА
+ТОМИЋ ДРАГА
+ТОМИЋ ДРАГОЉУБ
+ТОМИЋ ДРАГУТИН
+ТОМИЋ ДУШАН
+ТОМИЋ ДУШАН
+ТОМИЋ ДУШИЦА
+ТОМИЋ ЕВА
+ТОМИЋ ЕВА
+ТОМИЋ ГОРДАНА
+ТОМИЋ ГРАДИМИР
+ТОМИЋ ИЛЕ
+ТОМИЋ ИЛЕ
+ТОМИЋ ИЛИЈА
+ТОМИЋ ИЛИЈА
+ТОМИЋ ИЛИЈА
+ТОМИЋ ИВАН
+ТОМИЋ-ИВИЧИЋ БИЉАНА
+ТОМИЋ ЈЕЛЕНА
+ТОМИЋ ЈЕЛИЦА
+ТОМИЋ ЈОСИФ
+ТОМИЋ ЈОСИП
+ТОМИЋ ЈОВАНКА
+ТОМИЋ ЈОВАН
+ТОМИЋ ЈОВАН
+ТОМИЋ ЈОВАН
+ТОМИЋ ЈУЛИАНА
+ТОМИЋ КАТАРИНА
+ТОМИЋ КОНСТАНТИН
+ТОМИЋ КОРНЕЛИА
+ТОМИЋ КОСА
+ТОМИЋ КРСТА
+ТОМИЋ ЛАЗАР
+ТОМИЋ ЛАЗАР
+ТОМИЋ ЛЕПОСАВА
+ТОМИЋ ЉИЉАНА
+ТОМИЋ ЉИЉА
+ТОМИЋ ЉУБА
+ТОМИЋ ЉУБИША
+ТОМИЋ ЉУБИША
+ТОМИЋ ЉУБИША
+ТОМИЋ ЉУБИНКА
+ТОМИЋ ЉУБОМИР
+ТОМИЋ ЉУБОМИР
+ТОМИЋ МАРГИТ
+ТОМИЋ МАРИЈА
+ТОМИЋ МАРИЈА
+ТОМИЋ МАРИЈА
+ТОМИЋ МАРИЈА
+ТОМИЋ МАРКО
+ТОМИЋ МИЈОДРАГ
+ТОМИЋ МИЛАДИН
+ТОМИЋ МИЛАН
+ТОМИЋ МИЛАН
+ТОМИЋ МИЛАН
+ТОМИЋ МИЛАН
+ТОМИЋ МИЛЕНКО
+ТОМИЋ МИЛЕНКО
+ТОМИЋ МИЛЕ
+ТОМИЋ МИЛИВОЈ
+ТОМИЋ МИЛКА
+ТОМИЋ МИЛОШ
+ТОМИЋ МИЛОШ
+ТОМИЋ МИЛОМИР
+ТОМИЋ МИЛОРАД
+ТОМИЋ МИЛОРАД
+ТОМИЋ МИЛОСАВ
+ТОМИЋ МИРЈАНА
+ТОМИЋ МИРЈАНА
+ТОМИЋ МИРЈАН
+ТОМИЋ МИРКО
+ТОМИЋ МИРКО
+ТОМИЋ МИРОСЛАВ
+ТОМИЋ МИРОСЛАВ
+ТОМИЋ МИРОСЛАВ
+ТОМИЋ МИРОСЛАВ
+ТОМИЋ МИТАР
+ТОМИЋ МЛАДЕН
+ТОМИЋ МОМЧИЛО
+ТОМИЋ МОМЧИЛО
+ТОМИЋ НАТАША
+ТОМИЋ НАТАЛИЈА
+ТОМИЋ НЕБОЈША
+ТОМИЋ НЕДЕЉКА
+ТОМИЋ-НЕДЕЉКОВИЋ ДОБРИЛА
+ТОМИЋ НЕДЕЉКО
+ТОМИЋ НЕНАД
+ТОМИЋ НЕНАД
+ТОМИЋ НЕНАД
+ТОМИЋ НИКОЛА
+ТОМИЋ НИКОЛА
+ТОМИЋ НОВИЦА
+ТОМИЋ ОЛГИЦА МР
+ТОМИЋ ОЛИВЕРА
+ТОМИЋ ПАВЛЕ ДР
+ТОМИЋ ПЕЛКА
+ТОМИЋ ПЕТАР
+ТОМИЋ ПЕТКО
+ТОМИЋ РАДИВОЈЕ
+ТОМИЋ РАДОВАН
+ТОМИЋ РАДОВАН
+ТОМИЋ РАТОМИР
+ТОМИЋ РОЗАЛИЈА
+ТОМИЋ САША
+ТОМИЋ САВА
+ТОМИЋ САВА
+ТОМИЋ СЕЛИМИР
+ТОМИЋ-СИМИН МИЛКА
+ТОМИЋ СИНИША
+ТОМИЋ СЛАВИЦА
+ТОМИЋ СЛАВИЦА
+ТОМИЋ СЛАВКО
+ТОМИЋ СЛАВКО
+ТОМИЋ СЛАВКО
+ТОМИЋ СЛАВОЉУБ
+ТОМИЋ СЛОБОДАНКА
+ТОМИЋ СЛОБОДАН
+ТОМИЋ СЛОБОДАН
+ТОМИЋ СНЕЖАНА
+ТОМИЋ СОФИЈА
+ТОМИЋ СТАНКО
+ТОМИЋ СТЕВАН
+ТОМИЋ СТЕВАН
+ТОМИЋ СТЕВАН
+ТОМИЋ СТЕВАН
+ТОМИЋ СТИПА
+ТОМИЋ СТЈЕПАН
+ТОМИЋ СВЕТОЗАР
+ТОМИЋ СВЕТОЗАР
+ТОМИЋ ТАТЈАНА
+ТОМИЋ ТОДЕ
+ТОМИЋ ТОДОР
+ТОМИЋ ВАЛЕРИЈА
+ТОМИЋ ВЕЉКО
+ТОМИЋ ВЕЉКО
+ТОМИЋ ВЕРА
+ТОМИЋ ВЕРИЦА
+ТОМИЋ ВЕСНА
+ТОМИЋ ВЕСНА
+ТОМИЋ ВЕСНА
+ТОМИЋ ВИД
+ТОМИЋ ВИНКО
+ТОМИЋ ВЛАДИМИР
+ТОМИЋ ВЛАДИМИР
+ТОМИЋ ВЛАСТИМИР
+ТОМИЋ ВЛАСТИМИР
+ТОМИЋ ВОЈИСЛАВА
+ТОМИЋ ВУКОСАВА
+ТОМИЋ ЗОРАН
+ТОМИЋ ЗОРИЦА
+ТОМИЋ ЗОРКА
+ТОМИЋ ЗОРКА
+ТОМИЋ ЗОРКА
+ТОМИК ЈОВАН
+ТОМИК СОФИЈА
+ТОМИК СТЕВАН
+ТОМИН ЖИВАН
+ТОМИН АЛЕКСАНДАР
+ТОМИН БРАНИСЛАВ
+ТОМИН БРАНИСЛАВ
+ТОМИН ДИМИТРИЈЕ
+ТОМИН ДРАГАН
+ТОМИН ДРАГАН
+ТОМИН ДРАГИЊА
+ТОМИН ДУШАН
+ТОМИН ГОРДАНА
+ТОМИН ЉУБИЦА
+ТОМИН ЉУБИЦА
+ТОМИН МАРИЈА
+ТОМИН МИЛАН
+ТОМИН МИЛУТИН
+ТОМИН МИЛУТИН
+ТОМИН МИРОСЛАВ
+ТОМИН МИТАР
+ТОМИН РАДОСЛАВ
+ТОМИН СТЕВАН ДИПЛ ПРАВНИК
+ТОМИН СТЕВАН
+ТОМИН СТЕВАН
+ТОМИН СТЕВАН
+ТОМИН СТЕВАН
+ТОМИН СВЕТЛАНА
+ТОМИН ВАСА
+ТОМИН ВИДОСАВА
+ТОМИНЧИЋ МИЛОВАН
+ТОМИНАЦ ВИНКО
+ТОМКА АЛПАР
+ТОМКА КАРЛО
+ТОМЉАНОВИЋ БОГОСЛАВ
+ТОМЉАНОВИЋ ЉУБИЦА
+ТОМЉАНОВИЋ МАРИЈА
+ТОМЉАНОВИЋ МИЛАН
+ТОМО ЈОСИП
+ТОМОВ БОГДАН
+ТОМОВ МИРЧЕ
+ТОМОВ САВА
+ТОМОВ СЛОБОДАН
+ТОМОВ ТОША
+ТОМОВ ТОДОР
+ТОМОВ ВЕЛИН
+ТОМОВ ВЕЛИН
+ТОМОВИЋ АНЂА
+ТОМОВИЋ БОЖИДАР
+ТОМОВИЋ БОРИСЛАВ
+ТОМОВИЋ ДРАГИЊА
+ТОМОВИЋ ДУШАН
+ТОМОВИЋ МИТАР
+ТОМОВИЋ РАДОМИР
+ТОМОВИЋ РАДОСЛАВ
+ТОМОВИЋ СТОЈАНКА
+ТОМОВИЋ ТОМО
+ТОМОВИЋ ВАСИЛИЈЕ
+ТОМОВИЋ ЗОРАН
+ТОМОВИЋ ЗОРИЦА
+ТОНЧЕВ ИВАН
+ТОНДОЛО СМИЉА
+ТОНИЋ ЖИКИЦА
+ТОНИЋ РУЖИЦА
+ТОНИЋ СТОЈИМЕН
+ТОНКОВИЋ ЈОЦА
+ТОНКОВИЋ ЈОСИП
+ТОНКОВИЋ МИЛАН
+ТОНКОВИЋ МИЛАН
+ТОНТЕ ФРИЂЕШ
+ТОНТИЋ ЂОРЂЕ
+ТОНТИЋ ДУШАН
+ТОПАЛОВ ДУШАН
+ТОПАЛОВ ГАВРА ДИПЛ ИНГ
+ТОПАЛОВ ЈЕЛИЦА
+ТОПАЛОВ МЕЛАНИЈА
+ТОПАЛОВ МЕЛАНИЈА
+ТОПАЛОВ МИХАЈЛО
+ТОПАЛОВ МИЛЕНА
+ТОПАЛОВ МИЛОШ
+ТОПАЛОВ МИЛОРАД
+ТОПАЛОВ НАДА
+ТОПАЛОВ ПЕТАР
+ТОПАЛОВ СОФИЈА
+ТОПАЛОВ СПАСОЈЕ
+ТОПАЛОВ СТАНИСЛАВА
+ТОПАЛОВ СТЕВАН
+ТОПАЛОВ СТЕВАН
+ТОПАЛОВ СТЕВАН
+ТОПАЛОВ СВЕТОЗАР
+ТОПАЛОВ ВАСИЛИЈЕ
+ТОПАЛОВ ВЕРА
+ТОПАЛОВИЋ БОЖО
+ТОПАЛОВИЋ ДУШАН
+ТОПАЛОВИЋ ДУКАТИНКА
+ТОПАЛОВИЋ ЕМИЛИЈА
+ТОПАЛОВИЋ ЈЕЛЕНА
+ТОПАЛОВИЋ ЈУЛИЈЕ
+ТОПАЛОВИЋ МИХАЈЛО
+ТОПАЛОВИЋ МИЛАН
+ТОПАЛОВИЋ МИРКО
+ТОПАЛОВИЋ НЕВЕНКА
+ТОПАЛОВИЋ РАДОЈИЦА
+ТОПАЛОВИЋ СТАНИЈА
+ТОПАЛОВИЋ ВЛАЈКО
+ТОПАЛСКИ ДАНИЛО
+ТОПАЛСКИ ДУШАНКА
+ТОПАЛСКИ-ФИШТЕШ НАДА
+ТОПАЛСКИ МИЛЕНА
+ТОПАЛСКИ ЗОРАН
+ТОПАР МАРИЈА
+ТОПИЋ ЧЕДО
+ТОПИЋ ЂУРО
+ТОПИЋ АНТО
+ТОПИЋ ЦВИЈА
+ТОПИЋ ДАНИЦА
+ТОПИЋ ДАНИЦА
+ТОПИЋ ДРАГАН
+ТОПИЋ ДРАГАН
+ТОПИЋ ИЛИЈА
+ТОПИЋ ЈОВАН
+ТОПИЋ ЈОВАН
+ТОПИЋ ЛЕОН
+ТОПИЋ ЉУБО
+ТОПИЋ МАРИЈА
+ТОПИЋ МИЛАДИНКА
+ТОПИЋ МИЛАН
+ТОПИЋ МИЛИВОЈЕ
+ТОПИЋ МИЛИВОЈ
+ТОПИЋ МИЛОРАД
+ТОПИЋ МИЛОРАД
+ТОПИЋ МИЛОРАД
+ТОПИЋ МИЛОРАД
+ТОПИЋ МИЛОВАН
+ТОПИЋ МИРКО
+ТОПИЋ МИТАР
+ТОПИЋ НАТАЛИЈА
+ТОПИЋ НЕЂО
+ТОПИЋ НИКО
+ТОПИЋ ПЕТАР
+ТОПИЋ РАТКО
+ТОПИЋ СРЕТЕН
+ТОПИЋ СТЕВАН
+ТОПИЋ ТАТЈАНА
+ТОПИЋ ВОЈИН
+ТОПИЋ ВОЈИСЛАВ
+ТОПКА АЛЕКСАНДАР
+ТОПКА АЛЕКСАНДАР
+ТОПЛАК ИМРЕ
+ТОПЛИЦА АБЕДИН
+ТОПЛИЦА ГАНИ
+ТОПЛИЦА НЕЂМЕДИН
+ТОПЛИЦА РАМАДАН
+ТОПЛИЦА ЗЕЋИР
+ТОПЛИЦА ЗЕНИЈА
+ТОПО АНТОНИЈА
+ТОПО ЉУБОМИР
+ТОПО НЕНАД
+ТОПОЛЧЕВИЋ ЈОВАН
+ТОПОЛАЦ РАДИВОЈ ДР ЛЕКАР
+ТОПОЛИЋ ЂУРА
+ТОПОЛИЋ ДУШАН
+ТОПОЛИЋ ПЕЈА
+ТОПОЉАНИН ВЛАДИСЛАВА
+ТОПОЛКОВИЋ ВЛАДИМИР
+ТОПОЛОВАЧКИ РАДОВАН
+ТОПОЛОВАЧКИ ВУКОСАВА
+ТОПРЕК СИМО
+ТОРЂАНСКИ АЛЕКСАНДАР
+ТОРБАРОВ ДУШАН
+ТОРБИЦА АЛЕКСА
+ТОРБИЦА БОРИСЛАВ
+ТОРБИЦА ДУШАН
+ТОРБИЦА ДУШАН
+ТОРБИЦА ИЛИЈА
+ТОРБИЦА ЈЕЛКА
+ТОРБИЦА ЈУЛКА
+ТОРБИЦА МАРИЈА
+ТОРБИЦА МИЛОШ
+ТОРБИЦА МИРОСЛАВ
+ТОРБИЦА НАДА
+ТОРБИЦА РАДОСЛАВ
+ТОРБИЦА ВЕРИЦА
+ТОРДА ЈАНКО
+ТОРДАИ ИЛОНА
+ТОРДАИ МАРИЈА
+ТОРДАИ СВЕТЛАНА
+ТОРДАЈ МИШКО
+ТОРДАЈИ ЈАНКО
+ТОРЕР ЂУРА
+ТОРМА ГЕЗА
+ТОРМА ЈОСИП
+ТОРМА ЈОВАН
+ТОРМА МАРГИТА
+ТОРМА СТЕВАН
+ТОРМА ВИЛИМ
+ТОРМАШИ ЂЕРЂ
+ТОРМАШИ ЈАНОШ
+ТОРМАШИ СМИЉКА
+ТОРМАШИ СТЕВАН
+ТОРМОШИ ЈОЖЕФ
+ТОРЊАНСКИ ЖАРКО
+ТОРЊАНСКИ БОРИСЛАВ
+ТОРЊАНСКИ БРАНИСЛАВ
+ТОРЊАНСКИ ЈЕЛКА
+ТОРЊАНСКИ СВЕТИСЛАВ
+ТОРОК ЧАБА
+ТОРОМАН БРАНИСЛАВ
+ТОРОМАН НЕЂЕЉКО
+ТОРОМАН РАДИСАВ
+ТОРОМАН РАДМИЛА
+ТОРОМАН РАДОЈИЦА
+ТОРОВИЋ ТРИПО
+ТОРТИЋ АНДРИЈА
+ТОРТИЋ ЈОСИП
+ТОРТИЋ МИХАЈЛО
+ТОРТИЋ СТЕВАН
+ТОРТИЋ ВЕРА
+ТОСМАН ЈОСИП
+ТОСУНОВИЋ ЈЕЛИСАВЕТА
+ТОСУНОВИЋ МАРИЈА
+ТОСУНОВИЋ ВЛАДИМИР
+ТОТ ШАНДОР
+ТОТ ШАНДОР
+ТОТ ШАНДОР
+ТОТ АМАЛИЈА
+ТОТ АНА
+ТОТ АНА
+ТОТ АНДРАШ
+ТОТ АНДРИЈА
+ТОТ АНДРИЈА
+ТОТ АНИЦА
+ТОТ АНТАЛ ДИПЛ ИНГ
+ТОТ АНТОНИЈА
+ТОТ АРПАД
+ТОТ-АРВАИ АНТАЛ
+ТОТ-АРВАИ ЈАНОШ
+ТОТ-АРВАИ ЈАНОШ
+ТОТ-БАГИ ИМРЕ
+ТОТ-БАГИ ЈАНОШ
+ТОТ-БАГИ МАРИЈА
+ТОТ БАЛИНТ
+ТОТ БЕРТА
+ТОТ-БОЈНИК ДЕЗИДЕР ДИПЛ ИНГ
+ТОТ БОРА
+ТОТ ДЕЖЕ
+ТОТ ДУШАНКА
+ТОТ ФЕРЕНЦ
+ТОТ ФЕРЕНЦ
+ТОТ ФЕРЕНЦ
+ТОТ ФЕРЕНЦ
+ТОТ ФЕРЕНЦ
+ТОТ ФРАЊА
+ТОТ ФРАЊА
+ТОТ ФРАЊА
+ТОТ ГАБОР
+ТОТ ГЕЗА
+ТОТ-ХОРТИ ШАНДОР
+ТОТ ИШТВАН
+ТОТ ИШТВАН
+ТОТ ИШТВАН
+ТОТ ИБОЉА ДР
+ТОТ ИЛОНА
+ТОТ ИЛОНА
+ТОТ ИЛОНА
+ТОТ ИМРЕ
+ТОТ ИРЕНА
+ТОТ ИРЕНА
+ТОТ ИВАН
+ТОТ ЈАНОШ
+ТОТ ЈАНОШ
+ТОТ ЈАНОШ
+ТОТ ЈЕЛЕНА
+ТОТ ЈОЖЕФ
+ТОТ ЈОЖЕФ
+ТОТ ЈОЖЕФ
+ТОТ ЈОЖЕФ
+ТОТ ЈОЖЕФ
+ТОТ ЈОСИП
+ТОТ ЈОВАНКА
+ТОТ ЈОВАН
+ТОТ ЈУЛИЈАНА
+ТОТ ЈУЛИЈАНА
+ТОТ ЈУЛИЈА
+ТОТ-КАША БЛАЖ
+ТОТ КАРОЉ
+ТОТ КАРОЉ
+ТОТ КАТАРИНА
+ТОТ КАТИЦА
+ТОТ КОВИЉКА
+ТОТ ЛАЈОШ
+ТОТ ЛАЈОШ
+ТОТ ЛАСЛО ДР
+ТОТ ЛАСЛО
+ТОТ ЛАСЛО
+ТОТ ЛАСЛО
+ТОТ ЛИВИЈА
+ТОТ МАГДОЛНА
+ТОТ МАРГИТА
+ТОТ МАРГИТА
+ТОТ МАРИЈА
+ТОТ МАРИЈА
+ТОТ МАРИЈА
+ТОТ МАРИЈА
+ТОТ МИХАЉ
+ТОТ МИХАЉ
+ТОТ МИКЛОШ
+ТОТ МИЛАНКА
+ТОТ МИЛКА
+ТОТ МИРОСЛАВ
+ТОТ НЕБОЈША
+ТОТ ОЛГА
+ТОТ ПАЛИКА
+ТОТ ПАЛ
+ТОТ ПАЛ
+ТОТ ПАЛ
+ТОТ ПАВЛЕ
+ТОТ РОЗАЛИЈА
+ТОТ РОЗАЛИЈА
+ТОТ СИЛВЕСТЕР
+ТОТ СТЕВАН
+ТОТ СТЕВАН
+ТОТ СТЕВАН
+ТОТ СТЈЕПАН
+ТОТ ТЕРЕЗА
+ТОТ ТЕРЕЗА
+ТОТ ТИБОР
+ТОТ ТОМИСЛАВ
+ТОТ ВАЛЕРИЈА
+ТОТ ВЛАДИМИР
+ТОТ ВЛАДИСЛАВ
+ТОТ ЗИТА
+ТОТ ЗЛАТА
+ТОТ ЗОЛТАН
+ТОТ ЗОРА
+ТОТАРВАИ МАРИЈА
+ТОТХ СИЛВЕСТЕР
+ТОТИЋ СВЕТОЗАР
+ТОТОВИЋ ЈОВАНКА
+ТОТОВИЋ МИЛАН
+ТОВАРЛОЖА ДУШАНКА
+ТОВЕРНИЋ ЗОРА
+ТОВИЛОВИЋ СВЕТЛАНА
+ТОВИЛОВИЋ ЗОРАН
+ТОВИТОВИЋ НИКОЛА
+ТОВИТОВИЋ СЛОБОДАН
+ТОВЈАНИН БИЉАНА
+ТОВЉАНИЋ ДУШАН
+ТОВЉАНИЋ САВА
+ТРАЖИ ПАЛ
+ТРАБАК КАТАРИНА
+ТРАИЛОВИЋ НАДА
+ТРАИЛОВИЋ СЕЛИМИР
+ТРАИЛОВИЋ ВОЈИСЛАВ
+ТРАЈЧЕВИЋ ЛЕПОСАВА
+ТРАЈЧЕВСКА АНИТА
+ТРАЈАНОВСКИ ЉУБИЦА
+ТРАЈАНОВСКИ ЉУБО
+ТРАЈАНОВСКИ МОЈСО
+ТРАЈАНОВСКИ ТРАЈАН
+ТРАЈБАР АДОЛФ
+ТРАЈБАР ЗВОНИМИР
+ТРАЈЕР ЛАДИСЛАВ ДР
+ТРАЈЕР РОБЕРТ
+ТРАЈКОВИЋ БОЖИДАР
+ТРАЈКОВИЋ БРАНИМИР
+ТРАЈКОВИЋ БРАНИСЛАВ
+ТРАЈКОВИЋ БРАНКО
+ТРАЈКОВИЋ ДИМИТРИЈЕ
+ТРАЈКОВИЋ ГЛИГОРИЈЕ
+ТРАЈКОВИЋ МИЛАН
+ТРАЈКОВИЋ МИЛОРАД
+ТРАЈКОВИЋ НАДА
+ТРАЈКОВИЋ НАЈДАН
+ТРАЈКОВИЋ РУЖИЦА
+ТРАЈКОВИЋ СЛОБОДАН
+ТРАЈКОВИЋ СТОЈАДИН
+ТРАЈКОВСКИ ДИМИТРИЈЕ
+ТРАЈКОВСКИ МЕТОДИЈЕ
+ТРАЈКОВСКИ ПАНТА
+ТРАКИЛОВИЋ ВЛАДА
+ТРАЉИЋ ИВАН
+ТРАНДАФИР ВАСИЛИЈЕ
+ТРАНКОЛОВИЋ ЦВЕТА
+ТРАНКУЛОВ ЈОЖЕФ
+ТРАУМ АРАНКА
+ТРАВАЊ ЈОВАНКА
+ТРАВАР ЂУРО
+ТРАВАР ЉУБИША
+ТРАВАР МИЛОСАВ
+ТРАВИЦА МИЛАН
+ТРАВИЦА МИЛЕ
+ТРАВИЦА НИКОЛА
+ТРАВИЦА РАДЕ
+ТРБАНОС ЖИВА
+ТРБИЋ БРАНИСЛАВ
+ТРБИЋ ЉУБИША
+ТРБИЋ МИЛАДИН
+ТРБИЋ МИРОСЛАВ
+ТРБИЋ ТАМАРА
+ТРБИЋ ВЛАДИМИР
+ТРБОЈЕВИЋ ЂОРЂЕ
+ТРБОЈЕВИЋ ЂУРАЂ
+ТРБОЈЕВИЋ БОГОЉУБ
+ТРБОЈЕВИЋ БРАНКО
+ТРБОЈЕВИЋ ДРАГИЦА
+ТРБОЈЕВИЋ ГАВРА
+ТРБОЈЕВИЋ ИДА
+ТРБОЈЕВИЋ ИЛИЈА
+ТРБОЈЕВИЋ ЈОВАН
+ТРБОЈЕВИЋ ЛАЗА
+ТРБОЈЕВИЋ МАРИЦА
+ТРБОЈЕВИЋ МИЛЕ
+ТРБОЈЕВИЋ МИЛИЦА
+ТРБОЈЕВИЋ НИКОЛА
+ТРБОЈЕВИЋ НИКОЛА
+ТРБОЈЕВИЋ СТЕВАН
+ТРБОЉЕВАЦ ДРАГОСЛАВ
+ТРБОВИЋ МИХАЈЛО ДИПЛ ПРАВНИК
+ТРБОВИЋ МИЛАН
+ТРБОВИЋ МИЛАН
+ТРБОВИЋ ВЕСНА
+ТРЕШЊИЋ АЛЕКСАНДРА
+ТРЕШЊИЋ ЈОВАН
+ТРЕШЊИЋ СТЕВАН
+ТРЕЋАКОВ СТОЈАН
+ТРЕБАТИЦКИ АЛЕКСАНДАР
+ТРЕБАТИЦКИ АЛЕКСАНДАР
+ТРЕБАТИЦКИ ЈУСТИНА
+ТРЕБАТИЦКИ МАРИЈА
+ТРЕБИЧНИК-ВУЧИЋ ОЛГА
+ТРЕБОВАЦ МИЛЕ
+ТРЕНЧЕВСКИ НАДЕЖДА
+ТРЕПАНИЋ МАХМУТ
+ТРЕСИГЛАВИЋ КАТИЦА
+ТРЕСИГЛАВИЋ МИЛАН
+ТРЕСИГЛАВИЋ СЛАВКО
+ТРЕСИГЛАВИЋ СТЕВАН
+ТРЕСИГЛАВИЋ ВАСА
+ТРЕСИГЛАВИЋ ВАСА
+ТРЕСКИЋ ЗДРАВКО
+ТРГАЛА ЂУРА
+ТРГО НЕВЕНКА
+ТРИЧКОВИЋ АНКА
+ТРИЧКОВИЋ ЈУЛКА
+ТРИЧКОВИЋ МИОДРАГ
+ТРИЧКОВИЋ СИНИША
+ТРИЧКОВИЋ ВЕРИЦА
+ТРИШИЋ ХРАНИСЛАВ
+ТРИШИЋ-ИЛИЋ СВЕТЛАНА
+ТРИШИЋ МЛАДЕН
+ТРИФКОВИЋ ЈОВИЦА
+ТРИФКОВИЋ КУЗМАН
+ТРИФКОВИЋ ЉУБИЦА
+ТРИФКОВИЋ МАРКО
+ТРИФКОВИЋ МИЛАДИН
+ТРИФКОВИЋ МИЛАН
+ТРИФКОВИЋ МИЛАН
+ТРИФКОВИЋ МИЛИСАВ
+ТРИФКОВИЋ МИРОСЛАВА
+ТРИФКОВИЋ НЕДЕЉКО
+ТРИФКОВИЋ СРЂА ДР
+ТРИФКОВИЋ ВЛАДИМИР
+ТРИФКОВИЋ ВОЈИСЛАВ
+ТРИФУ ДОРУ
+ТРИФУНЧЕВИЋ МАРИЈА
+ТРИФУНЧЕВИЋ МИЛОШ
+ТРИФУЊАГИЋ СПАСОЈЕ
+ТРИФУЊАГИЋ СВЕТИСЛАВ
+ТРИФУНОВ ДАНИЛО
+ТРИФУНОВ ЈОСИФ
+ТРИФУНОВ МИОДРАГ
+ТРИФУНОВ РАДМИЛА
+ТРИФУНОВИЋ ЖИКИЦА
+ТРИФУНОВИЋ ЖИВКА
+ТРИФУНОВИЋ БОШКО
+ТРИФУНОВИЋ ДАНКА
+ТРИФУНОВИЋ ДРАГАН
+ТРИФУНОВИЋ ДРАГОМИР
+ТРИФУНОВИЋ ИЛИНКА
+ТРИФУНОВИЋ ЈЕЛЕНА
+ТРИФУНОВИЋ ЈОВАН
+ТРИФУНОВИЋ ЈОВАН
+ТРИФУНОВИЋ МАКСИМ
+ТРИФУНОВИЋ МИЛИСАВ
+ТРИФУНОВИЋ МИЛОРАД ДИПЛ ИНГ
+ТРИФУНОВИЋ МИРЈАНА
+ТРИФУНОВИЋ МИРКО
+ТРИФУНОВИЋ НАДА
+ТРИФУНОВИЋ НАДЕЖДА
+ТРИФУНОВИЋ НЕГОВАНКА
+ТРИФУНОВИЋ ОЛГА
+ТРИФУНОВИЋ ПАВЛЕ
+ТРИФУНОВИЋ ПЕТАР
+ТРИФУНОВИЋ ПЕТАР
+ТРИФУНОВИЋ РАДИВОЈ
+ТРИФУНОВИЋ РАДМИЛА
+ТРИФУНОВИЋ РАДОМИР ДИПЛ ПРАВНИК
+ТРИФУНОВИЋ РУЖИЦА
+ТРИФУНОВИЋ СЛАВИЦА
+ТРИФУНОВИЋ СЛОБОДАН ДР
+ТРИФУНОВИЋ СЛОБОДАН
+ТРИФУНОВИЋ СОФИЈА
+ТРИФУНОВИЋ СТАНА
+ТРИФУНОВИЋ СВЕТИСЛАВ ДР
+ТРИФУНОВИЋ СВЕТОМИР
+ТРИФУНОВИЋ ТРИФУН
+ТРИФУНОВИЋ ВАСА
+ТРИФУНОВИЋ ВЕРА
+ТРИФУНОВИЋ ВЛАДАН
+ТРИФУНОВИЋ ВЛАДИМИР
+ТРИФУНОВИЋ ВЛАДИМИР
+ТРИФУНОВИЋ ВОЈИСЛАВ
+ТРИФУНОВИЋ ВУКОСАВА
+ТРИФУНОВИЋ ВУКОСАВ
+ТРИКИЋ ДРАГИЦА
+ТРИКИЋ МИРКО
+ТРИКИЋ РОСА
+ТРИКИЋ СВЕТОЗАР
+ТРИКИЋ ВЛАДИМИР
+ТРИПКОВИЋ МИЛАН
+ТРИПКОВИЋ СЛОБОДАН
+ТРИПОЛСКИ МАРИЈА
+ТРИПУНОВИЋ ЂОРЂИЈА
+ТРИПУНОВИЋ БЛАЖО
+ТРИПУНОВИЋ ДРАГОМИР
+ТРИС ЈАКОБ
+ТРИВАНОВИЋ ДРАГАН
+ТРИВАНОВИЋ РАДЕ
+ТРИВАНОВИЋ СТЕВАН
+ТРИВАНОВИЋ ВЕРА
+ТРИВИЋ БОРИС
+ТРИВИЋ БРАНИСЛАВ
+ТРИВИЋ ДОБРИВОЈЕ
+ТРИВИЋ ДУШАН
+ТРИВИЋ ЈОВАН
+ТРИВИЋ СВЕТЛАНА
+ТРИВУНЧИЋ МИРА
+ТРИВУНЏА МИЛОШ
+ТРИВУНЏА НЕНАД
+ТРИВУНИЋ БОГОЉУБ
+ТРИВУНИЋ МИРОСЛАВ
+ТРИВУНИЋ РАНКО
+ТРИВУНОВИЋ МЛАДЕНКО
+ТРИВУНОВИЋ СИМО
+ТРИВУНОВИЋ ТИХОМИР
+ТРИЗЛИЋ СЛАВКО
+ТРКЉА ГОЈКО
+ТРКЉА МИРКО
+ТРКУЉА ЖИВОРАД
+ТРКУЉА АНА
+ТРКУЉА БОШКО
+ТРКУЉА БОРИСЛАВ
+ТРКУЉА БРАНКО
+ТРКУЉА ДРАГАН
+ТРКУЉА ДРАГАН
+ТРКУЉА ЕСТЕР
+ТРКУЉА ГОЈКО
+ТРКУЉА ГРОЗДА
+ТРКУЉА ЈОВАН
+ТРКУЉА ЈУЛКА
+ТРКУЉА МАРИНКО
+ТРКУЉА МИЛАН
+ТРКУЉА МИЛОРАД
+ТРКУЉА МИОДРАГ
+ТРКУЉА МИОДРАГ
+ТРКУЉА НЕДЕЉКО
+ТРКУЉА НИКОЛА
+ТРКУЉА НОВАК
+ТРКУЉА НОВАК
+ТРКУЉА ПЕТАР
+ТРКУЉА РАНКО
+ТРКУЉА СЛАВКО
+ТРКУЉА СОФИЈА
+ТРКУЉА СОЊА
+ТРКУЉА СТЕВАН
+ТРКУЉА СТОЈАНКА
+ТРКУЉА ВЛАДИСЛАВА
+ТРМЧИЋ РАДОСЛАВ
+ТРНЧИЋ ЛАЗО
+ТРНАВАЦ МИЛАН
+ТРНИЋ РАДМИЛА
+ТРНИЋ ВЕРА
+ТРНИНИЋ ЖИВАН
+ТРНИНИЋ ЖИВОЈИН
+ТРНИНИЋ ЂОРЂЕ
+ТРНИНИЋ ЂУРА
+ТРНИНИЋ БОГДАН
+ТРНИНИЋ БОЈА
+ТРНИНИЋ БОРИВОЈ
+ТРНИНИЋ БОСИЉКА
+ТРНИНИЋ ДОБРИВОЈ
+ТРНИНИЋ ДРАГАН
+ТРНИНИЋ ДРАГАН
+ТРНИНИЋ ДУШАН
+ТРНИНИЋ МАРА
+ТРНИНИЋ МАРИЈА
+ТРНИНИЋ МИРКО
+ТРНИНИЋ МИРКО
+ТРНИНИЋ МИРОСЛАВ
+ТРНИНИЋ МОМЧИЛО
+ТРНИНИЋ ОЛИВЕРА
+ТРНИНИЋ РАДИВОЈ
+ТРНИНИЋ РАДОЈКА
+ТРНИНИЋ РАДОВАН
+ТРНИНИЋ СТЕВА
+ТРНИНИЋ ВЛАДИМИР
+ТРЊАКОВ ДУШАН
+ТРНОВАЦ НАДА
+ТРОЧА КОРНЕЛ
+ТРОШЕЉАЦ МАТО
+ТРОШКИН САВЕТА
+ТРОШКИН ТАМАРА
+ТРОЈАНОВ ЕДВАРД
+ТРОЈАНОВ МАРИЈА
+ТРОЈАНОВ РОМАН
+ТРОЈКОВИЋ ИЛОНА
+ТРОМЛЕР ЛАСЛО
+ТРПЧЕВИЋ МИРОСЛАВ
+ТРПЧЕВСКИ ТОМЧЕ
+ТРПИНАЦ ЈЕЛЕНА
+ТРПКА ПАВЛЕ
+ТРПКА ПАВЛЕ
+ТРПОВСКИ ВАСИЉ
+ТРСТЕЊАК ФРАЊА
+ТРТИЋ СЛАВКО
+ТРУШНОВЕЦ ИВАН
+ТРУБАРАЦ ГАБРИЈЕЛА
+ТРУДА АЛИЈА
+ТРУДИЋ ИВАН
+ТРУЈИЋ ДУШИЦА
+ТРУЈИЋ МИЛОШ ВЕТЕРИНАР
+ТРУМБИЋ ВЕДРАН
+ТРУМИЋ СОФИЈА
+ТРУМИЋ ВЕРА
+ТУЧЕВ ЖИВАНКА
+ТУШЕВ ЖИВКО
+ТУШЈАК ЈАН
+ТУШЈАК ЈУРАЈ
+ТУШЈАК МИЛОШ
+ТУШНЕК ОТИЛИЈА
+ТУШЊАК АНА
+ТУБИЋ ЖИВАН
+ТУБИЋ АЛЕКСАНДАР
+ТУБИЋ БРАНИСЛАВ
+ТУБИЋ ДРАГУТИН
+ТУБИЋ ДУШАН
+ТУБИЋ ДУШАН
+ТУБИЋ ЈУГОСЛАВ
+ТУБИЋ ЛЕПОСАВА
+ТУБИЋ МИЛАН
+ТУБИЋ МИЛЕНКО
+ТУБИЋ МИЛИВОЈ
+ТУБИЋ МИЛОШ
+ТУБИЋ МИЛОЈКО
+ТУБИЋ МИЛОРАД
+ТУБИЋ НИКОЛА
+ТУБИЋ НОВАК
+ТУБИЋ ОЛГА
+ТУБИЋ ПЕТАР
+ТУБИЋ РАДА
+ТУБИЋ РАДМИЛА
+ТУБИЋ РАДОВАН
+ТУБИЋ САВА
+ТУБИЋ СТАНКО
+ТУБИЋ СВЕТОЗАР ДР
+ТУБИЋ ВЕРА
+ТУБИЋ ВЛАДИМИР
+ТУБИЋ ЗОРАН
+ТУБИН КАТАРИНА
+ТУБИН СТОЈАН ДИПЛ ИНГ
+ТУБИН СТОЈА
+ТУБИН ТОМИСЛАВ
+ТУБИН ЗОРКА
+ТУЦАКОВ ЂОРЂЕ
+ТУЦАКОВ ЂОРЂЕ
+ТУЦАКОВ БОШКО
+ТУЦАКОВ БОГДАНКА
+ТУЦАКОВ БОРА
+ТУЦАКОВ БРАНКО
+ТУЦАКОВ ДАРИНКА
+ТУЦАКОВ ДРАГАН
+ТУЦАКОВ КАМЕНКО
+ТУЦАКОВ ЛАТИНКА
+ТУЦАКОВ МАРИЈА
+ТУЦАКОВ МАРКО
+ТУЦАКОВ МИЛАН
+ТУЦАКОВ МИЛАН
+ТУЦАКОВ МИЛИЦА
+ТУЦАКОВ НОВАК
+ТУЦАКОВ РАДИВОЈ
+ТУЦАКОВ РАДОЈКА
+ТУЦАКОВ РАДОСЛАВ
+ТУЦАКОВ РАЈКО
+ТУЦАКОВ СИНИША
+ТУЦАКОВ ТАНАСИЈЕ
+ТУЦАКОВ ВЕРА
+ТУЦАКОВ ВЛАДИМИР
+ТУЦАКОВ ЗОРАНА
+ТУЦАКОВ ЗОРА
+ТУЦАКОВИЋ ЂОРЂЕ
+ТУЦАКОВИЋ ДАНИЦА
+ТУЦАКОВИЋ ДЕСАНКА
+ТУЦАКОВИЋ ЈОВАН
+ТУЦАКОВИЋ МИЛОШ
+ТУЦАКОВИЋ РАДОСЛАВ
+ТУЦИЋ ЂОРЂЕ
+ТУЦИЋ БРАНИСЛАВ
+ТУЦИЋ ЛАЗАР
+ТУЦИЋ МИЛЕНКО
+ТУЦИЋ МИРОСЛАВА
+ТУЦИЋ МИРОСЛАВ
+ТУЦИЋ ВУЈИЦА
+ТУЦОВИЋ ЗОРА
+ТУФЕГЏИЋ МИЛЕН
+ТУКАЧ МИХАЈЛО
+ТУКАНИЋ ЕНДРЕ
+ТУКАНИЋ ИРЕНА
+ТУКАР ФАДИЛ
+ТУКАР МИРЈАНА
+ТУКИЋ ПЕТАР
+ТУКИЋ СТОЈАНКА
+ТУЛАЋ ЈОВИЦА
+ТУЛЕНЧИЋ КАТИЦА
+ТУЛЕНЧИЋ РАДОСЛАВА
+ТУЛЕНЧИЋ РАДОСЛАВ
+ТУЛИЋ БОРКО
+ТУЛИЋ НЕВЕНКО
+ТУЛУБЕЦ ЂОРЂЕ
+ТУЛУБЕЦ МИЛКА
+ТУЛУБЕЦ ВАСИЛИЈЕ
+ТУМАРИЋ БРАНИСЛАВ
+ТУМАРИЋ ЦВЕТИН
+ТУМАРИЋ МИЛОРАД
+ТУМБАС АГНЕЗА
+ТУМБАС ИВАН
+ТУМБАС ЉУДЕВИТ
+ТУМИН ДУШАНКА
+ТУНГУЗ ЈЕЛИСАВЕТА
+ТУНИЋ РАДОЈИЦА
+ТУНИЋ РАЈКО
+ТУНИЋ СПАСОЈЕ
+ТУНИЋ СТЕВАН
+ТУНТЕВ МАРИЈА
+ТУПАНЧЕВСКИ НИКОЛА
+ТУПЕЦ ЗВОНИМИР
+ТУПИЋ НЕВЕНКА
+ТУР МИХАЈЛО
+ТУР СУЗАНА
+ТУРЧАН ЈАН
+ТУРЧАН ЈАН
+ТУРЧАН ЈУРАЈ
+ТУРЧАН ВЛАДИМИР СУДИЈА
+ТУРЧИЋ МИРОСЛАВА
+ТУРШИЋ ЈЕЛЕНА
+ТУРШИЈАН ВАСА
+ТУРАИ БЕЛА
+ТУРАИ МИХАЈЛО
+ТУРАИ ТЕРЕЗА
+ТУРАЈЛИЋ МИЛЕ
+ТУРАЈЛИЈА БОЖИЦА
+ТУРАЈЛИЈА МИРОСЛАВ
+ТУРАН ЂУРА
+ТУРАН ЉУБИЦА
+ТУРАНСКИ ЂОРЂЕ
+ТУРАНСКИ ФЕРЕНЦ
+ТУРАНСКИ ГЕЗА
+ТУРАНСКИ ЈАНОШ
+ТУРАНСКИ ЈОСИП
+ТУРАНСКИ ЛАСЛО
+ТУРАНСКИ МАРИЦА
+ТУРАНСКИ МАРИЈА
+ТУРАНСКИ МАТИЈА
+ТУРАНСКИ ПЕТАР
+ТУРАНСКИ СТЕВАН
+ТУРИ АРПАД
+ТУРИ ТИБОР
+ТУРИЋ ЛУКА
+ТУРИЋ МАРИНКО
+ТУРИКА ЈОСИМ
+ТУРИНСКИ ДУШАН
+ТУРИНСКИ ЕДИТА
+ТУРИНСКИ МИЛЕТА
+ТУРИНСКИ МИОМИР
+ТУРК МИРКО
+ТУРК НАДА
+ТУРКАЉ КАТА
+ТУРКОВИЋ ХАКИЈА
+ТУРКОВИЋ МИРКО
+ТУРКОВИЋ МИТАР
+ТУРКОВИЋ ПЕТАР
+ТУРКОВИЋ РАФИТ
+ТУРКОВИЋ ВЛАДИМИР
+ТУРКОВИЋ ЗИНКА
+ТУРКУЛОВ ЖАКЛИНА
+ТУРКУЛОВ ДУШАН
+ТУРКУЛОВ ЈОВАН
+ТУРЛАКОВ ЦВЕТАН
+ТУРНАЈ СЛАВОЉУБ ДИПЛ ИНГ
+ТУРО МИХАЉ
+ТУРОМАН МИЛОРАД
+ТУРОПОЉАЦ МИЋО
+ТУРУДИЋ МИЛАН
+ТУРУДИЋ МИОДРАГ
+ТУРУДИЈА МИЛОРАД
+ТУРУКАЛО МИОДРАГ
+ТУРУКАЛО РАДМИЛА
+ТУРУКАЛО ЗОРА
+ТУРЗО ЈЕЛИСАВЕТА
+ТУРЗО КАРЛО
+ТУТИЋ ИЛИЈА
+ТУТНИЛОВИЋ НАДА
+ТУТЊЕВИЋ БОЖЕНКА
+ТУТЊЕВИЋ БОГДАН
+ТУТЊЕВИЋ ЈОВАН
+ТУТЊЕВИЋ МИРОСЛАВ
+ТУТЊЕВИЋ РАДОЈКА
+ТУТОРОВ ДЕСАНЧИЋ
+ТУТОРОВ ЈУЛКИЦА
+ТУТОРОВ СТАНА
+ТУТОРОВ СТЕВАН
+ТУТУЛУГЏИЈА МАРА
+ТУВЕЏИЋ ДРАГАНА
+ТУВИЋ СЛОБОДАН
+ТВРТКОВИЋ МАРИН ДР ЛЕКАР
+УШЋЕБРКА ЛАЗАР
+УШЋЕБРКА МИЛЕНКО
+УШЋЕБРКА ЗЛАТО
+УШЋУМЛИЋ МИЛЕНКО
+УШЋУМЛИЋ НЕШКО
+УШЋУМЛИЋ ВУКИЦА
+УШАН ЈАНЕЗ
+УШЈАК ЈАНКО
+УШЈАК ЈАРМИЛА
+УШЈАК ВЛАСТА
+УШЉЕБРКА МИЛОРАД
+УШТИПАК ЈЕЛА
+УЋУКАЛО СИМО
+УЖАР ДЕСАНКА
+УЖАР КАТИЦА
+УЖИЧАНИН ЂОРЂЕ
+УБАВЧИЋ САВА
+УБАВИЋ ДАРИНКА
+УБАВИЋ ЉУБИЦА
+УБАВИЋ МОМЧИЛО ДР
+УБИПАРИП ЧЕДО
+УБИПАРИП ЖИВКО
+УБИПАРИП ГОЈКО
+УБИПАРИП ИЛЕ
+УБИПАРИП ЈАЊА
+УБИПАРИП ЈОВО
+УБИПАРИП МАРИНКО
+УБИПАРИП МАРКО
+УБИПАРИП МИЛАН
+УБИПАРИП МИРКО
+УБИПАРИП МОМИР
+УБИПАРИП ПАВЛЕ
+УБИПАРИП СЛАВКО
+УБИПАРИП ТОДЕ
+УБИПАРИП ВОЈКО
+УБИПАРИП ЗДРАВКО
+УБИПАРИП ЗОРАН
+УБОРКА ШАНДОР
+УБОРКА МАРТОН
+УБОРКА СТЕВКА
+УБОРЊИ ШАНДОР
+УБОРЊИ АНДРАШ
+УБОВИЋ ЕВА
+УБОВИЋ ЈЕФТА
+УБОВИЋ ЈОВИЦА
+УБОВИЋ МАРКО
+УБОВИЋ МИЛОШ
+УБОВИЋ ПЕТРА
+УБОВИЋ РАЈКО
+УЦАЈ ВЛАДИМИР
+УДИЦКИ ПАЈА
+УДИЦКИ СЛАВИЦА
+УДИЦКИ СРЕДОЈЕ
+УДОВИЧИЋ БОБАН
+УДОВИЧИЋ БРАНКО
+УДОВИЧИЋ ИВАН
+УДОВИЧИЋ МОМИР
+УДОВИЧИЋ РАДОСЛАВ
+УДОВИЧИЋ СТЕВАН
+УДОВИЧКИ БРАНКО ЛЕКАР
+УДОВИЧКИ ЈУЛКА
+УДОВИЧКИ ОЛГИЦА ДР
+УДОВИЧКИ СЛОБОДАН
+УДОВИЧКИ СВЕТОЗАР
+УДРИЈА ПЕТАР
+УДВАРДИ КАРЛО
+УГАРЧИНА БОРИСЛАВ
+УГАРЧИНА ДРАГАН
+УГАРЧИНА ИЛИЈА
+УГАРАК ЂОРЂЕ
+УГАРАК БОЖО
+УГАРАК ДРАГАН
+УГАРАК ДУШАН
+УГАРАК ПЕТАР
+УГАРКОВИЋ ДАРИНКА
+УГАРКОВИЋ ЈЕЛА
+УГАРКОВИЋ КАТИЦА
+УГАРКОВИЋ СТЕВАН
+УГЉЕШИЋ БОШКО
+УГЉЕШИЋ ХИЛДА
+УГРЧИЋ ВУКИЦА
+УГРЕШИЋ ПЕТАР
+УГРЕМ МАРИЈА
+УГРЕМ РАДОВАН
+УГРЕН МИЛОРАД
+УГРЕН ПЕТАР
+УГРЕНИЋ ЛАСЛО
+УГРЕНИЋ МИХАЉ
+УГРЕНОВИЋ ВУЧИЋ
+УГРЕНОВИЋ ВУЈАДИН
+УГРИЦА ДРАГАН
+УГРИЦА СРЕЋКО
+УГРИН ИЛИЈА
+УГРИН МИЛОВАН
+УГРИНЧИЋ ДАНИЛКА
+УГРИНЧИЋ ДОБРИЛА
+УГРИНЧИЋ МИЛИВОЈ
+УГРИНЧИЋ МИРЈАНА ДР
+УГРИНЧИЋ СТЕВАН
+УГРИНЧИЋ ВЛАДА ДИПЛ ИНГ
+УГРИНОВ ЂУРИЦА
+УГРИНОВ ДОБРИЛА
+УГРИНОВ МИЛИЦА
+УГРИНОВ НАДА
+УГРНОВ ВЛАДИМИР
+УГРНОВ ЗОРИЦА
+УХЕР ВЕРА
+УХЛАРИК ЕЛИЗАБЕТА
+УХЛАРИК ЛАДИСЛАВ
+УХЛАРИК СТЕВАН
+УХОР ПЕТАР
+УЈ МАРТОН
+УЈЧИЋ БЛАЖ
+УЈЧИЋ ТОМА
+УЈДИЛОВИЋ МИЛОРАД
+УЈФАЛУШ ВЕЛИМИР
+УЈФАЛУШИ ЂУРА
+УЈФАЛУШИ ЈАНКО
+УЈФАЛУШИ ЈУЛИЈАН
+УЈФАЛУШИ ЉУБОМИР
+УЈФАЛУШИ МИРОСЛАВ
+УЈФАЛУШИ НИКОЛА
+УЈФАЛУШИ СИЛВЕСТЕР
+УЈФАЛУШИ ВЛАДИМИР
+УЈФЕЉАН МИЛАН
+УЈХАЗИ БОРИШКА
+УЈХАЗИ ИВАН
+УЈХАЗИ ЈЕЛИСАВЕТА
+УЈХАЗИ ЛАДИСЛАВ
+УЈХАЗИ МИРКО
+УЈХЕЉИ ЈОВАНКА
+УЈХЕЉИ МИХАЉ
+УЈЛАКОШ КАРЛО
+УЈВАРИ ГАБОР
+УЈВАРИ КАТАЛИН
+УКАЧЕК ВЕРКА
+УКРОПИНА ЧЕДА
+УКРОПИНА ДЕСАНКА
+УКРОПИНА ЈЕЛЕНА
+УКРОПИНА ЈОВАНКА
+УКРОПИНА ЈОВАН
+УКРОПИНА МИЛОВАН
+УКРОПИНА НЕБОЈША
+УКРОПИНА ПАНТО
+УКРОПИНА ТОМИСЛАВ
+УЛЕМЕК ЂУРО
+УЛИЋ ЖЕЉКА
+УЛИЋ ЂОРЂЕ
+УЛИЋ АЛЕКСАНДАР
+УЛИЋ ДОБРОСЛАВ
+УЛИЋ МИЛАН
+УЉАРЕВИЋ ПЕРО
+УМЕК МАРГИТА
+УМЕК МИКЛОШ
+УМИЧЕВИЋ ПЕРА
+УМИЋЕВИЋ ЖЕЉКО
+УМИЋЕВИЋ ГОРДАНА
+УМИЋЕВИЋ МИРКО
+УМИЋЕВИЋ МЛАДЕН
+УНЧАНИН БОЈАН
+УНЧАНИН ДУШАН
+УНГАР ТИХОМИР
+УНГУРОВИЋ ЈЕЛЕНА
+УНКОВИЋ АНЂЕЛКО
+УНКОВИЋ МЛАДЕН
+УРАЧ ШАНДОР
+УРАЧ АЛЕКСАНДАР
+УРАЧ ДАНИЦА
+УРАЧ ГИЗЕЛА
+УРАЧ ИШТВАН
+УРАЧ РОЗАЛИЈА
+УРБАН ЂЕРЂ
+УРБАН ЂОРЂЕ
+УРБАН АНА
+УРБАН ХОРВАТ
+УРБАН ИШТВАН
+УРБАН ЈАНОШ
+УРБАН ЈАСНА
+УРБАН МИХАЉ
+УРБАН МИХАЉ
+УРБАН ПАВЕЛ
+УРБАН СТАНИСЛАВ
+УРБАН СТЕВАН
+УРБАН ВИКТОРИЈА
+УРБАН ВЛАДИСЛАВ
+УРБАНЧИК ПИРОШКА
+УРБАНЧИК СИЛВИА
+УРБАНОВИЋ СТЕВАН
+УРДАРЕВИЋ СТАНИМИР
+УРЕКЕ ЂОРЂЕ
+УРИ ЧАБА
+УРИ АЛЕКСАНДАР
+УРИ ЕВА
+УРИ ГАБОР
+УРИ КАРЛО
+УРИ ЛАСЛО
+УРИ ПАЈА
+УРИ СТЕВАН
+УРИ СТЕВАН
+УРКИН ЉУБИЦА
+УРЛИХ МАРИЈА
+УРОШЕВ ЖИВАН
+УРОШЕВ БОЈКА
+УРОШЕВ ИЛИЈА
+УРОШЕВ ЈЕРИЦА
+УРОШЕВ МИЛЕНКО
+УРОШЕВ МИРЈАНА
+УРОШЕВ ПАЈА
+УРОШЕВ СОФИЈА
+УРОШЕВ СТОЈАН
+УРОШЕВ ВЕЛИНКА
+УРОШЕВИЋ ЖИВАН
+УРОШЕВИЋ АЛЕКСАНДАР
+УРОШЕВИЋ БОГДАН ДИПЛ ИНГ
+УРОШЕВИЋ БОРИВОЈ
+УРОШЕВИЋ БРАНКА
+УРОШЕВИЋ БРАНКО
+УРОШЕВИЋ ДРАГИША
+УРОШЕВИЋ ДУШАН
+УРОШЕВИЋ ИВАН
+УРОШЕВИЋ ЛЕОНА
+УРОШЕВИЋ ЉИЉАНА
+УРОШЕВИЋ ЉУБИЦА
+УРОШЕВИЋ МАРКА
+УРОШЕВИЋ МИЛОШ
+УРОШЕВИЋ МИРЈАНА
+УРОШЕВИЋ НАДА
+УРОШЕВИЋ РУЖИЦА
+УРОШЕВИЋ СРЂА
+УРОШЕВИЋ СТАНИСЛАВА
+УРОШЕВИЋ ВИДОЈКО
+УРОШЕВИЋ ВЛАДИМИР
+УРОШЕВИЋ ЗОРИЦА
+УРСИЋ ВЛАДИМИР
+УРСУЛЕСКУ ФЛОРИН
+УРСУЛЕСКУ ЈУЛИЈАН
+УСКОКОВИЋ БРАНИСЛАВ
+УСКОКОВИЋ МИЛЕНКО
+УСКОКОВИЋ МИЛОШ
+УСТИЋ ЂУРА
+УСТИЋ НИКОЛА
+УСТИЋ СИМА
+УСТИЋ ВОЈКО
+УТАШИ ЧАБА
+УТЈЕШАНОВИЋ СИМО
+УТЈЕШИНОВИЋ ДЕСАНКА
+УТЈЕШИНОВИЋ ЉИЉАНА
+УТЈЕШИНОВИЋ МИЛАН
+УТЈЕШИНОВИЋ ВЕРА
+УТОРНИК ИВАН
+УТОРНИК ЈОВАН
+УТОРНИК КАТИЦА
+УТОРНИК ЉУБИЦА
+УТОРНИК МИЛОШ
+УТОРНИК-РАДУЛОВИЋ МАРИЈА
+УТОРНИК СТЕВАН
+УТОРНИК СВЕТОЗАР
+УТРЖАН БРАНКО
+УТВИЋ КОСТА
+УТВИЋ ПАВЛЕ
+УТВИЋ ВАСА
+УТВИЋ-ВУКАШИНОВИЋ ДАРА
+УВАЛИЋ АНГЕЛИНА
+УВАЛИЋ ДУШАНКА
+УВАЛИЋ ДУШАН
+УВАЛИЋ ДУШКО
+УВАЛИЋ ЛАЗАР
+УВАЛИЋ МЕЛАНИЈА
+УВАЛИЋ РАДОСЛАВ
+УВАЛИЋ СТАНИСЛАВ
+УВАЛИЋ ВАСА
+УВЕРИЋ ЂУРА
+УВЕРИЋ БРАНКА
+УВЕРИЋ МИЛАН
+УВЕРИЋ МИЛОШ
+УВЕРИЋ МИЛОРАД
+УВЕРИЋ МИРЈАНА
+УВЕРИЋ НИКОЛА
+УЗАИР АЛИЈА
+УЗЕИРИ МУАРЕМ
+УЗЕЛАЦ ЂОРЂЕ
+УЗЕЛАЦ ЂОРЂЕ
+УЗЕЛАЦ ЂОРЂЕ
+УЗЕЛАЦ ЂОРЂЕ
+УЗЕЛАЦ ЂУРИЦА
+УЗЕЛАЦ ЂУРО
+УЗЕЛАЦ АЛЕКСАНДРА
+УЗЕЛАЦ АЛЕКСА
+УЗЕЛАЦ БИСЕРКА
+УЗЕЛАЦ БОШКО
+УЗЕЛАЦ БОГДАН
+УЗЕЛАЦ БОГДАН
+УЗЕЛАЦ БРАНИСЛАВ
+УЗЕЛАЦ БРАНИСЛАВ
+УЗЕЛАЦ БРАНИСЛАВ
+УЗЕЛАЦ БРАНКО
+УЗЕЛАЦ ЦВЕТА
+УЗЕЛАЦ ДАРИНКА
+УЗЕЛАЦ ДЕСАНКА
+УЗЕЛАЦ ДРАГАН
+УЗЕЛАЦ ДРАГАН
+УЗЕЛАЦ ДРАГАН
+УЗЕЛАЦ ДУШАНКА
+УЗЕЛАЦ ДУШАН
+УЗЕЛАЦ ДУШАН
+УЗЕЛАЦ ДУШАН
+УЗЕЛАЦ ДУШАН
+УЗЕЛАЦ ЕВА
+УЗЕЛАЦ ГАЛИНА
+УЗЕЛАЦ ГОРДАНА
+УЗЕЛАЦ ИЛИЈА
+УЗЕЛАЦ ИВАН
+УЗЕЛАЦ ЈЕЛЕНА
+УЗЕЛАЦ КОСТА
+УЗЕЛАЦ ЛАЗАР
+УЗЕЛАЦ МАРИЈА
+УЗЕЛАЦ МАРИЈА
+УЗЕЛАЦ МАРИЈА
+УЗЕЛАЦ МАРИЈА
+УЗЕЛАЦ МИХАЈЛО
+УЗЕЛАЦ МИЛАН
+УЗЕЛАЦ МИЛАН
+УЗЕЛАЦ МИЛАН
+УЗЕЛАЦ МИЛАН
+УЗЕЛАЦ МИЛАН
+УЗЕЛАЦ МИЛАН
+УЗЕЛАЦ МИЛАН
+УЗЕЛАЦ МИЛЕ
+УЗЕЛАЦ МИЛИЦА
+УЗЕЛАЦ МИЛОШ
+УЗЕЛАЦ МОМЧИЛО
+УЗЕЛАЦ НИКОЛА
+УЗЕЛАЦ НИКОЛА
+УЗЕЛАЦ ОЛИВЕРА
+УЗЕЛАЦ РАДМИЛА
+УЗЕЛАЦ РАДОЈКА
+УЗЕЛАЦ РЕНАТА
+УЗЕЛАЦ СЛАВКО
+УЗЕЛАЦ СЛОБОДАН
+УЗЕЛАЦ СЛОБОДАН
+УЗЕЛАЦ СОФИЈА
+УЗЕЛАЦ СРЂАН
+УЗЕЛАЦ СРЂАН
+УЗЕЛАЦ СТЕВАН
+УЗЕЛАЦ СТЕВАН
+УЗЕЛАЦ СТЕВАН
+УЗЕЛАЦ СТЕВАН
+УЗЕЛАЦ СТОЈАН
+УЗЕЛАЦ ВЕРА
+УЗЕЛАЦ ВУЈО
+УЗЕЛАЦ ЗЛАТКО
+УЗЕЛАЦ ЗЛАТКО
+УЗЕЛАЦ ЗЛАТКО
+УЗЕЛАЦ ЗОРАН
+УЗЕЛАЦ ЗОРАН
+УЗЕЛАЦ ЗОРАН
+УЗЕЛАЦ ЗОРАН
+УЗЕЛАЦ ЗОРАН
+УЗЕЛАЦ ЗОРАН
+УЗОРОЦКИ ИШТВАН
+УЗУНОВИЋ БРАНИСЛАВ
+УЗУНОВИЋ ЛАДИСЛАВ
+УЗУНОВИЋ МИЛОРАД
+УЗУНОВИЋ МИТО
+УЗУНОВИЋ НАСУФ
+УЗУНОВИЋ РАЈКО
+УЗУРОВ ОБРЕНИЈА
+УЗУРОВ РАДМИЛА
+ВАЧИЋ АЛЕКСАНДАР
+ВАЧИЋ ЗОРАН
+ВАЧИК ЈОЖЕФ
+ВАШ АТИЛА
+ВАШ ЈОСИП
+ВАШ ПАВЛЕ
+ВАШ ВЕРА
+ВАШЧИЋ БОЖИДАР
+ВАШАШ МИКЛОШ
+ВАШАШ ОЛГА
+ВАШАДИ ФЕРЕНЦ
+ВАШАДИ ЈУЛИЈАНА
+ВАШАДИ ВАЛЕРИЈА
+ВАШАЛИЋ АНКА
+ВАШАЛИЋ МИЛОШ
+ВАШАЛИЋ ОБРАД
+ВАШАЛИЋ УРОШ
+ВАШТАГ ЂОРЂЕ
+ВАШТАГ АНДРАШ
+ВАШТАГ ИШТВАН
+ВАШТАГ ИШТВАН
+ВАШТАГ ЈАСМИНКА
+ВАШТАГ МАРГИТА
+ВАШТАГ МАРИЈА
+ВАШТАГ МИХАЉ
+ВАШТАГ ОЛГА
+ВАШТАГ РУЖА
+ВАШТАГ СТОЈАН
+ВАЖИЋ ДАНИЦА
+ВАЖИЋ ЈОВАН
+ВАЖИЋ ЈУЛИЈА
+ВАЖИЋ МИРА
+ВАЖИЋ СЛАВИЦА
+ВАЖИЋ ВЕРИЦА
+ВАЖИЋ ВЕСЕЛИН
+ВАЖИЋ ВЛАДИМИР
+ВАЖОЊИ АНТАЛ
+ВАЖОЊИ РОЗАЛИЈА
+ВАЦИ ШИМОН
+ВАЦИЋ БЛАГОЈЕ
+ВАЦИЋ ВИДЕН
+ВАЦЛАВИК МАРИЈА
+ВАДАСКИ ЦЕЦИЛИЈА
+ВАДАСКИ ЉУБОМИР
+ВАДОЦ ФРАЊА
+ВАДОЦ ИВИЦА
+ВАДОЦ ЈОСИП
+ВАГИЋ ЂУРО
+ВАГНЕР ЂУРА
+ВАГНЕР АНДРИЈА
+ВАГНЕР ЈОСИП
+ВАГНЕР КАРЛО
+ВАГНЕР ЛАСЛО
+ВАГНЕР МАРИЈА
+ВАГНЕР ОТИЛИЈА
+ВАГО ИШТВАН
+ВАГО СТЕВАН
+ВАГУРИЋ ЗДРАВКО
+ВАЈАГИЋ АНЂЕЛКА
+ВАЈАГИЋ БОШКО
+ВАЈАГИЋ ГОРДАНА
+ВАЈАГИЋ МИЛАН
+ВАЈАГИЋ НИКОЛА ДР
+ВАЈАГИЋ НИКОЛА
+ВАЈАГИЋ САВО
+ВАЈАГИЋ СИМА
+ВАЈАГИЋ СТОЈАН
+ВАЈАГИЋ ЗОРИЦА
+ВАЈДА ШАНДОР
+ВАЈДА ШАНДОР
+ВАЈДА ИРМА
+ВАЈДА ЛАЈОШ
+ВАЈДА ЛАЈОШ
+ВАЈДА ТИБОР
+ВАЈДА ТОМИСЛАВ
+ВАЈДИЋ ЖИВКО
+ВАЈДИЋ ИВАН
+ВАЈДИЋ ЈОВАН ДР
+ВАЈДИЋ ЈОВАН ДР
+ВАЈДИЋ МИЛИЦА
+ВАЈДИЋ МИЛИЦА
+ВАЈДИЋ НАДА
+ВАЈДИЋ ПЕТАР
+ВАЈДИЋ ТИХОМИР
+ВАЈДЛ ЈОВАН
+ВАЈДЛ МИРОСЛАВ
+ВАЈДЛЕ ЈОЛАН
+ВАЈЛЕР АНДРИЈА
+ВАЈНШТАЈН ПЕТАР
+ВАЈНБЕРГЕР ВЛАДИМИР
+ВАЈНБЕРГЕР ЗЛАТКО
+ВАЈНБЕРГЕР ЗВОНИМИР
+ВАЈНГЕРТНЕР РАДОЈКА ДИПЛ ЕЦЦ
+ВАЈНХЕПЛ МАРИА
+ВАЈНХЕПЛ ОТМАР ДИПЛ ИНГ
+ВАЈОВИЋ ВАСИЛИЈЕ
+ВАЈС ШАНДОР
+ВАЈС БРАНКО
+ВАЈС КАРЛО
+ВАЈС КАРЛО
+ВАЈС МАГДА
+ВАЈС ВЕРИЦА
+ВАЈСЕНБЕРГ ЈОСИП
+ВАЈУКИЋ ПАНТЕЛИЈА
+ВАКАЊАЦ МИЛИЦА
+ВАЛ ЂОРЂЕ
+ВАЛ АНДРИЈА
+ВАЛ ЕВА
+ВАЛ ЗОЛТАН
+ВАЛАХ ЈАНКО
+ВАЛАН ОСТОЈА
+ВАЛАН ЗОРАН
+ВАЛДМА АРБО
+ВАЛЕК ЕМИЛИЈА
+ВАЛЕК ФРАЊА
+ВАЛЕНЧИК ПАВЕЛ
+ВАЛЕНЧИК СТЕВАН
+ВАЛЕНЋИК АНДРИЈА
+ВАЛЕНЋИК ЈАН
+ВАЛЕНЋИК ПАВЛЕ
+ВАЛЕНЋИК ВЛАДИМИР
+ВАЛЕНТ ЖУЖАНА
+ВАЛЕНТ ЈАНКО
+ВАЛЕНТ ЈАНКО
+ВАЛЕНТ ЛАСЛО
+ВАЛЕНТА ЈАСМИНКА
+ВАЛЕНТЕЊИ ЈОСИП
+ВАЛЕНТЕЊИ ЈУЛИЈАНА
+ВАЛЕНТИЋ ИВАН
+ВАЛЕНТИЋ ВИКТОР
+ВАЛЕНТИЋ ВИКТОР
+ВАЛЕНТИК НИКОЛА
+ВАЛЕНТИН ИМРЕ
+ВАЛЕНТИН ЈУЦИКА
+ВАЛЕНТИН СТЕВАН
+ВАЛЕНТИРОВ СТЕВАН
+ВАЛЕНТИРОВИЋ ЉУБОМИР
+ВАЛЕНТОВИЋ ЈОСИП
+ВАЛЕНТОВИЋ КАРЛО
+ВАЛЕНТОВИЋ КАРЛО
+ВАЛЕНТОВИЋ КАРЛО
+ВАЛЕНТОВИЋ ТИБОР
+ВАЛИЋ ГОРАН
+ВАЛИЋ СЛАВКО
+ВАЛИЏИЈА НИКОЛА ДИПЛ ИНГ
+ВАЛИХОРА ЈОЗЕФ
+ВАЛИХОРА КАТИЦА
+ВАЛКАИ ЈОЖЕФ
+ВАЛКО ГАВРА
+ВАЛО ГОРДАНА
+ВАЛО ЈОСИП
+ВАЛО ЈОСИП
+ВАЛО МИРКО
+ВАЛО СТЕВАН
+ВАЛОК ЂОРЂЕ
+ВАЛОК ЂУРА
+ВАЛОК РАТОМИР
+ВАЛТЕР ДРАГИЊА
+ВАЛТЕР ЉИЉАНА
+ВАЛТЕР НОРБЕРТ
+ВАЛТНЕР ПЕТАР
+ВАЛУШЕК ЈОВАН
+ВАЛУШЕК КАТИЦА
+ВАЛУШЕК ПАВЛЕ
+ВАЛУХ БРАНИСЛАВ
+ВАЛУХ ЈАНКО
+ВАЛУХ ЈАНКО
+ВАЛУХ КАРЛО
+ВАЛУХ МИХАЈЛО
+ВАМБАХ ВИКТОРИЈА
+ВАМОШЕР МИРЈАНА
+ВАМОШЕР ПАВЛЕ
+ВАМПОВАЦ ЈОСИП
+ВАНЂЕЛ МИЛАН
+ВАНДЕРЕР ПАЛ
+ВАНДОРИ МАРИЈА
+ВАНИЋ ДРАГУТИН
+ВАНИЋ КАТИЦА
+ВАНИЋ ЉУБИЦА
+ВАЊУР ФРАЊА
+ВАЊУР ФРАЊА
+ВАЊУР ИШТВАН ДИПЛ ИНГ
+ВАЊУР ЈОЖЕФ
+ВАЊУР ЈОСИП
+ВАЊУР КАРЛО
+ВАЊУР КАРЛО
+ВАЊУР МАРИЈА
+ВАНКО ЈАРОСЛАВ
+ВАНОВИЋ СНЕЖАНА
+ВАПА ЈОВАНКА
+ВАПА МИЛАН ДР
+ВАПА ВЕРА
+ВАПА ЗОРАН
+ВАПЕНСКИ ИВАН
+ВАПЕНСКИ МАРИЈА
+ВАРШАЊИ ИРЕНА
+ВАРАЂАНИН МИЛАН
+ВАРАДИ ТИБОР ДР ПРОФ
+ВАРАГИЋ БОГДАН
+ВАРАГИЋ ЉУБИЦА
+ВАРАГИЋ МАРИЈА
+ВАРАГИЋ МЕЛАНИЈА
+ВАРАГИЋ МИЛИЦА
+ВАРАГИЋ ВИЋЕНТИЈЕ
+ВАРАЈИЋ ГОРАН
+ВАРАЈИЋ ГОРАН
+ВАРАВА ЕМИЛИЈАН
+ВАРБАИ ЛАДИСЛАВ
+ВАРЦАР ДЕСАНКА
+ВАРДИЋ ГАВРИЛО
+ВАРЕНИКА ЂОКА
+ВАРЕНИКА БРАНИСЛАВ
+ВАРЕНИКА РАДОЈКА
+ВАРЕВАЦ ДРАГАН
+ВАРГА ШАНДОР
+ВАРГА ШАНДОР
+ВАРГА ШАНДОР
+ВАРГА ШАНДОР
+ВАРГА ШАНДОР
+ВАРГА-ШОМОЂИ ЈАНОШ
+ВАРГА ЖАРКО
+ВАРГА ЂЕРЂ
+ВАРГА ЂОРЂЕ
+ВАРГА ЂОРЂЕ
+ВАРГА ЂУЛА
+ВАРГА ЂУРА
+ВАРГА ЂУРА
+ВАРГА АЛЕКСАНДАР
+ВАРГА АНА
+ВАРГА АНДРАШ
+ВАРГА АНДРИЈА
+ВАРГА АНДРИЈА
+ВАРГА АНТОН
+ВАРГА АРАНКА
+ВАРГА БЕЛА
+ВАРГА БЕЛА
+ВАРГА БИЉАНА
+ВАРГА-БУРАИ ЕРЖЕБЕТ
+ВАРГА ДРАГИЦА
+ВАРГА ДУШАНКА
+ВАРГА ЕРЖИКА
+ВАРГА ФЕРЕНЦ
+ВАРГА ФЕРЕНЦ
+ВАРГА ФЕРЕНЦ
+ВАРГА ФРАЊА
+ВАРГА ФРАЊА
+ВАРГА ФРАЊО
+ВАРГА ФРАЊО
+ВАРГА ГАБОР
+ВАРГА ГИЗЕЛА
+ВАРГА ХЕЛЕНА
+ВАРГА ИШТВАН
+ВАРГА ИШТВАН
+ВАРГА ИШТВАН
+ВАРГА ИШТВАН
+ВАРГА ИЛЕШ
+ВАРГА ИМРЕ
+ВАРГА-ИВАН АНГЕЛИНА
+ВАРГА ЈАКИМ
+ВАРГА ЈАН ДР
+ВАРГА ЈАНОШ
+ВАРГА ЈАНОШ
+ВАРГА ЈАРОСЛАВ
+ВАРГА ЈЕЛЕНА
+ВАРГА ЈЕЛИСАВЕТА
+ВАРГА ЈОЖЕФ
+ВАРГА ЈОЖЕФ
+ВАРГА ЈОЖЕФ
+ВАРГА ЈОСИПА
+ВАРГА ЈОСИП
+ВАРГА ЈОСИП
+ВАРГА ЈОВАН
+ВАРГА ЈУЛИЈА
+ВАРГА КАРЛО
+ВАРГА КАТАРИНА
+ВАРГА КАТА
+ВАРГА-КЛИШАНИЋ ЉУБИЦА
+ВАРГА КОРНЕЛИЈА
+ВАРГА КОРНЕЛ
+ВАРГА КОСАНА
+ВАРГА ЛАДИСЛАВ
+ВАРГА ЛАЈОШ
+ВАРГА ЛАЈОШ
+ВАРГА ЛАСЛО
+ВАРГА ЛАСЛО
+ВАРГА ЛАСЛО
+ВАРГА ЛАСЛО
+ВАРГА ЉУПКА
+ВАРГА МАРГИТА
+ВАРГА МАРИЈА
+ВАРГА МАРИЈА
+ВАРГА МАРИЈА
+ВАРГА МИХАЈЛО
+ВАРГА МИХАЈЛО
+ВАРГА МИХАЉ
+ВАРГА МИРКО
+ВАРГА МИРОН
+ВАРГА МИРОСЛАВ
+ВАРГА НИКОЛА
+ВАРГА ОЛГА
+ВАРГА ПАЛ
+ВАРГА ПАЛ
+ВАРГА ПЕТАР
+ВАРГА ПЕТАР
+ВАРГА ПЕТЕР ДИПЛ ИНГ
+ВАРГА РАСТИСЛАВ
+ВАРГА РОЗАЛИЈА
+ВАРГА РОЗАЛИЈА
+ВАРГА СЛАВИЦА
+ВАРГА СТЕВАН
+ВАРГА СТЕВАН
+ВАРГА СТЈЕПАН
+ВАРГА ТИБОР
+ВАРГА ТИБОР
+ВАРГА ВЕРА
+ВАРГА ВЕРА
+ВАРГА ВЕРОНИКА
+ВАРГА ВЛАДИСЛАВ
+ВАРГА ВЛАСТА
+ВАРГА ЗОЛТАН
+ВАРГА ЗОЛТАН
+ВАРГЕЦ ИВАН
+ВАРХОЛИК АДАМ
+ВАРИЋАК БОЖО
+ВАРИЋАК ДАРИНКА
+ВАРЈУ ЛАСЛО
+ВАРЈУ МАРИЈА
+ВАРЈУ ТЕРЕЗА
+ВАРКАШ ИВАН
+ВАРМАЗ ИСМЕТ
+ВАРМЕЂА ЂОРЂЕ
+ВАРМУЖА МАЋАШ
+ВАРНИЦА ИВАН
+ВАРНИЦА ПЕТАР
+ВАРЊУ АНУШКА
+ВАРЊУ ГИЗЕЛА
+ВАРЊУ ИЛОНА
+ВАРНОС МАРТОН
+ВАРНУС ЈОЖЕФ
+ВАРОШЧИЋ СПАСЕНИЈА
+ВАРОШИ ГАБРИЕЛА
+ВАРОШИ ЈОВАН
+ВАРОШИ СИЛАРД
+ВАСЕЛЕК ШТЕФАН
+ВАСЕЛЕК СТЕВАН
+ВАСЕЛЕК СТЕВАН
+ВАСЕЛЕК ВАСИЉ
+ВАСИЋ ЖЕЉКО
+ВАСИЋ ЖИВКА
+ВАСИЋ ЖИВКО
+ВАСИЋ ЖИВКО
+ВАСИЋ ЖИВКО
+ВАСИЋ ЂОКА
+ВАСИЋ ЂОРЂЕ
+ВАСИЋ ЂОРЂЕ
+ВАСИЋ АЛЕКСАНДАР
+ВАСИЋ АНИЦА
+ВАСИЋ АНКИЦА
+ВАСИЋ БОЈАНА
+ВАСИЋ БОРИСЛАВ
+ВАСИЋ БОРИВОЈ
+ВАСИЋ БРАНКО
+ВАСИЋ ЦВЕТКО
+ВАСИЋ ДАРИНКА
+ВАСИЋ ДОБРИВОЈ
+ВАСИЋ ДРАГАНА
+ВАСИЋ ДРАГАН
+ВАСИЋ ДРАГИЦА
+ВАСИЋ ДРАГИЦА
+ВАСИЋ ДРАГИЦА
+ВАСИЋ ДРАГОЉУБ
+ВАСИЋ ДРАГОМИР
+ВАСИЋ ДРАГОМИР
+ВАСИЋ ДРАГОСЛАВ
+ВАСИЋ ДУШАН
+ВАСИЋ ДУШАН
+ВАСИЋ ДУШАН
+ВАСИЋ ДУШАН
+ВАСИЋ ДУШАН
+ВАСИЋ ДУШАН
+ВАСИЋ ДУШАН
+ВАСИЋ ДУШАН
+ВАСИЋ ДУШИЦА
+ВАСИЋ ДУШКО НОВИНАР
+ВАСИЋ ДУБРАВКА
+ВАСИЋ ЕЛЕНА
+ВАСИЋ ГОРАН
+ВАСИЋ ГОРДАНА
+ВАСИЋ ГОРДАНА
+ВАСИЋ ГОРДИЦА
+ВАСИЋ ЈАКОВ
+ВАСИЋ ЈАНА
+ВАСИЋ ЈАНКО
+ВАСИЋ ЈЕЛИЦА
+ВАСИЋ ЈОВО
+ВАСИЋ КАТИЦА
+ВАСИЋ КОСТА
+ВАСИЋ КРИСТИНА
+ВАСИЋ ЛАЗАР
+ВАСИЋ ЉИЉАНА ДР
+ВАСИЋ ЉИЉАНА
+ВАСИЋ ЉУБОМИР
+ВАСИЋ ЛУКА
+ВАСИЋ МАКСИМ
+ВАСИЋ МАРИЈАНА
+ВАСИЋ МАРКО
+ВАСИЋ МИЋО
+ВАСИЋ МИХАИЛО
+ВАСИЋ МИХАЈЛО
+ВАСИЋ МИКА
+ВАСИЋ МИЛАН
+ВАСИЋ МИЛАН
+ВАСИЋ МИЛАН
+ВАСИЋ МИЛАН
+ВАСИЋ МИЛАН
+ВАСИЋ МИЛЕНКО ДР ПРИМАРИУС
+ВАСИЋ МИЛЕНКО
+ВАСИЋ МИЛЕНКО
+ВАСИЋ МИЛИЦА
+ВАСИЋ МИЛИНКО
+ВАСИЋ МИЛОШ
+ВАСИЋ МИЛОШ
+ВАСИЋ МИЛОВАН
+ВАСИЋ МИЛОВАН
+ВАСИЋ МИЛУТИН
+ВАСИЋ МИОДРАГ
+ВАСИЋ МИРЈАНА
+ВАСИЋ МИРЈАНА
+ВАСИЋ МИРЈАНА
+ВАСИЋ МИРОСЛАВА
+ВАСИЋ НАДА
+ВАСИЋ НАДА
+ВАСИЋ НЕДЕЉКО
+ВАСИЋ НЕДЕЉКО
+ВАСИЋ НЕДЕЉКО
+ВАСИЋ НИКОЛА
+ВАСИЋ НОВАК
+ВАСИЋ НОВАК
+ВАСИЋ НОВАК
+ВАСИЋ ОЛГА
+ВАСИЋ ОЛГИЦА
+ВАСИЋ ОСТОЈА
+ВАСИЋ ОСТОЈА
+ВАСИЋ ПАЈА
+ВАСИЋ ПЕРО
+ВАСИЋ ПЕТАР
+ВАСИЋ ПЕТАР
+ВАСИЋ-ПОПОВИЋ ЉИЉАНА
+ВАСИЋ ПРВОСЛАВ ДИПЛ ИНГ
+ВАСИЋ РАДИЦА
+ВАСИЋ РАДИВОЈ
+ВАСИЋ РАДОЈЕ
+ВАСИЋ РАДОСЛАВ
+ВАСИЋ РАДОВАН
+ВАСИЋ РАТКО
+ВАСИЋ РАВИЦА
+ВАСИЋ САВА
+ВАСИЋ САВА
+ВАСИЋ САВА
+ВАСИЋ СЕКУЛА
+ВАСИЋ СЛАВИЦА
+ВАСИЋ СЛАВКО
+ВАСИЋ СЛАВКО
+ВАСИЋ СЛОБОДАН
+ВАСИЋ СЛОБОДАН
+ВАСИЋ СЛОБОДАН
+ВАСИЋ СНЕЖАНА
+ВАСИЋ СОФИЈА
+ВАСИЋ СРЕТКО
+ВАСИЋ СТАНИША
+ВАСИЋ СТЕВАН
+ВАСИЋ СТЕВАН
+ВАСИЋ СТЕВАН
+ВАСИЋ СТЕВАН
+ВАСИЋ СВЕТЛАНА
+ВАСИЋ СВЕТОЗАР
+ВАСИЋ ТИХОМИР
+ВАСИЋ ТИНКА
+ВАСИЋ ТОША
+ВАСИЋ ТОМИСЛАВ
+ВАСИЋ ВЕЛИМИР
+ВАСИЋ ВЕЛИМИР
+ВАСИЋ ВЕСЕЛИН
+ВАСИЋ ВИДА
+ВАСИЋ ВЛАДИМИР ДР ЛЕКАР
+ВАСИЋ ВЛАДИМИР
+ВАСИЋ ВОЈИСЛАВ
+ВАСИЋ ЗДРАВКО
+ВАСИЋ ЗОРАН
+ВАСИЋ ЗОРИЦА
+ВАСИЛЧИН СЛОБОДАН
+ВАСИЛЕСКИ БРАНКО
+ВАСИЛИШИН АНТОН
+ВАСИЛИШИН МИЛАН
+ВАСИЛИЋ БРАНИСЛАВ
+ВАСИЛИЋ ДАНИЦА
+ВАСИЛИЋ ДРАГА
+ВАСИЛИЋ МИЛАН
+ВАСИЛИЋ МИЛЕНКО
+ВАСИЛИЋ МИРА
+ВАСИЛИЋ НИКОЛА
+ВАСИЛИЋ РАЈКО
+ВАСИЛИЋ СТЕВАН
+ВАСИЛИЋ ТОДЕ
+ВАСИЛИЋ ВЕСНА
+ВАСИЛИЋ ВОЈИН ДИПЛ ИНГ
+ВАСИЉЧИН ЖИВКО
+ВАСИЉЕВ АНА
+ВАСИЉЕВ ДЕЈАН
+ВАСИЉЕВ ДРАГОСЛАВ
+ВАСИЉЕВ ЈЕЛИЦА
+ВАСИЉЕВ ЈОВАН
+ВАСИЉЕВ ЈОВАН
+ВАСИЉЕВ ЉУБИЦА
+ВАСИЉЕВ МАРА
+ВАСИЉЕВ МИЛОРАД
+ВАСИЉЕВ МИРОЉУБ
+ВАСИЉЕВ МИТА
+ВАСИЉЕВ РАДОВАН
+ВАСИЉЕВ СПАСОЈЕ
+ВАСИЉЕВ СТАНОЈЕ
+ВАСИЉЕВ ТАМАРА
+ВАСИЉЕВ ЗДРАВКО
+ВАСИЉЕВИЋ ШАРЛОТА
+ВАСИЉЕВИЋ ЖИВОТА
+ВАСИЉЕВИЋ ЂОРЂЕ
+ВАСИЉЕВИЋ ЂУРА
+ВАСИЉЕВИЋ-АЋАНСКИ ИВАНА
+ВАСИЉЕВИЋ АНЂЕЛКА
+ВАСИЉЕВИЋ АНДРЕЈА
+ВАСИЉЕВИЋ ЦВЕТКО
+ВАСИЉЕВИЋ ДАНИЦА
+ВАСИЉЕВИЋ ДРАГИША
+ВАСИЛЈЕВИЋ ДУШИЦА
+ВАСИЉЕВИЋ ГЛИГОР
+ВАСИЉЕВИЋ ГОЈАН
+ВАСИЉЕВИЋ ГОЈКО
+ВАСИЉЕВИЋ ГРОЗДА
+ВАСИЉЕВИЋ ЈАВОРКА
+ВАСИЉЕВИЋ ЈУЛКА
+ВАСИЉЕВИЋ ЛЕПА
+ВАСИЉЕВИЋ ЉУБИНКО
+ВАСИЉЕВИЋ МАРКО
+ВАСИЉЕВИЋ МАРКО
+ВАСИЉЕВИЋ МИЛЕНА
+ВАСИЉЕВИЋ МИЛЕНКО
+ВАСИЉЕВИЋ МИЛИСАВ
+ВАСИЉЕВИЋ МИЉКО
+ВАСИЉЕВИЋ МИЛОШ
+ВАСИЉЕВИЋ МИЛОРАД
+ВАСИЉЕВИЋ МИОДРАГ ДИПЛ ИНГ
+ВАСИЉЕВИЋ МИРА
+ВАСИЉЕВИЋ МИРОСЛАВ
+ВАСИЉЕВИЋ МОМЧИЛО ДР
+ВАСИЉЕВИЋ НАДА
+ВАСИЉЕВИЋ НЕДЕЉКО
+ВАСИЉЕВИЋ НЕВЕНКА
+ВАСИЉЕВИЋ НИКОЛА
+ВАСИЉЕВИЋ НИКОЛА
+ВАСИЉЕВИЋ ОЛГА
+ВАСИЉЕВИЋ ОСТОЈА
+ВАСИЉЕВИЋ ПЕТАР
+ВАСИЉЕВИЋ ПЕТАР
+ВАСИЉЕВИЋ РАДА
+ВАСИЉЕВИЋ РАДЕНКА
+ВАСИЉЕВИЋ РАДОСАВ
+ВАСИЉЕВИЋ РАДОСЛАВ
+ВАСИЉЕВИЋ РАДО
+ВАСИЉЕВИЋ РАЈА НОВИНАР
+ВАСИЉЕВИЋ РАЈКО
+ВАСИЉЕВИЋ СИМО
+ВАСИЉЕВИЋ СЛАВКО
+ВАСИЉЕВИЋ СТАНИМИР
+ВАСИЉЕВИЋ ТИХОМИР
+ВАСИЉЕВИЋ ТОША
+ВАСИЉЕВИЋ УМКА
+ВАСИЉЕВИЋ ВЕРИЦА
+ВАСИЉЕВИЋ ВУКИЦА
+ВАСИЉЕВИЋ ЗДРАВКО
+ВАСИЉЕВИЋ ЗЛАТКО
+ВАСИЉЕВИЋ ЗЛАТОЈЕ
+ВАСИЉЕВИЋ ЗОРАН
+ВАСИЉЕВСКИ ВАСИЛИЈЕ
+ВАСИН ЂОРЂЕ
+ВАСИН ЂОРЂЕ
+ВАСИН АНЂЕЛКА
+ВАСИН АРАНКА
+ВАСИН БОРИВОЈЕ
+ВАСИН БРАНИСЛАВ
+ВАСИН ДРАГАНА
+ВАСИН ДРАГОМИР
+ВАСИН ЈАСМИНА
+ВАСИН ЈЕЛЕНА
+ВАСИН ЈЕВРОСИМА
+ВАСИН ЈУЛКА
+ВАСИН ЛАЗАР
+ВАСИН ЉУБИНКА
+ВАСИН МАРИЦА
+ВАСИН МИЛЕНКО
+ВАСИН МИЛЕНКО
+ВАСИН НЕДЕЉКО
+ВАСИН ОЛГИЦА
+ВАСИН ПАВЛЕ
+ВАСИН ПЕТАР
+ВАСИН РАДИВОЈ
+ВАСИН СТЕВАН
+ВАСИН СВЕТИСЛАВ
+ВАСИН СВЕТОЗАР
+ВАСИН ТОДОР
+ВАСИН ЗОРА
+ВАСКО ВЕРА
+ВАСКОВИЋ МИЛОРАД
+ВАСКРСИЋ САВЕТА
+ВАСОВИЋ АЛЕКСАНДАР
+ВАСОВИЋ МИЛЕНА
+ВАСОВИЋ МИЛОВАН
+ВАСОВИЋ ПРЕДРАГ
+ВАСОВИЋ СЛАВИМИРКА
+ВАТАЈИ ЂУЛА
+ВАТИЋ МАРЈАН
+ВАТИЋ МАРКО
+ВАТИЋ МИРАШ
+ВАТИЋ НИКОЛА
+ВАТОВИЋ ХРАНИСЛАВ
+ВАТОВИЋ ЈЕЛЕНА
+ВАУРИЧАК КАТАЛИН
+ВАВАН МИЛОРАД
+ВАВАН МИЛОРАД
+ВАВАН МЛАДЕНКО
+ВАВАН ПАВЛЕ
+ВАВАН СЛАВКО
+ВАВИЋ ЈОВАН
+ВАВРА ПРЕДРАГ
+ВАВРИН ЈОСИП
+ВАВРИН ПЕТАР
+ВДОВИАК БЕРНАРД
+ВЕЧЕИ ЈОЖЕФ
+ВЕЧЕИ ЈОСИП
+ВЕЧЕИ ЉИЉАНА
+ВЕЧЕЈИ ЈОВАН
+ВЕЧЕРА МИХАЈЛО
+ВЕЧЕРИ ЈУЛИУС
+ВЕЧИ ИШТВАН
+ВЕЧИЋ СВЕТЛАНА
+ВЕШЛИГАЈ СТЕВАН
+ВЕШЛИГАЈ ВЕРА
+ВЕШОВИЋ ИВАНКА
+ВЕШОВИЋ ЛЕОПОЛД
+ВЕШОВИЋ ОЛГА
+ВЕШОВИЋ СМИЉАНА
+ВЕШОВИЋ ВЛАСТИМИР
+ВЕШОВИЋ ВУКСАН
+ВЕШОВИЋ ЗОРКА МР
+ВЕЋКАЛОВ ЂОРЂЕ
+ВЕЋКАЛОВ АЛЕКСАНДАР
+ВЕЋКАЛОВ СОФИЈА ДР ЛЕКАР
+ВЕБЕЛ ВАЛЕРИЈА
+ВЕБЕР БОЖАНА
+ВЕБЕР ГАБРИЕЛА
+ВЕБЕР ГАБРИЕЛА
+ВЕБЕР МИЛИЦА
+ВЕБЕР ОЛГА
+ВЕБЕР ТЕРЕЗИЈА
+ВЕГ ШАНДОР
+ВЕГ ЕНИКЕ
+ВЕГШЕ ПАВЛЕ
+ВЕГЕЛ ЛАСЛО
+ВЕГВАРИ ДЕЖЕ
+ВЕГВАРИ ЈУЛИАНА
+ВЕГВАРИ МИКЛОШ
+ВЕХТЕР КАРОЉ
+ВЕХТЕР КАРОЉ
+ВЕХТЕР ЗОЛТАН
+ВЕИН ЈЕКА
+ВЕИН ЗОРКА
+ВЕИНОВИЋ НИКОЛА
+ВЕЈИН ЂОРЂЕ
+ВЕЈИН БРАНИСЛАВА
+ВЕЈИН БРАНИСЛАВ
+ВЕЈИН ДУШАНКА
+ВЕЈИН КРИСТИНА
+ВЕЈНОВИЋ ДАНЕ
+ВЕЈНОВИЋ ДРАГАН
+ВЕЈНОВИЋ ЈЕЛЕНА
+ВЕЈНОВИЋ МИРКО
+ВЕЈНОВИЋ МЛАДЕН ДИПЛ ИНГ
+ВЕЈНОВИЋ НИКОЛА
+ВЕЈНОВИЋ ОБРАД
+ВЕЈНОВИЋ РАЈКО
+ВЕЈНОВИЋ СИМЕОН
+ВЕЈНОВИЋ ТИХОМИР
+ВЕЈНОВИЋ ТИХОМИР
+ВЕЈНОВИЋ ВАЈКО
+ВЕЈНОВИЋ ВОЈИСЛАВ
+ВЕЈЗОВСКИ ВЕЈЗ
+ВЕКАШ ЖУЖАНА
+ВЕКАШ АТИЛА
+ВЕКАШ ЕВА
+ВЕКАШ ЕВА
+ВЕКАШ ЈАНОШ
+ВЕКАШ ЈУДИТА
+ВЕКАШ ЛАСЛО
+ВЕКИЋ АНА
+ВЕКИЋ ДРАГАН
+ВЕКИЋ ЕЛЕНА
+ВЕКИЋ ЈУЛИЈАНА
+ВЕКИЋ НИКОЛА
+ВЕКИЋ ПЕТАР
+ВЕКИЋ РАДИВОЈ
+ВЕКИЋ РАДМИЛА
+ВЕКИЋ ТЕРЕЗА
+ВЕКИЋ ТЕРЕЗА
+ВЕКИЋ ЗВОНКО
+ВЕКОЊ ШАНДОР
+ВЕКОЊ ЛАДИСЛАВ
+ВЕКОВИЋ МИЛОРАД
+ВЕЛЧЕК ИШТВАН
+ВЕЛЧЕК ЈОСИП
+ВЕЛЧЕК ВЛАДИМИР
+ВЕЛЂИ АНА
+ВЕЛЂИ ЈОЖЕФ
+ВЕЛЂИ ЛАДИСЛАВ
+ВЕЛЂИ МАРИЈА
+ВЕЛАГИЋ САЊА
+ВЕЛАЈА ЈОВО
+ВЕЛБАБОВИЋ ДЕСАНКА
+ВЕЛБАБОВИЋ МИЛОРАД
+ВЕЛБАБОВИЋ РАДИНКА
+ВЕЛЕЧКОВИЋ БРАНКО
+ВЕЛЕЧКОВИЋ ЕВА
+ВЕЛЕМИР АНИЦА
+ВЕЛЕМИР ДРАГОЉУБ
+ВЕЛЕМИР ИЛИЈА
+ВЕЛЕМИР МИЛОМИР
+ВЕЛЕМИР РИСТО
+ВЕЛЕМИР РИСТО
+ВЕЛЕМИР САВКА
+ВЕЛЕМИР СЛАВКО
+ВЕЛЕМИР СВЕТОМИР
+ВЕЛЕМИР ТОДОР
+ВЕЛЕМИР ВОЈА
+ВЕЛЕМИР ВОЈКО
+ВЕЛЕМИРОВ СИМА
+ВЕЛЕНДЕЧИЋ БОЖО
+ВЕЛЕНДЕЧИЋ МИЛАН
+ВЕЛЕЗ ИШТВАН
+ВЕЛЕЗ ИШТВАН
+ВЕЛХЕС МИРОСЛАВ
+ВЕЛХНЕР ЈОСИП ДИПЛ ИНГ
+ВЕЛИЧКОВ ЖИВАН
+ВЕЛИЧКОВ ДАНИЦА
+ВЕЛИЧКОВ ГРОЗДА
+ВЕЛИЧКОВ КАТИЦА
+ВЕЛИЧКОВ ЉИЉА
+ВЕЛИЧКОВ НАТАША
+ВЕЛИЧКОВ РАДИВОЈ
+ВЕЛИЧКОВИЋ ЖИВОРАД ДИПЛ ПРАВНИК
+ВЕЛИЧКОВИЋ ЖИВОТА
+ВЕЛИЧКОВИЋ ЂОРЂЕ
+ВЕЛИЧКОВИЋ БИЉАНА
+ВЕЛИЧКОВИЋ ДУШАН
+ВЕЛИЧКОВИЋ ЕМИЛИЈА
+ВЕЛИЧКОВИЋ ИВАНКА
+ВЕЛИЧКОВИЋ ЈОВАН
+ВЕЛИЧКОВИЋ ЈОВАН
+ВЕЛИЧКОВИЋ КАТАРИНА
+ВЕЛИЧКОВИЋ КСЕНИЈА
+ВЕЛИЧКОВИЋ МАРИЈА
+ВЕЛИЧКОВИЋ МИЛАНКА
+ВЕЛИЧКОВИЋ МИЛАН
+ВЕЛИЧКОВИЋ МИЛИЦА
+ВЕЛИЧКОВИЋ МИЛОРАД
+ВЕЛИЧКОВИЋ НЕНАД
+ВЕЛИЧКОВИЋ НИКОЛА
+ВЕЛИЧКОВИЋ ПЕРСИДА
+ВЕЛИЧКОВИЋ ПРЕДРАГ
+ВЕЛИЧКОВИЋ СЛАВИША
+ВЕЛИЧКОВИЋ СЛАВОЉУБ
+ВЕЛИЧКОВИЋ СОЊА
+ВЕЛИЧКОВИЋ СТЕВАН
+ВЕЛИЧКОВИЋ ЗОРАН
+ВЕЛИЧКОВСКИ АЛЕКСАНДАР
+ВЕЛИШЕК ГАБРИЕЛА
+ВЕЛИШЕК ГЕЗА
+ВЕЛИШЕК КАРЛО
+ВЕЛИЋ ИЛИЈА
+ВЕЛИЋ ЗОРАН
+ВЕЛИЦКИ ЂОРЂЕ
+ВЕЛИЦКИ АЛЕКСАНДАР
+ВЕЛИЦКИ АЛЕКСАНДАР
+ВЕЛИЦКИ ЈЕЛИЦА
+ВЕЛИЦКИ ЈОВИЦА
+ВЕЛИЦКИ ЉУБОМИР
+ВЕЛИЦКИ МИЛАН
+ВЕЛИЦКИ МИЛАН
+ВЕЛИЦКИ МИЛИВОЈ
+ВЕЛИЦКИ МИОДРАГ
+ВЕЛИЦКИ НОВАК
+ВЕЛИЦКИ СВЕТОЗАР
+ВЕЛИЦКИ УРОШ
+ВЕЛИЦКИ ЗОРАН
+ВЕЛИЦКИ ЗОРА
+ВЕЛИЈА ЉИЉАНА
+ВЕЛИЈА РЕЂЕП
+ВЕЛИКИЋ АЛЕКСАНДАР ДИПЛ ИНГ
+ВЕЛИКИЋ АНА
+ВЕЛИКИЋ ДАНИЦА
+ВЕЛИКИЋ ЉУБОМИР
+ВЕЛИКИЋ СИМА
+ВЕЛИКИЋ ЗОРАН
+ВЕЛИМИРОВ ЈЕЛЕНА
+ВЕЛИМИРОВ МИЛОШ
+ВЕЛИМИРОВ ВЛАДИМИР
+ВЕЛИМИРОВИЋ АНГЕЛА
+ВЕЛИМИРОВИЋ БОШКО
+ВЕЛИМИРОВИЋ ДИМИТРИЈЕ
+ВЕЛИМИРОВИЋ ДРАШКО
+ВЕЛИМИРОВИЋ ЈЕЛИСАВЕТА
+ВЕЛИМИРОВИЋ ЈОВАН
+ВЕЛИМИРОВИЋ ЛАЗАР
+ВЕЛИМИРОВИЋ НОВАК
+ВЕЛИМИРОВИЋ СИМЕОН
+ВЕЛИМИРОВИЋ СЛАВИЦА
+ВЕЛИМИРОВИЋ СЛАВОЉУБ
+ВЕЛИМИРОВИЋ СМИЉАНА
+ВЕЛИМИРОВИЋ СНЕЖАНА
+ВЕЛИМИРОВИЋ ВОЈИН
+ВЕЛИОСКИ САДЕМ
+ВЕЛИОВ ЏЕМАЈЛО
+ВЕЛИСАВЉЕВ ГОРДАНА ДР
+ВЕЛИСАВЉЕВ МИЛОРАД ДР
+ВЕЛИСАВЉЕВ СРЕДОЈЕ
+ВЕЛИСАВЉЕВИЋ МИЛИСАВ
+ВЕЉА ЖИВА ДИП ОЕЦ
+ВЕЉА ПЕТАР
+ВЕЉАНОВИЋ БРАНИСЛАВ
+ВЕЉАНОВИЋ МОМЧИЛО
+ВЕЉАНОВИЋ ТОМИСЛАВА
+ВЕЉАНОВСКИ ИВАН
+ВЕЉИЋ МИЛОВАН
+ВЕЉКО АНЂЕЛКО
+ВЕЉКОВ ДАРИНКА
+ВЕЉКОВ ГЕОРГИЈЕ
+ВЕЉКОВ ИДА
+ВЕЉКОВ МИРОСЛАВ ДИПЛ ПРАВНИК
+ВЕЉКОВ ПАВЛЕ
+ВЕЉКОВ-ПФАЈФЕР СОФИЈА
+ВЕЉКОВ СТЕВАН
+ВЕЉКОВ ВЛАДИМИР
+ВЕЉКОВИЋ ЖАРКО
+ВЕЉКОВИЋ АЛЕКСАНДАР ДИПЛ ИНГ
+ВЕЉКОВИЋ АЛЕКСАНДАР
+ВЕЉКОВИЋ АНЂЕЛКА
+ВЕЉКОВИЋ БОЖИДАР
+ВЕЉКОВИЋ БОЈАН
+ВЕЉКОВИЋ ДОБРОСАВ
+ВЕЉКОВИЋ ДРАГАН
+ВЕЉКОВИЋ МИЛОМИР
+ВЕЉКОВИЋ МИОДРАГ
+ВЕЉКОВИЋ МИОДРАГ
+ВЕЉКОВИЋ МИРЈАНА
+ВЕЉКОВИЋ МИРКО
+ВЕЉКОВИЋ НАДА
+ВЕЉКОВИЋ ПЕТАР
+ВЕЉКОВИЋ РАДА
+ВЕЉКОВИЋ РАДИСАВ
+ВЕЉКОВИЋ РАДОСАВ
+ВЕЉКОВИЋ РАДОСЛАВ
+ВЕЉКОВИЋ РУЖИЦА
+ВЕЉКОВИЋ СРЕТЕН
+ВЕЉКОВИЋ СВЕТА
+ВЕЉКОВИЋ СВЕТИСЛАВ
+ВЕЉКОВИЋ ТИХОМИР
+ВЕЉКОВИЋ ВИДОЈЕ
+ВЕЉКОВИЋ ВОЈИСЛАВ
+ВЕЉКОВИЋ ВУКАШИН
+ВЕЉОВИЋ ДУШАН
+ВЕЉОВИЋ ЛЕПОСАВА
+ВЕЉОВИЋ МИЛАН
+ВЕЉОВИЋ МИТАР
+ВЕЉОВИЋ МОМЧИЛО
+ВЕЉОВИЋ ПАВЛЕ
+ВЕЉОВИЋ РУЖА
+ВЕЉОВИЋ СИМО
+ВЕЉОВИЋ СЛАВИЦА
+ВЕЛКОВСКИ ИРЕНА
+ВЕЛКОВСКИ ТЕОФИЛ
+ВЕМЕНАЦ ОБРАД
+ВЕМИЋ БОРА
+ВЕМИЋ ДРАГИЊА
+ВЕМИЋ ИЛИЈА
+ВЕМИЋ ЛАЗАР
+ВЕМИЋ МИЛАН
+ВЕМИЋ РАДИВОЈЕ ДР
+ВЕМИЋ РАДИВОЈЕ
+ВЕНЧЕЛОВСКИ ЉУБИЦА
+ВЕНЧЕЛОВСКИ ВЛАДА
+ВЕНЧЕЛОВСКИ ВЛАДИМИР
+ВЕНЧЕЛОВСКИ ВЛАСТА
+ВЕНЦЕЛ ГЕЗА
+ВЕНЦЕЛ ГЕЗА
+ВЕНЦЛ ЈОСИП
+ВЕНЦЛ ЗВОНИМИР
+ВЕНДЛЕНЕР АНДРИЈАНА
+ВЕНДЛЕНЕР ЈЕЛЕНА
+ВЕНДЛЕНЕР ЗОРАН
+ВЕНЕ ГОРДАНА
+ВЕНГРИН АГНЕШ
+ВЕНГРИНГ ФЕРЕНЦ
+ВЕНГРИНГ СТЕВАН
+ВЕРАЦ МИОДРАГ
+ВЕРБА ЈОЖЕФ
+ВЕРБАНЕЦ ИШТВАН
+ВЕРБАНЕЦ ИШТВАН
+ВЕРБАСИ ФРАЊА
+ВЕРБАСИ ЈОВАНКА
+ВЕРЕШ ЂУЛА
+ВЕРЕШ АНДРИЈА
+ВЕРЕШ ДРАГУТИН
+ВЕРЕШ ХАЈНАЛКА
+ВЕРЕШ ИВАН
+ВЕРЕШ ЈЕЛИСАВЕТА
+ВЕРЕШ ЈОЖЕФ
+ВЕРЕШ ЈОСИП
+ВЕРЕШ ЈОСИП
+ВЕРЕШ ЛАДИСЛАВ
+ВЕРЕШ МАРИЈА
+ВЕРЕШБАРАЊИ ИШТВАН
+ВЕРЕШБАРАЊИ МАРИЈА
+ВЕРЕШЕВИЋ ТИХОМИР
+ВЕРЕЖАН ЂУРИЦА
+ВЕРЕЖАН ЗОРКА
+ВЕРЕБ ЖУЖАНА
+ВЕРЕБЕШ БОРИСЛАВА
+ВЕРЕБЕШ ЕРВИН
+ВЕРЕЦКЕИ ДУШИЦА
+ВЕРЕЦКЕИ ГЕЗА
+ВЕРЕЦКЕИ МАРГИТА
+ВЕРГАШ БРАНКО
+ВЕРИЋ РАТКО
+ВЕРКИЋ ТОДОР
+ВЕРКИЋ ВИТОМИР
+ВЕРКИЋ ВОЈИСЛАВ
+ВЕРЛИЋ МИЛАН
+ВЕРМЕШ ЛИЛИ
+ВЕРМЕЗОВИЋ ЂОРЂЕ
+ВЕРНАЧКИ АНИТА
+ВЕРНАЧКИ БРАНИСЛАВ
+ВЕРНАЧКИ ГАВРА
+ВЕРНАЧКИ ГАВРИЛО
+ВЕРНАЧКИ МИРОСЛАВ
+ВЕРНЕР АНА
+ВЕРНЕР МИХАЈЛО
+ВЕРНЕР СТЕВАН
+ВЕРНОТ АНА
+ВЕРНОТ ДУЊА
+ВЕРНОТ ЈОСИП
+ВЕРНОТ ВЈЕКОСЛАВА
+ВЕРНОТ ЗДЕНКО
+ВЕРНОТ ЗДЕНКО
+ВЕРЗОТИ ДРАГИЦА
+ВЕРЗОТИ ЈУЛИЈАНА
+ВЕРЗОТИ ПЕТАР
+ВЕРЗОТИ СТАНКА
+ВЕСЕЛИЋ БОРИВОЈ
+ВЕСЕЛИЋ ДРАГОЉУБ
+ВЕСЕЛИЋ ГОСПАВА
+ВЕСЕЛИЋ РАДОЈКА
+ВЕСЕЛИЋ СЛАВКО
+ВЕСЕЛИЦА МАНЕ
+ВЕСЕЛИЦА МИЛАН
+ВЕСЕЛИЦА СВЕТОЗАР
+ВЕСЕЛИН ПЕТАР
+ВЕСЕЛИНОВ ЂОРЂЕ
+ВЕСЕЛИНОВ БОРИСЛАВА
+ВЕСЕЛИНОВ БРАНИСЛАВ
+ВЕСЕЛИНОВ ЛИБУША
+ВЕСЕЛИНОВ МИЛИЦА
+ВЕСЕЛИНОВ РИСТА
+ВЕСЕЛИНОВ СТЕВАН ДР
+ВЕСЕЛИНОВ СТЕВАН
+ВЕСЕЛИНОВ СВЕТОЗАР
+ВЕСЕЛИНОВ ВЕРА
+ВЕСЕЛИНОВИЋ ЂОРЂЕ
+ВЕСЕЛИНОВИЋ ЂОРЂЕ
+ВЕСЕЛИНОВИЋ ЂОРЂЕ
+ВЕСЕЛИНОВИЋ ЂУЈА
+ВЕСЕЛИНОВИЋ ЂУРА
+ВЕСЕЛИНОВИЋ ЂУРО
+ВЕСЕЛИНОВИЋ АЛЕКСАНДАР
+ВЕСЕЛИНОВИЋ АЛЕКСАНДАР
+ВЕСЕЛИНОВИЋ АЛЕКСАНДАР
+ВЕСЕЛИНОВИЋ АЛЕКСАНДАР
+ВЕСЕЛИНОВИЋ БОРА
+ВЕСЕЛИНОВИЋ БРАНЕ
+ВЕСЕЛИНОВИЋ БРАНИСЛАВ
+ВЕСЕЛИНОВИЋ БРАНИСЛАВ
+ВЕСЕЛИНОВИЋ ДАРА
+ВЕСЕЛИНОВИЋ ДАРКО
+ВЕСЕЛИНОВИЋ ДРАГАН
+ВЕСЕЛИНОВИЋ ДРАГОМИР
+ВЕСЕЛИНОВИЋ ДРАГОРАД
+ВЕСЕЛИНОВИЋ ДУШАНКА
+ВЕСЕЛИНОВИЋ ГОРДАНА
+ВЕСЕЛИНОВИЋ ИЛИЈА
+ВЕСЕЛИНОВИЋ ЈЕЛИСАВКА
+ВЕСЕЛИНОВИЋ ЈОРДАН
+ВЕСЕЛИНОВИЋ ЈОСИПА
+ВЕСЕЛИНОВИЋ ЈОВАНКА
+ВЕСЕЛИНОВИЋ ЈУЛИЈАНА
+ВЕСЕЛИНОВИЋ КАТИЦА
+ВЕСЕЛИНОВИЋ ЛАНА
+ВЕСЕЛИНОВИЋ ЛЕНКИЦА
+ВЕСЕЛИНОВИЋ ЉУБОМИР
+ВЕСЕЛИНОВИЋ МАРИЈА
+ВЕСЕЛИНОВИЋ МИКА
+ВЕСЕЛИНОВИЋ МИЛАНКА
+ВЕСЕЛИНОВИЋ МИЛАН
+ВЕСЕЛИНОВИЋ МИЛАН
+ВЕСЕЛИНОВИЋ МИЛАН
+ВЕСЕЛИНОВИЋ МИЛАН
+ВЕСЕЛИНОВИЋ МИЛАН
+ВЕСЕЛИНОВИЋ МИЛЕНА
+ВЕСЕЛИНОВИЋ МИЛЕ
+ВЕСЕЛИНОВИЋ МИЛИСАВ
+ВЕСЕЛИНОВИЋ МИЛОРАД
+ВЕСЕЛИНОВИЋ МИРКО
+ВЕСЕЛИНОВИЋ МИТА
+ВЕСЕЛИНОВИЋ МЛАДЕН
+ВЕСЕЛИНОВИЋ НИКОЛА
+ВЕСЕЛИНОВИЋ НИКОЛА
+ВЕСЕЛИНОВИЋ ОЛГА
+ВЕСЕЛИНОВИЋ ПАВЛЕ
+ВЕСЕЛИНОВИЋ ПЕРСИДА
+ВЕСЕЛИНОВИЋ ПЕТАР
+ВЕСЕЛИНОВИЋ-ПОПОВИЋ БРАНКА
+ВЕСЕЛИНОВИЋ ПРЕДРАГ
+ВЕСЕЛИНОВИЋ РАДМИЛ
+ВЕСЕЛИНОВИЋ РАНКО
+ВЕСЕЛИНОВИЋ РАНКО
+ВЕСЕЛИНОВИЋ РУЖИЦА
+ВЕСЕЛИНОВИЋ РУЖИЦА
+ВЕСЕЛИНОВИЋ РУЖИЦА
+ВЕСЕЛИНОВИЋ САВА
+ВЕСЕЛИНОВИЋ СЕВЕР
+ВЕСЕЛИНОВИЋ СЛОБОДАН
+ВЕСЕЛИНОВИЋ СПАСОЈЕ
+ВЕСЕЛИНОВИЋ СТЕВАН
+ВЕСЕЛИНОВИЋ СТЕВАН
+ВЕСЕЛИНОВИЋ СВЕТИСЛАВ
+ВЕСЕЛИНОВИЋ ТОДОР
+ВЕСЕЛИНОВИЋ ТОДОР
+ВЕСЕЛИНОВИЋ УРОШ
+ВЕСЕЛИНОВИЋ ВАСИЉКА
+ВЕСЕЛИНОВИЋ ВЕЛИМИР
+ВЕСЕЛИНОВИЋ ВЕЛИЗАР
+ВЕСЕЛИНОВИЋ ВЕЉКО
+ВЕСЕЛИНОВИЋ ВЕРА
+ВЕСЕЛИНОВИЋ ВЕРА
+ВЕСЕЛИНОВИЋ ВЕСЕЛИН
+ВЕСЕЛИНОВИЋ ВЕСЕЛИН
+ВЕСЕЛИНОВИЋ ВИНКА
+ВЕСЕЛИНОВИЋ ВЛАДИСЛАВ
+ВЕСЕЛИНОВИЋ ВЛАСТИМИР
+ВЕСЕЛИНОВИЋ ВОЈИСЛАВ ДР ЛЕКАР
+ВЕСЕЛИНОВИЋ ВОЈИСЛАВ
+ВЕСЕЛИНОВИЋ ВУКИЦА
+ВЕСЕЛИНОВИЋ ЗОРАН
+ВЕСЕЛИНОВИЋ ЗОРАН
+ВЕСЕЛИНОВИЋ ЗВЕЗДАН
+ВЕСИЋ ДОБРОСАВ
+ВЕСИЋ ДРАГОСЛАВ
+ВЕСИЋ КАТИЦА
+ВЕСИЋ КРСТА
+ВЕСИЋ МИЛАН
+ВЕСИЋ МИЛАН
+ВЕСИЋ МИЛИЦА
+ВЕСИЋ МИОДРАГ
+ВЕСИЋ МИТАР
+ВЕСИЋ МЛАДЕН
+ВЕСИЋ РУЖИЦА
+ВЕСИЋ-ВАРГА ДРАГИЦА
+ВЕСИЋ ВЕСЕЛИНКА
+ВЕСИН БРАНКО
+ВЕСИН МИЛАН
+ВЕСИН НАДА
+ВЕСИН ПЕТАР
+ВЕСКОВ АЛЕКСАНДАР
+ВЕСКОВ АЛЕКСАНДАР
+ВЕСКОВ ИВАН
+ВЕСКОВ ЈЕЛЕНА
+ВЕСКОВ МИЛОШ
+ВЕСКОВИЋ АНКИЦА
+ВЕСКОВИЋ ДРАШКО
+ВЕСКОВИЋ КАТАРИНА
+ВЕСКОВИЋ МАРИЦА
+ВЕСКОВИЋ МИРОСЛАВ
+ВЕСКОВИЋ МОМЧИЛО ДИПЛ ИНГ
+ВЕСКОВИЋ ПЕТАР
+ВЕСКОВИЋ СЛАВКО
+ВЕСКОВИЋ СТАНОЈЕ
+ВЕСКОВИЋ ЗОРА
+ВЕСЛАВСКИ ТИНКА
+ВЕСНИЋ МИЛЕНА
+ВЕСНИЋ-ВАСИЉЕВИЋ АНЂЕЛИЈА
+ВЕСОВИЋ АЦО
+ВЕСОВИЋ АНДРИЈА
+ВЕТРАБ ФРАЊА
+ВЕТРАБ КАТАЛИН
+ВЕТРАБ МИХАЉ
+ВЕТРО ПЕТАР
+ВЕВЕРИЧЕК МАРИЈА
+ВЕЗЕТИ МИХАЕЛ
+ВЕЗЕТИ ПЕТАР
+ВЕЗИЛИЋ ЂОРЂЕ
+ВЕЗИЛИЋ ЦРНОГОРКА
+ВЕЗИЛИЋ ДУШАНКА
+ВЕЗИЛИЋ ДУШИЦА
+ВЕЗИЛИЋ ЈЕЛИЦА
+ВЕЗИЛИЋ РАДОСЛАВ
+ВЕЗМАР БРАНКО
+ВЕЗМАР ИЛИЈА
+ВЕЗМАР МАРГАРИТА
+ВЕЗМАР МИЛАН
+ВЕЗМАР МИЛОШ
+ВЕЗМАР МИЛОРАД
+ВЕЗМАР МОМЧИЛО
+ВЕЗМАР НИКОЛА
+ВЕЗМАР ПЕТАР
+ВЕЗУЛИЋ ЂОРЂЕ
+ВИЧЕК ШАНДОР
+ВИЧЕК КАРОЉ
+ВИЧЕВИЋ ЗВОНИМИР
+ВИЧИК ИГЊАТ
+ВИШЕКРУНА БОРИВОЈ
+ВИШЕКРУНА ДАНКО
+ВИШЕКРУНА ДУШАН
+ВИШЕКРУНА ДУШКО
+ВИШЕКРУНА ЈОВАН
+ВИШЕКРУНА МИЛАН
+ВИШЕКРУНА СЛАВКО
+ВИШЕКРУНА ВОЈИН
+ВИШИЋ МИЛЕ
+ВИШКОВИЋ МИЛИЦА
+ВИШКОВИЋ МИЛОШ
+ВИШКОВИЋ ПЛАНИНКА
+ВИШКОВИЋ ПРЕДРАГ
+ВИШКОВИЋ ВЛАДИМИР ДР
+ВИШНИЋ ДАНИЦА
+ВИШНИЋ ДУШАН
+ВИШНИЋ ЗОРКА
+ВИШЊЕВЧАНИН ЈОВАН
+ВИШЊЕВЧАНИН ЛЕПА
+ВИШЊЕВАЦ БОРО
+ВИШЊЕВАЦ ОЛИВЕРА
+ВИШЊЕВСКИ КАТИЦА
+ВИШЊИЧАН ДУШАН
+ВИШЊИЧАН ГАВРИЛО
+ВИШЊИЧАН ЈОВАНКА
+ВИШЊИЧАН МИЛИЦА
+ВИШЊИЧАНИН ЈОВАНКА
+ВИШЊИЧАР ЖАРКО
+ВИШЊИЧАР ЂОРЂЕ
+ВИШЊИЧАР ЂОРЂЕ
+ВИШЊИЧАР ДРАГОСЛАВ
+ВИШЊИЧАР МАРИЈА
+ВИШЊИЧАР МИКА
+ВИШЊИЧАР НЕДЕЉКО
+ВИШЊИЧКИ ГОРДАНА
+ВИШЊИЧКИ МИЛОШ
+ВИШЊИЧКИ МИРОСЛАВ
+ВИШЊИЧКИ СРЕТЕН
+ВИШЊИЋ ЧЕДОМИЛА
+ВИШЊИЋ БРАНКО
+ВИШЊИЋ БРАНСИЛАВА
+ВИШЊИЋ ДАЛИБОР
+ВИШЊИЋ ДУШАН
+ВИШЊИЋ ИЛИЈА
+ВИШЊИЋ ЈОСИП
+ВИШЊИЋ МАРИЈА
+ВИШЊИЋ МИЛАН
+ВИШЊИЋ МИЛИЦА
+ВИШЊИЋ ОЛИВЕРА
+ВИШЊИЋ ОЛИВЕР
+ВИШЊИЋ СПАСОЈЕ
+ВИШЊИЋ ТИХОМИР
+ВИШЊИЋ ВАСИЛИЈЕ
+ВИШЊИЋ ВЕРА
+ВИШЊИЋ ВЕСНА
+ВИШЊОВСКИ ЂУРА
+ВИШЊОВСКИ АРАНКА
+ВИШЊОВСКИ МАРИЈА
+ВИШЊОВСКИ МАРЈАН
+ВИШОШЕВИЋ РУЖЕНА
+ВИШОНТАИ ЈОЖЕФ
+ВИШОНТАИ ЈОЖЕФ
+ВИЋЕВИЋ РАДИША
+ВИЖАИ ШАНДОР
+ВИАТОРИС ЈАНОШ
+ВИАТОРИС ЈУЛИШКА
+ВИАТОРИС ЉУБИЦА
+ВИБОК ЈОЖЕФ
+ВИЦЕИ ЈОЖЕФ
+ВИЦЕИ НИКОЛА
+ВИЦИАН КЛАРА
+ВИЦКО АРПАД
+ВИЦКО ФРАЊА
+ВИЦКО ЈОСИП
+ВИЦКОШ ЈОЖЕФ
+ВИЦКОВИЋ БРАНКО
+ВИЦКОВИЋ БРАНКО
+ВИЦКОВИЋ ДРАГИЦА
+ВИЦКОВИЋ ТОМИСЛАВ
+ВИЦКОВИЋ ВЕСНА
+ВИЦО БОГДАН
+ВИЦО РАДИВОЈЕ
+ВИЦО РАДОМИР
+ВИД БРАНИСЛАВА
+ВИДА ЈЕЛИСАВЕТА
+ВИДА ЈОЖЕФ
+ВИДА ЈУЛИЈА
+ВИДА СЛОБОДАНКА
+ВИДА ВИЛИ
+ВИДАЧ ЈАЊА ЛОКАЛ
+ВИДАЧ ЛАСЛО
+ВИДАЧ СЛАВИЦА
+ВИДАЈИЋ ЖИВКО
+ВИДАЈИЋ ЈАСМИНА
+ВИДАЈИЋ ЈОСИП
+ВИДАЈИЋ ЛУЧИЈАНО
+ВИДАЈИЋ МАРИЈА
+ВИДАЈИЋ ВЕЉА
+ВИДАЈИЋ ВЛАДА
+ВИДАКОВ АНКИЦА
+ВИДАКОВ ЈОВАН
+ВИДАКОВ ЗОРИЦА
+ВИДАКОВИЋ АЛЕКСАНДАР
+ВИДАКОВИЋ АЛЕКСАНДРА ДР
+ВИДАКОВИЋ АНГЕЛИНА
+ВИДАКОВИЋ БРАНИМИР
+ВИДАКОВИЋ БРАНКО
+ВИДАКОВИЋ ДУШАНКА
+ВИДАКОВИЋ ДУШАН
+ВИДАКОВИЋ ЕМИЛ
+ВИДАКОВИЋ ИВАН
+ВИДАКОВИЋ ИВАН
+ВИДАКОВИЋ ИВАН
+ВИДАКОВИЋ ЈАГОДА
+ВИДАКОВИЋ ЈОСИП
+ВИДАКОВИЋ ЈОСИП
+ВИДАКОВИЋ КОСА
+ВИДАКОВИЋ МИХАЈЛО
+ВИДАКОВИЋ МИЛАН
+ВИДАКОВИЋ МИЛАН
+ВИДАКОВИЋ МИЉА
+ВИДАКОВИЋ МИРЧЕТА
+ВИДАКОВИЋ МИРЈАНА
+ВИДАКОВИЋ МИРКО
+ВИДАКОВИЋ НЕДЕЉКО
+ВИДАКОВИЋ ОЛГА
+ВИДАКОВИЋ ОЛГА
+ВИДАКОВИЋ РАДЕНКО
+ВИДАКОВИЋ РАДМИЛА
+ВИДАКОВИЋ САВА
+ВИДАКОВИЋ СЛАВКА
+ВИДАКОВИЋ СОФИЈА
+ВИДАКОВИЋ СРЕЋКО
+ВИДАКОВИЋ СРЕЋКО
+ВИДАКОВИЋ СТЕВАН
+ВИДАКОВИЋ СТОЈАН
+ВИДАКОВИЋ СВЕТОЗАР
+ВИДАКОВИЋ ТЕРЕЗА
+ВИДАКОВИЋ ВОЈИСЛАВ
+ВИДАКОВИЋ ВОЈИСЛАВ
+ВИДАКОВИЋ ВУКАШИН
+ВИДАНОВИЋ МИХАЈЛО
+ВИДАНОВИЋ-СКОКО ЈЕЛЕНА
+ВИДАРИЋ ЈОВО
+ВИДАРИЋ МИЛОРАД
+ВИДАРИЋ РАТКО
+ВИДАРИЋ СТЕВАН
+ВИДАС ТЕРЕЗА
+ВИДЕЦ ЈОСИП
+ВИДЕЦ ЈОСИП
+ВИДЕНОВИЋ БРАНКО
+ВИДЕНОВИЋ КОСОВКА
+ВИДЕНОВИЋ ЉИЉАНА ДР
+ВИДЕНОВИЋ МОМИР
+ВИДЕР МИРКО ДИПЛ ИНГ
+ВИДИЋ ЖЕЉКО
+ВИДИЋ ЂОРЂЕ
+ВИДИЋ БРАНИСЛАВ
+ВИДИЋ БРАНКА
+ВИДИЋ БРАНКА
+ВИДИЋ БРАНКО
+ВИДИЋ ДРАГАНА
+ВИДИЋ ДУШАНКА
+ВИДИЋ ЕМИЛИЈА
+ВИДИЋ ЈЕЛИЦА
+ВИДИЋ ЈОЦА
+ВИДИЋ ЉИЉАНА
+ВИДИЋ ЉУБОМИР
+ВИДИЋ МАРИЈА
+ВИДИЋ МИЛАН
+ВИДИЋ МИЛАН
+ВИДИЋ МИЛОШ
+ВИДИЋ МИРОСЛАВА
+ВИДИЋ МИРОСЛАВ
+ВИДИЋ НАДА
+ВИДИЋ ПЕРО
+ВИДИЋ РАДМИЛА
+ВИДИЋ РАДМИЛА
+ВИДИЋ РАЈКО
+ВИДИЋ СОФИЈА
+ВИДИЋ СТАНИСЛАВА
+ВИДИЋ СТЕВАН
+ВИДИЋ СВЕТИСЛАВ
+ВИДИЋ ВЕЉКО
+ВИДИЋ ВЕРА
+ВИДИЋ ЗДРАВКО
+ВИДИЦКИ БРАНКО
+ВИДИЦКИ ИВАН
+ВИДИЦКИ КОСТА
+ВИДИЦКИ ЉУБОМИР
+ВИДИЦКИ МИРОСЛАВ
+ВИДИНЕР БОЖИДАР
+ВИДМАНИЋ ГАБРИЈЕЛА
+ВИДОЈЕВИЋ ЖИВКА
+ВИДОЈЕВИЋ БЛАЖО
+ВИДОЈЕВИЋ БОЖА
+ВИДОЈЕВИЋ ЈОСИФ
+ВИДОЈКОВИЋ РАДОМИР
+ВИДОСАВЉЕВИЋ ДОБРОСАВ
+ВИДОСАВЉЕВИЋ ДУШАН
+ВИДОСАВЉЕВИЋ ЈЕЛИЦА
+ВИДОСАВЉЕВИЋ ЗВОНИМИР
+ВИДОВИЋ ЖИВКО
+ВИДОВИЋ АМИРА
+ВИДОВИЋ АНИЦА
+ВИДОВИЋ БЕАТРИС
+ВИДОВИЋ БИЉАНА
+ВИДОВИЋ БИСЕРКА
+ВИДОВИЋ БОЖИДАР
+ВИДОВИЋ БОРИСЛАВ
+ВИДОВИЋ БОРИСЛАВ
+ВИДОВИЋ БРАНИСЛАВ
+ВИДОВИЋ ДРАГО
+ВИДОВИЋ МАРЈАН
+ВИДОВИЋ МИЛАН
+ВИДОВИЋ МИЛАН
+ВИДОВИЋ МИЛАН
+ВИДОВИЋ МИЛЕ
+ВИДОВИЋ МИЛИЦА
+ВИДОВИЋ МИЛОШ
+ВИДОВИЋ МИРКО
+ВИДОВИЋ НАДА
+ВИДОВИЋ ПЕТАР
+ВИДОВИЋ РАДОМИР
+ВИДОВИЋ РАЈКО
+ВИДОВИЋ РУЖИЦА
+ВИДОВИЋ САВА
+ВИДОВИЋ СЛОБОДАН
+ВИДОВИЋ ВИД
+ВИГИ ЈОСИП
+ВИГЊЕВИЋ ЂОРЂЕ
+ВИГЊЕВИЋ АНА
+ВИГЊЕВИЋ БРАНКА
+ВИГЊЕВИЋ БРАНКО
+ВИГЊЕВИЋ ДАКО
+ВИГЊЕВИЋ ДРАГАН
+ВИГЊЕВИЋ ДРАГАН
+ВИГЊЕВИЋ ДУШАНКА
+ВИГЊЕВИЋ МИЛЕНКО
+ВИГЊЕВИЋ НЕВЕНКА
+ВИГЊЕВИЋ РАДЕ
+ВИГЊЕВИЋ СТЕВАНИЈА
+ВИГЊЕВИЋ ВЕСНА
+ВИГЊЕВИЋ ВЛАДИМИР
+ВИГЊЕВИЋ ЗОРАН
+ВИЈАТОВ СМИЉА
+ВИЈЕШТИЦА ЊЕГОМИР
+ВИЈУК ЉУБАН
+ВИЈУК САВА
+ВИКОР ПЕТАР
+ВИКОР РУЖА
+ВИЛЧЕК ЈАЊА
+ВИЛЧЕК НИКОЛА
+ВИЛА МИЛОВАН
+ВИЛАГОШ ЂЕРЂИ
+ВИЛЕТИ ЗОРА
+ВИЛИШ ЂУРА
+ВИЛИШ ФРАЊА
+ВИЛИЋ МАРКО
+ВИЛИЋ РАДОМИР
+ВИЛИЋ РАДОСЛАВА
+ВИЛИЋ РОЗАЛИЈА
+ВИЛИЋ ВОЈИСЛАВ
+ВИЛИГОРСКИ ПАУЛА
+ВИЛОТИЋ ЖИВКО
+ВИЛОТИЋ МИЛИСАВ
+ВИЛОТИЈЕВИЋ ДРАГУТИН
+ВИЛОТИЈЕВИЋ КИЋУН
+ВИЛОТИЈЕВИЋ МИРОЈЕ
+ВИЛОВАЧКИ КАТИЦА
+ВИЛОВАЧКИ СЛАВКО
+ВИЛОВАЦ ЈОВАН
+ВИЛОВАЦ ЈОВАН
+ВИЛОВАЦ МИЛАН
+ВИЛОВСКИ ЂОРЂЕ
+ВИЛОВСКИ БРАНИСЛАВ
+ВИЛОВСКИ БРАНКО
+ВИЛОВСКИ САВА
+ВИЛОВСКИ СЛАВОМИР
+ВИЛОВСКИ СМИЉАНА
+ВИЛОВСКИ ВЕЉКО
+ВИЛОВСКИ ЗОРА
+ВИЛУС ДАНИЦА
+ВИМЕР ВЕРА
+ВИН ИВАН
+ВИН ЈОСИП
+ВИН ЛАЈОШ
+ВИН ПАВЛЕ
+ВИН СВЕТЛАНА
+ВИНШ ДРАГУТИН
+ВИНАЈ ЂОРЂЕ
+ВИНАЈ ЂОРЂЕ
+ВИНАЈ ЈАНКО
+ВИНАЈ ЉУБИЦА
+ВИНАЈ МЕЛАНИЈА
+ВИНАЈИ ЂУРА
+ВИНАЈИ МИТАР
+ВИНАЈИ ВЕРИЦА
+ВИНАРЖ ВЛАДИМИР
+ВИНЦЕ АНДРИЈА
+ВИНЦЕ ЕРЖЕБЕТ
+ВИНЦЕ ИШТВАН
+ВИНЦЕ КАРЛО
+ВИНЦЕ ЛАЦИКА
+ВИНЦЕ МАРЕЛА
+ВИНЦЕ МАРГИТА
+ВИНЦЕ ПАВЛЕ
+ВИНЦЕТИН АНА
+ВИНЏАНОВИЋ ПЕТАР
+ВИНЏАНОВИЋ РАДИВОЈЕ
+ВИНДИШ ДРАГУТИН
+ВИНДИШ СТЕВАН
+ВИНЕР БРАНИСЛАВ
+ВИНЕР ИВАН
+ВИНЕР ЈЕРОНИМ
+ВИНЕР МАРИЈА
+ВИНЕР ЗВОНИМИР
+ВИНКА ЕМАНУЕЛА
+ВИНКИЋ ИЛИЈА
+ВИНКЛЕР ЈОЖЕФ
+ВИНКЛЕРОВИЋ ВЕРИЦА
+ВИНКОВИЋ АНА
+ВИНКОВИЋ ДРАГАН
+ВИНКОВИЋ ЉУДЕВИТ
+ВИНОКИЋ БОГДАН
+ВИНОКИЋ ВАСИЉКА
+ВИРАГ АЛБЕРТ
+ВИРАГ АНДРИЈА
+ВИРАГ ЕРИКА
+ВИРАГ ЈУЛИЈАНА
+ВИРАГ ЉУДЕВИТ
+ВИРАГ МАРТОН
+ВИРАГ МИХАЈЛО
+ВИРАГ РОБЕРТ
+ВИРАГ РОБЕРТ
+ВИРЦ ФЕРЕНЦ
+ВИРЦ ЈОЖЕФ
+ВИРЦ ЈОВАН
+ВИРЦ МАРТИН
+ВИРЦ НАДА
+ВИРЦ РУЖИЦА
+ВИРЦ СТЕВАН
+ВИРИЋ ИВАН
+ВИРИЋ ИВАН
+ВИРИЈЕВИЋ ЂОРЂЕ
+ВИРИЈЕВИЋ БОЖИДАР
+ВИРИЈЕВИЋ БУДИМИР
+ВИРИЈЕВИЋ ЈОВАНКА
+ВИРИЈЕВИЋ ЉУБИНКО
+ВИРИЈЕВИЋ ПЕТАР
+ВИРИЈЕВИЋ ВОЈИН
+ВИСЛАВСКИ ЂУРА
+ВИСЛАВСКИ БОГДАН
+ВИСЛАВСКИ ЈАКИМ
+ВИСЛАВСКИ ЈАКИМ
+ВИСЛАВСКИ ЈАНОШ
+ВИСЛАВСКИ ЈАНОШ
+ВИСЛАВСКИ ЛЕОН
+ВИСЛАВСКИ ЉУБОМИР
+ВИСЛАВСКИ МАРИЈА
+ВИСЛАВСКИ МИХАЈЛО
+ВИСЛАВСКИ МИРОН
+ВИСЛАВСКИ МИРОСЛАВ
+ВИСЛАВСКИ МИРОСЛАВ
+ВИСЛАВСКИ НАТАША
+ВИСЛАВСКИ ЗЛАТКО
+ВИСТ ХЕЛГААНА
+ВИТАС СТЕВАН
+ВИТАС СТЕВАН
+ВИТАСОВИЋ ДУШАНКА
+ВИТАСОВИЋ ДУШАНКА
+ВИТАСОВИЋ ДУШАН
+ВИТАСОВИЋ НЕБОЈША
+ВИТАЗ ПЕТАР
+ВИТЕЗ ЈАН
+ВИТЕЗ ТУГОМИР
+ВИТЕЗ ЗВОНКО
+ВИТИЋ ЂОРЂЕ
+ВИТИЋ ЂОРЂЕ
+ВИТИЋ БОШКО ДР ЛЕКАР
+ВИТЈУК МИРЈАНА ДИПЛ ИНГ
+ВИТЈУК ПЕТАР ДИПЛ ИНГ
+ВИТКАИ ИЛОНА
+ВИТКОВИЋ БРАНКО
+ВИТКОВИЋ ДРАГО
+ВИТКОВИЋ ЈОВАН
+ВИТОМИРОВ ЖИВАН
+ВИТОМИРОВИЋ БОРИС
+ВИТОМИРОВИЋ ДРАГОМИР
+ВИТОРАЦ ЂУРА
+ВИТОРАЦ ЂУРО
+ВИТОРАЦ БОРИСЛАВ
+ВИТОРАЦ ИЛИЈА
+ВИТОРАЦ НАДА
+ВИТОРАЦ РУЖЕНКА
+ВИТОРОВИЋ МИЛАН
+ВИТОРОВИЋ МИЛОШ
+ВИТОРОВИЋ ОЛГА
+ВИТОРОВИЋ РАНКА
+ВИТОРОВИЋ СОФИЈА
+ВИТУШКА СТЕВАН
+ВИВОД ЈЕЛИСАВЕТА
+ВИВОД МАГДАЛЕНА
+ВИЗИ ШАНДОР
+ВИЗИ ЈОСИП
+ВИЗИ ЈОВАН
+ВИЗИ КАТИЦА
+ВИЗИ МАРИЈА
+ВИЗИ МАРИЈА
+ВИЗИ РАДОЈКА
+ВИЗИ СОЊА
+ВИЗИ СТЕВАН
+ВЈЕШТИЦА ЂУРО
+ВЈЕШТИЦА ДУШАНКА
+ВЈЕШТИЦА ЈОВО
+ВЈЕШТИЦА МИЛАН
+ВЈЕШТИЦА МИРКО
+ВЈЕШТИЦА МИРОСЛАВ
+ВЈЕШТИЦА НАДА
+ВЈЕШТИЦА НЕБОЈША
+ВЈЕШТИЦА СЛАВКО
+ВЈЕРГ БРАНИСЛАВ
+ВЈЕТРОВ ЉУБИЦА
+ВЛА ДУШАН
+ВЛА ДУШАН
+ВЛА ЈОВАН
+ВЛА МИЛОВАН
+ВЛА ПЕТАР
+ВЛА РАДОСЛАВ
+ВЛА СЛАВКО
+ВЛА СРЕТА
+ВЛАЧО ДУШАНКА
+ВЛАШЧИЋ АЛЕКСАНДАР
+ВЛАШИЋ МИОДРАГ
+ВЛАШИЋ ВАСО
+ВЛАШКАЛИЋ ЂОРЂЕ
+ВЛАШКАЛИЋ АЛЕКСАНДАР
+ВЛАШКАЛИЋ АНДРИЈА
+ВЛАШКАЛИЋ БОЖАНА
+ВЛАШКАЛИЋ-БОЈАНОВИЋ РАЈКА
+ВЛАШКАЛИЋ БРАНИСЛАВ
+ВЛАШКАЛИЋ БРАНИСЛАВ
+ВЛАШКАЛИЋ БРАНИСЛАВ
+ВЛАШКАЛИЋ ДОНКА
+ВЛАШКАЛИЋ ФАДИЛА
+ВЛАШКАЛИЋ ИЛИЈА
+ВЛАШКАЛИЋ ЛАЗАР
+ВЛАШКАЛИЋ ЛАЗАР
+ВЛАШКАЛИЋ МИЛОРАД
+ВЛАШКАЛИЋ НИКОЛА
+ВЛАШКАЛИЋ ОЛГА
+ВЛАШКАЛИЋ ПАВЛЕ
+ВЛАШКАЛИЋ ПАВЛЕ
+ВЛАШКАЛИЋ ПАВЛЕ
+ВЛАШКАЛИЋ ПЕТАР
+ВЛАШКАЛИЋ ПЕТАР
+ВЛАШКАЛИЋ-ПОПОВИЋ ДУШАНКА
+ВЛАШКАЛИЋ РАДОСЛАВ
+ВЛАШКАЛИЋ САВА
+ВЛАШКАЛИЋ СЛОБОДАН
+ВЛАШКАЛИЋ СЛОБОДАН
+ВЛАШКАЛИЋ СТЕВАН
+ВЛАШКАЛИЋ СТОЈАН
+ВЛАШКАЛИЋ ВЛАДИМИР
+ВЛАШКАЛИЋ ЗОРА
+ВЛАШКАЛИЈА ЈЕЛЕНА
+ВЛАШКАЛИЈА ВЛАДА
+ВЛАШКАЛИН БРАНКО
+ВЛАШКИ БОГДАНКА
+ВЛАШКИ ЛАЗАР
+ВЛАШКИ ПРЕДРАГ
+ВЛАДАРСКИ ОЛГА
+ВЛАДАРСКИ ОЛГА
+ВЛАДЕТИЋ МИЛАН
+ВЛАДЕТИЋ МИРКО
+ВЛАДИЋ ДРАГО
+ВЛАДИЋ МИЛАН
+ВЛАДИЋ ПЕТАР
+ВЛАДИМИР СЕЛЕНА
+ВЛАДИМИР ЗДРАВКО
+ВЛАДИМИРОВИЋ АЛЕКСАНДАР
+ВЛАДИМИРОВИЋ МИЛАН
+ВЛАДИМИРОВИЋ ВЛАДИМИР
+ВЛАДИСАВЉЕВ ЖИВАН
+ВЛАДИСАВЉЕВ МИЛОРАД
+ВЛАДИСАВЉЕВ ПЕРА
+ВЛАДИСАВЉЕВ ТОМА
+ВЛАДИСАВЉЕВИЋ ЂОРЂЕ
+ВЛАДИСАВЉЕВИЋ ЂУРА
+ВЛАДИСАВЉЕВИЋ ДЕСИМИР
+ВЛАДИСАВЉЕВИЋ ДРАГИЦА
+ВЛАДИСАВЉЕВИЋ ЕРЖЕБЕТ
+ВЛАДИСАВЉЕВИЋ ЈЕЛЕНА
+ВЛАДИСАВЉЕВИЋ МИЛОСАВА
+ВЛАДИСАВЉЕВИЋ МИРОСЛАВ
+ВЛАДИСАВЉЕВИЋ ОБРАД
+ВЛАДИСАВЉЕВИЋ-ПЕШКАНОВ МИРЈАНА
+ВЛАДИСАВЉЕВИЋ ПРЕДРАГ
+ВЛАДИСАВЉЕВИЋ ВОЈИСЛАВ
+ВЛАДОВИЋ ЈОВАН
+ВЛАДОВИЋ ЈОВАН
+ВЛАДОВИЋ РАДОЈКА
+ВЛАДУША НИКОЛА
+ВЛАДУШИЋ ИВАН
+ВЛАДУШИЋ МИЛАН
+ВЛАДУЛОВ ЖИВОЈИН
+ВЛАДУЛОВИЋ-ПОПОВ МАРИЈА ДР ЛЕКАР
+ВЛАДУЛОВИЋ ТИХОМИР
+ВЛАХ ДАНИЦА
+ВЛАХ ИВАН
+ВЛАХ ПАВЛЕ
+ВЛАХ РАДОВАН
+ВЛАХЕК СТАНКО
+ВЛАХИНИЋ МИЛОШ
+ВЛАХО КРУНОСЛАВ
+ВЛАХОВИЋ ЂОРЂЕ
+ВЛАХОВИЋ БОЈАНА
+ВЛАХОВИЋ БРАНИСЛАВ
+ВЛАХОВИЋ БРАНКА
+ВЛАХОВИЋ БРАНКА
+ВЛАХОВИЋ ДАНИЈЕЛА
+ВЛАХОВИЋ ДРАГОЉУБ
+ВЛАХОВИЋ ДРАГО
+ВЛАХОВИЋ ДУШАН
+ВЛАХОВИЋ ЈЕЛИЦА
+ВЛАХОВИЋ ЉУБИЦА
+ВЛАХОВИЋ ЉУБИНКА
+ВЛАХОВИЋ МАРИЈА
+ВЛАХОВИЋ МИЛАН ДИПЛ ИНГ
+ВЛАХОВИЋ МИЛЕНКО
+ВЛАХОВИЋ МИЛИЦА
+ВЛАХОВИЋ МИРКО ДР ИНГ
+ВЛАХОВИЋ МИРОСЛАВА
+ВЛАХОВИЋ МОМЧИЛО
+ВЛАХОВИЋ ПАВЛЕ
+ВЛАХОВИЋ РАДОШ
+ВЛАХОВИЋ РАДОМИР
+ВЛАХОВИЋ РАДОЊА
+ВЛАХОВИЋ САВА ДР
+ВЛАХОВИЋ СЕНКА
+ВЛАХОВИЋ СЛОБОДАН
+ВЛАХОВИЋ СТЕВАН
+ВЛАХОВИЋ СТРАХИЊА
+ВЛАХОВИЋ ТЕОДОРА
+ВЛАХОВИЋ ВИТОМИРКА
+ВЛАХОВИЋ ВЛАДА
+ВЛАХОВИЋ ВЛАДИМИР
+ВЛАХУШИЋ МИРКО
+ВЛАХУШИЋ ОЛГИЦА
+ВЛАИСАВЉЕВИЋ ЖИВКО
+ВЛАИСАВЉЕВИЋ ЂУЈО
+ВЛАИСАВЉЕВИЋ АНГЕЛИНА
+ВЛАИСАВЉЕВИЋ ДАНИЛО
+ВЛАИСАВЉЕВИЋ ДАРА
+ВЛАИСАВЉЕВИЋ ДМИТАР
+ВЛАИСАВЉЕВИЋ ДУШАН
+ВЛАИСАВЉЕВИЋ МАКСИМ
+ВЛАИСАВЉЕВИЋ МИЛАН
+ВЛАИСАВЉЕВИЋ МИЛАН
+ВЛАИСАВЉЕВИЋ МИЛИЈАНА
+ВЛАИСАВЉЕВИЋ МИЛОШ
+ВЛАИСАВЉЕВИЋ МОМЧИЛО
+ВЛАИСАВЉЕВИЋ НИКОЛА
+ВЛАИСАВЉЕВИЋ НИКОЛА
+ВЛАИСАВЉЕВИЋ НИКОЛА
+ВЛАИСАВЉЕВИЋ РАДМИЛА
+ВЛАИСАВЉЕВИЋ САВО
+ВЛАИСАВЉЕВИЋ СЛОБОДАН
+ВЛАИСАВЉЕВИЋ СОФИЈА
+ВЛАИСАВЉЕВИЋ СТОЈА
+ВЛАИСАВЉЕВИЋ ТРИВУНА
+ВЛАИСАВЉЕВИЋ ВАСО
+ВЛАЈАНКОВ ЛАЗАР
+ВЛАЈАНКОВ НАТАЛИЈА
+ВЛАЈАНКОВ СЛОБОДАН
+ВЛАЈАНКОВ-ВУЛИЋ ВЕРА
+ВЛАЈИЋ ДРАГАН
+ВЛАЈИЋ ДРАГОСЛАВА
+ВЛАЈИЋ ДУШАНКА
+ВЛАЈИЋ ДУШИЦА
+ВЛАЈИЋ ЈОВАН
+ВЛАЈИЋ МАРИЈА
+ВЛАЈИЋ МИЛОШ
+ВЛАЈИЋ ВАЛЕРИЈА
+ВЛАЈКОВ БОСИЉКА
+ВЛАЈКОВ БРАНИСЛАВ
+ВЛАЈКОВ БРАНКО
+ВЛАЈКОВ-ИВАНОВИЋ СНЕЖАНА
+ВЛАЈКОВ ЛАЗАР
+ВЛАЈКОВ ЛАЗА
+ВЛАЈКОВ МАЦА
+ВЛАЈКОВ МИОДРАГ
+ВЛАЈКОВ МИРКО
+ВЛАЈКОВ МЛАДЕН
+ВЛАЈКОВ НИКОЛА
+ВЛАЈКОВ ПАВЛЕ
+ВЛАЈКОВ ПЕТАР
+ВЛАЈКОВ ЗОРИЦА
+ВЛАЈКОВИЋ АНТОНИЈА
+ВЛАЈКОВИЋ БОГДАН
+ВЛАЈКОВИЋ МИЛУТИН
+ВЛАЈКОВИЋ МИОДРАГ
+ВЛАЈКОВИЋ НЕМАЊА
+ВЛАЈНИЋ ЧЕДОМИР
+ВЛАЈНИЋ ГОРАН
+ВЛАЈНИЋ МИРЈАНА
+ВЛАЈНИЋ ЗОРА
+ВЛАЈОВАНОВ СЛОБОДАН
+ВЛАЛУКИН ДРАГОСЛАВ
+ВЛАЛУКИН ИЛОНА
+ВЛАЛУКИН ИЛОНКА
+ВЛАЛУКИН МИЛОРАД ДИПЛ ИНГ
+ВЛАЛУКИН МИРЈАНА
+ВЛАЛУКИН НАДА
+ВЛАЛУКИН САВА
+ВЛАЛУКИН СЛАВКО
+ВЛАЛУКИН ЗОРА
+ВЛАОВ-ЖАРКОВ ОЛГА
+ВЛАОВ ГОРДАНА
+ВЛАОВ ЈАВОРКА
+ВЛАОВ МИЛОШ
+ВЛАОВ МИРОСЛАВ
+ВЛАОВ ВЕЛИМИР
+ВЛАОВИЋ ЂОРЂЕ
+ВЛАОВИЋ ЂОРЂЕ
+ВЛАОВИЋ ЂОРЂЕ
+ВЛАОВИЋ ЂОРЂЕ
+ВЛАОВИЋ АЛЕКСАНДАР
+ВЛАОВИЋ АНИЦА
+ВЛАОВИЋ БОШКО
+ВЛАОВИЋ БРАНИСЛАВА
+ВЛАОВИЋ ДИМИТРИЈЕ
+ВЛАОВИЋ ДРАГАН
+ВЛАОВИЋ ДРАГАН
+ВЛАОВИЋ ДРАГОЉУБ
+ВЛАОВИЋ ДУШАН
+ВЛАОВИЋ ДУШКО
+ВЛАОВИЋ ГАВРА
+ВЛАОВИЋ ХАРИ
+ВЛАОВИЋ ИГЊАТ
+ВЛАОВИЋ ИВАНКА
+ВЛАОВИЋ ЈЕЛА
+ВЛАОВИЋ ЈОВАН
+ВЛАОВИЋ ЈОВАН
+ВЛАОВИЋ КАТИЦА
+ВЛАОВИЋ ЛАЗАР
+ВЛАОВИЋ ЉУБИША
+ВЛАОВИЋ ЉУБИЦА
+ВЛАОВИЋ ЉУБОМИР
+ВЛАОВИЋ ЉУБОМИР
+ВЛАОВИЋ ЛУКА
+ВЛАОВИЋ МАРА
+ВЛАОВИЋ МАРКО
+ВЛАОВИЋ МИЛОШ
+ВЛАОВИЋ МИЛОШ
+ВЛАОВИЋ МИЛОСАВ
+ВЛАОВИЋ МИРОСЛАВ
+ВЛАОВИЋ МЛАДЕН
+ВЛАОВИЋ НИКОЛА
+ВЛАОВИЋ НИКОЛА
+ВЛАОВИЋ ОЛИВЕРА
+ВЛАОВИЋ ПЛЕМЕНКА
+ВЛАОВИЋ РАДИВОЈ
+ВЛАОВИЋ РАЈКО
+ВЛАОВИЋ САВА
+ВЛАОВИЋ СЛАВКО
+ВЛАОВИЋ СТАНОЈЕ
+ВЛАОВИЋ СТЕВАН
+ВЛАОВИЋ СТЕВАН
+ВЛАОВИЋ СВЕТОЗАР
+ВЛАОВИЋ ТОША
+ВЛАОВИЋ ТОДОР
+ВЛАОВИЋ ТОМА
+ВЛАОВИЋ ТОМИСЛАВ
+ВЛАОВИЋ ВЕСНА
+ВЛАОВИЋ ВЛАСТИСЛАВА
+ВЛАОВИЋ ЗОРАН
+ВЛАСАЧЕВИЋ СТОЈКО
+ВЛАСАК РЕНАТА
+ВЛАСОВ МИХАЈЛО
+ВЛАСТЕЛИЋ РОКСАНДА
+ВЛАТКОВИЋ ЖЕЉКО
+ВЛАТКОВИЋ АНГЕЛО
+ВЛАТКОВИЋ ДУШАН
+ВЛАТКОВИЋ КРЕШИМИР
+ВЛАТКОВИЋ МАРИЈА
+ВЛАТКОВИЋ МАРИЈА
+ВЛАТКОВИЋ МИЛАН
+ВЛАТКОВИЋ МИЛИЦА
+ВЛАТКОВИЋ МИРОСЛАВ
+ВЛАТКОВИЋ МЛАДЕН
+ВЛАТКОВИЋ НИКОЛА
+ВЛАТКОВИЋ САВКА
+ВЛАТКОВИЋ СВЕТОЗАР
+ВОШТИЋ АЛЕКСАНДАР
+ВОШТИЋ МИОДРАГ
+ВОДА ЗДЕНКО
+ВОДАЛОВ ДЕЈАН
+ВОДАЛОВ МЛАДЕН
+ВОДЕНИЧАР НИКОЛА
+ВОДОГАЗ ДРАГАН
+ВОДОГАЗ ЛЕПОСАВА
+ВОДОПИВЕЦ ЖЕЉКО
+ВОДОПИВЕЦ ДРАГИЦА
+ВОДОПИВЕЦ МИХАЕЛ
+ВОГАЊАЦ МИЛЕНКО
+ВОГЛЕШ ЛИДИЈА
+ВОИН АЛЕКСАНДАР ДР ЛЕКАР
+ВОЈЧЕВСКИ АЛЕКСАНДАР
+ВОЈЧИЋ ЈОВАН
+ВОЈАШЋУК МАРА
+ВОЈИЧИЋ ЈЕЛЕНА
+ВОЈИЧИЋ РАЈКО
+ВОЈИЧИЋ САВА
+ВОЈИЧИЋ ВЛАДИМИР
+ВОЈИМИРОВИЋ СЛАВКО
+ВОЈИН МИЛКА
+ВОЈИНОВ ЂОРЂЕ
+ВОЈИНОВ МИРА
+ВОЈИНОВ РАДОСЛАВ
+ВОЈИНОВИЋ АЛЕКСАНДРА
+ВОЈИНОВИЋ БОГИЋ
+ВОЈИНОВИЋ ДРАГАН
+ВОЈИНОВИЋ ДРАГОЉУБ
+ВОЈИНОВИЋ ДРАГОСЛАВ
+ВОЈИНОВИЋ ЈЕЛЕНА
+ВОЈИНОВИЋ ЈОВАН ДР
+ВОЈИНОВИЋ ЉИЉАНА
+ВОЈИНОВИЋ ЉУБОМИР
+ВОЈИНОВИЋ МИЛИВОЈЕ
+ВОЈИНОВИЋ МИЛОРАД
+ВОЈИНОВИЋ МИРЈАНА ДР
+ВОЈИНОВИЋ МИРОСЛАВ
+ВОЈИНОВИЋ МИРОСЛАВ
+ВОЈИНОВИЋ МИРОСЛАВ
+ВОЈИНОВИЋ НЕБОЈША
+ВОЈИНОВИЋ ВЕСЕЛИН
+ВОЈИНОВИЋ ВУЈИЦА
+ВОЈИНОВИЋ ВУКОСАВА
+ВОЈИНОВИЋ ЗОРКА
+ВОЈИСАВЉЕВИЋ ЗЛАТИЈА
+ВОЈКИЋ БОШКО
+ВОЈКИЋ РАДИСЛАВ
+ВОЈНИЋ ФРАЊА
+ВОЈНИЋ-ХАЈДУК ГИЗА
+ВОЈНИЋ-ХАЈДУК ЉИЉАНА
+ВОЈНИЋ-ХАЈДУК МИРЈАНА
+ВОЈНИЋ ЈОВАН
+ВОЈНИЋ-КОРТУИШ СТАНА
+ВОЈНИЋ СТЕВАН
+ВОЈНОВ БРАНИСЛАВ
+ВОЈНОВ-ИЛИЋ РОЗАЛИЈА
+ВОЈНОВ СТОЈАН ДР ЛЕКАР
+ВОЈНОВИЋ ЖАРКО
+ВОЈНОВИЋ ЖАРКО
+ВОЈНОВИЋ ЖАРКО
+ВОЈНОВИЋ ЂОРЂЕ
+ВОЈНОВИЋ ЂОРЂЕ
+ВОЈНОВИЋ ЂУРА
+ВОЈНОВИЋ ЂУРО
+ВОЈНОВИЋ АЦА
+ВОЈНОВИЋ АНАСТАЗИЈА
+ВОЈНОВИЋ БРАЦА
+ВОЈНОВИЋ БРАНКО
+ВОЈНОВИЋ БРАНКО
+ВОЈНОВИЋ БРАНКО
+ВОЈНОВИЋ ДАНИЦА
+ВОЈНОВИЋ ДАВОР
+ВОЈНОВИЋ ДЕСАНКА
+ВОЈНОВИЋ ДЕСАНКА
+ВОЈНОВИЋ ДИМИТРИЈЕ
+ВОЈНОВИЋ ДРАГАН
+ВОЈНОВИЋ ДРАГАН
+ВОЈНОВИЋ ДРАГИЦА
+ВОЈНОВИЋ ДУШАН ДИПЛ ИНГ
+ВОЈНОВИЋ ДУШАН
+ВОЈНОВИЋ ДУШАН
+ВОЈНОВИЋ ДУШАН
+ВОЈНОВИЋ ДУШАН
+ВОЈНОВИЋ ГИЗЕЛА
+ВОЈНОВИЋ ИЛИЈА
+ВОЈНОВИЋ ИЛИЈА
+ВОЈНОВИЋ ИЛИЈА
+ВОЈНОВИЋ ИЛИЈА
+ВОЈНОВИЋ ИВАНКА
+ВОЈНОВИЋ ИВАН
+ВОЈНОВИЋ ЈОВАН
+ВОЈНОВИЋ ЈОВАН
+ВОЈНОВИЋ КАТАРИНА
+ВОЈНОВИЋ КАТИЦА
+ВОЈНОВИЋ КЛАРА
+ВОЈНОВИЋ ЉУБИША
+ВОЈНОВИЋ ЉУБИНКА
+ВОЈНОВИЋ МАРА
+ВОЈНОВИЋ МАРКО
+ВОЈНОВИЋ МИЛАН
+ВОЈНОВИЋ МИЛАН
+ВОЈНОВИЋ МИЛАН
+ВОЈНОВИЋ МИЛАН
+ВОЈНОВИЋ МИЛАН
+ВОЈНОВИЋ МИЛАН
+ВОЈНОВИЋ МИЛЕНКО
+ВОЈНОВИЋ МИЛЕНКО
+ВОЈНОВИЋ МИЛИЦА
+ВОЈНОВИЋ МИЛИНА
+ВОЈНОВИЋ МИЉАН
+ВОЈНОВИЋ МИЛКА
+ВОЈНОВИЋ МИЛОШ
+ВОЈНОВИЋ МИЛУТИН
+ВОЈНОВИЋ МИОДРАГ
+ВОЈНОВИЋ МИРЈАНА
+ВОЈНОВИЋ МИРКО
+ВОЈНОВИЋ МИРОСЛАВ
+ВОЈНОВИЋ МЛАДЕН ДИПЛ ОЕЦ
+ВОЈНОВИЋ НАДА
+ВОЈНОВИЋ НАДА
+ВОЈНОВИЋ НАДЕЖДА
+ВОЈНОВИЋ НАТАША
+ВОЈНОВИЋ НАТАША
+ВОЈНОВИЋ НИКОЛА ДР
+ВОЈНОВИЋ НИКОЛА
+ВОЈНОВИЋ НИКОЛА
+ВОЈНОВИЋ ПЕТАР
+ВОЈНОВИЋ ПЕТАР
+ВОЈНОВИЋ ПЕТАР
+ВОЈНОВИЋ РАДА
+ВОЈНОВИЋ РАДЕ
+ВОЈНОВИЋ РАДЕ
+ВОЈНОВИЋ РАДЕ
+ВОЈНОВИЋ РАДИВОЈ
+ВОЈНОВИЋ-РАДУЈКОВ НАДА
+ВОЈНОВИЋ РАЈКО
+ВОЈНОВИЋ РУЖИЦА
+ВОЈНОВИЋ СЛАВКО
+ВОЈНОВИЋ СЛАВКО
+ВОЈНОВИЋ СПАСЕНИЈА
+ВОЈНОВИЋ СТАМЕНКА
+ВОЈНОВИЋ СТАНИСЛАВ
+ВОЈНОВИЋ СТЕВАН
+ВОЈНОВИЋ СТЕВАН
+ВОЈНОВИЋ СТЕВАН
+ВОЈНОВИЋ СТЕВА
+ВОЈНОВИЋ СТЕВО
+ВОЈНОВИЋ СТОЈКА
+ВОЈНОВИЋ СТРАХИЊА
+ВОЈНОВИЋ ТОМИСЛАВ
+ВОЈНОВИЋ ВЕСЕЛИН
+ВОЈНОВИЋ ВЕСЕЛИН
+ВОЈНОВИЋ ВЛАДИМИР
+ВОЈНОВИЋ ВЛАДИМИР
+ВОЈНОВИЋ ВЛАДИМИР
+ВОЈНОВИЋ ВЛАДИМИР
+ВОЈНОВИЋ ВОЈИСЛАВ
+ВОЈНОВИЋ ВОЈИСЛАВ
+ВОЈНОВИЋ ЗДРАВКО
+ВОЈТ ЉУБИЦА
+ВОЈТ МИЛАНА
+ВОЈТАС СТАНИСЛАВ
+ВОЈТЕХОВСКИ ЈАРОСЛАВ
+ВОЈТЕХОВСКИ ОТО
+ВОЈТЕХОВСКИ ОТО
+ВОЈТЕХОВСКИ ЗАГОРКА
+ВОЈВОДИЋ ЂУРА
+ВОЈВОДИЋ АЛЕКСАНДАР
+ВОЈВОДИЋ АНА
+ВОЈВОДИЋ БРАНИСЛАВ
+ВОЈВОДИЋ ДАНИЦА
+ВОЈВОДИЋ ДРАГОЉУБ
+ВОЈВОДИЋ ДУШАН
+ВОЈВОДИЋ ГРАДИМИР
+ВОЈВОДИЋ ЈОВАН
+ВОЈВОДИЋ МАНИША
+ВОЈВОДИЋ МИЛАН
+ВОЈВОДИЋ МИЛЕ
+ВОЈВОДИЋ МИЛОШ
+ВОЈВОДИЋ МИЛОРАД
+ВОЈВОДИЋ МИРКО
+ВОЈВОДИЋ НАДА
+ВОЈВОДИЋ НИКОЛА
+ВОЈВОДИЋ РАДОВАН
+ВОЈВОДИЋ РАТКА
+ВОЈВОДИЋ СЛАВКО
+ВОЈВОДИЋ СТЕВАН
+ВОЈВОДИЋ СТЕВАН
+ВОЈВОДИЋ-ТАСИЋ СВЕТЛАНА
+ВОЈВОДИЋ ВАСО
+ВОЈВОДИЋ ВОЈИСЛАВ
+ВОЈВОДИЋ ЗОРА
+ВОКШИ ЂЕВАД
+ВОКАЛИЋ ХИЛДЕГАРД
+ВОКАЛИЋ ТЕОБАЛД
+ВОКИЋ ДРАГАН
+ВОКИЋ ДУШКО
+ВОКИЋ ЈОВАН
+ВОКИЋ НАДА
+ВОЛЧЕВИЋ БОРИСЛАВ
+ВОЛЧЕВИЋ ЕВА
+ВОЛЧЕВИЋ ТОДОР
+ВОЛЧЕВСКИ ЕВАНТИЈЕ
+ВОЛЧЕВСКИ НИКОЛА
+ВОЛАШ ИСИДОР
+ВОЛАШ МИЛАНКО
+ВОЛАШ МИЛАН
+ВОЛАР АНДРАШ
+ВОЛАР КАРЛО
+ВОЛАР ПЕТАР
+ВОЛАР СТЈЕПАН
+ВОЛАРЕВ ЉУБОМИР
+ВОЛАРЕВ НАДА
+ВОЛАРЕВ СТЕВАН
+ВОЛАРЕВИЋ МАРКО
+ВОЛАРЕВИЋ ЗОРАН
+ВОЛАРОВ МИЛАН
+ВОЛАРОВ РАДОВАН
+ВОЛЕНЦ МАРИЈА
+ВОЛФ БОРИС
+ВОЛФ ДРАГУТИН
+ВОЛФ ИШТВАН
+ВОЛФ ЉУБИЦА
+ВОЛФ ЉУДЕВИТ
+ВОЛФ МИРА
+ВОЛФ МИРА
+ВОЛФ ВЕРА
+ВОЛИЧ ВЛАДИМИР
+ВОЛИЋ АЛЕКСАНДАР
+ВОЛИЋ БОЖИДАР
+ВОЛИЋ ДРАГОСЛАВ
+ВОЛИЋ ГРУЈА
+ВОЛИЋ ЉИЉАНА
+ВОЛИЋ МАРИНКА
+ВОЛИЋ ПЕТАР
+ВОЛИЋ РАДОСЛАВ
+ВОЛИЋ СЛАВКО
+ВОЛИЋ ТИХОМИР
+ВОЛИЋ ВИНКА
+ВОЛКАР ЕМИЛ
+ВОЛКОВ РАДОСЛАВ
+ВОЛОШКИН БРАТИСЛАВ
+ВОЛОШКИН ДРАГИЦА
+ВОНИЋ ВЛАТКО
+ВОРАЧЕК ЖЕЉКО
+ВОРАЧЕК ЛАДИСЛАВ
+ВОРАТОВИЋ РАДИВОЈ
+ВОРГИЋ ЂОРЂЕ
+ВОРГИЋ АЛЕКСАНДАР
+ВОРГИЋ АНЂЕЛКА
+ВОРГИЋ БОРИВОЈ
+ВОРГИЋ ДРАГАН
+ВОРГИЋ ЕМИЛ
+ВОРГИЋ ГАВРА
+ВОРГИЋ ЈОСИП
+ВОРГИЋ ЛАЗАР
+ВОРГИЋ МАРА
+ВОРГИЋ МИЛАДИНКА
+ВОРГИЋ НИКОЛА ДР
+ВОРГИЋ СЛОБОДАН
+ВОРГИЋ СТЕВАН
+ВОРГИЋ СТЕВАН
+ВОРГИЋ ВУЈИЦА
+ВОРГИЋ ЗДРАВКО
+ВОРГИЋ ЗОРА
+ВОРГИНЦ ЦВЕТА
+ВОРГУЧИЋ МИЛОШ
+ВОРГУЧИЋ САША
+ВОРГУЧИН ИВАН
+ВОРКАПА НИКОЛА
+ВОРКАПИЋ ДУШАН
+ВОРКАПИЋ ЉУБИЦА
+ВОРКАПИЋ МИЛАН
+ВОРКАПИЋ НИКОЛА
+ВОРЛИЧЕК ЈАНОШ
+ВОРЛИЧЕК ЈАНОШ
+ВОРЛИЧЕК МАРИЦА
+ВОРОБЈЕВ ПЕТАР
+ВОРОБЈЕВ САВА
+ВОРОТОВИЋ СТАНА
+ВОРТИЋ БОСИЉКА
+ВОЗАР АНА
+ВОЗАР ДАНИЦА
+ВОЗАР ДРАГАН
+ВОЗАР МИЛОШ
+ВОЗАР ПАВЛЕ ДИПЛ ИНГ
+ВОЗАРЕВИЋ ЂОРЂЕ
+ВОЗАРЕВИЋ ЕЛИЗАБЕТА
+ВОЗАРЕВИЋ ЈЕЛИЦА
+ВОЗАРЕВИЋ МИРКО
+ВОЗАРОВИЋ ВИДА
+ВРЧИНАЦ ПЕТАР
+ВРШКА ЂОРЂЕ
+ВРШКА ДАНИЈЕЛ
+ВРШКА КАТАРИНА
+ВРАЧАР БРАНИСЛАВ
+ВРАЧАР ДАРИНКА
+ВРАЧАР ЈОВАН
+ВРАЧАР ЉУБОМИР
+ВРАЧАР ЉУБО
+ВРАЧАР МИЛАН
+ВРАЧАР МИОЉКА
+ВРАЧАР НЕДЕЉКО
+ВРАЧАР СЛАВКА
+ВРАЧАР СЛОБОДАН
+ВРАЧАР ВЕРА
+ВРАЧАР ВУК
+ВРАЧАР ЗДЕНКА
+ВРАЧАРИЧИЋ РАДЕ
+ВРАЧАРИЋ ЂОРЂЕ
+ВРАЧАРИЋ АЛЕКСАНДАР
+ВРАЧАРИЋ ДИМИТРИЈЕ
+ВРАЧАРИЋ ЈЕЛИЦА
+ВРАЧАРИЋ ЉИЉАНА
+ВРАЧАРИЋ ЉУБИША
+ВРАЧАРИЋ ЉУБОМИР
+ВРАЧАРИЋ МАРИЈА
+ВРАЧАРИЋ МИЛЕНКО
+ВРАЧАРИЋ МИЛИСАВ
+ВРАЧАРИЋ МИЛОМИР
+ВРАЧАРИЋ ВЛАДИМИР
+ВРАЧЕВИЋ САВКА
+ВРАШТАНОВИЋ ЉУБИНКА
+ВРАБЛИК ЈУЛИЈАНА
+ВРАГОВИЋ ЈОЦА
+ВРАНА НАДА
+ВРАНАЦ КСЕНИЈА
+ВРАНАЦ СЕАД
+ВРАНАЦ ВАХИДА
+ВРАНАЦ ЗИЈАД
+ВРАНЕШ ЧЕДОМИР
+ВРАНЕШ БОЖИДАР
+ВРАНЕШ ДАВОРИН
+ВРАНЕШ ЕМИЛИЈА
+ВРАНЕШ ЈОВАНКА
+ВРАНЕШ МАРИЈА
+ВРАНЕШ МИЛАН
+ВРАНЕШ МИЛКА
+ВРАНЕШ МИЛУТИН
+ВРАНЕШ НАДА
+ВРАНЕШ НИКОЛА
+ВРАНЕШ ПЕТАР
+ВРАНЕШ СМИЉА
+ВРАНЕШ ВЕРИЦА
+ВРАНЕШЕВИЋ АДАМ
+ВРАНЕШЕВИЋ БРАНИСЛАВ ДР
+ВРАНЕШЕВИЋ ДАМЈАН
+ВРАНЕШЕВИЋ КАТИЦА
+ВРАНЕШЕВИЋ МИЛАН
+ВРАНЕШЕВИЋ МИЛАН
+ВРАНЕШЕВИЋ МИЛОШ
+ВРАНЕШЕВИЋ МИРОСЛАВ
+ВРАНЕШЕВИЋ МЛАДЕН
+ВРАНЕШЕВИЋ НАДА ДР
+ВРАНЕШЕВИЋ ПРЕДРАГ
+ВРАНЕШЕВИЋ РАЈКО
+ВРАНЕШЕВИЋ СТЕВАН
+ВРАНЕШЕВИЋ СТОЈАН
+ВРАНИЋ ЧЕДОМИР
+ВРАНИЋ БРАНКО
+ВРАНИЋ ДОБРИНА
+ВРАНИЋ ДРАГИЊА
+ВРАНИЋ ДРАГОСЛАВ
+ВРАНИЋ ИЛИЈА
+ВРАНИЋ ЈАДРАНКА
+ВРАНИЋ МАРКО
+ВРАНИЋ МИЛАН ПРОФЕСОР
+ВРАНИЋ МИЛОРАД
+ВРАНИЋ МИЛУТИН
+ВРАНИЋ МИРЧЕТА
+ВРАНИЋ МИРКО
+ВРАНИЋ МИТРА
+ВРАНИЋ НЕНАД
+ВРАНИЋ НИКОЛА
+ВРАНИЋ РАДИВОЈЕ
+ВРАНИЋ РАДОЈКА
+ВРАНИЋ СЛАВКО
+ВРАНИЋ СЛОБОДАН
+ВРАЊЕШ ГОЈКО
+ВРАЊЕШ ЈОВАНКА
+ВРАЊЕШ МИЛЕНКО
+ВРАЊЕШ МИЛЕНКО
+ВРАЊЕШ МИЛЕ
+ВРАЊЕШ МИЛКА
+ВРАЊЕШ НЕНАД
+ВРАЊЕШ РАДОМИР
+ВРАЊЕШ СОФИЈА
+ВРАЊЕШ СВЕТИСЛАВ
+ВРАЊЕШ СВЕТЛАНА
+ВРАЊЕШЕВИЋ БРАНКО
+ВРАЊЕШЕВИЋ ДИНКА
+ВРАЊЕШЕВИЋ ДРАГАН
+ВРАЊЕШЕВИЋ ЈОВИЦА
+ВРАЊЕШЕВИЋ МОМИР
+ВРАЊЕШЕВИЋ РАТОМИР
+ВРАЊЕШЕВИЋ ВЕЉКО
+ВРАЊЕВАЦ ДРАГАН
+ВРАЊЕВАЦ МИЛИВОЈЕ
+ВРАЊКОВИЋ МИЛАН
+ВРАЊКОВИЋ МИЛЕ
+ВРАЊКОВИЋ СМИЉКА
+ВРАЊКОВИЋ СРЕТО
+ВРАЊО ФРАЊА
+ВРАЊО ЗОЛТАН
+ВРАНКОВИЋ ЈУРАЈ
+ВРАНКОВИЋ ЛУКА
+ВРАНКОВИЋ МИЛАН
+ВРАПЧЕВ ЖИВКО
+ВРАПЧЕВ ДУШКО
+ВРАПЧЕВ МЕЛАНИЈА
+ВРАТЊАН БРАНИМИР
+ВРАТОЊИЋ СЛАВОЉУБ
+ВРБАШКИ ЖАРКО
+ВРБАШКИ ЖАРКО
+ВРБАШКИ ЂОРЂЕ
+ВРБАШКИ ЂОРЂЕ
+ВРБАШКИ ЂУРА
+ВРБАШКИ АЛЕКСАНДАР
+ВРБАШКИ АНИЦА
+ВРБАШКИ БРАНИСЛАВА
+ВРБАШКИ ДАРИНКА
+ВРБАШКИ ДРАГОМИР
+ВРБАШКИ ДРАГОСЛАВ
+ВРБАШКИ ДУШАН
+ВРБАШКИ ДУШАН
+ВРБАШКИ ДУШАН
+ВРБАШКИ ДУШИЦА
+ВРБАШКИ ГОРДАНА
+ВРБАШКИ ЈЕЛЕНА
+ВРБАШКИ ЈЕЛИСАВЕТА
+ВРБАШКИ ЈОВАН
+ВРБАШКИ ЈУЛИЈАНА
+ВРБАШКИ КОСТА
+ВРБАШКИ ЛАЗАР
+ВРБАШКИ ЉИЉАНА
+ВРБАШКИ ЉУБИЦА МР
+ВРБАШКИ ЉУБОМИР
+ВРБАШКИ МИЛАН
+ВРБАШКИ МИЛАН
+ВРБАШКИ МИЛЕНА
+ВРБАШКИ МИЛЕНКО
+ВРБАШКИ МИЛИЦА
+ВРБАШКИ МИЛОРАД
+ВРБАШКИ МИОДРАГ
+ВРБАШКИ МИРОСЛАВ
+ВРБАШКИ МИРОСЛАВ
+ВРБАШКИ ПАВЛЕ
+ВРБАШКИ ПЕТАР ДИПЛ ИНГ
+ВРБАШКИ ПЕТАР
+ВРБАШКИ ПЕТАР
+ВРБАШКИ РАДА
+ВРБАШКИ РАДЕНКО
+ВРБАШКИ САВА
+ВРБАШКИ СЛОБОДАН
+ВРБАШКИ СТЕВАН ДР
+ВРБАШКИ СВЕТЛАНА
+ВРБАШКИ ТАЊА
+ВРБАШКИ ТИМА
+ВРБАШКИ ТОДОР
+ВРБАШКИ ВЛАДИСЛАВ
+ВРБАЈАЦ ЂОРЂЕ
+ВРБАЈАЦ ЦВЕЋЕ
+ВРБАЈАЦ ЈОВАН
+ВРБАЈАЦ ВАЛЕРИЈА
+ВРБАНАЦ ЛАЈОШ
+ВРБИЦА ДРАГОЉУБ
+ВРБИЦА КСЕНИЈА
+ВРБИЦА ПЕТАР
+ВРБЉАНАЦ АЛЕН
+ВРЦАН ВАЛЕРИЈА
+ВРЦЕЉ ЖИВКО
+ВРЦЕЉ БОЖИДАР
+ВРЦЕЉ ЉИЉАНА
+ВРЦЕЉ МИХАЈЛО
+ВРЦЕЉ ЗОРАН
+ВРДОЉАК БРАНИМИР
+ВРДОЉАК РАДОВАНКА
+ВРЕШЋАК ИШТВАН
+ВРЕЋА БРАНКО
+ВРЕЋО ВЕЛИМИР
+ВРЕБАЦ ЗВОНИМИР
+ВРЕБАЛОВ АЛЕКСАНДРА
+ВРЕБАЛОВ СТЕВАН
+ВРЕБАЛОВ ТИХОМИР
+ВРЕВЕЗОСКИ РИСТО
+ВРЕВИЧИЋ ЂОРЂЕ
+ВРЕВИЧИЋ СИМА
+ВРЕВИЧИЋ ТРИВУН
+ВРГОВ КОСТА
+ВРГОВИЋ ДРАГАН
+ВРГОВИЋ СТЕВАН
+ВРГОВИЋ ВЕРА
+ВРГОВИЋ ВЛАДИМИР
+ВРХОВАЦ БРАНИСЛАВ
+ВРХОВАЦ ДАНЕ
+ВРХОВАЦ ЈАСМИНА
+ВРХОВАЦ НЕДЕЉКО
+ВРХОВАЦ СЛАВКО ДИПЛ ИНГ
+ВРХОВАЦ ТОМИСЛАВ
+ВРКЕШ ГОРАН
+ВРМИЋ МЛАДЕН
+ВРНЧИЋ ЂОРЂЕ
+ВРСАЈКОВ ИЛИЈА
+ВРСАЈКОВ ИСИДОР
+ВРСАЈКОВ ЈУЛКА
+ВРСАЈКОВ ЉУБИЦА
+ВРСАЈКОВ МИЛОШ
+ВРСАЈКОВ НЕВЕНКА
+ВРСЕЉА ВИНКО
+ВРТИКАПА ЈОВАНКА
+ВРТИПРАШКИ ПЕТАР
+ВРТИПРАШКИ РАДОВАН ДР
+ВРТИПРАШКИ РАДОВАН
+ВРТИПРАШКИ ВАСА
+ВРТОВШНИК МИХАЈЛО
+ВРТУЛЕК СМИЉА
+ВРТУНИЋ БОРИСЛАВ
+ВРТУНИЋ МАРКО
+ВРТУНИЋ НИКОЛА
+ВРТУНСКИ ДАНИЦА
+ВРТУНСКИ ХЕДВИГА
+ВРТУНСКИ ЈУЛКА
+ВРТУНСКИ КАТАРИНА
+ВРТУНСКИ МИЛАН
+ВРТУНСКИ МИЛИЦА
+ВРТУНСКИ МИОДРАГ
+ВРТУНСКИ МЛАДЕН
+ВРТУНСКИ СРЂАН
+ВРТУНСКИ ВЛАДИМИР
+ВРУЋИНИЋ РАДОЈИЦА
+ВРУЋИНИЋ РАЈКО
+ВРЗИЋ БОРИСЛАВ
+ВРЗИЋ ДРАГИЦА
+ВРЗИЋ ДРАГИЦА
+ВРЗИЋ НАДЕЖДА
+ВРЗИЋ СТЕВО
+ВУЧАЈ АЛЕКСАНДАР
+ВУЧАЈ ФРАН
+ВУЧАЈ МИОМИРА
+ВУЧАЈ РОБЕРТ
+ВУЧАНОВИЋ ПРЕДРАГ
+ВУЧЕЛИЋ РАДОМИР
+ВУЧЕЛИЋ СЛАВКО
+ВУЧЕЛИЋ ВЕРА
+ВУЧЕЛИЋ ВЛАЈКО
+ВУЧЕН МИЛАНА
+ВУЧЕНИЋ ПРЕДРАГ
+ВУЧЕНОВ ЂУРИЦА
+ВУЧЕНОВ КАТАЛИН
+ВУЧЕНОВ МИРЈАНА
+ВУЧЕНОВ СТЕВАН
+ВУЧЕНОВИЋ ЖИВАН
+ВУЧЕНОВИЋ ЖИВАН
+ВУЧЕНОВИЋ БРАНКА
+ВУЧЕНОВИЋ ДЕСАНКА
+ВУЧЕНОВИЋ ДРАГОЉУБ
+ВУЧЕНОВИЋ ЈОВАН
+ВУЧЕНОВИЋ ЛУКА
+ВУЧЕНОВИЋ МИРКО
+ВУЧЕНОВИЋ ПЕТАР
+ВУЧЕНОВИЋ СРЕТО
+ВУЧЕНОВИЋ СВЕТЛАНА
+ВУЧЕРИЋ ПРВОСЛАВ
+ВУЧЕТИЋ ЖИКА
+ВУЧЕТИЋ ЖИВКО
+ВУЧЕТИЋ АНЂЕЛКА
+ВУЧЕТИЋ БОЖИДАР
+ВУЧЕТИЋ БОЈАНА
+ВУЧЕТИЋ ДАРИНКА
+ВУЧЕТИЋ ДЕСИМИР
+ВУЧЕТИЋ ДЕВА
+ВУЧЕТИЋ ДИМИТРИЈЕ
+ВУЧЕТИЋ ДРАГАН
+ВУЧЕТИЋ ДУШАН
+ВУЧЕТИЋ ЛАЗАР
+ВУЧЕТИЋ ЉИЉАНА
+ВУЧЕТИЋ МИЋА
+ВУЧЕТИЋ МИЛЕНА
+ВУЧЕТИЋ МИЛЕНА
+ВУЧЕТИЋ МИЛЕН
+ВУЧЕТИЋ МИЛОСАВ
+ВУЧЕТИЋ НИКОЛА
+ВУЧЕТИЋ НИКОЛА
+ВУЧЕТИЋ НИНКО
+ВУЧЕТИЋ ПЕТАР
+ВУЧЕТИЋ ПЕТАР
+ВУЧЕТИЋ РАДЕ
+ВУЧЕТИЋ РАДОЈКА
+ВУЧЕТИЋ РАДОЈКО
+ВУЧЕТИЋ РАЈКО
+ВУЧЕТИЋ САЊА
+ВУЧЕТИЋ СЛОБОДАН
+ВУЧЕТИЋ СМИЉКА
+ВУЧЕТИЋ СОФИЈА
+ВУЧЕТИЋ СТАНКО
+ВУЧЕТИЋ СТЕВАН
+ВУЧЕТИЋ СВЕТЛАНА
+ВУЧЕТИЋ ВАЊА
+ВУЧЕТИЋ ВЕЉКО ДР
+ВУЧЕТИЋ ВЕРА
+ВУЧЕТИЋ ВЛАДИСЛАВ
+ВУЧЕТИЋ ЗОРАН
+ВУЧЕТИЋ ЗОРАН
+ВУЧЕТИН ЖИВАН
+ВУЧЕТИН МИЛОРАД
+ВУЧЕТИН ПЕТАР
+ВУЧЕТИН СОФИЈА
+ВУЧЕТИН ТОДОР
+ВУЧЕВАЦ ЖЕЛИМИР
+ВУЧЕВИЋ АЛЕКСАНДАР
+ВУЧЕВИЋ БОЖАНА
+ВУЧЕВИЋ ВАЛЕРИЈА
+ВУЧИЧЕВИЋ МИЛАН
+ВУЧИЧЕВИЋ НИКОЛА
+ВУЧИЋ ЖАРКО
+ВУЧИЋ ЂОРЂЕ
+ВУЧИЋ ЂУРЂИНКА
+ВУЧИЋ БОГДАН
+ВУЧИЋ БРАНИСЛАВА
+ВУЧИЋ ДРАГАН
+ВУЧИЋ ДУШАН
+ВУЧИЋ ДУШАН
+ВУЧИЋ ЈЕЛЕНА
+ВУЧИЋ ЈОВАНКА
+ВУЧИЋ ЈОВАН
+ВУЧИЋ КАТИЦА
+ВУЧИЋ МАРГИТА
+ВУЧИЋ МИЛАН
+ВУЧИЋ МИЛАН
+ВУЧИЋ МИРОСЛАВ
+ВУЧИЋ НЕВЕНКА
+ВУЧИЋ НИКОЛА
+ВУЧИЋ РАДМИЛА
+ВУЧИЋ СЛОБОДАН
+ВУЧИЋ ТОДОР
+ВУЧИЋ ВЕСЕЛИН
+ВУЧИЋЕВИЋ ЂОРЂЕ
+ВУЧИЋЕВИЋ БОЖИДАР
+ВУЧИЋЕВИЋ ДУШАН
+ВУЧИЋЕВИЋ ГОРДАНА
+ВУЧИЋЕВИЋ МИЛАН
+ВУЧИЋЕВИЋ МИЛАН
+ВУЧИЋЕВИЋ МИЛЕНКО
+ВУЧИЋЕВИЋ МИЛИЦА
+ВУЧИЋЕВИЋ МИОДРАГ
+ВУЧИЋЕВИЋ НАДЕЖДА
+ВУЧИЋЕВИЋ ПЕТАР
+ВУЧИЋЕВИЋ СЕЛИМИР
+ВУЧИЋЕВИЋ ВУКОСАВ
+ВУЧИНИЋ АНЂЕЛИЈА
+ВУЧИНИЋ АНДРИЈА
+ВУЧИНИЋ ДУШАН
+ВУЧИНИЋ ГАВРИЛО
+ВУЧИНИЋ ЈАЊА
+ВУЧИНИЋ ЈАСМИНКА
+ВУЧИНИЋ ЉИЉАНА ДР
+ВУЧИНИЋ ЉУБОМИР
+ВУЧИНИЋ МАРИЈА
+ВУЧИНИЋ МИЛАН
+ВУЧИНИЋ МИЛАН
+ВУЧИНИЋ МИЛИСАВ
+ВУЧИНИЋ МИЛУТИН
+ВУЧИНИЋ МИОДРАГ
+ВУЧИНИЋ МЛАДЕН
+ВУЧИНИЋ МЛАДЕН
+ВУЧИНИЋ ПЕТАР
+ВУЧИНИЋ РАДМИЛА
+ВУЧИНИЋ РАДМИЛА
+ВУЧИНИЋ РАДМИЛА
+ВУЧИНИЋ РАЈКО
+ВУЧИНИЋ ВЕСНА
+ВУЧИНИЋ ВЛАДИМИР
+ВУЧИНИЋ ВУКМАН
+ВУЧИНИЋ ЗЛАТИБОР
+ВУЧИНОВИЋ РАДМИЛА
+ВУЧКОВ БОЈАНА
+ВУЧКОВ БРАНИСЛАВ
+ВУЧКОВ МАРЕЛА
+ВУЧКОВ МИЛОВАН
+ВУЧКОВАЦ ДРАГАН
+ВУЧКОВАЦ РАДЕ
+ВУЧКОВАЦ ТОМИСЛАВ
+ВУЧКОВИЋ ЧАСЛАВ
+ВУЧКОВИЋ ЖАРКО
+ВУЧКОВИЋ ЖИВКО
+ВУЧКОВИЋ ЂОРЂЕ
+ВУЧКОВИЋ ЂОРЂЕ
+ВУЧКОВИЋ АНЂЕЛКО
+ВУЧКОВИЋ АНА
+ВУЧКОВИЋ БОГДАН
+ВУЧКОВИЋ БРАНИСЛАВ
+ВУЧКОВИЋ БРАНКО
+ВУЧКОВИЋ БРАНКО
+ВУЧКОВИЋ ДОБРИЛА
+ВУЧКОВИЋ ДРАГАН
+ВУЧКОВИЋ ДРАГО
+ВУЧКОВИЋ ДУШАНКА
+ВУЧКОВИЋ ДУШАН
+ВУЧКОВИЋ ДУШАН
+ВУЧКОВИЋ ДУШАН
+ВУЧКОВИЋ ДУШАН
+ВУЧКОВИЋ ДУБРАВКА
+ВУЧКОВИЋ ЕМИН
+ВУЧКОВИЋ ЕВИЦА
+ВУЧКОВИЋ ГЕОРГИЈЕ
+ВУЧКОВИЋ ЈАНКО
+ВУЧКОВИЋ ЈАНКО
+ВУЧКОВИЋ ЈОВАН
+ВУЧКОВИЋ ЈОВАН
+ВУЧКОВИЋ ЈОВАН
+ВУЧКОВИЋ ЈОВАН
+ВУЧКОВИЋ ЉУБИЦА
+ВУЧКОВИЋ ЛУКА ДИПЛ ОЕЦ
+ВУЧКОВИЋ МАРА
+ВУЧКОВИЋ МАРИЈА
+ВУЧКОВИЋ МАРКО
+ВУЧКОВИЋ МАРКО
+ВУЧКОВИЋ МИХАЈЛО
+ВУЧКОВИЋ МИХАЈЛО
+ВУЧКОВИЋ МИЛАН
+ВУЧКОВИЋ МИЛАН
+ВУЧКОВИЋ МИЛЕНА
+ВУЧКОВИЋ МИЛОШ
+ВУЧКОВИЋ МИЛОШ
+ВУЧКОВИЋ МИЛОШ
+ВУЧКОВИЋ МИЛОЈКА
+ВУЧКОВИЋ МИЛОРАД
+ВУЧКОВИЋ МИОДРАГ
+ВУЧКОВИЋ МИОДРАГ
+ВУЧКОВИЋ МИРКО
+ВУЧКОВИЋ МИРОСЛАВ
+ВУЧКОВИЋ МОМЧИЛО
+ВУЧКОВИЋ НАДА ДР
+ВУЧКОВИЋ НАДА
+ВУЧКОВИЋ НЕДЕЉКО
+ВУЧКОВИЋ НИКОЛА ВЕТЕРИНАР
+ВУЧКОВИЋ НОВИЦА
+ВУЧКОВИЋ ПАУЛИНА
+ВУЧКОВИЋ-ПЕУРАЧА ЉИЉАНА
+ВУЧКОВИЋ РАДИВОЈ
+ВУЧКОВИЋ РАДОВАН
+ВУЧКОВИЋ САВЕТА
+ВУЧКОВИЋ-СИМИЋ ВЕСНА
+ВУЧКОВИЋ СИНИША
+ВУЧКОВИЋ СТЕВАН
+ВУЧКОВИЋ СТОЈАН ДР ЛЕКАР
+ВУЧКОВИЋ СТОЈАН ДР
+ВУЧКОВИЋ СВЕТЛАНА
+ВУЧКОВИЋ ТАЈСИЈА
+ВУЧКОВИЋ ТОМО
+ВУЧКОВИЋ ВАСА
+ВУЧКОВИЋ ВЛАДИСЛАВ
+ВУЧКОВИЋ ВОЈИСЛАВ
+ВУЧКОВИЋ ВУКИЦА
+ВУЧКОВИЋ ВУКОСАВА
+ВУЧУРЕВИЋ ЧЕДО
+ВУЧУРЕВИЋ ЂОРЂЕ
+ВУЧУРЕВИЋ АНЂЕЛИЈА
+ВУЧУРЕВИЋ БИЉАНА
+ВУЧУРЕВИЋ БЛАЖО
+ВУЧУРЕВИЋ БОШКО
+ВУЧУРЕВИЋ БРАНИСЛАВ
+ВУЧУРЕВИЋ ДАРИНКА
+ВУЧУРЕВИЋ ДРАГОМИР
+ВУЧУРЕВИЋ ДУШАН
+ВУЧУРЕВИЋ ГОРДАНА
+ВУЧУРЕВИЋ ЈЕЛЕНА
+ВУЧУРЕВИЋ МАША
+ВУЧУРЕВИЋ МИЛОШ
+ВУЧУРЕВИЋ МИРКО
+ВУЧУРЕВИЋ МЛАДЕН
+ВУЧУРЕВИЋ НАДА
+ВУЧУРЕВИЋ НИКОЛА
+ВУЧУРЕВИЋ ПЕТАР
+ВУЧУРЕВИЋ ТЕРЕЗИЈА
+ВУЧУРЕВИЋ УРОШ
+ВУЧУРЕВИЋ ВЕСНА
+ВУЧУРЕВИЋ ВЛАДИСЛАВА
+ВУЧУРЕВИЋ ВЛАДО
+ВУЧУРЕВИЋ ВОЈИСЛАВ
+ВУЧУРЕВИЋ ВОЈО
+ВУЧУРОВИЋ ЈАСНА
+ВУЧУРОВИЋ ЈОВАН
+ВУЧУРОВИЋ МИРКО
+ВУЧУРОВИЋ МИРОСЛАВ
+ВУЧУРОВИЋ МЛАДЕН
+ВУЧУРОВИЋ ПРЕДРАГ
+ВУЧУРОВИЋ СЛОБОДАН ДР
+ВУШТАР БОГДАН
+ВУЦЕЛИЋ СЛОБОДАН ДИПЛ ИНГ
+ВУЦЕЉА ДРАГАН
+ВУЦЕЉА МИЛОШ
+ВУЦЕЉА-ПЕТРОНИЈЕВИЋ ВЕРА
+ВУЦЕЉА ТРИВУН
+ВУЦЕЉА ВОЈИН
+ВУДРАГ САВО
+ВУДРАГ ЗОРАН
+ВУДРАГ ЗОРАН
+ВУДРАКОВИЋ РАТКО
+ВУГДЕЛИЋ ДОБРИВОЈ
+ВУГДЕЛИЋ ВУК
+ВУГЛЕЦ ЕДИТА
+ВУГРЕНИЧЕК ЂУРА
+ВУГРЕНИЧЕК МАГДА
+ВУГРИН СТЕВАН
+ВУГРИНЧИЋ АНКА
+ВУГРИНЧИЋ ФРАЊО
+ВУГРИНЧИЋ ЈАРОСЛАВ
+ВУГРИНЕЦ РУДОЛФ
+ВУИЋ ЈОСИП
+ВУЈЧИЋ ДРАГАН
+ВУЈЧИЋ МИЛЕ
+ВУЈЧИЋ ПЕТАР
+ВУЈЧИЋ ПЕТРИЈА
+ВУЈЧИН ЈОВАН
+ВУЈЧИН МИЛАН
+ВУЈЧИН МИТА
+ВУЈАЧИЋ ДРАГУТИН
+ВУЈАЧИЋ ДУБРАВКА
+ВУЈАЧИЋ МИЛИСАВ
+ВУЈАЧИЋ МИЛОРАД
+ВУЈАЧИЋ МИЛОРАД
+ВУЈАЧИЋ НИКОЛА
+ВУЈАЧИЋ РАДОСАВ
+ВУЈАЧИЋ РАЈКО
+ВУЈАШКОВИЋ СЛАВКО
+ВУЈАШКОВИЋ ВЛАДИМИР
+ВУЈАШКОВИЋ ВЛАДИСЛАВ
+ВУЈАШКОВИЋ ЗОРА
+ВУЈАЦКОВ ЂОРЂЕ
+ВУЈАЦКОВ АЛЕКСАНДАР
+ВУЈАЦКОВ ЈОВАН
+ВУЈАДИНОВ ДОБРИВОЈЕ ДИПЛ ИНГ
+ВУЈАДИНОВИЋ БЛАГОЈЕ
+ВУЈАДИНОВИЋ БРАНИСЛАВА
+ВУЈАДИНОВИЋ ЉУБИЦА
+ВУЈАДИНОВИЋ МИЛАН
+ВУЈАДИНОВИЋ МИЛИВОЈЕ
+ВУЈАДИНОВИЋ МИЛИВОЈ
+ВУЈАДИНОВИЋ МИЛИВОЈ
+ВУЈАДИНОВИЋ РАДОШ
+ВУЈАДИНОВИЋ РАЈКО
+ВУЈАДИНОВИЋ СЛАВИЦА
+ВУЈАДИНОВИЋ СВЕТОЗАР
+ВУЈАДИНОВИЋ ТОМИСЛАВ
+ВУЈАДИНОВИЋ ВЕРА
+ВУЈАДИНОВИЋ ВИШЊА
+ВУЈАДИНОВИЋ ВИТО
+ВУЈАДИНОВИЋ ВОЈИСЛАВ
+ВУЈАКЛИЈА ДЕСА
+ВУЈАКЛИЈА СТАНКО
+ВУЈАКОВИЋ ЂУРАЂ
+ВУЈАКОВИЋ ДРАГУТИН
+ВУЈАКОВИЋ КРСТАН
+ВУЈАКОВИЋ СЛОБОДАН
+ВУЈАКОВИЋ ВАСО
+ВУЈАКОВИЋ ВУЈО
+ВУЈАНИЋ ЖИВОСАВ
+ВУЈАНИЋ ЖИВОСЛАВ
+ВУЈАНИЋ БОРИВОЈ
+ВУЈАНИЋ БРАНКО
+ВУЈАНИЋ ГОРДАНА
+ВУЈАНИЋ ЈОРДАН
+ВУЈАНИЋ КОРНЕЛИЈА
+ВУЈАНИЋ МИЛАН
+ВУЈАНИЋ МИЛЕ
+ВУЈАНИЋ МИЛОВАН
+ВУЈАНИЋ НЕДЕЉКА
+ВУЈАНИЋ ПЕТАР
+ВУЈАНИЋ-ВАРГА ДИНКА ДР
+ВУЈАНОВ АЛЕКСАНДАР
+ВУЈАНОВ МИЛАНКА
+ВУЈАНОВ НИКОЛА
+ВУЈАНОВИЋ ЖАРКО
+ВУЈАНОВИЋ АЛЕКСАНДАР
+ВУЈАНОВИЋ БОШКО
+ВУЈАНОВИЋ БОЖИДАР ДР
+ВУЈАНОВИЋ БОЖИДАР
+ВУЈАНОВИЋ БОРИСЛАВ
+ВУЈАНОВИЋ БРАНКО
+ВУЈАНОВИЋ ДЕСИМИР
+ВУЈАНОВИЋ ДИМИТРИЈЕ
+ВУЈАНОВИЋ ДИМИТРИЈЕ
+ВУЈАНОВИЋ ДРАГИЦА
+ВУЈАНОВИЋ ЈОВАНКА
+ВУЈАНОВИЋ ЈОВО
+ВУЈАНОВИЋ МИЈО
+ВУЈАНОВИЋ МИЛАН
+ВУЈАНОВИЋ МИЛЕ
+ВУЈАНОВИЋ МИЛИНКА
+ВУЈАНОВИЋ МИЛОРАД
+ВУЈАНОВИЋ МИРКО
+ВУЈАНОВИЋ МЛАДЕН
+ВУЈАНОВИЋ СИМО
+ВУЈАНОВИЋ СЛАВОЉУБ
+ВУЈАНОВИЋ СТАНА
+ВУЈАНОВИЋ СТОЈАН
+ВУЈАНОВИЋ ВИТОМИР
+ВУЈАСИН СТРАИЛО
+ВУЈАСИНОВИЋ ЧЕДОМИР
+ВУЈАСИНОВИЋ ЈЕЛИЦА
+ВУЈАСИНОВИЋ ЉУБОМИР
+ВУЈАСИНОВИЋ МАРКО
+ВУЈАСИНОВИЋ МИЛАН
+ВУЈАСИНОВИЋ МИРОСЛАВ
+ВУЈАСИНОВИЋ РАДМИЛА
+ВУЈАТОВИЋ МИЛЕНКО
+ВУЈАТОВИЋ МИРЈАНА
+ВУЈАТОВИЋ ТЕОДОР
+ВУЈЕВИЋ РУЖА
+ВУЈИЧИЋ ЂОРЂЕ
+ВУЈИЧИЋ БИСЕРКА
+ВУЈИЧИЋ БОЖИДАР
+ВУЈИЧИЋ ЦВЕТА
+ВУЈИЧИЋ ДАНИЛО ДР
+ВУЈИЧИЋ ДОБРИЛА
+ВУЈИЧИЋ ДРАГАН
+ВУЈИЧИЋ ДУШАН
+ВУЈИЧИЋ ГОЈКО
+ВУЈИЧИЋ ИГЊАТ
+ВУЈИЧИЋ ИЛИЈА
+ВУЈИЧИЋ ИВИЦА ДР ПРОФ
+ВУЈИЧИЋ МАРКО
+ВУЈИЧИЋ МИХАЈЛО
+ВУЈИЧИЋ МИЛЕНКО
+ВУЈИЧИЋ МИЛОШ
+ВУЈИЧИЋ МИЛОШ
+ВУЈИЧИЋ ПЕТАР
+ВУЈИЧИЋ ПЕТРА
+ВУЈИЧИЋ РАДОСЛАВ
+ВУЈИЧИЋ РАНКО
+ВУЈИЧИЋ РАТКО
+ВУЈИЧИЋ РАТКО
+ВУЈИЧИЋ СИМО
+ВУЈИЧИЋ СЛОБОДАН
+ВУЈИЧИЋ СРЂАН
+ВУЈИЧИЋ СТАНКО
+ВУЈИЧИЋ СТЕВАН
+ВУЈИЧИЋ СТОЈАН ДИПЛ ИНГ
+ВУЈИЧИЋ СВЕТКО
+ВУЈИЧИЋ ТОМИСЛАВ
+ВУЈИЧИЋ ВАСИЛИЈЕ
+ВУЈИЧИЋ ВЕРА
+ВУЈИЧИЋ ВЕРИЦА
+ВУЈИЧИЋ ВЛАДИМИР
+ВУЈИЧИЋ ВОЈИН
+ВУЈИЧИН ЖАРКО
+ВУЈИЧИН ЂОРЂЕ
+ВУЈИЧИН ЂУРЂИЦА
+ВУЈИЧИН ЉУБИЦА
+ВУЈИЧИН ПЕТАР
+ВУЈИЋ ЖАРКО
+ВУЈИЋ ЖИВКО
+ВУЈИЋ ЂОРЂЕ
+ВУЈИЋ ЂОРЂЕ
+ВУЈИЋ ЂУРЂИЈА
+ВУЈИЋ ЂУРА
+ВУЈИЋ ЂУРА
+ВУЈИЋ АЛЕКСАНДАР
+ВУЈИЋ АЛЕКСАНДАР
+ВУЈИЋ АНЂЕЛИЈА
+ВУЈИЋ АНТЕ
+ВУЈИЋ АНТЕ
+ВУЈИЋ БОРИСЛАВ
+ВУЈИЋ БРАНИСЛАВ
+ВУЈИЋ БРАНИСЛАВ
+ВУЈИЋ БРАНКА
+ВУЈИЋ ДРАГА
+ВУЈИЋ ДРАГА
+ВУЈИЋ ДРАГИЊА
+ВУЈИЋ ДРАГОСЛАВА
+ВУЈИЋ ДРАГОСЛАВ
+ВУЈИЋ ДУШАН
+ВУЈИЋ ИВАН ДР
+ВУЈИЋ ИВАН ДР
+ВУЈИЋ ИВАНКА
+ВУЈИЋ ЈАКОБ ДР ЛЕКАР
+ВУЈИЋ ЈОВАН
+ВУЈИЋ ЈОВАН
+ВУЈИЋ ЈОВО
+ВУЈИЋ КАТАРИНА
+ВУЈИЋ-КОСО ВЕСНА
+ВУЈИЋ ЛАЗАР
+ВУЈИЋ ЉУБАН
+ВУЈИЋ ЉУБИЦА
+ВУЈИЋ МАРИЈА ПРОФЕСОР
+ВУЈИЋ МИЛАН
+ВУЈИЋ МИЛЕВА
+ВУЈИЋ МИЛЕВА
+ВУЈИЋ МИЛЕВКА
+ВУЈИЋ МИЛИЦА
+ВУЈИЋ МИЛОШ ДР
+ВУЈИЋ МИЛОШ
+ВУЈИЋ МИЛОШ
+ВУЈИЋ МИЛОШ
+ВУЈИЋ МИРА
+ВУЈИЋ МИРОСЛАВ ДИПЛ ИНГ
+ВУЈИЋ МОМИР
+ВУЈИЋ НАДА
+ВУЈИЋ НАДА
+ВУЈИЋ ПАВЛЕ ДР
+ВУЈИЋ ПРЕДРАГ
+ВУЈИЋ РАДИВОЈ
+ВУЈИЋ РАДОСЛАВ
+ВУЈИЋ РАТКА
+ВУЈИЋ САВО
+ВУЈИЋ САВО
+ВУЈИЋ СЛАВКА
+ВУЈИЋ СОФИЈА
+ВУЈИЋ СТАНКО
+ВУЈИЋ СТАНКО
+ВУЈИЋ СТЕВАН
+ВУЈИЋ СТЕВАН
+ВУЈИЋ СТЕВАН
+ВУЈИЋ ВЕРА
+ВУЈИЋ ВЕСНА
+ВУЈИЋ ВЛАДИМИР
+ВУЈИЋ ВЛАДИМИР
+ВУЈИЋ ВОЈИСЛАВА
+ВУЈИЋ ЗОРАН
+ВУЈИН ЂОКА
+ВУЈИН ЂУРИЦА
+ВУЈИН АЛЕКСАНДАР
+ВУЈИН ДАНИЦА
+ВУЈИН ДАВИД
+ВУЈИН ЈЕВРЕМ
+ВУЈИН ЈОВАНКА
+ВУЈИН ЛАЗАР
+ВУЈИН МАРА
+ВУЈИН МЕЛАНИЈА
+ВУЈИН МИРЈАНА
+ВУЈИН РАДИВОЈ
+ВУЈИН РАДОВАН
+ВУЈИН СЛАВКО
+ВУЈИН СЛОБОДАН
+ВУЈИН СВЕТОЗАР
+ВУЈИН ВУЈАДИН
+ВУЈИНОВИЋ ЖИВКА
+ВУЈИНОВИЋ ЂУРА
+ВУЈИНОВИЋ ЂУРО
+ВУЈИНОВИЋ БОРИСЛАВ
+ВУЈИНОВИЋ БРАНИМИР
+ВУЈИНОВИЋ ГЊАТИЈА
+ВУЈИНОВИЋ ЈОВО
+ВУЈИНОВИЋ ЉУБОМИР
+ВУЈИНОВИЋ МИЛОШ
+ВУЈИНОВИЋ МЛАДИНКО
+ВУЈИНОВИЋ НАДА
+ВУЈИНОВИЋ СРЕТЕН
+ВУЈИНОВИЋ СТОЈАН
+ВУЈИНОВИЋ ТЕОДОСИЈЕ
+ВУЈИНОВИЋ ВЕРА
+ВУЈИНОВИЋ ВИДОЈЕ
+ВУЈКО САВА
+ВУЈКОВ ЧЕДОМИР
+ВУЈКОВ ЂОРЂЕ
+ВУЈКОВ АЛЕКСАНДАР
+ВУЈКОВ АНТИНИЈА
+ВУЈКОВ БОЖИДАР
+ВУЈКОВ БОЖИДАР
+ВУЈКОВ ДРАГИЦА
+ВУЈКОВ ДРАГИЊА
+ВУЈКОВ ДРАГОЉУБ
+ВУЈКОВ ДУШАН
+ВУЈКОВ ДУШАН
+ВУЈКОВ-ИСАКОВ ЈАГИЦА
+ВУЈКОВ ЈЕЛЕНА
+ВУЈКОВ ЛАЗАР
+ВУЈКОВ ЛАЗАР
+ВУЈКОВ МИЛАН ДИПЛ ИНГ
+ВУЈКОВ МИЛАНА
+ВУЈКОВ МИЛАНА
+ВУЈКОВ МИЛАН
+ВУЈКОВ МИЛАН
+ВУЈКОВ МИЛЕНА
+ВУЈКОВ МИЛИЦА
+ВУЈКОВ МИЛИЦА
+ВУЈКОВ МИЛИВОЈ
+ВУЈКОВ МИРЈАНА
+ВУЈКОВ МИРОСЛАВ ДИПЛ ИНГ
+ВУЈКОВ МИРОСЛАВ
+ВУЈКОВ НАДА
+ВУЈКОВ НЕНАД
+ВУЈКОВ ОЛГА
+ВУЈКОВ ПАВЛЕ
+ВУЈКОВ ПЕРА
+ВУЈКОВ ПЕТАР ДИПЛ ПРАВНИК
+ВУЈКОВ РАДИВОЈ
+ВУЈКОВ РАДОСЛАВ
+ВУЈКОВ САВА
+ВУЈКОВ САВА
+ВУЈКОВ СЕНКА
+ВУЈКОВ СИМА
+ВУЈКОВ СЛАВКО
+ВУЈКОВ СЛОБОДАН
+ВУЈКОВ СНЕЖАНА
+ВУЈКОВ СНЕЖАНА
+ВУЈКОВ СТЕВАН
+ВУЈКОВ СВЕТОЗАР
+ВУЈКОВ ТАМАРА
+ВУЈКОВ ТОМИСЛАВ
+ВУЈКОВ ВАСА ДР
+ВУЈКОВ ВЕСЕЛИН ДР ПРОФ
+ВУЈКОВ ВЛАДИМИР
+ВУЈКОВ ЗДРАВКО
+ВУЈКОВ ЗДРАВКО
+ВУЈКОВИЋ ЂУРА
+ВУЈКОВИЋ ДРАГАН
+ВУЈКОВИЋ ГОРДАНА
+ВУЈКОВИЋ ГОСПАВА
+ВУЈКОВИЋ МИРА
+ВУЈКОВИЋ НИКОЛА
+ВУЈКОВИЋ РУЖА
+ВУЈКОВИЋ СЛОБОДАН
+ВУЈКОВИЋ СТЕВАН
+ВУЈНОВИЋ АНКА
+ВУЈНОВИЋ БОСИЉКА
+ВУЈНОВИЋ ДРАГАН
+ВУЈНОВИЋ ГОЈКО
+ВУЈНОВИЋ ГОЈКО
+ВУЈНОВИЋ ИЛИЈА
+ВУЈНОВИЋ-МИХАЈЛОВИЋ ДЕСАНКА
+ВУЈНОВИЋ МИЛАН
+ВУЈНОВИЋ МИЛАН
+ВУЈНОВИЋ ВЕЉКО
+ВУЈНОВИЋ ВЕРА
+ВУЈНОВИЋ ЗОРА
+ВУЈОШЕВИЋ БОРИСЛАВ
+ВУЈОШЕВИЋ БРАНКО ДИПЛ ОЕЦ
+ВУЈОШЕВИЋ ДОБРИСЛАВ
+ВУЈОШЕВИЋ ДУШАН
+ВУЈОШЕВИЋ КЛАРА
+ВУЈОШЕВИЋ ЉУБОМИР
+ВУЈОШЕВИЋ МИЛАН
+ВУЈОШЕВИЋ НИКОЛА
+ВУЈОШЕВИЋ РАТКО
+ВУЈОШЕВИЋ ЗОРА
+ВУЈОВИЋ ЂОРЂЕ
+ВУЈОВИЋ АЛЕКСАНДАР
+ВУЈОВИЋ БЛАЖО
+ВУЈОВИЋ БЛАГОЈЕ
+ВУЈОВИЋ БОЖИДАР
+ВУЈОВИЋ ДАНИЦА
+ВУЈОВИЋ ДАРИНКА
+ВУЈОВИЋ ДРАГОЉУБ
+ВУЈОВИЋ ДУШАН
+ВУЈОВИЋ МАРТА
+ВУЈОВИЋ МИХАИЛО
+ВУЈОВИЋ МИЛОМИР
+ВУЈОВИЋ МИЛОРАД
+ВУЈОВИЋ МИЛОРАД
+ВУЈОВИЋ МИЛОРАД
+ВУЈОВИЋ МИЛОВАН
+ВУЈОВИЋ МИОДРАГ
+ВУЈОВИЋ МИОМИР
+ВУЈОВИЋ МИРЈАНА
+ВУЈОВИЋ НЕЂЕЉКО
+ВУЈОВИЋ НЕЂО
+ВУЈОВИЋ НОВИЦА
+ВУЈОВИЋ ОЛГА
+ВУЈОВИЋ ПАВЛЕ
+ВУЈОВИЋ ПАВЛЕ
+ВУЈОВИЋ ПЕТКО
+ВУЈОВИЋ РАДИВОЈЕ
+ВУЈОВИЋ РАДИВОЈ
+ВУЈОВИЋ РАДОЈЕ
+ВУЈОВИЋ РАТКО
+ВУЈОВИЋ СЛОБОДАН
+ВУЈОВИЋ СЛОБОДАН
+ВУЈОВИЋ СТЕВАН
+ВУЈОВИЋ СВЕТИСЛАВ
+ВУЈОВИЋ ВАСИЛИЈЕ
+ВУЈОВИЋ ВАСИЛИЈЕ
+ВУЈОВИЋ ВАСИЛИЈЕ
+ВУЈОВИЋ ВЕЉКО
+ВУЈОВИЋ ВЕСЕЛИН
+ВУЈОВИЋ ВЛАДО
+ВУЈОВИЋ ВЛАЈКО
+ВУЈОВИЋ ВЛАТКО
+ВУЈОВИЋ ВОЈИСЛАВ
+ВУЈОВИЋ ВОЈИСЛАВ
+ВУЈОВИЋ ВОЈИСЛАВ
+ВУЈОВИЋ ВУКИЦА
+ВУЈОВИЋ ЗОРАН
+ВУКЧЕВИЋ ДУШАН
+ВУКЧЕВИЋ ГОРДАНА
+ВУКЧЕВИЋ ЈОВАН
+ВУКЧЕВИЋ КРСТО
+ВУКЧЕВИЋ ЉУБОМИР
+ВУКЧЕВИЋ ЉУБОМИР
+ВУКЧЕВИЋ МИЛЕНКО
+ВУКЧЕВИЋ МИЛЕНКО
+ВУКЧЕВИЋ ПЕТАР
+ВУКЧЕВИЋ САВО
+ВУКЧЕВИЋ СОФИЈА
+ВУКЧЕВИЋ СТЕВАН
+ВУКЧЕВИЋ ЗОРАН
+ВУКША ЧЕДО
+ВУКША ЖЕЉКО
+ВУКША БОРИВОЈЕ
+ВУКША ЛАЗАР
+ВУКША МИЛЕНКО
+ВУКША МИЛУТИН
+ВУКША ПЕТАР
+ВУКША ВЈЕРА
+ВУКАШЕВИЋ МИЛО
+ВУКАШЕВИЋ СЛОБОДАН
+ВУКАШИН ЈОВАН
+ВУКАШИНОВ БРАНИМИР
+ВУКАШИНОВ ЦВЕТКО
+ВУКАШИНОВ СТЕВАН
+ВУКАШИНОВИЋ ЖАРКО
+ВУКАШИНОВИЋ ЖИВАН
+ВУКАШИНОВИЋ ЂОРЂЕ
+ВУКАШИНОВИЋ БОЖИДАР
+ВУКАШИНОВИЋ БОЈАН
+ВУКАШИНОВИЋ ДРАГАН
+ВУКАШИНОВИЋ ДРАГИЊА
+ВУКАШИНОВИЋ ДРАГОЉУБ
+ВУКАШИНОВИЋ ИРЕНА
+ВУКАШИНОВИЋ ИРЕНА
+ВУКАШИНОВИЋ ЛАЗАР
+ВУКАШИНОВИЋ ЛАЗАР
+ВУКАШИНОВИЋ МИЛАН
+ВУКАШИНОВИЋ МИЛЕ
+ВУКАШИНОВИЋ МИЛИЦА
+ВУКАШИНОВИЋ МИРА
+ВУКАШИНОВИЋ МИРЈАНА
+ВУКАШИНОВИЋ МИРОСЛАВ
+ВУКАШИНОВИЋ МОМИР
+ВУКАШИНОВИЋ НИКОЛА
+ВУКАШИНОВИЋ ПАВЛЕ
+ВУКАШИНОВИЋ РАДОЈЕ
+ВУКАШИНОВИЋ СПОМЕНКА
+ВУКАШИНОВИЋ СТОЈАН
+ВУКАШИНОВИЋ ВЕРА
+ВУКАШИНОВИЋ ВЕРИЦА
+ВУКАШИНОВИЋ ВЕСЕЛИН
+ВУКАШИНОВИЋ ВИДА
+ВУКАШИНОВИЋ ЗДРАВКО
+ВУКАДИН ДОБРИВОЈЕ
+ВУКАДИН ТОМИСЛАВ
+ВУКАДИНОВ ЂОРЂЕ
+ВУКАДИНОВ ЂУРА
+ВУКАДИНОВ БОЈКА
+ВУКАДИНОВ БРАНИСЛАВ
+ВУКАДИНОВ ИСИДОР
+ВУКАДИНОВ ИВАНКА
+ВУКАДИНОВ ИВАНКА
+ВУКАДИНОВ ЈОВАН
+ВУКАДИНОВ КАТИЦА
+ВУКАДИНОВ МИЛЕНКО
+ВУКАДИНОВ МИОДРАГ
+ВУКАДИНОВ НЕНАД
+ВУКАДИНОВИЋ АНЂЕЛКО
+ВУКАДИНОВИЋ БИЉАНА
+ВУКАДИНОВИЋ БОСИЉКА
+ВУКАДИНОВИЋ БРАНИСЛАВ
+ВУКАДИНОВИЋ БРАНИСЛАВ
+ВУКАДИНОВИЋ БРАНИСЛАВ
+ВУКАДИНОВИЋ БРАНКО
+ВУКАДИНОВИЋ ГАБРИЈЕЛА ПРОФЕСОР
+ВУКАДИНОВИЋ ЈЕЛИЦА
+ВУКАДИНОВИЋ ЛЕПОСАВА
+ВУКАДИНОВИЋ ЉУБО
+ВУКАДИНОВИЋ МИЛЕНКО
+ВУКАДИНОВИЋ МИЛИВОЈЕ
+ВУКАДИНОВИЋ МИЉОЈКО
+ВУКАДИНОВИЋ МИЛОШ
+ВУКАДИНОВИЋ МИЛОЈЕ
+ВУКАДИНОВИЋ МИЛОРАД
+ВУКАДИНОВИЋ НИКОЛА
+ВУКАДИНОВИЋ ПАВЛЕ ДР
+ВУКАДИНОВИЋ ПЕТАР
+ВУКАДИНОВИЋ ПЕТАР
+ВУКАДИНОВИЋ СОФИЈА ЛОКАЛ
+ВУКАДИНОВИЋ СОФИЈА
+ВУКАДИНОВИЋ СТАНА
+ВУКАДИНОВИЋ СТЕВАН ДР
+ВУКАДИНОВИЋ СВЕТОЗАР
+ВУКАДИНОВИЋ СВЕТОЗАР
+ВУКАДИНОВИЋ ТАТЈАНА
+ВУКАДИНОВИЋ ВЕЛИЗАР
+ВУКАДИНОВИЋ ВЛАДИСАВ
+ВУКАДИНОВИЋ ЗОЛИКА
+ВУКАДИНОВИЋ ЗОЛИКА
+ВУКАЈЛОВ БУДИМИР
+ВУКАЈЛОВ МИРОСЛАВ
+ВУКАЈЛОВИЋ ЖИВАН ПРОФЕСОР
+ВУКАЈЛОВИЋ ЂОРЂЕ
+ВУКАЈЛОВИЋ АНКИЦА
+ВУКАЈЛОВИЋ ДАНИЛО
+ВУКАЈЛОВИЋ ДАРИНКА
+ВУКАЈЛОВИЋ ДУШАН
+ВУКАЈЛОВИЋ ЕЛИЗАБЕТА
+ВУКАЈЛОВИЋ ЛАЗАР
+ВУКАЈЛОВИЋ МИЛЕНА
+ВУКАЈЛОВИЋ МИРЈАНА
+ВУКАЈЛОВИЋ СРЕТО
+ВУКАЈЛОВИЋ СТЕВАН
+ВУКАЛИЋ МУМИН
+ВУКАЉЕВИЋ ИЛИЈА
+ВУКАЉЕВИЋ СЛАВКО
+ВУКАЛОВИЋ СВЕТЛАНА
+ВУКАНИЋ АЛЕКСАНДАР
+ВУКАНИЋ ПЕТАР
+ВУКАНИЋ СРЕТЕН
+ВУКАНИЋ ЗОРАН
+ВУКАНИЋ ЗОРАН
+ВУКАНОВИЋ ЖИВКА
+ВУКАНОВИЋ АНИЦА
+ВУКАНОВИЋ МАРИНА
+ВУКАНОВИЋ МИРОСЛАВ
+ВУКАНОВИЋ НЕБОЈША
+ВУКАНОВИЋ РАДИВОЈ
+ВУКАНОВИЋ СЛАВИМИР
+ВУКАНОВИЋ СЛОБОДАН
+ВУКАНОВИЋ СЛОБОДАН
+ВУКАС ЂОРЂЕ
+ВУКАС ЂУРО
+ВУКАС АНКИЦА
+ВУКАС БРАНКО
+ВУКАС ОМЕРКА
+ВУКАСОВИЋ БРАНИСЛАВ
+ВУКАСОВИЋ МАРИЈА
+ВУКАСОВИЋ МИЛАН
+ВУКАСОВИЋ СЛАВИЦА
+ВУКАВИЋ АЛЕКСАНДРА
+ВУКЕЛИЋ АНЂЕЛКА
+ВУКЕЛИЋ БОРИСЛАВ
+ВУКЕЛИЋ БРАНКО
+ВУКЕЛИЋ БРАНКО
+ВУКЕЛИЋ ДАРА
+ВУКЕЛИЋ ДРАГАН
+ВУКЕЛИЋ ЈОВАН
+ВУКЕЛИЋ ЉУБОМИР
+ВУКЕЛИЋ МИЛАН
+ВУКЕЛИЋ МИЛЕ
+ВУКЕЛИЋ МИЛИЦА
+ВУКЕЛИЋ МИОДРАГ
+ВУКЕЛИЋ МОМИР
+ВУКЕЛИЋ ПАВЛЕ
+ВУКЕЛИЋ ПЕТАР
+ВУКЕЛИЋ ПЕТАР
+ВУКЕЛИЋ РАДА
+ВУКЕЛИЋ РАДЕ
+ВУКЕЛИЋ СИЛВИЈЕ
+ВУКЕЛИЋ СИМО
+ВУКЕЛИЋ СЛАВКО
+ВУКЕЛИЋ СТЕВАН
+ВУКЕЛИЋ СТЕВАН
+ВУКЕЛИЋ ТОМИСЛАВ
+ВУКЕЛИЋ ВЕЉКО
+ВУКЕЛИЋ ВЕРИЦА
+ВУКЕЛИЋ ВЕСНА
+ВУКЕЛИЋ ВУКИЦА
+ВУКЕЛИЋ ЗДРАВКО ДР
+ВУКЕЛИЋ ЗОРИЦА
+ВУКЕЛИЋ ЗВОНИМИР
+ВУКЕЉА БРАНКА
+ВУКИЧЕВИЋ ДРАГОМИР
+ВУКИЧЕВИЋ ЉИЉАНА
+ВУКИЧЕВИЋ МИЛАН
+ВУКИЧЕВИЋ МИЛАН
+ВУКИЧЕВИЋ МИЛАН
+ВУКИЧЕВИЋ МИТАР ДИПЛ ПРАВНИК
+ВУКИЧЕВИЋ РАНКО
+ВУКИЧЕВИЋ СПАСОЈЕ
+ВУКИЧЕВИЋ ВЕСНА
+ВУКИЋ-ЋУЛАФИЋ БРАНКА
+ВУКИЋ ЖИВКО
+ВУКИЋ АНДРЕЈ
+ВУКИЋ БОЖИДАР
+ВУКИЋ БОРИСЛАВ
+ВУКИЋ БРАНКО
+ВУКИЋ БРАНКО
+ВУКИЋ БУДИМИР
+ВУКИЋ ДЕЈАН
+ВУКИЋ ДИМИТРИЈЕ
+ВУКИЋ ДУШАН
+ВУКИЋ ИВАНКА
+ВУКИЋ ЈОВАН
+ВУКИЋ ЉУБИЦА
+ВУКИЋ ЉУБОМИР
+ВУКИЋ МАРИЈА
+ВУКИЋ МИЛАН
+ВУКИЋ МИЛИЦА
+ВУКИЋ МИРЈАНА
+ВУКИЋ МИРКО
+ВУКИЋ МОМЧИЛО
+ВУКИЋ НИКОЛА
+ВУКИЋ НИКОЛА
+ВУКИЋ НОВАК
+ВУКИЋ ПЕТАР
+ВУКИЋ СТАНКО
+ВУКИЋ СТЕВАН
+ВУКИЋ ВЕЛИМИР
+ВУКИЋ ВЛАДО
+ВУКИЋ ВУКАШИН
+ВУКИЋЕВИЋ ЂОРЂЕ
+ВУКИЋЕВИЋ ЂОРЂЕ
+ВУКИЋЕВИЋ АЛЕКСАНДАР
+ВУКИЋЕВИЋ БРАТИСЛАВ
+ВУКИЋЕВИЋ ДРАГИЦА
+ВУКИЋЕВИЋ ДУШАНКА
+ВУКИЋЕВИЋ ИСИДОР
+ВУКИЋЕВИЋ ИСИДОР
+ВУКИЋЕВИЋ МИОМИР
+ВУКИЋЕВИЋ МИРОСЛАВ
+ВУКИЋЕВИЋ МИРОСЛАВ
+ВУКИЋЕВИЋ МОМЧИЛО ДР
+ВУКИЋЕВИЋ СТАНИША
+ВУКИЋЕВИЋ ТОМА
+ВУКИЋЕВИЋ ВЕЉКО
+ВУКЛИШ ДРАГАН
+ВУКЛИШ СЛОБОДАН
+ВУКМАНОВИЋ ДАНИЛО
+ВУКМАНОВИЋ ЉУБА
+ВУКМАНОВИЋ МИЛАНА
+ВУКМАНОВИЋ МИЛАН
+ВУКМАНОВИЋ НЕНАД
+ВУКМАНОВИЋ ПЕТАР
+ВУКМАНОВИЋ СИМО
+ВУКМАНОВИЋ ВЕЛИМИР
+ВУКМАНОВИЋ ВЕРА
+ВУКМИРОВИЋ ЂОРЂЕ
+ВУКМИРОВИЋ ЂОРЂЕ
+ВУКМИРОВИЋ БОЖИДАР
+ВУКМИРОВИЋ БРАНКО
+ВУКМИРОВИЋ БРАНКО
+ВУКМИРОВИЋ ДАНЕ
+ВУКМИРОВИЋ ДРАГАН
+ВУКМИРОВИЋ ГОЈКО
+ВУКМИРОВИЋ ИЛИЈА
+ВУКМИРОВИЋ ИЛИЈА
+ВУКМИРОВИЋ ИЛИЈА
+ВУКМИРОВИЋ ЈАЊА
+ВУКМИРОВИЋ ЉУБОМИР
+ВУКМИРОВИЋ МИЛАН
+ВУКМИРОВИЋ МИЛАН
+ВУКМИРОВИЋ МИЛИЦА
+ВУКМИРОВИЋ МИЛОШ
+ВУКМИРОВИЋ МИЛО
+ВУКМИРОВИЋ НИКОЛА
+ВУКМИРОВИЋ ПЕТАР
+ВУКМИРОВИЋ РАНКО
+ВУКМИРОВИЋ РАНКО
+ВУКМИРОВИЋ РОДОЉУБ
+ВУКМИРОВИЋ СМИЉКА
+ВУКМИРОВИЋ СРЕЋКО
+ВУКМИРОВИЋ ВЕЛИНКА
+ВУКМИРОВИЋ ВУКИЦА
+ВУКМИРОВИЋ ЗДРАВКА
+ВУКНИЋ МАРИЈАН
+ВУКОБРАД ДРАГО
+ВУКОБРАД ЉУБОМИР
+ВУКОБРАД МАРКО
+ВУКОБРАД МИЛОШ
+ВУКОБРАТ ДАНИЦА
+ВУКОБРАТ ДРАГАН
+ВУКОБРАТ ЈОШО
+ВУКОБРАТ ЉУБОМИР
+ВУКОБРАТ МИЛАН
+ВУКОБРАТ НИКОЛА
+ВУКОБРАТ ПЕТАР
+ВУКОБРАТ ТАТЈАНА
+ВУКОБРАТ ЗДРАВКО
+ВУКОБРАТОВ РАДОВАН ДИПЛ ИНГ
+ВУКОБРАТОВ СЛОБОДАН
+ВУКОБРАТОВИЋ БОГДАН
+ВУКОБРАТОВИЋ ДАНИЦА
+ВУКОБРАТОВИЋ ЈОВАН
+ВУКОБРАТОВИЋ МИРЈАНА
+ВУКОБРАТОВИЋ НАДА
+ВУКОБРАТОВИЋ СЛАВИЦА
+ВУКОЈЧИЋ ДУШАН
+ВУКОЈА АНТУН
+ВУКОЈЕ ДУШАН
+ВУКОЈЕ ГАШО
+ВУКОЈЕ ИЛИЈА
+ВУКОЈЕ ЈОВАН
+ВУКОЈЕ МИЛАНА
+ВУКОЈЕ РАДИВОЈЕ
+ВУКОЈЕ РАДМИЛА
+ВУКОЈЕ РАДОВАН
+ВУКОЈЕ ВАЊА
+ВУКОЈЕ ВОЈО
+ВУКОЈЕВ БОГДАН
+ВУКОЈЕВ ДУШАН
+ВУКОЈЕВ ДУШАН
+ВУКОЈЕВ СЛОБОДАН
+ВУКОЈЕВИЋ ЂУРО
+ВУКОЈЕВИЋ МАРА
+ВУКОЈЕВИЋ МИЋО
+ВУКОЈЕВИЋ МИОДРАГ
+ВУКОЈЕВИЋ НИКО
+ВУКОЈЕВИЋ ВЕРИЦА
+ВУКОЈЕВИЋ ВИДОСАВ
+ВУКОЈЕВИЋ ЗОРАН
+ВУКОЈИЧИЋ БОРИСЛАВ
+ВУКОЈИЧИЋ ДРАГАН
+ВУКОЈИЧИЋ МИОДРАГ
+ВУКОЈИЧИЋ МИОДРАГ
+ВУКОЈИЧИЋ СЛАВОЉУБ
+ВУКОМАН ЕМИЛИЈА
+ВУКОМАН МИЛОРАД
+ВУКОМАН РАДА
+ВУКОМАН ЗОРАН
+ВУКОМАН ЗОРКА
+ВУКОМАНОВ ЈОВАН
+ВУКОМАНОВИЋ АНДРИЈА
+ВУКОМАНОВИЋ КАТИЦА
+ВУКОМАНОВИЋ НИКОЛА
+ВУКОМАНОВИЋ РАДОМИР
+ВУКОМАНОВИЋ СЛАВКО
+ВУКОСАВ БОРИВОЈЕ
+ВУКОСАВ БОРКО ДР
+ВУКОСАВ ДОБРИЛА
+ВУКОСАВ ЈОВО
+ВУКОСАВ МИЛОВАН
+ВУКОСАВ РАДЕ
+ВУКОСАВ СЕНКА
+ВУКОСАВ ВЛАЈКО
+ВУКОСАВЉЕВ БОГДАНКА
+ВУКОСАВЉЕВ ДАНИЦА
+ВУКОСАВЉЕВ ДРАГИЦА
+ВУКОСАВЉЕВ ЈЕЛЕНА
+ВУКОСАВЉЕВ ЛАЗАР
+ВУКОСАВЉЕВ МАКСА
+ВУКОСАВЉЕВ МИЛАН
+ВУКОСАВЉЕВ ПЕТАР
+ВУКОСАВЉЕВ САВА
+ВУКОСАВЉЕВ СЛАВИЦА
+ВУКОСАВЉЕВ СТЕВАН
+ВУКОСАВЉЕВ ВОЈИН ДИПЛ ИНГ
+ВУКОСАВЉЕВИЋ АНЂЕЛКА
+ВУКОСАВЉЕВИЋ БАРБАРА
+ВУКОСАВЉЕВИЋ ЦВИЈЕТИН
+ВУКОСАВЉЕВИЋ ДРАГИЦА
+ВУКОСАВЉЕВИЋ ИВАН
+ВУКОСАВЉЕВИЋ ЉУБИЦА
+ВУКОСАВЉЕВИЋ ЛУКА
+ВУКОСАВЉЕВИЋ МАРА
+ВУКОСАВЉЕВИЋ МИЛЕНКО
+ВУКОСАВЉЕВИЋ МИЛОРАД
+ВУКОСАВЉЕВИЋ МИРА
+ВУКОСАВЉЕВИЋ МИРОСЛАВ
+ВУКОСАВЉЕВИЋ ПАВЛЕ
+ВУКОСАВЉЕВИЋ СЛОБОДАН
+ВУКОСАВЉЕВИЋ СТОЈАН
+ВУКОСЛАВЧЕВИЋ НИКОЛА
+ВУКОСЛАВЧЕВИЋ ЗАРИЈЕ
+ВУКОСЛАВОВИЋ РАДОЊА
+ВУКОТА МАРКО
+ВУКОТА МИЛАН
+ВУКОТИЋ БРАНКО
+ВУКОТИЋ ИВА
+ВУКОТИЋ КАТАРИНА
+ВУКОТИЋ-КОВАЧЕВИЋ БИЉАНА
+ВУКОТИЋ ЛУКА
+ВУКОТИЋ МАРА
+ВУКОТИЋ МАРИЈА
+ВУКОТИЋ МИЛАН
+ВУКОТИЋ МИЛИЦА
+ВУКОТИЋ МИОДРАГ
+ВУКОТИЋ НЕНАД
+ВУКОТИЋ НИКОЛА
+ВУКОТИЋ ОЛГА
+ВУКОТИЋ ПЕРИША
+ВУКОТИЋ РАДОЈЕ
+ВУКОТИЋ РАДОВАН
+ВУКОТИЋ СОФИЈА
+ВУКОТИЋ ЗОРИЦА
+ВУКОВ ЖИВКО
+ВУКОВ ЂОРЂЕ
+ВУКОВ ЂОРЂЕ
+ВУКОВ БОШКО
+ВУКОВ БОШКО
+ВУКОВ БОЖАНА
+ВУКОВ БРАНИСЛАВ
+ВУКОВ БРАНИСЛАВ
+ВУКОВ ДРАГАН
+ВУКОВ ДРАГОЉУБ
+ВУКОВ ЈОВАН
+ВУКОВ ЈОВАН
+ВУКОВ ЛАЗАР
+ВУКОВ ЉУБОМИР
+ВУКОВ МАРИЈА
+ВУКОВ МАРКО
+ВУКОВ НИКОЛИЈА
+ВУКОВ ОЛГА
+ВУКОВ СТЕВИЦА
+ВУКОВ ВУКАШИН
+ВУКОВАЦ ДРАГАН
+ВУКОВАЦ ПАНТА
+ВУКОВИЋ ШТЕФИЦА
+ВУКОВИЋ ЖИВКО
+ВУКОВИЋ ЖИВОЈИН
+ВУКОВИЋ ЂОРЂЕ
+ВУКОВИЋ ЂУКА
+ВУКОВИЋ АЛЕКСАНДАР
+ВУКОВИЋ АЛЕКСАНДРА
+ВУКОВИЋ АЛЕКСИЈА
+ВУКОВИЋ АНДРИЈА
+ВУКОВИЋ АНТО
+ВУКОВИЋ БИЉАНА
+ВУКОВИЋ БЛАЖО
+ВУКОВИЋ БЛАГОЈЕ
+ВУКОВИЋ БОШКО
+ВУКОВИЋ БОШКО
+ВУКОВИЋ БОГИЋ
+ВУКОВИЋ БОЈАНА
+ВУКОВИЋ БОЈАНА
+ВУКОВИЋ БОРИША
+ВУКОВИЋ БОРИША
+ВУКОВИЋ БОРИВОЈ
+ВУКОВИЋ БОСИЉКА
+ВУКОВИЋ БРАНИСЛАВ
+ВУКОВИЋ БУДИМИР
+ВУКОВИЋ ЦВЕТКО
+ВУКОВИЋ ДАРИНКА
+ВУКОВИЋ ДОБРИВОЈЕ
+ВУКОВИЋ ДРАГАН
+ВУКОВИЋ ДРАГАН
+ВУКОВИЋ ДРАГОЉУБ
+ВУКОВИЋ ДРАГОСЛАВ
+ВУКОВИЋ ДРАГО
+ВУКОВИЋ ДУШАН ДР ЛЕКАР
+ВУКОВИЋ ДУШАНКА
+ВУКОВИЋ ДУШАН
+ВУКОВИЋ ДУШАН
+ВУКОВИЋ ГЕЗА НОВИНАР
+ВУКОВИЋ ГОЈКО
+ВУКОВИЋ ГОРАН
+ВУКОВИЋ ГОРДАНА
+ВУКОВИЋ ИЛИЈА
+ВУКОВИЋ ИЛИЈА
+ВУКОВИЋ ИВАН
+ВУКОВИЋ ИВАН
+ВУКОВИЋ ИВИЦА
+ВУКОВИЋ ЈАСМИНА
+ВУКОВИЋ ЈЕЛИЦА
+ВУКОВИЋ ЈОСИП
+ВУКОВИЋ ЈОВА
+ВУКОВИЋ ЈУЛИЈАНА
+ВУКОВИЋ ЈУЛИЈАНА
+ВУКОВИЋ ЉУБАН
+ВУКОВИЋ МАРГАРЕТА
+ВУКОВИЋ МАРЈЕНКА
+ВУКОВИЋ МАТО
+ВУКОВИЋ МИЛАДИН
+ВУКОВИЋ МИЛАН
+ВУКОВИЋ МИЛАН
+ВУКОВИЋ МИЛЕНА
+ВУКОВИЋ МИЛЕНА
+ВУКОВИЋ МИЛЕНКО
+ВУКОВИЋ МИЛИВОЈЕ
+ВУКОВИЋ МИЛИВОЈЕ
+ВУКОВИЋ МИЛИВОЈЕ
+ВУКОВИЋ МИЛИВОЈ
+ВУКОВИЋ МИЉАН
+ВУКОВИЋ МИЛКА
+ВУКОВИЋ МИЛКА
+ВУКОВИЋ МИЛОРАД
+ВУКОВИЋ МИЛУТИН
+ВУКОВИЋ МИЛУТИН
+ВУКОВИЋ МИОДРАГ
+ВУКОВИЋ МИОДРАГ
+ВУКОВИЋ МИРЈАНА
+ВУКОВИЋ МИРЈАНА
+ВУКОВИЋ МИРКО
+ВУКОВИЋ МИРКО
+ВУКОВИЋ МИРОЈЕ
+ВУКОВИЋ МИРОСЛАВ
+ВУКОВИЋ МИРОСЛАВ
+ВУКОВИЋ МИТАР
+ВУКОВИЋ МИТАР
+ВУКОВИЋ МИТА
+ВУКОВИЋ МЛАДЕН
+ВУКОВИЋ НАДА
+ВУКОВИЋ НАДА
+ВУКОВИЋ НЕДА
+ВУКОВИЋ ОБРАД
+ВУКОВИЋ ОБРАД
+ВУКОВИЋ ОЛГИЦА
+ВУКОВИЋ ОЛГИЦА
+ВУКОВИЋ ПЕТАР
+ВУКОВИЋ ПЕТАР
+ВУКОВИЋ ПЕТАР
+ВУКОВИЋ РАДЕНКО
+ВУКОВИЋ РАДЕ
+ВУКОВИЋ РАДОСЛАВ
+ВУКОВИЋ РАДОВАН
+ВУКОВИЋ РАТКО
+ВУКОВИЋ САВА
+ВУКОВИЋ СЕНКА
+ВУКОВИЋ СИМА
+ВУКОВИЋ СЛОБОДАН
+ВУКОВИЋ СЛОБОДАН
+ВУКОВИЋ СРЕЋКО
+ВУКОВИЋ СРЕДОЈЕ
+ВУКОВИЋ СТАНКА
+ВУКОВИЋ СТАНКА
+ВУКОВИЋ СТИПА
+ВУКОВИЋ СВЕТИСЛАВ
+ВУКОВИЋ СВЕТЛАНА
+ВУКОВИЋ СВЕТЛАНА
+ВУКОВИЋ-ТАВЧИОСКА АЛЕКСАНДРА
+ВУКОВИЋ ТОДОР
+ВУКОВИЋ ТОМИСЛАВ
+ВУКОВИЋ ВЕСНА
+ВУКОВИЋ ВИДАК
+ВУКОВИЋ ВИНКА
+ВУКОВИЋ ВЛАДИМИР
+ВУКОВИЋ ВЛАДИМИР
+ВУКОВИЋ ВЛАДИМИР
+ВУКОВИЋ ВЛАДИСЛАВ ДР
+ВУКОВИЋ ВЛАТКО ДИПЛ ИНГ
+ВУКОВИЋ ВОЈИСЛАВ
+ВУКОВИЋ ВОЈКО
+ВУКОВИЋ ВУЧИЋ
+ВУКОВИЋ ВУКАШИН
+ВУКОВИЋ ЗОРАН
+ВУКОВИЋ ЗОРАН
+ВУКОВИЋ ЗОРАН
+ВУКОВИЋ ЗОРАН
+ВУКОВИЋ ЗОРАН
+ВУКОВЉАК БОСИЉКА
+ВУКОВЉАК ЕВИЦА
+ВУКОВЉАК МИРКО
+ВУКОВЉАК ВОЈИН
+ВУКОВОЈАЦ ОЛГА
+ВУКОВОЈАЦ ВОЈИСЛАВ
+ВУКСАН МИЛАН
+ВУКСАН МИЛИВОЈ
+ВУКСАН МИОДРАГ
+ВУКСАН НИКОЛА
+ВУКСАН РАДОСЛАВ ПРОФЕСОР
+ВУКСАН РУЖИЦА
+ВУКСАН СВЕТОЗАР
+ВУКСАН ВУКОСАВА
+ВУКСАНОВ ЉУБИЦА
+ВУКСАНОВ ВОЈИСЛАВ
+ВУКСАНОВИЋ ЖИВОРАД
+ВУКСАНОВИЋ АЛЕКСАНДАР
+ВУКСАНОВИЋ АЛЕКСАНДАР
+ВУКСАНОВИЋ ДАРКО
+ВУКСАНОВИЋ ДЕСАНКА
+ВУКСАНОВИЋ ГОРАН
+ВУКСАНОВИЋ ГОРДАНА
+ВУКСАНОВИЋ ЈОВАН
+ВУКСАНОВИЋ МИЛЕ
+ВУКСАНОВИЋ МИЛИСАВ
+ВУКСАНОВИЋ МИЛОРАД
+ВУКСАНОВИЋ МИОДРАГ
+ВУКСАНОВИЋ МИРО
+ВУКСАНОВИЋ САВО
+ВУКСАНОВИЋ СТЕВАНКА
+ВУКСИЋ СТЕВО
+ВУКСИЋ ВЕЛИМИР
+ВУКУШИЋ АНТЕ
+ВУЛАНОВИЋ РЕЉА
+ВУЛАНОВИЋ ВОЈИСЛАВ
+ВУЛЕТА БОЈАН
+ВУЛЕТА ПРЕДРАГ
+ВУЛЕТА РИСТО
+ВУЛЕТИЋ ЖЕЉКО
+ВУЛЕТИЋ ЂОРЂИЈЕ
+ВУЛЕТИЋ АНДРИЈА
+ВУЛЕТИЋ БОРИСЛАВ
+ВУЛЕТИЋ БРАНИСЛАВА
+ВУЛЕТИЋ БРАНКО
+ВУЛЕТИЋ БРАНКО
+ВУЛЕТИЋ ДАНИЦА ДР
+ВУЛЕТИЋ ДИМИТРИЈЕ
+ВУЛЕТИЋ ЈЕЛЕНА
+ВУЛЕТИЋ ЈЕЛИЦА ПРОФЕСОР
+ВУЛЕТИЋ МИЛАДИН
+ВУЛЕТИЋ МИЛАН ВЕТЕРИНАР
+ВУЛЕТИЋ МИЛЕ
+ВУЛЕТИЋ МИЛИВОЈ
+ВУЛЕТИЋ МЛАДЕН
+ВУЛЕТИЋ НАДЕЖДА
+ВУЛЕТИЋ НЕДЕЉКО
+ВУЛЕТИЋ НИКОЛА
+ВУЛЕТИЋ ОБРАД
+ВУЛЕТИЋ РАДОВАН
+ВУЛЕТИЋ СРЂАН
+ВУЛЕТИЋ ВАСИЛИЈЕ
+ВУЛЕТИЋ ВИДОСАВА
+ВУЛЕТИЋ ВИТОМИР
+ВУЛЕТИЋ ВЛАДИМИР
+ВУЛЕТИЋ ВЛАСТИМИР
+ВУЛЕТИЋ ЗОРИЦА
+ВУЛЕТИН ЗОРА
+ВУЛЕВИЋ ЧЕДОМИР
+ВУЛЕВИЋ ЧЕДОМИР
+ВУЛЕВИЋ ЧЕДОМИР
+ВУЛЕВИЋ СПАСОЈЕ
+ВУЛИЋ ЖИКА
+ВУЛИЋ ЂОРЂЕ
+ВУЛИЋ ЂОРЂЕ
+ВУЛИЋ БОЖИДАР
+ВУЛИЋ БОРИСЛАВ
+ВУЛИЋ БРАНИСЛАВ
+ВУЛИЋ БРАНИСЛАВ
+ВУЛИЋ ДАРИНКА
+ВУЛИЋ ДЕСАНКА
+ВУЛИЋ ДРАГОЉУБ
+ВУЛИЋ ИЛИЈА
+ВУЛИЋ ЈАВОРКА
+ВУЛИЋ ЈЕЛЕНА
+ВУЛИЋ ЈЕЛЕНА
+ВУЛИЋ ЈОВАН
+ВУЛИЋ ЈОВАН
+ВУЛИЋ ЈОВАН
+ВУЛИЋ ЛУКА
+ВУЛИЋ ЛУКА
+ВУЛИЋ МИЛАНКА
+ВУЛИЋ МИЛАН
+ВУЛИЋ МИЛИВОЈЕ
+ВУЛИЋ МИЛОРАД
+ВУЛИЋ МИЛОРАД
+ВУЛИЋ МИРОСЛАВ
+ВУЛИЋ МЛАДЕН
+ВУЛИЋ МОМЧИЛО
+ВУЛИЋ НИКОЛА
+ВУЛИЋ ПЕТКО
+ВУЛИЋ СЛАВИЦА
+ВУЛИЋ СЛАВКО
+ВУЛИЋ СТЕВАН
+ВУЛИЋ ЗЛАТА
+ВУЛИЋ ЗЛАТИЈА
+ВУЛИКИЋ ЛУКА
+ВУЛИКИЋ РУЖИЦА
+ВУЛИКИЋ ВЕСЕЛИН
+ВУЛИКИЋ ВОЈИСЛАВ
+ВУЛИН АНГЕЛИНА
+ВУЛИН БРАНИСЛАВ
+ВУЛИН ГОЈКО
+ВУЛИН ЈУЛКА
+ВУЛИН МЛАДЕН
+ВУЛИН НЕНАД
+ВУЛИН НЕНАД
+ВУЛИН ПРЕДРАГ
+ВУЛИН РАДОМИР
+ВУЛИН СТЕВАН
+ВУЛИН ВУКАШИН
+ВУЉАЈ ВАСЕЉ
+ВУЉЕВИЋ ЂОКА
+ВУЛКАНИ ГОРДАНА
+ВУЛОВИЋ ДРАГИЦА
+ВУЛОВИЋ ДРАГОШ
+ВУЛОВИЋ ДРАГОЉУБ
+ВУЛОВИЋ ДРАГОМИР
+ВУЛОВИЋ ГОРАН
+ВУЛОВИЋ ПЕТАР
+ВУЛОВИЋ РАЈКО
+ВУЛОВИЋ САВО
+ВУЛОВИЋ СЛАВИША
+ВУЛОВИЋ ВЛАДИМИР
+ВУЛОВИЋ ВУКИЦА
+ВУЛСАНОВИЋ ИЛКА
+ВУНДЕРЛИХ ЈОСИП
+ВУНДУК МИРОСЛАВА
+ВУНИЋ МИЉЕНКО
+ВУНИЋ ПЕТАР
+ВУНИЋ РАДОЈКА
+ВУЊАК ЂОРЂЕ
+ВУЊАК БРАНИСЛАВА
+ВУЊАК ДУШАН
+ВУРДЕЉА НЕМАЊА ДР ПРОФ
+ВУРДЕЉА СОФИЈА
+ВУРДЕЉА ВАСА
+ВУРСТ ЈОВАНКА
+ВУРУНА БРАНКО
+ВУРУНА МАРИЈА
+ВУРУНИЋ ЗДРАВКО
+ЗАБЛЕЋАНСКИ ВЛАДА
+ЗАБРДАЦ МИЛАН
+ЗАБУНОВ ВЛАДИМИР
+ЗАДОР АНДРИЈА ДР ИУРЕ
+ЗАДРАВЕЦ ЈОСИП
+ЗАДРО НИКОЛА
+ЗАФИРОВИЋ БРАНКО
+ЗАГА МИЛАН
+ЗАГАЈЧАН КОСТА
+ЗАГОРЧИЋ ЖАРКО
+ЗАГОРЧИЋ ЖИВКО
+ЗАГОРЧИЋ ЖИВКО
+ЗАГОРЧИЋ ЂОРЂЕ
+ЗАГОРЧИЋ ЂОРЂЕ
+ЗАГОРЧИЋ ЂОРЂЕ
+ЗАГОРЧИЋ АЛЕКСАНДАР
+ЗАГОРЧИЋ АНГЕЛИНА
+ЗАГОРЧИЋ БОРИСЛАВ
+ЗАГОРЧИЋ БОРИСЛАВ
+ЗАГОРЧИЋ ДРАГОЉУБ
+ЗАГОРЧИЋ ГАВРА
+ЗАГОРЧИЋ ГЛИГОРИЈЕ
+ЗАГОРЧИЋ ГОРАН
+ЗАГОРЧИЋ ИЛИЈА
+ЗАГОРЧИЋ ИЛИЈА
+ЗАГОРЧИЋ ИРЕНА
+ЗАГОРЧИЋ ЈАСМИНА
+ЗАГОРЧИЋ ЈЕЛЕНА
+ЗАГОРЧИЋ ЈОВАН
+ЗАГОРЧИЋ ЈОВАН
+ЗАГОРЧИЋ КРИСТИНА
+ЗАГОРЧИЋ ЛАЗАР
+ЗАГОРЧИЋ ЛАЗАР
+ЗАГОРЧИЋ ЛАЗА
+ЗАГОРЧИЋ МАРИЈА
+ЗАГОРЧИЋ МИЛАН
+ЗАГОРЧИЋ МИЛАН
+ЗАГОРЧИЋ МИЛИЦА
+ЗАГОРЧИЋ МИЛИВОЈЕ
+ЗАГОРЧИЋ МИЛИВОЈ
+ЗАГОРЧИЋ МИЛИВОЈ
+ЗАГОРЧИЋ МИЛОШ
+ЗАГОРЧИЋ МИЛОСАВ
+ЗАГОРЧИЋ-ОРШОШ ДРАГАНА
+ЗАГОРЧИЋ ПАНТА
+ЗАГОРЧИЋ ПЕТАР
+ЗАГОРЧИЋ ПЕТАР
+ЗАГОРЧИЋ ПРЕДРАГ
+ЗАГОРЧИЋ РАДИВОЈ
+ЗАГОРЧИЋ РАДОСЛАВ
+ЗАГОРЧИЋ СЛОБОДАН
+ЗАГОРЧИЋ СТЕВАН
+ЗАГОРЧИЋ СВЕТИСЛАВ
+ЗАГОРЧИЋ СВЕТОЗАР
+ЗАГОРЧИЋ УРОШ
+ЗАГОРЧИЋ ВАСА
+ЗАГОРЧИЋ ВАСА
+ЗАГОРЧИЋ ВАСА
+ЗАГОРЧИЋ ВУКОСАВА
+ЗАГОРЧИЋ ЗИЈАХ
+ЗАГОРАЦ БОЖИЦА
+ЗАГОРАЦ ДИМИТРИЈЕ
+ЗАГОРАЦ ДУШАН
+ЗАГОРАЦ ИВАН
+ЗАГОРАЦ МАРИЈА
+ЗАГОРАЦ МИЛЕНА
+ЗАГОРАЦ МИЛИЦА
+ЗАГОРАЦ МИЛИЦА
+ЗАГОРАЦ НЕДЕЉКО
+ЗАГОРАЦ НИКОЛА
+ЗАГОРАЦ НИКОЛА
+ЗАГОРАЦ ОСТОЈА
+ЗАГОРАЦ ПЕТАР
+ЗАГОРАЦ РАЈКО
+ЗАГОРАЦ РУЖИЦА
+ЗАГОРАЦ СИМО
+ЗАГОРАЦ ВАЛКО
+ЗАГОРЕЦ ЈОСИП
+ЗАГОРИЦА ОЗРЕН
+ЗАГРАЂА БАЈИРАМ
+ЗАХАРИЈЕВИЋ БОГДАН
+ЗАХОРАИ ЈОВАН
+ЗАХОРЕЦ ЗУЗАНА
+ЗАХОРОДНИ АНТОН
+ЗАХОРОДНИ ИВАН
+ЗАИМОВИЋ МУХАРЕМ
+ЗАЈЗОВ ЈЕЛЕНА
+ЗАКАЊ АРПАД
+ЗАКАЊ ЛАЈОШ
+ЗАКАЊ МИРКО
+ЗАКАЊ-ТОБОЛКА ЕВА
+ЗАКИЋ ЂОРЂЕ
+ЗАКИЋ БОЖИДАР
+ЗАКИЋ ДИМИТРИЈЕ
+ЗАКИЋ ДОБРИВОЈ
+ЗАКИЋ ДОБРИВОЈ
+ЗАКИЋ ИВАН
+ЗАКИЋ МИЛАН
+ЗАКИЋ САВА
+ЗАКЛАН ЂУРА
+ЗАКЛАН МИЛАН
+ЗАКЛАН НЕГИЦА
+ЗАКЛАН РАНКО
+ЗАКЛАН СЛОБОДАН
+ЗАКЛАН СТАНИША
+ЗАКЛАН ТИХОМИР
+ЗАКЛАН ТОМИСЛАВ
+ЗАЛИС ГЕОРГИЈЕ
+ЗАЛИС ЈАНИС
+ЗАМАКЛАР ЗОРАН
+ЗАМОЛО ЕДУАРД
+ЗАМУРОВИЋ АЛЕКСАНДАР
+ЗАМУРОВИЋ БОЈАНА
+ЗАМУРОВИЋ КОСТА
+ЗАМУРОВИЋ МИЛЕНА
+ЗАМУРОВИЋ ОЛГА ДР
+ЗАМУРОВИЋ СТОЈАН
+ЗАНОВЈАК ПЕТЕР
+ЗАПУНИДИС ЛЕОНИДАС
+ЗАРЕЦКИ РОЗАЛИЈА
+ЗАРИЧНИ ВЕРИЦА
+ЗАРИЧНИ ВЕРОНИКА
+ЗАРИЋ ЂОРЂЕ
+ЗАРИЋ ЂОРЂЕ
+ЗАРИЋ ЂОРЂЕ
+ЗАРИЋ БОШКО
+ЗАРИЋ БОГДАН
+ЗАРИЋ БОРИСЛАВ
+ЗАРИЋ БРАНИСЛАВ
+ЗАРИЋ БРАТИСЛАВ
+ЗАРИЋ ДРАГА
+ЗАРИЋ ДРАГОСЛАВ
+ЗАРИЋ ДУШАН
+ЗАРИЋ ИВАНКА
+ЗАРИЋ ИВАН
+ЗАРИЋ ЈЕЛЕНА
+ЗАРИЋ ЈОВАН
+ЗАРИЋ ЈОВО
+ЗАРИЋ КАТИЦА
+ЗАРИЋ КАТИЦА
+ЗАРИЋ ЛАЗАР
+ЗАРИЋ МАРИЈА
+ЗАРИЋ МАРИЈА
+ЗАРИЋ МИКА
+ЗАРИЋ МИЛАДИН
+ЗАРИЋ МИЛАН
+ЗАРИЋ МИЛАН
+ЗАРИЋ МИЛЕНА
+ЗАРИЋ МИЛИЦА
+ЗАРИЋ МИЛИЦА
+ЗАРИЋ МИОДРАГ
+ЗАРИЋ МЛАДЕН
+ЗАРИЋ МОМЧИЛО
+ЗАРИЋ НИКОЛА
+ЗАРИЋ НИКОЛА
+ЗАРИЋ НОВАК
+ЗАРИЋ ПЕТАР
+ЗАРИЋ РАДМИЛА
+ЗАРИЋ РАЈО
+ЗАРИЋ САВА
+ЗАРИЋ СЛОБОДАН
+ЗАРИЋ СЛОБОДАН
+ЗАРИЋ СТАНИМИР
+ЗАРИЋ СТАНИСЛАВ
+ЗАРИЋ СТАНКА
+ЗАРИЋ СТЕВАН
+ЗАРИЋ ВЕСНА
+ЗАРИЋ ЗАРИЈА
+ЗАРИЋ ЗДРАВКО
+ЗАРИЋ ЗОРКА
+ЗАРИН СТЕВА
+ЗАРИНГЕР-ПИНТЕР НИКОЛА
+ЗАРКОВ КОЦА
+ЗАРЛИ КАТАРИНА
+ЗАРНОЦКИ ПАВЛЕ
+ЗАРОЛ АЛЕКСАНДАР
+ЗАРУБАЦ АЛЕКСАНДАР
+ЗАРУБАЦ БОРКА
+ЗАРУБАЦ РОМИЦА
+ЗАРУБИЦА БОЖАНА
+ЗАРУБИЦА РАДУН
+ЗАРУПСКИ ЂОРЂЕ
+ЗАРУПСКИ БРАНКО
+ЗАРУПСКИ МИЛОВАН
+ЗАТЕК МАРИЈА
+ЗАТЕЗАЛО ДУШАН ПРОФ
+ЗАТЕЗАЛО МИОДРАГ
+ЗАТЕЗАЛО ПЕТАР
+ЗАТЕЗАЛО ПРЕДРАГ
+ЗАВАРГО ЗОЛТАН
+ЗАВАРКО ШАНДОР
+ЗАВАРКО ШАНДОР
+ЗАВАРКО ШАНДОР
+ЗАВАРКО АНТАЛ
+ЗАВАРКО ЕСТЕРА
+ЗАВАРКО ИШТВАН
+ЗАВАРКО ЈАНОШ
+ЗАВАРКО КАРЛО
+ЗАВАРКО МАРИЈА
+ЗАВАРКО ВЕРА
+ЗАВАРОШ АНДРИЈА
+ЗАВИША ПЕТАР
+ЗАВИША РАНКО
+ЗАВИШИЋ ЦВИЈЕТА
+ЗАВИШИЋ МИЛАН
+ЗАВИШИЋ ПРЕДРАГ
+ЗАВИШИЋ ВИДА
+ЗАВИШИН МАРИЦА
+ЗАВИШИН МОМИР
+ЗАВИШИН САВА
+ЗАВРТАНИК ИВАН
+ЗАВРТАНИК ИВАН
+ЗАВРТАНИК МАРЈАН
+ЗАЗУЉАК СЛАВКО
+ЗБАЧНИК ЗОФИЈА
+ЗБИЉИЋ ДРАГОЉУБ
+ЗБУЋНОВИЋ ЈОВАНКА
+ЗБУЋНОВИЋ МИЛАН
+ЗБУЋНОВИЋ МИЛОШ
+ЗБУЋНОВИЋ МИТА
+ЗБУЋНОВИЋ ПАВЛЕ
+ЗБУЋНОВИЋ САВА
+ЗДЕЛАР СЛОБОДАН
+ЗДЕЊАК ЈОСИП
+ЗДИХАН МАРКО
+ЗДЈЕЛАР ДРАГАН
+ЗДЈЕЛАР МИРОСЛАВ
+ЗДЈЕЛАР ОЛГА
+ЗДЈЕЛАР ВИШЊА
+ЗДЈЕЛАР ЗДРАВКО
+ЗДЈЕЛАРИЋ БРАНКО
+ЗДЈЕЛАРИЋ ДРАГАН
+ЗДРАВЕСКИ ДУШАНКА
+ЗДРАВЕВСКИ ИЛИЈА
+ЗДРАВКОВИЋ АНЂЕЛИЈА
+ЗДРАВКОВИЋ БОГОЉУБ
+ЗДРАВКОВИЋ БОРИСЛАВ
+ЗДРАВКОВИЋ ДЕЈАН
+ЗДРАВКОВИЋ ДРАГОЉУБ
+ЗДРАВКОВИЋ ДУШАНКА
+ЗДРАВКОВИЋ ЈЕЛЕНА
+ЗДРАВКОВИЋ ЈОВАН
+ЗДРАВКОВИЋ МИХАЈЛО
+ЗДРАВКОВИЋ МИЛАН
+ЗДРАВКОВИЋ МИОДРАГ
+ЗДРАВКОВИЋ МИОДРАГ
+ЗДРАВКОВИЋ МИРОСЛАВ
+ЗДРАВКОВИЋ РАДЕ
+ЗДРАВКОВИЋ РАДЕ
+ЗДРАВКОВИЋ ТИХОМИР
+ЗДРАВКОВИЋ ТОМИСЛАВ
+ЗДРАВКОВИЋ ВЕРОЉУБ
+ЗДРАВКОВИЋ ВИДОЈЕ
+ЗДУПСКИ БОЖИДАР
+ЗЕЧАК ВОЈА
+ЗЕЧЕВИЋ ЂОРЂО
+ЗЕЧЕВИЋ АНГЕЛИНА
+ЗЕЧЕВИЋ ЦВИЈАН
+ЗЕЧЕВИЋ ДОБРИВОЈЕ ДР
+ЗЕЧЕВИЋ ДРАГАН ДР
+ЗЕЧЕВИЋ ДУШАН
+ЗЕЧЕВИЋ ГОЛУБ
+ЗЕЧЕВИЋ ГВОЗДЕН
+ЗЕЧЕВИЋ ХИМЗО
+ЗЕЧЕВИЋ КРСТО
+ЗЕЧЕВИЋ ЉУБИЦА
+ЗЕЧЕВИЋ ЉУБИНКО
+ЗЕЧЕВИЋ МАРИЈА
+ЗЕЧЕВИЋ МИЛАН
+ЗЕЧЕВИЋ МИЛАН
+ЗЕЧЕВИЋ МИЛИСАВ
+ЗЕЧЕВИЋ МИЛО
+ЗЕЧЕВИЋ МИОМИР
+ЗЕЧЕВИЋ МИРЈАНА
+ЗЕЧЕВИЋ НИКОЛА
+ЗЕЧЕВИЋ НИКОЛА
+ЗЕЧЕВИЋ НОВАК
+ЗЕЧЕВИЋ ПРЕДРАГ
+ЗЕЧЕВИЋ РАЈКО
+ЗЕЧЕВИЋ РИСТИВОЈЕ
+ЗЕЧЕВИЋ САВО
+ЗЕЧЕВИЋ СЛАВКО
+ЗЕЧЕВИЋ СЛОБОДАН
+ЗЕЧЕВИЋ СМИЉА
+ЗЕЧЕВИЋ СМИЉА
+ЗЕЧЕВИЋ СОФИЈА
+ЗЕЧЕВИЋ ВЕСНА
+ЗЕЧЕВИЋ ВЛАДИМИР
+ЗЕЧЕВИЋ ЗОРАН
+ЗЕЧИРОВИЋ ИЛМИ
+ЗЕЋИРИ ИСМАИЛ
+ЗЕЋИРИ ЗИЈА
+ЗЕЦ ЖЕЉКО
+ЗЕЦ ЂУРО
+ЗЕЦ БОШКО
+ЗЕЦ БОЖИДАР
+ЗЕЦ ДАНИЈЕЛ
+ЗЕЦ ДРАГАН
+ЗЕЦ ДРАГУТИН
+ЗЕЦ ДУШАН
+ЗЕЦ ДУШАН
+ЗЕЦ ЈОВАН
+ЗЕЦ МАРИЈА
+ЗЕЦ МАРИЈА
+ЗЕЦ МАРИНКО
+ЗЕЦ МАТА
+ЗЕЦ МИЛАН
+ЗЕЦ МИЛАН
+ЗЕЦ МИЛЕ ДИПЛ ИНГ
+ЗЕЦ МИЛОШ
+ЗЕЦ МИЛОШ
+ЗЕЦ МИЛОРАД
+ЗЕЦ МИЛОВАН
+ЗЕЦ НИКОЛА
+ЗЕЦ НИКОЛА
+ЗЕЦ РАДОВАН
+ЗЕЦ РАЈКО
+ЗЕЦ РАЈКО
+ЗЕЦ СТЕВАНИЈА
+ЗЕЦ ЗОРИЦА
+ЗЕДИ МИХАЉ
+ЗЕГА АЛЕКСАНДАР
+ЗЕГНАЛ РУДОЛФ
+ЗЕЈАК ИВАН
+ЗЕЈАК МИЛЕТА
+ЗЕЈАК РАДОШ
+ЗЕКА ГЗИМ
+ЗЕКА ХИРЗЕН
+ЗЕКА ИРМА
+ЗЕКАВИЦА ЈЕЛЕНА
+ЗЕКАВИЦА МИРЈАНА
+ЗЕКАВИЦА СЛАВИЦА
+ЗЕКАВИЦА СРЂАН
+ЗЕКИЋ МИРА
+ЗЕКОЊА ЗДРАВКО
+ЗЕКОВИЋ БОШКО
+ЗЕКОВИЋ ДРАГОМИР
+ЗЕКОВИЋ ГОРДАНА
+ЗЕКОВИЋ ХАНКИЈА
+ЗЕКОВИЋ ЈУЛИЈАНА
+ЗЕКОВИЋ ЛИЛА
+ЗЕКОВИЋ МИЛАДИН
+ЗЕКОВИЋ МИЛОШ
+ЗЕКОВИЋ ПЕТАР ДИЛП ОЕЦ
+ЗЕКОВИЋ ПЕТАР
+ЗЕКОВИЋ РАДЕНКО
+ЗЕКОВИЋ РИЗА
+ЗЕКОВИЋ ВАСО
+ЗЕКОВСКИ ЗОРИЦА
+ЗЕЛЕНБАБА РАТКО
+ЗЕЛЕНБАБА СТЕВАН
+ЗЕЛЕНХАСИЋ ЕМИР
+ЗЕЛЕЊАК АНДРИЈА
+ЗЕЛЕЊАК СТЈЕПАН
+ЗЕЛЕНКА ФРАЊА
+ЗЕЛЕНКА МАРИЈА
+ЗЕЛЕНКО ЕМА
+ЗЕЛЕНОВИЋ БОРИША
+ЗЕЛЕНОВИЋ ДРАГАН
+ЗЕЛЕНОВИЋ ЈЕЛЕНА
+ЗЕЛЕНОВИЋ ЈОВАН
+ЗЕЛЕНОВИЋ ЉУБИЦА
+ЗЕЛЕНОВИЋ ЉУБО
+ЗЕЛЕНОВИЋ МАРА
+ЗЕЛЕНОВИЋ МИЛАДИН
+ЗЕЛЕНОВИЋ МИЛАН
+ЗЕЛЕНОВИЋ МИЛИСАВ
+ЗЕЛЕНОВИЋ МИЛИСАВ
+ЗЕЛЕНОВИЋ ВЕРА
+ЗЕЛЕНОВИЋ ВЛАДИМИР
+ЗЕЛЕНСКИ АЛЕКСАНДАР
+ЗЕЛЕНСКИ АЛЕКСАНДАР
+ЗЕЛЕНСКИ ЈЕЛЕНА
+ЗЕЛЕНСКИ МИЛИЦА
+ЗЕЛИЋ ЂОРЂЕ
+ЗЕЛИЋ ИВАН
+ЗЕЛИЋ ЈАНОШ
+ЗЕЛИЋ ЈОВАН
+ЗЕЛИЋ ЛАЗАР
+ЗЕЛИЋ ЉУБА
+ЗЕЛИЋ ЉУБИЦА
+ЗЕЛИЋ ЉУБОМИР
+ЗЕЛИЋ МАРТА
+ЗЕЛИЋ ПАВЛЕ
+ЗЕЛИЋ ПЕРСИДА
+ЗЕЛИЋ ПЕТАР
+ЗЕЛИЋ РУЖИЦА
+ЗЕЛИЋ ВЛАДИМИР
+ЗЕЛИЋ ЗОЛТАН
+ЗЕЉАЈИЋ НИКОЛА ДР
+ЗЕЉИЋ СЛОБОДАН
+ЗЕЉКО МАРИЦА
+ЗЕЉКОВИЋ ЖЕЉКО
+ЗЕЉКОВИЋ ЖЕЉКО
+ЗЕЉКОВИЋ ЂУРО
+ЗЕЉКОВИЋ БОСА
+ЗЕЉКОВИЋ БРАНКО
+ЗЕЉКОВИЋ БРАНКО
+ЗЕЉКОВИЋ ДЕСИМИР
+ЗЕЉКОВИЋ ДРАГУТИН
+ЗЕЉКОВИЋ ДУШКО
+ЗЕЉКОВИЋ ИВАНКА
+ЗЕЉКОВИЋ ЈОВАН
+ЗЕЉКОВИЋ ЈОВО
+ЗЕЉКОВИЋ КРИСТИНА
+ЗЕЉКОВИЋ ЉИЉАНА
+ЗЕЉКОВИЋ МАРКО
+ЗЕЉКОВИЋ МИЛАН
+ЗЕЉКОВИЋ МИЛАН
+ЗЕЉКОВИЋ МИЛИЋ
+ЗЕЉКОВИЋ МИЉА
+ЗЕЉКОВИЋ МИЛОШ
+ЗЕЉКОВИЋ МИРКО
+ЗЕЉКОВИЋ ОСТОЈА
+ЗЕЉКОВИЋ РАДМИЛА
+ЗЕЉКОВИЋ РАНКО
+ЗЕЉКОВИЋ РАТКО
+ЗЕЉКОВИЋ СИМА
+ЗЕЉКОВИЋ СТЕВО
+ЗЕЉКОВИЋ СТОЈАНКА
+ЗЕЉКОВИЋ ТОДЕ
+ЗЕЉКОВИЋ ТОМА
+ЗЕЉКОВИЋ ВЕРА
+ЗЕЉКОВИЋ ВЛАЈКО
+ЗЕЉКОВИЋ ВУКАШИН
+ЗЕЉКОВИЋ ЗОРАН
+ЗЕЉКОВИЋ ЗОРАН
+ЗЕЉКОВИЋ ЗОРАН
+ЗЕМБЕРИ ФЕРЕНЦ
+ЗЕМБЕРИ ЈОСИП
+ЗЕМБЕРИ РОБЕРТ
+ЗЕМКО ШАНДОР
+ЗЕМЉАК ИВАН
+ЗЕМЉАНАЦ МИЛАНКА
+ЗЕНТАИ РОБЕРТ ДИПЛ ИНГ
+ЗЕНУН АВДО
+ЗЕНЗЕРОВИЋ ПАВЛЕ
+ЗЕРДО БОЖИДАР
+ЗЕРДО МИЛОРАД
+ЗЕРДО РАДОСЛАВ
+ЗЕРДО ЗЛАТА
+ЗЕРЕМСКИ ДАНИЛО
+ЗЕРЕМСКИ ДРАГАН
+ЗЕРЕМСКИ ДУШАН
+ЗЕРЕМСКИ КАМЕНКО
+ЗЕРЕМСКИ НАДА
+ЗЕРЕМСКИ НОВАК
+ЗЕРЕМСКИ ПЕТАР
+ЗЕРЕМСКИ ПЕТАР
+ЗЕРЕМСКИ ПИРОШКА
+ЗЕРЕМСКИ РАДОЈКА
+ЗЕРЕМСКИ РАНКО
+ЗЕРЕМСКИ РАТОМИР
+ЗЕРЕМСКИ РУЖИЦА
+ЗЕРЕМСКИ СЛАВИЦА
+ЗЕРЕМСКИ СТЕВАН
+ЗЕРЕМСКИ СТЕВАН
+ЗЕРЕМСКИ ТЕОФАН
+ЗЕРЕМСКИ ТОМИСЛАВ
+ЗЕРЕМСКИ ВЕРА
+ЗЕРЕМСКИ ВЛАДИМИР
+ЗЕРЕМСКИ ВУЈАДИН
+ЗЕЗДИН АЛЕКСАНДАР ДР
+ЗГОМБА ЛАЗАР
+ЗГОМБА ВЛАДИМИР
+ЗГОЊАНИН МИЛАН
+ЗГОЊАНИН РАДЕ
+ЗГОЊАНИН РУЖА
+ЗИДАР МАРИЈАН
+ЗИКОВ АНДРИЈА
+ЗИКОВ ДРАГОЉУБ
+ЗИМА ЧАБА
+ЗИМА РУДОЛФ
+ЗИМАЊИ ЈОВАН
+ЗИМОЊА ЉУБОМИР
+ЗИМОЊИЋ ВЛАДИМИР
+ЗИНАИЋ ЦВИЈЕТА
+ЗИНАИЋ УРОШ
+ЗИРАМОВ ЖАРКО
+ЗИРАМОВ ЈЕВРОСИМА
+ЗИРАМОВ ЈЕВРОСИМА
+ЗИРАМОВ САВА
+ЗИРАМОВ СТЕВАН
+ЗИРДУХ МАРИЈАН
+ЗИРОЈЕ ДРАГАН
+ЗИРОЈЕВИЋ АНЂА
+ЗИРОЈЕВИЋ ГОЈКО
+ЗИРОЈЕВИЋ МИЛЕНКО
+ЗИРОЈЕВИЋ МЛАДЕН
+ЗИРОЈЕВИЋ ОБРАД
+ЗИРОЈЕВИЋ ТОМИСЛАВ
+ЗИСИЈАДЕС МИРЈАНА
+ЗИВЛАК БРАНКО
+ЗИВЛАК ЈЕЛКА
+ЗИВЛАК ЈОВАН
+ЗИВЛАК ПЕРО
+ЗИВЛАК ПЕРО
+ЗИВЛАК ВЛАДИМИР
+ЗИВЛАКОВИЋ ДРАГОЉУБ
+ЗЈАЧИЋ ЂОРЂЕ
+ЗЈАЧИЋ ЂОРЂЕ
+ЗЈАЧИЋ БРАНКО
+ЗЈАЈИЋ КРСТАН
+ЗЈАЛИЋ ДРАГОМИР АДВОКАТ
+ЗЈАЛИЋ ДРАГОМИР
+ЗЈАЛИЋ МАРГИТА
+ЗЈЕВАЛО АНКИЦА
+ЗЛАТАНОВИЋ БЛАГОЈЕ
+ЗЛАТАНОВИЋ ЦВЕТКО
+ЗЛАТАНОВИЋ РАДИВОЈ
+ЗЛАТАНОВИЋ ТИХОМИР
+ЗЛАТАНОВИЋ ВЛАДИМИР
+ЗЛАТАНОВСКИ ДИМИТРИЈЕ
+ЗЛАТАНОВСКИ РУСЕ
+ЗЛАТАР МИЛЕНКО
+ЗЛАТАРЕВ ДУШАН
+ЗЛАТАРЕВ ДУШАН
+ЗЛАТАРЕВ ВЕРИЦА
+ЗЛАТАРИЋ МОМЧИЛО
+ЗЛАТАРИЋ ВОЈИСЛАВ
+ЗЛАТАРОВ МИЛОВАН
+ЗЛАТЕК ЛАЗАР
+ЗЛАТИЧАНИН ТОШО
+ЗЛАТИЋ МИЛОРАД
+ЗЛАТИЋ РАДОСЛАВ
+ЗЛАТИЋ ВЕСЕЛИН
+ЗЛАТКОВИЋ БОШКО
+ЗЛАТКОВИЋ БОРИСЛАВ
+ЗЛАТКОВИЋ ЈЕЛИЦА
+ЗЛАТКОВИЋ-ЈОВИЋ ОЛГИЦА
+ЗЛАТКОВИЋ КАТАРИНА
+ЗЛАТКОВИЋ МЕЛАНИЈА
+ЗЛАТКОВИЋ РУСОМИР
+ЗЛАТКОВИЋ СЛАЂАНА
+ЗЛАТКОВИЋ СЛАВКО
+ЗЛАТОНИЋ СЛАВКО
+ЗЛАТОВЕРХОВНИКОВ ЂОРЂЕ
+ЗЛАТОВИЋ ЈЕЛИСАВЕТА
+ЗЛАТОВИЋ НИКОЛА
+ЗЛИЧИЋ АЛЕКСАНДРА
+ЗЛИЧИЋ ДАРИНКА
+ЗЛИЧИЋ ДИМИТРИЈЕ
+ЗЛИЧИЋ ДУШАНКА ДИПЛ ИНГ
+ЗЛИЧИЋ ДУШАН
+ЗЛИЧИЋ ИВАН
+ЗЛИЧИЋ КАТИЦА
+ЗЛИЧИЋ ЉУБИЦА
+ЗЛИЧИЋ МИЛАН
+ЗЛИЧИЋ МИЛОРАД
+ЗЛИЧИЋ РАДОВАН
+ЗЛИЧИЋ ВАСИЉКА
+ЗЛОЈУТРО МИЋО
+ЗЛОЈУТРО МИХАЈЛО
+ЗЛОЈУТРО СТЕВО
+ЗЛОЈУТРО ВАСА
+ЗЛОКОЛИЦА ЖИВКО
+ЗЛОКОЛИЦА ЂОРЂЕ
+ЗЛОКОЛИЦА БОШКО
+ЗЛОКОЛИЦА ЈОРГОВАНКА
+ЗЛОКОЛИЦА ЈОВАН
+ЗЛОКОЛИЦА ЈОВАН
+ЗЛОКОЛИЦА ЛАЗАР
+ЗЛОКОЛИЦА ЉУБИЦА
+ЗЛОКОЛИЦА МАРКО
+ЗЛОКОЛИЦА МИЛОШ
+ЗЛОКОЛИЦА МИОДРАГ
+ЗЛОКОЛИЦА НИКОЛА
+ЗЛОКОЛИЦА НОВАК
+ЗЛОКОЛИЦА СЛАВКО
+ЗЛОКОЛИЦА СЛАВНА
+ЗЛОКОЛИЦА СТЕВАН
+ЗЛОКОЛИЦА СТЕВАН
+ЗЛОКОЛИЦА ТОДОР
+ЗЛОКОЛИЦА ВЛАДА
+ЗЛОКОЛИЦА ЗЛАТА
+ЗМИЈАЊАЦ МИЛАН
+ЗМРЗЛИКАР МИРЈАНА
+ЗОЋЕВИЋ МАРИЈА
+ЗОЋЕВИЋ ВИТОР
+ЗОБЕНИЦА БИЉАНА
+ЗОБЕНИЦА ДАНИЦА
+ЗОБЕНИЦА МИРЈАНА
+ЗОГОВИЋ ВУК
+ЗОКИ СТЕВАН
+ЗОКИЋ РАДОВАН
+ЗОЛНАИ ТОМАШ
+ЗОЛЊАН ПАВЕЛ
+ЗОЛОТИЋ КАТАРИНА
+ЗОЛОТИЋ ВЕЛИНКА
+ЗОЛОТИЋ ВУКОСАВ
+ЗОМБОРАЦ ЗВОНКО
+ЗОНА ДИВНА
+ЗОНАИ ПАЛ
+ЗОНИЋ ЉУБАН
+ЗОНИЋ РИЗАХ
+ЗОРАД МИХАЉ
+ЗОРАД СТЕВАН
+ЗОРАЈА ЂУРА
+ЗОРАЈА ДРАГАН
+ЗОРАЈА ИГЊАТ
+ЗОРАЈА ПЕТАР
+ЗОРАЈА СТЕВАН
+ЗОРАНИЋ СЛАВИЦА
+ЗОРАНОВИЋ ДУШАНКА
+ЗОРАНОВИЋ ИЛИЈА
+ЗОРАНОВИЋ ЛАЗАР
+ЗОРАНОВИЋ ЛАЗАР
+ЗОРАНОВИЋ МИЛАН
+ЗОРАНОВИЋ МИОДРАГ
+ЗОРАНОВИЋ СОФИЈА
+ЗОРАНОВИЋ СПАСА
+ЗОРАНОВИЋ СТЕВАН
+ЗОРАНОВИЋ СВЕТЛАНА
+ЗОРИЧИЋ ДРАГОЉУБ
+ЗОРИЋ ЧЕДО
+ЗОРИЋ ЂОРЂЕ
+ЗОРИЋ ЂОРЂЕ
+ЗОРИЋ ЂУРЂИЦА
+ЗОРИЋ ЂУРИЦА
+ЗОРИЋ ЂУРО
+ЗОРИЋ ЂУРО
+ЗОРИЋ ЂУРО
+ЗОРИЋ АНЂЕЛКА
+ЗОРИЋ БОШКО
+ЗОРИЋ БОЖИДАР
+ЗОРИЋ БОГДАН
+ЗОРИЋ БОГОЉУБ
+ЗОРИЋ БОРИВОЈ
+ЗОРИЋ БОРО
+ЗОРИЋ БОРО
+ЗОРИЋ БРАНКА
+ЗОРИЋ БРАНКО
+ЗОРИЋ ДАРИНКА
+ЗОРИЋ ДАРКО
+ЗОРИЋ ДРАГАН
+ЗОРИЋ ДРАГАН
+ЗОРИЋ ДРАГАН
+ЗОРИЋ ДРАГОЉУБ
+ЗОРИЋ ДУШАНКА
+ЗОРИЋ ДУШАН
+ЗОРИЋ ДУШАН
+ЗОРИЋ-ГАРДИНОВАЧКИ МАРИЈАНА
+ЗОРИЋ ГАВРИЛО
+ЗОРИЋ ГОРДАНА
+ЗОРИЋ ЈЕЛИСАВЕТА
+ЗОРИЋ ЈЕЛИСАВЕТА
+ЗОРИЋ ЈОВАН
+ЗОРИЋ КАТА
+ЗОРИЋ КЛАРА
+ЗОРИЋ КОСТАДИН
+ЗОРИЋ КОВИЉКА
+ЗОРИЋ ЛАЗАР
+ЗОРИЋ ЛУКА
+ЗОРИЋ МАРИЈА
+ЗОРИЋ МАРКО
+ЗОРИЋ МИКА
+ЗОРИЋ МИЛАН
+ЗОРИЋ МИЛАН
+ЗОРИЋ МИЛАН
+ЗОРИЋ МИЛАН
+ЗОРИЋ МИЛАН
+ЗОРИЋ МИЛЕВА
+ЗОРИЋ МИЛИЦА
+ЗОРИЋ МИЛИЦА
+ЗОРИЋ МИЛОРАД
+ЗОРИЋ МИЛОРАД
+ЗОРИЋ МИЛОРАД
+ЗОРИЋ МИЛОРАД
+ЗОРИЋ МИЛОРАД
+ЗОРИЋ МИОДРАГ
+ЗОРИЋ МИРКО ИНГ
+ЗОРИЋ МИРКО
+ЗОРИЋ МИРОСЛАВ
+ЗОРИЋ НИКОЛА
+ЗОРИЋ НИКОЛА
+ЗОРИЋ НИКОЛА
+ЗОРИЋ ПАВЛЕ
+ЗОРИЋ ПЕРА
+ЗОРИЋ ПЕТАР
+ЗОРИЋ ПЕТКО
+ЗОРИЋ РАДЕ
+ЗОРИЋ РАДЕ
+ЗОРИЋ САВА
+ЗОРИЋ СИМА
+ЗОРИЋ СИМЕОН
+ЗОРИЋ СЛАВИЦА
+ЗОРИЋ СЛОБОДАН
+ЗОРИЋ СНЕЖАНА
+ЗОРИЋ СОКА
+ЗОРИЋ СПАСОЈЕ
+ЗОРИЋ СТАНКО
+ЗОРИЋ СТОЈАН
+ЗОРИЋ СВЕТКО
+ЗОРИЋ СВЕТКО
+ЗОРИЋ ВАСИЛИЈЕ
+ЗОРИЋ ВЕЛИМИР
+ЗОРИЋ ВЕЉКО ДИПЛ ИНГ
+ЗОРИЋ ВЛАДИСЛАВ
+ЗОРИЋ ВЛАДО
+ЗОРИЋ ВОЈИН
+ЗОРИЋ ВОЈКА
+ЗОРИЋ ЗДРАВКА
+ЗОРИЋ ЗОРИЦА
+ЗОРИЋ ЗВОНИМИР
+ЗОРИЦА АЦО
+ЗОРИЦА ДУШАН
+ЗОРИЦА МАРКО
+ЗОРИЈАН ЕМИЛ
+ЗОРЈАН БРАНКО
+ЗОРЈАН ЈАНКО
+ЗОРКИЋ ЖИВКО
+ЗОРНИЈА БРАНКО
+ЗОРНИЈА ВЛАДИСЛАВ
+ЗОРНИК АЛДА
+ЗОРЗИЋ МИЛОРАД
+ЗОТИН ЂОРЂЕ
+ЗОТИН САВА
+ЗОТИН СЛАВОЉУБ
+ЗОТОВИЋ АЛЕКСАНДАР
+ЗОТОВИЋ ОБРАД
+ЗОВИЋ АНА
+ЗОВИЋ ДУШАН
+ЗОВИЋ МИЛОВАН
+ЗОВИЋ МИРОСЛАВ
+ЗОВКО ШИМУН
+ЗОВКО ИЛИЈА
+ЗОВКО ЈОСИП
+ЗОВКО МАНДА
+ЗОВКО МАРЈАН
+ЗОЗУК ЉУБОМИР
+ЗРИЛИЋ НАДА
+ЗРИЛИЋ ВЕРА
+ЗРИЛИЋ ВЛАДИМИР ДР ЛЕКАР
+ЗРНИЋ ШПИРО
+ЗРНИЋ ЂОРЂЕ
+ЗРНИЋ ЂУРО
+ЗРНИЋ ЂУРО
+ЗРНИЋ БРАНКО
+ЗРНИЋ ДУШАН
+ЗРНИЋ ГОЈКО
+ЗРНИЋ ГОЈКО
+ЗРНИЋ ЈОВАН
+ЗРНИЋ ЛАЗАР
+ЗРНИЋ МАЈА
+ЗРНИЋ МАЛИНА
+ЗРНИЋ МАНЕ ДИПЛ ИНГ
+ЗРНИЋ МАНЕ
+ЗРНИЋ МАРИНКО
+ЗРНИЋ МИЛАН
+ЗРНИЋ МИЛАН
+ЗРНИЋ МИЛОШ
+ЗРНИЋ МИРЈАНА
+ЗРНИЋ МИРОЉУБ
+ЗРНИЋ НЕНАД
+ЗРНИЋ НИКОЛА
+ЗРНИЋ ПЕТАР
+ЗРНИЋ СИНИША
+ЗРНИЋ СЛОБОДАН
+ЗРНИЋ СРЂАН
+ЗРНИЋ ВЛАДО
+ЗРНИЋ ЗОРАН
+ЗРНИЋ ЗОРАН
+ЗУБАЦ ЧЕДОМИР
+ЗУБАЦ ДИВНА
+ЗУБАЦ МИЛАН
+ЗУБАЦ ПЕРО
+ЗУБАК СТЕВАН
+ЗУБАН ПЕТАР
+ЗУБАНОВ БРАНИСЛАВ
+ЗУБАНОВ ВЛАДИМИР
+ЗУБЕР ДУШАН
+ЗУБЕР МАРКО
+ЗУБЕРЕЦ ЈОВАН
+ЗУБИЋ ЖАРКО
+ЗУБИЋ ЂУРЂА
+ЗУБИЋ БИЉАНА
+ЗУБИЋ БОЖО
+ЗУБИЋ БРАНИСЛАВА
+ЗУБИЋ ДРАГО
+ЗУБИЋ ЈОВО
+ЗУБИЋ ЛАЗО
+ЗУБИЋ ПЕТАР
+ЗУБИЋ РАДОСЛАВ
+ЗУБИЋ РАТКО
+ЗУБИЋ ВЕРА
+ЗУБИЋ ВЕРКА
+ЗУБОВ АДЕЛА
+ЗУБОВИЋ АНДРИЈА
+ЗУБОВИЋ МИРЈАНА
+ЗУБОВИЋ СЛОБОДАН
+ЗУБОВИЋ СТЕВАН
+ЗУЦАЈИЋ ЈЕЛЕНА
+ЗУКИЋ ГОЈКО
+ЗУКОВИЋ МИЛИНКО
+ЗУЛИЋ АГНЕШ
+ЗУМБУЛОВИЋ ПРЕДРАГ
+ЗУПАНЧИЋ ФРАНЦ
+ЗУПАНЧИЋ ИВАН
+ЗУПАНЦ ДАРКО
+ЗУПАНЦ РАЈКО
+ЗУПКОВ ЂУРА
+ЗУПКОВ МИРОСЛАВ
+ЗУРКОВИЋ ЂОРЂЕ
+ЗУРКОВИЋ АЛЕКСАНДАР
+ЗУРКОВИЋ БОГОЉУБ
+ЗУРКОВИЋ ДУШАН
+ЗУРКОВИЋ ГАВРА
+ЗУРКОВИЋ МИРЈАНА
+ЗУРКОВИЋ НИКОЛА
+ЗУРКОВИЋ РАДОСЛАВ
+ЗУРКОВИЋ РУЖА
+ЗУРКОВИЋ ВЕРА
+ЗУРОВАЦ ЈОВО
+ЗУРОВАЦ ВЕЉКО
+ЗУВИЋ ОБРАД
+ЗУЗАКУ РЕЏЕП
+ЗВАРА ЈУЛИЈА
+ЗВЕКАНОВИЋ ЈОСИП
+ЗВЕКИЋ ДУШАНКА
+ЗВЕКИЋ ЈУГОСЛАВ
+ЗВЕКИЋ МАРИЈА
+ЗВЕКИЋ МИЛАН
+ЗВЕКИЋ НАДА
+ЗВЕКИЋ ПЕТАР
+ЗВЕКИЋ СИНИША
+ЗВЕКИЋ ВЕЛИМИР
+ЗВЕРЖИНА ЈОСИП
+ЗВЕЗДАНОВИЋ БОРА
+ЗВЕЗДАНОВИЋ ТОМА
+ЗВЕЗДИН ЈОВАНКА
+ЗВИЈЕР МИЛОРАД
+ЗВИЗДИЋ МЕХМЕД
+ЗВОШЕЦ КЛАРА
+ЗВОНАРЕВИЋ КАТА
diff --git a/src/com/ibm/icu/dev/test/perf/data/collation/TestNames_Simplified_Chinese.txt b/src/com/ibm/icu/dev/test/perf/data/collation/TestNames_Simplified_Chinese.txt
new file mode 100644
index 0000000..343ded9
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/perf/data/collation/TestNames_Simplified_Chinese.txt
@@ -0,0 +1,10902 @@
+﻿#/**
+# *******************************************************************************
+# * Copyright (C) 2002-2004, International Business Machines Corporation and    *
+# * others. All Rights Reserved.                                                *
+# *******************************************************************************
+# */
+
+虹如
+丁一贤
+丁川伟
+丁心岚
+丁弘光
+丁任法
+丁志宏
+丁幸姬
+丁俊夫
+丁建文
+丁映纯
+丁羿文
+丁哲
+丁伟民
+丁国梅
+丁淑玲
+丁苏南
+丁毓彦
+丁雍哲
+丁绮慧
+丁慧岚
+丁璟枫
+丁誉琳
+丁鋐镒
+卜正伦
+于弋翔
+于秀美
+于秉弘
+于清华
+于殿圣
+山杰
+尹寸欣
+尹居才
+尹振威
+尹瑞丰
+尹晓恩
+仇家琪
+孔守中
+孔智杰
+孔繁霖
+尤心瑜
+尤吟文
+尤良
+尤明仲
+尤俊响
+尤星策
+尤伟仕
+尤净缨
+尤钦乐
+尤盟贵
+尤宽宏
+尤韵琇
+尤莳萱
+文志忠
+文真花
+文仪咏
+方士铭
+方天中
+方文锋
+方永清
+方汝育
+方孝君
+方志明
+方秀敏
+方佳俊
+方幸宜
+方怡洁
+方长扬
+方俊雄
+方奕斌
+方建智
+方彦程
+方映芬
+方柏钦
+方秋锦
+方若珊
+方重凯
+方晋德
+方健刚
+方彩宜
+方淑芬
+方淑儒
+方凯玲
+方景弘
+方策民
+方雅琪
+方爱珍
+方瑞远
+方裕钦
+方嘉兴
+方翠鸿
+方慧琴
+方静宜
+方琼仪
+方丽雅
+方钟锋
+方菀萍
+毛文勇
+毛佩娟
+毛彦乔
+毛淑芬
+毛汉梅
+水祥苓
+牛贵贤
+王一珍
+王乃俐
+王力平
+王上维
+王士忠
+王士荣
+王士豪
+王大昌
+王子成
+王子英
+王子熙
+王小芬
+王中平
+王中憓
+王尹圣
+王仁君
+王仁宗
+王仁舜
+王元助
+王元兴
+王友志
+王天文
+王少文
+王心忠
+王心怡
+王心智
+王文平
+王文君
+王文志
+王文杰
+王文郁
+王文琪
+王文瑶
+王文鸿
+王方怡
+王月婷
+王世宇
+王世明
+王世杰
+王世广
+王丕铨
+王可欣
+王巧莹
+王弘毅
+王正威
+王正达
+王永仁
+王永升
+王永诚
+王玉文
+王玉珠
+王玉云
+王生勋
+王立梅
+王立玮
+王仲琦
+王光麃
+王吉佳
+王如玉
+王宇清
+王安凯
+王旭全
+王有权
+王自强
+王佐辅
+王伯逸
+王利生
+王君瑞
+王妙红
+王孝君
+王宏仁
+王宏哲
+王宏嘉
+王序纶
+王志仁
+王志文
+王志弘
+王志呈
+王志忠
+王志峰
+王志伟
+王志清
+王志钦
+王志诚
+王志豪
+王志铭
+王杏如
+王秀云
+王秀芬
+王秀珠
+王秀雯
+王秀椿
+王育德
+王谷神
+王亚志
+王依韵
+王佳珍
+王佳琪
+王佩
+王佩音
+王佩诗
+王坤贤
+王孟谦
+王宗棋
+王宜彦
+王冈陵
+王念慈
+王怡仁
+王怡文
+王怡方
+王怡珍
+王怡清
+王怡婷
+王怡晴
+王怡雅
+王怡苹
+王承舜
+王明仁
+王明珊
+王明富
+王昀珩
+王欣之
+王欣慧
+王泓翔
+王治邦
+王玫桦
+王芳慧
+王邵郁
+王金华
+王雨湘
+王亭钧
+王信仁
+王信泰
+王信富
+王信裕
+王俊仁
+王俊立
+王俊彦
+王俊清
+王俊杰
+王俊凯
+王俊凯
+王俊富
+王俊钦
+王俊超
+王俊道
+王俊龙
+王俞文
+王冠伦
+王冠然
+王则胜
+王劲凌
+王品淇
+王奕君
+王奕钧
+王姿今
+王姿萍
+王威能
+王宣卿
+王建山
+王建文
+王建政
+王建凯
+王建钦
+王建雄
+王建斌
+王彦能
+王彦智
+王律之
+王思捷
+王思洁
+王政治
+王政权
+王昭人
+王昭淑
+王昭懿
+王星皓
+王昱凯
+王昱苹
+王柏欣
+王柏尧
+王柏钧
+王派轩
+王为蒨
+王玲英
+王盈心
+王盈杰
+王盈雅
+王祈钧
+王秋惠
+王纪
+王美玉
+王美玲
+王美淑
+王美惠
+王美雯
+王美懿
+王致棠
+王若筑
+王英文
+王英蓉
+王衍易
+王贞懿
+王郁欣
+王郁婷
+王郁菁
+王郁珺
+王韦翔
+王修兰
+王哲聪
+王家伟
+王家瑜
+王展玮
+王悦如
+王振宇
+王振浩
+王时蔚
+王桂岑
+王海天
+王浩伦
+王佩伦
+王佩璇
+王素卿
+王纯美
+王茹馨
+王伟民
+王伟州
+王伟军
+王伟德
+王健民
+王健勋
+王国
+王国彦
+王国隆
+王国龙
+王执信
+王培桦
+王婉瑜
+王崇明
+王昆龙
+王彩霞
+王惇慧
+王启宗
+王启樵
+王敏贞
+王敏铨
+王晨晔
+王梅兰
+王淳慧
+王清鸿
+王淑怡
+王淑冠
+王淑眉
+王淑娟
+王淑媛
+王淑雯
+王淑慧
+王淑韵
+王净莹
+王祥宇
+王祥霖
+王绍真
+王莉汶
+王莉雯
+王雪如
+王杰立
+王凯弘
+王凯怡
+王凯蒂
+王胜弘
+王胜雄
+王博文
+王博修
+王尧弘
+王婷仪
+王富昌
+王复辉
+王惠君
+王惠玲
+王惠敏
+王惠慧
+王敦正
+王晴姿
+王景元
+王景泉
+王智弘
+王智立
+王智益
+王智鸣
+王智龙
+王朝永
+王朝键
+王钦帝
+王湘云
+王琪
+王琦枚
+王皓正
+王紫雯
+王翔宁
+王舒瑜
+王舜生
+王菁兰
+王咏慧
+王贵龙
+王逸修
+王进鸿
+王闵韦
+王雅伶
+王雅姿
+王雅贞
+王雅惠
+王雅雯
+王雅仪
+王雅慧
+王雯
+王云生
+王顺鸿
+王勤善
+王意惠
+王慈庆
+王爱嘉
+王敬翔
+王新慧
+王榆富
+王毓菁
+王毓煇
+王照兴
+王瑞吟
+王瑞烽
+王瑞云
+王瑞颐
+王瑞芗
+王盟仁
+王棱钧
+王圣
+王圣尤
+王圣淳
+王圣棋
+王圣维
+王圣玮
+王裕正
+王裕智
+王诗郁
+王诗婷
+王诗雅
+王诗馨
+王道仁
+王钜翔
+王靖雯
+王鼎允
+王嘉君
+王嘉郁
+王嘉琪
+王嘉农
+王嘉慧
+王嘉兴
+王嘉龄
+王彰懋
+王荣发
+王汉祥
+王睿君
+王硕庆
+王福祥
+王维如
+王维雯
+王维灿
+王翠华
+王苍龙
+王豪杰
+王铭梅
+王铭鸿
+王凤宜
+王仪颖
+王德皓
+王庆堂
+王慧君
+王慧英
+王慧凯
+王慧雯
+王慧静
+王标钦
+王瑾瑜
+王辉铭
+王儒隆
+王宪盟
+王晓音
+王晓雯
+王晓玮
+王燕强
+王兴邦
+王蕙容
+王锡禄
+王锦慧
+王静怡
+王静琪
+王静慧
+王爵暐
+王臆铃
+王薇媛
+王谦维
+王鸿志
+王鸿钧
+王礼谦
+王宠惠
+王瀚基
+王琼佩
+王琼瑶
+王绘岚
+王证雄
+王韵淑
+王鹏
+王麒钧
+王丽芬
+王丽淑
+王丽琦
+王丽雯
+王麓斯
+王宝龙
+王继尧
+王耀晖
+王耀庆
+王耀铎
+王钟铭
+王馨敏
+王馨苹
+王龄梓
+王俪颖
+王樱娟
+王跃霖
+王显卉
+王芊雯
+王姵雯
+王浟美
+王琇姿
+王翊萤
+王棨德
+王琮玮
+王琡雯
+王嫆棻
+王玮铃
+王筱婷
+王筱萱
+王钰欣
+王钰植
+王蓁仪
+王薏雯
+王嬿淑
+世潓静
+丘真绮
+冉兆珍
+包志文
+包宫维
+古一真
+古月娥
+古玉凤
+古秀铃
+古佩玉
+古承弘
+古明晟
+古俊纲
+古英山
+古桂菊
+古惟铭
+古莉霜
+古智伟
+古云仁
+古诗仪
+古学涵
+古俶绮
+司顺安
+史先鸿
+史明原
+史国福
+史圣鸿
+史曜彰
+左宗元
+左蓌
+甘永裕
+甘孟龙
+甘政弘
+甘惠华
+甘霈霖
+田世贤
+田兆琪
+田沐恩
+田佩灏
+田怡
+田芳茹
+田英志
+田佩促
+田淑君
+田钦文
+田嘉玲
+田晓钧
+田璧菀
+申志斌
+申富鑫
+白大尹
+白全成
+白岑怡
+白佳渝
+白宜铮
+白欣松
+白玲慈
+白振源
+白耿行
+白淑瑜
+白喜文
+白舜元
+白煌麒
+白荣修
+白静如
+白丽娜
+石乃如
+石世名
+石玉凤
+石旭生
+石育玟
+石佳蓉
+石宗仁
+石明周
+石芳珊
+石美玲
+石峻平
+石纯绮
+石彩慧
+石杰宇
+石朝安
+石雅惠
+石庆和
+石锦航
+石馥瑄
+石玮静
+伍世扬
+伍秀蓉
+伍建文
+伍家谊
+伍健鹏
+伍碧玲
+任才俊
+任君敏
+任俊儒
+任纯慧
+任新兰
+任筱清
+危明康
+向西阳
+向德容
+安志伟
+成丹玲
+曲昌隆
+朱乙真
+朱心怡
+朱文碧
+朱世钧
+朱正文
+朱玉汶
+朱亦丹
+朱百晟
+朱妍如
+朱希振
+朱志洋
+朱沛怡
+朱育佑
+朱育莹
+朱佳琪
+朱宗蔚
+朱念英
+朱怡臻
+朱东应
+朱秉慧
+朱邱明
+朱俊祥
+朱俊龙
+朱奎州
+朱建泰
+朱彦儒
+朱政哲
+朱柏苍
+朱珍慧
+朱秋慧
+朱若梅
+朱郁庭
+朱原宏
+朱家正
+朱家欣
+朱家慧
+朱容练
+朱峰谊
+朱时彦
+朱书贤
+朱殷廷
+朱佩仪
+朱祐呈
+朱纯莹
+朱伟杰
+朱健诚
+朱培萱
+朱康铭
+朱敏道
+朱淑惠
+朱陈启源
+朱寓理
+朱朝麟
+朱咏联
+朱雅铃
+朱嗣芬
+朱瑞勇
+朱达明
+朱荣宏
+朱福山
+朱凤薇
+朱慧真
+朱辉耀
+朱晓晴
+朱静文
+朱璇尹
+朱丽婷
+朱芮宜
+朱琬蓁
+次兰英
+江中健
+江天授
+江文松
+江文琼
+江世华
+江正杰
+江玉卉
+江立峰
+江吉祥
+江成斌
+江呈阳
+江志宏
+江志隆
+江秀玲
+江育霆
+江佳芳
+江佳纯
+江佳霖
+江佩玲
+江佩萦
+江协勇
+江孟芝
+江孟泽
+江宗哲
+江宜芳
+江宜桦
+江岩达
+江忠远
+江怡萱
+江怡禛
+江昌鸿
+江明松
+江明书
+江明璋
+江明艺
+江东懋
+江欣容
+江玩萩
+江芝敏
+江长寿
+江信东
+江俊明
+江俊亿
+江俊兴
+江品仪
+江威德
+江建铭
+江彦辉
+江恬
+江政儒
+江昭贤
+江柏苇
+江玲慧
+江纪明
+江美慧
+江英信
+江衍龙
+江风远
+江家铭
+江振宇
+江书莹
+江佩宙
+江纯玫
+江健成
+江国庆
+江寅甫
+江启仲
+江条均
+江淑贞
+江盛龙
+江凯洁
+江惠华
+江智维
+江逸安
+江雅文
+江雅惠
+江传江
+江瑞祥
+江裕国
+江嘉伦
+江榕樱
+江翠芳
+江宽慈
+江慧芳
+江慕屏
+江忆雯
+江颖明
+江锦辉
+江蕾
+江丰良
+江丽娟
+江劭伦
+江媞
+江柽皇
+池泰宏
+牟昕
+艾青蓉
+何大新
+何仁田
+何天恩
+何文文
+何文萱
+何世雄
+何永琳
+何玉洁
+何亘彬
+何光棂
+何旭平
+何君萍
+何志浩
+何沛熙
+何育杰
+何享蓉
+何佳南
+何佳真
+何佳融
+何佩芝
+何佩纯
+何其泽
+何姗蓉
+何孟贤
+何季秦
+何宗彬
+何宗熹
+何宗禧
+何宜倩
+何宜璇
+何岳珈
+何怡君
+何承仲
+何易展
+何明宗
+何明书
+何明颖
+何升儒
+何松瑶
+何欣轩
+何秉欣
+何芷瑄
+何雨雯
+何信宗
+何俊廷
+何俊达
+何俊贤
+何冠霖
+何威德
+何建乐
+何彦驹
+何思颖
+何政翰
+何昭贤
+何炳贤
+何秋萱
+何美玲
+何若瑜
+何香叶
+何家菁
+何峻杰
+何振维
+何浚铭
+何素君
+何健维
+何国晟
+何崇维
+何敏菁
+何清龙
+何淑婷
+何涵
+何胜合
+何惠君
+何惠钰
+何舒岚
+何逸然
+何雅琪
+何意莹
+何瑞美
+何萱璇
+何嘉展
+何荣文
+何维耕
+何铭宏
+何庆兴
+何慧仪
+何学厚
+何晓盈
+何燕屏
+何锦题
+何静仪
+何织
+何丽君
+何旻霜
+何翊绮
+余子铭
+余心农
+余文裕
+余弘伟
+余吉祥
+余伶
+余志龙
+余迅
+余佳音
+余佳兴
+余佩娟
+余坪芳
+余孟霏
+余宗儒
+余宛儒
+余忠灯
+余昌翰
+余明娟
+余明泽
+余东晓
+余法昌
+余金典
+余信伟
+余俊渊
+余俊儒
+余劲毅
+余帝庆
+余彦霖
+余政隆
+余星柔
+余盈锋
+余若帆
+余凌昌
+余家莹
+余泰男
+余素兰
+余国安
+余婉萍
+余晨华
+余盛钦
+余惠文
+余智杰
+余雅淑
+余慈宴
+余瑞萍
+余嘉峰
+余福浩
+余齐威
+余宪宗
+余谐
+余谢辉
+余丽琴
+余琬瑜
+利秀兰
+利德弦
+吴乃元
+吴千慧
+吴大维
+吴子豪
+吴中宏
+吴仁佑
+吴仁贵
+吴元平
+吴元嫈
+吴少钧
+吴心惠
+吴文玉
+吴文怡
+吴文益
+吴文杰
+吴文发
+吴文铃
+吴文毅
+吴文斌
+吴火山
+吴世伟
+吴世达
+吴仕强
+吴仞一
+吴平和
+吴必胜
+吴正奇
+吴正华
+吴永昌
+吴永裕
+吴玉吟
+吴玉茹
+吴玉景
+吴玉蓉
+吴立民
+吴立勤
+吴伊苹
+吴仲泂
+吴兆文
+吴吉龙
+吴如楦
+吴安邦
+吴旭泰
+吴至仁
+吴行中
+吴伶丽
+吴君育
+吴妙伦
+吴宏仁
+吴宏基
+吴希祖
+吴志宏
+吴志恒
+吴志伟
+吴志汉
+吴志龙
+吴杏旋
+吴沛晃
+吴汶汶
+吴秀玲
+吴秀纹
+吴秀鹃
+吴育宗
+吴育硕
+吴育霖
+吴亚欣
+吴依妮
+吴依蓓
+吴佳和
+吴佳芳
+吴佳南
+吴佳玲
+吴佳玲
+吴佳倩
+吴佳容
+吴佳真
+吴佳惠
+吴佳蓉
+吴佳憬
+吴佳桦
+吴佳颖
+吴佳蕙
+吴佳静
+吴佳鸿
+吴佩君
+吴佩芳
+吴佩城
+吴佩珊
+吴佩玲
+吴佩娥
+吴佩纯
+吴佩蓉
+吴佩儒
+吴佩谕
+吴佩蓁
+吴侑庭
+吴其霖
+吴函蓁
+吴叔镇
+吴坤祐
+吴坤鸿
+吴奇哲
+吴奇龙
+吴孟宗
+吴孟芬
+吴孟贞
+吴孟娟
+吴孟茹
+吴孟蓉
+吴孟宪
+吴孟锡
+吴孟荞
+吴季瑾
+吴宗岱
+吴宗祈
+吴宗桓
+吴宗隆
+吴宗儒
+吴宗宪
+吴宗翰
+吴宗兴
+吴宗龙
+吴定疆
+吴宜芳
+吴宜贞
+吴宜祐
+吴宜穆
+吴宜嫔
+吴宛怡
+吴宛萦
+吴尚倍
+吴尚儒
+吴冈儒
+吴岱霖
+吴岳桐
+吴幸枝
+吴幸真
+吴延晃
+吴忠政
+吴忠霖
+吴怡君
+吴怡珊
+吴怡萍
+吴怡庆
+吴怡莹
+吴怡宪
+吴怡静
+吴怡
+吴承哲
+吴承璋
+吴招
+吴易逊
+吴昌庭
+吴昆
+吴昆璋
+吴明
+吴明忠
+吴明芳
+吴明珍
+吴明哲
+吴明恭
+吴明轩
+吴明达
+吴明璋
+吴明勋
+吴明晔
+吴明龙
+吴明颜
+吴昕姿
+吴升桥
+吴东和
+吴东耿
+吴东霖
+吴松沛
+吴欣佩
+吴欣怡
+吴欣伦
+吴欣硕
+吴欣儒
+吴欣鸿
+吴泓玳
+吴治英
+吴玫姗
+吴直耕
+吴秉伦
+吴秉勋
+吴秉骏
+吴芳青
+吴芳瑜
+吴芝纬
+吴采芳
+吴金玉
+吴金历
+吴长柏
+吴雨哲
+吴青育
+吴青峰
+吴青环
+吴亭谊
+吴信幸
+吴信宽
+吴信辉
+吴侯璋
+吴俊宏
+吴俊奇
+吴俊杰
+吴俊杰
+吴俊达
+吴俊仪
+吴俊德
+吴俊毅
+吴俊纬
+吴俊贤
+吴俊锋
+吴俊谚
+吴俊睿
+吴俞莹
+吴冠群
+吴冠贤
+吴冠翚
+吴劲龙
+吴品蓉
+吴奕成
+吴奕羲
+吴姿仪
+吴姿桦
+吴威芳
+吴宣锋
+吴建生
+吴建男
+吴建芝
+吴建达
+吴建德
+吴建贤
+吴建勋
+吴建旻
+吴彦庆
+吴律铭
+吴思萱
+吴思莹
+吴思颖
+吴政
+吴政旺
+吴政原
+吴政彬
+吴政德
+吴政勋
+吴政颖
+吴政霖
+吴春生
+吴春缓
+吴昭蓉
+吴昭毅
+吴昭龙
+吴昱宏
+吴柄德
+吴柏青
+吴柏仪
+吴柏毅
+吴柏颖
+吴炫宗
+吴炳峣
+吴玲媛
+吴皇欣
+吴盈洁
+吴祉龙
+吴秋美
+吴秋慧
+吴纪君
+吴美妮
+吴美玲
+吴美惠
+吴美祯
+吴美慧
+吴美萤
+吴羿喧
+吴致铭
+吴若华
+吴英宏
+吴英鸿
+吴贞宜
+吴贞莹
+吴郁芳
+吴重毅
+吴飞龙
+吴倩
+吴原宇
+吴哲雯
+吴哲权
+吴家明
+吴家琪
+吴家荣
+吴家豪
+吴家慧
+吴容莹
+吴庭狱
+吴振成
+吴振豪
+吴挺锋
+吴晏平
+吴书荣
+吴桂箐
+吴泰昌
+吴海芬
+吴佩君
+吴佩慈
+吴佩祯
+吴益芳
+吴素芬
+吴纯欣
+吴轩轩
+吴伟伦
+吴伟诚
+吴健民
+吴健鑫
+吴国伟
+吴国狮
+吴国熙
+吴国铭
+吴坚玮
+吴培贤
+吴婉婷
+吴婉歆
+吴崇铭
+吴彩邑
+吴悠
+吴启扬
+吴启斌
+吴敏真
+吴敏钜
+吴梓逢
+吴添锋
+吴淑如
+吴淑芬
+吴淑卿
+吴淑敏
+吴淑华
+吴淑凤
+吴涵宜
+吴祥维
+吴绍华
+吴莉婷
+吴雪妮
+吴竟芳
+吴凯雯
+吴胜祺
+吴乔森
+吴复兴
+吴惠君
+吴惠彩
+吴惠雯
+吴斯熏
+吴智东
+吴智豪
+吴栋隆
+吴犀灵
+吴善铭
+吴菁菁
+吴咏宸
+吴逸民
+吴逸群
+吴钧婷
+吴雅坤
+吴雅郁
+吴雅岚
+吴雅萍
+吴雅雯
+吴雅绮
+吴云骥
+吴圆朗
+吴敬琪
+吴毓真
+吴源章
+吴瑞
+吴瑞哲
+吴瑞钦
+吴瑞庆
+吴稚霆
+吴圣威
+吴诗婷
+吴诚昌
+吴鼎伟
+吴嘉信
+吴嘉娟
+吴嘉胜
+吴嘉荣
+吴嘉蕙
+吴宁瑄
+吴荣泰
+吴汉铭
+吴碧俐
+吴福量
+吴维倩
+吴维裕
+吴肇腾
+吴远诚
+吴铭振
+吴铨友
+吴凤兰
+吴德元
+吴庆文
+吴慧君
+吴慧玲
+吴慧贞
+吴慧敏
+吴慧雯
+吴洁珊
+吴赐忠
+吴宪中
+吴忆屏
+吴晓青
+吴晓纯
+吴晓菁
+吴晓薇
+吴燕芬
+吴颖轩
+吴蕙如
+吴蕙纹
+吴遵先
+吴锦佳
+吴锦镒
+吴静宜
+吴静怡
+吴静芳
+吴静茹
+吴静雯
+吴龙宝
+吴总成
+吴声源
+吴迈
+吴鸿昌
+吴鸿森
+吴曜臣
+吴丰吉
+吴镇利
+吴琼玉
+吴韵卉
+吴丽春
+吴丽婷
+吴献良
+吴馨怡
+吴懿婷
+吴显宗
+吴佼佼
+吴旻儒
+吴玠蓉
+吴昶葳
+吴淩安
+吴琮杰
+吴玮琳
+吴筱珈
+吴璁
+吴韫德
+吕子豪
+吕仁团
+吕友婷
+吕文专
+吕文铃
+吕世豪
+吕正安
+吕玉秋
+吕立伟
+吕如英
+吕自达
+吕志宏
+吕志锋
+吕育芳
+吕育玮
+吕佳宜
+吕佳容
+吕佳桦
+吕佩姗
+吕佩纯
+吕其霖
+吕姗姗
+吕季芳
+吕宗铭
+吕宜芳
+吕宜晏
+吕宜霖
+吕居勋
+吕忠育
+吕怡慧
+吕旺骐
+吕明
+吕明泰
+吕明龙
+吕杰纬
+吕欣颖
+吕芳俊
+吕金彦
+吕长馨
+吕保岸
+吕俊仪
+吕俐
+吕南畿
+吕威德
+吕建彦
+吕建锋
+吕彦融
+吕政彦
+吕政谕
+吕昭仪
+吕柏宏
+吕皇其
+吕秋云
+吕美惠
+吕美龄
+吕英玮
+吕韦箴
+吕哲明
+吕庭维
+吕格豪
+吕祐吉
+吕伟钦
+吕国培
+吕婉茹
+吕梅音
+吕淑卿
+吕淑祯
+吕理霖
+吕绍荣
+吕雪瑜
+吕惠菁
+吕智杰
+吕咏真
+吕雅玲
+吕雅琪
+吕雯歆
+吕沧尧
+吕圣章
+吕嘉元
+吕嘉丰
+吕维玲
+吕铭智
+吕慧惠
+吕学君
+吕学智
+吕学睿
+吕燕林
+吕锦顺
+吕静蓉
+吕鸿麟
+吕丽娟
+吕厅严
+吕翊民
+宋大辰
+宋之揆
+宋心慧
+宋世文
+宋玉婷
+宋伯瑜
+宋沛勇
+宋育玮
+宋佩珊
+宋孟瑛
+宋幸真
+宋昌霖
+宋东威
+宋秉萱
+宋俊洋
+宋奕儒
+宋建欣
+宋政隆
+宋禹莹
+宋致远
+宋家霖
+宋舫臣
+宋培元
+宋敏华
+宋乔玉
+宋朝斌
+宋云明
+宋嘉仁
+宋碧琳
+宋慧洁
+宋燕俪
+宋窜
+宋旻真
+巫子懿
+巫戎怡
+巫佩璇
+巫宜学
+巫明翰
+巫芷玮
+巫冠谊
+巫柏毅
+巫振嘉
+巫清文
+巫善福
+巫嘉兴
+巫晓芬
+巫晟逸
+李乃文
+李士享
+李子允
+李小芬
+李中任
+李中慧
+李仁修
+李仁凯
+李今黛
+李元圃
+李元裕
+李友淳
+李天桦
+李心仁
+李心岚
+李文
+李文吉
+李文志
+李文政
+李文莉
+李文惠
+李文琦
+李文意
+李文达
+李文贤
+李文斌
+李月星
+李世安
+李世伟
+李世剀
+李世宽
+李以新
+李可立
+李巧琳
+李弘昊
+李正元
+李正彦
+李正胜
+李正豪
+李永昌
+李永钦
+李永鸿
+李玉佩
+李玉卿
+李玉琳
+李玉铃
+李立仁
+李立强
+李亦晴
+李仲玄
+李光
+李光祥
+李光倢
+李兆斌
+李吉敏
+李名伦
+李如珍
+李宇弘
+李守维
+李安琳
+李成汉
+李有钦
+李羽
+李至章
+李佐宁
+李伯毅
+李君彦
+李含仁
+李妍莹
+李宏文
+李宏洲
+李廷伟
+李志成
+李志明
+李志峰
+李志伟
+李志章
+李志铭
+李志鹏
+李沛杰
+李汪盛
+李秀年
+李秀玲
+李秀卿
+李秀华
+李秀蘅
+李育枝
+李育庭
+李育群
+李育莹
+李育融
+李见汶
+李亚伦
+李京桦
+李依纯
+李依恂
+李佳汶
+李佳明
+李佳芳
+李佳芬
+李佳玲
+李佳玲
+李佳珍
+李佳倩
+李佳家
+李佳晃
+李佳真
+李佳训
+李佳雯
+李佳蓉
+李佳庆
+李佳儒
+李佳桦
+李佳颖
+李佳臻
+李佳霖
+李佳霏
+李佳键
+李佳蓁
+李侃洋
+李佩佩
+李佩芝
+李佩姿
+李佩珊
+李佩玲
+李佩倩
+李佩真
+李佩陵
+李佩仪
+李佩晔
+李佩谕
+李佩嬬
+李侑宬
+李其澧
+李函芬
+李卓道
+李和昌
+李坤明
+李坤源
+李坤霖
+李奇展
+李奇翰
+李孟坤
+李孟珊
+李孟哲
+李孟轩
+李孟儒
+李孟颖
+李孟灿
+李孟璁
+李季华
+李宗坤
+李宗伦
+李宗恩
+李宗义
+李宗贤
+李宗宪
+李宗颖
+李宗翰
+李宗霖
+李宗鸿
+李定远
+李宜明
+李宜芳
+李宜洲
+李宜玲
+李宜哲
+李宜峻
+李宜纯
+李宜洁
+李宜桦
+李宜霖
+李宜韩
+李宜圜
+李宛玲
+李宛萍
+李宛静
+李尚贤
+李岩晖
+李岱蓁
+李岳峰
+李岳桦
+李岳鸿
+李幸娟
+李幸锭
+李忠和
+李忠义
+李忠颖
+李念蒨
+李怡昌
+李怡玲
+李怡萱
+李怡宽
+李怡慧
+李怡瑾
+李怡颖
+李怡旻
+李承宗
+李承璋
+李承龙
+李易修
+李易谚
+李昌达
+李昆宏
+李昆达
+李昆龙
+李明利
+李明怡
+李明杰
+李明彦
+李明修
+李明哲
+李明书
+李明钊
+李明达
+李明洁
+李明勋
+李明桦
+李明谕
+李明霞
+李明墉
+李昀臻
+李昊
+李升翰
+李东彦
+李东隆
+李东龙
+李杰如
+李松家
+李欣怡
+李欣怡
+李欣哲
+李欣达
+李欣儒
+李欣颖
+李欣霞
+李法汉
+李治安
+李玟玟
+李玥莹
+李秉朔
+李秉翰
+李芳圻
+李芳婷
+李芳仪
+李芝绫
+李芸彦
+李虎峰
+李金泓
+李金铃
+李金桦
+李长文
+李长荣
+李长纮
+李青松
+李青阳
+李非霏
+李信成
+李信杰
+李信德
+李信颖
+李保蓁
+李俊宏
+李俊奇
+李俊昀
+李俊彦
+李俊祺
+李俊亿
+李俊德
+李俊毅
+李俊贤
+李俊贤
+李俊贤
+李俊勋
+李俊锜
+李俞慧
+李冠朋
+李冠仪
+李冠莹
+李冠臻
+李勇宁
+李南娇
+李品慧
+李奕枚
+李奏锐
+李姿仪
+李姿莹
+李威宏
+李威德
+李威霖
+李宣莹
+李建民
+李建宏
+李建邦
+李建明
+李建威
+李建苇
+李建宽
+李建贤
+李建锋
+李建桦
+李建兴
+李建禲
+李彦宏
+李彦宜
+李彦仪
+李彦莹
+李彦儒
+李彦霖
+李律玮
+李思怡
+李思萱
+李思仪
+李思莹
+李思谕
+李政
+李政忠
+李政哲
+李政达
+李政辉
+李政晔
+李政龙
+李春枝
+李春燕
+李昭美
+李昭纬
+李映萱
+李昱春
+李昱磷
+李柏杉
+李柏蓉
+李柏贤
+李柏璁
+李炳坤
+李珊珊
+李界锋
+李盈盈
+李盈洁
+李盈颖
+李科泯
+李秋梅
+李秋仪
+李秋麟
+李美玉
+李美芳
+李美伦
+李美瑜
+李美仪
+李美莹
+李美锜
+李胤瑶
+李致慧
+李茂全
+李英志
+李英瑞
+李英玮
+李虹仪
+李贞宜
+李贞慧
+李述申
+李郁伟
+李重贤
+李音慧
+李倩
+李修齐
+李哲安
+李哲纬
+李家宏
+李家珍
+李家萱
+李家豪
+李家侬
+李家兴
+李容婷
+李师媺
+李悦嘉
+李振昌
+李振诚
+李振仪
+李晋豪
+李书涵
+李根嘉
+李桃森
+李泰霖
+李浩庭
+李佩如
+李佩琳
+李佩嘉
+李益荣
+李祖珍
+李素梅
+李纯慧
+李能远
+李训亿
+李干晖
+李伟吉
+李伟恺
+李伟嘉
+李伟颙
+李健源
+李健铭
+李国全
+李国强
+李国华
+李国瑞
+李国荣
+李国维
+李国银
+李国兴
+李基弘
+李培华
+李婉真
+李婉瑞
+李崇仁
+李崇豪
+李康正
+李彩莹
+李启弘
+李启沧
+李敏吉
+李敏嘉
+李敏龙
+李清吟
+李淑君
+李淑芬
+李淑贞
+李淑茹
+李淑惠
+李淑华
+李淑蓉
+李淑静
+李涵富
+李祥瑞
+李绍绮
+李翎毓
+李连峰
+李雪萍
+李杰如
+李凯桢
+李胜雄
+李乔铮
+李岚琦
+李惠芬
+李惠珠
+李惠琳
+李惠雯
+李晴雯
+李智怡
+李智强
+李智维
+李森
+李湘桦
+李皖玲
+李善同
+李舜华
+李咏秋
+李逸才
+李逸群
+李进福
+李隆华
+李雅玫
+李雅玲
+李雅梅
+李雅婷
+李雅惠
+李雅惠
+李雅萍
+李雅雯
+李雅燕
+李雯燕
+李传君
+李意雯
+李想
+李新泽
+李毓真
+李源
+李瑞文
+李瑞贞
+李瑞华
+李瑞骐
+李义雄
+李圣琰
+李诗伟
+李诗楷
+李道林
+李嘉
+李嘉林
+李嘉凌
+李嘉轩
+李嘉华
+李嘉铭
+李嘉鸿
+李宁芳
+李荣茂
+李荣驰
+李汉祺
+李碧婷
+李福蓉
+李维仁
+李维伦
+李维桢
+李肇欣
+李志明
+李铭周
+李铭毓
+李鸣宇
+李齐芳
+李广祁
+李德海
+李庆宏
+李庆华
+李慧芬
+李慧美
+李慧珠
+李慧仪
+李毅信
+李莹洁
+李贤淦
+李学明
+李宪斌
+李晓妮
+李晓玲
+李晓岚
+李晓菁
+李晓榕
+李泽育
+李燕玲
+李璟郁
+李翰青
+李兴舜
+李蕙如
+李蕙芸
+李豫凡
+李锦升
+李锦莲
+李静宜
+李静怡
+李静怡
+李静美
+李静蓉
+李龙生
+李龙麟
+李爵臣
+李聪岳
+李舆鑫
+李鸿志
+李鸿达
+李曜存
+李谨帆
+李熔阡
+李馥如
+李琼英
+李丽枝
+李丽珠
+李宝玉
+李耀民
+李馨怡
+李懿如
+李权家
+李劭军
+李旻升
+李旻玮
+李昶欣
+李苹慈
+李涴汝
+李堨
+李絜
+李玮琪
+李筱云
+李钰雯
+李靓宸
+李铠任
+李君
+杜文杰
+杜民杰
+杜全林
+杜志贤
+杜佳豪
+杜孟政
+杜宛谕
+杜承鑫
+杜升翰
+杜芳政
+杜俊毅
+杜威廷
+杜彦霖
+杜炳龙
+杜美慧
+杜家昌
+杜佩诗
+杜婉雯
+杜淑铮
+杜阳圆
+杜嘉玲
+杜维修
+杜燕华
+杜耀仁
+沙正悦
+沈士杰
+沈仁杰
+沈文祥
+沈世闵
+沈正德
+沈立仁
+沈如峰
+沈佑翰
+沈君璐
+沈志川
+沈志龙
+沈汶萍
+沈育星
+沈依颖
+沈佳慧
+沈佩雯
+沈坤升
+沈宗庆
+沈宜蓁
+沈怡伶
+沈昌明
+沈明萱
+沈欣学
+沈秉谊
+沈芸萩
+沈信增
+沈俊翔
+沈冠宏
+沈姿慧
+沈建成
+沈建德
+沈恒光
+沈昭贤
+沈柏宽
+沈盈菁
+沈美娟
+沈郁康
+沈哲标
+沈家荣
+沈振兴
+沈益承
+沈纯如
+沈国铨
+沈晨钟
+沈淑华
+沈惠菁
+沈舒琳
+沈雅惠
+沈晖庭
+沈瑞钦
+沈圣昆
+沈道论
+沈嘉蕙
+沈维毓
+沈德厚
+沈学成
+沈蕙君
+沈鸿洲
+沈妏真
+沈筱云
+汪大伦
+汪巧玲
+汪百轩
+汪秀燕
+汪孟涵
+汪怡华
+汪青蓉
+汪冠宏
+汪美玉
+汪家莹
+汪启文
+汪雅萍
+汪靖国
+汪庆珍
+汪丽娟
+狄家溧
+谷泓道
+车益华
+辛宗潭
+辛奕成
+辛菁娥
+辛旻修
+邢能文
+阮文祥
+阮吕真
+阮信宪
+阮昱宏
+阮飞铭
+阮淑茹
+阮斐瑜
+阮雅伦
+阮睿祥
+阮鹏硕
+卓士勋
+卓永堂
+卓志忠
+卓佳庆
+卓宛君
+卓明仪
+卓芳如
+卓俊宏
+卓建隆
+卓英哲
+卓家楠
+卓训良
+卓淑媛
+卓朝闵
+卓瑞崇
+卓志隆
+卓静如
+卓生
+周上钦
+周士杰
+周大钧
+周子敬
+周中兴
+周心怡
+周文政
+周文雅
+周月霜
+周世丰
+周代尉
+周弘敏
+周正国
+周永雄
+周玉莲
+周立伟
+周仲凯
+周吉龙
+周年盛
+周至芬
+周佑祯
+周伯鑫
+周君鸿
+周孝芳
+周宏瑜
+周廷隆
+周志忠
+周志清
+周志勋
+周汶珊
+周秀晏
+周育伶
+周育润
+周亚欣
+周佳怡
+周佳蓉
+周佳震
+周佩宜
+周佩仪
+周协利
+周奇蓉
+周孟谊
+周宗建
+周宜芳
+周宛萱
+周幸蓉
+周怡伶
+周怡君
+周怡邦
+周怡俪
+周明弘
+周明彻
+周明辉
+周杰
+周欣芸
+周欣莹
+周玟萱
+周芳如
+周芝涵
+周金燕
+周青蓉
+周信辉
+周俊宏
+周俊豪
+周冠伶
+周品妍
+周威呈
+周建呈
+周建铭
+周彦岑
+周思微
+周政翰
+周星同
+周柏甫
+周玲
+周盈杉
+周秋萍
+周美春
+周致丞
+周郁文
+周韦翰
+周凌悌
+周娟如
+周家浩
+周家庆
+周峰正
+周振凯
+周书婷
+周泰安
+周佩如
+周祐慧
+周耿行
+周伟茹
+周国靖
+周婉琳
+周敏钰
+周淑娟
+周淑燕
+周凯慧
+周惠莲
+周智敏
+周渝珊
+周咏训
+周逸兰
+周雅婷
+周云棠
+周敬晏
+周业钦
+周煌耿
+周瑞楠
+周义峰
+周圣慧
+周裕丰
+周道泓
+周嘉松
+周嘉庆
+周汉源
+周福凤
+周翠芬
+周亿信
+周慧姿
+周乐天
+周贤德
+周宪邦
+周晓萍
+周燕盈
+周融骏
+周静雯
+周聪宇
+周镇邦
+周丽玲
+周兰芳
+周旻静
+周旆瑜
+周玮
+周钰翔
+孟天祥
+孟庆安
+季育泽
+官大弘
+官育萱
+官芳如
+官苑杰
+官农哲
+尚书
+屈道刚
+岳维铤
+房兆隆
+于家珍
+易足真
+易智健
+昌孟翰
+东慎琳
+林一炜
+林上志
+林久匀
+林于正
+林于婷
+林于祯
+林千媚
+林千毓
+林士力
+林士郁
+林士渊
+林士杰
+林士扬
+林士越
+林士农
+林大元
+林大祥
+林大钧
+林女满
+林子玄
+林子伟
+林子杰
+林子惠
+林子咏
+林子勤
+林子绮
+林子瑄
+林小琪
+林山云
+林才元
+林中强
+林之菁
+林仁彦
+林仁杰
+林介一
+林元恺
+林升权
+林天民
+林心如
+林心岚
+林文中
+林文全
+林文泳
+林文科
+林文将
+林文祥
+林文胜
+林文斯
+林文琦
+林文雯
+林文德
+林文聪
+林文媄
+林月英
+林木兴
+林世平
+林世昌
+林世芳
+林世峰
+林世伟
+林世淇
+林世翔
+林世寰
+林主恩
+林以晨
+林仕伟
+林加冠
+林可钧
+林巨淙
+林巧梅
+林平苑
+林弘升
+林弘祥
+林正一
+林正宗
+林正军
+林正伟
+林正凯
+林正福
+林民基
+林永昌
+林永信
+林永清
+林永祥
+林永森
+林永庆
+林永晟
+林玉如
+林玉芳
+林玉玲
+林玉佩
+林玉敏
+林玉婷
+林玉菁
+林玉云
+林玉龙
+林石隆
+林立任
+林立伦
+林立伟
+林立群
+林立鑫
+林仲威
+林仰望
+林兆盈
+林吉伯
+林后唯
+林如敏
+林宇星
+林守德
+林安缇
+林有俊
+林百扬
+林至承
+林行谦
+林佑安
+林佑珊
+林佑儒
+林佑锺
+林伯岳
+林伯峻
+林伯勋
+林伶贞
+林克威
+林克寰
+林呈任
+林君宜
+林君玲
+林君瑜
+林君翰
+林吟姿
+林均郁
+林妙君
+林妙娥
+林妍妤
+林孝全
+林孝宪
+林宏坤
+林宏亮
+林宏韦
+林宏干
+林宏达
+林宏儒
+林宏锜
+林岐益
+林廷吉
+林廷辉
+林志民
+林志成
+林志良
+林志忠
+林志明
+林志杰
+林志芬
+林志勇
+林志皇
+林志峰
+林志伟
+林志坚
+林志扬
+林志慎
+林志豪
+林志豪
+林志铭
+林志儒
+林志颖
+林志谋
+林志龙
+林志鸿
+林志鸿
+林李铭
+林材俊
+林沛君
+林沛蓁
+林灼龙
+林秀坪
+林秀花
+林秀俐
+林秀玲
+林秀美
+林秀卿
+林秀真
+林秀雯
+林秀凤
+林秀颖
+林秀馨
+林育仕
+林育正
+林育民
+林育生
+林育立
+林育名
+林育如
+林育成
+林育宏
+林育昀
+林育珊
+林育进
+林育群
+林育萱
+林育蓓
+林育慧
+林育贤
+林育锋
+林育麟
+林良俊
+林见明
+林谷峰
+林贝珊
+林里燕
+林享烨
+林依盈
+林依洁
+林依璇
+林佳生
+林佳宏
+林佳良
+林佳怡
+林佳欣
+林佳亭
+林佳盈
+林佳贞
+林佳陵
+林佳阳
+林佳绮
+林佳蓉
+林佳亿
+林佳庆
+林佳慧
+林佳慧
+林佳洁
+林佳莹
+林佳贤
+林佳桦
+林佳燕
+林佳臻
+林佳静
+林佳鸿
+林佳潓
+林佩君
+林佩怡
+林佩芬
+林佩贞
+林佩雯
+林佩蓉
+林佩蓉
+林佩慧
+林佩桦
+林佩锦
+林佩璇
+林侑青
+林其侯
+林其锋
+林协村
+林和秀
+林坤生
+林坤韦
+林坤梁
+林坤霂
+林奇模
+林孟仕
+林孟君
+林孟亭
+林孟萱
+林孟德
+林孟贤
+林孟颖
+林孟葳
+林季苗
+林季烨
+林宗廷
+林宗顺
+林宗亿
+林宗庆
+林宗贤
+林宗辉
+林宗泽
+林宗谟
+林官逸
+林宜君
+林宜玫
+林宜珍
+林宜圣
+林宜蓉
+林宜慧
+林宜贤
+林宜桦
+林宜铮
+林宜静
+林宜蓁
+林宜
+林宛瑜
+林宛桦
+林尚良
+林尚颖
+林岱蓉
+林岱融
+林岳仪
+林岳嶙
+林幸蓉
+林庚立
+林征卫
+林忠岳
+林忠庆
+林怡
+林怡汝
+林怡伶
+林怡利
+林怡君
+林怡君
+林怡君
+林怡君
+林怡君
+林怡君
+林怡君
+林怡均
+林怡秀
+林怡辰
+林怡芳
+林怡青
+林怡莉
+林怡菁
+林怡萱
+林怡宽
+林怡儒
+林怡礽
+林承岳
+林承毅
+林于妮
+林易珊
+林昌弘
+林昌贤
+林昆田
+林昆模
+林昆煇
+林明生
+林明志
+林明宗
+林明杰
+林明彦
+林明莉
+林明枫
+林明志
+林明德
+林明毅
+林明纬
+林明辉
+林明勋
+林明环
+林昀龙
+林升永
+林升龙
+林东茂
+林东毅
+林杰欣
+林松尧
+林欣立
+林欣怡
+林欣怡
+林欣怡
+林欣政
+林欣慈
+林欣仪
+林欣仪
+林欣毅
+林欣谊
+林欣颖
+林欣丽
+林武谚
+林泓君
+林泱秀
+林牧台
+林玟君
+林玟妏
+林玫君
+林玫蓉
+林秉泓
+林秉莹
+林芳一
+林芳如
+林芳如
+林芳州
+林芳芳
+林芳新
+林芳仪
+林芝卉
+林芝宁
+林芬芳
+林芸晖
+林芷筠
+林金仕
+林金明
+林金莲
+林金龙
+林长志
+林长庆
+林雨农
+林青志
+林青慧
+林青霞
+林亮仁
+林信全
+林信佑
+林信宏
+林信廷
+林信延
+林信义
+林保成
+林俊仲
+林俊宇
+林俊佑
+林俊伯
+林俊宏
+林俊宏
+林俊廷
+林俊甫
+林俊男
+林俊言
+林俊杰
+林俊杰
+林俊逸
+林俊达
+林俊豪
+林俊魁
+林俊贤
+林俊麟
+林俐亭
+林俞增
+林冠宇
+林冠吟
+林冠宏
+林冠秀
+林冠瑛
+林冠儒
+林勇成
+林南宏
+林品宜
+林奕成
+林奕伶
+林奕秀
+林奕岚
+林奎君
+林姿伶
+林姿吾
+林姿妙
+林姿婷
+林威名
+林威利
+林威廷
+林威良
+林宣任
+林宣鳌
+林建一
+林建仲
+林建宇
+林建成
+林建吾
+林建宏
+林建宏
+林建廷
+林建志
+林建男
+林建良
+林建邦
+林建升
+林建华
+林建彰
+林建莹
+林建勋
+林彦文
+林彦名
+林彦亨
+林彦伶
+林彦孝
+林彦宏
+林彦甫
+林彦享
+林彦嘉
+林彦兴
+林思吟
+林思华
+林思亲
+林恒硕
+林恪群
+林政位
+林政良
+林政浩
+林政裕
+林政仪
+林政纬
+林政锋
+林政翰
+林春年
+林春美
+林昭宇
+林昭志
+林昭铭
+林映汝
+林星晨
+林昱君
+林昱伟
+林柑杏
+林柏州
+林柏伸
+林柏宏
+林柏村
+林柏城
+林柏荣
+林柏翰
+林泉洋
+林洪霄
+林为文
+林炳煌
+林珊如
+林玲至
+林珍如
+林皇利
+林盈成
+林盈君
+林盈志
+林盈萱
+林祈均
+林科宏
+林秋良
+林秋惠
+林秋菊
+林秋莲
+林纪元
+林美如
+林美伶
+林美君
+林美吟
+林美秀
+林美怡
+林美玲
+林美珠
+林美智
+林美华
+林美慧
+林美龄
+林羿妏
+林致君
+林致颖
+林茂盛
+林英男
+林英杰
+林英铭
+林虹如
+林虹宏
+林贞
+林贞延
+林郁文
+林郁欣
+林郁芬
+林郁敏
+林郁森
+林郁雄
+林郁兰
+林韦丞
+林韦廷
+林韦嘉
+林香君
+林倍伊
+林倩如
+林倩慧
+林修民
+林伦旭
+林原合
+林哲民
+林哲任
+林哲宏
+林哲裕
+林哲辉
+林娟如
+林娉孜
+林家弘
+林家弘
+林家生
+林家如
+林家亨
+林家勇
+林家惠
+林家晖
+林家圣
+林家祯
+林家铭
+林家庆
+林家贤
+林家蕙
+林家斌
+林容仞
+林容圣
+林展圣
+林峻晖
+林峰年
+林师群
+林庭玮
+林恩光
+林恩霈
+林振浩
+林振旸
+林振滨
+林时新
+林晋全
+林晋畿
+林晏如
+林晏稚
+林书弘
+林书聿
+林书楷
+林书毅
+林书泽
+林桓赋
+林桂珠
+林格妃
+林泰安
+林泰维
+林浚杰
+林浩群
+林佩如
+林佩菁
+林佩儒
+林益弘
+林益如
+林益运
+林真绮
+林祐禾
+林祐榆
+林祐瑄
+林窈意
+林素如
+林素贞
+林素华
+林纯如
+林纯湘
+林耘德
+林耿弘
+林耿真
+林茵
+林起翎
+林轩颉
+林高源
+林伟民
+林伟彬
+林伟桢
+林伟德
+林健青
+林唯凯
+林国欣
+林国祥
+林国隆
+林国勋
+林培尧
+林婉君
+林婉婷
+林婉瑜
+林崇宇
+林崇毅
+林康宁
+林启人
+林启航
+林启丰
+林敏裕
+林梅陇
+林清吉
+林清云
+林淑君
+林淑芬
+林淑玲
+林淑贞
+林淑娟
+林淑娥
+林淑梅
+林淑媛
+林淑惠
+林淑萍
+林淑华
+林淑雯
+林淑仪
+林淑铮
+林涵瑜
+林盛杰
+林莘怡
+林荷芳
+林雪萍
+林杰圣
+林创
+林胜杰
+林博隆
+林婷
+林富美
+林惠文
+林惠怡
+林惠美
+林惠敏
+林惠萍
+林惠雯
+林惠琇
+林敦煌
+林景民
+林景氛
+林智能
+林智清
+林智业
+林期
+林森田
+林港贵
+林湘惠
+林湲舒
+林琦国
+林登山
+林紫菁
+林舒慧
+林华一
+林视尊
+林咏翔
+林超
+林逸昀
+林逸峰
+林逸菁
+林逸儒
+林进益
+林钧陶
+林雁敏
+林雅君
+林雅芬
+林雅玲
+林雅伦
+林雅淳
+林雅博
+林雅惠
+林雅琪
+林雅萍
+林雅华
+林雅雯
+林雅慧
+林雅慧
+林雅谦
+林雯宣
+林云正
+林顺安
+林顺兴
+林勤淙
+林嵩山
+林意伦
+林意腾
+林爱惠
+林敬文
+林敬渊
+林敬翔
+林新凡
+林新发
+林晖皓
+林楠棋
+林殿一
+林毓珊
+林毓超
+林源河
+林照男
+林煜庭
+林煌轩
+林焕钦
+林瑞明
+林瑞家
+林瑞雪
+林瑞德
+林瑞兰
+林瑜莉
+林盟杰
+林祺勋
+林稚扬
+林经维
+林义峰
+林义杰
+林义智
+林义雄
+林群峰
+林群耀
+林圣怡
+林圣恩
+林圣杰
+林圣智
+林圣钧
+林圣耀
+林苇萍
+林裕昕
+林裕坚
+林裕胜
+林裕舜
+林诗凡
+林诗倩
+林诗渊
+林诗雯
+林诗苹
+林运浩
+林铉智
+林雍翔
+林靖修
+林颂博
+林鼎植
+林嘉禾
+林嘉信
+林嘉珍
+林嘉伟
+林嘉琪
+林嘉群
+林嘉慧
+林嘉鸿
+林掴彦
+林荣钦
+林汉
+林汉斌
+林睿旸
+林碧惠
+林硕儒
+林精湛
+林维珊
+林维莉
+林翠萍
+林蓓羚
+林豪彦
+林铭洲
+林铭煌
+林铭熛
+林凤珍
+林齐蔚
+林仪虹
+林增威
+林广义
+林德晋
+林庆升
+林庆蓉
+林慧君
+林慧怡
+林慧珊
+林慧美
+林慧珠
+林慧淳
+林慧萍
+林慧华
+林慧雯
+林慧丽
+林憬良
+林澄泽
+林莹芳
+林瑾兰
+林蔚玲
+林卫圣
+林贤得
+林适之
+林儒民
+林学隆
+林宪政
+林忆淳
+林晓君
+林晓芳
+林晓玲
+林晓婷
+林晓华
+林晓嘉
+林晓娸
+林泽义
+林燕梅
+林璟
+林颖
+林颖莉
+林颖聪
+林兴钊
+林蕙淇
+林豫亭
+林锦伶
+林锦隆
+林锦鸿
+林静吟
+林静宜
+林静怡
+林静怡
+林静芬
+林静雯
+林静仪
+林龙生
+林懋州
+林聪仁
+林谦妙
+林骏逸
+林鸿君
+林鸿彬
+林鸿达
+林鸿锜
+林礼强
+林丰舜
+林瀛文
+林琼芳
+林韵娟
+林丽君
+林丽美
+林丽珠
+林丽华
+林丽蓉
+林宝秀
+林继平
+林耀南
+林蔼文
+林巍龙
+林懿君
+林麟
+林夆宾
+林芊亨
+林旻逸
+林炅嵚
+林姝均
+林昶安
+林珈妤
+林倬世
+林纾玮
+林琇雯
+林棨任
+林琮闵
+林琬瑜
+林暐庭
+林炜鸿
+林玮竣
+林筱玲
+林筱菁
+林萩燕
+林钰庭
+林钰凯
+林钰慧
+林璇怡
+林霙真
+林驧
+武良文
+武敬和
+祁义国
+花羽薇
+花雅斐
+初若凡
+邵文泰
+邵志丰
+邵奕钧
+邵郁惠
+邵胜添
+邵爱玟
+邵怀德
+邱一真
+邱于倩
+邱千绮
+邱士恭
+邱大刚
+邱子枫
+邱小嫚
+邱仁杰
+邱天宏
+邱文玉
+邱文柏
+邱文钦
+邱文鸿
+邱世民
+邱仕杰
+邱幼媚
+邱正祥
+邱永嘉
+邱玉玲
+邱立国
+邱仲韵
+邱名仕
+邱安台
+邱有谅
+邱君清
+邱志光
+邱志强
+邱志斌
+邱秀英
+邱秀静
+邱良毅
+邱佳松
+邱佳颍
+邱孟月
+邱定邦
+邱延龄
+邱怡乔
+邱怡祯
+邱昌裕
+邱明琪
+邱欣怡
+邱泓彰
+邱芳宜
+邱金生
+邱信益
+邱信辉
+邱俊昌
+邱俊智
+邱俊荣
+邱俊霖
+邱冠瑜
+邱品华
+邱垂章
+邱奕明
+邱奕睿
+邱姿惠
+邱建中
+邱建诚
+邱建鋐
+邱彦瑛
+邱思嘉
+邱政涌
+邱昭钦
+邱昱臻
+邱柏瑜
+邱柏霖
+邱珀祥
+邱盈棠
+邱纪华
+邱美惠
+邱美慧
+邱致颖
+邱军浩
+邱郁淑
+邱重宪
+邱哲琳
+邱家贤
+邱振峰
+邱桂铃
+邱浩彰
+邱佩绮
+邱纯玮
+邱伟伦
+邱健雄
+邱国恭
+邱国洁
+邱培瑜
+邱婉嬅
+邱启翔
+邱敏蕙
+邱清龙
+邱淑娟
+邱淑琴
+邱淑慧
+邱绍溢
+邱莉婷
+邱凯
+邱创俭
+邱富源
+邱惠娥
+邱惠诗
+邱景萍
+邱智杰
+邱湘云
+邱结
+邱咏淳
+邱逸群
+邱雅芬
+邱雅莉
+邱雅雯
+邱雅茜
+邱圆惠
+邱敬雯
+邱毓玲
+邱焕文
+邱瑞梅
+邱盟琇
+邱圣文
+邱圣斌
+邱诗渊
+邱诗琁
+邱靖雯
+邱嘉杰
+邱嘉慧
+邱碧施
+邱维婉
+邱韶莹
+邱德凯
+邱慧如
+邱慧婷
+邱纬平
+邱晓玲
+邱树国
+邱静宜
+邱静雯
+邱锺仁
+邱丰祥
+邱琼惠
+邱琼慧
+邱韵宁
+邱丽英
+邱宝萱
+邱继莹
+邱蕴静
+邱馨仪
+邱龄颐
+邱显桓
+邱显霖
+邱姵绫
+邱琬淑
+邱椿凯
+邱筱雯
+邱钰斐
+邱瞍
+金士为
+金京荣
+金明辉
+金政谚
+金珞琳
+金勤
+金磊
+侯力维
+侯文哲
+侯正鸿
+侯如芬
+侯宏昌
+侯秀如
+侯佳典
+侯函秀
+侯岳宏
+侯昆助
+侯欣翰
+侯信宇
+侯咸仰
+侯彦伸
+侯柏青
+侯致中
+侯素云
+侯渊铭
+侯博元
+侯景勋
+侯贵龄
+侯雅雯
+侯嘉珍
+侯庆辰
+侯静汝
+侯丽慧
+侯霈青
+俞佳凡
+俞泊霖
+俞能方
+俞雅婷
+俞芊荟
+姜元钧
+姜后怡
+姜宏荣
+姜佩伶
+姜明宏
+姜芝怡
+姜建铭
+姜堉颍
+姜凯杰
+姜智钧
+姜雅婷
+姜义恺
+姜增炫
+姜树锦
+姜礼豪
+姜旻姗
+姚又文
+姚方洁
+姚立三
+姚克钧
+姚志宪
+姚佳慧
+姚宗朴
+姚怡兰
+姚金源
+姚威宇
+姚盈任
+姚素兰
+姚凯文
+姚琛富
+姚瑞贤
+姚德麟
+姚丽人
+宣志凌
+律振扬
+施大维
+施文
+施文豪
+施可隆
+施玉品
+施名玥
+施宇骏
+施百桦
+施伯宜
+施孝德
+施宏泽
+施志豪
+施秀宛
+施育瑜
+施佳君
+施佩君
+施佩华
+施孟宏
+施宜呈
+施宛直
+施怡如
+施怡铃
+施明妍
+施杰松
+施玫君
+施雨佐
+施俊名
+施俊贤
+施奕涵
+施建宇
+施彦甫
+施政豪
+施柏如
+施皇旭
+施美瑛
+施郁蕙
+施振坤
+施素卿
+施健鸿
+施敏男
+施淑惠
+施雪姿
+施博元
+施富浩
+施惠琪
+施智勇
+施程凯
+施咏然
+施钧伦
+施雅娟
+施雯琪
+施义沧
+施嘉琪
+施汉嵘
+施志豪
+施慧君
+施瑾伦
+施晓雯
+施静怡
+施琼如
+施馨贵
+施旻宜
+施玮瑜
+柯力豪
+柯元凯
+柯文祥
+柯世贤
+柯永忠
+柯全益
+柯伯彦
+柯宏威
+柯志明
+柯沛志
+柯良蕙
+柯佳秀
+柯佩君
+柯坤明
+柯宗伯
+柯宛君
+柯怡玟
+柯明翰
+柯欣仪
+柯金杏
+柯俊吉
+柯俊隆
+柯宣宇
+柯彦旭
+柯昭生
+柯盈如
+柯虹如
+柯泰名
+柯敏盛
+柯淑惠
+柯连田
+柯博元
+柯富议
+柯惠菱
+柯智仁
+柯棋棣
+柯闵文
+柯雅华
+柯毓萍
+柯嘉汶
+柯碧昭
+柯凤仪
+柯宪苍
+柯锦男
+柯琼蓥
+柯旻良
+查慧琳
+柳如庭
+柳佩君
+柳建良
+柳茹萍
+柳棋元
+柳嘉轩
+柳鹤松
+段明宏
+段逸轩
+洪一中
+洪力壹
+洪于闵
+洪千惠
+洪千琦
+洪士育
+洪士杰
+洪大为
+洪子婷
+洪小惠
+洪元斌
+洪文明
+洪文凯
+洪文贤
+洪世升
+洪世嘉
+洪加达
+洪正光
+洪永昌
+洪玉芳
+洪玉婷
+洪玉蒨
+洪亦洁
+洪光亿
+洪名衡
+洪安俐
+洪百贤
+洪佑升
+洪君祥
+洪宏政
+洪志生
+洪志明
+洪志雄
+洪志铭
+洪村铭
+洪秀芳
+洪秀莹
+洪良欣
+洪依琪
+洪佳琳
+洪佩伶
+洪坤锜
+洪孟瑶
+洪宗汉
+洪宜良
+洪尚铭
+洪忠圣
+洪怡真
+洪明化
+洪明伟
+洪明龙
+洪欣升
+洪芷漪
+洪信嘉
+洪俊雄
+洪宣竹
+洪思琪
+洪政霈
+洪柏宁
+洪秋华
+洪美萍
+洪茂雄
+洪英杰
+洪郁庭
+洪重卿
+洪家琪
+洪悦玲
+洪振益
+洪振铭
+洪根华
+洪佩芳
+洪佩绮
+洪耿智
+洪伟哲
+洪伟杰
+洪伟谕
+洪健峰
+洪曼珊
+洪国哲
+洪国惟
+洪国翔
+洪国耀
+洪培伦
+洪婉纹
+洪崇恩
+洪昆健
+洪御彗
+洪启伟
+洪敏芳
+洪敏雄
+洪清健
+洪淑贞
+洪淑惠
+洪淑淩
+洪绍文
+洪翎宾
+洪雪芳
+洪胜凯
+洪惠文
+洪惠棋
+洪晴晴
+洪智贤
+洪琦惠
+洪菁隆
+洪菱紫
+洪隆智
+洪雅苓
+洪雅雯
+洪顺男
+洪慈伶
+洪恺廷
+洪桢邦
+洪毓嫔
+洪煌凯
+洪瑞堂
+洪瑞蓉
+洪瑞鸿
+洪万得
+洪圣恩
+洪萱锋
+洪裕焜
+洪诗雅
+洪靖凯
+洪嘉圻
+洪嘉珊
+洪嘉琳
+洪嘉莲
+洪嘉骏
+洪宁
+洪荣辉
+洪甄苡
+洪硕伟
+洪绮
+洪维良
+洪维泽
+洪肇彦
+洪志强
+洪铭佐
+洪铭阳
+洪铭锺
+洪魁禧
+洪宽泰
+洪庆铭
+洪慧玲
+洪慧萍
+洪莹珍
+洪儒明
+洪晓岚
+洪蕙心
+洪静怡
+洪声铨
+洪礼君
+洪艺菁
+洪丽姿
+洪丽钧
+洪继贤
+洪俪凤
+洪劭元
+洪晢惇
+洪斌凯
+洪歆怡
+洪筱佩
+洪钰樱
+相孟豪
+纪人玮
+纪文钦
+纪吉如
+纪伯璁
+纪志霖
+纪佳宜
+纪宗霖
+纪怡婷
+纪泓尧
+纪长兴
+纪威羽
+纪盈州
+纪祖豪
+纪淑芳
+纪博敏
+纪智仁
+纪钧闳
+纪顺兴
+纪铭坤
+纪晓恩
+纪兰洁
+胡丁元
+胡小萍
+胡心慧
+胡文瑜
+胡世融
+胡正翰
+胡玉慧
+胡同亮
+胡成章
+胡廷威
+胡志铭
+胡育维
+胡佳祯
+胡定宇
+胡怡芳
+胡东升
+胡芳慈
+胡金灏
+胡帝
+胡玲婉
+胡若男
+胡修瑀
+胡家荣
+胡展铭
+胡振中
+胡书绵
+胡纯菁
+胡干锋
+胡授淳
+胡淑君
+胡淑雅
+胡凯智
+胡博砚
+胡惠婷
+胡景雯
+胡智铭
+胡竣砚
+胡贵月
+胡雅妍
+胡雅智
+胡顺隆
+胡毓发
+胡瑞洙
+胡诗菁
+胡嘉真
+胡碧媜
+胡赫廷
+胡慧如
+胡宪霖
+胡静苑
+胡琼文
+胡耀仁
+胡懿心
+胡炜珍
+范中威
+范文政
+范世璋
+范玉萱
+范吉庆
+范均沛
+范甫宗
+范佳雯
+范明中
+范冠伟
+范姜彦如
+范姜慧怡
+范秋霞
+范郁如
+范家诚
+范振文
+范振麟
+范耕魁
+范国基
+范淑玲
+范莉苓
+范博彰
+范扬宜
+范扬腾
+范智钦
+范钧杰
+范毓贞
+范瑞祥
+范诗漪
+范汉君
+范纲贤
+范慧如
+范晓怡
+范瀚文
+范耀聪
+范琇璇
+苗后杰
+计竹宇
+韦人瑜
+韦志鸿
+韦桂仁
+候昺辰
+倪玉龙
+倪志鸿
+倪威远
+倪伟智
+倪淑婷
+倪瑞期
+倪慧珊
+凌世芳
+凌明德
+凌雪惠
+凌慧萍
+唐千惠
+唐文贤
+唐永兴
+唐作豪
+唐邦泰
+唐明志
+唐思维
+唐英娜
+唐佩珊
+唐国忠
+唐淑芬
+唐朝纬
+唐雅燕
+唐义尧
+唐嘉羚
+唐韶霙
+唐晓微
+唐誉玫
+夏正邦
+夏良玉
+夏春香
+夏淑蓉
+夏达伟
+夏慧龄
+夏翊伦
+孙上雯
+孙士烘
+孙元俊
+孙方仪
+孙可为
+孙永信
+孙立民
+孙如彬
+孙伯中
+孙志勇
+孙育芝
+孙协裕
+孙忠凯
+孙明骏
+孙采薇
+孙建崴
+孙美英
+孙郁婷
+孙振凉
+孙佩芳
+孙伟伦
+孙国书
+孙崇哲
+孙惟正
+孙淑芬
+孙杰
+孙琦
+孙逸燕
+孙传凯
+孙溢堂
+孙睦杰
+孙道隆
+孙嘉荫
+孙纲
+孙豪志
+孙铭鸿
+孙慧津
+孙学仪
+孙龙翔
+孙丽娟
+孙炘宜
+孙瑀
+宫姗姗
+师宜青
+徐乙可
+徐千祐
+徐千雅
+徐士勋
+徐子平
+徐子强
+徐小萍
+徐仁干
+徐心宜
+徐文君
+徐文益
+徐月娥
+徐世基
+徐仕泓
+徐巧凌
+徐正怡
+徐永光
+徐永鸣
+徐玉芬
+徐玉慈
+徐立达
+徐光平
+徐匡平
+徐如升
+徐有庆
+徐艾伶
+徐克钧
+徐宏宇
+徐志宇
+徐志伟
+徐志豪
+徐李全
+徐秀玲
+徐育慈
+徐佳如
+徐佩如
+徐佩锦
+徐宗源
+徐忠义
+徐昆羿
+徐明华
+徐明鸿
+徐松鸿
+徐欣妏
+徐知本
+徐采薇
+徐信中
+徐俊杰
+徐奕晖
+徐思维
+徐柏韬
+徐美玉
+徐美华
+徐若馨
+徐英硕
+徐郁桦
+徐家楷
+徐振洲
+徐书政
+徐浚杰
+徐佩祯
+徐伟凡
+徐伟峻
+徐伟顺
+徐健顺
+徐国伦
+徐国智
+徐国耀
+徐培溶
+徐婉仪
+徐昆仑
+徐从诰
+徐敏芳
+徐敏华
+徐梅凌
+徐淑娟
+徐淑嫔
+徐祥然
+徐莉真
+徐雪琼
+徐富康
+徐惠珍
+徐掌瑛
+徐朝康
+徐舒亚
+徐咏媛
+徐进宝
+徐雅棋
+徐顺宏
+徐爱婷
+徐毓良
+徐瑚镁
+徐瑞恭
+徐瑞聪
+徐瑜敏
+徐裕彬
+徐资证
+徐靖惠
+徐嘉宏
+徐嘉琳
+徐嘉驹
+徐梦麟
+徐荣辰
+徐甄鸿
+徐福祥
+徐维扬
+徐翠遥
+徐铭佛
+徐铭谦
+徐凤忆
+徐德贤
+徐慧心
+徐慧婷
+徐毅宏
+徐震东
+徐晓筠
+徐兴淦
+徐静仪
+徐鸿仁
+徐赞登
+徐丽珍
+徐继政
+徐樱芳
+徐淯
+徐菡禧
+徐玮芬
+徐筱芸
+徐钰绫
+徐鑫豪
+书百川
+桑怡秋
+柴学舜
+殷芷若
+殷绍闵
+殷肇阳
+浦晓凤
+留干焜
+祖晓凤
+秦一平
+秦安立
+秦建玮
+秦梓铭
+秦圣杰
+秦丽雅
+翁于琪
+翁士轩
+翁子婷
+翁文茹
+翁以哲
+翁玉娟
+翁仲贤
+翁宇骏
+翁宏霖
+翁志豪
+翁育稔
+翁佳韵
+翁宗裕
+翁明安
+翁林铤
+翁信台
+翁柏圣
+翁英斌
+翁振芳
+翁佩怡
+翁伟伦
+翁健纬
+翁基清
+翁崇庭
+翁启信
+翁晨耀
+翁淑华
+翁壹姿
+翁滋佩
+翁逸轩
+翁雅惠
+翁毓翎
+翁瑞羚
+翁义宗
+翁鼎昌
+翁嘉翎
+翁梦君
+翁碧壕
+翁维良
+翁铭逊
+翁德卿
+翁晓芬
+翁静瑜
+翁麒昌
+翁俪倩
+翁玮娟
+翁靓晏
+荆伟政
+袁天英
+袁如冈
+袁怡茹
+袁柏伟
+袁伟伦
+袁启鑫
+袁雅惠
+袁荣灿
+袁静华
+记佳雯
+郝政鸿
+马一文
+马中骅
+马占峰
+马玉娟
+马安妮
+马志明
+马佳伶
+马岳宏
+马南欣
+马英杰
+马佩婷
+马国蕾
+马淑卿
+马智君
+马煌坤
+马嘉隆
+马绪川
+马忆婷
+马樱菁
+高一铭
+高千惠
+高士明
+高子淇
+高小文
+高友慧
+高文彬
+高世昌
+高主强
+高弘州
+高正国
+高玉如
+高玉馨
+高伊俊
+高合助
+高旭庆
+高至宽
+高宏铭
+高志伟
+高志魁
+高秀铃
+高亚兰
+高佩吟
+高妮玮
+高宗炜
+高幸瑜
+高明
+高明玮
+高欣洁
+高金志
+高咸实
+高彦勋
+高柏豪
+高美芳
+高英凯
+高郁凯
+高峰
+高栩
+高佩绮
+高伟伦
+高健
+高国哲
+高国宁
+高培真
+高彬原
+高启祐
+高敏娉
+高淑芳
+高淑惠
+高笙辅
+高雪卿
+高婷
+高景怡
+高琪舒
+高咏彦
+高雅芳
+高雅腹
+高意祯
+高毓辰
+高照闵
+高瑞瑶
+高义忠
+高诗娉
+高颂清
+高嘉良
+高嘉屿
+高彰隆
+高睿兰
+高端玫
+高翠翎
+高银穗
+高铭杰
+高铭琇
+高仪铭
+高庆斌
+高慧萍
+高忆如
+高静民
+高薇薇
+高谱伦
+高丽蕙
+高颢哲
+高斌鑫
+高筱慧
+高薏涵
+商弘易
+商凤英
+寇丽雯
+崔佑维
+崔倩苓
+崔琦民
+常欣玉
+康乃月
+康仕宗
+康宇宁
+康攸华
+康孟意
+康金锋
+康美玲
+康家彰
+康庭瑞
+康配容
+康杰民
+康智升
+康登杰
+康雅婷
+康稚旸
+康嘉兰
+康晓蕙
+康丽贞
+张
+张一鸿
+张乃文
+张乃伟
+张力仁
+张力夫
+张又千
+张又牙
+张千里
+张士贤
+张子昌
+张小萍
+张中薇
+张尹馨
+张仁杰
+张仁杰
+张仁聪
+张元
+张元隆
+张元鸿
+张友
+张天凤
+张尤子
+张心怡
+张心瑜
+张心馨
+张文育
+张文明
+张文彦
+张文玲
+张文轩
+张文钦
+张文雯
+张文荣
+张文豪
+张文樵
+张文炉
+张文腾
+张月容
+张世中
+张世岳
+张世明
+张世芬
+张世雯
+张世儒
+张世壎
+张以全
+张仕育
+张仕旻
+张加升
+张可欣
+张央昌
+张巧玲
+张幼玮
+张弘泰
+张必明
+张正余
+张正忠
+张正杰
+张正隆
+张正卫
+张正玗
+张永材
+张永昆
+张永俊
+张永棋
+张永勋
+张玄鸿
+张玉欣
+张玉玲
+张玉琪
+张玉蓉
+张玉旻
+张立文
+张立欣
+张立钧
+张立纬
+张亦宁
+张仲平
+张仲铨
+张光仁
+张光伟
+张兆域
+张匡杰
+张吉丰
+张好礼
+张如莹
+张宇竣
+张安妮
+张式良
+张旭宗
+张泛骐
+张羽洁
+张至睿
+张艾铃
+张佑民
+张佑群
+张作成
+张伯骏
+张克伟
+张君如
+张君瑜
+张吟慈
+张妙慧
+张宋萍
+张宏春
+张宏瑞
+张宏铭
+张希圣
+张志
+张志仰
+张志宇
+张志舟
+张志明
+张志伟
+张志坚
+张志祥
+张志琳
+张志源
+张志达
+张志豪
+张志豪
+张志豪
+张志铭
+张志鸿
+张志瑄
+张沅玺
+张秀玉
+张秀珍
+张秀琪
+张秀蓉
+张育平
+张育崧
+张育菁
+张育慎
+张育诚
+张育彰
+张育纶
+张育铨
+张育玮
+张良源
+张邑如
+张亚衔
+张佳文
+张佳音
+张佳惠
+张佳雯
+张佳蓉
+张佩帆
+张佩瑛
+张叔美
+张孟玉
+张孟婷
+张宗仁
+张宗贤
+张宜新
+张尚钧
+张延任
+张念慈
+张怡欣
+张怡莉
+张怡慧
+张昆煌
+张明利
+张明祥
+张明照
+张明璋
+张升钦
+张林芬
+张欣怡
+张欣蕙
+张治国
+张秉祺
+张芳菁
+张芳绫
+张芝友
+张芸慧
+张金山
+张金凤
+张雨筑
+张信发
+张俊伟
+张俊尧
+张俊贤
+张冠华
+张姿媚
+张建邦
+张建祥
+张建豪
+张彦菁
+张思仪
+张恒玮
+张政杰
+张昭元
+张柔明
+张洲期
+张为栋
+张玲婉
+张界聪
+张盈鸿
+张秋婷
+张纪君
+张美玲
+张美羚
+张美雯
+张美霞
+张致蒨
+张茂醒
+张英琦
+张郁芬
+张郁婷
+张香玺
+张幸碧
+张修豪
+张伦玮
+张刚维
+张原谋
+张哲健
+张哲瑞
+张哲榕
+张哲维
+张哲铭
+张娟华
+张家明
+张家振
+张家淦
+张家栋
+张家菱
+张家源
+张家瑜
+张家群
+张家榕
+张家荣
+张家硕
+张家绮
+张家豪
+张家豪
+张家豪
+张家赫
+张家铭
+张家铭
+张家润
+张家怀
+张家玮
+张容菱
+张宸宗
+张峻杰
+张峻嘉
+张峻严
+张峰荣
+张庭源
+张庭玮
+张恩琼
+张振源
+张振镒
+张晋通
+张晋豪
+张晏诚
+张晏龄
+张书航
+张书维
+张书豪
+张书铭
+张书馨
+张根源
+张桂华
+张桂凤
+张泰青
+张浩堂
+张佩怡
+张佩琪
+张益州
+张益华
+张益维
+张祐慈
+张祐维
+张秦芸
+张素秋
+张素华
+张纯益
+张纯玮
+张耿
+张耿维
+张耿崚
+张训义
+张轩豪
+张高瑞
+张伟伦
+张伟钧
+张健良
+张国志
+张国浩
+张国媛
+张国玺
+张堂凡
+张婉君
+张婉暄
+张崇伟
+张康虔
+张惟捷
+张启明
+张敏芝
+张梅君
+张淳惠
+张清文
+张清凯
+张淑君
+张淑芳
+张淑芬
+张淑珍
+张淑贞
+张淑娟
+张淑茹
+张淑婷
+张淑琦
+张淑雅
+张淑娴
+张淑谨
+张渊富
+张涵轩
+张盛纲
+张绍晖
+张莉茹
+张逢时
+张雪云
+张凯宇
+张凯淳
+张凯岚
+张凯琳
+张凯超
+张凯维
+张胜仁
+张胜杰
+张胜雄
+张博和
+张博勋
+张博钧
+张喻
+张乔翔
+张壹能
+张婷韵
+张富淳
+张富祯
+张惠如
+张惠珊
+张惠娟
+张惠婷
+张惠琪
+张惠菁
+张惠雯
+张惠兰
+张敦义
+张晴晴
+张景伦
+张景浑
+张景闳
+张智安
+张智刚
+张智清
+张智杰
+张智崴
+张智翔
+张智钧
+张智豪
+张智谦
+张朝凯
+张朝龙
+张棋雯
+张湘怡
+张琪华
+张琦绍
+张登翔
+张皓崴
+张程顺
+张紫铃
+张翔智
+张舒琦
+张舜华
+张菁茹
+张华倩
+张咏茵
+张证荃
+张贵琳
+张逸凡
+张逸群
+张量然
+张钧富
+张钧贻
+张闵富
+张雁婷
+张雅姗
+张雅芬
+张雅玲
+张雅卿
+张雅敏
+张雅婷
+张雅婷
+张雅婷
+张雅婷
+张雅岚
+张雅惠
+张雅惠
+张雅琪
+张雅琴
+张雅萍
+张雅雯
+张雅雯
+张雅铃
+张雅莹
+张雯茵
+张雯仪
+张顺吉
+张顺福
+张嗣文
+张意诚
+张慈洒
+张恺晏
+张新宏
+张毓
+张毓芬
+张毓伦
+张毓洁
+张源鑫
+张瑚珊
+张瑞君
+张瑞杰
+张瑞芸
+张瑞娟
+张瑞景
+张瑞桦
+张瑞氶
+张瑜君
+张瑜娟
+张祺升
+张义忠
+张群朋
+张圣莉
+张裕昌
+张裕雯
+张诗怡
+张诗雯
+张资昊
+张道智
+张靖怡
+张鼎铉
+张嘉元
+张嘉正
+张嘉宏
+张嘉欣
+张嘉芬
+张嘉玲
+张嘉玲
+张嘉哲
+张嘉晋
+张嘉真
+张嘉训
+张嘉惠
+张嘉雄
+张嘉维
+张嘉声
+张嘉珣
+张宁馨
+张榕容
+张荣盈
+张荣宪
+张荧珊
+张睿颖
+张碧娟
+张硕元
+张硕桓
+张福政
+张纲邑
+张彩芳
+张维全
+张维珊
+张维哲
+张维真
+张维淳
+张维洁
+张翠文
+张翠琪
+张肇梁
+张蓓萱
+张豪文
+张银芳
+张铭宗
+张铭峰
+张铭翰
+张凤平
+张凤仪
+张广浩
+张德榆
+张庆怡
+张庆丰
+张慧怡
+张慧娟
+张慧萍
+张慧箴
+张莹珊
+张卫帆
+张适恒
+张学伦
+张忆君
+张晓昀
+张晓婷
+张晓菁
+张晓凤
+张燕妮
+张翰文
+张醒世
+张锦婷
+张静如
+张静怡
+张静茹
+张龙仁
+张环伊
+张谦达
+张鸿如
+张鸿智
+张曜铨
+张简正伟
+张简欣华
+张简嘉人
+张蓝尹
+张丰璸
+张怀恩
+张琼之
+张琼文
+张琼文
+张琼方
+张琼惠
+张艺馨
+张丽君
+张丽淑
+张宝云
+张献壬
+张缤文
+张继昌
+张耀云
+张耀允
+张耀正
+张耀声
+张释文
+张馨文
+张馨文
+张腾元
+张俪薰
+张巍耀
+张誉馨
+张鹤耀
+张霁月
+张芃
+张倛
+张茜茹
+张琇闵
+张媜媜
+张琬宜
+张琬菁
+张菀倩
+张炜宁
+张玮芸
+张玮伦
+张玮婷
+张筱君
+张筱雯
+张鄐憛
+张钰彩
+张禕伦
+张璁文
+张镫尹
+张恒中
+戚久智
+敖永龙
+曹士敏
+曹文彦
+曹世浩
+曹立行
+曹聿男
+曹志强
+曹佳安
+曹昌男
+曹欣良
+曹春文
+曹哲嘉
+曹峻昌
+曹佩怡
+曹伟茹
+曹淑媛
+曹胜丰
+曹智欣
+曹皓云
+曹雅惠
+曹新彦
+曹嘉文
+曹维伦
+曹毅勇
+曹玺穠
+曹莨贤
+梁乃健
+梁仁华
+梁文安
+梁文宾
+梁世豪
+梁正忠
+梁玉玲
+梁任中
+梁汝舜
+梁君霙
+梁志彬
+梁志铭
+梁育华
+梁佳进
+梁怡芬
+梁东林
+梁信元
+梁俐琦
+梁彦豪
+梁炳铸
+梁郁蓁
+梁家明
+梁家豪
+梁峻铭
+梁晋魁
+梁佩佩
+梁秦宜
+梁健忠
+梁启玄
+梁淑娟
+梁莉娟
+梁胜铭
+梁惠婷
+梁景尧
+梁朝凯
+梁舒怡
+梁逸芬
+梁雅舒
+梁恺芸
+梁瑞轩
+梁圣昌
+梁嘉珍
+梁碧慧
+梁翠珊
+梁慧华
+梁晓维
+梁静宜
+梁琼丹
+梁继仁
+梁懿德
+梁玮真
+梅光宇
+梅雅婷
+毕志华
+盛心
+盛祥
+符肇中
+莫星宇
+庄一凡
+庄于莹
+庄士国
+庄子凯
+庄仁宏
+庄心萍
+庄文昭
+庄文豪
+庄世杰
+庄弘任
+庄正扬
+庄永福
+庄玉麟
+庄如轩
+庄克伟
+庄志明
+庄志荣
+庄秀铃
+庄育榕
+庄依婷
+庄佳荣
+庄佩雯
+庄坤哲
+庄孟玲
+庄孟纾
+庄宗勋
+庄官璇
+庄宜璇
+庄忠益
+庄怡轩
+庄昌晔
+庄明达
+庄东明
+庄欣哲
+庄玥嬛
+庄金静
+庄俊杰
+庄建
+庄政宪
+庄秋子
+庄美馨
+庄英琴
+庄仓杰
+庄家升
+庄家铭
+庄峻榕
+庄桓嘉
+庄佩铃
+庄纯纯
+庄伟仁
+庄国辰
+庄培鑫
+庄启文
+庄梨青
+庄清富
+庄淑芬
+庄淑婷
+庄淑闵
+庄淑珺
+庄莉莉
+庄凯茵
+庄胜利
+庄博清
+庄尧任
+庄富杰
+庄复贵
+庄惠茹
+庄惠萍
+庄惠蓉
+庄晴云
+庄景琇
+庄智涵
+庄智钧
+庄朝钧
+庄登发
+庄善芳
+庄贺乔
+庄闵旭
+庄雅心
+庄雅玲
+庄雅婷
+庄雅惠
+庄雅萍
+庄雅云
+庄雯雯
+庄嵩纬
+庄瑞南
+庄裕文
+庄嘉玲
+庄汉清
+庄维铭
+庄铭景
+庄慧心
+庄莹姿
+庄树宏
+庄蕙萍
+庄锦平
+庄静怡
+庄滨绮
+庄曜旭
+庄蝉妃
+庄熔璞
+庄馥纲
+庄丽足
+庄懿强
+庄捃娉
+庄斌智
+庄筱婷
+许一之
+许乃积
+许又仁
+许大容
+许仁全
+许元铭
+许壬耀
+许心盈
+许文忠
+许文厚
+许文桐
+许文华
+许文豪
+许文蓝
+许日春
+许世民
+许世昌
+许世恬
+许世贤
+许加宏
+许平
+许弘毅
+许正忠
+许正谊
+许永明
+许永毅
+许玉芳
+许玉娟
+许玉婵
+许甲
+许立群
+许仲贤
+许名世
+许宇杰
+许戎岑
+许泛颖
+许至全
+许佑铨
+许克仲
+许君豪
+许妍希
+许宏伟
+许宏德
+许志同
+许志宏
+许志崇
+许志雄
+许志维
+许志远
+许志鹏
+许汶州
+许秀珊
+许秀蓉
+许育菁
+许育诚
+许良
+许贝如
+许佳政
+许佳雯
+许佩茹
+许卓尘
+许孟翔
+许宗荣
+许幸雯
+许怡佩
+许承训
+许明杰
+许明德
+许松等
+许泓琮
+许芳慈
+许芳铭
+许芙玱
+许金发
+许信荣
+许俊雄
+许姿怡
+许彦然
+许恬绫
+许昭元
+许柏桦
+许珊瑜
+许秋玲
+许美芳
+许美华
+许致维
+许英杰
+许郁敏
+许俸昌
+许修铭
+许原铭
+许哲瑞
+许哲彰
+许哲豪
+许哲玮
+许家宣
+许家杰
+许家旸
+许家彰
+许家荣
+许家豪
+许家豪
+许家庆
+许宸豪
+许峻哲
+许峻玮
+许峰铭
+许庭玮
+许振湖
+许时嘉
+许晋荧
+许书
+许书荣
+许书铨
+许根宜
+许栓豪
+许浩玮
+许佩嘉
+许益轩
+许祐莱
+许素菁
+许纯瑜
+许耿豪
+许财得
+许伟忠
+许国安
+许国贤
+许婉茹
+许彩真
+许启扬
+许梅菁
+许淳琇
+许清枫
+许淑芬
+许淑贞
+许淑茹
+许淑惠
+许淑华
+许淑莲
+许盛昌
+许莉莉
+许凯惇
+许凯嘉
+许胜勋
+许博为
+许博森
+许堡如
+许富忠
+许富雄
+许惠如
+许惠珍
+许惠茹
+许惠琳
+许惠雯
+许惠滢
+许晴斐
+许景钧
+许智玲
+许智惟
+许智凯
+许智翔
+许智雄
+许智德
+许朝富
+许钦豪
+许登渊
+许竣能
+许善凯
+许舒茜
+许华倚
+许咏胜
+许贵彰
+许逸章
+许进兴
+许闵雄
+许雅欣
+许雅玲
+许雅淑
+许雅婷
+许雅惠
+许雅惠
+许雅萍
+许雅雁
+许雅雯
+许雅慧
+许雯琳
+许顺清
+许意苹
+许恺翔
+许桢祥
+许毓娟
+许源泉
+许瑞
+许瑞芸
+许瑞恩
+许瑞仪
+许瑜芳
+许禀曼
+许圣杰
+许裕亿
+许诗筠
+许铃英
+许嘉元
+许嘉芳
+许嘉倩
+许嘉佩
+许嘉惠
+许嘉颖
+许榕
+许荣隆
+许瑶馨
+许碧珠
+许硕修
+许箔涵
+许维育
+许维真
+许翠端
+许诱
+许铭仁
+许铭哲
+许铭财
+许阁文
+许凤雅
+许庆文
+许慧君
+许慧贞
+许慕贞
+许适枫
+许忆芳
+许晓菁
+许燕萍
+许锦文
+许静宜
+许静雪
+许嵘仁
+许鸿文
+许薰文
+许怀文
+许琼文
+许琼月
+许陇祺
+许丽华
+许缤如
+许耀文
+许馨仁
+许腾元
+许跃议
+许昶华
+许琇婷
+许琮邦
+许嫈玉
+许筱萍
+许钰茹
+许鋑鸿
+许恒达
+连仁圣
+连世和
+连佑仁
+连秀仁
+连佩泠
+连芸凰
+连建智
+连秋旺
+连容琪
+连桂宏
+连伟杰
+连婉仪
+连启智
+连胜祥
+连雅贞
+连嘉纯
+连庆丰
+连静茹
+郭一桦
+郭乃荣
+郭人豪
+郭力玮
+郭于祯
+郭士华
+郭士凤
+郭子立
+郭子荧
+郭子禕
+郭仁哲
+郭天立
+郭文同
+郭文彦
+郭文惠
+郭文铨
+郭水山
+郭世兰
+郭卉雯
+郭正宗
+郭永明
+郭玉珍
+郭立
+郭立达
+郭仲渊
+郭兆雯
+郭夙吟
+郭年真
+郭有镇
+郭至哲
+郭君怡
+郭宏文
+郭宏骏
+郭志宏
+郭志祥
+郭杏
+郭沂村
+郭育先
+郭育昌
+郭育维
+郭邦彦
+郭佳欣
+郭佳雯
+郭佳鑫
+郭佩琦
+郭奇文
+郭孟蓉
+郭宗庆
+郭尚勋
+郭忠和
+郭怡伶
+郭怡君
+郭怡君
+郭怡秀
+郭怡铃
+郭承仪
+郭明宗
+郭明峰
+郭明道
+郭明玮
+郭松颖
+郭武安
+郭玟玟
+郭玥妦
+郭芳君
+郭芳雯
+郭芝睿
+郭长树
+郭信宏
+郭保君
+郭俊宏
+郭俊男
+郭俊信
+郭俊亿
+郭俐亨
+郭冠廷
+郭品秀
+郭姿伶
+郭姿欣
+郭威志
+郭建宏
+郭建廷
+郭建良
+郭建源
+郭彦君
+郭彦甫
+郭思宜
+郭政忠
+郭政璋
+郭昭安
+郭昭显
+郭昱旻
+郭柏秀
+郭炳成
+郭玲慈
+郭盈君
+郭省萱
+郭美君
+郭美姗
+郭美善
+郭美兰
+郭茂虔
+郭贞孍
+郭倍安
+郭幸铨
+郭凌志
+郭哲成
+郭哲玮
+郭家宏
+郭家祥
+郭家豪
+郭家慧
+郭宸昀
+郭峰升
+郭庭蓉
+郭振汉
+郭晏佑
+郭书豪
+郭桂凤
+郭浩志
+郭益元
+郭祖佑
+郭素绫
+郭耿任
+郭轩
+郭国正
+郭婉玲
+郭启沐
+郭添新
+郭淑芯
+郭淑敏
+郭淑慧
+郭逢祥
+郭胜
+郭乔年
+郭惠青
+郭惠旻
+郭智明
+郭智玮
+郭琪娲
+郭咏佩
+郭进昌
+郭雅汝
+郭雅婷
+郭雅菱
+郭雅薇
+郭慈盈
+郭煜崇
+郭瑞钦
+郭义棠
+郭诗屏
+郭嘉伟
+郭梦竹
+郭荣庆
+郭碧娟
+郭纶益
+郭肇强
+郭铭杰
+郭庆生
+郭慧珍
+郭慧薄
+郭儒谦
+郭晓卉
+郭晓雯
+郭燕玲
+郭蕙萍
+郭锟霖
+郭静美
+郭济维
+郭骏
+郭曜彰
+郭镇元
+郭琼媛
+郭丽秋
+郭献文
+郭蕴忱
+郭馨镁
+郭笼庆
+郭旻瑜
+郭晟宇
+郭暐
+郭钰芳
+郭恒妙
+陈一成
+陈一华
+陈一玮
+陈乃钏
+陈乃荣
+陈人甄
+陈力凡
+陈又昕
+陈又圣
+陈上伦
+陈千锦
+陈士杰
+陈大同
+陈子仁
+陈子彦
+陈子钧
+陈小萍
+陈己升
+陈中铭
+陈之谕
+陈仁宗
+陈仁杰
+陈今凡
+陈元孝
+陈元靖
+陈兮
+陈天仁
+陈天赏
+陈心怡
+陈心怡
+陈心洁
+陈文川
+陈文成
+陈文忠
+陈文亮
+陈文昭
+陈文郎
+陈文涓
+陈文彬
+陈文章
+陈文钦
+陈文华
+陈文蓉
+陈文德
+陈文学
+陈文鸿
+陈文钰
+陈月妮
+陈水泉
+陈世宇
+陈世宗
+陈世明
+陈世杰
+陈世政
+陈世庭
+陈世伟
+陈世章
+陈世棻
+陈世盟
+陈世豪
+陈世泽
+陈世鸿
+陈主欣
+陈以静
+陈仕芳
+陈仕源
+陈仕睿
+陈加明
+陈功霖
+陈可欣
+陈右民
+陈右谕
+陈巨鶠
+陈巧珊
+陈巧惠
+陈巧颐
+陈幼欣
+陈弘文
+陈弘欣
+陈弘训
+陈弘毅
+陈弘铠
+陈札培
+陈正宏
+陈正昌
+陈正芳
+陈正峰
+陈正杰
+陈正雄
+陈正豪
+陈正兴
+陈民
+陈永
+陈永宗
+陈永昌
+陈永青
+陈永凌
+陈永康
+陈永富
+陈永志
+陈永穆
+陈永珩
+陈玉文
+陈玉奇
+陈玉芳
+陈玉芬
+陈玉珊
+陈玉珍
+陈玉娟
+陈玉珠
+陈玉梅
+陈玉琳
+陈玉菁
+陈玉云
+陈玉娇
+陈玉璘
+陈玉馨
+陈生松
+陈石育
+陈立凡
+陈立言
+陈立欣
+陈立伦
+陈立伟
+陈立翎
+陈立维
+陈立翰
+陈亦凡
+陈伊伦
+陈仲志
+陈仲贤
+陈光甫
+陈光华
+陈兆奕
+陈吉利
+陈向荣
+陈在明
+陈如芬
+陈如苹
+陈宇杰
+陈宇超
+陈安佑
+陈安朴
+陈旬
+陈有志
+陈江立
+陈百杰
+陈羽珊
+陈至凯
+陈亨成
+陈佑任
+陈佑庭
+陈伸田
+陈伯杰
+陈伯苍
+陈克宇
+陈克铭
+陈君妃
+陈君航
+陈君荣
+陈君儒
+陈均硕
+陈妙桢
+陈妍伶
+陈妍秀
+陈妤蕙
+陈孝铨
+陈宏仁
+陈宏安
+陈宏昌
+陈宏波
+陈宏美
+陈宏彬
+陈宏隆
+陈宏达
+陈宏铭
+陈宏贤
+陈宏炜
+陈廷俊
+陈志山
+陈志平
+陈志仲
+陈志安
+陈志宏
+陈志沛
+陈志岳
+陈志怡
+陈志明
+陈志升
+陈志欣
+陈志彦
+陈志浩
+陈志伟
+陈志强
+陈志祥
+陈志翔
+陈志雄
+陈志源
+陈志达
+陈志荣
+陈志维
+陈志豪
+陈志豪
+陈志豪
+陈志远
+陈志铭
+陈志宽
+陈志颖
+陈志鸿
+陈志斌
+陈攸婷
+陈村龙
+陈沛吟
+陈汶津
+陈甸
+陈秀君
+陈秀芝
+陈秀玲
+陈秀娟
+陈秀敏
+陈秀惠
+陈秀雅
+陈秀铃
+陈秀慧
+陈秀兰
+陈育正
+陈育佐
+陈育奇
+陈育章
+陈育廉
+陈育诗
+陈育莹
+陈育斌
+陈良政
+陈见秋
+陈辰扬
+陈酉茹
+陈亚铃
+陈依辰
+陈依翔
+陈佳
+陈佳汝
+陈佳伶
+陈佳吟
+陈佳宏
+陈佳妮
+陈佳玥
+陈佳盈
+陈佳真
+陈佳惠
+陈佳琪
+陈佳琦
+陈佳雯
+陈佳群
+陈佳凤
+陈佳慧
+陈佳璘
+陈佳骏
+陈佳怜
+陈侃婷
+陈佩君
+陈佩君
+陈佩佩
+陈佩芸
+陈佩真
+陈佩琳
+陈佩瑜
+陈佩莹
+陈侑娥
+陈其钧
+陈协昌
+陈和成
+陈坤佐
+陈坤杰
+陈坤锺
+陈委承
+陈孟伶
+陈孟良
+陈孟威
+陈孟伟
+陈孟琪
+陈孟铃
+陈孟辉
+陈季佑
+陈宗仁
+陈宗志
+陈宗盈
+陈宗雄
+陈宗旗
+陈宗纬
+陈宗龙
+陈定至
+陈宜平
+陈宜君
+陈宜秀
+陈宜姿
+陈宜培
+陈宜群
+陈宜璋
+陈宜旻
+陈宛姗
+陈尚文
+陈尚瑜
+陈居仁
+陈岳君
+陈幸足
+陈幸满
+陈延道
+陈忠良
+陈忠义
+陈怡
+陈怡文
+陈怡卉
+陈怡冰
+陈怡如
+陈怡如
+陈怡如
+陈怡如
+陈怡如
+陈怡如
+陈怡安
+陈怡竹
+陈怡伶
+陈怡伶
+陈怡伶
+陈怡利
+陈怡君
+陈怡君
+陈怡君
+陈怡君
+陈怡君
+陈怡君
+陈怡君
+陈怡君
+陈怡君
+陈怡廷
+陈怡秀
+陈怡昌
+陈怡芳
+陈怡珊
+陈怡香
+陈怡真
+陈怡婷
+陈怡婷
+陈怡琴
+陈怡菁
+陈怡雯
+陈怡诚
+陈怡硕
+陈怡蓉
+陈怡洁
+陈怡儒
+陈怡颖
+陈怡静
+陈怡静
+陈怡苹
+陈怡蓁
+陈怡睿
+陈招诚
+陈易村
+陈昌文
+陈昌港
+陈昆杰
+陈昂佑
+陈明正
+陈明伸
+陈明宏
+陈明材
+陈明昌
+陈明政
+陈明珠
+陈明莉
+陈明婷
+陈明楷
+陈明裕
+陈明德
+陈明贤
+陈明丰
+陈昕方
+陈升毅
+陈东华
+陈杰盛
+陈松萍
+陈欣如
+陈欣宏
+陈欣宜
+陈欣怡
+陈欣怡
+陈欣泰
+陈欣瑜
+陈欣兰
+陈泳任
+陈法光
+陈泓翔
+陈泓霖
+陈治宇
+陈泊辰
+陈玟光
+陈玟伶
+陈玟瑛
+陈玫如
+陈玫君
+陈玫芳
+陈玫臻
+陈玥燕
+陈秉淳
+陈秉斌
+陈芳珍
+陈芳萱
+陈芝倩
+陈芝范
+陈芯怡
+陈邵鑫
+陈金良
+陈金堤
+陈金声
+陈长庆
+陈雨新
+陈青瑜
+陈亭君
+陈亮丞
+陈亮君
+陈亮颖
+陈信伊
+陈信宇
+陈信旭
+陈信吟
+陈信宏
+陈信宏
+陈信甫
+陈信忠
+陈信智
+陈信裕
+陈信豪
+陈信学
+陈保元
+陈保彰
+陈俊仁
+陈俊文
+陈俊仰
+陈俊吉
+陈俊如
+陈俊宇
+陈俊安
+陈俊成
+陈俊旭
+陈俊佑
+陈俊呈
+陈俊宏
+陈俊宏
+陈俊宏
+陈俊宏
+陈俊廷
+陈俊男
+陈俊男
+陈俊良
+陈俊和
+陈俊杰
+陈俊郎
+陈俊彬
+陈俊杰
+陈俊凯
+陈俊华
+陈俊源
+陈俊达
+陈俊榕
+陈俊维
+陈俊豪
+陈俊铭
+陈俊铭
+陈俊璋
+陈俊桦
+陈俊谚
+陈俊龙
+陈俊玮
+陈俐安
+陈俐秀
+陈俐洁
+陈俞仲
+陈俞妙
+陈俞静
+陈冠夫
+陈冠仰
+陈冠如
+陈冠宇
+陈冠州
+陈冠舟
+陈冠含
+陈冠宏
+陈冠廷
+陈冠男
+陈冠杰
+陈冠呜
+陈冠维
+陈冠铭
+陈冠桦
+陈冠妏
+陈则钦
+陈勇在
+陈勇志
+陈勇达
+陈劲吾
+陈南居
+陈厚铭
+陈品先
+陈品秀
+陈品辉
+陈奕中
+陈奕任
+陈奕帆
+陈奕利
+陈奕廷
+陈奕盈
+陈奕达
+陈奕颖
+陈奕蓁
+陈奎每
+陈姿文
+陈姿百
+陈姿利
+陈姿吟
+陈姿岐
+陈姿珊
+陈姿蓉
+陈姿颖
+陈姿璇
+陈威丞
+陈威全
+陈威宇
+陈威成
+陈威助
+陈威廷
+陈威志
+陈威志
+陈威邑
+陈威翔
+陈威豪
+陈威儒
+陈威霖
+陈宣任
+陈宣每
+陈宥任
+陈宥谕
+陈帅名
+陈建中
+陈建元
+陈建文
+陈建任
+陈建同
+陈建宇
+陈建安
+陈建州
+陈建成
+陈建旭
+陈建行
+陈建呈
+陈建宏
+陈建宏
+陈建宏
+陈建宏
+陈建廷
+陈建志
+陈建志
+陈建甫
+陈建男
+陈建良
+陈建邦
+陈建明
+陈建国
+陈建扬
+陈建华
+陈建评
+陈建源
+陈建达
+陈建荣
+陈建蓉
+陈建辅
+陈建铭
+陈建铭
+陈建璋
+陈建勋
+陈建桦
+陈建龙
+陈建烜
+陈彦夫
+陈彦文
+陈彦任
+陈彦合
+陈彦宇
+陈彦帆
+陈彦竹
+陈彦伸
+陈彦君
+陈彦壮
+陈彦宏
+陈彦宏
+陈彦廷
+陈彦甫
+陈彦良
+陈彦昌
+陈彦凯
+陈彦恺
+陈彦纶
+陈彦豪
+陈彦慰
+陈彦勋
+陈彦霖
+陈律元
+陈思先
+陈思年
+陈思妤
+陈思亮
+陈思源
+陈思蓉
+陈思朴
+陈思颖
+陈思翰
+陈思璇
+陈政文
+陈政宏
+陈政昕
+陈政尧
+陈政裕
+陈政毅
+陈政谦
+陈春妃
+陈春明
+陈春燕
+陈昭文
+陈昭宇
+陈昭伶
+陈昭志
+陈昭伟
+陈昭荣
+陈昭铭
+陈昭玮
+陈映旭
+陈映志
+陈映儒
+陈星宇
+陈星熹
+陈昱丞
+陈昱全
+陈昱汝
+陈昱宏
+陈昱甫
+陈昱达
+陈昱桦
+陈柔安
+陈柄方
+陈柏元
+陈柏份
+陈柏宇
+陈柏州
+陈柏年
+陈柏舟
+陈柏含
+陈柏宏
+陈柏志
+陈柏沅
+陈柏岳
+陈柏峰
+陈柏凯
+陈柏瑞
+陈柏宁
+陈柏蓉
+陈柏璋
+陈柏翰
+陈柏辑
+陈柏玮
+陈洲星
+陈炫君
+陈炳仲
+陈炳辰
+陈炳锟
+陈炯锦
+陈珊珊
+陈珍莹
+陈皆兴
+陈皇旭
+陈皇龙
+陈盈全
+陈盈如
+陈盈如
+陈盈安
+陈盈竹
+陈盈君
+陈盈孜
+陈盈杉
+陈盈贝
+陈盈婷
+陈盈绮
+陈盈璋
+陈盈谕
+陈盈璇
+陈相达
+陈祈宾
+陈禹齐
+陈科顺
+陈秋方
+陈秋帆
+陈秋秀
+陈秋纯
+陈秋萍
+陈秋雯
+陈秋燕
+陈红玉
+陈纪足
+陈美云
+陈美玉
+陈美如
+陈美年
+陈美伶
+陈美君
+陈美吟
+陈美廷
+陈美秀
+陈美芝
+陈美玲
+陈美娟
+陈美纯
+陈美乔
+陈美惠
+陈美琴
+陈美菱
+陈美铃
+陈美慧
+陈美儒
+陈美静
+陈美钰
+陈羿谷
+陈致仰
+陈致宏
+陈致福
+陈致睿
+陈若曦
+陈茂雄
+陈英杰
+陈英振
+陈英杰
+陈英蓓
+陈英鸿
+陈苓娟
+陈虹曲
+陈虹吟
+陈虹洁
+陈衍至
+陈衍霖
+陈贞旭
+陈贞妤
+陈贞蓉
+陈贞玮
+陈郁仁
+陈郁文
+陈郁芬
+陈郁杰
+陈郁菁
+陈郁枫
+陈重光
+陈重廷
+陈重儒
+陈韦在
+陈韦伶
+陈韦廷
+陈韦承
+陈韦豪
+陈音
+陈飞良
+陈香如
+陈香吟
+陈香婷
+陈倍甄
+陈幸翠
+陈凌砚
+陈哲民
+陈哲强
+陈哲贤
+陈家正
+陈家奇
+陈家珍
+陈家祥
+陈家湖
+陈家雯
+陈家汉
+陈家仪
+陈家慧
+陈家兴
+陈家琮
+陈容萱
+陈峰州
+陈恕
+陈恩荣
+陈振东
+陈振涌
+陈振铭
+陈时盟
+陈书光
+陈书毓
+陈桂玉
+陈桂慧
+陈泰全
+陈泰伶
+陈泰峰
+陈泰铭
+陈浚钦
+陈浩茹
+陈佩云
+陈佩怡
+陈佩佩
+陈佩瑜
+陈佩玮
+陈益裕
+陈祐悌
+陈纺
+陈素珍
+陈素娥
+陈素瑜
+陈纯怡
+陈耘宽
+陈荃豪
+陈郡怡
+陈干淦
+陈伟民
+陈伟信
+陈伟莉
+陈伟裕
+陈健上
+陈健封
+陈健霖
+陈国元
+陈国明
+陈国峰
+陈国梁
+陈国棋
+陈国荣
+陈国锋
+陈坚民
+陈培育
+陈培端
+陈婉育
+陈婉卿
+陈婉菁
+陈婉洁
+陈崇原
+陈昆铭
+陈彩纯
+陈捷
+陈启存
+陈启清
+陈启铭
+陈敏星
+陈敏新
+陈梓玮
+陈梅馨
+陈清奇
+陈清源
+陈淑
+陈淑君
+陈淑怡
+陈淑芬
+陈淑芬
+陈淑玲
+陈淑秋
+陈淑贞
+陈淑娟
+陈淑娟
+陈淑真
+陈淑羚
+陈淑惠
+陈淑萍
+陈淑雅
+陈淑铃
+陈淑慧
+陈淑静
+陈渊秋
+陈猛宗
+陈祥钧
+陈绍庭
+陈庄伟
+陈莉婷
+陈许民
+陈雪芬
+陈雪华
+陈杰裕
+陈凯玲
+陈凯钿
+陈胜如
+陈胜嘉
+陈博康
+陈乔宇
+陈婷玟
+陈富民
+陈富荣
+陈惠文
+陈惠君
+陈惠芬
+陈惠玲
+陈惠美
+陈惠娟
+陈惠婷
+陈惠萍
+陈惠雯
+陈惠雯
+陈惠龄
+陈扬哲
+陈晶晶
+陈景泰
+陈景鑫
+陈智亮
+陈智伟
+陈智阳
+陈智宽
+陈朝文
+陈朝熙
+陈棋珍
+陈湘于
+陈湘琴
+陈渝文
+陈琪雯
+陈琦琳
+陈登隆
+陈筑筠
+陈肃权
+陈舒憛
+陈菁
+陈华伟
+陈咏亮
+陈贺钰
+陈辜亮
+陈逸平
+陈逸明
+陈逸盈
+陈逸菁
+陈逸维
+陈逸鸿
+陈进志
+陈进隆
+陈钧屏
+陈闵隆
+陈隆斌
+陈雅君
+陈雅玫
+陈雅芬
+陈雅玲
+陈雅玲
+陈雅苓
+陈雅佩
+陈雅雪
+陈雅婷
+陈雅惠
+陈雅惠
+陈雅琪
+陈雅琴
+陈雅菁
+陈雅雯
+陈雅雯
+陈雅铃
+陈雅慧
+陈雅韵
+陈雯
+陈雯惠
+陈云朴
+陈顺发
+陈传兴
+陈意文
+陈意雯
+陈慈雅
+陈爱甄
+陈敬文
+陈敬杰
+陈新烈
+陈业统
+陈榆涵
+陈毓良
+陈毓茹
+陈毓钧
+陈源正
+陈温萍
+陈照慈
+陈煦淑
+陈焕森
+陈瑞利
+陈瑞昌
+陈瑞芬
+陈瑞钏
+陈瑞瑜
+陈瑞霖
+陈瑞麟
+陈瑜诗
+陈祺富
+陈经国
+陈义忠
+陈义纬
+陈圣尹
+陈圣宜
+陈圣杰
+陈圣宪
+陈萱蔓
+陈蜂灏
+陈裕升
+陈裕廷
+陈裕智
+陈诗平
+陈诗泉
+陈诗婷
+陈诗诗
+陈诗苹
+陈运征
+陈达裕
+陈雍
+陈靖怡
+陈鼎仁
+陈嘉仁
+陈嘉亨
+陈嘉宏
+陈嘉怡
+陈嘉玲
+陈嘉峰
+陈嘉茵
+陈嘉淦
+陈嘉惠
+陈嘉雁
+陈嘉勤
+陈嘉德
+陈嘉莹
+陈嘉营
+陈嘉琮
+陈旗昌
+陈荣杰
+陈荣进
+陈荣耀
+陈汉珍
+陈汉蔚
+陈瑶真
+陈碧红
+陈碧云
+陈硕伟
+陈福林
+陈绮华
+陈维邦
+陈维哲
+陈维仪
+陈翠婷
+陈肇鸿
+陈蓓玲
+陈志睿
+陈铭
+陈铭泉
+陈铭强
+陈铭雄
+陈铭耀
+陈凤玲
+陈凤鸣
+陈仪
+陈仪珊
+陈仪洁
+陈宽如
+陈广麟
+陈德和
+陈德堂
+陈德远
+陈征宗
+陈庆星
+陈庆华
+陈庆维
+陈庆翰
+陈庆鸿
+陈慧玉
+陈慧如
+陈慧君
+陈慧芝
+陈慧珊
+陈慧玲
+陈慧美
+陈慧卿
+陈慧真
+陈慧纯
+陈慧敏
+陈慧萍
+陈慧雯
+陈慧蓉
+陈慧樵
+陈慧兰
+陈慕儒
+陈毅正
+陈毅鸿
+陈洁音
+陈莹芳
+陈莹蓉
+陈莹瑄
+陈纬恩
+陈蔚青
+陈谊芳
+陈贤典
+陈辉吉
+陈震宇
+陈黎桂
+陈学明
+陈宪仁
+陈宪仪
+陈忆雯
+陈晓姗
+陈晓青
+陈晓风
+陈晓岚
+陈晓菁
+陈晓筠
+陈晓慧
+陈晓丽
+陈树年
+陈泽珊
+陈燕伶
+陈燕菁
+陈燕怜
+陈颖君
+陈颖祥
+陈颖慧
+陈穆蓉
+陈翰璋
+陈蕙芳
+陈蕙苹
+陈锡华
+陈锦秀
+陈锦堂
+陈锦慧
+陈锦鸿
+陈静如
+陈静宜
+陈静怡
+陈静怡
+陈静怡
+陈静芳
+陈静淑
+陈静宁
+陈静仪
+陈静慧
+陈静贤
+陈龙生
+陈龙宽
+陈曙东
+陈聪仁
+陈臆仁
+陈薇
+陈薇如
+陈谦毅
+陈骏扬
+陈鸿文
+陈鸿志
+陈鸿清
+陈鸿裕
+陈鸿霖
+陈璇如
+陈丰振
+陈怀哲
+陈玺争
+陈琼淇
+陈琼桦
+陈艺心
+陈赞中
+陈铿任
+陈韵夙
+陈韵如
+陈韵如
+陈韵如
+陈韵竹
+陈韵婷
+陈韵静
+陈鹏禾
+陈麒元
+陈麒全
+陈丽文
+陈丽如
+陈丽宇
+陈丽而
+陈丽芬
+陈丽卿
+陈丽珠
+陈丽婷
+陈丽萍
+陈丽雯
+陈丽莲
+陈宝玉
+陈宝莲
+陈耀仁
+陈耀笙
+陈馨怡
+陈俪文
+陈樱容
+陈誉龄
+陈鹤中
+陈懿映
+陈艳铃
+陈芊秀
+陈怜君
+陈旻政
+陈玠源
+陈姮霏
+陈姵如
+陈姵吟
+陈姵瑱
+陈昶昱
+陈珈琦
+陈彧馨
+陈琇如
+陈堜
+陈琮闵
+陈琬婷
+陈琬菁
+陈椸涓
+陈玮
+陈玮典
+陈玮耘
+陈玮昶
+陈筱芳
+陈筱婷
+陈筱筠
+陈萩芸
+陈钰玫
+陈钰婷
+陈钰玺
+陈铫茹
+陈霈宇
+陈薏雯
+陈滢如
+陈滢淑
+陈嬿因
+陈嬿伶
+陈顗文
+陈鑫麟
+陆小燕
+陆正义
+陆季宏
+陆信龙
+陆津华
+陆梅婷
+陆云泰
+陆凤玲
+陆淯铃
+陶育均
+陶惟萱
+章文芝
+章佳云
+章根源
+章翔
+章琼方
+麦佩雯
+麦卢宝全
+傅一雄
+傅子
+傅文进
+傅正希
+傅光智
+傅宏斌
+傅亚凡
+傅怡芳
+傅金宏
+傅建国
+傅映先
+傅美蓉
+傅佩淇
+傅国栋
+傅启皇
+傅淑雯
+傅斯平
+傅雅卿
+傅煌锦
+傅铅文
+傅德政
+傅锹淼
+傅琮
+单亦侠
+喻至善
+乔宗尧
+富康翔
+彭上吉
+彭士
+彭仁志
+彭及辰
+彭文宏
+彭文慧
+彭以信
+彭正良
+彭玉华
+彭伊芬
+彭如敏
+彭成杰
+彭旭初
+彭宏君
+彭志豪
+彭佳伟
+彭宗意
+彭怡蕙
+彭朋雍
+彭秉正
+彭保欣
+彭俊福
+彭冠瑛
+彭威翔
+彭建荣
+彭律凡
+彭柏威
+彭秋萍
+彭若慈
+彭郁仁
+彭哲仁
+彭浩伦
+彭伟君
+彭国峰
+彭崇信
+彭启钧
+彭淑珍
+彭盛
+彭雪琦
+彭喜浩
+彭晶声
+彭滋萍
+彭舒彦
+彭开明
+彭雅绢
+彭爱苹
+彭瑞苓
+彭圣萍
+彭嘉君
+彭荣桂
+彭铭淇
+彭慧如
+彭贤一
+彭晓琪
+彭锦炫
+彭骏洁
+彭丽慧
+彭馨慧
+彭玮彦
+彭颀苹
+景雨秋
+曾凡哲
+曾于慈
+曾千豪
+曾士轩
+曾士
+曾子庭
+曾小玲
+曾仁佑
+曾元志
+曾孔钰
+曾文
+曾文忠
+曾文彬
+曾文慧
+曾文顗
+曾世煌
+曾令瑜
+曾平诰
+曾正耀
+曾玉如
+曾玉菁
+曾立德
+曾仲盟
+曾吉宏
+曾如君
+曾安琪
+曾羽岭
+曾君豪
+曾志玄
+曾志杰
+曾志麟
+曾秀梅
+曾育菁
+曾佳玲
+曾佳瑱
+曾季歆
+曾尚志
+曾怡娟
+曾怡嘉
+曾承志
+曾明德
+曾泓霖
+曾芝兰
+曾信杰
+曾俊彦
+曾俊智
+曾俊豪
+曾俊玮
+曾冠桦
+曾品彰
+曾姿绮
+曾威谕
+曾建和
+曾建博
+曾建荣
+曾建霖
+曾彦闵
+曾彦翰
+曾思维
+曾政豪
+曾昭翔
+曾映龄
+曾柏涵
+曾柏兴
+曾皇龙
+曾秋敏
+曾美怡
+曾美华
+曾美龄
+曾英峰
+曾郁文
+曾郁颖
+曾家振
+曾展其
+曾书慧
+曾佩琳
+曾素铃
+曾轩彬
+曾伟翔
+曾健逢
+曾国志
+曾国书
+曾国裕
+曾国鋆
+曾婉惠
+曾庸哲
+曾启强
+曾梅玉
+曾淑芳
+曾淑敏
+曾淑萍
+曾涵副
+曾祥达
+曾贯智
+曾凯悌
+曾博彦
+曾富钰
+曾惠玲
+曾惠雯
+曾斐红
+曾智弘
+曾智祺
+曾湘云
+曾舒平
+曾华龄
+曾贵祯
+曾钧鼎
+曾雅青
+曾雅惠
+曾雅铉
+曾云沐
+曾意文
+曾慈惠
+曾晖洸
+曾溥元
+曾焕杰
+曾瑞晃
+曾瑛琳
+曾筠凊
+曾圣然
+曾裕凯
+曾诗翰
+曾靖娟
+曾鼎元
+曾嘉英
+曾荣
+曾碧莲
+曾维群
+曾铭衔
+曾德龙
+曾庆瑄
+曾慧真
+曾澄堉
+曾宪忠
+曾晓琪
+曾蕙菁
+曾静怡
+曾繁青
+曾鸿家
+曾怀贤
+曾琼慧
+曾韵真
+曾丽娟
+曾宝磁
+曾继增
+曾耀贤
+曾馨仪
+曾龄慧
+曾郅絜
+曾琮彦
+曾暐清
+曾筱婷
+曾钰芬
+曾瞍
+游力行
+游士汉
+游大纬
+游之娴
+游文志
+游文聪
+游世斌
+游本威
+游玉姿
+游兆君
+游君苹
+游志伟
+游李雄
+游亚俐
+游佳敏
+游佩勋
+游宗宪
+游宜群
+游怡祥
+游昌翰
+游明仪
+游欣
+游青霏
+游奕霖
+游政璋
+游秋怡
+游英如
+游娟娟
+游家豪
+游恩政
+游佩筠
+游高杰
+游婉青
+游启辉
+游淑如
+游淑惠
+游祥杰
+游凯媜
+游乔智
+游惠玲
+游景翔
+游智超
+游朝舜
+游竣盛
+游舜杰
+游进富
+游雅芳
+游雅婷
+游雅筠
+游瑞莲
+游裕德
+游荣华
+游庆芳
+游辉祥
+游晓芸
+游锡宗
+游骏伟
+游镇邦
+游献群
+游旻宪
+游矞皇
+汤一珊
+汤今兰
+汤玉琴
+汤志忠
+汤佳翰
+汤岳豊
+汤治邦
+汤家豪
+汤健文
+汤渊富
+汤富棋
+汤咏瑜
+汤雅枫
+汤庆铮
+汤鸿贤
+焦信祥
+程之宁
+程文锺
+程立辉
+程志文
+程尚则
+程秉鑫
+程奕欣
+程建翰
+程柏章
+程秋兰
+程伟政
+程婉欣
+程淑玲
+程斐文
+程雅惠
+程诗婷
+程洁菡
+程琼萱
+程蕴霞
+童士芬
+童弘
+童安亨
+童信和
+童美满
+童惟新
+童湘芸
+童圣杰
+童韵如
+童滢蓉
+舒婷婷
+华国锋
+覃思齐
+费骐葳
+贺厚平
+贺瑞丽
+买菁华
+辜信福
+辜郁仁
+辜惠群
+辜静怡
+闵任远
+阳正光
+云智勇
+须上苑
+冯允中
+冯文政
+冯永滢
+冯佑雄
+冯佳琦
+冯长龙
+冯建筌
+冯美珊
+冯晋嘉
+冯彩娟
+冯博伟
+冯翔瑜
+冯瑞阳
+冯志遵
+冯炽炜
+冯耀文
+黄一
+黄一伦
+黄乙上
+黄力言
+黄上芳
+黄凡维
+黄于芬
+黄于珊
+黄于哲
+黄于真
+黄于祯
+黄千芳
+黄千凌
+黄千华
+黄士
+黄士欣
+黄士原
+黄士峰
+黄士钊
+黄士嘉
+黄士豪
+黄士贤
+黄大伦
+黄子才
+黄子建
+黄子卿
+黄子轩
+黄子穆
+黄小佩
+黄小娟
+黄山峰
+黄才旺
+黄中伟
+黄之亭
+黄仁弘
+黄仁良
+黄仁柏
+黄仁璋
+黄元山
+黄元隆
+黄元骏
+黄友谦
+黄天健
+黄少雨
+黄心怡
+黄心怡
+黄心怡
+黄心仪
+黄心姮
+黄文正
+黄文孝
+黄文村
+黄文怡
+黄文信
+黄文彦
+黄文玲
+黄文益
+黄文胜
+黄文隆
+黄文祺
+黄文荣
+黄文璋
+黄文龙
+黄文麒
+黄日青
+黄月瑾
+黄世安
+黄世宜
+黄世朋
+黄世坚
+黄世涌
+黄世嘉
+黄世增
+黄世颖
+黄以乔
+黄仕达
+黄加欣
+黄可甄
+黄巧婷
+黄平宇
+黄弘吉
+黄弘毅
+黄正一
+黄正安
+黄正佩
+黄正伟
+黄正顺
+黄正锟
+黄永仁
+黄永升
+黄永智
+黄永汉
+黄汀满
+黄玉君
+黄玉雨
+黄玉娟
+黄玉婷
+黄玉菁
+黄玉莹
+黄玉兰
+黄立文
+黄立芬
+黄立达
+黄立纬
+黄亦萱
+黄仲正
+黄仲煦
+黄任延
+黄光玉
+黄光满
+黄兆敏
+黄全富
+黄吉廷
+黄名池
+黄夙慧
+黄如真
+黄如翰
+黄宇廷
+黄守田
+黄安德
+黄旭弘
+黄旭辉
+黄江瑜
+黄百灿
+黄聿君
+黄至枰
+黄至鹏
+黄伯年
+黄克任
+黄君怡
+黄妙芬
+黄孝彰
+黄宏亮
+黄宏进
+黄宏骏
+黄志仁
+黄志平
+黄志成
+黄志明
+黄志伟
+黄志强
+黄志扬
+黄志雄
+黄志嘉
+黄志豪
+黄志铭
+黄志龙
+黄杏如
+黄沛声
+黄秀玲
+黄秀容
+黄秀华
+黄秀蓉
+黄育信
+黄良
+黄邦彦
+黄依文
+黄佳元
+黄佳春
+黄佳媛
+黄佳华
+黄佳娴
+黄佳蕙
+黄佩俐
+黄佩萱
+黄卓君
+黄坤德
+黄孟专
+黄孟樵
+黄宗基
+黄宗贤
+黄宜玲
+黄宛贞
+黄幸仪
+黄念芹
+黄怡君
+黄怡珊
+黄怡茹
+黄怡萍
+黄怡菁
+黄怡雯
+黄怡嘉
+黄怡维
+黄怡龄
+黄承德
+黄昌鼎
+黄明志
+黄明彦
+黄明理
+黄明瑞
+黄明慧
+黄昕岚
+黄东海
+黄松筠
+黄欣怡
+黄欣愉
+黄欣蕙
+黄河顺
+黄治平
+黄玟瑾
+黄秉钧
+黄芝华
+黄芷云
+黄金汤
+黄金树
+黄长泽
+黄亭萍
+黄亮凯
+黄信文
+黄信捷
+黄信棠
+黄信恺
+黄信彰
+黄信铭
+黄信颖
+黄信斌
+黄保璁
+黄俊生
+黄俊哲
+黄俊淇
+黄俊杰
+黄俊杰
+黄俊杰
+黄俊凯
+黄俊棋
+黄俊舜
+黄俊隆
+黄俊祺
+黄俊嘉
+黄俊维
+黄俊豪
+黄俊贤
+黄俊颖
+黄俊龙
+黄俊烨
+黄俞斐
+黄冠怡
+黄冠程
+黄冠雅
+黄冠宾
+黄冠龙
+黄勇慧
+黄厚盛
+黄品杰
+黄品毅
+黄奕揆
+黄奕霖
+黄姿婷
+黄姿绫
+黄威凯
+黄威铭
+黄宣凯
+黄宣穆
+黄建中
+黄建文
+黄建青
+黄建凯
+黄建智
+黄建程
+黄建钧
+黄建源
+黄建彰
+黄建豪
+黄建铭
+黄建勋
+黄建颖
+黄建龙
+黄彦太
+黄彦强
+黄彦博
+黄彦皓
+黄彦瑜
+黄彦宾
+黄彦樵
+黄彦斌
+黄思凯
+黄思嘉
+黄思贤
+黄思玮
+黄政原
+黄政扬
+黄政龙
+黄春堤
+黄昭仁
+黄昭智
+黄昭维
+黄映瑄
+黄昱中
+黄昱恺
+黄昱龙
+黄柏元
+黄柏强
+黄柏乔
+黄柏翔
+黄柏瑞
+黄柏绮
+黄柏璋
+黄柏翰
+黄柏禲
+黄为栋
+黄炳宪
+黄珊萍
+黄珀钟
+黄盈惠
+黄盈彰
+黄相志
+黄秋芳
+黄秋萍
+黄秋瑛
+黄秋霞
+黄美玉
+黄美玲
+黄美娟
+黄美羚
+黄美筑
+黄美雯
+黄美蓉
+黄美燕
+黄致恒
+黄致远
+黄若薇
+黄茂源
+黄英彦
+黄英杰
+黄英铭
+黄衍钦
+黄贞颖
+黄郁仁
+黄郁玫
+黄郁珊
+黄郁茗
+黄郁婷
+黄郁棠
+黄郁雯
+黄郁静
+黄重凯
+黄韦琪
+黄韦勋
+黄香榕
+黄仓彦
+黄哲枫
+黄孙宇
+黄家珍
+黄家隆
+黄家纬
+黄峻峥
+黄庭钰
+黄振甫
+黄振庭
+黄振诚
+黄振玱
+黄书寅
+黄书钰
+黄泰昆
+黄泰霖
+黄浩天
+黄浩钧
+黄佩芸
+黄佩娟
+黄佩舒
+黄佩瑜
+黄益建
+黄祖贤
+黄素真
+黄纯美
+黄能丰
+黄钊俊
+黄伟宙
+黄伟修
+黄伟峰
+黄伟杰
+黄伟诚
+黄伟铭
+黄健奇
+黄健晏
+黄健溢
+黄凰慈
+黄国全
+黄国芳
+黄国伦
+黄国展
+黄国晋
+黄国轩
+黄国栋
+黄国钧
+黄国裕
+黄国荣
+黄国豪
+黄国钟
+黄堂轩
+黄培峻
+黄培铭
+黄婉贞
+黄婉菁
+黄尉翔
+黄崇训
+黄崇铭
+黄常树
+黄彩铭
+黄惟圣
+黄启宏
+黄启修
+黄启书
+黄启彰
+黄敏
+黄敏修
+黄敏华
+黄敏慧
+黄梅玲
+黄添虎
+黄清泰
+黄清麟
+黄淑岑
+黄淑芬
+黄淑玲
+黄淑贞
+黄淑卿
+黄淑桃
+黄淑梅
+黄淑媛
+黄淑琪
+黄淑华
+黄淑雯
+黄淑甄
+黄淑静
+黄渊贤
+黄皎
+黄祥恩
+黄祥斌
+黄绍萱
+黄莉
+黄莉娟
+黄莉琪
+黄莉嘉
+黄途岩
+黄雪凤
+黄杰文
+黄凯威
+黄凯琪
+黄凯麟
+黄胜志
+黄胜裕
+黄博泰
+黄喜麟
+黄尧伟
+黄婷婷
+黄富
+黄富详
+黄复聪
+黄惠君
+黄惠芬
+黄惠珍
+黄惠娥
+黄惠敏
+黄惠琴
+黄惠勤
+黄惠诗
+黄惠霞
+黄扬名
+黄斯骏
+黄景裕
+黄智勇
+黄智伟
+黄智康
+黄智隆
+黄智铭
+黄智玮
+黄朝琴
+黄朝梁
+黄植懋
+黄湘巧
+黄湘婷
+黄渝芳
+黄琪婷
+黄琳钧
+黄琦棻
+黄登键
+黄竣南
+黄筑钰
+黄善晖
+黄舒彦
+黄舜忠
+黄菁薇
+黄菊英
+黄咏瑞
+黄贵堂
+黄逸
+黄逸纯
+黄逸玮
+黄钧沁
+黄闵农
+黄雅君
+黄雅芳
+黄雅津
+黄雅玲
+黄雅卿
+黄雅淑
+黄雅雪
+黄雅惠
+黄雅琪
+黄雅琴
+黄雅萍
+黄雅雯
+黄雅萱
+黄雅铃
+黄雅慧
+黄雅龄
+黄雯玉
+黄雯筠
+黄顺吉
+黄传围
+黄廉智
+黄意茹
+黄意超
+黄慈
+黄敬元
+黄敬斌
+黄晖文
+黄楷祺
+黄榆婷
+黄毓翎
+黄毓华
+黄源璋
+黄照凯
+黄煦氛
+黄瑟芸
+黄瑞伶
+黄瑞屏
+黄瑞祥
+黄瑞阳
+黄瑞兴
+黄瑜淑
+黄盟凯
+黄祺芬
+黄筠真
+黄义君
+黄义铭
+黄群雄
+黄圣圳
+黄圣哲
+黄圣杰
+黄圣棻
+黄圣鸿
+黄裕中
+黄裕宜
+黄裕盛
+黄裕翔
+黄裕昶
+黄诗芸
+黄诗茹
+黄诗涵
+黄诗惠
+黄诗雯
+黄诗苹
+黄道全
+黄铃琪
+黄隽琦
+黄靖芸
+黄靖惠
+黄靖雯
+黄鼎能
+黄嘉民
+黄嘉勇
+黄嘉伦
+黄嘉雪
+黄嘉萱
+黄嘉贤
+黄荣山
+黄荣顺
+黄汉光
+黄汉辉
+黄睿伸
+黄碧云
+黄祯庆
+黄维
+黄维智
+黄肇宏
+黄远宏
+黄铭伟
+黄铭辉
+黄魁彬
+黄仪君
+黄德秀
+黄德炜
+黄庆华
+黄慧玉
+黄慧芬
+黄慧娟
+黄慧茹
+黄慧菁
+黄慧祯
+黄澄伟
+黄蔚仁
+黄贤章
+黄震宇
+黄宪得
+黄忆菁
+黄晓佩
+黄晓音
+黄晓菱
+黄晓薇
+黄燕娥
+黄兴元
+黄蕙萍
+黄铮晖
+黄锦章
+黄静子
+黄静宜
+黄静怡
+黄静莉
+黄龙一
+黄应璇
+黄聪琪
+黄薇琼
+黄骏达
+黄鸿智
+黄礼伸
+黄薰莹
+黄双玉
+黄怀庆
+黄瀚德
+黄琼妃
+黄琼华
+黄琼仪
+黄琼仪
+黄琼慧
+黄琼慧
+黄琼谊
+黄琼
+黄镜生
+黄韵如
+黄韵韵
+黄鹏图
+黄丽妃
+黄丽芬
+黄丽香
+黄丽容
+黄丽蓉
+黄丽铮
+黄宝玉
+黄宝仪
+黄宝稹
+黄献谆
+黄继增
+黄耀文
+黄耀俊
+黄耀德
+黄耀莹
+黄耀辉
+黄议德
+黄钟苇
+黄馨怡
+黄馨仪
+黄馨慧
+黄馨毅
+黄馨霈
+黄龄萱
+黄兰玉
+黄铁豪
+黄显婷
+黄艳玉
+黄玠晟
+黄姵瑄
+黄昶斌
+黄勖轩
+黄琇苓
+黄翊宸
+黄枨吉
+黄琮富
+黄琬君
+黄琬婷
+黄琬雯
+黄琬瑂
+黄菀铃
+黄暐睿
+黄玮欣
+黄玮宁
+黄筱芸
+黄筱乔
+黄筱雁
+黄筱苹
+黄钰娟
+黄钰婷
+黄钰婷
+黄钰斐
+黄钰雯
+黄钲闵
+黄瞍
+黄薏澄
+黄謵说
+黄龆
+涂巧忆
+涂时雨
+涂媄云
+杨
+杨人颖
+杨三贤
+杨千里
+杨千慧
+杨士弘
+杨士朋
+杨士毅
+杨士贤
+杨大毅
+杨子恒
+杨子毅
+杨子瑢
+杨小慧
+杨中孚
+杨之慧
+杨仁华
+杨介文
+杨允中
+杨心怡
+杨心德
+杨文宏
+杨文杰
+杨文媛
+杨文瑞
+杨文仪
+杨文玮
+杨世平
+杨世凯
+杨世鹏
+杨仕馨
+杨可歆
+杨弘先
+杨本圣
+杨正彬
+杨永正
+杨永琦
+杨玉君
+杨玉鼎
+杨白鲸
+杨立群
+杨仲民
+杨兆钦
+杨妃婷
+杨守城
+杨旨祥
+杨自雄
+杨伶慧
+杨妙恩
+杨宏祥
+杨志平
+杨志能
+杨志伟
+杨志祥
+杨志雍
+杨志学
+杨沛莳
+杨秀珠
+杨秀慧
+杨育真
+杨育儒
+杨亚琦
+杨佳欣
+杨佳展
+杨佳菁
+杨佳撰
+杨佳萤
+杨佩珊
+杨佩儒
+杨其瀚
+杨坤英
+杨奇惠
+杨孟修
+杨孟蓉
+杨孟翰
+杨宗
+杨宗倍
+杨宗尧
+杨宗儒
+杨宗颖
+杨宗翰
+杨宗烜
+杨宜文
+杨宜璋
+杨宜蓁
+杨尚训
+杨尚融
+杨岱儒
+杨忠仁
+杨忠宪
+杨怡芳
+杨怡萍
+杨承
+杨承熹
+杨易伦
+杨昌宾
+杨昆霖
+杨明杰
+杨明纯
+杨明诚
+杨明寰
+杨明禧
+杨升桦
+杨东敏
+杨松铭
+杨欣怡
+杨欣佩
+杨欣燕
+杨泓褘
+杨秉顺
+杨芳雄
+杨芸
+杨金璋
+杨长洁
+杨青峰
+杨俊宏
+杨俊辉
+杨奕昶
+杨建彦
+杨思隽
+杨政彬
+杨政勋
+杨政霖
+杨昭辉
+杨为舜
+杨秋男
+杨纪芸
+杨美玲
+杨美惠
+杨美艺
+杨苑利
+杨倩
+杨哲安
+杨哲铭
+杨家明
+杨家祺
+杨家铭
+杨家玮
+杨恭沛
+杨振宗
+杨振汉
+杨晏菁
+杨书豪
+杨涓樱
+杨佩君
+杨佩琦
+杨真珠
+杨素卿
+杨荐翔
+杨虔雅
+杨伟文
+杨伟琪
+杨健国
+杨国松
+杨国鼎
+杨培恩
+杨婉莉
+杨崇鑫
+杨惟白
+杨启宏
+杨敏芳
+杨梵孛
+杨淳砚
+杨清桃
+杨淑元
+杨淑佳
+杨淑芬
+杨淑美
+杨淑敏
+杨淑惠
+杨淑萍
+杨淑雅
+杨淑慧
+杨渊胜
+杨净芝
+杨盛斌
+杨莉芳
+杨雪雅
+杨凯仲
+杨凯杰
+杨凯钧
+杨胜宇
+杨胜斐
+杨勋凯
+杨博宇
+杨博钦
+杨喻闵
+杨壹舒
+杨婷钧
+杨富安
+杨富琛
+杨循婷
+杨惠宇
+杨惠真
+杨惠婷
+杨惠琳
+杨惠雯
+杨敦杰
+杨斯凯
+杨景元
+杨景尧
+杨景雯
+杨智元
+杨智宏
+杨智杰
+杨智尧
+杨智善
+杨智钧
+杨智龙
+杨朝敏
+杨朝舜
+杨森发
+杨涌评
+杨登安
+杨皓玮
+杨策航
+杨善惠
+杨舒帆
+杨舒媛
+杨舒雯
+杨舜钦
+杨菁芬
+杨菱雅
+杨咏菘
+杨贵媛
+杨逸莉
+杨钧百
+杨闵翔
+杨雅玉
+杨雅芳
+杨雅伦
+杨雅淑
+杨雅婷
+杨雅婷
+杨雅岚
+杨雅惠
+杨雅晶
+杨雅翔
+杨雅超
+杨雅雯
+杨雅云
+杨雅茜
+杨雯惠
+杨云翔
+杨顺棋
+杨慈仪
+杨毓玲
+杨焕章
+杨瑞杰
+杨万帆
+杨裕
+杨诗轩
+杨道忠
+杨嘉玲
+杨嘉瑜
+杨嘉丰
+杨荣吉
+杨槐驹
+杨碧雯
+杨维华
+杨赵铭
+杨铭顾
+杨德志
+杨庆隆
+杨慧玲
+杨慧琼
+杨璋
+杨震伟
+杨宪升
+杨晓青
+杨晓菁
+杨桥霖
+杨燕云
+杨蕙芳
+杨蕙嘉
+杨锡宪
+杨静如
+杨静怡
+杨静雯
+杨戴州
+杨爵骏
+杨骏民
+杨曜准
+杨础远
+杨绣绫
+杨丰全
+杨丰铭
+杨镇远
+杨馥诚
+杨琼华
+杨丽冠
+杨丽琴
+杨曦琳
+杨钟铉
+杨灵苓
+杨茜卉
+杨琇如
+杨琇媛
+杨翊佩
+杨琬婷
+杨玮琦
+杨蓁蓁
+杨铠伊
+温丈纬
+温心岚
+温正龙
+温至任
+温秀怡
+温宗
+温承翰
+温金瑞
+温建声
+温若婷
+温展华
+温素梅
+温培青
+温淑怡
+温凯
+温智连
+温雅清
+温圣延
+温铭哲
+温晓华
+温馥远
+温菘渝
+万佳昕
+万建明
+万敏婉
+万晓明
+叶丁源
+叶乃祯
+叶人宾
+叶又嘉
+叶千菊
+叶士新
+叶大苇
+叶子豪
+叶山华
+叶天将
+叶文伟
+叶文龙
+叶世民
+叶代权
+叶正圣
+叶玉玲
+叶亦盛
+叶光愉
+叶向阳
+叶如雯
+叶竹育
+叶佐骏
+叶宏杰
+叶志彦
+叶志博
+叶步旻
+叶秀梅
+叶育峰
+叶依青
+叶佳欣
+叶佳菁
+叶佳勋
+叶佩真
+叶奉杰
+叶孟尧
+叶宗智
+叶宗鑫
+叶宛轩
+叶忠欣
+叶怡君
+叶怡芳
+叶承泓
+叶昌伦
+叶明升
+叶明旋
+叶明鑫
+叶松炫
+叶欣毓
+叶玟君
+叶芳伶
+叶芳萍
+叶芷妘
+叶长青
+叶亭志
+叶信廷
+叶俊宏
+叶俊甫
+叶俊庆
+叶俞杉
+叶冠慧
+叶奕维
+叶姿妏
+叶建君
+叶建升
+叶彦志
+叶思仪
+叶政辉
+叶昭伶
+叶昱志
+叶柏纲
+叶玲岑
+叶秋月
+叶美娟
+叶致忠
+叶衍孜
+叶郁菁
+叶倩
+叶哲全
+叶家宇
+叶家铃
+叶家儒
+叶峻宾
+叶振福
+叶晋嘉
+叶书玮
+叶涓涓
+叶益升
+叶素绫
+叶耿齐
+叶健伟
+叶国贤
+叶张建
+叶欲
+叶淑珍
+叶淑铃
+叶绍任
+叶胜玄
+叶惠文
+叶惠祯
+叶智仁
+叶森渝
+叶咏晴
+叶雁甄
+叶雅婷
+叶雅雯
+叶云鹏
+叶毓峰
+叶义松
+叶铃珊
+叶嘉华
+叶睿哲
+叶铭昌
+叶仪芳
+叶慧欣
+叶洁恩
+叶晓芬
+叶树开
+叶蕙芳
+叶锦凤
+叶曙庆
+叶骏逸
+叶礼维
+叶琼文
+叶宝壬
+叶腾远
+叶骥
+叶玴豪
+叶琤怡
+叶怿馨
+葛世萱
+葛倩如
+董人宏
+董子青
+董巧玲
+董合恩
+董志仁
+董佳豪
+董怡君
+董芳铭
+董姿利
+董彦宏
+董秋瑾
+董修铭
+董振雄
+董能瑞
+董惠芳
+董圣缘
+董慧美
+董鸿楠
+董峣泓
+裘元恺
+解美铃
+詹于芳
+詹子民
+詹仁嘉
+詹文祥
+詹世杰
+詹永祥
+詹立成
+詹如钤
+詹宏彬
+詹志鸿
+詹育雯
+詹佳振
+詹佳兴
+詹佩颖
+詹孟晃
+詹宗宪
+詹宜纹
+詹忠荣
+詹昌吉
+詹明洁
+詹欣宜
+詹青艳
+詹前泰
+詹政峰
+詹美珍
+詹卿苹
+詹家铨
+詹浚升
+詹益伟
+詹益铭
+詹茗芸
+詹婉君
+詹启纬
+詹淑妃
+詹淑萍
+詹淑芩
+詹凯捷
+詹胜钦
+詹富智
+詹惠媛
+詹景尧
+詹智杰
+詹森
+詹翔任
+詹证富
+詹钧维
+詹雅婷
+詹雅闵
+詹雯莹
+詹群毅
+詹嘉璇
+詹德馨
+詹勋明
+詹颖萍
+詹璨嵘
+詹丰宇
+詹鹃年
+詹玓玮
+詹琬渝
+资君仪
+贾治国
+贾爱玫
+贾髐憛
+邹一仲
+邹文隆
+邹立彦
+邹李昌
+邹佳华
+邹宗华
+邹明原
+邹金德
+邹国龙
+邹智仁
+邹新全
+邹维刚
+邹静佩
+雍敦元
+雷宜庭
+雷衍兴
+雷惠琦
+雷雅菁
+雷鹏程
+廖丁逸
+廖于文
+廖千慧
+廖士尧
+廖大樟
+廖小华
+廖仁禾
+廖元利
+廖允靖
+廖文平
+廖文茹
+廖文评
+廖文甄
+廖文洁
+廖月观
+廖仕绮
+廖本元
+廖正伟
+廖玉
+廖玉萍
+廖丞晞
+廖光辉
+廖守正
+廖伯璋
+廖含洁
+廖宏慈
+廖志民
+廖志伟
+廖志远
+廖秀卿
+廖育良
+廖良淮
+廖佳玥
+廖佩如
+廖佩凤
+廖宗山
+廖宜群
+廖怡玲
+廖怡景
+廖承庆
+廖明仪
+廖欣仪
+廖芳玲
+廖芝坚
+廖青松
+廖信宽
+廖俊杰
+廖俊钦
+廖冠美
+廖奕任
+廖姿毓
+廖建城
+廖建钧
+廖彦凯
+廖恒毅
+廖春菊
+廖昱树
+廖炳焜
+廖盈奇
+廖秋怡
+廖美玲
+廖美琳
+廖茂良
+廖英男
+廖英杰
+廖苑君
+廖述茂
+廖郁婷
+廖倩宜
+廖卿惠
+廖哲论
+廖家玲
+廖家宁
+廖家莹
+廖家婧
+廖峻毅
+廖恩慈
+廖振良
+廖挺崴
+廖书佩
+廖桂君
+廖浚宏
+廖佩君
+廖佩玫
+廖佩爱
+廖益群
+廖素卿
+廖耕辉
+廖干成
+廖伟成
+廖伟辰
+廖伟斯
+廖伟鸿
+廖健明
+廖健铭
+廖国宏
+廖国勋
+廖国华
+廖基宏
+廖培瑜
+廖婉利
+廖婉欣
+廖寄萍
+廖崇硕
+廖康霖
+廖惇治
+廖启良
+廖敏汝
+廖敏玲
+廖梓茜
+廖淑君
+廖淑贞
+廖淑惠
+廖淑丽
+廖祥达
+廖贯佩
+廖章棋
+廖富田
+廖惠娟
+廖智辉
+廖琪美
+廖舒仪
+廖进平
+廖雅倩
+廖顺帆
+廖楷文
+廖筠怡
+廖萱芹
+廖嗾
+廖嘉阳
+廖汉鼎
+廖维珍
+廖铭仁
+廖庆贺
+廖慧雯
+廖莹璇
+廖宪堂
+廖晓慧
+廖锦瑜
+廖擎帆
+廖曜莹
+廖麒闵
+廖耀东
+廖显庆
+廖偲妤
+廖斌杰
+廖钰铭
+汉述仁
+熊立新
+熊东增
+熊凌霆
+熊崇纬
+熊勤云
+甄慧明
+管幼仲
+管金玲
+管琪芸
+翟敦敏
+台文照
+蒲信全
+蒲骏毅
+裴伟程
+褚心怡
+褚俊伟
+褚家德
+宾敬文
+赵士齐
+赵子维
+赵仁佑
+赵元宏
+赵友崧
+赵文忠
+赵方恺
+赵世裕
+赵必昌
+赵玉莲
+赵安琪
+赵君杰
+赵宏钧
+赵志豪
+赵育琳
+赵佩芬
+赵宜君
+赵怡婷
+赵明辉
+赵芷菁
+赵俊凯
+赵品彦
+赵建胜
+赵恬仪
+赵炫勋
+赵秋凤
+赵英龙
+赵修霖
+赵家良
+赵家贤
+赵振宏
+赵桂青
+赵佩汛
+赵祐甄
+赵伟廷
+赵伟翔
+赵国志
+赵培霖
+赵崇闵
+赵敏如
+赵淑芳
+赵皎君
+赵婷完
+赵湘君
+赵钧志
+赵瑞昌
+赵嘉敬
+赵广元
+赵慕群
+赵树仪
+赵龙基
+赵双骏
+赵玹羲
+远藤永康
+鄞豪辉
+齐雪汝
+刘乙萱
+刘乃萱
+刘人豪
+刘几萍
+刘力豪
+刘又慈
+刘上旗
+刘于菁
+刘千瑜
+刘士华
+刘士豪
+刘大荣
+刘子由
+刘子嘉
+刘子颀
+刘山豪
+刘中琪
+刘仁正
+刘仁裕
+刘元凤
+刘少维
+刘心仪
+刘文玉
+刘文玲
+刘文胜
+刘文超
+刘文福
+刘日顺
+刘世文
+刘世清
+刘世庆
+刘以筠
+刘台
+刘弘伟
+刘正河
+刘正雄
+刘永健
+刘玉文
+刘玉家
+刘玉萍
+刘玉琇
+刘立伟
+刘亦升
+刘伊修
+刘仲涵
+刘光杰
+刘兆容
+刘全彬
+刘名娟
+刘如芳
+刘如薰
+刘宇薇
+刘安祥
+刘旭芬
+刘汝娟
+刘至安
+刘伯彦
+刘君祺
+刘孝伦
+刘宏伟
+刘廷楷
+刘志勇
+刘志浩
+刘志源
+刘志玮
+刘沂昀
+刘秀郁
+刘秀雯
+刘育成
+刘育志
+刘育宗
+刘育洸
+刘育诚
+刘育颖
+刘邦平
+刘邦相
+刘亚芸
+刘依文
+刘佳沐
+刘佳怡
+刘佳芳
+刘佳洧
+刘佳琪
+刘佳达
+刘佳颖
+刘侃如
+刘佩青
+刘佩绫
+刘和德
+刘坤颖
+刘孟佳
+刘孟冠
+刘孟翰
+刘宗怡
+刘宗葆
+刘定宇
+刘宜昆
+刘宜婷
+刘宛如
+刘冈陵
+刘幸雪
+刘忠勋
+刘怡伶
+刘怡君
+刘怡君
+刘怡君
+刘怡和
+刘怡芬
+刘怡惠
+刘怡静
+刘承桦
+刘昌
+刘昌诚
+刘明合
+刘明杰
+刘明哲
+刘明达
+刘明丽
+刘升鑫
+刘果珍
+刘欣坤
+刘欣怡
+刘欣茹
+刘武浚
+刘玟成
+刘玫宁
+刘穹林
+刘芳吟
+刘芳玲
+刘芳兰
+刘芬芳
+刘采真
+刘金凤
+刘青苹
+刘信宏
+刘信良
+刘信鸿
+刘俊宏
+刘俊廷
+刘俊良
+刘俊杰
+刘俊毅
+刘俊岩
+刘俐梅
+刘冠妍
+刘冠良
+刘冠显
+刘勃彦
+刘品宜
+刘奕志
+刘姿
+刘姿吟
+刘威汗
+刘威昌
+刘建民
+刘建宏
+刘建宏
+刘建村
+刘建良
+刘建明
+刘建德
+刘建町
+刘彦君
+刘彦廷
+刘彦良
+刘彦博
+刘律明
+刘思洁
+刘恪人
+刘政勋
+刘昭如
+刘映秀
+刘昱辰
+刘柏宏
+刘柏麟
+刘为明
+刘珊妮
+刘珍佑
+刘盈如
+刘盈秀
+刘盈兰
+刘秋成
+刘秋燕
+刘美君
+刘美仑
+刘美玲
+刘美华
+刘羿汝
+刘若谨
+刘英龙
+刘贞伶
+刘军毅
+刘韦成
+刘倍如
+刘修明
+刘哲宇
+刘哲郎
+刘哲玮
+刘家成
+刘家宏
+刘家升
+刘家琳
+刘家僖
+刘家豪
+刘家凤
+刘家馨
+刘容懿
+刘峻伶
+刘峰郡
+刘恩吉
+刘振中
+刘振豪
+刘晋育
+刘晏诚
+刘书宏
+刘根豪
+刘桐盛
+刘浚铭
+刘佩怡
+刘益伸
+刘益祯
+刘祖宁
+刘素玲
+刘纯杏
+刘耕维
+刘轩宇
+刘伟立
+刘伟诚
+刘国平
+刘国栋
+刘国龙
+刘婉玲
+刘崇理
+刘康楝
+刘得光
+刘启平
+刘敏琪
+刘淳雅
+刘淑芬
+刘淑贞
+刘淑莉
+刘淑华
+刘淑慧
+刘祥民
+刘莉燕
+刘凯茹
+刘博文
+刘富明
+刘惠怡
+刘惠纹
+刘扬铭
+刘智仁
+刘智钧
+刘朝莲
+刘湘琪
+刘皓宁
+刘舒慈
+刘咏薇
+刘逸竹
+刘闵结
+刘雅君
+刘雅玲
+刘雅惠
+刘雅萍
+刘雅慧
+刘云霞
+刘勤经
+刘敬民
+刘毓波
+刘源伦
+刘瑞芳
+刘瑞豪
+刘经纶
+刘裕宏
+刘诗韵
+刘靖
+刘嘉育
+刘嘉淳
+刘嘉雯
+刘嘉桦
+刘彰
+刘荣德
+刘熙慧
+刘硕稳
+刘维泰
+刘肇鹏
+刘铭村
+刘铭辉
+刘凤兴
+刘德正
+刘德诚
+刘庆镇
+刘慧玲
+刘慧婷
+刘慧珑
+刘莹娟
+刘贤荧
+刘震鸿
+刘忆
+刘晓芬
+刘晓琪
+刘晓桦
+刘树蕙
+刘燕萍
+刘璟锋
+刘颖蒨
+刘兴家
+刘蕙瑄
+刘锦堂
+刘锦鸿
+刘静芳
+刘静华
+刘龙山
+刘爵维
+刘锺霖
+刘鸿霖
+刘璧莹
+刘镇嘉
+刘瀚阳
+刘韵琦
+刘丽惠
+刘宝婷
+刘耀升
+刘译聪
+刘灌辉
+刘懿慧
+刘赞嘻
+刘旻珊
+刘姵嘉
+刘挐
+刘翊邡
+刘玮玲
+刘筱慧
+刘滢騿
+厉斌中
+樊乃嘉
+樊修龙
+乐子骏
+欧士源
+欧世洋
+欧如程
+欧志盈
+欧邦华
+欧宗原
+欧怡秀
+欧昀修
+欧长晏
+欧俊彦
+欧建民
+欧政艳
+欧美莹
+欧娉妦
+欧书豪
+欧淑姿
+欧逸青
+欧阳有慧
+欧阳玫
+欧阳惠如
+欧阳铭文
+欧阳忻忆
+欧荣杰
+欧颖君
+欧缮嘉
+潘
+潘允仁
+潘文华
+潘正元
+潘玉惠
+潘亦蕾
+潘成富
+潘宏宗
+潘志伟
+潘秀盈
+潘佳妤
+潘佩君
+潘宗裕
+潘延辉
+潘怡君
+潘怡瑾
+潘明楷
+潘玟桦
+潘亮如
+潘信翰
+潘俊良
+潘冠宏
+潘品洁
+潘威历
+潘建成
+潘建彰
+潘彦蓉
+潘政纬
+潘柔考
+潘珍琪
+潘美玲
+潘述东
+潘家铭
+潘泰全
+潘能哲
+潘婉萍
+潘淑雯
+潘惠娟
+潘进益
+潘雅馨
+潘瑞香
+潘裕智
+潘睿哲
+潘仪恬
+潘慧敏
+潘儒莹
+潘锦昌
+潘鸿铭
+潘丽萍
+潘姵如
+潘钰柔
+滕忆雯
+练建伸
+蒋中衍
+蒋正福
+蒋汝安
+蒋沆祥
+蒋佳珊
+蒋佩余
+蒋孟儒
+蒋宜静
+蒋怡慧
+蒋明儒
+蒋长旻
+蒋政颖
+蒋佩泠
+蒋淑慧
+蒋萍
+蒋苇立
+蒋德才
+蒋滨州
+蒋耀毅
+蔡丁经哲
+蔡士旺
+蔡子怡
+蔡中钧
+蔡仁伟
+蔡元正
+蔡元雄
+蔡天祺
+蔡文仁
+蔡文彦
+蔡文伟
+蔡文博
+蔡文钦
+蔡文嘉
+蔡文鸿
+蔡月珠
+蔡世杰
+蔡世鸿
+蔡巧如
+蔡弘原
+蔡正宗
+蔡正晖
+蔡永彬
+蔡永莹
+蔡玉秋
+蔡玉菁
+蔡立芬
+蔡亦雯
+蔡仲宁
+蔡兆骅
+蔡名书
+蔡如婷
+蔡宇伦
+蔡安乔
+蔡旭曜
+蔡羽容
+蔡行真
+蔡伯鸿
+蔡君毅
+蔡宏文
+蔡宏培
+蔡廷颖
+蔡志宏
+蔡志明
+蔡志晃
+蔡志扬
+蔡志维
+蔡志鸿
+蔡沁玲
+蔡沛婷
+蔡汶鸿
+蔡秀玲
+蔡秀惠
+蔡育正
+蔡育彦
+蔡育真
+蔡育勋
+蔡贝珊
+蔡享翰
+蔡依珊
+蔡依容
+蔡依龄
+蔡佳伶
+蔡佳宏
+蔡佳良
+蔡佳欣
+蔡佳芬
+蔡佳玲
+蔡佳珍
+蔡佳容
+蔡佳真
+蔡佳航
+蔡佳琳
+蔡佳蓉
+蔡佳桦
+蔡佳颖
+蔡佳霖
+蔡佳礽
+蔡佩如
+蔡佩君
+蔡佩妤
+蔡佩芳
+蔡佩芬
+蔡佩珊
+蔡佩珊
+蔡佩玲
+蔡佩娥
+蔡佩纹
+蔡佩蓉
+蔡佩颖
+蔡佩静
+蔡侑廷
+蔡其佩
+蔡协甫
+蔡受勋
+蔡坤佑
+蔡坤雄
+蔡坤锦
+蔡奇均
+蔡奇霖
+蔡孟君
+蔡孟育
+蔡孟芳
+蔡孟秋
+蔡孟哲
+蔡孟真
+蔡孟雄
+蔡孟儒
+蔡孟桦
+蔡孟谕
+蔡季玲
+蔡宗佑
+蔡宗志
+蔡宗玫
+蔡宗益
+蔡宗达
+蔡宗儒
+蔡宗宪
+蔡宗颖
+蔡宗翰
+蔡宗霖
+蔡宜君
+蔡宜廷
+蔡宜芳
+蔡宜珊
+蔡宜倩
+蔡宜真
+蔡宜蓉
+蔡宜霖
+蔡宜蓁
+蔡宛玲
+蔡宛谕
+蔡尚岳
+蔡尚颖
+蔡岱勋
+蔡岳书
+蔡幸如
+蔡幸恒
+蔡幸淳
+蔡弦豪
+蔡忠信
+蔡忠颖
+蔡怡君
+蔡怡萍
+蔡承昊
+蔡承璋
+蔡承翰
+蔡易亨
+蔡易升
+蔡易宪
+蔡昌宇
+蔡昌儒
+蔡昆佑
+蔡明
+蔡明泛
+蔡明宏
+蔡明杉
+蔡明宗
+蔡明芳
+蔡明伦
+蔡明哲
+蔡明峰
+蔡明茵
+蔡明钦
+蔡明蒲
+蔡明赐
+蔡明宪
+蔡明颖
+蔡明龙
+蔡昀甫
+蔡升伯
+蔡升颖
+蔡东明
+蔡东颖
+蔡杰志
+蔡松柏
+蔡松霖
+蔡欣怡
+蔡欣伦
+蔡欣达
+蔡欣颖
+蔡武谚
+蔡牧勋
+蔡直勋
+蔡秉昆
+蔡秉璋
+蔡秉谕
+蔡芳洵
+蔡采芳
+蔡金峰
+蔡金龙
+蔡长荣
+蔡雨洁
+蔡青峰
+蔡信良
+蔡俊晏
+蔡俊贤
+蔡品仪
+蔡宥定
+蔡建裕
+蔡思捷
+蔡政宏
+蔡政言
+蔡政哲
+蔡政群
+蔡政勋
+蔡政翰
+蔡政龙
+蔡昭龙
+蔡柏毅
+蔡玲津
+蔡禹歆
+蔡纪源
+蔡美芝
+蔡美莉
+蔡美慧
+蔡英宗
+蔡郁君
+蔡韦志
+蔡凌凤
+蔡娟娟
+蔡家华
+蔡容瑛
+蔡悦玟
+蔡振议
+蔡栩维
+蔡佩怡
+蔡真禕
+蔡素碧
+蔡茹茵
+蔡伟杰
+蔡国手
+蔡国圣
+蔡培译
+蔡崇民
+蔡启堂
+蔡添文
+蔡淑妃
+蔡淑怡
+蔡淑玲
+蔡淑真
+蔡淑惠
+蔡淑瑜
+蔡淑薇
+蔡盛勋
+蔡雪卿
+蔡胜雄
+蔡博全
+蔡乔安
+蔡富贵
+蔡惠如
+蔡惠美
+蔡惠琪
+蔡惠燕
+蔡景淑
+蔡智宏
+蔡智暐
+蔡湘怡
+蔡皓明
+蔡舒宇
+蔡菁菁
+蔡咏翔
+蔡逸珊
+蔡进昌
+蔡隆泰
+蔡雅君
+蔡雅芬
+蔡雅茹
+蔡雅惠
+蔡雅菁
+蔡雅慧
+蔡雯淇
+蔡传德
+蔡桢瑜
+蔡毓霖
+蔡瑞文
+蔡瑞峰
+蔡瑞麒
+蔡义益
+蔡裕健
+蔡诗薏
+蔡嘉仁
+蔡嘉恒
+蔡嘉章
+蔡嘉庆
+蔡荣昌
+蔡荣贤
+蔡汉义
+蔡碧容
+蔡福晏
+蔡维玲
+蔡维蓁
+蔡裴伶
+蔡铭
+蔡铭峰
+蔡铭贤
+蔡凤仪
+蔡征霖
+蔡慧民
+蔡慧贞
+蔡慧萱
+蔡毅轩
+蔡贤皇
+蔡学文
+蔡忆铃
+蔡晓然
+蔡泽铭
+蔡颖箴
+蔡翰熊
+蔡蕙婷
+蔡锦坡
+蔡静宜
+蔡静惠
+蔡龙仪
+蔡翼如
+蔡鸿民
+蔡鸿斌
+蔡璧光
+蔡丰文
+蔡丰杰
+蔡镇岳
+蔡鹃弥
+蔡琼仪
+蔡丽芳
+蔡丽惠
+蔡献毅
+蔡耀群
+蔡耀驹
+蔡馨仪
+蔡佶兴
+蔡旻芳
+蔡旻宪
+蔡琄竹
+蔡歆怡
+蔡玮竑
+蔡缏
+蔡鑫廷
+谈昭兰
+郑一凡
+郑乃佳
+郑人元
+郑力仁
+郑又仁
+郑士韦
+郑子见
+郑小岚
+郑尹斯
+郑仁富
+郑元孝
+郑元瑜
+郑友诚
+郑心如
+郑文正
+郑文彬
+郑文富
+郑文嘉
+郑月枝
+郑世昌
+郑世湘
+郑仕鑫
+郑巧青
+郑弘伟
+郑正诚
+郑永津
+郑玉伶
+郑玉英
+郑玉菁
+郑立享
+郑亘吟
+郑伊真
+郑仲宏
+郑仲贤
+郑光佑
+郑光淳
+郑兆均
+郑先萌
+郑吉佑
+郑吏孜
+郑合修
+郑夙涵
+郑如欣
+郑如纯
+郑宇宏
+郑宇净
+郑守东
+郑安芸
+郑安翔
+郑成棠
+郑旭盛
+郑有财
+郑百婷
+郑羽晴
+郑至刚
+郑伯南
+郑君达
+郑宏明
+郑志功
+郑志伟
+郑志龙
+郑秀怡
+郑秀娟
+郑秀慧
+郑育升
+郑贝如
+郑佳宜
+郑佳祥
+郑佳仪
+郑佩珊
+郑其雯
+郑孟玲
+郑宗杰
+郑宜芳
+郑幸宜
+郑怡君
+郑怡婷
+郑昌岳
+郑明忠
+郑明铨
+郑欣如
+郑欣荣
+郑秉泓
+郑芸芸
+郑长志
+郑俊宏
+郑勇猛
+郑建佳
+郑彦达
+郑春菊
+郑省村
+郑美玉
+郑美琴
+郑若琤
+郑迪允
+郑倩如
+郑家典
+郑家铭
+郑振宜
+郑书钰
+郑佩君
+郑祐阡
+郑素彬
+郑茗聪
+郑伟珊
+郑国正
+郑国祥
+郑培聪
+郑崇佑
+郑惟心
+郑启荣
+郑梅君
+郑清俊
+郑淑云
+郑淑米
+郑淑玲
+郑淑婷
+郑淑燕
+郑渊藤
+郑祥如
+郑莉雯
+郑杰元
+郑凯仁
+郑凯元
+郑凯文
+郑凯育
+郑凯鸿
+郑胜旭
+郑博仁
+郑博文
+郑乔铭
+郑婷文
+郑富仁
+郑尊孝
+郑惠文
+郑惠君
+郑惠纹
+郑惠霜
+郑斯尹
+郑景仁
+郑景文
+郑景隆
+郑智仁
+郑智元
+郑智昌
+郑智豪
+郑朝元
+郑朝营
+郑植寰
+郑湘昀
+郑皓云
+郑程议
+郑丝雯
+郑翔龙
+郑舒蕊
+郑咏仁
+郑诏谦
+郑逸娴
+郑闵鸿
+郑雅云
+郑雅友
+郑雅文
+郑雅妃
+郑雅芬
+郑雅娟
+郑雅琪
+郑雅甄
+郑雅黛
+郑云鹏
+郑意中
+郑敬桦
+郑毓龄
+郑瑞美
+郑瑜琳
+郑义宪
+郑圣贤
+郑裕年
+郑诗慧
+郑嘉仁
+郑嘉扬
+郑嘉旻
+郑荣娟
+郑福和
+郑肇心
+郑铭泰
+郑凤龄
+郑庆哲
+郑慧芳
+郑慧镁
+郑蔚蝉
+郑宪存
+郑晓怡
+郑晓薇
+郑颖铨
+郑蕙琦
+郑霖骏
+郑静芳
+郑懋杰
+郑谢冠
+郑鸿源
+郑丰嘉
+郑丽君
+郑献文
+郑旻轩
+郑琇仁
+郑埵
+郑絜心
+郑玮隆
+郑钰钟
+郑靋
+邓升敦
+邓文仪
+邓永忠
+邓伊容
+邓后琛
+邓旭敦
+邓志煌
+邓佳玲
+邓宜欣
+邓明芳
+邓金鸿
+邓秋惠
+邓振英
+邓伟贤
+邓淑玲
+邓博仁
+邓惠文
+邓景龙
+邓翔仁
+邓雅心
+邓顺展
+邓裕馨
+邓福隆
+邓震宇
+邓颖骏
+邓劦呈
+鲁忠豪
+鲁宪云
+黎世廉
+黎宇容
+黎明伦
+黎俐均
+黎家伶
+黎婉仪
+黎焕元
+黎铭仁
+黎礼智
+卢三仁
+卢仁杰
+卢文忠
+卢文晟
+卢弘海
+卢永升
+卢申泰
+卢吉勇
+卢呈芳
+卢志忠
+卢志融
+卢育圣
+卢佳惠
+卢叔欣
+卢定均
+卢延华
+卢怡伶
+卢怡涵
+卢承业
+卢欣宜
+卢玫妏
+卢雨涵
+卢保全
+卢俊言
+卢俊儒
+卢冠晔
+卢奎伯
+卢威霖
+卢建宏
+卢建铭
+卢思源
+卢星全
+卢柏良
+卢盈宏
+卢美如
+卢英仁
+卢韦仁
+卢家钰
+卢祖翔
+卢婉瑜
+卢淑丽
+卢惠杰
+卢超群
+卢恺莉
+卢群育
+卢嘉振
+卢德芳
+卢慧宜
+卢辉展
+卢颖志
+卢龙生
+卢韵岑
+卢誉允
+卢筱莹
+穆美蕙
+萧人豪
+萧士泰
+萧尹贞
+萧允泰
+萧文欣
+萧文笔
+萧文魁
+萧世民
+萧以亮
+萧正平
+萧永泓
+萧玉贞
+萧立韦
+萧亦维
+萧仲志
+萧兆琳
+萧名沂
+萧圭妙
+萧如珊
+萧宇伯
+萧安廷
+萧有宏
+萧聿宏
+萧君怡
+萧宏裕
+萧志羽
+萧志豪
+萧秀惠
+萧育隆
+萧佳悌
+萧佩珊
+萧季薇
+萧尚文
+萧怡芳
+萧昆廷
+萧欣怡
+萧芳盈
+萧青萍
+萧俊贤
+萧彦彰
+萧柏轩
+萧美娟
+萧述仁
+萧夏敏
+萧振安
+萧佩如
+萧训国
+萧国正
+萧国宝
+萧崇论
+萧敏彦
+萧清燕
+萧淑珍
+萧淑颖
+萧雪吟
+萧凯懋
+萧博仁
+萧博仰
+萧富元
+萧惠元
+萧惠芳
+萧惠乡
+萧斐如
+萧景聪
+萧智梅
+萧棋元
+萧竣鸿
+萧咏方
+萧逸平
+萧雅丹
+萧雅文
+萧雅莉
+萧雯心
+萧爱玲
+萧焕纬
+萧瑛旗
+萧圣桦
+萧诗璇
+萧嘉琪
+萧宁君
+萧维倩
+萧辅彦
+萧铭权
+萧慧怡
+萧莹真
+萧忆兰
+萧翰英
+萧静宜
+萧丰智
+萧丽娟
+萧鹤轩
+萧琮翰
+萧柽哗
+赖乃颂
+赖士超
+赖仁祐
+赖天鸿
+赖文英
+赖文华
+赖世昌
+赖世维
+赖可恩
+赖弘璘
+赖正野
+赖永铃
+赖玉唐
+赖玉霜
+赖亦贞
+赖妃君
+赖旭彦
+赖伯威
+赖妙宣
+赖宏昌
+赖廷禹
+赖志昌
+赖志伟
+赖志纲
+赖杏儒
+赖秀春
+赖育廷
+赖育麟
+赖佳伶
+赖佳欣
+赖佳慧
+赖佩君
+赖其亮
+赖孟华
+赖宗诚
+赖宜佳
+赖居正
+赖怡文
+赖怡伶
+赖怡君
+赖怡欣
+赖怡桦
+赖昌彦
+赖明宏
+赖明德
+赖东延
+赖欣宜
+赖武溪
+赖玫如
+赖芳延
+赖长佑
+赖信光
+赖信诚
+赖俊兆
+赖俊宏
+赖俊杰
+赖俊达
+赖俐卉
+赖冠宏
+赖勇志
+赖奕帆
+赖姿均
+赖威均
+赖宣妤
+赖建合
+赖建佑
+赖建志
+赖建雄
+赖建融
+赖彦佐
+赖彦良
+赖彦桦
+赖思霖
+赖政宽
+赖昭光
+赖昭龙
+赖昱勋
+赖柏伸
+赖柏龙
+赖珀贤
+赖盈青
+赖科印
+赖红霞
+赖美冠
+赖美錵
+赖茂廷
+赖虹伶
+赖军举
+赖郁雯
+赖韦达
+赖家弘
+赖振生
+赖浩丰
+赖秩光
+赖高志
+赖国恩
+赖基渌
+赖启源
+赖淑怡
+赖淑贞
+赖淑萍
+赖莉雯
+赖惠君
+赖愉芳
+赖钦诠
+赖贵义
+赖隆平
+赖雅琴
+赖顺振
+赖源淳
+赖义中
+赖苇帆
+赖靖宜
+赖嘉慧
+赖荣琏
+赖维廷
+赖铭相
+赖增聪
+赖庆铭
+赖慧娟
+赖洁芳
+赖锋
+赖晓枫
+赖颖辉
+赖锦亿
+赖静璇
+赖鸿铭
+赖韵如
+赖丽
+赖丽雯
+赖芃君
+赖柊棋
+赖玮昀
+赖霈儒
+迟尚权
+钱以恬
+钱良蕙
+钱欣宜
+钱威融
+钱郁苹
+钱逸霖
+钱德俊
+锜惠雯
+阎惠玲
+霍莘瑜
+骆永建
+骆季平
+骆芳梧
+骆建呈
+骆衍龙
+骆嘉庆
+鲍行仁
+鲍国峰
+龙秀贞
+龙星兆
+储于超
+应志宏
+戴乙菁
+戴大钧
+戴元利
+戴文雄
+戴正平
+戴立人
+戴全利
+戴守正
+戴佑洲
+戴呈安
+戴宏丞
+戴志升
+戴杏芳
+戴佳平
+戴季全
+戴怡贞
+戴明珠
+戴俊纬
+戴秋香
+戴郁芳
+戴振远
+戴国良
+戴惟有
+戴莉
+戴森地
+戴雅如
+戴传家
+戴瑞君
+戴群峰
+戴嘉宏
+戴嘉宪
+戴维伸
+戴增瑜
+戴贤祥
+戴静仪
+戴忞臻
+戴薏珊
+缪信宇
+薛乃允
+薛丹桂
+薛世煌
+薛玉锋
+薛光程
+薛如君
+薛百惠
+薛志宏
+薛依蒨
+薛幸嘉
+薛升旭
+薛奕龙
+薛美芳
+薛展立
+薛伟伯
+薛淑靖
+薛凯文
+薛围中
+薛景文
+薛竣纶
+薛雅萍
+薛瑞珍
+薛嘉雄
+薛蓓芳
+薛儒霙
+薛韵婷
+薛钰真
+谢于樱
+谢小梅
+谢仁哲
+谢元贵
+谢心雅
+谢文娟
+谢文尧
+谢文瑜
+谢文斌
+谢以欣
+谢弘亮
+谢正益
+谢永信
+谢玉珠
+谢立群
+谢光中
+谢吉丰
+谢如鸿
+谢戌嘉
+谢聿
+谢佐宜
+谢克强
+谢均毅
+谢宏忠
+谢宏纬
+谢志宏
+谢志明
+谢志伟
+谢志逸
+谢志德
+谢扶锦
+谢秀青
+谢秀莲
+谢育娟
+谢育霖
+谢亚岚
+谢依伦
+谢佳文
+谢佳宏
+谢佳芳
+谢佳倩
+谢佳纯
+谢佳雯
+谢佳颖
+谢佳樱
+谢佩君
+谢佩芳
+谢佩珊
+谢佩珍
+谢佩真
+谢佩蓉
+谢侑书
+谢其斌
+谢周炽
+谢坤宪
+谢孟君
+谢孟芸
+谢孟真
+谢孟桦
+谢孟芩
+谢宗佑
+谢宗容
+谢宗贤
+谢宗宪
+谢宗翰
+谢宜
+谢宜芳
+谢宜伦
+谢宜婷
+谢宜臻
+谢宛玲
+谢宛谘
+谢尚儒
+谢幸宜
+谢庚翰
+谢忠勤
+谢怡婷
+谢承达
+谢于睿
+谢易霖
+谢昌瑾
+谢明
+谢明宏
+谢明村
+谢明芳
+谢明伦
+谢明书
+谢明惠
+谢明憬
+谢明宪
+谢明翰
+谢明諴
+谢升哲
+谢东升
+谢东晓
+谢松宪
+谢欣宏
+谢欣怡
+谢欣钊
+谢欣霖
+谢牧阮
+谢秉容
+谢秉谚
+谢芝青
+谢金贞
+谢长原
+谢雨青
+谢青桦
+谢俊宏
+谢俞枰
+谢奕姝
+谢彦吏
+谢政男
+谢政达
+谢政翰
+谢柏舟
+谢皇翔
+谢秋燕
+谢美玲
+谢致群
+谢郁瑄
+谢家菱
+谢庭恩
+谢晋贤
+谢浩然
+谢素菱
+谢干骏
+谢曼盈
+谢国彬
+谢婉玲
+谢启文
+谢梓麟
+谢清洲
+谢淑芬
+谢淑娟
+谢淑钧
+谢皎盈
+谢笠元
+谢凯伟
+谢博皓
+谢媛琪
+谢岚屏
+谢惠芬
+谢惠萍
+谢景仁
+谢智浩
+谢植冈
+谢皓智
+谢菊蕙
+谢进忠
+谢雅如
+谢雅雪
+谢雅萍
+谢雯凯
+谢顺隆
+谢毓玲
+谢瑞梅
+谢万龙
+谢诗慧
+谢嘉珊
+谢嘉铭
+谢荣哲
+谢碧菁
+谢维仁
+谢翠环
+谢铭忠
+谢铭智
+谢凤玲
+谢德钧
+谢慧珍
+谢慧琼
+谢蔚儒
+谢学纲
+谢晓岚
+谢燕玲
+谢蕙
+谢融齐
+谢静宜
+谢静仪
+谢瑷如
+谢鸿骏
+谢礼成
+谢镇宇
+谢琼文
+谢韵儒
+谢宝瑢
+谢耀养
+谢显铭
+谢旻莉
+谢晟铭
+谢炜频
+谢耀聪
+锺乙民
+锺元振
+锺文宇
+锺文钦
+锺月圆
+锺幼凌
+锺永雄
+锺玉惠
+锺兆民
+锺成奇
+锺伯君
+锺孝其
+锺志宏
+锺志豪
+锺秀芳
+锺育谚
+锺依静
+锺佳真
+锺佳颖
+锺佩芸
+锺佩婷
+锺卓儒
+锺孟憬
+锺宜全
+锺宜兴
+锺尚儒
+锺延华
+锺承璋
+锺易达
+锺明秀
+锺明晏
+锺明宪
+锺升颖
+锺欣翰
+锺秉谚
+锺金璋
+锺俊甫
+锺政民
+锺政锦
+锺盈慧
+锺美琳
+锺郁翎
+锺振泓
+锺纹易
+锺商骏
+锺崇梅
+锺淑芬
+锺淑萍
+锺凯依
+锺惠如
+锺智杰
+锺绚如
+锺逸石
+锺云光
+锺源德
+锺裕文
+锺嘉凤
+锺祯元
+锺铭智
+锺德霖
+锺乐吟
+锺晓岚
+锺锦琳
+锺薰
+锺鹏飞
+锺懿华
+锺旻圜
+鞠岱琦
+韩文丰
+韩克俭
+韩佩劭
+韩宜洁
+韩明伦
+韩相宜
+韩梅
+韩雅而
+韩嘉骏
+韩宝莹
+丛淑华
+简上哲
+简士益
+简士濠
+简小蕙
+简文亨
+简文贵
+简世裕
+简巧婷
+简民龙
+简玉珍
+简立人
+简伊婕
+简仰壮
+简吉聪
+简宇屏
+简百应
+简至霆
+简伶娟
+简君玲
+简妤玲
+简宏伦
+简廷安
+简志安
+简志峰
+简志雄
+简志颖
+简秀杏
+简秀纯
+简贝珊
+简佳琪
+简佩琪
+简宗德
+简怡婷
+简明雁
+简玫玉
+简雨荫
+简建一
+简昭萸
+简美娟
+简虹琪
+简家新
+简佩雅
+简健俊
+简国斌
+简启恒
+简淑芬
+简淑婷
+简莉静
+简博彬
+简惠湘
+简森乙
+简华真
+简雅如
+简顺立
+简敬庭
+简溢均
+简瑞棻
+简圣豪
+简诗峰
+简嘉宏
+简嘉彬
+简嘉龄
+简汉璋
+简祯佑
+简维萱
+简远真
+简铭辰
+简凤仪
+简慧娟
+简忆如
+简锡渊
+简骏贸
+简艺峰
+简骊洁
+简玮伦
+简圣
+聂东南
+聂暐峻
+蓝子桓
+蓝元皓
+蓝文孝
+蓝弘伟
+蓝仲伟
+蓝志发
+蓝怡平
+蓝昕纬
+蓝春发
+蓝峻彬
+蓝伟仁
+蓝国华
+蓝梓仑
+蓝惠萍
+蓝雅龄
+蓝嘉哲
+蓝慧珊
+蓝黛莹
+阙少芳
+阙吟夙
+阙明慧
+阙逢毅
+阙滢芬
+颜士彬
+颜大福
+颜小凡
+颜月
+颜弘祥
+颜永芳
+颜玉玮
+颜光玗
+颜如玉
+颜有男
+颜伯奇
+颜呈旭
+颜妙芳
+颜宏哲
+颜宏睿
+颜志成
+颜志扬
+颜志麟
+颜秀真
+颜良泽
+颜佳慧
+颜宗平
+颜承伟
+颜秉德
+颜奕仁
+颜秋琴
+颜若庭
+颜家祺
+颜佩岚
+颜国书
+颜尉凯
+颜晨暐
+颜淑云
+颜婷玲
+颜华成
+颜雅卉
+颜雯韵
+颜瑞文
+颜瑜慧
+颜圣鸿
+颜嘉成
+颜嘉琳
+颜宁佑
+颜福顺
+颜银桐
+颜鸣庆
+颜莹鹏
+颜泽宇
+颜鸿钦
+颜献佑
+颜钰芸
+魏士杰
+魏子晴
+魏仁威
+魏文绮
+魏巧晴
+魏玉雯
+魏任廷
+魏名泛
+魏宇达
+魏百盛
+魏伶娟
+魏君洁
+魏孝宽
+魏岑芬
+魏志伦
+魏秀恬
+魏良佑
+魏佳卿
+魏宜宽
+魏明章
+魏俊旺
+魏春生
+魏英镇
+魏晋一
+魏伟
+魏崇桓
+魏淑玫
+魏逢毅
+魏朝信
+魏逸玲
+魏爱津
+魏滇佑
+魏筠文
+魏铃芝
+魏嘉良
+魏嫦妆
+魏硕颖
+魏铭汉
+魏慕帆
+魏趋吉
+魏麒容
+魏瑄谊
+庞永培
+旷婉君
+罗千雯
+罗子轩
+罗尹伶
+罗仁勇
+罗元甫
+罗允中
+罗友声
+罗心屏
+罗文宜
+罗文彬
+罗文齐
+罗月凰
+罗世铭
+罗仕棋
+罗巧莉
+罗正邦
+罗永智
+罗玉萍
+罗亦旋
+罗仰真
+罗兆维
+罗宇任
+罗旭君
+罗至善
+罗宏一
+罗志雄
+罗秀玲
+罗亚宁
+罗佳琦
+罗宜君
+罗怡惠
+罗明章
+罗欣慈
+罗芷青
+罗俊彦
+罗彦
+罗玲玲
+罗美莲
+罗苑榕
+罗家欣
+罗振廷
+罗泰伦
+罗佩娟
+罗素花
+罗伟哲
+罗健志
+罗唯瑄
+罗国华
+罗国暐
+罗婉娥
+罗强
+罗敏文
+罗敏仪
+罗淇文
+罗淑蓉
+罗绍文
+罗杰
+罗凯颐
+罗博俊
+罗惠方
+罗惠兰
+罗智能
+罗紫菁
+罗华浓
+罗钧耀
+罗雅敏
+罗雯琴
+罗毓杰
+罗瑞荣
+罗圣琳
+罗达
+罗嘉玲
+罗荣辉
+罗际川
+罗庆杰
+罗莹棻
+罗晓威
+罗兴安
+罗鸿基
+罗馨宜
+罗炜程
+谭又民
+谭光华
+谭佩岚
+谭悦馨
+谭智仁
+谭谛
+关一心
+关志宇
+关淑云
+严子筑
+严心元
+严可君
+严志哲
+严春凤
+严振兴
+严婉玲
+严淑菁
+严咏圣
+严维德
+严馥
+窦瑞霞
+蔺心怡
+苏千代
+苏士豪
+苏子翔
+苏中怡
+苏元乙
+苏文
+苏文娟
+苏文辉
+苏世庭
+苏巧宁
+苏正家
+苏永杰
+苏玉修
+苏立凯
+苏如蕙
+苏竹安
+苏君霏
+苏宏泰
+苏志孟
+苏志坚
+苏志鸿
+苏秀玲
+苏育弘
+苏育俞
+苏育瑱
+苏佳足
+苏佩瑜
+苏宗一
+苏尚瑾
+苏怡如
+苏怡君
+苏怡菁
+苏怡馨
+苏明俊
+苏明鸿
+苏武龙
+苏芳正
+苏芳莹
+苏青妙
+苏信源
+苏俊夫
+苏俊祥
+苏俊铭
+苏俞如
+苏勇诚
+苏奕杰
+苏威达
+苏建中
+苏建志
+苏建豪
+苏彦荧
+苏恒至
+苏政谦
+苏昭君
+苏昱任
+苏柏州
+苏柏桦
+苏珊莹
+苏皇原
+苏盈穗
+苏纪敏
+苏美玲
+苏致仁
+苏英皓
+苏贞燕
+苏郁伦
+苏郁雅
+苏香琪
+苏仓永
+苏哲亿
+苏家
+苏家信
+苏家莹
+苏峻民
+苏庭瑶
+苏振铭
+苏桓庆
+苏浩为
+苏益禄
+苏窈瑱
+苏纯慧
+苏轩民
+苏伟诚
+苏国典
+苏堂豪
+苏婉惠
+苏敏
+苏清安
+苏淑婷
+苏皎慧
+苏莉惠
+苏博玄
+苏惠贞
+苏晶新
+苏湘怡
+苏舜卿
+苏逸真
+苏雅君
+苏雅惠
+苏雅慧
+苏顺诚
+苏意岚
+苏敬菱
+苏毓彬
+苏猷翔
+苏睦仁
+苏群杰
+苏圣涵
+苏裕文
+苏诗婷
+苏靖岚
+苏嘉宏
+苏嘉鸿
+苏碧昭
+苏闻谨
+苏亿珍
+苏慧文
+苏慧娟
+苏毅
+苏晓如
+苏晓芃
+苏锦升
+苏静芳
+苏声振
+苏鸿仪
+苏鹏翰
+苏丽华
+苏旻君
+苏烜毅
+苏琡评
+苏玮琳
+苏豊棋
+苏钰菁
+钟士钦
+钟文秀
+钟玉如
+钟佳绢
+钟盈凯
+钟挺豪
+钟国铭
+钟敏愫
+钟惠宇
+钟顺禹
+钟碧兰
+钟馨谊
+饶志豪
+饶亮
+饶佩龄
+饶敬国
+党一为
+顾文绚
+顾立苹
+顾宗沛
+顾倩如
+顾崇德
+顾翠华
+龚于珊
+龚文颖
+龚兆祺
+龚佩君
+龚青云
+龚彦名
+龚贞如
+龚书圣
+龚淑苗
+龚雅欣
+龚靖诒
+龚豫慧
+亓隆祥
+佘尚鸿
+佘联斌
+邾亦南
+涂世和
+涂君蓉
+涂育荣
+涂欣宏
+涂政男
+涂振民
+涂启原
+涂富星
+涂雅燕
+涂嘉原
+涂慧珍
+涂耀升
+粘弘吉
+粘育玮
+粘纯如
+粘圣鑫
+粘耀仁
+邬心怡
+靳立伟
+邝光宁
+栾季强
+芳琦
+婉婷
+铭源
+文勋
+凤琪
+信义
diff --git a/src/com/ibm/icu/dev/test/perf/data/collation/TestNames_Thai.txt b/src/com/ibm/icu/dev/test/perf/data/collation/TestNames_Thai.txt
new file mode 100644
index 0000000..6b243f6
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/perf/data/collation/TestNames_Thai.txt
@@ -0,0 +1,10843 @@
+﻿#/**
+# *******************************************************************************
+# * Copyright (C) 2002-2004, International Business Machines Corporation and    *
+# * others. All Rights Reserved.                                                *
+# *******************************************************************************
+# */
+
+ก๊กเฮง แซ่แต้
+กชกร ศราทธทัต
+กติกา อังคสุภณ
+กนก ธรรมประทีป
+กนก วงศ์ทองศรี
+กนกกร ช้างเย็นฉ่ำ
+กนกฉัตร์ ถาวรนันท์
+กนกนวล โปษยะนันทน์
+กนกพร คมคาย
+กนกพร ตีรเลิศพานิช
+กนกพร พันทร
+กนกพร ศรีบัณฑิต
+กนกพร อติวรรณาพัฒน์
+กนกพรรณ ศรีวนาภิรมย์
+กนกรัตน์ เกียรติยิ่งอังศุลี
+กนกรัตน์ สุธรรมพิทักษ์
+กนกวรรณ คงคาประเสริฐ
+กนกวรรณ แซ่เตียว
+กนกวรรณ บุญประเสริฐ
+กนกวรรณ รักทรัพย์
+กนกวรรณ สัจจพงษ์
+กนกวรรณ อุ้ยวงศ์ไพศาล
+กนกศักดิ์ ยิ่งยง
+กนกแก้ว กรสมิต
+กนิษฐา ทนุถนอมราษฎร์
+กนิษฐา หวังวิบูลย์กิจ
+กมล กาญจนโรจน์
+กมล คัมภีร์
+กมล เจตน์มงคลรัตน์
+กมล ชูตระกูลธรรม
+กมล ตระการพินิจ
+กมล ทัพพะรังสี
+กมล บัดติยา
+กมล พงษ์อนันตโยธิน
+กมล โพโสภา
+กมล รมเยศ
+กมล โลหะไพศาล
+กมล วิสุทธิ์เสรีวงศ์
+กมล สมพงษ์
+กมล สุรพงษ์ประชา
+กมล แหวนทับทิม
+กมล เอี่ยมศิริ
+กมลชัย ศรีสิริรัตนากร
+กมลทิพย์ บัวหิรัญ
+กมลทิพย์ อภินันท์สิริ
+กมลพร สาโรวาท
+กมลมาศ จิวะธนะพร
+กมลรัตน์ เดชะปิยวงศ์
+กมลรัตน์ เลิศเลาห์กุล
+กมลวรรณ งามละม้าย
+กมลวรรณ บุญเสริม
+กมลวรรณ สรานุกูล
+กมลศักดิ์ งามบริรักษ์
+กมลา มโนพัฒนะ
+กร กรินรักษ์
+กรกฎ จงเจริญ
+กรกนก วงศ์พันธุเศรษฐ์
+กรกริช กุสุมามาลย์
+กรชุลี กิตติเสรีชัย
+กรทอง ศรีสุโข
+กรมใบ สุริโย
+กรรณิกา กนกวัฒนาวรรณ
+กรรณิกา จุลอยู่
+กรรณิกา แต้เจริญ
+กรรณิกา ผาณิตพงศ์
+กรรณิกา ลิ้มสกุล
+กรรณิกา สารพานิช
+กรรณิการ์ กนกวรรณจำรัส
+กรรณิการ์ จาริยานนท์
+กรรณิการ์ แซ่เตียว
+กรรณิการ์ นครศรี
+กรรณิการ์ ไผทฉันท์
+กรรณิการ์ มีสุข
+กรรณิการ์ วัชระคุ้มครอง
+กรรณิการ์ สาทรกิจ
+กรรณิการ์ อังสถิตย์อนันต์
+กรรมสิทธิ์ เทพสุทธิ์
+กรวิกา สืบวงศ์คล้าย
+กรหทัย จิตฤทัย
+กรองกาญจน์ อัจฉริยวงศ์
+กรองทอง นาถพิริยรัตน์
+กรองทิพย์ ประจันตะเสน
+กรองแก้ว แซ่แต้
+กรองแก้ว หิรัญ
+กระจ่าง เลิศเกียรติดำรงค์
+กระสัน เสริมทรัพย์
+กระแสร์ ท้วมจั่น
+กรานต์ประภา ประสิทธิ์วรากุล
+กริชจุฑา ศรีสกุล
+กริสน์ นวมทอง
+กรีฑาพร วงศ์รอด
+กรุณา ขันทอง
+กรุณา พิเชฐสัทธา
+กรูดีป ซิงห์
+กฤช ปุณณกันต์
+กฤชปณต นิธินโรดม
+กฤดา กิติวิภาต
+กฤตพร กาญจนการุณวงศ์
+กฤตยา พุฒิเนาวรัตน์
+กฤตวิทย์ สิงห์สุข
+กฤติกา ศุกรกำเหนิด
+กฤติยา ธนาเศรษฐ์กุล
+กฤษ สุนทรารชุน
+กฤษฎา จิระวิชชเลิศ
+กฤษฎา บุญราช
+กฤษฎา วรรณสารเมธา
+กฤษฎางค์ ถนอมวงษ์
+กฤษฏ์ ไตรกฤษดาพร
+กฤษณะ คุณากร
+กฤษณะ พงษ์ธนะ
+กฤษณะ อยู่สุข
+กฤษณา คลาเวช
+กฤษณา เซนต์วิบูลย์
+กฤษณา ธรรมวุฒิ
+กฤษณา ปิยะตระกูลรัตน์
+กฤษณา มณเฑียร
+กฤษณา ศรีคำ
+กฤษณา สุขวัฒก์
+กฤษณา อู่หิรัญ
+กฤษณเดว ทรีปาตี
+กฤษณ์ ทองไทยสิน
+กฤษณ์ วงษ์สมบูรณ์
+กฤษดา กฤษณาชูวงศ์
+กฤษดา ทอนสูงเนิน
+กฤษดา เลิศไพศาลกิจ
+กฤษดา เอื้อปิยะชาติ
+กฤษวรรณ อินทพานิช
+กลยุทธ์ วุ่นบำรุง
+กลอยใจ พุ่มพวง
+กล้าณรงค์ เผือกคุ้มกฤษ
+กลิ่นขจร รักวงษ์
+กวงบู้ แซ่ตั้ง
+กวา แซ่เต๋ง
+กวินนาถ เลิศสุดประเสริฐ
+กวี ทังสุบุตร
+กวี เลาะฟอ
+กวีชัย หวังศิลปคุณ
+ก้วงเซีย แซ่ฉั่ว
+กษมา วงศ์ไพฑูรย์ปิยะ
+กสมา โรจน์เมธา
+กอง ว่องพงศาวิวัฒน์
+กองเหว่ง แซ่เจียง
+กอบกาญจน์ ธรรมวาทิน
+กอบกุล จันทร์กระจ่าง
+กอบกุล นุชแดง
+กอบกุล วิวัฒนะประเสริฐ
+กอบกูล สิงคะตีระ
+กอบชัย แหละเหล่าปราชญ์
+กอบศักดิ์ ตปนียทรัพย์
+กอบเกื้อ พุกกลิ่น
+กอบแก้ว ศิริวรรณ
+กอเซ็ม เม่นทอง
+ก่อเกียรติ ขุนทอง
+ก่อโชค จันทวรางกูร
+ก้องเกียรติ เฟื่องวุฒิราญ
+ก้อนแก้ว ศรีนคร
+กังวาล เกียรติ์ศักดาวงศ์
+กังสดาล หอมกลิ่นราตรี
+กัญจนี งามพสุธาดล
+กัญญธร พงศ์พงัน
+กัญญา เกษสังข์
+กัญญา ใจมั่น
+กัญญา ดีที่สุด
+กัญญา นวลแข
+กัญญา ผู้กฤตยาคามี
+กัญญา รุ่งเรือง
+กัญญา ศรีวัฒนะ
+กัญญา หงสกุล
+กัญญาภรณ์ ลิลิตชาญ
+กัญญารัตน์ เมืองแก้ว
+กัญทิมา ธีรภาพรุ่งโรจน์
+กัณฐิกา ณ สงขลา
+กัณทิมา เจริญรัตนวัฒน์
+กัณหา สุวรรณกาโร
+กันตยา เพิ่มผล
+กันทิมา รอดสำอางค์
+กันยา จีนฟุ้ง
+กันยา โภคาสถิตย์
+กันยา เอี่ยมอนันต์วัฒนะ
+กันยาลักษณ์ เตชะพงศ์วรชัย
+กัมปนาท ยอแสงทอง
+กัมพล ตั้งจิตรศรัทธา
+กัมพล สิขรียะ
+กัลนิกา เยาวรักษ์
+กัลยา การักษ์พิทักษ์
+กัลยา คุณปสุต
+กัลยา ฉายชูพงศ์
+กัลยา แซ่อึ๊ง
+กัลยา เถระปัญญา
+กัลยา นุชนาฎนนท์
+กัลยา เผ่าไทย
+กัลยา ไพรวัฒนานุพันธ์
+กัลยา ยิ่งธเนศ
+กัลยา ลิ้มโยธิน
+กัลยา วิริยะโรจนาวุฒิ
+กัลยา สรรพกิจผล
+กัลยา สุรพฤกษ์
+กัลยา อินทรทัต
+กัลยาณี คูประพัทธ์พงศ์
+กัลยาณี ถิระรณรงค์
+กัลยาณี รุ่งเลิศ
+กัลยาณี หิรัญเชรษฐ์
+กัลยารัตน์ บัณฑิตภิรมย์
+กากอง แซ่หยี่
+กาญจนะ ไม้แก้ว
+กาญจนา กาญจนา
+กาญจนา แก่นประยูร
+กาญจนา ครุฑไชยันต์
+กาญจนา จันทนะโสตถิ์
+กาญจนา จีระแพทย์
+กาญจนา เฉลิมพันธุ์
+กาญจนา เชิงชาญกิจ
+กาญจนา แซ่อั๊ง
+กาญจนา แดงประไพ
+กาญจนา โต๊ะพิกุล
+กาญจนา เทพรส
+กาญจนา นาควิสัย
+กาญจนา บุญช่วย
+กาญจนา ปองเสงี่ยม
+กาญจนา พนมวรรณเวช
+กาญจนา พิพัฒนานิตย์
+กาญจนา ภาคคู
+กาญจนา เมฆกุลวิโรจน์
+กาญจนา ราตรี
+กาญจนา เลิศศักดิ์วิมาน
+กาญจนา วัฒนะจันทร์
+กาญจนา ศรีประทีปบัณฑิต
+กาญจนา เศวตามร์
+กาญจนา สามารถกิจ
+กาญจนา สุทธินุ่น
+กาญจนา แสงสูง
+กาญจนา อภินันท์นาถ
+กาญจนา อินทรพิทักษ์
+กาญจนาภรณ์ ขมิ้นเครือ
+กาญจนี รักษ์สกุล
+กาญจน์ ยู่โหงว
+กานดา คณะสุข
+กานดา เด่นไทย
+กานดา ปานชี
+กานดา รุ่งประกายรัตน์
+กานดา ศักดิ์สิทธิ์
+กานดา อัมพรวิโรจน์กิจ
+กานต์ โกสินทรกุล
+กาบนภา นามแดง
+การะเกด กุหลาบแก้ว
+การีม บุญมาเลิศ
+การุณ ชัยวงศ์โรจน์
+การุณ ศรีสดใส
+การุณย์ เสริมสกุล
+กาหลง ด่านพาณิชย์กุล
+ก้าน น่วมสำลี
+กำจร ชูธนากรณ์กุล
+กำจร อนัญญาเขต
+กำจัด ฤทธิ์ดี
+กำชัย ลาวัณยวุฒิ
+กำธร จารุสุวรรณภูมิ
+กำธร ตันธีระธรรม
+กำธร พรทวีโภคทรัพย์
+กำธร ไวทยะพานิช
+กำธร อินทรไพโรจน์
+กำพล เข็มทอง
+กำพล โชคสุนทสุทธิ์
+กำพล บูรพาชีพ
+กำพล รัตนวิริยะ
+กำพล ศักดิ์พิชัยสกุล
+กำพล อดุลวิทย์
+กำเนิด เทียนเนียม
+กำไร ฉิมดอนทอง
+กิ่ง กสิภาร์
+กิ่งกาญจน์ ธนคุ้มชีพ
+กิ่งกาญจ์ วงศ์กิจจาเลิศ
+กิ่งพร คงเอี่ยมพิธี
+กิ่งแก้ว ใจต๊ะมา
+กิ่งแก้ว ยังเจริญ
+กิจ นาวาพนม
+กิจจา เจริญผล
+กิจจา พูลผล
+กิจจา สุขประเสริฐ
+กิจติพงษ์ ชูไทย
+กิตดนัย ธรมธัช
+กิตติ กิตติวรพันธ์
+กิตติ คงชื่นสิน
+กิตติ จ่างจรูญโรจน์
+กิตติ ชัยศิริพงศ์
+กิตติ แซ่หลิ้ม
+กิตติ ตโมหรณวงศ์
+กิตติ ธนาภินันท์ชัย
+กิตติ บุญวันต์
+กิตติ พงศ์พลาญชัย
+กิตติ ไพบูลย์ยิ่ง
+กิตติ รองรัตน์
+กิตติ ลิ้มชัยกิจ
+กิตติ วัชระคุปต์
+กิตติ ศรีสุทธิรักษ์
+กิตติ สันประเสริฐ
+กิตติ เสรีบุตร
+กิตติ อยู่โพธิ์
+กิตติ เอื้อชาญเวช
+กิตติคุณ เจือกิจกำจร
+กิตติชัย ช่อทองดี
+กิตติชัย พิริยะกุลธร
+กิตติชัย อรชร
+กิตตินันท์ หมายมั่นศร
+กิตติพงศ์ ทองสุขา
+กิตติพงษ์ กิตติภัสสร
+กิตติพงษ์ ทรัพย์สุข
+กิตติพงษ์ เมษะมัต
+กิตติพงษ์ หาญไทยผลดี
+กิตติพล จันทร์ยิ้ม
+กิตติพันธุ์ เล็กประสมวงค์
+กิตติมา เกียรติกมลมาลย์
+กิตติมา เพิ่มสุข
+กิตติมา เอื้อกิจธิโรปกรณ์
+กิตติยา รัตนศรีอำไพพงศ์
+กิตติวรรณ กำธรเจริญ
+กิตติวุฒิ ศศิพงศ์อนันต์
+กิตติศักดิ์ แซ่ตั้ง
+กิตติศักดิ์ ประอินทร์
+กิตติศักดิ์ วรกิจประทีป
+กิตติศักดิ์ หอมจำปา
+กิตติเดช ธนรรฆากร
+กิติ ชวนะลิขิกร
+กิติกร พนิชย์สกุล
+กิติชัย สิทธิ์ธรรมวิไล
+กิติพงษ์ ตันติวณิชย์
+กิติพัฒน์ ปวีณวิทยโชติ
+กิติมา พุฒจันทร์
+กิติยา นกทอง
+กิติศักดิ์ แกล้วกสิวิทย์
+กิติศักดิ์ เลิศวงศ์วีรชัย
+กินรี ดำทองสุข
+กิมกี แซ่หรือ
+กิมจั๊ว แซ่โป่ว
+กิมซ้ง แซ่ลี้
+กิมป๊อ เลิศกวีวงศ์
+กิมลั้ง กิจเจริญชัย
+กิมลุ้ย แซ่ลิ้ม
+กิมหยุน แซ่จง
+กิมฮวด เจริญรังสรรค์
+กิมฮั้ว แซ่ลี้
+กิมเช็ง แซ่ไหล
+กิมเตียง แซ่เฮ้ง
+กิมเลี้ยง บุญยงค์
+กิมเอ็ง แซ่หลิม
+กิมเฮียง แซ่ไหล
+กิมไจ๊ แซ่อึ๊ง
+กิ้มกุ้ง แซ่ปึ้ง
+กิรณ จารุจินดา
+กี จี้เซ้ง
+กีรณา ทันตะเวช
+กีรบุตร กิติยาดิศัย
+กุง แซ่เล้า
+กุณฑล พุกกรมานนท์
+กุนที ไพจิตรประภาภรณ์
+กุยเกียง แซ่เอี้ย
+กุ่ยเฮียง แซ่ลิ้ม
+กุร์จรันชิงห์ โครานา
+กุลชร แย้มผอบ
+กุลญา มัญชุวาทินี
+กุลธร นารูลา
+กุลธิดา อุตตโน
+กุลปราณี คงพลัง
+กุลมิตกอร์ จาวาลา
+กุลรัตน์ สิ่งยัง
+กุลวดี ธีรสุนทรวัฒน์
+กุลวลี ตระกูลสันติชัย
+กุลเทพ นาคะอภิ
+กุศล บุญเสมอ
+กุศลศรี ศักดิ์เมือง
+กุสุมา เทียนประเสริฐ
+กุสุมา เสือเนียม
+กุหลาบ คุณสามารถ
+กุหลาบ ทรัพย์เกษตร
+กุหลาบ พุกกะณะสุต
+กุหลาบ วิสุทธิอุทัยกุล
+กุหลาบ อารีรัตน์
+กู้เกียรติ ชัยกรโกศล
+เกชา โต๊ะสมัน
+เกตุ ฤทธิ์ดี
+เกนซิงห์ เกนซิงห์
+เกริก เมนัช
+เกริกอิทธิ์ เกษมสันต์
+เกรียง เยาวนวิมล
+เกรียงชัย รัตนไพวงศ์
+เกรียงศักดิ์ ก้องไตรภพ
+เกรียงศักดิ์ โฆษิตกุลพร
+เกรียงศักดิ์ ชวลิขิต
+เกรียงศักดิ์ ตรีทิพยรักษ์
+เกรียงศักดิ์ นรดี
+เกรียงศักดิ์ พงศ์เพ็ชร
+เกรียงศักดิ์ เฟื่องฟูพงศ์
+เกรียงศักดิ์ ฤกษ์อำนวยโชค
+เกรียงศักดิ์ วิชชุวัฒนากร
+เกรียงศักดิ์ สมกิจรุ่งโรจน์
+เกรียงศักดิ์ แสนใหม่
+เกรียงศักดิ์ อุดมมิตรรัก
+เกรียงไกร กิตติชัยเดช
+เกรียงไกร จิรสิริโรจนากร
+เกรียงไกร ด่านธนะชัย
+เกรียงไกร นาคทอง
+เกรียงไกร พิณทอง
+เกรียงไกร ลาภสิริสวัสดิ์
+เกรียงไกร ศิรามพุธ
+เกรียงไกร หงสไกร
+เกลียวดี ตันสุวรรณดี
+เกวลี พลชัย
+เกศทิพย์ พุทธพงษ์
+เกศรา แซ่เฮ้ง
+เกศราภรณ์ พลีเกตุ
+เกศรินทร์ หลีทับ
+เกศสุนีย์ วิวัฒนาภิรักษ์
+เกศินี ชวลี
+เกศินี มนทิราลัย
+เกศีณี ลือกุลวัฒนชัย
+เกษณี แซ่ตั้ง
+เกษตร สุวรรณธรรมา
+เกษม กิตติโสภณกิจ
+เกษม คำพยัคฆ์
+เกษม จำนงค์ไว
+เกษม ช่วงโชติ
+เกษม แซ่ซื้อ
+เกษม ตุ้มทอง
+เกษม ธีรทีฆานุวงศ์
+เกษม บุญมายะพันธุ์
+เกษม ปึงชวลิตโสภี
+เกษม พิพัฒน์ประทานพร
+เกษม มั่นถาวร
+เกษม รัตนาธรรมวัฒน์
+เกษม เลี่ยงวิชชุพันธ์
+เกษม เวชรัตน์พิมล
+เกษม สมิทธิเนตย์
+เกษม สุดวิสัย
+เกษม หวังจิตต์เชียร
+เกษม อินทรสกุล
+เกษมศรี ชีวะเกตุ
+เกษมศักดิ์ ปัญญาฤทธิ์
+เกษมสันต์ สนธิสถาพร
+เกษร กุลเลิศประเสริฐ
+เกษร ชีวปรีชา
+เกษร นำพัก
+เกษร เพิ่มทรัพย์
+เกษร วัฒนาลัย
+เกษร โสรัตน์
+เกษรา พวงสวัสดิ์
+เกษรินทร์ สมวงศ์
+เกษสุนีย์ มามีชัย
+เกษแก้ว เจริญสุข
+เกสรี เกียรติกำจร
+เการักษ์ สุคนธ์เลิศสมร
+เกียง เลิศพลาชัย
+เกียรติ กังวานเวชกุล
+เกียรติ ดีขจร
+เกียรติ มหเกียรติไพศาล
+เกียรติ หงษ์วิศิษฐกุล
+เกียรติคุณ ทักษิณนุกุลวงศ์
+เกียรติชัย โตอรุวงศ์
+เกียรติชัย เวศน์มัฆวาน
+เกียรติณรงค์ รัตนปรีชาเวช
+เกียรติพร จารุธรรม
+เกียรติศักดิ์ กิจก้องขจรชัย
+เกียรติศักดิ์ ฉัตรวิทยาทรัพย์
+เกียรติศักดิ์ บุญเรือง
+เกียรติศักดิ์ เรือนนาค
+เกียรติศักดิ์ เสาสาย
+เกียรติ์ กัณวเศรษฐ
+เกียว พัวสวัสดิ์
+เกี้ยงซวง แซ่งุ่ย
+เกื้อกูล กองวิเศษ
+เกื้อกูล วงศ์ทศพร
+เก็ก แซ่อิม
+เก่งกาจ ปักกาเต
+เก๋ สุวรรณวัฒน์
+แก่น ทั่งสถิตย์
+แก้ว จิรบวรวิสุทธิ์
+แก้ว ถาวรนันท์
+แก้ว ยาน้อย
+แก้ว ไสยจิตร์
+แก้วจินดา ทองแก้ว
+แก้วตา ศฤงคารเจษฎา
+แก้วมณี ศรีวะรมย์
+แก้วใจ ไวศยางกูร
+โกมล โกมุทธนชาติ
+โกมล ปัตตานุสรณ์
+โกมล ศิริพร
+โกมินทร์ ฑีฆธนานนท์
+โกลิตา มีลาภ
+โกวิท แซ่เล้า
+โกวิท พันธุ์แย้มมาลี
+โกวิท วาตะ
+โกวิท อุทัยฉาย
+โกวิทย์ ทรัพย์เจริญศรี
+โกวิทย์ วงศ์รุ่งโรจน์
+โกศล กฤษณประพันธ์
+โกศล ใจวิจิตร
+โกศล ธีรพิทยาธร
+โกศล เพ็ชรสุวรรณ์
+โกศล วัฒนามานนท์
+โกศล เหล่าศิริรัตน์
+โกสิทธิ์ ฉันทาจารุวงศ์
+โกสินทร์ วัลลิโภดม
+โกสุม แมนผดุง
+โกสุมภ์ อภิวันทนันท์
+โกเมศ โกมุทเกื้อกูล
+ใกล้รุ่ง แพทย์ประเสริฐ
+ไกรดา ดวงประชา
+ไกรฤกษ์ ณ ลำปาง
+ไกรวัลย์ วิริยะวิทย์
+ไกรศร ปรารถนาดี
+ไกรศักดิ์ หุ่นวิจิตร
+ไกรสร วงศ์นภากาญจน์
+ไกรสีห์ คล้ายมณี
+ไกวัล จาตนิลพันธุ์
+ขจร ช้อนประเสริฐ
+ขจร พิมพิชัย
+ขจร สุนทโรดม
+ขจรพล แสนสุดสวาท
+ขจรศักดิ์ เจ้ากรมทอง
+ขจรศักดิ์ โพธินามทอง
+ขจรศักดิ์ เหล่าพงษ์ศร
+ขจรเดช พงษ์สนาม
+ขจิตพรรณ คชพันธุ์
+ขชล วรทีปานนท์
+ขนิษฐา การสมพิษ
+ขนิษฐา จำเนียรกาล
+ขนิษฐา ดวงแก้ว
+ขนิษฐา นากาอิ
+ขนิษฐา ผลงาม
+ขนิษฐา ยงวานิชจิต
+ขนิษฐา วงศ์เหลือง
+ขนิษฐา สังข์ศิริ
+ขนิษฐา อนุสถิตย์
+ขยัน ศาสตระรุจิ
+ขวัญ ขวัญเทียนทอง
+ขวัญจิต ยอดสอน
+ขวัญชัย กงบุราณ
+ขวัญชัย เชื้อสุวรรณ
+ขวัญชัย พงษ์เลาหพันธุ์
+ขวัญชัย วงษ์ณรัตน์
+ขวัญชัย อมรเมธ
+ขวัญตา จันทร์ฉาย
+ขวัญตา ศุภเสาวภาคย์
+ขวัญยืน บุญพรม
+ขวัญศิริ วณิชกุลบดี
+ขวัญเมือง คงถาวร
+ขวัญเรือน งามเผือก
+ขวัญเรือน สียวน
+ขวัญใจ เจตน์จำนงค์สกุล
+ขวัญใจ นรมัตถ์
+ขวัญใจ รุ่งเรือง
+ขวัญใจ สุขอาบใจ
+ขัณฑ์ไชย วงศ์งาม
+ขันติ เดชะคุปต์
+ขันทอง ศรีคำ
+ขางิ้ม แซ่ลิ้ม
+ขาว สุบรรณรัตน์
+ขำเสมอ คงศิริ
+ขุนแผน แก้วน้อย
+เขมชาติ อิรัชตานนท์
+เขมา วิสุทธิวัฒนากร
+เขียน ภัทรี
+เข็ม คล้อยแสง
+เข็มทอง ศิริแสงเลิศ
+แขนภา ดุษฎีดำเกิง
+ไขศรี รังสิยานนท์
+ไข่มุกข์ คงคา
+คงกฤตย์ ปานจันทร์
+คงฤทธิ์ เปี่ยมเจริญชัย
+คงศักดิ์ เติมพิทยาเวช
+คงศักดิ์ วาณิชกรพิพัฒน์
+คงเดช แซ่โหง้ว
+คฑาทอง ทองใหญ่
+คณารัชต์ ทีเหล็ก
+คณิต ซิ้มเจริญ
+คณิต ศาศวัตศานติ
+คณิน จุฑามาศ
+คติ พันธุ์สว่าง
+คนอง นิลพันธ์
+คนึง ชูประจง
+คนึง โสมะเกษตริน
+คนึงนิจ ทวีแก้ว
+คนึงนิจ สังข์เจริญ
+คนึงนิตย์ สุขสกุล
+คมกริช เฉลิมวัฒน์
+คมกฤช ประคุณคดี
+คมขำ ชวลิต
+คมคาย ตั้งตรงคิด
+คมจักร เจนจบ
+คมศักดิ์ กอสินประเสริฐ
+คมสัน คุณเจริญ
+คมสัน บัณฑิตวงษ์
+คมสัน ศรีทองสุข
+คมสันต์ กลิ่นดี
+คมสันต์ สุพรรณโรจน์
+ครรชิต คล่องบุญจิต
+ครรชิต ผลาบูรณะ
+ครรชิต สุวรรณชื่น
+ครองเกียรติ เทศประสิทธิ์
+คลอใจ ปัญญาศร
+คลึง ทวีวรรณ์
+คอตีเยาะ สามัญ
+คะเน็ต ผดุงชีวิต
+คัทรียา ยนตร์เปี่ยม
+คัมภีรปัญญากร พระครู
+คาตี๋ แซ่คง
+คาเกียว แซ่โอ้ว
+คำ วรรณสิทธิ
+คำตา บุญชู
+คำนวน บุณยผล
+คำนึง ไชยยนต์
+คำนึง ศิริจันทร์
+คำปัน แสนสุข
+คำพล คงขวัญเมือง
+คำพันธ์ ศุภสร
+คำมา ศิริอาจ
+คำรณ แซ่กัง
+คำรณ รุ่งโรจน์พานิชย์
+คำรน จตุทอง
+คำหม่อน ประสมผล
+คำแผน ศรีขาว
+คิณห์ วัฒนพิทักษ์กุล
+คิมโอ้ว หวังสุขนิรันดร์
+คีม เล่าวจีศาสตร์
+คึกฤทธิ์ อารีปกรณ์
+คุณน้อง พัฒนานารักษ์
+คุณากรณ์ วิเศษศิริลักษณ์
+คุม บุญแจก
+คูณ โสภณานุกูล
+คเณศ ขาวจันทร์
+เคน สุวรรณศรี
+เครือบุญ โหติธะนัง
+เครือวรรณ ศิรยานนท์พินิจ
+เครือวัลย์ ดำรงค์รักษ์
+เครือวัลย์ พุ่มชา
+เครือวัลย์ สีเลิศ
+เคลิ้ม ภู่ทอง
+เคียงขวัญ จั่นเอี่ยม
+เค็ก แซ่เตีย
+แคล้ว แดงดี
+ไคอู๋ แซ่อึ้ง
+โฆษิต พัฒนพงศ์
+ง่วงเซี้ยม แซ่แห
+ง้วน แซ่ลิ้ม
+ง้อ สินธีรภาพ
+งามขำ ฮุ่นตระกูล
+งามฉินน์ ยิ้มประเสริฐ
+งามตา สาระเทียน
+งามพรรณ แย้มสกุล
+งามศักดิ์ แย้มชื่น
+งิ๊ม แซ่เฮง
+เงิน แก้วชนะชัย
+เงินยวง นุนพนัสศักดิ์
+เง็ก แซ่โง้ว
+เง็กซิม ตนันท์ยุทธวงศ์
+เง็กฮวย แซ่จึง
+เง็กเล้ง แซ่เจียม
+โง้วเคี้ยง แซ่หลอ
+จงกรณ์ อิ่มสกุล
+จงกล ทองโอฬาร
+จงกล ลานเจริญ
+จงกล แหประสพโชค
+จงกลณี แม้นหมาย
+จงกลนี ปิ่นเจริญ
+จงจิต แซ่อึ๋ง
+จงจิตต์ บุญชนานนท์
+จงจิตร จันทวี
+จงจินต์ เสรีรักษ์
+จงดี บัวบูชา
+จงดี แสงเพชร
+จงรัก เต็งอำนวย
+จงรักษ์ จันทร์คงสุวรรณ
+จงรักษ์ พันธมิตร
+จงรักษ์ หาญวุชานุรักษ์
+จงศิริ ล้อกาญจนรัตน์
+จงเฮง แซ่นิ้ม
+จตุพร กาญจนคลอด
+จตุพร ธมรัตน์
+จตุพร วัชรานาค
+จตุพล อิ่มเงิน
+จตุรงค์ พลนิล
+จตุรพร สุริยามาศ
+จรงค์ กลิ่นรื่น
+จรรยรักษ์ คุณุปการ
+จรรยา เงินดี
+จรรยา ชูขวัญ
+จรรยา ทีปานนท์
+จรรยา ปั้นเหน่งเพชร
+จรรยา มณีโชติ
+จรรยา เลาหเลิศชัย
+จรรยา เศรษฐบุตร
+จรรยา ห่วงศรี
+จรรยารักษ์ ทรัพย์เกรียงไกร
+จรวย ทองมีปั่น
+จรวยพร กองเพ็ง
+จรอน โปรยเจริญ
+จรัญ จันทร์ทิม
+จรัญ ดุลยาภินันท์
+จรัญ เนียมหอม
+จรัญ พิริยะปัญญา
+จรัญ ร้องขันแก้ว
+จรัญ ศักดิ์สยามกุล
+จรัญ หงวนเสงี่ยม
+จรัญญา จันทราสุวรรณ
+จรัญเดช จำปาวัลย์
+จรัล จิรศานต์ชัย
+จรัล บุนนาค
+จรัล วิโรจน์ยิ่งยง
+จรัลรัตน์ เรืองชาติ
+จรัส ชัยมหาวัน
+จรัส ปิ่นโสภา
+จรัส วรกุลดำรง
+จรัส อับดุลลา
+จรัสพร แซ่เตียว
+จรัสศรี เจริญชุ่ม
+จรัสศรี พึ่งกัน
+จรัสศรี สุกันญา
+จริง พุ่มแพร
+จริน ภู่น้อย
+จรินทร์ กลิ่นมะลิ
+จรินทร์ ช้างประสิทธิ์
+จรินทร์ นาคศรีอาภรณ์
+จรินทร์ พุทธิสาวงศ์
+จรินทร์ เรือนแก้ว
+จรินทร์ สมุห์สนธ์
+จรินทร์ อิ่มจันทร์
+จริยา เกรียงไกรวณิช
+จริยา เจริญสิน
+จริยา ดิลกโกมล
+จริยา บุญจอง
+จริยา โพธิวิชยานนท์
+จริยา วงศ์กิจเจริญ
+จริยา สังวาลย์
+จริยา องค์วาสิฎฐ์
+จรี ตรีสอาด
+จรีภรณ์ อินทแพทย์
+จรีรัตน์ พิกุลแย้ม
+จรุง พรหมมานนท์
+จรุงศรี จรุงกลิ่น
+จรูญ กันซัน
+จรูญ คงมา
+จรูญ จีระวัฒนา
+จรูญ โชคจารุเนตร
+จรูญ ทรัพย์เนืองนอง
+จรูญ แนมใส
+จรูญ แป้นเล็ก
+จรูญ เพ็ชร์กลับ
+จรูญ รักษาราช
+จรูญ วรรธนะสิน
+จรูญ สร้อยสว่าง
+จรูญ แสนราช
+จรูญ เอื้อเพิ่มเกียรติ
+จรูญลักษณ์ อังค์ไพโรจน์
+จรูญศรี ศุขรุ่งเรือง
+จรูญโรจน์ ฉิมสำราญ
+จวงจันทร์ แก้วพึ่งทรัพย์
+จวน ด้วงเงิน
+จวนฟาง ตั้งสมบูรณ์
+จอน วิริยะอรรถวุฒิ
+จอมฝาง สัมทราย
+จอห์น แอลแลนแร
+จ๊ะ แซ่ท้าว
+จักรกริช รุจอุฬาร
+จักรกฤษ ชุนกองฮอ
+จักรกฤษณ์ นุสสติ
+จักรกฤษณ์ สิทธาจารวัฒน์
+จักรชัย เพ็ชรเม็ดใหญ่
+จักรพงศ์ เลิศมณีพันธ์
+จักรพงษ์ สุภาพ
+จักรพันธ์ ก้อนผูก
+จักรพันธ์ เลิศถวิลภักดี
+จักรวาล กำลังศร
+จักราวุธ แจ้งเวชฉาย
+จักรี เขื่อนธรรม
+จักฤษณ์ ฤทธิ์เลิศ
+จั้ง มดทอง
+จันจนา สมสืบ
+จันดี อิงสา
+จันทนา กมลทิพย์ตระกูล
+จันทนา งามเลิศวงศ์
+จันทนา ชิดชอบ
+จันทนา ตันติประเสริฐ
+จันทนา นุ้ยเผือก
+จันทนา พัฒนจิตวิไล
+จันทนา รอดวิจิตร
+จันทนา วัชรินทร์พิทักษ์
+จันทนา สายกระสุน
+จันทนา โหมวานิช
+จันทนี จันทรารมย์
+จันทนี สิงห์สุวรรณ
+จันทยา ตรองตระการ
+จันทร์กำเหนิด เจริญพิทักษ์
+จันทร์จิรา เชื้อจุ้ย
+จันทร์ฉาย กุลอนันต์
+จันทร์ฉาย พงษ์ประเสริฐ
+จันทร์ดี กุญจร
+จันทร์ทรา บู่สาลี
+จันทร์ทิพย์ วุฒิประเสริฐ
+จันทร์นิภา เกรแฮม
+จันทร์พิม คล้ายนาค
+จันทร์รัตน์ ถนอมพลคลัง
+จันทร์ศรี สวยรูป
+จันทร์สุดา ลาภวุฒิรัตน์
+จันทรา กิจกัญจนาสน์
+จันทรา แซ่กี้
+จันทรา บุญที
+จันทรา โรจน์พลาเสถียร
+จันทรา สุขสิงห์
+จันทราภา พันธุ์สมบุญ
+จันทร์เพ็ญ กลีบบัว
+จันทร์เพ็ญ จันสำโรง
+จันทร์เพ็ญ แซ่ยิด
+จันทร์เพ็ญ ธนพงศ์นุโรจน์
+จันทร์เพ็ญ ปานเทศ
+จันทร์เพ็ญ มาตรสิงห์
+จันทร์เพ็ญ วงศ์ชำนาญ
+จันทร์เพ็ญ สัญญะวี
+จันทร์เพ็ญ อมรสมบูรณ์ศักดิ์
+จันทร์แดง ผลจันทร์
+จันทร์โรจน์ สถิตวิริยวงศ์
+จันทร์ โชคสุริยะสกุล
+จันทร์ พิลา
+จันทร์ สกุณา
+จันทา เกลี้ยงพร้อม
+จันทิมา แก้วประโลม
+จันทิมา ณะรินทร์ฟู
+จันทิมา พินทุวัฒนะ
+จันทิมา ศรีไกรวัชร
+จันทิรา กระบวนยุทธ
+จันทิรา สุขสกุลนี
+จันวิไล ชิตนุชตรานนท์
+จั่วคุณ แซ่เซียว
+จาตุรงค์ สุริยาศศิน
+จามจุรี ศรีหิรัญรัศมี
+จามรี เหรียญอัมพร
+จาริณี สุคนธชาติ
+จารีย์พร พุ่มน้ำเย็น
+จารึก ชูนุช
+จารึก เวทวัฒนาพิบูล
+จารุ วิชาไทย
+จารุณี จะโรครัมย์
+จารุณี นาคนาม
+จารุณี ยุกติรัตน์
+จารุณี เสวตไอยาราม
+จารุนันท์ บุญจันทร์
+จารุพร ศิริทัตสวัสดิ์
+จารุภา แสมขาว
+จารุลักษณ์ ธรรมธาร
+จารุวรรณ จงเลิศวณิชกุล
+จารุวรรณ แซ่โอ๊ว
+จารุวรรณ นิรันดรพฤกษ์
+จารุวรรณ ภิรมย์เจียว
+จารุวรรณ วัฒนสิงหะ
+จารุวรรณ เสรีเจริญสถิตย์
+จารุวัฒน์ จารุวัฒนะ
+จารุเกียรติ คาดสนิท
+จำนง โกวิทอิสริยะ
+จำนง รังสิกุล
+จำนงค์ กิตติรัตนอุดม
+จำนงค์ จรรยาวรวงศ์
+จำนงค์ ชิตจ้อย
+จำนงค์ ทองประเสริฐ
+จำนงค์ บัวประดิษฐ์
+จำนงค์ พวงละออง
+จำนงค์ มังกรประดิษฐ์
+จำนงค์ เล็กดารา
+จำนงค์ สระทอง
+จำนงค์ หนูภักดี
+จำนงนาฏ จิตตกิจ
+จำนอง พวงพุฒ
+จำปา โกษะโยธิน
+จำปา พุมมา
+จำปี จันทร์คำ
+จำปี เป๋าทอง
+จำปี สิงหพันธุ์
+จำรัญ อรรถสุนทร
+จำรัส เงินศิริ
+จำรัส ไชยศิรินทร์
+จำรัส ทับเจริญ
+จำรัส บุญประสพ
+จำรัส พันธุ์แก้ว
+จำรัส มีคัลและห์
+จำรัส เล้าชัยวัฒน์
+จำรัส สงวนพงษ์
+จำรัส แสงรูจี
+จำรัส อินศรี
+จำรูญ คุ้มชุ่ม
+จำรูญ ปิตะโหตระ
+จำรูญ สงวนศักดิ์โยธิน
+จำลอง กองแสงศรี
+จำลอง แขเขียว
+จำลอง จารุชัยนิวัฒน์
+จำลอง ชื่นบำรุง
+จำลอง ท้วมเจริญ
+จำลอง น้อยอินทร์
+จำลอง ปลื้มเปรม
+จำลอง พุฒหยวก
+จำลอง เมธาวิริยะศิลป์
+จำลอง ไล้รักษา
+จำลอง ศิลาพันธ์
+จำลอง สุขสวัสดิ์
+จำลอง อนันตผล
+จำลองลักษณ์ สัญญะเดชากุล
+จำเนียร กองบุบผา
+จำเนียร จงไพจิตร
+จำเนียร แช่มช้อย
+จำเนียร เทศเพ็ญ
+จำเนียร ประภารัตน์
+จำเนียร เพ็งเจริญ
+จำเนียร รัฐวิเศษ
+จำเนียร ศรีวงษ์
+จำเนียร สุดศิริ
+จำเนียร อีดี
+จำเริญ คำสอน
+จำเริญ บุญทองสุข
+จำเริญ เลิศเจริญยงค์
+จำเริญ อันธิรส
+จำเรียง ดิษฐานนท์
+จำเรียง สุวรรณโณ
+จิงล้ง แซ่ตั้ง
+จิณหธาน์ บุญไกรสิทธิ์
+จิตกรอง อินทรอุดม
+จิตต์บรรยง จิตต์บรรยง
+จิตตรา พุกกะมาน
+จิตต์สมร อติเรกานนท์
+จิตติ โชติรัตนะศิริ
+จิตติ วิจิตรชลกานต์
+จิตตินันท์ จินดาหรา
+จิตติมา เกษมโกเมศ
+จิตติมา เทวีลาภรณ์
+จิตติมา เลิศบุญยพันธ์
+จิตติมา อิสระกูล
+จิตต์ ชื่นภักดี
+จิตต์ หมวดสง
+จิตประไพ กนิษฐายน
+จิตร ตันตินิกร
+จิตรกร ศรีหิรัญ
+จิตรภณ รัตนมงคลกุล
+จิตรลดา เหรัญณุกรณ์
+จิตรา กระแสกุศล
+จิตรา จิตต์หาญ
+จิตรา แซ่โง้ว
+จิตรา ธนากูรเมธา
+จิตรา พฤฒิวทัญญู
+จิตรา เยี่ยมฉวี
+จิตรา วัฒนเรืองชัย
+จิตรา สันทนีอนุกูล
+จิตรา อัครพันธ์
+จิตราภรณ์ นามจักร
+จิตรี วงศ์รัตนาวิน
+จิตวดี วิประวิทย์
+จิตอารีย์ เกียรติก่อสุข
+จิน อยู่สบาย
+จินดา แก้วสกลณี
+จินดา จันทร์ภูมิ
+จินดา ฉ่ำจิตรชื่น
+จินดา แซ่หลี
+จินดา ทรัพย์จินดาวงศ์
+จินดา นามทอง
+จินดา ปัญญาวชิรชัย
+จินดา พันนัทธี
+จินดา มากพุ่ม
+จินดา ฤกษ์ปิยะทรัพย์
+จินดา วิวัฒน์พนชาติ
+จินดา สวนทวี
+จินดา เสาร์เกิด
+จินดา อัศวเมธาพร
+จินดาพร ศรีสุขสันต์
+จินดารัตน์ เดชะรักษ์พงษ์
+จินดารัตน์ อมรตานนท์
+จินตนา กลิ่นหอม
+จินตนา เกตุสัมพันธ์
+จินตนา เข็มนาค
+จินตนา จรรยาพาณิชย์
+จินตนา จีระพัฒน์
+จินตนา ชมมาลี
+จินตนา เชิญศิริ
+จินตนา แซ่อ๋อง
+จินตนา เดโชพล
+จินตนา ถาวรวิวัฒนบุตร
+จินตนา เทิดทูลกุล
+จินตนา นาคปนคำ
+จินตนา บุญประสงค์
+จินตนา ปานกลาง
+จินตนา พรหมพิชิต
+จินตนา พุ่มศิริ
+จินตนา มฤคสนธิ
+จินตนา โยธาสมุทร
+จินตนา ลดาวัลย์
+จินตนา วงศ์ชินศรี
+จินตนา วิจิตรศรีวัฒน์
+จินตนา ศรีสวัสดิ์
+จินตนา สถิตรายุธ
+จินตนา สุขทวี
+จินตนา เสนาพรหม
+จินตนา หาเรือนชีพ
+จินตนา อาภานันท์
+จินตนาฏ นิติสารศิลป์
+จินต์ คงทอง
+จินาวรรณ เฮอร์แมน
+จิมฮง แซ่เฮ่ง
+จิรชัย หวังสะดวก
+จิรนันท์ มีวาสนา
+จิรพงษ์ พันธโคตร์
+จิรพร เผื่อนน้อย
+จิรพรรณ นิรัติศัย
+จิรพัฒน์ รัตนปิณฑะ
+จิรภัทร เทวินทรภักติ
+จิรภา มหาพล
+จิรยุทธ อดิเทพนรางกูร
+จิรวรรณ นิมิตศิริวัฒน์
+จิรวัจน์ เจริญศักดิ์
+จิรวัฒน์ ทุมมานนท์
+จิรวัฒน์ สุนทวัฒโรดม
+จิรศักดิ์ กนกกัณฑพงษ์
+จิรศักดิ์ ประไพกรเกียรติ
+จิรศักดิ์ สังขธนานนท์
+จิระ จีรภัทร์
+จิระ ศิลปชำนาญ
+จิระนันต์ แดงพันธ์
+จิระพร กุลเพชรประสิทธิ์
+จิระพันธ์ จินรัตน์
+จิระภา รัตนาวิบูลย์
+จิระวัฒน์ แซ่โง้ว
+จิระศักดิ์ เด่นดวง
+จิระศักดิ์ ศุภบัณฑิตตา
+จิรัชยา แย้มสุวรรณ
+จิรา กมลวาทิน
+จิรานนท์ ศรีทรัพย์
+จิราพร ชูสกุล
+จิราพร ปานเอก
+จิราพร เร่งรัด
+จิราพร สุวินทวงศ์
+จิราพันธุ์ วัฒนา
+จิราภรณ์ จันทรรัศมี
+จิราภรณ์ ณ ไชโย
+จิราภรณ์ บูรณสิงค์
+จิราภรณ์ ยะอนันต์
+จิราภรณ์ วิโรจนวัฒน์
+จิราภรณ์ สุดยอด
+จิราภรณ์ อุบลชาติ
+จิราภา พ่วงสำเนียง
+จิรายุ คุ้มปิติ
+จิรารัช คชภูธร
+จิราวรรณ กันทาซาว
+จิราวรรณ สมพงษ์
+จิราศักดิ์ มันทรานนท์
+จิลาวัลย์ เหียงแก้ว
+จิโรจน์ ไพฑูรย์
+จีรชัย ตังครัช
+จีรพร คุ้มครองธรรม
+จีรพันธ์ อินทเส
+จีรวรรณ แจ่มขำ
+จีรวัฒน์ ไชยวิทย์วิวัฒน์
+จีรศักดิ์ เฉลิมเลิศปัญญา
+จีระ ณ พัทลุง
+จีระพร ลาภานุวัฒน์
+จีระวรรณ พรมเพ็ง
+จีระศักดิ์ มาลัยวงศ์
+จีราพร ลิ้มสุวรรณ
+จีราวุฒิ ทรวงแสวง
+จี้ หง เจิ้ง
+จือเท้ง แซ่ลิ้ม
+จุ่งหยง แซ่ลี้
+จุฑา เชิงชาญ
+จุฑาทิพ วุฒิธรรมสุข
+จุฑาทิพย์ พุทธรักษา
+จุฑาธิป ฉิมกุล
+จุฑาภรณ์ ธนศักดิ์โสภณ
+จุฑามาศ แก้วมงคล
+จุฑามาศ ตนันท์ยุทธวงศ์
+จุฑามาศ พงษ์ศิริ
+จุฑามาศ วัชรเมฆินทร์
+จุฑามาศ เหลืออนันต์
+จุฑารัตน์ กิตติกุลยุทธ์
+จุฑารัตน์ ฐิติปุญญา
+จุฑารัตน์ พลาฤทธิ์
+จุฑารัตน์ วิลัยกรวด
+จุฑาลักษณ์ ถาวรจิตร
+จุติพล เสตะวีระ
+จุนันท์ วงศ์อารี
+จุมพฏ กาญจนกำธน
+จุมพล จันทรศรีเกษร
+จุมพล แนวสกล
+จุมพล ลัมพาภิวัฒน์
+จุมพล หล่มทอง
+จุ้ยร้าง แซ่ฉั่ว
+จุรินทิพย์ สมพันธ์สาทิตย์
+จุรี มงคลละ
+จุรีพร ชั้วชั้น
+จุรีย์ จั่นจุ้ย
+จุรีรัตน์ เครือสุวรรณ
+จุรีรัตน์ วงศ์จันทรา
+จุล ทิพวรนิก
+จุลพงษ์ ณ น่าน
+จุลศิริ สุวรรณศิริ
+จุสิน สุธาชัยพร
+จุฬาพร ขยันการนาวี
+จุฬารัตน์ แซ่เบ้
+จุฬาลักษณ์ นางสวย
+จุไร จงประชาวัฒน์
+จุไร พิเศษกุล
+จุไรพร ศิลปพงษ์
+จุไรรัตน์ เดชเจริญ
+จุไรรัตน์ มหาอิทธิดล
+จุไรรัตน์ หาญไชโยภูมิ
+จุไรศรี มีกังวาล
+จู แซ่ใช้
+จูเคี้ยง แซ่โค้ว
+จเร ญาณะชัย
+จเร สิริสุทธิ
+เจด็จ อรรถหิรัญ
+เจตนา รักษ์กำเนิด
+เจตน์ พรหมเจริญ
+เจน กาบแก้ว
+เจน อิทธิภิญโญ
+เจนจิรา ธรรมวรรธนะ
+เจนนี่ ถาวรกุล
+เจมส์อาเธอร์ ยอร์ช
+เจริญ เกษตรสุวรรณ
+เจริญ คุวินทร์พันธุ์
+เจริญ จิระสถิตย์
+เจริญ ชัยกิตติ
+เจริญ แซ่กวด
+เจริญ ตั้งบุญฤทธิ์ฤทัย
+เจริญ ทองมา
+เจริญ นววัฒนทรัพย์
+เจริญ บุษบรรณ
+เจริญ ผานิล
+เจริญ เพียรเจริญ
+เจริญ ไมดินซา
+เจริญ เรืองศักดิ์
+เจริญ วสันตยานันท์
+เจริญ ศรีวงศ์ษา
+เจริญ สมพร
+เจริญ สุขอากาศ
+เจริญ โสสุด
+เจริญ อินทรเกษตร
+เจริญชัย กาญจนพิบูลย์
+เจริญชัย พิริยะปราการ
+เจริญพงศ์ สุขขี
+เจริญรักษ์ ปลื้มจิตไพบูลย์
+เจริญศรี โกมลฤทธิ์
+เจริญศรี ภู่ประดิษฐ์
+เจริญศักดิ์ กันตชูเวสศิริ
+เจริญสุข กิจเจริญ
+เจรียง พุกกะมาน
+เจษฎา ชนินทรลีลา
+เจษฎา บุญวิจิตร
+เจษฎา เรืองหิรัญ
+เจษฎา แสงสุพรรณ
+เจษฎ์ อนรรฆมงคล
+เจอรี่เยน ยูเชน
+เจิม เดชดำรงค์
+เจิ้ง เจิ้งอิง
+เจียน คชาชัย
+เจียม ไชยราช
+เจียมจิต แก้วน้อย
+เจียมจิตร เชยชื่นจิตร
+เจียมใจ ทะลือ
+เจียรนัย วงษากาศ
+เจียเคียกเล้ง แซ่กัง
+เจือ ทับศรี
+เจือ สุวรรณเจริญ
+เจือเจริญ สถาปนานนท์
+เจ็งเกี๊ยก แซ่ลี้
+แจ่ม เกตุสิงห์น้อย
+แจ่มจันทร์ ปราชญาวิริยะ
+แจ่มศรี อิทธิกุล
+แจ๋ว กีรติไกรนนท์
+ใจ จาตุวิทย์
+ใจทิพย์ ซัง
+ใจอารี วิริยานนท์
+ฉกาจ อารีเสวต
+ฉลวย กัลยาณมิตร
+ฉลวย จูฑะพล
+ฉลวย ตรีเพ็ชร์
+ฉลวย บุญมา
+ฉลวย พันธ์ขะวงษ์
+ฉลวย แย้มกลีบ
+ฉลวย ศรีรัตนา
+ฉลวย แสงอุทัยจามร
+ฉลวยลักษณ์ เรืองจุติโพธิ์พาน
+ฉลอง จารุพัฒนกุล
+ฉลอง ทรัพย์สิน
+ฉลอง ใบเงิน
+ฉลอง มูลเจริญ
+ฉลอง ศาสตรสุข
+ฉลอง อจลพงศ์
+ฉลองพร ศักดิ์เจริญ
+ฉลอม แสงนรินทร์
+ฉลาด ปานเจริญ
+ฉลาด อนันตา
+ฉวี จันทรขำ
+ฉวี เนื้อนิ่มถาวร
+ฉวี วัฒนวิกย์กิจ
+ฉวี อารยางกูร
+ฉวีวรรณ ขจรประศาสน์
+ฉวีวรรณ แจ้งมณี
+ฉวีวรรณ ตันติพิสิทธิ์
+ฉวีวรรณ นราพิทักษ์
+ฉวีวรรณ ปานดำ
+ฉวีวรรณ ภิญญาธินันท์
+ฉวีวรรณ ลาภเจียม
+ฉวีวรรณ ศรสังข์ทอง
+ฉวีวรรณ สิทธิพรธนกุล
+ฉวีวรรณ เหล่าพิทยา
+ฉวีไล รอดพลอย
+ฉอ้อน นอกกระโทก
+ฉอ้าน วุฑฒิกรรมรักษา
+ฉัฐพล จรัสมงคลเจริญ
+ฉัตร ภาคากิจ
+ฉัตรชัย แก้วเกตุ
+ฉัตรชัย เจริญสุข
+ฉัตรชัย เดชาศักดิ์พรรณ
+ฉัตรชัย ธรรมสวยดี
+ฉัตรชัย พจนากำธร
+ฉัตรชัย แย้มแสงทอง
+ฉัตรชัย วัลลิสุต
+ฉัตรชัย สิริปูชกะ
+ฉัตรชัย อัศวปตินาคินทร์
+ฉัตรทิพย์ สวัสดิไชย
+ฉัตรมนา มงคลกิจภักดี
+ฉัตรา ชุมภูทอง
+ฉัตรไชย อาณาวรรณ
+ฉันทนา จังศรียวงศ์
+ฉันทนา ทองธูป
+ฉันทนา พิมลสมบัติ
+ฉันทนา วัชรเสวี
+ฉันทนา หงษ์เฉิดฉันท์
+ฉันท์สินี ทิพศร
+ฉั่นกิ๊ม แซ่ฉั่น
+ฉาย สิงห์ใหญ่
+ฉินกี้ฟอง แซ่ฉิน
+เฉนียน เสนวงษ์
+เฉลย สมิตะมาน
+เฉลา จิระชีวะนันท์
+เฉลา เปี๊ยะสวัสดิ์
+เฉลา วีระกุล
+เฉลาศรี ทรรพวาทิน
+เฉลิม ขำปัญญา
+เฉลิม แจ่มจำรัส
+เฉลิม ดีประเสริฐ
+เฉลิม ธาดาประดับสกุล
+เฉลิม ปัญญา
+เฉลิม พิสิษฐ์สังฆการ
+เฉลิม ยงค์เจริญชัย
+เฉลิม ลือสัมพันธ์
+เฉลิม ศิริวงศ์
+เฉลิม สุขุมพานิช
+เฉลิม องค์ศุลี
+เฉลิมขวัญ ชูคำ
+เฉลิมชัย จันทรวิรุจ
+เฉลิมชัย ทรัพย์สอน
+เฉลิมชัย โพธิ์ทอง
+เฉลิมชัย ศรีอินทนนท์
+เฉลิมชัย อุดมรัตน์
+เฉลิมพงษ์ มหาวาณิชย์วงศ์
+เฉลิมพร เวชเฉลิมจิตร
+เฉลิมพล ฐิตินันท์ถาวร
+เฉลิมพล พานิชยานุวัฒน์
+เฉลิมพล สร้างสมสุขสกุล
+เฉลิมมาต ลิมปิชัยพานิช
+เฉลิมวุธ ซื่อตรง
+เฉลิมศรี เทียมสมบูรณ์
+เฉลิมศรี วิวัฒน์วานิชกุล
+เฉลิมศักดิ์ คงเรืองศรี
+เฉลิมศักดิ์ ระบิลวงศ์
+เฉลิมอัฑฒ์ ก้อนทอง
+เฉลิมเกียรติ สันติพันธุ์
+เฉลียว กลิ่นนิ่มนวล
+เฉลียว จงประสมสิน
+เฉลียว แซ่เตีย
+เฉลียว ไทยเจือ
+เฉลียว ปรึกษา
+เฉลียว เพชรขำ
+เฉลียว รอดเดช
+เฉลียว ศรีหาวงศ์
+เฉลียว แสงกิตติไพบูลย์
+เฉลียว เอี่ยมยอดสิน
+เฉวียน คำเนตร
+เฉิดโฉม สุกกสังค์
+แฉล้ม กระถินทอง
+แฉล้ม โชติช่วง
+แฉล้ม ผูกพันธ์
+แฉล้ม วิชุประภา
+แฉล้ม อุศุภรัตน์
+โฉมยงค์ นาคนึก
+โฉลง กลั่นทรัพย์
+ไฉน พลีขันธ์
+ไฉไล กุลภัทร์แสงทอง
+ช วรัตน์
+ชญานี ตรีทิพยางกูร
+ชฎาพร มันยากุล
+ชฎาวัลย์ รื่นวงษา
+ชณิตา คงสายทองคำ
+ชดช้อย พวงรอด
+ชนกพร เรืองกิจปกรณ์
+ชนม์นิภา นาคย้อย
+ชนะ จันทร์กระจ่าง
+ชนะ เทพบริสุทธิ์
+ชนะ เยี่ยงกมลสิงห์
+ชนะ หนุนภักดี
+ชนะชัย ภู่มีเจริญ
+ชนัชณ์ จันทรเจริญ
+ชนัตถ์ กิตติวิโรจน์
+ชนาญวัต จิตร์ภิรมย์ศรี
+ชนาพร ชูทิม
+ชนิกานต์ ทาคำมา
+ชนิดา ครุฑทอง
+ชนิดา ตาณะสุต
+ชนิดา โภไคศวรรย์
+ชนิดา ศิริรัตนกุล
+ชนิต วิทยากรโกมล
+ชนินทร ศรีรัตน์ภิญโญ
+ชนินทร์ ชีวโชคชัย
+ชนินทร์ ปิยะวาณิชเสถียร
+ชนินทร์ วิเศษดั้น
+ชนินทร์ อัศวธเรศ
+ชนุวรรณ ตรีเกษม
+ชม แซ่ตัน
+ชม สีแจ่ม
+ชมนาค เจริญกุล
+ชมพล สิริสัมพันธ์เจริญ
+ชมพูนุท แซ่ตั้ง
+ชมภู ชมภูนุช
+ชมภู่ พรมพูนพะเนา
+ชมัยพร คำหอมกุล
+ชยทัต รติรมย์พันธ์
+ชยันต์ โพธิ์ทอง
+ชยาวุธ ทิวเสถียร
+ชรัตน์ ต่ออ่อน
+ชรินทร์ กนกพิพัฒน์วงศ์
+ชรินทร์ บัวอ่อน
+ชรินทร์ สวนเจริญ
+ชฤทธิ์ มีสิทธิ์
+ชลดา ปิยณรงค์โรจน์
+ชลธนันท์ เอื้อประกิจสิริ
+ชลธิชา โชติช่วง
+ชลธิชา มหากิจศิริ
+ชลธิดา ธรรมวัฒน์วิมล
+ชลนิชา เจริญสมบัติ
+ชลลดา จงปติยัตต์
+ชลลดา ศิริพงศ์สัมพันธ์
+ชลอ กรีชวด
+ชลอ งามฤทธิ์
+ชลอ แซ่เล้า
+ชลอ นิ่มทอง
+ชลอ พงษ์ภมร
+ชลอ มหาอมรเลิศ
+ชลอ วิมูลชาติ
+ชลอ สุจิตธรรมวงศ์
+ชลอ อุปะเดีย
+ชลัช เทพมโนทัยสกุล
+ชลัมพร ธรรมเนียมจัด
+ชลาภรณ์ สถาพรธนาสิน
+ชลิดา คงรัตนประเสริฐ
+ชลิต ขีตตะสังคะ
+ชลิต ทองมณี
+ชลิต ลิ้มรสสุคนธ์
+ชลิต อาชาไนยกุล
+ชลินทร อนุตรพร
+ชลีพร รักพืช
+ชวชาติ ใจเพ็ชร
+ชวน โชติจารุไชยา
+ชวน พทธโกสัย
+ชวน ศิริกิจ
+ชวนชม จันทระเปารยะ
+ชวนชื่น กราพงษ์
+ชวนพิศ งามขำ
+ชวนพิศ เนมี
+ชวนพิศ วิรยศิริ
+ชวนัชย์ จรรยาศักดิ์
+ชวรัตน์ บวบทอง
+ชวลิต เกตุพล
+ชวลิต จันทรสวัสดิ์
+ชวลิต ชวลิตสุนทร
+ชวลิต แซ่ลิ้ม
+ชวลิต ทรงศรชัย
+ชวลิต นิธากร
+ชวลิต ปัญญาสงค์
+ชวลิต พุนทิกาพัทธ์
+ชวลิต มีแก้วน้อย
+ชวลิต ลิมปิผลไพบูลย์
+ชวลิต วิริยะอาภรณ์
+ชวลิต ส่วนเศรษฐา
+ชวลิต เสนาขันธ์
+ชวลิต อ่อนเมือง
+ชวลี ปัญจางค์เจริญ
+ชวาล เขมะลิลิต
+ชวาลา สุวรรณชีพ
+ช่วง กุลวรรณวิจิตร
+ช่วงโชค ทองอยู่
+ช้วน บัวทอง
+ชอบ คุ้มสติ
+ชอบ พรหมเดช
+ชอบศักดิ์ เส็งประเสริฐ
+ชอุ่ม ไวทยาคม
+ช่อ อยู่บัว
+ช่อทิพย์ เทศประสงค์
+ช่อทิพย์ หิรัญวงษ์
+ช่อลัดดา นนทวัฒน์
+ช้องฮวย รุ่งเรืองรัตนชัย
+ช้อฮั้ว สมศิริวัฒนา
+ชะลอ ศรีเงินยวง
+ชะเลงศักดิ์ เชื้ออรวรรณ
+ชะโอด ทรัพย์กล้า
+ชั้งกิม แซ่โก
+ชัชชนก ศุภผลถาวร
+ชัชชัย บุญยืนยงสกุล
+ชัชชาย วงศ์สงวน
+ชัชพงษ์ โหตะระภวานนท์
+ชัชวรรณ ศิริบรรจงศักดิ์
+ชัชวาล ชูชัยพิเชฐ
+ชัชวาล ปิยะประพันธ์พงษ์
+ชัชวาล วิริยะเจริญมงคล
+ชัชวาล เอี่ยมพิภักดิ์
+ชัชวาลย์ เจริญสวรรยา
+ชัชวาลย์ เต็มฤทธิวงศ์
+ชัชวาลย์ ปายะนันทย์
+ชัชวาลย์ เมฆฉาย
+ชัชวาลย์ วุฒิประเสริฐ
+ชัชวาลย์ สุวิริยะไพศาล
+ชัชสมร ชุนหชัย
+ชัดชัย ปานนาค
+ชั้น จูน้อย
+ชั้น ฤทธิ์หิรัญ
+ชัย ขมิ้นผง
+ชัย แซ่เฮ้ง
+ชัย มนัสศิริเพ็ญ
+ชัย สุรสิทธิ์
+ชัยกิจ อุทัยวัณน์
+ชัยชนะ พันธุ์ภักดีดิสกุล
+ชัยชาญ จูงเจริญจิตต์
+ชัยชาญ สิริมงคลพาณิชย์
+ชัยณรงค์ จันทร์สว่าง
+ชัยณรงค์ ธนาสมบูรณ์ผล
+ชัยณรงค์ เมธีระวัฒน์
+ชัยณรงค์ สนธิปัญญากุล
+ชัยดิษฐ์ ยงบรรเจิด
+ชัยธวัช นาคะนคร
+ชัยนันท์ วิสูตรเรืองเดช
+ชัยปิติ ม่วงกูล
+ชัยพจน์ ฉัตรศรีนพคุณ
+ชัยพร ไชยวุฒิเสรี
+ชัยพร ประเสริฐกันย์
+ชัยพร รัตนเมธานนท์
+ชัยพร สมใจนึก
+ชัยพฤกษ์ แก้วกมล
+ชัยพันธุ์ ประยูรวรรณ
+ชัยมงคล ยิ่งยมสาร
+ชัยยงค์ กาญจนฆาร
+ชัยยงค์ ศรีอรัญญากุล
+ชัยยศ ชินโชติกร
+ชัยยศ พงศ์พูลทอง
+ชัยยศ สินธุประสิทธิ์
+ชัยยะ มีสกุล
+ชัยยันต์ บัวอุไร
+ชัยยา ภิญโย
+ชัยยุทธ ชัยสุรินทร์
+ชัยยุทธ ปิติปาละ
+ชัยยุทธ วันสอง
+ชัยยุทธ เอียดแก้ว
+ชัยรัตน์ กมลนรเทพ
+ชัยรัตน์ จูประจักษ์
+ชัยรัตน์ เดชานำวงศ์
+ชัยรัตน์ บุญน้อย
+ชัยรัตน์ มาประณีต
+ชัยรัตน์ วรวงศ์เธอ
+ชัยรัตน์ สุรชัยธนวัฒน์
+ชัยฤกษ์ เพิ่มเกียรติศักดิ์
+ชัยฤทธิ์ สีหิสราภิสิทธิ์
+ชัยวัฒน์ กิตติพรนันท์
+ชัยวัฒน์ จริยาภรณ์
+ชัยวัฒน์ ชัยรัตนทรงพร
+ชัยวัฒน์ ตันกำแหงเดชา
+ชัยวัฒน์ ธีรสุขประเสริฐ
+ชัยวัฒน์ ประเสริฐชัยกิจ
+ชัยวัฒน์ พานิชยาภรณ์
+ชัยวัฒน์ เยาวภาพงศ์
+ชัยวัฒน์ วงศ์วัฒนศานต์
+ชัยวัฒน์ ศรีเจริญธรรม
+ชัยวัฒน์ สุขวณิชนันท์
+ชัยวัฒน์ อริยมงคลสกุล
+ชัยวัตร์ เตชะฤดีวรรณ
+ชัยวิวัฒน์ เขียวโสภณ
+ชัยวุฒิ ศุภวงศ์วิศาล
+ชัยศักดิ์ ชั่งใจ
+ชัยศิริ พันธุ์โอภาส
+ชัยสิทธิ์ ก่อเกียรติเจริญ
+ชัยสิทธิ์ แต้รัตนชัย
+ชัยสิทธิ์ ลูกรักษ์
+ชัยสิทธิ์ อัญชนานนท์
+ชัยเจริญ เจริญสิทธิ์
+ชัยเลิศ โกยสมบูรณ์
+ชัยโรจน์ เกษรางกูร
+ชัยโรจน์ วัฒนศิริสุข
+ชาคร ปราการนพคุณ
+ชาคริต สุขพรวิทวัส
+ชาญ เกียรติสังวรณ์
+ชาญ เจริญสิทธิพันธ์
+ชาญ เชี่ยวธีรกุล
+ชาญ เตรียมศิริวรกุล
+ชาญ บัวทอง
+ชาญ พันธ์แช่ม
+ชาญ เมธางกูร
+ชาญ วงศ์สุรศิลป์
+ชาญ สง่างาม
+ชาญ เสรีรัฐโพธิ์ตระกูล
+ชาญ เอี่ยมอุ่น
+ชาญชัย กิตติวงศ์ไกร
+ชาญชัย คงโต
+ชาญชัย จารุไพบูลย์
+ชาญชัย ชวลิตกิจเจริญ
+ชาญชัย ไชยนามสถิตย์
+ชาญชัย ณ ถลาง
+ชาญชัย โตบดี
+ชาญชัย นทีวงศ์กิจ
+ชาญชัย ประดับชนานุรัตน์
+ชาญชัย พร้อมวุฒิ
+ชาญชัย ภัทรสิทธิเสรี
+ชาญชัย รัตนาชัยพงษ์
+ชาญชัย เลิศประสพโชค
+ชาญชัย วิทูรปัญญากิจ
+ชาญชัย ศิริวงศ์วราภรณ์
+ชาญชัย สิทธิชัยวิริยะกุล
+ชาญชัย แสงจันทร์ศิวดล
+ชาญชัย อภิรมย์เสมอ
+ชาญชัย เอมะรุจิ
+ชาญณรงค์ ขวัญเจริญ
+ชาญณรงค์ ทองนวล
+ชาญณรงค์ ภูผา
+ชาญณรงค์ สิทธิสมบูรณ์
+ชาญบูรณ์ เพ็ญตระกูล
+ชาญยุทธ ประเสริฐโสภา
+ชาญยุทธ์ ตรีสุคนธ์
+ชาญวิทย์ ช่วงชัย
+ชาญวิทย์ ปิยะวาณิชเสถียร
+ชาญวิทย์ สุขอร่าม
+ชาญวุฒิ พรกิตติวัฒนากุล
+ชาญศักดิ์ ทานธนะเจริญ
+ชาญศักดิ์ อุดมถิรพันธุ์
+ชาญเวช ศรัทธาพุทธ
+ชาตรี เกรียงยะกุล
+ชาตรี เจริญจรัสกุล
+ชาตรี ดิเรกวัฒนชัย
+ชาตรี นกสกุล
+ชาตรี พัธนพันธุ์
+ชาตรี ลิมปิชัยโสภณ
+ชาตรี ศรีสุคนธ์
+ชาตรี สุหัสไพศาล
+ชาตรี อินคุ้ม
+ชาติ ทางทอง
+ชาติชัย จาตุศรีพิทักษ์
+ชาติชาย จงกล
+ชาติชาย แซ่แต้
+ชาติชาย ประสิทธิสา
+ชาติชาย ยุวนะเตมีย์
+ชาติชาย ศรีสาริสถ์
+ชาติชาย อัครวิบูลย์
+ชาติเฉลิม เลขวณิชธรรมวิทักษ์
+ชานนท์ สายชุม
+ชาย ท้วมกลิ่น
+ชาย อุมะวิชนี
+ชายใหญ่ บุญเข็มทอง
+ชาลินี จันทวารา
+ชาลี คำลาย
+ชาลี ทิพยวาน
+ชาลี เพียรมานะ
+ชาลี วัชรเสถียร
+ชาลี อนันต์วิริยะชัย
+ชำนะ ทัตติยพงศ์
+ชำนาญ ฉวีวงษ์
+ชำนาญ แต้สุจิ
+ชำนาญ บุญวิทยากุล
+ชำนาญ โพธิ์สุข
+ชำนาญ เลาหบุตร
+ชำนาญ สาระผล
+ชำนาญ อินทะนะ
+ชำเชี้ยะ ขันทอง
+ชิงชัย พิพัฒน์จรัสสกุล
+ชิด จริยาวิลาศ
+ชิดชนก ศรีสมวงษ์
+ชิดพงษ์ สยามเนตร
+ชิต ตันศิริล้ำ
+ชิต ยะโส
+ชิตชม จัตตุพรพงษ์
+ชิตสกนธ์ สันทัด
+ชิน ตั้งกุศลลลิต
+ชิน โรจนแสง
+ชินณเรศ ดิษฐผล
+ชินฤทธิ์ ประยูรทอง
+ชินวัตร ใจเที่ยง
+ชินเหรียญ เสกธีระ
+ชิลัย สุวรรณสาร
+ชี เค แลม
+ชีวา กลิ่นดี
+ชื่น เกตุปมา
+ชื่น เวทมาหะ
+ชื่นจิต แหลมจริง
+ชื่นจิตร แซ่ตั้ง
+ชื่นสุข กมลทกาภัย
+ชื้น ทองญวน
+ชุงเอง แซ่เจีย
+ชุดาพร แสนราชา
+ชุตินันท์ เตชะสมบูรณ์
+ชุติมณฑน์ บุญชัชวาล
+ชุติมา ขันดี
+ชุติมา ชินโน
+ชุติมา ทรัพย์สิรินทร์
+ชุติมา ปัววราภรณ์
+ชุติมา มหัคคกุล
+ชุติมา วชิรเสรีชัย
+ชุติมา สินสาธิต
+ชุติมา อัญญณรงค์กุล
+ชุน แซ่โง้ว
+ชุนเซ้ง แซ่โง้ว
+ชุบ จันทร์แก้ว
+ชุบ ลาไม้
+ชุมนุม ศัตรูลี้
+ชุมพร ผดุงกิจ
+ชุมพล กาญจนโกศล
+ชุมพล ชมพูทวีป
+ชุมพล ตีรณสาร
+ชุมพล บุญสาใจ
+ชุมพล มรรคผล
+ชุมพล เวสสบุตร
+ชุมพล เสริมชั้น
+ชุมรัตน์ จักรจิตรภา
+ชุมสาย มณีน้อย
+ชุ่ม น้อยประชา
+ชุรีวรรณ จินตกวีวัฒน์
+ชุลี เรืองฤทธิ์
+ชุลีกร รัตน์วิจิตต์เวช
+ชุลีพร บุญอยู่
+ชุลีพร อึ้งวิศิษฎ์วงศ์
+ชู โจแอนนา
+ชูจันทร์ฉาย ลาเคน
+ชูจิตต์ ธรรมฐิติ
+ชูจิตร มักพันธ์เจริญกิจ
+ชูชัย เกิดผล
+ชูชัย เตชะธรารักษ์
+ชูชัย เรียบเลิศหิรัญ
+ชูชัย อุดมโภชน์
+ชูชาติ คำโต
+ชูชาติ ซึ่งดำรง
+ชูชาติ นพวงษ์
+ชูชาติ พงษ์รัตน์
+ชูชาติ รักษาสัตย์
+ชูชาติ ศรีรัตน์
+ชูชาติ สุวัชรวิวัฒน์
+ชูชาติ เอี่ยมสุทธา
+ชูชีพ ปัญจสังข์
+ชูชีพ สังข์นิลแก้ว
+ชูดวง แสงชูโต
+ชูพงศ์ หวังวัฒนานันท์
+ชูพันธ์ โกมลสุต
+ชูรัตน์ บุญเนาว์
+ชูวงศ์ นิติปัญญาวงศ์
+ชูศรี กองแก้ว
+ชูศรี เจียรกุลประเสริฐ
+ชูศรี ทองธรรมชาติ
+ชูศรี ปาละกูล
+ชูศรี มะลิอ่อง
+ชูศรี วิวัฒน์วงศ์ธร
+ชูศรี สุริวงษ์
+ชูศรี เอี่ยมสอาด
+ชูศักดิ์ จันทรมานะ
+ชูศักดิ์ โชคบวร
+ชูศักดิ์ ทองกล่ำ
+ชูศักดิ์ ประทีปเทียนทอง
+ชูศักดิ์ ม่วงยา
+ชูศักดิ์ ลือชาอุดมเกียรติ
+ชูศักดิ์ ศรีเจริญล่ำซำ
+ชูศักดิ์ สุวรรณบูลย์
+ชูศักดิ์ อุ่นประเสริฐศิลป์
+ชูสาร วงศ์วัชรา
+ชูเกียรติ กัณฑศิลป์
+ชูเกียรติ ชื่นภากรณ์
+ชูเกียรติ นาครนราธร
+ชูเกียรติ เมธีประภา
+ชูเกียรติ สว่างเนตร
+ชูเคว้ง แซ่โง้ว
+ชูเอ็ง พรทวีทัศน์
+ชูใจ ฮูเซ็น
+ชโลทร สุวรรณสัญญา
+ชไมพร ชุมเสวี
+ชไมพร วิทิตวัฒน
+เชงคิ้ง แซ่แต้
+เชน ปิ่นเพชร
+เชล พงษ์ศักดิ์
+เชวง เพชรสุวรรณ
+เชวงศักดิ์ เมฆา
+เชษฐชัย รัตนานุวงศ์ชัย
+เชษฐา สุนทรกิติ
+เชอรี่วรรณ จิณณธรรมพงษ์
+เชาวนี สมิตานนท์
+เชาวน์ ยะสุพัฒนากุล
+เชาวรัตน์ เนตรมณีทิพย์สิริ
+เชาวลิต ขำศิริ
+เชาวลิต โปร่งกมล
+เชาวลิต สุขสบาย
+เชาว์ แก้วประดิษฐ
+เชาว์ ทองมา
+เชาว์ มิ่งแก้ว
+เชาว์ หลักเพ็ชร
+เชิงชัย ธำรงวินิจฉัย
+เชิญ ประทุมนนท์
+เชิด บัวเปรม
+เชิด อินทร์มงคล
+เชิดชัย นันทิวัชรินทร์
+เชิดชัย ศรีคำรุณ
+เชิดชาย มากบำรุง
+เชิดพันธุ์ เจริญเวช
+เชิดศักดิ์ นำเจริญกิจกุล
+เชิดศักดิ์ สุคนธสิงห์
+เชียง สำเร็จผล
+เชียะตง เอกอรุณรุ่งฤทธิ์
+เชี้ยน มอญกระโทก
+เชื้อ เกตุนวม
+เชื้อ เรืองรุ่งโรจน์
+เชื้อเต็ก แซ่ฉิ่น
+เช็งสุน แซ่เลี่ยว
+เช้า ธรรมโชติ
+แช่ม เผือกทอง
+โชค พงศาปาน
+โชคชัย จันทร์ผาสุข
+โชคชัย แซ่โง้ว
+โชคชัย บุญญารัตน์สถาพร
+โชคชัย ภาวสุทธิการ
+โชคชัย วังมะนาว
+โชคชัย สุทธิ์ประเสริฐพร
+โชคดี กำพลเชตุ
+โชคอนันต์ พงษ์ติแด
+โชติ จิณณวาโส
+โชติ ประยงค์ทรัพย์
+โชติ สนธิทรัพย์
+โชติกา สวัสดิ์สาระ
+โชติมา กมลวิบูลย์
+โชติรส คูผาสุข
+โชติวุฒิ ผดาจิตร
+ใช่เอ็ง แซ่หลิ่ว
+ไชย แซ่โซว
+ไชยณรงค์ สุนทโรทยาน
+ไชยพร สุคนโธหก
+ไชยยงค์ รินสถิตนนท์
+ไชยยศ พูนดี
+ไชยยันต์ จิรา
+ไชยยา หาญวิวัฒน์วงศ์
+ไชยรัตน์ รัตนแก้วกาญจน์
+ไชยวัฒน์ ฉลองพันธรัตน์
+ไชยวัฒน์ สาวถยางกูร
+ไชยสนธิ์ ถนัดใช้ปืน
+ไชยันต์ ฤตวิรุฬห์
+ไชยา มณี
+ไชยเทพ พิมลธนรักษ์
+ไชโย สิทธิกรโสมนัส
+ซกฮุย พันทร
+ซงค์ รพิทยพรรณ
+ซ่งเม้ง แซ่ตั้ง
+ซ้งเส็ง สุริยะจันทร์หอม
+ซอยม่วย เหลืองทำเหมือน
+ซ่อหยิน แซ่ตั้ง
+ซังเอ็ง แซ่ตั้ง
+ซั้วปวยเม้ง แซ่ซัว
+ซามวล ฟิลลิพส์มิวส์
+ซาวารัน ซิงห์
+ซิกซวง แซ่อั้ง
+ซิมค้วง แซ่เตง
+ซิวง้อ แซ่กัว
+ซิวม่วย แซ่อึ้ง
+ซิวเจ็ง แซ่ตั้ง
+ซิวไน้ แซ่โง้ว
+ซิ้วจู แซ่ตั้ง
+ซิ้วเตียง ประดิษฐ์
+ซีรอยุดดิน มินสาคร
+ซื่อเหลียง แซ่ตั้ง
+ซุนติ๊ก แซ่ฮึ้ง
+ซุยง้อ แซ่เอี้ยว
+ซุ่ยล้ง แซ่ตั้ง
+ซุ้ยลิ้ม แซ่ตั้ง
+ซูบ๊วย แซ่ลิ้ม
+ซู่เกี่ยว แซ่ตั้ง
+เซน โหมดเสม
+เซาะฮวง แซ่หลาย
+เซียงกวง แซ่จึง
+เซียมจู เธียรปรีชา
+เซียมเง็ก แซ่เอี้ย
+เซียวตวง แซ่แต้
+เซียะจั้ว แซ่ตั้ง
+เซียะเกียว แซ่กี้
+เซี่ยงกง แซ่ตั้ง
+เซี่ยมจวน แซ่เฮ้ง
+เซี่ยมลั้ง แซ่ลิ้ม
+เซี่ยมเกียง แซ่ตั้ง
+เซี่ยมเม้ง แซ่เล้า
+เซี่ยวจิว แซ่เอ็ง
+เซี้ยม แซ่เอ็ง
+เซี้ยะย้ง แซ่คู
+เซ็งเฮียง แซ่เตียว
+เซ่งเตียง แซ่โง้ว
+เซ้ยเจี่ย แซ่เบ๊
+โซเฟีย ดำสำราญ
+ไซจู แซ่อึ้ง
+ไซโกอัง แซ่ลิ้ม
+ไซ้เอ็ง แซ่ลิ้ม
+ญาณินี ธชาลุภัฏ
+ญาณีย์ อุ้ยสกุล
+ญานี ตันติตระกูล
+ฐนิดา สกุลชัยวานิช
+ฐากูร ทรงประจักษ์กุล
+ฐานันดร์ อัศวเลิศสรร
+ฐานิศวร์ เจริญพงศ์
+ฐาปนี ศรีนาค
+ฐิตราพร สำราญจิตต์
+ฐิติ โชคเจริญพัฒนกิจ
+ฐิติกา มีธรณี
+ฐิตินันท์ จริยวัฒนสกุล
+ฐิติพงศ์ ศุภผล
+ฐิติพร เตชะโสภณมณี
+ฐิติพร สืบประดิษฐ์
+ฐิติมา คงสว่าง
+ฐิติมา เพียรชอบ
+ฐิติมา อนุสนธิ์
+ฐิติรัตน์ ประภายสาธก
+ฐิติวัฒน์ ล้วนวัฒนานุกูล
+ฐิราอร มินราชัน
+เฑียร กรรณสูต
+ณฐวรรณ ประยุกต์สกุล
+ณพล พลินสุต
+ณรงค์ชัย กิตติโชติรัตน์
+ณรงค์ชัย ธนะปักษิณ
+ณรงค์ชัย ศิริบุญละม่อม
+ณรงค์ยศ สำราญ
+ณรงค์ฤทธิ์ พนาสวัสดิ์
+ณรงค์วิทย์ วิทสัทธาวรกุล
+ณรงค์ศักดิ์ ดีอำพัน
+ณรงค์ศักดิ์ พรหมสาขา ณ สกลนคร
+ณรงค์ศักดิ์ เลิศอนันต์
+ณรงค์ศักดิ์ แสงวัชร
+ณรงค์เดช บุญครอง
+ณรงค์ กองทรัพย์โต
+ณรงค์ กุสสลานุภาพ
+ณรงค์ ขันจอก
+ณรงค์ คำพานิช
+ณรงค์ จวบฤกษ์เย็น
+ณรงค์ จำรูญวัฒน์
+ณรงค์ เจริญเกียรติวงศ์
+ณรงค์ ชัยธีรกิจ
+ณรงค์ โชคจารุรัตน์
+ณรงค์ ด่านอนันต์สุข
+ณรงค์ ตั้งวิบูลย์วิทย์
+ณรงค์ โต๊ะเงิน
+ณรงค์ ทองเรือง
+ณรงค์ ไทยสุริยะ
+ณรงค์ น้อยวงศ์
+ณรงค์ นุตจรัส
+ณรงค์ บุญสิทธิ์
+ณรงค์ ปรีญานนท์
+ณรงค์ ผลามิตร
+ณรงค์ พรายทอง
+ณรงค์ พิริยพฤนท์สกุล
+ณรงค์ โพธิพุกกะนะ
+ณรงค์ มณีวงษ์
+ณรงค์ เมธีวิริยาภรณ์
+ณรงค์ รอดสาย
+ณรงค์ รุ่งวิชานิวัฒน์
+ณรงค์ ลิมปิศิลป์
+ณรงค์ วงษ์สว่าง
+ณรงค์ วิบูลย์เจริญกิจ
+ณรงค์ ศรีนาวาวงศ์
+ณรงค์ ศิลปชำนาญ
+ณรงค์ สรรสุนทร
+ณรงค์ สิทธิมงคล
+ณรงค์ สุทธิวัล
+ณรงค์ เสาวลักษณ์
+ณรงค์ หมื่นวงษ์
+ณรงค์ อดุลย์วิจิตร
+ณรงค์ อังคะจันทร์
+ณรงค์ อุ่นอ่อน
+ณรงศักดิ์ ตั้งเจริญสุขจีระ
+ณริสาห์ เหลืองสวัสดิ์
+ณัชชา กสิพร้อง
+ณัฎฐพร พรหมจินดา
+ณัฎฐินี ดวงภิรมย์
+ณัฏฐพงศ์ ขจรโกวิทย์
+ณัฏฐา น้อยนิวรณ์
+ณัฏฐไชย สายบัว
+ณัฐ ถนอมพิชัย
+ณัฐ อินธการ
+ณัฐกานต์ จงดี
+ณัฐการ อุดมหรรษากุล
+ณัฐชนก แก่งหินแก้ว
+ณัฐชัย ปิยะวงศ์วัฒนา
+ณัฐญา ลี้พ้นพาล
+ณัฐณิชา ธเนศพงศ์ธรรม
+ณัฐธร คูดำรงสวัสดิ์
+ณัฐนันทน์ ทองวิเศษ
+ณัฐปกรณ์ เลาแก้วหนู
+ณัฐพงศ์ สิริพลังคานนท์
+ณัฐพงษ์ สันติศานต์
+ณัฐพร นามบุรี
+ณัฐพร หวังศรีตรัย
+ณัฐพล ช้างสำลี
+ณัฐพล ภัทรเรืองสกุล
+ณัฐพล หวังฤทธิ์ไกรกุล
+ณัฐภรณ์ พรกิตติโชติเจริญ
+ณัฐยา ศิรินันท์
+ณัฐวร สิงหทัต
+ณัฐวรรณ รัศมีพรหม
+ณัฐวัฒน์ บุนนาค
+ณัฐวุฒิ จารุวรรณากูร
+ณัฐวุฒิ ปัญตะโญ
+ณัฐวุฒิ สิมะสุวรรณรงค์
+ณัฐสมพล จำปาทิพย์
+ณัฐสุรางค์ หลิมเจริญ
+ณัฐิยา สันติโยธิน
+ณัศภร เอี่ยมโอภาส
+ณิชาภัทร ชมวิชา
+ณุติศิษฏ์ วิบูลยานนท์
+ดนัย กล่อมเอี้ยง
+ดนัย ฉัพพรรณรังษี
+ดนัย ทิวาเวช
+ดนัย พิณรัตน์
+ดนัย วัฒนรัชกิจ
+ดนัย หะสิตะพงษ์
+ดนุจร เจิมเจิดพล
+ดรรชนี เทวานุรักษ์
+ดรุณพร กมลภุส
+ดรุณี จันดาเวียง
+ดรุณี ตรีศิริพิศาล
+ดรุณี บุษยานุเคราะห์
+ดรุณี รักสัตย์
+ดรุณี ศรีชัยกุล
+ดรุณี หาญสมบูรณ์
+ดลณัฏฐา ศรีเรืองชีพ
+ดลฤดี วิทยาศิริกุล
+ดวง เสมากูร
+ดวงกมล แซ่ตั้ง
+ดวงกมล พูพัฒนานุรักษ์
+ดวงกมล สินธุบูรณ์
+ดวงจันทร์ คลังตระกูล
+ดวงจันทร์ โยธาสิงห์
+ดวงจิตต์ การุณสถิตย์ชัย
+ดวงดาว แซ่ก๊วย
+ดวงดาว เหลืองอาสนะทิพย์
+ดวงตา แตงอ่อน
+ดวงตา สมจิตร์
+ดวงทิพย์ วนะภูติ
+ดวงนภา สวนธนาศิริ
+ดวงพร คำขันธ์
+ดวงพร ชุมพงษ์ทอง
+ดวงพร ไตรสุธรรมพร
+ดวงพร ปิยะชาตินันท์
+ดวงพร ยงค์ฤประพันธ์
+ดวงพร วิไลพรเจริญ
+ดวงพร สุคนธ์
+ดวงพร อึ้งอัมพรวิไล
+ดวงมน วงษ์จันทร์แดง
+ดวงรัตน์ ด่านวัฒนศิริ
+ดวงรัตน์ ศรีทอง
+ดวงฤดี ทวีพจน์
+ดวงฤมล รักษาคุณ
+ดวงสมร มณีผ่อง
+ดวงสุมน สมวิชัย
+ดวงเดือน คล้ายพงษ์พันธ์
+ดวงเดือน บุญชัยฤทธิ์
+ดวงเดือน สัยเกตุ
+ดวงเพชร อรัญชราธร
+ดวงแข โกมุทพงศ์
+ดวงใจ กีระวิศาสกิจ
+ดวงใจ ชาวประสา
+ดวงใจ ทัพพะรังสี
+ดวงใจ ผุดประภากุล
+ดวงใจ รักเนตรสาคร
+ดวงใจ สงวนแก้ว
+ดวงใจ อุปเสนสกุลวงษ์
+ดอกไม้ จ้อยถนอม
+ดะห์ ดีเจริญ
+ดัสซันซิงห์ กุลาตี
+ดาร์ชั่น ซิงห์
+ดารณี จำปา
+ดารณี ถิรธนกุล
+ดารณี เปรื่องวิทยากุล
+ดารณี เมฆกวี
+ดารณี วิชญคุปต์
+ดารณี เสริมสุนทรศิลป์
+ดาระกา ศิริสันติสัมฤทธิ์
+ดารา จันทร์แสงสุก
+ดารา เลี้ยงชูศักดิ์
+ดาราณี เสาวมล
+ดารารัตน์ จิงเสถียรทรัพย์
+ดารารัตน์ สถิตธรรมนูญ
+ดาราวรรณ รัตนสุภา
+ดาริณี เกษมสันต์
+ดารินทร์ สอนเจตน์
+ดารุณี มั่นคง
+ดาลัด วิมุกติบุตร
+ดาวณี สุขมา
+ดาวรุ่ง พรหมศรีทอง
+ดาวุฒ อัชฌาสัย
+ดาวเรือง รอดภัย
+ดาเรศ พรรณขาม
+ดำรง เกษะประดิษฐ์
+ดำรง ทองมาก
+ดำรง รัชตศรีประเสริฐ
+ดำรง สุขผลานันท์
+ดำรงค์ศักดิ์ ทองยืน
+ดำรงค์ คงเจริญ
+ดำรงค์ ชูติกาญจน์
+ดำรงค์ ทองพลาย
+ดำรงค์ ปรีดาภัทรพงษ์
+ดำรงค์ ภูทัตโต
+ดำรงค์ วงษ์ทอง
+ดำรงค์ สิมพลิพันธุ์
+ดำรงค์ อายุเจริญกูล
+ดำรงฤทธิ์ สันติปาตี
+ดำรงศักดิ์ มะลิทอง
+ดำรงเกียรติ มิตรภักดี
+ดำริ ผางยอยซ้าย
+ดำริห์ ปรุงแต่งกิจ
+ดำเกิง จันทราประภาเวช
+ดำเนิน เผ่าพันธุ์
+ดิน รื่นพิทักษ์
+ดิลก ปรางค์นวรัตน์
+ดิลก สามลเวช
+ดิษพงค์ พฤฒิธาดา
+ดิเรก เกตุวัสห์
+ดิเรก โชติวิจิตร
+ดิเรก บางเขียว
+ดิเรก มีอนันต์
+ดิเรก ศักดี
+ดิเรก โฮรา
+ดีมั่น กอบพิมาย
+ดุจดาว สุทธิปรวิทยากุล
+ดุลยนิตย์ อุดมวงศ์ทรัพย์
+ดุษฎี เจริญจิตกร
+ดุษฎี พักตรพันธานนท์
+ดุษฎี สิทธิทอง
+ดุษฏี รัตนาสังการ
+ดุษณี เลรามัญ
+ดุษดี อนันต์ลักษณ์การ
+ดุสิต แจ่มศรี
+ดุสิต บุษบา
+ดุสิต วิรยศิริ
+ดุสิตธรรมคุณ พระครู
+เดช ถิตย์สงวน
+เดช หนูน้ำ
+เดชพล เหรียญวิโรจน์
+เดชา ก้องไพรินทร์
+เดชา จารุมณีโรจน์
+เดชา แซ่แต้
+เดชา เทศะศิริ
+เดชา เปี่ยมราศรี
+เดชา มีระเสน
+เดชา ไวว่อง
+เดชา สุฒนกิจกุล
+เดชา อินทนิล
+เดวิด เดนนี่
+เดือน ปิยะมาลย์มาศ
+เดือนทิพย์ ชัยพันธ์
+เดือนเพ็ญ ฐาปนาชัย
+เดือนเพ็ญ วรประเสริฐ
+เดโช วุฒิกาญจนาวงศ์
+เด่น ศิริบุญ
+เด่นนภา ศาลิคุปต
+แดง จรจันทร์
+แดง ด่านแจ้ง
+แดง ม่วงงาม
+แดง หนูพันธ์
+แดนชัย ขาวฉอ้อน
+ได้เอ็ง แซ่ผู่
+ตติยา จินาวงศ์
+ตรรกพงษ์ หาญพิทักษ์ญาติ
+ตระกูล จันแตง
+ตรัยพจน์ ติสระพงศ์
+ตรีชัย สุทธิเชื้อนาค
+ตรีระนันท์ มะละคำ
+ตรีเทพ เพียรภักดี
+ตลับ มีสัมฤทธิ์
+ตวงพร ธนังคเวชวิบูลย์
+ตวงสิทธิ์ มนัสดำรง
+ตอง ก้านทอง
+ต่อบุญ สุวรรณเภสัช
+ต่อศักดิ์ ทองสาย
+ต่อศักดิ์ อยู่วัฒนา
+ต้อย นิ่มสุวรรณ
+ตะวัน ถาวรอนุมาศ
+ตังฉ่าย แก้วไพรัช
+ตั้งฮั่งเคี้ยง แซ่ตั้ง
+ตั้น ชลธาร
+ตาบ กรานจรูญ
+ต้าเกียง แซ่แต้
+ติ้งชุน แซ่เตียว
+ติ๋ม บุญสนธิ์
+ติ๋ว สายอุบล
+ตี้เฮียง แซ่อึ้ง
+ตี๋ แซ่เบ๊
+ตุ๊กตา แซ่แต้
+ตุ่ม แซ่เถียน
+ตุลยา สีหมากสุก
+ตุ๊ เสริมฤทธิรงค์
+เตาะเคี้ยง แซ่เฮ้ง
+เติม สามนปาล
+เติมศรี สุรพันธุ์
+เติมศักดิ์ อิพภูดม
+เตียง แซ่เฮ้ง
+เตียงทง แซ่โง้ว
+เตียวเซียะ แซ่ฉั่ว
+เตี้ยโอว แซ่เตีย
+เตือนจิตต์ เจริญสุข
+เตือนตา หาญวิริยะฤทธา
+เตือนใจ งามประดิษฐ์
+เตือนใจ แซ่เฮ็ง
+เตือนใจ เนตร์ทอง
+เตือนใจ พูนล้ำเลิศ
+เตือนใจ ลิ้มรุ่งโรจน์
+เตือนใจ สังขรัตน์
+เตือนใจ อหิงสโก
+เต็กย้ง แซ่ลิ้ม
+เต็งง้วน แซ่อึ้ง
+เต็มดวง เก็ษตระทัต
+เต็มเดือน หิรัณยัษฐีติ
+แตงผึ่งผาย พิศมัย
+แต้สี แซ่เซียว
+โตะอู๊ แซ่เตีย
+ไตรพร ลวสุต
+ไตรรงค์ มหาวาณิชย์วงศ์
+ไตรรัตน์ ศิริธรรม
+ไต้จุ้ย แซ่ปึง
+ถนอม เกลาเกลี้ยง
+ถนอม ชลออยู่
+ถนอม ธีรานุตร์
+ถนอม ปึงประยูร
+ถนอม มาลากรณ์
+ถนอม ศรีลาปัง
+ถนอม หรินทรัตน์
+ถนอมจิต พรหมพัฒน์
+ถนอมพงศ์ สุวัฒนธรรม
+ถนอมศรี แซ่เจี่ย
+ถนอมศรี วังไพบูลย์
+ถนอมศักดิ์ ทองใบใหญ่
+ถนัด นาคแกมทอง
+ถนิม มานะกวิน
+ถมยา วงษ์สงฆ์
+ถวัลย์ แก้วประสิทธิ์
+ถวัลย์ ทิมลอยแก้ว
+ถวัลย์ ภรินทนันท์
+ถวัลย์ สิงห์งาม
+ถวิล กิจสมใจ
+ถวิล เจริญศิริสุทธิกุล
+ถวิล เถาว์จู
+ถวิล บุญกล่อม
+ถวิล พึงยา
+ถวิล รื่นยศ
+ถวิล ศรีเจียม
+ถวิล สุเมฆประดิษฐ์
+ถวิลวงศ์ ช่วงชิง
+ถาวร กิจทองถาวร
+ถาวร เงินเพชรทองคำ
+ถาวร ชละเอม
+ถาวร ตั้งสหไมตรี
+ถาวร น่วมแก้ว
+ถาวร ปานรุ่ง
+ถาวร ภูรีโรจน์
+ถาวร ล้วนรัตน์
+ถาวร วีระพงษ์
+ถาวร สุขพิทักษ์
+ถาวร อรัญภูมิ
+ถ้ำ เดชฤดี
+ถิรวัฒน์ เลิศมหาทรัพย์
+ถุงเงิน พันธุ์คูณ
+เถลิงศักดิ์ บัณฑิตพิสุทธิ์
+แถม จันทรทศ
+แถว ไตรบรรณ์
+ทนง จรูญชาติรักษ์
+ทนง แพคงคา
+ทนงค์ กีรวิทย์
+ทนงศักดิ์ คุณาสถิตย์ชัย
+ทนงศักดิ์ ทัศนภักดี
+ทนงศักดิ์ ภัทรไชยนันท์
+ทนงศักดิ์ สราญชื่น
+ทนันท์ชัย พงศ์พิพัฒน์เวช
+ทม เนียมบุบผา
+ทรง ผดุงกิจเจริญ
+ทรงคุณ เลิศฤทธิ์เดชา
+ทรงชัย ทองเล็ก
+ทรงชัย ศิริสร้อย
+ทรงธรรม ป่าพกุล
+ทรงพร ศรีวิบูลย์
+ทรงพล ชูเชิด
+ทรงพล แพทย์รักษ์
+ทรงพล สุทธิเสริม
+ทรงยศ เครือมังกร
+ทรงยศ หริรักษ์สกุล
+ทรงวาด ขนันไทย
+ทรงวุฒิ ไชยสุริวิรัตน์
+ทรงวุฒิ ยาท้วม
+ทรงศรี เฉลิมญาติ
+ทรงศรี อินไชยะ
+ทรงศักดิ์ ฉัตรดำรงธรรม
+ทรงศักดิ์ ทนุบำรุงสาสน์
+ทรงศักดิ์ พันธุมาศ
+ทรงศักดิ์ วงษ์ซิ้ม
+ทรงศักดิ์ สุขประเสริฐกุล
+ทรงศิลป์ เจริญยัง
+ทรงเกียรติ จารุเกียรติขจร
+ทรงเกียรติ์ ธรรมาภิวันท์
+ทรรศนันท์ แย้มกลีบบัว
+ทรรศวรรณ นันชนก
+ทรัพย์ ทินวงค์
+ทฤษฎี อาษารัฐ
+ทวนทอง เปลี่ยนภักดี
+ทวิกา เอกขจรวงษ์
+ทวิช วุฒิรักษ์ชัย
+ทวิพร ฐิติธรรมสวัสดิ์
+ทวี เกตุทับทิม
+ทวี คงสมบูรณ์
+ทวี จันทรี
+ทวี เฉยทุม
+ทวี แซ่จิว
+ทวี ตาตะยานนท์
+ทวี ทองใบใหญ่
+ทวี นวลเจริญ
+ทวี บุญถนอมวงศ์
+ทวี เปี่ยมพงศ์สุข
+ทวี พันธุ์สวัสดิ์
+ทวี ภู่ตระกูล
+ทวี รอดจรูญ
+ทวี ลีลาพันธิสิทธิ
+ทวี วาศประเสริฐ
+ทวี ศิริ
+ทวี สำราญวงษ์
+ทวี สุโกศล
+ทวี โห้ไทย
+ทวี อุตสาหตัน
+ทวีชัย จิรแสงทอง
+ทวีชัย เบญจางคประเสริฐ
+ทวีชัย วิริยะวงศ์สกุล
+ทวีทรัพย์ ช้างแก้ว
+ทวีป เขียวสนั่น
+ทวีป เนตรนิยม
+ทวีป ไวยดี
+ทวีผล วงศ์เลื่อยฤทธิ์
+ทวีพร นิมิตรวรพจน์
+ทวีพัฒน์ คล่องกิจโรจน์
+ทวีลักษณ์ เทพหัสดิน ณ อยุธยา
+ทวีวรรณ พรหมมานนท์
+ทวีวัฒน์ ภูมี
+ทวีศรี อัตตะนันทน์
+ทวีศักดิ์ เข็มเพ็ชร์
+ทวีศักดิ์ จิรบุญวณิชย์
+ทวีศักดิ์ ซอเซวี
+ทวีศักดิ์ ตันแสนทอง
+ทวีศักดิ์ ธรรมนิภา
+ทวีศักดิ์ บุญโพธิ์
+ทวีศักดิ์ พระสว่าง
+ทวีศักดิ์ มหชวโรจน์
+ทวีศักดิ์ ลิขิตชัชวาลกุล
+ทวีศักดิ์ วิวัฒนขจรสุข
+ทวีศักดิ์ สกุลพฤกษ์
+ทวีศักดิ์ สุภสิทธิ์มงคล
+ทวีศักดิ์ อนุสนธิ์
+ทวีศิลป ทิพโกมุท
+ทวีสิน ชินะพัฒนวงศ์
+ทวีสุข อมรสินวรชัย
+ทวีแสง ไหลวัฒนชัย
+ทศนารถ ภวภูตานนท์
+ทศพร ตุลาธรรมกิจ
+ทศพร มหาดไทย
+ทศพร เหล่าอินทร์
+ทศพล ทนทาน
+ทศพล สินแน่นดำรง
+ทหาร ขำหิรัญ
+ทอง นาคนาวา
+ทอง เหมือนเดช
+ทองขาว จิตร์ภักดี
+ทองคำ แก้วบัวดี
+ทองคำ โชควิบูลย์เจริญ
+ทองคำ ธรรมปัญญา
+ทองคำ ผ่องใส
+ทองคำ ยอดเงิน
+ทองคำ ศิริโส
+ทองคำ อรุณศิริ
+ทองจันทร์ ทาวงษ์
+ทองชุบ นิลพลับ
+ทองดี คชาไพร
+ทองดี ดนตรีเสนาะ
+ทองดี บำรุงสิน
+ทองดี โพธิ์เผือก
+ทองดี วิเศษฤทธิ์
+ทองดี หรรษคุณารมณ์
+ทองทวี พิมเสน
+ทองธัช ทองประสานคุณ
+ทองปลิว กิจแจ่มเลิศ
+ทองปอน แสนปะทะ
+ทองพันธ์ ใจแก้ว
+ทองพูน ทรัพย์สงวน
+ทองพูน สุทัศน์
+ทองม้วน กระบิลสิงห์
+ทองมา จอมคำสิงห์
+ทองยวน แจ่มวงษ์
+ทองย้อย ปานย้อย
+ทองยุ้น ประเสริฐศักดิ์
+ทองล้อม เส็งสมาน
+ทองศูนย์ ผากา
+ทองสี สังคีรี
+ทองสุก ศรีนาค
+ทองสุข จันทะสอน
+ทองสุข แดงชาติ
+ทองสุข บุญญาเสนีย์กุล
+ทองสุข พิศเพียงจันทร์
+ทองสุข รัตนโภคา
+ทองสุข สังข์สวน
+ทองสุข อยู่ใจเย็น
+ทองหยอด ผึ่งผดุง
+ทองหล่อ ไกรทอง
+ทองหล่อ เตชะวิเศษ
+ทองหล่อ พลับอินทร์
+ทองหล่อ ลือหมู่
+ทองหล่อ อดทน
+ทองอยู่ แก้วพันธ์พงษ์
+ทองอยู่ ธนังเลิศมาลัย
+ทองอยู่ วีระวัฒนโยธิน
+ทองอวบ อุตรวิเชียร
+ทองอินทร์ ถาวรเจริญ
+ทองฮวย ธรรมสโร
+ทองเจือ เทียมอุทัยสกุล
+ทองเจือ แสวงเงิน
+ทองเติม หาญมณี
+ทองเปลว ไพฑูรย์รัตน์
+ทองเพียร ตันชะ
+ทองเล็ก ไม้ตราวัฒนา
+ทองเอิบ เพ็งแจ่มศรี
+ทองแถม พรมพงษ์
+ทองใบ กลิ่นสุคนธ์
+ทองใบ ชัยเจริญ
+ทองใบ ธรรมสาร
+ทองใบ พรหมปั้น
+ทองใบ รอดบุญชัง
+ทองใบ สาหร่ายทองคำ
+ทองใส บัวมวง
+ทอสรวง สภานุชาต
+ทักษณี ชื่นสำราญ
+ทักษิณา สถิตย์กุล
+ทัดทร บุญเทา
+ทันใจ ตาลาวนิช
+ทับทิม บัลลังค์โพธิ์
+ทับทิม องค์การ
+ทัศนชัย ศิริไพพรรณ
+ทัศนัย เขมเกษม
+ทัศนัย วัชรเกื้อ
+ทัศนา แซ่เล้า
+ทัศนา สิงคะเนติ
+ทัศนี ฉายรังษี
+ทัศนียา ทรรศนกุลพันธ์
+ทัศนีย์ กิตติศิลากร
+ทัศนีย์ คุณาพิส
+ทัศนีย์ จิตราจุลนันท์
+ทัศนีย์ ชัยกุล
+ทัศนีย์ แซ่ลี้
+ทัศนีย์ ตันตินีรนาท
+ทัศนีย์ ทักธิการ
+ทัศนีย์ นาควิลัย
+ทัศนีย์ ประมูล
+ทัศนีย์ พรหมชู
+ทัศนีย์ เพชรแก้วกุล
+ทัศนีย์ มาสณี
+ทัศนีย์ รัตนอุดม
+ทัศนีย์ เล็กคง
+ทัศนีย์ วิริยะเวสม์กุล
+ทัศนีย์ ศิริโสภานนท์
+ทัศนีย์ สิริวิเศษวรกุล
+ทัศนีย์ เสรีพกกะณะ
+ทัศนีย์ อนุตรินทร์
+ทัศนีย์ เอี่ยมสกุล
+ทัศพร พรสุธารักษ์
+ทัศไนย บัญญัติทัศไนย
+ทาบ ผลโพธิ์
+ทำนิ วิไลรัตน์
+ทิฆัมพร ชิ้นศิริกุล
+ทิชากร ชมเดช
+ทิน พัดชา
+ทินกร ทีเก่ง
+ทินกร ลิมปนสุทธิพงศ์
+ทินกรณ์ จันทร์พลับ
+ทิพพวัล เพ็งสอาด
+ทิพยญาณ วิชยานนท์
+ทิพย์ภาพร บุญเจริญยศ
+ทิพย์รัตน์ พงศ์คำ
+ทิพยวรรณ ฟุ้งลัดดา
+ทิพย์วรรณ จิรชนานนท์
+ทิพย์วรรณ พรหมวราทร
+ทิพย์วรรณ สุวรรณพิมล
+ทิพย์วัลย์ ธีรธวัชกุล
+ทิพย์วารี มิ่งขวัญปิยะกุล
+ทิพย์สุดา ใบมรกต
+ทิพยา นวคุณวิจิตร์
+ทิพย์ จันทร์หิรัญ
+ทิพย์ แสวงลาภ
+ทิพวรรณ กรกรอง
+ทิพวรรณ จีรพันธ์
+ทิพวรรณ ทองประเสริฐ
+ทิพวรรณ พัฒนะบดี
+ทิพวรรณ ลิมปนานนท์
+ทิพวรรณ ศิริวิไลรุ่งเรือง
+ทิพวรรณ อนิวรรตพงษ์
+ทิพวัลย์ คีรีวงศ์
+ทิพวัลย์ มาลัยมาลย์
+ทิพวิมล แซ่อึ้ง
+ทิพากร ศรีชียธำรง
+ทิพาพร ศรีอาจ
+ทิพารัตน์ นิลสนธิ
+ทิม มีบุตรสม
+ทิวา จวนจวบทรง
+ทิวา วงเดือน
+ทิวาพร ฉัตรรัตนาวาณิช
+ทิวาวรรณ สิงหพัศ
+ทีเนตร อยู่สุธา
+ทุเรียน จิตตกานต์พิชัย
+ทุเรียน สิทธิภา
+เทพ งามชัยพิสิฐ
+เทพ ลีนะกนิษฐ์
+เทพชัย เจริญพร
+เทพนิรันดร์ ศรีสวัสดิ์
+เทพรัตน์ สารคาม
+เทพสุริยา อรรถวิเศษ
+เทพไทย เสนพงศ์
+เทวัน อุดมเวศย์
+เทวินทร์ มุ่งธัญญา
+เทวีรัตน์ ปาลกะวงศ์ ณ อยุธยา
+เทอดพงษ์ แซ่ตั้ง
+เทอดศักดิ์ นิทัศนานันท์
+เทอดศักดิ์ สัมฤทธิการุณ
+เทิดชัย เตชะธิการ
+เทิดไทย สุขอารมย์
+เทียน พุ่มเจริญ
+เทียนชัย เจริญกิจไพบูลย์
+เทียนชัย ปานรักษา
+เทียนชัย วัฒนโรจนกิจ
+เทียนทิพย์ จงเจตน์ดี
+เทียบ สัมจารินทร์
+เทียม เทียมอารักษ์
+เทียมจันทร์ จารุวัฒนพันธ์
+เทียมฉัตร ริ้วกงแจ
+เทียมใจ บุญถาวรวัฒน
+เที่ยง ประเสริฐสิริเจริญ
+เทเวศ แซ่ซื้อ
+แทน เทศวิลัย
+ไทย เจริญวรรักษ์
+ไทรงาม จำนงค์สูญ
+ธงชัย กนกพนาทัต
+ธงชัย เกียรติเรืองกมลา
+ธงชัย งามธนโกศล
+ธงชัย จิรัฐิติพันธ์
+ธงชัย ชัยพรพงศ์
+ธงชัย แซ่ซิ้ม
+ธงชัย ตนสกุลเดช
+ธงชัย ถุงแก้วรุ่งเรือง
+ธงชัย ธรรมวิไลวัฒน์
+ธงชัย บุญณรงค์
+ธงชัย ปิ่นแก้วประเสริฐ
+ธงชัย พานทอง
+ธงชัย ภูษณะพงษ์
+ธงชัย รอดแก้ว
+ธงชัย ลิขิตวัฒนานุรักษ์
+ธงชัย วัชระอยู่
+ธงชัย ศรีไทยรักษ์
+ธงชัย สาครสุขศรีฤกษ์
+ธงชัย สุพลธวณิชย์
+ธงชัย หาญมงคล
+ธงชัย อากาศวิภาต
+ธงชาติ พวงสุวรรณ
+ธงไชย พลวิทย์
+ธน รมยานนท์
+ธนกร ศุภกรอาภรณ์
+ธนงค์ วิจิตรโท
+ธนชัย เหลืองตระกูลสิริ
+ธนน ศรีธนาโสฬส
+ธนพงศ์ วสุเสถียร
+ธนพร เชาวนปรีชา
+ธนพร ศรีจันทร์
+ธนพล คุ้มวรชัย
+ธนพล วณิชชานนท์
+ธนพันธ์ ฟูพันธุ์อนันต์
+ธนยา วงศ์สงวน
+ธนวรรณ แซ่เตีย
+ธนวรรษ์ เสริมพาณิชย์
+ธนวัฒน์ ประสานธรรมคุณ
+ธนวัฒน์ สามกษัตริย์
+ธนวิศณ์ ภูมิไชย
+ธนสรณ์ ไชยชนะ
+ธนะ พงษ์ทนานนท์กุล
+ธนะชัย วงศ์ทองศรี
+ธนะวรรณ หมื่นสา
+ธนะเสริฐ ยลประสาน
+ธนัญชัย ราชวัลภานุสิษฐ
+ธนัติ บุรินทร์กุล
+ธนันท์ รังสีพรหม
+ธนา ชีรวินิจ
+ธนา โปษยานนท์
+ธนา สว่างกิจ
+ธนากร เตชะสมบูรณ์ผล
+ธนากร สัจจพจน์โสภณ
+ธนาจักร์ น่วมอยู่
+ธนาธิป รัตนัย
+ธนาพร พิชัยวัฒน์โกมล
+ธนาภรณ์ รัตนเสน
+ธนารัช สิริภูมิรัตนานนท์
+ธนาวัฒน์ พิธุวรรณ
+ธนาศักดิ์ วัตราเศรษฐ์
+ธนิดา จินตนวิศิษฐ์
+ธนิต เขียวเงิน
+ธนิต เทพจิตร
+ธนิต มาศรีนวล
+ธนิต สุกันยา
+ธนิตร เนาวศักดิ์
+ธนินทร์ ประเสริฐกาญจน์
+ธนิศร์ อิศราธิกูล
+ธนียา หรยางกูร
+ธนู ฉุยฉาย
+ธนู ฟองกุนฑล
+ธนู หงษ์ดำเนิน
+ธนเดช สุขวัฒนาพร
+ธรณินทร์ กองรักษเวช
+ธรรมณพ เกตุทอง
+ธรรมนูญ คล้ายกรูฏ
+ธรรมนูญ ทัศน์ศรี
+ธรรมนูญ พิชัยศรแผลง
+ธรรมนูญ ศรีชะฎา
+ธรรมนูญ อังศุสิงห์
+ธรรมรักษ์ ทินกร ณ อยุธยา
+ธรรมรัตน์ สังข์ศรีแก้ว
+ธรรมศักดิ์ แม้นมินทร์
+ธรวิสิทธิ์ โชคสัมฤทธิ์ผล
+ธราพงษ์ เคลืองาม
+ธวัช กันต์มิตรี
+ธวัช จอมสง่า
+ธวัช ชั้นเสวิกุล
+ธวัช ตันติปิฏก
+ธวัช ธีรภานุมาศกุล
+ธวัช บุตรยี่
+ธวัช แพใหม่
+ธวัช รัฐประดิษฐ์
+ธวัช วัชรเดชสุวรรณ
+ธวัช สัญญะวิรี
+ธวัช แสนมนตรีกุล
+ธวัช อินแตง
+ธวัชชัย กิมยงค์
+ธวัชชัย คามจินดา
+ธวัชชัย จิตประภาจิณ
+ธวัชชัย ชั่งทอง
+ธวัชชัย ซุ้นซิ่ม
+ธวัชชัย ดีระพันธ์กุล
+ธวัชชัย โตสิตระกูล
+ธวัชชัย ไทยวัฒนา
+ธวัชชัย นาประดิษฐ์
+ธวัชชัย ปัญจรักษ์สกุล
+ธวัชชัย พวงจันทรทิพย์
+ธวัชชัย ฟุ้งเจริญกุล
+ธวัชชัย รติสราญจิต
+ธวัชชัย ลี้ภูมิวนิชย์
+ธวัชชัย วัฒนะ
+ธวัชชัย ศรีวิบูลย์
+ธวัชชัย สราญณิยธรรม
+ธวัชชัย สุนทรกิติ
+ธวัชชัย เหลืองสมอุไร
+ธวัชชัย อิสระนิมิตร
+ธวัฒชัย พิพัฒน์ศิริขจร
+ธัช รัตนทุมมา
+ธัชพล พวงกนก
+ธัญญรักษ์ กุฐินพัฒน์
+ธัญญะ เจริญสุข
+ธัญญา นาคสิเนหผล
+ธัญญา อ่วมเจริญ
+ธัญทิพย์ เล้าวัฒนา
+ธัญยธรณ์ ลักขุนทด
+ธัญลักษณ์ สุวรรณปัทม
+ธันยธร ก้องวิริยะไพศาล
+ธันวดี เครือวัลย์
+ธาดา เกษมสุวรรณ
+ธาดา เลิศสินส่งเสริม
+ธาตรี ดาราเย็น
+ธานันท์ มงคลวราภรณ์
+ธานินทร์ แซ่จึง
+ธานินทร์ พริ้งมงคล
+ธานินทร์ ศรีสุข
+ธานี กลิ่นเกษร
+ธานี โตอดิเทพย์
+ธานี เพิ่มพึ่งรัตน์
+ธานี วาจางาม
+ธานี เหล็งขยัน
+ธารทิพย์ ณ สงขลา
+ธารลักษณ์ หวังธีรพงศ์
+ธารา โรจน์ลือชัย
+ธารารัตน์ พงษ์โสภา
+ธาริณี เสือศรีเสริม
+ธารี สังเนตร์
+ธำรง เจียมประเสริฐบุญ
+ธำรง ภูวประเสริฐ
+ธำรงค์ กาญจนประภาส
+ธำรงค์ มูลเงิน
+ธำรงศักดิ์ ธำรงเลิศฤทธิ์
+ธิดา คุ้มเขว้า
+ธิดา ผลคิมหันต์
+ธิดา สุชาติ
+ธิดารัตน์ กุศลจิตภรณ์
+ธิดารัตน์ สมพันธ์
+ธิติ ทางอนันต์
+ธิติพงศ์ เศรษฐีสมบัติ
+ธิติมา ลาภศรีมงคล
+ธิภาพร ชุณหจิรัฐติกาล
+ธีร ศรแก้ว
+ธีรชัย เดโชพล
+ธีรชัย เศรษฐชาตนันท์
+ธีรดา แซ่ลิ้ม
+ธีรนารถ ปาลกะวงศ์ ณ อยุธยา
+ธีรพงศ์ ดวงเนตร
+ธีรพงษ์ โคจรานนท์
+ธีรพงษ์ รัตนเสถียร
+ธีรพร คุณาทรวัฒนกุล
+ธีรพล เตี๋ยพัฒนกิจ
+ธีรพล สันติวนานนท์
+ธีรพันธ์ พัชรประภากร
+ธีรยศ ชัยเสนะบัณฑิต
+ธีรยุทธ ปรัชญาบำรุ
+ธีรยุทธ อัจจิมารังษี
+ธีรวรรณ วัชรสินธุ์
+ธีรวัฒน์ เตชะสุริยะมณี
+ธีรวัฒน์ ศรีสุข
+ธีรวิทย์ บวรบุญสุข
+ธีรวุฒิ พงศ์เศรษฐไพศาล
+ธีรศักดิ์ จิรวิริยวงศ์
+ธีรศักดิ์ ภิสัชเพ็ญ
+ธีรศักดิ์ อาภาสกุลเดช
+ธีระ คำสา
+ธีระ ไชยรัตน์
+ธีระ ทรัพยรุ่งทวีผล
+ธีระ นิลแจ้ง
+ธีระ พิกุลน้อย
+ธีระ ริมพนัส
+ธีระ วิภูชนิน
+ธีระ สิงหพันธุ์
+ธีระ อนันต์มานะ
+ธีระชัย เกตุตรีกรณ์
+ธีระชัย พันธุลาภ
+ธีระชาติ เลิศบวรวงศ์
+ธีระพงศ์ วัฒนพิทยกุล
+ธีระพงษ์ พลมั่น
+ธีระพร วีระถาวร
+ธีระพล รอบำรุง
+ธีระพันธุ์ วัฒนพันธุ์
+ธีระยุทธ แซ่เล้า
+ธีระวงศ์ แซ่อึ้ง
+ธีระวัฒน์ ศศิธร
+ธีระศักดิ์ กาสาวพานิชย์
+ธีระศักดิ์ บุญเฉลียว
+ธีระศักดิ์ สิงหโรจนากุล
+ธีระเดช ตรีทศายุธ
+ธีรา รุ่งโรจน์
+ธีราลักษณ์ ยมะสมิต
+ธีรเดช เลิศวิไลกุลนที
+ธเนต เปลี่ยนนุช
+ธเนศ ฉายรังษี
+ธเนศ ธาณาธะระนิต
+ธเนศ มีเดช
+ธเนศ ศักดิ์ชัยสมบูรณ์
+ธเนศพล ศุกลกานต์
+เธนตร พิมพ์จันทร์
+เธียรชัย ฝากลาภ
+เธียรไชย ศันสนะกุล
+นกเล็ก ทับนาโคก
+นกแก้ว วงศ์ส่ายถนอม
+นคร ชัยสมบูรณ์พันธ์
+นคร บุตรโพธิ์
+นคร ยิ้มศิริวัฒนะ
+นคร สงคราม
+นคร อินทร์สุข
+นคเรศ ทนงศักดิ์มนตรี
+นงคราญ เขื่อนแก้ว
+นงคราญ วีระพานิชเจริญ
+นงค์เยาว์ ธรรมนิธา
+นงนาฏ นิพนธ์ศักดิ์
+นงนุช กอสกุล
+นงนุช จันทร์หอม
+นงนุช แซ่ตั้ง
+นงนุช ทับศรี
+นงนุช ประกอบเพ็ชร
+นงนุช ไพฑูรย์มงคล
+นงนุช ลาภศรีวิวัฒน์
+นงนุช ศัลย์วิเศษ
+นงนุช สุวรรณกนิษฐ
+นงนุช อุณห์ไวทยะ
+นงพุธ ชื่นชม
+นงลักษณ์ กิตติศักดิ์ไพรัช
+นงลักษณ์ จริยพฤทธิพงศ์
+นงลักษณ์ ช่วยวงษ์ญาติ
+นงลักษณ์ ฐิติวร
+นงลักษณ์ ทองอัศวิน
+นงลักษณ์ บุญญวัฒน์
+นงลักษณ์ พรสืบวงศ์
+นงลักษณ์ ภู่สุบิน
+นงลักษณ์ โรจน์กุลขจร
+นงลักษณ์ วิทยาวิศวสกุล
+นงลักษณ์ สมแก้ว
+นงลักษณ์ สุลาวรรณ
+นงลักษณ์ อรชร
+นงเยาวดี ไพทีกุล
+นงเยาว์ จันทมาศ
+นงเยาว์ แซ่โซว
+นงเยาว์ ธิติไพศาล
+นงเยาว์ พรหมไกรวร
+นงเยาว์ เมนะเศวต
+นงเยาว์ วานะรินทร์
+นงเยาว์ สุกใส
+นงเยาว์ อุทัย
+นที จึงประสิทธิ์พร
+นที เมฆกัลจาย
+นทีทิพย์ รัตติธรรม
+นนทพร อุดมมาก
+นนทิยา ดิถีเพ็ง
+นพ โชติกเสถียร
+นพกร จิตโตภาษ
+นพคุณ วงษ์สวรรค์
+นพณรงค์ แก้วจำลอง
+นพดล ไกรแสง
+นพดล จุฑาธิปัตย์
+นพดล แซ่ตั้ง
+นพดล โตเจริญธนาผล
+นพดล นิลกาเด็ด
+นพดล ปัทมะ
+นพดล พิเดช
+นพดล มิ่งลดาพร
+นพดล ฤทธิ์เทพ
+นพดล เวชวิฐาน
+นพดล สังข์ศิรินทร์
+นพดล หลาวทอง
+นพดล อุชชิน
+นพปฎล จงสกุลนิรันดร์
+นพพร เครือแก้ว
+นพพร ตุงคะรักษ์
+นพพร ประโมจนีย์
+นพพร รัตนวิศิษฎ์กุล
+นพพร ศาสตร์ขำ
+นพพร อินทรสวัสดิ์
+นพพล หมวดจันทร์
+นพมณี แซ่โง้ว
+นพมาศ ไวยรัชพานิช
+นพรัตน์ เขื่อนชัย
+นพรัตน์ ไชยรัตน์
+นพรัตน์ บุญพรพิมล
+นพรัตน์ ยี่อำพันธ์
+นพรัตน์ สมบัติประชากร
+นพรัตน์ อารยะนรากูล
+นพวรรณ คงมะกล่ำ
+นพวรรณ ถาวรวิสิทธิ์
+นพวรรณ ภักดีดำรงฤทธิ์
+นพวรรณ สินตั้งวงษ์
+นพวัลย์ สัมพันธ์สุขศรี
+นพเก้า สุขสิน
+นภดล ไทยธัญญพานิช
+นภดล สุวรรณมณี
+นภัส รัตนไพฑูรย์
+นภา จามีกรกุล
+นภา โต๊ะสมัน
+นภา ภาคาวัลย์
+นภา ศรีกัณฑิมารักษ์
+นภา เอี่ยมละออ
+นภาพร เกียรติชัยทรัพย์
+นภาพร ชลบุษปกุล
+นภาพร ดวงสร้อยทอง
+นภาพร นอบน้อมธรรม
+นภาพร พจนะศิลป
+นภาพร เมตตพันธุ์
+นภาพร วงศ์กุดั่น
+นภาพร สถิรานุวัฒน์
+นภาพร หอมขจร
+นภาพรรณ เตชะพิริยะกุล
+นภาภรณ์ ทิพรัตน์
+นภาภรณ์ หะสิตะเวช
+นภาลัย สุวรรณธาดา
+นภาศิริ ดาดาษ
+นรชัย มานิตกุล
+นรรัตน์ อนุศิริ
+นรา เทพเสนา
+นราทิพย์ วงศ์วิรัตน์
+นราภรณ์ จีระประภากาญจน์
+นราวัลย์ จุลโมกข์
+นรินทรัตน์ สวัสดิวงศ์
+นรินทร์ ฉัตรเฉลิมชัย
+นรินทร์ นรินทร์
+นรินทร์ พสุนธราธรรม
+นรินทร์ ลิ้มสร้อยเพ็ชร
+นรินทร์ สุจิตโต
+นรินทิพย์ โกมุทกุล
+นริศ ธีรพรพงศ์
+นริศ สนใจ
+นริศรา ตรีวรรัตนกุล
+นริศรา อุษาไพรพรรณ
+นริส อารีย์
+นรีทิพย์ ทุ่งกาวี
+นรเศรษฐ์ อิศรางกูร ณ อยุธยา
+นฤดี หิรัญบูรณะ
+นฤนาท ลีเลิศพันธ์
+นฤพร อัครพงศ์ไพศาล
+นฤมล กาญจนถมยา
+นฤมล ขันแก้ว
+นฤมล จันทรวรเมท
+นฤมล ชัยคูณผล
+นฤมล แซ่อึ่ง
+นฤมล ตินา
+นฤมล ธนะถ้อย
+นฤมล บุญกนก
+นฤมล เปรมวุฒิ
+นฤมล พุทธนวรัตน์
+นฤมล มานะสกุลกิจ
+นฤมล รุจิหาญ
+นฤมล วรรณาไทร
+นฤมล ศิริพงศ์ตระกูล
+นฤมล สิริปรีดานนท์
+นฤมล แสนสวย
+นฤมล อรุณเจริญกุล
+นฤมิต ผลากรกุล
+นลพร ภิญโญบริสุทธิ์
+นลินทิพย์ แสนทวีสุข
+นลินี ธงนำทรัพย์
+นลินี อร่ามเรืองสกุล
+นวพร กุลวชิราวรรณ์
+นวพร วงศ์อุไร
+นวม พลับจุ้ย
+นวรัตน์ เจริญธนาวัฒน์
+นวรัตน์ ปุกหุต
+นวรัตน์ สงวนเสรีพานิช
+นวล วัยมุข
+นวลจันทร์ จอมแสง
+นวลจันทร์ ตังคบดี
+นวลจันทร์ บุญพจนสุนทร
+นวลจันทร์ โภคา
+นวลจันทร์ ศรีรุ่งโรจน์
+นวลจันทร์ อารีศรีวัฒนาวงษ์
+นวลฉวี บัวครื้น
+นวลตา พัฒนสิงห์
+นวลน้อย กนิษฐสุต
+นวลน้อย สุขวานิชย์เจริญ
+นวลปราง ชัยทน
+นวลพร ภาณุมาภรณ์
+นวลพรรณ สำรองทรัพย์
+นวลฤดี เต็มฤทธิวงศ์
+นวลละออ เลค
+นวลศรี ฉวีพิศาล
+นวลศรี ริจิรวนิช
+นวลศิริ จงเจริญรุ่งโรจน์
+นวลอนงค์ เจริญผล
+นวลอนงศ์ ธรรมสุจริต
+นววรรณ กิจเจริญวงศ์
+นอลเดวซิงห์ จาวลา
+น้อม ทรัพยัย
+น้อมจิตต์ พึ่งพร
+น้อย คงศิลา
+น้อย ชูดวง
+น้อย ตรีพรไพรัช
+น้อย นุชชัย
+น้อย พัฒพิบูลย์
+น้อย ยรรยงพาณิชย์
+น้อย โวหาร
+น้อย สุดหล้า
+น้อย ฮามิค
+นักรบ หลิ่มวิรัตน์
+นัฎดา ศรีล้อมลาภ
+นัฐกิตติ แซ่เจียม
+นัฐยา อนุดิษฐ์
+นัดดา โพธา
+นัทธมน แตงพุก
+นัน พันเดช
+นันทกา พาสุนันท์
+นันท์ชนก ชาวเรือ
+นันทนา ครองบุญศรี
+นันทนา ซาอะดี
+นันทนา ธรรมสุวรรณ์
+นันทนา พรทรานนท์
+นันทนา ราตรีโชติ
+นันทนา ศิลาสัย
+นันทนา อนันต์ธโนดม
+นันทนี เตชะมโนรมย์
+นันทพร ชัยวรทร
+นันทพร รื่นไวย
+นันทพล ทองคำ
+นันทยา โปร่งแสงธรรม
+นันทรา ฤดีขจร
+นันทวรรณ บูรณประพฤกษ์
+นันทวัฒน์ คนิยมเวคิน
+นันทวัน เจียรอุดมทรัพย์
+นันทวัน ภูริศรี
+นันทวัน อิสระมาลัย
+นันทสาร จันทร์เพ็ญ
+นันทา ชินธรรมมิตร์
+นันทา บุญทวีสกุล
+นันทา รัตนไชย
+นันทา สุขเจริญ
+นันทิกา วิริยะสาโรจน์
+นันทิภา รัตนเพียรชัย
+นันทิยา นำเกียรติวงษา
+นันทิยา ศักดิ์ฉันทอำพน
+นันท์ เรืองตระกูล
+นัยน์รัตน์ เทียมทัศน์
+นัยนา แซ่คู
+นัยนา ปอประสิทธิ์
+นัยนา ลีนะธรรม
+นัยนา สุวรรณทอง
+นัสติยา บุญพิทักษ์
+นาคิน เพชรรักษ์
+นาฎยา อดิเรกฤทธิรณ
+นาฏยา ฤทธิ์เขียว
+นาตยา คงเขาม่วง
+นาตยา นิยม
+นาตยา ศรีสุบิน
+นาตอนงค์ ชื่นบาน
+นาถฤดี สวัสดิ์พร้อม
+นานา แซ่ถัว
+นารถ ธาระพุทธ
+นารา โสมะนันทน์
+นารี ครองสัตย์
+นารี เตชะสุภากูร
+นารี พันธ์ดี
+นารี ศักดิ์เสรีชัยกุล
+นารีนารถ ฉิมภู่นุ่ม
+นารีรัตน์ ธนาสุวรรณดิถี
+นารีรัตน์ สีเหล็ก
+นาวิน กระต่ายจีน
+นาวิน หล่อลักษณ์
+นาเวส ยังน้อย
+นำชัย ทิพชาติโยธิน
+นำชัย อื้อเศรษฐศักดิ์
+นำลาภ เบ้าสุวรรณ
+น้ำ ชลสายพันธ์
+น้ำทิพย์ จันทกนก
+น้ำทิพย์ ภาระเวช
+น้ำผน ระเบียบ
+น้ำฝน วิบูลชาติ
+น้ำเชี่ยว จินดาพันธ์
+นิกร กังวาราวุฒิ
+นิกร นวปรีชากุล
+นิกร เลิศชามพูนท
+นิกรม พึ่งขำ
+นิคม คำเผื่อน
+นิคม เตวัฒตานนท์
+นิคม พงศ์ไทย
+นิคม รุ่งเรือง
+นิคม สุขสุมิตร
+นิจ ยุชมภู
+นิชญา โกวิทคณิต
+นิด แซ่ตั้ง
+นิดดา วสะภิญโญกุล
+นิดา ผ่องอารมณ์
+นิดาวรรณ ฐิตรัตนพล
+นิตย์ประภา อดุลเดชจรัล
+นิตยา การสามารถ
+นิตยา ขวัญฤกษ์
+นิตยา งั่นบุญศรี
+นิตยา จิรประภาพร
+นิตยา ชรินทราวุฒิ
+นิตยา ไชยมงคล
+นิตยา แซ่เป๊
+นิตยา ตั้งจิตนบ
+นิตยา ทวีโต
+นิตยา ธำรงวิทวัสพงศ์
+นิตยา เนียมคง
+นิตยา ประคอง
+นิตยา แผ่นทอง
+นิตยา พิลาแดง
+นิตยา ภู่ยอดยิ่ง
+นิตยา โมฮำมัสอีสมาอีล
+นิตยา เรืองดารกานนท์
+นิตยา วงศ์ปรีดี
+นิตยา วิภาตะโยธิน
+นิตยา ศาลยาชีวิน
+นิตยา สังข์ทอง
+นิตยา สุทธิศิริ
+นิตยา แสงแดง
+นิตยา อยู่นิ่ม
+นิตยา อุดมรัตนานนท์
+นิตย์ แก้วฉาย
+นิตย์ ถี่ถ้วน
+นิตย์ ภู่ใจเที่ยง
+นิตย์ สุนทรอนันตกุล
+นิติ ฉ่ำผึ้ง
+นิติกร สถิตฤทธานันท์
+นิติพร ทองนุ่ม
+นิทธิรา ฟักแย้ม
+นิทัศน์ กังแขก
+นิทัศน์ ประเสริฐเนติกุล
+นิทัศน์ อภิชาติบุตร์
+นิธิชัย ไชยธวัช
+นิธิมา ชาคริตฐากูร
+นิธี เมฆสุทัศน์
+นิพนธ์ กรเกษม
+นิพนธ์ ไกรลักษณ์
+นิพนธ์ จันทร
+นิพนธ์ ชาญอักษร
+นิพนธ์ ดาราวรรณ์
+นิพนธ์ ทศรงค์
+นิพนธ์ นิ่มใหม่
+นิพนธ์ ประสงค์สัมฤทธิ์
+นิพนธ์ พฤฒิคามภีร์
+นิพนธ์ ภวสันต์
+นิพนธ์ โยมา
+นิพนธ์ ลีลาวิลาส
+นิพนธ์ วิลาลัย
+นิพนธ์ สงวนนาม
+นิพนธ์ สุขสมาน
+นิพนธ์ หงส์วิจักษณ์
+นิพนธ์ อัศวสงคราม
+นิพร วรฉัตร
+นิพัฒน์ ขนอนเวช
+นิพัทธ์ ทองเล็ก
+นิพันธ์ เนียมวงศ์
+นิพิฐ อรุณวงษ์ ณ อยุธยา
+นิภา แก้วหอม
+นิภา จันทิมา
+นิภา ช่างนาค
+นิภา แซ่อึ้ง
+นิภา ถกลวิโรจน์
+นิภา นนทชีวา
+นิภา ปรีชาตั้งกิจ
+นิภา พันธมิตร
+นิภา โภคารักษ์
+นิภา รุจิระกิติวกูล
+นิภา วรไกวัล
+นิภา ศรีสวัสดิ์
+นิภา สิริมหาสุวัฒน์
+นิภา หาญเกิดสิริ
+นิภา อินพัตรา
+นิภาพร จงจรวยสกุล
+นิภาพร บัวทอง
+นิภาพร ศักดิ์แสน
+นิภาพรรณ พงศ์ไพโรจน์
+นิภาภรณ์ เชิญรุ่งโรจน์
+นิภาภรณ์ สุขสวัสดิ์
+นิภาวรรณ ทรงศิลป์
+นิมน ตุ่มศิริ
+นิมิต สุริหาร
+นิมิตร น้อยเจริญ
+นิมิตร แสงอำไพ
+นิ่มนวล เกศวรางกูร
+นิ่มนวล ศุภษร
+นิยดา ภู่อนุสาสน์
+นิยม จนิษฐ์
+นิยม แดงเอี่ยมเอก
+นิยม นิลสุวรรณ์
+นิยม พิพัฒน์ศานต์
+นิยม เลิศสำราญเริงรมย์
+นิยม สุภาพ
+นิยมศรี สารสุข
+นิรชา โยธินอุปไมย
+นิรมล จงชาญสิทโธ
+นิรมล ตันติพันธ์วดี
+นิรมล พัฒนสุวรรณ
+นิรมล วยากรณ์วิจิตร
+นิรมล หล่อรุ่งโรจน์
+นิรักษ์ ลิ้มแหลมทอง
+นิรัตน์ พรหรรษาวิจิต
+นิรันดร พวงพุด
+นิรันดร์ จอนแจ้ง
+นิรันดร์ ทองน้อย
+นิรันดร์ พันทรกิจ
+นิรันดร์ โล้สกุล
+นิรันดร์ สุขศรีจักรวาฬ
+นิรันต์ เฉยรอด
+นิรุฒน์ ตันอนุชิตติกุล
+นิรุธ แย้มโชติ
+นิลบล ทูรานุภาพ
+นิลวรรณ พงษ์เผือก
+นิลุบล โกไศยกานนท์
+นิว แซ่เจียง
+นิวัฒน์ คงชื่น
+นิวัฒน์ ตันจิรวัฒนา
+นิวัฒน์ พันธ์พุ่ม
+นิวัฒน์ วัฒนาเจริญศิลป์
+นิวัฒน์ อริยพฤกษ์
+นิวัตน์ ภูติกนิษฐ์
+นิวัตร์ นิยมไทย
+นิวัติ ผลธัญญา
+นิวัติ ห่านตระกูล
+นิศา เจียมรุจีกุล
+นิศากร ปิจเจริญ
+นิศานาท ธรรมดำเกิง
+นิษฐกานต์ เย็นพระพาย
+นิสัย อรรถไกวัลวที
+นิสา ปิยะพันธ์
+นิสากร เกียรติก้องขจร
+นิสารัตน์ เตชาวัฒนวิศาล
+นิสิตา พรมพิลา
+นิเวศ เจิ่งมโนธรรม
+นิเวศน์ นาคสมบูรณ์
+นิโน อินเตอรันเต
+นิไกล โยปัง
+นีรมล สุนทรนนท์
+นุกร วรากูลศิริวรรณ
+นุกูล แซ่ลิ้ม
+นุกูล พฤกษวัน
+นุกูล สุขสม
+นุจรินทร์ สินวนาทรัพย์
+นุช คลองน้อย
+นุชจรินทร์ เจวินนุกุล
+นุชจรี ทองธรรมชาติ
+นุชจารี คล้ายสุวรรณ
+นุชนาจ พลทมิฬ
+นุชนาฎ โสภา
+นุชนาถ เกิดเพิ่ม
+นุชนาถ ศีสังข์
+นุชนารถ ทรัพย์สุทธิ
+นุชนารถ ใสสุทธิ์
+นุชรินทร์ แว่นประทุม
+นุชรีย์ สุขเกียรติภัย
+นุชิต เจริญพานิช
+นุมาน ยิ่งนิยม
+นุศรา พรกฤษฎากุล
+นุสรา จันทร์เจิดสุริยะ
+นุสรา เพ็ชรประพันธุ์กุล
+นุสรา อัศวนัยกิจ
+นเรนทร์ ดิสระพงษ์
+นเรศ ทองแก้ว
+นเรศ ศรพรหม
+นเรศร์ ธรรมสาลี
+เนตร ศรีสุวรรณ
+เนตรทิพย์ ชินลาภากุล
+เนตรนภา หวังสินสุจริต
+เนตริกา เกตุประดิษฐ์
+เนรมิต ศรีจำนง
+เนาวรัตน์ กำลัง
+เนาวรัตน์ เซ็นสาส์น
+เนาวรัตน์ นพเสถียร
+เนาวรัตน์ พิพิธวรรณ
+เนาวรัตน์ วัฒนาภา
+เนาวรัตน์ แสวงศักดิ์
+เนาว์ สุดใจธรรม
+เนียม บำรุงประเสริฐ
+เนี้ยว แซ่เล้า
+เนื้อทิพย์ จันทร์โปร์
+แนบ โสตถิพันธุ์
+แน่งน้อย เซี่ยงผุง
+แน่งน้อย ปุ่นอุดม
+แน่งน้อย เวทยพงษ์
+แน่งน้อย อินทรรักขา
+โนรี แสงศรี
+ไน้ รอดทอง
+บงกช บุญช่วย
+บงกช เหล่าวรวิทย์
+บดินทร์ ดิลกวรโชติ
+บพิตร ดวงแก้ว
+บรรจง กุหลาบวิรัตน์
+บรรจง จันทร์ทอง
+บรรจง ชัยวิริยะวงศ์
+บรรจง ตุ่นทา
+บรรจง นามมีไชย
+บรรจง ป้องภัย
+บรรจง เพิ่มผล
+บรรจง ร่มโพธิหยก
+บรรจง วิลาสรัตน์
+บรรจง สาสะกุล
+บรรจง หรั่งเอม
+บรรจงกิจ ปิยะสันติสุข
+บรรจบ ชื่นพันธุ์
+บรรจบ ภูววีรานนท์
+บรรจะ เรือนแก้ววงศ์
+บรรณา นนทวงษ์
+บรรทึก ล้อวชิระวัฎฎ์
+บรรพต ดีรักษา
+บรรพต มหัทธนากุล
+บรรพต แสงแก่นเพ็ชร์
+บรรยง พิพัฒน์เรืองไร
+บรรยงค์ ยมแพทย์
+บรรลือ เรืองตระกูล
+บรรลุ ภูมิพันธุ์
+บรรหาร ศิลปอาชา
+บรรเจิด ชื่นกุล
+บรรเจิด ภู่ทรัพย์
+บรรเจิด แสงทอง
+บรรเทิง ขาวผ่อง
+บรรเทิง วงษ์พูล
+บรรเลิศ แซ่โค้ว
+บริบูรณ์ วาราชนนท์
+บริหารวรกิจ พระครู
+บวร ประเสริฐสฤษดิ์
+บวร เสถียรโสภณ
+บวรศักดิ์ นิ่มศิริเรืองผล
+บ๊วย ธรรมมงคล
+บักจุ้ย แซ่เฮ้ง
+บักเกียว แซ่ลิ้ม
+บักโคย แซ่ลิ้ม
+บังอร กระถินทอง
+บังอร คงถาวร
+บังอร จิตจรัสแสง
+บังอร ชื่นโชติ
+บังอร เดชผล
+บังอร ทิมโป่งแก้ว
+บังอร บัวสร้อย
+บังอร ปิยสุทธิกุล
+บังอร พุทธินันทน์
+บังอร มาสศรี
+บังอร ลวเศรษฐี
+บังอร วุ้นเหลี่ยม
+บังอร สะสิสมิต
+บังอร สุวรรณานนท์
+บังอร อติชาติ
+บังอร เฮงภู่เจริญ
+บังเอิญ เพ็งสุข
+บัญชร สุขอนันต์ชัย
+บัญชา ครุธเวโช
+บัญชา ชัยประสพ
+บัญชา แต้สุวรรณ
+บัญชา บุนนาคประเสริฐ
+บัญชา เพียรประสาธน์ศิริ
+บัญชา วงศ์ศรีกุล
+บัญชา สะดวกดี
+บัญชา อัจฉรามงคล
+บัญญัติ จินตนาปราโมทย์
+บัญญัติ บุญธรรม
+บัญญัติ วงษ์ประยูร
+บัญฑิต ศรกล้า
+บัณฑิต คู่ทวีธรรม
+บัณฑิต ตระการวีระเดช
+บัณฑิต บุญญาวัฒน์
+บัณฑิต โพธิ์น้อย
+บัณฑิต วรานุศภากุล
+บัณฑิต สุทธิวุฒินฤเบศร์
+บัณฑิต อุลิศ
+บัณฑิตย์ สนิทรักษา
+บัณฑูรย์ พันธุสุข
+บันลือ โยธี
+บัลลังก์ นาคพันธุ์
+บัว พุกเจริญ
+บัวขาว สุขคำ
+บัวซ่อน ทิพย์จักร
+บัวน้อย งัดสันเทียะ
+บัวผิน เปรมกมล
+บัวลอย กมขุนทด
+บัววรรณ อนีจะไพบูลย์
+บัวหลวง พรหมรักษา
+บัวเรียว เกาฏีระ
+บัวไข แจ่มอุลิตรัตน์
+บาซัมยาน มูลาคาน
+บานเย็น สถาวรสมิต
+บ้านกรรณิการ์ บ้านกรรณิการ์
+บ้านชิดตวัน บ้านชิดตวัน
+บ้านนางเลิ้ง 2
+บ้านปิยะณิดา บ้านปิยะณิดา
+บ้านมหิโคต บ้านมหิโคต
+บ้านวิจิตรศรีกมล บ้านวิจิตรศรีกมล
+บ้านสินาลักษณ์ บ้านสินาลักษณ์
+บ้านเกาะกลาง บ้านเกาะกลาง
+บ้านแก้ว บ้านแก้ว
+บำรุง คงขวัญยงค์
+บำรุง แซ่ก๊วย
+บำรุง ประภารักษ์
+บำรุง แย้มบัญชร
+บำรุง สุขสถาน
+บำเพ็ญ กุลดิลกชัย
+บำเพ็ญ สะลอยรัมย์
+บี้ แซ่ล้อ
+บุญ เฉลิมทรานุวัฒน์
+บุญ ศรีช่วย
+บุญก่อ เมธีกุล
+บุญควร เหมบุตร
+บุญจริง ตงจิตรัตน์
+บุญจันทร์ รำจวน
+บุญจิรา ดำริห์กล้า
+บุญชม คำอิ่น
+บุญช่วย กันพูล
+บุญช่วย คาวสุวรรณ
+บุญช่วย ฉิมฉวี
+บุญช่วย แซ่เฮ้ง
+บุญช่วย ทองสุข
+บุญช่วย เนาว์ใหม่
+บุญช่วย แป้นเหมือน
+บุญช่วย เพียรดี
+บุญช่วย ยูนชุ่ม
+บุญช่วย วัฒนาวงศ์
+บุญช่วย สังข์แป้น
+บุญช่วย แสงทองประดิษฐ์
+บุญช่วย อุดมตระกูลวงศ์
+บุญชอบ ทองแก้ว
+บุญชอบ อุดมประมวล
+บุญชัย ขันติญานุวัฒน์
+บุญชัย จีระไพโรจน์กุล
+บุญชัย ชุติอนุสรณ์ชัย
+บุญชัย แซ่โค้ว
+บุญชัย เติมทรัพย์ถาวร
+บุญชัย นิลรพีเกียรติ
+บุญชัย ปรีชาพันธ์
+บุญชัย เพชรพลอยงาม
+บุญชัย เรียงวิไลกุล
+บุญชัย วรกิจพรสิน
+บุญชัย ศรีสุภร
+บุญชัย สุขภิรมย์เกษม
+บุญชัย เหล่าพากเพียร
+บุญชัย อุปถัมชาติ
+บุญชิด บุญเลิศ
+บุญชื่น ปิยะปกรณ์ชัย
+บุญชู กระถินทอง
+บุญชู งิ้วชน
+บุญชู ชัยบุญญลักษณ์
+บุญชู ตระกูลเจริญสุข
+บุญชู ธิราศักดิ์
+บุญชู ปั้นเขียว
+บุญชู โพธิสาร
+บุญชู รอดเพ็งสังค์
+บุญชู วังกานนท์
+บุญชู สมบูรณ์
+บุญชู สุวรรณชาติ
+บุญชู อึ้งกุล
+บุญญฤทธิ์ ลิขิตเจริญวัฒนะ
+บุญฑริก จันทรธารารัตน์
+บุญดี สงวนความดี
+บุญตา แซ่เวียน
+บุญตา ศักดิ์มังกร
+บุญถิ่น พงษ์ขาว
+บุญทรง เนียมโภคะ
+บุญทรัพย์ สหเทวสุคนธ์
+บุญทวี ไวยสุตรา
+บุญทอม โถปั้น
+บุญทัศน์ จรณะหุต
+บุญทิพย์ วัฒนะวิบูลย์
+บุญธรรม กลัดอยู่
+บุญธรรม จรูญศรี
+บุญธรรม แซ่ไหล
+บุญธรรม นพคุณ
+บุญธรรม ผิวเกลี้ยง
+บุญธรรม ม่วงศรี
+บุญธรรม วังเสนา
+บุญธรรม สุวรรณวิจิตร
+บุญธารี จันทรทีประ
+บุญนะ ศรีจินดา
+บุญนาค ญาณโกมุท
+บุญนาค พ่วงพร้อม
+บุญนาค สำแดงเดช
+บุญนำ ช้างมณี
+บุญนำ อยู่ดี
+บุญประสิทธิ์ กนกสิงห์
+บุญปลูก ขุมทรัพย์
+บุญปลูก รุจินาม
+บุญผ่อง รุธันว์
+บุญพันธ์ ทัศนอัมพร
+บุญพา สาริกา
+บุญมั่น ขวัญยืน
+บุญมา เขียวชอุ่ม
+บุญมา แซ่ฉั่ว
+บุญมา นวลสวาท
+บุญมา พุ่มเรือง
+บุญมา วรรณสุทธิพงศ์
+บุญมา เสือแซมเสริม
+บุญมาก ชูศรี
+บุญมี กรรณสูต
+บุญมี งามจิตรุ่งเรือง
+บุญมี ชีวสาธน์
+บุญมี ทวีตระกูล
+บุญมี บุญล้วน
+บุญมี พิษณุวงศ์
+บุญมี โยธาดึก
+บุญมี ศรมยุรา
+บุญมี สุจิตรวัฒนะสุข
+บุญมี เอี่ยมหุ่น
+บุญยง รัตนานันท์
+บุญยงค์ นามดี
+บุญยงค์ แสงมณี
+บุญยะรัตน์ คล้านสินธุ์
+บุญยัง เปียทอง
+บุญยิ่ง กฤษณะประสิทธิ์
+บุญยิ่ง ภาณุศานต์
+บุญยิน สุขมณี
+บุญยืน ทองแจ้ง
+บุญยืน รักษ์สุรวงศา
+บุญยูร อ่อนอำไพ
+บุญร่วม สุวรรณชาติกุล
+บุญรอด ไชยชนะ
+บุญรอด เนตรทิพย์
+บุญรอด มีเดชา
+บุญรอด สุขสารัญ
+บุญรักษ์ เกียรติประภาพกุล
+บุญรัตน์ เจริญพานิช
+บุญรัตน์ วรรณกิจ
+บุญรุ่ง พานิชวัฒน์
+บุญฤทธิ์ นุ้ยขาว
+บุญฤทธิ์ เอกสมสุข
+บุญล้อม ชาวกงจักร
+บุญล้อม วาณิชย์กูล
+บุญลาภ ขาวสอาด
+บุญลือ แข่งขันดี
+บุญลือ ไทรเมือง
+บุญลือ มีมาก
+บุญลือ แสงอินทร์
+บุญศรี กอบบุญ
+บุญศรี ไชยฮวดหล้ำ
+บุญศรี บัณฑุศิลาอาสน์
+บุญศรี มากรอด
+บุญศรี ศุขการค้า
+บุญศรี หลีกภัย
+บุญศักดิ์ เลิศวัฒนชัย
+บุญศิริ ยังเฟื่องมนต์
+บุญส่ง กวยรักษา
+บุญส่ง ขุนหนังสือ
+บุญส่ง จันทร์ฉายทอง
+บุญส่ง ฉันทแพทย์
+บุญส่ง ไชยสาม
+บุญส่ง ตั้งชัยฤกษ์
+บุญส่ง ทองจันทร์มูล
+บุญส่ง นัยริยสัจ
+บุญส่ง บุญอยู่คง
+บุญส่ง เปี่ยมพลาย
+บุญส่ง พานิชการ
+บุญส่ง ภู่พงศ์เพ็ชร
+บุญส่ง ใยพูล
+บุญส่ง ลุจนานนท์
+บุญส่ง วิวัฒนะชัยแสง
+บุญส่ง ศุภวัชรเสรีกุล
+บุญส่ง สาระภา
+บุญส่ง เสมทัพพระ
+บุญส่ง เหล่านพเก้าสกุล
+บุญส่ง อินทร์เหยี่ยว
+บุญสนิท ยามไสย
+บุญสม คำนวนวุฒิ
+บุญสม ชัยสุภา
+บุญสม ทองพันธุ์
+บุญสม บุญอินทร์
+บุญสม โพธิสิทธิ์
+บุญสม ลายหยก
+บุญสม สวนกุหลาบ
+บุญสม แสงเรือง
+บุญสม ฮิมสุ่น
+บุญสันติ์ ฉันทกิจโกศล
+บุญสิน สบายตัว
+บุญสืบ ทองนาก
+บุญสืบ ศาตวรรณ
+บุญสุภา กลิ่นมาลัย
+บุญหล่อ ยิ้มละมัย
+บุญอำไพ กุลสิริสวัสดิ์
+บุญเกิด แซ่ลิ้ม
+บุญเกิด รัตนประภาภาศ
+บุญเกิด อือนอก
+บุญเกียรติ วรงค์โอฬาร
+บุญเกื้อ ท่านัทธี
+บุญเจริญ ไกรกมล
+บุญเจือ รัตนสมบัติ
+บุญเชิด คันธรักษ์
+บุญเชิด เลิศนิมิตร
+บุญเต็ม จันทรเกตุ
+บุญเตือน ผ่องอำไพ
+บุญเทียน แพรนนท์
+บุญเทียม อาเพล
+บุญเนื่อง โลจะยะ
+บุญเพ็ญ พุทธประเสริฐ
+บุญเย็น บุญเรืองอนันต์
+บุญเยี่ยม อินทรไพบูลย์
+บุญเรียม ก้านขาว
+บุญเรือง ดวนด่วน
+บุญเรือง มิซากะ
+บุญเรือง เหลืองอรุณ
+บุญเรือน จันทร์บำรุง
+บุญเรือน ทวีกาญจน์
+บุญเรือน พลอยชู
+บุญเรือน วงษา
+บุญเรือน เหมะปัทมะ
+บุญเลิศ กิ่งคำ
+บุญเลิศ คารวะกุล
+บุญเลิศ เจริญสุข
+บุญเลิศ เณรแก้ว
+บุญเลิศ ทะปะสพ
+บุญเลิศ บัณฑิตวงศ์รัตน์
+บุญเลิศ เปี่ยมปิ่นเศษ
+บุญเลิศ โพธิ์อ่อง
+บุญเลิศ โยทา
+บุญเลิศ เลิศสกุลสมบูรณ์
+บุญเลิศ ศรีสุวรรณ
+บุญเลิศ สุขทอง
+บุญเลิศ เหม็งตระกูล
+บุญเลิศ เอกะวงษ์
+บุญเลี้ยง แป้นอิน
+บุญเลื่อน ศรีทรัพย์
+บุญเสริม โฆษะธรรมกูล
+บุญเสริม เนตรเก่ง
+บุญเสริม ลดาสุนทร
+บุญเสริม แสงแก้ว
+บุญเหลือ ด้วงทอง
+บุญเหลือ สินเต็ม
+บุญเอื้อ ตันยะกุล
+บุญแย้ม เกิดน้อย
+บุญโชติ ทิพย์ประเสริฐสิน
+บุญโฮม ฉายประดับ
+บุญไทย แกมวณิชกุล
+บุณธรรม พานรักษ์
+บุณรอด ศรีแพ่ง
+บุนนาค พุทพงษ์
+บุ้นหงี แซ่ด่าน
+บุบผา กุลเสวต
+บุบผา เซี้ยเจริญ
+บุบผา บุญนิธิวัฒนา
+บุบผา เพ็ชรประไพ
+บุบผา วงศ์แสนสุข
+บุบผา แสงพุ่ม
+บุปผา ก้านขาว
+บุปผา ตาฬวัฒน์
+บุปผา พานิชกูล
+บุปผา ศรีหะรัญ
+บุผา พันธ์ศรี
+บุรินทร์ นอขุนทด
+บุรี ชัยกิจไพบูลย์
+บุลเดช วิบูลผล
+บุศรา ธาราชีวิน
+บุศรา อรุณคุณารักษ์
+บุศรินทร์ ไตรวรเดชา
+บุษกร กรรมารางกูร
+บุษกร ประกาศเกตุการ
+บุษกร สันติวงค์
+บุษบง จันทรกูล
+บุษบงก์ ดิษฐจำเนียร
+บุษบา ชัยจินดา
+บุษบา เนืองนุช
+บุษบา เมชิรานุรักษ์
+บุษบา สงวนยศ
+บุษบาพรรณ อุดมวัฒน์ทวี
+บุษยา ประภายนต์
+บุษรา ชูแก้ว
+บุษราภรณ์ กิจสมุทร
+บุหงัน เจียเพิ่มพูล
+บุหงา ลายประดิษฐ
+บุหลัน วรรัตนวงศ์
+บูรณะศิลป์ บุญสุวรรณ
+บู่ อุดมศรีสำราญ
+เบญจพร ดาวอุดม
+เบญจพร สุขสังวาลย์
+เบญจมา ก้อนทอง
+เบญจมาศ คุณาชีวะ
+เบญจมาศ ทองทิพย์
+เบญจมาศ เพลินประภาพร
+เบญจมาศ ศรีบุญเรือง
+เบญจมาศ เอื้อกาญจนวิไล
+เบญจรัตน์ สิงห์สมบุญ
+เบญจวรรณ คุณณะรักษ์ไทย
+เบญจวรรณ แซ่เฮง
+เบญจวรรณ บุญวัฒน์
+เบญจวรรณ รักท้วม
+เบญจวรรณ เศรษฐบุตร
+เบญจวรรณ อารี
+เบญจา แก้วล้วน
+เบญจา วงศ์ชินชัย
+เบญจารัตน์ อิงคเวทย์
+เบิกฟ้า เกตุนุติ
+เบ็ญจพร สนธิสมบัติ
+เบ็ญจมาศ เหมหงษ์ทอง
+เบ็ญจวรรณ บัวทอง
+เบ็ญจะ บุญศิริยานนท์ชัย
+เบ็ญจา สิงหเนตร
+แบรนด์ลี เอช
+ใบ คงขุนทด
+ปกจิตต์ ประมาญ
+ปกรณ์ เจียรสุต
+ปกรณ์ บุญสินสุข
+ปกรณ์ วงศ์วิทยาภิรมย์
+ปกรณ์ อินทราวุธ
+ปชา ตีระรัตน์
+ปฏินุช วงศ์ทองศรี
+ปฏิมา กาญจนมัย
+ปฐม คล้ายสุทธิ
+ปฐม อักษรศรี
+ปฐมรัตน์ อนุรักษ์เลขา
+ปณัษฐ์ ดวงอุดม
+ปณิธาน รวมวิญญูชัย
+ปทีป ไม้งาม
+ปทุม เปี้ยวนิ่ม
+ปทุม หาญกิตติสกุล
+ปทุมพร อมรจิรพร
+ปทุมรัตน์ วิวัฒน์สวัสดิ์
+ปนัดดา แก้วศรี
+ปนัดดา นามณี
+ปนัดดา วาริธร
+ปนัสยา พอนเจริญ
+ปภัสสร โคบายาชิ
+ปรง เรืองจุ้ย
+ปรวิชย์ โอภาส
+ประกอบ กฤษสุวรรณ
+ประกอบ จันทร์ตรี
+ประกอบ ดอกแก้ว
+ประกอบ นามวงศ์
+ประกอบ พวงทองทิพย์
+ประกอบ รัตนสวัสดิ์
+ประกอบ ศิริโชตะ
+ประกอบ อนันตกุล
+ประกาย จุฬวนิช
+ประกายรัตน์ ตันธีรวงศ์
+ประการ นุชบุษบา
+ประกาส กัณฐัศแก้ว
+ประกิจ ตรีกิตตินุรักษ์
+ประกิจ ยอดยรรยง
+ประกิจ อิงภานุวงศ์
+ประกิต ธนาเจริญภิรมย์
+ประกิต วิศวกรวิศิษฏ์
+ประครอง โชคโสด
+ประคอง เจ็งน้อย
+ประคอง นิลฉาย
+ประคอง พัวพงษ์ทอง
+ประคอง โรจน์รักษ์
+ประคอง สุขพุ่ม
+ประคองศรี เจริญลาภ
+ประจง สิทธิวณิช
+ประจบ วงษ์นิ่ม
+ประจวบ แก่นจันทน์
+ประจวบ จันทรา
+ประจวบ แซ่ลี้
+ประจวบ เที่ยงบุญ
+ประจวบ บุญเอี่ยม
+ประจวบ พัชนีรัตนกรณ์
+ประจวบ มีวันดี
+ประจวบ เลี้ยงเกิด
+ประจวบ สมจิตร์
+ประจวบ แสงเสวต
+ประจวบ อุรุนานนท์
+ประจักร์ อ่ำสุข
+ประจักษ์ เจริญพัฒนานนท์
+ประจักษ์ ธาราฉัตร
+ประจักษ์ พังพานนาค
+ประจักษ์ วัฒนเดชาชาญ
+ประจักษ์ โสธรศักดิ์
+ประจำ วิเศษสมิต
+ประจิตร หามนตรี
+ประชญ มีชูศักดิ์
+ประชา กิจรัตนกาญจน์
+ประชา ชื่นแขก
+ประชา เทศทำนุ
+ประชา ป่างศรี
+ประชา ยิ้มพรพิพัฒน์ผล
+ประชา ศรีศศิวิมล
+ประชา องศ์เจริญวุฒิ
+ประชาวุฒิ โสวรวุฒินันท์
+ประชิต ธีรศาสตร์
+ประชีพ ชูพันธ์
+ประชุม ชวลิต
+ประชุม บัวเขียว
+ประชุม มุกดากรรณ์
+ประชุม สวัสดิวงศ์
+ประชุม เอี่ยมละออ
+ประณต บุนนาค
+ประณีต จิตตินันทน์
+ประดับ จิตติมาพร
+ประดับ พุ่มสุวรรณ์
+ประดับ โสภณกิตยาภรณ์
+ประดิษฐ จันทรา
+ประดิษฐ เลิศวิชา
+ประดิษฐ์ กลิ่นหอมรื่น
+ประดิษฐ์ จงสืบพันธ์
+ประดิษฐ์ ชูพึ่งอาตม์
+ประดิษฐ์ ทองพสิฐสมบัติ
+ประดิษฐ์ บุญมาก
+ประดิษฐ์ พรรณาโส
+ประดิษฐ์ มหพันธ์
+ประดิษฐ์ ลิมปิราษฎร์
+ประดิษฐ์ เวสารัชชนนท์
+ประดิษฐ์ สังข์สว่าง
+ประดิษฐ์ แสวงศักดิ์
+ประดิษฐ์ เอกอุ่น
+ประถม อิ่มสว่าง
+ประทวน นาคพลัง
+ประทวน อรรถโกวิท
+ประทาน นันทประไพ
+ประทิน จำปาเงิน
+ประทิน เบญจพล
+ประทิน ศงสนันทน์
+ประทินทิพย์ บัวพันธุ์
+ประทีป เกิดผล
+ประทีป จงมีเสร็จ
+ประทีป ชัยเฉลิมศักดิ์
+ประทีป เตชะประภาวกุล
+ประทีป นรมั่ง
+ประทีป ประไพลักษณ์
+ประทีป พุฒิสกุลวงศ์
+ประทีป ยิ้มสาระ
+ประทีป วงศ์เลิศ
+ประทีป สนใจพาณิชย์
+ประทีป เสียงหวาน
+ประทีป อุดมผล
+ประทุม ขวัญมา
+ประทุม เจริญชอบ
+ประทุม ดีโรจน์วงค์
+ประทุม นุชนวล
+ประทุม พรหมสนธิ์
+ประทุม ยุวานนท์
+ประทุม เวณุนันทน์
+ประทุม สุขมา
+ประทุม อวยศิริ
+ประทุมพิน มุตเงิน
+ประธาน ชุณหะสันต์
+ประธาน เวชชประสิทธิ์
+ประนอม ก้องสมุทร
+ประนอม โคศิลา
+ประนอม ชนะภัย
+ประนอม ตรีวิจิตรวิวัฒน์
+ประนอม ธงสวัสดิ์
+ประนอม บุญมาเลิศ
+ประนอม พงษ์ศรี
+ประนอม โพธิยานนท์
+ประนอม ยิ้มงาม
+ประนอม วงศาธิชัยสกุล
+ประนอม สถิรสมบัติ
+ประนอม สุวรรณเครือ
+ประนอม อังคเสถียร
+ประพงศ์ วัฒนสุข
+ประพจน์ มีทรัพย์
+ประพนธ์ เกษรางกูล
+ประพนธ์ นพสิทธิศุภพงษ์
+ประพนธ์ วัดมณี
+ประพร ยังประดิษฐ
+ประพฤทธิ์ ศุภพัฒนวรกุล
+ประพัฒน์พงษ์ บำเพ็ญสิทธิ์
+ประพัฒน์ ธนะธนิต
+ประพัฒน์ ลิมป์ธีระกุล
+ประพัฒน์ อุดมโภชน์
+ประพันธุ์ ขันธโสภา
+ประพันธ์ คล้ายสุบรรณ
+ประพันธ์ ฉัตรธนาอนันต์
+ประพันธ์ เดโชธรรมสถิต
+ประพันธ์ ธานีคำ
+ประพันธ์ ประภาพิทยากร
+ประพันธ์ พิพัฒน์อนันต์
+ประพันธ์ ยุชัย
+ประพันธ์ วงศ์แสงวิบูลย์
+ประพันธ์ ศิริโชติรุ่งขจร
+ประพันธ์ สุวรรณ์
+ประพันธ์ อัญญมณี
+ประพาศ ศกุนตนาค
+ประพาฬ แสนสุข
+ประพิทย์ ไชยอุทิตย์กุล
+ประพิมพ์ พุทธิรักษ์กุล
+ประพิศ บุญรุ่ง
+ประพิศ แสงอาทิตย์
+ประพีร์ อิฏฐกรพันธ์
+ประภัศร ไชยเศรษฐ
+ประภัสร์ พิศิษฐการ
+ประภัสสร ทองคำคูณ
+ประภัสสร ลุประสงค์
+ประภัสสร เอี่ยมโอภาส
+ประภา คำเพราะ
+ประภา ชารีอัน
+ประภา ตั๋นเจริญ
+ประภา นาคนิล
+ประภา พงษ์พิพัฒน์
+ประภา มีแสง
+ประภา วิเชียรสิงห์
+ประภา สุขพันธี
+ประภา อิงคนันท์
+ประภาทิพย์ ฉ เจริญผล
+ประภาพร แซ่ลิ้ม
+ประภาพร แย้มอ่วม
+ประภาพร อุบลวิรัตนา
+ประภาพรรณ บุณยะศรี
+ประภาพรรณ อิ่มพูลทรัพย์
+ประภาภรณ์ ผินแต
+ประภารัตน์ บางภิภพ
+ประภาวดี อำมฤตโชติ
+ประภาศรี คารวะตรีเดช
+ประภาศรี เที่ยงขำ
+ประภาศรี เมืองพรหม
+ประภาศรี สุนทเรกานนท์
+ประภาส เกตกะโกมล
+ประภาส ทับทิมทอง
+ประภาส พุทธิดิลก
+ประภาส ศิริอังคณา
+ประภาส โอภาสพันธ์วงศ์
+ประมวญ ประดิษฐโสภณ
+ประมวล คำเวียงจันทร์
+ประมวล เติมกุศลทรัพย์
+ประมวล บุญสิงห์ศร
+ประมวล ภูมิชัย
+ประมวล วิมลโนธ
+ประมวล สุวรรณจินดา
+ประมวลศรี สินอาษา
+ประมาน สุงสุวรรณ
+ประมุข พรหมรัตน์พงศ์
+ประมูล ชูแก้ว
+ประยงค์ กิตติการุณจิต
+ประยงค์ ใจดี
+ประยงค์ ตัณฑ์สุทธิวงค์
+ประยงค์ บัวขจร
+ประยงค์ พ่วงทรัพย์
+ประยงค์ รอดนำพา
+ประยงค์ สง่าวงค์
+ประยงค์ หงษ์อ่อน
+ประยวช นิลพันธ์
+ประยุทธ ขจรกวินกุล
+ประยุทธ ไชยมาตร
+ประยุทธ นิมิตหลิวพานิชย์
+ประยุทธ พุ่มชูศรี
+ประยุทธ วงศ์ประทุม
+ประยุทธ สุทธิสานนท์
+ประยุทธ์ โกวิทวณิชกานนท์
+ประยุธ ยินดีพิธ
+ประยูร แก้วบัณฑิต
+ประยูร จงมีพรชัย
+ประยูร แจ้งจิตร
+ประยูร ไชโย
+ประยูร ทองประทุม
+ประยูร นิ่มขาว
+ประยูร บูรณศิริ
+ประยูร พรสัมพันธ์สุข
+ประยูร ภูมิโสม
+ประยูร รอยตระกูล
+ประยูร เลิศไชยประดิษฐ์
+ประยูร ศรีวิไล
+ประยูร สำเนียงงาม
+ประยูร หงษ์โต
+ประยูร อุณรุท
+ประลอง สุทธินันทสุข
+ประวัติ จิระสถิตย์
+ประวัติ นพรัตนราภรณ์
+ประวัติ รัตนวิภาพงษ์
+ประวัติ สุทธิสารเศรษฐ์
+ประวิง นวลกะสิน
+ประวิช อัชฌาสุทธิคุณ
+ประวิตร วงศ์จิตตาโภค
+ประวิทย์ กังกล
+ประวิทย์ จงจิตสำราญ
+ประวิทย์ เจาสุริยตระกูล
+ประวิทย์ แซ่ปึง
+ประวิทย์ เตชะบูรณเทพาภรณ์
+ประวิทย์ นานาชิน
+ประวิทย์ ปาลศรี
+ประวิทย์ พูลเกษร
+ประวิทย์ รติสิน
+ประวิทย์ เลิศเธียรดำรง
+ประวิทย์ วุฒินภารัตน์
+ประวิทย์ สายจันทร์หอม
+ประวิทย์ แสงไชย
+ประวิทย์ อารีสงเคราะห์กุล
+ประวีณ จันทร์เจริญ
+ประวุฒิ ศรีมันตะ
+ประศาสน์ บุรินทร์วัฒนา
+ประสงค์ กำแหงฤทธิ์
+ประสงค์ แคล้วโยธา
+ประสงค์ เจิดสกุลบุญ
+ประสงค์ แซ่ยิ้ม
+ประสงค์ ตู้จินดา
+ประสงค์ ธำรงวัฒนเลิศ
+ประสงค์ ปทุมเดชะ
+ประสงค์ พรชัยวรกุล
+ประสงค์ แพประเสริฐ
+ประสงค์ รอดเชื้อ
+ประสงค์ วงศ์ชนะภัย
+ประสงค์ ศรีชัยศิริเวช
+ประสงค์ สวนสมจิตร
+ประสงค์ สุวรรณประเทศ
+ประสงค์ อย่างธารา
+ประสบ โต๊ะตระกูล
+ประสพ นวลเถลิงศักดิ์
+ประสพ หัสขันธิ์เปี่ยมสุข
+ประสพสิน ศุขเอี่ยม
+ประสพโชค วุฒิสาร
+ประสม สีน้ำเงิน
+ประสาท เกษตระชนม์
+ประสาท ตั้นเส็ง
+ประสาท พิทักษ์พงศ์ศิริ
+ประสาท ศรีนาค
+ประสาท อร่ามกุล
+ประสาธน์พล คล่องการเขียน
+ประสาน เกษประดิษฐิ์
+ประสาน เฉลยภาพ
+ประสาน เตชะประภาวกุล
+ประสาน บุญรุตน์
+ประสาน พึ่งบุญพานิชย์
+ประสาน เรืองแจ่ม
+ประสาน ศิริบุญ
+ประสาน สุระเรืองชัย
+ประสาน อินทศักดิ์อุบล
+ประสาร ขจรกลิ่น
+ประสาร ธรรมจำรัส
+ประสาร มีสมมนต์
+ประสาร แสงศรี
+ประสิทธิ สิงห์เจริญกิจ
+ประสิทธิ์พร วิริยะประพันธ์
+ประสิทธิ์ กวินปณิธาน
+ประสิทธิ์ กิติศักดิ์กุล
+ประสิทธิ์ แก้วสมนึก
+ประสิทธิ์ คนซื่อ
+ประสิทธิ์ จงอัศญากุล
+ประสิทธิ์ จันไกรผล
+ประสิทธิ์ จุ้ยนิ่ม
+ประสิทธิ์ ฉลองธนากุล
+ประสิทธิ์ ชางประยูร
+ประสิทธิ์ เชื้อชาวนา
+ประสิทธิ์ แซ่หุ่น
+ประสิทธิ์ เดชวนิชยนุมัติ
+ประสิทธิ์ ตันสงวนวงษ์
+ประสิทธิ์ ทรงคะมาลี
+ประสิทธิ์ เทพเอื้อตระกูล
+ประสิทธิ์ นวลอนงค์
+ประสิทธิ์ บรรทัดเที่ยง
+ประสิทธิ์ บุญแก้ว
+ประสิทธิ์ ประเสริฐเลิศ
+ประสิทธิ์ ปุระมาปัด
+ประสิทธิ์ พรพิพัฒน์
+ประสิทธิ์ พันแสงดาว
+ประสิทธิ์ เพชรสุขสันติ์
+ประสิทธิ์ ภู่งามชื่น
+ประสิทธิ์ มานะผล
+ประสิทธิ์ ยืนยง
+ประสิทธิ์ รุ่งธีรกุล
+ประสิทธิ์ ลิมป์วัฒนกุล
+ประสิทธิ์ วงค์ภู่
+ประสิทธิ์ วัชระไพโรจน์
+ประสิทธิ์ วีระพานิชเจริญ
+ประสิทธิ์ ศรีอุทารวงศ์
+ประสิทธิ์ สกุลนามอเนก
+ประสิทธิ์ สันตโยดม
+ประสิทธิ์ สีมาธรรมรัตน์
+ประสิทธิ์ สุทธิศิริกุล
+ประสิทธิ์ แสงภักดี
+ประสิทธิ์ หาญกล้า
+ประสิทธิ์ อ้นปันส์
+ประสิทธิ์ อามินเซ็น
+ประสิทธิ์ เอียดแก้ว
+ประสูต ชาญจำลอง
+ประหยัด คล้อยพึ่งอาจ
+ประหยัด แดงอินทวัฒน์
+ประหยัด บุญส่ง
+ประหยัด ม่วงเลี้ยง
+ประหยัด เศรษฐวงศ์
+ประหลาท นวราช
+ประเจษฎ์ ขจรนันทน์
+ประเชิญ ปั้นทอง
+ประเดิม ยุวเทพากร
+ประเทือง กงทอง
+ประเทือง คงมนต์
+ประเทือง เจียไพแก้ว
+ประเทือง ติณะมาศ
+ประเทือง นิตยะ
+ประเทือง เปาชม
+ประเทือง มหารักขกะ
+ประเทือง เล็กใจกล้า
+ประเทือง สังขสูตร
+ประเทือง หาพจน์
+ประเทืองทิพย์ สุขดี
+ประเมิน ขันธารักษ์
+ประเวช ภักดีประพันธ์
+ประเวศ กุลวิจิตรรังสี
+ประเวศ ภาสวรเวช
+ประเวศน์ บุญวิภารัตน์
+ประเสริฐ กลั่นประสม
+ประเสริฐ กิจเจริญวิศาล
+ประเสริฐ เกิดภู่
+ประเสริฐ ขวัญทะเล
+ประเสริฐ ครองศักดิ์ศรี
+ประเสริฐ โคตรประทุม
+ประเสริฐ จังสถิตย์กุล
+ประเสริฐ จิตต์จารึก
+ประเสริฐ เจตน์สมบูรณ์
+ประเสริฐ ฉากงาม
+ประเสริฐ ชาญฐิติเวช
+ประเสริฐ เชิดชูความดี
+ประเสริฐ แซ่ลิ้ม
+ประเสริฐ ดารารัตน์
+ประเสริฐ ตั้งจรรยาธรรม
+ประเสริฐ เติมประยูร
+ประเสริฐ ทวีโชติช่วง
+ประเสริฐ ทัศนศร
+ประเสริฐ ธรรมรัตโนทัย
+ประเสริฐ นันทสันติ
+ประเสริฐ เนียมกุลรักษ์
+ประเสริฐ บุญรัตน์
+ประเสริฐ ประมงกิจ
+ประเสริฐ ปานสุข
+ประเสริฐ ผาสุถาน
+ประเสริฐ พฤกษางกูร
+ประเสริฐ พีระแพทย์
+ประเสริฐ โพธิเจริญ
+ประเสริฐ ภูมิจันทร์
+ประเสริฐ มักพิมล
+ประเสริฐ มูฮำมัดอารี
+ประเสริฐ รมยศิริไทย
+ประเสริฐ รุจิธารณรงค์
+ประเสริฐ ลาภดารา
+ประเสริฐ เลาหเลิศชัย
+ประเสริฐ วงศ์อัครกุล
+ประเสริฐ วัฒนะชัยศรีสกุล
+ประเสริฐ วุฒยประดิษฐ์
+ประเสริฐ ศรีสุภางค์
+ประเสริฐ ศึกวัฒนา
+ประเสริฐ สวนปรางค์
+ประเสริฐ สายวัฒนาสุข
+ประเสริฐ สุขบาง
+ประเสริฐ สุบินมิตร
+ประเสริฐ เส็งสุข
+ประเสริฐ หรูลักษณานนท์
+ประเสริฐ เหลืองศุภชัยกุล
+ประเสริฐ อยู่พุ่มพฤกษ์
+ประเสริฐ อาจเนียม
+ประเสริฐ อุดมศิริโภคศัย
+ประเสริฐ โอวะกุลวงศ์
+ประเสริฐศรี วงษ์สุรินทร์
+ประเสริฐิ์ ขาวบริสุทธิ์
+ประโมทย์ ไชยกิจ
+ประโยชน์ ไทยอุดม
+ประโยชน์ สนิทวงศ์
+ประไทย ประกอบกลิ่น
+ประไพ ขาวสุทธิ
+ประไพ จำเรียง
+ประไพ ชูประยูร
+ประไพ ตรีนิตย์
+ประไพ เทียนไทย
+ประไพ บุญยะรัตน์
+ประไพ พรมณะ
+ประไพ โพธิ์แหบ
+ประไพ รัตนะชีวะกุล
+ประไพ วิสาลสกล
+ประไพ สร้อยสนธิ์
+ประไพ แสงเดช
+ประไพ อินเอี่ยม
+ประไพพรรณ เก็จวลีวรร
+ประไพพรรณ์ ชะเอม
+ประไพรัตน์ กาญจนพิบูลย์
+ประไพศรี ดวงแก้ว
+ประไพศรี ศรีภิรมย์
+ปรัชญา จรูญโรจน์
+ปรัชญา วิทยาพันธุ์
+ปรัญญา จันทราภรณ์
+ปราการ บ้านเกาะ
+ปรางค์ แก้วงาม
+ปราจิณ วุฒานุสร
+ปราณี กฤษณกรี
+ปราณี กิตติคุณ
+ปราณี แก้วคำ
+ปราณี คงประโยชน์
+ปราณี คุ้มจั่น
+ปราณี จันทร์ทวีลาภ
+ปราณี จิวะพงษ์
+ปราณี ฉัตรไพศาลสุข
+ปราณี ชาญช่างทหาร
+ปราณี โชคชัยเฉลิมวงศ์
+ปราณี แซ่ตั้ง
+ปราณี แซ่เฮ้ง
+ปราณี ตรงเวโรจน์
+ปราณี เตียเติมศุภผล
+ปราณี ทองดอนพุ่ม
+ปราณี ทู้ไพเราะ
+ปราณี ธุรกิจวงค์
+ปราณี นิยมเสน
+ปราณี บุญกล่ำ
+ปราณี ประดิษฐ์สุดสวาท
+ปราณี ปาพจนานนท์
+ปราณี เผือกเกษม
+ปราณี พฤติศรัณยนนท์
+ปราณี พิเนตรเสถียร
+ปราณี โพธิ์มี
+ปราณี มหัตเดชกุล
+ปราณี ไม้สัก
+ปราณี รังสิยานนท์
+ปราณี โรจน์พจนารัช
+ปราณี เลาหะกุลธรรม
+ปราณี วรฉัตราวณิช
+ปราณี วิทุรวงศ์
+ปราณี ศรีทัย
+ปราณี ศิริทัศนกุล
+ปราณี สมบูรณ์ศักดิ์
+ปราณี สายเจริญ
+ปราณี สุขธีวุฒิ
+ปราณี สุริยะฉาย
+ปราณี แสนสุข
+ปราณี หิตะหุ่ง
+ปราณี อยู่เสนาสน์
+ปราณี อำไพสุวรรณ
+ปราณี เอกสิริลัญจกร
+ปราณีต ชวาลกุล
+ปราณีต พึ่งพงศ์
+ปราณีต เหมือนใจ
+ปรานอม จิตรบำรุง
+ปรานอม มิตรธรรมศิริ
+ปรานี เดชมณี
+ปรารถนา จันทร์แกมแก้ว
+ปรารถนา มิลินทจินดา
+ปรารภ รัตพันธุ์
+ปราศรัย อัจฉรารักษ์
+ปราโมท ยินดี
+ปราโมทย์ คงธนะ
+ปราโมทย์ จำปาทอง
+ปราโมทย์ ชุติมา
+ปราโมทย์ ตำราเรียง
+ปราโมทย์ นภาแจ้ง
+ปราโมทย์ บุณยรังสฤษฎ์
+ปราโมทย์ พงศ์กล่ำ
+ปราโมทย์ มกรพฤกษ์
+ปราโมทย์ โรจนวิภาต
+ปราโมทย์ วโรดมวนิชกุล
+ปราโมทย์ สรรเพชรศิริ
+ปราโมทย์ สุบรรณพงษ์
+ปราโมทย์ โห้ใย
+ปริกกีปาล ซิงห์
+ปริญญา คำทะเนตร
+ปริญญา ติรณะประกิจ
+ปริญญา เปรมธีรสมบูรณ์
+ปริญญา แย้มชมสวน
+ปริญญา ศรีสุริโย
+ปริญญา เหมมาชูเกียรติกุล
+ปริญดา นิลจรัสวณิช
+ปริทปาลซิงห์ ซาบาดา
+ปริม คุณะเกษม
+ปริยา ปัญญาพล
+ปริศนา แก้วรุ่งเรือง
+ปริศนา ประหารข้าศึก
+ปริศนา อัศวเรืองชัย
+ปรีชา กลางบุรัมย์
+ปรีชา กีรเศรษฐรุ่งทวี
+ปรีชา แก้วโกถม
+ปรีชา คล่องสู้ศึก
+ปรีชา เงินถาวรวัฒนา
+ปรีชา จารุศิรินุกุล
+ปรีชา เจริญชัยเพชร
+ปรีชา เฉลิมพล
+ปรีชา ชินะนาวิน
+ปรีชา ไชยวสุ
+ปรีชา แซ่โง้ว
+ปรีชา ตรัยศิลานันท์
+ปรีชา เตชทิพากร
+ปรีชา ทรัพย์สถิตย์
+ปรีชา ทิศาภาคย์
+ปรีชา ธาราสนธิ์
+ปรีชา นาสด
+ปรีชา บุญกลั่น
+ปรีชา เบญจนากาศกุล
+ปรีชา ปรีชาวิภาษ
+ปรีชา ผลมาก
+ปรีชา พรหมเกิด
+ปรีชา พิชยพิพัฒน์
+ปรีชา เพ็ชรน่วม
+ปรีชา ภู่สุดแสวง
+ปรีชา มีบุญพูลทรัพย์
+ปรีชา รวยประเสริฐ
+ปรีชา รุ่งเรือง
+ปรีชา ลิปิพัฒนกุล
+ปรีชา วงศ์จิตตาโภค
+ปรีชา วัฒนดิเรก
+ปรีชา วิไลรัตน์
+ปรีชา ศรีเรือง
+ปรีชา สงวนปี
+ปรีชา สว่างจิตต์
+ปรีชา สิทธิกิจ
+ปรีชา สุทธินิภาชัย
+ปรีชา เสรีวงศ์
+ปรีชา หอมพวงภู่
+ปรีชา อนุภาพประเสริฐ
+ปรีชา อัยสานนท์
+ปรีชา อุดมยิ่งเจริญ
+ปรีชาพล ผุสสรางค์มาลัย
+ปรีดา คงสุวรรณ
+ปรีดา แซ่ตั้ง
+ปรีดา บรรทัดพันธุ์
+ปรีดา พิบูลศักดิ์
+ปรีดา โรจน์บัวทอง
+ปรีดา สหนันทรายุทธ
+ปรีดา เอกศิรสุวรรณ
+ปรีดี ขุมสุวรรณ์
+ปรีดี สุทธิแย้ม
+ปรียพรรณ ไทยสวัสดิ์
+ปรียา จิรรักษ์โสภากุล
+ปรียา พงศานรากุล
+ปรียา สมุทรใหญ่
+ปรียานิจ ศรีแก่นจันทร์
+ปรียาพร แซ่อึ้ง
+ปรียาภา อภิสุข
+ปรุง เดชมานนท์
+ปรุงศรี เพชรบูรณ์
+ปรเมษฐ์ พรเลิศ
+ปลอดภัย พีรดัม
+ปลิว ดิษฐปัญญา
+ปลื้มจิตต์ จุฑรรพ
+ปวรินทร บุญยุบล
+ปวิตร์ สุธาวิยางกูร
+ปวีณา ตันสิน
+ปวีณา สนธิภักดี
+ป่วยล้วง แซ่จึง
+ปอง อาภาศิลป์
+ปอจู ตันติอนุกุลบุตร
+ป้อม ประจำมูล
+ปะวิง ศิริกิจ
+ปัญจพงษ์ แซ่ตั้ง
+ปัญจรัตน์ ยุทธวงศ์
+ปัญจาภรณ์ พรหมายน
+ปัญญา กาหลง
+ปัญญา คุณวุฒิดีเลิศยิ่ง
+ปัญญา แจ้งการดี
+ปัญญา แซ่โง้ว
+ปัญญา ทองศรี
+ปัญญา นิลสินธพ
+ปัญญา ปิ่นปาน
+ปัญญา พุ่มลำเจียก
+ปัญญา รอดเครือมิตร
+ปัญญา วรรณกระจ่าง
+ปัญญา ศรีใส
+ปัญญา สุขวัฒนทรัพย์
+ปัญญา ห่านสิงห์
+ปัญญา เอ่งฉ้วน
+ปัณชารีย์ เลี้ยงบำรุง
+ปัทมา กุลปัญญาเลิศ
+ปัทมา ชาญชัยศรี
+ปัทมา ตุลารักษา
+ปัทมา เปี่ยมสัมฤทธิ์
+ปัทมา เมืองทองแก้ว
+ปัทมา วิปัสสนาธรรม
+ปัทมา สุขก้อน
+ปัทมา อาระยานิมิตสกุล
+ปัทมาวดี บุหลัน
+ปั้น โชติกะพุกกะณะ
+ปาน แก้วชนะ
+ปานคำ ลัวะตื้น
+ปานชัย แก้วอัมพร
+ปานทิพย์ นามไชย
+ปานฤทัย ตั้งใจ
+ปานเสก อาทรธุระสุข
+ปารวีร์ บุญโต
+ปาริชาต ก้อนนาค
+ปาริชาติ กราเซียนี่
+ปาริชาติ ทัพภะสุต
+ปาริชาติ ระวังสำโรง
+ปาริชาติ เสวกพันธ์
+ปาลิดา คณารมย์
+ปิง พานิชยานนท์
+ปิติ ปิ่นสุกาญจนะ
+ปิติพงศ์ คุณพงศ์ไพศาล
+ปิ่น กิจเมธี
+ปิ่น มณีบุตร
+ปิ่นทอง ศาลยาชีวิน
+ปิ่นอนงค์ พรหมดวง
+ปิยฉัตร อิศรเสนา ณ อยุธยา
+ปิยนันท์ ทรงสกุล
+ปิยนุช คารวะพิทยากุล
+ปิยพงศ์ ติณสูลานนท์
+ปิยพรรณ แย้มน้อย
+ปิยรัตน์ จาตุรันตบุตร
+ปิยวรรณ คำพยา
+ปิยวรรณ ศรีคต
+ปิยวุฒิ งามพล
+ปิยะ จารุศุกร
+ปิยะ เถื่อนเมือง
+ปิยะ เปสตันยี
+ปิยะ วงศ์สวัสดิ์
+ปิยะ อัชชเสวิน
+ปิยะชาติ จันทรัตน์
+ปิยะดา ล้อศิรินันท์
+ปิยะนาถ ชุ่มอระ
+ปิยะนุช บุญรัตน์
+ปิยะพงศ์ ปิยางสุ
+ปิยะพร นิลฉาย
+ปิยะพันธ์ สีดอกบวบ
+ปิยะรัตน์ ดำรงค์กุล
+ปิยะวดี วิริยะชาติ
+ปิยะวรรณ สุคนธสิงห์
+ปิยะศิริ งามถิ่น
+ปิยาภรณ์ ชินูปการพงศ์
+ปิยเศรษฐ์ วรอาตมพิทักษ์
+ปียาภรณ์ ม่วงกุล
+ปุณณรัตน์ โพธิกำจร
+ปุ่ม มาลากุล
+เป บุญกอง
+เปรม จันทรา
+เปรมกมล เกิดเดช
+เปรมจิตต แพ่งสถา
+เปรมจิตต์ สารธิราช
+เปรมชัย เตชะมงคลาภิวัฒน์
+เปรมพันธ์ ชมภูรัตน์
+เปรมฤดี วงศ์ทองคำ
+เปรมวดี รัตนศิรินทรวุธ
+เปรมสิทธิ์ เติมจรัส
+เปรียบ บุญลือ
+เปลว อยู่สอาด
+เปล่ง นิ่มคำ
+เปาลิน เกียรติยศนุสรณ์
+เปี่ยมศรี เจริญสุข
+เปี๊ยก ล้วนเจริญ
+เป้ง แซ่อื้อ
+เป้า โพธิ์เนืองผล
+เป๋งไก แซ่เจี่ย
+แป้น ระดมงาม
+โปรยมาศย์ ศรีทองกุล
+โป๊ะชัย แซ่จัง
+ผกา นรนิตชัยกุล
+ผกากรอง พุ่มวงศ์สำเนียง
+ผกาพรรณ ปะติเส
+ผกามาศ ตีรณธาดา
+ผกามาศ สิทธิพล
+ผกาวรรณ เทียมทองคำ
+ผกาแก้ว ลีนะบรรจง
+ผจงสุข อังประทีป
+ผจญ หีบแก้ว
+ผดุง ทองบริสุทธิ์
+ผดุง สิงหเสนี
+ผดุงศักดิ์ ธนากิจเจริญสุข
+ผดุงเกียรติ เอื้ออารยะมนตรี
+ผล ปองสุข
+ผลัด เอาฬาร
+ผสาร สุทัศน์ ณ อยุธยา
+ผ่อง ยุทธารักษ์
+ผ่องพรรณ จงไชโย
+ผ่องพรรณ ภิยโยดิลกชัย
+ผ่องพิศ ศิริพานิช
+ผ่องศรี เจยเสนานนท์
+ผ่องศรี นกแก้ว
+ผ่องศรี เพศยนาวิน
+ผ่องศรี วิเศษสุข
+ผ่องศรี อินทรลาวัณย์
+ผ่องใส พาหุรัตน์
+ผ่อน อ่วมวงษ์
+ผัน บุญชิต
+ผาณิต จันทรเทศ
+ผาด กำเหนิดแก้ว
+ผานิต เจริญพงศ์พัฒนะ
+ผาสิต หิรัญญชาติธาดา
+ผาสุข พร้อมเพรียง
+ผิน ก้อนทองดี
+ผิน ศรีอุเทนชัย
+ผิวพรรณ เปียแก้ว
+ผุสดี เขียวพันธุ์
+ผุสดี เบ็ญจมินทร์
+ผุสดี ศรีสำราญ
+ผูกจิต อินทวงศ์
+เผชิญ ยอดยิ่ง
+เผดียง ชัยอัศวรักษ์
+เผด็จ ผู้พัฒน์
+เผด็จชัย ศรีสุวรรณ
+เผือด ทองทิพย์
+เผ่าพงษ์ ใจเจตนกุศล
+แผ่ว เพ็งชะอุ่ม
+ไผ่เทพ กิมเฮียะ
+ฝ้าย ศิริพันธ์
+พงพจน์ เลิศเจียมรัตน์
+พงศกร เส็งสำราญ
+พงศ์ชาย เกียรติกิตติพงษ์
+พงศธร เลิศภูตราช
+พงศ์นรินทร์ พงษ์สิน
+พงศ์พันธุ์ แพทย์พงศ์
+พงศ์รัตน์ รัตนภากร
+พงศ์ศักดิ์ แซ่แต้
+พงศ์ศักดิ์ วัฒนาศรมศิริ
+พงศ์สวัสดิ์ หมู่พงศ์สุวรรณ
+พงศา แสนใจงาม
+พงศ์เทพ อันตะริกานนท์
+พงษกร พัชรไพศาล
+พงษ์ชัย เฉลิมกลิ่น
+พงษ์ชาติ กอหาญ
+พงษ์ธร สุดยอดบรรพต
+พงษ์พัฒน์ ธีรประเทืองกุล
+พงษ์พันธ์ พันธุ์เสือ
+พงษ์ยุทธ ณ พัทลุง
+พงษ์ศรี แซ่ลิ้ม
+พงษ์ศักดิ์ คารวสิริธรรม
+พงษ์ศักดิ์ ชมภูอินตา
+พงษ์ศักดิ์ ดำรงชัยนิมิตร
+พงษ์ศักดิ์ ธีรภาพพิทักษ์
+พงษ์ศักดิ์ ปัญญจเร
+พงษ์ศักดิ์ เพิ่มทวีผล
+พงษ์ศักดิ์ รอบรู้
+พงษ์ศักดิ์ วงศ์สุริยานนท์
+พงษ์ศักดิ์ ศรีสมศักดิ์
+พงษ์ศักดิ์ สินอวย
+พงษ์ศักดิ์ เหล่าเลิศชัย
+พงษ์ศานต์ ค้ำชู
+พงษ์สวัสดิ์ ธงศรี
+พงษ์สิทธิ์ เวชสิทธิ์
+พงษ์เกียรติ ชลวิไล
+พงษ์เทพ ทัพภมาน
+พงษ์เทพ สิตวาทิน
+พงษ์ กิตติมโนรม
+พงษ์ อัครถนอม
+พจน์ณรงค์ ศรีทัศนีย์
+พจนา ไกรประเสริฐโชค
+พจนา ปิยะวิสุทธิกุล
+พจนา ศิลา
+พจนาถ ศุภเศรษฐ์
+พจนารถ เอกญาติ
+พจนีย์ คุณปกรณ์ชัย
+พจนีย์ ปานภักดี
+พจนีย์ ศิริวัฒน์
+พจน์ เกิดผล
+พจน์ ธีรคุปต์
+พจน์ มั่นกันนาน
+พจน์ แสงนิล
+พจมาน ภู่ประดิษฐ์
+พจีรัตน์ รอดรัตนาทูล
+พดา เจริญวัฒนานนท์
+พนม ช้างมณี
+พนม ปานภักดี
+พนม เรืองศิลป์
+พนม หวังดี
+พนมพร นิ่มองคำ
+พนมวัลย์ กาญจนนัมพะ
+พนอ ตันธิประพันธ์
+พนอจันทร์ มาลากุล ณ อยุธยา
+พนัส ฉายสีศิริ
+พนัส สีมันตร
+พนานุรักษา พนานุรักษา
+พนาวัลย์ แคล้วเครือ
+พนิดา คาถา
+พนิดา แซ่ลี้
+พนิดา นาคอ่อน
+พนิดา เพคยางกูร
+พนิดา วงศ์พร้อมเจริญ
+พนิดา สุขโพธิ์เพ็ชร
+พนิต ทองวิจิตร
+พนินธา จ้อยชู
+พยงค์ จันทรังษี
+พยงค์ บุญลือ
+พยงค์ สารจันทร์
+พยนต์ คุ้มรำไพ
+พยนต์ พุตยบุตร
+พยนต์ อุทยานะกะ
+พยอม จั่นอุไร
+พยอม ทวีคูณ
+พยอม ปู่หิน
+พยอม รวมศิลป์
+พยอม สนธิธรรม
+พยอม อินทร์กิ่ง
+พยัพ นาคทั่ง
+พยุง จงปิยะโชติ
+พยุง ทับทอง
+พยุง ฟักเพชร
+พยุง สายัณหวิกสิต
+พยุงศรี จันทร์ศรี
+พยุงศักดิ์ สุขสถาน
+พยูร รักขาว
+พร ไตรรัตนวงศ์
+พร รุ่งเรือง
+พร อัศวพิทยา
+พรจันทร์ ชัยเธียรสุทธานัน
+พรจิตต์ พรหมบรรดาโชค
+พรชนก วรินทรเวช
+พรชัย กิจวรลักษณ์
+พรชัย เขมโชคนที
+พรชัย จันทบาล
+พรชัย เจี่ยสอาด
+พรชัย เชื่องหลิว
+พรชัย แซ่เจี่ย
+พรชัย เดชาประพันธ์
+พรชัย เตชะกนกสุวรรณ
+พรชัย ทุติยาภรณ์
+พรชัย นันทวิมล
+พรชัย ประภากรวรกุล
+พรชัย พรพัฒนาจิรพันธิ
+พรชัย พิริยวิทโยภาส
+พรชัย มงคลตรีมาศ
+พรชัย รัตนโชติพงศ์
+พรชัย ลี้ถาวร
+พรชัย วนาโรจน์
+พรชัย วีระกิตติ
+พรชัย ศิลาโภชน์
+พรชัย สิงห์กุล
+พรชัย สุรีย์กมลชัย
+พรชัย เหลืองจิตวัฒนา
+พรชัย อังสุรัตน์โกมล
+พรชัย เอี่ยมสุขมงคล
+พรณรงค์ ระดมทอง
+พรทวี อธิศิวกุล
+พรทิพย์ กาญจนสุนทร
+พรทิพย์ ขันทอง
+พรทิพย์ จอนแจ้ง
+พรทิพย์ เจริญกิจชัยชนะ
+พรทิพย์ ชินรัตน์
+พรทิพย์ แซ่ลี้
+พรทิพย์ เดชะทัศน์
+พรทิพย์ เตมีรักษ์
+พรทิพย์ ทิพยเสม
+พรทิพย์ นาคบุตร
+พรทิพย์ บุณโยทยาน
+พรทิพย์ ผลฟักแฟง
+พรทิพย์ พิณพิพัณน์
+พรทิพย์ ไพบูลย์
+พรทิพย์ มีทรัพย์สถาพร
+พรทิพย์ รัตนวิเชียร
+พรทิพย์ ลิขิตชีวะ
+พรทิพย์ วชิรานุกูล
+พรทิพย์ วิเศษพงษ์พันธ์
+พรทิพย์ ศิริเอี่ยม
+พรทิพย์ สารการ
+พรทิพย์ สุรชัยสติกุล
+พรทิพย์ หอมลอด
+พรทิพย์ อันประเสริฐพร
+พรทิพย์ ฮวบดี
+พรทิพา พณิชยางกูร
+พรทิภา ทองเขียว
+พรธิดา คงศิลป์
+พรนภา ปิ่นรัตน์
+พรนิดา สิทธิพรรัตนมณี
+พรนุช คืนคงดี
+พรประเสริฐ สุวรรธนะพาณิชย์
+พรพจน์ ป่านแก้ว
+พรพยง คูห์สุวรรณ
+พรพรรณ จิชชุกรจิรภัค
+พรพรรณ ฐานะเจริญกิจ
+พรพรรณ ธีระชาติ
+พรพรรณ พัชรวัฒนพงศ์
+พรพรรณ เย็นลำยอง
+พรพรรณ วิชญาเดชะ
+พรพรรณ สุนาพันธ์
+พรพรรณ์ ไทยเจริญ
+พรพันธุ์ ปิ่นโมรา
+พรพิพัฒน์ สวัสดิ์เวทิน
+พรพิมล จาดประดิษฐ์
+พรพิมล แซ่เบ้
+พรพิมล ธุรพันธ์
+พรพิมล พัฒนายุ
+พรพิมล ลอองสุทธิ์
+พรพิมล ศิลปสืบเชื้อ
+พรพิมล ใหม่นวล
+พรพิลาศ ศุภนานนทชัย
+พรพิศ อาภรณ์ศิริพงษ์
+พรพูล หลุยเจริญ
+พรมณี ไชยบุตร
+พรรณงาม กาพย์แก้ว
+พรรณทิพย์ งามละเมียด
+พรรณทิพย์ ไวทยานนท์
+พรรณทิพา มรกตสินธุ์
+พรรณนรา ปานณรงค์
+พรรณนิภา อุดมจรรยา
+พรรณพิมล แซ่ฮั่น
+พรรณยุพา ฮ่อสกุล
+พรรณรำไพ ดวงดี
+พรรณวดี อัมพุช
+พรรณอร ฉันทโรจน์
+พรรณิกา จันทร์เป้า
+พรรณิภา สิงห์โตเพ็ชร
+พรรณี เกิดเปี่ยม
+พรรณี โคตรักษา
+พรรณี จิรวศิน
+พรรณี ชื่นอุไทย
+พรรณี แซ่โค้ว
+พรรณี ตานะประทีปกุล
+พรรณี ธนภานนท์
+พรรณี บัวชุ่ม
+พรรณี ปูรณามระ
+พรรณี พิมลเกียรติ
+พรรณี มณีชาติ
+พรรณี รองโสภา
+พรรณี ลิ้มสุธาโภชน์
+พรรณี วัฒนายากร
+พรรณี ศรีอนุชาต
+พรรณี สันป่าแก้ว
+พรรณี เสมาทอง
+พรรณี อภิชัยทวีสิน
+พรรณี เอกสินเสริม
+พรรณใจ จันทร์สวัสดิ์
+พรรษพล ตั้งยะฤทธิ์
+พรรัชนี จ้อยพุทธ
+พรฤดี วงศ์ระลึก
+พรวารัตน์ สกุลโชติพาณิชย์
+พรวิไล เจริญชัยเพชร
+พรศรี ชลายนนาวิน
+พรศรี พิมพกรณ์
+พรศรี แสงฉวี
+พรศักดิ์ จำปาทอง
+พรศักดิ์ ทัพสิทธิ์
+พรศักดิ์ พิทักษ์นราธรรม
+พรศักดิ์ วิจิตรโสภณ
+พรศักดิ์ เหล่าตรงจริง
+พรศิริ ผาสุขกานนท์
+พรศุลี จันทร์ศิริศรี
+พรสวรรค์ แซ่เฮ้ง
+พรสวรรค์ ศักดิ์ธนวัฒน์
+พรสิทธิ์ อาศิรพงศ์พิศิษฐ์
+พรสุข ศิริวงศ์
+พรสุรีย์ เพิกจร
+พรหมพิศ ตั้งเลิศสัมพันธ์
+พรอำพัน ชวลิตนิธิกุล
+พร้อม อินทร์โต
+พร้อมศักดิ์ ณ สงขลา
+พริ้ง เถาว์เพ็ง
+พริ้มเพรา โน้ตศิริ
+พรเทพ ก่อเลิศรัศมี
+พรเทพ ฉัตรศิลป์ชัย
+พรเทพ ติงพิทักษ์สกุล
+พรเทพ ปรางค์นวรัตน์
+พรเทพ มหัธนสกุล
+พรเทพ วรกุลพิทักษ์
+พรเทพ สุทธิพิพัฒน์พงศ์
+พรเนตร แย้มงามเหลือ
+พรเพ็ญ ชำนาญกิจวนิช
+พรเพ็ญ ทับน้อย
+พรเพ็ญ มหาคุณโชติ
+พรเพ็ญ ศีตะจิตต์
+พรเพ็ญ อิงอนุรักษ์สกุล
+พรเลิศ รักสิฐ
+พรใจ องศ์ศิริกุล
+พฤฒิวรรณ สมบุญ
+พล กระต่ายโพธิ์
+พล พลรัตน์
+พล อาชีวะ
+พลชัย ส้มเขียวหวาน
+พลมิตร พูลสวัสดิ์
+พลศรี นิรันดร
+พลสินธุ์ ขลิบไหมทอง
+พลอยไพฑูรย์ ชาติประเสริฐ
+พลากร ห่วงกลจักร์
+พลเดช วรฉัตร
+พวง ปะกลาง
+พวงชมนาถ จริยะจินดา
+พวงทอง บุญประเสริฐเจริญ
+พวงทอง สระสม
+พวงทิพย์ มีสุข
+พวงผกา คงอุทัยกุล
+พวงพยอม งามลักษณ์
+พวงพันธ์ กฤษณธรณิศ
+พวงรัตน์ ถาวรรัตน์
+พวงวิไล จันทวงศ์
+พวงเพชร ชัยกุล
+พวงเพชร อินต๊ะวงค์
+พวงเพ็ญ จั่นเพ็ชร
+พวงเพ็ญ วิบูลย์สวัสดิ์
+พวงแก้ว พิมพสุต
+พสิษฐ์ ตุรงค์สมบูรณ์
+พอดี ชัยเวฬุ
+พอล รูดอล์ฟ
+พะจุณณ์ ตามประทีป
+พะเยาว์ โฉมงาม
+พะเยาว์ มาลาเวช
+พะเยีย แจ่มกระจ่าง
+พักตร์ศิริ ชูวานนท์
+พัชณี ชั้นพรภักดี
+พัชนี คุณแพ
+พัชนี นาถประชา
+พัชนี วิสิทธิ์
+พัชนีย์ บุญกรณ์
+พัชรชัย กุลหอมเนียม
+พัชรัตน์ แซ่โหล่
+พัชรา จิตตภัทรโรจน์
+พัชรา แตงนาค
+พัชรา ปานเสมศรี
+พัชรา มีทรัพย์
+พัชรา ศิวิลัย
+พัชรา อิงอรวิจิตร
+พัชราภรณ์ ช่างชุบ
+พัชราภรณ์ วงศ์มั่นกตัญญู
+พัชราวดี แพรัตกุล
+พัชรินทร์ การบริสุทธิ์
+พัชรินทร์ จันทริก
+พัชรินทร์ แซ่จิว
+พัชรินทร์ โต๊ะวนิชรักษา
+พัชรินทร์ ปรีดียานนท์
+พัชรินทร์ โพธิ์อ่อน
+พัชรินทร์ ราหุลปาน
+พัชรินทร์ ศรีชะบา
+พัชรินทร์ สุดใจ
+พัชรินทร์ อัศวนิก
+พัชรี เกตุหอม
+พัชรี จันทรดาวัลย์
+พัชรี ชูจิรวงศ์
+พัชรี ตั้งตระกูล
+พัชรี นรสิงห์
+พัชรี ปริปุรณะ
+พัชรี พันธุมจินดา
+พัชรี มากกรัด
+พัชรี ลิมปภาพันธุ์
+พัชรี ศรีกระจาย
+พัชรี สว่างพันธุ์
+พัชรี สุวพรศิลป์
+พัชรี อรัญทรวานิช
+พัชรีพร สุขโสมนัส
+พัชรีย์ สมเจริญ
+พัฒณี แซ่ลิ้ม
+พัฒนพงศ์ สุขโกษา
+พัฒนวงษ์ วานิช
+พัฒนะชัย ใสสว่างพันธ์
+พัฒนา ทิมสุวรรณ
+พัฒนา มีศุข
+พัฒนา สุมาลี
+พัฒนี บุญทวี
+พัฒน์ พลภัทรพิจารณ์
+พัด โพธิ์สระคู
+พัทธยา นิระมล
+พัทยา พิมพ์สะอาด
+พัน ผลเจริญ
+พันทิพา จันทรวรรณะ
+พันทิพา สุขประไพพัฒน์
+พันธ์ทิพย์ เนตรรังษี
+พันธวิทธิ์ ใจซื่อกุล
+พันธ์ศักดิ์ เย็นสกุลสุข
+พันธิภา ผลภาษี
+พันธุ์ทิพย์ สายสุนทร
+พันธุ์ศักดิ์ สร้อยคำ
+พันธ์เทพ มานะเกียรติตระกูล
+พันปี รัตนประภา
+พันเภา มินโด
+พัลลภ ธนะสมบูรณ์
+พัลลภ สวนไพรินทร์
+พัว ดีประเสริฐ
+พา จันทร์เที่ยง
+พาณิช ภักตร์เจริญ
+พาณี บำเพ็ญบุณย์
+พาณี สุขสวัสดิ์
+พานิช จิตรแจ้ง
+พานิต ศรีสุกใส
+พายัพ เชื้อสุวรรณ
+พารา เอี่ยมมะโนชญ์
+พาสุข ตั้งตรัสธรรม
+พิกุล เจริญวัย
+พิกุล น้อยผาง
+พิกุล มโนภิญโญภิญญะ
+พิกุล สาระ
+พิงค์ศิริ สุนทรชาติ
+พิจิตร เจริญทรัพย์
+พิจิตรา ชงัด
+พิชญ์นรี สันประเสริฐ
+พิชญาณี เลอเลิศกุล
+พิชัย กฤษฎาพิพัฒน์
+พิชัย เขมทโรนนท์
+พิชัย จำปางาม
+พิชัย ชยสดมภ์
+พิชัย แซ่ตั้ง
+พิชัย ตันตินวะชัย
+พิชัย แทนประยูร
+พิชัย บัวมาศ
+พิชัย เปรมทอง
+พิชัย พิริยะเสถียรกุล
+พิชัย มิ่นสุข
+พิชัย รุ้งทาบนภา
+พิชัย วงศ์กุศลสิริ
+พิชัย วุฒิจำนงค์
+พิชัย สถาวรมณี
+พิชัย สุนทรอำพล
+พิชัย หาญณรงค์ฤทธิ์
+พิชัย อินทรพิพัฒน์
+พิชา วัฒนะธารี
+พิชิต กรานเลิศ
+พิชิต จุลฤกษ์
+พิชิต ตั้งสหไมตรี
+พิชิต บุณยเสนา
+พิชิต ภักดิ์แจ่มใส
+พิชิต วัชราดิลกกุล
+พิชิต สิริวุฒิจรุงจิตติ์
+พิชิต เอี่ยมละออ
+พิฑูรย์ ตันติอมรพงษ์
+พิณทิพย์ บริบูรณ์สุข
+พิณสรวง วงศ์วิลัย
+พิทยา คุณาวิริยะสิริ
+พิทยา นุชเจริญ
+พิทยา แย้มศรวล
+พิทยา สุขใจเจริญเวช
+พิทย์ เศรษฐพิทยากุล
+พิทักษ์ จันทร์หอม
+พิทักษ์ ตั้งชูทวีทรัพย์
+พิทักษ์ ปราดเปรื่องเวทย์
+พิทักษ์ เมฆสกุลรัตน์
+พิทักษ์ ศรีตะวัน
+พิทักษ์ หวังศิริสมบูรณ์
+พิธาน คุณพรศรีภิรมย์
+พิน สมาธิ
+พินัย จงศิริรักษ์
+พินิจ กานติกุล
+พินิจ เจริญวิวัฒนกุล
+พินิจ ตริการชอบ
+พินิจ บุญวิเศษ
+พินิจ ภคสกุล
+พินิจ ว่องเมทินี
+พินิจ สุนากร
+พินิจเสนาการ พอ พระ
+พินิตศักดิ์ อ่องจรูญ
+พิบูล อินทรสวัสดิ์
+พิบูลย์ ไทยเจริญ
+พิบูลย์ วิเชียรวรรณ
+พิพัฒนพงษ์ รักยุติธรรม
+พิพัฒน์ จงเจริญกมล
+พิพัฒน์ เชี่ยวหัตถ์พงษ์
+พิพัฒน์ ทองศรีนาค
+พิพัฒน์ ปลื้มเจริญ
+พิพัฒน์ พิชิตนภากุล
+พิพัฒน์ รวยแท้
+พิพัฒน์ วงศาโรจน์
+พิพัฒน์ ศุภสิงห์ศิริปรีชา
+พิพัฒน์ หทัยวสีวงศ์
+พิพัฒน์ โอมพรนุวัฒน์
+พิภพ จันทรโสภาคย์
+พิภพ เลาคำ
+พิภาดา เจริญจันทร์
+พิมพ์กาญจน์ หล่อศิริไพบูลย์
+พิมพ์ประไพ บุณยะประภูติ
+พิมพ์พร มณีรัตน์
+พิมพ์พา ทิพวัลย์
+พิมพร พิมเภาว์
+พิมพรรณ เปรมธาดา
+พิมพ์วัลย์ สุวรรณประกร
+พิมพา งามเงิน
+พิมพา พงศกรรุ่งโรจน์
+พิมพา หนูแก้ว
+พิมพิศ วุฒิธรรมาภรณ์
+พิมพ์ใจ นำสุวิมลกูล
+พิมพ์ใจ หอมจันทร์
+พิมพ์ วงษ์จันทร์
+พิมล เจริญยิ่ง
+พิมล ปีติยา
+พิมล วีรวัฒน์พงศ์
+พิมลพร มหัธนากร
+พิมลพรรณ เหลี่ยมมุกดา
+พิมลรัตน์ อังกูรสิทธิ์
+พิมานมาศ สถิตย์ทรัพย์
+พิรยุทธ โทสูงเนิน
+พิริยะ กิ่งขจี
+พิรุณ เจริญกุล
+พิรุณรัตน์ สุงสุวรรณ
+พิวัฒน์ วิภาวีพิทักษ์
+พิศณุ เจริญนุกูล
+พิศมร ถิรจิตต์สิริ
+พิศมัย เคียงประพันธ์
+พิศมัย ไชยวัฒน์
+พิศมัย นพรัตน์บัญฑิต
+พิศมัย พัฒนา
+พิศมัย เลาห์หิรัญญากุล
+พิศมัย สิริชูติวงศ์
+พิศมัย อินทร์รจนา
+พิศวง มีสุวรรณ
+พิศสมัย เอกอุ่น
+พิศาล ฉายากล
+พิศาล มโนลีหกุล
+พิศาล โฮตระกูล
+พิศิษฐ อักษรพันธ์
+พิศิษฐ์ ทองมั่นคง
+พิศิษฐ์ รงควิลิต
+พิศิษฐ์ เอกปัญญากุล
+พิศเสน่ห์ นิ่มนวล
+พิษณุ ไตรปิ่นเพ็ชร
+พิษณุ มาลยานนท์
+พิษณุ แสงสาคร
+พิสนธิ์ ศรีภัทรโชติ
+พิสมัย นุธิรงค์
+พิสมัย หล้าล้ำ
+พิสันต์ โอสุวรรณ
+พิสิฏฐ อัศวเพชรฤกษ์
+พิสิฐ จันทร์จิรีย์
+พิสิฐ พรวัฒนมงคล
+พิสิฐ สร้างดี
+พิสิทธิ์ ชัยมงคล
+พิสิทธิ์ วุฒิวงศ์วัฒนา
+พิสิษฐ์ กมลวารินทร์
+พิสิษฐ์ พิริยะเบญจวัฒน์
+พิสุทธิ์ แก้วอำไพ
+พิสุทธิ์ ศุภพร
+พิเชฎร์ บุญมา
+พิเชฐ ติยะพงษ์พิทักษ์
+พิเชฐ วัฒนาเอี๊ยบพันธ์
+พิเชต เรือนทิพย์
+พิเชษฐ เตชะดี
+พิเชษฐ รัตนารมย์
+พิเชษฐ อุยยานุกูล
+พิเชษฐ์ เจริญวรกิจการ
+พิเชษฐ์ ทิพย์โกษัย
+พิเชษฐ์ เพ็ญศรี
+พิเชษฐ์ วิมลธรรมวัฒน์
+พิเชษฐ์ อัครพินท์
+พิเศก มาสังข์
+พิไล ครุฑวณิชนนท์
+พิไลลักษณ์ โกสุมพิทักษ์
+พี ปิโตรเลียม
+พีรนุช เพ่งพานิช
+พีรพงษ์ ลิมป์สุทธิรัชต์
+พีรพล ภูมิวัฒน์
+พีรพันธ์ ศรีสุวรรณผไท
+พีรวัฒน์ ชุณหะนันทน์
+พีระ กอสุวรรณสกุล
+พีระ ทักษะวณิชชา
+พีระ มีแสงนิล
+พีระ หวังวิวัฒน์สิน
+พีระพงศ์ คลองกิจโรจน์
+พีระพงษ์ พระคุณอำนวย
+พีระพล ชาตพุทธิธรกุล
+พีระพล แสงจันทร์
+พีระยุทธ ไทยลิ่มทอง
+พีระศักดิ์ ปิยภาณีกุล
+พีรัตน์ ฮามีดี
+พึงใจ เกียรติสาโรจน์
+พุฒ ดอกไม้จีน
+พุฒธิพงษ์ เสน่หา
+พุดจีบ เฟื่องชื่น
+พุทธชาติ วงศ์สุวรรณ
+พุทธศักดิ์ โอฐยิ้มพราย
+พุธ โคตรใต้
+พู ทวีจิตร
+พูนชัย เอื้องสุภาภรณ์
+พูนทรัพย์ สิทธิพรหม
+พูนยศ บุณยรักษ์
+พูนศรี ธีระปกรณ์กุล
+พูนศรี สุบงกช
+พูนศักดิ์ พสุนนท์
+พูนสมบัติ แซ่อื้อ
+พูนสุข คหะแก้ว
+พูนสุข สันติสวัสดิ์
+พูลชัย กาญจนโรจน์
+พูลทรัพย์ พราหมณีย์
+พูลพิพัฒน์ สงวนสัตย์
+พูลศรี แซ่หั่น
+พูลศรี สุขุมวาท
+พูลศักดิ์ พึ่งประภา
+พูลศิริ อิงตระกูล
+พูลสิน เสนีย์
+พูลสุข เม่นแมน
+พเยาว์ กระดาษ
+พเยาว์ จันทร์งาม
+พเยาว์ แตงอ่อน
+พเยาว์ ปั้นบุญชู
+พเยาว์ ภูษา
+พเยาว์ วงษ์สาลี
+พเยาว์ สินช้าง
+พเยาว์ เอี่ยมวงศ์
+เพชร รอสูงเนิน
+เพชรน้อย เวทยประสิทธิ์
+เพชรรัตน์ ปลื้มอารมย์
+เพชรรัตน์ อุตะปะละ
+เพชรัตน์ พรบวรเกียรติ
+เพชรา วิจิตรเลขการ
+เพชรี ภู่สุข
+เพทาย ทองศรี
+เพทาย หาเรือนชีพ
+เพรียบ หุตางกูร
+เพลิน ผิวเณร
+เพลินจิต วัชรโชติ
+เพลินตา อิ่มอกใจ
+เพลินพิศ แดงไพบูลย์
+เพลินพิศ มหาวนิช
+เพลินพิศ ไหลมา
+เพาพะงา อัสมิมานะ
+เพิ่ม ศรีประพันธ์
+เพิ่มพร รุ่งเรืองชัย
+เพิ่มศรี วัดแก้ว
+เพิ่มศักดิ์ ปิติธนสารสมบัติ
+เพิ่มศักดิ์ อยู่เป็นสุข
+เพียงจันทร์ พันธุรัตน์
+เพียงพร อมรไชย
+เพียงเพ็ญ จึงสำราญ
+เพียงใจ จ่าพันธ์อินทร์
+เพียงใจ มหานนท์
+เพียน บังครัน
+เพียร ศิริโชติรัตน์
+เพียรพร ศรีเพียรผล
+เพียว อภิสิทธิ์ภิญโญ
+เพ็กจู แซ่เอี้ย
+เพ็กเฮี้ย แซ่เตีย
+เพ็ชร ศรีวิชัย
+เพ็ชรรัตน์ อารีรักษ์
+เพ็ชราภรณ์ วสุนธรามาศ
+เพ็ญ เชื้อบุญ
+เพ็ญ แสงโชติ
+เพ็ญจันทร์ จิระสินอนันต์
+เพ็ญจันทร์ ปั้นตระกูล
+เพ็ญจันทร์ ศรีจันทร์ดี
+เพ็ญจิต ลิ่วศรีสกุล
+เพ็ญณีย์ ปิงยอง
+เพ็ญทิพา บุญชูกุศล
+เพ็ญนภา บำเพ็ญเกียรติ
+เพ็ญนิดา ตุลวรรธนะ
+เพ็ญประภา ตรีรุ่งเรืองกุล
+เพ็ญประภา แสนเมืองมา
+เพ็ญพร เตชะพิทักษ์เผ่าพันธุ์
+เพ็ญพรรณ จ้อยรุ่ง
+เพ็ญพรรณ เรี่ยวพานิชกุล
+เพ็ญพักตร์ นันธิราภากร
+เพ็ญพิศ ครุธวีร์
+เพ็ญรัตน์ บุณยศิริกุล
+เพ็ญฤดี พุทธปราโมทย์
+เพ็ญศรี กลิ่นประทุม
+เพ็ญศรี ไข่แก้ว
+เพ็ญศรี จิตต์จง
+เพ็ญศรี ชิดประสงค์
+เพ็ญศรี ณ ระนอง
+เพ็ญศรี โตอนันต์
+เพ็ญศรี นภาศรี
+เพ็ญศรี บูรญะบุญวงศ์
+เพ็ญศรี พระกำกับ
+เพ็ญศรี ภังคานนท์
+เพ็ญศรี รัตนรุ่งชัย
+เพ็ญศรี วงษ์ปาน
+เพ็ญศรี ศรีสำราญรุ่งเรือง
+เพ็ญศรี สาระกุล
+เพ็ญศรี แสงเจริญ
+เพ็ญศรี อำนวยผล
+เพ็ญศิริ คัมภิรานนท์
+เพ็ญศิริ รักษาวงษ์รัตน์
+เพ็ญสินี ต้องสกุลโรจน์
+เพ็ญแข คงพิทักษ์ศิลป์
+เพ็ญแข ภัทรดิลก
+เพ็ญแรม มนูญชัย
+เพ้ง ล้อมเพชรพลอย
+แพรว โตโคกขาม
+แพรวพรรณ รังษีกิจโพธิ์
+โพชนะ มาศเขื่อนขันธ์
+โพธิ์พันธุ์ ใจมีธรรมดี
+ไพจิต วศินปริญญา
+ไพจิตร ชัยพฤกษ์
+ไพจิตร มาดี
+ไพจิตรา ศุขสมาน
+ไพฑูรย์ กันภัย
+ไพฑูรย์ คงคาสุริยฉาย
+ไพฑูรย์ เจนจาคะ
+ไพฑูรย์ แซ่เตี้ยว
+ไพฑูรย์ ทองกระจ่าง
+ไพฑูรย์ บัวคลี่
+ไพฑูรย์ ผลภาษี
+ไพฑูรย์ พูลสวัสดิ์
+ไพฑูรย์ รังษิยาภา
+ไพฑูรย์ วรสัมปุรณะ
+ไพฑูรย์ ศิวะพรชัย
+ไพฑูรย์ สุนทรวัฒน์
+ไพฑูรย์ อ่อนศิริ
+ไพฑูลย์ จรูญเรือง
+ไพบูรณ์ คำบุรี
+ไพบูลย์ กิจทวีสมบูรณ์
+ไพบูลย์ ขาวบริสุทธิ์
+ไพบูลย์ จันทร์ตรี
+ไพบูลย์ ใจตาบ
+ไพบูลย์ แซ่ตั้ง
+ไพบูลย์ ต่ายสกุลทิพย์
+ไพบูลย์ เทพจินดา
+ไพบูลย์ นิลาสน์
+ไพบูลย์ ประไพทอง
+ไพบูลย์ พฤทธิพัฒกุล
+ไพบูลย์ พุ่มอาศัย
+ไพบูลย์ มณีโรจน์
+ไพบูลย์ รังสีกุลพงศ์
+ไพบูลย์ ลีลาภาณุมาศ
+ไพบูลย์ ว่องไวยิ่งเจริญ
+ไพบูลย์ ศรีสันติรัตน์
+ไพบูลย์ สมัครการ
+ไพบูลย์ สุขสันต์
+ไพบูลย์ แสงแก้ว
+ไพบูลย์ อมรอนุกูล
+ไพบูลย์ เอมพันธุ์
+ไพมนา เหล่าขัติยะ
+ไพรรินทร์ ธูปสุวรรณ์
+ไพรวัลย์ เพียรลุประสิทธิ์
+ไพรัก ภู่โสภา
+ไพรัช จันทร์เปล่ง
+ไพรัช แซ่เฮ้ง
+ไพรัช ธรรมแพทย์
+ไพรัช ปานทิพย์อำพร
+ไพรัช ไพบูลย์มั่นคง
+ไพรัช ลี้เจริญ
+ไพรัช ศิริชาติ
+ไพรัช เสวกพิบูลย์
+ไพรัช โอสถเจริญผล
+ไพรัตน์ จรรยหาญ
+ไพรัตน์ ธรรมชาติ
+ไพรัตน์ รัตน์พงษ์โสภิต
+ไพรัตน์ แสวงกิจ
+ไพริน ผลหว้า
+ไพรินทร์ จันทร์มณี
+ไพรินทร์ พ่วงสุนทร
+ไพรินทร์ เสือน้อย
+ไพลิน จิตรเจริญ
+ไพลิน ปาระพงศ์
+ไพลิน ว่องประชานุกูล
+ไพลิน อินทร์สุวรรณ
+ไพศรี ธูปเทียนทอง
+ไพศาล เกียรติเกษมศานต์
+ไพศาล จ๋วงพานิช
+ไพศาล เจิดจำนงวิทยากุล
+ไพศาล เชียงมา
+ไพศาล ตั้งจริยธรรม
+ไพศาล ทั้วสุภาพ
+ไพศาล นิลนที
+ไพศาล ประภาอภิรัตน์
+ไพศาล พรหมมณี
+ไพศาล โพธิ์นิ่มแดง
+ไพศาล ยุ้นพันธ์
+ไพศาล ลาวัณยากุล
+ไพศาล วรโพธิ์
+ไพศาล ศรีเกตุ
+ไพศาล สำราญกิจดำรงค์
+ไพศาล เสรีรักษ์
+ไพศาล อยู่เย็น
+ไพศาล โอนเงิน
+ไพสิฐ จริยะเศรษฐ์
+ไพเราะ เกิดวิชัย
+ไพเราะ ทองใบ
+ไพเราะ รีรัตนชาติ
+ไพเราะ อุ่นนิ่ม
+ไพโรจน์ กาญจนพิบูลย์
+ไพโรจน์ ขจรวัชรา
+ไพโรจน์ จรุงภัสสร์ขจร
+ไพโรจน์ จีนขจร
+ไพโรจน์ ชัยพร
+ไพโรจน์ ซึ้งเกษม
+ไพโรจน์ ตลอดกาล
+ไพโรจน์ ทรัพย์สมบูรณ์
+ไพโรจน์ ธีรเกษตรชัย
+ไพโรจน์ บริบูรณ์
+ไพโรจน์ ประสิทธิ์พร
+ไพโรจน์ พงษ์จินดาวานิช
+ไพโรจน์ พิภักกิจ
+ไพโรจน์ ภัทรสุขเสริม
+ไพโรจน์ เมฆวิภาต
+ไพโรจน์ รุ่งบรรลือศักดิ์
+ไพโรจน์ ลิ่มกาญจนโชติ
+ไพโรจน์ วรรณสถิตย์
+ไพโรจน์ ศรจิตติ
+ไพโรจน์ โศจิศุภร
+ไพโรจน์ สิงห์อุสาหะ
+ไพโรจน์ สุวรรณสุทธิ
+ไพโรจน์ หาญพงษ์ธรรม
+ไพโรจน์ อัตตสัมพันธ์
+ไพโรจน์ โอวาทจรูญจิตต์
+ฟองคำ รุจิแสงอนันต์
+ฟองแก้ว พลนะเดช
+ฟาติมะ เกตุประสิทธิ์
+ฟารีดา เซ็มสมพร
+ฟิลิป ปิ่นสุกาญจนะ
+ฟื้น หิรัญสุขสันต์
+ฟู บุญเพ็ง
+ฟูเชียง แซ่จ๋าว
+เฟื่องฉัตร สุคนธ์ขจร
+เฟื่องลัดดา กิจสนาโยธิน
+ภคพร ภักศรีวงษ์
+ภคินี สรพงศ์ไพรัช
+ภมร ฉ ตระกูล
+ภรณ์พรรณ รัตสิรยากร
+ภรณี พงศ์เลิศนภากร
+ภรณ์เพ็ญ แก้วช่วย
+ภราดร รอดเลี่ยม
+ภวัญญา ล้วนใจสนธิ์
+ภักดี จันทพันธ์
+ภักดี พ่วงภักดี
+ภักดี สุพรพัฒนา
+ภัคพงษ์ กุลชล
+ภัชรี ปิ่นประเสริฐ
+ภัททโก โชติกไกร
+ภัทร์กมล เต็มสุข
+ภัทรพร จารุพัฒน์
+ภัทรภร ธนาเกษมพล
+ภัทร์วรรณ คงอรรถการ
+ภัทรา เชี่ยววุฒิภาค
+ภัทรา พรพงศ์ทวีวัฒน์
+ภัทรา วันดี
+ภัทราพร ซื่อกิตติศักดิ์
+ภัทราภรณ์ เอียสกุล
+ภัทราวุธ พันธุเมธาวงศ์
+ภัทรียา บุญยมโนนุกุล
+ภัสรา พงษ์อุดทา
+ภัสสรา เดชะศิริ
+ภาคภูมิ ชาญพิชัย
+ภาคย์ กรดนิยมชัย
+ภาณี เชิดชื่น
+ภาณี สิริเวชกุล
+ภาณุ บริสุทธิ์
+ภาณุธัช พรหมปัญญากุล
+ภาณุมาศ กุศลลานุกูล
+ภาณุวัฒน์ จำจด
+ภาณุศักดิ์ อินทรรักษา
+ภานุ บุตรศรี
+ภานุมาศ พูนสุขโข
+ภานุวุธ นวลสา
+ภารณี อับดุลลา
+ภารดี โรจนวัฒนวุฒิ
+ภาวณี สมันตเวคิน
+ภาวดี อมรพัชระ
+ภาวนา นราจันทร์
+ภาวนา ศรีอรุณ
+ภาวิณี กลิ่นขจร
+ภาวิณี ทองมาก
+ภาวิณี วชิรปัญญานุกูล
+ภาวิต โตดิลก
+ภาวี มีวัตถา
+ภาสกร จิตตรอง
+ภาสกร เหมกรณ์
+ภิชญรัตน์ วงศ์วสุสิน
+ภิญโญ ขันทอง
+ภิญโญ ธันวารชร
+ภิญโญ รพีพิศาล
+ภิญโญ หิโตปกรณ์
+ภิรมณ์ คงอยู่
+ภิรมย์ ฉายารักษ์
+ภิรมย์ พฤกษชาติเจริญ
+ภิรมย์ สงวนนาม
+ภิเศก ใจอ่อนน้อม
+ภุชงค์ ตัณฑ์ไพโรจน์
+ภุชชงค์ ชาญธนากิจ
+ภู ใจชาย
+ภูมิ โสภาจารีย์
+ภูมิพิชญ์ จรรยาวิจักษณ์
+ภูริดา โทธกานันท์
+ภูวดล เรืองโกสินทร์
+ภูวนารถ อุเทศนันทน์
+ภูษิต ประธานพิพัฒน์
+ภูเก็จ แสดงธรรม
+เภาวนา อินทะแสง
+มงคล กษิติประดิษฐ
+มงคล เขียวผึ้ง
+มงคล จันทร์แสงรัตน์
+มงคล ฉิมเล็ก
+มงคล แซ่กุ่ย
+มงคล ตั้งจิตต์วัฒนา
+มงคล ทับทิมชูสุวรรณ
+มงคล นาคะมา
+มงคล ปาณะบรรจง
+มงคล พ่วงพงศ์
+มงคล ภาสกรจรัส
+มงคล ยืนยงหัตถภรณ์
+มงคล ลิ่วมโนมนต์
+มงคล วินิจเจริญศรี
+มงคล ศิริแสงชัยกุล
+มงคล สีดา
+มงคล แสงวงศ์วาณิชย์
+มงคล อยู่นุช
+มงคล เฮงบุญสุขกุล
+ม่งเซี้ย แซ่ตั้ง
+มณฑริก เดชหนู
+มณฑล ใบบัว
+มณฑล อัศวภัทรากร
+มณฑา จรุงกลิ่น
+มณฑา แซ่เฮ้ง
+มณฑา เนียมศิริ
+มณฑา พุฒตาล
+มณฑา เลิศทนุพงศ์
+มณฑา สันติธัญญาโชค
+มณฑา เหลืองลัญจกร
+มณฑาทิพย์ โตแย้ม
+มณฑิตา อู่ทรัพย์
+มณฑ์ สมพันธ์
+มณพิรา อางนานนท์
+มณี โกศลเมธากุล
+มณี เจริญสุข
+มณี แซ่โค้ว
+มณี ทองเกษร
+มณี บุญประสิทธิ์
+มณี พัฒนะเอนก
+มณี มูฮำมัดโน
+มณี วงศ์กรุด
+มณี ศิริวัฒธนะตระกูล
+มณี สุนทรลิปิกร
+มณี อัศวจินดาวัฒน์
+มณีนาฏ พงศ์ภควัตร
+มณีรักษ์ จินตนาบรรเจิด
+มณีรัตน์ แจ้งแจ่มจิตต์
+มณีรัตน์ ถินปวัติ
+มณีรัตน์ พรกุลวัฒน์
+มณีรัตน์ เลิศสุคนธ์
+มณีรัตน์ สุวรรณภาภรณ์
+มณีวรรณ ณ นคร
+มณีวัลย์ อมรธีระกุล
+มณเฑียร ชัยมิตรเจริญ
+มณเฑียร พูลศิริ
+มณเฑียร อาจบรรจง
+มธุรส บุตรดี
+มนชยา ไกรฤกษ์
+มนณัชชา ชูชาติไทย
+มนต์ชัย โชติหิรัณรัตน์
+มนต์ชัย ไผทรักษาธรรม
+มนต์ชัย วิสุทธิสวัสดิ์
+มนต์ชัย เอี่ยมรัตนชัย
+มนตร์วงศ์ ภัทรวิทย์
+มนตรี แก้วเล็ก
+มนตรี จริยากูล
+มนตรี เจริญรัตน์
+มนตรี ชูนามชัย
+มนตรี ดาวเรือง
+มนตรี แตงเจริญ
+มนตรี ธรรมรังษี
+มนตรี เนียมจีน
+มนตรี ประเสริฐวิทยาการ
+มนตรี พรพจน์ธนมาศ
+มนตรี เพิ่มผลชัยกุล
+มนตรี มานะทัต
+มนตรี รอดสวัสดิ์
+มนตรี ลีลาโสภิณ
+มนตรี วิพันธ์วรพงษ์
+มนตรี ศิริตันติธรรม
+มนตรี สังขวุฒิชัยกุล
+มนตรี สุบรรณพงษ์
+มนตรี หฤไชยะศักดิ์
+มนตรี อังศุธนสมบัติ
+มนตรี เอื้ออมร
+มนต์ เชตมี
+มนทิพย์ วิชัยธนพัฒน์
+มนธิรา เอกบุญยืน
+มนวิภา ประชัญคดี
+มนันย์ บุญยะชัย
+มนัส ขันธิโชติ
+มนัส จันทวิช
+มนัส ชัยสุภา
+มนัส ดีชมจันทร์
+มนัส ทองสะอาด
+มนัส นิ่มนวล
+มนัส ประจักษ์จิตร์
+มนัส พลับบุรี
+มนัส ภาคีธรรม
+มนัส ยอแสง
+มนัส เลิศวัฒนาเสรี
+มนัส ศรีธนสาร
+มนัส สอิ้งทอง
+มนัส สุภาวิตา
+มนัส องค์สรณะคม
+มนัส โอสถจันทร์
+มนัสวี พยัคฆนันทน์
+มนุชญ์ วัฒนโกเมร
+มนู โชติรัต
+มนู ปิ่นภู่
+มนู วาวี
+มนู อัศวเกศมณี
+มนูญ ชูศิริอุทัย
+มนูญ นุตวงษ์
+มนูญ พูลทวี
+มนูญ วิกกมานันท์
+มนูญ หินลอย
+มนูศักดิ์ บุญมาเลิศ
+มยุรา จีรจริยาเวช
+มยุรี กลิ่นขจร
+มยุรี จงอุดมทรัพย์
+มยุรี เฉลิมเขตต์
+มยุรี เดชสมฤทธิ์ฤทัย
+มยุรี ธนาเกียรติภิญโญ
+มยุรี ปิ่นแก้ว
+มยุรี เพ็ชร์พนมพร
+มยุรี แย้มเกษร
+มยุรี วงษ์สมบูรณ์
+มยุรี สถาพรวุฒิคุณ
+มยุรี ไสยสมบัติ
+มยุรี เอี่ยมเจริญ
+มรกต จันทร์ทอง
+มรกต ศยามล
+มรินา ด่านวนิช
+มลฑา พิมพ์เหลี่ยม
+มลผกา สรรเพชดาญาน
+มลฤดี ประสงค์ผล
+มลวิภา ใจหลัก
+มลิ หลีสุขเสริฐ
+มลิวัลย์ แก้วสพาน
+มลิวัลย์ พจนสัจ
+มลิวัลย์ สุขประสาท
+ม่วย แซ่คู
+ม่วย สถิรชวาล
+ม่วยเกี้ย ลาจังหรีด
+ม้วย เหล่าสิริภูมิ
+มอซ์ กามรูดิน
+มะนิตย์ เชื้อนุช
+มะลิ กลิ่นมาลา
+มะลิ จิวะสมหวัง
+มะลิ ด้วงเงิน
+มะลิ นามมนตรี
+มะลิ พิริยะอนนท์
+มะลิ รูปพรหม
+มะลิ สาธุ
+มะลิ อมรินทร์เทวา
+มะลิวรรณ รายณะสุข
+มะลิวัลย์ แซ่ตั้ง
+มะลิวัลย์ วัฒนกิตติพร
+มะหะหมาดราหวี นาปาเลน
+มังกร จีรภัทร์
+มังกร ยาน้อย
+มัจฉรี แซ่เตี๋ยว
+มัณฑนา กู้สุวรรณวิจิตร
+มัณฑนา ธาดาสีห์
+มัณฑนา รัตชะถาวร
+มัณฑนา อยู่ยงค์
+มัด เดชะชีพ
+มัทนา โชควรวัฒนกร
+มัทนา โอสถหงษ์
+มัธยา รวมทรัพย์
+มันทนา ศรสิงห์
+มันโมฮันซิงห์ จาวลาห์
+มั้นฟา แซ่เตียว
+มัลลิกา ชัยสิริโรจน์
+มัลลิกา พงศ์เต็มสุข
+มัลลิกา ศรีวีระวานิชกุล
+มัลลี จงเกษม
+มาก เหมือนจันทร์
+มาณพ รุจนิสรกุล
+มาณี บุญหลง
+มาดี แซ่โค้ว
+มานนท์ โตวงศ์ศรีเจริญ
+มานพ ขำชื่น
+มานพ จิตตเกษม
+มานพ ซับซ้อน
+มานพ ทรงเสี่ยงชัย
+มานพ นิ่มนวลอนันต์
+มานพ ปิยะสอน
+มานพ พึ่งอำนวย
+มานพ มูฮำหมัด
+มานพ ลีลาหิรัญ
+มานพ ศรีสงวน
+มานพ สุขวงษ์ศิลป์
+มานพ เหล่าขวัญสถิตย์
+มานวิภา มาศพงศ์
+มานะ งามวัชรสกุล
+มานะ เชี่ยวสงวน
+มานะ ทรัพย์งามศิริ
+มานะ บุญประเสริฐ
+มานะ พิมพ์สมุทร
+มานะ รัตนงามกุล
+มานะ วิสุทธิ์สมุทร
+มานะ สีผ่อง
+มานะ อินทรพินทุวัฒน์
+มานัต ยอดมนต์
+มานัส รุ่งเทียม
+มานิจ ทิมพัฒนพงศ์
+มานิดา รัชดาทิตย์
+มานิต เจียรดิฐ
+มานิต นิลเขตร์
+มานิต ยศอนันตกุล
+มานิต สุจริตวัฒนศักดิ์
+มานิตย์ กาหลง
+มานิตย์ จุนทการ
+มานิตย์ ดิษฐวิศาล
+มานิตย์ นาคไทย
+มานิตย์ เผือกวัฒนะ
+มานิตย์ มีชนะ
+มานิตย์ วงศ์กิตติพัฒนา
+มานิตย์ สัจจเดชะ
+มานิตย์ อนุรัตน์พานิช
+มานิสา เมฆศิริกุล
+มานีรัตน์ มัทธวรัตน์
+มารยาท จัตุรงค์
+มารศรี จันทร์เมือง
+มารศรี ยะอุโมงค์
+มารศรี อัสวะวิสิทธิ์ชัย
+มาริษ ท่าราบ
+มาริสา กาญจโนภาส
+มาริสา สุทธิวรรณารัตน์
+มารุจา สุรพันธุ์
+มารุต สุนทรศิริบุญญา
+มาลัย ขำเจริญพร
+มาลัย ชมพูบุตร
+มาลัย ดอกบัวหลวง
+มาลัย นาให้ผล
+มาลัย พรหมสวัสดิ์
+มาลัย ยังสว่าง
+มาลัย ศรีช้างอิ่ม
+มาลัย แสงงิ้ว
+มาลัยกรอง มูลศาสตร์
+มาลา แซ่โง้ว
+มาลา หิรัญฤทธิ์
+มาลิน ชลานุเคราะห์
+มาลินี กำเนิดดิษฐ์
+มาลินี ชอุ่มพฤกษ์
+มาลินี ทรัพยวณิช
+มาลินี แป้งประสิทธิ์
+มาลินี ยอดโพธิ์ทอง
+มาลินี ศรีสุวัจรีย์
+มาลินี หฤทัยสิริรัตน์
+มาลี กลั่นจังหรีด
+มาลี กุนะวงษ์
+มาลี ขันติวงวาร
+มาลี เครือเฉลิมพันธ์
+มาลี จันใจเด็ด
+มาลี เจริญเกษกิจ
+มาลี ชัยวนิชยา
+มาลี เชื้อศิริ
+มาลี แซ่ตัน
+มาลี แซ่เต็ง
+มาลี ดำรงกิจกุลชัย
+มาลี ตันติปิฏก
+มาลี ทวีศรี
+มาลี ธรมธัช
+มาลี นิภากรพันธ์
+มาลี บุญรอด
+มาลี ปานจันทร์
+มาลี พงศ์สำราญ
+มาลี พันผึ้ง
+มาลี แพร่ศรีตระกูล
+มาลี มนต์วิเศษ
+มาลี ยวงเงิน
+มาลี รัตนานนท์
+มาลี ลิมปิยากร
+มาลี วงศ์แหลมทอง
+มาลี วิลัยสัมพันธ์
+มาลี ศิริคงสุวรรณ
+มาลี สร้างความคิด
+มาลี สินพานิช
+มาลี สุรัตนชัยการ
+มาลี หนึ่งดวงกมล
+มาลี อติแพทย์
+มาลี อาทร
+มาลี อุ้ยอิ่มทรัพย์
+มาลีพันธ์ รัฐสมบูรณ์
+มาลีรัตน์ ศุภทนต์
+มาวิน ศรีมณีพันธ์
+มาเรีย วรรณาพงศ์
+มาเรียม บูรณะรุ่งเรืองกิจ
+มาเรียม สุทธิศีลธรรม
+มาโนช กำจัดภัย
+มาโนช ชัยประเสริฐ
+มาโนช ธรรมรัชสุนทร
+มาโนช เปรมแก้ว
+มาโนช มีศรี
+มาโนช วิชิตวาสุเทพ
+มาโนช แสงสุข
+มาโนชญ์ ชนะภัย
+มาโนชญ์ อรุณรัศมี
+ม้าเสี่ยง แซ่ม้า
+มิ่งขวัญ เมตตากรุณากุล
+มิตร นาคเสน
+มิตรภาพ บุญชูช่วย
+มิ่น เหล่าชาญกิจวนิช
+มี ทองเรือง
+มีชัย นะรา
+มีชัย หงษ์พานิช
+มีนา โรจน์วิชชา
+มีศิริ กิจไพศาลดำรง
+มุก บุญยืน
+มุกดา ฉัตรแก้ว
+มุกดา เทศบรรเทิง
+มุกดา มั่นศิริ
+มุกดา ศิลาโรจน์
+มุกดา อิทธิธานันท์
+มุ่งมุ้ย แซ่หยิน
+มุทิตา ถนอมทรัพย์
+มุยเตียง ศิริอัครกรกุล
+มุ่ยเค็ง แซ่เฮ้ง
+มุ้ยง้อ แซ่โง้ว
+มุสตาฟา มะหะหมัด
+มูหะหมัด เสือสมิง
+มโน จงธนูธรรม
+มโนรส ยอดยิ่ง
+เมตตา เกิดนาค
+เมตตา ปิตยานนท์
+เมตตา สิทธิสุวรรณ
+เมทินี ดาราพัตร
+เมธา แซ่เฮ้ง
+เมธา วงศ์วานิช
+เมธาณี งามทวีวิวัฒน์
+เมธินี ทรัพย์ประเสริฐ
+เมธี จรูญประสิทธิ์พร
+เมธี บัวศรี
+เมธี รัตนตั้งตระกูล
+เมธี หงษ์ทอง
+เมษฐรัตน์ มนเทียรทอง
+เมี่ยวจิง แซ่อื้อ
+เมี้ยวหยิ้น แซ่กอ
+เม่งซก แซ่จิว
+เม้ง แซ่ฉั่ว
+แมน ฉายานนท์
+แมรี่ แวนดา
+แม้นมาตร แอ้นชัยภูมิ
+โมฬี คงกลาง
+ไม นวลเนตร
+ไมตรี ชูมณี
+ไมตรี บัวเนตร
+ไมตรี เลิศเพียรพิทยกุล
+ไมตรี หาญธนวุฒิชัย
+ไม้ ศรีสง่า
+ยง เตชะพงศธร
+ยงค์ชัย ทศพลอภินันท์
+ยงชัย คุณธรรมดี
+ยงยศ ปริพฤติพงศ์
+ยงยุทธ กิจพงษ์นิกร
+ยงยุทธ ฆังนิมิตร
+ยงยุทธ ใจเจริญธรรมกุล
+ยงยุทธ แซ่เตื้อง
+ยงยุทธ ถีระวงศ์
+ยงยุทธ นาคะพงศ์
+ยงยุทธ ปัญญาสกุลวงศ์
+ยงยุทธ พุทธสุวรรณ
+ยงยุทธ เมตะศิริ
+ยงยุทธ ลอยเมฆ
+ยงยุทธ วิเชียรสรรค์
+ยงยุทธ สมิทธิเดชกุล
+ยงยุทธ สุวรรณเพ็ชร
+ยงยุทธ อ่องบางน้อย
+ยงยุทธิ์ วรวุฒิ
+ยงวัฒน์ บูรณะปฏิมากร
+ยงสิน เตชามหชัย
+ย่งฮวด แซ่ลี้
+ย้ง แซ่ลี้
+ยนต์ บุญเหลือหล่อ
+ยมโดย ชลายนนาวิน
+ยรรยง บุญสมพงษ์
+ยรรยง ศุภวิฑูรย์
+ยรรยงค์ พลศิริ
+ยวง ลอยสา
+ย้วน พันนก
+ยศ สมบูรณ์จันทร์
+ยศราวดี เปี่ยมอรุณ
+ยอด กลิ่นกลั่น
+ยอด สันตินิเวศน์
+ยอดธง เจริญจงวิทยา
+ยอดศักดิ์ หล่อจิตต์เสียง
+ยะ เกิดอยู่
+ยักโมฮันซิงห์ ยักโมฮันซิงห์
+ยัสบีรซิงห์ ยัสบีรซิงห์
+ยาดา เศวตตานุสรณ์
+ยาใจ แซ่ลี้
+ย้า เอกประเสริฐ
+ยิ่งยง แซ่ลิ้ม
+ยิ่งยศ บุนนาค
+ยิ่งศักดิ์ ปัจชามาตย์
+ยิน เสมอเชื้อ
+ยินดี พรมเกตุ
+ยินดี อินทรมงคล
+ยิ้ม นาสมนึก
+ยิ้ว หลิวประเสริฐ
+ยี่สุ่น ศุกระวณิช
+ยืนยง นุภาพ
+ยุกยิ้น เชียงฉิน
+ยุคลธร โออดิศัย
+ยุทธ เจริญคติธรรม
+ยุทธ หนุนภักดี
+ยุทธชัย น้ำทิพย์
+ยุทธนันท์ เกษียรธาดานนท์
+ยุทธนา จริงใจกุล
+ยุทธนา ดุจติปิยะ
+ยุทธนา บุณยะวุฒกุล
+ยุทธนา โภคประเสริฐ
+ยุทธนา วานิชอังกูร
+ยุทธนา สุจินตวงษ์
+ยุทธนา เอี่ยมสินธุ์
+ยุทธพงษ์ ฉ โรจน์ประเสริฐ
+ยุทธพล ไกรอาบ
+ยุทธศักดิ์ แซ่โง้ว
+ยุทธศิลป์ เกษรศุกร์
+ยุธิตา แซ่เฮ้ง
+ยุพดี กาญจนา
+ยุพดี ชีพอารนัย
+ยุพดี บริสุทธิ์
+ยุพดี รักการดี
+ยุพดี สนใจยุทธ
+ยุพดี เอี่ยมศุภสวัสดิ์
+ยุพยงค์ พิริยะกิจ
+ยุพา ก๋งน้อย
+ยุพา ขันทอง
+ยุพา จิตรโสภาภรณ์
+ยุพา ชุ่มชาติ
+ยุพา แซ่โค้ว
+ยุพา ทิพยพรเกษม
+ยุพา บัวธรา
+ยุพา เปี๊ยะขายคล่อง
+ยุพา เพ็ญสายใจ
+ยุพา ยิ่งดำนุ่น
+ยุพา เลอยศเกรียงไกร
+ยุพา ไวทยะวิญญู
+ยุพา สามุติอุดมรัตน์
+ยุพา แสงเสริม
+ยุพา อานุภาพมงคล
+ยุพาพร พรหมโชติ
+ยุพาภรณ์ กลั่นกลีบ
+ยุพาวดี ยินดียั่งยืน
+ยุพิน กำเหนิดวัน
+ยุพิน คล้ายสุบรรณ
+ยุพิน จินดาสันต์
+ยุพิน ชื่นสวัสดิ์
+ยุพิน ดอนอุไพร
+ยุพิน ทรงประเสริฐกุล
+ยุพิน เธียรพาณิช
+ยุพิน บุตรเนียม
+ยุพิน พนาชื่นวงศ์สกุล
+ยุพิน ไพรินทราภา
+ยุพิน เมืองวิลัย
+ยุพิน ลีสุวิชากร
+ยุพิน ศรีชัย
+ยุพิน สฤษดิวุฒิ
+ยุพิน สุทธิสุนทร
+ยุพิน หาญวงศ์
+ยุพิน อึ๊งดำรง
+ยุพเยาว์ ศิริเอี้ยวพิกูล
+ยุภา เจ๊ะเลาะ
+ยุภา แสงเดช
+ยุภี เคหะรอด
+ยุรี แซ่โอ้ว
+ยุวดี กระจ่างใจ
+ยุวดี เจนรักมาตุภูมิ
+ยุวดี เตชะเชวงกุล
+ยุวดี ปรมางกูร
+ยุวดี มิตรภักดี
+ยุวดี วัฒนพิทักษ์กุล
+ยุวดี แสงด้วง
+ยุวนา ลวเวชกุล
+ยุวภา บุญเลิศ
+ยุวลักษณ์ เกียรติปัญญา
+ยุเพ็ญ ชูศักดิ์แสงทอง
+ยูซบ อับดุสลาม
+ยูสบ หลงจิ
+ยู่เตียง แซ่เซีย
+เยา ไลไว
+เยาวดี แย้มจุไร
+เยาวนิจ นิติธรรม
+เยาวนุช พุทธิพิรกุล
+เยาวภรณ์ สิริวโรธากุล
+เยาวภา ทัพรัตน์
+เยาวภา วิลัยปาน
+เยาวมาลย์ ทองพรหม
+เยาวรัตน์ ความชอบ
+เยาวลักษณ์ กรันตานนท์
+เยาวลักษณ์ ไชยฤทธิ์
+เยาวลักษณ์ บุญญาวิวัฒน์
+เยาวลักษณ์ มณีโชติ
+เยาวลักษณ์ วงศาโรจน์
+เยาวลักษณ์ สุวรรณลภาพร
+เยาวเรศ กะตากูล
+เยาวเรศ วรรณสุข
+เยียม พุ่มพฤกษ์
+เยี่ยม อินทรกำแหง
+เยื้อน เกตุลอย
+เย็น กองโฮม
+เย็นจิต จิราพัฒนพงศ์
+เย็นจิตร์ ประทีปแสงรัตน์
+แย้ม โกมินา
+โยธิน คงเจริญ
+โยธิน พงศ์พัชราพันธุ์
+โยธิน ศิริโสภณ
+ใย ปัถวี
+รจนา จักรฤทธิพงศ์
+รจนา พาดี
+รจนา แสงโสภณ
+รจิต รักยอด
+รณ สาสนสิทธิ์
+รณชัย นิติชาคร
+รณชัย เอนกอมรชัย
+รณรงค์ โฉมศุภางค์
+รณสิทธิ์ รัตนเกษตร
+รติพรรณ รัตนิต
+รพินทร์ วิชชุไตรภพ
+รพีพรรณ เฉลิมชัยโกศล
+รพีวรรณ สัมปชัญญะ
+รมย์ชลี บุตรไชย
+รวงทอง ส้มเกลี้ยง
+รวมพร ภานันทน์
+รวยริน วจะโนภาส
+รวิวรรณ ไชยวสุ
+รวีนุช คุณธรรมสถิต
+รวีวรรณ พงษ์ดนตรี
+รวีวรรณ อารีธรรมศิริกุล
+รสนา วัฒนาสุนทรพงศ์
+รสรินทร์ กนกอุดม
+รสสุคนธ์ ตามศรี
+รสสุคนธ์ ศรีติมงคล
+รอง มูลมณี
+รอฟะห์ เซ็นหลวง
+รอเบี๊ยะ ยิ่งนิยม
+ระตา อินทร์แก้ว
+ระบิล โสภณพนิช
+ระพี ประสพชัย
+ระพีพรรณ ขอบชิต
+ระพีพรรณ ลำจวนจิตต์
+ระพีพันธ์ อารีย์
+ระย้าทิพย์ อินทรทูต
+ระวิ บุญผดุง
+ระวิวรรณ ประทุมพวง
+ระวี นันทสำเริง
+ระวีวรรณ เจนการ
+ระวีวรรณ ภัทรประภา
+ระวีวรรณ์ ตาชูชาติ
+ระเบียบ กิจกล้า
+ระเบียบ จิตรบำรุง
+ระเบียบ ทับจันทร์
+ระเบียบ ปิ่นแก้ว
+ระเบียบ มานิกพันธุ์
+ระเบียบ วรสุขสังข์
+ระเบียบ เสือสมิง
+ระเวง ลัยศรี
+รักชนก แซ่เจีย
+รักพงษ์ วงษ์จำนงค์
+รักษ์ กะรีรัต
+รักษ์ อ่อนนาง
+รังทอง วีระพัฒน์
+รังษี เทศพันธ์
+รังสรรค์ กัมสุวรรณ
+รังสรรค์ จุฬาธรรมกุล
+รังสรรค์ ตันติเวชกุล
+รังสรรค์ ปัญญาภา
+รังสรรค์ มิตรพันธ์พานิชย์
+รังสรรค์ วิบูลพัฒนะวงศ์
+รังสรรค์ สุนทรนันท์
+รังสรรค์ เอี่ยมจำรัส
+รังสิต เดชะกุล
+รังสิมันต์ ฤกษ์อินทรอารีย์
+รังสิมา แสงหิรัญวัฒนา
+รัช วรรณวัฒนะ
+รัชฎา จิตติวรรณ
+รัชฎา สิริวัฒนวงศ์
+รัชฎาวรรณ ยะตินันท์
+รัชดา เคยมีทรัพย์
+รัชดา รุ่งเศวตกุล
+รัชดาพร สุขเกษมรัตน์
+รัชตฤดี รุจิณรงค์
+รัชนิกร แสงกระจ่าง
+รัชนี กิตติรังสี
+รัชนี คาจิจิ
+รัชนี จิรทวีวงศ์
+รัชนี ชวตานนท์
+รัชนี แซ่ลิ้ม
+รัชนี ตรีบัญชาวงศ์
+รัชนี ทับละคร
+รัชนี นาคสุข
+รัชนี บุตรสี
+รัชนี แผ่ประเสริฐ
+รัชนี พูลทรัพย์
+รัชนี มาฬมงคล
+รัชนี รัตนโกวิท
+รัชนี ลือวิมลกฤษฐ
+รัชนี วิรัชนีย์
+รัชนี สกุลสุรรัตน์
+รัชนี สุกษมรัตน์
+รัชนี แสงสีทอง
+รัชนี อภิชัยกุล
+รัชนี เอกนวาระชาติ
+รัชนีกร มั่งมีผล
+รัชนีบูลย์ มาไพศาลย์
+รัชนีภรณ์ แซ่ลิ้ม
+รัชนีวรรณ ก๋อยสุวรรณ
+รัชนีวรรณ ละออเอี่ยม
+รัชพงษ์ ศิริมี
+รัชรี แซ่ลิ้ม
+รัญจวน วงษ์กล้าหาญ
+รัฐการ เกิดดี
+รัฐพล งามสมุทร
+รัฐาภิรักษ์ ตัณฑประศาสน์
+รัตติกร ตั้งพานทอง
+รัตติพร กรสุทธิโสภณ
+รัตติยา พูลอร่าม
+รัตน์กุล ณ วิทยานันท์
+รัตน์ชฎา พันธ์นิกุล
+รัตนมณี แพทย์พันธ์ศรี
+รัตนะ คุณานพรัตน์
+รัตนา กลั่นแก้ว
+รัตนา กุศล
+รัตนา เขียนภักดี
+รัตนา งามขำ
+รัตนา จิตต์จารึก
+รัตนา ใจปาน
+รัตนา ชินวัฒนา
+รัตนา แซ่ตั้ง
+รัตนา ณ ตะกั่วทุ่ง
+รัตนา ตารพล
+รัตนา ทองคล้าย
+รัตนา ธีระมงคลกุล
+รัตนา เนียมนำผล
+รัตนา เบ็ญจโภคี
+รัตนา เปลี่ยนสี
+รัตนา พลอยประเสริฐ
+รัตนา พุกบางจาก
+รัตนา ภาสวรวิทย์
+รัตนา มีลักษณะ
+รัตนา รักษ์ชน
+รัตนา โรจน์มหามงคล
+รัตนา เลี่ยวปรีชา
+รัตนา วสุวานิช
+รัตนา เวียงธีรวัฒน์
+รัตนา ศิรินรากรณ์
+รัตนา สมบูรณ์นิธิผล
+รัตนา สีวิสุทธิ์
+รัตนา สุวัชรีรักษ์
+รัตนา หาญพลาชัย
+รัตนา อ่องเพ็ชร์
+รัตนา อุชุภาพ
+รัตนาพร คุ้มพงศ์เจริญ
+รัตนาภรณ์ จึงสงวนสิทธิ์
+รัตนาภรณ์ ประยูรโภคราช
+รัตนาภรณ์ ศรีนาราง
+รัตนาวดี ตันตะปาล
+รัตน์ แก้วกูร
+รัตน์ พานิชพันธ์
+รัตน์ เหลืองศุภโชค
+รันดร เหล็กยัง
+รัมภา พระรักษา
+รัศมี คุณประเสริฐกุล
+รัศมี เทพดลไชย
+รัศมี ยิ่งเจริญกอบกิจ
+รัศมี สุวรรณผ่องใส
+รัสมี คำแหงพล
+ราชปาลซิงห์ นารัง
+ราชันย์ เพ็ชรรัตน์
+ราชินี นวเจริญวงศ์
+ราณี ปูรณโชติ
+ราตรี กลิ่นหวล
+ราตรี จตุโชติชวาลุล
+ราตรี แซ่เลี้ยง
+ราตรี นันภักดี
+ราตรี พงศ์พันธ์ศักดา
+ราตรี มั่นจิตต์
+ราตรี ไวทยินทร์
+ราตรี สุ่มมาตย์
+รานี เงินถาวร
+รามฤทธิ์ เทวกุล
+ราวิน อนันต์ทรงวิทย์
+ราศรี ศรีรัตนกูล
+ราเชนทร์ ชาญนิติ
+ราเมศ บินแอ
+รำพวน ปรากฏวงษ์
+รำพึง นิลสุวรรณ
+รำพึง สุขเจริญ
+รำเพย ภาสพันธ์
+รำไพ แซ่ลิ้ม
+รำไพ เรือนทิพย์
+รำไพ อุฬารางกูร
+รินชัย ชัยวรพร
+ริวโก๊ะเคียว ถิตะชัย
+รื่น สะเนาว์
+รุ่ง ชมชื่น
+รุ่งกานต์ พืชสิงห์
+รุ่งตวัน ตันรัตนวงศ์
+รุ่งทิพย์ ตันตระภิรมย์
+รุ่งทิพย์ มณีสังข์
+รุ่งทิพย์ สุเรนทรารักษ์
+รุ่งทิวา ชาญพิทยานุกูลกิจ
+รุ่งทิวา พิภพไชยาสิทธิ์
+รุ่งทิวา สุนา
+รุ่งนภา คงสวัสดิ์
+รุ่งนภา แซ่เอี้ย
+รุ่งนภา บุญชื่น
+รุ่งนภา มณฑาทอง
+รุ่งนภา วาสนาดำรงดี
+รุ่งนภา แสวงผล
+รุ่งพิทยา วัลย์ศรี
+รุ่งรวี ศรีวิลัย
+รุ่งรัฐ กิตติชัยณรงค์
+รุ่งรัตน์ พจน์ธนมาศ
+รุ่งรัตน์ สุนทรวรเชษฐ์
+รุ่งฤดี บุญเจริญทวีสุข
+รุ่งฤทัย รอดโพธิ์ทอง
+รุ่งศักดิ์ แป้นใหญ่
+รุ่งอรุณ กรองการุณย์
+รุ่งอรุณ โพธิ์นิมิตร
+รุ่งเกียรติ ปิยศุภกิจ
+รุ่งเรือง ยืนยงค์
+รุ่งโรจน์ กรรณสูต
+รุ่งโรจน์ โชติประกายเกียรติ
+รุ่งโรจน์ บุญซื่อ
+รุ่งโรจน์ เรืองฤทธิ์
+รุ่งโรจน์ สุพุทธิไกร
+รุ้งทอง คุณประภากร
+รุ้งลดา หุ่นสวัสดิ์
+รุจจรินทร์ รินทระ
+รุจา สุขมาลจันทร์
+รุจิรัตน์ นิติสุพรรัตน์
+รุจิรา เที่ยงอรุณ
+รุจิรา ศรจิตต์
+รุจิเรก ธันวานนท์
+รุจี เพ็ชรนิล
+รุน องอาจ
+เรณุมาศ ฟองเพ็ชร
+เรณู งามขำ
+เรณู ซื่อตรง
+เรณู ธนสิน
+เรณู ปิตินันท์
+เรณู มหาชานิกะ
+เรณู ลี้ธีระกุล
+เรณู เศวตเลข
+เรณู สุไลมาน
+เรณู เอื้อเฟื้อ
+เรวดี ไชยาคำ
+เรวดี บุญเลิศ
+เรวดี เลิศชัยวรกุล
+เรวดี เหลี่ยมไทย
+เรวัต ง้าววิเศษ
+เรวัต เพ็ชรรัตน์
+เรวัตต์ วรรณสินธ์
+เรวัตร สินธุสอาด
+เริง ขำสุข
+เริงชัย วงษ์ดี
+เริงฤทธิ์ นันทนาจารย์กุล
+เริงศักดิ์ สมพงษ์
+เริ่มรจิต ด้วงสำราญ
+เรียม เกษสาคร
+เรียม ภูบาล
+เรียมรัตน์ เกตุกาญจน์
+เรืองกิจ เหรียญกมล
+เรืองชัย รอดรัตน์
+เรืองยศ ขาวสอาด
+เรืองรัตนา อุนะพำนัก
+เรืองวิทย์ จุลกองฮ้อ
+เรืองศักดิ์ จารุกิจโสภณ
+เรืองศักดิ์ ส่งไพศาล
+เรืองเกียรติ เชาวรัตน์
+เรืองไร พูนพานิช
+เรไร จิรศักดิ์ทวี
+แรงรัฐ กวียะ
+โรจนี เมฆประเสริฐวิทย์
+โรม คงเจาะ
+ไรวรรณ สายสกุล
+ฤดี กมลมาศ
+ฤดี ลิ่มทองน้อย
+ฤดีรัตน์ ชีพสุทธา
+ฤทธิชัย นิยมโชค
+ฤทธิรงค์ ทวีธนวาณิชย์
+ฤทธิ์ เชื้อชัย
+ฤทัย พันธุเดช
+ฤาชุตา อัมพุช
+ลดาพรรณ พิศลพูล
+ลดาวัลย์ จินดาวงษ์
+ลดาวัลย์ เผื่อนน้อย
+ลดาวัลย์ ศรีกาญจนา
+ลบ นาดอน
+ลมัย แก้วพันตา
+ลมัย มนาปี
+ลมาด พลเรือง
+ลมูล ทองชื่น
+ลลนา ดีสมสุข
+ลลิตตา สาธุการ
+ลลิสา นามสุดใจ
+ล้วน บุษบา
+ล้วน หมวดสันเทียะ
+ลอย หาญณรงค์
+ลออ บูรณศิริ
+ลออ หอยศรีจันทร์
+ลออศรี บรรจงศิลป
+ละดา สนลอย
+ละม่อม เนตตะสูต
+ละม่อม แสงสุวรรณ
+ละมัย ทองยั่งยืน
+ละมัย รักการ
+ละมัย อารมย์ดี
+ละม้าย พฤกษ์สุนันท์
+ละมุน เปล่งวัน
+ละมูล วงศ์สุวรรณ
+ละออ คูณสินทวีกุล
+ละออ ธเนศธาดา
+ละออ เพ็ญสมบูรณ์
+ละออ วิจิตร
+ละออ อยู่ยืนยง
+ละออง ชะเนติยัง
+ละออง ปานเม่น
+ละออง วงษา
+ละอองดาว เกื้อกูล
+ละออศรี สาเอี่ยม
+ละเมียด ทับทิมทอง
+ละเมียด เลาหพันธุ์สวัสดิ์
+ละเอียด กลิ่นลำดวน
+ละเอียด จันทะวงศ์
+ละเอียด ด้วงโต
+ละเอียด นุ้ยเล็ก
+ละเอียด พิลึก
+ละเอียด เรืองศรี
+ละเอียด สารจันทร์
+ละเอียด เอี่ยมวิจารณ์
+ลักขณา กรรโมปกรณ์
+ลักขณา ช้างแจ้ง
+ลักขณา น้อยปรีชา
+ลักขณา โพธิกุล
+ลักขณา เวฬุสุวรรณ
+ลักขณา อภิวัฒนพงศ์
+ลักษ์คณา ธนะปักษ์
+ลักษณา จารุแสงไพไรจน์
+ลักษณา ปิ่นปลื้มจิตต์
+ลักษณา ศรีเชาวรัตน์
+ลักษณี ศรีสถาพร
+ลักษณ์ อภิชาติธรรม
+ลักษมี ไพบูลย์
+ลัคนา กันตระวงศ์
+ลั้ง แซ่คู
+ลั้งเฮียง แซ่โก
+ลัดดา กาญจนกันทร์
+ลัดดา แก้วรัศมีวงศ์
+ลัดดา คุ้มเกรง
+ลัดดา จิตต์อ่อน
+ลัดดา ชลไพรพิมลรัตน์
+ลัดดา ซอสุขไพบูลย์
+ลัดดา แซ่อึ้ง
+ลัดดา ดีสั้น
+ลัดดา โต๊ะทอง
+ลัดดา ธรรมาภิรานนท์
+ลัดดา นุชเปลี่ยน
+ลัดดา ปฏิบัติ
+ลัดดา เผ่าบุญมี
+ลัดดา พึ่งพัฒน์
+ลัดดา มงคลนัฎ
+ลัดดา ยงไสว
+ลัดดา รุ่งวิตรี
+ลัดดา วงศ์ละคร
+ลัดดา วิมุกตายน
+ลัดดา ศิริงะ
+ลัดดา สัมฤทธิเวช
+ลัดดา สุนทราวงศ์
+ลัดดา หวังมี
+ลัดดา อับดุลลาใบ
+ลัดดา เอิบอิ่ม
+ลัดดาวรรณ จิตรดา
+ลัดดาวรรณ์ พุ่มวิเศษ
+ลัดดาวัลย์ งามประมวญ
+ลัดดาวัลย์ แซ่นิ้ม
+ลัดดาวัลย์ นนทะนาคร
+ลัดดาวัลย์ พลอยเพ็ชร
+ลัดดาวัลย์ ยุทธนาสิริกุล
+ลัดดาวัลย์ ศรีรัตนโชติช่วง
+ลัดดาวัลย์ สุเมธาศร
+ลัดพลี สินธุโสภณ
+ลั่นทม ลีพันแสง
+ลาน วงศ์งามกนก
+ลาลีวัณย์ บุนนาค
+ลาวัณย์ ไชยบูรณะพันธ์กุล
+ลาวัณย์ ฤทธินนท์
+ลาวัลย์ กันชาติ
+ลาวัลย์ โชติพันธ์
+ลาวัลย์ บินสุมัน
+ลาวัลย์ แย้มประภา
+ลาวัลย์ ศุขเทวา
+ลาวัลย์ อินทรดิษฐ์
+ลำจวน บุญเข็ม
+ลำดวน กรุดพันธ์
+ลำดวน เตชะเสน
+ลำดวน เพ็ชรกลับ
+ลำดวน สิมะขจรบุญ
+ลำพร คำมา
+ลำพัง อุดม
+ลำพู สืบสว่างกุล
+ลำภู ศรีภคากร
+ลำยอง นภนที
+ลำระ ทับเปลี่ยน
+ลำเจียก รัตรสาร
+ลำเพย เมฆประสาท
+ลำใย จริตชีวะ
+ลำใย ปานเรือง
+ลำใย สุวรรณโชติ
+ล้ำ ใจเก่งกิจ
+ลิขิต ชวศิริ
+ลิขิต รัตนพงศ์
+ลิดา ตันติจรรยานนท์
+ลินดา จิรประภากร
+ลินดา วีรพันธุ์
+ลิ้นจี่ ขันทองดี
+ลิ้นจี่ สมิตินันทน์
+ลิ่มชิว แซ่ลิ้ม
+ลิ้ม สุขวิทยากุล
+ลิลี่ หงส์สุขพันธุ์
+ลี สุขแสงใส
+ลีต้า กิจสวัสดิ์
+ลีลา ลิน
+ลีฮั้ว ศิริชาตชัย
+ลี่เค็ง แซ่ตั้ง
+ลี่ อยู่ประสิทธิ์
+ลือชัย ไพโรจน์พุทธิคุณ
+ลือพงษ์ โพธิ์เจริญ
+ลุ้ย โตตรึงทรัพย์
+ลูกชิ้น หงษ์ทอง
+เลขา เพชรเสนา
+เลอพงษ์ เรืองวานิช
+เลอศักดิ์ สถิตย์วิมล
+เลาหนุวัติ เลาหนุวัติ
+เลิศ ชื่นไม่วาย
+เลิศ ระหา
+เลิศชัย คล่องธนกิจ
+เลิศชาย ค้าผลดี
+เลิศฤทธิ์ ตั้งก่อสกุล
+เลิศวิทย์ โรจน์ขจรนภาลัย
+เลิศศิลป์ คีรี
+เลียงชัย อรุณกิจเจริญ
+เลี่ยงคิม แซ่อั๊ง
+เลี่ยงเฮ็ง แซ่ตั้ง
+เลี้ยง แซ่เตียว
+เลื่อน กฤษณกรี
+เลื่อน สมดี
+เล็ก กุลกิจกำจร
+เล็ก จตุพรหมวงศ์
+เล็ก ช้างเผือก
+เล็ก แซ่ลี้
+เล็ก ดอกสายหยุด
+เล็ก ทรัพย์แสนดี
+เล็ก นาสุวรรณ
+เล็ก ป้อมชูแก้ว
+เล็ก พีรพลานันท์
+เล็ก เมธีกุล
+เล็ก ลิ้มปิกรณ์
+เล็ก ศรีกลิ่นสุวรรณ
+เล็ก สาตรนนทรีย์
+เล็ก แสงใสแก้ว
+เล็ก อักษรานุวัตร
+เล็บ วงษ์เจริญ
+เล้ง แซ่แต้
+แล้ม ภิรมย์ม่วง
+ไล่ฮก แซ่เบ๊
+วงจันทร์ ไทรงาม
+วงศ์จันทร์ วิเศษศร
+วงศ์ศิริ พรหมชนะ
+วงศ์ จำนงวิทย์
+วงษ์เดือน ชนประชา
+วงเดือน งามโพธิ์ทอง
+วงเดือน ปิ่นกุมภีร์
+วงเดือน สุขเนตร
+วชิร นิยมศิลป
+วชิระ ธรรมหทัย
+วชิรา กิ่งแก้ว
+วชิรา หลีละเมียร
+วชิราวัลย์ วิทยพานิช
+วณิชา โอทกานนท์
+วณี วิจิตร
+วดีกรณ์ สุขจารุวรรณ
+วนรัชต์ ตั้งคารวะคุณ
+วนาลี จิตตานนท์
+วนิชา รัตนะวิศ
+วนิดา กาหลิบ
+วนิดา ขันธสิทธิ์
+วนิดา จงปิยะเลิศ
+วนิดา จุลสุวรรณ
+วนิดา ชัยชัชวาล
+วนิดา ซึงทอง
+วนิดา ฐานะสถิรกุล
+วนิดา ติลกานันท์
+วนิดา เทพพิทักษ์พงษ์
+วนิดา นิมมานไพโรจน์
+วนิดา บูรณสัจจะ
+วนิดา ผลาผล
+วนิดา พานิชเจริญ
+วนิดา ภูทิพยวงษา
+วนิดา ไม้ดีเลิศ
+วนิดา เรืองธีรอำนวย
+วนิดา เลี้ยงถนอม
+วนิดา วิญญูวิสิทธิรักษ์
+วนิดา ศานต์พิริยะ
+วนิดา สราวุธวินัย
+วนิดา สุขสมภักดิ์
+วนิดา แสงพงศ์ชวาล
+วนิดา อมาตยกุล
+วนิดา อุทยางกูร
+วนิภา ว่องวัจนะ
+วรกานต์ ภควัตสุนทร
+วรกิจ สุรณรงค์พันธ์
+วรจิตรา วศินพงศ์วณิช
+วรชัย ทัศไนยเธียรกุล
+วรชัย สินธนนพคุณ
+วรชาติ พันธุ์สวัสดิ์
+วรณี มธุรสตระกูล
+วรธรรม แจ่มจันทร์
+วรนาถ ปิยสุวรรณาภรณ์
+วรนุช กิจอุดมสิน
+วรนุช ตั้งเจริญเสถียร
+วรนุช พิษณุวงษ์
+วรนุช ศรีทัศนีย์
+วรนุช โอภาสเจริญพร
+วรพงศ์ ศิริพงษ์วิรัช
+วรพงษ์ โพธิ์สว่าง
+วรพจน์ กิตติพัฒนาพงศ์
+วรพจน์ ตรรกพงศ์
+วรพจน์ เปรมสาย
+วรพจน์ วงศ์สง่า
+วรพจน์ สุวัฒน์ธนากร
+วรพร ทรัพย์ทวีพร
+วรพรรณ มีทองคำ
+วรพล เบญกานี
+วรพัฒน์ สุมะโน
+วรพิชญา บุญศรีโรจน์
+วรมน คงอ่อน
+วรยุทธ์ ประธานทิพย์
+วรรณกานต์ ขาวลาภ
+วรรณชัย บุญบำรุง
+วรรณดี จันทร์ปลั่ง
+วรรณดี พรนันทารัตน์
+วรรณดี หงส์นิมิตชัย
+วรรณทิพย์ แซ่โป่ว
+วรรณนภา แซ่เตี๋ยว
+วรรณนิภา พุ่มสุวรรณ
+วรรณพร กิตติโสภณ
+วรรณพร เพียรสาระ
+วรรณพิบูลย์ นุชใย
+วรรณภา ชมทรัพย์
+วรรณภา ปิยะตระกูล
+วรรณภา ศรไพศาล
+วรรณรักษ์ วัฒนวุฒิพงศ์
+วรรณรี ชุณหภิญโญกุล
+วรรณวดี โตษยานนท์
+วรรณวิภา ธเนศสุธรรม
+วรรณวิมล ฐานานุศักดิ์
+วรรณวิมล สุขปาน
+วรรณวิไล ศิริชัยเทวินทร์
+วรรณศิริ ตันเจริญ
+วรรณะ คณาญาติ
+วรรณะ ไสยเกื้อ
+วรรณา กุลพนาเวศ
+วรรณา คงเจริญจิตติกุล
+วรรณา จันทรคง
+วรรณา เจียงวงศ์ถาวร
+วรรณา ชินศรีสุข
+วรรณา แซ่ลิ่ว
+วรรณา แซ่โล่
+วรรณา ตันเจริญ
+วรรณา ทองสุข
+วรรณา ธีระพงษ์
+วรรณา บวรวัฒนวานิช
+วรรณา ปรางทอง
+วรรณา พจน์ศิริศิลป
+วรรณา พานิชย์เจริญยิ่ง
+วรรณา ภัทรบัณฑิต
+วรรณา แม้นจันทร์
+วรรณา เรืองประเภท
+วรรณา วงศ์ประเสริฐ
+วรรณา วิสุทธวิเศษ
+วรรณา ศิตะโยธิน
+วรรณา สหธรรมิก
+วรรณา สุจริต
+วรรณา โสภณนรินทร์
+วรรณา อนุสรณชัย
+วรรณา อินทร์พระยา
+วรรณาภา แซ่ซึง
+วรรณิภา สุขพลอย
+วรรณี เกียรติกังวานกุล
+วรรณี คุ้มอนุวงศ์
+วรรณี เจริญเตียวงศ์
+วรรณี โชคชูชัย
+วรรณี แซ่เอียะ
+วรรณี ตั้งเสาวภาคย์
+วรรณี ไทเมืองพล
+วรรณี บุญญะฤทธิ์
+วรรณี ผุสดิน
+วรรณี พุ่มศิริ
+วรรณี มานะภักดิ์ศิริกุล
+วรรณี เรืองสมหมาย
+วรรณี วงษ์เทียนจันทร์
+วรรณี ศรีวิมลทัศน์
+วรรณี สัจจะเวทะ
+วรรณี สุวรรณฤกษ์
+วรรณี อภิรัตนกุล
+วรรณี เอี่ยมสอาด
+วรรณเพ็ญ พรมจันทร์
+วรรธ กันต์ไพเราะ
+วรรลภรณ์ เลอวัฒนกิจถาวร
+วรรัตน์ นิระฉัตรสุวรรณ์
+วรลักษณ์ จันทรดี
+วรลักษณ์ สินไชย
+วรวรรณ ญาณิสสร
+วรวรรณ เลิศคงคาทิพย์
+วรวรรณ เอี่ยมสันติไพศาล
+วรวัฒน์ วิวัฒน์ยุศันต์
+วรวิทย์ กุลวงษ์วาณิชย์
+วรวิทย์ ชาติเวียง
+วรวิทย์ ทัศธนะสิริกุล
+วรวิทย์ พาณิชพัฒน์
+วรวิทย์ วรกิตติพันธ์
+วรวิทย์ สินชวาลวัฒน์
+วรวิทย์ อิศรางกูร ณ อยุธยา
+วรวุฒิ จำเริญรัตนากร
+วรวุฒิ ตั้งสมภาควรกุล
+วรวุฒิ พรวรนันท์
+วรวุฒิ เลิศปรีชาพงษ์
+วรวุฒิ สิทธิศาสตร์สกุล
+วรวุธ เนตรทัศน์
+วรศักดิ์ เด่นเกศินีล้ำ
+วรศักดิ์ สิงหธิติกุล
+วรสิทธิ์ ปลื้มสัมพันธ์
+วรัช อรุณกมล
+วรัญญา ศิลปสมศักดิ์
+วรัมพร สุขได้พึ่ง
+วรากร ผจงจิตติกุล
+วรางคณา ดีมาก
+วรางคณา อินชูโต
+วราทิพย์ ไอยรากาญจนกุล
+วราพร งามสมตระกูลชาติ
+วราพร พันธ์ณรงค์
+วราพร สุทันติกร
+วราภรณ์ กระต่ายแก้ว
+วราภรณ์ โกศลวัฒนะ
+วราภรณ์ จงปั้น
+วราภรณ์ เจียรสมจิตร
+วราภรณ์ ไชยวงศ์
+วราภรณ์ ดาวประจักษ์
+วราภรณ์ โตแจ้ง
+วราภรณ์ ธนาภรณ์พิบูล
+วราภรณ์ บัวคลี่
+วราภรณ์ ปิ่นทอง
+วราภรณ์ พิณเมืองงาม
+วราภรณ์ มฤศโชติ
+วราภรณ์ รัตนะ
+วราภรณ์ เล่งวิริยะกุล
+วราภรณ์ วิพัฒน์กิจวิไล
+วราภรณ์ ศุนาลัย
+วราภรณ์ สุขบุญส่ง
+วราภรณ์ หมึกหอม
+วราภรณ์ อัศวกายมณี
+วรามาศ ซึ่งจิตเสถียร
+วรารัตน์ จิระขจรวงศ์
+วรารัตน์ ออรัตนชัย
+วราลักษณ์ อิทธิเจริญสุข
+วราวุฒิ ธรเสถียร
+วราวุธ เพียรกิจ
+วราห์ เผ่าตำรวจ
+วรินทรีย์ ชินสาย
+วรินทร์ อินทร์ธิราช
+วริศรา เอื้ออารีวิวัฒน์
+วรีภรณ์ สัจจริตานันท์
+วรุณ ลิ้มอุดมสุข
+วรุณี ตั้งสืบกุล
+วรเชต ศรีประภาสุขสันติ
+วรเดช ลิ้มธรเบญจพล
+วรเทพ แทนวันชัย
+วรเทพ สวัสดิยนาวิน
+วรโชติ เชียงทอง
+วลัย แป้นทอง
+วลัยพร เกียรติทับทิว
+วลัยพร ภัทราพงศ์
+วลัยพรรณ ดวงแก้ว
+วลัยรัตน์ แก้วสว่าง
+วลัยลักษณ์ ฤทธิรงค์วัฒนา
+วลิยา วัฒนาพร
+วลี พละบุญมี
+วลีพร สุทธินัยวราภรณ์
+วลีรัตน์ สุวรรณอักษร
+วศิน วณิชย์วรนันต์
+วสันติ โอภาสวานิช
+วสันต์ จงศุภนิมิต
+วสันต์ เชื่อมทอง
+วสันต์ ทองคง
+วสันต์ ปฏิโภคสุทธิ์
+วสันต์ โพธิ์ไพรทอง
+วสันต์ วงศ์กัทลีคาม
+วสันต์ สกุลฟอง
+วสันต์ หทัยเกียรติกุล
+วสุ บูรณะเหตุ
+วอน ฉ่ำนิตย์
+วัง สุขสมบุญ
+วัจวิท ทักษณิวรรตกุล
+วัชร พลวรรณาภา
+วัชรพงษ์ กิจโกศล
+วัชรพันธ์ ประดิษฐพงษ์
+วัชระ แจ่มจำรัส
+วัชระ บุญเอนกทรัพย์
+วัชระ เย็นวิจิตรโสภา
+วัชระ สุระแสง
+วัชรา เจริญรัตนพร
+วัชรา ลิมานนท์ดำรงค์
+วัชราพร เสมคำ
+วัชราภรณ์ ยิ่งยงยศ
+วัชริน ตรีวิลาศรัตน์
+วัชรินทร์ เจริญรัตน์
+วัชรินทร์ ทองรักษ์
+วัชรินทร์ พลับแก้ว
+วัชรินทร์ วชิรพาหุ
+วัชรินทร์ สุบรรณพงษ์
+วัชรี กาญจโนภาส
+วัชรี เจริญทรัพย์
+วัชรี ตรีพานิช
+วัชรี บูรณ์วรุตม์
+วัชรี ฟุกตานนท์
+วัชรี วงศ์กลธูต
+วัชรี สง่าเมือง
+วัชรี หิรัณยาตาพงศ์
+วัชรียา ธนะสุนทร
+วัชร์แสง เหล่าหงษ์เงิน
+วัฒนชัย จินดานุรักษ์
+วัฒนชัย สาตรพันธุ์
+วัฒนศักดิ์ พันธุ์กำแหง
+วัฒนะ ปริศนาวาณิชย์
+วัฒนา กรอบเพ็ชร์
+วัฒนา เขียมทรัพย์
+วัฒนา จิตการุณ
+วัฒนา ชาญไชย
+วัฒนา ตรีวิทยากุล
+วัฒนา เทียนเพ็ง
+วัฒนา บำรุงพฤกษ์
+วัฒนา ปิ่นเสม
+วัฒนา พิมพ์ประดับ
+วัฒนา มาระมิ่ง
+วัฒนา รัตนะมงคลกุล
+วัฒนา วัชระพิมลมาศ
+วัฒนา ศรีเอนกราธา
+วัฒนา สุขกนิษฐ์
+วัฒนา แสดมณี
+วัฒนา อินทรักษ์
+วัฒนาภรณ์ ลี้ชาญกุล
+วัฒน์ เจริญประเสริฐกุล
+วัดกระจัง วัดกระจัง
+วัดช่องนนทรี วัดช่องนนทรี
+วัดธาตุทอง วัดธาตุทอง
+วัดบางพลีน้อย วัดบางพลีน้อย
+วัดป่าเรไร วัดป่าเรไร
+วัดราชคฤห์ วัดราชคฤห์
+วัดสวนแก้ว วัดสวนแก้ว
+วัดอยู่ดีบำรุงธรรม วัดอยู่ดีบำรุงธรรม
+วัดเสด็จ วัดเสด็จ
+วัดใหม่ลำนกแขวก วัดใหม่ลำนกแขวก
+วัธนา พัชราวลัย
+วันจนีย์ ดำรัสการ
+วันชัย กิตติจารุกำจร
+วันชัย ขนบดี
+วันชัย โคตรสมบัติ
+วันชัย จำนงค์
+วันชัย เจียระไนพันธ์
+วันชัย ชาญสง่าเวช
+วันชัย ซื่อเธียรสกุล
+วันชัย แซ่เยี้ย
+วันชัย ตรีสินธ์
+วันชัย โตความรู้
+วันชัย เทิดบัญชรสุข
+วันชัย นันทคุณากร
+วันชัย บุญช้าง
+วันชัย ปั้นพินิจ
+วันชัย พรมวงษ์
+วันชัย พูนทรัพย์
+วันชัย มงคลวงศ์สกุล
+วันชัย ยังประยูร
+วันชัย รุ่งรัตน์มณีมาศ
+วันชัย ลีลาชูพงศ์
+วันชัย วงษ์ขาว
+วันชัย วินัยวรสกุล
+วันชัย ศรีสุวรรณ
+วันชัย สกุลศักดิ์นิมิตร
+วันชัย สายสวัสดิ์
+วันชัย สุทธิอารีกุล
+วันชัย โสตถีวรกุล
+วันชัย อภิกวินวงศ์
+วันชัย อานันทนสกุล
+วันชัย เอี่ยมวิวัฒนะกุล
+วันชาติ ปุญวัฒโท
+วันณี ดาวแสง
+วันดี ไกรรมณ์
+วันดี จุลสำลี
+วันดี แซ่ตั้ง
+วันดี แดงหนู
+วันดี ไทยประดิษฐ์
+วันดี บุณยะกาญจน
+วันดี พลอยมะกล้ำ
+วันดี มฮำหมัด
+วันดี ละมั่ง
+วันดี ไวอ่อน
+วันดี สิงหาพันธุ์
+วันดี หุโลประการกุล
+วันทณี โชติเวที
+วันทนา จงแจ่ม
+วันทนา เดชประสิทธิ์
+วันทนา บุญกร่าง
+วันทนา เพียรวนิช
+วันทนา วงศ์ภักดี
+วันทนา สุวรรณพงษ์
+วันทนาพร ศิรินันทวิทยา
+วันทนี ฤทธิสิงห์
+วันทนีย์ ชลิตตานนท์
+วันทนีย์ เนียมเทศ
+วันทนีย์ ลัทธะพานิชย์
+วันทนีย์ หวัง
+วันธณี แดงประดับ
+วันนา ศรีสวาท
+วันมูหะมัดนอร์ มะทา
+วันวิสา สิริศรัณย์
+วันเจิด ตามเพิ่ม
+วันเพ็ญ กิ่งใบสมบูรณ์
+วันเพ็ญ เขาแก้ว
+วันเพ็ญ จันทรวิโรจน์
+วันเพ็ญ ชนากร
+วันเพ็ญ แซ่ลิ้ม
+วันเพ็ญ ตระกูลสุขทรัพย์
+วันเพ็ญ ทรัพย์มณี
+วันเพ็ญ นาคแย้ม
+วันเพ็ญ ประดิษฐ์สุวรรณ
+วันเพ็ญ พรธนาวุฒิ
+วันเพ็ญ เพชรกาญจนาพงศ์
+วันเพ็ญ มาโนช
+วันเพ็ญ รุ่งเรือง
+วันเพ็ญ วรพัฒนานันต์
+วันเพ็ญ ศรีโยยอด
+วันเพ็ญ สิงห์สวัสดิ์
+วันเพ็ญ สูญสิ้นภัย
+วันเพ็ญ อนุติรยะ
+วันเพ็ญ เอวาสกุล
+วัยวัจน์ ทายาทสุวรรณ
+วัลนภา ราศรีปลั่ง
+วัลภา ดุลยานนท์
+วัลภา ยรรยงพัฒนะ
+วัลภา หรั่งสิโย
+วัลย์ลัดดา ธีระศักดิ์กุล
+วัลยา นวลละออง
+วัลยาภรณ์ รัชวิชัย
+วัลลภ แก้วเปีย
+วัลลภ แจ่มวุฒิปรีชา
+วัลลภ ทองก้าย
+วัลลภ บูรณศิริ
+วัลลภ มะชรา
+วัลลภ วชิรพรพงศา
+วัลลภ สังข์สอน
+วัลลภ อรัญญเกษม
+วัลลภา เฉลิมนัย
+วัลลภา พรมโชติ
+วัลลภา วีระปุลลี
+วัลลา เกาสุรัตน์
+วัลลี นันตาลิก
+วัลลีย์ ประทุมชาติ
+วัลลีย์ ฮั้วห้วยพระ
+วาณิชย์ วดีศิริศักดิ์
+วาณี พันธุมจินดา
+วาณี เหลืองบริสุทธิ์
+วาทิต พิชยนันท์
+วาทินี วงศ์บุษยกุล
+วานิช เมธาธำรงค์ศิริ
+วารณี แดงสี
+วาริท หลาวทอง
+วารินทร์ กิตติโชติกุล
+วารินทร์ บุญชยานุรักษ์
+วารินทร์ วารมา
+วารินี โอษฐิเวช
+วารี จีนสุวรรณ์
+วารี ไตรพุทธางกูร
+วารี พลสระน้อย
+วารี วงศ์อุไร
+วารี สุปรียาวรรณชัย
+วารีทิพย์ เทพนำโสมนัสส์
+วารุณภัค ฮั่นตระกูล
+วารุณี จิตต์ธรรม
+วารุณี ดาบเจริญชัย
+วารุณี นิลเพชร์พลอย
+วารุณี พันธุเพ็ง
+วารุณี โรจน์พลากร
+วารุณี ศรีสกุลดี
+วารุณี สุวรรณศรี
+วารุณีย์ จำปานิล
+วาสนา กระพันพงศ์สกุล
+วาสนา แก้วชูศิลป์
+วาสนา คำศิริรักษ์
+วาสนา จินดาศักดิ์
+วาสนา ชานก
+วาสนา แซ่เล้า
+วาสนา ไตรเวทย์วรกุล
+วาสนา เทียมแสงอรุณ
+วาสนา นิยมฤทธิ์
+วาสนา บูรศิริรักษ์
+วาสนา เผ่าถนอม
+วาสนา พูลนิกร
+วาสนา มะเสริฐ
+วาสนา ระรื่นจิตต์
+วาสนา และเย๊าะห์
+วาสนา วีระรัศมี
+วาสนา ศุภวิทยาโภคี
+วาสนา สำเภาทอง
+วาสนา เสถียรธรรมวิทย์
+วาสนา เหลืองสะอาด
+วาสนา อินทสุวาท
+วาสิน สุภประกร
+ว้า แซ่แต้
+วิกรม วิกรมประสิทธิ์
+วิกิจ สุขสำราญ
+วิจันทรา บุนนาค
+วิจารณ์ นาควิเชียร
+วิจิต ไทยเจริญ
+วิจิตร เกตุธรรมวงศ์
+วิจิตร จุลรัษเฐียร
+วิจิตร ตราชู
+วิจิตร บำรุงกิจ
+วิจิตร พานิชย์
+วิจิตร รังสิยานนท์
+วิจิตร วุฒิอำพล
+วิจิตร สุขวิทยาวงษ์
+วิจิตร อัจฉริยอังกูร
+วิจิตรา แก้วสิทธิวงศ์
+วิจิตรา ถิรสุนทรากุล
+วิจิตรา ม่วงยิ่งสุข
+วิจิตรา สิทธิโชคอุดม
+วิจิตร์ ล้อมกุลไพศาล
+วิชชา อัศววรฤทธิ์
+วิชชุดา ลีลาสุขสันติกุล
+วิชญา สุทธิประเสริฐ
+วิชวน ศิริกาญจนวานิช
+วิชัย กันตังกุล
+วิชัย กีรติพานิช
+วิชัย เกี๋ยวพะมิตร
+วิชัย เขมะวรรณา
+วิชัย คุณากรสิริรักษ์
+วิชัย จตุรพักตรารักษ์
+วิชัย จั่วแจ่มใส
+วิชัย จิระไชยเขื่อนขันธ์
+วิชัย เจริญวุฒิวงษา
+วิชัย ฉายวิชิต
+วิชัย ชัยอำนวย
+วิชัย ชูชัยเจริญ
+วิชัย ซื้อพัฒนารุ่งโรจน์
+วิชัย แซ่ลิ้ม
+วิชัย แซ่เล้า
+วิชัย ดีสุคนธ์
+วิชัย ตั้งจารุ
+วิชัย ตามเที่ยงตรง
+วิชัย ไตรทิพย์พิทักษ์
+วิชัย ทองแท้
+วิชัย ธนะรัชติการนนท์
+วิชัย นกแย้ม
+วิชัย นิมิตไตรทิพย์
+วิชัย บุญญธนัง
+วิชัย บุษยะจารุ
+วิชัย ปรีชาวุฒิ
+วิชัย เปลี่ยนแพ
+วิชัย พรธรรมสิริ
+วิชัย พันธ์คำ
+วิชัย พึ่งสัมพันธ์
+วิชัย ไพบูลย์ลีสกุล
+วิชัย มณีฉาย
+วิชัย มีทรัพย์วัฒนา
+วิชัย ยิ้มน้อย
+วิชัย รัตนเจริญสกุล
+วิชัย โรจน์วิชาวงศ์
+วิชัย ลิ้มพรกุล
+วิชัย เลิศพลากร
+วิชัย วงศ์สระทอง
+วิชัย ว่องกิตติสิน
+วิชัย วิชัยธนพัฒน์
+วิชัย วิเชียรทองคำ
+วิชัย ศรีปัญจพงษ์
+วิชัย ศิริคุม
+วิชัย สกลพงษ์ไพโรจน์
+วิชัย สะอิ๊นะ
+วิชัย สินทัตตโสภณ
+วิชัย สุขเจริญ
+วิชัย สุริยะมงคล
+วิชัย แสงสมมาตร์
+วิชัย หัสดาดล
+วิชัย ไหลเจริญวงศ์
+วิชัย อรุณวัฒน์
+วิชัย อาภาพงศ์ศักดิ์
+วิชัย อุทิศ
+วิชัย ฮั้วประเสริฐ
+วิชา ช่วงโชติ
+วิชา ปิติพัฒนพันธ์
+วิชา วิชาชาญ
+วิชาญ กระแสร์กุล
+วิชาญ จินต์สุภัค
+วิชาญ ดีประหลาด
+วิชาญ บุญประเสริฐยิ่ง
+วิชาญ เพ็งสอาด
+วิชาญ ลิ้มสวัสดิ์
+วิชาญ ศิริเวชวราวุธ
+วิชาญ เหนี่ยวองอาจ
+วิชาติ ยุทธนาวรากุล
+วิชิต เกิดแกง
+วิชิต จิตรีเชื้อ
+วิชิต โชติชัชวาล
+วิชิต เตชะชุณหกิจ
+วิชิต บุญถนอม
+วิชิต พันธุ์พานิช
+วิชิต ร่วมสุข
+วิชิต วงษ์ใหญ่
+วิชิต ศรีพงษ์พันธุ์กุล
+วิชิต สุขสินธารานนท์
+วิชิต อนุตระกูล
+วิชิต เอี่ยมเสมารุ่ง
+วิชุดา แซ่ลิ่ม
+วิชุพร อิทธิรังสิมา
+วิญญู ทองพรรณ
+วิฑิต นีรพิทักษ์
+วิฑูร ลีวงศ์เจริญ
+วิฑูรย์ ขวัญเมือง
+วิฑูรย์ ชุ่มเล็ก
+วิฑูรย์ นิวาสสวัสดิกุล
+วิฑูรย์ โพธิ์จงรักษ์
+วิฑูรย์ วรรณจิตจรูญ
+วิฑูรย์ เส็งพานิช
+วิณัฐฑิตา โสภิตกานต์
+วิทยรัตน์ ทองนิ่ม
+วิทยา แก้ววัฒนะ
+วิทยา จันทร์ดาเรือง
+วิทยา ฉัตรวิทยายุทธ
+วิทยา แซ่ตู
+วิทยา ตัณฑสุทธิ์
+วิทยา ธนะพานิชย์
+วิทยา บุญญธนาภิวัฒน์
+วิทยา พงษ์สัมฤทธิ์
+วิทยา พูลพรรณ
+วิทยา เมตตาสัตย์
+วิทยา ฤทธิ์เดช
+วิทยา วรชาติ
+วิทยา ศรนรินทร์
+วิทยา สันตโยภาส
+วิทยา เสริมชีพ
+วิทยา อร่ามศรี
+วิทยากร เชียงกูล
+วิทย์ เพชรรัศมีพราว
+วิทวัส กิตติคุณานันท์
+วิทวัส หงสไกร
+วิทิต ศิริโภคากิจ
+วิทูร เทพพิทักษ์
+วิทูร แสงสิงแก้ว
+วิทูล สมบัติทวี
+วิน กล่ำแสง
+วินดา ชื่นเชื่อม
+วินัย กลิ่นพุฒ
+วินัย แก้วเกษการณ์
+วินัย คุ้มคอน
+วินัย จิตต์แจ่ม
+วินัย ชนะคช
+วินัย แช่มปรีดา
+วินัย เดชนที
+วินัย ถาวร
+วินัย เทียมน้อย
+วินัย นิธิชัย
+วินัย บุญวัฒนโสภณ
+วินัย ปางกิตติพงศ์
+วินัย พร้อมศิริพงษ์
+วินัย พุ่มเจริญวัฒนา
+วินัย มรรคนันท์
+วินัย ยุดดร
+วินัย โรจน์เจียง
+วินัย วงศ์อำนวยกุล
+วินัย วิลัยกรวด
+วินัย ศาสตร์สาระ
+วินัย สากล
+วินัย สุทธิวรรณารัตน์
+วินัย หมู่มิ่ง
+วินัย อรุณวัฒนกูล
+วินัย เฮงสมบูรณ์
+วินิจ เจริญศิริ
+วินิจ ปรีชารัตน์
+วินิจ วิริยกรอบชัย
+วินิช ชิรวานิช
+วินิตย์ สังข์สีเหลือบ
+วิบูรณ์ ปู่คงพระ
+วิบูลย์ยศ อมาตยกุล
+วิบูลย์ กิตติอัมพานนท์
+วิบูลย์ เจียรวงศ์
+วิบูลย์ แดงดวงแก้ว
+วิบูลย์ แทนบุญไพรัช
+วิบูลย์ ปอแก้ว
+วิบูลย์ ภาควณิช
+วิบูลย์ ฤทัยศรีมณีพันธ์
+วิบูลย์ วิบูลย์กิจวรกุล
+วิบูลย์ สถิรศิลปิน
+วิบูลย์ หวังรวยนาม
+วิบูลลักษณ์ ดิษฐอ่วม
+วิพล ปิตานุเคราะห์
+วิพากย์ โรจนแพทย์
+วิภา กานต์เหมรัตน์
+วิภา คูณขุนทด
+วิภา เจียมทวีวิบูลย์
+วิภา แซ่ตั้ง
+วิภา ตันตริยานนท์
+วิภา ธรรมาจักร์กุล
+วิภา ปาแก้ว
+วิภา พิทักษ์สิริศักดิ์
+วิภา ยังวิเศษ
+วิภา เลี้ยงศิริประเสริฐ
+วิภา เวศาขวรินธ์
+วิภา สามสี
+วิภา แสงสว่าง
+วิภา อิฐงาม
+วิภาจรี ตั้งสำเริงวงศ์
+วิภาดา นิธิปรีชานนท์
+วิภาดา หิรัญน้อย
+วิภาพร แซ่โล้ว
+วิภาพร ฤดีชูพิมล
+วิภาพรรณ พุ่มสงวน
+วิภาภรณ์ แซ่ไหล
+วิภาภรณ์ อาจอาสา
+วิภารัตน์ พรหมศรีสวัสดิ์
+วิภาวดี ไข่มุก
+วิภาวรรณ คุณติสุข
+วิภาวรรณ ภู่ตระกูล
+วิภาวลัย แจวชำนาญเชาว์
+วิภาวี สมิทธิเศรษฐ์
+วิภาส เอกธรรมสกุล
+วิมล กลิ่นเกษร
+วิมล คำเครื่อง
+วิมล ฉายปัญญาเลิศ
+วิมล แซ่เฮี้ย
+วิมล ทองดอนน้อย
+วิมล บุญยัง
+วิมล พัฒนาดิสัย
+วิมล มาลัยทอง
+วิมล ลิมปิสวัสดิ์
+วิมล วูวนิช
+วิมล สุขสมใจ
+วิมล แหยมงาม
+วิมลทิพย์ เกษโกมล
+วิมลมาลย์ สมคะเน
+วิมลรัตน์ งามพฤกษ์วานิชย์
+วิมลรัตน์ นิรัติกุลชัย
+วิมลรัตน์ ลีลาประชากุล
+วิมลรัตน์ อรุณนิธิ
+วิมลวรรณ เผ่าศรีเจริญ
+วิมลศรี ประดับแก้ว
+วิมาน ธิโสภา
+วิยดา วิศิษฐ์รัศมีวงศ์
+วิยะดา ทาประทุม
+วิยะดา ศิริทองคำ
+วิรงรอง อ้นอารี
+วิระ บำรุงศรี
+วิรัช กลิ่นขจร
+วิรัช ขุมทรัพย์
+วิรัช จิตพันธ์
+วิรัช ชื่นมีศรี
+วิรัช ดิษฐบรรจง
+วิรัช เทพประทุม
+วิรัช บรรเทิง
+วิรัช เปรมศรี
+วิรัช พูนทรัพย์
+วิรัช มาดวง
+วิรัช เรือนเงิน
+วิรัช วรรณรัตน์
+วิรัช ศรีบุญวงษ์
+วิรัช สหสมโชค
+วิรัช แสงเงิน
+วิรัช อมศิริ
+วิรัชช สุภานุสร
+วิรัต ยิ้มระหงษ์
+วิรัตน์ แก้วรัตนอัมพร
+วิรัตน์ จารุเวฬ
+วิรัตน์ ชูฉัตร์
+วิรัตน์ ตันติอธิมงคล
+วิรัตน์ ธูปทอง
+วิรัตน์ ประเสริฐกุล
+วิรัตน์ พิลัย
+วิรัตน์ ยันตเวช
+วิรัตน์ ลีลาสมานชัย
+วิรัตน์ แววนกยูง
+วิรัตน์ สิงห์งาม
+วิรัตน์ เหมนรากร
+วิรัตน์ เอียดเสน
+วิราณี วรชาครียนันท์
+วิรินทร์ ตันติพลาวนิชย์
+วิริยะ นิลรังษี
+วิริยา กิตตินันท์
+วิรียา นาคา
+วิรุต ตรียวง
+วิรุฬห์ ครองบุญศรี
+วิรุฬห์ สุนทราภัย
+วิลัย ใจดี
+วิลัย วิสุทธิชาติ
+วิลัยศักดิ์ สุกิจญาณ
+วิลาวรรณ ธารธนาภรณ์
+วิลาวัณย์ แก้วกนกวิจิตร
+วิลาวัณย์ ภัทรวนากุล
+วิลาวัลย์ กระจ่างทิศ
+วิลาวัลย์ นรสิงห์
+วิลาวัลย์ ศรีมีสวัสดิ์
+วิลาศ จีนารักษ์
+วิลาศ เวชภูติ
+วิลาสินี แซ่อึ้ง
+วิวรรณ กมลศรีจักร
+วิวรรธน์ ภิรมย์ประเมศ
+วิวัฒน์ กันฑธนกิจ
+วิวัฒน์ คุณติสุข
+วิวัฒน์ ฉายาสกุลวิวัฒน์
+วิวัฒน์ แซ่โกย
+วิวัฒน์ โตเจริญวิวัฒน์
+วิวัฒน์ นิติภูมิเวชสกุล
+วิวัฒน์ ปิ่นภักดี
+วิวัฒน์ พีรศักดิ์โสภณ
+วิวัฒน์ ยิ่งชนะเกียรติ
+วิวัฒน์ เลาวเลิศ
+วิวัฒน์ วิกรานตโนรส
+วิวัฒน์ ศิลกรุงธีระภาพ
+วิวัฒน์ สุขเจริญ
+วิวัฒน์ อภิวัฒนลังการ
+วิวัฒน์ เอื้อรัตน์ศรีทอง
+วิศณี ศรทัตต์
+วิศลย์ สิริทัศนคุณ
+วิศาล เฉลิมกิจ
+วิศาล ลือกระจ่างธรรม
+วิศิษฎ์ แก้วล้อม
+วิศิษฎ์ พัฒนเมฆิน
+วิศิษฎ์ อภินันท์
+วิศิษฏ์ ภูริวัฒน์
+วิศิษฏ์ อิสณพงศ์
+วิศิษฐ์ กิตตินันทพันธุ์
+วิศิษฐ์ ตารัชกุล
+วิศิษฐ์ มั่งคั่ง
+วิศิษฐ์ ศิวะบวร
+วิศิษย์ศักดิ์ วงศ์สถิตย์พร
+วิษณุ ทวีวิโรจน์สกุล
+วิษณุ วงษ์เงิน
+วิษณุวัต วัจนะพุกกะ
+วิสันต์ จันทร์ศรีเจริญ
+วิสัย สมบูรณ์ทรัพย์
+วิสาร เตชะธีราวัฒน์
+วิสิฐ ลุผลแท้
+วิสิทธิ์ จิตรพานิชเจริญ
+วิสิทธิ์ พงโศธร
+วิสิทธิ์ เศรษฐีพ่อค้า
+วิสิษฐ ฤทธิ์สำเร็จ
+วิสุทธิ บุญกำพร้า
+วิสุทธิ์ คุ้มภาคสกุล
+วิสุทธิ์ ด่านธนสาคร
+วิสุทธิ์ บุญดีเจริญยิ่ง
+วิสุทธิ์ ภัทรเกียรติเจริญ
+วิสุทธิ์ วิสุทธิพิเนตร
+วิสุทธิ์ สุทธิวิริยะกุล
+วิสุทธ์ เคห์ทุ่ม
+วิสูตร ฉกาจฤทธิพงศ์
+วิสูตร ประคองสันติกุล
+วิสูตร วงศ์ไชยศรี
+วิสูตร สู่พานิช
+วิเกื้อ สกุลจันทร์
+วิเชษฐ ปราชเปรื่อง
+วิเชษฐ์ รอดนุสนธิ์
+วิเชียร กังวาลย์
+วิเชียร เกิดภู่
+วิเชียร เข็มเงิน
+วิเชียร เคารพพาพงค์
+วิเชียร จันทโชติบุตร
+วิเชียร เจริญพงษ์
+วิเชียร ชัยชำนะภัย
+วิเชียร โชติตันติมากร
+วิเชียร แซ่โค้ว
+วิเชียร ตรีพุฒ
+วิเชียร เติมวุฒิ
+วิเชียร ทัตตมนัส
+วิเชียร ธารมนูลาภ
+วิเชียร เนตรประเสริฐกุล
+วิเชียร บุริมจิตต์
+วิเชียร ปานอุทัย
+วิเชียร พรายมี
+วิเชียร พิริยะพงศธร
+วิเชียร ฟุ้งสุข
+วิเชียร มามีเกตุ
+วิเชียร ใยประยูร
+วิเชียร รุ่งโรจนาลักษณ์
+วิเชียร ลิ้มอารีธรรม
+วิเชียร วงศ์อนุสรณ์
+วิเชียร วันลักษณ์
+วิเชียร ไวพจนาท
+วิเชียร ศิริรุ่งเรือง
+วิเชียร สมศิริกุล
+วิเชียร สำเภา
+วิเชียร สุคนธาภิรมย์ ณ พัทลุง
+วิเชียร เสร็จสวัสดิ์
+วิเชียร หอมคง
+วิเชียร อยู่เรือง
+วิเชียร อินทร์สำอางค์
+วิเชียร ฮวดประดิษฐ์
+วิเลิศ อร่ามเลิศตระกูล
+วิเศษ บุญประเสริฐ
+วิโชค วิเศษพันธุ์ชัย
+วิโรจน์ กัปปิยจรรยา
+วิโรจน์ โกยอนรรฆกุล
+วิโรจน์ งามเอกอุดมพงศ์
+วิโรจน์ จิวารุ่งเรือง
+วิโรจน์ ชลรัตนกุล
+วิโรจน์ โชติวรรณกุล
+วิโรจน์ ดอนยางไพร
+วิโรจน์ เตชะชนาลัย
+วิโรจน์ ทัศนบริสุทธิ์
+วิโรจน์ นาคน้อย
+วิโรจน์ เบญจพสกุล
+วิโรจน์ ผลตูม
+วิโรจน์ พิทยานนท์
+วิโรจน์ ภาใจธรรม
+วิโรจน์ ยั่งยืนภราดร
+วิโรจน์ รุโจปการ
+วิโรจน์ ลิ่วลักษณ์
+วิโรจน์ วงษ์ศิริ
+วิโรจน์ วิริยะธนากร
+วิโรจน์ ศฤงคาร
+วิโรจน์ สังวรโยธิน
+วิโรจน์ สุทธิรักษ์
+วิโรจน์ หลิมไชยกุล
+วิโรจน์ อรุณรัตนกุล
+วิโรจน์ เอี่ยมสกุลรัตน์
+วิไล กิระวงศ์สกุล
+วิไล คัคนัมพรเลิศ
+วิไล จารุพงศ์
+วิไล ชดช้อย
+วิไล แซ่กิม
+วิไล ดาวสุข
+วิไล โตสุวรรณ
+วิไล ธารีไทย
+วิไล บุญมี
+วิไล ปาดศรี
+วิไล พิทักษ์ชัยวัฒนา
+วิไล มณีแสง
+วิไล รัตตกุล
+วิไล ลิ้มเปรมวัฒนา
+วิไล วิจิตรนิรันดร
+วิไล ศรีอรุณกิจจา
+วิไล สหอารักขา
+วิไล สุทัดณ์วานิช
+วิไล หวังเจริญ
+วิไล อัชณากรลักษณ์
+วิไลพร กุลบุตร
+วิไลพร ท่าไคร้กลาง
+วิไลพร วิทยาขจรเดช
+วิไลพรรณ สมบูรณสิน
+วิไลรัตน์ โกศลจันทรยนต์
+วิไลรัตน์ ปูนวิภากุล
+วิไลรัตน์ หวังศรีตรัย
+วิไลลักษณ์ เจนสมานชัยกุล
+วิไลลักษณ์ นรินทร์
+วิไลลักษณ์ รัตนสวัสดิ์
+วิไลลักษณ์ แสงทักษิณ
+วิไลวรรณ คงคิด
+วิไลวรรณ ชูแดง
+วิไลวรรณ เทียนถาวร
+วิไลวรรณ แป้นสุวรรณ
+วิไลวรรณ ยินดีฤกษ์
+วิไลวรรณ วาศวิท
+วิไลวรรณ สุเพียร
+วิไลวรรณ์ เหลืองสวัสดิ์
+วีณา กัสตัน
+วีณา เจนกิจเจริญชัย
+วีณา ตันเกษม
+วีณา บุญขวัญ
+วีณา ภักดีวัฒนะกุล
+วีณา วงษ์กมลชุณห์
+วีณา สายหยุด
+วีณา เอี่ยมประจง
+วีนัส ปิ่นมังกร
+วีนัส เอี่ยมวัฒนะ
+วีรกิตต์ ไพบูลย์กิจโกศล
+วีรชัย แซ่เซียว
+วีรชัย ลาภเจริญพร
+วีรชัย อานันทศิริเกียรติ
+วีรนาถ แดงบุญ
+วีรพงศ์ เลิศวงศ์ภักดี
+วีรพจน์ เชิดไชยวงษ์
+วีรพล ธนาภรณ์ไพบูลย์
+วีรพัฒน์ กิตติภาณุกุล
+วีรยศ ฤทธิ์ไทย
+วีรยุทธ บัณฑิตภูวนนท์
+วีรยุทธ์ ปีกานนท์
+วีรวรรณ แตงแก้ว
+วีรวรรณ เวสารัชเศรษฐ์
+วีรวัฒน์ คุณพิทักษ์วัฒนา
+วีรวัฒน์ พึ่งโพธิ์สภ
+วีรวัต คุณานุกูล
+วีรศักดิ์ ขจรเกียรติ
+วีรศักดิ์ บรรจงมณี
+วีรศักดิ์ วิชชาชู
+วีรสิทธิ์ ฉัตรสุภางค์
+วีระ แก้วนุ่ม
+วีระ จะบัง
+วีระ ฉินทกานนท์
+วีระ โชคยานุวัฒน์ศิริ
+วีระ โดแวนเว
+วีระ ทองลิ้นจี่
+วีระ นำชาญชัยวุฒิ
+วีระ ประดิษฐผลพานิช
+วีระ พลศักดิ์
+วีระ มนตเสรีวงศ์
+วีระ รัชตามุขยนันต์
+วีระ ลือวิชนะ
+วีระ วัฒนายิ่งสกุล
+วีระ ศรีมาลา
+วีระ สวรรยารัตน์
+วีระ สุริยประภาดิลก
+วีระ เหลืองบริบูรณะ
+วีระ อุนคานนท์
+วีระชัย กูดโพนงาม
+วีระชัย ชิ้นศิริ
+วีระชัย ทองวงษ์
+วีระชัย พรหมมาศ
+วีระชัย โล้พิรุณ
+วีระชัย สุนทรเจริญนนท์
+วีระชาต พงศ์สวัสดิ์
+วีระชาติ อิงสันเทียะ
+วีระพงศ์ บุญกิตติเจริญ
+วีระพงษ์ เทียนเสริมทรัพย์
+วีระพงษ์ สิริวัฒนเสถียร
+วีระพล จิรังนิมิตสกุล
+วีระพล มีลาภ
+วีระพล โอสภารยกุล
+วีระพันธ์ เพชรรัตน์
+วีระยุทธ โกรัตนะ
+วีระยุทธ ศุภนารา
+วีระวรรณ แซ่โค้ว
+วีระวัฒน์ ตุงควิจิตรวัฒน์
+วีระวัฒน์ สุวรรณเบญจกุล
+วีระศักดิ์ กองแก้ว
+วีระศักดิ์ ชาญวิรวงศ์
+วีระศักดิ์ ทองไพบูลย์
+วีระศักดิ์ โปธิมา
+วีระศักดิ์ ฤกษ์สมบูรณ์ศิริ
+วีระศักดิ์ ศรีสินทร
+วีระศักดิ์ หอมชื่น
+วีระเกียรติ ตั้งอมรรัตน์
+วีระเทพ เต็มสินผดุง
+วีรายา อ่วมสะอาด
+วีรเดช ลิมป์รัชตามร
+วุฒฑินันท์ ศรีโฉมงาม
+วุฒิ โชสิวสกุล
+วุฒิ มีสุข
+วุฒิ เหล่าสุนทร
+วุฒิชัย เกศปานนท์
+วุฒิชัย แซ่ลิ้ม
+วุฒิชัย ประวิงรัตน์
+วุฒิชัย รอดเจริญ
+วุฒิชัย ศฤงคารภาษิต
+วุฒิชัย แสนมาโนช
+วุฒินันท์ ตุลยลักษณ์
+วุฒิพงศ์ หวังธนกิจ
+วุฒิพงษ์ ศรีพาณิชย์
+วุฒิวัฒน์ อรุณทอง
+วุฒิสา บุษมงคล
+วุฒิไกร อุทัยวัฒนปรีชา
+วโรชา ตุงคะเศรณี
+วไลพร ดีถาวร
+วไลลักษณ์ เจริญอัควสุข
+เวช ทองเรือง
+เวณิก จงเจริญ
+เวสท์แลนด์ ดี
+เวียงฟ้า คุ้มไพทูลย์
+เว้งฮง แซ่กัง
+แวว อ่อนละมูล
+แววตา รอดคลองตัน
+แววใจ แซ่บ้าง
+ไวฑูรย์ ปรัชญาพงศ์พันธ์
+ไวย เป้าทอง
+ไววิทย์ เหล่าวรวิทย์
+ศกุนตลา รักษาสัตย์
+ศจีพร อิสริยะเสรีกุล
+ศนิษา นัยธนิช
+ศรชัย เกียรติชัยวุฒิ
+ศรชัย รัศมิทัต
+ศรร ธรรมถุติ
+ศรศิลป์ พลเตชา
+ศรัญญา โพธิ์แก้ว
+ศรัณญา จงนรังสิน
+ศรัณยา วงศ์บา
+ศรัณย์ เธียรศิลากุล
+ศรัทธา ทองวุฒิพันธ์
+ศราภรณ์ ปรีชา
+ศรายุทธ สาสนิท
+ศราวุฒิ จินาตุน
+ศราวุธ ด่านเพ็ชรดำรง
+ศราวุธ สมัยเทอดศักดิ์
+ศรินดา ปัสนะจะโน
+ศรินทิพย์ ถ้ำทิมทอง
+ศรินยา สหสิทธิวัฒน์
+ศรี เผ่าทองจีน
+ศรีกันยา โบว์สุวรรณ
+ศรีจันทน์ ว่องเจริญ
+ศรีจันทร์ ยินดีอัน
+ศรีจิตต์ สุชาติสุธาธรรม
+ศรีชาติ สุภาษิต
+ศรีทอง พูลทรัพย์
+ศรีธิชา ทองอินทร์
+ศรีนวล จันทร์สุข
+ศรีนวล ทุมเที่ยง
+ศรีนวล เมฆห่วง
+ศรีนวล สุขสอาด
+ศรีนารี แซ่เฮง
+ศรีประภา กลิ่นสังข์
+ศรีประภา แสงเนตร
+ศรีปราชญ์ สุทัศนศึกษา
+ศรีพร มาละวิชัย
+ศรีพัชรา ศุภรวรรณ
+ศรีมาลา กลีบกมล
+ศรีรัตนา รอดดี
+ศรีรัตน์ บรรยงกะเสนา ณ อยุธยา
+ศรีรัตน์ สังข์พันธ์
+ศรีลัดดา โป๊ะบุญชื่น
+ศรีวรรณ ชูณรงค์
+ศรีวรรณ รัตนเศรษฐ
+ศรีวรรณ อินทรัตน์
+ศรีวลี ลิ่มมรกต
+ศรีวิชัย นกยิ้ม
+ศรีวิลัย สงวนสัตย์
+ศรีวิไล สุขุมกาญจนะ
+ศรีศักดิ์ สุวรรณศักดิ์ศรี
+ศรีสกุล ศรีตะปันย์
+ศรีสมบูรณ์ เพชรม่วง
+ศรีสมร พงศาวลีรัตน์
+ศรีสมัย วิบูลยานนท์
+ศรีสวัสดิ์ ธนานันท์
+ศรีสวาสดิ์ น้อยพันธุ์
+ศรีสอาด แซ่ฮั้ง
+ศรีสุข กลิ่นบัว
+ศรีสุชาติ ทองไล้
+ศรีสุดา แดงดีเลิศ
+ศรีสุดา มั่นคงสกุล
+ศรีสุดา สุวรรณกิจวัฒน์
+ศรีสุนี อัศวพิภพ
+ศรีสุมาลย์ งามประเสริฐกิจ
+ศรีสุวรรณ รุณประเสริฐ
+ศรีออน ทองคำ
+ศรีอุดม เดชะศิริ
+ศรีเจริญ รอบคอบ
+ศรีเพ็ญ ทรัพย์มนชัย
+ศรีเรือน ประยูรพรหม
+ศรีแค ทรัพย์ดี
+ศรีไทย ศรีเวทย์บดี
+ศรุต ครบธีรวงศ์
+ศลิษา วรรณกิจ
+ศศวรรณ ฤกษ์สุริยพันธ์
+ศศิชล จรูญเลิศสิทธิผล
+ศศิธร คำสัณห์
+ศศิธร ไชยริปู
+ศศิธร ธรรมพักตรกุล
+ศศิธร พราหมณะนันทน์
+ศศิธร รุจานุรักษ์
+ศศิธร ศรีอนุพันธุ์
+ศศิธร สุริยาพร
+ศศิธร แอนอึ้ง
+ศศิพร ธนโกวิท
+ศศิภาส์ ประเสริฐสุข
+ศศิลักษณ์ เชาว์พานนท์
+ศศิวิมล โกสิยกุล
+ศศิเพ็ญ วรรณวิจิตร
+ศักดา คล้ายสาคร
+ศักดา แซ่ตั้ง
+ศักดา ธรรมพิทักษ์
+ศักดา พงษ์ผล
+ศักดา แม้นสุวรรณ
+ศักดา วิสุทธิวงศ์
+ศักดา สุริยะพรชัยกุล
+ศักดา เอี่ยมอร่ามศรี
+ศักดิ์ชัย คมกฤส
+ศักดิ์ชัย ช่อชัยพฤกษ์
+ศักดิ์ชัย ดำริห์งาม
+ศักดิ์ชัย ทักขิญเสถียร
+ศักดิ์ชัย ปัญญามีเสมอ
+ศักดิ์ชัย โพธิ์ปริสุทธิ์
+ศักดิ์ชัย ฤกษ์เกษม
+ศักดิ์ชัย วิริยะสุขสินธุ์
+ศักดิ์ชัย สิริประภาพรรณ
+ศักดิ์ชัย เหลียงกอบกิจ
+ศักดิ์ชัย เอื้อสุนทรพานิช
+ศักดิ์ชาย ลิขิตตระกุล
+ศักดิ์ดา ไชยานุวงศ์
+ศักดิ์ดา อิงควะระ
+ศักดิ์ยันต์ ชูใจ
+ศักดิ์ศิริมา ขำเอี่ยม
+ศักดิ์สิทธิ์ เถาทอง
+ศักดิ์สิทธิ์ เหมกิตติเกียรติ์
+ศักดิ์ไสว ทองรัตน์
+ศักดิ์ พึ่งเจริญ
+ศักดี เฉียบแหลม
+ศังกร ภูวเจริญ
+ศันสนีย์ ตะโพนทอง
+ศันสนีย์ วิชัยดิษฐ
+ศัลยวิทย์ ศิริมณฑล
+ศานติ อัจจิมากร
+ศาวิตรี ภวาติเศรษฐ์
+ศินิตย์ อณิสันฑ์
+ศิรพร ศิริบุญรักษา
+ศิระ สโตน
+ศิรานุช สุวรรณโชติ
+ศิริ ไกรสมจิตร
+ศิริ ชัยสันธนะ
+ศิริ ธรรมสุริเชษฐ์
+ศิริ ผลินกูล
+ศิริ มัธยมจันทร์
+ศิริ วงศ์ฉิ่งยืนยง
+ศิริ เศวตรักต
+ศิริ หวานสนิท
+ศิริกัญญา แรมวัลย์
+ศิริกุล จินตนางกูร
+ศิริกุล รักเกียรติยศ
+ศิริขวัญ แซ่เฮา
+ศิริฉาย พงศ์สุประดิษฐ์
+ศิริชัย คูอนันต์กุล
+ศิริชัย แซ่เจียง
+ศิริชัย นภาบริรักษ์
+ศิริชัย พินิจวรกุล
+ศิริชัย ลิ้มเลิศตระกูล
+ศิริชัย ศุภรัชตการ
+ศิริชัย หงษ์วิทยากร
+ศิริณัฐ ใจอารี
+ศิริทิพย์ พรหมสกุลชัย
+ศิรินทร จงเสถียร
+ศิรินทร์ นิมมานเหมินทร์
+ศิรินธร ทองสุข
+ศิรินันท์ แซ่อึ่ง
+ศิรินันท์ เอสุจินต์
+ศิรินารถ ติษยางกูร
+ศิริบูรณ์ เล็กผลิผล
+ศิริพงศ์ อินทร์บำรุง
+ศิริพงษ์ ทับทิม
+ศิริพงษ์ วงศ์พิมพ์
+ศิริพงษ์ อุทัยธนารักษ์
+ศิริพร กาศสุวรรณ
+ศิริพร ขุนโอษฐ
+ศิริพร จันกลัด
+ศิริพร เจริญกิจพิมล
+ศิริพร ชาติพาณิชย์
+ศิริพร แซ่ตั้ง
+ศิริพร ดำรงวงศ์ศิริ
+ศิริพร เต็มสุนทร
+ศิริพร เทียนธรรมชาติ
+ศิริพร นิลพราว
+ศิริพร ประยุกต์วงศ์
+ศิริพร พงษ์ชัยประทีป
+ศิริพร พานิชล้อเจริญ
+ศิริพร ภูมิอมร
+ศิริพร ยันต์ตระกูล
+ศิริพร เรืองธวัชศิลป
+ศิริพร เลิศธนาผล
+ศิริพร วัลลภศิริ
+ศิริพร ศรีสิงห์ชัย
+ศิริพร สลับ
+ศิริพร สุขเจริญนุกูล
+ศิริพร แสงเพ็ชร์
+ศิริพร ให้อุดมกาญจนลาภ
+ศิริพร อารมย์สุข
+ศิริพรรณ กลิ่นสวัสดิ์
+ศิริพรรณ ธรรมคุฬห์
+ศิริพรรณ สุขหิรัญกิจ
+ศิริพัฒนา วิเศษแพทยา
+ศิริพันธ์ ลักขณานุกุล
+ศิริภรณ์ เหลี่ยมศิริวัฒนา
+ศิริมา คุ้มโต
+ศิริมา เฟื่องขจร
+ศิริมา อินธำรงค์
+ศิริรักษ์ บุญช่วยเมตตา
+ศิริรัตน์ เข็มนาค
+ศิริรัตน์ แซ่กิม
+ศิริรัตน์ เทพนิมิตร
+ศิริรัตน์ พรพงศ์อธิคม
+ศิริรัตน์ รักธรรม
+ศิริรัตน์ ศรีนาคคำ
+ศิริรัตน์ แสงจันทร์
+ศิริรัตน์ เอี่ยมเวช
+ศิริลักษณ์ จตุเสน
+ศิริลักษณ์ ตั้งเฉลิมกุล
+ศิริลักษณ์ ปั้นบำรุงกิจ
+ศิริลักษณ์ รุจิโกไศย
+ศิริลักษณ์ สาครรัตนกุล
+ศิริลักษณ์ เอกวงค์
+ศิริวรรณ เกิดวัฒนา
+ศิริวรรณ จารุจรณ
+ศิริวรรณ ชุติจาตุรนต์
+ศิริวรรณ ดาวอุดม
+ศิริวรรณ ทองพูล
+ศิริวรรณ บัวศรี
+ศิริวรรณ พระเทพ
+ศิริวรรณ มหาศักดิ์ศิริ
+ศิริวรรณ เลิศสินอุดม
+ศิริวรรณ ศรีบัวเผื่อน
+ศิริวรรณ สันติเวชชกุล
+ศิริวรรณ แสงสุรีย์
+ศิริวรรณ อินทธิ์สัณห์
+ศิริวัฒน์ แซ่โล้ว
+ศิริวัลภ์ ดารากร ณ อยุธยา
+ศิริศักดิ์ จงตระกูล
+ศิริศักดิ์ โรจน์ฤทธากร
+ศิริสุข เรี่ยวเรืองสุข
+ศิริอร เอียประเสริฐ
+ศิริเพ็ญ โกเมนเอก
+ศิริเพ็ญ บุญกังวาน
+ศิริเพ็ญ สินธุธาน
+ศิริโรจน์ สโลภาพ
+ศิลปชัย ไทยประเสริฐ
+ศิลป์ชัย เจริญใจ
+ศิลปวัธน์ ชัยพัฒนาวรรณ
+ศิลา ราชอภัย
+ศิวพร เกลียวอรรคเดช
+ศิวพร ยินดี
+ศิวลี จันทมาศ
+ศิวะพล งามธนวโรทัย
+ศิวาพร แยงคำ
+ศิวิกานติ์ ไวจรรยา
+ศิษฎ์ ฉันทาริยะ
+ศีลวัต อนะธรรมสมบัติ
+ศุขธาพัฒน์ กัณฑ์ชูสิน
+ศุพิรัตน์ สำราญสุขรัตน์
+ศุภกาญจน์ แสวงศักดิ์
+ศุภกิจ พันธ์บุญเกิด
+ศุภกิจ อิงอนุรักษ์สกุล
+ศุภชัย แก้วมีชัย
+ศุภชัย จิตวิสุทธิ์พงศ์
+ศุภชัย แซ่จึง
+ศุภชัย ตุลวรรธนะ
+ศุภชัย นิ่มนวล
+ศุภชัย พงศ์ชัยสิริกุล
+ศุภชัย มั่งเกียรติสกุล
+ศุภชัย ฤทธิ์ลายา
+ศุภชัย วิวัฒนมงคลกุล
+ศุภชัย สนองคุณ
+ศุภชัย แสงฟ้าสกุลไท
+ศุภชัย อึ้งสกุล
+ศุภณัฐ พรหมพิริยาภรณ์
+ศุภนิตย์ โชครัตนชัย
+ศุภพร มังกรกาญจน์
+ศุภมาส ด่านพานิช
+ศุภมิตร สุขศรี
+ศุภรงค์ ละโว้ชัย
+ศุภรัตน์ ยิ่งกวีมานพ
+ศุภราภรณ์ พุทธรัตน์
+ศุภฤกษ์ หล่อพิริยะวงศ์
+ศุภลักษณ์ แซ่แต้
+ศุภลักษณ์ เลิศรัตน์เดชากุล
+ศุภลัคณ์ มีมาก
+ศุภวรรณ เนติธาดา
+ศุภวรรณ สุวรรณเลิศ
+ศุภวัฒน์ สวัสดิ์วงศ์
+ศุภวิศ สิริเกษมสุข
+ศุภษร พรจิตโกวิท
+ศุภอรรถ นัจจะนันทน์
+ศุภาสินี กังวาลเนาวรัตน์
+ศุภโชค ธนปัญจาภรณ์
+ศุรพงษ์ คชาชีวะ
+ศุลีพร สันนะกิจ
+เศกสรร ทองศรีคำ
+เศรษฐชัย ศักดิ์โฆษิต
+เศรษฐา จงพรประเสริฐ
+เศวต ศรีปัญญา
+โศภิดา เตชะศรินทร์
+โศรยา ศุภกรแสงทอง
+สกน มีกังวาล
+สกนธ์ อริยมงคลสกุล
+สกล ชูเกษ
+สกล เปี่ยมวิมล
+สกล ลีลาขจรจิต
+สกล สุรคุปต์
+สกลวรรณ วาสินนท์
+สกาวรัตน์ อัคคีเดช
+สกุณา รุจิเกียรติกำจร
+สกุล นครชัย
+สกุล เหลืองอร่าม
+สกุลรัตน์ ลัทธ์สัมฤทธิ์
+สงกรานต์ จุณณทัศน์
+สงกรานต์ ศิริพานิช
+สงคราม ฉิมพสุทธ
+สงคราม ศรีสุข
+สงบ งามผ่อง
+สงบ นันทขว้าง
+สงบ เย็นฤดี
+สงบ อ้นประดิษฐ์
+สงวน แกล้วกล้า
+สงวน จันทรอักษร
+สงวน ชูตระกูล
+สงวน ตันสุขานันท์
+สงวน นุชรีวรรณ
+สงวน พงษ์หงษ์
+สงวน ภาระโข
+สงวน รุณภัย
+สงวน วิมลสุทธิกุล
+สงวน สงวนเตชะตระกูล
+สงวน สุวิทยาภรณ์
+สงวน อังกุวรกุล
+สงวนรักษ์ ไตรนาจา
+สงวนศรี ภู่งาม
+สงวนศักดิ์ ลิขนานนทวงศ์
+สงัด จันทร์แต้
+สงัด ปริกเพชร์
+สงัด วันณุปถัมภ์
+สงัด เอี่ยมสำอางค์
+สง่า คงสำราญ
+สง่า ฉวีปลั่ง
+สง่า แดงดีเลิศ
+สง่า ธรรมยิ่งยง
+สง่า ปานะนิล
+สง่า ภาษิต
+สง่า รื่นไทย
+สง่า วุฒิมงคลชัย
+สง่า สาหร่าย
+สง่า หอมสมบัติ
+สงุ่น ซื่อมาก
+ส่งศรี แก้วจันทร์
+ส่งศักดิ์ กรณปกรณ์
+สจ๊วต ชาร์ล
+สด พุ่มนิคม
+สดศรี พุ่มเจริญ
+สดาวรรณ บุญเจริญ
+สดใส ยุทธนาสิริกุล
+สตีเฟน ฮาว
+สถาพร คัมภิรานนท์
+สถาพร ชูวงศ์เติม
+สถาพร นีรนาถวงศ์
+สถาพร พึ่งพระเกียรติ
+สถาพร เล้าประเสริฐศรี
+สถาพร สินธุนาวา
+สถาพร อุกกุฏานนท์
+สถิตพงศ์ มนาปราณี
+สถิตย์ ใจสุทธิ์
+สถิตย์ นาวุฒิ
+สถิตย์ ไม้งิ้ว
+สถิตย์ สิงห์โต
+สถิรพันธุ์ เกยานนท์
+สนชัย พิรุณสาร
+สนทิศ สกุลกนก
+สนธยา เด่นวรกุล
+สนธยา โพธิ์น้อย
+สนธยา เสียงวรานนท์
+สนธิ เลื่อนฉวี
+สนธิยา เกียรติวรางกูร
+สนม โตรักษาสกุล
+สนวน ฉิมนาคพันธุ์
+สนอง จันทรศัพท์
+สนอง ตัมพันธุสกุล
+สนอง บุญมีฤทธิ์
+สนอง โพธิ
+สนอง ลีนะวัต
+สนอง สินเบญจทรัพย์
+สนอง อุ่นทรัพย์
+สนั่น กฤษดาธิการ
+สนั่น โคกขำ
+สนั่น ชื่นเผือก
+สนั่น ทองสมบัติ
+สนั่น บุญมาก
+สนั่น พิกุลแย้ม
+สนั่น รักสมยา
+สนั่น ศรีละม้าย
+สนั่น สุขช่วย
+สนั่น อบเชย
+สนาน จันทรเลิศ
+สนาม พลอยศิริ
+สนิท แก้วพล
+สนิท จั่นประดับ
+สนิท ดุษฏีโหนด
+สนิท แท่งทอง
+สนิท บุญพิทักษ์
+สนิท พ่วงพงษ์
+สนิท มาประจวบ
+สนิท ลูกจันทร์
+สนิท สตมหาชลาสินธุ์
+สนิท แสงทอง
+สนิท อุดมธีรกุล
+สนุ่น เชื้อนุ่น
+สปัน พัชรารัตน์
+สภาองค์การลูกจ้างแรงงานแห่งปร สภาองค์การลูกจ้างแรงงานแห่งปร
+สม น้อยปรีชา
+สม วรรณประภา
+สมกมล มะโนกิจ
+สมคล เชื้อเมืองทาน
+สมควร จันทร์นุ้ย
+สมควร แซ่แต้
+สมควร นัยศิริ
+สมควร พัฒนพงษ์ไพบูลย์
+สมควร รักกลัด
+สมควร ศรีอินทร์
+สมควร ไสยสมบัติ
+สมคิค วัฒนเสรีวงศ์
+สมคิด แก้วชิงดวง
+สมคิด จอนสมจิตต์
+สมคิด ใจอิ่ม
+สมคิด แซ่จิว
+สมคิด ตั้งศิริทรัพย์
+สมคิด ทะรังศรี
+สมคิด นิคมเขตต์
+สมคิด ใบมงคล
+สมคิด พร้อมมูล
+สมคิด เพ็งพาด
+สมคิด มูลทองชุน
+สมคิด รุ่งเรืองศรี
+สมคิด วันวะนา
+สมคิด ศิริรัตนวุฒิ
+สมคิด สิงห์สำราญ
+สมคิด แสงนนท์ตระกูล
+สมคิด อ้นเปรม
+สมคิด อุนทริจันทร์
+สมจันทร์ เหรียญปัญญากุล
+สมจิต จันทุมากร
+สมจิต ตัณฑสุทธิ์
+สมจิต บุญทวี
+สมจิต เพ็งสวน
+สมจิต วรรณรักษ์
+สมจิต สุทธิมาลย์
+สมจิตต์ กนกชัยปราโมทย์
+สมจิตต์ แก้วเกื้อกูล
+สมจิตต์ จิตต์สุทัศน์
+สมจิตต์ ชินราช
+สมจิตต์ แซ่เอี้ย
+สมจิตต์ ถิ่นถนอม
+สมจิตต์ ธัมมรัคคิต
+สมจิตต์ เบนกุโรโม
+สมจิตต์ พลามิตร
+สมจิตต์ ภูมิจิตอมร
+สมจิตต์ รามศร
+สมจิตต์ วชิรวณิชกิจ
+สมจิตต์ ศาสตร์สุข
+สมจิตต์ สิงหา
+สมจิตต์ หมู่ผึ้ง
+สมจิตต์ อิงคะวัต
+สมจิตร เกตุติมะ
+สมจิตร จรรยา
+สมจิตร ใจวังโลก
+สมจิตร แซ่เบ๊
+สมจิตร ทองสุภร
+สมจิตร เนียมศิริ
+สมจิตร ปิ่นมณี
+สมจิตร พุ่มประดับ
+สมจิตร เมี่ยงบัว
+สมจิตร เลิศถวิลจิร
+สมจิตร ศรีสุวณิชกุล
+สมจิตร สินเพ็ง
+สมจิตร หมัดโน๊ต
+สมจิตรา จันโภคา
+สมจิตร์ ฉัตร์ทอง
+สมจิตร์ ทิพย์ประภาแย้ม
+สมจิตร์ พึ่งยนต์
+สมจิตร์ วัฒนเจริญพร
+สมจิตร์ หวังดิลก
+สมจินตนา วังทอง
+สมฉวี เหมะวิริยาพรวัฒนา
+สมชัย กิจเลิศไพโรจน์
+สมชัย คล่องธนกิจ
+สมชัย จิรชยางกูร
+สมชัย ชัยจรูญพร
+สมชัย ไชยศรีธรรมคุณ
+สมชัย แซ่เลี่ยง
+สมชัย ตั้งนิรันดร
+สมชัย ทรงฮง
+สมชัย นรเศรษฐ์โศภณ
+สมชัย โบสุวรรณ์
+สมชัย พรมงคลสุข
+สมชัย ฟุ้งสิริรัตน์
+สมชัย ยุทธนาภินันท์
+สมชัย ล้วนใจสนธิ์
+สมชัย วงศ์พันธ์งาม
+สมชัย วิศวสมภพ
+สมชัย ศิลปสาธิต
+สมชัย สายด้วง
+สมชัย สุโชติกพันธุ์
+สมชัย โหตรจิตร
+สมชัย อาภาวัชน์
+สมชาญ ลีมาสวัสดิ์กุล
+สมชาติ จิตตวิสุทธิวงศ์
+สมชาติ ดลยานุเคราะห์
+สมชาติ นิรันดร์วงศ์วาน
+สมชาติ เพ็ญเสงี่ยม
+สมชาติ เลิศธรรมนาถ
+สมชาติ สันตินรศักดิ์
+สมชาติ อ่วมประเสริฐ
+สมชาย กลพิสุทธิ์
+สมชาย กาญจนกันติการ
+สมชาย กิตติเลิศไพศาล
+สมชาย เกิดเรือง
+สมชาย แก้วสมบูรณ์
+สมชาย ขุนวิเศส
+สมชาย ค้าทันเจริญ
+สมชาย โฆษิตวิวัฒน์
+สมชาย จงเทิดทูนสกุล
+สมชาย จันทรประทิน
+สมชาย จิตตรานนท์
+สมชาย จุนเจือทรัพย์
+สมชาย เจษฎานภาวงศ์
+สมชาย ฉัตรมงคลเกษม
+สมชาย ชลพิไลพงศ์
+สมชาย ชาญสมอน
+สมชาย ชุ่มไชยพฤกษ์
+สมชาย โชคสิริสวัสดิ์
+สมชาย แซ่คู
+สมชาย แซ่ตั้ง
+สมชาย แซ่ลี้
+สมชาย แซ่ฮ้อ
+สมชาย แซ่เฮง
+สมชาย แซ่โล้ว
+สมชาย ดีมงคลสุข
+สมชาย ตระกูลนิ่มนวล
+สมชาย ตั้งปนิธานดี
+สมชาย ตันเจริญ
+สมชาย เตี้ยบัวแก้ว
+สมชาย ถิรโสตถินานนท์
+สมชาย ทองหล่อ
+สมชาย เทอดวงศ์วรกุล
+สมชาย ธรรมกิจไพโรจน์
+สมชาย ธเนศนิตย์
+สมชาย นาคพลั้ง
+สมชาย นิลวณิชย์
+สมชาย บำรุงวงศ์
+สมชาย บุญสุวรรณ์
+สมชาย ประกายโกวิท
+สมชาย ปลื้มจิต
+สมชาย ปุณณรุจาวงษ์
+สมชาย เผื่อนจาง
+สมชาย พรถิระมงคล
+สมชาย พวงทอง
+สมชาย พิทักษ์กิจถาวร
+สมชาย พุ่มสุข
+สมชาย โพธิ์งาม
+สมชาย ภัทรางกูร
+สมชาย มณีเขียว
+สมชาย มารีกัน
+สมชาย เมฆเนย
+สมชาย เย็นใจเฉื่อย
+สมชาย รัตนชาติกุล
+สมชาย รุ่งศรีศศิธร
+สมชาย โรจนวรโสภณ
+สมชาย ลาภอุดมทรัพย์
+สมชาย ลี้ลัทธเกียรติ
+สมชาย เลิศวิบูลย์กิจ
+สมชาย วงศ์ตระกูลจง
+สมชาย วงษ์หิรัญวานิช
+สมชาย ว่องวงศ์ศรี
+สมชาย วานิชวัฒน์
+สมชาย วิษณุวงศ์
+สมชาย ศรบรรจง
+สมชาย ศรีวิไล
+สมชาย ศิริธีราเจษฎ์
+สมชาย ศุภลักษณ์วัจนะ
+สมชาย สนสง่า
+สมชาย สว่างน้อมจิตต์
+สมชาย สัยละมัย
+สมชาย สินธุประภา
+สมชาย สุขนันทศักดิ์
+สมชาย สุทธิขาว
+สมชาย สุรเดชานันท์
+สมชาย เสาหง
+สมชาย หงษ์รัตนวิจิตร
+สมชาย หอมกระหลบ
+สมชาย เหลืองศิริรังษี
+สมชาย อนันต์สุขบรรณ
+สมชาย อยู่เกิด
+สมชาย อังกูรารักษ์
+สมชาย อาจหาญ
+สมชาย อิ่มสมบูรณ์
+สมชาย เอกปัญญากุล
+สมชาย เอื้อเกษมสิน
+สมญา ชาญกระบี่
+สมดี ว่องไววณิชกุล
+สมถวิล จันทร์สิริพจน์
+สมถวิล ทองเหง้า
+สมถวิล พรหมพงษ์
+สมถวิล เลี้ยวพรประสาท
+สมถวิล แสงนิลศิริ
+สมทบ ภู่มงกุฎชัย
+สมทรง ขอพบสุข
+สมทรง เจริญยิ่ง
+สมทรง ตันประเสริฐ
+สมทรง เนื่องจากนาค
+สมทรง พานิชยะมนตรี
+สมทรง รุ่งเรืองศิลป์
+สมทรง เศวตเวช
+สมทรง แสงสว่าง
+สมทรัพย์ พรศิริลัคณา
+สมนัส ขรรค์ชัย
+สมนึก กฤษณสุวรรณ
+สมนึก เกิดเปี่ยม
+สมนึก คงยิ่ง
+สมนึก จรูญศักดิ์
+สมนึก จึงจตุรพิธ
+สมนึก เฉลิมศรี
+สมนึก ชูทรัพย์
+สมนึก แซ่อื้อ
+สมนึก ตั้งวัชรพงศ์
+สมนึก ท้วมแสง
+สมนึก ธัมพิพิธ
+สมนึก เนียมทับทิม
+สมนึก บูรณะสมษัติ
+สมนึก เปรมรัตนา
+สมนึก พลายงาม
+สมนึก พูลโอษฐ์
+สมนึก มงคลจรัสแสง
+สมนึก ยอดบริบูรณ์
+สมนึก รุ้งกมลพันธ์
+สมนึก เลิศสิริสุข
+สมนึก วัชรบูรณพงษ์
+สมนึก ศรีประดับรัตน์
+สมนึก สนธิโหมด
+สมนึก สิงหาคุณ
+สมนึก สุทธิวงศ์
+สมนึก หงุ่ยกระโทก
+สมนึก อมรสิริพาณิชย์
+สมนึก อิสรั่น
+สมบัตร์ ทรัพย์แย้ม
+สมบัติ กุลวุฒิ
+สมบัติ เขียวโสภา
+สมบัติ เครืออาษา
+สมบัติ จารุบรรยงค์
+สมบัติ ฉัตรวรุณรัตน์
+สมบัติ ไชยทรัพย์
+สมบัติ ด้วงวงศ์ศรี
+สมบัติ เตชอัครเสถียร
+สมบัติ ทองย้อย
+สมบัติ เธียรพจน์
+สมบัติ บัวรุ่ง
+สมบัติ ประเสริฐนพคุณ
+สมบัติ ผูกเกษร
+สมบัติ พาเจริญสุข
+สมบัติ โพธิบุญ
+สมบัติ มะหะหมัด
+สมบัติ ยิ่งเจริญ
+สมบัติ เรื้อก
+สมบัติ วงศ์กำชัย
+สมบัติ วิภูศิริ
+สมบัติ ศรเลิศ
+สมบัติ สมศรีอักษรแสง
+สมบัติ สิงห์สวัสดิ์
+สมบัติ สุนทรเสณี
+สมบัติ หม่อมประเสริฐ
+สมบัติ อยู่ประเสริฐ
+สมบัติ อุตมะวิริยางกูร
+สมบุญ เกตมณี
+สมบุญ จารุรัตนเกื้อ
+สมบุญ แซ่หยิบ
+สมบุญ ทองพงษ์เนียม
+สมบุญ บุญวัฒนา
+สมบุญ พูนสิรสิน
+สมบุญ รักษ์สุรวงศา
+สมบุญ วาทรัพย์
+สมบุญ สีน้ำเงิน
+สมบุญ อภิวรรณศรี
+สมบูรณ์ กนกนภากุล
+สมบูรณ์ กิจรังษีวิบูลย์
+สมบูรณ์ แก้วการ
+สมบูรณ์ คงมั่น
+สมบูรณ์ งามธรรมศิริ
+สมบูรณ์ จันโทวาท
+สมบูรณ์ จุลพล
+สมบูรณ์ ฉายะโอภาส
+สมบูรณ์ ชุณหะวัณ
+สมบูรณ์ แซ่ฟุ้ง
+สมบูรณ์ ณัฎฐสมบูรณ์
+สมบูรณ์ ตั้งประดิษฐ์
+สมบูรณ์ เต่าทอง
+สมบูรณ์ ทองอร่าม
+สมบูรณ์ ธนาสุวรรณดิถี
+สมบูรณ์ นิมะ
+สมบูรณ์ บุญล้นเหลือ
+สมบูรณ์ ประเสริฐสุขแสน
+สมบูรณ์ ผ่องไสว
+สมบูรณ์ พรเดชเดชะ
+สมบูรณ์ พิเศษพัฒนกุล
+สมบูรณ์ ฟูเฟื่องสมบัติ
+สมบูรณ์ มั่งมี
+สมบูรณ์ ยันนาดี
+สมบูรณ์ รื่นราตรี
+สมบูรณ์ ลี่ทองอิน
+สมบูรณ์ วงศ์สุวรรณนิธิ
+สมบูรณ์ วัยวิรัตน์
+สมบูรณ์ ศริมโนนุกุล
+สมบูรณ์ ศิริบรรจง
+สมบูรณ์ สมอุดร
+สมบูรณ์ สาสะเดาะห์
+สมบูรณ์ สุทธิชัง
+สมบูรณ์ แสงดี
+สมบูรณ์ หาญพัฒนชัยกูร
+สมบูรณ์ อรรคศิรินนท์
+สมบูรณ์ อินจำปา
+สมบูรณ์ โอภาสเจริญวิทย์
+สมประสงค์ บุญยะชัย
+สมประสงค์ อุ่นละม้าย
+สมปอง เกษร์มณี
+สมปอง จิวไพโรจน์กิจ
+สมปอง ดวงประเสริฐ
+สมปอง เทพเทพา
+สมปอง บูรณะวุฒิ
+สมปอง พุดตาล
+สมปอง ยงวณิชย์
+สมปอง แวววัชระ
+สมปอง สิงหเสนี
+สมปอง เหล่าเพ็ชรรัตน์
+สมพค ศีลพิพัฒน์
+สมพงศ์ แซ่โค้ว
+สมพงศ์ รัตนบุรี
+สมพงษ์ กรรณสูต
+สมพงษ์ กิตติรัตนาภินันท์
+สมพงษ์ โกศลรอด
+สมพงษ์ คล้ายมี
+สมพงษ์ จันทร์จำรัส
+สมพงษ์ จีนเวชศาสตร์
+สมพงษ์ ฉายแก้ว
+สมพงษ์ ชีวะเจริญไทย
+สมพงษ์ แซ่ตั้ง
+สมพงษ์ ณรงค์เปลี่ยน
+สมพงษ์ ตันตระกูล
+สมพงษ์ ทรงทรัพย์กุล
+สมพงษ์ เทพไกรลาศ
+สมพงษ์ นันทพรพิพัฒน์
+สมพงษ์ บุญคุณ
+สมพงษ์ ประภาศิริ
+สมพงษ์ ปุยยะรุน
+สมพงษ์ พงษ์เภตรา
+สมพงษ์ พินิจการณ์
+สมพงษ์ ไพจิตร
+สมพงษ์ มังกรพานิช
+สมพงษ์ ยูฮันเงาะ
+สมพงษ์ รุจิขจร
+สมพงษ์ ลือชาติเมธิกุล
+สมพงษ์ วงสอาด
+สมพงษ์ วิริยะมนตรี
+สมพงษ์ ศรีสากล
+สมพงษ์ สกุลสุภายนา
+สมพงษ์ สะสมทรัพย์
+สมพงษ์ สินสดวก
+สมพงษ์ สุนทรธรรม
+สมพงษ์ แสงสินทรัพย์
+สมพงษ์ หาญพาณิชย์พันธุ์
+สมพงษ์ อมรธัญสิริกุล
+สมพงษ์ อาหมัด
+สมพจน์ กยาวัฒนกิจ
+สมพจน์ หอมนิยม
+สมพร กิจกังวาล
+สมพร แก้วนิล
+สมพร คงสิทธิ์
+สมพร งอนหอม
+สมพร จันทะรังศรี
+สมพร แจวเจริญ
+สมพร ชัยนิคม
+สมพร เชื้อเกตุ
+สมพร แซ่อึ้ง
+สมพร ดีไพศาล
+สมพร ตุ่มมะ
+สมพร ทองประดิษฐ
+สมพร เทียนทัด
+สมพร น้อยเข็มเงิน
+สมพร บัวอุไร
+สมพร บุตรขันทอง
+สมพร ปานใยสมบูรณ์
+สมพร พงษ์สุวรรณ
+สมพร พาชีรัตน์
+สมพร เพชรดี
+สมพร ภู่พวง
+สมพร มิรอซา
+สมพร รอดรัศมี
+สมพร เรืองฤทธิ์
+สมพร เลาหรัตนาหิรัญ
+สมพร วรรณชนะ
+สมพร วิลัยรัตน์
+สมพร ศรีเพชร
+สมพร สนทอง
+สมพร สาธิตพิฐกุล
+สมพร สุขแก้ว
+สมพร แสงนนท์
+สมพร หาญพงษ์พันธุ์
+สมพร อ่องละออ
+สมพร อิศรานุรักษ์
+สมพฤษ์ พรหมมิ
+สมพล ฉายายน
+สมพล ธาดากร
+สมพล พึงมงคลชัยกิจ
+สมพล วงศ์ธิบดีเดช
+สมพล สุพโล
+สมพักตร์ มหาพาณิชย์
+สมพันธ์ บุญกังวาล
+สมพิศ กระแสร์คุปต์
+สมพิศ ควรแถลง
+สมพิศ ชุ่มชวย
+สมพิศ โตมะโน
+สมพิศ เนินกร่าง
+สมพิศ พัฒนาฤดี
+สมพิศ ยอดสวัสดิ์
+สมพิศ วิชัยกุล
+สมพิศ สิลุจจยานนท์
+สมพิศ อ่วมธรรม
+สมภพ กิจไชยา
+สมภพ จิรจรัล
+สมภพ ติรชุลี
+สมภพ ประกอบนพเก้า
+สมภพ พูนผลเจริญศรี
+สมภพ ลมลอย
+สมภพ ศรุตวรสกุล
+สมภพ สุรักขกะ
+สมภพ อัมพุประภา
+สมภาพ รัตนดากุล
+สมมาต สังขพันธ์
+สมมาตร พรหมานุกูล
+สมมาตร์ ช้างเผือก
+สมมาศ กวยมงคล
+สมมิตร จันทร์ภักดี
+สมมุติ รัชตะวรรณ
+สมยศ เกิดอนันต์
+สมยศ จั่นเพ็ชร
+สมยศ เชี่ยวชาญแต่ง
+สมยศ ไตรประเสริฐพงศ์
+สมยศ บุญชัยศรี
+สมยศ พรเจริญวัฒนา
+สมยศ มหัทธนะมงคล
+สมยศ รุจิโมระ
+สมยศ วิบูลย์ปิ่น
+สมยศ สังข์ประดิษฐ์
+สมยศ หลีขาว
+สมยา รอดหร่าย
+สมร จันทร์เลิศ
+สมร ไตรวิชา
+สมร ปานย้อย
+สมร มีแก้ว
+สมร ศิธรกุล
+สมร อรรถพิทย์
+สมรรัตน์ ดิษฐอุดมโพธิ์
+สมรส มงคล
+สมรัก ไพบูลย์วีระสกุล
+สมรักษ์ ต่อวงศ์ไพชยนต์
+สมรัตน์ ปรีเจริญ
+สมฤกษ์ หิรัญศุภโชติ
+สมฤดี บุญประเสริฐ
+สมฤดี เสนะวีณิน
+สมฤทัย กล่อมน้อย
+สมลักษณ์ กิติพงษ์
+สมลักษณ์ ซ่อมประดิษฐ์
+สมลักษณ์ ประสิทธิเมกุล
+สมลักษณ์ ลินจงเจริญ
+สมลักษณ์ สุวรรณแสง
+สมวงศ์ คร้ามกำจร
+สมวงษ์ ชำนาญกิจจา
+สมวิทย์ พงศ์บริพัตร
+สมศรี กิจรักษา
+สมศรี ขาวทอง
+สมศรี ง่วนจร
+สมศรี จิตจรัสแสง
+สมศรี ฉิมคล้าย
+สมศรี ชูศรีนวล
+สมศรี แซ่ตั้ง
+สมศรี แซ่โง้ว
+สมศรี ตั้งเจริญ
+สมศรี เถ่ง
+สมศรี เทศธรรม
+สมศรี นาสมฝัน
+สมศรี บุญศักดิ์
+สมศรี ปัทมพงศ์ประยูร
+สมศรี พรปรัชญาพงศ์
+สมศรี พูลทรัพย์
+สมศรี ภูหานาม
+สมศรี ยศชู
+สมศรี รัตนประภาต
+สมศรี ลิขิตสกุลชัย
+สมศรี วงษ์หวังจันทร์
+สมศรี วิริยะบุศย์
+สมศรี ศักดิ์เสมอพรหม
+สมศรี สลัดยะนันท์
+สมศรี สีวันนา
+สมศรี เส็งดอนไพร
+สมศรี หามนตรี
+สมศรี อังคนาวราพันธุ์
+สมศรี อุ่นวัฒนนุกูล
+สมศักดิ์ กรุงทองจันทร์
+สมศักดิ์ กาญจนประพิณ
+สมศักดิ์ กิตติพิทักษ์
+สมศักดิ์ เกรียงไชยกิจกุล
+สมศักดิ์ แก้วบวร
+สมศักดิ์ ขัตตุพงศ์วณิช
+สมศักดิ์ คงไพศาลถาวร
+สมศักดิ์ คุ้มภัยพาล
+สมศักดิ์ จงวนิชย์
+สมศักดิ์ จันทรกุล
+สมศักดิ์ จารุจุฑารัตน์
+สมศักดิ์ จินารักษ์
+สมศักดิ์ เจนจรัสสกุล
+สมศักดิ์ เจือจันทร์
+สมศักดิ์ เฉลยสังข์
+สมศักดิ์ ชาญสมร
+สมศักดิ์ ชูวงศ์วาลย์
+สมศักดิ์ ใช่แน่
+สมศักดิ์ แซ่ตั้ง
+สมศักดิ์ แซ่อึ้ง
+สมศักดิ์ แซ่โตว
+สมศักดิ์ ดีนก
+สมศักดิ์ ตระกูลโอสถ
+สมศักดิ์ ตั้งเจริญธรรม
+สมศักดิ์ ติลกเลิศ
+สมศักดิ์ โตรักษา
+สมศักดิ์ ทรัพย์วิไล
+สมศักดิ์ ทั่งทอง
+สมศักดิ์ เที่ยงสมบูรณ์
+สมศักดิ์ ธรฤทธิ์
+สมศักดิ์ นวลอุไร
+สมศักดิ์ นินนาท
+สมศักดิ์ บวรอนันต์
+สมศักดิ์ บุญมาเลิศ
+สมศักดิ์ บูรณะศิลปกิจ
+สมศักดิ์ ประเสริฐประศาสน์
+สมศักดิ์ ปาลศรี
+สมศักดิ์ ผจงพฤทธิ์
+สมศักดิ์ พดด้วง
+สมศักดิ์ พฤกษะวัน
+สมศักดิ์ พันธุ์สน
+สมศักดิ์ พืชสะกะ
+สมศักดิ์ เพียรรังสรรค์
+สมศักดิ์ ภคสิริกุล
+สมศักดิ์ มงคลมหาชัย
+สมศักดิ์ มาดี
+สมศักดิ์ มโนทรัพย์บำรุง
+สมศักดิ์ ยิ่งประเสริฐ
+สมศักดิ์ ระวิโรจน์
+สมศักดิ์ ราชแพทยาคม
+สมศักดิ์ เรืองโรจน์
+สมศักดิ์ ลิขิตวิทยศักดิ์
+สมศักดิ์ ลือพัฒนสุข
+สมศักดิ์ โล่ห์สวัสดิ์
+สมศักดิ์ วงษ์พิพัฒน์พงษ์
+สมศักดิ์ ว่องอนันต์วิทย์
+สมศักดิ์ วานิชยางกูร
+สมศักดิ์ วิวัฒนศิริศักดิ์
+สมศักดิ์ ศรศรีทอง
+สมศักดิ์ ศรีสกาวกุล
+สมศักดิ์ ศักดิ์โศภณกุล
+สมศักดิ์ ศิริไพรวัน
+สมศักดิ์ สดใส
+สมศักดิ์ สรไชยเมธา
+สมศักดิ์ สันทัตเวช
+สมศักดิ์ สินชัยดี
+สมศักดิ์ สุขผดุง
+สมศักดิ์ สุทธิผลไพบูลย์
+สมศักดิ์ สุวรรณพิบูลย์
+สมศักดิ์ เสือโตงาม
+สมศักดิ์ โสตถิเสาวภาคย์
+สมศักดิ์ หวังโซ๊ะ
+สมศักดิ์ เหลืองเจริญวัฒนา
+สมศักดิ์ อภิจารี
+สมศักดิ์ อรุณรัตน์
+สมศักดิ์ อัศวยุทธพล
+สมศักดิ์ อิงคนันท์
+สมศักดิ์ อุตมะ
+สมศักดิ์ เอื้อราศีกุล
+สมศิริ พัฒนประภาพันธุ์
+สมษร ทองวิวัฒน์
+สมสนิท ตามพร
+สมสมัย ธะเศรษฐ
+สมสรี พงศ์แพทย์พินิจ
+สมส่วน ฉายาลักษณ์
+สมสิทธิ์ วิเชษนลินวงษ์
+สมสุข ขันติอุดม
+สมสุข พรามเจริญ
+สมสุข สิกขปัญญา
+สมหญิง ทีปะสมบัติ
+สมหมาย กลิ่นแจ่ม
+สมหมาย เขตรคง
+สมหมาย จิตติวัฒนกุล
+สมหมาย ชินวิชา
+สมหมาย ดาบทองดี
+สมหมาย ทวีสุทธิ์
+สมหมาย นาคสมบูรณ์
+สมหมาย ประภากร
+สมหมาย พลายเมือง
+สมหมาย ภรารัตนวัฒน์
+สมหมาย ไม้เกตุ
+สมหมาย ละอองศรี
+สมหมาย วโรดมวิทยา
+สมหมาย สอนวิทย์
+สมหมาย สุดขาว
+สมหมาย หวังทอง
+สมหมาย อิทธิมณีรัตน์
+สมหวัง เกษมโกสินทร์
+สมหวัง ชุนเจริญ
+สมหวัง นันต์จารุวงศ์
+สมหวัง เพชรพินิจวงศ์
+สมหวัง ลอมาเละ
+สมหวัง สาธิตอเนกชัย
+สมหวัง อรุณสวัสดิ์
+สมอาจ อยู่กิจติชัย
+สมัคร ตั้งประเสริฐสม
+สมัคร มุ่งหมาย
+สมัคร อินทรศิลป์
+สมัย เขียวสะอาด
+สมัย แซ่จัง
+สมัย นิลโต
+สมัย เพิ่มพูลวิทยา
+สมัย เลิศกลาง
+สมัย สีที
+สมัย อุณหพันธ
+สมาน กิ่งพรไพนิพัฒน์
+สมาน ค้าคล่อง
+สมาน เจนนภา
+สมาน เซ็นเชาวนิช
+สมาน โตกระจ่าง
+สมาน ธูปเทียน
+สมาน บุษยทริกากรณ์
+สมาน พลีบัตร
+สมาน ม่วงสีตอง
+สมาน แย้มเกษร
+สมาน เลี้ยงประยูร
+สมาน ศิริไพพรรณ
+สมาน สีทา
+สมาน โสด้วง
+สมาน อับดุลเลาะห์
+สมานพล อยู่อ่อน
+สมารุต มะรุลี
+สมิต วรมงคล
+สมิทธิ์ สหนาวิน
+สมุทร แพรมณี
+สมเกลียว บุญคง
+สมเกียรติ กิตติสุวรรณ์
+สมเกียรติ ขวัญดี
+สมเกียรติ งามเสงี่ยม
+สมเกียรติ จิรรัตนชาญ
+สมเกียรติ ชวลิตจิราพันธุ์
+สมเกียรติ ไชยสิงห์
+สมเกียรติ แซ่เบ๊
+สมเกียรติ ตั้งตรงจิตร์
+สมเกียรติ ไตรรัตน์ทวีสุข
+สมเกียรติ แท่นทอง
+สมเกียรติ นิรันดร์วงศ์วาน
+สมเกียรติ ประกอบสุพรรณ
+สมเกียรติ ผลวิเศษชัยกุล
+สมเกียรติ พันธุ์ศิริ
+สมเกียรติ ฟูกระเดื่อง
+สมเกียรติ เมืองประเสริฐ
+สมเกียรติ รุจิรวัฒน์
+สมเกียรติ เลิศลบธาตรี
+สมเกียรติ วัฒนธรรม
+สมเกียรติ ศรทรง
+สมเกียรติ ศุภโกวิท
+สมเกียรติ สิงห์แก้ว
+สมเกียรติ สุรเชษฐ์กิจ
+สมเกียรติ หาญภัทรานนท์
+สมเกียรติ อรุโณทัยจิตร
+สมเกียรติ เอนทะมิน
+สมเจต เกตุแก้ว
+สมเจตน์ จันทร์กระจ่าง
+สมเจตน์ ธำรงราชนิติ
+สมเจตน์ เลิศพลาพงศ์
+สมเจตน์ เอี่ยมอธิฤทธิ์
+สมเด็จ สืบเหล่ารบ
+สมเดช ดุลยอนุกิจ
+สมเดช มณีไมตรีจิต
+สมเดช สุวรรณนาค
+สมเพ็ชร ธรรมถาวรวณิช
+สมเหมือน ประไพย์
+สมโชค ลิ้มเจริญ
+สมโพธิ สรัคคานนท์
+สมโภช เปลี่ยนบางยาง
+สมโภชน์ แก่นทองแดง
+สมโภชน์ แตงบุตร
+สมโภชน์ พุฒสุวรรณ
+สมโภชน์ ศรีธนสุกาญจน์
+สมโภชน์ อัศวศิริโรจน์
+สมใจ กาญจนะวาศ
+สมใจ ขำหาญ
+สมใจ จันทร์ประสิทธิ์
+สมใจ เจียมศุภกิตต์
+สมใจ ชื่นอารมย์
+สมใจ แซ่ย่อง
+สมใจ ฐิวรินทร์
+สมใจ ตันชาลี
+สมใจ ทองรอด
+สมใจ นันทศิลปชัย
+สมใจ บุญรัตนเนตร
+สมใจ ปิยะรังษี
+สมใจ พวงทอง
+สมใจ ฟองจันทร์
+สมใจ มีประดิษฐ์
+สมใจ รื่นเริง
+สมใจ เลียงวัฒนคล
+สมใจ วิวัฒน์วานิช
+สมใจ ศิริกมลมาศ
+สมใจ สว่างแสนสุข
+สมใจ สุขเสริมสกุล
+สมใจ หงษาครประเสริฐ
+สมใจ อมาตยกุล
+สมใจ เอียการนา
+ส้มจีน นิ่มวิบูลย์สม
+ส้มเกลี้ยง สร้างสุขดี
+สยาม ขำแป้ง
+สยาม สาคร
+สยุมพร รัศมีธารา
+สรชัย โพธิ์ชัย
+สรนพ ชวนบุญ
+สรภัย แซ่เหลี่ยว
+สรรค์ชัย เค้าฉิม
+สรรชัย ทองใจ
+สรรพชัย พิทักษากร
+สรรักษ์ ผ่องใส
+สรรเสริญ ชวนประพันธ์
+สรรเสริญ แสงดาว
+สรวงสุดา ค้ำจุน
+สรวุฒิ ธนเขมภัทร
+สรศักดิ์ แซ่เบ๊
+สรศักดิ์ ลาภรัตนไตร
+สรศักดิ์ เอี่ยมโสภณา
+สร้อย ตันเจริญ
+สร้อยทิพย์ คงถาวรสกุล
+สร้อยสอ สุวรรณน้อย
+สรัญญะวงษ์ เกตุฉัตราริยะกุล
+สรัญธร สมประกอบ
+สราญทิพย์ จารุบริสุทธิคุณ
+สรายุทธ สังข์วิเศษ
+สราวุฒิ เกษณียบุตร
+สราวุธ ไชยสว่างศิลป์
+สราวุธ มณีเสาวนพ
+สราวุธ เอี่ยมสงคราม
+สรินทิพย์ หุ่นศาสตร์
+สรียา ทองกระจ่างเนตร
+สฤษฏพร นิคมประศาสน์
+สลวย คชรัตน์
+สละ ดะเงาะ
+สละ รอดปราณี
+สลักจิต ธรรมเกษร
+สลาม เจ๊ะเซ็น
+สลิลโรจน์ รุ่งสมบูรณ์
+สวง โชคมั่งมี
+สวง พวงพิมาย
+สวง สัญกรณ์
+สวงค์ ปราบพุทธจา
+สวดี มานะนิตย์
+สวนีย์ วงษ์เวทย์
+สวรรค์ คมสัน
+สวรรยา นันทไตรเดช
+สวลี อิศรางกูร ณ อยุธยา
+สวัสดิ์เกียรติ สว่างศรี
+สวัสดิ์ ขติยะสุนทร
+สวัสดิ์ จ่างเจริญ
+สวัสดิ์ ช่างหล่อ
+สวัสดิ์ ต้นรัศมี
+สวัสดิ์ ธนาศรีสวัสดิ์
+สวัสดิ์ บุญยรัตประภา
+สวัสดิ์ ผุงเพิ่มตระกูล
+สวัสดิ์ เพชรตระกูล
+สวัสดิ์ มาลีวิลาศ
+สวัสดิ์ ฤทธิ์ทองพิทักษ์
+สวัสดิ์ วิไลรางกูร
+สวัสดิ์ สมบูรณ์ชัยวงศ์
+สวัสดิ์ สุขทั่วญาติ
+สวัสดิ์ หนูไชยา
+สวัสดิ์ อินทปุระ
+สวาท เกตุปาระ
+สวาท ทรัพย์มาก
+สวาท มงคลสวัสดิ์
+สวาท หงษ์เกียร์
+สวาสดิ์ รมณียธรรม
+สว่าง จันทรา
+สว่าง ต่อสหะกุล
+สว่าง ปึกขาว
+สว่าง รัศมีฉาย
+สว่าง สามโกเศศ
+สว่างกิจ อมราชีวะ
+สว่างจิตร สวนจันทร์
+สวิง เกตุโกมุท
+สวิง เลี้ยงบำรุง
+สวิน ทิมมณีฉาย
+สสิธร นากสุก
+สหรัฐ ไชยเผือก
+สหัส เชื้อสุวรรณ
+สหัสชัย รัชตโพธิ์
+สอดศรี จันทร์กระจ่าง
+สอน ศรีเนตร
+สอางค์ คชเสนี
+สอาด กาญจนอุดม
+สอาด จีนะวานิช
+สอาด เทศอินทร์
+สอาด พรพงษ์
+สอาด ยั่งยืน
+สอาด สกุมา
+สอาด เหลียวอินทร์
+สอิ้ง กองหิรัญ
+สอิ้ง บุญธรรม
+สอิ้ง ศรีพนม
+ส่องศรี งามไพบูลย์
+สะตาลีราห์ บูซัล
+สะหมัด เลาะศิริ
+สะอาด ถนอมวงศ์
+สะอาด วงเวียน
+สะอารี แวมูดอ
+สะใบ มะลิใจ
+สัคค์ รัตนธราธร
+สังข์ เผ่าพิมพา
+สังคม ราศรี
+สังวร เพชรประสม
+สังวรณ์ วะเกิดเป้ง
+สังวาลย์ กลิ่นมาลัย
+สังวาลย์ จี่เพชร
+สังวาลย์ นัยศิริ
+สังวาลย์ เพ็ชรนุช
+สังวาลย์ ศรีบุตร
+สังวาลย์ อภัยภักดิ์
+สังเวียน ก้องเวหาสิงหล
+สังเวียน เชาวลิต
+สังเวียน บุญเสงี่ยม
+สังเวียน ลาภพิเศษ
+สังเวียน แหล่งหล้า
+สัจจะ ฤทธิกุลประเสริฐ
+สัจจา สถิราวุธ
+สัญชัย คล้ายชุมแสง
+สัญชัย เธียรสวัสดิ์กิจ
+สัญชัย ลิขิตลัญฉกร
+สัญชัย เหมประชิตชัย
+สัญญา คล้ายจินดา
+สัญญา นุ่มแสง
+สัญญา รัศสุวรรณ
+สัญญา สุขพณิชนันท์
+สัณชาย วิสุทธานนท์
+สัณห์ นิวาสะวัต
+สัตยา ศรีอ่อน
+สันฐัทฒ์ ทองมา
+สันติ กัณนกิจ
+สันติ คุตตะสิงคี
+สันติ จินดาคมน์
+สันติ ชุ่มวรรณ์
+สันติ ตติยตฤษณา
+สันติ ทรงศิริ
+สันติ นิมมานนิตย์
+สันติ ผลประเสริฐ
+สันติ โพธิ์ทอง
+สันติ เย็นสถิตย์
+สันติ เลิศสกุลพันธ์
+สันติ วิไลนำโชคชัย
+สันติ สตาเขต
+สันติ สุขมาก
+สันติ หวังสุนทร
+สันติ อาภาสกุลเดช
+สันติชัย ทองขาว
+สันติพงษ์ นิมิตรดี
+สันติลักษณ์ ธัญญาหาร
+สันติ์ อินทรเกษม
+สันต์ ธนรัตน์รุ่งเรือง
+สันต์ เลิศปิยะบุญ
+สันต์ อัจจิมาธร
+สันทนา วุ่นจู๊ด
+สันทัด จิตตุรงค์อาภรณ์
+สันทัด สำนักพงษ์
+สันธาน คำมิ่ง
+สัมผัส คชวงศ์
+สัมพันธ์ คำณพัฒน์
+สัมพันธ์ ซุ่มเสนา
+สัมพันธ์ นนทศุข
+สัมพันธ์ พันธุ์มณี
+สัมพันธ์ รู้ประมาณ
+สัมพันธ์ สว่างแผ้ว
+สัมพันธ์ หิรัญรักษา
+สัมมารินทร์ ตันศรี
+สัมฤทธิ์ คุณเจตเจริญสุข
+สัมฤทธิ์ ดวงสะอาด
+สัมฤทธิ์ นิ่มอนงค์
+สัมฤทธิ์ พุกพัก
+สัมฤทธิ์ เลี่ยมเพ็ชรรัตน์
+สัมฤทธิ์ สุขใส
+สัมฤทธิ์ อุรุนานนท์
+สากล สรสุนทร
+สาคร คงสมบูรณ์
+สาคร แดงสี
+สาคร บัวเพชร
+สาคร พูนพจน์มาศ
+สาคร ลาภเจริญ
+สาคร สารชาติ
+สาคร อุ่นจิตร
+สาทิต ศรีสวัสดิ์
+สาธร ปาละกะวงษ์
+สาธิต จันทรจิโรจน์กุล
+สาธิต เต็มเจริญ
+สาธิต พงศ์วรินทร์
+สาธิต ลีลาจารุวรรณ
+สาธิต สุทธิวุฒินฤเบศร์
+สาธินี วิลาวรรณ
+สานิต น่วมทัต
+สานิตย์ ปั้นทอง
+สามชัย พวงสำลี
+สามารถ คงคำสี
+สามารถ ชื่นภักดี
+สามารถ นวลละออง
+สามารถ พลายเถื่อน
+สามารถ รัศมีโรจน์วงศ์
+สามารถ สว่างแสง
+สามารถ อินทรเทพ
+สาย พราหมณะนันทน์
+สายจิต ชัยมงคล
+สายชล ฉัตรแก้วบริบูรณ์
+สายชล พุกเจริญ
+สายชล สุขศานติสกุล
+สายทอง ชัยชนะ
+สายทอง มิอรัญ
+สายทิพย์ เจริญชัยศรี
+สายธาร ศุขรัตน์
+สายบัว พลอยงาม
+สายฝน ตาลุคเดอร์
+สายฝน วิเศษศิริ
+สายพิณ ครุสาตะ
+สายพิณ เถาสุวรรณ
+สายพิณ พุ่มเกลี้ยง
+สายพิณ ศรีโรจน์
+สายพิน ชวาลสันตติ
+สายพิน อินทรหะ
+สายรุ่ง รามวินิจ
+สายลม ทรัพย์นาค
+สายสนม วาจนะวินิจ
+สายสมร โต๊ะอาจ
+สายสมร สมบูรณ์ยิ่งสุข
+สายสวาท บัวกล่ำ
+สายสุณี ขุนทอง
+สายสุดใจ ปิ่นกล่อม
+สายสุนีย์ จุติพิทักษ์วงศ์
+สายสุนีย์ ภักดิ์สุขเจริญ
+สายสุนีย์ อัศว์ไชยตระกูล
+สายหยุด จันทร
+สายหยุด ธินนท์
+สายหยุด เพิ่มสมบัติ
+สายหยุด สงสุวรรณ
+สายหยุด โอฬารสุขสกุล
+สายัณห์ กัลยาณมิตร
+สายัณห์ ตรงศิริวิบูลย์
+สายัณห์ พันธุ์ประสิทธิ์
+สายัณห์ วชิรเดชเสถียร
+สายัณห์ หนูราช
+สายันต์ คงคุณ
+สายันต์ พุทธมา
+สายันห์ ลีลากุศลวงศ์
+สายใจ ค้ำจุน
+สายใจ ทองนาค
+สายใจ เพียรเสริมกิจ
+สายใจ วุฒิพงศ์
+สายใจ อรุณชัย
+สารภี คงทรัพย์
+สารภี ไวทย์กุล
+สารัชต์ เผื่อนปฐม
+สาริณี อัศวินนิมิตร
+สาลิกา ธนะวิบูลย์ชัย
+สาลินี สิตะยัง
+สาลี สาโรวาท
+สาลี่ แซ่ฮั้น
+สาลี่ โพธิเวชกุล
+สาลี่ แสงฉาย
+สาวิตรี กล่อมเอี้ยง
+สาวิตรี ผิวผ่อง
+สาวิตรี สิงหรา ณ อยุธยา
+สาหร่าย ไชยมาตร
+สาโรจน์ โกมลหทัย
+สาโรจน์ ทองสวรรค์
+สาโรจน์ พึ่งสุข
+สาโรจน์ ศิริเอี้ยวพิกูล
+สาโรช เจริญศรี
+สาโรช เลาวกุล
+สำนวน ผกาแก้ว
+สำรวจ นิยมเดช
+สำรวม บุรุษรัตนพันธุ์
+สำรวม อ่อนมิ่ง
+สำรวย ขำภักดี
+สำรวย จันทร์สมบุญ
+สำรวย ชุ่มวิเชียร
+สำรวย ถึงใจ
+สำรวย นาน้อย
+สำรวย ประทังคำ
+สำรวย พ่วงเภตรา
+สำรวย ภู่ทอง
+สำรวย รอดกำเหนิด
+สำรวย วรนุช
+สำรวย สมิทธิธรรมธาดา
+สำรวย สุรีย์ศรีสกาว
+สำรวย อ่อนนิ่ม
+สำรวล พุกกะณานนท์
+สำรอง ฤกษ์สุทธิศิริเดช
+สำราญ กัลยาณศิรินทร์
+สำราญ เขียวชะอุ่ม
+สำราญ จันทร์เอี่ยม
+สำราญ ช้างเยาว์
+สำราญ ดีสุด
+สำราญ ทิพวัฒน์
+สำราญ นุชแทน
+สำราญ ปกสว่างเจริญ
+สำราญ พยุงแก้ว
+สำราญ เพ็ชรอุไร
+สำราญ มาลีเทศ
+สำราญ รัตตากร
+สำราญ วรรณตรง
+สำราญ ศัลย์วิเศษ
+สำราญ สาคร
+สำราญ เสงี่ยมเฉย
+สำราญ อรรถอินทรีย์
+สำราญ ฮาเซ๊ะ
+สำฤทธิ์ สอนกระต่าย
+สำลี แซ่ภู่
+สำลี พิฆเนศวร
+สำลี สายขุนทด
+สำออย รุ่งเรือง
+สำอาง อิ่มจิตร
+สำอางค์ ชนะสุริยะเกียรติ
+สำอางค์ นันทรัตนชัย
+สำอางค์ เพลินหัด
+สำอางค์ วงษ์สายสิน
+สำอางค์ ไหวสว่าง
+สำเนา ธิคุนันท์
+สำเนา สุวรรณอ่อน
+สำเนียง กรกมล
+สำเนียง จีดลำดวน
+สำเนียง ทศวงษ์
+สำเนียง ปะละชาติ
+สำเนียง ภู่ประเสริฐ
+สำเนียง ศรีวรรณ์
+สำเนียง หอมชื่น
+สำเภา เจียรสุมัย
+สำเภา บุญอ่อน
+สำเภา วงศ์สีดา
+สำเร็จ จรัญญาอ่อน
+สำเริง กองแสงศรี
+สำเริง จันทรมณี
+สำเริง ดวงภุมเมศ
+สำเริง นิลพฤกษ์
+สำเริง พลอยงาม
+สำเริง มิ่งขวัญ
+สำเริง วัฒนะโชติ
+สำเริง สีสุก
+สำเริง อัมลีย์
+สิงขร ธีราทรง
+สิงห์ทวน เตจ๊ะ
+สิงหะ สายทอง
+สิงห์ คชเสนี
+สิงห์ เลิศนามวงศ์วาน
+สิตธิ์ จังพานิช
+สิทธิ ตัณฑโอภาส
+สิทธิกร ศิริเมืองมูล
+สิทธิชัย เข่งทอง
+สิทธิชัย ใจชื้น
+สิทธิชัย ดรุณวัติ
+สิทธิชัย เทวหสกุลทอง
+สิทธิชัย ปลีกอำไพ
+สิทธิชัย เพียรประเสริฐกุล
+สิทธิชัย ฤกษ์สวัสดิ์กุล
+สิทธิชัย วิสุทธิ์อำพัน
+สิทธิชัย สิทธิวิบูลย์วัฒน์
+สิทธิชัย เหลืองสุขสาคร
+สิทธินัน ชนประเสริฐ
+สิทธิพงษ์ ก่อเศรษฐรัชต์
+สิทธิพยากรณ์ (วีรานุวัตต์)
+สิทธิพร บำเหน็จพันธ์
+สิทธิพร สมบุญ
+สิทธิพล วัฒนคดี
+สิทธิรัตน์ พิชญ์พิทยานนท์
+สิทธิศักดิ์ แซ่แจ้ง
+สิทธิศักดิ์ ลิ้มรสธรรม
+สิทธิศักดิ์ อุบลรัตนะ
+สิทธิเทศ กิตติกุลสุวรรณ
+สิทธิโชค ศรีสุคนธ์
+สิทธิ์ ปรุศดำเกิง
+สิน จินดารัตนวรกุล
+สิน วงศ์คุ้มพงศ์
+สินชัย จอมแสง
+สินชัย พรหมเสนีย์
+สินชัย สุทธิวงษ์
+สินธาร ว่องตาประดิษฐ์
+สินธุ์ ลิ้มปิติ
+สินหลั่ง เอื้อสมสกุล
+สินี มณีกุล
+สินีนาฏ ทองโบราณ
+สินีพรรณ บุญเลี้ยง
+สิรกุล ตะเคียนนุช
+สิริ ประวาหะนาวิน
+สิริกาญจน์ ดวงงาม
+สิริกุล เวียงชนก
+สิริชัย ตันติเลิศเจริญ
+สิริญญา โสภณสกุลศักดิ์
+สิรินทร์ทิพย์ ขำทิพย์
+สิรินราภรณ์ นิลบุตร
+สิรินาท เหลืองอร่ามวิไล
+สิริพงษ์ พุทธธนสุนทร
+สิริพร เจนกชกร
+สิริพร เตชนะศักดิ์
+สิริพร พิพัฒพลกาย
+สิริพร ศรีเพียร
+สิริพร อัศวรันต์
+สิริพัฒน์ กมลรัตน์
+สิริมนต์ บุญหล้า
+สิริมา ไผ่พลู
+สิริมาตา เร่งสมบูรณ์สุข
+สิริรัตน์ แจ่มดวง
+สิริรัตน์ พรวิลาศสิริ
+สิริรัตน์ แสงพยัพ
+สิริลักษณ์ บุญใหญ่
+สิริลักษณ์ อ๋องสกุล
+สิริวรรณ นาคอ่อน
+สิริวรรณ สิทธางกูร
+สิริวิภา อนันตชาติ
+สิริอรรณพ ธนรักษ์
+สิรี ขันทอง
+สิวอ่อน แซ่ตั้ง
+สิโรตม์ วัธนธาดา
+สีดา วัชรพิมลพรรณ
+สีนวล จันทร์ริ้ว
+สีนีพรรณ เกียรติพงษ์สาร
+สีหนาท ประยูรรัตน์
+สืบ คำนิล
+สืบพงษ์ ฐิติโชติรัตนา
+สืบศักดิ์ ปริญญากุล
+สืบสวัสดิ์ วัฒนฐานะ
+สุกร ชลประเสริฐสุข
+สุกรี วัชรพรรณ
+สุกล ยืนตระกูลชัย
+สุกัญญา กุลเรืองทรัพย์
+สุกัญญา คำม่วง
+สุกัญญา จิตรเจริญ
+สุกัญญา ชัยศรีวิบูลย์
+สุกัญญา แซ่อึ้ง
+สุกัญญา ตั้งเติมทอง
+สุกัญญา ทาบสุวรรณ
+สุกัญญา นิยมในธรรม
+สุกัญญา ประสงค์
+สุกัญญา พรวสันต์
+สุกัญญา แพภิรมย์รัตน์
+สุกัญญา เมฆอริยะ
+สุกัญญา ฤทัยธรรม
+สุกัญญา วัฒฑกโกศล
+สุกัญญา ศิริประภากิจ
+สุกัญญา สิงห์ทอง
+สุกัญญา สุโรจนานนท์
+สุกัญญา อนุมานศิริกุล
+สุกัญญา เอมเจริญ
+สุกันยา ภูแข
+สุกัลยา ประเสริฐสังข์
+สุกาญจน์ ฤกษ์สินสาโรจน์
+สุกานดา ธาตุดี
+สุกานดา สุกิตไพบูลย์
+สุกิจ กูลมนูญ
+สุกิจ เชื้ออินทร์
+สุกิจ นิ่มพร้าว
+สุกิจ ภุมมี
+สุกิจ วิชัยโชติ
+สุกิจ แสงพลสุข
+สุกิต วิวัฒนทีปะ
+สุข แจ้งกระจ่าง
+สุข สุระพินิจ
+สุขจิตต งามบรรจง
+สุขชัย อุปสันต์
+สุขประเสริฐ ร่มโพธิ์
+สุขวสา แสงดี
+สุขศรี วงษ์ถม
+สุขสมบัติ เทศะนันทน์
+สุขสอาด จรีศรี
+สุขสันต์ พรสวรรค์วัฒนา
+สุขหรรษา งามวัฒนาเจริญ
+สุขุม เจียมสกุล
+สุขุม พหูสูตร
+สุขุม ศรีวิไลฤทธิ์
+สุขุม เอี่ยมสอาด
+สุขุมาลย์ ประเสริฐศรี
+สุขเกษม เลื่อมอรุณ
+สุขโข สุมานนท์
+สุขใจ วงศ์สุรพิเชษฐ์
+สุคนธ์ทิพย์ ทำเลทอง
+สุคนธา สุระมานะ
+สุคนธ์ เฉลิมพิพัฒน์
+สุคนธ์ เนื่องกันทา
+สุคนธ์ รัตนสะอาด
+สุคนธ์ สุจริต
+สุคิน เด่นเมฆา
+สุจริต มณีวงค์
+สุจารีต กรรณล้วน
+สุจิต สถิตย์มาลัยวงศ์
+สุจิตต์ ตั้งตระกูล
+สุจิตร ชัยคูณผล
+สุจิตรา กล่ำแสง
+สุจิตรา จันทรดิลกกุล
+สุจิตรา แซ่จิว
+สุจิตรา ทวีรัตน์
+สุจิตรา บุญสูง
+สุจิตรา พันธุ์ภัทร์
+สุจิตรา ยิ้มแย้ม
+สุจิตรา วรยศโกวิท
+สุจิตรา สถาพรชัยสิทธิ์
+สุจิตรา สุรรัตน์เดชา
+สุจิตรา อุตตมะศิล
+สุจิน มุกน้อย
+สุจินดา แซ่เล้า
+สุจินดา ภัคภิญโญ
+สุจินดา สิทธิศรัณย์กุล
+สุจินตนา เสือแก้ว
+สุจินต์ จิระชัย
+สุจินต์ ตัณฑ์วรกุล
+สุจินต์ เบ้ากุล
+สุจินต์ ฟุ้งธรรมสาร
+สุจินต์ วงศ์พันธุ์
+สุจินต์ สักกะวนิช
+สุจินต์ อุดมพันธุ์
+สุจิรา ภู่ขำ
+สุชฏิล วัฒยากร
+สุชล ปานกลาง
+สุชัย จำรัสวิมลรัตน์
+สุชัย นรเศรษฐพงศ์
+สุชัย เลิศธีระชาญชัย
+สุชัย หวังกิจจินดา
+สุชาญ ธนะไพรรักษ์
+สุชาดา เกียรติเรืองสุข
+สุชาดา จอนุวัฒนกุล
+สุชาดา ฉายะเกษตริน
+สุชาดา แซ่อึ้ง
+สุชาดา เตี๊ยกคำ
+สุชาดา นทีตานนท์
+สุชาดา ประถมปัทมะ
+สุชาดา พันธุ์มณี
+สุชาดา มารยาท
+สุชาดา โรจนฤทธิ์พิเชษฐ์
+สุชาดา วิทยาภรณ์
+สุชาดา สตังดี
+สุชาดา สุทธิศันสนีย์
+สุชาดา หิรัญพัฒนกุล
+สุชาดา อึ๊งสมุทร
+สุชาติ กลิ่นอุดมสุข
+สุชาติ เกรียงโกมล
+สุชาติ แขรัตนะ
+สุชาติ งามแสง
+สุชาติ จิตพัฒนกุล
+สุชาติ เจษฤาเจิม
+สุชาติ ชัยนะเลิศวงศ์
+สุชาติ เชาว์ไว
+สุชาติ แซ่หลิว
+สุชาติ ดำรงค์อนุกูล
+สุชาติ ตั้งพูลพันธุ์
+สุชาติ ถาวรวงษ์
+สุชาติ เทียมสมัย
+สุชาติ นรากุลรัศมี
+สุชาติ บำรุงพานิช
+สุชาติ ประสานธรรมคุณ
+สุชาติ ผลภิรม
+สุชาติ พะนอจันทร์
+สุชาติ เพียรธุรัตน์
+สุชาติ มลทองดี
+สุชาติ ยิ้มเจริญ
+สุชาติ รุจิโมระ
+สุชาติ ลีรุ่งเรือง
+สุชาติ วงศ์สมบุญ
+สุชาติ วานิชย์หานนท์
+สุชาติ ศรีฟ้าลาวัณย์
+สุชาติ ศุกรวรรณ
+สุชาติ สว่างการ
+สุชาติ สินประสงค์
+สุชาติ สุทธิพรสกุล
+สุชาติ เสรีสุวรรณกิจ
+สุชาติ เหงี่ยมงามศรี
+สุชาติ อ่อนสุข
+สุชาติ อุดมภักดีวงศ์
+สุชาย ชวาลดิฐ
+สุชาย สุนันทารอด
+สุชิต ล่ำซำ
+สุชิน จำปาน้อย
+สุชิน ต่างใจ
+สุชิน ประไพศิลป์
+สุชิน เมฆะสุวรรณโรจน์
+สุชิน ศรีพัฒนวรางกูล
+สุชิน แสงอินทร์
+สุชีพ กุลกาญจนาชีวิน
+สุชีพ สิงห์ธีร์
+สุชีลา แซ่ห่าน
+สุฑาทิพย์ ฟักเย็น
+สุณิสา เย็นฉ่ำ
+สุณี จิรันดร
+สุณี เดชสุวรรณ์
+สุณี ปานดี
+สุณี ลิมป์พนาวงศ์
+สุณี สิทธิเวชวิจิตร
+สุณีนุช โต๊ะหวัง
+สุณีย์ เทพสาย
+สุณีย์ วิทยาทรงตระกูล
+สุด กระแสเทพ
+สุดจิต เจริญนิพนธ์วานิช
+สุดจิตต์ ศรีตรีรัตน์
+สุดชาย บุญโต
+สุดธิดา มหิโคต
+สุดสงวน จันทร์ศรี
+สุดสวาท เฉียบแหลม
+สุดสายใจ หาเรือนโภค
+สุดา จงวัฒนา
+สุดา เชียงเชาว์ไว
+สุดา ตุลาวณิช
+สุดา บำรุงหมู่
+สุดา พึ่งโพธิปักขิยะ
+สุดา รุ่งแสง
+สุดา ศรีกรการ
+สุดา สุขวิบูลย์
+สุดา อัศวโภคิน
+สุดาทิพย์ เอี่ยมอิทธิฤทธิ์
+สุดาพร มณีรัตน์
+สุดาพันธ์ อิศรางกูร ณ อยุธยา
+สุดารัตน์ แก้วชิงดวง
+สุดารัตน์ ชินะประภา
+สุดารัตน์ ธัญสิริโรจน์
+สุดารัตน์ พิมพิมล
+สุดารัตน์ เลิศวิทยาพนธ์
+สุดารัตน์ สารตายน
+สุดารัตน์ อินโทอธิพร
+สุดาวดี แสงชมภู
+สุดาวรรณ ศรีสวัสดิ์
+สุดาอร สัจจาธรรม
+สุดแสวง แสงนพรัตน์
+สุดใจ จงมโนประเสริฐ
+สุดใจ ชัยเปรม
+สุดใจ แตงอ่อน
+สุดใจ บุญมาก
+สุดใจ พานิชกุล
+สุดใจ แย้มเหมือน
+สุดใจ ศรีม่วง
+สุดใจ สินสมุทร์
+สุดใจ อ่อนศรี
+สุถาวรณ์ เกียรติศิลปนันต์
+สุทธาทิพย์ ประสพสุขเจริญ
+สุทธิ ชาติยานนท์
+สุทธิ เพ็งเจริญ
+สุทธิ สุทธิธรรมกุล
+สุทธิชัย ไกรคุณาศัย
+สุทธิชัย ตันธนาศิริกุล
+สุทธิชัย มหวลีรัตน์
+สุทธิชัย สุทธิพิบูลย์
+สุทธิณี จิตตานนท์
+สุทธินันท์ โพธินาค
+สุทธินี สาระยา
+สุทธิพงศ์ วจีปิยนันทานนท์
+สุทธิพงษ์ ไตรรัตนทรงพล
+สุทธิพงษ์ ศรีเนียม
+สุทธิพร ตันมงคล
+สุทธิพล แสงรุ้งฐิติรักษ์
+สุทธิมา จิตตรง
+สุทธิรัตน์ งามทรัพย์
+สุทธิลักษณ์ ผ่องศิริ
+สุทธิวิทย์ ขำลำภู
+สุทธิศักดิ์ ระจิตดำรงค์
+สุทธิสันต์ ตั้งศรีวงษ์
+สุทธี กิจสุภี
+สุทรรศ วัฑฒกานนท์
+สุทัน สวัสดิ์ฟัก
+สุทัศน์ กลิ่นโซดา
+สุทัศน์ จำรัสจุฬาเนตร
+สุทัศน์ ด่านอุดมชาญ
+สุทัศน์ ธีรธนากร
+สุทัศน์ พนัสเลิศ
+สุทัศน์ รอยกุลเจริญ
+สุทัศน์ วุฒิกรวณิชย์
+สุทัศน์ สิทธิวงศ์
+สุทัศน์ อ่อนชุลี
+สุทิต กนกเลิศวงศ์
+สุทิน คูน้ำทิพย์
+สุทิน โชติจุฬางกูร
+สุทิน ทัตตานนท์
+สุทิน บูรณสิน
+สุทิน ภาคยะวัธน์
+สุทิน ฤทราคร
+สุทิน สนทอง
+สุทิน แสวงธีระ
+สุทินี โกมลสิงห์
+สุทิศา อุดมจารุมณี
+สุธน ชูชัย
+สุธน ลิมปมนต์
+สุธร จิตกรีสร
+สุธรรม ชัยศรีวิบูลย์
+สุธรรม บุญเอกบุศย์
+สุธรรม เลิศพงษ์ประเสริฐ
+สุธรรม หะสิตะเวช
+สุธัญญา โพธิรัชตางกูร
+สุธา หงษ์รัตนอุทัย
+สุธาทิพย์ ชยางศุ
+สุธาทิพย์ ศรีมุกข์
+สุธาภรณ์ สุทธินา
+สุธารัตน์ สุขสำอางค์
+สุธาสินี วิจิตรานนท์
+สุธิดา ชื่นแสงจันทร์
+สุธิดา ศิระวัฒนชัย
+สุธิพร สอนมัง
+สุธี กรอุไร
+สุธี ฉัตรอภิวันท์
+สุธี เต่าทอง
+สุธี บุณยเกียรติ
+สุธี มาลีศรี
+สุธี วิเศษสุนทรสกุล
+สุธี สุธรรมฐิติ
+สุธีดา กมลรัตนา
+สุธีรา คุณนิรันดร
+สุธีรา พลสนะ
+สุธีรา อมรนฤนาถ
+สุธีร์ ปรีชานุวัฒน์
+สุธีลา ธนะฤทธิ์โรจน์
+สุนทร กิจจุลลจาริต
+สุนทร ขันทะราม
+สุนทร โค้วนฤมิตร
+สุนทร จิรายุวัฒนา
+สุนทร ชาญ
+สุนทร แซ่ฟอง
+สุนทร ตระกูลฤทธิเดช
+สุนทร ทรัพย์เจริญ
+สุนทร ธิชากรณ์
+สุนทร บัวสมบูรณ์
+สุนทร ประภาโรจน์
+สุนทร พจน์ธนมาศ
+สุนทร พุฒิกรกุล
+สุนทร ภูมิอ่อน
+สุนทร ยศแก้ว
+สุนทร รุ่งแจ้ง
+สุนทร เล้าวิชัย
+สุนทร วิชาชาญ
+สุนทร ศรีแสงฟ้า
+สุนทร สอนสี
+สุนทร สุขมัย
+สุนทร เสือใหญ่
+สุนทร อนุเดช
+สุนทร อิ่มเอิบสุข
+สุนทรา นวลวิจิตร
+สุนทรี กอสิงหวัฒนา
+สุนทรี จันทวุฒิ
+สุนทรี แซ่อึ้ง
+สุนทรี ทารมย์
+สุนทรี ปัญญาธัญญะ
+สุนทรี ไพศาลวิจิตรนุช
+สุนทรี ลำไยทอง
+สุนทรี ศิลปสาคร
+สุนทรี แสงเงิน
+สุนทรี เอี่ยมฤกษ์ศิริ
+สุนนท์ สุวงศ์
+สุนัน ประกายศิลป์
+สุนันทรา คำบรรลือ
+สุนันทา คชนาค
+สุนันทา ฉันทศาสตร์รัศมี
+สุนันทา แซ่เตีย
+สุนันทา โตมานะ
+สุนันทา นิลศรี
+สุนันทา โปษยานนท์
+สุนันทา โพธิ์ทอง
+สุนันทา รังษีธรรม
+สุนันทา วรกิจอาทร
+สุนันทา ศุภมาตรา
+สุนันทา สุรภักดี
+สุนันทา อัศวนัยกิจ
+สุนันท์ กิยะแพทย์
+สุนันท์ งามอัครกุล
+สุนันท์ ฉัตรแก้ว
+สุนันท์ แซ่หว่อง
+สุนันท์ ตาปสนันทน์
+สุนันท์ ธรรมวงศ์วัฒน์
+สุนันท์ บูรณ์ลอม
+สุนันท์ พวงนิล
+สุนันท์ มงคล
+สุนันท์ รังสิตเสถียร
+สุนันท์ วงศ์สุวรรณ
+สุนันท์ ศิริการณ์
+สุนันท์ สินธุ์ประสพชัย
+สุนันท์ หอมพุฒ
+สุนันท์ เอกวัฒน์
+สุนัย มยุรนาคิน
+สุนาค หอมหวล
+สุนารี สงเคราะห์
+สุนิดา ตันกันภัย
+สุนิตยา แก้วเอี่ยม
+สุนิตย์ สุนทร
+สุนิภา รุ่งเมฆารัตน์
+สุนิษา จันเกิด
+สุนิสา จันทบูลย์
+สุนิสา ตันติกุลพาณิชย์
+สุนิสา พิทยาธนาสกุล
+สุนิสา วัชรพงศ์
+สุนิสา เหลืองระฆัง
+สุนี คงสินทวีสุข
+สุนี แซ่เจีย
+สุนี นิ่มน้อย
+สุนี มิ่งมณีนาคิน
+สุนี ศรีสุรีย์ไพศาล
+สุนี อัศวเจริญลาภ
+สุนีย์รัตน์ ศิริเลิศเรืองชัย
+สุนีย์ กุลฤชากร
+สุนีย์ คนมั่น
+สุนีย์ จาตุวัฒน์
+สุนีย์ ฉันทสมบัติ
+สุนีย์ โชติมา
+สุนีย์ แซ่ล้อ
+สุนีย์ ดาริการ์นนท์
+สุนีย์ แต้มเติม
+สุนีย์ ธนานนท์
+สุนีย์ นิรุตตินานนท์
+สุนีย์ ปรีชาทรัพย์
+สุนีย์ พรหมสุวิชัย
+สุนีย์ แพรสุวัฒน์ศิลป์
+สุนีย์ มาทอง
+สุนีย์ รัตนภูมิภิญโญ
+สุนีย์ ลิ้มพรรัตน์
+สุนีย์ วรวุฒิ
+สุนีย์ ศรีพัชรพันธ์
+สุนีย์ สร้อยทอง
+สุนีย์ สุขุมวรพจน์
+สุนีย์ แสงใยมณี
+สุนีย์ อนุพงศ์อภัย
+สุนีย์ อิงสกุลรุ่งเรือง
+สุนีรัตน์ จงปรีชา
+สุ่น เกิดลาภ
+สุบรรณ์ แก่นสาร
+สุบิน ตรีปัจยากร
+สุบิน โพธิ์อัมพร
+สุบิน อาขุรัตน์
+สุปราณี กนกวุฒิ
+สุปราณี จันทร์สิน
+สุปราณี แซ่ลิ้ม
+สุปราณี ธีรอนุรักษ์กุล
+สุปราณี พัชรพจนากรณ์
+สุปราณี รัตนคาม
+สุปราณี ศรีทาโฮม
+สุปราณี ไสยสมบัติ
+สุปรานี ตันสิทธิ
+สุปรีดา เมฆอนันตโกศล
+สุปรียา ศิลาเกษ
+สุปัน พลเสนา
+สุพงศ์ นะมาตร์
+สุพงษ์ เอี่ยมฤกษ์ชัย
+สุพจน์ กิตติโภคิรัตน์
+สุพจน์ คงพ่วง
+สุพจน์ จันทร์วิเมลือง
+สุพจน์ เจริญพรหมมาตร์
+สุพจน์ ช้างวงศ์ทอง
+สุพจน์ แซ่โง้ว
+สุพจน์ ตันตระกูล
+สุพจน์ เทียมทับ
+สุพจน์ นิรันตสุขรัตน์
+สุพจน์ ประภาอภิรัตน์
+สุพจน์ พจนาวราพันธุ์
+สุพจน์ พึ่งพัฒนา
+สุพจน์ มงคลกิจชัยการ
+สุพจน์ เยี่ยมวิญญะ
+สุพจน์ ฤกษ์โศภิษฐ์
+สุพจน์ วงศ์วรเศรษฐ์
+สุพจน์ วิสารทานนท์
+สุพจน์ ศิริวรรณชัย
+สุพจน์ สัมพันธารักษ์
+สุพจน์ สุนทรวิเนตร์
+สุพจน์ หนูแย้ม
+สุพจน์ อยู่ยั่งยืน
+สุพจน์ อุทัยโชติรัตน์
+สุพพตา พรวชิราภา
+สุพร จรรยางาม
+สุพร แซ่มา
+สุพร ธรรมาพิทักษ์พร
+สุพร พละพลีวัลย์
+สุพร รุจาพันธุ์
+สุพร ศุภลักษณ์นารี
+สุพร เหลี่ยมมกราเจริญ
+สุพรชัย วรรณทิม
+สุพรรณ จันพิศาล
+สุพรรณ พงศ์จีรกำจร
+สุพรรณ สุขอรุณ
+สุพรรณา เขียวชอุ้ม
+สุพรรณี ครูซอ
+สุพรรณี แซ่กี้
+สุพรรณี ธรรมคีรี
+สุพรรณี พรพัฒนนางกูร
+สุพรรณี รุจิภักดิ์
+สุพรรณี สมบุญญานนท์
+สุพรรณี อับดุลลาส์
+สุพรรัตน์ เหลืองชวพงศ์
+สุพล เฉลิมเกียรติกุล
+สุพล น้ำเพชร
+สุพล มงคล
+สุพล สมพงษ์
+สุพล เอื้ออนันต์
+สุพัฒฌา แจงาม
+สุพัฒน์ กิจบารมี
+สุพัฒน์ ตั้งศรีประชิต
+สุพัฒน์ ปาวะพิพัฒน์
+สุพัฒน์ รัตนพนัง
+สุพัฒน์ ศาสตร์สิริสมบัติ
+สุพัฒน์ อิทธิเดชรัตน์
+สุพัตรา กันอริ
+สุพัตรา งามลิขิตวัฒนกุล
+สุพัตรา ชินวีระพันธุ์
+สุพัตรา ตังกรัตน์
+สุพัตรา นันทรัตนากูล
+สุพัตรา ไผ่แก้ว
+สุพัตรา มั่งสุวรรณ
+สุพัตรา เลิศอภิสิทธิ์
+สุพัตรา ศุขะวาที
+สุพัตรา สุตรีเชาวนกุล
+สุพัตรา โหรานิคม
+สุพัตศร รักษ์ชน
+สุพา จันทร์ทิพย์
+สุพิชญา พิบูลภานุวัธน
+สุพิตร หาญณรงค์
+สุพิน แซ่อึ้ง
+สุพิน วราพฤกษ์
+สุพินดา วุฒิชัย
+สุพิศ จันแจ่มจิตต์
+สุพิศ วงศ์ภูมินทร์
+สุพีร์พัฒน์ จองพานิช
+สุภจิรา ด้วงดี
+สุภณัฐ นิลรัตน์
+สุภร โขวิฑูรกิจ
+สุภรณ์ งามเงินวรรณ์
+สุภรณ์ พรงาม
+สุภรณ์ เสือจุ้ย
+สุภลัคณ์ นาคะสันต์
+สุภัข สภาคกุล
+สุภัค หงษ์ฉลาด
+สุภัท นกศิริ
+สุภัทร พินิจเวชการ
+สุภัทรา จงเจริญ
+สุภัทรา บุญชัยยุทธศักดิ์
+สุภัทรา วัฒนเกียรติสรร
+สุภัทร์ จันทร์สุข
+สุภา เกษรสมบัติ
+สุภา ฉลาดสุนทรวาที
+สุภา แซ่ลิ้ม
+สุภา ทรัพย์อวยสุข
+สุภา เปียรอด
+สุภา มุนินทร์นิมิตต์
+สุภา เลิศแสวงกิจ
+สุภา ศิริสิทธิ์
+สุภา สุนทรเกศ
+สุภา อังคณาวิศัลย์
+สุภางค์ เทอดเกียรติกุล
+สุภาณี จ้อยวิลัย
+สุภาณี นาฮิม
+สุภาณี วงศ์วิทูไท
+สุภาณี เอี้ยวตระกูล
+สุภาพ กตัญญู
+สุภาพ คำแผง
+สุภาพ ชุนเจริญ
+สุภาพ โตษจระ
+สุภาพ บุญทริกชาติ
+สุภาพ พวงหิมวันต์
+สุภาพ ยศะสินธุ์
+สุภาพ วันวิเวก
+สุภาพ สายกมล
+สุภาพ อภิโช
+สุภาพร กำหนดแน่
+สุภาพร จงสุขกิจพานิช
+สุภาพร แจ้งสนิท
+สุภาพร แซ่นำ
+สุภาพร ตั้งบรรเจิดวนิช
+สุภาพร เทียนประยูร
+สุภาพร บุญเชิดชัยยันต์
+สุภาพร พัฒนประทีป
+สุภาพร ภู่โสภา
+สุภาพร เรืองศรี
+สุภาพร วรรณก้อน
+สุภาพร ศิริลักษณมานนท์
+สุภาพร สุทวีทรัพย์
+สุภาพร เหลี่ยมมงคล
+สุภาพร อินทนานุช
+สุภาพรรณ ชุ่มสุวรรณ
+สุภาพรรณ สันติสุข
+สุภาภรณ์ กล้าหาญ
+สุภาภรณ์ โคตะพันธ์
+สุภาภรณ์ ฉายวิเชียร
+สุภาภรณ์ แซ่อั้ง
+สุภาภรณ์ ไตรกุล
+สุภาภรณ์ นิศาภากร
+สุภาภรณ์ พัฒนาวณิชย์
+สุภาภรณ์ เย็นฉ่ำ
+สุภาภรณ์ วชิโรภาสกรณ์
+สุภาภรณ์ ศิริโสภณา
+สุภาภรณ์ สุธีราธิกุล
+สุภาภรณ์ อาภาชนาวัฒน์
+สุภารัตน์ จักรพันธุ์
+สุภารัตน์ ศรีวุฒิชาญ
+สุภาวดี ขำน้อย
+สุภาวดี แซ่เฮ้า
+สุภาวดี ปุราธนานนท์
+สุภาวดี รังสิเสนา ณ อยุธยา
+สุภาวดี สิงหะเนติ
+สุภาวดี อุปชีวะ
+สุภาวิณี พิมโสม
+สุภาเพ็ญ หลักหาญ
+สุภิดา โอสถานุเคราะห์
+สุภีพรรณ ดารากร ณ อยุธยา
+สุมณฑา จำปา
+สุมณฑา โรจนาเปรมสุข
+สุมน กำปงซัน
+สุมน มธุวานนท์
+สุมน อัครวรรักษ์
+สุมนทา พงษ์พิบูลย์
+สุมนา ไกรกาญจน์
+สุมนา ปทีปะปาณี
+สุมนา สกุลมงคลนาม
+สุมล โควานิสัยสุขกุล
+สุมล ทองพันชั่ง
+สุมล รุ่งอุดมกิจ
+สุมล อยู่ทอง
+สุมลรัตน์ แต้รัตนมงคล
+สุมาณี กิจบุญชัย
+สุมาภรณ์ อุดมโชค
+สุมาลย์ ยิ้มเป็นสุข
+สุมาลา ธูปเทียนหอม
+สุมาลี กิมชูวาณิช
+สุมาลี คงอาษา
+สุมาลี จันทร์วิทยานุชิต
+สุมาลี แจ่มมี
+สุมาลี ชูสังข์
+สุมาลี แซ่แห่ว
+สุมาลี ตุลาดิลก
+สุมาลี เทศนะโยธิน
+สุมาลี นาคเศรณี
+สุมาลี บุญวรเศรษฐ์
+สุมาลี โปสาภิวัฒน์
+สุมาลี พิทักษ์พินิจนันท์
+สุมาลี ภูมิปรีชา
+สุมาลี ไม้หอม
+สุมาลี เรืองศรี
+สุมาลี วงศ์ข้าหลวง
+สุมาลี วิไลแก้ว
+สุมาลี ศิริบาล
+สุมาลี สิงหพันธุ์
+สุมาลี สู้ชิงชัย
+สุมาลี เหลืองปฐมชัย
+สุมาลี อารีวงค์
+สุมาศ เกิดแก่นแก้ว
+สุมิตร ฉัตรชัยวิวัฒนา
+สุมิตร ปุญญาสวัสดิ์
+สุมิตร ศิริซุ้มสุวรรณ
+สุมิตรา เกียรติเอี่ยม
+สุมิตรา ตีรพัฒนพันธ์
+สุมิตรา ภูวเศรษฐ์
+สุมิตรา สิงหทัต
+สุมินทร์ สุนทรพาณิชย์
+สุรกานต์ ปัญญางาม
+สุรกิจ โลหธิตพิทักษ์
+สุรจิต เตชะบูรณเทพากรณ์
+สุรจิตร นนท์ธนประกิจ
+สุรชัย กังเสถียร
+สุรชัย ขจรเกียรติสุข
+สุรชัย จริยานันทเนตร
+สุรชัย เจนปิยพงศ์
+สุรชัย ชัยเสถียรกิจ
+สุรชัย แซ่คู
+สุรชัย ณ เชียงใหม่
+สุรชัย ตั้งเจริญไพบูลย์
+สุรชัย ทวีลาภ
+สุรชัย ธีราเวทย์นุพงศ์
+สุรชัย บุญพลับ
+สุรชัย ปิยะรัตนโยธิน
+สุรชัย พิพัฒพงศา
+สุรชัย มงคลบูรณะศิริ
+สุรชัย โยธาประเสริฐ
+สุรชัย ฤทัยรุ้ง
+สุรชัย วงศ์จารีกิตติ
+สุรชัย วิจารณ์กัยกิจ
+สุรชัย ศรีเจริญสุขยิ่ง
+สุรชัย สวัสดิ์สรรพ์
+สุรชัย สุจินดามณี
+สุรชัย แสงอรุณศิริ
+สุรชัย อดุลยธรรม
+สุรชัย อาจหาญศิริ
+สุรชา ทองพิลา
+สุรชาติ ตำราเรียง
+สุรชาติ ศศิธนานุรักษ์
+สุรณี ตันติวณิชชานนท์
+สุรทิน อิ้งจะนิล
+สุรปรีช์ โคตรโสภา
+สุรพงศ์ พันธ์วิศวาส
+สุรพงศ์ เอื้อวัฒนามงคล
+สุรพงษ์ จุลมนต์
+สุรพงษ์ ตั้งใจการุณย์
+สุรพงษ์ ปกาสิทธิ์
+สุรพงษ์ ภูประไพ
+สุรพงษ์ วังเอก
+สุรพงษ์ สุพัฒน์ศิลป์
+สุรพงษ์ อึ้งอัมพรวิไล
+สุรพร มณีสินธุ์
+สุรพล กิตติดำรง
+สุรพล คงสกุล
+สุรพล จันเพ็ง
+สุรพล เฉลิมชัยนุกุล
+สุรพล แซ่ผั่ง
+สุรพล ตาปนานนท์
+สุรพล เทศขจร
+สุรพล นิโครพิทักษ์
+สุรพล ปรัศว์เมธีกุล
+สุรพล พรหมนิมิตร
+สุรพล พูลทวี
+สุรพล มาพูนสวัสดิ์วัฒนา
+สุรพล รัตน์พงษ์พร
+สุรพล เล็กประสาร
+สุรพล วิยะดามงคล
+สุรพล ศิริชัยวัฒนา
+สุรพล สังข์สิงห์
+สุรพล สุประดิษฐ์
+สุรพล หัสดิน
+สุรพล อินทรลักษณ์
+สุรพัตร สุทธิธนากร
+สุรพันธ์ เตชนะรุ่งโรจน์
+สุรพันธ์ วรกิตติวณิช
+สุรพี แซ่อึ้ง
+สุรภี ทิมพิทักษ์
+สุรมย์ แซ่เตีย
+สุรวงศ์ ทวีสัตย์
+สุรวิทย์ ศาลาสุข
+สุรวุฒิ เศรษฐบุตร
+สุรศักดิ์ กิ่งไทร
+สุรศักดิ์ คงกิตติกร
+สุรศักดิ์ จันทราทิพย์
+สุรศักดิ์ แจวเจริญ
+สุรศักดิ์ เชาว์วิศิษฐ์
+สุรศักดิ์ แซ่เล้า
+สุรศักดิ์ ตั้งศรีรัตนกุล
+สุรศักดิ์ ทองสมบูรณ์
+สุรศักดิ์ นันทวิโรจน์
+สุรศักดิ์ ประทานวรปัญญา
+สุรศักดิ์ พลับพลี
+สุรศักดิ์ ภู่วุฒิกุล
+สุรศักดิ์ รัชตะวรรณ
+สุรศักดิ์ ลือวิศวกุล
+สุรศักดิ์ วรสุวรรณาทร
+สุรศักดิ์ วีรชายลักษณ์
+สุรศักดิ์ ศิริโชติ
+สุรศักดิ์ สังข์ทอง
+สุรศักดิ์ สุพัฒนาภรณ์
+สุรศักดิ์ หะรังษี
+สุรศักดิ์ อังกาบศรี
+สุรศักดิ์ โอฬารรุ่งเรือง
+สุรสิทธิ์ จันทร์โสภณพงศ์
+สุรสิทธิ์ ปราบณรงค์
+สุรสิทธิ์ ศรีอรทัยกุล
+สุรสิทธิ์ เอี่ยมธนากุล
+สุระ พ่วงลาภหลาย
+สุระชัย มาลีแย้ม
+สุระพล อ่อนฤทธิ์
+สุรัช กองนิมิตร
+สุรัชดา ภูวดลพิทักษ์
+สุรัชวดี หอมยก
+สุรัตน์พร เทียมเมฆ
+สุรัตน์ กันตะศรี
+สุรัตน์ จันทร์โชคพงษ์
+สุรัตน์ เชิดชูมาลัยกิจ
+สุรัตน์ ทองเสม็ด
+สุรัตน์ บุญรักษ์
+สุรัตน์ พุ่มผล
+สุรัตน์ รุ่งแสง
+สุรัตน์ ศรีลาภ
+สุรัตน์ สุขพิศาล
+สุรัตน์ อัครภานุมาศ
+สุรัติ เศรษฐอภิธาน
+สุรัสวดี สีบุญเรือง
+สุรางค์รัตน์ มุสิกไชย
+สุรางค์ จรรยาอังกูร
+สุรางค์ ดุลย์พจน์เทวา
+สุรางค์ โปษยานนท์
+สุรางค์ รักษาราชวิตร
+สุรางค์ สงวนวงศ์
+สุรางค์ โหมานันท์
+สุราษฎร์ เกษตระชนม์
+สุรินทร์ทิพย์ อิสสระชัย
+สุรินทร์ เกิดสุวรรณ์
+สุรินทร์ คำโถมฤทธิ์
+สุรินทร์ จินันทยา
+สุรินทร์ ชัยชะนะมงคล
+สุรินทร์ ญาณเกียรติพงศ์
+สุรินทร์ เติมสายทอง
+สุรินทร์ ธนกิจจำรูญ
+สุรินทร์ บุญลพ
+สุรินทร์ โปรเทียรณ์
+สุรินทร์ พิชัยศรทัต
+สุรินทร์ ภู่ประภาดิลก
+สุรินทร์ ยิ้มเพ็ง
+สุรินทร์ ลักษมีวรานนท์
+สุรินทร์ วรพันธ์พิทักษ์
+สุรินทร์ ศรีวารีรัตน์
+สุรินทร์ สมัครช่วย
+สุรินทร์ สุขมาก
+สุรินทร์ แสงรัตน์
+สุรินทร์ อนังรัสดี
+สุรินทร์ อิ่มสุข
+สุริมาศ แพทยานนท์
+สุริยนต์ เกษรพรหม
+สุริยะ ดวงแก้ว
+สุริยะ โลหะเวช
+สุริยัญ นิลทจันทร์
+สุริยันต์ ชูตะวงษ์
+สุริยา เคล้าจันทร์พงษ์
+สุริยา ทองเต็ม
+สุริยา เพ็ชรปิ่นแก้ว
+สุริยา สละกุล
+สุริย์ คูณผล
+สุรี ตันธน์ศุภกาญจน
+สุรีพร คนเจน
+สุรีพร โพธิ์ศิรินันทชัย
+สุรีพร เอี้ยวถาวร
+สุรีย์พร เงินงามเลิศ
+สุรีย์พร ปรียะพานิช
+สุรีย์พร ศรีสืบ
+สุรีย์รัตน์ คงพิทยาพันธุ์
+สุรีย์รัตน์ อนันตกาลต์
+สุรีย์ กิตติวรวงศ์
+สุรีย์ จันทร์ทรัพย์
+สุรีย์ ชื่นสมถ้วย
+สุรีย์ แซ่โง้ว
+สุรีย์ ทรงเชื้อ
+สุรีย์ นิมิตรกุล
+สุรีย์ เปรมปราโมชย์
+สุรีย์ พุ่มศิริ
+สุรีย์ ไม้สถิตย์
+สุรีย์ ลิ้มสุวรรณ
+สุรีย์ วิเชียรกุล
+สุรีย์ สรสุคนธ์
+สุรีย์ สุวรรณประทีป
+สุรีย์ อมรธีระกุล
+สุรีรัตน์ คณะเจริญ
+สุรีรัตน์ ตันธุวนิตย์
+สุรีรัตน์ ยังสว่าง
+สุรีรัตน์ หาญจงกล
+สุรเกียรติ วิเศษสิทธุ์
+สุรเชษฐ น้านาคินทร์
+สุรเชษฐ์ เจริญชัยถาวรจิต
+สุรเชษฐ์ ยังสุข
+สุรเดช กังสดาล
+สุรเดช ดาร์ซิงห์
+สุรเดช ประสานเกียรติราช
+สุรเดช ไร้กังวล
+สุรเดช สิทธิเจริญ
+สุรเทพ ประเสริฐจิตสรร
+สุรไกร กีรติปาล
+สุลัดดา ช้อนทอง
+สุลี คืนตัก
+สุวคนธ์ ม่วงทอง
+สุวณี จิตต์รัตนธรรม
+สุวณีย์ เชี่ยววัฒนา
+สุวดี เทพรักษ์
+สุวดี อารีสกุลสุข
+สุวนิตย์ เสฏฐสุวจะ
+สุวพร เซ็มเฮง
+สุวพิศ ยงศิลปชัย
+สุวภา เลี่ยมพุธทอง
+สุวรรณ กลิ่นจันทร์หอม
+สุวรรณ ขวัญยืน
+สุวรรณ จันทร์สุรินทร์
+สุวรรณ ช้างชัย
+สุวรรณ ดำเนินทอง
+สุวรรณ ทัมพร
+สุวรรณ บรรดาศักดิ์
+สุวรรณ ปิยะภาณี
+สุวรรณ พุ่มประดับ
+สุวรรณ มีหลักชัย
+สุวรรณ โรจนวิภาต
+สุวรรณ วาสนกมล
+สุวรรณ ศิริวิกุล
+สุวรรณ สุขประเสริฐ
+สุวรรณ หอมจันทร์
+สุวรรณ เอี่ยมรัศมีโชติ
+สุวรรณทิพย์ แซ่เฮง
+สุวรรณา กนิษฐสุต
+สุวรรณา เกษมสุข
+สุวรรณา คุปตานนท์
+สุวรรณา จินดาธเนศ
+สุวรรณา ชยะอลงกรณ์
+สุวรรณา ซึ้งวิริยะกุล
+สุวรรณา แซ่เล้า
+สุวรรณา ตั้งคุรุสรณ์
+สุวรรณา ทองทา
+สุวรรณา นนทสุต
+สุวรรณา บำรุงกิจเจริญ
+สุวรรณา ปัญญาชีวิน
+สุวรรณา พัฒนพงศกร
+สุวรรณา ไพโรจน์กิจจา
+สุวรรณา มูมะหะหมัดซอและ
+สุวรรณา รื่นเริงใจ
+สุวรรณา เลิศวงศ์ชัชวาล
+สุวรรณา วิจิตรประภาพงษ์
+สุวรรณา ศรีศุภวรรณ
+สุวรรณา สว่างพาณิชย์
+สุวรรณา สุขมั่นคงเสมอ
+สุวรรณา แสงธนาพฤกษ์
+สุวรรณา อนันตสิทธิ์สกุล
+สุวรรณา อินทร์อุดม
+สุวรรณี การไทย
+สุวรรณี คำสุข
+สุวรรณี จิวรวิวัฒน์
+สุวรรณี ชุติพรวณิช
+สุวรรณี แซ่ฮั้ง
+สุวรรณี ตั้งวงศ์ศานต์
+สุวรรณี เทพสินธนสกุล
+สุวรรณี บัวจีน
+สุวรรณี เผิง
+สุวรรณี เพ่งรุ่งเรืองวงษ์
+สุวรรณี รักษาพจนากิจ
+สุวรรณี เลิศวิริยะไพศาล
+สุวรรณี วิภากุลพิทักษ์
+สุวรรณี สมุทรรังสี
+สุวรรณี สุมามาลย์
+สุวรรณี อ้นรุ่ง
+สุวรรณี เอื้อสมสกุล
+สุวรรณ์ นาคประดิษฐ์
+สุวรัตน์ บุญยสิทธิ์พิชัย
+สุวรีย์ เลิศอริยานันท์
+สุวลักษณ์ อนันตชัย
+สุวลี เอี่ยมสอาด
+สุวัจน์ สงวนวงศ์
+สุวัชร์ ศุภกาญจน์เดชากุล
+สุวัฒนะ ฟุ้งลัดดา
+สุวัฒนา เพ่งพินิจ
+สุวัฒน์ กวีวุฒิศิลป์
+สุวัฒน์ คงประสิทธิ์สิงห์
+สุวัฒน์ จึงประภา
+สุวัฒน์ โชคอวยพรชัย
+สุวัฒน์ ตันเสถียร
+สุวัฒน์ นะโยสิน
+สุวัฒน์ โปษยะพิสิษฐ์
+สุวัฒน์ โพธิแสง
+สุวัฒน์ รัศมี
+สุวัฒน์ เล็กสุวรรณกุล
+สุวัฒน์ วิภัชนนท์กิจ
+สุวัฒน์ ศุภธนสินเขษม
+สุวัฒน์ สุขสันติ์
+สุวัฒน์ หวังวิชา
+สุวัฒน์ อาวรณ์
+สุวัตร ศรีชญา
+สุวันนี โกคูณ
+สุวานีย์ จินตยังคุณ
+สุวารี รุ่งสิริจรัสทอง
+สุวิช ชูตระกูล
+สุวิช ศิริวัฒนโยธิน
+สุวิชญา เกิดคง
+สุวิชา เกตุแก้ว
+สุวิชาน์ กำลังเสือ
+สุวิทย์ กองกันภัย
+สุวิทย์ ไกวัลโกศล
+สุวิทย์ จันทรงาม
+สุวิทย์ จุติประเสริฐ
+สุวิทย์ ชาญทวีคุณ
+สุวิทย์ แซ่เฮง
+สุวิทย์ ตันประวัติ
+สุวิทย์ ทองผาสุข
+สุวิทย์ นฤเบศร์ไกรสีห์
+สุวิทย์ บุญรักษา
+สุวิทย์ โปษยะพิสิษฐ์
+สุวิทย์ พิทักษ์เลิศกุล
+สุวิทย์ ภู่ไพจิตรกุล
+สุวิทย์ รัตนเจริญ
+สุวิทย์ เลาหะกุลธรรม
+สุวิทย์ วัชรเสถียร
+สุวิทย์ เวทย์วราวุธ
+สุวิทย์ เศรษฐีชัยชนะ
+สุวิทย์ สิมะสกุล
+สุวิทย์ เสรีโรจนา
+สุวิทย์ อมฤตกุล
+สุวิทย์ เอกวัฒน์
+สุวิน เลาหประสิทธิ์
+สุวิภรณ์ แย้มทับ
+สุวิมล ก้องกังวาฬโชค
+สุวิมล จันทร์เจริญ
+สุวิมล ชินะวรพงศ์
+สุวิมล ดิลกานนท์
+สุวิมล ธรรมมโนวานิช
+สุวิมล ปิติเจริญโชคลาภ
+สุวิมล ภววรพันธุ์
+สุวิมล ฤทธิโนมัย
+สุวิมล วิบูลย์เลิศวัฒนะ
+สุวิมล สันติทานนท์
+สุวิมล อดุลย์ฐานานุศักดิ์
+สุวิรัตน์ เจนวสุ
+สุวิไล เต็มธารทิพย์
+สุวโรช พะลัง
+สุหาญ สุนทรพาณิชย์
+สุเจตน์ อภัยวงศ์
+สุเชษฐ์ นิลสุวรรณากุล
+สุเทพ กลิ่นถือศีล
+สุเทพ แก้วนิมิตชัย
+สุเทพ โค้วเจริญ
+สุเทพ จีนเจนพจน์
+สุเทพ ชัยสกุล
+สุเทพ แซ่อึ้ง
+สุเทพ ตันวินิจ
+สุเทพ ทับทิมแสง
+สุเทพ ธุวะเศรษฐกุล
+สุเทพ บุญทรัพย์
+สุเทพ ปั้นนิ่ม
+สุเทพ พรอำนวย
+สุเทพ พุ่มท้วม
+สุเทพ มณีเสาวภาคย์
+สุเทพ รวยดี
+สุเทพ ลิ้มตระกูล
+สุเทพ วรยศ
+สุเทพ ศรีนิยม
+สุเทพ สมานมิตร
+สุเทพ สุขบำรุง
+สุเทพ สุวิชาชนันทร์
+สุเทพ เหมือนดวง
+สุเทพ อ่ำสุข
+สุเธียร นิรันดรเกียรติ
+สุเนตรา จิตเบญจกูล
+สุเพ็ญ จรรยานุภาพ
+สุเพียร วงค์ปันง้าว
+สุเมธ กางไธสง
+สุเมธ จันทวงศ์
+สุเมธ ไชยแก้ว
+สุเมธ ทวีทรัพย์
+สุเมธ เปลี่ยนกลิ่น
+สุเมธ มโหสถ
+สุเมธ วงศ์สุขหฤทัย
+สุเมธ ศุภพาณิชวงศ์
+สุเมธ แสงทรัพย์
+สุเมธ อิสริยอำไพ
+สุเมศร์ สุขุมภาณุเมศร์
+สุเวทย์ งูพิมาย
+สุโข ปัญจวีณิน
+สุโภชน์ ตันติวงศ์
+สุใบด๊ะ สุขเจริญ
+สุไลมาน นะมิ
+สเก็ดดาว ซื่อวัฒนะ
+สไบทิพย์ ศิริวงศ์
+เสกสรร นิ่มพิจารณ์
+เสกสรร อุทิศานนท์
+เสกสรรค์ ป้องกันภัย
+เสกสรรค์ อยู่เป็นสุข
+เสงี่ยม เก่งชน
+เสงี่ยม แซ่ชิง
+เสงี่ยม บุตรชะม้อย
+เสงี่ยม มีสันฐาน
+เสงี่ยม สมบัติถาวรวงศ์
+เสงี่ยม เอกฉัตร
+เสถียร คามีศักดิ์
+เสถียร ดลบันดาลโชค
+เสถียร บัวคลี่
+เสถียร ภาสะพันธ์
+เสถียร วงศ์เจริญเกียรติ
+เสถียร ส่อสุหัท
+เสถียร เหลืองอร่าม
+เสนอ แจ้งชัดใจ
+เสนอ มูลศาสตร์
+เสนาะ กันโรคา
+เสนาะ ตุ่นไวย์
+เสนาะ ประดับลาย
+เสนาะ ยิ้มเจริญ
+เสนาะ สังข์ทองดี
+เสนาะ เอมวะดี
+เสนีย์ ธรรมาจักร์กุล
+เสนีย์ อนุสรศักดิ์
+เสน่ห์ ความดี
+เสน่ห์ เชี่ยวธนวัฒน์
+เสน่ห์ นาห้วยทราย
+เสน่ห์ พันธ์จีน
+เสน่ห์ เมฆเฉลิม
+เสน่ห์ ศรีวัฒน์
+เสน่ห์ โสรินทร์
+เสมอ เกียรติไกร
+เสมอ มิตรวิจารณ์
+เสมอพร ชุณหชัชวาล
+เสมา ธิรามนตร์
+เสมือน เชื้อมอญ
+เสริม เกษทอง
+เสริม เนียมนพเนตร
+เสริม มูลทองย้อย
+เสริม หรูสกุล
+เสริมทรัพย์ บุญชู
+เสริมศรี กาญจนาภรณ์กุล
+เสริมศรี ศรีแก้ว
+เสริมศักดิ์ เดชบุญ
+เสริมศักดิ์ ลัคนาจันทโชติ
+เสริมศักดิ์ เอกวัฒน์
+เสริมสุข โชติช่วงฉัตรชัย
+เสริมสุข อยู่ยงสิน
+เสรี เกียรติบรรลือ
+เสรี เจียรแสงทอง
+เสรี เดชกล้า
+เสรี ธานี
+เสรี ปฏิปทานนท์
+เสรี พัวศิริ
+เสรี ยุวรี
+เสรี วงศ์ภัทรชน
+เสรี ศิริธร
+เสรี สุธาชี
+เสรี อริยโสภารักษ์
+เสวก ขะมันจา
+เสวก พันธ์หนอย
+เสวก แสงเขียว
+เสวย เรืองโชติ
+เสวียง อิศรางกูร ณ อยุธยา
+เสาร์แก้ว ใจกว้าง
+เสาวคนธ์ วิสิอติ
+เสาวณี ครอบครอง
+เสาวณี ภักดี
+เสาวณี เอี่ยมวงศ์นุกูล
+เสาวณีย์ ชูเชิด
+เสาวณีย์ ผลิตกุศลธัช
+เสาวณีย์ วิจิตรตระการรุ่ง
+เสาวณีย์ อรุณแฉ่ง
+เสาวนิต ไอน้ำทิพย์
+เสาวนี ศรีเพ็ชรดานนท์
+เสาวนีย์ ชั้นประเสริฐ
+เสาวนีย์ บุรินทรามาตย์
+เสาวนีย์ ลียากาศ
+เสาวนีย์ แสงแก้ว
+เสาวภา ช่วยชูวงศ์
+เสาวภา ศรีรัตนโพธิ์
+เสาวภาคย์ อนันต์ชื่นสุข
+เสาวรส ศรีพนม
+เสาวรีย์ ตะโพนทอง
+เสาวลักษณ์ จิรพงศานานุรักษ์
+เสาวลักษณ์ ฐานะอุดมมงคล
+เสาวลักษณ์ นารถบุญ
+เสาวลักษณ์ พิชิตลำเค็ญ
+เสาวลักษณ์ ลิขิตวัฒนพร
+เสาวลักษณ์ สกุลรัตน์
+เสาวลักษณ์ หลิ่มสาโรช
+เสาวลี ติกขปัญญกุล
+เสียดฟ้า ชวนจิตต์
+เส็ง ชื่นสุข
+เส่ย รัตนวัฒนาธร
+แสง ประยูรหงษ์
+แสง สุระเรืองชัย
+แสงจันทร์ เจริญสุข
+แสงจันทร์ ผกามาศ
+แสงจันทร์ สัชชะเดช
+แสงชัย ฉัตรชัยสุชา
+แสงชัย นวรัตน์ดุสิต
+แสงชัย ศรีรุ่งเรืองภรณ์
+แสงดาว ทองแพ
+แสงทอง ทินนิกร
+แสงธรรม ฟุ้งไพศาลพงศ์
+แสงมา เดชมนต์
+แสงรัตน์ อุดมชัยบรรเจิด
+แสงสุรีย์ วงศ์สุวรรณนิธิ
+แสงอรุณ บุญชู
+แสงอ่อน คำลือ
+แสงเดือน ทิพมนต์
+แสงเดือน สุววรรธน์
+แสงเพ็ญ ลีธนศักดิ์สกุล
+แสดง ตันตยากร
+แสนพล รัศมี
+แสวง กันรัมย์
+แสวง จันทร์อุดม
+แสวง ดำรัสมงคลสิริ
+แสวง บุญงอก
+แสวง พลาณิชย์
+แสวง เย็นใจประเสริฐ
+แสวง ศิริประภาษมงคล
+แสวง หมัดนุรักษ์
+โสดา รัญดร
+โสพล สุขเจริญ
+โสพิศ ภูสนาคม
+โสภณ กู๋เจริญ
+โสภณ จันทร์กลิ่น
+โสภณ ชาลีพรหม
+โสภณ เดชเทวพร
+โสภณ ทับบรรจง
+โสภณ บุญช่วย
+โสภณ พงษ์เภตรารัตน์
+โสภณ ภุมราพันธุ์
+โสภณ รัตนเลิศ
+โสภณ ว่องวงศ์ศรี
+โสภณ ศิวิลัย
+โสภณ สุญาณเศรษฐกร
+โสภณ เหมือนสมัย
+โสภณพัฒนาภรณ์ พระครู
+โสภา เกียรติสังวรณ์
+โสภา เจริญสุขจิระ
+โสภา เตียวพิพัฒน์
+โสภา บุญเรือง
+โสภา เพ็ชรคูเวียง
+โสภา ลิมานนท์วราไชย
+โสภา สวัสดิ์ทัติ
+โสภา โหตระกิตย์
+โสภาพร อาหินันโท
+โสภาศ โสวัฒนางกูร
+โสภิดา แท้เที่ยงธรรม
+โสภิต ลิ้มอำนวย
+โสภิษฐ ผลคำสุข
+โสภี อนุจารีรัตน์
+โสมพิชฌา วรรณกูล
+โสรยา บุญยวิตร์
+โสรัตน์ จอง
+โสฬส ม่วงนุ่ม
+ไส ยิ้มเนียม
+ไสว แขดวง
+ไสว เฉ่งทอง
+ไสว โตวงษ์
+ไสว บุญทิม
+ไสว พึ่งแก้ว
+ไสว ราชวงศ์
+ไสว ศรีแสง
+ไสว สุดปาน
+ไสว อำไพพร
+หง อิสระวรวาณิช
+หงษ์ โกวินธนาพัฒน์
+หงษ์ เผ่าโภคสถิตย์
+หงิ่งล้วง แซ่เซียว
+หทัย เผือกลาดพร้าว
+หทัยชนก แสงพรมทิพย์
+หทัยรัตน์ คุ่ยต่วน
+หทัยรัตน์ พัฒน์คุ้ม
+หทัยรุ่ง ตั้งจิตพิทักษ์กุล
+หนำ ปิยัสสพันธุ์
+หนึ่งหทัย เนติลักษณวิจารณ์
+หนู รุ่งเจริญรอด
+หนูน้อย ฮอกิ้นส์
+หนูวรรณ์ วรรัตน์
+หนูเล็ก แสงทอง
+หม่วย ธรรมบุตร
+หมัด หมัดฮารุณ
+หมุด สุขภิญโญ
+หมุยเตียง แซ่โอ๊ว
+หยกศิริ ประชุมโชติ
+หยวก ล้ำเลิศ
+หยาดดวง เวณุจันทร์
+หยี่ เอี่ยมกลิ่น
+หรรษ์ศักดิ์ พันธ์งาม
+หรรษา มะโรหะบุตร์
+หรั่ง สุทธิสุวรรณ
+หฤทัย เจียมใจสว่างฤกษ์
+หลง สิงห์รุ่งเรือง
+หล่องง้อ แซ่เซียว
+หลาด นิลศิริ
+หลิน ศรีวงจันทร์
+หลี ปลอดภัย
+หลีเอง แซ่ฉั่ว
+หวล เทียมอัมพร
+หวัง ฤกษ์รัชนีกร
+หวั่น จุลมุน
+หวานใจ คล้ายศรี
+หอม เทียมเจริญ
+หอมหวล ปัตนี
+หัด โคตะมะ
+หัทยา พานิชกุล
+หัสตชัย แสงเสริฐเศรษฐ์
+หาญ ซื่อตรง
+หาญ อั๋นวงศ์
+ห่างคุง แซ่ลิ้ม
+หิรัญ บุนนาค
+หิรัญญิการ์ อรัญญิก
+หุ้ยไน้ แซ่ตั้ง
+เหมพรรณ จานศิลา
+เหมือน สีเหล็ก
+เหรียญ ชีวานันท์
+เหรียญ สง่าเนตร
+เหรียญเงิน ทัศนวิรุฬห์
+เหลี่ยม นานอก
+เหล็กฮู้ แซ่เล็ก
+เห็ม ลำเหลือ
+แหลมทอง อภิมหาบุณย์
+โหล่เหมย แซ่เฉิน
+ใหม่ แซ่ซิ้ม
+ไหล่ฮก แซ่จึง
+องค์อร เลอลภ
+องอาจ จึงประภา
+องอาจ โตประดิษฐ์
+องอาจ พจน์ทวีเกียรติ
+องอาจ โรจน์ตรงจิตต์
+องอาจ สุจิรชาโต
+องุ่น โกฏิตระกูล
+องุ่น พรหมมายน
+องุ่น โหงวเจริญ
+อณิวัฒน์ เหลืองมีชัย
+อดินันท์ มงคลรัตน์นากร
+อดิศร ชาติกำแหง
+อดิศร เพ็ชรถนอม
+อดิศร สุริยวรวงศ์
+อดิศักดิ์ กุลศิริวุฒิชัย
+อดิศักดิ์ โฉมแก้ว
+อดิศักดิ์ ทองแท่ง
+อดิศักดิ์ พวงเพ็ชร์
+อดิศักดิ์ โรหิตะศุน
+อดิศักดิ์ ศักดิ์นำส่ง
+อดิศักดิ์ หละทิ้ง
+อดิศัย ธนวิบูลย์
+อดิสัย วิมลสัจจารักษ์
+อดิเรก บุญเอี่ยม
+อดุล จันทรสุริยศักดิ์
+อดุลย์ศักดิ์ ตีระจินดา
+อดุลย์ จารุรัตน์
+อดุลย์ เตียสกุล
+อดุลย์ ผาติหัตถกร
+อดุลย์ รัตนทัศนีย์
+อดุลย์ สกุลพาณิชย์
+อดุลย์ อินเสนี
+อตินุช รังสิยานนท์
+อติเรก ณ ถลาง
+อธิคม ศุภดิลกชัย
+อธิปัตย์ คลี่สุนทร
+อธิวัฒน์ อรรถปวัตน์
+อนงค์นาฎ เตชะวสัญญู
+อนงค์นุช กองจินดา
+อนงค์ลักษณ์ มาลากอง
+อนงค์ แก้วกิตติคุณ
+อนงค์ จันทรศุภแสง
+อนงค์ ชาตบุตร
+อนงค์ แซ่เบ๊
+อนงค์ ทวีสุข
+อนงค์ นามศรีคุณ
+อนงค์ ประพัตร์กุล
+อนงค์ พัลลภรักษา
+อนงค์ ภู่เจริญ
+อนงค์ รุ่งเรือง
+อนงค์ วิเวโก
+อนงค์ สมานสิน
+อนงค์ สุภาพพร้อม
+อนงค์ อ่วมสุข
+อนงลักษณ์ โรจนบุรานนท์
+อนวัช ฐิติภากร
+อนัญญา วีระฐานะ
+อนันต์ชัย ขันโท
+อนันต์ศักดิ์ เพียรจิตเลิศขจร
+อนันต์ กำปั่นทอง
+อนันต์ ขยัน
+อนันต์ งามยิ่งสง่า
+อนันต์ จิตต์รักไทย
+อนันต์ แจ้งกลีบ
+อนันต์ ชุ่มกรานต์
+อนันต์ แซ่เหีย
+อนันต์ ตรีพจนีย์
+อนันต์ ไตรสารศรี
+อนันต์ ธนะศิรินาวิน
+อนันต์ นิติเจริญพงศ์
+อนันต์ บุญศรีสุข
+อนันต์ ปลื้มมณี
+อนันต์ พงษ์สมบัติ
+อนันต์ พึ่งทรัพย์
+อนันต์ ภู่ศรีวราวงศ์กูล
+อนันต์ เมฆลอย
+อนันต์ รัชเวทย์
+อนันต์ ลิ้นจี่
+อนันต์ วงศ์สกุล
+อนันต์ วิริรัตน์
+อนันต์ ศรีเพียร
+อนันต์ สวัสดิ์พาณิชย์
+อนันต์ สุขน้อย
+อนันต์ สูจิฆระ
+อนันต์ เหมือนแม้น
+อนันต์ อัศวกุล
+อนันต์ เอกนิยม
+อนัส ศิลสมบูรณ์
+อนิรุทธ์ คงเปรม
+อนิษฎา ศรีสันติแสง
+อนุ วัฒธัญญกรรม
+อนุกูล ชาติอุดมเดช
+อนุกูล ศิริศักดิ์ไพบูลย์
+อนุชรักษ์ มหาอัมพรพฤกษ์
+อนุชา จารุหิรัญสกุล
+อนุชา ธำรงรัตน์
+อนุชา มุกดาสนิท
+อนุชา สิริสินวิบูลย์
+อนุชาติ คชศิลา
+อนุชิต การนอก
+อนุชิต ทองอั้น
+อนุชิต เร่งพุฒิพงษ์
+อนุชิต อินธิรักษ์
+อนุธิดา แพลงกระโทก
+อนุพงษ์ จังนภาพร
+อนุพนธ์ ยศภรณ์
+อนุพันธ์ สุวรรณ์
+อนุรักษ์ คันธรักษ์
+อนุรักษ์ นาดสาร
+อนุรักษ์ ลีลาปิยมิตร
+อนุรักษ์ เอื้องอุดม
+อนุรัตน์ หมัดสะและ
+อนุวรรตน์ กลเซ็มมูซอ
+อนุวัฒน์ นาคศรีสุข
+อนุวัฒน์ สถิรวิกรานต์
+อนุวัตน์ อังศุภากร
+อนุวัตร อาจวาทิน
+อนุศักดิ์ จงจามรีสีทอง
+อนุศักดิ์ มีสมวิทย์
+อนุศิษฎ์ เทพสินธพสกุล
+อนุสรณ์ คิวเกษมสวัสดิ์
+อนุสรณ์ ถ้ำสุวรรณ
+อนุสรณ์ พงษ์โชติ
+อนุสรณ์ ลิมปิวัฒน์
+อนุสรณ์ สุนทรา
+อนุสรา สุขชาติ
+อนุเทพ บุญเปี่ยมศักดิ์
+อบมาลี ภิญโญวานิชกะ
+อภัย ธรฤทธิ์
+อภิชญา นพมาศ
+อภิชัย จิรัฐติยางกูร
+อภิชัย ทรงศิลป์
+อภิชัย มหารุ่งเรืองรัตน์
+อภิชัย ศรีไชยยันต์
+อภิชัย อัศวโรจน์พานิช
+อภิชาต แพรสีเจริญ
+อภิชาติ กีรติอาภากุล
+อภิชาติ จันทโรบล
+อภิชาติ เชิดชัยภูมิ
+อภิชาติ ตั้งคารวคุณ
+อภิชาติ ธีรสุนทรวัฒน์
+อภิชาติ โปรณานันท์
+อภิชาติ มณีโรจน์ฉาย
+อภิชาติ เลิศปิยะนันทกูร
+อภิชาติ ศิริมาตย์
+อภิชาติ สุวรรณกุล
+อภิชาติ อัศวพิชญ์โชติ
+อภิชิต ฤทธิบูรณ์
+อภิญญา ฉัตรโอฬารกุล
+อภิญญา บุญจำรัส
+อภิญญา เลิศวัฒนนนท์
+อภิญญา อยู่คำ
+อภินพ เกิดพิบูลย์
+อภินันท์ ณ นคร
+อภินันท์ รักตประจิต
+อภิบาล วรรังสฤษฏิ์
+อภิยุตต์ ศิริกุล
+อภิรดี โพธิยันต์
+อภิรมย์ ดิษฐี
+อภิรักษ์ ชีวเสถียรพร
+อภิรักษ์ ศิริทรัพยากร
+อภิรัฐ อิทธิวิกุล
+อภิรัตน์ สุขศรี
+อภิวรรณ สวัสดี
+อภิวัฒน์ บุรีสิริรัตน์
+อภิวัตน์ พิณทอง
+อภิศักดิ์ ซิ้มประเสริฐ
+อภิศักดิ์ สรวิสูตร
+อภิสิทธิ์ จันทรวงศ์
+อภิสิทธิ์ พรเจริญ
+อภิสิทธิ์ สายะวิบูลย์
+อภิเชษฐ์ ช่องดารากุล
+อภิโรจน์ ปิ่นเสถียรเกส
+อมร จะเชือนรัมย์
+อมร ดิเรกบุษราคัม
+อมร บางเจริญพรพงศ์
+อมร พิสุทธิรัตนพันธุ์
+อมร เรืองมานะมงคล
+อมร ศิริอาชาวัฒนา
+อมร หมัดขาว
+อมร เอี่ยมสำอางค์
+อมรพรรณ บุรีสิริรัตน์
+อมรรัตน์ กาญจนวิจิตรเลิศ
+อมรรัตน์ จุฑามาชาติ
+อมรรัตน์ ดุสิต
+อมรรัตน์ นิยมราษฎร์
+อมรรัตน์ พูนตระกูลเกียรติ
+อมรรัตน์ รุ่งโรจน์สกุล
+อมรรัตน์ วินิจฉายะจินดา
+อมรรัตน์ สีเง้อ
+อมรรัตน์ อังสุทธิ
+อมรวิทย์ เอกแสงศรี
+อมรศักดิ์ วงศ์พัฒนาสิน
+อมรา คุ้มแก้ว
+อมรา นิ่มราศรี
+อมรา รัตตากร
+อมรา หงษ์พร้อมญาติ
+อมราวดี อังคสุวรรณ
+อมรเทพ พ่วงโกศล
+อมันยิต ซิงห์
+อยุธ นันทาภิวัธน์
+อร แซ่โง้ว
+อรฉัฐ ช่างทำ
+อรชร โพธิสุข
+อรชุดา พรมบุตร
+อรณี กิติอาภา
+อรณี หลอดเงิน
+อรทัย กฤษณยรรยง
+อรทัย จีรวรรณวงศ์
+อรทัย ดุษฏีทวีพันธุ์
+อรทัย บุญฉิม
+อรทัย ภักดีวิจิตร
+อรทัย เลิศประสพสุข
+อรทัย สยุมพร
+อรทัย อนุพันธ์วีระพงษ์
+อรธิดา บุญสม
+อรนุช ก้องสินธุ
+อรนุช ชนะพันธ์
+อรนุช ถนัดกิจ
+อรนุช พาณิชย์จินดา
+อรนุช วรรณวิจิตร
+อรนุช หังสะไวศยะ
+อรพร บัวประดิษฐ์
+อรพรรณ ฉันวิไลกิจ
+อรพรรณ ปฏิพัทธ์ปัญญากุล
+อรพรรณ วิเศษมงคลชัย
+อรพรรณ อินทรสุริยเดช
+อรพิณ เกตุปัญญา
+อรพิน จันทรสุข
+อรพิน ตันติวิรุฬห์
+อรพิน พรประกาสิต
+อรพิน ว่องวิชชุเวทย์
+อรพิน อนันตรกิตติ
+อรพินทร์ อภินันท์จารุพงศ์
+อรพินท์ แซ่เจี่ย
+อรพินท์ พงศ์วรามิตรชัย
+อรพินท์ วงศ์วิสุทธิรัตน์
+อรพินท์ อนันตบุตร
+อรพินธ์ ธิดารัตน์สกุล
+อรมณี ภาณุพันธ์
+อรรคเดช เลื่อมแสง
+อรรณพ เคียงศิริ
+อรรณพ บุญพิรุณรักษา
+อรรณพ วิจิตรตระการกุล
+อรรณพ อึ้งวิฑูรสถิตย์
+อรรถกมลยบุตยานวัตร หลวง
+อรรถชัย ฤกษบุตร
+อรรถพร โชคชัยเจริญศรี
+อรรถพล กฤษดาธิการ
+อรรถพล ยินบัว
+อรรถพล เฮงบุณยพันธ์
+อรรถวุฒิ รัตนานันท์
+อรรถอุดม พลาศรัย
+อรลักษณ์ ปิ่นนิกร
+อรวรรณ แก่นทอง
+อรวรรณ จันทร์เที่ยง
+อรวรรณ ชฎาชัยวิวัฒน์
+อรวรรณ แซ่เจ่า
+อรวรรณ เต็มสุวรรณพานิช
+อรวรรณ ธีระวิทยเลิศ
+อรวรรณ ปฐมวาณิชย์
+อรวรรณ พงษ์วร
+อรวรรณ ภวพงศ์สุภัทร
+อรวรรณ รอดพันธ์
+อรวรรณ เลิศสาธิต
+อรวรรณ วิทยาเวช
+อรวรรณ ศิริสุขสมบูรณ์
+อรวรรณ สินลอยมา
+อรวรรณ แสงรัตนชัยกุล
+อรวรรณ อรุณรุ่งโรจน์
+อรวรรณ์ มุ่งหน้าที่
+อรศรี นิยมวัน
+อรษา ทรงสมรรถภาพ
+อรสา ขัตติยพรพงศ์
+อรสา ตันไพจิตร
+อรสา พลอยพานิชเจริญ
+อรสา วนรักษ์
+อรสา หงษ์ทอง
+อรอณี เวชพงศา
+อรอนงค์ ตั้งสวัสดิรัตน์
+อรอนงค์ เพริดพริ้ง
+อรอนงค์ ศรีมูล
+อรอนงค์ เอี่ยมฤกษ์ชัย
+อรอุมา นันทุรัตน์
+อรอุษา อาษานอก
+อรัญ เผือกทอง
+อรัญ สุนิพล
+อรัญญา จันทร์สุริวงศ์
+อรัญญา ธนานันท์
+อรัญญา มานะแก้ว
+อรัญญา สาธุ
+อรัณ ศรีอวยชัย
+อร่าม เทพานนท์
+อร่าม วงศ์ถิรวรรธน์
+อร่ามศรี มงคลศิริ
+อรินา ศิริวงศ์
+อริยา วิทยศรีเจริญ
+อริสา เกษมกิจสุวรรณ
+อรุณ เกียรติปัญญา
+อรุณ จังทองศิริ
+อรุณ ชมเชยวงศ์
+อรุณ ดำรงผล
+อรุณ ทองนอก
+อรุณ นิมมานนท์
+อรุณ ปรีดา
+อรุณ พุกพัก
+อรุณ มาฮาบูบ
+อรุณ เรืองยุทธปกรณ์
+อรุณ วันรักษ์
+อรุณ ศึกษาพรต
+อรุณ สุขสบาย
+อรุณ หาญชนะ
+อรุณ อุดมสุข
+อรุณประศาสตร์ เปล่งแสงศรี
+อรุณรัตน์ ทับเล
+อรุณรัตน์ เอี่ยมเจริญยิ่ง
+อรุณวรรณ กีรติพลกุล
+อรุณศรี เกษมพงษ์
+อรุณศรี นุ่มหอม
+อรุณศรี ศิริพรเทพ
+อรุณา บาก้า
+อรุณี คงเรืองฤทธิ์
+อรุณี เจริญผล
+อรุณี ไชยกล
+อรุณี แตงฉ่ำ
+อรุณี นาคประสิทธิ์
+อรุณี ปิ่นบัณฑิต
+อรุณี พีรากรเดช
+อรุณี รักษานาเวศ
+อรุณี โลหาชีวะ
+อรุณี ศรีภา
+อรุณี สิงห์คำ
+อรุณี หมู่ขจรพันธ์
+อรุณี อุดมปราละ
+อรุสรา ชาญสว่าง
+อรไท วุฒิเดชเกรียงไกร
+อลงกรณ์ เดชคง
+อลิตา ดิศรภักดี
+อลิสา ทีโส
+อวบ ประโมจนีย์
+อวยชัย ปิยะคุณ
+อวยพร แก้วมณี
+อวยพร มงคลกล้า
+อวล นิตยสุทธิ์
+อสุนีย์ ทรัพย์ศรีศุภชัย
+ออมสิน สิงห์เทียน
+อ่อนตา สัทธารังสี
+อ้อ โพธา
+อ้อมใจ เพิ่มพิกุล
+อ้อยทิพย์ แซ่อั้ง
+อ้อยใจ บุญยัง
+อัก ชุ่มชื่น
+อักษรักส์ โตกฤษณะ
+อัครนาฏ กิตติแสงธรรม
+อัครพัฒน์ แซ่โค้ว
+อัครเชษฐ์ คงเจริญ
+อัครเดช อารีย์สกุล
+อังกูร ปาลีวงศ์
+อังคณา คำสุนทร
+อังคณา โชติขจรเกียรติ
+อังคณา ทองประเสริฐ
+อังคณา เปี่ยมสุขวัฒน์
+อังคณา เมธยาภา
+อังคณา วาณิชวิเศษกุล
+อังคณา สุขสิทธิ์
+อังคณา อินทรโกเศศ
+อังคาร วัชรบูรพาชัย
+อังสนา คชรักษ์
+อังสนา เลิศผกากุล
+อังเดร จูเนียร์
+อัจจณา ดิถีสวัสดิ์
+อัจฉรา กลิ่นหอม
+อัจฉรา เขมสิริโชค
+อัจฉรา จิตรนุวัฒน์กุล
+อัจฉรา ชื่นสุวรรณ
+อัจฉรา ดิษฐอินทร์
+อัจฉรา ทองมี
+อัจฉรา นิลสวัสดิ์
+อัจฉรา ปลื้มอุทร
+อัจฉรา พิชญ์เลิศชาญ
+อัจฉรา มาศพันธุ์
+อัจฉรา ลวชลาคม
+อัจฉรา วัชรกุล
+อัจฉรา ศรีเล็กดี
+อัจฉรา สารพิมพา
+อัจฉรา สุวิทยาพรสกุล
+อัจฉรา อดิศักดิ์กิตติ
+อัจฉรา เอกจำนงค์
+อัจฉราพันธ์ คัพทะนาวิน
+อัจฉราวรรณ เภตรารัตน์
+อัจฉริยา เสริมทอง
+อัจฉรีย์ อมรเลิศวิมาน
+อัชฌา ตั้งติปกรณ์
+อัชนา ลาภหลาย
+อัชราภรณ์ สุขเกษม
+อัญชฎา เอี่ยมประดิษฐ์ภัณ
+อัญชนา เปล่งจินดาเรือง
+อัญชนี พงศ์ธีรภาพ
+อัญชลี กานดา
+อัญชลี คงกัลป์
+อัญชลี จั่วแจ่มใส
+อัญชลี ชมรส
+อัญชลี แซ่ตั้ง
+อัญชลี ตันติมิตร
+อัญชลี ธนะประ
+อัญชลี บัวทอง
+อัญชลี ปิยะสาธุกิจ
+อัญชลี พินทุพีรโกวิท
+อัญชลี มงคลเจริญ
+อัญชลี รุ่งรัตนาอุบล
+อัญชลี วงศ์ทิม
+อัญชลี วิโรจน์ธนะชัย
+อัญชลี ศุภวรรณ
+อัญชลี สุขุมวานิชกุล
+อัญชลี หล่อนพเก้า
+อัญชลี อินทร์ทอง
+อัญชัญ คำตา
+อัญชัน วุฒิพฤกษ์
+อัญชุลี สุโภทัย
+อัญญาต์ ไพจิตรานนท์
+อัญเชิญ จันทรุเบกษา
+อัฐพล ไชยรักษ์
+อัตถพร ลับไพรี
+อัธยา บุญญะดิษฐ์
+อั่น แซ่จิว
+อับดุลเลาะ สุขถาวร
+อัปสร นิทัศนจารุกุล
+อัมพร กมลบริสุทธิ์
+อัมพร แก่นกระจ่าง
+อัมพร จตุรวัฒนา
+อัมพร เจนอนันต์พร
+อัมพร ชื่นใจ
+อัมพร แซ่โค้ว
+อัมพร ตุณสุวรรณ
+อัมพร ธนสุวรรณเกษม
+อัมพร บรรดาศักดิ์
+อัมพร ปรางค์รัตน์
+อัมพร พรมตัน
+อัมพร พุลเล็ก
+อัมพร มาบจะบก
+อัมพร รุ่งเสรีรัตน์
+อัมพร วงศ์เลิศฟ้า
+อัมพร วิโนทัย
+อัมพร ศิริเวชพันธุ์
+อัมพร สาระพงษ์
+อัมพร สูงสว่าง
+อัมพร อมรกุลาจารย์
+อัมพร อุ่นเสียม
+อัมพริศ เสือวรรณศรี
+อัมพวัน พลอยเพชรมณี
+อัมพา ไข่มุก
+อัมพิกา แซ่อึ้ง
+อัมภา จิรเจิดนภา
+อัมรา คุณเชียร
+อัมรินทร์ นาราช
+อัลดุลเลาะ แดงโกเมน
+อัศนีย์ บุญศิริคำชัย
+อัศวิน แจ้งกระจ่าง
+อัศวิน ศรีสวัสดิ์
+อัษฎางค์ ฐานะวร
+อัสดางค์ ปิ่นสุวรรณ์
+อัสอารี กัสตาวี
+อาคม คร้ามศรี
+อาคม นิตยากรณ์
+อาคม เฟื่องฟุ้ง
+อาคม ศานติสรร
+อาคม อัตถะสัมบุณณะ
+อาจ วสุขันธ์
+อาจารี หอมเศรษฐี
+อาจินต์ เสี่ยงโชคอยู่
+อาชีวะ มงคลสกุลฤทธิ์
+อาณัติ พันธุวดี
+อาดูลย์ ยันตรพินิจ
+อาทร แชประเสริฐ
+อาทร รามโกมุท
+อาทรทิพย์ พวงมณี
+อาทิตย์ ใจบุญ
+อาทิตย์ มานสัจจธรรม
+อาทิตย์ อวศิริพงษ์
+อานนท์ จีรดิษฐ์
+อานนท์ เพ็ชรน้อย
+อานนท์ สระทองแพ
+อานันต์ อิฐสุวรรณ
+อานีตา จาวาลา
+อานุภาพ สุนอนันต์
+อาพร แซ่ลี้
+อาภรณ์ กุลวัฒโท
+อาภรณ์ ใจทัศน์กุล
+อาภรณ์ ตั้งศิริเสถียร
+อาภรณ์ นิโรจน์
+อาภรณ์ พานทอง
+อาภรณ์ รัตนะคุปต์
+อาภรณ์ ศิลอุดม
+อาภรณ์ สโรชวิกสิต
+อาภัทรา ธรรมเจริญ
+อาภา โฉมศรี
+อาภา ศรีงามผ่อง
+อาภากร พิพัฒน์จริยา
+อาภาพรรณ ตระการสิงหนาท
+อาภาภรณ์ สุขสัย
+อาม่วย แซ่โต๋ว
+อามุ่ย แซ่ตัน
+อารดา กรุณายิ่งพันธ์
+อารมณ์ แจ่มดาว
+อารมณ์ ผลเจริญ
+อารมณ์ สงวนทรัพย์
+อารมย์ จั่นฮวบ
+อารมย์ มูเทีย
+อารยะ ตรีศุกร์
+อารยา งามวงศ์เวชกุล
+อารยา ทิมกุล
+อารยา พิพัทธกุศลกุล
+อารยา ศตัษเฐียร
+อารยา อินทร์จันทึก
+อารักษ์ ปุ้ยตระกูล
+อาริชย์ คุณประสพ
+อารี กองเป็ง
+อารี แจ้งสว่าง
+อารี ดิษาภิรมย์
+อารี นาคะสิงห์
+อารี พรหมโณมัย
+อารี ยิ้มอ่ำ
+อารี วิไลวรรณ
+อารี สีตะสิทธิ์
+อารี อัศรัสกร
+อารีพร วงษ์มณีเทศ
+อารีย์วรรณ บัวเผื่อน
+อารียา ลิยะกุลพงศ์
+อารีย์ กิติสารศักดิ์
+อารีย์ คุ้มศิริ
+อารีย์ เจียไพบูลย์
+อารีย์ ซื่อชัยเจริญ
+อารีย์ เด่นศิริพงษ์
+อารีย์ ทิพย์ญานวงศ์
+อารีย์ บินหมัด
+อารีย์ พงศ์พัฒนานุรักษ์
+อารีย์ โพธิสุวรรณ
+อารีย์ เมืองสงวน
+อารีย์ ลิ่มวงศ์
+อารีย์ ศรประเสริฐกุล
+อารีย์ สว่างศรี
+อารีย์ สุนพงษ์ศรี
+อารีย์ หุตะมาน
+อารีย์ อุดมคณารัตน์
+อารีรัตน์ เจตต์สรรวิสรณ์
+อารีรัตน์ บุญทวี
+อารีรัตน์ ลิ้มประเสริฐสกุล
+อารีรัตน์ แหธัญวิสิฐ
+อารีวรรณ ธาราธีรเศรษฐ์
+อารีเฟน ฮะซานี
+อาลัย สุระเรืองชัย
+อาวุฒิ สงวนทรัพย์
+อาวุธ ศรีจันทร์
+อาสา ขยันเขียน
+อาอีซ๊ะ เหมสมัน
+อาเยกุมาร ปาวา
+อ่าง แซ่เตีย
+อ๋า ศรีอำไพ
+อำนวย เกษบำรุง
+อำนวย ครุฑนา
+อำนวย จันทะ
+อำนวย ฉัตรชาญมงคล
+อำนวย ไชยโรจน์
+อำนวย เตชะศรี
+อำนวย ทัศนเมธิน
+อำนวย นาคนาวา
+อำนวย บุญทรักษา
+อำนวย ปั้นงาม
+อำนวย พรเลิศปิติ
+อำนวย เพชรแสง
+อำนวย มาสา
+อำนวย รัตนวิไลกุล
+อำนวย วงศ์วณิช
+อำนวย เวชสุกรรม
+อำนวย สนหลี
+อำนวย สีนวน
+อำนวย สุวรรณปาล
+อำนวย หอยสังข์
+อำนวย อัศวศรีสุวรรณ
+อำนวย ฮาซันบิน
+อำนวยพร ศิริพงษ์ไพบูลย์
+อำนาจ การุณมรรคผล
+อำนาจ จงอดิเรกลาภ
+อำนาจ ชยสมานนท์
+อำนาจ ตรียานนท์
+อำนาจ ธีระประดิษฐผล
+อำนาจ บุญเต็ม
+อำนาจ พรหมนิตย์
+อำนาจ มงคลพันธ์
+อำนาจ เรือนทิพย์
+อำนาจ ไวจงเจริญ
+อำนาจ สายดวง
+อำนาจ แสงศิริ
+อำนาจ อำนาจสิทธิชัย
+อำพน ยิ้มสมบัติ
+อำพร คูณสวัสดิ์
+อำพร ดอนไพรเพชร
+อำพร บัวชัง
+อำพร ภู่เกลี้ยง
+อำพร ไว้ทเบรชท์
+อำพร แสงเพชร
+อำพรรณ ทวีมารถ
+อำพล เกาะกากลาง
+อำพล ชำนาญกิจ
+อำพล นามสนธิ
+อำพล โพธิ์พุ่มเย็น
+อำพล วีระตะนนท์
+อำพล หะรินสุต
+อำพัน คล้ายชัง
+อำพัน ผลห้า
+อำพัน สุขจอด
+อำพันธ์ ชวกุล
+อำพันพงษ์ โดเรี่ยน
+อำภา จันทรคุณาภาส
+อำภา ปานรักษา
+อำภา สุขอารมย์
+อำรุง สรรพสิทธิ์วงศ์
+อำไพ แก้วแจ่ม
+อำไพ จิตรมิตร
+อำไพ ไชยพุทธ
+อำไพ ถุงทรัพย์
+อำไพ บัณฑิต
+อำไพ ผลดี
+อำไพ ภมรสุวรรณ
+อำไพ รัตนรัตน์
+อำไพ วิชาทานสกุล
+อำไพ สมัครไทย
+อำไพ สุรงค์เลิศ
+อำไพ อยู่ศรีเจริญ
+อำไพพรรณ วุฒิธรรมจารี
+อิ๊กตี๋ แซ่เบ๊
+อิงอร วิเชียรสรรค์
+อิ๊ดซ้ง แซ่ฮ้อ
+อิทธิชัย สุหัตถาพร
+อิทธิพล ใจตั้ง
+อิทธิพล รัชในวรรณ
+อิทธิยา แจ่มมิน
+อิทธิโรจน์ พงษ์พิทักษ์
+อินทรศักดิ์ ทองดี
+อินท์อร พันธวารี
+อินทิรา ตันปกิจวงศ์
+อินทิรา เวชธรรม
+อินธิดา แซ่ลี้
+อิม แซ่เจ็ง
+อิ่มจิตต์ อุดมธนภัทร
+อิ้วท้ง แซ่โง้ว
+อิศรา ยงยืน
+อิศเรศ ฉัตรแก้วนพดล
+อิสระ จิตมีสุข
+อิสรา สงวนพงศ์
+อิสสระ ผลาเกตุ
+อีซา พลอยดี
+อี๋เต็ก แซ่เตียว
+อุกฤษ ชาญเลขา
+อุกฤษฏ์ สังข์แก้ว
+อุณานันทน์ วงษ์สัจจานันท์
+อุดม กึกก้อง
+อุดม โกสัยสุก
+อุดม คำภิระยศ
+อุดม จันทร์เที่ยง
+อุดม เจริญศรี
+อุดม ชารีธรรม
+อุดม แซ่ตั้ง
+อุดม แดงรัศมีโสภณ
+อุดม ทรงมี
+อุดม ธรรมภูษิต
+อุดม บัวรุ่ง
+อุดม ปานเถื่อน
+อุดม พรหมเกตุจันทร์
+อุดม พุ่มพวง
+อุดม ภิญโญชีพ
+อุดม มุตรนิพันธุ์
+อุดม รัศมีรังษีเหลือง
+อุดม ลีทอง
+อุดม วสุวิวัฒน์
+อุดม ศรีนพคุณ
+อุดม ศุภสินธุ์
+อุดม สันธู
+อุดม สุดไธสง
+อุดม แสนจำหน่าย
+อุดม อนันตเสถ
+อุดม อึ้งสุวรรณพานิช
+อุดมชัย ตั้งอมรศิริ
+อุดมพร ตันชัยมงคล
+อุดมพันธุ์ ทิพทัส
+อุดมลักษณ์ นนทิวรรธก
+อุดมศรี กิจค้า
+อุดมศักดิ์ โกมลารชุน
+อุดมศักดิ์ ธูปสุวรรณ
+อุดมศักดิ์ วงศ์พิศาล
+อุดมศักดิ์ อวิรุทธา
+อุดมเดช ชาญชยศึก
+อุดร ใจปันธิ
+อุดร พึ่งทอง
+อุดร เสถียรภาพงษ์
+อุทร เขมะบุลกุล
+อุทัย แก่นแก้ว
+อุทัย คูแก้ว
+อุทัย ใจประสาท
+อุทัย แซ่อึ้ง
+อุทัย เตชะรงค์
+อุทัย ธรรมอินทร์
+อุทัย บูรณวิชัยศิลป์
+อุทัย พันธ์พรึกส์
+อุทัย มุสิกะชัย
+อุทัย ลิ้มประเสริฐ
+อุทัย เวชยา
+อุทัย สวัสดิจันทร์
+อุทัย สุวรรณะ
+อุทัย อ่อนรั่ว
+อุทัยพร จารุกิจโสภา
+อุทัยวรรณ จันทร์วัฒนางกูร
+อุทัยวรรณ บัวแก้ว
+อุทัยวรรณ รัมยะรังสิ
+อุทัยวรรณ สุนทรวัฒน์
+อุทาร เฟื่องฟูสิน
+อุทิศ ดุลยกาญจน์
+อุทิศ ล้วนเจริญ
+อุทิศ โอภาสนำพาวงศ์
+อุทุมพร พลาวงศ์
+อุนิตย์ วรรณสินธ์
+อุ่นเรือน จิยะวรนันท์
+อุ่นใจ บุญเสริมแท้
+อุบล แก้วนิมิตร
+อุบล จันทร์ชีวะ
+อุบล ชื่นจิตร
+อุบล โตมอญ
+อุบล นิลเขียว
+อุบล ผ่านจังหาร
+อุบล ภูพีระสุพงษ์
+อุบล เริงกมล
+อุบล ศรีกิตติศักดิ์
+อุบล สิริจันทรดิลก
+อุบล หมื่นภักดี
+อุบล อุปเสวี
+อุบลรัตน์ จิตตะเสนีย์
+อุบลรัตน์ แพ่งนคร
+อุบลรัตน์ เสรีเจียบปรีชา
+อุบลวรรณ เปรมจิตต์ชื่น
+อุบลศรี ต่ายแต้มทอง
+อุปนันท์ เนตรสว่าง
+อุมา อัครลิขิต
+อุมาพร พัฒนเสรี
+อุมาภรณ์ ติกวัฒนานนท์
+อุยฮวง แซ่โง้ว
+อุรดี สาณะเสน
+อุรา แก้วกลม
+อุริน สินศึกสงบ
+อุลิต ปัทมาลัย
+อุษณา ศรีสำเริง
+อุษณี สุนาโพธิ์
+อุษณีย์ ชินพัฒนาการ
+อุษณีย์ บุญเสน่ห์
+อุษณีย์ วงศ์ปราณีกุล
+อุษณีย์ อาจอรุณ
+อุษา เกียรติระบิล
+อุษา จิตต์จรรยากุล
+อุษา โชคเจริญ
+อุษา ทวีสุทธิ์
+อุษา บัวศิริ
+อุษา พงษ์พฤกษา
+อุษา ม่วงจำกัด
+อุษา เล็กยิ้ม
+อุษา ศรีใส
+อุษา สุขสนอง
+อุษา อยู่แพ
+อุษาวดี แซ่โง้ว
+อุสรา ประทีป ณ ถลาง
+อุสาห์ ศิลปี
+อุเทน เฉลิมพรรัตนา
+อุเทน เสรีเด่นชัย
+อุไร กุศลสร้าง
+อุไร คังคะเกตุ
+อุไร เจียประเสริฐ
+อุไร แซ่ว่อง
+อุไร เตียะเพ็ชร
+อุไร นวมแหลม
+อุไร บุนารักษ์
+อุไร พงษ์สว่าง
+อุไร โพธิ์ฐิติรัตน์
+อุไร เมฆไพบูลย์วัฒนา
+อุไร ลิ้นแก้ว
+อุไร ศรฤทธิ์ชิงชัย
+อุไร สวัสดิ์เฉย
+อุไร สุวิวัฒนชัยกุล
+อุไร อรรคเสลา
+อุไรพร แซ่ลิ้ม
+อุไรรัตน์ ฉายชูวงษ์
+อุไรรัตน์ สหวัธนะ
+อุไรวรรณ กำปั่นทอง
+อุไรวรรณ จรูญสมิทธิ์
+อุไรวรรณ เชาวกิตติโรจน์
+อุไรวรรณ เทพประทานกิจ
+อุไรวรรณ ปรีประทุม
+อุไรวรรณ พึ่งใหญ่
+อุไรวรรณ แย้มนิยม
+อุไรวรรณ วิจิตรบัณฑิตกุล
+อุไรวรรณ สาครสินธุ์
+อุไรวรรณ หวั่นวะดี
+อุไรวรรณ เอี่ยมปราณีต
+อู๊ด ดำเกิงตระกูล
+อู๋ มาลาเล็ก
+อโณทัย เจตนเสน
+อโณทัย วงศ์เมธีสุเมธ
+อโนชา สุวรรณรัตน
+อโนทัย อัศวประภา
+เอก ชัฏอนันต์
+เอก สยามวาลา
+เอกชัย กองแก้ว
+เอกชัย ฉลองปิยรัตน์
+เอกชัย เดชศิริพันธ์
+เอกชัย บุษยบริบูรณ์โชติ
+เอกชัย ภัทรนุธาพร
+เอกชัย ว่องบรรจงหาร
+เอกชัย สิริชูสินวงศ์
+เอกชัย อัศวโกวิท
+เอกผล อภิชาติพันธุ์กวี
+เอกพร กังวาฬไกรไพศาล
+เอกพันธ์ ช่างเอกวงศ์
+เอกยง แซ่เซียว
+เอกรัศมี อวยสินประเสริฐ
+เอกรินทร์ เบี้ยวไม
+เอกวัฒน์ ชัยวัตร
+เอกศักดิ์ พิสุทธิชานนท์
+เอกสิทธิ์ ใจบุญ
+เอกสิทธิ์ ศิวาวุธ
+เอกเชาวน์ เพิ่มประเสริฐสุข
+เอนก กิจไพศาล
+เอนก จันรอด
+เอนก แซ่โง้ว
+เอนก เทียนเกษม
+เอนก ปวิดาภา
+เอนก โพธิ์นิ่ม
+เอนก ลิขิตตระกูลเลิศ
+เอนก ศรีแสง
+เอนก แสงฉาย
+เอนก อู่บังสิน
+เอมอร กลิ่นมาลา
+เอมอร เฉลิมนนท์
+เอมอร นาคภูมิ
+เอมอร เฟื่องวิทยาการ
+เอมอร ศรีคงศรี
+เอมอร อรุณยงจิต
+เอส เอ็ม
+เอิบลาภ เลิศวิธี
+เอียะเจ็ง แซ่ตั้ง
+เอี่ยม บุญคง
+เอี่ยม อัศวฤทธิ์กุล
+เอี่ยมซ้ง แซ่ตัน
+เอี่ยมเจียง แซ่โต๋ว
+เอี้ยง แซ่โต๊ะ
+เอี้ยมเซี้ย แซ่นิ่ม
+เอี้ยห่างกวง แซ่เอี้ย
+เอื้อ วงษ์สาก้อ
+เอื้อจิตต์ ผลอินทร์
+เอื้อนพร จิรานนท์
+เอื้อมพร กัลป์เสาวภาคย์กุล
+เอื้อมพร ผุดผาด
+เอื้อมพร ไหมพิมพ์
+เอื้ออารี วงศ์วิฑูรยาพร
+เอ็ง แซ่ลิ้ม
+เอ็งยิ้ว แซ่เยี่ยง
+เอ็นดู ศรีบุญเรือง
+แอน แสงศรี
+แอนโทนี่ เตียง
+แอ๋ว กำมะหยี่
+โอภา ภัทรธรรมบาล
+โอภาส เงินเต็มเปี่ยม
+โอภาส ทรัพย์อาภากร
+โอภาส พรหมรัตนพงศ์
+โอภาส ลิลิตกันยากุล
+โอภาส สุพรรณโอชากุล
+โอรส วงษ์สิทธิ์
+โอสถ โกศิน
+โอฬาร พึ่งสนิท
+โอ้วเซ็ง แซ่อั๊ง
+ไอเซนโฮเฟอร์ ไอ อี
+ฮกเฮง แซ่ลี้
+ฮ่งฮวด แซ่โง้ว
+ฮวงเจ็ง แซ่ตั้ง
+ฮวย แซ่หลาย
+ฮ่ออึ้ง แซ่เตียว
+ฮังตี๋ ตั้งมุจลินท์
+ฮั่งเจีย แซ่ตั้ง
+ฮั้งเกียง แซ่เอี้ยว
+ฮั้นง้วน แซ่ฉั่ว
+ฮั่วปิด แซ่อึ้ง
+ฮั้วใช้ แซ่เล้า
+ฮายูรซิงห์ กัมบีร์
+ฮารี่ปาซาน ซาฮี
+ฮิม แซ่หล่อ
+ฮุก พรหมฤทธิเดชา
+ฮุยกุง แซ่ซิ
+ฮุยเง็ก แซ่เอ็ง
+ฮุ่ยฮวง แซ่ตั้ง
+ฮุ้ยลั้ง ประสิทธิลักษณะ
+เฮง ศิริมงคลรัตน์
+เฮม รุ่งสกุล
+เฮียง แซ่อ้าว
+เฮียงกี่ แซ่เหี่ย
+เฮี้ยงซิม แซ่โง้ว
+โฮง เอกธนานันท์
+ไฮ้ เลิศลิขิตธนิตกุล
diff --git a/src/com/ibm/icu/dev/test/perf/normperf.pl b/src/com/ibm/icu/dev/test/perf/normperf.pl
new file mode 100755
index 0000000..b3bbaf2
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/perf/normperf.pl
@@ -0,0 +1,538 @@
+#!/usr/local/bin/perl
+# *******************************************************************************
+# * Copyright (C) 2002-2004, International Business Machines Corporation and    *
+# * others. All Rights Reserved.                                                *
+# *******************************************************************************
+
+use strict;
+
+# Assume we are running within the icu4j root directory
+use lib 'src/com/ibm/icu/dev/test/perf';
+
+use Dataset;
+
+#---------------------------------------------------------------------
+# Test class
+my $TESTCLASS = 'com.ibm.icu.dev.test.perf.NormalizerPerformanceTest'; 
+
+# Methods to be tested.  Each pair represents a test method and
+# a baseline method which is used for comparison.
+my @METHODS  = (
+  		['TestICU_NFD_NFC_Text',  'TestJDK_NFD_NFC_Text'],
+		['TestICU_NFC_NFC_Text',  'TestJDK_NFC_NFC_Text'],
+                ['TestICU_NFC_NFD_Text',  'TestJDK_NFC_NFD_Text'],
+                ['TestICU_NFC_Orig_Text', 'TestJKD_NFC_Orig_Text'],
+		['TestICU_NFD_NFC_Text',  'TestJDK_NFD_NFC_Text'],
+                ['TestICU_NFD_NFD_Text',  'TestJDK_NFD_NFD_Text'],
+                ['TestICU_NFD_Orig_Text', 'TestJDK_NFD_Orig_Text'], 
+               );
+
+# Patterns which define the set of characters used for testing.
+
+my $SOURCEDIR ="C:\\work\\icu4j\\src\\com\\ibm\\icu\\dev\\test\\perf\\data\\collation\\";
+
+my @OPTIONS = (
+#                      src text          	  src encoding  mode  
+		    [ "TestNames_SerbianSH.txt",    "UTF-8", "b"],
+                    [ "arabic.txt",                 "UTF-8", "b"],
+                    [ "french.txt",                 "UTF-8", "b"],
+                    [ "greek.txt",                  "UTF-8", "b"],
+                    [ "hebrew.txt",                 "UTF-8", "b"],
+                    [ "hindi.txt" ,                 "UTF-8", "b"],
+                    [ "japanese.txt",               "UTF-8", "b"],
+                    [ "korean.txt",                 "UTF-8", "b"],
+                    [ "s-chinese.txt",              "UTF-8", "b"],
+                    [ "french.txt",                 "UTF-8", "b"],
+                    [ "greek.txt",                  "UTF-8", "b"],
+                    [ "hebrew.txt",                 "UTF-8", "b"],
+                    [ "hindi.txt" ,                 "UTF-8", "b"],
+                    [ "japanese.txt",               "UTF-8", "b"],
+                    [ "korean.txt",                 "UTF-8", "b"],
+                    [ "s-chinese.txt",              "UTF-8", "b"],
+                    [ "arabic.html",                "UTF-8", "b"],
+					[ "czech.html",                 "UTF-8", "b"],
+					[ "danish.html",                "UTF-8", "b"],
+					[ "english.html",               "UTF-8", "b"],
+					[ "esperanto.html",             "UTF-8", "b"],
+					[ "french.html",                "UTF-8", "b"],
+					[ "georgian.html",              "UTF-8", "b"],
+					[ "german.html",                "UTF-8", "b"],
+					[ "greek.html",                 "UTF-8", "b"],
+					[ "hebrew.html",                "UTF-8", "b"],
+					[ "hindi.html",                 "UTF-8", "b"],
+					[ "icelandic.html",             "UTF-8", "b"],
+					[ "interlingua.html",           "UTF-8", "b"],
+					[ "italian.html",               "UTF-8", "b"],
+					[ "japanese.html",              "UTF-8", "b"],
+					[ "korean.html",                "UTF-8", "b"],
+					[ "lithuanian.html",            "UTF-8", "b"],
+					[ "maltese.html",               "UTF-8", "b"],
+					[ "persian.html",               "UTF-8", "b"],
+					[ "polish.html",                "UTF-8", "b"],
+					[ "portuguese.html",            "UTF-8", "b"],
+					[ "romanian.html",              "UTF-8", "b"],
+					[ "russian.html",               "UTF-8", "b"],
+					[ "s-chinese.html",             "UTF-8", "b"],
+					[ "spanish.html",               "UTF-8", "b"],
+					[ "swedish.html",               "UTF-8", "b"],
+					[ "t-chinese.html",             "UTF-8", "b"],
+					[ "welsh.html",                 "UTF-8", "b"],
+					[ "TestNames_Asian.txt",        "UTF-8", "l"],
+					[ "TestNames_Chinese.txt",      "UTF-8", "l"],
+					[ "TestNames_Japanese.txt",     "UTF-8", "l"],
+					[ "TestNames_Japanese_h.txt",   "UTF-8", "l"],
+					[ "TestNames_Japanese_k.txt",   "UTF-8", "l"],
+					[ "TestNames_Korean.txt",       "UTF-8", "l"],
+					[ "TestNames_Latin.txt",        "UTF-8", "l"],
+					[ "TestNames_SerbianSH.txt",    "UTF-8", "l"],
+					[ "TestNames_SerbianSR.txt",    "UTF-8", "l"],
+					[ "TestNames_Thai.txt",         "UTF-8", "l"],
+					[ "Testnames_Russian.txt",      "UTF-8", "l"], 
+              );
+
+my $CALIBRATE = 2; # duration in seconds for initial calibration
+my $DURATION = 10; # duration in seconds for each pass
+my $NUMPASSES = 4; # number of passes.  If > 1 then the first pass
+                   # is discarded as a JIT warm-up pass.
+
+my $TABLEATTR = 'BORDER="1" CELLPADDING="4" CELLSPACING="0"';
+
+my $PLUS_MINUS = "&plusmn;";
+
+if ($NUMPASSES < 3) {
+    die "Need at least 3 passes.  One is discarded (JIT warmup) and need two to have 1 degree of freedom (t distribution).";
+}
+
+my $OUT; # see out()
+
+main();
+
+#---------------------------------------------------------------------
+# ...
+sub main {
+    my $date = localtime;
+    my $title = "ICU4JNI Performance Test $date";
+
+    my $html = $date;
+    $html =~ s/://g; # ':' illegal
+    $html =~ s/\s*\d+$//; # delete year
+    $html =~ s/^\w+\s*//; # delete dow
+    $html = "perf $html.html";
+
+    open(HTML,">$html") or die "Can't write to $html: $!";
+
+    print HTML <<EOF;
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
+   "http://www.w3.org/TR/html4/strict.dtd">
+<HTML>
+   <HEAD>
+      <TITLE>$title</TITLE>
+   </HEAD>
+   <BODY>
+EOF
+    print HTML "<H1>$title</H1>\n";
+
+    print HTML "<H2>$TESTCLASS</H2>\n";
+
+    my $raw = "";
+
+    for my $methodPair (@METHODS) {
+
+        my $testMethod = $methodPair->[0];
+        my $baselineMethod = $methodPair->[1];
+
+        print HTML "<P><TABLE $TABLEATTR><TR><TD>\n";
+        print HTML "<P><B>$testMethod vs. $baselineMethod</B></P>\n";
+        
+        print HTML "<P><TABLE $TABLEATTR BGCOLOR=\"#CCFFFF\">\n";
+        print HTML "<TR><TD>Options</TD><TD>$testMethod</TD>";
+        print HTML "<TD>$baselineMethod</TD><TD>Ratio</TD></TR>\n";
+
+        $OUT = '';
+
+        for my $pat (@OPTIONS) {
+            print HTML "<TR><TD>@$pat[0], @$pat[2]</TD>\n";
+
+            out("<P><TABLE $TABLEATTR WIDTH=\"100%\">");
+
+            # measure the test method
+            out("<TR><TD>");
+            print "\n$testMethod [@$pat]\n";
+            my $t = measure2($testMethod, $pat, -$DURATION);
+            out("</TD></TR>");
+            print HTML "<TD>", formatSeconds(4, $t->getMean(), $t->getError);
+            print HTML "/event</TD>\n";
+
+            # measure baseline method
+            out("<TR><TD>");
+            print "\nBegin $baselineMethod [@$pat]\n";
+            my $b = measure2($baselineMethod, $pat, -$DURATION);
+            out("</TD></TR>");
+            print HTML "<TD>", formatSeconds(4, $b->getMean(), $t->getError);
+            print HTML "/event</TD>\n";
+
+            out("</TABLE></P>");
+
+            # output ratio
+            my $r = $t->divide($b);
+            print HTML "<TD><B>", formatPercent(3, $r->getMean(), $r->getError);
+            print HTML "</B></TD></TR>\n";
+        }
+
+        print HTML "</TABLE></P>\n";
+
+        print HTML "<P>Raw data:</P>\n";
+        print HTML $OUT;
+        print HTML "</TABLE></P>\n";
+    }
+
+    print HTML <<EOF;
+   </BODY>
+</HTML>
+EOF
+    close(HTML) or die "Can't close $html: $!";
+}
+
+#---------------------------------------------------------------------
+# Append text to the global variable $OUT
+sub out {
+    $OUT .= join('', @_);
+}
+
+#---------------------------------------------------------------------
+# Append text to the global variable $OUT
+sub outln {
+    $OUT .= join('', @_) . "\n";
+}
+
+#---------------------------------------------------------------------
+# Measure a given test method with a give test pattern using the
+# global run parameters.
+#
+# @param the method to run
+# @param the pattern defining characters to test
+# @param if >0 then the number of iterations per pass.  If <0 then
+#        (negative of) the number of seconds per pass.
+#
+# @return a Dataset object, scaled by iterations per pass and
+#         events per iteration, to give time per event
+#
+sub measure2 {
+    my @data = measure1(@_);
+    my $iterPerPass = shift(@data);
+    my $eventPerIter = shift(@data);
+
+    shift(@data) if (@data > 1); # discard first run
+
+    my $ds = Dataset->new(@data);
+    $ds->setScale(1.0e-3 / ($iterPerPass * $eventPerIter));
+    $ds;
+}
+
+#---------------------------------------------------------------------
+# Measure a given test method with a give test pattern using the
+# global run parameters.
+#
+# @param the method to run
+# @param the pattern defining characters to test
+# @param if >0 then the number of iterations per pass.  If <0 then
+#        (negative of) the number of seconds per pass.
+#
+# @return array of:
+#         [0] iterations per pass
+#         [1] events per iteration
+#         [2..] ms reported for each pass, in order
+#
+sub measure1 {
+    my $method = shift;
+    my $pat = shift;
+    my $iterCount = shift; # actually might be -seconds/pass
+
+    out("<P>Measuring $method for input file @$pat[0] in @$pat[2] , ");
+    if ($iterCount > 0) {
+        out("$iterCount iterations/pass, $NUMPASSES passes</P>\n");
+    } else {
+        out(-$iterCount, " seconds/pass, $NUMPASSES passes</P>\n");
+    }
+
+    # is $iterCount actually -seconds?
+    if ($iterCount < 0) {
+
+        # calibrate: estimate ms/iteration
+        print "Calibrating...";
+        my @t = callJava($method, $pat, $CALIBRATE );
+        print "done.\n";
+
+        my @data = split(/\s+/, $t[0]->[2]);
+        my $timePerIter = 1.0e-3 * $data[0] / $data[2];
+    
+        # determine iterations/pass
+        $iterCount = int(-$iterCount / $timePerIter + 0.5);
+
+        out("<P>Calibration pass ($CALIBRATE sec): ");
+        out("$data[0] ms, ");
+        out("$data[2] iterations = ");
+        out(formatSeconds(4, $timePerIter), "/iteration<BR>\n");
+    }
+    
+    # run passes
+    print "Measuring $iterCount iterations x $NUMPASSES passes...";
+    my @t = callJava($method, $pat, "$iterCount " x $NUMPASSES);
+    print "done.\n";
+    my @ms = ();
+    my @b; # scratch
+    for my $a (@t) {
+        # $a->[0]: method name, corresponds to $method
+        # $a->[1]: 'begin' data, == $iterCount
+        # $a->[2]: 'end' data, of the form <ms> <eventsPerIter>
+        # $a->[3...]: gc messages from JVM during pass
+        @b = split(/\s+/, $a->[2]);
+        push(@ms, $b[0]);
+    }
+    my $eventsPerIter = $b[1];
+
+    out("Iterations per pass: $iterCount<BR>\n");
+    out("Events per iteration: $eventsPerIter<BR>\n");
+
+    my @ms_str = @ms;
+    $ms_str[0] .= " (discarded)" if (@ms_str > 1);
+    out("Raw times (ms/pass): ", join(", ", @ms_str), "<BR>\n");
+
+    ($iterCount, $eventsPerIter, @ms);
+}
+
+#---------------------------------------------------------------------
+# Invoke java to run $TESTCLASS, passing it the given parameters.
+#
+# @param the method to run
+# @param the number of iterations, or if negative, the duration
+#        in seconds.  If more than on pass is desired, pass in
+#        a string, e.g., "100 100 100".
+# @param the pattern defining characters to test
+#
+# @return an array of results.  Each result is an array REF
+#         describing one pass.  The array REF contains:
+#         ->[0]: The method name as reported
+#         ->[1]: The params on the '= <meth> begin ...' line
+#         ->[2]: The params on the '= <meth> end ...' line
+#         ->[3..]: GC messages from the JVM, if any
+#
+sub callJava {
+    my $method = shift;
+    my $pat = shift;
+    my $n = shift;
+    my $fileName = $SOURCEDIR . @$pat[0] ; 
+    my $cmd = "c:\\jdk1.4.2_04\\bin\\java -classpath ;classes; $TESTCLASS $method -t $n -f $fileName -e @$pat[1] -@$pat[2]";
+    print "[$cmd]\n"; # for debugging
+    open(PIPE, "$cmd|") or die "Can't run \"$cmd\"";
+    my @out;
+    while (<PIPE>) {
+        push(@out, $_);
+    }
+    close(PIPE) or die "Java failed: \"$cmd\"";
+
+    @out = grep(!/^\#/, @out);  # filter out comments
+
+    #print "[", join("\n", @out), "]\n";
+
+    my @results;
+    my $method = '';
+    my $data = [];
+    foreach (@out) {
+        next unless (/\S/);
+
+        if (/^=\s*(\w+)\s*(\w+)\s*(.*)/) {
+            my ($m, $state, $d) = ($1, $2, $3);
+            #print "$_ => [[$m $state $data]]\n";
+            if ($state eq 'begin') {
+                die "$method was begun but not finished" if ($method);
+                $method = $m;
+                push(@$data, $d);
+                push(@$data, ''); # placeholder for end data
+            } elsif ($state eq 'end') {
+                if ($m ne $method) {
+                    die "$method end does not match: $_";
+                }
+                $data->[1] = $d; # insert end data at [1]
+                #print "#$method:", join(";",@$data), "\n";
+                unshift(@$data, $method); # add method to start
+                push(@results, $data);
+                $method = '';
+                $data = [];
+            } else {
+                die "Can't parse: $_";
+            }
+        }
+
+        elsif (/^\[/) {
+            if ($method) {
+                push(@$data, $_);
+            } else {
+                # ignore extraneous GC notices
+            }
+        }
+
+        else {
+            die "Can't parse: $_";
+        }
+    }
+
+    die "$method was begun but not finished" if ($method);
+
+    @results;
+}
+
+#|#---------------------------------------------------------------------
+#|# Format a confidence interval, as given by a Dataset.  Output is as
+#|# as follows:
+#|#   241.23 - 241.98 => 241.5 +/- 0.3
+#|#   241.2 - 243.8 => 242 +/- 1
+#|#   211.0 - 241.0 => 226 +/- 15 or? 230 +/- 20
+#|#   220.3 - 234.3 => 227 +/- 7
+#|#   220.3 - 300.3 => 260 +/- 40
+#|#   220.3 - 1000 => 610 +/- 390 or? 600 +/- 400
+#|#   0.022 - 0.024 => 0.023 +/- 0.001
+#|#   0.022 - 0.032 => 0.027 +/- 0.005
+#|#   0.022 - 1.000 => 0.5 +/- 0.5
+#|# In other words, take one significant digit of the error value and
+#|# display the mean to the same precision.
+#|sub formatDataset {
+#|    my $ds = shift;
+#|    my $lower = $ds->getMean() - $ds->getError();
+#|    my $upper = $ds->getMean() + $ds->getError();
+#|    my $scale = 0;
+#|    # Find how many initial digits are the same
+#|    while ($lower < 1 ||
+#|           int($lower) == int($upper)) {
+#|        $lower *= 10;
+#|        $upper *= 10;
+#|        $scale++;
+#|    }
+#|    while ($lower >= 10 &&
+#|           int($lower) == int($upper)) {
+#|        $lower /= 10;
+#|        $upper /= 10;
+#|        $scale--;
+#|    }
+#|}
+
+#---------------------------------------------------------------------
+# Format a number, optionally with a +/- delta, to n significant
+# digits.
+#
+# @param significant digit, a value >= 1
+# @param multiplier
+# @param time in seconds to be formatted
+# @optional delta in seconds
+#
+# @return string of the form "23" or "23 +/- 10".
+#
+sub formatNumber {
+    my $sigdig = shift;
+    my $mult = shift;
+    my $a = shift;
+    my $delta = shift; # may be undef
+    
+    my $result = formatSigDig($sigdig, $a*$mult);
+    if (defined($delta)) {
+        my $d = formatSigDig($sigdig, $delta*$mult);
+        # restrict PRECISION of delta to that of main number
+        if ($result =~ /\.(\d+)/) {
+            # TODO make this work for values with all significant
+            # digits to the left of the decimal, e.g., 1234000.
+
+            # TODO the other thing wrong with this is that it
+            # isn't rounding the $delta properly.  Have to put
+            # this logic into formatSigDig().
+            my $x = length($1);
+            $d =~ s/\.(\d{$x})\d+/.$1/;
+        }
+        $result .= " $PLUS_MINUS " . $d;
+    }
+    $result;
+}
+
+#---------------------------------------------------------------------
+# Format a time, optionally with a +/- delta, to n significant
+# digits.
+#
+# @param significant digit, a value >= 1
+# @param time in seconds to be formatted
+# @optional delta in seconds
+#
+# @return string of the form "23 ms" or "23 +/- 10 ms".
+#
+sub formatSeconds {
+    my $sigdig = shift;
+    my $a = shift;
+    my $delta = shift; # may be undef
+
+    my @MULT = (1   , 1e3,  1e6,  1e9);
+    my @SUFF = ('s' , 'ms', 'us', 'ns');
+
+    # Determine our scale
+    my $i = 0;
+    ++$i while ($a*$MULT[$i] < 1 && $i < @MULT);
+    
+    formatNumber($sigdig, $MULT[$i], $a, $delta) . ' ' . $SUFF[$i];
+}
+
+#---------------------------------------------------------------------
+# Format a percentage, optionally with a +/- delta, to n significant
+# digits.
+#
+# @param significant digit, a value >= 1
+# @param value to be formatted, as a fraction, e.g. 0.5 for 50%
+# @optional delta, as a fraction
+#
+# @return string of the form "23 %" or "23 +/- 10 %".
+#
+sub formatPercent {
+    my $sigdig = shift;
+    my $a = shift;
+    my $delta = shift; # may be undef
+    
+    formatNumber($sigdig, 100, $a, $delta) . ' %';
+}
+
+#---------------------------------------------------------------------
+# Format a number to n significant digits without using exponential
+# notation.
+#
+# @param significant digit, a value >= 1
+# @param number to be formatted
+#
+# @return string of the form "1234" "12.34" or "0.001234".  If
+#         number was negative, prefixed by '-'.
+#
+sub formatSigDig {
+    my $n = shift() - 1;
+    my $a = shift;
+
+    local $_ = sprintf("%.${n}e", $a);
+    my $sign = (s/^-//) ? '-' : '';
+
+    my $a_e;
+    my $result;
+    if (/^(\d)\.(\d+)e([-+]\d+)$/) {
+        my ($d, $dn, $e) = ($1, $2, $3);
+        $a_e = $e;
+        $d .= $dn;
+        $e++;
+        $d .= '0' while ($e > length($d));
+        while ($e < 1) {
+            $e++;
+            $d = '0' . $d;
+        }
+        if ($e == length($d)) {
+            $result = $sign . $d;
+        } else {
+            $result = $sign . substr($d, 0, $e) . '.' . substr($d, $e);
+        }
+    } else {
+        die "Can't parse $_";
+    }
+    $result;
+}
+
+#eof
diff --git a/src/com/ibm/icu/dev/test/perf/perf.pl b/src/com/ibm/icu/dev/test/perf/perf.pl
new file mode 100755
index 0000000..ede2681
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/perf/perf.pl
@@ -0,0 +1,475 @@
+#/**
+# *******************************************************************************
+# * Copyright (C) 2002-2004, International Business Machines Corporation and    *
+# * others. All Rights Reserved.                                                *
+# *******************************************************************************
+# */
+
+#!/usr/local/bin/perl
+
+use strict;
+
+# Assume we are running within the icu4j root directory
+use lib 'src/com/ibm/icu/dev/test/perf';
+
+use Dataset;
+
+#---------------------------------------------------------------------
+# Test class
+my $TESTCLASS = 'com.ibm.icu.dev.test.perf.UnicodeSetPerf';
+
+# Methods to be tested.  Each pair represents a test method and
+# a baseline method which is used for comparison.
+my @METHODS  = (['UnicodeSetAdd', 'HashSetAdd'],
+                ['UnicodeSetContains', 'HashSetContains'],
+                ['UnicodeSetIterate', 'HashSetIterate']);
+
+# Patterns which define the set of characters used for testing.
+my @PATTERNS = ('[:Lt:]', '[:Cn:]');
+
+my $CALIBRATE = 2; # duration in seconds for initial calibration
+my $DURATION = 10; # duration in seconds for each pass
+my $NUMPASSES = 4; # number of passes.  If > 1 then the first pass
+                   # is discarded as a JIT warm-up pass.
+
+my $TABLEATTR = 'BORDER="1" CELLPADDING="4" CELLSPACING="0"';
+
+my $PLUS_MINUS = "&plusmn;";
+
+if ($NUMPASSES < 3) {
+    die "Need at least 3 passes.  One is discarded (JIT warmup) and need two to have 1 degree of freedom (t distribution).";
+}
+
+my $OUT; # see out()
+
+main();
+
+#---------------------------------------------------------------------
+# ...
+sub main {
+    my $date = localtime;
+    my $title = "ICU4J Performance Test $date";
+
+    my $html = $date;
+    $html =~ s/://g; # ':' illegal
+    $html =~ s/\s*\d+$//; # delete year
+    $html =~ s/^\w+\s*//; # delete dow
+    $html = "perf $html.html";
+
+    open(HTML,">$html") or die "Can't write to $html: $!";
+
+    print HTML <<EOF;
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
+   "http://www.w3.org/TR/html4/strict.dtd">
+<HTML>
+   <HEAD>
+      <TITLE>$title</TITLE>
+   </HEAD>
+   <BODY>
+EOF
+    print HTML "<H1>$title</H1>\n";
+
+    print HTML "<H2>$TESTCLASS</H2>\n";
+
+    my $raw = "";
+
+    for my $methodPair (@METHODS) {
+
+        my $testMethod = $methodPair->[0];
+        my $baselineMethod = $methodPair->[1];
+
+        print HTML "<P><TABLE $TABLEATTR><TR><TD>\n";
+        print HTML "<P><B>$testMethod vs. $baselineMethod</B></P>\n";
+        
+        print HTML "<P><TABLE $TABLEATTR BGCOLOR=\"#CCFFFF\">\n";
+        print HTML "<TR><TD>Pattern</TD><TD>$testMethod</TD>";
+        print HTML "<TD>$baselineMethod</TD><TD>Ratio</TD></TR>\n";
+
+        $OUT = '';
+
+        for my $pat (@PATTERNS) {
+            print HTML "<TR><TD>$pat</TD>\n";
+
+            out("<P><TABLE $TABLEATTR WIDTH=\"100%\">");
+
+            # measure the test method
+            out("<TR><TD>");
+            print "\n$testMethod $pat\n";
+            my $t = measure2($testMethod, $pat, -$DURATION);
+            out("</TD></TR>");
+            print HTML "<TD>", formatSeconds(4, $t->getMean(), $t->getError);
+            print HTML "/event</TD>\n";
+
+            # measure baseline method
+            out("<TR><TD>");
+            print "\nBegin $baselineMethod $pat\n";
+            my $b = measure2($baselineMethod, $pat, -$DURATION);
+            out("</TD></TR>");
+            print HTML "<TD>", formatSeconds(4, $b->getMean(), $t->getError);
+            print HTML "/event</TD>\n";
+
+            out("</TABLE></P>");
+
+            # output ratio
+            my $r = $t->divide($b);
+            print HTML "<TD><B>", formatPercent(3, $r->getMean(), $r->getError);
+            print HTML "</B></TD></TR>\n";
+        }
+
+        print HTML "</TABLE></P>\n";
+
+        print HTML "<P>Raw data:</P>\n";
+        print HTML $OUT;
+        print HTML "</TABLE></P>\n";
+    }
+
+    print HTML <<EOF;
+   </BODY>
+</HTML>
+EOF
+    close(HTML) or die "Can't close $html: $!";
+}
+
+#---------------------------------------------------------------------
+# Append text to the global variable $OUT
+sub out {
+    $OUT .= join('', @_);
+}
+
+#---------------------------------------------------------------------
+# Append text to the global variable $OUT
+sub outln {
+    $OUT .= join('', @_) . "\n";
+}
+
+#---------------------------------------------------------------------
+# Measure a given test method with a give test pattern using the
+# global run parameters.
+#
+# @param the method to run
+# @param the pattern defining characters to test
+# @param if >0 then the number of iterations per pass.  If <0 then
+#        (negative of) the number of seconds per pass.
+#
+# @return a Dataset object, scaled by iterations per pass and
+#         events per iteration, to give time per event
+#
+sub measure2 {
+    my @data = measure1(@_);
+    my $iterPerPass = shift(@data);
+    my $eventPerIter = shift(@data);
+
+    shift(@data) if (@data > 1); # discard first run
+
+    my $ds = Dataset->new(@data);
+    $ds->setScale(1.0e-3 / ($iterPerPass * $eventPerIter));
+    $ds;
+}
+
+#---------------------------------------------------------------------
+# Measure a given test method with a give test pattern using the
+# global run parameters.
+#
+# @param the method to run
+# @param the pattern defining characters to test
+# @param if >0 then the number of iterations per pass.  If <0 then
+#        (negative of) the number of seconds per pass.
+#
+# @return array of:
+#         [0] iterations per pass
+#         [1] events per iteration
+#         [2..] ms reported for each pass, in order
+#
+sub measure1 {
+    my $method = shift;
+    my $pat = shift;
+    my $iterCount = shift; # actually might be -seconds/pass
+
+    out("<P>Measuring $method using $pat, ");
+    if ($iterCount > 0) {
+        out("$iterCount iterations/pass, $NUMPASSES passes</P>\n");
+    } else {
+        out(-$iterCount, " seconds/pass, $NUMPASSES passes</P>\n");
+    }
+
+    # is $iterCount actually -seconds?
+    if ($iterCount < 0) {
+
+        # calibrate: estimate ms/iteration
+        print "Calibrating...";
+        my @t = callJava($method, $pat, -$CALIBRATE);
+        print "done.\n";
+
+        my @data = split(/\s+/, $t[0]->[2]);
+        my $timePerIter = 1.0e-3 * $data[0] / $data[2];
+    
+        # determine iterations/pass
+        $iterCount = int(-$iterCount / $timePerIter + 0.5);
+
+        out("<P>Calibration pass ($CALIBRATE sec): ");
+        out("$data[0] ms, ");
+        out("$data[2] iterations = ");
+        out(formatSeconds(4, $timePerIter), "/iteration<BR>\n");
+    }
+    
+    # run passes
+    print "Measuring $iterCount iterations x $NUMPASSES passes...";
+    my @t = callJava($method, $pat, "$iterCount " x $NUMPASSES);
+    print "done.\n";
+    my @ms = ();
+    my @b; # scratch
+    for my $a (@t) {
+        # $a->[0]: method name, corresponds to $method
+        # $a->[1]: 'begin' data, == $iterCount
+        # $a->[2]: 'end' data, of the form <ms> <eventsPerIter>
+        # $a->[3...]: gc messages from JVM during pass
+        @b = split(/\s+/, $a->[2]);
+        push(@ms, $b[0]);
+    }
+    my $eventsPerIter = $b[1];
+
+    out("Iterations per pass: $iterCount<BR>\n");
+    out("Events per iteration: $eventsPerIter<BR>\n");
+
+    my @ms_str = @ms;
+    $ms_str[0] .= " (discarded)" if (@ms_str > 1);
+    out("Raw times (ms/pass): ", join(", ", @ms_str), "<BR>\n");
+
+    ($iterCount, $eventsPerIter, @ms);
+}
+
+#---------------------------------------------------------------------
+# Invoke java to run $TESTCLASS, passing it the given parameters.
+#
+# @param the method to run
+# @param the number of iterations, or if negative, the duration
+#        in seconds.  If more than on pass is desired, pass in
+#        a string, e.g., "100 100 100".
+# @param the pattern defining characters to test
+#
+# @return an array of results.  Each result is an array REF
+#         describing one pass.  The array REF contains:
+#         ->[0]: The method name as reported
+#         ->[1]: The params on the '= <meth> begin ...' line
+#         ->[2]: The params on the '= <meth> end ...' line
+#         ->[3..]: GC messages from the JVM, if any
+#
+sub callJava {
+    my $method = shift;
+    my $pat = shift;
+    my $n = shift;
+
+    my $cmd = "java -cp classes $TESTCLASS $method $n $pat";
+    # print "[$cmd]\n"; # for debugging
+    open(PIPE, "$cmd|") or die "Can't run \"$cmd\"";
+    my @out;
+    while (<PIPE>) {
+        push(@out, $_);
+    }
+    close(PIPE) or die "Java failed: \"$cmd\"";
+
+    @out = grep(!/^\#/, @out);  # filter out comments
+
+    #print "[", join("\n", @out), "]\n";
+
+    my @results;
+    my $method = '';
+    my $data = [];
+    foreach (@out) {
+        next unless (/\S/);
+
+        if (/^=\s*(\w+)\s*(\w+)\s*(.*)/) {
+            my ($m, $state, $d) = ($1, $2, $3);
+            #print "$_ => [[$m $state $data]]\n";
+            if ($state eq 'begin') {
+                die "$method was begun but not finished" if ($method);
+                $method = $m;
+                push(@$data, $d);
+                push(@$data, ''); # placeholder for end data
+            } elsif ($state eq 'end') {
+                if ($m ne $method) {
+                    die "$method end does not match: $_";
+                }
+                $data->[1] = $d; # insert end data at [1]
+                #print "#$method:", join(";",@$data), "\n";
+                unshift(@$data, $method); # add method to start
+                push(@results, $data);
+                $method = '';
+                $data = [];
+            } else {
+                die "Can't parse: $_";
+            }
+        }
+
+        elsif (/^\[/) {
+            if ($method) {
+                push(@$data, $_);
+            } else {
+                # ignore extraneous GC notices
+            }
+        }
+
+        else {
+            die "Can't parse: $_";
+        }
+    }
+
+    die "$method was begun but not finished" if ($method);
+
+    @results;
+}
+
+#|#---------------------------------------------------------------------
+#|# Format a confidence interval, as given by a Dataset.  Output is as
+#|# as follows:
+#|#   241.23 - 241.98 => 241.5 +/- 0.3
+#|#   241.2 - 243.8 => 242 +/- 1
+#|#   211.0 - 241.0 => 226 +/- 15 or? 230 +/- 20
+#|#   220.3 - 234.3 => 227 +/- 7
+#|#   220.3 - 300.3 => 260 +/- 40
+#|#   220.3 - 1000 => 610 +/- 390 or? 600 +/- 400
+#|#   0.022 - 0.024 => 0.023 +/- 0.001
+#|#   0.022 - 0.032 => 0.027 +/- 0.005
+#|#   0.022 - 1.000 => 0.5 +/- 0.5
+#|# In other words, take one significant digit of the error value and
+#|# display the mean to the same precision.
+#|sub formatDataset {
+#|    my $ds = shift;
+#|    my $lower = $ds->getMean() - $ds->getError();
+#|    my $upper = $ds->getMean() + $ds->getError();
+#|    my $scale = 0;
+#|    # Find how many initial digits are the same
+#|    while ($lower < 1 ||
+#|           int($lower) == int($upper)) {
+#|        $lower *= 10;
+#|        $upper *= 10;
+#|        $scale++;
+#|    }
+#|    while ($lower >= 10 &&
+#|           int($lower) == int($upper)) {
+#|        $lower /= 10;
+#|        $upper /= 10;
+#|        $scale--;
+#|    }
+#|}
+
+#---------------------------------------------------------------------
+# Format a number, optionally with a +/- delta, to n significant
+# digits.
+#
+# @param significant digit, a value >= 1
+# @param multiplier
+# @param time in seconds to be formatted
+# @optional delta in seconds
+#
+# @return string of the form "23" or "23 +/- 10".
+#
+sub formatNumber {
+    my $sigdig = shift;
+    my $mult = shift;
+    my $a = shift;
+    my $delta = shift; # may be undef
+    
+    my $result = formatSigDig($sigdig, $a*$mult);
+    if (defined($delta)) {
+        my $d = formatSigDig($sigdig, $delta*$mult);
+        # restrict PRECISION of delta to that of main number
+        if ($result =~ /\.(\d+)/) {
+            # TODO make this work for values with all significant
+            # digits to the left of the decimal, e.g., 1234000.
+
+            # TODO the other thing wrong with this is that it
+            # isn't rounding the $delta properly.  Have to put
+            # this logic into formatSigDig().
+            my $x = length($1);
+            $d =~ s/\.(\d{$x})\d+/.$1/;
+        }
+        $result .= " $PLUS_MINUS " . $d;
+    }
+    $result;
+}
+
+#---------------------------------------------------------------------
+# Format a time, optionally with a +/- delta, to n significant
+# digits.
+#
+# @param significant digit, a value >= 1
+# @param time in seconds to be formatted
+# @optional delta in seconds
+#
+# @return string of the form "23 ms" or "23 +/- 10 ms".
+#
+sub formatSeconds {
+    my $sigdig = shift;
+    my $a = shift;
+    my $delta = shift; # may be undef
+
+    my @MULT = (1   , 1e3,  1e6,  1e9);
+    my @SUFF = ('s' , 'ms', 'us', 'ns');
+
+    # Determine our scale
+    my $i = 0;
+    ++$i while ($a*$MULT[$i] < 1 && $i < @MULT);
+    
+    formatNumber($sigdig, $MULT[$i], $a, $delta) . ' ' . $SUFF[$i];
+}
+
+#---------------------------------------------------------------------
+# Format a percentage, optionally with a +/- delta, to n significant
+# digits.
+#
+# @param significant digit, a value >= 1
+# @param value to be formatted, as a fraction, e.g. 0.5 for 50%
+# @optional delta, as a fraction
+#
+# @return string of the form "23 %" or "23 +/- 10 %".
+#
+sub formatPercent {
+    my $sigdig = shift;
+    my $a = shift;
+    my $delta = shift; # may be undef
+    
+    formatNumber($sigdig, 100, $a, $delta) . ' %';
+}
+
+#---------------------------------------------------------------------
+# Format a number to n significant digits without using exponential
+# notation.
+#
+# @param significant digit, a value >= 1
+# @param number to be formatted
+#
+# @return string of the form "1234" "12.34" or "0.001234".  If
+#         number was negative, prefixed by '-'.
+#
+sub formatSigDig {
+    my $n = shift() - 1;
+    my $a = shift;
+
+    local $_ = sprintf("%.${n}e", $a);
+    my $sign = (s/^-//) ? '-' : '';
+
+    my $a_e;
+    my $result;
+    if (/^(\d)\.(\d+)e([-+]\d+)$/) {
+        my ($d, $dn, $e) = ($1, $2, $3);
+        $a_e = $e;
+        $d .= $dn;
+        $e++;
+        $d .= '0' while ($e > length($d));
+        while ($e < 1) {
+            $e++;
+            $d = '0' . $d;
+        }
+        if ($e == length($d)) {
+            $result = $sign . $d;
+        } else {
+            $result = $sign . substr($d, 0, $e) . '.' . substr($d, $e);
+        }
+    } else {
+        die "Can't parse $_";
+    }
+    $result;
+}
+
+#eof
diff --git a/src/com/ibm/icu/dev/test/perf/ucharacterperf.pl b/src/com/ibm/icu/dev/test/perf/ucharacterperf.pl
new file mode 100755
index 0000000..4b56270
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/perf/ucharacterperf.pl
@@ -0,0 +1,489 @@
+#/**
+# *******************************************************************************
+# * Copyright (C) 2002-2004, International Business Machines Corporation and    *
+# * others. All Rights Reserved.                                                *
+# *******************************************************************************
+# */
+
+#!/usr/local/bin/perl
+
+use strict;
+
+# Assume we are running within the icu4j root directory
+use lib 'src/com/ibm/icu/dev/test/perf';
+
+use Dataset;
+
+#---------------------------------------------------------------------
+# Test class
+my $TESTCLASS = 'com.ibm.icu.dev.test.perf.UCharacterPerf';
+
+# Methods to be tested.  Each pair represents a test method and
+# a baseline method which is used for comparison.
+my @METHODS  = (['Digit', 'JDKDigit'],
+                ['GetNumericValue', 'JDKGetNumericValue'],
+                ['GetType', 'JDKGetType'],
+                ['IsDefined', 'JDKIsDefined'],
+                ['IsDigit', 'JDKIsDigit'],
+                ['IsIdentifierIgnorable', 'JDKIsIdentifierIgnorable'],
+                ['IsISOControl', 'JDKIsISOControl'],
+                ['IsLetter', 'JDKIsLetter'],
+                ['IsLetterOrDigit', 'JDKIsLetterOrDigit'],
+                ['IsLowerCase', 'JDKIsLowerCase'],
+                ['IsSpaceChar', 'JDKIsSpaceChar'],
+                ['IsTitleCase', 'JDKIsTitleCase'],
+                ['IsUnicodeIdentifierPart', 'JDKIsUnicodeIdentifierPart'],
+                ['IsUnicodeIdentifierStart', 'JDKIsUnicodeIdentifierStart'],
+                ['IsUpperCase', 'JDKIsUpperCase'],
+                ['IsWhiteSpace', 'JDKIsWhiteSpace'],
+               );
+
+# Patterns which define the set of characters used for testing.
+my @PATTERNS = ('0 ffff');
+
+my $CALIBRATE = 2; # duration in seconds for initial calibration
+my $DURATION = 10; # duration in seconds for each pass
+my $NUMPASSES = 4; # number of passes.  If > 1 then the first pass
+                   # is discarded as a JIT warm-up pass.
+
+my $TABLEATTR = 'BORDER="1" CELLPADDING="4" CELLSPACING="0"';
+
+my $PLUS_MINUS = "&plusmn;";
+
+if ($NUMPASSES < 3) {
+    die "Need at least 3 passes.  One is discarded (JIT warmup) and need two to have 1 degree of freedom (t distribution).";
+}
+
+my $OUT; # see out()
+
+main();
+
+#---------------------------------------------------------------------
+# ...
+sub main {
+    my $date = localtime;
+    my $title = "ICU4J Performance Test $date";
+
+    my $html = $date;
+    $html =~ s/://g; # ':' illegal
+    $html =~ s/\s*\d+$//; # delete year
+    $html =~ s/^\w+\s*//; # delete dow
+    $html = "perf $html.html";
+
+    open(HTML,">$html") or die "Can't write to $html: $!";
+
+    print HTML <<EOF;
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
+   "http://www.w3.org/TR/html4/strict.dtd">
+<HTML>
+   <HEAD>
+      <TITLE>$title</TITLE>
+   </HEAD>
+   <BODY>
+EOF
+    print HTML "<H1>$title</H1>\n";
+
+    print HTML "<H2>$TESTCLASS</H2>\n";
+
+    my $raw = "";
+
+    for my $methodPair (@METHODS) {
+
+        my $testMethod = $methodPair->[0];
+        my $baselineMethod = $methodPair->[1];
+
+        print HTML "<P><TABLE $TABLEATTR><TR><TD>\n";
+        print HTML "<P><B>$testMethod vs. $baselineMethod</B></P>\n";
+        
+        print HTML "<P><TABLE $TABLEATTR BGCOLOR=\"#CCFFFF\">\n";
+        print HTML "<TR><TD>Pattern</TD><TD>$testMethod</TD>";
+        print HTML "<TD>$baselineMethod</TD><TD>Ratio</TD></TR>\n";
+
+        $OUT = '';
+
+        for my $pat (@PATTERNS) {
+            print HTML "<TR><TD>$pat</TD>\n";
+
+            out("<P><TABLE $TABLEATTR WIDTH=\"100%\">");
+
+            # measure the test method
+            out("<TR><TD>");
+            print "\n$testMethod $pat\n";
+            my $t = measure2($testMethod, $pat, -$DURATION);
+            out("</TD></TR>");
+            print HTML "<TD>", formatSeconds(4, $t->getMean(), $t->getError);
+            print HTML "/event</TD>\n";
+
+            # measure baseline method
+            out("<TR><TD>");
+            print "\nBegin $baselineMethod $pat\n";
+            my $b = measure2($baselineMethod, $pat, -$DURATION);
+            out("</TD></TR>");
+            print HTML "<TD>", formatSeconds(4, $b->getMean(), $t->getError);
+            print HTML "/event</TD>\n";
+
+            out("</TABLE></P>");
+
+            # output ratio
+            my $r = $t->divide($b);
+            print HTML "<TD><B>", formatPercent(3, $r->getMean(), $r->getError);
+            print HTML "</B></TD></TR>\n";
+        }
+
+        print HTML "</TABLE></P>\n";
+
+        print HTML "<P>Raw data:</P>\n";
+        print HTML $OUT;
+        print HTML "</TABLE></P>\n";
+    }
+
+    print HTML <<EOF;
+   </BODY>
+</HTML>
+EOF
+    close(HTML) or die "Can't close $html: $!";
+}
+
+#---------------------------------------------------------------------
+# Append text to the global variable $OUT
+sub out {
+    $OUT .= join('', @_);
+}
+
+#---------------------------------------------------------------------
+# Append text to the global variable $OUT
+sub outln {
+    $OUT .= join('', @_) . "\n";
+}
+
+#---------------------------------------------------------------------
+# Measure a given test method with a give test pattern using the
+# global run parameters.
+#
+# @param the method to run
+# @param the pattern defining characters to test
+# @param if >0 then the number of iterations per pass.  If <0 then
+#        (negative of) the number of seconds per pass.
+#
+# @return a Dataset object, scaled by iterations per pass and
+#         events per iteration, to give time per event
+#
+sub measure2 {
+    my @data = measure1(@_);
+    my $iterPerPass = shift(@data);
+    my $eventPerIter = shift(@data);
+
+    shift(@data) if (@data > 1); # discard first run
+
+    my $ds = Dataset->new(@data);
+    $ds->setScale(1.0e-3 / ($iterPerPass * $eventPerIter));
+    $ds;
+}
+
+#---------------------------------------------------------------------
+# Measure a given test method with a give test pattern using the
+# global run parameters.
+#
+# @param the method to run
+# @param the pattern defining characters to test
+# @param if >0 then the number of iterations per pass.  If <0 then
+#        (negative of) the number of seconds per pass.
+#
+# @return array of:
+#         [0] iterations per pass
+#         [1] events per iteration
+#         [2..] ms reported for each pass, in order
+#
+sub measure1 {
+    my $method = shift;
+    my $pat = shift;
+    my $iterCount = shift; # actually might be -seconds/pass
+
+    out("<P>Measuring $method using $pat, ");
+    if ($iterCount > 0) {
+        out("$iterCount iterations/pass, $NUMPASSES passes</P>\n");
+    } else {
+        out(-$iterCount, " seconds/pass, $NUMPASSES passes</P>\n");
+    }
+
+    # is $iterCount actually -seconds?
+    if ($iterCount < 0) {
+
+        # calibrate: estimate ms/iteration
+        print "Calibrating...";
+        my @t = callJava($method, $pat, -$CALIBRATE);
+        print "done.\n";
+
+        my @data = split(/\s+/, $t[0]->[2]);
+        my $timePerIter = 1.0e-3 * $data[0] / $data[2];
+    
+        # determine iterations/pass
+        $iterCount = int(-$iterCount / $timePerIter + 0.5);
+
+        out("<P>Calibration pass ($CALIBRATE sec): ");
+        out("$data[0] ms, ");
+        out("$data[2] iterations = ");
+        out(formatSeconds(4, $timePerIter), "/iteration<BR>\n");
+    }
+    
+    # run passes
+    print "Measuring $iterCount iterations x $NUMPASSES passes...";
+    my @t = callJava($method, $pat, "$iterCount " x $NUMPASSES);
+    print "done.\n";
+    my @ms = ();
+    my @b; # scratch
+    for my $a (@t) {
+        # $a->[0]: method name, corresponds to $method
+        # $a->[1]: 'begin' data, == $iterCount
+        # $a->[2]: 'end' data, of the form <ms> <eventsPerIter>
+        # $a->[3...]: gc messages from JVM during pass
+        @b = split(/\s+/, $a->[2]);
+        push(@ms, $b[0]);
+    }
+    my $eventsPerIter = $b[1];
+
+    out("Iterations per pass: $iterCount<BR>\n");
+    out("Events per iteration: $eventsPerIter<BR>\n");
+
+    my @ms_str = @ms;
+    $ms_str[0] .= " (discarded)" if (@ms_str > 1);
+    out("Raw times (ms/pass): ", join(", ", @ms_str), "<BR>\n");
+
+    ($iterCount, $eventsPerIter, @ms);
+}
+
+#---------------------------------------------------------------------
+# Invoke java to run $TESTCLASS, passing it the given parameters.
+#
+# @param the method to run
+# @param the number of iterations, or if negative, the duration
+#        in seconds.  If more than on pass is desired, pass in
+#        a string, e.g., "100 100 100".
+# @param the pattern defining characters to test, values in hex digits without 0x
+#
+# @return an array of results.  Each result is an array REF
+#         describing one pass.  The array REF contains:
+#         ->[0]: The method name as reported
+#         ->[1]: The params on the '= <meth> begin ...' line
+#         ->[2]: The params on the '= <meth> end ...' line
+#         ->[3..]: GC messages from the JVM, if any
+#
+sub callJava {
+    my $method = shift;
+    my $pat = shift;
+    my $n = shift;
+
+    my $cmd = "java -cp classes $TESTCLASS $method $n - $pat";
+    print "[$cmd]\n"; # for debugging
+    open(PIPE, "$cmd|") or die "Can't run \"$cmd\"";
+    my @out;
+    while (<PIPE>) {
+        push(@out, $_);
+    }
+    close(PIPE) or die "Java failed: \"$cmd\"";
+
+    @out = grep(!/^\#/, @out);  # filter out comments
+
+    #print "[", join("\n", @out), "]\n";
+
+    my @results;
+    my $method = '';
+    my $data = [];
+    foreach (@out) {
+        next unless (/\S/);
+
+        if (/^=\s*(\w+)\s*(\w+)\s*(.*)/) {
+            my ($m, $state, $d) = ($1, $2, $3);
+            #print "$_ => [[$m $state $data]]\n";
+            if ($state eq 'begin') {
+                die "$method was begun but not finished" if ($method);
+                $method = $m;
+                push(@$data, $d);
+                push(@$data, ''); # placeholder for end data
+            } elsif ($state eq 'end') {
+                if ($m ne $method) {
+                    die "$method end does not match: $_";
+                }
+                $data->[1] = $d; # insert end data at [1]
+                #print "#$method:", join(";",@$data), "\n";
+                unshift(@$data, $method); # add method to start
+                push(@results, $data);
+                $method = '';
+                $data = [];
+            } else {
+                die "Can't parse: $_";
+            }
+        }
+
+        elsif (/^\[/) {
+            if ($method) {
+                push(@$data, $_);
+            } else {
+                # ignore extraneous GC notices
+            }
+        }
+
+        else {
+            die "Can't parse: $_";
+        }
+    }
+
+    die "$method was begun but not finished" if ($method);
+
+    @results;
+}
+
+#|#---------------------------------------------------------------------
+#|# Format a confidence interval, as given by a Dataset.  Output is as
+#|# as follows:
+#|#   241.23 - 241.98 => 241.5 +/- 0.3
+#|#   241.2 - 243.8 => 242 +/- 1
+#|#   211.0 - 241.0 => 226 +/- 15 or? 230 +/- 20
+#|#   220.3 - 234.3 => 227 +/- 7
+#|#   220.3 - 300.3 => 260 +/- 40
+#|#   220.3 - 1000 => 610 +/- 390 or? 600 +/- 400
+#|#   0.022 - 0.024 => 0.023 +/- 0.001
+#|#   0.022 - 0.032 => 0.027 +/- 0.005
+#|#   0.022 - 1.000 => 0.5 +/- 0.5
+#|# In other words, take one significant digit of the error value and
+#|# display the mean to the same precision.
+#|sub formatDataset {
+#|    my $ds = shift;
+#|    my $lower = $ds->getMean() - $ds->getError();
+#|    my $upper = $ds->getMean() + $ds->getError();
+#|    my $scale = 0;
+#|    # Find how many initial digits are the same
+#|    while ($lower < 1 ||
+#|           int($lower) == int($upper)) {
+#|        $lower *= 10;
+#|        $upper *= 10;
+#|        $scale++;
+#|    }
+#|    while ($lower >= 10 &&
+#|           int($lower) == int($upper)) {
+#|        $lower /= 10;
+#|        $upper /= 10;
+#|        $scale--;
+#|    }
+#|}
+
+#---------------------------------------------------------------------
+# Format a number, optionally with a +/- delta, to n significant
+# digits.
+#
+# @param significant digit, a value >= 1
+# @param multiplier
+# @param time in seconds to be formatted
+# @optional delta in seconds
+#
+# @return string of the form "23" or "23 +/- 10".
+#
+sub formatNumber {
+    my $sigdig = shift;
+    my $mult = shift;
+    my $a = shift;
+    my $delta = shift; # may be undef
+    
+    my $result = formatSigDig($sigdig, $a*$mult);
+    if (defined($delta)) {
+        my $d = formatSigDig($sigdig, $delta*$mult);
+        # restrict PRECISION of delta to that of main number
+        if ($result =~ /\.(\d+)/) {
+            # TODO make this work for values with all significant
+            # digits to the left of the decimal, e.g., 1234000.
+
+            # TODO the other thing wrong with this is that it
+            # isn't rounding the $delta properly.  Have to put
+            # this logic into formatSigDig().
+            my $x = length($1);
+            $d =~ s/\.(\d{$x})\d+/.$1/;
+        }
+        $result .= " $PLUS_MINUS " . $d;
+    }
+    $result;
+}
+
+#---------------------------------------------------------------------
+# Format a time, optionally with a +/- delta, to n significant
+# digits.
+#
+# @param significant digit, a value >= 1
+# @param time in seconds to be formatted
+# @optional delta in seconds
+#
+# @return string of the form "23 ms" or "23 +/- 10 ms".
+#
+sub formatSeconds {
+    my $sigdig = shift;
+    my $a = shift;
+    my $delta = shift; # may be undef
+
+    my @MULT = (1   , 1e3,  1e6,  1e9);
+    my @SUFF = ('s' , 'ms', 'us', 'ns');
+
+    # Determine our scale
+    my $i = 0;
+    ++$i while ($a*$MULT[$i] < 1 && $i < @MULT);
+    
+    formatNumber($sigdig, $MULT[$i], $a, $delta) . ' ' . $SUFF[$i];
+}
+
+#---------------------------------------------------------------------
+# Format a percentage, optionally with a +/- delta, to n significant
+# digits.
+#
+# @param significant digit, a value >= 1
+# @param value to be formatted, as a fraction, e.g. 0.5 for 50%
+# @optional delta, as a fraction
+#
+# @return string of the form "23 %" or "23 +/- 10 %".
+#
+sub formatPercent {
+    my $sigdig = shift;
+    my $a = shift;
+    my $delta = shift; # may be undef
+    
+    formatNumber($sigdig, 100, $a, $delta) . ' %';
+}
+
+#---------------------------------------------------------------------
+# Format a number to n significant digits without using exponential
+# notation.
+#
+# @param significant digit, a value >= 1
+# @param number to be formatted
+#
+# @return string of the form "1234" "12.34" or "0.001234".  If
+#         number was negative, prefixed by '-'.
+#
+sub formatSigDig {
+    my $n = shift() - 1;
+    my $a = shift;
+
+    local $_ = sprintf("%.${n}e", $a);
+    my $sign = (s/^-//) ? '-' : '';
+
+    my $a_e;
+    my $result;
+    if (/^(\d)\.(\d+)e([-+]\d+)$/) {
+        my ($d, $dn, $e) = ($1, $2, $3);
+        $a_e = $e;
+        $d .= $dn;
+        $e++;
+        $d .= '0' while ($e > length($d));
+        while ($e < 1) {
+            $e++;
+            $d = '0' . $d;
+        }
+        if ($e == length($d)) {
+            $result = $sign . $d;
+        } else {
+            $result = $sign . substr($d, 0, $e) . '.' . substr($d, $e);
+        }
+    } else {
+        die "Can't parse $_";
+    }
+    $result;
+}
+
+#eof
diff --git a/src/com/ibm/icu/dev/test/rbbi/BreakIteratorRegTest.java b/src/com/ibm/icu/dev/test/rbbi/BreakIteratorRegTest.java
new file mode 100644
index 0000000..13ec96c
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/rbbi/BreakIteratorRegTest.java
@@ -0,0 +1,121 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.test.rbbi;
+
+import com.ibm.icu.dev.test.TestFmwk;
+import com.ibm.icu.text.BreakIterator;
+import java.text.CharacterIterator;
+import java.util.Arrays;
+import java.util.Locale;
+
+public class BreakIteratorRegTest extends TestFmwk
+{
+    public static void main(String[] args) throws Exception {
+        new BreakIteratorRegTest().run(args);
+    }
+
+    public void TestRegUnreg() {
+    Locale thailand_locale = new Locale("th", "TH", "");
+    Locale foo_locale = new Locale("fu", "FU", "FOO");
+    BreakIterator jwbi = BreakIterator.getWordInstance(Locale.JAPAN);
+    BreakIterator uwbi = BreakIterator.getWordInstance(Locale.US);
+    BreakIterator usbi = BreakIterator.getSentenceInstance(Locale.US);
+    BreakIterator twbi = BreakIterator.getWordInstance(thailand_locale);
+    BreakIterator rwbi = BreakIterator.getWordInstance(new Locale("", "", ""));
+
+    BreakIterator sbi = (BreakIterator)usbi.clone();
+    // todo: this will cause the test to fail, no way to set a breakiterator to null text so can't fix yet.
+    // String text = "This is some test, by golly. Boy, they don't make tests like they used to, do they?  This here test ain't worth $2.50.  Nope.";
+    // sbi.setText(text);
+
+    assertTrue(!BreakIterator.unregister(""), "unregister before register"); // coverage
+
+    Object key0 = BreakIterator.registerInstance((BreakIterator)twbi.clone(), foo_locale, BreakIterator.KIND_WORD);
+    Object key1 = BreakIterator.registerInstance(sbi, Locale.US, BreakIterator.KIND_WORD);
+    Object key2 = BreakIterator.registerInstance((BreakIterator)twbi.clone(), Locale.US, BreakIterator.KIND_WORD);
+    
+    {
+        BreakIterator test0 = BreakIterator.getWordInstance(Locale.JAPAN);
+        BreakIterator test1 = BreakIterator.getWordInstance(Locale.US);
+        BreakIterator test2 = BreakIterator.getSentenceInstance(Locale.US);
+        BreakIterator test3 = BreakIterator.getWordInstance(thailand_locale);
+        BreakIterator test4 = BreakIterator.getWordInstance(foo_locale);
+
+        assertEqual(test0, jwbi, "japan word == japan word");
+        assertEqual(test1, twbi, "us word == thai word");
+        assertEqual(test2, usbi, "us sentence == us sentence");
+        assertEqual(test3, twbi, "thai word == thai word");
+        assertEqual(test4, twbi, "foo word == thai word");
+    }
+
+    Locale[] locales = BreakIterator.getAvailableLocales();
+    
+    assertTrue(BreakIterator.unregister(key2), "unregister us word (thai word)");
+    assertTrue(!BreakIterator.unregister(key2), "unregister second time");
+    boolean error = false;
+    try {
+        BreakIterator.unregister(null);
+    }
+    catch (IllegalArgumentException e) {
+        error = true;
+    }
+
+    assertTrue(error, "unregister null");
+
+    {
+        CharacterIterator sci = BreakIterator.getWordInstance(Locale.US).getText();
+        int len = sci.getEndIndex() - sci.getBeginIndex();
+        assertEqual(len, 0, "us word text: " + getString(sci));
+    }
+
+    assertTrue(Arrays.asList(BreakIterator.getAvailableLocales()).contains(foo_locale), "foo_locale");
+    assertTrue(BreakIterator.unregister(key0), "unregister foo word (thai word)");
+    assertTrue(!Arrays.asList(BreakIterator.getAvailableLocales()).contains(foo_locale), "no foo_locale");
+    assertEqual(BreakIterator.getWordInstance(Locale.US), usbi, "us word == us sentence");
+    
+    assertTrue(BreakIterator.unregister(key1), "unregister us word (us sentence)");
+    {
+        BreakIterator test0 = BreakIterator.getWordInstance(Locale.JAPAN);
+        BreakIterator test1 = BreakIterator.getWordInstance(Locale.US);
+        BreakIterator test2 = BreakIterator.getSentenceInstance(Locale.US);
+        BreakIterator test3 = BreakIterator.getWordInstance(thailand_locale);
+        BreakIterator test4 = BreakIterator.getWordInstance(foo_locale);
+
+        assertEqual(test0, jwbi, "japanese word break");
+        assertEqual(test1, uwbi, "us sentence-word break");
+        assertEqual(test2, usbi, "us sentence break");
+        assertEqual(test3, twbi, "thai word break");
+        assertEqual(test4, rwbi, "root word break");
+
+        CharacterIterator sci = test1.getText();
+        int len = sci.getEndIndex() - sci.getBeginIndex();
+        assertEqual(len, 0, "us sentence-word break text: " + getString(sci));
+    }
+    }
+
+    private void assertEqual(Object lhs, Object rhs, String msg) {
+    msg(msg, lhs.equals(rhs) ? LOG : ERR, true, true);
+    }
+
+    private void assertEqual(int lhs, int rhs, String msg) {
+    msg(msg, lhs == rhs ? LOG : ERR, true, true);
+    }
+
+    private void assertTrue(boolean arg, String msg) {
+    msg(msg, arg ? LOG : ERR, true, true);
+    }
+
+    private static String getString(CharacterIterator ci) {
+    StringBuffer buf = new StringBuffer(ci.getEndIndex() - ci.getBeginIndex() + 2);
+    buf.append("'");
+    for (char c = ci.first(); c != CharacterIterator.DONE; c = ci.next()) {
+        buf.append(c);
+    }
+    buf.append("'");
+    return buf.toString();
+    }
+}
diff --git a/src/com/ibm/icu/dev/test/rbbi/BreakIteratorRules_en_US_TEST.java b/src/com/ibm/icu/dev/test/rbbi/BreakIteratorRules_en_US_TEST.java
new file mode 100755
index 0000000..2d353a4
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/rbbi/BreakIteratorRules_en_US_TEST.java
@@ -0,0 +1,219 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.test.rbbi;
+
+import java.util.ListResourceBundle;
+
+/**
+ * This resource bundle is included for testing and demonstration purposes only.
+ * It applies the dictionary-based algorithm to English text that has had all the
+ * spaces removed.  Once we have good test cases for Thai, we will replace this
+ * with good resource data (and a good dictionary file) for Thai
+ */
+public class BreakIteratorRules_en_US_TEST extends ListResourceBundle {
+    private static final String DATA_NAME = "/com/ibm/icu/dev/data/rbbi/english.dict";
+
+    // calling code will handle case where dictionary does not exist
+
+    public Object[][] getContents() {
+        return new Object[][] {
+            // names of classes to instantiate for the different kinds of break
+            // iterator.  Notice we're now using DictionaryBasedBreakIterator
+            // for word and line breaking.
+            {   "BreakIteratorClasses",
+                new String[] {
+                    "RuleBasedBreakIterator",
+                    // character-break iterator class
+                    "DictionaryBasedBreakIterator",
+                    // word-break iterator class
+                    "DictionaryBasedBreakIterator",
+                    // line-break iterator class
+                    "RuleBasedBreakIterator" } // sentence-break iterator class
+            },
+
+            // These are the same word-breaking rules as are specified in the default
+            // resource, except that the Latin letters, apostrophe, and hyphen are
+            // specified as dictionary characters
+            {
+                "WordBreakRules",
+                // ignore non-spacing marks, enclosing marks, and format characters,
+                // all of which should not influence the algorithm
+                "$_ignore_=[[:Mn:][:Me:][:Cf:]];"
+
+                // lower and upper case Roman letters, apostrophy and dash are
+                // in the English dictionary
+                +"$_dictionary_=[a-zA-Z\\'\\-];"
+
+                // Hindi phrase separator, kanji, katakana, hiragana, CJK diacriticals,
+                // other letters, and digits
+                +"$danda=[\u0964\u0965];"
+                    + "$kanji=[\u3005\u4e00-\u9fa5\uf900-\ufa2d];"
+                    + "$kata=[\u3099-\u309c\u30a1-\u30fe];"
+                    + "$hira=[\u3041-\u309e\u30fc];"
+                    + "$let=[[[:L:][:Mc:]]-[$kanji$kata$hira]];"
+                    + "$dgt=[:N:];"
+
+                // punctuation that can occur in the middle of a word: currently
+                // dashes, apostrophes, and quotation marks
+                +"$mid_word=[[:Pd:]\u00ad\u2027\\\"\\\'];"
+
+                // punctuation that can occur in the middle of a number: currently
+                // apostrophes, qoutation marks, periods, commas, and the Arabic
+                // decimal point
+                +"$mid_num=[\\\"\\\'\\,\u066b\\.];"
+
+                // punctuation that can occur at the beginning of a number: currently
+                // the period, the number sign, and all currency symbols except the cents sign
+                +"$pre_num=[[[:Sc:]-[\u00a2]]\\#\\.];"
+
+                // punctuation that can occur at the end of a number: currently
+                // the percent, per-thousand, per-ten-thousand, and Arabic percent
+                // signs, the cents sign, and the ampersand
+                +"$post_num=[\\%\\&\u00a2\u066a\u2030\u2031];"
+
+                // line separators: currently LF, FF, PS, and LS
+                +"$ls=[\n\u000c\u2028\u2029];"
+
+                // whitespace: all space separators and the tab character
+                +"$ws=[[:Zs:]\t];"
+
+                // a word is a sequence of letters that may contain internal
+                // punctuation, as long as it begins and ends with a letter and
+                // never contains two punctuation marks in a row
+                +"$word=($let+($mid_word$let+)*$danda?);"
+
+                // a number is a sequence of digits that may contain internal
+                // punctuation, as long as it begins and ends with a digit and
+                // never contains two punctuation marks in a row.
+                +"$number=($dgt+($mid_num$dgt+)*);"
+
+                // break after every character, with the following exceptions
+                // (this will cause punctuation marks that aren't considered
+                // part of words or numbers to be treated as words unto themselves)
+                +".;"
+
+                // keep together any sequence of contiguous words and numbers
+                // (including just one of either), plus an optional trailing
+                // number-suffix character
+                +"$word?($number$word)*($number$post_num?)?;"
+
+                // keep together and sequence of contiguous words and numbers
+                // that starts with a number-prefix character and a number,
+                // and may end with a number-suffix character
+                +"$pre_num($number$word)*($number$post_num?)?;"
+
+                // keep together runs of whitespace (optionally with a single trailing
+                // line separator or CRLF sequence)
+                +"$ws*\r?$ls?;"
+
+                // keep together runs of Katakana
+                +"$kata*;"
+
+                // keep together runs of Hiragana
+                +"$hira*;"
+
+                // keep together runs of Kanji
+                +"$kanji*;" },
+
+            // These are the same line-breaking rules as are specified in the default
+            // resource, except that the Latin letters, apostrophe, and hyphen are
+            // specified as dictionary characters
+            {   "LineBreakRules",
+                // ignore non-spacing marks, enclosing marks, and format characters
+                "$_ignore_=[[:Mn:][:Me:][:Cf:]];"
+
+                // lower and upper case Roman letters, apostrophy and dash
+                // are in the English dictionary
+                +"$_dictionary_=[a-zA-Z\\'\\-];"
+
+                // Hindi phrase separators
+                +"$danda=[\u0964\u0965];"
+
+                // characters that always cause a break: ETX, tab, LF, FF, LS, and PS
+                +"$break=[\u0003\t\n\f\u2028\u2029];"
+
+                // characters that always prevent a break: the non-breaking space
+                // and similar characters
+                +"$nbsp=[\u00a0\u2007\u2011\ufeff];"
+
+                // whitespace: space separators and control characters, except for
+                // CR and the other characters mentioned above
+                +"$space=[[[:Zs:][:Cc:]]-[$nbsp$break\r]];"
+
+                // dashes: dash punctuation and the discretionary hyphen, except for
+                // non-breaking hyphens
+                +"$dash=[[[:Pd:]\u00ad]-[$nbsp]];"
+
+                // characters that stick to a word if they precede it: currency symbols
+                // (except the cents sign) and starting punctuation
+                +"$pre_word=[[[:Sc:]-[\u00a2]][:Ps:]\\\"\\\'];"
+
+                // characters that stick to a word if they follow it: ending punctuation,
+                // other punctuation that usually occurs at the end of a sentence,
+                // small Kana characters, some CJK diacritics, etc.
+                +"$post_word=[[:Pe:]\\!\\\"\\\'\\%\\.\\,\\:\\;\\?\u00a2\u00b0\u066a\u2030-\u2034"
+                    + "\u2103\u2105\u2109\u3001\u3002\u3005\u3041\u3043\u3045\u3047\u3049\u3063"
+                    + "\u3083\u3085\u3087\u308e\u3099-\u309e\u30a1\u30a3\u30a5\u30a7\u30a9"
+                    + "\u30c3\u30e3\u30e5\u30e7\u30ee\u30f5\u30f6\u30fc-\u30fe\uff01\uff0c"
+                    + "\uff0e\uff1f];"
+
+                // Kanji: actually includes both Kanji and Kana, except for small Kana and
+                // CJK diacritics
+                +"$kanji=[[\u4e00-\u9fa5\uf900-\ufa2d\u3041-\u3094\u30a1-\u30fa]-[$post_word$_ignore_]];"
+
+                // digits
+                +"$digit=[[:Nd:][:No:]];"
+
+                // punctuation that can occur in the middle of a number: periods and commas
+                +"$mid_num=[\\.\\,];"
+
+                // everything not mentioned above, plus the quote marks (which are both
+                // <pre-word>, <post-word>, and <char>)
+                +"$char=[^$break$space$dash$kanji$nbsp$_ignore_$pre_word$post_word$mid_num$danda\r\\\"\\\'];"
+
+                // a "number" is a run of prefix characters and dashes, followed by one or
+                // more digits with isolated number-punctuation characters interspersed
+                +"$number=([$pre_word$dash]*$digit+($mid_num$digit+)*);"
+
+                // the basic core of a word can be either a "number" as defined above, a single
+                // "Kanji" character, or a run of any number of not-explicitly-mentioned
+                // characters (this includes Latin letters)
+                +"$word_core=([$pre_word$char]*|$kanji|$number);"
+
+                // a word may end with an optional suffix that be either a run of one or
+                // more dashes or a run of word-suffix characters, followed by an optional
+                // run of whitespace
+                +"$word_suffix=(($dash+|$post_word*)$space*);"
+
+                // a word, thus, is an optional run of word-prefix characters, followed by
+                // a word core and a word suffix (the syntax of <word-core> and <word-suffix>
+                // actually allows either of them to match the empty string, putting a break
+                // between things like ")(" or "aaa(aaa"
+                +"$word=($pre_word*$word_core$word_suffix);"
+
+                // finally, the rule that does the work: Keep together any run of words that
+                // are joined by runs of one of more non-spacing mark.  Also keep a trailing
+                // line-break character or CRLF combination with the word.  (line separators
+                // "win" over nbsp's)
+                +"$word($nbsp+$word)*\r?$break?;" },
+
+            // these two resources specify the pathnames of the dictionary files to
+            // use for word breaking and line breaking.  Both currently refer to
+            // a file called english.dict placed in com.ibm.icu.impl.data
+            // somewhere in the class path.  It's important to note that
+            // english.dict was created for testing purposes only, and doesn't
+            // come anywhere close to being an exhaustive dictionary of English
+            // words (basically, it contains all the words in the Declaration of
+            // Independence, and the Revised Standard Version of the book of Genesis,
+            // plus a few other words thrown in to show more interesting cases).
+            // { "WordBreakDictionary", "com\\ibm\\text\\resources\\english.dict" },
+            // { "LineBreakDictionary", "com\\ibm\\text\\resources\\english.dict" }
+            {   "WordBreakDictionary", DATA_NAME }, 
+            {   "LineBreakDictionary", DATA_NAME }
+        };
+    }
+}
diff --git a/src/com/ibm/icu/dev/test/rbbi/BreakIteratorTest.java b/src/com/ibm/icu/dev/test/rbbi/BreakIteratorTest.java
new file mode 100755
index 0000000..3d8fa9a
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/rbbi/BreakIteratorTest.java
@@ -0,0 +1,1660 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.test.rbbi;
+
+import com.ibm.icu.dev.test.*;
+import com.ibm.icu.text.BreakIterator;
+import com.ibm.icu.text.RuleBasedBreakIterator_Old;
+import java.text.StringCharacterIterator;
+import java.util.Locale;
+import java.util.Vector;
+
+public class BreakIteratorTest extends TestFmwk
+{
+    private BreakIterator characterBreak;
+    private BreakIterator wordBreak;
+    private BreakIterator lineBreak;
+    private BreakIterator sentenceBreak;
+    private BreakIterator titleBreak;
+
+    public static void main(String[] args) throws Exception {
+        new BreakIteratorTest().run(args);
+    }
+
+    public BreakIteratorTest()
+    {
+
+    }
+    protected void init(){
+        characterBreak = BreakIterator.getCharacterInstance();
+        wordBreak = BreakIterator.getWordInstance();
+        lineBreak = BreakIterator.getLineInstance();
+        //logln("Creating sentence iterator...");
+        sentenceBreak = BreakIterator.getSentenceInstance();
+        //logln("Finished creating sentence iterator...");
+        titleBreak = BreakIterator.getTitleInstance();
+    }
+    //=========================================================================
+    // general test subroutines
+    //=========================================================================
+
+    private void generalIteratorTest(BreakIterator bi, Vector expectedResult) {
+        StringBuffer buffer = new StringBuffer();
+        String text;
+        for (int i = 0; i < expectedResult.size(); i++) {
+            text = (String)expectedResult.elementAt(i);
+            buffer.append(text);
+        }
+        text = buffer.toString();
+
+        bi.setText(text);
+
+        Vector nextResults = _testFirstAndNext(bi, text);
+        Vector previousResults = _testLastAndPrevious(bi, text);
+
+        logln("comparing forward and backward...");
+        int errs = getErrorCount();
+        compareFragmentLists("forward iteration", "backward iteration", nextResults,
+                        previousResults);
+        if (getErrorCount() == errs) {
+            logln("comparing expected and actual...");
+            compareFragmentLists("expected result", "actual result", expectedResult,
+                            nextResults);
+        }
+
+        int[] boundaries = new int[expectedResult.size() + 3];
+        boundaries[0] = BreakIterator.DONE;
+        boundaries[1] = 0;
+        for (int i = 0; i < expectedResult.size(); i++)
+            boundaries[i + 2] = boundaries[i + 1] + ((String)expectedResult.elementAt(i)).
+                            length();
+        boundaries[boundaries.length - 1] = BreakIterator.DONE;
+
+        _testFollowing(bi, text, boundaries);
+        _testPreceding(bi, text, boundaries);
+        _testIsBoundary(bi, text, boundaries);
+
+        doMultipleSelectionTest(bi, text);
+    }
+
+    private Vector _testFirstAndNext(BreakIterator bi, String text) {
+        int p = bi.first();
+        int lastP = p;
+        Vector result = new Vector();
+
+        if (p != 0)
+            errln("first() returned " + p + " instead of 0");
+        while (p != BreakIterator.DONE) {
+            p = bi.next();
+            if (p != BreakIterator.DONE) {
+                if (p <= lastP)
+                    errln("next() failed to move forward: next() on position "
+                                    + lastP + " yielded " + p);
+
+                result.addElement(text.substring(lastP, p));
+            }
+            else {
+                if (lastP != text.length())
+                    errln("next() returned DONE prematurely: offset was "
+                                    + lastP + " instead of " + text.length());
+            }
+            lastP = p;
+        }
+        return result;
+    }
+
+    private Vector _testLastAndPrevious(BreakIterator bi, String text) {
+        int p = bi.last();
+        int lastP = p;
+        Vector result = new Vector();
+
+        if (p != text.length())
+            errln("last() returned " + p + " instead of " + text.length());
+        while (p != BreakIterator.DONE) {
+            p = bi.previous();
+            if (p != BreakIterator.DONE) {
+                if (p >= lastP)
+                    errln("previous() failed to move backward: previous() on position "
+                                    + lastP + " yielded " + p);
+
+                result.insertElementAt(text.substring(p, lastP), 0);
+            }
+            else {
+                if (lastP != 0)
+                    errln("previous() returned DONE prematurely: offset was "
+                                    + lastP + " instead of 0");
+            }
+            lastP = p;
+        }
+        return result;
+    }
+
+    private void compareFragmentLists(String f1Name, String f2Name, Vector f1, Vector f2) {
+        int p1 = 0;
+        int p2 = 0;
+        String s1;
+        String s2;
+        int t1 = 0;
+        int t2 = 0;
+
+        while (p1 < f1.size() && p2 < f2.size()) {
+            s1 = (String)f1.elementAt(p1);
+            s2 = (String)f2.elementAt(p2);
+            t1 += s1.length();
+            t2 += s2.length();
+
+            if (s1.equals(s2)) {
+                debugLogln("   >" + s1 + "<");
+                ++p1;
+                ++p2;
+            }
+            else {
+                int tempT1 = t1;
+                int tempT2 = t2;
+                int tempP1 = p1;
+                int tempP2 = p2;
+
+                while (tempT1 != tempT2 && tempP1 < f1.size() && tempP2 < f2.size()) {
+                    while (tempT1 < tempT2 && tempP1 < f1.size()) {
+                        tempT1 += ((String)f1.elementAt(tempP1)).length();
+                        ++tempP1;
+                    }
+                    while (tempT2 < tempT1 && tempP2 < f2.size()) {
+                        tempT2 += ((String)f2.elementAt(tempP2)).length();
+                        ++tempP2;
+                    }
+                }
+                logln("*** " + f1Name + " has:");
+                while (p1 <= tempP1 && p1 < f1.size()) {
+                    s1 = (String)f1.elementAt(p1);
+                    t1 += s1.length();
+                    debugLogln(" *** >" + s1 + "<");
+                    ++p1;
+                }
+                logln("***** " + f2Name + " has:");
+                while (p2 <= tempP2 && p2 < f2.size()) {
+                    s2 = (String)f2.elementAt(p2);
+                    t2 += s2.length();
+                    debugLogln(" ***** >" + s2 + "<");
+                    ++p2;
+                }
+                errln("Discrepancy between " + f1Name + " and " + f2Name);
+            }
+        }
+    }
+
+    private void _testFollowing(BreakIterator bi, String text, int[] boundaries) {
+        logln("testFollowing():");
+        int p = 2;
+        for (int i = 0; i <= text.length(); i++) {
+            if (i == boundaries[p])
+                ++p;
+
+            int b = bi.following(i);
+            logln("bi.following(" + i + ") -> " + b);
+            if (b != boundaries[p])
+                errln("Wrong result from following() for " + i + ": expected " + boundaries[p]
+                                + ", got " + b);
+        }
+    }
+
+    private void _testPreceding(BreakIterator bi, String text, int[] boundaries) {
+        logln("testPreceding():");
+        int p = 0;
+        for (int i = 0; i <= text.length(); i++) {
+            int b = bi.preceding(i);
+            logln("bi.preceding(" + i + ") -> " + b);
+            if (b != boundaries[p])
+                errln("Wrong result from preceding() for " + i + ": expected " + boundaries[p]
+                                + ", got " + b);
+
+            if (i == boundaries[p + 1])
+                ++p;
+        }
+    }
+
+    private void _testIsBoundary(BreakIterator bi, String text, int[] boundaries) {
+        logln("testIsBoundary():");
+        int p = 1;
+        boolean isB;
+        for (int i = 0; i <= text.length(); i++) {
+            isB = bi.isBoundary(i);
+            logln("bi.isBoundary(" + i + ") -> " + isB);
+
+            if (i == boundaries[p]) {
+                if (!isB)
+                    errln("Wrong result from isBoundary() for " + i + ": expected true, got false");
+                ++p;
+            }
+            else {
+                if (isB)
+                    errln("Wrong result from isBoundary() for " + i + ": expected false, got true");
+            }
+        }
+    }
+
+    private void doMultipleSelectionTest(BreakIterator iterator, String testText)
+    {
+        logln("Multiple selection test...");
+        BreakIterator testIterator = (BreakIterator)iterator.clone();
+        int offset = iterator.first();
+        int testOffset;
+        int count = 0;
+
+        do {
+            testOffset = testIterator.first();
+            testOffset = testIterator.next(count);
+            logln("next(" + count + ") -> " + testOffset);
+            if (offset != testOffset)
+                errln("next(n) and next() not returning consistent results: for step " + count + ", next(n) returned " + testOffset + " and next() had " + offset);
+
+            if (offset != BreakIterator.DONE) {
+                count++;
+                offset = iterator.next();
+            }
+        } while (offset != BreakIterator.DONE);
+
+        // now do it backwards...
+        offset = iterator.last();
+        count = 0;
+
+        do {
+            testOffset = testIterator.last();
+            testOffset = testIterator.next(count);
+            logln("next(" + count + ") -> " + testOffset);
+            if (offset != testOffset)
+                errln("next(n) and next() not returning consistent results: for step " + count + ", next(n) returned " + testOffset + " and next() had " + offset);
+
+            if (offset != BreakIterator.DONE) {
+                count--;
+                offset = iterator.previous();
+            }
+        } while (offset != BreakIterator.DONE);
+    }
+
+    private void doBreakInvariantTest(BreakIterator tb, String testChars)
+    {
+        StringBuffer work = new StringBuffer("aaa");
+//        int errorCount = 0;
+
+        // a break should always occur after CR (unless followed by LF), LF, PS, and LS,
+        // unless they're followed by a non-spacing mark or a format character
+        String breaks = "\r\n\u2029\u2028";
+
+        for (int i = 0; i < breaks.length(); i++) {
+            work.setCharAt(1, breaks.charAt(i));
+            for (int j = 0; j < testChars.length(); j++) {
+                work.setCharAt(0, testChars.charAt(j));
+                for (int k = 0; k < testChars.length(); k++) {
+                    char c = testChars.charAt(k);
+
+                    // if a cr is followed by lf, ps, ls or etx, don't do the check (that's
+                    // not supposed to work)
+                    if (work.charAt(1) == '\r' && (c == '\n' || c == '\u2029'
+                            || c == '\u2028' || c == '\u0003'))
+                        continue;
+
+                    work.setCharAt(2, c);
+                    tb.setText(work.toString());
+                    boolean seen2 = false;
+                    for (int l = tb.first(); l != BreakIterator.DONE; l = tb.next()) {
+                        if (l == 2)
+                            seen2 = true;
+                    }
+                    if (!seen2) {
+                        errln("No break between U+" + Integer.toHexString((int)(work.charAt(1)))
+                                    + " and U+" + Integer.toHexString((int)(work.charAt(2))));
+                    }
+                }
+            }
+        }
+    }
+
+    private void doOtherInvariantTest(BreakIterator tb, String testChars)
+    {
+        StringBuffer work = new StringBuffer("a\r\na");
+        int errorCount = 0;
+
+        // a break should never occur between CR and LF
+        for (int i = 0; i < testChars.length(); i++) {
+            work.setCharAt(0, testChars.charAt(i));
+            for (int j = 0; j < testChars.length(); j++) {
+                work.setCharAt(3, testChars.charAt(j));
+                tb.setText(work.toString());
+                for (int k = tb.first(); k != BreakIterator.DONE; k = tb.next())
+                    if (k == 2) {
+                        errln("Break between CR and LF in string U+" + Integer.toHexString(
+                                (int)(work.charAt(0))) + ", U+d U+a U+" + Integer.toHexString(
+                                (int)(work.charAt(3))));
+                        errorCount++;
+                        if (errorCount >= 75)
+                            return;
+                    }
+            }
+        }
+
+        // a break should never occur before a non-spacing mark, unless it's preceded
+        // by a line terminator
+        work.setLength(0);
+        work.append("aaaa");
+        for (int i = 0; i < testChars.length(); i++) {
+            char c = testChars.charAt(i);
+            if (c == '\n' || c == '\r' || c == '\u2029' || c == '\u2028' || c == '\u0003')
+                continue;
+            work.setCharAt(1, c);
+            for (int j = 0; j < testChars.length(); j++) {
+                c = testChars.charAt(j);
+                if (Character.getType(c) != Character.NON_SPACING_MARK && Character.getType(c)
+                        != Character.ENCLOSING_MARK)
+                    continue;
+                work.setCharAt(2, c);
+                tb.setText(work.toString());
+                for (int k = tb.first(); k != BreakIterator.DONE; k = tb.next())
+                    if (k == 2) {
+                        errln("Break between U+" + Integer.toHexString((int)(work.charAt(1)))
+                                + " and U+" + Integer.toHexString((int)(work.charAt(2))));
+                        errorCount++;
+                        if (errorCount >= 75)
+                            return;
+                    }
+            }
+        }
+    }
+
+    public void debugLogln(String s) {
+        final String zeros = "0000";
+        String temp;
+        StringBuffer out = new StringBuffer();
+        for (int i = 0; i < s.length(); i++) {
+            char c = s.charAt(i);
+            if (c >= ' ' && c < '\u007f')
+                out.append(c);
+            else {
+                out.append("\\u");
+                temp = Integer.toHexString((int)c);
+                out.append(zeros.substring(0, 4 - temp.length()));
+                out.append(temp);
+            }
+        }
+        logln(out.toString());
+    }
+
+    //=========================================================================
+    // tests
+    //=========================================================================
+
+    public void TestWordBreak() {
+        try {
+            RuleBasedBreakIterator_Old olb = (RuleBasedBreakIterator_Old)wordBreak;
+            Vector wordSelectionData = new Vector();
+            
+            wordSelectionData.addElement("12,34");
+            
+            wordSelectionData.addElement(" ");
+            wordSelectionData.addElement("\u00A2"); //cent sign
+            wordSelectionData.addElement("\u00A3"); //pound sign
+            wordSelectionData.addElement("\u00A4"); //currency sign
+            wordSelectionData.addElement("\u00A5"); //yen sign
+            wordSelectionData.addElement("alpha-beta-gamma");
+            wordSelectionData.addElement(".");
+            wordSelectionData.addElement(" ");
+            wordSelectionData.addElement("Badges");
+            wordSelectionData.addElement("?");
+            wordSelectionData.addElement(" ");
+            wordSelectionData.addElement("BADGES");
+            wordSelectionData.addElement("!");
+            wordSelectionData.addElement("?");
+            wordSelectionData.addElement("!");
+            wordSelectionData.addElement(" ");
+            wordSelectionData.addElement("We");
+            wordSelectionData.addElement(" ");
+            wordSelectionData.addElement("don't");
+            wordSelectionData.addElement(" ");
+            wordSelectionData.addElement("need");
+            wordSelectionData.addElement(" ");
+            wordSelectionData.addElement("no");
+            wordSelectionData.addElement(" ");
+            wordSelectionData.addElement("STINKING");
+            wordSelectionData.addElement(" ");
+            wordSelectionData.addElement("BADGES");
+            wordSelectionData.addElement("!");
+            wordSelectionData.addElement("!");
+            wordSelectionData.addElement("!");
+            
+            wordSelectionData.addElement("012.566,5");
+            wordSelectionData.addElement(" ");
+            wordSelectionData.addElement("123.3434,900");
+            wordSelectionData.addElement(" ");
+            wordSelectionData.addElement("1000,233,456.000");
+            wordSelectionData.addElement(" ");
+            wordSelectionData.addElement("1,23.322%");
+            wordSelectionData.addElement(" ");
+            wordSelectionData.addElement("123.1222");
+            
+            wordSelectionData.addElement(" ");
+            wordSelectionData.addElement("\u0024123,000.20");
+            
+            wordSelectionData.addElement(" ");
+            wordSelectionData.addElement("179.01\u0025");
+            
+            wordSelectionData.addElement("Hello");
+            wordSelectionData.addElement(",");
+            wordSelectionData.addElement(" ");
+            wordSelectionData.addElement("how");
+            wordSelectionData.addElement(" ");
+            wordSelectionData.addElement("are");
+            wordSelectionData.addElement(" ");
+            wordSelectionData.addElement("you");
+            wordSelectionData.addElement(" ");
+            wordSelectionData.addElement("X");
+            wordSelectionData.addElement(" ");
+            
+            wordSelectionData.addElement("Now");
+            wordSelectionData.addElement("\r");
+            wordSelectionData.addElement("is");
+            wordSelectionData.addElement("\n");
+            wordSelectionData.addElement("the");
+            wordSelectionData.addElement("\r\n");
+            wordSelectionData.addElement("time");
+            wordSelectionData.addElement("\n");
+            wordSelectionData.addElement("\r");
+            wordSelectionData.addElement("for");
+            wordSelectionData.addElement("\r");
+            wordSelectionData.addElement("\r");
+            wordSelectionData.addElement("all");
+            wordSelectionData.addElement(" ");
+            
+            generalIteratorTest(wordBreak, wordSelectionData);
+        }
+        catch (ClassCastException e) {
+            logln("New Break Iterator, skipping old test");
+        }   
+    }
+
+    /**
+     * @bug 4097779
+     */
+    public void TestBug4097779() {
+        Vector wordSelectionData = new Vector();
+
+        wordSelectionData.addElement("aa\u0300a");
+        wordSelectionData.addElement(" ");
+
+        generalIteratorTest(wordBreak, wordSelectionData);
+    }
+
+    /**
+     * @bug 4098467
+     */
+    public void TestBug4098467Words() {
+        Vector wordSelectionData = new Vector();
+
+        // What follows is a string of Korean characters (I found it in the Yellow Pages
+        // ad for the Korean Presbyterian Church of San Francisco, and I hope I transcribed
+        // it correctly), first as precomposed syllables, and then as conjoining jamo.
+        // Both sequences should be semantically identical and break the same way.
+        // precomposed syllables...
+        wordSelectionData.addElement("\uc0c1\ud56d");
+        wordSelectionData.addElement(" ");
+        wordSelectionData.addElement("\ud55c\uc778");
+        wordSelectionData.addElement(" ");
+        wordSelectionData.addElement("\uc5f0\ud569");
+        wordSelectionData.addElement(" ");
+        wordSelectionData.addElement("\uc7a5\ub85c\uad50\ud68c");
+        wordSelectionData.addElement(" ");
+        // conjoining jamo...
+        wordSelectionData.addElement("\u1109\u1161\u11bc\u1112\u1161\u11bc");
+        wordSelectionData.addElement(" ");
+        wordSelectionData.addElement("\u1112\u1161\u11ab\u110b\u1175\u11ab");
+        wordSelectionData.addElement(" ");
+        wordSelectionData.addElement("\u110b\u1167\u11ab\u1112\u1161\u11b8");
+        wordSelectionData.addElement(" ");
+        wordSelectionData.addElement("\u110c\u1161\u11bc\u1105\u1169\u1100\u116d\u1112\u116c");
+        wordSelectionData.addElement(" ");
+
+        generalIteratorTest(wordBreak, wordSelectionData);
+    }
+
+    /**
+     * @bug 4117554
+     */
+    public void TestBug4117554Words() {
+        try {
+            RuleBasedBreakIterator_Old olb = (RuleBasedBreakIterator_Old)wordBreak;
+            Vector wordSelectionData = new Vector();
+            
+            // this is a test for bug #4117554: the ideographic iteration mark (U+3005) should
+            // count as a Kanji character for the purposes of word breaking
+            wordSelectionData.addElement("abc");
+            wordSelectionData.addElement("\u4e01\u4e02\u3005\u4e03\u4e03");
+            wordSelectionData.addElement("abc");
+            
+            generalIteratorTest(wordBreak, wordSelectionData);
+        }
+        catch (ClassCastException e) {
+            logln("New Break Iterator, skipping old test");
+        }   
+    }
+
+    public void TestSentenceBreak() {
+        try {
+            RuleBasedBreakIterator_Old olb = (RuleBasedBreakIterator_Old)sentenceBreak;
+            Vector sentenceSelectionData = new Vector();
+            
+            sentenceSelectionData.addElement("This is a simple sample sentence. ");
+            sentenceSelectionData.addElement("(This is it.) ");
+            sentenceSelectionData.addElement("This is a simple sample sentence. ");
+            sentenceSelectionData.addElement("\"This isn\'t it.\" ");
+            sentenceSelectionData.addElement("Hi! ");
+            sentenceSelectionData.addElement("This is a simple sample sentence. ");
+            sentenceSelectionData.addElement("It does not have to make any sense as you can see. ");
+            sentenceSelectionData.addElement("Nel mezzo del cammin di nostra vita, mi ritrovai in una selva oscura. ");
+            sentenceSelectionData.addElement("Che la dritta via aveo smarrita. ");
+            sentenceSelectionData.addElement("He said, that I said, that you said!! ");
+            
+            sentenceSelectionData.addElement("Don't rock the boat.\u2029");
+            
+            sentenceSelectionData.addElement("Because I am the daddy, that is why. ");
+            sentenceSelectionData.addElement("Not on my time (el timo.)! ");
+            
+            sentenceSelectionData.addElement("So what!!\u2029");
+            
+            sentenceSelectionData.addElement("\"But now,\" he said, \"I know!\" ");
+            sentenceSelectionData.addElement("Harris thumbed down several, including \"Away We Go\" (which became the huge success Oklahoma!). ");
+            sentenceSelectionData.addElement("One species, B. anthracis, is highly virulent.\n");
+            sentenceSelectionData.addElement("Wolf said about Sounder:\"Beautifully thought-out and directed.\" ");
+            sentenceSelectionData.addElement("Have you ever said, \"This is where \tI shall live\"? ");
+            sentenceSelectionData.addElement("He answered, \"You may not!\" ");
+            sentenceSelectionData.addElement("Another popular saying is: \"How do you do?\". ");
+            sentenceSelectionData.addElement("Yet another popular saying is: \'I\'m fine thanks.\' ");
+            sentenceSelectionData.addElement("What is the proper use of the abbreviation pp.? ");
+            sentenceSelectionData.addElement("Yes, I am definatelly 12\" tall!!");
+            
+            generalIteratorTest(sentenceBreak, sentenceSelectionData);
+        }
+        catch (ClassCastException e) {
+            logln("New Break Iterator, skipping old test");
+        }   
+}
+
+    /**
+     * @bug 4113835
+     */
+    public void TestBug4113835() {
+        try {
+            RuleBasedBreakIterator_Old olb = (RuleBasedBreakIterator_Old)sentenceBreak;
+            
+            Vector sentenceSelectionData = new Vector();
+            
+            // test for bug #4113835: \n and \r count as spaces, not as paragraph breaks
+            sentenceSelectionData.addElement("Now\ris\nthe\r\ntime\n\rfor\r\rall\u2029");
+            
+            generalIteratorTest(sentenceBreak, sentenceSelectionData);
+        }
+        catch (ClassCastException e) {
+            logln("New Break Iterator, skipping old test");
+        }   
+    }
+
+    /**
+     * @bug 4111338
+     */
+    public void TestBug4111338() {
+        Vector sentenceSelectionData = new Vector();
+
+        // test for bug #4111338: Don't break sentences at the boundary between CJK
+        // and other letters
+        sentenceSelectionData.addElement("\u5487\u67ff\ue591\u5017\u61b3\u60a1\u9510\u8165:\"JAVA\u821c"
+                + "\u8165\u7fc8\u51ce\u306d,\u2494\u56d8\u4ec0\u60b1\u8560\u51ba"
+                + "\u611d\u57b6\u2510\u5d46\".\u2029");
+        sentenceSelectionData.addElement("\u5487\u67ff\ue591\u5017\u61b3\u60a1\u9510\u8165\u9de8"
+                + "\u97e4JAVA\u821c\u8165\u7fc8\u51ce\u306d\ue30b\u2494\u56d8\u4ec0"
+                + "\u60b1\u8560\u51ba\u611d\u57b6\u2510\u5d46\u97e5\u7751\u2029");
+        sentenceSelectionData.addElement("\u5487\u67ff\ue591\u5017\u61b3\u60a1\u9510\u8165\u9de8\u97e4"
+                + "\u6470\u8790JAVA\u821c\u8165\u7fc8\u51ce\u306d\ue30b\u2494\u56d8"
+                + "\u4ec0\u60b1\u8560\u51ba\u611d\u57b6\u2510\u5d46\u97e5\u7751\u2029");
+        sentenceSelectionData.addElement("He said, \"I can go there.\"\u2029");
+
+        generalIteratorTest(sentenceBreak, sentenceSelectionData);
+    }
+
+    /**
+     * @bug 4117554
+     */
+    public void TestBug4117554Sentences() {
+        try {
+            RuleBasedBreakIterator_Old olb = (RuleBasedBreakIterator_Old)sentenceBreak;
+            Vector sentenceSelectionData = new Vector();
+            
+            // Treat fullwidth variants of .!? the same as their
+            // normal counterparts
+            sentenceSelectionData.addElement("I know I'm right\uff0e ");
+            sentenceSelectionData.addElement("Right\uff1f ");
+            sentenceSelectionData.addElement("Right\uff01 ");
+            
+            // Don't break sentences at boundary between CJK and digits
+            sentenceSelectionData.addElement("\u5487\u67ff\ue591\u5017\u61b3\u60a1\u9510\u8165\u9de8"
+                    + "\u97e48888\u821c\u8165\u7fc8\u51ce\u306d\ue30b\u2494\u56d8\u4ec0"
+                    + "\u60b1\u8560\u51ba\u611d\u57b6\u2510\u5d46\u97e5\u7751\u2029");
+            
+            // Break sentence between a sentence terminator and
+            // opening punctuation
+            sentenceSelectionData.addElement("no?");
+            sentenceSelectionData.addElement("(yes)");
+            
+            generalIteratorTest(sentenceBreak, sentenceSelectionData);
+        }
+        catch (ClassCastException e) {
+            logln("New Break Iterator, skipping old test");
+        }  
+    }
+
+    /**
+     * @bug 4158381
+     */
+    public void TestBug4158381() {
+        try {
+            RuleBasedBreakIterator_Old olb = (RuleBasedBreakIterator_Old)sentenceBreak;
+            Vector sentenceSelectionData = new Vector();
+            
+            // Don't break sentence after period if it isn't followed by a space
+            sentenceSelectionData.addElement("Test <code>Flags.Flag</code> class.  ");
+            sentenceSelectionData.addElement("Another test.\u2029");
+            
+            // No breaks when there are no terminators around
+            sentenceSelectionData.addElement("<P>Provides a set of "
+                    + "&quot;lightweight&quot; (all-java<FONT SIZE=\"-2\"><SUP>TM"
+                    + "</SUP></FONT> language) components that, "
+                    + "to the maximum degree possible, work the same on all platforms.  ");
+            sentenceSelectionData.addElement("Another test.\u2029");
+            
+            generalIteratorTest(sentenceBreak, sentenceSelectionData);
+        }
+        catch (ClassCastException e) {
+            logln("New Break Iterator, skipping old test");
+        }   
+}
+
+    /**
+     * @bug 4143071
+     */
+    public void TestBug4143071() {
+        Vector sentenceSelectionData = new Vector();
+
+        // Make sure sentences that end with digits work right
+        sentenceSelectionData.addElement("Today is the 27th of May, 1998.  ");
+        sentenceSelectionData.addElement("Tomorrow will be 28 May 1998.  ");
+        sentenceSelectionData.addElement("The day after will be the 30th.\u2029");
+
+        generalIteratorTest(sentenceBreak, sentenceSelectionData);
+    }
+
+    /**
+     * @bug 4152416
+     */
+    public void TestBug4152416() {
+        Vector sentenceSelectionData = new Vector();
+
+        // Make sure sentences ending with a capital letter are treated correctly
+        sentenceSelectionData.addElement("The type of all primitive "
+                + "<code>boolean</code> values accessed in the target VM.  ");
+        sentenceSelectionData.addElement("Calls to xxx will return an "
+                + "implementor of this interface.\u2029");
+
+        generalIteratorTest(sentenceBreak, sentenceSelectionData);
+    }
+
+    /**
+     * @bug 4152117
+     */
+    public void TestBug4152117() {
+        Vector sentenceSelectionData = new Vector();
+
+        // Make sure sentence breaking is handling punctuation correctly
+        // [COULD NOT REPRODUCE THIS BUG, BUT TEST IS HERE TO MAKE SURE
+        // IT DOESN'T CROP UP]
+        sentenceSelectionData.addElement("Constructs a randomly generated "
+                + "BigInteger, uniformly distributed over the range <tt>0</tt> "
+                + "to <tt>(2<sup>numBits</sup> - 1)</tt>, inclusive.  ");
+        sentenceSelectionData.addElement("The uniformity of the distribution "
+                + "assumes that a fair source of random bits is provided in "
+                + "<tt>rnd</tt>.  ");
+        sentenceSelectionData.addElement("Note that this constructor always "
+                + "constructs a non-negative BigInteger.\u2029");
+
+        generalIteratorTest(sentenceBreak, sentenceSelectionData);
+    }
+
+    public void TestLineBreak() {
+        Vector lineSelectionData = new Vector();
+
+        lineSelectionData.addElement("Multi-");
+        lineSelectionData.addElement("Level ");
+        lineSelectionData.addElement("example ");
+        lineSelectionData.addElement("of ");
+        lineSelectionData.addElement("a ");
+        lineSelectionData.addElement("semi-");
+        lineSelectionData.addElement("idiotic ");
+        lineSelectionData.addElement("non-");
+        lineSelectionData.addElement("sensical ");
+        lineSelectionData.addElement("(non-");
+        lineSelectionData.addElement("important) ");
+        lineSelectionData.addElement("sentence. ");
+
+        lineSelectionData.addElement("Hi  ");
+        lineSelectionData.addElement("Hello ");
+        lineSelectionData.addElement("How\n");
+        lineSelectionData.addElement("are\r");
+        lineSelectionData.addElement("you\u2028");
+        lineSelectionData.addElement("fine.\t");
+        lineSelectionData.addElement("good.  ");
+
+        lineSelectionData.addElement("Now\r");
+        lineSelectionData.addElement("is\n");
+        lineSelectionData.addElement("the\r\n");
+        lineSelectionData.addElement("time\n");
+        lineSelectionData.addElement("\r");
+        lineSelectionData.addElement("for\r");
+        lineSelectionData.addElement("\r");
+        lineSelectionData.addElement("all");
+
+        generalIteratorTest(lineBreak, lineSelectionData);
+    }
+
+    /**
+     * @bug 4068133
+     */
+    public void TestBug4068133() {
+        Vector lineSelectionData = new Vector();
+
+        lineSelectionData.addElement("\u96f6");
+        lineSelectionData.addElement("\u4e00\u3002");
+        lineSelectionData.addElement("\u4e8c\u3001");
+        lineSelectionData.addElement("\u4e09\u3002\u3001");
+        lineSelectionData.addElement("\u56db\u3001\u3002\u3001");
+        lineSelectionData.addElement("\u4e94,");
+        lineSelectionData.addElement("\u516d.");
+        lineSelectionData.addElement("\u4e03.\u3001,\u3002");
+        lineSelectionData.addElement("\u516b");
+
+        generalIteratorTest(lineBreak, lineSelectionData);
+    }
+
+    /**
+     * @bug 4086052
+     */
+    public void TestBug4086052() {
+        Vector lineSelectionData = new Vector();
+
+        lineSelectionData.addElement("foo\u00a0bar ");
+//        lineSelectionData.addElement("foo\ufeffbar");
+
+        generalIteratorTest(lineBreak, lineSelectionData);
+    }
+
+    /**
+     * @bug 4097920
+     */
+    public void TestBug4097920() {
+        Vector lineSelectionData = new Vector();
+
+        lineSelectionData.addElement("dog,cat,mouse ");
+        lineSelectionData.addElement("(one)");
+        lineSelectionData.addElement("(two)\n");
+        generalIteratorTest(lineBreak, lineSelectionData);
+    }
+
+    /**
+     * @bug 4035266
+     */
+    public void TestBug4035266() {
+        try {
+            RuleBasedBreakIterator_Old olb = (RuleBasedBreakIterator_Old)lineBreak;
+            Vector lineSelectionData = new Vector();
+            
+            lineSelectionData.addElement("The ");
+            lineSelectionData.addElement("balance ");
+            lineSelectionData.addElement("is ");
+            lineSelectionData.addElement("$-23,456.78, ");
+            lineSelectionData.addElement("not ");
+            lineSelectionData.addElement("-$32,456.78!\n");
+            
+            generalIteratorTest(lineBreak, lineSelectionData);
+        }
+        catch (ClassCastException e) {
+            logln("New Break Iterator, skipping old test");
+        }   
+}
+
+    /**
+     * @bug 4098467
+     */
+    public void TestBug4098467Lines() {
+        try {
+            RuleBasedBreakIterator_Old olb = (RuleBasedBreakIterator_Old)lineBreak;
+            Vector lineSelectionData = new Vector();
+            
+            // What follows is a string of Korean characters (I found it in the Yellow Pages
+            // ad for the Korean Presbyterian Church of San Francisco, and I hope I transcribed
+            // it correctly), first as precomposed syllables, and then as conjoining jamo.
+            // Both sequences should be semantically identical and break the same way.
+            // precomposed syllables...
+            lineSelectionData.addElement("\uc0c1\ud56d ");
+            lineSelectionData.addElement("\ud55c\uc778 ");
+            lineSelectionData.addElement("\uc5f0\ud569 ");
+            lineSelectionData.addElement("\uc7a5\ub85c\uad50\ud68c ");
+            // conjoining jamo...
+            lineSelectionData.addElement("\u1109\u1161\u11bc\u1112\u1161\u11bc ");
+            lineSelectionData.addElement("\u1112\u1161\u11ab\u110b\u1175\u11ab ");
+            lineSelectionData.addElement("\u110b\u1167\u11ab\u1112\u1161\u11b8 ");
+            lineSelectionData.addElement("\u110c\u1161\u11bc\u1105\u1169\u1100\u116d\u1112\u116c");
+            
+            generalIteratorTest(lineBreak, lineSelectionData);
+        }
+        catch (ClassCastException e) {
+            logln("New Break Iterator, skipping old test");
+        }   
+    }
+
+    public void TestThaiLineBreak() {
+        Vector lineSelectionData = new Vector();
+
+        // \u0e2f-- the Thai paiyannoi character-- isn't a letter.  It's a symbol that
+        // represents elided letters at the end of a long word.  It should be bound to
+        // the end of the word and not treated as an independent punctuation mark.
+        lineSelectionData.addElement("\u0e2a\u0e16\u0e32\u0e19\u0e35\u0e2f");
+        lineSelectionData.addElement("\u0e08\u0e30");
+        lineSelectionData.addElement("\u0e23\u0e30\u0e14\u0e21");
+        lineSelectionData.addElement("\u0e40\u0e08\u0e49\u0e32");
+//        lineSelectionData.addElement("\u0e2b\u0e19\u0e49\u0e32");
+//        lineSelectionData.addElement("\u0e17\u0e35\u0e48");
+// I think the above two lines are the preferred reading of this text, but our current
+// dictionary yields the following:
+lineSelectionData.addElement("\u0e2b\u0e16\u0e49\u0e32\u0e17\u0e35\u0e48");
+        lineSelectionData.addElement("\u0e2d\u0e2d\u0e01");
+        lineSelectionData.addElement("\u0e21\u0e32");
+        lineSelectionData.addElement("\u0e40\u0e23\u0e48\u0e07");
+        lineSelectionData.addElement("\u0e23\u0e30\u0e1a\u0e32\u0e22");
+        lineSelectionData.addElement("\u0e2d\u0e22\u0e48\u0e32\u0e07");
+        lineSelectionData.addElement("\u0e40\u0e15\u0e47\u0e21");
+
+        // the one time where the paiyannoi occurs somewhere other than at the end
+        // of a word is in the Thai abbrevation for "etc.", which both begins and
+        // ends with a paiyannoi
+        lineSelectionData.addElement("\u0e2f\u0e25\u0e2f");
+        lineSelectionData.addElement("\u0e17\u0e35\u0e48");
+        lineSelectionData.addElement("\u0e19\u0e31\u0e49\u0e19");
+
+        generalIteratorTest(BreakIterator.getLineInstance(new Locale("th", "", "")),
+                lineSelectionData);
+    }
+
+    public void TestMixedThaiLineBreak() {
+        Vector lineSelectionData = new Vector();
+
+        // @suwit -- Test Arabic numerals, Thai numerals, Punctuation and English characters
+        // start
+
+        lineSelectionData.addElement("\u0E1B\u0E35");
+        lineSelectionData.addElement("\u0E1E\u0E38\u0E17\u0E18\u0E28\u0E31\u0E01\u0E23\u0E32\u0E0A ");
+        lineSelectionData.addElement("2545 ");
+        lineSelectionData.addElement("\u0E40\u0E1B\u0E47\u0E19");
+        lineSelectionData.addElement("\u0E1B\u0E35");
+        lineSelectionData.addElement("\u0E09\u0E25\u0E2D\u0E07");
+        lineSelectionData.addElement("\u0E04\u0E23\u0E1A");
+        lineSelectionData.addElement("\u0E23\u0E2D\u0E1A ");
+        lineSelectionData.addElement("\"\u0E52\u0E52\u0E50 ");
+        lineSelectionData.addElement("\u0E1b\u0E35\" ");
+        lineSelectionData.addElement("\u0E02\u0E2d\u0E07");
+        lineSelectionData.addElement("\u0E01\u0E23\u0E38\u0E07");
+        lineSelectionData.addElement("\u0E23\u0E31\u0E15\u0E19\u0E42\u0E01\u0E2A\u0E34\u0E19\u0E17\u0E23\u0E4C ");
+        lineSelectionData.addElement("(\u0E01\u0E23\u0E38\u0E07\u0E40\u0E17\u0E1e\u0E2F");
+        lineSelectionData.addElement("\u0E2B\u0E23\u0E37\u0E2D ");
+        lineSelectionData.addElement("Bangkok)");
+         
+        // @suwit - end of changes
+        // Arabic numerals should always be separated from surrounding Thai text
+/*
+        lineSelectionData.addElement("\u0e04\u0e48\u0e32");
+        lineSelectionData.addElement("\u0e40\u0e07\u0e34\u0e19");
+        lineSelectionData.addElement("\u0e1a\u0e32\u0e17");
+        lineSelectionData.addElement("\u0e41\u0e15\u0e30");
+        lineSelectionData.addElement("\u0e23\u0e30\u0e14\u0e31\u0e1a");
+        lineSelectionData.addElement("39");
+        lineSelectionData.addElement("\u0e1a\u0e32\u0e17 ");
+
+        // words in non-Thai scripts should always be separated from surrounding Thai text
+        lineSelectionData.addElement("\u0e17\u0e14");
+        lineSelectionData.addElement("\u0e2a\u0e2d\u0e1a");
+        lineSelectionData.addElement("Java");
+        lineSelectionData.addElement("\u0e1a\u0e19");
+        lineSelectionData.addElement("\u0e40\u0e04\u0e23\u0e37\u0e48\u0e2d\u0e07");
+        lineSelectionData.addElement("\u0e44\u0e2d\u0e1a\u0e35\u0e40\u0e2d\u0e47\u0e21 ");
+
+        // Thai numerals should always be separated from the text surrounding them
+        lineSelectionData.addElement("\u0e04\u0e48\u0e32");
+        lineSelectionData.addElement("\u0e40\u0e07\u0e34\u0e19");
+        lineSelectionData.addElement("\u0e1a\u0e32\u0e17");
+        lineSelectionData.addElement("\u0e41\u0e15\u0e30");
+        lineSelectionData.addElement("\u0e23\u0e30\u0e14\u0e31\u0e1a");
+        lineSelectionData.addElement("\u0e53\u0e59");
+        lineSelectionData.addElement("\u0e1a\u0e32\u0e17 ");
+
+        // Thai text should interact correctly with punctuation and symbols
+        lineSelectionData.addElement("\u0e44\u0e2d\u0e1a\u0e35\u0e40\u0e2d\u0e47\u0e21");
+//        lineSelectionData.addElement("(\u0e1b\u0e23\u0e30\u0e40\u0e17\u0e28");
+//        lineSelectionData.addElement("\u0e44\u0e17\u0e22)");
+// I think the above lines represent the preferred reading for this text, but our current
+// dictionary file yields the following:
+        lineSelectionData.addElement("(\u0e1b\u0e23\u0e30\u0e40\u0e17\u0e28\u0e44\u0e17\u0e22)");
+        lineSelectionData.addElement("\u0e08\u0e33\u0e01\u0e31\u0e14");
+        lineSelectionData.addElement("\u0e40\u0e1b\u0e34\u0e14");
+        lineSelectionData.addElement("\u0e15\u0e31\u0e27\"");
+
+        lineSelectionData.addElement("\u0e2e\u0e32\u0e23\u0e4c\u0e14\u0e14\u0e34\u0e2a\u0e01\u0e4c\"");
+        lineSelectionData.addElement("\u0e23\u0e38\u0e48\u0e19");
+        lineSelectionData.addElement("\u0e43\u0e2b\u0e21\u0e48");
+        lineSelectionData.addElement("\u0e40\u0e14\u0e37\u0e2d\u0e19\u0e21\u0e34.");
+        lineSelectionData.addElement("\u0e22.");
+        lineSelectionData.addElement("\u0e19\u0e35\u0e49");
+        lineSelectionData.addElement("\u0e23\u0e32\u0e04\u0e32");
+        lineSelectionData.addElement("$200");
+        lineSelectionData.addElement("\u0e40\u0e17\u0e48\u0e32");
+        lineSelectionData.addElement("\u0e19\u0e31\u0e49\u0e19 ");
+        lineSelectionData.addElement("(\"\u0e2e\u0e32\u0e23\u0e4c\u0e14\u0e14\u0e34\u0e2a\u0e01\u0e4c\").");
+*/
+
+        generalIteratorTest(BreakIterator.getLineInstance(new Locale("th", "", "")),
+                lineSelectionData);
+    }
+
+    public void TestMaiyamok() {
+        Vector lineSelectionData = new Vector();
+
+        // the Thai maiyamok character is a shorthand symbol that means "repeat the previous
+        // word".  Instead of appearing as a word unto itself, however, it's kept together
+        // with the word before it
+        lineSelectionData.addElement("\u0e44\u0e1b\u0e46");
+        lineSelectionData.addElement("\u0e21\u0e32\u0e46");
+        lineSelectionData.addElement("\u0e23\u0e30\u0e2b\u0e27\u0e48\u0e32\u0e07");
+        lineSelectionData.addElement("\u0e01\u0e23\u0e38\u0e07\u0e40\u0e17\u0e1e");
+        lineSelectionData.addElement("\u0e41\u0e25\u0e30");
+        lineSelectionData.addElement("\u0e40\u0e03\u0e35\u0e22\u0e07");
+        lineSelectionData.addElement("\u0e43\u0e2b\u0e21\u0e48");
+
+        Locale loc = new Locale("th", "", "");
+        BreakIterator bi = BreakIterator.getLineInstance(loc);      
+        generalIteratorTest(bi, lineSelectionData);
+    }
+
+    /**
+     * @bug 4117554
+     */
+    public void TestBug4117554Lines() {
+        Vector lineSelectionData = new Vector();
+
+        // Fullwidth .!? should be treated as postJwrd
+        lineSelectionData.addElement("\u4e01\uff0e");
+        lineSelectionData.addElement("\u4e02\uff01");
+        lineSelectionData.addElement("\u4e03\uff1f");
+
+        generalIteratorTest(lineBreak, lineSelectionData);
+    }
+
+    public void TestLettersAndDigits() {
+        // a character sequence such as "X11" or "30F3" or "native2ascii" should
+        // be kept together as a single word
+        Vector lineSelectionData = new Vector();
+
+        lineSelectionData.addElement("X11 ");
+        lineSelectionData.addElement("30F3 ");
+        lineSelectionData.addElement("native2ascii");
+
+        generalIteratorTest(lineBreak, lineSelectionData);
+    }
+
+    /**
+     * @bug 4217703
+     */
+    public void TestBug4217703() {
+        try {
+            RuleBasedBreakIterator_Old olb = (RuleBasedBreakIterator_Old)lineBreak;
+            Vector lineSelectionData = new Vector();
+            
+            // There shouldn't be a line break between sentence-ending punctuation
+            // and a closing quote
+            lineSelectionData.addElement("He ");
+            lineSelectionData.addElement("said ");
+            lineSelectionData.addElement("\"Go!\"  ");
+            lineSelectionData.addElement("I ");
+            lineSelectionData.addElement("went.  ");
+            
+            lineSelectionData.addElement("Hashtable$Enumeration ");
+            lineSelectionData.addElement("getText().");
+            lineSelectionData.addElement("getIndex()");
+            
+            generalIteratorTest(lineBreak, lineSelectionData);
+        }
+        catch (ClassCastException e) {
+            logln("New Break Iterator, skipping old test");
+        }   
+}
+
+    private static final String graveS = "S\u0300";
+    private static final String acuteBelowI = "i\u0317";
+    private static final String acuteE = "e\u0301";
+    private static final String circumflexA = "a\u0302";
+    private static final String tildeE = "e\u0303";
+
+    public void TestCharacterBreak() {
+        Vector characterSelectionData = new Vector();
+
+        characterSelectionData.addElement(graveS);
+        characterSelectionData.addElement(acuteBelowI);
+        characterSelectionData.addElement("m");
+        characterSelectionData.addElement("p");
+        characterSelectionData.addElement("l");
+        characterSelectionData.addElement(acuteE);
+        characterSelectionData.addElement(" ");
+        characterSelectionData.addElement("s");
+        characterSelectionData.addElement(circumflexA);
+        characterSelectionData.addElement("m");
+        characterSelectionData.addElement("p");
+        characterSelectionData.addElement("l");
+        characterSelectionData.addElement(tildeE);
+        characterSelectionData.addElement(".");
+        characterSelectionData.addElement("w");
+        characterSelectionData.addElement(circumflexA);
+        characterSelectionData.addElement("w");
+        characterSelectionData.addElement("a");
+        characterSelectionData.addElement("f");
+        characterSelectionData.addElement("q");
+        characterSelectionData.addElement("\n");
+        characterSelectionData.addElement("\r");
+        characterSelectionData.addElement("\r\n");
+        characterSelectionData.addElement("\n");
+
+        generalIteratorTest(characterBreak, characterSelectionData);
+    }
+
+    /**
+     * @bug 4098467
+     */
+    public void TestBug4098467Characters() {
+        Vector characterSelectionData = new Vector();
+
+        // What follows is a string of Korean characters (I found it in the Yellow Pages
+        // ad for the Korean Presbyterian Church of San Francisco, and I hope I transcribed
+        // it correctly), first as precomposed syllables, and then as conjoining jamo.
+        // Both sequences should be semantically identical and break the same way.
+        // precomposed syllables...
+        characterSelectionData.addElement("\uc0c1");
+        characterSelectionData.addElement("\ud56d");
+        characterSelectionData.addElement(" ");
+        characterSelectionData.addElement("\ud55c");
+        characterSelectionData.addElement("\uc778");
+        characterSelectionData.addElement(" ");
+        characterSelectionData.addElement("\uc5f0");
+        characterSelectionData.addElement("\ud569");
+        characterSelectionData.addElement(" ");
+        characterSelectionData.addElement("\uc7a5");
+        characterSelectionData.addElement("\ub85c");
+        characterSelectionData.addElement("\uad50");
+        characterSelectionData.addElement("\ud68c");
+        characterSelectionData.addElement(" ");
+        // conjoining jamo...
+        characterSelectionData.addElement("\u1109\u1161\u11bc");
+        characterSelectionData.addElement("\u1112\u1161\u11bc");
+        characterSelectionData.addElement(" ");
+        characterSelectionData.addElement("\u1112\u1161\u11ab");
+        characterSelectionData.addElement("\u110b\u1175\u11ab");
+        characterSelectionData.addElement(" ");
+        characterSelectionData.addElement("\u110b\u1167\u11ab");
+        characterSelectionData.addElement("\u1112\u1161\u11b8");
+        characterSelectionData.addElement(" ");
+        characterSelectionData.addElement("\u110c\u1161\u11bc");
+        characterSelectionData.addElement("\u1105\u1169");
+        characterSelectionData.addElement("\u1100\u116d");
+        characterSelectionData.addElement("\u1112\u116c");
+
+        generalIteratorTest(characterBreak, characterSelectionData);
+    }
+
+    public void TestTitleBreak()
+    {
+        Vector titleData = new Vector();
+        titleData.addElement("   ");
+        titleData.addElement("This ");
+        titleData.addElement("is ");
+        titleData.addElement("a ");
+        titleData.addElement("simple ");
+        titleData.addElement("sample ");
+        titleData.addElement("sentence. ");
+        titleData.addElement("This ");
+
+        generalIteratorTest(titleBreak, titleData);
+    }
+
+
+
+    /*
+     * @bug 4153072
+     */
+    public void TestBug4153072() {
+        BreakIterator iter = BreakIterator.getWordInstance();
+        String str = "...Hello, World!...";
+        int begin = 3;
+        int end = str.length() - 3;
+        // not used boolean gotException = false;
+ 
+
+        iter.setText(new StringCharacterIterator(str, begin, end, begin));
+        for (int index = -1; index < begin + 1; ++index) {
+            try {
+                iter.isBoundary(index);
+                if (index < begin)
+                    errln("Didn't get exception with offset = " + index +
+                                    " and begin index = " + begin);
+            }
+            catch (IllegalArgumentException e) {
+                if (index >= begin)
+                    errln("Got exception with offset = " + index +
+                                    " and begin index = " + begin);
+            }
+        }
+    }
+
+    public void TestBug4146175Sentences() {
+        try {
+            RuleBasedBreakIterator_Old olb = (RuleBasedBreakIterator_Old)lineBreak;
+            Vector sentenceSelectionData = new Vector();
+            
+            // break between periods and opening punctuation even when there's no
+            // intervening space
+            sentenceSelectionData.addElement("end.");
+            sentenceSelectionData.addElement("(This is\u2029");
+            
+            // treat the fullwidth period as an unambiguous sentence terminator
+            sentenceSelectionData.addElement("\u7d42\u308f\u308a\uff0e");
+            sentenceSelectionData.addElement("\u300c\u3053\u308c\u306f");
+            
+            generalIteratorTest(sentenceBreak, sentenceSelectionData);
+        }
+        catch (ClassCastException e) {
+            logln("New Break Iterator, skipping old test");
+        }   
+    }
+
+    public void TestBug4146175Lines() {
+        Vector lineSelectionData = new Vector();
+
+        // the fullwidth comma should stick to the preceding Japanese character
+        lineSelectionData.addElement("\u7d42\uff0c");
+        lineSelectionData.addElement("\u308f");
+
+        generalIteratorTest(lineBreak, lineSelectionData);
+    }
+
+    public void TestBug4214367() {
+        try {
+            RuleBasedBreakIterator_Old olb = (RuleBasedBreakIterator_Old)wordBreak;
+            Vector wordSelectionData = new Vector();
+            
+            // the hiragana and katakana iteration marks and the long vowel mark
+            // are not being treated correctly by the word-break iterator
+            wordSelectionData.addElement("\u3042\u3044\u309d\u3042\u309e\u3042\u30fc\u3042");
+            wordSelectionData.addElement("\u30a2\u30a4\u30fd\u30a2\u30fe\u30a2\u30fc\u30a2");
+            
+            generalIteratorTest(wordBreak, wordSelectionData);
+        }
+        catch (ClassCastException e) {
+            logln("New Break Iterator, skipping old test");
+        }   
+    }
+
+    private static final String cannedTestChars
+        = "\u0000\u0001\u0002\u0003\u0004 !\"#$%&()+-01234<=>ABCDE[]^_`abcde{}|\u00a0\u00a2"
+        + "\u00a3\u00a4\u00a5\u00a6\u00a7\u00a8\u00a9\u00ab\u00ad\u00ae\u00af\u00b0\u00b2\u00b3"
+        + "\u00b4\u00b9\u00bb\u00bc\u00bd\u02b0\u02b1\u02b2\u02b3\u02b4\u0300\u0301\u0302\u0303"
+        + "\u0304\u05d0\u05d1\u05d2\u05d3\u05d4\u0903\u093e\u093f\u0940\u0949\u0f3a\u0f3b\u2000"
+        + "\u2001\u2002\u200c\u200d\u200e\u200f\u2010\u2011\u2012\u2028\u2029\u202a\u203e\u203f"
+        + "\u2040\u20dd\u20de\u20df\u20e0\u2160\u2161\u2162\u2163\u2164";
+
+    public void TestSentenceInvariants()
+    {
+        BreakIterator e = BreakIterator.getSentenceInstance();
+        doOtherInvariantTest(e, cannedTestChars + ".,\u3001\u3002\u3041\u3042\u3043\ufeff");
+    }
+
+    public void TestWordInvariants()
+    {
+        BreakIterator e = BreakIterator.getWordInstance();
+        try {
+            RuleBasedBreakIterator_Old olb = (RuleBasedBreakIterator_Old)e;
+            doBreakInvariantTest(e, cannedTestChars + "\',.\u3041\u3042\u3043\u309b\u309c\u30a1\u30a2"
+                    + "\u30a3\u4e00\u4e01\u4e02");
+            doOtherInvariantTest(e, cannedTestChars + "\',.\u3041\u3042\u3043\u309b\u309c\u30a1\u30a2"
+                    + "\u30a3\u4e00\u4e01\u4e02");
+        }
+        catch (ClassCastException ex) {
+            logln("New Break Iterator, skipping old test");
+        }   
+    }
+
+    public void TestLineInvariants()
+    {
+        BreakIterator e = BreakIterator.getLineInstance();
+        try {
+            RuleBasedBreakIterator_Old olb = (RuleBasedBreakIterator_Old)e;
+            String testChars = cannedTestChars + ".,;:\u3001\u3002\u3041\u3042\u3043\u3044\u3045"
+            + "\u30a3\u4e00\u4e01\u4e02";
+            doBreakInvariantTest(e, testChars);
+            doOtherInvariantTest(e, testChars);
+            
+            int errorCount = 0;
+            
+            // in addition to the other invariants, a line-break iterator should make sure that:
+            // it doesn't break around the non-breaking characters
+            String noBreak = "\u00a0\u2007\u2011\ufeff";
+            StringBuffer work = new StringBuffer("aaa");
+            for (int i = 0; i < testChars.length(); i++) {
+                char c = testChars.charAt(i);
+                if (c == '\r' || c == '\n' || c == '\u2029' || c == '\u2028' || c == '\u0003')
+                    continue;
+                work.setCharAt(0, c);
+                for (int j = 0; j < noBreak.length(); j++) {
+                    work.setCharAt(1, noBreak.charAt(j));
+                    for (int k = 0; k < testChars.length(); k++) {
+                        work.setCharAt(2, testChars.charAt(k));
+                        e.setText(work.toString());
+                        for (int l = e.first(); l != BreakIterator.DONE; l = e.next())
+                            if (l == 1 || l == 2) {
+                                errln("Got break between U+" + Integer.toHexString((int)
+                                        (work.charAt(l - 1))) + " and U+" + Integer.toHexString(
+                                                (int)(work.charAt(l))));
+                                errorCount++;
+                                if (errorCount >= 75)
+                                    return;
+                            }
+                    }
+                }
+            }
+            
+            // it does break after dashes (unless they're followed by a digit, a non-spacing mark,
+            // a currency symbol, a space, a format-control character, a regular control character,
+            // a line or paragraph separator, or another dash)
+            String dashes = "-\u00ad\u2010\u2012\u2013\u2014";
+            for (int i = 0; i < testChars.length(); i++) {
+                work.setCharAt(0, testChars.charAt(i));
+                for (int j = 0; j < dashes.length(); j++) {
+                    work.setCharAt(1, dashes.charAt(j));
+                    for (int k = 0; k < testChars.length(); k++) {
+                        char c = testChars.charAt(k);
+                        if (Character.getType(c) == Character.DECIMAL_DIGIT_NUMBER ||
+                                Character.getType(c) == Character.OTHER_NUMBER ||
+                                Character.getType(c) == Character.NON_SPACING_MARK ||
+                                Character.getType(c) == Character.ENCLOSING_MARK ||
+                                Character.getType(c) == Character.CURRENCY_SYMBOL ||
+                                Character.getType(c) == Character.DASH_PUNCTUATION ||
+                                Character.getType(c) == Character.SPACE_SEPARATOR ||
+                                Character.getType(c) == Character.FORMAT ||
+                                Character.getType(c) == Character.CONTROL ||
+                                c == '\n' || c == '\r' || c == '\u2028' || c == '\u2029' ||
+                                c == '\u0003' || c == '\u2007' || c == '\u2011' ||
+                                c == '\ufeff')
+                            continue;
+                        work.setCharAt(2, c);
+                        e.setText(work.toString());
+                        boolean saw2 = false;
+                        for (int l = e.first(); l != BreakIterator.DONE; l = e.next())
+                            if (l == 2)
+                                saw2 = true;
+                        if (!saw2) {
+                            errln("Didn't get break between U+" + Integer.toHexString((int)
+                                    (work.charAt(1))) + " and U+" + Integer.toHexString(
+                                            (int)(work.charAt(2))));
+                            errorCount++;
+                            if (errorCount >= 75)
+                                return;
+                        }
+                    }
+                }
+            }
+        }
+        catch (ClassCastException ex) {
+            logln("New Break Iterator, skipping old test");
+        }   
+    }
+
+    public void TestCharacterInvariants()
+        {
+            BreakIterator e = BreakIterator.getCharacterInstance();
+            try {
+                RuleBasedBreakIterator_Old olb = (RuleBasedBreakIterator_Old)e;
+                doBreakInvariantTest(e, cannedTestChars + "\u1100\u1101\u1102\u1160\u1161\u1162\u11a8"
+                        + "\u11a9\u11aa");
+                doOtherInvariantTest(e, cannedTestChars + "\u1100\u1101\u1102\u1160\u1161\u1162\u11a8"
+                        + "\u11a9\u11aa");
+            }
+            catch (ClassCastException ex) {
+                logln("New Break Iterator, skipping old test");
+            }   
+        }
+
+    public void TestEmptyString()
+    {
+        String text = "";
+        Vector x = new Vector();
+        x.addElement(text);
+
+        generalIteratorTest(lineBreak, x);
+    }
+
+    public void TestGetAvailableLocales()
+    {
+        Locale[] locList = BreakIterator.getAvailableLocales();
+
+        if (locList.length == 0)
+            errln("getAvailableLocales() returned an empty list!");
+        // I have no idea how to test this function...
+        
+        com.ibm.icu.util.ULocale[] ulocList = BreakIterator.getAvailableULocales();
+        if (ulocList.length == 0) {
+            errln("getAvailableULocales() returned an empty list!");        
+        } else {
+            logln("getAvailableULocales() returned " + ulocList.length + " locales");
+        }
+    }
+
+    /**
+     * @bug 4095322
+     */
+    public void TestJapaneseLineBreak()
+    {
+        StringBuffer testString = new StringBuffer("\u4e00x\u4e8c");
+        String precedingChars = "([{\u00ab$\u00a5\u00a3\u00a4\u2018\u201a\u201c\u201e\u201b\u201f";
+        String followingChars = ")]}\u00bb!%,.\u3001\u3002\u3063\u3083\u3085\u3087\u30c3\u30e3\u30e5\u30e7\u30fc:;\u309b\u309c\u3005\u309d\u309e\u30fd\u30fe\u2019\u201d\u00b0\u2032\u2033\u2034\u2030\u2031\u2103\u2109\u00a2\u0300\u0301\u0302";
+        BreakIterator iter = BreakIterator.getLineInstance(Locale.JAPAN);
+        try {
+            RuleBasedBreakIterator_Old olb = (RuleBasedBreakIterator_Old)iter;
+            
+            for (int i = 0; i < precedingChars.length(); i++) {
+                testString.setCharAt(1, precedingChars.charAt(i));
+                iter.setText(testString.toString());
+                int j = iter.first();
+                if (j != 0)
+                    errln("ja line break failure: failed to start at 0");
+                j = iter.next();
+                if (j != 1)
+                    errln("ja line break failure: failed to stop before '" + precedingChars.charAt(i)
+                            + "' (" + ((int)(precedingChars.charAt(i))) + ")");
+                j = iter.next();
+                if (j != 3)
+                    errln("ja line break failure: failed to skip position after '" + precedingChars.charAt(i)
+                            + "' (" + ((int)(precedingChars.charAt(i))) + ")");
+            }
+            
+            for (int i = 0; i < followingChars.length(); i++) {
+                testString.setCharAt(1, followingChars.charAt(i));
+                iter.setText(testString.toString());
+                int j = iter.first();
+                if (j != 0)
+                    errln("ja line break failure: failed to start at 0");
+                j = iter.next();
+                if (j != 2)
+                    errln("ja line break failure: failed to skip position before '" + followingChars.charAt(i)
+                            + "' (" + ((int)(followingChars.charAt(i))) + ")");
+                j = iter.next();
+                if (j != 3)
+                    errln("ja line break failure: failed to stop after '" + followingChars.charAt(i)
+                            + "' (" + ((int)(followingChars.charAt(i))) + ")");
+            }
+        }
+        catch (ClassCastException e) {
+            logln("New Break Iterator, skipping old test");
+        }   
+    }
+
+    /**
+     * Bug 4638433
+     */
+        public void TestLineBreakBasedOnUnicode3_0_0() {
+            BreakIterator iter;
+            int i;
+            
+            /* Latin Extend-B characters
+             * 0x0218-0x0233 which have been added since Unicode 3.0.0.
+             */
+            iter = BreakIterator.getWordInstance(Locale.US);
+            try {
+                RuleBasedBreakIterator_Old olb = (RuleBasedBreakIterator_Old)iter;
+                iter.setText("\u0216\u0217\u0218\u0219\u021A");
+                i = iter.first();
+                i = iter.next();
+                if (i != 5) {   
+                    errln("Word break failure: failed to stop at 5 and bounded at " + i);
+                }
+                
+                
+                iter = BreakIterator.getLineInstance(Locale.US);
+                
+                /* <Three(Nd)><Two(Nd)><Low Double Prime Quotation Mark(Pe)><One(Nd)>
+                 * \u301f has changed its category from Ps to Pe since Unicode 2.1.
+                 */
+                iter.setText("32\u301f1");
+                i = iter.first();
+                i = iter.next();
+                if (i != 3) {   
+                    errln("Line break failure: failed to skip before \\u301F(Pe) at 3 and bounded at " + i);
+                }
+                
+                /* Mongolian <Letter A(Lo)><Todo Soft Hyphen(Pd)><Letter E(Lo)>
+                 * which have been added since Unicode 3.0.0.
+                 */
+                iter.setText("\u1820\u1806\u1821");
+                i = iter.first();
+                i = iter.next();
+                if (i != 2) {   
+                    errln("Mongolian line break failure: failed to skip position before \\u1806(Pd) at 2 and bounded at " + i);
+                }
+                
+                /* Khmer <ZERO(Nd)><Currency Symbol(Sc)><ONE(Nd)> which have
+                 * been added since Unicode 3.0.0.
+                 */
+                /*
+                 * Richard: fail to pass, refer to #3550
+                 iter.setText("\u17E0\u17DB\u17E1");
+                 i = iter.first();
+                 i = iter.next();
+                 if (i != 1) {   
+                 errln("Khmer line break failure: failed to stop before \\u17DB(Sc) at 1 and bounded at " + i);
+                 }
+                 i = iter.next();
+                 if (i != 3) {   
+                 errln("Khmer line break failure: failed to skip position after \\u17DB(Sc) at 3 and bounded at " + i);
+                 }*/
+                
+                /* Ogham <Letter UR(Lo)><Space Mark(Zs)><Letter OR(Lo)> which have
+                 * been added since Unicode 3.0.0.
+                 */
+                iter.setText("\u1692\u1680\u1696");
+                i = iter.first();
+                i = iter.next();
+                if (i != 2) {   
+                    errln("Ogham line break failure: failed to skip postion before \\u1680(Zs) at 2 and bounded at " + i);
+                }
+                
+                
+                // Confirm changes in BreakIteratorRules_th.java have been reflected.
+                iter = BreakIterator.getLineInstance(new Locale("th", ""));
+                
+                /* Thai <Seven(Nd)>
+                 *      <Left Double Quotation Mark(Pi)>
+                 *      <Five(Nd)>
+                 *      <Right Double Quotation Mark(Pf)>
+                 *      <Three(Nd)>
+                 */
+                iter.setText("\u0E57\u201C\u0E55\u201D\u0E53");
+                i = iter.first();
+                i = iter.next();
+                if (i != 1) {   
+                    errln("Thai line break failure: failed to stop before \\u201C(Pi) at 1 and bounded at " + i);
+                }
+                i = iter.next();
+                if (i != 4) {   
+                    errln("Thai line break failure: failed to stop after \\u201D(Pf) at 4 and bounded at " + i);
+                }
+            }
+            catch (ClassCastException e) {
+                logln("New Break Iterator, skipping old test");
+            }   
+        }
+    
+    /**
+     * @bug 4068137
+     */
+    public void TestEndBehavior()
+    {
+        String testString = "boo.";
+        BreakIterator wb = BreakIterator.getWordInstance();
+        wb.setText(testString);
+
+        if (wb.first() != 0)
+            errln("Didn't get break at beginning of string.");
+        if (wb.next() != 3)
+            errln("Didn't get break before period in \"boo.\"");
+        if (wb.current() != 4 && wb.next() != 4)
+            errln("Didn't get break at end of string.");
+    }
+
+    // The Following two tests are ported from ICU4C 1.8.1 [Richard/GCL]
+    /**
+     * Port From:   ICU4C v1.8.1 : textbounds : IntlTestTextBoundary
+     * Source File: $ICU4CRoot/source/test/intltest/ittxtbd.cpp
+     **/
+    /**
+     * test methods preceding, following and isBoundary
+     **/
+    public void TestPreceding() {
+        String words3 = "aaa bbb ccc";
+        BreakIterator e = BreakIterator.getWordInstance(Locale.getDefault());
+        e.setText( words3 );
+        e.first();
+        int p1 = e.next();
+        int p2 = e.next();
+        int p3 = e.next();
+        int p4 = e.next();
+
+        int f = e.following(p2+1);
+        int p = e.preceding(p2+1);
+        if (f!=p3)
+            errln("IntlTestTextBoundary::TestPreceding: f!=p3");
+        if (p!=p2)
+            errln("IntlTestTextBoundary::TestPreceding: p!=p2");
+
+        if (p1+1!=p2)
+            errln("IntlTestTextBoundary::TestPreceding: p1+1!=p2");
+
+        if (p3+1!=p4)
+            errln("IntlTestTextBoundary::TestPreceding: p3+1!=p4");
+
+        if (!e.isBoundary(p2) || e.isBoundary(p2+1) || !e.isBoundary(p3))
+        {
+            errln("IntlTestTextBoundary::TestPreceding: isBoundary err");
+        }
+    }
+
+    /**
+     * Test Thai word break using generalIteratorTest()
+     **/
+    public void TestThaiWordBreak() {
+        Vector thaiWordSelection = new Vector();
+
+        // @suwit -- Thai sample data from GVT Guideline
+        // start
+        thaiWordSelection.addElement("\u0E2B\u0E19\u0E36\u0E48\u0E07"); //5
+        thaiWordSelection.addElement("\u0E04\u0E33"); //7
+        thaiWordSelection.addElement("\u0E44\u0E17\u0E22"); //10
+        thaiWordSelection.addElement("\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16"); //16
+        thaiWordSelection.addElement("\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A"); //22
+        thaiWordSelection.addElement("\u0E14\u0E49\u0E27\u0E22");  //26
+        thaiWordSelection.addElement("\u0e2b\u0e25\u0e32\u0e22");  //30
+        thaiWordSelection.addElement("\u0e1e\u0e22\u0e32\u0e07\u0e04\u0e4c");  //36
+
+        // @suwit - end of changes
+
+        /*  remove the old data sample because Thai translation of the Wizard of Oz is not good testcase for wordbreak API.
+        thaiWordSelection.addElement("\u0E1A\u0E17"); //2
+        thaiWordSelection.addElement("\u0E17\u0E35\u0E48"); //5
+        thaiWordSelection.addElement("\u0E51"); //6
+        thaiWordSelection.addElement("\u0E1E\u0E32\u0E22\u0E38"); //10
+        thaiWordSelection.addElement("\u0E44\u0E0B\u0E42\u0E04\u0E25\u0E19"); //16
+        thaiWordSelection.addElement("\r\n"); //18
+
+        // This is the correct result
+        //thaiWordSelection.addElement(("\u0E42\u0E14\u0E42\u0E23\u0E18\u0E35")); //24
+        //thaiWordSelection.addElement(("\u0E2D\u0E32\u0E28\u0E31\u0E22")); //29
+
+        // and this is what the dictionary does...
+        thaiWordSelection.addElement("\u0E42\u0E14"); // 20
+        thaiWordSelection.addElement("\u0E42\u0E23\u0E18\u0E35\u0E2D\u0E32\u0E28\u0E31\u0E22"); //29
+
+        thaiWordSelection.addElement("\u0E2D\u0E22\u0E39\u0E48"); //33
+
+        // This is the correct result
+        //thaiWordSelection.addElement("\u0E17\u0E48\u0E32\u0E21"); //37
+        //thaiWordSelection.addElement("\u0E01\u0E25\u0E32\u0E07"); //41
+
+        // and this is what the dictionary does
+        thaiWordSelection.addElement("\u0E17\u0E48\u0E32\u0E21\u0E01\u0E25\u0E32\u0E07"); //41
+
+        thaiWordSelection.addElement("\u0E17\u0E38\u0E48\u0E07"); //45
+        thaiWordSelection.addElement("\u0E43\u0E2B\u0E0D\u0E48"); //49
+        thaiWordSelection.addElement("\u0E43\u0E19"); //51
+
+        // This is the correct result
+        //thaiWordSelection.addElement("\u0E41\u0E04\u0E19\u0E0B\u0E31\u0E2A"); //57
+        //thaiWordSelection.addElement("\u0E01\u0E31\u0E1A"); //60
+
+        // and this is what the dictionary does
+        thaiWordSelection.addElement("\u0E41\u0E04\u0E19"); // 54
+        thaiWordSelection.addElement("\u0E0B\u0E31\u0E2A\u0E01\u0E31\u0E1A"); //60
+
+        thaiWordSelection.addElement("\u0E25\u0E38\u0E07"); //63
+
+        // This is the correct result
+        //thaiWordSelection.addElement("\u0E40\u0E2E\u0E19\u0E23\u0E35"); //68
+        //thaiWordSelection.addElement("\u0E0A\u0E32\u0E27"); //71
+        //thaiWordSelection.addElement("\u0E44\u0E23\u0E48"); //74
+        //thaiWordSelection.addElement("\u0E41\u0E25\u0E30"); //77
+
+        // and this is what the dictionary does
+        thaiWordSelection.addElement("\u0E40\u0E2E"); // 65
+        thaiWordSelection.addElement("\u0E19\u0E23\u0E35\u0E0A\u0E32\u0E27\u0E44\u0E23\u0E48\u0E41\u0E25\u0E30"); //77
+        */
+        
+        BreakIterator e = BreakIterator.getWordInstance(new Locale("th","",""));
+
+        generalIteratorTest(e, thaiWordSelection);
+    }
+    
+    /**
+     * Bug 4450804
+     */
+    public void TestLineBreakContractions() {
+        Vector expected = new Vector();
+        expected.add("These ");
+        expected.add("are ");
+        expected.add("'foobles'. ");
+        expected.add("Don't ");
+        expected.add("you ");
+        expected.add("like ");
+        expected.add("them?");
+        generalIteratorTest(lineBreak, expected);
+    }
+}
+
diff --git a/src/com/ibm/icu/dev/test/rbbi/RBBIAPITest.java b/src/com/ibm/icu/dev/test/rbbi/RBBIAPITest.java
new file mode 100755
index 0000000..49c541c
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/rbbi/RBBIAPITest.java
@@ -0,0 +1,452 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2001-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+/** 
+ * Port From:   ICU4C v1.8.1 : rbbi : RBBIAPITest
+ * Source File: $ICU4CRoot/source/test/intltest/rbbiapts.cpp
+ **/
+
+package com.ibm.icu.dev.test.rbbi;
+
+import com.ibm.icu.text.RuleBasedBreakIterator;
+import java.util.Locale;
+import java.text.CharacterIterator;
+import java.text.StringCharacterIterator;
+
+/**
+ * API Test the RuleBasedBreakIterator class
+ */
+public class RBBIAPITest extends com.ibm.icu.dev.test.TestFmwk {
+    
+    public static void main(String[] args) throws Exception {
+        new RBBIAPITest().run(args);
+    }
+    
+    /**
+     * Tests clone() and equals() methods of RuleBasedBreakIterator         
+     **/
+    public void TestCloneEquals() {
+        RuleBasedBreakIterator bi1 = (RuleBasedBreakIterator) RuleBasedBreakIterator.getCharacterInstance(Locale.getDefault()); 
+        RuleBasedBreakIterator biequal = (RuleBasedBreakIterator) RuleBasedBreakIterator.getCharacterInstance(Locale.getDefault()); 
+        RuleBasedBreakIterator bi3 = (RuleBasedBreakIterator) RuleBasedBreakIterator.getCharacterInstance(Locale.getDefault()); 
+        RuleBasedBreakIterator bi2 = (RuleBasedBreakIterator) RuleBasedBreakIterator.getWordInstance(Locale.getDefault()); 
+
+        String testString = "Testing word break iterators's clone() and equals()";
+        bi1.setText(testString);
+        bi2.setText(testString);
+        biequal.setText(testString);
+        
+        bi3.setText("hello");
+        logln("Testing equals()");
+        logln("Testing == and !=");
+        if (!bi1.equals(biequal) || bi1.equals(bi2) || bi1.equals(bi3))
+            errln("ERROR:1 RBBI's == and !- operator failed.");
+        if (bi2.equals(biequal) || bi2.equals(bi1) || biequal.equals(bi3))
+            errln("ERROR:2 RBBI's == and != operator  failed.");
+        logln("Testing clone()");
+        RuleBasedBreakIterator bi1clone = (RuleBasedBreakIterator) bi1.clone();
+        RuleBasedBreakIterator bi2clone = (RuleBasedBreakIterator) bi2.clone();
+        if (!bi1clone.equals(bi1)
+            || !bi1clone.equals(biequal)
+            || bi1clone.equals(bi3)
+            || bi1clone.equals(bi2))
+            errln("ERROR:1 RBBI's clone() method failed");
+
+        if (bi2clone.equals(bi1)
+            || bi2clone.equals(biequal)
+            || bi2clone.equals(bi3)
+            || !bi2clone.equals(bi2))
+            errln("ERROR:2 RBBI's clone() method failed");
+
+        if (!bi1.getText().equals(bi1clone.getText())
+            || !bi2clone.getText().equals(bi2.getText())
+            || bi2clone.equals(bi1clone))
+            errln("ERROR: RBBI's clone() method failed");
+    }
+    
+    /**
+     * Tests toString() method of RuleBasedBreakIterator
+     **/
+    public void TestToString() {
+        RuleBasedBreakIterator bi1 = (RuleBasedBreakIterator) RuleBasedBreakIterator.getCharacterInstance(Locale.getDefault()); 
+        RuleBasedBreakIterator bi2 = (RuleBasedBreakIterator) RuleBasedBreakIterator.getWordInstance(Locale.getDefault());
+        logln("Testing toString()");
+        bi1.setText("Hello there");
+        RuleBasedBreakIterator bi3 = (RuleBasedBreakIterator) bi1.clone();
+        String temp = bi1.toString();
+        String temp2 = bi2.toString();
+        String temp3 = bi3.toString();
+        if (temp2.equals(temp3) || temp.equals(temp2) || !temp.equals(temp3))
+            errln("ERROR: error in toString() method");
+    }
+    
+    /**
+     * Tests the method hashCode() of RuleBasedBreakIterator
+     **/
+    public void TestHashCode() {
+        RuleBasedBreakIterator bi1 = (RuleBasedBreakIterator) RuleBasedBreakIterator.getCharacterInstance(Locale.getDefault()); 
+        RuleBasedBreakIterator bi3 = (RuleBasedBreakIterator) RuleBasedBreakIterator.getCharacterInstance(Locale.getDefault()); 
+        RuleBasedBreakIterator bi2 = (RuleBasedBreakIterator) RuleBasedBreakIterator.getWordInstance(Locale.getDefault());
+        logln("Testing hashCode()");
+        bi1.setText("Hash code");
+        bi2.setText("Hash code");
+        bi3.setText("Hash code");
+        RuleBasedBreakIterator bi1clone = (RuleBasedBreakIterator) bi1.clone();
+        RuleBasedBreakIterator bi2clone = (RuleBasedBreakIterator) bi2.clone();
+        if (bi1.hashCode() != bi1clone.hashCode()
+            || bi1.hashCode() != bi3.hashCode()
+            || bi1clone.hashCode() != bi3.hashCode()
+            || bi2.hashCode() != bi2clone.hashCode())
+            errln("ERROR: identical objects have different hashcodes");
+        
+        if (bi1.hashCode() == bi2.hashCode()
+            || bi2.hashCode() == bi3.hashCode()
+            || bi1clone.hashCode() == bi2clone.hashCode()
+            || bi1clone.hashCode() == bi2.hashCode())
+            errln("ERROR: different objects have same hashcodes");
+    }
+    
+    /**
+      * Tests the methods getText() and setText() of RuleBasedBreakIterator
+      **/
+    public void TestGetSetText() {
+        logln("Testing getText setText ");
+        String str1 = "first string.";
+        String str2 = "Second string.";
+        //RuleBasedBreakIterator charIter1 = (RuleBasedBreakIterator) RuleBasedBreakIterator.getCharacterInstance(Locale.getDefault()); 
+        RuleBasedBreakIterator wordIter1 = (RuleBasedBreakIterator) RuleBasedBreakIterator.getWordInstance(Locale.getDefault()); 
+        CharacterIterator text1 = new StringCharacterIterator(str1);
+        //CharacterIterator text1Clone = (CharacterIterator) text1.clone();
+        //CharacterIterator text2 = new StringCharacterIterator(str2);
+        wordIter1.setText(str1);
+        if (!wordIter1.getText().equals(text1))
+            errln("ERROR:1 error in setText or getText ");
+        if (wordIter1.current() != 0)
+            errln("ERROR:1 setText did not set the iteration position to the beginning of the text, it is"
+                   + wordIter1.current() + "\n"); 
+        wordIter1.next(2);
+        wordIter1.setText(str2);
+        if (wordIter1.current() != 0)
+            errln("ERROR:2 setText did not reset the iteration position to the beginning of the text, it is"
+                    + wordIter1.current() + "\n"); 
+        //ICU4J has remove the method adoptText
+        /*
+        charIter1.adoptText(text1Clone);
+        if (wordIter1.getText() == charIter1.getText()
+            || wordIter1.getText() != text2
+            || charIter1.getText() != text1)
+            errln((UnicodeString) "ERROR:2 error is getText or setText()");
+        
+        RuleBasedBreakIterator rb = (RuleBasedBreakIterator) wordIter1.clone();
+        rb.adoptText(text1);
+        if (rb.getText() != text1)
+            errln((UnicodeString) "ERROR:1 error in adoptText ");
+        rb.adoptText(text2);
+        if (rb.getText() != text2)
+            errln((UnicodeString) "ERROR:2 error in adoptText ");
+        */
+    }
+    
+    /**
+      * Testing the methods first(), next(), next(int) and following() of RuleBasedBreakIterator
+      **/
+    public void TestFirstNextFollowing() {
+        int p, q;
+        String testString = "This is a word break. Isn't it? 2.25";
+        logln("Testing first() and next(), following() with custom rules");
+        logln("testing word iterator - string :- \"" + testString + "\"\n");
+        RuleBasedBreakIterator wordIter1 = (RuleBasedBreakIterator) RuleBasedBreakIterator.getWordInstance(Locale.getDefault());
+        wordIter1.setText(testString);
+        p = wordIter1.first();
+        if (p != 0)
+            errln("ERROR: first() returned" + p + "instead of 0");
+        q = wordIter1.next(9);
+        doTest(testString, p, q, 20, "This is a word break");
+        p = q;
+        q = wordIter1.next();
+        doTest(testString, p, q, 21, ".");
+        p = q;
+        q = wordIter1.next(3);
+        doTest(testString, p, q, 28, " Isn't ");
+        p = q;
+        q = wordIter1.next(2);
+        doTest(testString, p, q, 31, "it?");
+        q = wordIter1.following(2);
+        doTest(testString, 2, q, 4, "is");
+        q = wordIter1.following(22);
+        doTest(testString, 22, q, 27, "Isn't");
+        wordIter1.last();
+        p = wordIter1.next();
+        q = wordIter1.following(wordIter1.last());
+        if (p != RuleBasedBreakIterator.DONE || q != RuleBasedBreakIterator.DONE)
+            errln("ERROR: next()/following() at last position returned #"
+                    + p + " and " + q + " instead of" + testString.length() + "\n"); 
+        RuleBasedBreakIterator charIter1 = (RuleBasedBreakIterator) RuleBasedBreakIterator.getCharacterInstance(Locale.getDefault()); 
+        testString = "Write hindi here. \u092d\u093e\u0930\u0301 \u0938\u0941\u0902\u0926\u0930 \u0939\u094c\u0964"; 
+        logln("testing char iter - string:- \"" + testString + "\"");
+        charIter1.setText(testString);
+        p = charIter1.first();
+        if (p != 0)
+            errln("ERROR: first() returned" + p + "instead of 0");
+        q = charIter1.next();
+        doTest(testString, p, q, 1, "W");
+        p = q;
+        q = charIter1.next(4);
+        doTest(testString, p, q, 5, "rite");
+        p = q;
+        q = charIter1.next(12);
+        doTest(testString, p, q, 17, " hindi here.");
+        p = q;
+        q = charIter1.next(-6);
+        doTest(testString, p, q, 11, " here.");
+        p = q;
+        q = charIter1.next(6);
+        doTest(testString, p, q, 17, " here.");
+        // hindi starts here
+        p = q;
+        q = charIter1.next(4);
+        doTest(testString, p, q, 22, " \u092d\u093e\u0930\u0301");   // Nonsense, but compatible between old and new rules.
+        p = q;
+        q = charIter1.next(2);
+        doTest(testString, p, q, 26, " \u0938\u0941\u0902");
+
+        q = charIter1.following(24);
+        doTest(testString, 24, q, 26, "\u0941\u0902");
+        q = charIter1.following(20);
+        doTest(testString, 20, q, 22, "\u0930\u0301");
+        p = charIter1.following(charIter1.last());
+        q = charIter1.next(charIter1.last());
+        if (p != RuleBasedBreakIterator.DONE || q != RuleBasedBreakIterator.DONE)
+            errln("ERROR: following()/next() at last position returned #"
+                    + p + " and " + q + " instead of" + testString.length()); 
+        testString = "Hello! how are you? I'am fine. Thankyou. How are you doing? This  costs $20,00,000."; 
+        RuleBasedBreakIterator sentIter1 = (RuleBasedBreakIterator) RuleBasedBreakIterator.getSentenceInstance(Locale.getDefault()); 
+        logln("testing sentence iter - String:- \"" + testString + "\"");
+        sentIter1.setText(testString);
+        p = sentIter1.first();
+        if (p != 0)
+            errln("ERROR: first() returned" + p + "instead of 0");
+        q = sentIter1.next();
+        doTest(testString, p, q, 7, "Hello! ");
+        p = q;
+        q = sentIter1.next(2);
+        doTest(testString, p, q, 31, "how are you? I'am fine. ");
+        p = q;
+        q = sentIter1.next(-2);
+        doTest(testString, p, q, 7, "how are you? I'am fine. ");
+        p = q;
+        q = sentIter1.next(4);
+        doTest(testString, p, q, 60, "how are you? I'am fine. Thankyou. How are you doing? ");
+        p = q;
+        q = sentIter1.next();
+        doTest(testString, p, q, 83, "This  costs $20,00,000.");
+        q = sentIter1.following(1);
+        doTest(testString, 1, q, 7, "ello! ");
+        q = sentIter1.following(10);
+        doTest(testString, 10, q, 20, " are you? ");
+        q = sentIter1.following(20);
+        doTest(testString, 20, q, 31, "I'am fine. ");
+        p = sentIter1.following(sentIter1.last());
+        q = sentIter1.next(sentIter1.last());
+        if (p != RuleBasedBreakIterator.DONE || q != RuleBasedBreakIterator.DONE)
+            errln("ERROR: following()/next() at last position returned #"
+                    + p + " and " + q + " instead of" + testString.length()); 
+        testString = "Hello! how\r\n (are)\r you? I'am fine- Thankyou. foo\u00a0bar How, are, you? This, costs $20,00,000."; 
+        logln("(UnicodeString)testing line iter - String:- \"" + testString + "\"");
+        RuleBasedBreakIterator lineIter1 = (RuleBasedBreakIterator) RuleBasedBreakIterator.getLineInstance(Locale.getDefault()); 
+        lineIter1.setText(testString);
+        p = lineIter1.first();
+        if (p != 0)
+            errln("ERROR: first() returned" + p + "instead of 0");
+        q = lineIter1.next();
+        doTest(testString, p, q, 7, "Hello! ");
+        p = q;
+        p = q;
+        q = lineIter1.next(4);
+        doTest(testString, p, q, 20, "how\r\n (are)\r ");
+        p = q;
+        q = lineIter1.next(-4);
+        doTest(testString, p, q, 7, "how\r\n (are)\r ");
+        p = q;
+        q = lineIter1.next(6);
+        doTest(testString, p, q, 30, "how\r\n (are)\r you? I'am ");
+        p = q;
+        q = lineIter1.next();
+        doTest(testString, p, q, 36, "fine- ");
+        p = q;
+        q = lineIter1.next(2);
+        doTest(testString, p, q, 54, "Thankyou. foo\u00a0bar ");
+        q = lineIter1.following(60);
+        doTest(testString, 60, q, 64, "re, ");
+        q = lineIter1.following(1);
+        doTest(testString, 1, q, 7, "ello! ");
+        q = lineIter1.following(10);
+        doTest(testString, 10, q, 12, "\r\n");
+        q = lineIter1.following(20);
+        doTest(testString, 20, q, 25, "you? ");
+        p = lineIter1.following(lineIter1.last());
+        q = lineIter1.next(lineIter1.last());
+        if (p != RuleBasedBreakIterator.DONE || q != RuleBasedBreakIterator.DONE)
+            errln("ERROR: following()/next() at last position returned #"
+                    + p + " and " + q + " instead of" + testString.length()); 
+    }
+    
+    /**
+     * Testing the methods lastt(), previous(), and preceding() of RuleBasedBreakIterator
+     **/
+    public void TestLastPreviousPreceding() {
+        int p, q;
+        String testString = "This is a word break. Isn't it? 2.25 dollars";
+        logln("Testing last(),previous(), preceding() with custom rules");
+        logln("testing word iteration for string \"" + testString + "\"");
+        RuleBasedBreakIterator wordIter1 = (RuleBasedBreakIterator) RuleBasedBreakIterator.getWordInstance(Locale.getDefault()); 
+        wordIter1.setText(testString);
+        p = wordIter1.last();
+        if (p != testString.length()) {
+            errln("ERROR: first() returned" + p + "instead of" + testString.length());
+        }
+        q = wordIter1.previous();
+        doTest(testString, p, q, 37, "dollars");
+        p = q;
+        q = wordIter1.previous();
+        doTest(testString, p, q, 36, " ");
+        q = wordIter1.preceding(25);
+        doTest(testString, 25, q, 22, "Isn");
+        p = q;
+        q = wordIter1.previous();
+        doTest(testString, p, q, 21, " ");
+        q = wordIter1.preceding(20);
+        doTest(testString, 20, q, 15, "break");
+        p = wordIter1.preceding(wordIter1.first());
+        if (p != RuleBasedBreakIterator.DONE)
+            errln("ERROR: preceding()  at starting position returned #" + p + " instead of 0");
+        testString = "Write hindi here. \u092d\u093e\u0930\u0924 \u0938\u0941\u0902\u0926\u0930 \u0939\u0301\u0964"; 
+        logln("testing character iteration for string \" " + testString + "\" \n");
+        RuleBasedBreakIterator charIter1 = (RuleBasedBreakIterator) RuleBasedBreakIterator.getCharacterInstance(Locale.getDefault());
+        charIter1.setText(testString);
+        p = charIter1.last();
+        if (p != testString.length())
+            errln("ERROR: first() returned" + p + "instead of" + testString.length());
+        q = charIter1.previous();
+        doTest(testString, p, q, 31, "\u0964");
+        p = q;
+        q = charIter1.previous();
+        doTest(testString, p, q, 29, "\u0939\u0301");
+        q = charIter1.preceding(26);
+        doTest(testString, 26, q, 23, "\u0938\u0941\u0902");
+        q = charIter1.preceding(16);
+        doTest(testString, 16, q, 15, "e");
+        p = q;
+        q = charIter1.previous();
+        doTest(testString, p, q, 14, "r");
+        charIter1.first();
+        p = charIter1.previous();
+        q = charIter1.preceding(charIter1.first());
+        if (p != RuleBasedBreakIterator.DONE || q != RuleBasedBreakIterator.DONE)
+            errln("ERROR: previous()/preceding() at starting position returned #"
+                    + p + " and " + q + " instead of 0\n"); 
+        testString = "Hello! how are you? I'am fine. Thankyou. How are you doing? This  costs $20,00,000."; 
+        logln("testing sentence iter - String:- \"" + testString + "\"");
+        RuleBasedBreakIterator sentIter1 = (RuleBasedBreakIterator) RuleBasedBreakIterator.getSentenceInstance(Locale.getDefault()); 
+        sentIter1.setText(testString);
+        p = sentIter1.last();
+        if (p != testString.length())
+            errln("ERROR: last() returned" + p + "instead of " + testString.length());
+        q = sentIter1.previous();
+        doTest(testString, p, q, 60, "This  costs $20,00,000.");
+        p = q;
+        q = sentIter1.previous();
+        doTest(testString, p, q, 41, "How are you doing? ");
+        q = sentIter1.preceding(40);
+        doTest(testString, 40, q, 31, "Thankyou.");
+        q = sentIter1.preceding(25);
+        doTest(testString, 25, q, 20, "I'am ");
+        sentIter1.first();
+        p = sentIter1.previous();
+        q = sentIter1.preceding(sentIter1.first());
+        if (p != RuleBasedBreakIterator.DONE || q != RuleBasedBreakIterator.DONE)
+            errln("ERROR: previous()/preceding() at starting position returned #"
+                    + p + " and " + q + " instead of 0\n"); 
+        testString = "Hello! how are you? I'am fine. Thankyou. How are you doing? This\n costs $20,00,000."; 
+        logln("testing line iter - String:- \"" + testString + "\"");
+        RuleBasedBreakIterator lineIter1 = (RuleBasedBreakIterator) RuleBasedBreakIterator.getLineInstance(Locale.getDefault());
+        lineIter1.setText(testString);
+        p = lineIter1.last();
+        if (p != testString.length())
+            errln("ERROR: last() returned" + p + "instead of " + testString.length());
+        q = lineIter1.previous();
+        doTest(testString, p, q, 72, "$20,00,000.");
+        p = q;
+        q = lineIter1.previous();
+        doTest(testString, p, q, 66, "costs ");
+        q = lineIter1.preceding(40);
+        doTest(testString, 40, q, 31, "Thankyou.");
+        q = lineIter1.preceding(25);
+        doTest(testString, 25, q, 20, "I'am ");
+        lineIter1.first();
+        p = lineIter1.previous();
+        q = lineIter1.preceding(sentIter1.first());
+        if (p != RuleBasedBreakIterator.DONE || q != RuleBasedBreakIterator.DONE)
+            errln("ERROR: previous()/preceding() at starting position returned #"
+                    + p + " and " + q + " instead of 0\n");
+    }
+    
+    /**
+     * Tests the method IsBoundary() of RuleBasedBreakIterator
+     **/
+    public void TestIsBoundary() {
+        String testString1 = "Write here. \u092d\u0301\u0930\u0924 \u0938\u0941\u0902\u0926\u0930 a\u0301u";
+        RuleBasedBreakIterator charIter1 = (RuleBasedBreakIterator) RuleBasedBreakIterator.getCharacterInstance(Locale.getDefault());
+        charIter1.setText(testString1);
+        int bounds1[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 15, 16, 17, 20, 21, 22, 23, 25, 26};
+        doBoundaryTest(charIter1, testString1, bounds1);
+        RuleBasedBreakIterator wordIter2 = (RuleBasedBreakIterator) RuleBasedBreakIterator.getWordInstance(Locale.getDefault());
+        wordIter2.setText(testString1);
+        int bounds2[] = {0, 5, 6, 10, 11, 12, 16, 17, 22, 23, 26};
+        doBoundaryTest(wordIter2, testString1, bounds2);
+    }
+    
+    //---------------------------------------------
+    //Internal subroutines
+    //---------------------------------------------
+    
+    /* Internal subroutine used by TestIsBoundary() */ 
+    public void doBoundaryTest(RuleBasedBreakIterator bi, String text, int[] boundaries) {
+        logln("testIsBoundary():");
+        int p = 0;
+        boolean isB;
+        for (int i = 0; i < text.length(); i++) {
+            isB = bi.isBoundary(i);
+            logln("bi.isBoundary(" + i + ") -> " + isB);
+            if (i == boundaries[p]) {
+                if (!isB)
+                    errln("Wrong result from isBoundary() for " + i + ": expected true, got false");
+                p++;
+            } else {
+                if (isB)
+                    errln("Wrong result from isBoundary() for " + i + ": expected false, got true");
+            }
+        }
+    }
+    
+    /*Internal subroutine used for comparision of expected and acquired results */
+    public void doTest(String testString, int start, int gotoffset, int expectedOffset, String expectedString) {
+        String selected;
+        String expected = expectedString;
+        if (gotoffset != expectedOffset)
+            errln("ERROR:****returned #" + gotoffset + " instead of #" + expectedOffset);
+        if (start <= gotoffset) {
+            selected = testString.substring(start, gotoffset);
+        } else {
+            selected = testString.substring(gotoffset, start);
+        }
+        if (!selected.equals(expected))
+            errln("ERROR:****selected \"" + selected + "\" instead of \"" + expected + "\"");
+        else
+            logln("****selected \"" + selected + "\"");
+    }
+}
\ No newline at end of file
diff --git a/src/com/ibm/icu/dev/test/rbbi/RBBITest.java b/src/com/ibm/icu/dev/test/rbbi/RBBITest.java
new file mode 100755
index 0000000..b3b3e6b
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/rbbi/RBBITest.java
@@ -0,0 +1,997 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.test.rbbi;
+ 
+//Regression testing of RuleBasedBreakIterator
+import com.ibm.icu.dev.test.*;
+import com.ibm.icu.text.RuleBasedBreakIterator;
+import com.ibm.icu.text.RuleBasedBreakIterator_Old;
+import java.util.Vector;
+
+public class RBBITest extends TestFmwk 
+{  
+  private RuleBasedBreakIterator characterBreak;
+  private RuleBasedBreakIterator wordBreak;
+  private RuleBasedBreakIterator lineBreak;
+  private RuleBasedBreakIterator sentenceBreak;
+    
+  public static void main(String[] args) throws Exception {
+    new RBBITest().run(args);
+  }
+
+  public RBBITest() { 
+  }
+  
+   private static final String halfNA = "\u0928\u094d\u200d";  /*halfform NA = devanigiri NA + virama(supresses inherent vowel)+ zero width joiner */  
+  private static final String halfSA  = "\u0938\u094d\u200d"; 
+  private static final String halfCHA = "\u091a\u094d\u200d"; 
+  private static final String halfKA  = "\u0915\u094d\u200d"; 
+  private static final String deadTA  = "\u0924\u094d";
+
+  private static final String deadRA   = "\u0930\u094d";  /*deadform RA = devanagari RA + virama*/
+  private static final String deadPHA  = "\u092b\u094d";  /*deadform PHA = devanagari PHA + virama*/
+  private static final String deadTTHA = "\u0920\u094d"; 
+  private static final String deadPA   = "\u092a\u094d"; 
+  private static final String deadSA   = "\u0938\u094d";   /*devanagari visarga looks like a english colon*/
+  private static final String visarga  = "\u0903";
+
+
+  //tests default rules based character iteration
+  public void TestDefaultRuleBasedCharacterIteration(){
+      RuleBasedBreakIterator rbbi=(RuleBasedBreakIterator)RuleBasedBreakIterator.getCharacterInstance();
+      logln("Testing the RBBI for character iteration by using default rules");
+      try {
+          RuleBasedBreakIterator_Old obi = (RuleBasedBreakIterator_Old)rbbi;
+      }
+      catch (ClassCastException e) {
+          // Bail out if using new RBBI implementation
+          logln("Test Skipped.");
+          return;
+      }
+
+      //fetch the rules used to create the above RuleBasedBreakIterator
+      String defaultRules=rbbi.toString();
+      
+      RuleBasedBreakIterator charIterDefault=null;
+      try{
+      charIterDefault   = new RuleBasedBreakIterator(defaultRules); 
+      }catch(IllegalArgumentException iae){
+          errln("ERROR: failed construction in TestDefaultRuleBasedCharacterIteration()"+ iae.toString());
+      }
+
+      Vector chardata = new Vector();
+      chardata.addElement("H");
+      chardata.addElement("e");
+      chardata.addElement("l");
+      chardata.addElement("l");
+      chardata.addElement("o");
+      chardata.addElement("e\u0301");                   //acuteE
+      chardata.addElement("&");
+      chardata.addElement("e\u0303");                   //tildaE
+      //devanagiri characters for Hindi support
+      chardata.addElement("\u0906");                    //devanagiri AA
+      //chardata.addElement("\u093e\u0901");              //devanagiri vowelsign AA+ chandrabindhu
+      chardata.addElement("\u0916\u0947");              //devanagiri KHA+vowelsign E
+      chardata.addElement("\u0938\u0941\u0902");        //devanagiri SA+vowelsign U + anusvara(bindu)
+      chardata.addElement("\u0926");                    //devanagiri consonant DA
+      chardata.addElement("\u0930");                    //devanagiri consonant RA
+      chardata.addElement("\u0939\u094c");              //devanagiri HA+vowel sign AI
+      chardata.addElement("\u0964");                    //devanagiri danda
+      //end hindi characters      
+      chardata.addElement("A\u0302");                   // circumflexA 
+      chardata.addElement("i\u0301");                   // acuteBelowI   
+      // conjoining jamo... 
+      chardata.addElement("\u1109\u1161\u11bc");
+      chardata.addElement("\u1112\u1161\u11bc");
+      chardata.addElement("\n");
+      chardata.addElement("\r\n");                      // keep CRLF sequences together  
+      chardata.addElement("S\u0300");                   //graveS
+      chardata.addElement("i\u0301");                   // acuteBelowI
+      chardata.addElement("!");
+
+       // What follows is a string of Korean characters (I found it in the Yellow Pages
+      // ad for the Korean Presbyterian Church of San Francisco, and I hope I transcribed
+      // it correctly), first as precomposed syllables, and then as conjoining jamo.
+      // Both sequences should be semantically identical and break the same way.
+      // precomposed syllables...
+      chardata.addElement("\uc0c1");
+      chardata.addElement("\ud56d");
+      chardata.addElement(" ");
+      chardata.addElement("\ud55c");
+      chardata.addElement("\uc778");
+      chardata.addElement(" ");
+      chardata.addElement("\uc5f0");
+      chardata.addElement("\ud569");
+      chardata.addElement(" ");
+      chardata.addElement("\uc7a5");
+      chardata.addElement("\ub85c");
+      chardata.addElement("\uad50");
+      chardata.addElement("\ud68c");
+      chardata.addElement(" ");
+       // conjoining jamo...
+      chardata.addElement("\u1109\u1161\u11bc");
+      chardata.addElement("\u1112\u1161\u11bc");
+      chardata.addElement(" ");
+      chardata.addElement("\u1112\u1161\u11ab");
+      chardata.addElement("\u110b\u1175\u11ab");
+      chardata.addElement(" ");
+      chardata.addElement("\u110b\u1167\u11ab");
+      chardata.addElement("\u1112\u1161\u11b8");
+      chardata.addElement(" ");
+      chardata.addElement("\u110c\u1161\u11bc");
+      chardata.addElement("\u1105\u1169");
+      chardata.addElement("\u1100\u116d");
+      chardata.addElement("\u1112\u116c");
+
+      //Testing the BreakIterator for devanagari script
+      //devanagari characters for Hindi support
+      chardata.addElement("\u0906");                    //devanagari AA
+      //hindi character break should make sure that it 
+      // doesn't break in-between a vowelsign and a chandrabindu
+    //  chardata.addElement("\u093e\u0901");              //devanagari vowelsign AA+ chandrabindu
+      chardata.addElement("\u0916\u0947");              //devanagari KHA+vowelsign E
+      chardata.addElement("\u0938\u0941\u0902");        //devanagari SA+vowelsign U + anusvara(bindu)
+      chardata.addElement("\u0926");                    //devanagari consonant DA
+      chardata.addElement("\u0930");                    //devanagari consonant RA
+      chardata.addElement("\u0939\u094c");              //devanagari consonant HA+dependent vowel sign AI
+      chardata.addElement("\u0964");                    //devanagari danda
+      chardata.addElement("\u0950");                    //devanagari OM 
+      chardata.addElement("\u0915\u0943");              //devanagari KA+dependent vowel RI->KRI
+
+      //dependent half-forms
+      chardata.addElement(halfSA+ "\u0924");             //halfSA+base consonant TA->STA
+      chardata.addElement(halfSA+ "\u0925");             //halfSA+base consonant THA->STHA
+      chardata.addElement(halfSA+ "\u092e");             //halfSA+base consonant MA->SMA
+      chardata.addElement(halfCHA+ "\u091b");            //halfCHA+base consonant CHHA->CHHHA
+      chardata.addElement(halfNA+ "\u0917");             //halfNA+base consonant GA->NGA
+      chardata.addElement("\u092a\u094d\u200d\u092f");   //halfPA(PA+virama+zerowidthjoiner+base consonant YA->PYA
+
+
+      //consonant RA rules ----------
+      //if the dead consonant RA precedes either a consonant or an independent vowel,
+      //then it is replaced by its superscript non-spacing mark
+      chardata.addElement(deadRA+ "\u0915");             //deadRA+devanagari consonant KA->KA+superRA 
+      chardata.addElement(deadRA+ "\u0923");             //deadRA+devanagari consonant NNA->NNA+superRA
+      chardata.addElement(deadRA+ "\u0917");             //deadRA+devanagari consonant GA->GA+superRA
+   //   chardata.addElement(deadRA+ "\u0960");           //deadRA+devanagari cosonant RRI->RRI+superRA
+      
+      //if any dead consonant(other than dead RA)precedes the consonant RA, then
+      //it is replaced with its nominal forma nd RA is replaced by the subscript non-spacing mark.
+      chardata.addElement(deadPHA+ "\u0930");            //deadPHA+devanagari consonant RA->PHA+subRA
+      chardata.addElement(deadPA+ "\u0930");             //deadPA+devanagari consonant RA->PA+subRA
+      chardata.addElement(deadTTHA+ "\u0930");           //deadTTHA+devanagari consonant RA->TTHA+subRA
+      chardata.addElement(deadTA+ "\u0930");             //deadTA+RA->TRA 
+      chardata.addElement("\u0936\u094d\u0930");         //deadSHA(SHA+virama)+RA->SHRA 
+
+      //conjuct ligatures
+      chardata.addElement("\u0915\u094d\u0937");         //deadKA(KA+virama) followed by SSHA wraps up into a single character KSSHA
+      chardata.addElement(deadTA+ "\u0924");              //deadTA+TA wraps up into glyph TTHA
+      chardata.addElement("\u0926\u094d\u0935");         //deadDA(DA+virama)+VA wraps up into DVA
+      chardata.addElement("\u091c\u094d\u091e");         //deadJA(JA+virama)+NYA wraps up into JNYA
+     
+
+
+      generalIteratorTest(charIterDefault, chardata);
+
+  }
+
+  public void TestDefaultRuleBasedWordIteration(){
+      logln("Testing the RBBI for word iteration using default rules");
+      RuleBasedBreakIterator rbbi=(RuleBasedBreakIterator)RuleBasedBreakIterator.getWordInstance();
+      try {
+          RuleBasedBreakIterator_Old obi = (RuleBasedBreakIterator_Old)rbbi;
+      }
+      catch (ClassCastException e) {
+          // Bail out if using new RBBI implementation
+          logln("Test Skipped.");
+          return;
+      }
+      //fetch the rules used to create the above RuleBasedBreakIterator
+      String defaultRules=rbbi.toString();
+      
+      RuleBasedBreakIterator wordIterDefault=null;
+      try{
+      wordIterDefault   = new RuleBasedBreakIterator(defaultRules); 
+      }catch(IllegalArgumentException iae){
+          errln("ERROR: failed construction in TestDefaultRuleBasedWordIteration() -- custom rules"+ iae.toString());
+      }
+
+      Vector worddata = new Vector();
+      worddata.addElement ("Write");
+      worddata.addElement (" ");
+      worddata.addElement ("wordrules");
+      worddata.addElement (".");
+      worddata.addElement(" ");
+      worddata.addElement("alpha-beta-gamma");
+      worddata.addElement(" ");      
+      worddata.addElement("\u092f\u0939");
+      worddata.addElement(" ");
+      worddata.addElement("\u0939\u093f" + halfNA + "\u0926\u0940");
+      worddata.addElement(" ");
+      worddata.addElement("\u0939\u0948");
+      //  worddata.addElement("\u0964");   //danda followed by a space
+      worddata.addElement(" ");
+      worddata.addElement("\u0905\u093e\u092a");
+      worddata.addElement(" ");
+      worddata.addElement("\u0938\u093f\u0916\u094b\u0917\u0947");
+      worddata.addElement("?");
+      worddata.addElement(" ");
+      worddata.addElement("\u0968\u0966.\u0969\u096f");            //hindi numbers
+      worddata.addElement(" ");
+      worddata.addElement("\u0967\u0966\u0966.\u0966\u0966%");     //postnumeric
+      worddata.addElement(" ");
+      worddata.addElement("\u20a8\u0967,\u0967\u0966\u0966.\u0966\u0966"); //pre-number India currency symbol Rs.\u20aD
+      worddata.addElement(" ");
+      worddata.addElement("\u0905\u092e\u091c");
+      worddata.addElement("\n");
+      worddata.addElement(halfSA+"\u0935\u0924\u0902"+deadTA+"\u0930");
+      worddata.addElement("\r");
+      worddata.addElement("It's");
+      worddata.addElement(" ");
+      worddata.addElement("$30.10");
+      worddata.addElement(" ");  
+      worddata.addElement("\u00A2"); //cent sign
+      worddata.addElement("\u00A3"); //pound sign
+      worddata.addElement("\u00A4"); //currency sign
+      worddata.addElement("\u00A5"); //yen sign
+      worddata.addElement("alpha-beta-gamma");
+      worddata.addElement(" ");
+      worddata.addElement("Badges");
+      worddata.addElement("?");
+      worddata.addElement(" ");
+      worddata.addElement("BADGES");
+      worddata.addElement("!");
+      worddata.addElement("1000,233,456.000");
+      worddata.addElement(" ");
+      worddata.addElement("1,23.322%");
+      worddata.addElement(" ");
+      worddata.addElement("123.1222");
+      worddata.addElement(" ");
+      worddata.addElement("\u0024123,000.20");
+      worddata.addElement(" ");
+      worddata.addElement("179.01\u0025");
+      worddata.addElement("X");
+      worddata.addElement(" ");
+      worddata.addElement("Now");
+      worddata.addElement("\r");
+      worddata.addElement("is");
+      worddata.addElement("\n");
+      worddata.addElement("the");
+      worddata.addElement("\r\n");
+      worddata.addElement("time");
+      worddata.addElement(" ");
+      worddata.addElement("\uc5f0\ud569");
+      worddata.addElement(" ");
+      worddata.addElement("\uc7a5\ub85c\uad50\ud68c");
+      worddata.addElement(" ");
+      // conjoining jamo...
+      worddata.addElement("\u1109\u1161\u11bc\u1112\u1161\u11bc");
+      worddata.addElement(" ");
+      worddata.addElement("\u1112\u1161\u11ab\u110b\u1175\u11ab");
+      worddata.addElement(" ");
+      worddata.addElement("Hello");
+      worddata.addElement(",");
+      worddata.addElement(" ");
+      worddata.addElement("how");
+      worddata.addElement(" ");
+      worddata.addElement("are");
+      worddata.addElement(" ");
+      worddata.addElement("you");
+      worddata.addElement(" ");
+
+      //Testing the BreakIterator for devanagari script
+      //hindi
+      worddata.addElement("\u0917\u092a-\u0936\u092a");
+      worddata.addElement("!");
+      worddata.addElement("\u092f\u0939");
+      worddata.addElement(" ");
+      worddata.addElement("\u0939\u093f" + halfNA + "\u0926\u0940");
+      worddata.addElement(" ");
+      worddata.addElement("\u0939\u0948");
+      //danda is similar to full stop. danda is a hindi phrase seperator
+      //Make sure it breaks before danda and after danda when it is followed by a space
+      //worddata.addElement("\u0964");   //fails here doesn't break at danda
+      worddata.addElement(" ");
+      worddata.addElement("\u0905\u093e\u092a");
+      worddata.addElement(" ");
+      worddata.addElement("\u0938\u093f\u0916\u094b\u0917\u0947");
+      worddata.addElement("?");
+      worddata.addElement("\n"); 
+      worddata.addElement(":");
+      worddata.addElement(deadPA+"\u0930\u093e\u092f"+visarga);    //no break before visarga
+      worddata.addElement(" ");
+
+      worddata.addElement("\u0935" + deadRA+ "\u0937\u093e");
+      worddata.addElement("\r\n");
+      worddata.addElement(deadPA+ "\u0930\u0915\u093e\u0936");     //deadPA+RA+KA+vowel AA+SHA -> prakash
+      worddata.addElement(","); 
+      worddata.addElement("\u0924\u0941\u092e\u093e\u0930\u094b"); 
+      worddata.addElement(" ");
+      worddata.addElement("\u092e\u093f"+ deadTA+ "\u0930");       //MA+vowel I+ deadTA + RA 
+      worddata.addElement(" ");
+      worddata.addElement("\u0915\u093e");
+      worddata.addElement(" ");
+      worddata.addElement("\u092a"+ deadTA + "\u0930");            //PA + deadTA + RA
+      worddata.addElement(" ");
+      worddata.addElement("\u092a\u095d\u094b");
+      // worddata.addElement("\u0964"); //fails here doesn't break at danda
+      worddata.addElement(" ");
+      worddata.addElement(deadSA + deadTA + "\u0930\u093f");       //deadSA+deadTA+RA+vowel I->sthri
+      worddata.addElement(".");
+      worddata.addElement(" ");
+      worddata.addElement("\u0968\u0966.\u0969\u096f");            //hindi numbers
+      worddata.addElement(" ");
+      worddata.addElement("\u0967\u0966\u0966.\u0966\u0966%");     //postnumeric
+      worddata.addElement(" ");
+      worddata.addElement("\u20a8\u0967,\u0967\u0966\u0966.\u0966\u0966"); //pre-number India currency symbol Rs.\u20aD
+      worddata.addElement(" ");
+      worddata.addElement("\u0905\u092e\u091c");
+      worddata.addElement("\n");
+      worddata.addElement(halfSA + "\u0935\u0924\u0902" +deadTA+ "\u0930");
+      worddata.addElement("\r");
+
+      generalIteratorTest(wordIterDefault, worddata);
+  }
+  private static final String kParagraphSeparator = "\u2029";
+  private static final String kLineSeparator      = "\u2028";
+
+  public void TestDefaultRuleBasedSentenceIteration(){
+      logln("Testing the RBBI for sentence iteration using default rules");
+      RuleBasedBreakIterator rbbi=(RuleBasedBreakIterator)RuleBasedBreakIterator.getSentenceInstance();
+      //fetch the rules used to create the above RuleBasedBreakIterator
+      try {
+          RuleBasedBreakIterator_Old obi = (RuleBasedBreakIterator_Old)rbbi;
+      }
+      catch (ClassCastException e) {
+          // Bail out if using new RBBI implementation
+          logln("Test Skipped.");
+          return;
+      }
+      String defaultRules=rbbi.toString();
+      RuleBasedBreakIterator sentIterDefault=null;
+      try{
+      sentIterDefault   = new RuleBasedBreakIterator(defaultRules); 
+      }catch(IllegalArgumentException iae){
+          errln("ERROR: failed construction in TestDefaultRuleBasedSentenceIteration()" + iae.toString());
+      }
+
+      Vector sentdata = new Vector();
+      sentdata.addElement("(This is it.) ");
+      sentdata.addElement("Testing the sentence iterator. ");
+      sentdata.addElement("\"This isn\'t it.\" ");
+      sentdata.addElement("Hi! ");
+      sentdata.addElement("This is a simple sample sentence. ");
+      sentdata.addElement("(This is it.) ");
+      sentdata.addElement("This is a simple sample sentence. ");
+      sentdata.addElement("\"This isn\'t it.\" ");
+      sentdata.addElement("Hi! ");
+      sentdata.addElement("This is a simple sample sentence. ");
+      sentdata.addElement("It does not have to make any sense as you can see. ");
+      sentdata.addElement("Nel mezzo del cammin di nostra vita, mi ritrovai in una selva oscura. ");
+      sentdata.addElement("Che la dritta via aveo smarrita. ");
+      sentdata.addElement("He said, that I said, that you said!! ");
+      sentdata.addElement("Don't rock the boat." + kParagraphSeparator);
+      sentdata.addElement("Because I am the daddy, that is why. ");
+      sentdata.addElement("Not on my time (el timo.)! ");
+      sentdata.addElement("So what!!" + kParagraphSeparator);
+      sentdata.addElement("\"But now,\" he said, \"I know!\" ");
+      sentdata.addElement("Harris thumbed down several, including \"Away We Go\" (which became the huge success Oklahoma!). ");
+      sentdata.addElement("One species, B. anthracis, is highly virulent.\n");
+      sentdata.addElement("Wolf said about Sounder:\"Beautifully thought-out and directed.\" ");
+      sentdata.addElement("Have you ever said, \"This is where\tI shall live\"? ");
+      sentdata.addElement("He answered, \"You may not!\" ");
+      sentdata.addElement("Another popular saying is: \"How do you do?\". ");
+      sentdata.addElement("Yet another popular saying is: \'I\'m fine thanks.\' ");
+      sentdata.addElement("What is the proper use of the abbreviation pp.? ");
+      sentdata.addElement("Yes, I am definatelly 12\" tall!!");
+      sentdata.addElement("Now\ris\nthe\r\ntime\n\rfor\r\rall\u2029");
+      // Don't break sentences at the boundary between CJK
+      // and other letters
+      sentdata.addElement("\u5487\u67ff\ue591\u5017\u61b3\u60a1\u9510\u8165:\"JAVA\u821c"
+                + "\u8165\u7fc8\u51ce\u306d,\u2494\u56d8\u4ec0\u60b1\u8560\u51ba"
+                + "\u611d\u57b6\u2510\u5d46\".\u2029");
+      sentdata.addElement("\u5487\u67ff\ue591\u5017\u61b3\u60a1\u9510\u8165\u9de8"
+                + "\u97e4JAVA\u821c\u8165\u7fc8\u51ce\u306d\ue30b\u2494\u56d8\u4ec0"
+                + "\u60b1\u8560\u51ba\u611d\u57b6\u2510\u5d46\u97e5\u7751\u2029");
+      sentdata.addElement("\u5487\u67ff\ue591\u5017\u61b3\u60a1\u9510\u8165\u9de8\u97e4"
+                + "\u6470\u8790JAVA\u821c\u8165\u7fc8\u51ce\u306d\ue30b\u2494\u56d8"
+                + "\u4ec0\u60b1\u8560\u51ba\u611d\u57b6\u2510\u5d46\u97e5\u7751\u2029");
+      sentdata.addElement("He said, \"I can go there.\"\u2029");
+      // Treat fullwidth variants of .!? the same as their
+      // normal counterparts
+      sentdata.addElement("I know I'm right\uff0e ");
+      sentdata.addElement("Right\uff1f ");
+      sentdata.addElement("Right\uff01 ");
+
+      // Don't break sentences at boundary between CJK and digits
+      sentdata.addElement("\u5487\u67ff\ue591\u5017\u61b3\u60a1\u9510\u8165\u9de8"
+                + "\u97e48888\u821c\u8165\u7fc8\u51ce\u306d\ue30b\u2494\u56d8\u4ec0"
+                + "\u60b1\u8560\u51ba\u611d\u57b6\u2510\u5d46\u97e5\u7751\u2029");
+
+      // Break sentence between a sentence terminator and
+      // opening punctuation
+      sentdata.addElement("How do you do?");
+      sentdata.addElement("(fine).");
+      //sentence breaks for hindi
+      //make sure there is sentence break after ?,danda(hindi phrase separator),fullstop followed by space and no break after \n \r 
+      sentdata.addElement("\u0928\u092e"+halfSA+"\u0924\u0947 "  
+                                   + "\u0930\u092e\u0947\u0936, " 
+                                   + "\u0905\u093e\u092a"
+                                   + "\u0915\u0948\u0938\u0947 "
+                                   + "\u0939\u0948?");   
+      sentdata.addElement("\u092e\u0948 \u0905"
+                        + halfCHA
+                        + "\u091b\u093e \u0939\u0942\u0901\u0964 ");   
+      sentdata.addElement("\u0905\u093e\u092a\r\n \u0915\u0948\u0938\u0947 \u0939\u0948?");   
+      sentdata.addElement("\u0935\u0939 "
+                       + halfKA
+                       + "\u092f\u093e\n \u0939\u0948?");   
+      sentdata.addElement("\u092f\u0939 \u0905\u093e\u092e \u0939\u0948. ");   
+      sentdata.addElement("\u092f\u0939 means \"this\". "); 
+      sentdata.addElement("\"\u092a\u095d\u093e\u0908\" meaning \"education\" or \"studies\". ");
+      sentdata.addElement("\u0905\u093e\u091c" 
+                        + "("+halfSA+"\u0935\u0924\u0902"
+                        + deadTA
+                        + "\u0930 "
+                        + "\u0926\u093f\u0935\u093e\u0938) "
+                        + "\u0939\u0948\u0964 ");
+      sentdata.addElement("Let's end here. ");
+      generalIteratorTest(sentIterDefault, sentdata);
+  }
+   
+  public void TestDefaultRuleBasedLineIteration(){
+      logln("Testing the RBBI for line iteration using default rules");
+      RuleBasedBreakIterator rbbi=(RuleBasedBreakIterator)RuleBasedBreakIterator.getLineInstance();
+      //fetch the rules used to create the above RuleBasedBreakIterator
+      try {
+          RuleBasedBreakIterator_Old obi = (RuleBasedBreakIterator_Old)rbbi;
+      }
+      catch (ClassCastException e) {
+          // Bail out if using new RBBI implementation
+          logln("Test Skipped.");
+          return;
+      }
+      String defaultRules=rbbi.toString();
+      RuleBasedBreakIterator lineIterDefault=null;
+      try{
+          lineIterDefault   = new RuleBasedBreakIterator(defaultRules); 
+      }catch(IllegalArgumentException iae){
+          errln("ERROR: failed construction in TestDefaultRuleBasedLineIteration()" + iae.toString());
+      }
+
+     Vector linedata = new Vector();
+     linedata.addElement("Multi-");
+     linedata.addElement("Level ");
+     linedata.addElement("example ");
+     linedata.addElement("of ");
+     linedata.addElement("a ");
+     linedata.addElement("semi-");
+     linedata.addElement("idiotic ");
+     linedata.addElement("non-");
+     linedata.addElement("sensical ");
+     linedata.addElement("(non-");
+     linedata.addElement("important) ");
+     linedata.addElement("sentence. ");
+
+     linedata.addElement("Hi  ");
+     linedata.addElement("Hello ");
+     linedata.addElement("How\n");
+     linedata.addElement("are\r");
+     linedata.addElement("you" + kLineSeparator);
+     linedata.addElement("fine.\t");
+     linedata.addElement("good.  ");
+
+     linedata.addElement("Now\r");
+     linedata.addElement("is\n");
+     linedata.addElement("the\r\n");
+     linedata.addElement("time\n");
+     linedata.addElement("\r");
+     linedata.addElement("for\r");
+     linedata.addElement("\r");
+     linedata.addElement("all");
+
+    // to test for bug #4068133
+     linedata.addElement("\u96f6");
+     linedata.addElement("\u4e00\u3002");
+     linedata.addElement("\u4e8c\u3001");
+     linedata.addElement("\u4e09\u3002\u3001");
+     linedata.addElement("\u56db\u3001\u3002\u3001");
+     linedata.addElement("\u4e94,");
+     linedata.addElement("\u516d.");
+     linedata.addElement("\u4e03.\u3001,\u3002");
+     linedata.addElement("\u516b");
+
+    // to test for bug #4086052
+     linedata.addElement("foo\u00a0bar ");
+    // linedata.addElement("foo\ufeffbar");
+
+    // to test for bug #4097920
+     linedata.addElement("dog,cat,mouse ");
+     linedata.addElement("(one)");
+     linedata.addElement("(two)\n");
+
+    // to test for bug #4035266
+     linedata.addElement("The ");
+     linedata.addElement("balance ");
+     linedata.addElement("is ");
+     linedata.addElement("$-23,456.78, ");
+     linedata.addElement("not ");
+     linedata.addElement("-$32,456.78!\n");
+
+    // to test for bug #4098467
+    // What follows is a string of Korean characters (I found it in the Yellow Pages
+    // ad for the Korean Presbyterian Church of San Francisco, and I hope I transcribed
+    // it correctly), first as precomposed syllables, and then as conjoining jamo.
+    // Both sequences should be semantically identical and break the same way.
+    // precomposed syllables...
+     linedata.addElement("\uc0c1\ud56d ");
+     linedata.addElement("\ud55c\uc778 ");
+     linedata.addElement("\uc5f0\ud569 ");
+     linedata.addElement("\uc7a5\ub85c\uad50\ud68c ");
+    // conjoining jamo...
+     linedata.addElement("\u1109\u1161\u11bc\u1112\u1161\u11bc ");
+     linedata.addElement("\u1112\u1161\u11ab\u110b\u1175\u11ab ");
+     linedata.addElement("\u110b\u1167\u11ab\u1112\u1161\u11b8 ");
+     linedata.addElement("\u110c\u1161\u11bc\u1105\u1169\u1100\u116d\u1112\u116c");
+
+    // to test for bug #4117554: Fullwidth .!? should be treated as postJwrd
+     linedata.addElement("\u4e01\uff0e");
+     linedata.addElement("\u4e02\uff01");
+     linedata.addElement("\u4e03\uff1f");
+     generalIteratorTest(lineIterDefault, linedata);
+
+
+  }
+  public void TestCustomRuleBasedLineIterator(){
+
+    RuleBasedBreakIterator rbbi=(RuleBasedBreakIterator)RuleBasedBreakIterator.getLineInstance();
+    //fetch the rules used to create the above RuleBasedBreakIterator
+    String rules=//"$_ignore_=[e];"  + // [liu] Not sure what the intention was here.
+        // It's illegal to redefine variables, also, why prepend the ignore definition --
+        // even if it's legal to redefine variables, the prepended definition will just
+        // get overridden.
+                 rbbi.toString();
+    RuleBasedBreakIterator lineIter=null;
+    try {
+        RuleBasedBreakIterator_Old obi = (RuleBasedBreakIterator_Old)rbbi;
+    }
+    catch (ClassCastException e) {
+        // Bail out if using new RBBI implementation
+        logln("Test Skipped.");
+        return;
+    }
+
+    try{
+     lineIter   = new RuleBasedBreakIterator(rules); 
+       }catch(IllegalArgumentException iae){
+         errln("ERROR: failed construction in TestCustomRuleBasedLineIterator() -- custom rules\n" + iae.toString());
+       }
+    Vector linedata=new Vector();
+    linedata.addElement("SLhello! ");
+    linedata.addElement("How ");
+    generalIteratorTest(lineIter, linedata);
+  }
+  
+  //tests the behaviour of character iteration of RBBI with custom rules
+  public void TestCustomRuleBasedCharacterIteration(){
+      logln("Testing the RBBI by using custom rules for character iteration");
+
+      String crules2="$_ignore_=[e];"                                 + //ignore the character "e"
+                     ".;"                                            + 
+                     "$devVowelSign=[\u093e-\u094c\u0962\u0963];"   +  //devanagiri vowel = \u093e tp \u094c and \u0962.\u0963
+                     "$devConsonant=[\u0915-\u0939];"               +  //devanagiri consonant = \u0915 to \u0939
+                     "$devConsonant$devVowelSign;" ;                //break at all places except the  following 
+                                                                            //devanagiri consonants+ devanagiri vowelsign
+      
+      RuleBasedBreakIterator charIterRules=null;
+      try{
+      charIterRules   = new RuleBasedBreakIterator(crules2); 
+      }catch(IllegalArgumentException iae){
+          errln("ERROR: failed construction in TestCustomBasedCharacterIteration()-- custom rules" + iae.toString());
+      }
+
+      Vector chardata = new Vector();
+      chardata.addElement("He");              //ignores 'e'
+      chardata.addElement("l");                
+      chardata.addElement("l");
+      chardata.addElement("oe");              //ignores 'e' hence wraps it into 'o' instead of wrapping with
+      chardata.addElement("\u0301");          //'\u0301' to form 'acuteE '
+      chardata.addElement("&e");              //ignores 'e' hence wraps it into '&' instead of wrapping with
+      chardata.addElement("\u0303");          //'\u0303 to form 'tildaE'
+      //devanagiri characters 
+      chardata.addElement("\u0906");          //devanagiri AA
+      chardata.addElement("\u093e");          //devanagiri vowelsign AA:--breaks at \u0901 which is devanagiri 
+      chardata.addElement("\u0901");          //chandra bindhu since it is not mentioned in the rules
+      chardata.addElement("\u0916\u0947");    //devanagiri KHA+vowelsign E
+      chardata.addElement("\u0938\u0941");    //devanagiri SA+vowelsign U : - breaks at
+      chardata.addElement("\u0902");          //\u0902 devanagiri anusvara since it is not mentioned in the rules
+      chardata.addElement("\u0926");          //devanagiri consonant DA
+      chardata.addElement("\u0930");          //devanagiri consonant RA
+      chardata.addElement("\u0939\u094c");    //devanagiri HA+vowel sign AI
+      chardata.addElement("\u0964");          //devanagiri danda
+      // devanagiri chracters end
+      chardata.addElement("A");               //breaks in between since it is not mentioned in the rules
+      chardata.addElement("\u0302");          /* circumflexA */    
+      chardata.addElement("i");               //breaks in between since not mentioned in the rules
+      chardata.addElement("\u0301");          /* acuteBelowI */  
+      //Rules don't support conjoining jamo....
+      chardata.addElement("\u1109");          //break at every character since rules
+      chardata.addElement("\u1161");          //don't support conjoining jamo
+      chardata.addElement("\u11bc");
+      chardata.addElement("\u1112");
+      chardata.addElement("\u1161");
+      chardata.addElement("\u11bc");
+      chardata.addElement("\n");
+      chardata.addElement("\r");             //doesn't keep CRLGF together since rules do not mention it
+      chardata.addElement("\n");
+      chardata.addElement("S");              //graveS
+      chardata.addElement("\u0300");         //breaks in between since it is not mentioned in the rules
+      chardata.addElement("i");              //acuteBelowI
+      chardata.addElement("\u0301");         //breaks in between since it is not mentioned in the rules
+
+      generalIteratorTest(charIterRules, chardata);
+
+  }    
+  //tests custom rules based word iteration
+  public void TestCustomRuleBasedWordIteration(){
+      logln("Testing the RBBI by using custom rules for word iteration");
+      String wrules1="$_ignore_=[[:Mn:][:Me:][:Cf:]];"         + // ignore non-spacing marks, enclosing marks, and format characters,
+                      "$danda=[\u0964\u0965];"                + // Hindi Phrase seperator
+                      "$let=[[:L:][:Mc:]];"                   + // uppercase(Lu), lowercase(Ll), titlecase(Lt), modifier(Lm) letters, Mc-combining space mark
+                      "$mid_word=[[:Pd:]\\\"\\\'\\.];"        + // dashes, quotation, apostraphes, period
+                      "$ls=[\n\u000c\u2028\u2029];"           + // line separators:  LF, FF, PS, and LS
+                      "$ws=[[:Zs:]\t];"                       + // all space separators and the tab character
+                      "$word=(($let+($mid_word$let+)*));"  +  
+                      ".;"                                   + // break after every character, with the following exceptions
+                      "$word;"                              + 
+                      "$ws*\r$ls$danda?;" ;
+
+      RuleBasedBreakIterator wordIterRules=null;
+      try{
+      wordIterRules   = new RuleBasedBreakIterator(wrules1); 
+      }catch(IllegalArgumentException iae){
+          errln("ERROR: failed construction in TestCustomRuleBasedWordIteration() -- custom rules" + iae.toString());
+      }
+
+      Vector worddata = new Vector();
+      worddata.addElement("Write");
+      worddata.addElement(" ");
+      worddata.addElement("wordrules");
+      worddata.addElement(".");
+      worddata.addElement(" ");
+      //play with hindi
+      worddata.addElement("\u092f\u0939");
+      worddata.addElement(" ");
+      worddata.addElement("\u0939\u093f" + halfNA + "\u0926\u0940");
+      worddata.addElement(" ");
+      worddata.addElement("\u0939\u0948");
+      worddata.addElement("\u0964");   //Danda is similar to full stop. Danda followed by a space
+      worddata.addElement(" ");
+      worddata.addElement("\u0905\u093e\u092a");
+      worddata.addElement(" ");
+      worddata.addElement("\u0938\u093f\u0916\u094b\u0917\u0947");
+      worddata.addElement("?");
+      worddata.addElement(" ");
+      worddata.addElement("It's");
+      worddata.addElement(" ");
+      worddata.addElement("$");
+      worddata.addElement("3");
+      worddata.addElement("0");
+      worddata.addElement(".");
+      worddata.addElement("1");
+      worddata.addElement("0");
+      worddata.addElement(" ");
+      // worddata.addElement(" ");
+      generalIteratorTest(wordIterRules, worddata); 
+  } 
+  //adds extra rules to deal with abbrevations(limited) and test the word Iteration
+  public void TestAbbrRuleBasedWordIteration(){
+      logln("Testing the RBBI for word iteration by adding rules to support abbreviation");
+      RuleBasedBreakIterator rb =(RuleBasedBreakIterator)RuleBasedBreakIterator.getWordInstance();
+      try {
+        // This test won't work with the new break iterators.  Cast will fail in this case.
+         RuleBasedBreakIterator_Old  obi =  (RuleBasedBreakIterator_Old) rb;
+      }
+      catch (ClassCastException e) {
+          logln("Test skipped.");
+          return;
+      }
+       
+      String wrules2="$abbr=((Mr.)|(Mrs.)|(Ms.)|(Dr.)|(U.S.));" + // abbreviations. 
+                     rb.toString()                             +
+                     "($abbr$ws)*$word;";
+      RuleBasedBreakIterator wordIter=null;
+      try{
+      wordIter   = new RuleBasedBreakIterator(wrules2); 
+      }catch(IllegalArgumentException iae){
+          errln("ERROR: failed construction in TestAbbrRuleBasedWordIteration() --custom rules" + iae.toString());
+      }
+      Vector worddata = new Vector();
+      worddata.addElement("Mr. George");
+      worddata.addElement(" ");
+      worddata.addElement("is");
+      worddata.addElement(" ");
+      worddata.addElement("from");
+      worddata.addElement(" ");
+      worddata.addElement("U.S. Navy");
+      worddata.addElement(".");
+      worddata.addElement(" ");
+      worddata.addElement("His");
+      worddata.addElement("\n");
+      worddata.addElement("friend");
+      worddata.addElement("\t");
+      worddata.addElement("Dr. Steven");
+      worddata.addElement(" ");
+      worddata.addElement("married");
+      worddata.addElement(" ");
+      worddata.addElement("Ms. Benneth");
+      worddata.addElement("!");
+      worddata.addElement(" ");
+      worddata.addElement("Mrs. Johnson");
+      worddata.addElement("\r\n");
+      worddata.addElement("paid");
+      worddata.addElement(" ");
+      worddata.addElement("$2,400.00");
+      generalIteratorTest(wordIter, worddata); 
+  } 
+      //=========================================================================
+     // general test subroutines
+     //=========================================================================
+
+     private void generalIteratorTest(RuleBasedBreakIterator rbbi, Vector expectedResult){
+         StringBuffer buffer = new StringBuffer();
+         String text;
+         for (int i = 0; i < expectedResult.size(); i++) {
+             text = (String)expectedResult.elementAt(i);
+             buffer.append(text);
+         }
+         text = buffer.toString();
+         if (rbbi == null) {
+             errln("null iterator, test skipped.");
+             return;
+         }
+
+         rbbi.setText(text);
+
+         Vector nextResults = _testFirstAndNext(rbbi, text);
+         Vector previousResults = _testLastAndPrevious(rbbi, text);
+
+         logln("comparing forward and backward...");
+         int errs = getErrorCount();
+         compareFragmentLists("forward iteration", "backward iteration", nextResults,
+                         previousResults);
+         if (getErrorCount() == errs) {
+             logln("comparing expected and actual...");
+             compareFragmentLists("expected result", "actual result", expectedResult,
+                             nextResults);
+         }
+
+        int[] boundaries = new int[expectedResult.size() + 3];
+        boundaries[0] = RuleBasedBreakIterator.DONE;
+        boundaries[1] = 0;
+        for (int i = 0; i < expectedResult.size(); i++)
+         boundaries[i + 2] = boundaries[i + 1] + ((String)expectedResult.elementAt(i)).length();
+      
+        boundaries[boundaries.length - 1] = RuleBasedBreakIterator.DONE;
+      
+        _testFollowing(rbbi, text, boundaries);
+        _testPreceding(rbbi, text, boundaries);
+        _testIsBoundary(rbbi, text, boundaries);
+
+        doMultipleSelectionTest(rbbi, text);
+     }
+
+     private Vector _testFirstAndNext(RuleBasedBreakIterator rbbi, String text) {
+         int p = rbbi.first();
+         int lastP = p;
+         Vector result = new Vector();
+
+         if (p != 0)
+             errln("first() returned " + p + " instead of 0");
+         while (p != RuleBasedBreakIterator.DONE) {
+             p = rbbi.next();
+             if (p != RuleBasedBreakIterator.DONE) {
+                 if (p <= lastP)
+                     errln("next() failed to move forward: next() on position "
+                                     + lastP + " yielded " + p);
+
+                 result.addElement(text.substring(lastP, p));
+             }
+             else {
+                 if (lastP != text.length())
+                     errln("next() returned DONE prematurely: offset was "
+                                     + lastP + " instead of " + text.length());
+             }
+             lastP = p;
+         }
+         return result;
+     }
+
+     private Vector _testLastAndPrevious(RuleBasedBreakIterator rbbi, String text) {
+         int p = rbbi.last();
+         int lastP = p;
+         Vector result = new Vector();
+
+         if (p != text.length())
+             errln("last() returned " + p + " instead of " + text.length());
+         while (p != RuleBasedBreakIterator.DONE) {
+             p = rbbi.previous();
+             if (p != RuleBasedBreakIterator.DONE) {
+                 if (p >= lastP)
+                     errln("previous() failed to move backward: previous() on position "
+                                     + lastP + " yielded " + p);
+
+                 result.insertElementAt(text.substring(p, lastP), 0);
+             }
+             else {
+                 if (lastP != 0)
+                     errln("previous() returned DONE prematurely: offset was "
+                                     + lastP + " instead of 0");
+             }
+             lastP = p;
+         }
+         return result;
+     }
+
+     private void compareFragmentLists(String f1Name, String f2Name, Vector f1, Vector f2) {
+         int p1 = 0;
+         int p2 = 0;
+         String s1;
+         String s2;
+         int t1 = 0;
+         int t2 = 0;
+
+         while (p1 < f1.size() && p2 < f2.size()) {
+             s1 = (String)f1.elementAt(p1);
+             s2 = (String)f2.elementAt(p2);
+             t1 += s1.length();
+             t2 += s2.length();
+
+             if (s1.equals(s2)) {
+                 debugLogln("   >" + s1 + "<");
+                 ++p1;
+                 ++p2;
+             }
+             else {
+                 int tempT1 = t1;
+                 int tempT2 = t2;
+                 int tempP1 = p1;
+                 int tempP2 = p2;
+
+                 while (tempT1 != tempT2 && tempP1 < f1.size() && tempP2 < f2.size()) {
+                     while (tempT1 < tempT2 && tempP1 < f1.size()) {
+                         tempT1 += ((String)f1.elementAt(tempP1)).length();
+                         ++tempP1;
+                     }
+                     while (tempT2 < tempT1 && tempP2 < f2.size()) {
+                         tempT2 += ((String)f2.elementAt(tempP2)).length();
+                         ++tempP2;
+                     }
+                 }
+                 logln("*** " + f1Name + " has:");
+                 while (p1 <= tempP1 && p1 < f1.size()) {
+                     s1 = (String)f1.elementAt(p1);
+                     t1 += s1.length();
+                     debugLogln(" *** >" + s1 + "<");
+                     ++p1;
+                 }
+                 logln("***** " + f2Name + " has:");
+                 while (p2 <= tempP2 && p2 < f2.size()) {
+                     s2 = (String)f2.elementAt(p2);
+                     t2 += s2.length();
+                     debugLogln(" ***** >" + s2 + "<");
+                     ++p2;
+                 }
+                 errln("Discrepancy between " + f1Name + " and " + f2Name);
+             }
+         }
+     }
+
+    private void _testFollowing(RuleBasedBreakIterator rbbi, String text, int[] boundaries) {
+       logln("testFollowing():");
+       int p = 2;
+       for(int i = 0; i <= text.length(); i++) {
+           if (i == boundaries[p])
+               ++p;
+           int b = rbbi.following(i);
+           logln("rbbi.following(" + i + ") -> " + b);
+           if (b != boundaries[p])
+               errln("Wrong result from following() for " + i + ": expected " + boundaries[p]
+                               + ", got " + b);
+       }
+   }
+
+   private void _testPreceding(RuleBasedBreakIterator rbbi, String text, int[] boundaries) {
+       logln("testPreceding():");
+       int p = 0;
+       for(int i = 0; i <= text.length(); i++) {
+           int b = rbbi.preceding(i);
+           logln("rbbi.preceding(" + i + ") -> " + b);
+           if (b != boundaries[p])
+               errln("Wrong result from preceding() for " + i + ": expected " + boundaries[p]
+                              + ", got " + b);
+           if (i == boundaries[p + 1])
+               ++p;
+       }
+   }
+
+   private void _testIsBoundary(RuleBasedBreakIterator rbbi, String text, int[] boundaries) {
+       logln("testIsBoundary():");
+       int p = 1;
+       boolean isB;
+       for(int i = 0; i <= text.length(); i++) {
+           isB = rbbi.isBoundary(i);
+           logln("rbbi.isBoundary(" + i + ") -> " + isB);
+           if(i == boundaries[p]) {
+               if (!isB)
+                   errln("Wrong result from isBoundary() for " + i + ": expected true, got false");
+               ++p;
+           }
+           else {
+               if(isB)
+                   errln("Wrong result from isBoundary() for " + i + ": expected false, got true");
+           }
+       }
+   }
+   private void doMultipleSelectionTest(RuleBasedBreakIterator iterator, String testText)
+   {
+       logln("Multiple selection test...");
+       RuleBasedBreakIterator testIterator = (RuleBasedBreakIterator)iterator.clone();
+       int offset = iterator.first();
+       int testOffset;
+       int count = 0;
+
+       do {
+           testOffset = testIterator.first();
+           testOffset = testIterator.next(count);
+           logln("next(" + count + ") -> " + testOffset);
+           if (offset != testOffset)
+               errln("next(n) and next() not returning consistent results: for step " + count + ", next(n) returned " + testOffset + " and next() had " + offset);
+
+           if (offset != RuleBasedBreakIterator.DONE) {
+               count++;
+               offset = iterator.next();
+           }
+       } while (offset != RuleBasedBreakIterator.DONE);
+
+       // now do it backwards...
+       offset = iterator.last();
+       count = 0;
+
+       do {
+           testOffset = testIterator.last();
+           testOffset = testIterator.next(count);
+           logln("next(" + count + ") -> " + testOffset);
+           if (offset != testOffset)
+               errln("next(n) and next() not returning consistent results: for step " + count + ", next(n) returned " + testOffset + " and next() had " + offset);
+
+           if (offset != RuleBasedBreakIterator.DONE) {
+               count--;
+               offset = iterator.previous();
+           }
+       } while (offset != RuleBasedBreakIterator.DONE);
+   }
+
+   private void debugLogln(String s) {
+        final String zeros = "0000";
+        String temp;
+        StringBuffer out = new StringBuffer();
+        for (int i = 0; i < s.length(); i++) {
+            char c = s.charAt(i);
+            if (c >= ' ' && c < '\u007f')
+                out.append(c);
+            else {
+                out.append("\\u");
+                temp = Integer.toHexString((int)c);
+                out.append(zeros.substring(0, 4 - temp.length()));
+                out.append(temp);
+            }
+        }
+         logln(out.toString());
+    }
+  
+}
diff --git a/src/com/ibm/icu/dev/test/rbbi/RBBITestExtended.java b/src/com/ibm/icu/dev/test/rbbi/RBBITestExtended.java
new file mode 100644
index 0000000..125d1c0
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/rbbi/RBBITestExtended.java
@@ -0,0 +1,476 @@
+/*
+ * Created on May 5, 2004
+ * 
+ * Copyright (C) 2004 International Business Machines Corporation and others.
+ * All Rights Reserved.
+ *
+ * TODO To change the template for this generated file go to
+ * Window - Preferences - Java - Code Generation - Code and Comments
+ */
+package com.ibm.icu.dev.test.rbbi;
+
+import com.ibm.icu.dev.test.TestFmwk;
+import com.ibm.icu.impl.ICUData;
+import com.ibm.icu.impl.Utility;
+import com.ibm.icu.text.BreakIterator;
+import com.ibm.icu.text.RuleBasedBreakIterator;
+import com.ibm.icu.lang.UCharacter;
+import com.ibm.icu.lang.UProperty;
+import com.ibm.icu.text.UTF16;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.IOException;
+import java.util.Arrays;
+import java.util.Locale;
+
+
+/**
+ * @author andy
+ *
+ * TODO To change the template for this generated type comment go to
+ * Window - Preferences - Java - Code Generation - Code and Comments
+ */
+public class RBBITestExtended extends TestFmwk {
+    public static void main(String[] args)throws Exception {
+        new RBBITestExtended().run(args);
+    }
+
+    
+    
+    public RBBITestExtended() { 
+    }
+
+
+
+static class TestParams {
+    BreakIterator   bi;
+    StringBuffer    dataToBreak    = new StringBuffer();
+    int[]           expectedBreaks = new int[1000];
+    int[]           srcLine        = new int[1000];
+    int[]           srcCol         = new int[1000];
+};
+
+
+public void TestExtended() {
+
+    String             rules;
+    TestParams     tp = new TestParams();
+
+
+    //
+    //  Open and read the test data file.
+    //
+    InputStreamReader isr = null;
+    StringBuffer  testFileBuf = new StringBuffer();
+    try {
+        InputStream is = RBBITestExtended.class.getResourceAsStream("rbbitst.txt");
+        if (is == null) {
+            errln("Could not open test data file rbbitst.txt");
+            return;
+        }
+        isr = new InputStreamReader(is, "UTF-8");           
+        int c;
+        int count = 0;
+        for (;;) {
+            c = isr.read();
+            if (c < 0) {
+                break;
+            }
+            count++;
+            if (c==0xFEFF && count==1) {
+               // BOM in the test data file.  Discard it.
+               continue;
+            }
+           
+            UTF16.append(testFileBuf, c);
+        }
+        
+    } catch (IOException e) {
+        errln(e.toString());
+        return;
+    }
+    
+    String testString = testFileBuf.toString();
+    
+
+    final int  PARSE_COMMENT = 1;
+    final int  PARSE_TAG     = 2;
+    final int  PARSE_DATA    = 3;
+    final int  PARSE_NUM     = 4;
+
+    int parseState = PARSE_TAG;
+
+    int savedState = PARSE_TAG;
+
+    final char CH_LF        = 0x0a;
+    final char CH_CR        = 0x0d;
+    final char CH_HASH      = 0x23;
+    /*static const UChar CH_PERIOD    = 0x2e;*/
+    final char CH_LT        = 0x3c;
+    final char CH_GT        = 0x3e;
+    final char CH_BACKSLASH = 0x5c;
+    final char CH_BULLET    = 0x2022;
+
+    int    lineNum  = 1;
+    int    colStart = 0;
+    int    column   = 0;
+    int    charIdx  = 0;
+    int    i;
+
+    int    tagValue = 0;       // The numeric value of a <nnn> tag.
+    int    len = testString.length();
+
+    for (charIdx = 0; charIdx < len; ) {
+        int  c = UTF16.charAt(testString, charIdx);
+        charIdx++;
+        if (c == CH_CR && charIdx<len && testString.charAt(charIdx) == CH_LF) {
+            // treat CRLF as a unit
+            c = CH_LF;
+            charIdx++;
+        }
+        if (c == CH_LF || c == CH_CR) {
+            lineNum++;
+            colStart = charIdx;
+        }
+        column = charIdx - colStart + 1;
+
+        switch (parseState) {
+        case PARSE_COMMENT:
+            if (c == 0x0a || c == 0x0d) {
+                parseState = savedState;
+            }
+            break;
+
+        case PARSE_TAG:
+            {
+            if (c == CH_HASH) {
+                parseState = PARSE_COMMENT;
+                savedState = PARSE_TAG;
+                break;
+            }
+            if (UCharacter.isWhitespace(c)) {
+                break;
+            }
+           if (testString.startsWith("<word>", charIdx-1)) {
+                tp.bi = BreakIterator.getWordInstance(Locale.US);
+                charIdx += 5;
+                break;
+            }
+            if (testString.startsWith("<char>", charIdx-1)) {
+                tp.bi = BreakIterator.getCharacterInstance(Locale.US);
+                charIdx += 5;
+                break;
+            }
+            if (testString.startsWith("<line>", charIdx-1)) {
+                tp.bi = BreakIterator.getLineInstance(Locale.US);
+                charIdx += 5;
+                break;
+            }
+            if (testString.startsWith("<sent>", charIdx-1)) {
+                tp.bi = BreakIterator.getSentenceInstance(Locale.US);
+                charIdx += 5;
+                break;
+            }
+            if (testString.startsWith("<title>", charIdx-1)) {
+                tp.bi = BreakIterator.getTitleInstance(Locale.US);
+                charIdx += 6;
+                break;
+            }
+            if (testString.startsWith("<data>", charIdx-1)) {
+                parseState = PARSE_DATA;
+                charIdx += 5;
+                tp.dataToBreak.setLength(0);
+                Arrays.fill(tp.expectedBreaks, 0);
+                Arrays.fill(tp.srcCol, 0);
+                Arrays.fill(tp.srcLine, 0);
+                break;
+            }
+
+            errln("line" + lineNum + ": Tag expected in test file.");
+            return;
+            //parseState = PARSE_COMMENT;
+            //savedState = PARSE_DATA;
+            }
+            // break;   // TODO: don't stop on errors
+
+        case PARSE_DATA:
+            if (c == CH_BULLET) {
+                int  breakIdx = tp.dataToBreak.length();
+                tp.expectedBreaks[breakIdx] = -1;
+                tp.srcLine[breakIdx]        = lineNum;
+                tp.srcCol[breakIdx]         = column;
+                break;
+            }
+
+            if (testString.startsWith("</data>", charIdx-1))  {
+                // Add final entry to mappings from break location to source file position.
+                //  Need one extra because last break position returned is after the
+                //    last char in the data, not at the last char.
+                int idx = tp.dataToBreak.length();
+                tp.srcLine[idx] = lineNum;
+                tp.srcCol[idx]  = column;
+
+                parseState = PARSE_TAG;
+                charIdx += 7;
+
+                // RUN THE TEST!
+                executeTest(tp);
+                break;
+            }
+
+           if (testString.startsWith("\\N{", charIdx-1)) {
+               int nameEndIdx = testString.indexOf('}', charIdx);
+               if (nameEndIdx == -1) {
+                   errln("foo");  // TODO:
+               }
+                // Named character, e.g. \N{COMBINING GRAVE ACCENT}
+                // Get the code point from the name and insert it into the test data.
+                String charName = testString.substring(charIdx+2, nameEndIdx);
+                c = UCharacter.getCharFromName(charName);
+                if (c == -1) {
+                    errln("Error in named character in test file at line " + lineNum +
+                            ", col " + column);
+                } else {               
+                    // Named code point was recognized.  Insert it
+                    //   into the test data.
+                    UTF16.append(tp.dataToBreak, c);
+                    for (i = tp.dataToBreak.length()-1; i>=0 && tp.srcLine[i]==0; i--) {
+                        tp.srcLine[i] = lineNum;
+                        tp.srcCol[i]  = column;
+                    }
+                    
+                 }
+                if (nameEndIdx > charIdx) {
+                    charIdx = nameEndIdx+1;
+                }
+                break;
+            }
+
+            if (testString.startsWith("<>", charIdx-1)) {
+                charIdx++;
+                int  breakIdx = tp.dataToBreak.length();
+                tp.expectedBreaks[breakIdx] = -1;
+                tp.srcLine[breakIdx]        = lineNum;
+                tp.srcCol[breakIdx]         = column;
+                break;
+            }
+
+            if (c == CH_LT) {
+                tagValue   = 0;
+                parseState = PARSE_NUM;
+                break;
+            }
+
+            if (c == CH_HASH && column==3) {   // TODO:  why is column off so far?
+                parseState = PARSE_COMMENT;
+                savedState = PARSE_DATA;
+                break;
+            }
+
+            if (c == CH_BACKSLASH) {
+                // Check for \ at end of line, a line continuation.
+                //     Advance over (discard) the newline
+                int cp = UTF16.charAt(testString, charIdx); 
+                if (cp == CH_CR && charIdx<len && UTF16.charAt(testString, charIdx+1) == CH_LF) {
+                    // We have a CR LF
+                    //  Need an extra increment of the input ptr to move over both of them
+                    charIdx++;
+                }
+                if (cp == CH_LF || cp == CH_CR) {
+                    lineNum++;
+                    colStart = charIdx;
+                    charIdx++;
+                    break;
+                }
+
+                // Let unescape handle the back slash.
+                int  charIdxAr[] = new int[1];
+                charIdxAr[0] = charIdx;
+                cp = Utility.unescapeAt(testString, charIdxAr);
+                if (cp != -1) {
+                    // Escape sequence was recognized.  Insert the char
+                    //   into the test data.
+                    charIdx = charIdxAr[0];
+                    UTF16.append(tp.dataToBreak, cp);
+                    for (i=tp.dataToBreak.length()-1; i>=0 && tp.srcLine[i]==0; i--) {
+                        tp.srcLine[i] = lineNum;
+                        tp.srcCol[i]  = column;
+                    }
+                    
+                    break;
+                }
+
+
+                // Not a recognized backslash escape sequence.
+                // Take the next char as a literal.
+                //  TODO:  Should this be an error?
+                c = UTF16.charAt(testString,charIdx);
+                charIdx = UTF16.moveCodePointOffset(testString, charIdx, 1);
+             }
+
+            // Normal, non-escaped data char.
+            UTF16.append(tp.dataToBreak, c);
+ 
+            // Save the mapping from offset in the data to line/column numbers in
+            //   the original input file.  Will be used for better error messages only.
+            //   If there's an expected break before this char, the slot in the mapping
+            //     vector will already be set for this char; don't overwrite it.
+            for (i=tp.dataToBreak.length()-1; i>=0 && tp.srcLine[i]==0; i--) {
+                tp.srcLine[i] = lineNum;
+                tp.srcCol[i]  = column;
+            }
+            break;
+
+
+        case PARSE_NUM:
+            // We are parsing an expected numeric tag value, like <1234>,
+            //   within a chunk of data.
+            if (UCharacter.isWhitespace(c)) {
+                break;
+            }
+
+            if (c == CH_GT) {
+                // Finished the number.  Add the info to the expected break data,
+                //   and switch parse state back to doing plain data.
+                parseState = PARSE_DATA;
+                if (tagValue == 0) {
+                    tagValue = -1;
+                }
+                int  breakIdx = tp.dataToBreak.length();
+                tp.expectedBreaks[breakIdx] = tagValue;
+                tp.srcLine[breakIdx]        = lineNum;
+                tp.srcCol[breakIdx]         = column;
+                break;
+            }
+
+            if (UCharacter.isDigit(c)) {
+                tagValue = tagValue*10 + UCharacter.digit(c);
+                break;
+            }
+
+            errln("Syntax Error in test file at line "+ lineNum +", col %d" + column);
+            return;
+            
+            // parseState = PARSE_COMMENT;   // TODO: unreachable.  Don't stop on errors.
+            // break;
+        }
+
+
+ 
+    }
+}
+
+void executeTest(TestParams t) {
+    int    bp;
+    int    prevBP;
+    int    i;
+
+    t.bi.setText(t.dataToBreak.toString());
+    //
+    //  Run the iterator forward
+    //
+    prevBP = -1;
+    for (bp = t.bi.first(); bp != BreakIterator.DONE; bp = t.bi.next()) {
+        if (prevBP ==  bp) {
+            // Fail for lack of forward progress.
+            errln("Forward Iteration, no forward progress.  Break Pos=" + bp +
+                    "  File line,col=" + t.srcLine[bp] + ", " + t.srcCol[bp]);
+            break;
+        }
+
+        // Check that there were we didn't miss an expected break between the last one
+        //  and this one.
+        for (i=prevBP+1; i<bp; i++) {
+            if (t.expectedBreaks[i] != 0) {
+                errln("Forward Iteration, break expected, but not found.  Pos=" + i + 
+                    "  File line,col= " + t.srcLine[i] + ", " + t.srcCol[i]);
+            }
+        }
+
+        // Check that the break we did find was expected
+        if (t.expectedBreaks[bp] == 0) {
+            errln("Forward Iteration, break found, but not expected.  Pos=" + bp + 
+                    "  File line,col= " + t.srcLine[bp] + ", " + t.srcCol[bp]);
+        } else {
+            // The break was expected.
+            //   Check that the {nnn} tag value is correct.
+            int expectedTagVal = t.expectedBreaks[bp];
+            if (expectedTagVal == -1) {
+                expectedTagVal = 0;
+            }
+            int rs = ((RuleBasedBreakIterator)t.bi).getRuleStatus();
+            if (rs != expectedTagVal) {
+                errln("Incorrect status for forward break.  Pos=  " + bp +
+                        "File line,col= " + t.srcLine[bp] + ", " + t.srcCol[bp] + "\n" +
+                      "          Actual, Expected status = " + rs + ", " + expectedTagVal);
+            }
+        }
+
+
+        prevBP = bp;
+    }
+
+    // Verify that there were no missed expected breaks after the last one found
+    for (i=prevBP+1; i<t.dataToBreak.length()+1; i++) {
+        if (t.expectedBreaks[i] != 0) {
+            errln("Forward Iteration, break expected, but not found.  Pos=" + i + 
+                    "  File line,col= " + t.srcLine[i] + ", " + t.srcCol[i]);
+       }
+    }
+
+    //
+    //  Run the iterator backwards, verify that the same breaks are found.
+    //
+    prevBP = t.dataToBreak.length()+2;  // start with a phony value for the last break pos seen.
+    for (bp = t.bi.last(); bp != BreakIterator.DONE; bp = t.bi.previous()) {
+        if (prevBP ==  bp) {
+            // Fail for lack of progress.
+            errln("Reverse Iteration, no progress.  Break Pos=" + bp +
+                    "File line,col=" + t.srcLine[bp] + " " +  t.srcCol[bp]);
+            break;
+        }
+
+        // Check that there were we didn't miss an expected break between the last one
+        //  and this one.  (UVector returns zeros for index out of bounds.)
+        for (i=prevBP-1; i>bp; i--) {
+            if (t.expectedBreaks[i] != 0) {
+                errln("Reverse Itertion, break expected, but not found.  Pos=" + i + 
+                    "  File line,col= " + t.srcLine[i] + ", " + t.srcCol[i]);
+            }
+        }
+
+        // Check that the break we did find was expected
+        if (t.expectedBreaks[bp] == 0) {
+            errln("Reverse Itertion, break found, but not expected.  Pos=" + bp + 
+                    "  File line,col= " + t.srcLine[bp] + ", " + t.srcCol[bp]);
+        } else {
+            // The break was expected.
+            //   Check that the {nnn} tag value is correct.
+            int expectedTagVal = t.expectedBreaks[bp];
+            if (expectedTagVal == -1) {
+                expectedTagVal = 0;
+            }
+            int rs = ((RuleBasedBreakIterator)t.bi).getRuleStatus();
+            if (rs != expectedTagVal) {
+                errln("Incorrect status for reverse break.  Pos=  " + bp +
+                        "File line,col= " + t.srcLine[bp] + ", " + t.srcCol[bp] + "\n" +
+                      "          Actual, Expected status = " + rs + ", " + expectedTagVal);
+                  }
+        }
+
+        prevBP = bp;
+    }
+
+    // Verify that there were no missed breaks prior to the last one found
+    for (i=prevBP-1; i>=0; i--) {
+        if (t.expectedBreaks[i] != 0) {
+            errln("Forward Itertion, break expected, but not found.  Pos=" + i +
+                    "  File line,col= " + t.srcLine[i] + ", " + t.srcCol[i]);
+         }
+    }
+}
+
+
+
+
+}
diff --git a/src/com/ibm/icu/dev/test/rbbi/RBBITestMonkey.java b/src/com/ibm/icu/dev/test/rbbi/RBBITestMonkey.java
new file mode 100644
index 0000000..ba26a5f
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/rbbi/RBBITestMonkey.java
@@ -0,0 +1,1522 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2003-2005 International Business Machines Corporation and     *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+ package com.ibm.icu.dev.test.rbbi;
+
+
+// Monkey testing of RuleBasedBreakIterator
+import com.ibm.icu.dev.test.*;
+import com.ibm.icu.text.BreakIterator;
+import com.ibm.icu.text.UTF16;
+import com.ibm.icu.text.UnicodeSet;
+import com.ibm.icu.lang.UCharacter;
+import com.ibm.icu.lang.UProperty;
+import java.util.List;
+import java.util.Arrays;
+import java.util.ArrayList;
+import java.util.Locale;
+
+
+/**
+ * Monkey tests for RBBI.  These tests have independent implementations of
+ * the Unicode TR boundary rules, and compare results between these and ICU's
+ * implementation, using random data.
+ * 
+ * Tests cover Grapheme Cluster (char), Word and Line breaks
+ * 
+ * Ported from ICU4C, original code in file source/test/intltest/rbbitst.cpp
+ *
+ */
+public class RBBITestMonkey extends TestFmwk {
+    
+    public static void main(String[] args) {
+        new RBBITestMonkey().run(args);
+    }
+    
+//
+//     classs RBBIMonkeyKind
+//
+//        Monkey Test for Break Iteration
+//        Abstract interface class.   Concrete derived classes independently
+//        implement the break rules for different iterator types.
+//
+//        The Monkey Test itself uses doesn't know which type of break iterator it is
+//        testing, but works purely in terms of the interface defined here.
+//
+    abstract static class RBBIMonkeyKind {
+    
+        // Return a List of UnicodeSets, representing the character classes used
+        //   for this type of iterator.
+        abstract  List  charClasses();
+
+        // Set the test text on which subsequent calls to next() will operate
+        abstract  void   setText(StringBuffer text);
+
+        // Find the next break postion, starting from the specified position.
+        // Return -1 after reaching end of string.
+        abstract   int   next(int i);
+    }
+
+ 
+    /**
+     * Monkey test subclass for testing Character (Grapheme Cluster) boundaries.
+     */
+    static class RBBICharMonkey extends RBBIMonkeyKind {
+        List                      fSets;
+
+        UnicodeSet                fCRLFSet;
+        UnicodeSet                fControlSet;
+        UnicodeSet                fExtendSet;
+        UnicodeSet                fHangulSet;
+        UnicodeSet                fAnySet;
+
+        StringBuffer              fText;
+
+
+    RBBICharMonkey() {
+        fText       = null;
+        fCRLFSet    = new UnicodeSet("[\\r\\n]");
+        fControlSet = new UnicodeSet("[[\\p{Zl}\\p{Zp}\\p{Cc}\\p{Cf}]-[\\n]-[\\r]]");
+        fExtendSet  = new UnicodeSet("[\\p{Grapheme_Extend}]");
+        fHangulSet  = new UnicodeSet(
+            "[\\p{Hangul_Syllable_Type=L}\\p{Hangul_Syllable_Type=L}\\p{Hangul_Syllable_Type=T}" +
+             "\\p{Hangul_Syllable_Type=LV}\\p{Hangul_Syllable_Type=LVT}]");
+        fAnySet     = new UnicodeSet("[\\u0000-\\U0010ffff]");
+
+        fSets       = new ArrayList();
+        fSets.add(fCRLFSet);
+        fSets.add(fControlSet);
+        fSets.add(fExtendSet);
+        fSets.add(fHangulSet);
+        fSets.add(fAnySet);
+     };
+
+
+    void setText(StringBuffer s) {
+        fText = s;        
+    }
+    
+    List charClasses() {
+        return fSets;
+    }
+    
+    int next(int i) {
+        return nextGC(fText, i);
+    }
+    }
+
+
+    /**
+     * 
+     * Word Monkey Test Class
+     *
+     * 
+     * 
+     */
+    static class RBBIWordMonkey extends RBBIMonkeyKind {
+        List                      fSets;
+        StringBuffer              fText;
+
+        UnicodeSet                fKatakanaSet;
+        UnicodeSet                fALetterSet;
+        UnicodeSet                fMidLetterSet;
+        UnicodeSet                fMidNumSet;
+        UnicodeSet                fNumericSet;
+        UnicodeSet                fFormatSet;
+        UnicodeSet                fExtendSet;
+        UnicodeSet                fExtendNumLetSet;
+        UnicodeSet                fOtherSet;
+
+        
+        RBBIWordMonkey() {
+            fSets          = new ArrayList();
+
+            fALetterSet      = new UnicodeSet("[\\p{Word_Break = ALetter}]");
+            fKatakanaSet     = new UnicodeSet("[\\p{Word_Break = Katakana}]");
+            fMidLetterSet    = new UnicodeSet("[\\p{Word_Break = MidLetter}]");
+            fMidNumSet       = new UnicodeSet("[\\p{Word_Break = MidNum}]");
+            fNumericSet      = new UnicodeSet("[\\p{Word_Break = Numeric}]");
+            fFormatSet       = new UnicodeSet("[\\p{Word_Break = Format}]");
+            fExtendSet       = new UnicodeSet("[\\p{Grapheme_Cluster_Break = Extend}]");
+            fExtendNumLetSet = new UnicodeSet("[\\p{General_Category = Connector_Punctuation}]");
+            fOtherSet        = new UnicodeSet();
+
+            fOtherSet.complement();
+            fOtherSet.removeAll(fALetterSet);
+            fOtherSet.removeAll(fKatakanaSet);
+            fOtherSet.removeAll(fMidLetterSet);
+            fOtherSet.removeAll(fMidNumSet);
+            fOtherSet.removeAll(fNumericSet);
+            fOtherSet.removeAll(fFormatSet);
+            fOtherSet.removeAll(fExtendSet);
+            fOtherSet.removeAll(fExtendNumLetSet);
+
+            fSets.add(fALetterSet);
+            fSets.add(fKatakanaSet);
+            fSets.add(fMidLetterSet);
+            fSets.add(fMidNumSet);
+            fSets.add(fNumericSet);
+            fSets.add(fFormatSet);
+            fSets.add(fExtendSet);
+            fSets.add(fExtendNumLetSet);
+            fSets.add(fOtherSet);
+        }
+        
+        
+        List  charClasses() {
+         return fSets;  
+        }
+        
+        void   setText(StringBuffer s) { 
+            fText = s;        
+        }   
+
+        int   next(int prevPos) {  
+            int    p0, p1, p2, p3;      // Indices of the significant code points around the 
+                                        //   break position being tested.  The candidate break
+                                        //   location is before p2.
+            int     breakPos = -1;
+            
+            int c0, c1, c2, c3;   // The code points at p0, p1, p2 & p3.
+            
+            // Prev break at end of string.  return DONE.
+            if (prevPos >= fText.length()) {
+                return -1;
+            }
+            p0 = p1 = p2 = p3 = prevPos;
+            c3 = UTF16.charAt(fText, prevPos);
+            c0 = c1 = c2 = 0;
+            
+            
+            // Format char after prev break?  Special case, see last Note for Word Boundaries TR.
+            // break immdiately after the format char.
+            if (breakPos >= 0 && fFormatSet.contains(c3) && breakPos < (fText.length() -1)) {
+                breakPos = UTF16.moveCodePointOffset(fText, breakPos, 1);
+                return breakPos;
+}
+
+
+            // Loop runs once per "significant" character position in the input text.
+            for (;;) {
+                // Move all of the positions forward in the input string.
+                p0 = p1;  c0 = c1;
+                p1 = p2;  c1 = c2;
+                p2 = p3;  c2 = c3;
+                
+                // Advancd p3 by    (GC Format*)   Rules 3, 4
+                p3 = nextGC(fText, p3);
+                if (p3 == -1 || p3 >= fText.length()) {
+                    p3 = fText.length();
+                    c3 = 0;
+                } else {
+                    c3 = UTF16.charAt(fText, p3);
+                    while (fFormatSet.contains(c3)) {
+                        p3 = moveIndex32(fText, p3, 1);
+                        c3 = 0;
+                        if (p3 < fText.length()) {
+                            c3 = UTF16.charAt(fText, p3);   
+                        }
+                    }
+                }
+
+                if (p1 == p2) {
+                    // Still warming up the loop.  (won't work with zero length strings, but we don't care)
+                    continue;
+                }
+                if (p2 == fText.length()) {
+                    // Reached end of string.  Always a break position.
+                    break;
+                }
+
+                // Rule (5).   ALetter x ALetter
+                if (fALetterSet.contains(c1) &&
+                        fALetterSet.contains(c2))  {
+                    continue;
+                }
+                
+                // Rule (6)  ALetter  x  MidLetter  ALetter
+                //
+                if ( fALetterSet.contains(c1) &&
+                        fMidLetterSet.contains(c2) &&
+                        fALetterSet.contains(c3)) {
+                    continue;
+                }
+                
+                
+                // Rule (7)  ALetter MidLetter   x  ALetter
+                if (fALetterSet.contains(c0) &&
+                        fMidLetterSet.contains(c1)  &&
+                        fALetterSet.contains(c2)) {
+                    continue;
+                }
+                
+                //  Rule (8)    Numeric x Numeric
+                if (fNumericSet.contains(c1) &&
+                        fNumericSet.contains(c2))  {
+                    continue;
+                }
+                
+                // Rule (9)    ALetter x Numeric
+                if (fALetterSet.contains(c1) &&
+                        fNumericSet.contains(c2))  {
+                    continue;
+                }
+
+                // Rule (10)    Numeric x ALetter
+                if (fNumericSet.contains(c1) &&
+                        fALetterSet.contains(c2))  {
+                    continue;
+                }
+                
+                // Rule (11)   Numeric (MidNum | MidNumLet)  x  Numeric
+                if ( fNumericSet.contains(c0) &&
+                        fMidNumSet.contains(c1)  && 
+                        fNumericSet.contains(c2)) {
+                    continue;
+                }
+                
+                // Rule (12)  Numeric x (MidNum | MidNumLet) Numeric
+                if (fNumericSet.contains(c1) &&
+                        fMidNumSet.contains(c2) &&
+                        fNumericSet.contains(c3)) {
+                    continue;
+                }
+                
+                // Rule (13)  Katakana x Katakana
+                if (fKatakanaSet.contains(c1) &&
+                        fKatakanaSet.contains(c2))  {
+                    continue;
+                }
+                
+                // Rule 13a  (ALetter | Numeric | Katakana | ExtendNumLet) x ExtendNumLet
+                if ((fALetterSet.contains(c1) || fNumericSet.contains(c1) ||
+                        fKatakanaSet.contains(c1) || fExtendNumLetSet.contains(c1)) &&
+                        fExtendNumLetSet.contains(c2)) {
+                    continue;
+                }
+                // Rule 13b   ExtendNumLet x (ALetter | Numeric | Katakana | ExtendNumLet)
+                if (fExtendNumLetSet.contains(c1) &&
+                        (fALetterSet.contains(c2) || fNumericSet.contains(c2) ||
+                        fKatakanaSet.contains(c2) || fExtendNumLetSet.contains(c2))) {
+                    continue;
+                }
+               
+                // Rule 14.  Break found here.
+                break;
+            }
+            
+            
+            //  Rule 4 fixup,  back up before any trailing
+            //         format characters at the end of the word.
+            breakPos = p2;
+            int  t = nextGC(fText, p1);
+            if (t > p1) {
+                breakPos = t;
+            }
+            return breakPos;
+        }
+        
+    }
+
+ 
+    static class RBBILineMonkey extends RBBIMonkeyKind {
+        
+        List        fSets;
+        
+        UnicodeSet  fBK;
+        UnicodeSet  fCR;
+        UnicodeSet  fLF;
+        UnicodeSet  fCM;
+        UnicodeSet  fNL;
+        UnicodeSet  fSG;
+        UnicodeSet  fWJ;
+        UnicodeSet  fZW;
+        UnicodeSet  fGL;
+        UnicodeSet  fCB;
+        UnicodeSet  fSP;
+        UnicodeSet  fB2;
+        UnicodeSet  fBA;
+        UnicodeSet  fBB;
+        UnicodeSet  fHY;
+        UnicodeSet  fCL;
+        UnicodeSet  fEX;
+        UnicodeSet  fIN;
+        UnicodeSet  fNS;
+        UnicodeSet  fOP;
+        UnicodeSet  fQU;
+        UnicodeSet  fIS;
+        UnicodeSet  fNU;
+        UnicodeSet  fPO;
+        UnicodeSet  fPR;
+        UnicodeSet  fSY;
+        UnicodeSet  fAI;
+        UnicodeSet  fAL;
+        UnicodeSet  fID;
+        UnicodeSet  fSA;
+        UnicodeSet  fJL;
+        UnicodeSet  fJV;
+        UnicodeSet  fJT;
+        UnicodeSet  fH2;
+        UnicodeSet  fH3;
+        UnicodeSet  fXX;
+        
+        StringBuffer  fText;
+        int           fOrigPositions;
+        
+        
+        
+        RBBILineMonkey()
+        {
+            fSets          = new ArrayList();
+            
+            fBK    = new UnicodeSet("[\\p{Line_Break=BK}]");
+            fCR    = new UnicodeSet("[\\p{Line_break=CR}]");
+            fLF    = new UnicodeSet("[\\p{Line_break=LF}]");
+            fCM    = new UnicodeSet("[\\p{Line_break=CM}]");
+            fNL    = new UnicodeSet("[\\p{Line_break=NL}]");
+            fWJ    = new UnicodeSet("[\\p{Line_break=WJ}]");
+            fZW    = new UnicodeSet("[\\p{Line_break=ZW}]");
+            fGL    = new UnicodeSet("[\\p{Line_break=GL}]");
+            fCB    = new UnicodeSet("[\\p{Line_break=CB}]");
+            fSP    = new UnicodeSet("[\\p{Line_break=SP}]");
+            fB2    = new UnicodeSet("[\\p{Line_break=B2}]");
+            fBA    = new UnicodeSet("[\\p{Line_break=BA}]");
+            fBB    = new UnicodeSet("[\\p{Line_break=BB}]");
+            fHY    = new UnicodeSet("[\\p{Line_break=HY}]");
+            fCL    = new UnicodeSet("[\\p{Line_break=CL}]");
+            fEX    = new UnicodeSet("[\\p{Line_break=EX}]");
+            fIN    = new UnicodeSet("[\\p{Line_break=IN}]");
+            fNS    = new UnicodeSet("[\\p{Line_break=NS}]");
+            fOP    = new UnicodeSet("[\\p{Line_break=OP}]");
+            fQU    = new UnicodeSet("[\\p{Line_break=QU}]");
+            fIS    = new UnicodeSet("[\\p{Line_break=IS}]");
+            fNU    = new UnicodeSet("[\\p{Line_break=NU}]");
+            fPO    = new UnicodeSet("[\\p{Line_break=PO}]");
+            fPR    = new UnicodeSet("[\\p{Line_break=PR}]");
+            fSY    = new UnicodeSet("[\\p{Line_break=SY}]");
+            fAI    = new UnicodeSet("[\\p{Line_break=AI}]");
+            fAL    = new UnicodeSet("[\\p{Line_break=AL}]");
+            fID    = new UnicodeSet("[\\p{Line_break=ID}]");
+            fSA    = new UnicodeSet("[\\p{Line_break=SA}]");
+            fJL    = new UnicodeSet("[\\p{Line_break=JL}]");
+            fJV    = new UnicodeSet("[\\p{Line_break=JV}]");
+            fJT    = new UnicodeSet("[\\p{Line_break=JT}]");
+            fH2    = new UnicodeSet("[\\p{Line_break=H2}]");
+            fH3    = new UnicodeSet("[\\p{Line_break=H3}]");
+            fXX    = new UnicodeSet("[\\p{Line_break=XX}]");
+            
+            fAL.addAll(fXX);     // Default behavior for XX is identical to AL
+            fAL.addAll(fAI);     // Default behavior for AI is identical to AL
+            fAL.addAll(fSA);     // Default behavior for SA is XX, which defaults to AL
+            
+            
+            
+            fSets.add(fBK);
+            fSets.add(fCR);
+            fSets.add(fLF);
+            fSets.add(fCM);
+            fSets.add(fNL);
+            fSets.add(fWJ);
+            fSets.add(fZW);
+            fSets.add(fGL);
+            fSets.add(fCB);
+            fSets.add(fSP);
+            fSets.add(fB2);
+            fSets.add(fBA);
+            fSets.add(fBB);
+            fSets.add(fHY);
+            fSets.add(fCL);
+            fSets.add(fEX);
+            fSets.add(fIN);
+            fSets.add(fNS);
+            fSets.add(fOP);
+            fSets.add(fQU);
+            fSets.add(fIS);
+            fSets.add(fNU);
+            fSets.add(fPO);
+            fSets.add(fPR);
+            fSets.add(fSY);
+            fSets.add(fAI);
+            fSets.add(fAL);
+            fSets.add(fID);
+            fSets.add(fWJ);
+            fSets.add(fSA);
+            
+        }
+        
+        void setText(StringBuffer s) {
+            fText       = s;
+        }
+        
+        
+        
+
+        int next(int startPos) {
+            int    pos;       //  Index of the char following a potential break position
+            int    thisChar;  //  Character at above position "pos"
+            
+            int    prevPos;   //  Index of the char preceding a potential break position
+            int    prevChar;  //  Character at above position.  Note that prevChar
+                              //   and thisChar may not be adjacent because combining
+                              //   characters between them will be ignored.
+            
+            int    nextPos;   //  Index of the next character following pos.
+                              //     Usually skips over combining marks.
+            int    tPos;      //  temp value.
+            int    c;
+            int    matchVals[]  = null;       // Number  Expression Match Results
+ 
+            
+            if (startPos >= fText.length()) {
+                return -1;
+            }
+            
+            
+            // Initial values for loop.  Loop will run the first time without finding breaks,
+            //                           while the invalid values shift out and the "this" and
+            //                           "prev" positions are filled in with good values.
+            pos      = prevPos   = -1;    // Invalid value, serves as flag for initial loop iteration.
+            thisChar = prevChar  = 0;
+            nextPos  = startPos;
+            
+            
+            // Loop runs once per position in the test text, until a break position
+            //  is found.  In each iteration, we are testing for a possible break
+            //  just preceding the character at index "pos".  The character preceding
+            //  this char is at postion "prevPos"; because of combining sequences,
+            //  "prevPos" can be arbitrarily far before "pos".
+            for (;;) {
+                // Advance to the next position to be tested.
+                prevPos   = pos;
+                prevChar  = thisChar;
+                pos       = nextPos;
+                nextPos   = moveIndex32(fText, pos, 1);
+                
+                // Rule LB2 - Break at end of text.
+                if (pos >= fText.length()) {
+                    break;
+                }
+                
+                // Rule LB 7 - adjust for combining sequences.
+                //             We do this rule out-of-order because the adjustment does
+                //             not effect the way that rules LB 3 through LB 6 match,
+                //             and doing it here rather than after LB 6 is substantially
+                //             simpler when combining sequences do occur.
+                
+                
+                // LB 7b        Keep combining sequences together.
+                //              advance over any CM class chars at "pos", 
+                //              result is "nextPos" for the following loop iteration.
+                thisChar  = UTF16.charAt(fText, pos);
+                if (!(fSP.contains(thisChar) || fBK.contains(thisChar) || thisChar==0x0d ||
+                        thisChar==0x0a || fNL.contains(thisChar) || fZW.contains(thisChar) )) {
+                    for (;;) {
+                        if (nextPos == fText.length()) {
+                            break;   
+                        }
+                        int nextChar = UTF16.charAt(fText, nextPos);
+                        if (!fCM.contains(nextChar)) {
+                            break;
+                        }
+                        nextPos = moveIndex32(fText, nextPos, 1);
+                    }
+                }
+                
+                // LB 7c     Treat unattached combining chars as AL
+                if (fCM.contains(thisChar)) {
+                    thisChar = 'A';   
+                }
+
+                
+                // If the loop is still warming up - if we haven't shifted the initial
+                //   -1 positions out of prevPos yet - loop back to advance the
+                //    position in the input without any further looking for breaks.
+                if (prevPos == -1) {
+                    continue;
+                }
+                
+                // LB 3a  Always break after hard line breaks,
+                if (fBK.contains(prevChar)) {
+                    break;
+                }
+                
+                // LB 3b  Break after CR, LF, NL, but not inside CR LF
+                if (fCR.contains(prevChar) && fLF.contains(thisChar)) {
+                    continue;
+                }
+                if  (fCR.contains(prevChar) ||
+                     fLF.contains(prevChar) ||
+                     fNL.contains(prevChar))  {
+                    break;
+                }
+                
+                // LB 3c  Don't break before hard line breaks
+                if (fBK.contains(thisChar) || fCR.contains(thisChar) ||
+                        fLF.contains(thisChar) || fNL.contains(thisChar) ) {
+                    continue;
+                }
+                
+                
+                // LB 4  Don't break before spaces or zero-width space.
+                if (fSP.contains(thisChar)) {
+                    continue;
+                }
+                
+                if (fZW.contains(thisChar)) {
+                    continue;
+                }
+                
+                // LB 5  Break after zero width space
+                if (fZW.contains(prevChar)) {
+                    break;
+                }
+                
+                //  LB 7  Already done, at top of loop.
+                //
+                
+                
+                // LB 8  Don't break before closings.
+                //       NU x CL  and NU x IS are not matched here so that they will
+                //       fall into LB 17 and the more general number regular expression.
+                //
+                if (!fNU.contains(prevChar) && fCL.contains(thisChar) ||
+                        fEX.contains(thisChar) ||
+                        !fNU.contains(prevChar) && fIS.contains(thisChar) ||
+                        !fNU.contains(prevChar) && fSY.contains(thisChar))    {
+                    continue;
+                }
+                
+                // LB 9  Don't break after OP SP*
+                //       Scan backwards, checking for this sequence.
+                //       The OP char could include combining marks, so we acually check for
+                //           OP CM* SP* x
+                tPos = prevPos;
+                while (tPos > 0 && fSP.contains(UTF16.charAt(fText, tPos))) {
+                    tPos=moveIndex32(fText, tPos, -1);
+                }
+                while (tPos > 0 && fCM.contains(UTF16.charAt(fText, tPos))) {
+                    tPos=moveIndex32(fText, tPos, -1);
+                }
+                if (fOP.contains(UTF16.charAt(fText, tPos))) {
+                    continue;
+                }
+                
+                // LB 10 Do not break withing "[ 
+                //       QU CM* SP* x OP
+                if (fOP.contains(thisChar)) {
+                    tPos = prevPos;
+                    while (tPos > 0 && fSP.contains(UTF16.charAt(fText, tPos))) {
+                        tPos = moveIndex32(fText, tPos, -1);
+                    }
+                    while (tPos > 0 && fCM.contains(UTF16.charAt(fText, tPos))) {
+                        tPos = moveIndex32(fText, tPos, -1);
+                    }
+                    if (fQU.contains(UTF16.charAt(fText, tPos))) {
+                        continue;
+                    }
+                }               
+                
+                // LB 11   CL SP* x NS
+                if (fNS.contains(thisChar)) {
+                    tPos = prevPos;
+                    while (tPos > 0 && fSP.contains(UTF16.charAt(fText, tPos))) {
+                        tPos = moveIndex32(fText, tPos, -1);
+                    }
+                    while (tPos > 0 && fCM.contains(UTF16.charAt(fText, tPos))) {
+                        tPos = moveIndex32(fText, tPos, -1);
+                    }
+                    if (fCL.contains(UTF16.charAt(fText, tPos))) {
+                        continue;
+                    }
+                }               
+                
+                               
+                // LB 11a        B2 SP* x B2
+                if (fB2.contains(thisChar)) {
+                    tPos = prevPos;
+                    while (tPos > 0 && fSP.contains(UTF16.charAt(fText, tPos))) {
+                        tPos = moveIndex32(fText, tPos, -1);
+                    }
+                    while (tPos > 0 && fCM.contains(UTF16.charAt(fText, tPos))) {
+                        tPos = moveIndex32(fText, tPos, -1);
+                    }
+                    if (fB2.contains(UTF16.charAt(fText, tPos))) {
+                        continue;
+                    }
+                }               
+                
+                // LB 11b
+                //    x  WJ
+                //    WJ  x
+                if (fWJ.contains(thisChar) || fWJ.contains(prevChar)) {
+                    continue;
+                }
+                
+                // LB 12    break after space
+                if (fSP.contains(prevChar)) {
+                    break;
+                }
+                
+                // LB 13
+                //        x GL
+                //        GL x
+                if (fGL.contains(thisChar) || fGL.contains(prevChar)) {
+                    continue;
+                }
+                
+                
+                // LB 14
+                //    x   QU
+                //    QU  x
+                if (fQU.contains(thisChar) || fQU.contains(prevChar)) {
+                    continue;
+                }
+                
+                // LB 14a  Break around a CB
+                if (fCB.contains(thisChar) || fCB.contains(prevChar)) {
+                    break;
+                }
+                
+                // LB 15
+                if (fBA.contains(thisChar) ||
+                        fHY.contains(thisChar) ||
+                        fNS.contains(thisChar) ||
+                        fBB.contains(prevChar) )   {
+                    continue;
+                }
+                
+                // LB 16
+                if (fAL.contains(prevChar) && fIN.contains(thisChar) ||
+                        fID.contains(prevChar) && fIN.contains(thisChar) ||
+                        fIN.contains(prevChar) && fIN.contains(thisChar) ||
+                        fNU.contains(prevChar) && fIN.contains(thisChar) )   {
+                    continue;
+                }
+                
+                
+                // LB 17    ID x PO    (Note:  Leading CM behaves like ID)
+                //          AL x NU
+                //          NU x AL
+                if (fID.contains(prevChar) && fPO.contains(thisChar) ||
+                        fAL.contains(prevChar) && fNU.contains(thisChar) ||
+                        fNU.contains(prevChar) && fAL.contains(thisChar) )   {
+                    continue;
+                }
+                
+                // LB 18    Numbers
+                matchVals = LBNumberCheck(fText, prevPos, matchVals);
+                if (matchVals[0] != -1) {
+                    // Matched a number.  But could have been just a single digit, which would
+                    //    not represent a "no break here" between prevChar and thisChar
+                    int numEndIdx = matchVals[1];  // idx of first char following num
+                    if (numEndIdx > pos) {
+                        // Number match includes at least the two chars being checked
+                        if (numEndIdx > nextPos) {
+                            // Number match includes additional chars.  Update pos and nextPos
+                            //   so that next loop iteration will continue at the end of the number,
+                            //   checking for breaks between last char in number & whatever follows.
+                            nextPos = numEndIdx;
+                            pos     = numEndIdx;
+                            do {
+                                pos = moveIndex32(fText, pos, -1);  
+                                thisChar = UTF16.charAt(fText, pos);
+                            }
+                            while (fCM.contains(thisChar));
+                        }
+                        continue;
+                    }
+                }
+                if (fPR.contains(prevChar) && fAL.contains(thisChar)) {
+                    continue;   
+                }
+                if (fPR.contains(prevChar) && fID.contains(thisChar)) {
+                    continue;
+                }
+                
+                
+                // LB 18b  Do not break Korean Syllables
+                if (fJL.contains(prevChar) && (fJL.contains(thisChar) ||
+                                                fJV.contains(thisChar) ||
+                                                fH2.contains(thisChar) ||
+                                                fH3.contains(thisChar))) {
+                                                    continue;
+                                                }
+
+                if ((fJV.contains(prevChar) || fH2.contains(prevChar))  &&
+                    (fJV.contains(thisChar) || fJT.contains(thisChar))) {
+                        continue;
+                }
+
+                if ((fJT.contains(prevChar) || fH3.contains(prevChar)) &&
+                    fJT.contains(thisChar)) {
+                        continue;
+                }
+
+                // LB 18c  more Korean
+                if ((fJL.contains(prevChar) || fJV.contains(prevChar) ||
+                    fJT.contains(prevChar) || fH2.contains(prevChar) || fH3.contains(prevChar)) &&
+                    fIN.contains(thisChar)) {
+                        continue;
+                    }
+                if ((fJL.contains(prevChar) || fJV.contains(prevChar) ||
+                    fJT.contains(prevChar) || fH2.contains(prevChar) || fH3.contains(prevChar)) &&
+                    fPO.contains(thisChar)) {
+                        continue;
+                    }
+                if (fPR.contains(prevChar) && (fJL.contains(thisChar) || fJV.contains(thisChar) ||
+                    fJT.contains(thisChar) || fH2.contains(thisChar) || fH3.contains(thisChar))) {
+                        continue;
+                    }
+
+                
+                
+                // LB 19
+                if (fAL.contains(prevChar) && fAL.contains(thisChar)) {
+                    continue;
+                }
+                
+                // LB 19b
+                if (fIS.contains(prevChar) && fAL.contains(thisChar)) {
+                    continue;
+                }
+                
+                // LB 20    Break everywhere else
+                break;
+                
+            }
+            
+            return pos;
+        }
+        
+        
+        
+        // Match the following regular expression in the input text.
+        //     (PR CM*)? ((OP | HY) CM*)? NU CM* ((NU | IS | SY) CM*) * (CL CM*)?  (PO CM*)?
+        //      0  1       3    3    3        7     7    7    7    7      9   9     11 11    (match states)
+        //  retVals array  [0]  index of the start of the match, or -1 if no match
+        //                 [1]  index of first char following the match.
+        //  Can not use Java regex because need supplementary character support,
+        //     and because Unicode char properties version must be the same as in
+        //     the version of ICU being tested.
+        private int[] LBNumberCheck(StringBuffer s, int startIdx, int[] retVals) {
+            if (retVals == null) {
+                retVals = new int[2];
+             }
+            retVals[0]     = -1;  // Indicates no match.
+            int matchState = 0;
+            int idx        = startIdx;
+            
+            matchLoop: for (idx = startIdx; idx<s.length(); idx = moveIndex32(s, idx, 1)){
+                int c = UTF16.charAt(s, idx);
+                int cLBType = UCharacter.getIntPropertyValue(c, UProperty.LINE_BREAK);
+                switch (matchState) {
+                    case 0:   
+                        if (cLBType == UCharacter.LineBreak.PREFIX_NUMERIC) {
+                            matchState = 1;  
+                            break;
+                        }
+                        if (cLBType == UCharacter.LineBreak.OPEN_PUNCTUATION) {
+                            matchState = 4;
+                            break;
+                        }
+                        if (cLBType == UCharacter.LineBreak.HYPHEN) {
+                            matchState = 4;
+                            break;
+                        }
+                        if (cLBType == UCharacter.LineBreak.NUMERIC) {
+                            matchState = 7;
+                            break;
+                        }
+                        break matchLoop;   /* No Match  */
+                        
+                    case 1:
+                        if (cLBType == UCharacter.LineBreak.COMBINING_MARK) {
+                            matchState = 1;
+                            break;
+                        }
+                        if (cLBType == UCharacter.LineBreak.OPEN_PUNCTUATION) {
+                            matchState = 4;
+                            break;
+                        }
+                        if (cLBType == UCharacter.LineBreak.HYPHEN) {
+                            matchState = 4;
+                            break;
+                        }
+                        if (cLBType == UCharacter.LineBreak.NUMERIC) {
+                            matchState = 7;
+                            break;
+                        }
+                        break matchLoop;   /* No Match  */
+                        
+                        
+                    case 4:
+                        if (cLBType == UCharacter.LineBreak.COMBINING_MARK) {
+                            matchState = 4;
+                            break;
+                        }
+                        if (cLBType == UCharacter.LineBreak.NUMERIC) {
+                            matchState = 7;
+                            break;
+                        }
+                        break matchLoop;   /* No Match  */
+                        //     (PR CM*)? ((OP | HY) CM*)? NU CM* ((NU | IS | SY) CM*) * (CL CM*)?  (PO CM*)?
+                        //      0  1       3    3    4    7   7     7    7    7    7      9   9     11 11    (match states)
+
+                    case 7:
+                        if (cLBType == UCharacter.LineBreak.COMBINING_MARK) {
+                            matchState = 7;
+                            break;                           
+                        }
+                        if (cLBType == UCharacter.LineBreak.NUMERIC) {
+                            matchState = 7;
+                            break;                           
+                        }
+                        if (cLBType == UCharacter.LineBreak.INFIX_NUMERIC) {
+                            matchState = 7;
+                            break;                           
+                        }
+                        if (cLBType == UCharacter.LineBreak.BREAK_SYMBOLS) {
+                            matchState = 7;
+                            break;       
+                        }
+                        if (cLBType == UCharacter.LineBreak.CLOSE_PUNCTUATION) {
+                            matchState = 9;
+                            break;                           
+                        }
+                        if (cLBType == UCharacter.LineBreak.POSTFIX_NUMERIC) {
+                            matchState = 11;
+                            break;                           
+                        }
+                        break matchLoop;    // Match Complete.
+                    case 9:
+                        if (cLBType == UCharacter.LineBreak.COMBINING_MARK) {
+                            matchState = 9;
+                            break;                           
+                        }
+                        if (cLBType == UCharacter.LineBreak.POSTFIX_NUMERIC) {
+                            matchState = 11;
+                            break;                           
+                        }
+                        break matchLoop;    // Match Complete.
+                    case 11:
+                        if (cLBType == UCharacter.LineBreak.COMBINING_MARK) {
+                            matchState = 11;
+                            break;                           
+                        }
+                        break matchLoop;    // Match Complete.
+                }
+            }
+            if (matchState > 4) {
+                retVals[0] = startIdx;   
+                 retVals[1] = idx;   
+            }
+            return retVals;
+        }
+        
+        
+        List  charClasses() {
+            return fSets;
+        }
+        
+        
+    
+    }
+
+     
+    /**
+     * Move an index into a string by n code points.
+     *   Similar to UTF16.moveCodePointOffset, but without the exceptions, which were
+     *   complicating usage.
+     * @param s   a Text string
+     * @param i   The starting code unit index into the text string
+     * @param amt  The amount to adjust the string by.
+     * @return    The adjusted code unit index, pinned to the string's length, or
+     *            unchanged if input index was outside of the string.
+     */
+    static int moveIndex32(StringBuffer s, int pos, int amt) {
+        int i;
+        char  c;
+        if (amt>0) {
+            for (i=0; i<amt; i++) {
+                if (pos >= s.length()) {
+                    return s.length();                   
+                }
+                c = s.charAt(pos);
+                pos++;
+                if (UTF16.isLeadSurrogate(c) && pos < s.length()) {
+                    c = s.charAt(pos);
+                    if (UTF16.isTrailSurrogate(c)) {
+                        pos++;   
+                    }
+                }
+            }
+        } else {
+            for (i=0; i>amt; i--) {
+                if (pos <= 0) {
+                    return 0;   
+                }
+                pos--;
+                c = s.charAt(pos);
+                if (UTF16.isTrailSurrogate(c) && pos >= 0) {
+                    c = s.charAt(pos);
+                    if (UTF16.isLeadSurrogate(c)) {
+                        pos--;   
+                    }
+                }
+            }
+        }
+        return pos;
+    }
+    
+    
+    /**
+     * return the index of the next code point in the input text.
+     * @param i the preceding index
+     * @return
+     * @internal
+     */
+    static int  nextCP(StringBuffer s, int i) {
+        if (i == -1) {
+            // End of Input indication.  Continue to return end value.
+            return -1;
+        }
+        int  retVal = i + 1;
+        if (retVal > s.length()) {
+            return -1;
+        }
+        int  c = UTF16.charAt(s, i);
+        if (c >= UTF16.SUPPLEMENTARY_MIN_VALUE) {
+            retVal++;
+        }
+        return retVal;
+    }
+
+
+    //
+    //  The following UnicodeSets are used in matching a Grapheme Cluster
+    //
+    private static UnicodeSet GC_Control;
+    
+    private static UnicodeSet GC_Extend ;
+    
+    private static UnicodeSet GC_L ;
+    
+    private static UnicodeSet GC_V ;
+    
+    private static UnicodeSet GC_T ;
+    
+    private static UnicodeSet GC_LV;
+    
+    private static UnicodeSet GC_LVT ;
+
+    protected void init()throws Exception{
+        GC_Control = new UnicodeSet("[[:Zl:][:Zp:][:Cc:][:Cf:]-[\\u000d\\u000a]-[:Grapheme_Extend:]]");
+       
+        GC_Extend = new UnicodeSet("[[:Grapheme_Extend:]]");
+       
+        GC_L = new UnicodeSet("[[:Hangul_Syllable_Type=L:]]");
+       
+        GC_V = new UnicodeSet("[[:Hangul_Syllable_Type=V:]]");
+       
+        GC_T = new UnicodeSet("[[:Hangul_Syllable_Type=T:]]");
+       
+        GC_LV = new UnicodeSet("[[:Hangul_Syllable_Type=LV:]]");
+       
+        GC_LVT = new UnicodeSet("[[:Hangul_Syllable_Type=LVT:]]");
+    }
+    /**
+     * Find the end of the extent of a grapheme cluster.
+     * This is the reference implementation used by the monkey test for comparison
+     * with the RBBI results.
+     * @param s  The string containing the text to be analyzed  
+     * @param i  The index of the start of the grapheme cluster.
+     * @return   The index of the first code point following the grapheme cluster
+     * @internal
+     */
+    private static int nextGC(StringBuffer s, int i) {
+        if (i >= s.length() || i == -1 ) {
+            return -1;
+        }
+
+        int  c = UTF16.charAt(s, i);
+        int  pos = i;
+        
+        if (c == 0x0d) {
+            pos = nextCP(s, i);
+            if (pos >= s.length()) {
+                return pos;
+            }
+            c = UTF16.charAt(s, pos);
+            if (c == 0x0a) {
+                pos = nextCP(s, pos);
+            }
+            return pos;
+        }
+        
+        if (GC_Control.contains(c) || c == 0x0a) {
+            pos = nextCP(s, pos);
+            return pos;   
+        }
+        
+        // Little state machine to consume Hangul Syllables
+        int  hangulState = 1;
+        state_loop: for (;;) {
+            switch (hangulState) {
+                case 1:
+                    if (GC_L.contains(c)) {
+                        hangulState = 2;
+                        break;
+                    }
+                    if (GC_V.contains(c) || GC_LV.contains(c)) {
+                        hangulState = 3;
+                        break;
+                    }
+                    if (GC_T.contains(c) || GC_LVT.contains(c)) {
+                        hangulState = 4;
+                        break;
+                    }
+                    break state_loop;
+                case 2:
+                    if (GC_L.contains(c)) {
+                        // continue in state 2.
+                        break;
+                    }
+                    if (GC_V.contains(c) || GC_LV.contains(c)) {
+                        hangulState = 3;
+                        break;
+                    }
+                    if (GC_LVT.contains(c)) {
+                        hangulState = 4;
+                        break;
+                    }
+                    if (GC_Extend.contains(c)) {
+                        hangulState = 5;
+                        break;
+                    }
+                    break state_loop;
+                case 3:
+                    if (GC_V.contains(c)) {
+                        // continue in state 3;
+                        break;
+                    }
+                    if (GC_T.contains(c)) {
+                        hangulState = 4;
+                        break;
+                    }
+                    if (GC_Extend.contains(c)) {
+                        hangulState = 5;
+                        break;
+                    }
+                    break state_loop;
+                case 4:
+                    if (GC_T.contains(c)) {
+                        // continue in state 4
+                        break;
+                    }
+                    if (GC_Extend.contains(c)) {
+                        hangulState = 5;
+                        break;
+                    }
+                    break state_loop;
+                case 5:
+                    if (GC_Extend.contains(c)) {
+                        hangulState = 5;
+                        break; 
+                    }
+                    break state_loop;
+            }
+            // We have exited the switch statement, but are still in the loop.
+            // Still in a Hangul Syllable, advance to the next code point.
+            pos = nextCP(s, pos); 
+            if (pos >= s.length()) {
+                break;
+            }
+            c = UTF16.charAt(s, pos);    
+        }  // end of loop
+        
+        if (hangulState != 1) {
+            // We found a Hangul.  We're done.
+            return pos;
+        }
+        
+        // Ordinary characters.  Consume one codepoint unconditionally, then any following Extends.
+        for (;;) {
+            pos = nextCP(s, pos); 
+            if (pos >= s.length()) {
+                break;
+            }
+            c = UTF16.charAt(s, pos);    
+            if (GC_Extend.contains(c) == false) {
+                break;
+            }
+        }
+        
+        return pos;   
+    }
+    
+    
+    /**
+     * random number generator.  Not using Java's built-in Randoms for two reasons:
+     *    1.  Using this code allows obtaining the same sequences as those from the ICU4C monkey test.
+     *    2.  We need to get and restore the seed from values occuring in the middle
+     *        of a long sequence, to more easily reproduce failing cases.
+     */
+    private static int m_seed = 1;
+    private static int  m_rand()
+    {
+        m_seed = m_seed * 1103515245 + 12345;
+        return (int)(m_seed >>> 16) % 32768;
+    }
+
+    
+/**
+ *  Run a RBBI monkey test.  Common routine, for all break iterator types.
+ *    Parameters:
+ *       bi      - the break iterator to use
+ *       mk      - MonkeyKind, abstraction for obtaining expected results
+ *       name    - Name of test (char, word, etc.) for use in error messages
+ *       seed    - Seed for starting random number generator (parameter from user)
+ *       numIterations
+ */
+void RunMonkey(BreakIterator  bi, RBBIMonkeyKind mk, String name, int  seed, int numIterations) {
+    int              TESTSTRINGLEN = 500;
+    StringBuffer     testText         = new StringBuffer();
+    int              numCharClasses;
+    List             chClasses;
+    int[]            expected         = new int[TESTSTRINGLEN*2 + 1];
+    int              expectedCount    = 0;
+    boolean[]        expectedBreaks   = new boolean[TESTSTRINGLEN*2 + 1];
+    boolean[]        forwardBreaks    = new boolean[TESTSTRINGLEN*2 + 1];
+    boolean[]        reverseBreaks    = new boolean[TESTSTRINGLEN*2 + 1];
+    boolean[]        isBoundaryBreaks = new boolean[TESTSTRINGLEN*2 + 1];
+    boolean[]        followingBreaks  = new boolean[TESTSTRINGLEN*2 + 1];
+    boolean[]        precedingBreaks  = new boolean[TESTSTRINGLEN*2 + 1];
+    int              i;
+    int              loopCount        = 0;
+    boolean          printTestData    = false;
+    boolean          printBreaksFromBI = false;
+
+    m_seed = seed;
+
+    numCharClasses = mk.charClasses().size();
+    chClasses      = mk.charClasses();
+
+    // Verify that the character classes all have at least one member.
+    for (i=0; i<numCharClasses; i++) {
+        UnicodeSet s = (UnicodeSet)chClasses.get(i);
+        if (s == null || s.size() == 0) {
+            errln("Character Class " + i + " is null or of zero size.");
+            return;
+        }
+    }
+
+    //--------------------------------------------------------------------------------------------
+    //
+    //  Debugging settings.  Comment out everything in the following block for normal operation
+    //
+    //--------------------------------------------------------------------------------------------
+    // numIterations = -1;  
+    // RuleBasedBreakIterator_New.fTrace = true;
+    // m_seed = 668686441;
+    // TESTSTRINGLEN = 50;
+    // printTestData = true;
+    // printBreaksFromBI = true;
+    // ((RuleBasedBreakIterator_New)bi).dump();
+    
+    //--------------------------------------------------------------------------------------------
+    //
+    //  End of Debugging settings.  
+    //
+    //--------------------------------------------------------------------------------------------
+    
+    int  dotsOnLine = 0;
+    while (loopCount < numIterations || numIterations == -1) {
+        if (numIterations == -1 && loopCount % 10 == 0) {
+            // If test is running in an infinite loop, display a periodic tic so
+            //   we can tell that it is making progress.
+            System.out.print(".");
+            if (dotsOnLine++ >= 80){
+                System.out.println();
+                dotsOnLine = 0;
+            }
+        }
+        // Save current random number seed, so that we can recreate the random numbers
+        //   for this loop iteration in event of an error.
+        seed = m_seed;
+
+        testText.setLength(0);
+        // Populate a test string with data.
+        if (printTestData) {
+            System.out.println("Test Data string ..."); 
+        }
+        for (i=0; i<TESTSTRINGLEN; i++) {
+            int        aClassNum = m_rand() % numCharClasses;
+            UnicodeSet classSet  = (UnicodeSet)chClasses.get(aClassNum);
+            int        charIdx   = m_rand() % classSet.size();
+            int        c         = classSet.charAt(charIdx);
+            if (c < 0) {   // TODO:  deal with sets containing strings.
+                errln("c < 0");
+            }
+            UTF16.appendCodePoint(testText, c);
+            if (printTestData) {
+                System.out.print(Integer.toHexString(c) + " ");
+            }
+        }
+        if (printTestData) {
+            System.out.println(); 
+        }
+
+        Arrays.fill(expected, 0);
+        Arrays.fill(expectedBreaks, false);
+        Arrays.fill(forwardBreaks, false);
+        Arrays.fill(reverseBreaks, false);
+        Arrays.fill(isBoundaryBreaks, false);
+        Arrays.fill(followingBreaks, false);
+        Arrays.fill(precedingBreaks, false);
+ 
+        // Calculate the expected results for this test string.
+        mk.setText(testText);
+        expectedCount = 0;
+        expectedBreaks[0] = true;
+        expected[expectedCount ++] = 0;
+        int breakPos = 0;
+        int lastBreakPos = -1;
+        for (;;) {
+            lastBreakPos = breakPos;
+            breakPos = mk.next(breakPos);
+            if (breakPos == -1) {
+                break;
+            }
+            if (breakPos > testText.length()) {
+                errln("breakPos > testText.length()");
+            }
+            if (lastBreakPos >= breakPos) {
+                errln("Next() not increasing.");
+                // break;
+            }
+            expectedBreaks[breakPos] = true;
+            expected[expectedCount ++] = breakPos;
+        }
+
+        // Find the break positions using forward iteration
+        if (printBreaksFromBI) {
+            System.out.println("Breaks from BI...");  
+        }
+        bi.setText(testText.toString());
+        for (i=bi.first(); i != BreakIterator.DONE; i=bi.next()) {
+            if (i < 0 || i > testText.length()) {
+                errln(name + " break monkey test: Out of range value returned by breakIterator::next()");
+                break;
+            }
+            if (printBreaksFromBI) {
+                System.out.print(Integer.toHexString(i) + " ");
+            }
+            forwardBreaks[i] = true;
+        }
+        if (printBreaksFromBI) {
+            System.out.println();
+        }
+
+        // Find the break positions using reverse iteration
+        for (i=bi.last(); i != BreakIterator.DONE; i=bi.previous()) {
+            if (i < 0 || i > testText.length()) {
+                errln(name + " break monkey test: Out of range value returned by breakIterator.next()" + name);
+                break;
+            }
+            reverseBreaks[i] = true;
+        }
+
+        // Find the break positions using isBoundary() tests.
+        for (i=0; i<=testText.length(); i++) {
+            isBoundaryBreaks[i] = bi.isBoundary(i);
+        }
+
+        // Find the break positions using the following() function.
+        lastBreakPos = 0;
+        followingBreaks[0] = true;
+        for (i=0; i<testText.length(); i++) {
+            breakPos = bi.following(i);
+            if (breakPos <= i ||
+                breakPos < lastBreakPos ||
+                breakPos > testText.length() ||
+                breakPos > lastBreakPos && lastBreakPos > i ) {
+                errln(name + " break monkey test: " +
+                    "Out of range value returned by BreakIterator::following().\n" +
+                    "index=" + i + "following returned=" + breakPos +
+                    "lastBreak=" + lastBreakPos);
+                precedingBreaks[i] = !expectedBreaks[i];   // Forces an error.
+            } else {
+                followingBreaks[breakPos] = true;
+                lastBreakPos = breakPos;
+            }
+        }
+        
+        // Find the break positions using the preceding() function.
+        lastBreakPos = testText.length();
+        precedingBreaks[testText.length()] = true;
+        for (i=testText.length(); i>0; i--) {
+            breakPos = bi.preceding(i);
+            if (breakPos >= i ||
+                breakPos > lastBreakPos ||
+                breakPos < 0 ||
+                breakPos < lastBreakPos && lastBreakPos < i ) {
+                errln(name + " break monkey test: " +
+                        "Out of range value returned by BreakIterator::preceding().\n" +
+                        "index=" + i + "preceding returned=" + breakPos +
+                        "lastBreak=" + lastBreakPos);
+                precedingBreaks[i] = !expectedBreaks[i];   // Forces an error.
+            } else {
+                precedingBreaks[breakPos] = true;
+                lastBreakPos = breakPos;
+            }
+        }
+
+        
+
+        // Compare the expected and actual results.
+        for (i=0; i<=testText.length(); i++) {
+            String errorType = null;
+            if  (forwardBreaks[i] != expectedBreaks[i]) {
+                errorType = "next()";
+            } else if (reverseBreaks[i] != forwardBreaks[i]) {
+                errorType = "previous()";
+            } else if (isBoundaryBreaks[i] != expectedBreaks[i]) {
+                errorType = "isBoundary()";
+            } else if (followingBreaks[i] != expectedBreaks[i]) {
+                errorType = "following()";
+            } else if (precedingBreaks[i] != expectedBreaks[i]) {
+                errorType = "preceding()";
+            }
+
+
+            if (errorType != null) {
+                // Format a range of the test text that includes the failure as
+                //  a data item that can be included in the rbbi test data file.
+
+                // Start of the range is the last point where expected and actual results
+                //   both agreed that there was a break position.
+                int startContext = i;
+                int count = 0;
+                for (;;) {
+                    if (startContext==0) { break; }
+                    startContext --;
+                    if (expectedBreaks[startContext]) {
+                        if (count == 2) break;
+                        count ++;
+                    }
+                }
+
+                // End of range is two expected breaks past the start position.
+                int endContext = i + 1;
+                int ci;
+                for (ci=0; ci<2; ci++) {  // Number of items to include in error text.
+                    for (;;) {
+                        if (endContext >= testText.length()) {break;}
+                        if (expectedBreaks[endContext-1]) { 
+                            if (count == 0) break;
+                            count --;
+                        }
+                        endContext ++;
+                    }
+                }
+
+                // Format looks like   "<data><>\uabcd\uabcd<>\U0001abcd...</data>"
+                StringBuffer errorText = new StringBuffer();
+                errorText.append("<data>");
+
+                String hexChars = "0123456789abcdef";
+                int      c;    // Char from test data
+                int      bn;
+                for (ci = startContext;  ci <= endContext && ci != -1;  ci = nextCP(testText, ci)) {
+                    if (ci == i) {
+                        // This is the location of the error.
+                        errorText.append("<?>");
+                    } else if (expectedBreaks[ci]) {
+                        // This a non-error expected break position.
+                        errorText.append("<>");
+                    }
+                    if (ci < testText.length()) {
+                        c = UTF16.charAt(testText, ci);
+                        if (c < 0x10000) {
+                            errorText.append("\\u");
+                            for (bn=12; bn>=0; bn-=4) {
+                                errorText.append(hexChars.charAt((((int)c)>>bn)&0xf));
+                            }
+                        } else {
+                            errorText.append("\\U");
+                            for (bn=28; bn>=0; bn-=4) {
+                                errorText.append(hexChars.charAt((((int)c)>>bn)&0xf));
+                            }
+                        }
+                    }
+                }
+                if (ci == testText.length() && ci != -1) {
+                    errorText.append("<>");
+                }
+                errorText.append("</data>\n");
+
+                // Output the error
+                errln(name + " break monkey test error.  " + 
+                     (expectedBreaks[i]? "Break expected but not found." : "Break found but not expected.") +
+                      "\nOperation = " + errorType + "; random seed = " + seed + ";  buf Idx = " + i + "\n" +
+                      errorText);
+                break;
+            }
+        }
+
+        loopCount++;
+    }
+}
+
+public void TestCharMonkey() {
+    
+    int        loopCount = 500;
+    int        seed      = 1;
+    
+    if (params.inclusion >= 9) {
+        loopCount = 10000;
+    }
+    
+    RBBICharMonkey  m = new RBBICharMonkey();
+    BreakIterator   bi = BreakIterator.getCharacterInstance(Locale.US);
+    RunMonkey(bi, m, "char", seed, loopCount);
+}
+
+public void TestWordMonkey() {
+    
+    int        loopCount = 500;
+    int        seed      = 1;
+    
+    if (params.inclusion >= 9) {
+        loopCount = 10000;
+    }
+    
+    logln("Word Break Monkey Test");
+    RBBIWordMonkey  m = new RBBIWordMonkey();
+    BreakIterator   bi = BreakIterator.getWordInstance(Locale.US);
+    RunMonkey(bi, m, "word", seed, loopCount);
+}
+
+public void TestLineMonkey() {
+    
+    int        loopCount = 500;
+    int        seed      = 1;
+    
+    if (params.inclusion >= 9) {
+        loopCount = 10000;
+    }
+    
+    logln("Line Break Monkey Test");
+    RBBILineMonkey  m = new RBBILineMonkey();
+    BreakIterator   bi = BreakIterator.getLineInstance(Locale.US);
+    if (params == null) {
+        loopCount = 50;
+    }
+    RunMonkey(bi, m, "line", seed, loopCount);
+}
+
+}
+
diff --git a/src/com/ibm/icu/dev/test/rbbi/SimpleBITest.java b/src/com/ibm/icu/dev/test/rbbi/SimpleBITest.java
new file mode 100755
index 0000000..969db7f
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/rbbi/SimpleBITest.java
@@ -0,0 +1,266 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.test.rbbi;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.ListResourceBundle;
+import java.util.MissingResourceException;
+
+import com.ibm.icu.dev.test.TestFmwk;
+import com.ibm.icu.text.BreakIterator;
+import com.ibm.icu.text.DictionaryBasedBreakIterator;
+import com.ibm.icu.text.RuleBasedBreakIterator;
+
+// TODO: {dlf} this test currently doesn't test anything!
+// You'll notice that the resource that uses the dictionary isn't even on the resource path,
+// so the dictionary never gets used.  Good thing, too, because it would throw a security
+// exception if run with a security manager.  Not that it would matter, the dictionary 
+// resource isn't even in the icu source tree!
+// In order to fix this:
+// 1) make sure english.dict matches the current dictionary format required by dbbi
+// 2) make sure english.dict gets included in icu4jtests.jar
+// 3) have this test use getResourceAsStream to get a stream on the dictionary, and
+//    directly instantiate a DictionaryBasedBreakIterator.  It can use the rules from
+//    the appropriate section of ResourceBundle_en_US_TEST.  I'd suggest just copying
+//    the rules into this file.
+// 4) change the test text by inserting '|' at word breaks, and '||' at line breaks.  
+// 5) process this text to a) create tables of break indices, and b) clean up the test
+//    for the break iterator to work on
+// 
+// This would NOT test the ability to load dictionary-based break iterators through our
+// normal resource mechanism.  One could install such a break iterator and its
+// resources into the icu4j jar, and it would work, but there's no way to register entire
+// resources from outside yet.  Even if there were, the access restrictions are a bit
+// difficult to manage, if one wanted to register a break iterator whose code and data
+// resides outside the icu4j jar.  Since the code to instantiate would be going through 
+// two protection domains, each domain would have to allow access to the data-- but 
+// icu4j's domain wouldn't know about ours.  So we could instantiate before registering
+// the break iterator, but this would mean we'd have to fully initialize the dictionary(s)
+// at instantiation time, rather than let this be deferred until they are actually needed.
+//
+// I've done items 2 and 3 above.  Unfortunately, since I haven't done item 1, the
+// dictionary builder crashes.  So for now I'm disabling this test.  This is not
+// that important, since we have a thai dictionary that we do test thoroughly.
+//
+
+public class SimpleBITest extends TestFmwk{
+    public static final String testText =
+//        "The rain in Spain stays mainly on the plain.  The plains in Spain are mainly pained with rain.";
+//"one-two now--  Hah!  You owe me exactly $1,345.67...  Pay up, huh?  By the way, why don't I send you my re\u0301sume\u0301?  This is a line\r\nbreak.";
+//"nowisthetimeforallgoodmen...  tocometothehelpoftheircountry";
+"When, in the course of human events, it becomes necessary for one people to dissolve the political bonds which have "
+//"When,inthecourseofhumanevents,itbecomesnecessaryforonepeopletodissolvethepoliticalbondswhichhave"
++ "connectedthemwithanother,andtoassumeamongthepowersoftheearth,theseparateandequalstationtowhichthelaws"
++ "ofnatureandofnature'sGodentitlethem,adecentrespecttotheopinionsofmankindrequiresthattheyshoulddeclarethe"
++ "causeswhichimpelthemtotheseparation\n"
++ "Weholdthesetruthstobeself-evident,thatallmenarecreatedequal,thattheyareendowedbytheirCreatorwithcertain"
++ "unalienablerights,thatamongthesearelife,libertyandthepursuitofhappiness.Thattosecuretheserights,governmentsare"
++ "institutedamongmen,derivingtheirjustpowersfromtheconsentofthegoverned.Thatwheneveranyformofgovernment"
++ "becomesdestructivetotheseends,itistherightofthepeopletoalterortoabolishit,andtoinstitutenewgovernment,laying"
++ "itsfoundationonsuchprinciplesandorganizingitspowersinsuchform,astothemshallseemmostlikelytoeffecttheirsafety"
++ "andhappiness.Prudence,indeed,willdictatethatgovernmentslongestablishedshouldnotbechangedforlightandtransient"
++ "causes;andaccordinglyallexperiencehathshownthatmankindaremoredisposedtosuffer,whileevilsaresufferable,than"
++ "torightthemselvesbyabolishingtheformstowhichtheyareaccustomed.Butwhenalongtrainofabusesandusurpations,"
++ "pursuinginvariablythesameobjectevincesadesigntoreducethemunderabsolutedespotism,itistheirright,itistheirduty,"
++ "tothrowoffsuchgovernment,andtoprovidenewguardsfortheirfuturesecurity.--Suchhasbeenthepatientsufferanceof"
++ "thesecolonies;andsuchisnowthenecessitywhichconstrainsthemtoaltertheirformersystemsofgovernment.Thehistory"
++ "ofthepresentKingofGreatBritainisahistoryofrepeatedinjuriesandusurpations,allhavingindirectobjectthe"
++ "establishmentofanabsolutetyrannyoverthesestates.Toprovethis,letfactsbesubmittedtoacandidworld.\n"
++ "Hehasrefusedhisassenttolaws,themostwholesomeandnecessaryforthepublicgood.\n"
++ "Hehasforbiddenhisgovernorstopasslawsofimmediateandpressingimportance,unlesssuspendedintheiroperationtill"
++ "hisassentshouldbeobtained;andwhensosuspended,hehasutterlyneglectedtoattendtothem.\n"
++ "Hehasrefusedtopassotherlawsfortheaccommodationoflargedistrictsofpeople,unlessthosepeoplewouldrelinquish"
++ "therightofrepresentationinthelegislature,arightinestimabletothemandformidabletotyrantsonly.\n"
++ "Hehascalledtogetherlegislativebodiesatplacesunusual,uncomfortable,anddistantfromthedepositoryoftheirpublic"
++ "records,forthesolepurposeoffatiguingthemintocompliancewithhismeasures.\n"
++ "Hehasdissolvedrepresentativehousesrepeatedly,foropposingwithmanlyfirmnesshisinvasionsontherightsofthepeople.\n"
++ "Hehasrefusedforalongtime,aftersuchdissolutions,tocauseotherstobeelected;wherebythelegislativepowers,"
++ "incapableofannihilation,havereturnedtothepeopleatlargefortheirexercise;thestateremaininginthemeantimeexposed"
++ "toallthedangersofinvasionfromwithout,andconvulsionswithin.\n"
++ "Hehasendeavoredtopreventthepopulationofthesestates;forthatpurposeobstructingthelawsfornaturalizationof"
++ "foreigners;refusingtopassotherstoencouragetheirmigrationhither,andraisingtheconditionsofnewappropriationsof"
++ "lands.\n"
++ "Hehasobstructedtheadministrationofjustice,byrefusinghisassenttolawsforestablishingjudiciarypowers.\n"
++ "Hehasmadejudgesdependentonhiswillalone,forthetenureoftheiroffices,andtheamountandpaymentoftheirsalaries.\n"
++ "Hehaserectedamultitudeofnewoffices,andsenthitherswarmsofofficerstoharassourpeople,andeatouttheir"
++ "substance.\n"
++ "Hehaskeptamongus,intimesofpeace,standingarmieswithouttheconsentofourlegislature.\n"
++ "Hehasaffectedtorenderthemilitaryindependentofandsuperiortocivilpower.\n"
++ "Hehascombinedwithotherstosubjectustoajurisdictionforeigntoourconstitution,andunacknowledgedbyourlaws;"
++ "givinghisassenttotheiractsofpretendedlegislation:\n"
++ "Forquarteringlargebodiesofarmedtroopsamongus:\n"
++ "Forprotectingthem,bymocktrial,frompunishmentforanymurderswhichtheyshouldcommitontheinhabitantsofthese"
++ "states:\n"
++ "Forcuttingoffourtradewithallpartsoftheworld:\n"
++ "Forimposingtaxesonuswithoutourconsent:\n"
++ "Fordeprivingusinmanycases,ofthebenefitsoftrialbyjury:\n"
++ "Fortransportingusbeyondseastobetriedforpretendedoffenses:\n"
++ "ForabolishingthefreesystemofEnglishlawsinaneighboringprovince,establishingthereinanarbitrarygovernment,and"
++ "enlargingitsboundariessoastorenderitatonceanexampleandfitinstrumentforintroducingthesameabsoluteruleinthese"
++ "colonies:\n"
++ "Fortakingawayourcharters,abolishingourmostvaluablelaws,andalteringfundamentallytheformsofourgovernments:\n"
++ "Forsuspendingourownlegislatures,anddeclaringthemselvesinvestedwithpowertolegislateforusinallcaseswhatsoever.\n"
++ "Hehasabdicatedgovernmenthere,bydeclaringusoutofhisprotectionandwagingwaragainstus.\n"
++ "Hehasplunderedourseas,ravagedourcoasts,burnedourtowns,anddestroyedthelivesofourpeople.\n"
++ "Heisatthistimetransportinglargearmiesofforeignmercenariestocompletetheworksofdeath,desolationandtyranny,"
++ "alreadybegunwithcircumstancesofcrueltyandperfidyscarcelyparalleledinthemostbarbarousages,andtotalyunworth"
++ "theheadofacivilizednation.\n"
++ "Hehasconstrainedourfellowcitizenstakencaptiveonthehighseastobeararmsagainsttheircountry,tobecomethe"
++ "executionersoftheirfriendsandbrethren,ortofallthemselvesbytheirhands.\n"
++ "Hehasexciteddomesticinsurrectionsamongstus,andhasendeavoredtobringontheinhabitantsofourfrontiers,the"
++ "mercilessIndiansavages,whoseknownruleofwarfare,isundistinguisheddestructionofallages,sexesandconditions.\n"
++ "Ineverystageoftheseoppressionswehavepetitionedforredressinthemosthumbleterms:ourrepeatedpetitionshave"
++ "beenansweredonlybyrepeatedinjury.Aprince,whosecharacteristhusmarkedbyeveryactwhichmaydefineatyrant,is"
++ "unfittobetherulerofafreepeople.\n"
++ "NorhavewebeenwantinginattentiontoourBritishbrethren.Wehavewarnedthemfromtimetotimeofattemptsbytheir"
++ "legislaturetoextendanunwarrantablejurisdictionoverus.Wehaveremindedthemofthecircumstancesofouremigration"
++ "andsettlementhere.Wehaveappealedtotheirnativejusticeandmagnanimity,andwehaveconjuredthembythetiesofour"
++ "commonkindredtodisavowtheseusurpations,which,wouldinevitablyinterruptourconnectionsandcorrespondence.We"
++ "must,therefore,acquiesceinthenecessity,whichdenouncesourseparation,andholdthem,asweholdtherestofmankind,"
++ "enemiesinwar,inpeacefriends.\n"
++ "We,therefore,therepresentativesoftheUnitedStatesofAmerica,inGeneralCongress,assembled,appealingtothe"
++ "SupremeJudgeoftheworldfortherectitudeofourintentions,do,inthename,andbytheauthorityofthegoodpeopleof"
++ "thesecolonies,solemnlypublishanddeclare,thattheseunitedcoloniesare,andofrightoughttobefreeandindependent"
++ "states;thattheyareabsolvedfromallallegiancetotheBritishCrown,andthatallpoliticalconnectionbetweenthemandthe"
++ "stateofGreatBritain,isandoughttobetotallydissolved;andthatasfreeandindependentstates,theyhavefullpowerto"
++ "leveywar,concludepeace,contractalliances,establishcommerce,andtodoallotheractsandthingswhichindependent"
++ "statesmayofrightdo.Andforthesupportofthisdeclaration,withafirmrelianceontheprotectionofDivineProvidence,we"
++ "mutuallypledgetoeachotherourlives,ourfortunesandoursacredhonor.\n";
+
+    public static void main(String[] args) throws Exception {
+        new SimpleBITest().run(args);
+    }
+    
+    protected boolean validate() {
+        // TODO: remove when english.dict gets fixed
+        return false;
+    }
+
+    private BreakIterator createTestIterator(int kind) {
+        final String bname = "com.ibm.icu.dev.test.rbbi.BreakIteratorRules_en_US_TEST";
+
+        BreakIterator iter = null;
+
+        ListResourceBundle bundle = null;
+        try {
+            Class cls = Class.forName(bname);
+            bundle = (ListResourceBundle)cls.newInstance();
+        }
+        catch (Exception e) {
+            ///CLOVER:OFF
+            errln("could not create bundle: " + bname + "exception: " + e.getMessage());
+            ///CLOVER:ON
+            return null;
+        }
+        
+        final String[] kindNames = {
+            "Character", "Word", "Line", "Sentence"
+        };
+        String rulesName = kindNames[kind] + "BreakRules";
+        String dictionaryName = kindNames[kind] + "BreakDictionary";
+        
+        String[] classNames = bundle.getStringArray("BreakIteratorClasses");
+        String rules = bundle.getString(rulesName);
+        if (classNames[kind].equals("RuleBasedBreakIterator")) {
+            iter = new RuleBasedBreakIterator(rules);
+        }
+        else if (classNames[kind].equals("DictionaryBasedBreakIterator")) {
+            try {
+                String dictionaryPath = bundle.getString(dictionaryName);
+                InputStream dictionary = bundle.getClass().getResourceAsStream(dictionaryPath);
+                System.out.println("looking for " + dictionaryPath + " from " + bundle.getClass() + " returned " + dictionary);
+                iter = new DictionaryBasedBreakIterator(rules, dictionary);
+            }
+            catch(IOException e) {
+                e.printStackTrace();
+                errln(e.getMessage());
+                System.out.println(e); // debug
+            }
+            catch(MissingResourceException e) {
+                errln(e.getMessage());
+                System.out.println(e); // debug
+            }
+        }
+        if (iter == null) {
+            errln("could not create iterator");
+        }
+        
+        return iter;
+    }
+    
+    public void testWordBreak() throws Exception {
+        BreakIterator wordBreak = createTestIterator(BreakIterator.KIND_WORD);
+        int breaks = doTest(wordBreak);
+        logln(String.valueOf(breaks));
+    }
+
+    public void testLineBreak() throws Exception {
+        BreakIterator lineBreak = createTestIterator(BreakIterator.KIND_LINE);
+        int breaks = doTest(lineBreak);
+        logln(String.valueOf(breaks));
+    }
+
+    public void testSentenceBreak() throws Exception {
+        BreakIterator sentenceBreak = createTestIterator(BreakIterator.KIND_SENTENCE);
+        int breaks = doTest(sentenceBreak);
+        logln(String.valueOf(breaks));
+    }
+
+    private int doTest(BreakIterator bi) {
+        // forward
+        bi.setText(testText);
+        int p = bi.first();
+        int lastP = p;
+        String fragment;
+        int breaks = 0;
+        logln("Forward...");
+        while (p != BreakIterator.DONE) {
+            p = bi.next();
+            if (p != BreakIterator.DONE) {
+                fragment = testText.substring(lastP, p);
+            } else {
+                fragment = testText.substring(lastP);
+            }
+            debugPrintln(": >" + fragment + "<");
+            ++breaks;
+            lastP = p;
+        }
+        return breaks;
+    }
+
+    private void debugPrintln(String s) {
+        final String zeros = "0000";
+        String temp;
+        StringBuffer out = new StringBuffer();
+        for (int i = 0; i < s.length(); i++) {
+            char c = s.charAt(i);
+            if (c >= ' ' && c < '\u007f')
+                out.append(c);
+            else {
+                out.append("\\u");
+                temp = Integer.toHexString((int)c);
+                out.append(zeros.substring(0, 4 - temp.length()));
+                out.append(temp);
+            }
+        }
+        logln(out.toString());
+    }
+
+    private void debugPrintln2(String s) {
+        StringBuffer out = new StringBuffer();
+        for (int i = 0; i < s.length(); i++) {
+            char c = s.charAt(i);
+            if (c >= '\u0100')
+                out.append("<" + ((int)c - 0x100) + ">");
+            else
+                out.append(c);
+        }
+        logln(out.toString());
+    }
+}
+
diff --git a/src/com/ibm/icu/dev/test/rbbi/TestAll.java b/src/com/ibm/icu/dev/test/rbbi/TestAll.java
new file mode 100644
index 0000000..c767550
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/rbbi/TestAll.java
@@ -0,0 +1,36 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.test.rbbi;
+
+import com.ibm.icu.dev.test.TestFmwk.TestGroup;
+
+/**
+ * Top level test used to run all other tests as a batch.
+ */
+public class TestAll extends TestGroup {
+
+    public static void main(String[] args) {
+        new TestAll().run(args);
+    }
+
+    public TestAll() {
+        super(
+              new String[] {
+                  // Disabled for now; see comment in SimpleBITest for details
+                  // "SimpleBITest",
+                  "BreakIteratorTest",
+                  "RBBITest",
+                  "RBBIAPITest",
+                  "BreakIteratorRegTest",
+                  "RBBITestExtended",
+                  "RBBITestMonkey"
+              },
+              " BreakIterator and RuleBasedBreakIterator Tests");
+    }
+
+    public static final String CLASS_TARGET_NAME = "RBBI";
+}
diff --git a/src/com/ibm/icu/dev/test/rbbi/package.html b/src/com/ibm/icu/dev/test/rbbi/package.html
new file mode 100755
index 0000000..62468ad
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/rbbi/package.html
@@ -0,0 +1,12 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html>
+<head>
+<!--  Copyright (C) 2000-2004, International Business Machines Corporation and
+  others. All Rights Reserved.
+
+-->
+</head>
+<body bgcolor="white">
+Tests for the RuleBasedBreakIterator.
+</body>
+</html>
\ No newline at end of file
diff --git a/src/com/ibm/icu/dev/test/rbbi/rbbitst.txt b/src/com/ibm/icu/dev/test/rbbi/rbbitst.txt
new file mode 100644
index 0000000..26f83b8
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/rbbi/rbbitst.txt
@@ -0,0 +1,500 @@
+﻿# Copyright (c) 2001-2004 International Business Machines
+# Corporation and others. All Rights Reserved.
+#
+# RBBI Test Data
+#
+#   File:  rbbitst.txt
+#
+#     The format of this file looks vaguely like some kind of xml-ish markup,
+#     but it is NOT.  The syntax is this..
+#
+#   <word>    any following data is for word break testing
+#   <sent>    any following data is for sentence break testing
+#   <line>    any following data is for line break testing
+#   <char>    any following data is for char break testing
+#   <data> ... </data>   test data.  May span multiple lines.
+#      <>        Break position, status == 0
+#      •         Break position, status == 0   (Bullet, \u2022) 
+#      <nnn>     Break position, status == nnn
+#      \         Escape.  Normal ICU unescape applied.  
+#      \ at end of line  ->  Line Continuation.  Remove both the backslash and the new line
+#   
+#
+
+
+#   Temp debugging tests
+<line>
+<data><>\U0001d7f9\u003b\u2034<></data>
+
+########################################################################################
+#
+#
+#       G r a p h e m e    C l u s t e r     T e s t s
+#
+#
+##########################################################################################
+<char>
+
+<data>•a•b•c• •,•\u0666•</data>                 # Quick Test
+<data>•\r•\r•\r\n•\r\n•\n•\r•</data>            # don't break CR/LF
+
+# Always break after controls.  Combining chars don't combine with them.
+<data>•\u0003•\N{COMBINING GRAVE ACCENT}•\r•\N{COMBINING GRAVE ACCENT}•</data>
+<data>•\u0085•\N{COMBINING MACRON}•A\N{COMBINING MACRON}•</data>
+
+# Surrogates
+<data>•\U00011000•\U00010020•\U00010000\N{COMBINING MACRON}•</data>
+<data>•\ud800\udc00•\udbff\udfff•a•</data>
+
+# Extend (Combining chars) combine.
+<data>•A\N{COMBINING GRAVE ACCENT}•B•</data>
+<data>•\N{GREEK SMALL LETTER MU}\N{COMBINING LOW LINE}\N{COMBINING HORN}•</data>
+<data>•a\u0301•b\u0302•c\u0303•d\u0304•e\u0305•f\u0306•g\u0307•h\u0308•i\u0309•</data>
+
+<data>•a\u0301\u0302\u0303\u0304\u0301\u0302\u0303\u0304\u0301\u0302\u0303\u0304\u0301\u0302\u0303\u0304\u0301\u0302\u0303\u0304\u0301\u0302\u0303\u0304\u0301\u0302\u0303\u0304\u0301\u0302\u0303\u0304\u0301\u0302\u0303\u0304\u0301\u0302\u0303\u0304\u0301\u0302\u0303\u0304\u0301\u0302\u0303\u0304\u0301\u0302\u0303\u0304\u0301\u0302\u0303\u0304\u0301\u0302\u0303\u0304\u0301\u0302\u0303\u0304\u0301\u0302\u0303\u0304\u0301\u0302\u0303\u0304\u0301\u0302\u0303\u0304\u0301\u0302\u0303\u0304\u0301\u0302\u0303\u0304\u0301\u0302\u0303\u0304\u0301\u0302\u0303\u0304\u0301\u0302\u0303\u0304\u0301\u0302\u0303\u0304\u0301\u0302\u0303\u0304\u0301\u0302\u0303\u0304\u0301\u0302\u0303\u0304\u0301\u0302\u0303\u0304\u0301\u0302\u0303\u0304\u0301\u0302\u0303\u0304•</data>
+
+# Don't break Hangul Syllables
+#   L : \u1100
+#   V : \u1161
+#   T : \u11A8
+#  LV : \uAC00
+# LVT : \uAC01
+
+<data>•\u1100\u1161\u11a8•\u1100\u1161\u11a8•</data>  #LVT
+<data>•\u1100\u1161•\u1100\u1161•</data> 
+<data>•\u1100\u1161\u11a8•\u1161•\u1100•\u11a8•\u1161\u1161\u1161\u11a8•</data>
+<data>•\u1100\u1100\uac01•\u1100\uac01•\u1100\uac01\u0301•\uac01•</data>
+<data>•\u1100\u0301•\u1161\u11a8\u0301•\u11a8•</data>
+
+
+
+# Hindi combining chars.  (An old test)
+<data>•भ••ा•\u0930•\u0924• •\u0938\u0941\u0902•\u0926•\u0930•
+•\u0939•\u094c•\u0964•</data>
+<data>•\u0916\u0947•\u0938\u0941\u0902•\u0926•\u0930•\u0939•\u094c•\u0964•</data>
+
+
+#  Bug 1587.  Tamil.  \u0baa\u0bc1 should be two separate characters, even though
+#                     Hyangmi would perfer that it be one.
+<data>•\u0baa•\u0bc1•\u0baa•\u0bc1•</data>
+
+#   Regression test for bug 1889
+<data>•\u0f40\u0f7d•\u0000•\u0f7e•</data>
+
+
+#     0xffff is a legal character, and should not stop the break iterator early.
+#     (Requires special casing in implementation, which is why it gets a test.)
+<data>•\uffff•\uffff• •a•</data>
+
+
+########################################################################################
+#
+#
+#       W o r d    B o u n d a r y      T e s t s
+#
+#
+##########################################################################################
+
+<word>
+#
+# Quick sanity test
+#
+<data>•hello<200> •there<200> •goodbye<200></data>
+<data>•hello<200> •12345<100> •,•</data>
+
+
+#
+# Test data originally in RBBIAPITest::TestFirstNextFollowing() and TestLastPreviousPreceding()
+#
+
+<word>
+<data>•This<200> •is<200> •a<200> •word<200> •break<200>.• • •Isn't<200> •it<200>?• •2.25<100></data>
+
+
+
+#
+# Data originally from TestDefaultRuleBasedWordIteration()
+#
+<data>•Write<200> •wordrules<200>.• •123.456<100> •alpha\u00adbeta\u00adgamma<200> •\u092f\u0939<200> •</data>
+<data>• •\u0939\u093f\u0928\u094d\u200d\u0926\u0940<200> •\u0939\u0948<200> •\u0905\u093e\u092a<200> •\u0938\u093f\u0916\u094b\u0917\u0947<200>?•</data>
+
+#Hindi Numbers
+<data>• •\u0968\u0966.\u0969\u096f<100> •\u0967\u0966\u0966.\u0966\u0966<100> •\N{RUPEE SIGN}•\u0967,\u0967\u0966\u0966.\u0966\u0966<100> • •\u0905\u092e\u091c<200>\n•</data>
+
+<data>•\u0938\u094d\u200d\u0935\u0924\u0902deadTA\u0930<200>\r•It's<200> •$•30.10<100> •12,34<100>¢•£•¤•¥•alpha\u05f3beta\u05f4gamma<200> •</data>
+
+<data>•Badges<200>?• •BADGES<200>!•?•!• •We<200> •don't<200> •need<200> •no<200> •STINKING<200> •BADGES<200>!•!•1000,233,456.000<100> •1,23.322<100>%•123.1222<100>$•123,000.20<100> •179.01<100>%•X<200> •Now<200>\r•is<200>\n•the<200>\r\n•time<200> •</data>
+
+#Hangul
+<data>•\uc5f0\ud569<200> •\uc7a5\ub85c\uad50\ud68c<200> •\u1109\u1161\u11bc\u1112\u1161\u11bc<200> •\u1112\u1161\u11ab\u110b\u1175\u11ab<200> •Hello<200>,• •how<200> •are<200> •you<200> •</data>
+
+
+# Words containing non-BMP letters
+<data>•abc\U00010300<200> •abc\N{DESERET SMALL LETTER ENG}<200> •abc\N{MATHEMATICAL BOLD SMALL Z}<200> •abc\N{MATHEMATICAL SANS-SERIF BOLD ITALIC PI SYMBOL}<200> •</data>
+
+# Unassigned code points
+<data>•abc<200>\U0001D800•def<200>\U0001D3FF• •</data>
+
+# Hiragana & Katakana stay together, but separates from each other and Latin.
+<data>•abc<200>\N{HIRAGANA LETTER SMALL A}<300>\N{HIRAGANA LETTER VU}\N{COMBINING ACUTE ACCENT}<300>\N{HIRAGANA ITERATION MARK}<300>\N{KATAKANA LETTER SMALL A}\N{KATAKANA ITERATION MARK}\N{HALFWIDTH KATAKANA LETTER WO}\N{HALFWIDTH KATAKANA LETTER N}<300>def<200>#•</data>
+
+# Words with interior formatting characters
+<data>•def\N{COMBINING ACUTE ACCENT}\N{SYRIAC ABBREVIATION MARK}ghi<200> •</data>
+    
+# to test for bug #4097779
+<data>•aa\N{COMBINING GRAVE ACCENT}a<200> •</data>
+
+
+#      to test for bug #4098467
+#      What follows is a string of Korean characters (I found it in the Yellow Pages
+#      ad for the Korean Presbyterian Church of San Francisco, and I hope I transcribed
+#      it correctly), first as precomposed syllables, and then as conjoining jamo.
+#      Both sequences should be semantically identical and break the same way.
+#      precomposed syllables...
+<data>•\uc0c1\ud56d<200> •\ud55c\uc778<200> •\uc5f0\ud569<200> •\uc7a5\ub85c\uad50\ud68c<200> •\u1109\u1161\u11bc\u1112\u1161\u11bc<200> •\u1112\u1161\u11ab\u110b\u1175\u11ab<200> •\u110b\u1167\u11ab\u1112\u1161\u11b8<200> •\u110c\u1161\u11bc\u1105\u1169\u1100\u116d\u1112\u116c<200> •</data>
+
+<data>•abc<200>\u4e01<400>\u4e02<400>\u3005<200>\u4e03<400>\u4e03<400>abc<200> •</data>
+
+<data>•\u06c9\uc799<200>\ufffa•</data>
+
+#      
+#      Try some words from other scripts.
+#     
+
+#       Try some words from other scripts.
+#          Greek, Cyrillic, Hebrew, Arabic, Arabic, Georgian, Latin
+#      
+<data>•ΑΒΓ<200> •БВГ<200> •אבג֓<200> •ابت<200> •١٢٣<100> •\u10A0\u10A1\u10A2<200> •ABC<200> •</data>
+
+<data>•\u0301•A<200></data>
+
+
+#
+#  Hindi word break tests, imported from the old RBBI tests.
+#    An historical note:  a much earlier version of ICU break iterators had a number
+#    of special case rules for Hindi, which were tested by an earlier version of
+#    this test data.  The current RBBI rules do not special case Hindi in 
+#    any way, making this test data much less signfificant.
+#
+<data>•\u0917\u092a\u00ad\u0936\u092a<200>!•\u092f\u0939<200> •\u0939\u093f\u0928\u094d\u200d\u0926\u0940<200> •\u0939\u0948<200> •\u0905\u093e\u092a<200> •\u0938\u093f\u0916\u094b\u0917\u0947<200>?•\n•:•\u092a\u094d\u0930\u093e\u092f\u0903<200>
+•\u0935\u0930\u094d\u0937\u093e<200>\r\n•\u092a\u094d\u0930\u0915\u093e\u0936<200>,•\u0924\u0941\u092e\u093e\u0930\u094b<200> •\u092e\u093f\u0924\u094d\u0930<200> •\u0915\u093e<200> •\u092a\u0924\u094d\u0930<200> •\u092a\u095d\u094b<200> •\u0938\u094d\u0924\u094d\u0930\u093f<200>.• •\u0968\u0966.\u0969\u096f<100> •\u0967\u0966\u0966.\u0966\u0966<100>\u20a8•\u0967,\u0967\u0966\u0966.\u0966\u0966<100> •\u0905\u092e\u091c<200>\n•\u0938\u094d\u200d\u0935\u0924\u0902\u0924\u094d\u0930<200>\r•</data>
+
+#
+#  Failures from monkey tests
+#
+<data>•\u8527<400>\u02ba<200>\u0027\u0d42•\u00b7•\u09ea<100></data>
+
+########################################################################################
+#
+#
+#       S e n t e n c e     B o u n d a r y      T e s t s
+#
+#
+##########################################################################################
+
+
+#
+# Test data originally from RBBI RBBITest::TestDefaultRuleBasedSentenceIteration()
+#
+<sent>
+
+
+<sent>
+<data>•This\n<100></data>
+<data>•Hello! •how are you? •I'am fine. •Thankyou. •How are you \
+doing? •This\n<100> costs $20,00,000. •</data>
+
+
+# Sentence ending in a quote.
+<data>•"Sentence ending with a quote." •Bye.•</data>
+
+# Sentence, and test data, ending without a period or other terminator.
+<data>•Here is a random sentence, no ending period<100></data>
+
+
+<data>•  (This is it).  •Testing the sentence iterator. •\
+"This isn't it." •Hi! \
+•This is a simple sample sentence. •(This is it.) •This is a simple sample sentence. •\
+"This isn't it." •\
+Hi! •This is a simple sample sentence. •It does not have to make any sense as you can see. •Nel mezzo del cammin di nostra vita, mi ritrovai in una selva oscura. •Che la dritta via aveo smarrita. •He said, that I said, that you said!•! •Don't rock the boat.\u2029•Because I am the daddy, that is why. 
+•Not on my time (el timo.)•! •</data>
+
+<data>•Hello.  •So what!•!\u2029•"But now," he said, \
+"I know!" •\
+Harris thumbed down several, including "Away We Go" (which became the huge success Oklahoma!)•. •One species, B. anthracis, is highly virulent.
+•Wolf said about Sounder:\
+"Beautifully thought-out and directed." •\
+Have you ever said, "This is where\tI shall live"? •He answered, \
+"You may not!" •Another popular saying is: "How do you do?"•. \n•\
+Yet another popular saying is: \
+'I'm fine thanks.' •\
+What is the proper use of the abbreviation pp.•? •Yes, I am definatelly 12" tall!•!\
+•Now\r<100>is\n<100>the\r\n<100>time\n<100>\r<100>for\r<100>\r<100></data>
+
+<data>•No breaks when . is surrounded by UPPER.Case letters.  •</data>
+<data>•No breaks when . is followed by Numeric .4 a.4 C.4 3.1 .•</data>
+<data>•No breaks when . is followed by a lower, with possible intervening punct .,a .$a .)a. •</data>
+
+#
+#  Sentence Breaks: no break at the boundary between CJK and other letters
+#
+<data>•\u5487\u67ff\ue591\u5017\u61b3\u60a1\u9510\u8165:"JAVA\u821c\u8165\u7fc8\u51ce\u306d,\u2494\u56d8\u4ec0\u60b1\u8560\u51ba\u611d\u57b6\u2510\u5d46".\u2029•\u5487\u67ff\ue591\u5017\u61b3\u60a1\u9510\u8165\u9de8\u97e4JAVA\u821c\u8165\u7fc8\u51ce\u306d\ue30b\u2494\u56d8\u4ec0\u60b1\u8560\u51ba\u611d\u57b6\u2510\u5d46\u97e5\u7751\u3002•\u5487\u67ff\ue591\u5017\u61b3\u60a1\u9510\u8165\u9de8\u97e4\u6470\u8790JAVA\u821c\u8165\u7fc8\u51ce\u306d\ue30b\u2494\u56d8\u4ec0\u60b1\u8560\u51ba\u611d\u57b6\u2510\u5d46\u97e5\u7751\u2048•He said, "I can go there."\u2029•Bye, now.•</data>
+
+#
+#      Treat fullwidth variants of .!? the same as their
+#      normal counterparts
+#
+<data>•I know I'm right\uff0e •Right\uff1f •Right\uff01 •</data>"
+
+
+#
+#       Don't break sentences at boundary between CJK and digits
+#
+<data>•\u5487\u67ff\ue591\u5017\u61b3\u60a1\u9510\u8165\u9de8\u97e48888\u821c\u8165\u7fc8\u51ce\u306d\ue30b\u2494\u56d8\u4ec0\u60b1\u8560\u51ba\u611d\u57b6\u2510\u5d46\u97e5\u7751\u3002•Bye, now<100></data>"
+
+#
+#      Breaks around '(' following a sentence TERM.  (Rule 9)
+#
+<data>•How do you do?(•Fine). •</data>
+<data>•How do you do? •(Fine). •</data>
+<data>•How do you do?(•fine). •</data>
+<data>•How do you do? •(fine). •</data>
+
+#
+<data>•Hello.123<100></data>    # Rule 6    
+<data>•Hello?•123<100></data>  
+  
+<data>•HELLO.Bye<100></data>    # Rule 7    
+<data>•HELLO?•Bye<100></data>    
+
+<data>•Hello.goodbye<100></data>  #Rule 8
+<data>•Hello. •Goodbye<100></data>
+<data>•Hello. goodbye<100></data>
+
+
+
+#
+#        test for bug #4158381: No breaks when there are no terminators around
+#
+<data>•\<P>Provides a set of &quot;lightweight&quot; (all-java\<FONT SIZE="-2">\<SUP>TM\</SUP>\</FONT> language) components that, to the maximum degree possible, work the same on all platforms.  •</data>
+<data>•Another test.\u2029•</data>
+      
+#        test for bug #4143071: Make sure sentences that end with digits
+#        work right
+#
+<data>•Today is the 27th of May, 1998.  •</data>
+<data>•Tomorrow with be 28 May 1998.  •</data>
+<data>•The day after will be the 30th.\u2029•</data>
+      
+#        test for bug #4152416: Make sure sentences ending with a capital
+#        letter are treated correctly
+#
+<data>•The type of all primitive \<code>boolean\</code> values accessed in the target VM.  •Calls to xxx will return an implementor of this interface.  \u2029•</data>
+      
+#        test for bug #4152117: Make sure sentence breaking is handling
+#        punctuation correctly [COULD NOT REPRODUCE THIS BUG, BUT TEST IS
+#        HERE TO MAKE SURE IT DOESN'T CROP UP]
+#
+<data>•Constructs a randomly generated BigInteger, uniformly distributed over the range \<tt>0\</tt> to \<tt>(2\<sup>numBits\</sup> - 1\)\</tt>, inclusive.  •The uniformity of the distribution assumes that a fair source of random bits is provided in \<tt>rnd\</tt>.  •Note that this constructor always constructs a non-negative biginteger.  \n•Ahh abc.  
+•</data>
+
+#        sentence breaks for hindi which used Devanagari script
+#        make sure there is sentence break after ?,danda(hindi phrase separator),
+#        fullstop followed by space.  (VERY old test)
+#       
+<data>•\u0928\u092e\u0938\u094d\u200d\u0924\u0947 \u0930\u092e\u0947\u0936\u0905\u093e\u092a\u0915\u0948\u0938\u0947 \u0939\u0948?•\u092e\u0948 \u0905\u091a\u094d\u200d \u091b\u093e \u0939\u0942\u0901\u0964 •\u0905\u093e\u092a\r\n<100>\
+\u0915\u0948\u0938\u0947 \u0939\u0948?•\u0935\u0939 \u0915\u094d\u200d\u092f\u093e\n\
+<100>\u0939\u0948?•\u092f\u0939 \u0905\u093e\u092e \u0939\u0948. •\u092f\u0939 means "this". •"\u092a\u095d\u093e\u0908" meaning "education" or "studies". •\u0905\u093e\u091c(\u0938\u094d\u200d\u0935\u0924\u0902\u0924\u094d\u0930 \u0926\u093f\u0935\u093e\u0938) \u0939\u0948\u0964 •Let's end here. •</data>
+
+#         Regression test for bug #1984, Sentence break in Arabic text.
+  
+<data>\
+•\u0623\u0633\u0627\u0633\u064b\u0627\u060c\u0020\u062a\u062a\u0639\u0627"\u0645\u0644\u0020\u0627\u0644\u062d\u0648\u0627\u0633\u064a\u0628\u0020"\u0641\u0642\u0637\u0020\u0645\u0639\u0020\u0627\u0644\u0623\u0631\u0642\u0627\u0645\u060c\u0648\u062a\u0642\u0648\u0645\u0020\u0628\u062a\u062e\u0632\u064a\u0646\u0020\u0627\u0644\u0623\u062d\u0631\u0641\u0020\u0648\u0627\u0644\u0645\u062d\u0627\u0631\u0641\u0020\u0627\u0644\u0623\u062e\u0631\u0649\u0020\u0628\u0639\u062f\u0020\u0623\u0646\u062a\u064f\u0639\u0637\u064a\u0020\u0631\u0642\u0645\u0627\u0020\u0645\u0639\u064a\u0646\u0627\u0020\u0644\u0643\u0644\u0020\u0648\u0627\u062d\u062f\u0020\u0645\u0646\u0647\u0627\u002e\u0020•\u0648\u0642\u0628\u0644\u0020\u0627\u062e\u062a\u0631\u0627\u0639\u0022\u064a\u0648\u0646\u0650\u0643\u0648\u062f\u0022\u060c\u0020\u0643\u0627\u0646\u0020\u0647\u0646\u0627\u0643\u0020\u0645\u0626\u0627\u062a\u0020\u0627\u0644\u0623\u0646\u0638\u0645\u0629\u0020\u0644\u0644\u062a\u0634\u0641\u064a\u0631\u0648\u062a\u062e\u0635\u064a\u0635\u0020\u0647\u0630\u0647\u0020\u0627\u0644\u0623\u0631\u0642\u0627\u0645\u0020\u0644\u0644\u0645\u062d\u0627\u0631\u0641\u060c\u0020\u0648\u0644\u0645\u0020\u064a\u0648\u062c\u062f\u0020\u0646\u0638\u0627\u0645\u062a\u0634\u0641\u064a\u0020\u0639\u0644\u0649\u0020\u062c\u0645\u064a\u0639\u0020\u0627\u0644\u0645\u062d\u0627\u0631\u0641\u0020\u0627\u0644\u0636\u0631\u0648\u0631\u064a\u0629.  •</data>"
+
+#         Try a few more of the less common sentence endings.
+<data>•Hello, world\u3002 •Hello, world\u1803 •Hello, world\u2048 •Hello, world\u203c •Let's end here. •</data>
+
+
+
+
+################################################################
+#
+#
+#        L I N E     B R E A K
+#
+#
+################################################################
+
+<line>
+#
+# Test Character for each of the line break classes.
+#
+# 00A1;AI # INVERTED EXCLAMATION MARK  ¡
+# 0041;AL # LATIN CAPITAL LETTER A
+# 0009;BA # <control>
+# 00B4;BB # ACUTE ACCENT
+# 000C;BK # <control>
+# 2014;B2 # EM DASH
+# FFFC;CB # OBJECT REPLACEMENT CHARACTER
+# 0029;CL # RIGHT PARENTHESIS
+# 0301;CM # COMBINING ACUTE ACCENT
+# 0021;EX # EXCLAMATION MARK
+# 00A0;GL # NO-BREAK SPACE
+# 002D;HY # HYPHEN-MINUS
+# 4E00;ID # <CJK Ideograph, First>
+# 2024;IN # ONE DOT LEADER
+# 002C;IS # COMMA
+# 000A;LF # <control>
+# 0E5A;NS # THAI CHARACTER ANGKHANKHU
+# 0032;NU # DIGIT TWO
+# 0028;OP # LEFT PARENTHESIS
+# 0025;PO # PERCENT SIGN
+# 0024;PR # DOLLAR SIGN
+# 0022;QU # QUOTATION MARK
+# 0E01;SA # THAI CHARACTER KO KAI
+# DB7F;SG # Surrogate
+# 0020;SP # SPACE
+# 002F;SY # SOLIDUS /
+# F8FF;XX # Private Use
+# 200B;ZW # ZERO WIDTH SPACE
+
+
+# 2b  Always break at end of text
+
+<data>•  •\u00A1•</data>
+<data>•  •\u0041•</data>
+<data>•  •\u0009•</data>
+<data>•  •\u00B4•</data>
+<data>•    \u000C<100></data>    # LB3C  × BK
+<data>•  •\u2014•</data>
+<data>•  •\uFFFC•</data>
+<data>•   \u0029•</data>    # LB 8   × CL
+# <data>• • \u0301•</data>    # LB 7a   Treat SP CM* as if it were ID  #TODO:  SP CM
+<data>•   \u0021•</data>    # LB 8   × EX
+#<data>•   \u00A0•</data>    # LB 11b   × GL   TODO:  fix.
+<data>•  •\u002D•</data>
+<data>•  •\u4E00•</data>
+<data>•  •\u2024•</data>
+<data>•   \u002C•</data>    # LB 8   × IS
+<data>•   \u000A<100></data>    # LB3C   × ( BK | CR | LF | NL )
+<data>•  •\u0E5A•</data>
+<data>•  •\u0032•</data>
+<data>•  •\u0028•</data>
+<data>•  •\u0025•</data>
+<data>•  •\u0024•</data>
+<data>•  •\u0022•</data>
+<data>•  •\u0E01•</data>
+<data>•  •\uDB7F•</data>
+<data>•   \u0020•</data>     # LB4 - don't break before space.
+<data>•   \u002F•</data>     # LB 8  × SY
+<data>•  •\uF8FF•</data>
+<data>•   \u200B•</data>     # LB4 - don't break before ZA
+
+
+# 3a  Always break after hard line breaks.
+# 3c  Never break before hard line breaks.
+
+<data>•  •\u00A1\u2028<100>\u00A1•</data>
+<data>•  •\u0041\u2028<100>\u0041•</data>
+<data>•  •\u0009\u2028<100>\u0009•</data>
+<data>•  •\u00B4\u2028<100>\u00B4•</data>
+<data>•   \u000C<100>\u2028<100>\u000C<100></data>
+<data>•  •\u2014\u2028<100>\u2014•</data>
+<data>•  •\uFFFC\u2028<100>\uFFFC•</data>
+<data>•   \u0029\u2028<100>\u0029•</data>
+#<data>•   \u0301\u2028<100>\u0301•</data>    # TODO:  fix.
+<data>•   \u0021\u2028<100>\u0021•</data>
+#<data>•   \u00A0\u2028<100>\u00A0•</data>    # TODO:  fix
+<data>•  •\u002D\u2028<100>\u002D•</data>
+<data>•  •\u4E00\u2028<100>\u4E00•</data>
+<data>•  •\u2024\u2028<100>\u2024•</data>
+<data>•   \u002C\u2028<100>\u002C•</data>
+<data>•   \u000A<100>\u2028<100>\u000A<100></data>
+<data>•  •\u0E5A\u2028<100>\u0E5A•</data>
+<data>•  •\u0032\u2028<100>\u0032•</data>
+<data>•  •\u0028\u2028<100>\u0028•</data>
+<data>•  •\u0025\u2028<100>\u0025•</data>
+<data>•  •\u0024\u2028<100>\u0024•</data>
+<data>•  •\u0022\u2028<100>\u0022•</data>
+<data>•  •\u0E01\u2028<100>\u0E01•</data>
+<data>•  •\uDB7F\u2028<100>\uDB7F•</data>
+<data>•   \u0020\u2028<100>\u0020•</data>
+<data>•   \u002F\u2028<100>\u002F•</data>
+<data>•  •\uF8FF\u2028<100>\uF8FF•</data>
+<data>•   \u200B\u2028<100>\u200B•</data>
+
+
+#
+#  Old Line Break Test data.  Orginally located in RBBITest::TestDefaultRuleBasedLineIteration()
+#
+
+<line>
+
+<data>•Multi-•Level •example •of •a •semi-•idiotic •non-•sensical •(non-•important) •sentence. 
+<100>Hi  •Hello •How\n<100>are\r<100>you\u2028<100>fine.\t•good.  •Now\r<100>is\n<100>the\r\n<100>time\n<100>\r<100>for\r<100>\r<100>all•</data>
+
+<line>
+<data>•Hello! •how\r\n<100> •(are)\r<100> •you? •I'am •fine- •Thankyou. •foo\u00a0bar 
+<100>How, •are, •you? •This, •costs •$20,00,000.•</data>
+
+#     test for bug #4068133
+#
+<data>•\u96f6•\u4e00\u3002•\u4e8c\u3001•\u4e09\u3002\u3001•\u56db\u3001\u3002\u3001•\u4e94,•\u516d.•\u4e03.\u3001,\u3002•\u516b•</data>
+
+#     to test for bug #4086052
+<data>•foo\u00a0bar•</data>
+
+#     to test for bug #4097920
+<data>•dog,cat,mouse •(one)•(two)\n<100></data>
+
+#     to test for bug #4035266
+<data>•The •balance •is •$-23,456.78, •not •-•$32,456.78!\n<100></data>
+
+
+#      to test for bug #4098467
+#      What follows is a string of Korean characters (I found it in the Yellow Pages
+#      ad for the Korean Presbyterian Church of San Francisco, and I hope I transcribed
+#      it correctly), first as precomposed syllables, and then as conjoining jamo.
+#      Both sequences should be semantically identical and break the same way.
+#      precomposed syllables...  (I == Rich Gillam?)
+#
+<data>•\uc0c1•\ud56d •\ud55c•\uc778 •\uc5f0•\ud569 •\uc7a5•\ub85c•\uad50•\ud68c•</data>
+
+#      conjoining jamo...
+#      TODO:  rules update needed
+#<data>•\u1109\u1161\u11bc•\u1112\u1161\u11bc •\u1112\u1161\u11ab•\u110b\u1175\u11ab #•\u110b\u1167\u11ab•\u1112\u1161\u11b8 •\u110c\u1161\u11bc•\u1105\u1169•\u1100\u116d•\u1112\u116c•</data>
+
+#      to test for bug #4117554: Fullwidth .!? should be treated as postJwrd
+<data>•\u4e01\uff0e•\u4e02\uff01•\u4e03\uff1f•</data>
+
+#      Surrogate line break tests.
+#
+<data>•\u4e01•\ud840\udc01•\u4e02•abc •\ue000 •\udb80\udc01•</data>
+
+#      Regression for bug 836
+<data>•AAA•(AAA •</data> 
+
+#       Try some words from other scripts.
+#          Greek, Cyrillic, Hebrew, Arabic, Arabic, Georgian, Latin
+#      
+<data>•ΑΒΓ •БВГ •אבג֓ •ابت •١٢٣ •\u10A0\u10A1\u10A2 •ABC •</data>
+
+
+########################################################################################
+#
+#
+#       T i t l e   B o u n d a r y      T e s t s
+#
+#
+##########################################################################################
+<title>
+<data>•Here •is •a •short •sample •sentence.  •And •another.•</data>
+<data>•HERE •IS •A •SHORT •SAMPLE •SENTENCE.  •AND •ANOTHER.•</data>
+<data>•  •Start •and •end •with •spaces   •</data>
+<data>•Include 123 456 ^&  •some 54332 •numbers 4445•abc123•abc •ending 1223 •</data>
+
+<data>•Combining\u0301 \u0301•ma\u0306rks  •bye  •</data>
+<data>•123  •Start •with •a •number.•</data>
+
+<data>•'•start •with •a •case-•ignorable •cha'r'a'cter•</data>
+
diff --git a/src/com/ibm/icu/dev/test/sample/ModuleTestSample.java b/src/com/ibm/icu/dev/test/sample/ModuleTestSample.java
new file mode 100644
index 0000000..f0cd47a
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/sample/ModuleTestSample.java
@@ -0,0 +1,159 @@
+/**
+ *******************************************************************************
+ * Copyright (C) 2001-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.test.sample;
+
+import com.ibm.icu.dev.test.ModuleTest;
+import com.ibm.icu.dev.test.TestDataModule;
+import com.ibm.icu.dev.test.TestDataModule.DataMap;
+
+public class ModuleTestSample extends ModuleTest {
+    public static void main(String[] args) throws Exception {
+    new ModuleTestSample().run(args);
+    }
+
+    // standard loop, settings and cases
+    public void Test01() {
+    while (nextSettings()) {
+        logln("--------");
+        logln("String: " + settings.getString("aString"));
+        if (settings.isDefined("anInt")) {
+        logln("Int: " + settings.getInt("anInt"));
+        }
+        logln("Boolean: " + settings.getBoolean("aBoolean"));
+
+        while (nextCase()) {
+        logln("  ----");
+        logln("  StringArray: " + printArray(testcase.getStringArray("aStringArray")));
+        logln("  IntArray: " + printArray(testcase.getIntArray("anIntArray")));
+        logln("  BooleanArray: " + printArray(testcase.getBooleanArray("aBooleanArray")));
+        }
+    }
+    }
+
+    // loop with just cases
+    public void Test02() {
+    while (nextCase()) {
+        logln("----");
+        logln("String: " + testcase.getString("aString"));
+        logln("Int: " + testcase.getInt("anInt"));
+        logln("Boolean: " + testcase.getBoolean("aBoolean"));
+    }
+    }
+
+    // no cases, just uses info for test
+    public void Test03() {
+    DataMap info = testInfo();
+    if (info != null) {
+        logln(info.getString(TestDataModule.DESCRIPTION)); // standard
+        logln(info.getString("Extra")); // test-specific
+    }
+    }
+
+    // no data, ModuleTest should not allow this to execute by default
+    public void Test04() {
+    errln("Test04 should not execute!");
+    }
+
+    // special override of validateMethod allows Test05 
+    // to execute even though it has no data in the module
+    protected boolean validateMethod(String methodName) {
+    return methodName.equals("Test05") ? true : super.validateMethod(methodName);
+    }
+
+    // no data, but override of validateMethod allows it to execute
+    public void Test05() {
+    logln("Test05 executed.");
+    }
+
+    // The test data contains an error in the third case.  When getInt("Data") is
+    // executed the error is logged and iteration stops.
+    public void Test06() {
+    while (nextCase()) {
+        logln("----");
+        logln("isGood: " + testcase.getString("IsGood"));
+        logln("  Data: " + testcase.getInt("Data"));
+    }
+    }
+
+    // The test using the data reports an error, which also automatically stops iteration.
+    public void Test07() {
+    while (nextSettings()) {
+        int value = settings.getInt("Value");
+        while (nextCase()) {
+        int factor = testcase.getInt("Factor");
+        float result = (float)value / factor;
+        if (result != (int)result) {
+            errln("the number '" + factor + "' is not a factor of the number '" + value + "'");
+        } else {
+            logln("'" + factor + "' is a factor of '" + value + "'");
+        }
+        }
+    }
+    }
+
+    // The number of data elements is incorrect
+    public void Test08() {
+    while (nextCase()) {
+        int one = testcase.getInt("One");
+        int two = testcase.getInt("Two");
+        int three = testcase.getInt("Three");
+        logln("got: " + one + ", " + two + ", " + three);
+    }
+    }
+
+    public void Test09() {
+        while (nextCase()) {
+            int radix = testcase.getInt("Radix");
+            int[] pow = testcase.getIntArray("Power");
+            int[] val = testcase.getIntArray("Value");
+            logln("radix: " + radix + " pow: " + printArray(pow) + " val: " + printArray(val));
+            for (int i = 0; i < pow.length; ++i) {
+                if (val[i] != (int)Math.pow(radix, pow[i])) {
+                    errln("radix: " + radix + " to power " + pow[i] + " != " + val[i]);
+                    break;
+                }
+            }
+        }
+    }
+                
+    // utility print functions to display the data from the resource
+    String printArray(String[] a) {
+    StringBuffer buf = new StringBuffer("String[] {");
+    for (int i = 0; i < a.length; ++i) {
+        if (i != 0) {
+        buf.append(",");
+        }
+        buf.append(" " + a[i]);
+    }
+    buf.append(" }");
+    return buf.toString();
+    }
+
+    String printArray(int[] a) {
+    StringBuffer buf = new StringBuffer("int[] {");
+    for (int i = 0; i < a.length; ++i) {
+        if (i != 0) {
+        buf.append(",");
+        }
+        buf.append(" " + a[i]);
+    }
+    buf.append(" }");
+    return buf.toString();
+    }
+
+    String printArray(boolean[] a) {
+    StringBuffer buf = new StringBuffer("boolean[] {");
+    for (int i = 0; i < a.length; ++i) {
+        if (i != 0) {
+        buf.append(",");
+        }
+        buf.append(" " + a[i]);
+    }
+    buf.append(" }");
+    return buf.toString();
+    }
+}
diff --git a/src/com/ibm/icu/dev/test/sample/ModuleTestSampleData.java b/src/com/ibm/icu/dev/test/sample/ModuleTestSampleData.java
new file mode 100644
index 0000000..0ed8ad9
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/sample/ModuleTestSampleData.java
@@ -0,0 +1,170 @@
+/**
+ *******************************************************************************
+ * Copyright (C) 2001-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.test.sample;
+
+import java.util.ListResourceBundle;
+
+/**
+ * This is sample data for ModuleTestSample, which is an illustration
+ * of a subclass of ModuleTest.  This data is in a format which
+ * is understood by ResourceModule, which for simplicity expects
+ * all data, including numeric and boolean data, to be represented
+ * by Strings.
+ */
+public class ModuleTestSampleData extends ListResourceBundle {
+    public Object[][] getContents() {
+    return contents;
+    }
+
+    Object[][] contents = {
+    { "Info", new Object[][] {
+        { "Description", "This is a sample test module that illustrates ModuleTest " +
+          "and uses data formatted for ResourceModule." },
+        { "Headers", new String[] {
+        "aStringArray", "anIntArray", "aBooleanArray"
+        }},
+    }},
+    
+
+    { "TestData", new Object[][] {
+        { "Test01", new Object[][] {
+        { "Info", new Object[][] {
+            { "Description", "A typical test using both settings and cases." },
+            { "Long_Description", "It does not defined its own headers, but instead " +
+              "uses the default headers defined for the module.  " +
+              "There are two sets of settings and three cases." },
+        }},
+        { "Settings", new Object[] {
+            new Object[][]
+            {{ "aString", "this is a string" },
+             { "anInt", "43" },
+             { "aBoolean", "false" }},
+            new Object[][] 
+            {{ "aString", "this is another string" },
+             { "aBoolean", "true" }}
+        }},
+        { "Cases", new Object[] {
+            new Object[] {
+                new String[] { "one", "two", "three" },
+                new String[] { "24", "48", "72" },
+                new String[] { "true", "false", "true" }
+            },
+            new Object[] { 
+                new String[] { "four", "five", "six" },
+                new String[] { "-1", "-5", "-10" },
+                new String[] { "true", "false", "false" }
+            },
+            new Object[] { 
+                new String[] { "bagel", "peanuts", "carrot" },
+                new String[] { "0", "00001", "10101" },
+                new String[] { "false", "false", "False" }
+            },
+        }}
+        }},
+
+        { "Test02", new Object[][] {
+        { "Info", new Object[][] {
+            { "Description", "A typical test that uses cases but not settings." },
+            { "Long_Description", "It defines its own headers." },
+            { "Headers", new String[] {
+            "aString", "anInt", "aBoolean"
+            }},
+        }},
+        { "Cases", new Object[] {
+            new Object[] { "Superstring", "42", "true" },
+            new Object[] { "Underdog", "12", "false" },
+            new Object[] { "ScoobyDoo", "7", "TrUe" }
+        }}
+        }},
+
+        { "Test03", new Object[][] {
+        { "Info", new Object[][] {
+            { "Description", "A typical test that uses just the info, no cases or settings." },
+            { "Extra", "This is some extra information." }
+        }},
+        }},
+
+        // no Test04 data
+        // Test04 should cause an exception to be thrown since ModuleTestSample does not
+        // specify that it is ok for it to have no data.
+
+        // no Test05 data
+        // Test05 should just log this fact, since ModuleTestSample indicates that it is
+        // ok for Test05 to have no data in its override of validateMethod.
+
+        { "Test06", new Object[][] {
+        { "Info", new Object[][] {
+            { "Description", "A test that has bad data." },
+            { "Long_Description", "This illustrates how a data error will automatically " +
+              "terminate the settings and cases loop." },
+            { "Headers", new String[] {
+            "IsGood", "Data",
+            }},
+        }},
+        { "Cases", new Object[] {
+            new Object[] { "Good", "23" },
+            new Object[] { "Good", "-123" },
+            new Object[] { "Bad", "Whoops" },
+            new Object[] { "Not Executed", "35" },
+        }},
+        }},
+
+        { "Test07", new Object[][] {
+        { "Info", new Object[][] {
+            { "Description", "A test that fails with a certain combination of settings and case." },
+            { "Long_Description", "This illustrates how a test error will automatically " +
+              "terminate the settings and cases loop.  Settings data is values, the case " +
+              "data is factors.  The third factor is not a factor of the second value.  " +
+              "The test will log an error, which will automatically stop the loop." },
+            { "Headers", new String[] {
+            "Factor",
+            }},
+        }},
+        { "Settings" , new Object[] {
+            new Object[][] {{ "Value", "210" }},
+            new Object[][] {{ "Value", "420" }},
+            new Object[][] {{ "Value", "42" }},
+            new Object[][] {{ "Value", "Not reached." }}
+        }},
+        { "Cases", new Object[] {
+            new Object[] { "2" },
+            new Object[] { "3" },
+            new Object[] { "5" },
+            new Object[] { "7" },
+        }},
+        }},
+
+        { "Test08", new Object[][] {
+        { "Info", new Object[][] {
+            { "Description", "A test with data missing from a test case." },
+            { "Headers", new String[] {
+            "One", "Two", "Three"
+            }},
+        }},
+        { "Cases", new Object[] {
+            new Object[] { "1", "2", "3" },
+            new Object[] { "4", "5" }, // too short
+            new Object[] { "6", "7", "8" },
+        }},
+        }},
+
+        { "Test09", new Object[][] {
+        { "Info", new Object[][] {
+            { "Description", "A test with data stored as int arrays instead of strings" },
+            { "Headers", new String[] {
+            "Radix", "Power", "Value"
+            }},
+        }},
+        { "Cases", new Object[] {
+            new Object[] { "2", new int[] { 1, 2, 3 }, new int[] { 2, 4, 8 }},
+            new Object[] { "3", new int[] { 3, 4, 5 }, new int[] { 27, 81, 243 }},
+            new Object[] { "2", new int[] { 0, 8, 16, 24 }, new int[] { 1, 256, 65536, 65536 * 256 }},
+        }},
+        }},
+    }},
+    };
+}
diff --git a/src/com/ibm/icu/dev/test/search/SearchTest.java b/src/com/ibm/icu/dev/test/search/SearchTest.java
new file mode 100755
index 0000000..51f32fe
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/search/SearchTest.java
@@ -0,0 +1,1977 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2000-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+/**
+ * Port From:   ICU4C v2.1 : collate/StringSearchTest
+ * Source File: $ICU4CRoot/source/test/intltest/srchtest.cpp
+ **/
+
+package com.ibm.icu.dev.test.search;
+
+import java.util.Locale;
+import java.text.StringCharacterIterator;
+import com.ibm.icu.dev.test.*;
+import com.ibm.icu.text.*;
+
+public class SearchTest extends TestFmwk {
+
+    //inner class
+    static class SearchData {
+        SearchData(String text, String pattern, String coll, int strength, String breaker,
+                   int[] offset, int[] size) {
+            this.text = text;
+            this.pattern = pattern;
+            this.collator = coll;
+            this.strength = strength;
+            this.breaker = breaker;
+            this.offset = offset;
+            this.size = size;
+        }
+        String              text;
+        String              pattern;
+        String              collator;
+        int                 strength;
+        String              breaker;
+        int[]               offset;
+        int[]               size;
+    }
+
+    RuleBasedCollator m_en_us_;
+    RuleBasedCollator m_fr_fr_;
+    RuleBasedCollator m_de_;
+    RuleBasedCollator m_es_;
+    BreakIterator     m_en_wordbreaker_;
+    BreakIterator     m_en_characterbreaker_;
+
+    static SearchData[] BASIC = {
+        new SearchData("xxxxxxxxxxxxxxxxxxxx",          "fisher",       null, Collator.TERTIARY, null, new int[] {-1},            new int[]{0}),
+        new SearchData("silly spring string",           "string",       null, Collator.TERTIARY, null, new int[]{13, -1},         new int[]{6}),
+        new SearchData("silly spring string string",    "string",       null, Collator.TERTIARY, null, new int[]{13, 20, -1},     new int[]{6, 6}),
+        new SearchData("silly string spring string",    "string",       null, Collator.TERTIARY, null, new int[]{6, 20, -1},      new int[]{6, 6}),
+        new SearchData("string spring string",          "string",       null, Collator.TERTIARY, null, new int[]{0, 14, -1},      new int[]{6, 6}),
+        new SearchData("Scott Ganyo",                   "c",            null, Collator.TERTIARY, null, new int[]{1, -1},          new int[]{1}),
+        new SearchData("Scott Ganyo",                   " ",            null, Collator.TERTIARY, null, new int[]{5, -1},          new int[]{1}),
+        new SearchData("\u0300\u0325",                  "\u0300",       null, Collator.TERTIARY, null, new int[]{-1},             new int[]{0}),
+        new SearchData("a\u0300\u0325",                 "\u0300",       null, Collator.TERTIARY, null, new int[]{-1},             new int[]{0}),
+        new SearchData("a\u0300\u0325",                 "\u0300\u0325", null, Collator.TERTIARY, null, new int[]{1, -1},          new int[]{2}),
+        new SearchData("a\u0300b",                      "\u0300",       null, Collator.TERTIARY, null, new int[]{1, -1},          new int[]{1}),
+        new SearchData("\u00c9",                        "e",            null, Collator.PRIMARY,  null, new int[]{0, -1},          new int[]{1}),
+        new SearchData(null,                            null,           null, Collator.TERTIARY, null, new int[]{-1},             new int[]{0})
+    };
+
+    SearchData BREAKITERATOREXACT[] = {
+        new SearchData("foxy fox", "fox", null, Collator.TERTIARY, "characterbreaker", new int[] {0, 5, -1}, new int[] {3, 3}),
+        new SearchData("foxy fox", "fox", null, Collator.TERTIARY, "wordbreaker", new int[] {5, -1}, new int[] {3}),
+        new SearchData("This is a toe T\u00F6ne", "toe", "de", Collator.PRIMARY, "characterbreaker", new int[] {10, 14, -1}, new int[] {3, 2}),
+        new SearchData("This is a toe T\u00F6ne", "toe", "de", Collator.PRIMARY, "wordbreaker", new int[] {10, -1}, new int[] {3}),
+        new SearchData("Channel, another channel, more channels, and one last Channel", "Channel", "es", Collator.TERTIARY,
+             "wordbreaker", new int[] {0, 54, -1}, new int[] {7, 7}),
+        /* jitterbug 1745 */
+        new SearchData("testing that \u00e9 does not match e", "e", null, Collator.TERTIARY,
+            "characterbreaker", new int[] {1, 17, 30, -1}, new int[] {1, 1, 1}),
+        new SearchData("testing that string ab\u00e9cd does not match e", "e", null, Collator.TERTIARY,
+            "characterbreaker", new int[] {1, 28, 41, -1}, new int[] {1, 1, 1}),
+        new SearchData("\u00c9", "e", "fr", Collator.PRIMARY,  "characterbreaker", new int[]{0, -1}, new int[]{1}),
+        new SearchData(null, null, null, Collator.TERTIARY, null, new int[] {-1}, new int[] {0})
+    };
+
+    SearchData BREAKITERATORCANONICAL[] = {
+        new SearchData("foxy fox", "fox", null, Collator.TERTIARY, "characterbreaker", new int[] {0, 5, -1}, new int[] {3, 3}),
+        new SearchData("foxy fox", "fox", null, Collator.TERTIARY, "wordbreaker", new int[] {5, -1}, new int[] {3}),
+        new SearchData("This is a toe T\u00F6ne", "toe", "de", Collator.PRIMARY, "characterbreaker", new int[] {10, 14, -1}, new int[] {3, 2}),
+        new SearchData("This is a toe T\u00F6ne", "toe", "de", Collator.PRIMARY, "wordbreaker", new int[] {10, -1}, new int[] {3}),
+        new SearchData("Channel, another channel, more channels, and one last Channel", "Channel", "es", Collator.TERTIARY, "wordbreaker",
+                       new int[] {0, 54, -1}, new int[] {7, 7}),
+        /* jitterbug 1745 */
+        new SearchData("testing that \u00e9 does not match e", "e", null, Collator.TERTIARY,
+            "characterbreaker", new int[] {1, 17, 30, -1}, new int[] {1, 1, 1}),
+        new SearchData("testing that string ab\u00e9cd does not match e", "e", null,
+             Collator.TERTIARY, "characterbreaker", new int[] {1, 28, 41, -1}, new int[] {1, 1, 1}),
+        new SearchData("\u00c9", "e", "fr", Collator.PRIMARY,  "characterbreaker", new int[]{0, -1}, new int[]{1}),
+        new SearchData(null, null, null, Collator.TERTIARY, null, new int[] {-1}, new int[] {0})
+    };
+
+    SearchData BASICCANONICAL[] = {
+        new SearchData("xxxxxxxxxxxxxxxxxxxx", "fisher", null, Collator.TERTIARY, null, new int[] {-1}, new int [] {0}),
+        new SearchData("silly spring string", "string", null, Collator.TERTIARY, null, new int[] {13, -1}, new int[] {6}),
+        new SearchData("silly spring string string", "string", null, Collator.TERTIARY, null, new int[] {13, 20, -1}, new int[] {6, 6}),
+        new SearchData("silly string spring string", "string", null, Collator.TERTIARY, null, new int[] {6, 20, -1}, new int[] {6, 6}),
+        new SearchData("string spring string", "string", null, Collator.TERTIARY, null, new int[] {0, 14, -1}, new int[] {6, 6}),
+        new SearchData("Scott Ganyo", "c", null, Collator.TERTIARY, null, new int[] {1, -1}, new int[] {1}),
+        new SearchData("Scott Ganyo", " ", null, Collator.TERTIARY, null, new int[] {5, -1}, new int[] {1}),
+        new SearchData("\u0300\u0325", "\u0300", null, Collator.TERTIARY, null, new int [] {0, -1}, new int[] {2}),
+        new SearchData("a\u0300\u0325", "\u0300", null, Collator.TERTIARY, null, new int [] {1, -1}, new int[] {2}),
+        new SearchData("a\u0300\u0325", "\u0300\u0325", null, Collator.TERTIARY, null, new int[] {1, -1}, new int[]{2}),
+        new SearchData("a\u0300b", "\u0300", null, Collator.TERTIARY, null, new int[]{1, -1}, new int[] {1}),
+        new SearchData("a\u0300\u0325b", "\u0300b", null, Collator.TERTIARY, null, new int[] {1, -1}, new int[] {3}),
+        new SearchData("\u0325\u0300A\u0325\u0300", "\u0300A\u0300", null, Collator.TERTIARY, null, new int[] {0, -1}, new int[] {5}),
+        new SearchData("\u0325\u0300A\u0325\u0300", "\u0325A\u0325", null, Collator.TERTIARY, null, new int[] {0, -1}, new int[] {5}),
+        new SearchData("a\u0300\u0325b\u0300\u0325c \u0325b\u0300 \u0300b\u0325", "\u0300b\u0325", null, Collator.TERTIARY, null,
+            new int[] {1, 12, -1}, new int[] {5, 3}),
+        new SearchData("\u00c4\u0323", "A\u0323\u0308", null, Collator.TERTIARY, null, new int[] {0, -1}, new int[] {2}),
+        new SearchData("\u0308\u0323", "\u0323\u0308", null, Collator.TERTIARY, null, new int[] {0, -1}, new int[] {2}),
+        new SearchData(null, null, null, Collator.TERTIARY, null, new int[] {-1}, new int[] {0})
+    };
+
+    SearchData COLLATOR[] = {
+        /* english */
+        new SearchData("fox fpx", "fox", null, Collator.TERTIARY, null, new int[] {0, -1}, new int[] {3}),
+        /* tailored */
+        new SearchData("fox fpx", "fox", null, Collator.PRIMARY, null, new int[] {0, 4, -1}, new int[] {3, 3}),
+        new SearchData(null, null, null, Collator.TERTIARY, null, new int[] {-1}, new int[] {0})
+    };
+
+    String TESTCOLLATORRULE = "& o,O ; p,P";
+    String EXTRACOLLATIONRULE = " & ae ; \u00e4 & AE ; \u00c4 & oe ; \u00f6 & OE ; \u00d6 & ue ; \u00fc & UE ; \u00dc";
+
+
+    SearchData COLLATORCANONICAL[] = {
+        /* english */
+        new SearchData("fox fpx", "fox", null, Collator.TERTIARY, null, new int[] {0, -1}, new int[] {3}),
+        /* tailored */
+        new SearchData("fox fpx", "fox", null, Collator.PRIMARY, null, new int[] {0, 4, -1}, new int[] {3, 3}),
+        new SearchData(null, null, null, Collator.TERTIARY, null, new int[] {-1}, new int[] {0})
+    };
+
+    SearchData COMPOSITEBOUNDARIES[] = {
+        new SearchData("\u00C0", "A", null, Collator.TERTIARY, null, new int[] {0, -1}, new int[] {1}),
+        new SearchData("A\u00C0C", "A", null, Collator.TERTIARY, null, new int[]  {0, 1, -1}, new int[]  {1, 1}),
+        new SearchData("\u00C0A", "A", null, Collator.TERTIARY, null, new int[] {0, 1, -1}, new int[] {1, 1}),
+        new SearchData("B\u00C0", "A", null, Collator.TERTIARY, null, new int[] {1, -1}, new int[] {1}),
+        new SearchData("\u00C0B", "A", null, Collator.TERTIARY, null, new int[] {0, -1}, new int[] {1}),
+        new SearchData("\u00C0", "\u0300", null, Collator.TERTIARY, null, new int[] {0, -1}, new int[] {1}),
+        new SearchData("\u0300\u00C0", "\u0300", null, Collator.TERTIARY, null, new int[] {0, 1, -1}, new int[] {1, 1}),
+        new SearchData("\u00C0\u0300", "\u0300", null, Collator.TERTIARY, null, new int[] {-1}, new int[] {0}),
+        /* A + 030A + 0301 */
+        new SearchData("\u01FA", "\u01FA", null, Collator.TERTIARY, null, new int[] {0, -1}, new int[] {1}),
+        new SearchData("\u01FA", "\u030A", null, Collator.TERTIARY, null, new int[] {-1}, new int[] {0}),
+        new SearchData("\u01FA", "A\u030A", null, Collator.TERTIARY, null, new int[] {-1}, new int[] {0}),
+        new SearchData("\u01FA", "\u030AA", null, Collator.TERTIARY, null, new int[] {-1}, new int[] {0}),
+        new SearchData("\u01FA", "\u0301", null, Collator.TERTIARY, null, new int[] {-1}, new int[] {0}),
+        new SearchData("\u01FA", "A\u0301", null, Collator.TERTIARY, null, new int[] {-1}, new int[] {0}),
+        new SearchData("\u01FA", "\u0301A", null, Collator.TERTIARY, null, new int[] {-1}, new int[] {0}),
+        new SearchData("\u01FA", "\u030A\u0301", null, Collator.TERTIARY, null, new int[] {0, -1}, new int[] {1}),
+        new SearchData("A\u01FA", "A\u030A", null, Collator.TERTIARY, null, new int[] {-1}, new int[] {0}),
+        new SearchData("\u01FAA", "\u0301A", null, Collator.TERTIARY, null, new int[] {-1}, new int[] {0}),
+        new SearchData("\u0F73", "\u0F73", null, Collator.TERTIARY, null, new int[] {0, -1}, new int[] {1}),
+        new SearchData("\u0F73", "\u0F71", null, Collator.TERTIARY, null, new int[] {-1}, new int[] {0}),
+        new SearchData("\u0F73", "\u0F72", null, Collator.TERTIARY, null, new int[] {-1}, new int[] {0}),
+        new SearchData("\u0F73", "\u0F71\u0F72", null, Collator.TERTIARY, null, new int[] {0, -1}, new int[] {1}),
+        new SearchData("A\u0F73", "A\u0F71", null, Collator.TERTIARY, null, new int[] {-1}, new int[] {0}),
+        new SearchData("\u0F73A", "\u0F72A", null, Collator.TERTIARY, null, new int[] {-1}, new int[] {0}),
+        new SearchData(null, null, null, Collator.TERTIARY, null, new int[] {-1}, new int[] {0})
+    };
+
+    SearchData COMPOSITEBOUNDARIESCANONICAL[] = {
+        new SearchData("\u00C0", "A", null, Collator.TERTIARY, null, new int[] {0, -1}, new int[] {1}),
+        new SearchData("A\u00C0C", "A", null, Collator.TERTIARY, null, new int[] {0, 1, -1}, new int[] {1, 1}),
+        new SearchData("\u00C0A", "A", null, Collator.TERTIARY, null, new int[] {0, 1, -1}, new int[] {1, 1}),
+        new SearchData("B\u00C0", "A", null, Collator.TERTIARY, null, new int[] {1, -1}, new int[] {1}),
+        new SearchData("\u00C0B", "A", null, Collator.TERTIARY, null, new int[] {0, -1}, new int[] {1}),
+        new SearchData("\u00C0", "\u0300", null, Collator.TERTIARY, null, new int[] {0, -1}, new int[] {1}),
+        new SearchData("\u0300\u00C0", "\u0300", null, Collator.TERTIARY, null, new int[] {0, 1, -1}, new int[] {1, 1}),
+        /* \u0300 blocked by \u0300 */
+        new SearchData("\u00C0\u0300", "\u0300", null, Collator.TERTIARY, null, new int[] {0, -1}, new int[] {2}),
+        /* A + 030A + 0301 */
+        new SearchData("\u01FA", "\u01FA", null, Collator.TERTIARY, null, new int[] {0, -1}, new int[] {1}),
+        new SearchData("\u01FA", "\u030A", null, Collator.TERTIARY, null, new int[] {0, -1}, new int[] {1}),
+        new SearchData("\u01FA", "A\u030A", null, Collator.TERTIARY, null, new int[] {0, -1}, new int[] {1}),
+        new SearchData("\u01FA", "\u030AA", null, Collator.TERTIARY, null, new int[] {-1}, new int[] {0}),
+        new SearchData("\u01FA", "\u0301", null, Collator.TERTIARY, null, new int[] {0, -1}, new int[] {1}),
+        /* blocked accent */
+        new SearchData("\u01FA", "A\u0301", null, Collator.TERTIARY, null, new int[] {-1}, new int[] {0}),
+        new SearchData("\u01FA", "\u0301A", null, Collator.TERTIARY, null, new int[] {-1}, new int[] {0}),
+        new SearchData("\u01FA", "\u030A\u0301", null, Collator.TERTIARY, null, new int[] {0, -1}, new int[] {1}),
+        new SearchData("A\u01FA", "A\u030A", null, Collator.TERTIARY, null, new int[] {1, -1}, new int[] {1}),
+        new SearchData("\u01FAA", "\u0301A", null, Collator.TERTIARY, null, new int[] {0, -1}, new int[] {2}),
+        new SearchData("\u0F73", "\u0F73", null, Collator.TERTIARY, null, new int[] {0, -1}, new int[] {1}),
+        new SearchData("\u0F73", "\u0F71", null, Collator.TERTIARY, null, new int[] {0, -1}, new int[] {1}),
+        new SearchData("\u0F73", "\u0F72", null, Collator.TERTIARY, null, new int[] {0, -1}, new int[] {1}),
+        new SearchData("\u0F73", "\u0F71\u0F72", null, Collator.TERTIARY, null, new int[] {0, -1}, new int[] {1}),
+        new SearchData("A\u0F73", "A\u0F71", null, Collator.TERTIARY, null, new int[] {0, -1}, new int[] {2}),
+        new SearchData("\u0F73A", "\u0F72A", null, Collator.TERTIARY, null, new int[] {0, -1}, new int[] {2}),
+        new SearchData("\u01FA A\u0301\u030A A\u030A\u0301 A\u030A \u01FA", "A\u030A",
+            null, Collator.TERTIARY, null, new int[] {0, 6, 10, 13, -1}, new int[] {1, 3, 2, 1}),
+        new SearchData(null, null, null, Collator.TERTIARY, null, new int[] {-1}, new int[] {0})
+    };
+
+    SearchData SUPPLEMENTARY[] = {
+        /* 012345678901234567890123456789012345678901234567890012345678901234567890123456789012345678901234567890012345678901234567890123456789 */
+        new SearchData("abc \uD800\uDC00 \uD800\uDC01 \uD801\uDC00 \uD800\uDC00abc abc\uD800\uDC00 \uD800\uD800\uDC00 \uD800\uDC00\uDC00",
+            "\uD800\uDC00", null, Collator.TERTIARY, null, 
+            new int[] {4, 13, 22, 26, 29, -1}, new int[] {2, 2, 2, 2, 2}),
+        new SearchData("and\uD834\uDDB9this sentence", "\uD834\uDDB9", null, 
+                       Collator.TERTIARY, null, new int[] {3, -1}, 
+                       new int[] {2}),
+        new SearchData("and \uD834\uDDB9 this sentence", " \uD834\uDDB9 ", 
+                       null, Collator.TERTIARY, null, new int[] {3, -1}, 
+                       new int[] {4}),
+        new SearchData("and-\uD834\uDDB9-this sentence", "-\uD834\uDDB9-", 
+                       null, Collator.TERTIARY, null, new int[] {3, -1}, 
+                       new int[] {4}),
+        new SearchData("and,\uD834\uDDB9,this sentence", ",\uD834\uDDB9,", 
+                       null, Collator.TERTIARY, null, new int[] {3, -1}, 
+                       new int[] {4}),
+        new SearchData("and?\uD834\uDDB9?this sentence", "?\uD834\uDDB9?", 
+                       null, Collator.TERTIARY, null, new int[] {3, -1}, 
+                       new int[] {4}),
+        new SearchData(null, null, null, Collator.TERTIARY, null, new int[] {-1}, new int[] {0})
+    };
+
+    String CONTRACTIONRULE = "&z = ab/c < AB < X\u0300 < ABC < X\u0300\u0315";
+
+    SearchData CONTRACTION[] = {
+        /* common discontiguous */
+        new SearchData("A\u0300\u0315", "\u0300", null, Collator.TERTIARY, null, new int[] {-1}, new int[] {0}),
+        new SearchData("A\u0300\u0315", "\u0300\u0315", null, Collator.TERTIARY, null, new int[] {1, -1}, new int[] {2}),
+        /* contraction prefix */
+        new SearchData("AB\u0315C", "A", null, Collator.TERTIARY, null, new int[] {-1}, new int[] {0}),
+        new SearchData("AB\u0315C", "AB", null, Collator.TERTIARY, null, new int[] {0, -1}, new int[] {2}),
+        new SearchData("AB\u0315C", "\u0315", null, Collator.TERTIARY, null, new int[] {2, -1}, new int[] {1}),
+        /* discontiguous problem here for backwards iteration.
+        accents not found because discontiguous stores all information */
+        new SearchData("X\u0300\u0319\u0315", "\u0319", null, Collator.TERTIARY, null, new int[] {-1}, new int[] {0}),
+         /* ends not with a contraction character */
+        new SearchData("X\u0315\u0300D", "\u0300\u0315", null, Collator.TERTIARY, null, new int[] {-1}, new int[] {0}),
+        new SearchData("X\u0315\u0300D", "X\u0300\u0315", null, Collator.TERTIARY, null, new int[] {0, -1}, new int[] {3}),
+        new SearchData("X\u0300\u031A\u0315D", "X\u0300", null, Collator.TERTIARY, null, new int[] {-1}, new int[] {0}),
+        /* blocked discontiguous */
+        new SearchData("X\u0300\u031A\u0315D", "\u031A\u0315D", null, Collator.TERTIARY, null, new int[] {-1}, new int[] {0}),
+        new SearchData("ab", "z", null, Collator.TERTIARY, null, new int[] {0, -1}, new int[] {2}),
+        new SearchData(null, null, null, Collator.TERTIARY, null, new int[] {-1}, new int[] {0})
+    };
+
+    SearchData CONTRACTIONCANONICAL[] = {
+        /* common discontiguous */
+        new SearchData("A\u0300\u0315", "\u0300", null, Collator.TERTIARY, null, new int[] {1, -1}, new int[] {2}),
+        new SearchData("A\u0300\u0315", "\u0300\u0315", null, Collator.TERTIARY, null, new int[] {1, -1}, new int[] {2}),
+        /* contraction prefix */
+        new SearchData("AB\u0315C", "A", null, Collator.TERTIARY, null, new int[] {-1}, new int[] {0}),
+        new SearchData("AB\u0315C", "AB", null, Collator.TERTIARY, null, new int[] {0, -1}, new int[] {2}),
+        new SearchData("AB\u0315C", "\u0315", null, Collator.TERTIARY, null, new int[] {2, -1}, new int[] {1}),
+        /* discontiguous problem here for backwards iteration.
+        forwards gives 0, 4 but backwards give 1, 3 */
+        /* {"X\u0300\u0319\u0315", "\u0319", null, Collator.TERTIARY, null, {0, -1},
+        {4}}, */
+
+         /* ends not with a contraction character */
+        new SearchData("X\u0315\u0300D", "\u0300\u0315", null, Collator.TERTIARY, null, new int[] {-1}, new int[] {0}),
+        new SearchData("X\u0315\u0300D", "X\u0300\u0315", null, Collator.TERTIARY, null,
+            new int[] {0, -1}, new int[] {3}),
+        new SearchData("X\u0300\u031A\u0315D", "X\u0300", null, Collator.TERTIARY, null,
+            new int[] {0, -1}, new int[] {4}),
+        /* blocked discontiguous */
+        new SearchData("X\u0300\u031A\u0315D", "\u031A\u0315D", null, Collator.TERTIARY, null,
+            new int[] {1, -1}, new int[] {4}),
+        new SearchData("ab", "z", null, Collator.TERTIARY, null, new int[] {0, -1}, new int[] {2}),
+        new SearchData(null, null, null, Collator.TERTIARY, null, new int[] {-1}, new int[] {0})
+    };
+
+    SearchData MATCH[] = {
+        new SearchData("a busy bee is a very busy beeee", "bee", null, Collator.TERTIARY, null,
+        new int[] {7, 26, -1}, new int[] {3, 3}),
+        /* 012345678901234567890123456789012345678901234567890 */
+        new SearchData("a busy bee is a very busy beeee with no bee life", "bee", null,
+            Collator.TERTIARY, null, new int[] {7, 26, 40, -1}, new int[] {3, 3, 3}),
+        new SearchData(null, null, null, Collator.TERTIARY, null, new int[] {-1}, new int[] {0})
+    };
+
+    String IGNORABLERULE = "&a = \u0300";
+
+    SearchData IGNORABLE[] = {
+        new SearchData("\u0315\u0300 \u0315\u0300\u0315 ", "\u0300", null, Collator.PRIMARY, null,
+            new int[] {0, 3, -1}, new int[] {2, 3}),
+        new SearchData(null, null, null, Collator.TERTIARY, null, new int[] {-1}, new int[] {0})
+    };
+
+    SearchData NORMCANONICAL[] = {
+        new SearchData("\u0300\u0325", "\u0300", null, Collator.TERTIARY, null, new int[] {0, -1}, new int[] {2}),
+        new SearchData("\u0300\u0325", "\u0325", null, Collator.TERTIARY, null, new int[] {0, -1}, new int[] {2}),
+        new SearchData("a\u0300\u0325", "\u0325\u0300", null, Collator.TERTIARY, null, new int[] {1, -1},
+            new int[] {2}),
+        new SearchData("a\u0300\u0325", "\u0300\u0325", null, Collator.TERTIARY, null, new int[] {1, -1},
+            new int[] {2}),
+        new SearchData("a\u0300\u0325", "\u0325", null, Collator.TERTIARY, null, new int[] {1, -1}, new int[] {2}),
+        new SearchData("a\u0300\u0325", "\u0300", null, Collator.TERTIARY, null, new int[] {1, -1}, new int[] {2}),
+        new SearchData(null, null, null, Collator.TERTIARY, null, new int[] {-1}, new int[] {0})
+    };
+
+    SearchData NORMEXACT[] = {
+        new SearchData("a\u0300\u0325", "\u0325\u0300", null, Collator.TERTIARY, null, new int[] {1, -1}, new int[] {2}),
+        new SearchData(null, null, null, Collator.TERTIARY, null, new int[] {-1}, new int[] {0})
+    };
+
+    SearchData NONNORMEXACT[] = {
+        new SearchData("a\u0300\u0325", "\u0325\u0300", null, Collator.TERTIARY, null, new int[] {-1}, new int[] {0}),
+        new SearchData(null, null, null, Collator.TERTIARY, null, new int[] {-1}, new int[] {0})
+    };
+
+    SearchData OVERLAP[] = {
+        new SearchData("abababab", "abab", null, Collator.TERTIARY, null, new int[] {0, 2, 4, -1}, new int[] {4, 4, 4}),
+        new SearchData(null, null, null, Collator.TERTIARY, null, new int[] {-1}, new int[] {0})
+    };
+
+    SearchData NONOVERLAP[] = {
+        new SearchData("abababab", "abab", null, Collator.TERTIARY, null, new int[] {0, 4, -1}, new int[] {4, 4}),
+        new SearchData(null, null, null, Collator.TERTIARY, null, new int[] {-1}, new int[] {0})
+    };
+
+    SearchData OVERLAPCANONICAL[] = {
+        new SearchData("abababab", "abab", null, Collator.TERTIARY, null, new int[] {0, 2, 4, -1},
+                        new int[] {4, 4, 4}),
+        new SearchData(null, null, null, Collator.TERTIARY, null, new int[] {-1}, new int[] {0})
+    };
+
+    SearchData NONOVERLAPCANONICAL[] = {
+        new SearchData("abababab", "abab", null, Collator.TERTIARY, null, new int[] {0, 4, -1}, new int[] {4, 4}),
+        new SearchData(null, null, null, Collator.TERTIARY, null, new int[] {-1}, new int[] {0})
+    };
+
+    SearchData PATTERNCANONICAL[] = {
+        new SearchData("The quick brown fox jumps over the lazy foxes", "the", null,
+                       Collator.PRIMARY, null, new int[] {0, 31, -1}, new int[] {3, 3}),
+        new SearchData("The quick brown fox jumps over the lazy foxes", "fox", null,
+                       Collator.PRIMARY, null, new int[] {16, 40, -1}, new int[] {3, 3}),
+        new SearchData(null, null, null, Collator.TERTIARY, null, new int[] {-1}, new int[] {0})
+    };
+
+    SearchData PATTERN[] = {
+        new SearchData("The quick brown fox jumps over the lazy foxes", "the", null,
+                       Collator.PRIMARY, null, new int[] {0, 31, -1}, new int[] {3, 3}),
+        new SearchData("The quick brown fox jumps over the lazy foxes", "fox", null,
+                       Collator.PRIMARY, null, new int[] {16, 40, -1}, new int[] {3, 3}),
+        new SearchData(null, null, null, Collator.TERTIARY, null, new int[] {-1}, new int[] {0})
+    };
+
+    SearchData STRENGTH[] = {
+        /*012345678901234567890123456789012345678901234567890123456789*/
+        new SearchData("The quick brown fox jumps over the lazy foxes", "fox", "en",
+                       Collator.PRIMARY, null, new int[] {16, 40, -1}, new int[] {3, 3}),
+        new SearchData("The quick brown fox jumps over the lazy foxes", "fox", "en",
+                       Collator.PRIMARY, "wordbreaker", new int[] {16, -1}, new int[] {3}),
+        new SearchData("blackbirds Pat p\u00E9ch\u00E9 p\u00EAche p\u00E9cher p\u00EAcher Tod T\u00F6ne black Tofu blackbirds Ton PAT toehold blackbird black-bird pat toe big Toe",
+                       "peche", "fr", Collator.PRIMARY, null, new int[] {15, 21, 27, 34, -1}, new int[] {5, 5, 5, 5}),
+        new SearchData("This is a toe T\u00F6ne", "toe", "de", Collator.PRIMARY, null,
+                        new int[] {10, 14, -1}, new int[] {3, 2}),
+        new SearchData("A channel, another CHANNEL, more Channels, and one last channel...", "channel", "es",
+                        Collator.PRIMARY, null, new int[] {2, 19, 33, 56, -1}, new int[] {7, 7, 7, 7}),
+        new SearchData(null, null, null, Collator.TERTIARY, null, new int[] {-1}, new int[] {0})
+    };
+
+    SearchData STRENGTHCANONICAL[] = {
+        /*012345678901234567890123456789012345678901234567890123456789 */
+        new SearchData("The quick brown fox jumps over the lazy foxes", "fox", "en",
+                       Collator.PRIMARY, null, new int[] {16, 40, -1}, new int[] {3, 3}),
+        new SearchData("The quick brown fox jumps over the lazy foxes", "fox", "en",
+                       Collator.PRIMARY, "wordbreaker", new int[] {16, -1}, new int[] {3}),
+        new SearchData("blackbirds Pat p\u00E9ch\u00E9 p\u00EAche p\u00E9cher p\u00EAcher Tod T\u00F6ne black Tofu blackbirds Ton PAT toehold blackbird black-bird pat toe big Toe",
+                       "peche", "fr", Collator.PRIMARY, null, new int[] {15, 21, 27, 34, -1}, new int[] {5, 5, 5, 5}),
+        new SearchData("This is a toe T\u00F6ne", "toe", "de", Collator.PRIMARY, null,
+                       new int[] {10, 14, -1}, new int[] {3, 2}),
+        new SearchData("A channel, another CHANNEL, more Channels, and one last channel...", "channel", "es",
+                       Collator.PRIMARY, null, new int[]{2, 19, 33, 56, -1}, new int[] {7, 7, 7, 7}),
+        new SearchData(null, null, null, Collator.TERTIARY, null, new int[] {-1}, new int[]{0})
+    };
+
+    SearchData SUPPLEMENTARYCANONICAL[] = {
+        /*012345678901234567890123456789012345678901234567890012345678901234567890123456789012345678901234567890012345678901234567890123456789 */
+        new SearchData("abc \uD800\uDC00 \uD800\uDC01 \uD801\uDC00 \uD800\uDC00abc abc\uD800\uDC00 \uD800\uD800\uDC00 \uD800\uDC00\uDC00",
+                       "\uD800\uDC00", null, Collator.TERTIARY, null, new int[] {4, 13, 22, 26, 29, -1},
+                       new int[] {2, 2, 2, 2, 2}),
+        new SearchData("and\uD834\uDDB9this sentence", "\uD834\uDDB9", null, 
+                       Collator.TERTIARY, null, new int[] {3, -1}, 
+                       new int[] {2}),
+        new SearchData("and \uD834\uDDB9 this sentence", " \uD834\uDDB9 ", 
+                       null, Collator.TERTIARY, null, new int[] {3, -1}, 
+                       new int[] {4}),
+        new SearchData("and-\uD834\uDDB9-this sentence", "-\uD834\uDDB9-", 
+                       null, Collator.TERTIARY, null, new int[] {3, -1}, 
+                       new int[] {4}),
+        new SearchData("and,\uD834\uDDB9,this sentence", ",\uD834\uDDB9,", 
+                       null, Collator.TERTIARY, null, new int[] {3, -1}, 
+                       new int[] {4}),
+        new SearchData("and?\uD834\uDDB9?this sentence", "?\uD834\uDDB9?", 
+                       null, Collator.TERTIARY, null, new int[] {3, -1}, 
+                       new int[] {4}),
+        new SearchData(null, null, null, Collator.TERTIARY, null, new int[] {-1}, new int[] {0})
+    };
+
+    static SearchData VARIABLE[] = {
+        /*012345678901234567890123456789012345678901234567890123456789*/
+        new SearchData("blackbirds black blackbirds blackbird black-bird", "blackbird", null, Collator.TERTIARY,   null,
+        new int[] {0, 17, 28, 38, -1}, new int[] {9, 9, 9, 10}),
+
+        /* to see that it doesn't go into an infinite loop if the start of text
+        is a ignorable character */
+        new SearchData(" on",                                              "go",        null, Collator.TERTIARY,   null,
+                       new int[] {-1}, new int[]{0}),
+        new SearchData("abcdefghijklmnopqrstuvwxyz",                       "   ",       null, Collator.PRIMARY,    null,
+                        new int[]{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, -1},
+                        new int[] {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}),
+
+        /* testing tightest match */
+        new SearchData(" abc  a bc   ab c    a  bc     ab  c",             "abc",       null, Collator.QUATERNARY, null,
+                       new int[]{1, -1}, new int[] {3}),
+        /*012345678901234567890123456789012345678901234567890123456789 */
+        new SearchData(" abc  a bc   ab c    a  bc     ab  c",             "abc",       null, Collator.SECONDARY,  null,
+                       new int[] {1, 6, 13, 21, 31, -1}, new int[] {3, 4, 4, 5, 5}),
+
+        /* totally ignorable text */
+        new SearchData("           ---------------",                       "abc",       null, Collator.SECONDARY,  null,
+                       new int[] {-1}, new int[] {0}),
+        new SearchData(null, null, null, Collator.TERTIARY, null, new int[] {-1}, new int[] {0})
+    };
+
+    static SearchData TEXTCANONICAL[] = {
+        new SearchData("the foxy brown fox",                               "fox",       null, Collator.TERTIARY,   null,
+                       new int[] {4, 15, -1}, new int[] {3, 3}),
+        new SearchData("the quick brown fox",                              "fox",       null, Collator.TERTIARY,   null,
+                       new int[] {16, -1}, new int[]{3}),
+        new SearchData(null, null, null, Collator.TERTIARY,null, new int[] {-1}, new int[] {0})
+    };
+
+    /**
+     * Constructor
+     */
+    public SearchTest()
+    {
+
+    }
+
+    protected void init()throws Exception{
+        m_en_us_ = (RuleBasedCollator)Collator.getInstance(Locale.US);
+        m_fr_fr_ = (RuleBasedCollator)Collator.getInstance(Locale.FRANCE);
+        m_de_ = (RuleBasedCollator)Collator.getInstance(new Locale("de", "DE"));
+        m_es_ = (RuleBasedCollator)Collator.getInstance(new Locale("es", "ES"));
+        m_en_wordbreaker_ = BreakIterator.getWordInstance();
+        m_en_characterbreaker_ = BreakIterator.getCharacterInstance();
+        String rules = m_de_.getRules() + EXTRACOLLATIONRULE;
+        m_de_ = new RuleBasedCollator(rules);
+        rules = m_es_.getRules() + EXTRACOLLATIONRULE;
+        m_es_ = new RuleBasedCollator(rules);
+
+    }
+    public static void main(String[] args) throws Exception {
+        new SearchTest().run(args);
+        // new SearchTest().TestContraction();
+    }
+
+    RuleBasedCollator getCollator(String collator) {
+        if (collator == null) {
+            return m_en_us_;
+        } if (collator.equals("fr")) {
+            return m_fr_fr_;
+        } else if (collator.equals("de")) {
+            return m_de_;
+        } else if (collator.equals("es")) {
+            return m_es_;
+        } else {
+            return m_en_us_;
+        }
+    }
+
+    BreakIterator getBreakIterator(String breaker) {
+        if (breaker == null) {
+            return null;
+        } if (breaker.equals("wordbreaker")) {
+            return m_en_wordbreaker_;
+        } else {
+            return m_en_characterbreaker_;
+        }
+    }
+
+    boolean assertCanonicalEqual(SearchData search) {
+        Collator      collator = getCollator(search.collator);
+        BreakIterator breaker  = getBreakIterator(search.breaker);
+        StringSearch  strsrch;
+
+        String text = search.text;
+        String  pattern = search.pattern;
+
+        if (breaker != null) {
+            breaker.setText(text);
+        }
+        collator.setStrength(search.strength);
+        try {
+            strsrch = new StringSearch(pattern, new StringCharacterIterator(text), (RuleBasedCollator)collator, breaker);
+            strsrch.setCanonical(true);
+        } catch (Exception e) {
+            errln("Error opening string search" + e.getMessage());
+            return false;
+        }
+
+        if (!assertEqualWithStringSearch(strsrch, search)) {
+            collator.setStrength(Collator.TERTIARY);
+            return false;
+        }
+        collator.setStrength(Collator.TERTIARY);
+        return true;
+    }
+
+    boolean assertEqual(SearchData search) {
+        Collator      collator = getCollator(search.collator);
+        BreakIterator breaker  = getBreakIterator(search.breaker);
+        StringSearch  strsrch;
+
+        String text = search.text;
+        String  pattern = search.pattern;
+
+        if (breaker != null) {
+            breaker.setText(text);
+        }
+        collator.setStrength(search.strength);
+        try {
+            strsrch = new StringSearch(pattern, new StringCharacterIterator(text), (RuleBasedCollator)collator, breaker);
+        } catch (Exception e) {
+            errln("Error opening string search " + e.getMessage());
+            return false;
+        }
+
+        if (!assertEqualWithStringSearch(strsrch, search)) {
+            collator.setStrength(Collator.TERTIARY);
+            return false;
+        }
+        collator.setStrength(Collator.TERTIARY);
+        return true;
+    }
+
+    boolean assertEqualWithAttribute(SearchData search, boolean canonical, boolean overlap) {
+        Collator      collator = getCollator(search.collator);
+        BreakIterator breaker  = getBreakIterator(search.breaker);
+        StringSearch  strsrch;
+
+        String text = search.text;
+        String  pattern = search.pattern;
+
+        if (breaker != null) {
+            breaker.setText(text);
+        }
+        collator.setStrength(search.strength);
+        try {
+            strsrch = new StringSearch(pattern, new StringCharacterIterator(text), (RuleBasedCollator)collator, breaker);
+            strsrch.setCanonical(canonical);
+            strsrch.setOverlapping(overlap);
+        } catch (Exception e) {
+            errln("Error opening string search " + e.getMessage());
+            return false;
+        }
+
+        if (!assertEqualWithStringSearch(strsrch, search)) {
+            collator.setStrength(Collator.TERTIARY);
+            return false;
+        }
+        collator.setStrength(Collator.TERTIARY);
+        return true;
+    }
+
+    boolean assertEqualWithStringSearch(StringSearch strsrch, SearchData search) {
+        int           count       = 0;
+        int   matchindex  = search.offset[count];
+        String matchtext;
+
+        if (strsrch.getMatchStart() != SearchIterator.DONE ||
+            strsrch.getMatchLength() != 0) {
+            errln("Error with the initialization of match start and length");
+        }
+        // start of following matches
+        while (matchindex >= 0) {
+            int matchlength = search.size[count];
+            strsrch.next();
+            //int x = strsrch.getMatchStart();
+            if (matchindex != strsrch.getMatchStart() ||
+                matchlength != strsrch.getMatchLength()) {
+                errln("Text: " + search.text);
+                errln("Pattern: " + strsrch.getPattern());
+                errln("Error following match found at " + strsrch.getMatchStart() + ", " + strsrch.getMatchLength());
+                return false;
+            }
+            count ++;
+
+            matchtext = strsrch.getMatchedText();
+            String targetText = search.text;
+            if (matchlength > 0 &&
+                targetText.substring(matchindex, matchindex + matchlength).compareTo(matchtext) != 0) {
+                errln("Error getting following matched text");
+            }
+
+            matchindex = search.offset[count];
+        }
+        strsrch.next();
+        if (strsrch.getMatchStart() != SearchIterator.DONE ||
+            strsrch.getMatchLength() != 0) {
+                errln("Text: " + search.text);
+                errln("Pattern: " + strsrch.getPattern());
+                errln("Error following match found at " + strsrch.getMatchStart() + ", " + strsrch.getMatchLength());
+                return false;
+        }
+        // start of preceding matches
+        count = count == 0 ? 0 : count - 1;
+        matchindex = search.offset[count];
+        while (matchindex >= 0) {
+            int matchlength = search.size[count];
+            strsrch.previous();
+            if (matchindex != strsrch.getMatchStart() ||
+                matchlength != strsrch.getMatchLength()) {
+                errln("Text: " + search.text);
+                errln("Pattern: " + strsrch.getPattern());
+                errln("Error following match found at " + strsrch.getMatchStart() + ", " + strsrch.getMatchLength());
+                return false;
+            }
+
+            matchtext = strsrch.getMatchedText();
+            String targetText = search.text;
+            if (matchlength > 0 &&
+                targetText.substring(matchindex, matchindex + matchlength).compareTo(matchtext) != 0) {
+                errln("Error getting following matched text");
+            }
+
+            matchindex = count > 0 ? search.offset[count - 1] : -1;
+            count --;
+        }
+        strsrch.previous();
+        if (strsrch.getMatchStart() != SearchIterator.DONE ||
+            strsrch.getMatchLength() != 0) {
+                errln("Text: " + search.text);
+                errln("Pattern: " + strsrch.getPattern());
+                errln("Error following match found at " + strsrch.getMatchStart() + ", " + strsrch.getMatchLength());
+                return false;
+        }
+        return true;
+    }
+
+    public void TestConstructor()
+    {
+        String pattern = "pattern";
+        String text = "text";
+        StringCharacterIterator textiter = new StringCharacterIterator(text);
+        Collator defaultcollator = Collator.getInstance();
+        BreakIterator breaker = BreakIterator.getCharacterInstance();
+        breaker.setText(text);
+        StringSearch search = new StringSearch(pattern, text);
+        if (!search.getPattern().equals(pattern)
+            || !search.getTarget().equals(textiter)
+            || !search.getCollator().equals(defaultcollator)
+            || !search.getBreakIterator().equals(breaker)) {
+            errln("StringSearch(String, String) error");
+        }
+        search = new StringSearch(pattern, textiter, m_fr_fr_);
+        if (!search.getPattern().equals(pattern)
+            || !search.getTarget().equals(textiter)
+            || !search.getCollator().equals(m_fr_fr_)
+            || !search.getBreakIterator().equals(breaker)) {
+            errln("StringSearch(String, StringCharacterIterator, "
+                  + "RuleBasedCollator) error");
+        }
+        Locale de = new Locale("de", "DE");
+        breaker = BreakIterator.getCharacterInstance(de);
+        breaker.setText(text);
+        search = new StringSearch(pattern, textiter, de);
+        if (!search.getPattern().equals(pattern)
+            || !search.getTarget().equals(textiter)
+            || !search.getCollator().equals(Collator.getInstance(de))
+            || !search.getBreakIterator().equals(breaker)) {
+            errln("StringSearch(String, StringCharacterIterator, Locale) "
+                  + "error");
+        }
+
+        search = new StringSearch(pattern, textiter, m_fr_fr_,
+                                  m_en_wordbreaker_);
+        if (!search.getPattern().equals(pattern)
+            || !search.getTarget().equals(textiter)
+            || !search.getCollator().equals(m_fr_fr_)
+            || !search.getBreakIterator().equals(m_en_wordbreaker_)) {
+            errln("StringSearch(String, StringCharacterIterator, Locale) "
+                  + "error");
+        }
+    }
+
+    public void TestBasic() {
+        int count = 0;
+        while (BASIC[count].text != null) {
+            if (!assertEqual(BASIC[count])) {
+                errln("Error at test number " + count);
+            }
+            count ++;
+        }
+    }
+
+    public void TestBreakIterator() {
+
+        String text = BREAKITERATOREXACT[0].text;
+        String pattern = BREAKITERATOREXACT[0].pattern;
+        StringSearch strsrch = null;
+        try {
+            strsrch = new StringSearch(pattern, new StringCharacterIterator(text), m_en_us_, null);
+        } catch (Exception e) {
+            errln("Error opening string search");
+            return;
+        }
+
+        strsrch.setBreakIterator(null);
+        if (strsrch.getBreakIterator() != null) {
+            errln("Error usearch_getBreakIterator returned wrong object");
+        }
+
+        strsrch.setBreakIterator(m_en_characterbreaker_);
+        if (!strsrch.getBreakIterator().equals(m_en_characterbreaker_)) {
+            errln("Error usearch_getBreakIterator returned wrong object");
+        }
+
+        strsrch.setBreakIterator(m_en_wordbreaker_);
+        if (!strsrch.getBreakIterator().equals(m_en_wordbreaker_)) {
+            errln("Error usearch_getBreakIterator returned wrong object");
+        }
+
+        int count = 0;
+        while (count < 4) {
+            // special purposes for tests numbers 0-3
+            SearchData        search   = BREAKITERATOREXACT[count];
+            RuleBasedCollator collator = getCollator(search.collator);
+            BreakIterator     breaker  = getBreakIterator(search.breaker);
+                  //StringSearch      strsrch;
+
+            text = search.text;
+            pattern = search.pattern;
+            if (breaker != null) {
+                breaker.setText(text);
+            }
+            collator.setStrength(search.strength);
+            strsrch = new StringSearch(pattern, new StringCharacterIterator(text), collator, breaker);
+            if (strsrch.getBreakIterator() != breaker) {
+                errln("Error setting break iterator");
+            }
+            if (!assertEqualWithStringSearch(strsrch, search)) {
+                collator.setStrength(Collator.TERTIARY);
+            }
+            search   = BREAKITERATOREXACT[count + 1];
+            breaker  = getBreakIterator(search.breaker);
+            if (breaker != null) {
+                breaker.setText(text);
+            }
+            strsrch.setBreakIterator(breaker);
+            if (strsrch.getBreakIterator() != breaker) {
+                errln("Error setting break iterator");
+            }
+            strsrch.reset();
+            if (!assertEqualWithStringSearch(strsrch, search)) {
+                 errln("Error at test number " + count);
+            }
+            count += 2;
+        }
+        count = 0;
+        while (BREAKITERATOREXACT[count].text != null) {
+            if (!assertEqual(BREAKITERATOREXACT[count])) {
+                errln("Error at test number " + count);
+            }
+             count++;
+        }
+    }
+
+    public void TestBreakIteratorCanonical() {
+        int        count  = 0;
+        while (count < 4) {
+            // special purposes for tests numbers 0-3
+            SearchData     search   = BREAKITERATORCANONICAL[count];
+
+            String text = search.text;
+            String pattern = search.pattern;
+            RuleBasedCollator collator = getCollator(search.collator);
+            collator.setStrength(search.strength);
+
+            BreakIterator breaker = getBreakIterator(search.breaker);
+            StringSearch  strsrch = null;
+            try {
+                strsrch = new StringSearch(pattern, new StringCharacterIterator(text), collator, breaker);
+            } catch (Exception e) {
+                errln("Error creating string search data");
+                return;
+            }
+            strsrch.setCanonical(true);
+            if (!strsrch.getBreakIterator().equals(breaker)) {
+                errln("Error setting break iterator");
+                return;
+            }
+            if (!assertEqualWithStringSearch(strsrch, search)) {
+                collator.setStrength(Collator.TERTIARY);
+                return;
+            }
+            search  = BREAKITERATOREXACT[count + 1];
+            breaker = getBreakIterator(search.breaker);
+            breaker.setText(strsrch.getTarget());
+            strsrch.setBreakIterator(breaker);
+            if (!strsrch.getBreakIterator().equals(breaker)) {
+                errln("Error setting break iterator");
+                return;
+            }
+            strsrch.reset();
+            strsrch.setCanonical(true);
+            if (!assertEqualWithStringSearch(strsrch, search)) {
+                 errln("Error at test number " + count);
+                 return;
+            }
+            count += 2;
+        }
+        count = 0;
+        while (BREAKITERATORCANONICAL[count].text != null) {
+             if (!assertEqual(BREAKITERATORCANONICAL[count])) {
+                 errln("Error at test number " + count);
+                 return;
+             }
+             count++;
+        }
+    }
+
+    public void TestCanonical() {
+        int count = 0;
+        while (BASICCANONICAL[count].text != null) {
+            if (!assertCanonicalEqual(BASICCANONICAL[count])) {
+                errln("Error at test number " + count);
+            }
+            count ++;
+        }
+    }
+
+    public void TestCollator() {
+        // test collator that thinks "o" and "p" are the same thing
+        String text = COLLATOR[0].text;
+        String pattern  = COLLATOR[0].pattern;
+        StringSearch strsrch = null;
+        try {
+            strsrch = new StringSearch(pattern, new StringCharacterIterator(text), m_en_us_, null);
+        } catch (Exception e) {
+            errln("Error opening string search ");
+            return;
+        }
+        if (!assertEqualWithStringSearch(strsrch, COLLATOR[0])) {
+            return;
+        }
+        String rules = TESTCOLLATORRULE;
+        RuleBasedCollator tailored = null;
+        try {
+            tailored = new RuleBasedCollator(rules);
+            tailored.setStrength(COLLATOR[1].strength);
+        } catch (Exception e) {
+            errln("Error opening rule based collator ");
+            return;
+        }
+
+        strsrch.setCollator(tailored);
+        if (!strsrch.getCollator().equals(tailored)) {
+            errln("Error setting rule based collator");
+        }
+        strsrch.reset();
+        if (!assertEqualWithStringSearch(strsrch, COLLATOR[1])) {
+            return;
+        }
+        strsrch.setCollator(m_en_us_);
+        strsrch.reset();
+        if (!strsrch.getCollator().equals(m_en_us_)) {
+            errln("Error setting rule based collator");
+        }
+        if (!assertEqualWithStringSearch(strsrch, COLLATOR[0])) {
+           errln("Error searching collator test");
+        }
+    }
+
+    public void TestCollatorCanonical() {
+        /* test collator that thinks "o" and "p" are the same thing */
+        String text = COLLATORCANONICAL[0].text;
+        String pattern = COLLATORCANONICAL[0].pattern;
+
+        StringSearch strsrch = null;
+        try {
+            strsrch = new StringSearch(pattern, new StringCharacterIterator(text), m_en_us_, null);
+            strsrch.setCanonical(true);
+        } catch (Exception e) {
+            errln("Error opening string search ");
+        }
+
+        if (!assertEqualWithStringSearch(strsrch, COLLATORCANONICAL[0])) {
+            return;
+        }
+
+        String rules = TESTCOLLATORRULE;
+        RuleBasedCollator tailored = null;
+        try {
+            tailored = new RuleBasedCollator(rules);
+            tailored.setStrength(COLLATORCANONICAL[1].strength);
+            tailored.setDecomposition(Collator.CANONICAL_DECOMPOSITION);
+        } catch (Exception e) {
+            errln("Error opening rule based collator ");
+        }
+
+        strsrch.setCollator(tailored);
+        if (!strsrch.getCollator().equals(tailored)) {
+            errln("Error setting rule based collator");
+        }
+        strsrch.reset();
+        strsrch.setCanonical(true);
+        if (!assertEqualWithStringSearch(strsrch, COLLATORCANONICAL[1])) {
+        	logln("COLLATORCANONICAL[1] failed");  // Error should already be reported.
+        }
+        strsrch.setCollator(m_en_us_);
+        strsrch.reset();
+        if (!strsrch.getCollator().equals(m_en_us_)) {
+            errln("Error setting rule based collator");
+        }
+        if (!assertEqualWithStringSearch(strsrch, COLLATORCANONICAL[0])) {
+        	logln("COLLATORCANONICAL[0] failed");  // Error should already be reported.
+        }
+    }
+
+    public void TestCompositeBoundaries() {
+        int count = 0;
+        while (COMPOSITEBOUNDARIES[count].text != null) {
+            // logln("composite " + count);
+            if (!assertEqual(COMPOSITEBOUNDARIES[count])) {
+                errln("Error at test number " + count);
+            }
+            count++;
+        }
+    }
+
+    public void TestCompositeBoundariesCanonical() {
+        int count = 0;
+        while (COMPOSITEBOUNDARIESCANONICAL[count].text != null) {
+            // logln("composite " + count);
+            if (!assertCanonicalEqual(COMPOSITEBOUNDARIESCANONICAL[count])) {
+                errln("Error at test number " + count);
+            }
+            count++;
+        }
+    }
+
+    public void TestContraction() {
+        String rules = CONTRACTIONRULE;
+        RuleBasedCollator collator = null;
+        try {
+            collator = new RuleBasedCollator(rules);
+            collator.setStrength(Collator.TERTIARY);
+            collator.setDecomposition(Collator.CANONICAL_DECOMPOSITION);
+        } catch (Exception e) {
+            errln("Error opening collator ");
+        }
+        String text = "text";
+        String pattern = "pattern";
+        StringSearch strsrch = null;
+        try {
+            strsrch = new StringSearch(pattern, new StringCharacterIterator(text), collator, null);
+        } catch (Exception e) {
+            errln("Error opening string search ");
+        }
+
+        int count = 0;
+        while (CONTRACTION[count].text != null) {
+            text = CONTRACTION[count].text;
+            pattern = CONTRACTION[count].pattern;
+            strsrch.setTarget(new StringCharacterIterator(text));
+            strsrch.setPattern(pattern);
+            if (!assertEqualWithStringSearch(strsrch, CONTRACTION[count])) {
+                errln("Error at test number " + count);
+            }
+            count++;
+        }
+    }
+
+    public void TestContractionCanonical() {
+        String rules = CONTRACTIONRULE;
+        RuleBasedCollator collator = null;
+        try {
+            collator = new RuleBasedCollator(rules);
+            collator.setStrength(Collator.TERTIARY);
+            collator.setDecomposition(Collator.CANONICAL_DECOMPOSITION);
+        } catch (Exception e) {
+            errln("Error opening collator ");
+        }
+        String text = "text";
+        String pattern = "pattern";
+        StringSearch strsrch = null;
+        try {
+            strsrch = new StringSearch(pattern, new StringCharacterIterator(text), collator, null);
+            strsrch.setCanonical(true);
+        } catch (Exception e) {
+            errln("Error opening string search");
+        }
+
+        int count = 0;
+        while (CONTRACTIONCANONICAL[count].text != null) {
+            text = CONTRACTIONCANONICAL[count].text;
+            pattern = CONTRACTIONCANONICAL[count].pattern;
+            strsrch.setTarget(new StringCharacterIterator(text));
+            strsrch.setPattern(pattern);
+            if (!assertEqualWithStringSearch(strsrch, CONTRACTIONCANONICAL[count])) {
+                errln("Error at test number " + count);
+            }
+            count++;
+        }
+    }
+
+    public void TestGetMatch() {
+        SearchData search = MATCH[0];
+        String text = search.text;
+        String pattern = search.pattern;
+
+        StringSearch strsrch = null;
+        try {
+            strsrch = new StringSearch(pattern, new StringCharacterIterator(text), m_en_us_, null);
+        } catch (Exception e) {
+            errln("Error opening string search ");
+            return;
+        }
+
+        int           count      = 0;
+        int   matchindex = search.offset[count];
+        String matchtext;
+        while (matchindex >= 0) {
+            int matchlength = search.size[count];
+            strsrch.next();
+            if (matchindex != strsrch.getMatchStart() ||
+                matchlength != strsrch.getMatchLength()) {
+                errln("Text: " + search.text);
+                errln("Pattern: " + strsrch.getPattern());
+                errln("Error match found at " + strsrch.getMatchStart() + ", " + strsrch.getMatchLength());
+                return;
+            }
+            count++;
+
+            matchtext = strsrch.getMatchedText();
+            if (matchtext.length() != matchlength){
+                errln("Error getting match text");
+            }
+            matchindex = search.offset[count];
+        }
+        strsrch.next();
+        if (strsrch.getMatchStart()  != StringSearch.DONE ||
+            strsrch.getMatchLength() != 0) {
+            errln("Error end of match not found");
+        }
+        matchtext = strsrch.getMatchedText();
+        if (matchtext != null) {
+            errln("Error getting null matches");
+        }
+    }
+
+    public void TestGetSetAttribute() {
+        String  pattern = "pattern";
+        String  text = "text";
+        StringSearch  strsrch = null;
+        try {
+            strsrch = new StringSearch(pattern, new StringCharacterIterator(text), m_en_us_, null);
+        } catch (Exception e) {
+            errln("Error opening search");
+            return;
+        }
+
+        if (strsrch.isOverlapping()) {
+            errln("Error default overlaping should be false");
+        }
+        strsrch.setOverlapping(true);
+        if (!strsrch.isOverlapping()) {
+            errln("Error setting overlap true");
+        }
+        strsrch.setOverlapping(false);
+        if (strsrch.isOverlapping()) {
+            errln("Error setting overlap false");
+        }
+
+        strsrch.setCanonical(true);
+        if (!strsrch.isCanonical()) {
+            errln("Error setting canonical match true");
+        }
+        strsrch.setCanonical(false);
+        if (strsrch.isCanonical()) {
+            errln("Error setting canonical match false");
+        }
+
+    }
+
+    public void TestGetSetOffset() {
+        String  pattern = "1234567890123456";
+        String  text  = "12345678901234567890123456789012";
+        StringSearch  strsrch = null;
+        try {
+            strsrch = new StringSearch(pattern, new StringCharacterIterator(text), m_en_us_, null);
+        } catch (Exception e) {
+            errln("Error opening search");
+
+            return;
+        }
+
+        /* testing out of bounds error */
+        try {
+            strsrch.setIndex(-1);
+            errln("Error expecting set offset error");
+        } catch (IndexOutOfBoundsException e) {
+        	logln("PASS: strsrch.setIndex(-1) failed as expected");
+       	}
+
+        try {
+            strsrch.setIndex(128);
+            errln("Error expecting set offset error");
+        } catch (IndexOutOfBoundsException e) {
+        	logln("PASS: strsrch.setIndex(128) failed as expected");
+       	}
+
+        int index   = 0;
+        while (BASIC[index].text != null) {
+            SearchData  search      = BASIC[index ++];
+
+            text =search.text;
+            pattern = search.pattern;
+            strsrch.setTarget(new StringCharacterIterator(text));
+            strsrch.setPattern(pattern);
+            strsrch.getCollator().setStrength(search.strength);
+            strsrch.reset();
+
+            int count = 0;
+            int matchindex  = search.offset[count];
+
+            while (matchindex >= 0) {
+                int matchlength = search.size[count];
+                strsrch.next();
+                if (matchindex != strsrch.getMatchStart() ||
+                    matchlength != strsrch.getMatchLength()) {
+                    errln("Text: " + text);
+                    errln("Pattern: " + strsrch.getPattern());
+                    errln("Error match found at " + strsrch.getMatchStart() + ", " + strsrch.getMatchLength());
+                    return;
+                }
+                matchindex = search.offset[count + 1] == -1 ? -1 :
+                             search.offset[count + 2];
+                if (search.offset[count + 1] != -1) {
+                    strsrch.setIndex(search.offset[count + 1] + 1);
+                    if (strsrch.getIndex() != search.offset[count + 1] + 1) {
+                        errln("Error setting offset\n");
+                        return;
+                    }
+                }
+
+                count += 2;
+            }
+            strsrch.next();
+            if (strsrch.getMatchStart() != StringSearch.DONE) {
+                errln("Text: " + text);
+                errln("Pattern: " + strsrch.getPattern());
+                errln("Error match found at " + strsrch.getMatchStart() + ", " + strsrch.getMatchLength());
+                return;
+            }
+        }
+        strsrch.getCollator().setStrength(Collator.TERTIARY);
+    }
+
+    public void TestGetSetOffsetCanonical() {
+
+        String  text = "text";
+        String  pattern = "pattern";
+        StringSearch  strsrch = null;
+        try {
+            strsrch = new StringSearch(pattern, new StringCharacterIterator(text), m_en_us_, null);
+        } catch (Exception e) {
+            errln("Fail to open StringSearch!");
+            return;
+        }
+        strsrch.setCanonical(true);
+        /* testing out of bounds error */
+        try {
+            strsrch.setIndex(-1);
+            errln("Error expecting set offset error");
+        } catch (IndexOutOfBoundsException e) {
+        	logln("PASS: strsrch.setIndex(-1) failed as expected");
+       	}
+        try {
+            strsrch.setIndex(128);
+            errln("Error expecting set offset error");
+        } catch (IndexOutOfBoundsException e) {
+        	logln("PASS: strsrch.setIndex(128) failed as expected");
+       	}
+
+        int   index   = 0;
+        while (BASICCANONICAL[index].text != null) {
+            SearchData  search      = BASICCANONICAL[index ++];
+            if (BASICCANONICAL[index].text == null) {
+                // skip the last one
+                break;
+            }
+
+            text = search.text;
+            pattern = search.pattern;
+            strsrch.setTarget(new StringCharacterIterator(text));
+            strsrch.setPattern(pattern);
+            int         count       = 0;
+            int matchindex  = search.offset[count];
+            while (matchindex >= 0) {
+                int matchlength = search.size[count];
+                strsrch.next();
+                if (matchindex != strsrch.getMatchStart() ||
+                    matchlength != strsrch.getMatchLength()) {
+                    errln("Text: " + text);
+                    errln("Pattern: " + strsrch.getPattern());
+                    errln("Error match found at " + strsrch.getMatchStart() + ", " + strsrch.getMatchLength());
+                    return;
+                }
+                matchindex = search.offset[count + 1] == -1 ? -1 :
+                             search.offset[count + 2];
+                if (search.offset[count + 1] != -1) {
+                    strsrch.setIndex(search.offset[count + 1] + 1);
+                    if (strsrch.getIndex() != search.offset[count + 1] + 1) {
+                        errln("Error setting offset");
+                        return;
+                    }
+                }
+
+                count += 2;
+            }
+            strsrch.next();
+            if (strsrch.getMatchStart() != StringSearch.DONE) {
+                errln("Text: " + text);
+                errln("Pattern: %s" + strsrch.getPattern());
+                errln("Error match found at " + strsrch.getMatchStart() + ", " + strsrch.getMatchLength());
+                return;
+            }
+        }
+        strsrch.getCollator().setStrength(Collator.TERTIARY);
+    }
+
+    public void TestIgnorable() {
+        String rules = IGNORABLERULE;
+        int        count  = 0;
+        RuleBasedCollator collator = null;
+        try {
+            collator = new RuleBasedCollator(rules);
+            collator.setStrength(IGNORABLE[count].strength);
+            collator.setDecomposition(Collator.CANONICAL_DECOMPOSITION);
+        } catch (Exception e) {
+            errln("Error opening collator ");
+            return;
+        }
+        String pattern = "pattern";
+        String text = "text";
+        StringSearch strsrch = null;
+        try {
+            strsrch = new StringSearch(pattern, new StringCharacterIterator(text), collator, null);
+        } catch (Exception e) {
+            errln("Error opening string search ");
+            return;
+        }
+
+        while (IGNORABLE[count].text != null) {
+            text = IGNORABLE[count].text;
+            pattern = IGNORABLE[count].pattern;
+            strsrch.setTarget(new StringCharacterIterator(text));
+            strsrch.setPattern(pattern);
+            if (!assertEqualWithStringSearch(strsrch, IGNORABLE[count])) {
+                errln("Error at test number " + count);
+            }
+            count++;
+        }
+    }
+
+    public void TestInitialization() {
+        String  pattern;
+        String  text;
+        String  temp = "a";
+        StringSearch  result;
+
+        /* simple test on the pattern ce construction */
+        pattern = temp + temp;
+        text = temp + temp + temp;
+        try {
+            result = new StringSearch(pattern, new StringCharacterIterator(text), m_en_us_, null);
+        } catch (Exception e) {
+            errln("Error opening search ");
+            return;
+        }
+
+        /* testing if an extremely large pattern will fail the initialization */
+        pattern = "";
+        for (int count = 0; count < 512; count ++) {
+            pattern += temp;
+        }
+        try {
+            result = new StringSearch(pattern, new StringCharacterIterator(text), m_en_us_, null);
+            logln("pattern:" + result.getPattern());
+        } catch (Exception e) {
+            errln("Fail: an extremely large pattern will fail the initialization");
+            return;
+        }
+        if (result != result) {
+            errln("Error: string search object expected to match itself");
+        }
+
+    }
+
+    public void TestNormCanonical() {
+        m_en_us_.setDecomposition(Collator.CANONICAL_DECOMPOSITION);
+        int count = 0;
+        while (NORMCANONICAL[count].text != null) {
+            if (!assertCanonicalEqual(NORMCANONICAL[count])) {
+                errln("Error at test number " + count);
+            }
+            count++;
+        }
+        m_en_us_.setDecomposition(Collator.NO_DECOMPOSITION);
+    }
+
+    public void TestNormExact() {
+        int count = 0;
+        m_en_us_.setDecomposition(Collator.CANONICAL_DECOMPOSITION);
+        while (BASIC[count].text != null) {
+            if (!assertEqual(BASIC[count])) {
+                errln("Error at test number " + count);
+            }
+            count++;
+        }
+        count = 0;
+        while (NORMEXACT[count].text != null) {
+            if (!assertEqual(NORMEXACT[count])) {
+                errln("Error at test number " + count);
+            }
+            count++;
+        }
+        m_en_us_.setDecomposition(Collator.NO_DECOMPOSITION);
+        count = 0;
+        while (NONNORMEXACT[count].text != null) {
+            if (!assertEqual(NONNORMEXACT[count])) {
+                errln("Error at test number " + count);
+            }
+            count++;
+        }
+    }
+
+    public void TestOpenClose() {
+        StringSearch            result;
+        BreakIterator           breakiter = m_en_wordbreaker_;
+        String           pattern = "";
+        String           text = "";
+        String           temp  = "a";
+        StringCharacterIterator  chariter= new StringCharacterIterator(text);
+
+        /* testing null arguments */
+        try {
+            result = new StringSearch(pattern, new StringCharacterIterator(text), null, null);
+            errln("Error: null arguments should produce an error");
+        } catch (Exception e) {
+        	logln("PASS: null arguments failed as expected");
+       	}
+
+        chariter.setText(text);
+        try {
+            result = new StringSearch(pattern, chariter, null, null);
+            errln("Error: null arguments should produce an error");
+        } catch (Exception e) {
+        	logln("PASS: null arguments failed as expected");
+       	}
+
+        text  = String.valueOf(0x1);
+        try {
+            result = new StringSearch(pattern, new StringCharacterIterator(text), null, null);
+            errln("Error: Empty pattern should produce an error");
+        } catch (Exception e) {
+        	logln("PASS: Empty pattern failed as expected");
+        }
+
+        chariter.setText(text);
+        try {
+            result = new StringSearch(pattern, chariter, null, null);
+            errln("Error: Empty pattern should produce an error");
+        } catch (Exception e) {
+        	logln("PASS: Empty pattern failed as expected");
+        }
+
+        text = "";
+        pattern =temp;
+        try {
+            result = new StringSearch(pattern, new StringCharacterIterator(text), null, null);
+            errln("Error: Empty text should produce an error");
+        } catch (Exception e) {
+        	logln("PASS: Empty text failed as expected");
+        }
+
+        chariter.setText(text);
+        try {
+            result = new StringSearch(pattern, chariter, null, null);
+            errln("Error: Empty text should produce an error");
+        } catch (Exception e) {
+        	logln("PASS: Empty text failed as expected");
+    	}
+
+        text += temp;
+        try {
+            result = new StringSearch(pattern, new StringCharacterIterator(text), null, null);
+            errln("Error: null arguments should produce an error");
+        } catch (Exception e) {
+        	logln("PASS: null arguments failed as expected");
+       	}
+
+        chariter.setText(text);
+        try {
+            result = new StringSearch(pattern, chariter, null, null);
+            errln("Error: null arguments should produce an error");
+        } catch (Exception e) {
+        	logln("PASS: null arguments failed as expected");
+       	}
+
+        try {
+            result = new StringSearch(pattern, new StringCharacterIterator(text), m_en_us_, null);
+        } catch (Exception e) {
+            errln("Error: null break iterator is valid for opening search");
+        }
+
+        try {
+            result = new StringSearch(pattern, chariter, m_en_us_, null);
+        } catch (Exception e) {
+            errln("Error: null break iterator is valid for opening search");
+        }
+
+        try {
+            result = new StringSearch(pattern, new StringCharacterIterator(text), Locale.ENGLISH);
+        } catch (Exception e) {
+            errln("Error: null break iterator is valid for opening search");
+        }
+
+        try {
+            result = new StringSearch(pattern, chariter, Locale.ENGLISH);
+        } catch (Exception e) {
+            errln("Error: null break iterator is valid for opening search");
+        }
+
+        try {
+            result = new StringSearch(pattern, new StringCharacterIterator(text), m_en_us_, breakiter);
+        } catch (Exception e) {
+            errln("Error: Break iterator is valid for opening search");
+        }
+
+        try {
+            result = new StringSearch(pattern, chariter, m_en_us_, null);
+            logln("pattern:" + result.getPattern());
+        } catch (Exception e) {
+            errln("Error: Break iterator is valid for opening search");
+        }
+    }
+
+    public void TestOverlap() {
+        int count = 0;
+        while (OVERLAP[count].text != null) {
+            if (!assertEqualWithAttribute(OVERLAP[count], false, true)) {
+                errln("Error at overlap test number " + count);
+            }
+            count++;
+        }
+        count = 0;
+        while (NONOVERLAP[count].text != null) {
+            if (!assertEqual(NONOVERLAP[count])) {
+                errln("Error at non overlap test number " + count);
+            }
+            count++;
+        }
+
+        count = 0;
+        while (count < 1) {
+            SearchData search = (OVERLAP[count]);
+            String text = search.text;
+            String pattern = search.pattern;
+
+            RuleBasedCollator collator = getCollator(search.collator);
+            StringSearch strsrch = null;
+            try {
+                strsrch  = new StringSearch(pattern, new StringCharacterIterator(text), collator, null);
+            } catch (Exception e) {
+                errln("error open StringSearch");
+                return;
+            }
+
+            strsrch.setOverlapping(true);
+            if (!strsrch.isOverlapping()) {
+                errln("Error setting overlap option");
+            }
+            if (!assertEqualWithStringSearch(strsrch, search)) {
+                return;
+            }
+
+            search = NONOVERLAP[count];
+            strsrch.setOverlapping(false);
+            if (strsrch.isOverlapping()) {
+                errln("Error setting overlap option");
+            }
+            strsrch.reset();
+            if (!assertEqualWithStringSearch(strsrch, search)) {
+                errln("Error at test number " + count);
+             }
+            count ++;
+        }
+    }
+
+    public void TestOverlapCanonical() {
+        int count = 0;
+        while (OVERLAPCANONICAL[count].text != null) {
+            if (!assertEqualWithAttribute(OVERLAPCANONICAL[count], true,
+                                          true)) {
+                errln("Error at overlap test number %d" + count);
+            }
+            count ++;
+        }
+        count = 0;
+        while (NONOVERLAP[count].text != null) {
+            if (!assertCanonicalEqual(NONOVERLAPCANONICAL[count])) {
+                errln("Error at non overlap test number %d" + count);
+            }
+            count ++;
+        }
+
+        count = 0;
+        while (count < 1) {
+                 /* UChar       temp[128];
+            const SearchData *search = &(OVERLAPCANONICAL[count]);
+                  UErrorCode  status = U_ZERO_ERROR;*/
+            SearchData search = OVERLAPCANONICAL[count];
+
+            /*u_unescape(search.text, temp, 128);
+            UnicodeString text;
+            text.setTo(temp, u_strlen(temp));
+            u_unescape(search.pattern, temp, 128);
+            UnicodeString pattern;
+            pattern.setTo(temp, u_strlen(temp));*/
+            RuleBasedCollator collator = getCollator(search.collator);
+            StringSearch strsrch = new StringSearch(search.pattern, new StringCharacterIterator(search.text), collator, null);
+            strsrch.setCanonical(true);
+            strsrch.setOverlapping(true);
+            if (strsrch.isOverlapping() != true) {
+                errln("Error setting overlap option");
+            }
+            if (!assertEqualWithStringSearch(strsrch, search)) {
+                strsrch = null;
+                return;
+            }
+            search = NONOVERLAPCANONICAL[count];
+            strsrch.setOverlapping(false);
+            if (strsrch.isOverlapping() != false) {
+                errln("Error setting overlap option");
+            }
+            strsrch.reset();
+            if (!assertEqualWithStringSearch(strsrch, search)) {
+                strsrch = null;
+                errln("Error at test number %d" + count);
+             }
+
+            count ++;
+            strsrch = null;
+        }
+    }
+
+    public void TestPattern() {
+        m_en_us_.setStrength(PATTERN[0].strength);
+        StringSearch strsrch = new StringSearch(PATTERN[0].pattern, new StringCharacterIterator(PATTERN[0].text), m_en_us_, null);
+
+        /*if (U_FAILURE(status)) {
+            errln("Error opening string search %s", u_errorName(status));
+            m_en_us_.setStrength(getECollationStrength(UCOL_TERTIARY));
+            if (strsrch != NULL) {
+                delete strsrch;
+            }
+            return;
+        }*/
+
+        if (strsrch.getPattern() != PATTERN[0].pattern) {
+            errln("Error setting pattern");
+        }
+        if (!assertEqualWithStringSearch(strsrch, PATTERN[0])) {
+            m_en_us_.setStrength(Collator.TERTIARY);
+            if (strsrch != null) {
+                strsrch = null;
+            }
+            return;
+        }
+
+        strsrch.setPattern(PATTERN[1].pattern);
+        if (PATTERN[1].pattern != strsrch.getPattern()) {
+            errln("Error setting pattern");
+            m_en_us_.setStrength(Collator.TERTIARY);
+            if (strsrch != null) {
+                strsrch = null;
+            }
+            return;
+        }
+        strsrch.reset();
+
+        if (!assertEqualWithStringSearch(strsrch, PATTERN[1])) {
+            m_en_us_.setStrength(Collator.TERTIARY);
+            if (strsrch != null) {
+                strsrch = null;
+            }
+            return;
+        }
+
+        strsrch.setPattern(PATTERN[0].pattern);
+        if (PATTERN[0].pattern != strsrch.getPattern()) {
+            errln("Error setting pattern");
+            m_en_us_.setStrength(Collator.TERTIARY);
+            if (strsrch != null) {
+                strsrch = null;
+            }
+            return;
+        }
+            strsrch.reset();
+
+        if (!assertEqualWithStringSearch(strsrch, PATTERN[0])) {
+            m_en_us_.setStrength(Collator.TERTIARY);
+            if (strsrch != null) {
+                strsrch = null;
+            }
+            return;
+        }
+        /* enormous pattern size to see if this crashes */
+        String pattern = "";
+        for (int templength = 0; templength != 512; templength ++) {
+            pattern += 0x61;
+        }
+        try{
+            strsrch.setPattern(pattern);
+        }catch(Exception e) {
+            errln("Error setting pattern with size 512");
+        }
+
+        m_en_us_.setStrength(Collator.TERTIARY);
+        if (strsrch != null) {
+            strsrch = null;
+        }
+    }
+
+    public void TestPatternCanonical() {
+        //StringCharacterIterator text = new StringCharacterIterator(PATTERNCANONICAL[0].text);
+        m_en_us_.setStrength(PATTERNCANONICAL[0].strength);
+        StringSearch strsrch = new StringSearch(PATTERNCANONICAL[0].pattern, new StringCharacterIterator(PATTERNCANONICAL[0].text),
+                                                m_en_us_, null);
+        strsrch.setCanonical(true);
+
+        if (PATTERNCANONICAL[0].pattern != strsrch.getPattern()) {
+            errln("Error setting pattern");
+        }
+        if (!assertEqualWithStringSearch(strsrch, PATTERNCANONICAL[0])) {
+            m_en_us_.setStrength(Collator.TERTIARY);
+            strsrch = null;
+            return;
+        }
+
+        strsrch.setPattern(PATTERNCANONICAL[1].pattern);
+        if (PATTERNCANONICAL[1].pattern != strsrch.getPattern()) {
+            errln("Error setting pattern");
+            m_en_us_.setStrength(Collator.TERTIARY);
+            strsrch = null;
+            return;
+        }
+        strsrch.reset();
+        strsrch.setCanonical(true);
+
+        if (!assertEqualWithStringSearch(strsrch, PATTERNCANONICAL[1])) {
+            m_en_us_.setStrength(Collator.TERTIARY);
+            strsrch = null;
+            return;
+        }
+
+        strsrch.setPattern(PATTERNCANONICAL[0].pattern);
+        if (PATTERNCANONICAL[0].pattern != strsrch.getPattern()) {
+            errln("Error setting pattern");
+            m_en_us_.setStrength(Collator.TERTIARY);
+            strsrch = null;
+            return;
+        }
+
+        strsrch.reset();
+        strsrch.setCanonical(true);
+        if (!assertEqualWithStringSearch(strsrch, PATTERNCANONICAL[0])) {
+            m_en_us_.setStrength(Collator.TERTIARY);
+            strsrch = null;
+            return;
+        }
+    }
+
+    public void TestReset() {
+        StringCharacterIterator text = new StringCharacterIterator("fish fish");
+        String pattern = "s";
+
+        StringSearch  strsrch = new StringSearch(pattern, text, m_en_us_, null);
+        strsrch.setOverlapping(true);
+        strsrch.setCanonical(true);
+        strsrch.setIndex(9);
+        strsrch.reset();
+        if (strsrch.isCanonical() || strsrch.isOverlapping() ||
+            strsrch.getIndex() != 0 || strsrch.getMatchLength() != 0 ||
+            strsrch.getMatchStart() != SearchIterator.DONE) {
+                errln("Error resetting string search");
+        }
+
+        strsrch.previous();
+        if (strsrch.getMatchStart() != 7 || strsrch.getMatchLength() != 1) {
+            errln("Error resetting string search\n");
+        }
+    }
+
+    public void TestSetMatch() {
+        int count = 0;
+        while (MATCH[count].text != null) {
+            SearchData     search = MATCH[count];
+            StringSearch strsrch = new StringSearch(search.pattern, new StringCharacterIterator(search.text),
+                                                    m_en_us_, null);
+
+            int size = 0;
+            while (search.offset[size] != -1) {
+                size ++;
+            }
+
+            if (strsrch.first() != search.offset[0]) {
+                errln("Error getting first match");
+            }
+            if (strsrch.last() != search.offset[size -1]) {
+                errln("Error getting last match");
+            }
+
+            int index = 0;
+            while (index < size) {
+                if (index + 2 < size) {
+                    if (strsrch.following(search.offset[index + 2] - 1) != search.offset[index + 2]) {
+                        errln("Error getting following match at index " + (search.offset[index + 2]-1));
+                    }
+                }
+                if (index + 1 < size) {
+                    if (strsrch.preceding(search.offset[index + 1] + search.size[index + 1] + 1) != search.offset[index + 1]) {
+                        errln("Error getting preceeding match at index " + (search.offset[index + 1] + 1));
+                    }
+                }
+                index += 2;
+            }
+
+            if (strsrch.following(search.text.length()) != SearchIterator.DONE) {
+                errln("Error expecting out of bounds match");
+            }
+            if (strsrch.preceding(0) != SearchIterator.DONE) {
+                errln("Error expecting out of bounds match");
+            }
+            count ++;
+            strsrch = null;
+        }
+    }
+
+    public void TestStrength() {
+        int count = 0;
+        while (STRENGTH[count].text != null) {
+            if (count == 3) count ++;
+            if (!assertEqual(STRENGTH[count])) {
+                errln("Error at test number " + count);
+            }
+            count ++;
+        }
+    }
+
+    public void TestStrengthCanonical() {
+        int count = 0;
+        while (STRENGTHCANONICAL[count].text != null) {
+            if (count == 3) count ++;
+            if (!assertCanonicalEqual(STRENGTHCANONICAL[count])) {
+                errln("Error at test number" + count);
+            }
+            count ++;
+        }
+    }
+
+    public void TestSupplementary() {
+        int count = 0;
+        while (SUPPLEMENTARY[count].text != null) {
+            if (!assertEqual(SUPPLEMENTARY[count])) {
+                errln("Error at test number " + count);
+            }
+            count ++;
+        }
+    }
+
+    public void TestSupplementaryCanonical() {
+        int count = 0;
+        while (SUPPLEMENTARYCANONICAL[count].text != null) {
+            if (!assertCanonicalEqual(SUPPLEMENTARYCANONICAL[count])) {
+                errln("Error at test number" + count);
+            }
+            count ++;
+        }
+    }
+
+    public void TestText() {
+        SearchData TEXT[] = {
+            new SearchData("the foxy brown fox", "fox", null, Collator.TERTIARY, null, new int[] {4, 15, -1}, new int[] {3, 3}),
+            new SearchData("the quick brown fox", "fox", null, Collator.TERTIARY, null, new int[] {16, -1}, new int[] {3}),
+            new SearchData(null, null, null, Collator.TERTIARY, null, new int[] {-1}, new int[]{0})
+        };
+        StringCharacterIterator t = new StringCharacterIterator(TEXT[0].text);
+        StringSearch strsrch = new StringSearch(TEXT[0].pattern, t, m_en_us_, null);
+
+        if (!t.equals(strsrch.getTarget())) {
+            errln("Error setting text");
+        }
+        if (!assertEqualWithStringSearch(strsrch, TEXT[0])) {
+            errln("Error at assertEqualWithStringSearch");
+            return;
+        }
+
+        t = new StringCharacterIterator(TEXT[1].text);
+        strsrch.setTarget(t);
+        if (!t.equals(strsrch.getTarget())) {
+            errln("Error setting text");
+            return;
+        }
+
+        if (!assertEqualWithStringSearch(strsrch, TEXT[1])) {
+            errln("Error at assertEqualWithStringSearch");
+            return;
+        }
+    }
+
+    public void TestTextCanonical() {
+        StringCharacterIterator t = new StringCharacterIterator(TEXTCANONICAL[0].text);
+        StringSearch strsrch = new StringSearch(TEXTCANONICAL[0].pattern, t, m_en_us_, null);
+        strsrch.setCanonical(true);
+
+        if (!t.equals(strsrch.getTarget())) {
+            errln("Error setting text");
+        }
+        if (!assertEqualWithStringSearch(strsrch, TEXTCANONICAL[0])) {
+            strsrch = null;
+            return;
+        }
+
+        t = new StringCharacterIterator(TEXTCANONICAL[1].text);
+        strsrch.setTarget(t);
+        if (!t.equals(strsrch.getTarget())) {
+            errln("Error setting text");
+            strsrch = null;
+            return;
+        }
+
+        if (!assertEqualWithStringSearch(strsrch, TEXTCANONICAL[1])) {
+            strsrch = null;
+            return;
+        }
+
+        t = new StringCharacterIterator(TEXTCANONICAL[0].text);
+        strsrch.setTarget(t);
+        if (!t.equals(strsrch.getTarget())) {
+            errln("Error setting text");
+            strsrch = null;
+            return;
+        }
+
+        if (!assertEqualWithStringSearch(strsrch, TEXTCANONICAL[0])) {
+            errln("Error at assertEqualWithStringSearch");
+            strsrch = null;
+            return;
+        }
+    }
+
+    public void TestVariable() {
+        int count = 0;
+        m_en_us_.setAlternateHandlingShifted(true);
+        while (VARIABLE[count].text != null) {
+            // logln("variable" + count);
+            if (!assertEqual(VARIABLE[count])) {
+                errln("Error at test number " + count);
+            }
+            count ++;
+        }
+        m_en_us_.setAlternateHandlingShifted(false);
+    }
+
+    public void TestVariableCanonical() {
+        int count = 0;
+        m_en_us_.setAlternateHandlingShifted(true);
+        while (VARIABLE[count].text != null) {
+            // logln("variable " + count);
+            if (!assertCanonicalEqual(VARIABLE[count])) {
+                errln("Error at test number " + count);
+            }
+            count ++;
+        }
+        m_en_us_.setAlternateHandlingShifted(false);
+    }
+
+    public void TestSubClass()
+    {
+        class TestSearch extends SearchIterator
+        {
+            String pattern;
+            String text;
+
+            TestSearch(StringCharacterIterator target, BreakIterator breaker,
+                       String pattern)
+            {
+                super(target, breaker);
+                this.pattern = pattern;
+                StringBuffer buffer = new StringBuffer();
+                while (targetText.getIndex() != targetText.getEndIndex()) {
+                    buffer.append(targetText.current());
+                    targetText.next();
+                }
+                text = buffer.toString();
+                targetText.setIndex(targetText.getBeginIndex());
+            }
+            protected int handleNext(int start)
+            {
+                int match = text.indexOf(pattern, start);
+                if (match < 0) {
+                    targetText.last();
+                    return DONE;
+                }
+                targetText.setIndex(match);
+                setMatchLength(pattern.length());
+                return match;
+            }
+            protected int handlePrevious(int start)
+            {
+                int match = text.lastIndexOf(pattern, start - 1);
+                if (match < 0) {
+                    targetText.setIndex(0);
+                    return DONE;
+                }
+                targetText.setIndex(match);
+                setMatchLength(pattern.length());
+                return match;
+            }
+
+            public int getIndex()
+            {
+                int result = targetText.getIndex();
+                if (result < 0 || result >= text.length()) {
+                    return DONE;
+                }
+                return result;
+            }
+        }
+
+        TestSearch search = new TestSearch(
+                            new StringCharacterIterator("abc abcd abc"),
+                            null, "abc");
+        int expected[] = {0, 4, 9};
+        for (int i = 0; i < expected.length; i ++) {
+            if (search.next() != expected[i]) {
+                errln("Error getting next match");
+            }
+            if (search.getMatchLength() != search.pattern.length()) {
+                errln("Error getting next match length");
+            }
+        }
+        if (search.next() != SearchIterator.DONE) {
+            errln("Error should have reached the end of the iteration");
+        }
+        for (int i = expected.length - 1; i >= 0; i --) {
+            if (search.previous() != expected[i]) {
+                errln("Error getting next match");
+            }
+            if (search.getMatchLength() != search.pattern.length()) {
+                errln("Error getting next match length");
+            }
+        }
+        if (search.previous() != SearchIterator.DONE) {
+            errln("Error should have reached the start of the iteration");
+        }
+    }
+}
\ No newline at end of file
diff --git a/src/com/ibm/icu/dev/test/search/package.html b/src/com/ibm/icu/dev/test/search/package.html
new file mode 100755
index 0000000..522397a
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/search/package.html
@@ -0,0 +1,12 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html>
+<head>
+<!--  Copyright (C) 2000-2004, International Business Machines Corporation and
+  others. All Rights Reserved.
+
+-->
+</head>
+<body bgcolor="white">
+Tests for the international search classes.
+</body>
+</html>
\ No newline at end of file
diff --git a/src/com/ibm/icu/dev/test/security.policy b/src/com/ibm/icu/dev/test/security.policy
new file mode 100644
index 0000000..d64983b
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/security.policy
@@ -0,0 +1,34 @@
+// policies needed to run tests
+grant // codebase "file:${user.dir}/icu4jtests.jar"
+{
+	// temporary for debugging
+        // permission java.lang.RuntimePermission "getProtectionDomain";
+
+	// ibm 141 on ibm xp can't use reflection
+	permission java.lang.RuntimePermission "accessDeclaredMembers";
+
+	// needed for Locale.setDefault, only used in tests and demos
+	permission java.util.PropertyPermission "user.language", "write";
+
+	// needed for TestUtils
+	permission java.util.PropertyPermission "ICUDataPath", "read";
+	permission java.util.PropertyPermission "user.dir", "read";
+
+	// time zone tests
+	permission java.util.PropertyPermission "user.timezone", "read";
+};
+
+// there must be a way for code in one jar file to call code in another jar
+// file and give the called code permission to read the calling code's
+// jar.  they're in different protection domains despite being on the
+// same classpath and being loaded by the same class loader, so the class
+// loader doesn't disambiguate which protection domain we're using. it's
+// not easy to figure out the security docs, sigh.
+//
+// this is so ICUData (in icu4j.jar), called from test code (in icu4jtests.jar)
+// can read test resource files (in icu4jtests.jar"
+//
+grant codebase "file:${user.dir}/icu4j.jar"
+{
+	permission java.io.FilePermission "${/}${user.dir}${/}icu4jtests.jar", "read";
+};
\ No newline at end of file
diff --git a/src/com/ibm/icu/dev/test/shaping/ArabicShapingRegTest.java b/src/com/ibm/icu/dev/test/shaping/ArabicShapingRegTest.java
new file mode 100755
index 0000000..fa5d1b0
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/shaping/ArabicShapingRegTest.java
@@ -0,0 +1,505 @@
+/*
+*******************************************************************************
+*   Copyright (C) 2001-2005, International Business Machines
+*   Corporation and others.  All Rights Reserved.
+*******************************************************************************
+*/
+
+package com.ibm.icu.dev.test.shaping;
+
+import java.util.MissingResourceException;
+
+import com.ibm.icu.dev.test.TestFmwk;
+import com.ibm.icu.text.ArabicShaping;
+import com.ibm.icu.text.ArabicShapingException;
+
+import java.util.MissingResourceException;
+
+/**
+ * Regression test for Arabic shaping.
+ */
+public class ArabicShapingRegTest extends TestFmwk {
+
+    /* constants copied from ArabicShaping for convenience */
+
+    public static final int LENGTH_GROW_SHRINK = 0;
+    public static final int LENGTH_FIXED_SPACES_NEAR = 1;
+    public static final int LENGTH_FIXED_SPACES_AT_END = 2;
+    public static final int LENGTH_FIXED_SPACES_AT_BEGINNING = 3;
+
+    public static final int TEXT_DIRECTION_LOGICAL = 0;
+    public static final int TEXT_DIRECTION_VISUAL_LTR = 4;
+
+    public static final int LETTERS_NOOP = 0;
+    public static final int LETTERS_SHAPE = 8;
+    public static final int LETTERS_SHAPE_TASHKEEL_ISOLATED = 0x18;
+    public static final int LETTERS_UNSHAPE = 0x10;
+
+    public static final int DIGITS_NOOP = 0;
+    public static final int DIGITS_EN2AN = 0x20;
+    public static final int DIGITS_AN2EN = 0x40;
+    public static final int DIGITS_EN2AN_INIT_LR = 0x60;
+    public static final int DIGITS_EN2AN_INIT_AL = 0x80;
+    private static final int DIGITS_RESERVED = 0xa0;
+
+    public static final int DIGIT_TYPE_AN = 0;
+    public static final int DIGIT_TYPE_AN_EXTENDED = 0x100;
+
+    public static class TestData {
+        public int type;
+        public String source;
+        public int flags;
+        public String result;
+        public int length;
+        public Class error;
+
+        public static final int STANDARD = 0;
+        public static final int PREFLIGHT = 1;
+        public static final int ERROR = 2;
+
+        public static TestData standard(String source, int flags, String result) {
+            return new TestData(STANDARD, source, flags, result, 0, null);
+        }
+
+        public static TestData preflight(String source, int flags, int length) {
+            return new TestData(PREFLIGHT, source, flags, null, length, null);
+        }
+
+        public static TestData error(String source, int flags, Class error) {
+            return new TestData(ERROR, source, flags, null, 0, error);
+        }
+
+        private TestData(int type, String source, int flags, String result, int length, Class error) {
+            this.type = type;
+            this.source = source;
+            this.flags = flags;
+            this.result = result;
+            this.length = length;
+            this.error = error;
+        }
+
+        private static final String[] typenames = { "standard", "preflight", "error" };
+
+        public String toString() {
+            StringBuffer buf = new StringBuffer(super.toString());
+            buf.append("[\n");
+            buf.append(typenames[type]);
+            buf.append(",\n");
+            if (source == null) {
+                buf.append("null");
+            } else {
+                buf.append('"');
+                buf.append(escapedString(source));
+                buf.append('"');
+            }
+            buf.append(",\n");
+            buf.append(Integer.toHexString(flags));
+            buf.append(",\n");
+            if (result == null) {
+                buf.append("null");
+            } else {
+                buf.append('"');
+                buf.append(escapedString(result));
+                buf.append('"');
+            }
+            buf.append(",\n");
+            buf.append(length);
+            buf.append(",\n");
+            buf.append(error);
+            buf.append(']');
+            return buf.toString();
+        }
+    }
+
+    private static final String lamAlefSpecialVLTR =
+        "\u0020\u0646\u0622\u0644\u0627\u0020" +
+         "\u0646\u0623\u064E\u0644\u0627\u0020" +
+         "\u0646\u0627\u0670\u0644\u0627\u0020" +
+         "\u0646\u0622\u0653\u0644\u0627\u0020" +
+         "\u0646\u0625\u0655\u0644\u0627\u0020" +
+         "\u0646\u0622\u0654\u0644\u0627\u0020" +
+         "\uFEFC\u0639";
+
+    private static final String tashkeelSpecialVLTR =
+        "\u064A\u0628\u0631\u0639\u0020" +
+        "\u064A\u0628\u0651\u0631\u064E\u0639\u0020" +
+        "\u064C\u064A\u0628\u0631\u064F\u0639\u0020" +
+        "\u0628\u0670\u0631\u0670\u0639\u0020" +
+        "\u0628\u0653\u0631\u0653\u0639\u0020" +
+        "\u0628\u0654\u0631\u0654\u0639\u0020" +
+        "\u0628\u0655\u0631\u0655\u0639\u0020";
+
+    private static final String logicalUnshape =
+        "\u0020\u0020\u0020\uFE8D\uFEF5\u0020\uFEE5\u0020\uFE8D\uFEF7\u0020" +
+        "\uFED7\uFEFC\u0020\uFEE1\u0020\uFE8D\uFEDF\uFECC\uFEAE\uFE91\uFEF4" +
+        "\uFE94\u0020\uFE8D\uFEDF\uFEA4\uFEAE\uFE93\u0020\u0020\u0020\u0020";
+
+    private static final String numSource =
+        "\u0031" +  /* en:1 */
+        "\u0627" +  /* arabic:alef */
+        "\u0032" +  /* en:2 */
+        "\u06f3" +  /* an:3 */
+        "\u0061" +  /* latin:a */
+        "\u0034";   /* en:4 */
+
+    private static final TestData[] standardTests = {
+        /* lam alef special visual ltr */
+        TestData.standard(lamAlefSpecialVLTR,
+                          LETTERS_SHAPE | TEXT_DIRECTION_VISUAL_LTR | LENGTH_FIXED_SPACES_NEAR,
+                          "\u0020\ufee5\u0020\ufef5\ufe8d\u0020" +
+                          "\ufee5\u0020\ufe76\ufef7\ufe8d\u0020" +
+                          "\ufee5\u0020\u0670\ufefb\ufe8d\u0020" +
+                          "\ufee5\u0020\u0653\ufef5\ufe8d\u0020" +
+                          "\ufee5\u0020\u0655\ufef9\ufe8d\u0020" +
+                          "\ufee5\u0020\u0654\ufef5\ufe8d\u0020" +
+                          "\ufefc\ufecb"),
+        TestData.standard(lamAlefSpecialVLTR,
+                          LETTERS_SHAPE | TEXT_DIRECTION_VISUAL_LTR | LENGTH_FIXED_SPACES_AT_END,
+                          "\u0020\ufee5\ufef5\ufe8d\u0020\ufee5" +
+                          "\ufe76\ufef7\ufe8d\u0020\ufee5\u0670" +
+                          "\ufefb\ufe8d\u0020\ufee5\u0653\ufef5" +
+                          "\ufe8d\u0020\ufee5\u0655\ufef9\ufe8d" +
+                          "\u0020\ufee5\u0654\ufef5\ufe8d\u0020" +
+                          "\ufefc\ufecb\u0020\u0020\u0020\u0020" +
+                          "\u0020\u0020"),
+        TestData.standard(lamAlefSpecialVLTR,
+                          LETTERS_SHAPE | TEXT_DIRECTION_VISUAL_LTR | LENGTH_FIXED_SPACES_AT_BEGINNING,
+                          "\u0020\u0020\u0020\u0020\u0020\u0020" +
+                          "\u0020\ufee5\ufef5\ufe8d\u0020\ufee5" +
+                          "\ufe76\ufef7\ufe8d\u0020\ufee5\u0670" +
+                          "\ufefb\ufe8d\u0020\ufee5\u0653\ufef5" +
+                          "\ufe8d\u0020\ufee5\u0655\ufef9\ufe8d" +
+                          "\u0020\ufee5\u0654\ufef5\ufe8d\u0020" +
+                          "\ufefc\ufecb"),
+        TestData.standard(lamAlefSpecialVLTR,
+                          LETTERS_SHAPE | TEXT_DIRECTION_VISUAL_LTR | LENGTH_GROW_SHRINK,
+                          "\u0020\ufee5\ufef5\ufe8d\u0020\ufee5" +
+                          "\ufe76\ufef7\ufe8d\u0020\ufee5\u0670" +
+                          "\ufefb\ufe8d\u0020\ufee5\u0653\ufef5" +
+                          "\ufe8d\u0020\ufee5\u0655\ufef9\ufe8d" +
+                          "\u0020\ufee5\u0654\ufef5\ufe8d\u0020" +
+                          "\ufefc\ufecb"),
+
+        /* TASHKEEL */
+        TestData.standard(lamAlefSpecialVLTR,
+                          LETTERS_SHAPE_TASHKEEL_ISOLATED | TEXT_DIRECTION_VISUAL_LTR | LENGTH_FIXED_SPACES_NEAR,
+                          "\u0020\ufee5\u0020\ufef5\ufe8d\u0020" +
+                          "\ufee5\u0020\ufe76\ufef7\ufe8d\u0020" +
+                          "\ufee5\u0020\u0670\ufefb\ufe8d\u0020" +
+                          "\ufee5\u0020\u0653\ufef5\ufe8d\u0020" +
+                          "\ufee5\u0020\u0655\ufef9\ufe8d\u0020" +
+                          "\ufee5\u0020\u0654\ufef5\ufe8d\u0020" +
+                          "\ufefc\ufecb"),
+        TestData.standard(lamAlefSpecialVLTR,
+                          LETTERS_SHAPE_TASHKEEL_ISOLATED | TEXT_DIRECTION_VISUAL_LTR | LENGTH_FIXED_SPACES_AT_END,
+                          "\u0020\ufee5\ufef5\ufe8d\u0020\ufee5" +
+                          "\ufe76\ufef7\ufe8d\u0020\ufee5\u0670" +
+                          "\ufefb\ufe8d\u0020\ufee5\u0653\ufef5" +
+                          "\ufe8d\u0020\ufee5\u0655\ufef9\ufe8d" +
+                          "\u0020\ufee5\u0654\ufef5\ufe8d\u0020" +
+                          "\ufefc\ufecb\u0020\u0020\u0020\u0020" +
+                          "\u0020\u0020"),
+        TestData.standard(lamAlefSpecialVLTR,
+                          LETTERS_SHAPE_TASHKEEL_ISOLATED | TEXT_DIRECTION_VISUAL_LTR | LENGTH_FIXED_SPACES_AT_BEGINNING,
+                          "\u0020\u0020\u0020\u0020\u0020\u0020" +
+                          "\u0020\ufee5\ufef5\ufe8d\u0020\ufee5" +
+                          "\ufe76\ufef7\ufe8d\u0020\ufee5\u0670" +
+                          "\ufefb\ufe8d\u0020\ufee5\u0653\ufef5" +
+                          "\ufe8d\u0020\ufee5\u0655\ufef9\ufe8d" +
+                          "\u0020\ufee5\u0654\ufef5\ufe8d\u0020" +
+                          "\ufefc\ufecb"),
+        TestData.standard(lamAlefSpecialVLTR,
+                          LETTERS_SHAPE_TASHKEEL_ISOLATED | TEXT_DIRECTION_VISUAL_LTR | LENGTH_GROW_SHRINK,
+                          "\u0020\ufee5\ufef5\ufe8d\u0020\ufee5" +
+                          "\ufe76\ufef7\ufe8d\u0020\ufee5\u0670" +
+                          "\ufefb\ufe8d\u0020\ufee5\u0653\ufef5" +
+                          "\ufe8d\u0020\ufee5\u0655\ufef9\ufe8d" +
+                          "\u0020\ufee5\u0654\ufef5\ufe8d\u0020" +
+                          "\ufefc\ufecb"),
+
+        /* tashkeel special visual ltr */
+        TestData.standard(tashkeelSpecialVLTR,
+                          LETTERS_SHAPE | TEXT_DIRECTION_VISUAL_LTR | LENGTH_FIXED_SPACES_NEAR,
+                          "\ufef2\ufe91\ufeae\ufecb\u0020" +
+                          "\ufef2\ufe91\ufe7c\ufeae\ufe77\ufecb\u0020" +
+                          "\ufe72\ufef2\ufe91\ufeae\ufe79\ufecb\u0020" +
+                          "\ufe8f\u0670\ufeae\u0670\ufecb\u0020" +
+                          "\ufe8f\u0653\ufeae\u0653\ufecb\u0020" +
+                          "\ufe8f\u0654\ufeae\u0654\ufecb\u0020" +
+                          "\ufe8f\u0655\ufeae\u0655\ufecb\u0020"),
+
+        TestData.standard(tashkeelSpecialVLTR,
+                          LETTERS_SHAPE_TASHKEEL_ISOLATED | TEXT_DIRECTION_VISUAL_LTR | LENGTH_FIXED_SPACES_NEAR,
+                          "\ufef2\ufe91\ufeae\ufecb\u0020" +
+                          "\ufef2\ufe91\ufe7c\ufeae\ufe76\ufecb\u0020" +
+                          "\ufe72\ufef2\ufe91\ufeae\ufe78\ufecb\u0020" +
+                          "\ufe8f\u0670\ufeae\u0670\ufecb\u0020" +
+                          "\ufe8f\u0653\ufeae\u0653\ufecb\u0020" +
+                          "\ufe8f\u0654\ufeae\u0654\ufecb\u0020" +
+                          "\ufe8f\u0655\ufeae\u0655\ufecb\u0020"),
+
+        /* logical unshape */
+        TestData.standard(logicalUnshape,
+                          LETTERS_UNSHAPE | TEXT_DIRECTION_LOGICAL | LENGTH_FIXED_SPACES_NEAR,
+                          "\u0020\u0020\u0020\u0627\u0644\u0622\u0646\u0020\u0627\u0644\u0623\u0642\u0644\u0627" +
+                          "\u0645\u0020\u0627\u0644\u0639\u0631\u0628\u064a\u0629\u0020\u0627\u0644\u062d\u0631" +
+                          "\u0629\u0020\u0020\u0020\u0020"),
+        TestData.standard(logicalUnshape,
+                          LETTERS_UNSHAPE | TEXT_DIRECTION_LOGICAL | LENGTH_FIXED_SPACES_AT_END,
+                          "\u0020\u0020\u0020\u0627\u0644\u0622\u0020\u0646\u0020\u0627\u0644\u0623\u0020\u0642" +
+                          "\u0644\u0627\u0020\u0645\u0020\u0627\u0644\u0639\u0631\u0628\u064a\u0629\u0020\u0627" +
+                          "\u0644\u062d\u0631\u0629\u0020"),
+        TestData.standard(logicalUnshape,
+                          LETTERS_UNSHAPE | TEXT_DIRECTION_LOGICAL | LENGTH_FIXED_SPACES_AT_BEGINNING,
+                          "\u0627\u0644\u0622\u0020\u0646\u0020\u0627\u0644\u0623\u0020\u0642\u0644\u0627\u0020" +
+                          "\u0645\u0020\u0627\u0644\u0639\u0631\u0628\u064a\u0629\u0020\u0627\u0644\u062d\u0631" +
+                          "\u0629\u0020\u0020\u0020\u0020"),
+        TestData.standard(logicalUnshape,
+                          LETTERS_UNSHAPE | TEXT_DIRECTION_LOGICAL | LENGTH_GROW_SHRINK,
+                          "\u0020\u0020\u0020\u0627\u0644\u0622\u0020\u0646\u0020\u0627\u0644\u0623\u0020\u0642" +
+                          "\u0644\u0627\u0020\u0645\u0020\u0627\u0644\u0639\u0631\u0628\u064a\u0629\u0020\u0627" +
+                          "\u0644\u062d\u0631\u0629\u0020\u0020\u0020\u0020"),
+
+        /* numbers */
+        TestData.standard(numSource,
+                          DIGITS_EN2AN | DIGIT_TYPE_AN,
+                          "\u0661\u0627\u0662\u06f3\u0061\u0664"),
+        TestData.standard(numSource,
+                          DIGITS_AN2EN | DIGIT_TYPE_AN_EXTENDED,
+                          "\u0031\u0627\u0032\u0033\u0061\u0034"),
+        TestData.standard(numSource,
+                          DIGITS_EN2AN_INIT_LR | DIGIT_TYPE_AN,
+                          "\u0031\u0627\u0662\u06f3\u0061\u0034"),
+        TestData.standard(numSource,
+                          DIGITS_EN2AN_INIT_AL | DIGIT_TYPE_AN_EXTENDED,
+                          "\u06f1\u0627\u06f2\u06f3\u0061\u0034"),
+        TestData.standard(numSource,
+                          DIGITS_EN2AN_INIT_LR | DIGIT_TYPE_AN | TEXT_DIRECTION_VISUAL_LTR,
+                          "\u0661\u0627\u0032\u06f3\u0061\u0034"),
+        TestData.standard(numSource,
+                          DIGITS_EN2AN_INIT_AL | DIGIT_TYPE_AN_EXTENDED | TEXT_DIRECTION_VISUAL_LTR,
+                          "\u06f1\u0627\u0032\u06f3\u0061\u06f4"),
+
+        /* no-op */
+        TestData.standard(numSource,
+                          0,
+                          numSource),
+    };
+
+    private static final TestData[] preflightTests = {
+        /* preflight */
+        TestData.preflight("\u0644\u0627",
+                           LETTERS_SHAPE | LENGTH_GROW_SHRINK,
+                           1),
+
+        TestData.preflight("\u0644\u0627\u0031",
+                           DIGITS_EN2AN | DIGIT_TYPE_AN_EXTENDED | LENGTH_GROW_SHRINK,
+                           3),
+
+        TestData.preflight("\u0644\u0644",
+                           LETTERS_SHAPE | LENGTH_GROW_SHRINK,
+                           2),
+
+        TestData.preflight("\ufef7",
+                           LETTERS_UNSHAPE | LENGTH_GROW_SHRINK,
+                           2),
+    };
+
+    private static final TestData[] errorTests = {
+        /* bad data */
+        TestData.error("\u0020\ufef7\u0644\u0020",
+                       LETTERS_UNSHAPE | LENGTH_FIXED_SPACES_NEAR,
+                       ArabicShapingException.class),
+
+        TestData.error("\u0020\ufef7",
+                       LETTERS_UNSHAPE | LENGTH_FIXED_SPACES_AT_END,
+                       ArabicShapingException.class),
+
+        TestData.error("\ufef7\u0020",
+                       LETTERS_UNSHAPE | LENGTH_FIXED_SPACES_AT_BEGINNING,
+                       ArabicShapingException.class),
+
+        /* bad options */
+        TestData.error("\ufef7",
+                       0xffffffff,
+                       IllegalArgumentException.class),
+
+        TestData.error("\ufef7",
+                       LETTERS_UNSHAPE | LENGTH_GROW_SHRINK,
+                       ArabicShapingException.class),
+
+        TestData.error(null,
+                       LETTERS_UNSHAPE | LENGTH_FIXED_SPACES_AT_END,
+                       IllegalArgumentException.class),
+    };
+
+    public void testStandard() {
+        for (int i = 0; i < standardTests.length; ++i) {
+            TestData test = standardTests[i];
+
+            Exception ex = null;
+            String result = null;
+            ArabicShaping shaper = null;
+
+            try {
+                shaper = new ArabicShaping(test.flags);
+                result = shaper.shape(test.source);
+            }
+            catch(MissingResourceException e){
+                throw e;
+            }
+            catch (Exception e) {
+                ex = e;
+            }
+            catch (InternalError ie){
+                warnln("InternalError: "+ie.toString());
+                return;
+            }
+
+            if (!test.result.equals(result)) {
+                reportTestFailure(i, test, shaper, result, ex);
+            }
+        }
+    }
+
+    public void testPreflight() {
+        for (int i = 0; i < preflightTests.length; ++i) {
+            TestData test = preflightTests[i];
+
+            Exception ex = null;
+            char src[] = null;
+            int len = 0;
+            ArabicShaping shaper = null;
+
+            if (test.source != null) {
+                src = test.source.toCharArray();
+            }
+
+            try {
+                shaper = new ArabicShaping(test.flags);
+                len = shaper.shape(src, 0, src.length, null, 0, 0);
+            }
+            catch (Exception e) {
+                ex = e;
+            }
+
+            if (test.length != len) {
+                reportTestFailure(i, test, shaper, test.source, ex);
+            }
+        }
+    }
+
+    public void testError() {
+        for (int i = 0; i < errorTests.length; ++i) {
+            TestData test = errorTests[i];
+
+            Exception ex = null;
+            char src[] = null;
+            int len = 0;
+            ArabicShaping shaper = null;
+
+            if (test.source != null) {
+                src = test.source.toCharArray();
+                len = src.length;
+            }
+
+            try {
+                shaper = new ArabicShaping(test.flags);
+                shaper.shape(src, 0, len);
+            }
+            catch (Exception e) {
+                ex = e;
+            }
+
+            if (!test.error.isInstance(ex)) {
+                reportTestFailure(i, test, shaper, test.source, ex);
+            }
+        }
+    }
+
+    public void testEquals()
+    {
+        ArabicShaping as1 = new ArabicShaping(LETTERS_SHAPE | TEXT_DIRECTION_VISUAL_LTR | LENGTH_FIXED_SPACES_NEAR);
+        ArabicShaping as2 = new ArabicShaping(LETTERS_SHAPE | TEXT_DIRECTION_VISUAL_LTR | LENGTH_FIXED_SPACES_NEAR);
+        ArabicShaping as3 = new ArabicShaping(LETTERS_UNSHAPE | TEXT_DIRECTION_LOGICAL | LENGTH_FIXED_SPACES_AT_BEGINNING);
+
+        if (! as1.equals(as1)) {
+            err("as1: " + as1 + " does not equal itself!\n");
+        }
+
+        if (! as1.equals(as2)) {
+            err("as1: " + as1 + ", as2: " + as2 + " are not equal, but should be.\n");
+        }
+
+        if (as1.equals(as3)) {
+            err("as1: " + as1 + ", as3: " + as3 + " are equal but should not be.\n");
+        }
+    }
+
+    public void reportTestFailure(int index, TestData test, ArabicShaping shaper, String result, Exception error) {
+        if (noData() && error != null && error instanceof MissingResourceException ) {
+            warnln(error.getMessage());
+        }
+
+        StringBuffer buf = new StringBuffer();
+        buf.append("*** test failure ***\n");
+        buf.append("index: " + index + "\n");
+        buf.append("test: " + test + "\n");
+        buf.append("shaper: " + shaper + "\n");
+        buf.append("result: " + escapedString(result) + "\n");
+        buf.append("error: " + error + "\n");
+
+        if (result != null && test.result != null && !test.result.equals(result)) {
+            for (int i = 0; i < Math.max(test.result.length(), result.length()); ++i) {
+                String temp = Integer.toString(i);
+                if (temp.length() < 2) {
+                    temp = " ".concat(temp);
+                }
+                char trg = i < test.result.length() ? test.result.charAt(i) : '\uffff';
+                char res = i < result.length() ? result.charAt(i) : '\uffff';
+
+                buf.append("[" + temp + "] ");
+                buf.append(escapedString("" + trg) + " ");
+                buf.append(escapedString("" + res) + " ");
+                if (trg != res) {
+                    buf.append("***");
+                }
+                buf.append("\n");
+            }
+        }
+        err(buf.toString());
+    }
+
+    private static String escapedString(String str) {
+        if (str == null) {
+            return null;
+        }
+
+        StringBuffer buf = new StringBuffer(str.length() * 6);
+        for (int i = 0; i < str.length(); ++i) {
+            char ch = str.charAt(i);
+            buf.append("\\u");
+            if (ch < 0x1000) {
+                buf.append('0');
+            }
+            if (ch < 0x0100) {
+                buf.append('0');
+            }
+            if (ch < 0x0010) {
+                buf.append('0');
+            }
+            buf.append(Integer.toHexString(ch));
+        }
+        return buf.toString();
+    }
+
+    public static void main(String[] args) {
+        try {
+            new ArabicShapingRegTest().run(args);
+        }
+        catch (Exception e) {
+            System.out.println(e);
+        }
+    }
+}
+
diff --git a/src/com/ibm/icu/dev/test/shaping/ArabicShapingTest.java b/src/com/ibm/icu/dev/test/shaping/ArabicShapingTest.java
new file mode 100755
index 0000000..027335c
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/shaping/ArabicShapingTest.java
@@ -0,0 +1,286 @@
+/*
+*******************************************************************************
+*   Copyright (C) 2001, International Business Machines
+*   Corporation and others.  All Rights Reserved.
+*******************************************************************************
+*/
+
+package com.ibm.icu.dev.test.shaping;
+
+import com.ibm.icu.text.ArabicShaping;
+import com.ibm.icu.text.ArabicShapingException;
+
+/**
+ * Interactive test for Arabic shaping.
+ * Invoke from a command line passing args and strings.  Use '-help' to see description of arguments.
+ */
+public class ArabicShapingTest {
+    private static final int COPY = 0;
+    private static final int INPLACE = 1;
+    private static final int STRING = 2;
+
+    public static final void main(String[] args) {
+        int testtype = COPY;
+        int options = 0;
+        int ss = 0;
+        int sl = -1;
+        int ds = 0;
+        int dl = -1;
+        String text = "$22.4 test 123 \ufef6\u0644\u0622 456 \u0664\u0665\u0666!";
+
+        for (int i = 0; i < args.length; ++i) {
+            String arg = args[i];
+            if (arg.charAt(0) == '-') {
+                String opt = arg.substring(1);
+                String val = opt;
+                int index = arg.indexOf(':');
+                if (index != -1) {
+                    opt = opt.substring(0, Math.min(index, 3));
+                    val = arg.substring(index + 1);
+                }
+                
+                if (opt.equalsIgnoreCase("len")) {
+                    options &= ~ArabicShaping.LENGTH_MASK;
+                    if (val.equalsIgnoreCase("gs")) {
+                        options |= ArabicShaping.LENGTH_GROW_SHRINK;
+                    } else if (val.equalsIgnoreCase("sn")) {
+                        options |= ArabicShaping.LENGTH_FIXED_SPACES_NEAR;
+                    } else if (val.equalsIgnoreCase("se")) {
+                        options |= ArabicShaping.LENGTH_FIXED_SPACES_AT_END;
+                    } else if (val.equalsIgnoreCase("sb")) {
+                        options |= ArabicShaping.LENGTH_FIXED_SPACES_AT_BEGINNING;
+                    } else {
+                        throwValError(opt, val);
+                    }
+                } else if (opt.equalsIgnoreCase("dir")) {
+                    options &= ~ArabicShaping.TEXT_DIRECTION_MASK;
+                    if (val.equalsIgnoreCase("log")) {
+                        options |= ArabicShaping.TEXT_DIRECTION_LOGICAL;
+                    } else if (val.equalsIgnoreCase("vis")) {
+                        options |= ArabicShaping.TEXT_DIRECTION_VISUAL_LTR;
+                    } else {
+                        throwValError(opt, val);
+                    }
+                } else if (opt.equalsIgnoreCase("let")) {
+                    options &= ~ArabicShaping.LETTERS_MASK;
+                    if (val.equalsIgnoreCase("no")) {
+                        options |= ArabicShaping.LETTERS_NOOP;
+                    } else if (val.equalsIgnoreCase("sh")) {
+                        options |= ArabicShaping.LETTERS_SHAPE;
+                    } else if (val.equalsIgnoreCase("un")) {
+                        options |= ArabicShaping.LETTERS_UNSHAPE;
+                    } else if (val.equalsIgnoreCase("ta")) {
+                        options |= ArabicShaping.LETTERS_SHAPE_TASHKEEL_ISOLATED;
+                    } else {
+                        throwValError(opt, val);
+                    }
+                } else if (opt.equalsIgnoreCase("dig")) {
+                    options &= ~ArabicShaping.DIGITS_MASK;
+                    if (val.equalsIgnoreCase("no")) {
+                        options |= ArabicShaping.DIGITS_NOOP;
+                    } else if (val.equalsIgnoreCase("ea")) {
+                        options |= ArabicShaping.DIGITS_EN2AN;
+                    } else if (val.equalsIgnoreCase("ae")) {
+                        options |= ArabicShaping.DIGITS_AN2EN;
+                    } else if (val.equalsIgnoreCase("lr")) {
+                        options |= ArabicShaping.DIGITS_EN2AN_INIT_LR;
+                    } else if (val.equalsIgnoreCase("al")) {
+                        options |= ArabicShaping.DIGITS_EN2AN_INIT_AL;
+                    } else {
+                        throwValError(opt, val);
+                    }
+                } else if (opt.equalsIgnoreCase("typ")) {
+                    options &= ~ArabicShaping.DIGIT_TYPE_MASK;
+                    if (val.equalsIgnoreCase("an")) {
+                        options |= ArabicShaping.DIGIT_TYPE_AN;
+                    } else if (val.equalsIgnoreCase("ex")) {
+                        options |= ArabicShaping.DIGIT_TYPE_AN_EXTENDED;
+                    } else {
+                        throwValError(opt, val);
+                    }
+                } else if (opt.equalsIgnoreCase("dst")) {
+                    try {
+                        ds = Integer.parseInt(val);
+                    }
+                    catch (Exception e) {
+                        throwValError(opt, val);
+                    }
+                } else if (opt.equalsIgnoreCase("dln")) {
+                    try {
+                        dl = Integer.parseInt(val);
+                    }
+                    catch (Exception e) {
+                        throwValError(opt, val);
+                    }
+                } else if (opt.equalsIgnoreCase("sst")) {
+                    try {
+                        ss = Integer.parseInt(val);
+                    }
+                    catch (Exception e) {
+                        throwValError(opt, val);
+                    }
+                } else if (opt.equalsIgnoreCase("sln")) {
+                    try {
+                        sl = Integer.parseInt(val);
+                    }
+                    catch (Exception e) {
+                        throwValError(opt, val);
+                    }
+                } else if (opt.equalsIgnoreCase("tes")) {
+                    if (val.equalsIgnoreCase("cp")) {
+                        testtype = COPY;
+                    } else if (val.equalsIgnoreCase("ip")) {
+                        testtype = INPLACE;
+                    } else if (val.equalsIgnoreCase("st")) {
+                        testtype = STRING;
+                    } else {
+                        throwValError(opt, val);
+                    }
+                } else if (opt.equalsIgnoreCase("help")) {
+                    System.out.println(usage);
+                } else {
+                    throwOptError(opt);
+                }
+            } else {
+                // assume text
+                text = parseText(arg);
+            }
+        }
+
+        if (sl < 0) {
+            sl = text.length() - ss;
+            System.out.println("sl defaulting to " + sl);
+        }
+        if (dl < 0) {
+            dl = 2 * sl;
+            System.out.println("dl defaulting to " + dl);
+        }
+
+        ArabicShaping shaper = new ArabicShaping(options);
+        System.out.println("shaper: " + shaper);
+
+        char[] src = text.toCharArray();
+        System.out.println(" input: '" + escapedText(src, ss, sl) + "'");
+        if (testtype != STRING) {
+            System.out.println("start: " + ss + " length: " + sl + " total length: " + src.length);
+        }
+
+        int result = -1;
+        char[] dest = null;
+
+        try {
+            switch (testtype) {
+            case COPY:
+                dest = new char[ds + dl];
+                result = shaper.shape(src, ss, sl, dest, ds, dl);
+                break;
+
+            case INPLACE:
+                shaper.shape(src, ss, sl);
+                ds = ss;
+                result = sl;
+                dest = src;
+                break;
+
+            case STRING:
+                dest = shaper.shape(text).toCharArray();
+                ds = 0;
+                result = dest.length;
+                break;
+            }
+
+            System.out.println("output: '" + escapedText(dest, ds, result) + "'");
+            System.out.println("length: " + result);
+            if (ds != 0 || result != dest.length) {
+                System.out.println("full output: '" + escapedText(dest, 0, dest.length) + "'");
+            }
+        }
+        catch (ArabicShapingException e) {
+            System.out.println("Caught ArabicShapingException");
+            System.out.println(e);
+        }
+        catch (Exception e) {
+            System.out.println("Caught Exception");
+            System.out.println(e);
+        }
+    }
+
+    private static void throwOptError(String opt) {
+        throwUsageError("unknown option: " + opt);
+    }
+
+    private static void throwValError(String opt, String val) {
+        throwUsageError("unknown value: " + val + " for option: " + opt);
+    }
+
+    private static void throwUsageError(String message) {
+        StringBuffer buf = new StringBuffer("*** usage error ***\n");
+        buf.append(message);
+        buf.append("\n");
+        buf.append(usage);
+        throw new Error(buf.toString());
+    }
+
+    private static final String usage = 
+        "Usage: [option]* [text]\n" +
+        "  where option is in the format '-opt[:val]'\n" +
+        "  options are:\n" +
+        "    -len:[gs|sn|se|sb]    (length: grow/shrink, spaces near, spaces end, spaces beginning)\n" +
+        "    -dir:[log|vis]        (direction: logical, visual)\n" +
+        "    -let:[no|sh|un|ta]    (letters: noop, shape, unshape, tashkeel)\n" +
+        // "    -let:[no|sh|un]       (letters: noop, shape, unshape)\n" +
+        "    -dig:[no|ea|ae|lr|al] (digits: noop, en2an, an2en, en2an_lr, en2an_al)\n" +
+        "    -typ:[an|ex]          (digit type: arabic, arabic extended)\n" +
+        "    -dst:#                (dest start: [integer])\n" +
+        "    -dln:#                (dest length (max size): [integer])\n" +
+        "    -sst:#                (source start: [integer])\n" +
+        "    -sln:#                (source length: [integer])\n" +
+        "    -tes:[cp|ip|st]       (test type: copy, in place, string)\n" +
+        "    -help                 (print this help message)\n" +
+        "  text can contain unicode escape values in the format '\\uXXXX' only\n";
+        
+    private static String escapedText(char[] text, int start, int length) {
+        StringBuffer buf = new StringBuffer();
+        for (int i = start, e = start + length; i < e; ++i) {
+            char ch = text[i];
+            if (ch < 0x20 || ch > 0x7e) {
+                buf.append("\\u");
+                if (ch < 0x1000) {
+                    buf.append('0');
+                }
+                if (ch < 0x100) {
+                    buf.append('0');
+                }
+                if (ch < 0x10) {
+                    buf.append('0');
+                }
+                buf.append(Integer.toHexString(ch));
+            } else {
+                buf.append(ch);
+            }
+        }
+        return buf.toString();
+    }
+
+    private static String parseText(String text) {
+        // process unicode escapes (only)
+        StringBuffer buf = new StringBuffer();
+        char[] chars = text.toCharArray();
+        for (int i = 0; i < chars.length; ++i) {
+            char ch = chars[i];
+            if (ch == '\\') {
+                if ((i < chars.length - 1) &&
+                    (chars[i+1] == 'u')) {
+                    int val = Integer.parseInt(text.substring(i+2, i+6), 16);
+                    buf.append((char)val);
+                    i += 5;
+                } else {
+                    buf.append('\\');
+                }
+            } else {
+                buf.append(ch);
+            }
+        }
+        return buf.toString();
+    }
+}
diff --git a/src/com/ibm/icu/dev/test/stringprep/IDNAConformanceTest.java b/src/com/ibm/icu/dev/test/stringprep/IDNAConformanceTest.java
new file mode 100644
index 0000000..15c03f8
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/stringprep/IDNAConformanceTest.java
@@ -0,0 +1,311 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+
+ *******************************************************************************
+ */
+
+package com.ibm.icu.dev.test.stringprep;
+
+import java.io.BufferedReader;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.UnsupportedEncodingException;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Set;
+import java.util.TreeMap;
+
+import com.ibm.icu.dev.test.TestFmwk;
+import com.ibm.icu.dev.test.TestUtil;
+import com.ibm.icu.text.IDNA;
+import com.ibm.icu.text.StringPrepParseException;
+import com.ibm.icu.text.UTF16;
+
+/**
+ * @author limaoyu
+ * 
+ */
+public class IDNAConformanceTest extends TestFmwk {
+
+    public static void main(String[] args) throws Exception {
+        new IDNAConformanceTest().run(args);
+    }
+
+    public void TestConformance() {
+
+        TreeMap inputData = null;
+        
+        try {
+            inputData = ReadInput.getInputData();
+        } catch (UnsupportedEncodingException e) {
+            errln(e.getMessage());
+        } catch (IOException e) {
+            errln(e.getMessage());
+        }
+        
+        Set keyMap = inputData.keySet();
+        for (Iterator iter = keyMap.iterator(); iter.hasNext();) {
+            Long element = (Long) iter.next();
+            HashMap tempHash = (HashMap) inputData.get(element);
+
+            //get all attributes from input data
+            String passfail = (String) tempHash.get("passfail");
+            String desc = (String) tempHash.get("desc");
+            String type = (String) tempHash.get("type");
+            String namebase = (String) tempHash.get("namebase");
+            String nameutf8 = (String) tempHash.get("nameutf8");
+            String namezone = (String) tempHash.get("namezone");
+            String failzone1 = (String) tempHash.get("failzone1");
+            String failzone2 = (String) tempHash.get("failzone2");
+
+            //they maybe includes <*> style unicode
+            namebase = stringReplace(namebase);
+            namezone = stringReplace(namezone);
+
+            String result = null;
+            boolean failed = false;
+
+            if ("toascii".equals(tempHash.get("type"))) {
+                
+                //get the result
+                try {
+                    //by default STD3 rules are not used, but if the description
+                    //includes UseSTD3ASCIIRules, we will set it.
+                    if (desc.toLowerCase().indexOf(
+                            "UseSTD3ASCIIRules".toLowerCase()) == -1) {
+                        result = IDNA.convertIDNToASCII(namebase,
+                                IDNA.ALLOW_UNASSIGNED).toString();
+                    } else {
+                        result = IDNA.convertIDNToASCII(namebase,
+                                IDNA.USE_STD3_RULES).toString();
+                    }
+                } catch (StringPrepParseException e2) {
+                    //errln(e2.getMessage());
+                    failed = true;
+                }
+                
+                
+                if ("pass".equals(passfail)) {
+                    if (!namezone.equals(result)) {
+                        printInfo(desc, namebase, nameutf8, namezone,
+                                failzone1, failzone2, result, type, passfail);                        
+                        errln("\t pass fail standard is pass, but failed");
+                    } else {
+                        printInfo(desc, namebase, nameutf8, namezone,
+                                failzone1, failzone2, result, type, passfail);
+                        logln("\tpassed");
+                    }
+                }
+
+                if ("fail".equals(passfail)) {
+                    if (failed) {
+                        printInfo(desc, namebase, nameutf8, namezone,
+                                failzone1, failzone2, result, type, passfail);
+                        logln("passed");
+                    } else {
+                        printInfo(desc, namebase, nameutf8, namezone,
+                                failzone1, failzone2, result, type, passfail);                        
+                        errln("\t pass fail standard is fail, but no exception thrown out");
+                    }
+                }
+            } else if ("tounicode".equals(tempHash.get("type"))) {
+                try {
+                    //by default STD3 rules are not used, but if the description
+                    //includes UseSTD3ASCIIRules, we will set it.
+                    if (desc.toLowerCase().indexOf(
+                            "UseSTD3ASCIIRules".toLowerCase()) == -1) {
+                        result = IDNA.convertIDNToUnicode(namebase,
+                                IDNA.ALLOW_UNASSIGNED).toString();
+                    } else {
+                        result = IDNA.convertIDNToUnicode(namebase,
+                                IDNA.USE_STD3_RULES).toString();
+                    }
+                } catch (StringPrepParseException e2) {
+                    //errln(e2.getMessage());
+                    failed = true;
+                }
+                if ("pass".equals(passfail)) {
+                    if (!namezone.equals(result)) {
+                        printInfo(desc, namebase, nameutf8, namezone,
+                                failzone1, failzone2, result, type, passfail);
+                        
+                        errln("\t Did not get the expected result. Expected: " + prettify(namezone) + " Got: " + prettify(result));
+                    } else {
+                        printInfo(desc, namebase, nameutf8, namezone,
+                                failzone1, failzone2, result, type, passfail);                        
+                        logln("\tpassed");
+                    }
+                }
+
+                if ("fail".equals(passfail)) {
+                    if (failed || namebase.equals(result)) {
+                        printInfo(desc, namebase, nameutf8, namezone,
+                                failzone1, failzone2, result, type, passfail);
+                        
+                        logln("\tpassed");
+                    } else {
+                        printInfo(desc, namebase, nameutf8, namezone,
+                                failzone1, failzone2, result, type, passfail);
+                        
+                        errln("\t pass fail standard is fail, but no exception thrown out");
+                    }
+                }
+            } else {
+                continue;
+            }
+        }
+    }
+
+    /**
+     * Print log message.
+     * @param desc
+     * @param namebase
+     * @param nameutf8
+     * @param namezone
+     * @param failzone1
+     * @param failzone2
+     * @param result
+     */
+    private void printInfo(String desc, String namebase,
+            String nameutf8, String namezone, String failzone1,
+            String failzone2, String result, String type, String passfail) {
+        logln("desc:\t" + desc);
+        log("\t");
+        logln("type:\t" + type);
+        log("\t");
+        logln("pass fail standard:\t" + passfail);
+        log("\t");
+        logln("namebase:\t" + namebase);
+        log("\t");
+        logln("nameutf8:\t" + nameutf8);
+        log("\t");
+        logln("namezone:\t" + namezone);
+        log("\t");
+        logln("failzone1:\t" + failzone1);
+        log("\t");
+        logln("failzone2:\t" + failzone2);
+        log("\t");
+        logln("result:\t" + result);
+    }
+
+    /**
+     * Change unicode string from <00AD> to \u00AD, for the later is accepted
+     * by Java
+     * @param str String including <*> style unicode
+     * @return \\u String
+     */
+    private static String stringReplace(String str) {
+
+        StringBuffer result = new StringBuffer();
+        char[] chars = str.toCharArray();
+        StringBuffer sbTemp = new StringBuffer();
+        for (int i = 0; i < chars.length; i++) {
+            if ('<' == chars[i]) {
+                sbTemp = new StringBuffer();
+                while ('>' != chars[i + 1]) {
+                    sbTemp.append(chars[++i]);
+                }
+                /*
+                 * The unicode sometimes is larger then \uFFFF, so have to use
+                 * UTF16.
+                 */
+                int toBeInserted = Integer.parseInt(sbTemp.toString(), 16);
+                if ((toBeInserted >> 16) == 0) {
+                    result.append((char) toBeInserted);
+                } else {
+                    String utf16String = UTF16.valueOf(toBeInserted);
+                    char[] charsTemp = utf16String.toCharArray();
+                    for (int j = 0; j < charsTemp.length; j++) {
+                        result.append((char) charsTemp[j]);
+                    }
+                }
+            } else if ('>' == chars[i]) {//end when met with '>'
+                continue;
+            } else {
+                result.append(chars[i]);
+            }
+
+        }
+        return result.toString();
+    }
+
+    /**
+     * This class is used to read test data from TestInput file.
+     * 
+     * @author limaoyu
+     *  
+     */
+    public static class ReadInput {
+
+        public static TreeMap getInputData() throws IOException,
+                UnsupportedEncodingException {
+
+            TreeMap result = new TreeMap();
+            try {
+                BufferedReader in = TestUtil.getDataReader("IDNATestInput.txt", "utf-8");
+
+                String tempStr = null;
+                int records = 0;
+                boolean firstLine = true;
+                HashMap hashItem = new HashMap();
+
+                while ((tempStr = in.readLine()) != null) {
+                    //ignore the first line if it's "====="
+                    if (firstLine) {
+                        if ("=====".equals(tempStr))
+                            continue;
+                        firstLine = false;
+                    }
+
+                    //Ignore empty line
+                    if ("".equals(tempStr)) {
+                        continue;
+                    }
+
+                    String attr = "";//attribute
+                    String body = "";//value
+
+                    //get attr and body from line input, and then set them into each hash item.                    
+                    int postion = tempStr.indexOf(":");
+                    if (postion > -1) {
+                        attr = tempStr.substring(0, postion).trim();
+                        body = tempStr.substring(postion + 1).trim();
+
+                        //deal with combination lines when end with '\'
+                        while (null != body && body.length() > 0
+                                && '\\' == body.charAt(body.length() - 1)) {
+                            body = body.substring(0, body.length() - 1);
+                            body += "\n";
+                            tempStr = in.readLine();
+                            body += tempStr;
+                        }
+                    }
+                    //push them to hash item
+                    hashItem.put(attr, body);
+
+                    //if met "=====", it means this item is finished
+                    if ("=====".equals(tempStr)) {
+                        //set them into result, using records number as key
+                        result.put(new Long(records), hashItem);
+                        //create another hash item and continue
+                        hashItem = new HashMap();
+                        records++;
+                        continue;
+                    }
+                }
+            } catch (UnsupportedEncodingException e) {
+                throw e;
+            } catch (FileNotFoundException e) {
+                throw e;
+            } catch (IOException e) {
+                throw e;
+            }
+            return result;
+        }
+    }
+}
\ No newline at end of file
diff --git a/src/com/ibm/icu/dev/test/stringprep/IDNAReference.java b/src/com/ibm/icu/dev/test/stringprep/IDNAReference.java
new file mode 100644
index 0000000..94f3aea
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/stringprep/IDNAReference.java
@@ -0,0 +1,429 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2003-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+*/
+package com.ibm.icu.dev.test.stringprep;
+
+import com.ibm.icu.text.StringPrepParseException;
+import com.ibm.icu.text.UCharacterIterator;
+
+/**
+ * @author ram
+ *
+ * To change the template for this generated type comment go to
+ * Window>Preferences>Java>Code Generation>Code and Comments
+ */
+public class IDNAReference {
+    
+    private static char[] ACE_PREFIX = new char[]{ 0x0078,0x006E,0x002d,0x002d } ;
+    private static final int ACE_PREFIX_LENGTH  = 4;
+
+    private static final int MAX_LABEL_LENGTH   = 63;
+    private static final int HYPHEN             = 0x002D;
+    private static final int CAPITAL_A          = 0x0041;
+    private static final int CAPITAL_Z          = 0x005A;
+    private static final int LOWER_CASE_DELTA   = 0x0020;
+    private static final int FULL_STOP          = 0x002E;
+
+
+    public static final int DEFAULT             = 0x0000;
+    public static final int ALLOW_UNASSIGNED    = 0x0001;
+    public static final int USE_STD3_RULES      = 0x0002;
+    public static final NamePrepTransform transform = NamePrepTransform.getInstance();
+  
+    private static boolean startsWithPrefix(StringBuffer src){
+        boolean startsWithPrefix = true;
+
+        if(src.length() < ACE_PREFIX_LENGTH){
+            return false;
+        }
+        for(int i=0; i<ACE_PREFIX_LENGTH;i++){
+            if(toASCIILower(src.charAt(i)) != ACE_PREFIX[i]){
+                startsWithPrefix = false;
+            }
+        }
+        return startsWithPrefix;
+    }
+
+    private static char toASCIILower(char ch){
+        if(CAPITAL_A <= ch && ch <= CAPITAL_Z){
+            return (char)(ch + LOWER_CASE_DELTA);
+        }
+        return ch;
+    }
+
+    private static StringBuffer toASCIILower(StringBuffer src){
+        StringBuffer dest = new StringBuffer();
+        for(int i=0; i<src.length();i++){
+            dest.append(toASCIILower(src.charAt(i)));
+        }
+        return dest;
+    }
+
+    private static int compareCaseInsensitiveASCII(StringBuffer s1, StringBuffer s2){
+        char c1,c2;
+        int rc;
+        for(int i =0;/* no condition */;i++) {
+            /* If we reach the ends of both strings then they match */
+            if(i == s1.length()) {
+                return 0;
+            }
+
+            c1 = s1.charAt(i);
+            c2 = s2.charAt(i);
+        
+            /* Case-insensitive comparison */
+            if(c1!=c2) {
+                rc=toASCIILower(c1)-toASCIILower(c2);
+                if(rc!=0) {
+                    return rc;
+                }
+            }
+        }
+    }
+    
+    private static int getSeparatorIndex(char[] src,int start, int limit){
+        for(; start<limit;start++){
+            if(NamePrepTransform.isLabelSeparator(src[start])){
+                return start;
+            }
+        }
+        // we have not found the separator just return length
+        return start;
+    }
+    
+    private static boolean isLDHChar(int ch){
+        // high runner case
+        if(ch>0x007A){
+            return false;
+        }
+        //[\\u002D \\u0030-\\u0039 \\u0041-\\u005A \\u0061-\\u007A]
+        if( (ch==0x002D) || 
+            (0x0030 <= ch && ch <= 0x0039) ||
+            (0x0041 <= ch && ch <= 0x005A) ||
+            (0x0061 <= ch && ch <= 0x007A)
+          ){
+            return true;
+        }
+        return false;
+    }
+        
+    public static StringBuffer convertToASCII(String src, int options)
+        throws StringPrepParseException{
+        UCharacterIterator iter = UCharacterIterator.getInstance(src);
+        return convertToASCII(iter,options);
+    }
+    public static StringBuffer convertToASCII(StringBuffer src, int options)
+        throws StringPrepParseException{
+        UCharacterIterator iter = UCharacterIterator.getInstance(src);
+        return convertToASCII(iter,options);
+    }
+    public static StringBuffer convertToASCII(UCharacterIterator srcIter, int options)
+                throws StringPrepParseException{
+    
+        char[] caseFlags = null;
+    
+        // the source contains all ascii codepoints
+        boolean srcIsASCII  = true;
+        // assume the source contains all LDH codepoints
+        boolean srcIsLDH = true; 
+
+        //get the options
+        boolean useSTD3ASCIIRules = ((options & USE_STD3_RULES) != 0);
+
+        int ch;
+        // step 1
+        while((ch = srcIter.next())!= UCharacterIterator.DONE){
+            if(ch> 0x7f){
+                srcIsASCII = false;
+            }
+        }
+        int failPos = -1;
+        srcIter.setToStart();
+        StringBuffer processOut = null;
+        // step 2 is performed only if the source contains non ASCII
+        if(!srcIsASCII){
+            // step 2
+            processOut =  transform.prepare(srcIter,options);
+        }else{
+            processOut = new StringBuffer(srcIter.getText());
+        }
+        int poLen = processOut.length();
+        if(poLen==0){
+            throw new StringPrepParseException("Found zero length lable after NamePrep.",StringPrepParseException.ZERO_LENGTH_LABEL);
+        }
+        StringBuffer dest = new StringBuffer();
+        
+        // reset the variable to verify if output of prepare is ASCII or not
+        srcIsASCII = true;
+        
+        // step 3 & 4
+        for(int j=0;j<poLen;j++ ){
+            ch=processOut.charAt(j);
+            if(ch > 0x7F){
+                srcIsASCII = false;
+            }else if(isLDHChar(ch)==false){
+                // here we do not assemble surrogates
+                // since we know that LDH code points
+                // are in the ASCII range only
+                srcIsLDH = false;
+                failPos = j;
+            }
+        }
+    
+        if(useSTD3ASCIIRules == true){
+            // verify 3a and 3b
+            if( srcIsLDH == false /* source contains some non-LDH characters */
+                || processOut.charAt(0) ==  HYPHEN 
+                || processOut.charAt(processOut.length()-1) == HYPHEN){
+
+                /* populate the parseError struct */
+                if(srcIsLDH==false){
+                     throw new StringPrepParseException( "The input does not conform to the STD 3 ASCII rules",
+                                              StringPrepParseException.STD3_ASCII_RULES_ERROR,
+                                              processOut.toString(),
+                                             (failPos>0) ? (failPos-1) : failPos);
+                }else if(processOut.charAt(0) == HYPHEN){
+                    throw new StringPrepParseException("The input does not conform to the STD 3 ASCII rules",
+                                              StringPrepParseException.STD3_ASCII_RULES_ERROR,processOut.toString(),0);
+     
+                }else{
+                     throw new StringPrepParseException("The input does not conform to the STD 3 ASCII rules",
+                                              StringPrepParseException.STD3_ASCII_RULES_ERROR,
+                                              processOut.toString(),
+                                              (poLen>0) ? poLen-1 : poLen);
+
+                }
+            }
+        }
+        if(srcIsASCII){
+            dest =  processOut;
+        }else{
+            // step 5 : verify the sequence does not begin with ACE prefix
+            if(!startsWithPrefix(processOut)){
+
+                //step 6: encode the sequence with punycode
+                StringBuffer punyout = PunycodeReference.encode(processOut,caseFlags);
+                
+                // convert all codepoints to lower case ASCII
+                StringBuffer lowerOut = toASCIILower(punyout);
+
+                //Step 7: prepend the ACE prefix
+                dest.append(ACE_PREFIX,0,ACE_PREFIX_LENGTH);
+                //Step 6: copy the contents in b2 into dest
+                dest.append(lowerOut);
+            }else{
+                throw new StringPrepParseException("The input does not start with the ACE Prefix.",
+                                   StringPrepParseException.ACE_PREFIX_ERROR,processOut.toString(),0);
+            }
+        }
+        if(dest.length() > MAX_LABEL_LENGTH){
+            throw new StringPrepParseException("The labels in the input are too long. Length > 64.", 
+                                    StringPrepParseException.LABEL_TOO_LONG_ERROR,dest.toString(),0);
+        }
+        return dest;
+    }
+    
+    public static StringBuffer convertIDNtoASCII(UCharacterIterator iter,int options)
+            throws StringPrepParseException{
+            return convertIDNToASCII(iter.getText(), options);          
+    }
+    public static StringBuffer convertIDNtoASCII(StringBuffer str,int options)
+            throws StringPrepParseException{
+            return convertIDNToASCII(str.toString(), options);          
+    }
+    public static StringBuffer convertIDNToASCII(String src,int options)
+            throws StringPrepParseException{
+        char[] srcArr = src.toCharArray();
+        StringBuffer result = new StringBuffer();
+        int sepIndex=0;
+        int oldSepIndex = 0;
+        for(;;){
+            sepIndex = getSeparatorIndex(srcArr,sepIndex,srcArr.length);
+            String label = new String(srcArr,oldSepIndex,sepIndex-oldSepIndex);
+            //make sure this is not a root label separator.
+            if(!(label.length()==0 && sepIndex==srcArr.length)){
+                UCharacterIterator iter = UCharacterIterator.getInstance(label);
+                result.append(convertToASCII(iter,options));
+            }
+            if(sepIndex==srcArr.length){
+                break;
+            }
+            // increment the sepIndex to skip past the separator
+            sepIndex++;
+            oldSepIndex = sepIndex;
+            result.append((char)FULL_STOP);
+        }
+        return result;
+    }
+
+    public static StringBuffer convertToUnicode(String src, int options)
+           throws StringPrepParseException{
+        UCharacterIterator iter = UCharacterIterator.getInstance(src);
+        return convertToUnicode(iter,options);
+    }
+    public static StringBuffer convertToUnicode(StringBuffer src, int options)
+           throws StringPrepParseException{
+        UCharacterIterator iter = UCharacterIterator.getInstance(src);
+        return convertToUnicode(iter,options);
+    }   
+    public static StringBuffer convertToUnicode(UCharacterIterator iter, int options)
+           throws StringPrepParseException{
+
+        char[] caseFlags = null;
+        
+        //get the options
+        boolean useSTD3ASCIIRules = ((options & USE_STD3_RULES) != 0);
+
+        // the source contains all ascii codepoints
+        boolean srcIsASCII  = true;
+        // assume the source contains all LDH codepoints
+        boolean srcIsLDH = true; 
+               
+        int failPos = -1;
+        int ch;
+        int saveIndex = iter.getIndex();
+        // step 1: find out if all the codepoints in src are ASCII  
+        while((ch=iter.next())!= UCharacterIterator.DONE){
+            if(ch>0x7F){
+                srcIsASCII = false;
+            }else if(isLDHChar(ch)==false){
+                failPos = iter.getIndex();
+                srcIsLDH = false;
+            }
+        }
+        StringBuffer processOut;
+        
+        if(srcIsASCII == false){
+            // step 2: process the string
+            iter.setIndex(saveIndex);
+            processOut = transform.prepare(iter,options);
+
+        }else{
+            //just point to source
+            processOut = new StringBuffer(iter.getText());
+        }
+        // TODO:
+        // The RFC states that 
+        // <quote>
+        // ToUnicode never fails. If any step fails, then the original input
+        // is returned immediately in that step.
+        // </quote>
+        
+        //step 3: verify ACE Prefix
+        if(startsWithPrefix(processOut)){
+
+           //step 4: Remove the ACE Prefix
+           String temp = processOut.substring(ACE_PREFIX_LENGTH,processOut.length());
+
+           //step 5: Decode using punycode
+           StringBuffer decodeOut = PunycodeReference.decode(new StringBuffer(temp),caseFlags);
+        
+            //step 6:Apply toASCII
+            StringBuffer toASCIIOut = convertToASCII(decodeOut, options);
+
+            //step 7: verify
+            if(compareCaseInsensitiveASCII(processOut, toASCIIOut) !=0){
+                throw new StringPrepParseException("The verification step prescribed by the RFC 3491 failed",
+                                          StringPrepParseException.VERIFICATION_ERROR); 
+             }
+
+            //step 8: return output of step 5
+            return decodeOut;
+            
+        }else{
+            // verify that STD3 ASCII rules are satisfied
+            if(useSTD3ASCIIRules == true){
+                if( srcIsLDH == false /* source contains some non-LDH characters */
+                    || processOut.charAt(0) ==  HYPHEN 
+                    || processOut.charAt(processOut.length()-1) == HYPHEN){
+    
+                        if(srcIsLDH==false){
+                            throw new StringPrepParseException("The input does not conform to the STD 3 ASCII rules",
+                                                     StringPrepParseException.STD3_ASCII_RULES_ERROR,processOut.toString(),
+                                                     (failPos>0) ? (failPos-1) : failPos);
+                        }else if(processOut.charAt(0) == HYPHEN){
+                            throw new StringPrepParseException("The input does not conform to the STD 3 ASCII rules",
+                                                     StringPrepParseException.STD3_ASCII_RULES_ERROR,
+                                                     processOut.toString(),0);
+         
+                        }else{
+                            throw new StringPrepParseException("The input does not conform to the STD 3 ASCII rules",
+                                                     StringPrepParseException.STD3_ASCII_RULES_ERROR,
+                                                     processOut.toString(),
+                                                     processOut.length());
+    
+                        }
+                  }
+            }
+            // just return the source
+            return new StringBuffer(iter.getText());
+        }  
+    }
+    public static StringBuffer convertIDNToUnicode(UCharacterIterator iter, int options)
+        throws StringPrepParseException{
+        return convertIDNToUnicode(iter.getText(), options);
+    }
+    public static StringBuffer convertIDNToUnicode(StringBuffer str, int options)
+        throws StringPrepParseException{
+        return convertIDNToUnicode(str.toString(), options);
+    }
+    public static StringBuffer convertIDNToUnicode(String src, int options)
+        throws StringPrepParseException{
+            
+        char[] srcArr = src.toCharArray();
+        StringBuffer result = new StringBuffer();
+        int sepIndex=0;
+        int oldSepIndex=0;
+        for(;;){
+            sepIndex = getSeparatorIndex(srcArr,sepIndex,srcArr.length);
+            String label = new String(srcArr,oldSepIndex,sepIndex-oldSepIndex);
+            if(label.length()==0 && sepIndex!=srcArr.length ){
+                throw new StringPrepParseException("Found zero length lable after NamePrep.",StringPrepParseException.ZERO_LENGTH_LABEL);
+            }
+            UCharacterIterator iter = UCharacterIterator.getInstance(label);
+            result.append(convertToUnicode(iter,options));
+            if(sepIndex==srcArr.length){
+                break;
+            }
+            // increment the sepIndex to skip past the separator
+            sepIndex++;
+            oldSepIndex = sepIndex;
+            result.append((char)FULL_STOP);
+        }
+        return result;
+    }
+    //  TODO: optimize
+    public static int compare(StringBuffer s1, StringBuffer s2, int options)
+        throws StringPrepParseException{
+        if(s1==null || s2 == null){
+            throw new IllegalArgumentException("One of the source buffers is null");
+        }
+        StringBuffer s1Out = convertIDNToASCII(s1.toString(), options);
+        StringBuffer s2Out = convertIDNToASCII(s2.toString(), options);
+        return compareCaseInsensitiveASCII(s1Out,s2Out);
+    }
+    //  TODO: optimize
+    public static int compare(String s1, String s2, int options)
+        throws StringPrepParseException{
+        if(s1==null || s2 == null){
+            throw new IllegalArgumentException("One of the source buffers is null");
+        }
+        StringBuffer s1Out = convertIDNToASCII(s1, options);
+        StringBuffer s2Out = convertIDNToASCII(s2, options);
+        return compareCaseInsensitiveASCII(s1Out,s2Out);
+    }
+    //  TODO: optimize
+    public static int compare(UCharacterIterator i1, UCharacterIterator i2, int options)
+        throws StringPrepParseException{
+        if(i1==null || i2 == null){
+            throw new IllegalArgumentException("One of the source buffers is null");
+        }
+        StringBuffer s1Out = convertIDNToASCII(i1.getText(), options);
+        StringBuffer s2Out = convertIDNToASCII(i2.getText(), options);
+        return compareCaseInsensitiveASCII(s1Out,s2Out);
+    }
+
+}
diff --git a/src/com/ibm/icu/dev/test/stringprep/IDNA_rules.java b/src/com/ibm/icu/dev/test/stringprep/IDNA_rules.java
new file mode 100644
index 0000000..c16c69d
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/stringprep/IDNA_rules.java
@@ -0,0 +1,1532 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2003-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+*/
+package com.ibm.icu.dev.test.stringprep;
+
+import com.ibm.icu.impl.ICUListResourceBundle;
+
+public class IDNA_rules extends ICUListResourceBundle {
+
+    public IDNA_rules  () {
+          super.contents = data;
+    }
+    static final Object[][] data = new Object[][] { 
+                {
+                    "LabelSeparatorSet",
+                    "[ .\u3002\uFF0E\uFF61 ]",
+                },
+                {
+                    "CaseMap",
+                    "A > a;"+
+                    "B > b;"+
+                    "C > c;"+
+                    "D > d;"+
+                    "E > e;"+
+                    "F > f;"+
+                    "G > g;"+
+                    "H > h;"+
+                    "I > i;"+
+                    "J > j;"+
+                    "K > k;"+
+                    "L > l;"+
+                    "M > m;"+
+                    "N > n;"+
+                    "O > o;"+
+                    "P > p;"+
+                    "Q > q;"+
+                    "R > r;"+
+                    "S > s;"+
+                    "T > t;"+
+                    "U > u;"+
+                    "V > v;"+
+                    "W > w;"+
+                    "X > x;"+
+                    "Y > y;"+
+                    "Z > z;"+
+                    "\\u00B5 > \\u03BC;"+
+                    "\\u00C0 > \\u00E0;"+
+                    "\\u00C1 > \\u00E1;"+
+                    "\\u00C2 > \\u00E2;"+
+                    "\\u00C3 > \\u00E3;"+
+                    "\\u00C4 > \\u00E4;"+
+                    "\\u00C5 > \\u00E5;"+
+                    "\\u00C6 > \\u00E6;"+
+                    "\\u00C7 > \\u00E7;"+
+                    "\\u00C8 > \\u00E8;"+
+                    "\\u00C9 > \\u00E9;"+
+                    "\\u00CA > \\u00EA;"+
+                    "\\u00CB > \\u00EB;"+
+                    "\\u00CC > \\u00EC;"+
+                    "\\u00CD > \\u00ED;"+
+                    "\\u00CE > \\u00EE;"+
+                    "\\u00CF > \\u00EF;"+
+                    "\\u00D0 > \\u00F0;"+
+                    "\\u00D1 > \\u00F1;"+
+                    "\\u00D2 > \\u00F2;"+
+                    "\\u00D3 > \\u00F3;"+
+                    "\\u00D4 > \\u00F4;"+
+                    "\\u00D5 > \\u00F5;"+
+                    "\\u00D6 > \\u00F6;"+
+                    "\\u00D8 > \\u00F8;"+
+                    "\\u00D9 > \\u00F9;"+
+                    "\\u00DA > \\u00FA;"+
+                    "\\u00DB > \\u00FB;"+
+                    "\\u00DC > \\u00FC;"+
+                    "\\u00DD > \\u00FD;"+
+                    "\\u00DE > \\u00FE;"+
+                    "\\u00DF > ss;"+
+                    "\\u0100 > \\u0101;"+
+                    "\\u0102 > \\u0103;"+
+                    "\\u0104 > \\u0105;"+
+                    "\\u0106 > \\u0107;"+
+                    "\\u0108 > \\u0109;"+
+                    "\\u010A > \\u010B;"+
+                    "\\u010C > \\u010D;"+
+                    "\\u010E > \\u010F;"+
+                    "\\u0110 > \\u0111;"+
+                    "\\u0112 > \\u0113;"+
+                    "\\u0114 > \\u0115;"+
+                    "\\u0116 > \\u0117;"+
+                    "\\u0118 > \\u0119;"+
+                    "\\u011A > \\u011B;"+
+                    "\\u011C > \\u011D;"+
+                    "\\u011E > \\u011F;"+
+                    "\\u0120 > \\u0121;"+
+                    "\\u0122 > \\u0123;"+
+                    "\\u0124 > \\u0125;"+
+                    "\\u0126 > \\u0127;"+
+                    "\\u0128 > \\u0129;"+
+                    "\\u012A > \\u012B;"+
+                    "\\u012C > \\u012D;"+
+                    "\\u012E > \\u012F;"+
+                    "\\u0130 > i\\u0307;"+
+                    "\\u0132 > \\u0133;"+
+                    "\\u0134 > \\u0135;"+
+                    "\\u0136 > \\u0137;"+
+                    "\\u0139 > \\u013A;"+
+                    "\\u013B > \\u013C;"+
+                    "\\u013D > \\u013E;"+
+                    "\\u013F > \\u0140;"+
+                    "\\u0141 > \\u0142;"+
+                    "\\u0143 > \\u0144;"+
+                    "\\u0145 > \\u0146;"+
+                    "\\u0147 > \\u0148;"+
+                    "\\u0149 > \\u02BCn;"+
+                    "\\u014A > \\u014B;"+
+                    "\\u014C > \\u014D;"+
+                    "\\u014E > \\u014F;"+
+                    "\\u0150 > \\u0151;"+
+                    "\\u0152 > \\u0153;"+
+                    "\\u0154 > \\u0155;"+
+                    "\\u0156 > \\u0157;"+
+                    "\\u0158 > \\u0159;"+
+                    "\\u015A > \\u015B;"+
+                    "\\u015C > \\u015D;"+
+                    "\\u015E > \\u015F;"+
+                    "\\u0160 > \\u0161;"+
+                    "\\u0162 > \\u0163;"+
+                    "\\u0164 > \\u0165;"+
+                    "\\u0166 > \\u0167;"+
+                    "\\u0168 > \\u0169;"+
+                    "\\u016A > \\u016B;"+
+                    "\\u016C > \\u016D;"+
+                    "\\u016E > \\u016F;"+
+                    "\\u0170 > \\u0171;"+
+                    "\\u0172 > \\u0173;"+
+                    "\\u0174 > \\u0175;"+
+                    "\\u0176 > \\u0177;"+
+                    "\\u0178 > \\u00FF;"+
+                    "\\u0179 > \\u017A;"+
+                    "\\u017B > \\u017C;"+
+                    "\\u017D > \\u017E;"+
+                    "\\u017F > s;"+
+                    "\\u0181 > \\u0253;"+
+                    "\\u0182 > \\u0183;"+
+                    "\\u0184 > \\u0185;"+
+                    "\\u0186 > \\u0254;"+
+                    "\\u0187 > \\u0188;"+
+                    "\\u0189 > \\u0256;"+
+                    "\\u018A > \\u0257;"+
+                    "\\u018B > \\u018C;"+
+                    "\\u018E > \\u01DD;"+
+                    "\\u018F > \\u0259;"+
+                    "\\u0190 > \\u025B;"+
+                    "\\u0191 > \\u0192;"+
+                    "\\u0193 > \\u0260;"+
+                    "\\u0194 > \\u0263;"+
+                    "\\u0196 > \\u0269;"+
+                    "\\u0197 > \\u0268;"+
+                    "\\u0198 > \\u0199;"+
+                    "\\u019C > \\u026F;"+
+                    "\\u019D > \\u0272;"+
+                    "\\u019F > \\u0275;"+
+                    "\\u01A0 > \\u01A1;"+
+                    "\\u01A2 > \\u01A3;"+
+                    "\\u01A4 > \\u01A5;"+
+                    "\\u01A6 > \\u0280;"+
+                    "\\u01A7 > \\u01A8;"+
+                    "\\u01A9 > \\u0283;"+
+                    "\\u01AC > \\u01AD;"+
+                    "\\u01AE > \\u0288;"+
+                    "\\u01AF > \\u01B0;"+
+                    "\\u01B1 > \\u028A;"+
+                    "\\u01B2 > \\u028B;"+
+                    "\\u01B3 > \\u01B4;"+
+                    "\\u01B5 > \\u01B6;"+
+                    "\\u01B7 > \\u0292;"+
+                    "\\u01B8 > \\u01B9;"+
+                    "\\u01BC > \\u01BD;"+
+                    "\\u01C4 > \\u01C6;"+
+                    "\\u01C5 > \\u01C6;"+
+                    "\\u01C7 > \\u01C9;"+
+                    "\\u01C8 > \\u01C9;"+
+                    "\\u01CA > \\u01CC;"+
+                    "\\u01CB > \\u01CC;"+
+                    "\\u01CD > \\u01CE;"+
+                    "\\u01CF > \\u01D0;"+
+                    "\\u01D1 > \\u01D2;"+
+                    "\\u01D3 > \\u01D4;"+
+                    "\\u01D5 > \\u01D6;"+
+                    "\\u01D7 > \\u01D8;"+
+                    "\\u01D9 > \\u01DA;"+
+                    "\\u01DB > \\u01DC;"+
+                    "\\u01DE > \\u01DF;"+
+                    "\\u01E0 > \\u01E1;"+
+                    "\\u01E2 > \\u01E3;"+
+                    "\\u01E4 > \\u01E5;"+
+                    "\\u01E6 > \\u01E7;"+
+                    "\\u01E8 > \\u01E9;"+
+                    "\\u01EA > \\u01EB;"+
+                    "\\u01EC > \\u01ED;"+
+                    "\\u01EE > \\u01EF;"+
+                    "\\u01F0 > j\\u030C;"+
+                    "\\u01F1 > \\u01F3;"+
+                    "\\u01F2 > \\u01F3;"+
+                    "\\u01F4 > \\u01F5;"+
+                    "\\u01F6 > \\u0195;"+
+                    "\\u01F7 > \\u01BF;"+
+                    "\\u01F8 > \\u01F9;"+
+                    "\\u01FA > \\u01FB;"+
+                    "\\u01FC > \\u01FD;"+
+                    "\\u01FE > \\u01FF;"+
+                    "\\u0200 > \\u0201;"+
+                    "\\u0202 > \\u0203;"+
+                    "\\u0204 > \\u0205;"+
+                    "\\u0206 > \\u0207;"+
+                    "\\u0208 > \\u0209;"+
+                    "\\u020A > \\u020B;"+
+                    "\\u020C > \\u020D;"+
+                    "\\u020E > \\u020F;"+
+                    "\\u0210 > \\u0211;"+
+                    "\\u0212 > \\u0213;"+
+                    "\\u0214 > \\u0215;"+
+                    "\\u0216 > \\u0217;"+
+                    "\\u0218 > \\u0219;"+
+                    "\\u021A > \\u021B;"+
+                    "\\u021C > \\u021D;"+
+                    "\\u021E > \\u021F;"+
+                    "\\u0220 > \\u019E;"+
+                    "\\u0222 > \\u0223;"+
+                    "\\u0224 > \\u0225;"+
+                    "\\u0226 > \\u0227;"+
+                    "\\u0228 > \\u0229;"+
+                    "\\u022A > \\u022B;"+
+                    "\\u022C > \\u022D;"+
+                    "\\u022E > \\u022F;"+
+                    "\\u0230 > \\u0231;"+
+                    "\\u0232 > \\u0233;"+
+                    "\\u0345 > \\u03B9;"+
+                    "\\u037A > \\u0020\\u03B9;"+
+                    "\\u0386 > \\u03AC;"+
+                    "\\u0388 > \\u03AD;"+
+                    "\\u0389 > \\u03AE;"+
+                    "\\u038A > \\u03AF;"+
+                    "\\u038C > \\u03CC;"+
+                    "\\u038E > \\u03CD;"+
+                    "\\u038F > \\u03CE;"+
+                    "\\u0390 > \\u03B9\\u0308\\u0301;"+
+                    "\\u0391 > \\u03B1;"+
+                    "\\u0392 > \\u03B2;"+
+                    "\\u0393 > \\u03B3;"+
+                    "\\u0394 > \\u03B4;"+
+                    "\\u0395 > \\u03B5;"+
+                    "\\u0396 > \\u03B6;"+
+                    "\\u0397 > \\u03B7;"+
+                    "\\u0398 > \\u03B8;"+
+                    "\\u0399 > \\u03B9;"+
+                    "\\u039A > \\u03BA;"+
+                    "\\u039B > \\u03BB;"+
+                    "\\u039C > \\u03BC;"+
+                    "\\u039D > \\u03BD;"+
+                    "\\u039E > \\u03BE;"+
+                    "\\u039F > \\u03BF;"+
+                    "\\u03A0 > \\u03C0;"+
+                    "\\u03A1 > \\u03C1;"+
+                    "\\u03A3 > \\u03C3;"+
+                    "\\u03A4 > \\u03C4;"+
+                    "\\u03A5 > \\u03C5;"+
+                    "\\u03A6 > \\u03C6;"+
+                    "\\u03A7 > \\u03C7;"+
+                    "\\u03A8 > \\u03C8;"+
+                    "\\u03A9 > \\u03C9;"+
+                    "\\u03AA > \\u03CA;"+
+                    "\\u03AB > \\u03CB;"+
+                    "\\u03B0 > \\u03C5\\u0308\\u0301;"+
+                    "\\u03C2 > \\u03C3;"+
+                    "\\u03D0 > \\u03B2;"+
+                    "\\u03D1 > \\u03B8;"+
+                    "\\u03D2 > \\u03C5;"+
+                    "\\u03D3 > \\u03CD;"+
+                    "\\u03D4 > \\u03CB;"+
+                    "\\u03D5 > \\u03C6;"+
+                    "\\u03D6 > \\u03C0;"+
+                    "\\u03D8 > \\u03D9;"+
+                    "\\u03DA > \\u03DB;"+
+                    "\\u03DC > \\u03DD;"+
+                    "\\u03DE > \\u03DF;"+
+                    "\\u03E0 > \\u03E1;"+
+                    "\\u03E2 > \\u03E3;"+
+                    "\\u03E4 > \\u03E5;"+
+                    "\\u03E6 > \\u03E7;"+
+                    "\\u03E8 > \\u03E9;"+
+                    "\\u03EA > \\u03EB;"+
+                    "\\u03EC > \\u03ED;"+
+                    "\\u03EE > \\u03EF;"+
+                    "\\u03F0 > \\u03BA;"+
+                    "\\u03F1 > \\u03C1;"+
+                    "\\u03F2 > \\u03C3;"+
+                    "\\u03F4 > \\u03B8;"+
+                    "\\u03F5 > \\u03B5;"+
+                    "\\u0400 > \\u0450;"+
+                    "\\u0401 > \\u0451;"+
+                    "\\u0402 > \\u0452;"+
+                    "\\u0403 > \\u0453;"+
+                    "\\u0404 > \\u0454;"+
+                    "\\u0405 > \\u0455;"+
+                    "\\u0406 > \\u0456;"+
+                    "\\u0407 > \\u0457;"+
+                    "\\u0408 > \\u0458;"+
+                    "\\u0409 > \\u0459;"+
+                    "\\u040A > \\u045A;"+
+                    "\\u040B > \\u045B;"+
+                    "\\u040C > \\u045C;"+
+                    "\\u040D > \\u045D;"+
+                    "\\u040E > \\u045E;"+
+                    "\\u040F > \\u045F;"+
+                    "\\u0410 > \\u0430;"+
+                    "\\u0411 > \\u0431;"+
+                    "\\u0412 > \\u0432;"+
+                    "\\u0413 > \\u0433;"+
+                    "\\u0414 > \\u0434;"+
+                    "\\u0415 > \\u0435;"+
+                    "\\u0416 > \\u0436;"+
+                    "\\u0417 > \\u0437;"+
+                    "\\u0418 > \\u0438;"+
+                    "\\u0419 > \\u0439;"+
+                    "\\u041A > \\u043A;"+
+                    "\\u041B > \\u043B;"+
+                    "\\u041C > \\u043C;"+
+                    "\\u041D > \\u043D;"+
+                    "\\u041E > \\u043E;"+
+                    "\\u041F > \\u043F;"+
+                    "\\u0420 > \\u0440;"+
+                    "\\u0421 > \\u0441;"+
+                    "\\u0422 > \\u0442;"+
+                    "\\u0423 > \\u0443;"+
+                    "\\u0424 > \\u0444;"+
+                    "\\u0425 > \\u0445;"+
+                    "\\u0426 > \\u0446;"+
+                    "\\u0427 > \\u0447;"+
+                    "\\u0428 > \\u0448;"+
+                    "\\u0429 > \\u0449;"+
+                    "\\u042A > \\u044A;"+
+                    "\\u042B > \\u044B;"+
+                    "\\u042C > \\u044C;"+
+                    "\\u042D > \\u044D;"+
+                    "\\u042E > \\u044E;"+
+                    "\\u042F > \\u044F;"+
+                    "\\u0460 > \\u0461;"+
+                    "\\u0462 > \\u0463;"+
+                    "\\u0464 > \\u0465;"+
+                    "\\u0466 > \\u0467;"+
+                    "\\u0468 > \\u0469;"+
+                    "\\u046A > \\u046B;"+
+                    "\\u046C > \\u046D;"+
+                    "\\u046E > \\u046F;"+
+                    "\\u0470 > \\u0471;"+
+                    "\\u0472 > \\u0473;"+
+                    "\\u0474 > \\u0475;"+
+                    "\\u0476 > \\u0477;"+
+                    "\\u0478 > \\u0479;"+
+                    "\\u047A > \\u047B;"+
+                    "\\u047C > \\u047D;"+
+                    "\\u047E > \\u047F;"+
+                    "\\u0480 > \\u0481;"+
+                    "\\u048A > \\u048B;"+
+                    "\\u048C > \\u048D;"+
+                    "\\u048E > \\u048F;"+
+                    "\\u0490 > \\u0491;"+
+                    "\\u0492 > \\u0493;"+
+                    "\\u0494 > \\u0495;"+
+                    "\\u0496 > \\u0497;"+
+                    "\\u0498 > \\u0499;"+
+                    "\\u049A > \\u049B;"+
+                    "\\u049C > \\u049D;"+
+                    "\\u049E > \\u049F;"+
+                    "\\u04A0 > \\u04A1;"+
+                    "\\u04A2 > \\u04A3;"+
+                    "\\u04A4 > \\u04A5;"+
+                    "\\u04A6 > \\u04A7;"+
+                    "\\u04A8 > \\u04A9;"+
+                    "\\u04AA > \\u04AB;"+
+                    "\\u04AC > \\u04AD;"+
+                    "\\u04AE > \\u04AF;"+
+                    "\\u04B0 > \\u04B1;"+
+                    "\\u04B2 > \\u04B3;"+
+                    "\\u04B4 > \\u04B5;"+
+                    "\\u04B6 > \\u04B7;"+
+                    "\\u04B8 > \\u04B9;"+
+                    "\\u04BA > \\u04BB;"+
+                    "\\u04BC > \\u04BD;"+
+                    "\\u04BE > \\u04BF;"+
+                    "\\u04C1 > \\u04C2;"+
+                    "\\u04C3 > \\u04C4;"+
+                    "\\u04C5 > \\u04C6;"+
+                    "\\u04C7 > \\u04C8;"+
+                    "\\u04C9 > \\u04CA;"+
+                    "\\u04CB > \\u04CC;"+
+                    "\\u04CD > \\u04CE;"+
+                    "\\u04D0 > \\u04D1;"+
+                    "\\u04D2 > \\u04D3;"+
+                    "\\u04D4 > \\u04D5;"+
+                    "\\u04D6 > \\u04D7;"+
+                    "\\u04D8 > \\u04D9;"+
+                    "\\u04DA > \\u04DB;"+
+                    "\\u04DC > \\u04DD;"+
+                    "\\u04DE > \\u04DF;"+
+                    "\\u04E0 > \\u04E1;"+
+                    "\\u04E2 > \\u04E3;"+
+                    "\\u04E4 > \\u04E5;"+
+                    "\\u04E6 > \\u04E7;"+
+                    "\\u04E8 > \\u04E9;"+
+                    "\\u04EA > \\u04EB;"+
+                    "\\u04EC > \\u04ED;"+
+                    "\\u04EE > \\u04EF;"+
+                    "\\u04F0 > \\u04F1;"+
+                    "\\u04F2 > \\u04F3;"+
+                    "\\u04F4 > \\u04F5;"+
+                    "\\u04F8 > \\u04F9;"+
+                    "\\u0500 > \\u0501;"+
+                    "\\u0502 > \\u0503;"+
+                    "\\u0504 > \\u0505;"+
+                    "\\u0506 > \\u0507;"+
+                    "\\u0508 > \\u0509;"+
+                    "\\u050A > \\u050B;"+
+                    "\\u050C > \\u050D;"+
+                    "\\u050E > \\u050F;"+
+                    "\\u0531 > \\u0561;"+
+                    "\\u0532 > \\u0562;"+
+                    "\\u0533 > \\u0563;"+
+                    "\\u0534 > \\u0564;"+
+                    "\\u0535 > \\u0565;"+
+                    "\\u0536 > \\u0566;"+
+                    "\\u0537 > \\u0567;"+
+                    "\\u0538 > \\u0568;"+
+                    "\\u0539 > \\u0569;"+
+                    "\\u053A > \\u056A;"+
+                    "\\u053B > \\u056B;"+
+                    "\\u053C > \\u056C;"+
+                    "\\u053D > \\u056D;"+
+                    "\\u053E > \\u056E;"+
+                    "\\u053F > \\u056F;"+
+                    "\\u0540 > \\u0570;"+
+                    "\\u0541 > \\u0571;"+
+                    "\\u0542 > \\u0572;"+
+                    "\\u0543 > \\u0573;"+
+                    "\\u0544 > \\u0574;"+
+                    "\\u0545 > \\u0575;"+
+                    "\\u0546 > \\u0576;"+
+                    "\\u0547 > \\u0577;"+
+                    "\\u0548 > \\u0578;"+
+                    "\\u0549 > \\u0579;"+
+                    "\\u054A > \\u057A;"+
+                    "\\u054B > \\u057B;"+
+                    "\\u054C > \\u057C;"+
+                    "\\u054D > \\u057D;"+
+                    "\\u054E > \\u057E;"+
+                    "\\u054F > \\u057F;"+
+                    "\\u0550 > \\u0580;"+
+                    "\\u0551 > \\u0581;"+
+                    "\\u0552 > \\u0582;"+
+                    "\\u0553 > \\u0583;"+
+                    "\\u0554 > \\u0584;"+
+                    "\\u0555 > \\u0585;"+
+                    "\\u0556 > \\u0586;"+
+                    "\\u0587 > \\u0565\\u0582;"+
+                    "\\u1E00 > \\u1E01;"+
+                    "\\u1E02 > \\u1E03;"+
+                    "\\u1E04 > \\u1E05;"+
+                    "\\u1E06 > \\u1E07;"+
+                    "\\u1E08 > \\u1E09;"+
+                    "\\u1E0A > \\u1E0B;"+
+                    "\\u1E0C > \\u1E0D;"+
+                    "\\u1E0E > \\u1E0F;"+
+                    "\\u1E10 > \\u1E11;"+
+                    "\\u1E12 > \\u1E13;"+
+                    "\\u1E14 > \\u1E15;"+
+                    "\\u1E16 > \\u1E17;"+
+                    "\\u1E18 > \\u1E19;"+
+                    "\\u1E1A > \\u1E1B;"+
+                    "\\u1E1C > \\u1E1D;"+
+                    "\\u1E1E > \\u1E1F;"+
+                    "\\u1E20 > \\u1E21;"+
+                    "\\u1E22 > \\u1E23;"+
+                    "\\u1E24 > \\u1E25;"+
+                    "\\u1E26 > \\u1E27;"+
+                    "\\u1E28 > \\u1E29;"+
+                    "\\u1E2A > \\u1E2B;"+
+                    "\\u1E2C > \\u1E2D;"+
+                    "\\u1E2E > \\u1E2F;"+
+                    "\\u1E30 > \\u1E31;"+
+                    "\\u1E32 > \\u1E33;"+
+                    "\\u1E34 > \\u1E35;"+
+                    "\\u1E36 > \\u1E37;"+
+                    "\\u1E38 > \\u1E39;"+
+                    "\\u1E3A > \\u1E3B;"+
+                    "\\u1E3C > \\u1E3D;"+
+                    "\\u1E3E > \\u1E3F;"+
+                    "\\u1E40 > \\u1E41;"+
+                    "\\u1E42 > \\u1E43;"+
+                    "\\u1E44 > \\u1E45;"+
+                    "\\u1E46 > \\u1E47;"+
+                    "\\u1E48 > \\u1E49;"+
+                    "\\u1E4A > \\u1E4B;"+
+                    "\\u1E4C > \\u1E4D;"+
+                    "\\u1E4E > \\u1E4F;"+
+                    "\\u1E50 > \\u1E51;"+
+                    "\\u1E52 > \\u1E53;"+
+                    "\\u1E54 > \\u1E55;"+
+                    "\\u1E56 > \\u1E57;"+
+                    "\\u1E58 > \\u1E59;"+
+                    "\\u1E5A > \\u1E5B;"+
+                    "\\u1E5C > \\u1E5D;"+
+                    "\\u1E5E > \\u1E5F;"+
+                    "\\u1E60 > \\u1E61;"+
+                    "\\u1E62 > \\u1E63;"+
+                    "\\u1E64 > \\u1E65;"+
+                    "\\u1E66 > \\u1E67;"+
+                    "\\u1E68 > \\u1E69;"+
+                    "\\u1E6A > \\u1E6B;"+
+                    "\\u1E6C > \\u1E6D;"+
+                    "\\u1E6E > \\u1E6F;"+
+                    "\\u1E70 > \\u1E71;"+
+                    "\\u1E72 > \\u1E73;"+
+                    "\\u1E74 > \\u1E75;"+
+                    "\\u1E76 > \\u1E77;"+
+                    "\\u1E78 > \\u1E79;"+
+                    "\\u1E7A > \\u1E7B;"+
+                    "\\u1E7C > \\u1E7D;"+
+                    "\\u1E7E > \\u1E7F;"+
+                    "\\u1E80 > \\u1E81;"+
+                    "\\u1E82 > \\u1E83;"+
+                    "\\u1E84 > \\u1E85;"+
+                    "\\u1E86 > \\u1E87;"+
+                    "\\u1E88 > \\u1E89;"+
+                    "\\u1E8A > \\u1E8B;"+
+                    "\\u1E8C > \\u1E8D;"+
+                    "\\u1E8E > \\u1E8F;"+
+                    "\\u1E90 > \\u1E91;"+
+                    "\\u1E92 > \\u1E93;"+
+                    "\\u1E94 > \\u1E95;"+
+                    "\\u1E96 > h\\u0331;"+
+                    "\\u1E97 > t\\u0308;"+
+                    "\\u1E98 > w\\u030A;"+
+                    "\\u1E99 > y\\u030A;"+
+                    "\\u1E9A > a\\u02BE;"+
+                    "\\u1E9B > \\u1E61;"+
+                    "\\u1EA0 > \\u1EA1;"+
+                    "\\u1EA2 > \\u1EA3;"+
+                    "\\u1EA4 > \\u1EA5;"+
+                    "\\u1EA6 > \\u1EA7;"+
+                    "\\u1EA8 > \\u1EA9;"+
+                    "\\u1EAA > \\u1EAB;"+
+                    "\\u1EAC > \\u1EAD;"+
+                    "\\u1EAE > \\u1EAF;"+
+                    "\\u1EB0 > \\u1EB1;"+
+                    "\\u1EB2 > \\u1EB3;"+
+                    "\\u1EB4 > \\u1EB5;"+
+                    "\\u1EB6 > \\u1EB7;"+
+                    "\\u1EB8 > \\u1EB9;"+
+                    "\\u1EBA > \\u1EBB;"+
+                    "\\u1EBC > \\u1EBD;"+
+                    "\\u1EBE > \\u1EBF;"+
+                    "\\u1EC0 > \\u1EC1;"+
+                    "\\u1EC2 > \\u1EC3;"+
+                    "\\u1EC4 > \\u1EC5;"+
+                    "\\u1EC6 > \\u1EC7;"+
+                    "\\u1EC8 > \\u1EC9;"+
+                    "\\u1ECA > \\u1ECB;"+
+                    "\\u1ECC > \\u1ECD;"+
+                    "\\u1ECE > \\u1ECF;"+
+                    "\\u1ED0 > \\u1ED1;"+
+                    "\\u1ED2 > \\u1ED3;"+
+                    "\\u1ED4 > \\u1ED5;"+
+                    "\\u1ED6 > \\u1ED7;"+
+                    "\\u1ED8 > \\u1ED9;"+
+                    "\\u1EDA > \\u1EDB;"+
+                    "\\u1EDC > \\u1EDD;"+
+                    "\\u1EDE > \\u1EDF;"+
+                    "\\u1EE0 > \\u1EE1;"+
+                    "\\u1EE2 > \\u1EE3;"+
+                    "\\u1EE4 > \\u1EE5;"+
+                    "\\u1EE6 > \\u1EE7;"+
+                    "\\u1EE8 > \\u1EE9;"+
+                    "\\u1EEA > \\u1EEB;"+
+                    "\\u1EEC > \\u1EED;"+
+                    "\\u1EEE > \\u1EEF;"+
+                    "\\u1EF0 > \\u1EF1;"+
+                    "\\u1EF2 > \\u1EF3;"+
+                    "\\u1EF4 > \\u1EF5;"+
+                    "\\u1EF6 > \\u1EF7;"+
+                    "\\u1EF8 > \\u1EF9;"+
+                    "\\u1F08 > \\u1F00;"+
+                    "\\u1F09 > \\u1F01;"+
+                    "\\u1F0A > \\u1F02;"+
+                    "\\u1F0B > \\u1F03;"+
+                    "\\u1F0C > \\u1F04;"+
+                    "\\u1F0D > \\u1F05;"+
+                    "\\u1F0E > \\u1F06;"+
+                    "\\u1F0F > \\u1F07;"+
+                    "\\u1F18 > \\u1F10;"+
+                    "\\u1F19 > \\u1F11;"+
+                    "\\u1F1A > \\u1F12;"+
+                    "\\u1F1B > \\u1F13;"+
+                    "\\u1F1C > \\u1F14;"+
+                    "\\u1F1D > \\u1F15;"+
+                    "\\u1F28 > \\u1F20;"+
+                    "\\u1F29 > \\u1F21;"+
+                    "\\u1F2A > \\u1F22;"+
+                    "\\u1F2B > \\u1F23;"+
+                    "\\u1F2C > \\u1F24;"+
+                    "\\u1F2D > \\u1F25;"+
+                    "\\u1F2E > \\u1F26;"+
+                    "\\u1F2F > \\u1F27;"+
+                    "\\u1F38 > \\u1F30;"+
+                    "\\u1F39 > \\u1F31;"+
+                    "\\u1F3A > \\u1F32;"+
+                    "\\u1F3B > \\u1F33;"+
+                    "\\u1F3C > \\u1F34;"+
+                    "\\u1F3D > \\u1F35;"+
+                    "\\u1F3E > \\u1F36;"+
+                    "\\u1F3F > \\u1F37;"+
+                    "\\u1F48 > \\u1F40;"+
+                    "\\u1F49 > \\u1F41;"+
+                    "\\u1F4A > \\u1F42;"+
+                    "\\u1F4B > \\u1F43;"+
+                    "\\u1F4C > \\u1F44;"+
+                    "\\u1F4D > \\u1F45;"+
+                    "\\u1F50 > \\u03C5\\u0313;"+
+                    "\\u1F52 > \\u03C5\\u0313\\u0300;"+
+                    "\\u1F54 > \\u03C5\\u0313\\u0301;"+
+                    "\\u1F56 > \\u03C5\\u0313\\u0342;"+
+                    "\\u1F59 > \\u1F51;"+
+                    "\\u1F5B > \\u1F53;"+
+                    "\\u1F5D > \\u1F55;"+
+                    "\\u1F5F > \\u1F57;"+
+                    "\\u1F68 > \\u1F60;"+
+                    "\\u1F69 > \\u1F61;"+
+                    "\\u1F6A > \\u1F62;"+
+                    "\\u1F6B > \\u1F63;"+
+                    "\\u1F6C > \\u1F64;"+
+                    "\\u1F6D > \\u1F65;"+
+                    "\\u1F6E > \\u1F66;"+
+                    "\\u1F6F > \\u1F67;"+
+                    "\\u1F80 > \\u1F00\\u03B9;"+
+                    "\\u1F81 > \\u1F01\\u03B9;"+
+                    "\\u1F82 > \\u1F02\\u03B9;"+
+                    "\\u1F83 > \\u1F03\\u03B9;"+
+                    "\\u1F84 > \\u1F04\\u03B9;"+
+                    "\\u1F85 > \\u1F05\\u03B9;"+
+                    "\\u1F86 > \\u1F06\\u03B9;"+
+                    "\\u1F87 > \\u1F07\\u03B9;"+
+                    "\\u1F88 > \\u1F00\\u03B9;"+
+                    "\\u1F89 > \\u1F01\\u03B9;"+
+                    "\\u1F8A > \\u1F02\\u03B9;"+
+                    "\\u1F8B > \\u1F03\\u03B9;"+
+                    "\\u1F8C > \\u1F04\\u03B9;"+
+                    "\\u1F8D > \\u1F05\\u03B9;"+
+                    "\\u1F8E > \\u1F06\\u03B9;"+
+                    "\\u1F8F > \\u1F07\\u03B9;"+
+                    "\\u1F90 > \\u1F20\\u03B9;"+
+                    "\\u1F91 > \\u1F21\\u03B9;"+
+                    "\\u1F92 > \\u1F22\\u03B9;"+
+                    "\\u1F93 > \\u1F23\\u03B9;"+
+                    "\\u1F94 > \\u1F24\\u03B9;"+
+                    "\\u1F95 > \\u1F25\\u03B9;"+
+                    "\\u1F96 > \\u1F26\\u03B9;"+
+                    "\\u1F97 > \\u1F27\\u03B9;"+
+                    "\\u1F98 > \\u1F20\\u03B9;"+
+                    "\\u1F99 > \\u1F21\\u03B9;"+
+                    "\\u1F9A > \\u1F22\\u03B9;"+
+                    "\\u1F9B > \\u1F23\\u03B9;"+
+                    "\\u1F9C > \\u1F24\\u03B9;"+
+                    "\\u1F9D > \\u1F25\\u03B9;"+
+                    "\\u1F9E > \\u1F26\\u03B9;"+
+                    "\\u1F9F > \\u1F27\\u03B9;"+
+                    "\\u1FA0 > \\u1F60\\u03B9;"+
+                    "\\u1FA1 > \\u1F61\\u03B9;"+
+                    "\\u1FA2 > \\u1F62\\u03B9;"+
+                    "\\u1FA3 > \\u1F63\\u03B9;"+
+                    "\\u1FA4 > \\u1F64\\u03B9;"+
+                    "\\u1FA5 > \\u1F65\\u03B9;"+
+                    "\\u1FA6 > \\u1F66\\u03B9;"+
+                    "\\u1FA7 > \\u1F67\\u03B9;"+
+                    "\\u1FA8 > \\u1F60\\u03B9;"+
+                    "\\u1FA9 > \\u1F61\\u03B9;"+
+                    "\\u1FAA > \\u1F62\\u03B9;"+
+                    "\\u1FAB > \\u1F63\\u03B9;"+
+                    "\\u1FAC > \\u1F64\\u03B9;"+
+                    "\\u1FAD > \\u1F65\\u03B9;"+
+                    "\\u1FAE > \\u1F66\\u03B9;"+
+                    "\\u1FAF > \\u1F67\\u03B9;"+
+                    "\\u1FB2 > \\u1F70\\u03B9;"+
+                    "\\u1FB3 > \\u03B1\\u03B9;"+
+                    "\\u1FB4 > \\u03AC\\u03B9;"+
+                    "\\u1FB6 > \\u03B1\\u0342;"+
+                    "\\u1FB7 > \\u03B1\\u0342\\u03B9;"+
+                    "\\u1FB8 > \\u1FB0;"+
+                    "\\u1FB9 > \\u1FB1;"+
+                    "\\u1FBA > \\u1F70;"+
+                    "\\u1FBB > \\u1F71;"+
+                    "\\u1FBC > \\u03B1\\u03B9;"+
+                    "\\u1FBE > \\u03B9;"+
+                    "\\u1FC2 > \\u1F74\\u03B9;"+
+                    "\\u1FC3 > \\u03B7\\u03B9;"+
+                    "\\u1FC4 > \\u03AE\\u03B9;"+
+                    "\\u1FC6 > \\u03B7\\u0342;"+
+                    "\\u1FC7 > \\u03B7\\u0342\\u03B9;"+
+                    "\\u1FC8 > \\u1F72;"+
+                    "\\u1FC9 > \\u1F73;"+
+                    "\\u1FCA > \\u1F74;"+
+                    "\\u1FCB > \\u1F75;"+
+                    "\\u1FCC > \\u03B7\\u03B9;"+
+                    "\\u1FD2 > \\u03B9\\u0308\\u0300;"+
+                    "\\u1FD3 > \\u03B9\\u0308\\u0301;"+
+                    "\\u1FD6 > \\u03B9\\u0342;"+
+                    "\\u1FD7 > \\u03B9\\u0308\\u0342;"+
+                    "\\u1FD8 > \\u1FD0;"+
+                    "\\u1FD9 > \\u1FD1;"+
+                    "\\u1FDA > \\u1F76;"+
+                    "\\u1FDB > \\u1F77;"+
+                    "\\u1FE2 > \\u03C5\\u0308\\u0300;"+
+                    "\\u1FE3 > \\u03C5\\u0308\\u0301;"+
+                    "\\u1FE4 > \\u03C1\\u0313;"+
+                    "\\u1FE6 > \\u03C5\\u0342;"+
+                    "\\u1FE7 > \\u03C5\\u0308\\u0342;"+
+                    "\\u1FE8 > \\u1FE0;"+
+                    "\\u1FE9 > \\u1FE1;"+
+                    "\\u1FEA > \\u1F7A;"+
+                    "\\u1FEB > \\u1F7B;"+
+                    "\\u1FEC > \\u1FE5;"+
+                    "\\u1FF2 > \\u1F7C\\u03B9;"+
+                    "\\u1FF3 > \\u03C9\\u03B9;"+
+                    "\\u1FF4 > \\u03CE\\u03B9;"+
+                    "\\u1FF6 > \\u03C9\\u0342;"+
+                    "\\u1FF7 > \\u03C9\\u0342\\u03B9;"+
+                    "\\u1FF8 > \\u1F78;"+
+                    "\\u1FF9 > \\u1F79;"+
+                    "\\u1FFA > \\u1F7C;"+
+                    "\\u1FFB > \\u1F7D;"+
+                    "\\u1FFC > \\u03C9\\u03B9;"+
+                    "\\u20A8 > rs;"+
+                    "\\u2102 > c;"+
+                    "\\u2103 > \\u00B0c;"+
+                    "\\u2107 > \\u025B;"+
+                    "\\u2109 > \\u00B0f;"+
+                    "\\u210B > h;"+
+                    "\\u210C > h;"+
+                    "\\u210D > h;"+
+                    "\\u2110 > i;"+
+                    "\\u2111 > i;"+
+                    "\\u2112 > l;"+
+                    "\\u2115 > n;"+
+                    "\\u2116 > no;"+
+                    "\\u2119 > p;"+
+                    "\\u211A > q;"+
+                    "\\u211B > r;"+
+                    "\\u211C > r;"+
+                    "\\u211D > r;"+
+                    "\\u2120 > sm;"+
+                    "\\u2121 > tel;"+
+                    "\\u2122 > tm;"+
+                    "\\u2124 > z;"+
+                    "\\u2126 > \\u03C9;"+
+                    "\\u2128 > z;"+
+                    "\\u212A > k;"+
+                    "\\u212B > \\u00E5;"+
+                    "\\u212C > b;"+
+                    "\\u212D > c;"+
+                    "\\u2130 > e;"+
+                    "\\u2131 > f;"+
+                    "\\u2133 > m;"+
+                    "\\u213E > \\u03B3;"+
+                    "\\u213F > \\u03C0;"+
+                    "\\u2145 > d;"+
+                    "\\u2160 > \\u2170;"+
+                    "\\u2161 > \\u2171;"+
+                    "\\u2162 > \\u2172;"+
+                    "\\u2163 > \\u2173;"+
+                    "\\u2164 > \\u2174;"+
+                    "\\u2165 > \\u2175;"+
+                    "\\u2166 > \\u2176;"+
+                    "\\u2167 > \\u2177;"+
+                    "\\u2168 > \\u2178;"+
+                    "\\u2169 > \\u2179;"+
+                    "\\u216A > \\u217A;"+
+                    "\\u216B > \\u217B;"+
+                    "\\u216C > \\u217C;"+
+                    "\\u216D > \\u217D;"+
+                    "\\u216E > \\u217E;"+
+                    "\\u216F > \\u217F;"+
+                    "\\u24B6 > \\u24D0;"+
+                    "\\u24B7 > \\u24D1;"+
+                    "\\u24B8 > \\u24D2;"+
+                    "\\u24B9 > \\u24D3;"+
+                    "\\u24BA > \\u24D4;"+
+                    "\\u24BB > \\u24D5;"+
+                    "\\u24BC > \\u24D6;"+
+                    "\\u24BD > \\u24D7;"+
+                    "\\u24BE > \\u24D8;"+
+                    "\\u24BF > \\u24D9;"+
+                    "\\u24C0 > \\u24DA;"+
+                    "\\u24C1 > \\u24DB;"+
+                    "\\u24C2 > \\u24DC;"+
+                    "\\u24C3 > \\u24DD;"+
+                    "\\u24C4 > \\u24DE;"+
+                    "\\u24C5 > \\u24DF;"+
+                    "\\u24C6 > \\u24E0;"+
+                    "\\u24C7 > \\u24E1;"+
+                    "\\u24C8 > \\u24E2;"+
+                    "\\u24C9 > \\u24E3;"+
+                    "\\u24CA > \\u24E4;"+
+                    "\\u24CB > \\u24E5;"+
+                    "\\u24CC > \\u24E6;"+
+                    "\\u24CD > \\u24E7;"+
+                    "\\u24CE > \\u24E8;"+
+                    "\\u24CF > \\u24E9;"+
+                    "\\u3371 > hpa;"+
+                    "\\u3373 > au;"+
+                    "\\u3375 > ov;"+
+                    "\\u3380 > pa;"+
+                    "\\u3381 > na;"+
+                    "\\u3382 > \\u03BCa;"+
+                    "\\u3383 > ma;"+
+                    "\\u3384 > ka;"+
+                    "\\u3385 > kb;"+
+                    "\\u3386 > mb;"+
+                    "\\u3387 > gb;"+
+                    "\\u338A > pf;"+
+                    "\\u338B > nf;"+
+                    "\\u338C > \\u03BCf;"+
+                    "\\u3390 > hz;"+
+                    "\\u3391 > khz;"+
+                    "\\u3392 > mhz;"+
+                    "\\u3393 > ghz;"+
+                    "\\u3394 > thz;"+
+                    "\\u33A9 > pa;"+
+                    "\\u33AA > kpa;"+
+                    "\\u33AB > mpa;"+
+                    "\\u33AC > gpa;"+
+                    "\\u33B4 > pv;"+
+                    "\\u33B5 > nv;"+
+                    "\\u33B6 > \\u03BCv;"+
+                    "\\u33B7 > mv;"+
+                    "\\u33B8 > kv;"+
+                    "\\u33B9 > mv;"+
+                    "\\u33BA > pw;"+
+                    "\\u33BB > nw;"+
+                    "\\u33BC > \\u03BCw;"+
+                    "\\u33BD > mw;"+
+                    "\\u33BE > kw;"+
+                    "\\u33BF > mw;"+
+                    "\\u33C0 > k\\u03C9;"+
+                    "\\u33C1 > m\\u03C9;"+
+                    "\\u33C3 > bq;"+
+                    "\\u33C6 > c\\u2215kg;"+
+                    "\\u33C7 > co\\.;"+
+                    "\\u33C8 > db;"+
+                    "\\u33C9 > gy;"+
+                    "\\u33CB > hp;"+
+                    "\\u33CD > kk;"+
+                    "\\u33CE > km;"+
+                    "\\u33D7 > ph;"+
+                    "\\u33D9 > ppm;"+
+                    "\\u33DA > pr;"+
+                    "\\u33DC > sv;"+
+                    "\\u33DD > wb;"+
+                    "\\uFB00 > ff;"+
+                    "\\uFB01 > fi;"+
+                    "\\uFB02 > fl;"+
+                    "\\uFB03 > ffi;"+
+                    "\\uFB04 > ffl;"+
+                    "\\uFB05 > st;"+
+                    "\\uFB06 > st;"+
+                    "\\uFB13 > \\u0574\\u0576;"+
+                    "\\uFB14 > \\u0574\\u0565;"+
+                    "\\uFB15 > \\u0574\\u056B;"+
+                    "\\uFB16 > \\u057E\\u0576;"+
+                    "\\uFB17 > \\u0574\\u056D;"+
+                    "\\uFF21 > \\uFF41;"+
+                    "\\uFF22 > \\uFF42;"+
+                    "\\uFF23 > \\uFF43;"+
+                    "\\uFF24 > \\uFF44;"+
+                    "\\uFF25 > \\uFF45;"+
+                    "\\uFF26 > \\uFF46;"+
+                    "\\uFF27 > \\uFF47;"+
+                    "\\uFF28 > \\uFF48;"+
+                    "\\uFF29 > \\uFF49;"+
+                    "\\uFF2A > \\uFF4A;"+
+                    "\\uFF2B > \\uFF4B;"+
+                    "\\uFF2C > \\uFF4C;"+
+                    "\\uFF2D > \\uFF4D;"+
+                    "\\uFF2E > \\uFF4E;"+
+                    "\\uFF2F > \\uFF4F;"+
+                    "\\uFF30 > \\uFF50;"+
+                    "\\uFF31 > \\uFF51;"+
+                    "\\uFF32 > \\uFF52;"+
+                    "\\uFF33 > \\uFF53;"+
+                    "\\uFF34 > \\uFF54;"+
+                    "\\uFF35 > \\uFF55;"+
+                    "\\uFF36 > \\uFF56;"+
+                    "\\uFF37 > \\uFF57;"+
+                    "\\uFF38 > \\uFF58;"+
+                    "\\uFF39 > \\uFF59;"+
+                    "\\uFF3A > \\uFF5A;"+
+                    "\\U00010400 > \\U00010428;"+
+                    "\\U00010401 > \\U00010429;"+
+                    "\\U00010402 > \\U0001042A;"+
+                    "\\U00010403 > \\U0001042B;"+
+                    "\\U00010404 > \\U0001042C;"+
+                    "\\U00010405 > \\U0001042D;"+
+                    "\\U00010406 > \\U0001042E;"+
+                    "\\U00010407 > \\U0001042F;"+
+                    "\\U00010408 > \\U00010430;"+
+                    "\\U00010409 > \\U00010431;"+
+                    "\\U0001040A > \\U00010432;"+
+                    "\\U0001040B > \\U00010433;"+
+                    "\\U0001040C > \\U00010434;"+
+                    "\\U0001040D > \\U00010435;"+
+                    "\\U0001040E > \\U00010436;"+
+                    "\\U0001040F > \\U00010437;"+
+                    "\\U00010410 > \\U00010438;"+
+                    "\\U00010411 > \\U00010439;"+
+                    "\\U00010412 > \\U0001043A;"+
+                    "\\U00010413 > \\U0001043B;"+
+                    "\\U00010414 > \\U0001043C;"+
+                    "\\U00010415 > \\U0001043D;"+
+                    "\\U00010416 > \\U0001043E;"+
+                    "\\U00010417 > \\U0001043F;"+
+                    "\\U00010418 > \\U00010440;"+
+                    "\\U00010419 > \\U00010441;"+
+                    "\\U0001041A > \\U00010442;"+
+                    "\\U0001041B > \\U00010443;"+
+                    "\\U0001041C > \\U00010444;"+
+                    "\\U0001041D > \\U00010445;"+
+                    "\\U0001041E > \\U00010446;"+
+                    "\\U0001041F > \\U00010447;"+
+                    "\\U00010420 > \\U00010448;"+
+                    "\\U00010421 > \\U00010449;"+
+                    "\\U00010422 > \\U0001044A;"+
+                    "\\U00010423 > \\U0001044B;"+
+                    "\\U00010424 > \\U0001044C;"+
+                    "\\U00010425 > \\U0001044D;"+
+                    "\\U0001D400 > a;"+
+                    "\\U0001D401 > b;"+
+                    "\\U0001D402 > c;"+
+                    "\\U0001D403 > d;"+
+                    "\\U0001D404 > e;"+
+                    "\\U0001D405 > f;"+
+                    "\\U0001D406 > g;"+
+                    "\\U0001D407 > h;"+
+                    "\\U0001D408 > i;"+
+                    "\\U0001D409 > j;"+
+                    "\\U0001D40A > k;"+
+                    "\\U0001D40B > l;"+
+                    "\\U0001D40C > m;"+
+                    "\\U0001D40D > n;"+
+                    "\\U0001D40E > o;"+
+                    "\\U0001D40F > p;"+
+                    "\\U0001D410 > q;"+
+                    "\\U0001D411 > r;"+
+                    "\\U0001D412 > s;"+
+                    "\\U0001D413 > t;"+
+                    "\\U0001D414 > u;"+
+                    "\\U0001D415 > v;"+
+                    "\\U0001D416 > w;"+
+                    "\\U0001D417 > x;"+
+                    "\\U0001D418 > y;"+
+                    "\\U0001D419 > z;"+
+                    "\\U0001D434 > a;"+
+                    "\\U0001D435 > b;"+
+                    "\\U0001D436 > c;"+
+                    "\\U0001D437 > d;"+
+                    "\\U0001D438 > e;"+
+                    "\\U0001D439 > f;"+
+                    "\\U0001D43A > g;"+
+                    "\\U0001D43B > h;"+
+                    "\\U0001D43C > i;"+
+                    "\\U0001D43D > j;"+
+                    "\\U0001D43E > k;"+
+                    "\\U0001D43F > l;"+
+                    "\\U0001D440 > m;"+
+                    "\\U0001D441 > n;"+
+                    "\\U0001D442 > o;"+
+                    "\\U0001D443 > p;"+
+                    "\\U0001D444 > q;"+
+                    "\\U0001D445 > r;"+
+                    "\\U0001D446 > s;"+
+                    "\\U0001D447 > t;"+
+                    "\\U0001D448 > u;"+
+                    "\\U0001D449 > v;"+
+                    "\\U0001D44A > w;"+
+                    "\\U0001D44B > x;"+
+                    "\\U0001D44C > y;"+
+                    "\\U0001D44D > z;"+
+                    "\\U0001D468 > a;"+
+                    "\\U0001D469 > b;"+
+                    "\\U0001D46A > c;"+
+                    "\\U0001D46B > d;"+
+                    "\\U0001D46C > e;"+
+                    "\\U0001D46D > f;"+
+                    "\\U0001D46E > g;"+
+                    "\\U0001D46F > h;"+
+                    "\\U0001D470 > i;"+
+                    "\\U0001D471 > j;"+
+                    "\\U0001D472 > k;"+
+                    "\\U0001D473 > l;"+
+                    "\\U0001D474 > m;"+
+                    "\\U0001D475 > n;"+
+                    "\\U0001D476 > o;"+
+                    "\\U0001D477 > p;"+
+                    "\\U0001D478 > q;"+
+                    "\\U0001D479 > r;"+
+                    "\\U0001D47A > s;"+
+                    "\\U0001D47B > t;"+
+                    "\\U0001D47C > u;"+
+                    "\\U0001D47D > v;"+
+                    "\\U0001D47E > w;"+
+                    "\\U0001D47F > x;"+
+                    "\\U0001D480 > y;"+
+                    "\\U0001D481 > z;"+
+                    "\\U0001D49C > a;"+
+                    "\\U0001D49E > c;"+
+                    "\\U0001D49F > d;"+
+                    "\\U0001D4A2 > g;"+
+                    "\\U0001D4A5 > j;"+
+                    "\\U0001D4A6 > k;"+
+                    "\\U0001D4A9 > n;"+
+                    "\\U0001D4AA > o;"+
+                    "\\U0001D4AB > p;"+
+                    "\\U0001D4AC > q;"+
+                    "\\U0001D4AE > s;"+
+                    "\\U0001D4AF > t;"+
+                    "\\U0001D4B0 > u;"+
+                    "\\U0001D4B1 > v;"+
+                    "\\U0001D4B2 > w;"+
+                    "\\U0001D4B3 > x;"+
+                    "\\U0001D4B4 > y;"+
+                    "\\U0001D4B5 > z;"+
+                    "\\U0001D4D0 > a;"+
+                    "\\U0001D4D1 > b;"+
+                    "\\U0001D4D2 > c;"+
+                    "\\U0001D4D3 > d;"+
+                    "\\U0001D4D4 > e;"+
+                    "\\U0001D4D5 > f;"+
+                    "\\U0001D4D6 > g;"+
+                    "\\U0001D4D7 > h;"+
+                    "\\U0001D4D8 > i;"+
+                    "\\U0001D4D9 > j;"+
+                    "\\U0001D4DA > k;"+
+                    "\\U0001D4DB > l;"+
+                    "\\U0001D4DC > m;"+
+                    "\\U0001D4DD > n;"+
+                    "\\U0001D4DE > o;"+
+                    "\\U0001D4DF > p;"+
+                    "\\U0001D4E0 > q;"+
+                    "\\U0001D4E1 > r;"+
+                    "\\U0001D4E2 > s;"+
+                    "\\U0001D4E3 > t;"+
+                    "\\U0001D4E4 > u;"+
+                    "\\U0001D4E5 > v;"+
+                    "\\U0001D4E6 > w;"+
+                    "\\U0001D4E7 > x;"+
+                    "\\U0001D4E8 > y;"+
+                    "\\U0001D4E9 > z;"+
+                    "\\U0001D504 > a;"+
+                    "\\U0001D505 > b;"+
+                    "\\U0001D507 > d;"+
+                    "\\U0001D508 > e;"+
+                    "\\U0001D509 > f;"+
+                    "\\U0001D50A > g;"+
+                    "\\U0001D50D > j;"+
+                    "\\U0001D50E > k;"+
+                    "\\U0001D50F > l;"+
+                    "\\U0001D510 > m;"+
+                    "\\U0001D511 > n;"+
+                    "\\U0001D512 > o;"+
+                    "\\U0001D513 > p;"+
+                    "\\U0001D514 > q;"+
+                    "\\U0001D516 > s;"+
+                    "\\U0001D517 > t;"+
+                    "\\U0001D518 > u;"+
+                    "\\U0001D519 > v;"+
+                    "\\U0001D51A > w;"+
+                    "\\U0001D51B > x;"+
+                    "\\U0001D51C > y;"+
+                    "\\U0001D538 > a;"+
+                    "\\U0001D539 > b;"+
+                    "\\U0001D53B > d;"+
+                    "\\U0001D53C > e;"+
+                    "\\U0001D53D > f;"+
+                    "\\U0001D53E > g;"+
+                    "\\U0001D540 > i;"+
+                    "\\U0001D541 > j;"+
+                    "\\U0001D542 > k;"+
+                    "\\U0001D543 > l;"+
+                    "\\U0001D544 > m;"+
+                    "\\U0001D546 > o;"+
+                    "\\U0001D54A > s;"+
+                    "\\U0001D54B > t;"+
+                    "\\U0001D54C > u;"+
+                    "\\U0001D54D > v;"+
+                    "\\U0001D54E > w;"+
+                    "\\U0001D54F > x;"+
+                    "\\U0001D550 > y;"+
+                    "\\U0001D56C > a;"+
+                    "\\U0001D56D > b;"+
+                    "\\U0001D56E > c;"+
+                    "\\U0001D56F > d;"+
+                    "\\U0001D570 > e;"+
+                    "\\U0001D571 > f;"+
+                    "\\U0001D572 > g;"+
+                    "\\U0001D573 > h;"+
+                    "\\U0001D574 > i;"+
+                    "\\U0001D575 > j;"+
+                    "\\U0001D576 > k;"+
+                    "\\U0001D577 > l;"+
+                    "\\U0001D578 > m;"+
+                    "\\U0001D579 > n;"+
+                    "\\U0001D57A > o;"+
+                    "\\U0001D57B > p;"+
+                    "\\U0001D57C > q;"+
+                    "\\U0001D57D > r;"+
+                    "\\U0001D57E > s;"+
+                    "\\U0001D57F > t;"+
+                    "\\U0001D580 > u;"+
+                    "\\U0001D581 > v;"+
+                    "\\U0001D582 > w;"+
+                    "\\U0001D583 > x;"+
+                    "\\U0001D584 > y;"+
+                    "\\U0001D585 > z;"+
+                    "\\U0001D5A0 > a;"+
+                    "\\U0001D5A1 > b;"+
+                    "\\U0001D5A2 > c;"+
+                    "\\U0001D5A3 > d;"+
+                    "\\U0001D5A4 > e;"+
+                    "\\U0001D5A5 > f;"+
+                    "\\U0001D5A6 > g;"+
+                    "\\U0001D5A7 > h;"+
+                    "\\U0001D5A8 > i;"+
+                    "\\U0001D5A9 > j;"+
+                    "\\U0001D5AA > k;"+
+                    "\\U0001D5AB > l;"+
+                    "\\U0001D5AC > m;"+
+                    "\\U0001D5AD > n;"+
+                    "\\U0001D5AE > o;"+
+                    "\\U0001D5AF > p;"+
+                    "\\U0001D5B0 > q;"+
+                    "\\U0001D5B1 > r;"+
+                    "\\U0001D5B2 > s;"+
+                    "\\U0001D5B3 > t;"+
+                    "\\U0001D5B4 > u;"+
+                    "\\U0001D5B5 > v;"+
+                    "\\U0001D5B6 > w;"+
+                    "\\U0001D5B7 > x;"+
+                    "\\U0001D5B8 > y;"+
+                    "\\U0001D5B9 > z;"+
+                    "\\U0001D5D4 > a;"+
+                    "\\U0001D5D5 > b;"+
+                    "\\U0001D5D6 > c;"+
+                    "\\U0001D5D7 > d;"+
+                    "\\U0001D5D8 > e;"+
+                    "\\U0001D5D9 > f;"+
+                    "\\U0001D5DA > g;"+
+                    "\\U0001D5DB > h;"+
+                    "\\U0001D5DC > i;"+
+                    "\\U0001D5DD > j;"+
+                    "\\U0001D5DE > k;"+
+                    "\\U0001D5DF > l;"+
+                    "\\U0001D5E0 > m;"+
+                    "\\U0001D5E1 > n;"+
+                    "\\U0001D5E2 > o;"+
+                    "\\U0001D5E3 > p;"+
+                    "\\U0001D5E4 > q;"+
+                    "\\U0001D5E5 > r;"+
+                    "\\U0001D5E6 > s;"+
+                    "\\U0001D5E7 > t;"+
+                    "\\U0001D5E8 > u;"+
+                    "\\U0001D5E9 > v;"+
+                    "\\U0001D5EA > w;"+
+                    "\\U0001D5EB > x;"+
+                    "\\U0001D5EC > y;"+
+                    "\\U0001D5ED > z;"+
+                    "\\U0001D608 > a;"+
+                    "\\U0001D609 > b;"+
+                    "\\U0001D60A > c;"+
+                    "\\U0001D60B > d;"+
+                    "\\U0001D60C > e;"+
+                    "\\U0001D60D > f;"+
+                    "\\U0001D60E > g;"+
+                    "\\U0001D60F > h;"+
+                    "\\U0001D610 > i;"+
+                    "\\U0001D611 > j;"+
+                    "\\U0001D612 > k;"+
+                    "\\U0001D613 > l;"+
+                    "\\U0001D614 > m;"+
+                    "\\U0001D615 > n;"+
+                    "\\U0001D616 > o;"+
+                    "\\U0001D617 > p;"+
+                    "\\U0001D618 > q;"+
+                    "\\U0001D619 > r;"+
+                    "\\U0001D61A > s;"+
+                    "\\U0001D61B > t;"+
+                    "\\U0001D61C > u;"+
+                    "\\U0001D61D > v;"+
+                    "\\U0001D61E > w;"+
+                    "\\U0001D61F > x;"+
+                    "\\U0001D620 > y;"+
+                    "\\U0001D621 > z;"+
+                    "\\U0001D63C > a;"+
+                    "\\U0001D63D > b;"+
+                    "\\U0001D63E > c;"+
+                    "\\U0001D63F > d;"+
+                    "\\U0001D640 > e;"+
+                    "\\U0001D641 > f;"+
+                    "\\U0001D642 > g;"+
+                    "\\U0001D643 > h;"+
+                    "\\U0001D644 > i;"+
+                    "\\U0001D645 > j;"+
+                    "\\U0001D646 > k;"+
+                    "\\U0001D647 > l;"+
+                    "\\U0001D648 > m;"+
+                    "\\U0001D649 > n;"+
+                    "\\U0001D64A > o;"+
+                    "\\U0001D64B > p;"+
+                    "\\U0001D64C > q;"+
+                    "\\U0001D64D > r;"+
+                    "\\U0001D64E > s;"+
+                    "\\U0001D64F > t;"+
+                    "\\U0001D650 > u;"+
+                    "\\U0001D651 > v;"+
+                    "\\U0001D652 > w;"+
+                    "\\U0001D653 > x;"+
+                    "\\U0001D654 > y;"+
+                    "\\U0001D655 > z;"+
+                    "\\U0001D670 > a;"+
+                    "\\U0001D671 > b;"+
+                    "\\U0001D672 > c;"+
+                    "\\U0001D673 > d;"+
+                    "\\U0001D674 > e;"+
+                    "\\U0001D675 > f;"+
+                    "\\U0001D676 > g;"+
+                    "\\U0001D677 > h;"+
+                    "\\U0001D678 > i;"+
+                    "\\U0001D679 > j;"+
+                    "\\U0001D67A > k;"+
+                    "\\U0001D67B > l;"+
+                    "\\U0001D67C > m;"+
+                    "\\U0001D67D > n;"+
+                    "\\U0001D67E > o;"+
+                    "\\U0001D67F > p;"+
+                    "\\U0001D680 > q;"+
+                    "\\U0001D681 > r;"+
+                    "\\U0001D682 > s;"+
+                    "\\U0001D683 > t;"+
+                    "\\U0001D684 > u;"+
+                    "\\U0001D685 > v;"+
+                    "\\U0001D686 > w;"+
+                    "\\U0001D687 > x;"+
+                    "\\U0001D688 > y;"+
+                    "\\U0001D689 > z;"+
+                    "\\U0001D6A8 > \\u03B1;"+
+                    "\\U0001D6A9 > \\u03B2;"+
+                    "\\U0001D6AA > \\u03B3;"+
+                    "\\U0001D6AB > \\u03B4;"+
+                    "\\U0001D6AC > \\u03B5;"+
+                    "\\U0001D6AD > \\u03B6;"+
+                    "\\U0001D6AE > \\u03B7;"+
+                    "\\U0001D6AF > \\u03B8;"+
+                    "\\U0001D6B0 > \\u03B9;"+
+                    "\\U0001D6B1 > \\u03BA;"+
+                    "\\U0001D6B2 > \\u03BB;"+
+                    "\\U0001D6B3 > \\u03BC;"+
+                    "\\U0001D6B4 > \\u03BD;"+
+                    "\\U0001D6B5 > \\u03BE;"+
+                    "\\U0001D6B6 > \\u03BF;"+
+                    "\\U0001D6B7 > \\u03C0;"+
+                    "\\U0001D6B8 > \\u03C1;"+
+                    "\\U0001D6B9 > \\u03B8;"+
+                    "\\U0001D6BA > \\u03C3;"+
+                    "\\U0001D6BB > \\u03C4;"+
+                    "\\U0001D6BC > \\u03C5;"+
+                    "\\U0001D6BD > \\u03C6;"+
+                    "\\U0001D6BE > \\u03C7;"+
+                    "\\U0001D6BF > \\u03C8;"+
+                    "\\U0001D6C0 > \\u03C9;"+
+                    "\\U0001D6D3 > \\u03C3;"+
+                    "\\U0001D6E2 > \\u03B1;"+
+                    "\\U0001D6E3 > \\u03B2;"+
+                    "\\U0001D6E4 > \\u03B3;"+
+                    "\\U0001D6E5 > \\u03B4;"+
+                    "\\U0001D6E6 > \\u03B5;"+
+                    "\\U0001D6E7 > \\u03B6;"+
+                    "\\U0001D6E8 > \\u03B7;"+
+                    "\\U0001D6E9 > \\u03B8;"+
+                    "\\U0001D6EA > \\u03B9;"+
+                    "\\U0001D6EB > \\u03BA;"+
+                    "\\U0001D6EC > \\u03BB;"+
+                    "\\U0001D6ED > \\u03BC;"+
+                    "\\U0001D6EE > \\u03BD;"+
+                    "\\U0001D6EF > \\u03BE;"+
+                    "\\U0001D6F0 > \\u03BF;"+
+                    "\\U0001D6F1 > \\u03C0;"+
+                    "\\U0001D6F2 > \\u03C1;"+
+                    "\\U0001D6F3 > \\u03B8;"+
+                    "\\U0001D6F4 > \\u03C3;"+
+                    "\\U0001D6F5 > \\u03C4;"+
+                    "\\U0001D6F6 > \\u03C5;"+
+                    "\\U0001D6F7 > \\u03C6;"+
+                    "\\U0001D6F8 > \\u03C7;"+
+                    "\\U0001D6F9 > \\u03C8;"+
+                    "\\U0001D6FA > \\u03C9;"+
+                    "\\U0001D70D > \\u03C3;"+
+                    "\\U0001D71C > \\u03B1;"+
+                    "\\U0001D71D > \\u03B2;"+
+                    "\\U0001D71E > \\u03B3;"+
+                    "\\U0001D71F > \\u03B4;"+
+                    "\\U0001D720 > \\u03B5;"+
+                    "\\U0001D721 > \\u03B6;"+
+                    "\\U0001D722 > \\u03B7;"+
+                    "\\U0001D723 > \\u03B8;"+
+                    "\\U0001D724 > \\u03B9;"+
+                    "\\U0001D725 > \\u03BA;"+
+                    "\\U0001D726 > \\u03BB;"+
+                    "\\U0001D727 > \\u03BC;"+
+                    "\\U0001D728 > \\u03BD;"+
+                    "\\U0001D729 > \\u03BE;"+
+                    "\\U0001D72A > \\u03BF;"+
+                    "\\U0001D72B > \\u03C0;"+
+                    "\\U0001D72C > \\u03C1;"+
+                    "\\U0001D72D > \\u03B8;"+
+                    "\\U0001D72E > \\u03C3;"+
+                    "\\U0001D72F > \\u03C4;"+
+                    "\\U0001D730 > \\u03C5;"+
+                    "\\U0001D731 > \\u03C6;"+
+                    "\\U0001D732 > \\u03C7;"+
+                    "\\U0001D733 > \\u03C8;"+
+                    "\\U0001D734 > \\u03C9;"+
+                    "\\U0001D747 > \\u03C3;"+
+                    "\\U0001D756 > \\u03B1;"+
+                    "\\U0001D757 > \\u03B2;"+
+                    "\\U0001D758 > \\u03B3;"+
+                    "\\U0001D759 > \\u03B4;"+
+                    "\\U0001D75A > \\u03B5;"+
+                    "\\U0001D75B > \\u03B6;"+
+                    "\\U0001D75C > \\u03B7;"+
+                    "\\U0001D75D > \\u03B8;"+
+                    "\\U0001D75E > \\u03B9;"+
+                    "\\U0001D75F > \\u03BA;"+
+                    "\\U0001D760 > \\u03BB;"+
+                    "\\U0001D761 > \\u03BC;"+
+                    "\\U0001D762 > \\u03BD;"+
+                    "\\U0001D763 > \\u03BE;"+
+                    "\\U0001D764 > \\u03BF;"+
+                    "\\U0001D765 > \\u03C0;"+
+                    "\\U0001D766 > \\u03C1;"+
+                    "\\U0001D767 > \\u03B8;"+
+                    "\\U0001D768 > \\u03C3;"+
+                    "\\U0001D769 > \\u03C4;"+
+                    "\\U0001D76A > \\u03C5;"+
+                    "\\U0001D76B > \\u03C6;"+
+                    "\\U0001D76C > \\u03C7;"+
+                    "\\U0001D76D > \\u03C8;"+
+                    "\\U0001D76E > \\u03C9;"+
+                    "\\U0001D781 > \\u03C3;"+
+                    "\\U0001D790 > \\u03B1;"+
+                    "\\U0001D791 > \\u03B2;"+
+                    "\\U0001D792 > \\u03B3;"+
+                    "\\U0001D793 > \\u03B4;"+
+                    "\\U0001D794 > \\u03B5;"+
+                    "\\U0001D795 > \\u03B6;"+
+                    "\\U0001D796 > \\u03B7;"+
+                    "\\U0001D797 > \\u03B8;"+
+                    "\\U0001D798 > \\u03B9;"+
+                    "\\U0001D799 > \\u03BA;"+
+                    "\\U0001D79A > \\u03BB;"+
+                    "\\U0001D79B > \\u03BC;"+
+                    "\\U0001D79C > \\u03BD;"+
+                    "\\U0001D79D > \\u03BE;"+
+                    "\\U0001D79E > \\u03BF;"+
+                    "\\U0001D79F > \\u03C0;"+
+                    "\\U0001D7A0 > \\u03C1;"+
+                    "\\U0001D7A1 > \\u03B8;"+
+                    "\\U0001D7A2 > \\u03C3;"+
+                    "\\U0001D7A3 > \\u03C4;"+
+                    "\\U0001D7A4 > \\u03C5;"+
+                    "\\U0001D7A5 > \\u03C6;"+
+                    "\\U0001D7A6 > \\u03C7;"+
+                    "\\U0001D7A7 > \\u03C8;"+
+                    "\\U0001D7A8 > \\u03C9;"+
+                    "\\U0001D7BB > \\u03C3;"+
+                    "\\U0002F868 > \\U0002136A;"+
+                    "\\U0002F874 > \\u5F33;"+
+                    "\\U0002F91F > \\u43AB;"+
+                    "\\U0002F95F > \\u7AAE;"+
+                    "\\U0002F9BF > \\u4D57;"+
+                    // generate the characters that are unaffected
+                    "::[:AGE=3.2:]NFKC;"
+                },
+                {
+                    "Map",
+                    "\\u00AD > ;"+
+                    "\\u034F > ;"+
+                    "\\u1806 > ;"+
+                    "\\u180B > ;"+
+                    "\\u180C > ;"+
+                    "\\u180D > ;"+
+                    "\\u200B > ;"+
+                    "\\u200C > ;"+
+                    "\\u200D > ;"+
+                    "\\u2060 > ;"+
+                    "\\uFE00 > ;"+
+                    "\\uFE01 > ;"+
+                    "\\uFE02 > ;"+
+                    "\\uFE03 > ;"+
+                    "\\uFE04 > ;"+
+                    "\\uFE05 > ;"+
+                    "\\uFE06 > ;"+
+                    "\\uFE07 > ;"+
+                    "\\uFE08 > ;"+
+                    "\\uFE09 > ;"+
+                    "\\uFE0A > ;"+
+                    "\\uFE0B > ;"+
+                    "\\uFE0C > ;"+
+                    "\\uFE0D > ;"+
+                    "\\uFE0E > ;"+
+                    "\\uFE0F > ;"+
+                    "\\uFEFF > ;"
+                },
+                {
+                    "ProhibitedSet",
+                    "[\\u00A0 \\u1680 \\u2000 \\u2001 \\u2002 \\u2003 \\u2004 \\u2005" +
+                    " \\u2006 \\u2007 \\u2008 \\u2009 \\u200A \\u200B \\u202F \\u205F \\u3000" +
+                    " \\u0080-\\u009F \\u06DD \\u070F \\u180E \\u200C \\u200D \\u2028 \\u2029" +
+                    " \\u2060 \\u2061 \\u2062 \\u2063 \\u206A-\\u206F \\uFEFF \\uFFF9-\\uFFFC" +
+                    " \\U0001D173-\\U0001D17A \\uE000-\\uF8FF \\U000F0000-\\U000FFFFD " +
+                    "\\U00100000-\\U0010FFFD \\uFDD0-\\uFDEF \\uFFFE-\\uFFFF \\U0001FFF" +
+                    "E-\\U0001FFFF \\U0002FFFE-\\U0002FFFF \\U0003FFFE-\\U0003FFFF \\U" +
+                    "0004FFFE-\\U0004FFFF \\U0005FFFE-\\U0005FFFF \\U0006FFFE-\\U0006" +
+                    "FFFF \\U0007FFFE-\\U0007FFFF \\U0008FFFE-\\U0008FFFF \\U0009FFFE" +
+                    "-\\U0009FFFF \\U000AFFFE-\\U000AFFFF \\U000BFFFE-\\U000BFFFF \\U0" +
+                    "00CFFFE-\\U000CFFFF \\U000DFFFE-\\U000DFFFF \\U000EFFFE-\\U000EF" +
+                    "FFF \\U000FFFFE-\\U000FFFFF \\U0010FFFE-\\U0010FFFF \\uD800-\\uDFFF" +
+                    " \\uFFF9 \\uFFFA \\uFFFB \\uFFFC \\uFFFD \\u2FF0-\\u2FFB \\u0340 \\u0341" +
+                    " \\u200E \\u200F \\u202A \\u202B \\u202C \\u202D \\u202E \\u206A \\u206B" +
+                    " \\u206C \\u206D \\u206E \\u206F \\U000E0001 \\U000E0020-\\U000E00" +
+                    "7F ]",
+                },
+                {
+                    "UnassignedSet",
+                    "[ \\u0221 \\u0234-\\u024F \\u02AE-\\u02AF \\u02EF-\\u02FF \\u0350-\\u035F" +
+                    " \\u0370-\\u0373 \\u0376-\\u0379 \\u037B-\\u037D \\u037F-\\u0383 \\u038B" +
+                    " \\u038D \\u03A2 \\u03CF \\u03F7-\\u03FF \\u0487 \\u04CF \\u04F6-\\u04F7" +
+                    " \\u04FA-\\u04FF \\u0510-\\u0530 \\u0557-\\u0558 \\u0560 \\u0588 \\u058B" +
+                    "-\\u0590 \\u05A2 \\u05BA \\u05C5-\\u05CF \\u05EB-\\u05EF \\u05F5-\\u060B" +
+                    " \\u060D-\\u061A \\u061C-\\u061E \\u0620 \\u063B-\\u063F \\u0656-\\u065F" +
+                    " \\u06EE-\\u06EF \\u06FF \\u070E \\u072D-\\u072F \\u074B-\\u077F \\u07B2" +
+                    "-\\u0900 \\u0904 \\u093A-\\u093B \\u094E-\\u094F \\u0955-\\u0957 \\u0971" +
+                    "-\\u0980 \\u0984 \\u098D-\\u098E \\u0991-\\u0992 \\u09A9 \\u09B1 \\u09B3" +
+                    "-\\u09B5 \\u09BA-\\u09BB \\u09BD \\u09C5-\\u09C6 \\u09C9-\\u09CA \\u09CE" +
+                    "-\\u09D6 \\u09D8-\\u09DB \\u09DE \\u09E4-\\u09E5 \\u09FB-\\u0A01 \\u0A03" +
+                    "-\\u0A04 \\u0A0B-\\u0A0E \\u0A11-\\u0A12 \\u0A29 \\u0A31 \\u0A34 \\u0A37" +
+                    " \\u0A3A-\\u0A3B \\u0A3D \\u0A43-\\u0A46 \\u0A49-\\u0A4A \\u0A4E-\\u0A58" +
+                    " \\u0A5D \\u0A5F-\\u0A65 \\u0A75-\\u0A80 \\u0A84 \\u0A8C \\u0A8E \\u0A92" +
+                    " \\u0AA9 \\u0AB1 \\u0AB4 \\u0ABA-\\u0ABB \\u0AC6 \\u0ACA \\u0ACE-\\u0ACF" +
+                    " \\u0AD1-\\u0ADF \\u0AE1-\\u0AE5 \\u0AF0-\\u0B00 \\u0B04 \\u0B0D-\\u0B0E" +
+                    " \\u0B11-\\u0B12 \\u0B29 \\u0B31 \\u0B34-\\u0B35 \\u0B3A-\\u0B3B \\u0B44" +
+                    "-\\u0B46 \\u0B49-\\u0B4A \\u0B4E-\\u0B55 \\u0B58-\\u0B5B \\u0B5E \\u0B62" +
+                    "-\\u0B65 \\u0B71-\\u0B81 \\u0B84 \\u0B8B-\\u0B8D \\u0B91 \\u0B96-\\u0B98" +
+                    " \\u0B9B \\u0B9D \\u0BA0-\\u0BA2 \\u0BA5-\\u0BA7 \\u0BAB-\\u0BAD \\u0BB6" +
+                    " \\u0BBA-\\u0BBD \\u0BC3-\\u0BC5 \\u0BC9 \\u0BCE-\\u0BD6 \\u0BD8-\\u0BE6" +
+                    " \\u0BF3-\\u0C00 \\u0C04 \\u0C0D \\u0C11 \\u0C29 \\u0C34 \\u0C3A-\\u0C3D" +
+                    " \\u0C45 \\u0C49 \\u0C4E-\\u0C54 \\u0C57-\\u0C5F \\u0C62-\\u0C65 \\u0C70" +
+                    "-\\u0C81 \\u0C84 \\u0C8D \\u0C91 \\u0CA9 \\u0CB4 \\u0CBA-\\u0CBD \\u0CC5" +
+                    " \\u0CC9 \\u0CCE-\\u0CD4 \\u0CD7-\\u0CDD \\u0CDF \\u0CE2-\\u0CE5 \\u0CF0" +
+                    "-\\u0D01 \\u0D04 \\u0D0D \\u0D11 \\u0D29 \\u0D3A-\\u0D3D \\u0D44-\\u0D45" +
+                    " \\u0D49 \\u0D4E-\\u0D56 \\u0D58-\\u0D5F \\u0D62-\\u0D65 \\u0D70-\\u0D81" +
+                    " \\u0D84 \\u0D97-\\u0D99 \\u0DB2 \\u0DBC \\u0DBE-\\u0DBF \\u0DC7-\\u0DC9" +
+                    " \\u0DCB-\\u0DCE \\u0DD5 \\u0DD7 \\u0DE0-\\u0DF1 \\u0DF5-\\u0E00 \\u0E3B" +
+                    "-\\u0E3E \\u0E5C-\\u0E80 \\u0E83 \\u0E85-\\u0E86 \\u0E89 \\u0E8B-\\u0E8C" +
+                    " \\u0E8E-\\u0E93 \\u0E98 \\u0EA0 \\u0EA4 \\u0EA6 \\u0EA8-\\u0EA9 \\u0EAC" +
+                    " \\u0EBA \\u0EBE-\\u0EBF \\u0EC5 \\u0EC7 \\u0ECE-\\u0ECF \\u0EDA-\\u0EDB" +
+                    " \\u0EDE-\\u0EFF \\u0F48 \\u0F6B-\\u0F70 \\u0F8C-\\u0F8F \\u0F98 \\u0FBD" +
+                    " \\u0FCD-\\u0FCE \\u0FD0-\\u0FFF \\u1022 \\u1028 \\u102B \\u1033-\\u1035" +
+                    " \\u103A-\\u103F \\u105A-\\u109F \\u10C6-\\u10CF \\u10F9-\\u10FA \\u10FC" +
+                    "-\\u10FF \\u115A-\\u115E \\u11A3-\\u11A7 \\u11FA-\\u11FF \\u1207 \\u1247" +
+                    " \\u1249 \\u124E-\\u124F \\u1257 \\u1259 \\u125E-\\u125F \\u1287 \\u1289" +
+                    " \\u128E-\\u128F \\u12AF \\u12B1 \\u12B6-\\u12B7 \\u12BF \\u12C1 \\u12C6" +
+                    "-\\u12C7 \\u12CF \\u12D7 \\u12EF \\u130F \\u1311 \\u1316-\\u1317 \\u131F" +
+                    " \\u1347 \\u135B-\\u1360 \\u137D-\\u139F \\u13F5-\\u1400 \\u1677-\\u167F" +
+                    " \\u169D-\\u169F \\u16F1-\\u16FF \\u170D \\u1715-\\u171F \\u1737-\\u173F" +
+                    " \\u1754-\\u175F \\u176D \\u1771 \\u1774-\\u177F \\u17DD-\\u17DF \\u17EA" +
+                    "-\\u17FF \\u180F \\u181A-\\u181F \\u1878-\\u187F \\u18AA-\\u1DFF \\u1E9C" +
+                    "-\\u1E9F \\u1EFA-\\u1EFF \\u1F16-\\u1F17 \\u1F1E-\\u1F1F \\u1F46-\\u1F47" +
+                    " \\u1F4E-\\u1F4F \\u1F58 \\u1F5A \\u1F5C \\u1F5E \\u1F7E-\\u1F7F \\u1FB5" +
+                    " \\u1FC5 \\u1FD4-\\u1FD5 \\u1FDC \\u1FF0-\\u1FF1 \\u1FF5 \\u1FFF \\u2053" +
+                    "-\\u2056 \\u2058-\\u205E \\u2064-\\u2069 \\u2072-\\u2073 \\u208F-\\u209F" +
+                    " \\u20B2-\\u20CF \\u20EB-\\u20FF \\u213B-\\u213C \\u214C-\\u2152 \\u2184" +
+                    "-\\u218F \\u23CF-\\u23FF \\u2427-\\u243F \\u244B-\\u245F \\u24FF \\u2614" +
+                    "-\\u2615 \\u2618 \\u267E-\\u267F \\u268A-\\u2700 \\u2705 \\u270A-\\u270B" +
+                    " \\u2728 \\u274C \\u274E \\u2753-\\u2755 \\u2757 \\u275F-\\u2760 \\u2795" +
+                    "-\\u2797 \\u27B0 \\u27BF-\\u27CF \\u27EC-\\u27EF \\u2B00-\\u2E7F \\u2E9A" +
+                    " \\u2EF4-\\u2EFF \\u2FD6-\\u2FEF \\u2FFC-\\u2FFF \\u3040 \\u3097-\\u3098" +
+                    " \\u3100-\\u3104 \\u312D-\\u3130 \\u318F \\u31B8-\\u31EF \\u321D-\\u321F" +
+                    " \\u3244-\\u3250 \\u327C-\\u327E \\u32CC-\\u32CF \\u32FF \\u3377-\\u337A" +
+                    " \\u33DE-\\u33DF \\u33FF \\u4DB6-\\u4DFF \\u9FA6-\\u9FFF \\uA48D-\\uA48F" +
+                    " \\uA4C7-\\uABFF \\uD7A4-\\uD7FF \\uFA2E-\\uFA2F \\uFA6B-\\uFAFF \\uFB07" +
+                    "-\\uFB12 \\uFB18-\\uFB1C \\uFB37 \\uFB3D \\uFB3F \\uFB42 \\uFB45 \\uFBB2" +
+                    "-\\uFBD2 \\uFD40-\\uFD4F \\uFD90-\\uFD91 \\uFDC8-\\uFDCF \\uFDFD-\\uFDFF" +
+                    " \\uFE10-\\uFE1F \\uFE24-\\uFE2F \\uFE47-\\uFE48 \\uFE53 \\uFE67 \\uFE6C" +
+                    "-\\uFE6F \\uFE75 \\uFEFD-\\uFEFE \\uFF00 \\uFFBF-\\uFFC1 \\uFFC8-\\uFFC9" +
+                    " \\uFFD0-\\uFFD1 \\uFFD8-\\uFFD9 \\uFFDD-\\uFFDF \\uFFE7 \\uFFEF-\\uFFF8" +
+                    " \\U00010000-\\U000102FF \\U0001031F \\U00010324-\\U0001032F \\U0" +
+                    "001034B-\\U000103FF \\U00010426-\\U00010427 \\U0001044E-\\U0001C" +
+                    "FFF \\U0001D0F6-\\U0001D0FF \\U0001D127-\\U0001D129 \\U0001D1DE-" +
+                    "\\U0001D3FF \\U0001D455 \\U0001D49D \\U0001D4A0-\\U0001D4A1 \\U00" +
+                    "01D4A3-\\U0001D4A4 \\U0001D4A7-\\U0001D4A8 \\U0001D4AD \\U0001D4" +
+                    "BA \\U0001D4BC \\U0001D4C1 \\U0001D4C4 \\U0001D506 \\U0001D50B-\\U" +
+                    "0001D50C \\U0001D515 \\U0001D51D \\U0001D53A \\U0001D53F \\U0001" +
+                    "D545 \\U0001D547-\\U0001D549 \\U0001D551 \\U0001D6A4-\\U0001D6A7" +
+                    " \\U0001D7CA-\\U0001D7CD \\U0001D800-\\U0001FFFD \\U0002A6D7-\\U0" +
+                    "002F7FF \\U0002FA1E-\\U0002FFFD \\U00030000-\\U0003FFFD \\U00040" +
+                    "000-\\U0004FFFD \\U00050000-\\U0005FFFD \\U00060000-\\U0006FFFD " +
+                    "\\U00070000-\\U0007FFFD \\U00080000-\\U0008FFFD \\U00090000-\\U00" +
+                    "09FFFD \\U000A0000-\\U000AFFFD \\U000B0000-\\U000BFFFD \\U000C00" +
+                    "00-\\U000CFFFD \\U000D0000-\\U000DFFFD \\U000E0000 \\U000E0002-\\U" +
+                    "000E001F \\U000E0080-\\U000EFFFD ]",
+                },
+    };
+}
diff --git a/src/com/ibm/icu/dev/test/stringprep/NFS4StringPrep.java b/src/com/ibm/icu/dev/test/stringprep/NFS4StringPrep.java
new file mode 100644
index 0000000..d6c0922
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/stringprep/NFS4StringPrep.java
@@ -0,0 +1,151 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2003-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+*/
+package com.ibm.icu.dev.test.stringprep;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.UnsupportedEncodingException;
+import java.util.MissingResourceException;
+
+import com.ibm.icu.impl.ICUData;
+import com.ibm.icu.text.StringPrepParseException;
+import com.ibm.icu.text.StringPrep;
+import com.ibm.icu.text.UCharacterIterator;
+
+/**
+ * @author ram
+ *
+ * This is a dumb implementation of NFS4 profiles. It is a direct port of
+ * C code, does not use Object Oriented principles. Quick and Dirty implementation
+ * for testing.
+ */
+public final class NFS4StringPrep {
+
+    private StringPrep nfscss = null;
+    private StringPrep nfscsi = null;
+    private StringPrep nfscis = null;
+    private StringPrep nfsmxp = null;
+    private StringPrep nfsmxs = null;
+    //singleton instance
+    private static final NFS4StringPrep prep = new NFS4StringPrep();
+    
+
+    private  NFS4StringPrep (){
+        ClassLoader loader = NFS4StringPrep.class.getClassLoader();
+        try{
+            InputStream  nfscsiFile = loader.getResourceAsStream("com/ibm/icu/dev/data/testdata/nfscsi.spp");
+            nfscsi = new StringPrep(nfscsiFile);
+            nfscsiFile.close();
+            
+            InputStream  nfscssFile = loader.getResourceAsStream("com/ibm/icu/dev/data/testdata/nfscss.spp");
+            nfscss = new StringPrep(nfscssFile);
+            nfscssFile.close();
+            
+            InputStream  nfscisFile = loader.getResourceAsStream("com/ibm/icu/dev/data/testdata/nfscis.spp");
+            nfscis = new StringPrep(nfscisFile);
+            nfscisFile.close();
+            
+            InputStream  nfsmxpFile = loader.getResourceAsStream("com/ibm/icu/dev/data/testdata/nfsmxp.spp");
+            nfsmxp = new StringPrep(nfsmxpFile);
+            nfsmxpFile.close();
+            
+            InputStream  nfsmxsFile = loader.getResourceAsStream("com/ibm/icu/dev/data/testdata/nfsmxs.spp");
+            nfsmxs = new StringPrep(nfsmxsFile);
+            nfsmxsFile.close();
+        }catch(IOException e){
+            throw new MissingResourceException(e.toString(),"","");
+        }
+    }
+    
+    private static byte[] prepare(byte[] src, StringPrep prep)
+                throws StringPrepParseException, UnsupportedEncodingException{
+        String s = new String(src, "UTF-8");
+        UCharacterIterator iter =  UCharacterIterator.getInstance(s);
+        StringBuffer out = prep.prepare(iter,StringPrep.DEFAULT);
+        return out.toString().getBytes("UTF-8");
+    }
+    
+    public static byte[] cs_prepare(byte[] src, boolean isCaseSensitive)
+                         throws StringPrepParseException, UnsupportedEncodingException{
+        if(isCaseSensitive == true ){
+            return prepare(src, prep.nfscss);
+        }else{
+            return prepare(src, prep.nfscsi);
+        }
+    }
+    
+    public static byte[] cis_prepare(byte[] src)
+                         throws IOException, StringPrepParseException, UnsupportedEncodingException{
+        return prepare(src, prep.nfscis);
+    }  
+    
+    /* sorted array for binary search*/
+    private static final String[] special_prefixes={
+        "ANONYMOUS",    
+        "AUTHENTICATED",
+        "BATCH", 
+        "DIALUP", 
+        "EVERYONE", 
+        "GROUP",
+        "INTERACTIVE",  
+        "NETWORK", 
+        "OWNER",
+    };
+
+
+    /* binary search the sorted array */
+    private static final int findStringIndex(String[] sortedArr,String target){
+
+        int left, middle, right,rc;
+
+        left =0;
+        right= sortedArr.length-1;
+
+        while(left <= right){
+            middle = (left+right)/2;
+            rc= sortedArr[middle].compareTo(target);
+        
+            if(rc<0){
+                left = middle+1;
+            }else if(rc >0){
+                right = middle -1;
+            }else{
+                return middle;
+            }
+        }
+        return -1;
+    }
+    private static final char AT_SIGN = '@';
+    
+    public static byte[] mixed_prepare(byte[] src)
+                         throws IOException, StringPrepParseException, UnsupportedEncodingException{
+        String s = new String(src, "UTF-8");
+        int index = s.indexOf(AT_SIGN);
+        StringBuffer out = new StringBuffer();
+
+        if(index > -1){
+            /* special prefixes must not be followed by suffixes! */
+            String prefixString = s.substring(0,index);
+            int i= findStringIndex(special_prefixes, prefixString);
+            String suffixString = s.substring(index+1, s.length());
+            if(i>-1 && !suffixString.equals("")){
+                throw new StringPrepParseException("Suffix following a special index", StringPrepParseException.INVALID_CHAR_FOUND);
+            }
+            UCharacterIterator prefix = UCharacterIterator.getInstance(prefixString);
+            UCharacterIterator suffix = UCharacterIterator.getInstance(suffixString);
+            out.append(prep.nfsmxp.prepare(prefix,StringPrep.DEFAULT));
+            out.append(AT_SIGN); // add the delimiter
+            out.append(prep.nfsmxs.prepare(suffix, StringPrep.DEFAULT));
+        }else{
+            UCharacterIterator iter = UCharacterIterator.getInstance(s);
+            out.append(prep.nfsmxp.prepare(iter,StringPrep.DEFAULT));
+            
+        }
+       return out.toString().getBytes("UTF-8");
+    }
+    
+}
diff --git a/src/com/ibm/icu/dev/test/stringprep/NamePrepTransform.java b/src/com/ibm/icu/dev/test/stringprep/NamePrepTransform.java
new file mode 100644
index 0000000..c36c73c
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/stringprep/NamePrepTransform.java
@@ -0,0 +1,167 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2003-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+*/
+package com.ibm.icu.dev.test.stringprep;
+
+
+//import com.ibm.icu.impl.ICULocaleData;
+import com.ibm.icu.impl.ICUResourceBundle;
+import com.ibm.icu.lang.UCharacter;
+import com.ibm.icu.lang.UCharacterDirection;
+import com.ibm.icu.text.StringPrepParseException;
+import com.ibm.icu.text.UCharacterIterator;
+import com.ibm.icu.text.UnicodeSet;
+import com.ibm.icu.text.Transliterator;
+
+/**
+ * @author ram
+ *
+ * To change the template for this generated type comment go to
+ * Window>Preferences>Java>Code Generation>Code and Comments
+ */
+public class NamePrepTransform {
+    
+    private static final NamePrepTransform transform = new NamePrepTransform();
+    
+    private UnicodeSet labelSeparatorSet;
+    private UnicodeSet prohibitedSet;
+    private UnicodeSet unassignedSet;
+    private Transliterator mapTransform;
+    public static final int NONE = 0;
+    public static final int ALLOW_UNASSIGNED = 1;
+    
+    private NamePrepTransform(){
+        // load the resource bundle
+        //        ICUResourceBundle bundle = (ICUResourceBundle)ICUResourceBundle.getBundleInstance("com/ibm/icu/dev/data/testdata","idna_rules", true);
+        ICUResourceBundle bundle = (ICUResourceBundle)ICUResourceBundle.createBundle("com/ibm/icu/dev/data/testdata","idna_rules", NamePrepTransform.class.getClassLoader());
+        String  mapRules      = bundle.getString("MapNoNormalization");
+        mapRules             += bundle.getString("MapNFKC");
+        mapTransform          = Transliterator.createFromRules("CaseMap",mapRules,Transliterator.FORWARD);
+        labelSeparatorSet     = new UnicodeSet(bundle.getString("LabelSeparatorSet"));
+        prohibitedSet         = new UnicodeSet(bundle.getString("ProhibitedSet"));
+        unassignedSet         = new UnicodeSet(bundle.getString("UnassignedSet"));
+    }
+    
+    public static final NamePrepTransform getInstance(){
+        return transform;
+    }
+    public static boolean isLabelSeparator(int ch){
+        return transform.labelSeparatorSet.contains(ch);
+    }
+
+     /*
+       1) Map -- For each character in the input, check if it has a mapping
+          and, if so, replace it with its mapping.  
+
+       2) Normalize -- Possibly normalize the result of step 1 using Unicode
+          normalization. 
+
+       3) Prohibit -- Check for any characters that are not allowed in the
+          output.  If any are found, return an error.  
+
+       4) Check bidi -- Possibly check for right-to-left characters, and if
+          any are found, make sure that the whole string satisfies the
+          requirements for bidirectional strings.  If the string does not
+          satisfy the requirements for bidirectional strings, return an
+          error.  
+          [Unicode3.2] defines several bidirectional categories; each character
+           has one bidirectional category assigned to it.  For the purposes of
+           the requirements below, an "RandALCat character" is a character that
+           has Unicode bidirectional categories "R" or "AL"; an "LCat character"
+           is a character that has Unicode bidirectional category "L".  Note
+
+
+           that there are many characters which fall in neither of the above
+           definitions; Latin digits (<U+0030> through <U+0039>) are examples of
+           this because they have bidirectional category "EN".
+
+           In any profile that specifies bidirectional character handling, all
+           three of the following requirements MUST be met:
+
+           1) The characters in section 5.8 MUST be prohibited.
+
+           2) If a string contains any RandALCat character, the string MUST NOT
+              contain any LCat character.
+
+           3) If a string contains any RandALCat character, a RandALCat
+              character MUST be the first character of the string, and a
+              RandALCat character MUST be the last character of the string.
+    */
+    public StringBuffer prepare(UCharacterIterator src,
+                                       int options)
+                                       throws StringPrepParseException{
+             return prepare(src.getText(),options);
+    }
+    private String map ( String src, int options)
+                                throws StringPrepParseException{
+        // map 
+        boolean allowUnassigned =  ((options & ALLOW_UNASSIGNED)>0);
+        String caseMapOut = transform.mapTransform.transliterate(src);    
+        UCharacterIterator iter = UCharacterIterator.getInstance(caseMapOut);
+        int ch;
+        while((ch=iter.nextCodePoint())!=UCharacterIterator.DONE){                          
+            if(transform.unassignedSet.contains(ch)==true && allowUnassigned ==false){
+                throw new StringPrepParseException("An unassigned code point was found in the input",
+                                         StringPrepParseException.UNASSIGNED_ERROR);
+            }
+        }
+        return caseMapOut;
+    }
+    public StringBuffer prepare(String src,int options)
+                                   throws StringPrepParseException{
+ 
+        int ch;
+        String mapOut = map(src,options);
+        UCharacterIterator iter = UCharacterIterator.getInstance(mapOut);
+
+        int direction=UCharacterDirection.CHAR_DIRECTION_COUNT,
+            firstCharDir=UCharacterDirection.CHAR_DIRECTION_COUNT;    
+        int rtlPos=-1, ltrPos=-1;
+        boolean rightToLeft=false, leftToRight=false;
+           
+        while((ch=iter.nextCodePoint())!= UCharacterIterator.DONE){
+
+
+            if(transform.prohibitedSet.contains(ch)==true && ch!=0x0020){
+                throw new StringPrepParseException("A prohibited code point was found in the input",
+                                         StringPrepParseException.PROHIBITED_ERROR,
+                                         iter.getText(),iter.getIndex());
+            }
+
+            direction = UCharacter.getDirection(ch);
+            if(firstCharDir == UCharacterDirection.CHAR_DIRECTION_COUNT){
+                firstCharDir = direction;
+            }
+            if(direction == UCharacterDirection.LEFT_TO_RIGHT){
+                leftToRight = true;
+                ltrPos = iter.getIndex()-1;
+            }
+            if(direction == UCharacterDirection.RIGHT_TO_LEFT || direction == UCharacterDirection.RIGHT_TO_LEFT_ARABIC){
+                rightToLeft = true;
+                rtlPos = iter.getIndex()-1;
+            }
+        }           
+
+        // satisfy 2
+        if( leftToRight == true && rightToLeft == true){
+            throw new StringPrepParseException("The input does not conform to the rules for BiDi code points.",
+                                     StringPrepParseException.CHECK_BIDI_ERROR,iter.getText(),(rtlPos>ltrPos) ? rtlPos : ltrPos);
+        }
+
+        //satisfy 3
+        if( rightToLeft == true && 
+            !((firstCharDir == UCharacterDirection.RIGHT_TO_LEFT || firstCharDir == UCharacterDirection.RIGHT_TO_LEFT_ARABIC) &&
+            (direction == UCharacterDirection.RIGHT_TO_LEFT || direction == UCharacterDirection.RIGHT_TO_LEFT_ARABIC))
+           ){
+            throw new StringPrepParseException("The input does not conform to the rules for BiDi code points.",
+                                      StringPrepParseException.CHECK_BIDI_ERROR,iter.getText(),(rtlPos>ltrPos) ? rtlPos : ltrPos);
+        }
+        
+        return new StringBuffer(mapOut);
+
+      }
+    
+}
diff --git a/src/com/ibm/icu/dev/test/stringprep/PunycodeReference.java b/src/com/ibm/icu/dev/test/stringprep/PunycodeReference.java
new file mode 100644
index 0000000..1eba8b7
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/stringprep/PunycodeReference.java
@@ -0,0 +1,382 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2003-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+*/
+
+/*
+ * 
+Disclaimer and license
+
+    Regarding this entire document or any portion of it (including
+    the pseudocode and C code), the author makes no guarantees and
+    is not responsible for any damage resulting from its use.  The
+    author grants irrevocable permission to anyone to use, modify,
+    and distribute it in any way that does not diminish the rights
+    of anyone else to use, modify, and distribute it, provided that
+    redistributed derivative works do not contain misleading author or
+    version information.  Derivative works need not be licensed under
+    similar terms.
+
+punycode.c 0.4.0 (2001-Nov-17-Sat)
+http://www.cs.berkeley.edu/~amc/idn/
+Adam M. Costello
+http://www.nicemice.net/amc/
+*/
+
+package com.ibm.icu.dev.test.stringprep;
+import com.ibm.icu.text.StringPrepParseException;
+import com.ibm.icu.text.UCharacterIterator;
+import com.ibm.icu.text.UTF16;
+
+/**
+ * The implementation is direct port of C code in the RFC
+ */
+
+public final class PunycodeReference {
+    /*** punycode status codes */
+    public static final int punycode_success=0;
+    public static final int punycode_bad_input=1;   /* Input is invalid.                       */
+    public static final int punycode_big_output=2;  /* Output would exceed the space provided. */
+    public static final int punycode_overflow =3;    /* Input needs wider integers to process.  */
+    
+    /*** Bootstring parameters for Punycode ***/
+    private static final int base = 36;
+    private static final int tmin = 1;
+    private static final int tmax = 26;
+    private static final int skew = 38;
+    private static final int damp = 700;
+    private static final int initial_bias = 72;
+    private static final int initial_n = 0x80;
+    private static final int delimiter = 0x2D;
+    
+    
+    private static final long UNSIGNED_INT_MASK = 0xffffffffL;
+    
+    /* basic(cp) tests whether cp is a basic code point: */
+    private static boolean basic(int cp){
+        return (char)(cp) < 0x80;
+    }
+
+    /* delim(cp) tests whether cp is a delimiter: */
+    private static boolean delim(int cp){
+        return ((cp) == delimiter);
+    }
+
+    /* decode_digit(cp) returns the numeric value of a basic code */
+    /* point (for use in representing integers) in the range 0 to */
+    /* base-1, or base if cp is does not represent a value.       */
+
+    private static int decode_digit(int cp)
+    {
+      return  cp - 48 < 10 ? cp - 22 :  cp - 65 < 26 ? cp - 65 :
+              cp - 97 < 26 ? cp - 97 :  base;
+    }
+
+    /* encode_digit(d,flag) returns the basic code point whose value      */
+    /* (when used for representing integers) is d, which needs to be in   */
+    /* the range 0 to base-1.  The lowercase form is used unless flag is  */
+    /* nonzero, in which case the uppercase form is used.  The behavior   */
+    /* is undefined if flag is nonzero and digit d has no uppercase form. */
+
+    private static char encode_digit(int d, int flag)
+    {
+      return (char) (d + 22 + (75 * ((d < 26) ? 1 : 0) - (((flag != 0) ? 1 :0) << 5)));
+      /*  0..25 map to ASCII a..z or A..Z */
+      /* 26..35 map to ASCII 0..9         */
+    }
+
+    /* flagged(bcp) tests whether a basic code point is flagged */
+    /* (uppercase).  The behavior is undefined if bcp is not a  */
+    /* basic code point.                                        */
+
+    private static boolean flagged(int bcp){
+         return ((bcp) - 65 < 26);
+    }
+
+    /* encode_basic(bcp,flag) forces a basic code point to lowercase */
+    /* if flag is zero, uppercase if flag is nonzero, and returns    */
+    /* the resulting code point.  The code point is unchanged if it  */
+    /* is caseless.  The behavior is undefined if bcp is not a basic */
+    /* code point.                                                   */
+
+    private static char encode_basic(int bcp, int flag)
+    {
+      bcp -= (((bcp - 97) < 26) ? 1 :0 ) << 5;
+      boolean mybcp = (bcp - 65 < 26);
+      return (char) (bcp + (((flag==0) && mybcp ) ? 1 : 0 ) << 5);
+    }
+
+    /*** Platform-specific constants ***/
+
+    /* maxint is the maximum value of a punycode_uint variable: */
+    private static long maxint = 0xFFFFFFFFL;
+    /* Because maxint is unsigned, -1 becomes the maximum value. */
+
+    /*** Bias adaptation function ***/
+
+    private static int adapt(int delta, int numpoints, boolean firsttime ){
+      int k;
+
+      delta = (firsttime==true) ? delta / damp : delta >> 1;
+      /* delta >> 1 is a faster way of doing delta / 2 */
+      delta += delta / numpoints;
+
+      for (k = 0;  delta > ((base - tmin) * tmax) / 2;  k += base) {
+        delta /= base - tmin;
+      }
+
+      return k + (base - tmin + 1) * delta / (delta + skew);
+    }
+
+    /*** Main encode function ***/
+
+    public static final int encode(   int input_length,
+                                      int input[],
+                                      char[] case_flags,
+                                      int[] output_length,
+                                      char output[] ){
+      int delta, h, b, out, max_out, bias, j, q, k, t;
+      long m,n;
+      /* Initialize the state: */
+
+      n = initial_n;
+      delta = out = 0;
+      max_out = output_length[0];
+      bias = initial_bias;
+
+      /* Handle the basic code points: */
+
+      for (j = 0;  j < input_length;  ++j) {
+        if (basic(input[j])) {
+          if (max_out - out < 2) return punycode_big_output;
+          output[out++] = (char)
+            (case_flags!=null ?  encode_basic(input[j], case_flags[j]) : input[j]);
+        }
+        /* else if (input[j] < n) return punycode_bad_input; */
+        /* (not needed for Punycode with unsigned code points) */
+      }
+
+      h = b = out;
+
+      /* h is the number of code points that have been handled, b is the  */
+      /* number of basic code points, and out is the number of characters */
+      /* that have been output.                                           */
+
+      if (b > 0) output[out++] = delimiter;
+
+      /* Main encoding loop: */
+
+      while (h < input_length) {
+        /* All non-basic code points < n have been     */
+        /* handled already.  Find the next larger one: */
+
+        for (m = maxint, j = 0;  j < input_length;  ++j) {
+          /* if (basic(input[j])) continue; */
+          /* (not needed for Punycode) */
+          if (input[j] >= n && input[j] < m) m = input[j];
+        }
+
+        /* Increase delta enough to advance the decoder's    */
+        /* <n,i> state to <m,0>, but guard against overflow: */
+
+        if (m - n > (maxint - delta) / (h + 1)) return punycode_overflow;
+        delta += (m - n) * (h + 1);
+        n = m;
+
+        for (j = 0;  j < input_length;  ++j) {
+          /* Punycode does not need to check whether input[j] is basic: */
+          if (input[j] < n /* || basic(input[j]) */ ) {
+            if (++delta == 0) return punycode_overflow;
+          }
+
+          if (input[j] == n) {
+            /* Represent delta as a generalized variable-length integer: */
+
+            for (q = delta, k = base;  ;  k += base) {
+              if (out >= max_out) return punycode_big_output;
+              t = k <= bias /* + tmin */ ? tmin :     /* +tmin not needed */
+                  k >= bias + tmax ? tmax : k - bias;
+              if (q < t) break;
+              output[out++] = encode_digit(t + (q - t) % (base - t), 0);
+              q = (q - t) / (base - t);
+            }
+
+            output[out++] = encode_digit(q, (case_flags !=null) ? case_flags[j] : 0);
+            bias = adapt(delta, h + 1, (h == b));
+            delta = 0;
+            ++h;
+          }
+        }
+
+        ++delta;
+        ++n;
+      }
+
+      output_length[0] = out;
+      return punycode_success;
+    }
+    
+    public static final StringBuffer encode(StringBuffer input,char[] case_flags)
+                               throws StringPrepParseException{
+        int[] in = new int[input.length()];
+        int inLen = 0;
+        int ch;
+        StringBuffer result = new StringBuffer();
+        UCharacterIterator iter = UCharacterIterator.getInstance(input);
+        while((ch=iter.nextCodePoint())!= UCharacterIterator.DONE){
+            in[inLen++]=ch;
+        }
+
+        int[] outLen =  new int[1];
+        outLen[0] = input.length()*4;
+        char[] output = new char[outLen[0]];
+        int rc = punycode_success;
+        for(;;){
+            rc = encode(inLen,in,case_flags, outLen, output);
+            if(rc==punycode_big_output){
+                outLen[0] = outLen[0]*4;
+                output = new char[outLen[0]];
+                // continue to convert
+                continue;
+            }
+            break;
+        }
+        if(rc==punycode_success){
+            return result.append(output,0,outLen[0]);
+        }
+        getException(rc);
+        return result;
+    }
+
+    private static void getException(int rc) 
+                   throws StringPrepParseException{
+         switch(rc){
+             case punycode_big_output:
+                throw new StringPrepParseException("The output capacity was not sufficient.",StringPrepParseException.BUFFER_OVERFLOW_ERROR);
+             case punycode_bad_input:
+                throw new StringPrepParseException("Illegal char found in the input",StringPrepParseException.ILLEGAL_CHAR_FOUND);
+             case punycode_overflow:
+                throw new StringPrepParseException("Invalid char found in the input",StringPrepParseException.INVALID_CHAR_FOUND);   
+         }
+        
+    }
+    private static final int MAX_BUFFER_SIZE = 100;
+    
+    public static final StringBuffer decode(StringBuffer input,char[] case_flags)
+                               throws StringPrepParseException{
+        char[] in = input.toString().toCharArray();
+        int[] outLen = new int[1];
+        outLen[0] = MAX_BUFFER_SIZE;
+        int[] output = new int[outLen[0]];
+        int rc = punycode_success;
+        StringBuffer result = new StringBuffer();
+        for(;;){
+            rc = decode(input.length(),in, outLen, output,case_flags);
+            if(rc==punycode_big_output){
+                outLen[0] = output.length * 4;
+                output = new int[outLen[0]];
+                continue;
+            }
+            break;
+        }
+        if(rc==punycode_success){
+            for(int i=0; i < outLen[0]; i++ ){
+                UTF16.append(result,output[i]);
+            }
+        }else{
+            getException(rc);
+        }
+        return result;
+    }
+    
+    /*** Main decode function ***/
+    public static final int decode(int input_length,
+                             char[] input,
+                             int[] output_length,
+                             int[] output,
+                             char[] case_flags ){
+      int n, out, i, max_out, bias,
+                     b, j, in, oldi, w, k, digit, t;
+
+      /* Initialize the state: */
+
+      n = initial_n;
+      out = i = 0;
+      max_out = output_length[0];
+      bias = initial_bias;
+
+      /* Handle the basic code points:  Let b be the number of input code */
+      /* points before the last delimiter, or 0 if there is none, then    */
+      /* copy the first b code points to the output.                      */
+
+      for (b = j = 0;  j < input_length;  ++j){
+           if (delim(input[j])==true){
+                b = j;
+           }
+      }
+      if (b > max_out) return punycode_big_output;
+
+      for (j = 0;  j < b;  ++j) {
+        if (case_flags != null) case_flags[out] = (char)(flagged(input[j]) ? 1 : 0);
+        if (!basic(input[j])) return punycode_bad_input;
+        output[out++] = input[j];
+      }
+
+      /* Main decoding loop:  Start just after the last delimiter if any  */
+      /* basic code points were copied; start at the beginning otherwise. */
+
+      for (in = b > 0 ? b + 1 : 0;  in < input_length;  ++out) {
+
+        /* in is the index of the next character to be consumed, and */
+        /* out is the number of code points in the output array.     */
+
+        /* Decode a generalized variable-length integer into delta,  */
+        /* which gets added to i.  The overflow checking is easier   */
+        /* if we increase i as we go, then subtract off its starting */
+        /* value at the end to obtain delta.                         */
+
+        for (oldi = i, w = 1, k = base;  ;  k += base) {
+          if (in >= input_length) return punycode_bad_input;
+          digit = decode_digit(input[in++]);
+          if (digit >= base) return punycode_bad_input;
+          if (digit > (maxint - i) / w) return punycode_overflow;
+          i += digit * w;
+          t = (k <= bias) /* + tmin */ ? tmin :     /* +tmin not needed */
+              (k >= (bias + tmax)) ? tmax : k - bias;
+          if (digit < t) break;
+          if (w > maxint / (base - t)) return punycode_overflow;
+          w *= (base - t);
+        }
+
+        bias = adapt(i - oldi, out + 1, (oldi == 0));
+
+        /* i was supposed to wrap around from out+1 to 0,   */
+        /* incrementing n each time, so we'll fix that now: */
+
+        if (i / (out + 1) > maxint - n) return punycode_overflow;
+        n += i / (out + 1);
+        i %= (out + 1);
+
+        /* Insert n at position i of the output: */
+
+        /* not needed for Punycode: */
+        /* if (decode_digit(n) <= base) return punycode_invalid_input; */
+        if (out >= max_out) return punycode_big_output;
+
+        if (case_flags != null) {
+          System.arraycopy(case_flags, i, case_flags,  i + 1, out - i);
+          /* Case of last character determines uppercase flag: */
+          case_flags[i] = (char)(flagged(input[in - 1]) ? 0 :1);
+        }
+
+        System.arraycopy(output, i, output, i + 1,  (out - i));
+        output[i++] = n;
+      }
+
+      output_length[0] = out;
+      return punycode_success;
+    }
+
+}
diff --git a/src/com/ibm/icu/dev/test/stringprep/TestAll.java b/src/com/ibm/icu/dev/test/stringprep/TestAll.java
new file mode 100644
index 0000000..cc7cd21
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/stringprep/TestAll.java
@@ -0,0 +1,38 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2003-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+*/
+package com.ibm.icu.dev.test.stringprep;
+
+import com.ibm.icu.dev.test.TestFmwk.TestGroup;
+
+/**
+ * @author ram
+ *
+ * To change the template for this generated type comment go to
+ * Window>Preferences>Java>Code Generation>Code and Comments
+ */
+public class TestAll extends TestGroup {
+   
+    public static void main(String[] args) throws Exception {
+        new TestAll().run(args);
+    }
+
+    public TestAll() {
+        super(
+                  new String[] { 
+                      "TestIDNA", 
+                      "TestStringPrep",
+                      "TestIDNARef",
+                      "IDNAConformanceTest",
+                  },
+                  "StringPrep and IDNA test"
+              );
+    }
+
+    public static final String CLASS_TARGET_NAME = "StringPrep";
+   
+
+}
diff --git a/src/com/ibm/icu/dev/test/stringprep/TestData.java b/src/com/ibm/icu/dev/test/stringprep/TestData.java
new file mode 100644
index 0000000..92d1ef7
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/stringprep/TestData.java
@@ -0,0 +1,633 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2003-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+*/
+package com.ibm.icu.dev.test.stringprep;
+
+import com.ibm.icu.text.IDNA;
+import com.ibm.icu.text.StringPrepParseException;
+
+/**
+ * @author ram
+ *
+ * To change the template for this generated type comment go to
+ * Window>Preferences>Java>Code Generation>Code and Comments
+ */
+public class TestData {
+    public static final char[][] unicodeIn ={
+        { 
+            0x0644, 0x064A, 0x0647, 0x0645, 0x0627, 0x0628, 0x062A, 0x0643, 0x0644,
+            0x0645, 0x0648, 0x0634, 0x0639, 0x0631, 0x0628, 0x064A, 0x061F
+        },
+        {
+            0x4ED6, 0x4EEC, 0x4E3A, 0x4EC0, 0x4E48, 0x4E0D, 0x8BF4, 0x4E2D, 0x6587, 
+           
+        },
+        {
+            0x0050, 0x0072, 0x006F, 0x010D, 0x0070, 0x0072, 0x006F, 0x0073, 0x0074,
+            0x011B, 0x006E, 0x0065, 0x006D, 0x006C, 0x0075, 0x0076, 0x00ED, 0x010D,
+            0x0065, 0x0073, 0x006B, 0x0079,
+        },
+        {
+            0x05DC, 0x05DE, 0x05D4, 0x05D4, 0x05DD, 0x05E4, 0x05E9, 0x05D5, 0x05D8,
+            0x05DC, 0x05D0, 0x05DE, 0x05D3, 0x05D1, 0x05E8, 0x05D9, 0x05DD, 0x05E2,
+            0x05D1, 0x05E8, 0x05D9, 0x05EA,
+        },
+        {
+            0x092F, 0x0939, 0x0932, 0x094B, 0x0917, 0x0939, 0x093F, 0x0928, 0x094D,
+            0x0926, 0x0940, 0x0915, 0x094D, 0x092F, 0x094B, 0x0902, 0x0928, 0x0939,
+            0x0940, 0x0902, 0x092C, 0x094B, 0x0932, 0x0938, 0x0915, 0x0924, 0x0947,
+            0x0939, 0x0948, 0x0902,
+        },
+        {
+            0x306A, 0x305C, 0x307F, 0x3093, 0x306A, 0x65E5, 0x672C, 0x8A9E, 0x3092,
+            0x8A71, 0x3057, 0x3066, 0x304F, 0x308C, 0x306A, 0x3044, 0x306E, 0x304B,
+           
+        },
+    /*  
+        {
+            0xC138, 0xACC4, 0xC758, 0xBAA8, 0xB4E0, 0xC0AC, 0xB78C, 0xB4E4, 0xC774,
+            0xD55C, 0xAD6D, 0xC5B4, 0xB97C, 0xC774, 0xD574, 0xD55C, 0xB2E4, 0xBA74,
+            0xC5BC, 0xB9C8, 0xB098, 0xC88B, 0xC744, 0xAE4C,
+        },
+    */
+        {   
+            0x043F, 0x043E, 0x0447, 0x0435, 0x043C, 0x0443, 0x0436, 0x0435, 0x043E,
+            0x043D, 0x0438, 0x043D, 0x0435, 0x0433, 0x043E, 0x0432, 0x043E, 0x0440,
+            0x044F, 0x0442, 0x043F, 0x043E, 0x0440, 0x0443, 0x0441, 0x0441, 0x043A,
+            0x0438,
+        },
+        {
+            0x0050, 0x006F, 0x0072, 0x0071, 0x0075, 0x00E9, 0x006E, 0x006F, 0x0070,
+            0x0075, 0x0065, 0x0064, 0x0065, 0x006E, 0x0073, 0x0069, 0x006D, 0x0070,
+            0x006C, 0x0065, 0x006D, 0x0065, 0x006E, 0x0074, 0x0065, 0x0068, 0x0061,
+            0x0062, 0x006C, 0x0061, 0x0072, 0x0065, 0x006E, 0x0045, 0x0073, 0x0070,
+            0x0061, 0x00F1, 0x006F, 0x006C,
+        },
+        {
+            0x4ED6, 0x5011, 0x7232, 0x4EC0, 0x9EBD, 0x4E0D, 0x8AAA, 0x4E2D, 0x6587,
+           
+        },
+        {
+            0x0054, 0x1EA1, 0x0069, 0x0073, 0x0061, 0x006F, 0x0068, 0x1ECD, 0x006B,
+            0x0068, 0x00F4, 0x006E, 0x0067, 0x0074, 0x0068, 0x1EC3, 0x0063, 0x0068,
+            0x1EC9, 0x006E, 0x00F3, 0x0069, 0x0074, 0x0069, 0x1EBF, 0x006E, 0x0067,
+            0x0056, 0x0069, 0x1EC7, 0x0074,
+        },
+        {
+            0x0033, 0x5E74, 0x0042, 0x7D44, 0x91D1, 0x516B, 0x5148, 0x751F,
+        },
+        {
+            0x5B89, 0x5BA4, 0x5948, 0x7F8E, 0x6075, 0x002D, 0x0077, 0x0069, 0x0074,
+            0x0068, 0x002D, 0x0053, 0x0055, 0x0050, 0x0045, 0x0052, 0x002D, 0x004D,
+            0x004F, 0x004E, 0x004B, 0x0045, 0x0059, 0x0053,
+        },
+        {
+            0x0048, 0x0065, 0x006C, 0x006C, 0x006F, 0x002D, 0x0041, 0x006E, 0x006F,
+            0x0074, 0x0068, 0x0065, 0x0072, 0x002D, 0x0057, 0x0061, 0x0079, 0x002D,
+            0x305D, 0x308C, 0x305E, 0x308C, 0x306E, 0x5834, 0x6240,
+        },
+        {
+            0x3072, 0x3068, 0x3064, 0x5C4B, 0x6839, 0x306E, 0x4E0B, 0x0032,
+        },
+        {
+            0x004D, 0x0061, 0x006A, 0x0069, 0x3067, 0x004B, 0x006F, 0x0069, 0x3059,
+            0x308B, 0x0035, 0x79D2, 0x524D,
+        },
+        {
+            0x30D1, 0x30D5, 0x30A3, 0x30FC, 0x0064, 0x0065, 0x30EB, 0x30F3, 0x30D0,
+           
+        },
+        {
+            0x305D, 0x306E, 0x30B9, 0x30D4, 0x30FC, 0x30C9, 0x3067,
+        },
+        // test non-BMP code points
+        {    
+            0xD800, 0xDF00, 0xD800, 0xDF01, 0xD800, 0xDF02, 0xD800, 0xDF03, 0xD800, 0xDF05,
+            0xD800, 0xDF06, 0xD800, 0xDF07, 0xD800, 0xDF09, 0xD800, 0xDF0A, 0xD800, 0xDF0B,
+           
+        },
+        {
+            0xD800, 0xDF0D, 0xD800, 0xDF0C, 0xD800, 0xDF1E, 0xD800, 0xDF0F, 0xD800, 0xDF16,
+            0xD800, 0xDF15, 0xD800, 0xDF14, 0xD800, 0xDF12, 0xD800, 0xDF10, 0xD800, 0xDF20,
+            0xD800, 0xDF21,
+           
+        },
+        // Greek
+        {
+            0x03b5, 0x03bb, 0x03bb, 0x03b7, 0x03bd, 0x03b9, 0x03ba, 0x03ac
+        },
+        // Maltese
+        {
+            0x0062, 0x006f, 0x006e, 0x0121, 0x0075, 0x0073, 0x0061, 0x0127,
+            0x0127, 0x0061
+        },
+        // Russian
+        {
+            0x043f, 0x043e, 0x0447, 0x0435, 0x043c, 0x0443, 0x0436, 0x0435,
+            0x043e, 0x043d, 0x0438, 0x043d, 0x0435, 0x0433, 0x043e, 0x0432,
+            0x043e, 0x0440, 0x044f, 0x0442, 0x043f, 0x043e, 0x0440, 0x0443,
+            0x0441, 0x0441, 0x043a, 0x0438
+        },
+   
+    };
+
+    public static final String[] asciiIn = {
+        "xn--egbpdaj6bu4bxfgehfvwxn",
+        "xn--ihqwcrb4cv8a8dqg056pqjye",
+        "xn--Proprostnemluvesky-uyb24dma41a",
+        "xn--4dbcagdahymbxekheh6e0a7fei0b",
+        "xn--i1baa7eci9glrd9b2ae1bj0hfcgg6iyaf8o0a1dig0cd",
+        "xn--n8jok5ay5dzabd5bym9f0cm5685rrjetr6pdxa",
+    /*  "xn--989aomsvi5e83db1d2a355cv1e0vak1dwrv93d5xbh15a0dt30a5jpsd879ccm6fea98c",*/
+        "xn--b1abfaaepdrnnbgefbaDotcwatmq2g4l",
+        "xn--PorqunopuedensimplementehablarenEspaol-fmd56a",
+        "xn--ihqwctvzc91f659drss3x8bo0yb",
+        "xn--TisaohkhngthchnitingVit-kjcr8268qyxafd2f1b9g",
+        "xn--3B-ww4c5e180e575a65lsy2b",
+        "xn---with-SUPER-MONKEYS-pc58ag80a8qai00g7n9n",
+        "xn--Hello-Another-Way--fc4qua05auwb3674vfr0b",
+        "xn--2-u9tlzr9756bt3uc0v",
+        "xn--MajiKoi5-783gue6qz075azm5e",
+        "xn--de-jg4avhby1noc0d",
+        "xn--d9juau41awczczp",
+        "XN--097CCDEKGHQJK",
+        "XN--db8CBHEJLGH4E0AL",
+        "xn--hxargifdar",                       // Greek
+        "xn--bonusaa-5bb1da",                   // Maltese
+        "xn--b1abfaaepdrnnbgefbadotcwatmq2g4l", // Russian (Cyrillic)
+       };
+
+    public static final String[] domainNames = {
+        "slip129-37-118-146.nc.us.ibm.net",
+        "saratoga.pe.utexas.edu",
+        "dial-120-45.ots.utexas.edu",
+        "woo-085.dorms.waller.net",
+        "hd30-049.hil.compuserve.com",
+        "pem203-31.pe.ttu.edu",
+        "56K-227.MaxTNT3.pdq.net",
+        "dial-36-2.ots.utexas.edu",
+        "slip129-37-23-152.ga.us.ibm.net",
+        "ts45ip119.cadvision.com",
+        "sdn-ts-004txaustP05.dialsprint.net",
+        "bar-tnt1s66.erols.com",
+        "101.st-louis-15.mo.dial-access.att.net",
+        "h92-245.Arco.COM",
+        "dial-13-2.ots.utexas.edu",
+        "net-redynet29.datamarkets.com.ar",
+        "ccs-shiva28.reacciun.net.ve",
+        "7.houston-11.tx.dial-access.att.net",
+        "ingw129-37-120-26.mo.us.ibm.net",
+        "dialup6.austintx.com",
+        "dns2.tpao.gov.tr",
+        "slip129-37-119-194.nc.us.ibm.net",
+        "cs7.dillons.co.uk.203.119.193.in-addr.arpa",
+        "swprd1.innovplace.saskatoon.sk.ca",
+        "bikini.bologna.maraut.it",
+        "node91.subnet159-198-79.baxter.com",
+        "cust19.max5.new-york.ny.ms.uu.net",
+        "balexander.slip.andrew.cmu.edu",
+        "pool029.max2.denver.co.dynip.alter.net",
+        "cust49.max9.new-york.ny.ms.uu.net",
+        "s61.abq-dialin2.hollyberry.com",
+
+    };
+    
+    public static final String[] domainNames1Uni = {
+        "\u0917\u0928\u0947\u0936.sanjose.ibm.com",
+        "www.\u0121.com",
+        //"www.\u00E0\u00B3\u00AF.com",
+        "www.\u00C2\u00A4.com",
+        "www.\u00C2\u00A3.com",
+        // "\\u0025", //'%' (0x0025) produces U_IDNA_STD3_ASCII_RULES_ERROR
+        // "\\u005C\\u005C", //'\' (0x005C) produces U_IDNA_STD3_ASCII_RULES_ERROR
+        //"@",
+        //"\\u002F",
+        //"www.\\u0021.com",
+        //"www.\\u0024.com",
+        //"\\u003f",
+        // These yeild U_IDNA_PROHIBITED_ERROR
+        //"\\u00CF\\u0082.com",
+        //"\\u00CE\\u00B2\\u00C3\\u009Fss.com",
+        //"\\u00E2\\u0098\\u00BA.com",
+        "\u00C3\u00BC.com"
+    };
+    public static final String[] domainNamesToASCIIOut = {
+        "xn--31b8a2bwd.sanjose.ibm.com",
+        "www.xn--vea.com",
+        //"www.xn--3 -iia80t.com",
+        "www.xn--bba7j.com",
+        "www.xn--9a9j.com",
+       // "\u0025",
+       // "\u005C\u005C",
+       // "@",
+       // "\u002F",
+       // "www.\u0021.com",
+       // "www.\u0024.com",
+       // "\u003f",
+        "xn--14-ria7423a.com"
+        
+    };
+
+    public static final String[] domainNamesToUnicodeOut = {
+        "\u0917\u0928\u0947\u0936.sanjose.ibm.com",
+        "www.\u0121.com",
+        //"www.\u00E0\u0033\u0020\u0304.com",
+        "www.\u00E2\u00A4.com",
+        "www.\u00E2\u00A3.com",
+       // "\u0025",
+       // "\u005C\u005C",
+       // "@",
+       // "\u002F",
+       // "www.\u0021.com",
+       // "www.\u0024.com",
+       // "\u003f",
+        "\u00E3\u0031\u2044\u0034.com"
+        
+    };
+
+
+    public static class ErrorCase{
+
+        public char[] unicode;
+        public String ascii;
+        public Exception expected;
+        public boolean useSTD3ASCIIRules;
+        public boolean testToUnicode;
+        public boolean testLabel;
+        ErrorCase(char[] uniIn, String asciiIn, Exception ex,
+                   boolean std3, boolean testToUni, boolean testlabel){
+            unicode = uniIn;
+            ascii = asciiIn;
+            expected = ex;
+            useSTD3ASCIIRules = std3;
+            testToUnicode = testToUni;
+            testLabel = testlabel; 
+            
+        }
+    };
+    public static final ErrorCase[] errorCases = {
+          
+        
+        new ErrorCase( new char[]{ 
+            0x0077, 0x0077, 0x0077, 0x002e, /* www. */
+            0xC138, 0xACC4, 0xC758, 0xBAA8, 0xB4E0, 0xC0AC, 0xB78C, 0xB4E4, 0xC774,
+            0x070F,/*prohibited*/
+            0xD55C, 0xAD6D, 0xC5B4, 0xB97C, 0xC774, 0xD574, 0xD55C, 0xB2E4, 0xBA74,
+            0x002e, 0x0063, 0x006f, 0x006d, /* com. */
+           
+        },
+        "www.xn--8mb5595fsoa28orucya378bqre2tcwop06c5qbw82a1rffmae0361dea96b.com",
+        new StringPrepParseException("",StringPrepParseException.PROHIBITED_ERROR),
+        false, true, true),
+
+        new ErrorCase( new char[]{ 
+                0x0077, 0x0077, 0x0077, 0x002e, /* www. */
+                0xC138, 0xACC4, 0xC758, 0xBAA8, 0xB4E0, 0xC0AC, 0xB78C, 0xB4E4, 0xC774,
+                0x0221, 0x0234/*Unassigned code points*/,
+                0x002e, 0x0063, 0x006f, 0x006d, /* com. */
+               
+            },
+            "www.xn--6la2bz548fj1gua391bf1gb1n59ab29a7ia.com",
+
+            new StringPrepParseException("",StringPrepParseException.UNASSIGNED_ERROR),
+            false, true, true
+        ),
+       new ErrorCase( new char[]{ 
+                0x0077, 0x0077, 0x0077, 0x002e, /* www. */
+                0xC138, 0xACC4, 0xC758, 0xBAA8, 0xB4E0, 0xC0AC, 0xB78C, 0xB4E4, 0xC774,
+                0x0644, 0x064A, 0x0647,/*Arabic code points. Cannot mix RTL with LTR*/
+                0xD55C, 0xAD6D, 0xC5B4, 0xB97C, 0xC774, 0xD574, 0xD55C, 0xB2E4, 0xBA74,
+                0x002e, 0x0063, 0x006f, 0x006d, /* com. */
+               
+            },
+            "www.xn--ghBGI4851OiyA33VqrD6Az86C4qF83CtRv93D5xBk15AzfG0nAgA0578DeA71C.com",
+            new StringPrepParseException("",StringPrepParseException.CHECK_BIDI_ERROR),
+            false, true, true
+        ),
+        new ErrorCase( new char[]{ 
+                0x0077, 0x0077, 0x0077, 0x002e, /* www. */
+                /* labels cannot begin with an HYPHEN */
+                0x002D, 0xACC4, 0xC758, 0xBAA8, 0xB4E0, 0xC0AC, 0xB78C, 0xB4E4, 0xC774,
+                0x002E, 
+                0xD55C, 0xAD6D, 0xC5B4, 0xB97C, 0xC774, 0xD574, 0xD55C, 0xB2E4, 0xBA74,
+                0x002e, 0x0063, 0x006f, 0x006d, /* com. */
+               
+            
+            },
+            "www.xn----b95Ew8SqA315Ao5FbuMlnNmhA.com",
+            new StringPrepParseException("",StringPrepParseException.STD3_ASCII_RULES_ERROR),
+            true, true, false
+        ),
+        new ErrorCase( new char[]{ 
+                /* correct ACE-prefix followed by unicode */
+                0x0077, 0x0077, 0x0077, 0x002e, /* www. */
+                0x0078, 0x006e, 0x002d,0x002d,  /* ACE Prefix */
+                0x002D, 0xACC4, 0xC758, 0xBAA8, 0xB4E0, 0xC0AC, 0xB78C, 0xB4E4, 0xC774,
+                0x002D, 
+                0xD55C, 0xAD6D, 0xC5B4, 0xB97C, 0xC774, 0xD574, 0xD55C, 0xB2E4, 0xBA74,
+                0x002e, 0x0063, 0x006f, 0x006d, /* com. */
+               
+            
+            },
+            /* wrong ACE-prefix followed by valid ACE-encoded ASCII */ 
+            "www.XY-----b91I0V65S96C2A355Cw1E5yCeQr19CsnP1mFfmAE0361DeA96B.com",
+            new StringPrepParseException("",StringPrepParseException.ACE_PREFIX_ERROR),
+            false, false, false
+        ),
+        /* cannot verify U_IDNA_VERIFICATION_ERROR */
+
+        new ErrorCase( new char[]{
+            0x0077, 0x0077, 0x0077, 0x002e, /* www. */
+            0xC138, 0xACC4, 0xC758, 0xBAA8, 0xB4E0, 0xC0AC, 0xB78C, 0xB4E4, 0xC774,
+            0xD55C, 0xAD6D, 0xC5B4, 0xB97C, 0xC774, 0xD574, 0xD55C, 0xB2E4, 0xBA74,
+            0xC5BC, 0xB9C8, 0xB098, 0xC88B, 0xC744, 0xAE4C, 
+            0x002e, 0x0063, 0x006f, 0x006d, /* com. */
+           
+          },
+          "www.xn--989AoMsVi5E83Db1D2A355Cv1E0vAk1DwRv93D5xBh15A0Dt30A5JpSD879Ccm6FeA98C.com",
+          new StringPrepParseException("",StringPrepParseException.LABEL_TOO_LONG_ERROR),
+          false, true, true
+        ),  
+        new ErrorCase( new char[]{
+            0x0077, 0x0077, 0x0077, 0x002e, /* www. */
+            0x0030, 0x0644, 0x064A, 0x0647, 0x0031, /* Arabic code points squashed between EN codepoints */
+            0x002e, 0x0063, 0x006f, 0x006d, /* com. */
+           
+          },
+          "www.xn--01-tvdmo.com",
+          new StringPrepParseException("",StringPrepParseException.CHECK_BIDI_ERROR),
+          false, true, true
+        ),  
+    
+        new ErrorCase( new char[]{
+            0x0077, 0x0077, 0x0077, 0x002e, // www. 
+            0x206C, 0x0644, 0x064A, 0x0647, 0x206D, // Arabic code points squashed between BN codepoints 
+            0x002e, 0x0063, 0x006f, 0x006d, // com. 
+           
+          },
+          "www.XN--ghbgi278xia.com",
+          new StringPrepParseException("",StringPrepParseException.PROHIBITED_ERROR),
+          false, true, true
+        ),
+        new ErrorCase( new char[] {
+            0x0077, 0x0077, 0x0077, 0x002e, // www. 
+            0x002D, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, // HYPHEN at the start of label 
+            0x002e, 0x0063, 0x006f, 0x006d, // com. 
+           
+          },
+          "www.-abcde.com",
+          new StringPrepParseException("",StringPrepParseException.STD3_ASCII_RULES_ERROR),
+          true, true, false
+        ),
+        new ErrorCase( new char[] {
+            0x0077, 0x0077, 0x0077, 0x002e, // www. 
+            0x0041, 0x0042, 0x0043, 0x0044, 0x0045,0x002D, // HYPHEN at the end of the label
+            0x002e, 0x0063, 0x006f, 0x006d, // com. 
+           
+          },
+          "www.abcde-.com",
+          new StringPrepParseException("",StringPrepParseException.STD3_ASCII_RULES_ERROR),
+          true, true, false
+        ),
+        new ErrorCase( new char[]{
+            0x0077, 0x0077, 0x0077, 0x002e, // www. 
+            0x0041, 0x0042, 0x0043, 0x0044, 0x0045,0x0040, // Containing non LDH code point
+            0x002e, 0x0063, 0x006f, 0x006d, // com. 
+           
+          },
+          "www.abcde@.com",
+          new StringPrepParseException("",StringPrepParseException.STD3_ASCII_RULES_ERROR),
+          true, true, false
+        ),
+        new ErrorCase( new char[]{
+            0x0077, 0x0077, 0x0077, 0x002e, // www. 
+             // zero length label
+            0x002e, 0x0063, 0x006f, 0x006d, // com. 
+          },
+          "www..com",
+          new StringPrepParseException("",StringPrepParseException.ZERO_LENGTH_LABEL),
+          true, true, false
+        ),
+    };
+
+
+     public static final class ConformanceTestCase{
+         String comment;
+         String input;
+         String output;
+         String profile;
+         int flags;
+         Exception expected;
+         private static byte[] getBytes(String in){
+             if(in==null){
+                 return null;
+             }
+             byte[] bytes = new byte[in.length()];
+             for(int i=0; i < in.length();i++){
+                 bytes[i] = (byte)in.charAt(i);
+             }
+             return bytes;
+         }
+         ConformanceTestCase(String comt, String in, String out,
+                              String prof, int flg, Exception ex)
+                              {
+                                  
+             try{
+                 comment = comt;
+                 byte[] bytes = getBytes(in);
+                 input = new String(bytes,"UTF-8");
+                 bytes = getBytes(out);
+                 output = (bytes==null)? null : new String(bytes,"UTF-8");
+                 profile = prof;
+                 flags = flg;
+                 expected = ex;
+             }catch (Exception e){
+                 e.printStackTrace();
+                 throw new RuntimeException();
+             }
+         }
+       }
+       
+       public static final ConformanceTestCase[] conformanceTestCases =
+       {
+  
+         new ConformanceTestCase(
+           "Case folding ASCII U+0043 U+0041 U+0046 U+0045",
+           "\u0043\u0041\u0046\u0045", "\u0063\u0061\u0066\u0065",
+           "Nameprep", IDNA.DEFAULT, 
+           null
+
+         ),
+         new ConformanceTestCase(
+           "Case folding 8bit U+00DF (german sharp s)",
+           "\u00C3\u009F", "\u0073\u0073", 
+           "Nameprep", IDNA.DEFAULT, 
+           null
+         ),
+         new ConformanceTestCase(
+           "Non-ASCII multibyte space character U+1680",
+           "\u00E1\u009A\u0080", null, 
+           "Nameprep", IDNA.DEFAULT,
+           new StringPrepParseException("",StringPrepParseException.PROHIBITED_ERROR)
+         ),
+         new ConformanceTestCase(
+           "Non-ASCII 8bit control character U+0085",
+           "\u00C2\u0085", null, 
+           "Nameprep", IDNA.DEFAULT,
+           new StringPrepParseException("",StringPrepParseException.PROHIBITED_ERROR)
+         ),
+         new ConformanceTestCase(
+           "Non-ASCII multibyte control character U+180E",
+           "\u00E1\u00A0\u008E", null, 
+           "Nameprep", IDNA.DEFAULT,
+           new StringPrepParseException("",StringPrepParseException.PROHIBITED_ERROR)
+         ),
+         new ConformanceTestCase(
+           "Non-ASCII control character U+1D175",
+           "\u00F0\u009D\u0085\u00B5", null, 
+           "Nameprep", IDNA.DEFAULT,
+           new StringPrepParseException("",StringPrepParseException.PROHIBITED_ERROR)
+         ),
+         new ConformanceTestCase(
+           "Plane 0 private use character U+F123",
+           "\u00EF\u0084\u00A3", null, 
+           "Nameprep", IDNA.DEFAULT,
+           new StringPrepParseException("",StringPrepParseException.PROHIBITED_ERROR)
+         ),
+         new ConformanceTestCase(
+           "Plane 15 private use character U+F1234",
+           "\u00F3\u00B1\u0088\u00B4", null, 
+           "Nameprep", IDNA.DEFAULT,
+           new StringPrepParseException("",StringPrepParseException.PROHIBITED_ERROR)
+         ),
+         new ConformanceTestCase(
+           "Plane 16 private use character U+10F234",
+           "\u00F4\u008F\u0088\u00B4", null, 
+           "Nameprep", IDNA.DEFAULT,
+           new StringPrepParseException("",StringPrepParseException.PROHIBITED_ERROR)
+         ),
+         new ConformanceTestCase(
+           "Non-character code point U+8FFFE",
+           "\u00F2\u008F\u00BF\u00BE", null, 
+           "Nameprep", IDNA.DEFAULT,
+           new StringPrepParseException("",StringPrepParseException.PROHIBITED_ERROR)
+         ),
+         new ConformanceTestCase(
+           "Non-character code point U+10FFFF",
+           "\u00F4\u008F\u00BF\u00BF", null,
+           "Nameprep", IDNA.DEFAULT,
+           new StringPrepParseException("",StringPrepParseException.PROHIBITED_ERROR)
+         ),
+     /* 
+         {
+           "Surrogate code U+DF42",
+           "\u00ED\u00BD\u0082", null, "Nameprep", InternationalizedDomainNames.DEFAULT,
+           U_IDNA_PROHIBITED_ERROR
+         },
+    */
+         new ConformanceTestCase(
+           "Non-plain text character U+FFFD",
+           "\u00EF\u00BF\u00BD", null, 
+           "Nameprep", IDNA.DEFAULT,
+           new StringPrepParseException("",StringPrepParseException.PROHIBITED_ERROR)
+         ),
+         new ConformanceTestCase(
+           "Ideographic description character U+2FF5",
+           "\u00E2\u00BF\u00B5", null, 
+           "Nameprep", IDNA.DEFAULT,
+           new StringPrepParseException("",StringPrepParseException.PROHIBITED_ERROR)
+         ),
+         new ConformanceTestCase(
+           "Display property character U+0341",
+           "\u00CD\u0081", "\u00CC\u0081",
+           "Nameprep", IDNA.DEFAULT, 
+           null
+
+         ),
+
+         new ConformanceTestCase(
+           "Left-to-right mark U+200E",
+           "\u00E2\u0080\u008E", "\u00CC\u0081", 
+           "Nameprep", IDNA.DEFAULT,
+           new StringPrepParseException("",StringPrepParseException.PROHIBITED_ERROR)
+         ),
+         new ConformanceTestCase(
+
+           "Deprecated U+202A",
+           "\u00E2\u0080\u00AA", "\u00CC\u0081", 
+           "Nameprep", IDNA.DEFAULT,
+           new StringPrepParseException("",StringPrepParseException.PROHIBITED_ERROR)
+         ),
+         new ConformanceTestCase(
+           "Language tagging character U+E0001",
+           "\u00F3\u00A0\u0080\u0081", "\u00CC\u0081", 
+           "Nameprep", IDNA.DEFAULT,
+           new StringPrepParseException("",StringPrepParseException.PROHIBITED_ERROR)
+         ),
+         new ConformanceTestCase(
+           "Language tagging character U+E0042",
+           "\u00F3\u00A0\u0081\u0082", null, 
+           "Nameprep", IDNA.DEFAULT,
+           new StringPrepParseException("",StringPrepParseException.PROHIBITED_ERROR)
+         ),
+         new ConformanceTestCase(
+           "Bidi: RandALCat character U+05BE and LCat characters",
+           "\u0066\u006F\u006F\u00D6\u00BE\u0062\u0061\u0072", null, 
+           "Nameprep", IDNA.DEFAULT,
+           new StringPrepParseException("",StringPrepParseException.CHECK_BIDI_ERROR)
+         ),
+         new ConformanceTestCase(
+           "Bidi: RandALCat character U+FD50 and LCat characters",
+           "\u0066\u006F\u006F\u00EF\u00B5\u0090\u0062\u0061\u0072", null,
+           "Nameprep",IDNA.DEFAULT ,
+           new StringPrepParseException("",StringPrepParseException.CHECK_BIDI_ERROR)
+         ),
+         new ConformanceTestCase(
+           "Bidi: RandALCat character U+FB38 and LCat characters",
+           "\u0066\u006F\u006F\u00EF\u00B9\u00B6\u0062\u0061\u0072", "\u0066\u006F\u006F \u00d9\u008e\u0062\u0061\u0072",
+           "Nameprep", IDNA.DEFAULT,
+           null
+         ),
+         new ConformanceTestCase(
+           "Bidi: RandALCat without trailing RandALCat U+0627 U+0031",
+           "\u00D8\u00A7\u0031", null, 
+           "Nameprep", IDNA.DEFAULT,
+           new StringPrepParseException("",StringPrepParseException.CHECK_BIDI_ERROR)
+         ),
+         new ConformanceTestCase(
+           "Bidi: RandALCat character U+0627 U+0031 U+0628",
+           "\u00D8\u00A7\u0031\u00D8\u00A8", "\u00D8\u00A7\u0031\u00D8\u00A8",
+           "Nameprep", IDNA.DEFAULT,
+           null
+         ),
+         new ConformanceTestCase(
+           "Unassigned code point U+E0002",
+           "\u00F3\u00A0\u0080\u0082", null, 
+           "Nameprep", IDNA.DEFAULT,
+           new StringPrepParseException("",StringPrepParseException.UNASSIGNED_ERROR)
+         ),
+
+    /*  // Invalid UTF-8
+         {
+           "Larger test (shrinking)",
+           "X\u00C2\u00AD\u00C3\u00DF\u00C4\u00B0\u00E2\u0084\u00A1\u006a\u00cc\u008c\u00c2\u00a0\u00c2"
+           "\u00aa\u00ce\u00b0\u00e2\u0080\u0080", "xssi\u00cc\u0087""tel\u00c7\u00b0 a\u00ce\u00b0 ",
+           "Nameprep",
+           InternationalizedDomainNames.DEFAULT, U_ZERO_ERROR
+         },
+        {
+
+           "Larger test (expanding)",
+           "X\u00C3\u00DF\u00e3\u008c\u0096\u00C4\u00B0\u00E2\u0084\u00A1\u00E2\u0092\u009F\u00E3\u008c\u0080",
+           "xss\u00e3\u0082\u00ad\u00e3\u0083\u00ad\u00e3\u0083\u00a1\u00e3\u0083\u00bc\u00e3\u0083\u0088"
+           "\u00e3\u0083\u00ab""i\u00cc\u0087""tel\u0028""d\u0029\u00e3\u0082\u00a2\u00e3\u0083\u0091"
+           "\u00e3\u0083\u00bc\u00e3\u0083\u0088"
+           "Nameprep",
+           InternationalizedDomainNames.DEFAULT, U_ZERO_ERROR
+         },
+      */
+    };
+}
diff --git a/src/com/ibm/icu/dev/test/stringprep/TestIDNA.java b/src/com/ibm/icu/dev/test/stringprep/TestIDNA.java
new file mode 100644
index 0000000..802c3dd
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/stringprep/TestIDNA.java
@@ -0,0 +1,795 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2003-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+*/
+package com.ibm.icu.dev.test.stringprep;
+
+import java.io.InputStream;
+import java.util.Random;
+
+import com.ibm.icu.dev.test.TestFmwk;
+import com.ibm.icu.text.IDNA;
+import com.ibm.icu.text.StringPrepParseException;
+import com.ibm.icu.text.StringPrep;
+import com.ibm.icu.text.UCharacterIterator;
+import com.ibm.icu.text.UTF16;
+import com.ibm.icu.impl.ICUData;
+import com.ibm.icu.impl.ICUResourceBundle;
+import com.ibm.icu.impl.Utility;
+
+/**
+ * @author ram
+ */
+public class TestIDNA extends TestFmwk {
+    public static void main(String[] args) throws Exception {
+        new TestIDNA().run(args);
+    }
+    private StringPrepParseException unassignedException = new StringPrepParseException("",StringPrepParseException.UNASSIGNED_ERROR);
+    public void TestToUnicode() throws Exception{
+        for(int i=0; i<TestData.asciiIn.length; i++){
+            // test StringBuffer toUnicode
+            doTestToUnicode(TestData.asciiIn[i],new String(TestData.unicodeIn[i]),IDNA.DEFAULT, null);
+            doTestToUnicode(TestData.asciiIn[i],new String(TestData.unicodeIn[i]),IDNA.ALLOW_UNASSIGNED, null);
+            doTestToUnicode(TestData.asciiIn[i],new String(TestData.unicodeIn[i]),IDNA.USE_STD3_RULES, null); 
+            doTestToUnicode(TestData.asciiIn[i],new String(TestData.unicodeIn[i]),IDNA.USE_STD3_RULES|IDNA.ALLOW_UNASSIGNED, null); 
+    
+        }
+    }
+    
+    public void TestToASCII() throws Exception{
+        for(int i=0; i<TestData.asciiIn.length; i++){
+            // test StringBuffer toUnicode
+            doTestToASCII(new String(TestData.unicodeIn[i]),TestData.asciiIn[i],IDNA.DEFAULT, null);
+            doTestToASCII(new String(TestData.unicodeIn[i]),TestData.asciiIn[i],IDNA.ALLOW_UNASSIGNED, null);
+            doTestToUnicode(TestData.asciiIn[i],new String(TestData.unicodeIn[i]),IDNA.USE_STD3_RULES, null); 
+            doTestToUnicode(TestData.asciiIn[i],new String(TestData.unicodeIn[i]),IDNA.USE_STD3_RULES|IDNA.ALLOW_UNASSIGNED, null); 
+    
+        }
+    }
+    
+    public void TestIDNToASCII() throws Exception{
+        for(int i=0; i<TestData.domainNames.length; i++){
+            doTestIDNToASCII(TestData.domainNames[i],TestData.domainNames[i],IDNA.DEFAULT, null);
+            doTestIDNToASCII(TestData.domainNames[i],TestData.domainNames[i],IDNA.ALLOW_UNASSIGNED, null);
+            doTestIDNToASCII(TestData.domainNames[i],TestData.domainNames[i],IDNA.USE_STD3_RULES, null);
+            doTestIDNToASCII(TestData.domainNames[i],TestData.domainNames[i],IDNA.ALLOW_UNASSIGNED|IDNA.USE_STD3_RULES, null);
+        }
+        
+        for(int i=0; i<TestData.domainNames1Uni.length; i++){
+            doTestIDNToASCII(TestData.domainNames1Uni[i],TestData.domainNamesToASCIIOut[i],IDNA.DEFAULT, null);
+            doTestIDNToASCII(TestData.domainNames1Uni[i],TestData.domainNamesToASCIIOut[i],IDNA.ALLOW_UNASSIGNED, null);
+        }
+    }
+    public void TestIDNToUnicode() throws Exception{
+        for(int i=0; i<TestData.domainNames.length; i++){
+            doTestIDNToUnicode(TestData.domainNames[i],TestData.domainNames[i],IDNA.DEFAULT, null);
+            doTestIDNToUnicode(TestData.domainNames[i],TestData.domainNames[i],IDNA.ALLOW_UNASSIGNED, null);
+            doTestIDNToUnicode(TestData.domainNames[i],TestData.domainNames[i],IDNA.USE_STD3_RULES, null);
+            doTestIDNToUnicode(TestData.domainNames[i],TestData.domainNames[i],IDNA.ALLOW_UNASSIGNED|IDNA.USE_STD3_RULES, null);
+        }
+        for(int i=0; i<TestData.domainNamesToASCIIOut.length; i++){
+            doTestIDNToUnicode(TestData.domainNamesToASCIIOut[i],TestData.domainNamesToUnicodeOut[i],IDNA.DEFAULT, null);
+            doTestIDNToUnicode(TestData.domainNamesToASCIIOut[i],TestData.domainNamesToUnicodeOut[i],IDNA.ALLOW_UNASSIGNED, null);
+        }
+    }
+    
+    private void doTestToUnicode(String src, String expected, int options, Object expectedException) 
+                throws Exception{
+        StringBuffer inBuf = new StringBuffer(src);
+        UCharacterIterator inIter = UCharacterIterator.getInstance(src);
+        try{
+            
+            StringBuffer out = IDNA.convertToUnicode(src,options);
+            if(expected!=null && out != null && !out.toString().equals(expected)){
+                errln("convertToUnicode did not return expected result with options : "+ options + 
+                      " Expected: " + prettify(expected)+" Got: "+prettify(out));
+            }
+            if(expectedException!=null && !unassignedException.equals(expectedException)){
+                errln("convertToUnicode did not get the expected exception. The operation succeeded!");
+            }
+        }catch(StringPrepParseException ex){
+            if(expectedException == null || !ex.equals(expectedException)){
+                errln("convertToUnicode did not get the expected exception for source: " + prettify(src) +" Got:  "+ ex.toString());
+            }
+        }
+        try{
+            
+            StringBuffer out = IDNA.convertToUnicode(inBuf,options);
+            if(expected!=null && out != null && !out.toString().equals(expected)){
+               errln("convertToUnicode did not return expected result with options : "+ options + 
+                     " Expected: " + prettify(expected)+" Got: "+out);
+            }
+            if(expectedException!=null && !unassignedException.equals(expectedException)){
+                errln("convertToUnicode did not get the expected exception. The operation succeeded!");
+            }
+        }catch(StringPrepParseException ex){
+            if(expectedException == null || !ex.equals(expectedException)){
+                errln("convertToUnicode did not get the expected exception for source: " + prettify(src) +" Got:  "+ ex.toString());
+            }
+        }
+        
+        try{
+            StringBuffer out = IDNA.convertToUnicode(inIter,options);
+            if(expected!=null && out != null && !out.toString().equals(expected)){
+               errln("convertToUnicode did not return expected result with options : "+ options +
+                     " Expected: " + prettify(expected)+" Got: "+prettify(out));
+            }
+            if(expectedException!=null && !unassignedException.equals(expectedException)){
+                errln("Did not get the expected exception. The operation succeeded!");
+            }
+        }catch(StringPrepParseException ex){
+            if(expectedException == null || !ex.equals(expectedException)){
+                errln("Did not get the expected exception for source: " + prettify(src) +" Got:  "+ ex.toString());
+            }
+        }
+    }
+    
+    private void doTestIDNToUnicode(String src, String expected, int options, Object expectedException) 
+                throws Exception{
+        StringBuffer inBuf = new StringBuffer(src);
+        UCharacterIterator inIter = UCharacterIterator.getInstance(src);
+        try{
+            
+            StringBuffer out = IDNA.convertIDNToUnicode(src,options);
+            if(expected!=null && out != null && !out.toString().equals(expected)){
+                errln("convertToUnicode did not return expected result with options : "+ options + 
+                      " Expected: " + prettify(expected)+" Got: "+prettify(out));
+            }
+            if(expectedException!=null && !unassignedException.equals(expectedException)){
+                errln("convertToUnicode did not get the expected exception. The operation succeeded!");
+            }
+        }catch(StringPrepParseException ex){
+            if(expectedException == null || !expectedException.equals(ex)){
+                errln("convertToUnicode did not get the expected exception for source: " +src +" Got:  "+ ex.toString());
+            }
+        }
+        try{
+            StringBuffer out = IDNA.convertIDNToUnicode(inBuf,options);
+            if(expected!=null && out != null && !out.toString().equals(expected)){
+               errln("convertToUnicode did not return expected result with options : "+ options + 
+                     " Expected: " + prettify(expected)+" Got: "+out);
+            }
+            if(expectedException!=null && !unassignedException.equals(expectedException)){
+                errln("convertToUnicode did not get the expected exception. The operation succeeded!");
+            }
+        }catch(StringPrepParseException ex){
+            if(expectedException == null || !expectedException.equals(ex)){
+                errln("convertToUnicode did not get the expected exception for source: " +src +" Got:  "+ ex.toString());
+            }
+        }
+        
+        try{
+            StringBuffer out = IDNA.convertIDNToUnicode(inIter,options);
+            if(expected!=null && out != null && !out.toString().equals(expected)){
+               errln("convertToUnicode did not return expected result with options : "+ options +
+                     " Expected: " + prettify(expected)+" Got: "+prettify(out));
+            }
+            if(expectedException!=null && !unassignedException.equals(expectedException)){
+                errln("Did not get the expected exception. The operation succeeded!");
+            }
+        }catch(StringPrepParseException ex){
+            if(expectedException == null || !expectedException.equals(ex)){
+                errln("Did not get the expected exception for source: " +src +" Got:  "+ ex.toString());
+            }
+        }
+    }
+    private void doTestToASCII(String src, String expected, int options, Object expectedException) 
+                throws Exception{
+        StringBuffer inBuf = new StringBuffer(src);
+        UCharacterIterator inIter = UCharacterIterator.getInstance(src);
+        try{
+            
+            StringBuffer out = IDNA.convertToASCII(src,options);
+            if(!unassignedException.equals(expectedException) && expected!=null && out != null && expected!=null && out != null && !out.toString().equals(expected.toLowerCase())){
+                errln("convertToASCII did not return expected result with options : "+ options + 
+                      " Expected: " + expected+" Got: "+out);
+            }           
+            if(expectedException!=null && !unassignedException.equals(expectedException)){
+                errln("convertToASCII did not get the expected exception. The operation succeeded!");
+            }
+        }catch(StringPrepParseException ex){
+            if(expectedException == null || !expectedException.equals(ex)){
+                errln("convertToASCII did not get the expected exception for source: " +src +"\n Got:  "+ ex.toString() +"\n Expected: " +ex.toString());
+            }
+        }
+        
+        try{            
+            StringBuffer out = IDNA.convertToASCII(inBuf,options);
+            if(!unassignedException.equals(expectedException) && expected!=null && out != null && expected!=null && out != null && !out.toString().equals(expected.toLowerCase())){
+               errln("convertToASCII did not return expected result with options : "+ options + 
+                     " Expected: " + expected+" Got: "+out);
+            }
+            if(expectedException!=null && !unassignedException.equals(expectedException)){
+                errln("convertToASCII did not get the expected exception. The operation succeeded!");
+            }
+        }catch(StringPrepParseException ex){
+            if(expectedException == null || !expectedException.equals(ex)){
+                errln("convertToASCII did not get the expected exception for source: " +src +" Got:  "+ ex.toString());
+            }
+        }
+        
+        try{
+            StringBuffer out = IDNA.convertToASCII(inIter,options);
+            if(!unassignedException.equals(expectedException) && expected!=null && out != null && expected!=null && out != null && !out.toString().equals(expected.toLowerCase())){
+               errln("convertToASCII did not return expected result with options : "+ options +
+                     " Expected: " + expected+" Got: "+ out);
+            }
+            if(expectedException!=null && !unassignedException.equals(expectedException)){
+                errln("convertToASCII did not get the expected exception. The operation succeeded!");
+            }
+        }catch(StringPrepParseException ex){
+            if(expectedException == null || !expectedException.equals(ex)){
+                errln("convertToASCII did not get the expected exception for source: " +src +" Got:  "+ ex.toString());
+            }
+        }
+    }
+    private void doTestIDNToASCII(String src, String expected, int options, Object expectedException) 
+                throws Exception{
+        StringBuffer inBuf = new StringBuffer(src);
+        UCharacterIterator inIter = UCharacterIterator.getInstance(src);
+        try{
+            
+            StringBuffer out = IDNA.convertIDNToASCII(src,options);
+            if(expected!=null && out != null && !out.toString().equals(expected)){
+                errln("convertToIDNASCII did not return expected result with options : "+ options + 
+                      " Expected: " + expected+" Got: "+out);
+            }
+            if(expectedException!=null && !unassignedException.equals(expectedException)){
+                errln("convertToIDNASCII did not get the expected exception. The operation succeeded!");
+            }
+        }catch(StringPrepParseException ex){
+            if(expectedException == null || !ex.equals(expectedException)){
+                errln("convertToIDNASCII did not get the expected exception for source: " +src +" Got:  "+ ex.toString());
+            }
+        }
+        try{
+            StringBuffer out = IDNA.convertIDNToASCII(inBuf,options);
+            if(expected!=null && out != null && !out.toString().equals(expected)){
+               errln("convertToIDNASCII did not return expected result with options : "+ options + 
+                     " Expected: " + expected+" Got: "+out);
+            }           
+            if(expectedException!=null && !unassignedException.equals(expectedException)){
+                errln("convertToIDNASCII did not get the expected exception. The operation succeeded!");
+            }
+        }catch(StringPrepParseException ex){
+            if(expectedException == null || !ex.equals(expectedException)){
+                errln("convertToIDNASCII did not get the expected exception for source: " +src +" Got:  "+ ex.toString());
+            }
+        }
+        
+        try{
+            StringBuffer out = IDNA.convertIDNToASCII(inIter,options);
+            if(expected!=null && out != null && !out.toString().equals(expected)){
+               errln("convertIDNToASCII did not return expected result with options : "+ options +
+                     " Expected: " + expected+" Got: "+ out);
+            }
+            
+            if(expectedException!=null && !unassignedException.equals(expectedException)){
+                errln("convertIDNToASCII did not get the expected exception. The operation succeeded!");
+            }
+        }catch(StringPrepParseException ex){
+            if(expectedException == null || !ex.equals(expectedException)){
+                errln("convertIDNToASCII did not get the expected exception for source: " +src +" Got:  "+ ex.toString());
+            }
+        }
+    }
+    public void TestConformance()throws Exception{
+        for(int i=0; i<TestData.conformanceTestCases.length;i++){
+            
+            TestData.ConformanceTestCase testCase = TestData.conformanceTestCases[i];
+            if(testCase.expected != null){
+                //Test toASCII
+                doTestToASCII(testCase.input,testCase.output,IDNA.DEFAULT,testCase.expected);
+                doTestToASCII(testCase.input,testCase.output,IDNA.ALLOW_UNASSIGNED,testCase.expected);
+            }
+            //Test toUnicode
+            //doTestToUnicode(testCase.input,testCase.output,IDNA.DEFAULT,testCase.expected);
+        }
+    }
+    public void TestNamePrepConformance() throws Exception{
+        InputStream stream = ICUData.getRequiredStream(ICUResourceBundle.ICU_BUNDLE+"/uidna.spp");
+        StringPrep namePrep = new StringPrep(stream);
+        for(int i=0; i<TestData.conformanceTestCases.length;i++){
+            TestData.ConformanceTestCase testCase = TestData.conformanceTestCases[i];
+            UCharacterIterator iter = UCharacterIterator.getInstance(testCase.input);
+            try{
+                StringBuffer output = namePrep.prepare(iter,StringPrep.DEFAULT);
+                if(testCase.output !=null && output!=null && !testCase.output.equals(output.toString())){
+                    errln("Did not get the expected output. Expected: " + prettify(testCase.output)+
+                          " Got: "+ prettify(output) );
+                }
+                if(testCase.expected!=null && !unassignedException.equals(testCase.expected)){
+                    errln("Did not get the expected exception. The operation succeeded!");
+                }
+            }catch(StringPrepParseException ex){
+                if(testCase.expected == null || !ex.equals(testCase.expected)){
+                    errln("Did not get the expected exception for source: " +testCase.input +" Got:  "+ ex.toString());
+                }
+            }
+            
+            try{
+                iter.setToStart();
+                StringBuffer output = namePrep.prepare(iter,StringPrep.ALLOW_UNASSIGNED);
+                if(testCase.output !=null && output!=null && !testCase.output.equals(output.toString())){
+                    errln("Did not get the expected output. Expected: " + prettify(testCase.output)+
+                          " Got: "+ prettify(output) );
+                }
+                if(testCase.expected!=null && !unassignedException.equals(testCase.expected)){
+                    errln("Did not get the expected exception. The operation succeeded!");
+                }
+            }catch(StringPrepParseException ex){
+                if(testCase.expected == null || !ex.equals(testCase.expected)){
+                    errln("Did not get the expected exception for source: " +testCase.input +" Got:  "+ ex.toString());
+                }
+            }
+        }
+        
+    }
+    public void TestErrorCases() throws Exception{
+        for(int i=0; i < TestData.errorCases.length; i++){
+            TestData.ErrorCase errCase = TestData.errorCases[i];
+            if(errCase.testLabel==true){
+                // Test ToASCII
+                doTestToASCII(new String(errCase.unicode),errCase.ascii,IDNA.DEFAULT,errCase.expected);
+                doTestToASCII(new String(errCase.unicode),errCase.ascii,IDNA.ALLOW_UNASSIGNED,errCase.expected);
+                if(errCase.useSTD3ASCIIRules){
+                    doTestToASCII(new String(errCase.unicode),errCase.ascii,IDNA.USE_STD3_RULES,errCase.expected);
+                }
+            }
+            if(errCase.useSTD3ASCIIRules!=true){
+                
+                // Test IDNToASCII
+                doTestIDNToASCII(new String(errCase.unicode),errCase.ascii,IDNA.DEFAULT,errCase.expected);
+                doTestIDNToASCII(new String(errCase.unicode),errCase.ascii,IDNA.ALLOW_UNASSIGNED,errCase.expected);
+                
+            }else{
+                doTestIDNToASCII(new String(errCase.unicode),errCase.ascii,IDNA.USE_STD3_RULES,errCase.expected);
+            }
+            
+            //TestToUnicode
+            if(errCase.testToUnicode==true){
+                if(errCase.useSTD3ASCIIRules!=true){
+                    // Test IDNToUnicode
+                    doTestIDNToUnicode(errCase.ascii,new String(errCase.unicode),IDNA.DEFAULT,errCase.expected);
+                    doTestIDNToUnicode(errCase.ascii,new String(errCase.unicode),IDNA.ALLOW_UNASSIGNED,errCase.expected);
+                
+                }else{
+                    doTestIDNToUnicode(errCase.ascii,new String(errCase.unicode),IDNA.USE_STD3_RULES,errCase.expected);
+                }
+            }
+        }
+    }
+    private void doTestCompare(String s1, String s2, boolean isEqual){
+        try{
+            int retVal = IDNA.compare(s1,s2,IDNA.DEFAULT);
+            if(isEqual==true && retVal != 0){
+                errln("Did not get the expected result for s1: "+ prettify(s1)+ 
+                      " s2: "+prettify(s2));
+            }
+            retVal = IDNA.compare(new StringBuffer(s1), new StringBuffer(s2), IDNA.DEFAULT);
+            if(isEqual==true && retVal != 0){
+                errln("Did not get the expected result for s1: "+ prettify(s1)+ 
+                     " s2: "+prettify(s2));
+            }
+            retVal = IDNA.compare(UCharacterIterator.getInstance(s1), UCharacterIterator.getInstance(s2), IDNA.DEFAULT);
+            if(isEqual==true && retVal != 0){
+                errln("Did not get the expected result for s1: "+ prettify(s1)+ 
+                     " s2: "+prettify(s2));
+            }
+        }catch(Exception e){
+            e.printStackTrace();
+            errln("Unexpected exception thrown by IDNA.compare");
+        }
+        
+        try{
+            int retVal = IDNA.compare(s1,s2,IDNA.ALLOW_UNASSIGNED);
+            if(isEqual==true && retVal != 0){
+                errln("Did not get the expected result for s1: "+ prettify(s1)+ 
+                      " s2: "+prettify(s2));
+            }
+            retVal = IDNA.compare(new StringBuffer(s1), new StringBuffer(s2), IDNA.ALLOW_UNASSIGNED);
+            if(isEqual==true && retVal != 0){
+                errln("Did not get the expected result for s1: "+ prettify(s1)+ 
+                     " s2: "+prettify(s2));
+            }
+            retVal = IDNA.compare(UCharacterIterator.getInstance(s1), UCharacterIterator.getInstance(s2), IDNA.ALLOW_UNASSIGNED);
+            if(isEqual==true && retVal != 0){
+                errln("Did not get the expected result for s1: "+ prettify(s1)+ 
+                     " s2: "+prettify(s2));
+            }
+        }catch(Exception e){
+            errln("Unexpected exception thrown by IDNA.compare");
+        }
+    }
+    public void TestCompare() throws Exception{
+        String www = "www.";
+        String com = ".com";
+        StringBuffer source = new StringBuffer(www);
+        StringBuffer uni0   = new StringBuffer(www);
+        StringBuffer uni1   = new StringBuffer(www);
+        StringBuffer ascii0 = new StringBuffer(www);
+        StringBuffer ascii1 = new StringBuffer(www);
+
+        uni0.append(TestData.unicodeIn[0]);
+        uni0.append(com);
+
+        uni1.append(TestData.unicodeIn[1]);
+        uni1.append(com);
+
+        ascii0.append(TestData.asciiIn[0]);
+        ascii0.append(com);
+
+        ascii1.append(TestData.asciiIn[1]);
+        ascii1.append(com);
+
+        for(int i=0;i< TestData.unicodeIn.length; i++){
+
+            // for every entry in unicodeIn array
+            // prepend www. and append .com
+            source.setLength(4);
+            source.append(TestData.unicodeIn[i]);
+            source.append(com);
+            
+            // a) compare it with itself
+            doTestCompare(source.toString(),source.toString(),true);
+        
+            // b) compare it with asciiIn equivalent
+            doTestCompare(source.toString(),www+TestData.asciiIn[i]+com,true);
+        
+            // c) compare it with unicodeIn not equivalent
+            if(i==0){
+                doTestCompare(source.toString(), uni1.toString(), false);
+            }else{
+                doTestCompare(source.toString(),uni0.toString(), false);
+            }
+            // d) compare it with asciiIn not equivalent
+            if(i==0){
+                doTestCompare(source.toString(),ascii1.toString(), false);
+            }else{
+                doTestCompare(source.toString(),ascii0.toString(), false);
+            }
+
+        }
+    }
+
+    //  test and ascertain
+    //  func(func(func(src))) == func(src)
+    public void doTestChainingToASCII(String source)throws Exception{
+        StringBuffer expected; 
+        StringBuffer chained;
+        
+        // test convertIDNToASCII
+        expected = IDNA.convertIDNToASCII(source,IDNA.DEFAULT);
+        chained = expected;
+        for(int i=0; i< 4; i++){
+            chained = IDNA.convertIDNToASCII(chained,IDNA.DEFAULT);
+        }
+        if(!expected.toString().equals(chained.toString())){
+            errln("Chaining test failed for convertIDNToASCII");
+        }
+        // test convertIDNToA
+        expected = IDNA.convertToASCII(source,IDNA.DEFAULT);
+        chained = expected;
+        for(int i=0; i< 4; i++){
+            chained = IDNA.convertToASCII(chained,IDNA.DEFAULT);
+        }
+        if(!expected.toString().equals(chained.toString())){
+            errln("Chaining test failed for convertToASCII");
+        }   
+    }
+    //  test and ascertain
+    //  func(func(func(src))) == func(src)
+    public void doTestChainingToUnicode(String source)throws Exception{
+        StringBuffer expected; 
+        StringBuffer chained;
+        
+        // test convertIDNToUnicode
+        expected = IDNA.convertIDNToUnicode(source,IDNA.DEFAULT);
+        chained = expected;
+        for(int i=0; i< 4; i++){
+            chained = IDNA.convertIDNToUnicode(chained,IDNA.DEFAULT);
+        }
+        if(!expected.toString().equals(chained.toString())){
+            errln("Chaining test failed for convertIDNToUnicode");
+        }
+        // test convertIDNToA
+        expected = IDNA.convertToUnicode(source,IDNA.DEFAULT);
+        chained = expected;
+        for(int i=0; i< 4; i++){
+            chained = IDNA.convertToUnicode(chained,IDNA.DEFAULT);
+        }
+        if(!expected.toString().equals(chained.toString())){
+            errln("Chaining test failed for convertToUnicode");
+        }   
+    }
+    public void TestChaining() throws Exception{
+        for(int i=0; i< TestData.asciiIn.length; i++){
+            doTestChainingToUnicode(TestData.asciiIn[i]);
+        }
+        for(int i=0; i< TestData.unicodeIn.length; i++){
+            doTestChainingToASCII(new String(TestData.unicodeIn[i]));
+        }
+    }
+    
+
+    /* IDNA RFC Says:
+    A label is an individual part of a domain name.  Labels are usually
+    shown separated by dots; for example, the domain name
+    "www.example.com" is composed of three labels: "www", "example", and
+    "com".  (The zero-length root label described in [STD13], which can
+    be explicit as in "www.example.com." or implicit as in
+    "www.example.com", is not considered a label in this specification.)
+    */
+    public void TestRootLabelSeparator() throws Exception{
+        String www = "www.";
+        String com = ".com."; //root label separator
+        StringBuffer source = new StringBuffer(www);
+        StringBuffer uni0   = new StringBuffer(www);
+        StringBuffer uni1   = new StringBuffer(www);
+        StringBuffer ascii0 = new StringBuffer(www);
+        StringBuffer ascii1 = new StringBuffer(www);
+
+        uni0.append(TestData.unicodeIn[0]);
+        uni0.append(com);
+
+        uni1.append(TestData.unicodeIn[1]);
+        uni1.append(com);
+
+        ascii0.append(TestData.asciiIn[0]);
+        ascii0.append(com);
+
+        ascii1.append(TestData.asciiIn[1]);
+        ascii1.append(com);
+
+        for(int i=0;i< TestData.unicodeIn.length; i++){
+
+            // for every entry in unicodeIn array
+            // prepend www. and append .com
+            source.setLength(4);
+            source.append(TestData.unicodeIn[i]);
+            source.append(com);
+            
+            // a) compare it with itself
+            doTestCompare(source.toString(),source.toString(),true);
+        
+            // b) compare it with asciiIn equivalent
+            doTestCompare(source.toString(),www+TestData.asciiIn[i]+com,true);
+        
+            // c) compare it with unicodeIn not equivalent
+            if(i==0){
+                doTestCompare(source.toString(), uni1.toString(), false);
+            }else{
+                doTestCompare(source.toString(),uni0.toString(), false);
+            }
+            // d) compare it with asciiIn not equivalent
+            if(i==0){
+                doTestCompare(source.toString(),ascii1.toString(), false);
+            }else{
+                doTestCompare(source.toString(),ascii0.toString(), false);
+            }
+
+        }
+
+    }
+    
+    
+    private static final int loopCount = 100;
+    private static final int maxCharCount = 15;
+   // private static final int maxCodePoint = 0x10ffff;
+    private Random random = null;
+    
+    /**
+     * Return a random integer i where 0 <= i < n.
+     * A special function that gets random codepoints from planes 0,1,2 and 14
+     */
+    private int rand_uni()
+    {
+       int retVal = (int)(random.nextLong()& 0x3FFFF);
+       if(retVal >= 0x30000){
+           retVal+=0xB0000;
+       }
+       return retVal;
+    }
+
+    private int randi(int n){
+        return (random.nextInt(0x7fff) % (n+1));
+    }
+
+    private StringBuffer getTestSource(StringBuffer fillIn) {
+        // use uniform seed value from the framework
+        if(random==null){
+            random = createRandom();
+        }
+        int i = 0;
+        int charCount = (randi(maxCharCount) + 1);
+        while (i <charCount ) {
+            int codepoint = rand_uni();
+            if(codepoint == 0x0000){
+                continue;
+            }
+            UTF16.append(fillIn, codepoint);
+            i++;
+        }
+        return fillIn;
+       
+    }
+    public void MonkeyTest() throws Exception{
+         StringBuffer source = new StringBuffer();
+         /* do the monkey test   */       
+         for(int i=0; i<loopCount; i++){
+             source.setLength(0);
+             getTestSource(source);
+             doTestCompareReferenceImpl(source);
+         }
+         
+         // test string with embedded null  
+         source.append( "\\u0000\\u2109\\u3E1B\\U000E65CA\\U0001CAC5" );
+                           
+         source = new StringBuffer(Utility.unescape(source.toString()));
+         doTestCompareReferenceImpl(source);
+         
+         //StringBuffer src = new StringBuffer(Utility.unescape("\\uDEE8\\U000E228C\\U0002EE8E\\U000E6350\\U00024DD9\u4049\\U000E0DE4\\U000E448C\\U0001869B\\U000E3380\\U00016A8E\\U000172D5\\U0001C408\\U000E9FB5"));
+         //doTestCompareReferenceImpl(src);
+         
+         //test deletion of code points
+         source = new StringBuffer(Utility.unescape("\\u043f\\u00AD\\u034f\\u043e\\u0447\\u0435\\u043c\\u0443\\u0436\\u0435\\u043e\\u043d\\u0438\\u043d\\u0435\\u0433\\u043e\\u0432\\u043e\\u0440\\u044f\\u0442\\u043f\\u043e\\u0440\\u0443\\u0441\\u0441\\u043a\\u0438"));
+         StringBuffer expected = new StringBuffer("xn--b1abfaaepdrnnbgefbadotcwatmq2g4l");
+         doTestCompareReferenceImpl(source);
+         doTestToASCII(source.toString(),expected.toString(), IDNA.DEFAULT, null);
+    }
+    private void doTestCompareReferenceImpl(StringBuffer src) throws Exception{
+        
+        StringBuffer label = src;  
+
+        StringPrepParseException expected = null;
+        StringBuffer ascii = null;
+        int options = IDNA.DEFAULT;
+        logln("Comparing idnaref_toASCII with uidna_toASCII for input: " + prettify(label));
+        try{       
+            ascii = IDNAReference.convertToASCII(label, options);
+        }catch( StringPrepParseException e){
+            expected = e;
+            if(e.equals(unassignedException)){
+                options = IDNA.ALLOW_UNASSIGNED;
+                expected = null;
+                try{
+                    ascii = IDNAReference.convertToASCII(label, options);
+                }catch( StringPrepParseException ex){
+                    expected = ex;                  
+                }
+            }
+        }
+        
+        doTestToASCII(label.toString(), 
+                      (ascii == null) ? null : ascii.toString(),
+                      options,
+                      expected);
+
+        logln("Comparing idnaref_toUnicode with uidna_toUnicode for input: " + prettify(label));
+        StringBuffer uni =null;
+        
+        if(expected == null){
+            options = IDNA.DEFAULT;
+            try{
+                 uni = IDNAReference.convertToUnicode(ascii, options);
+            }catch( StringPrepParseException e ){
+                expected = e;
+                if(expected.equals(unassignedException)){
+                    options = IDNA.ALLOW_UNASSIGNED;
+                    expected = null;
+                    try{
+                        uni = IDNAReference.convertToUnicode(ascii, options);
+                    }catch(StringPrepParseException ex){
+                        expected = ex;
+                    }
+                }
+            }
+            doTestToUnicode(ascii.toString(),
+                            (uni==null)? null : uni.toString(),
+                            options,
+                            expected);
+        }
+
+    }
+    public void TestCompareRefImpl() throws Exception{
+        
+        for(int i = 0x40000 ; i< 0x10ffff; i++){
+            StringBuffer src = new StringBuffer();
+           
+            if(isQuick()==true && i> 0x1FFFF){
+                return;
+            }
+            if(i >= 0x30000 && i<=0xf0000){
+               i+=0xB0000;
+            }
+            UTF16.append(src,i);
+            doTestCompareReferenceImpl(src);
+
+        }  
+    }
+    public void TestUnicode32Norm() {
+        /*
+         * test Unicode 3.2 normalization, before Public Review Issue #29
+         * see cnormtst.c TestComposition()
+         */
+        final String strings[]={
+            "\u1100\u0300\u1161\u0327",
+            "\u0b47\u0300\u0b3e\u0327"
+        };
+
+        String ascii, unicode;
+        StringPrepParseException ex2;
+        int i;
+
+        for(i=0; i<strings.length; ++i) {
+            ex2=null;
+            try {
+                ascii=IDNA.convertToASCII(strings[i], 0).toString();
+                unicode=IDNA.convertToUnicode(ascii, 0).toString();
+            } catch(StringPrepParseException ex) {
+                ex2=ex;
+            }
+            if(ex2==null || ex2.getMessage().indexOf("verification")<0) {
+                String es= ex2==null ? "null" : ex2.toString();
+                errln("string "+i+" yields "+es+" instead of VERIFICATION_ERROR");
+            }
+        }
+    }
+    public void TestJB4490(){
+        String[] in = new String[]{
+                "\u00F5\u00dE\u00dF\u00dD",
+                "\uFB00\uFB01"
+               };
+        for ( int i=0; i< in.length; i++){   
+            try{
+                String ascii = IDNA.convertToASCII(in[i],IDNA.DEFAULT).toString();
+                try{
+                    String unicode = IDNA.convertToUnicode(ascii,IDNA.DEFAULT).toString();
+                }catch(StringPrepParseException ex){
+                    errln("Unexpected exception for convertToUnicode: " + ex.getMessage());
+                }
+            }catch(StringPrepParseException ex){
+                errln("Unexpected exception for convertToASCII: " + ex.getMessage());
+            }
+        }
+    }
+    public void TestJB4475(){
+        String[] in = new String[]{
+                        "TEST",
+                        "test"
+                       };
+        for ( int i=0; i< in.length; i++){
+            
+            try{
+                String ascii = IDNA.convertToASCII(in[i],IDNA.DEFAULT).toString();
+                if(!ascii.equals(in[i])){
+                    errln("Did not get the expected string for convertToASCII. Expected: "+ in[i] +" Got: " + ascii);
+                }
+            }catch(StringPrepParseException ex){
+                errln("Unexpected exception: " + ex.getMessage());
+            }
+        }
+            
+    }
+    public void TestDebug(){     
+        try{
+            String src = "\u00ED4dn";
+            String uni = IDNA.convertToUnicode(src,IDNA.DEFAULT).toString();
+            if(!uni.equals(src)){
+                errln("Did not get the expected result. Expected: "+ prettify(src) +" Got: " +uni);
+            }
+        }catch(StringPrepParseException ex){
+            logln("Unexpected exception: " + ex.getMessage());
+        }
+        try{
+            String ascii = IDNA.convertToASCII("\u00AD",IDNA.DEFAULT).toString();
+            if(ascii!=null){
+                errln("Did not get the expected exception");
+            }
+        }catch(StringPrepParseException ex){
+            logln("Got the expected exception: " + ex.getMessage());
+        }
+    }
+}
diff --git a/src/com/ibm/icu/dev/test/stringprep/TestIDNARef.java b/src/com/ibm/icu/dev/test/stringprep/TestIDNARef.java
new file mode 100644
index 0000000..31f550e
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/stringprep/TestIDNARef.java
@@ -0,0 +1,621 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2003-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+*/
+package com.ibm.icu.dev.test.stringprep;
+
+import com.ibm.icu.dev.test.TestFmwk;
+import com.ibm.icu.text.StringPrepParseException;
+import com.ibm.icu.text.UCharacterIterator;
+
+/**
+ * @author ram
+ *
+ * To change the template for this generated type comment go to
+ * Window>Preferences>Java>Code Generation>Code and Comments
+ */
+public class TestIDNARef extends TestFmwk {
+    public static void main(String[] args) throws Exception {
+        new TestIDNARef().run(args);
+    }
+    private StringPrepParseException unassignedException = new StringPrepParseException("",StringPrepParseException.UNASSIGNED_ERROR);
+    public void TestToUnicode() throws Exception{
+        try{
+            for(int i=0; i<TestData.asciiIn.length; i++){
+                // test StringBuffer toUnicode
+                doTestToUnicode(TestData.asciiIn[i],new String(TestData.unicodeIn[i]),IDNAReference.DEFAULT, null);
+                doTestToUnicode(TestData.asciiIn[i],new String(TestData.unicodeIn[i]),IDNAReference.ALLOW_UNASSIGNED, null);
+                //doTestToUnicode(TestData.asciiIn[i],new String(TestData.unicodeIn[i]),IDNAReference.USE_STD3_RULES, null); 
+                //doTestToUnicode(TestData.asciiIn[i],new String(TestData.unicodeIn[i]),IDNAReference.USE_STD3_RULES|IDNAReference.ALLOW_UNASSIGNED, null); 
+        
+            }
+        }catch(java.lang.ExceptionInInitializerError ex){
+            warnln("Could not load NamePrepTransform data");
+        }catch(java.lang.NoClassDefFoundError ex){
+            warnln("Could not load NamePrepTransform data");
+        } 
+    }
+    
+    public void TestToASCII() throws Exception{
+        try{
+            for(int i=0; i<TestData.asciiIn.length; i++){
+                // test StringBuffer toUnicode
+                doTestToASCII(new String(TestData.unicodeIn[i]),TestData.asciiIn[i],IDNAReference.DEFAULT, null);
+                doTestToASCII(new String(TestData.unicodeIn[i]),TestData.asciiIn[i],IDNAReference.ALLOW_UNASSIGNED, null);
+                //doTestToUnicode(TestData.asciiIn[i],new String(TestData.unicodeIn[i]),IDNAReference.USE_STD3_RULES, null); 
+                //doTestToUnicode(TestData.asciiIn[i],new String(TestData.unicodeIn[i]),IDNAReference.USE_STD3_RULES|IDNAReference.ALLOW_UNASSIGNED, null); 
+        
+            }
+        }catch(java.lang.ExceptionInInitializerError ex){
+            warnln("Could not load NamePrepTransform data");
+        }catch(java.lang.NoClassDefFoundError ex){
+            warnln("Could not load NamePrepTransform data");
+        } 
+    }
+    
+    public void TestIDNToASCII() throws Exception{
+        try{
+            for(int i=0; i<TestData.domainNames.length; i++){
+                doTestIDNToASCII(TestData.domainNames[i],TestData.domainNames[i],IDNAReference.DEFAULT, null);
+                doTestIDNToASCII(TestData.domainNames[i],TestData.domainNames[i],IDNAReference.ALLOW_UNASSIGNED, null);
+                doTestIDNToASCII(TestData.domainNames[i],TestData.domainNames[i],IDNAReference.USE_STD3_RULES, null);
+                doTestIDNToASCII(TestData.domainNames[i],TestData.domainNames[i],IDNAReference.ALLOW_UNASSIGNED|IDNAReference.USE_STD3_RULES, null);
+            }
+            
+            for(int i=0; i<TestData.domainNames1Uni.length; i++){
+                doTestIDNToASCII(TestData.domainNames1Uni[i],TestData.domainNamesToASCIIOut[i],IDNAReference.DEFAULT, null);
+                doTestIDNToASCII(TestData.domainNames1Uni[i],TestData.domainNamesToASCIIOut[i],IDNAReference.ALLOW_UNASSIGNED, null);
+                doTestIDNToASCII(TestData.domainNames1Uni[i],TestData.domainNamesToASCIIOut[i],IDNAReference.USE_STD3_RULES, null);
+                doTestIDNToASCII(TestData.domainNames1Uni[i],TestData.domainNamesToASCIIOut[i],IDNAReference.ALLOW_UNASSIGNED|IDNAReference.USE_STD3_RULES, null);
+    
+            }
+        }catch(java.lang.ExceptionInInitializerError ex){
+            warnln("Could not load NamePrepTransform data");
+        }catch(java.lang.NoClassDefFoundError ex){
+            warnln("Could not load NamePrepTransform data");
+        } 
+    }
+    public void TestIDNToUnicode() throws Exception{
+        try{
+            for(int i=0; i<TestData.domainNames.length; i++){
+                doTestIDNToUnicode(TestData.domainNames[i],TestData.domainNames[i],IDNAReference.DEFAULT, null);
+                doTestIDNToUnicode(TestData.domainNames[i],TestData.domainNames[i],IDNAReference.ALLOW_UNASSIGNED, null);
+                doTestIDNToUnicode(TestData.domainNames[i],TestData.domainNames[i],IDNAReference.USE_STD3_RULES, null);
+                doTestIDNToUnicode(TestData.domainNames[i],TestData.domainNames[i],IDNAReference.ALLOW_UNASSIGNED|IDNAReference.USE_STD3_RULES, null);
+            }
+            for(int i=0; i<TestData.domainNamesToASCIIOut.length; i++){
+                doTestIDNToUnicode(TestData.domainNamesToASCIIOut[i],TestData.domainNamesToUnicodeOut[i],IDNAReference.DEFAULT, null);
+                doTestIDNToUnicode(TestData.domainNamesToASCIIOut[i],TestData.domainNamesToUnicodeOut[i],IDNAReference.ALLOW_UNASSIGNED, null);
+            }
+        }catch(java.lang.ExceptionInInitializerError ex){
+            warnln("Could not load NamePrepTransform data");
+        }catch(java.lang.NoClassDefFoundError ex){
+            warnln("Could not load NamePrepTransform data");
+        } 
+    }
+    
+    private void doTestToUnicode(String src, String expected, int options, Object expectedException) 
+                throws Exception{
+        StringBuffer inBuf = new StringBuffer(src);
+        UCharacterIterator inIter = UCharacterIterator.getInstance(src);
+        try{
+            
+            StringBuffer out = IDNAReference.convertToUnicode(src,options);
+            if(expected!=null && out != null && !out.toString().equals(expected)){
+                errln("convertToUnicode did not return expected result with options : "+ options + 
+                      " Expected: " + prettify(expected)+" Got: "+prettify(out));
+            }
+            if(expectedException!=null && !unassignedException.equals(expectedException)){
+                errln("convertToUnicode did not get the expected exception. The operation succeeded!");
+            }
+        }catch(StringPrepParseException ex){
+            if(expectedException == null || !ex.equals(expectedException)){
+                errln("convertToUnicode did not get the expected exception for source: " + prettify(src) +" Got:  "+ ex.toString());
+            }
+        }
+        try{
+            
+            StringBuffer out = IDNAReference.convertToUnicode(inBuf,options);
+            if(expected!=null && out != null && !out.toString().equals(expected)){
+               errln("convertToUnicode did not return expected result with options : "+ options + 
+                     " Expected: " + prettify(expected)+" Got: "+out);
+            }
+            if(expectedException!=null && !unassignedException.equals(expectedException)){
+                errln("convertToUnicode did not get the expected exception. The operation succeeded!");
+            }
+        }catch(StringPrepParseException ex){
+            if(expectedException == null || !ex.equals(expectedException)){
+                errln("convertToUnicode did not get the expected exception for source: " + prettify(src) +" Got:  "+ ex.toString());
+            }
+        }
+        
+        try{
+            StringBuffer out = IDNAReference.convertToUnicode(inIter,options);
+            if(expected!=null && out != null && !out.toString().equals(expected)){
+               errln("convertToUnicode did not return expected result with options : "+ options +
+                     " Expected: " + prettify(expected)+" Got: "+prettify(out));
+            }
+            if(expectedException!=null && !unassignedException.equals(expectedException)){
+                errln("Did not get the expected exception. The operation succeeded!");
+            }
+        }catch(StringPrepParseException ex){
+            if(expectedException == null || !ex.equals(expectedException)){
+                errln("Did not get the expected exception for source: " + prettify(src) +" Got:  "+ ex.toString());
+            }
+        }
+    }
+    
+    private void doTestIDNToUnicode(String src, String expected, int options, Object expectedException) 
+                throws Exception{
+        StringBuffer inBuf = new StringBuffer(src);
+        UCharacterIterator inIter = UCharacterIterator.getInstance(src);
+        try{
+            
+            StringBuffer out = IDNAReference.convertIDNToUnicode(src,options);
+            if(expected!=null && out != null && !out.toString().equals(expected)){
+                errln("convertToUnicode did not return expected result with options : "+ options + 
+                      " Expected: " + prettify(expected)+" Got: "+prettify(out));
+            }
+            if(expectedException!=null && !unassignedException.equals(expectedException)){
+                errln("convertToUnicode did not get the expected exception. The operation succeeded!");
+            }
+        }catch(StringPrepParseException ex){
+            if(expectedException == null || !expectedException.equals(ex)){
+                errln("convertToUnicode did not get the expected exception for source: " +src +" Got:  "+ ex.toString());
+            }
+        }
+        try{
+            StringBuffer out = IDNAReference.convertIDNToUnicode(inBuf,options);
+            if(expected!=null && out != null && !out.toString().equals(expected)){
+               errln("convertToUnicode did not return expected result with options : "+ options + 
+                     " Expected: " + prettify(expected)+" Got: "+out);
+            }
+            if(expectedException!=null && !unassignedException.equals(expectedException)){
+                errln("convertToUnicode did not get the expected exception. The operation succeeded!");
+            }
+        }catch(StringPrepParseException ex){
+            if(expectedException == null || !expectedException.equals(ex)){
+                errln("convertToUnicode did not get the expected exception for source: " +src +" Got:  "+ ex.toString());
+            }
+        }
+        
+        try{
+            StringBuffer out = IDNAReference.convertIDNToUnicode(inIter,options);
+            if(expected!=null && out != null && !out.toString().equals(expected)){
+               errln("convertToUnicode did not return expected result with options : "+ options +
+                     " Expected: " + prettify(expected)+" Got: "+prettify(out));
+            }
+            if(expectedException!=null && !unassignedException.equals(expectedException)){
+                errln("Did not get the expected exception. The operation succeeded!");
+            }
+        }catch(StringPrepParseException ex){
+            if(expectedException == null || !expectedException.equals(ex)){
+                errln("Did not get the expected exception for source: " +src +" Got:  "+ ex.toString());
+            }
+        }
+    }
+    private void doTestToASCII(String src, String expected, int options, Object expectedException) 
+                throws Exception{
+        StringBuffer inBuf = new StringBuffer(src);
+        UCharacterIterator inIter = UCharacterIterator.getInstance(src);
+        try{
+            
+            StringBuffer out = IDNAReference.convertToASCII(src,options);
+            if(!unassignedException.equals(expectedException) && expected!=null && out != null && expected!=null && out != null && !out.toString().equals(expected.toLowerCase())){
+                errln("convertToASCII did not return expected result with options : "+ options + 
+                      " Expected: " + expected+" Got: "+out);
+            }           
+            if(expectedException!=null && !unassignedException.equals(expectedException)){
+                errln("convertToASCII did not get the expected exception. The operation succeeded!");
+            }
+        }catch(StringPrepParseException ex){
+            if(expectedException == null || !expectedException.equals(ex)){
+                errln("convertToASCII did not get the expected exception for source: " +src +" Got:  "+ ex.toString());
+            }
+        }
+        
+        try{            
+            StringBuffer out = IDNAReference.convertToASCII(inBuf,options);
+            if(!unassignedException.equals(expectedException) && expected!=null && out != null && expected!=null && out != null && !out.toString().equals(expected.toLowerCase())){
+               errln("convertToASCII did not return expected result with options : "+ options + 
+                     " Expected: " + expected+" Got: "+out);
+            }
+            if(expectedException!=null && !unassignedException.equals(expectedException)){
+                errln("convertToASCII did not get the expected exception. The operation succeeded!");
+            }
+        }catch(StringPrepParseException ex){
+            if(expectedException == null || !expectedException.equals(ex)){
+                errln("convertToASCII did not get the expected exception for source: " +src +" Got:  "+ ex.toString());
+            }
+        }
+        
+        try{
+            StringBuffer out = IDNAReference.convertToASCII(inIter,options);
+            if(!unassignedException.equals(expectedException) && expected!=null && out != null && expected!=null && out != null && !out.toString().equals(expected.toLowerCase())){
+               errln("convertToASCII did not return expected result with options : "+ options +
+                     " Expected: " + expected+" Got: "+ out);
+            }
+            if(expectedException!=null && !unassignedException.equals(expectedException)){
+                errln("convertToASCII did not get the expected exception. The operation succeeded!");
+            }
+        }catch(StringPrepParseException ex){
+            if(expectedException == null || !expectedException.equals(ex)){
+                errln("convertToASCII did not get the expected exception for source: " +src +" Got:  "+ ex.toString());
+            }
+        }
+    }
+    private void doTestIDNToASCII(String src, String expected, int options, Object expectedException) 
+                throws Exception{
+        
+        StringBuffer inBuf = new StringBuffer(src);
+        UCharacterIterator inIter = UCharacterIterator.getInstance(src);
+        try{
+            
+            StringBuffer out = IDNAReference.convertIDNToASCII(src,options);
+            if(expected!=null && out != null && !out.toString().equals(expected)){
+                errln("convertToIDNAReferenceASCII did not return expected result with options : "+ options + 
+                      " Expected: " + expected+" Got: "+out);
+            }
+            if(expectedException!=null && !unassignedException.equals(expectedException)){
+                errln("convertToIDNAReferenceASCII did not get the expected exception. The operation succeeded!");
+            }
+        }catch(StringPrepParseException ex){
+            if(expectedException == null || !ex.equals(expectedException)){
+                errln("convertToIDNAReferenceASCII did not get the expected exception for source: " +src +" Got:  "+ ex.toString());
+            }
+        }
+        try{
+            StringBuffer out = IDNAReference.convertIDNtoASCII(inBuf,options);
+            if(expected!=null && out != null && !out.toString().equals(expected)){
+               errln("convertToIDNAReferenceASCII did not return expected result with options : "+ options + 
+                     " Expected: " + expected+" Got: "+out);
+            }           
+            if(expectedException!=null && !unassignedException.equals(expectedException)){
+                errln("convertToIDNAReferenceSCII did not get the expected exception. The operation succeeded!");
+            }
+        }catch(StringPrepParseException ex){
+            if(expectedException == null || !ex.equals(expectedException)){
+                errln("convertToIDNAReferenceSCII did not get the expected exception for source: " +src +" Got:  "+ ex.toString());
+            }
+        }
+        
+        try{
+            StringBuffer out = IDNAReference.convertIDNtoASCII(inIter,options);
+            if(expected!=null && out != null && !out.toString().equals(expected)){
+               errln("convertIDNToASCII did not return expected result with options : "+ options +
+                     " Expected: " + expected+" Got: "+ out);
+            }
+            
+            if(expectedException!=null && !unassignedException.equals(expectedException)){
+                errln("convertIDNToASCII did not get the expected exception. The operation succeeded!");
+            }
+        }catch(StringPrepParseException ex){
+            if(expectedException == null || !ex.equals(expectedException)){
+                errln("convertIDNToASCII did not get the expected exception for source: " +src +" Got:  "+ ex.toString());
+            }
+        }
+    }
+    public void TestConformance()throws Exception{
+        try{
+            for(int i=0; i<TestData.conformanceTestCases.length;i++){
+                
+                TestData.ConformanceTestCase testCase = TestData.conformanceTestCases[i];
+                if(testCase.expected != null){
+                    //Test toASCII
+                    doTestToASCII(testCase.input,testCase.output,IDNAReference.DEFAULT,testCase.expected);
+                    doTestToASCII(testCase.input,testCase.output,IDNAReference.ALLOW_UNASSIGNED,testCase.expected);
+                }
+                //Test toUnicode
+                //doTestToUnicode(testCase.input,testCase.output,IDNAReference.DEFAULT,testCase.expected);
+            }
+        }catch(java.lang.ExceptionInInitializerError ex){
+            warnln("Could not load NamePrepTransform data");
+        }catch(java.lang.NoClassDefFoundError ex){
+            warnln("Could not load NamePrepTransform data");
+        } 
+    }
+    public void TestNamePrepConformance() throws Exception{
+        try{
+            NamePrepTransform namePrep = NamePrepTransform.getInstance();
+            for(int i=0; i<TestData.conformanceTestCases.length;i++){
+                TestData.ConformanceTestCase testCase = TestData.conformanceTestCases[i];
+                UCharacterIterator iter = UCharacterIterator.getInstance(testCase.input);
+                try{
+                    StringBuffer output = namePrep.prepare(iter,NamePrepTransform.NONE);
+                    if(testCase.output !=null && output!=null && !testCase.output.equals(output.toString())){
+                        errln("Did not get the expected output. Expected: " + prettify(testCase.output)+
+                              " Got: "+ prettify(output) );
+                    }
+                    if(testCase.expected!=null && !unassignedException.equals(testCase.expected)){
+                        errln("Did not get the expected exception. The operation succeeded!");
+                    }
+                }catch(StringPrepParseException ex){
+                    if(testCase.expected == null || !ex.equals(testCase.expected)){
+                        errln("Did not get the expected exception for source: " +testCase.input +" Got:  "+ ex.toString());
+                    }
+                }
+                
+                try{
+                    iter.setToStart();
+                    StringBuffer output = namePrep.prepare(iter,NamePrepTransform.ALLOW_UNASSIGNED);
+                    if(testCase.output !=null && output!=null && !testCase.output.equals(output.toString())){
+                        errln("Did not get the expected output. Expected: " + prettify(testCase.output)+
+                              " Got: "+ prettify(output) );
+                    }
+                    if(testCase.expected!=null && !unassignedException.equals(testCase.expected)){
+                        errln("Did not get the expected exception. The operation succeeded!");
+                    }
+                }catch(StringPrepParseException ex){
+                    if(testCase.expected == null || !ex.equals(testCase.expected)){
+                        errln("Did not get the expected exception for source: " +testCase.input +" Got:  "+ ex.toString());
+                    }
+                }
+            }
+        }catch(java.lang.ExceptionInInitializerError e){
+            warnln("Could not load NamePrepTransformData");
+        }catch(java.lang.NoClassDefFoundError ex){
+            warnln("Could not load NamePrepTransform data");
+        } 
+        
+    }
+    public void TestErrorCases() throws Exception{
+        try{
+            for(int i=0; i < TestData.errorCases.length; i++){
+                TestData.ErrorCase errCase = TestData.errorCases[i];
+                if(errCase.testLabel==true){
+                    // Test ToASCII
+                    doTestToASCII(new String(errCase.unicode),errCase.ascii,IDNAReference.DEFAULT,errCase.expected);
+                    doTestToASCII(new String(errCase.unicode),errCase.ascii,IDNAReference.ALLOW_UNASSIGNED,errCase.expected);
+                    if(errCase.useSTD3ASCIIRules){
+                        doTestToASCII(new String(errCase.unicode),errCase.ascii,IDNAReference.USE_STD3_RULES,errCase.expected);
+                    }
+                }
+                if(errCase.useSTD3ASCIIRules!=true){
+                    
+                    // Test IDNToASCII
+                    doTestIDNToASCII(new String(errCase.unicode),errCase.ascii,IDNAReference.DEFAULT,errCase.expected);
+                    doTestIDNToASCII(new String(errCase.unicode),errCase.ascii,IDNAReference.ALLOW_UNASSIGNED,errCase.expected);
+                    
+                }else{
+                    doTestIDNToASCII(new String(errCase.unicode),errCase.ascii,IDNAReference.USE_STD3_RULES,errCase.expected);
+                }
+                
+                //TestToUnicode
+                if(errCase.testToUnicode==true){
+                    if(errCase.useSTD3ASCIIRules!=true){
+                        // Test IDNToUnicode
+                        doTestIDNToUnicode(errCase.ascii,new String(errCase.unicode),IDNAReference.DEFAULT,errCase.expected);
+                        doTestIDNToUnicode(errCase.ascii,new String(errCase.unicode),IDNAReference.ALLOW_UNASSIGNED,errCase.expected);
+                    
+                    }else{
+                        doTestIDNToUnicode(errCase.ascii,new String(errCase.unicode),IDNAReference.USE_STD3_RULES,errCase.expected);
+                    }
+                }
+            }
+        }catch(java.lang.ExceptionInInitializerError ex){
+            warnln("Could not load NamePrepTransform data");
+        }catch(java.lang.NoClassDefFoundError ex){
+            warnln("Could not load NamePrepTransform data");
+        } 
+    }
+    private void doTestCompare(String s1, String s2, boolean isEqual){
+        try{
+            int retVal = IDNAReference.compare(s1,s2,IDNAReference.DEFAULT);
+            if(isEqual==true && retVal != 0){
+                errln("Did not get the expected result for s1: "+ prettify(s1)+ 
+                      " s2: "+prettify(s2));
+            }
+            retVal = IDNAReference.compare(new StringBuffer(s1), new StringBuffer(s2), IDNAReference.DEFAULT);
+            if(isEqual==true && retVal != 0){
+                errln("Did not get the expected result for s1: "+ prettify(s1)+ 
+                     " s2: "+prettify(s2));
+            }
+            retVal = IDNAReference.compare(UCharacterIterator.getInstance(s1), UCharacterIterator.getInstance(s2), IDNAReference.DEFAULT);
+            if(isEqual==true && retVal != 0){
+                errln("Did not get the expected result for s1: "+ prettify(s1)+ 
+                     " s2: "+prettify(s2));
+            }
+        }catch(Exception e){
+            e.printStackTrace();
+            errln("Unexpected exception thrown by IDNAReference.compare");
+        }
+        
+        try{
+            int retVal = IDNAReference.compare(s1,s2,IDNAReference.ALLOW_UNASSIGNED);
+            if(isEqual==true && retVal != 0){
+                errln("Did not get the expected result for s1: "+ prettify(s1)+ 
+                      " s2: "+prettify(s2));
+            }
+            retVal = IDNAReference.compare(new StringBuffer(s1), new StringBuffer(s2), IDNAReference.ALLOW_UNASSIGNED);
+            if(isEqual==true && retVal != 0){
+                errln("Did not get the expected result for s1: "+ prettify(s1)+ 
+                     " s2: "+prettify(s2));
+            }
+            retVal = IDNAReference.compare(UCharacterIterator.getInstance(s1), UCharacterIterator.getInstance(s2), IDNAReference.ALLOW_UNASSIGNED);
+            if(isEqual==true && retVal != 0){
+                errln("Did not get the expected result for s1: "+ prettify(s1)+ 
+                     " s2: "+prettify(s2));
+            }
+        }catch(Exception e){
+            errln("Unexpected exception thrown by IDNAReference.compare");
+        }     
+    }
+    public void TestCompare() throws Exception{
+        String www = "www.";
+        String com = ".com";
+        StringBuffer source = new StringBuffer(www);
+        StringBuffer uni0   = new StringBuffer(www);
+        StringBuffer uni1   = new StringBuffer(www);
+        StringBuffer ascii0 = new StringBuffer(www);
+        StringBuffer ascii1 = new StringBuffer(www);
+
+        uni0.append(TestData.unicodeIn[0]);
+        uni0.append(com);
+
+        uni1.append(TestData.unicodeIn[1]);
+        uni1.append(com);
+
+        ascii0.append(TestData.asciiIn[0]);
+        ascii0.append(com);
+
+        ascii1.append(TestData.asciiIn[1]);
+        ascii1.append(com);
+        try{
+            for(int i=0;i< TestData.unicodeIn.length; i++){
+    
+                // for every entry in unicodeIn array
+                // prepend www. and append .com
+                source.setLength(4);
+                source.append(TestData.unicodeIn[i]);
+                source.append(com);
+                
+                // a) compare it with itself
+                doTestCompare(source.toString(),source.toString(),true);
+            
+                // b) compare it with asciiIn equivalent
+                doTestCompare(source.toString(),www+TestData.asciiIn[i]+com,true);
+            
+                // c) compare it with unicodeIn not equivalent
+                if(i==0){
+                    doTestCompare(source.toString(), uni1.toString(), false);
+                }else{
+                    doTestCompare(source.toString(),uni0.toString(), false);
+                }
+                // d) compare it with asciiIn not equivalent
+                if(i==0){
+                    doTestCompare(source.toString(),ascii1.toString(), false);
+                }else{
+                    doTestCompare(source.toString(),ascii0.toString(), false);
+                }
+            }
+        }catch(java.lang.ExceptionInInitializerError ex){
+            warnln("Could not load NamePrepTransform data");
+        }catch(java.lang.NoClassDefFoundError ex){
+            warnln("Could not load NamePrepTransform data");
+        } 
+    }
+
+    //  test and ascertain
+    //  func(func(func(src))) == func(src)
+    public void doTestChainingToASCII(String source)throws Exception{
+        StringBuffer expected; 
+        StringBuffer chained;
+        
+        // test convertIDNToASCII
+        expected = IDNAReference.convertIDNToASCII(source,IDNAReference.DEFAULT);
+        chained = expected;
+        for(int i=0; i< 4; i++){
+            chained = IDNAReference.convertIDNtoASCII(chained,IDNAReference.DEFAULT);
+        }
+        if(!expected.toString().equals(chained.toString())){
+            errln("Chaining test failed for convertIDNToASCII");
+        }
+        // test convertIDNToA
+        expected = IDNAReference.convertToASCII(source,IDNAReference.DEFAULT);
+        chained = expected;
+        for(int i=0; i< 4; i++){
+            chained = IDNAReference.convertToASCII(chained,IDNAReference.DEFAULT);
+        }
+        if(!expected.toString().equals(chained.toString())){
+            errln("Chaining test failed for convertToASCII");
+        } 
+        
+    }
+    //  test and ascertain
+    //  func(func(func(src))) == func(src)
+    public void doTestChainingToUnicode(String source)throws Exception{
+        StringBuffer expected; 
+        StringBuffer chained;
+        
+        // test convertIDNToUnicode
+        expected = IDNAReference.convertIDNToUnicode(source,IDNAReference.DEFAULT);
+        chained = expected;
+        for(int i=0; i< 4; i++){
+            chained = IDNAReference.convertIDNToUnicode(chained,IDNAReference.DEFAULT);
+        }
+        if(!expected.toString().equals(chained.toString())){
+            errln("Chaining test failed for convertIDNToUnicode");
+        }
+        // test convertIDNToA
+        expected = IDNAReference.convertToUnicode(source,IDNAReference.DEFAULT);
+        chained = expected;
+        for(int i=0; i< 4; i++){
+            chained = IDNAReference.convertToUnicode(chained,IDNAReference.DEFAULT);
+        }
+        if(!expected.toString().equals(chained.toString())){
+            errln("Chaining test failed for convertToUnicode");
+        }
+
+    }
+    public void TestChaining() throws Exception{
+        try{
+            for(int i=0; i< TestData.unicodeIn.length; i++){
+                doTestChainingToASCII(new String(TestData.unicodeIn[i]));
+            }
+            for(int i=0; i< TestData.asciiIn.length; i++){
+                doTestChainingToUnicode(TestData.asciiIn[i]);
+            }
+        }catch(java.lang.ExceptionInInitializerError ex){
+            warnln("Could not load NamePrepTransform data");
+        }catch(java.lang.NoClassDefFoundError ex){
+            warnln("Could not load NamePrepTransform data");
+        } 
+    }
+    public void TestRootLabelSeparator() throws Exception{
+        String www = "www.";
+        String com = ".com."; /*root label separator*/
+        StringBuffer source = new StringBuffer(www);
+        StringBuffer uni0   = new StringBuffer(www);
+        StringBuffer uni1   = new StringBuffer(www);
+        StringBuffer ascii0 = new StringBuffer(www);
+        StringBuffer ascii1 = new StringBuffer(www);
+
+        uni0.append(TestData.unicodeIn[0]);
+        uni0.append(com);
+
+        uni1.append(TestData.unicodeIn[1]);
+        uni1.append(com);
+
+        ascii0.append(TestData.asciiIn[0]);
+        ascii0.append(com);
+
+        ascii1.append(TestData.asciiIn[1]);
+        ascii1.append(com);
+        try{
+            for(int i=0;i< TestData.unicodeIn.length; i++){
+    
+                // for every entry in unicodeIn array
+                // prepend www. and append .com
+                source.setLength(4);
+                source.append(TestData.unicodeIn[i]);
+                source.append(com);
+                
+                // a) compare it with itself
+                doTestCompare(source.toString(),source.toString(),true);
+            
+                // b) compare it with asciiIn equivalent
+                doTestCompare(source.toString(),www+TestData.asciiIn[i]+com,true);
+            
+                // c) compare it with unicodeIn not equivalent
+                if(i==0){
+                    doTestCompare(source.toString(), uni1.toString(), false);
+                }else{
+                    doTestCompare(source.toString(),uni0.toString(), false);
+                }
+                // d) compare it with asciiIn not equivalent
+                if(i==0){
+                    doTestCompare(source.toString(),ascii1.toString(), false);
+                }else{
+                    doTestCompare(source.toString(),ascii0.toString(), false);
+                }
+            }
+        }catch(java.lang.ExceptionInInitializerError ex){
+            warnln("Could not load NamePrepTransform data");
+        }catch(java.lang.NoClassDefFoundError ex){
+            warnln("Could not load NamePrepTransform data");
+        } 
+
+    }
+}
diff --git a/src/com/ibm/icu/dev/test/stringprep/TestInputDataStructure.java b/src/com/ibm/icu/dev/test/stringprep/TestInputDataStructure.java
new file mode 100644
index 0000000..cb87eab
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/stringprep/TestInputDataStructure.java
@@ -0,0 +1,141 @@
+/*
+
+ *******************************************************************************
+ * Copyright (C) 2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+package com.ibm.icu.dev.test.stringprep;
+
+/**
+ * @author limaoyu
+ */
+public class TestInputDataStructure {
+    
+    private String desc = null;
+
+    private String namebase = null;
+
+    private String nameutf8 = null;
+
+    private String namezone = null;
+
+    private String failzone1 = null;
+
+    private String failzone2 = null;
+
+    private String token = null;
+
+    private String passfail = null;
+
+    private String type = null;
+    /**
+     * @return Returns the desc.
+     */
+    public String getDesc() {
+        return desc;
+    }
+    /**
+     * @param desc The desc to set.
+     */
+    public void setDesc(String desc) {
+        this.desc = desc;
+    }
+    /**
+     * @return Returns the failzone1.
+     */
+    public String getFailzone1() {
+        return failzone1;
+    }
+    /**
+     * @param failzone1 The failzone1 to set.
+     */
+    public void setFailzone1(String failzone1) {
+        this.failzone1 = failzone1;
+    }
+    /**
+     * @return Returns the failzone2.
+     */
+    public String getFailzone2() {
+        return failzone2;
+    }
+    /**
+     * @param failzone2 The failzone2 to set.
+     */
+    public void setFailzone2(String failzone2) {
+        this.failzone2 = failzone2;
+    }
+    /**
+     * @return Returns the namebase.
+     */
+    public String getNamebase() {
+        return namebase;
+    }
+    /**
+     * @param namebase The namebase to set.
+     */
+    public void setNamebase(String namebase) {
+        this.namebase = namebase;
+    }
+    /**
+     * @return Returns the nameutf8.
+     */
+    public String getNameutf8() {
+        return nameutf8;
+    }
+    /**
+     * @param nameutf8 The nameutf8 to set.
+     */
+    public void setNameutf8(String nameutf8) {
+        this.nameutf8 = nameutf8;
+    }
+    /**
+     * @return Returns the namezone.
+     */
+    public String getNamezone() {
+        return namezone;
+    }
+    /**
+     * @param namezone The namezone to set.
+     */
+    public void setNamezone(String namezone) {
+        this.namezone = namezone;
+    }
+    /**
+     * @return Returns the passfail.
+     */
+    public String getPassfail() {
+        return passfail;
+    }
+    /**
+     * @param passfail The passfail to set.
+     */
+    public void setPassfail(String passfail) {
+        this.passfail = passfail;
+    }
+    /**
+     * @return Returns the token.
+     */
+    public String getToken() {
+        return token;
+    }
+    /**
+     * @param token The token to set.
+     */
+    public void setToken(String token) {
+        this.token = token;
+    }
+    /**
+     * @return Returns the type.
+     */
+    public String getType() {
+        return type;
+    }
+    /**
+     * @param type The type to set.
+     */
+    public void setType(String type) {
+        this.type = type;
+    }
+}
\ No newline at end of file
diff --git a/src/com/ibm/icu/dev/test/stringprep/TestStringPrep.java b/src/com/ibm/icu/dev/test/stringprep/TestStringPrep.java
new file mode 100644
index 0000000..dc7b819
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/stringprep/TestStringPrep.java
@@ -0,0 +1,204 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2003-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+*/
+package com.ibm.icu.dev.test.stringprep;
+
+import com.ibm.icu.dev.test.TestFmwk;
+import com.ibm.icu.text.StringPrepParseException;
+
+/**
+ * @author ram
+ *
+ */
+public class TestStringPrep extends TestFmwk {
+    public static void main(String[] args) throws Exception {
+        new TestStringPrep().run(args);
+    }
+    /*
+       There are several special identifiers ("who") which need to be
+       understood universally, rather than in the context of a particular
+       DNS domain.  Some of these identifiers cannot be understood when an
+       NFS client accesses the server, but have meaning when a local process
+       accesses the file.  The ability to display and modify these
+       permissions is permitted over NFS, even if none of the access methods
+       on the server understands the identifiers.
+
+        Who                    Description
+       _______________________________________________________________
+
+       "OWNER"                The owner of the file.
+       "GROUP"                The group associated with the file.
+       "EVERYONE"             The world.
+       "INTERACTIVE"          Accessed from an interactive terminal.
+       "NETWORK"              Accessed via the network.
+       "DIALUP"               Accessed as a dialup user to the server.
+       "BATCH"                Accessed from a batch job.
+       "ANONYMOUS"            Accessed without any authentication.
+       "AUTHENTICATED"        Any authenticated user (opposite of
+                              ANONYMOUS)
+       "SERVICE"              Access from a system service.
+
+       To avoid conflict, these special identifiers are distinguish by an
+       appended "@" and should appear in the form "xxxx@" (note: no domain
+       name after the "@").  For example: ANONYMOUS@.
+    */
+    private String[] mixed_prep_data ={
+        "OWNER@",
+        "GROUP@",        
+        "EVERYONE@",     
+        "INTERACTIVE@",  
+        "NETWORK@",      
+        "DIALUP@",       
+        "BATCH@",        
+        "ANONYMOUS@",    
+        "AUTHENTICATED@",
+        "\u0930\u094D\u092E\u094D\u0915\u094D\u0937\u0947\u0924\u094D@slip129-37-118-146.nc.us.ibm.net",
+        "\u0936\u094d\u0930\u0940\u092e\u0926\u094d@saratoga.pe.utexas.edu",
+        "\u092d\u0917\u0935\u0926\u094d\u0917\u0940\u0924\u093e@dial-120-45.ots.utexas.edu",
+        "\u0905\u0927\u094d\u092f\u093e\u092f@woo-085.dorms.waller.net",
+        "\u0905\u0930\u094d\u091c\u0941\u0928@hd30-049.hil.compuserve.com",
+        "\u0935\u093f\u0937\u093e\u0926@pem203-31.pe.ttu.edu",
+        "\u092f\u094b\u0917@56K-227.MaxTNT3.pdq.net",
+        "\u0927\u0943\u0924\u0930\u093e\u0937\u094d\u091f\u094d\u0930@dial-36-2.ots.utexas.edu",
+        "\u0909\u0935\u093E\u091A\u0943@slip129-37-23-152.ga.us.ibm.net",
+        "\u0927\u0930\u094d\u092e\u0915\u094d\u0937\u0947\u0924\u094d\u0930\u0947@ts45ip119.cadvision.com",
+        "\u0915\u0941\u0930\u0941\u0915\u094d\u0937\u0947\u0924\u094d\u0930\u0947@sdn-ts-004txaustP05.dialsprint.net",
+        "\u0938\u092e\u0935\u0947\u0924\u093e@bar-tnt1s66.erols.com",
+        "\u092f\u0941\u092f\u0941\u0924\u094d\u0938\u0935\u0903@101.st-louis-15.mo.dial-access.att.net",
+        "\u092e\u093e\u092e\u0915\u093e\u0903@h92-245.Arco.COM",
+        "\u092a\u093e\u0923\u094d\u0921\u0935\u093e\u0936\u094d\u091a\u0948\u0935@dial-13-2.ots.utexas.edu",
+        "\u0915\u093f\u092e\u0915\u0941\u0930\u094d\u0935\u0924@net-redynet29.datamarkets.com.ar",
+        "\u0938\u0902\u091c\u0935@ccs-shiva28.reacciun.net.ve",
+        "\u0c30\u0c18\u0c41\u0c30\u0c3e\u0c2e\u0c4d@7.houston-11.tx.dial-access.att.net",
+        "\u0c35\u0c3f\u0c36\u0c4d\u0c35\u0c28\u0c3e\u0c27@ingw129-37-120-26.mo.us.ibm.net",
+        "\u0c06\u0c28\u0c02\u0c26\u0c4d@dialup6.austintx.com",
+        "\u0C35\u0C26\u0C4D\u0C26\u0C3F\u0C30\u0C3E\u0C1C\u0C41@dns2.tpao.gov.tr",
+        "\u0c30\u0c3e\u0c1c\u0c40\u0c35\u0c4d@slip129-37-119-194.nc.us.ibm.net",
+        "\u0c15\u0c36\u0c30\u0c2c\u0c3e\u0c26@cs7.dillons.co.uk.203.119.193.in-addr.arpa",
+        "\u0c38\u0c02\u0c1c\u0c40\u0c35\u0c4d@swprd1.innovplace.saskatoon.sk.ca",
+        "\u0c15\u0c36\u0c30\u0c2c\u0c3e\u0c26@bikini.bologna.maraut.it",
+        "\u0c38\u0c02\u0c1c\u0c40\u0c2c\u0c4d@node91.subnet159-198-79.baxter.com",
+        "\u0c38\u0c46\u0c28\u0c4d\u0c17\u0c41\u0c2a\u0c4d\u0c24@cust19.max5.new-york.ny.ms.uu.net",
+        "\u0c05\u0c2e\u0c30\u0c47\u0c02\u0c26\u0c4d\u0c30@balexander.slip.andrew.cmu.edu",
+        "\u0c39\u0c28\u0c41\u0c2e\u0c3e\u0c28\u0c41\u0c32@pool029.max2.denver.co.dynip.alter.net",
+        "\u0c30\u0c35\u0c3f@cust49.max9.new-york.ny.ms.uu.net",
+        "\u0c15\u0c41\u0c2e\u0c3e\u0c30\u0c4d@s61.abq-dialin2.hollyberry.com",
+        "\u0c35\u0c3f\u0c36\u0c4d\u0c35\u0c28\u0c3e\u0c27@\u0917\u0928\u0947\u0936.sanjose.ibm.com",
+        "\u0c06\u0c26\u0c3f\u0c24\u0c4d\u0c2f@www.\u00E0\u00B3\u00AF.com",
+        "\u0C15\u0C02\u0C26\u0C4D\u0C30\u0C47\u0C17\u0C41\u0c32@www.\u00C2\u00A4.com",
+        "\u0c36\u0c4d\u0c30\u0c40\u0C27\u0C30\u0C4D@www.\u00C2\u00A3.com",
+        "\u0c15\u0c02\u0c1f\u0c2e\u0c36\u0c46\u0c1f\u0c4d\u0c1f\u0c3f@\u0025",
+        "\u0c2e\u0c3e\u0c27\u0c35\u0c4d@\u005C\u005C",
+        "\u0c26\u0c46\u0c36\u0c46\u0c1f\u0c4d\u0c1f\u0c3f@www.\u0021.com",
+        "test@www.\u0024.com",
+        "help@\u00C3\u00BC.com",
+    };
+    public void TestNFS4MixedPrep(){
+        for(int i=0; i< mixed_prep_data.length; i++){
+            try{
+                String src = mixed_prep_data[i];
+                byte[] dest = NFS4StringPrep.mixed_prepare(src.getBytes("UTF-8"));
+                String destString = new String(dest, "UTF-8");
+                int destIndex = destString.indexOf('@');
+                if(destIndex < 0){
+                    errln("Delimiter @ disappeared from the output!");
+                }
+            }catch(Exception e){
+                errln("mixed_prepare for string: " + mixed_prep_data[i] +" failed with " + e.toString());
+            }
+        } 
+        /* test the error condition */
+        {
+            String src = "OWNER@oss.software.ibm.com";
+            try{
+                byte[] dest = NFS4StringPrep.mixed_prepare(src.getBytes("UTF-8"));
+                if(dest!=null){
+                    errln("Did not get the expected exception");
+                }
+            }catch(Exception e){
+                logln("mixed_prepare for string: " + src +" passed with " + e.toString());
+            }
+
+         }
+    }
+    public void TestCISPrep(){
+
+        for(int i=0;i< (TestData.conformanceTestCases.length);i++){
+            TestData.ConformanceTestCase testCase = TestData.conformanceTestCases[i];
+            String src = testCase.input;
+            Exception expected = testCase.expected;
+            String expectedDest = testCase.output;
+            try{
+                byte[] dest =NFS4StringPrep.cis_prepare(src.getBytes("UTF-8"));
+                String destString = new String(dest, "UTF-8");
+                if(!expectedDest.equalsIgnoreCase(destString)){
+                      errln("Did not get the expected output for nfs4_cis_prep at index " + i);
+                }
+            }catch(Exception e){
+                if(!expected.equals(e)){
+                    errln("Did not get the expected exception");
+                }
+            } 
+
+        }
+    }
+
+    public void TestCSPrep(){
+        
+        // Checking for bidi is turned off
+        String src = "\uC138\uACC4\uC758\uBAA8\uB4E0\uC0AC\uB78C\uB4E4\uC774\u0644\u064A\u0647\uD55C\uAD6D\uC5B4\uB97C\uC774\uD574\uD55C\uB2E4\uBA74";
+        try{
+            NFS4StringPrep.cs_prepare(src.getBytes("UTF-8"), false);
+        }catch(Exception e){
+            errln("Got unexpected exception: " + e.toString());
+        }
+        
+        // normalization is turned off
+        try{
+            src = "www.\u00E0\u00B3\u00AF.com";
+            byte[] dest = NFS4StringPrep.cs_prepare(src.getBytes("UTF-8"), false);
+            String destStr = new String(dest, "UTF-8");
+            if(!src.equals(destStr)){
+                errln("Did not get expected output. Expected: "+ prettify(src)+
+                      " Got: " + prettify(destStr));
+            }
+        }catch(Exception e){
+            errln("Got unexpected exception: " + e.toString());
+        }
+        
+        // test case insensitive string
+        try{
+            src = "THISISATEST";
+            byte[] dest = NFS4StringPrep.cs_prepare(src.getBytes("UTF-8"), false);
+            String destStr = new String(dest, "UTF-8");
+            if(!src.toLowerCase().equals(destStr)){
+                errln("Did not get expected output. Expected: "+ prettify(src)+
+                      " Got: " + prettify(destStr));
+            }
+        }catch(Exception e){
+            errln("Got unexpected exception: " + e.toString());
+        }
+        // test case sensitive string
+        try{
+            src = "THISISATEST";
+            byte[] dest = NFS4StringPrep.cs_prepare(src.getBytes("UTF-8"), true);
+            String destStr = new String(dest, "UTF-8");
+            if(!src.equals(destStr)){
+                errln("Did not get expected output. Expected: "+ prettify(src)+
+                      " Got: " + prettify(destStr));
+            }
+        }catch(Exception e){
+            errln("Got unexpected exception: " + e.toString());
+        }
+    }
+    
+    public void TestCoverage(){
+        if (new StringPrepParseException("coverage", 0, "", 0,0) == null){
+            errln("Construct StringPrepParseException(String, int, String, int, int)");
+        }
+    }
+    
+}
diff --git a/src/com/ibm/icu/dev/test/timescale/TestAll.java b/src/com/ibm/icu/dev/test/timescale/TestAll.java
new file mode 100644
index 0000000..08ea6f2
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/timescale/TestAll.java
@@ -0,0 +1,34 @@
+/*
+ **************************************************************************
+ * Copyright (C) 2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                           *
+ **************************************************************************
+ *
+ */
+
+package com.ibm.icu.dev.test.timescale;
+
+import com.ibm.icu.dev.test.TestFmwk.TestGroup;
+
+/**
+ * Top level test used to run time scale tests as a batch.
+ */
+public class TestAll extends TestGroup {
+
+    public TestAll() {
+        super(
+            new String[] {
+                "TimeScaleAPITest",
+                "TimeScaleDataTest",
+                "TimeScaleMonkeyTest",
+            },
+            "All TimeScale tests");
+    }
+
+    public static void main(String[] args)
+    {
+        new TestAll().run(args);
+    }
+
+    public static final String CLASS_TARGET_NAME  = "TimeScale";
+}
diff --git a/src/com/ibm/icu/dev/test/timescale/TimeScaleAPITest.java b/src/com/ibm/icu/dev/test/timescale/TimeScaleAPITest.java
new file mode 100644
index 0000000..4dd56ae
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/timescale/TimeScaleAPITest.java
@@ -0,0 +1,361 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ *
+ */
+
+package com.ibm.icu.dev.test.timescale;
+
+import com.ibm.icu.math.BigDecimal;
+import com.ibm.icu.util.UniversalTimeScale;
+import com.ibm.icu.dev.test.TestFmwk;
+
+/**
+ * @author Owner
+ *
+ * TODO To change the template for this generated type comment go to
+ * Window - Preferences - Java - Code Style - Code Templates
+ */
+public class TimeScaleAPITest extends TestFmwk
+{
+
+    /**
+     * 
+     */
+    public TimeScaleAPITest()
+    {
+    }
+    
+    public void TestBigDecimalFromBigDecimal()
+    {
+        BigDecimal bigZero = new BigDecimal(0);
+        BigDecimal result;
+        
+        try {
+            result = UniversalTimeScale.bigDecimalFrom(bigZero, -1);
+            errln("bigDecimalFrom(bigZero, -1) did not throw IllegalArgumentException.");
+        } catch (IllegalArgumentException iae) {
+            logln("PASS: UniversalTimeScale.bigDecimalFrom failed as expected");
+        }
+        
+        for (int scale = 0; scale < UniversalTimeScale.MAX_SCALE; scale += 1) {
+            try {
+                result = UniversalTimeScale.bigDecimalFrom(bigZero, scale);
+            } catch (IllegalArgumentException iae) {
+                errln("bigDecimalFrom(bigZero, " + scale + ") threw IllegalArgumentException.");
+            }
+       }
+        
+        try {
+            result = UniversalTimeScale.bigDecimalFrom(bigZero, UniversalTimeScale.MAX_SCALE);
+            errln("from(bigZero, MAX_SCALE) did not throw IllegalArgumetException.");
+        } catch (IllegalArgumentException iae) {
+            logln("PASS: UniversalTimeScale.bigDecimalFrom failed as expected");
+        }
+    }
+    
+    public void TestBigDecimalFromDouble()
+    {
+        BigDecimal result;
+        
+        try {
+            result = UniversalTimeScale.bigDecimalFrom(0.0, -1);
+            errln("bigDecimalFrom(0.0, -1) did not throw IllegalArgumentException.");
+        } catch (IllegalArgumentException iae) {
+            logln("PASS: UniversalTimeScale.bigDecimalFrom failed as expected");
+        }
+        
+        for (int scale = 0; scale < UniversalTimeScale.MAX_SCALE; scale += 1) {
+            try {
+                result = UniversalTimeScale.bigDecimalFrom(0.0, scale);
+            } catch (IllegalArgumentException iae) {
+                errln("bigDecimalFrom(0.0, " + scale + ") threw IllegalArgumentException.");
+            }
+       }
+        
+        try {
+            result = UniversalTimeScale.bigDecimalFrom(0.0, UniversalTimeScale.MAX_SCALE);
+            errln("from(0.0, MAX_SCALE) did not throw IllegalArgumetException.");
+        } catch (IllegalArgumentException iae) {
+            logln("PASS: UniversalTimeScale.bigDecimalFrom failed as expected");
+        }
+    }
+    
+    public void TestBigDecimalFromLong()
+    {
+        BigDecimal result;
+        
+        try {
+            result = UniversalTimeScale.bigDecimalFrom(0L, -1);
+            errln("bigDecimalFrom(0L, -1) did not throw IllegalArgumentException.");
+        } catch (IllegalArgumentException iae) {
+            logln("PASS: UniversalTimeScale.bigDecimalFrom failed as expected");
+        }
+        
+        for (int scale = 0; scale < UniversalTimeScale.MAX_SCALE; scale += 1) {
+            try {
+                result = UniversalTimeScale.bigDecimalFrom(0L, scale);
+            } catch (IllegalArgumentException iae) {
+                errln("bigDecimalFrom(0L, " + scale + ") threw IllegalArgumentException.");
+            }
+       }
+        
+        try {
+            result = UniversalTimeScale.bigDecimalFrom(0L, UniversalTimeScale.MAX_SCALE);
+            errln("from(0L, MAX_SCALE) did not throw IllegalArgumetException.");
+        } catch (IllegalArgumentException iae) {
+            logln("PASS: UniversalTimeScale.bigDecimalFrom failed as expected");
+        }
+    }
+    
+    public void TestFromLong()
+    {
+        long result;
+        
+        try {
+            result = UniversalTimeScale.from(0L, -1);
+            errln("from(0L, -1) did not throw IllegalArgumentException.");
+        } catch (IllegalArgumentException iae) {
+            logln("PASS: UniversalTimeScale.from failed as expected");
+        }
+        
+        for (int scale = 0; scale < UniversalTimeScale.MAX_SCALE; scale += 1) {
+            long fromMin = UniversalTimeScale.getTimeScaleValue(scale, UniversalTimeScale.FROM_MIN_VALUE);
+            long fromMax = UniversalTimeScale.getTimeScaleValue(scale, UniversalTimeScale.FROM_MAX_VALUE);
+            
+            try {
+                result = UniversalTimeScale.from(0L, scale);
+            } catch (IllegalArgumentException iae) {
+                errln("from(0L, " + scale + ") threw IllegalArgumentException.");
+            }
+            
+            try {
+                result = UniversalTimeScale.from(fromMin, scale);
+            } catch (IllegalArgumentException iae) {
+                errln("from(fromMin, " + scale + ") threw IllegalArgumentException.");
+            }
+             
+            if (fromMin > Long.MIN_VALUE) {
+                try {
+                    result = UniversalTimeScale.from(fromMin - 1, scale);
+                    errln("from(fromMin - 1, " + scale + ") did not throw IllegalArgumentException.");
+                } catch (IllegalArgumentException iae) {
+                    logln("PASS: UniversalTimeScale.from failed as expected");
+                }
+            }
+             
+            try {
+                result = UniversalTimeScale.from(fromMax, scale);
+            } catch (IllegalArgumentException iae) {
+                errln("from(fromMax, " + scale + ") threw IllegalArgumentException.");
+            }
+              
+            if (fromMax < Long.MAX_VALUE) {
+                try {
+                    result = UniversalTimeScale.from(fromMax + 1, scale);
+                    errln("from(fromMax + 1, " + scale + ") did not throw IllegalArgumentException.");
+               } catch (IllegalArgumentException iae) {
+                logln("PASS: UniversalTimeScale.from failed as expected");
+               }
+            }
+       }
+        
+        try {
+            result = UniversalTimeScale.from(0L, UniversalTimeScale.MAX_SCALE);
+            errln("from(0L, MAX_SCALE) did not throw IllegalArgumetException.");
+        } catch (IllegalArgumentException iae) {
+            logln("PASS: UniversalTimeScale.from failed as expected");
+        }
+    }
+    
+    public void TestGetTimeScale()
+    {
+        long value;
+        
+        try {
+            value = UniversalTimeScale.getTimeScaleValue(-1, 0);
+            errln("getTimeScaleValue(-1, 0) did not throw IllegalArgumentException.");
+        } catch (IllegalArgumentException iae) {
+            logln("PASS: UniversalTimeScale.getTimeScaleValue failed as expected");
+        }
+        
+        try {
+            value = UniversalTimeScale.getTimeScaleValue(0, -1);
+            errln("getTimeScaleValue(0, -1) did not throw IllegalArgumentException.");
+        } catch (IllegalArgumentException iae) {
+            logln("PASS: UniversalTimeScale.getTimeScaleValue failed as expected");
+        }
+        
+        for (int scale = 0; scale < UniversalTimeScale.MAX_SCALE; scale += 1) {
+            try {
+                value = UniversalTimeScale.getTimeScaleValue(scale, 0);
+            } catch (IllegalArgumentException iae) {
+                errln("getTimeScaleValue(" + scale + ", 0) threw IllegalArgumentException.");
+            }
+        }
+        
+        try {
+            value = UniversalTimeScale.getTimeScaleValue(UniversalTimeScale.MAX_SCALE, 0);
+            errln("getTimeScaleValue(MAX_SCALE, 0) did not throw IllegalArgumentException");
+        } catch (IllegalArgumentException iae) {
+            logln("PASS: UniversalTimeScale.getTimeScaleValue failed as expected");
+        }
+        
+        try {
+            value = UniversalTimeScale.getTimeScaleValue(0, UniversalTimeScale.MAX_SCALE_VALUE);
+            errln("getTimeScaleValue(0, MAX_SCALE_VALUE) did not throw IllegalArgumentException");
+        } catch (IllegalArgumentException iae) {
+            logln("PASS: UniversalTimeScale.getTimeScaleValue failed as expected");
+        }
+    }
+    
+    public void TestToBigDecimalFromBigDecimal()
+    {
+        BigDecimal bigZero = new BigDecimal(0);
+        BigDecimal result;
+        
+        try {
+            result = UniversalTimeScale.toBigDecimal(bigZero, -1);
+            errln("toBigDecimal(bigZero, -1) did not throw IllegalArgumentException.");
+        } catch (IllegalArgumentException iae) {
+            logln("PASS: UniversalTimeScale.toBigDecimal failed as expected");
+        }
+        
+        for (int scale = 0; scale < UniversalTimeScale.MAX_SCALE; scale += 1) {
+            try {
+                result = UniversalTimeScale.toBigDecimal(bigZero, scale);
+            } catch (IllegalArgumentException iae) {
+                errln("toBigDecimal(bigZero, " + scale + ") threw IllegalArgumentException.");
+            }
+        }
+        
+        try {
+            result = UniversalTimeScale.toBigDecimal(bigZero, UniversalTimeScale.MAX_SCALE);
+            errln("toBigDecimal(bigZero, MAX_SCALE) did not throw IllegalArgumetException.");
+        } catch (IllegalArgumentException iae) {
+            logln("PASS: UniversalTimeScale.toBigDecimal failed as expected");
+        }
+    }
+
+    public void TestToBigDecimalTrunc()
+    {
+        BigDecimal bigZero = new BigDecimal(0);
+        BigDecimal result;
+        
+        try {
+            result = UniversalTimeScale.toBigDecimalTrunc(bigZero, -1);
+            errln("toBigDecimalTrunc(bigZero, -1) did not throw IllegalArgumentException.");
+        } catch (IllegalArgumentException iae) {
+            logln("PASS: UniversalTimeScale.toBigDecimalTrunc failed as expected");
+        }
+        
+        for (int scale = 0; scale < UniversalTimeScale.MAX_SCALE; scale += 1) {
+            try {
+                result = UniversalTimeScale.toBigDecimalTrunc(bigZero, scale);
+            } catch (IllegalArgumentException iae) {
+                errln("toBigDecimalTrunc(bigZero, " + scale + ") threw IllegalArgumentException.");
+            }
+        }
+        
+        try {
+            result = UniversalTimeScale.toBigDecimalTrunc(bigZero, UniversalTimeScale.MAX_SCALE);
+            errln("toBigDecimalTrunc(bigZero, MAX_SCALE) did not throw IllegalArgumetException.");
+        } catch (IllegalArgumentException iae) {
+            logln("PASS: UniversalTimeScale.toBigDecimalTrunc failed as expected");
+        }
+    }
+    
+    public void TestToBigDecimalFromLong()
+    {
+        BigDecimal result;
+        
+        try {
+            result = UniversalTimeScale.toBigDecimal(0L, -1);
+            errln("toBigDecimal(0L, -1) did not throw IllegalArgumentException.");
+        } catch (IllegalArgumentException iae) {
+            logln("PASS: UniversalTimeScale.toBigDecimal failed as expected");
+        }
+        
+        for (int scale = 0; scale < UniversalTimeScale.MAX_SCALE; scale += 1) {
+            try {
+                result = UniversalTimeScale.toBigDecimal(0L, scale);
+            } catch (IllegalArgumentException iae) {
+                errln("toBigDecimal(0L, " + scale + ") threw IllegalArgumentException.");
+            }
+        }
+        
+        try {
+            result = UniversalTimeScale.toBigDecimal(0L, UniversalTimeScale.MAX_SCALE);
+            errln("toBigDecimal(0L, MAX_SCALE) did not throw IllegalArgumetException.");
+        } catch (IllegalArgumentException iae) {
+            logln("PASS: UniversalTimeScale.toBigDecimal failed as expected");
+        }
+    }
+    
+    public void TestToLong()
+    {
+        long result;
+        
+        try {
+            result = UniversalTimeScale.toLong(0L, -1);
+            errln("toLong(0L, -1) did not throw IllegalArgumentException.");
+        } catch (IllegalArgumentException iae) {
+            logln("PASS: UniversalTimeScale.toLong failed as expected");
+        }
+        
+        for (int scale = 0; scale < UniversalTimeScale.MAX_SCALE; scale += 1) {
+            long toMin = UniversalTimeScale.getTimeScaleValue(scale, UniversalTimeScale.TO_MIN_VALUE);
+            long toMax = UniversalTimeScale.getTimeScaleValue(scale, UniversalTimeScale.TO_MAX_VALUE);
+            
+            try {
+                result = UniversalTimeScale.toLong(0L, scale);
+            } catch (IllegalArgumentException iae) {
+                errln("toLong(0L, " + scale + ") threw IllegalArgumentException.");
+            }
+            
+            try {
+                result = UniversalTimeScale.toLong(toMin, scale);
+            } catch (IllegalArgumentException iae) {
+                errln("toLong(toMin, " + scale + ") threw IllegalArgumentException.");
+            }
+             
+            if (toMin > Long.MIN_VALUE) {
+                try {
+                    result = UniversalTimeScale.toLong(toMin - 1, scale);
+                    errln("toLong(toMin - 1, " + scale + ") did not throw IllegalArgumentException.");
+                } catch (IllegalArgumentException iae) {
+                    logln("PASS: UniversalTimeScale.toLong failed as expected");
+                }
+            }
+             
+            try {
+                result = UniversalTimeScale.toLong(toMax, scale);
+            } catch (IllegalArgumentException iae) {
+                errln("toLong(toMax, " + scale + ") threw IllegalArgumentException.");
+            }
+              
+            if (toMax < Long.MAX_VALUE) {
+                try {
+                    result = UniversalTimeScale.toLong(toMax + 1, scale);
+                    errln("toLong(toMax + 1, " + scale + ") did not throw IllegalArgumentException.");
+               } catch (IllegalArgumentException iae) {
+                logln("PASS: UniversalTimeScale.toLong failed as expected");
+               }
+            }
+       }
+        
+        try {
+            result = UniversalTimeScale.toLong(0L, UniversalTimeScale.MAX_SCALE);
+            errln("toLong(0L, MAX_SCALE) did not throw IllegalArgumetException.");
+        } catch (IllegalArgumentException iae) {
+            logln("PASS: UniversalTimeScale.toLong failed as expected");
+        }
+    }
+    
+    public static void main(String[] args)
+    {
+        new TimeScaleAPITest().run(args);
+    }
+}
diff --git a/src/com/ibm/icu/dev/test/timescale/TimeScaleDataTest.java b/src/com/ibm/icu/dev/test/timescale/TimeScaleDataTest.java
new file mode 100644
index 0000000..d5345de
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/timescale/TimeScaleDataTest.java
@@ -0,0 +1,117 @@
+/*
+ **************************************************************************
+ * Copyright (C) 2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                           *
+ **************************************************************************
+ *
+ */
+
+package com.ibm.icu.dev.test.timescale;
+
+import com.ibm.icu.util.UniversalTimeScale;
+import com.ibm.icu.dev.test.TestFmwk;
+
+/**
+ * @author Owner
+ *
+ * TODO To change the template for this generated type comment go to
+ * Window - Preferences - Java - Code Style - Code Templates
+ */
+public class TimeScaleDataTest extends TestFmwk
+{
+
+    /**
+     * Default contstructor.
+     */
+    public TimeScaleDataTest()
+    {
+    }
+    
+    private void roundTripTest(long value, int scale)
+    {
+        long rt = UniversalTimeScale.toLong(UniversalTimeScale.from(value, scale), scale);
+        
+        if (rt != value) {
+            errln("Round-trip error: time scale = " + scale + ", value = " + value + ", round-trip = " + rt);
+        }
+    }
+    
+    private void toLimitTest(long toLimit, long fromLimit, int scale)
+    {
+        long result = UniversalTimeScale.toLong(toLimit, scale);
+        
+        if (result != fromLimit) {
+            errln("toLimit failure: scale = " + scale + ", toLimit = " + toLimit +
+                  ", toLong(toLimit, scale) = " + result + ", fromLimit = " + fromLimit);
+        }
+    }
+    
+    private void epochOffsetTest(long epochOffset, long units, int scale)
+    {
+        long universalEpoch = epochOffset * units;
+        long local = UniversalTimeScale.toLong(universalEpoch, scale);
+        
+        if (local != 0) {
+            errln("toLong(epochOffset, scale): scale = " + scale + ", epochOffset = " + universalEpoch +
+                  ", result = " + local);
+        }
+        
+        local = UniversalTimeScale.toLong(0, scale);
+        
+        if (local != -epochOffset) {
+            errln("toLong(0, scale): scale = " + scale + ", result = " + local);
+        }
+        
+        long universal = UniversalTimeScale.from(-epochOffset, scale);
+        
+        if (universal != 0) {
+            errln("from(-epochOffest, scale): scale = " + scale + ", epochOffset = " + epochOffset +
+                  ", result = " + universal);
+        }
+        
+        universal = UniversalTimeScale.from(0, scale);
+        
+        if (universal != universalEpoch) {
+            errln("from(0, scale): scale = " + scale + ", result = " + universal);
+        }
+    }
+    
+    public void TestEpochOffsets()
+    {
+        for (int scale = 0; scale < UniversalTimeScale.MAX_SCALE; scale += 1) {
+            long units       = UniversalTimeScale.getTimeScaleValue(scale, UniversalTimeScale.UNITS_VALUE);
+            long epochOffset = UniversalTimeScale.getTimeScaleValue(scale, UniversalTimeScale.EPOCH_OFFSET_VALUE);
+            
+            epochOffsetTest(epochOffset, units, scale);
+        }
+    }
+
+    public void TestFromLimits()
+    {
+        for (int scale = 0; scale < UniversalTimeScale.MAX_SCALE; scale += 1) {
+            long fromMin = UniversalTimeScale.getTimeScaleValue(scale, UniversalTimeScale.FROM_MIN_VALUE);
+            long fromMax = UniversalTimeScale.getTimeScaleValue(scale, UniversalTimeScale.FROM_MAX_VALUE);
+            
+            roundTripTest(fromMin, scale);
+            roundTripTest(fromMax, scale);
+        }
+    }
+    
+    public void TestToLimits()
+    {
+        for (int scale = 0; scale < UniversalTimeScale.MAX_SCALE; scale += 1) {
+            long fromMin = UniversalTimeScale.getTimeScaleValue(scale, UniversalTimeScale.FROM_MIN_VALUE);
+            long fromMax = UniversalTimeScale.getTimeScaleValue(scale, UniversalTimeScale.FROM_MAX_VALUE);
+            long toMin   = UniversalTimeScale.getTimeScaleValue(scale, UniversalTimeScale.TO_MIN_VALUE);
+            long toMax   = UniversalTimeScale.getTimeScaleValue(scale, UniversalTimeScale.TO_MAX_VALUE);
+            
+            toLimitTest(toMin, fromMin, scale);
+            toLimitTest(toMax, fromMax, scale);
+       }
+    }
+
+    public static void main(String[] args)
+    {
+        new TimeScaleDataTest().run(args);
+    }
+}
diff --git a/src/com/ibm/icu/dev/test/timescale/TimeScaleMonkeyTest.java b/src/com/ibm/icu/dev/test/timescale/TimeScaleMonkeyTest.java
new file mode 100644
index 0000000..6c2915c
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/timescale/TimeScaleMonkeyTest.java
@@ -0,0 +1,105 @@
+/*
+ **************************************************************************
+ * Copyright (C) 2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                           *
+ **************************************************************************
+ *
+ */
+
+package com.ibm.icu.dev.test.timescale;
+
+import com.ibm.icu.dev.test.TestFmwk;
+import com.ibm.icu.util.UniversalTimeScale;
+import com.ibm.icu.math.BigDecimal;
+import java.util.Random;
+
+/**
+ * This class tests the UniversalTimeScale class by
+ * generating ramdon values in range and making sure
+ * that they round-trip correctly.
+ */
+public class TimeScaleMonkeyTest extends TestFmwk
+{
+
+    /**
+     * The default constructor.
+     */
+    public TimeScaleMonkeyTest()
+    {
+    }
+    
+    private static final int LOOP_COUNT = 1000;
+    private static final BigDecimal longMax = new BigDecimal(Long.MAX_VALUE);
+    
+    private Random ran = null;
+    
+    private long ranInt;
+    private long ranMin;
+    private long ranMax;
+    
+    private void initRandom(long min, long max)
+    {
+        BigDecimal interval = new BigDecimal(max).subtract(new BigDecimal(min));
+        
+        ranMin = min;
+        ranMax = max;
+        ranInt = 0;
+        
+        if (ran == null) {
+            ran = createRandom();
+        }
+        
+        if (interval.compareTo(longMax) < 0) {
+            ranInt = interval.longValue();
+        }
+    }
+    
+    private final long randomInRange()
+    {
+        long value;
+        
+        if (ranInt != 0) {
+            value = ran.nextLong() % ranInt;
+            
+            if (value < 0) {
+                value = -value;
+            }
+            
+            value += ranMin;
+        } else {
+            do {
+                value = ran.nextLong();
+            } while (value < ranMin || value > ranMax);
+        }
+        
+        return value;
+    }
+    
+    public void TestRoundTrip()
+    {
+        for (int scale = 0; scale < UniversalTimeScale.MAX_SCALE; scale += 1) {
+            long fromMin = UniversalTimeScale.getTimeScaleValue(scale, UniversalTimeScale.FROM_MIN_VALUE);
+            long fromMax = UniversalTimeScale.getTimeScaleValue(scale, UniversalTimeScale.FROM_MAX_VALUE);
+            int i = 0;
+            
+            initRandom(fromMin, fromMax);
+            
+            while (i < LOOP_COUNT) {
+                long value = randomInRange();
+                                
+                long rt = UniversalTimeScale.toLong(UniversalTimeScale.from(value, scale), scale);
+                
+                if (rt != value) {
+                    errln("Round-trip error: time scale = " + scale + ", value = " + value + ", round-trip = " + rt);
+                }
+                
+                i += 1;
+            }
+        }
+    }
+
+    public static void main(String[] args)
+    {
+        new TimeScaleMonkeyTest().run(args);
+    }
+}
diff --git a/src/com/ibm/icu/dev/test/timezone/TestAll.java b/src/com/ibm/icu/dev/test/timezone/TestAll.java
new file mode 100644
index 0000000..798fd7d
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/timezone/TestAll.java
@@ -0,0 +1,29 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.test.timezone;
+
+import com.ibm.icu.dev.test.TestFmwk.TestGroup;
+
+/**
+ * Top level test used to run all other tests as a batch.
+ */
+public class TestAll extends TestGroup {
+    public static void main(String[] args) throws Exception {
+        new TestAll().run(args);
+    }
+
+    public TestAll() {
+        super(new String[] {
+            "TimeZoneTest",
+            "TimeZoneRegression",
+            "TimeZoneBoundaryTest",
+//             "TimeZoneAliasTest",
+        });
+    }
+
+    public static final String CLASS_TARGET_NAME = "TimeZone";
+}
diff --git a/src/com/ibm/icu/dev/test/timezone/TimeZoneAliasTest.java b/src/com/ibm/icu/dev/test/timezone/TimeZoneAliasTest.java
new file mode 100644
index 0000000..f8d87e3
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/timezone/TimeZoneAliasTest.java
@@ -0,0 +1,418 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2002-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+*/
+package com.ibm.icu.dev.test.timezone;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.Calendar;
+import java.util.GregorianCalendar;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Locale;
+import java.util.Map;
+import java.util.Set;
+import java.util.TreeSet;
+import java.util.Iterator;
+
+import java.text.DateFormat;
+import java.text.NumberFormat;
+
+import com.ibm.icu.dev.test.*;
+import com.ibm.icu.dev.test.util.BagFormatter;
+import com.ibm.icu.util.TimeZone;
+
+
+/**
+ * Class for testing TimeZones for consistency
+ * @author Davis
+ * 
+ */
+public class TimeZoneAliasTest extends TestFmwk {
+    
+    public static void main(String[] args) throws Exception {
+        new TimeZoneAliasTest().run(args);
+    }
+    
+    /**
+     * There are two things to check aliases for:<br>
+     * 1. the alias set must be uniform: if a isAlias b, then aliasSet(a) == aliasSet(b)<br>
+     * 2. all aliases must have the same offsets
+      */
+    public void TestAliases() {
+        if (skipIfBeforeICU(3,0)) return;
+        Zone.Seconds seconds = new Zone.Seconds();
+        for (Iterator it = Zone.getZoneSet().iterator(); it.hasNext(); ) {
+            Zone zone = (Zone)it.next();
+            String id = zone.id;
+            if (id.indexOf('/') < 0 && (id.endsWith("ST") || id.endsWith("DT"))) {
+                if (zone.minRecentOffset != zone.maxRecentOffset) {
+                    errln(
+                        "Standard or Daylight Time not constant: " + id 
+                        + ": " + Zone.formatHours(zone.minRecentOffset)
+                        + " != " + Zone.formatHours(zone.maxRecentOffset));
+                }
+            }
+            Set aliases = zone.getPurportedAliases();
+            Set aliasesSet = new TreeSet(aliases);
+            aliasesSet.add(id); // for comparison
+            Iterator aliasIterator = aliases.iterator();
+            while (aliasIterator.hasNext()) {
+                String otherId = (String)aliasIterator.next();
+                Zone otherZone = Zone.make(otherId);
+                Set otherAliases = otherZone.getPurportedAliases();
+                otherAliases.add(otherId); // for comparison
+                if (!aliasesSet.equals(otherAliases)) {
+                    errln(
+                        "Aliases Unsymmetric: "
+                        + id + " => " + Zone.bf.join(aliasesSet)
+                        + "; " 
+                        + otherId + " => " + Zone.bf.join(otherAliases));
+                }
+                if (zone.findOffsetOrdering(otherZone, seconds) != 0) {
+                    errln("Aliases differ: " + id + ", " + otherId
+                         + " differ at " + seconds);
+                }
+            }
+        }
+    }
+    
+    /**
+     * We check to see that every timezone that is not an alias is actually different!
+     */
+    public void TestDifferences() {
+        if (skipIfBeforeICU(3,0)) return;
+        Zone last = null;
+        Zone.Seconds diffDate = new Zone.Seconds();        
+        for (Iterator it = Zone.getZoneSet().iterator(); it.hasNext();) {
+            Zone testZone = (Zone)it.next();
+            if (last != null) {
+                String common = testZone + "\tvs " + last + ":\t";
+                int diff = testZone.findOffsetOrdering(last, diffDate);
+                if (diff != 0) {
+                    logln("\t" + common + "difference at: " + diffDate 
+                        + ", " + Zone.formatHours(diff) + "hr");
+                } else if (testZone.isRealAlias(last)) {
+                    logln("\t" + common + "alias, no difference");
+                } else {
+                    errln(common + "NOT ALIAS BUT NO DIFFERENCE!");
+                }
+            }
+            last = testZone;
+        }
+    }
+    
+    /**
+     * Utility for printing out zones to be translated.
+     */
+    public static void TestGenerateZones() {
+        int count = 1;
+        for (Iterator it = Zone.getUniqueZoneSet().iterator(); it.hasNext();) {
+            Zone zone = (Zone)it.next();
+            System.out.println(zone.toString(count++));
+        }
+    }
+    
+    /** Utility; ought to be someplace common
+     */
+    /*
+    static String join(Collection c, String separator) {
+        StringBuffer result = new StringBuffer();
+        boolean isFirst = true;
+        for (Iterator it = c.iterator(); it.hasNext(); ) {
+            if (!isFirst) result.append(separator);
+            else isFirst = false;
+            result.append(it.next().toString());
+        }
+        return result.toString();
+    }
+    */
+        
+    /**
+     * The guts is in this subclass. It sucks in all the data from the zones,
+     * and analyses it. It constructs some mappings for the unique ids,
+     * etc.<br>
+     * The main tricky bit is that for performance it pre-analyses all zones
+     * for inflections points; the points in time where the offset changes.
+     * The zones can then be sorted by those points, which allows us to
+     * avoid expensive comparisons.
+     * @author Davis
+     */
+    static class Zone implements Comparable {
+        // class fields
+        static private final BagFormatter bf = new BagFormatter().setSeparator(", ");
+        static private final DateFormat df = DateFormat.getDateInstance(DateFormat.LONG, Locale.US);
+        static private final NumberFormat nf = NumberFormat.getInstance(Locale.US);
+        static private final long HOUR = 1000*60*60;
+        static private final double DHOUR = HOUR;
+        static private final long DAY = 24*HOUR;
+        static private final long GROSS_PERIOD = 30*DAY;
+        static private final long EPSILON = HOUR/4;
+        static private final int currentYear = new GregorianCalendar().get(Calendar.YEAR);
+        static private final long endDate = getDate((currentYear+1),0,1).getTime();
+        static private final long endDate2 = getDate((currentYear+1),6,1).getTime();
+        static private final long recentLimit = getDate((currentYear-1),6,1).getTime();
+        static private final long startDate = getDate(1905,0,1).getTime();
+        
+        static private final Map idToZone = new HashMap();
+        static private final Set zoneSet = new TreeSet();
+        static private final Set uniqueZoneSet = new TreeSet();
+        static private final Map idToRealAliases = new HashMap();
+
+        // build everything once.
+        static {
+            String [] foo = TimeZone.getAvailableIDs();
+            for (int i = 0; i < foo.length; ++i) {
+                zoneSet.add(Zone.make(foo[i]));
+            }
+            Zone last = null;
+            Zone.Seconds diffDate = new Zone.Seconds();
+            String lastUnique = "";      
+            for (Iterator it = Zone.getZoneSet().iterator(); it.hasNext();) {
+                Zone testZone = (Zone)it.next();
+                if (last == null) {
+                    uniqueZoneSet.add(testZone);
+                    lastUnique = testZone.id;
+                } else {
+                    int diff = testZone.findOffsetOrdering(last, diffDate);
+                    if (diff != 0) {
+                        uniqueZoneSet.add(testZone);
+                        lastUnique = testZone.id;
+                    } else {
+                        Set aliases = (Set)idToRealAliases.get(lastUnique);
+                        if (aliases == null) {
+                            aliases = new TreeSet();
+                            idToRealAliases.put(lastUnique, aliases);
+                        }
+                        aliases.add(testZone.id);
+                    }
+                }
+                last = testZone;
+            }
+        }
+        
+        static public Set getZoneSet() {
+            return zoneSet;
+        }
+        
+        public static Set getUniqueZoneSet() {
+            return uniqueZoneSet;
+        }
+
+        static public Zone make(String id) {
+            Zone result = (Zone)idToZone.get(id);
+            if (result != null) return result;
+            result = new Zone(id);
+            idToZone.put(id, result);
+            return result;
+        }
+        
+        static public String formatHours(int hours) {
+            return nf.format(hours/DHOUR);
+        }
+        
+        // utility class for date return, because Date is clunky.
+        public static class Seconds {
+            public long seconds = Long.MIN_VALUE;
+            public String toString() {
+                if (seconds == Long.MIN_VALUE) return "n/a";
+                return df.format(new Date(seconds));
+            }
+        }
+        
+        // instance fields
+        // we keep min/max offsets not only over all time (that we care about)
+        // but also separate ones for recent years.
+        private String id;
+        private TimeZone zone;
+        // computed below
+        private int minOffset;
+        private int maxOffset;
+        private int minRecentOffset;
+        private int maxRecentOffset;
+        private List inflectionPoints = new ArrayList();
+        private Set purportedAliases = new TreeSet();
+    
+        private Zone(String id) { // for interal use only; use make instead!
+            zone = TimeZone.getTimeZone(id);
+            this.id = id;
+            
+            // get aliases
+            int equivCount = TimeZone.countEquivalentIDs(id);
+            for (int j = 0; j < equivCount; ++j) {
+                String altID = TimeZone.getEquivalentID(id, j);
+                if (altID.equals(id)) continue;
+                purportedAliases.add(altID);
+            }
+
+            // find inflexion points; times where the offset changed
+            long lastDate = endDate;
+            if (zone.getOffset(lastDate) < zone.getOffset(endDate2)) lastDate = endDate2;
+            maxRecentOffset = minRecentOffset = minOffset = maxOffset = zone.getOffset(lastDate);
+
+            inflectionPoints.add(new Long(lastDate));
+            int lastOffset = zone.getOffset(endDate);
+            long lastInflection = endDate;
+            
+            // we do a gross search, then narrow in when we find a difference from the last one
+            for (long currentDate = endDate; currentDate >= startDate; currentDate -= GROSS_PERIOD) {
+                int currentOffset = zone.getOffset(currentDate);
+                if (currentOffset != lastOffset) { // Binary Search
+                    if (currentOffset < minOffset) minOffset = currentOffset;
+                    if (currentOffset > maxOffset) maxOffset = currentOffset;
+                    if (lastInflection >= recentLimit) {
+                        if (currentOffset < minRecentOffset) minRecentOffset = currentOffset;
+                        if (currentOffset > maxRecentOffset) maxRecentOffset = currentOffset;
+                    }
+                    long low = currentDate;
+                    long high = lastDate;
+                    while (low - high > EPSILON) {
+                        long mid = (high + low)/2;
+                        int midOffset = zone.getOffset(mid);
+                        if (midOffset == low) {
+                            low = mid;
+                        } else {
+                            high = mid;
+                        }
+                    }
+                    inflectionPoints.add(new Long(low));
+                    lastInflection = low;
+                }
+                lastOffset = currentOffset;
+            }
+            inflectionPoints.add(new Long(startDate)); // just to cap it off for comparisons.
+        }
+        
+        // we assume that places will not convert time zones then back within one day
+        // so we go first by half
+        public int findOffsetOrdering(Zone other, Seconds dateDiffFound) {
+            //System.out.println("-diff: " + id + "\t" + other.id);
+            int result = 0;
+            long seconds = 0;
+            int min = inflectionPoints.size();
+            if (other.inflectionPoints.size() < min) min = other.inflectionPoints.size();
+            main:
+            {
+                for (int i = 0; i < min; ++i) {
+                    long myIP = ((Long)inflectionPoints.get(i)).longValue();
+                    long otherIP = ((Long)other.inflectionPoints.get(i)).longValue();
+                    if (myIP > otherIP) { // take lowest, for transitivity (semi)
+                        long temp = myIP;
+                        myIP = otherIP;
+                        otherIP = temp;
+                    }
+                    result = zone.getOffset(myIP) - other.zone.getOffset(myIP);
+                    if (result != 0) {
+                        seconds = myIP;
+                        break main;
+                    } 
+                    if (myIP == otherIP) continue; // test other if different
+                    myIP = otherIP;
+                    result = zone.getOffset(myIP) - other.zone.getOffset(myIP);
+                    if (result != 0) {
+                        seconds = myIP;
+                        break main;
+                    } 
+                }
+                // if they are equal so far, we don't care about the rest
+                result = 0;
+                seconds = Long.MIN_VALUE;
+                break main;
+            }
+            //System.out.println("+diff: " + (result/HOUR) + "\t" + dateDiffFound);
+            if (dateDiffFound != null) dateDiffFound.seconds = seconds;
+            return result;
+        }
+        
+        // internal buffer to avoid creation all the time.
+        private Seconds diffDateReturn = new Seconds();
+        
+        public int compareTo(Object o) {
+            Zone other = (Zone)o;
+            // first order by max and min offsets
+            // min will usually correspond to standard time, max to daylight
+            // unless there have been historical shifts
+            if (minRecentOffset < other.minRecentOffset) return -1;
+            if (minRecentOffset > other.minRecentOffset) return 1;
+            if (maxRecentOffset < other.maxRecentOffset) return -1;
+            if (maxRecentOffset > other.maxRecentOffset) return 1;
+            // now check that all offsets are the same over history
+            int diffDate = findOffsetOrdering(other, diffDateReturn);
+            if (diffDate != 0) return diffDate;
+            // choose longer name first!!
+            if (id.length() != other.id.length()) {
+                if (id.length() < other.id.length()) return 1;
+                return -1;
+            }
+            return id.compareTo(other.id);
+        }
+        
+        public Set getPurportedAliases() {
+            return new TreeSet(purportedAliases); // clone for safety
+        }
+        
+        public boolean isPurportedAlias(String id) {
+            return purportedAliases.contains(id);
+        }
+        
+        public boolean isRealAlias(Zone z) {
+            return purportedAliases.contains(z.id);
+        }
+        
+        public String getPurportedAliasesAsString() {
+            Set s = getPurportedAliases();
+            if (s.size() == 0) return "";
+            return " " + bf.join(s);
+        }
+        
+        public String getRealAliasesAsString() {
+            Set s = (Set)idToRealAliases.get(id);
+            if (s == null) return "";
+            return " *" + bf.join(s);
+        }
+        
+        public String getCity() {
+            int pos = id.lastIndexOf(('/'));
+            String city = id.substring(pos+1);
+            return city.replace('_',' ');
+        }
+
+        public String toString() {
+            return toString(-1);
+        }
+        
+        /**
+         * Where count > 0, returns string that is set up for translation
+         */
+        public String toString(int count) {
+            String city = getCity();
+            String hours = formatHours(minRecentOffset)
+                + (minRecentOffset != maxRecentOffset 
+                    ? "," + formatHours(maxRecentOffset) 
+                    : "");
+            if (count < 0) {
+                return id + getPurportedAliasesAsString() + " (" + hours + ")";
+            } 
+            // for getting template for translation
+            return "\t{\t\"" + id + "\"\t// [" + count + "] " + hours 
+                + getRealAliasesAsString() + "\r\n"
+                + "\t\t// translate the following!!\r\n"
+                + (minRecentOffset != maxRecentOffset
+                    ? "\t\t\"" + city + " Standard Time\"\r\n"
+                    + "\t\t\"" + city + "-ST\"\r\n"
+                    + "\t\t\"" + city + " Daylight Time\"\r\n"
+                    + "\t\t\"" + city + "-DT\"\r\n"
+                    : "\t\t\"\"\r\n"
+                    + "\t\t\"\"\r\n"
+                    + "\t\t\"\"\r\n"
+                    + "\t\t\"\"\r\n")
+                + "\t\t\"" + city + " Time\"\r\n"
+                + "\t\t\"" + city + "-T\"\r\n"
+                + "\t\t\"" + city + "\"\r\n"
+                + "\t}";
+        }
+    }
+}
diff --git a/src/com/ibm/icu/dev/test/timezone/TimeZoneBoundaryTest.java b/src/com/ibm/icu/dev/test/timezone/TimeZoneBoundaryTest.java
new file mode 100755
index 0000000..c5a19cc
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/timezone/TimeZoneBoundaryTest.java
@@ -0,0 +1,844 @@
+/**
+ *******************************************************************************
+ * Copyright (C) 2000-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.test.timezone;
+import com.ibm.icu.text.*;
+import com.ibm.icu.util.*;
+import com.ibm.icu.dev.test.*;
+import java.util.Date;
+
+/**
+ * A test which discovers the boundaries of DST programmatically and verifies
+ * that they are correct.
+ */
+public class TimeZoneBoundaryTest extends TestFmwk
+{
+    static final int ONE_SECOND = 1000;
+    static final int ONE_MINUTE = 60*ONE_SECOND;
+    static final int ONE_HOUR = 60*ONE_MINUTE;
+    static final long ONE_DAY = 24*ONE_HOUR;
+    static final long ONE_YEAR = (long)(365.25 * ONE_DAY);
+    static final long SIX_MONTHS = ONE_YEAR / 2;
+
+    static final int MONTH_LENGTH[] = {31,29,31,30,31,30,31,31,30,31,30,31};
+
+    // These values are empirically determined to be correct
+    static final long PST_1997_BEG  = 860320800000L;
+    static final long PST_1997_END  = 877856400000L;
+
+    // Minimum interval for binary searches in ms; should be no larger
+    // than 1000.
+    static final long INTERVAL = 10; // Milliseconds
+
+    // [3Jan01 Liu] Updated for 2000f data
+    static final String AUSTRALIA = "Australia/Adelaide";
+    static final long AUSTRALIA_1997_BEG = 877797000000L;
+    static final long AUSTRALIA_1997_END = 859653000000L;
+    
+    public static void main(String[] args) throws Exception {
+        new TimeZoneBoundaryTest().run(args);
+    }
+
+    /**
+     * Date.toString().substring() Boundary Test
+     * Look for a DST changeover to occur within 6 months of the given Date.
+     * The initial Date.toString() should yield a string containing the
+     * startMode as a SUBSTRING.  The boundary will be tested to be
+     * at the expectedBoundary value.
+     */
+    void findDaylightBoundaryUsingDate(Date d, String startMode, long expectedBoundary)
+    {
+        // Given a date with a year start, find the Daylight onset
+        // and end.  The given date should be 1/1/xx in some year.
+
+        if (d.toString().indexOf(startMode) == -1)
+        {
+            logln("Error: " + startMode + " not present in " + d);
+        }
+
+        // Use a binary search, assuming that we have a Standard
+        // time at the midpoint.
+        long min = d.getTime();
+        long max = min + SIX_MONTHS;
+
+        while ((max - min) >  INTERVAL)
+        {
+            long mid = (min + max) >> 1;
+            String s = new Date(mid).toString();
+            // logln(s);
+            if (s.indexOf(startMode) != -1)
+            {
+                min = mid;
+            }
+            else
+            {
+                max = mid;
+            }
+        }
+
+        logln("Date Before: " + showDate(min));
+        logln("Date After:  " + showDate(max));
+        long mindelta = expectedBoundary - min;
+        // not used long maxdelta = max - expectedBoundary;
+        if (mindelta >= 0 && mindelta <= INTERVAL &&
+            mindelta >= 0 && mindelta <= INTERVAL)
+            logln("PASS: Expected boundary at " + expectedBoundary);
+        else
+            errln("FAIL: Expected boundary at " + expectedBoundary);
+    }
+
+    // This test cannot be compiled until the inDaylightTime() method of GregorianCalendar
+    // becomes public.
+    //    static void findDaylightBoundaryUsingCalendar(Date d, boolean startsInDST)
+    //    {
+    //  // Given a date with a year start, find the Daylight onset
+    //  // and end.  The given date should be 1/1/xx in some year.
+    //
+    //  GregorianCalendar cal = new GregorianCalendar();
+    //  cal.setTime(d);
+    //  if (cal.inDaylightTime() != startsInDST)
+    //  {
+    //      logln("Error: inDaylightTime(" + d + ") != " + startsInDST);
+    //  }
+    //
+    //  // Use a binary search, assuming that we have a Standard
+    //  // time at the midpoint.
+    //  long min = d.getTime();
+    //  long max = min + (long)(365.25 / 2 * 24*60*60*1000);
+    //
+    //  while ((max - min) >  INTERVAL)
+    //  {
+    //      long mid = (min + max) >> 1;
+    //      cal.setTime(new Date(mid));
+    //      if (cal.inDaylightTime() == startsInDST)
+    //      {
+    //      min = mid;
+    //      }
+    //      else
+    //      {
+    //      max = mid;
+    //      }
+    //  }
+    //
+    //  logln("Calendar Before: " + showDate(min));
+    //  logln("Calendar After:  " + showDate(max));
+    //    }
+
+    void findDaylightBoundaryUsingTimeZone(Date d, boolean startsInDST, long expectedBoundary)
+    {
+        findDaylightBoundaryUsingTimeZone(d, startsInDST, expectedBoundary,
+                                          TimeZone.getDefault());
+    }
+
+    void findDaylightBoundaryUsingTimeZone(Date d, boolean startsInDST,
+                                           long expectedBoundary, TimeZone tz)
+    {
+        // Given a date with a year start, find the Daylight onset
+        // and end.  The given date should be 1/1/xx in some year.
+
+        // Use a binary search, assuming that we have a Standard
+        // time at the midpoint.
+        long min = d.getTime();
+        long max = min + SIX_MONTHS;
+
+        if (tz.inDaylightTime(d) != startsInDST)
+        {
+            errln("FAIL: " + tz.getID() + " inDaylightTime(" +
+                  d + ") != " + startsInDST);
+            startsInDST = !startsInDST; // Flip over; find the apparent value
+        }
+
+        if (tz.inDaylightTime(new Date(max)) == startsInDST)
+        {
+            errln("FAIL: " + tz.getID() + " inDaylightTime(" +
+                  (new Date(max)) + ") != " + (!startsInDST));
+            return;
+        }
+
+        while ((max - min) >  INTERVAL)
+        {
+            long mid = (min + max) >> 1;
+            boolean isIn = tz.inDaylightTime(new Date(mid));
+            if (isIn == startsInDST)
+            {
+                min = mid;
+            }
+            else
+            {
+                max = mid;
+            }
+        }
+
+        logln(tz.getID() + " Before: " + showDate(min, tz));
+        logln(tz.getID() + " After:  " + showDate(max, tz));
+
+        long mindelta = expectedBoundary - min;
+        // not used long maxdelta = max - expectedBoundary; 
+        DateFormat fmt = DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.LONG);
+        fmt.setTimeZone(tz);
+        if (mindelta >= 0 && mindelta <= INTERVAL &&
+            mindelta >= 0 && mindelta <= INTERVAL)
+            logln("PASS: Expected boundary at " + expectedBoundary + " = " + fmt.format(new Date(expectedBoundary)));
+        else
+            errln("FAIL: Expected boundary at " + expectedBoundary + " = " + fmt.format(new Date(expectedBoundary)));
+    }
+
+    private static String showDate(long l)
+    {
+        return showDate(new Date(l));
+    }
+
+    private static String showDate(Date d)
+    {
+        java.util.Calendar cal = java.util.Calendar.getInstance();
+        cal.setTime(d);
+        return "" + (cal.get(Calendar.YEAR) - 1900) + "/" + 
+               showNN(cal.get(Calendar.MONTH) + 1) + "/" + 
+               showNN(cal.get(Calendar.DAY_OF_MONTH)) + " " + 
+               showNN(cal.get(Calendar.HOUR_OF_DAY)) + ":" 
+               + showNN(cal.get(Calendar.MINUTE)) + " \"" + d + "\" = " +
+               d.getTime();
+    }
+
+    private static String showDate(long l, TimeZone z)
+    {
+        return showDate(new Date(l), z);
+    }
+
+    private static String showDate(Date d, TimeZone zone)
+    {
+        DateFormat fmt = DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.LONG);
+        fmt.setTimeZone(zone);
+        java.util.Calendar cal = java.util.Calendar.getInstance();
+        cal.setTime(d);
+        return "" + (cal.get(Calendar.YEAR) - 1900) + "/" + 
+               showNN(cal.get(Calendar.MONTH) + 1) + "/" + 
+               showNN(cal.get(Calendar.DAY_OF_MONTH)) + " " + 
+               showNN(cal.get(Calendar.HOUR_OF_DAY)) + ":" + 
+               showNN(cal.get(Calendar.MINUTE)) + " \"" + d + "\" = " +
+               fmt.format(d) + " = " + d.getTime();
+    }
+
+    private static String showNN(int n)
+    {
+        return ((n < 10) ? "0" : "") + n;
+    }
+
+    /**
+     * Given a date, a TimeZone, and expected values for inDaylightTime,
+     * useDaylightTime, zone and DST offset, verify that this is the case.
+     */
+    void verifyDST(String tag, Calendar cal, TimeZone time_zone,
+                   boolean expUseDaylightTime, boolean expInDaylightTime,
+                   int expRawOffset, int expOffset)
+    {
+        Date d = cal.getTime();
+
+        logln("-- " + tag + ": " + d +
+              " in zone " + time_zone.getID() + " (" +
+              d.getTime()/3600000.0 + ")");
+
+        if (time_zone.inDaylightTime(d) == expInDaylightTime)
+            logln("PASS: inDaylightTime = " + time_zone.inDaylightTime(d));
+        else
+            errln("FAIL: inDaylightTime = " + time_zone.inDaylightTime(d));
+
+        if (time_zone.useDaylightTime() == expUseDaylightTime)
+            logln("PASS: useDaylightTime = " + time_zone.useDaylightTime());
+        else
+            errln("FAIL: useDaylightTime = " + time_zone.useDaylightTime());
+
+        if (time_zone.getRawOffset() == expRawOffset)
+            logln("PASS: getRawOffset() = " + expRawOffset/(double)ONE_HOUR);
+        else
+            errln("FAIL: getRawOffset() = " + time_zone.getRawOffset()/(double)ONE_HOUR +
+                  "; expected " + expRawOffset/(double)ONE_HOUR);
+
+        //GregorianCalendar gc = new GregorianCalendar(time_zone);
+        //gc.setTime(d);
+        int offset = time_zone.getOffset(cal.get(Calendar.ERA), cal.get(Calendar.YEAR), cal.get(Calendar.MONTH),
+                                         cal.get(Calendar.DAY_OF_MONTH), cal.get(Calendar.DAY_OF_WEEK),
+                                         ((cal.get(Calendar.HOUR_OF_DAY) * 60 +
+                                           cal.get(Calendar.MINUTE)) * 60 +
+                                          cal.get(Calendar.SECOND)) * 1000 +
+                                         cal.get(Calendar.MILLISECOND));
+        if (offset == expOffset)
+            logln("PASS: getOffset() = " + offset/(double)ONE_HOUR);
+        else {
+            logln("era=" + cal.get(Calendar.ERA) +
+                  ", year=" + cal.get(Calendar.YEAR) +
+                  ", month=" + cal.get(Calendar.MONTH) +
+                  ", dom=" + cal.get(Calendar.DAY_OF_MONTH) +
+                  ", dow=" + cal.get(Calendar.DAY_OF_WEEK) +
+                  ", time-of-day=" + (((cal.get(Calendar.HOUR_OF_DAY) * 60 +
+                               cal.get(Calendar.MINUTE)) * 60 +
+                              cal.get(Calendar.SECOND)) * 1000 +
+                             cal.get(Calendar.MILLISECOND)) / 3600000.0 +
+                            " hours");
+            errln("FAIL: getOffset() = " + offset/(double)ONE_HOUR +
+                  "; expected " + expOffset/(double)ONE_HOUR);
+        }
+    }
+
+    /**
+     * Check that the given year/month/dom/hour maps to and from the
+     * given epochHours.  This verifies the functioning of the
+     * calendar and time zone in conjunction with one another,
+     * including the calendar time->fields and fields->time and
+     * the time zone getOffset method.
+     *
+     * @param epochHours hours after Jan 1 1970 0:00 GMT.
+     */
+    void verifyMapping(Calendar cal, int year, int month, int dom, int hour,
+                       double epochHours) {
+        double H = 3600000.0;
+        cal.clear();
+        cal.set(year, month, dom, hour, 0, 0);
+        Date d = cal.getTime();
+        double e = d.getTime() / H;
+        Date ed = new Date((long)(epochHours * H));
+        if (e == epochHours) {
+            logln("Ok: " + year + "/" + (month+1) + "/" + dom + " " + hour + ":00 => " +
+                  e + " (" + ed + ")");
+        } else {
+            errln("FAIL: " + year + "/" + (month+1) + "/" + dom + " " + hour + ":00 => " +
+                  e + " (" + new Date((long)(e * H)) + ")" +
+                  ", expected " + epochHours + " (" + ed + ")");
+        }
+        cal.setTime(ed);
+        if (cal.get(Calendar.YEAR) == year &&
+            cal.get(Calendar.MONTH) == month &&
+            cal.get(Calendar.DATE) == dom &&
+            cal.get(Calendar.MILLISECONDS_IN_DAY) == hour * 3600000) {
+            logln("Ok: " + epochHours + " (" + ed + ") => " +
+                  cal.get(Calendar.YEAR) + "/" +
+                  (cal.get(Calendar.MONTH)+1) + "/" +
+                  cal.get(Calendar.DATE) + " " +
+                  cal.get(Calendar.MILLISECONDS_IN_DAY)/H);
+        } else {
+            errln("FAIL: " + epochHours + " (" + ed + ") => " +
+                  cal.get(Calendar.YEAR) + "/" +
+                  (cal.get(Calendar.MONTH)+1) + "/" +
+                  cal.get(Calendar.DATE) + " " +
+                  cal.get(Calendar.MILLISECONDS_IN_DAY)/H +
+                  ", expected " + year + "/" + (month+1) + "/" + dom +
+                  " " + hour);
+        }
+    }
+
+// NOTE: Enable this code to check the behavior of the underlying JDK,
+// using a JDK Calendar object.
+//
+//    int millisInDay(java.util.Calendar cal) {
+//        return ((cal.get(Calendar.HOUR_OF_DAY) * 60 +
+//                 cal.get(Calendar.MINUTE)) * 60 +
+//                cal.get(Calendar.SECOND)) * 1000 +
+//            cal.get(Calendar.MILLISECOND);
+//    }
+//
+//    void verifyMapping(java.util.Calendar cal, int year, int month, int dom, int hour,
+//                       double epochHours) {
+//        cal.clear();
+//        cal.set(year, month, dom, hour, 0, 0);
+//        Date d = cal.getTime();
+//        double e = d.getTime() / 3600000.0;
+//        Date ed = new Date((long)(epochHours * 3600000));
+//        if (e == epochHours) {
+//            logln("Ok: " + year + "/" + (month+1) + "/" + dom + " " + hour + ":00 => " +
+//                  e + " (" + ed + ")");
+//        } else {
+//            errln("FAIL: " + year + "/" + (month+1) + "/" + dom + " " + hour + ":00 => " +
+//                  e + " (" + new Date((long)(e * 3600000)) + ")" +
+//                  ", expected " + epochHours + " (" + ed + ")");
+//        }
+//        cal.setTime(ed);
+//        if (cal.get(Calendar.YEAR) == year &&
+//            cal.get(Calendar.MONTH) == month &&
+//            cal.get(Calendar.DATE) == dom &&
+//            millisInDay(cal) == hour * 3600000) {
+//            logln("Ok: " + epochHours + " (" + ed + ") => " +
+//                  cal.get(Calendar.YEAR) + "/" +
+//                  (cal.get(Calendar.MONTH)+1) + "/" +
+//                  cal.get(Calendar.DATE) + " " +
+//                  millisInDay(cal)/3600000.0);
+//        } else {
+//            errln("FAIL: " + epochHours + " (" + ed + ") => " +
+//                  cal.get(Calendar.YEAR) + "/" +
+//                  (cal.get(Calendar.MONTH)+1) + "/" +
+//                  cal.get(Calendar.DATE) + " " +
+//                  millisInDay(cal)/3600000.0 +
+//                  ", expected " + year + "/" + (month+1) + "/" + dom +
+//                  " " + hour);
+//        }
+//    }
+
+    public void TestBoundaries()
+    {
+        TimeZone save = TimeZone.getDefault();
+
+        // Check basic mappings.  We had a problem with this for ICU
+        // 2.8 after migrating to using pass-through time zones.  The
+        // problem appeared only on JDK 1.3.
+        TimeZone pst = safeGetTimeZone("PST");
+        Calendar tempcal = Calendar.getInstance(pst);
+        verifyMapping(tempcal, 1997, Calendar.APRIL, 3,  0, 238904.0);
+        verifyMapping(tempcal, 1997, Calendar.APRIL, 4,  0, 238928.0);
+        verifyMapping(tempcal, 1997, Calendar.APRIL, 5,  0, 238952.0);
+        verifyMapping(tempcal, 1997, Calendar.APRIL, 5, 23, 238975.0);
+        verifyMapping(tempcal, 1997, Calendar.APRIL, 6,  0, 238976.0);
+        verifyMapping(tempcal, 1997, Calendar.APRIL, 6,  1, 238977.0);
+        verifyMapping(tempcal, 1997, Calendar.APRIL, 6,  3, 238978.0);
+        
+        TimeZone utc = safeGetTimeZone("UTC");
+        Calendar utccal = Calendar.getInstance(utc);
+        verifyMapping(utccal, 1997, Calendar.APRIL, 6, 0, 238968.0);
+
+// NOTE: Enable this code to check the behavior of the underlying JDK,
+// using a JDK Calendar object.
+//
+//        java.util.TimeZone jdkpst = java.util.TimeZone.getTimeZone("PST");
+//        java.util.Calendar jdkcal = java.util.Calendar.getInstance(jdkpst);
+//        verifyMapping(jdkcal, 1997, Calendar.APRIL, 5,  0, 238952.0);
+//        verifyMapping(jdkcal, 1997, Calendar.APRIL, 5, 23, 238975.0);
+//        verifyMapping(jdkcal, 1997, Calendar.APRIL, 6,  0, 238976.0);
+//        verifyMapping(jdkcal, 1997, Calendar.APRIL, 6,  1, 238977.0);
+//        verifyMapping(jdkcal, 1997, Calendar.APRIL, 6,  3, 238978.0);
+
+        tempcal.clear();
+        tempcal.set(1997, Calendar.APRIL, 6);
+        Date d = tempcal.getTime();
+
+        try {
+            TimeZone.setDefault(pst);
+
+            // DST changeover for PST is 4/6/1997 at 2 hours past midnight
+            // at 238978.0 epoch hours.
+
+            // i is minutes past midnight standard time
+            for (int i=-120; i<=180; i+=60)
+            {
+                boolean inDST = (i >= 120);
+                tempcal.setTimeInMillis(d.getTime() + i*60*1000);
+                verifyDST("hour=" + i/60,
+                          tempcal, pst, true, inDST, -8*ONE_HOUR,
+                          inDST ? -7*ONE_HOUR : -8*ONE_HOUR);
+            }
+        } finally {
+            TimeZone.setDefault(save);
+        }
+
+        if (true)
+        {
+            // This only works in PST/PDT
+            TimeZone.setDefault(safeGetTimeZone("PST"));
+            logln("========================================");
+            tempcal.set(1997, 0, 1);
+            findDaylightBoundaryUsingDate(tempcal.getTime(), "PST", PST_1997_BEG);
+            logln("========================================");
+            tempcal.set(1997, 6, 1);
+            findDaylightBoundaryUsingDate(tempcal.getTime(), "PDT", PST_1997_END);
+        }
+
+        //  if (true)
+        //  {
+        //      logln("========================================");
+        //      findDaylightBoundaryUsingCalendar(new Date(97,0,1), false);
+        //      logln("========================================");
+        //      findDaylightBoundaryUsingCalendar(new Date(97,6,1), true);
+        //  }
+
+        if (true)
+        {
+            // Southern hemisphere test
+            logln("========================================");
+            TimeZone z = safeGetTimeZone(AUSTRALIA);
+            tempcal.set(1997, 0, 1);
+            findDaylightBoundaryUsingTimeZone(tempcal.getTime(), true, AUSTRALIA_1997_END, z);
+            logln("========================================");
+            tempcal.set(1997, 6, 1);
+            findDaylightBoundaryUsingTimeZone(tempcal.getTime(), false, AUSTRALIA_1997_BEG, z);
+        }
+
+        if (true)
+        {
+            logln("========================================");
+            tempcal.set(1997, 0, 1);
+            findDaylightBoundaryUsingTimeZone(tempcal.getTime(), false, PST_1997_BEG);
+            logln("========================================");
+            tempcal.set(1997, 6, 1);
+            findDaylightBoundaryUsingTimeZone(tempcal.getTime(), true, PST_1997_END);
+        }
+
+        // This just shows the offset for April 4-7 in 1997.  This is redundant
+        // with a test above, so we disable it.
+        if (false)
+        {
+            TimeZone z = TimeZone.getDefault();
+            tempcal.set(1997, 3, 4);
+            logln(z.getOffset(1, 97, 3, 4, 6, 0) + " " + tempcal.getTime());
+            tempcal.set(1997, 3, 5);
+            logln(z.getOffset(1, 97, 3, 5, 7, 0) + " " + tempcal.getTime());
+            tempcal.set(1997, 3, 6);
+            logln(z.getOffset(1, 97, 3, 6, 1, 0) + " " + tempcal.getTime());
+            tempcal.set(1997, 3, 7);
+            logln(z.getOffset(1, 97, 3, 7, 2, 0) + " " + tempcal.getTime());
+        }
+    }
+
+
+    //----------------------------------------------------------------------
+    // Can't do any of these without a public inDaylightTime in GC
+    //----------------------------------------------------------------------
+
+
+    //    static GregorianCalendar cal = new GregorianCalendar();
+    //
+    //    static void _testUsingBinarySearch(Date d, boolean startsInDST)
+    //    {
+    //  // Given a date with a year start, find the Daylight onset
+    //  // and end.  The given date should be 1/1/xx in some year.
+    //
+    //  // Use a binary search, assuming that we have a Standard
+    //  // time at the midpoint.
+    //  long min = d.getTime();
+    //  long max = min + (long)(365.25 / 2 * ONE_DAY);
+    //
+    //  // First check the max
+    //  cal.setTime(new Date(max));
+    //  if (cal.inDaylightTime() == startsInDST)
+    //  {
+    //      logln("Error: inDaylightTime(" + (new Date(max)) + ") != " + (!startsInDST));
+    //  }
+    //
+    //  cal.setTime(d);
+    //  if (cal.inDaylightTime() != startsInDST)
+    //  {
+    //      logln("Error: inDaylightTime(" + d + ") != " + startsInDST);
+    //  }
+    //
+    //  while ((max - min) >  INTERVAL)
+    //  {
+    //      long mid = (min + max) >> 1;
+    //      cal.setTime(new Date(mid));
+    //      if (cal.inDaylightTime() == startsInDST)
+    //      {
+    //      min = mid;
+    //      }
+    //      else
+    //      {
+    //      max = mid;
+    //      }
+    //  }
+    //
+    //  logln("Binary Search Before: " + showDate(min));
+    //  logln("Binary Search After:  " + showDate(max));
+    //    }
+    //
+    //    static void _testUsingMillis(Date d, boolean startsInDST)
+    //    {
+    //  long millis = d.getTime();
+    //  long max = millis + (long)(370 * ONE_DAY); // A year plus extra
+    //
+    //  boolean lastDST = startsInDST;
+    //  while (millis < max)
+    //  {
+    //      cal.setTime(new Date(millis));
+    //      boolean inDaylight = cal.inDaylightTime();
+    //
+    //      if (inDaylight != lastDST)
+    //      {
+    //      logln("Switch " + (inDaylight ? "into" : "out of")
+    //                 + " DST at " + (new Date(millis)));
+    //      lastDST = inDaylight;
+    //      }
+    //
+    //      millis += 15*ONE_MINUTE;
+    //  }
+    //    }
+    //
+    //    static void _testUsingFields(int y, boolean startsInDST)
+    //    {
+    //  boolean lastDST = startsInDST;
+    //  for (int m = 0; m < 12; ++m)
+    //  {
+    //      for (int d = 1; d <= MONTH_LENGTH[m]; ++d)
+    //      {
+    //      for (int h = 0; h < 24; ++h)
+    //      {
+    //          for (int min = 0; min < 60; min += 15)
+    //          {
+    //          cal.clear();
+    //          cal.set(y, m, d, h, min);
+    //          boolean inDaylight = cal.inDaylightTime();
+    //          if (inDaylight != lastDST)
+    //          {
+    //              lastDST = inDaylight;
+    //              log("Switch " + (lastDST ? "into" : "out of")
+    //                       + " DST at " + y + "/" + (m+1) + "/" + d
+    //                       + " " + showNN(h) + ":" + showNN(min));
+    //              logln(" " + cal.getTime());
+    //
+    //              cal.set(y, m, d, h-1, 45);
+    //              log("Before = "
+    //+ y + "/" + (m+1) + "/" + d
+    //+ " " + showNN(h-1) + ":" + showNN(45));
+    //              logln(" " + cal.getTime());
+    //          }
+    //          }
+    //      }
+    //      }
+    //  }
+    //    }
+    //
+    //    public void Test1()
+    //    {
+    //  logln(Locale.getDefault().getDisplayName());
+    //  logln(TimeZone.getDefault().getID());
+    //  logln(new Date(0));
+    //
+    //  if (true)
+    //  {
+    //      logln("========================================");
+    //      _testUsingBinarySearch(new Date(97,0,1), false);
+    //      logln("========================================");
+    //      _testUsingBinarySearch(new Date(97,6,1), true);
+    //  }
+    //
+    //  if (true)
+    //  {
+    //      logln("========================================");
+    //      logln("Stepping using millis");
+    //      _testUsingMillis(new Date(97,0,1), false);
+    //  }
+    //
+    //  if (true)
+    //  {
+    //      logln("========================================");
+    //      logln("Stepping using fields");
+    //      _testUsingFields(1997, false);
+    //  }
+    //
+    //  if (false)
+    //  {
+    //      cal.clear();
+    //      cal.set(1997, 3, 5, 10, 0);
+    //      //  cal.inDaylightTime();
+    //      logln("Date = " + cal.getTime());
+    //      logln("Millis = " + cal.getTime().getTime()/3600000);
+    //  }
+    //    }
+
+    //----------------------------------------------------------------------
+    //----------------------------------------------------------------------
+    //----------------------------------------------------------------------
+
+    void _testUsingBinarySearch(SimpleTimeZone tz, Date d, long expectedBoundary)
+    {
+        // Given a date with a year start, find the Daylight onset
+        // and end.  The given date should be 1/1/xx in some year.
+
+        // Use a binary search, assuming that we have a Standard
+        // time at the midpoint.
+        long min = d.getTime();
+        long max = min + (long)(365.25 / 2 * ONE_DAY);
+
+        // First check the boundaries
+        boolean startsInDST = tz.inDaylightTime(d);
+
+        if (tz.inDaylightTime(new Date(max)) == startsInDST)
+        {
+            logln("Error: inDaylightTime(" + (new Date(max)) + ") != " + (!startsInDST));
+        }
+
+        while ((max - min) >  INTERVAL)
+        {
+            long mid = (min + max) >> 1;
+            if (tz.inDaylightTime(new Date(mid)) == startsInDST)
+            {
+                min = mid;
+            }
+            else
+            {
+                max = mid;
+            }
+        }
+
+        logln("Binary Search Before: " + showDate(min));
+        logln("Binary Search After:  " + showDate(max));
+
+        long mindelta = expectedBoundary - min;
+        // not used long maxdelta = max - expectedBoundary;
+        if (mindelta >= 0 && mindelta <= INTERVAL &&
+            mindelta >= 0 && mindelta <= INTERVAL)
+            logln("PASS: Expected boundary at " + expectedBoundary);
+        else
+            errln("FAIL: Expected boundary at " + expectedBoundary);
+    }
+
+    /*
+      static void _testUsingMillis(Date d, boolean startsInDST)
+      {
+      long millis = d.getTime();
+      long max = millis + (long)(370 * ONE_DAY); // A year plus extra
+
+      boolean lastDST = startsInDST;
+      while (millis < max)
+      {
+      cal.setTime(new Date(millis));
+      boolean inDaylight = cal.inDaylightTime();
+
+      if (inDaylight != lastDST)
+      {
+      logln("Switch " + (inDaylight ? "into" : "out of")
+      + " DST at " + (new Date(millis)));
+      lastDST = inDaylight;
+      }
+
+      millis += 15*ONE_MINUTE;
+      }
+      }
+      */
+
+    /**
+     * Test new rule formats.
+     */
+    public void TestNewRules()
+    {
+        //logln(Locale.getDefault().getDisplayName());
+        //logln(TimeZone.getDefault().getID());
+        //logln(new Date(0));
+
+        if (true)
+        {
+            // Doesn't matter what the default TimeZone is here, since we
+            // are creating our own TimeZone objects.
+
+            SimpleTimeZone tz;
+            java.util.Calendar tempcal = java.util.Calendar.getInstance();
+            tempcal.clear();
+
+            logln("-----------------------------------------------------------------");
+            logln("Aug 2ndTues .. Mar 15");
+            tz = new SimpleTimeZone(-8*ONE_HOUR, "Test_1",
+                                    Calendar.AUGUST, 2, Calendar.TUESDAY, 2*ONE_HOUR,
+                                    Calendar.MARCH, 15, 0, 2*ONE_HOUR);
+            //logln(tz.toString());
+            logln("========================================");
+            tempcal.set(1997, 0, 1);
+            _testUsingBinarySearch(tz, tempcal.getTime(), 858416400000L);
+            logln("========================================");
+            tempcal.set(1997, 6, 1);
+            _testUsingBinarySearch(tz, tempcal.getTime(), 871380000000L);
+
+            logln("-----------------------------------------------------------------");
+            logln("Apr Wed>=14 .. Sep Sun<=20");
+            tz = new SimpleTimeZone(-8*ONE_HOUR, "Test_2",
+                                    Calendar.APRIL, 14, -Calendar.WEDNESDAY, 2*ONE_HOUR,
+                                    Calendar.SEPTEMBER, -20, -Calendar.SUNDAY, 2*ONE_HOUR);
+            //logln(tz.toString());
+            logln("========================================");
+            tempcal.set(1997, 0, 1);
+            _testUsingBinarySearch(tz, tempcal.getTime(), 861184800000L);
+            logln("========================================");
+            tempcal.set(1997, 6, 1);
+            _testUsingBinarySearch(tz, tempcal.getTime(), 874227600000L);
+        }
+
+        /*
+          if (true)
+          {
+          logln("========================================");
+          logln("Stepping using millis");
+          _testUsingMillis(new Date(97,0,1), false);
+          }
+
+          if (true)
+          {
+          logln("========================================");
+          logln("Stepping using fields");
+          _testUsingFields(1997, false);
+          }
+
+          if (false)
+          {
+          cal.clear();
+          cal.set(1997, 3, 5, 10, 0);
+          //    cal.inDaylightTime();
+          logln("Date = " + cal.getTime());
+          logln("Millis = " + cal.getTime().getTime()/3600000);
+          }
+          */
+    }
+
+    //----------------------------------------------------------------------
+    //----------------------------------------------------------------------
+    //----------------------------------------------------------------------
+    // Long Bug
+    //----------------------------------------------------------------------
+    //----------------------------------------------------------------------
+    //----------------------------------------------------------------------
+
+    //public void Test3()
+    //{
+    //    findDaylightBoundaryUsingTimeZone(new Date(97,6,1), true);
+    //}
+
+    /**
+     * Find boundaries by stepping.
+     */
+    void findBoundariesStepwise(int year, long interval, TimeZone z, int expectedChanges)
+    {
+        java.util.Calendar tempcal = java.util.Calendar.getInstance();
+        tempcal.clear();
+        tempcal.set(year, Calendar.JANUARY, 1);
+        Date d = tempcal.getTime();
+        long time = d.getTime(); // ms
+        long limit = time + ONE_YEAR + ONE_DAY;
+        boolean lastState = z.inDaylightTime(d);
+        int changes = 0;
+        logln("-- Zone " + z.getID() + " starts in " + year + " with DST = " + lastState);
+        logln("useDaylightTime = " + z.useDaylightTime());
+        while (time < limit)
+        {
+            d.setTime(time);
+            boolean state = z.inDaylightTime(d);
+            if (state != lastState)
+            {
+                logln((state ? "Entry " : "Exit ") +
+                      "at " + d);
+                lastState = state;
+                ++changes;
+            }
+            time += interval;
+        }
+        if (changes == 0)
+        {
+            if (!lastState && !z.useDaylightTime()) logln("No DST");
+            else errln("FAIL: DST all year, or no DST with true useDaylightTime");
+        }
+        else if (changes != 2)
+        {
+            errln("FAIL: " + changes + " changes seen; should see 0 or 2");
+        }
+        else if (!z.useDaylightTime())
+        {
+            errln("FAIL: useDaylightTime false but 2 changes seen");
+        }
+        if (changes != expectedChanges)
+        {
+            errln("FAIL: " + changes + " changes seen; expected " + expectedChanges);
+        }
+    }
+
+    public void TestStepwise()
+    {
+        findBoundariesStepwise(1997, ONE_DAY, safeGetTimeZone("EST"), 2);
+        // disabled Oct 2003 aliu; ACT could mean anything, depending on the underlying JDK, as of 2.8
+        // findBoundariesStepwise(1997, ONE_DAY, safeGetTimeZone("ACT"), 2);
+        findBoundariesStepwise(1997, ONE_DAY, safeGetTimeZone("America/Phoenix"), 0); // Added 3Jan01
+        findBoundariesStepwise(1997, ONE_DAY, safeGetTimeZone(AUSTRALIA), 2);
+    }
+}
diff --git a/src/com/ibm/icu/dev/test/timezone/TimeZoneRegression.java b/src/com/ibm/icu/dev/test/timezone/TimeZoneRegression.java
new file mode 100755
index 0000000..eaeff6e
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/timezone/TimeZoneRegression.java
@@ -0,0 +1,990 @@
+/**
+ *******************************************************************************
+ * Copyright (C) 2000-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+/**
+ * @test 1.18 99/09/21
+ * @bug 4052967 4073209 4073215 4084933 4096952 4109314 4126678 4151406 4151429
+ * @bug 4154525 4154537 4154542 4154650 4159922 4162593 4173604 4176686 4184229 4208960
+ */
+
+package com.ibm.icu.dev.test.timezone;
+import com.ibm.icu.util.*;
+import java.io.*;
+import com.ibm.icu.text.*;
+import com.ibm.icu.dev.test.*;
+import java.util.Date;
+import java.util.Locale;
+
+public class TimeZoneRegression extends TestFmwk {
+
+    public static void main(String[] args) throws Exception {
+        new TimeZoneRegression().run(args);
+    }
+
+    public void Test4052967() {
+        logln("*** CHECK TIMEZONE AGAINST HOST OS SETTING ***");
+        String id = TimeZone.getDefault().getID();
+        try {
+            // user.timezone is a protected system property
+            logln("user.timezone: " + System.getProperty("user.timezone", "<not set>"));
+            logln("TimeZone.getDefault().getID(): " + id);
+            logln(new Date().toString());
+            logln("*** THE RESULTS OF THIS TEST MUST BE VERIFIED MANUALLY ***");
+        }
+        catch (SecurityException e) {
+            warnln("security exception: " + e.toString());
+        }
+    }
+
+    public void Test4073209() {
+        TimeZone z1 = TimeZone.getTimeZone("PST");
+        TimeZone z2 = TimeZone.getTimeZone("PST");
+        if (z1 == z2) errln("Fail: TimeZone should return clones");
+    }
+
+    public void Test4073215() {
+        SimpleTimeZone z = new SimpleTimeZone(0, "GMT");
+        if (z.useDaylightTime())
+            errln("Fail: Fix test to start with non-DST zone");
+        z.setStartRule(Calendar.FEBRUARY, 1, Calendar.SUNDAY, 0);
+        z.setEndRule(Calendar.MARCH, -1, Calendar.SUNDAY, 0);
+        if (!z.useDaylightTime())
+            errln("Fail: DST not active");
+        java.util.Calendar tempcal = java.util.Calendar.getInstance();
+        tempcal.clear();
+        tempcal.set(1997, Calendar.JANUARY, 31);
+        Date d1 = tempcal.getTime();
+        tempcal.set(1997, Calendar.MARCH, 1);
+        Date d2 = tempcal.getTime();
+        tempcal.set(1997, Calendar.MARCH, 31);
+        Date d3 = tempcal.getTime();
+        if (z.inDaylightTime(d1) || !z.inDaylightTime(d2) ||
+            z.inDaylightTime(d3)) {
+            errln("Fail: DST not working as expected");
+        }
+    }
+
+    /**
+     * The expected behavior of TimeZone around the boundaries is:
+     * (Assume transition time of 2:00 AM)
+     *    day of onset 1:59 AM STD  = display name 1:59 AM ST
+     *                 2:00 AM STD  = display name 3:00 AM DT
+     *    day of end   0:59 AM STD  = display name 1:59 AM DT
+     *                 1:00 AM STD  = display name 1:00 AM ST
+     */
+    public void Test4084933() {
+        TimeZone tz = TimeZone.getTimeZone("PST");
+
+        long offset1 = tz.getOffset(1,
+            1997, Calendar.OCTOBER, 26, Calendar.SUNDAY, (2*60*60*1000));
+        long offset2 = tz.getOffset(1,
+            1997, Calendar.OCTOBER, 26, Calendar.SUNDAY, (2*60*60*1000)-1);
+
+        long offset3 = tz.getOffset(1,
+            1997, Calendar.OCTOBER, 26, Calendar.SUNDAY, (1*60*60*1000));
+        long offset4 = tz.getOffset(1,
+            1997, Calendar.OCTOBER, 26, Calendar.SUNDAY, (1*60*60*1000)-1);
+
+        /*
+         *  The following was added just for consistency.  It shows that going *to* Daylight
+         *  Savings Time (PDT) does work at 2am.
+         */
+
+        long offset5 = tz.getOffset(1,
+            1997, Calendar.APRIL, 6, Calendar.SUNDAY, (2*60*60*1000));
+        long offset6 = tz.getOffset(1,
+            1997, Calendar.APRIL, 6, Calendar.SUNDAY, (2*60*60*1000)-1);
+
+        long offset7 = tz.getOffset(1,
+            1997, Calendar.APRIL, 6, Calendar.SUNDAY, (1*60*60*1000));
+        long offset8 = tz.getOffset(1,
+            1997, Calendar.APRIL, 6, Calendar.SUNDAY, (1*60*60*1000)-1);
+
+        long SToffset = -8 * 60*60*1000L;
+        long DToffset = -7 * 60*60*1000L;
+        if (offset1 != SToffset || offset2 != SToffset ||
+            offset3 != SToffset || offset4 != DToffset ||
+            offset5 != DToffset || offset6 != SToffset ||
+            offset7 != SToffset || offset8 != SToffset)
+            errln("Fail: TimeZone misbehaving");
+    }
+
+    public void Test4096952() {
+        String[] ZONES = { "GMT", "MET", "IST" };
+        boolean pass = true;
+        try {
+            for (int i=0; i<ZONES.length; ++i) {
+                TimeZone zone = TimeZone.getTimeZone(ZONES[i]);
+                if (!zone.getID().equals(ZONES[i]))
+                    errln("Fail: Test broken; zones not instantiating");
+
+                ByteArrayOutputStream baos;
+                ObjectOutputStream ostream =
+                    new ObjectOutputStream(baos = new
+                                           ByteArrayOutputStream());
+                ostream.writeObject(zone);
+                ostream.close();
+                baos.close();
+                ObjectInputStream istream =
+                    new ObjectInputStream(new
+                                          ByteArrayInputStream(baos.toByteArray()));
+                TimeZone frankenZone = (TimeZone) istream.readObject();
+                //logln("Zone:        " + zone);
+                //logln("FrankenZone: " + frankenZone);
+                if (!zone.equals(frankenZone)) {
+                    logln("TimeZone " + zone.getID() +
+                          " not equal to serialized/deserialized one");
+                    pass = false;
+                }
+            }
+            if (!pass) errln("Fail: TimeZone serialization/equality bug");
+        }
+        catch (IOException e) {
+            errln("Fail: " + e);
+            e.printStackTrace();
+        }
+        catch (ClassNotFoundException e) {
+            errln("Fail: " + e);
+            e.printStackTrace();
+        }
+    }
+
+    public void Test4109314() {
+        GregorianCalendar testCal = (GregorianCalendar)Calendar.getInstance();
+        TimeZone PST = TimeZone.getTimeZone("PST");
+        java.util.Calendar tempcal = java.util.Calendar.getInstance();
+        tempcal.clear();
+        tempcal.set(1998,Calendar.APRIL,4,22,0);
+        Date d1 = tempcal.getTime();
+        tempcal.set(1998,Calendar.APRIL,5,6,0);
+        Date d2 = tempcal.getTime();
+        tempcal.set(1998,Calendar.OCTOBER,24,22,0);
+        Date d3 = tempcal.getTime();
+        tempcal.set(1998,Calendar.OCTOBER,25,6,0);
+        Date d4 = tempcal.getTime();
+        Object[] testData = {
+            PST, d1, d2,
+            PST, d3, d4,
+        };
+        boolean pass=true;
+        for (int i=0; i<testData.length; i+=3) {
+            testCal.setTimeZone((TimeZone) testData[i]);
+            long t = ((Date)testData[i+1]).getTime();
+            Date end = (Date) testData[i+2];
+            while (t < end.getTime()) {
+                testCal.setTime(new Date(t));
+                if (!checkCalendar314(testCal, (TimeZone) testData[i]))
+                    pass = false;
+                t += 60*60*1000L;
+            }
+        }
+        if (!pass) errln("Fail: TZ API inconsistent");
+    }
+
+    boolean checkCalendar314(GregorianCalendar testCal, TimeZone testTZ) {
+        // GregorianCalendar testCal = (GregorianCalendar)aCal.clone();
+
+        final int ONE_DAY = 24*60*60*1000;
+
+        int tzOffset, tzRawOffset;
+        Float tzOffsetFloat,tzRawOffsetFloat;
+        // Here is where the user made an error.  They were passing in the value of
+        // the MILLSECOND field; you need to pass in the millis in the day in STANDARD
+        // time.
+        int millis = testCal.get(Calendar.MILLISECOND) +
+            1000 * (testCal.get(Calendar.SECOND) +
+                    60 * (testCal.get(Calendar.MINUTE) +
+                          60 * (testCal.get(Calendar.HOUR_OF_DAY)))) -
+            testCal.get(Calendar.DST_OFFSET);
+
+        /* Fix up millis to be in range.  ASSUME THAT WE ARE NOT AT THE
+         * BEGINNING OR END OF A MONTH.  We must add this code because
+         * getOffset() has been changed to be more strict about the parameters
+         * it receives -- it turns out that this test was passing in illegal
+         * values. */
+        int date = testCal.get(Calendar.DATE);
+        int dow  = testCal.get(Calendar.DAY_OF_WEEK);
+        while (millis < 0) {
+            millis += ONE_DAY;
+            --date;
+            dow = Calendar.SUNDAY + ((dow - Calendar.SUNDAY + 6) % 7);
+        }
+        while (millis >= ONE_DAY) {
+            millis -= ONE_DAY;
+            ++date;
+            dow = Calendar.SUNDAY + ((dow - Calendar.SUNDAY + 1) % 7);
+        }
+
+        tzOffset = testTZ.getOffset(testCal.get(Calendar.ERA),
+                                    testCal.get(Calendar.YEAR),
+                                    testCal.get(Calendar.MONTH),
+                                    date,
+                                    dow,
+                                    millis);
+        tzRawOffset = testTZ.getRawOffset();
+        tzOffsetFloat = new Float((float)tzOffset/(float)3600000);
+        tzRawOffsetFloat = new Float((float)tzRawOffset/(float)3600000);
+
+        Date testDate = testCal.getTime();
+
+        boolean inDaylightTime = testTZ.inDaylightTime(testDate);
+        SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy HH:mm");
+        sdf.setCalendar(testCal);
+        String inDaylightTimeString;
+
+        boolean passed;
+
+        if (inDaylightTime)
+        {
+            inDaylightTimeString = " DST ";
+            passed = (tzOffset == (tzRawOffset + 3600000));
+        }
+        else
+        {
+            inDaylightTimeString = "     ";
+            passed = (tzOffset == tzRawOffset);
+        }
+
+        String output = testTZ.getID() + " " + sdf.format(testDate) +
+            " Offset(" + tzOffsetFloat + ")" +
+            " RawOffset(" + tzRawOffsetFloat + ")" +
+            " " + millis/(float)3600000 + " " +
+            inDaylightTimeString;
+
+        if (passed)
+            output += "     ";
+        else
+            output += "ERROR";
+
+        if (passed) logln(output); else errln(output);
+        return passed;
+    }
+
+    /**
+     * CANNOT REPRODUDE
+     *
+     * Yet another _alleged_ bug in TimeZone.getOffset(), a method that never
+     * should have been made public.  It's simply too hard to use correctly.
+     *
+     * The original test code failed to do the following:
+     * (1) Call Calendar.setTime() before getting the fields!
+     * (2) Use the right millis (as usual) for getOffset(); they were passing
+     *     in the MILLIS field, instead of the STANDARD MILLIS IN DAY.
+     * When you fix these two problems, the test passes, as expected.
+     */
+    public void Test4126678() {
+    // Note: this test depends on the PST time zone.
+    TimeZone initialZone = TimeZone.getDefault();
+        Calendar cal = Calendar.getInstance();
+        TimeZone tz = TimeZone.getTimeZone("PST");
+    TimeZone.setDefault(tz);
+        cal.setTimeZone(tz);
+
+        java.util.Calendar tempcal = java.util.Calendar.getInstance();
+        tempcal.clear();
+        tempcal.set(1998, Calendar.APRIL, 5, 10, 0);
+        Date dt = tempcal.getTime();
+    // the dt value is local time in PST.
+        if (!tz.inDaylightTime(dt))
+            errln("We're not in Daylight Savings Time and we should be.\n");
+
+        cal.setTime(dt);
+        int era = cal.get(Calendar.ERA);
+        int year = cal.get(Calendar.YEAR);
+        int month = cal.get(Calendar.MONTH);
+        int day = cal.get(Calendar.DATE);
+        int dayOfWeek = cal.get(Calendar.DAY_OF_WEEK);
+        int millis = cal.get(Calendar.MILLISECOND) +
+            (cal.get(Calendar.SECOND) +
+             (cal.get(Calendar.MINUTE) +
+              (cal.get(Calendar.HOUR) * 60) * 60) * 1000) -
+            cal.get(Calendar.DST_OFFSET);
+
+        long offset = tz.getOffset(era, year, month, day, dayOfWeek, millis);
+        long raw_offset = tz.getRawOffset();
+        if (offset == raw_offset)
+            errln("Offsets should not match when in DST");
+
+    // restore the initial time zone so that this test case
+    // doesn't affect the others.
+    TimeZone.setDefault(initialZone);
+    }
+
+    /**
+     * TimeZone.getAvailableIDs(int) throws exception for certain values,
+     * due to a faulty constant in TimeZone.java.
+     */
+    public void Test4151406() {
+        int max = 0;
+        for (int h=-28; h<=30; ++h) {
+            // h is in half-hours from GMT; rawoffset is in millis
+            int rawoffset = h * 1800000;
+            int hh = (h<0) ? -h : h;
+            String hname = ((h<0) ? "GMT-" : "GMT+") +
+                ((hh/2 < 10) ? "0" : "") +
+                (hh/2) + ':' +
+                ((hh%2==0) ? "00" : "30");
+            try {
+                String[] ids = TimeZone.getAvailableIDs(rawoffset);
+                if (ids.length > max) max = ids.length;
+                logln(hname + ' ' + ids.length +
+                      ((ids.length > 0) ? (" e.g. " + ids[0]) : ""));
+            } catch (Exception e) {
+                errln(hname + ' ' + "Fail: " + e);
+            }
+        }
+        logln("Maximum zones per offset = " + max);
+    }
+
+    public void Test4151429() {
+        try {
+            TimeZone tz = TimeZone.getTimeZone("GMT");
+            /*String name =*/ tz.getDisplayName(true, Integer.MAX_VALUE,
+                                            Locale.getDefault());
+            errln("IllegalArgumentException not thrown by TimeZone.getDisplayName()");
+        } catch(IllegalArgumentException e) {
+            System.out.print("");
+        }
+    }
+
+    /**
+     * SimpleTimeZone accepts illegal DST savings values.  These values
+     * must be non-zero.  There is no upper limit at this time.
+     */
+    public void Test4154525() {
+        final int GOOD = 1, BAD = 0;
+        int[] DATA = {
+            1, GOOD,
+            0, BAD,
+            -1, BAD,
+            60*60*1000, GOOD,
+            Integer.MIN_VALUE, BAD,
+            // Integer.MAX_VALUE, ?, // no upper limit on DST savings at this time
+        };
+        for (int i=0; i<DATA.length; i+=2) {
+            int savings = DATA[i];
+            boolean valid = DATA[i+1] == GOOD;
+            String method = null;
+            for (int j=0; j<2; ++j) {
+                try {
+                    switch (j) {
+                    case 0:
+                        method = "constructor";
+                        SimpleTimeZone z = new SimpleTimeZone(0, "id",
+                            Calendar.JANUARY, 1, 0, 0,
+                            Calendar.MARCH, 1, 0, 0,
+                            savings); // <- what we're interested in
+                        break;
+                    case 1:
+                        method = "setDSTSavings()";
+                        z = new SimpleTimeZone(0, "GMT");
+                        z.setDSTSavings(savings);
+                        break;
+                    }
+                    if (valid) {
+                        logln("Pass: DST savings of " + savings + " accepted by " + method);
+                    } else {
+                        errln("Fail: DST savings of " + savings + " accepted by " + method);
+                    }
+                } catch (IllegalArgumentException e) {
+                    if (valid) {
+                        errln("Fail: DST savings of " + savings + " to " + method + " gave " + e);
+                    } else {
+                        logln("Pass: DST savings of " + savings + " to " + method + " gave " + e);
+                    }
+                }
+            }
+        }
+    }
+
+    /**
+     * SimpleTimeZone.hasSameRules() doesn't work for zones with no DST
+     * and different DST parameters.
+     */
+    public void Test4154537() {
+        // tz1 and tz2 have no DST and different rule parameters
+        SimpleTimeZone tz1 = new SimpleTimeZone(0, "1", 0, 0, 0, 0, 2, 0, 0, 0);
+        SimpleTimeZone tz2 = new SimpleTimeZone(0, "2", 1, 0, 0, 0, 3, 0, 0, 0);
+        // tza and tzA have the same rule params
+        SimpleTimeZone tza = new SimpleTimeZone(0, "a", 0, 1, 0, 0, 3, 2, 0, 0);
+        SimpleTimeZone tzA = new SimpleTimeZone(0, "A", 0, 1, 0, 0, 3, 2, 0, 0);
+        // tzb differs from tza
+        SimpleTimeZone tzb = new SimpleTimeZone(0, "b", 0, 1, 0, 0, 3, 1, 0, 0);
+        if (tz1.useDaylightTime() || tz2.useDaylightTime() ||
+            !tza.useDaylightTime() || !tzA.useDaylightTime() ||
+            !tzb.useDaylightTime()) {
+            errln("Test is broken -- rewrite it");
+        }
+        if (!tza.hasSameRules(tzA) || tza.hasSameRules(tzb)) {
+            errln("Fail: hasSameRules() broken for zones with rules");
+        }
+        if (!tz1.hasSameRules(tz2)) {
+            errln("Fail: hasSameRules() returns false for zones without rules");
+            errln("zone 1 = " + tz1);
+            errln("zone 2 = " + tz2);
+        }
+    }
+
+    /**
+     * SimpleTimeZone constructors, setStartRule(), and setEndRule() don't
+     * check for out-of-range arguments.
+     */
+    public void Test4154542() {
+        final int GOOD = 1;
+        final int BAD  = 0;
+
+        final int GOOD_MONTH       = Calendar.JANUARY;
+        final int GOOD_DAY         = 1;
+        final int GOOD_DAY_OF_WEEK = Calendar.SUNDAY;
+        final int GOOD_TIME        = 0;
+
+        int[] DATA = {
+            GOOD, Integer.MIN_VALUE,    0,  Integer.MAX_VALUE,   Integer.MIN_VALUE,
+            GOOD, Calendar.JANUARY,    -5,  Calendar.SUNDAY,     0,
+            GOOD, Calendar.DECEMBER,    5,  Calendar.SATURDAY,   24*60*60*1000-1,
+            BAD,  Calendar.DECEMBER,    5,  Calendar.SATURDAY,   24*60*60*1000,
+            BAD,  Calendar.DECEMBER,    5,  Calendar.SATURDAY,  -1,
+            BAD,  Calendar.JANUARY,    -6,  Calendar.SUNDAY,     0,
+            BAD,  Calendar.DECEMBER,    6,  Calendar.SATURDAY,   24*60*60*1000,
+            GOOD, Calendar.DECEMBER,    1,  0,                   0,
+            GOOD, Calendar.DECEMBER,   31,  0,                   0,
+            BAD,  Calendar.APRIL,      31,  0,                   0,
+            BAD,  Calendar.DECEMBER,   32,  0,                   0,
+            BAD,  Calendar.JANUARY-1,   1,  Calendar.SUNDAY,     0,
+            BAD,  Calendar.DECEMBER+1,  1,  Calendar.SUNDAY,     0,
+            GOOD, Calendar.DECEMBER,   31, -Calendar.SUNDAY,     0,
+            GOOD, Calendar.DECEMBER,   31, -Calendar.SATURDAY,   0,
+            BAD,  Calendar.DECEMBER,   32, -Calendar.SATURDAY,   0,
+            BAD,  Calendar.DECEMBER,  -32, -Calendar.SATURDAY,   0,
+            BAD,  Calendar.DECEMBER,   31, -Calendar.SATURDAY-1, 0,
+        };
+        SimpleTimeZone zone = new SimpleTimeZone(0, "Z");
+        for (int i=0; i<DATA.length; i+=5) {
+            boolean shouldBeGood = (DATA[i] == GOOD);
+            int month     = DATA[i+1];
+            int day       = DATA[i+2];
+            int dayOfWeek = DATA[i+3];
+            int time      = DATA[i+4];
+
+            Exception ex = null;
+            try {
+                zone.setStartRule(month, day, dayOfWeek, time);
+            } catch (IllegalArgumentException e) {
+                ex = e;
+            }
+            if ((ex == null) != shouldBeGood) {
+                errln("setStartRule(month=" + month + ", day=" + day +
+                      ", dayOfWeek=" + dayOfWeek + ", time=" + time +
+                      (shouldBeGood ? (") should work but throws " + ex)
+                       : ") should fail but doesn't"));
+            }
+
+            ex = null;
+            try {
+                zone.setEndRule(month, day, dayOfWeek, time);
+            } catch (IllegalArgumentException e) {
+                ex = e;
+            }
+            if ((ex == null) != shouldBeGood) {
+                errln("setEndRule(month=" + month + ", day=" + day +
+                      ", dayOfWeek=" + dayOfWeek + ", time=" + time +
+                      (shouldBeGood ? (") should work but throws " + ex)
+                       : ") should fail but doesn't"));
+            }
+
+            ex = null;
+            try {
+                /*SimpleTimeZone temp =*/ new SimpleTimeZone(0, "Z",
+                        month, day, dayOfWeek, time,
+                        GOOD_MONTH, GOOD_DAY, GOOD_DAY_OF_WEEK, GOOD_TIME);
+            } catch (IllegalArgumentException e) {
+                ex = e;
+            }
+            if ((ex == null) != shouldBeGood) {
+                errln("SimpleTimeZone(month=" + month + ", day=" + day +
+                      ", dayOfWeek=" + dayOfWeek + ", time=" + time +
+                      (shouldBeGood ? (", <end>) should work but throws " + ex)
+                       : ", <end>) should fail but doesn't"));
+            }
+
+            ex = null;
+            try {
+                /*SimpleTimeZone temp = */new SimpleTimeZone(0, "Z",
+                        GOOD_MONTH, GOOD_DAY, GOOD_DAY_OF_WEEK, GOOD_TIME,
+                        month, day, dayOfWeek, time);
+               // temp = null;
+            } catch (IllegalArgumentException e) {
+                ex = e;
+            }
+            if ((ex == null) != shouldBeGood) {
+                errln("SimpleTimeZone(<start>, month=" + month + ", day=" + day +
+                      ", dayOfWeek=" + dayOfWeek + ", time=" + time +
+                      (shouldBeGood ? (") should work but throws " + ex)
+                       : ") should fail but doesn't"));
+            }
+        }
+    }
+
+    /**
+     * SimpleTimeZone.getOffset accepts illegal arguments.
+     */
+    public void Test4154650() {
+        final int GOOD=1, BAD=0;
+        final int GOOD_ERA=GregorianCalendar.AD, GOOD_YEAR=1998, GOOD_MONTH=Calendar.AUGUST;
+        final int GOOD_DAY=2, GOOD_DOW=Calendar.SUNDAY, GOOD_TIME=16*3600000;
+        int[] DATA = {
+            GOOD, GOOD_ERA, GOOD_YEAR, GOOD_MONTH, GOOD_DAY, GOOD_DOW, GOOD_TIME,
+
+            GOOD, GregorianCalendar.BC, GOOD_YEAR, GOOD_MONTH, GOOD_DAY, GOOD_DOW, GOOD_TIME,
+            GOOD, GregorianCalendar.AD, GOOD_YEAR, GOOD_MONTH, GOOD_DAY, GOOD_DOW, GOOD_TIME,
+            BAD,  GregorianCalendar.BC-1, GOOD_YEAR, GOOD_MONTH, GOOD_DAY, GOOD_DOW, GOOD_TIME,
+            BAD,  GregorianCalendar.AD+1, GOOD_YEAR, GOOD_MONTH, GOOD_DAY, GOOD_DOW, GOOD_TIME,
+
+            GOOD, GOOD_ERA, GOOD_YEAR, Calendar.JANUARY, GOOD_DAY, GOOD_DOW, GOOD_TIME,
+            GOOD, GOOD_ERA, GOOD_YEAR, Calendar.DECEMBER, GOOD_DAY, GOOD_DOW, GOOD_TIME,
+            BAD,  GOOD_ERA, GOOD_YEAR, Calendar.JANUARY-1, GOOD_DAY, GOOD_DOW, GOOD_TIME,
+            BAD,  GOOD_ERA, GOOD_YEAR, Calendar.DECEMBER+1, GOOD_DAY, GOOD_DOW, GOOD_TIME,
+
+            GOOD, GOOD_ERA, GOOD_YEAR, Calendar.JANUARY, 1, GOOD_DOW, GOOD_TIME,
+            GOOD, GOOD_ERA, GOOD_YEAR, Calendar.JANUARY, 31, GOOD_DOW, GOOD_TIME,
+            BAD,  GOOD_ERA, GOOD_YEAR, Calendar.JANUARY, 0, GOOD_DOW, GOOD_TIME,
+            BAD,  GOOD_ERA, GOOD_YEAR, Calendar.JANUARY, 32, GOOD_DOW, GOOD_TIME,
+
+            GOOD, GOOD_ERA, GOOD_YEAR, GOOD_MONTH, GOOD_DAY, Calendar.SUNDAY, GOOD_TIME,
+            GOOD, GOOD_ERA, GOOD_YEAR, GOOD_MONTH, GOOD_DAY, Calendar.SATURDAY, GOOD_TIME,
+            BAD,  GOOD_ERA, GOOD_YEAR, GOOD_MONTH, GOOD_DAY, Calendar.SUNDAY-1, GOOD_TIME,
+            BAD,  GOOD_ERA, GOOD_YEAR, GOOD_MONTH, GOOD_DAY, Calendar.SATURDAY+1, GOOD_TIME,
+
+            GOOD, GOOD_ERA, GOOD_YEAR, GOOD_MONTH, GOOD_DAY, GOOD_DOW, 0,
+            GOOD, GOOD_ERA, GOOD_YEAR, GOOD_MONTH, GOOD_DAY, GOOD_DOW, 24*3600000-1,
+            BAD,  GOOD_ERA, GOOD_YEAR, GOOD_MONTH, GOOD_DAY, GOOD_DOW, -1,
+            BAD,  GOOD_ERA, GOOD_YEAR, GOOD_MONTH, GOOD_DAY, GOOD_DOW, 24*3600000,
+        };
+
+        TimeZone tz = TimeZone.getDefault();
+        for (int i=0; i<DATA.length; i+=7) {
+            boolean good = DATA[i] == GOOD;
+            IllegalArgumentException e = null;
+            try {
+                /*int offset =*/ tz.getOffset(DATA[i+1], DATA[i+2], DATA[i+3],
+                                          DATA[i+4], DATA[i+5], DATA[i+6]);
+                //offset = 0;
+           } catch (IllegalArgumentException ex) {
+                e = ex;
+            }
+            if (good != (e == null)) {
+                errln("Fail: getOffset(" +
+                      DATA[i+1] + ", " + DATA[i+2] + ", " + DATA[i+3] + ", " +
+                      DATA[i+4] + ", " + DATA[i+5] + ", " + DATA[i+6] +
+                      (good ? (") threw " + e) : ") accepts invalid args"));
+            }
+        }
+    }
+
+    /**
+     * TimeZone constructors allow null IDs.
+     */
+    public void Test4159922() {
+        TimeZone z = null;
+
+        // TimeZone API.  Only hasSameRules() and setDefault() should
+        // allow null.
+        try {
+            z = TimeZone.getTimeZone(null);
+            errln("FAIL: Null allowed in getTimeZone");
+        } catch (NullPointerException e) {
+            System.out.print("");
+        }
+        z = TimeZone.getTimeZone("GMT");
+        try {
+        // {dlf} requiring cast for disambiguation is ok for compatibility since null
+        // is not a valid argument to this API
+            z.getDisplayName(false, TimeZone.SHORT, (ULocale)null);
+            errln("FAIL: Null allowed in getDisplayName(3)");
+        } catch (NullPointerException e) {
+            System.out.print("");
+        }
+        try {
+        // {dlf} see above
+            z.getDisplayName((ULocale)null);
+            errln("FAIL: Null allowed in getDisplayName(1)");
+        } catch (NullPointerException e) {
+            System.out.print("");
+        }
+        try {
+            if (z.hasSameRules(null)) {
+                errln("FAIL: hasSameRules returned true");
+            }
+        } catch (NullPointerException e) {
+            errln("FAIL: Null NOT allowed in hasSameRules");
+        }
+        try {
+            z.inDaylightTime(null);
+            errln("FAIL: Null allowed in inDaylightTime");
+        } catch (NullPointerException e) {
+            System.out.print("");
+        }
+        try {
+            z.setID(null);
+            errln("FAIL: Null allowed in setID");
+        } catch (NullPointerException e) {
+            System.out.print("");
+        }
+
+        TimeZone save = TimeZone.getDefault();
+        try {
+            TimeZone.setDefault(null);
+        } catch (NullPointerException e) {
+            errln("FAIL: Null NOT allowed in setDefault");
+        } finally {
+            TimeZone.setDefault(save);
+        }
+
+        // SimpleTimeZone API
+        SimpleTimeZone s = null;
+        try {
+            s = new SimpleTimeZone(0, null);
+            errln("FAIL: Null allowed in SimpleTimeZone(2)");
+        } catch (NullPointerException e) {
+            System.out.print("");
+        }
+        try {
+            s = new SimpleTimeZone(0, null, 0, 1, 0, 0, 0, 1, 0, 0);
+            errln("FAIL: Null allowed in SimpleTimeZone(10)");
+        } catch (NullPointerException e) {
+            System.out.print("");
+        }
+        try {
+            s = new SimpleTimeZone(0, null, 0, 1, 0, 0, 0, 1, 0, 0, 1000);
+            errln("FAIL: Null allowed in SimpleTimeZone(11)");
+        } catch (NullPointerException e) {
+            System.out.print("");
+        }
+        if(s!=null){
+            errln("FAIL: Did not get the expected Exception");
+        }
+    }
+
+    /**
+     * TimeZone broken at midnight.  The TimeZone code fails to handle
+     * transitions at midnight correctly.
+     */
+    public void Test4162593() {
+        SimpleDateFormat fmt = new SimpleDateFormat("z", Locale.US);
+        final int ONE_HOUR = 60*60*1000;
+        final float H = (float) ONE_HOUR;
+    TimeZone initialZone = TimeZone.getDefault();
+        SimpleDateFormat sdf = new SimpleDateFormat("MMM dd yyyy HH:mm z");
+
+        SimpleTimeZone asuncion = new SimpleTimeZone(-4*ONE_HOUR, "America/Asuncion" /*PY%sT*/,
+            Calendar.OCTOBER, 1, 0 /*DOM*/, 0*ONE_HOUR,
+            Calendar.MARCH, 1, 0 /*DOM*/, 0*ONE_HOUR, 1*ONE_HOUR);
+
+        /* Zone
+         * Starting time
+         * Transition expected between start+1H and start+2H
+         */
+        Object[] DATA = {
+            new SimpleTimeZone(2*ONE_HOUR, "Asia/Damascus" /*EE%sT*/,
+                Calendar.APRIL, 1, 0 /*DOM*/, 0*ONE_HOUR,
+                Calendar.OCTOBER, 1, 0 /*DOM*/, 0*ONE_HOUR, 1*ONE_HOUR),
+            new int[] {1998, Calendar.SEPTEMBER, 30, 22, 0},
+            Boolean.TRUE,
+
+            asuncion,
+            new int[] {2000, Calendar.FEBRUARY, 28, 22, 0},
+            Boolean.FALSE,
+
+            asuncion,
+            new int[] {2000, Calendar.FEBRUARY, 29, 22, 0},
+            Boolean.TRUE,
+        };
+
+        String[] zone = new String[4];
+
+        for (int j=0; j<DATA.length; j+=3) {
+            TimeZone tz = (TimeZone)DATA[j];
+            TimeZone.setDefault(tz);
+            fmt.setTimeZone(tz);
+            sdf.setTimeZone(tz);
+
+            // Must construct the Date object AFTER setting the default zone
+            int[] p = (int[])DATA[j+1];
+            Calendar cal = Calendar.getInstance();
+            cal.clear();
+            cal.set(p[0], p[1], p[2], p[3], p[4]);
+            long start = cal.getTime().getTime();
+            boolean transitionExpected = ((Boolean)DATA[j+2]).booleanValue();
+
+            logln(tz.getID() + ":");
+            for (int i=0; i<4; ++i) {
+                Date d = new Date(start + i*ONE_HOUR);
+                zone[i] = fmt.format(d);
+                logln("" + i + ": " + sdf.format(d) + " => " + zone[i] +
+                      " (" + d.getTime()/H + ")");
+            }
+            cal.set(p[0], p[1], p[2], 0, 0);
+            for (int i=0; i<4; ++i) {
+                int h = 22+i;
+                int dom = p[2]+(h>=24?1:0);
+                h %= 24;
+                int ms = h*ONE_HOUR;
+                cal.clear();
+                cal.set(p[0], p[1], dom, 0, 0);
+                int off = tz.getOffset(GregorianCalendar.AD,
+                                       cal.get(Calendar.YEAR),
+                                       cal.get(Calendar.MONTH),
+                                       cal.get(Calendar.DATE),
+                                       cal.get(Calendar.DAY_OF_WEEK),
+                                       ms);
+                cal.add(Calendar.HOUR, h);
+                int x = cal.get(Calendar.DST_OFFSET);
+                logln("h=" + h + "; dom=" + dom +
+                      "; ZONE_OFFSET=" + cal.get(Calendar.ZONE_OFFSET)/H +
+                      "; DST_OFFSET=" + cal.get(Calendar.DST_OFFSET)/H +
+                      "; getOffset()=" + off/H +
+                      " (" + cal.getTime().getTime()/H + ")");
+            }
+            if (zone[0].equals(zone[1]) &&
+                (zone[1].equals(zone[2]) != transitionExpected) &&
+                zone[2].equals(zone[3])) {
+                logln("Ok: transition " + transitionExpected);
+            } else {
+                errln("FAIL: expected " +
+                      (transitionExpected?"transition":"no transition"));
+            }
+        }
+
+    // restore the initial time zone so that this test case
+    // doesn't affect the others.
+    TimeZone.setDefault(initialZone);
+    }
+
+    /**
+     * TimeZone broken in last hour of year
+     */
+    public void Test4173604() {
+        TimeZone pst = TimeZone.getTimeZone("PST");
+        int o22 = pst.getOffset(1, 1998, 11, 31, Calendar.THURSDAY, 22*60*60*1000);
+        int o23 = pst.getOffset(1, 1998, 11, 31, Calendar.THURSDAY, 23*60*60*1000);
+        int o00 = pst.getOffset(1, 1999, 0, 1, Calendar.FRIDAY, 0);
+        if (o22 != o23 || o22 != o00) {
+            errln("Offsets should be the same (for PST), but got: " +
+                  "12/31 22:00 " + o22 +
+                  ", 12/31 23:00 " + o23 +
+                  ", 01/01 00:00 " + o00);
+        }
+
+        GregorianCalendar cal = new GregorianCalendar();
+        cal.setTimeZone(pst);
+        cal.clear();
+        cal.set(1998, Calendar.JANUARY, 1);
+        int lastDST = cal.get(Calendar.DST_OFFSET);
+        int transitions = 0;
+        int delta = 5;
+        while (cal.get(Calendar.YEAR) < 2000) {
+            cal.add(Calendar.MINUTE, delta);
+            if (cal.get(Calendar.DST_OFFSET) != lastDST) {
+                ++transitions;
+                Calendar t = (Calendar)cal.clone();
+                t.add(Calendar.MINUTE, -delta);
+                logln(t.getTime() + "  " + t.get(Calendar.DST_OFFSET));
+                logln(cal.getTime() + "  " + (lastDST=cal.get(Calendar.DST_OFFSET)));
+            }
+        }
+        if (transitions != 4) {
+            errln("Saw " + transitions + " transitions; should have seen 4");
+        }
+    }
+
+    /**
+     * getDisplayName doesn't work with unusual savings/offsets.
+     */
+    public void Test4176686() {
+        // Construct a zone that does not observe DST but
+        // that does have a DST savings (which should be ignored).
+        int offset = 90 * 60000; // 1:30
+        SimpleTimeZone z1 = new SimpleTimeZone(offset, "_std_zone_");
+        z1.setDSTSavings(45 * 60000); // 0:45
+
+        // Construct a zone that observes DST for the first 6 months.
+        SimpleTimeZone z2 = new SimpleTimeZone(offset, "_dst_zone_");
+        z2.setDSTSavings(45 * 60000); // 0:45
+        z2.setStartRule(Calendar.JANUARY, 1, 0);
+        z2.setEndRule(Calendar.JULY, 1, 0);
+
+        // Also check DateFormat
+        DateFormat fmt1 = new SimpleDateFormat("z");
+        fmt1.setTimeZone(z1); // Format uses standard zone
+        DateFormat fmt2 = new SimpleDateFormat("z");
+        fmt2.setTimeZone(z2); // Format uses DST zone
+        java.util.Calendar tempcal = java.util.Calendar.getInstance();
+        tempcal.clear();
+        tempcal.set(1970, Calendar.FEBRUARY, 1);
+        Date dst = tempcal.getTime(); // Time in DST
+        tempcal.set(1970, Calendar.AUGUST, 1);
+        Date std = tempcal.getTime(); // Time in standard
+
+        // Description, Result, Expected Result
+        String[] DATA = {
+            "getDisplayName(false, SHORT)/std zone",
+            z1.getDisplayName(false, TimeZone.SHORT), "GMT+01:30",
+            "getDisplayName(false, LONG)/std zone",
+            z1.getDisplayName(false, TimeZone.LONG ), "GMT+01:30",
+            "getDisplayName(true, SHORT)/std zone",
+            z1.getDisplayName(true, TimeZone.SHORT), "GMT+01:30",
+            "getDisplayName(true, LONG)/std zone",
+            z1.getDisplayName(true, TimeZone.LONG ), "GMT+01:30",
+            "getDisplayName(false, SHORT)/dst zone",
+            z2.getDisplayName(false, TimeZone.SHORT), "GMT+01:30",
+            "getDisplayName(false, LONG)/dst zone",
+            z2.getDisplayName(false, TimeZone.LONG ), "GMT+01:30",
+            "getDisplayName(true, SHORT)/dst zone",
+            z2.getDisplayName(true, TimeZone.SHORT), "GMT+02:15",
+            "getDisplayName(true, LONG)/dst zone",
+            z2.getDisplayName(true, TimeZone.LONG ), "GMT+02:15",
+            "DateFormat.format(std)/std zone", fmt1.format(std), "GMT+01:30",
+            "DateFormat.format(dst)/std zone", fmt1.format(dst), "GMT+01:30",
+            "DateFormat.format(std)/dst zone", fmt2.format(std), "GMT+01:30",
+            "DateFormat.format(dst)/dst zone", fmt2.format(dst), "GMT+02:15",
+        };
+
+        for (int i=0; i<DATA.length; i+=3) {
+            if (!DATA[i+1].equals(DATA[i+2])) {
+                errln("FAIL: " + DATA[i] + " -> " + DATA[i+1] + ", exp " + DATA[i+2]);
+            }
+        }
+    }
+
+    /**
+     * SimpleTimeZone allows invalid DOM values.
+     */
+    public void Test4184229() {
+        SimpleTimeZone zone = null;
+        try {
+            zone = new SimpleTimeZone(0, "A", 0, -1, 0, 0, 0, 0, 0, 0);
+            errln("Failed. No exception has been thrown for DOM -1 startDay");
+        } catch(IllegalArgumentException e) {
+            logln("(a) " + e.getMessage());
+        }
+        try {
+            zone = new SimpleTimeZone(0, "A", 0, 0, 0, 0, 0, -1, 0, 0);
+            errln("Failed. No exception has been thrown for DOM -1 endDay");
+        } catch(IllegalArgumentException e) {
+            logln("(b) " + e.getMessage());
+        }
+        try {
+            zone = new SimpleTimeZone(0, "A", 0, -1, 0, 0, 0, 0, 0, 0, 1000);
+            errln("Failed. No exception has been thrown for DOM -1 startDay +savings");
+        } catch(IllegalArgumentException e) {
+            logln("(c) " + e.getMessage());
+        }
+        try {
+            zone = new SimpleTimeZone(0, "A", 0, 0, 0, 0, 0, -1, 0, 0, 1000);
+            errln("Failed. No exception has been thrown for DOM -1 endDay +savings");
+        } catch(IllegalArgumentException e) {
+            logln("(d) " + e.getMessage());
+        }
+        // Make a valid constructor call for subsequent tests.
+        zone = new SimpleTimeZone(0, "A", 0, 1, 0, 0, 0, 1, 0, 0);
+        try {
+            zone.setStartRule(0, -1, 0, 0);
+            errln("Failed. No exception has been thrown for DOM -1 setStartRule +savings");
+        } catch(IllegalArgumentException e) {
+            logln("(e) " + e.getMessage());
+        }
+        try {
+            zone.setStartRule(0, -1, 0);
+            errln("Failed. No exception has been thrown for DOM -1 setStartRule");
+        } catch(IllegalArgumentException e) {
+            logln("(f) " + e.getMessage());
+        }
+        try {
+            zone.setEndRule(0, -1, 0, 0);
+            errln("Failed. No exception has been thrown for DOM -1 setEndRule +savings");
+        } catch(IllegalArgumentException e) {
+            logln("(g) " + e.getMessage());
+        }
+        try {
+            zone.setEndRule(0, -1, 0);
+            errln("Failed. No exception has been thrown for DOM -1 setEndRule");
+        } catch(IllegalArgumentException e) {
+            logln("(h) " + e.getMessage());
+        }
+    }
+
+    /**
+     * SimpleTimeZone.getOffset() throws IllegalArgumentException when to get
+     * of 2/29/1996 (leap day).
+     */
+    public void Test4208960 () {
+    TimeZone tz = TimeZone.getTimeZone("PST");
+    try {
+        /*int offset =*/ tz.getOffset(GregorianCalendar.AD, 1996, Calendar.FEBRUARY, 29,
+                      Calendar.THURSDAY, 0);
+        //offset = 0;
+    } catch (IllegalArgumentException e) {
+        errln("FAILED: to get TimeZone.getOffset(2/29/96)");
+    }
+    try {
+        /*int offset =*/ tz.getOffset(GregorianCalendar.AD, 1997, Calendar.FEBRUARY, 29,
+                      Calendar.THURSDAY, 0);
+        //offset = 0;
+        errln("FAILED: TimeZone.getOffset(2/29/97) expected to throw Exception.");
+    } catch (IllegalArgumentException e) {
+        logln("got IllegalArgumentException");
+    }
+    }
+
+    /**
+     * Test to see if DateFormat understands zone equivalency groups.  It
+     * might seem that this should be a DateFormat test, but it's really a
+     * TimeZone test -- the changes to DateFormat are minor.
+     *
+     * We use two known, zones that are equivalent, where one zone has
+     * localized name data, and the other doesn't, in some locale.
+     */
+    public void TestJ449() {
+        // not used String str;
+
+        // Modify the following three as necessary.  The two IDs must
+        // specify two zones in the same equivalency group.  One must have
+        // locale data in 'loc'; the other must not.
+        String idWithLocaleData = "America/Los_Angeles";
+        String idWithoutLocaleData = "PST"; // "US/Pacific";
+        Locale loc = new Locale("en", "", "");
+
+        TimeZone zoneWith = TimeZone.getTimeZone(idWithLocaleData);
+        TimeZone zoneWithout = TimeZone.getTimeZone(idWithoutLocaleData);
+        // Make sure we got valid zones
+        if (!(zoneWith.getID().equals(idWithLocaleData) &&
+              zoneWithout.getID().equals(idWithoutLocaleData))) {
+            errln("Fail: Unable to create zones");
+        } else {
+            GregorianCalendar calWith = new GregorianCalendar(zoneWith);
+            GregorianCalendar calWithout = new GregorianCalendar(zoneWithout);
+            SimpleDateFormat fmt =
+                new SimpleDateFormat("MMM d yyyy hh:mm a zzz", loc);
+            Date date = new Date(0L);
+            fmt.setCalendar(calWith);
+            String strWith = fmt.format(date);
+            fmt.setCalendar(calWithout);
+            String strWithout = fmt.format(date);
+            if (strWith.equals(strWithout)) {
+                logln("Ok: " + idWithLocaleData + " -> " +
+                      strWith + "; " + idWithoutLocaleData + " -> " +
+                      strWithout);
+            } else {
+                errln("FAIL: " + idWithLocaleData + " -> " +
+                      strWith + "; " + idWithoutLocaleData + " -> " +
+                      strWithout);
+            }
+        }
+    }
+}
+
+//eof
diff --git a/src/com/ibm/icu/dev/test/timezone/TimeZoneTest.java b/src/com/ibm/icu/dev/test/timezone/TimeZoneTest.java
new file mode 100755
index 0000000..05cbdea
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/timezone/TimeZoneTest.java
@@ -0,0 +1,1135 @@
+/**
+ *******************************************************************************
+ * Copyright (C) 2000-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+/**
+ * @test 1.22 99/09/21
+ * @bug 4028006 4044013 4096694 4107276 4107570 4112869 4130885
+ * @summary test TimeZone
+ * @build TimeZoneTest
+ */
+
+package com.ibm.icu.dev.test.timezone;
+
+import com.ibm.icu.dev.test.*;
+import com.ibm.icu.impl.ICUResourceBundle;
+import com.ibm.icu.util.*;
+
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
+import java.lang.reflect.InvocationTargetException;
+import java.util.Date;
+import java.util.Hashtable;
+import java.util.Locale;
+
+public class TimeZoneTest extends TestFmwk
+{
+    static final int millisPerHour = 3600000;
+
+    public static void main(String[] args) throws Exception {
+        new TimeZoneTest().run(args);
+    }
+
+    /**
+     * NOTE: As of ICU 2.8, the mapping of 3-letter legacy aliases
+     * to `real' Olson IDs is under control of the underlying JDK.
+     * This test may fail on one JDK and pass on another; don't be
+     * too concerned.  Alan
+     *
+     * Bug 4130885
+     * Certain short zone IDs, used since 1.1.x, are incorrect.
+     *  
+     * The worst of these is:
+     *
+     * "CAT" (Central African Time) should be GMT+2:00, but instead returns a
+     * zone at GMT-1:00. The zone at GMT-1:00 should be called EGT, CVT, EGST,
+     * or AZOST, depending on which zone is meant, but in no case is it CAT.
+     *
+     * Other wrong zone IDs:
+     *
+     * ECT (European Central Time) GMT+1:00: ECT is Ecuador Time,
+     * GMT-5:00. European Central time is abbreviated CEST.
+     *
+     * SST (Solomon Island Time) GMT+11:00. SST is actually Samoa Standard Time,
+     * GMT-11:00. Solomon Island time is SBT.
+     *
+     * NST (New Zealand Time) GMT+12:00. NST is the abbreviation for
+     * Newfoundland Standard Time, GMT-3:30. New Zealanders use NZST.
+     *
+     * AST (Alaska Standard Time) GMT-9:00. [This has already been noted in
+     * another bug.] It should be "AKST". AST is Atlantic Standard Time,
+     * GMT-4:00.
+     *
+     * PNT (Phoenix Time) GMT-7:00. PNT usually means Pitcairn Time,
+     * GMT-8:30. There is no standard abbreviation for Phoenix time, as distinct
+     * from MST with daylight savings.
+     *
+     * In addition to these problems, a number of zones are FAKE. That is, they
+     * don't match what people use in the real world.
+     *
+     * FAKE zones:
+     *
+     * EET (should be EEST)
+     * ART (should be EEST)
+     * MET (should be IRST)
+     * NET (should be AMST)
+     * PLT (should be PKT)
+     * BST (should be BDT)
+     * VST (should be ICT)
+     * CTT (should be CST) +
+     * ACT (should be CST) +
+     * AET (should be EST) +
+     * MIT (should be WST) +
+     * IET (should be EST) +
+     * PRT (should be AST) +
+     * CNT (should be NST)
+     * AGT (should be ARST)
+     * BET (should be EST) +
+     *
+     * + A zone with the correct name already exists and means something
+     * else. E.g., EST usually indicates the US Eastern zone, so it cannot be
+     * used for Brazil (BET).
+     */
+    public void TestShortZoneIDs() throws Exception {
+
+        ZoneDescriptor[] JDK_116_REFERENCE_LIST = {
+            new ZoneDescriptor("MIT", -660, false),
+            new ZoneDescriptor("HST", -600, false),
+            new ZoneDescriptor("AST", -540, true),
+            new ZoneDescriptor("PST", -480, true),
+            new ZoneDescriptor("PNT", -420, false),
+            new ZoneDescriptor("MST", -420, true),
+            new ZoneDescriptor("CST", -360, true),
+            new ZoneDescriptor("IET", -300, false),
+            new ZoneDescriptor("EST", -300, true),
+            new ZoneDescriptor("PRT", -240, false),
+            new ZoneDescriptor("CNT", -210, true),
+            new ZoneDescriptor("AGT", -180, false),
+            new ZoneDescriptor("BET", -180, true),
+            // new ZoneDescriptor("CAT", -60, false), // Wrong:
+            // As of bug 4130885, fix CAT (Central Africa)
+            new ZoneDescriptor("CAT", 120, false), // Africa/Harare
+            new ZoneDescriptor("GMT", 0, false),
+            new ZoneDescriptor("UTC", 0, false),
+            new ZoneDescriptor("ECT", 60, true),
+            new ZoneDescriptor("ART", 120, true),
+            new ZoneDescriptor("EET", 120, true),
+            new ZoneDescriptor("EAT", 180, false),
+            // new ZoneDescriptor("MET", 210, true),
+            // This is a standard Unix zone, so don't remap it - Liu 3Jan01
+            // new ZoneDescriptor("NET", 240, false);
+            // As of bug 4191164, fix NET
+            new ZoneDescriptor("NET", 240, true),
+            // PLT behaves differently under different JDKs, so we don't check it
+            // new ZoneDescriptor("PLT", 300, false), // updated Oct 2003 aliu
+            new ZoneDescriptor("IST", 330, false),
+            new ZoneDescriptor("BST", 360, false),
+            new ZoneDescriptor("VST", 420, false),
+            new ZoneDescriptor("CTT", 480, false), // updated Oct 2003 aliu
+            new ZoneDescriptor("JST", 540, false),
+            new ZoneDescriptor("ACT", 570, false), // updated Oct 2003 aliu
+            new ZoneDescriptor("AET", 600, true),
+            new ZoneDescriptor("SST", 660, false),
+            // new ZoneDescriptor("NST", 720, false),
+            // As of bug 4130885, fix NST (New Zealand)
+            new ZoneDescriptor("NST", 720, true), // Pacific/Auckland
+
+            // [3Jan01 Liu] Three of these zones have been updated.
+            // The CTT and ACT zones just remap to Asia/Shanghai
+            // and Australia/Darwin.  Since those zones have changed,
+            // I have updated the table.  The MET zone used to be mapped
+            // to Asia/Tehran but since MET is a standard Unix zone named
+            // in the source data we no longer do this in icu or icu4j.
+        };
+
+        Hashtable hash = new Hashtable();
+
+        String[] ids = TimeZone.getAvailableIDs();
+        for (int i=0; i<ids.length; ++i) {
+            String id = ids[i];
+            if (id.length() == 3) {
+                hash.put(id, new ZoneDescriptor(TimeZone.getTimeZone(id)));
+            }
+        }
+
+        for (int i=0; i<JDK_116_REFERENCE_LIST.length; ++i) {
+            ZoneDescriptor referenceZone = JDK_116_REFERENCE_LIST[i];
+            ZoneDescriptor currentZone = (ZoneDescriptor)hash.get(referenceZone.getID());
+            if (referenceZone.equals(currentZone)) {
+                logln("ok " + referenceZone);
+            }
+            else {
+                errln("Fail: Expected " + referenceZone +
+                      "; got " + currentZone);
+            }
+        }
+    }
+
+    /**
+     * A descriptor for a zone; used to regress the short zone IDs.
+     */
+    static class ZoneDescriptor {
+        String id;
+        int offset; // In minutes
+        boolean daylight;
+
+        ZoneDescriptor(TimeZone zone) {
+            this.id = zone.getID();
+            this.offset = zone.getRawOffset() / 60000;
+            this.daylight = zone.useDaylightTime();
+        }
+
+        ZoneDescriptor(String id, int offset, boolean daylight) {
+            this.id = id;
+            this.offset = offset;
+            this.daylight = daylight;
+        }
+
+        public String getID() { return id; }
+
+        public boolean equals(Object o) {
+            ZoneDescriptor that = (ZoneDescriptor)o;
+            return that != null &&
+                id.equals(that.id) &&
+                offset == that.offset &&
+                daylight == that.daylight;
+        }
+
+        public String toString() {
+            int min = offset;
+            char sign = '+';
+            if (min < 0) { sign = '-'; min = -min; }
+
+            return "Zone[\"" + id + "\", GMT" + sign + (min/60) + ':' +
+                (min%60<10?"0":"") + (min%60) + ", " +
+                (daylight ? "Daylight" : "Standard") + "]";
+        }
+
+        public static int compare(Object o1, Object o2) {
+            ZoneDescriptor i1 = (ZoneDescriptor)o1;
+            ZoneDescriptor i2 = (ZoneDescriptor)o2;
+            if (i1.offset > i2.offset) return 1;
+            if (i1.offset < i2.offset) return -1;
+            if (i1.daylight && !i2.daylight) return 1;
+            if (!i1.daylight && i2.daylight) return -1;
+            return i1.id.compareTo(i2.id);
+        }
+    }
+
+    static final String EXPECTED_CUSTOM_ID = "Custom";
+    static final String formatMinutes(int min) {
+        char sign = '+';
+        if (min < 0) { sign = '-'; min = -min; }
+        int h = min/60;
+        min = min%60;
+        return "" + sign + (h<10?"0":"") + h + ":" + (min<10?"0":"") + min;
+    }
+    /**
+     * As part of the VM fix (see CCC approved RFE 4028006, bug
+     * 4044013), TimeZone.getTimeZone() has been modified to recognize
+     * generic IDs of the form GMT[+-]hh:mm, GMT[+-]hhmm, and
+     * GMT[+-]hh.  Test this behavior here.
+     *
+     * Bug 4044013
+     */
+    public void TestCustomParse() {
+        Object[] DATA = {
+            // ID        Expected offset in minutes
+            "GMT",       null,
+            // "GMT0",      null, // This is parsed by some JDKs (Sun 1.4.1), but not by others
+            "GMT+0",     new Integer(0),
+            "GMT+1",     new Integer(60),
+            "GMT-0030",  new Integer(-30),
+            // Parsed in 1.3, parse failure in 1.4:
+            //"GMT+15:99", new Integer(15*60+99),
+            "GMT+",      null,
+            "GMT-",      null,
+            "GMT+0:",    null,
+            "GMT-:",     null,
+            "GMT+0010",  new Integer(10), // Interpret this as 00:10
+            "GMT-10",    new Integer(-10*60),
+            // Parsed in 1.3, parse failure in 1.4:
+            //"GMT+30",    new Integer(30),
+            "GMT-3:30",  new Integer(-(3*60+30)),
+            "GMT-230",   new Integer(-(2*60+30)),
+        };
+        for (int i=0; i<DATA.length; i+=2) {
+            String id = (String)DATA[i];
+            Integer exp = (Integer)DATA[i+1];
+            TimeZone zone = TimeZone.getTimeZone(id);
+            if (zone.getID().equals("GMT")) {
+                logln(id + " -> generic GMT");
+                // When TimeZone.getTimeZone() can't parse the id, it
+                // returns GMT -- a dubious practice, but required for
+                // backward compatibility.
+                if (exp != null) {
+                    errln("Expected offset of " + formatMinutes(exp.intValue()) +
+                          " for " + id + ", got parse failure");
+                }
+            }
+            else {
+                int ioffset = zone.getRawOffset()/60000;
+                String offset = formatMinutes(ioffset);
+                String genID = "GMT"+ offset;
+                logln(id + " -> " + zone.getID() + " " + genID);
+                if (exp == null) {
+                    errln("Expected parse failure for " + id +
+                          ", got offset of " + offset +
+                          ", id " + zone.getID());
+                }
+                // JDK 1.3 creates custom zones with the ID "Custom"
+                // JDK 1.4 creates custom zones with IDs of the form "GMT+02:00"
+                else if (ioffset != exp.intValue() ||
+                         !(zone.getID().equals(EXPECTED_CUSTOM_ID) ||
+                           zone.getID().equals(genID))) {
+                    errln("Expected offset of " + formatMinutes(exp.intValue()) +
+                          ", id Custom, for " + id +
+                          ", got offset of " + offset +
+                          ", id " + zone.getID());
+                }
+            }
+        }
+    }
+
+    /**
+     * Test the basic functionality of the getDisplayName() API.
+     *
+     * Bug 4112869
+     * Bug 4028006
+     *
+     * See also API change request A41.
+     *
+     * 4/21/98 - make smarter, so the test works if the ext resources
+     * are present or not.
+     */
+    public void TestDisplayName() {
+        TimeZone zone = TimeZone.getTimeZone("PST");
+        String name = zone.getDisplayName(Locale.ENGLISH);
+        logln("PST->" + name);
+        if (!name.equals("Pacific Standard Time"))
+            errln("Fail: Expected \"Pacific Standard Time\", got " + name +
+                  " for " + zone);
+
+        //*****************************************************************
+        // THE FOLLOWING LINES MUST BE UPDATED IF THE LOCALE DATA CHANGES
+        // THE FOLLOWING LINES MUST BE UPDATED IF THE LOCALE DATA CHANGES
+        // THE FOLLOWING LINES MUST BE UPDATED IF THE LOCALE DATA CHANGES
+        //*****************************************************************
+
+        // todo: check to see whether we can test for all of pst, pdt, pt
+        Object[] DATA = {
+            new Boolean(false), new Integer(TimeZone.SHORT), "PST",
+            new Boolean(true),  new Integer(TimeZone.SHORT), "PDT",
+            new Boolean(false), new Integer(TimeZone.LONG),  "Pacific Standard Time",
+            new Boolean(true),  new Integer(TimeZone.LONG),  "Pacific Daylight Time",
+        };
+
+        for (int i=0; i<DATA.length; i+=3) {
+            name = zone.getDisplayName(((Boolean)DATA[i]).booleanValue(),
+                                       ((Integer)DATA[i+1]).intValue(),
+                                       Locale.ENGLISH);
+            if (!name.equals(DATA[i+2]))
+                errln("Fail: Expected " + DATA[i+2] + "; got " + name);
+        }
+
+        // Make sure that we don't display the DST name by constructing a fake
+        // PST zone that has DST all year long.
+        SimpleTimeZone zone2 = new SimpleTimeZone(0, "PST");
+        zone2.setStartRule(Calendar.JANUARY, 1, 0);
+        zone2.setEndRule(Calendar.DECEMBER, 31, 0);
+        logln("Modified PST inDaylightTime->" + zone2.inDaylightTime(new Date()));
+        name = zone2.getDisplayName(Locale.ENGLISH);
+        logln("Modified PST->" + name);
+        if (!name.equals("Pacific Standard Time"))
+            errln("Fail: Expected \"Pacific Standard Time\"");
+
+        // Make sure we get the default display format for Locales
+        // with no display name data.
+        Locale mt_MT = new Locale("mt", "MT");
+        name = zone.getDisplayName(mt_MT);
+        //*****************************************************************
+        // THE FOLLOWING LINE MUST BE UPDATED IF THE LOCALE DATA CHANGES
+        // THE FOLLOWING LINE MUST BE UPDATED IF THE LOCALE DATA CHANGES
+        // THE FOLLOWING LINE MUST BE UPDATED IF THE LOCALE DATA CHANGES
+        //*****************************************************************
+        logln("PST(mt_MT)->" + name);
+
+        // Now be smart -- check to see if zh resource is even present.
+        // If not, we expect the en fallback behavior.
+
+        // in icu4j 2.1 we know we have the zh_CN locale data, though it's incomplete
+//    /"DateFormatZoneData", 
+        UResourceBundle enRB = UResourceBundle.getBundleInstance(ICUResourceBundle.ICU_BASE_NAME,Locale.ENGLISH);
+        UResourceBundle mtRB = UResourceBundle.getBundleInstance(ICUResourceBundle.ICU_BASE_NAME, mt_MT);
+        boolean noZH = enRB == mtRB;
+
+        if (noZH) {
+            logln("Warning: Not testing the mt_MT behavior because resource is absent");
+            if (!name.equals("Pacific Standard Time"))
+                errln("Fail: Expected Pacific Standard Time for PST in mt_MT but got ");
+        }
+        else if(!name.equals("Pacific Standard Time") &&
+            !name.equals("GMT-08:00") &&
+            !name.equals("GMT-8:00") &&
+            !name.equals("GMT-0800") &&
+            !name.equals("GMT-800")) {
+
+            errln("Fail: Expected GMT-08:00 or something similar");
+            errln("************************************************************");
+            errln("THE ABOVE FAILURE MAY JUST MEAN THE LOCALE DATA HAS CHANGED");
+            errln("************************************************************");
+        }
+        
+        // Now try a non-existent zone
+        zone2 = new SimpleTimeZone(90*60*1000, "xyzzy");
+        name = zone2.getDisplayName(Locale.ENGLISH);
+        logln("GMT+90min->" + name);
+        if (!name.equals("GMT+01:30") &&
+            !name.equals("GMT+1:30") &&
+            !name.equals("GMT+0130") &&
+            !name.equals("GMT+130"))
+            errln("Fail: Expected GMT+01:30 or something similar");
+        
+        // cover getDisplayName() - null arg
+        ULocale save = ULocale.getDefault();
+        ULocale.setDefault(ULocale.US);
+        name = zone2.getDisplayName();
+        logln("GMT+90min->" + name + "for default display locale");
+        if (!name.equals("GMT+01:30") &&
+            !name.equals("GMT+1:30") &&
+            !name.equals("GMT+0130") &&
+            !name.equals("GMT+130"))
+            errln("Fail: Expected GMT+01:30 or something similar");        
+        ULocale.setDefault(save);
+    }
+
+    public void TestGenericAPI() {
+        String id = "NewGMT";
+        int offset = 12345;
+
+        SimpleTimeZone zone = new SimpleTimeZone(offset, id);
+        if (zone.useDaylightTime()) errln("FAIL: useDaylightTime should return false");
+
+        TimeZone zoneclone = (TimeZone)zone.clone();
+        if (!zoneclone.equals(zone)) errln("FAIL: clone or operator== failed");
+        zoneclone.setID("abc");
+        if (zoneclone.equals(zone)) errln("FAIL: clone or operator!= failed");
+        // delete zoneclone;
+
+        zoneclone = (TimeZone)zone.clone();
+        if (!zoneclone.equals(zone)) errln("FAIL: clone or operator== failed");
+        zoneclone.setRawOffset(45678);
+        if (zoneclone.equals(zone)) errln("FAIL: clone or operator!= failed");
+
+        // C++ only
+        /*
+          SimpleTimeZone copy(*zone);
+          if (!(copy == *zone)) errln("FAIL: copy constructor or operator== failed");
+          copy = *(SimpleTimeZone*)zoneclone;
+          if (!(copy == *zoneclone)) errln("FAIL: assignment operator or operator== failed");
+          */
+
+        TimeZone saveDefault = TimeZone.getDefault();
+        TimeZone.setDefault(zone);
+        TimeZone defaultzone = TimeZone.getDefault();
+        if (defaultzone == zone) errln("FAIL: Default object is identical, not clone");
+        if (!defaultzone.equals(zone)) errln("FAIL: Default object is not equal");
+        TimeZone.setDefault(saveDefault);
+        // delete defaultzone;
+        // delete zoneclone;
+
+//      // ICU 2.6 Coverage
+//      logln(zone.toString());
+//      logln(zone.getDisplayName());
+//      SimpleTimeZoneAdapter stza = new SimpleTimeZoneAdapter((SimpleTimeZone) TimeZone.getTimeZone("GMT"));
+//      stza.setID("Foo");
+//      if (stza.hasSameRules(java.util.TimeZone.getTimeZone("GMT"))) {
+//          errln("FAIL: SimpleTimeZoneAdapter.hasSameRules");
+//      }
+//      stza.setRawOffset(3000);
+//      offset = stza.getOffset(GregorianCalendar.BC, 2001, Calendar.DECEMBER,
+//                              25, Calendar.TUESDAY, 12*60*60*1000);
+//      if (offset != 3000) {
+//          errln("FAIL: SimpleTimeZoneAdapter.getOffset");
+//      }
+//      SimpleTimeZoneAdapter dup = (SimpleTimeZoneAdapter) stza.clone();
+//      if (stza.hashCode() != dup.hashCode()) {
+//          errln("FAIL: SimpleTimeZoneAdapter.hashCode");
+//      }
+//      if (!stza.equals(dup)) {
+//          errln("FAIL: SimpleTimeZoneAdapter.equals");
+//      }
+//      logln(stza.toString());
+    }
+
+    public void TestRuleAPI()
+    {
+        // ErrorCode status = ZERO_ERROR;
+
+        int offset = (int)(60*60*1000*1.75); // Pick a weird offset
+        SimpleTimeZone zone = new SimpleTimeZone(offset, "TestZone");
+        if (zone.useDaylightTime()) errln("FAIL: useDaylightTime should return false");
+
+        // Establish our expected transition times.  Do this with a non-DST
+        // calendar with the (above) declared local offset.
+        GregorianCalendar gc = new GregorianCalendar(zone);
+        gc.clear();
+        gc.set(1990, Calendar.MARCH, 1);
+        long marchOneStd = gc.getTime().getTime(); // Local Std time midnight
+        gc.clear();
+        gc.set(1990, Calendar.JULY, 1);
+        long julyOneStd = gc.getTime().getTime(); // Local Std time midnight
+
+        // Starting and ending hours, WALL TIME
+        int startHour = (int)(2.25 * 3600000);
+        int endHour   = (int)(3.5  * 3600000);
+
+        zone.setStartRule(Calendar.MARCH, 1, 0, startHour);
+        zone.setEndRule  (Calendar.JULY,  1, 0, endHour);
+
+        gc = new GregorianCalendar(zone);
+        // if (failure(status, "new GregorianCalendar")) return;
+
+        long marchOne = marchOneStd + startHour;
+        long julyOne = julyOneStd + endHour - 3600000; // Adjust from wall to Std time
+
+        long expMarchOne = 636251400000L;
+        if (marchOne != expMarchOne)
+        {
+            errln("FAIL: Expected start computed as " + marchOne +
+                  " = " + new Date(marchOne));
+            logln("      Should be                  " + expMarchOne +
+                  " = " + new Date(expMarchOne));
+        }
+
+        long expJulyOne = 646793100000L;
+        if (julyOne != expJulyOne)
+        {
+            errln("FAIL: Expected start computed as " + julyOne +
+                  " = " + new Date(julyOne));
+            logln("      Should be                  " + expJulyOne +
+                  " = " + new Date(expJulyOne));
+        }
+
+        Calendar cal1 = Calendar.getInstance();
+        cal1.set(1990, Calendar.JANUARY, 1);
+        Calendar cal2 = Calendar.getInstance();
+        cal2.set(1990, Calendar.JUNE, 1);
+        _testUsingBinarySearch(zone, cal1.getTimeInMillis(),
+                               cal2.getTimeInMillis(), marchOne);
+        cal1.set(1990, Calendar.JUNE, 1);
+        cal2.set(1990, Calendar.DECEMBER, 31);
+        _testUsingBinarySearch(zone, cal1.getTimeInMillis(),
+                               cal2.getTimeInMillis(), julyOne);
+
+        if (zone.inDaylightTime(new Date(marchOne - 1000)) ||
+            !zone.inDaylightTime(new Date(marchOne)))
+            errln("FAIL: Start rule broken");
+        if (!zone.inDaylightTime(new Date(julyOne - 1000)) ||
+            zone.inDaylightTime(new Date(julyOne)))
+            errln("FAIL: End rule broken");
+
+        zone.setStartYear(1991);
+        if (zone.inDaylightTime(new Date(marchOne)) ||
+            zone.inDaylightTime(new Date(julyOne - 1000)))
+            errln("FAIL: Start year broken");
+
+        // failure(status, "TestRuleAPI");
+        // delete gc;
+        // delete zone;
+    }
+
+    void _testUsingBinarySearch(SimpleTimeZone tz, long min, long max, long expectedBoundary)
+    {
+        // ErrorCode status = ZERO_ERROR;
+        boolean startsInDST = tz.inDaylightTime(new Date(min));
+        // if (failure(status, "SimpleTimeZone::inDaylightTime")) return;
+        if (tz.inDaylightTime(new Date(max)) == startsInDST) {
+            logln("Error: inDaylightTime(" + new Date(max) + ") != " + (!startsInDST));
+            return;
+        }
+        // if (failure(status, "SimpleTimeZone::inDaylightTime")) return;
+        while ((max - min) > INTERVAL) {
+            long mid = (min + max) / 2;
+            if (tz.inDaylightTime(new Date(mid)) == startsInDST) {
+                min = mid;
+            }
+            else {
+                max = mid;
+            }
+            // if (failure(status, "SimpleTimeZone::inDaylightTime")) return;
+        }
+        logln("Binary Search Before: " + min + " = " + new Date(min));
+        logln("Binary Search After:  " + max + " = " + new Date(max));
+        long mindelta = expectedBoundary - min;
+        // not used long maxdelta = max - expectedBoundary;
+        if (mindelta >= 0 &&
+            mindelta <= INTERVAL &&
+            mindelta >= 0 &&
+            mindelta <= INTERVAL)
+            logln("PASS: Expected bdry:  " + expectedBoundary + " = " + new Date(expectedBoundary));
+        else
+            errln("FAIL: Expected bdry:  " + expectedBoundary + " = " + new Date(expectedBoundary));
+    }
+
+    static final int INTERVAL = 100;
+
+    // Bug 006; verify the offset for a specific zone.
+    public void TestPRTOffset()
+    {
+        TimeZone tz = TimeZone.getTimeZone( "PRT" );
+        if( tz == null ) {
+            errln( "FAIL: TimeZone(PRT) is null" );
+        }
+        else{
+            if (tz.getRawOffset() != (-4*millisPerHour))
+                errln("FAIL: Offset for PRT should be -4, got " +
+                      tz.getRawOffset() / (double)millisPerHour);
+        }
+
+    }
+
+    // Test various calls
+    public void TestVariousAPI518()
+    {
+        TimeZone time_zone = TimeZone.getTimeZone("PST");
+        Calendar cal = Calendar.getInstance();
+        cal.set(1997, Calendar.APRIL, 30);
+        Date d = cal.getTime();
+
+        logln("The timezone is " + time_zone.getID());
+
+        if (time_zone.inDaylightTime(d) != true)
+            errln("FAIL: inDaylightTime returned false");
+
+        if (time_zone.useDaylightTime() != true)
+            errln("FAIL: useDaylightTime returned false");
+
+        if (time_zone.getRawOffset() != -8*millisPerHour)
+            errln( "FAIL: getRawOffset returned wrong value");
+
+        GregorianCalendar gc = new GregorianCalendar();
+        gc.setTime(d);
+        if (time_zone.getOffset(GregorianCalendar.AD, gc.get(GregorianCalendar.YEAR), gc.get(GregorianCalendar.MONTH),
+                                gc.get(GregorianCalendar.DAY_OF_MONTH),
+                                gc.get(GregorianCalendar.DAY_OF_WEEK), 0)
+            != -7*millisPerHour)
+            errln("FAIL: getOffset returned wrong value");
+    }
+
+    // Test getAvailableID API
+    public void TestGetAvailableIDs913()
+    {
+        StringBuffer buf = new StringBuffer("TimeZone.getAvailableIDs() = { ");
+        String[] s = TimeZone.getAvailableIDs();
+        for (int i=0; i<s.length; ++i)
+        {
+            if (i > 0) buf.append(", ");
+            buf.append(s[i]);
+        }
+        buf.append(" };");
+        logln(buf.toString());
+
+        buf.setLength(0);
+        buf.append("TimeZone.getAvailableIDs(GMT+02:00) = { ");
+        s = TimeZone.getAvailableIDs(+2 * 60 * 60 * 1000);
+        for (int i=0; i<s.length; ++i)
+        {
+            if (i > 0) buf.append(", ");
+            buf.append(s[i]);
+        }
+        buf.append(" };");
+        logln(buf.toString());
+
+        TimeZone tz = TimeZone.getTimeZone("PST");
+        if (tz != null)
+            logln("getTimeZone(PST) = " + tz.getID());
+        else
+            errln("FAIL: getTimeZone(PST) = null");
+
+        tz = TimeZone.getTimeZone("America/Los_Angeles");
+        if (tz != null)
+            logln("getTimeZone(America/Los_Angeles) = " + tz.getID());
+        else
+            errln("FAIL: getTimeZone(PST) = null");
+
+        // Bug 4096694
+        tz = TimeZone.getTimeZone("NON_EXISTENT");
+        if (tz == null)
+            errln("FAIL: getTimeZone(NON_EXISTENT) = null");
+        else if (!tz.getID().equals("GMT"))
+            errln("FAIL: getTimeZone(NON_EXISTENT) = " + tz.getID());
+    }
+
+    /**
+     * Bug 4107276
+     */
+    public void TestDSTSavings() {
+        // It might be better to find a way to integrate this test into the main TimeZone
+        // tests above, but I don't have time to figure out how to do this (or if it's
+        // even really a good idea).  Let's consider that a future.  --rtg 1/27/98
+        SimpleTimeZone tz = new SimpleTimeZone(-5 * millisPerHour, "dstSavingsTest",
+                                               Calendar.MARCH, 1, 0, 0, Calendar.SEPTEMBER, 1, 0, 0,
+                                               (int)(0.5 * millisPerHour));
+
+        if (tz.getRawOffset() != -5 * millisPerHour)
+            errln("Got back a raw offset of " + (tz.getRawOffset() / millisPerHour) +
+                  " hours instead of -5 hours.");
+        if (!tz.useDaylightTime())
+            errln("Test time zone should use DST but claims it doesn't.");
+        if (tz.getDSTSavings() != 0.5 * millisPerHour)
+            errln("Set DST offset to 0.5 hour, but got back " + (tz.getDSTSavings() /
+                                                                 millisPerHour) + " hours instead.");
+
+        int offset = tz.getOffset(GregorianCalendar.AD, 1998, Calendar.JANUARY, 1,
+                                  Calendar.THURSDAY, 10 * millisPerHour);
+        if (offset != -5 * millisPerHour)
+            errln("The offset for 10 AM, 1/1/98 should have been -5 hours, but we got "
+                  + (offset / millisPerHour) + " hours.");
+
+        offset = tz.getOffset(GregorianCalendar.AD, 1998, Calendar.JUNE, 1, Calendar.MONDAY,
+                              10 * millisPerHour);
+        if (offset != -4.5 * millisPerHour)
+            errln("The offset for 10 AM, 6/1/98 should have been -4.5 hours, but we got "
+                  + (offset / millisPerHour) + " hours.");
+
+        tz.setDSTSavings(millisPerHour);
+        offset = tz.getOffset(GregorianCalendar.AD, 1998, Calendar.JANUARY, 1,
+                              Calendar.THURSDAY, 10 * millisPerHour);
+        if (offset != -5 * millisPerHour)
+            errln("The offset for 10 AM, 1/1/98 should have been -5 hours, but we got "
+                  + (offset / millisPerHour) + " hours.");
+
+        offset = tz.getOffset(GregorianCalendar.AD, 1998, Calendar.JUNE, 1, Calendar.MONDAY,
+                              10 * millisPerHour);
+        if (offset != -4 * millisPerHour)
+            errln("The offset for 10 AM, 6/1/98 (with a 1-hour DST offset) should have been -4 hours, but we got "
+                  + (offset / millisPerHour) + " hours.");
+    }
+
+    /**
+     * Bug 4107570
+     */
+    public void TestAlternateRules() {
+        // Like TestDSTSavings, this test should probably be integrated somehow with the main
+        // test at the top of this class, but I didn't have time to figure out how to do that.
+        //                      --rtg 1/28/98
+
+        SimpleTimeZone tz = new SimpleTimeZone(-5 * millisPerHour, "alternateRuleTest");
+
+        // test the day-of-month API
+        tz.setStartRule(Calendar.MARCH, 10, 12 * millisPerHour);
+        tz.setEndRule(Calendar.OCTOBER, 20, 12 * millisPerHour);
+
+        int offset = tz.getOffset(GregorianCalendar.AD, 1998, Calendar.MARCH, 5,
+                                  Calendar.THURSDAY, 10 * millisPerHour);
+        if (offset != -5 * millisPerHour)
+            errln("The offset for 10AM, 3/5/98 should have been -5 hours, but we got "
+                  + (offset / millisPerHour) + " hours.");
+
+        offset = tz.getOffset(GregorianCalendar.AD, 1998, Calendar.MARCH, 15,
+                              Calendar.SUNDAY, 10 * millisPerHour);
+        if (offset != -4 * millisPerHour)
+            errln("The offset for 10AM, 3/15/98 should have been -4 hours, but we got "
+                  + (offset / millisPerHour) + " hours.");
+
+        offset = tz.getOffset(GregorianCalendar.AD, 1998, Calendar.OCTOBER, 15,
+                              Calendar.THURSDAY, 10 * millisPerHour);
+        if (offset != -4 * millisPerHour)
+            errln("The offset for 10AM, 10/15/98 should have been -4 hours, but we got "
+                  + (offset / millisPerHour) + " hours.");
+
+        offset = tz.getOffset(GregorianCalendar.AD, 1998, Calendar.OCTOBER, 25,
+                              Calendar.SUNDAY, 10 * millisPerHour);
+        if (offset != -5 * millisPerHour)
+            errln("The offset for 10AM, 10/25/98 should have been -5 hours, but we got "
+                  + (offset / millisPerHour) + " hours.");
+
+        // test the day-of-week-after-day-in-month API
+        tz.setStartRule(Calendar.MARCH, 10, Calendar.FRIDAY, 12 * millisPerHour, true);
+        tz.setEndRule(Calendar.OCTOBER, 20, Calendar.FRIDAY, 12 * millisPerHour, false);
+
+        offset = tz.getOffset(GregorianCalendar.AD, 1998, Calendar.MARCH, 11,
+                              Calendar.WEDNESDAY, 10 * millisPerHour);
+        if (offset != -5 * millisPerHour)
+            errln("The offset for 10AM, 3/11/98 should have been -5 hours, but we got "
+                  + (offset / millisPerHour) + " hours.");
+
+        offset = tz.getOffset(GregorianCalendar.AD, 1998, Calendar.MARCH, 14,
+                              Calendar.SATURDAY, 10 * millisPerHour);
+        if (offset != -4 * millisPerHour)
+            errln("The offset for 10AM, 3/14/98 should have been -4 hours, but we got "
+                  + (offset / millisPerHour) + " hours.");
+
+        offset = tz.getOffset(GregorianCalendar.AD, 1998, Calendar.OCTOBER, 15,
+                              Calendar.THURSDAY, 10 * millisPerHour);
+        if (offset != -4 * millisPerHour)
+            errln("The offset for 10AM, 10/15/98 should have been -4 hours, but we got "
+                  + (offset / millisPerHour) + " hours.");
+
+        offset = tz.getOffset(GregorianCalendar.AD, 1998, Calendar.OCTOBER, 17,
+                              Calendar.SATURDAY, 10 * millisPerHour);
+        if (offset != -5 * millisPerHour)
+            errln("The offset for 10AM, 10/17/98 should have been -5 hours, but we got "
+                  + (offset / millisPerHour) + " hours.");
+    }
+
+    public void TestEquivalencyGroups() {
+        String id = "America/Los_Angeles";
+        int n = TimeZone.countEquivalentIDs(id);
+        if (n < 2) {
+            errln("FAIL: countEquivalentIDs(" + id + ") returned " + n +
+                  ", expected >= 2");
+        }
+        for (int i=0; i<n; ++i) {
+            String s = TimeZone.getEquivalentID(id, i);
+            if (s.length() == 0) {
+                errln("FAIL: getEquivalentID(" + id + ", " + i +
+                      ") returned \"" + s + "\", expected valid ID");
+            } else {
+                logln("" + i + ":" + s);
+            }
+        }
+    }
+
+    public void TestCountries() {
+        // Make sure America/Los_Angeles is in the "US" group, and
+        // Asia/Tokyo isn't.  Vice versa for the "JP" group.
+
+        String[] s = TimeZone.getAvailableIDs("US");
+        boolean la = false, tokyo = false;
+        String laZone = "America/Los_Angeles", tokyoZone = "Asia/Tokyo";
+
+        for (int i=0; i<s.length; ++i) {
+            if (s[i].equals(laZone)) {
+                la = true;
+            }
+            if (s[i].equals(tokyoZone)) {
+                tokyo = true;
+            }
+        }
+        if (!la || tokyo) {
+            errln("FAIL: " + laZone + " in US = " + la);
+            errln("FAIL: " + tokyoZone + " in US = " + tokyo);
+        }
+
+        s = TimeZone.getAvailableIDs("JP");
+        la = false; tokyo = false;
+
+        for (int i=0; i<s.length; ++i) {
+            if (s[i].equals(laZone)) {
+                la = true;
+            }
+            if (s[i].equals(tokyoZone)) {
+                tokyo = true;
+            }
+        }
+        if (la || !tokyo) {
+            errln("FAIL: " + laZone + " in JP = " + la);
+            errln("FAIL: " + tokyoZone + " in JP = " + tokyo);
+        }
+    }
+
+    public void TestFractionalDST() {
+    String tzName = "Australia/Lord_Howe"; // 30 min offset
+    java.util.TimeZone tz_java = java.util.TimeZone.getTimeZone(tzName);
+    int dst_java = 0;
+    try {
+        // hack so test compiles and runs in both JDK 1.3 and JDK 1.4
+        final Object[] args = new Object[0];
+        final Class[] argtypes = new Class[0];
+        java.lang.reflect.Method m = tz_java.getClass().getMethod("getDSTSavings", argtypes); 
+        dst_java = ((Integer) m.invoke(tz_java, args)).intValue();
+        if (dst_java <= 0 || dst_java >= 3600000) { // didn't get the fractional time zone we wanted
+        errln("didn't get fractional time zone!");
+        }
+    } catch (NoSuchMethodException e) {
+        // see JDKTimeZone for the reason for this code
+        dst_java = 3600000;
+    } catch (IllegalAccessException e) {
+        // see JDKTimeZone for the reason for this code
+        errln(e.getMessage());
+        dst_java = 3600000;
+    } catch (InvocationTargetException e) {
+        // see JDKTimeZone for the reason for this code
+        errln(e.getMessage());
+        dst_java = 3600000;
+    } catch (SecurityException e) {
+        warnln(e.getMessage());
+        return;
+    }
+    
+    com.ibm.icu.util.TimeZone tz_icu = com.ibm.icu.util.TimeZone.getTimeZone(tzName);
+    int dst_icu = tz_icu.getDSTSavings();
+
+    if (dst_java != dst_icu) {
+        errln("java reports dst savings of " + dst_java +
+          " but icu reports " + dst_icu + 
+          " for tz " + tz_icu.getID());
+    } else {
+        logln("both java and icu report dst savings of " + dst_java + " for tz " + tz_icu.getID());
+    }
+    }
+
+    public void TestGetOffsetDate() {
+        Calendar cal = Calendar.getInstance();
+        cal.set(1997, Calendar.JANUARY, 30);
+        long date = cal.getTimeInMillis();
+
+    TimeZone tz_icu = TimeZone.getTimeZone("America/Los_Angeles");
+    int offset = tz_icu.getOffset(date);
+    if (offset != -28800000) {
+        errln("expected offset -28800000, got: " + offset);
+    }
+
+    cal.set(1997, Calendar.JULY, 30);
+    date = cal.getTimeInMillis();
+    offset = tz_icu.getOffset(date);
+    if (offset != -25200000) {
+        errln("expected offset -25200000, got: " + offset);
+    }
+    }
+
+    // jb4484
+    public void TestSimpleTimeZoneSerialization() 
+    {
+        SimpleTimeZone stz0 = new SimpleTimeZone(32400000, "MyTimeZone");
+        SimpleTimeZone stz1 = new SimpleTimeZone(32400000, "Asia/Tokyo");
+        SimpleTimeZone stz2 = new SimpleTimeZone(32400000, "Asia/Tokyo");
+        stz2.setRawOffset(0);
+        SimpleTimeZone stz3 = new SimpleTimeZone(32400000, "Asia/Tokyo");
+        stz3.setStartYear(100);
+        SimpleTimeZone stz4 = new SimpleTimeZone(32400000, "Asia/Tokyo");
+        stz4.setStartYear(1000);
+        stz4.setDSTSavings(1800000);
+        stz4.setStartRule(3, 4, 180000);
+        stz4.setEndRule(6, 3, 4, 360000);
+        SimpleTimeZone stz5 = new SimpleTimeZone(32400000, "Asia/Tokyo");
+        stz5.setStartRule(2, 3, 4, 360000);
+        stz5.setEndRule(6, 3, 4, 360000);
+        
+        SimpleTimeZone[] stzs = { stz0, stz1, stz2, stz3, stz4, stz5, };
+
+        for (int i = 0; i < stzs.length; ++i) {
+            SimpleTimeZone stz = stzs[i];
+            try {
+                ByteArrayOutputStream baos = new ByteArrayOutputStream();
+                ObjectOutputStream oos = new ObjectOutputStream(baos);
+                oos.writeObject(stz);
+                oos.close();
+                byte[] bytes = baos.toByteArray();
+                logln("id: " + stz.getID() + " length: " + bytes.length);
+
+                ByteArrayInputStream bais = new ByteArrayInputStream(bytes);
+                ObjectInputStream ois = new ObjectInputStream(bais);
+
+                SimpleTimeZone stzDeserialized = (SimpleTimeZone)ois.readObject();
+                ois.close();
+
+                assertEquals("time zones", stz, stzDeserialized);
+            }
+            catch (ClassCastException cce) {
+                cce.printStackTrace();
+                errln("could not deserialize SimpleTimeZone");
+            }
+            catch (IOException ioe) {
+                errln(ioe.getMessage());
+            }
+            catch (ClassNotFoundException cnfe) {
+                errln(cnfe.getMessage());
+            }
+        }
+    }
+
+    // jb4175
+    /* Generated by org.unicode.cldr.tool.CountItems */
+    private static final String[] timeZoneTestNames = {
+        "America/Argentina/Buenos_Aires", "America/Buenos_Aires",
+        "America/Argentina/Catamarca", "America/Catamarca",
+        "America/Argentina/Cordoba", "America/Cordoba",
+        "America/Argentina/Jujuy", "America/Jujuy",
+        "America/Argentina/Mendoza", "America/Mendoza",
+        "America/Atka", "America/Adak",
+        "America/Ensenada", "America/Tijuana",
+        "America/Fort_Wayne", "America/Indianapolis",
+        "America/Indiana/Indianapolis", "America/Indianapolis",
+        "America/Kentucky/Louisville", "America/Louisville",
+        "America/Knox_IN", "America/Indiana/Knox",
+        "America/Porto_Acre", "America/Rio_Branco",
+        "America/Rosario", "America/Cordoba",
+        "America/Virgin", "America/St_Thomas",
+        "Asia/Ashkhabad", "Asia/Ashgabat",
+        "Asia/Chungking", "Asia/Chongqing",
+        "Asia/Dacca", "Asia/Dhaka",
+        "Asia/Istanbul", "Europe/Istanbul",
+        "Asia/Macao", "Asia/Macau",
+        "Asia/Tel_Aviv", "Asia/Jerusalem",
+        "Asia/Thimbu", "Asia/Thimphu",
+        "Asia/Ujung_Pandang", "Asia/Makassar",
+        "Asia/Ulan_Bator", "Asia/Ulaanbaatar",
+        "Australia/ACT", "Australia/Sydney",
+        "Australia/Canberra", "Australia/Sydney",
+        "Australia/LHI", "Australia/Lord_Howe",
+        "Australia/NSW", "Australia/Sydney",
+        "Australia/North", "Australia/Darwin",
+        "Australia/Queensland", "Australia/Brisbane",
+        "Australia/South", "Australia/Adelaide",
+        "Australia/Tasmania", "Australia/Hobart",
+        "Australia/Victoria", "Australia/Melbourne",
+        "Australia/West", "Australia/Perth",
+        "Australia/Yancowinna", "Australia/Broken_Hill",
+        "Brazil/Acre", "America/Rio_Branco",
+        "Brazil/DeNoronha", "America/Noronha",
+        "Brazil/East", "America/Sao_Paulo",
+        "Brazil/West", "America/Manaus",
+        "CST6CDT", "America/Chicago",
+        "Canada/Atlantic", "America/Halifax",
+        "Canada/Central", "America/Winnipeg",
+        "Canada/East-Saskatchewan", "America/Regina",
+        "Canada/Eastern", "America/Toronto",
+        "Canada/Mountain", "America/Edmonton",
+        "Canada/Newfoundland", "America/St_Johns",
+        "Canada/Pacific", "America/Vancouver",
+        "Canada/Saskatchewan", "America/Regina",
+        "Canada/Yukon", "America/Whitehorse",
+        "Chile/Continental", "America/Santiago",
+        "Chile/EasterIsland", "Pacific/Easter",
+        "Cuba", "America/Havana",
+        "EST", "America/Indianapolis",
+        "EST5EDT", "America/New_York",
+        "Egypt", "Africa/Cairo",
+        "Eire", "Europe/Dublin",
+        "Etc/GMT+0", "Etc/GMT",
+        "Etc/GMT-0", "Etc/GMT",
+        "Etc/GMT0", "Etc/GMT",
+        "Etc/Greenwich", "Etc/GMT",
+        "Etc/UCT", "Etc/GMT",
+        "Etc/UTC", "Etc/GMT",
+        "Etc/Universal", "Etc/GMT",
+        "Etc/Zulu", "Etc/GMT",
+        "Europe/Nicosia", "Asia/Nicosia",
+        "Europe/Tiraspol", "Europe/Chisinau",
+        "GB", "Europe/London",
+        "GB-Eire", "Europe/London",
+        "GMT", "Etc/GMT",
+        "GMT+0", "Etc/GMT",
+        "GMT-0", "Etc/GMT",
+        "GMT0", "Etc/GMT",
+        "Greenwich", "Etc/GMT",
+        "HST", "Pacific/Honolulu",
+        "Hongkong", "Asia/Hong_Kong",
+        "Iceland", "Atlantic/Reykjavik",
+        "Iran", "Asia/Tehran",
+        "Israel", "Asia/Jerusalem",
+        "Jamaica", "America/Jamaica",
+        "Japan", "Asia/Tokyo",
+        "Kwajalein", "Pacific/Kwajalein",
+        "Libya", "Africa/Tripoli",
+        "MST", "America/Phoenix",
+        "MST7MDT", "America/Denver",
+        "Mexico/BajaNorte", "America/Tijuana",
+        "Mexico/BajaSur", "America/Mazatlan",
+        "Mexico/General", "America/Mexico_City",
+        "NZ", "Pacific/Auckland",
+        "NZ-CHAT", "Pacific/Chatham",
+        "Navajo", "America/Shiprock", /* fixed from Mark's original */
+        "PRC", "Asia/Shanghai",
+        "PST8PDT", "America/Los_Angeles",
+        "Pacific/Samoa", "Pacific/Pago_Pago",
+        "Poland", "Europe/Warsaw",
+        "Portugal", "Europe/Lisbon",
+        "ROC", "Asia/Taipei",
+        "ROK", "Asia/Seoul",
+        "Singapore", "Asia/Singapore",
+        "SystemV/AST4", "America/Puerto_Rico",
+        "SystemV/AST4ADT", "America/Halifax",
+        "SystemV/CST6", "America/Regina",
+        "SystemV/CST6CDT", "America/Chicago",
+        "SystemV/EST5", "America/Indianapolis",
+        "SystemV/EST5EDT", "America/New_York",
+        "SystemV/HST10", "Pacific/Honolulu",
+        "SystemV/MST7", "America/Phoenix",
+        "SystemV/MST7MDT", "America/Denver",
+        "SystemV/PST8", "Pacific/Pitcairn",
+        "SystemV/PST8PDT", "America/Los_Angeles",
+        "SystemV/YST9", "Pacific/Gambier",
+        "SystemV/YST9YDT", "America/Anchorage",
+        "Turkey", "Europe/Istanbul",
+        "UCT", "Etc/GMT",
+        "US/Alaska", "America/Anchorage",
+        "US/Aleutian", "America/Adak",
+        "US/Arizona", "America/Phoenix",
+        "US/Central", "America/Chicago",
+        "US/East-Indiana", "America/Indianapolis",
+        "US/Eastern", "America/New_York",
+        "US/Hawaii", "Pacific/Honolulu",
+        "US/Indiana-Starke", "America/Indiana/Knox",
+        "US/Michigan", "America/Detroit",
+        "US/Mountain", "America/Denver",
+        "US/Pacific", "America/Los_Angeles",
+        "US/Pacific-New", "America/Los_Angeles",
+        "US/Samoa", "Pacific/Pago_Pago",
+        "UTC", "Etc/GMT",
+        "Universal", "Etc/GMT",
+        "W-SU", "Europe/Moscow",
+        "Zulu", "Etc/GMT",
+    };
+
+    public void TestOddTimeZoneNames() {
+        for (int i = 0; i < timeZoneTestNames.length; i += 2) {
+            String funkyName = timeZoneTestNames[i];
+            String correctName = timeZoneTestNames[i+1];
+
+            TimeZone ftz = TimeZone.getTimeZone(funkyName);
+            TimeZone ctz = TimeZone.getTimeZone(correctName);
+
+            String fdn = ftz.getDisplayName();
+            long fro = ftz.getRawOffset();
+            long fds = ftz.getDSTSavings();
+            boolean fdy = ftz.useDaylightTime();
+
+            String cdn = ctz.getDisplayName();
+            long cro = ctz.getRawOffset();
+            long cds = ctz.getDSTSavings();
+            boolean cdy = ctz.useDaylightTime();
+
+            if (!fdn.equals(cdn)) {
+                logln("display name (" + funkyName + ", " + correctName + ") expected: " + cdn + " but got: " + fdn);
+            } else if (fro != cro) {
+                logln("offset (" + funkyName + ", " + correctName + ") expected: " + cro + " but got: " + fro);
+            } else if (fds != cds) {
+                logln("daylight (" + funkyName + ", " + correctName + ") expected: " + cds + " but got: " + fds);
+            } else if (fdy != cdy) {
+                logln("uses daylight (" + funkyName + ", " + correctName + ") expected: " + cdy + " but got: " + fdy);
+            } else {
+                // no error, assume we're referencing the same internal java object
+            }
+        }
+    }
+    
+    public void TestCoverage(){
+        class StubTimeZone extends TimeZone{
+            public int getOffset(int era, int year, int month, int day, int dayOfWeek, int milliseconds) {return 0;}
+            public void setRawOffset(int offsetMillis) {}
+            public int getRawOffset() {return 0;}
+            public boolean useDaylightTime() {return false;}
+            public boolean inDaylightTime(Date date) {return false;}
+        } 
+        StubTimeZone stub = new StubTimeZone();
+        StubTimeZone stub2 = (StubTimeZone) stub.clone();
+        if (stub.getDSTSavings() != 0){
+            errln("TimeZone.getDSTSavings() should return 0");
+        }
+        if (!stub.hasSameRules(stub2)){
+            errln("TimeZone.clone() object should hasSameRules");
+        }
+    }
+}
+
+//eof
diff --git a/src/com/ibm/icu/dev/test/translit/CompoundTransliteratorTest.java b/src/com/ibm/icu/dev/test/translit/CompoundTransliteratorTest.java
new file mode 100755
index 0000000..4e43aed
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/translit/CompoundTransliteratorTest.java
@@ -0,0 +1,283 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.test.translit;
+import com.ibm.icu.text.*;
+import com.ibm.icu.dev.test.*;
+import com.ibm.icu.impl.Utility;
+
+
+
+/**
+ * @test
+ * @summary General test of CompoundTransliterator
+ */
+public class CompoundTransliteratorTest extends TestFmwk {
+
+    public static void main(String[] args) throws Exception {
+        new CompoundTransliteratorTest().run(args);
+    }
+
+    public void TestConstruction(){
+        logln("Testing the construction of the compound Transliterator");
+        String names[]={"Greek-Latin", "Latin-Devanagari", "Devanagari-Latin", "Latin-Greek"};
+        Transliterator t1=null;
+        Transliterator t2=null;
+        Transliterator t3=null;
+        Transliterator t4=null;
+
+        try {
+            t1=Transliterator.getInstance(names[0]);
+            t2=Transliterator.getInstance(names[1]);
+            t3=Transliterator.getInstance(names[2]);
+            t4=Transliterator.getInstance(names[3]);
+        }catch(IllegalArgumentException ex) {
+            errln("FAIL: Transliterator construction failed" + ex.getMessage());
+            throw ex;
+        }
+  
+        Transliterator[] transarray1={t1};
+        Transliterator[] transarray2={t1, t4};
+        Transliterator[] transarray3={t4, t1, t2};
+        Transliterator[] transarray4={t1, t2, t3, t4};
+
+        Transliterator[][] transarray={transarray1, transarray2, transarray3, transarray4}; 
+        final String IDs[]={
+            names[0], 
+            names[0]+";"+names[3], 
+            names[3]+";"+names[1]+";"+names[2], 
+            names[0]+";"+names[1]+";"+names[2]+";"+names[3] 
+        };
+
+   
+        for(int i=0; i<4; i++){
+            try{
+                Transliterator cpdtrans=Transliterator.getInstance(IDs[i]);
+            }catch(IllegalArgumentException ex1) {
+                errln("FAIL: construction using CompoundTransliterator(String ID) failed for " + IDs[i]);
+                throw ex1;
+            }
+
+            try{
+                Transliterator cpdtrans=Transliterator.getInstance(IDs[i], Transliterator.FORWARD);
+                cpdtrans = null;
+            }catch(IllegalArgumentException ex2) {
+                errln("FAIL: construction using CompoundTransliterator(String ID, int direction=FORWARD) failed for " + IDs[i]);
+                throw ex2;
+            }
+
+            try{
+                Transliterator cpdtrans=Transliterator.getInstance(IDs[i], Transliterator.REVERSE);
+                cpdtrans = null;
+            }catch(IllegalArgumentException ex3) {
+                errln("FAIL: construction using CompoundTransliterator(String ID, int direction=REVERSE) failed for " + IDs[i]);
+                throw ex3;
+            }
+
+//            try{
+//                CompoundTransliterator cpdtrans=new CompoundTransliterator(IDs[i], Transliterator.FORWARD, null);
+//                cpdtrans = null;
+//            }catch(IllegalArgumentException ex4) {
+//                errln("FAIL: construction using CompoundTransliterator(String ID, int direction=FORWARD," +
+//                        "UnicodeFilter adoptedFilter=0) failed for " + IDs[i]);
+//                throw ex4;
+//            }
+//  
+//       
+//            try{
+//                CompoundTransliterator cpdtrans2=new CompoundTransliterator(transarray[i], null);
+//                cpdtrans2 = null;
+//            }catch(IllegalArgumentException ex5) {
+//                errln("FAIL: Construction using CompoundTransliterator(Transliterator transliterators[]," +
+//                       "UnicodeFilter adoptedFilter = 0)  failed");
+//                throw ex5;
+//            }
+
+            
+        }
+   
+    }
+ 
+    public void TestGetTransliterator(){
+        logln("Testing the getTransliterator() API of CompoundTransliterator");
+        String ID="Latin-Greek;Greek-Latin;Latin-Devanagari;Devanagari-Latin;Latin-Cyrillic;Cyrillic-Latin;Any-Hex;Hex-Any";
+        Transliterator ct1=null;
+        try{
+            //ct1=new CompoundTransliterator(ID);
+            ct1 = Transliterator.getInstance(ID);
+        }catch(IllegalArgumentException iae) {
+            errln("CompoundTransliterator construction failed for ID=" + ID);
+            throw iae;
+        }
+        //int count=ct1.getCount();
+        Transliterator elems[] = ct1.getElements();
+        int count = elems.length;
+        String array[]=split(ID, ';');
+        if (count != array.length) {
+            errln("Error: getCount() failed. Expected:" + array.length + " got:" + count);
+        }
+        for(int i=0; i < count; i++){
+            //String child= ct1.getTransliterator(i).getID();
+            String child = elems[i].getID();
+            if(!child.equals(array[i])){
+                errln("Error getTransliterator() failed: Expected->" + array[i] + " Got->" + child);
+            }else {
+                logln("OK: getTransliterator() passed: Expected->" + array[i] + " Got->" + child);
+            }
+        }
+
+        
+    }
+ 
+       
+    public void TestTransliterate(){
+        logln("Testing the handleTransliterate() API of CompoundTransliterator");
+        Transliterator ct1=null;
+        try{
+            ct1=Transliterator.getInstance("Any-Hex;Hex-Any");
+        }catch(IllegalArgumentException iae){
+            errln("FAIL: construction using CompoundTransliterator(String ID) failed for " + "Any-Hex;Hex-Any");
+            throw iae;
+        }
+    
+        String s="abcabc";
+        expect(ct1, s, s);
+        Transliterator.Position index = new Transliterator.Position();
+        ReplaceableString rsource2=new ReplaceableString(s);
+        String expectedResult=s;
+        ct1.transliterate(rsource2, index);
+        ct1.finishTransliteration(rsource2, index);
+        String result=rsource2.toString();
+        expectAux(ct1.getID() + ":ReplaceableString, index(0,0,0,0)", s + "->" + rsource2, result.equals(expectedResult), expectedResult);
+     
+        Transliterator.Position index2 = new Transliterator.Position(1,3,2,3);
+        ReplaceableString rsource3=new ReplaceableString(s);
+        ct1.transliterate(rsource3, index2); 
+        ct1.finishTransliteration(rsource3, index2);
+        result=rsource3.toString();
+        expectAux(ct1.getID() + ":String, index2(1,2,2,3)", s + "->" + rsource3, result.equals(expectedResult), expectedResult);
+
+       
+        String Data[]={
+             //ID, input string, transliterated string
+             "Any-Hex;Hex-Any;Any-Hex",     "hello",  "\\u0068\\u0065\\u006C\\u006C\\u006F", 
+             "Any-Hex;Hex-Any",                 "hello! How are you?",  "hello! How are you?",
+             "Devanagari-Latin;Latin-Devanagari",       "\u092D\u0948'\u0930'\u0935",  "\u092D\u0948\u0930\u0935", // quotes lost
+             "Latin-Cyrillic;Cyrillic-Latin",           "a'b'k'd'e'f'g'h'i'j'Shch'shch'zh'h", "a'b'k'd'e'f'g'h'i'j'Shch'shch'zh'h",
+             "Latin-Greek;Greek-Latin",                 "ABGabgAKLMN", "ABGabgAKLMN",
+             //"Latin-Arabic;Arabic-Latin",               "Ad'r'a'b'i'k'dh'dd'gh", "Adrabikdhddgh",
+             "Hiragana-Katakana",                       "\u3041\u308f\u3099\u306e\u304b\u3092\u3099", 
+                                                                 "\u30A1\u30f7\u30ce\u30ab\u30fa",  
+             "Hiragana-Katakana;Katakana-Hiragana",     "\u3041\u308f\u3099\u306e\u304b\u3051", 
+                                                                 "\u3041\u308f\u3099\u306e\u304b\u3051",
+             "Katakana-Hiragana;Hiragana-Katakana",     "\u30A1\u30f7\u30ce\u30f5\u30f6", 
+                                                                 "\u30A1\u30f7\u30ce\u30ab\u30b1",  
+             "Latin-Katakana;Katakana-Latin",                   "vavivuvevohuzizuzoninunasesuzezu", 
+                                                                 "vavivuvevohuzizuzoninunasesuzezu",  
+        };
+        Transliterator ct2=null;
+        for(int i=0; i<Data.length; i+=3){
+            try{
+                ct2=Transliterator.getInstance(Data[i+0]);
+            }catch(IllegalArgumentException iae2){
+                errln("FAIL: CompoundTransliterator construction failed for " + Data[i+0]);
+                throw iae2;
+            }
+        expect(ct2, Data[i+1], Data[i+2]);
+        }
+   
+    }
+ 
+
+    //======================================================================
+    // Support methods
+    //======================================================================
+
+     /**
+     * Splits a string,
+    */
+    private static String[] split(String s, char divider) {
+      
+    // see how many there are
+        int count = 1;
+    for (int i = 0; i < s.length(); ++i) {
+       if (s.charAt(i) == divider) ++count;
+    }
+        
+    // make an array with them
+    String[] result = new String[count];
+    int last = 0;
+    int current = 0;
+    int i;
+    for (i = 0; i < s.length(); ++i) {
+        if (s.charAt(i) == divider) {
+            result[current++] = s.substring(last,i);
+            last = i+1;
+        }
+    }
+    result[current++] = s.substring(last,i);
+    return result;
+    }
+
+    private void expect(Transliterator t, String source, String expectedResult) {
+        String result = t.transliterate(source);
+        expectAux(t.getID() + ":String", source, result, expectedResult);
+
+        ReplaceableString rsource = new ReplaceableString(source);
+        t.transliterate(rsource);
+        result = rsource.toString();
+        expectAux(t.getID() + ":Replaceable", source, result, expectedResult);
+
+        // Test keyboard (incremental) transliteration -- this result
+        // must be the same after we finalize (see below).
+        rsource.replace(0, rsource.length(), "");
+        Transliterator.Position index = new Transliterator.Position();
+        StringBuffer log = new StringBuffer();
+
+        for (int i=0; i<source.length(); ++i) {
+            if (i != 0) {
+                log.append(" + ");
+            }
+            log.append(source.charAt(i)).append(" -> ");
+            t.transliterate(rsource, index,
+                            String.valueOf(source.charAt(i)));
+            // Append the string buffer with a vertical bar '|' where
+            // the committed index is.
+            String s = rsource.toString();
+            log.append(s.substring(0, index.start)).
+                append('|').
+                append(s.substring(index.start));
+        }
+        
+        // As a final step in keyboard transliteration, we must call
+        // transliterate to finish off any pending partial matches that
+        // were waiting for more input.
+        t.finishTransliteration(rsource, index);
+        result = rsource.toString();
+        log.append(" => ").append(rsource.toString());
+        expectAux(t.getID() + ":Keyboard", log.toString(),
+                 result.equals(expectedResult),
+                 expectedResult);
+
+    }
+    private void expectAux(String tag, String source,
+                  String result, String expectedResult) {
+        expectAux(tag, source + " -> " + result,
+                 result.equals(expectedResult),
+                 expectedResult);
+    }
+
+    private void expectAux(String tag, String summary, boolean pass, String expectedResult) {
+        if (pass) {
+            logln("(" + tag + ") " + Utility.escape(summary));
+        } else {
+            errln("FAIL: (" + tag+ ") "
+                + Utility.escape(summary)
+                + ", expected " + Utility.escape(expectedResult));
+        }
+    }  
+}
+
diff --git a/src/com/ibm/icu/dev/test/translit/ErrorTest.java b/src/com/ibm/icu/dev/test/translit/ErrorTest.java
new file mode 100755
index 0000000..e41988a
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/translit/ErrorTest.java
@@ -0,0 +1,245 @@
+/**
+ *******************************************************************************
+ * Copyright (C) 2001-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.test.translit;
+import com.ibm.icu.dev.test.*;
+import com.ibm.icu.text.*;
+
+/**
+ * @test
+ * @summary Error condition test of Transliterator
+ */
+public class ErrorTest extends TestFmwk {
+
+    public static void main(String[] args) throws Exception {
+        new ErrorTest().run(args);
+    }
+
+    public void TestTransliteratorErrors() {
+        String trans = "Latin-Greek";
+        String bogusID = "LATINGREEK-GREEKLATIN";
+        String newID = "Bogus-Latin";
+        String newIDRules = "zzz > Z; f <> ph";
+        String bogusRules = "a } [b-g m-p ";
+        ReplaceableString testString =
+            new ReplaceableString("A quick fox jumped over the lazy dog.");
+        String insertString = "cats and dogs";
+        int stoppedAt = 0, len;
+        Transliterator.Position pos = new Transliterator.Position();
+
+        Transliterator t =
+            Transliterator.getInstance(trans, Transliterator.FORWARD);
+        if (t == null) {
+            errln("FAIL: construction of Latin-Greek");
+            return;
+        }
+        len = testString.length();
+        stoppedAt = t.transliterate(testString, 0, 100);
+        if (stoppedAt != -1) {
+            errln("FAIL: Out of bounds check failed (1).");
+        } else if (testString.length() != len) {
+            testString =
+                new ReplaceableString("A quick fox jumped over the lazy dog.");
+            errln("FAIL: Transliterate fails and the target string was modified.");
+        }
+        stoppedAt = t.transliterate(testString, 100, testString.length() - 1);
+        if (stoppedAt != -1) {
+            errln("FAIL: Out of bounds check failed (2).");
+        } else if (testString.length() != len) {
+            testString =
+                new ReplaceableString("A quick fox jumped over the lazy dog.");
+            errln("FAIL: Transliterate fails and the target string was modified.");
+        }
+        pos.start = 100;
+        pos.limit = testString.length();
+        try {
+            t.transliterate(testString, pos);
+            errln("FAIL: Start offset is out of bounds, error not reported.");
+        } catch (IllegalArgumentException e) {
+            logln("Start offset is out of bounds and detected.");
+        }
+        pos.limit = 100;
+        pos.start = 0;
+
+        try {
+            t.transliterate(testString, pos);
+            errln("FAIL: Limit offset is out of bounds, error not reported.\n");
+        } catch (IllegalArgumentException e) {
+            logln("Start offset is out of bounds and detected.");
+        }
+        len = pos.contextLimit = testString.length();
+        pos.contextStart = 0;
+        pos.limit = len - 1;
+        pos.start = 5;
+        try {
+            t.transliterate(testString, pos, insertString);
+            if (len == pos.limit) {
+                errln("FAIL: Test insertion with string: the transliteration position limit didn't change as expected.");
+            }
+        } catch (IllegalArgumentException e) {
+            errln("Insertion test with string failed for some reason.");
+        }
+        pos.contextStart = 0;
+        pos.contextLimit = testString.length();
+        pos.limit = testString.length() - 1;
+        pos.start = 5;
+        try {
+            t.transliterate(testString, pos, 0x0061);
+            if (len == pos.limit) {
+                errln("FAIL: Test insertion with character: the transliteration position limit didn't change as expected.");
+            }
+        } catch (IllegalArgumentException e) {
+            errln("FAIL: Insertion test with UTF-16 code point failed for some reason.");
+        }
+        len = pos.limit = testString.length();
+        pos.contextStart = 0;
+        pos.contextLimit = testString.length() - 1;
+        pos.start = 5;
+        try {
+            t.transliterate(testString, pos, insertString);
+            errln("FAIL: Out of bounds check failed (3).");
+            if (testString.length() != len) {
+                errln("FAIL: The input string was modified though the offsets were out of bounds.");
+            }
+        } catch (IllegalArgumentException e) {
+            logln("Insertion test with out of bounds indexes.");
+        }
+        Transliterator t1 = null;
+        try {
+            t1 = Transliterator.getInstance(bogusID, Transliterator.FORWARD);
+            if (t1 != null) {
+                errln("FAIL: construction of bogus ID \"LATINGREEK-GREEKLATIN\"");
+            }
+        } catch (IllegalArgumentException e) {
+        }
+
+        //try { // unneeded - Exception cannot be thrown
+        Transliterator t2 =
+            Transliterator.createFromRules(
+                newID,
+                newIDRules,
+                Transliterator.FORWARD);
+        try {
+            Transliterator t3 = t2.getInverse();
+            errln("FAIL: The newID transliterator was not registered so createInverse should fail.");
+            if (t3 != null) {
+                errln("FAIL: The newID transliterator was not registered so createInverse should fail.");
+            }
+        } catch (Exception e) {
+        }
+        //} catch (Exception e) { }
+        try {
+            Transliterator t4 =
+                Transliterator.createFromRules(
+                    newID,
+                    bogusRules,
+                    Transliterator.FORWARD);
+            if (t4 != null) {
+                errln("FAIL: The rules is malformed but error was not reported.");
+            }
+        } catch (Exception e) {
+        }
+    }
+
+    public void TestUnicodeSetErrors() {
+        String badPattern = "[[:L:]-[0x0300-0x0400]";
+        UnicodeSet set = new UnicodeSet();
+        //String result;
+
+        if (!set.isEmpty()) {
+            errln("FAIL: The default ctor of UnicodeSet created a non-empty object.");
+        }
+        try {
+            set.applyPattern(badPattern);
+            errln("FAIL: Applied a bad pattern to the UnicodeSet object okay.");
+        } catch (IllegalArgumentException e) {
+            logln("Test applying with the bad pattern.");
+        }
+        try {
+            UnicodeSet set1 = new UnicodeSet(badPattern);
+            errln("FAIL: Created a UnicodeSet based on bad patterns.");
+            if (set1 != null) {
+                errln("FAIL: Created a UnicodeSet based on bad patterns.");
+            }
+        } catch (IllegalArgumentException e) {
+            logln("Test constructing with the bad pattern.");
+        }
+    }
+
+//    public void TestUniToHexErrors() {
+//        Transliterator t = null;
+//        try {
+//            t = new UnicodeToHexTransliterator("", true, null);
+//            if (t != null) {
+//                errln("FAIL: Created a UnicodeToHexTransliterator with an empty pattern.");
+//            }
+//        } catch (IllegalArgumentException e) {
+//        }
+//        try {
+//            t = new UnicodeToHexTransliterator("\\x", true, null);
+//            if (t != null) {
+//                errln("FAIL: Created a UnicodeToHexTransliterator with a bad pattern.");
+//            }
+//        } catch (IllegalArgumentException e) {
+//        }
+//        t = new UnicodeToHexTransliterator();
+//        try {
+//            ((UnicodeToHexTransliterator) t).applyPattern("\\x");
+//            errln("FAIL: UnicodeToHexTransliterator::applyPattern succeeded with a bad pattern.");
+//        } catch (Exception e) {
+//        }
+//    }
+
+    public void TestRBTErrors() {
+
+        String rules = "ab>y";
+        String id = "MyRandom-YReverse";
+        String goodPattern = "[[:L:]&[\\u0000-\\uFFFF]]"; /* all BMP letters */
+        UnicodeSet set = null;
+        try {
+            set = new UnicodeSet(goodPattern);
+            try {
+                Transliterator t =
+                    Transliterator.createFromRules(id, rules, Transliterator.REVERSE);
+                t.setFilter(set);
+                Transliterator.registerClass(id, t.getClass(), null);
+                Transliterator.unregister(id);
+                try {
+                    Transliterator t1 =
+                        Transliterator.getInstance(id, Transliterator.REVERSE);
+                    errln("FAIL: construction of unregistered ID should have failed.");
+                } catch (IllegalArgumentException e) {
+                }
+            } catch (IllegalArgumentException e) {
+                errln("FAIL: Was not able to create a good RBT to test registration.");
+            }
+        } catch (IllegalArgumentException e) {
+            errln("FAIL: Was not able to create a good UnicodeSet based on valid patterns.");
+            return;
+        }
+    }
+
+//    public void TestHexToUniErrors() {
+//        Transliterator t = null;
+//        //try { // unneeded - exception cannot be thrown
+//        t = new HexToUnicodeTransliterator("", null);
+//        //} catch (Exception e) {
+//        //    errln("FAIL: Could not create a HexToUnicodeTransliterator with an empty pattern.");
+//        //}
+//        try {
+//            t = new HexToUnicodeTransliterator("\\x", null);
+//            errln("FAIL: Created a HexToUnicodeTransliterator with a bad pattern.");
+//        } catch (IllegalArgumentException e) {
+//        }
+//
+//        t = new HexToUnicodeTransliterator();
+//        try {
+//            ((HexToUnicodeTransliterator) t).applyPattern("\\x");
+//            errln("FAIL: HexToUnicodeTransliterator::applyPattern succeeded with a bad pattern.");
+//        } catch (IllegalArgumentException e) {
+//        }
+//    }
+}
diff --git a/src/com/ibm/icu/dev/test/translit/JamoTest.java b/src/com/ibm/icu/dev/test/translit/JamoTest.java
new file mode 100755
index 0000000..f0eda8b
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/translit/JamoTest.java
@@ -0,0 +1,486 @@
+/**
+ *******************************************************************************
+ * Copyright (C) 2001-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.test.translit;
+import com.ibm.icu.text.*;
+import com.ibm.icu.impl.Utility;
+import java.util.*;
+
+/**
+ * @test
+ * @summary Test the Latin-Jamo transliterator
+ */
+public class JamoTest extends TransliteratorTest {
+
+    private static final char SEP = '\'';
+
+    public static void main(String[] args) throws Exception {
+        new JamoTest().run(args);
+    }
+
+    public void TestJamo() {
+        Transliterator latinJamo = Transliterator.getInstance("Latin-Jamo");
+        Transliterator jamoLatin = latinJamo.getInverse();
+
+        String[] CASE = {
+            // Column 1 is the latin text L1 to be fed to Latin-Jamo
+            // to yield output J.
+
+            // Column 2 is expected value of J.  J is fed to
+            // Jamo-Latin to yield output L2.
+
+            // Column 3 is expected value of L2.  If the expected
+            // value of L2 is L1, then L2 is null.
+            "bab", "(Bi)(A)(Bf)", null,
+            "babb", "(Bi)(A)(Bf)(Bi)(EU)", "bab"+SEP+"beu",
+            "babbba", "(Bi)(A)(Bf)(BB)(A)", null,
+            "bagg", "(Bi)(A)(GGf)", null,
+            "baggga", "(Bi)(A)(GGf)(Gi)(A)", null,
+            "bag"+SEP+"gga", "(Bi)(A)(Gf)(GGi)(A)", null,
+            "kabsa", "(Ki)(A)(Bf)(Si)(A)", null,
+            "kabska", "(Ki)(A)(BS)(Ki)(A)", null,
+            "gabsbka", "(Gi)(A)(BS)(Bi)(EU)(Ki)(A)", "gabsbeuka", // not (Kf)
+            "gga", "(GGi)(A)", null,
+            "bsa", "(Bi)(EU)(Si)(A)", "beusa",
+            "agg", "(IEUNG)(A)(GGf)", null,
+            "agga", "(IEUNG)(A)(GGi)(A)", null,
+            "la", "(R)(A)", "ra",
+            "bs", "(Bi)(EU)(Sf)", "beus",
+            "kalgga", "(Ki)(A)(L)(GGi)(A)", null,
+
+            // 'r' in a final position is treated like 'l'
+            "karka", "(Ki)(A)(L)(Ki)(A)", "kalka",
+        };
+
+        for (int i=0; i<CASE.length; i+=3) {
+            String jamo = nameToJamo(CASE[i+1]);
+            if (CASE[i+2] == null) {
+                expect(latinJamo, CASE[i], jamo, jamoLatin);
+            } else {
+                // Handle case where round-trip is expected to fail
+                expect(latinJamo, CASE[i], jamo);
+                expect(jamoLatin, jamo, CASE[i+2]);
+            }
+        }
+    }
+
+    /**
+     * These are problems turned up by the Hangul-Jamo;Jamo-Latin
+     * round trip test.
+     */
+    public void TestRoundTrip() {
+        String HANGUL[] = { "\uAC03\uC2F8",
+                            "\uC544\uC5B4"};
+        
+        Transliterator latinJamo = Transliterator.getInstance("Latin-Jamo");
+        Transliterator jamoLatin = latinJamo.getInverse();
+        Transliterator jamoHangul = Transliterator.getInstance("NFC");
+        Transliterator hangulJamo = Transliterator.getInstance("NFD");
+
+        StringBuffer buf = new StringBuffer();
+        for (int i=0; i<HANGUL.length; ++i) {
+            String hangul = HANGUL[i];
+            String jamo = hangulJamo.transliterate(hangul);
+            String latin = jamoLatin.transliterate(jamo);
+            String jamo2 = latinJamo.transliterate(latin);
+            String hangul2 = jamoHangul.transliterate(jamo2);
+            buf.setLength(0);
+            buf.append(hangul + " => " +
+                       jamoToName(jamo) + " => " +
+                       latin + " => " + jamoToName(jamo2)
+                       + " => " + hangul2
+                       );
+            if (!hangul.equals(hangul2)) {
+                errln("FAIL: " + Utility.escape(buf.toString()));
+            } else {
+                logln(Utility.escape(buf.toString()));
+            }
+        }
+    }
+
+    /**
+     * Test various step-at-a-time transformation of hangul to jamo to
+     * latin and back.
+     */
+    public void TestPiecemeal() {
+        String hangul = "\uBC0F";
+        String jamo = nameToJamo("(Mi)(I)(Cf)");
+        String latin = "mic";
+
+        Transliterator t = null;
+
+        t = Transliterator.getInstance("NFD"); // was Hangul-Jamo
+        expect(t, hangul, jamo);
+
+        t = Transliterator.getInstance("NFC"); // was Jamo-Hangul
+        expect(t, jamo, hangul);
+
+        t = Transliterator.getInstance("Latin-Jamo");
+        expect(t, latin, jamo);
+
+        t = Transliterator.getInstance("Jamo-Latin");
+        expect(t, jamo, latin);
+
+        t = Transliterator.getInstance("Hangul-Latin");
+        expect(t, hangul, latin);
+
+        t = Transliterator.getInstance("Latin-Hangul");
+        expect(t, latin, hangul);
+
+        t = Transliterator.getInstance("Hangul-Latin; Latin-Jamo");
+        expect(t, hangul, jamo);
+
+        t = Transliterator.getInstance("Jamo-Latin; Latin-Hangul");
+        expect(t, jamo, hangul);
+
+        t = Transliterator.getInstance("Hangul-Latin; Latin-Hangul");
+        expect(t, hangul, hangul);
+    }
+
+    public void TestRealText() {
+        Transliterator latinJamo = Transliterator.getInstance("Latin-Jamo");
+        Transliterator jamoLatin = latinJamo.getInverse();
+        Transliterator jamoHangul = Transliterator.getInstance("NFC");
+        Transliterator hangulJamo = Transliterator.getInstance("NFD");
+        //Transliterator rt = new CompoundTransliterator(new Transliterator[] {
+        //    hangulJamo, jamoLatin, latinJamo, jamoHangul });
+        Transliterator rt = Transliterator.getInstance("NFD;Jamo-Latin;Latin-Jamo;NFC");
+
+        int pos = 0;
+        StringBuffer buf = new StringBuffer();
+        int total = 0;
+        int errors = 0;
+        while (pos < WHAT_IS_UNICODE.length()) {
+            int space = WHAT_IS_UNICODE.indexOf(' ', pos+1);
+            if (space < 0) {
+                space = WHAT_IS_UNICODE.length();
+            }
+            if (pos < space) {
+                ++total;
+                String hangul = WHAT_IS_UNICODE.substring(pos, space);
+                String hangulX = rt.transliterate(hangul);
+                if (!hangul.equals(hangulX)) {
+                    ++errors;
+                    String jamo = hangulJamo.transliterate(hangul);
+                    String latin = jamoLatin.transliterate(jamo);
+                    String jamo2 = latinJamo.transliterate(latin);
+                    String hangul2 = jamoHangul.transliterate(jamo2);
+                    if (hangul.equals(hangul2)) {
+                        buf.setLength(0);
+                        buf.append("FAIL (Compound transliterator problem): ");
+                        buf.append(hangul + " => " +
+                                   jamoToName(jamo) + " => " +
+                                   latin + " => " + jamoToName(jamo2)
+                                   + " => " + hangul2 +
+                                   "; but " + hangul + " =cpd=> " + jamoToName(hangulX)
+                                   );
+                        errln(Utility.escape(buf.toString()));                        
+                    } else if (jamo.equals(jamo2)) {
+                        buf.setLength(0);
+                        buf.append("FAIL (Jamo<>Hangul problem): ");
+                        if (!hangul2.equals(hangulX)) {
+                            buf.append("(Weird: " + hangulX + " != " + hangul2 + ")");
+                        }
+                        buf.append(hangul + " => " +
+                                   jamoToName(jamo) + " => " +
+                                   latin + " => " + jamoToName(jamo2)
+                                   + " => " + hangul2
+                                   );
+                        errln(Utility.escape(buf.toString()));                        
+                    } else {
+                        buf.setLength(0);
+                        buf.append("FAIL: ");
+                        if (!hangul2.equals(hangulX)) {
+                            buf.append("(Weird: " + hangulX + " != " + hangul2 + ")");
+                        }
+                        // The Hangul-Jamo conversion is not usually the
+                        // bug here, so we hide it from display.
+                        // Uncomment lines to see the Hangul.
+                        buf.append(//hangul + " => " +
+                                   jamoToName(jamo) + " => " +
+                                   latin + " => " + jamoToName(jamo2)
+                                   //+ " => " + hangul2
+                                   );
+                        errln(Utility.escape(buf.toString()));
+                    }
+                }
+            }
+            pos = space+1;
+        }
+        if (errors != 0) {
+            errln("Test word failures: " + errors + " out of " + total);
+        } else {
+            logln("All " + total + " test words passed");
+        }
+    }
+
+    // Test text taken from the Unicode web site
+    static final String WHAT_IS_UNICODE =
+
+        "\uc720\ub2c8\ucf54\ub4dc\uc5d0 \ub300\ud574 ? " +
+
+        "\uc5b4\ub5a4 \ud50c\ub7ab\ud3fc, \uc5b4\ub5a4 " +
+        "\ud504\ub85c\uadf8\ub7a8, \uc5b4\ub5a4 \uc5b8\uc5b4\uc5d0\ub3c4 " +
+        "\uc0c1\uad00\uc5c6\uc774 \uc720\ub2c8\ucf54\ub4dc\ub294 \ubaa8\ub4e0 " +
+        "\ubb38\uc790\uc5d0 \ub300\ud574 \uace0\uc720 \ubc88\ud638\ub97c " +
+        "\uc81c\uacf5\ud569\ub2c8\ub2e4. " +
+        
+        "\uae30\ubcf8\uc801\uc73c\ub85c \ucef4\ud4e8\ud130\ub294 " +
+        "\uc22b\uc790\ub9cc \ucc98\ub9ac\ud569\ub2c8\ub2e4. \uae00\uc790\ub098 " +
+        "\ub2e4\ub978 \ubb38\uc790\uc5d0\ub3c4 \uc22b\uc790\ub97c " +
+        "\uc9c0\uc815\ud558\uc5ec " +
+        "\uc800\uc7a5\ud569\ub2c8\ub2e4. \uc720\ub2c8\ucf54\ub4dc\uac00 " +
+        "\uac1c\ubc1c\ub418\uae30 \uc804\uc5d0\ub294 \uc774\ub7ec\ud55c " +
+        "\uc22b\uc790\ub97c \uc9c0\uc815\ud558\uae30 \uc704\ud574 \uc218\ubc31 " +
+        "\uac00\uc9c0\uc758 \ub2e4\ub978 \uae30\ud638\ud654 " +
+        "\uc2dc\uc2a4\ud15c\uc744 " +
+        "\uc0ac\uc6a9\ud588\uc2b5\ub2c8\ub2e4. \ub2e8\uc77c \uae30\ud638\ud654 " +
+        "\ubc29\ubc95\uc73c\ub85c\ub294 \ubaa8\ub4e0 \ubb38\uc790\ub97c " +
+        "\ud3ec\ud568\ud560 \uc218 \uc5c6\uc5c8\uc2b5\ub2c8\ub2e4. \uc608\ub97c " +
+        "\ub4e4\uc5b4 \uc720\ub7fd \uc5f0\ud569\uc5d0\uc11c\ub9cc " +
+        "\ubcf4\ub354\ub77c\ub3c4 \ubaa8\ub4e0 \uac01 \ub098\ub77c\ubcc4 " +
+        "\uc5b8\uc5b4\ub97c \ucc98\ub9ac\ud558\ub824\uba74 \uc5ec\ub7ec " +
+        "\uac1c\uc758 \ub2e4\ub978 \uae30\ud638\ud654 \ubc29\ubc95\uc774 " +
+        "\ud544\uc694\ud569\ub2c8\ub2e4. \uc601\uc5b4\uc640 \uac19\uc740 " +
+        "\ub2e8\uc77c \uc5b8\uc5b4\uc758 \uacbd\uc6b0\ub3c4 " +
+        "\uacf5\ud1b5\uc801\uc73c\ub85c \uc0ac\uc6a9\ub418\ub294 \ubaa8\ub4e0 " +
+        "\uae00\uc790, \ubb38\uc7a5 \ubd80\ud638 \ubc0f " +
+        "\ud14c\ud06c\ub2c8\uceec \uae30\ud638\uc5d0 \ub9de\ub294 \ub2e8\uc77c " +
+        "\uae30\ud638\ud654 \ubc29\ubc95\uc744 \uac16\uace0 \uc788\uc9c0 " +
+        "\ubabb\ud558\uc600\uc2b5\ub2c8\ub2e4. " +
+        
+        "\uc774\ub7ec\ud55c \uae30\ud638\ud654 \uc2dc\uc2a4\ud15c\uc740 " +
+        "\ub610\ud55c \ub2e4\ub978 \uae30\ud638\ud654 \uc2dc\uc2a4\ud15c\uacfc " +
+        "\ucda9\ub3cc\ud569\ub2c8\ub2e4. \uc989 \ub450 \uac00\uc9c0 " +
+        "\uae30\ud638\ud654 \ubc29\ubc95\uc774 \ub450 \uac1c\uc758 \ub2e4\ub978 " +
+        "\ubb38\uc790\uc5d0 \ub300\ud574 \uac19\uc740 \ubc88\ud638\ub97c " +
+        "\uc0ac\uc6a9\ud558\uac70\ub098 \uac19\uc740 \ubb38\uc790\uc5d0 " +
+        "\ub300\ud574 \ub2e4\ub978 \ubc88\ud638\ub97c \uc0ac\uc6a9\ud560 \uc218 " +
+        "\uc788\uc2b5\ub2c8\ub2e4. \uc8fc\uc5b4\uc9c4 \ubaa8\ub4e0 " +
+        "\ucef4\ud4e8\ud130(\ud2b9\ud788 \uc11c\ubc84)\ub294 \uc11c\ub85c " +
+        "\ub2e4\ub978 \uc5ec\ub7ec \uac00\uc9c0 \uae30\ud638\ud654 " +
+        "\ubc29\ubc95\uc744 \uc9c0\uc6d0\ud574\uc57c " +
+        "\ud569\ub2c8\ub2e4. \uadf8\ub7ec\ub098, \ub370\uc774\ud130\ub97c " +
+        "\uc11c\ub85c \ub2e4\ub978 \uae30\ud638\ud654 \ubc29\ubc95\uc774\ub098 " +
+        "\ud50c\ub7ab\ud3fc \uac04\uc5d0 \uc804\ub2ec\ud560 \ub54c\ub9c8\ub2e4 " +
+        "\uadf8 \ub370\uc774\ud130\ub294 \ud56d\uc0c1 \uc190\uc0c1\uc758 " +
+        "\uc704\ud5d8\uc744 \uacaa\uac8c \ub429\ub2c8\ub2e4. " +
+        
+        "\uc720\ub2c8\ucf54\ub4dc\ub85c \ubaa8\ub4e0 \uac83\uc744 " +
+        "\ud574\uacb0\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4! " +
+        "\uc720\ub2c8\ucf54\ub4dc\ub294 \uc0ac\uc6a9 \uc911\uc778 " +
+        "\ud50c\ub7ab\ud3fc, \ud504\ub85c\uadf8\ub7a8, \uc5b8\uc5b4\uc5d0 " +
+        "\uad00\uacc4\uc5c6\uc774 \ubb38\uc790\ub9c8\ub2e4 \uace0\uc720\ud55c " +
+        "\uc22b\uc790\ub97c " +
+        "\uc81c\uacf5\ud569\ub2c8\ub2e4. \uc720\ub2c8\ucf54\ub4dc " +
+        "\ud45c\uc900\uc740 " + // "Apple, HP, IBM, JustSystem, Microsoft, Oracle, SAP, " +
+        // "Sun, Sybase, Unisys " + 
+        "\ubc0f \uae30\ud0c0 \uc5ec\ub7ec " +
+        "\ud68c\uc0ac\uc640 \uac19\uc740 \uc5c5\uacc4 " +
+        "\uc120\ub450\uc8fc\uc790\uc5d0 \uc758\ud574 " +
+        "\ucc44\ud0dd\ub418\uc5c8\uc2b5\ub2c8\ub2e4. \uc720\ub2c8\ucf54\ub4dc\ub294 " +
+        // "XML, Java, ECMAScript(JavaScript), LDAP, CORBA 3.0, WML " +
+        "\ub4f1\uacfc " +
+        "\uac19\uc774 \ud604\uc7ac \ub110\ub9ac \uc0ac\uc6a9\ub418\ub294 " +
+        "\ud45c\uc900\uc5d0\uc11c \ud544\uc694\ud558\uba70 \uc774\ub294 " + //ISO/IEC " +
+        "10646\uc744 \uad6c\ud604\ud558\ub294 \uacf5\uc2dd\uc801\uc778 " +
+        "\ubc29\ubc95\uc785\ub2c8\ub2e4. \uc774\ub294 \ub9ce\uc740 \uc6b4\uc601 " +
+        "\uccb4\uc81c, \uc694\uc998 \uc0ac\uc6a9\ub418\ub294 \ubaa8\ub4e0 " +
+        "\ube0c\ub77c\uc6b0\uc800 \ubc0f \uae30\ud0c0 \ub9ce\uc740 " +
+        "\uc81c\ud488\uc5d0\uc11c " +
+        "\uc9c0\uc6d0\ub429\ub2c8\ub2e4. \uc720\ub2c8\ucf54\ub4dc " +
+        "\ud45c\uc900\uc758 \ubd80\uc0c1\uacfc \uc774\ub97c " +
+        "\uc9c0\uc6d0\ud558\ub294 \ub3c4\uad6c\uc758 \uac00\uc6a9\uc131\uc740 " +
+        "\ucd5c\uadfc \uc804 \uc138\uacc4\uc5d0 \ubd88\uace0 \uc788\ub294 " +
+        "\uae30\uc220 \uacbd\ud5a5\uc5d0\uc11c \uac00\uc7a5 \uc911\uc694\ud55c " +
+        "\ubd80\ubd84\uc744 \ucc28\uc9c0\ud558\uace0 \uc788\uc2b5\ub2c8\ub2e4. " +
+        
+        "\uc720\ub2c8\ucf54\ub4dc\ub97c " +
+        "\ud074\ub77c\uc774\uc5b8\ud2b8-\uc11c\ubc84 \ub610\ub294 " +
+        "\ub2e4\uc911-\uc5f0\uacb0 \uc751\uc6a9 \ud504\ub85c\uadf8\ub7a8\uacfc " +
+        "\uc6f9 \uc0ac\uc774\ud2b8\uc5d0 \ud1b5\ud569\ud558\uba74 " +
+        "\ub808\uac70\uc2dc \ubb38\uc790 \uc138\ud2b8 \uc0ac\uc6a9\uc5d0 " +
+        "\uc788\uc5b4\uc11c \uc0c1\ub2f9\ud55c \ube44\uc6a9 \uc808\uac10 " +
+        "\ud6a8\uacfc\uac00 " +
+        "\ub098\ud0c0\ub0a9\ub2c8\ub2e4. \uc720\ub2c8\ucf54\ub4dc\ub97c " +
+        "\ud1b5\ud574 \ub9ac\uc5d4\uc9c0\ub2c8\uc5b4\ub9c1 \uc5c6\uc774 " +
+        "\ub2e4\uc911 \ud50c\ub7ab\ud3fc, \uc5b8\uc5b4 \ubc0f \uad6d\uac00 " +
+        "\uac04\uc5d0 \ub2e8\uc77c \uc18c\ud504\ud2b8\uc6e8\uc5b4 " +
+        "\ud50c\ub7ab\ud3fc \ub610\ub294 \ub2e8\uc77c \uc6f9 " +
+        "\uc0ac\uc774\ud2b8\ub97c \ubaa9\ud45c\ub85c \uc0bc\uc744 \uc218 " +
+        "\uc788\uc2b5\ub2c8\ub2e4. \uc774\ub97c \uc0ac\uc6a9\ud558\uba74 " +
+        "\ub370\uc774\ud130\ub97c \uc190\uc0c1 \uc5c6\uc774 \uc5ec\ub7ec " +
+        "\uc2dc\uc2a4\ud15c\uc744 \ud1b5\ud574 \uc804\uc1a1\ud560 \uc218 " +
+        "\uc788\uc2b5\ub2c8\ub2e4. " +
+        
+        "\uc720\ub2c8\ucf54\ub4dc \ucf58\uc18c\uc2dc\uc5c4\uc5d0 \ub300\ud574 " +
+        "\uc720\ub2c8\ucf54\ub4dc \ucf58\uc18c\uc2dc\uc5c4\uc740 " +
+        "\ube44\uc601\ub9ac \uc870\uc9c1\uc73c\ub85c\uc11c \ud604\ub300 " +
+        "\uc18c\ud504\ud2b8\uc6e8\uc5b4 \uc81c\ud488\uacfc " +
+        "\ud45c\uc900\uc5d0\uc11c \ud14d\uc2a4\ud2b8\uc758 \ud45c\ud604\uc744 " +
+        "\uc9c0\uc815\ud558\ub294 \uc720\ub2c8\ucf54\ub4dc \ud45c\uc900\uc758 " +
+        "\uc0ac\uc6a9\uc744 \uac1c\ubc1c\ud558\uace0 \ud655\uc7a5\ud558\uba70 " +
+        "\uc7a5\ub824\ud558\uae30 \uc704\ud574 " +
+        "\uc138\uc6cc\uc84c\uc2b5\ub2c8\ub2e4. \ucf58\uc18c\uc2dc\uc5c4 " +
+        "\uba64\ubc84\uc27d\uc740 \ucef4\ud4e8\ud130\uc640 \uc815\ubcf4 " +
+        "\ucc98\ub9ac \uc0b0\uc5c5\uc5d0 \uc885\uc0ac\ud558\uace0 \uc788\ub294 " +
+        "\uad11\ubc94\uc704\ud55c \ud68c\uc0ac \ubc0f \uc870\uc9c1\uc758 " +
+        "\ubc94\uc704\ub97c " +
+        "\ub098\ud0c0\ub0c5\ub2c8\ub2e4. \ucf58\uc18c\uc2dc\uc5c4\uc758 " +
+        "\uc7ac\uc815\uc740 \uc804\uc801\uc73c\ub85c \ud68c\ube44\uc5d0 " +
+        "\uc758\ud574 \ucda9\ub2f9\ub429\ub2c8\ub2e4. \uc720\ub2c8\ucf54\ub4dc " +
+        "\ucee8\uc18c\uc2dc\uc5c4\uc5d0\uc11c\uc758 \uba64\ubc84\uc27d\uc740 " +
+        "\uc804 \uc138\uacc4 \uc5b4\ub290 \uacf3\uc5d0\uc11c\ub098 " +
+        "\uc720\ub2c8\ucf54\ub4dc \ud45c\uc900\uc744 \uc9c0\uc6d0\ud558\uace0 " +
+        "\uadf8 \ud655\uc7a5\uacfc \uad6c\ud604\uc744 " +
+        "\uc9c0\uc6d0\ud558\uace0\uc790\ud558\ub294 \uc870\uc9c1\uacfc " +
+        "\uac1c\uc778\uc5d0\uac8c \uac1c\ubc29\ub418\uc5b4 " +
+        "\uc788\uc2b5\ub2c8\ub2e4. " +
+        
+        "\ub354 \uc790\uc138\ud55c \ub0b4\uc6a9\uc740 \uc6a9\uc5b4\uc9d1, " +
+        "\uc608\uc81c \uc720\ub2c8\ucf54\ub4dc \uc0ac\uc6a9 \uac00\ub2a5 " +
+        "\uc81c\ud488, \uae30\uc220 \uc815\ubcf4 \ubc0f \uae30\ud0c0 " +
+        "\uc720\uc6a9\ud55c \uc815\ubcf4\ub97c " +
+        "\ucc38\uc870\ud558\uc2ed\uc2dc\uc624.";
+
+    // TransliteratorTest override
+    boolean expectAux(String tag, String summary, boolean pass,
+                   String expectedResult) {
+        return super.expectAux(tag, jamoToName(summary),
+                        pass, jamoToName(expectedResult));
+    }
+
+    // UTILITIES
+
+    // Note: The following could more easily be done with a transliterator!
+    static final String[] JAMO_NAMES = {
+        "(Gi)", "\u1100",
+        "(GGi)", "\u1101",
+        "(Ni)", "\u1102",
+        "(Di)", "\u1103",
+        "(DD)", "\u1104",
+        "(R)", "\u1105",
+        "(Mi)", "\u1106",
+        "(Bi)", "\u1107",
+        "(BB)", "\u1108",
+        "(Si)", "\u1109",
+        "(SSi)", "\u110A",
+        "(IEUNG)", "\u110B",
+        "(Ji)", "\u110C",
+        "(JJ)", "\u110D",
+        "(Ci)", "\u110E",
+        "(Ki)", "\u110F",
+        "(Ti)", "\u1110",
+        "(Pi)", "\u1111",
+        "(Hi)", "\u1112",
+        
+        "(A)", "\u1161",
+        "(AE)", "\u1162",
+        "(YA)", "\u1163",
+        "(YAE)", "\u1164",
+        "(EO)", "\u1165",
+        "(E)", "\u1166",
+        "(YEO)", "\u1167",
+        "(YE)", "\u1168",
+        "(O)", "\u1169",
+        "(WA)", "\u116A",
+        "(WAE)", "\u116B",
+        "(OE)", "\u116C",
+        "(YO)", "\u116D",
+        "(U)", "\u116E",
+        "(WEO)", "\u116F",
+        "(WE)", "\u1170",
+        "(WI)", "\u1171",
+        "(YU)", "\u1172",
+        "(EU)", "\u1173",
+        "(YI)", "\u1174",
+        "(I)", "\u1175",
+
+        "(Gf)", "\u11A8",
+        "(GGf)", "\u11A9",
+        "(GS)", "\u11AA",
+        "(Nf)", "\u11AB",
+        "(NJ)", "\u11AC",
+        "(NH)", "\u11AD",
+        "(Df)", "\u11AE",
+        "(L)", "\u11AF",
+        "(LG)", "\u11B0",
+        "(LM)", "\u11B1",
+        "(LB)", "\u11B2",
+        "(LS)", "\u11B3",
+        "(LT)", "\u11B4",
+        "(LP)", "\u11B5",
+        "(LH)", "\u11B6",
+        "(Mf)", "\u11B7",
+        "(Bf)", "\u11B8",
+        "(BS)", "\u11B9",
+        "(Sf)", "\u11BA",
+        "(SSf)", "\u11BB",
+        "(NG)", "\u11BC",
+        "(Jf)", "\u11BD",
+        "(Cf)", "\u11BE",
+        "(Kf)", "\u11BF",
+        "(Tf)", "\u11C0",
+        "(Pf)", "\u11C1",
+        "(Hf)", "\u11C2",
+    };
+
+    static Hashtable JAMO_TO_NAME;
+    static Hashtable NAME_TO_JAMO;
+
+    static {
+        JAMO_TO_NAME = new Hashtable();
+        NAME_TO_JAMO = new Hashtable();
+        for (int i=0; i<JAMO_NAMES.length; i+=2) {
+            JAMO_TO_NAME.put(JAMO_NAMES[i+1], JAMO_NAMES[i]);
+            NAME_TO_JAMO.put(JAMO_NAMES[i], JAMO_NAMES[i+1]);
+        }
+    }
+
+    /**
+     * Convert short names to actual jamo.  E.g., "x(LG)y" returns
+     * "x\u11B0y".  See JAMO_NAMES for table of names.
+     */
+    static String nameToJamo(String input) {
+        StringBuffer buf = new StringBuffer();
+        for (int i=0; i<input.length(); ++i) {
+            char c = input.charAt(i);
+            if (c == '(') {
+                int j = input.indexOf(')', i+1);
+                if ((j-i) >= 2 && (j-i) <= 6) { // "(A)", "(IEUNG)"
+                    String jamo = (String) NAME_TO_JAMO.get(input.substring(i, j+1));
+                    if (jamo != null) {
+                        buf.append(jamo);
+                        i = j;
+                        continue;
+                    }
+                }
+            }
+            buf.append(c);
+        }
+        return buf.toString();
+    }
+
+    /**
+     * Convert jamo to short names.  E.g., "x\u11B0y" returns
+     * "x(LG)y".  See JAMO_NAMES for table of names.
+     */
+    static String jamoToName(String input) {
+        StringBuffer buf = new StringBuffer();
+        for (int i=0; i<input.length(); ++i) {
+            char c = input.charAt(i);
+            if (c >= 0x1100 && c <= 0x11C2) {
+                String name = (String) JAMO_TO_NAME.get(input.substring(i, i+1));
+                if (name != null) {
+                    buf.append(name);
+                    continue;
+                }
+            }
+            buf.append(c);
+        }
+        return buf.toString();
+    }
+}
diff --git a/src/com/ibm/icu/dev/test/translit/ReplaceableTest.java b/src/com/ibm/icu/dev/test/translit/ReplaceableTest.java
new file mode 100755
index 0000000..957e1cd
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/translit/ReplaceableTest.java
@@ -0,0 +1,186 @@
+/**
+ *******************************************************************************
+ * Copyright (C) 2001-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.test.translit;
+
+import com.ibm.icu.dev.test.*;
+import com.ibm.icu.text.*;
+import com.ibm.icu.impl.Utility;
+import java.io.*;
+import java.text.ParseException;
+
+/**
+ * @test
+ * @summary Round trip test of Transliterator
+ */
+public class ReplaceableTest extends TestFmwk {
+    
+    public static final boolean LATER_THAN_2_1 = true;
+    
+    public static void main(String[] args) throws Exception {
+        new ReplaceableTest().run(args);
+    }
+  
+    public void Test() throws IOException, ParseException {
+        check("Lower", "ABCD", "1234");
+        check("Upper", "abcd\u00DF", "123455"); // must map 00DF to SS
+        check("Title", "aBCD", "1234");
+        check("NFC", "A\u0300E\u0300", "13");
+        check("NFD", "\u00C0\u00C8", "1122");
+        if (!LATER_THAN_2_1) return;
+        check("*(x) > A $1 B", "wxy", "11223");
+        check("*(x)(y) > A $2 B $1 C $2 D", "wxyz", "113322334");
+        check("*(x)(y)(z) > A $3 B $2 C $1 D", "wxyzu", "114433225");
+    // Disabled for 2.4.  TODO Revisit in 2.6 or later.
+        //check("*x > a", "xyz", "223"); // expect "123"?
+        //check("*x > a", "wxy", "113"); // expect "123"?
+        //check("*x > a", "\uFFFFxy", "_33"); // expect "_23"?
+        //check("*(x) > A $1 B", "\uFFFFxy", "__223");
+    }
+    
+    void check(String transliteratorName, String test, String shouldProduceStyles) {
+        TestReplaceable tr = new TestReplaceable(test, null);
+        String original = tr.toString();
+        
+        Transliterator t;
+        if (transliteratorName.startsWith("*")) {
+            transliteratorName = transliteratorName.substring(1);
+            t = Transliterator.createFromRules("test", transliteratorName,
+                                               Transliterator.FORWARD);
+        } else {
+            t = Transliterator.getInstance(transliteratorName);
+        }
+        t.transliterate(tr);
+        String newStyles = tr.getStyles();
+        if (!newStyles.equals(shouldProduceStyles)) {
+            errln("FAIL Styles: " + transliteratorName + " ( "
+                + original + " ) => " + tr.toString() + "; should be {" + shouldProduceStyles + "}!");
+        } else {
+            logln("OK: " + transliteratorName + " ( " + original + " ) => " + tr.toString());
+        }
+        
+        if (!tr.hasMetaData() || tr.chars.hasMetaData() 
+            || tr.styles.hasMetaData()) {
+            errln("Fail hasMetaData()");
+        }
+    }
+    
+
+    /**
+     * This is a test class that simulates styled text.
+     * It associates a style number (0..65535) with each character,
+     * and maintains that style in the normal fashion:
+     * When setting text from raw string or characters,<br>
+     * Set the styles to the style of the first character replaced.<br>
+     * If no characters are replaced, use the style of the previous character.<br>
+     * If at start, use the following character<br>
+     * Otherwise use NO_STYLE.
+     */
+    static class TestReplaceable implements Replaceable {
+        ReplaceableString chars;
+        ReplaceableString styles;
+        
+        static final char NO_STYLE = '_';
+
+        static final char NO_STYLE_MARK = 0xFFFF;
+        
+        TestReplaceable (String text, String styles) {
+            chars = new ReplaceableString(text);
+            StringBuffer s = new StringBuffer();
+            for (int i = 0; i < text.length(); ++i) {
+                if (styles != null && i < styles.length()) {
+                    s.append(styles.charAt(i));
+                } else {
+                    if (text.charAt(i) == NO_STYLE_MARK) {
+                        s.append(NO_STYLE);
+                    } else {
+                        s.append((char) (i + '1'));
+                    }
+                }
+            }
+            this.styles = new ReplaceableString(s.toString());
+        }
+        
+        public String getStyles() {
+            return styles.toString();
+        }
+        
+        public String toString() {
+            return chars.toString() + "{" + styles.toString() + "}";
+        }
+
+        public String substring(int start, int limit) {
+            return chars.substring(start, limit);
+        }
+
+        public int length() {
+            return chars.length();
+        }
+
+        public char charAt(int offset) {
+            return chars.charAt(offset);
+        }
+
+        public int char32At(int offset) {
+            return chars.char32At(offset);
+        }
+
+        public void getChars(int srcStart, int srcLimit, char dst[], int dstStart) {
+            chars.getChars(srcStart, srcLimit, dst, dstStart);
+        }
+
+        public void replace(int start, int limit, String text) {
+            if (substring(start,limit).equals(text)) return; // NO ACTION!
+            if (DEBUG) System.out.print(Utility.escape(toString() + " -> replace(" + start +
+                                            "," + limit + "," + text) + ") -> ");
+            chars.replace(start, limit, text);
+            fixStyles(start, limit, text.length());
+            if (DEBUG) System.out.println(Utility.escape(toString()));
+        }
+        
+        public void replace(int start, int limit, char[] chars,
+                            int charsStart, int charsLen) {
+            if (substring(start,limit).equals(new String(chars, charsStart, charsLen-charsStart))) return; // NO ACTION!
+            this.chars.replace(start, limit, chars, charsStart, charsLen);
+            fixStyles(start, limit, charsLen);
+        }
+
+        void fixStyles(int start, int limit, int newLen) {
+            char newStyle = NO_STYLE;
+            if (start != limit && styles.charAt(start) != NO_STYLE) {
+                newStyle = styles.charAt(start);
+            } else if (start > 0 && charAt(start-1) != NO_STYLE_MARK) {
+                newStyle = styles.charAt(start-1);
+            } else if (limit < styles.length()) {
+                newStyle = styles.charAt(limit);
+            }
+            // dumb implementation for now.
+            StringBuffer s = new StringBuffer();
+            for (int i = 0; i < newLen; ++i) {
+                // this doesn't really handle an embedded NO_STYLE_MARK
+                // in the middle of a long run of characters right -- but
+                // that case shouldn't happen anyway
+                if (charAt(start+i) == NO_STYLE_MARK) {
+                    s.append(NO_STYLE);
+                } else {
+                    s.append(newStyle);
+                }
+            }
+            styles.replace(start, limit, s.toString());
+        }
+
+        public void copy(int start, int limit, int dest) {
+            chars.copy(start, limit, dest);
+            styles.copy(start, limit, dest);
+        }
+        
+        public boolean hasMetaData() {
+            return true;
+        }
+
+        static final boolean DEBUG = false;
+    }
+}
diff --git a/src/com/ibm/icu/dev/test/translit/RoundTripTest.java b/src/com/ibm/icu/dev/test/translit/RoundTripTest.java
new file mode 100755
index 0000000..7a3a889
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/translit/RoundTripTest.java
@@ -0,0 +1,1564 @@
+/**
+ *******************************************************************************
+ * Copyright (C) 2000-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.test.translit;
+
+import com.ibm.icu.dev.test.*;
+import com.ibm.icu.lang.*;
+import com.ibm.icu.text.*;
+import com.ibm.icu.util.LocaleData;
+import com.ibm.icu.util.ULocale;
+import com.ibm.icu.impl.Utility;
+
+import java.io.BufferedWriter;
+import java.io.ByteArrayOutputStream;
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.OutputStreamWriter;
+import java.io.PrintWriter;
+import java.io.UnsupportedEncodingException;
+import java.util.MissingResourceException;
+
+/**
+ * @test
+ * @summary Round trip test of Transliterator
+ */
+public class RoundTripTest extends TestFmwk {
+
+    static final boolean EXTRA_TESTS = true;
+    static final boolean PRINT_RULES = true;
+
+    public static void main(String[] args) throws Exception {
+        new RoundTripTest().run(args);
+    }
+    /*
+    public void TestSingle() throws IOException, ParseException {
+        Transliterator t = Transliterator.getInstance("Latin-Greek");
+        String s = t.transliterate("\u0101\u0069");
+    }
+    */
+
+    /*
+    Note: Unicode 3.2 added new Hiragana/Katakana characters:
+
+3095..3096    ; 3.2 #   [2] HIRAGANA LETTER SMALL KA..HIRAGANA LETTER SMALL KE
+309F..30A0    ; 3.2 #   [2] HIRAGANA DIGRAPH YORI..KATAKANA-HIRAGANA DOUBLE HYPHEN
+30FF          ; 3.2 #       KATAKANA DIGRAPH KOTO
+31F0..31FF    ; 3.2 #  [16] KATAKANA LETTER SMALL KU..KATAKANA LETTER SMALL RO
+
+    We will not add them to the rules until they are more supported (e.g. in fonts on Windows)
+    A bug has been filed to remind us to do this: #1979.
+    */
+
+    static String KATAKANA = "[[[:katakana:][\u30A1-\u30FA\u30FC]]-[\u30FF\u31F0-\u31FF]]";
+    static String HIRAGANA = "[[[:hiragana:][\u3040-\u3094]]-[\u3095-\u3096\u309F-\u30A0]]";
+    static String LENGTH = "[\u30FC]";
+    static String HALFWIDTH_KATAKANA = "[\uFF65-\uFF9D]";
+    static String KATAKANA_ITERATION = "[\u30FD\u30FE]";
+    static String HIRAGANA_ITERATION = "[\u309D\u309E]";
+
+    //------------------------------------------------------------------
+    // AbbreviatedUnicodeSetIterator
+    //------------------------------------------------------------------
+
+    static class AbbreviatedUnicodeSetIterator extends UnicodeSetIterator {
+
+        private boolean abbreviated;
+        private int perRange;
+
+        public AbbreviatedUnicodeSetIterator() {
+            super();
+            abbreviated = false;
+        }
+
+        public void reset(UnicodeSet newSet) {
+            reset(newSet, false);
+        }
+
+        public void reset(UnicodeSet newSet, boolean abb) {
+            reset(newSet, abb, 100);
+        }
+
+        public void reset(UnicodeSet newSet, boolean abb, int density) {
+            super.reset(newSet);
+            abbreviated = abb;
+            perRange = newSet.getRangeCount();
+            if (perRange != 0) {
+                perRange = density / perRange;
+            }
+        }
+
+        protected void loadRange(int myRange) {
+            super.loadRange(myRange);
+            if (abbreviated && (endElement > nextElement + perRange)) {
+                endElement = nextElement + perRange;
+            }
+        }
+    }
+
+    //--------------------------------------------------------------------
+
+    public void showElapsed(long start, String name) {
+        double dur = (System.currentTimeMillis() - start) / 1000.0;
+        logln(name + " took " + dur + " seconds");
+    }
+
+    public void TestKana() throws IOException {
+        long start = System.currentTimeMillis();
+        new Test("Katakana-Hiragana")
+          .test(KATAKANA, "[" + HIRAGANA + LENGTH + "]", "[" + HALFWIDTH_KATAKANA + LENGTH + "]", this, new Legal());
+        showElapsed(start, "TestKana");
+    }
+
+    public void TestHiragana() throws IOException {
+        long start = System.currentTimeMillis();
+        new Test("Latin-Hiragana")
+          .test("[a-zA-Z]", HIRAGANA, HIRAGANA_ITERATION, this, new Legal());
+        showElapsed(start, "TestHiragana");
+    }
+
+    public void TestKatakana() throws IOException {
+        long start = System.currentTimeMillis();
+        new Test("Latin-Katakana")
+          .test("[a-zA-Z]", KATAKANA, "[" + KATAKANA_ITERATION + HALFWIDTH_KATAKANA + "]", this, new Legal());
+        showElapsed(start, "TestKatakana");
+    }
+
+    public void TestJamo() throws IOException {
+        long start = System.currentTimeMillis();
+        new Test("Latin-Jamo")
+            .test("[a-zA-Z]", "[\u1100-\u1112 \u1161-\u1175 \u11A8-\u11C2]", "", this, new LegalJamo());
+        showElapsed(start, "TestJamo");
+    }
+
+/*
+        SBase = 0xAC00, LBase = 0x1100, VBase = 0x1161, TBase = 0x11A7,
+        LCount = 19, VCount = 21, TCount = 28,
+        NCount = VCount * TCount,   // 588
+        SCount = LCount * NCount,   // 11172
+        LLimit = LBase + LCount,    // 1113
+        VLimit = VBase + VCount,    // 1176
+        TLimit = TBase + TCount,    // 11C3
+        SLimit = SBase + SCount;    // D7A4
+*/
+
+    public void TestHangul() throws IOException {
+        long start = System.currentTimeMillis();
+        Test t = new Test("Latin-Hangul", 5);
+        if (getInclusion() < 10) t.setPairLimit(1000);
+        t.test("[a-zA-Z]", "[\uAC00-\uD7A4]", "", this, new Legal());
+        showElapsed(start, "TestHangul");
+    }
+    
+    public void TestHan() throws UnsupportedEncodingException, FileNotFoundException {
+        try{
+            UnicodeSet exemplars = LocaleData.getExemplarSet(new ULocale("zh"),0);
+            // create string with all chars
+            StringBuffer b = new StringBuffer();
+            for (UnicodeSetIterator it = new UnicodeSetIterator(exemplars); it.next();) {
+                UTF16.append(b,it.codepoint);
+            }
+            String source = b.toString();
+            // transform with Han translit
+            Transliterator han = Transliterator.getInstance("Han-Latin");
+            String target = han.transliterate(source);
+            // now verify that there are no Han characters left
+            UnicodeSet allHan = new UnicodeSet("[:han:]");
+            assertFalse("No Han must be left after Han-Latin transliteration",allHan.containsSome(target));
+            // check the pinyin translit
+            Transliterator pn = Transliterator.getInstance("Latin-NumericPinyin");
+            String target2 = pn.transliterate(target);
+            // verify that there are no marks
+            Transliterator nfc = Transliterator.getInstance("nfc");
+            String nfced = nfc.transliterate(target2);
+            UnicodeSet allMarks = new UnicodeSet("[:mark:]");
+            assertFalse("NumericPinyin must contain no marks", allMarks.containsSome(nfced));
+            // verify roundtrip
+            Transliterator np = pn.getInverse();
+            String target3 = np.transliterate(target);
+            boolean roundtripOK = target3.equals(target);
+            assertTrue("NumericPinyin must roundtrip", roundtripOK);
+            if (!roundtripOK) {
+                String filename = "numeric-pinyin.log.txt";
+                PrintWriter out = new PrintWriter(
+                    new BufferedWriter(
+                        new OutputStreamWriter(
+                            new FileOutputStream(filename), "UTF8"), 4*1024));
+                errln("Creating log file " + new File(filename).getAbsoluteFile());
+                out.println("Pinyin:                " + target);
+                out.println("Pinyin-Numeric-Pinyin: " + target2);
+                out.close();
+            }
+        }catch(MissingResourceException ex){
+            warnln("Could not load the locale data for fetching the exemplar characters.");
+        }
+    }
+
+    public void TestSingle() {
+        Transliterator t = Transliterator.getInstance("Latin-Greek");
+        t.transliterate("\u0061\u0101\u0069");
+    }
+
+    String getGreekSet() {
+        // Time bomb
+        if (skipIfBeforeICU(3,4)) {
+            // We temporarily filter against Unicode 4.1, but we only do this
+            // before version 3.4.
+            logln("TestGreek needs to be updated to remove delete the section marked [:Age=4.0:] filter");
+        } else {
+            errln("TestGreek needs to be updated to remove delete the [:Age=4.0:] filter ");
+        }
+        return 
+        // isICU28() ? "[[\u003B\u00B7[:Greek:]-[\u03D7-\u03EF]]&[:Age=3.2:]]" :
+            "[\u003B\u00B7[[:Greek:]&[:Letter:]]-[" +
+            "\u1D26-\u1D2A" + // L&   [5] GREEK LETTER SMALL CAPITAL GAMMA..GREEK LETTER SMALL CAPITAL PSI
+            "\u1D5D-\u1D61" + // Lm   [5] MODIFIER LETTER SMALL BETA..MODIFIER LETTER SMALL CHI
+            "\u1D66-\u1D6A" + // L&   [5] GREEK SUBSCRIPT SMALL LETTER BETA..GREEK SUBSCRIPT SMALL LETTER CHI
+            "\u03D7-\u03EF" + // \N{GREEK KAI SYMBOL}..\N{COPTIC SMALL LETTER DEI}
+            "] & [:Age=4.0:]]";
+    }
+    
+    public void TestGreek() throws IOException {
+        long start = System.currentTimeMillis();
+        new Test("Latin-Greek", 50)
+        .test("[a-zA-Z]", getGreekSet(),
+            "[\u00B5\u037A\u03D0-\u03F5\u03F9]", /* roundtrip exclusions */
+            this, new LegalGreek(true));
+        showElapsed(start, "TestGreek");
+    }
+
+    public void TestGreekUNGEGN() throws IOException {
+        long start = System.currentTimeMillis();
+        new Test("Latin-Greek/UNGEGN")
+          .test("[a-zA-Z]", getGreekSet(),
+            "[\u00B5\u037A\u03D0-\uFFFF{\u039C\u03C0}]", /* roundtrip exclusions */
+            this, new LegalGreek(false));
+        showElapsed(start, "TestGreekUNGEGN");
+    }
+
+    public void Testel() throws IOException {
+        long start = System.currentTimeMillis();
+        new Test("Latin-el")
+          .test("[a-zA-Z]", getGreekSet(),
+            "[\u00B5\u037A\u03D0-\uFFFF{\u039C\u03C0}]", /* roundtrip exclusions */
+            this, new LegalGreek(false));
+        showElapsed(start, "Testel");
+    }
+
+    public void TestCyrillic() throws IOException {
+        long start = System.currentTimeMillis();
+        new Test("Latin-Cyrillic")
+          .test("[a-zA-Z\u0110\u0111\u02BA\u02B9]", "[\u0400-\u045F]", null, this, new Legal());
+        showElapsed(start, "TestCyrillic");
+    }
+
+    static final String ARABIC = "[\u060C\u061B\u061F\u0621\u0627-\u063A\u0641-\u0655\u0660-\u066C\u067E\u0686\u0698\u06A4\u06AD\u06AF\u06CB-\u06CC\u06F0-\u06F9]";
+
+    public void TestArabic() throws IOException {
+        long start = System.currentTimeMillis();
+        new Test("Latin-Arabic")
+          .test("[a-zA-Z\u02BE\u02BF]", ARABIC, "[a-zA-Z\u02BE\u02BF\u207F]", null, this, new Legal()); //
+        showElapsed(start, "TestArabic");
+    }
+
+    public void TestHebrew() throws IOException {
+        //      Time bomb
+        if (skipIfBeforeICU(3,4)) {
+            // We temporarily filter against Unicode 4.1, but we only do this
+            // before version 3.4.
+            logln("TestHebrew needs to be updated to remove delete the section marked [:Age=4.0:] filter");
+        } else {
+            errln("TestHebrew needs to be updated to remove delete the [:Age=4.0:] filter ");
+        }
+        long start = System.currentTimeMillis();
+        new Test("Latin-Hebrew")
+          .test("[a-zA-Z\u02BC\u02BB]", "[[[:hebrew:]-[\u05BD\uFB00-\uFBFF]]& [:Age=4.0:]]", "[\u05F0\u05F1\u05F2]", this, new LegalHebrew());
+        showElapsed(start, "TestHebrew");
+    }
+
+    public void TestThai() throws IOException {
+        long start = System.currentTimeMillis();
+        new Test("Latin-Thai")
+          .test("[a-zA-Z\u0142\u1ECD\u00E6\u0131\u0268\u02CC]",
+                "[\u0E01-\u0E3A\u0E40-\u0E5B]", 
+                "[a-zA-Z\u0142\u1ECD\u00E6\u0131\u0268\u02B9\u02CC]",
+                null, this, new LegalThai());
+        showElapsed(start, "TestThai");
+    }
+
+    //----------------------------------
+    // Inter-Indic Tests
+    //----------------------------------
+    public static class LegalIndic extends Legal{
+        UnicodeSet vowelSignSet = new UnicodeSet();
+
+        public LegalIndic(){
+            vowelSignSet.addAll(new UnicodeSet("[\u0901\u0902\u0903\u0904\u093e-\u094c\u0962\u0963]"));               /* Devanagari */
+            vowelSignSet.addAll(new UnicodeSet("[\u0981\u0982\u0983\u09be-\u09cc\u09e2\u09e3\u09D7]"));         /* Bengali */
+            vowelSignSet.addAll(new UnicodeSet("[\u0a01\u0a02\u0a03\u0a3e-\u0a4c\u0a62\u0a63\u0a70\u0a71]"));   /* Gurmukhi */
+            vowelSignSet.addAll(new UnicodeSet("[\u0a81\u0a82\u0a83\u0abe-\u0acc\u0ae2\u0ae3]"));               /* Gujarati */
+            vowelSignSet.addAll(new UnicodeSet("[\u0b01\u0b02\u0b03\u0b3e-\u0b4c\u0b62\u0b63\u0b56\u0b57]"));   /* Oriya */
+            vowelSignSet.addAll(new UnicodeSet("[\u0b81\u0b82\u0b83\u0bbe-\u0bcc\u0be2\u0be3\u0bd7]"));         /* Tamil */
+            vowelSignSet.addAll(new UnicodeSet("[\u0c01\u0c02\u0c03\u0c3e-\u0c4c\u0c62\u0c63\u0c55\u0c56]"));   /* Telugu */
+            vowelSignSet.addAll(new UnicodeSet("[\u0c81\u0c82\u0c83\u0cbe-\u0ccc\u0ce2\u0ce3\u0cd5\u0cd6]"));   /* Kannada */
+            vowelSignSet.addAll(new UnicodeSet("[\u0d01\u0d02\u0d03\u0d3e-\u0d4c\u0d62\u0d63\u0d57]"));         /* Malayalam */
+        }
+
+        String avagraha = "\u093d\u09bd\u0abd\u0b3d\u0cbd";
+        String nukta = "\u093c\u09bc\u0a3c\u0abc\u0b3c\u0cbc";
+        String virama = "\u094d\u09cd\u0a4d\u0acd\u0b4d\u0bcd\u0c4d\u0ccd\u0d4d";
+        String sanskritStressSigns = "\u0951\u0952\u0953\u0954\u097d";
+        String chandrabindu = "\u0901\u0981\u0A81\u0b01\u0c01";
+        public boolean is(String sourceString){
+            int cp=sourceString.charAt(0);
+
+            // A vowel sign cannot be the first char
+            if(vowelSignSet.contains(cp)){
+                return false;
+            }else if(avagraha.indexOf(cp)!=-1){
+                return false;
+            }else if(virama.indexOf(cp)!=-1){
+                return false;
+            }else if(nukta.indexOf(cp)!=-1){
+                return false;
+            }else if(sanskritStressSigns.indexOf(cp)!=-1){
+                return false;
+            }else if((chandrabindu.indexOf(cp)!=-1) &&
+                        (sourceString.length() >1 &&
+                            vowelSignSet.contains(sourceString.charAt(1)))){
+                return false;
+            }
+            return true;
+        }
+    }
+    static String latinForIndic = "[['.0-9A-Za-z~\u00C0-\u00C5\u00C7-\u00CF\u00D1-\u00D6\u00D9-\u00DD"+
+                                   "\u00E0-\u00E5\u00E7-\u00EF\u00F1-\u00F6\u00F9-\u00FD\u00FF-\u010F"+
+                                   "\u0112-\u0125\u0128-\u0130\u0134-\u0137\u0139-\u013E\u0143-\u0148"+
+                                   "\u014C-\u0151\u0154-\u0165\u0168-\u017E\u01A0-\u01A1\u01AF-\u01B0"+
+                                   "\u01CD-\u01DC\u01DE-\u01E3\u01E6-\u01ED\u01F0\u01F4-\u01F5\u01F8-\u01FB"+
+                                   "\u0200-\u021B\u021E-\u021F\u0226-\u0233\u0294\u0303-\u0304\u0306\u0314-\u0315"+
+                                   "\u0325\u040E\u0419\u0439\u045E\u04C1-\u04C2\u04D0-\u04D1\u04D6-\u04D7"+
+                                   "\u04E2-\u04E3\u04EE-\u04EF\u1E00-\u1E99\u1EA0-\u1EF9\u1F01\u1F03\u1F05"+
+                                   "\u1F07\u1F09\u1F0B\u1F0D\u1F0F\u1F11\u1F13\u1F15\u1F19\u1F1B\u1F1D\u1F21"+
+                                   "\u1F23\u1F25\u1F27\u1F29\u1F2B\u1F2D\u1F2F\u1F31\u1F33\u1F35\u1F37\u1F39"+
+                                   "\u1F3B\u1F3D\u1F3F\u1F41\u1F43\u1F45\u1F49\u1F4B\u1F4D\u1F51\u1F53\u1F55"+
+                                   "\u1F57\u1F59\u1F5B\u1F5D\u1F5F\u1F61\u1F63\u1F65\u1F67\u1F69\u1F6B\u1F6D"+
+                                   "\u1F6F\u1F81\u1F83\u1F85\u1F87\u1F89\u1F8B\u1F8D\u1F8F\u1F91\u1F93\u1F95"+
+                                   "\u1F97\u1F99\u1F9B\u1F9D\u1F9F\u1FA1\u1FA3\u1FA5\u1FA7\u1FA9\u1FAB\u1FAD"+
+                                   "\u1FAF-\u1FB1\u1FB8-\u1FB9\u1FD0-\u1FD1\u1FD8-\u1FD9\u1FE0-\u1FE1\u1FE5"+
+                                   "\u1FE8-\u1FE9\u1FEC\u212A-\u212B\uE04D\uE064]"+
+                                   "-[\uE000-\uE080 \u01E2\u01E3]& [[:latin:][:mark:]]]";
+
+    public void TestDevanagariLatin() throws IOException {
+        long start = System.currentTimeMillis();
+        if(skipIfBeforeICU(2,8)){
+            new Test("Latin-DEVANAGARI", 50)
+              .test(latinForIndic, "[[:Devanagari:][\u094d][\u0964\u0965] & [:Age=3.2:]]", "[\u0965]", this, new LegalIndic());
+
+        }else{
+            new Test("Latin-DEVANAGARI", 50)
+              .test(latinForIndic, "[[:Devanagari:][\u094d][\u0964\u0965]]", "[\u0965\u0904]", this, new LegalIndic());
+
+        }
+        showElapsed(start, "TestDevanagariLatin");
+    }
+
+    private static final String [][] interIndicArray= new String[][]{
+        new String [] {  "BENGALI-DEVANAGARI",
+            "[:BENGALI:]", "[:Devanagari:]",
+                "[\u0904\u0951-\u0954\u0943-\u0949\u094a\u0962\u0963\u090D\u090e\u0911\u0912\u0929\u0933\u0934\u0935\u0950\u0958\u0959\u095a\u095b\u095e\u097d]", /*roundtrip exclusions*/
+                },
+        new String [] {  "DEVANAGARI-BENGALI",
+           "[:Devanagari:]", "[:BENGALI:]",
+                  "[\u09D7\u090D\u090e\u0911\u0912\u0929\u0933\u0934\u0935\u0950\u0958\u0959\u095a\u095b\u095e\u09f0\u09f1\u09f2-\u09fa\u09ce]", /*roundtrip exclusions*/
+                  },
+
+        new String [] {  "GURMUKHI-DEVANAGARI",
+          "[:GURMUKHI:]", "[:Devanagari:]",
+                "[\u0904\u0902\u0936\u0933\u0951-\u0954\u0902\u0903\u0943-\u0949\u094a\u0962\u0963\u090B\u090C\u090D\u090e\u0911\u0912\u0934\u0937\u093D\u0950\u0960\u0961\u097d]", /*roundtrip exclusions*/
+                },
+        new String [] {  "DEVANAGARI-GURMUKHI",
+           "[:Devanagari:]", "[:GURMUKHI:]",
+                  "[\u0A02\u0946\u0A5C\u0951-\u0954\u0A70\u0A71\u090B\u090C\u090D\u090e\u0911\u0912\u0934\u0937\u093D\u0950\u0960\u0961\u0a72\u0a73\u0a74]", /*roundtrip exclusions*/
+                  },
+
+        new String [] {  "GUJARATI-DEVANAGARI",
+          "[:GUJARATI:]", "[:Devanagari:]",
+                "[\u0904\u0946\u094A\u0962\u0963\u0951-\u0954\u0961\u090c\u090e\u0912\u097d]", /*roundtrip exclusions*/
+                },
+        new String [] {  "DEVANAGARI-GUJARATI",
+           "[:Devanagari:]", "[:GUJARATI:]",
+                  "[\u0951-\u0954\u0961\u090c\u090e\u0912]", /*roundtrip exclusions*/
+                  },
+
+        new String [] {  "ORIYA-DEVANAGARI",
+          "[:ORIYA:]", "[:Devanagari:]",
+                "[\u0904\u0912\u0911\u090D\u090e\u0931\u0943-\u094a\u0962\u0963\u0951-\u0954\u0950\u097d]", /*roundtrip exclusions*/
+                },
+        new String [] {  "DEVANAGARI-ORIYA",
+           "[:Devanagari:]", "[:ORIYA:]",
+                  "[\u0b5f\u0b56\u0b57\u0b70\u0b71\u0950\u090D\u090e\u0912\u0911\u0931]", /*roundtrip exclusions*/
+                  },
+
+        new String [] {  "Tamil-DEVANAGARI",
+          "[:tamil:]", "[:Devanagari:]",
+                  "[\u0901\u0904\u093c\u0943-\u094a\u0951-\u0954\u0962\u0963\u090B\u090C\u090D\u0911\u0916\u0917\u0918\u091B\u091D\u0920\u0921\u0922\u0925\u0926\u0927\u092B\u092C\u092D\u0936\u093d\u0950[\u0958-\u0961]\u097d]", /*roundtrip exclusions*/
+                  },
+        new String [] {  "DEVANAGARI-Tamil",
+           "[:Devanagari:]", "[:tamil:]",
+                  "[\u0bd7]", /*roundtrip exclusions*/
+                  },
+
+        new String [] {  "Telugu-DEVANAGARI",
+          "[:telugu:]", "[:Devanagari:]",
+                "[\u0904\u093c\u0950\u0945\u0949\u0951-\u0954\u0962\u0963\u090D\u0911\u093d\u0929\u0934[\u0958-\u095f]\u097d]", /*roundtrip exclusions*/
+                },
+        new String [] {  "DEVANAGARI-TELUGU",
+           "[:Devanagari:]", "[:TELUGU:]",
+                  "[\u0c55\u0c56\u0950\u090D\u0911\u093d\u0929\u0934[\u0958-\u095f]]", /*roundtrip exclusions*/
+                  },
+
+        new String [] {  "KANNADA-DEVANAGARI",
+          "[:KANNADA:]", "[:Devanagari:]",
+                "[\u0901\u0904\u0946\u0950\u0945\u0949\u0951-\u0954\u0962\u0963\u0950\u090D\u0911\u093d\u0929\u0934[\u0958-\u095f]\u097d]", /*roundtrip exclusions*/
+                },
+        new String [] {  "DEVANAGARI-KANNADA",
+           "[:Devanagari:]", "[:KANNADA:]",
+                  "[{\u0cb0\u0cbc}{\u0cb3\u0cbc}\u0cde\u0cd5\u0cd6\u0950\u090D\u0911\u093d\u0929\u0934[\u0958-\u095f]]", /*roundtrip exclusions*/
+                  },
+
+        new String [] {  "MALAYALAM-DEVANAGARI",
+          "[:MALAYALAM:]", "[:Devanagari:]",
+                "[\u0901\u0904\u094a\u094b\u094c\u093c\u0950\u0944\u0945\u0949\u0951-\u0954\u0962\u0963\u090D\u0911\u093d\u0929\u0934[\u0958-\u095f]\u097d]", /*roundtrip exclusions*/
+                },
+        new String [] {  "DEVANAGARI-MALAYALAM",
+           "[:Devanagari:]", "[:MALAYALAM:]",
+                  "[\u0d4c\u0d57\u0950\u090D\u0911\u093d\u0929\u0934[\u0958-\u095f]]", /*roundtrip exclusions*/
+                  },
+
+        new String [] {  "GURMUKHI-BENGALI",
+          "[:GURMUKHI:]", "[:BENGALI:]",
+                "[\u0982\u09b6\u09e2\u09e3\u09c3\u09c4\u09d7\u098B\u098C\u09B7\u09E0\u09E1\u09F0\u09F1\u09f2-\u09fa\u09ce]", /*roundtrip exclusions*/
+                },
+        new String [] {  "BENGALI-GURMUKHI",
+           "[:BENGALI:]", "[:GURMUKHI:]",
+                  "[\u0A02\u0a5c\u0a47\u0a70\u0a71\u0A33\u0A35\u0A59\u0A5A\u0A5B\u0A5E\u0A72\u0A73\u0A74]", /*roundtrip exclusions*/
+                  },
+
+        new String [] {  "GUJARATI-BENGALI",
+          "[:GUJARATI:]", "[:BENGALI:]",
+                "[\u09d7\u09e2\u09e3\u098c\u09e1\u09f0\u09f1\u09f2-\u09fa\u09ce]", /*roundtrip exclusions*/
+                },
+        new String [] {  "BENGALI-GUJARATI",
+           "[:BENGALI:]", "[:GUJARATI:]",
+                  "[\u0A82\u0a83\u0Ac9\u0Ac5\u0ac7\u0A8D\u0A91\u0AB3\u0AB5\u0ABD\u0AD0]", /*roundtrip exclusions*/
+                  },
+
+        new String [] {  "ORIYA-BENGALI",
+          "[:ORIYA:]", "[:BENGALI:]",
+                "[\u09c4\u09e2\u09e3\u09f0\u09f1\u09f2-\u09fa\u09ce]", /*roundtrip exclusions*/
+                },
+        new String [] {  "BENGALI-ORIYA",
+           "[:BENGALI:]", "[:ORIYA:]",
+                  "[\u0b35\u0b71\u0b5f\u0b56\u0b33\u0b3d]", /*roundtrip exclusions*/
+                  },
+
+        new String [] {  "Tamil-BENGALI",
+          "[:tamil:]", "[:BENGALI:]",
+                  "[\u0981\u09bc\u09c3\u09c4\u09e2\u09e3\u09f0\u09f1\u098B\u098C\u0996\u0997\u0998\u099B\u099D\u09A0\u09A1\u09A2\u09A5\u09A6\u09A7\u09AB\u09AC\u09AD\u09B6\u09DC\u09DD\u09DF\u09E0\u09E1\u09f2-\u09fa\u09ce]", /*roundtrip exclusions*/
+                  },
+        new String [] {  "BENGALI-Tamil",
+           "[:BENGALI:]", "[:tamil:]",
+                  "[\u0bc6\u0bc7\u0bca\u0B8E\u0B92\u0BA9\u0BB1\u0BB3\u0BB4\u0BB5]", /*roundtrip exclusions*/
+                  },
+
+        new String [] {  "Telugu-BENGALI",
+          "[:telugu:]", "[:BENGALI:]",
+                "[\u09e2\u09e3\u09bc\u09d7\u09f0\u09f1\u09dc\u09dd\u09df\u09f2-\u09fa\u09ce]", /*roundtrip exclusions*/
+                },
+        new String [] {  "BENGALI-TELUGU",
+           "[:BENGALI:]", "[:TELUGU:]",
+                  "[\u0c55\u0c56\u0c47\u0c46\u0c4a\u0C0E\u0C12\u0C31\u0C33\u0C35]", /*roundtrip exclusions*/
+                  },
+
+        new String [] {  "KANNADA-BENGALI",
+          "[:KANNADA:]", "[:BENGALI:]",
+                "[\u0981\u09e2\u09e3\u09bc\u09d7\u09f0\u09f1\u09dc\u09dd\u09df\u09f2-\u09fa\u09ce]", /*roundtrip exclusions*/
+                },
+        new String [] {  "BENGALI-KANNADA",
+           "[:BENGALI:]", "[:KANNADA:]",
+                  "[{\u0cb0\u0cbc}{\u0cb3\u0cbc}\u0cc6\u0cca\u0cd5\u0cd6\u0cc7\u0C8E\u0C92\u0CB1\u0cb3\u0cb5\u0cde]", /*roundtrip exclusions*/
+                  },
+
+        new String [] {  "MALAYALAM-BENGALI",
+          "[:MALAYALAM:]", "[:BENGALI:]",
+                "[\u0981\u09e2\u09e3\u09bc\u09c4\u09f0\u09f1\u09dc\u09dd\u09df\u09f2-\u09fa\u09ce]", /*roundtrip exclusions*/
+                },
+        new String [] {  "BENGALI-MALAYALAM",
+           "[:BENGALI:]", "[:MALAYALAM:]",
+                  "[\u0d46\u0d4a\u0d47\u0d31-\u0d35\u0d0e\u0d12]", /*roundtrip exclusions*/
+                  },
+
+        new String [] {  "GUJARATI-GURMUKHI",
+          "[:GUJARATI:]", "[:GURMUKHI:]",
+                "[\u0A02\u0ab3\u0ab6\u0A70\u0a71\u0a82\u0a83\u0ac3\u0ac4\u0ac5\u0ac9\u0a5c\u0a72\u0a73\u0a74\u0a8b\u0a8d\u0a91\u0abd]", /*roundtrip exclusions*/
+                },
+        new String [] {  "GURMUKHI-GUJARATI",
+           "[:GURMUKHI:]", "[:GUJARATI:]",
+                  "[\u0a5c\u0A70\u0a71\u0a72\u0a73\u0a74\u0a82\u0a83\u0a8b\u0a8c\u0a8d\u0a91\u0ab3\u0ab6\u0ab7\u0abd\u0ac3\u0ac4\u0ac5\u0ac9\u0ad0\u0ae0\u0ae1]", /*roundtrip exclusions*/
+                  },
+
+        new String [] {  "ORIYA-GURMUKHI",
+          "[:ORIYA:]", "[:GURMUKHI:]",
+                "[\u0A02\u0a5c\u0a21\u0a47\u0a71\u0b02\u0b03\u0b33\u0b36\u0b43\u0b56\u0b57\u0B0B\u0B0C\u0B37\u0B3D\u0B5F\u0B60\u0B61\u0a35\u0a72\u0a73\u0a74]", /*roundtrip exclusions*/
+                },
+        new String [] {  "GURMUKHI-ORIYA",
+           "[:GURMUKHI:]", "[:ORIYA:]",
+                  "[\u0a71\u0b02\u0b03\u0b33\u0b36\u0b43\u0b56\u0b57\u0B0B\u0B0C\u0B37\u0B3D\u0B5F\u0B60\u0B61\u0b70\u0b71]", /*roundtrip exclusions*/
+                  },
+
+        new String [] {  "TAMIL-GURMUKHI",
+          "[:TAMIL:]", "[:GURMUKHI:]",
+                "[\u0A01\u0A02\u0a33\u0a36\u0a3c\u0a70\u0a71\u0a47\u0A16\u0A17\u0A18\u0A1B\u0A1D\u0A20\u0A21\u0A22\u0A25\u0A26\u0A27\u0A2B\u0A2C\u0A2D\u0A59\u0A5A\u0A5B\u0A5C\u0A5E\u0A72\u0A73\u0A74]", /*roundtrip exclusions*/
+                },
+        new String [] {  "GURMUKHI-TAMIL",
+           "[:GURMUKHI:]", "[:TAMIL:]",
+                  "[\u0b82\u0bc6\u0bca\u0bd7\u0bb7\u0bb3\u0b83\u0B8E\u0B92\u0BA9\u0BB1\u0BB4\u0bb6]", /*roundtrip exclusions*/
+                  },
+
+        new String [] {  "TELUGU-GURMUKHI",
+          "[:TELUGU:]", "[:GURMUKHI:]",
+                "[\u0A02\u0a33\u0a36\u0a3c\u0a70\u0a71\u0A59\u0A5A\u0A5B\u0A5C\u0A5E\u0A72\u0A73\u0A74]", /*roundtrip exclusions*/
+                },
+        new String [] {  "GURMUKHI-TELUGU",
+           "[:GURMUKHI:]", "[:TELUGU:]",
+                  "[\u0c02\u0c03\u0c33\u0c36\u0c44\u0c43\u0c46\u0c4a\u0c56\u0c55\u0C0B\u0C0C\u0C0E\u0C12\u0C31\u0C37\u0C60\u0C61]", /*roundtrip exclusions*/
+                  },
+        new String [] {  "KANNADA-GURMUKHI",
+          "[:KANNADA:]", "[:GURMUKHI:]",
+                "[\u0A01\u0A02\u0a33\u0a36\u0a3c\u0a70\u0a71\u0A59\u0A5A\u0A5B\u0A5C\u0A5E\u0A72\u0A73\u0A74]", /*roundtrip exclusions*/
+                },
+        new String [] {  "GURMUKHI-KANNADA",
+           "[:GURMUKHI:]", "[:KANNADA:]",
+                  "[{\u0cb0\u0cbc}{\u0cb3\u0cbc}\u0c82\u0c83\u0cb3\u0cb6\u0cc4\u0cc3\u0cc6\u0cca\u0cd5\u0cd6\u0C8B\u0C8C\u0C8E\u0C92\u0CB1\u0CB7\u0cbd\u0CE0\u0CE1\u0cde]", /*roundtrip exclusions*/
+                  },
+
+        new String [] {  "MALAYALAM-GURMUKHI",
+          "[:MALAYALAM:]", "[:GURMUKHI:]",
+                "[\u0A01\u0A02\u0a4b\u0a4c\u0a33\u0a36\u0a3c\u0a70\u0a71\u0A59\u0A5A\u0A5B\u0A5C\u0A5E\u0A72\u0A73\u0A74]", /*roundtrip exclusions*/
+                },
+        new String [] {  "GURMUKHI-MALAYALAM",
+           "[:GURMUKHI:]", "[:MALAYALAM:]",
+                  "[\u0d02\u0d03\u0d33\u0d36\u0d43\u0d46\u0d4a\u0d4c\u0d57\u0D0B\u0D0C\u0D0E\u0D12\u0D31\u0D34\u0D37\u0D60\u0D61]", /*roundtrip exclusions*/
+                  },
+
+        new String [] {  "GUJARATI-ORIYA",
+          "[:GUJARATI:]", "[:ORIYA:]",
+                "[\u0b56\u0b57\u0B0C\u0B5F\u0B61\u0b70\u0b71]", /*roundtrip exclusions*/
+                },
+        new String [] {  "ORIYA-GUJARATI",
+           "[:ORIYA:]", "[:GUJARATI:]",
+                  "[\u0Ac4\u0Ac5\u0Ac9\u0Ac7\u0A8D\u0A91\u0AB5\u0Ad0]", /*roundtrip exclusions*/
+                  },
+
+        new String [] {  "TAMIL-GUJARATI",
+          "[:TAMIL:]", "[:GUJARATI:]",
+                "[\u0A81\u0a8c\u0abc\u0ac3\u0Ac4\u0Ac5\u0Ac9\u0Ac7\u0A8B\u0A8D\u0A91\u0A96\u0A97\u0A98\u0A9B\u0A9D\u0AA0\u0AA1\u0AA2\u0AA5\u0AA6\u0AA7\u0AAB\u0AAC\u0AAD\u0AB6\u0ABD\u0AD0\u0AE0\u0AE1]", /*roundtrip exclusions*/
+                },
+        new String [] {  "GUJARATI-TAMIL",
+           "[:GUJARATI:]", "[:TAMIL:]",
+                  "[\u0Bc6\u0Bca\u0Bd7\u0B8E\u0B92\u0BA9\u0BB1\u0BB4]", /*roundtrip exclusions*/
+                  },
+
+        new String [] {  "TELUGU-GUJARATI",
+          "[:TELUGU:]", "[:GUJARATI:]",
+                "[\u0abc\u0Ac5\u0Ac9\u0A8D\u0A91\u0ABD\u0Ad0]", /*roundtrip exclusions*/
+                },
+        new String [] {  "GUJARATI-TELUGU",
+           "[:GUJARATI:]", "[:TELUGU:]",
+                  "[\u0c46\u0c4a\u0c55\u0c56\u0C0C\u0C0E\u0C12\u0C31\u0C61]", /*roundtrip exclusions*/
+                  },
+
+        new String [] {  "KANNADA-GUJARATI",
+          "[:KANNADA:]", "[:GUJARATI:]",
+                "[\u0A81\u0abc\u0Ac5\u0Ac9\u0A8D\u0A91\u0ABD\u0Ad0]", /*roundtrip exclusions*/
+                },
+        new String [] {  "GUJARATI-KANNADA",
+           "[:GUJARATI:]", "[:KANNADA:]",
+                  "[{\u0cb0\u0cbc}{\u0cb3\u0cbc}\u0cc6\u0cca\u0cd5\u0cd6\u0C8C\u0C8E\u0C92\u0CB1\u0CDE\u0CE1]", /*roundtrip exclusions*/
+                  },
+
+        new String [] {  "MALAYALAM-GUJARATI",
+          "[:MALAYALAM:]", "[:GUJARATI:]",
+                "[\u0A81\u0ac4\u0acb\u0acc\u0abc\u0Ac5\u0Ac9\u0A8D\u0A91\u0ABD\u0Ad0]", /*roundtrip exclusions*/
+                },
+        new String [] {  "GUJARATI-MALAYALAM",
+           "[:GUJARATI:]", "[:MALAYALAM:]",
+                  "[\u0d46\u0d4a\u0d4c\u0d55\u0d57\u0D0C\u0D0E\u0D12\u0D31\u0D34\u0D61]", /*roundtrip exclusions*/
+                  },
+
+        new String [] {  "TAMIL-ORIYA",
+          "[:TAMIL:]", "[:ORIYA:]",
+                "[\u0B01\u0b3c\u0b43\u0b56\u0B0B\u0B0C\u0B16\u0B17\u0B18\u0B1B\u0B1D\u0B20\u0B21\u0B22\u0B25\u0B26\u0B27\u0B2B\u0B2C\u0B2D\u0B36\u0B3D\u0B5C\u0B5D\u0B5F\u0B60\u0B61\u0b70\u0b71]", /*roundtrip exclusions*/
+                },
+        new String [] {  "ORIYA-TAMIL",
+           "[:ORIYA:]", "[:TAMIL:]",
+                  "[\u0bc6\u0bca\u0bc7\u0B8E\u0B92\u0BA9\u0BB1\u0BB4\u0BB5]", /*roundtrip exclusions*/
+                  },
+
+        new String [] {  "TELUGU-ORIYA",
+          "[:TELUGU:]", "[:ORIYA:]",
+                "[\u0b3c\u0b57\u0b56\u0B3D\u0B5C\u0B5D\u0B5F\u0b70\u0b71]", /*roundtrip exclusions*/
+                },
+        new String [] {  "ORIYA-TELUGU",
+           "[:ORIYA:]", "[:TELUGU:]",
+                  "[\u0c44\u0c46\u0c4a\u0c55\u0c47\u0C0E\u0C12\u0C31\u0C35]", /*roundtrip exclusions*/
+                  },
+
+        new String [] {  "KANNADA-ORIYA",
+          "[:KANNADA:]", "[:ORIYA:]",
+                "[\u0B01\u0b3c\u0b57\u0B3D\u0B5C\u0B5D\u0B5F\u0b70\u0b71]", /*roundtrip exclusions*/
+                },
+        new String [] {  "ORIYA-KANNADA",
+           "[:ORIYA:]", "[:KANNADA:]",
+                  "[{\u0cb0\u0cbc}{\u0cb3\u0cbc}\u0cc4\u0cc6\u0cca\u0cd5\u0cc7\u0C8E\u0C92\u0CB1\u0CB5\u0CDE]", /*roundtrip exclusions*/
+                  },
+
+        new String [] {  "MALAYALAM-ORIYA",
+          "[:MALAYALAM:]", "[:ORIYA:]",
+                "[\u0B01\u0b3c\u0b56\u0B3D\u0B5C\u0B5D\u0B5F\u0b70\u0b71]", /*roundtrip exclusions*/
+                },
+        new String [] {  "ORIYA-MALAYALAM",
+           "[:ORIYA:]", "[:MALAYALAM:]",
+                  "[\u0D47\u0D46\u0D4a\u0D0E\u0D12\u0D31\u0D34\u0D35]", /*roundtrip exclusions*/
+                  },
+
+        new String [] {  "TELUGU-TAMIL",
+          "[:TELUGU:]", "[:TAMIL:]",
+                "[\u0bd7\u0ba9\u0bb4]", /*roundtrip exclusions*/
+                },
+        new String [] {  "TAMIL-TELUGU",
+           "[:TAMIL:]", "[:TELUGU:]",
+                  "[\u0C01\u0c43\u0c44\u0c46\u0c47\u0c55\u0c56\u0c66\u0C0B\u0C0C\u0C16\u0C17\u0C18\u0C1B\u0C1D\u0C20\u0C21\u0C22\u0C25\u0C26\u0C27\u0C2B\u0C2C\u0C2D\u0C36\u0C60\u0C61]", /*roundtrip exclusions*/
+                  },
+
+        new String [] {  "KANNADA-TAMIL",
+          "[:KANNADA:]", "[:TAMIL:]",
+                "[\u0bd7\u0bc6\u0ba9\u0bb4]", /*roundtrip exclusions*/
+                },
+        new String [] {  "TAMIL-KANNADA",
+           "[:TAMIL:]", "[:KANNADA:]",
+                  "[\u0cc3\u0cc4\u0cc6\u0cc7\u0cd5\u0cd6\u0C8B\u0C8C\u0C96\u0C97\u0C98\u0C9B\u0C9D\u0CA0\u0CA1\u0CA2\u0CA5\u0CA6\u0CA7\u0CAB\u0CAC\u0CAD\u0CB6\u0cbc\u0cbd\u0CDE\u0CE0\u0CE1]", /*roundtrip exclusions*/
+                  },
+
+        new String [] {  "MALAYALAM-TAMIL",
+          "[:MALAYALAM:]", "[:TAMIL:]",
+                "[\u0ba9]", /*roundtrip exclusions*/
+                },
+        new String [] {  "TAMIL-MALAYALAM",
+           "[:TAMIL:]", "[:MALAYALAM:]",
+                  "[\u0d43\u0d12\u0D0B\u0D0C\u0D16\u0D17\u0D18\u0D1B\u0D1D\u0D20\u0D21\u0D22\u0D25\u0D26\u0D27\u0D2B\u0D2C\u0D2D\u0D36\u0D60\u0D61]", /*roundtrip exclusions*/
+                  },
+
+        new String [] {  "KANNADA-TELUGU",
+          "[:KANNADA:]", "[:TELUGU:]",
+                "[\u0C01\u0c3f\u0c46\u0c48\u0c4a]", /*roundtrip exclusions*/
+                },
+        new String [] {  "TELUGU-KANNADA",
+           "[:TELUGU:]", "[:KANNADA:]",
+                  "[\u0cc8\u0cd5\u0cd6\u0CDE\u0cbc\u0cbd]", /*roundtrip exclusions*/
+                  },
+
+        new String [] {  "MALAYALAM-TELUGU",
+          "[:MALAYALAM:]", "[:TELUGU:]",
+                "[\u0C01\u0c44\u0c4a\u0c4c\u0c4b\u0c55\u0c56]", /*roundtrip exclusions*/
+                },
+        new String [] {  "TELUGU-MALAYALAM",
+           "[:TELUGU:]", "[:MALAYALAM:]",
+                  "[\u0d4c\u0d57\u0D34]", /*roundtrip exclusions*/
+                  },
+
+        new String [] {  "MALAYALAM-KANNADA",
+          "[:MALAYALAM:]", "[:KANNADA:]",
+                "[\u0cbc\u0cbd\u0cc4\u0cc6\u0cca\u0ccc\u0ccb\u0cd5\u0cd6\u0cDe]", /*roundtrip exclusions*/
+                },
+        new String [] {  "Latin-Bengali",
+            latinForIndic, "[[:Bengali:][\u0964\u0965]]",
+               "[\u0965\u09f0-\u09fa\u09ce]", /*roundtrip exclusions*/
+                },
+        new String [] {  "Latin-Gurmukhi",
+           latinForIndic, "[[:Gurmukhi:][\u0964\u0965]]",
+               "[\u0a01\u0a02\u0965\u0a72\u0a73\u0a74]", /*roundtrip exclusions*/
+                },
+        new String [] {  "Latin-Gujarati",
+            latinForIndic, "[[:Gujarati:][\u0964\u0965]]",
+               "[\u0965]", /*roundtrip exclusions*/
+                },
+        new String [] {  "Latin-Oriya",
+            latinForIndic, "[[:Oriya:][\u0964\u0965]]",
+               "[\u0965\u0b70]", /*roundtrip exclusions*/
+                },
+        new String [] {  "Latin-Tamil",
+            latinForIndic, "[:Tamil:]",
+               null, /*roundtrip exclusions*/
+                },
+        new String [] {  "Latin-Telugu",
+            latinForIndic, "[:Telugu:]",
+               null, /*roundtrip exclusions*/
+                },
+        new String [] {  "Latin-Kannada",
+            latinForIndic, "[:Kannada:]",
+               null, /*roundtrip exclusions*/
+                },
+         new String [] {  "Latin-Malayalam",
+           latinForIndic, "[:Malayalam:]",
+               null, /*roundtrip exclusions*/
+                },
+        };
+
+    public void TestInterIndic() throws Exception{
+        long start = System.currentTimeMillis();
+        int num = interIndicArray.length;
+        if (isQuick()) {
+            logln("Testing only 5 of "+ interIndicArray.length+" Skipping rest (use -e for exhaustive)");
+            num = 5;
+        }
+        for(int i=0; i<num;i++){
+           logln("Testing " + interIndicArray[i][0] + " at index " + i   );
+           if(skipIfBeforeICU(2,8)){
+               new Test(interIndicArray[i][0], 50)
+                    .test("[" + interIndicArray[i][1]+" & [:Age=3.2:]]",
+                          "[" + interIndicArray[i][2]+" & [:Age=3.2:]]",
+                          interIndicArray[i][3],
+                          this, new LegalIndic());
+           }else{
+               new Test(interIndicArray[i][0], 50)
+                    .test(interIndicArray[i][1],
+                          interIndicArray[i][2],
+                          interIndicArray[i][3],
+                          this, new LegalIndic());
+           }
+
+        }
+        showElapsed(start, "TestInterIndic");
+    }
+
+    //---------------
+    // End Indic
+    //---------------
+
+    public static class Legal {
+        public boolean is(String sourceString) {return true;}
+    }
+
+    public static class LegalJamo extends Legal {
+        // any initial must be followed by a medial (or initial)
+        // any medial must follow an initial (or medial)
+        // any final must follow a medial (or final)
+
+        public boolean is(String sourceString) {
+            try {
+                int t;
+                String decomp = Normalizer.normalize(sourceString, Normalizer.NFD);
+                for (int i = 0; i < decomp.length(); ++i) { // don't worry about surrogates
+                    switch (getType(decomp.charAt(i))) {
+                    case 0:
+                        t = getType(decomp.charAt(i+1));
+                        if (t != 0 && t != 1) return false;
+                        break;
+                    case 1:
+                        t = getType(decomp.charAt(i-1));
+                        if (t != 0 && t != 1) return false;
+                        break;
+                    case 2:
+                        t = getType(decomp.charAt(i-1));
+                        if (t != 1 && t != 2) return false;
+                        break;
+                    }
+                }
+                return true;
+            } catch (StringIndexOutOfBoundsException e) {
+                return false;
+            }
+        }
+
+        public int getType(char c) {
+            if ('\u1100' <= c && c <= '\u1112') return 0;
+            else if ('\u1161' <= c && c  <= '\u1175') return 1;
+            else if ('\u11A8' <= c && c  <= '\u11C2') return 2;
+            return -1; // other
+        }
+    }
+
+    //static BreakIterator thaiBreak = BreakIterator.getWordInstance(new Locale("th", "TH"));
+    // anything is legal except word ending with Logical-order-exception
+    public static class LegalThai extends Legal {
+        public boolean is(String sourceString) {
+            if (sourceString.length() == 0) return true;
+            char ch = sourceString.charAt(sourceString.length() - 1); // don't worry about surrogates.
+            if (UCharacter.hasBinaryProperty(ch, UProperty.LOGICAL_ORDER_EXCEPTION)) return false;
+
+
+            // disallow anything with a wordbreak between
+            /*
+            if (UTF16.countCodePoint(sourceString) <= 1) return true;
+            thaiBreak.setText(sourceString);
+            for (int pos = thaiBreak.first(); pos != BreakIterator.DONE; pos = thaiBreak.next()) {
+                if (pos > 0 && pos < sourceString.length()) {
+                    System.out.println("Skipping " + Utility.escape(sourceString));
+                    return false;
+                }
+            }
+            */
+            return true;
+        }
+    }
+
+    // anything is legal except that Final letters can't be followed by letter; NonFinal must be
+    public static class LegalHebrew extends Legal {
+        static UnicodeSet FINAL = new UnicodeSet("[\u05DA\u05DD\u05DF\u05E3\u05E5]");
+        static UnicodeSet NON_FINAL = new UnicodeSet("[\u05DB\u05DE\u05E0\u05E4\u05E6]");
+        static UnicodeSet LETTER = new UnicodeSet("[:letter:]");
+        public boolean is(String sourceString) {
+            if (sourceString.length() == 0) return true;
+            // don't worry about surrogates.
+            for (int i = 0; i < sourceString.length(); ++i) {
+                char ch = sourceString.charAt(i);
+                char next = i+1 == sourceString.length() ? '\u0000' : sourceString.charAt(i);
+                if (FINAL.contains(ch)) {
+                    if (LETTER.contains(next)) return false;
+                } else if (NON_FINAL.contains(ch)) {
+                    if (!LETTER.contains(next)) return false;
+                }
+            }
+            return true;
+        }
+    }
+
+
+    public static class LegalGreek extends Legal {
+
+        boolean full;
+
+        public LegalGreek(boolean full) {
+            this.full = full;
+        }
+
+        static final char IOTA_SUBSCRIPT = '\u0345';
+        static final UnicodeSet breathing = new UnicodeSet("[\\u0313\\u0314']");
+        static final UnicodeSet validSecondVowel = new UnicodeSet("[\\u03C5\\u03B9\\u03A5\\u0399]");
+
+        public static boolean isVowel(char c) {
+            return "\u03B1\u03B5\u03B7\u03B9\u03BF\u03C5\u03C9\u0391\u0395\u0397\u0399\u039F\u03A5\u03A9".indexOf(c) >= 0;
+        }
+
+        public static boolean isRho(char c) {
+            return "\u03C1\u03A1".indexOf(c) >= 0;
+        }
+
+        public boolean is(String sourceString) {
+            try {
+                String decomp = Normalizer.normalize(sourceString, Normalizer.NFD);
+
+                // modern is simpler: don't care about anything but a grave
+                if (!full) {
+                    //if (sourceString.equals("\u039C\u03C0")) return false;
+                    for (int i = 0; i < decomp.length(); ++i) {
+                        char c = decomp.charAt(i);
+                        // exclude all the accents
+                        if (c == '\u0313' || c == '\u0314' || c == '\u0300' || c == '\u0302'
+                            || c == '\u0342' || c == '\u0345'
+                            ) return false;
+                    }
+                    return true;
+                }
+
+                // Legal full Greek has breathing marks IFF there is a vowel or RHO at the start
+                // IF it has them, it has exactly one.
+                // IF it starts with a RHO, then the breathing mark must come before the second letter.
+                // IF it starts with a vowel, then it must before the third letter.
+                //  it will only come after the second if of the format [vowel] [no iota subscript!] [upsilon or iota]
+                // Since there are no surrogates in greek, don't worry about them
+
+                boolean firstIsVowel = false;
+                boolean firstIsRho = false;
+                boolean noLetterYet = true;
+                int breathingCount = 0;
+                int letterCount = 0;
+                //int breathingPosition = -1;
+
+                for (int i = 0; i < decomp.length(); ++i) {
+                    char c = decomp.charAt(i);
+                    if (UCharacter.isLetter(c)) {
+                        ++letterCount;
+                        if (firstIsVowel && !validSecondVowel.contains(c) && breathingCount == 0) return false;
+                        if (noLetterYet) {
+                            noLetterYet = false;
+                            firstIsVowel = isVowel(c);
+                            firstIsRho = isRho(c);
+                        }
+                        if (firstIsRho && letterCount == 2 && breathingCount == 0) return false;
+                    }
+                    if (c == IOTA_SUBSCRIPT && firstIsVowel && breathingCount == 0) return false;
+                    if (breathing.contains(c)) {
+                       // breathingPosition = i;
+                        ++breathingCount;
+                    }
+                }
+
+                if (firstIsVowel || firstIsRho) return breathingCount == 1;
+                return breathingCount == 0;
+            } catch (Throwable t) {
+                System.out.println(t.getClass().getName() + " " + t.getMessage());
+                return true;
+            }
+        }
+    }
+
+    static class Test {
+
+        PrintWriter out;
+
+        private String transliteratorID;
+        private int errorLimit = 500;
+        private int errorCount = 0;
+        private int pairLimit  = 0x10000;
+        private int density = 100;
+        UnicodeSet sourceRange;
+        UnicodeSet targetRange;
+        UnicodeSet toSource;
+        UnicodeSet toTarget;
+        UnicodeSet roundtripExclusions;
+
+        RoundTripTest log;
+        Legal legalSource;
+        UnicodeSet badCharacters;
+
+        /*
+         * create a test for the given script transliterator.
+         */
+        Test(String transliteratorID) {
+            this(transliteratorID, 100);
+        }
+
+        Test(String transliteratorID, int dens) {
+            this.transliteratorID = transliteratorID;
+            this.density = dens;
+        }
+
+        public void setErrorLimit(int limit) {
+            errorLimit = limit;
+        }
+
+        public void setPairLimit(int limit) {
+            pairLimit = limit;
+        }
+
+        // Added to do better equality check.
+
+        public static boolean isSame(String a, String b) {
+            if (a.equals(b)) return true;
+            if (a.equalsIgnoreCase(b) && isCamel(a)) return true;
+            a = Normalizer.normalize(a, Normalizer.NFD);
+            b = Normalizer.normalize(b, Normalizer.NFD);
+            if (a.equals(b)) return true;
+            if (a.equalsIgnoreCase(b) && isCamel(a)) return true;
+            return false;
+        }
+
+        /*
+        public boolean includesSome(UnicodeSet set, String a) {
+            int cp;
+            for (int i = 0; i < a.length(); i += UTF16.getCharCount(cp)) {
+                cp = UTF16.charAt(a, i);
+                if (set.contains(cp)) return true;
+            }
+            return false;
+        }
+        */
+
+        public static boolean isCamel(String a) {
+            //System.out.println("CamelTest");
+            // see if string is of the form aB; e.g. lower, then upper or title
+            int cp;
+            boolean haveLower = false;
+            for (int i = 0; i < a.length(); i += UTF16.getCharCount(cp)) {
+                cp = UTF16.charAt(a, i);
+                int t = UCharacter.getType(cp);
+                //System.out.println("\t" + t + " " + Integer.toString(cp,16) + " " + UCharacter.getName(cp));
+                switch (t) {
+                    case Character.UPPERCASE_LETTER:
+                        if (haveLower) return true;
+                        break;
+                    case Character.TITLECASE_LETTER:
+                        if (haveLower) return true;
+                        // drop through, since second letter is lower.
+                    case Character.LOWERCASE_LETTER:
+                        haveLower = true;
+                        break;
+                }
+            }
+            //System.out.println("FALSE");
+            return false;
+        }
+
+        static final UnicodeSet okAnyway = new UnicodeSet("[^[:Letter:]]");
+        static final UnicodeSet neverOk = new UnicodeSet("[:Other:]");
+
+        public void test(String sourceRange, String targetRange,
+          String roundtripExclusions, RoundTripTest log, Legal legalSource)
+          throws java.io.IOException {
+            test(sourceRange, targetRange, sourceRange, roundtripExclusions, log, legalSource);
+        }
+
+        /**
+         * Will test 
+         * that everything in sourceRange maps to targetRange,
+         * that everything in targetRange maps to backtoSourceRange
+         * that everything roundtrips from target -> source -> target, except roundtripExceptions
+         */
+        public void test(String sourceRange, String targetRange, String backtoSourceRange,
+          String roundtripExclusions, RoundTripTest log, Legal legalSource)
+          throws java.io.IOException {
+
+            this.legalSource = legalSource;
+            this.sourceRange = new UnicodeSet(sourceRange);
+            this.sourceRange.removeAll(neverOk);
+
+            this.targetRange = new UnicodeSet(targetRange);
+            this.targetRange.removeAll(neverOk);
+
+            this.toSource = new UnicodeSet(backtoSourceRange);
+            this.toSource.addAll(okAnyway);
+
+            this.toTarget = new UnicodeSet(targetRange);
+            this.toTarget.addAll(okAnyway);
+
+            if (roundtripExclusions != null && roundtripExclusions.length() > 0) {
+                this.roundtripExclusions = new UnicodeSet(roundtripExclusions);
+            }else{
+                this.roundtripExclusions = new UnicodeSet(); // empty
+            }
+
+            this.log = log;
+
+            log.logln(Utility.escape("Source:  " + this.sourceRange));
+            log.logln(Utility.escape("Target:  " + this.targetRange));
+            log.logln(Utility.escape("Exclude: " + this.roundtripExclusions));
+            if (log.isQuick()) log.logln("Abbreviated Test");
+
+            badCharacters = new UnicodeSet("[:other:]");
+
+            // make a UTF-8 output file we can read with a browser
+
+            // note: check that every transliterator transliterates the null string correctly!
+
+        // {dlf} reorganize so can run test in protected security environment
+//              String logFileName = "test_" + transliteratorID.replace('/', '_') + ".html";
+
+//              File lf = new File(logFileName);
+//              log.logln("Creating log file " + lf.getAbsoluteFile());
+
+//              out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(
+//                        new FileOutputStream(logFileName), "UTF8"), 4*1024));
+
+        ByteArrayOutputStream bast = new ByteArrayOutputStream();
+            out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(
+                      bast, "UTF8"), 4*1024));
+            //out.write('\uFFEF');    // BOM
+            out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">");
+            out.println("<HTML><HEAD>");
+            out.println("<META content=\"text/html; charset=utf-8\" http-equiv=Content-Type></HEAD>");
+            out.println("<BODY bgcolor='#FFFFFF' style='font-family: Arial Unicode MS'>");
+
+            try {
+                test2();
+            } catch (TestTruncated e) {
+                out.println(e.getMessage());
+            }
+            out.println("</BODY></HTML>");
+            out.close();
+
+            if (errorCount > 0) {
+        try {
+            String logFileName = "test_" + transliteratorID.replace('/', '_') + ".html";
+            File lf = new File(logFileName);
+            log.logln("Creating log file " + lf.getAbsoluteFile());
+            FileOutputStream fos = new FileOutputStream(lf);
+            fos.write(bast.toByteArray());
+            fos.close();
+            log.errln(transliteratorID + " errors: "
+                  + errorCount + (errorCount > errorLimit ? " (at least!)" : "")
+                  + ", see " + lf.getAbsoluteFile());
+        }
+        catch (SecurityException e) {
+            log.errln(transliteratorID + " errors: "
+                  + errorCount + (errorCount > errorLimit ? " (at least!)" : "")
+                  + ", no log provided due to protected test domain");
+        }
+            } else {
+                log.logln(transliteratorID + " ok");
+//                  new File(logFileName).delete();
+            }
+        }
+
+        // ok if at least one is not equal
+        public boolean checkIrrelevants(Transliterator t, String irrelevants) {
+            for (int i = 0; i < irrelevants.length(); ++i) {
+                char c = irrelevants.charAt(i);
+                String cs = UTF16.valueOf(c);
+                String targ = t.transliterate(cs);
+                if (cs.equals(targ)) return true;
+            }
+            return false;
+        }
+
+        public void test2() {
+
+            Transliterator sourceToTarget = Transliterator.getInstance(transliteratorID);
+            Transliterator targetToSource = sourceToTarget.getInverse();
+            AbbreviatedUnicodeSetIterator usi = new AbbreviatedUnicodeSetIterator();
+            AbbreviatedUnicodeSetIterator usi2 = new AbbreviatedUnicodeSetIterator();
+
+            log.logln("Checking that at least one irrevant characters is not NFC'ed");
+            out.println("<h3>Checking that at least one irrevant characters is not NFC'ed</h3>");
+
+            String irrelevants = "\u2000\u2001\u2126\u212A\u212B\u2329"; // string is from NFC_NO in the UCD
+
+            if (!checkIrrelevants(sourceToTarget, irrelevants)) {
+                logFails("Source-Target, Must not NFC everything");
+            }
+            if (!checkIrrelevants(targetToSource, irrelevants)) {
+                logFails("Target-Source, irrelevants");
+            }
+
+            if (EXTRA_TESTS) {
+                log.logln("Checking that toRules works");
+                String rules = "";
+                Transliterator sourceToTarget2;
+                Transliterator targetToSource2;
+                try {
+                    rules = sourceToTarget.toRules(false);
+                    sourceToTarget2 = Transliterator.createFromRules("s2t2", rules, Transliterator.FORWARD);
+                    if (PRINT_RULES) {
+                        out.println("<h3>Forward Rules:</h3><p>");
+                        out.println(TestUtility.replace(rules, "\n", "<br>\n"));
+                        out.println("</p>");
+                    }
+                    rules = targetToSource.toRules(false);
+                    targetToSource2 = Transliterator.createFromRules("t2s2", rules, Transliterator.FORWARD);
+                    if (PRINT_RULES) {
+                        out.println("<h3>Backward Rules:</h3><p>");
+                        out.println(TestUtility.replace(rules, "\n", "<br>\n"));
+                        out.println("</p>");
+                    }
+                } catch (RuntimeException e) {
+                    out.println("<h3>Broken Rules:</h3><p>");
+                    out.println(TestUtility.replace(rules, "\n", "<br>\n"));
+                    out.println("</p>");
+                    out.flush();
+                    throw e;
+                }
+
+               out.println("<h3>Roundtrip Exclusions: " + new UnicodeSet(roundtripExclusions) + "</h3>");
+               out.flush();
+
+              log.logln("Checking that source -> target -> source");
+              out.println("<h3>Checking that source -> target -> source</h3>");
+              
+              usi.reset(sourceRange);
+                while (usi.next()) {
+                    int c = usi.codepoint;
+
+                    String cs = UTF16.valueOf(c);
+                    String targ = sourceToTarget.transliterate(cs);
+                    String targ2 = sourceToTarget2.transliterate(cs);
+                    if (!targ.equals(targ2)) {
+                        logToRulesFails("Source-Target, toRules", cs, targ, targ2);
+                    }
+                }
+
+                log.logln("Checking that target -> source -> target");
+                out.println("<h3>Checking that target -> source -> target</h3>");
+               usi.reset(targetRange);
+                while (usi.next()) {
+                    int c = usi.codepoint;
+
+                    String cs = UTF16.valueOf(c);
+                    String targ = targetToSource.transliterate(cs);
+                    String targ2 = targetToSource2.transliterate(cs);
+                    if (!targ.equals(targ2)) {
+                        logToRulesFails("Target-Source, toRules", cs, targ, targ2);
+                    }
+                }
+            }
+
+
+            log.logln("Checking that source characters convert to target - Singles");
+            out.println("<h3>Checking that source characters convert to target - Singles</h3>");
+
+            UnicodeSet failSourceTarg = new UnicodeSet();
+
+            /*
+            for (char c = 0; c < 0xFFFF; ++c) {
+                if (!sourceRange.contains(c)) continue;
+                */
+            usi.reset(sourceRange);
+            while (usi.next()) {
+                int c = usi.codepoint;
+
+                String cs = UTF16.valueOf(c);
+                String targ = sourceToTarget.transliterate(cs);
+                if (!toTarget.containsAll(targ)
+                        || badCharacters.containsSome(targ)) {
+                    String targD = Normalizer.normalize(targ, Normalizer.NFD);
+                    if (!toTarget.containsAll(targD)
+                            || badCharacters.containsSome(targD)) {
+                        logWrongScript("Source-Target", cs, targ, toTarget, badCharacters);
+                        failSourceTarg.add(c);
+                        continue;
+                    }
+                }
+
+                String cs2 = Normalizer.normalize(cs, Normalizer.NFD);
+                String targ2 = sourceToTarget.transliterate(cs2);
+                if (!targ.equals(targ2)) {
+                    logNotCanonical("Source-Target", cs, targ, cs2, targ2);
+                }
+            }
+
+            log.logln("Checking that source characters convert to target - Doubles");
+            out.println("<h3>Checking that source characters convert to target - Doubles</h3>");
+
+            /*
+            for (char c = 0; c < 0xFFFF; ++c) {
+                if (TestUtility.isUnassigned(c) ||
+                    !sourceRange.contains(c)) continue;
+                if (failSourceTarg.get(c)) continue;
+
+            */
+
+            UnicodeSet sourceRangeMinusFailures = new UnicodeSet(sourceRange);
+            sourceRangeMinusFailures.removeAll(failSourceTarg);
+
+            boolean quickRt = log.getInclusion() < 10;
+
+            usi.reset(sourceRangeMinusFailures, quickRt, density);
+
+            while (usi.next()) {
+                int c = usi.codepoint;
+
+                /*
+                for (char d = 0; d < 0xFFFF; ++d) {
+                    if (TestUtility.isUnassigned(d) ||
+                        !sourceRange.contains(d)) continue;
+                    if (failSourceTarg.get(d)) continue;
+                */
+                usi2.reset(sourceRangeMinusFailures, quickRt, density);
+
+                while (usi2.next()) {
+                    int d = usi2.codepoint;
+
+                    String cs = UTF16.valueOf(c) + UTF16.valueOf(d);
+                    String targ = sourceToTarget.transliterate(cs);
+                    if (!toTarget.containsAll(targ)
+                            || badCharacters.containsSome(targ)) {
+                        String targD = Normalizer.normalize(targ, Normalizer.NFD);
+                        if (!toTarget.containsAll(targD)
+                                || badCharacters.containsSome(targD)) {
+                            logWrongScript("Source-Target", cs, targ, toTarget, badCharacters);
+                            continue;
+                        }
+                    }
+                    String cs2 = Normalizer.normalize(cs, Normalizer.NFD);
+                    String targ2 = sourceToTarget.transliterate(cs2);
+                    if (!targ.equals(targ2)) {
+                        logNotCanonical("Source-Target", cs, targ, cs2, targ2);
+                    }
+                }
+            }
+
+            log.logln("Checking that target characters convert to source and back - Singles");
+            out.println("<h3>Checking that target characters convert to source and back - Singles</h3>");
+
+            UnicodeSet failTargSource = new UnicodeSet();
+            UnicodeSet failRound = new UnicodeSet();
+
+            /*for (char c = 0; c < 0xFFFF; ++c) {
+                if (TestUtility.isUnassigned(c) ||
+                    !targetRange.contains(c)) continue;
+                    */
+
+            usi.reset(targetRange);
+            while (usi.next()) {
+                String cs;
+                int c;
+                if(usi.codepoint == UnicodeSetIterator.IS_STRING){
+                    cs = usi.string;
+                    c = UTF16.charAt(cs,0);
+                }else{
+                    c = usi.codepoint;
+                    cs =UTF16.valueOf(c);
+                }
+
+                String targ = targetToSource.transliterate(cs);
+                String reverse = sourceToTarget.transliterate(targ);
+
+                if (!toSource.containsAll(targ)
+                        || badCharacters.containsSome(targ)) {
+                    String targD = Normalizer.normalize(targ, Normalizer.NFD);
+                    if (!toSource.containsAll(targD)
+                            || badCharacters.containsSome(targD)) {
+                                /*UnicodeSet temp = */new UnicodeSet().addAll(targD);
+                        logWrongScript("Target-Source", cs, targ, toSource, badCharacters);
+                        failTargSource.add(cs);
+                        continue;
+                    }
+                }
+                if (!isSame(cs, reverse) && !roundtripExclusions.contains(c)
+                    && !roundtripExclusions.contains(cs)) {
+                    logRoundTripFailure(cs,targetToSource.getID(), targ,sourceToTarget.getID(), reverse);
+                    failRound.add(c);
+                    continue;
+                }
+                String targ2 = Normalizer.normalize(targ, Normalizer.NFD);
+                String reverse2 = sourceToTarget.transliterate(targ2);
+                if (!reverse.equals(reverse2)) {
+                    logNotCanonical("Target-Source", targ, reverse, targ2, reverse2);
+                }
+            }
+
+            log.logln("Checking that target characters convert to source and back - Doubles");
+            out.println("<h3>Checking that target characters convert to source and back - Doubles</h3>");
+            int count = 0;
+
+            UnicodeSet targetRangeMinusFailures = new UnicodeSet(targetRange);
+            targetRangeMinusFailures.removeAll(failTargSource);
+            targetRangeMinusFailures.removeAll(failRound);
+
+            //char[] buf = new char[4]; // maximum we can have with 2 code points
+            /*
+            for (char c = 0; c < 0xFFFF; ++c) {
+                if (TestUtility.isUnassigned(c) ||
+                    !targetRange.contains(c)) continue;
+                    */
+
+            usi.reset(targetRangeMinusFailures, quickRt, density);
+
+            while (usi.next()) {
+                int c = usi.codepoint;
+
+                if (++count > pairLimit) {
+                    throw new TestTruncated("Test truncated at " + pairLimit + " x 64k pairs");
+                }
+                //log.log(TestUtility.hex(c));
+
+                /*
+                for (char d = 0; d < 0xFFFF; ++d) {
+                    if (TestUtility.isUnassigned(d) ||
+                        !targetRange.contains(d)) continue;
+                        */
+                usi2.reset(targetRangeMinusFailures, quickRt, density);
+
+                while (usi2.next()) {
+                    int d = usi2.codepoint;
+                    if (d < 0) break;
+
+                    String cs = UTF16.valueOf(c) + UTF16.valueOf(d);
+                    String targ = targetToSource.transliterate(cs);
+                    String reverse = sourceToTarget.transliterate(targ);
+
+                    if (!toSource.containsAll(targ) /*&& !failTargSource.contains(c) && !failTargSource.contains(d)*/
+                            || badCharacters.containsSome(targ)) {
+                        String targD = Normalizer.normalize(targ, Normalizer.NFD);
+                        if (!toSource.containsAll(targD) /*&& !failTargSource.contains(c) && !failTargSource.contains(d)*/
+                                || badCharacters.containsSome(targD)) {
+                            logWrongScript("Target-Source", cs, targ, toSource, badCharacters);
+                            continue;
+                        }
+                    }
+                    if (!isSame(cs, reverse) /*&& !failRound.contains(c) && !failRound.contains(d)*/
+                         && !roundtripExclusions.contains(c)
+                         && !roundtripExclusions.contains(d)
+                         && !roundtripExclusions.contains(cs)) {
+                        logRoundTripFailure(cs,targetToSource.getID(), targ,sourceToTarget.getID(), reverse);
+                        continue;
+                    }
+                    String targ2 = Normalizer.normalize(targ, Normalizer.NFD);
+                    String reverse2 = sourceToTarget.transliterate(targ2);
+                    if (!reverse.equals(reverse2)) {
+                        logNotCanonical("Target-Source", targ, reverse, targ2, reverse2);
+                    }
+                }
+            }
+            log.logln("");
+        }
+
+        final String info(String s) {
+            StringBuffer result = new StringBuffer();
+            result.append("\u200E").append(s).append("\u200E (").append(TestUtility.hex(s)).append("/");
+            if (false) { // append age, as a check
+                int cp = 0;    
+                for (int i = 0; i < s.length(); i += UTF16.getCharCount(cp)) {
+                    cp = UTF16.charAt(s, i);
+                    if (i > 0) result.append(", ");
+                    result.append(UCharacter.getAge(cp));
+                }
+            }
+            result.append(")");
+            return result.toString();
+        }
+
+        final void logWrongScript(String label, String from, String to, 
+          UnicodeSet shouldContainAll, UnicodeSet shouldNotContainAny) {
+            if (++errorCount > errorLimit) {
+                throw new TestTruncated("Test truncated; too many failures");
+            }
+            String toD = Normalizer.normalize(to, Normalizer.NFD);
+            UnicodeSet temp = new UnicodeSet().addAll(toD);
+            UnicodeSet bad = new UnicodeSet(shouldNotContainAny).retainAll(temp)
+                .addAll(new UnicodeSet(temp).removeAll(shouldContainAll));
+
+            out.println("<br>Fail " + label + ": " +
+                        info(from) + " => " + info(to) + " " + bad
+                        );
+        }
+        
+        final void logNotCanonical(String label, String from, String to, String fromCan, String toCan) {
+            if (++errorCount > errorLimit) {
+                throw new TestTruncated("Test truncated; too many failures");
+            }
+            out.println("<br>Fail (can.equiv) " + label + ": " +
+                        info(from) + " => " + info(to) +
+                        " -- " +
+                        info(fromCan) + " => " + info(toCan) + ")"
+                        );
+        }
+
+        final void logFails(String label) {
+            if (++errorCount > errorLimit) {
+                throw new TestTruncated("Test truncated; too many failures");
+            }
+            out.println("<br>Fail (can.equiv)" + label);
+        }
+
+        final void logToRulesFails(String label, String from, String to, String toCan) {
+            if (++errorCount > errorLimit) {
+                throw new TestTruncated("Test truncated; too many failures");
+            }
+            out.println("<br>Fail " + label + ": " +
+                        info(from) + " => " + info(to) + ", " + info(toCan)
+                        );
+        }
+
+        final void logRoundTripFailure(String from,String toID, String to,String backID, String back) {
+            if (!legalSource.is(from)) return; // skip illegals
+
+            if (++errorCount > errorLimit) {
+                throw new TestTruncated("Test truncated; too many failures");
+            }
+            out.println("<br>Fail Roundtrip: " +
+                        info(from) + " "+toID+" => " + info(to) + " " + backID+" => " + info(back)
+                        );
+        }
+
+        /*
+         * Characters to filter for source-target mapping completeness
+         * Typically is base alphabet, minus extended characters
+         * Default is ASCII letters for Latin
+         */
+         /*
+        public boolean isSource(char c) {
+            if (!sourceRange.contains(c)) return false;
+            return true;
+        }
+        */
+
+        /*
+         * Characters to check for target back to source mapping.
+         * Typically the same as the target script, plus punctuation
+         */
+         /*
+        public boolean isReceivingSource(char c) {
+            if (!targetRange.contains(c)) return false;
+            return true;
+        }
+        */
+        /*
+         * Characters to filter for target-source mapping
+         * Typically is base alphabet, minus extended characters
+         */
+         /*
+        public boolean isTarget(char c) {
+            byte script = TestUtility.getScript(c);
+            if (script != targetScript) return false;
+            if (!TestUtility.isLetter(c)) return false;
+            if (targetRange != null && !targetRange.contains(c)) return false;
+            return true;
+        }
+        */
+
+        /*
+         * Characters to check for target-source mapping
+         * Typically the same as the source script, plus punctuation
+         */
+        /*
+        public boolean isReceivingTarget(char c) {
+            byte script = TestUtility.getScript(c);
+            return (script == targetScript || script == TestUtility.COMMON_SCRIPT);
+        }
+
+        final boolean isSource(String s) {
+            for (int i = 0; i < s.length(); ++i) {
+                if (!isSource(s.charAt(i))) return false;
+            }
+            return true;
+        }
+
+        final boolean isTarget(String s) {
+            for (int i = 0; i < s.length(); ++i) {
+                if (!isTarget(s.charAt(i))) return false;
+            }
+            return true;
+        }
+
+        final boolean isReceivingSource(String s) {
+            for (int i = 0; i < s.length(); ++i) {
+                if (!isReceivingSource(s.charAt(i))) return false;
+            }
+            return true;
+        }
+
+        final boolean isReceivingTarget(String s) {
+            for (int i = 0; i < s.length(); ++i) {
+                if (!isReceivingTarget(s.charAt(i))) return false;
+            }
+            return true;
+        }
+        */
+
+        static class TestTruncated extends RuntimeException {
+            TestTruncated(String msg) {
+                super(msg);
+            }
+        }
+    }
+
+//  static class TestHangul extends Test {
+//      TestHangul () {
+//          super("Jamo-Hangul", TestUtility.JAMO_SCRIPT, TestUtility.HANGUL_SCRIPT);
+//      }
+//
+//      public boolean isSource(char c) {
+//          if (0x1113 <= c && c <= 0x1160) return false;
+//          if (0x1176 <= c && c <= 0x11F9) return false;
+//          if (0x3131 <= c && c <= 0x318E) return false;
+//          return super.isSource(c);
+//      }
+//  }
+}
diff --git a/src/com/ibm/icu/dev/test/translit/TestAll.java b/src/com/ibm/icu/dev/test/translit/TestAll.java
new file mode 100644
index 0000000..3541145
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/translit/TestAll.java
@@ -0,0 +1,33 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.test.translit;
+
+import com.ibm.icu.dev.test.TestFmwk.TestGroup;
+
+/**
+ * Top level test used to run all other tests as a batch.
+ */
+
+public class TestAll extends TestGroup {
+    public static void main(String[] args) {
+        new TestAll().run(args);
+    }
+
+    public TestAll() {
+        super(new String[] {
+            "TransliteratorTest",
+            "UnicodeSetTest",
+            "CompoundTransliteratorTest",
+            "JamoTest",
+            "ErrorTest",
+            "RoundTripTest",
+            "ReplaceableTest",
+        });
+    }
+
+    public static final String CLASS_TARGET_NAME = "Translit";
+}
diff --git a/src/com/ibm/icu/dev/test/translit/TestUtility.java b/src/com/ibm/icu/dev/test/translit/TestUtility.java
new file mode 100755
index 0000000..9bf23ce
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/translit/TestUtility.java
@@ -0,0 +1,444 @@
+/**
+ *******************************************************************************
+ * Copyright (C) 2000-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.test.translit;
+
+import com.ibm.icu.text.*;
+
+public final class TestUtility {
+
+    public static String hex(char ch) {
+        String foo = Integer.toString(ch,16).toUpperCase();
+        return "0000".substring(0,4-foo.length()) + foo;
+    }
+    
+    public static String hex(int ch) {
+        String foo = Integer.toString(ch,16).toUpperCase();
+        return "00000000".substring(0,4-foo.length()) + foo;
+    }
+    
+    public static String hex(String s) {
+      return hex(s,",");
+    }
+    
+    public static String hex(String s, String sep) {
+      if (s.length() == 0) return "";
+      String result = hex(s.charAt(0));
+      for (int i = 1; i < s.length(); ++i) {
+        result += sep;
+        result += hex(s.charAt(i));
+      }
+      return result;
+    }
+    
+    public static String replace(String source, String toBeReplaced, String replacement) {
+        StringBuffer results = new StringBuffer();
+        int len = toBeReplaced.length();
+        for (int i = 0; i < source.length(); ++i) {
+            if (source.regionMatches(false, i, toBeReplaced, 0, len)) {
+                results.append(replacement);
+                i += len - 1; // minus one, since we will increment
+            } else {
+                results.append(source.charAt(i));
+            }
+        }
+        return results.toString();
+    }
+    
+    public static String replaceAll(String source, UnicodeSet set, String replacement) {
+        StringBuffer results = new StringBuffer();
+        int cp;
+        for (int i = 0; i < source.length(); i += UTF16.getCharCount(cp)) {
+            cp = UTF16.charAt(source,i);
+            if (set.contains(cp)) {
+                results.append(replacement);
+            } else {
+                UTF16.append(results, cp);
+            }
+        }
+        return results.toString();
+    }
+    
+    // COMMENTED OUT ALL THE OLD SCRIPT STUFF
+    /*
+    public static byte getScript(char c) {
+      return getScript(getBlock(c));
+    }
+    
+    public static byte getScript(byte block) {
+      return blockToScript[block];
+    }
+    
+    public static byte getBlock(char c) {
+      int index = c >> 7;
+      byte block = charToBlock[index];
+      while (block < 0) { // take care of exceptions, blocks split across 128 boundaries
+          int[] tuple = split[-block-1];
+          if (c < tuple[0]) block = (byte)tuple[1];
+          else block = (byte)tuple[2];
+      }
+      return block;
+    }
+               
+    // returns next letter of script, or 0xFFFF if done
+    
+    public static char getNextLetter(char c, byte script) {
+        while (c < 0xFFFF) {
+            ++c;
+            if (getScript(c) == script && Character.isLetter(c)) {
+                return c;
+            }
+        }
+        return c;
+    }
+    
+    // Supplements to Character methods; these methods go through
+    // UCharacter if possible.  If not, they fall back to Character.
+
+    public static boolean isUnassigned(char c) {
+        try {
+            return UCharacter.getType(c) == UCharacterCategory.UNASSIGNED;
+        } catch (NullPointerException e) {
+            System.out.print("");
+        }
+        return Character.getType(c) == Character.UNASSIGNED;
+    }
+
+    public static boolean isLetter(char c) {
+        try {
+            return UCharacter.isLetter(c);
+        } catch (NullPointerException e) {
+            System.out.print("");
+        }
+        return Character.isLetter(c);
+    }
+
+  public static void main(String[] args) {
+    System.out.println("Blocks: ");
+    byte lastblock = -128;
+    for (char cc = 0; cc < 0xFFFF; ++cc) {
+      byte block = TestUtility.getBlock(cc);
+      if (block != lastblock) {
+        System.out.println(TestUtility.hex(cc) + "\t" + block);
+        lastblock = block;
+      }
+    }
+    System.out.println();
+    System.out.println("Scripts: ");
+    byte lastScript = -128;
+    for (char cc = 0; cc < 0xFFFF; ++cc) {
+      byte script = TestUtility.getScript(cc);
+      if (script != lastScript) {
+        System.out.println(TestUtility.hex(cc) + "\t" + script);
+        lastScript = script;
+      }
+    }
+  }
+      
+    
+    
+    public static final byte // SCRIPT CODE
+        COMMON_SCRIPT = 0,
+        LATIN_SCRIPT = 1,
+        GREEK_SCRIPT = 2,
+        CYRILLIC_SCRIPT = 3,
+        ARMENIAN_SCRIPT = 4,
+        HEBREW_SCRIPT = 5,
+        ARABIC_SCRIPT = 6,
+        SYRIAC_SCRIPT = 7,
+        THAANA_SCRIPT = 8, 
+        DEVANAGARI_SCRIPT = 9,
+        BENGALI_SCRIPT = 10,
+        GURMUKHI_SCRIPT = 11,
+        GUJARATI_SCRIPT = 12,
+        ORIYA_SCRIPT = 13,
+        TAMIL_SCRIPT = 14,
+        TELUGU_SCRIPT = 15,
+        KANNADA_SCRIPT = 16,
+        MALAYALAM_SCRIPT = 17,
+        SINHALA_SCRIPT = 18,
+        THAI_SCRIPT = 19,
+        LAO_SCRIPT = 20,
+        TIBETAN_SCRIPT = 21,
+        MYANMAR_SCRIPT = 22,
+        GEORGIAN_SCRIPT = 23,
+        JAMO_SCRIPT = 24,
+        HANGUL_SCRIPT = 25,
+        ETHIOPIC_SCRIPT = 26,
+        CHEROKEE_SCRIPT = 27,
+        ABORIGINAL_SCRIPT = 28,
+        OGHAM_SCRIPT = 29,
+        RUNIC_SCRIPT = 30,
+        KHMER_SCRIPT = 31,
+        MONGOLIAN_SCRIPT = 32,
+        HIRAGANA_SCRIPT = 33,
+        KATAKANA_SCRIPT = 34,
+        BOPOMOFO_SCRIPT = 35,
+        HAN_SCRIPT = 36,
+        YI_SCRIPT = 37;
+    
+    public static final byte // block code
+        RESERVED_BLOCK = 0,
+        BASIC_LATIN = 1,
+        LATIN_1_SUPPLEMENT = 2,
+        LATIN_EXTENDED_A = 3,
+        LATIN_EXTENDED_B = 4,
+        IPA_EXTENSIONS = 5,
+        SPACING_MODIFIER_LETTERS = 6,
+        COMBINING_DIACRITICAL_MARKS = 7,
+        GREEK = 8,
+        CYRILLIC = 9,
+        ARMENIAN = 10,
+        HEBREW = 11,
+        ARABIC = 12,
+        SYRIAC = 13,
+        THAANA = 14,
+        DEVANAGARI = 15,
+        BENGALI = 16,
+        GURMUKHI = 17,
+        GUJARATI = 18,
+        ORIYA = 19,
+        TAMIL = 20,
+        TELUGU = 21,
+        KANNADA = 22,
+        MALAYALAM = 23,
+        SINHALA = 24,
+        THAI = 25,
+        LAO = 26,
+        TIBETAN = 27,
+        MYANMAR = 28,
+        GEORGIAN = 29,
+        HANGUL_JAMO = 30,
+        ETHIOPIC = 31,
+        CHEROKEE = 32,
+        UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS = 33,
+        OGHAM = 34,
+        RUNIC = 35,
+        KHMER = 36,
+        MONGOLIAN = 37,
+        LATIN_EXTENDED_ADDITIONAL = 38,
+        GREEK_EXTENDED = 39,
+        GENERAL_PUNCTUATION = 40,
+        SUPERSCRIPTS_AND_SUBSCRIPTS = 41,
+        CURRENCY_SYMBOLS = 42,
+        COMBINING_MARKS_FOR_SYMBOLS = 43,
+        LETTERLIKE_SYMBOLS = 44,
+        NUMBER_FORMS = 45,
+        ARROWS = 46,
+        MATHEMATICAL_OPERATORS = 47,
+        MISCELLANEOUS_TECHNICAL = 48,
+        CONTROL_PICTURES = 49,
+        OPTICAL_CHARACTER_RECOGNITION = 50,
+        ENCLOSED_ALPHANUMERICS = 51,
+        BOX_DRAWING = 52,
+        BLOCK_ELEMENTS = 53,
+        GEOMETRIC_SHAPES = 54,
+        MISCELLANEOUS_SYMBOLS = 55,
+        DINGBATS = 56,
+        BRAILLE_PATTERNS = 57,
+        CJK_RADICALS_SUPPLEMENT = 58,
+        KANGXI_RADICALS = 59,
+        IDEOGRAPHIC_DESCRIPTION_CHARACTERS = 60,
+        CJK_SYMBOLS_AND_PUNCTUATION = 61,
+        HIRAGANA = 62,
+        KATAKANA = 63,
+        BOPOMOFO = 64,
+        HANGUL_COMPATIBILITY_JAMO = 65,
+        KANBUN = 66,
+        BOPOMOFO_EXTENDED = 67,
+        ENCLOSED_CJK_LETTERS_AND_MONTHS = 68,
+        CJK_COMPATIBILITY = 69,
+        CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A = 70,
+        CJK_UNIFIED_IDEOGRAPHS = 71,
+        YI_SYLLABLES = 72,
+        YI_RADICALS = 73,
+        HANGUL_SYLLABLES = 74,
+        HIGH_SURROGATES = 75,
+        HIGH_PRIVATE_USE_SURROGATES = 76,
+        LOW_SURROGATES = 77,
+        PRIVATE_USE = 78,
+        CJK_COMPATIBILITY_IDEOGRAPHS = 79,
+        ALPHABETIC_PRESENTATION_FORMS = 80,
+        ARABIC_PRESENTATION_FORMS_A = 81,
+        COMBINING_HALF_MARKS = 82,
+        CJK_COMPATIBILITY_FORMS = 83,
+        SMALL_FORM_VARIANTS = 84,
+        ARABIC_PRESENTATION_FORMS_B = 85,
+        SPECIALS = 86,
+        HALFWIDTH_AND_FULLWIDTH_FORMS = 87;
+        
+    static final byte[] blockToScript = {
+        COMMON_SCRIPT, // 0, <RESERVED_BLOCK>
+        LATIN_SCRIPT, // 1, BASIC_LATIN
+        LATIN_SCRIPT, // 2, LATIN_1_SUPPLEMENT
+        LATIN_SCRIPT, // 3, LATIN_EXTENDED_A
+        LATIN_SCRIPT, // 4, LATIN_EXTENDED_B
+        LATIN_SCRIPT, // 5, IPA_EXTENSIONS
+        COMMON_SCRIPT, // 6, SPACING_MODIFIER_LETTERS
+        COMMON_SCRIPT, // 7, COMBINING_DIACRITICAL_MARKS
+        GREEK_SCRIPT, // 8, GREEK
+        CYRILLIC_SCRIPT, // 9, CYRILLIC
+        ARMENIAN_SCRIPT, // 10, ARMENIAN
+        HEBREW_SCRIPT, // 11, HEBREW
+        ARABIC_SCRIPT, // 12, ARABIC
+        SYRIAC_SCRIPT, // 13, SYRIAC
+        THAANA_SCRIPT, // 14, THAANA
+        DEVANAGARI_SCRIPT, // 15, DEVANAGARI
+        BENGALI_SCRIPT, // 16, BENGALI
+        GURMUKHI_SCRIPT, // 17, GURMUKHI
+        GUJARATI_SCRIPT, // 18, GUJARATI
+        ORIYA_SCRIPT, // 19, ORIYA
+        TAMIL_SCRIPT, // 20, TAMIL
+        TELUGU_SCRIPT, // 21, TELUGU
+        KANNADA_SCRIPT, // 22, KANNADA
+        MALAYALAM_SCRIPT, // 23, MALAYALAM
+        SINHALA_SCRIPT, // 24, SINHALA
+        THAI_SCRIPT, // 25, THAI
+        LAO_SCRIPT, // 26, LAO
+        TIBETAN_SCRIPT, // 27, TIBETAN
+        MYANMAR_SCRIPT, // 28, MYANMAR
+        GEORGIAN_SCRIPT, // 29, GEORGIAN
+        JAMO_SCRIPT, // 30, HANGUL_JAMO
+        ETHIOPIC_SCRIPT, // 31, ETHIOPIC
+        CHEROKEE_SCRIPT, // 32, CHEROKEE
+        ABORIGINAL_SCRIPT, // 33, UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS
+        OGHAM_SCRIPT, // 34, OGHAM
+        RUNIC_SCRIPT, // 35, RUNIC
+        KHMER_SCRIPT, // 36, KHMER
+        MONGOLIAN_SCRIPT, // 37, MONGOLIAN
+        LATIN_SCRIPT, // 38, LATIN_EXTENDED_ADDITIONAL
+        GREEK_SCRIPT, // 39, GREEK_EXTENDED
+        COMMON_SCRIPT, // 40, GENERAL_PUNCTUATION
+        COMMON_SCRIPT, // 41, SUPERSCRIPTS_AND_SUBSCRIPTS
+        COMMON_SCRIPT, // 42, CURRENCY_SYMBOLS
+        COMMON_SCRIPT, // 43, COMBINING_MARKS_FOR_SYMBOLS
+        COMMON_SCRIPT, // 44, LETTERLIKE_SYMBOLS
+        COMMON_SCRIPT, // 45, NUMBER_FORMS
+        COMMON_SCRIPT, // 46, ARROWS
+        COMMON_SCRIPT, // 47, MATHEMATICAL_OPERATORS
+        COMMON_SCRIPT, // 48, MISCELLANEOUS_TECHNICAL
+        COMMON_SCRIPT, // 49, CONTROL_PICTURES
+        COMMON_SCRIPT, // 50, OPTICAL_CHARACTER_RECOGNITION
+        COMMON_SCRIPT, // 51, ENCLOSED_ALPHANUMERICS
+        COMMON_SCRIPT, // 52, BOX_DRAWING
+        COMMON_SCRIPT, // 53, BLOCK_ELEMENTS
+        COMMON_SCRIPT, // 54, GEOMETRIC_SHAPES
+        COMMON_SCRIPT, // 55, MISCELLANEOUS_SYMBOLS
+        COMMON_SCRIPT, // 56, DINGBATS
+        COMMON_SCRIPT, // 57, BRAILLE_PATTERNS
+        HAN_SCRIPT, // 58, CJK_RADICALS_SUPPLEMENT
+        HAN_SCRIPT, // 59, KANGXI_RADICALS
+        HAN_SCRIPT, // 60, IDEOGRAPHIC_DESCRIPTION_CHARACTERS
+        COMMON_SCRIPT, // 61, CJK_SYMBOLS_AND_PUNCTUATION
+        HIRAGANA_SCRIPT, // 62, HIRAGANA
+        KATAKANA_SCRIPT, // 63, KATAKANA
+        BOPOMOFO_SCRIPT, // 64, BOPOMOFO
+        JAMO_SCRIPT, // 65, HANGUL_COMPATIBILITY_JAMO
+        HAN_SCRIPT, // 66, KANBUN
+        BOPOMOFO_SCRIPT, // 67, BOPOMOFO_EXTENDED
+        COMMON_SCRIPT, // 68, ENCLOSED_CJK_LETTERS_AND_MONTHS
+        COMMON_SCRIPT, // 69, CJK_COMPATIBILITY
+        HAN_SCRIPT, // 70, CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A
+        HAN_SCRIPT, // 71, CJK_UNIFIED_IDEOGRAPHS
+        YI_SCRIPT, // 72, YI_SYLLABLES
+        YI_SCRIPT, // 73, YI_RADICALS
+        HANGUL_SCRIPT, // 74, HANGUL_SYLLABLES
+        COMMON_SCRIPT, // 75, HIGH_SURROGATES
+        COMMON_SCRIPT, // 76, HIGH_PRIVATE_USE_SURROGATES
+        COMMON_SCRIPT, // 77, LOW_SURROGATES
+        COMMON_SCRIPT, // 78, PRIVATE_USE
+        HAN_SCRIPT, // 79, CJK_COMPATIBILITY_IDEOGRAPHS
+        COMMON_SCRIPT, // 80, ALPHABETIC_PRESENTATION_FORMS
+        ARABIC_SCRIPT, // 81, ARABIC_PRESENTATION_FORMS_A
+        COMMON_SCRIPT, // 82, COMBINING_HALF_MARKS
+        COMMON_SCRIPT, // 83, CJK_COMPATIBILITY_FORMS
+        COMMON_SCRIPT, // 84, SMALL_FORM_VARIANTS
+        ARABIC_SCRIPT, // 85, ARABIC_PRESENTATION_FORMS_B
+        COMMON_SCRIPT, // 86, SPECIALS
+        COMMON_SCRIPT, // 87, HALFWIDTH_AND_FULLWIDTH_FORMS
+        COMMON_SCRIPT, // 88, SPECIALS
+    };
+        
+    // could be further reduced to a byte array, but I didn't bother.
+    static final int[][] split = {
+        {0x0250, 4, 5}, // -1
+        {0x02B0, 5, 6}, // -2
+        {0x0370, 7, 8}, // -3
+        {0x0530, 0, 10}, // -4
+        {0x0590, 10, 11}, // -5
+        {0x0750, 13, 0}, // -6
+        {0x07C0, 14, 0}, // -7
+        {0x10A0, 28, 29}, // -8
+        {0x13A0, 0, 32}, // -9
+        {0x16A0, 34, 35}, // -10
+        {0x18B0, 37, 0}, // -11
+        {0x2070, 40, 41}, // -12
+        {0x20A0, 41, -31}, // -13
+        {0x2150, 44, 45}, // -14
+        {0x2190, 45, 46}, // -15
+        {0x2440, 49, -32}, // -16
+        {0x25A0, 53, 54}, // -17
+        {0x27C0, 56, 0}, // -18
+        {0x2FE0, 59, -33}, // -19
+        {0x3040, 61, 62}, // -20
+        {0x30A0, 62, 63}, // -21
+        {0x3130, 64, 65}, // -22
+        {0x3190, 65, -34}, // -23
+        {0x4DB6, 70, 0}, // -24
+        {0xA490, 72, -35}, // -25
+        {0xD7A4, 74, 0}, // -26
+        {0xFB50, 80, 81}, // -27
+        {0xFE20, 0, -36}, // -28
+        {0xFEFF, 85, 86}, // -29
+        {0xFFF0, 87, -37}, // -30
+        {0x20D0, 42, 43}, // -31
+        {0x2460, 50, 51}, // -32
+        {0x2FF0, 0, 60}, // -33
+        {0x31A0, 66, -38}, // -34
+        {0xA4D0, 73, 0}, //-35
+        {0xFE30, 82, -39}, //-36
+        {0xFFFE, 88, 0}, //-37
+        {0x31C0, 67, 0}, // -38
+        {0xFE50, 83, -40}, //-39
+        {0xFE70, 84, 85} // -40
+    };
+        
+    static final byte[] charToBlock = {
+      1, 2, 3, 4, -1, -2, -3, 8, 9, 9, -4, -5, 12, 12, -6, -7,
+      0, 0, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 27,
+      28, -8, 30, 30, 31, 31, 31, -9, 33, 33, 33, 33, 33, -10, 0, 36,
+      37, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, 38, 39, 39,
+      -12, -13, -14, -15, 47, 47, 48, 48, -16, 51, 52, -17, 55, 55, 56, -18,
+      57, 57, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58, 59, -19,
+      -20, -21, -22, -23, 68, 68, 69, 69, 70, 70, 70, 70, 70, 70, 70, 70,
+      70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
+      70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
+      70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, -24, 71, 71, 71, 71,
+      71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+      71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+      71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+      71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+      71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+      71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+      71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+      71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+      71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+      71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+      72, 72, 72, 72, 72, 72, 72, 72, 72, -25, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 74, 74, 74, 74, 74, 74, 74, 74,
+      74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
+      74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
+      74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
+      74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
+      74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, -26,
+      75, 75, 75, 75, 75, 75, 75, 76, 77, 77, 77, 77, 77, 77, 77, 77,
+      78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78,
+      78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78,
+      78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78,
+      78, 78, 79, 79, 79, 79, -27, 81, 81, 81, 81, 81, -28, -29, 87, -30
+    };
+    */
+}
diff --git a/src/com/ibm/icu/dev/test/translit/TransliteratorTest.java b/src/com/ibm/icu/dev/test/translit/TransliteratorTest.java
new file mode 100755
index 0000000..737e8b5
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/translit/TransliteratorTest.java
@@ -0,0 +1,3358 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.test.translit;
+import com.ibm.icu.lang.*;
+import com.ibm.icu.text.*;
+import com.ibm.icu.dev.test.*;
+import com.ibm.icu.impl.Utility;
+import com.ibm.icu.impl.UtilityExtensions;
+import com.ibm.icu.util.CaseInsensitiveString;
+import com.ibm.icu.util.ULocale;
+import java.util.*;
+
+/***********************************************************************
+
+                     HOW TO USE THIS TEST FILE
+                               -or-
+                  How I developed on two platforms
+                without losing (too much of) my mind
+
+
+1. Add new tests by copying/pasting/changing existing tests.  On Java,
+   any public void method named Test...() taking no parameters becomes
+   a test.  On C++, you need to modify the header and add a line to
+   the runIndexedTest() dispatch method.
+
+2. Make liberal use of the expect() method; it is your friend.
+
+3. The tests in this file exactly match those in a sister file on the
+   other side.  The two files are:
+
+   icu4j:  src/com.ibm.icu.dev.test/translit/TransliteratorTest.java
+   icu4c:  source/test/intltest/transtst.cpp
+
+                  ==> THIS IS THE IMPORTANT PART <==
+
+   When you add a test in this file, add it in transtst.cpp too.
+   Give it the same name and put it in the same relative place.  This
+   makes maintenance a lot simpler for any poor soul who ends up
+   trying to synchronize the tests between icu4j and icu4c.
+
+4. If you MUST enter a test that is NOT paralleled in the sister file,
+   then add it in the special non-mirrored section.  These are
+   labeled
+
+     "icu4j ONLY"
+
+   or
+
+     "icu4c ONLY"
+
+   Make sure you document the reason the test is here and not there.
+
+
+Thank you.
+The Management
+***********************************************************************/
+
+/**
+ * @test
+ * @summary General test of Transliterator
+ */
+public class TransliteratorTest extends TestFmwk {
+
+    public static void main(String[] args) throws Exception {
+        new TransliteratorTest().run(args);
+    }
+
+    public void TestInstantiation() {
+        long ms = System.currentTimeMillis();
+        String ID;
+        for (Enumeration e = Transliterator.getAvailableIDs(); e.hasMoreElements(); ) {
+            ID = (String) e.nextElement();
+            if (ID.equals("Latin-Han/definition")) {
+                System.out.println("\nTODO: disabling Latin-Han/definition check for now: fix later");
+                continue;
+            }
+            Transliterator t = null;
+            try {
+                t = Transliterator.getInstance(ID);
+                // This is only true for some subclasses
+//                // We should get a new instance if we try again
+//                Transliterator t2 = Transliterator.getInstance(ID);
+//                if (t != t2) {
+//                    logln("OK: " + Transliterator.getDisplayName(ID) + " (" + ID + "): " + t);
+//                } else {
+//                    errln("FAIL: " + ID + " returned identical instances");
+//                    t = null;
+//                }
+            } catch (IllegalArgumentException ex) {
+                errln("FAIL: " + ID);
+                throw ex;
+            }
+
+            if (t != null) {
+                // Now test toRules
+                String rules = null;
+                try {
+                    rules = t.toRules(true);
+
+                    Transliterator u = Transliterator.createFromRules("x",
+                                           rules, Transliterator.FORWARD);
+                } catch (IllegalArgumentException ex2) {
+                    errln("FAIL: " + ID + ".toRules() => bad rules: " +
+                          rules);
+                    throw ex2;
+                }
+            }
+        }
+
+        // Now test the failure path
+        try {
+            ID = "<Not a valid Transliterator ID>";
+            Transliterator t = Transliterator.getInstance(ID);
+            errln("FAIL: " + ID + " returned " + t);
+        } catch (IllegalArgumentException ex) {
+            logln("OK: Bogus ID handled properly");
+        }
+
+        ms = System.currentTimeMillis() - ms;
+        logln("Elapsed time: " + ms + " ms");
+    }
+
+    public void TestSimpleRules() {
+        /* Example: rules 1. ab>x|y
+         *                2. yc>z
+         *
+         * []|eabcd  start - no match, copy e to tranlated buffer
+         * [e]|abcd  match rule 1 - copy output & adjust cursor
+         * [ex|y]cd  match rule 2 - copy output & adjust cursor
+         * [exz]|d   no match, copy d to transliterated buffer
+         * [exzd]|   done
+         */
+        expect("ab>x|y;" +
+               "yc>z",
+               "eabcd", "exzd");
+
+        /* Another set of rules:
+         *    1. ab>x|yzacw
+         *    2. za>q
+         *    3. qc>r
+         *    4. cw>n
+         *
+         * []|ab       Rule 1
+         * [x|yzacw]   No match
+         * [xy|zacw]   Rule 2
+         * [xyq|cw]    Rule 4
+         * [xyqn]|     Done
+         */
+        expect("ab>x|yzacw;" +
+               "za>q;" +
+               "qc>r;" +
+               "cw>n",
+               "ab", "xyqn");
+
+        /* Test categories
+         */
+        Transliterator t = Transliterator.createFromRules("<ID>",
+                                                       "$dummy=\uE100;" +
+                                                       "$vowel=[aeiouAEIOU];" +
+                                                       "$lu=[:Lu:];" +
+                                                       "$vowel } $lu > '!';" +
+                                                       "$vowel > '&';" +
+                                                       "'!' { $lu > '^';" +
+                                                       "$lu > '*';" +
+                                                       "a>ERROR",
+                                                       Transliterator.FORWARD);
+        expect(t, "abcdefgABCDEFGU", "&bcd&fg!^**!^*&");
+    }
+
+    /**
+     * Test inline set syntax and set variable syntax.
+     */
+    public void TestInlineSet() {
+        expect("{ [:Ll:] } x > y; [:Ll:] > z;", "aAbxq", "zAyzz");
+        expect("a[0-9]b > qrs", "1a7b9", "1qrs9");
+
+        expect("$digit = [0-9];" +
+               "$alpha = [a-zA-Z];" +
+               "$alphanumeric = [$digit $alpha];" + // ***
+               "$special = [^$alphanumeric];" +     // ***
+               "$alphanumeric > '-';" +
+               "$special > '*';",
+
+               "thx-1138", "---*----");
+    }
+
+    /**
+     * Create some inverses and confirm that they work.  We have to be
+     * careful how we do this, since the inverses will not be true
+     * inverses -- we can't throw any random string at the composition
+     * of the transliterators and expect the identity function.  F x
+     * F' != I.  However, if we are careful about the input, we will
+     * get the expected results.
+     */
+    public void TestRuleBasedInverse() {
+        String RULES =
+            "abc>zyx;" +
+            "ab>yz;" +
+            "bc>zx;" +
+            "ca>xy;" +
+            "a>x;" +
+            "b>y;" +
+            "c>z;" +
+
+            "abc<zyx;" +
+            "ab<yz;" +
+            "bc<zx;" +
+            "ca<xy;" +
+            "a<x;" +
+            "b<y;" +
+            "c<z;" +
+
+            "";
+
+        String[] DATA = {
+            // Careful here -- random strings will not work.  If we keep
+            // the left side to the domain and the right side to the range
+            // we will be okay though (left, abc; right xyz).
+            "a", "x",
+            "abcacab", "zyxxxyy",
+            "caccb", "xyzzy",
+        };
+
+        Transliterator fwd = Transliterator.createFromRules("<ID>", RULES, Transliterator.FORWARD);
+        Transliterator rev = Transliterator.createFromRules("<ID>", RULES, Transliterator.REVERSE);
+        for (int i=0; i<DATA.length; i+=2) {
+            expect(fwd, DATA[i], DATA[i+1]);
+            expect(rev, DATA[i+1], DATA[i]);
+        }
+    }
+
+    /**
+     * Basic test of keyboard.
+     */
+    public void TestKeyboard() {
+        Transliterator t = Transliterator.createFromRules("<ID>",
+                                                       "psch>Y;"
+                                                       +"ps>y;"
+                                                       +"ch>x;"
+                                                       +"a>A;", Transliterator.FORWARD);
+        String DATA[] = {
+            // insertion, buffer
+            "a", "A",
+            "p", "Ap",
+            "s", "Aps",
+            "c", "Apsc",
+            "a", "AycA",
+            "psch", "AycAY",
+            null, "AycAY", // null means finishKeyboardTransliteration
+        };
+
+        keyboardAux(t, DATA);
+    }
+
+    /**
+     * Basic test of keyboard with cursor.
+     */
+    public void TestKeyboard2() {
+        Transliterator t = Transliterator.createFromRules("<ID>",
+                                                       "ych>Y;"
+                                                       +"ps>|y;"
+                                                       +"ch>x;"
+                                                       +"a>A;", Transliterator.FORWARD);
+        String DATA[] = {
+            // insertion, buffer
+            "a", "A",
+            "p", "Ap",
+            "s", "Aps", // modified for rollback - "Ay",
+            "c", "Apsc", // modified for rollback - "Ayc",
+            "a", "AycA",
+            "p", "AycAp",
+            "s", "AycAps", // modified for rollback - "AycAy",
+            "c", "AycApsc", // modified for rollback - "AycAyc",
+            "h", "AycAY",
+            null, "AycAY", // null means finishKeyboardTransliteration
+        };
+
+        keyboardAux(t, DATA);
+    }
+
+    /**
+     * Test keyboard transliteration with back-replacement.
+     */
+    public void TestKeyboard3() {
+        // We want th>z but t>y.  Furthermore, during keyboard
+        // transliteration we want t>y then yh>z if t, then h are
+        // typed.
+        String RULES =
+            "t>|y;" +
+            "yh>z;" +
+            "";
+
+        String[] DATA = {
+            // Column 1: characters to add to buffer (as if typed)
+            // Column 2: expected appearance of buffer after
+            //           keyboard xliteration.
+            "a", "a",
+            "b", "ab",
+            "t", "abt", // modified for rollback - "aby",
+            "c", "abyc",
+            "t", "abyct", // modified for rollback - "abycy",
+            "h", "abycz",
+            null, "abycz", // null means finishKeyboardTransliteration
+        };
+
+        Transliterator t = Transliterator.createFromRules("<ID>", RULES, Transliterator.FORWARD);
+        keyboardAux(t, DATA);
+    }
+
+    private void keyboardAux(Transliterator t, String[] DATA) {
+        Transliterator.Position index = new Transliterator.Position();
+        ReplaceableString s = new ReplaceableString();
+        for (int i=0; i<DATA.length; i+=2) {
+            StringBuffer log;
+            if (DATA[i] != null) {
+                log = new StringBuffer(s.toString() + " + "
+                                       + DATA[i]
+                                       + " -> ");
+                t.transliterate(s, index, DATA[i]);
+            } else {
+                log = new StringBuffer(s.toString() + " => ");
+                t.finishTransliteration(s, index);
+            }
+            UtilityExtensions.formatInput(log, s, index);
+            if (s.toString().equals(DATA[i+1])) {
+                logln(log.toString());
+            } else {
+                errln("FAIL: " + log.toString() + ", expected " + DATA[i+1]);
+            }
+        }
+    }
+
+    // Latin-Arabic has been temporarily removed until it can be
+    // done correctly.
+
+//  public void TestArabic() {
+//      String DATA[] = {
+//          "Arabic",
+//              "\u062a\u062a\u0645\u062a\u0639 "+
+//              "\u0627\u0644\u0644\u063a\u0629 "+
+//              "\u0627\u0644\u0639\u0631\u0628\u0628\u064a\u0629 "+
+//              "\u0628\u0628\u0646\u0638\u0645 "+
+//              "\u0643\u062a\u0627\u0628\u0628\u064a\u0629 "+
+//              "\u062c\u0645\u064a\u0644\u0629"
+//      };
+
+//      Transliterator t = Transliterator.getInstance("Latin-Arabic");
+//      for (int i=0; i<DATA.length; i+=2) {
+//          expect(t, DATA[i], DATA[i+1]);
+//      }
+//  }
+
+    /**
+     * Compose the Kana transliterator forward and reverse and try
+     * some strings that should come out unchanged.
+     */
+    public void TestCompoundKana() {
+        Transliterator t = Transliterator.getInstance("Latin-Katakana;Katakana-Latin");
+        expect(t, "aaaaa", "aaaaa");
+    }
+
+    /**
+     * Compose the hex transliterators forward and reverse.
+     */
+    public void TestCompoundHex() {
+        Transliterator a = Transliterator.getInstance("Any-Hex");
+        Transliterator b = Transliterator.getInstance("Hex-Any");
+        // Transliterator[] trans = { a, b };
+        // Transliterator ab = Transliterator.getInstance(trans);
+        Transliterator ab = Transliterator.getInstance("Any-Hex;Hex-Any");
+
+        // Do some basic tests of b
+        expect(b, "\\u0030\\u0031", "01");
+
+        String s = "abcde";
+        expect(ab, s, s);
+
+        // trans = new Transliterator[] { b, a };
+        // Transliterator ba = Transliterator.getInstance(trans);
+        Transliterator ba = Transliterator.getInstance("Hex-Any;Any-Hex");
+        ReplaceableString str = new ReplaceableString(s);
+        a.transliterate(str);
+        expect(ba, str.toString(), str.toString());
+    }
+
+    /**
+     * Do some basic tests of filtering.
+     */
+    public void TestFiltering() {
+        Transliterator hex = Transliterator.getInstance("Any-Hex");
+        hex.setFilter(new UnicodeFilter() {
+            public boolean contains(int c) {
+                return c != 'c';
+            }
+            public String toPattern(boolean escapeUnprintable) {
+                return "";
+            }
+            public boolean matchesIndexValue(int v) {
+                return false;
+            }
+            public void addMatchSetTo(UnicodeSet toUnionTo) {}
+        });
+        String s = "abcde";
+        String out = hex.transliterate(s);
+        String exp = "\\u0061\\u0062c\\u0064\\u0065";
+        if (out.equals(exp)) {
+            logln("Ok:   \"" + exp + "\"");
+        } else {
+            logln("FAIL: \"" + out + "\", wanted \"" + exp + "\"");
+        }
+    }
+
+    /**
+     * Test anchors
+     */
+    public void TestAnchors() {
+        expect("^ab  > 01 ;" +
+               " ab  > |8 ;" +
+               "  b  > k ;" +
+               " 8x$ > 45 ;" +
+               " 8x  > 77 ;",
+
+               "ababbabxabx",
+               "018k7745");
+        expect("$s = [z$] ;" +
+               "$s{ab    > 01 ;" +
+               "   ab    > |8 ;" +
+               "    b    > k ;" +
+               "   8x}$s > 45 ;" +
+               "   8x    > 77 ;",
+
+               "abzababbabxzabxabx",
+               "01z018k45z01x45");
+    }
+
+    /**
+     * Test pattern quoting and escape mechanisms.
+     */
+    public void TestPatternQuoting() {
+        // Array of 3n items
+        // Each item is <rules>, <input>, <expected output>
+        String[] DATA = {
+            "\u4E01>'[male adult]'", "\u4E01", "[male adult]",
+        };
+
+        for (int i=0; i<DATA.length; i+=3) {
+            logln("Pattern: " + Utility.escape(DATA[i]));
+            Transliterator t = Transliterator.createFromRules("<ID>", DATA[i], Transliterator.FORWARD);
+            expect(t, DATA[i+1], DATA[i+2]);
+        }
+    }
+
+    /**
+     * Regression test for bugs found in Greek transliteration.
+     */
+    public void TestJ277() {
+        Transliterator gl = Transliterator.getInstance("Greek-Latin; NFD; [:M:]Remove; NFC");
+
+        char sigma = (char)0x3C3;
+        char upsilon = (char)0x3C5;
+        char nu = (char)0x3BD;
+        // not used char PHI = (char)0x3A6;
+        char alpha = (char)0x3B1;
+        // not used char omega = (char)0x3C9;
+        // not used char omicron = (char)0x3BF;
+        // not used char epsilon = (char)0x3B5;
+
+        // sigma upsilon nu -> syn
+        StringBuffer buf = new StringBuffer();
+        buf.append(sigma).append(upsilon).append(nu);
+        String syn = buf.toString();
+        expect(gl, syn, "syn");
+
+        // sigma alpha upsilon nu -> saun
+        buf.setLength(0);
+        buf.append(sigma).append(alpha).append(upsilon).append(nu);
+        String sayn = buf.toString();
+        expect(gl, sayn, "saun");
+
+        // Again, using a smaller rule set
+        String rules =
+                    "$alpha   = \u03B1;" +
+                    "$nu      = \u03BD;" +
+                    "$sigma   = \u03C3;" +
+                    "$ypsilon = \u03C5;" +
+                    "$vowel   = [aeiouAEIOU$alpha$ypsilon];" +
+                    "s <>           $sigma;" +
+                    "a <>           $alpha;" +
+                    "u <>  $vowel { $ypsilon;" +
+                    "y <>           $ypsilon;" +
+                    "n <>           $nu;";
+        Transliterator mini = Transliterator.createFromRules
+            ("mini", rules, Transliterator.REVERSE);
+        expect(mini, syn, "syn");
+        expect(mini, sayn, "saun");
+
+//|    // Transliterate the Greek locale data
+//|    Locale el("el");
+//|    DateFormatSymbols syms(el, status);
+//|    if (U_FAILURE(status)) { errln("FAIL: Transliterator constructor failed"); return; }
+//|    int32_t i, count;
+//|    const UnicodeString* data = syms.getMonths(count);
+//|    for (i=0; i<count; ++i) {
+//|        if (data[i].length() == 0) {
+//|            continue;
+//|        }
+//|        UnicodeString out(data[i]);
+//|        gl->transliterate(out);
+//|        bool_t ok = TRUE;
+//|        if (data[i].length() >= 2 && out.length() >= 2 &&
+//|            u_isupper(data[i].charAt(0)) && u_islower(data[i].charAt(1))) {
+//|            if (!(u_isupper(out.charAt(0)) && u_islower(out.charAt(1)))) {
+//|                ok = FALSE;
+//|            }
+//|        }
+//|        if (ok) {
+//|            logln(prettify(data[i] + " -> " + out));
+//|        } else {
+//|            errln(UnicodeString("FAIL: ") + prettify(data[i] + " -> " + out));
+//|        }
+//|    }
+    }
+
+//    /**
+//     * Prefix, suffix support in hex transliterators
+//     */
+//    public void TestJ243() {
+//        // Test default Hex-Any, which should handle
+//        // \\u, \\U, u+, and U+
+//        HexToUnicodeTransliterator hex = new HexToUnicodeTransliterator();
+//        expect(hex, "\\u0041+\\U0042,u+0043uu+0044z", "A+B,CuDz");
+//
+//        // Try a custom Hex-Any
+//        // \\uXXXX and &#xXXXX;
+//        HexToUnicodeTransliterator hex2 = new HexToUnicodeTransliterator("\\\\u###0;&\\#x###0\\;");
+//        expect(hex2, "\\u61\\u062\\u0063\\u00645\\u66x&#x30;&#x031;&#x0032;&#x00033;",
+//               "abcd5fx012&#x00033;");
+//
+//        // Try custom Any-Hex (default is tested elsewhere)
+//        UnicodeToHexTransliterator hex3 = new UnicodeToHexTransliterator("&\\#x###0;");
+//        expect(hex3, "012", "&#x30;&#x31;&#x32;");
+//    }
+
+    public void TestJ329() {
+
+        Object[] DATA = {
+            new Boolean(false), "a > b; c > d",
+            new Boolean(true),  "a > b; no operator; c > d",
+        };
+
+        for (int i=0; i<DATA.length; i+=2) {
+            String err = null;
+            try {
+                Transliterator t =
+                    Transliterator.createFromRules("<ID>",
+                                            (String) DATA[i+1],
+                                            Transliterator.FORWARD);
+            } catch (IllegalArgumentException e) {
+                err = e.getMessage();
+            }
+            boolean gotError = (err != null);
+            String desc = (String) DATA[i+1] +
+                (gotError ? (" -> error: " + err) : " -> no error");
+            if ((err != null) == ((Boolean)DATA[i]).booleanValue()) {
+                logln("Ok:   " + desc);
+            } else {
+                errln("FAIL: " + desc);
+            }
+        }
+    }
+
+    /**
+     * Test segments and segment references.
+     */
+    public void TestSegments() {
+        // Array of 3n items
+        // Each item is <rules>, <input>, <expected output>
+        String[] DATA = {
+            "([a-z]) '.' ([0-9]) > $2 '-' $1",
+            "abc.123.xyz.456",
+            "ab1-c23.xy4-z56",
+        };
+
+        for (int i=0; i<DATA.length; i+=3) {
+            logln("Pattern: " + Utility.escape(DATA[i]));
+            Transliterator t = Transliterator.createFromRules("<ID>", DATA[i], Transliterator.FORWARD);
+            expect(t, DATA[i+1], DATA[i+2]);
+        }
+    }
+
+    /**
+     * Test cursor positioning outside of the key
+     */
+    public void TestCursorOffset() {
+        // Array of 3n items
+        // Each item is <rules>, <input>, <expected output>
+        String[] DATA = {
+            "pre {alpha} post > | @ ALPHA ;" +
+            "eALPHA > beta ;" +
+            "pre {beta} post > BETA @@ | ;" +
+            "post > xyz",
+
+            "prealphapost prebetapost",
+            "prbetaxyz preBETApost",
+        };
+
+        for (int i=0; i<DATA.length; i+=3) {
+            logln("Pattern: " + Utility.escape(DATA[i]));
+            Transliterator t = Transliterator.createFromRules("<ID>", DATA[i], Transliterator.FORWARD);
+            expect(t, DATA[i+1], DATA[i+2]);
+        }
+    }
+
+    /**
+     * Test zero length and > 1 char length variable values.  Test
+     * use of variable refs in UnicodeSets.
+     */
+    public void TestArbitraryVariableValues() {
+        // Array of 3n items
+        // Each item is <rules>, <input>, <expected output>
+        String[] DATA = {
+            "$abe = ab;" +
+            "$pat = x[yY]z;" +
+            "$ll  = 'a-z';" +
+            "$llZ = [$ll];" +
+            "$llY = [$ll$pat];" +
+            "$emp = ;" +
+
+            "$abe > ABE;" +
+            "$pat > END;" +
+            "$llZ > 1;" +
+            "$llY > 2;" +
+            "7$emp 8 > 9;" +
+            "",
+
+            "ab xYzxyz stY78",
+            "ABE ENDEND 1129",
+        };
+
+        for (int i=0; i<DATA.length; i+=3) {
+            logln("Pattern: " + Utility.escape(DATA[i]));
+            Transliterator t = Transliterator.createFromRules("<ID>", DATA[i], Transliterator.FORWARD);
+            expect(t, DATA[i+1], DATA[i+2]);
+        }
+    }
+
+    /**
+     * Confirm that the contextStart, contextLimit, start, and limit
+     * behave correctly.
+     */
+    public void TestPositionHandling() {
+        // Array of 3n items
+        // Each item is <rules>, <input>, <expected output>
+        String[] DATA = {
+            "a{t} > SS ; {t}b > UU ; {t} > TT ;",
+            "xtat txtb", // pos 0,9,0,9
+            "xTTaSS TTxUUb",
+
+            "a{t} > SS ; {t}b > UU ; {t} > TT ;",
+            "xtat txtb", // pos 2,9,3,8
+            "xtaSS TTxUUb",
+
+            "a{t} > SS ; {t}b > UU ; {t} > TT ;",
+            "xtat txtb", // pos 3,8,3,8
+            "xtaTT TTxTTb",
+        };
+
+        // Array of 4n positions -- these go with the DATA array
+        // They are: contextStart, contextLimit, start, limit
+        int[] POS = {
+            0, 9, 0, 9,
+            2, 9, 3, 8,
+            3, 8, 3, 8,
+        };
+
+        int n = DATA.length/3;
+        for (int i=0; i<n; i++) {
+            Transliterator t = Transliterator.createFromRules("<ID>", DATA[3*i], Transliterator.FORWARD);
+            Transliterator.Position pos = new Transliterator.Position(
+                POS[4*i], POS[4*i+1], POS[4*i+2], POS[4*i+3]);
+            ReplaceableString rsource = new ReplaceableString(DATA[3*i+1]);
+            t.transliterate(rsource, pos);
+            t.finishTransliteration(rsource, pos);
+            String result = rsource.toString();
+            String exp = DATA[3*i+2];
+            expectAux(Utility.escape(DATA[3*i]),
+                      DATA[3*i+1],
+                      result,
+                      result.equals(exp),
+                      exp);
+        }
+    }
+
+    /**
+     * Test the Hiragana-Katakana transliterator.
+     */
+    public void TestHiraganaKatakana() {
+        Transliterator hk = Transliterator.getInstance("Hiragana-Katakana");
+        Transliterator kh = Transliterator.getInstance("Katakana-Hiragana");
+
+        // Array of 3n items
+        // Each item is "hk"|"kh"|"both", <Hiragana>, <Katakana>
+        String[] DATA = {
+            "both",
+            "\u3042\u3090\u3099\u3092\u3050",
+            "\u30A2\u30F8\u30F2\u30B0",
+
+            "kh",
+            "\u307C\u3051\u3060\u3042\u3093\u30FC",
+            "\u30DC\u30F6\u30C0\u30FC\u30F3\u30FC",
+        };
+
+        for (int i=0; i<DATA.length; i+=3) {
+            switch (DATA[i].charAt(0)) {
+            case 'h': // Hiragana-Katakana
+                expect(hk, DATA[i+1], DATA[i+2]);
+                break;
+            case 'k': // Katakana-Hiragana
+                expect(kh, DATA[i+2], DATA[i+1]);
+                break;
+            case 'b': // both
+                expect(hk, DATA[i+1], DATA[i+2]);
+                expect(kh, DATA[i+2], DATA[i+1]);
+                break;
+            }
+        }
+
+    }
+
+    public void TestCopyJ476() {
+        // This is a C++-only copy constructor test
+    }
+
+    /**
+     * Test inter-Indic transliterators.  These are composed.
+     */
+    public void TestInterIndic() {
+        String ID = "Devanagari-Gujarati";
+        Transliterator dg = Transliterator.getInstance(ID);
+        if (dg == null) {
+            errln("FAIL: getInstance(" + ID + ") returned null");
+            return;
+        }
+        String id = dg.getID();
+        if (!id.equals(ID)) {
+            errln("FAIL: getInstance(" + ID + ").getID() => " + id);
+        }
+        String dev = "\u0901\u090B\u0925";
+        String guj = "\u0A81\u0A8B\u0AA5";
+        expect(dg, dev, guj);
+    }
+
+    /**
+     * Test filter syntax in IDs. (J23)
+     */
+    public void TestFilterIDs() {
+        String[] DATA = {
+            "[aeiou]Any-Hex", // ID
+            "[aeiou]Hex-Any", // expected inverse ID
+            "quizzical",      // src
+            "q\\u0075\\u0069zz\\u0069c\\u0061l", // expected ID.translit(src)
+
+            "[aeiou]Any-Hex;[^5]Hex-Any",
+            "[^5]Any-Hex;[aeiou]Hex-Any",
+            "quizzical",
+            "q\\u0075izzical",
+
+            "[abc]Null",
+            "[abc]Null",
+            "xyz",
+            "xyz",
+        };
+
+        for (int i=0; i<DATA.length; i+=4) {
+            String ID = DATA[i];
+            Transliterator t = Transliterator.getInstance(ID);
+            expect(t, DATA[i+2], DATA[i+3]);
+
+            // Check the ID
+            if (!ID.equals(t.getID())) {
+                errln("FAIL: getInstance(" + ID + ").getID() => " +
+                      t.getID());
+            }
+
+            // Check the inverse
+            String uID = DATA[i+1];
+            Transliterator u = t.getInverse();
+            if (u == null) {
+                errln("FAIL: " + ID + ".getInverse() returned NULL");
+            } else if (!u.getID().equals(uID)) {
+                errln("FAIL: " + ID + ".getInverse().getID() => " +
+                      u.getID() + ", expected " + uID);
+            }
+        }
+    }
+
+    /**
+     * Test the case mapping transliterators.
+     */
+    public void TestCaseMap() {
+        Transliterator toUpper =
+            Transliterator.getInstance("Any-Upper[^xyzXYZ]");
+        Transliterator toLower =
+            Transliterator.getInstance("Any-Lower[^xyzXYZ]");
+        Transliterator toTitle =
+            Transliterator.getInstance("Any-Title[^xyzXYZ]");
+
+        expect(toUpper, "The quick brown fox jumped over the lazy dogs.",
+               "THE QUICK BROWN FOx JUMPED OVER THE LAzy DOGS.");
+        expect(toLower, "The quIck brown fOX jUMPED OVER THE LAzY dogs.",
+               "the quick brown foX jumped over the lazY dogs.");
+        expect(toTitle, "the quick brown foX caN'T jump over the laZy dogs.",
+               "The Quick Brown FoX Can't Jump Over The LaZy Dogs.");
+    }
+
+    /**
+     * Test the name mapping transliterators.
+     */
+    public void TestNameMap() {
+        Transliterator uni2name =
+            Transliterator.getInstance("Any-Name[^abc]");
+        Transliterator name2uni =
+            Transliterator.getInstance("Name-Any");
+
+        expect(uni2name, "\u00A0abc\u4E01\u00B5\u0A81\uFFFD\u0004\u0009\u0081\uFFFF",
+               "\\N{NO-BREAK SPACE}abc\\N{CJK UNIFIED IDEOGRAPH-4E01}\\N{MICRO SIGN}\\N{GUJARATI SIGN CANDRABINDU}\\N{REPLACEMENT CHARACTER}\\N{END OF TRANSMISSION}\\N{CHARACTER TABULATION}\\N{<control-0081>}\\N{<noncharacter-FFFF>}");
+        expect(name2uni, "{\\N { NO-BREAK SPACE}abc\\N{  CJK UNIFIED  IDEOGRAPH-4E01  }\\N{x\\N{MICRO SIGN}\\N{GUJARATI SIGN CANDRABINDU}\\N{REPLACEMENT CHARACTER}\\N{END OF TRANSMISSION}\\N{CHARACTER TABULATION}\\N{<control-0081>}\\N{<noncharacter-FFFF>}\\N{<control-0004>}\\N{",
+               "{\u00A0abc\u4E01\\N{x\u00B5\u0A81\uFFFD\u0004\u0009\u0081\uFFFF\u0004\\N{");
+
+        // round trip
+        Transliterator t = Transliterator.getInstance("Any-Name;Name-Any");
+
+        String s = "{\u00A0abc\u4E01\\N{x\u00B5\u0A81\uFFFD\u0004\u0009\u0081\uFFFF\u0004\\N{";
+        expect(t, s, s);
+    }
+
+    /**
+     * Test liberalized ID syntax.  1006c
+     */
+    public void TestLiberalizedID() {
+        // Some test cases have an expected getID() value of NULL.  This
+        // means I have disabled the test case for now.  This stuff is
+        // still under development, and I haven't decided whether to make
+        // getID() return canonical case yet.  It will all get rewritten
+        // with the move to Source-Target/Variant IDs anyway. [aliu]
+        String DATA[] = {
+            "latin-greek", null /*"Latin-Greek"*/, "case insensitivity",
+            "  Null  ", "Null", "whitespace",
+            " Latin[a-z]-Greek  ", "[a-z]Latin-Greek", "inline filter",
+            "  null  ; latin-greek  ", null /*"Null;Latin-Greek"*/, "compound whitespace",
+        };
+
+        for (int i=0; i<DATA.length; i+=3) {
+            try {
+                Transliterator t = Transliterator.getInstance(DATA[i]);
+                if (DATA[i+1] == null || DATA[i+1].equals(t.getID())) {
+                    logln("Ok: " + DATA[i+2] +
+                          " create ID \"" + DATA[i] + "\" => \"" +
+                          t.getID() + "\"");
+                } else {
+                    errln("FAIL: " + DATA[i+2] +
+                          " create ID \"" + DATA[i] + "\" => \"" +
+                          t.getID() + "\", exp \"" + DATA[i+1] + "\"");
+                }
+            } catch (IllegalArgumentException e) {
+                errln("FAIL: " + DATA[i+2] +
+                      " create ID \"" + DATA[i] + "\"");
+            }
+        }
+    }
+
+    public void TestCreateInstance() {
+        String FORWARD = "F";
+        String REVERSE = "R";
+        String DATA[] = {
+            // Column 1: id
+            // Column 2: direction
+            // Column 3: expected ID, or "" if expect failure
+            "Latin-Hangul", REVERSE, "Hangul-Latin", // JB#912
+            
+            // JB#2689: bad compound causes crash
+            "InvalidSource-InvalidTarget", FORWARD, "",
+            "InvalidSource-InvalidTarget", REVERSE, "",
+            "Hex-Any;InvalidSource-InvalidTarget", FORWARD, "",
+            "Hex-Any;InvalidSource-InvalidTarget", REVERSE, "",
+            "InvalidSource-InvalidTarget;Hex-Any", FORWARD, "",
+            "InvalidSource-InvalidTarget;Hex-Any", REVERSE, "",
+            
+            null
+        };
+        
+        for (int i=0; DATA[i]!=null; i+=3) {
+            String id=DATA[i];
+            int dir = (DATA[i+1]==FORWARD)?
+                Transliterator.FORWARD:Transliterator.REVERSE;
+            String expID=DATA[i+2];
+            Exception e = null;
+            Transliterator t;
+            try {
+                t = Transliterator.getInstance(id,dir);
+            } catch (Exception e1) {
+                e = e1;
+                t = null;
+            }
+            String newID = (t!=null)?t.getID():"";
+            boolean ok = (newID.equals(expID));
+            if (t==null) {
+                newID = e.getMessage();
+            }
+            if (ok) {
+                logln("Ok: createInstance(" +
+                      id + "," + DATA[i+1] + ") => " + newID);
+            } else {
+                errln("FAIL: createInstance(" +
+                      id + "," + DATA[i+1] + ") => " + newID +
+                      ", expected " + expID);
+            }
+        }
+    }
+
+    /**
+     * Test the normalization transliterator.
+     */
+    public void TestNormalizationTransliterator() {
+        // THE FOLLOWING TWO TABLES ARE COPIED FROM com.ibm.icu.dev.test.normalizer.BasicTest
+        // PLEASE KEEP THEM IN SYNC WITH BasicTest.
+        String[][] CANON = {
+            // Input               Decomposed            Composed
+            {"cat",                "cat",                "cat"               },
+            {"\u00e0ardvark",      "a\u0300ardvark",     "\u00e0ardvark"     },
+
+            {"\u1e0a",             "D\u0307",            "\u1e0a"            }, // D-dot_above
+            {"D\u0307",            "D\u0307",            "\u1e0a"            }, // D dot_above
+
+            {"\u1e0c\u0307",       "D\u0323\u0307",      "\u1e0c\u0307"      }, // D-dot_below dot_above
+            {"\u1e0a\u0323",       "D\u0323\u0307",      "\u1e0c\u0307"      }, // D-dot_above dot_below
+            {"D\u0307\u0323",      "D\u0323\u0307",      "\u1e0c\u0307"      }, // D dot_below dot_above
+
+            {"\u1e10\u0307\u0323", "D\u0327\u0323\u0307","\u1e10\u0323\u0307"}, // D dot_below cedilla dot_above
+            {"D\u0307\u0328\u0323","D\u0328\u0323\u0307","\u1e0c\u0328\u0307"}, // D dot_above ogonek dot_below
+
+            {"\u1E14",             "E\u0304\u0300",      "\u1E14"            }, // E-macron-grave
+            {"\u0112\u0300",       "E\u0304\u0300",      "\u1E14"            }, // E-macron + grave
+            {"\u00c8\u0304",       "E\u0300\u0304",      "\u00c8\u0304"      }, // E-grave + macron
+
+            {"\u212b",             "A\u030a",            "\u00c5"            }, // angstrom_sign
+            {"\u00c5",             "A\u030a",            "\u00c5"            }, // A-ring
+
+            {"\u00fdffin",         "y\u0301ffin",        "\u00fdffin"        }, //updated with 3.0
+            {"\u00fd\uFB03n",      "y\u0301\uFB03n",     "\u00fd\uFB03n"     }, //updated with 3.0
+
+            {"Henry IV",           "Henry IV",           "Henry IV"          },
+            {"Henry \u2163",       "Henry \u2163",       "Henry \u2163"      },
+
+            {"\u30AC",             "\u30AB\u3099",       "\u30AC"            }, // ga (Katakana)
+            {"\u30AB\u3099",       "\u30AB\u3099",       "\u30AC"            }, // ka + ten
+            {"\uFF76\uFF9E",       "\uFF76\uFF9E",       "\uFF76\uFF9E"      }, // hw_ka + hw_ten
+            {"\u30AB\uFF9E",       "\u30AB\uFF9E",       "\u30AB\uFF9E"      }, // ka + hw_ten
+            {"\uFF76\u3099",       "\uFF76\u3099",       "\uFF76\u3099"      }, // hw_ka + ten
+
+            {"A\u0300\u0316",      "A\u0316\u0300",      "\u00C0\u0316"      },
+        };
+
+        String[][] COMPAT = {
+            // Input               Decomposed            Composed
+            {"\uFB4f",             "\u05D0\u05DC",       "\u05D0\u05DC"      }, // Alef-Lamed vs. Alef, Lamed
+
+            {"\u00fdffin",         "y\u0301ffin",        "\u00fdffin"        }, //updated for 3.0
+            {"\u00fd\uFB03n",      "y\u0301ffin",        "\u00fdffin"        }, // ffi ligature -> f + f + i
+
+            {"Henry IV",           "Henry IV",           "Henry IV"          },
+            {"Henry \u2163",       "Henry IV",           "Henry IV"          },
+
+            {"\u30AC",             "\u30AB\u3099",       "\u30AC"            }, // ga (Katakana)
+            {"\u30AB\u3099",       "\u30AB\u3099",       "\u30AC"            }, // ka + ten
+
+            {"\uFF76\u3099",       "\u30AB\u3099",       "\u30AC"            }, // hw_ka + ten
+        };
+
+        Transliterator NFD = Transliterator.getInstance("NFD");
+        Transliterator NFC = Transliterator.getInstance("NFC");
+        for (int i=0; i<CANON.length; ++i) {
+            String in = CANON[i][0];
+            String expd = CANON[i][1];
+            String expc = CANON[i][2];
+            expect(NFD, in, expd);
+            expect(NFC, in, expc);
+        }
+
+        Transliterator NFKD = Transliterator.getInstance("NFKD");
+        Transliterator NFKC = Transliterator.getInstance("NFKC");
+        for (int i=0; i<COMPAT.length; ++i) {
+            String in = COMPAT[i][0];
+            String expkd = COMPAT[i][1];
+            String expkc = COMPAT[i][2];
+            expect(NFKD, in, expkd);
+            expect(NFKC, in, expkc);
+        }
+
+        Transliterator t = Transliterator.getInstance("NFD; [x]Remove");
+        expect(t, "\u010dx", "c\u030C");
+    }
+
+    /**
+     * Test compound RBT rules.
+     */
+    public void TestCompoundRBT() {
+        // Careful with spacing and ';' here:  Phrase this exactly
+        // as toRules() is going to return it.  If toRules() changes
+        // with regard to spacing or ';', then adjust this string.
+        String rule = "::Hex-Any;\n" +
+                      "::Any-Lower;\n" +
+                      "a > '.A.';\n" +
+                      "b > '.B.';\n" +
+                      "::[^t]Any-Upper;";
+        Transliterator t = Transliterator.createFromRules("Test", rule, Transliterator.FORWARD);
+        if (t == null) {
+            errln("FAIL: createFromRules failed");
+            return;
+        }
+        expect(t, "\u0043at in the hat, bat on the mat",
+               "C.A.t IN tHE H.A.t, .B..A.t ON tHE M.A.t");
+        String r = t.toRules(true);
+        if (r.equals(rule)) {
+            logln("OK: toRules() => " + r);
+        } else {
+            errln("FAIL: toRules() => " + r +
+                  ", expected " + rule);
+        }
+
+        // Now test toRules
+        t = Transliterator.getInstance("Greek-Latin; Latin-Cyrillic", Transliterator.FORWARD);
+        if (t == null) {
+            errln("FAIL: createInstance failed");
+            return;
+        }
+        String exp = "::Greek-Latin;\n::Latin-Cyrillic;";
+        r = t.toRules(true);
+        if (!r.equals(exp)) {
+            errln("FAIL: toRules() => " + r +
+                  ", expected " + exp);
+        } else {
+            logln("OK: toRules() => " + r);
+        }
+
+        // Round trip the result of toRules
+        t = Transliterator.createFromRules("Test", r, Transliterator.FORWARD);
+        if (t == null) {
+            errln("FAIL: createFromRules #2 failed");
+            return;
+        } else {
+            logln("OK: createFromRules(" + r + ") succeeded");
+        }
+
+        // Test toRules again
+        r = t.toRules(true);
+        if (!r.equals(exp)) {
+            errln("FAIL: toRules() => " + r +
+                  ", expected " + exp);
+        } else {
+            logln("OK: toRules() => " + r);
+        }
+
+        // Test Foo(Bar) IDs.  Careful with spacing in id; make it conform
+        // to what the regenerated ID will look like.
+        String id = "Upper(Lower);(NFKC)";
+        t = Transliterator.getInstance(id, Transliterator.FORWARD);
+        if (t == null) {
+            errln("FAIL: createInstance #2 failed");
+            return;
+        }
+        if (t.getID().equals(id)) {
+            logln("OK: created " + id);
+        } else {
+            errln("FAIL: createInstance(" + id +
+                  ").getID() => " + t.getID());
+        }
+
+        Transliterator u = t.getInverse();
+        if (u == null) {
+            errln("FAIL: createInverse failed");
+            return;
+        }
+        exp = "NFKC();Lower(Upper)";
+        if (u.getID().equals(exp)) {
+            logln("OK: createInverse(" + id + ") => " +
+                  u.getID());
+        } else {
+            errln("FAIL: createInverse(" + id + ") => " +
+                  u.getID());
+        }
+    }
+
+    /**
+     * Compound filter semantics were orginially not implemented
+     * correctly.  Originally, each component filter f(i) is replaced by
+     * f'(i) = f(i) && g, where g is the filter for the compound
+     * transliterator.
+     *
+     * From Mark:
+     *
+     * Suppose and I have a transliterator X. Internally X is
+     * "Greek-Latin; Latin-Cyrillic; Any-Lower". I use a filter [^A].
+     *
+     * The compound should convert all greek characters (through latin) to
+     * cyrillic, then lowercase the result. The filter should say "don't
+     * touch 'A' in the original". But because an intermediate result
+     * happens to go through "A", the Greek Alpha gets hung up.
+     */
+    public void TestCompoundFilter() {
+        Transliterator t = Transliterator.getInstance
+            ("Greek-Latin; Latin-Greek; Lower", Transliterator.FORWARD);
+        t.setFilter(new UnicodeSet("[^A]"));
+
+        // Only the 'A' at index 1 should remain unchanged
+        expect(t,
+               CharsToUnicodeString("BA\\u039A\\u0391"),
+               CharsToUnicodeString("\\u03b2A\\u03ba\\u03b1"));
+    }
+
+    /**
+     * Test the "Remove" transliterator.
+     */
+    public void TestRemove() {
+        Transliterator t = Transliterator.getInstance("Remove[aeiou]");
+        expect(t, "The quick brown fox.",
+               "Th qck brwn fx.");
+    }
+
+    public void TestToRules() {
+        String RBT = "rbt";
+        String SET = "set";
+        String[] DATA = {
+            RBT,
+            "$a=\\u4E61; [$a] > A;",
+            "[\\u4E61] > A;",
+
+            RBT,
+            "$white=[[:Zs:][:Zl:]]; $white{a} > A;",
+            "[[:Zs:][:Zl:]]{a} > A;",
+
+            SET,
+            "[[:Zs:][:Zl:]]",
+            "[[:Zs:][:Zl:]]",
+
+            SET,
+            "[:Ps:]",
+            "[:Ps:]",
+
+            SET,
+            "[:L:]",
+            "[:L:]",
+
+            SET,
+            "[[:L:]-[A]]",
+            "[[:L:]-[A]]",
+
+            SET,
+            "[~[:Lu:][:Ll:]]",
+            "[~[:Lu:][:Ll:]]",
+
+            SET,
+            "[~[a-z]]",
+            "[~[a-z]]",
+
+            RBT,
+            "$white=[:Zs:]; $black=[^$white]; $black{a} > A;",
+            "[^[:Zs:]]{a} > A;",
+
+            RBT,
+            "$a=[:Zs:]; $b=[[a-z]-$a]; $b{a} > A;",
+            "[[a-z]-[:Zs:]]{a} > A;",
+
+            RBT,
+            "$a=[:Zs:]; $b=[$a&[a-z]]; $b{a} > A;",
+            "[[:Zs:]&[a-z]]{a} > A;",
+
+            RBT,
+            "$a=[:Zs:]; $b=[x$a]; $b{a} > A;",
+            "[x[:Zs:]]{a} > A;",
+
+            RBT,
+            "$accentMinus = [ [\\u0300-\\u0345] & [:M:] - [\\u0338]] ;"+
+            "$macron = \\u0304 ;"+
+            "$evowel = [aeiouyAEIOUY] ;"+
+            "$iotasub = \\u0345 ;"+
+            "($evowel $macron $accentMinus *) i > | $1 $iotasub ;",
+            "([AEIOUYaeiouy]\\u0304[[\\u0300-\\u0345]&[:M:]-[\\u0338]]*)i > | $1 \\u0345;",
+
+            RBT,
+            "([AEIOUYaeiouy]\\u0304[[:M:]-[\\u0304\\u0345]]*)i > | $1 \\u0345;",
+            "([AEIOUYaeiouy]\\u0304[[:M:]-[\\u0304\\u0345]]*)i > | $1 \\u0345;",
+        };
+
+        for (int d=0; d < DATA.length; d+=3) {
+            if (DATA[d] == RBT) {
+                // Transliterator test
+                Transliterator t = Transliterator.createFromRules("ID",
+                                       DATA[d+1], Transliterator.FORWARD);
+                if (t == null) {
+                    errln("FAIL: createFromRules failed");
+                    return;
+                }
+                String rules, escapedRules;
+                rules = t.toRules(false);
+                escapedRules = t.toRules(true);
+                String expRules = Utility.unescape(DATA[d+2]);
+                String expEscapedRules = DATA[d+2];
+                if (rules.equals(expRules)) {
+                    logln("Ok: " + DATA[d+1] +
+                          " => " + Utility.escape(rules));
+                } else {
+                    errln("FAIL: " + DATA[d+1] +
+                          " => " + Utility.escape(rules + ", exp " + expRules));
+                }
+                if (escapedRules.equals(expEscapedRules)) {
+                    logln("Ok: " + DATA[d+1] +
+                          " => " + escapedRules);
+                } else {
+                    errln("FAIL: " + DATA[d+1] +
+                          " => " + escapedRules + ", exp " + expEscapedRules);
+                }
+
+            } else {
+                // UnicodeSet test
+                String pat = DATA[d+1];
+                String expToPat = DATA[d+2];
+                UnicodeSet set = new UnicodeSet(pat);
+
+                // Adjust spacing etc. as necessary.
+                String toPat;
+                toPat = set.toPattern(true);
+                if (expToPat.equals(toPat)) {
+                    logln("Ok: " + pat +
+                          " => " + toPat);
+                } else {
+                    errln("FAIL: " + pat +
+                          " => " + Utility.escape(toPat) +
+                          ", exp " + Utility.escape(pat));
+                }
+            }
+        }
+    }
+
+    public void TestContext() {
+        Transliterator.Position pos = new Transliterator.Position(0, 2, 0, 1); // cs cl s l
+
+        expect("de > x; {d}e > y;",
+               "de",
+               "ye",
+               pos);
+
+        expect("ab{c} > z;",
+               "xadabdabcy",
+               "xadabdabzy");
+    }
+
+    static final String CharsToUnicodeString(String s) {
+        return Utility.unescape(s);
+    }
+
+    public void TestSupplemental() {
+
+        expect(CharsToUnicodeString("$a=\\U00010300; $s=[\\U00010300-\\U00010323];" +
+                                    "a > $a; $s > i;"),
+               CharsToUnicodeString("ab\\U0001030Fx"),
+               CharsToUnicodeString("\\U00010300bix"));
+
+        expect(CharsToUnicodeString("$a=[a-z\\U00010300-\\U00010323];" +
+                                    "$b=[A-Z\\U00010400-\\U0001044D];" +
+                                    "($a)($b) > $2 $1;"),
+               CharsToUnicodeString("aB\\U00010300\\U00010400c\\U00010401\\U00010301D"),
+               CharsToUnicodeString("Ba\\U00010400\\U00010300\\U00010401cD\\U00010301"));
+
+        // k|ax\\U00010300xm
+
+        // k|a\\U00010400\\U00010300xm
+        // ky|\\U00010400\\U00010300xm
+        // ky\\U00010400|\\U00010300xm
+
+        // ky\\U00010400|\\U00010300\\U00010400m
+        // ky\\U00010400y|\\U00010400m
+        expect(CharsToUnicodeString("$a=[a\\U00010300-\\U00010323];" +
+                                    "$a {x} > | @ \\U00010400;" +
+                                    "{$a} [^\\u0000-\\uFFFF] > y;"),
+               CharsToUnicodeString("kax\\U00010300xm"),
+               CharsToUnicodeString("ky\\U00010400y\\U00010400m"));
+
+        expect(Transliterator.getInstance("Any-Name"),
+               CharsToUnicodeString("\\U00010330\\U000E0061\\u00A0"),
+               "\\N{GOTHIC LETTER AHSA}\\N{TAG LATIN SMALL LETTER A}\\N{NO-BREAK SPACE}");
+
+        expect(Transliterator.getInstance("Name-Any"),
+               "\\N{GOTHIC LETTER AHSA}\\N{TAG LATIN SMALL LETTER A}\\N{NO-BREAK SPACE}",
+               CharsToUnicodeString("\\U00010330\\U000E0061\\u00A0"));
+
+        expect(Transliterator.getInstance("Any-Hex/Unicode"),
+               CharsToUnicodeString("\\U00010330\\U0010FF00\\U000E0061\\u00A0"),
+               "U+10330U+10FF00U+E0061U+00A0");
+
+        expect(Transliterator.getInstance("Any-Hex/C"),
+               CharsToUnicodeString("\\U00010330\\U0010FF00\\U000E0061\\u00A0"),
+               "\\U00010330\\U0010FF00\\U000E0061\\u00A0");
+
+        expect(Transliterator.getInstance("Any-Hex/Perl"),
+               CharsToUnicodeString("\\U00010330\\U0010FF00\\U000E0061\\u00A0"),
+               "\\x{10330}\\x{10FF00}\\x{E0061}\\x{A0}");
+
+        expect(Transliterator.getInstance("Any-Hex/Java"),
+               CharsToUnicodeString("\\U00010330\\U0010FF00\\U000E0061\\u00A0"),
+               "\\uD800\\uDF30\\uDBFF\\uDF00\\uDB40\\uDC61\\u00A0");
+
+        expect(Transliterator.getInstance("Any-Hex/XML"),
+               CharsToUnicodeString("\\U00010330\\U0010FF00\\U000E0061\\u00A0"),
+               "&#x10330;&#x10FF00;&#xE0061;&#xA0;");
+
+        expect(Transliterator.getInstance("Any-Hex/XML10"),
+               CharsToUnicodeString("\\U00010330\\U0010FF00\\U000E0061\\u00A0"),
+               "&#66352;&#1113856;&#917601;&#160;");
+
+        expect(Transliterator.getInstance("[\\U000E0000-\\U000E0FFF] Remove"),
+               CharsToUnicodeString("\\U00010330\\U0010FF00\\U000E0061\\u00A0"),
+               CharsToUnicodeString("\\U00010330\\U0010FF00\\u00A0"));
+    }
+
+    public void TestQuantifier() {
+
+        // Make sure @ in a quantified anteContext works
+        expect("a+ {b} > | @@ c; A > a; (a+ c) > '(' $1 ')';",
+               "AAAAAb",
+               "aaa(aac)");
+
+        // Make sure @ in a quantified postContext works
+        expect("{b} a+ > c @@ |; (a+) > '(' $1 ')';",
+               "baaaaa",
+               "caa(aaa)");
+
+        // Make sure @ in a quantified postContext with seg ref works
+        expect("{(b)} a+ > $1 @@ |; (a+) > '(' $1 ')';",
+               "baaaaa",
+               "baa(aaa)");
+
+        // Make sure @ past ante context doesn't enter ante context
+        Transliterator.Position pos = new Transliterator.Position(0, 5, 3, 5);
+        expect("a+ {b} > | @@ c; x > y; (a+ c) > '(' $1 ')';",
+               "xxxab",
+               "xxx(ac)",
+               pos);
+
+        // Make sure @ past post context doesn't pass limit
+        Transliterator.Position pos2 = new Transliterator.Position(0, 4, 0, 2);
+        expect("{b} a+ > c @@ |; x > y; a > A;",
+               "baxx",
+               "caxx",
+               pos2);
+
+        // Make sure @ past post context doesn't enter post context
+        expect("{b} a+ > c @@ |; x > y; a > A;",
+               "baxx",
+               "cayy");
+
+        expect("(ab)? c > d;",
+               "c abc ababc",
+               "d d abd");
+
+        // NOTE: The (ab)+ when referenced just yields a single "ab",
+        // not the full sequence of them.  This accords with perl behavior.
+        expect("(ab)+ {x} > '(' $1 ')';",
+               "x abx ababxy",
+               "x ab(ab) abab(ab)y");
+
+        expect("b+ > x;",
+               "ac abc abbc abbbc",
+               "ac axc axc axc");
+
+        expect("[abc]+ > x;",
+               "qac abrc abbcs abtbbc",
+               "qx xrx xs xtx");
+
+        expect("q{(ab)+} > x;",
+               "qa qab qaba qababc qaba",
+               "qa qx qxa qxc qxa");
+
+        expect("q(ab)* > x;",
+               "qa qab qaba qababc",
+               "xa x xa xc");
+
+        // NOTE: The (ab)+ when referenced just yields a single "ab",
+        // not the full sequence of them.  This accords with perl behavior.
+        expect("q(ab)* > '(' $1 ')';",
+               "qa qab qaba qababc",
+               "()a (ab) (ab)a (ab)c");
+
+        // 'foo'+ and 'foo'* -- the quantifier should apply to the entire
+        // quoted string
+        expect("'ab'+ > x;",
+               "bb ab ababb",
+               "bb x xb");
+
+        // $foo+ and $foo* -- the quantifier should apply to the entire
+        // variable reference
+        expect("$var = ab; $var+ > x;",
+               "bb ab ababb",
+               "bb x xb");
+    }
+
+    static class TestFact implements Transliterator.Factory {
+        static class NameableNullTrans extends Transliterator {
+            public NameableNullTrans(String id) {
+                super(id, null);
+            }
+            protected void handleTransliterate(Replaceable text,
+                                               Position offsets, boolean incremental) {
+                offsets.start = offsets.limit;
+            }
+        }
+        String id;
+        public TestFact(String theID) {
+            id = theID;
+        }
+        public Transliterator getInstance(String ignoredID) {
+            return new NameableNullTrans(id);
+        }
+    }
+
+    public void TestSTV() {
+        Enumeration es = Transliterator.getAvailableSources();
+        for (int i=0; es.hasMoreElements(); ++i) {
+            String source = (String) es.nextElement();
+            logln("" + i + ": " + source);
+            if (source.length() == 0) {
+                errln("FAIL: empty source");
+                continue;
+            }
+            Enumeration et = Transliterator.getAvailableTargets(source);
+            for (int j=0; et.hasMoreElements(); ++j) {
+                String target = (String) et.nextElement();
+                logln(" " + j + ": " + target);
+                if (target.length() == 0) {
+                    errln("FAIL: empty target");
+                    continue;
+                }
+                Enumeration ev = Transliterator.getAvailableVariants(source, target);
+                for (int k=0; ev.hasMoreElements(); ++k) {
+                    String variant = (String) ev.nextElement();
+                    if (variant.length() == 0) {
+                        logln("  " + k + ": <empty>");
+                    } else {
+                        logln("  " + k + ": " + variant);
+                    }
+                }
+            }
+        }
+
+        // Test registration
+        String[] IDS = { "Fieruwer", "Seoridf-Sweorie", "Oewoir-Oweri/Vsie" };
+        String[] FULL_IDS = { "Any-Fieruwer", "Seoridf-Sweorie", "Oewoir-Oweri/Vsie" };
+        String[] SOURCES = { null, "Seoridf", "Oewoir" };
+        for (int i=0; i<3; ++i) {
+            Transliterator.registerFactory(IDS[i], new TestFact(IDS[i]));
+            try {
+                Transliterator t = Transliterator.getInstance(IDS[i]);
+                if (t.getID().equals(IDS[i])) {
+                    logln("Ok: Registration/creation succeeded for ID " +
+                          IDS[i]);
+                } else {
+                    errln("FAIL: Registration of ID " +
+                          IDS[i] + " creates ID " + t.getID());
+                }
+                Transliterator.unregister(IDS[i]);
+                try {
+                    t = Transliterator.getInstance(IDS[i]);
+                    errln("FAIL: Unregistration failed for ID " +
+                          IDS[i] + "; still receiving ID " + t.getID());
+                } catch (IllegalArgumentException e2) {
+                    // Good; this is what we expect
+                    logln("Ok; Unregistered " + IDS[i]);
+                }
+            } catch (IllegalArgumentException e) {
+                errln("FAIL: Registration/creation failed for ID " +
+                      IDS[i]);
+            } finally {
+                Transliterator.unregister(IDS[i]);
+            }
+        }
+
+        // Make sure getAvailable API reflects removal
+        for (Enumeration e = Transliterator.getAvailableIDs();
+             e.hasMoreElements(); ) {
+            String id = (String) e.nextElement();
+            for (int i=0; i<3; ++i) {
+                if (id.equals(FULL_IDS[i])) {
+                    errln("FAIL: unregister(" + id + ") failed");
+                }
+            }
+        }
+        for (Enumeration e = Transliterator.getAvailableTargets("Any");
+             e.hasMoreElements(); ) {
+            String t = (String) e.nextElement();
+            if (t.equals(IDS[0])) {
+                errln("FAIL: unregister(Any-" + t + ") failed");
+            }
+        }
+        for (Enumeration e = Transliterator.getAvailableSources();
+             e.hasMoreElements(); ) {
+            String s = (String) e.nextElement();
+            for (int i=0; i<3; ++i) {
+                if (SOURCES[i] == null) continue;
+                if (s.equals(SOURCES[i])) {
+                    errln("FAIL: unregister(" + s + "-*) failed");
+                }
+            }
+        }
+    }
+
+    /**
+     * Test inverse of Greek-Latin; Title()
+     */
+    public void TestCompoundInverse() {
+        Transliterator t = Transliterator.getInstance
+            ("Greek-Latin; Title()", Transliterator.REVERSE);
+        if (t == null) {
+            errln("FAIL: createInstance");
+            return;
+        }
+        String exp = "(Title);Latin-Greek";
+        if (t.getID().equals(exp)) {
+            logln("Ok: inverse of \"Greek-Latin; Title()\" is \"" +
+                  t.getID());
+        } else {
+            errln("FAIL: inverse of \"Greek-Latin; Title()\" is \"" +
+                  t.getID() + "\", expected \"" + exp + "\"");
+        }
+    }
+
+    /**
+     * Test NFD chaining with RBT
+     */
+    public void TestNFDChainRBT() {
+        Transliterator t = Transliterator.createFromRules(
+                               "TEST", "::NFD; aa > Q; a > q;",
+                               Transliterator.FORWARD);
+        logln(t.toRules(true));
+        expect(t, "aa", "Q");
+    }
+
+    /**
+     * Inverse of "Null" should be "Null". (J21)
+     */
+    public void TestNullInverse() {
+        Transliterator t = Transliterator.getInstance("Null");
+        Transliterator u = t.getInverse();
+        if (!u.getID().equals("Null")) {
+            errln("FAIL: Inverse of Null should be Null");
+        }
+    }
+
+    /**
+     * Check ID of inverse of alias. (J22)
+     */
+    public void TestAliasInverseID() {
+        String ID = "Latin-Hangul"; // This should be any alias ID with an inverse
+        Transliterator t = Transliterator.getInstance(ID);
+        Transliterator u = t.getInverse();
+        String exp = "Hangul-Latin";
+        String got = u.getID();
+        if (!got.equals(exp)) {
+            errln("FAIL: Inverse of " + ID + " is " + got +
+                  ", expected " + exp);
+        }
+    }
+
+    /**
+     * Test IDs of inverses of compound transliterators. (J20)
+     */
+    public void TestCompoundInverseID() {
+        String ID = "Latin-Jamo;NFC(NFD)";
+        Transliterator t = Transliterator.getInstance(ID);
+        Transliterator u = t.getInverse();
+        String exp = "NFD(NFC);Jamo-Latin";
+        String got = u.getID();
+        if (!got.equals(exp)) {
+            errln("FAIL: Inverse of " + ID + " is " + got +
+                  ", expected " + exp);
+        }
+    }
+
+    /**
+     * Test undefined variable.
+     */
+    public void TestUndefinedVariable() {
+        String rule = "$initial } a <> \u1161;";
+        try {
+            Transliterator t = Transliterator.createFromRules("<ID>", rule,Transliterator.FORWARD);
+            t = null;
+        } catch (IllegalArgumentException e) {
+            logln("OK: Got exception for " + rule + ", as expected: " +
+                  e.getMessage());
+            return;
+        }
+        errln("Fail: bogus rule " + rule + " compiled without error");
+    }
+
+    /**
+     * Test empty context.
+     */
+    public void TestEmptyContext() {
+        expect(" { a } > b;", "xay a ", "xby b ");
+    }
+
+    /**
+     * Test compound filter ID syntax
+     */
+    public void TestCompoundFilterID() {
+        String[] DATA = {
+            // Col. 1 = ID or rule set (latter must start with #)
+
+            // = columns > 1 are null if expect col. 1 to be illegal =
+
+            // Col. 2 = direction, "F..." or "R..."
+            // Col. 3 = source string
+            // Col. 4 = exp result
+
+            "[abc]; [abc]", null, null, null, // multiple filters
+            "Latin-Greek; [abc];", null, null, null, // misplaced filter
+            "[b]; Latin-Greek; Upper; ([xyz])", "F", "abc", "a\u0392c",
+            "[b]; (Lower); Latin-Greek; Upper(); ([\u0392])", "R", "\u0391\u0392\u0393", "\u0391b\u0393",
+            "#\n::[b]; ::Latin-Greek; ::Upper; ::([xyz]);", "F", "abc", "a\u0392c",
+            "#\n::[b]; ::(Lower); ::Latin-Greek; ::Upper(); ::([\u0392]);", "R", "\u0391\u0392\u0393", "\u0391b\u0393",
+        };
+
+        for (int i=0; i<DATA.length; i+=4) {
+            String id = DATA[i];
+            int direction = (DATA[i+1] != null && DATA[i+1].charAt(0) == 'R') ?
+                Transliterator.REVERSE : Transliterator.FORWARD;
+            String source = DATA[i+2];
+            String exp = DATA[i+3];
+            boolean expOk = (DATA[i+1] != null);
+            Transliterator t = null;
+            IllegalArgumentException e = null;
+            try {
+                if (id.charAt(0) == '#') {
+                    t = Transliterator.createFromRules("ID", id, direction);
+                } else {
+                    t = Transliterator.getInstance(id, direction);
+                }
+            } catch (IllegalArgumentException ee) {
+                e = ee;
+            }
+            boolean ok = (t != null && e == null);
+            if (ok == expOk) {
+                logln("Ok: " + id + " => " + t +
+                      (e != null ? (", " + e.getMessage()) : ""));
+                if (source != null) {
+                    expect(t, source, exp);
+                }
+            } else {
+                errln("FAIL: " + id + " => " + t +
+                      (e != null ? (", " + e.getMessage()) : ""));
+            }
+        }
+    }
+
+    /**
+     * Test new property set syntax
+     */
+    public void TestPropertySet() {
+        expect("a>A; \\p{Lu}>x; \\p{Any}>y;", "abcDEF", "Ayyxxx");
+        expect("(.+)>'[' $1 ']';", " a stitch \n in time \r saves 9",
+               "[ a stitch ]\n[ in time ]\r[ saves 9]");
+    }
+
+    /**
+     * Test various failure points of the new 2.0 engine.
+     */
+    public void TestNewEngine() {
+        Transliterator t = Transliterator.getInstance("Latin-Hiragana");
+        // Katakana should be untouched
+        expect(t, "a\u3042\u30A2", "\u3042\u3042\u30A2");
+
+        if (true) {
+            // This test will only work if Transliterator.ROLLBACK is
+            // true.  Otherwise, this test will fail, revealing a
+            // limitation of global filters in incremental mode.
+
+            Transliterator a =
+                Transliterator.createFromRules("a_to_A", "a > A;", Transliterator.FORWARD);
+            Transliterator A =
+                Transliterator.createFromRules("A_to_b", "A > b;", Transliterator.FORWARD);
+
+            //Transliterator array[] = new Transliterator[] {
+            //    a,
+            //    Transliterator.getInstance("NFD"),
+            //    A };
+            //t = Transliterator.getInstance(array, new UnicodeSet("[:Ll:]"));
+
+            try {
+                Transliterator.registerInstance(a);
+                Transliterator.registerInstance(A);
+
+                t = Transliterator.getInstance("[:Ll:];a_to_A;NFD;A_to_b");
+                expect(t, "aAaA", "bAbA");
+
+                Transliterator[] u = t.getElements();
+                assertTrue("getElements().length", u.length == 3);
+                assertEquals("getElements()[0]", u[0].getID(), "a_to_A");
+                assertEquals("getElements()[1]", u[1].getID(), "NFD");
+                assertEquals("getElements()[2]", u[2].getID(), "A_to_b");
+
+                t = Transliterator.getInstance("a_to_A;NFD;A_to_b");
+                t.setFilter(new UnicodeSet("[:Ll:]"));
+                expect(t, "aAaA", "bAbA");
+            } finally {
+                Transliterator.unregister("a_to_A"); 
+                Transliterator.unregister("A_to_b");   
+            }
+        }
+
+        expect("$smooth = x; $macron = q; [:^L:] { ([aeiouyAEIOUY] $macron?) } [^aeiouyAEIOUY$smooth$macron] > | $1 $smooth ;",
+               "a",
+               "ax");
+
+        String gr =
+            "$ddot = \u0308 ;" +
+            "$lcgvowel = [\u03b1\u03b5\u03b7\u03b9\u03bf\u03c5\u03c9] ;" +
+            "$rough = \u0314 ;" +
+            "($lcgvowel+ $ddot?) $rough > h | $1 ;" +
+            "\u03b1 <> a ;" +
+            "$rough <> h ;";
+
+        expect(gr, "\u03B1\u0314", "ha");
+    }
+
+    /**
+     * Test quantified segment behavior.  We want:
+     * ([abc])+ > x $1 x; applied to "cba" produces "xax"
+     */
+    public void TestQuantifiedSegment() {
+        // The normal case
+        expect("([abc]+) > x $1 x;", "cba", "xcbax");
+
+        // The tricky case; the quantifier is around the segment
+        expect("([abc])+ > x $1 x;", "cba", "xax");
+
+        // Tricky case in reverse direction
+        expect("([abc])+ { q > x $1 x;", "cbaq", "cbaxax");
+
+        // Check post-context segment
+        expect("{q} ([a-d])+ > '(' $1 ')';", "ddqcba", "dd(a)cba");
+
+        // Test toRule/toPattern for non-quantified segment.
+        // Careful with spacing here.
+        String r = "([a-c]){q} > x $1 x;";
+        Transliterator t = Transliterator.createFromRules("ID", r, Transliterator.FORWARD);
+        String rr = t.toRules(true);
+        if (!r.equals(rr)) {
+            errln("FAIL: \"" + r + "\" x toRules() => \"" + rr + "\"");
+        } else {
+            logln("Ok: \"" + r + "\" x toRules() => \"" + rr + "\"");
+        }
+
+        // Test toRule/toPattern for quantified segment.
+        // Careful with spacing here.
+        r = "([a-c])+{q} > x $1 x;";
+        t = Transliterator.createFromRules("ID", r, Transliterator.FORWARD);
+        rr = t.toRules(true);
+        if (!r.equals(rr)) {
+            errln("FAIL: \"" + r + "\" x toRules() => \"" + rr + "\"");
+        } else {
+            logln("Ok: \"" + r + "\" x toRules() => \"" + rr + "\"");
+        }
+    }
+
+    //======================================================================
+    // Ram's tests
+    //======================================================================
+ /* this test performs  test of rules in ISO 15915 */
+    public void  TestDevanagariLatinRT(){
+        String[]  source = {
+            "bh\u0101rata",
+            "kra",
+            "k\u1E63a",
+            "khra",
+            "gra",
+            "\u1E45ra",
+            "cra",
+            "chra",
+            "j\u00F1a",
+            "jhra",
+            "\u00F1ra",
+            "\u1E6Dya",
+            "\u1E6Dhra",
+            "\u1E0Dya",
+        //"r\u0323ya", // \u095c is not valid in Devanagari
+            "\u1E0Dhya",
+            "\u1E5Bhra",
+            "\u1E47ra",
+            "tta",
+            "thra",
+            "dda",
+            "dhra",
+            "nna",
+            "pra",
+            "phra",
+            "bra",
+            "bhra",
+            "mra",
+            "\u1E49ra",
+        //"l\u0331ra",
+            "yra",
+            "\u1E8Fra",
+        //"l-",
+            "vra",
+            "\u015Bra",
+            "\u1E63ra",
+            "sra",
+            "hma",
+            "\u1E6D\u1E6Da",
+            "\u1E6D\u1E6Dha",
+            "\u1E6Dh\u1E6Dha",
+            "\u1E0D\u1E0Da",
+            "\u1E0D\u1E0Dha",
+            "\u1E6Dya",
+            "\u1E6Dhya",
+            "\u1E0Dya",
+            "\u1E0Dhya",
+            // Not roundtrippable --
+            // \u0939\u094d\u094d\u092E  - hma
+            // \u0939\u094d\u092E         - hma
+            // CharsToUnicodeString("hma"),
+            "hya",
+            "\u015Br\u0325",
+            "\u015Bca",
+            "\u0115",
+            "san\u0304j\u012Bb s\u0113nagupta",
+            "\u0101nand vaddir\u0101ju",
+        };
+        String[]  expected = {
+            "\u092D\u093E\u0930\u0924",    /* bha\u0304rata */
+            "\u0915\u094D\u0930",          /* kra         */
+            "\u0915\u094D\u0937",          /* ks\u0323a  */
+            "\u0916\u094D\u0930",          /* khra        */
+            "\u0917\u094D\u0930",          /* gra         */
+            "\u0919\u094D\u0930",          /* n\u0307ra  */
+            "\u091A\u094D\u0930",          /* cra         */
+            "\u091B\u094D\u0930",          /* chra        */
+            "\u091C\u094D\u091E",          /* jn\u0303a  */
+            "\u091D\u094D\u0930",          /* jhra        */
+            "\u091E\u094D\u0930",          /* n\u0303ra  */
+            "\u091F\u094D\u092F",          /* t\u0323ya  */
+            "\u0920\u094D\u0930",          /* t\u0323hra */
+            "\u0921\u094D\u092F",          /* d\u0323ya  */
+        //"\u095C\u094D\u092F",          /* r\u0323ya  */ // \u095c is not valid in Devanagari
+            "\u0922\u094D\u092F",          /* d\u0323hya */
+            "\u0922\u093C\u094D\u0930",    /* r\u0323hra */
+            "\u0923\u094D\u0930",          /* n\u0323ra  */
+            "\u0924\u094D\u0924",          /* tta         */
+            "\u0925\u094D\u0930",          /* thra        */
+            "\u0926\u094D\u0926",          /* dda         */
+            "\u0927\u094D\u0930",          /* dhra        */
+            "\u0928\u094D\u0928",          /* nna         */
+            "\u092A\u094D\u0930",          /* pra         */
+            "\u092B\u094D\u0930",          /* phra        */
+            "\u092C\u094D\u0930",          /* bra         */
+            "\u092D\u094D\u0930",          /* bhra        */
+            "\u092E\u094D\u0930",          /* mra         */
+            "\u0929\u094D\u0930",          /* n\u0331ra  */
+        //"\u0934\u094D\u0930",          /* l\u0331ra  */
+            "\u092F\u094D\u0930",          /* yra         */
+            "\u092F\u093C\u094D\u0930",    /* y\u0307ra  */
+        //"l-",
+            "\u0935\u094D\u0930",          /* vra         */
+            "\u0936\u094D\u0930",          /* s\u0301ra  */
+            "\u0937\u094D\u0930",          /* s\u0323ra  */
+            "\u0938\u094D\u0930",          /* sra         */
+            "\u0939\u094d\u092E",          /* hma         */
+            "\u091F\u094D\u091F",          /* t\u0323t\u0323a  */
+            "\u091F\u094D\u0920",          /* t\u0323t\u0323ha */
+            "\u0920\u094D\u0920",          /* t\u0323ht\u0323ha*/
+            "\u0921\u094D\u0921",          /* d\u0323d\u0323a  */
+            "\u0921\u094D\u0922",          /* d\u0323d\u0323ha */
+            "\u091F\u094D\u092F",          /* t\u0323ya  */
+            "\u0920\u094D\u092F",          /* t\u0323hya */
+            "\u0921\u094D\u092F",          /* d\u0323ya  */
+            "\u0922\u094D\u092F",          /* d\u0323hya */
+        // "hma",                         /* hma         */
+            "\u0939\u094D\u092F",          /* hya         */
+            "\u0936\u0943",                /* s\u0301r\u0325a  */
+            "\u0936\u094D\u091A",          /* s\u0301ca  */
+            "\u090d",                      /* e\u0306    */
+            "\u0938\u0902\u091C\u0940\u092C\u094D \u0938\u0947\u0928\u0917\u0941\u092A\u094D\u0924",
+            "\u0906\u0928\u0902\u0926\u094D \u0935\u0926\u094D\u0926\u093F\u0930\u093E\u091C\u0941",
+        };
+
+        Transliterator latinToDev=Transliterator.getInstance("Latin-Devanagari", Transliterator.FORWARD );
+        Transliterator devToLatin=Transliterator.getInstance("Devanagari-Latin", Transliterator.FORWARD);
+
+        for(int i= 0; i<source.length; i++){
+            expect(latinToDev,(source[i]),(expected[i]));
+            expect(devToLatin,(expected[i]),(source[i]));
+        }
+
+    }
+    public void  TestTeluguLatinRT(){
+        String[]  source = {
+            "raghur\u0101m vi\u015Bvan\u0101dha",                           /* Raghuram Viswanadha    */
+            "\u0101nand vaddir\u0101ju",                                    /* Anand Vaddiraju        */
+            "r\u0101j\u012Bv ka\u015Barab\u0101da",                         /* Rajeev Kasarabada      */
+            "san\u0304j\u012Bv ka\u015Barab\u0101da",                       /* sanjeev kasarabada     */
+            "san\u0304j\u012Bb sen'gupta",                                  /* sanjib sengupata       */
+            "amar\u0113ndra hanum\u0101nula",                               /* Amarendra hanumanula   */
+            "ravi kum\u0101r vi\u015Bvan\u0101dha",                         /* Ravi Kumar Viswanadha  */
+            "\u0101ditya kandr\u0113gula",                                  /* Aditya Kandregula      */
+            "\u015Br\u012Bdhar ka\u1E47\u1E6Dama\u015Be\u1E6D\u1E6Di",      /* Shridhar Kantamsetty   */
+            "m\u0101dhav de\u015Be\u1E6D\u1E6Di"                            /* Madhav Desetty         */
+        };
+
+        String[]  expected = {
+            "\u0c30\u0c18\u0c41\u0c30\u0c3e\u0c2e\u0c4d \u0c35\u0c3f\u0c36\u0c4d\u0c35\u0c28\u0c3e\u0c27",
+            "\u0c06\u0c28\u0c02\u0c26\u0c4d \u0C35\u0C26\u0C4D\u0C26\u0C3F\u0C30\u0C3E\u0C1C\u0C41",
+            "\u0c30\u0c3e\u0c1c\u0c40\u0c35\u0c4d \u0c15\u0c36\u0c30\u0c2c\u0c3e\u0c26",
+            "\u0c38\u0c02\u0c1c\u0c40\u0c35\u0c4d \u0c15\u0c36\u0c30\u0c2c\u0c3e\u0c26",
+            "\u0c38\u0c02\u0c1c\u0c40\u0c2c\u0c4d \u0c38\u0c46\u0c28\u0c4d\u0c17\u0c41\u0c2a\u0c4d\u0c24",
+            "\u0c05\u0c2e\u0c30\u0c47\u0c02\u0c26\u0c4d\u0c30 \u0c39\u0c28\u0c41\u0c2e\u0c3e\u0c28\u0c41\u0c32",
+            "\u0c30\u0c35\u0c3f \u0c15\u0c41\u0c2e\u0c3e\u0c30\u0c4d \u0c35\u0c3f\u0c36\u0c4d\u0c35\u0c28\u0c3e\u0c27",
+            "\u0c06\u0c26\u0c3f\u0c24\u0c4d\u0c2f \u0C15\u0C02\u0C26\u0C4D\u0C30\u0C47\u0C17\u0C41\u0c32",
+            "\u0c36\u0c4d\u0c30\u0c40\u0C27\u0C30\u0C4D \u0c15\u0c02\u0c1f\u0c2e\u0c36\u0c46\u0c1f\u0c4d\u0c1f\u0c3f",
+            "\u0c2e\u0c3e\u0c27\u0c35\u0c4d \u0c26\u0c46\u0c36\u0c46\u0c1f\u0c4d\u0c1f\u0c3f",
+        };
+
+
+        Transliterator latinToDev=Transliterator.getInstance("Latin-Telugu", Transliterator.FORWARD);
+        Transliterator devToLatin=Transliterator.getInstance("Telugu-Latin", Transliterator.FORWARD);
+
+        for(int i= 0; i<source.length; i++){
+            expect(latinToDev,(source[i]),(expected[i]));
+            expect(devToLatin,(expected[i]),(source[i]));
+        }
+    }
+
+    public void  TestSanskritLatinRT(){
+        int MAX_LEN =15;
+        String[]  source = {
+            "rmk\u1E63\u0113t",
+            "\u015Br\u012Bmad",
+            "bhagavadg\u012Bt\u0101",
+            "adhy\u0101ya",
+            "arjuna",
+            "vi\u1E63\u0101da",
+            "y\u014Dga",
+            "dhr\u0325tar\u0101\u1E63\u1E6Dra",
+            "uv\u0101cr\u0325",
+            "dharmak\u1E63\u0113tr\u0113",
+            "kuruk\u1E63\u0113tr\u0113",
+            "samav\u0113t\u0101",
+            "yuyutsava\u1E25",
+            "m\u0101mak\u0101\u1E25",
+        // "p\u0101\u1E47\u1E0Dav\u0101\u015Bcaiva",
+            "kimakurvata",
+            "san\u0304java",
+        };
+        String[]  expected = {
+            "\u0930\u094D\u092E\u094D\u0915\u094D\u0937\u0947\u0924\u094D",
+            "\u0936\u094d\u0930\u0940\u092e\u0926\u094d",
+            "\u092d\u0917\u0935\u0926\u094d\u0917\u0940\u0924\u093e",
+            "\u0905\u0927\u094d\u092f\u093e\u092f",
+            "\u0905\u0930\u094d\u091c\u0941\u0928",
+            "\u0935\u093f\u0937\u093e\u0926",
+            "\u092f\u094b\u0917",
+            "\u0927\u0943\u0924\u0930\u093e\u0937\u094d\u091f\u094d\u0930",
+            "\u0909\u0935\u093E\u091A\u0943",
+            "\u0927\u0930\u094d\u092e\u0915\u094d\u0937\u0947\u0924\u094d\u0930\u0947",
+            "\u0915\u0941\u0930\u0941\u0915\u094d\u0937\u0947\u0924\u094d\u0930\u0947",
+            "\u0938\u092e\u0935\u0947\u0924\u093e",
+            "\u092f\u0941\u092f\u0941\u0924\u094d\u0938\u0935\u0903",
+            "\u092e\u093e\u092e\u0915\u093e\u0903",
+        //"\u092a\u093e\u0923\u094d\u0921\u0935\u093e\u0936\u094d\u091a\u0948\u0935",
+            "\u0915\u093f\u092e\u0915\u0941\u0930\u094d\u0935\u0924",
+            "\u0938\u0902\u091c\u0935",
+        };
+
+        Transliterator latinToDev=Transliterator.getInstance("Latin-Devanagari", Transliterator.FORWARD);
+        Transliterator devToLatin=Transliterator.getInstance("Devanagari-Latin", Transliterator.FORWARD);
+        for(int i= 0; i<MAX_LEN; i++){
+            expect(latinToDev,(source[i]),(expected[i]));
+            expect(devToLatin,(expected[i]),(source[i]));
+        }
+    }
+
+    public void  TestCompoundLatinRT(){
+        int MAX_LEN =15;
+        String[]  source = {
+            "rmk\u1E63\u0113t",
+            "\u015Br\u012Bmad",
+            "bhagavadg\u012Bt\u0101",
+            "adhy\u0101ya",
+            "arjuna",
+            "vi\u1E63\u0101da",
+            "y\u014Dga",
+            "dhr\u0325tar\u0101\u1E63\u1E6Dra",
+            "uv\u0101cr\u0325",
+            "dharmak\u1E63\u0113tr\u0113",
+            "kuruk\u1E63\u0113tr\u0113",
+            "samav\u0113t\u0101",
+            "yuyutsava\u1E25",
+            "m\u0101mak\u0101\u1E25",
+        // "p\u0101\u1E47\u1E0Dav\u0101\u015Bcaiva",
+            "kimakurvata",
+            "san\u0304java"
+        };
+        String[]  expected = {
+            "\u0930\u094D\u092E\u094D\u0915\u094D\u0937\u0947\u0924\u094D",
+            "\u0936\u094d\u0930\u0940\u092e\u0926\u094d",
+            "\u092d\u0917\u0935\u0926\u094d\u0917\u0940\u0924\u093e",
+            "\u0905\u0927\u094d\u092f\u093e\u092f",
+            "\u0905\u0930\u094d\u091c\u0941\u0928",
+            "\u0935\u093f\u0937\u093e\u0926",
+            "\u092f\u094b\u0917",
+            "\u0927\u0943\u0924\u0930\u093e\u0937\u094d\u091f\u094d\u0930",
+            "\u0909\u0935\u093E\u091A\u0943",
+            "\u0927\u0930\u094d\u092e\u0915\u094d\u0937\u0947\u0924\u094d\u0930\u0947",
+            "\u0915\u0941\u0930\u0941\u0915\u094d\u0937\u0947\u0924\u094d\u0930\u0947",
+            "\u0938\u092e\u0935\u0947\u0924\u093e",
+            "\u092f\u0941\u092f\u0941\u0924\u094d\u0938\u0935\u0903",
+            "\u092e\u093e\u092e\u0915\u093e\u0903",
+        //  "\u092a\u093e\u0923\u094d\u0921\u0935\u093e\u0936\u094d\u091a\u0948\u0935",
+            "\u0915\u093f\u092e\u0915\u0941\u0930\u094d\u0935\u0924",
+            "\u0938\u0902\u091c\u0935"
+        };
+
+        Transliterator latinToDevToLatin=Transliterator.getInstance("Latin-Devanagari;Devanagari-Latin", Transliterator.FORWARD);
+        Transliterator devToLatinToDev=Transliterator.getInstance("Devanagari-Latin;Latin-Devanagari", Transliterator.FORWARD);
+        for(int i= 0; i<MAX_LEN; i++){
+            expect(latinToDevToLatin,(source[i]),(source[i]));
+            expect(devToLatinToDev,(expected[i]),(expected[i]));
+        }
+    }
+    /**
+     * Test Gurmukhi-Devanagari Tippi and Bindi
+     */
+    public void TestGurmukhiDevanagari(){
+        // the rule says:
+        // (\u0902) (when preceded by vowel)      --->  (\u0A02)
+        // (\u0902) (when preceded by consonant)  --->  (\u0A70)
+
+        UnicodeSet vowel =new UnicodeSet("[\u0905-\u090A \u090F\u0910\u0913\u0914 \u093e-\u0942\u0947\u0948\u094B\u094C\u094D]");
+        UnicodeSet non_vowel =new UnicodeSet("[\u0915-\u0928\u092A-\u0930]");
+
+        UnicodeSetIterator vIter = new UnicodeSetIterator(vowel);
+        UnicodeSetIterator nvIter = new UnicodeSetIterator(non_vowel);
+        Transliterator trans = Transliterator.getInstance("Devanagari-Gurmukhi");
+        StringBuffer src = new StringBuffer(" \u0902");
+        StringBuffer expect = new StringBuffer(" \u0A02");
+        while(vIter.next()){
+            src.setCharAt(0,(char) vIter.codepoint);
+            expect.setCharAt(0,(char) (vIter.codepoint+0x0100));
+            expect(trans,src.toString(),expect.toString());
+        }
+
+        expect.setCharAt(1,'\u0A70');
+        while(nvIter.next()){
+            //src.setCharAt(0,(char) nvIter.codepoint);
+            src.setCharAt(0,(char)nvIter.codepoint);
+            expect.setCharAt(0,(char) (nvIter.codepoint+0x0100));
+            expect(trans,src.toString(),expect.toString());
+        }
+    }
+    /**
+     * Test instantiation from a locale.
+     */
+    public void TestLocaleInstantiation() {
+        try{
+            Transliterator t = Transliterator.getInstance("te_IN-Latin");
+            //expect(t, "\u0430", "a");
+        }catch(IllegalArgumentException ex){
+            warnln("Could not load locale data for obtaining the script used in the locale te_IN. "+ex.getMessage());
+        }
+        try{
+            Transliterator t = Transliterator.getInstance("ru_RU-Latin");
+            expect(t, "\u0430", "a");
+        }catch(IllegalArgumentException ex){
+            warnln("Could not load locale data for obtaining the script used in the locale ru_RU. "+ex.getMessage());
+        }
+        try{
+            Transliterator t = Transliterator.getInstance("en-el");
+            expect(t, "a", "\u03B1");
+        }catch(IllegalArgumentException ex){
+            warnln("Could not load locale data for obtaining the script used in the locale el. "+ ex.getMessage());
+        }
+    }
+
+    /**
+     * Test title case handling of accent (should ignore accents)
+     */
+    public void TestTitleAccents() {
+        Transliterator t = Transliterator.getInstance("Title");
+        expect(t, "a\u0300b can't abe", "A\u0300b Can't Abe");
+    }
+
+    /**
+     * Basic test of a locale resource based rule.
+     */
+    public void TestLocaleResource() {
+        String DATA[] = {
+            // id                    from             to
+            "Latin-Greek/UNGEGN",    "b",             "\u03bc\u03c0",
+            "Latin-el",              "b",             "\u03bc\u03c0",
+            "Latin-Greek",           "b",             "\u03B2",
+            "Greek-Latin/UNGEGN",    "\u03B2",        "v",
+            "el-Latin",              "\u03B2",        "v",
+            "Greek-Latin",           "\u03B2",        "b",
+        };
+        for (int i=0; i<DATA.length; i+=3) {
+            Transliterator t = Transliterator.getInstance(DATA[i]);
+            expect(t, DATA[i+1], DATA[i+2]);
+        }
+    }
+
+    /**
+     * Make sure parse errors reference the right line.
+     */
+    public void TestParseError() {
+        String rule =
+            "a > b;\n" +
+            "# more stuff\n" +
+            "d << b;";
+        try {
+            Transliterator t = Transliterator.createFromRules("ID", rule, Transliterator.FORWARD);
+            if(t!=null){
+                errln("FAIL: Did not get expected exception");
+            }
+        } catch (IllegalArgumentException e) {
+            String err = e.getMessage();
+            if (err.indexOf("d << b") >= 0) {
+                logln("Ok: " + err);
+            } else {
+                errln("FAIL: " + err);
+            }
+            return;
+        }
+        errln("FAIL: no syntax error");
+    }
+
+    /**
+     * Make sure sets on output are disallowed.
+     */
+    public void TestOutputSet() {
+        String rule = "$set = [a-cm-n]; b > $set;";
+        Transliterator t = null;
+        try {
+            t = Transliterator.createFromRules("ID", rule, Transliterator.FORWARD);
+            if(t!=null){
+                errln("FAIL: Did not get the expected exception");
+            }
+        } catch (IllegalArgumentException e) {
+            logln("Ok: " + e.getMessage());
+            return;
+        }
+        errln("FAIL: No syntax error");
+    }
+
+    /**
+     * Test the use variable range pragma, making sure that use of
+     * variable range characters is detected and flagged as an error.
+     */
+    public void TestVariableRange() {
+        String rule = "use variable range 0x70 0x72; a > A; b > B; q > Q;";
+        try {
+            Transliterator t =
+                Transliterator.createFromRules("ID", rule, Transliterator.FORWARD);
+            if(t!=null){
+                errln("FAIL: Did not get the expected exception");
+            }
+        } catch (IllegalArgumentException e) {
+            logln("Ok: " + e.getMessage());
+            return;
+        }
+        errln("FAIL: No syntax error");
+    }
+
+    /**
+     * Test invalid post context error handling
+     */
+    public void TestInvalidPostContext() {
+        try {
+            Transliterator t =
+                Transliterator.createFromRules("ID", "a}b{c>d;", Transliterator.FORWARD);
+            if(t!=null){
+                errln("FAIL: Did not get the expected exception");
+            }
+        } catch (IllegalArgumentException e) {
+            String msg = e.getMessage();
+            if (msg.indexOf("a}b{c") >= 0) {
+                logln("Ok: " + msg);
+            } else {
+                errln("FAIL: " + msg);
+            }
+            return;
+        }
+        errln("FAIL: No syntax error");
+    }
+
+    /**
+     * Test ID form variants
+     */
+    public void TestIDForms() {
+        String DATA[] = {
+            "NFC", null, "NFD",
+            "nfd", null, "NFC", // make sure case is ignored
+            "Any-NFKD", null, "Any-NFKC",
+            "Null", null, "Null",
+            "-nfkc", "nfkc", "NFKD",
+            "-nfkc/", "nfkc", "NFKD",
+            "Latin-Greek/UNGEGN", null, "Greek-Latin/UNGEGN",
+            "Greek/UNGEGN-Latin", "Greek-Latin/UNGEGN", "Latin-Greek/UNGEGN",
+            "Bengali-Devanagari/", "Bengali-Devanagari", "Devanagari-Bengali",
+            "Source-", null, null,
+            "Source/Variant-", null, null,
+            "Source-/Variant", null, null,
+            "/Variant", null, null,
+            "/Variant-", null, null,
+            "-/Variant", null, null,
+            "-/", null, null,
+            "-", null, null,
+            "/", null, null,
+        };
+
+        for (int i=0; i<DATA.length; i+=3) {
+            String ID = DATA[i];
+            String expID = DATA[i+1];
+            String expInvID = DATA[i+2];
+            boolean expValid = (expInvID != null);
+            if (expID == null) {
+                expID = ID;
+            }
+            try {
+                Transliterator t =
+                    Transliterator.getInstance(ID);
+                Transliterator u = t.getInverse();
+                if (t.getID().equals(expID) &&
+                    u.getID().equals(expInvID)) {
+                    logln("Ok: " + ID + ".getInverse() => " + expInvID);
+                } else {
+                    errln("FAIL: getInstance(" + ID + ") => " +
+                          t.getID() + " x getInverse() => " + u.getID() +
+                          ", expected " + expInvID);
+                }
+            } catch (IllegalArgumentException e) {
+                if (!expValid) {
+                    logln("Ok: getInstance(" + ID + ") => " + e.getMessage());
+                } else {
+                    errln("FAIL: getInstance(" + ID + ") => " + e.getMessage());
+                }
+            }
+        }
+    }
+
+    void checkRules(String label, Transliterator t2, String testRulesForward) {
+        String rules2 = t2.toRules(true);
+        //rules2 = TestUtility.replaceAll(rules2, new UnicodeSet("[' '\n\r]"), "");
+        rules2 = TestUtility.replace(rules2, " ", "");
+        rules2 = TestUtility.replace(rules2, "\n", "");
+        rules2 = TestUtility.replace(rules2, "\r", "");
+        testRulesForward = TestUtility.replace(testRulesForward, " ", "");
+
+        if (!rules2.equals(testRulesForward)) {
+            errln(label);
+            logln("GENERATED RULES: " + rules2);
+            logln("SHOULD BE:       " + testRulesForward);
+        }
+    }
+
+    /**
+     * Mark's toRules test.
+     */
+    public void TestToRulesMark() {
+
+        String testRules =
+            "::[[:Latin:][:Mark:]];"
+            + "::NFKD (NFC);"
+            + "::Lower (Lower);"
+            + "a <> \\u03B1;" // alpha
+            + "::NFKC (NFD);"
+            + "::Upper (Lower);"
+            + "::Lower ();"
+            + "::([[:Greek:][:Mark:]]);"
+            ;
+        String testRulesForward =
+            "::[[:Latin:][:Mark:]];"
+            + "::NFKD(NFC);"
+            + "::Lower(Lower);"
+            + "a > \\u03B1;"
+            + "::NFKC(NFD);"
+            + "::Upper (Lower);"
+            + "::Lower ();"
+            ;
+        String testRulesBackward =
+            "::[[:Greek:][:Mark:]];"
+            + "::Lower (Upper);"
+            + "::NFD(NFKC);"
+            + "\\u03B1 > a;"
+            + "::Lower(Lower);"
+            + "::NFC(NFKD);"
+            ;
+        String source = "\u00E1"; // a-acute
+        String target = "\u03AC"; // alpha-acute
+
+        Transliterator t2 = Transliterator.createFromRules("source-target", testRules, Transliterator.FORWARD);
+        Transliterator t3 = Transliterator.createFromRules("target-source", testRules, Transliterator.REVERSE);
+
+        expect(t2, source, target);
+        expect(t3, target, source);
+
+        checkRules("Failed toRules FORWARD", t2, testRulesForward);
+        checkRules("Failed toRules BACKWARD", t3, testRulesBackward);
+    }
+
+    /**
+     * Test Escape and Unescape transliterators.
+     */
+    public void TestEscape() {
+        expect(Transliterator.getInstance("Hex-Any"),
+               "\\x{40}\\U00000031&#x32;&#81;",
+               "@12Q");
+        expect(Transliterator.getInstance("Any-Hex/C"),
+               CharsToUnicodeString("A\\U0010BEEF\\uFEED"),
+               "\\u0041\\U0010BEEF\\uFEED");
+        expect(Transliterator.getInstance("Any-Hex/Java"),
+               CharsToUnicodeString("A\\U0010BEEF\\uFEED"),
+               "\\u0041\\uDBEF\\uDEEF\\uFEED");
+        expect(Transliterator.getInstance("Any-Hex/Perl"),
+               CharsToUnicodeString("A\\U0010BEEF\\uFEED"),
+               "\\x{41}\\x{10BEEF}\\x{FEED}");
+    }
+
+    /**
+     * Make sure display names of variants look reasonable.
+     */
+    public void TestDisplayName() {
+        String DATA[] = {
+            // ID, forward name, reverse name
+            // Update the text as necessary -- the important thing is
+            // not the text itself, but how various cases are handled.
+
+            // Basic test
+            "Any-Hex", "Any to Hex Escape", "Hex Escape to Any",
+
+            // Variants
+            "Any-Hex/Perl", "Any to Hex Escape/Perl", "Hex Escape to Any/Perl",
+
+            // Target-only IDs
+            "NFC", "Any to NFC", "Any to NFD",
+        };
+
+        Locale US = Locale.US;
+
+        for (int i=0; i<DATA.length; i+=3) {
+            String name = Transliterator.getDisplayName(DATA[i], US);
+            if (!name.equals(DATA[i+1])) {
+                errln("FAIL: " + DATA[i] + ".getDisplayName() => " +
+                      name + ", expected " + DATA[i+1]);
+            } else {
+                logln("Ok: " + DATA[i] + ".getDisplayName() => " + name);
+            }
+            Transliterator t = Transliterator.getInstance(DATA[i], Transliterator.REVERSE);
+            name = Transliterator.getDisplayName(t.getID(), US);
+            if (!name.equals(DATA[i+2])) {
+                errln("FAIL: " + t.getID() + ".getDisplayName() => " +
+                      name + ", expected " + DATA[i+2]);
+            } else {
+                logln("Ok: " + t.getID() + ".getDisplayName() => " + name);
+            }
+            
+            // Cover getDisplayName(String)
+            ULocale save = ULocale.getDefault();
+            ULocale.setDefault(ULocale.US);
+            String name2 = Transliterator.getDisplayName(t.getID());
+            if (!name.equals(name2))
+                errln("FAIL: getDisplayName with default locale failed");
+            ULocale.setDefault(save);
+        }
+    }
+
+    /**
+     * Test anchor masking
+     */
+    public void TestAnchorMasking() {
+        String rule = "^a > Q; a > q;";
+        try {
+            Transliterator t = Transliterator.createFromRules("ID", rule, Transliterator.FORWARD);
+            if(t==null){
+                errln("FAIL: Did not get the expected exception");
+            }
+        } catch (IllegalArgumentException e) {
+            errln("FAIL: " + rule + " => " + e);
+        }
+    }
+
+    /**
+     * This test is not in trnstst.cpp. This test has been moved from com/ibm/icu/dev/test/lang/TestUScript.java
+     * during ICU4J modularization to remove dependency of tests on Transliterator.
+     */
+     public void TestScriptAllCodepoints(){
+            int code;
+             String oldId="";
+             String oldAbbrId="";
+            for( int i =0; i <= 0x10ffff; i++){
+                code =UScript.INVALID_CODE;
+                code = UScript.getScript(i);
+                if(code==UScript.INVALID_CODE){
+                    errln("UScript.getScript for codepoint 0x"+ hex(i)+" failed");
+                }
+                 String id =UScript.getName(code);
+                 String abbr = UScript.getShortName(code);
+                 String newId ="[:"+id+":];NFD";
+                 String newAbbrId ="[:"+abbr+":];NFD";
+                 if(!oldId.equals(newId)){
+                     try{
+                         Transliterator t = Transliterator.getInstance(newId);
+                         if(t==null){
+                              errln("Failed to create transliterator for "+hex(i)+
+                              " script code: " +id);
+                         }
+                     }catch(Exception e){
+                         errln("Failed to create transliterator for "+hex(i)
+                                 +" script code: " +id
+                                 + " Exception: "+e.getMessage());
+                     }
+                 }
+                 oldId = newId;
+                 if(!oldAbbrId.equals(newAbbrId)){
+                     try{
+                         Transliterator t = Transliterator.getInstance(newAbbrId);
+                         if(t==null){
+                              errln("Failed to create transliterator for "+hex(i)+
+                              " script code: " +abbr);
+                         }
+                     }catch(Exception e){
+                         errln("Failed to create transliterator for "+hex(i)
+                                 +" script code: " +abbr
+                                 + " Exception: "+e.getMessage());
+                     }
+                 }
+                 oldAbbrId = newAbbrId;
+            }
+    }
+
+
+    static final String[][] registerRules = {
+        {"Any-Dev1", "x > X; y > Y;"},
+        {"Any-Dev2", "XY > Z"},
+        {"Greek-Latin/FAKE",
+            "[^[:L:][:M:]] { \u03bc\u03c0 > b ; "+
+            "\u03bc\u03c0 } [^[:L:][:M:]] > b ; "+
+            "[^[:L:][:M:]] { [\u039c\u03bc][\u03a0\u03c0] > B ; "+
+            "[\u039c\u03bc][\u03a0\u03c0] } [^[:L:][:M:]] > B ;"
+            },
+    };
+
+    static final String DESERET_DEE = UTF16.valueOf(0x10414);
+    static final String DESERET_dee = UTF16.valueOf(0x1043C);
+
+    static final String[][] testCases = {
+
+        // NORMALIZATION
+        // should add more test cases
+        {"NFD" , "a\u0300 \u00E0 \u1100\u1161 \uFF76\uFF9E\u03D3"},
+        {"NFC" , "a\u0300 \u00E0 \u1100\u1161 \uFF76\uFF9E\u03D3"},
+        {"NFKD", "a\u0300 \u00E0 \u1100\u1161 \uFF76\uFF9E\u03D3"},
+        {"NFKC", "a\u0300 \u00E0 \u1100\u1161 \uFF76\uFF9E\u03D3"},
+
+        // mp -> b BUG
+        {"Greek-Latin/UNGEGN", "(\u03BC\u03C0)", "(b)"},
+        {"Greek-Latin/FAKE", "(\u03BC\u03C0)", "(b)"},
+
+        // check for devanagari bug
+        {"nfd;Dev1;Dev2;nfc", "xy", "Z"},
+
+        // ff, i, dotless-i, I, dotted-I, LJLjlj deseret deeDEE
+        {"Title", "ab'cD ffi\u0131I\u0130 \u01C7\u01C8\u01C9 " + DESERET_dee + DESERET_DEE,
+                  "Ab'cd Ffi\u0131ii\u0307 \u01C8\u01C9\u01C9 " + DESERET_DEE + DESERET_dee},
+        //TODO: enable this test once Titlecase works right
+        //{"Title", "\uFB00i\u0131I\u0130 \u01C7\u01C8\u01C9 " + DESERET_dee + DESERET_DEE,
+        //          "Ffi\u0131ii \u01C8\u01C9\u01C9 " + DESERET_DEE + DESERET_dee},
+
+        {"Upper", "ab'cD \uFB00i\u0131I\u0130 \u01C7\u01C8\u01C9 " + DESERET_dee + DESERET_DEE,
+                  "AB'CD FFIII\u0130 \u01C7\u01C7\u01C7 " + DESERET_DEE + DESERET_DEE},
+        {"Lower", "ab'cD \uFB00i\u0131I\u0130 \u01C7\u01C8\u01C9 " + DESERET_dee + DESERET_DEE,
+                  "ab'cd \uFB00i\u0131ii\u0307 \u01C9\u01C9\u01C9 " + DESERET_dee + DESERET_dee},
+
+        {"Upper", "ab'cD \uFB00i\u0131I\u0130 \u01C7\u01C8\u01C9 " + DESERET_dee + DESERET_DEE},
+        {"Lower", "ab'cD \uFB00i\u0131I\u0130 \u01C7\u01C8\u01C9 " + DESERET_dee + DESERET_DEE},
+
+         // FORMS OF S
+        {"Greek-Latin/UNGEGN", "\u03C3 \u03C3\u03C2 \u03C2\u03C3", "s ss s\u0331s\u0331"},
+        {"Latin-Greek/UNGEGN", "s ss s\u0331s\u0331", "\u03C3 \u03C3\u03C2 \u03C2\u03C3"},
+        {"Greek-Latin", "\u03C3 \u03C3\u03C2 \u03C2\u03C3", "s ss s\u0331s\u0331"},
+        {"Latin-Greek", "s ss s\u0331s\u0331", "\u03C3 \u03C3\u03C2 \u03C2\u03C3"},
+
+        // Tatiana bug
+        // Upper: TAT\u02B9\u00C2NA
+        // Lower: tat\u02B9\u00E2na
+        // Title: Tat\u02B9\u00E2na
+        {"Upper", "tat\u02B9\u00E2na", "TAT\u02B9\u00C2NA"},
+        {"Lower", "TAT\u02B9\u00C2NA", "tat\u02B9\u00E2na"},
+        {"Title", "tat\u02B9\u00E2na", "Tat\u02B9\u00E2na"},
+    };
+
+    public void TestSpecialCases() {
+
+        for (int i = 0; i < registerRules.length; ++i) {
+            Transliterator t = Transliterator.createFromRules(registerRules[i][0],
+                registerRules[i][1], Transliterator.FORWARD);
+            DummyFactory.add(registerRules[i][0], t);
+        }
+        for (int i = 0; i < testCases.length; ++i) {
+            String name = testCases[i][0];
+            Transliterator t = Transliterator.getInstance(name);
+            String id = t.getID();
+            String source = testCases[i][1];
+            String target = null;
+
+            // Automatic generation of targets, to make it simpler to add test cases (and more fail-safe)
+
+            if (testCases[i].length > 2)    target = testCases[i][2];
+            else if (id.equalsIgnoreCase("NFD"))    target = com.ibm.icu.text.Normalizer.normalize(source, com.ibm.icu.text.Normalizer.NFD);
+            else if (id.equalsIgnoreCase("NFC"))    target = com.ibm.icu.text.Normalizer.normalize(source, com.ibm.icu.text.Normalizer.NFC);
+            else if (id.equalsIgnoreCase("NFKD"))   target = com.ibm.icu.text.Normalizer.normalize(source, com.ibm.icu.text.Normalizer.NFKD);
+            else if (id.equalsIgnoreCase("NFKC"))   target = com.ibm.icu.text.Normalizer.normalize(source, com.ibm.icu.text.Normalizer.NFKC);
+            else if (id.equalsIgnoreCase("Lower"))  target = UCharacter.toLowerCase(Locale.US, source);
+            else if (id.equalsIgnoreCase("Upper"))  target = UCharacter.toUpperCase(Locale.US, source);
+
+            expect(t, source, target);
+        }
+        for (int i = 0; i < registerRules.length; ++i) {
+            Transliterator.unregister(registerRules[i][0]);
+        }
+    }
+
+    // seems like there should be an easier way to just register an instance of a transliterator
+
+    static class DummyFactory implements Transliterator.Factory {
+        static DummyFactory singleton = new DummyFactory();
+        static HashMap m = new HashMap();
+
+        // Since Transliterators are immutable, we don't have to clone on set & get
+        static void add(String ID, Transliterator t) {
+            m.put(ID, t);
+            //System.out.println("Registering: " + ID + ", " + t.toRules(true));
+            Transliterator.registerFactory(ID, singleton);
+        }
+        public Transliterator getInstance(String ID) {
+            return (Transliterator) m.get(ID);
+        }
+    }
+
+    public void TestSurrogateCasing () {
+        // check that casing handles surrogates
+        // titlecase is currently defective
+        int dee = UTF16.charAt(DESERET_dee,0);
+        int DEE = UCharacter.toTitleCase(dee);
+        if (!UTF16.valueOf(DEE).equals(DESERET_DEE)) {
+            errln("Fails titlecase of surrogates" + Integer.toString(dee,16) + ", " + Integer.toString(DEE,16));
+        }
+
+        if (!UCharacter.toUpperCase(DESERET_dee + DESERET_DEE).equals(DESERET_DEE + DESERET_DEE)) {
+            errln("Fails uppercase of surrogates");
+        }
+
+        if (!UCharacter.toLowerCase(DESERET_dee + DESERET_DEE).equals(DESERET_dee + DESERET_dee)) {
+            errln("Fails lowercase of surrogates");
+        }
+    }
+
+    // Check to see that incremental gets at least part way through a reasonable string.
+
+    public void TestIncrementalProgress() {
+        String latinTest = "The Quick Brown Fox.";
+        String devaTest = Transliterator.getInstance("Latin-Devanagari").transliterate(latinTest);
+        String kataTest = Transliterator.getInstance("Latin-Katakana").transliterate(latinTest);
+        String[][] tests = {
+            {"Any", latinTest},
+            {"Latin", latinTest},
+            {"Halfwidth", latinTest},
+            {"Devanagari", devaTest},
+            {"Katakana", kataTest},
+        };
+
+        Enumeration sources = Transliterator.getAvailableSources();
+        while(sources.hasMoreElements()) {
+            String source = (String) sources.nextElement();
+            String test = findMatch(source, tests);
+            if (test == null) {
+                logln("Skipping " + source + "-X");
+                continue;
+            }
+            Enumeration targets = Transliterator.getAvailableTargets(source);
+            while(targets.hasMoreElements()) {
+                String target = (String) targets.nextElement();
+                Enumeration variants = Transliterator.getAvailableVariants(source, target);
+                while(variants.hasMoreElements()) {
+                    String variant = (String) variants.nextElement();
+                    String id = source + "-" + target + "/" + variant;
+                    logln("id: " + id);
+
+                    String filter = getTranslitTestFilter();
+                    if (filter != null && id.indexOf(filter) < 0) continue;
+
+                    Transliterator t = Transliterator.getInstance(id);
+                    CheckIncrementalAux(t, test);
+
+                    String rev = t.transliterate(test);
+                    Transliterator inv = t.getInverse();
+                    CheckIncrementalAux(inv, rev);
+                }
+            }
+        }
+    }
+
+    public String findMatch (String source, String[][] pairs) {
+        for (int i = 0; i < pairs.length; ++i) {
+            if (source.equalsIgnoreCase(pairs[i][0])) return pairs[i][1];
+        }
+        return null;
+    }
+
+    public void CheckIncrementalAux(Transliterator t, String input) {
+
+        Replaceable test = new ReplaceableString(input);
+        Transliterator.Position pos = new Transliterator.Position(0, test.length(), 0, test.length());
+        t.transliterate(test, pos);
+        boolean gotError = false;
+
+        // we have a few special cases. Any-Remove (pos.start = 0, but also = limit) and U+XXXXX?X?
+
+        if (pos.start == 0 && pos.limit != 0 && !t.getID().equals("Hex-Any/Unicode")) {
+            errln("No Progress, " + t.getID() + ": " + UtilityExtensions.formatInput(test, pos));
+            gotError = true;
+        } else {
+            logln("PASS Progress, " + t.getID() + ": " + UtilityExtensions.formatInput(test, pos));
+        }
+        t.finishTransliteration(test, pos);
+        if (pos.start != pos.limit) {
+            errln("Incomplete, " + t.getID() + ":  " + UtilityExtensions.formatInput(test, pos));
+            gotError = true;
+        }
+        if(!gotError){
+            //errln("FAIL: Did not get expected error");
+        }
+    }
+
+    public void TestFunction() {
+        // Careful with spacing and ';' here:  Phrase this exactly
+        // as toRules() is going to return it.  If toRules() changes
+        // with regard to spacing or ';', then adjust this string.
+        String rule =
+            "([:Lu:]) > $1 '(' &Lower( $1 ) '=' &Hex( &Any-Lower( $1 ) ) ')';";
+
+        Transliterator t = Transliterator.createFromRules("Test", rule, Transliterator.FORWARD);
+        if (t == null) {
+            errln("FAIL: createFromRules failed");
+            return;
+        }
+
+        String r = t.toRules(true);
+        if (r.equals(rule)) {
+            logln("OK: toRules() => " + r);
+        } else {
+            errln("FAIL: toRules() => " + r +
+                  ", expected " + rule);
+        }
+
+        expect(t, "The Quick Brown Fox",
+               "T(t=\\u0074)he Q(q=\\u0071)uick B(b=\\u0062)rown F(f=\\u0066)ox");
+        rule =
+            "([^\\ -\\u007F]) > &Hex/Unicode( $1 ) ' ' &Name( $1 ) ;";
+
+        t = Transliterator.createFromRules("Test", rule, Transliterator.FORWARD);
+        if (t == null) {
+            errln("FAIL: createFromRules failed");
+            return;
+        }
+
+        r = t.toRules(true);
+        if (r.equals(rule)) {
+            logln("OK: toRules() => " + r);
+        } else {
+            errln("FAIL: toRules() => " + r +
+                  ", expected " + rule);
+        }
+
+        expect(t, "\u0301",
+               "U+0301 \\N{COMBINING ACUTE ACCENT}");
+    }
+
+    public void TestInvalidBackRef() {
+        String rule =  ". > $1;";
+        String rule2 ="(.) <> &hex/unicode($1) &name($1); . > $1; [{}] >\u0020;";
+        try {
+            Transliterator t = Transliterator.createFromRules("Test", rule, Transliterator.FORWARD);
+            if (t != null) {
+                errln("FAIL: createFromRules should have returned NULL");
+            }
+            errln("FAIL: Ok: . > $1; => no error");
+            Transliterator t2= Transliterator.createFromRules("Test2", rule2, Transliterator.FORWARD);
+            if (t2 != null) {
+                errln("FAIL: createFromRules should have returned NULL");
+            }
+            errln("FAIL: Ok: . > $1; => no error");
+        } catch (IllegalArgumentException e) {
+             logln("Ok: . > $1; => " + e.getMessage());
+        }
+    }
+
+    public void TestMulticharStringSet() {
+        // Basic testing
+        String rule =
+            "       [{aa}]       > x;" +
+            "         a          > y;" +
+            "       [b{bc}]      > z;" +
+            "[{gd}] { e          > q;" +
+            "         e } [{fg}] > r;" ;
+
+        Transliterator t = Transliterator.createFromRules("Test", rule, Transliterator.FORWARD);
+        if (t == null) {
+            errln("FAIL: createFromRules failed");
+            return;
+        }
+
+        expect(t, "a aa ab bc d gd de gde gdefg ddefg",
+                  "y x yz z d gd de gdq gdqfg ddrfg");
+
+        // Overlapped string test.  Make sure that when multiple
+        // strings can match that the longest one is matched.
+        rule =
+            "    [a {ab} {abc}]    > x;" +
+            "           b          > y;" +
+            "           c          > z;" +
+            " q [t {st} {rst}] { e > p;" ;
+
+        t = Transliterator.createFromRules("Test", rule, Transliterator.FORWARD);
+        if (t == null) {
+            errln("FAIL: createFromRules failed");
+            return;
+        }
+
+        expect(t, "a ab abc qte qste qrste",
+                  "x x x qtp qstp qrstp");
+    }
+
+    /**
+     * Test that user-registered transliterators can be used under function
+     * syntax.
+     */
+    public void TestUserFunction() {
+        Transliterator t;
+
+        // There's no need to register inverses if we don't use them
+        TestUserFunctionFactory.add("Any-gif",
+            Transliterator.createFromRules("gif",
+                "'\\'u(..)(..) > '<img src=\"http://www.unicode.org/gifs/24/' $1 '/U' $1$2 '.gif\">';",
+                Transliterator.FORWARD));
+        //TestUserFunctionFactory.add("gif-Any", Transliterator.getInstance("Any-Null"));
+
+        TestUserFunctionFactory.add("Any-RemoveCurly",
+            Transliterator.createFromRules("RemoveCurly", "[\\{\\}] > ; \\\\N > ;", Transliterator.FORWARD));
+        //TestUserFunctionFactory.add("RemoveCurly-Any", Transliterator.getInstance("Any-Null"));
+
+        logln("Trying &hex");
+        t = Transliterator.createFromRules("hex2", "(.) > &hex($1);", Transliterator.FORWARD);
+        logln("Registering");
+        TestUserFunctionFactory.add("Any-hex2", t);
+        t = Transliterator.getInstance("Any-hex2");
+        expect(t, "abc", "\\u0061\\u0062\\u0063");
+
+        logln("Trying &gif");
+        t = Transliterator.createFromRules("gif2", "(.) > &Gif(&Hex2($1));", Transliterator.FORWARD);
+        logln("Registering");
+        TestUserFunctionFactory.add("Any-gif2", t);
+        t = Transliterator.getInstance("Any-gif2");
+        expect(t, "ab", "<img src=\"http://www.unicode.org/gifs/24/00/U0061.gif\">" +
+               "<img src=\"http://www.unicode.org/gifs/24/00/U0062.gif\">");
+
+        // Test that filters are allowed after &
+        t = Transliterator.createFromRules("test",
+                "(.) > &Hex($1) ' ' &Any-RemoveCurly(&Name($1)) ' ';", Transliterator.FORWARD);
+        expect(t, "abc", "\\u0061 LATIN SMALL LETTER A \\u0062 LATIN SMALL LETTER B \\u0063 LATIN SMALL LETTER C ");
+
+        // Unregister our test stuff
+        TestUserFunctionFactory.unregister();
+    }
+
+    static class TestUserFunctionFactory implements Transliterator.Factory {
+        static TestUserFunctionFactory singleton = new TestUserFunctionFactory();
+        static HashMap m = new HashMap();
+
+        static void add(String ID, Transliterator t) {
+            m.put(new CaseInsensitiveString(ID), t);
+            Transliterator.registerFactory(ID, singleton);
+        }
+
+        public Transliterator getInstance(String ID) {
+            return (Transliterator) m.get(new CaseInsensitiveString(ID));
+        }
+
+        static void unregister() {
+            Iterator ids = m.keySet().iterator();
+            while (ids.hasNext()) {
+                CaseInsensitiveString id = (CaseInsensitiveString) ids.next();
+                Transliterator.unregister(id.getString());
+                ids.remove(); // removes pair from m
+            }
+        }
+    }
+
+    /**
+     * Test the Any-X transliterators.
+     */
+    public void TestAnyX() {
+        Transliterator anyLatin =
+            Transliterator.getInstance("Any-Latin", Transliterator.FORWARD);
+
+        expect(anyLatin,
+               "greek:\u03B1\u03B2\u03BA\u0391\u0392\u039A hiragana:\u3042\u3076\u304F cyrillic:\u0430\u0431\u0446",
+               "greek:abkABK hiragana:abuku cyrillic:abc");
+    }
+
+    /**
+     * Test the source and target set API.  These are only implemented
+     * for RBT and CompoundTransliterator at this time.
+     */
+    public void TestSourceTargetSet() {
+        // Rules
+        String r =
+            "a > b; " +
+            "r [x{lu}] > q;";
+
+        // Expected source
+        UnicodeSet expSrc = new UnicodeSet("[arx{lu}]");
+
+        // Expected target
+        UnicodeSet expTrg = new UnicodeSet("[bq]");
+
+        Transliterator t = Transliterator.createFromRules("test", r, Transliterator.FORWARD);
+        UnicodeSet src = t.getSourceSet();
+        UnicodeSet trg = t.getTargetSet();
+
+        if (src.equals(expSrc) && trg.equals(expTrg)) {
+            logln("Ok: " + r + " => source = " + src.toPattern(true) +
+                  ", target = " + trg.toPattern(true));
+        } else {
+            errln("FAIL: " + r + " => source = " + src.toPattern(true) +
+                  ", expected " + expSrc.toPattern(true) +
+                  "; target = " + trg.toPattern(true) +
+                  ", expected " + expTrg.toPattern(true));
+        }
+    }
+
+    /**
+     * Test handling of rule whitespace, for both RBT and UnicodeSet.
+     */
+    public void TestRuleWhitespace() {
+        // Rules
+        String r = "a > \u200E b;";
+
+        Transliterator t = Transliterator.createFromRules("test", r, Transliterator.FORWARD);
+
+        expect(t, "a", "b");
+
+        // UnicodeSet
+        UnicodeSet set = new UnicodeSet("[a \u200E]");
+
+        if (set.contains(0x200E)) {
+            errln("FAIL: U+200E not being ignored by UnicodeSet");
+        }
+    }
+
+    public void TestAlternateSyntax() {
+        // U+2206 == &
+        // U+2190 == <
+        // U+2192 == >
+        // U+2194 == <>
+        expect("a \u2192 x; b \u2190 y; c \u2194 z",
+               "abc",
+               "xbz");
+        expect("([:^ASCII:]) \u2192 \u2206Name($1);",
+               "<=\u2190; >=\u2192; <>=\u2194; &=\u2206",
+               "<=\\N{LEFTWARDS ARROW}; >=\\N{RIGHTWARDS ARROW}; <>=\\N{LEFT RIGHT ARROW}; &=\\N{INCREMENT}");
+    }
+
+    public void TestPositionAPI() {
+        Transliterator.Position a = new Transliterator.Position(3,5,7,11);
+        Transliterator.Position b = new Transliterator.Position(a);
+        Transliterator.Position c = new Transliterator.Position();
+        c.set(a);
+        // Call the toString() API:
+        if (a.equals(b) && a.equals(c)) {
+            logln("Ok: " + a + " == " + b + " == " + c);
+        } else {
+            errln("FAIL: " + a + " != " + b + " != " + c);
+        }
+    }
+    
+    //======================================================================
+    // New tests for the ::BEGIN/::END syntax
+    //======================================================================
+
+    private static final String[] BEGIN_END_RULES = new String[] {
+        // [0]
+        "abc > xy;"
+        + "aba > z;",
+
+        // [1]
+/*
+        "::BEGIN;"
+        + "abc > xy;"
+        + "::END;"
+        + "::BEGIN;"
+        + "aba > z;"
+        + "::END;",
+*/
+        "", // test case commented out below, this is here to keep from messing up the indexes
+
+        // [2]
+/*
+        "abc > xy;"
+        + "::BEGIN;"
+        + "aba > z;"
+        + "::END;",
+*/
+        "", // test case commented out below, this is here to keep from messing up the indexes
+
+        // [3]
+/*
+        "::BEGIN;"
+        + "abc > xy;"
+        + "::END;"
+        + "aba > z;",
+*/
+        "", // test case commented out below, this is here to keep from messing up the indexes
+
+        // [4]
+        "abc > xy;"
+        + "::Null;"
+        + "aba > z;",
+
+        // [5]
+        "::Upper;"
+        + "ABC > xy;"
+        + "AB > x;"
+        + "C > z;"
+        + "::Upper;"
+        + "XYZ > p;"
+        + "XY > q;"
+        + "Z > r;"
+        + "::Upper;",
+
+        // [6]
+        "$ws = [[:Separator:][\\u0009-\\u000C]$];"
+        + "$delim = [\\-$ws];"
+        + "$ws $delim* > ' ';"
+        + "'-' $delim* > '-';",
+
+        // [7]
+        "::Null;"
+        + "$ws = [[:Separator:][\\u0009-\\u000C]$];"
+        + "$delim = [\\-$ws];"
+        + "$ws $delim* > ' ';"
+        + "'-' $delim* > '-';",
+
+        // [8]
+        "$ws = [[:Separator:][\\u0009-\\u000C]$];"
+        + "$delim = [\\-$ws];"
+        + "$ws $delim* > ' ';"
+        + "'-' $delim* > '-';"
+        + "::Null;",
+
+        // [9]
+        "$ws = [[:Separator:][\\u0009-\\u000C]$];"
+        + "$delim = [\\-$ws];"
+        + "::Null;"
+        + "$ws $delim* > ' ';"
+        + "'-' $delim* > '-';",
+
+        // [10]
+/*
+        "::BEGIN;"
+        + "$ws = [[:Separator:][\\u0009-\\u000C]$];"
+        + "$delim = [\\-$ws];"
+        + "::END;"
+        + "$ws $delim* > ' ';"
+        + "'-' $delim* > '-';",
+*/
+        "", // test case commented out below, this is here to keep from messing up the indexes
+
+        // [11]
+/*
+        "$ws = [[:Separator:][\\u0009-\\u000C]$];"
+        + "$delim = [\\-$ws];"
+        + "::BEGIN;"
+        + "$ws $delim* > ' ';"
+        + "'-' $delim* > '-';"
+        + "::END;",
+*/
+        "", // test case commented out below, this is here to keep from messing up the indexes
+
+        // [12]
+/*
+        "$ws = [[:Separator:][\\u0009-\\u000C]$];"
+        + "$delim = [\\-$ws];"
+        + "$ab = [ab];"
+        + "::BEGIN;"
+        + "$ws $delim* > ' ';"
+        + "'-' $delim* > '-';"
+        + "::END;"
+        + "::BEGIN;"
+        + "$ab { ' ' } $ab > '-';"
+        + "c { ' ' > ;"
+        + "::END;"
+        + "::BEGIN;"
+        + "'a-a' > a\\%|a;"
+        + "::END;",
+*/
+        "", // test case commented out below, this is here to keep from messing up the indexes
+
+        // [13]
+        "$ws = [[:Separator:][\\u0009-\\u000C]$];"
+        + "$delim = [\\-$ws];"
+        + "$ab = [ab];"
+        + "::Null;"
+        + "$ws $delim* > ' ';"
+        + "'-' $delim* > '-';"
+        + "::Null;"
+        + "$ab { ' ' } $ab > '-';"
+        + "c { ' ' > ;"
+        + "::Null;"
+        + "'a-a' > a\\%|a;",
+
+        // [14]
+/*
+        "::[abc];"
+        + "::BEGIN;"
+        + "abc > xy;"
+        + "::END;"
+        + "::BEGIN;"
+        + "aba > yz;"
+        + "::END;"
+        + "::Upper;",
+*/
+        "", // test case commented out below, this is here to keep from messing up the indexes
+
+        // [15]
+        "::[abc];"
+        + "abc > xy;"
+        + "::Null;"
+        + "aba > yz;"
+        + "::Upper;",
+
+        // [16]
+/*
+        "::[abc];"
+        + "::BEGIN;"
+        + "abc <> xy;"
+        + "::END;"
+        + "::BEGIN;"
+        + "aba <> yz;"
+        + "::END;"
+        + "::Upper(Lower);"
+        + "::([XYZ]);",
+*/
+        "", // test case commented out below, this is here to keep from messing up the indexes
+
+        // [17]
+        "::[abc];"
+        + "abc <> xy;"
+        + "::Null;"
+        + "aba <> yz;"
+        + "::Upper(Lower);"
+        + "::([XYZ]);"
+    };
+
+/*
+(This entire test is commented out below and will need some heavy revision when we re-add
+the ::BEGIN/::END stuff)
+    private static final String[] BOGUS_BEGIN_END_RULES = new String[] {
+        // [7]
+        "::BEGIN;"
+        + "abc > xy;"
+        + "::BEGIN;"
+        + "aba > z;"
+        + "::END;"
+        + "::END;",
+
+        // [8]
+        "abc > xy;"
+        + " aba > z;"
+        + "::END;",
+
+        // [9]
+        "::BEGIN;"
+        + "::Upper;"
+        + "::END;"
+    };
+*/
+
+    private static final String[] BEGIN_END_TEST_CASES = new String[] {
+        BEGIN_END_RULES[0], "abc ababc aba", "xy zbc z",
+//        BEGIN_END_RULES[1], "abc ababc aba", "xy abxy z",
+//        BEGIN_END_RULES[2], "abc ababc aba", "xy abxy z",
+//        BEGIN_END_RULES[3], "abc ababc aba", "xy abxy z",
+        BEGIN_END_RULES[4], "abc ababc aba", "xy abxy z",
+        BEGIN_END_RULES[5], "abccabaacababcbc", "PXAARXQBR",
+
+        BEGIN_END_RULES[6], "e   e - e---e-  e", "e e e-e-e",
+        BEGIN_END_RULES[7], "e   e - e---e-  e", "e e e-e-e",
+        BEGIN_END_RULES[8], "e   e - e---e-  e", "e e e-e-e",
+        BEGIN_END_RULES[9], "e   e - e---e-  e", "e e e-e-e",
+//        BEGIN_END_RULES[10], "e   e - e---e-  e", "e e e-e-e",
+//        BEGIN_END_RULES[11], "e   e - e---e-  e", "e e e-e-e",
+//        BEGIN_END_RULES[12], "e   e - e---e-  e", "e e e-e-e",
+//        BEGIN_END_RULES[12], "a    a    a    a", "a%a%a%a",
+//        BEGIN_END_RULES[12], "a a-b c b a", "a%a-b cb-a",
+        BEGIN_END_RULES[13], "e   e - e---e-  e", "e e e-e-e",
+        BEGIN_END_RULES[13], "a    a    a    a", "a%a%a%a",
+        BEGIN_END_RULES[13], "a a-b c b a", "a%a-b cb-a",
+
+//        BEGIN_END_RULES[14], "abc xy ababc xyz aba", "XY xy ABXY xyz YZ",
+        BEGIN_END_RULES[15], "abc xy ababc xyz aba", "XY xy ABXY xyz YZ",
+//        BEGIN_END_RULES[16], "abc xy ababc xyz aba", "XY xy ABXY xyz YZ",
+        BEGIN_END_RULES[17], "abc xy ababc xyz aba", "XY xy ABXY xyz YZ"
+    };
+
+    public void TestBeginEnd() {
+        // run through the list of test cases above
+        for (int i = 0; i < BEGIN_END_TEST_CASES.length; i += 3) {
+            expect(BEGIN_END_TEST_CASES[i], BEGIN_END_TEST_CASES[i + 1], BEGIN_END_TEST_CASES[i + 2]);
+        }
+
+        // instantiate the one reversible rule set in the reverse direction and make sure it does the right thing
+        Transliterator reversed  = Transliterator.createFromRules("Reversed", BEGIN_END_RULES[17],
+                Transliterator.REVERSE);
+        expect(reversed, "xy XY XYZ yz YZ", "xy abc xaba yz aba");
+
+        // finally, run through the list of syntactically-ill-formed rule sets above and make sure
+        // that all of them cause errors
+/*
+(commented out until we have the real ::BEGIN/::END stuff in place
+        for (int i = 0; i < BOGUS_BEGIN_END_RULES.length; i++) {
+            try {
+                Transliterator t = Transliterator.createFromRules("foo", BOGUS_BEGIN_END_RULES[i],
+                        Transliterator.FORWARD);
+                errln("Should have gotten syntax error from " + BOGUS_BEGIN_END_RULES[i]);
+            }
+            catch (IllegalArgumentException e) {
+                // this is supposed to happen; do nothing here
+            }
+        }
+*/
+    }
+
+    public void TestBeginEndToRules() {
+        // run through the same list of test cases we used above, but this time, instead of just
+        // instantiating a Transliterator from the rules and running the test against it, we instantiate
+        // a Transliterator from the rules, do toRules() on it, instantiate a Transliterator from
+        // the resulting set of rules, and make sure that the generated rule set is semantically equivalent
+        // to (i.e., does the same thing as) the original rule set
+        for (int i = 0; i < BEGIN_END_TEST_CASES.length; i += 3) {
+            Transliterator t = Transliterator.createFromRules("--", BEGIN_END_TEST_CASES[i],
+                    Transliterator.FORWARD);
+            String rules = t.toRules(false);
+            Transliterator t2 = Transliterator.createFromRules("Test case #" + (i / 3), rules, Transliterator.FORWARD);
+            expect(t2, BEGIN_END_TEST_CASES[i + 1], BEGIN_END_TEST_CASES[i + 2]);
+        }
+
+        // do the same thing for the reversible test case
+        Transliterator reversed = Transliterator.createFromRules("Reversed", BEGIN_END_RULES[17],
+                Transliterator.REVERSE);
+        String rules = reversed.toRules(false);
+        Transliterator reversed2 = Transliterator.createFromRules("Reversed", rules, Transliterator.FORWARD);
+        expect(reversed2, "xy XY XYZ yz YZ", "xy abc xaba yz aba");
+    }
+
+    //======================================================================
+    // These tests are not mirrored (yet) in icu4c at
+    // source/test/intltest/transtst.cpp
+    //======================================================================
+
+    /**
+     * Improve code coverage.
+     */
+    public void TestCoverage() {
+        // NullTransliterator
+        Transliterator t = Transliterator.getInstance("Null", Transliterator.FORWARD);
+        expect(t, "a", "a");
+
+        // Source, target set
+        t = Transliterator.getInstance("Latin-Greek", Transliterator.FORWARD);
+        t.setFilter(new UnicodeSet("[A-Z]"));
+        logln("source = " + t.getSourceSet());
+        logln("target = " + t.getTargetSet());
+
+        t = Transliterator.createFromRules("x", "(.) > &Any-Hex($1);", Transliterator.FORWARD);
+        logln("source = " + t.getSourceSet());
+        logln("target = " + t.getTargetSet());
+    }
+
+    //======================================================================
+    // Support methods
+    //======================================================================
+    void expect(String rules,
+                String source,
+                String expectedResult,
+                Transliterator.Position pos) {
+        Transliterator t = Transliterator.createFromRules("<ID>", rules, Transliterator.FORWARD);
+        expect(t, source, expectedResult, pos);
+    }
+
+    void expect(String rules, String source, String expectedResult) {
+        expect(rules, source, expectedResult, null);
+    }
+
+    void expect(Transliterator t, String source, String expectedResult,
+                Transliterator reverseTransliterator) {
+        expect(t, source, expectedResult);
+        if (reverseTransliterator != null) {
+            expect(reverseTransliterator, expectedResult, source);
+        }
+    }
+
+    void expect(Transliterator t, String source, String expectedResult) {
+        expect(t, source, expectedResult, (Transliterator.Position) null);
+    }
+
+    void expect(Transliterator t, String source, String expectedResult,
+                Transliterator.Position pos) {
+        if (pos == null) {
+            String result = t.transliterate(source);
+            if (!expectAux(t.getID() + ":String", source, result, expectedResult)) return;
+        }
+
+        Transliterator.Position index = null;
+        if (pos == null) {
+            index = new Transliterator.Position(0, source.length(), 0, source.length());
+        } else {
+            index = new Transliterator.Position(pos.contextStart, pos.contextLimit,
+                                                pos.start, pos.limit);
+        }
+
+        ReplaceableString rsource = new ReplaceableString(source);
+
+        t.finishTransliteration(rsource, index);
+        // Do it all at once -- below we do it incrementally
+
+        if (index.start != index.limit) {
+            expectAux(t.getID() + ":UNFINISHED", source,
+                "start: " + index.start + ", limit: " + index.limit, false, expectedResult);
+            return;
+        }
+        String result = rsource.toString();
+        if (!expectAux(t.getID() + ":Replaceable", source, result, expectedResult)) return;
+
+
+        if (pos == null) {
+            index = new Transliterator.Position();
+        } else {
+            index = new Transliterator.Position(pos.contextStart, pos.contextLimit,
+                                                pos.start, pos.limit);
+        }
+
+        // Test incremental transliteration -- this result
+        // must be the same after we finalize (see below).
+        Vector v = new Vector();
+        v.add(source);
+        rsource.replace(0, rsource.length(), "");
+        if (pos != null) {
+            rsource.replace(0, 0, source);
+            v.add(UtilityExtensions.formatInput(rsource, index));
+            t.transliterate(rsource, index);
+            v.add(UtilityExtensions.formatInput(rsource, index));
+        } else {
+            for (int i=0; i<source.length(); ++i) {
+                //v.add(i == 0 ? "" : " + " + source.charAt(i) + "");
+                //log.append(source.charAt(i)).append(" -> "));
+                t.transliterate(rsource, index, source.charAt(i));
+                //v.add(UtilityExtensions.formatInput(rsource, index) + source.substring(i+1));
+                v.add(UtilityExtensions.formatInput(rsource, index) +
+                      ((i<source.length()-1)?(" + '" + source.charAt(i+1) + "' ->"):" =>"));
+            }
+        }
+
+        // As a final step in keyboard transliteration, we must call
+        // transliterate to finish off any pending partial matches that
+        // were waiting for more input.
+        t.finishTransliteration(rsource, index);
+        result = rsource.toString();
+        //log.append(" => ").append(rsource.toString());
+        v.add(result);
+
+        String[] results = new String[v.size()];
+        v.copyInto(results);
+        expectAux(t.getID() + ":Incremental", results,
+                  result.equals(expectedResult),
+                  expectedResult);
+    }
+
+    boolean expectAux(String tag, String source,
+                   String result, String expectedResult) {
+        return expectAux(tag, new String[] {source, result},
+                  result.equals(expectedResult),
+                  expectedResult);
+    }
+
+    boolean expectAux(String tag, String source,
+                   String result, boolean pass,
+                   String expectedResult) {
+        return expectAux(tag, new String[] {source, result},
+                  pass,
+                  expectedResult);
+    }
+
+    boolean expectAux(String tag, String source,
+                   boolean pass,
+                   String expectedResult) {
+        return expectAux(tag, new String[] {source},
+                  pass,
+                  expectedResult);
+    }
+
+    boolean expectAux(String tag, String[] results, boolean pass,
+                   String expectedResult) {
+        msg((pass?"(":"FAIL: (")+tag+")", pass ? LOG : ERR, true, true);
+
+        for (int i = 0; i < results.length; ++i) {
+            String label;
+            if (i == 0) {
+                label = "source:   ";
+            } else if (i == results.length - 1) {
+                label = "result:   ";
+            } else {
+                if (!isVerbose() && pass) continue;
+                label = "interm" + i + ":  ";
+            }
+            msg("    " + label + results[i], pass ? LOG : ERR, false, true);
+        }
+
+        if (!pass) {
+            msg(  "    expected: " + expectedResult, ERR, false, true);
+        }
+
+        return pass;
+    }
+}
+
+
diff --git a/src/com/ibm/icu/dev/test/translit/UnicodeSetTest.java b/src/com/ibm/icu/dev/test/translit/UnicodeSetTest.java
new file mode 100755
index 0000000..3256551
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/translit/UnicodeSetTest.java
@@ -0,0 +1,1750 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.test.translit;
+import com.ibm.icu.lang.*;
+import com.ibm.icu.lang.UCharacterEnums.ECharacterCategory;
+import com.ibm.icu.text.*;
+import com.ibm.icu.dev.test.*;
+import com.ibm.icu.impl.Utility;
+import com.ibm.icu.impl.SortedSetRelation;
+import java.util.*;
+import java.text.ParsePosition;
+
+/**
+ * @test
+ * @summary General test of UnicodeSet
+ */
+public class UnicodeSetTest extends TestFmwk {
+
+    static final String NOT = "%%%%";
+
+    public static void main(String[] args) throws Exception {
+        new UnicodeSetTest().run(args);
+    }
+
+    /**
+     * Test toPattern().
+     */
+    public void TestToPattern() throws Exception {
+        // Test that toPattern() round trips with syntax characters
+        // and whitespace.
+        for (int i = 0; i < OTHER_TOPATTERN_TESTS.length; ++i) {
+            checkPat(OTHER_TOPATTERN_TESTS[i], new UnicodeSet(OTHER_TOPATTERN_TESTS[i]));
+        }
+        for (int i = 0; i <= 0x10FFFF; ++i) {
+            if ((i <= 0xFF && !UCharacter.isLetter(i)) || UCharacter.isWhitespace(i)) {
+                // check various combinations to make sure they all work.
+                if (i != 0 && !toPatternAux(i, i)) continue;
+                if (!toPatternAux(0, i)) continue;
+                if (!toPatternAux(i, 0xFFFF)) continue;
+            }
+        } 
+
+        // Test pattern behavior of multicharacter strings.
+        UnicodeSet s = new UnicodeSet("[a-z {aa} {ab}]");
+        expectToPattern(s, "[a-z{aa}{ab}]",
+                        new String[] {"aa", "ab", NOT, "ac"});
+        s.add("ac");
+        expectToPattern(s, "[a-z{aa}{ab}{ac}]",
+                        new String[] {"aa", "ab", "ac", NOT, "xy"});
+
+        s.applyPattern("[a-z {\\{l} {r\\}}]");
+        expectToPattern(s, "[a-z{r\\}}{\\{l}]",
+                        new String[] {"{l", "r}", NOT, "xy"});
+        s.add("[]");
+        expectToPattern(s, "[a-z{\\[\\]}{r\\}}{\\{l}]",
+                        new String[] {"{l", "r}", "[]", NOT, "xy"});
+
+        s.applyPattern("[a-z {\u4E01\u4E02}{\\n\\r}]");
+        expectToPattern(s, "[a-z{\\u000A\\u000D}{\\u4E01\\u4E02}]",
+                        new String[] {"\u4E01\u4E02", "\n\r"});
+
+        s.clear();
+        s.add("abc");
+        s.add("abc");
+        expectToPattern(s, "[{abc}]",
+                        new String[] {"abc", NOT, "ab"});
+
+        // JB#3400: For 2 character ranges prefer [ab] to [a-b]
+        s.clear(); 
+        s.add('a', 'b');
+        expectToPattern(s, "[ab]", null);
+        
+        // Cover applyPattern, applyPropertyAlias
+        s.clear();
+        s.applyPattern("[ab ]", true);
+        expectToPattern(s, "[ab]", new String[] {"a", NOT, "ab"});
+        s.clear();
+        s.applyPattern("[ab ]", false);
+        expectToPattern(s, "[\\\u0020ab]", new String[] {"a", "\u0020", NOT, "ab"});
+        
+        s.clear();
+        s.applyPropertyAlias("nv", "0.5");
+        expectToPattern(s, "[\\u00BD\\u0F2A\\u2CFD\\U00010141\\U00010175\\U00010176]", null);
+        // Unicode 4.1 adds \u2CFD\U00010141\U00010175\U00010176 with numeric value 1/2
+
+        s.clear();
+        s.applyPropertyAlias("gc", "Lu");
+        // TODO expectToPattern(s, what?)
+    }
+
+    static String[] OTHER_TOPATTERN_TESTS = {
+                "[[:latin:]&[:greek:]]", 
+                "[[:latin:]-[:greek:]]",
+                "[:nonspacing mark:]"
+    };
+    
+    
+    public boolean toPatternAux(int start, int end) {
+        // use Integer.toString because Utility.hex doesn't handle ints
+        String source = "0x" + Integer.toString(start,16).toUpperCase();
+        if (start != end) source += "..0x" + Integer.toString(end,16).toUpperCase();
+        UnicodeSet testSet = new UnicodeSet();
+        testSet.add(start, end);
+        return checkPat(source, testSet);
+    }
+    
+    boolean checkPat (String source, UnicodeSet testSet) {
+        String pat = "";
+        try {
+            // What we want to make sure of is that a pattern generated
+            // by toPattern(), with or without escaped unprintables, can
+            // be passed back into the UnicodeSet constructor.
+            String pat0 = testSet.toPattern(true);
+            if (!checkPat(source + " (escaped)", testSet, pat0)) return false;
+            
+            //String pat1 = unescapeLeniently(pat0);
+            //if (!checkPat(source + " (in code)", testSet, pat1)) return false;
+            
+            String pat2 = testSet.toPattern(false);
+            if (!checkPat(source, testSet, pat2)) return false;
+            
+            //String pat3 = unescapeLeniently(pat2);
+            //if (!checkPat(source + " (in code)", testSet, pat3)) return false;
+            
+            //logln(source + " => " + pat0 + ", " + pat1 + ", " + pat2 + ", " + pat3);
+            logln(source + " => " + pat0 + ", " + pat2);
+        } catch (Exception e) {
+            errln("EXCEPTION in toPattern: " + source + " => " + pat);
+            return false;
+        }
+        return true;
+    }
+    
+    boolean checkPat (String source, UnicodeSet testSet, String pat) {
+        UnicodeSet testSet2 = new UnicodeSet(pat);
+        if (!testSet2.equals(testSet)) {
+            errln("Fail toPattern: " + source + "; " + pat + " => " +
+                  testSet2.toPattern(false) + ", expected " +
+                  testSet.toPattern(false));
+            return false;
+        }
+        return true;
+    }
+    
+    
+    // NOTE: copied the following from Utility. There ought to be a version in there with a flag
+    // that does the Java stuff
+    
+    public static int unescapeAt(String s, int[] offset16) {
+        int c;
+        int result = 0;
+        int n = 0;
+        int minDig = 0;
+        int maxDig = 0;
+        int bitsPerDigit = 4;
+        int dig;
+        int i;
+
+        /* Check that offset is in range */
+        int offset = offset16[0];
+        int length = s.length();
+        if (offset < 0 || offset >= length) {
+            return -1;
+        }
+
+        /* Fetch first UChar after '\\' */
+        c = UTF16.charAt(s, offset);
+        offset += UTF16.getCharCount(c);
+
+        /* Convert hexadecimal and octal escapes */
+        switch (c) {
+        case 'u':
+            minDig = maxDig = 4;
+            break;
+        /*
+        case 'U':
+            minDig = maxDig = 8;
+            break;
+        case 'x':
+            minDig = 1;
+            maxDig = 2;
+            break;
+        */
+        default:
+            dig = UCharacter.digit(c, 8);
+            if (dig >= 0) {
+                minDig = 1;
+                maxDig = 3;
+                n = 1; /* Already have first octal digit */
+                bitsPerDigit = 3;
+                result = dig;
+            }
+            break;
+        }
+        if (minDig != 0) {
+            while (offset < length && n < maxDig) {
+                // TEMPORARY
+                // TODO: Restore the char32-based code when UCharacter.digit
+                // is working (Bug 66).
+
+                //c = UTF16.charAt(s, offset);
+                //dig = UCharacter.digit(c, (bitsPerDigit == 3) ? 8 : 16);
+                c = s.charAt(offset);
+                dig = Character.digit((char)c, (bitsPerDigit == 3) ? 8 : 16);
+                if (dig < 0) {
+                    break;
+                }
+                result = (result << bitsPerDigit) | dig;
+                //offset += UTF16.getCharCount(c);
+                ++offset;
+                ++n;
+            }
+            if (n < minDig) {
+                return -1;
+            }
+            offset16[0] = offset;
+            return result;
+        }
+
+        /* Convert C-style escapes in table */
+        for (i=0; i<UNESCAPE_MAP.length; i+=2) {
+            if (c == UNESCAPE_MAP[i]) {
+                offset16[0] = offset;
+                return UNESCAPE_MAP[i+1];
+            } else if (c < UNESCAPE_MAP[i]) {
+                break;
+            }
+        }
+
+        /* If no special forms are recognized, then consider
+         * the backslash to generically escape the next character. */
+        offset16[0] = offset;
+        return c;
+    }
+
+    /* This map must be in ASCENDING ORDER OF THE ESCAPE CODE */
+    static private final char[] UNESCAPE_MAP = {
+        /*"   0x22, 0x22 */
+        /*'   0x27, 0x27 */
+        /*?   0x3F, 0x3F */
+        /*\   0x5C, 0x5C */
+        /*a*/ 0x61, 0x07,
+        /*b*/ 0x62, 0x08,
+        /*f*/ 0x66, 0x0c,
+        /*n*/ 0x6E, 0x0a,
+        /*r*/ 0x72, 0x0d,
+        /*t*/ 0x74, 0x09,
+        /*v*/ 0x76, 0x0b
+    };
+
+    /**
+     * Convert all escapes in a given string using unescapeAt().
+     * Leave invalid escape sequences unchanged.
+     */
+    public static String unescapeLeniently(String s) {
+        StringBuffer buf = new StringBuffer();
+        int[] pos = new int[1];
+        for (int i=0; i<s.length(); ) {
+            char c = s.charAt(i++);
+            if (c == '\\') {
+                pos[0] = i;
+                int e = unescapeAt(s, pos);
+                if (e < 0) {
+                    buf.append(c);
+                } else {
+                    UTF16.append(buf, e);
+                    i = pos[0];
+                }
+            } else {
+                buf.append(c);
+            }
+        }
+        return buf.toString();
+    }
+
+    public void TestPatterns() {
+        UnicodeSet set = new UnicodeSet();
+        expectPattern(set, "[[a-m]&[d-z]&[k-y]]",  "km");
+        expectPattern(set, "[[a-z]-[m-y]-[d-r]]",  "aczz");
+        expectPattern(set, "[a\\-z]",  "--aazz");
+        expectPattern(set, "[-az]",  "--aazz");
+        expectPattern(set, "[az-]",  "--aazz");
+        expectPattern(set, "[[[a-z]-[aeiou]i]]", "bdfnptvz");
+
+        // Throw in a test of complement
+        set.complement();
+        String exp = '\u0000' + "aeeoouu" + (char)('z'+1) + '\uFFFF';
+        expectPairs(set, exp);
+    }
+
+    public void TestCategories() {
+        int failures = 0;
+        UnicodeSet set = new UnicodeSet("[:Lu:]");
+        expectContainment(set, "ABC", "abc");
+
+        // Make sure generation of L doesn't pollute cached Lu set
+        // First generate L, then Lu
+        // not used int TOP = 0x200; // Don't need to go over the whole range:
+        set = new UnicodeSet("[:L:]");
+        for (int i=0; i<0x200; ++i) {
+            boolean l = UCharacter.isLetter(i);
+            if (l != set.contains((char)i)) {
+                errln("FAIL: L contains " + (char)i + " = " + 
+                      set.contains((char)i));
+                if (++failures == 10) break;
+            }
+        }
+
+        set = new UnicodeSet("[:Lu:]");
+        for (int i=0; i<0x200; ++i) {
+            boolean lu = (UCharacter.getType(i) == ECharacterCategory.UPPERCASE_LETTER);
+            if (lu != set.contains((char)i)) {
+                errln("FAIL: Lu contains " + (char)i + " = " + 
+                      set.contains((char)i));
+                if (++failures == 20) break;
+            }
+        }
+    }
+
+    public void TestAddRemove() {
+        UnicodeSet set = new UnicodeSet();
+        set.add('a', 'z');
+        expectPairs(set, "az");
+        set.remove('m', 'p');
+        expectPairs(set, "alqz");
+        set.remove('e', 'g');
+        expectPairs(set, "adhlqz");
+        set.remove('d', 'i');
+        expectPairs(set, "acjlqz");
+        set.remove('c', 'r');
+        expectPairs(set, "absz");
+        set.add('f', 'q');
+        expectPairs(set, "abfqsz");
+        set.remove('a', 'g');
+        expectPairs(set, "hqsz");
+        set.remove('a', 'z');
+        expectPairs(set, "");
+
+        // Try removing an entire set from another set
+        expectPattern(set, "[c-x]", "cx");
+        UnicodeSet set2 = new UnicodeSet();
+        expectPattern(set2, "[f-ky-za-bc[vw]]", "acfkvwyz");
+        set.removeAll(set2);
+        expectPairs(set, "deluxx");
+
+        // Try adding an entire set to another set
+        expectPattern(set, "[jackiemclean]", "aacceein");
+        expectPattern(set2, "[hitoshinamekatajamesanderson]", "aadehkmort");
+        set.addAll(set2);
+        expectPairs(set, "aacehort");
+
+        // Test commutativity
+        expectPattern(set, "[hitoshinamekatajamesanderson]", "aadehkmort");
+        expectPattern(set2, "[jackiemclean]", "aacceein");
+        set.addAll(set2);
+        expectPairs(set, "aacehort");
+    }
+
+    /**
+     * Make sure minimal representation is maintained.
+     */
+    public void TestMinimalRep() {
+        // This is pretty thoroughly tested by checkCanonicalRep()
+        // run against the exhaustive operation results.  Use the code
+        // here for debugging specific spot problems.
+       
+        // 1 overlap against 2
+        UnicodeSet set = new UnicodeSet("[h-km-q]");
+        UnicodeSet set2 = new UnicodeSet("[i-o]");
+        set.addAll(set2);
+        expectPairs(set, "hq");
+        // right
+        set.applyPattern("[a-m]");
+        set2.applyPattern("[e-o]");
+        set.addAll(set2);
+        expectPairs(set, "ao");
+        // left
+        set.applyPattern("[e-o]");
+        set2.applyPattern("[a-m]");
+        set.addAll(set2);
+        expectPairs(set, "ao");
+        // 1 overlap against 3
+        set.applyPattern("[a-eg-mo-w]");
+        set2.applyPattern("[d-q]");
+        set.addAll(set2);
+        expectPairs(set, "aw");
+    }
+
+    public void TestAPI() {
+        // default ct
+        UnicodeSet set = new UnicodeSet();
+        if (!set.isEmpty() || set.getRangeCount() != 0) {
+            errln("FAIL, set should be empty but isn't: " +
+                  set);
+        }
+
+        // clear(), isEmpty()
+        set.add('a');
+        if (set.isEmpty()) {
+            errln("FAIL, set shouldn't be empty but is: " +
+                  set);
+        }
+        set.clear();
+        if (!set.isEmpty()) {
+            errln("FAIL, set should be empty but isn't: " +
+                  set);
+        }
+
+        // size()
+        set.clear();
+        if (set.size() != 0) {
+            errln("FAIL, size should be 0, but is " + set.size() +
+                  ": " + set);
+        }
+        set.add('a');
+        if (set.size() != 1) {
+            errln("FAIL, size should be 1, but is " + set.size() +
+                  ": " + set);
+        }
+        set.add('1', '9');
+        if (set.size() != 10) {
+            errln("FAIL, size should be 10, but is " + set.size() +
+                  ": " + set);
+        }
+        set.clear();
+        set.complement();
+        if (set.size() != 0x110000) {
+            errln("FAIL, size should be 0x110000, but is" + set.size());
+        }
+
+        // contains(first, last)
+        set.clear();
+        set.applyPattern("[A-Y 1-8 b-d l-y]");
+        for (int i = 0; i<set.getRangeCount(); ++i) {
+            int a = set.getRangeStart(i);
+            int b = set.getRangeEnd(i);
+            if (!set.contains(a, b)) {
+                errln("FAIL, should contain " + (char)a + '-' + (char)b +
+                      " but doesn't: " + set);
+            }
+            if (set.contains((char)(a-1), b)) {
+                errln("FAIL, shouldn't contain " +
+                      (char)(a-1) + '-' + (char)b +
+                      " but does: " + set);
+            }
+            if (set.contains(a, (char)(b+1))) {
+                errln("FAIL, shouldn't contain " +
+                      (char)a + '-' + (char)(b+1) +
+                      " but does: " + set);
+            }
+        }
+
+        // Ported InversionList test.
+        UnicodeSet a = new UnicodeSet((char)3,(char)10);
+        UnicodeSet b = new UnicodeSet((char)7,(char)15);
+        UnicodeSet c = new UnicodeSet();
+
+        logln("a [3-10]: " + a);
+        logln("b [7-15]: " + b);
+        c.set(a); c.addAll(b);
+        UnicodeSet exp = new UnicodeSet((char)3,(char)15);
+        if (c.equals(exp)) {
+            logln("c.set(a).add(b): " + c);
+        } else {
+            errln("FAIL: c.set(a).add(b) = " + c + ", expect " + exp);
+        }
+        c.complement();
+        exp.set((char)0, (char)2);
+        exp.add((char)16, UnicodeSet.MAX_VALUE);
+        if (c.equals(exp)) {
+            logln("c.complement(): " + c);
+        } else {
+            errln(Utility.escape("FAIL: c.complement() = " + c + ", expect " + exp));
+        }
+        c.complement();
+        exp.set((char)3, (char)15);
+        if (c.equals(exp)) {
+            logln("c.complement(): " + c);
+        } else {
+            errln("FAIL: c.complement() = " + c + ", expect " + exp);
+        }
+        c.set(a); c.complementAll(b);
+        exp.set((char)3,(char)6);
+        exp.add((char)11,(char) 15);
+        if (c.equals(exp)) {
+            logln("c.set(a).complement(b): " + c);
+        } else {
+            errln("FAIL: c.set(a).complement(b) = " + c + ", expect " + exp);
+        }
+
+        exp.set(c);
+        c = bitsToSet(setToBits(c));
+        if (c.equals(exp)) {
+            logln("bitsToSet(setToBits(c)): " + c);
+        } else {
+            errln("FAIL: bitsToSet(setToBits(c)) = " + c + ", expect " + exp);
+        } 
+
+        // Additional tests for coverage JB#2118
+        //UnicodeSet::complement(class UnicodeString const &)
+        //UnicodeSet::complementAll(class UnicodeString const &)
+        //UnicodeSet::containsNone(class UnicodeSet const &)
+        //UnicodeSet::containsNone(long,long)
+        //UnicodeSet::containsSome(class UnicodeSet const &)
+        //UnicodeSet::containsSome(long,long)
+        //UnicodeSet::removeAll(class UnicodeString const &)
+        //UnicodeSet::retain(long)
+        //UnicodeSet::retainAll(class UnicodeString const &)
+        //UnicodeSet::serialize(unsigned short *,long,enum UErrorCode &)
+        //UnicodeSetIterator::getString(void)
+        set.clear();
+        set.complement("ab");
+        exp.applyPattern("[{ab}]");
+        if (!set.equals(exp)) { errln("FAIL: complement(\"ab\")"); return; }
+
+        UnicodeSetIterator iset = new UnicodeSetIterator(set);
+        if (!iset.next() || iset.codepoint != UnicodeSetIterator.IS_STRING) {
+            errln("FAIL: UnicodeSetIterator.next/IS_STRING");
+        } else if (!iset.string.equals("ab")) {
+            errln("FAIL: UnicodeSetIterator.string");
+        }
+
+        set.add((char)0x61, (char)0x7A);
+        set.complementAll("alan");
+        exp.applyPattern("[{ab}b-kmo-z]");
+        if (!set.equals(exp)) { errln("FAIL: complementAll(\"alan\")"); return; }
+
+        exp.applyPattern("[a-z]");
+        if (set.containsNone(exp)) { errln("FAIL: containsNone(UnicodeSet)"); }
+        if (!set.containsSome(exp)) { errln("FAIL: containsSome(UnicodeSet)"); }
+        exp.applyPattern("[aln]");
+        if (!set.containsNone(exp)) { errln("FAIL: containsNone(UnicodeSet)"); }
+        if (set.containsSome(exp)) { errln("FAIL: containsSome(UnicodeSet)"); }
+        
+        if (set.containsNone((char)0x61, (char)0x7A)) {
+            errln("FAIL: containsNone(char, char)");
+        }
+        if (!set.containsSome((char)0x61, (char)0x7A)) {
+            errln("FAIL: containsSome(char, char)");
+        }
+        if (!set.containsNone((char)0x41, (char)0x5A)) {
+            errln("FAIL: containsNone(char, char)");
+        }
+        if (set.containsSome((char)0x41, (char)0x5A)) {
+            errln("FAIL: containsSome(char, char)");
+        }
+
+        set.removeAll("liu");
+        exp.applyPattern("[{ab}b-hj-kmo-tv-z]");
+        if (!set.equals(exp)) { errln("FAIL: removeAll(\"liu\")"); return; }
+
+        set.retainAll("star");
+        exp.applyPattern("[rst]");
+        if (!set.equals(exp)) { errln("FAIL: retainAll(\"star\")"); return; }
+
+        set.retain((char)0x73);
+        exp.applyPattern("[s]");
+        if (!set.equals(exp)) { errln("FAIL: retain('s')"); return; }
+
+        // ICU 2.6 coverage tests
+        // public final UnicodeSet retain(String s);
+        // public final UnicodeSet remove(int c);
+        // public final UnicodeSet remove(String s);
+        // public int hashCode();
+        set.applyPattern("[a-z{ab}{cd}]");
+        set.retain("cd");
+        exp.applyPattern("[{cd}]");
+        if (!set.equals(exp)) { errln("FAIL: retain(\"cd\")"); return; }
+        
+        set.applyPattern("[a-z{ab}{cd}]");
+        set.remove((char)0x63);
+        exp.applyPattern("[abd-z{ab}{cd}]");
+        if (!set.equals(exp)) { errln("FAIL: remove('c')"); return; }
+        
+        set.remove("cd");
+        exp.applyPattern("[abd-z{ab}]");
+        if (!set.equals(exp)) { errln("FAIL: remove(\"cd\")"); return; }
+
+        if (set.hashCode() != exp.hashCode()) {
+            errln("FAIL: hashCode() unequal");
+        }
+        exp.clear();
+        if (set.hashCode() == exp.hashCode()) {
+            errln("FAIL: hashCode() equal");
+        }
+
+        {
+            //Cover addAll(Collection) and addAllTo(Collection)  
+            //  Seems that there is a bug in addAll(Collection) operation
+            //    Ram also add a similar test to UtilityTest.java
+            logln("Testing addAll(Collection) ... ");  
+            String[] array = {"a", "b", "c", "de"};
+            List list = Arrays.asList(array);
+            Set aset = new HashSet(list);
+            logln(" *** The source set's size is: " + aset.size());
+            
+            set.clear();
+            set.addAll(aset);
+            if (set.size() != aset.size()) {
+                errln("FAIL: After addAll, the UnicodeSet size expected " + aset.size() +
+                       ", " + set.size() + " seen instead!");
+            } else {
+                logln("OK: After addAll, the UnicodeSet size got " + set.size());
+            }
+            
+            List list2 = new ArrayList();
+            set.addAllTo(list2);
+            
+            //verify the result
+            log(" *** The elements are: ");
+            String s = set.toPattern(true);
+            logln(s);
+            Iterator myiter = list2.iterator();
+            while(myiter.hasNext()) {
+                log(myiter.next().toString() + "  ");
+            }
+            logln("");  // a new line
+        }
+
+    }
+    
+    public void TestStrings() {
+//        Object[][] testList = {
+//            {I_EQUALS,  UnicodeSet.fromAll("abc"),
+//                        new UnicodeSet("[a-c]")},
+//                        
+//            {I_EQUALS,  UnicodeSet.from("ch").add('a','z').add("ll"),
+//                        new UnicodeSet("[{ll}{ch}a-z]")},
+//                        
+//            {I_EQUALS,  UnicodeSet.from("ab}c"),  
+//                        new UnicodeSet("[{ab\\}c}]")},
+//                        
+//            {I_EQUALS,  new UnicodeSet('a','z').add('A', 'Z').retain('M','m').complement('X'), 
+//                        new UnicodeSet("[[a-zA-Z]&[M-m]-[X]]")},
+//        };
+//        
+//        for (int i = 0; i < testList.length; ++i) {
+//            expectRelation(testList[i][0], testList[i][1], testList[i][2], "(" + i + ")");
+//        }        
+
+        UnicodeSet[][] testList = {
+            {UnicodeSet.fromAll("abc"),
+             new UnicodeSet("[a-c]")},
+                        
+            {UnicodeSet.from("ch").add('a','z').add("ll"),
+             new UnicodeSet("[{ll}{ch}a-z]")},
+                        
+            {UnicodeSet.from("ab}c"),  
+             new UnicodeSet("[{ab\\}c}]")},
+                        
+            {new UnicodeSet('a','z').add('A', 'Z').retain('M','m').complement('X'), 
+             new UnicodeSet("[[a-zA-Z]&[M-m]-[X]]")},
+        };
+        
+        for (int i = 0; i < testList.length; ++i) {
+            if (!testList[i][0].equals(testList[i][1])) {
+                errln("FAIL: sets unequal; see source code (" + i + ")");
+            }
+        }        
+    }
+    
+    static final Integer 
+        I_ANY = new Integer(SortedSetRelation.ANY),
+        I_CONTAINS = new Integer(SortedSetRelation.CONTAINS),
+        I_DISJOINT = new Integer(SortedSetRelation.DISJOINT),
+        I_NO_B = new Integer(SortedSetRelation.NO_B),
+        I_ISCONTAINED = new Integer(SortedSetRelation.ISCONTAINED),
+        I_EQUALS = new Integer(SortedSetRelation.EQUALS),
+        I_NO_A = new Integer(SortedSetRelation.NO_A),
+        I_NONE = new Integer(SortedSetRelation.NONE);
+    
+    public void TestSetRelation() {
+        
+        String[] choices = {"a", "b", "cd", "ef"};
+        int limit = 1 << choices.length;
+        
+        SortedSet iset = new TreeSet();
+        SortedSet jset = new TreeSet();
+        
+        for (int i = 0; i < limit; ++i) {
+            pick(i, choices, iset);
+            for (int j = 0; j < limit; ++j) {
+                pick(j, choices, jset);
+                checkSetRelation(iset, jset, "(" + i + ")");
+            }
+        }
+    }
+    
+    public void TestSetSpeed() {
+        // skip unless verbose
+        if (!isVerbose()) return;
+        
+        SetSpeed2(100);
+        SetSpeed2(1000);
+    }
+    
+    public void SetSpeed2(int size) {
+        
+        SortedSet iset = new TreeSet();
+        SortedSet jset = new TreeSet();
+        
+        for (int i = 0; i < size*2; i += 2) { // only even values
+            iset.add(new Integer(i));
+            jset.add(new Integer(i));
+        }
+        
+        int iterations = 1000000 / size;
+        
+        logln("Timing comparison of Java vs Utility");
+        logln("For about " + size + " objects that are almost all the same.");
+        
+        CheckSpeed(iset, jset, "when a = b", iterations);
+        
+        iset.add(new Integer(size + 1));    // add odd value in middle
+        
+        CheckSpeed(iset, jset, "when a contains b", iterations);        
+        CheckSpeed(jset, iset, "when b contains a", iterations);
+        
+        jset.add(new Integer(size - 1));    // add different odd value in middle
+        
+        CheckSpeed(jset, iset, "when a, b are disjoint", iterations);        
+    }
+    
+    void CheckSpeed(SortedSet iset, SortedSet jset, String message, int iterations) {
+        CheckSpeed2(iset, jset, message, iterations);
+        CheckSpeed3(iset, jset, message, iterations);
+    }
+    
+    void CheckSpeed2(SortedSet iset, SortedSet jset, String message, int iterations) {
+        boolean x;
+        boolean y;
+        
+        // make sure code is loaded:
+        x = iset.containsAll(jset);
+        y = SortedSetRelation.hasRelation(iset, SortedSetRelation.CONTAINS, jset);
+        if (x != y) errln("FAIL contains comparison");
+        
+        double start = System.currentTimeMillis();
+        for (int i = 0; i < iterations; ++i) {
+            x |= iset.containsAll(jset);
+        }
+        double middle = System.currentTimeMillis();
+        for (int i = 0; i < iterations; ++i) {
+            y |= SortedSetRelation.hasRelation(iset, SortedSetRelation.CONTAINS, jset);
+        }
+        double end = System.currentTimeMillis();
+        
+        double jtime = (middle - start)/iterations;
+        double utime = (end - middle)/iterations;
+        
+        java.text.NumberFormat nf = java.text.NumberFormat.getPercentInstance();
+        logln("Test contains: " + message + ": Java: " + jtime
+            + ", Utility: " + utime + ", u:j: " + nf.format(utime/jtime));
+    }
+    
+    void CheckSpeed3(SortedSet iset, SortedSet jset, String message, int iterations) {
+        boolean x;
+        boolean y;
+        
+        // make sure code is loaded:
+        x = iset.equals(jset);
+        y = SortedSetRelation.hasRelation(iset, SortedSetRelation.EQUALS, jset);
+        if (x != y) errln("FAIL equality comparison");
+
+        
+        double start = System.currentTimeMillis();
+        for (int i = 0; i < iterations; ++i) {
+            x |= iset.equals(jset);
+        }
+        double middle = System.currentTimeMillis();
+        for (int i = 0; i < iterations; ++i) {
+            y |= SortedSetRelation.hasRelation(iset, SortedSetRelation.EQUALS, jset);
+        }
+        double end = System.currentTimeMillis();
+        
+        double jtime = (middle - start)/iterations;
+        double utime = (end - middle)/iterations;
+        
+        java.text.NumberFormat nf = java.text.NumberFormat.getPercentInstance();
+        logln("Test equals:   " + message + ": Java: " + jtime
+            + ", Utility: " + utime + ", u:j: " + nf.format(utime/jtime));
+    }
+    
+    void pick(int bits, Object[] examples, SortedSet output) {
+        output.clear();
+        for (int k = 0; k < 32; ++k) {
+            if (((1<<k) & bits) != 0) output.add(examples[k]);
+        }
+    }
+    
+    public static final String[] RELATION_NAME = {
+        "both-are-null",
+        "a-is-null", 
+        "equals", 
+        "is-contained-in",
+        "b-is-null",
+        "is-disjoint_with",
+        "contains", 
+        "any", };
+        
+    boolean dumbHasRelation(Collection A, int filter, Collection B) {
+        Collection ab = new TreeSet(A);
+        ab.retainAll(B);
+        if (ab.size() > 0 && (filter & SortedSetRelation.A_AND_B) == 0) return false; 
+        
+        // A - B size == A.size - A&B.size
+        if (A.size() > ab.size() && (filter & SortedSetRelation.A_NOT_B) == 0) return false; 
+        
+        // B - A size == B.size - A&B.size
+        if (B.size() > ab.size() && (filter & SortedSetRelation.B_NOT_A) == 0) return false; 
+
+        
+        return true;
+    }    
+    
+    void checkSetRelation(SortedSet a, SortedSet b, String message) {
+        for (int i = 0; i < 8; ++i) {
+            
+            boolean hasRelation = SortedSetRelation.hasRelation(a, i, b);
+            boolean dumbHasRelation = dumbHasRelation(a, i, b);
+            
+            logln(message + " " + hasRelation + ":\t" + a + "\t" + RELATION_NAME[i] + "\t" + b);
+            
+            if (hasRelation != dumbHasRelation) {
+                errln("FAIL: " + 
+                    message + " " + dumbHasRelation + ":\t" + a + "\t" + RELATION_NAME[i] + "\t" + b);
+            }
+        }
+        logln("");
+    }
+    
+   /**
+    * Test the [:Latin:] syntax.
+    */
+    public void TestScriptSet() {
+
+        expectContainment("[:Latin:]", "aA", CharsToUnicodeString("\\u0391\\u03B1"));
+
+        expectContainment("[:Greek:]", CharsToUnicodeString("\\u0391\\u03B1"), "aA");
+        
+        /* Jitterbug 1423 */
+        expectContainment("[[:Common:][:Inherited:]]", CharsToUnicodeString("\\U00003099\\U0001D169\\u0000"), "aA");
+
+    }
+    
+    /**
+     * Test the [:Latin:] syntax.
+     */
+    public void TestPropertySet() {
+        String[] DATA = {
+            // Pattern, Chars IN, Chars NOT in
+
+            "[:Latin:]",
+            "aA",
+            "\u0391\u03B1",
+
+            "[\\p{Greek}]",
+            "\u0391\u03B1",
+            "aA",
+
+            "\\P{ GENERAL Category = upper case letter }",
+            "abc",
+            "ABC",
+
+            // Combining class: @since ICU 2.2
+            // Check both symbolic and numeric
+            "\\p{ccc=Nukta}",
+            "\u0ABC",
+            "abc",
+
+            "\\p{Canonical Combining Class = 11}",
+            "\u05B1",
+            "\u05B2",
+
+            "[:c c c = iota subscript :]",
+            "\u0345",
+            "xyz",
+
+            // Bidi class: @since ICU 2.2
+            "\\p{bidiclass=lefttoright}",
+            "abc",
+            "\u0671\u0672",
+
+            // Binary properties: @since ICU 2.2
+            "\\p{ideographic}",
+            "\u4E0A",
+            "x",
+
+            "[:math=false:]",
+            "q)*(", // )(and * were removed from math in Unicode 4.0.1
+            "+<>^",
+
+            // JB#1767 \N{}, \p{ASCII}
+            "[:Ascii:]",
+            "abc\u0000\u007F",
+            "\u0080\u4E00",
+
+            "[\\N{ latin small letter  a  }[:name= latin small letter z:]]",
+            "az",
+            "qrs",
+
+            // JB#2015
+            "[:any:]",
+            "a\\U0010FFFF",
+            "",
+            
+            "[:nv=0.5:]",
+            "\u00BD\u0F2A",
+            "\u00BC",
+
+            // JB#2653: Age
+            "[:Age=1.1:]",
+            "\u03D6", // 1.1
+            "\u03D8\u03D9", // 3.2
+
+            "[:Age=3.1:]", 
+            "\\u1800\\u3400\\U0002f800", 
+            "\\u0220\\u034f\\u30ff\\u33ff\\ufe73\\U00010000\\U00050000", 
+
+            // JB#2350: Case_Sensitive
+            "[:Case Sensitive:]",
+            "A\u1FFC\\U00010410",
+            ";\u00B4\\U00010500",
+
+
+            // Regex compatibility test
+            "[-b]", // leading '-' is literal
+            "-b",
+            "ac",
+            
+            "[^-b]", // leading '-' is literal
+            "ac",
+            "-b",
+            
+            "[b-]", // trailing '-' is literal
+            "-b",
+            "ac",
+            
+            "[^b-]", // trailing '-' is literal
+            "ac",
+            "-b",
+
+            "[a-b-]", // trailing '-' is literal
+            "ab-",
+            "c=",
+
+            "[[a-q]&[p-z]-]", // trailing '-' is literal
+            "pq-",
+            "or=",
+
+            "[\\s|\\)|:|$|\\>]", // from regex tests
+            "s|):$>",
+            "\\abc",
+
+            "[\uDC00cd]", // JB#2906: isolated trail at start
+            "cd\uDC00",
+            "ab\uD800\\U00010000",
+
+            "[ab\uD800]", // JB#2906: isolated trail at start
+            "ab\uD800",
+            "cd\uDC00\\U00010000",
+
+            "[ab\uD800cd]", // JB#2906: isolated lead in middle
+            "abcd\uD800",
+            "ef\uDC00\\U00010000",
+
+            "[ab\uDC00cd]", // JB#2906: isolated trail in middle
+            "abcd\uDC00",
+            "ef\uD800\\U00010000",
+            
+            "[:^lccc=0:]", // Lead canonical class
+            "\u0300\u0301",
+            "abcd\u00c0\u00c5",
+
+            "[:^tccc=0:]", // Trail canonical class
+            "\u0300\u0301\u00c0\u00c5",
+            "abcd",
+
+            "[[:^lccc=0:][:^tccc=0:]]", // Lead and trail canonical class
+            "\u0300\u0301\u00c0\u00c5",
+            "abcd",
+
+            "[[:^lccc=0:]-[:^tccc=0:]]", // Stuff that starts with an accent but ends with a base (none right now)
+            "",
+            "abcd\u0300\u0301\u00c0\u00c5",
+            
+            "[[:ccc=0:]-[:lccc=0:]-[:tccc=0:]]", // Weirdos. Complete canonical class is zero, but both lead and trail are not
+            "\u0F73\u0F75\u0F81",
+            "abcd\u0300\u0301\u00c0\u00c5",
+
+            "[:Assigned:]",
+            "A\\uE000\\uF8FF\\uFDC7\\U00010000\\U0010FFFD",
+            "\\u0888\\uFDD3\\uFFFE\\U00050005"
+        };
+
+        for (int i=0; i<DATA.length; i+=3) {  
+            expectContainment(DATA[i], DATA[i+1], DATA[i+2]);
+        }
+    }
+
+    /**
+     * Test cloning of UnicodeSet
+     */
+    public void TestClone() {
+        UnicodeSet s = new UnicodeSet("[abcxyz]");
+        UnicodeSet t = (UnicodeSet) s.clone();
+        expectContainment(t, "abc", "def");
+    }
+
+    /**
+     * Test the indexOf() and charAt() methods.
+     */
+    public void TestIndexOf() {
+        UnicodeSet set = new UnicodeSet("[a-cx-y3578]");
+        for (int i=0; i<set.size(); ++i) {
+            int c = set.charAt(i);
+            if (set.indexOf(c) != i) {
+                errln("FAIL: charAt(" + i + ") = " + c +
+                      " => indexOf() => " + set.indexOf(c));
+            }
+        }
+        int c = set.charAt(set.size());
+        if (c != -1) {
+            errln("FAIL: charAt(<out of range>) = " +
+                  Utility.escape(String.valueOf(c)));
+        }
+        int j = set.indexOf('q');
+        if (j != -1) {
+            errln("FAIL: indexOf('q') = " + j);
+        }
+    }
+
+    public void TestContainsString() {
+        UnicodeSet x = new UnicodeSet("[a{bc}]");
+        if (x.contains("abc")) errln("FAIL");
+    }
+    
+    public void TestExhaustive() {
+        // exhaustive tests. Simulate UnicodeSets with integers.
+        // That gives us very solid tests (except for large memory tests).
+
+        char limit = (char)128;
+
+        for (char i = 0; i < limit; ++i) {
+            logln("Testing " + i + ", " + bitsToSet(i));
+            _testComplement(i);
+            
+            // AS LONG AS WE ARE HERE, check roundtrip
+            checkRoundTrip(bitsToSet(i));
+            
+            for (char j = 0; j < limit; ++j) {
+                _testAdd(i,j);
+                _testXor(i,j);
+                _testRetain(i,j);
+                _testRemove(i,j);
+            }
+        }
+    }
+    
+    /**
+     * Make sure each script name and abbreviated name can be used
+     * to construct a UnicodeSet.
+     */
+    public void TestScriptNames() {
+        for (int i=0; i<UScript.CODE_LIMIT; ++i) {
+            for (int j=0; j<2; ++j) {
+                String pat = "";
+                try {
+                    String name =
+                        (j==0) ? UScript.getName(i) : UScript.getShortName(i);
+                    pat = "[:" + name + ":]";
+                    UnicodeSet set = new UnicodeSet(pat);
+                    logln("Ok: " + pat);
+                } catch (IllegalArgumentException e) {
+                    if (pat.length() == 0) {
+                        errln("FAIL (in UScript): No name for script " + i);
+                    } else {
+                        errln("FAIL: Couldn't create " + pat);
+                    }
+                }
+            }
+        }
+    }
+
+    /**
+     * Test closure API.
+     */
+    public void TestCloseOver() {
+        String CASE = String.valueOf(UnicodeSet.CASE);
+        String[] DATA = {
+            // selector, input, output
+            CASE,
+            "[aq\u00DF{Bc}{bC}{Fi}]",
+            "[aAqQ\u00DF\uFB01{ss}{bc}{fi}]",
+
+            CASE,
+            "[\u01F1]", // 'DZ'
+            "[\u01F1\u01F2\u01F3]",
+
+            CASE,
+            "[\u1FB4]",
+            "[\u1FB4{\u03AC\u03B9}]",
+
+            CASE,
+            "[{F\uFB01}]",
+            "[\uFB03{ffi}]",            
+
+            CASE,
+            "[a-z]","[A-Za-z\u017F\u212A]",
+            CASE,
+            "[abc]","[A-Ca-c]",
+            CASE,
+            "[ABC]","[A-Ca-c]",
+        };
+
+        UnicodeSet s = new UnicodeSet();
+        UnicodeSet t = new UnicodeSet();
+        for (int i=0; i<DATA.length; i+=3) {
+            int selector = Integer.parseInt(DATA[i]);
+            String pat = DATA[i+1];
+            String exp = DATA[i+2];
+            s.applyPattern(pat);
+            s.closeOver(selector);
+            t.applyPattern(exp);
+            if (s.equals(t)) {
+                logln("Ok: " + pat + ".closeOver(" + selector + ") => " + exp);
+            } else {
+                errln("FAIL: " + pat + ".closeOver(" + selector + ") => " +
+                      s.toPattern(true) + ", expected " + exp);
+            }
+        }
+
+        // Test the pattern API
+        s.applyPattern("[abc]", UnicodeSet.CASE);
+        expectContainment(s, "abcABC", "defDEF");
+        s = new UnicodeSet("[^abc]", UnicodeSet.CASE);
+        expectContainment(s, "defDEF", "abcABC");
+    }
+
+    public void TestEscapePattern() {
+        // The following pattern must contain at least one range "c-d"
+        // for which isRuleWhiteSpace(c) or isRuleWhiteSpace(d) is true.
+        String pattern =
+            "[\\uFEFF \\u200E-\\u20FF \\uFFF9-\\uFFFC \\U0001D173-\\U0001D17A \\U000F0000-\\U000FFFFD ]";
+        String exp =
+            "[\\u200E-\\u20FF\\uFEFF\\uFFF9-\\uFFFC\\U0001D173-\\U0001D17A\\U000F0000-\\U000FFFFD]";
+        // We test this with two passes; in the second pass we
+        // pre-unescape the pattern.  Since U+200E is rule whitespace,
+        // this fails -- which is what we expect.
+        for (int pass=1; pass<=2; ++pass) {
+            String pat = pattern;
+            if (pass==2) {
+                pat = Utility.unescape(pat);
+            }
+            // Pattern is only good for pass 1
+            boolean isPatternValid = (pass==1);
+
+            UnicodeSet set = null;
+            try {
+                set = new UnicodeSet(pat);
+            } catch (IllegalArgumentException e) {
+                set = null;
+            }
+            if ((set != null) != isPatternValid){
+                errln("FAIL: applyPattern(" +
+                      Utility.escape(pat) + ") => " + set);
+                continue;
+            }
+            if (set == null) {
+                continue;
+            }
+            if (set.contains((char)0x0644)){
+                errln("FAIL: " + Utility.escape(pat) + " contains(U+0664)");
+            }
+
+            String newpat = set.toPattern(true);
+            if (newpat.equals(exp)) {
+                logln(Utility.escape(pat) + " => " + newpat);
+            } else {
+                errln("FAIL: " + Utility.escape(pat) + " => " + newpat);
+            }
+
+            for (int i=0; i<set.getRangeCount(); ++i) {
+                StringBuffer str = new StringBuffer("Range ");
+                str.append((char)(0x30 + i))
+                    .append(": ");
+                UTF16.append(str, set.getRangeStart(i));
+                str.append(" - ");
+                UTF16.append(str, set.getRangeEnd(i));
+                String s = Utility.escape(str.toString() + " (" + set.getRangeStart(i) + " - " +
+                    set.getRangeEnd(i) + ")");
+                if (set.getRangeStart(i) < 0) {
+                    errln("FAIL: " + s);
+                } else {
+                    logln(s);
+                }
+            }
+        }
+    }
+
+    public void TestSymbolTable() {
+        // Multiple test cases can be set up here.  Each test case
+        // is terminated by null:
+        // var, value, var, value,..., input pat., exp. output pat., null
+        String DATA[] = {
+            "us", "a-z", "[0-1$us]", "[0-1a-z]", null,
+            "us", "[a-z]", "[0-1$us]", "[0-1[a-z]]", null,
+            "us", "\\[a\\-z\\]", "[0-1$us]", "[-01\\[\\]az]", null
+        };
+
+        for (int i=0; i<DATA.length; ++i) {
+            TokenSymbolTable sym = new TokenSymbolTable();
+
+            // Set up variables
+            while (DATA[i+2] != null) {
+                sym.add(DATA[i], DATA[i+1]);
+                i += 2;
+            }
+
+            // Input pattern and expected output pattern
+            String inpat = DATA[i], exppat = DATA[i+1];
+            i += 2;
+
+            ParsePosition pos = new ParsePosition(0);
+            UnicodeSet us = new UnicodeSet(inpat, pos, sym);
+
+            // results
+            if (pos.getIndex() != inpat.length()) {
+                errln("Failed to read to end of string \""
+                      + inpat + "\": read to "
+                      + pos.getIndex() + ", length is "
+                      + inpat.length());
+            }
+
+            UnicodeSet us2 = new UnicodeSet(exppat);
+            if (!us.equals(us2)) {
+                errln("Failed, got " + us + ", expected " + us2);
+            } else {
+                logln("Ok, got " + us);
+            }
+            
+            //cover Unicode(String,ParsePosition,SymbolTable,int)
+            ParsePosition inpos = new ParsePosition(0);
+            UnicodeSet inSet = new UnicodeSet(inpat, inpos, sym, UnicodeSet.IGNORE_SPACE);
+            UnicodeSet expSet = new UnicodeSet(exppat);
+            if (!inSet.equals(expSet)) {
+                errln("FAIL: Failed, got " + inSet + ", expected " + expSet);
+            } else {
+                logln("OK: got " + inSet);
+            }
+        }
+    }
+
+    /**
+      * Test that Posix style character classes [:digit:], etc.
+      *   have the Unicode definitions from TR 18.
+      */
+    public void TestPosixClasses() {
+        expectEqual("POSIX alpha", "[:alpha:]", "\\p{Alphabetic}");
+        expectEqual("POSIX lower", "[:lower:]", "\\p{lowercase}");
+        expectEqual("POSIX upper", "[:upper:]", "\\p{Uppercase}");
+        expectEqual("POSIX punct", "[:punct:]", "\\p{gc=Punctuation}");
+        expectEqual("POSIX digit", "[:digit:]", "\\p{gc=DecimalNumber}");
+        expectEqual("POSIX xdigit", "[:xdigit:]", "[\\p{DecimalNumber}\\p{HexDigit}]");
+        expectEqual("POSIX alnum", "[:alnum:]", "[\\p{Alphabetic}\\p{DecimalNumber}]");
+        expectEqual("POSIX space", "[:space:]", "\\p{Whitespace}");
+        expectEqual("POSIX blank", "[:blank:]", "[\\p{Whitespace}-[\\u000a\\u000B\\u000c\\u000d\\u0085\\p{LineSeparator}\\p{ParagraphSeparator}]]");
+        expectEqual("POSIX cntrl", "[:cntrl:]", "\\p{Control}");
+        expectEqual("POSIX graph", "[:graph:]", "[^\\p{Whitespace}\\p{Control}\\p{Surrogate}\\p{Unassigned}]");
+        expectEqual("POSIX print", "[:print:]", "[[:graph:][:blank:]-[\\p{Control}]]");
+    }
+
+    public class TokenSymbolTable implements SymbolTable {
+        HashMap contents = new HashMap();
+
+        /**
+         * (Non-SymbolTable API) Add the given variable and value to
+         * the table.  Variable should NOT contain leading '$'.
+         */
+        public void add(String var, String value) {
+            char[] buffer = new char[value.length()];
+            value.getChars(0, value.length(), buffer, 0);
+            add(var, buffer);
+        }
+
+        /**
+         * (Non-SymbolTable API) Add the given variable and value to
+         * the table.  Variable should NOT contain leading '$'.
+         */
+        public void add(String var, char[] body) {
+            logln("TokenSymbolTable: add \"" + var + "\" => \"" +
+                  new String(body) + "\"");
+            contents.put(var, body);
+        }
+
+        /* (non-Javadoc)
+         * @see com.ibm.icu.text.SymbolTable#lookup(java.lang.String)
+         */
+        public char[] lookup(String s) {
+            logln("TokenSymbolTable: lookup \"" + s + "\" => \"" +
+                  new String((char[]) contents.get(s)) + "\"");
+            return (char[])contents.get(s);
+        }
+
+        /* (non-Javadoc)
+         * @see com.ibm.icu.text.SymbolTable#lookupMatcher(int)
+         */
+        public UnicodeMatcher lookupMatcher(int ch) {
+            return null;
+        }
+
+        /* (non-Javadoc)
+         * @see com.ibm.icu.text.SymbolTable#parseReference(java.lang.String,
+         java.text.ParsePosition, int)
+        */
+        public String parseReference(String text, ParsePosition pos, int
+                                     limit) {
+            int cp;
+            int start = pos.getIndex();
+            int i;
+            for (i = start; i < limit; i += UTF16.getCharCount(cp)) {
+                cp = UTF16.charAt(text, i);
+                if (!com.ibm.icu.lang.UCharacter.isUnicodeIdentifierPart(cp)) {
+                    break;
+                }
+            }
+            logln("TokenSymbolTable: parse \"" + text + "\" from " +
+                  start + " to " + i +
+                  " => \"" + text.substring(start,i) + "\"");
+            pos.setIndex(i);
+            return text.substring(start,i);
+        }
+    }
+
+    public void TestSurrogate() {
+        String DATA[] = {
+            // These should all behave identically
+            "[abc\\uD800\\uDC00]",
+            "[abc\uD800\uDC00]",
+            "[abc\\U00010000]",
+        };
+        for (int i=0; i<DATA.length; ++i) {
+            logln("Test pattern " + i + " :" + Utility.escape(DATA[i]));
+            UnicodeSet set = new UnicodeSet(DATA[i]);
+            expectContainment(set,
+                              CharsToUnicodeString("abc\\U00010000"),
+                              "\uD800;\uDC00"); // split apart surrogate-pair
+            if (set.size() != 4) {
+                errln(Utility.escape("FAIL: " + DATA[i] + ".size() == " + 
+                      set.size() + ", expected 4"));
+            }
+        }
+    }
+
+    void _testComplement(int a) {
+        UnicodeSet x = bitsToSet(a);
+        UnicodeSet z = bitsToSet(a);
+        z.complement();
+        int c = setToBits(z);
+        if (c != (~a)) {
+            errln("FAILED: add: ~" + x +  " != " + z);
+            errln("FAILED: add: ~" + a + " != " + c);
+        }
+        checkCanonicalRep(z, "complement " + a);
+    }
+
+    void _testAdd(int a, int b) {
+        UnicodeSet x = bitsToSet(a);
+        UnicodeSet y = bitsToSet(b);
+        UnicodeSet z = bitsToSet(a);
+        z.addAll(y);
+        int c = setToBits(z);
+        if (c != (a | b)) {
+            errln(Utility.escape("FAILED: add: " + x + " | " + y + " != " + z));
+            errln("FAILED: add: " + a + " | " + b + " != " + c);
+        }
+        checkCanonicalRep(z, "add " + a + "," + b);
+    }
+
+    void _testRetain(int a, int b) {
+        UnicodeSet x = bitsToSet(a);
+        UnicodeSet y = bitsToSet(b);
+        UnicodeSet z = bitsToSet(a);
+        z.retainAll(y);
+        int c = setToBits(z);
+        if (c != (a & b)) {
+            errln("FAILED: retain: " + x + " & " + y + " != " + z);
+            errln("FAILED: retain: " + a + " & " + b + " != " + c);
+        }
+        checkCanonicalRep(z, "retain " + a + "," + b);
+    }
+
+    void _testRemove(int a, int b) {
+        UnicodeSet x = bitsToSet(a);
+        UnicodeSet y = bitsToSet(b);
+        UnicodeSet z = bitsToSet(a);
+        z.removeAll(y);
+        int c = setToBits(z);
+        if (c != (a &~ b)) {
+            errln("FAILED: remove: " + x + " &~ " + y + " != " + z);
+            errln("FAILED: remove: " + a + " &~ " + b + " != " + c);
+        }
+        checkCanonicalRep(z, "remove " + a + "," + b);
+    }
+
+    void _testXor(int a, int b) {
+        UnicodeSet x = bitsToSet(a);
+        UnicodeSet y = bitsToSet(b);
+        UnicodeSet z = bitsToSet(a);
+        z.complementAll(y);
+        int c = setToBits(z);
+        if (c != (a ^ b)) {
+            errln("FAILED: complement: " + x + " ^ " + y + " != " + z);
+            errln("FAILED: complement: " + a + " ^ " + b + " != " + c);
+        }
+        checkCanonicalRep(z, "complement " + a + "," + b);
+    }
+    
+    /**
+     * Check that ranges are monotonically increasing and non-
+     * overlapping.
+     */
+    void checkCanonicalRep(UnicodeSet set, String msg) {
+        int n = set.getRangeCount();
+        if (n < 0) {
+            errln("FAIL result of " + msg +
+                  ": range count should be >= 0 but is " +
+                  n + " for " + Utility.escape(set.toString()));
+            return;
+        }
+        int last = 0;
+        for (int i=0; i<n; ++i) {
+            int start = set.getRangeStart(i);
+            int end = set.getRangeEnd(i);
+            if (start > end) {
+                errln("FAIL result of " + msg +
+                      ": range " + (i+1) +
+                      " start > end: " + start + ", " + end +
+                      " for " + Utility.escape(set.toString()));
+            }
+            if (i > 0 && start <= last) {
+                errln("FAIL result of " + msg +
+                      ": range " + (i+1) +
+                      " overlaps previous range: " + start + ", " + end +
+                      " for " + Utility.escape(set.toString()));
+            }
+            last = end;
+        }
+    }
+
+    /**
+     * Convert a bitmask to a UnicodeSet.
+     */
+    UnicodeSet bitsToSet(int a) {
+        UnicodeSet result = new UnicodeSet();
+        for (int i = 0; i < 32; ++i) {
+            if ((a & (1<<i)) != 0) {
+                result.add((char)i,(char)i);
+            }
+        }
+        
+        return result;
+    }
+    
+    /**
+     * Convert a UnicodeSet to a bitmask.  Only the characters
+     * U+0000 to U+0020 are represented in the bitmask.
+     */
+    static int setToBits(UnicodeSet x) {
+        int result = 0;
+        for (int i = 0; i < 32; ++i) {
+            if (x.contains((char)i)) {
+                result |= (1<<i);
+            }
+        }
+        return result;
+    }
+
+    /**
+     * Return the representation of an inversion list based UnicodeSet
+     * as a pairs list.  Ranges are listed in ascending Unicode order.
+     * For example, the set [a-zA-M3] is represented as "33AMaz".
+     */
+    static String getPairs(UnicodeSet set) {
+        StringBuffer pairs = new StringBuffer();
+        for (int i=0; i<set.getRangeCount(); ++i) {
+            int start = set.getRangeStart(i);
+            int end = set.getRangeEnd(i);
+            if (end > 0xFFFF) {
+                end = 0xFFFF;
+                i = set.getRangeCount(); // Should be unnecessary
+            }
+            pairs.append((char)start).append((char)end);
+        }
+        return pairs.toString();
+    }
+    
+    /**
+     * Test function. Make sure that the sets have the right relation
+     */
+     
+    void expectRelation(Object relationObj, Object set1Obj, Object set2Obj, String message) {
+        int relation = ((Integer) relationObj).intValue();
+        UnicodeSet set1 = (UnicodeSet) set1Obj;
+        UnicodeSet set2 = (UnicodeSet) set2Obj;
+        
+        // by-the-by, check the iterator
+        checkRoundTrip(set1);
+        checkRoundTrip(set2);
+        
+        boolean contains = set1.containsAll(set2);
+        boolean isContained = set2.containsAll(set1);
+        boolean disjoint = set1.containsNone(set2);
+        boolean equals = set1.equals(set2);
+        
+        UnicodeSet intersection = new UnicodeSet(set1).retainAll(set2);
+        UnicodeSet minus12 = new UnicodeSet(set1).removeAll(set2);
+        UnicodeSet minus21 = new UnicodeSet(set2).removeAll(set1);
+        
+        // test basic properties
+        
+        if (contains != (intersection.size() == set2.size())) {
+            errln("FAIL contains1" + set1.toPattern(true) + ", " + set2.toPattern(true));
+        }
+          
+        if (contains != (intersection.equals(set2))) {
+            errln("FAIL contains2" + set1.toPattern(true) + ", " + set2.toPattern(true));
+        }
+          
+        if (isContained != (intersection.size() == set1.size())) {
+            errln("FAIL isContained1" + set1.toPattern(true) + ", " + set2.toPattern(true));
+        }
+          
+        if (isContained != (intersection.equals(set1))) {
+            errln("FAIL isContained2" + set1.toPattern(true) + ", " + set2.toPattern(true));
+        }
+          
+        if ((contains && isContained) != equals) {
+            errln("FAIL equals" + set1.toPattern(true) + ", " + set2.toPattern(true));
+        }
+          
+        if (disjoint != (intersection.size() == 0)) {
+            errln("FAIL disjoint" + set1.toPattern(true) + ", " + set2.toPattern(true));
+        }
+        
+        // Now see if the expected relation is true
+        int status = (minus12.size() != 0 ? 4 : 0)
+          | (intersection.size() != 0 ? 2 : 0)
+          | (minus21.size() != 0 ? 1 : 0);
+        
+        if (status != relation) {
+            errln("FAIL relation incorrect" + message
+              + "; desired = " + RELATION_NAME[relation]
+              + "; found = " + RELATION_NAME[status]
+              + "; set1 = " + set1.toPattern(true)
+              + "; set2 = " + set2.toPattern(true)
+              );
+        }
+    }
+    
+    /**
+     * Basic consistency check for a few items.
+     * That the iterator works, and that we can create a pattern and
+     * get the same thing back
+     */
+    
+    void checkRoundTrip(UnicodeSet s) {
+        String pat = s.toPattern(false);
+        UnicodeSet t = copyWithIterator(s, false);
+        checkEqual(s, t, "iterator roundtrip");
+
+        t = copyWithIterator(s, true); // try range
+        checkEqual(s, t, "iterator roundtrip");
+        
+        t = new UnicodeSet(pat);
+        checkEqual(s, t, "toPattern(false)");
+        
+        pat = s.toPattern(true);
+        t = new UnicodeSet(pat);
+        checkEqual(s, t, "toPattern(true)");
+    }
+    
+    UnicodeSet copyWithIterator(UnicodeSet s, boolean withRange) {
+        UnicodeSet t = new UnicodeSet();
+        UnicodeSetIterator it = new UnicodeSetIterator(s);
+        if (withRange) {
+            while (it.nextRange()) {
+                if (it.codepoint == UnicodeSetIterator.IS_STRING) {
+                    t.add(it.string);
+                } else {
+                    t.add(it.codepoint, it.codepointEnd);
+                }
+            }
+        } else {
+            while (it.next()) {
+                if (it.codepoint == UnicodeSetIterator.IS_STRING) {
+                    t.add(it.string);
+                } else {
+                    t.add(it.codepoint);
+                }
+            }
+        }
+        return t;
+    }
+    
+    boolean checkEqual(UnicodeSet s, UnicodeSet t, String message) {
+        if (!s.equals(t)) {
+            errln("FAIL " + message
+              + "; source = " + s.toPattern(true)
+              + "; result = " + t.toPattern(true)
+              );
+            return false;
+        }
+        return true;
+    }
+            
+    void expectEqual(String name, String pat1, String pat2) {
+        UnicodeSet set1, set2;
+        try {
+            set1 = new UnicodeSet(pat1);
+            set2 = new UnicodeSet(pat2);
+        } catch (IllegalArgumentException e) {
+            errln("FAIL: Couldn't create UnicodeSet from pattern for \"" + name + "\": " + e.getMessage());
+            return;
+        }
+        if(!set1.equals(set2)) {
+            errln("FAIL: Sets built from patterns differ for \"" + name + "\"");
+        }
+    }
+
+    /**
+     * Expect the given set to contain the characters in charsIn and
+     * to not contain those in charsOut.
+     */
+    void expectContainment(String pat, String charsIn, String charsOut) {
+        UnicodeSet set;
+        try {
+            set = new UnicodeSet(pat);
+        } catch (IllegalArgumentException e) {
+            errln("FAIL: Couldn't create UnicodeSet from pattern \"" +
+                  pat + "\": " + e.getMessage());
+            return;
+        }
+        expectContainment(set, charsIn, charsOut);
+    }
+
+    /**
+     * Expect the given set to contain the characters in charsIn and
+     * to not contain those in charsOut.
+     */
+    void expectContainment(UnicodeSet set, String charsIn, String charsOut) {
+        StringBuffer bad = new StringBuffer();
+        if (charsIn != null) {
+            charsIn = Utility.unescape(charsIn);
+            for (int i=0; i<charsIn.length(); ) {
+                int c = UTF16.charAt(charsIn,i);
+                i += UTF16.getCharCount(c);
+                if (!set.contains(c)) {
+                    UTF16.append(bad,c);
+                }
+            }
+            if (bad.length() > 0) {
+                errln(Utility.escape("FAIL: set " + set + " does not contain " + bad +
+                      ", expected containment of " + charsIn));
+            } else {
+                logln(Utility.escape("Ok: set " + set + " contains " + charsIn));
+            }
+        }
+        if (charsOut != null) {
+            charsOut = Utility.unescape(charsOut);
+            bad.setLength(0);
+            for (int i=0; i<charsOut.length(); ) {
+                int c = UTF16.charAt(charsOut,i);
+                i += UTF16.getCharCount(c);
+                if (set.contains(c)) {
+                    UTF16.append(bad, c);
+                }
+            }
+            if (bad.length() > 0) {
+                errln(Utility.escape("FAIL: set " + set + " contains " + bad +
+                      ", expected non-containment of " + charsOut));
+            } else {
+                logln(Utility.escape("Ok: set " + set + " does not contain " + charsOut));
+            }
+        }
+    }
+
+    void expectPattern(UnicodeSet set,
+                       String pattern,
+                       String expectedPairs) {
+        set.applyPattern(pattern);
+        if (!getPairs(set).equals(expectedPairs)) {
+            errln("FAIL: applyPattern(\"" + pattern +
+                  "\") => pairs \"" +
+                  Utility.escape(getPairs(set)) + "\", expected \"" +
+                  Utility.escape(expectedPairs) + "\"");
+        } else {
+            logln("Ok:   applyPattern(\"" + pattern +
+                  "\") => pairs \"" +
+                  Utility.escape(getPairs(set)) + "\"");
+        }
+    }
+
+    void expectToPattern(UnicodeSet set,
+                         String expPat,
+                         String[] expStrings) {
+        String pat = set.toPattern(true);
+        if (pat.equals(expPat)) {
+            logln("Ok:   toPattern() => \"" + pat + "\"");
+        } else {
+            errln("FAIL: toPattern() => \"" + pat + "\", expected \"" + expPat + "\"");
+            return;
+        }
+        if (expStrings == null) {
+            return;
+        }
+        boolean in = true;
+        for (int i=0; i<expStrings.length; ++i) {
+            if (expStrings[i] == NOT) { // sic; pointer comparison
+                in = false;
+                continue;
+            }
+            boolean contained = set.contains(expStrings[i]);
+            if (contained == in) {
+                logln("Ok: " + expPat + 
+                      (contained ? " contains {" : " does not contain {") +
+                      Utility.escape(expStrings[i]) + "}");
+            } else {
+                errln("FAIL: " + expPat + 
+                      (contained ? " contains {" : " does not contain {") +
+                      Utility.escape(expStrings[i]) + "}");
+            }
+        }
+    }
+
+    void expectPairs(UnicodeSet set, String expectedPairs) {
+        if (!getPairs(set).equals(expectedPairs)) {
+            errln("FAIL: Expected pair list \"" +
+                  Utility.escape(expectedPairs) + "\", got \"" +
+                  Utility.escape(getPairs(set)) + "\"");
+        }
+    }
+    static final String CharsToUnicodeString(String s) {
+        return Utility.unescape(s);
+    }
+}
diff --git a/src/com/ibm/icu/dev/test/translit/WriteCharts.java b/src/com/ibm/icu/dev/test/translit/WriteCharts.java
new file mode 100755
index 0000000..85cb6b8
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/translit/WriteCharts.java
@@ -0,0 +1,378 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+ 
+package com.ibm.icu.dev.test.translit;
+import com.ibm.icu.lang.*;
+import com.ibm.icu.text.*;
+import java.util.*;
+import java.io.*;
+
+public class WriteCharts {
+    public static void main(String[] args) throws IOException {
+        if (false) {
+            printSet("[[\u0000-\u007E \u30A1-\u30FC \uFF61-\uFF9F\u3001\u3002][:Katakana:][:Mark:]]");
+        }
+        String testSet = "";
+        if (args.length == 0) args = getAllScripts();
+        for (int i = 0; i < args.length; ++i) {
+    // Enumeration enum = Transliterator.getAvailableIDs();
+            if (args[i].startsWith("[")) {
+                testSet = args[i];
+            } else {
+                print(testSet, args[i]);
+                testSet = "";
+            }
+        }
+    }
+    
+    public static void printSet(String source) {
+        UnicodeSet s = new UnicodeSet(source);
+        System.out.println("Printout for '" + source + "'");
+        int count = s.getRangeCount();
+        for (int i = 0; i < count; ++i) {
+            int start = s.getRangeStart(i);
+            int end = s.getRangeEnd(i);
+            System.out.println(Integer.toString(start,16) + ".." + Integer.toString(end,16));
+        }
+    }
+    
+    public static String[] getAllScripts() {
+        Set set = new TreeSet();
+        int scripts[];
+        Enumeration sources = Transliterator.getAvailableSources();
+        while(sources.hasMoreElements()) {
+            String source = (String) sources.nextElement();
+            scripts = UScript.getCode(source);
+            if (scripts == null) {
+                System.out.println("[Skipping " + source + "]");
+                continue;
+            }
+            int sourceScript = scripts[0];
+            System.out.println("Source: " + source + ";\tScripts: " + showScripts(scripts));
+            Enumeration targets = Transliterator.getAvailableTargets(source);
+            while(targets.hasMoreElements()) {
+                String target = (String) targets.nextElement();
+                scripts = UScript.getCode(target);
+                if (scripts == null
+                        || priority(scripts[0]) < priority(sourceScript)) {
+                    // skip doing both directions
+                    System.out.println("[Skipping '" + source + "-" + target + "']");
+                    continue;
+                }
+                System.out.println("\tTarget: " + target + ";\tScripts: " + showScripts(scripts));
+                Enumeration variants = Transliterator.getAvailableVariants(source, target);
+                while(variants.hasMoreElements()) {
+                    String variant = (String) variants.nextElement();
+                    String id = source + "-" + target;
+                    if (variant.length() != 0) {
+                        id += "/" + variant;
+                        if (false) {
+                            System.out.println("SKIPPING VARIANT, SINCE IT CURRENTLY BREAKS!\t" + id);
+                            continue;
+                        }
+                    }
+                    System.out.println("\t\t\t\tAdding: '" + id + "'");
+                    set.add(id);
+                }
+            }
+        }
+        String[] results = new String[set.size()];
+        set.toArray(results);
+        return results;
+    }
+    
+    static public int priority(int script) {
+        if (script == UScript.LATIN) return -2;
+        return script;
+    }
+    
+    public static String showScripts(int[] scripts) {
+        StringBuffer results = new StringBuffer();
+        for (int i = 0; i < scripts.length; ++i) {
+            if (i != 0) results.append(", ");
+            results.append(UScript.getName(scripts[i]));
+        }
+        return results.toString();
+    }
+    
+    public static void print(String testSet, String rawId) throws IOException {
+        System.out.println("Processing " + rawId);
+        Transliterator t = Transliterator.getInstance(rawId);
+        String id = t.getID();
+        
+        // clean up IDs. Ought to be API for getting source, target, variant
+        int minusPos = id.indexOf('-');
+        String source = id.substring(0,minusPos);
+        String target = id.substring(minusPos+1);
+        int slashPos = target.indexOf('/');
+        if (slashPos >= 0) target = target.substring(0,slashPos);
+        
+        // check that the source is a script
+        if (testSet.equals("")) {
+            int[] scripts = UScript.getCode(source);
+            if (scripts == null) {
+                System.out.println("FAILED: " 
+                    + Transliterator.getDisplayName(id)
+                    + " does not have a script as the source");
+                return;
+            } else {
+                testSet = "[:" + source + ":]";
+                if (source.equalsIgnoreCase("katakana")) {
+                    testSet = "[" + testSet + "\u30FC]";
+                    printSet(testSet);
+                }
+            }
+        }
+        UnicodeSet sourceSet = new UnicodeSet(testSet);
+
+        // check that the target is a script
+        int[] scripts = UScript.getCode(target);
+        if (scripts == null) {
+            target = "[:Latin:]";
+        } else {
+            target = "[:" + target + ":]";
+        }
+        UnicodeSet targetSet = new UnicodeSet(target);        
+        
+        Transliterator inverse = t.getInverse();
+        
+        //Transliterator hex = Transliterator.getInstance("Any-Hex");
+        
+                
+        // iterate through script
+        System.out.println("Transliterating " + sourceSet.toPattern(true) 
+            + " with " + Transliterator.getDisplayName(id));
+                
+        UnicodeSet leftOverSet = new UnicodeSet(targetSet);
+        UnicodeSet privateUse = new UnicodeSet("[:private use:]");
+            
+        Map map = new TreeMap();
+        
+        UnicodeSet targetSetPlusAnyways = new UnicodeSet(targetSet);
+        targetSetPlusAnyways.addAll(okAnyway);
+        
+        UnicodeSet sourceSetPlusAnyways = new UnicodeSet(sourceSet);
+        sourceSetPlusAnyways.addAll(okAnyway);
+        
+        UnicodeSetIterator usi = new UnicodeSetIterator(sourceSet);
+        
+        while (usi.next()) {
+            int j = usi.codepoint;
+            /*
+        int count = sourceSet.getRangeCount();
+        for (int i = 0; i < count; ++i) {
+            int end = sourceSet.getRangeEnd(i);
+            for (int j = sourceSet.getRangeStart(i); j <= end; ++j) {
+            */
+               // String flag = "";
+                String ss = UTF16.valueOf(j);
+                String ts = t.transliterate(ss);
+                char group = 0;
+                if (!targetSetPlusAnyways.containsAll(ts)) {
+                    group |= 1;
+                }
+                if (UTF16.countCodePoint(ts) == 1) {
+                    leftOverSet.remove(UTF16.charAt(ts,0));
+                }
+                String rt = inverse.transliterate(ts);
+                if (!sourceSetPlusAnyways.containsAll(rt)) {
+                    group |= 2;
+                } else if (!ss.equals(rt)) {
+                    group |= 4;
+                }
+                
+                if (!privateUse.containsNone(ts) || !privateUse.containsNone(rt)) {
+                    group |= 16;
+                }
+                    
+                map.put(group + UCharacter.toLowerCase(Normalizer.normalize(ss, Normalizer.NFKD))
+                        + "\u0000" + ss, 
+                    "<td class='s'>" + ss + "<br><tt>" + hex(ss)
+                        + "</tt></td><td class='t'>" + ts + "<br><tt>" + hex(ts)
+                        + "</tt></td><td class='r'>" + rt + "<br><tt>" + hex(rt) + "</tt></td>" );
+                
+                // Check Duals
+                /*
+                int maxDual = 200;
+              dual:
+                for (int i2 = 0; i2 < count; ++i2) {
+                    int end2 = sourceSet.getRangeEnd(i2);
+                    for (int j2 = sourceSet.getRangeStart(i2); j2 <= end; ++j2) {
+                        String ss2 = UTF16.valueOf(j2);
+                        String ts2 = t.transliterate(ss2);
+                        String rt2 = inverse.transliterate(ts2);
+                        
+                        String ss12 = ss + ss2;
+                        String ts12 = t.transliterate(ss + ss12);
+                        String rt12 = inverse.transliterate(ts12);
+                        if (ts12.equals(ts + ts2) && rt12.equals(rt + rt2)) continue;   
+                        if (--maxDual < 0) break dual;
+                        
+                        // transliteration of whole differs from that of parts
+                        group = 0x100;
+                        map.put(group + UCharacter.toLowerCase(Normalizer.normalize(ss12, Normalizer.DECOMP_COMPAT, 0))
+                                + "\u0000" + ss12, 
+                            "<td class='s'>" + ss12 + "<br><tt>" + hex(ss12)
+                                + "</tt></td><td class='t'>" + ts12 + "<br><tt>" + hex(ts12)
+                                + "</tt></td><td class='r'>" + rt12 + "<br><tt>" + hex(rt12) + "</tt></td>" );
+                    }
+                }
+                */
+            //}
+        }
+        
+        
+        leftOverSet.remove(0x0100,0x02FF); // remove extended & IPA
+        
+        /*int count = leftOverSet.getRangeCount();
+        for (int i = 0; i < count; ++i) {
+            int end = leftOverSet.getRangeEnd(i);
+            for (int j = leftOverSet.getRangeStart(i); j <= end; ++j) {
+            */
+            
+        usi.reset(leftOverSet);
+        while (usi.next()) {
+            int j = usi.codepoint;
+            
+                String ts = UTF16.valueOf(j);
+                // String decomp = Normalizer.normalize(ts, Normalizer.DECOMP_COMPAT, 0);
+                // if (!decomp.equals(ts)) continue;
+                
+                String rt = inverse.transliterate(ts);
+                // String flag = "";
+                char group = 0x80;
+                    
+                if (!sourceSetPlusAnyways.containsAll(rt)) {
+                    group |= 8;
+                }
+                if (!privateUse.containsNone(rt)) {
+                    group |= 16;
+                }
+                    
+                map.put(group + UCharacter.toLowerCase(Normalizer.normalize(ts, Normalizer.NFKD)) + ts, 
+                    "<td class='s'>-</td><td class='t'>" + ts + "<br><tt>" + hex(ts)
+                    + "</tt></td><td class='r'>"
+                    + rt + "<br><tt>" + hex(rt) + "</tt></td>");
+            //}
+        }
+
+        // make file name and open
+        File f = new File("transliteration/chart_" + id.replace('/', '_') + ".html");
+        String filename = f.getCanonicalFile().toString();
+        PrintWriter out = new PrintWriter(
+            new OutputStreamWriter(
+                new FileOutputStream(filename), "UTF-8"));
+        //out.print('\uFEFF'); // BOM
+        
+        System.out.println("Writing " + filename);
+        
+        try {
+            out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">");
+            out.println("<HTML><HEAD>");
+            out.println("<META content=\"text/html; charset=utf-8\" http-equiv=Content-Type></HEAD>");
+            out.println("<link rel='stylesheet' href='http://www.unicode.org/charts/uca/charts.css' type='text/css'>");
+            
+            out.println("<BODY>");
+            out.println("<h1>Transliteration Samples for '" + Transliterator.getDisplayName(id) + "'</h1>");
+            out.println("<p>This file illustrates the transliterations of " + Transliterator.getDisplayName(id) + ".");
+            out.println("The samples are mechanically generated, and only include single characters");
+            out.println("from the source set. Thus it will <i>not</i> contain examples where the transliteration");
+            out.println("depends on the context around the character. For a more detailed -- and interactive -- example, see the");
+            out.println("<a href='http://oss.software.ibm.com/cgi-bin/icu/tr'>Transliteration Demo</a></p><hr>");
+            
+            // set up the headers
+            int columnCount = 3;
+            String headerBase = "<th>Source</th><th>Target</th><th>Return</th>";
+            String headers = headerBase;
+            for (int i = columnCount - 1; i > 0; --i) {
+                if (i != columnCount - 1) headers += "<th>&nbsp;</th>";
+                headers += headerBase;
+            }
+            
+            String tableHeader = "<p><table border='1'><tr>" + headers + "</tr>";
+            String tableFooter = "</table></p>";
+            out.println("<h2>Round Trip</h2>");
+            out.println(tableHeader);
+            
+            Iterator it = map.keySet().iterator();
+            char lastGroup = 0;
+            int count = 0;
+            int column = 0;
+            while (it.hasNext()) {
+                String key = (String) it.next();
+                char group = key.charAt(0);
+                if (group != lastGroup || count++ > 50) {
+                    lastGroup = group;
+                    count = 0;
+                    if (column != 0) {
+                        out.println("</tr>");
+                        column = 0;
+                    }
+                    out.println(tableFooter);
+                    
+                    // String title = "";
+                    if ((group & 0x100) != 0) out.println("<hr><h2>Duals</h2>");
+                    else if ((group & 0x80) != 0) out.println("<hr><h2>Completeness</h2>");
+                    else out.println("<hr><h2>Round Trip</h2>");
+                    if ((group & 16) != 0) out.println("<h3>Errors: Contains Private Use Characters</h3>");
+                    if ((group & 8) != 0) out.println("<h3>Possible Errors: Return not in Source Set</h3>");
+                    if ((group & 4) != 0) out.println("<h3>One-Way Mapping: Return not equal to Source</h3>");
+                    if ((group & 2) != 0) out.println("<h3>Errors: Return not in Source Set</h3>");
+                    if ((group & 1) != 0) out.println("<h3>Errors: Target not in Target Set</h3>");
+                                        
+                    out.println(tableHeader);
+                    column = 0;
+                }
+                String value = (String) map.get(key);
+                if (column++ == 0) out.print("<tr>");
+                else out.print("<th>&nbsp;</th>");
+                out.println(value);
+                if (column == 3) {
+                    out.println("</tr>");
+                    column = 0;
+                }
+            }
+            if (column != 0) {
+                out.println("</tr>");
+                column = 0;
+            }
+            out.println(tableFooter + "</BODY></HTML>");
+            
+        } finally {
+            out.close();
+        }
+    }
+    
+    public static String hex(String s) {
+        int cp;
+        StringBuffer results = new StringBuffer();
+        for (int i = 0; i < s.length(); i += UTF16.getCharCount(cp)) {
+            cp = UTF16.charAt(s, i);
+            if (i != 0) results.append(' ');
+            results.append(Integer.toHexString(cp));
+        }
+        return results.toString().toUpperCase();
+    }
+    
+    static final UnicodeSet okAnyway = new UnicodeSet("[^[:Letter:]]");
+    
+    /*
+    // tests whether a string is in a set. Also checks for Common and Inherited
+    public static boolean isIn(String s, UnicodeSet set) {
+        int cp;
+        for (int i = 0; i < s.length(); i += UTF16.getCharCount(i)) {
+            cp = UTF16.charAt(s, i);
+            if (set.contains(cp)) continue;
+            if (okAnyway.contains(cp)) continue;
+            return false;
+        }
+        return true;
+    }
+    */
+    
+}
+  
\ No newline at end of file
diff --git a/src/com/ibm/icu/dev/test/translit/package.html b/src/com/ibm/icu/dev/test/translit/package.html
new file mode 100755
index 0000000..5fdff1c
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/translit/package.html
@@ -0,0 +1,12 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html>
+<head>
+<!--  Copyright (C) 2000-2004, International Business Machines Corporation and
+  others. All Rights Reserved.
+
+-->
+</head>
+<body bgcolor="white">
+Transliterator tests.
+</body>
+</html>
\ No newline at end of file
diff --git a/src/com/ibm/icu/dev/test/util/ArrayComparator.java b/src/com/ibm/icu/dev/test/util/ArrayComparator.java
new file mode 100644
index 0000000..0cb0e87
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/util/ArrayComparator.java
@@ -0,0 +1,71 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2002-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.test.util;
+import java.util.Comparator;
+
+public class ArrayComparator implements Comparator {
+    private Comparator[] comparators;
+    private int[] reordering;
+    
+    public ArrayComparator (Comparator[] comparators, int[] reordering) {
+        this.comparators = comparators;
+        this.reordering = reordering;
+        if (this.reordering == null) {
+        	this.reordering = new int[comparators.length];
+        	for (int i = 0; i < this.reordering.length; ++i) {
+        		this.reordering[i] = i;
+        	}
+        } else {
+        	if (this.reordering.length != this.comparators.length) {
+        		throw new IllegalArgumentException("comparator and reordering lengths must match");
+        	}
+        }
+    }
+    
+    public ArrayComparator (Comparator[] comparators) {
+        this(comparators,null);
+    }
+    
+    /* Lexigraphic compare. Returns the first difference
+     * @return zero if equal. Otherwise +/- (i+1) 
+     * where i is the index of the first comparator finding a difference
+     * @see java.util.Comparator#compare(java.lang.Object, java.lang.Object)
+     */
+    public int compare(Object a0, Object a1) {
+    	Object[] arg0 = (Object[]) a0;
+    	Object[] arg1 = (Object[]) a1;
+        for (int j = 0; j < comparators.length; ++j) {
+        	int i = reordering[j];
+        	Comparator comp = comparators[i];
+        	if (comp == null) continue;
+            int result = comp.compare(arg0[i], arg1[i]);
+            if (result == 0) continue;
+            if (result > 0) return i+1;
+            return -(i+1);
+        }
+        return 0;
+    }
+
+    static class CatchExceptionComparator implements Comparator {
+        private Comparator other;
+        
+        public CatchExceptionComparator(Comparator other) {
+            this.other = other;
+        }
+
+        public int compare(Object arg0, Object arg1) throws RuntimeException {
+            try {
+                return other.compare(arg0, arg1);
+            } catch (RuntimeException e) {
+                System.out.println("Arg0: " + arg0);
+                System.out.println("Arg1: " + arg1);
+                throw e;
+            }
+        }
+    }
+    
+}
\ No newline at end of file
diff --git a/src/com/ibm/icu/dev/test/util/BNF.java b/src/com/ibm/icu/dev/test/util/BNF.java
new file mode 100644
index 0000000..685949f
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/util/BNF.java
@@ -0,0 +1,322 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2002-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.test.util;
+
+import java.util.ArrayList;
+import java.util.Map;
+import java.util.Set;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Iterator;
+
+import com.ibm.icu.text.UnicodeSet;
+import java.util.Random;
+
+public class BNF {
+    private Map map = new HashMap();
+    private Set variables = new HashSet();
+    private Pick pick = null;
+    private Pick.Target target = null;
+    private Tokenizer t;
+    private Quoter quoter;
+    private Random random;
+    
+    public String next() {
+        return target.next();
+    }
+    
+    public String getInternal() {
+        return pick.getInternal(0, new HashSet());
+    }
+    
+    /*
+    + "weight = integer '%';"
+    + "range = '{' integer (',' integer?)? '}' weight*;"
+    + "quote = '@';"
+    + "star = '*' weight*;"
+    + "plus = '+' weight*;"
+    + "maybe = '?' weight?;"
+    + "quantifier = range | star | maybe | plus;"
+    + "core = string | unicodeSet | '(' alternation ')';"
+    + "sequence = (core quantifier*)+;"
+    + "alternation = sequence (weight? ('|' sequence weight?)+)?;"
+    + "rule = string '=' alternation;"; 
+    
+    
+    *      Match 0 or more times
+    +      Match 1 or more times
+    ?      Match 1 or 0 times
+    {n}    Match exactly n times
+    {n,}   Match at least n times
+    {n,m}  Match at least n but not more than m times  
+ 
+ 
+
+    */
+    
+    public BNF(Random random, Quoter quoter) {
+        this.random = random;
+        this.quoter = quoter;
+        t = new Tokenizer();
+    }
+    
+    public BNF addRules(String rules) {
+        t.setSource(rules);        
+        while (addRule()) {
+        }
+        return this; // for chaining
+    }
+    
+    public BNF complete() {
+        // check that the rules match the variables, except for $root in rules
+        Set ruleSet = map.keySet();
+        // add also 
+        variables.add("$root");
+        variables.addAll(t.getLookedUpItems());
+        if (!ruleSet.equals(variables)) {
+            String msg = showDiff(variables, ruleSet);
+            if (msg.length() != 0) msg = "Error: Missing definitions for: " + msg;
+            String temp = showDiff(ruleSet, variables);
+            if (temp.length() != 0) temp = "Warning: Defined but not used: " + temp;
+            if (msg.length() == 0) msg = temp;
+            else if (temp.length() != 0) {
+                msg = msg + "; " + temp;           
+            }
+            error(msg);           
+        } 
+        
+        if (!ruleSet.equals(variables)) {
+            String msg = showDiff(variables, ruleSet);
+            if (msg.length() != 0) msg = "Missing definitions for: " + msg;
+            String temp = showDiff(ruleSet, variables);
+            if (temp.length() != 0) temp = "Defined but not used: " + temp;
+            if (msg.length() == 0) msg = temp;
+            else if (temp.length() != 0) {
+                msg = msg + "; " + temp;           
+            }
+            error(msg);           
+        } 
+        
+        // replace variables by definitions
+        Iterator it = ruleSet.iterator();
+        while (it.hasNext()) {
+            String key = (String) it.next();
+            Pick expression = (Pick) map.get(key);
+            Iterator it2 = ruleSet.iterator();  
+            if (false && key.equals("$crlf")) {
+                System.out.println("debug") ;
+            }
+            while (it2.hasNext()) {
+                Object key2 = it2.next();
+                if (key.equals(key2)) continue;
+                Pick expression2 = (Pick) map.get(key2);
+                expression2.replace(key, expression);
+            }
+        }
+        pick = (Pick) map.get("$root");
+        target = Pick.Target.make(pick, random, quoter);
+        // TODO remove temp collections
+        return this;
+    }
+    
+    String showDiff(Set a, Set b) {
+        Set temp = new HashSet();
+        temp.addAll(a);
+        temp.removeAll(b);
+        if (temp.size() == 0) return "";
+        StringBuffer buffer = new StringBuffer();
+        Iterator it = temp.iterator();
+        while (it.hasNext()) {
+            if (buffer.length() != 0) buffer.append(", ");
+            buffer.append(it.next().toString());
+        }
+        return buffer.toString();
+    }
+    
+    void error(String msg) {
+        throw new IllegalArgumentException(msg
+        + "\r\n" + t.toString());
+    }
+    
+    
+    
+    private boolean addRule() {
+        int type = t.next();
+        if (type == Tokenizer.DONE) return false;
+        if (type != Tokenizer.STRING) error("missing weight");
+        String s = t.getString();
+        if (s.length() == 0 || s.charAt(0) != '$') error("missing $ in variable");
+        if (t.next() != '=') error("missing =");
+        int startBody = t.index;
+        Pick rule = getAlternation();
+        if (rule == null) error("missing expression");
+        t.addSymbol(s, t.getSource(), startBody, t.index);
+        if (t.next() != ';') error("missing ;");       
+        return addPick(s, rule);
+    }
+
+    protected boolean addPick(String s, Pick rule) {
+        Object temp = map.get(s);
+        if (temp != null) error("duplicate variable");
+        if (rule.name == null) rule.name(s);
+        map.put(s, rule);
+        return true;
+    }
+    
+    public BNF addSet(String variable, UnicodeSet set) {
+        if (set != null) {
+            String body = set.toString();
+            t.addSymbol(variable, body, 0, body.length());        
+            addPick(variable, Pick.codePoint(set));
+        }
+        return this;
+    }
+    
+    int maxRepeat = 99;
+    
+    Pick qualify(Pick item) {
+        int[] weights;
+        int type = t.next();
+        switch(type) {
+            case '@': 
+                return new Pick.Quote(item);
+            case '~': 
+                return new Pick.Morph(item);
+            case '?': 
+                int weight = getWeight();
+                if (weight == NO_WEIGHT) weight = 50;
+                weights = new int[] {100-weight, weight};
+                return Pick.repeat(0, 1, weights, item);
+            case '*': 
+                weights = getWeights();
+                return Pick.repeat(1, maxRepeat, weights, item);
+            case '+': 
+                weights = getWeights();
+                return Pick.repeat(1, maxRepeat, weights, item);
+            case '{':
+                if (t.next() != Tokenizer.NUMBER) error("missing number");
+                int start = (int) t.getNumber();
+                int end = start;
+                type = t.next();
+                if (type == ',') {
+                    end = maxRepeat;
+                    type = t.next();
+                    if (type == Tokenizer.NUMBER) {
+                        end = (int)t.getNumber();
+                        type = t.next();
+                    }
+                }
+                if (type != '}') error("missing }");
+                weights = getWeights();
+                return Pick.repeat(start, end, weights, item);
+        }
+        t.backup();
+        return item;
+    }
+    
+    Pick getCore() {
+        int token = t.next();
+        if (token == Tokenizer.STRING) {
+            String s = t.getString();
+            if (s.charAt(0) == '$') variables.add(s);
+            return Pick.string(s);
+        }
+        if (token == Tokenizer.UNICODESET) {
+            return Pick.codePoint(t.getUnicodeSet());            
+        }
+        if (token != '(') {
+            t.backup();
+            return null;
+        }
+        Pick temp = getAlternation();
+        token = t.next();
+        if (token != ')') error("missing )");    
+        return temp;    
+    }
+    
+    Pick getSequence() {
+        Pick.Sequence result = null;
+        Pick last = null;
+        while (true) {
+            Pick item = getCore();
+            if (item == null) {
+                if (result != null) return result;
+                if (last != null) return last;
+                error("missing item");
+            }
+            // qualify it as many times as possible
+            Pick oldItem;
+            do {
+                oldItem = item;
+                item = qualify(item);
+            } while (item != oldItem);
+            // add it in
+            if (last == null) {
+                last = item;
+            } else {
+                if (result == null) result = Pick.makeSequence().and2(last);            
+                result = result.and2(item);
+            }
+        }
+    }
+    
+    // for simplicity, we just use recursive descent
+    Pick getAlternation() {
+        Pick.Alternation result = null;
+        Pick last = null;
+        int lastWeight = NO_WEIGHT;
+        while (true) {
+            Pick temp = getSequence();
+            if (temp == null) error("empty alternation");
+            int weight = getWeight();
+            if (weight == NO_WEIGHT) weight = 1;
+            if (last == null) {
+                last = temp;
+                lastWeight = weight;
+            } else {
+                if (result == null) result = Pick.makeAlternation().or2(lastWeight, last);
+                result = result.or2(weight, temp);   
+            }
+            int token = t.next();
+            if (token != '|') {
+                t.backup();
+                if (result != null) return result;
+                if (last != null) return last;
+            }
+        }        
+    }
+    
+    private static final int NO_WEIGHT = Integer.MIN_VALUE;
+    
+    int getWeight() {       
+        int weight;
+        int token = t.next();
+        if (token != Tokenizer.NUMBER) {
+            t.backup();
+            return NO_WEIGHT;
+        }
+        weight = (int)t.getNumber();
+        token = t.next();
+        if (token != '%') error("missing %");
+        return weight;
+    }
+    
+    int[] getWeights() {
+        ArrayList list = new ArrayList();
+        while (true) {
+            int weight = getWeight();
+            if (weight == NO_WEIGHT) break;
+            list.add(new Integer(weight));
+        }
+        if (list.size() == 0) return null;
+        int[] result = new int[list.size()];
+        for (int i = 0; i < list.size(); ++i) {
+            result[i] = ((Integer)list.get(i)).intValue();
+        }
+        return result;
+    }
+}
diff --git a/src/com/ibm/icu/dev/test/util/BagFormatter.java b/src/com/ibm/icu/dev/test/util/BagFormatter.java
new file mode 100644
index 0000000..f263fcc
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/util/BagFormatter.java
@@ -0,0 +1,1154 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2002-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.test.util;
+
+import java.io.BufferedReader;
+import java.io.BufferedWriter;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.io.OutputStreamWriter;
+import java.io.PrintWriter;
+import java.io.StringWriter;
+import java.text.MessageFormat;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Locale;
+import java.util.Map;
+
+import com.ibm.icu.impl.Utility;
+import com.ibm.icu.text.NumberFormat;
+import com.ibm.icu.text.Transliterator;
+import com.ibm.icu.text.UTF16;
+import com.ibm.icu.text.UnicodeSet;
+
+public class BagFormatter {
+    static final boolean DEBUG = false;
+    public static final boolean SHOW_FILES;
+    static {
+	boolean showFiles = false;
+	try {
+	    showFiles = System.getProperty("SHOW_FILES") != null;
+	}
+	catch (SecurityException e) {
+	}
+	SHOW_FILES = showFiles;
+    }
+
+    private static final String BASE_RULES =
+	  	"'<' > '&lt;' ;" +
+	    "'<' < '&'[lL][Tt]';' ;" +
+	    "'&' > '&amp;' ;" +
+	    "'&' < '&'[aA][mM][pP]';' ;" +
+	    "'>' < '&'[gG][tT]';' ;" +
+	    "'\"' < '&'[qQ][uU][oO][tT]';' ; " +
+	    "'' < '&'[aA][pP][oO][sS]';' ; ";
+
+    private static final String CONTENT_RULES =
+        "'>' > '&gt;' ;";
+
+    private static final String HTML_RULES = BASE_RULES + CONTENT_RULES + 
+    "'\"' > '&quot;' ; ";
+
+    private static final String HTML_RULES_CONTROLS = HTML_RULES + 
+    "([[:C:][:Z:][:whitespace:][:Default_Ignorable_Code_Point:]]) > &hex/unicode($1) ; ";
+
+    private static final String XML_RULES = HTML_RULES +
+	    "'' > '&apos;' ; ";
+    
+    /*
+The ampersand character (&) and the left angle bracket (<) MUST NOT appear 
+
+in their literal form, except when used as markup delimiters, or within a 
+
+comment, a processing instruction, or a CDATA section. If they are needed 
+
+elsewhere, they MUST be escaped using either numeric character references or 
+
+the strings "&amp;" and "&lt;" respectively. The right angle bracket (>) MAY 
+
+be represented using the string "&gt;", and MUST, for compatibility, be 
+
+escaped using either "&gt;" or a character reference when it appears in the string 
+
+"]]>" in content, when that string is not marking the end of a CDATA section.
+
+In the content of elements, character data is any string of characters which does 
+
+not contain the start-delimiter of any markup and does not include the 
+
+CDATA-section-close delimiter, "]]>". In a CDATA section, character data is 
+
+any string of characters not including the CDATA-section-close delimiter, 
+
+"]]>".
+
+To allow attribute values to contain both single and double quotes, the 
+
+apostrophe or single-quote character (') MAY be represented as "&apos;", and 
+
+the double-quote character (") as "&quot;".
+
+
+     */
+
+    public static final Transliterator toXML = Transliterator.createFromRules(
+            "any-xml", XML_RULES, Transliterator.FORWARD);
+    public static final Transliterator fromXML = Transliterator.createFromRules(
+            "xml-any", XML_RULES, Transliterator.REVERSE);
+
+    public static final Transliterator toHTML = Transliterator.createFromRules(
+            "any-html", HTML_RULES, Transliterator.FORWARD);
+    public static final Transliterator toHTMLControl = Transliterator.createFromRules(
+            "any-html", HTML_RULES_CONTROLS, Transliterator.FORWARD);
+    public static final Transliterator fromHTML = Transliterator.createFromRules(
+            "html-any", HTML_RULES, Transliterator.REVERSE);
+
+    public static final PrintWriter CONSOLE = new PrintWriter(System.out,true);
+
+    private static PrintWriter log = CONSOLE;
+
+    private boolean abbreviated = false;
+    private String separator = ",";
+    private String prefix = "[";
+    private String suffix = "]";
+    private UnicodeProperty.Factory source;
+    private UnicodeLabel nameSource;
+    private UnicodeLabel labelSource;
+    private UnicodeLabel rangeBreakSource;
+    private UnicodeLabel valueSource;
+    private String propName = "";
+    private boolean showCount = true;
+    private boolean skipNullValues = true;
+    //private boolean suppressReserved = true;
+    private boolean hexValue = false;
+    private static final String NULL_VALUE = "_NULL_VALUE_";
+    private int fullTotal = -1;
+    private String lineSeparator = "\r\n";
+
+    /**
+     * Compare two UnicodeSets, and show the differences
+     * @param name1 name of first set to be compared
+     * @param set1 first set
+     * @param name2 name of second set to be compared
+     * @param set2 second set
+     * @return formatted string
+     */
+    public String showSetDifferences(
+        String name1,
+        UnicodeSet set1,
+        String name2,
+        UnicodeSet set2) {
+
+        StringWriter result = new StringWriter();
+        showSetDifferences(new PrintWriter(result),name1,set1,name2,set2);
+        result.flush();
+        return result.getBuffer().toString();
+    }
+
+    public String showSetDifferences(
+        String name1,
+        Collection set1,
+        String name2,
+        Collection set2) {
+
+        StringWriter result = new StringWriter();
+        showSetDifferences(new PrintWriter(result), name1, set1, name2, set2);
+        result.flush();
+        return result.getBuffer().toString();
+    }
+
+    public void showSetDifferences(
+            PrintWriter pw,
+            String name1,
+            UnicodeSet set1,
+            String name2,
+            UnicodeSet set2) {
+    	showSetDifferences(pw, name1, set1, name2, set2, -1);
+    }
+    /**
+     * Compare two UnicodeSets, and show the differences
+     * @param name1 name of first set to be compared
+     * @param set1 first set
+     * @param name2 name of second set to be compared
+     * @param set2 second set
+     * @return formatted string
+     */
+    public void showSetDifferences(
+        PrintWriter pw,
+        String name1,
+        UnicodeSet set1,
+        String name2,
+        UnicodeSet set2,
+		int flags) 
+    {
+        if (pw == null) pw = CONSOLE;
+        String[] names = { name1, name2 };
+
+        UnicodeSet temp;
+        
+        if ((flags&1) != 0) {
+        	temp = new UnicodeSet(set1).removeAll(set2);
+	        pw.print(lineSeparator);
+	        pw.print(inOut.format(names));
+	        pw.print(lineSeparator);
+	        showSetNames(pw, temp);
+        }
+
+        if ((flags&2) != 0) {
+        	temp = new UnicodeSet(set2).removeAll(set1);
+	        pw.print(lineSeparator);
+	        pw.print(outIn.format(names));
+	        pw.print(lineSeparator);
+	        showSetNames(pw, temp);
+	    }
+
+        if ((flags&4) != 0) {
+	        temp = new UnicodeSet(set2).retainAll(set1);
+	        pw.print(lineSeparator);
+	        pw.print(inIn.format(names));
+	        pw.print(lineSeparator);
+	        showSetNames(pw, temp);
+        }
+        pw.flush();
+    }
+
+    public void showSetDifferences(
+        PrintWriter pw,
+        String name1,
+        Collection set1,
+        String name2,
+        Collection set2) {
+
+        if (pw == null) pw = CONSOLE;
+        String[] names = { name1, name2 };
+        // damn'd collection doesn't have a clone, so
+        // we go with Set, even though that
+        // may not preserve order and duplicates
+        Collection temp = new HashSet(set1);
+        temp.removeAll(set2);
+        pw.println();
+        pw.println(inOut.format(names));
+        showSetNames(pw, temp);
+
+        temp.clear();
+        temp.addAll(set2);
+        temp.removeAll(set1);
+        pw.println();
+        pw.println(outIn.format(names));
+        showSetNames(pw, temp);
+
+        temp.clear();
+        temp.addAll(set1);
+        temp.retainAll(set2);
+        pw.println();
+        pw.println(inIn.format(names));
+        showSetNames(pw, temp);
+    }
+
+    /**
+     * Returns a list of items in the collection, with each separated by the separator.
+     * Each item must not be null; its toString() is called for a printable representation
+     * @param c source collection
+     * @return a String representation of the list
+     * @internal
+     */
+    public String showSetNames(Object c) {
+        StringWriter buffer = new StringWriter();
+        PrintWriter output = new PrintWriter(buffer);
+        showSetNames(output,c);
+        return buffer.toString();
+    }
+
+    /**
+     * Returns a list of items in the collection, with each separated by the separator.
+     * Each item must not be null; its toString() is called for a printable representation
+     * @param output destination to which to write names
+     * @param c source collection
+     * @internal
+     */
+    public void showSetNames(PrintWriter output, Object c) {
+        mainVisitor.doAt(c, output);
+        output.flush();
+    }
+
+    /**
+     * Returns a list of items in the collection, with each separated by the separator.
+     * Each item must not be null; its toString() is called for a printable representation
+     * @param filename destination to which to write names
+     * @param c source collection
+     * @internal
+     */
+    public void showSetNames(String filename, Object c) throws IOException {
+        PrintWriter pw = new PrintWriter(
+            new OutputStreamWriter(
+                new FileOutputStream(filename),"utf-8"));
+        showSetNames(log,c);
+        pw.close();
+    }
+
+    public String getAbbreviatedName(
+        String source,
+        String pattern,
+        String substitute) {
+
+        int matchEnd = NameIterator.findMatchingEnd(source, pattern);
+        int sdiv = source.length() - matchEnd;
+        int pdiv = pattern.length() - matchEnd;
+        StringBuffer result = new StringBuffer();
+        addMatching(
+            source.substring(0, sdiv),
+            pattern.substring(0, pdiv),
+            substitute,
+            result);
+        addMatching(
+            source.substring(sdiv),
+            pattern.substring(pdiv),
+            substitute,
+            result);
+        return result.toString();
+    }
+
+    abstract public static class Relation {
+        abstract public String getRelation(String a, String b);
+    }
+
+    static class NullRelation extends Relation {
+        public String getRelation(String a, String b) { return ""; }
+    }
+
+    private Relation r = new NullRelation();
+
+    public BagFormatter setRelation(Relation r) {
+        this.r = r;
+        return this; // for chaining
+    }
+
+    public Relation getRelation() {
+        return r;
+    }
+
+    /*
+     r.getRelati on(last, s) + quote(s) + "\t#" + UnicodeSetFormatter.getResolvedName(s)
+    */
+    /*
+    static final UnicodeSet NO_NAME =
+        new UnicodeSet("[\\u0080\\u0081\\u0084\\u0099\\p{Cn}\\p{Co}]");
+    static final UnicodeSet HAS_NAME = new UnicodeSet(NO_NAME).complement();
+    static final UnicodeSet NAME_CHARACTERS =
+        new UnicodeSet("[A-Za-z0-9\\<\\>\\-\\ ]");
+
+    public UnicodeSet getSetForName(String namePattern) {
+        UnicodeSet result = new UnicodeSet();
+        Matcher m = Pattern.compile(namePattern).matcher("");
+        // check for no-name items, and add in bulk
+        m.reset("<no name>");
+        if (m.matches()) {
+            result.addAll(NO_NAME);
+        }
+        // check all others
+        UnicodeSetIterator usi = new UnicodeSetIterator(HAS_NAME);
+        while (usi.next()) {
+            String name = getName(usi.codepoint);
+            if (name == null)
+                continue;
+            m.reset(name);
+            if (m.matches()) {
+                result.add(usi.codepoint);
+            }
+        }
+        // Note: if Regex had some API so that if we could tell that
+        // an initial substring couldn't match, e.g. "CJK IDEOGRAPH-"
+        // then we could optimize by skipping whole swathes of characters
+        return result;
+    }
+    */
+
+    public BagFormatter setMergeRanges(boolean in) {
+        mergeRanges = in;
+        return this;
+    }
+    public BagFormatter setShowSetAlso(boolean b) {
+        showSetAlso = b;
+        return this;
+    }
+
+    public String getName(int codePoint) {
+        return getName("", codePoint, codePoint);
+    }
+
+    public String getName(String separator, int start, int end) {
+        if (getNameSource() == null || getNameSource() == UnicodeProperty.NULL) return "";
+        String result = getName(start, false);
+        if (start == end) return separator + result;
+        String endString = getName(end, false);
+        if (result.length() == 0 && endString.length() == 0) return separator;
+        if (abbreviated) endString = getAbbreviatedName(endString,result,"~");
+        return separator + result + ".." + endString;
+    }
+
+    public String getName(String s) {
+        return getName(s, false);
+    }
+
+    class NameLabel extends UnicodeLabel {
+        UnicodeProperty nameProp;
+        UnicodeSet control;
+        UnicodeSet private_use;
+        UnicodeSet noncharacter;
+        UnicodeSet surrogate;
+
+        NameLabel(UnicodeProperty.Factory source) {
+            nameProp = source.getProperty("Name");
+            control = source.getSet("gc=Cc");
+            private_use = source.getSet("gc=Co");
+            surrogate = source.getSet("gc=Cs");
+            noncharacter = source.getSet("noncharactercodepoint=true");
+        }
+
+        public String getValue(int codePoint, boolean isShort) {
+            String hcp = !isShort
+                ? "U+" + Utility.hex(codePoint, 4) + " "
+                : "";
+            String result = nameProp.getValue(codePoint);
+            if (result != null)
+                return hcp + result;
+            if (control.contains(codePoint)) return "<control-" + Utility.hex(codePoint, 4) + ">";
+            if (private_use.contains(codePoint)) return "<private-use-" + Utility.hex(codePoint, 4) + ">";
+            if (noncharacter.contains(codePoint)) return "<noncharacter-" + Utility.hex(codePoint, 4) + ">";
+            if (surrogate.contains(codePoint)) return "<surrogate-" + Utility.hex(codePoint, 4) + ">";
+            //if (suppressReserved) return "";
+            return hcp + "<reserved-" + Utility.hex(codePoint, 4) + ">";
+        }
+
+    }
+
+    // refactored
+    public String getName(int codePoint, boolean withCodePoint) {
+    	String result = getNameSource().getValue(codePoint, !withCodePoint);
+        return fixName == null ? result : fixName.transliterate(result);
+    }
+
+    public String getName(String s, boolean withCodePoint) {
+       	String result = getNameSource().getValue(s, separator, !withCodePoint);
+        return fixName == null ? result : fixName.transliterate(result);
+     }
+
+    public String hex(String s) {
+        return hex(s,separator);
+    }
+
+    public String hex(String s, String separator) {
+        return UnicodeLabel.HEX.getValue(s, separator, true);
+    }
+
+    public String hex(int start, int end) {
+        String s = Utility.hex(start,4);
+        if (start == end) return s;
+        return s + ".." + Utility.hex(end,4);
+    }
+
+    public BagFormatter setUnicodePropertyFactory(UnicodeProperty.Factory source) {
+        this.source = source;
+        return this;
+    }
+
+    public UnicodeProperty.Factory getUnicodePropertyFactory() {
+        if (source == null) source = ICUPropertyFactory.make();
+        return source;
+    }
+
+    public BagFormatter () {
+    }
+
+    public BagFormatter (UnicodeProperty.Factory source) {
+        setUnicodePropertyFactory(source);
+    }
+
+    public String join(Object o) {
+        return labelVisitor.join(o);
+    }
+
+    // ===== PRIVATES =====
+
+    private Join labelVisitor = new Join();
+
+    private boolean mergeRanges = true;
+    private Transliterator showLiteral = null;
+    private Transliterator fixName = null;
+    private boolean showSetAlso = false;
+
+    private RangeFinder rf = new RangeFinder();
+
+    private MessageFormat inOut = new MessageFormat("In {0}, but not in {1}:");
+    private MessageFormat outIn = new MessageFormat("Not in {0}, but in {1}:");
+    private MessageFormat inIn = new MessageFormat("In both {0}, and in {1}:");
+
+    private MyVisitor mainVisitor = new MyVisitor();
+
+    /*
+    private String getLabels(int start, int end) {
+        Set names = new TreeSet();
+        for (int cp = start; cp <= end; ++cp) {
+            names.add(getLabel(cp));
+        }
+        return labelVisitor.join(names);
+    }
+    */
+
+    private void addMatching(
+        String source,
+        String pattern,
+        String substitute,
+        StringBuffer result) {
+        NameIterator n1 = new NameIterator(source);
+        NameIterator n2 = new NameIterator(pattern);
+        boolean first = true;
+        while (true) {
+            String s1 = n1.next();
+            if (s1 == null)
+                break;
+            String s2 = n2.next();
+            if (!first)
+                result.append(" ");
+            first = false;
+            if (s1.equals(s2))
+                result.append(substitute);
+            else
+                result.append(s1);
+        }
+    }
+
+    private static NumberFormat nf =
+        NumberFormat.getIntegerInstance(Locale.ENGLISH);
+    static {
+        nf.setGroupingUsed(false);
+    }
+
+    private class MyVisitor extends Visitor {
+        private PrintWriter output;
+        Tabber.MonoTabber myTabber;
+        String commentSeparator;
+        int counter;
+        int valueSize;
+        int labelSize;
+
+        public void doAt(Object c, PrintWriter output) {
+            this.output = output;
+            counter = 0;
+            myTabber = new Tabber.MonoTabber();
+            myTabber.add(mergeRanges ? 14 : 6,Tabber.LEFT);
+
+            if (propName.length() > 0) myTabber.add(propName.length() + 2,Tabber.LEFT);
+
+            valueSize = getValueSource().getMaxWidth(shortValue);
+            if (DEBUG) System.out.println("ValueSize: " + valueSize);
+            if (valueSize > 0) myTabber.add(valueSize + 2,Tabber.LEFT); // value
+
+            myTabber.add(3,Tabber.LEFT); // comment character
+
+            labelSize = getLabelSource(true).getMaxWidth(shortLabel);
+            if (labelSize > 0) myTabber.add(labelSize + 1,Tabber.LEFT); // value
+
+            if (mergeRanges && showCount) myTabber.add(5,Tabber.RIGHT);
+
+            if (showLiteral != null) myTabber.add(4,Tabber.LEFT);
+            //myTabber.add(7,Tabber.LEFT);
+
+            commentSeparator = (showCount || showLiteral != null
+              || getLabelSource(true) != UnicodeProperty.NULL
+              || getNameSource() != UnicodeProperty.NULL)
+            ? "\t #" : "";
+
+            if (DEBUG) System.out.println("Tabber: " + myTabber.toString());
+            if (DEBUG) System.out.println("Tabber: " + myTabber.process("a\tb\td\td\tf\tg\th"));
+            doAt(c);
+        }
+
+        public String format(Object o) {
+            StringWriter sw = new StringWriter();
+            PrintWriter pw = new PrintWriter(sw);
+            doAt(o);
+            pw.flush();
+            String result = sw.getBuffer().toString();
+            pw.close();
+            return result;
+        }
+
+        protected void doBefore(Object container, Object o) {
+            if (showSetAlso && container instanceof UnicodeSet) {
+                output.print("#" + container +  lineSeparator );
+            }
+        }
+
+        protected void doBetween(Object container, Object lastItem, Object nextItem) {
+        }
+
+        protected void doAfter(Object container, Object o) {
+            if (fullTotal != -1 && fullTotal != counter) {
+                output.print(lineSeparator);
+                output.print("# The above property value applies to " + nf.format(fullTotal-counter) + " code points not listed here." + lineSeparator);
+                output.print("# Total code points: " + nf.format(fullTotal) + lineSeparator);
+                fullTotal = -1;
+            } else {
+                output.print(lineSeparator);
+                output.print("# Total code points: " + nf.format(counter) + lineSeparator);
+            }
+        }
+
+        protected void doSimpleAt(Object o) {
+            if (o instanceof Map.Entry) {
+                Map.Entry oo = (Map.Entry)o;
+                Object key = oo.getKey();
+                Object value = oo.getValue();
+                doBefore(o, key);
+                doAt(key);
+                output.print("->");
+                doAt(value);
+                doAfter(o, value);
+                counter++;
+            } else if (o instanceof Visitor.CodePointRange) {
+                doAt((Visitor.CodePointRange) o);
+            } else {
+                String thing = o.toString();
+                String value = getValueSource() == UnicodeLabel.NULL ? "" : getValueSource().getValue(thing, ",", true);
+                if (value.length() != 0) value = "\t; " + value;
+                String label = getLabelSource(true).getValue(thing, ",", true);
+                if (label.length() != 0) label = " " + label;
+                output.print(
+                    myTabber.process(
+                        hex(thing)
+							+ value
+                            + commentSeparator
+							+ label
+                            + insertLiteral(thing)
+                            + "\t"
+                            + getName(thing))
+                    +  lineSeparator );
+                counter++;
+            }
+        }
+
+        protected void doAt(Visitor.CodePointRange usi) {
+            if (!mergeRanges) {
+                for (int cp = usi.codepoint; cp <= usi.codepointEnd; ++cp) {
+                    showLine(cp, cp);
+                }
+            } else {
+                rf.reset(usi.codepoint, usi.codepointEnd + 1);
+                while (rf.next()) {
+                    showLine(rf.start, rf.limit - 1);
+                }
+            }
+        }
+
+        private void showLine(int start, int end) {
+            String label = getLabelSource(true).getValue(start, shortLabel);
+            String value = getValue(start, shortValue);
+            if (value == NULL_VALUE) return;
+
+            counter += end - start + 1;
+            String pn = propName;
+            if (pn.length() != 0) {
+                pn = "\t; " + pn;
+            }
+            if (valueSize > 0) {
+                value = "\t; " + value;
+            } else if (value.length() > 0) {
+                throw new IllegalArgumentException("maxwidth bogus " + value + "," + getValueSource().getMaxWidth(shortValue));
+            }
+            if (labelSize > 0) {
+                label = "\t" + label;
+            } else if (label.length() > 0) {
+                throw new IllegalArgumentException("maxwidth bogus " + label + ", " + getLabelSource(true).getMaxWidth(shortLabel));
+            }
+
+            String count = "";
+            if (mergeRanges && showCount) {
+                if (end == start) count = "\t";
+                else count = "\t ["+ nf.format(end - start + 1)+ "]";
+           }
+
+            output.print(
+                myTabber.process(
+                    hex(start, end)
+                        + pn
+                        + value
+                        + commentSeparator
+                        + label
+                        + count
+                        + insertLiteral(start, end)
+                        + getName("\t ", start, end))
+                +  lineSeparator );
+        }
+
+        private String insertLiteral(String thing) {
+            return (showLiteral == null ? ""
+                :  " \t(" + showLiteral.transliterate(thing) + ") ");
+        }
+
+        private String insertLiteral(int start, int end) {
+            return (showLiteral == null ? "" :
+                " \t(" + showLiteral.transliterate(UTF16.valueOf(start))
+                        + ((start != end)
+                            ? (".." + showLiteral.transliterate(UTF16.valueOf(end)))
+                            : "")
+                + ") ");
+        }
+        /*
+        private String insertLiteral(int cp) {
+            return (showLiteral == null ? ""
+                :  " \t(" + showLiteral.transliterate(UTF16.valueOf(cp)) + ") ");
+        }
+        */
+    }
+
+    /**
+     * Iterate through a string, breaking at words.
+     * @author Davis
+     */
+    private static class NameIterator {
+        String source;
+        int position;
+        int start;
+        int limit;
+
+        NameIterator(String source) {
+            this.source = source;
+            this.start = 0;
+            this.limit = source.length();
+        }
+        /**
+         * Find next word, including trailing spaces
+         * @return the next word
+         */
+        String next() {
+            if (position >= limit)
+                return null;
+            int pos = source.indexOf(' ', position);
+            if (pos < 0 || pos >= limit)
+                pos = limit;
+            String result = source.substring(position, pos);
+            position = pos + 1;
+            return result;
+        }
+
+        static int findMatchingEnd(String s1, String s2) {
+            int i = s1.length();
+            int j = s2.length();
+            try {
+                while (true) {
+                    --i; // decrement both before calling function!
+                    --j;
+                    if (s1.charAt(i) != s2.charAt(j))
+                        break;
+                }
+            } catch (Exception e) {} // run off start
+
+            ++i; // counteract increment
+            i = s1.indexOf(' ', i); // move forward to space
+            if (i < 0)
+                return 0;
+            return s1.length() - i;
+        }
+    }
+
+    private class RangeFinder {
+        int start, limit;
+        private int veryLimit;
+        //String label, value;
+        void reset(int start, int limit) {
+            this.limit = start;
+            this.veryLimit = limit;
+        }
+        boolean next() {
+            if (limit >= veryLimit)
+                return false;
+            start = limit; // set to end of last
+            String label = getLabelSource(false).getValue(limit, true);
+            String value = getValue(limit, true);
+            String breaker = getRangeBreakSource().getValue(limit,true);
+            if (DEBUG && limit < 0x7F) System.out.println("Label: " + label + ", Value: " + value + ", Break: " + breaker);
+            limit++;
+            for (; limit < veryLimit; limit++) {
+                String s = getLabelSource(false).getValue(limit, true);
+                String v = getValue(limit, true);
+                String b = getRangeBreakSource().getValue(limit, true);
+                if (DEBUG && limit < 0x7F) System.out.println("*Label: " + label + ", Value: " + value + ", Break: " + breaker);
+                if (!equalTo(s, label) || !equalTo(v, value) || !equalTo(b, breaker)) break;
+            }
+            // at this point, limit is the first item that has a different label than source
+            // OR, we got to the end, and limit == veryLimit
+            return true;
+        }
+    }
+
+    boolean equalTo(Object a, Object b) {
+        if (a == b) return true;
+        if (a == null) return false;
+        return a.equals(b);
+    }
+
+    boolean shortLabel = true;
+    boolean shortValue = true;
+
+    public String getPrefix() {
+        return prefix;
+    }
+
+    public String getSuffix() {
+        return suffix;
+    }
+
+    public BagFormatter setPrefix(String string) {
+        prefix = string;
+        return this;
+    }
+
+    public BagFormatter setSuffix(String string) {
+        suffix = string;
+        return this;
+    }
+
+    public boolean isAbbreviated() {
+        return abbreviated;
+    }
+
+    public BagFormatter setAbbreviated(boolean b) {
+        abbreviated = b;
+        return this;
+    }
+
+    public UnicodeLabel getLabelSource(boolean visible) {
+        if (labelSource == null) {
+            Map labelMap = new HashMap();
+            //labelMap.put("Lo","L&");
+            labelMap.put("Lu","L&");
+            labelMap.put("Lt","L&");
+            labelMap.put("Ll","L&");
+            labelSource = new UnicodeProperty.FilteredProperty(
+                getUnicodePropertyFactory().getProperty("General_Category"),
+                new UnicodeProperty.MapFilter(labelMap)
+            ).setAllowValueAliasCollisions(true);
+        }
+        return labelSource;
+    }
+
+    /**
+     * @deprecated
+     */
+    public static void addAll(UnicodeSet source, Collection target) {
+        source.addAllTo(target);
+    }
+
+    // UTILITIES
+
+    public static final Transliterator hex = Transliterator.getInstance(
+        "[^\\u0009\\u0020-\\u007E\\u00A0-\\u00FF] hex");
+
+    public static BufferedReader openUTF8Reader(String dir, String filename) throws IOException {
+        return openReader(dir,filename,"UTF-8");
+    }
+
+    public static BufferedReader openReader(String dir, String filename, String encoding) throws IOException {
+        File file = new File(dir + filename);
+        if (SHOW_FILES && log != null) {
+            log.println("Opening File: "
+                + file.getCanonicalPath());
+        }
+        return new BufferedReader(
+            new InputStreamReader(
+                new FileInputStream(file),
+                encoding),
+            4*1024);
+    }
+
+    public static PrintWriter openUTF8Writer(String dir, String filename) throws IOException {
+        return openWriter(dir,filename,"UTF-8");
+    }
+
+    public static PrintWriter openWriter(String dir, String filename, String encoding) throws IOException {
+        File file = new File(dir + filename);
+        if (SHOW_FILES && log != null) {
+            log.println("Creating File: "
+                + file.getCanonicalPath());
+        }
+        String parentName = file.getParent();
+        if (parentName != null) {
+            File parent = new File(parentName);
+            parent.mkdirs();
+        }
+        return new PrintWriter(
+            new BufferedWriter(
+                new OutputStreamWriter(
+                    new FileOutputStream(file),
+                    encoding),
+                4*1024));
+    }
+    public static PrintWriter getLog() {
+        return log;
+    }
+    public BagFormatter setLog(PrintWriter writer) {
+        log = writer;
+        return this;
+    }
+    public String getSeparator() {
+        return separator;
+    }
+    public BagFormatter setSeparator(String string) {
+        separator = string;
+        return this;
+    }
+    public Transliterator getShowLiteral() {
+        return showLiteral;
+    }
+    public BagFormatter setShowLiteral(Transliterator transliterator) {
+        showLiteral = transliterator;
+        return this;
+    }
+
+    // ===== CONVENIENCES =====
+    private class Join extends Visitor {
+        StringBuffer output = new StringBuffer();
+        int depth = 0;
+        String join (Object o) {
+            output.setLength(0);
+            doAt(o);
+            return output.toString();
+        }
+        protected void doBefore(Object container, Object item) {
+            ++depth;
+            output.append(prefix);
+        }
+        protected void doAfter(Object container, Object item) {
+            output.append(suffix);
+            --depth;
+        }
+        protected void doBetween(Object container, Object lastItem, Object nextItem) {
+            output.append(separator);
+        }
+        protected void doSimpleAt(Object o) {
+            if (o != null) output.append(o.toString());
+        }
+    }
+
+    /**
+     * @param label
+     */
+    public BagFormatter setLabelSource(UnicodeLabel label) {
+        if (label == null) label = UnicodeLabel.NULL;
+        labelSource = label;
+        return this;
+    }
+
+    /**
+     * @return the NameLable representing the source
+     */
+    public UnicodeLabel getNameSource() {
+        if (nameSource == null) {
+            nameSource = new NameLabel(getUnicodePropertyFactory());
+        }
+        return nameSource;
+    }
+
+    /**
+     * @param label
+     */
+    public BagFormatter setNameSource(UnicodeLabel label) {
+        if (label == null) label = UnicodeLabel.NULL;
+        nameSource = label;
+        return this;
+    }
+
+    /**
+     * @return the UnicodeLabel representing the value
+     */
+    public UnicodeLabel getValueSource() {
+        if (valueSource == null) valueSource = UnicodeLabel.NULL;
+        return valueSource;
+    }
+
+    private String getValue(int cp, boolean shortValue) {
+        String result = getValueSource().getValue(cp, shortValue);
+        if (result == null) return NULL_VALUE;
+        if (hexValue) result = hex(result, " ");
+        return result;
+    }
+
+    /**
+     * @param label
+     */
+    public BagFormatter setValueSource(UnicodeLabel label) {
+        if (label == null) label = UnicodeLabel.NULL;
+        valueSource = label;
+        return this;
+    }
+
+    public BagFormatter setValueSource(String label) {
+        return setValueSource(new UnicodeLabel.Constant(label));
+    }
+
+    /**
+     * @return true if showCount is true
+     */
+    public boolean isShowCount() {
+        return showCount;
+    }
+
+    /**
+     * @param b true to show the count
+     * @return this (for chaining)
+     */
+    public BagFormatter setShowCount(boolean b) {
+        showCount = b;
+        return this;
+    }
+
+    /**
+     * @return the property name
+     */
+    public String getPropName() {
+        return propName;
+    }
+
+    /**
+     * @param string
+     * @return this (for chaining)
+     */
+    public BagFormatter setPropName(String string) {
+        if (string == null) string = "";
+        propName = string;
+        return this;
+    }
+
+    /**
+     * @return true if this is a hexValue
+     */
+    public boolean isHexValue() {
+        return hexValue;
+    }
+
+    /**
+     * @param b
+     * @return this (for chaining)
+     */
+    public BagFormatter setHexValue(boolean b) {
+        hexValue = b;
+        return this;
+    }
+
+    /**
+     * @return the full total
+     */
+    public int getFullTotal() {
+        return fullTotal;
+    }
+
+    /**
+     * @param i set the full total
+     * @return this (for chaining)
+     */
+    public BagFormatter setFullTotal(int i) {
+        fullTotal = i;
+        return this;
+    }
+
+    /**
+     * @return the line separator
+     */
+    public String getLineSeparator() {
+        return lineSeparator;
+    }
+
+    /**
+     * @param string
+     * @return this (for chaining)
+     */
+    public BagFormatter setLineSeparator(String string) {
+        lineSeparator = string;
+        return this;
+    }
+
+    /**
+     * @return the UnicodeLabel representing the range break source
+     */
+    public UnicodeLabel getRangeBreakSource() {
+        if (rangeBreakSource == null) {
+            Map labelMap = new HashMap();
+            // reflects the code point types on p 25
+            labelMap.put("Lo", "G&");
+            labelMap.put("Lm", "G&");
+            labelMap.put("Lu", "G&");
+            labelMap.put("Lt", "G&");
+            labelMap.put("Ll", "G&");
+            labelMap.put("Mn", "G&");
+            labelMap.put("Me", "G&");
+            labelMap.put("Mc", "G&");
+            labelMap.put("Nd", "G&");
+            labelMap.put("Nl", "G&");
+            labelMap.put("No", "G&");
+            labelMap.put("Zs", "G&");
+            labelMap.put("Pd", "G&");
+            labelMap.put("Ps", "G&");
+            labelMap.put("Pe", "G&");
+            labelMap.put("Pc", "G&");
+            labelMap.put("Po", "G&");
+            labelMap.put("Pi", "G&");
+            labelMap.put("Pf", "G&");
+            labelMap.put("Sm", "G&");
+            labelMap.put("Sc", "G&");
+            labelMap.put("Sk", "G&");
+            labelMap.put("So", "G&");
+
+            labelMap.put("Zl", "Cf");
+            labelMap.put("Zp", "Cf");
+
+            rangeBreakSource =
+                new UnicodeProperty
+                    .FilteredProperty(
+                        getUnicodePropertyFactory().getProperty(
+                            "General_Category"),
+                        new UnicodeProperty.MapFilter(labelMap))
+                    .setAllowValueAliasCollisions(true);
+
+            /*
+            "Cn", // = Other, Not Assigned 0
+            "Cc", // = Other, Control 15
+            "Cf", // = Other, Format 16
+            UnicodeProperty.UNUSED, // missing
+            "Co", // = Other, Private Use 18
+            "Cs", // = Other, Surrogate 19
+            */
+        }
+        return rangeBreakSource;
+    }
+
+    /**
+     * @param label
+     */
+    public BagFormatter setRangeBreakSource(UnicodeLabel label) {
+        if (label == null) label = UnicodeLabel.NULL;
+        rangeBreakSource = label;
+        return this;
+    }
+
+	/**
+	 * @return Returns the fixName.
+	 */
+	public Transliterator getFixName() {
+		return fixName;
+	}
+	/**
+	 * @param fixName The fixName to set.
+	 */
+	public void setFixName(Transliterator fixName) {
+		this.fixName = fixName;
+	}
+}
diff --git a/src/com/ibm/icu/dev/test/util/CollectionUtilities.java b/src/com/ibm/icu/dev/test/util/CollectionUtilities.java
new file mode 100644
index 0000000..dc86ca7
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/util/CollectionUtilities.java
@@ -0,0 +1,96 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.test.util;
+
+import java.util.Collection;
+import java.util.Comparator;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Map;
+
+import com.ibm.icu.text.UTF16;
+import com.ibm.icu.text.UnicodeSet;
+
+public final class CollectionUtilities {
+	/**
+	 * Utility like Arrays.asList()
+	 */
+	public static Map asMap(Object[][] source, Map target, boolean reverse) {
+		int from = 0, to = 1;
+		if (reverse) {
+			from = 1; to = 0;
+		}
+    	for (int i = 0; i < source.length; ++i) {
+    		target.put(source[i][from], source[i][to]);
+    	}
+    	return target;
+	}
+	
+	public static Map asMap(Object[][] source) {
+    	return asMap(source, new HashMap(), false);
+	}
+	
+	/**
+	 * Utility that ought to be on Map
+	 */
+	public static Map removeAll(Map m, Collection itemsToRemove) {
+	    for (Iterator it = itemsToRemove.iterator(); it.hasNext();) {
+	    	Object item = it.next();
+	    	m.remove(item);
+	    }
+	    return m;
+	}
+	
+	public Object getFirst(Collection c) {
+		Iterator it = c.iterator();
+		if (!it.hasNext()) return null;
+		return it.next();
+	}
+	
+	public static Object getBest(Collection c, Comparator comp, int direction) {
+		Iterator it = c.iterator();
+		if (!it.hasNext()) return null;
+		Object bestSoFar = it.next();
+		while (it.hasNext()) {
+			Object item = it.next();
+			if (comp.compare(item, bestSoFar) == direction) {
+				bestSoFar = item;
+			}
+		}
+		return bestSoFar;
+	}
+	
+	public interface Filter {
+		boolean matches(Object o);
+	}
+
+	public static Collection removeAll(Collection c, Filter f) {
+		for (Iterator it = c.iterator(); it.hasNext();) {
+			Object item = it.next();
+			if (f.matches(item)) it.remove();
+		}
+		return c;
+	}
+	
+	public static Collection retainAll(Collection c, Filter f) {
+		for (Iterator it = c.iterator(); it.hasNext();) {
+			Object item = it.next();
+			if (!f.matches(item)) it.remove();
+		}
+		return c;
+	}
+	
+	public static String remove(String source, UnicodeSet removals) {
+		StringBuffer result = new StringBuffer();
+		int cp;
+		for (int i = 0; i < source.length(); i += UTF16.getCharCount(cp)) {
+			cp = UTF16.charAt(source, i);
+			if (!removals.contains(cp)) UTF16.append(result, cp);
+		}
+		return result.toString();
+	}
+}
\ No newline at end of file
diff --git a/src/com/ibm/icu/dev/test/util/CompactArrayTest.java b/src/com/ibm/icu/dev/test/util/CompactArrayTest.java
new file mode 100644
index 0000000..2c7a763
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/util/CompactArrayTest.java
@@ -0,0 +1,160 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2002-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.test.util;
+
+import com.ibm.icu.dev.test.TestFmwk;
+
+import com.ibm.icu.impl.Utility;
+import com.ibm.icu.util.CompactByteArray;
+import com.ibm.icu.util.CompactCharArray;
+
+/**
+ * @since release 2.2
+ */
+public final class CompactArrayTest extends TestFmwk 
+{ 
+    public static void main(String[] args) throws Exception
+    {
+        new CompactArrayTest().run(args);
+    }
+    
+    public void TestByteArrayCoverage() {
+    CompactByteArray cba = new CompactByteArray();
+    cba.setElementAt((char)0x5, (byte)0xdf);
+    cba.setElementAt((char)0x105, (byte)0xdf);
+    cba.setElementAt((char)0x205, (byte)0xdf);
+    cba.setElementAt((char)0x305, (byte)0xdf);
+    CompactByteArray cba2 = new CompactByteArray((byte)0xdf);
+    if (cba.equals(cba2)) {
+        errln("unequal byte arrays compare equal");
+    }
+    CompactByteArray cba3 = (CompactByteArray)cba.clone();
+
+    logln("equals null: " + cba.equals(null));
+    logln("equals self: " + cba.equals(cba));
+    logln("equals clone: " + cba.equals(cba3));
+    logln("equals bogus: " + cba.equals(new Object()));
+    logln("hash: " + cba.hashCode());
+
+    cba.compact(true);
+    cba.compact(true);
+
+    char[] xa = cba.getIndexArray();
+    byte[] va = cba.getValueArray();
+    CompactByteArray cba4 = new CompactByteArray(xa, va);
+
+    String xs = Utility.arrayToRLEString(xa);
+    String vs = Utility.arrayToRLEString(va);
+    CompactByteArray cba5 = new CompactByteArray(xs, vs);
+
+    logln("equals: " + cba4.equals(cba5));
+    logln("equals: " + cba.equals(cba4));
+    
+      cba4.compact(false);
+    logln("equals: " + cba4.equals(cba5));
+
+    cba5.compact(true);
+    logln("equals: " + cba4.equals(cba5));
+
+    cba.setElementAt((char)0x405, (byte)0xdf); // force expand
+    logln("modified equals clone: " + cba.equals(cba3));
+
+    cba3.setElementAt((char)0x405, (byte)0xdf); // equivalent modification
+    logln("modified equals modified clone: " + cba.equals(cba3));
+
+    cba3.setElementAt((char)0x405, (byte)0xee); // different modification
+    logln("different mod equals: " + cba.equals(cba3));
+
+    cba.compact();
+    CompactByteArray cba6 = (CompactByteArray)cba.clone();
+    logln("cloned compact equals: " + cba.equals(cba6));
+
+    cba6.setElementAt((char)0x405, (byte)0xee);
+    logln("modified clone: " + cba3.equals(cba6));
+
+    cba6.setElementAt((char)0x100, (char)0x104, (byte)0xfe);
+    for (int i = 0x100; i < 0x105; ++i) {
+        cba3.setElementAt((char)i, (byte)0xfe);
+    }
+    logln("double modified: " + cba3.equals(cba6));
+    }
+
+    public void TestCharArrayCoverage() {
+    // v1.8 fails with extensive compaction, so set to false
+    final boolean EXTENSIVE = false;
+
+    CompactCharArray cca = new CompactCharArray();
+    cca.setElementAt((char)0x5, (char)0xdf);
+    cca.setElementAt((char)0x105, (char)0xdf);
+    cca.setElementAt((char)0x205, (char)0xdf);
+    cca.setElementAt((char)0x305, (char)0xdf);
+    CompactCharArray cca2 = new CompactCharArray((char)0xdf);
+    if (cca.equals(cca2)) {
+        errln("unequal char arrays compare equal");
+    }
+    CompactCharArray cca3 = (CompactCharArray)cca.clone();
+
+    logln("equals null: " + cca.equals(null));
+    logln("equals self: " + cca.equals(cca));
+    logln("equals clone: " + cca.equals(cca3));
+    logln("equals bogus: " + cca.equals(new Object()));
+    logln("hash: " + cca.hashCode());
+
+    cca.compact(EXTENSIVE);
+    cca.compact(EXTENSIVE);
+
+    char[] xa = cca.getIndexArray();
+    char[] va = cca.getValueArray();
+    CompactCharArray cca4 = new CompactCharArray(xa, va);
+
+    String xs = Utility.arrayToRLEString(xa);
+    String vs = Utility.arrayToRLEString(va);
+    CompactCharArray cca5 = new CompactCharArray(xs, vs);
+
+    logln("equals: " + cca4.equals(cca5));
+    logln("equals: " + cca.equals(cca4));
+
+    cca4.compact(false);
+    logln("equals: " + cca4.equals(cca5));
+
+    cca5.compact(EXTENSIVE);
+    logln("equals: " + cca4.equals(cca5));
+
+    cca.setElementAt((char)0x405, (char)0xdf); // force expand
+    logln("modified equals clone: " + cca.equals(cca3));
+
+    cca3.setElementAt((char)0x405, (char)0xdf); // equivalent modification
+    logln("modified equals modified clone: " + cca.equals(cca3));
+
+    cca3.setElementAt((char)0x405, (char)0xee); // different modification
+    logln("different mod equals: " + cca.equals(cca3));
+    
+    // after setElementAt isCompact is set to false
+    cca3.compact(true);
+    logln("different mod equals: " + cca.equals(cca3));
+    
+    cca3.setElementAt((char)0x405, (char)0xee); // different modification
+    logln("different mod equals: " + cca.equals(cca3));
+        // after setElementAt isCompact is set to false
+    cca3.compact();
+    logln("different mod equals: " + cca.equals(cca3));
+    
+    // v1.8 fails with extensive compaction, and defaults extensive, so don't compact
+    // cca.compact();
+    CompactCharArray cca6 = (CompactCharArray)cca.clone();
+    logln("cloned compact equals: " + cca.equals(cca6));
+
+    cca6.setElementAt((char)0x405, (char)0xee);
+    logln("modified clone: " + cca3.equals(cca6));
+
+    cca6.setElementAt((char)0x100, (char)0x104, (char)0xfe);
+    for (int i = 0x100; i < 0x105; ++i) {
+        cca3.setElementAt((char)i, (char)0xfe);
+    }
+    logln("double modified: " + cca3.equals(cca6));
+    }
+}
diff --git a/src/com/ibm/icu/dev/test/util/CurrencyTest.java b/src/com/ibm/icu/dev/test/util/CurrencyTest.java
new file mode 100644
index 0000000..110a8a2
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/util/CurrencyTest.java
@@ -0,0 +1,174 @@
+/*
+**********************************************************************
+* Copyright (c) 2002-2005, International Business Machines
+* Corporation and others.  All Rights Reserved.
+**********************************************************************
+* Author: Alan Liu
+* Created: December 18 2002
+* Since: ICU 2.4
+**********************************************************************
+*/
+package com.ibm.icu.dev.test.util;
+import com.ibm.icu.dev.test.TestFmwk;
+import com.ibm.icu.util.*;
+import java.util.Locale;
+
+/**
+ * @test
+ * @summary General test of Currency
+ */
+public class CurrencyTest extends TestFmwk {
+
+    public static void main(String[] args) throws Exception {
+        new CurrencyTest().run(args);
+    }
+
+    /**
+     * Test of basic API.
+     */
+    public void TestAPI() {
+        Currency usd = Currency.getInstance("USD");
+        /*int hash = */usd.hashCode();
+        Currency jpy = Currency.getInstance("JPY");
+        if (usd.equals(jpy)) {
+            errln("FAIL: USD == JPY");
+        }
+        if (usd.equals("abc")) {
+            errln("FAIL: USD == (String)");
+        }
+        if (usd.equals(null)) {
+            errln("FAIL: USD == (null)");
+        }
+        if (!usd.equals(usd)) {
+            errln("FAIL: USD != USD");
+        }
+
+        Locale[] avail = Currency.getAvailableLocales();
+        if(avail==null){
+            errln("FAIL: getAvailableLocales returned null");
+        }
+
+    try {
+      usd.getName(ULocale.US, 5, new boolean[1]);
+      errln("expected getName with invalid type parameter to throw exception");
+    }
+    catch (Exception e) {
+    	logln("PASS: getName failed as expected");
+    }
+    }
+
+    /**
+     * Test registration.
+     */
+    public void TestRegistration() {
+        final Currency jpy = Currency.getInstance("JPY");
+        final Currency usd = Currency.getInstance(Locale.US);
+
+    try {
+      Currency.unregister(null); // should fail, coverage
+      errln("expected unregister of null to throw exception");
+    }
+    catch (Exception e) {
+    	logln("PASS: unregister of null failed as expected");
+    }
+
+    if (Currency.unregister("")) { // coverage
+      errln("unregister before register erroneously succeeded");
+    }
+
+        ULocale fu_FU = new ULocale("fu_FU");
+
+        Object key1 = Currency.registerInstance(jpy, ULocale.US);
+        Object key2 = Currency.registerInstance(jpy, fu_FU);
+
+        Currency nus = Currency.getInstance(Locale.US);
+        if (!nus.equals(jpy)) {
+            errln("expected " + jpy + " but got: " + nus);
+        }
+
+        // converage, make sure default factory works
+        Currency nus1 = Currency.getInstance(Locale.JAPAN);
+        if (!nus1.equals(jpy)) {
+            errln("expected " + jpy + " but got: " + nus1);
+        }
+
+        ULocale[] locales = Currency.getAvailableULocales();
+        boolean found = false;
+        for (int i = 0; i < locales.length; ++i) {
+            if (locales[i].equals(fu_FU)) {
+                found = true;
+                break;
+            }
+        }
+        if (!found) {
+            errln("did not find locale" + fu_FU + " in currency locales");
+        }
+
+        if (!Currency.unregister(key1)) {
+            errln("unable to unregister currency using key1");
+        }
+        if (!Currency.unregister(key2)) {
+            errln("unable to unregister currency using key2");
+        }
+
+        Currency nus2 = Currency.getInstance(Locale.US);
+        if (!nus2.equals(usd)) {
+            errln("expected " + usd + " but got: " + nus2);
+        }
+
+        locales = Currency.getAvailableULocales();
+        found = false;
+        for (int i = 0; i < locales.length; ++i) {
+            if (locales[i].equals(fu_FU)) {
+                found = true;
+                break;
+            }
+        }
+        if (found) {
+            errln("found locale" + fu_FU + " in currency locales after unregister");
+        }
+    }
+
+    /**
+     * Test names.
+     */
+    public void TestNames() {
+        // Do a basic check of getName()
+        // USD { "US$", "US Dollar"            } // 04/04/1792-
+        ULocale en = ULocale.ENGLISH;
+        boolean[] isChoiceFormat = new boolean[1];
+        Currency usd = Currency.getInstance("USD");
+        // Warning: HARD-CODED LOCALE DATA in this test.  If it fails, CHECK
+        // THE LOCALE DATA before diving into the code.
+        if (!noData()) {
+            assertEquals("USD.getName(SYMBOL_NAME)",
+                         "US$",
+                         usd.getName(en, Currency.SYMBOL_NAME, isChoiceFormat));
+            assertEquals("USD.getName(LONG_NAME)",
+                         "US Dollar",
+                         usd.getName(en, Currency.LONG_NAME, isChoiceFormat));
+        }
+        // TODO add more tests later
+    }
+
+    public void TestCoverage() {
+        Currency usd = Currency.getInstance("USD");
+        if (!noData()) {
+        assertEquals("USD.getSymbol()",
+                "$",
+                usd.getSymbol());
+        }
+        assertEquals("USD.getLocale()",
+        		ULocale.ROOT,
+				usd.getLocale(null));
+    }
+
+    public void TestCurrencyKeyword() {
+    ULocale locale = new ULocale("th_TH@collation=traditional;currency=QQQ");
+    Currency currency = Currency.getInstance(locale);
+    String result = currency.getCurrencyCode();
+    if (!"QQQ".equals(result)) {
+        errln("got unexpected currency: " + result);
+    }
+    }
+}
diff --git a/src/com/ibm/icu/dev/test/util/DisplayNameTest.java b/src/com/ibm/icu/dev/test/util/DisplayNameTest.java
new file mode 100644
index 0000000..0c7914b
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/util/DisplayNameTest.java
@@ -0,0 +1,393 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.test.util;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Date;
+import java.util.Enumeration;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Set;
+import java.util.TreeMap;
+import java.util.TreeSet;
+
+import com.ibm.icu.dev.test.TestFmwk;
+import com.ibm.icu.impl.ICUResourceBundle;
+import com.ibm.icu.text.SimpleDateFormat;
+import com.ibm.icu.util.Currency;
+import com.ibm.icu.util.TimeZone;
+import com.ibm.icu.util.ULocale;
+import com.ibm.icu.util.UResourceBundle;
+
+public class DisplayNameTest extends TestFmwk {
+    static final boolean SHOW_ALL = false;
+    
+    public static void main(String[] args) throws Exception {
+        new DisplayNameTest().run(args);
+    }
+        
+    interface DisplayNameGetter {
+        public String get(ULocale locale, String code, Object context);
+    }
+
+    Map[] codeToName = new Map[10];
+    {
+        for (int k = 0; k < codeToName.length; ++k) codeToName[k] = new HashMap();
+    }
+    
+    static final Object[] zoneFormats = {new Integer(0), new Integer(1), new Integer(2),
+        new Integer(3), new Integer(4), new Integer(5), new Integer(6), new Integer(7)};
+    static final Object[] currencyFormats = {new Integer(Currency.SYMBOL_NAME), new Integer(Currency.LONG_NAME)};
+    static final Object[] NO_CONTEXT = {null};
+    
+    static final Date JAN1 = new Date(2004-1900,0,1);
+    static final Date JULY1 = new Date(2004-1900,6,1);
+
+    String[] countries = addUnknown(ULocale.getISOCountries(),2);
+    String[] languages = addUnknown(ULocale.getISOLanguages(),2);
+    String[] zones = addUnknown(getRealZoneIDs(),5);
+    String[] scripts = addUnknown(getCodes(new ULocale("en","US",""), "Scripts"),4);
+    // TODO fix once there is a way to get a list of all script codes
+    String[] currencies = addUnknown(getCodes(new ULocale("en","",""), "Currencies"),3);
+    // TODO fix once there is a way to get a list of all currency codes
+
+    public void TestLocales() {
+        ULocale[] locales = ULocale.getAvailableLocales();
+        for (int i = 0; i < locales.length; ++i) {
+            checkLocale(locales[i]);
+        }
+    }
+
+    /**
+     * @return
+     */
+    private String[] getRealZoneIDs() {
+        Set temp = new TreeSet(Arrays.asList(TimeZone.getAvailableIDs()));
+        temp.removeAll(getAliasMap().keySet());
+        return (String[])temp.toArray(new String[temp.size()]);
+    }
+
+    public void TestEnglish() {
+        checkLocale(ULocale.ENGLISH);
+    }
+
+    public void TestFrench() {
+        checkLocale(ULocale.FRENCH);
+    }
+
+    private void checkLocale(ULocale locale) {
+        logln("Checking " + locale);
+        check("Language", locale, languages, null, new DisplayNameGetter() {
+            public String get(ULocale locale, String code, Object context) {
+                return ULocale.getDisplayLanguage(code, locale);
+            }
+        });
+        check("Script", locale, scripts, null, new DisplayNameGetter() {
+            public String get(ULocale locale, String code, Object context) {
+                // TODO This is kinda a hack; ought to be direct way.
+                return ULocale.getDisplayScript("en_"+code, locale);
+            }
+        });
+        check("Country", locale, countries, null, new DisplayNameGetter() {
+            public String get(ULocale locale, String code, Object context) {
+                // TODO This is kinda a hack; ought to be direct way.
+                return ULocale.getDisplayCountry("en_"+code, locale);
+            }
+        });
+        check("Currencies", locale, currencies, currencyFormats, new DisplayNameGetter() {
+            public String get(ULocale locale, String code, Object context) {
+                Currency s = Currency.getInstance(code);
+                return s.getName(locale, ((Integer)context).intValue(), new boolean[1]);
+            }
+        });
+        // comment this out, because the zone string information is lost
+        // we'd have to access the resources directly to test them
+
+        check("Zones", locale, zones, zoneFormats, new DisplayNameGetter() {
+            // TODO replace once we have real API
+            public String get(ULocale locale, String code, Object context) {
+                return getZoneString(locale, code, ((Integer)context).intValue());
+            }
+        });
+
+    }
+    
+    Map zoneData = new HashMap();
+    
+    private String getZoneString(ULocale locale, String olsonID, int item) {
+        Map data = (Map)zoneData.get(locale);
+        if (data == null) {
+            data = new HashMap();
+            if (SHOW_ALL) System.out.println();
+            if (SHOW_ALL) System.out.println("zones for " + locale);
+            ICUResourceBundle bundle = (ICUResourceBundle)UResourceBundle.getBundleInstance(locale);
+            ICUResourceBundle table = bundle.getWithFallback("zoneStrings");
+            for (int i = 0; i < table.getSize(); ++i) {
+                ICUResourceBundle stringSet = table.get(i);
+                //ICUResourceBundle stringSet = table.getWithFallback(String.valueOf(i));
+                String key = stringSet.getString(0);
+                if (SHOW_ALL) System.out.println("key: " + key);
+                ArrayList list = new ArrayList();
+                for (int j = 1; j < stringSet.getSize(); ++j) {
+                    String entry = stringSet.getString(j);
+                    if (SHOW_ALL) System.out.println("  entry: " + entry);
+                    list.add(entry);
+                }
+                data.put(key, list.toArray(new String[list.size()]));
+            }
+            zoneData.put(locale, data);
+        }
+        String[] strings = (String[]) data.get(olsonID);
+        if (strings == null || item >= strings.length) return olsonID;
+        return strings[item];
+    }
+    
+    static String[][] zonesAliases = {
+        {"America/Atka", "America/Atka"},
+        {"America/Ensenada", "America/Ensenada"},
+        {"America/Fort_Wayne", "America/Fort_Wayne"},
+        {"America/Indiana/Indianapolis", "America/Indiana/Indianapolis"},
+        {"America/Kentucky/Louisville", "America/Kentucky/Louisville"},
+        {"America/Knox_IN", "America/Knox_IN"},
+        {"America/Porto_Acre", "America/Porto_Acre"},
+        {"America/Rosario", "America/Rosario"},
+        {"America/Shiprock", "America/Shiprock"},
+        {"America/Virgin", "America/Virgin"},
+        {"Antarctica/South_Pole", "Antarctica/South_Pole"},
+        {"Arctic/Longyearbyen", "Arctic/Longyearbyen"},
+        {"Asia/Ashkhabad", "Asia/Ashkhabad"},
+        {"Asia/Chungking", "Asia/Chungking"},
+        {"Asia/Dacca", "Asia/Dacca"},
+        {"Asia/Istanbul", "Asia/Istanbul"},
+        {"Asia/Macao", "Asia/Macao"},
+        {"Asia/Tel_Aviv", "Asia/Tel_Aviv"},
+        {"Asia/Thimbu", "Asia/Thimbu"},
+        {"Asia/Ujung_Pandang", "Asia/Ujung_Pandang"},
+        {"Asia/Ulan_Bator", "Asia/Ulan_Bator"},
+        {"Australia/ACT", "Australia/ACT"},
+        {"Australia/Canberra", "Australia/Canberra"},
+        {"Australia/LHI", "Australia/LHI"},
+        {"Australia/NSW", "Australia/NSW"},
+        {"Australia/North", "Australia/North"},
+        {"Australia/Queensland", "Australia/Queensland"},
+        {"Australia/South", "Australia/South"},
+        {"Australia/Tasmania", "Australia/Tasmania"},
+        {"Australia/Victoria", "Australia/Victoria"},
+        {"Australia/West", "Australia/West"},
+        {"Australia/Yancowinna", "Australia/Yancowinna"},
+        {"Brazil/Acre", "Brazil/Acre"},
+        {"Brazil/DeNoronha", "Brazil/DeNoronha"},
+        {"Brazil/East", "Brazil/East"},
+        {"Brazil/West", "Brazil/West"},
+        {"CST6CDT", "CST6CDT"},
+        {"Canada/Atlantic", "Canada/Atlantic"},
+        {"Canada/Central", "Canada/Central"},
+        {"Canada/East-Saskatchewan", "Canada/East-Saskatchewan"},
+        {"Canada/Eastern", "Canada/Eastern"},
+        {"Canada/Mountain", "Canada/Mountain"},
+        {"Canada/Newfoundland", "Canada/Newfoundland"},
+        {"Canada/Pacific", "Canada/Pacific"},
+        {"Canada/Saskatchewan", "Canada/Saskatchewan"},
+        {"Canada/Yukon", "Canada/Yukon"},
+        {"Chile/Continental", "Chile/Continental"},
+        {"Chile/EasterIsland", "Chile/EasterIsland"},
+        {"Cuba", "Cuba"},
+        {"EST", "EST"},
+        {"EST5EDT", "EST5EDT"},
+        {"Egypt", "Egypt"},
+        {"Eire", "Eire"},
+        {"Etc/GMT+0", "Etc/GMT+0"},
+        {"Etc/GMT-0", "Etc/GMT-0"},
+        {"Etc/GMT0", "Etc/GMT0"},
+        {"Etc/Greenwich", "Etc/Greenwich"},
+        {"Etc/Universal", "Etc/Universal"},
+        {"Etc/Zulu", "Etc/Zulu"},
+        {"Europe/Nicosia", "Europe/Nicosia"},
+        {"Europe/Tiraspol", "Europe/Tiraspol"},
+        {"GB", "GB"},
+        {"GB-Eire", "GB-Eire"},
+        {"GMT", "GMT"},
+        {"GMT+0", "GMT+0"},
+        {"GMT-0", "GMT-0"},
+        {"GMT0", "GMT0"},
+        {"Greenwich", "Greenwich"},
+        {"HST", "HST"},
+        {"Hongkong", "Hongkong"},
+        {"Iceland", "Iceland"},
+        {"Iran", "Iran"},
+        {"Israel", "Israel"},
+        {"Jamaica", "Jamaica"},
+        {"Japan", "Japan"},
+        {"Kwajalein", "Kwajalein"},
+        {"Libya", "Libya"},
+        {"MST", "MST"},
+        {"MST7MDT", "MST7MDT"},
+        {"Mexico/BajaNorte", "Mexico/BajaNorte"},
+        {"Mexico/BajaSur", "Mexico/BajaSur"},
+        {"Mexico/General", "Mexico/General"},
+        {"Mideast/Riyadh87", "Mideast/Riyadh87"},
+        {"Mideast/Riyadh88", "Mideast/Riyadh88"},
+        {"Mideast/Riyadh89", "Mideast/Riyadh89"},
+        {"NZ", "NZ"},
+        {"NZ-CHAT", "NZ-CHAT"},
+        {"Navajo", "Navajo"},
+        {"PRC", "PRC"},
+        {"PST8PDT", "PST8PDT"},
+        {"Pacific/Samoa", "Pacific/Samoa"},
+        {"Poland", "Poland"},
+        {"Portugal", "Portugal"},
+        {"ROC", "ROC"},
+        {"ROK", "ROK"},
+        {"Singapore", "Singapore"},
+        {"SystemV/AST4", "SystemV/AST4"},
+        {"SystemV/AST4ADT", "SystemV/AST4ADT"},
+        {"SystemV/CST6", "SystemV/CST6"},
+        {"SystemV/CST6CDT", "SystemV/CST6CDT"},
+        {"SystemV/EST5", "SystemV/EST5"},
+        {"SystemV/EST5EDT", "SystemV/EST5EDT"},
+        {"SystemV/HST10", "SystemV/HST10"},
+        {"SystemV/MST7", "SystemV/MST7"},
+        {"SystemV/MST7MDT", "SystemV/MST7MDT"},
+        {"SystemV/PST8", "SystemV/PST8"},
+        {"SystemV/PST8PDT", "SystemV/PST8PDT"},
+        {"SystemV/YST9", "SystemV/YST9"},
+        {"SystemV/YST9YDT", "SystemV/YST9YDT"},
+        {"Turkey", "Turkey"},
+        {"UCT", "UCT"},
+        {"US/Alaska", "US/Alaska"},
+        {"US/Aleutian", "US/Aleutian"},
+        {"US/Arizona", "US/Arizona"},
+        {"US/Central", "US/Central"},
+        {"US/East-Indiana", "US/East-Indiana"},
+        {"US/Eastern", "US/Eastern"},
+        {"US/Hawaii", "US/Hawaii"},
+        {"US/Indiana-Starke", "US/Indiana-Starke"},
+        {"US/Michigan", "US/Michigan"},
+        {"US/Mountain", "US/Mountain"},
+        {"US/Pacific", "US/Pacific"},
+        {"US/Pacific-New", "US/Pacific-New"},
+        {"US/Samoa", "US/Samoa"},
+        {"UTC", "UTC"},
+        {"Universal", "Universal"},
+        {"W-SU", "W-SU"},
+        {"Zulu", "Zulu"},
+        {"ACT", "ACT"},
+        {"AET", "AET"},
+        {"AGT", "AGT"},
+        {"ART", "ART"},
+        {"AST", "AST"},
+        {"BET", "BET"},
+        {"BST", "BST"},
+        {"CAT", "CAT"},
+        {"CNT", "CNT"},
+        {"CST", "CST"},
+        {"CTT", "CTT"},
+        {"EAT", "EAT"},
+        {"ECT", "ECT"},
+        {"IET", "IET"},
+        {"IST", "IST"},
+        {"JST", "JST"},
+        {"MIT", "MIT"},
+        {"NET", "NET"},
+        {"NST", "NST"},
+        {"PLT", "PLT"},
+        {"PNT", "PNT"},
+        {"PRT", "PRT"},
+        {"PST", "PST"},
+        {"SST", "SST"},
+        {"VST", "VST"},
+    };
+
+    /**
+     * Hack to get code list
+     * @return
+     */
+    private static String[] getCodes(ULocale locale, String tableName) {
+        // TODO remove Ugly Hack
+        // get stuff
+        ICUResourceBundle bundle = (ICUResourceBundle)UResourceBundle.getBundleInstance(locale);
+        ICUResourceBundle table = bundle.getWithFallback(tableName);
+        // copy into array
+        ArrayList stuff = new ArrayList();
+        for (Enumeration keys = table.getKeys(); keys.hasMoreElements();) {
+            stuff.add(keys.nextElement());
+        }
+        String[] result = new String[stuff.size()];
+        return (String[]) stuff.toArray(result);
+        //return new String[] {"Latn", "Cyrl"};
+    }
+
+    /**
+     * Add two unknown strings, just to make sure they get passed through without colliding
+     * @param strings
+     * @return
+     */
+    private String[] addUnknown(String[] strings, int len) {
+        String[] result = new String[strings.length + 2];
+        result[0] = "x1unknown".substring(0,len);
+        result[1] = "y1nknown".substring(0,len);
+        System.arraycopy(strings,0,result,2,strings.length);
+        return result;
+    }
+    
+    Map bogusZones = null;
+    
+    private Map getAliasMap() {
+        if (bogusZones == null) {
+            bogusZones = new TreeMap();
+            for (int i = 0; i < zonesAliases.length; ++i) {
+                bogusZones.put(zonesAliases[i][0], zonesAliases[i][1]);
+            }
+        }
+        return bogusZones;
+    }
+
+
+    private void check(String type, ULocale locale, 
+      String[] codes, Object[] contextList, DisplayNameGetter getter) {
+        if (contextList == null) contextList = NO_CONTEXT;
+        for (int k = 0; k < contextList.length; ++k) codeToName[k].clear();
+        for (int j = 0; j < codes.length; ++j) {
+            String code = codes[j];
+            for (int k = 0; k < contextList.length; ++k) {
+                Object context = contextList[k];
+                String name = getter.get(locale, code, context);
+                if (name == null || name.length() == 0) {
+                    errln(
+                        "Null or Zero-Length Display Name\t" + type
+                        + "\t(" + ((context != null) ? context : "") + ")"
+                        + ":\t" + locale + " [" + locale.getDisplayName(ULocale.ENGLISH) + "]"
+                        + "\t" + code + " [" + getter.get(ULocale.ENGLISH, code, context) + "]"
+                    );
+                    continue;            
+                }
+                String otherCode = (String) codeToName[k].get(name);
+                if (otherCode != null) {
+                    errln(
+                        "Display Names collide for\t" + type                        + "\t(" + ((context != null) ? context : "") + ")"
+                        + ":\t" + locale + " [" + locale.getDisplayName(ULocale.ENGLISH) + "]"
+                        + "\t" + code + " [" + getter.get(ULocale.ENGLISH, code, context) + "]"
+                        + "\t& " + otherCode + " [" + getter.get(ULocale.ENGLISH, otherCode, context) + "]"
+                        + "\t=> " + name
+                    );
+                } else {
+                    codeToName[k].put(name, code);
+                    if (SHOW_ALL) logln(
+                        type 
+                        + " (" + ((context != null) ? context : "") + ")"
+                        + "\t" + locale + " [" + locale.getDisplayName(ULocale.ENGLISH) + "]"
+                        + "\t" + code + "[" + getter.get(ULocale.ENGLISH, code, context) + "]"
+                        + "\t=> " + name 
+                    );
+                }
+            }
+        }
+    }
+}
diff --git a/src/com/ibm/icu/dev/test/util/Equator.java b/src/com/ibm/icu/dev/test/util/Equator.java
new file mode 100644
index 0000000..e3b0353
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/util/Equator.java
@@ -0,0 +1,27 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2002-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.test.util;
+
+public interface Equator {
+    /**
+      * Comparator function. If overridden, must handle case of null,
+      * and compare any two objects that could be compared.
+      * Must obey normal rules of symmetry: a=b => b=a
+      * and transitivity: a=b & b=c => a=b)
+      * @param a
+      * @param b
+      * @return true if a and b are equal
+      */
+     public boolean isEqual(Object a, Object b);
+
+    /**
+     * Must obey normal rules: a=b => getHashCode(a)=getHashCode(b)
+     * @param object
+     * @return a hash code for the object
+     */
+    public int getHashCode(Object object);
+}
\ No newline at end of file
diff --git a/src/com/ibm/icu/dev/test/util/FileUtilities.java b/src/com/ibm/icu/dev/test/util/FileUtilities.java
new file mode 100644
index 0000000..f338f98
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/util/FileUtilities.java
@@ -0,0 +1,74 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2002-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.test.util;import java.io.BufferedReader;
+
+import java.io.IOException;
+import java.io.PrintWriter;
+import java.util.Locale;
+import java.util.regex.Pattern;
+
+public class FileUtilities {
+    public static void appendFile(String filename, String encoding, PrintWriter output) throws IOException {
+    	appendFile(filename, encoding, output, null);
+    }
+    
+    public static void appendFile(String filename, String encoding, PrintWriter output, String[] replacementList) throws IOException {
+        BufferedReader br = BagFormatter.openReader("", filename, encoding);
+        /*
+        FileInputStream fis = new FileInputStream(filename);
+        InputStreamReader isr = (encoding == UTF8_UNIX || encoding == UTF8_WINDOWS) ? new InputStreamReader(fis, "UTF8") :  new InputStreamReader(fis);
+        BufferedReader br = new BufferedReader(isr, 32*1024);
+        */
+        while (true) {
+            String line = br.readLine();
+            if (line == null) break;
+            if (replacementList != null) {
+            	for (int i = 0; i < replacementList.length; i += 2) {
+            		line = replace(line, replacementList[i], replacementList[i+1]);
+            	}
+            }
+            output.println(line);
+        }
+    }
+
+    /**
+     * Replaces all occurances of piece with replacement, and returns new String
+     */
+    public static String replace(String source, String piece, String replacement) {
+        if (source == null || source.length() < piece.length()) return source;
+    	int pos = 0;
+        while (true) {
+            pos = source.indexOf(piece, pos);
+            if (pos < 0) return source;
+            source = source.substring(0,pos) + replacement + source.substring(pos + piece.length());
+            pos += replacement.length();
+        }
+    }
+    
+    public static String replace(String source, String[][] replacements) {
+        return replace(source, replacements, replacements.length);
+    }    
+    
+    public static String replace(String source, String[][] replacements, int count) {
+        for (int i = 0; i < count; ++i) {
+            source = replace(source, replacements[i][0], replacements[i][1]);
+        }
+        return source;
+    }    
+    
+    public static String replace(String source, String[][] replacements, boolean reverse) {
+        if (!reverse) return replace(source, replacements);
+        for (int i = 0; i < replacements.length; ++i) {
+            source = replace(source, replacements[i][1], replacements[i][0]);
+        }
+        return source;
+    }
+    
+    public static String anchorize(String source) {
+    	return source.toLowerCase(Locale.ENGLISH).replaceAll("\\P{L}", "_");
+    }
+}
\ No newline at end of file
diff --git a/src/com/ibm/icu/dev/test/util/ICUBinaryTest.java b/src/com/ibm/icu/dev/test/util/ICUBinaryTest.java
new file mode 100644
index 0000000..7e0a6f5
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/util/ICUBinaryTest.java
@@ -0,0 +1,114 @@
+/*
+*******************************************************************************
+* Copyright (C) 1996-2005, International Business Machines Corporation and    *
+* others. All Rights Reserved.                                                *
+*******************************************************************************
+*/
+
+package com.ibm.icu.dev.test.util;
+
+import com.ibm.icu.dev.test.TestFmwk;
+import com.ibm.icu.impl.ICUBinary;
+import java.io.IOException;
+import java.io.ByteArrayInputStream;
+
+/**
+* Testing class for Trie. Tests here will be simple, since both CharTrie and 
+* IntTrie are very similar and are heavily used in other parts of ICU4J.
+* Codes using Tries are expected to have detailed tests.
+* @author Syn Wee Quek
+* @since release 2.1 Jan 01 2002
+*/
+public final class ICUBinaryTest extends TestFmwk 
+{ 
+    // constructor ---------------------------------------------------
+  
+    /**
+    * Constructor
+    */
+    public ICUBinaryTest()
+    {
+    }
+      
+    // public methods -----------------------------------------------
+    
+    public static void main(String arg[]) 
+    {
+        ICUBinaryTest test = new ICUBinaryTest();
+        try {
+            test.run(arg);
+        } catch (Exception e) {
+            test.errln("Error testing icubinarytest");
+        }
+    }
+    
+    /**
+     * Testing the constructors of the Tries
+     */
+    public void TestReadHeader() 
+    {
+        byte formatid[] = {1, 2, 3, 4};
+        byte array[] = {
+            // header size
+            0, 0x18, 
+            // magic numbers
+            (byte)0xda, 0x27, 
+            // size
+            0, 0, 
+            // reserved word
+            0, 0, 
+            // bigendian
+            1, 
+            // charset 
+            0,
+            // charsize
+            2, 
+            // reserved byte
+            0, 
+            // data format id
+            1, 2, 3, 4,
+            // dataVersion
+            1, 2, 3, 4,
+            // unicodeVersion
+            3, 2, 0, 0
+        };
+        ByteArrayInputStream inputstream = new ByteArrayInputStream(array);
+        ICUBinary.Authenticate authenticate 
+                = new ICUBinary.Authenticate() {
+                    public boolean isDataVersionAcceptable(byte version[])
+                    {
+                        return version[0] == 1;
+                    }
+                };
+        // check full data version
+        try {
+            ICUBinary.readHeader(inputstream, formatid, authenticate);
+        } catch (IOException e) {
+            errln("Failed: Lenient authenticate object should pass ICUBinary.readHeader");
+        }
+        // no restriction to the data version
+        try {
+            inputstream.reset();
+            ICUBinary.readHeader(inputstream, formatid, null);
+        } catch (IOException e) {
+            errln("Failed: Null authenticate object should pass ICUBinary.readHeader");
+        }
+        // lenient data version
+        try {
+            inputstream.reset();
+            ICUBinary.readHeader(inputstream, formatid, authenticate);
+        } catch (IOException e) {
+            errln("Failed: Lenient authenticate object should pass ICUBinary.readHeader");
+        }
+        // changing the version to an incorrect one, expecting failure
+        array[16] = 2;
+        try {
+            inputstream.reset();
+            ICUBinary.readHeader(inputstream, formatid, authenticate);
+            errln("Failed: Invalid version number should not pass authenticate object");
+        } catch (IOException e) {
+        	logln("PASS: ICUBinary.readHeader with invalid version number failed as expected");
+        }
+    }
+}
+
diff --git a/src/com/ibm/icu/dev/test/util/ICUListResourceBundleTest.java b/src/com/ibm/icu/dev/test/util/ICUListResourceBundleTest.java
new file mode 100644
index 0000000..aa83e3d
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/util/ICUListResourceBundleTest.java
@@ -0,0 +1,360 @@
+/**
+ *******************************************************************************
+ * Copyright (C) 2001-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.test.util;
+
+import java.util.MissingResourceException;
+import java.util.ResourceBundle;
+
+import com.ibm.icu.dev.test.TestFmwk;
+import com.ibm.icu.impl.ICUListResourceBundle;
+import com.ibm.icu.impl.ICULocaleData;
+import com.ibm.icu.impl.Utility;
+
+
+public final class ICUListResourceBundleTest extends TestFmwk 
+{
+    public static void main(String args[]) throws Exception {
+        ICUListResourceBundleTest test = new ICUListResourceBundleTest();
+        test.run(args);
+
+    }
+
+    public void TestReferences() {
+        ResourceBundle rb = ICULocaleData.getLocaleElements("th");
+        logln("got rb:" + rb);
+    
+        byte[] binaryData = null;//(byte[])rb.getObject("%%CollationBin");
+        Object colElem = rb.getObject("collations");
+        if(colElem instanceof Object[][]){
+            Object[][] colElemArr = (Object[][])colElem;
+            if(((String)colElemArr[0][0]).equals("%%CollationBin")){   
+               binaryData = (byte[]) colElemArr[0][1];
+            }
+        }else{
+            errln("Did not get the expected object");
+        }
+        logln("got binaryData: " + binaryData + " length: " + (binaryData == null ? 0 : binaryData.length));
+        Object[] stringArrayData = (Object[])rb.getObject("collations");
+        //String[] collationData = new String[] {
+         //   (String)stringArrayData[0],
+         //   (String)stringArrayData[0]
+        //};
+        logln("got stringData: " + stringArrayData + " length: " + stringArrayData.length);
+        logln("got stringDataElement: " + stringArrayData[0] + " length: " + stringArrayData.length);
+        //System.out.println("got sdee: " + collationData[0]);
+        //    System.out.println("char data length: " + stringArrayData.length());
+    }
+   
+   String simpleAlias   = "Open";
+
+   Object[][] zoneTests =  new Object[][]{
+                               {
+                                    "zoneAlias",
+                                    new String[] { 
+                                                    "PST",
+                                                    "Pacific Standard Time",
+                                                    "PST",
+                                                    "Pacific Daylight Time",
+                                                    "PDT",
+                                                    "Los Angeles",
+                                                },
+                               },
+                               {
+                                   "zoneAlias1",
+                                   new String[] { 
+                                                   "America/Denver",
+                                                   "Mountain Standard Time",
+                                                   "MST",
+                                                   "Mountain Daylight Time",
+                                                   "MDT",
+                                                   "Denver",
+                        
+                                               },
+                               },
+                               {
+                                   "zoneAlias2",
+                                   "America/Denver",
+                               },
+                           };
+    Object[] zoneStrings = new Object[] {
+                                new String[] { 
+                                    
+                                    "PST",
+                                    "Pacific Standard Time",
+                                    "PST",
+                                    "Pacific Daylight Time",
+                                    "PDT",
+                                    "Los Angeles",
+                                
+                                },
+                                new String[] { 
+                                    "America/Los_Angeles",
+                                    "Pacific Standard Time",
+                                    "PST",
+                                    "Pacific Daylight Time",
+                                    "PDT",
+                                    "Los Angeles",
+                                
+                                },
+                            };
+    Object[] testGetStringByIndexAliasing =  new String[] { 
+                                                    "PST",
+                                                    "Pacific Standard Time",
+                                                    "PDT",
+                                                    "Los Angeles",
+                                                };
+    Object[][] testGetStringByKeyAliasing = new Object[][]{
+                                                {
+                                                    "KeyAlias0PST",
+                                                    "PST",
+                                                },
+                                                {
+                                                    "KeyAlias1PacificStandardTime",
+                                                    "Pacific Standard Time",
+                                                },
+                                                {
+                                                    "KeyAlias2PDT",
+                                                    "PDT",
+                                                },
+                                                {
+                                                    "KeyAlias3LosAngeles",
+                                                    "Los Angeles",
+                                                },
+                                            };                                          
+    private boolean arrayEquals(Object[][] s1, Object[][] s2){
+        boolean isEqual = true;
+        if(s1.length != s2.length){
+            return false;
+        }
+        for (int i = 0; i<s1.length; i++){
+            if(s1[i] instanceof Object[][] &&
+               s2[i] instanceof Object[][]){
+                if(!arrayEquals((Object[][])s1[i],(Object[][]) s2[i])){
+                   isEqual = false;
+                }
+            }else if (s1[i] instanceof Object[] &&
+                      s2[i] instanceof Object[]){
+                if(!Utility.arrayEquals(s1[i],s2[i])){
+                    isEqual = false;
+                }
+           }else if(s1[i] instanceof Object && s2[i] instanceof Object){
+               if(!s1[i].equals(s2[i])){
+                   isEqual = false;
+               }
+           }else{
+               isEqual = false;
+               break;
+           }
+        }
+        return isEqual;
+    }
+    
+    // 
+    public void TestAliases(){
+        ResourceBundle rb = ICULocaleData.getResourceBundle("com.ibm.icu.dev.data","TestDataElements","testaliases");
+        //rb.getObject("CollationElements");
+        String s1 = rb.getString("simplealias");
+        if(s1.equals(simpleAlias)){
+            logln("Alias mechanism works for simplealias");
+        }else{
+            errln("Did not get the expected output for simplealias");
+        }
+        {
+            Object o = null;
+            // test aliasing through another alias
+            s1 = rb.getString("referencingalias");
+            ResourceBundle uk = ICULocaleData.getResourceBundle("com.ibm.icu.impl.data","LocaleElements","uk");
+            if(uk instanceof ICUListResourceBundle){
+                o = ((ICUListResourceBundle)uk).getObjectWithFallback("collations/standard");
+                if(o instanceof Object[][]){
+                    Object[][] val = (Object[][]) o;
+                    if(s1.equals(val[1][1])){
+                        logln("Alias mechanism works for referencingalias");
+                    }else{
+                        errln("Did not get the expected result for referencingalias");
+                    }
+                }else{
+                    errln("Did not get the expected result for collations resource of uk bundle");
+                }
+            }
+            Object anotheralias = rb.getObject("anotheralias");
+            if(anotheralias instanceof Object[][]&& o instanceof Object[][]){
+                if(arrayEquals((Object[][])o, (Object[][])anotheralias)){
+                    logln("Alias mechanism works for anotheralias");
+                }else{
+                    errln("Did not get the expected output for anotheralias");
+                }
+            
+            }else{
+                errln("Alias mechanism failed for anotheralias in TestAlias");
+            }
+            o = ((ICUListResourceBundle)uk).getObject("collations");
+            Object o1 = rb.getObject("collations");
+            if(o1 instanceof Object[][]&& o instanceof Object[][]){
+                if(arrayEquals((Object[][])o, (Object[][])o1)){
+                    logln("Alias mechanism works for CollationElements");
+                }else{
+                    errln("Did not get the expected output for collations");
+                }
+            
+            }else{
+                errln("Alias mechanism failed for collations in TestAlias");
+            }
+    
+        }
+                        
+        Object o1 = rb.getObject("zoneTests");
+        if(o1 instanceof Object[][]){
+            if(arrayEquals(zoneTests, (Object[][])o1)){
+                logln("Alias mechanism works for zoneTests");
+            }else{
+                errln("Did not get the expected output for zoneTests");
+            }
+            
+        }else{
+            errln("Alias mechanism failed for zoneTest in TestAlias");
+        }
+        o1 = rb.getObject("zoneStrings");
+        if(o1 instanceof Object[]){
+            if(Utility.arrayEquals(zoneStrings, (Object[])o1)){
+                logln("Alias mechanism works for zoneStrings");
+            }else{
+                errln("Did not get the expected output for zoneStrings");
+            }
+            
+        }else{
+            errln("Alias mechanism failed for zoneStrings in TestAlias");
+        }
+        o1 = rb.getObject("testGetStringByIndexAliasing");
+        if(o1 instanceof Object[]){
+            if(Utility.arrayEquals(testGetStringByIndexAliasing, (Object[])o1)){
+                logln("Alias mechanism works for testGetStringByIndexAliasing");
+            }else{
+                errln("Did not get the expected output for testGetStringByIndexAliasing");
+            }
+            
+        }else{
+            errln("Alias mechanism failed for testGetStringByIndexAliasing in TestAlias");
+        }
+        
+        o1 = rb.getObject("testGetStringByKeyAliasing");
+        if(o1 instanceof Object[][]){
+            if(arrayEquals(testGetStringByKeyAliasing, (Object[][])o1)){
+                logln("Alias mechanism works for testGetStringByKeyAliasing");
+            }else{
+                errln("Did not get the expected output for testGetStringByKeyAliasing");
+            }
+            
+        }else{
+            errln("Alias mechanism failed for testGetStringByKeyAliasing in TestAlias");
+        }
+        // should not get an exception
+        rb = ICULocaleData.getResourceBundle("com.ibm.icu.impl.data","LocaleElements","fr_BE");
+        Object o = rb.getObject("SpelloutRules");
+        if(o instanceof String){
+            logln("Alias mechanism works");
+        }else{
+            errln("Alias mechanism failed for fr_BE SpelloutRules");
+        }
+        rb = ICULocaleData.getResourceBundle("com.ibm.icu.impl.data","LocaleElements","zh_TW");
+        o = rb.getObject("collations");
+        if(o instanceof Object[][]){
+            Object[][] arr = (Object[][])o;
+            if(((String)arr[0][0])== "default"){
+                logln("Alias mechanism works");
+            }else{
+                errln("Alias mechanism failed for zh_TW collations");
+            }
+        }else{
+            errln("Did not get the expected object for collations");
+        }
+        
+    }
+    
+    public void TestCircularAliases(){
+        try{
+            ResourceBundle rb = ICULocaleData.getResourceBundle("com.ibm.icu.dev.data","TestDataElements","testcircularalias");
+           /* Object o =*/ rb.getObject("aaa");
+        }catch(java.util.MissingResourceException e){
+            if(e.toString().indexOf("ircular")==-1){
+                errln("Did not get the expected Exception for circular aliases");
+            }
+            return;
+        }
+        errln("Did not get the expected Exception for circular aliases");
+    }
+    
+    public void TestGetObjectWithFallback(){
+        ResourceBundle bundle = ICULocaleData.getResourceBundle("com.ibm.icu.impl.data","LocaleElements","te_IN");
+        if(bundle instanceof ICUListResourceBundle){
+            ICUListResourceBundle ilrb = (ICUListResourceBundle) bundle;
+            String key = (String) ilrb.getObjectWithFallback("Keys/collation");
+            if(!key.equals("COLLATION")){
+                errln("Did not get the expected result from getObjectWithFallback method.");
+            }
+            String type = (String) ilrb.getObjectWithFallback("Types/collation/direct");
+            if(!type.equals("DIRECT")){
+                errln("Did not get the expected result form getObjectWithFallback method.");
+            }
+        }else{
+            errln("Did not get the expected bundle.");
+        }
+
+        try{
+            ResourceBundle bundle1 = ICULocaleData.getResourceBundle("com.ibm.icu.impl.data","LocaleElements","de__PHONEBOOK");
+            if(bundle instanceof ICUListResourceBundle){
+                ICUListResourceBundle ilrb = (ICUListResourceBundle) bundle1;
+                String key = (String) ilrb.getObjectWithFallback("collations/collation/default");
+                if(!key.equals("phonebook")){
+                    errln("Did not get the expected result from getObjectWithFallback method.");
+                }
+    
+            }else{
+                errln("Did not get the expected bundle.");
+            } 
+            errln("Did not get the expected exception.");
+        }catch(MissingResourceException ex){
+            logln("got the expected exception");
+        }
+
+        
+        ResourceBundle bundle1 = ICULocaleData.getResourceBundle("com.ibm.icu.impl.data","LocaleElements","fr_FR");
+        if(bundle instanceof ICUListResourceBundle){
+            ICUListResourceBundle ilrb = (ICUListResourceBundle) bundle1;
+            String key = (String) ilrb.getObjectWithFallback("collations/default");
+            if(!key.equals("standard")){
+                errln("Did not get the expected result from getObjectWithFallback method.");
+            }
+
+        }else{
+            errln("Did not get the expected bundle.");
+        } 
+        
+        bundle1 = ICULocaleData.getResourceBundle("com.ibm.icu.impl.data","LocaleElements","es_ES");
+        if(bundle instanceof ICUListResourceBundle){
+            ICUListResourceBundle ilrb = (ICUListResourceBundle) bundle1;
+            String key = (String) ilrb.getObjectWithFallback("collations/default");
+            if(!key.equals("standard")){
+                errln("Did not get the expected result from getObjectWithFallback method.");
+            }
+            String nkey = "collations/" + key;
+            Object o = ilrb.getObjectWithFallback(nkey);
+            if(o instanceof Object[][]){
+                if(!((String) ((Object[][])o)[0][0]).equals("%%CollationBin")){
+                    errln("Did not get the expected object for "+ nkey); 
+                }else{
+                    logln("Got the expected object for "+ nkey); 
+                }
+            }else{
+                errln("Did not get the expected object for "+ nkey); 
+            }
+        }else{
+            errln("Did not get the expected bundle.");
+        }        
+    }
+    
+}
diff --git a/src/com/ibm/icu/dev/test/util/ICUPropertyFactory.java b/src/com/ibm/icu/dev/test/util/ICUPropertyFactory.java
new file mode 100644
index 0000000..6fc1ed7
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/util/ICUPropertyFactory.java
@@ -0,0 +1,415 @@
+
+/*
+ *******************************************************************************
+ * Copyright (C) 2002-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.test.util;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Locale;
+import java.util.Map;
+
+import com.ibm.icu.lang.UCharacter;
+import com.ibm.icu.lang.UProperty;
+import com.ibm.icu.text.Normalizer;
+import com.ibm.icu.text.UTF16;
+import com.ibm.icu.util.VersionInfo;
+
+
+/**
+ * Provides a general interface for Unicode Properties, and
+ * extracting sets based on those values.
+ * @author Davis
+ */
+
+public class ICUPropertyFactory extends UnicodeProperty.Factory {
+        
+    static class ICUProperty extends UnicodeProperty {
+            protected int propEnum = Integer.MIN_VALUE;
+            
+            protected ICUProperty(String propName, int propEnum) {
+                setName(propName);
+                this.propEnum = propEnum;
+                setType(internalGetPropertyType(propEnum));
+            }
+
+            boolean shownException = false;
+            
+            public String _getValue(int codePoint) {
+                switch(propEnum) {
+                    case UProperty.AGE: String temp = UCharacter.getAge(codePoint).toString();
+                        if (temp.equals("0.0.0.0")) return "unassigned";
+                        if (temp.endsWith(".0.0")) return temp.substring(0,temp.length()-4);
+                        return temp;
+                    case UProperty.BIDI_MIRRORING_GLYPH: return UTF16.valueOf(UCharacter.getMirror(codePoint));
+                    case UProperty.CASE_FOLDING: return UCharacter.foldCase(UTF16.valueOf(codePoint),true);
+                    case UProperty.ISO_COMMENT: return UCharacter.getISOComment(codePoint);
+                    case UProperty.LOWERCASE_MAPPING: return UCharacter.toLowerCase(Locale.ENGLISH,UTF16.valueOf(codePoint));
+                    case UProperty.NAME: return UCharacter.getName(codePoint);
+                    case UProperty.SIMPLE_CASE_FOLDING: return UTF16.valueOf(UCharacter.foldCase(codePoint,true));
+                    case UProperty.SIMPLE_LOWERCASE_MAPPING: return UTF16.valueOf(UCharacter.toLowerCase(codePoint));
+                    case UProperty.SIMPLE_TITLECASE_MAPPING: return UTF16.valueOf(UCharacter.toTitleCase(codePoint));
+                    case UProperty.SIMPLE_UPPERCASE_MAPPING: return UTF16.valueOf(UCharacter.toUpperCase(codePoint));
+                    case UProperty.TITLECASE_MAPPING: return UCharacter.toTitleCase(Locale.ENGLISH,UTF16.valueOf(codePoint),null);
+                    case UProperty.UNICODE_1_NAME: return UCharacter.getName1_0(codePoint);
+                    case UProperty.UPPERCASE_MAPPING: return UCharacter.toUpperCase(Locale.ENGLISH,UTF16.valueOf(codePoint));
+                    case NFC: return Normalizer.normalize(codePoint, Normalizer.NFC);
+                    case NFD: return Normalizer.normalize(codePoint, Normalizer.NFD);
+                    case NFKC: return Normalizer.normalize(codePoint, Normalizer.NFKC);
+                    case NFKD: return Normalizer.normalize(codePoint, Normalizer.NFKD);
+                    case isNFC: return String.valueOf(Normalizer.normalize(codePoint, Normalizer.NFC).equals(UTF16.valueOf(codePoint)));
+                    case isNFD: return String.valueOf(Normalizer.normalize(codePoint, Normalizer.NFD).equals(UTF16.valueOf(codePoint)));
+                    case isNFKC: return String.valueOf(Normalizer.normalize(codePoint, Normalizer.NFKC).equals(UTF16.valueOf(codePoint)));
+                    case isNFKD: return String.valueOf(Normalizer.normalize(codePoint, Normalizer.NFKD).equals(UTF16.valueOf(codePoint)));
+                    case isLowercase: return String.valueOf(UCharacter.toLowerCase(Locale.ENGLISH,UTF16.valueOf(codePoint)).equals(UTF16.valueOf(codePoint)));
+                    case isUppercase: return String.valueOf(UCharacter.toUpperCase(Locale.ENGLISH,UTF16.valueOf(codePoint)).equals(UTF16.valueOf(codePoint)));
+                    case isTitlecase: return String.valueOf(UCharacter.toTitleCase(Locale.ENGLISH,UTF16.valueOf(codePoint),null).equals(UTF16.valueOf(codePoint)));
+                    case isCasefolded: return String.valueOf(UCharacter.foldCase(UTF16.valueOf(codePoint),true).equals(UTF16.valueOf(codePoint)));
+                    case isCased: return String.valueOf(UCharacter.toLowerCase(Locale.ENGLISH,UTF16.valueOf(codePoint)).equals(UTF16.valueOf(codePoint)));
+                }
+                if (propEnum < UProperty.INT_LIMIT) {
+                    int enumValue = -1;
+                    String value = null;
+                    try {
+                        enumValue = UCharacter.getIntPropertyValue(codePoint, propEnum);
+                        if (enumValue >= 0) value = fixedGetPropertyValueName(propEnum,enumValue, UProperty.NameChoice.LONG);
+                    } catch (IllegalArgumentException e) {
+                        if (!shownException) {
+                            System.out.println("Fail: " + getName() + ", " + Integer.toHexString(codePoint));
+                            shownException = true;
+                        }
+                    }
+                    return value != null ? value : String.valueOf(enumValue);
+                } else if (propEnum < UProperty.DOUBLE_LIMIT) {
+                    double num = UCharacter.getUnicodeNumericValue(codePoint);
+                    if (num == UCharacter.NO_NUMERIC_VALUE) return null;
+                    return Double.toString(num);
+                    // TODO: Fix HACK -- API deficient
+                }
+                return null;
+            }
+
+            /**
+             * @param valueAlias null if unused.
+             * @param valueEnum -1 if unused
+             * @param nameChoice
+             * @return
+             */
+            private String getFixedValueAlias(String valueAlias, int valueEnum, int nameChoice) {
+                if (propEnum >= UProperty.STRING_START) {
+                    if (nameChoice != UProperty.NameChoice.LONG) return null;
+                    return "<string>";
+                } else if (propEnum >= UProperty.DOUBLE_START) {
+                    if (nameChoice != UProperty.NameChoice.LONG) return null;
+                    return "<number>";
+                }
+                if (valueAlias != null && !valueAlias.equals("<integer>")) {
+                    valueEnum = fixedGetPropertyValueEnum(propEnum,valueAlias);
+                }
+                // because these are defined badly, there may be no normal (long) name.
+                // if there is 
+                String result = fixedGetPropertyValueName(propEnum, valueEnum, nameChoice);
+                if (result != null) return result;
+                // HACK try other namechoice
+                if (nameChoice == UProperty.NameChoice.LONG) {
+                    result = fixedGetPropertyValueName(propEnum,valueEnum, UProperty.NameChoice.SHORT);
+                    if (result != null) return result;
+                    if (propEnum == UProperty.CANONICAL_COMBINING_CLASS) return null;
+                    return "<integer>";
+               }
+               return null;
+            }
+
+            private static int fixedGetPropertyValueEnum(int propEnum, String valueAlias) {
+                try {
+                    return UCharacter.getPropertyValueEnum(propEnum, valueAlias);
+                } catch (Exception e) {
+                    return Integer.parseInt(valueAlias);
+                }
+            }
+    
+            static Map fixSkeleton = new HashMap();
+            private static String fixedGetPropertyValueName(int propEnum, int valueEnum, int nameChoice) {
+                
+                try {
+                    String value = UCharacter.getPropertyValueName(propEnum,valueEnum,nameChoice);
+                    String newValue = (String) fixSkeleton.get(value);
+                    if (newValue == null) {
+                        newValue = value;
+                        if (propEnum == UProperty.JOINING_GROUP) {
+                            newValue = newValue.toLowerCase(Locale.ENGLISH);
+                        } 
+                        newValue = regularize(newValue, true);
+                        fixSkeleton.put(value, newValue);
+                    }
+                    return newValue;
+                } catch (Exception e) {
+                    return null;
+                }
+            }
+
+            public List _getNameAliases(List result) {
+                if (result == null) result = new ArrayList();
+                String alias = String_Extras.get(propEnum);
+                if (alias == null) alias = Binary_Extras.get(propEnum);
+                if (alias != null) {
+                    addUnique(alias, result);
+                } else {
+                    addUnique(getFixedPropertyName(propEnum, UProperty.NameChoice.SHORT), result);
+                    addUnique(getFixedPropertyName(propEnum, UProperty.NameChoice.LONG), result);
+                }
+                return result;
+            }
+            
+            public String getFixedPropertyName(int propName, int nameChoice) {
+                try {
+                    return UCharacter.getPropertyName(propEnum, nameChoice);
+                } catch (IllegalArgumentException e) {
+                    return null;
+                }
+            }
+
+            private Map cccHack = new HashMap();
+            boolean needCccHack = true;
+            
+            public List _getAvailableValues(List result) {
+                if (result == null) result = new ArrayList();
+                if (propEnum == UProperty.AGE) {
+                    addAllUnique(new String[] {
+                        "unassigned","1.1","2.0","2.1","3.0","3.1","3.2","4.0"},
+                        result);
+                    return result;
+                }
+                if (propEnum < UProperty.INT_LIMIT) {
+                    if (Binary_Extras.isInRange(propEnum)) {
+                        propEnum = UProperty.BINARY_START; // HACK
+                    }
+                    int start = UCharacter.getIntPropertyMinValue(propEnum);
+                    int end = UCharacter.getIntPropertyMaxValue(propEnum);
+                    for (int i = start; i <= end; ++i) {
+                        String alias = getFixedValueAlias(null, i, UProperty.NameChoice.LONG);
+                        String alias2 = getFixedValueAlias(null, i, UProperty.NameChoice.SHORT);
+                        if (alias == null) {
+                            alias = alias2;
+                            if (alias == null && propEnum == UProperty.CANONICAL_COMBINING_CLASS) {
+                                alias = String.valueOf(i);
+                            }
+                        }
+                        if (needCccHack && propEnum == UProperty.CANONICAL_COMBINING_CLASS) { // HACK
+                            cccHack.put(alias, String.valueOf(i));
+                        }
+                        //System.out.println(propertyAlias + "\t" + i + ":\t" + alias);
+                        addUnique(alias, result);
+                    }
+                    needCccHack = false;
+                } else {
+                    String alias = getFixedValueAlias(null, -1,UProperty.NameChoice.LONG);
+                    addUnique(alias, result);
+                }
+                return result;
+            }
+
+            public List _getValueAliases(String valueAlias, List result) {
+                if (result == null) result = new ArrayList();
+                if (propEnum == UProperty.AGE) {
+                    addUnique(valueAlias, result);
+                    return result;
+                }
+                if (propEnum == UProperty.CANONICAL_COMBINING_CLASS) {
+                    addUnique(cccHack.get(valueAlias), result); // add number
+                }
+                addUnique(getFixedValueAlias(valueAlias, -1, UProperty.NameChoice.SHORT), result);
+                addUnique(getFixedValueAlias(valueAlias, -1, UProperty.NameChoice.LONG), result);
+                return result;
+            }
+
+
+            /* (non-Javadoc)
+             * @see com.ibm.icu.dev.test.util.UnicodePropertySource#getPropertyType()
+             */
+            private int internalGetPropertyType(int propEnum) {
+                switch(propEnum) {
+                    case UProperty.AGE: 
+                    case UProperty.BLOCK: 
+                    case UProperty.SCRIPT: 
+                        return UnicodeProperty.CATALOG;
+                    case UProperty.ISO_COMMENT:
+                    case UProperty.NAME:
+                    case UProperty.UNICODE_1_NAME: 
+                        return UnicodeProperty.MISC;
+                    case UProperty.BIDI_MIRRORING_GLYPH:
+                    case UProperty.CASE_FOLDING:
+                    case UProperty.LOWERCASE_MAPPING:
+                    case UProperty.SIMPLE_CASE_FOLDING: 
+                    case UProperty.SIMPLE_LOWERCASE_MAPPING:
+                    case UProperty.SIMPLE_TITLECASE_MAPPING: 
+                    case UProperty.SIMPLE_UPPERCASE_MAPPING:
+                    case UProperty.TITLECASE_MAPPING: 
+                    case UProperty.UPPERCASE_MAPPING: 
+                        return UnicodeProperty.EXTENDED_STRING;
+                }
+                if (propEnum < UProperty.BINARY_START) return UnicodeProperty.UNKNOWN;
+                if (propEnum < UProperty.BINARY_LIMIT) return UnicodeProperty.BINARY;
+                if (propEnum < UProperty.INT_START) return UnicodeProperty.EXTENDED_BINARY;
+                if (propEnum < UProperty.INT_LIMIT) return UnicodeProperty.ENUMERATED;
+                if (propEnum < UProperty.DOUBLE_START) return UnicodeProperty.EXTENDED_ENUMERATED;
+                if (propEnum < UProperty.DOUBLE_LIMIT) return UnicodeProperty.NUMERIC;
+                if (propEnum < UProperty.STRING_START) return UnicodeProperty.EXTENDED_NUMERIC;
+                if (propEnum < UProperty.STRING_LIMIT) return UnicodeProperty.STRING;
+                return UnicodeProperty.EXTENDED_STRING;
+            }
+
+            /* (non-Javadoc)
+             * @see com.ibm.icu.dev.test.util.UnicodeProperty#getVersion()
+             */
+            public String _getVersion() {
+                return VersionInfo.ICU_VERSION.toString();
+            }
+        }
+
+        /*{
+            matchIterator = new UnicodeSetIterator(
+                new UnicodeSet("[^[:Cn:]-[:Default_Ignorable_Code_Point:]]"));
+        }*/
+
+
+        
+        /*
+         * Other Missing Functions:
+            Expands_On_NFC
+            Expands_On_NFD
+            Expands_On_NFKC
+            Expands_On_NFKD
+            Composition_Exclusion
+            Decomposition_Mapping
+            FC_NFKC_Closure
+            ISO_Comment
+            NFC_Quick_Check
+            NFD_Quick_Check
+            NFKC_Quick_Check
+            NFKD_Quick_Check
+            Special_Case_Condition
+            Unicode_Radical_Stroke
+         */
+        
+         static final Names Binary_Extras = new Names(UProperty.BINARY_LIMIT,
+            new String[] {
+            "isNFC", "isNFD", "isNFKC", "isNFKD",
+            "isLowercase", "isUppercase", "isTitlecase", "isCasefolded", "isCased",
+        });
+
+        static final Names String_Extras = new Names(UProperty.STRING_LIMIT,
+            new String[] {
+            "toNFC", "toNFD", "toNFKC", "toNKFD",
+        });
+
+        static final int
+            isNFC = UProperty.BINARY_LIMIT,
+            isNFD = UProperty.BINARY_LIMIT+1,
+            isNFKC = UProperty.BINARY_LIMIT+2,
+            isNFKD = UProperty.BINARY_LIMIT+3,
+            isLowercase = UProperty.BINARY_LIMIT+4,
+            isUppercase = UProperty.BINARY_LIMIT+5,
+            isTitlecase = UProperty.BINARY_LIMIT+6,
+            isCasefolded = UProperty.BINARY_LIMIT+7,
+            isCased = UProperty.BINARY_LIMIT+8,
+
+            NFC  = UProperty.STRING_LIMIT,
+            NFD  = UProperty.STRING_LIMIT+1,
+            NFKC = UProperty.STRING_LIMIT+2,
+            NFKD = UProperty.STRING_LIMIT+3
+            ;
+        
+        private ICUPropertyFactory() {
+            Collection c = getInternalAvailablePropertyAliases(new ArrayList());
+            Iterator it = c.iterator();
+            while (it.hasNext()) {
+                add(getInternalProperty((String)it.next()));
+            }
+        }
+        
+        private static ICUPropertyFactory singleton = null;
+        
+        public static synchronized ICUPropertyFactory make() {
+            if (singleton != null) return singleton;
+            singleton = new ICUPropertyFactory();
+            return singleton;
+        }
+        
+        public List getInternalAvailablePropertyAliases(List result) {
+            int[][] ranges = {
+                {UProperty.BINARY_START,    UProperty.BINARY_LIMIT},
+                {UProperty.INT_START,       UProperty.INT_LIMIT},
+                {UProperty.DOUBLE_START,    UProperty.DOUBLE_LIMIT},
+                {UProperty.STRING_START,    UProperty.STRING_LIMIT},
+            };
+            for (int i = 0; i < ranges.length; ++i) {
+                for (int j = ranges[i][0]; j < ranges[i][1]; ++j) {
+                    String alias = UCharacter.getPropertyName(j, UProperty.NameChoice.LONG);
+                    UnicodeProperty.addUnique(alias, result);
+                    if (!result.contains(alias)) result.add(alias);
+                }
+            }
+            result.addAll(String_Extras.getNames());
+            result.addAll(Binary_Extras.getNames());
+            return result;
+        }
+       
+        public UnicodeProperty getInternalProperty(String propertyAlias) {
+            int propEnum;
+            main:
+            {
+                int possibleItem = Binary_Extras.get(propertyAlias);
+                if (possibleItem >= 0) {
+                    propEnum = possibleItem;
+                    break main;
+                }
+                possibleItem = String_Extras.get(propertyAlias);
+                if (possibleItem >= 0) {
+                    propEnum = possibleItem;
+                    break main;
+                }
+                propEnum = UCharacter.getPropertyEnum(propertyAlias);
+            }
+            return new ICUProperty(propertyAlias, propEnum);
+        }
+ 
+        /* (non-Javadoc)
+         * @see com.ibm.icu.dev.test.util.UnicodePropertySource#getProperty(java.lang.String)
+         */
+    // TODO file bug on getPropertyValueName for Canonical_Combining_Class  
+    
+    public static class Names {
+        private String[] names;
+        private int base;
+        public Names(int base, String[] names) {
+            this.base = base;
+            this.names = names;
+        }
+        public int get(String name) {
+            for (int i = 0; i < names.length; ++i) {
+                if (name.equalsIgnoreCase(names[i])) return base + i;
+            }
+            return -1;
+        }
+        public String get(int number) {
+            number -= base;
+            if (number < 0 || names.length <= number) return null;
+            return names[number];
+        }
+        public boolean isInRange(int number) {
+            number -= base;
+            return (0 <= number && number < names.length);
+        }
+        public List getNames() {
+            return Arrays.asList(names);
+        }
+    }
+}
\ No newline at end of file
diff --git a/src/com/ibm/icu/dev/test/util/ICUResourceBundleTest.java b/src/com/ibm/icu/dev/test/util/ICUResourceBundleTest.java
new file mode 100644
index 0000000..88939bf
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/util/ICUResourceBundleTest.java
@@ -0,0 +1,976 @@
+/**
+ *******************************************************************************
+ * Copyright (C) 2001-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.test.util;
+
+import java.io.File;
+import java.io.IOException;
+import java.net.URL;
+import java.nio.ByteBuffer;
+import java.util.MissingResourceException;
+import java.util.Enumeration;
+
+import com.ibm.icu.dev.test.TestFmwk;
+import com.ibm.icu.impl.ICUData;
+import com.ibm.icu.impl.ICUResourceBundle;
+import com.ibm.icu.impl.Utility;
+import com.ibm.icu.text.UTF16;
+import com.ibm.icu.util.Holiday;
+import com.ibm.icu.util.ULocale;
+import com.ibm.icu.util.UResourceBundle;
+import com.ibm.icu.util.UResourceTypeMismatchException;
+
+
+public final class ICUResourceBundleTest extends TestFmwk {
+
+    public static void main(String args[]) throws Exception {
+        ICUResourceBundleTest test = new ICUResourceBundleTest();
+        test.run(args);
+
+    }
+    public void TestGetResources(){
+        try{
+            ClassLoader loader = getClass().getClassLoader();
+            Enumeration en = loader.getResources("META-INF");
+            for(;en.hasMoreElements();){
+                //URL url = loader.getResource("LocaleElements_en.class");
+                //File file = new File(url.getPath());
+                URL url = (URL)en.nextElement();
+        if (url == null) {
+            warnln("could not load resource data");
+            return;
+        }
+                File file = new File(url.getPath());
+                File[] files = file.listFiles();
+                if(files!=null){
+                    for(int i=0; i<files.length; i++){
+                        logln(files[i].getName());
+                    }
+                }
+            }
+        }catch(SecurityException ex) {
+            warnln("could not load resource data: " + ex);
+    }catch(NullPointerException ex) {
+        // thrown by ibm 1.4.2 windows jvm security manager
+        warnln("could not load resource data: " + ex);
+        }catch(Exception ex){
+        ex.printStackTrace();
+            errln("Unexpected exception: "+ ex);
+        }
+    }
+    public void TestResourceBundleWrapper(){
+        UResourceBundle bundle = UResourceBundle.getBundleInstance("com.ibm.icu.impl.data.HolidayBundle", "da_DK");
+        Object o = bundle.getObject("holidays");
+        if(o instanceof Holiday[] ){
+            logln("wrapper mechanism works for Weekend data");
+        }else{
+            errln("Did not get the expected output for Weekend data");
+        }
+
+        bundle = UResourceBundle.getBundleInstance(ICUResourceBundle.ICU_BASE_NAME, "bogus", this.getClass().getClassLoader());
+        if(bundle instanceof ICUResourceBundle && bundle.getULocale().equals("en_US")){
+            logln("wrapper mechanism works for bogus locale");
+        }else{
+            errln("wrapper mechanism failed for bogus locale.");
+        }
+
+        try{
+            bundle = UResourceBundle.getBundleInstance("bogus", "bogus", this.getClass().getClassLoader());
+            if(bundle!=null){
+              errln("Did not get the expected exception");
+            }
+        }catch(MissingResourceException ex){
+            logln("got the expected exception");
+        }
+
+
+    }
+    public void TestJB3879(){
+        // this tests tests loading of root bundle when a resource bundle
+        // for the default locale is requested
+        try {
+            ICUResourceBundle bundle = (ICUResourceBundle) UResourceBundle.getBundleInstance("com/ibm/icu/dev/data/testdata", ULocale.getDefault());
+            if(bundle==null){
+                errln("could not create the resource bundle");
+            }
+        }
+        catch (MissingResourceException ex) {
+            warnln("could not load test data: " + ex.getMessage());
+        }
+    }
+    public void TestOpen(){
+        ICUResourceBundle bundle = (ICUResourceBundle) UResourceBundle.getBundleInstance(ICUResourceBundle.ICU_BASE_NAME, "en_US_POSIX", ICUData.class.getClassLoader());
+
+        if(bundle==null){
+            errln("could not create the resource bundle");
+        }
+
+        ICUResourceBundle obj =  bundle.get("NumberPatterns");
+
+        int size = obj.getSize();
+        int type = obj.getType();
+        if(type == ICUResourceBundle.ARRAY){
+            ICUResourceBundle sub;
+            for(int i=0; i<size; i++){
+                sub = obj.get(i);
+                String temp =sub.getString();
+                if(temp.length()==0){
+                    errln("Failed to get the items from NumberPatterns array in bundle: "+
+                            bundle.getULocale().getBaseName());
+                }
+                //System.out.println("\""+prettify(temp)+"\"");
+            }
+
+        }
+        String[] strings = bundle.getStringArray("NumberPatterns");
+        if(size!=strings.length){
+            errln("Failed to get the items from NumberPatterns array in bundle: "+
+                    bundle.getULocale().getBaseName());
+        }
+        {
+            obj =  bundle.get("NumberElements");
+
+            size = obj.getSize();
+            type = obj.getType();
+            if(type == ICUResourceBundle.ARRAY){
+                ICUResourceBundle sub;
+                for(int i=0; i<size; i++){
+                    sub = obj.get(i);
+                    String temp =sub.getString();
+                    if(temp.length()==0){
+                        errln("Failed to get the items from NumberPatterns array in bundle: "+
+                                bundle.getULocale().getBaseName());
+                    }
+                   // System.out.println("\""+prettify(temp)+"\"");
+                }
+
+            }
+        }
+        if(bundle==null){
+            errln("could not create the resource bundle");
+        }
+        bundle = (ICUResourceBundle)UResourceBundle.getBundleInstance(ICUResourceBundle.ICU_COLLATION_BASE_NAME, "en_US_POSIX");
+        if(bundle==null){
+            errln("could not load the stream");
+        }
+        bundle = (ICUResourceBundle) UResourceBundle.getBundleInstance(ICUResourceBundle.ICU_BASE_NAME, "my_very_very_very_long_bogus_bundle");
+        if(!bundle.getULocale().equals(ULocale.getDefault())){
+            errln("UResourceBundle did not load the default bundle when bundle was not found");
+        }
+
+
+    }
+
+    public void TestBasicTypes(){
+        ICUResourceBundle bundle = null;
+        try {
+            bundle = (ICUResourceBundle)UResourceBundle.getBundleInstance("com/ibm/icu/dev/data/testdata", "testtypes");
+        }
+        catch (MissingResourceException e) {
+            warnln("could not load test data: " + e.getMessage());
+            return;
+        }
+        {
+            String expected = "abc\u0000def";
+            ICUResourceBundle sub = bundle.get("zerotest");
+            if(!expected.equals(sub.getString())){
+                errln("Did not get the expected string for key zerotest in bundle testtypes");
+            }
+            sub = bundle.get("emptyexplicitstring");
+            expected ="";
+            if(!expected.equals(sub.getString())){
+                errln("Did not get the expected string for key emptyexplicitstring in bundle testtypes");
+            }
+            sub = bundle.get("emptystring");
+            expected ="";
+            if(!expected.equals(sub.getString())){
+                errln("Did not get the expected string for key emptystring in bundle testtypes");
+            }
+        }
+        {
+            int expected = 123;
+            ICUResourceBundle sub = bundle.get("onehundredtwentythree");
+            if(expected!=sub.getInt()){
+                errln("Did not get the expected int value for key onehundredtwentythree in bundle testtypes");
+            }
+            sub = bundle.get("emptyint");
+            expected=0;
+            if(expected!=sub.getInt()){
+                errln("Did not get the expected int value for key emptyint in bundle testtypes");
+            }
+        }
+        {
+            int expected = 1;
+            ICUResourceBundle sub = bundle.get("one");
+            if(expected!=sub.getInt()){
+                errln("Did not get the expected int value for key one in bundle testtypes");
+            }
+        }
+        {
+            int expected = -1;
+            ICUResourceBundle sub = bundle.get("minusone");
+            int got = sub.getInt();
+            if(expected!=got){
+                errln("Did not get the expected int value for key minusone in bundle testtypes");
+            }
+            expected = 0xFFFFFFF;
+            got = sub.getUInt();
+            if(expected!=got){
+                errln("Did not get the expected int value for key minusone in bundle testtypes");
+            }
+        }
+        {
+            int expected = 1;
+            ICUResourceBundle sub = bundle.get("plusone");
+            if(expected!=sub.getInt()){
+                errln("Did not get the expected int value for key minusone in bundle testtypes");
+            }
+
+        }
+        {
+            int[] expected = new int[]{ 1, 2, 3, -3, 4, 5, 6, 7 }   ;
+            ICUResourceBundle sub = bundle.get("integerarray");
+            if(!Utility.arrayEquals(expected,sub.getIntVector())){
+                errln("Did not get the expected int vector value for key integerarray in bundle testtypes");
+            }
+            sub = bundle.get("emptyintv");
+            expected = new int[0];
+            if(!Utility.arrayEquals(expected,sub.getIntVector())){
+                errln("Did not get the expected int vector value for key emptyintv in bundle testtypes");
+            }
+
+        }
+        {
+            ICUResourceBundle sub = bundle.get("binarytest");
+            ByteBuffer got = sub.getBinary();
+            if(got.remaining()!=15){
+                errln("Did not get the expected length for the binary ByteBuffer");
+            }
+            for(int i=0; i< got.remaining(); i++){
+                byte b = got.get();
+                if(b!=i){
+                    errln("Did not get the expected value for binary buffer at index: "+i);
+                }
+            }
+            sub = bundle.get("emptybin");
+            got = sub.getBinary();
+            if(got.remaining()!=0){
+                errln("Did not get the expected length for the emptybin ByteBuffer");
+            }
+
+        }
+        {
+            ICUResourceBundle sub = bundle.get("emptyarray");
+            String key = sub.getKey();
+            if(!key.equals("emptyarray")){
+                errln("Did not get the expected key for emptytable item");
+            }
+            if(sub.getSize()!=0){
+                errln("Did not get the expected length for emptytable item");
+            }
+        }
+        {
+            ICUResourceBundle sub = bundle.get("menu");
+            String key = sub.getKey();
+            if(!key.equals("menu")){
+                errln("Did not get the expected key for menu item");
+            }
+            ICUResourceBundle sub1 = sub.get("file");
+            key = sub1.getKey();
+            if(!key.equals("file")){
+                errln("Did not get the expected key for file item");
+            }
+            ICUResourceBundle sub2 = sub1.get("open");
+            key = sub2.getKey();
+            if(!key.equals("open")){
+                errln("Did not get the expected key for file item");
+            }
+            String value = sub2.getString();
+            if(!value.equals("Open")){
+                errln("Did not get the expected value for key for oen item");
+            }
+
+            sub = bundle.get("emptytable");
+            key = sub.getKey();
+            if(!key.equals("emptytable")){
+                errln("Did not get the expected key for emptytable item");
+            }
+            if(sub.getSize()!=0){
+                errln("Did not get the expected length for emptytable item");
+            }
+            sub = bundle.get("menu").get("file");
+            int size = sub.getSize();
+            String expected;
+            for(int i=0; i<size; i++){
+                sub1 = sub.get(i);
+
+                switch(i){
+                    case 0:
+                        expected = "exit";
+                        break;
+                    case 1:
+                        expected = "open";
+                        break;
+                    case 2:
+                        expected = "save";
+                        break;
+                    default:
+                        expected ="";
+                }
+                String got = sub1.getKey();
+                if(!expected.equals(got)){
+                    errln("Did not get the expected key at index"+i+". Expected: "+expected+" Got: "+got);
+                }else{
+                    logln("Got the expected key at index: "+i);
+                }
+            }
+        }
+
+    }
+    private static final class TestCase{
+        String key;
+        int value;
+        TestCase(String key, int value){
+            this.key = key;
+            this.value = value;
+        }
+    }
+    public void TestTable32(){
+        TestCase[] arr = new TestCase[]{
+          new TestCase  ( "ooooooooooooooooo", 0 ),
+          new TestCase  ( "oooooooooooooooo1", 1 ),
+          new TestCase  ( "ooooooooooooooo1o", 2 ),
+          new TestCase  ( "oo11ooo1ooo11111o", 25150 ),
+          new TestCase  ( "oo11ooo1ooo111111", 25151 ),
+          new TestCase  ( "o1111111111111111", 65535 ),
+          new TestCase  ( "1oooooooooooooooo", 65536 ),
+          new TestCase  ( "1ooooooo11o11ooo1", 65969 ),
+          new TestCase  ( "1ooooooo11o11oo1o", 65970 ),
+          new TestCase  ( "1ooooooo111oo1111", 65999 )
+        };
+        ICUResourceBundle bundle = null;
+        try {
+            bundle = (ICUResourceBundle)UResourceBundle.getBundleInstance("com/ibm/icu/dev/data/testdata","testtable32");
+        }
+        catch (MissingResourceException ex) {
+            warnln("could not load resource data: " + ex.getMessage());
+            return;
+        }
+
+        if(bundle.getType()!= ICUResourceBundle.TABLE){
+            errln("Could not get the correct type for bundle testtable32");
+        }
+        int size =bundle.getSize();
+        if(size!=66000){
+            errln("Could not get the correct size for bundle testtable32");
+        }
+        for(int i =0; i<size; i++){
+            ICUResourceBundle item = bundle.get(i);
+            String key = item.getKey();
+            int parsedNumber = parseTable32Key(key);
+            int number=-1;
+            switch(item.getType()){
+                case ICUResourceBundle.STRING:
+                    String value = item.getString();
+                    number = UTF16.charAt(value,0);
+                    break;
+                case ICUResourceBundle.INT:
+                    number = item.getInt();
+                    break;
+                default:
+                    errln("Got unexpected resource type in testtable32");
+
+            }
+            if(number!=parsedNumber){
+                errln("Did not get expected value in testtypes32 for key"+
+                      key+". Expected: "+parsedNumber+" Got:"+number);
+            }
+
+        }
+        for(int i=0;i<arr.length; i++){
+            String expected = arr[i].key;
+            ICUResourceBundle item = bundle.get(expected);
+            int number=0;
+            String key = item.getKey();
+            int parsedNumber = parseTable32Key(key);
+            if(!key.equals(expected)){
+                errln("Did not get the expected key. Expected: "+expected+" Got:"+key);
+            }
+            switch(item.getType()){
+                case ICUResourceBundle.STRING:
+                    String value = item.getString();
+                    number = UTF16.charAt(value,0);
+                    break;
+                 case ICUResourceBundle.INT:
+                    number = item.getInt();
+                    break;
+                default:
+                    errln("Got unexpected resource type in testtable32");
+            }
+
+            if(number!=parsedNumber){
+                errln("Did not get expected value in testtypes32 for key"+
+                      key+". Expected: "+parsedNumber+" Got:"+number);
+            }
+        }
+    }
+    private static int  parseTable32Key(String key) {
+        int number;
+        char c;
+
+        number=0;
+        for(int i=0; i<key.length(); i++){
+            c = key.charAt(i);
+            number<<=1;
+            if(c=='1') {
+                number|=1;
+            }
+        }
+        return number;
+    }
+
+    public void TestAliases(){
+       String simpleAlias   = "Open";
+
+       ICUResourceBundle rb = (ICUResourceBundle)ICUResourceBundle.createBundle("com/ibm/icu/dev/data/testdata","testaliases", ICUResourceBundleTest.class.getClassLoader());
+       if (rb == null) {
+           warnln("could not load testaliases data");
+           return;
+       }
+        ICUResourceBundle sub = rb.get("simplealias");
+        String s1 = sub.getString("simplealias");
+        if(s1.equals(simpleAlias)){
+            logln("Alias mechanism works for simplealias");
+        }else{
+            errln("Did not get the expected output for simplealias");
+        }
+        {
+            try{
+                rb = (ICUResourceBundle)UResourceBundle.getBundleInstance("com/ibm/icu/dev/data/testdata","testaliases");
+                sub = rb.get("nonexisting");
+                errln("Did not get the expected exception for nonexisting");
+            }catch(MissingResourceException ex){
+                logln("Alias mechanism works for nonexisting alias");
+            }
+        }
+        {
+            rb = (ICUResourceBundle)UResourceBundle.getBundleInstance("com/ibm/icu/dev/data/testdata","testaliases");
+            sub = rb.get("referencingalias");
+            s1 = sub.getString();
+            if(s1.equals("Hani")){
+                logln("Alias mechanism works for referencingalias");
+            }else{
+                errln("Did not get the expected output for referencingalias");
+            }
+        }
+        {
+            rb = (ICUResourceBundle)UResourceBundle.getBundleInstance("com/ibm/icu/dev/data/testdata","testaliases");
+            sub = rb.get("BreakDictionaryData");
+            if(sub.getType()!=ICUResourceBundle.BINARY){
+                errln("Did not get the expected type for BreakDictionaryData");
+            }
+            if(sub.getBinary().remaining()>0){
+                logln("Got the expected output for BreakDictionaryData");
+            }else{
+                errln("Did not get the expected type for BreakDictionaryData");
+            }
+
+        }
+        {
+            ICUResourceBundle rb1 = (ICUResourceBundle)UResourceBundle.getBundleInstance("com/ibm/icu/dev/data/testdata","testaliases");
+            if(rb1!=rb){
+                errln("Caching of the resource bundle failed");
+            }else{
+                logln("Caching of resource bundle passed");
+            }
+            sub = rb1.get("testGetStringByKeyAliasing" );
+
+            s1 = sub.get("KeyAlias0PST").getString();
+            if(s1.equals("America/Los_Angeles")){
+                logln("Alias mechanism works for KeyAlias0PST");
+            }else{
+                errln("Did not get the expected output for KeyAlias0PST");
+            }
+
+            s1 = sub.getString("KeyAlias1PacificStandardTime");
+            if(s1.equals("Pacific Standard Time")){
+                logln("Alias mechanism works for KeyAlias1PacificStandardTime");
+            }else{
+                errln("Did not get the expected output for KeyAlias1PacificStandardTime");
+            }
+            s1 = sub.getString("KeyAlias2PDT");
+            if(s1.equals("PDT")){
+                logln("Alias mechanism works for KeyAlias2PDT");
+            }else{
+                errln("Did not get the expected output for KeyAlias2PDT");
+            }
+
+            s1 = sub.getString("KeyAlias3LosAngeles");
+            if(s1.equals("Los Angeles")){
+                logln("Alias mechanism works for KeyAlias3LosAngeles. Got: "+s1);
+            }else{
+                errln("Did not get the expected output for KeyAlias3LosAngeles. Got: "+s1);
+            }
+        }
+        {
+            sub = rb.get("testGetStringByIndexAliasing" );
+            s1 = sub.getString(0);
+            if(s1.equals("America/Los_Angeles")){
+                logln("Alias mechanism works for testGetStringByIndexAliasing/0. Got: "+s1);
+            }else{
+                errln("Did not get the expected output for testGetStringByIndexAliasing/0. Got: "+s1);
+            }
+            s1 = sub.getString(1);
+            if(s1.equals("Pacific Standard Time")){
+                logln("Alias mechanism works for testGetStringByIndexAliasing/1");
+            }else{
+                errln("Did not get the expected output for testGetStringByIndexAliasing/1");
+            }
+            s1 = sub.getString(2);
+            if(s1.equals("PDT")){
+                logln("Alias mechanism works for testGetStringByIndexAliasing/2");
+            }else{
+                errln("Did not get the expected output for testGetStringByIndexAliasing/2");
+            }
+
+            s1 = sub.getString(3);
+            if(s1.equals("Los Angeles")){
+                logln("Alias mechanism works for testGetStringByIndexAliasing/3. Got: "+s1);
+            }else{
+                errln("Did not get the expected output for testGetStringByIndexAliasing/3. Got: "+s1);
+            }
+        }
+        {
+            sub = rb.get("BreakDictionaryData" );
+            ByteBuffer buf = sub.getBinary();
+            if(buf==null){
+                errln("Did not get the expected output for BreakDictionaryData");
+            }
+        }
+        // should not get an exception
+        rb = (ICUResourceBundle) UResourceBundle.getBundleInstance(ICUResourceBundle.ICU_RBNF_BASE_NAME,"fr_BE");
+        String str = rb.getString("SpelloutRules");
+        if(str !=null || str.length()>0){
+            logln("Alias mechanism works");
+        }else{
+            errln("Alias mechanism failed for fr_BE SpelloutRules");
+        }
+        rb = (ICUResourceBundle) UResourceBundle.getBundleInstance(ICUResourceBundle.ICU_COLLATION_BASE_NAME,"zh_TW");
+        ICUResourceBundle b = (ICUResourceBundle) rb.getObject("collations");
+        if(b != null){
+            if(b.get(0).getKey().equals( "default")){
+                logln("Alias mechanism works");
+            }else{
+                errln("Alias mechanism failed for zh_TW collations");
+            }
+        }else{
+            errln("Did not get the expected object for collations");
+        }
+
+    }
+    public void TestAlias(){
+        logln("Testing %%ALIAS");
+        ICUResourceBundle rb = (ICUResourceBundle) UResourceBundle.getBundleInstance(ICUResourceBundle.ICU_BASE_NAME,"iw_IL");
+        ICUResourceBundle b = rb.get("NumberPatterns");
+        if(b != null){
+            if(b.getSize()>0){
+                logln("%%ALIAS mechanism works");
+            }else{
+                errln("%%ALIAS mechanism failed for iw_IL collations");
+            }
+        }else{
+            errln("%%ALIAS mechanism failed for iw_IL");
+        }
+    }
+    public void TestXPathAlias(){
+        ICUResourceBundle rb = (ICUResourceBundle) UResourceBundle.getBundleInstance("com/ibm/icu/dev/data/testdata","te_IN");
+        ICUResourceBundle b = rb.get("aliasClient");
+        String result = b.getString();
+        String expResult= "correct"; 
+
+        if(!result.equals(expResult)){
+            errln("Did not get the expected result for XPath style alias");
+        }
+        try{
+            ICUResourceBundle c = rb.get("rootAliasClient");
+            result = c.getString();
+            expResult = "correct"; 
+            if(!result.equals(expResult)){
+                errln("Did not get the expected result for XPath style alias for rootAliasClient");
+            }
+        }catch( MissingResourceException ex){
+            errln("Could not get rootAliasClient");
+        }
+    }
+    public void TestCircularAliases(){
+        try{
+            ICUResourceBundle rb = (ICUResourceBundle)UResourceBundle.getBundleInstance("com/ibm/icu/dev/data/testdata","testaliases");
+            ICUResourceBundle sub = rb.get("aaa");
+            String s1 = sub.getString();
+            if(s1!=null){
+                errln("Did not get the expected exception");
+            }
+        }catch(IllegalArgumentException ex){
+            logln("got expected exception for circular references");
+        }
+        catch (MissingResourceException ex) {
+            warnln("could not load resource data: " + ex.getMessage());
+        }
+    }
+
+    public void TestGetWithFallback(){
+        /*
+        ICUResourceBundle bundle =(ICUResourceBundle) UResourceBundle.getBundleInstance("com/ibm/icu/dev/data/testdata","te_IN");
+        String key = bundle.getStringWithFallback("Keys/collation");
+        if(!key.equals("COLLATION")){
+            errln("Did not get the expected result from getStringWithFallback method.");
+        }
+        String type = bundle.getStringWithFallback("Types/collation/direct");
+        if(!type.equals("DIRECT")){
+            errln("Did not get the expected result form getStringWithFallback method.");
+        }
+        */
+        ICUResourceBundle bundle = null;
+        String key = null;
+        try{
+            bundle = (ICUResourceBundle) UResourceBundle.getBundleInstance(ICUResourceBundle.ICU_COLLATION_BASE_NAME,ULocale.canonicalize("de__PHONEBOOK"));
+
+            if(!bundle.getULocale().equals("de")){
+                errln("did not get the expected bundle");
+            }
+            key = bundle.getStringWithFallback("collations/collation/default");
+            if(!key.equals("phonebook")){
+                errln("Did not get the expected result from getStringWithFallback method.");
+            }
+
+        }catch(MissingResourceException ex){
+            logln("got the expected exception");
+        }
+
+
+        bundle = (ICUResourceBundle) UResourceBundle.getBundleInstance(ICUResourceBundle.ICU_COLLATION_BASE_NAME,"fr_FR");
+        key = bundle.getStringWithFallback("collations/default");
+        if(!key.equals("standard")){
+            errln("Did not get the expected result from getStringWithFallback method.");
+        }
+        bundle = (ICUResourceBundle) UResourceBundle.getBundleInstance(ICUResourceBundle.ICU_BASE_NAME,"fr_FR");
+        ICUResourceBundle b1 = bundle.getWithFallback("calendar");
+        String defaultCal = b1.getStringWithFallback("default");
+        if(!defaultCal.equals("gregorian")){
+            errln("Did not get the expected default calendar string: Expected: gregorian, Got: "+defaultCal);
+        }
+        ICUResourceBundle b2 = b1.getWithFallback(defaultCal);
+        ICUResourceBundle b3 = b2.getWithFallback("monthNames");
+        String defaultContext = b3.getStringWithFallback("default");
+        ICUResourceBundle b4 = b3.getWithFallback(defaultContext);
+        String defaultWidth  = b4.getStringWithFallback("default");
+        ICUResourceBundle b5 = b4.getWithFallback(defaultWidth);
+        if(b5.getSize()!=12){
+            errln("Did not get the expected size for the default monthNames");
+        }
+
+
+    }
+
+    private static final String COLLATION_RESNAME = "collations";
+    private static final String COLLATION_KEYWORD = "collation";
+    private static final String DEFAULT_NAME = "default";
+    private static final String STANDARD_NAME = "standard";
+
+    public void TestKeywordValues(){
+        String kwVals[];
+        boolean foundStandard = false;
+        int n;
+
+        logln("Testing getting collation values:");
+        kwVals = ICUResourceBundle.getKeywordValues(ICUResourceBundle.ICU_COLLATION_BASE_NAME,COLLATION_RESNAME);
+        for(n=0;n<kwVals.length;n++) {
+            logln(new Integer(n).toString() + ": " + kwVals[n]);
+            if(DEFAULT_NAME.equals(kwVals[n])) {
+                errln("getKeywordValues for collation returned 'default' in the list.");
+            } else if(STANDARD_NAME.equals(kwVals[n])) {
+                if(foundStandard == false) {
+                    foundStandard = true;
+                    logln("found 'standard'");
+                } else {
+                    errln("Error - 'standard' is in the keyword list twice!");
+                }
+            }
+        }
+
+        if(foundStandard == false) {
+            errln("Error - 'standard' was not in the collation tree as a keyword.");
+        } else {
+            logln("'standard' was found as a collation keyword.");
+        }
+    }
+
+    public void TestLocaleDisplayNames() {
+        ULocale[] locales = ULocale.getAvailableLocales();
+        for (int i = 0; i < locales.length; ++i) {
+            if (!hasLocalizedCountryFor(ULocale.ENGLISH, locales[i])){
+                 errln("Could not get localized country for "+ locales[i]);
+            }
+            if(!hasLocalizedLanguageFor(ULocale.ENGLISH, locales[i])){
+                errln("Could not get localized language for "+ locales[i]);
+            }
+            if(!hasLocalizedCountryFor(locales[i], locales[i])){
+                errln("Could not get localized country for "+ locales[i]);
+                hasLocalizedCountryFor(locales[i], locales[i]);
+            }
+            if(!hasLocalizedLanguageFor(locales[i], locales[i])){
+                errln("Could not get localized language for "+ locales[i]);
+            }
+
+            logln(locales[i] + "\t" + locales[i].getDisplayName(ULocale.ENGLISH) + "\t" + locales[i].getDisplayName(locales[i]));
+        }
+    }
+
+    private static boolean hasLocalizedLanguageFor(ULocale locale, ULocale otherLocale) {
+        String lang = otherLocale.getLanguage();
+        String localizedVersion = otherLocale.getDisplayLanguage(locale);
+        return !lang.equals(localizedVersion);
+    }
+
+    private static boolean hasLocalizedCountryFor(ULocale locale, ULocale otherLocale) {
+        String country = otherLocale.getCountry();
+        if (country.equals("")) return true;
+        String localizedVersion = otherLocale.getDisplayCountry(locale);
+        return !country.equals(localizedVersion);
+    }
+
+    public void TestFunctionalEquivalent(){
+       String[] testCases = {
+              //              avail   locale          equiv
+              "f",    "de_US_CALIFORNIA",            "de",
+              "t",    "zh_TW@collation=stroke",      "zh@collation=stroke",
+              "f",    "de_CN@collation=pinyin",      "de",
+              "t",    "zh@collation=pinyin",      "zh",
+              "t",    "zh_CN@collation=pinyin",      "zh", /* should be 'T' when validSubLocales works */
+              "t",    "zh_HK@collation=pinyin",      "zh",
+              "t",    "zh_HK@collation=stroke",      "zh@collation=stroke",
+              "t",    "zh_HK",  "zh@collation=stroke",
+              "t",    "zh_MO",  "zh@collation=stroke",
+              "t",    "zh_TW_STROKE",  "zh@collation=stroke",
+              "t",    "zh_TW_STROKE@collation=big5han",  "zh@collation=big5han",
+              "f",    "de_CN@calendar=japanese",     "de",
+              "t",    "de@calendar=japanese",        "de",
+              "t",    "zh_TW@collation=big5han",    "zh@collation=big5han",
+              "t",    "zh_TW@collation=gb2312han", "zh@collation=gb2312han",
+              "t",    "zh_CN@collation=big5han",    "zh@collation=big5han",
+              "t",    "zh_CN@collation=gb2312han", "zh@collation=gb2312han",
+              "t",    "zh@collation=big5han",       "zh@collation=big5han",
+              "t",    "zh@collation=gb2312han",    "zh@collation=gb2312han",
+              "t",    "hi_IN@collation=direct",      "hi@collation=direct",
+              "t",    "hi@collation=standard",      "hi",
+              "t",    "hi@collation=direct",      "hi@collation=direct",
+              "f",    "hi_AU@collation=direct;currency=CHF;calendar=buddhist",   "hi@collation=direct",
+              "f",    "hi_AU@collation=standard;currency=CHF;calendar=buddhist",   "hi",
+              "t",    "de_DE@collation=pinyin",      "de", /* bug 4582 tests */
+              "f",    "de_DE_BONN@collation=pinyin", "de",
+              "t",    "nl",                          "root",
+              "t",    "nl_NL",                       "root",
+              "f",    "nl_NL_EEXT",                  "root",
+              "t",    "nl@collation=stroke",         "root",
+              "t",    "nl_NL@collation=stroke",      "root",
+              "f",    "nl_NL_EEXT@collation=stroke", "root",	  
+           };
+
+       String F_STR = "f";
+       String T_STR = "t";
+       boolean isAvail[] = new boolean[1];
+       int i;
+
+       logln("Testing functional equivalents...");
+       for(i=0;i<testCases.length;i+=3) {
+           boolean expectAvail = T_STR.equals(testCases[i+0]);
+           ULocale inLocale = new ULocale(testCases[i+1]);
+           ULocale expectLocale = new ULocale(testCases[i+2]);
+
+           logln(new Integer(i/3).toString() + ": " + new Boolean(expectAvail).toString() + "\t\t" +
+                   inLocale.toString() + "\t\t" + expectLocale.toString());
+
+           ULocale equivLocale = ICUResourceBundle.getFunctionalEquivalent(ICUResourceBundle.ICU_COLLATION_BASE_NAME,COLLATION_RESNAME,
+                   COLLATION_KEYWORD, inLocale, isAvail);
+           boolean gotAvail = isAvail[0];
+
+           if((gotAvail!=expectAvail) || !equivLocale.equals(expectLocale)) {
+               errln(new Integer(i/3).toString() + ":  Error, expected  Equiv=" + new Boolean(expectAvail).toString() + "\t\t" +
+                       inLocale.toString() + "\t\t--> " + expectLocale.toString() + ",  but got " + new Boolean(gotAvail).toString() + " " +
+                       equivLocale.toString());
+           }
+       }
+
+       logln("Testing error conditions:");
+       try {
+           ULocale equivLocale = ICUResourceBundle.getFunctionalEquivalent(ICUResourceBundle.ICU_COLLATION_BASE_NAME, "calendar",
+              "calendar", new ULocale("ar_EG@calendar=islamic"), new boolean[1]);
+           errln("Err: expected MissingResourceException");
+       } catch ( MissingResourceException t ) {
+           logln("expected MissingResourceException caught (PASS): " + t.toString());
+       }
+    }
+
+    public void TestNorwegian(){
+        try{
+            ICUResourceBundle rb = (ICUResourceBundle)UResourceBundle.getBundleInstance(ICUResourceBundle.ICU_BASE_NAME, "no_NO_NY");
+            ICUResourceBundle sub = rb.get("Countries");
+            String s1 = sub.getString("NO");
+            if(s1.equals("Noreg")){
+                logln("got expected output ");
+            }else{
+                errln("did not get the expected result");
+            }
+        }catch(IllegalArgumentException ex){
+            errln("Caught an unexpected expected");
+        }
+    }
+    public void TestJB4102(){
+        try {
+            ICUResourceBundle root =(ICUResourceBundle) ICUResourceBundle.getBundleInstance(ICUResourceBundle.ICU_BASE_NAME, "root");
+            ICUResourceBundle t = null;    
+            try{
+                t = root.getWithFallback("calendar/islamic-civil/DateTimePatterns");
+                errln("Second resource does not exist. How did it get here?\n");
+            }catch(MissingResourceException ex){
+                logln("Got the expected exception");
+            }
+            try{
+                t = root.getWithFallback("calendar/islamic-civil/eras/abbreviated/0/mikimaus/pera");
+                errln("Second resource does not exist. How did it get here?\n");
+            }catch(MissingResourceException ex){
+                logln("Got the expected exception");
+            }
+        } catch (MissingResourceException e) {
+           warnln("Could not load the locale data: " + e.getMessage());
+        }
+    }
+
+    public void TestCLDRStyleAliases() {
+        String result = null;
+        String expected = null;
+        String[]expects = new String[] { "", "a41", "a12", "a03", "ar4" };
+
+        logln("Testing CLDR style aliases......\n");
+
+        ICUResourceBundle rb = (ICUResourceBundle)UResourceBundle.getBundleInstance("com/ibm/icu/dev/data/testdata", "te_IN_REVISED");
+        ICUResourceBundle alias = rb.get("a");
+
+        for(int i = 1; i < 5 ; i++) {
+          String resource="a"+i;
+          ICUResourceBundle a = ((ICUResourceBundle)alias).getWithFallback(resource);
+          result = a.getString();
+          if(result.equals(expected)) {
+              errln("CLDR style aliases failed resource with name "+resource+"resource, exp "+expects[i] +" , got " + result); 
+          }
+        }
+
+    }
+    private String getLSString(int status){
+        switch(status){
+            case ICUResourceBundle.FROM_FALLBACK:
+                return "FROM_FALLBACK";
+            case ICUResourceBundle.FROM_DEFAULT:
+                return "FROM_DEFAULT";
+            case ICUResourceBundle.FROM_ROOT: 
+                return "FROM_ROOT";
+            case ICUResourceBundle.FROM_LOCALE: 
+                return "FROM_LOCALE";
+            default:
+                return "UNKNOWN";
+        }
+    }
+    public void TestLoadingStatus(){
+        ICUResourceBundle bundle = (ICUResourceBundle)UResourceBundle.getBundleInstance(ICUResourceBundle.ICU_BASE_NAME, "yi_IL");
+        int status = bundle.getLoadingStatus();
+        if(status != ICUResourceBundle.FROM_DEFAULT){
+            errln("Did not get the expected value for loading status. Expected "+ getLSString(ICUResourceBundle.FROM_DEFAULT) 
+                    + " Got: " + getLSString(status));
+        }        
+        bundle = (ICUResourceBundle)UResourceBundle.getBundleInstance(ICUResourceBundle.ICU_BASE_NAME, "eo_DE");
+        status = bundle.getLoadingStatus();
+        if(status != ICUResourceBundle.FROM_FALLBACK){
+            errln("Did not get the expected value for loading status. Expected "+ getLSString(ICUResourceBundle.FROM_FALLBACK) 
+                    + " Got: " + getLSString(status));
+        }        
+        
+        logln("Test to verify loading status of get(String)");
+        bundle = (ICUResourceBundle)UResourceBundle.getBundleInstance(ICUResourceBundle.ICU_BASE_NAME, "te_IN");
+        ICUResourceBundle countries = bundle.get("Countries");
+        status =countries.getLoadingStatus();
+        if(status != ICUResourceBundle.FROM_FALLBACK){
+            errln("Did not get the expected value for loading status. Expected "+ getLSString(ICUResourceBundle.FROM_FALLBACK) 
+                    + " Got: " + getLSString(status));
+        }
+        
+        ICUResourceBundle auxExemplar = bundle.get("AuxExemplarCharacters");
+        status = auxExemplar.getLoadingStatus();
+        if(status != ICUResourceBundle.FROM_ROOT){
+            errln("Did not get the expected value for loading status. Expected "+ getLSString(ICUResourceBundle.FROM_ROOT) 
+                    + " Got: " + getLSString(status));
+        } 
+        
+        logln("Test to verify loading status of get(int)");
+        ICUResourceBundle ms = bundle.get("MeasurementSystem");
+        status = ms.getLoadingStatus();
+        if(status != ICUResourceBundle.FROM_ROOT){
+            errln("Did not get the expected value for loading status. Expected "+ getLSString(ICUResourceBundle.FROM_ROOT) 
+                    + " Got: " + getLSString(status));
+        }
+                
+        logln("Test to verify loading status of getwithFallback");
+        bundle = (ICUResourceBundle)UResourceBundle.getBundleInstance("com/ibm/icu/dev/data/testdata", "sh_YU");
+        ICUResourceBundle temp = bundle.getWithFallback("a/a2");
+        status = temp.getLoadingStatus();
+        if(status != ICUResourceBundle.FROM_LOCALE){
+            errln("Did not get the expected value for loading status. Expected "+ getLSString(ICUResourceBundle.FROM_LOCALE) 
+                    + " Got: " + getLSString(status));
+        }
+        temp = bundle.getWithFallback("a/a1");
+        status = temp.getLoadingStatus();
+        if(status != ICUResourceBundle.FROM_FALLBACK){
+            errln("Did not get the expected value for loading status. Expected "+ getLSString(ICUResourceBundle.FROM_FALLBACK) 
+                    + " Got: " + getLSString(status));
+        }
+        temp = bundle.getWithFallback("a/a4");
+        status = temp.getLoadingStatus();
+        if(status != ICUResourceBundle.FROM_ROOT){
+            errln("Did not get the expected value for loading status. Expected "+ getLSString(ICUResourceBundle.FROM_ROOT) 
+                    + " Got: " + getLSString(status));
+        }
+    }
+    public void TestCoverage(){
+        UResourceBundle bundle;
+        bundle = UResourceBundle.getBundleInstance(ICUResourceBundle.ICU_BASE_NAME);
+        if (bundle == null){
+            errln("UResourceBundle.getBundleInstance(String baseName) failed");
+        }
+        bundle = null;
+        bundle = UResourceBundle.getBundleInstance(ULocale.getDefault());
+        if (bundle == null){
+            errln("UResourceBundle.getBundleInstance(ULocale) failed");
+            return;
+        } 
+        if (new UResourceTypeMismatchException("coverage") == null){
+            errln("Create UResourceTypeMismatchException error");
+        }
+        class Stub extends UResourceBundle{
+            public ULocale getULocale() {return ULocale.ROOT;}
+            protected String getLocaleID() {return null;}
+            protected String getBaseName() {return null;}
+            protected UResourceBundle getParent() {return null;}
+            protected void setLoadingStatus(int newStatus) {}
+            public Enumeration getKeys() {return null;}
+            protected Object handleGetObject(String key) {return null;}
+        }
+        Stub stub = new Stub();
+        
+        if (!stub.getLocale().equals(ULocale.ROOT.toLocale())){
+            errln("UResourceBundle.getLoclae(Locale) should delegate to (ULocale)");
+        }
+    }
+}
+
diff --git a/src/com/ibm/icu/dev/test/util/ICUServiceTest.java b/src/com/ibm/icu/dev/test/util/ICUServiceTest.java
new file mode 100644
index 0000000..a6f1777
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/util/ICUServiceTest.java
@@ -0,0 +1,1015 @@
+/**
+ *******************************************************************************
+ * Copyright (C) 2001-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.test.util;
+
+import com.ibm.icu.dev.test.TestFmwk;
+import com.ibm.icu.impl.ICUNotifier;
+import com.ibm.icu.impl.ICURWLock;
+import com.ibm.icu.impl.ICUResourceBundle;
+import com.ibm.icu.impl.ICUService;
+import com.ibm.icu.impl.ICUService.Factory;
+import com.ibm.icu.impl.ICUService.Key;
+import com.ibm.icu.impl.ICUService.ServiceListener;
+import com.ibm.icu.impl.ICUService.SimpleFactory;
+import com.ibm.icu.impl.LocaleUtility;
+//import com.ibm.icu.impl.ICULocaleData;
+import com.ibm.icu.impl.ICULocaleService;
+import com.ibm.icu.impl.ICULocaleService.LocaleKey;
+import com.ibm.icu.impl.ICULocaleService.LocaleKeyFactory;
+import com.ibm.icu.impl.ICULocaleService.ICUResourceBundleFactory;
+import com.ibm.icu.text.Collator;
+import com.ibm.icu.util.ULocale;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.EventListener;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Locale;
+import java.util.Map;
+import java.util.Map.Entry;
+import java.util.Set;
+import java.util.SortedMap;
+
+public class ICUServiceTest extends TestFmwk
+{
+    public static void main(String[] args) throws Exception {
+    ICUServiceTest test = new ICUServiceTest();
+    test.run(args);
+    }
+
+    private String lrmsg(String message, Object lhs, Object rhs) {
+    return message + " lhs: " + lhs + " rhs: " + rhs;
+    }
+
+    public void confirmBoolean(String message, boolean val) {
+    msg(message, val ? LOG : ERR, !val, true);
+    }
+
+    public void confirmEqual(String message, Object lhs, Object rhs) {
+        msg(lrmsg(message, lhs, rhs), (lhs == null ? rhs == null : lhs.equals(rhs)) ? LOG : ERR, true, true);
+    }
+
+    public void confirmIdentical(String message, Object lhs, Object rhs) {
+    msg(lrmsg(message, lhs, rhs), lhs == rhs ? LOG : ERR, true, true);
+    }
+
+    public void confirmIdentical(String message, int lhs, int rhs) {
+    msg(message + " lhs: " + lhs + " rhs: " + rhs, lhs == rhs ? LOG : ERR, true, true);
+    }
+
+    /**
+     * Convenience override of getDisplayNames(ULocale, Comparator, String) that
+     * uses the current default ULocale as the locale, the default collator for
+     * the locale as the comparator to sort the display names, and null for
+     * the matchID.
+     */
+    public SortedMap getDisplayNames(ICUService service) {
+        ULocale locale = ULocale.getDefault();
+        Collator col = Collator.getInstance(locale);
+        return service.getDisplayNames(locale, col, null);
+    }
+
+    /**
+     * Convenience override of getDisplayNames(ULocale, Comparator, String) that
+     * uses the default collator for the locale as the comparator to
+     * sort the display names, and null for the matchID.
+     */
+    public SortedMap getDisplayNames(ICUService service, ULocale locale) {
+        Collator col = Collator.getInstance(locale);
+        return service.getDisplayNames(locale, col, null);
+    }
+    /**
+     * Convenience override of getDisplayNames(ULocale, Comparator, String) that
+     * uses the default collator for the locale as the comparator to
+     * sort the display names.
+     */
+    public SortedMap getDisplayNames(ICUService service, ULocale locale, String matchID) {
+        Collator col = Collator.getInstance(locale);
+        return service.getDisplayNames(locale, col, matchID);
+    }
+
+    // use locale keys
+    static final class TestService extends ICUService {
+        public TestService() {
+            super("Test Service");
+        }
+
+    public Key createKey(String id) {
+        return LocaleKey.createWithCanonicalFallback(id, null); // no fallback locale
+    }
+    }
+
+    public void TestAPI() {
+    // create a service using locale keys,
+    ICUService service = new TestService();
+
+        logln("service name:" + service.getName());
+
+    // register an object with one locale,
+    // search for an object with a more specific locale
+    // should return the original object
+    Integer singleton0 = new Integer(0);
+    service.registerObject(singleton0, "en_US");
+    Object result = service.get("en_US_FOO");
+    confirmIdentical("1) en_US_FOO -> en_US", result, singleton0);
+
+    // register a new object with the more specific locale
+    // search for an object with that locale
+    // should return the new object
+    Integer singleton1 = new Integer(1);
+    service.registerObject(singleton1, "en_US_FOO");
+    result = service.get("en_US_FOO");
+    confirmIdentical("2) en_US_FOO -> en_US_FOO", result, singleton1);
+
+    // search for an object that falls back to the first registered locale
+    result = service.get("en_US_BAR");
+    confirmIdentical("3) en_US_BAR -> en_US", result, singleton0);
+
+    // get a list of the factories, should be two
+    List factories = service.factories();
+    confirmIdentical("4) factory size", factories.size(), 2);
+
+    // register a new object with yet another locale
+    // original factory list is unchanged
+    Integer singleton2 = new Integer(2);
+    service.registerObject(singleton2, "en");
+    confirmIdentical("5) factory size", factories.size(), 2);
+
+    // search for an object with the new locale
+    // stack of factories is now en, en_US_FOO, en_US
+    // search for en_US should still find en_US object
+    result = service.get("en_US_BAR");
+    confirmIdentical("6) en_US_BAR -> en_US", result, singleton0);
+
+    // register a new object with an old id, should hide earlier factory using this id, but leave it there
+    Integer singleton3 = new Integer(3);
+    service.registerObject(singleton3, "en_US");
+    factories = service.factories();
+    confirmIdentical("9) factory size", factories.size(), 4);
+
+    // should get data from that new factory
+    result = service.get("en_US_BAR");
+    confirmIdentical("10) en_US_BAR -> (3)", result, singleton3);
+
+    // remove new factory
+    // should have fewer factories again
+    service.unregisterFactory((Factory)factories.get(0));
+    factories = service.factories();
+    confirmIdentical("11) factory size", factories.size(), 3);
+
+    // should get original data again after remove factory
+    result = service.get("en_US_BAR");
+    confirmIdentical("12) en_US_BAR -> 0", result, singleton0);
+
+    // shouldn't find unregistered ids
+    result = service.get("foo");
+    confirmIdentical("13) foo -> null", result, null);
+
+    // should find non-canonical strings
+    String[] resultID = new String[1];
+    result = service.get("EN_us_fOo", resultID);
+    confirmEqual("14) find non-canonical", resultID[0], "en_US_FOO");
+
+    // should be able to register non-canonical strings and get them canonicalized
+    service.registerObject(singleton3, "eN_ca_dUde");
+    result = service.get("En_Ca_DuDe", resultID);
+    confirmEqual("15) register non-canonical", resultID[0], "en_CA_DUDE");
+
+    // should be able to register invisible factories, these will not
+    // be visible by default, but if you know the secret password you
+    // can still access these services...
+    Integer singleton4 = new Integer(4);
+    service.registerObject(singleton4, "en_US_BAR", false);
+    result = service.get("en_US_BAR");
+    confirmIdentical("17) get invisible", result, singleton4);
+
+    // should not be able to locate invisible services
+    Set ids = service.getVisibleIDs();
+    confirmBoolean("18) find invisible", !ids.contains("en_US_BAR"));
+
+    service.reset();
+    // an anonymous factory than handles all ids
+    {
+        Factory factory = new Factory() {
+            public Object create(Key key, ICUService service) {
+            return new ULocale(key.currentID());
+            }
+
+                    ///CLOVER:OFF
+            public void updateVisibleIDs(Map result) {
+            }
+                    ///CLOVER:ON
+
+                    ///CLOVER:OFF
+            public String getDisplayName(String id, ULocale l) {
+            return null;
+            }
+                    ///CLOVER:ON
+        };
+        service.registerFactory(factory);
+
+        // anonymous factory will still handle the id
+        result = service.get(ULocale.US.toString());
+        confirmEqual("21) locale", result, ULocale.US);
+
+        // still normalizes id
+        result = service.get("EN_US_BAR");
+        confirmEqual("22) locale", result, new ULocale("en_US_BAR"));
+
+        // we can override for particular ids
+        service.registerObject(singleton3, "en_US_BAR");
+        result = service.get("en_US_BAR");
+        confirmIdentical("23) override super", result, singleton3);
+
+    }
+
+    // empty service should not recognize anything
+    service.reset();
+    result = service.get("en_US");
+    confirmIdentical("24) empty", result, null);
+
+    // create a custom multiple key factory
+    {
+        String[] xids = { "en_US_VALLEY_GIRL",
+                  "en_US_VALLEY_BOY",
+                  "en_US_SURFER_GAL",
+                  "en_US_SURFER_DUDE"
+        };
+        service.registerFactory(new TestLocaleKeyFactory(xids, "Later"));
+    }
+
+    // iterate over the visual ids returned by the multiple factory
+    {
+        Set vids = service.getVisibleIDs();
+        Iterator iter = vids.iterator();
+        int count = 0;
+        while (iter.hasNext()) {
+        ++count;
+                String id = (String)iter.next();
+        logln("  " + id + " --> " + service.get(id));
+        }
+        // four visible ids
+        confirmIdentical("25) visible ids", count, 4);
+    }
+
+    // iterate over the display names
+    {
+        Map dids = getDisplayNames(service, ULocale.GERMANY);
+        Iterator iter = dids.entrySet().iterator();
+        int count = 0;
+        while (iter.hasNext()) {
+        ++count;
+        Entry e = (Entry)iter.next();
+        logln("  " + e.getKey() + " -- > " + e.getValue());
+        }
+        // four display names, in german
+        confirmIdentical("26) display names", count, 4);
+    }
+
+    // no valid display name
+    confirmIdentical("27) get display name", service.getDisplayName("en_US_VALLEY_GEEK"), null);
+
+    {
+        String name = service.getDisplayName("en_US_SURFER_DUDE", ULocale.US);
+        confirmEqual("28) get display name", name, "English (United States, SURFER_DUDE)");
+    }
+
+    // register another multiple factory
+    {
+        String[] xids = {
+        "en_US_SURFER", "en_US_SURFER_GAL", "en_US_SILICON", "en_US_SILICON_GEEK"
+        };
+        service.registerFactory(new TestLocaleKeyFactory(xids, "Rad dude"));
+    }
+
+    // this time, we have seven display names
+        // Rad dude's surfer gal 'replaces' later's surfer gal
+    {
+        Map dids = getDisplayNames(service);
+        Iterator iter = dids.entrySet().iterator();
+        int count = 0;
+        while (iter.hasNext()) {
+        ++count;
+        Entry e = (Entry)iter.next();
+        logln("  " + e.getKey() + " --> " + e.getValue());
+        }
+        // seven display names, in spanish
+        confirmIdentical("29) display names", count, 7);
+    }
+
+    // we should get the display name corresponding to the actual id
+    // returned by the id we used.
+    {
+        String[] actualID = new String[1];
+        String id = "en_us_surfer_gal";
+        String gal = (String)service.get(id, actualID);
+        if (gal != null) {
+                logln("actual id: " + actualID[0]);
+        String displayName = service.getDisplayName(actualID[0], ULocale.US);
+        logln("found actual: " + gal + " with display name: " + displayName);
+        confirmBoolean("30) found display name for actual", displayName != null);
+
+        displayName = service.getDisplayName(id, ULocale.US);
+        logln("found query: " + gal + " with display name: " + displayName);
+        // this is no longer a bug, we want to return display names for anything
+        // that a factory handles.  since we handle it, we should return a display
+        // name.  see jb3549
+        // confirmBoolean("31) found display name for query", displayName == null);
+        } else {
+        errln("30) service could not find entry for " + id);
+        }
+
+            // this should be handled by the 'dude' factory, since it overrides en_US_SURFER.
+        id = "en_US_SURFER_BOZO";
+        String bozo = (String)service.get(id, actualID);
+        if (bozo != null) {
+        String displayName = service.getDisplayName(actualID[0], ULocale.US);
+        logln("found actual: " + bozo + " with display name: " + displayName);
+        confirmBoolean("32) found display name for actual", displayName != null);
+
+        displayName = service.getDisplayName(id, ULocale.US);
+        logln("found actual: " + bozo + " with display name: " + displayName);
+        // see above and jb3549
+        // confirmBoolean("33) found display name for query", displayName == null);
+        } else {
+        errln("32) service could not find entry for " + id);
+        }
+
+            confirmBoolean("34) is default ", !service.isDefault());
+    }
+
+        /*
+      // disallow hiding for now
+
+      // hiding factory should obscure 'sublocales'
+      {
+      String[] xids = {
+      "en_US_VALLEY", "en_US_SILICON"
+      };
+      service.registerFactory(new TestHidingFactory(xids, "hiding"));
+      }
+
+      {
+      Map dids = service.getDisplayNames();
+      Iterator iter = dids.entrySet().iterator();
+      int count = 0;
+      while (iter.hasNext()) {
+      ++count;
+      Entry e = (Entry)iter.next();
+      logln("  " + e.getKey() + " -- > " + e.getValue());
+      }
+      confirmIdentical("35) hiding factory", count, 5);
+      }
+        */
+
+    {
+        Set xids = service.getVisibleIDs();
+        Iterator iter = xids.iterator();
+        while (iter.hasNext()) {
+        String xid = (String)iter.next();
+        logln(xid + "?  " + service.get(xid));
+        }
+
+        logln("valleygirl?  " + service.get("en_US_VALLEY_GIRL"));
+        logln("valleyboy?   " + service.get("en_US_VALLEY_BOY"));
+        logln("valleydude?  " + service.get("en_US_VALLEY_DUDE"));
+        logln("surfergirl?  " + service.get("en_US_SURFER_GIRL"));
+    }
+
+    // resource bundle factory.
+    service.reset();
+    service.registerFactory(new ICUResourceBundleFactory());
+
+    // list all of the resources
+    {
+            logln("all visible ids: " + service.getVisibleIDs());
+            /*
+          Set xids = service.getVisibleIDs();
+          StringBuffer buf = new StringBuffer("{");
+          boolean notfirst = false;
+          Iterator iter = xids.iterator();
+          while (iter.hasNext()) {
+          String xid = (String)iter.next();
+          if (notfirst) {
+          buf.append(", ");
+          } else {
+          notfirst = true;
+          }
+          buf.append(xid);
+          }
+          buf.append("}");
+          logln(buf.toString());
+            */
+    }
+
+        // list only the resources for es, default locale
+        // since we're using the default Key, only "es" is matched
+        {
+            logln("visible ids for es locale: " + service.getVisibleIDs("es"));
+        }
+
+        // list only the spanish display names for es, spanish collation order
+        // since we're using the default Key, only "es" is matched
+        {
+            logln("display names: " + getDisplayNames(service, new ULocale("es"), "es"));
+        }
+
+        // list the display names in reverse order
+        {
+            logln("display names in reverse order: " +
+                  service.getDisplayNames(ULocale.US, new Comparator() {
+                          public int compare(Object lhs, Object rhs) {
+                              return -String.CASE_INSENSITIVE_ORDER.compare(lhs, rhs);
+                          }
+                      }));
+        }
+
+    // get all the display names of these resources
+    // this should be fast since the display names were cached.
+    {
+            logln("service display names for de_DE");
+        Map names = getDisplayNames(service, new ULocale("de_DE"));
+        StringBuffer buf = new StringBuffer("{");
+        Iterator iter = names.entrySet().iterator();
+        while (iter.hasNext()) {
+        Entry e = (Entry)iter.next();
+        String name = (String)e.getKey();
+        String id = (String)e.getValue();
+        buf.append("\n   " + name + " --> " + id);
+        }
+        buf.append("\n}");
+        logln(buf.toString());
+    }
+
+        CalifornioLanguageFactory califactory = new CalifornioLanguageFactory();
+        service.registerFactory(califactory);
+    // get all the display names of these resources
+    {
+            logln("californio language factory");
+        StringBuffer buf = new StringBuffer("{");
+            String[] idNames = {
+                CalifornioLanguageFactory.californio,
+        CalifornioLanguageFactory.valley,
+        CalifornioLanguageFactory.surfer,
+        CalifornioLanguageFactory.geek
+            };
+            for (int i = 0; i < idNames.length; ++i) {
+                String idName = idNames[i];
+                buf.append("\n  --- " + idName + " ---");
+                Map names = getDisplayNames(service, new ULocale(idName));
+                Iterator iter = names.entrySet().iterator();
+                while (iter.hasNext()) {
+                    Entry e = (Entry)iter.next();
+                    String name = (String)e.getKey();
+                    String id = (String)e.getValue();
+                    buf.append("\n    " + name + " --> " + id);
+                }
+        }
+        buf.append("\n}");
+        logln(buf.toString());
+    }
+
+    // test notification
+    // simple registration
+    {
+            logln("simple registration notification");
+        ICULocaleService ls = new ICULocaleService();
+        ServiceListener l1 = new ServiceListener() {
+            private int n;
+            public void serviceChanged(ICUService s) {
+            logln("listener 1 report " + n++ + " service changed: " + s);
+            }
+        };
+        ls.addListener(l1);
+        ServiceListener l2 = new ServiceListener() {
+            private int n;
+            public void serviceChanged(ICUService s) {
+            logln("listener 2 report " + n++ + " service changed: " + s);
+            }
+        };
+        ls.addListener(l2);
+        logln("registering foo... ");
+        ls.registerObject("Foo", "en_FOO");
+        logln("registering bar... ");
+        ls.registerObject("Bar", "en_BAR");
+        logln("getting foo...");
+        logln((String)ls.get("en_FOO"));
+        logln("removing listener 2...");
+        ls.removeListener(l2);
+        logln("registering baz...");
+        ls.registerObject("Baz", "en_BAZ");
+        logln("removing listener 1");
+        ls.removeListener(l1);
+        logln("registering burp...");
+        ls.registerObject("Burp", "en_BURP");
+
+        // should only get one notification even if register multiple times
+        logln("... trying multiple registration");
+        ls.addListener(l1);
+        ls.addListener(l1);
+        ls.addListener(l1);
+        ls.addListener(l2);
+        ls.registerObject("Foo", "en_FOO");
+        logln("... registered foo");
+
+        // since in a separate thread, we can callback and not deadlock
+        ServiceListener l3 = new ServiceListener() {
+            private int n;
+            public void serviceChanged(ICUService s) {
+            logln("listener 3 report " + n++ + " service changed...");
+            if (s.get("en_BOINK") == null) { // don't recurse on ourselves!!!
+                logln("registering boink...");
+                s.registerObject("boink", "en_BOINK");
+            }
+            }
+        };
+        ls.addListener(l3);
+        logln("registering boo...");
+        ls.registerObject("Boo", "en_BOO");
+        logln("...done");
+
+        try {
+        Thread.sleep(100);
+        }
+        catch (InterruptedException e) {
+        }
+    }
+    }
+
+    static class TestLocaleKeyFactory extends LocaleKeyFactory {
+    protected final Set ids;
+    protected final String factoryID;
+
+    public TestLocaleKeyFactory(String[] ids, String factoryID) {
+            super(VISIBLE, factoryID);
+
+        this.ids = Collections.unmodifiableSet(new HashSet(Arrays.asList(ids)));
+            this.factoryID = factoryID + ": ";
+    }
+
+    protected Object handleCreate(ULocale loc, int kind, ICUService service) {
+            return factoryID + loc.toString();
+    }
+
+    protected Set getSupportedIDs() {
+            return ids;
+    }
+    }
+
+    /*
+      // Disallow hiding for now since it causes gnarly problems, like
+      // how do you localize the hidden (but still exported) names.
+
+      static class TestHidingFactory implements ICUService.Factory {
+      protected final String[] ids;
+      protected final String factoryID;
+
+      public TestHidingFactory(String[] ids) {
+      this(ids, "Hiding");
+      }
+
+      public TestHidingFactory(String[] ids, String factoryID) {
+      this.ids = (String[])ids.clone();
+
+      if (factoryID == null || factoryID.length() == 0) {
+      this.factoryID = "";
+      } else {
+      this.factoryID = factoryID + ": ";
+      }
+      }
+
+      public Object create(Key key, ICUService service) {
+      for (int i = 0; i < ids.length; ++i) {
+      if (LocaleUtility.isFallbackOf(ids[i], key.currentID())) {
+      return factoryID + key.canonicalID();
+      }
+      }
+      return null;
+      }
+
+      public void updateVisibleIDs(Map result) {
+      for (int i = 0; i < ids.length; ++i) {
+      String id = ids[i];
+      Iterator iter = result.keySet().iterator();
+      while (iter.hasNext()) {
+      if (LocaleUtility.isFallbackOf(id, (String)iter.next())) {
+      iter.remove();
+      }
+      }
+      result.put(id, this);
+      }
+      }
+
+      public String getDisplayName(String id, ULocale locale) {
+      return factoryID + new ULocale(id).getDisplayName(locale);
+      }
+      }
+    */
+
+    static class CalifornioLanguageFactory extends ICUResourceBundleFactory {
+    public static String californio = "en_US_CA";
+    public static String valley = californio + "_VALLEY";
+    public static String surfer = californio + "_SURFER";
+    public static String geek = californio + "_GEEK";
+        public static Set supportedIDs;
+        static {
+            HashSet result = new HashSet();
+            result.addAll(ICUResourceBundle.getAvailableLocaleNameSet());
+        result.add(californio);
+        result.add(valley);
+        result.add(surfer);
+        result.add(geek);
+            supportedIDs = Collections.unmodifiableSet(result);
+        }
+
+    public Set getSupportedIDs() {
+            return supportedIDs;
+    }
+
+    public String getDisplayName(String id, ULocale locale) {
+        String prefix = "";
+        String suffix = "";
+        String ls = locale.toString();
+        if (LocaleUtility.isFallbackOf(californio, ls)) {
+        if (ls.equalsIgnoreCase(valley)) {
+            prefix = "Like, you know, it's so totally ";
+        } else if (ls.equalsIgnoreCase(surfer)) {
+            prefix = "Dude, its ";
+        } else if (ls.equalsIgnoreCase(geek)) {
+            prefix = "I'd estimate it's approximately ";
+        } else {
+            prefix = "Huh?  Maybe ";
+        }
+        }
+        if (LocaleUtility.isFallbackOf(californio, id)) {
+        if (id.equalsIgnoreCase(valley)) {
+            suffix = "like the Valley, you know?  Let's go to the mall!";
+        } else if (id.equalsIgnoreCase(surfer)) {
+            suffix = "time to hit those gnarly waves, Dude!!!";
+        } else if (id.equalsIgnoreCase(geek)) {
+            suffix = "all systems go.  T-Minus 9, 8, 7...";
+        } else {
+            suffix = "No Habla Englais";
+        }
+        } else {
+        suffix = super.getDisplayName(id, locale);
+        }
+
+        return prefix + suffix;
+    }
+    }
+
+    public void TestLocale() {
+    ICULocaleService service = new ICULocaleService("test locale");
+    service.registerObject("root", "");
+    service.registerObject("german", "de");
+    service.registerObject("german_Germany", ULocale.GERMANY);
+    service.registerObject("japanese", "ja");
+    service.registerObject("japanese_Japan", ULocale.JAPAN);
+
+    Object target = service.get("de_US");
+    confirmEqual("test de_US", "german", target);
+
+        ULocale de = new ULocale("de");
+        ULocale de_US = new ULocale("de_US");
+
+        target = service.get(de_US);
+    confirmEqual("test de_US 2", "german", target);
+
+        target = service.get(de_US, LocaleKey.KIND_ANY);
+    confirmEqual("test de_US 3", "german", target);
+
+        target = service.get(de_US, 1234);
+    confirmEqual("test de_US 4", "german", target);
+
+        ULocale[] actualReturn = new ULocale[1];
+        target = service.get(de_US, actualReturn);
+        confirmEqual("test de_US 5", "german", target);
+        confirmEqual("test de_US 6", actualReturn[0], de);
+
+        actualReturn[0] = null;
+        target = service.get(de_US, LocaleKey.KIND_ANY, actualReturn);
+        confirmEqual("test de_US 7", actualReturn[0], de);
+
+        actualReturn[0] = null;
+        target = service.get(de_US, 1234, actualReturn);
+    confirmEqual("test de_US 8", "german", target);
+        confirmEqual("test de_US 9", actualReturn[0], de);
+
+        service.registerObject("one/de_US", de_US, 1);
+        service.registerObject("two/de_US", de_US, 2);
+
+        target = service.get(de_US, 1);
+        confirmEqual("test de_US kind 1", "one/de_US", target);
+
+        target = service.get(de_US, 2);
+        confirmEqual("test de_US kind 2", "two/de_US", target);
+
+        target = service.get(de_US);
+        confirmEqual("test de_US kind 3", "german", target);
+
+        LocaleKey lkey = LocaleKey.createWithCanonicalFallback("en", null, 1234);
+        logln("lkey prefix: " + lkey.prefix());
+        logln("lkey descriptor: " + lkey.currentDescriptor());
+        logln("lkey current locale: " + lkey.currentLocale());
+
+        lkey.fallback();
+        logln("lkey descriptor 2: " + lkey.currentDescriptor());
+
+        lkey.fallback();
+        logln("lkey descriptor 3: " + lkey.currentDescriptor());
+
+    target = service.get("za_PPP");
+    confirmEqual("test zappp", "root", target);
+
+    ULocale loc = ULocale.getDefault();
+    ULocale.setDefault(ULocale.JAPANESE);
+    target = service.get("za_PPP");
+    confirmEqual("test with ja locale", "japanese", target);
+
+    Set ids = service.getVisibleIDs();
+    for (Iterator iter = ids.iterator(); iter.hasNext();) {
+        logln("id: " + iter.next());
+    }
+
+    ULocale.setDefault(loc);
+    ids = service.getVisibleIDs();
+    for (Iterator iter = ids.iterator(); iter.hasNext();) {
+        logln("id: " + iter.next());
+    }
+
+    target = service.get("za_PPP");
+    confirmEqual("test with en locale", "root", target);
+
+        ULocale[] locales = service.getAvailableULocales();
+        confirmIdentical("test available locales", locales.length, 6);
+        logln("locales: ");
+        for (int i = 0; i < locales.length; ++i) {
+            log("\n  [" + i + "] " + locales[i]);
+        }
+        logln(" ");
+
+        service.registerFactory(new ICUResourceBundleFactory());
+        target = service.get(ULocale.JAPAN);
+
+        {
+            int n = 0;
+            List factories = service.factories();
+            Iterator iter = factories.iterator();
+            while (iter.hasNext()) {
+                logln("[" + n++ + "] " + iter.next());
+            }
+        }
+
+        // list only the english display names for es, in reverse order
+        // since we're using locale keys, we should get all and only the es locales
+        // hmmm, the default toString function doesn't print in sorted order for TreeMap
+        {
+            SortedMap map = service.getDisplayNames(ULocale.US,
+                            new Comparator() {
+                                public int compare(Object lhs, Object rhs) {
+                                return -String.CASE_INSENSITIVE_ORDER.compare(lhs, rhs);
+                                }
+                            },
+                            "es");
+
+            logln("es display names in reverse order " + map);
+        }
+    }
+
+    public void TestWrapFactory() {
+        final String greeting = "Hello There";
+        final String greetingID = "greeting";
+
+        ICUService service = new ICUService("wrap");
+        service.registerObject(greeting, greetingID);
+
+        logln("test one: " + service.get(greetingID));
+
+        class WrapFactory implements Factory {
+            public Object create(Key key, ICUService service) {
+                if (key.currentID().equals(greetingID)) {
+                    Object previous = service.getKey(key, null, this);
+                    return "A different greeting: \"" + previous + "\"";
+                }
+                return null;
+            }
+
+            public void updateVisibleIDs(Map result) {
+                result.put("greeting", this);
+            }
+
+            public String getDisplayName(String id, ULocale locale) {
+                return "wrap '" + id + "'";
+            }
+        }
+        service.registerFactory(new WrapFactory());
+
+        confirmEqual("wrap test: ", service.get(greetingID), "A different greeting: \"" + greeting + "\"");
+    }
+
+    // misc coverage tests
+    public void TestCoverage() {
+    // Key
+    Key key = new Key("foobar");
+    logln("ID: " + key.id());
+    logln("canonicalID: " + key.canonicalID());
+    logln("currentID: " + key.currentID());
+    logln("has fallback: " + key.fallback());
+
+    // SimpleFactory
+    Object obj = new Object();
+    SimpleFactory sf = new SimpleFactory(obj, "object");
+    try {
+        sf = new SimpleFactory(null, null);
+        errln("didn't throw exception");
+    }
+    catch (IllegalArgumentException e) {
+        logln("OK: " + e.getMessage());
+    }
+    catch (Exception e) {
+        errln("threw wrong exception" + e);
+    }
+    logln(sf.getDisplayName("object", null));
+
+    // ICUService
+    ICUService service = new ICUService();
+    service.registerFactory(sf);
+
+    try {
+        service.get(null, null);
+        errln("didn't throw exception");
+    }
+    catch (NullPointerException e) {
+        logln("OK: " + e.getMessage());
+    }
+        /*
+      catch (Exception e) {
+      errln("threw wrong exception" + e);
+      }
+        */
+    try {
+        service.registerFactory(null);
+        errln("didn't throw exception");
+    }
+    catch (NullPointerException e) {
+        logln("OK: " + e.getMessage());
+    }
+    catch (Exception e) {
+        errln("threw wrong exception" + e);
+    }
+
+    try {
+        service.unregisterFactory(null);
+        errln("didn't throw exception");
+    }
+    catch (NullPointerException e) {
+        logln("OK: " + e.getMessage());
+    }
+    catch (Exception e) {
+        errln("threw wrong exception" + e);
+    }
+
+    logln("object is: " + service.get("object"));
+
+    logln("stats: " + service.stats());
+
+    // ICURWLock
+
+    ICURWLock rwlock = new ICURWLock();
+    rwlock.acquireRead();
+    rwlock.releaseRead();
+
+    rwlock.acquireWrite();
+    rwlock.releaseWrite();
+    logln("stats: " + rwlock.getStats());
+    logln("stats: " + rwlock.clearStats());
+    rwlock.acquireRead();
+    rwlock.releaseRead();
+    rwlock.acquireWrite();
+    rwlock.releaseWrite();
+    logln("stats: " + rwlock.getStats());
+
+    try {
+        rwlock.releaseRead();
+        errln("no error thrown");
+    }
+    catch (InternalError e) {
+        logln("OK: " + e.getMessage());
+    }
+
+    try {
+        rwlock.releaseWrite();
+        errln("no error thrown");
+    }
+    catch (InternalError e) {
+        logln("OK: " + e.getMessage());
+    }
+
+        // ICULocaleService
+
+    // LocaleKey
+
+    // LocaleKey lkey = LocaleKey.create("en_US", "ja_JP");
+    // lkey = LocaleKey.create(null, null);
+    LocaleKey lkey = LocaleKey.createWithCanonicalFallback("en_US", "ja_JP");
+        logln("lkey: " + lkey);
+
+        lkey = LocaleKey.createWithCanonicalFallback(null, null);
+        logln("lkey from null,null: " + lkey);
+
+    // LocaleKeyFactory
+    LocaleKeyFactory lkf = new LKFSubclass(false);
+        logln("lkf: " + lkf);
+    logln("obj: " + lkf.create(lkey, null));
+    logln(lkf.getDisplayName("foo", null));
+    logln(lkf.getDisplayName("bar", null));
+    lkf.updateVisibleIDs(new HashMap());
+
+    LocaleKeyFactory invisibleLKF = new LKFSubclass(false);
+    logln("obj: " + invisibleLKF.create(lkey, null));
+    logln(invisibleLKF.getDisplayName("foo", null));
+    logln(invisibleLKF.getDisplayName("bar", null));
+    invisibleLKF.updateVisibleIDs(new HashMap());
+
+    // ResourceBundleFactory
+    ICUResourceBundleFactory rbf = new ICUResourceBundleFactory();
+    logln("RB: " + rbf.create(lkey, null));
+
+    // ICUNotifier
+    ICUNotifier nf = new ICUNSubclass();
+    try {
+        nf.addListener(null);
+        errln("added null listener");
+    }
+    catch (NullPointerException e) {
+        logln(e.getMessage());
+    }
+    catch (Exception e) {
+        errln("got wrong exception");
+    }
+
+    try {
+        nf.addListener(new WrongListener());
+        errln("added wrong listener");
+    }
+    catch (InternalError e) {
+        logln(e.getMessage());
+    }
+    catch (Exception e) {
+        errln("got wrong exception");
+    }
+
+    try {
+        nf.removeListener(null);
+        errln("removed null listener");
+    }
+    catch (NullPointerException e) {
+        logln(e.getMessage());
+    }
+    catch (Exception e) {
+        errln("got wrong exception");
+    }
+
+    nf.removeListener(new MyListener());
+    nf.notifyChanged();
+    nf.addListener(new MyListener());
+    nf.removeListener(new MyListener());
+    }
+
+    static class MyListener implements EventListener {
+    }
+
+    static class WrongListener implements EventListener {
+    }
+
+    static class ICUNSubclass extends ICUNotifier {
+    public boolean acceptsListener(EventListener l) {
+        return l instanceof MyListener;
+    }
+
+        // not used, just needed to implement abstract base
+        ///CLOVER:OFF
+    public void notifyListener(EventListener l) {
+    }
+        ///CLOVER:ON
+    }
+
+    static class LKFSubclass extends LocaleKeyFactory {
+    LKFSubclass(boolean visible) {
+        super(visible ? VISIBLE : INVISIBLE);
+    }
+
+    protected Set getSupportedIDs() {
+            return Collections.EMPTY_SET;
+    }
+    }
+}
diff --git a/src/com/ibm/icu/dev/test/util/ICUServiceTestSample.java b/src/com/ibm/icu/dev/test/util/ICUServiceTestSample.java
new file mode 100644
index 0000000..db44fdb
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/util/ICUServiceTestSample.java
@@ -0,0 +1,220 @@
+/**
+ *******************************************************************************
+ * Copyright (C) 2001-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.test.util;
+
+import com.ibm.icu.impl.ICULocaleService;
+import com.ibm.icu.impl.ICUService;
+import com.ibm.icu.impl.LocaleUtility;
+import com.ibm.icu.text.Collator;
+import com.ibm.icu.util.ULocale;
+
+import java.util.EventListener;
+import java.util.Iterator;
+import java.util.Locale;
+import java.util.Map;
+import java.util.Map.Entry;
+import java.util.Set;
+import java.util.SortedMap;
+
+public class ICUServiceTestSample {
+    static public void main(String[] args) {
+        HelloServiceClient client = new HelloServiceClient();
+
+        Thread t = new HelloUpdateThread();
+        t.start();
+        try {
+            t.join();
+        }
+        catch (InterruptedException e) {
+        }
+        System.out.println("done");
+        if(client==null){
+        }
+    }
+
+    /**
+     * A class that displays the current names in the Hello service.
+     * Each time the service changes, it redisplays the names.
+     */
+    static class HelloServiceClient implements HelloService.HelloServiceListener {
+
+        HelloServiceClient() {
+            HelloService.addListener(this);
+            display();
+        }
+
+
+        /**
+         * This will be called in the notification thread of
+         * ICUNotifier.  ICUNotifier could spawn a (non-daemon) thread
+         * for each listener, so that impolite listeners wouldn't hold
+         * up notification, but right now it doesn't.  Instead, all
+         * notifications are delivered on the notification thread.
+         * Since that's a daemon thread, a notification might not
+         * complete before main terminates.  
+         */
+        public void helloServiceChanged() {
+            display();
+        }
+
+        private void display() {
+            Map names = HelloService.getDisplayNames(ULocale.US);
+            System.out.println("displaying " + names.size() + " names.");
+            Iterator iter = names.entrySet().iterator();
+            while (iter.hasNext()) {
+                Entry entry = (Entry)iter.next();
+                String displayName = (String)entry.getKey();
+                HelloService service = HelloService.get((String)entry.getValue());
+                System.out.println(displayName + " says " + service.hello());
+                try {
+                    Thread.sleep(50);
+                }
+                catch (InterruptedException e) {
+                }
+            }
+            System.out.println("----");
+        }
+    }
+
+    /**
+     * A thread to update the service.
+     */
+    static class HelloUpdateThread extends Thread {
+        String[][] updates = {
+            { "Hey", "en_US_INFORMAL" },
+            { "Hallo", "de_DE_INFORMAL" },
+            { "Yo!", "en_US_CALIFORNIA_INFORMAL" },
+            { "Chi Fanle Ma?", "zh__INFORMAL" },
+            { "Munch munch... Burger?", "en" },
+            { "Sniff", "fr" },
+            { "TongZhi! MaoZeDong SiXiang Wan Sui!", "zh_CN" },
+            { "Bier? Ja!", "de" },
+        };
+        public void run() {
+            for (int i = 0; i < updates.length; ++i) {
+                try {
+                    Thread.sleep(500);
+                }
+                catch (InterruptedException e) {
+                }
+                HelloService.register(updates[i][0], new ULocale(updates[i][1]));
+            }
+        }
+    }
+
+    /**
+     * An example service that wraps an ICU service in order to export custom API and
+     * notification. The service just implements 'hello'.
+     */
+    static final class HelloService {
+        private static ICUService registry;
+        private String name;
+    
+        private HelloService(String name) { 
+            this.name = name; 
+        }
+    
+        /**
+         * The hello service...
+         */
+        public String hello() { 
+            return name; 
+        }
+        
+        public String toString() { 
+            return super.toString() + ": " + name; 
+        }
+    
+        /**
+         * Deferred init.
+         */
+        private static ICUService registry() {
+            if (registry == null) {
+                initRegistry();
+            }
+            return registry;
+        }
+    
+        private static void initRegistry() {
+            registry = new ICULocaleService() {
+                    protected boolean acceptsListener(EventListener l) {
+                        return true; // we already verify in our wrapper APIs
+                    }
+                    protected void notifyListener(EventListener l) {
+                        ((HelloServiceListener)l).helloServiceChanged();
+                    }
+                };
+    
+            // initialize
+            doRegister("Hello", "en");
+            doRegister("Bonjour", "fr");
+            doRegister("Ni Hao", "zh_CN");
+            doRegister("Guten Tag", "de");
+        }
+    
+        /**
+         * A custom listener for changes to this service.  We don't need to
+         * point to the service since it is defined by this class and not
+         * an object.
+         */
+        public static interface HelloServiceListener extends EventListener {
+            public void helloServiceChanged();
+        }
+    
+        /**
+         * Type-safe notification for this service.
+         */
+        public static void addListener(HelloServiceListener l) {
+            registry().addListener(l);
+        }
+    
+        /**
+         * Type-safe notification for this service.
+         */
+        public static void removeListener(HelloServiceListener l) {
+            registry().removeListener(l);
+        }
+    
+        /**
+         * Type-safe access to the service.
+         */
+        public static HelloService get(String id) {
+            return (HelloService)registry().get(id);
+        }
+    
+        public static Set getVisibleIDs() {
+            return registry().getVisibleIDs();
+        }
+    
+        public static Map getDisplayNames(ULocale locale) {
+            return getDisplayNames(registry(), locale);
+        }
+    
+        /**
+         * Register a new hello string for this locale.
+         */
+        public static void register(String helloString, ULocale locale) {
+            if (helloString == null || locale == null) {
+                throw new NullPointerException();
+            }
+            doRegister(helloString, locale.toString());
+        }
+    
+        private static void doRegister(String hello, String id) {
+            registry().registerObject(new HelloService(hello), id);
+        }
+        /**
+         * Convenience override of getDisplayNames(ULocale, Comparator, String) that
+         * uses the default collator for the locale as the comparator to
+         * sort the display names, and null for the matchID.
+         */
+        public static SortedMap getDisplayNames(ICUService service, ULocale locale) {
+            Collator col = Collator.getInstance(locale);
+            return service.getDisplayNames(locale, col, null);
+        }
+    }
+}
diff --git a/src/com/ibm/icu/dev/test/util/ICUServiceThreadTest.java b/src/com/ibm/icu/dev/test/util/ICUServiceThreadTest.java
new file mode 100644
index 0000000..629ac00
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/util/ICUServiceThreadTest.java
@@ -0,0 +1,476 @@
+/**
+ *******************************************************************************
+ * Copyright (C) 2001-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.test.util;
+
+import com.ibm.icu.dev.test.TestFmwk;
+import com.ibm.icu.dev.test.TestLog;
+import com.ibm.icu.impl.ICUService;
+import com.ibm.icu.impl.ICUService.Factory;
+import com.ibm.icu.impl.ICUService.SimpleFactory;
+import com.ibm.icu.impl.LocaleUtility;
+import com.ibm.icu.impl.ICULocaleService;
+import com.ibm.icu.text.Collator;
+import com.ibm.icu.util.ULocale;
+
+import java.util.Arrays;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Comparator;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Locale;
+import java.util.Map;
+import java.util.Map.Entry;
+import java.util.MissingResourceException;
+import java.util.Random;
+import java.util.Set;
+import java.util.SortedMap;
+
+public class ICUServiceThreadTest extends TestFmwk
+{    
+    private static final boolean PRINTSTATS = false;
+
+    public static void main(String[] args) throws Exception {
+        ICUServiceThreadTest test = new ICUServiceThreadTest();
+        test.run(args);
+
+        // get
+        // getvisibleids
+        // getdisplayname(locale)
+        // factories
+    
+        // registerFactory
+        // unregisterFactory
+
+        // 1) concurrent access
+        // 2) access while factories change
+        // 3) iteration while factories change
+        // 4) concurrent conflicting access
+    }
+
+    private static final String[] countries = {
+        "ab", "bc", "cd", "de", "ef", "fg", "gh", "ji", "ij", "jk"
+    };
+    private static final String[] languages = {
+        "", "ZY", "YX", "XW", "WV", "VU", "UT", "TS", "SR", "RQ", "QP"
+    };
+    private static final String[] variants = {
+        "", "", "", "GOLD", "SILVER", "BRONZE"
+    };
+
+    private static class TestFactory extends SimpleFactory {
+        TestFactory(String id) {
+            super(new ULocale(id), id, true);
+        }
+
+        public String getDisplayName(String id, ULocale locale) {
+            return (visible && id.equals(this.id)) ? "(" + locale.toString() + ") " + id : null;
+        }
+
+        public String toString() {
+            return "Factory_" + id;
+        }
+    }
+    /**
+     * Convenience override of getDisplayNames(ULocale, Comparator, String) that
+     * uses the default collator for the locale as the comparator to
+     * sort the display names, and null for the matchID.
+     */
+    public static SortedMap getDisplayNames(ICUService service, ULocale locale) {
+        Collator col;
+        try {
+            col = Collator.getInstance(locale);
+        } 
+        catch (MissingResourceException e) {
+            // if no collator resources, we can't collate
+            col = null;
+        }
+        return service.getDisplayNames(locale, col, null);
+    }
+    private static final Random r = new Random(); // this is a multi thread test, can't 'unrandomize' 
+
+    private static String getCLV() {
+        String c = countries[r.nextInt(countries.length)];
+        String l = languages[r.nextInt(languages.length)];
+        String v = variants[r.nextInt(variants.length)];
+        return new Locale(c, l, v).toString();
+    }
+
+    private static boolean WAIT = true;
+    private static boolean GO = false;
+    private static long TIME = 5000;
+
+    public static void runThreads() {
+        runThreads(TIME);
+    }
+
+    public static void runThreads(long time) {
+        try {
+            GO = true;
+            WAIT = false;
+
+            Thread.sleep(time);
+
+            WAIT = true;
+            GO = false;
+
+            Thread.sleep(300);
+        }
+        catch (InterruptedException e) {
+        }
+    }
+
+    static class TestThread extends Thread {
+        private final String name;
+        protected ICUService service;
+        private final long delay;
+        protected final TestLog log;
+
+        public TestThread(String name, ICUService service, long delay, TestLog log) {
+            this.name = name + " ";
+            this.service = service;
+            this.delay = delay;
+            this.log = new DelegatingLog(log);
+            this.setDaemon(true);
+        }
+
+        public void run() {
+            while (WAIT) {
+                Thread.yield();
+            }
+
+            try {
+                while (GO) {
+                    iterate();
+                    if (delay > 0) {
+                        Thread.sleep(delay);
+                    }
+                }
+            }
+            catch (InterruptedException e) {
+            }
+        }
+
+        protected void iterate() {
+        }
+
+        /*
+          public boolean logging() {
+          return log != null;
+          }
+
+          public void log(String msg) {
+          if (logging()) {
+          log.log(name + msg);
+          }
+          }
+
+          public void logln(String msg) {
+          if (logging()) {
+          log.logln(name + msg);
+          }
+          }
+
+          public void err(String msg) {
+          if (logging()) {
+          log.err(name + msg);
+          }
+          }
+
+          public void errln(String msg) {
+          if (logging()) {
+          log.errln(name + msg);
+          }
+          }
+
+          public void warn(String msg) {
+          if (logging()) {
+          log.info(name + msg);
+          }
+          }
+
+          public void warnln(String msg) {
+          if (logging()) {
+          log.infoln(name + msg);
+          }
+          }
+        */
+    }
+
+    static class RegisterFactoryThread extends TestThread {
+        RegisterFactoryThread(String name, ICUService service, long delay, TestLog log) {
+            super("REG " + name, service, delay, log);
+        }
+
+        protected void iterate() {
+            Factory f = new TestFactory(getCLV());
+            service.registerFactory(f);
+            log.logln(f.toString());
+        }
+    }
+
+    static class UnregisterFactoryThread extends TestThread {
+        private Random r;
+        List factories;
+
+        UnregisterFactoryThread(String name, ICUService service, long delay, TestLog log) {
+            super("UNREG " + name, service, delay, log);
+        
+            r = new Random();
+            factories = service.factories();
+        }
+
+        public void iterate() {
+            int s = factories.size();
+            if (s == 0) {
+                factories = service.factories();
+            } else {
+                int n = r.nextInt(s);
+                Factory f = (Factory)factories.remove(n);
+                boolean success = service.unregisterFactory(f);
+                log.logln("factory: " + f + (success ? " succeeded." : " *** failed."));
+            }
+        }
+    }
+
+    static class UnregisterFactoryListThread extends TestThread {
+        Factory[] factories;
+        int n;
+
+        UnregisterFactoryListThread(String name, ICUService service, long delay, Factory[] factories, TestLog log) {
+            super("UNREG " + name, service, delay, log);
+        
+            this.factories = factories;
+        }
+
+        public void iterate() {
+            if (n < factories.length) {
+                Factory f = factories[n++];
+                boolean success = service.unregisterFactory(f);
+                log.logln("factory: " + f + (success ? " succeeded." : " *** failed."));
+            }
+        }
+    }
+
+
+    static class GetVisibleThread extends TestThread {
+        GetVisibleThread(String name, ICUService service, long delay, TestLog log) {
+            super("VIS " + name, service, delay, log);
+        }
+
+        protected void iterate() {
+            Set ids = service.getVisibleIDs();
+            Iterator iter = ids.iterator();
+            int n = 10;
+            while (--n >= 0 && iter.hasNext()) {
+                String id = (String)iter.next();
+                Object result = service.get(id);
+                log.logln("iter: " + n + " id: " + id + " result: " + result);
+            }
+        }
+    }
+
+    static class GetDisplayThread extends TestThread {
+        ULocale locale;
+
+        GetDisplayThread(String name, ICUService service, long delay, ULocale locale, TestLog log) {
+            super("DIS " + name, service, delay, log);
+
+            this.locale = locale;
+        }
+
+        protected void iterate() {
+            Map names = getDisplayNames(service,locale);
+            Iterator iter = names.entrySet().iterator();
+            int n = 10;
+            while (--n >= 0 && iter.hasNext()) {
+                Entry e = (Entry)iter.next();
+                String dname = (String)e.getKey();
+                String id = (String)e.getValue();
+                Object result = service.get(id);
+                log.logln(" iter: " + n + 
+                          " dname: " + dname + 
+                          " id: " + id + 
+                          " result: " + result);
+            }
+        }
+    }
+
+    static class GetThread extends TestThread {
+        private String[] actualID;
+
+        GetThread(String name, ICUService service, long delay, TestLog log) {
+            super("GET " + name, service, delay, log);
+
+            actualID = new String[1];
+        }
+
+        protected void iterate() {
+            String id = getCLV();
+            Object o = service.get(id, actualID);
+            if (o != null) {
+                log.logln(" id: " + id + " actual: " + actualID[0] + " result: " + o);
+            }
+        }
+    }
+
+    static class GetListThread extends TestThread {
+        private final String[] list;
+        private int n;
+
+        GetListThread(String name, ICUService service, long delay, String[] list, TestLog log) {
+            super("GETL " + name, service, delay, log);
+
+            this.list = list;
+        }
+
+        protected void iterate() {
+            if (--n < 0) {
+                n = list.length - 1;
+            }
+            String id = list[n];
+            Object o = service.get(id);
+            log.logln(" id: " + id + " result: " + o);
+        }
+    }
+
+    // return a collection of unique factories, might be fewer than requested
+    Collection getFactoryCollection(int requested) {
+        Set locales = new HashSet();
+        for (int i = 0; i < requested; ++i) {
+            locales.add(getCLV());
+        }
+        List factories = new ArrayList(locales.size());
+        Iterator iter = locales.iterator();
+        while (iter.hasNext()) {
+            factories.add(new TestFactory((String)iter.next()));
+        }
+        return factories;
+    }
+
+    void registerFactories(ICUService service, Collection c) {
+        Iterator iter = c.iterator();
+        while (iter.hasNext()) {
+            service.registerFactory((Factory)iter.next());
+        }
+    }
+
+    ICUService stableService() {
+        if (stableService == null) {
+            stableService = new ICULocaleService();
+            registerFactories(stableService, getFactoryCollection(50));
+        }
+        return stableService;
+    }
+    private ICUService stableService;
+
+    // run multiple get on a stable service
+    public void Test00_ConcurrentGet() {
+        for(int i = 0; i < 10; ++i) {
+            new GetThread("[" + Integer.toString(i) + "]",  stableService(), 0, this).start();
+        }
+        runThreads();
+        if (PRINTSTATS) System.out.println(stableService.stats());
+    }
+
+    // run multiple getVisibleID on a stable service
+    public void Test01_ConcurrentGetVisible() {
+        for(int i = 0; i < 10; ++i) {
+            new GetVisibleThread("[" + Integer.toString(i) + "]",  stableService(), 0, this).start();
+        }
+        runThreads();
+        if (PRINTSTATS) System.out.println(stableService.stats());
+    }
+
+    // run multiple getDisplayName on a stable service
+    public void Test02_ConcurrentGetDisplay() {
+        String[] localeNames = {
+            "en", "es", "de", "fr", "zh", "it", "no", "sv"
+        };
+        for(int i = 0; i < localeNames.length; ++i) {
+            String locale = localeNames[i];
+            new GetDisplayThread("[" + locale + "]",  
+                                 stableService(), 
+                                 0,
+                                 new ULocale(locale),
+                                 this).start();
+        }
+        runThreads();
+        if (PRINTSTATS) System.out.println(stableService.stats());
+    }
+
+    // run register/unregister on a service
+    public void Test03_ConcurrentRegUnreg() {
+        ICUService service = new ICULocaleService();
+        for (int i = 0; i < 5; ++i) {
+            new RegisterFactoryThread("[" + i + "]", service, 0, this).start();
+        }
+        for (int i = 0; i < 5; ++i) {
+            new UnregisterFactoryThread("[" + i + "]", service, 0, this).start();
+        }
+        runThreads();
+        if (PRINTSTATS) System.out.println(service.stats());
+    }
+    
+    public void Test04_WitheringService() {
+        ICUService service = new ICULocaleService();
+
+        Collection fc = getFactoryCollection(50);
+        registerFactories(service, fc);
+
+        Factory[] factories = (Factory[])fc.toArray(new Factory[fc.size()]);
+        Comparator comp = new Comparator() {
+                public int compare(Object lhs, Object rhs) {
+                    return lhs.toString().compareTo(rhs.toString());
+                }
+            };
+        Arrays.sort(factories, comp);
+
+        new GetThread("", service, 0, this).start();
+        new UnregisterFactoryListThread("", service, 3, factories, this).start();
+
+        runThreads(2000);
+        if (PRINTSTATS) System.out.println(service.stats());
+    }
+    
+    // "all hell breaks loose"
+    // one register and one unregister thread, delay 500ms
+    // two display threads with different locales, delay 500ms;
+    // one visible id thread, delay 50ms
+    // fifteen get threads, delay 0
+    // run for ten seconds
+    public void Test05_ConcurrentEverything() {
+        ICUService service = new ICULocaleService();
+
+        new RegisterFactoryThread("", service, 500, this).start();
+
+        for(int i = 0; i < 15; ++i) {
+            new GetThread("[" + Integer.toString(i) + "]", service, 0, this).start();
+        }
+
+        new GetVisibleThread("",  service, 50, this).start();
+
+        String[] localeNames = {
+            "en", "de"
+        };
+        for(int i = 0; i < localeNames.length; ++i) {
+            String locale = localeNames[i];
+            new GetDisplayThread("[" + locale + "]",  
+                                 stableService(), 
+                                 500,
+                                 new ULocale(locale),
+                                 this).start();
+        }
+
+        new UnregisterFactoryThread("", service, 500, this).start();
+
+        // yoweee!!!
+        runThreads(10000);
+        if (PRINTSTATS) System.out.println(service.stats());
+    }
+}
diff --git a/src/com/ibm/icu/dev/test/util/LocaleDataTest.java b/src/com/ibm/icu/dev/test/util/LocaleDataTest.java
new file mode 100644
index 0000000..068d071
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/util/LocaleDataTest.java
@@ -0,0 +1,245 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2003-2005, International Business Machines Corporation and         *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+*/
+package com.ibm.icu.dev.test.util;
+
+import com.ibm.icu.dev.test.TestFmwk;
+import com.ibm.icu.impl.ICUResourceBundle;
+import com.ibm.icu.lang.UScript;
+import com.ibm.icu.text.UnicodeSet;
+import com.ibm.icu.text.UnicodeSetIterator;
+import com.ibm.icu.util.LocaleData;
+import com.ibm.icu.util.ULocale;
+import com.ibm.icu.util.UResourceBundle;
+
+/**
+ * @author ram
+ *
+ * To change the template for this generated type comment go to
+ * Window>Preferences>Java>Code Generation>Code and Comments
+ */
+public class LocaleDataTest extends TestFmwk{
+
+    public static void main(String[] args) throws Exception{
+        new LocaleDataTest().run(args);
+    }
+    
+    private ULocale[] availableLocales = null;
+    
+    public LocaleDataTest(){
+    }
+    protected void init(){
+        availableLocales = ICUResourceBundle.getAvailableULocales(ICUResourceBundle.ICU_BASE_NAME);
+    }
+    public void TestPaperSize(){
+        for(int i = 0; i < availableLocales.length; i++){
+            ULocale locale = availableLocales[i];
+            LocaleData.PaperSize paperSize = LocaleData.getPaperSize(locale);
+            // skip testing of "in" .. deprecated code for Indonesian
+            String lang = locale.getLanguage();
+            if(lang.equals("in")){
+                continue;
+            }
+            if(locale.toString().indexOf("_US") >= 0){
+                if(paperSize.getHeight()!= 279 || paperSize.getWidth() != 216 ){
+                    errln("PaperSize did not return the expected value for locale "+ locale+
+                          " Expected height: 279 width: 216."+
+                          " Got height: "+paperSize.getHeight()+" width: "+paperSize.getWidth()
+                           );
+                }else{
+                    logln("PaperSize returned the expected values for locale " + locale);
+                }
+            }else{
+                if(paperSize.getHeight()!= 297 || paperSize.getWidth() != 210 ){
+                    errln("PaperSize did not return the expected value for locale "+ locale +
+                          " Expected height: 297 width: 210."+
+                          " Got height: "+paperSize.getHeight() +" width: "+paperSize.getWidth() 
+                           );
+                }else{
+                    logln("PaperSize returned the expected values for locale " + locale);
+                }
+            }
+        }
+    }
+    public void TestMeasurementSystem(){
+        for(int i=0; i<availableLocales.length; i++){
+            ULocale locale = availableLocales[i];
+            LocaleData.MeasurementSystem ms = LocaleData.getMeasurementSystem(locale);
+            // skip testing of "in" .. deprecated code for Indonesian
+            String lang = locale.getLanguage();
+            if(lang.equals("in")){
+                continue;
+            }           
+            if(locale.toString().indexOf("_US") >= 0){
+                if(ms == LocaleData.MeasurementSystem.US){
+                    logln("Got the expected measurement system for locale: " + locale);
+                }else{
+                    errln("Did not get the expected measurement system for locale: "+ locale);
+                }
+            }else{
+                if(ms == LocaleData.MeasurementSystem.SI){
+                    logln("Got the expected measurement system for locale: " + locale);
+                }else{
+                    errln("Did not get the expected measurement system for locale: "+ locale);
+                } 
+            }
+        }
+    }
+    public void TestExemplarSet(){
+        int equalCount = 0;
+        for(int i=0; i<availableLocales.length; i++){
+            ULocale locale = availableLocales[i];
+            UnicodeSet exemplarSets[] = new UnicodeSet[2];
+            for (int k=0; k<2; ++k) {
+                int option = (k==0) ? 0 : UnicodeSet.CASE;
+                UnicodeSet exemplarSet = LocaleData.getExemplarSet(locale, option);
+                exemplarSets[k] = exemplarSet;
+                int[] code = UScript.getCode(locale);
+                if(code != null){
+                    UnicodeSet[] sets = new UnicodeSet[code.length];
+                    // create the UnicodeSets for the script
+                    for(int j=0; j < code.length; j++){
+                        sets[j] = new UnicodeSet("[:" + UScript.getShortName(code[j]) + ":]");
+                    }
+                    boolean existsInScript = false;
+                    UnicodeSetIterator iter = new UnicodeSetIterator(exemplarSet);
+                    // iterate over the 
+                    while (!existsInScript && iter.nextRange()) {
+                        if (iter.codepoint != UnicodeSetIterator.IS_STRING) {
+                            for(int j=0; j<sets.length; j++){
+                                if(sets[j].contains(iter.codepoint, iter.codepointEnd)){
+                                    existsInScript = true;
+                                    break;
+                                }
+                            }
+                        } else {
+                            for(int j=0; j<sets.length; j++){
+                                if(sets[j].contains(iter.string)){
+                                    existsInScript = true;
+                                    break;
+                                }
+                            }
+                        }
+                    }
+                    if(existsInScript == false){
+                        errln("ExemplarSet containment failed for locale : "+ locale);
+                    }
+                }else{
+                    // I hate the JDK's solution for deprecated language codes.
+                    // Why does the Locale constructor change the string I passed to it ?
+                    // such a broken hack !!!!!
+                    // so in effect I can never test the script code for Indonesian :(
+                    if(locale.toString().indexOf(("in"))<0){
+                        errln("UScript.getCode returned null for locale: " + locale); 
+                    }
+                }
+            }
+            // This is expensive, so only do it if it will be visible
+            if (isVerbose()) {
+                logln(locale.toString() + " exemplar " + exemplarSets[0]);
+                logln(locale.toString() + " exemplar(case-folded) " + exemplarSets[1]);
+            }
+            assertTrue(locale.toString() + " case-folded is a superset",
+                       exemplarSets[1].containsAll(exemplarSets[0]));
+            if (exemplarSets[1].equals(exemplarSets[0])) {
+                ++equalCount;
+            }
+        }
+        // Note: The case-folded set should sometimes be a strict superset
+        // and sometimes be equal.
+        assertTrue("case-folded is sometimes a strict superset, and sometimes equal",
+                   equalCount > 0 && equalCount < availableLocales.length);
+    }
+    public void TestExemplarSet2(){
+        int equalCount = 0;
+        for(int i=0; i<availableLocales.length; i++){
+            ULocale locale = availableLocales[i];
+            LocaleData ld = LocaleData.getInstance(locale);
+            UnicodeSet exemplarSets[] = new UnicodeSet[4];
+
+            for (int k=0; k<2; ++k) {
+                int option = (k==0) ? 0 : UnicodeSet.CASE;
+                for(int h=0; h<2; ++h){
+                    int type = (h==0) ? LocaleData.ES_STANDARD : LocaleData.ES_AUXILIARY;
+                    
+                    UnicodeSet exemplarSet = ld.getExemplarSet(option, type);
+                    exemplarSets[k*2+h] = exemplarSet;
+                    
+                    int[] code = UScript.getCode(locale);
+                    if(code != null){
+                        UnicodeSet[] sets = new UnicodeSet[code.length];
+                        // create the UnicodeSets for the script
+                        for(int j=0; j < code.length; j++){
+                            sets[j] = new UnicodeSet("[:" + UScript.getShortName(code[j]) + ":]");
+                        }
+                        boolean existsInScript = false;
+                        UnicodeSetIterator iter = new UnicodeSetIterator(exemplarSet);
+                        // iterate over the 
+                        while (!existsInScript && iter.nextRange()) {
+                            if (iter.codepoint != UnicodeSetIterator.IS_STRING) {
+                                for(int j=0; j<sets.length; j++){
+                                    if(sets[j].contains(iter.codepoint, iter.codepointEnd)){
+                                        existsInScript = true;
+                                        break;
+                                    }
+                                }
+                            } else {
+                                for(int j=0; j<sets.length; j++){
+                                    if(sets[j].contains(iter.string)){
+                                        existsInScript = true;
+                                        break;
+                                    }
+                                }
+                            }
+                        }
+                        // TODO: How to verify LocaleData.ES_AUXILIARY ???
+                        if(existsInScript == false && h == 0){
+                            errln("ExemplarSet containment failed for locale,option,type : "+ locale + ", " + option + ", " + type);
+                        }
+                    }else{
+                        if(locale.toString().indexOf(("in"))<0){
+                            errln("UScript.getCode returned null for locale,option,type : "+ locale + ", " + option + ", " + type); 
+                        }
+                }
+                }
+            }
+            // This is expensive, so only do it if it will be visible
+            if (isVerbose()) {
+                logln(locale.toString() + " exemplar(ES_STANDARD)" + exemplarSets[0]);
+                logln(locale.toString() + " exemplar(ES_AUXILIARY) " + exemplarSets[1]);
+                logln(locale.toString() + " exemplar(case-folded,ES_STANDARD) " + exemplarSets[2]);
+                logln(locale.toString() + " exemplar(case-folded,ES_AUXILIARY) " + exemplarSets[3]);
+            }
+            assertTrue(locale.toString() + " case-folded is a superset",
+                       exemplarSets[2].containsAll(exemplarSets[0]));
+            assertTrue(locale.toString() + " case-folded is a superset",
+                    exemplarSets[3].containsAll(exemplarSets[1]));
+            if (exemplarSets[2].equals(exemplarSets[0])) {
+                ++equalCount;
+            }
+            if (exemplarSets[3].equals(exemplarSets[1])) {
+                ++equalCount;
+            }
+        }
+        // Note: The case-folded set should sometimes be a strict superset
+        // and sometimes be equal.
+        assertTrue("case-folded is sometimes a strict superset, and sometimes equal",
+                   equalCount > 0 && equalCount < availableLocales.length * 2);
+    }
+    public void TestCoverage(){
+        LocaleData ld = LocaleData.getInstance();
+        boolean t = ld.getNoSubstitute();
+        ld.setNoSubstitute(t);
+        assertEquals("LocaleData get/set NoSubstitute",
+                t,
+                ld.getNoSubstitute());
+    
+        logln(ld.getDelimiter(LocaleData.QUOTATION_START));
+        logln(ld.getDelimiter(LocaleData.QUOTATION_END));
+        logln(ld.getDelimiter(LocaleData.ALT_QUOTATION_START));
+        logln(ld.getDelimiter(LocaleData.ALT_QUOTATION_END));    	
+    }
+}
diff --git a/src/com/ibm/icu/dev/test/util/Lockable.java b/src/com/ibm/icu/dev/test/util/Lockable.java
new file mode 100644
index 0000000..6e359bb
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/util/Lockable.java
@@ -0,0 +1,34 @@
+/*
+ ******************************************************************************
+ * Copyright (C) 2005, International Business Machines Corporation and        *
+ * others. All Rights Reserved.                                               *
+ ******************************************************************************
+*/
+package com.ibm.icu.dev.test.util;
+
+/**
+ * Provides a flexible mechanism for controlling access, without requiring that a class be immutable.
+ * Once locked, an object can never be unlocked, so it is thread-safe from that point onward.
+ * The implementation of both methods must be synchronized.
+ * Once the object has been locked, it must guarantee that no changes can be made to it.
+ * Any attempt to alter it must raise an UnsupportedOperationException exception.
+ * This means that when the object returns internal objects,
+ * or if anyone has references to those internal objects, that those internal objects must either be immutable,
+ * or must also raise exceptions if any attempt to modify them is made. Of course, the object can return clones
+ * of internal objects, since those are safe. * @author davis
+ */
+public interface Lockable extends Cloneable {
+	/**
+	 * Determines whether the object has been locked or not.
+	 */
+	public boolean isLocked();
+	/**
+	 * Locks the object.
+	 * @return the object itself.
+	 */
+	public Object lock();
+	/**
+	 * Provides for the clone operation. Any clone is initially unlocked.
+	 */
+	public Object clone();
+}
\ No newline at end of file
diff --git a/src/com/ibm/icu/dev/test/util/Pick.java b/src/com/ibm/icu/dev/test/util/Pick.java
new file mode 100644
index 0000000..cd5fe31
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/util/Pick.java
@@ -0,0 +1,793 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2002-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.test.util;
+
+import com.ibm.icu.text.UnicodeSet;
+import com.ibm.icu.text.UTF16;
+import com.ibm.icu.impl.Utility;
+
+import java.util.ArrayList;
+import java.util.Random;
+import java.util.Arrays;
+import java.util.Set;
+import java.util.HashSet;
+
+abstract public class Pick {
+    private static boolean DEBUG = false;
+    
+    // for using to get strings
+    
+    static class Target {
+        private Pick pick;
+        private Random random;
+        private Quoter quoter;
+        
+        public static Target make(Pick pick, Random random, Quoter quoter) {
+            Target result = new Target();
+            result.pick = pick;
+            result.random = random;
+            result.quoter = quoter;
+            return result;
+        }
+        public String next() {
+            quoter.clear();
+            pick.addTo(this);
+            return get();
+        }        
+        public String get() {
+            return quoter.toString();
+        }
+        private void copyState(Target other) {
+            random = other.random;
+        }
+        private void clear() {
+            quoter.clear();
+        }
+        private int length() {
+            return quoter.length();
+        }
+        private Target append(int codepoint) {
+            quoter.append(codepoint);
+            return this;
+        }
+        private Target append(String s) {
+            quoter.append(s);
+            return this;
+        }
+        // must return value between 0 (inc) and 1 (exc)
+        private double nextDouble() {
+            return random.nextDouble();
+        }
+    }
+
+    // for Building
+    
+    public Pick replace(String toReplace, Pick replacement) {
+       Replacer visitor = new Replacer(toReplace, replacement);
+       return visit(visitor);
+    }
+
+    public Pick name(String name) {
+        this.name = name;
+        return this;
+    }
+    
+    static public Pick.Sequence makeSequence() {
+        return new Sequence();
+    }
+    static public Pick.Alternation makeAlternation() {
+        return new Alternation();
+    }
+    /*
+    static public Pick.Sequence and(Object item) {
+        return new Sequence().and2(item);
+    }
+    static public Pick.Sequence and(Object[] items) {
+        return new Sequence().and2(items);
+    }
+    static public Pick.Alternation or(int itemWeight, Object item) {
+        return new Alternation().or2(itemWeight, item);
+    }
+    static public Pick.Alternation or(Object[] items) {
+        return new Alternation().or2(1, items);
+    }
+    static public Pick.Alternation or(int itemWeight, Object[] items) {
+        return new Alternation().or2(itemWeight, items);
+    }
+    static public Pick.Alternation or(int[] itemWeights, Object[] items) {
+        return new Alternation().or2(itemWeights, items);
+    }
+    
+    static public Pick maybe(int percent, Object item) {
+        return new Repeat(0, 1, new int[]{100-percent, percent}, item);
+        //return Pick.or(1.0-percent, NOTHING).or2(percent, item);
+    }
+    static public Pick repeat(int minCount, int maxCount, int itemWeights, Object item) {
+        return new Repeat(minCount, maxCount, itemWeights, item);
+    }
+    
+    static public Pick codePoint(String source) {
+        return new CodePoint(new UnicodeSet(source));
+    }
+    */
+    
+    static public Pick repeat(int minCount, int maxCount, int[] itemWeights, Pick item) {
+        return new Repeat(minCount, maxCount, itemWeights, item);
+    }
+    
+    static public Pick codePoint(UnicodeSet source) {
+        return new CodePoint(source);
+    }
+    static public Pick string(String source) {
+        return new Literal(source);
+    }
+    /*
+    static public Pick unquoted(String source) {
+        return new Literal(source);
+    }
+    static public Pick string(int minLength, int maxLength, Pick item) {
+        return new Morph(item, minLength, maxLength);
+    }
+    */
+    
+    public abstract String getInternal(int depth, Set alreadySeen);
+    // Internals
+   
+    protected String name;
+    
+    protected abstract void addTo(Target target);
+    protected abstract boolean match(String input, Position p);
+    
+    public static class Sequence extends ListPick {
+        public Sequence and2 (Pick item) {
+            addInternal(new Pick[] {item}); // we don't care about perf
+            return this; // for chaining
+        }
+        public Sequence and2 (Pick[] items) {
+            addInternal(items);
+            return this; // for chaining
+        }
+        protected void addTo(Target target) {
+            for (int i = 0; i < items.length; ++i) {
+                items[i].addTo(target);
+            }
+        }
+        public String getInternal(int depth, Set alreadySeen) {
+            String result = checkName(name, alreadySeen);
+            if (result.startsWith("$")) return result;
+            result = indent(depth) + result + "SEQ(";
+            for (int i = 0; i < items.length; ++i) {
+                if (i != 0) result += ", ";
+                result += items[i].getInternal(depth+1, alreadySeen);
+            }
+            result += ")";
+            return result;
+        }
+        // keep private
+        private Sequence() {}
+        protected boolean match(String input, Position p) {
+            int originalIndex = p.index;
+            for (int i = 0; i < items.length; ++i) {
+                if (!items[i].match(input, p)) {
+                    p.index = originalIndex;
+                    return false;
+                }
+            }
+            return true;
+        }
+    }
+    
+    String checkName(String name, Set alreadySeen) {
+        if (name == null) return "";
+        if (alreadySeen.contains(name)) return name;
+        alreadySeen.add(name);
+        return "{" + name + "=}";
+    }
+
+    public static class Alternation extends ListPick {
+        private WeightedIndex weightedIndex = new WeightedIndex(0);
+           
+        public Alternation or2 (Pick[] newItems) {
+            return or2(1, newItems);
+        }
+        public Alternation or2 (int itemWeight, Pick item) {
+            return or2(itemWeight, new Pick[] {item}); // we don't care about perf
+        }
+        public Alternation or2 (int itemWeight, Pick[] newItems) {
+            int[] itemWeights = new int[newItems.length];
+            Arrays.fill(itemWeights,itemWeight);
+            return or2(itemWeights, newItems); // we don't care about perf
+        }
+        public Alternation or2 (int[] itemWeights, Pick[] newItems) {
+            if (newItems.length != itemWeights.length) {
+                throw new ArrayIndexOutOfBoundsException(
+                    "or lengths must be equal: " + newItems.length + " != " + itemWeights.length);
+            }
+           // int lastLen = this.items.length;
+            addInternal(newItems);
+            weightedIndex.add(itemWeights);
+            return this; // for chaining
+        }
+        protected void addTo(Target target) {
+            items[weightedIndex.toIndex(target.nextDouble())].addTo(target);
+        }    
+        
+        public String getInternal(int depth, Set alreadySeen) {
+            String result = checkName(name, alreadySeen);
+            if (result.startsWith("$")) return result;
+            result = indent(depth) + result + "OR(";
+            for (int i = 0; i < items.length; ++i) {
+                if (i != 0) result += ", ";
+                result += items[i].getInternal(depth+1, alreadySeen) + "/" + weightedIndex.weights[i];
+            }
+            return result + ")";
+        }
+        // keep private
+        private Alternation() {}
+        // take first matching option
+        protected boolean match(String input, Position p) {
+            for (int i = 0; i < weightedIndex.weights.length; ++i) {
+                if (p.isFailure(this,i)) continue;
+                if (items[i].match(input, p)) return true;
+                p.setFailure(this, i);
+            }
+            return false;
+        }
+    }
+    
+    private static String indent(int depth) {
+        String result = "\r\n";
+        for (int i = 0; i < depth; ++i) {
+            result += " ";
+        }
+        return result;
+    }
+    
+    private static class Repeat extends ItemPick {
+        WeightedIndex weightedIndex;
+        int minCount = 0;
+            
+        private Repeat(int minCount, int maxCount, int[] itemWeights, Pick item) {
+            super(item);
+            weightedIndex = new WeightedIndex(minCount).add(maxCount-minCount+1, itemWeights);
+        }
+        private Repeat(int minCount, int maxCount, int itemWeight, Pick item) {
+            super(item);
+            weightedIndex = new WeightedIndex(minCount).add(maxCount-minCount+1, itemWeight);
+        }
+        /*
+        private Repeat(int minCount, int maxCount, Object item) {
+            this.item = convert(item);
+            weightedIndex = new WeightedIndex(minCount).add(maxCount-minCount+1, 1);
+        }
+        */
+        protected void addTo(Target target) {
+            //int count ;
+            for (int i = weightedIndex.toIndex(target.nextDouble()); i > 0; --i) {
+                item.addTo(target);
+            }
+        }
+        public String getInternal(int depth, Set alreadySeen) {
+            String result = checkName(name, alreadySeen);
+            if (result.startsWith("$")) return result;
+            result = indent(depth) + result + "REPEAT(" + weightedIndex
+            + "; "+ item.getInternal(depth+1, alreadySeen) 
+            + ")";
+            return result;
+        }
+        
+        // match longest, e.g. up to just before a failure
+        protected boolean match(String input, Position p) {
+            int bestMatch = p.index;
+            int count = 0;
+            for (int i = 0; i < weightedIndex.weights.length; ++i) {
+                if (p.isFailure(this,i)) break;
+                if (!item.match(input, p)) {
+                    p.setFailure(this,i);
+                    break;
+                } 
+                bestMatch = p.index;
+                count++;               
+            }
+            if (count >= minCount) {
+                return true;
+            }
+            // TODO fix failure
+            return false;
+        }
+    }
+    
+    private static class CodePoint extends FinalPick {
+        private UnicodeSet source;
+        
+        private CodePoint(UnicodeSet source) {
+            this.source = source;
+        }
+        protected void addTo(Target target) {
+            target.append(source.charAt(pick(target.random,0,source.size()-1)));
+        }
+        protected boolean match(String s, Position p) {
+            int cp = UTF16.charAt(s, p.index);
+            if (source.contains(cp)) {
+                p.index += UTF16.getCharCount(cp);
+                return true;
+            }
+            p.setMax("codePoint");
+            return false;
+        }
+        public String getInternal(int depth, Set alreadySeen) {
+            String result = checkName(name, alreadySeen);
+            if (result.startsWith("$")) return result;
+            return source.toString();
+        }
+    }
+
+    static class Morph extends ItemPick {
+        Morph(Pick item) {
+            super(item);
+        }
+    
+        private String lastValue = null;
+        private Target addBuffer = Target.make(this, null, new Quoter.RuleQuoter());
+        private StringBuffer mergeBuffer = new StringBuffer();
+    
+        private static final int COPY_NEW = 0, COPY_BOTH = 1, COPY_LAST = 3, SKIP = 4,
+                                 LEAST_SKIP = 4;
+        // give weights to the above. make sure we delete about the same as we insert
+        private static final WeightedIndex choice = new WeightedIndex(0)
+            .add(new int[] {10, 10, 100, 10});
+        
+        protected void addTo(Target target) {
+            // get contents into separate buffer
+            addBuffer.copyState(target);
+            addBuffer.clear();
+            item.addTo(addBuffer);
+            String newValue = addBuffer.get();
+            if (DEBUG) System.out.println("Old: " + lastValue + ", New:" + newValue);
+
+            // if not first one, merge with old
+            if (lastValue != null) {
+                mergeBuffer.setLength(0);
+                int lastIndex = 0;
+                int newIndex = 0;
+                // the new length is a random value between old and new.
+                int newLenLimit = (int) pick(target.random, lastValue.length(), newValue.length());
+                
+                while (mergeBuffer.length() < newLenLimit
+                  && newIndex < newValue.length()
+                  && lastIndex < lastValue.length()) {
+                    int c = choice.toIndex(target.nextDouble());
+                    if (c == COPY_NEW || c == COPY_BOTH || c == SKIP) {
+                        newIndex = getChar(newValue, newIndex, mergeBuffer, c < LEAST_SKIP);
+                        if (mergeBuffer.length() >= newLenLimit) break;
+                    }
+                    if (c == COPY_LAST || c == COPY_BOTH || c == SKIP) {
+                        lastIndex = getChar(lastValue, lastIndex, mergeBuffer, c < LEAST_SKIP);
+                    }
+                }
+                newValue = mergeBuffer.toString();
+            }
+            lastValue = newValue;
+            target.append(newValue);
+            if (DEBUG) System.out.println("Result: " + newValue);
+        }
+
+        public String getInternal(int depth, Set alreadySeen) {
+            String result = checkName(name, alreadySeen);
+            if (result.startsWith("$")) return result;
+            return indent(depth) + result + "MORPH("
+                + item.getInternal(depth+1, alreadySeen)
+                + ")";
+        }
+
+        /* (non-Javadoc)
+         * @see Pick#match(java.lang.String, Pick.Position)
+         */
+        protected boolean match(String input, Position p) {
+            // TODO Auto-generated method stub
+            return false;
+        }
+    }
+    
+    /* Add character if we can
+     */
+    static int getChar(String newValue, int newIndex, StringBuffer mergeBuffer, boolean copy) {
+        if (newIndex >= newValue.length()) return newIndex;
+        int cp = UTF16.charAt(newValue,newIndex);
+        if (copy) UTF16.append(mergeBuffer, cp);
+        return newIndex + UTF16.getCharCount(cp);
+    }
+
+    /*   
+            // quoted add
+            appendQuoted(target, addBuffer.toString(), quoteBuffer);
+            // fix buffers
+            StringBuffer swapTemp = addBuffer;
+            addBuffer = source;
+            source = swapTemp;
+        }
+    }
+    */
+
+
+    static class Quote extends ItemPick {
+        Quote(Pick item) {
+            super(item);
+        }
+        protected void addTo(Target target) {
+            target.quoter.setQuoting(true);
+            item.addTo(target);
+            target.quoter.setQuoting(false);
+        }
+        
+        protected boolean match(String s, Position p) {
+            return false;
+        }
+
+        public String getInternal(int depth, Set alreadySeen) {
+            String result = checkName(name, alreadySeen);
+            if (result.startsWith("$")) return result;
+            return indent(depth) + result + "QUOTE(" + item.getInternal(depth+1, alreadySeen)
+                + ")";
+        }
+    }
+    
+    private static class Literal extends FinalPick {
+        public String toString() {
+            return name;     
+        }        
+        private Literal(String source) {  
+            this.name = source;
+        }
+        protected void addTo(Target target) {
+            target.append(name);
+        }
+        protected boolean match(String input, Position p) {
+            int len = name.length();
+            if (input.regionMatches(p.index, name, 0, len)) {
+                p.index += len;
+                return true;
+            }
+            p.setMax("literal");
+            return false;
+        }
+        public String getInternal(int depth, Set alreadySeen) {
+            return "'" + name + "'";
+        }
+    }
+    
+    public static class Position {
+        public ArrayList failures = new ArrayList();
+        public int index;
+        public int maxInt;
+        public String maxType;
+        public void setMax(String type) {
+            if (index >= maxInt) {
+                maxType = type;
+            }
+        }
+        public String toString() {
+            return "index; " + index
+                + ", maxInt:" + maxInt
+                + ", maxType: " + maxType;
+        }
+        private static final Object BAD = new Object();
+        private static final Object GOOD = new Object();
+        
+        public boolean isFailure(Pick pick, int item) {
+            ArrayList val = (ArrayList)failures.get(index);
+            if (val == null) return false;
+            Set set = (Set)val.get(item);
+            if (set == null) return false;
+            return !set.contains(pick);
+        }
+        public void setFailure(Pick pick, int item) {
+            ArrayList val = (ArrayList)failures.get(index);
+            if (val == null) {
+                val = new ArrayList();
+                failures.set(index, val);
+            }
+            Set set = (Set)val.get(item);
+            if (set == null) {
+                set = new HashSet();
+                val.set(item, set);
+            }
+            set.add(pick);
+        }
+    }
+    
+    /*
+    public static final Pick NOTHING = new Nothing();
+    
+
+    private static class Nothing extends FinalPick {
+        protected void addTo(Target target) {}
+        protected boolean match(String input, Position p) {
+            return true;
+        }
+        public String getInternal(int depth, Set alreadySeen) {
+            return indent(depth) + "\u00F8";
+        }
+    }
+    */
+    
+    // intermediates
+    
+    abstract static class Visitor {
+        Set already = new HashSet();
+        // Note: each visitor should return the Pick that will replace a (or a itself)
+        abstract Pick handle(Pick a);
+        boolean alreadyEntered(Pick item) {
+            boolean result = already.contains(item);
+            already.add(item);
+            return result;
+        }
+        void reset() {
+            already.clear();
+        }
+    }
+    
+    protected abstract Pick visit(Visitor visitor);
+    
+    static class Replacer extends Visitor {
+        String toReplace;
+        Pick replacement;
+        Replacer(String toReplace, Pick replacement) {
+            this.toReplace = toReplace;
+            this.replacement = replacement;
+        }
+        public Pick handle(Pick a) {
+            if (toReplace.equals(a.name)) {
+                a = replacement;
+            } 
+            return a;
+       }
+    }
+
+    abstract private static class FinalPick extends Pick {
+        public Pick visit(Visitor visitor) {
+            return visitor.handle(this);
+       }
+    }
+    
+    private abstract static class ItemPick extends Pick {
+       protected Pick item;
+       
+       ItemPick (Pick item) {
+           this.item = item;
+       }
+       
+       public Pick visit(Visitor visitor) {
+           Pick result = visitor.handle(this);
+           if (visitor.alreadyEntered(this)) return result;
+           if (item != null) item = item.visit(visitor);
+           return result;
+       }
+    }
+   
+    private abstract static class ListPick extends Pick {
+        protected Pick[] items = new Pick[0];
+        
+        Pick simplify() {
+            if (items.length > 1) return this;
+            if (items.length == 1) return items[0];
+            return null;
+        }
+        
+        int size() {
+            return items.length;
+        }
+
+        Pick getLast() {
+            return items[items.length-1];
+        }
+
+        void setLast(Pick newOne) {
+            items[items.length-1] = newOne;
+        }
+
+        protected void addInternal(Pick[] objs) {
+            int lastLen = items.length;
+            items = realloc(items, items.length + objs.length);
+            for (int i = 0; i < objs.length; ++i) {
+                items[lastLen + i] = objs[i];
+            }
+        }
+
+        public Pick visit(Visitor visitor) {
+            Pick result = visitor.handle(this);
+            if (visitor.alreadyEntered(this)) return result;
+            for (int i = 0; i < items.length; ++i) {
+                items[i] = items[i].visit(visitor);
+            }
+            return result;
+        }
+    }
+    
+    /**
+     * Simple class to distribute a number between 0 (inclusive) and 1 (exclusive) among
+     * a number of indices, where each index is weighted.
+     * Item weights may be zero, but cannot be negative.
+     * @author Davis
+     */
+    // As in other case, we use an array for runtime speed; don't care about buildspeed.
+    public static class WeightedIndex {
+        private int[] weights = new int[0];
+        private int minCount = 0;
+        private double total;
+        
+        public WeightedIndex(int minCount) {
+            this.minCount = minCount;
+        }
+        
+        public WeightedIndex add(int count, int itemWeights) {
+            if (count > 0) {
+                int[] newWeights = new int[count];
+                if (itemWeights < 1) itemWeights = 1;
+                Arrays.fill(newWeights, 0, count, itemWeights);
+                add(1, newWeights);
+            }
+            return this; // for chaining
+        }
+
+        public WeightedIndex add(int[] newWeights) {
+            return add(newWeights.length, newWeights);
+        }
+        
+        public WeightedIndex add(int maxCount, int[] newWeights) {
+            if (newWeights == null) newWeights = new int[]{1};
+            int oldLen = weights.length;
+            if (maxCount < newWeights.length) maxCount = newWeights.length;
+            weights = (int[]) realloc(weights, weights.length + maxCount);
+            System.arraycopy(newWeights, 0, weights, oldLen, newWeights.length);
+            int lastWeight = weights[oldLen + newWeights.length-1];
+            for (int i = oldLen + newWeights.length; i < maxCount; ++i) {
+                weights[i] = lastWeight;
+            }
+            total = 0;
+            for (int i = 0; i < weights.length; ++i) {
+                if (weights[i] < 0) {
+                    throw new RuntimeException("only positive weights: " + i);
+                } 
+                total += weights[i];
+            }
+            return this; // for chaining
+        }
+        
+        // TODO, make this more efficient
+        public int toIndex(double zeroToOne) {
+            double weight = zeroToOne*total;
+            int i;
+            for (i = 0; i < weights.length; ++i) {
+                weight -= weights[i];
+                if (weight <= 0) break;
+            }
+            return i + minCount;
+        }
+        public String toString() {
+            String result = "";
+            for (int i = 0; i < minCount; ++i) {
+                if (result.length() != 0) result += ",";
+                result += "0";
+            }
+            for (int i = 0; i < weights.length; ++i) {
+                if (result.length() != 0) result += ",";
+                result += weights[i];
+            }
+            return result;
+        }
+    }
+    /*
+    private static Pick convert(Object obj) {
+        if (obj instanceof Pick) return (Pick)obj;
+        return new Literal(obj.toString(), false);
+    }
+    */
+    // Useful statics
+    
+    static public int pick(Random random, int start, int end) {
+        return start + (int)(random.nextDouble() * (end + 1 - start));
+    }
+    
+    static public double pick(Random random, double start, double end) {
+        return start + (random.nextDouble() * (end + 1 - start));
+    }
+    
+    static public boolean pick(Random random, double percent) {
+        return random.nextDouble() <= percent;
+    }
+    
+    static public int pick(Random random, UnicodeSet s) {
+        return s.charAt(pick(random, 0,s.size()-1));
+    }
+    
+    static public String pick(Random random, String[] source) {
+        return source[pick(random, 0, source.length-1)];
+    }
+    
+    // these utilities really ought to be in Java
+    
+public static double[] realloc(double[] source, int newSize) {
+    double[] temp = new double[newSize];
+    if (newSize > source.length) newSize = source.length;
+    if (newSize != 0) System.arraycopy(source,0,temp,0,newSize);
+    return temp;
+}
+    
+public static int[] realloc(int[] source, int newSize) {
+    int[] temp = new int[newSize];
+    if (newSize > source.length) newSize = source.length;
+    if (newSize != 0) System.arraycopy(source,0,temp,0,newSize);
+    return temp;
+}
+    
+    public static Pick[] realloc(Pick[] source, int newSize) {
+        Pick[] temp = new Pick[newSize];
+        if (newSize > source.length) newSize = source.length;
+        if (newSize != 0) System.arraycopy(source,0,temp,0,newSize);
+        return temp;
+    }
+    
+    // test utilities
+    private static void append(StringBuffer target, String toAdd, StringBuffer quoteBuffer) {
+        Utility.appendToRule(target, (int)-1, true, false, quoteBuffer); // close previous quote
+        if (DEBUG) System.out.println("\"" + toAdd + "\"");
+        target.append(toAdd);
+    }
+
+    private static void appendQuoted(StringBuffer target, String toAdd, StringBuffer quoteBuffer) {
+        if (DEBUG) System.out.println("\"" + toAdd + "\"");
+        Utility.appendToRule(target, toAdd, false, false, quoteBuffer);
+    }
+
+    /*
+    public static abstract class MatchHandler {
+        public abstract void handleString(String source, int start, int limit);
+        public abstract void handleSequence(String source, int start, int limit);
+        public abstract void handleAlternation(String source, int start, int limit);
+            
+    }
+    */
+    /*
+    // redistributes random value
+    // values are still between 0 and 1, but with a different distribution
+    public interface Spread {
+        public double spread(double value);
+    }
+    
+    // give the weight for the high end.
+    // values are linearly scaled according to the weight.
+    static public class SimpleSpread implements Spread {
+        static final Spread FLAT = new SimpleSpread(1.0);
+        boolean flat = false;
+        double aa, bb, cc;
+        public SimpleSpread(double maxWeight) {   
+            if (maxWeight > 0.999 && maxWeight < 1.001) {
+                flat = true;
+            } else { 
+                double q = (maxWeight - 1.0);
+                aa = -1/q;
+                bb = 1/(q*q);
+                cc = (2.0+q)/q;
+           }                 
+        }
+        public double spread(double value) {
+            if (flat) return value;
+            value = aa + Math.sqrt(bb + cc*value);
+            if (value < 0.0) return 0.0;    // catch math gorp
+            if (value >= 1.0) return 1.0;
+            return value;
+        }
+    }
+    static public int pick(Spread spread, Random random, int start, int end) {
+        return start + (int)(spread.spread(random.nextDouble()) * (end + 1 - start));
+    }
+    
+   */
+    
+
+}
\ No newline at end of file
diff --git a/src/com/ibm/icu/dev/test/util/Quoter.java b/src/com/ibm/icu/dev/test/util/Quoter.java
new file mode 100644
index 0000000..d8d6ab2
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/util/Quoter.java
@@ -0,0 +1,65 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2002-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.test.util;
+
+import com.ibm.icu.text.UTF16;
+import com.ibm.icu.impl.Utility;
+
+public abstract class Quoter {
+    private static boolean DEBUG = false;
+    
+    protected boolean quoting = false;
+    protected StringBuffer output = new StringBuffer();
+    
+    public void setQuoting(boolean value) {
+        quoting = value;
+    }
+    public boolean isQuoting() {
+        return quoting;
+    }
+    public void clear() {
+        quoting = false;
+        output.setLength(0);
+    }
+    public int length() {
+        return output.length();
+    }
+    public Quoter append(String string) {
+        output.append(string);
+        return this;
+    }
+    public Quoter append(int codepoint) {
+        return append(UTF16.valueOf(codepoint));
+    }
+    // warning, allows access to internals
+    public String toString() {
+        setQuoting(false); // finish quoting
+        return output.toString();
+    }
+    /**
+     * Implements standard ICU rule quoting
+     */
+    public static class RuleQuoter extends Quoter {
+        private StringBuffer quoteBuffer = new StringBuffer();
+        public void setQuoting(boolean value) {
+            if (quoting == value) return;
+            if (quoting) { // stop quoting
+                Utility.appendToRule(output, (int)-1, true, false, quoteBuffer); // close previous quote
+            }
+            quoting = value;
+        }
+        public Quoter append(String s) {
+            if (DEBUG) System.out.println("\"" + s + "\"");
+            if (quoting) {
+                Utility.appendToRule(output, s, false, false, quoteBuffer);
+            } else {
+                output.append(s);
+            }
+            return this;
+        }
+    }
+}
\ No newline at end of file
diff --git a/src/com/ibm/icu/dev/test/util/Relation.java b/src/com/ibm/icu/dev/test/util/Relation.java
new file mode 100644
index 0000000..a3f0965
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/util/Relation.java
@@ -0,0 +1,127 @@
+/*
+**********************************************************************
+* Copyright (c) 2002-2004, International Business Machines
+* Corporation and others.  All Rights Reserved.
+**********************************************************************
+* Author: Mark Davis
+**********************************************************************
+*/
+package com.ibm.icu.dev.test.util;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Comparator;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.NoSuchElementException;
+import java.util.Set;
+import java.util.TreeMap;
+import java.util.TreeSet;
+
+/**
+ * A Relation is a set of mappings from keys to values.
+ * Unlike Map, there is not guaranteed to be a single value per key.
+ * The Map-like APIs return collections for values.
+ * @author medavis
+ *
+ * TODO To change the template for this generated type comment go to
+ * Window - Preferences - Java - Code Style - Code Templates
+ */
+public class Relation {
+    private Map m;
+    private CollectionFactory subcollection;
+
+    public Relation(Map mainMap, CollectionFactory subcollection) {
+        m = mainMap;
+        if (subcollection == null) subcollection = new CollectionMaker(null);
+        this.subcollection = subcollection;
+    }
+
+    public void clear() {
+        m.clear();
+    }
+    public boolean containsKey(Object key) {
+        return m.containsKey(key);
+    }
+    public boolean containsValue(Object value) {
+        return m.containsValue(value);
+    }
+    public Set entrySet() {
+        return m.entrySet();
+    }
+    public boolean equals(Object obj) {
+        return m.equals(obj);
+    }
+    public int hashCode() {
+        return m.hashCode();
+    }
+    public boolean isEmpty() {
+        return m.isEmpty();
+    }
+    public Object remove(Object key) {
+        return m.remove(key);
+    }
+    public int size() {
+        return m.size();
+    }
+    public String toString() {
+        return m.toString();
+    }
+    public Set keySet() {
+        return m.keySet();
+    }
+    /*
+    public void addAll(Relation t) {
+        for (Iterator it = t.keySet().iterator(); it.hasNext();) {
+            Object key = it.next();
+            add(key, t.get(key));
+        }
+    }
+    */
+    public Collection values() {
+        return m.values();
+    }
+    public Collection get(Object key, Collection output) {
+        output.addAll((Collection)m.get(key));
+        return output;
+    }
+    public void add(Object key, Object value) {
+        Collection o = (Collection) m.get(key);
+        if (o == null) m.put(key, o = subcollection.make());
+        o.add(value);
+    }
+    public Iterator iterator() {
+        return m.keySet().iterator();
+    }
+    public interface CollectionFactory {
+        Collection make();
+    }
+
+    /**
+     * This is just temporary, and may change!!
+     * @author medavis
+     *
+     * TODO To change the template for this generated type comment go to
+     * Window - Preferences - Java - Code Style - Code Templates
+     */
+    public static class CollectionMaker implements CollectionFactory {
+        public static final int HASH = 0, TREE = 1;
+        private Comparator comparator = null;
+        private int type = HASH;
+
+        public CollectionMaker(int type) {
+            this.type = type;
+        }
+        public CollectionMaker(Comparator comparator) {
+            this.comparator = comparator;
+        }
+        public Collection make() {
+            if (comparator != null) return new TreeSet(comparator);
+            else if (type == HASH) return new HashSet();
+            else return new TreeSet();
+        }
+    }
+}
\ No newline at end of file
diff --git a/src/com/ibm/icu/dev/test/util/SortedBag.java b/src/com/ibm/icu/dev/test/util/SortedBag.java
new file mode 100644
index 0000000..26a401b
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/util/SortedBag.java
@@ -0,0 +1,145 @@
+/*
+**********************************************************************
+* Copyright (c) 2002-2004, International Business Machines
+* Corporation and others.  All Rights Reserved.
+**********************************************************************
+* Author: Mark Davis
+**********************************************************************
+*/package com.ibm.icu.dev.test.util;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Comparator;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.NoSuchElementException;
+import java.util.Set;
+import java.util.TreeMap;
+
+/**
+ * A collection that is like a sorted set, except that it allows
+ * multiple elements that compare as equal
+ * @author medavis
+ */
+// TODO replace use of Set with a collection that takes an Equator
+public class SortedBag implements Collection {
+    /**
+     * A map of sets, where each corresponds to one sorted element.
+     * The sets are never empty
+     */
+    private Map m;
+    private int size;
+
+    public SortedBag(Comparator c) {
+        m = new TreeMap(c);
+    }
+    public boolean add(Object s) {
+        Set o = (Set)m.get(s);
+        if (o == null) {
+            o = new HashSet(1);
+            m.put(s,o);
+        }
+        boolean result = o.add(s);
+        if (result) size++;
+        return result;
+    }
+    public Iterator iterator() {
+        return new MyIterator();
+    }
+    static Iterator EMPTY_ITERATOR = new HashSet().iterator();
+    private class MyIterator implements Iterator {
+        private Iterator mapIterator = m.keySet().iterator();
+        private Iterator setIterator = null;
+
+        private MyIterator() {
+            mapIterator = m.keySet().iterator();
+            setIterator = getSetIterator();
+        }
+        private Iterator getSetIterator() {
+            if (!mapIterator.hasNext()) return EMPTY_ITERATOR;
+            return ((Set)m.get(mapIterator.next())).iterator();
+        }
+        public boolean hasNext() {
+            return setIterator.hasNext() || mapIterator.hasNext();
+        }
+        public Object next() {
+            if (!setIterator.hasNext()) {
+                setIterator = getSetIterator();
+            }
+            return setIterator.next();
+        }
+        public void remove() {
+            throw new UnsupportedOperationException();
+        }
+    }
+    /**
+     *
+     */
+    public void clear() {
+        m.clear();
+    }
+    public int size() {
+        return size;
+    }
+    public boolean isEmpty() {
+        return size == 0;
+    }
+    public boolean contains(Object o) {
+        Set set = (Set)m.get(o);
+        if (set == null) return false;
+        return set.contains(o);
+    }
+    public Object[] toArray() {
+        return toArray(new Object[size]);
+    }
+    public Object[] toArray(Object[] a) {
+        int count = 0;
+        for (Iterator it = iterator(); it.hasNext();) {
+            a[count++] = it.next();
+        }
+        return a;
+    }
+    /* (non-Javadoc)
+     * @see java.util.Collection#remove(java.lang.Object)
+     */
+    public boolean remove(Object o) {
+        Set set = (Set)m.get(o);
+        if (set == null) return false;
+        if (!set.remove(o)) return false;
+        if (set.size() == 0) m.remove(o);
+        size--;
+        return true;
+    }
+    public boolean containsAll(Collection c) {
+        for (Iterator it = c.iterator(); it.hasNext(); ) {
+            if (!contains(it.next())) return false;
+        }
+        return true;
+    }
+    public boolean addAll(Collection c) {
+        boolean result = false;
+        for (Iterator it = c.iterator(); it.hasNext(); ) {
+            if (add(it.next())) result = true;
+        }
+        return result;
+    }
+    public boolean removeAll(Collection c) {
+        boolean result = false;
+        for (Iterator it = c.iterator(); it.hasNext(); ) {
+            if (remove(it.next())) result = true;
+        }
+        return result;
+    }
+    public boolean retainAll(Collection c) {
+        // WARNING: this may not work if the comparator does not distinguish
+        // all items that are equals().
+        Set stuffToRemove = new HashSet(); // have to do this since iterator may not allow removal!
+        for (Iterator it = iterator(); it.hasNext(); ) {
+            Object item = it.next();
+            if (!c.contains(item)) stuffToRemove.add(item);
+        }
+        return removeAll(stuffToRemove);
+    }
+}
diff --git a/src/com/ibm/icu/dev/test/util/StringTokenizerTest.java b/src/com/ibm/icu/dev/test/util/StringTokenizerTest.java
new file mode 100644
index 0000000..397b00d
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/util/StringTokenizerTest.java
@@ -0,0 +1,437 @@
+/*
+*******************************************************************************
+* Copyright (C) 1996-2005, International Business Machines Corporation and    *
+* others. All Rights Reserved.                                                *
+*******************************************************************************
+*/
+
+package com.ibm.icu.dev.test.util;
+
+import com.ibm.icu.dev.test.TestFmwk;
+import com.ibm.icu.impl.Utility;
+import com.ibm.icu.util.StringTokenizer;
+import com.ibm.icu.text.UnicodeSet;
+
+/**
+* Testing class for StringTokenizer class
+* @author Syn Wee Quek
+* @since oct 26 2002
+*/
+public final class StringTokenizerTest extends TestFmwk
+{ 
+      // constructor ===================================================
+  
+      /**
+      * Constructor
+      */
+      public StringTokenizerTest()
+      {
+      }
+  
+      // public methods --------------------------------------------------------
+    
+    /**
+     * Testing constructors
+     */
+    public void TestConstructors()
+    {
+        String str = "this\tis\na\rstring\ftesting\tStringTokenizer\nconstructors!";
+        String delimiter = " \t\n\r\f";
+        String expected[] = {"this", "is", "a", "string", "testing", 
+                             "StringTokenizer", "constructors!"};
+        StringTokenizer defaultst = new StringTokenizer(str);
+        StringTokenizer stdelimiter = new StringTokenizer(str, delimiter);
+        StringTokenizer stdelimiterreturn = new StringTokenizer(str, delimiter,
+                                                                false);
+        UnicodeSet delimiterset = new UnicodeSet("[" + delimiter + "]", false);
+        StringTokenizer stdelimiterset = new StringTokenizer(str, delimiterset);
+        StringTokenizer stdelimitersetreturn = new StringTokenizer(str, 
+                                                                delimiterset,
+                                                                false);
+        for (int i = 0; i < expected.length; i ++) {
+            if (!(defaultst.nextElement().equals(expected[i]) 
+                  && stdelimiter.nextElement().equals(expected[i])
+                  && stdelimiterreturn.nextElement().equals(expected[i])
+                  && stdelimiterset.nextElement().equals(expected[i])
+                  && stdelimitersetreturn.nextElement().equals(expected[i]))) {
+                errln("Constructor with default delimiter gives wrong results");
+            }
+        }
+        
+        String expected1[] = {"this", "\t", "is", "\n", "a", "\r", "string", "\f",
+                            "testing", "\t", "StringTokenizer", "\n",
+                            "constructors!"};
+        stdelimiterreturn = new StringTokenizer(str, delimiter, true);
+        stdelimitersetreturn = new StringTokenizer(str, delimiterset, true);
+        for (int i = 0; i < expected1.length; i ++) {
+            if (!(stdelimiterreturn.nextElement().equals(expected1[i])
+                  && stdelimitersetreturn.nextElement().equals(expected1[i]))) {
+                errln("Constructor with default delimiter and delimiter tokens gives wrong results");
+            }
+        }
+                            
+        stdelimiter = new StringTokenizer(str, (String)null);
+        stdelimiterreturn = new StringTokenizer(str, (String)null, false);
+        delimiterset = null;
+        stdelimiterset = new StringTokenizer(str, delimiterset);
+        stdelimitersetreturn = new StringTokenizer(str, delimiterset, false);
+        
+        if (!(stdelimiter.nextElement().equals(str)
+              && stdelimiterreturn.nextElement().equals(str)
+              && stdelimiterset.nextElement().equals(str)
+              && stdelimitersetreturn.nextElement().equals(str))) {
+            errln("Constructor with null delimiter gives wrong results");
+        }
+        
+        delimiter = "";
+        stdelimiter = new StringTokenizer(str, delimiter);
+        stdelimiterreturn = new StringTokenizer(str, delimiter, false);
+        delimiterset = new UnicodeSet();
+        stdelimiterset = new StringTokenizer(str, delimiterset);
+        stdelimitersetreturn = new StringTokenizer(str, delimiterset, false);
+        
+        if (!(stdelimiter.nextElement().equals(str)
+              && stdelimiterreturn.nextElement().equals(str)
+              && stdelimiterset.nextElement().equals(str)
+              && stdelimitersetreturn.nextElement().equals(str))) {
+            errln("Constructor with empty delimiter gives wrong results");
+        }
+        
+        try {
+            defaultst = new StringTokenizer(null);
+            errln("null string should throw an exception");
+        } catch (Exception e) {
+        	logln("PASS: Constructor with null string failed as expected");
+        }
+        try {
+            stdelimiter = new StringTokenizer(null, delimiter);
+            errln("null string should throw an exception");
+        } catch (Exception e) {
+        	logln("PASS: Constructor with null string failed as expected");
+        }
+        try {
+            stdelimiterreturn = new StringTokenizer(null, delimiter, false);
+            errln("null string should throw an exception");
+        } catch (Exception e) {
+        	logln("PASS: Constructor with null string failed as expected");
+        }
+        try {
+            stdelimiterset = new StringTokenizer(null, delimiterset);
+            errln("null string should throw an exception");
+        } catch (Exception e) {
+        	logln("PASS: Constructor with null string failed as expected");
+        }
+        try {
+            stdelimitersetreturn = new StringTokenizer(null, delimiterset,
+                                                       false);
+            errln("null string should throw an exception");
+        } catch (Exception e) {
+        	logln("PASS: Constructor with null string failed as expected");
+        }
+    }
+    
+    /**
+     * Testing supplementary
+     */
+    public void TestSupplementary()
+    {
+        String str = "bmp string \ud800 with a unmatched surrogate character";
+        String delimiter = "\ud800\udc00";
+        String expected[] = {str};
+            
+        StringTokenizer tokenizer = new StringTokenizer(str, delimiter);
+        if (!tokenizer.nextElement().equals(expected[0])) {
+            errln("Error parsing \"" + Utility.hex(str) + "\"");
+        }
+        if (tokenizer.hasMoreElements()) {
+            errln("Number of tokens exceeded expected");
+        }
+        delimiter = "\ud800";
+        String expected1[] = {"bmp string ", 
+                              " with a unmatched surrogate character"};
+        tokenizer = new StringTokenizer(str, delimiter);
+        int i = 0;
+        while (tokenizer.hasMoreElements()) {
+            if (!tokenizer.nextElement().equals(expected1[i ++])) {
+                errln("Error parsing \"" + Utility.hex(str) + "\"");
+            }
+        }
+        if (tokenizer.hasMoreElements()) {
+            errln("Number of tokens exceeded expected");
+        }
+        
+        str = "string \ud800\udc00 with supplementary character";
+        delimiter = "\ud800";
+        String expected2[] = {str};
+        tokenizer = new StringTokenizer(str, delimiter);
+        if (!tokenizer.nextElement().equals(expected2[0])) {
+            errln("Error parsing \"" + Utility.hex(str) + "\"");
+        }
+        if (tokenizer.hasMoreElements()) {
+            errln("Number of tokens exceeded expected");
+        }
+  
+        delimiter = "\ud800\udc00";
+        String expected3[] = {"string ", " with supplementary character"};
+        tokenizer = new StringTokenizer(str, delimiter);
+        i = 0;
+        while (tokenizer.hasMoreElements()) {
+            if (!tokenizer.nextElement().equals(expected3[i ++])) {
+                errln("Error parsing \"" + Utility.hex(str) + "\"");
+            }
+        }
+        if (tokenizer.hasMoreElements()) {
+            errln("Number of tokens exceeded expected");
+        }
+        
+        str = "\ud800 \ud800\udc00 \ud800 \ud800\udc00";
+        delimiter = "\ud800";
+        String expected4[] = {" \ud800\udc00 ", " \ud800\udc00"};
+        i = 0;
+        while (tokenizer.hasMoreElements()) {
+            if (!tokenizer.nextElement().equals(expected4[i ++])) {
+                errln("Error parsing \"" + Utility.hex(str) + "\"");
+            }
+        }
+        if (tokenizer.hasMoreElements()) {
+            errln("Number of tokens exceeded expected");
+        }
+        
+        delimiter = "\ud800\udc00";
+        String expected5[] = {"\ud800 ", " \ud800 "};
+        i = 0;
+        while (tokenizer.hasMoreElements()) {
+            if (!tokenizer.nextElement().equals(expected5[i ++])) {
+                errln("Error parsing \"" + Utility.hex(str) + "\"");
+            }
+        }
+        if (tokenizer.hasMoreElements()) {
+            errln("Number of tokens exceeded expected");
+        }
+    }
+  
+      /**
+      * Testing next api
+      */
+      public void TestNextNonDelimiterToken()
+      {
+        String str = "  ,  1 2 3  AHHHHH! 5.5 6 7    ,        8\n";
+        String expected[] = {",", "1", "2", "3", "AHHHHH!", "5.5", "6", "7", 
+                             ",", "8\n"};
+        String delimiter = " ";
+                           
+        StringTokenizer tokenizer = new StringTokenizer(str, delimiter);
+        int currtoken = 0;
+        while (tokenizer.hasMoreElements()) {
+            if (!tokenizer.nextElement().equals(expected[currtoken])) {
+                errln("Error token mismatch, expected " + expected[currtoken]);
+            }
+            currtoken ++;
+        }
+
+        if (currtoken != expected.length) {
+            errln("Didn't get correct number of tokens");
+        }
+        
+        tokenizer = new StringTokenizer("", delimiter);
+        if (tokenizer.hasMoreElements()) {
+            errln("Empty string should not have any tokens");
+        }
+        try {
+            tokenizer.nextElement();
+            errln("Empty string should not have any tokens");
+        } catch (Exception e) {
+        	logln("PASS: empty string failed as expected");
+        }
+        
+        tokenizer = new StringTokenizer(", ,", ", ");
+        if (tokenizer.hasMoreElements()) {
+            errln("String with only delimiters should not have any tokens");
+        }
+        try {
+            tokenizer.nextElement();
+            errln("String with only delimiters should not have any tokens");
+        } catch (Exception e) {
+        	logln("PASS: String with only delimiters failed as expected");
+        }
+
+        tokenizer = new StringTokenizer("q, ,", ", ");
+        if (!tokenizer.hasMoreElements()) {
+            errln("String that does not begin with delimiters should have some tokens");
+        }
+        if (!tokenizer.nextElement().equals("q")) {
+            errln("String that does not begin with delimiters should have some tokens");
+        } 
+        try {
+            tokenizer.nextElement();
+            errln("String has only one token");
+        } catch (Exception e) {
+        	logln("PASS: String with only one token failed as expected");
+        }
+
+        try {
+            tokenizer = new StringTokenizer(null, delimiter);
+            errln("StringTokenizer constructed with null source should throw a nullpointerexception");
+        } catch (Exception e) {
+        	logln("PASS: StringTokenizer constructed with null source failed as expected");
+        }
+
+        tokenizer = new StringTokenizer(str, "q");
+        if (!tokenizer.nextElement().equals(str)) {
+            errln("Should have received the same string when there are no delimiters");
+        }
+    }
+    
+    /**
+    * Testing next api
+    */
+    public void TestNextDelimiterToken()
+    {
+        String str = "  ,  1 2 3  AHHHHH! 5.5 6 7    ,        8\n";
+        String expected[] = {"  ", ",", "  ", "1", " ", "2", " ", "3", "  ",
+                             "AHHHHH!", " ", "5.5", " ", "6", " ", "7", "    ",
+                             ",", "        ", "8\n"};
+        String delimiter = " ";
+                           
+        StringTokenizer tokenizer = new StringTokenizer(str, delimiter, true);
+        int currtoken = 0;
+        while (tokenizer.hasMoreElements()) {
+            if (!tokenizer.nextElement().equals(expected[currtoken])) {
+                errln("Error token mismatch, expected " + expected[currtoken]);
+            }
+            currtoken ++;
+        }
+
+        if (currtoken != expected.length) {
+            errln("Didn't get correct number of tokens");
+        }
+        
+        tokenizer = new StringTokenizer("", delimiter, true);
+        if (tokenizer.hasMoreElements()) {
+            errln("Empty string should not have any tokens");
+        }
+        try {
+            tokenizer.nextElement();
+            errln("Empty string should not have any tokens");
+        } catch (Exception e) {
+        	logln("PASS: Empty string failed as expected");
+        }
+        
+        tokenizer = new StringTokenizer(", ,", ", ", true);
+        if (!tokenizer.hasMoreElements()) {
+            errln("String with only delimiters should have tokens when delimiter is treated as tokens");
+        }
+        if (!tokenizer.nextElement().equals(", ,")) {
+            errln("String with only delimiters should return itself when delimiter is treated as tokens");
+        }
+
+        tokenizer = new StringTokenizer("q, ,", ", ", true);
+        
+        if (!tokenizer.hasMoreElements()) {
+            errln("String should have some tokens");
+        }
+        if (!tokenizer.nextElement().equals("q") 
+            || !tokenizer.nextElement().equals(", ,")) {
+            errln("String tokens do not match expected results");
+        } 
+
+        try {
+            tokenizer = new StringTokenizer(null, delimiter, true);
+            errln("StringTokenizer constructed with null source should throw a nullpointerexception");
+        } catch (Exception e) {
+        	logln("PASS: StringTokenizer constructed with null source failed as expected");
+        }
+
+        tokenizer = new StringTokenizer(str, "q", true);
+        if (!tokenizer.nextElement().equals(str)) {
+            errln("Should have recieved the same string when there are no delimiters");
+        }
+    }
+    
+    /**
+     * Testing count tokens
+     */
+    public void TestCountTokens()
+    {
+        String str = "this\tis\na\rstring\ftesting\tStringTokenizer\nconstructors!";
+        String delimiter = " \t\n\r\f";
+        String expected[] = {"this", "is", "a", "string", "testing", 
+                             "StringTokenizer", "constructors!"};
+        String expectedreturn[] = {"this", "\t", "is", "\n", "a", "\r", 
+                                   "string", "\f", "testing", "\t", 
+                                   "StringTokenizer", "\n", "constructors!"};
+        StringTokenizer st = new StringTokenizer(str, delimiter);
+        StringTokenizer streturn = new StringTokenizer(str, delimiter, true);
+        if (st.countTokens() != expected.length) {
+            errln("CountTokens failed for non-delimiter tokens");
+        }
+        if (streturn.countTokens() != expectedreturn.length) {
+            errln("CountTokens failed for delimiter tokens");
+        }
+        for (int i = 0; i < expected.length; i ++) {
+            if (!st.nextElement().equals(expected[i])
+                || st.countTokens() != expected.length - i - 1) {
+                errln("CountTokens default delimiter gives wrong results");
+            }
+        }
+        for (int i = 0; i < expectedreturn.length; i ++) {
+            if (!streturn.nextElement().equals(expectedreturn[i])
+                || streturn.countTokens() != expectedreturn.length - i - 1) {
+                errln("CountTokens with default delimiter and delimiter tokens gives wrong results");
+            }
+        }    
+    }
+        
+    /**
+     * Next token with new delimiters
+     */
+    public void TestNextNewDelimiters()
+    {
+        String str = "abc0def1ghi2jkl3mno4pqr0stu1vwx2yza3bcd4efg0hij1klm2nop3qrs4tuv";
+        String delimiter[] = {"0", "1", "2", "3", "4"};
+        String expected[][] = {{"abc", "pqr", "efg"},
+                               {"def", "stu", "hij"},
+                               {"ghi", "vwx", "klm"},
+                               {"jkl", "yza", "nop"},
+                               {"mno", "bcd", "qrs"}
+                              };
+        StringTokenizer st = new StringTokenizer(str);
+        int size = expected[0].length;
+        for (int i = 0; i < size; i ++) {
+            for (int j = 0; j < delimiter.length; j ++) {
+                if (!st.nextToken(delimiter[j]).equals(expected[j][i])) {
+                    errln("nextToken() with delimiters error " + i + " " + j);
+                }
+                if (st.countTokens() != expected[j].length - i) {            
+                    errln("countTokens() after nextToken() with delimiters error"
+                          + i + " " + j);
+                }
+            }
+        }    
+        st = new StringTokenizer(str);
+        String delimiter1[] = {"0", "2", "4"};
+        String expected1[] = {"abc", "def1ghi", "jkl3mno", "pqr", "stu1vwx", 
+                              "yza3bcd", "efg", "hij1klm", "nop3qrs", "tuv"};
+        for (int i = 0; i < expected1.length; i ++) {
+            if (!st.nextToken(delimiter1[i % delimiter1.length]).equals(
+                                                            expected1[i])) {
+                errln("nextToken() with delimiters error " + i);
+            }
+        }
+    }
+    
+    public static void main(String[] arg)
+    {
+        try
+        {
+            StringTokenizerTest test = new StringTokenizerTest();
+            test.run(arg);
+            // test.TestCaseCompare();
+        }
+        catch (Exception e)
+        {
+            e.printStackTrace();
+        }
+    }
+}
+
diff --git a/src/com/ibm/icu/dev/test/util/Tabber.java b/src/com/ibm/icu/dev/test/util/Tabber.java
new file mode 100644
index 0000000..1a5cd54
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/util/Tabber.java
@@ -0,0 +1,199 @@
+
+/*
+ *******************************************************************************
+ * Copyright (C) 2002-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.test.util;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public abstract class Tabber {
+    public static final byte LEFT = 0, CENTER = 1, RIGHT = 2;
+    private static final String[] ALIGNMENT_NAMES = {"Left", "Center", "Right"};
+    
+    /**
+     * Repeats a string n times
+     * @param source
+     * @param times
+     */
+    // TODO - optimize repeats using doubling?
+    public static String repeat(String source, int times) {
+        if (times <= 0) return "";
+        if (times == 1) return source;
+        StringBuffer result = new StringBuffer();
+        for (; times > 0; --times) {
+            result.append(source);
+        }
+        return result.toString();
+    }
+    
+    public String process(String source) {
+        StringBuffer result = new StringBuffer();
+        int lastPos = 0;
+        for (int count = 0; lastPos < source.length(); ++count) {
+            int pos = source.indexOf('\t', lastPos);
+            if (pos < 0) pos = source.length();
+            process_field(count, source, lastPos, pos, result);
+            lastPos = pos+1;
+        }
+        return prefix + result.toString() + postfix;
+    }
+    
+    private String prefix = "";
+    private String postfix = "";
+    
+    public abstract void process_field(int count, String source, int start, int limit, StringBuffer output);
+
+    public static class MonoTabber extends Tabber {
+        int minGap = 0;
+    
+        private List stops = new ArrayList();
+        private List types = new ArrayList();
+        
+        public String toString() {
+            StringBuffer buffer = new StringBuffer();
+            for (int i = 0; i < stops.size(); ++i) {
+                if (i != 0) buffer.append("; ");
+                buffer
+                .append(ALIGNMENT_NAMES[((Integer)types.get(i)).intValue()])
+                .append(",")
+                .append(stops.get(i));
+            } 
+            return buffer.toString();
+        }
+    
+        /**
+         * Adds tab stop and how to align the text UP TO that stop
+         * @param tabPos
+         * @param type
+         */
+        public MonoTabber addAbsolute(int tabPos, int type) {
+            stops.add(new Integer(tabPos));
+            types.add(new Integer(type));
+            return this;
+        }
+    
+        /**
+         * Adds relative tab stop and how to align the text UP TO that stop
+         */
+        public MonoTabber add(int fieldWidth, byte type) {
+            int last = getStop(stops.size()-1);
+            stops.add(new Integer(last + fieldWidth));
+            types.add(new Integer(type));
+            return this;
+        }
+        
+        public int getStop(int fieldNumber) {
+            if (fieldNumber < 0) return 0;
+            if (fieldNumber >= stops.size()) fieldNumber = stops.size() - 1;
+            return ((Integer)stops.get(fieldNumber)).intValue();
+        }
+        public int getType(int fieldNumber) {
+            if (fieldNumber < 0) return LEFT;
+            if (fieldNumber >= stops.size()) return LEFT;
+            return ((Integer)types.get(fieldNumber)).intValue();
+        }
+        /*
+        public String process(String source) {
+            StringBuffer result = new StringBuffer();
+            int lastPos = 0;
+            int count = 0;
+            for (count = 0; lastPos < source.length() && count < stops.size(); count++) {
+                int pos = source.indexOf('\t', lastPos);
+                if (pos < 0) pos = source.length();
+                String piece = source.substring(lastPos, pos);
+                int stopPos = getStop(count);
+                if (result.length() < stopPos) {
+                    result.append(repeat(" ", stopPos - result.length()));
+                    // TODO fix type
+                }
+                result.append(piece);
+                lastPos = pos+1;
+            }
+            if (lastPos < source.length()) {
+                result.append(source.substring(lastPos));
+            }
+            return result.toString();
+        }
+        */
+        
+        public void process_field(int count, String source, int start, int limit, StringBuffer output) {
+            String piece = source.substring(start, limit);
+            int startPos = getStop(count-1);
+            int endPos = getStop(count) - minGap;
+            int type = getType(count);
+            switch (type) {
+                case LEFT: 
+                    break;
+                case RIGHT: 
+                    startPos = endPos - piece.length();
+                    break;
+                case CENTER: 
+                    startPos = (startPos + endPos - piece.length() + 1)/2;
+                    break;
+            }
+
+            int gap = startPos - output.length();
+            if (count != 0 && gap < minGap) gap = minGap;
+            if (gap > 0) output.append(repeat(" ", gap));
+            output.append(piece);
+        }
+        
+    }
+    
+    public static class HTMLTabber extends Tabber {
+        private List parameters = new ArrayList();
+        {
+            setPrefix("<tr>");
+            setPostfix("</tr>");
+        }
+        public void setParameters(int count, String params) {
+            parameters.set(count,params);
+        }
+        
+        public void process_field(int count, String source, int start, int limit, StringBuffer output) {
+            output.append("<td");
+            String params = null;
+            if (count < parameters.size()) params = (String) parameters.get(count);
+            if (params != null) {
+                output.append(' ');
+                output.append(params);
+            }
+            output.append(">");
+            output.append(source.substring(start, limit));
+            // TODO Quote string
+            output.append("</td>");            
+        }
+    }
+    /**
+     */
+    public String getPostfix() {
+        return postfix;
+    }
+
+    /**
+     */
+    public String getPrefix() {
+        return prefix;
+    }
+
+    /**
+     * @param string
+     */
+    public Tabber setPostfix(String string) {
+        postfix = string;
+        return this;
+    }
+
+    /**
+     * @param string
+     */
+    public Tabber setPrefix(String string) {
+        prefix = string;
+        return this;
+    }
+
+}
diff --git a/src/com/ibm/icu/dev/test/util/TestAll.java b/src/com/ibm/icu/dev/test/util/TestAll.java
new file mode 100644
index 0000000..da40b9f
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/util/TestAll.java
@@ -0,0 +1,41 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.test.util;
+
+import com.ibm.icu.dev.test.TestFmwk.TestGroup;
+
+/**
+ * Top level test used to run all other tests as a batch.
+ */
+public class TestAll extends TestGroup {
+    public static void main(String[] args) throws Exception {
+        new TestAll().run(args);
+    }
+
+    public TestAll() {
+        super(
+              new String[] {
+            "VersionInfoTest",
+            // "ICUListResourceBundleTest",
+            // these tests fail since there is no ICULocaleData.jar to support it
+            // ICUResoureBundleTest supercedes the ICUListResourceBundleTest
+            "ICUResourceBundleTest",
+            "CompactArrayTest",
+            "StringTokenizerTest",
+            "CurrencyTest",
+            "UtilityTest",
+            "TrieTest",
+            "LocaleDataTest",
+            "ULocaleTest"
+        },
+              "Test miscellaneous public utilities");
+    }
+
+    public static final String CLASS_TARGET_NAME = "Util";
+}
+
+
diff --git a/src/com/ibm/icu/dev/test/util/TestBNF.java b/src/com/ibm/icu/dev/test/util/TestBNF.java
new file mode 100644
index 0000000..8ad6c1e
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/util/TestBNF.java
@@ -0,0 +1,240 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2002-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.test.util;
+
+import java.util.Random;
+
+//TODO integrate this into the test framework
+
+import com.ibm.icu.text.UnicodeSet;
+
+public class TestBNF {
+    
+    static final String[] testRules = {
+        "$root = [ab]{3};",
+        
+        "$root = [ab]{3,};",
+        
+        "$root = [ab]{3,5};",
+        
+        "$root = [ab]*;",
+        
+        "$root = [ab]?;",
+        
+        "$root = [ab]+;",
+        
+        "$us = [a-z];" +
+        "$root = [0-9$us];",
+        
+        "$root = a $foo b? 25% end 30% | $foo 50%;\r\n" +
+        "$foo = c{1,5} 20%;",
+        
+        "$root = [a-z]{1,5}~;",
+        
+        "$root = [a-z]{5}~;",
+        
+        "$root = '\\' (u | U0010 | U000 $hex) $hex{4} ;\r\n" +
+        "$hex = [0-9A-Fa-f];",
+    };
+        
+    static String unicodeSetBNF = "" +
+    "$root = $leaf | '[' $s $root2 $s ']' ;\r\n" +
+    "$root2 = $leaf | '[' $s $root3 $s ']' | ($root3 $s ($op $root3 $s){0,3}) ;\r\n" +
+    "$root3 = $leaf | '[' $s $root4 $s ']' | ($root4 $s ($op $root4 $s){0,3}) ;\r\n" +
+    "$root4 = $leaf | ($leaf $s ($op $leaf $s){0,3}) ;\r\n" +
+    "$op = (('&' | '-') $s)? 70%;" +
+    "$leaf = '[' $s $list $s ']' | $prop;\r\n" +
+    "$list = ($char $s ('-' $s $char $s)? 30%){1,5} ;\r\n" +
+    "$prop = '\\' (p | P) '{' $s $propName $s '}' | '[:' '^'? $s $propName $s ':]';\r\n" +
+    "$needsQuote = [\\-\\][:whitespace:][:control:]] ;\r\n" +
+    "$char = [[\\u0000-\\U00010FFFF]-$needsQuote] | $quoted ;\r\n" +
+    "$quoted = '\\' ('u' | 'U0010' | 'U000' $hex) $hex{4} ;\r\n" +
+    "$hex = [0-9A-Fa-f];\r\n" +
+    "$s = ' '? 20%;\r\n" +
+    "$propName = (whitespace | ws) | (uppercase | uc) | (lowercase | lc) | $category;\r\n" +
+    "$category = ((general | gc) $s '=' $s)? $catvalue;\r\n" +
+    "$catvalue = (C | Other | Cc | Control | Cf | Format | Cn | Unassigned | L | Letter);\r\n";
+
+    public static void main (String[] args) {
+        testTokenizer();
+        for (int i = 0; i < testRules.length; ++i) {
+            testBNF(testRules[i], null, 20);          
+        }
+        
+        testBNF(unicodeSetBNF, null, 20);
+        //testParser();
+    }
+    
+    static void testBNF(String rules, UnicodeSet chars, int count) {
+        BNF bnf = new BNF(new Random(0), new Quoter.RuleQuoter())
+        .addSet("$chars", chars)
+        .addRules(rules)
+        .complete();
+
+        System.out.println("====================================");
+        System.out.println("BNF");
+        System.out.println(rules);
+        System.out.println(bnf.getInternal());
+        for (int i = 0; i < count; ++i) {
+            System.out.println(i + ": " + bnf.next());
+        }
+    }
+    
+    /*
+    public static testManual() {
+        Pick p = Pick.maybe(75,Pick.unquoted("a"));
+        testOr(p, 1);
+        p = Pick.or(new String[]{"", "a", "bb", "ccc"});
+        testOr(p, 3);
+        p = Pick.repeat(3, 5, new int[]{20, 30, 20}, "a");
+        testOr(p, 5);        
+        p = Pick.codePoint("[a-ce]");
+        testCodePoints(p);        
+        p = Pick.codePoint("[a-ce]");
+        testCodePoints(p);        
+        p = Pick.string(2, 8, p);
+        testOr(p,10);
+        
+        p = Pick.or(new String[]{"", "a", "bb", "ccc"});
+        p = Pick.and(p).and2(p).and2("&");
+        testMatch(p, "abb&");
+        testMatch(p, "bba");
+        
+        // testEnglish();        
+    }
+    */
+    
+    static void testMatch(Pick p, String source) {
+        Pick.Position pp = new Pick.Position();
+        boolean value = p.match(source, pp);
+        System.out.println("Match: " + value + ", " + pp);      
+    }
+    /*
+    static void testParser() {
+        try {
+            Pick.Target target = new Pick.Target();
+            for (int i = 0; i < rules.length; ++i) {
+                target.addRule(rules[i]);
+            }
+        } catch (ParseException e) {
+            // TODO Auto-generated catch block
+            e.printStackTrace();
+        }
+    }
+    */
+    
+    static class Counts {
+        int[] counts;       
+        Counts(int max) {
+            counts = new int[max+1];
+        }
+        void inc(int index) {
+            counts[index]++;
+        }
+        void show() {
+            System.out.println("Printing Counts");
+            for (int i = 0; i < counts.length; ++i) {
+                if (counts[i] == 0) continue;
+                System.out.println(i + ": " + counts[i]);
+            }
+            System.out.println();
+        }
+    }
+    
+    static final String[] rules = {
+        "$s = ' ';",
+        "$noun = dog | house | government | wall | street | zebra;",
+        "$adjective = red | glorious | simple | nasty | heavy | clean;",
+        "$article = quickly | oddly | silently | boldly;",
+        "$adjectivePhrase = ($adverb $s)? 50% $adjective* 0% 30% 20% 10%;",
+        "$nounPhrase = $articles $s ($adjectivePhrase $s)? 30% $noun;",
+        "$verb = goes | fishes | walks | sleeps;",
+        "$tverb = carries | lifts | overturns | hits | jumps on;",
+        "$copula = is 30% | seems 10%;",
+        "$sentence1 = $nounPhrase $s $verb $s ($s $adverb)? 30%;",
+        "$sentence2 = $nounPhrase $s $tverb $s $nounPhrase ($s $adverb)? 30%;",
+        "$sentence3 = $nounPhrase $s $copula $s $adjectivePhrase;",
+        "$conj = but | and | or;",
+        "$sentence4 = $sentence1 | $sentence2 | $sentence3 20% | $sentence4 $conj $sentence4 20%;",
+        "$sentence = $sentence4 '.';"};
+    /*
+    private static void testEnglish() {
+        Pick s = Pick.unquoted(" ");
+        Pick verbs = Pick.or(new String[]{"goes", "fishes", "walks", "sleeps"});
+        Pick transitive = Pick.or(new String[]{"carries", "lifts", "overturns", "hits", "jumps on"});
+        Pick nouns = Pick.or(new String[]{"dog", "house", "government", "wall", "street", "zebra"});
+        Pick adjectives = Pick.or(new String[]{"red", "glorious", "simple", "nasty", "heavy", "clean"});
+        Pick articles = Pick.or(new String[]{"the", "a"});
+        Pick adverbs = Pick.or(new String[]{"quickly", "oddly", "silently", "boldly"});
+        Pick adjectivePhrase = Pick.and(0.5, Pick.and(adverbs).and2(s)).and2(adjectives);
+        Pick nounPhrase = Pick.and(articles).and2(s)
+            .and2(0.3, Pick.and(adjectivePhrase).and2(s))
+            .and2(nouns);
+        Pick copula = Pick.or(new String[]{"is", "seems"});
+        Pick sentence1 = Pick.and(nounPhrase).and2(s).and2(verbs)
+            .and2(0.3, Pick.and(s).and2(adverbs)).name("s1");
+        Pick sentence2 = Pick.and(nounPhrase).and2(s).and2(transitive).and2(s).and2(nounPhrase)
+            .and2(0.3, Pick.and(s).and2(adverbs)).name("s2");
+        Pick sentence3 = Pick.and(nounPhrase).and2(s).and2(copula).and2(s).and2(adjectivePhrase).name("s3");
+        Pick conj = Pick.or(new String[]{", but", ", and", ", or"});
+        Pick forward = Pick.unquoted("forward");
+        Pick pair = Pick.and(forward).and2(conj).and2(s).and2(forward).name("part");
+        Pick sentenceBase = Pick.or(sentence1).or2(sentence2).or2(sentence3).or2(0.6666, pair).name("sentence");
+        sentenceBase.replace(forward, sentenceBase);
+        Pick sentence = Pick.and(sentenceBase).and2(Pick.unquoted("."));
+        Pick.Target target = Pick.Target.make(sentence);
+        for (int i = 0; i < 50; ++i) {
+            System.out.println(i + ": " + target.next());
+        }
+    }
+    private static void testOr(Pick p, int count) {
+        Pick.Target target = Pick.Target.make(p);
+        Counts counts = new Counts(count + 10);
+        for (int i = 0; i < 1000; ++i) {
+            String s = target.next();
+            counts.inc(s.length());
+        }
+        counts.show();
+    }
+    private static void testCodePoints(Pick p) {
+        Pick.Target target = Pick.Target.make(p);
+        Counts counts = new Counts(128);
+        for (int i = 0; i < 10000; ++i) {
+            String s = target.next();
+            counts.inc(s.charAt(0));
+        }
+        counts.show();
+    }
+    */
+    public static void printRandoms() {
+        BNF bnf = new BNF(new Random(0), new Quoter.RuleQuoter())
+        .addRules("[a-z]{2,5}").complete();
+        System.out.println("Start");
+        for (int i = 0; i < 100; ++i) {
+            String temp = bnf.next();
+            System.out.println(i + ")\t" + temp);
+        }
+    }
+    
+    public static void testTokenizer() {
+        Tokenizer t = new Tokenizer();
+        
+        String[] samples = {"a'b'c d #abc\r e", "'a '123 321", 
+            "\\\\", "a'b", "a'", "abc def%?ghi", "%", "a", "\\ a", "a''''b"};
+        for (int i = 0; i < samples.length; ++i) {
+            t.setSource(samples[i]);
+            System.out.println();
+            System.out.println("Input: " + t.getSource());
+            int type = 0;
+            while (type != Tokenizer.DONE) {
+                type = t.next();
+                System.out.println(t.toString(type, false));
+            }
+        }
+    }
+
+}
\ No newline at end of file
diff --git a/src/com/ibm/icu/dev/test/util/TestBagFormatter.java b/src/com/ibm/icu/dev/test/util/TestBagFormatter.java
new file mode 100644
index 0000000..57379f3
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/util/TestBagFormatter.java
@@ -0,0 +1,243 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2002-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.test.util;
+
+// TODO integrate this into the test framework
+
+import java.io.IOException;
+import java.io.PrintWriter;
+import java.text.Collator;
+import java.util.Comparator;
+import java.util.Iterator;
+import java.util.Locale;
+import java.util.Set;
+import java.util.TreeSet;
+
+import com.ibm.icu.lang.UProperty;
+import com.ibm.icu.lang.UScript;
+import com.ibm.icu.text.Transliterator;
+import com.ibm.icu.text.UnicodeSet;
+
+// TODO change to use test framework
+public class TestBagFormatter {
+    
+    static final void generatePropertyAliases(boolean showValues) {
+        generatePropertyAliases(showValues, ICUPropertyFactory.make());
+    }
+    
+    static final void generatePropertyAliases(boolean showValues, UnicodeProperty.Factory ups) {
+        Collator order = Collator.getInstance(Locale.ENGLISH);
+        TreeSet props = new TreeSet(order);
+        TreeSet values = new TreeSet(order);
+        BagFormatter bf = new BagFormatter();
+        props.addAll(ups.getAvailableNames());
+        for (int i = UnicodeProperty.BINARY; i < UnicodeProperty.LIMIT_TYPE; ++i) {
+            System.out.println(UnicodeProperty.getTypeName(i));
+            Iterator it = props.iterator();
+            while (it.hasNext()) {
+                String propAlias = (String)it.next();
+                UnicodeProperty up = ups.getProperty(propAlias);
+                int type = up.getType();
+                if (type != i) continue;                
+                System.out.println();
+                System.out.println(propAlias + "\t" + bf.join(up.getNameAliases()));
+                if (!showValues) continue;
+                values.clear();
+                if (type == UnicodeProperty.NUMERIC || type == UnicodeProperty.EXTENDED_NUMERIC) {
+                    UnicodeMap um = new UnicodeMap();
+                    um.putAll(up);
+                    System.out.println(um.toString(new NumberComparator()));
+                    continue;
+                }
+                values.clear();
+                values.addAll(up.getAvailableValues());
+                Iterator it2 = values.iterator();
+                while (it2.hasNext()) {
+                    String valueAlias = (String)it2.next();
+                    System.out.println("\t" + bf.join(valueAlias + "\t" + up.getValueAliases(valueAlias)));
+                }
+            }
+        }
+    }
+    
+    static class NumberComparator implements Comparator {
+        public int compare(Object o1, Object o2) {
+            if (o1 == o2) return 0;
+            if (o1 == null) return 1;
+            if (o2 == null) return -1;
+            double n1 = Double.parseDouble((String)o1);
+            double n2 = Double.parseDouble((String)o2);
+            return n1 < n2 ? -1 : n1 > n2 ? 1 : 0;
+        }
+    }
+
+    public static void main(String[] args) throws Exception {
+        System.out.println("Start");
+        try {
+            //readCharacters();
+            UnicodeProperty prop = ICUPropertyFactory.make().getProperty("Canonicalcombiningclass");
+            prop.getAvailableValues();
+            
+            generatePropertyAliases(true);
+            
+            BagFormatter bf = new BagFormatter();
+
+            UnicodeSet us = new UnicodeSet("[:gc=nd:]");  
+            BagFormatter.CONSOLE.println("[:gc=nd:]");
+            bf.showSetNames(BagFormatter.CONSOLE,us);
+
+            us = new UnicodeSet("[:numeric_value=2:]");  
+            BagFormatter.CONSOLE.println("[:numeric_value=2:]");
+            bf.showSetNames(BagFormatter.CONSOLE,us);
+            
+            us = new UnicodeSet("[:numeric_type=numeric:]");   
+            BagFormatter.CONSOLE.println("[:numeric_type=numeric:]");
+            bf.showSetNames(BagFormatter.CONSOLE,us);
+            
+            UnicodeProperty.Factory ups = ICUPropertyFactory.make();
+            us = ups.getSet("gc=mn", null, null); 
+            BagFormatter.CONSOLE.println("gc=mn");
+            bf.showSetNames(BagFormatter.CONSOLE, us);
+            
+            if (true) return;
+            //showNames("Name", ".*MARK.*");
+            //showNames("NFD", "a.+");
+            //showNames("NFD", false);
+            //showNames("Lowercase_Mapping", false);
+            //TestUnicodePropertySource.test(true);
+            //showNames(".*\\ \\-.*");
+
+
+            //checkHTML();
+            //testIsRTL();
+           
+            //TestTokenizer.test();
+            //RandomCollator.generate("collationTest.txt", null);
+            
+            //TestPick.test();
+            //printRandoms();
+            //if (true) return;
+            //testLocales();
+            //if (true) return;
+            /*
+            TestCollator tc = new TestCollator();
+            tc.test(RuleBasedCollator.getInstance(),1000);
+            */
+            /*
+            StringBuffer sb = new StringBuffer();
+            for (int i = 0; i < 100; ++i) {
+                sb.setLength(0);
+                rc.nextRule(sb);
+                System.out.println(sb);
+            }
+            */
+        } finally {
+            System.out.println("End");
+       }
+
+    }
+    
+    static void testLocales() throws IOException {
+        Locale[] locales = Collator.getAvailableLocales();
+        Set s = new TreeSet(Collator.getInstance());
+        for (int i = 0; i < locales.length; ++i) {
+            String lang = locales[i].getLanguage();
+            String dlang = locales[i].getDisplayLanguage();
+            String country = locales[i].getCountry();
+            String dcountry = locales[i].getDisplayCountry();
+            if (country.equals("")) continue;
+            s.add(""
+                + "\t" + dcountry 
+                + "\t" + country 
+                + "\t" + dlang
+                + "\t" + lang 
+            );
+        }
+        //CollectionFormatter cf = new CollectionFormatter();
+        PrintWriter pw = BagFormatter.openUTF8Writer("", "countries.txt");
+        Iterator it = s.iterator();
+        while (it.hasNext()) {
+            pw.println(it.next());
+        }
+        pw.close();
+    }
+    
+    
+    /*
+     * Use the number of significant digits to round get a rounding value.
+     */
+    static final double LOG10 = Math.log(10);
+    public static void useSignificantDigits(double value, int digits) {
+        double log10 = Math.log(value)/LOG10; // log[e]
+        
+    }
+    
+    static final UnicodeSet RTL = new UnicodeSet("[[:L:]&[[:bidi class=R:][:bidi class=AL:]]]");
+    
+    static boolean isRTL(Locale loc) {        
+        // in 2.8 we can use the exemplar characters, but for 2.6 we have to work around it
+        int[] scripts = UScript.getCode(loc);
+        return new UnicodeSet()
+            .applyIntPropertyValue(UProperty.SCRIPT, scripts == null ? UScript.LATIN : scripts[0])
+            .retainAll(RTL).size() != 0;
+    }
+    
+    static void testIsRTL() {
+        Locale[] locales = Locale.getAvailableLocales();
+        Set s = new TreeSet();
+        for (int i = 0; i < locales.length; ++i) {
+            s.add((isRTL(locales[i]) ? "R " : "L ") + locales[i].getDisplayName());
+        }
+        Iterator it = s.iterator();
+        while (it.hasNext()) {
+            System.out.println(it.next());
+        }
+    }
+
+    static final Transliterator toHTML = Transliterator.createFromRules(
+        "any-html",        
+            "'<' > '&lt;' ;" +
+            "'&' > '&amp;' ;" +
+            "'>' > '&gt;' ;" +
+            "'\"' > '&quot;' ; ",
+        Transliterator.FORWARD);
+    static final Transliterator fromHTML = Transliterator.createFromRules(
+        "html-any",        
+            "'<' < '&'[lL][Tt]';' ;" +
+            "'&' < '&'[aA][mM][pP]';' ;" +
+            "'>' < '&'[gG][tT]';' ;" +
+            "'\"' < '&'[qQ][uU][oO][tT]';' ; ",
+        Transliterator.REVERSE);
+        
+    static void checkHTML() {
+        String foo = "& n < b < \"ab\"";
+        String fii = toHTML.transliterate(foo);
+        System.out.println("in: " + foo);
+        System.out.println("out: " + fii);
+        System.out.println("in*: " + fromHTML.transliterate(fii));
+        System.out.println("IN*: " + fromHTML.transliterate(fii.toUpperCase()));
+    }
+    /*
+    static void showNames(String propAlias, boolean matches) {
+        BagFormatter bf = new BagFormatter();
+        UnicodeSet stuff;
+        stuff = new UnicodePropertySource.ICU()
+            .setPropertyAlias(propAlias)
+            .getPropertySet(matches, null);
+        System.out.println(bf.showSetNames(propAlias + " with " + matches, stuff));
+    }
+    
+    static void showNames(String propAlias, String pattern) {
+        BagFormatter bf = new BagFormatter();
+        UnicodeSet stuff;
+        stuff = new UnicodePropertySource.ICU()
+            .setPropertyAlias(propAlias)
+            .getPropertySet(Pattern.compile(pattern).matcher(""), null);
+        System.out.println(bf.showSetNames(propAlias + "with " + pattern, stuff));
+    }
+    */
+}
\ No newline at end of file
diff --git a/src/com/ibm/icu/dev/test/util/TestUtilities.java b/src/com/ibm/icu/dev/test/util/TestUtilities.java
new file mode 100644
index 0000000..6ebb87d
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/util/TestUtilities.java
@@ -0,0 +1,370 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.test.util;
+
+import java.text.NumberFormat;
+import java.util.ArrayList;
+import java.util.Comparator;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Random;
+import java.util.Set;
+import java.util.SortedSet;
+import java.util.TreeMap;
+import java.util.TreeSet;
+
+import com.ibm.icu.dev.test.TestBoilerplate;
+import com.ibm.icu.dev.test.TestFmwk;
+import com.ibm.icu.impl.Utility;
+import com.ibm.icu.lang.UCharacter;
+import com.ibm.icu.lang.UProperty;
+import com.ibm.icu.text.UnicodeSet;
+
+public class TestUtilities extends TestFmwk {
+    static final int LIMIT = 0x15; // limit to make testing more realistic in terms of collisions
+    static final int ITERATIONS = 1000000;
+    static final boolean SHOW_PROGRESS = false;
+    static final boolean DEBUG = false;
+    
+    public static void main(String[] args) throws Exception {
+        new TestUtilities().run(args);
+    }
+    
+    UnicodeMap map1 = new UnicodeMap();
+    Map map2 = new HashMap();
+    Map map3 = new TreeMap();
+    SortedSet log = new TreeSet();
+    static String[] TEST_VALUES = {null, "A", "B", "C", "D", "E", "F"};
+    static Random random = new Random(12345);
+    
+    public void TestUnicodeMap() {
+        random.setSeed(12345);
+        // do random change to both, then compare
+        logln("Comparing against HashMap");
+        for (int counter = 0; counter < ITERATIONS; ++counter) {
+            int start = random.nextInt(LIMIT);
+            String value = TEST_VALUES[random.nextInt(TEST_VALUES.length)];
+            String logline = Utility.hex(start) + "\t" + value;
+            if (SHOW_PROGRESS) logln(counter + "\t" + logline);
+            log.add(logline);
+            if (DEBUG && counter == 144) {
+                System.out.println(" debug");
+            }
+            map1.put(start, value);
+            map2.put(new Integer(start), value);
+            check(counter);
+        }
+        checkNext(LIMIT);
+        
+        logln("Setting General Category");
+        map1 = new UnicodeMap();
+        map2 = new TreeMap();
+        for (int cp = 0; cp <= SET_LIMIT; ++cp) {
+              int enumValue = UCharacter.getIntPropertyValue(cp, propEnum);
+              //if (enumValue <= 0) continue; // for smaller set
+              String value = UCharacter.getPropertyValueName(propEnum,enumValue, UProperty.NameChoice.LONG);
+              map1.put(cp, value);
+              map2.put(new Integer(cp), value);
+        }       
+        checkNext(Integer.MAX_VALUE);
+
+
+        logln("Comparing General Category");
+        check(-1);
+        logln("Comparing Values");
+        Set values1 = (Set) map1.getAvailableValues(new TreeSet());
+        Set values2 = new TreeSet(map2.values());
+        Set temp;
+        if (!TestBoilerplate.verifySetsIdentical(this, values1, values2)) {
+            throw new IllegalArgumentException("Halting");
+        }
+        logln("Comparing Sets");
+        for (Iterator it = values1.iterator(); it.hasNext();) {
+            Object value = it.next();
+            logln(value == null ? "null" : value.toString());
+            UnicodeSet set1 = map1.getSet(value);
+            UnicodeSet set2 = TestBoilerplate.getSet(map2, value);
+            if (!TestBoilerplate.verifySetsIdentical(this, set1, set2)) {
+                throw new IllegalArgumentException("Halting");
+            }
+        } 
+        
+        logln("Getting Scripts");
+        UnicodeMap scripts = ICUPropertyFactory.make().getProperty("script").getUnicodeMap_internal();
+        UnicodeMap.Composer composer = new UnicodeMap.Composer() {
+			public Object compose(int codePoint, Object a, Object b) {
+				return a.toString() + "_" + b.toString();
+			}       	
+        };
+        
+        logln("Trying Compose");
+        UnicodeMap composed = ((UnicodeMap)scripts.clone()).composeWith(map1, composer);
+        Object last = "";
+        for (int i = 0; i < 0x10FFFF; ++i) {
+        	Object comp = composed.getValue(i);
+        	Object gc = map1.getValue(i);
+        	Object sc = scripts.getValue(i);
+        	if (!comp.equals(composer.compose(i, gc, sc))) {
+        		errln("Failed compose at: " + i);
+        	}
+        	if (!last.equals(comp)) {
+        		logln(Utility.hex(i) + "\t" + comp);
+        		last = comp;
+        	}
+        }
+
+        // check boilerplate
+        List argList = new ArrayList();
+        argList.add("TestMain");
+        if (params.nothrow) argList.add("-nothrow");
+        if (params.verbose) argList.add("-verbose");
+        String[] args = new String[argList.size()];
+        argList.toArray(args);
+        new UnicodeMapBoilerplate().run(args);
+         // TODO: the following is not being reached
+        new UnicodeSetBoilerplate().run(args);       
+    }
+
+    private void checkNext(int limit) {
+        logln("Comparing nextRange");
+        UnicodeMap.MapIterator mi = new UnicodeMap.MapIterator(map1);
+        Map map3 = new TreeMap();
+        while (mi.nextRange()) {
+            logln(Utility.hex(mi.codepoint) + ".." + Utility.hex(mi.codepointEnd) + " => " + mi.value);
+            for (int i = mi.codepoint; i <= mi.codepointEnd; ++i) {
+                if (i >= limit) continue;
+                map3.put(new Integer(i), mi.value);
+            }
+        }
+        checkMap(map2, map3);
+        
+        logln("Comparing next");
+        mi.reset();
+        map3 = new TreeMap();
+        Object lastValue = new Object();
+        while (mi.next()) {
+            if (!UnicodeMap.areEqual(lastValue, mi.value)) {
+                // System.out.println("Change: " + Utility.hex(mi.codepoint) + " => " + mi.value);
+                lastValue = mi.value;
+            }
+            if (mi.codepoint >= limit) continue;
+            map3.put(new Integer(mi.codepoint), mi.value);
+        }
+        checkMap(map2, map3);
+    }
+    
+    public void check(int counter) {
+        for (int i = 0; i < LIMIT; ++i) {
+            Object value1 = map1.getValue(i);
+            Object value2 = map2.get(new Integer(i));
+            if (!UnicodeMap.areEqual(value1, value2)) {
+                errln(counter + " Difference at " + Utility.hex(i)
+                     + "\t UnicodeMap: " + value1
+                     + "\t HashMap: " + value2);
+                errln("UnicodeMap: " + map1);
+                errln("Log: " + TestBoilerplate.show(log));
+                errln("HashMap: " + TestBoilerplate.show(map2));
+            }
+        }
+    }
+    
+    void checkMap(Map m1, Map m2) {
+        if (m1.equals(m2)) return;
+        StringBuffer buffer = new StringBuffer();
+        Set m1entries = m1.entrySet();
+        Set m2entries = m2.entrySet();
+        getEntries("\r\nIn First, and not Second", m1entries, m2entries, buffer, 20);
+        getEntries("\r\nIn Second, and not First", m2entries, m1entries, buffer, 20);
+        errln(buffer.toString());
+    }
+    
+    static Comparator ENTRY_COMPARATOR = new Comparator() {
+        public int compare(Object o1, Object o2) {
+            if (o1 == o2) return 0;
+            if (o1 == null) return -1;
+            if (o2 == null) return 1;
+            Map.Entry a = (Map.Entry) o1;
+            Map.Entry b = (Map.Entry) o2;
+            int result = compare2(a.getKey(), b.getKey());
+            if (result != 0) return result;
+            return compare2(a.getValue(), b.getValue());
+        }
+        private int compare2(Object o1, Object o2) {
+            if (o1 == o2) return 0;
+            if (o1 == null) return -1;
+            if (o2 == null) return 1;
+            return ((Comparable)o1).compareTo(o2);
+        }
+    };
+
+    private void getEntries(String title, Set m1entries, Set m2entries, StringBuffer buffer, int limit) {
+        Set m1_m2 = new TreeSet(ENTRY_COMPARATOR);
+        m1_m2.addAll(m1entries);
+        m1_m2.removeAll(m2entries);
+        buffer.append(title + ": " + m1_m2.size() + "\r\n");
+        for (Iterator it = m1_m2.iterator(); it.hasNext();) {
+            if (limit-- < 0) return;
+            Map.Entry entry = (Map.Entry) it.next();
+            buffer.append(entry.getKey()).append(" => ")
+             .append(entry.getValue()).append("\r\n");
+        }
+    }
+    
+    static final int SET_LIMIT = 0x10FFFF;
+    static final int CHECK_LIMIT = 0xFFFF;
+    static final NumberFormat pf = NumberFormat.getPercentInstance();
+    static final NumberFormat nf = NumberFormat.getInstance();
+    
+    public void TestTime() {
+        double hashTime, umTime, icuTime, treeTime;
+        umTime = checkSetTime(20, 0);
+        hashTime = checkSetTime(20, 1);
+        logln("Percentage: " + pf.format(hashTime/umTime));
+        treeTime = checkSetTime(20, 3);
+        logln("Percentage: " + pf.format(treeTime/umTime));
+        //logln(map1.toString());
+        
+        umTime = checkGetTime(1000, 0);
+        hashTime = checkGetTime(1000, 1);
+        logln("Percentage: " + pf.format(hashTime/umTime));
+        icuTime = checkGetTime(1000, 2);
+        logln("Percentage: " + pf.format(icuTime/umTime));
+        treeTime = checkGetTime(1000, 3);
+        logln("Percentage: " + pf.format(treeTime/umTime));
+    }
+    
+    int propEnum = UProperty.GENERAL_CATEGORY;
+    
+    double checkSetTime(int iterations, int type) {
+        _checkSetTime(1,type);
+        double result = _checkSetTime(iterations, type);
+        logln((type == 0 ? "UnicodeMap" : type == 1 ? "HashMap" : type == 2 ? "ICU" : "TreeMap") + "\t" + nf.format(result));
+        return result;
+    }
+    double _checkSetTime(int iterations, int type) {
+        map1 = new UnicodeMap();
+        map2 = new HashMap();
+        System.gc();
+        double start = System.currentTimeMillis();
+        for (int j = 0; j < iterations; ++j)
+          for (int cp = 0; cp <= SET_LIMIT; ++cp) {
+            int enumValue = UCharacter.getIntPropertyValue(cp, propEnum);
+            if (enumValue <= 0) continue; // for smaller set
+            String value = UCharacter.getPropertyValueName(propEnum,enumValue, UProperty.NameChoice.LONG);
+            switch(type) {
+            case 0: map1.put(cp, value); break;
+            case 1: map2.put(new Integer(cp), value); break;
+            case 3: map3.put(new Integer(cp), value); break;
+            }
+        }
+        double end = System.currentTimeMillis();
+        return (end-start)/1000/iterations;
+    }
+    
+    double checkGetTime(int iterations, int type) {
+        _checkGetTime(1,type);
+        double result = _checkGetTime(iterations, type);
+        logln((type == 0 ? "UnicodeMap" : type == 1 ? "HashMap" : type == 2 ? "ICU" : "TreeMap") + "\t" + nf.format(result));
+        return result;
+    }
+    double _checkGetTime(int iterations, int type) {
+        System.gc();
+        double start = System.currentTimeMillis();
+        for (int j = 0; j < iterations; ++j)
+          for (int cp = 0; cp < CHECK_LIMIT; ++cp) {
+            switch (type) {
+            case 0: map1.getValue(cp); break;
+            case 1: map2.get(new Integer(cp)); break;
+            case 2:
+                int enumValue = UCharacter.getIntPropertyValue(cp, propEnum);
+                //if (enumValue <= 0) continue;
+                String value = UCharacter.getPropertyValueName(propEnum,enumValue, UProperty.NameChoice.LONG);
+                break;                
+            case 3: map3.get(new Integer(cp)); break;
+            }
+        }
+        double end = System.currentTimeMillis();
+        return (end-start)/1000/iterations;
+    }
+    
+    static class UnicodeMapBoilerplate extends TestBoilerplate {
+
+        /* 
+         * @see com.ibm.icu.dev.test.TestBoilerplate#_hasSameBehavior(java.lang.Object, java.lang.Object)
+         */
+        protected boolean _hasSameBehavior(Object a, Object b) {
+            // we are pretty confident in the equals method, so won't bother with this right now.
+            return true;
+        }
+
+        /*
+         * @see com.ibm.icu.dev.test.TestBoilerplate#_createTestObject()
+         */
+        protected boolean _addTestObject(List list) {
+            if (list.size() > 30) return false;
+            UnicodeMap result = new UnicodeMap();
+            for (int i = 0; i < 50; ++i) {
+                int start = random.nextInt(25);
+                String value = TEST_VALUES[random.nextInt(TEST_VALUES.length)];
+                result.put(start, value);
+            }
+            list.add(result);
+            return true;
+        }
+    }
+    
+    static class StringBoilerplate extends TestBoilerplate {
+
+        /* 
+         * @see com.ibm.icu.dev.test.TestBoilerplate#_hasSameBehavior(java.lang.Object, java.lang.Object)
+         */
+        protected boolean _hasSameBehavior(Object a, Object b) {
+            // we are pretty confident in the equals method, so won't bother with this right now.
+            return true;
+        }
+
+        /*
+         * @see com.ibm.icu.dev.test.TestBoilerplate#_createTestObject()
+         */
+        protected boolean _addTestObject(List list) {
+            if (list.size() > 31) return false;
+            StringBuffer result = new StringBuffer();
+            for (int i = 0; i < 10; ++i) {
+                result.append((char)random.nextInt(0xFF));
+            }
+            list.add(result.toString());
+            return true;
+        }
+    }
+    
+    static class UnicodeSetBoilerplate extends TestBoilerplate {
+
+        /* 
+         * @see com.ibm.icu.dev.test.TestBoilerplate#_hasSameBehavior(java.lang.Object, java.lang.Object)
+         */
+        protected boolean _hasSameBehavior(Object a, Object b) {
+            // we are pretty confident in the equals method, so won't bother with this right now.
+            return true;
+        }
+
+        /*
+         * @see com.ibm.icu.dev.test.TestBoilerplate#_createTestObject()
+         */
+        protected boolean _addTestObject(List list) {
+            if (list.size() > 32) return false;
+            UnicodeSet result = new UnicodeSet();
+            for (int i = 0; i < 50; ++i) {
+                result.add(random.nextInt(100));
+            }
+            list.add(result.toString());
+            return true;
+        }
+    }
+
+}
\ No newline at end of file
diff --git a/src/com/ibm/icu/dev/test/util/Tokenizer.java b/src/com/ibm/icu/dev/test/util/Tokenizer.java
new file mode 100644
index 0000000..0721568
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/util/Tokenizer.java
@@ -0,0 +1,318 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2002-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.test.util;
+
+import java.text.ParsePosition;
+
+import com.ibm.icu.text.*;
+import com.ibm.icu.lang.*;
+
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Set;
+import java.util.Map;
+
+public class Tokenizer {
+    protected String source;
+    
+    protected StringBuffer buffer = new StringBuffer();
+    protected long number;
+    protected UnicodeSet unicodeSet = null;
+    protected int index;
+    boolean backedup = false;
+    protected int lastIndex = -1;
+    protected int nextIndex;
+    int lastValue = BACKEDUP_TOO_FAR;
+    TokenSymbolTable symbolTable = new TokenSymbolTable();
+
+    private static final char
+        QUOTE = '\'',
+        BSLASH = '\\';
+    private static final UnicodeSet QUOTERS = new UnicodeSet().add(QUOTE).add(BSLASH);
+    private static final UnicodeSet WHITESPACE = new UnicodeSet("[" +
+        "\\u0009-\\u000D\\u0020\\u0085\\u200E\\u200F\\u2028\\u2029" +
+        "]");
+    private static final UnicodeSet SYNTAX = new UnicodeSet("[" +
+        "\\u0021-\\u002F\\u003A-\\u0040\\u005B-\\u0060\\u007B-\\u007E" +
+        "\\u00A1-\\u00A7\\u00A9\\u00AB-\\u00AC\\u00AE" +
+        "\\u00B0-\\u00B1\\u00B6\\u00B7\\u00BB\\u00BF\\u00D7\\u00F7" +
+        "\\u2010-\\u2027\\u2030-\\u205E\\u2190-\\u2BFF" +
+        "\\u3001\\u3003\\u3008-\\u3020\\u3030" +
+        "\\uFD3E\\uFD3F\\uFE45\\uFE46" +
+        "]").removeAll(QUOTERS).remove('$');
+    private static final UnicodeSet NEWLINE = new UnicodeSet("[\\u000A\\u000D\\u0085\\u2028\\u2029]");
+    private static final UnicodeSet DECIMAL = new UnicodeSet("[:Nd:]");
+    private static final UnicodeSet NON_STRING = new UnicodeSet()
+        .addAll(WHITESPACE)
+        .addAll(SYNTAX);
+           
+    protected UnicodeSet whiteSpace = WHITESPACE;
+    protected UnicodeSet syntax = SYNTAX;
+    private UnicodeSet non_string = NON_STRING;
+
+    private void fixSets() {
+        if (syntax.containsSome(QUOTERS) || syntax.containsSome(whiteSpace)) {
+            syntax = ((UnicodeSet)syntax.clone()).removeAll(QUOTERS).removeAll(whiteSpace);
+        }
+        if (whiteSpace.containsSome(QUOTERS)) {
+            whiteSpace = ((UnicodeSet)whiteSpace.clone()).removeAll(QUOTERS);
+        }
+        non_string = new UnicodeSet(syntax)
+            .addAll(whiteSpace);
+    }
+    
+    public Tokenizer setSource(String source) {
+        this.source = source;
+        this.index = 0;
+        return this; // for chaining
+    }
+    
+    public Tokenizer setIndex(int index) {
+        this.index = index;
+        return this; // for chaining
+    }
+    
+    public static final int 
+        DONE = -1, 
+        NUMBER = -2, 
+        STRING = -3, 
+        UNICODESET = -4, 
+        UNTERMINATED_QUOTE = -5,
+        BACKEDUP_TOO_FAR = -6;
+        
+    private static final int
+        FIRST = 0,
+        IN_NUMBER = 1,
+        IN_SPACE = 2,
+        AFTER_QUOTE = 3,    // warning: order is important for switch statement
+        IN_STRING = 4, 
+        AFTER_BSLASH = 5, 
+        IN_QUOTE = 6;
+   
+    public String toString(int type, boolean backedupBefore) {
+        String s = backedup ? "@" : "*";
+        switch(type) {
+            case DONE: 
+                return s+"Done"+s;
+            case BACKEDUP_TOO_FAR:
+                return s+"Illegal Backup"+s;
+            case UNTERMINATED_QUOTE: 
+                return s+"Unterminated Quote=" + getString() + s;
+            case STRING:
+                return s+"s=" + getString() + s;
+            case NUMBER:
+                return s+"n=" + getNumber() + s;
+            case UNICODESET:
+                return s+"n=" + getUnicodeSet() + s;           
+            default:
+                return s+"c=" + usf.getName(type,true) + s;
+        }
+    }
+    
+    private static final BagFormatter usf = new BagFormatter();
+    
+    public void backup() {
+        if (backedup) throw new IllegalArgumentException("backup too far");
+        backedup = true;
+        nextIndex = index;
+        index = lastIndex;
+    }
+    
+    /*
+    public int next2() {
+        boolean backedupBefore = backedup;
+        int result = next();
+        System.out.println(toString(result, backedupBefore));
+        return result;
+    }    
+    */
+    
+    public int next() {
+        if (backedup) {
+            backedup = false;
+            index = nextIndex;
+            return lastValue;
+        }
+        int cp = 0;
+        boolean inComment = false;
+        // clean off any leading whitespace or comments
+        while (true) {
+            if (index >= source.length()) return lastValue = DONE;
+            cp = nextChar();
+            if (inComment) {
+                if (NEWLINE.contains(cp)) inComment = false;
+            } else {
+                if (cp == '#') inComment = true;
+                else if (!whiteSpace.contains(cp)) break;
+            }
+        }
+        // record the last index in case we have to backup
+        lastIndex = index;
+        
+        if (cp == '[') {
+            ParsePosition pos = new ParsePosition(index-1);
+            unicodeSet = new UnicodeSet(source,pos,symbolTable);
+            index = pos.getIndex();
+            return lastValue = UNICODESET;
+        }
+        // get syntax character
+        if (syntax.contains(cp)) return lastValue = cp;
+        
+        // get number, if there is one
+        if (UCharacter.getType(cp) == Character.DECIMAL_DIGIT_NUMBER) {
+            number = UCharacter.getNumericValue(cp);
+            while (index < source.length()) {
+                cp = nextChar();
+                if (UCharacter.getType(cp) != Character.DECIMAL_DIGIT_NUMBER) {
+                    index -= UTF16.getCharCount(cp); // BACKUP!
+                    break;
+                }
+                number *= 10;
+                number += UCharacter.getNumericValue(cp);
+            }
+            return lastValue =  NUMBER;
+        }
+        buffer.setLength(0);
+        int status = IN_STRING;
+        main:
+        while (true) {
+            switch (status) {
+                case AFTER_QUOTE: // check for double ''?
+                    if (cp == QUOTE) {
+                        UTF16.append(buffer, QUOTE);
+                        status = IN_QUOTE;
+                        break;
+                    }
+                    // OTHERWISE FALL THROUGH!!!
+                case IN_STRING: 
+                    if (cp == QUOTE) status = IN_QUOTE;
+                    else if (cp == BSLASH) status = AFTER_BSLASH;
+                    else if (non_string.contains(cp)) {
+                        index -= UTF16.getCharCount(cp); // BACKUP!
+                        break main;
+                    } else UTF16.append(buffer,cp);
+                    break;
+                case IN_QUOTE:
+                    if (cp == QUOTE) status = AFTER_QUOTE;
+                    else UTF16.append(buffer,cp);
+                    break;
+                case AFTER_BSLASH:
+                    switch(cp) {
+                        case 'n': cp = '\n'; break;
+                        case 'r': cp = '\r'; break;
+                        case 't': cp = '\t'; break;
+                    }
+                    UTF16.append(buffer,cp);
+                    status = IN_STRING;
+                    break;
+                default: throw new IllegalArgumentException("Internal Error");
+            }
+            if (index >= source.length()) break;
+            cp = nextChar();
+        }
+        if (status > IN_STRING) return lastValue = UNTERMINATED_QUOTE;
+        return lastValue =  STRING;
+    }
+    
+    public String getString() {
+        return buffer.toString();
+    }
+    
+    public String toString() {
+        return source.substring(0,index) + "$$$" + source.substring(index);
+    }
+    
+    public long getNumber() {
+        return number;
+    }
+    
+    public UnicodeSet getUnicodeSet() {
+        return unicodeSet;
+    }
+    
+    private int nextChar() {
+        int cp = UTF16.charAt(source,index);
+        index += UTF16.getCharCount(cp);
+        return cp;
+    }
+    public int getIndex() {
+        return index;
+    }
+    public String getSource() {
+        return source;
+    }
+    public UnicodeSet getSyntax() {
+        return syntax;
+    }
+    public UnicodeSet getWhiteSpace() {
+        return whiteSpace;
+    }
+    public void setSyntax(UnicodeSet set) {
+        syntax = set;
+        fixSets();
+    }
+    public void setWhiteSpace(UnicodeSet set) {
+        whiteSpace = set;
+        fixSets();
+    }
+    
+    public Set getLookedUpItems() {
+        return symbolTable.itemsLookedUp;
+    }
+    
+    public void addSymbol(String var, String value, int start, int limit) {
+        // the limit is after the ';', so remove it
+        --limit;
+        char[] body = new char[limit - start];
+        value.getChars(start, limit, body, 0);
+        symbolTable.add(var, body);
+    }
+    
+    public class TokenSymbolTable implements SymbolTable {
+        Map contents = new HashMap();
+        Set itemsLookedUp = new HashSet();
+            
+        public void add(String var, char[] body) {
+            // start from 1 to avoid the $
+            contents.put(var.substring(1), body);
+        }
+            
+        /* (non-Javadoc)
+         * @see com.ibm.icu.text.SymbolTable#lookup(java.lang.String)
+         */
+        public char[] lookup(String s) {
+            itemsLookedUp.add('$' + s);
+            return (char[])contents.get(s);
+        }
+    
+        /* (non-Javadoc)
+         * @see com.ibm.icu.text.SymbolTable#lookupMatcher(int)
+         */
+        public UnicodeMatcher lookupMatcher(int ch) {
+            // TODO Auto-generated method stub
+            return null;
+        }
+    
+        /* (non-Javadoc)
+         * @see com.ibm.icu.text.SymbolTable#parseReference(java.lang.String, java.text.ParsePosition, int)
+         */
+        public String parseReference(String text, ParsePosition pos, int limit) {
+            int cp;
+            int start = pos.getIndex();
+            int i;
+            for (i = start; i < limit; i += UTF16.getCharCount(cp)) {
+                cp = UTF16.charAt(text, i);
+                if (!com.ibm.icu.lang.UCharacter.isUnicodeIdentifierPart(cp)) {
+                    break;
+                }
+            }
+            pos.setIndex(i);
+            return text.substring(start,i);
+        }
+        
+    }
+}
\ No newline at end of file
diff --git a/src/com/ibm/icu/dev/test/util/TransliteratorUtilities.java b/src/com/ibm/icu/dev/test/util/TransliteratorUtilities.java
new file mode 100644
index 0000000..38e5f83
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/util/TransliteratorUtilities.java
@@ -0,0 +1,64 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2002-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.test.util;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+
+import com.ibm.icu.text.Transliterator;
+
+public class TransliteratorUtilities {
+	public static boolean DEBUG = false;
+	
+	public static void registerTransliteratorFromFile(String dir, String id) {
+		try {
+			String filename = id.replace('-', '_') +  ".txt";
+			String rules = getFileContents(dir, filename);
+			Transliterator t;
+			int pos = id.indexOf('-');
+			String rid;
+			if (pos < 0) {
+				rid = id + "-Any";
+				id = "Any-" + id;
+			} else {
+				rid = id.substring(pos+1) + "-" + id.substring(0, pos);
+			}
+			t = Transliterator.createFromRules(id, rules, Transliterator.FORWARD);
+			Transliterator.unregister(id);
+			Transliterator.registerInstance(t);
+
+			/*String test = "\u049A\u0430\u0437\u0430\u049B";
+			System.out.println(t.transliterate(test));
+			t = Transliterator.getInstance(id);
+			System.out.println(t.transliterate(test));
+			*/
+
+			t = Transliterator.createFromRules(rid, rules, Transliterator.REVERSE);
+			Transliterator.unregister(rid);
+			Transliterator.registerInstance(t);
+			if (DEBUG) System.out.println("Registered new Transliterator: " + id + ", " + rid);
+		} catch (IOException e) {
+			throw (IllegalArgumentException) new IllegalArgumentException("Can't open " + dir + ", " + id).initCause(e);
+		}
+	}
+
+	/**
+	 * 
+	 */
+	public static String getFileContents(String dir, String filename) throws IOException {
+		BufferedReader br = BagFormatter.openUTF8Reader(dir, filename);
+		StringBuffer buffer = new StringBuffer();
+		while (true) {
+			String line = br.readLine();
+			if (line == null) break;
+			if (line.length() > 0 && line.charAt(0) == '\uFEFF') line = line.substring(1);
+			buffer.append(line).append("\r\n");
+		}
+		br.close();
+		return buffer.toString();
+	}
+}
\ No newline at end of file
diff --git a/src/com/ibm/icu/dev/test/util/TrieTest.java b/src/com/ibm/icu/dev/test/util/TrieTest.java
new file mode 100755
index 0000000..554dce3
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/util/TrieTest.java
@@ -0,0 +1,573 @@
+/**
+*******************************************************************************
+* Copyright (C) 1996-2005, International Business Machines Corporation and    *
+* others. All Rights Reserved.                                                *
+*******************************************************************************
+*/
+
+package com.ibm.icu.dev.test.util;
+
+import com.ibm.icu.dev.test.TestFmwk;
+import com.ibm.icu.impl.Trie;
+import com.ibm.icu.impl.IntTrie;
+import com.ibm.icu.impl.CharTrie;
+import com.ibm.icu.impl.TrieBuilder;
+import com.ibm.icu.impl.IntTrieBuilder;
+import com.ibm.icu.impl.TrieIterator;
+import com.ibm.icu.impl.UCharacterProperty;
+import com.ibm.icu.text.UTF16;
+import com.ibm.icu.util.RangeValueIterator;
+
+/**
+* Testing class for Trie. Tests here will be simple, since both CharTrie and 
+* IntTrie are very similar and are heavily used in other parts of ICU4J.
+* Codes using Tries are expected to have detailed tests.
+* @author Syn Wee Quek
+* @since release 2.1 Jan 01 2002
+*/
+public final class TrieTest extends TestFmwk 
+{ 
+    // constructor ---------------------------------------------------
+  
+    /**
+    * Constructor
+    */
+    public TrieTest()
+    {
+    }
+      
+    // public methods -----------------------------------------------
+    
+    public static void main(String arg[]) 
+    {
+        TrieTest test = new TrieTest();
+        try {
+            test.run(arg);
+        } catch (Exception e) {
+            test.errln("Error testing trietest");
+        }
+    }
+    
+    /** 
+     * Values for setting possibly overlapping, out-of-order ranges of values
+     */
+    private static final class SetRange 
+    {
+        SetRange(int start, int limit, int value, boolean overwrite)
+        {
+            this.start = start;
+            this.limit = limit;
+            this.value = value;
+            this.overwrite = overwrite;
+        }
+        
+        int start, limit;
+        int value;
+        boolean overwrite;
+    };
+    
+    /**
+     * Values for testing:
+     * value is set from the previous boundary's limit to before
+     * this boundary's limit
+     */
+    private static final class CheckRange 
+    {
+        CheckRange(int limit, int value)
+        {
+            this.limit = limit;
+            this.value = value;
+        }
+        
+        int limit;
+        int value;
+    };
+    
+    private static final class storageHolder
+    {
+        double bogus; // needed for aligining the storage
+        byte storage[] = new byte[10000000];
+    };
+    
+    
+    private static final class _testFoldedValue 
+                                        implements TrieBuilder.DataManipulate  
+    {
+        public _testFoldedValue(IntTrieBuilder builder)
+        {
+            m_builder_ = builder;
+        }
+        
+        public int getFoldedValue(int start, int offset)
+        {
+            int foldedValue = 0;
+            int limit = start + 0x400;
+            while (start < limit) {
+                int value = m_builder_.getValue(start);
+                if (m_builder_.isInZeroBlock(start)) {
+                    start += TrieBuilder.DATA_BLOCK_LENGTH;
+                } 
+                else {
+                    foldedValue |= value;
+                    ++ start;
+                }
+            }
+        
+            if (foldedValue != 0) {
+                return (offset << 16) | foldedValue;
+            } 
+            return 0;
+        }
+        
+        private IntTrieBuilder m_builder_;
+    }
+    
+    private static final class _testFoldingOffset 
+                                                implements Trie.DataManipulate 
+    {
+        public int getFoldingOffset(int value)
+        {
+            return value >>> 16;
+        }
+    }
+    
+    private static final class _testEnumValue extends TrieIterator
+    {
+        public _testEnumValue(Trie data)
+        {
+            super(data);
+        }
+        
+        protected int extract(int value)
+        {
+            return value ^ 0x5555;
+        }
+    }
+    
+    private void _testTrieIteration(IntTrie trie, CheckRange checkRanges[],
+                                    int countCheckRanges) 
+    {
+        // write a string
+        int countValues = 0;
+        StringBuffer s = new StringBuffer();
+        int values[] = new int[30];
+        for (int i = 0; i < countCheckRanges; ++ i) {
+            int c = checkRanges[i].limit;
+            if (c != 0) {
+                -- c;
+                UTF16.append(s, c);
+                values[countValues ++] = checkRanges[i].value;
+            }
+        }
+        int limit = s.length();
+        // try forward
+        int p = 0;
+        int i = 0;
+        while(p < limit) {
+            int c = UTF16.charAt(s, p);
+            p += UTF16.getCharCount(c);
+            int value = trie.getCodePointValue(c);
+            if (value != values[i]) {
+                errln("wrong value from UTRIE_NEXT(U+" 
+                      + Integer.toHexString(c) + "): 0x" 
+                      + Integer.toHexString(value) + " instead of 0x"
+                      + Integer.toHexString(values[i]));
+            }
+            // unlike the c version lead is 0 if c is non-supplementary
+            char lead = UTF16.getLeadSurrogate(c);
+            char trail = UTF16.getTrailSurrogate(c); 
+            if (lead == 0 
+                ? trail != s.charAt(p - 1) 
+                : !UTF16.isLeadSurrogate(lead) 
+                  || !UTF16.isTrailSurrogate(trail) || lead != s.charAt(p - 2) 
+                  || trail != s.charAt(p - 1)) {
+                errln("wrong (lead, trail) from UTRIE_NEXT(U+" 
+                      + Integer.toHexString(c));
+                continue;
+            }
+            if (lead != 0) {
+                value = trie.getLeadValue(lead);
+                value = trie.getTrailValue(value, trail);
+                if (value != trie.getSurrogateValue(lead, trail)
+                    && value != values[i]) {
+                    errln("wrong value from getting supplementary " 
+                          + "values (U+" 
+                          + Integer.toHexString(c) + "): 0x"
+                          + Integer.toHexString(value) + " instead of 0x"
+                          + Integer.toHexString(values[i]));
+                }
+            }
+            ++ i;
+        }
+    }
+    
+    private void _testTrieRanges(SetRange setRanges[], int countSetRanges, 
+                                 CheckRange checkRanges[], int countCheckRanges,
+                                 boolean latin1Linear) 
+    {
+        IntTrieBuilder newTrie = new IntTrieBuilder(null, 2000,
+                                                    checkRanges[0].value, 
+                                                    checkRanges[0].value,
+                                                    latin1Linear);
+    
+        // set values from setRanges[]
+        boolean ok = true;
+        for (int i = 0; i < countSetRanges; ++ i) {
+            int start = setRanges[i].start;
+            int limit = setRanges[i].limit;
+            int value = setRanges[i].value;
+            boolean overwrite = setRanges[i].overwrite;
+            if ((limit - start) == 1 && overwrite) {
+                ok &= newTrie.setValue(start, value);
+            } 
+            else {
+                ok &= newTrie.setRange(start, limit, value, overwrite);
+            }
+        }
+        if (!ok) {
+            errln("setting values into a trie failed");
+            return;
+        }
+    
+        // verify that all these values are in the new Trie
+        int start = 0;
+        for (int i = 0; i < countCheckRanges; ++ i) {
+            int limit = checkRanges[i].limit;
+            int value = checkRanges[i].value;
+    
+            while (start < limit) {
+                if (value != newTrie.getValue(start)) {
+                    errln("newTrie [U+" 
+                          + Integer.toHexString(start) + "]==0x" 
+                          + Integer.toHexString(newTrie.getValue(start)) 
+                          + " instead of 0x" + Integer.toHexString(value));
+                }
+                ++ start;
+            }
+        }
+    
+        IntTrie trie = newTrie.serialize(new _testFoldedValue(newTrie), 
+                                         new _testFoldingOffset());
+    
+        // test linear Latin-1 range from utrie_getData()
+        if (latin1Linear) {
+            start = 0;
+            for (int i = 0; i < countCheckRanges && start <= 0xff; ++ i) {
+                int limit = checkRanges[i].limit;
+                int value = checkRanges[i].value;
+    
+                while (start < limit && start <= 0xff) {
+                    if (value != trie.getLatin1LinearValue((char)start)) {
+                        errln("IntTrie.getLatin1LinearValue[U+" 
+                              + Integer.toHexString(start) + "]==0x"
+                              + Integer.toHexString(
+                                        trie.getLatin1LinearValue((char) start)) 
+                              + " instead of 0x" + Integer.toHexString(value));
+                    }
+                    ++ start;
+                }
+            }
+        }
+    
+        if (latin1Linear != trie.isLatin1Linear()) {
+            errln("trie serialization did not preserve "
+                  + "Latin-1-linearity");
+        }
+    
+        // verify that all these values are in the serialized Trie
+        start = 0;
+        for (int i = 0; i < countCheckRanges; ++ i) {
+            int limit = checkRanges[i].limit;
+            int value = checkRanges[i].value;
+    
+            if (start == 0xd800) {
+                // skip surrogates
+                start = limit;
+                continue;
+            }
+    
+            while (start < limit) {
+                if (start <= 0xffff) {
+                    int value2 = trie.getBMPValue((char)start);
+                    if (value != value2) {
+                        errln("serialized trie.getBMPValue(U+"
+                              + Integer.toHexString(start) + " == 0x" 
+                              + Integer.toHexString(value2) + " instead of 0x"
+                              + Integer.toHexString(value));
+                    }
+                    if (!UTF16.isLeadSurrogate((char)start)) {
+                        value2 = trie.getLeadValue((char)start);
+                        if (value != value2) {
+                            errln("serialized trie.getLeadValue(U+"
+                              + Integer.toHexString(start) + " == 0x" 
+                              + Integer.toHexString(value2) + " instead of 0x"
+                              + Integer.toHexString(value));
+                        }
+                    }
+                }
+                int value2 = trie.getCodePointValue(start);
+                if (value != value2) {
+                    errln("serialized trie.getCodePointValue(U+"
+                          + Integer.toHexString(start) + ")==0x" 
+                          + Integer.toHexString(value2) + " instead of 0x" 
+                          + Integer.toHexString(value));
+                }
+                ++ start;
+            }
+        }
+    
+        // enumerate and verify all ranges
+        
+        int enumRanges = 1;
+        TrieIterator iter  = new _testEnumValue(trie);
+        RangeValueIterator.Element result = new RangeValueIterator.Element();
+        while (iter.next(result)) {
+            if (result.start != checkRanges[enumRanges -1].limit 
+                || result.limit != checkRanges[enumRanges].limit
+                || (result.value ^ 0x5555) != checkRanges[enumRanges].value) {
+                errln("utrie_enum() delivers wrong range [U+"
+                      + Integer.toHexString(result.start) + "..U+" 
+                      + Integer.toHexString(result.limit) + "].0x" 
+                      + Integer.toHexString(result.value ^ 0x5555) 
+                      + " instead of [U+"
+                      + Integer.toHexString(checkRanges[enumRanges -1].limit) 
+                      + "..U+" 
+                      + Integer.toHexString(checkRanges[enumRanges].limit) 
+                      + "].0x" 
+                      + Integer.toHexString(checkRanges[enumRanges].value));
+            }
+            enumRanges ++;
+        }
+    
+        // test linear Latin-1 range
+        if (trie.isLatin1Linear()) {
+            for (start = 0; start < 0x100; ++ start) {
+                if (trie.getLatin1LinearValue((char)start) 
+                    != trie.getLeadValue((char)start)) {
+                    errln("trie.getLatin1LinearValue[U+"
+                          + Integer.toHexString(start) + "]=0x"
+                          + Integer.toHexString(
+                                        trie.getLatin1LinearValue((char)start))
+                          + " instead of 0x" 
+                          + Integer.toHexString(
+                                        trie.getLeadValue((char)start)));
+                }
+            }
+        }
+    
+        _testTrieIteration(trie, checkRanges, countCheckRanges);
+    }
+    
+    private void _testTrieRanges2(SetRange setRanges[], 
+                                  int countSetRanges, 
+                                  CheckRange checkRanges[], 
+                                  int countCheckRanges) 
+    {
+        _testTrieRanges(setRanges, countSetRanges, checkRanges, countCheckRanges,
+                        false);
+        
+        _testTrieRanges(setRanges, countSetRanges, checkRanges, countCheckRanges,
+                        true);
+    }
+    
+    private void _testTrieRanges4(SetRange setRanges[], int countSetRanges,
+                                  CheckRange checkRanges[], 
+                                  int countCheckRanges) 
+    {
+        _testTrieRanges2(setRanges, countSetRanges, checkRanges, 
+                         countCheckRanges);
+    }
+    
+    // test data ------------------------------------------------------------
+    
+    /** 
+     * set consecutive ranges, even with value 0
+     */
+    private static SetRange setRanges1[]={
+        new SetRange(0,      0x20,       0,      false),
+        new SetRange(0x20,   0xa7,       0x1234, false),
+        new SetRange(0xa7,   0x3400,     0,      false),
+        new SetRange(0x3400, 0x9fa6,     0x6162, false),
+        new SetRange(0x9fa6, 0xda9e,     0x3132, false),
+        // try to disrupt _testFoldingOffset16()
+        new SetRange(0xdada, 0xeeee,     0x87ff, false), 
+        new SetRange(0xeeee, 0x11111,    1,      false),
+        new SetRange(0x11111, 0x44444,   0x6162, false),
+        new SetRange(0x44444, 0x60003,   0,      false),
+        new SetRange(0xf0003, 0xf0004,   0xf,    false),
+        new SetRange(0xf0004, 0xf0006,   0x10,   false),
+        new SetRange(0xf0006, 0xf0007,   0x11,   false),
+        new SetRange(0xf0007, 0xf0020,   0x12,   false),
+        new SetRange(0xf0020, 0x110000,  0,      false)
+    };
+    
+    private static CheckRange checkRanges1[]={
+        new CheckRange(0,      0), // dummy start range to make _testEnumRange() simpler
+        new CheckRange(0x20,   0),
+        new CheckRange(0xa7,   0x1234),
+        new CheckRange(0x3400, 0),
+        new CheckRange(0x9fa6, 0x6162),
+        new CheckRange(0xda9e, 0x3132),
+        new CheckRange(0xdada, 0),
+        new CheckRange(0xeeee, 0x87ff),
+        new CheckRange(0x11111,1),
+        new CheckRange(0x44444,0x6162),
+        new CheckRange(0xf0003,0),
+        new CheckRange(0xf0004,0xf),
+        new CheckRange(0xf0006,0x10),
+        new CheckRange(0xf0007,0x11),
+        new CheckRange(0xf0020,0x12),
+        new CheckRange(0x110000, 0)
+    };
+    
+    /** 
+     * set some interesting overlapping ranges
+     */
+    private static SetRange setRanges2[]={
+        new SetRange(0x21,   0x7f,       0x5555, true),
+        new SetRange(0x2f800,0x2fedc,    0x7a,   true),
+        new SetRange(0x72,   0xdd,       3,      true),
+        new SetRange(0xdd,   0xde,       4,      false),
+        new SetRange(0x2f987,0x2fa98,    5,      true),
+        new SetRange(0x2f777,0x2f833,    0,      true),
+        new SetRange(0x2f900,0x2ffee,    1,      false),
+        new SetRange(0x2ffee,0x2ffef,    2,      true)
+    };
+    
+    private static CheckRange checkRanges2[]={
+        // dummy start range to make _testEnumRange() simpler
+        new CheckRange(0,      0),       
+        new CheckRange(0x21,   0),
+        new CheckRange(0x72,   0x5555),
+        new CheckRange(0xdd,   3),
+        new CheckRange(0xde,   4),
+        new CheckRange(0x2f833,0),
+        new CheckRange(0x2f987,0x7a),
+        new CheckRange(0x2fa98,5),
+        new CheckRange(0x2fedc,0x7a),
+        new CheckRange(0x2ffee,1),
+        new CheckRange(0x2ffef,2),
+        new CheckRange(0x110000, 0)
+    };
+    
+    /** 
+     * use a non-zero initial value
+     */
+    private static SetRange setRanges3[]={
+        new SetRange(0x31,   0xa4,   1,  false),
+        new SetRange(0x3400, 0x6789, 2,  false),
+        new SetRange(0x30000,0x34567,9,  true),
+        new SetRange(0x45678,0x56789,3,  true)
+    };
+    
+    private static CheckRange checkRanges3[]={
+        // dummy start range, also carries the initial value
+        new CheckRange(0,      9),  
+        new CheckRange(0x31,   9),
+        new CheckRange(0xa4,   1),
+        new CheckRange(0x3400, 9),
+        new CheckRange(0x6789, 2),
+        new CheckRange(0x45678,9),
+        new CheckRange(0x56789,3),
+        new CheckRange(0x110000,9)
+    };
+    
+    public void TestIntTrie() 
+    {
+        _testTrieRanges4(setRanges1, setRanges1.length, checkRanges1, 
+                         checkRanges1.length);
+        _testTrieRanges4(setRanges2, setRanges2.length, checkRanges2, 
+                         checkRanges2.length); 
+        _testTrieRanges4(setRanges3, setRanges3.length, checkRanges3, 
+                         checkRanges3.length);
+    }
+    
+    public void TestCharValues()
+    {
+        CharTrie trie = null;
+        try {
+             trie = UCharacterProperty.getInstance().m_trie_;
+        } catch (Exception e) {
+            warnln("Error creating ucharacter trie");
+            return;
+        }
+        
+        for (int i = 0; i < 0xFFFF; i ++) {
+            if (i < 0xFF 
+                && trie.getBMPValue((char)i) 
+                    != trie.getLatin1LinearValue((char)i)) {
+                errln("For latin 1 codepoint, getBMPValue should be the same " +
+                       "as getLatin1LinearValue");
+            }
+            if (trie.getBMPValue((char)i) != trie.getCodePointValue(i)) {
+                errln("For BMP codepoint, getBMPValue should be the same " +
+                       "as getCodepointValue");
+            }
+        }
+        for (int i = 0x10000; i < 0x10ffff; i ++) {
+            char lead = UTF16.getLeadSurrogate(i);
+            char trail = UTF16.getTrailSurrogate(i);
+            char value = trie.getCodePointValue(i);
+            if (value != trie.getSurrogateValue(lead, trail) ||
+                value != trie.getTrailValue(trie.getLeadValue(lead), 
+                                            trail)) {
+                errln("For Non-BMP codepoints, getSurrogateValue should be "
+                      + "the same s getCodepointValue and getTrailValue");
+            }        
+        }
+    }
+
+    private static class DummyGetFoldingOffset implements Trie.DataManipulate {
+        public int getFoldingOffset(int value) {
+            return -1; /* never get non-initialValue data for supplementary code points */
+        }
+    }
+
+    public void TestDummyCharTrie() {
+        CharTrie trie;
+        final int initialValue=0x313, leadUnitValue=0xaffe; 
+        int value;
+        int c;
+        trie=new CharTrie(initialValue, leadUnitValue, new DummyGetFoldingOffset());
+
+        /* test that all code points have initialValue */
+        for(c=0; c<=0x10ffff; ++c) {
+            value=trie.getCodePointValue(c);
+            if(value!=initialValue) {
+                errln("CharTrie/dummy.getCodePointValue(c)(U+"+hex(c)+")=0x"+hex(value)+" instead of 0x"+hex(initialValue));
+            }
+        }
+
+        /* test that the lead surrogate code units have leadUnitValue */
+        for(c=0xd800; c<=0xdbff; ++c) {
+            value=trie.getLeadValue((char)c);
+            if(value!=leadUnitValue) {
+                errln("CharTrie/dummy.getLeadValue(c)(U+"+hex(c)+")=0x"+hex(value)+" instead of 0x"+hex(leadUnitValue));
+            }
+        }
+    }
+
+    public void TestDummyIntTrie() {
+        IntTrie trie;
+        final int initialValue=0x01234567, leadUnitValue=0x89abcdef; 
+        int value;
+        int c;
+        trie=new IntTrie(initialValue, leadUnitValue, new DummyGetFoldingOffset());
+
+        /* test that all code points have initialValue */
+        for(c=0; c<=0x10ffff; ++c) {
+            value=trie.getCodePointValue(c);
+            if(value!=initialValue) {
+                errln("IntTrie/dummy.getCodePointValue(c)(U+"+hex(c)+")=0x"+hex(value)+" instead of 0x"+hex(initialValue));
+            }
+        }
+
+        /* test that the lead surrogate code units have leadUnitValue */
+        for(c=0xd800; c<=0xdbff; ++c) {
+            value=trie.getLeadValue((char)c);
+            if(value!=leadUnitValue) {
+                errln("IntTrie/dummy.getLeadValue(c)(U+"+hex(c)+")=0x"+hex(value)+" instead of 0x"+hex(leadUnitValue));
+            }
+        }
+    }
+}
diff --git a/src/com/ibm/icu/dev/test/util/ULocaleTest.java b/src/com/ibm/icu/dev/test/util/ULocaleTest.java
new file mode 100644
index 0000000..c9c2bc1
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/util/ULocaleTest.java
@@ -0,0 +1,1298 @@
+/*
+**********************************************************************
+* Copyright (c) 2004-2005, International Business Machines
+* Corporation and others.  All Rights Reserved.
+**********************************************************************
+* Author: Alan Liu
+* Created: January 14 2004
+* Since: ICU 2.8
+**********************************************************************
+*/
+package com.ibm.icu.dev.test.util;
+
+import com.ibm.icu.dev.test.TestFmwk;
+import com.ibm.icu.text.BreakIterator;
+import com.ibm.icu.text.Collator;
+import com.ibm.icu.text.DateFormat;
+import com.ibm.icu.text.DecimalFormat;
+import com.ibm.icu.text.NumberFormat;
+import com.ibm.icu.text.NumberFormat.*;
+import com.ibm.icu.text.SimpleDateFormat;
+import com.ibm.icu.util.Calendar;
+import com.ibm.icu.util.ULocale;
+import java.lang.reflect.*;
+import java.util.Locale;
+import java.util.Iterator;
+import java.util.Hashtable;
+import java.util.TreeMap;
+
+public class ULocaleTest extends TestFmwk {
+
+    public static void main(String[] args) throws Exception {
+        new ULocaleTest().run(args);
+    }
+
+    public void TestCalendar() {
+        // TODO The CalendarFactory mechanism is not public,
+        // so we can't test it yet.  If it becomes public,
+        // enable this code.
+
+        // class CFactory implements CalendarFactory {
+        //     Locale loc;
+        //     Calendar proto;
+        //     public CFactory(Locale locale, Calendar prototype) {
+        //         loc = locale;
+        //         proto = prototype;
+        //     }
+        //     public Calendar create(TimeZone tz, Locale locale) {
+        //         // ignore tz -- not relevant to this test
+        //         return locale.equals(loc) ?
+        //             (Calendar) proto.clone() : null;
+        //     }
+        //     public String factoryName() {
+        //         return "CFactory";
+        //     }
+        // };
+
+        checkService("en_US_BROOKLYN", new ServiceFacade() {
+                public Object create(ULocale req) {
+                    return Calendar.getInstance(req);
+                }
+                // }, null, new Registrar() {
+                //     public Object register(ULocale loc, Object prototype) {
+                //         CFactory f = new CFactory(loc, (Calendar) prototype);
+                //         return Calendar.register(f, loc);
+                //     }
+                //     public boolean unregister(Object key) {
+                //         return Calendar.unregister(key);
+                //     }
+            });
+    }
+
+    // Currency getLocale API is obsolete in 3.2.  Since it now returns ULocale.ROOT,
+    // and this is not equal to the requested locale zh_TW_TAIPEI, the
+    // checkService call would always fail.  So we now omit the test.
+    /*
+    public void TestCurrency() {
+        checkService("zh_TW_TAIPEI", new ServiceFacade() {
+                public Object create(ULocale req) {
+                    return Currency.getInstance(req);
+                }
+            }, null, new Registrar() {
+                    public Object register(ULocale loc, Object prototype) {
+                        return Currency.registerInstance((Currency) prototype, loc);
+                    }
+                    public boolean unregister(Object key) {
+                        return Currency.unregister(key);
+                    }
+                });
+    }
+    */
+
+    public void TestBreakIterator() {
+        checkService("hi_IN_BHOPAL", new ServiceFacade() {
+                public Object create(ULocale req) {
+                    return BreakIterator.getWordInstance(req);
+                }
+            }, null, new Registrar() {
+                    public Object register(ULocale loc, Object prototype) {
+                        return BreakIterator.registerInstance(
+                                                              (BreakIterator) prototype,
+                                                              loc, BreakIterator.KIND_WORD);
+                    }
+                    public boolean unregister(Object key) {
+                        return BreakIterator.unregister(key);
+                    }
+                });
+    }
+
+    public void TestCollator() {
+        checkService("ja_JP_YOKOHAMA", new ServiceFacade() {
+                public Object create(ULocale req) {
+                    return Collator.getInstance(req);
+                }
+            }, null, new Registrar() {
+                    public Object register(ULocale loc, Object prototype) {
+                        return Collator.registerInstance((Collator) prototype, loc);
+                    }
+                    public boolean unregister(Object key) {
+                        return Collator.unregister(key);
+                    }
+                });
+    }
+
+    public void TestDateFormat() {
+        checkService("de_CH_ZURICH", new ServiceFacade() {
+                public Object create(ULocale req) {
+                    return DateFormat.getDateInstance(DateFormat.DEFAULT, req);
+                }
+            }, new Subobject() {
+                    public Object get(Object parent) {
+                        return ((SimpleDateFormat) parent).getDateFormatSymbols();
+                    }
+                }, null);
+    }
+
+    public void TestNumberFormat() {
+        class NFactory extends SimpleNumberFormatFactory {
+            NumberFormat proto;
+            ULocale locale;
+            public NFactory(ULocale loc, NumberFormat fmt) {
+                super(loc);
+                this.locale = loc;
+                this.proto = fmt;
+            }
+            public NumberFormat createFormat(ULocale loc, int formatType) {
+                return (NumberFormat) (locale.equals(loc) ?
+                                       proto.clone() : null);
+            }
+        };
+
+        checkService("fr_FR_NICE", new ServiceFacade() {
+                public Object create(ULocale req) {
+                    return NumberFormat.getInstance(req);
+                }
+            }, new Subobject() {
+                    public Object get(Object parent) {
+                        return ((DecimalFormat) parent).getDecimalFormatSymbols();
+                    }
+                }, new Registrar() {
+                        public Object register(ULocale loc, Object prototype) {
+                            NFactory f = new NFactory(loc, (NumberFormat) prototype);
+                            return NumberFormat.registerFactory(f);
+                        }
+                        public boolean unregister(Object key) {
+                            return NumberFormat.unregister(key);
+                        }
+                    });
+    }
+
+    public void TestSetULocaleKeywords() {
+        ULocale uloc = new ULocale("en_Latn_US");
+        uloc = uloc.setKeywordValue("Foo", "FooValue");
+        if (!"en_Latn_US@foo=FooValue".equals(uloc.getName())) {
+            errln("failed to add foo keyword, got: " + uloc.getName());
+        }
+        uloc = uloc.setKeywordValue("Bar", "BarValue");
+        if (!"en_Latn_US@bar=BarValue;foo=FooValue".equals(uloc.getName())) {
+            errln("failed to add bar keyword, got: " + uloc.getName());
+        }
+        uloc = uloc.setKeywordValue("BAR", "NewBarValue");
+        if (!"en_Latn_US@bar=NewBarValue;foo=FooValue".equals(uloc.getName())) {
+            errln("failed to change bar keyword, got: " + uloc.getName());
+        }
+        uloc = uloc.setKeywordValue("BaR", null);
+        if (!"en_Latn_US@foo=FooValue".equals(uloc.getName())) {
+            errln("failed to delete bar keyword, got: " + uloc.getName());
+        }
+        uloc = uloc.setKeywordValue(null, null);
+        if (!"en_Latn_US".equals(uloc.getName())) {
+            errln("failed to delete all keywords, got: " + uloc.getName());
+        }
+    }
+
+    // ================= Infrastructure =================
+
+    /**
+     * Compare two locale IDs.  If they are equal, return 0.  If `string'
+     * starts with `prefix' plus an additional element, that is, string ==
+     * prefix + '_' + x, then return 1.  Otherwise return a value < 0.
+     */
+    static int loccmp(String string, String prefix) {
+        int slen = string.length(),
+            plen = prefix.length();
+        /* 'root' is "less than" everything */
+        if (prefix.equals("root")) {
+            return string.equals("root") ? 0 : 1;
+        }
+        // ON JAVA (only -- not on C -- someone correct me if I'm wrong)
+        // consider "" to be an alternate name for "root".
+        if (plen == 0) {
+            return slen == 0 ? 0 : 1;
+        }
+        if (!string.startsWith(prefix)) return -1; /* mismatch */
+        if (slen == plen) return 0;
+        if (string.charAt(plen) == '_') return 1;
+        return -2; /* false match, e.g. "en_USX" cmp "en_US" */
+    }
+
+    /**
+     * Check the relationship between requested locales, and report problems.
+     * The caller specifies the expected relationships between requested
+     * and valid (expReqValid) and between valid and actual (expValidActual).
+     * Possible values are:
+     * "gt" strictly greater than, e.g., en_US > en
+     * "ge" greater or equal,      e.g., en >= en
+     * "eq" equal,                 e.g., en == en
+     */
+    void checklocs(String label,
+                   String req,
+                   Locale validLoc,
+                   Locale actualLoc,
+                   String expReqValid,
+                   String expValidActual) {
+        String valid = validLoc.toString();
+        String actual = actualLoc.toString();
+        int reqValid = loccmp(req, valid);
+        int validActual = loccmp(valid, actual);
+    boolean reqOK = (expReqValid.equals("gt") && reqValid > 0) ||
+        (expReqValid.equals("ge") && reqValid >= 0) ||
+        (expReqValid.equals("eq") && reqValid == 0);
+    boolean valOK = (expValidActual.equals("gt") && validActual > 0) ||
+        (expValidActual.equals("ge") && validActual >= 0) ||
+        (expValidActual.equals("eq") && validActual == 0);
+        if (reqOK && valOK) {
+            logln("Ok: " + label + "; req=" + req + ", valid=" + valid +
+                  ", actual=" + actual);
+        } else {
+            errln("FAIL: " + label + "; req=" + req + ", valid=" + valid +
+                  ", actual=" + actual +
+          (reqOK ? "" : "\n  req !" + expReqValid + " valid") +
+          (valOK ? "" : "\n  val !" + expValidActual + " actual"));
+        }
+    }
+
+    /**
+     * Interface used by checkService defining a protocol to create an
+     * object, given a requested locale.
+     */
+    interface ServiceFacade {
+        Object create(ULocale requestedLocale);
+    }
+
+    /**
+     * Interface used by checkService defining a protocol to get a
+     * contained subobject, given its parent object.
+     */
+    interface Subobject {
+        Object get(Object parent);
+    }
+
+    /**
+     * Interface used by checkService defining a protocol to register
+     * and unregister a service object prototype.
+     */
+    interface Registrar {
+        Object register(ULocale loc, Object prototype);
+        boolean unregister(Object key);
+    }
+
+    /**
+     * Use reflection to call getLocale() on the given object to
+     * determine both the valid and the actual locale.  Verify these
+     * for correctness.
+     */
+    void checkObject(String requestedLocale, Object obj,
+                     String expReqValid, String expValidActual) {
+        Class[] params = new Class[] { ULocale.Type.class };
+        try {
+            Class cls = obj.getClass();
+            Method getLocale = cls.getMethod("getLocale", params);
+            ULocale valid = (ULocale) getLocale.invoke(obj, new Object[] {
+                ULocale.VALID_LOCALE });
+            ULocale actual = (ULocale) getLocale.invoke(obj, new Object[] {
+                ULocale.ACTUAL_LOCALE });
+            checklocs(cls.getName(), requestedLocale,
+                      valid.toLocale(), actual.toLocale(),
+                      expReqValid, expValidActual);
+        }
+
+        // Make the following exceptions _specific_ -- do not
+        // catch(Exception), since that will catch the exception
+        // that errln throws.
+        catch(NoSuchMethodException e1) {
+        // no longer an error, Currency has no getLocale
+            // errln("FAIL: reflection failed: " + e1);
+        } catch(SecurityException e2) {
+            errln("FAIL: reflection failed: " + e2);
+        } catch(IllegalAccessException e3) {
+            errln("FAIL: reflection failed: " + e3);
+        } catch(IllegalArgumentException e4) {
+            errln("FAIL: reflection failed: " + e4);
+        } catch(InvocationTargetException e5) {
+        // no longer an error, Currency has no getLocale
+            // errln("FAIL: reflection failed: " + e5);
+        }
+    }
+
+    /**
+     * Verify the correct getLocale() behavior for the given service.
+     * @param requestedLocale the locale to request.  This MUST BE
+     * FAKE.  In other words, it should be something like
+     * en_US_FAKEVARIANT so this method can verify correct fallback
+     * behavior.
+     * @param svc a factory object that can create the object to be
+     * tested.  This isn't necessary here (one could just pass in the
+     * object) but is required for the overload of this method that
+     * takes a Registrar.
+     */
+    void checkService(String requestedLocale, ServiceFacade svc) {
+        checkService(requestedLocale, svc, null, null);
+    }
+
+    /**
+     * Verify the correct getLocale() behavior for the given service.
+     * @param requestedLocale the locale to request.  This MUST BE
+     * FAKE.  In other words, it should be something like
+     * en_US_FAKEVARIANT so this method can verify correct fallback
+     * behavior.
+     * @param svc a factory object that can create the object to be
+     * tested.
+     * @param sub an object that can be used to retrieve a subobject
+     * which should also be tested.  May be null.
+     * @param reg an object that supplies the registration and
+     * unregistration functionality to be tested.  May be null.
+     */
+    void checkService(String requestedLocale, ServiceFacade svc,
+                      Subobject sub, Registrar reg) {
+        ULocale req = new ULocale(requestedLocale);
+        Object obj = svc.create(req);
+        checkObject(requestedLocale, obj, "gt", "ge");
+        if (sub != null) {
+            Object subobj = sub.get(obj);
+            checkObject(requestedLocale, subobj, "gt", "ge");
+        }
+        if (reg != null) {
+            logln("Info: Registering service");
+            Object key = reg.register(req, obj);
+            Object objReg = svc.create(req);
+            checkObject(requestedLocale, objReg, "eq", "eq");
+            if (sub != null) {
+                Object subobj = sub.get(obj);
+                // Assume subobjects don't come from services, so
+                // their metadata should be structured normally.
+                checkObject(requestedLocale, subobj, "gt", "ge");
+            }
+            logln("Info: Unregistering service");
+            if (!reg.unregister(key)) {
+                errln("FAIL: unregister failed");
+            }
+            Object objUnreg = svc.create(req);
+            checkObject(requestedLocale, objUnreg, "gt", "ge");
+        }
+    }
+    private static final int LOCALE_SIZE = 9;
+    private static final String[][] rawData2 = new String[][]{
+        /* language code */
+        {   "en",   "fr",   "ca",   "el",   "no",   "zh",   "de",   "es",  "ja"    },
+        /* script code */
+        {   "",     "",     "",     "",     "",     "Hans", "", "", ""  },
+        /* country code */
+        {   "US",   "FR",   "ES",   "GR",   "NO",   "CN", "DE", "", "JP"    },
+        /* variant code */
+        {   "",     "",     "",     "",     "NY",   "", "", "", ""      },
+        /* full name */
+        {   "en_US",    "fr_FR",    "ca_ES",
+            "el_GR",    "no_NO_NY", "zh_Hans_CN",
+            "de_DE@collation=phonebook", "es@collation=traditional",  "ja_JP@calendar=japanese" },
+        /* ISO-3 language */
+        {   "eng",  "fra",  "cat",  "ell",  "nor",  "zho", "deu", "spa", "jpn"   },
+        /* ISO-3 country */
+        {   "USA",  "FRA",  "ESP",  "GRC",  "NOR",  "CHN", "DEU", "", "JPN"   },
+        /* LCID */
+        {   "409", "40c", "403", "408", "814",  "804", "407", "a", "411"     },
+
+        /* display language (English) */
+        {   "English",  "French",   "Catalan", "Greek",    "Norwegian", "Chinese", "German", "Spanish", "Japanese"    },
+        /* display script code (English) */
+        {   "",     "",     "",     "",     "",     "Simplified Han", "", "", ""       },
+        /* display country (English) */
+        {   "United States",    "France",   "Spain",  "Greece",   "Norway", "China", "Germany", "", "Japan"       },
+        /* display variant (English) */
+        {   "",     "",     "",     "",     "NY",  "", "", "", ""       },
+        /* display name (English) */
+        {   "English (United States)", "French (France)", "Catalan (Spain)",
+            "Greek (Greece)", "Norwegian (Norway, NY)", "Chinese (Simplified Han, China)",
+            "German (Germany, Collation=Phonebook Order)", "Spanish (Collation=Traditional)", "Japanese (Japan, Calendar=Japanese Calendar)" },
+
+        /* display language (French) */
+        {   "anglais",  "fran\\u00E7ais",   "catalan", "grec",    "norv\\u00E9gien",    "chinois", "allemand", "espagnol", "japonais"     },
+        /* display script code (French) */
+        {   "",     "",     "",     "",     "",     "Hans", "", "", ""         },
+        /* display country (French) */
+        {   "\\u00C9tats-Unis",    "France",   "Espagne",  "Gr\\u00E8ce",   "Norv\\u00E8ge",    "Chine", "Allemagne", "", "Japon"       },
+        /* display variant (French) */
+        {   "",     "",     "",     "",     "NY",   "", "", "", ""       },
+        /* display name (French) */
+        {   "anglais (\\u00C9tats-Unis)", "fran\\u00E7ais (France)", "catalan (Espagne)",
+            "grec (Gr\\u00E8ce)", "norv\\u00E9gien (Norv\\u00E8ge, NY)",  "chinois (Hans, Chine)",
+            "allemand (Allemagne, Ordonnancement=Ordre de l'annuaire)", "espagnol (Ordonnancement=Ordre traditionnel)", "japonais (Japon, Calendrier=Calendrier japonais)" },
+
+        /* display language (Catalan) */
+        {   "angl\\u00E8s", "franc\\u00E8s", "catal\\u00E0", "grec",  "noruec", "xin\\u00E9s", "alemany", "espanyol", "japon\\u00E8s"    },
+        /* display script code (Catalan) */
+        {   "",     "",     "",     "",     "",     "Hans", "", "", ""         },
+        /* display country (Catalan) */
+        {   "Estats Units", "Fran\\u00E7a", "Espanya",  "Gr\\u00E8cia", "Noruega",  "Xina", "Alemanya", "", "Jap\\u00F3"    },
+        /* display variant (Catalan) */
+        {   "", "", "",                    "", "NY",    "", "", "", ""    },
+        /* display name (Catalan) */
+        {   "angl\\u00E8s (Estats Units)", "franc\\u00E8s (Fran\\u00E7a)", "catal\\u00E0 (Espanya)",
+            "grec (Gr\\u00E8cia)", "noruec (Noruega, NY)", "xin\\u00E9s (Hans, Xina)",
+            "alemany (Alemanya, COLLATION=PHONEBOOK)", "espanyol (COLLATION=TRADITIONAL)", "japon\\u00E8s (Jap\\u00F3, CALENDAR=JAPANESE)" },
+
+        /* display language (Greek) */
+        {
+            "\\u0391\\u03b3\\u03b3\\u03bb\\u03b9\\u03ba\\u03ac",
+            "\\u0393\\u03b1\\u03bb\\u03bb\\u03b9\\u03ba\\u03ac",
+            "\\u039a\\u03b1\\u03c4\\u03b1\\u03bb\\u03b1\\u03bd\\u03b9\\u03ba\\u03ac",
+            "\\u0395\\u03bb\\u03bb\\u03b7\\u03bd\\u03b9\\u03ba\\u03ac",
+            "\\u039d\\u03bf\\u03c1\\u03b2\\u03b7\\u03b3\\u03b9\\u03ba\\u03ac",
+            "\\u039A\\u03B9\\u03BD\\u03B5\\u03B6\\u03B9\\u03BA\\u03AC",
+            "\\u0393\\u03B5\\u03C1\\u03BC\\u03B1\\u03BD\\u03B9\\u03BA\\u03AC",
+            "\\u0399\\u03C3\\u03C0\\u03B1\\u03BD\\u03B9\\u03BA\\u03AC",
+            "\\u0399\\u03B1\\u03C0\\u03C9\\u03BD\\u03B9\\u03BA\\u03AC"
+        },
+        /* display script code (Greek) */
+        {   "",     "",     "",     "",     "",     "Hans", "", "", ""         },
+        /* display country (Greek) */
+        {
+            "\\u0397\\u03bd\\u03c9\\u03bc\\u03ad\\u03bd\\u03b5\\u03c2 \\u03a0\\u03bf\\u03bb\\u03b9\\u03c4\\u03b5\\u03af\\u03b5\\u03c2",
+            "\\u0393\\u03b1\\u03bb\\u03bb\\u03af\\u03b1",
+            "\\u0399\\u03c3\\u03c0\\u03b1\\u03bd\\u03af\\u03b1",
+            "\\u0395\\u03bb\\u03bb\\u03ac\\u03b4\\u03b1",
+            "\\u039d\\u03bf\\u03c1\\u03b2\\u03b7\\u03b3\\u03af\\u03b1",
+            "\\u039A\\u03AF\\u03BD\\u03B1",
+            "\\u0393\\u03B5\\u03C1\\u03BC\\u03B1\\u03BD\\u03AF\\u03B1",
+            "",
+            "\\u0399\\u03B1\\u03C0\\u03C9\\u03BD\\u03AF\\u03B1"
+        },
+        /* display variant (Greek) */
+        {   "", "", "", "", "NY", "", "", "", ""    }, /* TODO: currently there is no translation for NY in Greek fix this test when we have it */
+        /* display name (Greek) */
+        {
+            "\\u0391\\u03b3\\u03b3\\u03bb\\u03b9\\u03ba\\u03ac (\\u0397\\u03bd\\u03c9\\u03bc\\u03ad\\u03bd\\u03b5\\u03c2 \\u03a0\\u03bf\\u03bb\\u03b9\\u03c4\\u03b5\\u03af\\u03b5\\u03c2)",
+            "\\u0393\\u03b1\\u03bb\\u03bb\\u03b9\\u03ba\\u03ac (\\u0393\\u03b1\\u03bb\\u03bb\\u03af\\u03b1)",
+            "\\u039a\\u03b1\\u03c4\\u03b1\\u03bb\\u03b1\\u03bd\\u03b9\\u03ba\\u03ac (\\u0399\\u03c3\\u03c0\\u03b1\\u03bd\\u03af\\u03b1)",
+            "\\u0395\\u03bb\\u03bb\\u03b7\\u03bd\\u03b9\\u03ba\\u03ac (\\u0395\\u03bb\\u03bb\\u03ac\\u03b4\\u03b1)",
+            "\\u039d\\u03bf\\u03c1\\u03b2\\u03b7\\u03b3\\u03b9\\u03ba\\u03ac (\\u039d\\u03bf\\u03c1\\u03b2\\u03b7\\u03b3\\u03af\\u03b1, NY)",
+            "\\u039A\\u03B9\\u03BD\\u03B5\\u03B6\\u03B9\\u03BA\\u03AC (Hans, \\u039A\\u03AF\\u03BD\\u03B1)",
+            "\\u0393\\u03B5\\u03C1\\u03BC\\u03B1\\u03BD\\u03B9\\u03BA\\u03AC (\\u0393\\u03B5\\u03C1\\u03BC\\u03B1\\u03BD\\u03AF\\u03B1, COLLATION=PHONEBOOK)",
+            "\\u0399\\u03C3\\u03C0\\u03B1\\u03BD\\u03B9\\u03BA\\u03AC (COLLATION=TRADITIONAL)",
+            "\\u0399\\u03B1\\u03C0\\u03C9\\u03BD\\u03B9\\u03BA\\u03AC (\\u0399\\u03B1\\u03C0\\u03C9\\u03BD\\u03AF\\u03B1, CALENDAR=JAPANESE)"
+        }
+    };
+    private static final int ENGLISH = 0;
+    private static final int FRENCH = 1;
+    private static final int CATALAN = 2;
+    private static final int GREEK = 3;
+    private static final int NORWEGIAN = 4;
+    private static final int LANG = 0;
+    private static final int SCRIPT = 1;
+    private static final int CTRY = 2;
+    private static final int VAR = 3;
+    private static final int NAME = 4;
+    private static final int LANG3 = 5;
+    private static final int CTRY3 = 6;
+    private static final int LCID = 7;
+    private static final int DLANG_EN = 8;
+    private static final int DSCRIPT_EN = 9;
+    private static final int DCTRY_EN = 10;
+    private static final int DVAR_EN = 11;
+    private static final int DNAME_EN = 12;
+    private static final int DLANG_FR = 13;
+    private static final int DSCRIPT_FR = 14;
+    private static final int DCTRY_FR = 15;
+    private static final int DVAR_FR = 16;
+    private static final int DNAME_FR = 17;
+    private static final int DLANG_CA = 18;
+    private static final int DSCRIPT_CA = 19;
+    private static final int DCTRY_CA = 20;
+    private static final int DVAR_CA = 21;
+    private static final int DNAME_CA = 22;
+    private static final int DLANG_EL = 23;
+    private static final int DSCRIPT_EL = 24;
+    private static final int DCTRY_EL = 25;
+    private static final int DVAR_EL = 26;
+    private static final int DNAME_EL = 27;
+
+    public void TestBasicGetters() {
+        int i;
+        logln("Testing Basic Getters\n");
+        for (i = 0; i < LOCALE_SIZE; i++) {
+            String testLocale=(rawData2[NAME][i]);
+            logln("Testing "+ testLocale+".....\n");
+
+            String lang =ULocale.getLanguage(testLocale);
+            if (0 !=lang.compareTo(rawData2[LANG][i]))    {
+                errln("  Language code mismatch: "+lang+" versus "+  rawData2[LANG][i]);
+            }
+
+            String ctry=ULocale.getCountry(testLocale);
+            if (0 !=ctry.compareTo(rawData2[CTRY][i]))    {
+                errln("  Country code mismatch: "+ctry+" versus "+  rawData2[CTRY][i]);
+            }
+
+            String var=ULocale.getVariant(testLocale);
+            if (0 !=var.compareTo(rawData2[VAR][i]))    {
+                errln("  Variant code mismatch: "+var+" versus "+  rawData2[VAR][i]);
+            }
+
+            String name = ULocale.getName(testLocale);
+            if (0 !=name.compareTo(rawData2[NAME][i]))    {
+                errln("  Name mismatch: "+name+" versus "+  rawData2[NAME][i]);
+            }
+
+        }
+    }
+
+    public void TestPrefixes() {
+        // POSIX ids are no longer handled by getName, so POSIX failures are ignored
+        final String [][] testData = new String[][]{
+            /* null canonicalize() column means "expect same as getName()" */
+            {"sv", "", "FI", "AL", "sv-fi-al", "sv_FI_AL", null},
+            {"en", "", "GB", "", "en-gb", "en_GB", null},
+            {"i-hakka", "", "MT", "XEMXIJA", "i-hakka_MT_XEMXIJA", "i-hakka_MT_XEMXIJA", null},
+            {"i-hakka", "", "CN", "", "i-hakka_CN", "i-hakka_CN", null},
+            {"i-hakka", "", "MX", "", "I-hakka_MX", "i-hakka_MX", null},
+            {"x-klingon", "", "US", "SANJOSE", "X-KLINGON_us_SANJOSE", "x-klingon_US_SANJOSE", null},
+
+            {"mr", "", "", "", "mr.utf8", "mr.utf8", "mr"},
+            {"de", "", "TV", "", "de-tv.koi8r", "de_TV.koi8r", "de_TV"},
+            {"x-piglatin", "", "ML", "", "x-piglatin_ML.MBE", "x-piglatin_ML.MBE", "x-piglatin_ML"},  /* Multibyte English */
+            {"i-cherokee", "","US", "", "i-Cherokee_US.utf7", "i-cherokee_US.utf7", "i-cherokee_US"},
+            {"x-filfli", "", "MT", "FILFLA", "x-filfli_MT_FILFLA.gb-18030", "x-filfli_MT_FILFLA.gb-18030", "x-filfli_MT_FILFLA"},
+            {"no", "", "NO", "NY_B", "no-no-ny.utf32@B", "no_NO_NY.utf32@B", "no_NO_NY_B"},
+            {"no", "", "NO", "B",  "no-no.utf32@B", "no_NO.utf32@B", "no_NO_B"},
+            {"no", "", "",   "NY", "no__ny", "no__NY", null},
+            {"no", "", "",   "NY", "no@ny", "no@ny", "no__NY"},
+            {"el", "Latn", "", "", "el-latn", "el_Latn", null},
+            {"en", "Cyrl", "RU", "", "en-cyrl-ru", "en_Cyrl_RU", null},
+            {"zh", "Hant", "TW", "STROKE", "zh-hant_TW_STROKE", "zh_Hant_TW_STROKE", null},
+            {"qq", "Qqqq", "QQ", "QQ", "qq_Qqqq_QQ_QQ", "qq_Qqqq_QQ_QQ", null},
+            {"qq", "Qqqq", "", "QQ", "qq_Qqqq__QQ", "qq_Qqqq__QQ", null},
+            {"12", "3456", "78", "90", "12_3456_78_90", "12_3456_78_90", null}, /* total garbage */
+
+            // odd cases
+            {"", "", "", "", "@FOO=bar", "@foo=bar", null},
+            {"", "", "", "", "_@FOO=bar", "@foo=bar", null},
+            {"", "", "", "", "__@FOO=bar", "@foo=bar", null},
+            {"", "", "", "FOO", "__foo@FOO=bar", "__FOO@foo=bar", null}, // we have some of these prefixes
+        };
+
+        String loc, buf,buf1;
+        final String [] testTitles = {
+            "ULocale.getLanguage()",
+            "ULocale.getScript()",
+            "ULocale.getCountry()",
+            "ULocale.getVariant()",
+            "name",
+            "ULocale.getName()",
+            "canonicalize()",
+        };
+        ULocale uloc;
+
+        for(int row=0;row<testData.length;row++) {
+            loc = testData[row][NAME];
+            logln("Test #"+row+": "+loc);
+
+            uloc = new ULocale(loc);
+
+            for(int n=0;n<=(NAME+2);n++) {
+                if(n==NAME) continue;
+
+                switch(n) {
+                case LANG:
+                    buf  = ULocale.getLanguage(loc);
+                    buf1 = uloc.getLanguage();
+                    break;
+
+                case SCRIPT:
+                    buf  = ULocale.getScript(loc);
+                    buf1 = uloc.getScript();
+                    break;
+
+                case CTRY:
+                    buf  = ULocale.getCountry(loc);
+                    buf1 = uloc.getCountry();
+                    break;
+
+                case VAR:
+                    buf  = ULocale.getVariant(loc);
+                    buf1 = buf;
+                    break;
+
+                case NAME+1:
+                    buf  = ULocale.getName(loc);
+                    buf1 = uloc.getName();
+                    break;
+
+                case NAME+2:
+                    buf = ULocale.canonicalize(loc);
+                    buf1 = ULocale.createCanonical(loc).getName();
+                    break;
+
+                default:
+                    buf = "**??";
+                    buf1 = buf;
+                }
+
+                logln("#"+row+": "+testTitles[n]+" on "+loc+": -> ["+buf+"]");
+
+                String expected = testData[row][n];
+                if (expected == null && n == (NAME+2)) {
+                    expected = testData[row][NAME+1];
+                }
+
+                // ignore POSIX failures in getName, we don't spec behavior in this case
+                if (n == NAME+1 &&
+                    (expected.indexOf('.') != -1 ||
+                     expected.indexOf('@') != -1)) {
+                    continue;
+                }
+
+                if(buf.compareTo(expected)!=0) {
+                    errln("#"+row+": "+testTitles[n]+" on "+loc+": -> ["+buf+"] (expected '"+expected+"'!)");
+                }
+                if(buf1.compareTo(expected)!=0) {
+                    errln("#"+row+": "+testTitles[n]+" on ULocale object "+loc+": -> ["+buf1+"] (expected '"+expected+"'!)");
+                }
+            }
+        }
+    }
+
+    public void TestObsoleteNames(){
+        final String[][] tests = new String[][]{
+            /* locale, language3, language2, Country3, country2 */
+            { "eng_USA", "eng", "en", "USA", "US" },
+            { "kok",  "kok", "kok", "", "" },
+            { "in",  "ind", "in", "", "" },
+            { "id",  "ind", "id", "", "" }, /* NO aliasing */
+            { "sh",  "srp", "sh", "", "" },
+            { "zz_FX",  "", "zz", "FXX", "FX" },
+            { "zz_RO",  "", "zz", "ROU", "RO" },
+            { "zz_TP",  "", "zz", "TMP", "TP" },
+            { "zz_TL",  "", "zz", "TLS", "TL" },
+            { "zz_ZR",  "", "zz", "ZAR", "ZR" },
+            { "zz_FXX",  "", "zz", "FXX", "FX" }, /* no aliasing. Doesn't go to PS(PSE). */
+            { "zz_ROM",  "", "zz", "ROU", "RO" },
+            { "zz_ROU",  "", "zz", "ROU", "RO" },
+            { "zz_ZAR",  "", "zz", "ZAR", "ZR" },
+            { "zz_TMP",  "", "zz", "TMP", "TP" },
+            { "zz_TLS",  "", "zz", "TLS", "TL" },
+            { "mlt_PSE", "mlt", "mt", "PSE", "PS" },
+            { "iw", "heb", "iw", "", "" },
+            { "ji", "yid", "ji", "", "" },
+            { "jw", "jaw", "jw", "", "" },
+            { "sh", "srp", "sh", "", "" },
+            { "", "", "", "", "" }
+        };
+
+        for(int i=0;i<tests.length;i++){
+            String locale = tests[i][0];
+            logln("** Testing : "+ locale);
+            String buff, buff1;
+            ULocale uloc  = new ULocale(locale);
+
+            buff = ULocale.getISO3Language(locale);
+            if(buff.compareTo(tests[i][1])!=0){
+                errln("FAIL: ULocale.getISO3Language("+locale+")=="+
+                      buff+",\t expected "+tests[i][1]);
+            }else{
+                logln("   ULocale.getISO3Language("+locale+")=="+buff);
+            }
+
+            buff1 = uloc.getISO3Language();
+            if(buff1.compareTo(tests[i][1])!=0){
+                errln("FAIL: ULocale.getISO3Language("+locale+")=="+
+                      buff+",\t expected "+tests[i][1]);
+            }else{
+                logln("   ULocale.getISO3Language("+locale+")=="+buff);
+            }
+
+            buff = ULocale.getLanguage(locale);
+            if(buff.compareTo(tests[i][2])!=0){
+                errln("FAIL: ULocale.getLanguage("+locale+")=="+
+                      buff+",\t expected "+tests[i][2]);
+            }else{
+                logln("   ULocale.getLanguage("+locale+")=="+buff);
+            }
+
+            buff = ULocale.getISO3Country(locale);
+            if(buff.compareTo(tests[i][3])!=0){
+                errln("FAIL: ULocale.getISO3Country("+locale+")=="+
+                      buff+",\t expected "+tests[i][3]);
+            }else{
+                logln("   ULocale.getISO3Country("+locale+")=="+buff);
+            }
+
+            buff1 = uloc.getISO3Country();
+            if(buff1.compareTo(tests[i][3])!=0){
+                errln("FAIL: ULocale.getISO3Country("+locale+")=="+
+                      buff+",\t expected "+tests[i][3]);
+            }else{
+                logln("   ULocale.getISO3Country("+locale+")=="+buff);
+            }
+
+            buff = ULocale.getCountry(locale);
+            if(buff.compareTo(tests[i][4])!=0){
+                errln("FAIL: ULocale.getCountry("+locale+")=="+
+                      buff+",\t expected "+tests[i][4]);
+            }else{
+                logln("   ULocale.getCountry("+locale+")=="+buff);
+            }
+        }
+
+        if (ULocale.getLanguage("iw_IL").compareTo( ULocale.getLanguage("he_IL"))==0) {
+            errln("he,iw ULocale.getLanguage mismatch");
+        }
+
+        String buff = ULocale.getLanguage("kok_IN");
+        if(buff.compareTo("kok")!=0){
+            errln("ULocale.getLanguage(\"kok\") failed. Expected: kok Got: "+buff);
+        }
+    }
+    public void TestCanonicalization(){
+        final String[][]testCases = new String[][]{
+            { "ca_ES_PREEURO", "ca_ES_PREEURO", "ca_ES@currency=ESP" },
+            { "de_AT_PREEURO", "de_AT_PREEURO", "de_AT@currency=ATS" },
+            { "de_DE_PREEURO", "de_DE_PREEURO", "de_DE@currency=DEM" },
+            { "de_LU_PREEURO", "de_LU_PREEURO", "de_LU@currency=EUR" },
+            { "el_GR_PREEURO", "el_GR_PREEURO", "el_GR@currency=GRD" },
+            { "en_BE_PREEURO", "en_BE_PREEURO", "en_BE@currency=BEF" },
+            { "en_IE_PREEURO", "en_IE_PREEURO", "en_IE@currency=IEP" },
+            { "es_ES_PREEURO", "es_ES_PREEURO", "es_ES@currency=ESP" },
+            { "eu_ES_PREEURO", "eu_ES_PREEURO", "eu_ES@currency=ESP" },
+            { "fi_FI_PREEURO", "fi_FI_PREEURO", "fi_FI@currency=FIM" },
+            { "fr_BE_PREEURO", "fr_BE_PREEURO", "fr_BE@currency=BEF" },
+            { "fr_FR_PREEURO", "fr_FR_PREEURO", "fr_FR@currency=FRF" },
+            { "fr_LU_PREEURO", "fr_LU_PREEURO", "fr_LU@currency=LUF" },
+            { "ga_IE_PREEURO", "ga_IE_PREEURO", "ga_IE@currency=IEP" },
+            { "gl_ES_PREEURO", "gl_ES_PREEURO", "gl_ES@currency=ESP" },
+            { "it_IT_PREEURO", "it_IT_PREEURO", "it_IT@currency=ITL" },
+            { "nl_BE_PREEURO", "nl_BE_PREEURO", "nl_BE@currency=BEF" },
+            { "nl_NL_PREEURO", "nl_NL_PREEURO", "nl_NL@currency=NLG" },
+            { "pt_PT_PREEURO", "pt_PT_PREEURO", "pt_PT@currency=PTE" },
+            { "de__PHONEBOOK", "de__PHONEBOOK", "de@collation=phonebook" },
+            { "en_GB_EURO", "en_GB_EURO", "en_GB@currency=EUR" },
+            { "en_GB@EURO", null, "en_GB@currency=EUR" }, /* POSIX ID */
+            { "es__TRADITIONAL", "es__TRADITIONAL", "es@collation=traditional" },
+            { "hi__DIRECT", "hi__DIRECT", "hi@collation=direct" },
+            { "ja_JP_TRADITIONAL", "ja_JP_TRADITIONAL", "ja_JP@calendar=japanese" },
+            { "th_TH_TRADITIONAL", "th_TH_TRADITIONAL", "th_TH@calendar=buddhist" },
+            { "zh_TW_STROKE", "zh_TW_STROKE", "zh_TW@collation=stroke" },
+            { "zh__PINYIN", "zh__PINYIN", "zh@collation=pinyin" },
+            { "zh@collation=pinyin", "zh@collation=pinyin", "zh@collation=pinyin" },
+            { "zh_CN@collation=pinyin", "zh_CN@collation=pinyin", "zh_CN@collation=pinyin" },
+            { "zh_CN_CA@collation=pinyin", "zh_CN_CA@collation=pinyin", "zh_CN_CA@collation=pinyin" },
+            { "en_US_POSIX", "en_US_POSIX", "en_US_POSIX" },
+            { "hy_AM_REVISED", "hy_AM_REVISED", "hy_AM_REVISED" },
+            { "no_NO_NY", "no_NO_NY", "no_NO_NY" /* not: "nn_NO" [alan ICU3.0] */ },
+            { "no@ny", null, "no__NY" /* not: "nn" [alan ICU3.0] */ }, /* POSIX ID */
+            { "no-no.utf32@B", null, "no_NO_B" /* not: "nb_NO_B" [alan ICU3.0] */ }, /* POSIX ID */
+            { "qz-qz@Euro", null, "qz_QZ@currency=EUR" }, /* qz-qz uses private use iso codes */
+            { "en-BOONT", "en_BOONT", "en__BOONT" }, /* registered name */
+            { "de-1901", "de_1901", "de__1901" }, /* registered name */
+            { "de-1906", "de_1906", "de__1906" }, /* registered name */
+            { "sr-SP-Cyrl", "sr_SP_CYRL", "sr_Cyrl_SP" }, /* .NET name */
+            { "sr-SP-Latn", "sr_SP_LATN", "sr_Latn_SP" }, /* .NET name */
+            { "uz-UZ-Cyrl", "uz_UZ_CYRL", "uz_Cyrl_UZ" }, /* .NET name */
+            { "uz-UZ-Latn", "uz_UZ_LATN", "uz_Latn_UZ" }, /* .NET name */
+            { "zh-CHS", "zh_CHS", "zh_Hans" }, /* .NET name */
+            { "zh-CHT", "zh_CHT", "zh_Hant" }, /* .NET name This may change back to zh_Hant */
+
+            /* posix behavior that used to be performed by getName */
+            { "mr.utf8", null, "mr" },
+            { "de-tv.koi8r", null, "de_TV" },
+            { "x-piglatin_ML.MBE", null, "x-piglatin_ML" },
+            { "i-cherokee_US.utf7", null, "i-cherokee_US" },
+            { "x-filfli_MT_FILFLA.gb-18030", null, "x-filfli_MT_FILFLA" },
+            { "no-no-ny.utf8@B", null, "no_NO_NY_B" /* not: "nn_NO" [alan ICU3.0] */ }, /* @ ignored unless variant is empty */
+
+            /* fleshing out canonicalization */
+            /* sort keywords, ';' is separator so not present at end in canonical form */
+            { "en_Hant_IL_VALLEY_GIRL@currency=EUR;calendar=Japanese;", "en_Hant_IL_VALLEY_GIRL@calendar=Japanese;currency=EUR", "en_Hant_IL_VALLEY_GIRL@calendar=Japanese;currency=EUR" },
+            /* already-canonical ids are not changed */
+            { "en_Hant_IL_VALLEY_GIRL@calendar=Japanese;currency=EUR", "en_Hant_IL_VALLEY_GIRL@calendar=Japanese;currency=EUR", "en_Hant_IL_VALLEY_GIRL@calendar=Japanese;currency=EUR" },
+            /* PRE_EURO and EURO conversions don't affect other keywords */
+            /* not in spec
+               { "es_ES_PREEURO@CALendar=Japanese", "es_ES_PREEURO@calendar=Japanese", "es_ES@calendar=Japanese;currency=ESP" },
+               { "es_ES_EURO@SHOUT=zipeedeedoodah", "es_ES_EURO@shout=zipeedeedoodah", "es_ES@currency=EUR;shout=zipeedeedoodah" },
+            */
+            /* currency keyword overrides PRE_EURO and EURO currency */
+            /* not in spec
+               { "es_ES_PREEURO@currency=EUR", "es_ES_PREEURO@currency=EUR", "es_ES@currency=EUR" },
+               { "es_ES_EURO@currency=ESP", "es_ES_EURO@currency=ESP", "es_ES@currency=ESP" },
+            */
+            /* norwegian is just too weird, if we handle things in their full generality */
+            /* this is a negative test to show that we DO NOT handle 'lang=no,var=NY' specially. */
+            { "no-Hant-GB_NY@currency=$$$", "no_Hant_GB_NY@currency=$$$", "no_Hant_GB_NY@currency=$$$" /* not: "nn_Hant_GB@currency=$$$" [alan ICU3.0] */ },
+
+            /* test cases reflecting internal resource bundle usage */
+            /* root is just a language */
+            { "root@kw=foo", "root@kw=foo", "root@kw=foo" },
+            /* level 2 canonicalization should not touch basename when there are keywords and it is null */
+            { "@calendar=gregorian", "@calendar=gregorian", "@calendar=gregorian" },
+        };
+
+        for(int i = 0; i< testCases.length;i++){
+            String[] testCase = testCases[i];
+            String source = testCase[0];
+            String level1Expected = testCase[1];
+            String level2Expected = testCase[2];
+
+            if (level1Expected != null) { // null means we have no expectations for how this case is handled
+                String level1 = ULocale.getName(source);
+                if (!level1.equals(level1Expected)) {
+                    errln("ULocale.getName error for: '" + source +
+                          "' expected: '" + level1Expected + "' but got: '" + level1 + "'");
+                } else {
+                    logln("Ulocale.getName for: '" + source + "' returned: '" + level1 + "'");
+                }
+            } else {
+                logln("ULocale.getName skipped: '" + source + "'");
+            }
+
+            if (level2Expected != null) {
+                String level2 = ULocale.canonicalize(source);
+                if(!level2.equals(level2Expected)){
+                    errln("ULocale.getName error for: '" + source +
+                          "' expected: '" + level2Expected + "' but got: '" + level2 + "'");
+                } else {
+                    logln("Ulocale.canonicalize for: '" + source + "' returned: '" + level2 + "'");
+                }
+            } else {
+                logln("ULocale.canonicalize skipped: '" + source + "'");
+            }
+        }
+    }
+
+    public void TestGetAvailable(){
+        ULocale[] locales = ULocale.getAvailableLocales();
+        if(locales.length<10){
+            errln("Did not get the correct result from getAvailableLocales");
+        }
+        if(!locales[locales.length-1].equals("zh_Hant_TW")){
+            errln("Did not get the expected result");
+        }
+    }
+
+    public void TestDisplayNames() {
+        // consistency check, also check that all data is available
+        {
+            ULocale[] locales = ULocale.getAvailableLocales();
+            for (int i = 0; i < locales.length; ++i) {
+                ULocale l = locales[i];
+                String name = l.getDisplayName();
+
+                logln(l + " --> " + name +
+                      ", " + l.getDisplayName(ULocale.GERMAN) +
+                      ", " + l.getDisplayName(ULocale.FRANCE));
+
+                String language = l.getDisplayLanguage();
+                String script = l.getDisplayScript();
+                String country = l.getDisplayCountry();
+                String variant = l.getDisplayVariant();
+
+                checkName(name, language, script, country, variant);
+
+                for (int j = 0; j < locales.length; ++j) {
+                    ULocale dl = locales[j];
+
+                    name = l.getDisplayName(dl);
+                    language = l.getDisplayLanguage(dl);
+                    script = l.getDisplayScript(dl);
+                    country = l.getDisplayCountry(dl);
+                    variant = l.getDisplayVariant(dl);
+
+                    if (!checkName(name, language, script, country, variant)) {
+                        break;
+                    }
+                }
+            }
+        }
+        // spot check
+        {
+            ULocale[] locales = {
+                ULocale.US, ULocale.GERMANY, ULocale.FRANCE
+            };
+            String[] names = {
+                "Chinese (China)", "Chinesisch (China)", "chinois (Chine)"
+            };
+            ULocale locale = new ULocale("zh_CN");
+            for (int i = 0; i < locales.length; ++i) {
+                String name = locale.getDisplayName(locales[i]);
+                if (!names[i].equals(name)) {
+                    errln("expected '" + names[i] + "' but got '" + name + "'");
+                }
+            }
+        }
+    }
+
+    private boolean checkName(String name, String language, String script, String country, String variant) {
+        if (language.length() > 0 && name.indexOf(language) == -1) {
+            errln("name '" + name + "' does not contain language '" + language + "'");
+            return false;
+        }
+        if (script.length() > 0 && name.indexOf(script) == -1) {
+            errln("name '" + name + "' does not contain script '" + script + "'");
+            return false;
+        }
+        if (country.length() > 0 && name.indexOf(country) == -1) {
+            errln("name '" + name + "' does not contain country '" + country + "'");
+            return false;
+        }
+        if (variant.length() > 0 && name.indexOf(variant) == -1) {
+            errln("name '" + name + "' does not contain variant '" + variant + "'");
+            return false;
+        }
+        return true;
+    }
+
+    public void TestCoverage() {
+        {
+            //Cover displayXXX
+            int i, j;
+            String localeID="zh_CN";
+            String name, language, script, country, variant;
+            logln("Covering APIs with signature displayXXX(String, String)");
+            for (i = 0; i < LOCALE_SIZE; i++) {
+                //localeID String
+                String testLocale=(rawData2[NAME][i]);
+
+                logln("Testing "+ testLocale+".....");
+                name = ULocale.getDisplayName(localeID, testLocale);
+                language = ULocale.getDisplayLanguage(localeID, testLocale);
+                script = ULocale.getDisplayScript(localeID, testLocale);
+                country = ULocale.getDisplayCountry(localeID, testLocale);
+                variant = ULocale.getDisplayVariant(localeID, testLocale);
+
+                if (!checkName(name, language, script, country, variant)) {
+                    break;
+                }
+            }
+
+            logln("Covering APIs with signature displayXXX(String, ULocale)\n");
+            for (j = 0; j < LOCALE_SIZE; j++) {
+                String testLocale=(rawData2[NAME][j]);
+                ULocale loc = new ULocale(testLocale);
+
+                logln("Testing "+ testLocale+".....");
+                name = ULocale.getDisplayName(localeID, loc);
+                language = ULocale.getDisplayLanguage(localeID, loc);
+                script = ULocale.getDisplayScript(localeID, loc);
+                country = ULocale.getDisplayCountry(localeID, loc);
+                variant = ULocale.getDisplayVariant(localeID, loc);
+
+                if (!checkName(name, language, script, country, variant)) {
+                    break;
+                }
+            }
+        }
+        ULocale loc1 = new ULocale("en_US_BROOKLYN");
+        ULocale loc2 = new ULocale("en","US","BROOKLYN");
+        if (!loc2.equals(loc1)){
+            errln("ULocale.ULocale(String a, String b, String c)");
+        }
+        
+        ULocale loc3 = new ULocale("en_US");
+        ULocale loc4 = new ULocale("en","US");
+        if (!loc4.equals(loc3)){
+            errln("ULocale.ULocale(String a, String b)");
+        }
+        
+        ULocale loc5 = (ULocale) loc4.clone();
+        if (!loc5.equals(loc4)){
+            errln("ULocale.clone should get the same ULocale");
+        }
+        ULocale.getISOCountries();	// To check the result ?!
+    }
+
+    public void TestBamBm() {
+        // "bam" shouldn't be there since the official code is 'bm'
+        String[] isoLanguages = ULocale.getISOLanguages();
+        for (int i = 0; i < isoLanguages.length; ++i) {
+            if ("bam".equals(isoLanguages[i])) {
+                errln("found bam");
+            }
+            if (i > 0 && isoLanguages[i].compareTo(isoLanguages[i-1]) <= 0) {
+                errln("language list out of order: '" + isoLanguages[i] + " <= " + isoLanguages[i-1]);
+            }
+        }
+    }
+
+    public void TestDisplayKeyword() {
+        //prepare testing data
+        initHashtable();
+        String[] data = {"en_US@collation=direct;calendar=islamic-civil",
+             "zh_Hans@collation=pinyin;calendar=chinese",
+             "foo_Bar_BAZ@collation=traditional;calendar=buddhist"};
+
+        for (int i = 0; i < data.length; i++) {
+            String localeID = data[i];
+            logln("");
+            logln("Testing locale " + localeID + " ...");
+            ULocale loc = new ULocale(localeID);
+
+            Iterator it = loc.getKeywords();
+            Iterator it2 = ULocale.getKeywords(localeID);
+            //it and it2 are not equal here. No way to verify their equivalence yet.
+            while(it.hasNext()) {
+                String key = (String)it.next();
+
+                //To verify display of Keyword
+                // display the above key in English
+                String s0 = ULocale.getDisplayKeyword(key); //display in default locale
+                String s1 = ULocale.getDisplayKeyword(key, ULocale.US);
+                String s2 = ULocale.getDisplayKeyword(key, "en_US");
+                if (!s1.equals(s2)) {
+                    errln ("FAIL: one of the getDisplayKeyword methods failed.");
+                }
+                if (!s1.equals(h[0].get(key))) {
+                    warnln("Locale " + localeID + " getDisplayKeyword for key: " + key +
+                          " in English expected \"" + h[0].get(key) + "\" saw \"" + s1 + "\" instead");
+                } else {
+                    logln("OK: getDisplayKeyword for key: " + key + " in English got " + s1);
+                }
+
+                // display the key in S-Chinese
+                s1 = ULocale.getDisplayKeyword(key, ULocale.CHINA);
+                s2 = ULocale.getDisplayKeyword(key, "zh_Hans");
+                if (!s1.equals(s2)) {
+                    errln ("one of the getDisplayKeyword methods failed.");
+                }
+                if (!s1.equals(h[1].get(key))) {
+                    warnln("Locale " + localeID + " getDisplayKeyword for key: " + key +
+                          " in Chinese expected \"" + h[1].get(key) + "\" saw \"" + s1 + "\" instead");
+                } else {
+                    logln("OK: getDisplayKeyword for key: " + key + " in Chinese got " + s1);
+                }
+
+                //To verify display of Keyword values
+                String type = loc.getKeywordValue(key);
+                // display type in English
+                String ss0 = loc.getDisplayKeywordValue(key);
+                String ss1 = loc.getDisplayKeywordValue(key, ULocale.US);
+                String ss2 = ULocale.getDisplayKeywordValue(localeID, key, "en_US");
+                String ss3 = ULocale.getDisplayKeywordValue(localeID, key, ULocale.US);
+                if (!ss1.equals(ss2) || !ss1.equals(ss3)) {
+                    errln ("FAIL: one of the getDisplayKeywordValue methods failed.");
+                }
+                if (!ss1.equals(h[0].get(type))) {
+                    warnln(" Locale " + localeID + " getDisplayKeywordValue for key: " + key +
+                          " in English expected \"" + h[0].get(type) + "\" saw \"" + ss1 + "\" instead");
+                } else {
+                    logln("OK: getDisplayKeywordValue for key: " + key + " in English got " + ss1);
+                }
+
+                // display type in Chinese
+                ss0 = loc.getDisplayKeywordValue(key);
+                ss1 = loc.getDisplayKeywordValue(key, ULocale.CHINA);
+                ss2 = ULocale.getDisplayKeywordValue(localeID, key, "zh_Hans");
+                ss3 = ULocale.getDisplayKeywordValue(localeID, key, ULocale.CHINA);
+                if (!ss1.equals(ss2) || !ss1.equals(ss3)) {
+                    warnln ("one of the getDisplayKeywordValue methods failed.");
+                }
+                if (!ss1.equals(h[1].get(type))) {
+                    warnln("Locale " + localeID + " getDisplayKeywordValue for key: " + key +
+                          " in Chinese expected \"" + h[1].get(type) + "\" saw \"" + ss1 + "\" instead");
+                } else {
+                    logln("OK: getDisplayKeywordValue for key: " + key + " in Chinese got " + ss1);
+                }
+            }
+        }
+    }
+    private void initHashtable() {
+        h[0] = new Hashtable();
+        h[1] = new Hashtable();
+
+        //display in English
+        h[0].put("collation", "Collation");
+        h[0].put("calendar", "Calendar");
+        h[0].put("currency", "Currency");
+        h[0].put("phonebook", "Phonebook Order");
+        h[0].put("pinyin", "Pinyin Order");
+        h[0].put("traditional", "Traditional");
+        h[0].put("stroke", "Stroke Order");
+        h[0].put("direct", "Direct Order");
+        h[0].put("japanese", "Japanese Calendar");
+        h[0].put("buddhist", "Buddhist Calendar");
+        h[0].put("islamic", "Islamic Calendar");
+        h[0].put("islamic-civil", "Islamic-Civil Calendar" );
+        h[0].put("hebrew", "Hebrew Calendar");
+        h[0].put("chinese", "Chinese Calendar");
+        h[0].put("gregorian", "Gregorian Calendar" );
+
+        //display in S-Chinese
+        h[1].put("collation", "\u5BF9\u7167");
+        h[1].put("calendar", "\u65E5\u5386");
+        h[1].put("currency", "\u8D27\u5E01");
+        h[1].put("direct", "\u987A\u5E8F");
+        h[1].put("phonebook", "\u7535\u8BDD\u7C3F\u987A\u5E8F");
+        h[1].put("pinyin", "\u62FC\u97F3\u987a\u5e8f");
+        h[1].put("stroke", "\u7B14\u5212\u987A\u5E8F");
+        h[1].put("traditional", "\u4F20\u7EDF\u5386\u6CD5");
+        h[1].put("japanese", "\u65E5\u672C\u65E5\u5386");
+        h[1].put("buddhist", "\u4F5B\u6559\u65E5\u5386");
+        h[1].put("islamic", "\u4F0A\u65AF\u5170\u65E5\u5386");
+        h[1].put("islamic-civil", "\u4F0A\u65AF\u5170\u5E0C\u5409\u6765\u5386");
+        h[1].put("hebrew", "\u5E0C\u4F2F\u6765\u65E5\u5386");
+        h[1].put("chinese", "\u519C\u5386");
+        h[1].put("gregorian", "\u516C\u5386");
+    }
+
+    //Hashtables for storing expected display of keys/types of locale in English and Chinese
+    private static Hashtable[] h = new Hashtable[2];
+    
+    private static final String ACCEPT_LANGUAGE_TESTS[][]  =  {
+    /*#      result  fallback? */
+    /*0*/ { "mt_MT", "false" },
+    /*1*/ { "en", "false" },
+    /*2*/ { "en", "true" }, // fell back from en-zzz to en
+    /*3*/ {  null, "true" },
+    /*4*/ {  "es", "false" }, 
+    /*5*/ { "de", "false" }};
+    
+    private static final String ACCEPT_LANGUAGE_HTTP[] = { 
+                    /*0*/ "mt-mt, ja;q=0.76, en-us;q=0.95, en;q=0.92, en-gb;q=0.89, fr;q=0.87, iu-ca;q=0.84, iu;q=0.82, ja-jp;q=0.79, mt;q=0.97, de-de;q=0.74, de;q=0.71, es;q=0.68, it-it;q=0.66, it;q=0.63, vi-vn;q=0.61, vi;q=0.58, nl-nl;q=0.55, nl;q=0.53, th-th-traditional;q=.01",
+                    /*1*/ "ja;q=0.5, en;q=0.8, tlh",
+                    /*2*/ "en-zzz, de-lx;q=0.8",
+                    /*3*/ "mga-ie;q=0.9, tlh",
+                    /*4*/ "xxx-yyy;q=.01, xxx-yyy;q=.01, xxx-yyy;q=.01, xxx-yyy;q=.01, xxx-yyy;q=.01, xxx-yyy;q=.01, "+
+                          "xxx-yyy;q=.01, xxx-yyy;q=.01, xxx-yyy;q=.01, xxx-yyy;q=.01, xxx-yyy;q=.01, xxx-yyy;q=.01, "+
+                               "xxx-yyy;q=.01, xxx-yyy;q=.01, xxx-yyy;q=.01, xxx-yyy;q=.01, xxx-yyy;q=.01, xxx-yyy;q=.01, "+
+                               "xxx-yyy;q=.01, xxx-yyy;q=.01, xxx-yyy;q=.01, xxx-yyy;q=.01, xxx-yyy;q=.01, xxx-yyy;q=.01, "+
+                               "xxx-yyy;q=.01, xxx-yyy;q=.01, xxx-yyy;q=.01, xxx-yyy;q=.01, xxx-yyy;q=.01, xxx-yyy;q=.01, "+
+                               "xxx-yyy;q=.01, xxx-yyy;q=.01, xxx-yyy;q=.01, xxx-yyy;q=.01, xxx-yyy;q=.01, xxx-yyy;q=.01, "+
+                               "xxx-yyy;q=.01, xxx-yyy;q=.01, xxx-yyy;q=.01, xxx-yyy;q=.01, xxx-yyy;q=.01, xxx-yyy;q=.01, "+
+                               "xxx-yyy;q=.01, xxx-yyy;q=.01, xxx-yyy;q=.01, xxx-yyy;q=.01, xxx-yyy;q=.01, xxx-yyy;q=.01, "+
+                               "xxx-yyy;q=.01, xxx-yyy;q=.01, xxx-yyy;q=.01, xxx-yyy;q=.01, xxx-yyy;q=.01, xxx-yyy;q=.01, "+
+                               "xxx-yyy;q=.01, xxx-yyy;q=.01, xxx-yyy;q=.01, xxx-yyy;q=.01, xxx-yyy;q=.01, xxx-yyy;q=.01, "+
+                               "es",
+                        /*5*/ "de;q=.9, fr;q=.9, xxx-yyy, sr;q=.8"};
+    
+    
+    public void TestAcceptLanguage() {
+        for(int i = 0 ; i < (ACCEPT_LANGUAGE_HTTP.length); i++) {
+            Boolean expectBoolean = new Boolean(ACCEPT_LANGUAGE_TESTS[i][1]);
+            String expectLocale=ACCEPT_LANGUAGE_TESTS[i][0];
+            
+           logln("#" + i + ": expecting: " + expectLocale + " (" + expectBoolean + ")");
+            
+            boolean r[] = { false };
+            ULocale n = ULocale.acceptLanguage(ACCEPT_LANGUAGE_HTTP[i], r);
+            if((n==null)&&(expectLocale!=null)) {
+                errln("result was null! line #" + i);
+                continue;
+            }
+            if(((n==null)&&(expectLocale==null)) || (n.toString().equals(expectLocale))) {
+                logln(" locale: OK." );
+            } else {
+                errln("expected " + expectLocale + " but got " + n.toString());
+            }
+            if(expectBoolean.equals(new Boolean(r[0]))) {
+                logln(" bool: OK.");
+            } else {
+                errln("bool: not OK, was " + new Boolean(r[0]).toString() + " expected " + expectBoolean.toString());
+            }
+        }
+    }
+    
+    private ULocale[] StringToULocaleArray(String acceptLanguageList){
+        //following code is copied from 
+        //ULocale.acceptLanguage(String acceptLanguageList, ULocale[] availableLocales, boolean[] fallback)
+        class ULocaleAcceptLanguageQ implements Comparable {
+            private double q;
+            private double serial;
+            public ULocaleAcceptLanguageQ(double theq, int theserial) {
+                q = theq;
+                serial = theserial;
+            }
+            public int compareTo(Object o) {
+                ULocaleAcceptLanguageQ other = (ULocaleAcceptLanguageQ) o;
+                if(q > other.q) { // reverse - to sort in descending order
+                    return -1;
+                } else if(q < other.q) {
+                    return 1;
+                }
+                if(serial < other.serial) {
+                    return -1;
+                } else if(serial > other.serial) {
+                    return 1;
+                } else {
+                    return 0; // same object
+                }
+            }
+        }
+
+        // 1st: parse out the acceptLanguageList into an array
+        
+        TreeMap map = new TreeMap();
+        
+        final int l = acceptLanguageList.length();
+        int n;
+        int last=-1;
+        for(n=0;n<l;n++) {
+            int itemEnd = acceptLanguageList.indexOf(',',n);
+            if(itemEnd == -1) {
+                itemEnd = l;
+            }
+            int paramEnd = acceptLanguageList.indexOf(';',n);
+            double q = 1.0;
+ 
+            if((paramEnd != -1) && (paramEnd < itemEnd)) {
+                /* semicolon (;) is closer than end (,) */
+                int t = paramEnd + 1;
+                while(Character.isSpace(acceptLanguageList.charAt(t))) {
+                    t++;
+                }
+                if(acceptLanguageList.charAt(t)=='q') {
+                    t++;
+                }
+                while(Character.isSpace(acceptLanguageList.charAt(t))) {
+                    t++;
+                }
+                if(acceptLanguageList.charAt(t)=='=') {
+                    t++;
+                }
+                while(Character.isSpace(acceptLanguageList.charAt(t))) {
+                    t++;
+                }
+                try {
+                    String val = acceptLanguageList.substring(t,itemEnd).trim();
+                    q = Double.parseDouble(val);
+                } catch (NumberFormatException nfe) {
+                    q = 1.0;
+                }
+            } else {
+                q = 1.0; //default
+                paramEnd = itemEnd;
+            }
+
+            String loc = acceptLanguageList.substring(n,paramEnd).trim();
+            int serial = map.size();
+            ULocaleAcceptLanguageQ entry = new ULocaleAcceptLanguageQ(q,serial);
+            map.put(entry, new ULocale(ULocale.canonicalize(loc))); // sort in reverse order..   1.0, 0.9, 0.8 .. etc
+            n = itemEnd; // get next item. (n++ will skip over delimiter)
+        }
+        
+        // 2. pull out the map 
+        ULocale acceptList[] = (ULocale[])map.values().toArray(new ULocale[map.size()]);
+        return acceptList;
+    }
+    
+    public void TestAcceptLanguage2() {
+        for(int i = 0 ; i < (ACCEPT_LANGUAGE_HTTP.length); i++) {
+            Boolean expectBoolean = new Boolean(ACCEPT_LANGUAGE_TESTS[i][1]);
+            String expectLocale=ACCEPT_LANGUAGE_TESTS[i][0];
+            
+           logln("#" + i + ": expecting: " + expectLocale + " (" + expectBoolean + ")");
+            
+            boolean r[] = { false };
+            ULocale n = ULocale.acceptLanguage(StringToULocaleArray(ACCEPT_LANGUAGE_HTTP[i]), r);
+            if((n==null)&&(expectLocale!=null)) {
+                errln("result was null! line #" + i);
+                continue;
+            }
+            if(((n==null)&&(expectLocale==null)) || (n.toString().equals(expectLocale))) {
+                logln(" locale: OK." );
+            } else {
+                errln("expected " + expectLocale + " but got " + n.toString());
+            }
+            if(expectBoolean.equals(new Boolean(r[0]))) {
+                logln(" bool: OK.");
+            } else {
+                errln("bool: not OK, was " + new Boolean(r[0]).toString() + " expected " + expectBoolean.toString());
+            }
+        }
+    }}
diff --git a/src/com/ibm/icu/dev/test/util/UnicodeLabel.java b/src/com/ibm/icu/dev/test/util/UnicodeLabel.java
new file mode 100644
index 0000000..cd75d5e
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/util/UnicodeLabel.java
@@ -0,0 +1,56 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.test.util;
+
+import com.ibm.icu.impl.Utility;
+import com.ibm.icu.text.UTF16;
+
+public abstract class UnicodeLabel {
+    
+    public abstract String getValue(int codepoint, boolean isShort);
+    
+    public String getValue(String s, String separator, boolean withCodePoint) {
+        if (s.length() == 1) { // optimize simple case
+            return getValue(s.charAt(0), withCodePoint); 
+        }
+        StringBuffer sb = new StringBuffer();
+        int cp;
+        for (int i = 0; i < s.length(); i+=UTF16.getCharCount(cp)) {
+            cp = UTF16.charAt(s,i);
+            if (i != 0) sb.append(separator);
+            sb.append(getValue(cp, withCodePoint));
+        }
+        return sb.toString();
+    }
+    
+    public int getMaxWidth(boolean isShort) {
+        return 0;
+    }
+    
+    private static class Hex extends UnicodeLabel {
+        public String getValue(int codepoint, boolean isShort) {
+            if (isShort) return Utility.hex(codepoint,4);
+            return "U+" + Utility.hex(codepoint,4);
+        }       
+    }
+    
+    public static class Constant extends UnicodeLabel {
+        private String value;
+        public Constant(String value) {
+            if (value == null) value = "";
+            this.value = value;
+        }
+        public String getValue(int codepoint, boolean isShort) {
+            return value;
+        }
+        public int getMaxWidth(boolean isShort) {
+            return value.length();      
+        }
+    }
+    public static final UnicodeLabel NULL = new Constant("");
+    public static final UnicodeLabel HEX = new Hex();
+}
\ No newline at end of file
diff --git a/src/com/ibm/icu/dev/test/util/UnicodeMap.java b/src/com/ibm/icu/dev/test/util/UnicodeMap.java
new file mode 100644
index 0000000..ca3bf71
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/util/UnicodeMap.java
@@ -0,0 +1,604 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.test.util;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Comparator;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.LinkedHashSet;
+import java.util.List;
+import java.util.Set;
+import java.util.TreeSet;
+
+import com.ibm.icu.impl.Utility;
+import com.ibm.icu.text.UnicodeSet;
+import com.ibm.icu.text.UnicodeSetIterator;
+/**
+ * Class for mapping Unicode characters to values
+ * Much smaller storage than using HashMap.
+ * @author Davis
+ */
+// TODO Optimize using range map
+public final class UnicodeMap implements Cloneable, Lockable {
+    static final boolean ASSERTIONS = false;
+    static final long GROWTH_PERCENT = 200; // 100 is no growth!
+    static final long GROWTH_GAP = 10; // extra bump!
+
+    private int length = 2;
+    private int[] transitions = {0,0x110000,0,0,0,0,0,0,0,0};
+    private Object[] values = new Object[10];
+    private boolean errorOnReset = false;
+    
+    private LinkedHashSet availableValues = new LinkedHashSet();
+    boolean staleAvailableValues = false;
+
+    private int lastIndex = 0;
+    
+    /* Boilerplate */
+    public boolean equals(Object other) {
+        if (other == null) return false;
+        try {
+            UnicodeMap that = (UnicodeMap) other;
+            if (length != that.length) return false;
+            for (int i = 0; i < length-1; ++i) {
+                if (transitions[i] != that.transitions[i]) return false;
+                if (!areEqual(values[i], that.values[i])) return false;
+            }
+            return true;
+        } catch (ClassCastException e) {
+            return false;
+        }
+    }
+    
+    public int getHashCode(Object o) {
+    	return o.hashCode();
+    	//equator.getHashCode
+    }
+    
+    public static boolean areEqual(Object a , Object b) {
+    	if (a == b) return true;
+    	if (a == null || b == null) return false;
+    	return a.equals(b);
+    }
+    
+    public int hashCode() {
+        int result = length;
+        // TODO might want to abbreviate this for speed.
+        for (int i = 0; i < length-1; ++i) {
+            result = 37*result + transitions[i];
+            result = 37*result + getHashCode(values[i]);
+        }
+        return result;
+    }
+    
+    /**
+     * Standard clone. Warning, as with Collections, does not do deep clone.
+     */
+    public Object clone() {
+        UnicodeMap that = new UnicodeMap();
+        that.length = length;
+        that.transitions = (int[]) transitions.clone();
+        that.values = (Object[]) values.clone();
+        that.availableValues = new LinkedHashSet(availableValues);
+        that.locked = false;
+        return that;
+    }
+    
+    /* for internal consistency checking */
+    
+    void _checkInvariants() {
+        if (length < 2
+          || length > transitions.length
+          || transitions.length != values.length) {
+              throw new IllegalArgumentException("Invariant failed: Lengths bad");
+          }
+        for (int i = 1; i < length-1; ++i) {
+            if (areEqual(values[i-1], values[i])) {
+                throw new IllegalArgumentException("Invariant failed: values shared at " 
+                    + "\t" + Utility.hex(i-1) + ": <" + values[i-1] + ">"
+                    + "\t" + Utility.hex(i) + ": <" + values[i] + ">"
+                    );
+            }
+        }
+        if (transitions[0] != 0 || transitions[length-1] != 0x110000) {
+            throw new IllegalArgumentException("Invariant failed: bounds set wrong");
+        }
+        for (int i = 1; i < length-1; ++i) {
+            if (transitions[i-1] >= transitions[i]) {
+                throw new IllegalArgumentException("Invariant failed: not monotonic"
+                + "\t" + Utility.hex(i-1) + ": " + transitions[i-1]
+                + "\t" + Utility.hex(i) + ": " + transitions[i]
+                    );
+            }
+        }
+    }
+    
+    /**
+     * Finds an index such that inversionList[i] <= codepoint < inversionList[i+1]
+     * Assumes that 0 <= codepoint <= 0x10FFFF
+     * @param codepoint
+     * @return the index
+     */
+    private int _findIndex(int c) {
+        int lo = 0;
+        int hi = length - 1;
+        int i = (lo + hi) >>> 1;
+        // invariant: c >= list[lo]
+        // invariant: c < list[hi]
+        while (i != lo) {
+            if (c < transitions[i]) {
+                hi = i;
+            } else {
+                lo = i;
+            }
+            i = (lo + hi) >>> 1;
+        }
+        if (ASSERTIONS) _checkFind(c, lo);
+        return lo;
+    }
+    
+    private void _checkFind(int codepoint, int value) {
+        int other = __findIndex(codepoint);
+        if (other != value) {
+            throw new IllegalArgumentException("Invariant failed: binary search"
+                + "\t" + Utility.hex(codepoint) + ": " + value
+                + "\tshould be: " + other);            
+        }
+    }
+    
+    private int __findIndex(int codepoint) {
+        // TODO use binary search
+        for (int i = length-1; i > 0; --i) {
+            if (transitions[i] <= codepoint) return i;
+        }
+        return 0;
+    }
+    
+    /*
+     * Try indexed lookup
+     
+    static final int SHIFT = 8;
+    int[] starts = new int[0x10FFFF>>SHIFT]; // lowest transition index where codepoint>>x can be found
+    boolean startsValid = false;
+    private int findIndex(int codepoint) {
+        if (!startsValid) {
+            int start = 0;
+            for (int i = 1; i < length; ++i) {
+                
+            }
+        }
+        for (int i = length-1; i > 0; --i) {
+           if (transitions[i] <= codepoint) return i;
+       }
+       return 0;
+   }
+   */
+   
+    /**
+     * Remove the items from index through index+count-1.
+     * Logically reduces the size of the internal arrays.
+     * @param index
+     * @param count
+     */
+    private void _removeAt(int index, int count) {
+        for (int i = index + count; i < length; ++i) {
+            transitions[i-count] = transitions[i];
+            values[i-count] = values[i];
+        }
+        length -= count;
+    }
+    /**
+     * Add a gap from index to index+count-1.
+     * The values there are undefined, and must be set.
+     * Logically grows arrays to accomodate. Actual growth is limited
+     * @param index
+     * @param count
+     */
+    private void _insertGapAt(int index, int count) {
+        int newLength = length + count;
+        int[] oldtransitions = transitions;
+        Object[] oldvalues = values;
+        if (newLength > transitions.length) {
+            int allocation = (int) (GROWTH_GAP + (newLength * GROWTH_PERCENT) / 100);
+            transitions = new int[allocation];
+            values = new Object[allocation];
+            for (int i = 0; i < index; ++i) {
+                transitions[i] = oldtransitions[i];
+                values[i] = oldvalues[i];
+            }
+        } 
+        for (int i = length - 1; i >= index; --i) {
+            transitions[i+count] = oldtransitions[i];
+            values[i+count] = oldvalues[i];
+        }
+        length = newLength;
+    }
+    
+    /**
+     * Associates code point with value. Removes any previous association.
+     * @param codepoint
+     * @param value
+     * @return this, for chaining
+     */
+    private UnicodeMap _put(int codepoint, Object value) {
+        // Warning: baseIndex is an invariant; must
+        // be defined such that transitions[baseIndex] < codepoint
+        // at end of this routine.
+        int baseIndex;
+        if (transitions[lastIndex] <= codepoint 
+          && codepoint < transitions[lastIndex+1]) {
+            baseIndex = lastIndex;
+        } else { 
+            baseIndex = _findIndex(codepoint);
+        }
+        int limitIndex = baseIndex + 1;
+        // cases are (a) value is already set
+        if (areEqual(values[baseIndex], value)) return this;
+        if (locked) throw new UnsupportedOperationException("Attempt to modify locked object");
+        if (errorOnReset && values[baseIndex] != null) {
+        	throw new IllegalArgumentException("Attempt to reset value for " + Utility.hex(codepoint)
+        			+ " when that is disallowed. Old: " + values[baseIndex] + "; New: " + value);
+        }
+
+        // adjust the available values
+        staleAvailableValues = true;
+        availableValues.add(value); // add if not there already      
+
+        int baseCP = transitions[baseIndex];
+        int limitCP = transitions[limitIndex];
+        // we now start walking through the difference case,
+        // based on whether we are at the start or end of range
+        // and whether the range is a single character or multiple
+        
+        if (baseCP == codepoint) {
+            // CASE: At very start of range
+            boolean connectsWithPrevious = 
+                baseIndex != 0 && areEqual(value, values[baseIndex-1]);               
+                
+            if (limitCP == codepoint + 1) {
+                // CASE: Single codepoint range
+                boolean connectsWithFollowing =
+                    baseIndex < length - 1 && areEqual(value, values[limitIndex]);
+                
+                if (connectsWithPrevious) {
+                    // A1a connects with previous & following, so remove index
+                    if (connectsWithFollowing) {
+                        _removeAt(baseIndex, 2);
+                     } else {
+                        _removeAt(baseIndex, 1); // extend previous
+                    }
+                    --baseIndex; // fix up
+                } else if (connectsWithFollowing) {
+                    _removeAt(baseIndex, 1); // extend following backwards
+                    transitions[baseIndex] = codepoint; 
+                } else {
+                    // doesn't connect on either side, just reset
+                    values[baseIndex] = value;
+                }
+            } else if (connectsWithPrevious) {             
+            // A.1: start of multi codepoint range
+            // if connects
+                ++transitions[baseIndex]; // extend previous
+            } else {
+                // otherwise insert new transition
+                transitions[baseIndex] = codepoint+1; // fix following range
+                _insertGapAt(baseIndex, 1);
+                values[baseIndex] = value;
+                transitions[baseIndex] = codepoint;
+            }
+        } else if (limitCP == codepoint + 1) {
+            // CASE: at end of range        
+            // if connects, just back up range
+            boolean connectsWithFollowing =
+                baseIndex < length - 1 && areEqual(value, values[limitIndex]);
+
+            if (connectsWithFollowing) {
+                --transitions[limitIndex]; 
+                return this;                
+            } else {
+                _insertGapAt(limitIndex, 1);
+                transitions[limitIndex] = codepoint;
+                values[limitIndex] = value;
+            }
+        } else {
+            // CASE: in middle of range
+            // insert gap, then set the new range
+            _insertGapAt(++baseIndex,2);
+            transitions[baseIndex] = codepoint;
+            values[baseIndex] = value;
+            transitions[baseIndex+1] = codepoint + 1;
+            values[baseIndex+1] = values[baseIndex-1]; // copy lower range values
+        }
+        lastIndex = baseIndex; // store for next time
+        return this;
+    }
+    private UnicodeMap _putAll(int startCodePoint, int endCodePoint, Object value) {
+        for (int i = startCodePoint; i <= endCodePoint; ++i) {
+            _put(i, value);
+        }
+        return this;
+    }
+    /**
+     * Sets the codepoint value.
+     * @param codepoint
+     * @param value
+     * @return this (for chaining)
+     */
+    public UnicodeMap put(int codepoint, Object value) {
+        if (codepoint < 0 || codepoint > 0x10FFFF) {
+            throw new IllegalArgumentException("Codepoint out of range: " + codepoint);
+        }
+        _put(codepoint, value);
+        if (ASSERTIONS) _checkInvariants();
+        return this;
+    }
+    /**
+     * Adds bunch o' codepoints; otherwise like put.
+     * @param codepoints
+     * @param value
+     * @return this (for chaining)
+     */
+    public UnicodeMap putAll(UnicodeSet codepoints, Object value) {
+        // TODO optimize
+        UnicodeSetIterator it = new UnicodeSetIterator(codepoints);
+        while (it.nextRange()) {
+            _putAll(it.codepoint, it.codepointEnd, value);
+        }
+        return this;
+    }
+    
+    /**
+     * Adds bunch o' codepoints; otherwise like add.
+     * @param startCodePoint
+     * @param endCodePoint
+     * @param value
+     * @return this (for chaining)
+     */
+    public UnicodeMap putAll(int startCodePoint, int endCodePoint, Object value) {
+        if (startCodePoint < 0 || endCodePoint > 0x10FFFF) {
+            throw new IllegalArgumentException("Codepoint out of range: "
+             + Utility.hex(startCodePoint) + ".." + Utility.hex(endCodePoint));
+        }
+        // TODO optimize
+        for (int i = startCodePoint; i <= endCodePoint; ++i) {
+            _put(i, value);
+        }
+        return this;
+    }
+    /**
+     * Add all the (main) values from a Unicode property
+     * @param prop the property to add to the map
+     * @return this (for chaining)
+     */
+    public UnicodeMap putAll(UnicodeProperty prop) {
+        // TODO optimize
+        for (int i = 0; i <= 0x10FFFF; ++i) {
+            _put(i, prop.getValue(i));
+        }
+        return this;
+    }
+
+    /**
+     * Add all the (main) values from a Unicode property
+     * @param prop the property to add to the map
+     * @return this (for chaining)
+     */
+    public UnicodeMap putAll(UnicodeMap prop) {
+        // TODO optimize
+        for (int i = 0; i <= 0x10FFFF; ++i) {
+            _put(i, prop.getValue(i));
+        }
+        return this;
+    }
+
+    /**
+     * Set the currently unmapped Unicode code points to the given value.
+     * @param value the value to set
+     * @return this (for chaining)
+     */
+    public UnicodeMap setMissing(Object value) {
+    	// fast path, if value not yet present
+    	if (!getAvailableValues().contains(value)) {
+        	staleAvailableValues = true;
+	    	availableValues.add(value);
+	        for (int i = 0; i < length; ++i) {
+	            if (values[i] == null) values[i] = value;
+	        }
+	        return this;
+	    } else {
+	    	return putAll(getSet(null), value);
+	    }
+    }
+    /**
+     * Returns the set associated with a given value. Deposits into
+     * result if it is not null. Remember to clear if you just want
+     * the new values.
+     * @param value
+     * @param result
+     * @return result
+     */
+    public UnicodeSet getSet(Object value, UnicodeSet result) {
+        if (result == null) result = new UnicodeSet();
+        for (int i = 0; i < length - 1; ++i) {
+            if (areEqual(value, values[i])) {
+                result.add(transitions[i], transitions[i+1]-1);
+            } 
+        }
+        return result;
+    }
+    public UnicodeSet getSet(Object value) {
+        return getSet(value,null);
+    }
+    /**
+     * Returns the list of possible values. Deposits each non-null value into
+     * result. Creates result if it is null. Remember to clear result if
+     * you are not appending to existing collection.
+     * @param result
+     * @return result
+     */
+    public Collection getAvailableValues(Collection result) {
+    	if (staleAvailableValues) {
+    		// collect all the current values
+    		// retain them in the availableValues
+    		Set temp = new HashSet();
+            for (int i = 0; i < length - 1; ++i) {
+                if (values[i] != null) temp.add(values[i]);
+            }
+            availableValues.retainAll(temp);
+            staleAvailableValues = false;
+    	}
+    	if (result == null) result = new ArrayList(1);
+        result.addAll(availableValues);
+        return result;
+    }
+    
+    /**
+     * Convenience method
+     */
+    public Collection getAvailableValues() {
+        return getAvailableValues(null);
+    }
+    /**
+     * Gets the value associated with a given code point.
+     * Returns null, if there is no such value.
+     * @param codepoint
+     * @return the value
+     */
+    public Object getValue(int codepoint) {
+        if (codepoint < 0 || codepoint > 0x10FFFF) {
+            throw new IllegalArgumentException("Codepoint out of range: " + codepoint);
+        }
+        return values[_findIndex(codepoint)];
+    }
+    
+    public interface Composer {
+    	Object compose(int codePoint, Object a, Object b);
+    }
+    
+    public UnicodeMap composeWith(UnicodeMap other, Composer composer) {
+    	for (int i = 0; i <= 0x10FFFF; ++i) {
+    		Object v1 = getValue(i);
+    		Object v2 = other.getValue(i);
+    		Object v3 = composer.compose(i, v1, v2);
+    		if (v1 != v3 && (v1 == null || !v1.equals(v3))) put(i, v3);
+    	}
+    	return this;
+    }
+    
+    /**
+     * Follow the style used by UnicodeSetIterator
+     */
+    public static class MapIterator {
+        public int codepoint;
+        public int codepointEnd;
+        public Object value;
+        
+        private UnicodeMap map;
+        private int index;
+        private int startRange;
+        private int endRange;
+        private Object lastValue;
+        
+        public MapIterator(UnicodeMap map) {
+            reset(map);
+        }
+        // note: length of 2 means {0, 110000}. Only want to index up to 0!
+        public boolean nextRange() {
+            if (index < 0 || index >= map.length - 1) return false;
+            value = map.values[index];
+            codepoint = startRange = map.transitions[index++];
+            codepointEnd = endRange = map.transitions[index] - 1; // -1 to make limit into end
+            return true;
+        }
+        public boolean next() {
+            if (startRange > endRange) {
+                //System.out.println("***" + Utility.hex(startRange) + ".." + Utility.hex(endRange));
+                if (!nextRange()) return false;
+                // index now points AFTER the start of the range
+                lastValue = map.values[index-1];
+                //System.out.println("***" + Utility.hex(codepoint) + ".." + Utility.hex(codepointEnd) + " => " + lastValue);
+            }
+            value = lastValue;
+            codepoint = codepointEnd = startRange++; // set to first, and iterate
+            return true;
+        }
+
+        public MapIterator reset() {
+            index = 0;
+            startRange = 0;
+            endRange = -1;
+            return this;
+        }
+        public MapIterator reset(UnicodeMap map) {
+            this.map = map;
+            return reset();
+        }
+    }
+    
+    public String toString() {
+        return toString(null);
+    }
+    public String toString(Comparator collected) {
+        StringBuffer result = new StringBuffer();       
+        if (collected == null) {
+            for (int i = 0; i < length-1; ++i) {
+                Object value = values[i];
+                if (value == null) continue;
+                int start = transitions[i];
+                int end = transitions[i+1]-1;
+                result.append(Utility.hex(start));
+                if (start != end) result.append("..")
+                .append(Utility.hex(end));
+                result.append("\t=> ")
+                .append(values[i] == null ? "null" : values[i].toString())
+                .append("\r\n");
+            }
+        } else {
+            Set set = (Set) getAvailableValues(new TreeSet(collected));
+            for (Iterator it = set.iterator(); it.hasNext();) {
+                Object value = it.next();
+                UnicodeSet s = getSet(value);
+                result.append(value)
+                .append("\t=> ")
+                .append(s.toPattern(true))
+                .append("\r\n");
+            }
+        }
+        return result.toString();
+    }
+	/**
+	 * @return Returns the errorOnReset.
+	 */
+	public boolean getErrorOnReset() {
+		return errorOnReset;
+	}
+	/**
+	 * @param errorOnReset The errorOnReset to set.
+	 */
+	public void setErrorOnReset(boolean errorOnReset) {
+		this.errorOnReset = errorOnReset;
+	}
+
+	private boolean locked;
+	/* (non-Javadoc)
+	 * @see com.ibm.icu.dev.test.util.Lockable#isLocked()
+	 */
+	public boolean isLocked() {
+		// TODO Auto-generated method stub
+		return locked;
+	}
+
+	/* (non-Javadoc)
+	 * @see com.ibm.icu.dev.test.util.Lockable#lock()
+	 */
+	public Object lock() {
+		locked = true;
+		return this;
+	}
+}
diff --git a/src/com/ibm/icu/dev/test/util/UnicodeProperty.java b/src/com/ibm/icu/dev/test/util/UnicodeProperty.java
new file mode 100644
index 0000000..17545f2
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/util/UnicodeProperty.java
@@ -0,0 +1,1062 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.test.util;
+
+import java.io.PrintWriter;
+import java.io.StringWriter;
+import java.text.ParsePosition;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Comparator;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.TreeMap;
+import java.util.regex.Pattern;
+
+import com.ibm.icu.impl.Utility;
+import com.ibm.icu.text.SymbolTable;
+import com.ibm.icu.text.UTF16;
+import com.ibm.icu.text.UnicodeMatcher;
+import com.ibm.icu.text.UnicodeSet;
+import com.ibm.icu.text.UnicodeSetIterator;
+
+public abstract class UnicodeProperty extends UnicodeLabel {
+
+    public static boolean DEBUG = false;
+    public static String CHECK_NAME = "FC_NFKC_Closure";
+    public static int CHECK_VALUE = 0x037A;
+
+    private String name;
+    private String firstNameAlias = null;
+    private int type;
+    private Map valueToFirstValueAlias = null;
+
+    public static final int UNKNOWN = 0,
+        BINARY = 2, EXTENDED_BINARY = 3,
+        ENUMERATED = 4, EXTENDED_ENUMERATED = 5,
+        CATALOG = 6, EXTENDED_CATALOG = 7,
+        MISC = 8, EXTENDED_MISC = 9,
+        STRING = 10, EXTENDED_STRING = 11,
+        NUMERIC = 12, EXTENDED_NUMERIC = 13,
+        START_TYPE = 2,
+        LIMIT_TYPE = 14,
+        EXTENDED_MASK = 1,
+        CORE_MASK = ~EXTENDED_MASK,
+        BINARY_MASK = (1<<BINARY) | (1<<EXTENDED_BINARY),
+        STRING_OR_MISC_MASK = (1<<STRING) | (1<<EXTENDED_STRING)
+            | (1<<MISC) | (1<<EXTENDED_MISC),
+        ENUMERATED_OR_CATALOG_MASK = (1<<ENUMERATED) | (1<<EXTENDED_ENUMERATED)
+            | (1<<CATALOG) | (1<<EXTENDED_CATALOG);
+
+
+    private static final String[] TYPE_NAMES = {
+        "Unknown",
+        "Unknown",
+        "Binary",
+        "Extended Binary",
+        "Enumerated",
+        "Extended Enumerated",
+        "Catalog",
+        "Extended Catalog",
+        "Miscellaneous",
+        "Extended Miscellaneous",
+        "String",
+        "Extended String",
+        "Numeric",
+        "Extended Numeric",
+    };
+
+    public static String getTypeName(int propType) {
+        return TYPE_NAMES[propType];
+    }
+
+    public final String getName() {
+        return name;
+    }
+
+    public final int getType() {
+        return type;
+    }
+
+    public final boolean isType(int mask) {
+        return ((1<<type) & mask) != 0;
+    }
+
+    protected final void setName(String string) {
+        if (string == null) throw new IllegalArgumentException("Name must not be null");
+        name = string;
+    }
+
+    protected final void setType(int i) {
+        type = i;
+    }
+
+    public String getVersion() {
+        return _getVersion();
+    }
+    public String getValue(int codepoint) {
+        if (DEBUG && CHECK_VALUE == codepoint && CHECK_NAME.equals(getName())) {
+            String value = _getValue(codepoint);
+            System.out.println(getName() + "(" + Utility.hex(codepoint) + "):" +
+                (getType() == STRING ? Utility.hex(value) : value));
+            return value;
+        }
+        return _getValue(codepoint);
+    }
+
+    //public String getValue(int codepoint, boolean isShort) {
+    //	return getValue(codepoint);
+    //}
+    
+    public List getNameAliases(List result) {
+        if (result == null) result = new ArrayList(1);
+        return _getNameAliases(result);
+    }
+    public List getValueAliases(String valueAlias, List result) {
+        if (result == null) result = new ArrayList(1);
+        result = _getValueAliases(valueAlias, result);
+        if (!result.contains(valueAlias) ) { // FIX && type < NUMERIC 
+        	result = _getValueAliases(valueAlias, result); // for debugging
+            throw new IllegalArgumentException(
+                "Internal error: " + getName() + " doesn't contain " + valueAlias
+                + ": " + new BagFormatter().join(result));
+        }
+        return result;
+    }
+    public List getAvailableValues(List result) {
+        if (result == null) result = new ArrayList(1);
+        return _getAvailableValues(result);
+    }
+
+    protected abstract String _getVersion();
+    protected abstract String _getValue(int codepoint);
+    protected abstract List _getNameAliases(List result);
+    protected abstract List _getValueAliases(String valueAlias, List result);
+    protected abstract List _getAvailableValues(List result);
+
+    // conveniences
+    public final List getNameAliases() {
+        return getNameAliases(null);
+    }
+    public final List getValueAliases(String valueAlias) {
+        return getValueAliases(valueAlias, null);
+    }
+    public final List getAvailableValues() {
+        return getAvailableValues(null);
+    }
+    
+    public final String getValue(int codepoint, boolean getShortest) {
+        String result = getValue(codepoint);
+        if (type >= MISC || result == null || !getShortest) return result;
+        return getFirstValueAlias(result);
+    }
+
+    public final String getFirstNameAlias() {
+        if (firstNameAlias == null) {
+            firstNameAlias = (String) getNameAliases().get(0);
+        }
+        return firstNameAlias;
+    }
+
+    public final String getFirstValueAlias(String value) {
+        if (valueToFirstValueAlias == null) _getFirstValueAliasCache();
+        return (String)valueToFirstValueAlias.get(value);
+    }
+
+    private void _getFirstValueAliasCache() {
+        maxValueWidth = 0;
+        maxFirstValueAliasWidth = 0;
+        valueToFirstValueAlias = new HashMap(1);
+        Iterator it = getAvailableValues().iterator();
+        while (it.hasNext()) {
+            String value = (String)it.next();
+            String first = (String) getValueAliases(value).get(0);
+            if (first == null) { // internal error
+                throw new IllegalArgumentException("Value not in value aliases: " + value);
+            }
+            if (DEBUG && CHECK_NAME.equals(getName())) {
+                System.out.println("First Alias: " + getName() + ": " + value + " => "
+                 + first + new BagFormatter().join(getValueAliases(value)));
+            }
+            valueToFirstValueAlias.put(value,first);
+            if (value.length() > maxValueWidth) {
+                maxValueWidth = value.length();
+            }
+            if (first.length() > maxFirstValueAliasWidth) {
+                maxFirstValueAliasWidth = first.length();
+            }
+        }
+    }
+
+    private int maxValueWidth = -1;
+    private int maxFirstValueAliasWidth = -1;
+
+    public int getMaxWidth(boolean getShortest) {
+        if (maxValueWidth < 0) _getFirstValueAliasCache();
+        if (getShortest) return maxFirstValueAliasWidth;
+        return maxValueWidth;
+    }
+
+    public final UnicodeSet getSet(String propertyValue) {
+        return getSet(propertyValue,null);
+    }
+    public final UnicodeSet getSet(Matcher matcher) {
+        return getSet(matcher,null);
+    }
+
+    public final UnicodeSet getSet(String propertyValue, UnicodeSet result) {
+        return getSet(new SimpleMatcher(propertyValue,
+            isType(STRING_OR_MISC_MASK) ? null : PROPERTY_COMPARATOR),
+          result);
+    }
+
+    private UnicodeMap unicodeMap = null;
+
+    public static final String UNUSED = "??";
+
+    public final UnicodeSet getSet(Matcher matcher, UnicodeSet result) {
+        if (result == null) result = new UnicodeSet();
+        if (isType(STRING_OR_MISC_MASK)) {
+            for (int i = 0; i <= 0x10FFFF; ++i) {
+                String value = getValue(i);
+                if (value != null && matcher.matches(value)) {
+                    result.add(i);
+                }
+            }
+            return result;
+        }
+        List temp = new ArrayList(1); // to avoid reallocating...
+        UnicodeMap um = getUnicodeMap_internal();
+        Iterator it = um.getAvailableValues(null).iterator();
+        main:
+        while (it.hasNext()) {
+            String value = (String)it.next();
+            temp.clear();
+            Iterator it2 = getValueAliases(value,temp).iterator();
+            while (it2.hasNext()) {
+                String value2 = (String)it2.next();
+                //System.out.println("Values:" + value2);
+                if (matcher.matches(value2)
+                  || matcher.matches(toSkeleton(value2))) {
+                    um.getSet(value, result);
+                    continue main;
+                }
+            }
+        }
+        return result;
+    }
+
+    /*
+    public UnicodeSet getMatchSet(UnicodeSet result) {
+        if (result == null) result = new UnicodeSet();
+        addAll(matchIterator, result);
+        return result;
+    }
+
+    public void setMatchSet(UnicodeSet set) {
+        matchIterator = new UnicodeSetIterator(set);
+    }
+    */
+
+    /**
+     * Utility for debugging
+     */
+    public static String getStack() {
+        Exception e = new Exception();
+        StringWriter sw = new StringWriter();
+        PrintWriter pw = new PrintWriter(sw);
+        e.printStackTrace(pw);
+        pw.flush();
+        return "Showing Stack with fake " + sw.getBuffer().toString();
+    }
+
+    // TODO use this instead of plain strings
+    public static class Name implements Comparable {
+        private static Map skeletonCache;
+        private String skeleton;
+        private String pretty;
+        public final int RAW = 0, TITLE = 1, NORMAL = 2;
+        public Name(String name, int style) {
+            if (name == null) name = "";
+            if (style == RAW) {
+                skeleton = pretty = name;
+            } else {
+                pretty = regularize(name, style == TITLE);
+                skeleton = toSkeleton(pretty);
+            }
+        }
+        public int compareTo(Object o) {
+            return skeleton.compareTo(((Name)o).skeleton);
+        }
+        public boolean equals(Object o) {
+            return skeleton.equals(((Name)o).skeleton);
+        }
+        public int hashCode() {
+            return skeleton.hashCode();
+        }
+        public String toString() {
+            return pretty;
+        }
+    }
+
+    /**
+     * @return the unicode map
+     */
+    public UnicodeMap getUnicodeMap() {
+        return (UnicodeMap) getUnicodeMap_internal().clone();
+    }
+
+    /**
+     * @return the unicode map
+     */
+    protected UnicodeMap getUnicodeMap_internal() {
+        if (unicodeMap == null) unicodeMap = _getUnicodeMap();
+        return unicodeMap;
+    }
+
+    protected UnicodeMap _getUnicodeMap() {
+        UnicodeMap result = new UnicodeMap();
+        for (int i = 0; i <= 0x10FFFF; ++i) {
+            //if (DEBUG && i == 0x41) System.out.println(i + "\t" + getValue(i));
+            result.put(i, getValue(i));
+        }
+        if (DEBUG && CHECK_NAME.equals(getName())) {
+            System.out.println(getName() + ":\t" + getClass().getName()
+                 + "\t" + getVersion());
+            System.out.println(getStack());
+            System.out.println(result);
+        }
+        return result;
+    }
+    
+    /**
+     * Really ought to create a Collection UniqueList, that forces uniqueness. But for now...
+     */
+    public static Collection addUnique(Object obj, Collection result) {
+        if (obj != null && !result.contains(obj)) result.add(obj);
+        return result;
+    }
+
+    /**
+     * Utility for managing property & non-string value aliases
+     */
+    public static final Comparator PROPERTY_COMPARATOR = new Comparator() {
+        public int compare(Object o1, Object o2) {
+            return compareNames((String)o1, (String)o2);
+        }
+    };
+
+    /**
+     * Utility for managing property & non-string value aliases
+     *
+     */
+    // TODO optimize
+    public static boolean equalNames(String a, String b) {
+        if (a == b) return true;
+        if (a == null) return false;
+         return toSkeleton(a).equals(toSkeleton(b));
+    }
+
+    /**
+     * Utility for managing property & non-string value aliases
+     */
+    // TODO optimize
+    public static int compareNames(String a, String b) {
+        if (a == b) return 0;
+        if (a == null) return -1;
+        if (b == null) return 1;
+        return toSkeleton(a).compareTo(toSkeleton(b));
+    }
+
+    /**
+     * Utility for managing property & non-string value aliases
+     */
+    // TODO account for special names, tibetan, hangul
+    public static String toSkeleton(String source) {
+        if (source == null) return null;
+        StringBuffer skeletonBuffer = new StringBuffer();
+        boolean gotOne = false;
+        // remove spaces, '_', '-'
+        // we can do this with char, since no surrogates are involved
+        for (int i = 0; i < source.length(); ++i) {
+            char ch = source.charAt(i);
+            if (i > 0 && (ch == '_' || ch == ' ' || ch == '-')) {
+                gotOne = true;
+            } else {
+                char ch2 = Character.toLowerCase(ch);
+                if (ch2 != ch) {
+                    gotOne = true;
+                    skeletonBuffer.append(ch2);
+                } else {
+                    skeletonBuffer.append(ch);
+                }
+            }
+        }
+        if (!gotOne) return source; // avoid string creation
+        return skeletonBuffer.toString();
+    }
+
+    // get the name skeleton
+    public static String toNameSkeleton(String source) {
+        if (source == null) return null;
+        StringBuffer result = new StringBuffer();
+        // remove spaces, medial '-'
+        // we can do this with char, since no surrogates are involved
+        for (int i = 0; i < source.length(); ++i) {
+            char ch = source.charAt(i);
+            if (('0' <= ch && ch <= '9') || ('A' <= ch && ch <= 'Z') || ch == '<' || ch == '>') {
+                result.append(ch);
+            } else if (ch == ' ') {
+                // don't copy ever
+            } else if (ch == '-') {
+                // only copy non-medials AND trailing O-E
+                if (0 == i
+                    || i == source.length() - 1
+                    || source.charAt(i-1) == ' '
+                    || source.charAt(i+1) == ' '
+                    || (i == source.length() - 2
+                        && source.charAt(i-1) == 'O'
+                        && source.charAt(i+1) == 'E')) {
+                    System.out.println("****** EXCEPTION " + source);
+                    result.append(ch);
+                }
+                // otherwise don't copy
+            } else {
+                throw new IllegalArgumentException("Illegal Name Char: U+" + Utility.hex(ch) + ", " + ch);
+            }
+        }
+        return result.toString();
+    }
+
+    /**
+     * These routines use the Java functions, because they only need to act on ASCII
+     * Changes space, - into _, inserts _ between lower and UPPER.
+     */
+    public static String regularize(String source, boolean titlecaseStart) {
+        if (source == null) return source;
+        /*if (source.equals("noBreak")) { // HACK
+            if (titlecaseStart) return "NoBreak";
+            return source;
+        }
+        */
+        StringBuffer result = new StringBuffer();
+        int lastCat = -1;
+        boolean haveFirstCased = true;
+        for (int i = 0; i < source.length(); ++i) {
+            char c = source.charAt(i);
+            if (c == ' ' || c == '-' || c == '_') {
+                c = '_';
+                haveFirstCased = true;
+            }
+            if (c == '=') haveFirstCased = true;
+            int cat = Character.getType(c);
+            if (lastCat == Character.LOWERCASE_LETTER && cat == Character.UPPERCASE_LETTER) {
+                result.append('_');
+            }
+            if (haveFirstCased && (cat == Character.LOWERCASE_LETTER
+                    || cat == Character.TITLECASE_LETTER || cat == Character.UPPERCASE_LETTER)) {
+                if (titlecaseStart) {
+                    c = Character.toUpperCase(c);
+                }
+                haveFirstCased = false;
+            }
+            result.append(c);
+            lastCat = cat;
+        }
+        return result.toString();
+    }
+
+    /**
+     * Utility function for comparing codepoint to string without
+     * generating new string.
+     * @param codepoint
+     * @param other
+     * @return true if the codepoint equals the string
+     */
+    public static final boolean equals(int codepoint, String other) {
+        if (other.length() == 1) {
+            return codepoint == other.charAt(0);
+        }
+        if (other.length() == 2) {
+            return other.equals(UTF16.valueOf(codepoint));
+        }
+        return false;
+    }
+
+    /**
+     * Utility that should be on UnicodeSet
+     * @param source
+     * @param result
+     */
+    static public void addAll(UnicodeSetIterator source, UnicodeSet result) {
+        while (source.nextRange()) {
+            if (source.codepoint == UnicodeSetIterator.IS_STRING) {
+                result.add(source.string);
+            } else {
+                result.add(source.codepoint, source.codepointEnd);
+            }
+        }
+    }
+
+    /**
+     * Really ought to create a Collection UniqueList, that forces uniqueness. But for now...
+     */
+    public static Collection addAllUnique(Collection source, Collection result) {
+        for (Iterator it = source.iterator(); it.hasNext();) {
+            addUnique(it.next(), result);
+        }
+        return result;
+    }
+
+    /**
+     * Really ought to create a Collection UniqueList, that forces uniqueness. But for now...
+     */
+    public static Collection addAllUnique(Object[] source, Collection result) {
+        for (int i = 0; i < source.length; ++i) {
+            addUnique(source[i], result);
+        }
+        return result;
+    }
+    
+    static public class Factory {
+        static boolean DEBUG = false;
+
+        Map canonicalNames = new TreeMap();
+        Map skeletonNames = new TreeMap();
+        Map propertyCache = new HashMap(1);
+
+        public final Factory add(UnicodeProperty sp) {
+            canonicalNames.put(sp.getName(), sp);
+            List c = sp.getNameAliases(new ArrayList(1));
+            Iterator it = c.iterator();
+            while (it.hasNext()) {
+                skeletonNames.put(toSkeleton((String)it.next()), sp);
+            }
+            return this;
+        }
+
+        public final UnicodeProperty getProperty(String propertyAlias) {
+            return (UnicodeProperty) skeletonNames.get(toSkeleton(propertyAlias));
+        }
+
+        public final List getAvailableNames() {
+            return getAvailableNames(null);
+        }
+
+        public final List getAvailableNames(List result) {
+            if (result == null) result = new ArrayList(1);
+            Iterator it = canonicalNames.keySet().iterator();
+            while (it.hasNext()) {
+                addUnique(it.next(), result);
+            }
+            return result;
+        }
+
+        public final List getAvailableNames(int propertyTypeMask) {
+            return getAvailableNames(propertyTypeMask, null);
+        }
+
+        public final List getAvailableNames(int propertyTypeMask, List result) {
+            if (result == null) result = new ArrayList(1);
+            Iterator it = canonicalNames.keySet().iterator();
+            while (it.hasNext()) {
+                String item = (String)it.next();
+                UnicodeProperty property = getProperty(item);
+                if (DEBUG) System.out.println("Properties: " + item + "," + property.getType());
+                if (!property.isType(propertyTypeMask)) {
+                    //System.out.println("Masking: " + property.getType() + "," + propertyTypeMask);
+                    continue;
+                }
+                addUnique(property.getName(), result);
+            }
+            return result;
+        }
+        InverseMatcher inverseMatcher = new InverseMatcher();
+        /**
+         * Format is:
+         *    propname ('=' | '!=') propvalue ( '|' propValue )*
+         */
+        public final UnicodeSet getSet(String propAndValue, Matcher matcher, UnicodeSet result) {
+            int equalPos = propAndValue.indexOf('=');
+            String prop = propAndValue.substring(0,equalPos);
+            String value = propAndValue.substring(equalPos+1);
+            boolean negative = false;
+            if (prop.endsWith("!")) {
+                prop = prop.substring(0,prop.length()-1);
+                negative = true;
+            }
+            prop = prop.trim();
+            UnicodeProperty up = getProperty(prop);
+            if (matcher == null) {
+                matcher = new SimpleMatcher(value,
+                up.isType(STRING_OR_MISC_MASK) ? null : PROPERTY_COMPARATOR);
+            }
+            if (negative) {
+                inverseMatcher.set(matcher);
+                matcher = inverseMatcher;
+            }
+            return up.getSet(matcher.set(value), result);
+        }
+
+        public final UnicodeSet getSet(String propAndValue, Matcher matcher) {
+            return getSet(propAndValue, matcher, null);
+        }
+        public final UnicodeSet getSet(String propAndValue) {
+            return getSet(propAndValue, null, null);
+        }
+
+        public final SymbolTable getSymbolTable(String prefix) {
+            return new PropertySymbolTable(prefix);
+        }
+
+        private class PropertySymbolTable implements SymbolTable  {
+        	static final boolean DEBUG = false;
+            private String prefix;
+            RegexMatcher regexMatcher = new RegexMatcher();
+
+            PropertySymbolTable (String prefix) {
+                this.prefix = prefix;
+            }
+
+            public char[] lookup(String s) {
+                if (DEBUG) System.out.println("\t(" + prefix + ")Looking up " + s);
+                // ensure, again, that prefix matches
+                int start = prefix.length();
+                if (!s.regionMatches(true, 0, prefix, 0, start)) return null;
+
+                int pos = s.indexOf(':', start);
+                if (pos < 0) { // should never happen
+                    throw new IllegalArgumentException("Internal Error: missing =: " + s + "\r\n");
+                }
+                UnicodeProperty prop = getProperty(s.substring(start,pos));
+                if (prop == null) {
+                    throw new IllegalArgumentException("Invalid Property in: " + s + "\r\nUse "
+                     + showSet(getAvailableNames()));
+                }
+                String value = s.substring(pos+1);
+                UnicodeSet set;
+                if (value.startsWith("\u00AB")) {   // regex!
+                    set = prop.getSet(regexMatcher.set(value.substring(1, value.length()-1)));
+                } else {
+                    set = prop.getSet(value);
+                }
+                if (set.size() == 0) {
+                    throw new IllegalArgumentException("Empty Property-Value in: " + s + "\r\nUse "
+                        + showSet(prop.getAvailableValues()));
+                }
+                if (DEBUG) System.out.println("\t(" + prefix + ")Returning " + set.toPattern(true));
+                return set.toPattern(true).toCharArray(); // really ugly
+            }
+
+            private String showSet(List list) {
+                StringBuffer result = new StringBuffer("[");
+                boolean first = true;
+                for (Iterator it = list.iterator(); it.hasNext();) {
+                    if (!first) result.append(", ");
+                    else first = false;
+                    result.append(it.next().toString());
+                }
+                result.append("]");
+                return result.toString();
+            }
+
+            public UnicodeMatcher lookupMatcher(int ch) {
+                return null;
+            }
+
+            public String parseReference(String text, ParsePosition pos, int limit) {
+                if (DEBUG) System.out.println("\t(" + prefix + ")Parsing <" + text.substring(pos.getIndex(),limit) + ">");
+                int start = pos.getIndex();
+                int veryStart = start;
+                // ensure that it starts with 'prefix'
+                if (!text.regionMatches(true, start, prefix, 0, prefix.length())) return null;
+                start += prefix.length();
+                // now see if it is of the form identifier:identifier
+                int i = getIdentifier(text, start, limit);
+                if (i == start) return null;
+                String prop = text.substring(start, i);
+                String value = "true";
+                if (i < limit) {
+                    if (text.charAt(i) == ':') {
+                        int j;
+                        if (text.charAt(i+1) == '\u00AB') { // regular expression
+                            j = text.indexOf('\u00BB', i+2) + 1; // include last character
+                            if (j <= 0) return null;
+                        } else {
+                            j = getIdentifier(text, i+1, limit);
+                        }
+                        value = text.substring(i+1, j);
+                        i = j;
+                    }
+                }
+                pos.setIndex(i);
+                if (DEBUG) System.out.println("\t(" + prefix + ")Parsed <" + prop + ">=<" + value + ">");
+                return prefix + prop + ":" + value;
+            }
+
+            private int getIdentifier(String text, int start, int limit) {
+                if (DEBUG) System.out.println("\tGetID <" + text.substring(start,limit) + ">");
+                int cp = 0;
+                int i;
+                for (i = start; i < limit; i += UTF16.getCharCount(cp)) {
+                    cp = UTF16.charAt(text, i);
+                    if (!com.ibm.icu.lang.UCharacter.isUnicodeIdentifierPart(cp) && cp != '.') {
+                        break;
+                    }
+                }
+                if (DEBUG) System.out.println("\tGotID <" + text.substring(start,i) + ">");
+                return i;
+            }
+        };
+    }
+
+
+    public static class FilteredProperty extends UnicodeProperty {
+        private UnicodeProperty property;
+        protected StringFilter filter;
+        protected UnicodeSetIterator matchIterator = new UnicodeSetIterator(new UnicodeSet(0,0x10FFFF));
+        protected HashMap backmap;
+        boolean allowValueAliasCollisions = false;
+
+        public FilteredProperty(UnicodeProperty property, StringFilter filter) {
+            this.property = property;
+            this.filter = filter;
+        }
+
+        public StringFilter getFilter() {
+            return filter;
+        }
+
+        public UnicodeProperty setFilter(StringFilter filter) {
+            this.filter = filter;
+            return this;
+        }
+
+        List temp = new ArrayList(1);
+
+        public List _getAvailableValues(List result) {
+            temp.clear();
+            return filter.addUnique(property.getAvailableValues(temp), result);
+        }
+
+        public List _getNameAliases(List result) {
+            temp.clear();
+            return filter.addUnique(
+                property.getNameAliases(temp), result);
+        }
+
+        public String _getValue(int codepoint) {
+            return filter.remap(property.getValue(codepoint));
+        }
+
+        public List _getValueAliases(String valueAlias, List result) {
+            if (backmap == null) {
+                backmap = new HashMap(1);
+                temp.clear();
+                Iterator it = property.getAvailableValues(temp).iterator();
+                while (it.hasNext()) {
+                    String item = (String) it.next();
+                    String mappedItem = filter.remap(item);
+                    if (backmap.get(mappedItem) != null && !allowValueAliasCollisions) {
+                        throw new IllegalArgumentException("Filter makes values collide! "
+                            + item + ", " + mappedItem);
+                    }
+                    backmap.put(mappedItem, item);
+                }
+            }
+            valueAlias = (String) backmap.get(valueAlias);
+            temp.clear();
+            return filter.addUnique(property.getValueAliases(valueAlias, temp), result);
+        }
+
+        public String _getVersion() {
+            return property.getVersion();
+        }
+
+        public boolean isAllowValueAliasCollisions() {
+            return allowValueAliasCollisions;
+        }
+
+        public FilteredProperty setAllowValueAliasCollisions(boolean b) {
+            allowValueAliasCollisions = b;
+            return this;
+        }
+
+    }
+
+    public static abstract class StringFilter implements Cloneable {
+        public abstract String remap(String original);
+
+        public final List addUnique(Collection source, List result) {
+            if (result == null) result = new ArrayList(1);
+            Iterator it = source.iterator();
+            while (it.hasNext()) {
+                UnicodeProperty.addUnique(
+                    remap((String) it.next()), result);
+            }
+            return result;
+        }
+        /*
+         public Object clone() {
+            try {
+                return super.clone();
+            } catch (CloneNotSupportedException e) {
+                throw new InternalError("Should never happen.");
+            }
+        }
+        */
+    }
+
+    public static class MapFilter extends StringFilter {
+        private Map valueMap;
+        public MapFilter(Map valueMap){
+            this.valueMap = valueMap;
+        }
+        public String remap(String original) {
+            Object changed = valueMap.get(original);
+            return changed == null ? original : (String) changed;
+        }
+        public Map getMap() {
+            return valueMap;
+        }
+    }
+
+    public interface Matcher {
+        /**
+         * Must be able to handle null
+         * @param value
+         * @return true if the value matches
+         */
+        public boolean matches(String value);
+        public Matcher set(String pattern);
+    }
+
+    public static class InverseMatcher implements Matcher {
+        Matcher other;
+        public Matcher set(Matcher toInverse) {
+            other = toInverse;
+            return this;
+        }
+        public boolean matches(String value) {
+            return !other.matches(value);
+        }
+        public Matcher set(String pattern) {
+            other.set(pattern);
+            return this;
+        }
+    }
+
+    public static class SimpleMatcher implements Matcher {
+        Comparator comparator;
+        String pattern;
+        public SimpleMatcher(String pattern, Comparator comparator) {
+            this.comparator = comparator;
+            this.pattern = pattern;
+        }
+        public boolean matches(String value) {
+            if (comparator == null) return pattern.equals(value);
+            return comparator.compare(pattern, value) == 0;
+        }
+        public Matcher set(String pattern) {
+            this.pattern = pattern;
+            return this;
+        }
+    }
+
+    public static class RegexMatcher implements UnicodeProperty.Matcher {
+        private java.util.regex.Matcher matcher;
+
+        public UnicodeProperty.Matcher set(String pattern) {
+            matcher = Pattern.compile(pattern).matcher("");
+            return this;
+        }
+        public boolean matches(String value) {
+            matcher.reset(value);
+            return matcher.matches();
+        }
+    }
+    
+    public static abstract class BaseProperty extends UnicodeProperty {
+        protected List propertyAliases = new ArrayList(1);
+        protected Map toValueAliases;
+        protected String version;
+        
+        public BaseProperty setMain(String alias, String shortAlias, int propertyType,
+                String version) {
+                  setName(alias);
+                  setType(propertyType);
+                  propertyAliases.add(shortAlias);
+                  propertyAliases.add(alias);
+                  this.version = version;
+                  return this;
+        }    	
+        public String _getVersion() {
+            return version;
+        }
+        public List _getNameAliases(List result) {
+            addAllUnique(propertyAliases, result);
+            return result;
+        }
+        public BaseProperty addValueAliases(String[][] valueAndAlternates, boolean errorIfCant) {
+        	if (toValueAliases == null) _fixValueAliases();
+            for (int i = 0; i < valueAndAlternates.length; ++i) {
+            	for (int j = 1; j < valueAndAlternates[0].length; ++j) {
+            		addValueAlias(valueAndAlternates[i][0], valueAndAlternates[i][j], errorIfCant);
+            	}
+            }
+            return this;
+        }
+		public void addValueAlias(String value, String valueAlias, boolean errorIfCant) {
+    		List result = (List) toValueAliases.get(value);
+    		if (result == null && !errorIfCant) return;
+    		addUnique(value, result);
+    		addUnique(valueAlias, result);
+		}
+		protected List _getValueAliases(String valueAlias, List result) {
+			if (toValueAliases == null) _fixValueAliases();
+            List a = (List) toValueAliases.get(valueAlias);
+            if (a != null) addAllUnique(a, result);
+            return result;
+        }
+
+		protected void _fixValueAliases() {
+			if (toValueAliases == null) toValueAliases = new HashMap(1);
+			for (Iterator it = getAvailableValues().iterator(); it.hasNext();) {
+				Object value = it.next();
+				List result;
+				_ensureValueInAliases(value);
+			}
+		}
+		protected void _ensureValueInAliases(Object value) {
+			List result = (List) toValueAliases.get(value);
+			if (result == null) toValueAliases.put(value, result = new ArrayList(1));
+			addUnique(value, result);
+		}
+        public BaseProperty swapFirst2ValueAliases() {
+        	for (Iterator it = toValueAliases.keySet().iterator(); it.hasNext();) {
+        		List list = (List) toValueAliases.get(it.next());
+        		if (list.size() < 2) continue;
+        		Object first = list.get(0);
+        		list.set(0, list.get(1));
+        		list.set(1, first);
+        	}
+        	return this;
+        }
+
+
+    }
+    
+    public static abstract class SimpleProperty extends BaseProperty {
+        List values;
+
+        public SimpleProperty addName(String alias) {
+            propertyAliases.add(alias);
+            return this;
+        }
+
+        public SimpleProperty setValues(String valueAlias) {
+            _addToValues(valueAlias, null);
+            return this;
+        }
+
+        public SimpleProperty setValues(String[] valueAliases, String[] alternateValueAliases) {
+            for (int i = 0; i < valueAliases.length; ++i) {
+                if (valueAliases[i].equals(UNUSED)) continue;
+                _addToValues(valueAliases[i],
+                    alternateValueAliases != null ? alternateValueAliases[i] : null);
+            }
+            return this;
+        }
+        
+        public SimpleProperty setValues(List valueAliases) {
+            this.values = new ArrayList(valueAliases);
+            for (Iterator it = this.values.iterator(); it.hasNext(); ) {
+                _addToValues((String)it.next(), null);
+            }
+            return this;
+        }
+
+        public List _getAvailableValues(List result) {
+            if (values == null) _fillValues();
+            result.addAll(values);
+            return result;
+        }
+
+
+        protected void _fillValues() {
+            List newvalues = (List) getUnicodeMap_internal().getAvailableValues(new ArrayList());
+            for (Iterator it = newvalues.iterator(); it.hasNext();) {
+                _addToValues((String)it.next(), null);
+            }
+        }
+        
+        private void _addToValues(String item, String alias) {
+            if (values == null) values = new ArrayList(1);
+            if (toValueAliases == null) _fixValueAliases();
+            addUnique(item, values);
+            _ensureValueInAliases(item);
+            addValueAlias(item, alias, true);
+        }
+/*        public String _getVersion() {
+            return version;
+        }
+*/    }
+    
+    public static class UnicodeMapProperty extends BaseProperty {
+    	/*
+    	 * Example of usage:
+    	 * new UnicodeProperty.UnicodeMapProperty() {
+        	{
+        		unicodeMap = new UnicodeMap();
+        		unicodeMap.setErrorOnReset(true);
+        		unicodeMap.put(0xD, "CR");
+        		unicodeMap.put(0xA, "LF");
+        		UnicodeProperty cat = getProperty("General_Category");
+        		UnicodeSet temp = cat.getSet("Line_Separator")
+				.addAll(cat.getSet("Paragraph_Separator"))
+				.addAll(cat.getSet("Control"))
+				.addAll(cat.getSet("Format"))
+				.remove(0xD).remove(0xA).remove(0x200C).remove(0x200D);
+        		unicodeMap.putAll(temp, "Control");
+        		UnicodeSet graphemeExtend = getProperty("Grapheme_Extend").getSet("true");
+        		unicodeMap.putAll(graphemeExtend,"Extend");
+        		UnicodeProperty hangul = getProperty("Hangul_Syllable_Type");
+        		unicodeMap.putAll(hangul.getSet("L"),"L");
+        		unicodeMap.putAll(hangul.getSet("V"),"V");
+        		unicodeMap.putAll(hangul.getSet("T"),"T");
+        		unicodeMap.putAll(hangul.getSet("LV"),"LV");
+        		unicodeMap.putAll(hangul.getSet("LVT"),"LVT");
+        		unicodeMap.setMissing("Other");
+        	}
+        }.setMain("Grapheme_Cluster_Break", "GCB", UnicodeProperty.ENUMERATED, version)
+    	 */
+        protected UnicodeMap unicodeMap;
+        
+        public UnicodeMapProperty set(UnicodeMap map) {
+        	unicodeMap = map;
+        	return this;
+        }
+
+        protected String _getValue(int codepoint) {
+            return (String) unicodeMap.getValue(codepoint);
+        }
+/*		protected List _getValueAliases(String valueAlias, List result) {
+			if (!unicodeMap.getAvailableValues().contains(valueAlias)) return result;
+			result.add(valueAlias);
+			return result; // no other aliases
+		}
+*/		protected List _getAvailableValues(List result) {
+			return (List) unicodeMap.getAvailableValues(result);
+		}
+    }
+
+
+
+}
+
diff --git a/src/com/ibm/icu/dev/test/util/UnicodePropertySource.java b/src/com/ibm/icu/dev/test/util/UnicodePropertySource.java
new file mode 100644
index 0000000..59141f5
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/util/UnicodePropertySource.java
@@ -0,0 +1,321 @@
+
+/*
+ *******************************************************************************
+ * Copyright (C) 2002-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.test.util;
+
+import java.util.Set;
+import java.util.Locale;
+import java.util.Map;
+import java.util.List;
+import java.util.Arrays;
+
+import com.ibm.icu.lang.UProperty;
+import com.ibm.icu.lang.UCharacter;
+import com.ibm.icu.text.Normalizer;
+import com.ibm.icu.text.UTF16;
+import com.ibm.icu.text.UnicodeSet;
+import com.ibm.icu.text.UnicodeSetIterator;
+
+
+/**
+ * Provides a general interface for Unicode Properties, and
+ * extracting sets based on those values.
+ * @author Davis
+ */
+public abstract class UnicodePropertySource implements Cloneable {
+    
+    protected String propertyAlias;
+    protected int nameChoice = UProperty.NameChoice.LONG;
+    protected StringFilter filter = new StringFilter();
+    protected UnicodeSetIterator matchIterator = new UnicodeSetIterator(new UnicodeSet(0,0x10FFFF));
+    
+    abstract public String getPropertyValue(int codepoint);
+    abstract public Set getAvailablePropertyAliases(Set result);
+    abstract public Set getAvailablePropertyValueAliases(Set result);
+
+    abstract public String getPropertyAlias(int nameChoice);
+    abstract public String getPropertyValueAlias(String valueAlias, int nameChoice);
+    
+    /**
+     * Subclasses should override
+     */
+    public Object clone() {
+        try {
+            UnicodePropertySource result = (UnicodePropertySource)super.clone();
+            result.filter = (StringFilter)filter.clone();
+            return result;             
+        } catch (CloneNotSupportedException e) {
+            throw new InternalError("Should never happen.");
+        }
+    }
+    
+    public UnicodePropertySource setPropertyAlias(String propertyAlias) {
+        this.propertyAlias = propertyAlias;
+        return this;
+    }
+    
+    public String getPropertyAlias() {
+        return propertyAlias;
+    }
+    
+    public static final boolean equals(int codepoint, String other) {
+        if (other.length() == 1) {
+            return codepoint == other.charAt(0);
+        }
+        return other.equals(UTF16.valueOf(codepoint));
+    }
+    
+    public UnicodeSet getPropertySet(boolean charEqualsValue, UnicodeSet result){
+        if (result == null) result = new UnicodeSet();
+        matchIterator.reset();
+        while (matchIterator.next()) {
+            String value = filter.remap(getPropertyValue(matchIterator.codepoint));
+            if (equals(matchIterator.codepoint, value) == charEqualsValue) {
+                result.add(matchIterator.codepoint);
+            }
+        }
+        return result;
+    }
+
+    public UnicodeSet getPropertySet(String propertyValue, UnicodeSet result){
+        if (result == null) result = new UnicodeSet();
+        matchIterator.reset();
+        while (matchIterator.next()) {
+            String value = filter.remap(getPropertyValue(matchIterator.codepoint));
+            if (propertyValue.equals(value)) {
+                result.add(matchIterator.codepoint);
+            } 
+        }
+        return result;
+    }
+
+    public UnicodeSet getPropertySet(Matcher matcher, UnicodeSet result) {
+        if (result == null) result = new UnicodeSet();
+        matchIterator.reset();
+        while (matchIterator.next()) {
+            String value = filter.remap(getPropertyValue(matchIterator.codepoint));
+            if (value == null)
+                continue;
+            if (matcher.matches(value)) {
+                result.add(matchIterator.codepoint);
+            }
+        }
+        return result;
+    }
+    
+    public interface Matcher {
+        public boolean matches(String value);
+    }
+    
+    public int getNameChoice() {
+        return nameChoice;
+    }
+
+    public UnicodePropertySource setNameChoice(int choice) {
+        nameChoice = choice;
+        return this;
+    }
+    
+    public static class StringFilter implements Cloneable {
+        public String remap(String original) {
+            return original;
+        }
+        public Object clone() {
+            try {
+                return super.clone();
+            } catch (CloneNotSupportedException e) {
+                throw new InternalError("Should never happen.");
+            }
+        }
+    }
+    
+    public static class MapFilter extends StringFilter {
+        Map valueMap;
+        public String remap(String original) {
+            Object changed = valueMap.get(original);
+            return changed == null ? original : (String) changed;
+        }
+        public Map getMap() {
+            return valueMap;
+        }
+
+        public MapFilter setMap(Map map) {
+            valueMap = map;
+            return this;
+        }
+    }
+
+    static public class ICU extends UnicodePropertySource {
+        protected int propEnum = Integer.MIN_VALUE;
+        {
+            matchIterator = new UnicodeSetIterator(
+                new UnicodeSet("[^[:Cn:]-[:Default_Ignorable_Code_Point:]]"));
+        }
+        
+        public UnicodePropertySource setPropertyAlias(String propertyAlias) {
+            super.setPropertyAlias(propertyAlias);
+            int extraPosition = Extras.indexOf(propertyAlias);
+            if (extraPosition >= 0) {
+                propEnum = EXTRA_START + extraPosition;
+            } else {
+                propEnum = UCharacter.getPropertyEnum(propertyAlias);
+            }
+            return this;
+        }
+
+        public String getPropertyValue(int codePoint) {
+            if (propEnum < UProperty.INT_LIMIT) {
+                int enumValue = UCharacter.getIntPropertyValue(codePoint, propEnum);
+                return UCharacter.getPropertyValueName(propEnum,enumValue, (int)nameChoice);
+            } else if (propEnum < UProperty.DOUBLE_LIMIT) {
+                return Double.toString(UCharacter.getUnicodeNumericValue(codePoint));
+                // TODO: Fix HACK -- API deficient
+            } else switch(propEnum) {
+                case UProperty.AGE: return UCharacter.getAge(codePoint).toString();
+                case UProperty.BIDI_MIRRORING_GLYPH: return UTF16.valueOf(UCharacter.getMirror(codePoint));
+                case UProperty.CASE_FOLDING: return UCharacter.foldCase(UTF16.valueOf(codePoint),true);
+                case UProperty.ISO_COMMENT: return UCharacter.getISOComment(codePoint);
+                case UProperty.LOWERCASE_MAPPING: return UCharacter.toLowerCase(Locale.ENGLISH,UTF16.valueOf(codePoint));
+                case UProperty.NAME: return UCharacter.getName(codePoint);
+                case UProperty.SIMPLE_CASE_FOLDING: return UTF16.valueOf(UCharacter.foldCase(codePoint,true));
+                case UProperty.SIMPLE_LOWERCASE_MAPPING: return UTF16.valueOf(UCharacter.toLowerCase(codePoint));
+                case UProperty.SIMPLE_TITLECASE_MAPPING: return UTF16.valueOf(UCharacter.toTitleCase(codePoint));
+                case UProperty.SIMPLE_UPPERCASE_MAPPING: return UTF16.valueOf(UCharacter.toUpperCase(codePoint));
+                case UProperty.TITLECASE_MAPPING: return UCharacter.toTitleCase(Locale.ENGLISH,UTF16.valueOf(codePoint),null);
+                case UProperty.UNICODE_1_NAME: return UCharacter.getName1_0(codePoint);
+                case UProperty.UPPERCASE_MAPPING: return UCharacter.toUpperCase(Locale.ENGLISH,UTF16.valueOf(codePoint));
+                case NFC: return Normalizer.normalize(codePoint, Normalizer.NFC);
+                case NFD: return Normalizer.normalize(codePoint, Normalizer.NFD);
+                case NFKC: return Normalizer.normalize(codePoint, Normalizer.NFKC);
+                case NFKD: return Normalizer.normalize(codePoint, Normalizer.NFKD);
+            }
+            return null;
+        }
+        
+        static final List Extras = Arrays.asList(new String[] {
+            "NFC", "NFD", "NFKC", "NKFD"
+        });
+        
+        static final int 
+            NFC  = 0x8000,
+            NFD  = 0x8001,
+            NFKC = 0x8002,
+            NFKD = 0x8003,
+            EXTRA_START = NFC,
+            EXTRA_LIMIT = NFKD+1;
+
+        static final int[][] ranges = {
+            {UProperty.BINARY_START,    UProperty.BINARY_LIMIT},
+            {UProperty.INT_START,       UProperty.INT_LIMIT},
+            {UProperty.DOUBLE_START,    UProperty.DOUBLE_LIMIT},
+            {UProperty.STRING_START,    UProperty.STRING_LIMIT},
+        };
+
+        public Set getAvailablePropertyAliases(Set result) {
+            for (int i = 0; i < ranges.length; ++i) {
+                for (int j = ranges[i][0]; j < ranges[i][1]; ++j) {
+                    result.add(UCharacter.getPropertyName(j, nameChoice));
+                }
+            }
+            result.addAll(Extras);
+            return result;
+        }
+
+        public Set getAvailablePropertyValueAliases(Set result) {
+            if (propEnum < UProperty.INT_LIMIT) {
+                int start = UCharacter.getIntPropertyMinValue(propEnum);
+                int end = UCharacter.getIntPropertyMaxValue(propEnum);
+                for (int i = start; i <= end; ++i) {
+                    result.add(getFixedValueAlias(null, i,nameChoice));
+                }
+            } else {
+                result.add(getFixedValueAlias(null, -1,nameChoice));
+            }
+            return result;
+        }
+        
+        /**
+         * @param valueAlias null if unused.
+         * @param valueEnum -1 if unused
+         * @param nameChoice
+         * @return the alias
+         */
+        private String getFixedValueAlias(String valueAlias, int valueEnum, int nameChoice) {
+            if (propEnum >= UProperty.STRING_START) {
+                return "<string>";
+            } else if (propEnum >= UProperty.DOUBLE_START) {
+                return "<double>";
+            }
+            if (valueAlias != null && !valueAlias.equals("<integer>")) {
+                valueEnum = UCharacter.getPropertyValueEnum(propEnum,valueAlias);
+            }
+            String result = fixedGetPropertyValueName(propEnum, valueEnum, nameChoice);
+            if (result != null) return result;
+            // try other namechoice
+            result = fixedGetPropertyValueName(propEnum,valueEnum,
+                nameChoice == UProperty.NameChoice.LONG ? UProperty.NameChoice.SHORT : UProperty.NameChoice.LONG);
+            if (result != null) return result;
+            return "<integer>";
+        }
+
+        private static String fixedGetPropertyValueName(int propEnum, int valueEnum, int nameChoice) {
+            try {
+                return UCharacter.getPropertyValueName(propEnum,valueEnum,nameChoice);
+            } catch (Exception e) {
+                return null;
+            }
+        }
+
+        public String getPropertyAlias(int nameChoice) {
+            if (propEnum < EXTRA_START) {
+                return UCharacter.getPropertyName(propEnum, nameChoice);
+            }
+            return (String)Extras.get(propEnum-EXTRA_START);
+        }
+
+        public String getPropertyValueAlias(String valueAlias, int nameChoice) {
+            return getFixedValueAlias(valueAlias, -1, nameChoice);
+        }
+    }
+    // TODO file bug on getPropertyValueName for Canonical_Combining_Class
+
+    public StringFilter getFilter() {
+        return filter;
+    }
+
+
+    public UnicodePropertySource setFilter(StringFilter filter) {
+        this.filter = filter;
+        return this;
+    }
+
+    /**
+     */
+    static public void addAll(UnicodeSetIterator source, UnicodeSet result) {
+        while (source.nextRange()) {
+            if (source.codepoint == UnicodeSetIterator.IS_STRING) {
+                result.add(source.string);
+            } else {
+                result.add(source.codepoint, source.codepointEnd);
+            }
+        }
+    }
+    
+    public UnicodeSet getMatchSet(UnicodeSet result) {
+        if (result == null) result = new UnicodeSet();
+        addAll(matchIterator, result);
+        return result;
+    }
+
+    /**
+     * @param set
+     */
+    public void setMatchSet(UnicodeSet set) {
+        matchIterator = new UnicodeSetIterator(set);
+    }
+
+}
diff --git a/src/com/ibm/icu/dev/test/util/UtilityTest.java b/src/com/ibm/icu/dev/test/util/UtilityTest.java
new file mode 100644
index 0000000..d15145d
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/util/UtilityTest.java
@@ -0,0 +1,168 @@
+/*
+**********************************************************************
+* Copyright (c) 2003-2005, International Business Machines
+* Corporation and others.  All Rights Reserved.
+**********************************************************************
+* Author: Alan Liu
+* Created: March 8 2003
+* Since: ICU 2.6
+**********************************************************************
+*/
+package com.ibm.icu.dev.test.util;
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
+import com.ibm.icu.dev.test.TestFmwk;
+import com.ibm.icu.impl.Utility;
+import com.ibm.icu.text.UnicodeSet;
+import com.ibm.icu.util.ByteArrayWrapper;
+
+/**
+ * @test
+ * @summary Test of internal Utility class
+ */
+public class UtilityTest extends TestFmwk {
+
+    public static void main(String[] args) throws Exception {
+        new UtilityTest().run(args);
+    }
+
+    public void TestUnescape() {
+        final String input =
+            "Sch\\u00f6nes Auto: \\u20ac 11240.\\fPrivates Zeichen: \\U00102345\\e\\cC\\n \\x1b\\x{263a}";
+
+        final String expect = 
+            "Sch\u00F6nes Auto: \u20AC 11240.\u000CPrivates Zeichen: \uDBC8\uDF45\u001B\u0003\012 \u001B\u263A";
+
+        String result = Utility.unescape(input);
+        if (!result.equals(expect)) {
+            errln("FAIL: Utility.unescape() returned " + result + ", exp. " + expect);
+        }
+    }
+    
+    public void TestFormat()
+    {
+        String data[] = {
+            "the quick brown fox jumps over the lazy dog",
+            // result of this conversion will exceed the original length and
+            // cause a newline to be inserted
+            "testing space , quotations \"",
+            "testing weird supplementary characters \ud800\udc00",
+            "testing control characters \u0001 and line breaking!! \n are we done yet?"
+        };
+        String result[] = {
+            "        \"the quick brown fox jumps over the lazy dog\"",
+            "        \"testing space , quotations \\042\"",
+            "        \"testing weird supplementary characters \\uD800\\uDC00\"",
+            "        \"testing control characters \\001 and line breaking!! \\n are we done ye\"+"
+                     + Utility.LINE_SEPARATOR + "        \"t?\""
+        };
+        String result1[] = {
+            "\"the quick brown fox jumps over the lazy dog\"",
+            "\"testing space , quotations \\042\"",
+            "\"testing weird supplementary characters \\uD800\\uDC00\"",
+            "\"testing control characters \\001 and line breaking!! \\n are we done yet?\""
+        };
+        
+        for (int i = 0; i < data.length; i ++) {
+            assertEquals("formatForSource(\"" + data[i] + "\")",
+                         result[i], Utility.formatForSource(data[i]));
+        }
+        for (int i = 0; i < data.length; i ++) {
+            assertEquals("format1ForSource(\"" + data[i] + "\")",
+                         result1[i], Utility.format1ForSource(data[i]));
+        }
+    }
+    
+    public void TestHighBit()
+    {
+        int data[] = {-1, -1276, 0, 0xFFFF, 0x1234};
+        byte result[] = {-1, -1, -1, 15, 12};
+        for (int i = 0; i < data.length; i ++) {
+            if (Utility.highBit(data[i]) != result[i]) {
+                errln("Fail: Highest bit of \\u" 
+                      + Integer.toHexString(data[i]) + " should be "
+                      + result[i]);
+            }
+        }
+    }
+    
+    public void TestCompareUnsigned()
+    {
+        int data[] = {0, 1, 0x8fffffff, -1, Integer.MAX_VALUE, 
+                      Integer.MIN_VALUE, 2342423, -2342423};
+        for (int i = 0; i < data.length; i ++) {
+            for (int j = 0; j < data.length; j ++) {
+                if (Utility.compareUnsigned(data[i], data[j]) 
+                    != compareLongUnsigned(data[i], data[j])) {
+                    errln("Fail: Unsigned comparison failed with " + data[i] 
+                          + " " + data[i + 1]);
+                }
+            }
+        }
+    }
+
+    // This test indends to test the utility class ByteArrayWrapper
+    // Seems that the class is somewhat incomplete, for example
+    //      - getHashCode(Object) is weird
+    //      - PatternMatch feature(search part of array within the whole one) lacks
+    public void TestByteArrayWrapper()
+    {
+        byte[] ba = {0x00, 0x01, 0x02};
+        byte[] bb = {0x00, 0x01, 0x02, -1};
+        java.nio.ByteBuffer buffer = java.nio.ByteBuffer.wrap(ba);
+        ByteArrayWrapper x = new ByteArrayWrapper(buffer);
+        
+        ByteArrayWrapper y = new ByteArrayWrapper(ba, 3);
+        ByteArrayWrapper z = new ByteArrayWrapper(bb, 3);
+
+        
+        if (!y.toString().equals("00 01 02")){
+            errln("FAIL: test toString : Failed!");
+        }
+        
+        // test equality
+        if (!x.equals(y) || !x.equals(z))
+            errln("FAIL: test (operator ==): Failed!");
+        if (x.hashCode()!=y.hashCode())
+            errln("FAIL: identical objects have different hash codes.");
+
+        // test non-equality
+        y = new ByteArrayWrapper(bb, 4);
+        if (x.equals(y))
+            errln("FAIL: test (operator !=): Failed!");
+
+        // test sign of unequal comparison
+        if ((x.compareTo(y) > 0) != (y.compareTo(x) < 0)) {
+            errln("FAIL: comparisons not opposite sign");
+        }
+    }
+
+    private int compareLongUnsigned(int x, int y)
+    {
+        long x1 = x & 0xFFFFFFFFl;
+        long y1 = y & 0xFFFFFFFFl;
+        if (x1 < y1) {
+            return -1;
+        }
+        else if (x1 > y1) {
+            return 1;
+        }
+        return 0;
+    }
+    public void TestUnicodeSet(){
+        String[] array = new String[]{"a", "b", "c", "{de}"};
+        List list = Arrays.asList(array);
+        Set aset = new HashSet(list);
+        logln(" *** The source set's size is: " + aset.size());
+    //The size reads 4
+        UnicodeSet set = new UnicodeSet();
+        set.clear();
+        set.addAll(aset);
+        logln(" *** After addAll, the UnicodeSet size is: " + set.size());
+    //The size should also read 4, but 0 is seen instead
+
+    }
+}
diff --git a/src/com/ibm/icu/dev/test/util/VariableReplacer.java b/src/com/ibm/icu/dev/test/util/VariableReplacer.java
new file mode 100644
index 0000000..71cb1b62
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/util/VariableReplacer.java
@@ -0,0 +1,44 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2002-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.test.util;import java.util.Collections;
+import java.util.Comparator;
+import java.util.Iterator;
+import java.util.Map;
+import java.util.TreeMap;
+
+public class VariableReplacer {
+	// simple implementation for now
+	private Comparator c;
+	private Map m = new TreeMap(Collections.reverseOrder());
+	
+	// TODO - fix to do streams also, clean up implementation
+	
+	public VariableReplacer add(String variable, String value) {
+		m.put(variable, value);
+		return this;
+	}
+	public String replace(String source) {
+		String oldSource;
+		do {
+			oldSource = source;
+			for (Iterator it = m.keySet().iterator(); it.hasNext();) {
+				String variable = (String) it.next();
+				String value = (String) m.get(variable);
+				source = replaceAll(source, variable, value);
+			}
+		} while (!source.equals(oldSource));
+		return source;
+	}
+	public String replaceAll(String source, String key, String value) {
+		while (true) {
+			int pos = source.indexOf(key);
+			if (pos < 0) return source;
+			source = source.substring(0,pos) + value + source.substring(pos+key.length());
+		}
+	}
+}
+
diff --git a/src/com/ibm/icu/dev/test/util/VersionInfoTest.java b/src/com/ibm/icu/dev/test/util/VersionInfoTest.java
new file mode 100644
index 0000000..fbb6b7a
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/util/VersionInfoTest.java
@@ -0,0 +1,325 @@
+/*
+*******************************************************************************
+* Copyright (C) 1996-2005, International Business Machines Corporation and    *
+* others. All Rights Reserved.                                                *
+*******************************************************************************
+*/
+
+
+package com.ibm.icu.dev.test.util;
+
+
+import com.ibm.icu.dev.test.TestFmwk;
+import com.ibm.icu.util.VersionInfo;
+
+
+/**
+* Testing class for VersionInfo
+* @author Syn Wee Quek
+* @since release 2.1 March 01 2002
+*/
+public final class VersionInfoTest extends TestFmwk 
+{ 
+    // constructor ---------------------------------------------------
+  
+    /**
+    * Constructor
+    */
+    public VersionInfoTest()
+    {
+    }
+
+    // public methods -----------------------------------------------
+    
+    public static void main(String arg[]) 
+    {
+        VersionInfoTest test = new VersionInfoTest();
+        try {
+            test.run(arg);
+        } catch (Exception e) {
+            test.errln("Error testing VersionInfo");
+        }
+    }
+    
+    /**
+     * Test that the instantiation works
+     */
+    public void TestInstance()
+    {
+        for (int i = 0; i < INSTANCE_INVALID_STRING_.length; i ++) {
+            try {
+            	VersionInfo version = 
+                        VersionInfo.getInstance(INSTANCE_INVALID_STRING_[i]);
+                errln("\"" + INSTANCE_INVALID_STRING_[i] + 
+                      "\" should produce an exception");
+            } catch (RuntimeException e) {
+            	logln("PASS: \"" + INSTANCE_INVALID_STRING_[i] + 
+                      "\" failed as expected");
+            }
+        }
+        for (int i = 0; i < INSTANCE_VALID_STRING_.length; i ++) {
+            try {
+            	VersionInfo version = VersionInfo.getInstance(INSTANCE_VALID_STRING_[i]);
+            } catch (RuntimeException e) {
+                errln("\"" + INSTANCE_VALID_STRING_[i] + 
+                      "\" should produce an valid version");
+            }
+        }
+        for (int i = 0; i < INSTANCE_INVALID_INT_.length; i ++) {
+            try {
+            	VersionInfo version = getInstance(INSTANCE_INVALID_INT_[i]);
+                errln("invalid ints should produce an exception");
+            } catch (RuntimeException e) {
+            	logln("PASS: \"" + INSTANCE_INVALID_INT_[i] + 
+                	  "\" failed as expected");
+            }
+        }
+        for (int i = 0; i < INSTANCE_VALID_INT_.length; i ++) {
+            try {
+            	VersionInfo version = getInstance(INSTANCE_VALID_INT_[i]);
+            } catch (RuntimeException e) {
+                errln("valid ints should not produce an exception");
+            }
+        }
+    }
+    
+    /**
+     * Test that the comparison works
+     */
+    public void TestCompare()
+    {
+        for (int i = 0; i < COMPARE_NOT_EQUAL_STRING_.length; i += 2) {
+            VersionInfo v1 = 
+                        VersionInfo.getInstance(COMPARE_NOT_EQUAL_STRING_[i]);
+            VersionInfo v2 = 
+                    VersionInfo.getInstance(COMPARE_NOT_EQUAL_STRING_[i + 1]);
+            if (v1.compareTo(v2) == 0) {
+                errln(COMPARE_NOT_EQUAL_STRING_[i] + " should not equal " +
+                      COMPARE_NOT_EQUAL_STRING_[i + 1]);
+            }
+        }
+        for (int i = 0; i < COMPARE_NOT_EQUAL_INT_.length; i += 2) {
+            VersionInfo v1 = getInstance(COMPARE_NOT_EQUAL_INT_[i]);
+            VersionInfo v2 = getInstance(COMPARE_NOT_EQUAL_INT_[i + 1]);
+            if (v1.compareTo(v2) == 0) {
+                errln(COMPARE_NOT_EQUAL_INT_[i] + " should not equal " +
+                      COMPARE_NOT_EQUAL_INT_[i + 1]);
+            }
+        }
+        for (int i = 0; i < COMPARE_EQUAL_STRING_.length - 1; i ++) {
+            VersionInfo v1 = 
+                        VersionInfo.getInstance(COMPARE_EQUAL_STRING_[i]);
+            VersionInfo v2 = 
+                    VersionInfo.getInstance(COMPARE_EQUAL_STRING_[i + 1]);
+            if (v1.compareTo(v2) != 0) {
+                errln(COMPARE_EQUAL_STRING_[i] + " should equal " +
+                      COMPARE_EQUAL_STRING_[i + 1]);
+            }
+        }
+        for (int i = 0; i < COMPARE_EQUAL_INT_.length - 1; i ++) {
+            VersionInfo v1 = getInstance(COMPARE_EQUAL_INT_[i]);
+            VersionInfo v2 = getInstance(COMPARE_EQUAL_INT_[i + 1]);
+            if (v1.compareTo(v2) != 0) {
+                errln(COMPARE_EQUAL_INT_[i] + " should equal " +
+                      COMPARE_EQUAL_INT_[i + 1]);
+            }
+        }
+        for (int i = 0; i < COMPARE_LESS_.length - 1; i ++) {
+            VersionInfo v1 = VersionInfo.getInstance(COMPARE_LESS_[i]);
+            VersionInfo v2 = VersionInfo.getInstance(COMPARE_LESS_[i + 1]);
+            if (v1.compareTo(v2) >= 0) {
+                errln(COMPARE_LESS_[i] + " should be less than " + 
+                      COMPARE_LESS_[i + 1]);
+            }
+            if (v2.compareTo(v1) <= 0) {
+                errln(COMPARE_LESS_[i + 1] + " should be greater than " + 
+                      COMPARE_LESS_[i]);
+            }
+        }
+    }
+    
+    /**
+     * Test that the getter function works
+     */
+    public void TestGetter()
+    {
+        for (int i = 0; i < GET_STRING_.length; i ++) {
+            VersionInfo v = VersionInfo.getInstance(GET_STRING_[i]);
+            if (v.getMajor() != GET_RESULT_[i << 2] ||
+                v.getMinor() != GET_RESULT_[(i << 2) + 1] ||
+                v.getMilli() != GET_RESULT_[(i << 2) + 2] ||
+                v.getMicro() != GET_RESULT_[(i << 2) + 3]) {
+                errln(GET_STRING_[i] + " should return major=" + 
+                      GET_RESULT_[i << 2] + " minor=" + 
+                      GET_RESULT_[(i << 2) + 1] + " milli=" + 
+                      GET_RESULT_[(i << 2) + 2] + " micro=" +
+                      GET_RESULT_[(i << 2) + 3]);  
+            }
+            v = getInstance(GET_INT_[i]);
+            if (v.getMajor() != GET_RESULT_[i << 2] ||
+                v.getMinor() != GET_RESULT_[(i << 2) + 1] ||
+                v.getMilli() != GET_RESULT_[(i << 2) + 2] ||
+                v.getMicro() != GET_RESULT_[(i << 2) + 3]) {
+                errln(GET_STRING_[i] + " should return major=" + 
+                      GET_RESULT_[i << 2] + " minor=" + 
+                      GET_RESULT_[(i << 2) + 1] + " milli=" + 
+                      GET_RESULT_[(i << 2) + 2] + " micro=" +
+                      GET_RESULT_[(i << 2) + 3]);  
+            }
+        }
+    }
+    
+    /**
+     * Test toString()
+     */
+    public void TesttoString() 
+    {
+        for (int i = 0; i < TOSTRING_STRING_.length; i ++) {
+            VersionInfo v = VersionInfo.getInstance(TOSTRING_STRING_[i]);
+            if (!v.toString().equals(TOSTRING_RESULT_[i])) {
+                errln("toString() for " + TOSTRING_STRING_[i] + 
+                      " should produce " + TOSTRING_RESULT_[i]);
+            }
+            v = getInstance(TOSTRING_INT_[i]);
+            if (!v.toString().equals(TOSTRING_RESULT_[i])) {
+                errln("toString() for " + TOSTRING_INT_[i] + 
+                      " should produce " + TOSTRING_RESULT_[i]);
+            }
+        }
+    }
+    
+    // private methods --------------------------------------------------
+    
+    /**
+     * int array versioninfo creation
+     */
+    private static VersionInfo getInstance(int data[])
+    {
+        switch (data.length) {
+            case 1:
+                return VersionInfo.getInstance(data[0]);
+            case 2:
+                return VersionInfo.getInstance(data[0], data[1]);
+            case 3:
+                return VersionInfo.getInstance(data[0], data[1], data[2]);
+            default:
+                return VersionInfo.getInstance(data[0], data[1], data[2], 
+                                               data[3]);
+        }
+    }
+    
+    // private data members --------------------------------------------
+    
+    /**
+     * Test instance data
+     */
+    private static final String INSTANCE_INVALID_STRING_[] = {
+        "a",
+        "-1",
+        "-1.0",
+        "-1.0.0",
+        "-1.0.0.0",
+        "0.-1",
+        "0.0.-1",
+        "0.0.0.-1",
+        "256",
+        "256.0",
+        "256.0.0",
+        "256.0.0.0",
+        "0.256",
+        "0.0.256",
+        "0.0.0.256",
+        "1.2.3.4.5"
+    };
+    private static final String INSTANCE_VALID_STRING_[] = {
+        "255",
+        "255.255",
+        "255.255.255",
+        "255.255.255.255"
+    };
+    private static final int INSTANCE_INVALID_INT_[][] = {
+        {-1},
+        {-1, 0},
+        {-1, 0, 0},
+        {-1, 0, 0, 0},
+        {0, -1},
+        {0, 0, -1},
+        {0, 0, 0, -1},
+        {256},
+        {256, 0},
+        {256, 0, 0},
+        {256, 0, 0, 0},
+        {0, 256},
+        {0, 0, 256},
+        {0, 0, 0, 256},
+    };
+    private static final int INSTANCE_VALID_INT_[][] = {
+        {255},
+        {255, 255},
+        {255, 255, 255},
+        {255, 255, 255, 255}
+    };
+    
+    /**
+     * Test compare data
+     */
+    private static final String COMPARE_NOT_EQUAL_STRING_[] = {
+        "2.0.0.0", "3.0.0.0"
+    };
+    private static final int COMPARE_NOT_EQUAL_INT_[][] = {
+        {2, 0, 0, 0}, {3, 0, 0, 0}
+    };
+    private static final String COMPARE_EQUAL_STRING_[] = {
+        "2.0.0.0", "2.0.0", "2.0", "2"
+    };
+    private static final int COMPARE_EQUAL_INT_[][] = {
+        {2}, {2, 0}, {2, 0, 0}, {2, 0, 0, 0}    
+    };
+    private static final String COMPARE_LESS_[] = {
+        "0", "0.0.0.1", "0.0.1", "0.1", "1", "2", "2.1", "2.1.1", "2.1.1.1"
+    };
+    
+    /**
+     * Test Getter data
+     */
+    private static final String GET_STRING_[] = {
+        "0",
+        "1.1",
+        "2.1.255",
+        "3.1.255.100"
+    };
+    private static final int GET_INT_[][] = {
+        {0},
+        {1, 1},
+        {2, 1, 255},
+        {3, 1, 255, 100}
+    };
+    private static final int GET_RESULT_[] = {
+        0, 0, 0, 0,
+        1, 1, 0, 0,
+        2, 1, 255, 0,
+        3, 1, 255, 100
+    };
+    
+    /**
+     * Test toString data
+     */
+    private static final String TOSTRING_STRING_[] = {
+        "0",
+        "1.1",
+        "2.1.255",
+        "3.1.255.100"    
+    };
+    private static final int TOSTRING_INT_[][] = {
+        {0},
+        {1, 1},
+        {2, 1, 255},
+        {3, 1, 255, 100}
+    };
+    private static final String TOSTRING_RESULT_[] = {
+        "0.0.0.0",
+        "1.1.0.0",
+        "2.1.255.0",
+        "3.1.255.100"    
+    };
+}
\ No newline at end of file
diff --git a/src/com/ibm/icu/dev/test/util/Visitor.java b/src/com/ibm/icu/dev/test/util/Visitor.java
new file mode 100644
index 0000000..7bcda0f
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/util/Visitor.java
@@ -0,0 +1,131 @@
+
+/*
+ *******************************************************************************
+ * Copyright (C) 2002-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.test.util;
+
+import java.util.*;
+import com.ibm.icu.text.UnicodeSet;
+import com.ibm.icu.text.UnicodeSetIterator;
+
+public abstract class Visitor {
+    
+    public void doAt(Object item) {
+        if (item instanceof Collection) {
+            doAt((Collection) item);
+        } else if (item instanceof Map) {
+            doAt((Map) item);
+        } else if (item instanceof Object[]) {
+            doAt((Object[]) item);
+        } else if (item instanceof UnicodeSet) {
+            doAt((UnicodeSet) item);
+        } else {
+            doSimpleAt(item);
+        }
+    }
+
+    public int count(Object item) {
+        if (item instanceof Collection) {
+            return ((Collection) item).size();
+        } else if (item instanceof Map) {
+            return ((Map) item).size();
+        } else if (item instanceof Object[]) {
+            return ((Object[]) item).length;
+        } else if (item instanceof UnicodeSet) {
+            return ((UnicodeSet) item).size();
+        } else {
+            return 1;
+        }
+    }
+
+    // the default implementation boxing
+    
+    public void doAt(int o) {
+        doSimpleAt(new Integer(o));
+    }
+    public void doAt(double o) {
+        doSimpleAt(new Double(o));
+    }
+    public void doAt(char o) {
+        doSimpleAt(new Character(o));
+    }
+    
+    // for subclassing
+    
+    protected void doAt (Collection c) {
+        if (c.size() == 0) doBefore(c, null);
+        Iterator it = c.iterator();
+        boolean first = true;
+        Object last = null;
+        while (it.hasNext()) {
+            Object item = it.next();
+            if (first) {
+                doBefore(c, item);
+                first = false;
+            } else {
+                doBetween(c, last, item);
+            }    
+            doAt(last=item);
+        }
+        doAfter(c, last);
+    }
+
+    protected void doAt (Map c) {
+        doAt(c.entrySet());
+    }
+
+    protected void doAt (UnicodeSet c) {
+        if (c.size() == 0) doBefore(c, null);
+        UnicodeSetIterator it = new UnicodeSetIterator(c);
+        boolean first = true;
+        Object last = null;
+        Object item;
+        CodePointRange cpr0 = new CodePointRange();
+        CodePointRange cpr1 = new CodePointRange();
+        CodePointRange cpr;
+        
+        while(it.nextRange()) {
+            if (it.codepoint == UnicodeSetIterator.IS_STRING) {
+                item = it.string;
+            } else {
+                cpr = last == cpr0 ? cpr1 : cpr0;   // make sure we don't override last
+                cpr.codepoint = it.codepoint;
+                cpr.codepointEnd = it.codepointEnd;
+                item = cpr;
+            }           
+            if (!first) {
+                doBefore(c, item);
+                first = true;
+            } else {
+                doBetween(c, last, item);
+            }
+            doAt(last = item);
+        }
+        doAfter(c, last);
+    }
+    
+    protected void doAt (Object[] c) {
+        doBefore(c, c.length == 0 ? null : c[0]);
+        Object last = null;
+        for (int i = 0; i < c.length; ++i) {
+            if (i != 0) doBetween(c, last, c[i]);
+            doAt(last = c[i]);
+        }
+        doAfter(c, last);
+    }
+    
+    public static class CodePointRange{
+        public int codepoint, codepointEnd;
+    }
+    
+    // ===== MUST BE OVERRIDEN =====
+    
+    abstract protected void doBefore(Object container, Object item);
+    abstract protected void doBetween(Object container, Object lastItem, Object nextItem);
+    abstract protected void doAfter(Object container, Object item);   
+    abstract protected void doSimpleAt(Object o);
+    
+}
\ No newline at end of file
diff --git a/src/com/ibm/icu/dev/test/util/XEquivalenceClass.java b/src/com/ibm/icu/dev/test/util/XEquivalenceClass.java
new file mode 100644
index 0000000..fa183df
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/util/XEquivalenceClass.java
@@ -0,0 +1,260 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.test.util;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+public class XEquivalenceClass {
+	
+	// quick test
+	static public void main(String[] args) {
+		XEquivalenceClass foo1 = new XEquivalenceClass("NONE");
+		String[][] tests = {{"b","a1"}, {"b", "c"}, {"a1", "c"}, {"d", "e"}, {"e", "f"}, {"c", "d"}};
+		for (int i = 0; i < tests.length; ++i) {
+			System.out.println("Adding: " + tests[i][0] + ", " + tests[i][1]);
+			foo1.add(tests[i][0], tests[i][1], new Integer(i));
+			for (Iterator it = foo1.getExplicitItems().iterator(); it.hasNext();) {
+				Object item = it.next();
+				System.out.println("\t" + item  + ";\t" + foo1.getSample(item) + ";\t" + foo1.getEquivalences(item));
+				System.out.println("\t\t" + foo1.getReasons(item, foo1.getSample(item)));
+			}
+		}
+	}
+	
+	private Map toPartitionSet = new HashMap();
+	private Map obj_obj_reasons = new HashMap();
+	private Object defaultReason;
+	
+	
+	/**
+	 * Create class with comparator, and default reason.
+	 *
+	 */
+	public XEquivalenceClass(Object defaultReason) {
+		this.defaultReason = defaultReason;
+	}
+	
+	/**
+	 * Add two equivalent items, with NO_REASON for the reason.
+	 */
+	public XEquivalenceClass add(Object a, Object b) {
+		return add(a,b,null);
+	}
+	
+	/**
+	 * Add two equivalent items, plus a reason. The reason is only used for getReasons
+	 */
+	public XEquivalenceClass add(Object a, Object b, Object reason) {
+		if (a.equals(b)) return this;
+		if (reason == null) reason = defaultReason;
+		addReason(a,b,reason);
+		addReason(b,a,reason);
+		Set aPartitionSet = (Set) toPartitionSet.get(a);
+		Set bPartitionSet = (Set) toPartitionSet.get(b);
+		if (aPartitionSet == null) {
+			if (bPartitionSet == null) { // both null, set up bSet
+				bPartitionSet = new HashSet();
+				bPartitionSet.add(b);
+				toPartitionSet.put(b, bPartitionSet);				
+			}
+			bPartitionSet.add(a);
+			toPartitionSet.put(a, bPartitionSet);				
+		} else if (bPartitionSet == null) { // aSet is not null, bSet null
+			aPartitionSet.add(b);
+			toPartitionSet.put(b, aPartitionSet);							
+		} else if (aPartitionSet != bPartitionSet) {  // both non-null, not equal, merge.  Equality check ok here
+			aPartitionSet.addAll(bPartitionSet);
+			// remap every x that had x => bPartitionSet
+			for (Iterator it = bPartitionSet.iterator(); it.hasNext();) {
+				toPartitionSet.put(it.next(), aPartitionSet);	
+			}
+		}
+		return this;
+	}
+	
+	/**
+	 * Add all the information from the other class
+	 *
+	 */
+	public XEquivalenceClass addAll(XEquivalenceClass other) {
+		// For now, does the simple, not optimized version
+		for (Iterator it = other.obj_obj_reasons.keySet().iterator(); it.hasNext();) {
+			Object a = it.next();
+			Map obj_reasons = (Map) other.obj_obj_reasons.get(a);
+			for (Iterator it2 = obj_reasons.keySet().iterator(); it2.hasNext();) {
+				Object b = it2.next();
+				Set reasons = (Set) obj_reasons.get(b);
+				for (Iterator it3 = reasons.iterator(); it3.hasNext();) {
+					Object reason = it3.next();
+					add(a, b, reason);
+				}
+			}
+		}
+		return this;
+	}
+	
+	/**
+	 * 
+	 */
+	private void addReason(Object a, Object b, Object reason) {
+		Map obj_reasons = (Map) obj_obj_reasons.get(a);
+		if (obj_reasons == null) obj_obj_reasons.put(a, obj_reasons = new HashMap());
+		Set reasons = (Set) obj_reasons.get(b);
+		if (reasons == null) obj_reasons.put(b, reasons = new HashSet());
+		reasons.add(reason);
+	}
+
+	/**
+	 * Returns a set of all the explicit items in the equivalence set. (Any non-explicit items only
+	 * have themselves as equivalences.)
+	 *
+	 */
+	public Set getExplicitItems() {
+		return Collections.unmodifiableSet(toPartitionSet.keySet());
+	}
+	
+	/**
+	 * Returns an unmodifiable set of all the equivalent objects
+	 *
+	 */
+	public Set getEquivalences(Object a) {
+		Set aPartitionSet = (Set) toPartitionSet.get(a);
+		if (aPartitionSet == null) { // manufacture an equivalence
+			aPartitionSet = new HashSet();
+			aPartitionSet.add(a); 
+		}
+		return Collections.unmodifiableSet(aPartitionSet);
+	}
+	
+	public Set getEquivalenceSets() {
+		Set result = new HashSet();
+		for (Iterator it = toPartitionSet.keySet().iterator(); it.hasNext();) {
+			Object item = it.next();
+			Set partition = (Set) toPartitionSet.get(item);
+			result.add(Collections.unmodifiableSet(partition));
+		}
+		return result;	
+	}
+	/**
+	 * returns true iff a is equivalent to b (or a.equals b)
+	 *
+	 */
+	public boolean isEquivalent(Object a, Object b) {
+		if (a.equals(b)) return true;
+		Set aPartitionSet = (Set) toPartitionSet.get(a);
+		if (aPartitionSet == null) return false;
+		return aPartitionSet.contains(b);
+	}
+	
+	/**
+	 * Gets a sample object in the equivalence set for a. 
+	 *
+	 */
+	public Object getSample(Object a) {
+		Set aPartitionSet = (Set) toPartitionSet.get(a);
+		if (aPartitionSet == null) return a; // singleton
+		return aPartitionSet.iterator().next();
+	}
+	
+	public interface Filter {
+		boolean matches(Object o);
+	}
+	
+	public Object getSample(Object a, Filter f) {
+		Set aPartitionSet = (Set) toPartitionSet.get(a);
+		if (aPartitionSet == null) return a; // singleton
+		for (Iterator it = aPartitionSet.iterator(); it.hasNext();) {
+			Object obj = it.next();
+			if (f.matches(obj)) return obj;
+		}
+		return a;
+	}
+
+	/**
+	 * gets the set of all the samples, one from each equivalence class. 
+	 *
+	 */
+	public Set getSamples() {
+		Set seenAlready = new HashSet();
+		Set result = new HashSet();
+		for (Iterator it = toPartitionSet.keySet().iterator(); it.hasNext();) {
+			Object item = it.next();
+			if (seenAlready.contains(item)) continue;
+			Set partition = (Set) toPartitionSet.get(item);
+			result.add(partition.iterator().next());
+			seenAlready.addAll(partition);
+		}
+		return result;
+	}
+	
+
+	/**
+	 * Returns a list of lists. Each sublist is in the form [reasons, obj, reasons, obj,..., reasons]
+	 * where each reasons is a set of reasons to go from one obj to the next.<br>
+	 * Returns null if there is no connection.
+	 */
+	public List getReasons(Object a, Object b) {
+		// use dumb algorithm for getting shortest path
+		// don't bother with optimization
+		Set aPartitionSet = (Set) toPartitionSet.get(a);
+		Set bPartitionSet = (Set) toPartitionSet.get(b);
+		
+		// see if they connect
+		if (aPartitionSet == null || bPartitionSet == null || aPartitionSet != bPartitionSet || a.equals(b)) return null;
+		
+		ArrayList list = new ArrayList();
+		list.add(a);
+		ArrayList lists = new ArrayList();
+		lists.add(list);
+
+		// this will contain the results
+		List foundLists = new ArrayList();
+		Set sawLastTime = new HashSet();
+		sawLastTime.add(a);
+		
+		// each time, we extend the lists by one (adding multiple other lists)
+		while (foundLists.size() == 0) {
+			ArrayList extendedList = new ArrayList();
+			Set sawThisTime = new HashSet();
+			for (Iterator it = lists.iterator(); it.hasNext();) {
+				ArrayList lista = (ArrayList) it.next();
+				Object last = lista.get(lista.size()-1);
+				Map obj_reasons = (Map) obj_obj_reasons.get(last);
+				for (Iterator it2 = obj_reasons.keySet().iterator(); it2.hasNext();) {
+					Object item = it2.next();
+					if (sawLastTime.contains(item)) {
+						continue; // skip since we have shorter
+					}
+					sawThisTime.add(item);
+					Set reasons = (Set) obj_reasons.get(item);
+					ArrayList lista2 = (ArrayList)lista.clone();
+					lista2.add(reasons);
+					lista2.add(item);
+					extendedList.add(lista2);
+					if (item.equals(b)) {
+						// remove first and last
+						ArrayList found = (ArrayList)lista2.clone();
+						found.remove(0);
+						found.remove(found.size()-1);
+						foundLists.add(found);
+					}
+				}
+			}
+			lists = extendedList;
+			sawLastTime.addAll(sawThisTime);
+		}
+		return foundLists;
+	}
+}
\ No newline at end of file
diff --git a/src/com/ibm/icu/dev/test/util/manifest.cldrutil.stub b/src/com/ibm/icu/dev/test/util/manifest.cldrutil.stub
new file mode 100644
index 0000000..23e7d48
--- /dev/null
+++ b/src/com/ibm/icu/dev/test/util/manifest.cldrutil.stub
@@ -0,0 +1,14 @@
+Manifest-Version: 1.0
+Class-Path: utilities.jar
+Main-Class: com.ibm.icu.dev.test.TestAll
+
+Name: com/ibm/icu/
+Specification-Title: Utilities for CLDR 
+Specification-Version: 3.4
+Specification-Vendor: ICU
+Implementation-Title: Utilities for CLDR
+Implementation-Version: 3.4.0
+Implementation-Vendor: IBM Corporation
+Implementation-Vendor-Id: com.ibm
+Copyright-Info: Copyright (c) 2005, International Business Machines Corporation and others.  All Rights Reserved.
+Sealed: false
diff --git a/src/com/ibm/icu/dev/tool/UOption.java b/src/com/ibm/icu/dev/tool/UOption.java
new file mode 100644
index 0000000..45a1269
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/UOption.java
@@ -0,0 +1,275 @@
+/*
+**********************************************************************
+* Copyright (c) 2002-2004, International Business Machines
+* Corporation and others.  All Rights Reserved.
+**********************************************************************
+* Author: Alan Liu
+* Created: November 15 2002
+* Since: ICU 2.4
+**********************************************************************
+*/
+package com.ibm.icu.dev.tool;
+
+/**
+ * A command-line option.  A UOption specifies the name of an option
+ * and whether or not it takes an argument.  It is a mutable object
+ * that later contains the option argument, if any, and a boolean
+ * flag stating whether the option was seen or not.
+ *
+ * The static method parseArgs() takes an array of command-line
+ * arguments and an array of UOptions and parses the command-line
+ * arguments.
+ *
+ * This deliberately resembles the icu4c file uoption.[ch].
+ */
+public class UOption {
+
+    // Deliberated public data members
+    public String  longName;
+    public String  value;
+    public Fn      optionFn;
+    public Object  context;
+    public char    shortName;
+    public int     hasArg;
+    public boolean doesOccur;
+
+    // Values of hasArg
+    public static final int NO_ARG       = 0;
+    public static final int REQUIRES_ARG = 1;
+    public static final int OPTIONAL_ARG = 2;
+
+    // Analog of UOptionFn.  We don't pass in the context because the
+    // functor can get it from the UOption.
+    public interface Fn {
+        int handle(UOption option);
+    }
+
+    /**
+     * Create a UOption with the given attributes.
+     */
+    public static UOption create(String aLongName,
+                                char aShortName,
+                                int hasArgument) {
+        return new UOption(aLongName, aShortName, hasArgument);
+    }
+
+    /**
+     * Create a UOption with the given attributes.
+     * Synonym for create(), for C compatibility.
+     */
+    public static UOption DEF(String aLongName,
+                              char aShortName,
+                              int hasArgument) {
+        return create(aLongName, aShortName, hasArgument);
+    }
+
+    // Standard canned options.  These create a new object when
+    // called.  Since the UOption object is mutable, we cannot use
+    // static final instances.
+    public static UOption HELP_H()             { return create("help", 'h', NO_ARG); }
+    public static UOption HELP_QUESTION_MARK() { return create("help", '?', NO_ARG); }
+    public static UOption VERBOSE()            { return create("verbose", 'v', NO_ARG); }
+    public static UOption QUIET()              { return create("quiet", 'q', NO_ARG); }
+    public static UOption VERSION()            { return create("version", 'V', NO_ARG); }
+    public static UOption COPYRIGHT()          { return create("copyright", 'c', NO_ARG); }
+
+    public static UOption DESTDIR()            { return create("destdir", 'd', REQUIRES_ARG); }
+    public static UOption SOURCEDIR()          { return create("sourcedir", 's', REQUIRES_ARG); }
+    public static UOption ENCODING()           { return create("encoding", 'e', REQUIRES_ARG); }
+    public static UOption ICUDATADIR()         { return create("icudatadir", 'i', REQUIRES_ARG); }
+    public static UOption PACKAGE_NAME()       { return create("package-name", 'p', REQUIRES_ARG); }
+    public static UOption BUNDLE_NAME()        { return create("bundle-name", 'b', REQUIRES_ARG); }
+
+    /**
+     * Java Command line argument parser.
+     *
+     * This function takes the argv[] command line and a description of
+     * the program's options in form of an array of UOption structures.
+     * Each UOption defines a long and a short name (a string and a character)
+     * for options like "--foo" and "-f".
+     *
+     * Each option is marked with whether it does not take an argument,
+     * requires one, or optionally takes one. The argument may follow in
+     * the same argv[] entry for short options, or it may always follow
+     * in the next argv[] entry.
+     *
+     * An argument is in the next argv[] entry for both long and short name
+     * options, except it is taken from directly behind the short name in
+     * its own argv[] entry if there are characters following the option letter.
+     * An argument in its own argv[] entry must not begin with a '-'
+     * unless it is only the '-' itself. There is no restriction of the
+     * argument format if it is part of the short name options's argv[] entry.
+     *
+     * The argument is stored in the value field of the corresponding
+     * UOption entry, and the doesOccur field is set to 1 if the option
+     * is found at all.
+     *
+     * Short name options without arguments can be collapsed into a single
+     * argv[] entry. After an option letter takes an argument, following
+     * letters will be taken as its argument.
+     *
+     * If the same option is found several times, then the last
+     * argument value will be stored in the value field.
+     *
+     * For each option, a function can be called. This could be used
+     * for options that occur multiple times and all arguments are to
+     * be collected.
+     *
+     * All options are removed from the argv[] array itself. If the parser
+     * is successful, then it returns the number of remaining non-option
+     * strings.  (Unlike C, the Java argv[] array does NOT contain
+     * the program name in argv[0].)
+     *
+     * An option "--" ends option processing; everything after this
+     * remains in the argv[] array.
+     *
+     * An option string "-" alone is treated as a non-option.
+     *
+     * If an option is not recognized or an argument missing, then
+     * the parser returns with the negative index of the argv[] entry
+     * where the error was detected.
+     *
+     * @param argv this parameter is modified
+     * @param start the first argument in argv[] to examine.  Must be
+     * 0..argv.length-1.  Arguments from 0..start-1 are ignored.
+     * @param options this parameter is modified
+     * @return the number of unprocessed arguments in argv[], including
+     * arguments 0..start-1.
+     */
+    public static int parseArgs(String argv[], int start, UOption options[]) {
+        String arg;
+        int i=start, remaining=start;
+        char c;
+        boolean stopOptions=false;
+
+        while(i<argv.length) {
+            arg=argv[i];
+            if(!stopOptions && arg.length()>1 && arg.charAt(0)=='-') {
+                /* process an option */
+                c=arg.charAt(1);
+                UOption option=null;
+                arg=arg.substring(2);
+                if(c=='-') {
+                    /* process a long option */
+                    if(arg.length()==0) {
+                        /* stop processing options after "--" */
+                        stopOptions=true;
+                    } else {
+                        /* search for the option string */
+                        int j;
+                        for(j=0; j<options.length; ++j) {
+                            if(options[j].longName != null && arg.equals(options[j].longName)) {
+                                option=options[j];
+                                break;
+                            }
+                        }
+                        if(option==null) {
+                            /* no option matches */
+                            syntaxError("Unknown option " + argv[i]);
+                        }
+                        option.doesOccur=true;
+
+                        if(option.hasArg!=NO_ARG) {
+                            /* parse the argument for the option, if any */
+                            if(i+1<argv.length && !(argv[i+1].length()>1 && argv[i+1].charAt(0)=='-')) {
+                                /* argument in the next argv[], and there is not an option in there */
+                                option.value=argv[++i];
+                            } else if(option.hasArg==REQUIRES_ARG) {
+                                /* there is no argument, but one is required: return with error */
+                                syntaxError("Option " + argv[i] + " lacks required argument");
+                            }
+                        }
+                    }
+                } else {
+                    /* process one or more short options */
+                    for (;;) {
+                        /* search for the option letter */
+                        int j;
+                        for(j=0; j<options.length; ++j) {
+                            if(c==options[j].shortName) {
+                                option=options[j];
+                                break;
+                            }
+                        }
+                        if(option==null) {
+                            /* no option matches */
+                            syntaxError("Unknown option '" + c + "' in " + argv[i]);
+                        }
+                        option.doesOccur=true;
+
+                        if(option.hasArg!=NO_ARG) {
+                            /* parse the argument for the option, if any */
+                            if(arg.length()!=0) {
+                                /* argument following in the same argv[] */
+                                option.value=arg;
+                                /* do not process the rest of this arg as option letters */
+                                break;
+                            } else if(i+1<argv.length && !(argv[i+1].length()>1 && argv[i+1].charAt(0)=='-')) {
+                                /* argument in the next argv[], and there is not an option in there */
+                                option.value=argv[++i];
+                                /* this break is redundant because we know that *arg==0 */
+                                break;
+                            } else if(option.hasArg==REQUIRES_ARG) {
+                                /* there is no argument, but one is required: return with error */
+                                syntaxError("Option -" + c + " lacks required argument");
+                            }
+                        }
+
+                        /* get the next option letter */
+                        option=null;
+                        if (arg.length()==0) break;
+                        c=arg.charAt(0);
+                        arg=arg.substring(1);
+                    }
+                }
+
+                if(option!=null && option.optionFn!=null && option.optionFn.handle(option)<0) {
+                    /* the option function was called and returned an error */
+                    syntaxError("Option handler failed for " + argv[i]);
+                }
+
+                /* go to next argv[] */
+                ++i;
+            } else {
+                /* move a non-option up in argv[] */
+                argv[remaining++]=arg;
+                ++i;
+            }
+        }
+        return remaining;
+    }
+
+    /**
+     * Allows the default to be set in an option list.
+     * @param s
+     * @return this
+     */public UOption setDefault(String s) {
+        value = s;
+        return this;
+    }
+
+    /**
+     * Convenient method.
+     */
+    public static int parseArgs(String argv[], UOption options[]) {
+        return parseArgs(argv, 0, options);
+    }
+
+    /**
+     * Constructor.
+     */
+    private UOption(String aLongName,
+                    char aShortName,
+                    int hasArgument) {
+        longName = aLongName;
+        shortName = aShortName;
+        hasArg = hasArgument;
+    }
+
+    /**
+     * Throw an exception indicating a syntax error.
+     */
+    private static void syntaxError(String message) {
+        throw new IllegalArgumentException("Error in argument list: " + message);
+    }
+}
diff --git a/src/com/ibm/icu/dev/tool/ZoneMetaCLDR.java b/src/com/ibm/icu/dev/tool/ZoneMetaCLDR.java
new file mode 100644
index 0000000..5446f64
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/ZoneMetaCLDR.java
@@ -0,0 +1,1155 @@
+//---------------------------------------------------------
+// Copyright (C) 2005, International Business Machines
+// Corporation and others.  All Rights Reserved.
+//---------------------------------------------------------
+
+// >>> This data was generated from CLDR by Mark's tools
+// >>> as a temporary measure for the 3.4 release.
+
+package com.ibm.icu.dev.tool;
+
+import com.ibm.icu.impl.ZoneMetaData;
+
+import java.util.*;
+
+public final class ZoneMetaCLDR {
+    /* Generated by org.unicode.cldr.tool.CountItems */
+    private static final String[][] CANONICAL_REMAP = {
+        /* zoneID, canonical zoneID */
+        {"America/Argentina/Buenos_Aires", "America/Buenos_Aires"},
+        {"America/Argentina/Catamarca", "America/Catamarca"},
+        {"America/Argentina/Cordoba", "America/Cordoba"},
+        {"America/Argentina/Jujuy", "America/Jujuy"},
+        {"America/Argentina/Mendoza", "America/Mendoza"},
+        {"America/Atka", "America/Adak"},
+        {"America/Ensenada", "America/Tijuana"},
+        {"America/Fort_Wayne", "America/Indianapolis"},
+        {"America/Indiana/Indianapolis", "America/Indianapolis"},
+        {"America/Kentucky/Louisville", "America/Louisville"},
+        {"America/Knox_IN", "America/Indiana/Knox"},
+        {"America/Porto_Acre", "America/Rio_Branco"},
+        {"America/Rosario", "America/Cordoba"},
+        {"America/Virgin", "America/St_Thomas"},
+        {"Asia/Ashkhabad", "Asia/Ashgabat"},
+        {"Asia/Chungking", "Asia/Chongqing"},
+        {"Asia/Dacca", "Asia/Dhaka"},
+        {"Asia/Istanbul", "Europe/Istanbul"},
+        {"Asia/Macao", "Asia/Macau"},
+        {"Asia/Tel_Aviv", "Asia/Jerusalem"},
+        {"Asia/Thimbu", "Asia/Thimphu"},
+        {"Asia/Ujung_Pandang", "Asia/Makassar"},
+        {"Asia/Ulan_Bator", "Asia/Ulaanbaatar"},
+        {"Australia/ACT", "Australia/Sydney"},
+        {"Australia/Canberra", "Australia/Sydney"},
+        {"Australia/LHI", "Australia/Lord_Howe"},
+        {"Australia/NSW", "Australia/Sydney"},
+        {"Australia/North", "Australia/Darwin"},
+        {"Australia/Queensland", "Australia/Brisbane"},
+        {"Australia/South", "Australia/Adelaide"},
+        {"Australia/Tasmania", "Australia/Hobart"},
+        {"Australia/Victoria", "Australia/Melbourne"},
+        {"Australia/West", "Australia/Perth"},
+        {"Australia/Yancowinna", "Australia/Broken_Hill"},
+        {"Brazil/Acre", "America/Rio_Branco"},
+        {"Brazil/DeNoronha", "America/Noronha"},
+        {"Brazil/East", "America/Sao_Paulo"},
+        {"Brazil/West", "America/Manaus"},
+        {"CST6CDT", "America/Chicago"},
+        {"Canada/Atlantic", "America/Halifax"},
+        {"Canada/Central", "America/Winnipeg"},
+        {"Canada/East-Saskatchewan", "America/Regina"},
+        {"Canada/Eastern", "America/Toronto"},
+        {"Canada/Mountain", "America/Edmonton"},
+        {"Canada/Newfoundland", "America/St_Johns"},
+        {"Canada/Pacific", "America/Vancouver"},
+        {"Canada/Saskatchewan", "America/Regina"},
+        {"Canada/Yukon", "America/Whitehorse"},
+        {"Chile/Continental", "America/Santiago"},
+        {"Chile/EasterIsland", "Pacific/Easter"},
+        {"Cuba", "America/Havana"},
+        {"EST", "America/Indianapolis"},
+        {"EST5EDT", "America/New_York"},
+        {"Egypt", "Africa/Cairo"},
+        {"Eire", "Europe/Dublin"},
+        {"Etc/GMT+0", "Etc/GMT"},
+        {"Etc/GMT-0", "Etc/GMT"},
+        {"Etc/GMT0", "Etc/GMT"},
+        {"Etc/Greenwich", "Etc/GMT"},
+        {"Etc/UCT", "Etc/GMT"},
+        {"Etc/UTC", "Etc/GMT"},
+        {"Etc/Universal", "Etc/GMT"},
+        {"Etc/Zulu", "Etc/GMT"},
+        {"Europe/Nicosia", "Asia/Nicosia"},
+        {"Europe/Tiraspol", "Europe/Chisinau"},
+        {"GB", "Europe/London"},
+        {"GB-Eire", "Europe/London"},
+        {"GMT", "Etc/GMT"},
+        {"GMT+0", "Etc/GMT"},
+        {"GMT-0", "Etc/GMT"},
+        {"GMT0", "Etc/GMT"},
+        {"Greenwich", "Etc/GMT"},
+        {"HST", "Pacific/Honolulu"},
+        {"Hongkong", "Asia/Hong_Kong"},
+        {"Iceland", "Atlantic/Reykjavik"},
+        {"Iran", "Asia/Tehran"},
+        {"Israel", "Asia/Jerusalem"},
+        {"Jamaica", "America/Jamaica"},
+        {"Japan", "Asia/Tokyo"},
+        {"Kwajalein", "Pacific/Kwajalein"},
+        {"Libya", "Africa/Tripoli"},
+        {"MST", "America/Phoenix"},
+        {"MST7MDT", "America/Denver"},
+        {"Mexico/BajaNorte", "America/Tijuana"},
+        {"Mexico/BajaSur", "America/Mazatlan"},
+        {"Mexico/General", "America/Mexico_City"},
+        {"NZ", "Pacific/Auckland"},
+        {"NZ-CHAT", "Pacific/Chatham"},
+        {"Navajo", "America/Shiprock"},
+        {"PRC", "Asia/Shanghai"},
+        {"PST8PDT", "America/Los_Angeles"},
+        {"Pacific/Samoa", "Pacific/Pago_Pago"},
+        {"Poland", "Europe/Warsaw"},
+        {"Portugal", "Europe/Lisbon"},
+        {"ROC", "Asia/Taipei"},
+        {"ROK", "Asia/Seoul"},
+        {"Singapore", "Asia/Singapore"},
+        {"SystemV/AST4", "America/Puerto_Rico"},
+        {"SystemV/AST4ADT", "America/Halifax"},
+        {"SystemV/CST6", "America/Regina"},
+        {"SystemV/CST6CDT", "America/Chicago"},
+        {"SystemV/EST5", "America/Indianapolis"},
+        {"SystemV/EST5EDT", "America/New_York"},
+        {"SystemV/HST10", "Pacific/Honolulu"},
+        {"SystemV/MST7", "America/Phoenix"},
+        {"SystemV/MST7MDT", "America/Denver"},
+        {"SystemV/PST8", "Pacific/Pitcairn"},
+        {"SystemV/PST8PDT", "America/Los_Angeles"},
+        {"SystemV/YST9", "Pacific/Gambier"},
+        {"SystemV/YST9YDT", "America/Anchorage"},
+        {"Turkey", "Europe/Istanbul"},
+        {"UCT", "Etc/GMT"},
+        {"US/Alaska", "America/Anchorage"},
+        {"US/Aleutian", "America/Adak"},
+        {"US/Arizona", "America/Phoenix"},
+        {"US/Central", "America/Chicago"},
+        {"US/East-Indiana", "America/Indianapolis"},
+        {"US/Eastern", "America/New_York"},
+        {"US/Hawaii", "Pacific/Honolulu"},
+        {"US/Indiana-Starke", "America/Indiana/Knox"},
+        {"US/Michigan", "America/Detroit"},
+        {"US/Mountain", "America/Denver"},
+        {"US/Pacific", "America/Los_Angeles"},
+        {"US/Pacific-New", "America/Los_Angeles"},
+        {"US/Samoa", "Pacific/Pago_Pago"},
+        {"UTC", "Etc/GMT"},
+        {"Universal", "Etc/GMT"},
+        {"W-SU", "Europe/Moscow"},
+        {"Zulu", "Etc/GMT"},
+    };
+
+    /* All canonical zoneIDs */
+    private static final String[] CANONICAL_LIST = {
+        "Africa/Abidjan",
+        "Africa/Accra",
+        "Africa/Addis_Ababa",
+        "Africa/Algiers",
+        "Africa/Asmera",
+        "Africa/Bamako",
+        "Africa/Bangui",
+        "Africa/Banjul",
+        "Africa/Bissau",
+        "Africa/Blantyre",
+        "Africa/Brazzaville",
+        "Africa/Bujumbura",
+        "Africa/Cairo",
+        "Africa/Casablanca",
+        "Africa/Ceuta",
+        "Africa/Conakry",
+        "Africa/Dakar",
+        "Africa/Dar_es_Salaam",
+        "Africa/Djibouti",
+        "Africa/Douala",
+        "Africa/El_Aaiun",
+        "Africa/Freetown",
+        "Africa/Gaborone",
+        "Africa/Harare",
+        "Africa/Johannesburg",
+        "Africa/Kampala",
+        "Africa/Khartoum",
+        "Africa/Kigali",
+        "Africa/Kinshasa",
+        "Africa/Lagos",
+        "Africa/Libreville",
+        "Africa/Lome",
+        "Africa/Luanda",
+        "Africa/Lubumbashi",
+        "Africa/Lusaka",
+        "Africa/Malabo",
+        "Africa/Maputo",
+        "Africa/Maseru",
+        "Africa/Mbabane",
+        "Africa/Mogadishu",
+        "Africa/Monrovia",
+        "Africa/Nairobi",
+        "Africa/Ndjamena",
+        "Africa/Niamey",
+        "Africa/Nouakchott",
+        "Africa/Ouagadougou",
+        "Africa/Porto-Novo",
+        "Africa/Sao_Tome",
+        "Africa/Timbuktu",
+        "Africa/Tripoli",
+        "Africa/Tunis",
+        "Africa/Windhoek",
+        "America/Adak",
+        "America/Anchorage",
+        "America/Anguilla",
+        "America/Antigua",
+        "America/Araguaina",
+        "America/Argentina/ComodRivadavia",
+        "America/Argentina/La_Rioja",
+        "America/Argentina/Rio_Gallegos",
+        "America/Argentina/San_Juan",
+        "America/Argentina/Tucuman",
+        "America/Argentina/Ushuaia",
+        "America/Aruba",
+        "America/Asuncion",
+        "America/Bahia",
+        "America/Barbados",
+        "America/Belem",
+        "America/Belize",
+        "America/Boa_Vista",
+        "America/Bogota",
+        "America/Boise",
+        "America/Buenos_Aires",
+        "America/Cambridge_Bay",
+        "America/Campo_Grande",
+        "America/Cancun",
+        "America/Caracas",
+        "America/Catamarca",
+        "America/Cayenne",
+        "America/Cayman",
+        "America/Chicago",
+        "America/Chihuahua",
+        "America/Cordoba",
+        "America/Costa_Rica",
+        "America/Cuiaba",
+        "America/Curacao",
+        "America/Danmarkshavn",
+        "America/Dawson",
+        "America/Dawson_Creek",
+        "America/Denver",
+        "America/Detroit",
+        "America/Dominica",
+        "America/Edmonton",
+        "America/Eirunepe",
+        "America/El_Salvador",
+        "America/Fortaleza",
+        "America/Glace_Bay",
+        "America/Godthab",
+        "America/Goose_Bay",
+        "America/Grand_Turk",
+        "America/Grenada",
+        "America/Guadeloupe",
+        "America/Guatemala",
+        "America/Guayaquil",
+        "America/Guyana",
+        "America/Halifax",
+        "America/Havana",
+        "America/Hermosillo",
+        "America/Indiana/Knox",
+        "America/Indiana/Marengo",
+        "America/Indiana/Vevay",
+        "America/Indianapolis",
+        "America/Inuvik",
+        "America/Iqaluit",
+        "America/Jamaica",
+        "America/Jujuy",
+        "America/Juneau",
+        "America/Kentucky/Monticello",
+        "America/La_Paz",
+        "America/Lima",
+        "America/Los_Angeles",
+        "America/Louisville",
+        "America/Maceio",
+        "America/Managua",
+        "America/Manaus",
+        "America/Martinique",
+        "America/Mazatlan",
+        "America/Mendoza",
+        "America/Menominee",
+        "America/Merida",
+        "America/Mexico_City",
+        "America/Miquelon",
+        "America/Monterrey",
+        "America/Montevideo",
+        "America/Montreal",
+        "America/Montserrat",
+        "America/Nassau",
+        "America/New_York",
+        "America/Nipigon",
+        "America/Nome",
+        "America/Noronha",
+        "America/North_Dakota/Center",
+        "America/Panama",
+        "America/Pangnirtung",
+        "America/Paramaribo",
+        "America/Phoenix",
+        "America/Port-au-Prince",
+        "America/Port_of_Spain",
+        "America/Porto_Velho",
+        "America/Puerto_Rico",
+        "America/Rainy_River",
+        "America/Rankin_Inlet",
+        "America/Recife",
+        "America/Regina",
+        "America/Rio_Branco",
+        "America/Santiago",
+        "America/Santo_Domingo",
+        "America/Sao_Paulo",
+        "America/Scoresbysund",
+        "America/Shiprock",
+        "America/St_Johns",
+        "America/St_Kitts",
+        "America/St_Lucia",
+        "America/St_Thomas",
+        "America/St_Vincent",
+        "America/Swift_Current",
+        "America/Tegucigalpa",
+        "America/Thule",
+        "America/Thunder_Bay",
+        "America/Tijuana",
+        "America/Toronto",
+        "America/Tortola",
+        "America/Vancouver",
+        "America/Whitehorse",
+        "America/Winnipeg",
+        "America/Yakutat",
+        "America/Yellowknife",
+        "Antarctica/Casey",
+        "Antarctica/Davis",
+        "Antarctica/DumontDUrville",
+        "Antarctica/Mawson",
+        "Antarctica/McMurdo",
+        "Antarctica/Palmer",
+        "Antarctica/Rothera",
+        "Antarctica/South_Pole",
+        "Antarctica/Syowa",
+        "Antarctica/Vostok",
+        "Arctic/Longyearbyen",
+        "Asia/Aden",
+        "Asia/Almaty",
+        "Asia/Amman",
+        "Asia/Anadyr",
+        "Asia/Aqtau",
+        "Asia/Aqtobe",
+        "Asia/Ashgabat",
+        "Asia/Baghdad",
+        "Asia/Bahrain",
+        "Asia/Baku",
+        "Asia/Bangkok",
+        "Asia/Beirut",
+        "Asia/Bishkek",
+        "Asia/Brunei",
+        "Asia/Calcutta",
+        "Asia/Choibalsan",
+        "Asia/Chongqing",
+        "Asia/Colombo",
+        "Asia/Damascus",
+        "Asia/Dhaka",
+        "Asia/Dili",
+        "Asia/Dubai",
+        "Asia/Dushanbe",
+        "Asia/Gaza",
+        "Asia/Harbin",
+        "Asia/Hong_Kong",
+        "Asia/Hovd",
+        "Asia/Irkutsk",
+        "Asia/Jakarta",
+        "Asia/Jayapura",
+        "Asia/Jerusalem",
+        "Asia/Kabul",
+        "Asia/Kamchatka",
+        "Asia/Karachi",
+        "Asia/Kashgar",
+        "Asia/Katmandu",
+        "Asia/Krasnoyarsk",
+        "Asia/Kuala_Lumpur",
+        "Asia/Kuching",
+        "Asia/Kuwait",
+        "Asia/Macau",
+        "Asia/Magadan",
+        "Asia/Makassar",
+        "Asia/Manila",
+        "Asia/Muscat",
+        "Asia/Nicosia",
+        "Asia/Novosibirsk",
+        "Asia/Omsk",
+        "Asia/Oral",
+        "Asia/Phnom_Penh",
+        "Asia/Pontianak",
+        "Asia/Pyongyang",
+        "Asia/Qatar",
+        "Asia/Qyzylorda",
+        "Asia/Rangoon",
+        "Asia/Riyadh",
+        "Asia/Saigon",
+        "Asia/Sakhalin",
+        "Asia/Samarkand",
+        "Asia/Seoul",
+        "Asia/Shanghai",
+        "Asia/Singapore",
+        "Asia/Taipei",
+        "Asia/Tashkent",
+        "Asia/Tbilisi",
+        "Asia/Tehran",
+        "Asia/Thimphu",
+        "Asia/Tokyo",
+        "Asia/Ulaanbaatar",
+        "Asia/Urumqi",
+        "Asia/Vientiane",
+        "Asia/Vladivostok",
+        "Asia/Yakutsk",
+        "Asia/Yekaterinburg",
+        "Asia/Yerevan",
+        "Atlantic/Azores",
+        "Atlantic/Bermuda",
+        "Atlantic/Canary",
+        "Atlantic/Cape_Verde",
+        "Atlantic/Faeroe",
+        "Atlantic/Jan_Mayen",
+        "Atlantic/Madeira",
+        "Atlantic/Reykjavik",
+        "Atlantic/South_Georgia",
+        "Atlantic/St_Helena",
+        "Atlantic/Stanley",
+        "Australia/Adelaide",
+        "Australia/Brisbane",
+        "Australia/Broken_Hill",
+        "Australia/Darwin",
+        "Australia/Hobart",
+        "Australia/Lindeman",
+        "Australia/Lord_Howe",
+        "Australia/Melbourne",
+        "Australia/Perth",
+        "Australia/Sydney",
+        "Etc/GMT",
+        "Etc/GMT+1",
+        "Etc/GMT+10",
+        "Etc/GMT+11",
+        "Etc/GMT+12",
+        "Etc/GMT+2",
+        "Etc/GMT+3",
+        "Etc/GMT+4",
+        "Etc/GMT+5",
+        "Etc/GMT+6",
+        "Etc/GMT+7",
+        "Etc/GMT+8",
+        "Etc/GMT+9",
+        "Etc/GMT-1",
+        "Etc/GMT-10",
+        "Etc/GMT-11",
+        "Etc/GMT-12",
+        "Etc/GMT-13",
+        "Etc/GMT-14",
+        "Etc/GMT-2",
+        "Etc/GMT-3",
+        "Etc/GMT-4",
+        "Etc/GMT-5",
+        "Etc/GMT-6",
+        "Etc/GMT-7",
+        "Etc/GMT-8",
+        "Etc/GMT-9",
+        "Europe/Amsterdam",
+        "Europe/Andorra",
+        "Europe/Athens",
+        "Europe/Belfast",
+        "Europe/Belgrade",
+        "Europe/Berlin",
+        "Europe/Bratislava",
+        "Europe/Brussels",
+        "Europe/Bucharest",
+        "Europe/Budapest",
+        "Europe/Chisinau",
+        "Europe/Copenhagen",
+        "Europe/Dublin",
+        "Europe/Gibraltar",
+        "Europe/Helsinki",
+        "Europe/Istanbul",
+        "Europe/Kaliningrad",
+        "Europe/Kiev",
+        "Europe/Lisbon",
+        "Europe/Ljubljana",
+        "Europe/London",
+        "Europe/Luxembourg",
+        "Europe/Madrid",
+        "Europe/Malta",
+        "Europe/Mariehamn",
+        "Europe/Minsk",
+        "Europe/Monaco",
+        "Europe/Moscow",
+        "Europe/Oslo",
+        "Europe/Paris",
+        "Europe/Prague",
+        "Europe/Riga",
+        "Europe/Rome",
+        "Europe/Samara",
+        "Europe/San_Marino",
+        "Europe/Sarajevo",
+        "Europe/Simferopol",
+        "Europe/Skopje",
+        "Europe/Sofia",
+        "Europe/Stockholm",
+        "Europe/Tallinn",
+        "Europe/Tirane",
+        "Europe/Uzhgorod",
+        "Europe/Vaduz",
+        "Europe/Vatican",
+        "Europe/Vienna",
+        "Europe/Vilnius",
+        "Europe/Warsaw",
+        "Europe/Zagreb",
+        "Europe/Zaporozhye",
+        "Europe/Zurich",
+        "Indian/Antananarivo",
+        "Indian/Chagos",
+        "Indian/Christmas",
+        "Indian/Cocos",
+        "Indian/Comoro",
+        "Indian/Kerguelen",
+        "Indian/Mahe",
+        "Indian/Maldives",
+        "Indian/Mauritius",
+        "Indian/Mayotte",
+        "Indian/Reunion",
+        "Pacific/Apia",
+        "Pacific/Auckland",
+        "Pacific/Chatham",
+        "Pacific/Easter",
+        "Pacific/Efate",
+        "Pacific/Enderbury",
+        "Pacific/Fakaofo",
+        "Pacific/Fiji",
+        "Pacific/Funafuti",
+        "Pacific/Galapagos",
+        "Pacific/Gambier",
+        "Pacific/Guadalcanal",
+        "Pacific/Guam",
+        "Pacific/Honolulu",
+        "Pacific/Johnston",
+        "Pacific/Kiritimati",
+        "Pacific/Kosrae",
+        "Pacific/Kwajalein",
+        "Pacific/Majuro",
+        "Pacific/Marquesas",
+        "Pacific/Midway",
+        "Pacific/Nauru",
+        "Pacific/Niue",
+        "Pacific/Norfolk",
+        "Pacific/Noumea",
+        "Pacific/Pago_Pago",
+        "Pacific/Palau",
+        "Pacific/Pitcairn",
+        "Pacific/Ponape",
+        "Pacific/Port_Moresby",
+        "Pacific/Rarotonga",
+        "Pacific/Saipan",
+        "Pacific/Tahiti",
+        "Pacific/Tarawa",
+        "Pacific/Tongatapu",
+        "Pacific/Truk",
+        "Pacific/Wake",
+        "Pacific/Wallis",
+        "Pacific/Yap",
+
+        // Riyadh hack
+        "Asia/Riyadh87",
+        "Asia/Riyadh88",
+        "Asia/Riyadh89",
+    };
+
+    private static final String[][] COUNTRY_INFO = {
+        /* canonical zoneID, country, isSingle */
+        {"Etc/GMT+12", "001", "F"},
+        {"Etc/GMT-12", "001", "F"},
+        {"Etc/GMT+11", "001", "F"},
+        {"Etc/GMT-13", "001", "F"},
+        {"Etc/GMT+10", "001", "F"},
+        {"Etc/GMT-14", "001", "F"},
+        {"Etc/GMT+9", "001", "F"},
+        {"Etc/GMT+8", "001", "F"},
+        {"Etc/GMT+7", "001", "F"},
+        {"Etc/GMT+6", "001", "F"},
+        {"Etc/GMT+5", "001", "F"},
+        {"Etc/GMT+4", "001", "F"},
+        {"Etc/GMT+3", "001", "F"},
+        {"Etc/GMT+2", "001", "F"},
+        {"Etc/GMT+1", "001", "F"},
+        {"Etc/GMT", "001", "F"},
+        {"Etc/GMT-1", "001", "F"},
+        {"Etc/GMT-2", "001", "F"},
+        {"Etc/GMT-3", "001", "F"},
+        {"Etc/GMT-4", "001", "F"},
+        {"Etc/GMT-5", "001", "F"},
+        {"Etc/GMT-6", "001", "F"},
+        {"Etc/GMT-7", "001", "F"},
+        {"Etc/GMT-8", "001", "F"},
+        {"Etc/GMT-9", "001", "F"},
+        {"Etc/GMT-10", "001", "F"},
+        {"Etc/GMT-11", "001", "F"},
+        {"Europe/Andorra", "AD", "T"},
+        {"Asia/Dubai", "AE", "T"},
+        {"Asia/Kabul", "AF", "T"},
+        {"America/Antigua", "AG", "T"},
+        {"America/Anguilla", "AI", "T"},
+        {"Europe/Tirane", "AL", "T"},
+        {"Asia/Yerevan", "AM", "T"},
+        {"America/Curacao", "AN", "T"},
+        {"Africa/Luanda", "AO", "T"},
+        {"Antarctica/Rothera", "AQ", "F"},
+        {"Antarctica/Palmer", "AQ", "F"},
+        {"Antarctica/South_Pole", "AQ", "F"},
+        {"Antarctica/Syowa", "AQ", "F"},
+        {"Antarctica/Mawson", "AQ", "F"},
+        {"Antarctica/Davis", "AQ", "F"},
+        {"Antarctica/Vostok", "AQ", "F"},
+        {"Antarctica/Casey", "AQ", "F"},
+        {"Antarctica/DumontDUrville", "AQ", "F"},
+        {"Antarctica/McMurdo", "AQ", "F"},
+        {"America/Argentina/Rio_Gallegos", "AR", "F"},
+        {"America/Mendoza", "AR", "F"},
+        {"America/Argentina/San_Juan", "AR", "F"},
+        {"America/Argentina/Ushuaia", "AR", "F"},
+        {"America/Argentina/ComodRivadavia", "AR", "F"},
+        {"America/Argentina/La_Rioja", "AR", "F"},
+        {"America/Catamarca", "AR", "F"},
+        {"America/Jujuy", "AR", "F"},
+        {"America/Argentina/Tucuman", "AR", "F"},
+        {"America/Cordoba", "AR", "F"},
+        {"America/Buenos_Aires", "AR", "F"},
+        {"Pacific/Pago_Pago", "AS", "T"},
+        {"Europe/Vienna", "AT", "T"},
+        {"Australia/Perth", "AU", "F"},
+        {"Australia/Darwin", "AU", "F"},
+        {"Australia/Adelaide", "AU", "F"},
+        {"Australia/Broken_Hill", "AU", "F"},
+        {"Australia/Melbourne", "AU", "F"},
+        {"Australia/Hobart", "AU", "F"},
+        {"Australia/Lindeman", "AU", "F"},
+        {"Australia/Sydney", "AU", "F"},
+        {"Australia/Brisbane", "AU", "F"},
+        {"Australia/Lord_Howe", "AU", "F"},
+        {"America/Aruba", "AW", "T"},
+        {"Europe/Mariehamn", "AX", "T"},
+        {"Asia/Baku", "AZ", "T"},
+        {"Europe/Sarajevo", "BA", "T"},
+        {"America/Barbados", "BB", "T"},
+        {"Asia/Dhaka", "BD", "T"},
+        {"Europe/Brussels", "BE", "T"},
+        {"Africa/Ouagadougou", "BF", "T"},
+        {"Europe/Sofia", "BG", "T"},
+        {"Asia/Bahrain", "BH", "T"},
+        {"Africa/Bujumbura", "BI", "T"},
+        {"Africa/Porto-Novo", "BJ", "T"},
+        {"Atlantic/Bermuda", "BM", "T"},
+        {"Asia/Brunei", "BN", "T"},
+        {"America/La_Paz", "BO", "T"},
+        {"America/Eirunepe", "BR", "F"},
+        {"America/Rio_Branco", "BR", "F"},
+        {"America/Porto_Velho", "BR", "F"},
+        {"America/Boa_Vista", "BR", "F"},
+        {"America/Manaus", "BR", "F"},
+        {"America/Cuiaba", "BR", "F"},
+        {"America/Campo_Grande", "BR", "F"},
+        {"America/Belem", "BR", "F"},
+        {"America/Araguaina", "BR", "F"},
+        {"America/Sao_Paulo", "BR", "F"},
+        {"America/Bahia", "BR", "F"},
+        {"America/Fortaleza", "BR", "F"},
+        {"America/Maceio", "BR", "F"},
+        {"America/Recife", "BR", "F"},
+        {"America/Noronha", "BR", "F"},
+        {"America/Nassau", "BS", "T"},
+        {"Asia/Thimphu", "BT", "T"},
+        {"Africa/Gaborone", "BW", "T"},
+        {"Europe/Minsk", "BY", "T"},
+        {"America/Belize", "BZ", "T"},
+        {"America/Dawson", "CA", "F"},
+        {"America/Whitehorse", "CA", "F"},
+        {"America/Vancouver", "CA", "F"},
+        {"America/Dawson_Creek", "CA", "F"},
+        {"America/Yellowknife", "CA", "F"},
+        {"America/Inuvik", "CA", "F"},
+        {"America/Edmonton", "CA", "F"},
+        {"America/Swift_Current", "CA", "F"},
+        {"America/Cambridge_Bay", "CA", "F"},
+        {"America/Regina", "CA", "F"},
+        {"America/Winnipeg", "CA", "F"},
+        {"America/Rainy_River", "CA", "F"},
+        {"America/Rankin_Inlet", "CA", "F"},
+        {"America/Thunder_Bay", "CA", "F"},
+        {"America/Nipigon", "CA", "F"},
+        {"America/Toronto", "CA", "F"},
+        {"America/Montreal", "CA", "F"},
+        {"America/Iqaluit", "CA", "F"},
+        {"America/Pangnirtung", "CA", "F"},
+        {"America/Halifax", "CA", "F"},
+        {"America/Goose_Bay", "CA", "F"},
+        {"America/Glace_Bay", "CA", "F"},
+        {"America/St_Johns", "CA", "F"},
+        {"Indian/Cocos", "CC", "T"},
+        {"Africa/Kinshasa", "CD", "F"},
+        {"Africa/Lubumbashi", "CD", "F"},
+        {"Africa/Bangui", "CF", "T"},
+        {"Africa/Brazzaville", "CG", "T"},
+        {"Europe/Zurich", "CH", "T"},
+        {"Africa/Abidjan", "CI", "T"},
+        {"Pacific/Rarotonga", "CK", "T"},
+        {"Pacific/Easter", "CL", "F"},
+        {"America/Santiago", "CL", "T"},
+        {"Africa/Douala", "CM", "T"},
+        {"Asia/Kashgar", "CN", "F"},
+        {"Asia/Urumqi", "CN", "F"},
+        {"Asia/Chongqing", "CN", "F"},
+        {"Asia/Shanghai", "CN", "T"},
+        {"Asia/Harbin", "CN", "F"},
+        {"America/Bogota", "CO", "T"},
+        {"America/Costa_Rica", "CR", "T"},
+        {"Europe/Belgrade", "CS", "T"},
+        {"America/Havana", "CU", "T"},
+        {"Atlantic/Cape_Verde", "CV", "T"},
+        {"Indian/Christmas", "CX", "T"},
+        {"Asia/Nicosia", "CY", "T"},
+        {"Europe/Prague", "CZ", "T"},
+        {"Europe/Berlin", "DE", "T"},
+        {"Africa/Djibouti", "DJ", "T"},
+        {"Europe/Copenhagen", "DK", "T"},
+        {"America/Dominica", "DM", "T"},
+        {"America/Santo_Domingo", "DO", "T"},
+        {"Africa/Algiers", "DZ", "T"},
+        {"Pacific/Galapagos", "EC", "F"},
+        {"America/Guayaquil", "EC", "T"},
+        {"Europe/Tallinn", "EE", "T"},
+        {"Africa/Cairo", "EG", "T"},
+        {"Africa/El_Aaiun", "EH", "T"},
+        {"Africa/Asmera", "ER", "T"},
+        {"Atlantic/Canary", "ES", "F"},
+        {"Africa/Ceuta", "ES", "F"},
+        {"Europe/Madrid", "ES", "T"},
+        {"Africa/Addis_Ababa", "ET", "T"},
+        {"Europe/Helsinki", "FI", "T"},
+        {"Pacific/Fiji", "FJ", "T"},
+        {"Atlantic/Stanley", "FK", "T"},
+        {"Pacific/Yap", "FM", "F"},
+        {"Pacific/Truk", "FM", "F"},
+        {"Pacific/Ponape", "FM", "F"},
+        {"Pacific/Kosrae", "FM", "F"},
+        {"Atlantic/Faeroe", "FO", "T"},
+        {"Europe/Paris", "FR", "T"},
+        {"Africa/Libreville", "GA", "T"},
+        {"Europe/Belfast", "GB", "F"},
+        {"Europe/London", "GB", "T"},
+        {"America/Grenada", "GD", "T"},
+        {"Asia/Tbilisi", "GE", "T"},
+        {"America/Cayenne", "GF", "T"},
+        {"Africa/Accra", "GH", "T"},
+        {"Europe/Gibraltar", "GI", "T"},
+        {"America/Thule", "GL", "F"},
+        {"America/Godthab", "GL", "T"},
+        {"America/Scoresbysund", "GL", "F"},
+        {"America/Danmarkshavn", "GL", "F"},
+        {"Africa/Banjul", "GM", "T"},
+        {"Africa/Conakry", "GN", "T"},
+        {"America/Guadeloupe", "GP", "T"},
+        {"Africa/Malabo", "GQ", "T"},
+        {"Europe/Athens", "GR", "T"},
+        {"Atlantic/South_Georgia", "GS", "T"},
+        {"America/Guatemala", "GT", "T"},
+        {"Pacific/Guam", "GU", "T"},
+        {"Africa/Bissau", "GW", "T"},
+        {"America/Guyana", "GY", "T"},
+        {"Asia/Hong_Kong", "HK", "T"},
+        {"America/Tegucigalpa", "HN", "T"},
+        {"Europe/Zagreb", "HR", "T"},
+        {"America/Port-au-Prince", "HT", "T"},
+        {"Europe/Budapest", "HU", "T"},
+        {"Asia/Jakarta", "ID", "F"},
+        {"Asia/Pontianak", "ID", "F"},
+        {"Asia/Makassar", "ID", "F"},
+        {"Asia/Jayapura", "ID", "F"},
+        {"Europe/Dublin", "IE", "T"},
+        {"Asia/Jerusalem", "IL", "T"},
+        {"Asia/Calcutta", "IN", "T"},
+        {"Indian/Chagos", "IO", "T"},
+        {"Asia/Baghdad", "IQ", "T"},
+        {"Asia/Tehran", "IR", "T"},
+        {"Atlantic/Reykjavik", "IS", "T"},
+        {"Europe/Rome", "IT", "T"},
+        {"America/Jamaica", "JM", "T"},
+        {"Asia/Amman", "JO", "T"},
+        {"Asia/Tokyo", "JP", "T"},
+        {"Africa/Nairobi", "KE", "T"},
+        {"Asia/Bishkek", "KG", "T"},
+        {"Asia/Phnom_Penh", "KH", "T"},
+        {"Pacific/Enderbury", "KI", "F"},
+        {"Pacific/Kiritimati", "KI", "F"},
+        {"Pacific/Tarawa", "KI", "F"},
+        {"Indian/Comoro", "KM", "T"},
+        {"America/St_Kitts", "KN", "T"},
+        {"Asia/Pyongyang", "KP", "T"},
+        {"Asia/Seoul", "KR", "T"},
+        {"Asia/Kuwait", "KW", "T"},
+        {"America/Cayman", "KY", "T"},
+        {"Asia/Aqtau", "KZ", "F"},
+        {"Asia/Oral", "KZ", "F"},
+        {"Asia/Aqtobe", "KZ", "F"},
+        {"Asia/Qyzylorda", "KZ", "F"},
+        {"Asia/Almaty", "KZ", "F"},
+        {"Asia/Vientiane", "LA", "T"},
+        {"Asia/Beirut", "LB", "T"},
+        {"America/St_Lucia", "LC", "T"},
+        {"Europe/Vaduz", "LI", "T"},
+        {"Asia/Colombo", "LK", "T"},
+        {"Africa/Monrovia", "LR", "T"},
+        {"Africa/Maseru", "LS", "T"},
+        {"Europe/Vilnius", "LT", "T"},
+        {"Europe/Luxembourg", "LU", "T"},
+        {"Europe/Riga", "LV", "T"},
+        {"Africa/Tripoli", "LY", "T"},
+        {"Africa/Casablanca", "MA", "T"},
+        {"Europe/Monaco", "MC", "T"},
+        {"Europe/Chisinau", "MD", "T"},
+        {"Indian/Antananarivo", "MG", "T"},
+        {"Pacific/Kwajalein", "MH", "F"},
+        {"Pacific/Majuro", "MH", "F"},
+        {"Europe/Skopje", "MK", "T"},
+        {"Africa/Bamako", "ML", "T"},
+        {"Africa/Timbuktu", "ML", "F"},
+        {"Asia/Rangoon", "MM", "T"},
+        {"Asia/Hovd", "MN", "F"},
+        {"Asia/Ulaanbaatar", "MN", "F"},
+        {"Asia/Choibalsan", "MN", "F"},
+        {"Asia/Macau", "MO", "T"},
+        {"Pacific/Saipan", "MP", "T"},
+        {"America/Martinique", "MQ", "T"},
+        {"Africa/Nouakchott", "MR", "T"},
+        {"America/Montserrat", "MS", "T"},
+        {"Europe/Malta", "MT", "T"},
+        {"Indian/Mauritius", "MU", "T"},
+        {"Indian/Maldives", "MV", "T"},
+        {"Africa/Blantyre", "MW", "T"},
+        {"America/Tijuana", "MX", "F"},
+        {"America/Hermosillo", "MX", "F"},
+        {"America/Mazatlan", "MX", "F"},
+        {"America/Chihuahua", "MX", "F"},
+        {"America/Monterrey", "MX", "F"},
+        {"America/Mexico_City", "MX", "F"},
+        {"America/Merida", "MX", "F"},
+        {"America/Cancun", "MX", "F"},
+        {"Asia/Kuala_Lumpur", "MY", "T"},
+        {"Asia/Kuching", "MY", "F"},
+        {"Africa/Maputo", "MZ", "T"},
+        {"Africa/Windhoek", "NA", "T"},
+        {"Pacific/Noumea", "NC", "T"},
+        {"Africa/Niamey", "NE", "T"},
+        {"Pacific/Norfolk", "NF", "T"},
+        {"Africa/Lagos", "NG", "T"},
+        {"America/Managua", "NI", "T"},
+        {"Europe/Amsterdam", "NL", "T"},
+        {"Europe/Oslo", "NO", "T"},
+        {"Asia/Katmandu", "NP", "T"},
+        {"Pacific/Nauru", "NR", "T"},
+        {"Pacific/Niue", "NU", "T"},
+        {"Pacific/Chatham", "NZ", "F"},
+        {"Pacific/Auckland", "NZ", "T"},
+        {"Asia/Muscat", "OM", "T"},
+        {"America/Panama", "PA", "T"},
+        {"America/Lima", "PE", "T"},
+        {"Pacific/Tahiti", "PF", "T"},
+        {"Pacific/Marquesas", "PF", "F"},
+        {"Pacific/Gambier", "PF", "F"},
+        {"Pacific/Port_Moresby", "PG", "T"},
+        {"Asia/Manila", "PH", "T"},
+        {"Asia/Karachi", "PK", "T"},
+        {"Europe/Warsaw", "PL", "T"},
+        {"America/Miquelon", "PM", "T"},
+        {"Pacific/Pitcairn", "PN", "T"},
+        {"America/Puerto_Rico", "PR", "T"},
+        {"Asia/Gaza", "PS", "T"},
+        {"Atlantic/Azores", "PT", "F"},
+        {"Atlantic/Madeira", "PT", "F"},
+        {"Europe/Lisbon", "PT", "T"},
+        {"Pacific/Palau", "PW", "T"},
+        {"America/Asuncion", "PY", "T"},
+        {"Asia/Qatar", "QA", "T"},
+        {"Indian/Reunion", "RE", "T"},
+        {"Europe/Bucharest", "RO", "T"},
+        {"Europe/Kaliningrad", "RU", "F"},
+        {"Europe/Moscow", "RU", "F"},
+        {"Europe/Samara", "RU", "F"},
+        {"Asia/Yekaterinburg", "RU", "F"},
+        {"Asia/Omsk", "RU", "F"},
+        {"Asia/Novosibirsk", "RU", "F"},
+        {"Asia/Krasnoyarsk", "RU", "F"},
+        {"Asia/Irkutsk", "RU", "F"},
+        {"Asia/Yakutsk", "RU", "F"},
+        {"Asia/Vladivostok", "RU", "F"},
+        {"Asia/Sakhalin", "RU", "F"},
+        {"Asia/Magadan", "RU", "F"},
+        {"Asia/Kamchatka", "RU", "F"},
+        {"Asia/Anadyr", "RU", "F"},
+        {"Africa/Kigali", "RW", "T"},
+        {"Asia/Riyadh", "SA", "T"},
+        {"Pacific/Guadalcanal", "SB", "T"},
+        {"Indian/Mahe", "SC", "T"},
+        {"Africa/Khartoum", "SD", "T"},
+        {"Europe/Stockholm", "SE", "T"},
+        {"Asia/Singapore", "SG", "T"},
+        {"Atlantic/St_Helena", "SH", "T"},
+        {"Europe/Ljubljana", "SI", "T"},
+        {"Atlantic/Jan_Mayen", "SJ", "F"},
+        {"Arctic/Longyearbyen", "SJ", "F"},
+        {"Europe/Bratislava", "SK", "T"},
+        {"Africa/Freetown", "SL", "T"},
+        {"Europe/San_Marino", "SM", "T"},
+        {"Africa/Dakar", "SN", "T"},
+        {"Africa/Mogadishu", "SO", "T"},
+        {"America/Paramaribo", "SR", "T"},
+        {"Africa/Sao_Tome", "ST", "T"},
+        {"America/El_Salvador", "SV", "T"},
+        {"Asia/Damascus", "SY", "T"},
+        {"Africa/Mbabane", "SZ", "T"},
+        {"America/Grand_Turk", "TC", "T"},
+        {"Africa/Ndjamena", "TD", "T"},
+        {"Indian/Kerguelen", "TF", "T"},
+        {"Africa/Lome", "TG", "T"},
+        {"Asia/Bangkok", "TH", "T"},
+        {"Asia/Dushanbe", "TJ", "T"},
+        {"Pacific/Fakaofo", "TK", "T"},
+        {"Asia/Dili", "TL", "T"},
+        {"Asia/Ashgabat", "TM", "T"},
+        {"Africa/Tunis", "TN", "T"},
+        {"Pacific/Tongatapu", "TO", "T"},
+        {"Europe/Istanbul", "TR", "T"},
+        {"America/Port_of_Spain", "TT", "T"},
+        {"Pacific/Funafuti", "TV", "T"},
+        {"Asia/Taipei", "TW", "T"},
+        {"Africa/Dar_es_Salaam", "TZ", "T"},
+        {"Europe/Uzhgorod", "UA", "F"},
+        {"Europe/Kiev", "UA", "F"},
+        {"Europe/Simferopol", "UA", "F"},
+        {"Europe/Zaporozhye", "UA", "F"},
+        {"Africa/Kampala", "UG", "T"},
+        {"Pacific/Midway", "UM", "F"},
+        {"Pacific/Johnston", "UM", "F"},
+        {"Pacific/Wake", "UM", "F"},
+        {"America/Adak", "US", "F"},
+        {"America/Nome", "US", "F"},
+        {"Pacific/Honolulu", "US", "F"},
+        {"America/Anchorage", "US", "F"},
+        {"America/Yakutat", "US", "F"},
+        {"America/Juneau", "US", "F"},
+        {"America/Los_Angeles", "US", "F"},
+        {"America/Boise", "US", "F"},
+        {"America/Phoenix", "US", "F"},
+        {"America/Shiprock", "US", "F"},
+        {"America/Denver", "US", "F"},
+        {"America/North_Dakota/Center", "US", "F"},
+        {"America/Chicago", "US", "F"},
+        {"America/Menominee", "US", "F"},
+        {"America/Indiana/Knox", "US", "F"},
+        {"America/Indiana/Marengo", "US", "F"},
+        {"America/Indianapolis", "US", "F"},
+        {"America/Louisville", "US", "F"},
+        {"America/Indiana/Vevay", "US", "F"},
+        {"America/Kentucky/Monticello", "US", "F"},
+        {"America/Detroit", "US", "F"},
+        {"America/New_York", "US", "F"},
+        {"America/Montevideo", "UY", "T"},
+        {"Asia/Samarkand", "UZ", "F"},
+        {"Asia/Tashkent", "UZ", "T"},
+        {"Europe/Vatican", "VA", "T"},
+        {"America/St_Vincent", "VC", "T"},
+        {"America/Caracas", "VE", "T"},
+        {"America/Tortola", "VG", "T"},
+        {"America/St_Thomas", "VI", "T"},
+        {"Asia/Saigon", "VN", "T"},
+        {"Pacific/Efate", "VU", "T"},
+        {"Pacific/Wallis", "WF", "T"},
+        {"Pacific/Apia", "WS", "T"},
+        {"Asia/Aden", "YE", "T"},
+        {"Indian/Mayotte", "YT", "T"},
+        {"Africa/Johannesburg", "ZA", "T"},
+        {"Africa/Lusaka", "ZM", "T"},
+        {"Africa/Harare", "ZW", "T"},
+
+        // Riyadh hack
+        {"Asia/Riyadh87", "SA", "T"},
+        {"Asia/Riyadh88", "SA", "T"},
+        {"Asia/Riyadh89", "SA", "T"},
+    };
+
+    public static void main(String[] args) {
+        // validate, and generate single combined table
+
+        // start with country info
+        Map m = new TreeMap();
+        for (int i = 0; i < COUNTRY_INFO.length; ++i) {
+            String[] info = COUNTRY_INFO[i];
+            String canonical = info[0];
+            if (m.keySet().contains(canonical)) {
+                System.err.println("duplicate country: " + canonical);
+            } else {
+                ArrayList al = new ArrayList();
+                for (int j = 0; j < info.length; ++j) {
+                    al.add(info[j]);
+                }
+                m.put(canonical, al);
+            }
+        }
+
+        // verify that everything in the canonical list is there
+        if (CANONICAL_LIST.length != COUNTRY_INFO.length) {
+            System.err.println("Canonical and Country info lists differ in length.");
+        }
+
+        for (int i = 0; i < CANONICAL_LIST.length; ++i) {
+            String canonical = CANONICAL_LIST[i];
+            if (!m.keySet().contains(canonical)) {
+                System.err.println("missing canonical item: " + canonical);
+            }
+        }
+        
+        // verify that canonical targets of remappings are all in the map, and add them.
+        HashSet aliases = new HashSet();
+        for (int i = 0; i < CANONICAL_REMAP.length; ++i) {
+            String[] equiv = CANONICAL_REMAP[i];
+            String alias = equiv[0];
+            String canonical = equiv[1];
+
+            ArrayList al = (ArrayList)m.get(canonical);
+            if (al == null) {
+                System.err.println("remap to item not in canonical list: " + canonical);
+            } else {
+                if (m.keySet().contains(alias)) {
+                    System.err.println("alias is actually canonical: " + alias);
+                } else if (aliases.contains(alias)) {
+                    System.err.println("alias is listed twice: " + alias);
+                } else {
+                    aliases.add(alias);
+                    al.add(alias);
+                }
+            }
+        }
+
+        // look for ids that in EQUIV that are neither canonical nor aliases, and
+        // warn about them
+        ArrayList canonicals = new ArrayList();
+        ArrayList unlisted = new ArrayList();
+        for (int i = 0; i < ZoneMetaData.EQUIV.length; ++i) {
+            canonicals.clear();
+            unlisted.clear();
+
+            String[] record = ZoneMetaData.EQUIV[i];
+            for (int j = 0; j < record.length; ++j) {
+                String s = record[j];
+                if (m.keySet().contains(s)) {
+                    canonicals.add(s);
+                } else if (!aliases.contains(s)) {
+                    // not listed as an alias
+                    unlisted.add(s);
+                }
+            }
+            boolean report = false;
+            if (unlisted.size() > 0) { // have some unknown aliases
+                report = true;
+                if (canonicals.size() == 0) {
+                    System.err.println("no canonicals for unknown alises");
+                } else if (canonicals.size() == 1) {
+                    report = false;
+                    // quietly fix
+                    // System.err.println("suggest canonical for unknown aliases: " + canonicals.get(0));
+
+                    // add another alias mapping for the canonical
+                    ArrayList al = (ArrayList)m.get(canonicals.get(0));
+                    for (int k = 0; k < unlisted.size(); ++k) {
+                        al.add(unlisted.get(k));
+                    }
+                } else {
+                    System.err.print("multiple canonicals for unknown aliases: ");
+                    for (int k = 0; k < canonicals.size(); ++k) {
+                        if (k != 0) {
+                            System.err.print(", ");
+                        }
+                        System.err.print(canonicals.get(k));
+                    }
+                    System.err.println();
+                }
+
+                if (report) {
+                    System.err.print("    " + unlisted.get(0));
+                    for (int k = 1; k < unlisted.size(); ++k) {
+                        System.err.print(", " + unlisted.get(k));
+                    }
+                    System.err.println();
+                }
+            }
+        }
+                    
+        System.out.println(HEADER);
+
+        // generate combined table
+        // map territory == 001 to null
+        // map isSingle == F to null
+        System.out.println("    private static final String[][] CLDR_INFO = {");
+        Iterator i = m.entrySet().iterator();
+        while (i.hasNext()) {
+            ArrayList records = (ArrayList)(((Map.Entry)i.next()).getValue());
+            System.out.print("        { \"");
+            System.out.print(records.get(0));
+            System.out.print("\"");
+            for (int j = 1; j < records.size(); ++j) {
+                System.out.print(", ");
+                String record = (String)records.get(j);
+                if ((j == 1 && record.equals("001"))
+                    || j == 2 && record.equals("F")) {
+                    record = null;
+                } else {
+                    record = '"' + record + '"';
+                }
+                System.out.print(record);
+            }
+            System.out.println(" },");
+        }
+        System.out.println("    };");
+
+        System.out.println(FOOTER);
+
+        // done
+        System.out.flush();
+    }
+
+    private static final String HEADER = 
+        "//---------------------------------------------------------\n" +
+        "// Copyright (C) 2005, International Business Machines\n" +
+        "// Corporation and others.  All Rights Reserved.\n" +
+        "//---------------------------------------------------------\n" +
+        "\n" +
+        "// >>> This data was generated by ZoneMetaCLDR\n" +
+        "// >>> as a temporary measure for the 3.4 release.\n" +
+        "\n" +
+        "package com.ibm.icu.impl;\n" +
+        "\n" +
+        "public final class ZoneInfoExt {\n" +
+        "\n" +
+        "    // table is sorted by canonical time zone id\n" +
+        "    // aliases are not sorted\n" +
+        "\n" +
+        "    // [0] canonical time zone id\n" +
+        "    // [1] country code, or null if no country\n" +
+        "    // [2] \"T\" if isSingle, null if not\n" +
+        "    // [n...] aliases for canonical time zone id\n";
+
+    private static final String FOOTER =
+        "}";        
+}
diff --git a/src/com/ibm/icu/dev/tool/charsetdet/sbcs/Checker.java b/src/com/ibm/icu/dev/tool/charsetdet/sbcs/Checker.java
new file mode 100644
index 0000000..5c24dc6
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/charsetdet/sbcs/Checker.java
@@ -0,0 +1,188 @@
+/*
+ ***********************************************************************
+ * Copyright (C) 2005, International Business Machines Corporation and *
+ * others. All Rights Reserved.                                        *
+ ***********************************************************************
+ *
+ */
+
+package com.ibm.icu.dev.tool.charsetdet.sbcs;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.InputStreamReader;
+
+/**
+ * @author emader
+ *
+ * TODO To change the template for this generated type comment go to
+ * Window - Preferences - Java - Code Style - Code Templates
+ */
+public class Checker implements NGramParser.NGramParserClient
+{
+    private NGramList ngrams;
+    private int totalNGrams;
+    private int totalHits;
+    
+    private String language;
+    private String encoding;
+    
+    private int[] histogram;
+
+    private static final int BUFFER_SIZE = 1024;
+    
+    private char[] buffer;
+    private int bufIndex;
+    private int bufMax;
+
+    private NGramParser parser;
+
+    /**
+     * TODO This should take cumulative percent and the name...
+     */
+    public Checker(NGramList list, InputFile dataFile)
+    {
+        ngrams = list;
+        ngrams.setMapper(dataFile);
+        
+        language = languageName(dataFile.getFilename());
+        encoding = dataFile.getEncoding();
+        
+        buffer = new char[BUFFER_SIZE];
+        parser = new NGramParser(this);
+        resetCounts();
+        
+        histogram = new int[100];
+        resetHistogram();
+   }
+    
+    public void handleNGram(String key)
+    {
+        NGramList.NGram ngram = ngrams.get(key);
+        
+        totalNGrams += 1;
+        
+        if (ngram != null) {
+            totalHits += 1;
+            //ngram.incrementRefCount();
+        }
+    }
+    
+    private void resetCounts()
+    {
+        bufIndex = 0;
+        totalNGrams = totalHits = 0;
+    }
+    
+    private void resetHistogram()
+    {
+        for(int i = 0; i < 100; i += 1) {
+            histogram[i] = 0;
+        }
+        
+    }
+    
+    private static void exceptionError(Exception e)
+    {
+        System.err.println("ioError: " + e.toString());
+    }
+
+    private static String languageName(String filename)
+    {
+        return filename.substring(0, filename.indexOf('.'));
+    }
+    
+    private boolean nextBuffer(InputFile inputFile)
+    {
+        try {
+            bufMax = inputFile.read(buffer);
+        } catch (Exception e) {
+            bufMax = -1;
+            exceptionError(e);
+            
+            return false;
+        }
+        
+        bufIndex = 0;
+        
+        return bufMax >= 0;
+    }
+    
+    private void parseBuffer()
+    {
+        resetCounts();
+        parser.reset();
+        parser.parse();
+    }
+    
+    public char nextChar()
+    {
+        if (bufIndex >= bufMax) {
+            return 0;
+        }
+        
+        return buffer[bufIndex++];
+    }
+    
+    public String getLanguage()
+    {
+        return language;
+    }
+    
+    public void setMapper(InputFile file)
+    {
+        ngrams.setMapper(file);
+    }
+    
+    public int checkBuffer(char[] theBuffer, int charCount)
+    {
+        buffer = theBuffer;
+        bufMax = charCount;
+        
+        parseBuffer();
+        
+        return totalHits;
+    }
+    
+    public void check(InputFile dataFile)
+    {
+        int minHist = 101, maxHist = -1;
+        
+        dataFile.open();
+        
+        String dataFilename = dataFile.getFilename();
+        String fileEncoding = dataFile.getEncoding();
+        
+        System.out.println(language + "(" + encoding + ") stats, " + languageName(dataFilename) + "(" + fileEncoding + ") data:");
+        
+        setMapper(dataFile);
+        resetHistogram();
+
+        while (nextBuffer(dataFile)) {
+            parseBuffer();
+            
+            double percentHits = (double) totalHits / totalNGrams * 100.0;
+            int ph = (int) percentHits;
+            
+            if (ph < minHist) {
+                minHist = ph;
+            }
+            
+            if (ph > maxHist) {
+                maxHist = ph;
+            }
+            
+            histogram[ph] += 1;
+        }
+        
+        for(int ph = minHist; ph <= maxHist; ph += 1) {
+            System.out.println(ph + "\t" + histogram[ph]);
+        }
+        
+        System.out.println();
+        
+        dataFile.close();
+        
+        return;
+    }
+}
diff --git a/src/com/ibm/icu/dev/tool/charsetdet/sbcs/InputFile.java b/src/com/ibm/icu/dev/tool/charsetdet/sbcs/InputFile.java
new file mode 100644
index 0000000..6bd973b
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/charsetdet/sbcs/InputFile.java
@@ -0,0 +1,175 @@
+/*
+ ***********************************************************************
+ * Copyright (C) 2005, International Business Machines Corporation and *
+ * others. All Rights Reserved.                                        *
+ ***********************************************************************
+ *
+ */
+
+package com.ibm.icu.dev.tool.charsetdet.sbcs;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.InputStreamReader;
+import java.nio.ByteBuffer;
+import java.nio.CharBuffer;
+import java.nio.charset.CharacterCodingException;
+import java.nio.charset.Charset;
+import java.nio.charset.CharsetDecoder;
+import java.nio.charset.CharsetEncoder;
+import java.nio.charset.CodingErrorAction;
+
+/**
+ * @author emader
+ *
+ * TODO To change the template for this generated type comment go to
+ * Window - Preferences - Java - Code Style - Code Templates
+ */
+public class InputFile implements NGramList.NGramKeyMapper
+{
+
+    private File file;
+    private FileInputStream fileStream;
+    private InputStreamReader inputStream;
+
+    private Charset charset;
+    private CharsetDecoder decoder;
+    private CharsetEncoder encoder;
+    
+    private boolean visualOrder;
+
+    private static void exceptionError(Exception e)
+    {
+        System.err.println("ioError: " + e.toString());
+    }
+
+    /**
+     * 
+     */
+    public InputFile(String filename, String encoding, boolean visual)
+    {
+        file = new File(filename);
+        setEncoding(encoding);
+        visualOrder = visual;
+    }
+    
+    public boolean open()
+    {
+        try {
+            fileStream = new FileInputStream(file);          
+            inputStream = new InputStreamReader(fileStream, "UTF8");
+        } catch (Exception e) {
+            exceptionError(e);
+            return false;
+        }
+        
+        return true;
+    }
+    
+    public void close()
+    {
+        try {
+            inputStream.close();
+            fileStream.close();
+        } catch (Exception e) {
+            // don't really care if this fails...
+        }
+    }
+    
+    public String getFilename()
+    {
+        return file.getName();
+    }
+    
+    public String getParent()
+    {
+        return file.getParent();
+    }
+    
+    public String getPath()
+    {
+        return file.getPath();
+    }
+    
+    public int read(char[] buffer)
+    {
+        int charsRead = -1;
+        
+        try {
+            charsRead = inputStream.read(buffer, 0, buffer.length);
+        } catch (Exception e) {
+            exceptionError(e);
+        }
+        
+        return charsRead;
+    }
+    
+    public void setEncoding(String encoding)
+    {
+        charset = Charset.forName(encoding);
+        decoder = charset.newDecoder();
+        encoder = charset.newEncoder();
+        
+        encoder.onUnmappableCharacter(CodingErrorAction.REPLACE);
+        encoder.onMalformedInput(CodingErrorAction.REPLACE);
+        
+        decoder.onUnmappableCharacter(CodingErrorAction.REPLACE);
+        decoder.onMalformedInput(CodingErrorAction.REPLACE);
+    }
+    
+    public String getEncoding()
+    {
+        return charset.displayName();
+    }
+    
+    public boolean getVisualOrder()
+    {
+        return visualOrder;
+    }
+    
+    public Object mapKey(String key)
+    {
+        byte[] bytes = encode(key.toCharArray());
+        int length   = key.length();
+        int value    = 0;
+        
+        for(int b = 0; b < length; b += 1) {
+            value <<= 8;
+            value += (bytes[b] & 0xFF);
+        }
+
+        return new Integer(value);
+    }
+    
+    public byte[] encode(char[] chars)
+    {
+        int length    = chars.length;
+        CharBuffer cb = CharBuffer.wrap(chars);
+        ByteBuffer bb;
+        
+        try {
+            bb = encoder.encode(cb);
+        } catch (CharacterCodingException e) {
+            // don't expect to get any exceptions in normal usage...
+            return null;
+        }
+
+        return bb.array();
+    }
+    
+    public char[] decode(byte[] bytes)
+    {
+        int length    = bytes.length;
+        ByteBuffer bb = ByteBuffer.wrap(bytes);
+        CharBuffer cb;
+        
+        try {
+            cb = decoder.decode(bb);
+        } catch (CharacterCodingException e) {
+            // don't expect to get any exceptions in normal usage...
+            return null;
+        }
+        
+        return cb.array();
+    }
+}
diff --git a/src/com/ibm/icu/dev/tool/charsetdet/sbcs/NGramList.java b/src/com/ibm/icu/dev/tool/charsetdet/sbcs/NGramList.java
new file mode 100644
index 0000000..efd3e2d
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/charsetdet/sbcs/NGramList.java
@@ -0,0 +1,144 @@
+/*
+ ***********************************************************************
+ * Copyright (C) 2005, International Business Machines Corporation and *
+ * others. All Rights Reserved.                                        *
+ ***********************************************************************
+ *
+ */
+
+package com.ibm.icu.dev.tool.charsetdet.sbcs;
+
+import java.util.Collection;
+import java.util.TreeMap;
+
+import com.ibm.icu.text.UnicodeSet;
+
+/**
+ * @author emader
+ *
+ * TODO To change the template for this generated type comment go to
+ * Window - Preferences - Java - Code Style - Code Templates
+ */
+public class NGramList
+{
+    public interface NGramKeyMapper
+    {
+        Object mapKey(String key);
+    }
+    
+    public static final class NGram implements Comparable
+    {
+        private String value;
+        private int refCount;
+        
+        public NGram(String theValue, int theRefCount)
+        {
+            value    = theValue;
+            refCount = theRefCount;
+        }
+        
+        public NGram(String theValue)
+        {
+            this(theValue, 1);
+        }
+        
+        public NGram(NGram other)
+        {
+            this(other.getValue(), other.getRefCount());
+        }
+        
+        public final String getValue()
+        {
+            return value;
+        }
+        
+        public final int getRefCount()
+        {
+            return refCount;
+        }
+        
+        public final void incrementRefCount()
+        {
+            refCount += 1;
+        }
+        
+        // Note: This makes higher refCounts come *before* lower refCounts...
+        public int compareTo(Object o)
+        {
+            NGram ng = (NGram) o;
+            
+            return ng.getRefCount() - refCount;
+        }
+    }
+    
+    protected TreeMap ngrams;
+    protected int totalNGrams;
+    protected int uniqueNGrams;
+
+    protected final int N_GRAM_SIZE = 3;
+    
+    private NGramKeyMapper keyMapper;
+
+    /**
+     * 
+     */
+    public NGramList(NGramKeyMapper theMapper)
+    {
+        keyMapper = theMapper;
+        
+        ngrams = new TreeMap();
+        totalNGrams = uniqueNGrams = 0;
+    }
+    
+    public void setMapper(NGramKeyMapper nGramKeyMapper)
+    {
+        keyMapper = nGramKeyMapper;
+    }
+    
+    public NGram get(Object mappedKey)
+    {
+        return (NGram) ngrams.get(mappedKey);
+    }
+    
+    public NGram get(String key)
+    {
+        Object mappedKey = keyMapper.mapKey(key);
+        
+        return get(mappedKey);
+    }
+    
+    public void put(String key)
+    {
+        Object mappedKey = keyMapper.mapKey(key);
+        NGram ngram = get(mappedKey);
+        
+        totalNGrams += 1;
+        
+        if (ngram == null) {
+            uniqueNGrams += 1;
+            ngrams.put(mappedKey, new NGram(key));
+        } else {
+            ngram.incrementRefCount();
+        }
+    }
+    
+    public Collection values()
+    {
+        return ngrams.values();
+    }
+    
+    public Collection keys()
+    {
+        return ngrams.keySet();
+    }
+    
+    public int getTotalNGrams()
+    {
+        return totalNGrams;
+    }
+    
+    public int getUniqueNGrams()
+    {
+        return uniqueNGrams;
+    }
+}
diff --git a/src/com/ibm/icu/dev/tool/charsetdet/sbcs/NGramParser.java b/src/com/ibm/icu/dev/tool/charsetdet/sbcs/NGramParser.java
new file mode 100644
index 0000000..d0f7b31
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/charsetdet/sbcs/NGramParser.java
@@ -0,0 +1,161 @@
+/*
+ ***********************************************************************
+ * Copyright (C) 2005, International Business Machines Corporation and *
+ * others. All Rights Reserved.                                        *
+ ***********************************************************************
+ *
+ */
+
+package com.ibm.icu.dev.tool.charsetdet.sbcs;
+
+import com.ibm.icu.text.UnicodeSet;
+
+/**
+ * @author emader
+ *
+ * TODO To change the template for this generated type comment go to
+ * Window - Preferences - Java - Code Style - Code Templates
+ */
+public class NGramParser
+{
+
+    public interface NGramParserClient
+    {
+        char nextChar();
+        void handleNGram(String key);
+    }
+    
+    private static final int A_NULL = 0;
+    private static final int A_ADDC = 1;
+    private static final int A_ADDS = 2;
+    
+    /*
+     * Character classes
+     */
+    public static final int C_IGNORE = 0;
+    public static final int C_LETTER = 1;
+    public static final int C_PUNCT  = 2;
+    
+    private static final int S_START  = 0;
+    private static final int S_LETTER = 1;
+    private static final int S_PUNCT  = 2;
+
+    static final class StateEntry
+    {
+        private int newState;
+        private int action;
+        
+        StateEntry(int theState, int theAction)
+        {
+            newState = theState;
+            action   = theAction;
+        }
+        
+        public int getNewState()
+        {
+            return newState;
+        }
+        
+        public int getAction()
+        {
+            return action;
+        }
+    }
+    
+    private StateEntry[][] stateTable = {
+            {new StateEntry(S_START,  A_NULL), new StateEntry(S_LETTER, A_ADDC), new StateEntry(S_PUNCT,  A_ADDS)},
+            {new StateEntry(S_LETTER, A_NULL), new StateEntry(S_LETTER, A_ADDC), new StateEntry(S_PUNCT,  A_ADDS)},
+            {new StateEntry(S_PUNCT,  A_NULL), new StateEntry(S_LETTER, A_ADDC), new StateEntry(S_PUNCT,  A_NULL)}
+    };
+
+    protected final int N_GRAM_SIZE = 3;
+    
+    private char[] letters = new char[N_GRAM_SIZE];
+    private int letterCount;
+    
+    private static UnicodeSet letterSet = new UnicodeSet("[:letter:]");
+
+    private NGramParserClient client;
+
+    /**
+     * 
+     */
+    public NGramParser(NGramParserClient theClient)
+    {
+        client = theClient;
+        letterCount = 0;
+    }
+    
+    public void setClient(NGramParserClient theClient)
+    {
+        client = theClient;
+    }
+    
+    // TODO Is this good enough, or are there other C_IGNORE characters?
+    // TODO Could this make Latin letters C_PUNCT for non-Latin scripts?
+    public static int getCharClass(char ch)
+    {
+        if (ch == '\'' || ch == '\uFEFF') {
+            return C_IGNORE;
+        }
+        
+        if (letterSet.contains(ch)) {
+            return C_LETTER;
+        }
+        
+        return C_PUNCT;
+    }
+    
+    public void reset()
+    {
+        letterCount = 0;
+    }
+    
+    public void addLetter(char letter)
+    {
+        // somewhat clever stuff goes here...        
+        letters[letterCount++] = letter;
+        
+        if (letterCount >= N_GRAM_SIZE) {
+            String key = new String(letters);
+            
+            client.handleNGram(key);
+            
+            letterCount = N_GRAM_SIZE - 1;
+            for (int i = 0; i < letterCount; i += 1) {
+                letters[i] = letters[i + 1];
+            }
+        }
+    }
+    
+    public void parse()
+    {
+        char ch;
+        int state = 0;
+
+        // this is where the clever stuff goes...
+        while ((ch = client.nextChar()) != 0) {
+            int charClass = getCharClass(ch);
+            StateEntry entry = stateTable[state][charClass];
+            
+            state = entry.getNewState();
+            
+            switch (entry.getAction())
+            {
+            case A_ADDC:
+                addLetter(Character.toLowerCase(ch));
+                break;
+                
+            case A_ADDS:
+                addLetter(' ');
+                break;
+ 
+            case A_NULL:
+            default:
+                break;
+            }
+        }
+        
+        addLetter(' ');
+    }
+}
diff --git a/src/com/ibm/icu/dev/tool/charsetdet/sbcs/StatisticsTool.java b/src/com/ibm/icu/dev/tool/charsetdet/sbcs/StatisticsTool.java
new file mode 100644
index 0000000..6d7284e
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/charsetdet/sbcs/StatisticsTool.java
@@ -0,0 +1,432 @@
+/*
+ ***********************************************************************
+ * Copyright (C) 2005, International Business Machines Corporation and *
+ * others. All Rights Reserved.                                        *
+ ***********************************************************************
+ *
+ */
+
+package com.ibm.icu.dev.tool.charsetdet.sbcs;
+
+
+import java.io.*;
+import java.util.Arrays;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Iterator;
+import java.util.List;
+
+import com.ibm.icu.impl.Utility;
+
+/**
+ * @author emader
+ *
+ * TODO To change the template for this generated type comment go to
+ * Window - Preferences - Java - Code Style - Code Templates
+ */
+public class StatisticsTool implements NGramParser.NGramParserClient, NGramList.NGramKeyMapper
+{
+    /* TODO Make this usage string more sane. */
+    private static final String usageString = 
+        "\nUsage: StatisticsTool [OPTIONS] [FILES]\n\n" +
+        "This program will read in a Unicode text file of text in a particular language\n" +
+        "and compute the statistics needed to detected that language and character set.\n " +
+        "Options:\n" +
+        "-e       specify the target encoding\n" +
+        "-h or -? print this usage text.\n" +
+        "-v       also generate statistics for visual order.\n" +
+        "-l       only generate statistics for logical order (cancel -v)." +
+        "-c       run the checker.\n" +
+        "-t       run the encoding test.\n" +
+        "example: com.ibm.icu.dev.tool.charset.StatisticsTool -e 8859-1 Spanish.txt";
+
+    private static final int BUFFER_SIZE = 1024;
+    
+    private char[] buffer;
+    private int bufIndex;
+    private int bufMax;
+
+    private InputFile inputFile;
+    
+    private NGramList ngrams;
+    
+    private static byte[] allBytes = {
+            (byte) 0x00, (byte) 0x01, (byte) 0x02, (byte) 0x03, (byte) 0x04, (byte) 0x05, (byte) 0x06, (byte) 0x07,
+            (byte) 0x08, (byte) 0x09, (byte) 0x0A, (byte) 0x0B, (byte) 0x0C, (byte) 0x0D, (byte) 0x0E, (byte) 0x0F,
+            (byte) 0x10, (byte) 0x11, (byte) 0x12, (byte) 0x13, (byte) 0x14, (byte) 0x15, (byte) 0x16, (byte) 0x17,
+            (byte) 0x18, (byte) 0x19, (byte) 0x1A, (byte) 0x1B, (byte) 0x1C, (byte) 0x1D, (byte) 0x1E, (byte) 0x1F,
+            (byte) 0x20, (byte) 0x21, (byte) 0x22, (byte) 0x23, (byte) 0x24, (byte) 0x25, (byte) 0x26, (byte) 0x27,
+            (byte) 0x28, (byte) 0x29, (byte) 0x2A, (byte) 0x2B, (byte) 0x2C, (byte) 0x2D, (byte) 0x2E, (byte) 0x2F,
+            (byte) 0x30, (byte) 0x31, (byte) 0x32, (byte) 0x33, (byte) 0x34, (byte) 0x35, (byte) 0x36, (byte) 0x37,
+            (byte) 0x38, (byte) 0x39, (byte) 0x3A, (byte) 0x3B, (byte) 0x3C, (byte) 0x3D, (byte) 0x3E, (byte) 0x3F,
+            (byte) 0x40, (byte) 0x41, (byte) 0x42, (byte) 0x43, (byte) 0x44, (byte) 0x45, (byte) 0x46, (byte) 0x47,
+            (byte) 0x48, (byte) 0x49, (byte) 0x4A, (byte) 0x4B, (byte) 0x4C, (byte) 0x4D, (byte) 0x4E, (byte) 0x4F,
+            (byte) 0x50, (byte) 0x51, (byte) 0x52, (byte) 0x53, (byte) 0x54, (byte) 0x55, (byte) 0x56, (byte) 0x57,
+            (byte) 0x58, (byte) 0x59, (byte) 0x5A, (byte) 0x5B, (byte) 0x5C, (byte) 0x5D, (byte) 0x5E, (byte) 0x5F,
+            (byte) 0x60, (byte) 0x61, (byte) 0x62, (byte) 0x63, (byte) 0x64, (byte) 0x65, (byte) 0x66, (byte) 0x67,
+            (byte) 0x68, (byte) 0x69, (byte) 0x6A, (byte) 0x6B, (byte) 0x6C, (byte) 0x6D, (byte) 0x6E, (byte) 0x6F,
+            (byte) 0x70, (byte) 0x71, (byte) 0x72, (byte) 0x73, (byte) 0x74, (byte) 0x75, (byte) 0x76, (byte) 0x77,
+            (byte) 0x78, (byte) 0x79, (byte) 0x7A, (byte) 0x7B, (byte) 0x7C, (byte) 0x7D, (byte) 0x7E, (byte) 0x7F,
+            (byte) 0x80, (byte) 0x81, (byte) 0x82, (byte) 0x83, (byte) 0x84, (byte) 0x85, (byte) 0x86, (byte) 0x87,
+            (byte) 0x88, (byte) 0x89, (byte) 0x8A, (byte) 0x8B, (byte) 0x8C, (byte) 0x8D, (byte) 0x8E, (byte) 0x8F,
+            (byte) 0x90, (byte) 0x91, (byte) 0x92, (byte) 0x93, (byte) 0x94, (byte) 0x95, (byte) 0x96, (byte) 0x97,
+            (byte) 0x98, (byte) 0x99, (byte) 0x9A, (byte) 0x9B, (byte) 0x9C, (byte) 0x9D, (byte) 0x9E, (byte) 0x9F,
+            (byte) 0xA0, (byte) 0xA1, (byte) 0xA2, (byte) 0xA3, (byte) 0xA4, (byte) 0xA5, (byte) 0xA6, (byte) 0xA7,
+            (byte) 0xA8, (byte) 0xA9, (byte) 0xAA, (byte) 0xAB, (byte) 0xAC, (byte) 0xAD, (byte) 0xAE, (byte) 0xAF,
+            (byte) 0xB0, (byte) 0xB1, (byte) 0xB2, (byte) 0xB3, (byte) 0xB4, (byte) 0xB5, (byte) 0xB6, (byte) 0xB7,
+            (byte) 0xB8, (byte) 0xB9, (byte) 0xBA, (byte) 0xBB, (byte) 0xBC, (byte) 0xBD, (byte) 0xBE, (byte) 0xBF,
+            (byte) 0xC0, (byte) 0xC1, (byte) 0xC2, (byte) 0xC3, (byte) 0xC4, (byte) 0xC5, (byte) 0xC6, (byte) 0xC7,
+            (byte) 0xC8, (byte) 0xC9, (byte) 0xCA, (byte) 0xCB, (byte) 0xCC, (byte) 0xCD, (byte) 0xCE, (byte) 0xCF,
+            (byte) 0xD0, (byte) 0xD1, (byte) 0xD2, (byte) 0xD3, (byte) 0xD4, (byte) 0xD5, (byte) 0xD6, (byte) 0xD7,
+            (byte) 0xD8, (byte) 0xD9, (byte) 0xDA, (byte) 0xDB, (byte) 0xDC, (byte) 0xDD, (byte) 0xDE, (byte) 0xDF,
+            (byte) 0xE0, (byte) 0xE1, (byte) 0xE2, (byte) 0xE3, (byte) 0xE4, (byte) 0xE5, (byte) 0xE6, (byte) 0xE7,
+            (byte) 0xE8, (byte) 0xE9, (byte) 0xEA, (byte) 0xEB, (byte) 0xEC, (byte) 0xED, (byte) 0xEE, (byte) 0xEF,
+            (byte) 0xF0, (byte) 0xF1, (byte) 0xF2, (byte) 0xF3, (byte) 0xF4, (byte) 0xF5, (byte) 0xF6, (byte) 0xF7,
+            (byte) 0xF8, (byte) 0xF9, (byte) 0xFA, (byte) 0xFB, (byte) 0xFC, (byte) 0xFD, (byte) 0xFE, (byte) 0xFF
+    };
+    
+    /**
+     * 
+     */
+    public StatisticsTool()
+    {
+        buffer = new char[BUFFER_SIZE];
+        
+        buffer[0] = ' ';
+        bufIndex = 0;
+        bufMax = 1;
+    }
+    
+    private static void usage()
+    {
+        System.out.println(usageString);
+    }
+    
+    private static void exceptionError(Exception e)
+    {
+        System.err.println("ioError: " + e.toString());
+    }
+
+    private int nextBuffer(InputFile inputFile)
+    {
+        bufIndex = 0;
+        
+        return inputFile.read(buffer);
+    }
+    
+    public char nextChar()
+    {
+        if (bufIndex >= bufMax) {
+            bufMax = nextBuffer(inputFile);
+        }
+        
+        if (bufMax < 0) {
+            return 0;
+        }
+        
+        return buffer[bufIndex++];
+    }
+    
+    public void handleNGram(String key)
+    {
+        ngrams.put(key);
+    }
+    
+    public Object mapKey(String key)
+    {
+        return key;
+    }
+    
+    private NGramList dumpNGrams()
+    {
+        String filename = inputFile.getPath();
+        int extension = filename.lastIndexOf(".");
+        String outputFileName = filename.substring(0, extension) + ".raw" + filename.substring(extension);
+        PrintStream output;
+        double cumulative = 0;
+        
+        try {
+            output = new PrintStream(
+                new FileOutputStream(outputFileName), true, "UTF8");
+        } catch (IOException e) {
+            System.out.println("? Could not open " + outputFileName + " for writing.");
+            return null;
+        }
+        
+        System.out.println(inputFile.getFilename() + ": " + ngrams.getUniqueNGrams() + "/" + ngrams.getTotalNGrams());
+        
+        ArrayList array = new ArrayList(ngrams.values());
+        
+        Collections.sort(array);
+        
+        NGramList stats = new NGramList(inputFile);
+        int count = 0;
+        int totalNGrams = ngrams.getTotalNGrams();
+        
+        for (Iterator it = array.iterator(); it.hasNext(); count += 1) {
+            NGramList.NGram ngram  = (NGramList.NGram) it.next();
+            String value = ngram.getValue();
+            int refCount = ngram.getRefCount();
+            double ratio  = (double) refCount / totalNGrams * 100.0;
+            
+            cumulative += ratio;
+            
+            // TODO check should be count < max && cumulative < maxPercent
+            if (count < 64) {
+                stats.put(value);
+            }
+            
+            output.println(value + "\t" + refCount + "\t" + ratio + "%\t" + cumulative + "%");
+        }
+        
+        output.close();
+        
+        return stats;
+    }
+    
+    private void writeStatistics(ArrayList keyList, boolean visual)
+    {
+        String filename = inputFile.getPath();
+        int extension = filename.lastIndexOf(".");
+        String outputFileName = filename.substring(0, extension) + "-" + inputFile.getEncoding() +
+                                    (visual? "-visual.dat" : ".dat");
+        PrintStream output;
+        
+        try {
+            output = new PrintStream(
+                new FileOutputStream(outputFileName), true, "ASCII");
+        } catch (IOException e) {
+            System.out.println("? Could not open " + outputFileName + " for writing.");
+            return;
+        }
+        
+        int i = 0;
+        
+        output.print("    private static int[] ngrams = {");
+        
+        for (Iterator it = keyList.iterator(); it.hasNext(); i += 1) {
+            Integer ngram = (Integer) it.next();
+        
+            if (i % 16 == 0) {
+                output.print("\n        ");
+            }
+            
+            output.print("0x" + Utility.hex(ngram.intValue(), 6) + ", ");
+        }
+        
+        output.println("\n    };\n");
+        
+        /*
+         * Generate the byte map
+         */
+        char[] unicodes = inputFile.decode(allBytes);
+        
+        for (int b = 0; b < 256; b += 1) {
+            char unicode  = unicodes[b];
+            int charClass = NGramParser.getCharClass(unicode);
+        
+            switch (charClass) {
+            case NGramParser.C_LETTER:
+                unicodes[b] = Character.toLowerCase(unicode);
+                break;
+        
+            case NGramParser.C_PUNCT:
+                unicodes[b] = ' ';
+                break;
+        
+            case NGramParser.C_IGNORE:
+            default:
+                unicodes[b] = '\0';
+            }
+        }
+        
+        byte[] byteMap = inputFile.encode(unicodes);
+        
+        output.print("    private static byte[] byteMap = {");
+        
+        for (int b = 0; b < 256; b += 1) {
+            if (b % 8 == 0) {
+                output.print("\n        ");
+            }
+            
+            output.print("(byte) 0x" + Utility.hex(byteMap[b] & 0xFF, 2) + ", ");
+        }
+        
+        output.println("\n    };");
+    }
+    
+    public NGramList collectStatistics(InputFile file)
+    {
+        if (!file.open()) {;
+            return null;
+        }
+        
+        inputFile = file;
+        
+        NGramParser parser = new NGramParser(this);
+        
+        ngrams = new NGramList(this);
+        parser.parse();
+        
+        file.close();
+        
+        NGramList stats    = dumpNGrams();
+        ArrayList statKeys = new ArrayList(stats.keys());
+        
+        Collections.sort(statKeys);
+        writeStatistics(statKeys, false);
+        
+        if (inputFile.getVisualOrder()) {
+            ArrayList reversed = new ArrayList(statKeys.size());
+            
+            for (Iterator it = statKeys.iterator(); it.hasNext();) {
+                Integer key = (Integer) it.next();
+                int k = key.intValue();
+                int r = 0;
+                
+                while (k != 0) {
+                    r = (r << 8) | (k & 0xFF);
+                    k >>= 8;
+                }
+                
+                reversed.add(new Integer(r));
+            }
+            
+            Collections.sort(reversed);
+            writeStatistics(reversed, true);
+        }
+        
+        return stats;
+    }
+    
+    public static void main(String[] args)
+    {
+        List list = Arrays.asList(args);
+        InputFile[] input_files = new InputFile[args.length];
+        int file_count = 0;
+        String encoding = null;
+        boolean run_checker = false;
+        boolean encoding_test = false;
+        boolean visual_order = false;
+        
+        for (Iterator it = list.iterator(); it.hasNext(); /*anything?*/) {
+            String arg = (String) it.next();
+            
+            if (arg.equals("-v")) {
+                visual_order = true;
+            } else if (arg.equals("-l")) {
+                visual_order = false;
+            } else if (arg.equals("-c")) {
+                run_checker = true;
+            } else if (arg.equals("-t")) {
+                encoding_test = true;
+            } else if (arg.equals("-e")) {
+                if (it.hasNext()) {
+                    encoding = (String) it.next();
+                } else {
+                    System.err.println("Error: missing encoding.");
+                }
+            } else if (arg.startsWith("-")) {
+                if (! (arg.equals("-h") || arg.equals("-?"))) {
+                    System.err.println("Error: unknown option " + arg);
+                }
+                
+                usage();
+            } else {
+                input_files[file_count++] = new InputFile(arg, encoding, visual_order);
+            }
+        }
+
+        if(file_count == 0){
+            System.err.println("Error: there are no files to process.");
+            usage();
+        }
+        
+        StatisticsTool tool = new StatisticsTool();
+        Checker[] checkers  = new Checker[file_count];
+        
+        for(int i = 0; i < file_count; i += 1) {
+            InputFile file = input_files[i];
+            
+            checkers[i] = new Checker(tool.collectStatistics(file), file);
+        }
+        
+        System.out.println();
+        
+        /**
+         * Checkers
+         */
+        if (run_checker) {
+            for(int c = 0; c < file_count; c += 1) {
+                Checker checker = checkers[c];
+                
+                for(int f = 0; f < file_count; f += 1) {
+                    checker.check(input_files[f]);
+                }
+            }
+            
+        }
+
+        /*
+         * Detection test
+         */
+        if (encoding_test) {
+            char[] buffer   = new char[128];
+            
+            System.out.println("Detection test");
+            
+            for (int f = 0; f < file_count; f += 1) {
+                InputFile file = input_files[f];
+                int[] histogram = new int[file_count];
+                int charCount, misses = 0;
+                
+                System.out.println(file.getFilename() + "(" + file.getEncoding() + "):");
+                file.open();
+                
+                for (int c = 0; c < file_count; c += 1) {
+                    checkers[c].setMapper(file);                
+                }
+                
+                // for each buffer
+                //     for each checker
+                //         call checkBuffer, save score
+                //     find highest score, update histogram for that checker
+                // show checker histogram
+                
+                while ((charCount = file.read(buffer)) > 0) {
+                    int[] scores = new int[file_count];
+                    int bestFit = -1, maxScore = 0;
+                    
+                    for (int c = 0; c < file_count; c += 1) {
+                        scores[c] = checkers[c].checkBuffer(buffer, charCount);
+                    }
+                    
+                    for (int c = 0; c < file_count; c += 1) {
+                        int score = scores[c];
+                        
+                        if (score > maxScore) {
+                            maxScore = score;
+                            bestFit = c;
+                        }
+                    }
+                    
+                    if (bestFit >= 0) {
+                        histogram[bestFit] += 1;                    
+                    } else {
+                        misses += 1;
+                    }
+                }
+                
+                for (int c = 0; c < file_count; c += 1) {
+                    System.out.println("    " + checkers[c].getLanguage() + ": " + histogram[c]);
+                }
+                
+                if (misses > 0) {
+                    System.out.println("    NONE: " + misses);
+                }
+                
+                System.out.println();
+            }            
+        }
+    }
+}
diff --git a/src/com/ibm/icu/dev/tool/compression/CompressionTableGenerator.java b/src/com/ibm/icu/dev/tool/compression/CompressionTableGenerator.java
new file mode 100755
index 0000000..0f4fd7f
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/compression/CompressionTableGenerator.java
@@ -0,0 +1,223 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.tool.compression;
+
+
+/**
+ * Utility class to generate the tables used by the SCSU interface and
+ * the UnicodeCompressor class.
+ *
+ * @author Stephen F. Booth
+ * @version 1.0 08 Mar 99
+ */
+class CompressionTableGenerator
+{
+    // duplicate of constants in SCSU
+
+    final static int LATININDEX                  = 0xF9;
+    final static int IPAEXTENSIONINDEX           = 0xFA;
+    final static int GREEKINDEX                  = 0xFB;
+    final static int ARMENIANINDEX               = 0xFC;
+    final static int HIRAGANAINDEX               = 0xFD;
+    final static int KATAKANAINDEX               = 0xFE;
+    final static int HALFWIDTHKATAKANAINDEX      = 0xFF;
+
+    final static int SDEFINEX                    = 0x0B;
+    final static int SRESERVED                   = 0x0C;  // reserved value
+    final static int SQUOTEU                     = 0x0E;
+    final static int SCHANGEU                    = 0x0F;
+
+    final static int SQUOTE0                     = 0x01;
+    final static int SQUOTE1                     = 0x02;
+    final static int SQUOTE2                     = 0x03;
+    final static int SQUOTE3                     = 0x04;
+    final static int SQUOTE4                     = 0x05;
+    final static int SQUOTE5                     = 0x06;
+    final static int SQUOTE6                     = 0x07;
+    final static int SQUOTE7                     = 0x08;
+
+    final static int SCHANGE0                    = 0x10;
+    final static int SCHANGE1                    = 0x11;
+    final static int SCHANGE2                    = 0x12;
+    final static int SCHANGE3                    = 0x13;
+    final static int SCHANGE4                    = 0x14;
+    final static int SCHANGE5                    = 0x15;
+    final static int SCHANGE6                    = 0x16;
+    final static int SCHANGE7                    = 0x17;
+
+    final static int SDEFINE0                    = 0x18;
+    final static int SDEFINE1                    = 0x19;
+    final static int SDEFINE2                    = 0x1A;
+    final static int SDEFINE3                    = 0x1B;
+    final static int SDEFINE4                    = 0x1C;
+    final static int SDEFINE5                    = 0x1D;
+    final static int SDEFINE6                    = 0x1E;
+    final static int SDEFINE7                    = 0x1F;
+
+    //==========================
+    // Unicode mode tags
+    //==========================
+    final static int UCHANGE0                    = 0xE0;
+    final static int UCHANGE1                    = 0xE1;
+    final static int UCHANGE2                    = 0xE2;
+    final static int UCHANGE3                    = 0xE3;
+    final static int UCHANGE4                    = 0xE4;
+    final static int UCHANGE5                    = 0xE5;
+    final static int UCHANGE6                    = 0xE6;
+    final static int UCHANGE7                    = 0xE7;
+
+    final static int UDEFINE0                    = 0xE8;
+    final static int UDEFINE1                    = 0xE9;
+    final static int UDEFINE2                    = 0xEA;
+    final static int UDEFINE3                    = 0xEB;
+    final static int UDEFINE4                    = 0xEC;
+    final static int UDEFINE5                    = 0xED;
+    final static int UDEFINE6                    = 0xEE;
+    final static int UDEFINE7                    = 0xEF;
+
+    final static int UQUOTEU                     = 0xF0;
+    final static int UDEFINEX                    = 0xF1;
+    final static int URESERVED                   = 0xF2;  // reserved value
+
+    final static int BLOCKSIZE = 0xFF;
+    
+    /**
+     * Generate the table used as sOffsetTable in SCSU.
+     * This table contains preformed indices so we can do array lookups 
+     * instead of calculations for speed during decompression.
+     */
+    static void printOffsetTable()
+    {
+        int     i           = 0;
+    int []    offsetTable = new int [ BLOCKSIZE + 1 ];
+
+        // 0x00 is reserved
+
+        // half blocks from U+0080 to U+3380
+        for( i = 0x01; i < 0x68; i++ )
+            offsetTable[i] = i * 0x80;
+    
+        // half blocks from U+E000 to U+FF80
+        for( i = 0x68; i < 0xA8; i++ )
+            offsetTable[i] = (i * 0x80) + 0xAC00;
+    
+        // 0xA8..0xF8 is reserved
+ 
+        offsetTable[ LATININDEX ] = 0x00C0;
+        offsetTable[ IPAEXTENSIONINDEX ] = 0x0250;
+        offsetTable[ GREEKINDEX ] = 0x0370;
+        offsetTable[ ARMENIANINDEX ] = 0x0530;
+        offsetTable[ HIRAGANAINDEX ] = 0x3040;
+        offsetTable[ KATAKANAINDEX ] = 0x30A0;
+        offsetTable[ HALFWIDTHKATAKANAINDEX ] = 0xFF60;
+
+        // dump the generated table
+    System.out.println("static int [] sOffsetTable = {");
+        for(i = 0; i < offsetTable.length - 1; i++)
+            System.out.print("0x" + Integer.toHexString(offsetTable[i])
+                 + ", ");
+        for(i = offsetTable.length - 1; i < offsetTable.length; i++)
+            System.out.print("0x" + Integer.toHexString(offsetTable[i]));
+        System.out.println();
+        System.out.println("};");
+    }
+    
+    /**
+     * Generate the table used as sSingleTagTable in UnicodeCompressor.
+     * This table contains boolean values indicating if a byte is a
+     * single-byte mode tag.
+     */
+    static void printSingleTagTable()
+    {
+        int        i              = 0;
+    boolean [] singleTagTable = new boolean  [ BLOCKSIZE + 1 ];
+
+        for( i = 0x00; i <= BLOCKSIZE; i++ ) {
+            switch( i ) {
+        
+        case SQUOTEU:  case SCHANGEU: 
+        case SDEFINEX: case SRESERVED:
+        case SQUOTE0:  case SQUOTE1:  
+        case SQUOTE2:  case SQUOTE3:
+        case SQUOTE4:  case SQUOTE5:  
+        case SQUOTE6:  case SQUOTE7:
+        case SCHANGE0: case SCHANGE1: 
+        case SCHANGE2: case SCHANGE3:
+        case SCHANGE4: case SCHANGE5: 
+        case SCHANGE6: case SCHANGE7:
+        case SDEFINE0: case SDEFINE1: 
+        case SDEFINE2: case SDEFINE3:
+        case SDEFINE4: case SDEFINE5: 
+        case SDEFINE6: case SDEFINE7:
+        singleTagTable[i] = true;
+                break;
+        
+        default:
+        singleTagTable[i] = false;
+                break;
+            }
+        }
+    
+        // dump the generated table
+        System.out.println("private static boolean [] sSingleTagTable = {");
+        for(i = 0; i < singleTagTable.length - 1; i++)
+            System.out.print(singleTagTable[i] + ", ");
+        for(i = singleTagTable.length - 1; i < singleTagTable.length; i++)
+            System.out.print(singleTagTable[i]);
+        System.out.println();
+        System.out.println("};");
+    }
+    
+    
+    /**
+     * Generate the table used as sUnicodeTagTable in 
+     * This table contains boolean values indicating if a byte is a
+     * unicode mode tag.
+     */
+    static void printUnicodeTagTable()
+    {
+        int        i               = 0;
+    boolean [] unicodeTagTable = new boolean  [ BLOCKSIZE + 1 ];
+
+        for( i = 0x00; i <= BLOCKSIZE; i++ ) {
+            switch( i ) {
+        case UQUOTEU:  case UDEFINEX: 
+        case URESERVED:
+        case UCHANGE0: case UCHANGE1: 
+        case UCHANGE2: case UCHANGE3:
+        case UCHANGE4: case UCHANGE5: 
+        case UCHANGE6: case UCHANGE7:
+        case UDEFINE0: case UDEFINE1: 
+        case UDEFINE2: case UDEFINE3:
+        case UDEFINE4: case UDEFINE5: 
+        case UDEFINE6: case UDEFINE7:
+        unicodeTagTable[i] = true;
+                break;
+        
+        default:
+        unicodeTagTable[i] = false;
+                break;
+            }
+        }
+    
+        // dump the generated table
+        System.out.println("private static boolean [] sUnicodeTagTable = {");
+        for(i = 0; i < unicodeTagTable.length - 1; i++)
+            System.out.print(unicodeTagTable[i] + ", ");
+        for(i = unicodeTagTable.length - 1; i < unicodeTagTable.length; i++)
+            System.out.print(unicodeTagTable[i]);
+        System.out.println();
+        System.out.println("};");
+    }
+    
+    public static void main(String[] argv)
+    {
+        printOffsetTable();
+        printSingleTagTable();
+        printUnicodeTagTable();
+    }
+}
diff --git a/src/com/ibm/icu/dev/tool/compression/package.html b/src/com/ibm/icu/dev/tool/compression/package.html
new file mode 100755
index 0000000..b4a3ec9
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/compression/package.html
@@ -0,0 +1,12 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html>
+<head>
+<!--  Copyright (C) 2000-2004, International Business Machines Corporation and
+  others. All Rights Reserved.
+
+-->
+</head>
+<body bgcolor="white">
+Tool used to rebuild tables used by the Unicode compression classes.
+</body>
+</html>
\ No newline at end of file
diff --git a/src/com/ibm/icu/dev/tool/docs/APIInfo.java b/src/com/ibm/icu/dev/tool/docs/APIInfo.java
new file mode 100644
index 0000000..f7b1f5e
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/docs/APIInfo.java
@@ -0,0 +1,499 @@
+/**
+*******************************************************************************
+* Copyright (C) 2005, International Business Machines Corporation and         *
+* others. All Rights Reserved.                                                *
+*******************************************************************************
+*/
+
+/**
+ * Represents the API information on a doc element.
+ */
+
+package com.ibm.icu.dev.tool.docs;
+
+import java.io.*;
+import java.util.*;
+
+class APIInfo {
+    // version id for the format of the APIInfo data
+
+    public static final int VERSION = 1;
+
+    // public keys and values for queries on info
+
+    public static final int STA = 0, STA_DRAFT = 0, STA_STABLE = 1, STA_DEPRECATED = 2, STA_OBSOLETE = 3;
+    public static final int VIS = 1, VIS_PACKAGE = 0, VIS_PUBLIC= 1, VIS_PROTECTED = 2, VIS_PRIVATE = 3;
+    public static final int STK = 2, STK_STATIC = 1;
+    public static final int FIN = 3, FIN_FINAL = 1;
+    public static final int SYN = 4, SYN_SYNCHRONIZED = 1;
+    public static final int ABS = 5, ABS_ABSTRACT = 1;
+    public static final int CAT = 6, CAT_CLASS = 0, CAT_FIELD = 1, CAT_CONSTRUCTOR = 2, CAT_METHOD = 3;
+    public static final int PAK = 7;
+    public static final int CLS = 8;
+    public static final int NAM = 9;
+    public static final int SIG = 10;
+    public static final int EXC = 11;
+    public static final int NUM_TYPES = 11;
+
+    // the separator between tokens in the data file
+
+    public static final char SEP = ';';
+
+    // internal state
+    private int    info; // information about numeric values packed into an int as 2-bit nibbles
+    private String pack = ""; // package
+    private String cls  = "";  // enclosing class
+    private String name = ""; // name
+    private String sig  = "";  // signature, class: inheritance, method: signature, field: type, const: signature
+    private String exc  = "";  // throws
+
+    public int hashCode() {
+        return (((pack.hashCode() << 3) ^ cls.hashCode()) << 3) ^ name.hashCode();
+    }
+
+    public boolean equals(Object rhs) {
+        if (rhs == this) return true;
+        if (rhs == null) return false;
+        try {
+            APIInfo that = (APIInfo)rhs;
+            return this.info == that.info &&
+                this.pack.equals(that.pack) &&
+                this.cls.equals(that.cls) &&
+                this.name.equals(that.name) &&
+                this.sig.equals(that.sig) &&
+                this.exc.equals(that.exc);
+        }
+        catch (ClassCastException e) {
+            return false;
+        }
+    }
+
+    public void setDraft() { setType(STA, STA_DRAFT); }
+    public void setStable() { setType(STA, STA_STABLE); }
+    public void setDeprecated() { setType(STA, STA_DEPRECATED); }
+    public void setObsolete() { setType(STA, STA_OBSOLETE); }
+    public void setPackage() { setType(VIS, VIS_PACKAGE); }
+    public void setPublic() { setType(VIS, VIS_PUBLIC); }
+    public void setProtected() { setType(VIS, VIS_PROTECTED); }
+    public void setPrivate() { setType(VIS, VIS_PRIVATE); }
+    public void setStatic() { setType(STK, STK_STATIC); }
+    public void setFinal() { setType(FIN, FIN_FINAL); }
+    public void setSynchronized() { setType(SYN, SYN_SYNCHRONIZED); }
+    public void setAbstract() { setType(ABS, ABS_ABSTRACT); }
+    public void setClass() { setType(CAT, CAT_CLASS); }
+    public void setField() { setType(CAT, CAT_FIELD); }
+    public void setConstructor() { setType(CAT, CAT_CONSTRUCTOR); }
+    public void setMethod() { setType(CAT, CAT_METHOD); }
+
+    public void setPackage(String val) { setType(PAK, val); }
+    public void setClassName(String val) { setType(CLS, val); }
+    public void setName(String val) { setType(NAM, val); }
+    public void setSignature(String val) { setType(SIG, val); }
+    public void setExceptions(String val) { setType(EXC, val); }
+
+    public boolean isDraft() { return getVal(STA) == STA_DRAFT; }
+    public boolean isStable() { return getVal(STA) == STA_STABLE; }
+    public boolean isDeprecated() { return getVal(STA) == STA_DEPRECATED; }
+    public boolean isObsolete() { return getVal(STA) == STA_OBSOLETE; }
+    public boolean isPackage() { return getVal(VIS) == VIS_PACKAGE; }
+    public boolean isPublic() { return getVal(VIS) == VIS_PUBLIC; }
+    public boolean isProtected() { return getVal(VIS) == VIS_PROTECTED; }
+    public boolean isPrivate() { return getVal(VIS) == VIS_PRIVATE; }
+    public boolean isStatic() { return getVal(STK) == STK_STATIC; }
+    public boolean isFinal() { return getVal(FIN) == FIN_FINAL; }
+    public boolean isSynchronized() { return getVal(SYN) == SYN_SYNCHRONIZED; }
+    public boolean isAbstract() { return getVal(ABS) == ABS_ABSTRACT; }
+    public boolean isClass() { return getVal(CAT) == CAT_CLASS; }
+    public boolean isField() { return getVal(CAT) == CAT_FIELD; }
+    public boolean isConstructor() { return getVal(CAT) == CAT_CONSTRUCTOR; }
+    public boolean isMethod() { return getVal(CAT) == CAT_METHOD; }
+
+    public String getPackageName() { return get(PAK, true); }
+    public String getClassName() { return get(CLS, true); }
+    public String getName() { return get(NAM, true); }
+    public String getSignature() { return get(SIG, true); }
+    public String getExceptions() { return get(EXC, true); }
+
+    /**
+     * Return the integer value for the provided type.  The type
+     * must be one of the defined type names.  The return value
+     * will be one of corresponding values for that type.
+     */
+    public int getVal(int typ) {
+        validateType(typ);
+        return (info >> (typ*2)) & 0x3;
+    }
+
+    /**
+     * Return the string value for the provided type.  The type
+     * must be one of the defined type names.  The return value
+     * will be one of corresponding values for that type.  Brief
+     * should be true for writing data files, false for presenting
+     * information to the user.
+     */
+    public String get(int typ, boolean brief) {
+        validateType(typ);
+        String[] vals = brief ? shortNames[typ] : names[typ];
+        if (vals == null) {
+            switch (typ) {
+            case PAK: return pack;
+            case CLS: return cls;
+            case NAM: return name;
+            case SIG: return sig;
+            case EXC: return exc;
+            }
+        }
+        int val = (info >> (typ*2)) & 0x3;
+        return vals[val];
+    }
+
+    /**
+     * Set the numeric value for the type.  The value should be a
+     * value corresponding to the type.  Only the lower two bits
+     * of the value are used.
+     */
+    public void setType(int typ, int val) {
+        validateType(typ);
+        info &= ~(0x3 << (typ*2));
+        info |= (val&0x3) << (typ * 2);
+    }
+
+    /**
+     * Set the string value for the type.  For numeric types,
+     * the value should be a string in 'brief' format.  For
+     * non-numeric types, the value can be any
+     * string.
+     */
+    private void setType(int typ, String val) {
+        validateType(typ);
+        String[] vals = shortNames[typ];
+        if (vals == null) {
+            if (val == null) {
+                val = "";
+            }
+            switch (typ) {
+            case PAK: pack = val; break;
+            case CLS: cls = val; break;
+            case NAM: name = val; break;
+            case SIG: sig = val; break;
+            case EXC: exc = val; break;
+            }
+            return;
+        }
+
+        for (int i = 0; i < vals.length; ++i) {
+            if (val.equalsIgnoreCase(vals[i])) {
+                info &= ~(0x3 << (typ*2));
+                info |= i << (typ*2);
+                return;
+            }
+        }
+
+        throw new IllegalArgumentException("unrecognized value '" + val + "' for type '" + typeNames[typ] + "'");
+    }
+
+    /**
+     * Write the information out as a single line in brief format.
+     * If there are IO errors, throws a RuntimeException.
+     */
+    public void writeln(BufferedWriter w) {
+        try {
+            for (int i = 0; i < NUM_TYPES; ++i) {
+                String s = get(i, true);
+                if (s != null) {
+                    w.write(s);
+                }
+                w.write(SEP);
+            }
+            w.newLine();
+        }
+        catch (IOException e) {
+            RuntimeException re = new RuntimeException("IO Error");
+            re.initCause(e);
+            throw re;
+        }
+    }
+
+    /**
+     * Read a record from the input and initialize this APIInfo.
+     * Return true if successfule, false if EOF, otherwise throw
+     * a RuntimeException.
+     */
+    public boolean read(BufferedReader r) {
+        int i = 0;
+        try {
+            for (; i < NUM_TYPES; ++i) {
+                setType(i, readToken(r));
+            }
+            r.readLine(); // swallow line end sequence
+        }
+        catch (IOException e) {
+            if (i == 0) { // assume if first read returns error, we have reached end of input
+                return false;
+            }
+            RuntimeException re = new RuntimeException("IO Error");
+            re.initCause(e);
+            throw re;
+        }
+
+        return true;
+    }
+
+    /**
+     * Read one token from input, which should have been written by
+     * APIInfo.  Throws IOException if EOF is encountered before the
+     * token is complete (i.e. before the separator character is
+     * encountered) or if the token exceeds the maximum length of
+     * 255 chars.
+     */
+    public static String readToken(BufferedReader r) throws IOException {
+        char[] buf = new char[256];
+        int i = 0;
+        for (; i < buf.length; ++i) {
+            int c = r.read();
+            if (c == -1) {
+                throw new IOException("unexpected EOF");
+            } else if (c == SEP) {
+                break;
+            }
+            buf[i] = (char)c;
+        }
+        if (i == buf.length) {
+            throw new IOException("unterminated token" + new String(buf));
+        }
+
+        return new String(buf, 0, i);
+    }
+
+    /**
+     * The default comparator for APIInfo.  This compares packages, class/name
+     * (as the info represents a class or other object), category, name,
+     * and signature.
+     */
+    public static Comparator defaultComparator() {
+        final Comparator c = new Comparator() {
+                public int compare(Object lhs, Object rhs) {
+                    APIInfo lhi = (APIInfo)lhs;
+                    APIInfo rhi = (APIInfo)rhs;
+                    int result = lhi.pack.compareTo(rhi.pack);
+                    if (result == 0) {
+                        result = (lhi.getVal(CAT) == CAT_CLASS ? lhi.name : lhi.cls)
+                            .compareTo(rhi.getVal(CAT) == CAT_CLASS ? rhi.name : rhi.cls);
+                        if (result == 0) {
+                            result = lhi.getVal(CAT)- rhi.getVal(CAT);
+                            if (result == 0) {
+                                result = lhi.name.compareTo(rhi.name);
+                                if (result == 0) {
+                                    result = lhi.sig.compareTo(rhi.sig);
+                                }
+                            }
+                        }
+                    }
+                    return result;
+                }
+            };
+        return c;
+    }
+
+    /**
+     * This compares two APIInfos by package, class/name, category, name, and then if
+     * the APIInfo does not represent a class, by signature.  The difference between
+     * this and the default comparator is that APIInfos representing classes are considered
+     * equal regardless of their signatures (which represent inheritance for classes).
+     */
+    public static Comparator changedComparator() {
+        final Comparator c = new Comparator() {
+                public int compare(Object lhs, Object rhs) {
+                    APIInfo lhi = (APIInfo)lhs;
+                    APIInfo rhi = (APIInfo)rhs;
+                    int result = lhi.pack.compareTo(rhi.pack);
+                    if (result == 0) {
+                        result = (lhi.getVal(CAT) == CAT_CLASS ? lhi.name : lhi.cls)
+                            .compareTo(rhi.getVal(CAT) == CAT_CLASS ? rhi.name : rhi.cls);
+                        if (result == 0) {
+                            result = lhi.getVal(CAT)- rhi.getVal(CAT);
+                            if (result == 0) {
+                                result = lhi.name.compareTo(rhi.name);
+                                if (result == 0 && lhi.getVal(CAT) != CAT_CLASS) {
+                                    // signature change on fields ignored
+                                    if (lhi.getVal(CAT) != CAT_FIELD) {
+                                        result = lhi.sig.compareTo(rhi.sig);
+                                    }
+                                }
+                            }
+                        }
+                    }
+                    return result;
+                }
+            };
+        return c;
+    }
+
+    /**
+     * This compares two APIInfos by package, then sorts classes before non-classes, then
+     * by class/name, category, name, and signature.
+     */
+    public static Comparator classFirstComparator() {
+        final Comparator c = new Comparator() {
+                public int compare(Object lhs, Object rhs) {
+                    APIInfo lhi = (APIInfo)lhs;
+                    APIInfo rhi = (APIInfo)rhs;
+                    int result = lhi.pack.compareTo(rhi.pack);
+                    if (result == 0) {
+                        boolean lcls = lhi.getVal(CAT) == CAT_CLASS;
+                        boolean rcls = rhi.getVal(CAT) == CAT_CLASS;
+                        result = lcls == rcls ? 0 : (lcls ? -1 : 1);
+                        if (result == 0) {
+                            result = (lcls ? lhi.name : lhi.cls).compareTo(rcls ? rhi.name : rhi.cls);
+                            if (result == 0) {
+                                result = lhi.getVal(CAT)- rhi.getVal(CAT);
+                                if (result == 0) {
+                                    result = lhi.name.compareTo(rhi.name);
+                                    if (result == 0 && !lcls) {
+                                        result = lhi.sig.compareTo(rhi.sig);
+                                    }
+                                }
+                            }
+                        }
+                    }
+                    return result;
+                }
+            };
+        return c;
+    }
+
+    /**
+     * Write the data in report format.
+     */
+    public void print(PrintWriter pw, boolean detail, boolean html) {
+        StringBuffer buf = new StringBuffer();
+
+        // remove all occurrences of icu packages from the param string
+        // fortunately, all the packages have 4 chars (lang, math, text, util).
+        String xsig = sig;
+        if (!detail) {
+            final String ICUPACK = "com.ibm.icu.";
+            StringBuffer tbuf = new StringBuffer();
+            for (int i = 0; i < sig.length();) {
+                int n = sig.indexOf(ICUPACK, i);
+                if (n == -1) {
+                    tbuf.append(sig.substring(i));
+                    break;
+                }
+                tbuf.append(sig.substring(i, n));
+                i = n + ICUPACK.length() + 5; // trailing 'xxxx.'
+            }
+            xsig = tbuf.toString();
+        }
+
+        // construct signature
+        for (int i = STA; i < CAT; ++i) { // include status
+            String s = get(i, false);
+            if (s != null && s.length() > 0) {
+                buf.append(s);
+                buf.append(' ');
+            }
+        }
+
+        int val = getVal(CAT);
+        switch (val) {
+        case CAT_CLASS:
+            if (sig.indexOf("extends") == -1) {
+                buf.append("interface ");
+            } else {
+                buf.append("class ");
+            }
+        if (html) {
+        buf.append("<i>");
+        }
+            if (cls.length() > 0) {
+                buf.append(cls);
+                buf.append('.');
+            }
+            buf.append(name);
+        if (html) {
+        buf.append("</i>");
+        }
+            if (detail) {
+                buf.append(' ');
+                buf.append(sig);
+            }
+            break;
+
+        case CAT_FIELD:
+            buf.append(xsig);
+            buf.append(' ');
+            buf.append(name);
+            break;
+
+        case CAT_METHOD:
+        case CAT_CONSTRUCTOR:
+            int n = xsig.indexOf('(');
+            if (n > 0) {
+                buf.append(xsig.substring(0, n));
+                buf.append(' ');
+            } else {
+                n = 0;
+            }
+        if (html) {
+        buf.append("<i>" + name + "</i>");
+        } else {
+        buf.append(name);
+        }
+            buf.append(xsig.substring(n));
+            break;
+        }
+
+        pw.print(buf.toString());
+    }
+
+    public void println(PrintWriter pw, boolean detail, boolean html) {
+        print(pw, detail, html);
+        pw.println();
+    }
+
+    private static final String[] typeNames = {
+        "status", "visibility", "static", "final", "synchronized",
+        "abstract", "category", "package", "class", "name", "signature"
+    };
+
+    private static final String[][] names = {
+        { "(draft)     ", "(stable)    ", "(deprecated)", "(obsolete)  " },
+        { "package", "public", "protected", "private" },
+        { "", "static" },
+        { "", "final" },
+        { "", "synchronized" },
+        { "", "abstract" },
+        { "class", "field", "constructor", "method"  },
+        null,
+        null,
+        null,
+        null,
+        null
+    };
+
+    private static final String[][] shortNames = {
+        { "DR", "ST", "DP", "OB" },
+        { "PK", "PB", "PT", "PR" },
+        { "NS", "ST" },
+        { "NF", "FN" },
+        { "NS", "SY" },
+        { "NA", "AB" },
+        { "L", "F", "C", "M" },
+        null,
+        null,
+        null,
+        null,
+        null
+    };
+
+    private static void validateType(int typ) {
+        if (typ < 0 || typ > NUM_TYPES) {
+            throw new IllegalArgumentException("bad type index: " + typ);
+        }
+    }
+
+    public String toString() {
+        return get(NAM, true);
+    }
+}
diff --git a/src/com/ibm/icu/dev/tool/docs/CheckAPI.java b/src/com/ibm/icu/dev/tool/docs/CheckAPI.java
new file mode 100644
index 0000000..f5a65b1
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/docs/CheckAPI.java
@@ -0,0 +1,1027 @@
+/**
+*******************************************************************************
+* Copyright (C) 2004-2005, International Business Machines Corporation and         *
+* others. All Rights Reserved.                                                *
+*******************************************************************************
+*/
+
+/**
+ * Generate a list of ICU's public APIs, sorted by qualified name and signature
+ * public APIs are all non-internal, non-package apis in com.ibm.icu.[lang|math|text|util].
+ * For each API, list
+ * - public, package, protected, or private (PB PK PT PR)
+ * - static or non-static (STK NST)
+ * - final or non-final (FN NF)
+ * - synchronized or non-synchronized (SYN NSY)
+ * - stable, draft, deprecated, obsolete (ST DR DP OB)
+ * - abstract or non-abstract (AB NA)
+ * - constructor, member, field (C M F)
+ *
+ * Requires JDK 1.4.2 or later
+ * 
+ * Sample invocation:
+ * c:/j2sdk1.4.2/bin/javadoc 
+ *   -classpath c:/jd2sk1.4.2/lib/tools.jar 
+ *   -doclet com.ibm.icu.dev.tool.docs.CheckAPI 
+ *   -docletpath c:/doug/cvsproj/icu4j/src 
+ *   -sourcepath c:/eclipse2.1/workspace2/icu4j/src 
+ *   -compare c:/doug/cvsproj/icu4j/src/com/ibm/icu/dev/tool/docs/api2_6_1.txt 
+ *   -output foo 
+ *   com.ibm.icu.text
+ *
+ * todo: separate generation of data files (which requires taglet) from 
+ * comparison and report generation (which does not require it)
+ * todo: provide command-line control of filters of which subclasses/packages to process
+ * todo: record full inheritance heirarchy, not just immediate inheritance 
+ * todo: allow for aliasing comparisons (force (pkg.)*class to be treated as though it 
+ * were in a different pkg/class heirarchy (facilitates comparison of icu4j and java)
+ */
+
+package com.ibm.icu.dev.tool.docs;
+
+import com.sun.javadoc.*;
+import java.io.*;
+import java.util.*;
+
+public class CheckAPI {
+    RootDoc root;
+    String compare; // file
+    String compareName;
+    TreeSet compareSet;
+    TreeSet results;
+    boolean html;
+    String srcName = "Current"; // default source name
+    String output;
+    
+    private static final int DATA_FILE_VERSION = 1;
+    private static final char SEP = ';';
+
+    private static final int STA = 0, STA_DRAFT = 0, STA_STABLE = 1, STA_DEPRECATED = 2, STA_OBSOLETE = 3;
+    private static final int VIS = 1, VIS_PACKAGE = 0, VIS_PUBLIC= 1, VIS_PROTECTED = 2, VIS_PRIVATE = 3;
+    private static final int STK = 2, STK_STATIC = 1;
+    private static final int FIN = 3, FIN_FINAL = 1;
+    private static final int SYN = 4, SYN_SYNCHRONIZED = 1;
+    private static final int ABS = 5, ABS_ABSTRACT = 1;
+    private static final int CAT = 6, CAT_CLASS = 0, CAT_FIELD = 1, CAT_CONSTRUCTOR = 2, CAT_METHOD = 3;
+    private static final int PAK = 7;
+    private static final int CLS = 8;
+    private static final int NAM = 9;
+    private static final int SIG = 10;
+    private static final int EXC = 11;
+    private static final int NUM_TYPES = 11;
+
+    static abstract class APIInfo {
+        public abstract int getVal(int typ);
+        public abstract String get(int typ, boolean brief);
+        public abstract void write(BufferedWriter w, boolean brief, boolean html, boolean detail);
+    }
+        
+    final static class Info extends APIInfo {
+        private int    info;
+        private String pack; // package
+        private String cls; // enclosing class
+        private String name; // name
+        private String sig;  // signature, class: inheritance, method: signature, field: type, const: signature
+        private String exc;  // throws 
+        
+        public int getVal(int typ) {
+            validateType(typ);
+            return (info >> (typ*2)) & 0x3;
+        }
+
+        public String get(int typ, boolean brief) {
+            validateType(typ);
+            String[] vals = brief ? shortNames[typ] : names[typ];
+            if (vals == null) {
+                switch (typ) {
+                case PAK: return pack;
+                case CLS: return cls;
+                case NAM: return name;
+                case SIG: return sig;
+                case EXC: return exc;
+                }
+            }
+            int val = (info >> (typ*2)) & 0x3;
+            return vals[val];
+        }
+
+        private void setType(int typ, int val) {
+            validateType(typ);
+            info &= ~(0x3 << (typ*2));
+            info |= (val&0x3) << (typ * 2);
+        }
+
+        private void setType(int typ, String val) {
+            validateType(typ);
+            String[] vals = shortNames[typ];
+            if (vals == null) {
+                switch (typ) {
+                case PAK: pack = val; break;
+                case CLS: cls = val; break;
+                case NAM: name = val; break;
+                case SIG: sig = val; break;
+                case EXC: exc = val; break;
+                }
+                return;
+            }
+
+            for (int i = 0; i < vals.length; ++i) {
+                if (val.equalsIgnoreCase(vals[i])) {
+                    info &= ~(0x3 << (typ*2));
+                    info |= i << (typ*2);
+                    return;
+                }
+            }
+
+            throw new IllegalArgumentException("unrecognized value '" + val + "' for type '" + typeNames[typ] + "'");
+        }
+
+        public void write(BufferedWriter w, boolean brief, boolean html, boolean detail) {
+            try {
+                if (brief) {
+                    for (int i = 0; i < NUM_TYPES; ++i) {
+                        String s = get(i, true);
+                        if (s != null) {
+                            w.write(s);
+                        }
+                        w.write(SEP);
+                    }
+                } else {
+                    // remove all occurrences of icu packages from the param string
+                    // fortunately, all the packages have 4 chars (lang, math, text, util).
+                    String xsig = sig;
+                    if (!detail) {
+                        final String ICUPACK = "com.ibm.icu.";
+                        StringBuffer buf = new StringBuffer();
+                        for (int i = 0; i < sig.length();) {
+                            int n = sig.indexOf(ICUPACK, i);
+                            if (n == -1) {
+                                buf.append(sig.substring(i));
+                                break;
+                            }
+                            buf.append(sig.substring(i, n));
+                            i = n + ICUPACK.length() + 5; // trailing 'xxxx.'
+                        }
+                        xsig = buf.toString();
+                    }
+
+                    // construct signature
+                    for (int i = STA; i < CAT; ++i) { // include status
+                        String s = get(i, false);
+                        if (s != null && s.length() > 0) {
+                            if (i == STA) {
+                                w.write('(');
+                                w.write(s);
+                                w.write(')');
+                            } else {
+                                w.write(s);
+                            }
+                            w.write(' ');
+                        }
+                    }
+
+                    int val = getVal(CAT);
+                    switch (val) {
+                    case CAT_CLASS:
+                        if (sig.indexOf("extends") == -1) {
+                            w.write("interface ");
+                        } else {
+                            w.write("class ");
+                        }
+                        if (cls.length() > 0) {
+                            w.write(cls);
+                            w.write('.');
+                        }
+                        w.write(name);
+                        if (detail) {
+                            w.write(' ');
+                            w.write(sig);
+                        }
+                        break;
+
+                    case CAT_FIELD:
+                        w.write(xsig);
+                        w.write(' ');
+                        w.write(name);
+                        break;
+
+                    case CAT_METHOD:
+                    case CAT_CONSTRUCTOR:
+                        int n = xsig.indexOf('(');
+                        if (n > 0) {
+                            w.write(xsig.substring(0, n));
+                            w.write(' ');
+                        } else {
+                            n = 0;
+                        }
+                        w.write(name);
+                        w.write(xsig.substring(n));
+                        break;
+                    }
+                }
+                w.newLine();
+            }
+            catch (IOException e) {
+                RuntimeException re = new RuntimeException("IO Error");
+                re.initCause(e);
+                throw re;
+            }
+        }
+
+        public boolean read(BufferedReader r) {
+            int i = 0;
+            try {
+                for (; i < NUM_TYPES; ++i) {
+                    setType(i, readToken(r));
+                }
+                r.readLine(); // swallow line end sequence
+            }
+            catch (IOException e) {
+                if (i == 0) { // assume if first read returns error, we have reached end of input
+                    return false;
+                }
+                RuntimeException re = new RuntimeException("IO Error");
+                re.initCause(e);
+                throw re;
+            }
+
+            return true;
+        }
+
+        public boolean read(ProgramElementDoc doc) {
+
+            // Doc. name
+            // Doc. isField, isMethod, isConstructor, isClass, isInterface
+            // ProgramElementDoc. containingClass, containingPackage
+            // ProgramElementDoc. isPublic, isProtected, isPrivate, isPackagePrivate
+            // ProgramElementDoc. isStatic, isFinal
+            // MemberDoc.isSynthetic
+            // ExecutableMemberDoc isSynchronized, signature
+            // Type.toString() // e.g. "String[][]"
+            // ClassDoc.isAbstract, superClass, interfaces, fields, methods, constructors, innerClasses
+            // FieldDoc type
+            // ConstructorDoc qualifiedName
+            // MethodDoc isAbstract, returnType
+
+            
+            // status
+            setType(STA, tagStatus(doc));
+
+            // visibility
+            if (doc.isPublic()) {
+                setType(VIS, VIS_PUBLIC);
+            } else if (doc.isProtected()) {
+                setType(VIS, VIS_PROTECTED);
+            } else if (doc.isPrivate()) {
+                setType(VIS, VIS_PRIVATE);
+            } else {
+                // default is package
+            }
+
+            // static
+            if (doc.isStatic()) {
+                setType(STK, STK_STATIC);
+            } else {
+                // default is non-static
+            }
+
+            // final
+            if (doc.isFinal()) {
+                setType(FIN, FIN_FINAL);
+            } else {
+                // default is non-final
+            }
+
+            // type
+            if (doc.isField()) {
+                setType(CAT, CAT_FIELD);
+            } else if (doc.isMethod()) {
+                setType(CAT, CAT_METHOD);
+            } else if (doc.isConstructor()) {
+                setType(CAT, CAT_CONSTRUCTOR);
+            } else if (doc.isClass() || doc.isInterface()) {
+                setType(CAT, CAT_CLASS);
+            }
+
+            setType(PAK, doc.containingPackage().name());
+            setType(CLS, (doc.isClass() || doc.isInterface() || (doc.containingClass() == null)) ? "" : doc.containingClass().name());
+            setType(NAM, doc.name());
+
+            if (doc instanceof FieldDoc) {
+                FieldDoc fdoc = (FieldDoc)doc;
+                setType(SIG, fdoc.type().toString());
+            } else if (doc instanceof ClassDoc) {
+                ClassDoc cdoc = (ClassDoc)doc;
+
+                if (cdoc.isClass() && cdoc.isAbstract()) { // interfaces are abstract by default, don't mark them as abstract
+                    setType(ABS, ABS_ABSTRACT);
+                }
+
+                StringBuffer buf = new StringBuffer();
+                if (cdoc.isClass()) {
+                    buf.append("extends ");
+                    buf.append(cdoc.superclass().qualifiedName());
+                }
+                ClassDoc[] imp = cdoc.interfaces();
+                if (imp != null && imp.length > 0) {
+                    if (buf.length() > 0) {
+                        buf.append(" ");
+                    }
+                    buf.append("implements");
+                    for (int i = 0; i < imp.length; ++i) {
+                        if (i != 0) {
+                            buf.append(",");
+                        }
+                        buf.append(" ");
+                        buf.append(imp[i].qualifiedName());
+                    }
+                }
+                setType(SIG, buf.toString());
+            } else {
+                ExecutableMemberDoc emdoc = (ExecutableMemberDoc)doc;
+                if (emdoc.isSynchronized()) {
+                    setType(SYN, SYN_SYNCHRONIZED);
+                }
+
+                if (doc instanceof MethodDoc) {
+                    MethodDoc mdoc = (MethodDoc)doc;
+                    if (mdoc.isAbstract()) {
+                        setType(ABS, ABS_ABSTRACT);
+                    }
+                    setType(SIG, mdoc.returnType().toString() + emdoc.signature());
+                } else {
+                    // constructor
+                    setType(SIG, emdoc.signature());
+                }
+            }
+
+            return true;
+        }
+
+        public static Comparator defaultComparator() {
+            final Comparator c = new Comparator() {
+                    public int compare(Object lhs, Object rhs) {
+                        Info lhi = (Info)lhs;
+                        Info rhi = (Info)rhs;
+                        int result = lhi.pack.compareTo(rhi.pack);
+                        if (result == 0) {
+                            result = (lhi.getVal(CAT) == CAT_CLASS ? lhi.name : lhi.cls)
+                                .compareTo(rhi.getVal(CAT) == CAT_CLASS ? rhi.name : rhi.cls);
+                            if (result == 0) {
+                                result = lhi.getVal(CAT)- rhi.getVal(CAT);
+                                if (result == 0) {
+                                    result = lhi.name.compareTo(rhi.name);
+                                    if (result == 0) {
+                                        result = lhi.sig.compareTo(rhi.sig);
+                                    }
+                                }
+                            }
+                        }
+                        return result;
+                    }
+                };
+            return c;
+        }
+
+        public static Comparator changedComparator() {
+            final Comparator c = new Comparator() {
+                    public int compare(Object lhs, Object rhs) {
+                        Info lhi = (Info)lhs;
+                        Info rhi = (Info)rhs;
+                        int result = lhi.pack.compareTo(rhi.pack);
+                        if (result == 0) {
+                            result = (lhi.getVal(CAT) == CAT_CLASS ? lhi.name : lhi.cls)
+                                .compareTo(rhi.getVal(CAT) == CAT_CLASS ? rhi.name : rhi.cls);
+                            if (result == 0) {
+                                result = lhi.getVal(CAT)- rhi.getVal(CAT);
+                                if (result == 0) {
+                                    result = lhi.name.compareTo(rhi.name);
+                                    if (result == 0 && lhi.getVal(CAT) != CAT_CLASS) {
+                                        result = lhi.sig.compareTo(rhi.sig);
+                                    }
+                                }
+                            }
+                        }
+                        return result;
+                    }
+                };
+            return c;
+        }
+
+        public static Comparator classFirstComparator() {
+            final Comparator c = new Comparator() {
+                    public int compare(Object lhs, Object rhs) {
+                        Info lhi = (Info)lhs;
+                        Info rhi = (Info)rhs;
+                        int result = lhi.pack.compareTo(rhi.pack);
+                        if (result == 0) {
+                            boolean lcls = lhi.getVal(CAT) == CAT_CLASS;
+                            boolean rcls = rhi.getVal(CAT) == CAT_CLASS;
+                            result = lcls == rcls ? 0 : (lcls ? -1 : 1);
+                            if (result == 0) {
+                                result = (lcls ? lhi.name : lhi.cls).compareTo(rcls ? rhi.name : rhi.cls);
+                                if (result == 0) {
+                                    result = lhi.getVal(CAT)- rhi.getVal(CAT);
+                                    if (result == 0) {
+                                        result = lhi.name.compareTo(rhi.name);
+                                        if (result == 0 && !lcls) {
+                                            result = lhi.sig.compareTo(rhi.sig);
+                                        }
+                                    }
+                                }
+                            }
+                        }
+                        return result;
+                    }
+                };
+            return c;
+        }
+
+        private static final String[] typeNames = {
+            "status", "visibility", "static", "final", "synchronized", 
+            "abstract", "category", "package", "class", "name", "signature"
+        };
+
+        private static final String[][] names = {
+            { "draft     ", "stable    ", "deprecated", "obsolete  " },
+            { "package", "public", "protected", "private" },
+            { "", "static" },
+            { "", "final" },
+            { "", "synchronized" },
+            { "", "abstract" },
+            { "class", "field", "constructor", "method"  },
+            null,
+            null,
+            null,
+            null,
+            null
+        };
+
+        private static final String[][] shortNames = {
+            { "DR", "ST", "DP", "OB" },
+            { "PK", "PB", "PT", "PR" },
+            { "NS", "ST" },
+            { "NF", "FN" },
+            { "NS", "SY" },
+            { "NA", "AB" },
+            { "L", "F", "C", "M" },
+            null,
+            null,
+            null,
+            null,
+            null
+        };
+
+        private static void validateType(int typ) {
+            if (typ < 0 || typ > NUM_TYPES) {
+                throw new IllegalArgumentException("bad type index: " + typ);
+            }
+        }
+
+        public String toString() {
+            return get(NAM, true);
+        }
+    }
+
+    static final class DeltaInfo extends APIInfo {
+        private Info a;
+        private Info b;
+
+        DeltaInfo(Info a, Info b) {
+            this.a = a;
+            this.b = b;
+        }
+
+        public int getVal(int typ) {
+            return a.getVal(typ);
+        }
+
+        public String get(int typ, boolean brief) {
+            return a.get(typ, brief);
+        }
+
+        public void write(BufferedWriter w, boolean brief, boolean html, boolean detail) {
+            a.write(w, brief, html, detail);
+            try {
+                if (html) {
+                    w.write("<br>");
+                }
+                w.newLine();
+            } 
+            catch (Exception e) {
+            }
+            b.write(w, brief, html, detail);
+        }
+
+        public String toString() {
+            return a.get(NAM, true);
+        }
+    }
+
+    public static int optionLength(String option) {
+        if (option.equals("-html")) {
+            return 1;
+        } else if (option.equals("-name")) {
+            return 2;
+        } else if (option.equals("-output")) {
+            return 2;
+        } else if (option.equals("-compare")) {
+            return 2;
+        }
+        return 0;
+    }
+
+    public static boolean start(RootDoc root) {
+        return new CheckAPI(root).run();
+    }
+
+    CheckAPI(RootDoc root) {
+        this.root = root;
+
+        //      this.compare = "c:/doug/cvsproj/icu4j/src/com/ibm/icu/dev/tool/docs/api2_8.txt";
+
+        String[][] options = root.options();
+        for (int i = 0; i < options.length; ++i) {
+            String opt = options[i][0];
+            if (opt.equals("-html")) {
+                this.html = true;
+            } else if (opt.equals("-name")) {
+                this.srcName = options[i][1];
+            } else if (opt.equals("-output")) {
+                this.output = options[i][1];
+            } else if (opt.equals("-compare")) {
+                this.compare = options[i][1];
+            }
+        }
+
+        if (compare != null) {
+            try {
+                // URL url = new URL(compare);
+                File f = new File(compare);
+                InputStream is = new FileInputStream(f);
+                InputStreamReader isr = new InputStreamReader(is);
+                BufferedReader br = new BufferedReader(isr);
+
+                // read header line
+                int version = Integer.parseInt(readToken(br));
+                // check version if we change it later, probably can just rebuild though
+                this.compareName = readToken(br);
+                br.readLine();
+
+                // read data
+                this.compareSet = new TreeSet(Info.defaultComparator());
+                for (Info info = new Info(); info.read(br); info = new Info()) {
+                    compareSet.add(info);
+                }
+            }
+            catch (Exception e) {
+                RuntimeException re = new RuntimeException("error reading " + compare);
+                re.initCause(e);
+                throw re;
+            }
+        }
+            
+        results = new TreeSet(Info.defaultComparator());
+    }
+
+    private boolean run() {
+        doDocs(root.classes());
+
+        OutputStream os = System.out;
+        if (output != null) {
+            try {
+                os = new FileOutputStream(output);
+            }
+            catch (FileNotFoundException e) {
+                RuntimeException re = new RuntimeException(e.getMessage());
+                re.initCause(e);
+                throw re;
+            }
+        }
+
+        BufferedWriter bw = null;
+        try {
+            OutputStreamWriter osw = new OutputStreamWriter(os, "UTF-8");
+            bw = new BufferedWriter(osw);
+
+            if (compareSet == null) {
+                // writing data file
+                bw.write(String.valueOf(DATA_FILE_VERSION) + SEP); // header version
+                bw.write(srcName + SEP); // source name
+                bw.newLine();
+                writeResults(results, bw, true, false, false);
+            } else {
+                // writing comparison info
+                TreeSet removed = (TreeSet)compareSet.clone();
+                removed.removeAll(results);
+
+                TreeSet added = (TreeSet)results.clone();
+                added.removeAll(compareSet);
+
+                Iterator ai = added.iterator();
+                Iterator ri = removed.iterator();
+                ArrayList changed = new ArrayList();
+                Comparator c = Info.changedComparator();
+                Info a = null, r = null;
+                while (ai.hasNext() && ri.hasNext()) {
+                    if (a == null) a = (Info)ai.next();
+                    if (r == null) r = (Info)ri.next();
+                    int result = c.compare(a, r);
+                    if (result < 0) {
+                        a = null;
+                    } else if (result > 0) {
+                        r = null;
+                    } else {
+                        changed.add(new DeltaInfo(a, r));
+                        a = null; ai.remove();
+                        r = null; ri.remove();
+                    }
+                }
+
+                added = stripAndResort(added);
+                removed = stripAndResort(removed);
+
+                if (html) {
+                    String title = "ICU4J API Comparison: " + srcName + " with " + compareName;
+
+                    bw.write("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
+                    bw.newLine();
+                    bw.write("<html>");
+                    bw.newLine();
+                    bw.write("<head>");
+                    bw.newLine();
+                    bw.write("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">");
+                    bw.newLine();
+                    bw.write("<title>");
+                    bw.write(title);
+                    bw.write("</title>");
+                    bw.newLine();
+                    bw.write("<body>");
+                    bw.newLine();
+
+                    bw.write("<h1>");
+                    bw.write(title);
+                    bw.write("</h1>");
+                    bw.newLine();
+
+                    bw.write("<hr/>");
+                    bw.newLine();
+                    bw.write("<h2>");
+                    bw.write("Removed from " + compareName);
+                    bw.write("</h2>");
+                    bw.newLine();
+
+                    if (removed.size() > 0) {
+                        writeResults(removed, bw, false, true, false);
+                    } else {
+                        bw.write("<p>(no API removed)</p>");
+                    }
+                    bw.newLine();
+
+                    bw.write("<hr/>");
+                    bw.newLine();
+                    bw.write("<h2>");
+                    bw.write("Changed in " + srcName);
+                    bw.write("</h2>");
+                    bw.newLine();
+
+                    if (changed.size() > 0) {
+                        writeResults(changed, bw, false, true, true);
+                    } else {
+                        bw.write("<p>(no API changed)</p>");
+                    }
+                    bw.newLine();
+
+                    bw.write("<hr/>");
+                    bw.newLine();
+                    bw.write("<h2>");
+                    bw.write("Added in " + srcName);
+                    bw.write("</h2>");
+                    bw.newLine();
+
+                    if (added.size() > 0) {
+                        writeResults(added, bw, false, true, false);
+                    } else {
+                        bw.write("<p>(no API added)</p>");
+                    }
+                    bw.write("<hr/>");
+                    bw.newLine();
+                    bw.write("<p><i>Contents generated by CheckAPI tool.<br/>Copyright (C) 2004, International Business Machines Corporation, All Rights Reserved.</i></p>");
+                    bw.newLine();
+                    bw.write("</body>");
+                    bw.newLine();
+                    bw.write("</html>");
+                    bw.newLine();
+                } else {
+                    bw.write("Comparing " + srcName + " with " + compareName);
+                    bw.newLine();
+                    bw.newLine();
+
+                    bw.newLine();
+                    bw.write("=== Removed from " + compareName + " ===");
+                    bw.newLine();
+                    if (removed.size() > 0) {
+                        writeResults(removed, bw, false, false, false);
+                    } else {
+                        bw.write("(no API removed)");
+                    }
+                    bw.newLine();
+
+                    bw.newLine();
+                    bw.write("=== Changed in " + srcName + " ===");
+                    bw.newLine();
+                    if (changed.size() > 0) {
+                        writeResults(changed, bw, false, false, true);
+                    } else {
+                        bw.write("(no API changed)");
+                    }
+                    bw.newLine();
+
+                    bw.newLine();
+                    bw.write("=== Added in " + srcName + " ===");
+                    bw.newLine();
+                    if (added.size() > 0) {
+                        writeResults(added, bw, false, false, false);
+                    } else {
+                        bw.write("(no API added)");
+                    }
+                    bw.newLine();
+                }
+            }
+
+            bw.close();
+        } catch (IOException e) {
+            try { bw.close(); } catch (IOException e2) {}
+            RuntimeException re = new RuntimeException("write error: " + e.getMessage());
+            re.initCause(e);
+            throw re;
+        }
+
+        return false;
+    }
+
+    private void doDocs(ProgramElementDoc[] docs) {
+        if (docs != null && docs.length > 0) {
+            for (int i = 0; i < docs.length; ++i) {
+                doDoc(docs[i]);
+            }
+        }
+    }
+
+    private void doDoc(ProgramElementDoc doc) {
+        if (ignore(doc)) return;
+
+        if (doc.isClass() || doc.isInterface()) {
+            ClassDoc cdoc = (ClassDoc)doc;
+            doDocs(cdoc.fields());
+            doDocs(cdoc.constructors());
+            doDocs(cdoc.methods());
+            doDocs(cdoc.innerClasses());
+        }
+
+        Info info = new Info();
+        if (info.read(doc)) {
+            results.add(info);
+        }
+    }
+
+    private boolean ignore(ProgramElementDoc doc) {
+        if (doc == null) return true;
+        if (doc.isPrivate() || doc.isPackagePrivate()) return true;
+        if (doc instanceof ConstructorDoc && ((ConstructorDoc)doc).isSynthetic()) return true;
+        if (doc.qualifiedName().indexOf(".misc") != -1) return true;
+        Tag[] tags = doc.tags();
+        for (int i = 0; i < tags.length; ++i) {
+            if (tagKindIndex(tags[i].kind()) == INTERNAL) return true;
+        }
+
+        return false;
+    }
+
+    private static void writeResults(Collection c, BufferedWriter w, boolean brief, boolean html, boolean detail) {
+        Iterator iter = c.iterator();
+        String pack = null;
+        String clas = null;
+        while (iter.hasNext()) {
+            APIInfo info = (APIInfo)iter.next();
+            if (brief) {
+                info.write(w, brief, false, detail);
+            } else {
+                try {
+                    String p = info.get(PAK, true);
+                    if (!p.equals(pack)) {
+                        w.newLine();
+                        if (html) {
+                            if (clas != null) {
+                                w.write("</ul>");
+                                w.newLine();
+                            }
+                            if (pack != null) {
+                                w.write("</ul>");
+                                w.newLine();
+                            }
+                            
+                            w.write("<h3>Package ");
+                            w.write(p);
+                            w.write("</h3>");
+                            w.newLine();
+                            w.write("<ul>");
+                            w.newLine();
+                        } else {
+                            w.write("Package ");
+                            w.write(p);
+                            w.write(':');
+                        }
+                        w.newLine();
+                        w.newLine();
+                        
+                        pack = p;
+                        clas = null;
+                    }
+
+                    if (info.getVal(CAT) != CAT_CLASS) {
+                        String name = info.get(CLS, true);
+                        if (!name.equals(clas)) {
+                            if (html) {
+                                if (clas != null) {
+                                    w.write("</ul>");
+                                }
+                                w.write("<li>");
+                                w.write(name);
+                                w.newLine();
+                                w.write("<ul>");
+                            } else {
+                                w.write(name);
+                                w.newLine();
+                            }
+                            clas = name;
+                        }
+                        w.write("    ");
+                    }
+                    if (html) {
+                        w.write("<li>");
+                        info.write(w, brief, html, detail);
+                        w.write("</li>");
+                    } else {
+                        info.write(w, brief, html, detail);
+                    }
+                }
+                catch (IOException e) {
+                    System.err.println("IOException " + e.getMessage() + " writing " + info);
+                }
+            }
+        }
+        if (html) {
+            try {
+                if (clas != null) {
+                    w.write("</ul>");
+                    w.newLine();
+                }
+                if (pack != null) {
+                    w.write("</ul>");
+                    w.newLine();
+                }
+            } 
+            catch (IOException e) {
+            }
+        }
+    }
+
+    private static String readToken(BufferedReader r) throws IOException {
+        char[] buf = new char[256];
+        int i = 0;
+        for (; i < buf.length; ++i) {
+            int c = r.read();
+            if (c == -1) {
+                throw new IOException("unexpected EOF");
+            } else if (c == SEP) {
+                break;
+            }
+            buf[i] = (char)c;
+        }
+        if (i == buf.length) {
+            throw new IOException("unterminated token" + new String(buf));
+        }
+            
+        return new String(buf, 0, i);
+    }
+
+    private static TreeSet stripAndResort(TreeSet t) {
+        stripClassInfo(t);
+        TreeSet r = new TreeSet(Info.classFirstComparator());
+        r.addAll(t);
+        return r;
+    }
+
+    private static void stripClassInfo(Collection c) {
+        // c is sorted with class info first
+        Iterator iter = c.iterator();
+        String cname = null;
+        while (iter.hasNext()) {
+            Info info = (Info)iter.next();
+            String cls = info.get(CLS, true);
+            if (cname != null) {
+                if (cname.equals(cls)) {
+                    iter.remove();
+                    continue;
+                }
+                cname = null;
+            } 
+            if (info.getVal(CAT) == CAT_CLASS) {
+                cname = info.get(NAM, true);
+            }
+        }
+    }
+
+    private static int tagStatus(final Doc doc) {
+        class Result {
+            int res = -1;
+            void set(int val) { if (res != -1) throw new RuntimeException("bad doc: " + doc); res = val; }
+            int get() {
+                if (res == -1) {
+                    System.err.println("warning: no tag for " + doc);
+                    return 0;
+                }
+                return res;
+            }
+        }
+
+        Tag[] tags = doc.tags();
+        Result result = new Result();
+        for (int i = 0; i < tags.length; ++i) {
+            Tag tag = tags[i];
+
+            String kind = tag.kind();
+            int ix = tagKindIndex(kind);
+
+            switch (ix) {
+            case INTERNAL:
+                result.set(-2);
+                break;
+
+            case DRAFT:
+                result.set(STA_DRAFT);
+                break;
+
+            case STABLE:
+                result.set(STA_STABLE);
+                break;
+
+            case DEPRECATED:
+                result.set(STA_DEPRECATED);
+                break;
+
+            case OBSOLETE:
+                result.set(STA_OBSOLETE);
+                break;
+
+            case SINCE:
+            case EXCEPTION:
+            case VERSION:
+            case UNKNOWN:
+            case AUTHOR:
+            case SEE:
+            case PARAM:
+            case RETURN:
+            case THROWS:
+            case SERIAL:
+                break;
+
+            default:
+                throw new RuntimeException("unknown index " + ix + " for tag: " + kind);
+            }
+        }
+
+        return result.get();
+    }
+
+    private static final int UNKNOWN = -1;
+    private static final int INTERNAL = 0;
+    private static final int DRAFT = 1;
+    private static final int STABLE = 2;
+    private static final int SINCE = 3;
+    private static final int DEPRECATED = 4;
+    private static final int AUTHOR = 5;
+    private static final int SEE = 6;
+    private static final int VERSION = 7;
+    private static final int PARAM = 8;
+    private static final int RETURN = 9;
+    private static final int THROWS = 10;
+    private static final int OBSOLETE = 11;
+    private static final int EXCEPTION = 12;
+    private static final int SERIAL = 13;
+
+    private static int tagKindIndex(String kind) {
+        final String[] tagKinds = {
+            "@internal", "@draft", "@stable", "@since", "@deprecated", "@author", "@see", "@version",
+            "@param", "@return", "@throws", "@obsolete", "@exception", "@serial"
+        };
+
+        for (int i = 0; i < tagKinds.length; ++i) {
+            if (kind.equals(tagKinds[i])) {
+                return i;
+            }
+        }
+        return UNKNOWN;
+    }
+}
diff --git a/src/com/ibm/icu/dev/tool/docs/CheckTags.java b/src/com/ibm/icu/dev/tool/docs/CheckTags.java
new file mode 100644
index 0000000..3b7eb81
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/docs/CheckTags.java
@@ -0,0 +1,415 @@
+/**
+*******************************************************************************
+* Copyright (C) 2002-2005, International Business Machines Corporation and    *
+* others. All Rights Reserved.                                                *
+*******************************************************************************
+*/
+/**
+ * This is a tool to check the tags on ICU4J files.  In particular, we're looking for:
+ *
+ * - methods that have no tags
+ * - custom tags: @draft, @stable, @internal?
+ * - standard tags: @since, @deprecated
+ *
+ * Syntax of tags:
+ * @draft ICU X.X.X
+ * @stable ICU X.X.X
+ * @internal
+ * @since  (don't use)
+ * @obsolete ICU X.X.X
+ * @deprecated to be removed in ICU X.X. [Use ...]
+ *
+ * flags names of classes and their members that have no tags or incorrect syntax.
+ *
+ * Requires JDK 1.4 or later
+ *
+ * Use build.xml 'checktags' ant target, or
+ * run from directory containing CheckTags.class as follows:
+ * javadoc -classpath ${JAVA_HOME}/lib/tools.jar -doclet CheckTags -sourcepath ${ICU4J_src} [packagenames]
+ */
+
+package com.ibm.icu.dev.tool.docs;
+
+import com.sun.javadoc.*;
+
+public class CheckTags {
+    RootDoc root;
+    boolean log;
+    boolean brief;
+    boolean isShort;
+    DocStack stack = new DocStack();
+
+    class DocNode {
+        private String header;
+        private boolean printed;
+        private boolean reportError;
+        private int errorCount;
+
+        public void reset(String header, boolean reportError) {
+            this.header = header;
+            this.printed = false;
+            this.errorCount = 0;
+            this.reportError = reportError;
+        }
+        public String toString() {
+            return header +
+                " printed: " + printed +
+                " reportError: " + reportError +
+                " errorCount: " + errorCount;
+        }
+    }
+
+    class DocStack {
+        private DocNode[] stack;
+        private int index;
+        private boolean newline;
+
+        public void push(String header, boolean reportError) {
+            if (stack == null) {
+                stack = new DocNode[5];
+            } else {
+                if (index == stack.length) {
+                    DocNode[] temp = new DocNode[stack.length * 2];
+                    System.arraycopy(stack, 0, temp, 0, index);
+                    stack = temp;
+                }
+            }
+            if (stack[index] == null) {
+                stack[index] = new DocNode();
+            }
+            //  System.out.println("reset [" + index + "] header: " + header + " report: " + reportError);
+            stack[index++].reset(header, reportError);
+        }
+
+        public void pop() {
+            if (index == 0) {
+                throw new IndexOutOfBoundsException();
+            }
+            --index;
+
+            int ec = stack[index].errorCount; // index already decremented
+            if (ec > 0 || index == 0) { // always report for outermost element
+                if (stack[index].reportError) {
+                    output("(" + ec + (ec == 1 ? " error" : " errors") + ")", false, true, index);
+                }
+
+                // propagate to parent
+                if (index > 0) {
+                    stack[index-1].errorCount += ec;
+                }
+            }
+            if (index == 0) {
+                System.out.println(); // always since we always report number of errors
+            }
+        }
+
+        public void output(String msg, boolean error, boolean newline) {
+            output(msg, error, newline, index-1);
+        }
+
+        void output(String msg, boolean error, boolean newline, int ix) {
+            DocNode last = stack[ix];
+            if (error) {
+                last.errorCount += 1;
+	    }
+
+            boolean show = !brief || last.reportError;
+            // boolean nomsg = show && brief && error;
+            //            System.out.println(">>> " + last + " error: " + error + " show: " + show + " nomsg: " + nomsg);
+
+            if (show) {
+                if (isShort || (brief && error)) {
+                    msg = null; // nuke error messages if we're brief, just report headers and totals
+                }
+                for (int i = 0; i <= ix;) {
+                    DocNode n = stack[i];
+                    if (n.printed) {
+                        if (msg != null || !last.printed) { // since index > 0 last is not null
+                            if (this.newline && i == 0) {
+                                System.out.println();
+                                this.newline = false;
+                            }
+                            System.out.print("  ");
+                        }
+                        ++i;
+                    } else {
+                        System.out.print(n.header);
+                        n.printed = true;
+                        this.newline = true;
+                        i = 0;
+                    }
+                }
+
+                if (msg != null) {
+                    if (index == 0 && this.newline) {
+                        System.out.println();
+                    }
+                    if (error) {
+                        System.out.print("*** ");
+                    }
+                    System.out.print(msg);
+                }
+            }
+
+            this.newline = newline;
+        }
+    }
+
+    public static boolean start(RootDoc root) {
+        return new CheckTags(root).run();
+    }
+
+    public static int optionLength(String option) {
+        if (option.equals("-log")) {
+            return 1;
+        } else if (option.equals("-brief")) {
+            return 1;
+        } else if (option.equals("-short")) {
+            return 1;
+        }
+        return 0;
+    }
+
+    CheckTags(RootDoc root) {
+        this.root = root;
+
+        String[][] options = root.options();
+        for (int i = 0; i < options.length; ++i) {
+            String opt = options[i][0];
+            if (opt.equals("-log")) {
+                this.log = true;
+            } else if (opt.equals("-brief")) {
+                this.brief = true;
+            } else if (opt.equals("-short")) {
+                this.isShort = true;
+            }
+        }
+    }
+
+    boolean run() {
+        doDocs(root.classes(), "Package", true);
+        return false;
+    }
+
+    static final String[] tagKinds = {
+        "@internal", "@draft", "@stable", "@since", "@deprecated", "@author", "@see", "@version",
+        "@param", "@return", "@throws", "@obsolete", "@exception", "@serial"
+    };
+
+    static final int UNKNOWN = -1;
+    static final int INTERNAL = 0;
+    static final int DRAFT = 1;
+    static final int STABLE = 2;
+    static final int SINCE = 3;
+    static final int DEPRECATED = 4;
+    static final int AUTHOR = 5;
+    static final int SEE = 6;
+    static final int VERSION = 7;
+    static final int PARAM = 8;
+    static final int RETURN = 9;
+    static final int THROWS = 10;
+    static final int OBSOLETE = 11;
+    static final int EXCEPTION = 12;
+    static final int SERIAL = 13;
+
+    static int tagKindIndex(String kind) {
+        for (int i = 0; i < tagKinds.length; ++i) {
+            if (kind.equals(tagKinds[i])) {
+                return i;
+            }
+        }
+        return UNKNOWN;
+    }
+
+    boolean newline = false;
+
+    void output(String msg, boolean error, boolean newline) {
+        stack.output(msg, error, newline);
+    }
+
+    void log() {
+        output(null, false, false);
+    }
+
+    void logln() {
+        output(null, false, true);
+    }
+
+    void log(String msg) {
+        output(msg, false, false);
+    }
+
+    void logln(String msg) {
+        output(msg, false, true);
+    }
+
+    void err(String msg) {
+        output(msg, true, false);
+    }
+
+    void errln(String msg) {
+        output(msg, true, true);
+    }
+
+    void tagErr(Tag tag) {
+        // Tag.position() requires JDK 1.4, build.xml tests for this
+        errln(tag.toString() + " [" + tag.position() + "]");
+    }
+
+    void doDocs(ProgramElementDoc[] docs, String header, boolean reportError) {
+        if (docs != null && docs.length > 0) {
+            stack.push(header, reportError);
+            for (int i = 0; i < docs.length; ++i) {
+                doDoc(docs[i]);
+            }
+            stack.pop();
+        }
+    }
+
+    void doDoc(ProgramElementDoc doc) {
+        if (doc != null && (doc.isPublic() || doc.isProtected())
+            && !(doc instanceof ConstructorDoc && ((ConstructorDoc)doc).isSynthetic())) {
+
+            // unfortunately, in JDK 1.4.1 MemberDoc.isSynthetic is not properly implemented for
+            // synthetic constructors.  So you'll have to live with spurious errors or 'implement'
+            // the synthetic constructors...
+
+            boolean isClass = doc.isClass() || doc.isInterface();
+            String header;
+            if (!isShort || isClass) {
+                header = "--- ";
+            } else {
+                header = "";
+            }
+            header += (isClass ? doc.qualifiedName() : doc.name());
+            if (doc instanceof ExecutableMemberDoc) {
+                header += ((ExecutableMemberDoc)doc).flatSignature();
+            }
+            if (!isShort || isClass) {
+                header += " ---";
+            }
+            stack.push(header, isClass);
+            if (log) {
+                logln();
+            }
+            boolean recurse = doTags(doc);
+            if (recurse && isClass) {
+                ClassDoc cdoc = (ClassDoc)doc;
+                doDocs(cdoc.fields(), "Fields", !brief);
+                doDocs(cdoc.constructors(), "Constructors", !brief);
+                doDocs(cdoc.methods(), "Methods", !brief);
+            }
+            stack.pop();
+        }
+    }
+
+    /** Return true if subelements of this doc should be checked */
+    boolean doTags(ProgramElementDoc doc) {
+        Tag[] tags = doc.tags();
+        boolean foundRequiredTag = false;
+        boolean foundDraftTag = false;
+        boolean foundDeprecatedTag = false;
+        boolean foundObsoleteTag = false;
+	boolean foundInternalTag = false;
+	boolean foundStableTag = false;
+	boolean retainAll = false;
+
+        for (int i = 0; i < tags.length; ++i) {
+            Tag tag = tags[i];
+
+            String kind = tag.kind();
+            int ix = tagKindIndex(kind);
+
+            switch (ix) {
+            case UNKNOWN:
+                errln("unknown kind: " + kind);
+                break;
+
+            case INTERNAL:
+                foundRequiredTag = true;
+		foundInternalTag = true;
+                break;
+
+            case DRAFT:
+                foundRequiredTag = true;
+                foundDraftTag = true;
+                if (tag.text().indexOf("ICU 2.8") != -1 &&
+		    tag.text().indexOf("(retain") == -1) { // catch both retain and retainAll
+                    tagErr(tag);
+                    break;
+                }
+                if (tag.text().indexOf("ICU") != 0) {
+                    tagErr(tag);
+                    break;
+                }
+		retainAll |= (tag.text().indexOf("(retainAll)") != -1);
+                break;
+
+            case DEPRECATED:
+                foundDeprecatedTag = true;
+                if (tag.text().indexOf("ICU") == 0) {
+                    foundRequiredTag = true;
+                }
+                if (tag.text().trim().length() == 0) {
+                    tagErr(tag);
+                }
+                break;
+
+            case OBSOLETE:
+                if (tag.text().indexOf("ICU") != 0) {
+                    tagErr(tag);
+                }
+                foundObsoleteTag = true;
+                foundRequiredTag = true;
+                break;
+
+            case STABLE:
+                {
+                    String text = tag.text();
+                    if (text.length() != 0 && text.indexOf("ICU") != 0) {
+                        tagErr(tag);
+                    }
+                    foundRequiredTag = true;
+		    foundStableTag = true;
+                }
+                break;
+
+            case SINCE:
+                tagErr(tag);
+                break;
+
+            case EXCEPTION:
+                logln("You really ought to use @throws, you know... :-)");
+
+            case AUTHOR:
+            case SEE:
+            case PARAM:
+            case RETURN:
+            case THROWS:
+            case SERIAL:
+                break;
+
+            case VERSION:
+                tagErr(tag);
+                break;
+
+            default:
+                errln("unknown index: " + ix);
+            }
+        }
+        if (!foundRequiredTag) {
+            errln("missing required tag [" + doc.position() + "]");
+        }
+        if (foundDraftTag && !foundDeprecatedTag) {
+            errln("draft tag missing deprecated");
+        }
+        if (foundObsoleteTag && !foundDeprecatedTag) {
+            errln("obsolete tag missing deprecated");
+        }
+	if (foundStableTag && foundDeprecatedTag) {
+	    logln("stable deprecated");
+	}
+
+	return !foundInternalTag && !retainAll;
+    }
+}
diff --git a/src/com/ibm/icu/dev/tool/docs/CodeMangler.java b/src/com/ibm/icu/dev/tool/docs/CodeMangler.java
new file mode 100644
index 0000000..91bbced
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/docs/CodeMangler.java
@@ -0,0 +1,217 @@
+/**
+*******************************************************************************
+* Copyright (C) 2004-2005, International Business Machines Corporation and         *
+* others. All Rights Reserved.                                                *
+*******************************************************************************
+*/
+
+package com.ibm.icu.dev.tool.docs;
+
+import java.io.BufferedReader;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.IOException;
+import java.io.PrintStream;
+import java.util.Map;
+import java.util.HashMap;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+/**
+ * A simple facility for adding C-like preprocessing to .java files.
+ * This only understands a subset of the C preprocessing syntax.
+ * Its used to manage files that with only small differences can be
+ * compiled for different JVMs.  Input is generally a '.jpp' file,
+ * output is a '.java' file with the same name, that can then be
+ * compiled.
+ */
+public class CodeMangler {
+    private String infile;
+    private String outfile;
+    private Map map;
+
+    private boolean verbose;
+
+    public static void main(String[] args) {
+	new CodeMangler(args).run();
+    }
+
+    private static final String usage = "Usage:\n" +
+	"-in[file] path         - read from file, otherwise read stdin\n" +
+	"-out[file] path        - write to output file, otherwise write stdout\n" +
+	"-d[efine] NAME[=VALUE] - define NAME with optional value VALUE\n" +
+	"\n" +
+	"directives in the file are one of the following:\n" +
+	"  #ifdef, #ifndef, #else, #endif, #if, #elif, #define, #undef\n" +
+	"these may optionally be preceeded by whitespace or //.\n" +
+	"#if, #elif args are of the form 'key == value' or 'key != value'\n" +
+	"only exact character match key with value is performed.\n" +
+	"#define args are 'key [==] value', the '==' is optional\n";
+
+    CodeMangler(String[] args) {
+	map = new HashMap();
+
+	String arg = null;
+	try {
+	    for (int i = 0; i < args.length; ++i) {
+		arg = args[i];
+		if (arg.startsWith("-in")) {
+		    infile = args[++i];
+		} else if (arg.startsWith("-out")) {
+		    outfile = args[++i];
+		} else if (arg.startsWith("-d")) {
+		    String id = args[++i];
+		    String val = "";
+		    int ix = id.indexOf('=');
+		    if (ix >= 0) {
+			val = id.substring(ix+1);
+			id = id.substring(0,ix);
+		    }
+		    map.put(id, val);
+		} else if (arg.startsWith("-help")) {
+		    System.out.print(usage);
+		    System.exit(0);
+		} else if (arg.startsWith("-v")) {
+		    verbose = true;
+		} else {
+		    System.err.println("Error: unrecognized argument '" + arg + "'");
+		    System.err.println(usage);
+		    System.exit(1);
+		}
+	    }
+	} catch (IndexOutOfBoundsException e) {
+	    System.err.println("Error: argument '" + arg + "' missing value");
+	    System.err.println(usage);
+	    System.exit(1);
+	}
+    }
+
+    public void run() {
+	Pattern pat = Pattern.compile(
+	    "(?i)^\\s*(?://+)??\\s*#(ifdef\\s|ifndef\\s|else|endif|undef\\s|define\\s|if\\s|elif\\s)\\s*(.*)$");
+ 	Pattern pat2 = Pattern.compile("([^=!]+)\\s*([!=]=)??\\s*(\\w+)");
+	try {
+	    PrintStream outstream = System.out;
+	    if (outfile != null) {
+		outstream = new PrintStream(new FileOutputStream(outfile));
+	    }
+
+	    InputStream instream = System.in;
+	    if (infile != null) {
+		instream = new FileInputStream(infile);
+	    }
+
+	    class State {
+		int lc;
+		String line;
+		boolean emit = true;
+		boolean tripped;
+		private State next;
+
+		public String toString() {
+		    return "line " + lc 
+			+ ": '" + line 
+			+ "' (emit: " + emit 
+			+ " tripped: " + tripped 
+			+ ")";
+		}
+
+		void trip(boolean trip) {
+		    if (!tripped & trip) {
+			tripped = true;
+			emit = next != null ? next.emit : true;
+		    } else {
+			emit = false;
+		    }
+		}
+			
+		State push(int lc, String line, boolean trip) {
+		    this.lc = lc;
+		    this.line = line;
+		    State ret = new State();
+		    ret.next = this;
+		    ret.emit = this.emit & trip;
+		    ret.tripped = trip;
+		    return ret;
+		}
+
+		State pop() {
+		    return next;
+		}
+	    }
+
+	    BufferedReader reader = new BufferedReader(new InputStreamReader(instream));
+	    String line = null;
+	    int lc = 0;
+	    State state = new State();
+	    while ((line = reader.readLine()) != null) {
+		Matcher m = pat.matcher(line);
+		if (m.find()) {
+		    String key = m.group(1).toLowerCase().trim();
+		    String val = m.group(2).trim();
+		    if (verbose) outstream.println("directive: " + line
+						   + " key: '" + key
+						   + "' val: '" + val 
+						   + "' " + state);
+		    if (key.equals("ifdef")) {
+			state = state.push(lc, line, map.get(val) != null);
+		    } else if (key.equals("ifndef")) {
+			state = state.push(lc, line, map.get(val) == null);
+		    } else if (key.equals("else")) {
+			state.trip(true);
+		    } else if (key.equals("endif")) {
+			state = state.pop();
+		    } else if (key.equals("undef")) {
+			if (state.emit) {
+			    map.remove(val);
+			}
+		    } else {
+			Matcher m2 = pat2.matcher(val);
+			if (m2.find()) {
+			    String key2 = m2.group(1).trim();
+			    boolean neq = "!=".equals(m2.group(2)); // optional
+			    String val2 = m2.group(3).trim();
+			    if (verbose) outstream.println("val2: '" + val2 
+							   + "' neq: '" + neq 
+							   + "' key2: '" + key2 
+							   + "'");
+			    if (key.equals("if")) {
+				state = state.push(lc, line, val2.equals(map.get(key2)) != neq);
+			    } else if (key.equals("elif")) {
+				state.trip(val2.equals(map.get(key2)) != neq);
+			    } else if (key.equals("define")) {
+				if (state.emit) {
+				    map.put(key2, val2);
+				}
+			    }
+			}
+		    }
+		    continue;
+		}
+
+		lc++;
+		if (state.emit) {
+		    outstream.println(line);
+		} else {
+		    if (verbose) outstream.println("skipping: " + line);
+		}
+	    }
+
+	    state = state.pop();
+	    if (state != null) {
+		System.out.println("Error: unclosed directive(s):");
+		do {
+		    System.err.println(state);
+		} while ((state = state.pop()) != null);
+	    }
+		
+	    outstream.close();
+	    instream.close();
+	}
+	catch (IOException e) {
+	    System.out.println(e);
+	}
+    }
+}
diff --git a/src/com/ibm/icu/dev/tool/docs/GatherAPIData.java b/src/com/ibm/icu/dev/tool/docs/GatherAPIData.java
new file mode 100644
index 0000000..9a59d3d
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/docs/GatherAPIData.java
@@ -0,0 +1,429 @@
+/**
+*******************************************************************************
+* Copyright (C) 2004-2005, International Business Machines Corporation and         *
+* others. All Rights Reserved.                                                *
+*******************************************************************************
+*/
+
+/**
+ * Generate a list of ICU's public APIs, sorted by qualified name and signature
+ * public APIs are all non-internal, non-package apis in com.ibm.icu.[lang|math|text|util].
+ * For each API, list
+ * - public, package, protected, or private (PB PK PT PR)
+ * - static or non-static (STK NST)
+ * - final or non-final (FN NF)
+ * - synchronized or non-synchronized (SYN NSY)
+ * - stable, draft, deprecated, obsolete (ST DR DP OB)
+ * - abstract or non-abstract (AB NA)
+ * - constructor, member, field (C M F)
+ *
+ * Requires JDK 1.4.2 or later
+ * 
+ * Sample compilation:
+ * c:/doug/java/jdk1.4.2/build/windows-i586/bin/javac *.java
+ *
+ * Sample execution
+ * c:/j2sdk1.4.2/bin/javadoc
+ *   -classpath c:/jd2sk1.4.2/lib/tools.jar 
+ *   -doclet com.ibm.icu.dev.tool.docs.GatherAPIData
+ *   -docletpath c:/doug/cvsproj/icu4j/src 
+ *   -sourcepath c:/doug/cvsproj/icu4j/src 
+ *   -name "ICU4J 3.0"
+ *   -output icu4j30.api
+ *   -gzip
+ *   -source 1.4
+ *   com.ibm.icu.lang com.ibm.icu.math com.ibm.icu.text com.ibm.icu.util
+ *
+ * todo: separate generation of data files (which requires taglet) from 
+ * comparison and report generation (which does not require it)
+ * todo: provide command-line control of filters of which subclasses/packages to process
+ * todo: record full inheritance heirarchy, not just immediate inheritance 
+ * todo: allow for aliasing comparisons (force (pkg.)*class to be treated as though it 
+ * were in a different pkg/class heirarchy (facilitates comparison of icu4j and java)
+ */
+
+package com.ibm.icu.dev.tool.docs;
+
+// standard release sdk won't work, need internal build to get access to javadoc
+import com.sun.javadoc.*;
+import java.io.*;
+import java.util.*;
+import java.util.zip.GZIPOutputStream;
+import java.util.zip.ZipEntry;
+import java.util.zip.ZipOutputStream;
+
+public class GatherAPIData {
+    RootDoc root;
+    TreeSet results;
+    String srcName = "Current"; // default source name
+    String output; // name of output file to write
+    String base; // strip this prefix
+    String filter; // filter classes by name
+    boolean zip;
+    boolean gzip;
+
+    public static int optionLength(String option) {
+        if (option.equals("-name")) {
+            return 2;
+        } else if (option.equals("-output")) {
+            return 2;
+    } else if (option.equals("-base")) {
+        return 2;
+    } else if (option.equals("-filter")) {
+        return 2;
+    } else if (option.equals("-zip")) {
+        return 1;
+    } else if (option.equals("-gzip")) {
+        return 1;
+    }
+        return 0;
+    }
+
+    public static boolean start(RootDoc root) {
+        return new GatherAPIData(root).run();
+    }
+
+    GatherAPIData(RootDoc root) {
+        this.root = root;
+
+        String[][] options = root.options();
+        for (int i = 0; i < options.length; ++i) {
+            String opt = options[i][0];
+            if (opt.equals("-name")) {
+                this.srcName = options[i][1];
+            } else if (opt.equals("-output")) {
+                this.output = options[i][1];
+            } else if (opt.equals("-base")) {
+        this.base = options[i][1]; // should not include '.'
+        } else if (opt.equals("-filter")) {
+        this.filter = options[i][1];
+        } else if (opt.equals("-zip")) {
+        this.zip = true;
+        } else if (opt.equals("-gzip")) {
+        this.gzip = true;
+        }
+        }
+
+        results = new TreeSet(APIInfo.defaultComparator());
+    }
+
+    private boolean run() {
+        doDocs(root.classes());
+
+        OutputStream os = System.out;
+        if (output != null) {
+            try {
+        if (zip) {
+            ZipOutputStream zos = new ZipOutputStream(new FileOutputStream(output + ".zip"));
+            zos.putNextEntry(new ZipEntry(output));
+            os = zos;
+        } else if (gzip) {
+            os = new GZIPOutputStream(new FileOutputStream(output + ".gz"));
+        } else {
+            os = new FileOutputStream(output);
+        }
+            }
+            catch (IOException e) {
+                RuntimeException re = new RuntimeException(e.getMessage());
+                re.initCause(e);
+                throw re;
+            }
+        }
+
+        BufferedWriter bw = null;
+        try {
+            OutputStreamWriter osw = new OutputStreamWriter(os, "UTF-8");
+            bw = new BufferedWriter(osw);
+
+        // writing data file
+        bw.write(String.valueOf(APIInfo.VERSION) + APIInfo.SEP); // header version
+        bw.write(srcName + APIInfo.SEP); // source name
+        bw.write((base == null ? "" : base) + APIInfo.SEP); // base
+        bw.newLine();
+        writeResults(results, bw);
+        bw.close(); // should flush, close all, etc
+//          if (zip) {
+//          ((ZipOutputStream)os).finish();
+//          }
+        } catch (IOException e) {
+            try { bw.close(); } catch (IOException e2) {}
+            RuntimeException re = new RuntimeException("write error: " + e.getMessage());
+            re.initCause(e);
+            throw re;
+        }
+
+        return false;
+    }
+
+    private void doDocs(ProgramElementDoc[] docs) {
+        if (docs != null && docs.length > 0) {
+            for (int i = 0; i < docs.length; ++i) {
+                doDoc(docs[i]);
+            }
+        }
+    }
+
+    private void doDoc(ProgramElementDoc doc) {
+        if (ignore(doc)) return;
+
+        if (doc.isClass() || doc.isInterface()) {
+            ClassDoc cdoc = (ClassDoc)doc;
+            doDocs(cdoc.fields());
+            doDocs(cdoc.constructors());
+            doDocs(cdoc.methods());
+            doDocs(cdoc.innerClasses());
+        }
+
+    APIInfo info = createInfo(doc);
+    if (info != null) {
+        results.add(info);
+    }
+    }
+
+    private boolean ignore(ProgramElementDoc doc) {
+        if (doc == null) return true;
+        if (doc.isPrivate() || doc.isPackagePrivate()) return true;
+        if (doc instanceof ConstructorDoc && ((ConstructorDoc)doc).isSynthetic()) return true;
+        if (doc.qualifiedName().indexOf(".misc") != -1) { System.out.println("misc: " + doc.qualifiedName()); return true; }
+        Tag[] tags = doc.tags();
+        for (int i = 0; i < tags.length; ++i) {
+            if (tagKindIndex(tags[i].kind()) == INTERNAL) return true;
+        }
+
+        return false;
+    }
+
+    private static void writeResults(Collection c, BufferedWriter w) {
+        Iterator iter = c.iterator();
+        while (iter.hasNext()) {
+            APIInfo info = (APIInfo)iter.next();
+        info.writeln(w);
+        }
+    }
+
+    private String trimBase(String arg) {
+    if (base != null) {
+        for (int n = arg.indexOf(base); n != -1; n = arg.indexOf(base, n)) {
+        arg = arg.substring(0, n) + arg.substring(n+base.length());
+        }
+    }
+    return arg;
+    }
+
+    public APIInfo createInfo(ProgramElementDoc doc) {
+
+    // Doc. name
+    // Doc. isField, isMethod, isConstructor, isClass, isInterface
+    // ProgramElementDoc. containingClass, containingPackage
+    // ProgramElementDoc. isPublic, isProtected, isPrivate, isPackagePrivate
+    // ProgramElementDoc. isStatic, isFinal
+    // MemberDoc.isSynthetic
+    // ExecutableMemberDoc isSynchronized, signature
+    // Type.toString() // e.g. "String[][]"
+    // ClassDoc.isAbstract, superClass, interfaces, fields, methods, constructors, innerClasses
+    // FieldDoc type
+    // ConstructorDoc qualifiedName
+    // MethodDoc isAbstract, returnType
+
+    APIInfo info = new APIInfo();
+            
+    // status
+    info.setType(APIInfo.STA, tagStatus(doc));
+
+    // visibility
+    if (doc.isPublic()) {
+        info.setPublic();
+    } else if (doc.isProtected()) {
+        info.setProtected();
+    } else if (doc.isPrivate()) {
+        info.setPrivate();
+    } else {
+        // default is package
+    }
+
+    // static
+    if (doc.isStatic()) {
+        info.setStatic();
+    } else {
+        // default is non-static
+    }
+
+    // final
+    if (doc.isFinal()) {
+        info.setFinal();
+    } else {
+        // default is non-final
+    }
+
+    // type
+    if (doc.isField()) {
+        info.setField();
+    } else if (doc.isMethod()) {
+        info.setMethod();
+    } else if (doc.isConstructor()) {
+        info.setConstructor();
+    } else if (doc.isClass() || doc.isInterface()) {
+        info.setClass();
+    }
+
+    info.setPackage(trimBase(doc.containingPackage().name()));
+    info.setClassName((doc.isClass() || doc.isInterface() || (doc.containingClass() == null)) 
+              ? "" 
+              : trimBase(doc.containingClass().name()));
+    info.setName(trimBase(doc.name()));
+    
+    if (doc instanceof FieldDoc) {
+        FieldDoc fdoc = (FieldDoc)doc;
+        info.setSignature(trimBase(fdoc.type().toString()));
+    } else if (doc instanceof ClassDoc) {
+        ClassDoc cdoc = (ClassDoc)doc;
+
+        if (cdoc.isClass() && cdoc.isAbstract()) { // interfaces are abstract by default, don't mark them as abstract
+        info.setAbstract();
+        }
+
+        StringBuffer buf = new StringBuffer();
+        if (cdoc.isClass()) {
+        buf.append("extends ");
+        buf.append(cdoc.superclass().qualifiedName());
+        }
+        ClassDoc[] imp = cdoc.interfaces();
+        if (imp != null && imp.length > 0) {
+        if (buf.length() > 0) {
+            buf.append(" ");
+        }
+        buf.append("implements");
+        for (int i = 0; i < imp.length; ++i) {
+            if (i != 0) {
+            buf.append(",");
+            }
+            buf.append(" ");
+            buf.append(imp[i].qualifiedName());
+        }
+        }
+        info.setSignature(trimBase(buf.toString()));
+    } else {
+        ExecutableMemberDoc emdoc = (ExecutableMemberDoc)doc;
+        if (emdoc.isSynchronized()) {
+        info.setSynchronized();
+        }
+
+        if (doc instanceof MethodDoc) {
+        MethodDoc mdoc = (MethodDoc)doc;
+        if (mdoc.isAbstract()) {
+            info.setAbstract();
+        }
+        info.setSignature(trimBase(mdoc.returnType().toString() + emdoc.signature()));
+        } else {
+        // constructor
+        info.setSignature(trimBase(emdoc.signature()));
+        }
+    }
+
+    return info;
+    }
+
+    private static int tagStatus(final Doc doc) {
+        class Result {
+            int res = -1;
+            void set(int val) { 
+                if (res != -1) {
+                    if (val == APIInfo.STA_DEPRECATED) {
+                        // ok to have both a 'standard' tag and deprecated
+                        return;
+                    } else if (res != APIInfo.STA_DEPRECATED) {
+                        // if already not deprecated, this is an error
+                        throw new RuntimeException("bad doc: " + doc + " old: " + res + " new: " + val); 
+                    }
+                }
+                // ok to replace with new tag
+                res = val;
+            }
+            int get() {
+                if (res == -1) {
+                    System.err.println("warning: no tag for " + doc);
+                    return 0;
+                }
+                return res;
+            }
+        }
+
+        Tag[] tags = doc.tags();
+        Result result = new Result();
+        for (int i = 0; i < tags.length; ++i) {
+            Tag tag = tags[i];
+
+            String kind = tag.kind();
+            int ix = tagKindIndex(kind);
+
+            switch (ix) {
+            case INTERNAL:
+                result.set(-2);
+                break;
+
+            case DRAFT:
+                result.set(APIInfo.STA_DRAFT);
+                break;
+
+            case STABLE:
+                result.set(APIInfo.STA_STABLE);
+                break;
+
+            case DEPRECATED:
+                result.set(APIInfo.STA_DEPRECATED);
+                break;
+
+            case OBSOLETE:
+                result.set(APIInfo.STA_OBSOLETE);
+                break;
+
+            case SINCE:
+            case EXCEPTION:
+            case VERSION:
+            case UNKNOWN:
+            case AUTHOR:
+            case SEE:
+            case PARAM:
+            case RETURN:
+            case THROWS:
+            case SERIAL:
+                break;
+
+            default:
+                throw new RuntimeException("unknown index " + ix + " for tag: " + kind);
+            }
+        }
+
+        return result.get();
+    }
+
+    private static final int UNKNOWN = -1;
+    private static final int INTERNAL = 0;
+    private static final int DRAFT = 1;
+    private static final int STABLE = 2;
+    private static final int SINCE = 3;
+    private static final int DEPRECATED = 4;
+    private static final int AUTHOR = 5;
+    private static final int SEE = 6;
+    private static final int VERSION = 7;
+    private static final int PARAM = 8;
+    private static final int RETURN = 9;
+    private static final int THROWS = 10;
+    private static final int OBSOLETE = 11;
+    private static final int EXCEPTION = 12;
+    private static final int SERIAL = 13;
+
+    private static int tagKindIndex(String kind) {
+        final String[] tagKinds = {
+            "@internal", "@draft", "@stable", "@since", "@deprecated", "@author", "@see", "@version",
+            "@param", "@return", "@throws", "@obsolete", "@exception", "@serial"
+        };
+
+        for (int i = 0; i < tagKinds.length; ++i) {
+            if (kind.equals(tagKinds[i])) {
+                return i;
+            }
+        }
+        return UNKNOWN;
+    }
+}
diff --git a/src/com/ibm/icu/dev/tool/docs/ICUJDKCompare.java b/src/com/ibm/icu/dev/tool/docs/ICUJDKCompare.java
new file mode 100644
index 0000000..0d6aadf
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/docs/ICUJDKCompare.java
@@ -0,0 +1,444 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2004, International Business Machines Corporation and         *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ *
+ */
+
+package com.ibm.icu.dev.tool.docs;
+
+import java.io.*;
+import java.lang.reflect.*;
+import java.util.*;
+
+/**
+ * Compare ICU4J and JDK APIS.
+ *
+ * TODO: compare protected APIs.  Reflection on Class allows you
+ * to either get all inherited methods with public access, or get methods
+ * on the particular class with any access, but no way to get all
+ * inherited methods with any access.  Go figure.
+ */
+public class ICUJDKCompare {
+    static final boolean DEBUG = false;
+
+    static final Class[] pairClasses = {
+        com.ibm.icu.lang.UCharacter.class, java.lang.Character.class,
+        com.ibm.icu.lang.UCharacter.UnicodeBlock.class, java.lang.Character.UnicodeBlock.class,
+        com.ibm.icu.text.BreakIterator.class, java.text.BreakIterator.class,
+        com.ibm.icu.text.Collator.class, java.text.Collator.class,
+        com.ibm.icu.text.DateFormat.class, java.text.DateFormat.class,
+        com.ibm.icu.text.DateFormatSymbols.class, java.text.DateFormatSymbols.class,
+        com.ibm.icu.text.DecimalFormat.class, java.text.DecimalFormat.class,
+        com.ibm.icu.text.DecimalFormatSymbols.class, java.text.DecimalFormatSymbols.class,
+        com.ibm.icu.text.UFormat.class, java.text.Format.class,
+        com.ibm.icu.text.MessageFormat.class, java.text.MessageFormat.class,
+        com.ibm.icu.text.NumberFormat.class, java.text.NumberFormat.class,
+        com.ibm.icu.text.SimpleDateFormat.class, java.text.SimpleDateFormat.class,
+        com.ibm.icu.util.Calendar.class, java.util.Calendar.class,
+        com.ibm.icu.util.Currency.class, java.util.Currency.class,
+        com.ibm.icu.util.GregorianCalendar.class, java.util.GregorianCalendar.class,
+        com.ibm.icu.util.SimpleTimeZone.class, java.util.SimpleTimeZone.class,
+        com.ibm.icu.util.TimeZone.class, java.util.TimeZone.class,
+        com.ibm.icu.util.ULocale.class, java.util.Locale.class,
+        com.ibm.icu.util.UResourceBundle.class, java.util.ResourceBundle.class
+    };
+
+    static final String[] pairs = new String[pairClasses.length];
+    static {
+        for (int i = 0; i < pairs.length; ++i) {
+            pairs[i] = pairClasses[i].getName();
+        }
+    }
+
+    public static void main(String[] args) {
+        System.out.println("ICU and Java API Comparison");
+    System.out.println("ICU Version " + com.ibm.icu.util.VersionInfo.ICU_VERSION);
+        System.out.println("JDK Version " + System.getProperty("java.version"));
+
+        for (int i = 0; i < pairs.length; i += 2) {
+            try {
+                compare(pairClasses[i], pairClasses[i+1]);
+            }
+            catch (Exception e) {
+                System.out.println("exception: " + e);
+                System.out.println("between " + pairs[i] + " and " + pairs[i+1]);
+                e.printStackTrace();
+            }
+        }
+    }
+
+    static class MorC {
+        private Method mref;
+        private Constructor cref;
+
+        MorC(Method m) {
+            mref = m;
+        }
+
+        MorC(Constructor c) {
+            cref = c;
+        }
+
+        int getModifiers() {
+            return mref == null ? cref.getModifiers() : mref.getModifiers();
+        }
+
+        Class getReturnType() {
+            return mref == null ? void.class : mref.getReturnType();
+        }
+
+        Class[] getParameterTypes() {
+            return mref == null ? cref.getParameterTypes() : mref.getParameterTypes();
+        }
+
+        String getName() {
+            return mref == null ? "<init>" : mref.getName();
+        }
+    }
+
+    static void compare(Class class1, Class class2) throws Exception {
+        String n1 = class1.getName();
+        String n2 = class2.getName();
+
+        MorC[] conss1 = getMorCArray(class1.getConstructors());
+        MorC[] conss2 = getMorCArray(class2.getConstructors());
+
+        Map cmap1 = getMethodMap(conss1);
+        Map cmap2 = getMethodMap(conss2);
+
+        MorC[] meths1 = getMorCArray(class1.getMethods());
+        MorC[] meths2 = getMorCArray(class2.getMethods());
+
+        Map map1 = getMethodMap(meths1);
+        Map map2 = getMethodMap(meths2);
+
+        Field[] fields1 = class1.getFields();
+        Field[] fields2 = class2.getFields();
+
+        Set set1 = getFieldSet(fields1);
+        Set set2 = getFieldSet(fields2);
+
+        PrintWriter pw = new PrintWriter(System.out);
+
+    Map diffConss = diffMethodMaps(cmap2, cmap1);
+    Map diffMeths = diffMethodMaps(map2, map1);
+    Set diffFields = diffFieldSets(set2, set1);
+
+    if (diffConss.size() + diffMeths.size() + diffFields.size() > 0) {
+        pw.println("\n============\nAPI in " + n2 + " missing from " + n1);
+        if (diffConss.size() > 0) {
+        pw.println("\nCONSTRUCTORS");
+        dumpMethodMap(diffConss, pw);
+        }
+        if (diffMeths.size() > 0) {
+        pw.println("\nMETHODS");
+        dumpMethodMap(diffMeths, pw);
+        }
+        if (diffFields.size() > 0) {
+        pw.println("\nFIELDS");
+        dumpFieldSet(diffFields, pw);
+        }
+    } else {
+        pw.println("\n" + n1 + " OK");
+    }
+    }
+
+    static final class MethodRecord {
+        MorC[] overrides;
+
+        MethodRecord(MorC m) {
+            overrides = new MorC[] { m };
+        }
+
+        MethodRecord(MorC[] ms) {
+            overrides = ms;
+        }
+
+        MethodRecord copy() {
+            return new MethodRecord((MorC[])overrides.clone());
+        }
+
+        int count() {
+            for (int i = 0; i < overrides.length; ++i) {
+                if (overrides[i] == null) {
+                    return i;
+                }
+            }
+            return overrides.length;
+        }
+
+        void add(MorC m) {
+            MorC[] temp = new MorC[overrides.length + 1];
+            for (int i = 0; i < overrides.length; ++i) {
+                temp[i] = overrides[i];
+            }
+            temp[overrides.length] = m;
+            overrides = temp;
+        }
+
+        void remove(int index) {
+            int i = index;
+            while (overrides[i] != null && i < overrides.length-1) {
+                overrides[i] = overrides[i+1];
+                ++i;
+            }
+            overrides[i] = null;
+        }
+
+        // if a call to a method can be handled by a call to t, remove the
+        // method from our list, and return true
+        boolean removeOverridden(MorC t) {
+            boolean result = false;
+            int i = 0;
+            while (i < overrides.length) {
+                MorC m = overrides[i];
+                if (m == null) {
+                    break;
+                }
+                if (handles(t, m)) {
+                    remove(i);
+                    result = true;
+                } else {
+                    ++i;
+                }
+            }
+            return result;
+        }
+
+        // remove all methods handled by any method of mr
+        boolean removeOverridden(MethodRecord mr) {
+            boolean result = false;
+            for (int i = 0; i < mr.overrides.length; ++i) {
+                MorC t = mr.overrides[i];
+                if (t == null) {
+                    // this shouldn't happen, as the target record should not have been modified
+                    throw new InternalError();
+                }
+                if (removeOverridden(t)) {
+                    result = true;
+                }
+            }
+            return result;
+        }
+
+        void msg(MorC t, MorC m, String msg) {
+            StringBuffer buf = new StringBuffer();
+            buf.append(t.getName());
+            buf.append(" ");
+            buf.append(msg);
+            buf.append("\n   ");
+            toString(t, buf);
+            buf.append("\n   ");
+            toString(m, buf);
+            System.out.println(buf.toString());
+        }
+
+        boolean handles(MorC t, MorC m) {
+            // relevant modifiers must match
+            if ((t.getModifiers() & MOD_MASK) != (m.getModifiers() & MOD_MASK)) {
+                if (DEBUG) msg(t, m, "modifier mismatch");
+                return false;
+            }
+
+            Class tr = pairClassEquivalent(t.getReturnType());
+            Class mr = pairClassEquivalent(m.getReturnType());
+            if (!assignableFrom(mr, tr)) { // t return type must be same or narrower than m
+                if (DEBUG) msg(t, m, "return value mismatch");
+                return false;
+            }
+            Class[] tts = t.getParameterTypes();
+            Class[] mts = m.getParameterTypes();
+            if (tts.length != mts.length) {
+                if (DEBUG) msg(t, m, "param count mismatch");
+                return false;
+            }
+
+            for (int i = 0; i < tts.length; ++i) {
+                Class tc = pairClassEquivalent(tts[i]);
+                Class mc = pairClassEquivalent(mts[i]);
+                if (!assignableFrom(tc, mc)) { // m param must be same or narrower than t
+                    if (DEBUG) msg(t, m, "parameter " + i + " mismatch, " +
+                                   tts[i].getName() + " not assignable from " + mts[i].getName());
+                    return false;
+                }
+            }
+            return true;
+        }
+
+        public void toString(MorC m, StringBuffer buf) {
+            int mod = m.getModifiers();
+            if (mod != 0) {
+                buf.append(Modifier.toString(mod) + " ");
+            }
+            buf.append(m.getReturnType().getName() + " (");
+            Class[] ptypes = m.getParameterTypes();
+            for (int j = 0; j < ptypes.length; ++j) {
+                if (j > 0) {
+                    buf.append(", ");
+                }
+                buf.append(ptypes[j].getName());
+            }
+            buf.append(')');
+        }
+
+        public String toString() {
+            StringBuffer buf = new StringBuffer();
+            buf.append(overrides[0].getName());
+            for (int i = 0; i < overrides.length; ++i) {
+                MorC m = overrides[i];
+                if (m == null) {
+                    break;
+                }
+                buf.append("\n   ");
+                toString(m, buf);
+            }
+            return buf.toString();
+        }
+    }
+
+    static MorC[] getMorCArray(Constructor[] cons) {
+        MorC[] result = new MorC[cons.length];
+        for (int i = 0 ; i < cons.length; ++i) {
+            result[i] = new MorC(cons[i]);
+        }
+        return result;
+    }
+
+    static MorC[] getMorCArray(Method[] meths) {
+        MorC[] result = new MorC[meths.length];
+        for (int i = 0 ; i < meths.length; ++i) {
+            result[i] = new MorC(meths[i]);
+        }
+        return result;
+    }
+
+    static Map getMethodMap(MorC[] meths) {
+        Map result = new TreeMap();
+        for (int i = 0; i < meths.length; ++i) {
+            MorC m = meths[i];
+            String key = m.getName();
+            MethodRecord mr = (MethodRecord)result.get(key);
+            if (mr == null) {
+                mr = new MethodRecord(m);
+                result.put(key, mr);
+            } else {
+                mr.add(m);
+            }
+        }
+        return result;
+    }
+
+    static void dumpMethodMap(Map m, PrintWriter out) {
+        Iterator iter = m.entrySet().iterator();
+        while (iter.hasNext()) {
+            MethodRecord mr = (MethodRecord)((Map.Entry)iter.next()).getValue();
+            out.println(mr);
+        }
+        out.flush();
+    }
+
+    static Map diffMethodMaps(Map m1, Map m2) {
+        // get all the methods in m1 that aren't mentioned in m2 at all
+        Map result = (Map)((TreeMap)m1).clone();
+        result.keySet().removeAll(m2.keySet());
+        return result;
+    }
+
+    static final boolean[][] assignmentMap = {
+        // bool   char   byte  short    int   long  float double   void
+        {  true, false, false, false, false, false, false, false, false }, // boolean
+        { false,  true,  true,  true, false, false, false, false, false }, // char
+        { false, false,  true, false, false, false, false, false, false }, // byte
+        { false, false,  true,  true, false, false, false, false, false }, // short
+        { false,  true,  true,  true,  true, false, false, false, false }, // int
+        { false,  true,  true,  true,  true,  true, false, false, false }, // long
+        { false,  true,  true,  true,  true, false,  true, false, false }, // float
+        { false,  true,  true,  true,  true, false,  true,  true, false }, // double
+        { false, false, false, false, false, false, false, false,  true }, // void
+    };
+
+    static final Class[] prims = {
+        boolean.class, char.class, byte.class, short.class,
+        int.class, long.class, float.class, double.class, void.class
+    };
+
+    static int primIndex(Class cls) {
+        for (int i = 0; i < prims.length; ++i) {
+            if (cls == prims[i]) {
+                return i;
+            }
+        }
+        throw new InternalError("could not find primitive class: " + cls);
+    }
+
+    static boolean assignableFrom(Class lhs, Class rhs) {
+        if (lhs == rhs) {
+            return true;
+        }
+        if (lhs.isPrimitive()) {
+            if (!rhs.isPrimitive()) {
+                return false;
+            }
+            int lhsx = primIndex(lhs);
+            int rhsx = primIndex(rhs);
+            return assignmentMap[lhsx][rhsx];
+        }
+        return lhs.isAssignableFrom(rhs);
+    }
+
+    static String toString(Field f) {
+        StringBuffer buf = new StringBuffer(f.getName());
+        int mod = f.getModifiers() & MOD_MASK;
+        if (mod != 0) {
+            buf.append(" " + Modifier.toString(mod));
+        }
+        buf.append(" " + pairEquivalent(f.getType().getName()));
+        return buf.toString();
+    }
+
+    static Set getFieldSet(Field[] fs) {
+        Set set = new TreeSet();
+        for (int i = 0; i < fs.length; ++i) {
+            set.add(toString(fs[i]));
+        }
+        return set;
+    }
+
+    static Set diffFieldSets(Set s1, Set s2) {
+        Set result = (Set)((TreeSet)s1).clone();
+        result.removeAll(s2);
+        return result;
+    }
+
+    static void dumpFieldSet(Set s, PrintWriter pw) {
+        Iterator iter = s.iterator();
+        while (iter.hasNext()) {
+            pw.println(iter.next());
+        }
+        pw.flush();
+    }
+
+    // given a target string, if it matches the first of one of our pairs, return the second
+    static String pairEquivalent(String target) {
+        for (int i = 0; i < pairs.length; i += 2) {
+            if (target.equals(pairs[i])) {
+                return pairs[i+1];
+            }
+        }
+        return target;
+    }
+
+    static Class pairClassEquivalent(Class target) {
+        for (int i = 0; i < pairClasses.length; i += 2) {
+            if (target.equals(pairClasses[i])) {
+                return pairClasses[i+1];
+            }
+        }
+        return target;
+    }
+
+    static final int MOD_MASK = ~(Modifier.FINAL|Modifier.SYNCHRONIZED|
+                                  Modifier.VOLATILE|Modifier.TRANSIENT|Modifier.NATIVE);
+}
diff --git a/src/com/ibm/icu/dev/tool/docs/ICUTaglet.jpp b/src/com/ibm/icu/dev/tool/docs/ICUTaglet.jpp
new file mode 100644
index 0000000..de4b9c3
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/docs/ICUTaglet.jpp
@@ -0,0 +1,268 @@
+/**
+*******************************************************************************
+* Copyright (C) 2002-2005, International Business Machines Corporation and    *
+* others. All Rights Reserved.                                                *
+*******************************************************************************
+*/
+
+/**
+ * Preprocess with com.ibm.icu.dev.tool.docs.CodeMangler to generate
+ * either a JDK 1.4 or JDK 1.5 version.  For the 1.5 version, define
+ * VERSION_1.5.
+ */
+
+package com.ibm.icu.dev.tool.docs;
+
+import com.sun.javadoc.*;
+import com.sun.tools.doclets.*;
+#ifdef VERSION_1.5
+
+import com.sun.tools.doclets.internal.toolkit.taglets.*;
+import com.sun.tools.doclets.internal.toolkit.taglets.Taglet;
+
+// jdk 1.5 contains both com.sun.tools.doclets.Taglet and
+// com.sun.tools.doclets.internal.toolkit.taglets.Taglet.
+// Their registration code casts to the second, not the first, and the
+// second doesn't implement the first, so if you just implement the
+// first, you die.
+#endif
+
+import java.text.BreakIterator;
+import java.util.Locale;
+import java.util.Map;
+
+public abstract class ICUTaglet implements Taglet {
+    protected final String name;
+    protected final int mask;
+
+    protected static final int MASK_FIELD = 1;
+    protected static final int MASK_CONSTRUCTOR = 2;
+    protected static final int MASK_METHOD = 4;
+    protected static final int MASK_OVERVIEW = 8;
+    protected static final int MASK_PACKAGE = 16;
+    protected static final int MASK_TYPE = 32;
+    protected static final int MASK_INLINE = 64;
+
+    protected static final int MASK_DEFAULT = 0x003f; // no inline
+    protected static final int MASK_VALID = 0x007f; // includes inline
+
+    public static void register(Map taglets) {
+        ICUInternalTaglet.register(taglets);
+        ICUDraftTaglet.register(taglets);
+        ICUStableTaglet.register(taglets);
+ #ifndef VERSION_1.5
+        ICUDeprecatedTaglet.register(taglets);
+ #endif
+        ICUObsoleteTaglet.register(taglets);
+        ICUIgnoreTaglet.register(taglets);
+    }
+
+    protected ICUTaglet(String name, int mask) {
+        this.name = name;
+        this.mask = mask & MASK_VALID;
+    }
+
+    public boolean inField() {
+        return (mask & MASK_FIELD) != 0;
+    }
+
+    public boolean inConstructor() {
+        return (mask & MASK_CONSTRUCTOR) != 0;
+    }
+
+    public boolean inMethod() {
+        return (mask & MASK_METHOD) != 0;
+    }
+
+    public boolean inOverview() {
+        return (mask & MASK_OVERVIEW) != 0;
+    }
+
+    public boolean inPackage() {
+        return (mask & MASK_PACKAGE) != 0;
+    }
+
+    public boolean inType() {
+        return (mask & MASK_TYPE) != 0;
+    }
+
+    public boolean isInlineTag() {
+        return (mask & MASK_INLINE) != 0;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public String toString(Tag tag) {
+        return tag.text();
+    }
+
+    public String toString(Tag[] tags) {
+        if (tags != null) {
+            if (tags.length > 1) {
+                String msg = "Should not have more than one ICU tag per element:\n";
+                for (int i = 0; i < tags.length; ++i) {
+                    msg += "  [" + i + "] " + tags[i] + "\n";
+                }
+                throw new InternalError(msg);
+            } else if (tags.length > 0) {
+                return toString(tags[0]);
+            }
+        }
+        return null;
+    }
+#ifdef VERSION_1.5
+
+    public TagletOutput getTagletOutput(Tag tag, TagletWriter writer) throws IllegalArgumentException {
+	TagletOutput out = writer.getTagletOutputInstance();
+	out.setOutput(toString(tag));
+	return out;
+    }
+
+    public TagletOutput getTagletOutput(Doc holder, TagletWriter writer) throws IllegalArgumentException {
+ 	TagletOutput out = writer.getTagletOutputInstance();
+	Tag[] tags = holder.tags(getName());
+	if (tags.length == 0) {
+	    return null;
+	}
+ 	out.setOutput(toString(tags[0]));
+ 	return out;
+    }
+#endif
+
+    protected static final String STATUS = "<dt><b>Status:</b></dt>";
+
+    public static class ICUInternalTaglet extends ICUTaglet {
+        private static final String NAME = "internal";
+
+        public static void register(Map taglets) {
+            taglets.put(NAME, new ICUInternalTaglet());
+        }
+
+        private ICUInternalTaglet() {
+            super(NAME, MASK_DEFAULT);
+        }
+
+        public String toString(Tag tag) {
+            return STATUS + "<dd><em>Internal</em>. <font color='red'>This API is <em>Internal Only</em> and can change at any time.</font></dd>";
+        }
+    }
+
+    public static class ICUDraftTaglet extends ICUTaglet {
+        private static final String NAME = "draft";
+
+        public static void register(Map taglets) {
+            taglets.put(NAME, new ICUDraftTaglet());
+        }
+
+        private ICUDraftTaglet() {
+            super(NAME, MASK_DEFAULT);
+        }
+
+        public String toString(Tag tag) {
+            String text = tag.text();
+            if (text.length() == 0) {
+                System.err.println("Warning: empty draft tag");
+            }
+            return STATUS + "<dd>Draft " + tag.text() + ".</dd>";
+        }
+    }
+
+    public static class ICUStableTaglet extends ICUTaglet {
+        private static final String NAME = "stable";
+
+        public static void register(Map taglets) {
+            taglets.put(NAME, new ICUStableTaglet());
+        }
+
+        private ICUStableTaglet() {
+            super(NAME, MASK_DEFAULT);
+        }
+
+        public String toString(Tag tag) {
+            String text = tag.text();
+            if (text.length() > 0) {
+                return STATUS + "<dd>Stable " + text + ".</dd>";
+            } else {
+                return STATUS + "<dd>Stable.</dd>";
+            }
+        }
+    }
+#ifndef VERSION_1.5
+
+    /*
+     * sigh, in JDK 1.5 we can't override the standard deprecated taglet
+     * so easily.  I'm not impressed with the javadoc code.
+     */
+    public static class ICUDeprecatedTaglet extends ICUTaglet {
+        private static final String NAME = "deprecated";
+
+        public static void register(Map taglets) {
+	    taglets.remove(NAME); // override standard deprecated taglet
+            taglets.put(NAME, new ICUDeprecatedTaglet());
+        }
+
+        private ICUDeprecatedTaglet() {
+            super(NAME, MASK_DEFAULT);
+        }
+
+        public String toString(Tag tag) {
+            BreakIterator bi = BreakIterator.getSentenceInstance(Locale.US);
+            String text = tag.text();
+            bi.setText(text);
+            int first = bi.first();
+            int next = bi.next();
+            if (first == -1 || next == -1) {
+                System.err.println("Warning: bad deprecated tag '" + text + "'");
+                return "<dd><em>Note</em>. " + text + "</dd>";
+            } else {
+                return "<dd><em>Note, " + text.substring(first, next) + "</em>. " + text.substring(next) + "</dd>";
+            }
+        }
+    }
+#endif
+
+    public static class ICUObsoleteTaglet extends ICUTaglet {
+        private static final String NAME = "obsolete";
+
+        public static void register(Map taglets) {
+            taglets.put(NAME, new ICUObsoleteTaglet());
+        }
+
+        private ICUObsoleteTaglet() {
+            super(NAME, MASK_DEFAULT);
+        }
+
+        public String toString(Tag tag) {
+            BreakIterator bi = BreakIterator.getSentenceInstance(Locale.US);
+            String text = tag.text();
+            bi.setText(text);
+            int first = bi.first();
+            int next = bi.next();
+            return STATUS + "<dd><em>Obsolete.</em> <font color='red'>Will be removed in " + text.substring(first, next) + "</font>. " + text.substring(next) + "</dd>";
+
+        }
+    }
+
+    public static class ICUIgnoreTaglet extends ICUTaglet {
+        private static ICUTaglet singleton;
+
+        public static void register(Map taglets) {
+            if (singleton == null) {
+                singleton = new ICUIgnoreTaglet();
+            }
+            taglets.put("bug", singleton);
+            taglets.put("test", singleton);
+            taglets.put("summary", singleton);
+        }
+
+        private ICUIgnoreTaglet() {
+            super(".ignore", MASK_DEFAULT);
+        }
+
+        public String toString(Tag tag) {
+            return null;
+        }
+    }
+}
diff --git a/src/com/ibm/icu/dev/tool/docs/README.txt b/src/com/ibm/icu/dev/tool/docs/README.txt
new file mode 100644
index 0000000..337f16b
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/docs/README.txt
@@ -0,0 +1,95 @@
+Copyright (C) 1996-2004, International Business Machines Corporation and
+others. All Rights Reserved.
+
+-------------------------------------------
+Using the GatherAPIData and ReportAPI tools
+-------------------------------------------
+
+These two tools are used together to generate reports about changes in
+supported API between versions of ICU4J.
+
+
+GatherAPIData 
+
+GatherAPIData uses javadoc to process the ICU4J source files and
+generate a file listing information about the public API, including
+the ICU4J status (draft, stable, deprecated, obsolete).  It excludes
+private API, API marked @internal.  The file is written as text, so it
+is human-readable, but it is a bit verbose.  To save space, the file
+can be zip'd or gzip'd (using flags passed to the tool), which will
+reduce the size by about a factor of 10.
+
+GatherAPIData requires javadoc and is currently based on sun jdk
+1.4.2.  JavaDoc is internal (I believe) so you need a reference jvm
+from Sun to compile the tool, but it can be run against any 1.4 JDK
+(at least, those from Sun).  Instructions in the source file show how
+it can be invoked.
+
+GatherAPIData should be passed all the packages that need reporting.
+Currently, public api is only in the lang, math, text, and util
+subpackages of com.ibm.icu.
+
+
+ReportAPI 
+
+ReportAPI takes two api files generated by GatherAPIData and reports
+on removals, changes, and additions to the API.  It does this by
+comparing the API information in the two API files.  When new classes
+are added, only the class is listed, not its entire API, and similarly
+when a class is deleted.  When APIs with the same name and signature
+are changed (visibility, status, inheritance) these changes are listed
+by showing the old and new versions of the API.
+
+ReportAPI is not particularly smart, and in particular, does not know
+about inherited API.  So for example, moving public API from a class
+to a base class is reported as a deletion of API from the original
+class, even though the effective API on the original class is
+unchanged by this.
+
+ReportAPI also does not know about Java class files, so for example it
+cannot be used to compare com.ibm.icu.lang.UCharacter against
+java.lang.Character.  This might be provided in a later release.
+
+For these reasons, in general it is best to compare two successive
+versions of ICU4J against each other, rather than radically different
+versions.  A large number of changes can show up, many of which might
+fall into these 'innocuous' categories.
+
+ReportAPI can generate either plain text or html reports.  Since it
+only requires the data files and does not rely on JavaDoc, it is more
+straightforward to invoke.
+
+ReportAPI uses the file extension to determine how to uncompress the
+api data files.  It expects '.zip' for files that have been compressed
+using zip, and '.gz' for files that have been compressed using gzip.
+The GatherAPIData utility automatically appends these extensions when
+compression is used.
+
+API Data Files
+
+API Data files for ICU4J 2.8 and 3.0 are in this directory.  The
+intent is to store data files for each release version of ICU4J, to
+facilitate comparison using the ReportAPI tool.  Of course, they can
+always be regenerated using the GenerateAPI and the sources of a
+particular ICU4J release.
+
+The format of the API data file is straightforward.  The first line of
+the file is the header, successive lines are the api information.
+Each line consists of a number of tokens, each followed by a
+semi-colon (incuding the last token on the line).
+
+The header line contains the version number, the 'name' of the version
+of ICU4J represented by the file, and a 'base directory' field
+(currently not fully implemented).
+
+The following lines contain data generated by the APIInfo class, one
+line per class or method.  The tokens are status, visibility, static,
+final, synchronized, abstract, type, package, containing class, name,
+and 'signature' (which varies by the type of object).  For classes,
+the 'signature' is the immediate inheritance of the class.  For
+fields, the 'signature' is the type of the field.  For methods, the
+'signature' is the function signature. All fields are always present.
+
+For more information, please see APIInfo.java.
+
+-------
diff --git a/src/com/ibm/icu/dev/tool/docs/ReportAPI.java b/src/com/ibm/icu/dev/tool/docs/ReportAPI.java
new file mode 100644
index 0000000..9db8241
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/docs/ReportAPI.java
@@ -0,0 +1,547 @@
+/**
+*******************************************************************************
+* Copyright (C) 2004-2005, International Business Machines Corporation and    *
+* others. All Rights Reserved.                                                *
+*******************************************************************************
+*/
+
+/**
+ * Compare two API files (generated by GatherAPIData) and generate a report
+ * on the differences.
+ *
+ * Sample invocation:
+ * java -old: icu4j28.api.zip -new: icu4j30.api -html -out: icu4j_compare_28_30.html
+ *
+ * TODO:
+ * - make 'changed apis' smarter - detect method parameter or return type change
+ *   for this, the sequential search through methods ordered by signature won't do.
+ *     We need to gather all added and removed overloads for a method, and then
+ *     compare all added against all removed in order to identify this kind of
+ *     change.
+ */
+
+package com.ibm.icu.dev.tool.docs;
+
+import java.io.*;
+import java.util.*;
+import java.text.*;
+import java.util.zip.*;
+
+public class ReportAPI {
+    APIData oldData;
+    APIData newData;
+    boolean html;
+    String outputFile;
+
+    TreeSet added;
+    TreeSet removed;
+    TreeSet promoted;
+    TreeSet obsoleted;
+    ArrayList changed;
+
+    static final class APIData {
+        private int version;
+        private String name;
+        private String base;
+        private TreeSet set;
+
+        static APIData read(BufferedReader br) {
+            try {
+                APIData data = new APIData();
+
+                data.version = Integer.parseInt(APIInfo.readToken(br)); // version
+                data.name = APIInfo.readToken(br);
+                data.base = APIInfo.readToken(br); // base
+                br.readLine();
+
+                data.set = new TreeSet(APIInfo.defaultComparator());
+                for (APIInfo info = new APIInfo(); info.read(br); info = new APIInfo()) {
+                    data.set.add(info);
+                }
+                return data;
+            }
+            catch (IOException e) {
+                RuntimeException re = new RuntimeException("error reading api data");
+                re.initCause(e);
+                throw re;
+            }
+        }
+
+        static APIData read(String fileName) {
+            try {
+                InputStream is;
+                if (fileName.endsWith(".zip")) {
+                    ZipFile zf = new ZipFile(fileName);
+                    Enumeration entryEnum = zf.entries();
+                    if (entryEnum.hasMoreElements()) {
+                        ZipEntry entry = (ZipEntry)entryEnum.nextElement();
+                        is = zf.getInputStream(entry);
+                        // we only handle one!!!
+                    } else {
+                        throw new IOException("zip file is empty");
+                    }
+                } else {
+                    File f = new File(fileName);
+                    is = new FileInputStream(f);
+                    if (fileName.endsWith(".gz")) {
+                        is = new GZIPInputStream(is);
+                    }
+                }
+                InputStreamReader isr = new InputStreamReader(is);
+                return read(new BufferedReader(isr));
+            }
+            catch (IOException e) {
+                RuntimeException re = new RuntimeException("error getting info stream: " + fileName);
+                re.initCause(e);
+                throw re;
+            }
+        }
+    }
+
+    static final class DeltaInfo extends APIInfo {
+        APIInfo added;
+        APIInfo removed;
+
+        DeltaInfo(APIInfo added, APIInfo removed) {
+            this.added = added;
+            this.removed = removed;
+        }
+
+        public int getVal(int typ) {
+            return added.getVal(typ);
+        }
+
+        public String get(int typ, boolean brief) {
+            return added.get(typ, brief);
+        }
+
+        public void print(PrintWriter pw, boolean detail, boolean html) {
+            pw.print("    ");
+            removed.print(pw, detail, html);
+            if (html) {
+                pw.println("</br>");
+            } else {
+                pw.println();
+                pw.print("--> ");
+            }
+            added.print(pw, detail, html);
+        }
+    }
+
+    public static void main(String[] args) {
+        String oldFile = null;
+        String newFile = null;
+        String outFile = null;
+        boolean html = false;
+
+        for (int i = 0; i < args.length; ++i) {
+            String arg = args[i];
+            if (arg.equals("-old:")) {
+                oldFile = args[++i];
+            } else if (arg.equals("-new:")) {
+                newFile = args[++i];
+            } else if (arg.equals("-out:")) {
+                outFile = args[++i];
+            } else if (arg.equals("-html")) {
+                html = true;
+            }
+        }
+
+        new ReportAPI(oldFile, newFile).writeReport(outFile, html);
+    }
+
+    /*
+      while the both are methods and the class and method names are the same, collect
+      overloads.  when you hit a new method or class, compare the overloads
+      looking for the same # of params and simple param changes.  ideally
+      there are just a few.
+
+      String oldA = null;
+      String oldR = null;
+      if (!a.isMethod()) {
+      remove and continue
+      }
+      String am = a.getClassName() + "." + a.getName();
+      String rm = r.getClassName() + "." + r.getName();
+      int comp = am.compare(rm);
+      if (comp == 0 && a.isMethod() && r.isMethod())
+
+    */
+
+    ReportAPI(String oldFile, String newFile) {
+        oldData = APIData.read(oldFile);
+        newData = APIData.read(newFile);
+
+        removed = (TreeSet)oldData.set.clone();
+        removed.removeAll(newData.set);
+
+        added = (TreeSet)newData.set.clone();
+        added.removeAll(oldData.set);
+
+        changed = new ArrayList();
+        Iterator ai = added.iterator();
+        Iterator ri = removed.iterator();
+        Comparator c = APIInfo.changedComparator();
+
+        ArrayList ams = new ArrayList();
+        ArrayList rms = new ArrayList();
+        PrintWriter outpw = new PrintWriter(System.out);
+
+        APIInfo a = null, r = null;
+        while (ai.hasNext() && ri.hasNext()) {
+            if (a == null) a = (APIInfo)ai.next();
+            if (r == null) r = (APIInfo)ri.next();
+
+            String am = a.getClassName() + "." + a.getName();
+            String rm = r.getClassName() + "." + r.getName();
+            int comp = am.compareTo(rm);
+            if (comp == 0 && a.isMethod() && r.isMethod()) { // collect overloads
+                ams.add(a); a = null;
+                rms.add(r); r = null;
+                continue;
+            }
+
+            if (!ams.isEmpty()) {
+                // simplest case first
+                if (ams.size() == 1 && rms.size() == 1) {
+                    changed.add(new DeltaInfo((APIInfo)ams.get(0), (APIInfo)rms.get(0)));
+                } else {
+                    // dang, what to do now?
+                    // TODO: modify deltainfo to deal with lists of added and removed
+                }
+                ams.clear();
+                rms.clear();
+            }
+
+            int result = c.compare(a, r);
+            if (result < 0) {
+                a = null;
+            } else if (result > 0) {
+                r = null;
+            } else {
+                changed.add(new DeltaInfo(a, r));
+                a = null;
+                r = null;
+            }
+        }
+
+        // now clean up added and removed by cleaning out the changed members
+        Iterator ci = changed.iterator();
+        while (ci.hasNext()) {
+            DeltaInfo di = (DeltaInfo)ci.next();
+            added.remove(di.added);
+            removed.remove(di.removed);
+        }
+
+        Set tempAdded = new HashSet();
+        tempAdded.addAll(newData.set);
+        tempAdded.removeAll(removed);
+        TreeSet changedAdded = new TreeSet(APIInfo.defaultComparator());
+        changedAdded.addAll(tempAdded);
+
+        Set tempRemoved = new HashSet();
+        tempRemoved.addAll(oldData.set);
+        tempRemoved.removeAll(added);
+        TreeSet changedRemoved = new TreeSet(APIInfo.defaultComparator());
+        changedRemoved.addAll(tempRemoved);
+
+        promoted = new TreeSet(APIInfo.defaultComparator());
+        obsoleted = new TreeSet(APIInfo.defaultComparator());
+        ai = changedAdded.iterator();
+        ri = changedRemoved.iterator();
+        a = r = null;
+        while (ai.hasNext() && ri.hasNext()) {
+            if (a == null) a = (APIInfo)ai.next();
+            if (r == null) r = (APIInfo)ri.next();
+            int result = c.compare(a, r);
+            if (result < 0) {
+                a = null;
+            } else if (result > 0) {
+                r = null;
+            } else {
+                int change = statusChange(a, r);
+                if (change > 0) {
+                    promoted.add(a);
+                } else if (change < 0) {
+                    obsoleted.add(a);
+                }
+                a = null;
+                r = null;
+            }
+        }
+
+        added = stripAndResort(added);
+        removed = stripAndResort(removed);
+        promoted = stripAndResort(promoted);
+        obsoleted = stripAndResort(obsoleted);
+    }
+
+    private int statusChange(APIInfo lhs, APIInfo rhs) { // new. old
+        for (int i = 0; i < APIInfo.NUM_TYPES; ++i) {
+            if (lhs.get(i, true).equals(rhs.get(i, true)) == (i == APIInfo.STA)) {
+                return 0;
+            }
+        }
+        int lstatus = lhs.getVal(APIInfo.STA);
+        if (lstatus == APIInfo.STA_OBSOLETE || lstatus == APIInfo.STA_DEPRECATED) {
+            return -1;
+        }
+        return 1;
+    }
+
+    private boolean writeReport(String outFile, boolean html) {
+        OutputStream os = System.out;
+        if (outFile != null) {
+            try {
+                os = new FileOutputStream(outFile);
+            }
+            catch (FileNotFoundException e) {
+                RuntimeException re = new RuntimeException(e.getMessage());
+                re.initCause(e);
+                throw re;
+            }
+        }
+
+        PrintWriter pw = null;
+        try {
+            pw = new PrintWriter(new BufferedWriter(new OutputStreamWriter(os, "UTF-8")));
+        }
+        catch (UnsupportedEncodingException e) {
+            throw new InternalError(); // UTF-8 should always be supported
+        }
+
+        DateFormat fmt = new SimpleDateFormat("yyyy");
+        String year = fmt.format(new Date());
+        String title = "ICU4J API Comparison: " + oldData.name + " with " + newData.name;
+        String info = "Contents generated by ReportAPI tool on " + new Date().toString();
+        String copyright = "Copyright (C) " + year + ", International Business Machines Corporation, All Rights Reserved.";
+
+        if (html) {
+            pw.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
+            pw.println("<html>");
+            pw.println("<head>");
+            pw.println("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">");
+            pw.println("<title>" + title + "</title>");
+            pw.println("<!-- Copyright " + year + ", IBM, All Rights Reserved. -->");
+            pw.println("</head>");
+            pw.println("<body>");
+
+            pw.println("<h1>" + title + "</h1>");
+
+            pw.println();
+            pw.println("<hr/>");
+            pw.println("<h2>Removed from " + oldData.name +"</h2>");
+            if (removed.size() > 0) {
+                printResults(removed, pw, true, false);
+            } else {
+                pw.println("<p>(no API removed)</p>");
+            }
+
+            pw.println();
+            pw.println("<hr/>");
+            pw.println("<h2>Obsoleted in " + newData.name + "</h2>");
+            if (obsoleted.size() > 0) {
+                printResults(obsoleted, pw, true, false);
+            } else {
+                pw.println("<p>(no API obsoleted)</p>");
+            }
+
+            pw.println();
+            pw.println("<hr/>");
+            pw.println("<h2>Changed in " + newData.name + " (old, new)</h2>");
+            if (changed.size() > 0) {
+                printResults(changed, pw, true, true);
+            } else {
+                pw.println("<p>(no API changed)</p>");
+            }
+
+            pw.println();
+            pw.println("<hr/>");
+            pw.println("<h2>Promoted to stable in " + newData.name + "</h2>");
+            if (promoted.size() > 0) {
+                printResults(promoted, pw, true, false);
+            } else {
+                pw.println("<p>(no API promoted)</p>");
+            }
+
+            pw.println();
+            pw.println("<hr/>");
+            pw.println("<h2>Added in " + newData.name + "</h2>");
+            if (added.size() > 0) {
+                printResults(added, pw, true, false);
+            } else {
+                pw.println("<p>(no API added)</p>");
+            }
+
+            pw.println("<hr/>");
+            pw.println("<p><i><font size=\"-1\">" + info + "<br/>" + copyright + "</font></i></p>");
+            pw.println("</body>");
+            pw.println("</html>");
+        } else {
+            pw.println(title);
+            pw.println();
+            pw.println();
+
+            pw.println("=== Removed from " + oldData.name + " ===");
+            if (removed.size() > 0) {
+                printResults(removed, pw, false, false);
+            } else {
+                pw.println("(no API removed)");
+            }
+
+            pw.println();
+            pw.println();
+            pw.println("=== Obsoleted in " + newData.name + " ===");
+            if (obsoleted.size() > 0) {
+                printResults(obsoleted, pw, false, false);
+            } else {
+                pw.println("(no API obsoleted)");
+            }
+
+            pw.println();
+            pw.println();
+            pw.println("=== Changed in " + newData.name + " (old, new) ===");
+            if (changed.size() > 0) {
+                printResults(changed, pw, false, true);
+            } else {
+                pw.println("(no API changed)");
+            }
+
+            pw.println();
+            pw.println();
+            pw.println("=== Promoted to stable in " + newData.name + " ===");
+            if (promoted.size() > 0) {
+                printResults(promoted, pw, false, false);
+            } else {
+                pw.println("(no API promoted)");
+            }
+
+            pw.println();
+            pw.println();
+            pw.println("=== Added in " + newData.name + " ===");
+            if (added.size() > 0) {
+                printResults(added, pw, false, false);
+            } else {
+                pw.println("(no API added)");
+            }
+
+            pw.println();
+            pw.println("================");
+            pw.println(info);
+            pw.println(copyright);
+        }
+        pw.close();
+
+        return false;
+    }
+
+    private static void printResults(Collection c, PrintWriter pw, boolean html, boolean isChangedAPIs) {
+        Iterator iter = c.iterator();
+        String pack = null;
+        String clas = null;
+        while (iter.hasNext()) {
+            APIInfo info = (APIInfo)iter.next();
+
+            String packageName = info.getPackageName();
+            if (!packageName.equals(pack)) {
+                if (html) {
+                    if (clas != null) {
+                        pw.println("</ul>");
+                    }
+                    if (pack != null) {
+                        pw.println("</ul>");
+                    }
+                    pw.println();
+                    pw.println("<h3>Package " + packageName + "</h3>");
+                    pw.print("<ul>");
+                } else {
+                    if (pack != null) {
+                        pw.println();
+                    }
+                    pw.println();
+                    pw.println("Package " + packageName + ":");
+                }
+                pw.println();
+
+                pack = packageName;
+                clas = null;
+            }
+
+            if (!info.isClass()) {
+                String className = info.getClassName();
+                if (!className.equals(clas)) {
+                    if (html) {
+                        if (clas != null) {
+                            pw.println("</ul>");
+                        }
+                        pw.println(className);
+                        pw.println("<ul>");
+                    } else {
+                        pw.println(className);
+                    }
+                    clas = className;
+                }
+                //                 pw.print("    ");
+            }
+
+            if (html) {
+                pw.print("<li>");
+                //                 if (info instanceof DeltaInfo) {
+                //                     DeltaInfo dinfo = (DeltaInfo)info;
+                //                     dinfo.removed.print(pw, isChangedAPIs, html);
+                //                     pw.println("</br>");
+                //                     dinfo.added.print(pw, isChangedAPIs, html);
+                //                 } else {
+                info.print(pw, isChangedAPIs, html);
+                //                 }
+                pw.println("</li>");
+            } else {
+                //                 if (info instanceof DeltaInfo) {
+                //                     DeltaInfo dinfo = (DeltaInfo)info;
+                //                     dinfo.removed.println(pw, isChangedAPIs, html);
+                //                  pw.print("    --> ");
+                //                     dinfo.added.println(pw, isChangedAPIs, html);
+                //                 } else {
+                info.println(pw, isChangedAPIs, html);
+                //                 }
+            }
+        }
+
+        if (html) {
+            if (clas != null) {
+                pw.println("</ul>");
+            }
+            if (pack != null) {
+                pw.println("</ul>");
+            }
+        }
+        pw.println();
+    }
+
+    private static TreeSet stripAndResort(TreeSet t) {
+        stripClassInfo(t);
+        TreeSet r = new TreeSet(APIInfo.classFirstComparator());
+        r.addAll(t);
+        return r;
+    }
+
+    private static void stripClassInfo(Collection c) {
+        // c is sorted with class info first
+        Iterator iter = c.iterator();
+        String cname = null;
+        while (iter.hasNext()) {
+            APIInfo info = (APIInfo)iter.next();
+            String className = info.getClassName();
+            if (cname != null) {
+                if (cname.equals(className)) {
+                    iter.remove();
+                    continue;
+                }
+                cname = null;
+            }
+            if (info.isClass()) {
+                cname = info.getName();
+            }
+        }
+    }
+}
diff --git a/src/com/ibm/icu/dev/tool/docs/icu4j28.api.gz b/src/com/ibm/icu/dev/tool/docs/icu4j28.api.gz
new file mode 100644
index 0000000..d95f52c
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/docs/icu4j28.api.gz
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:772a1e5195bbdcd2ac5fdf7153af71ca0a9dd934118bfbdb17a4388c4e3af6da
+size 19566
diff --git a/src/com/ibm/icu/dev/tool/docs/icu4j30.api.gz b/src/com/ibm/icu/dev/tool/docs/icu4j30.api.gz
new file mode 100644
index 0000000..e99db1a
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/docs/icu4j30.api.gz
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:d79fcac17e325a019a52ffdfb8e1fdd8eca4079faf05149a8710751d77934a73
+size 20672
diff --git a/src/com/ibm/icu/dev/tool/docs/icu4j32.api.gz b/src/com/ibm/icu/dev/tool/docs/icu4j32.api.gz
new file mode 100644
index 0000000..9099c01
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/docs/icu4j32.api.gz
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:535e05f6624f372fd241b1f2e5d4feb90ccff5fdaf732eb0df52acac9f5d1f29
+size 21416
diff --git a/src/com/ibm/icu/dev/tool/docs/icu4j34.api.gz b/src/com/ibm/icu/dev/tool/docs/icu4j34.api.gz
new file mode 100644
index 0000000..dec27d2
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/docs/icu4j34.api.gz
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:f807843ac5fb8b32a9b7f13a89779d3aa712521a9c35d23c2352bc7835ee9050
+size 23103
diff --git a/src/com/ibm/icu/dev/tool/ime/IMETest.java b/src/com/ibm/icu/dev/tool/ime/IMETest.java
new file mode 100644
index 0000000..3612353
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/ime/IMETest.java
@@ -0,0 +1,35 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2004-2005, International Business Machines Corporation and         *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+package com.ibm.icu.dev.tool.ime;
+
+import java.awt.Rectangle;
+import javax.swing.Box;
+import javax.swing.JFrame;
+import javax.swing.JTextField;
+import javax.swing.WindowConstants;
+
+public class IMETest {
+    public static void main(String[] args) {
+    String sampleText = "This is a sample\nto put into the field.";
+    Rectangle loc = new Rectangle(100, 100, 300, 300);
+    for (int i = 0; i < 2; ++i) {
+        JFrame jf = new JFrame("Test Window " + i);
+        jf.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
+        Box box = Box.createVerticalBox();
+        box.add(new JTextField(sampleText));
+        box.add(new JTextField(sampleText));
+        jf.getContentPane().add(box);
+        jf.setBounds(loc);
+        
+        jf.setVisible(true);
+        
+        loc.x += 50;
+        loc.y += 50;
+    }
+    }
+}
diff --git a/src/com/ibm/icu/dev/tool/ime/indic/BengaliInputMethodDescriptor.java b/src/com/ibm/icu/dev/tool/ime/indic/BengaliInputMethodDescriptor.java
new file mode 100644
index 0000000..9ebaa43
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/ime/indic/BengaliInputMethodDescriptor.java
@@ -0,0 +1,216 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2000-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+package com.ibm.icu.dev.tool.ime.indic;
+
+import java.util.Locale;
+
+public class BengaliInputMethodDescriptor extends IndicIMDescriptor
+{
+    private static final Locale BENGALI = new Locale("bn", "IN");
+
+    public BengaliInputMethodDescriptor() {
+    super(BENGALI, "Bengali");
+    }
+    
+    private static char[] keyboardMap;
+    private static char[][] substitutionTable;
+    private static char[] joinWithNukta;
+    private static char[] nuktaForm;
+
+    protected IndicInputMethodImpl getImpl()  {
+    if (keyboardMap == null) {
+        keyboardMap = new char[] {
+        /* 00 */ '\u0000',
+        /* 01 */ '\u0001',
+        /* 02 */ '\u0002',
+        /* 03 */ '\u0003',
+        /* 04 */ '\u0004',
+        /* 05 */ '\u0005',
+        /* 06 */ '\u0006',
+        /* 07 */ '\u0007',
+        /* 08 */ '\u0008',
+        /* 09 */ '\u0009',
+        /* 0A */ '\012',
+        /* 0B */ '\u000B',
+        /* 0C */ '\u000C',
+        /* 0D */ '\015',
+        /* 0E */ '\u000E',
+        /* 0F */ '\u000F',
+        /* 10 */ '\u0010',
+        /* 11 */ '\u0011',
+        /* 12 */ '\u0012',
+        /* 13 */ '\u0013',
+        /* 14 */ '\u0014',
+        /* 15 */ '\u0015',
+        /* 16 */ '\u0016',
+        /* 17 */ '\u0017',
+        /* 18 */ '\u0018',
+        /* 19 */ '\u0019',
+        /* 1A */ '\u001A',
+        /* 1B */ '\u001B',
+        /* 1C */ '\u001C',
+        /* 1D */ '\u001D',
+        /* 1E */ '\u001E',
+        /* 1F */ '\u001F',
+        /* 20 */ '\u0020',
+        /* 21 */ '\uFFFF',   // '!'
+        /* 22 */ '\u09A0',   // '"'
+        /* 23 */ '\uFF00',   // '#'
+        /* 24 */ '\uFF01',   // '$'
+        /* 25 */ '\uFF02',   // '%'
+        /* 26 */ '\uFF04',   // '&'
+        /* 27 */ '\u099F',   // '''
+        /* 28 */ '\u0028',   // '('
+        /* 29 */ '\u0029',   // ')'
+        /* 2A */ '\uFF05',   // '*'
+        /* 2B */ '\u098B',   // '+'
+        /* 2C */ '\u002C',   // ','
+        /* 2D */ '\u002D',   // '-'
+        /* 2E */ '\u002E',   // '.'
+        /* 2F */ '\u09DF',   // '/'
+        /* 30 */ '\u09E6',   // '0'
+        /* 31 */ '\u09E7',   // '1'
+        /* 32 */ '\u09E8',   // '2'
+        /* 33 */ '\u09E9',   // '3'
+        /* 34 */ '\u09EA',   // '4'
+        /* 35 */ '\u09EB',   // '5'
+        /* 36 */ '\u09EC',   // '6'
+        /* 37 */ '\u09ED',   // '7'
+        /* 38 */ '\u09EE',   // '8'
+        /* 39 */ '\u09EF',   // '9'
+        /* 3A */ '\u099B',   // ':'
+        /* 3B */ '\u099A',   // ';'
+        /* 3C */ '\u09B7',   // '<'
+        /* 3D */ '\u09C3',   // '='
+        /* 3E */ '\u0964',   // '>'  (Devanagari danda)
+        /* 3F */ '\u09AF',   // '?'
+        /* 40 */ '\uFFFF',   // '@'
+        /* 41 */ '\u0993',   // 'A'
+        /* 42 */ '\uFFFF',   // 'B'
+        /* 43 */ '\u09A3',   // 'C'
+        /* 44 */ '\u0985',   // 'D'
+        /* 45 */ '\u0986',   // 'E'
+        /* 46 */ '\u0987',   // 'F'
+        /* 47 */ '\u0989',   // 'G'
+        /* 48 */ '\u09AB',   // 'H'
+        /* 49 */ '\u0998',   // 'I'
+        /* 4A */ '\uFFFF',   // 'J'
+        /* 4B */ '\u0996',   // 'K'
+        /* 4C */ '\u09A5',   // 'L'
+        /* 4D */ '\u09B6',   // 'M'
+        /* 4E */ '\uFFFF',   // 'N'
+        /* 4F */ '\u09A7',   // 'O'
+        /* 50 */ '\u099D',   // 'P'
+        /* 51 */ '\u0994',   // 'Q'
+        /* 52 */ '\u0988',   // 'R'
+        /* 53 */ '\u098F',   // 'S'
+        /* 54 */ '\u098A',   // 'T'
+        /* 55 */ '\u0999',   // 'U'
+        /* 56 */ '\uFFFF',   // 'V'
+        /* 57 */ '\u0990',   // 'W'
+        /* 58 */ '\u0981',   // 'X'
+        /* 59 */ '\u09AD',   // 'Y'
+        /* 5A */ '\uFFFF',   // 'Z'
+        /* 5B */ '\u09A1',   // '['
+        /* 5C */ '\uFFFF',   // '\'
+        /* 5D */ '\u09BC',   // ']'
+        /* 5E */ '\uFF03',   // '^'
+        /* 5F */ '\u0983',   // '_'
+        /* 60 */ '\uFFFF',   // '`'
+        /* 61 */ '\u09CB',   // 'a'
+        /* 62 */ '\u09AC',   // 'b' (this is a BA instead of a VA)
+        /* 63 */ '\u09AE',   // 'c'
+        /* 64 */ '\u09CD',   // 'd'
+        /* 65 */ '\u09BE',   // 'e'
+        /* 66 */ '\u09BF',   // 'f'
+        /* 67 */ '\u09C1',   // 'g'
+        /* 68 */ '\u09AA',   // 'h'
+        /* 69 */ '\u0997',   // 'i'
+        /* 6A */ '\u09B0',   // 'j'
+        /* 6B */ '\u0995',   // 'k'
+        /* 6C */ '\u09A4',   // 'l'
+        /* 6D */ '\u09B8',   // 'm'
+        /* 6E */ '\u09B2',   // 'n'
+        /* 6F */ '\u09A6',   // 'o'
+        /* 70 */ '\u099C',   // 'p'
+        /* 71 */ '\u09CC',   // 'q'
+        /* 72 */ '\u09C0',   // 'r'
+        /* 73 */ '\u09C7',   // 's'
+        /* 74 */ '\u09C2',   // 't'
+        /* 75 */ '\u09B9',   // 'u'
+        /* 76 */ '\u09A8',   // 'v'
+        /* 77 */ '\u09C8',   // 'w'
+        /* 78 */ '\u0982',   // 'x'
+        /* 79 */ '\u09AC',   // 'y' (this is also a BA...)
+        /* 7A */ '\uFFFF',   // 'z'
+        /* 7B */ '\u09A2',   // '{'
+        /* 7C */ '\uFFFF',   // '|'
+        /* 7D */ '\u099E',   // '}'
+        /* 7E */ '\uFFFF',   // '~'
+        /* 7F */ '\u007F'    // ''
+        };
+
+        char[] RA_SUB = {'\u09CD', '\u09B0'};
+        char[] RA_SUP = {'\u09B0', '\u09CD'};
+        char[] CONJ_JA_NYA = {'\u099C', '\u09CD', '\u099E'};
+        char[] CONJ_TA_RA = {'\u09A4', '\u09CD', '\u09B0'};
+        char[] CONJ_KA_SSA = {'\u0995', '\u09CD', '\u09B7'};
+        char[] CONJ_SHA_RA = {'\u09B6', '\u09CD', '\u09B0'};
+
+        substitutionTable = new char[][] {
+        RA_SUB, RA_SUP, CONJ_JA_NYA, CONJ_TA_RA, CONJ_KA_SSA, CONJ_SHA_RA
+        };
+
+        // The following characters followed by Nukta should be replaced
+        // by the corresponding character as defined in ISCII91
+        char LETTER_I              = '\u0987';
+        char LETTER_II             = '\u0988';
+        char LETTER_VOCALIC_R      = '\u098B';
+        char LETTER_DDA            = '\u09A1';
+        char LETTER_DDHA           = '\u09A2';
+        char VOWEL_SIGN_I          = '\u09BF';
+        char VOWEL_SIGN_II         = '\u09C0';
+        char VOWEL_SIGN_VOCALIC_R  = '\u09C3';
+
+        // The following characters replace the above characters followed by Nukta. These
+        // are defined in one to one correspondence order.
+        char LETTER_VOCALIC_L      = '\u098C';
+        char LETTER_VOCALIC_LL     = '\u09E1';
+        char LETTER_VOCALIC_RR     = '\u09E0';
+        char LETTER_DDDHA          = '\u09DC';
+        char LETTER_RHA            = '\u09DD';
+        char VOWEL_SIGN_VOCALIC_L  = '\u09E2';
+        char VOWEL_SIGN_VOCALIC_LL = '\u09E3';
+        char VOWEL_SIGN_VOCALIC_RR = '\u09C4';
+
+        joinWithNukta = new char[] {
+        LETTER_I,
+        LETTER_II,
+        LETTER_VOCALIC_R,
+        LETTER_DDA,
+        LETTER_DDHA,
+        VOWEL_SIGN_I,
+        VOWEL_SIGN_II,
+        VOWEL_SIGN_VOCALIC_R
+        };
+    
+        nuktaForm = new char[] {
+        LETTER_VOCALIC_L,
+        LETTER_VOCALIC_LL,
+        LETTER_VOCALIC_RR,
+        LETTER_DDDHA,
+        LETTER_RHA,
+        VOWEL_SIGN_VOCALIC_L,
+        VOWEL_SIGN_VOCALIC_LL,
+        VOWEL_SIGN_VOCALIC_RR
+        };
+    }
+
+    return new IndicInputMethodImpl(keyboardMap, joinWithNukta, nuktaForm, substitutionTable);
+    }
+}
diff --git a/src/com/ibm/icu/dev/tool/ime/indic/DevanagariInputMethodDescriptor.java b/src/com/ibm/icu/dev/tool/ime/indic/DevanagariInputMethodDescriptor.java
new file mode 100644
index 0000000..8751e59
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/ime/indic/DevanagariInputMethodDescriptor.java
@@ -0,0 +1,246 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2000-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+package com.ibm.icu.dev.tool.ime.indic;
+
+import java.util.Locale;
+
+public class DevanagariInputMethodDescriptor extends IndicIMDescriptor
+{
+    private static final Locale DEVANAGARI = new Locale("hi", "IN");
+
+    public DevanagariInputMethodDescriptor() {
+    super(DEVANAGARI, "Devanagari");
+    }
+
+    private static char[] keyboardMap;
+    private static char[][] substitutionTable;
+    private static char[] joinWithNukta;
+    private static char[] nuktaForm;
+
+    protected IndicInputMethodImpl getImpl()  {
+    if (keyboardMap == null) {
+        keyboardMap = new char[] {
+        /* 00 */ '\u0000',
+        /* 01 */ '\u0001',
+        /* 02 */ '\u0002',
+        /* 03 */ '\u0003',
+        /* 04 */ '\u0004',
+        /* 05 */ '\u0005',
+        /* 06 */ '\u0006',
+        /* 07 */ '\u0007',
+        /* 08 */ '\u0008',
+        /* 09 */ '\u0009',
+        /* 0A */ '\012',
+        /* 0B */ '\u000B',
+        /* 0C */ '\u000C',
+        /* 0D */ '\015',
+        /* 0E */ '\u000E',
+        /* 0F */ '\u000F',
+        /* 10 */ '\u0010',
+        /* 11 */ '\u0011',
+        /* 12 */ '\u0012',
+        /* 13 */ '\u0013',
+        /* 14 */ '\u0014',
+        /* 15 */ '\u0015',
+        /* 16 */ '\u0016',
+        /* 17 */ '\u0017',
+        /* 18 */ '\u0018',
+        /* 19 */ '\u0019',
+        /* 1A */ '\u001A',
+        /* 1B */ '\u001B',
+        /* 1C */ '\u001C',
+        /* 1D */ '\u001D',
+        /* 1E */ '\u001E',
+        /* 1F */ '\u001F',
+        /* 20 */ '\u0020',
+        /* 21 */ '\u090D',   // '!'
+        /* 22 */ '\u0920',   // '"'
+        /* 23 */ '\uFF00',   // '#'
+        /* 24 */ '\uFF01',   // '$'
+        /* 25 */ '\uFF02',   // '%'
+        /* 26 */ '\uFF04',   // '&'
+        /* 27 */ '\u091F',   // '''
+        /* 28 */ '\u0028',   // '('
+        /* 29 */ '\u0029',   // ')'
+        /* 2A */ '\uFF05',   // '*'
+        /* 2B */ '\u090B',   // '+'
+        /* 2C */ '\u002C',   // ','
+        /* 2D */ '\u002D',   // '-'
+        /* 2E */ '\u002E',   // '.'
+        /* 2F */ '\u092F',   // '/'
+        /* 30 */ '\u0966',   // '0'
+        /* 31 */ '\u0967',   // '1'
+        /* 32 */ '\u0968',   // '2'
+        /* 33 */ '\u0969',   // '3'
+        /* 34 */ '\u096A',   // '4'
+        /* 35 */ '\u096B',   // '5'
+        /* 36 */ '\u096C',   // '6'
+        /* 37 */ '\u096D',   // '7'
+        /* 38 */ '\u096E',   // '8'
+        /* 39 */ '\u096F',   // '9'
+        /* 3A */ '\u091B',   // ':'
+        /* 3B */ '\u091A',   // ';'
+        /* 3C */ '\u0937',   // '<'
+        /* 3D */ '\u0943',   // '='
+        /* 3E */ '\u0964',   // '>'
+        /* 3F */ '\u095F',   // '?'
+        /* 40 */ '\u0945',   // '@'
+        /* 41 */ '\u0913',   // 'A'
+        /* 42 */ '\u0934',   // 'B'
+        /* 43 */ '\u0923',   // 'C'
+        /* 44 */ '\u0905',   // 'D'
+        /* 45 */ '\u0906',   // 'E'
+        /* 46 */ '\u0907',   // 'F'
+        /* 47 */ '\u0909',   // 'G'
+        /* 48 */ '\u092B',   // 'H'
+        /* 49 */ '\u0918',   // 'I'
+        /* 4A */ '\u0931',   // 'J'
+        /* 4B */ '\u0916',   // 'K'
+        /* 4C */ '\u0925',   // 'L'
+        /* 4D */ '\u0936',   // 'M'
+        /* 4E */ '\u0933',   // 'N'
+        /* 4F */ '\u0927',   // 'O'
+        /* 50 */ '\u091D',   // 'P'
+        /* 51 */ '\u0914',   // 'Q'
+        /* 52 */ '\u0908',   // 'R'
+        /* 53 */ '\u090F',   // 'S'
+        /* 54 */ '\u090A',   // 'T'
+        /* 55 */ '\u0919',   // 'U'
+        /* 56 */ '\u0929',   // 'V'
+        /* 57 */ '\u0910',   // 'W'
+        /* 58 */ '\u0901',   // 'X'
+        /* 59 */ '\u092D',   // 'Y'
+        /* 5A */ '\u090E',   // 'Z'
+        /* 5B */ '\u0921',   // '['
+        /* 5C */ '\u0949',   // '\'
+        /* 5D */ '\u093C',   // ']'
+        /* 5E */ '\uFF03',   // '^'
+        /* 5F */ '\u0903',   // '_'
+        /* 60 */ '\u094A',   // '`'
+        /* 61 */ '\u094B',   // 'a'
+        /* 62 */ '\u0935',   // 'b'
+        /* 63 */ '\u092E',   // 'c'
+        /* 64 */ '\u094D',   // 'd'
+        /* 65 */ '\u093E',   // 'e'
+        /* 66 */ '\u093F',   // 'f'
+        /* 67 */ '\u0941',   // 'g'
+        /* 68 */ '\u092A',   // 'h'
+        /* 69 */ '\u0917',   // 'i'
+        /* 6A */ '\u0930',   // 'j'
+        /* 6B */ '\u0915',   // 'k'
+        /* 6C */ '\u0924',   // 'l'
+        /* 6D */ '\u0938',   // 'm'
+        /* 6E */ '\u0932',   // 'n'
+        /* 6F */ '\u0926',   // 'o'
+        /* 70 */ '\u091C',   // 'p'
+        /* 71 */ '\u094C',   // 'q'
+        /* 72 */ '\u0940',   // 'r'
+        /* 73 */ '\u0947',   // 's'
+        /* 74 */ '\u0942',   // 't'
+        /* 75 */ '\u0939',   // 'u'
+        /* 76 */ '\u0928',   // 'v'
+        /* 77 */ '\u0948',   // 'w'
+        /* 78 */ '\u0902',   // 'x'
+        /* 79 */ '\u092C',   // 'y'
+        /* 7A */ '\u0946',   // 'z'
+        /* 7B */ '\u0922',   // '{'
+        /* 7C */ '\u0911',   // '|'
+        /* 7D */ '\u091E',   // '}'
+        /* 7E */ '\u0912',   // '~'
+        /* 7F */ '\u007F'    // ''
+        };
+    
+        // the character substitutions for the meta characters.
+        char[] RA_SUB = {'\u094D', '\u0930'};
+        char[] RA_SUP = {'\u0930', '\u094D'};
+        char[] CONJ_JA_NYA = {'\u091C', '\u094D', '\u091E'};
+        char[] CONJ_TA_RA = {'\u0924', '\u094D', '\u0930'};
+        char[] CONJ_KA_SSA = {'\u0915', '\u094D', '\u0937'};
+        char[] CONJ_SHA_RA = {'\u0936', '\u094D', '\u0930'};
+
+        substitutionTable = new char[][] {
+        RA_SUB, RA_SUP, CONJ_JA_NYA, CONJ_TA_RA, CONJ_KA_SSA, CONJ_SHA_RA
+        };
+
+        // The following characters followed by Nukta should be replaced
+        // by the corresponding character as defined in ISCII91
+        char SIGN_CANDRABINDU      = '\u0901';
+        char LETTER_I              = '\u0907';
+        char LETTER_II             = '\u0908';
+        char LETTER_VOCALIC_R      = '\u090B';
+        char LETTER_KA             = '\u0915';
+        char LETTER_KHA            = '\u0916';
+        char LETTER_GA             = '\u0917';
+        char LETTER_JA             = '\u091C';
+        char LETTER_DDA            = '\u0921';
+        char LETTER_DDHA           = '\u0922';
+        char LETTER_PHA            = '\u092B';
+        char VOWEL_SIGN_I          = '\u093F';
+        char VOWEL_SIGN_II         = '\u0940';
+        char VOWEL_SIGN_VOCALIC_R  = '\u0943';
+        char DANDA                 = '\u0964';
+
+        // The following characters replace the above characters followed by Nukta. These
+        // are defined in one to one correspondence order.
+        char SIGN_OM               = '\u0950';
+        char LETTER_VOCALIC_L      = '\u090C';
+        char LETTER_VOCALIC_LL     = '\u0961';
+        char LETTER_VOCALIC_RR     = '\u0960';
+        char LETTER_QA             = '\u0958';
+        char LETTER_KHHA           = '\u0959';
+        char LETTER_GHHA           = '\u095A';
+        char LETTER_ZA             = '\u095B';
+        char LETTER_DDDHA          = '\u095C';
+        char LETTER_RHA            = '\u095D';
+        char LETTER_FA             = '\u095E';
+        char VOWEL_SIGN_VOCALIC_L  = '\u0962';
+        char VOWEL_SIGN_VOCALIC_LL = '\u0963';
+        char VOWEL_SIGN_VOCALIC_RR = '\u0944';
+        char SIGN_AVAGRAHA         = '\u093D';
+
+        joinWithNukta = new char[] {
+        SIGN_CANDRABINDU,
+        LETTER_I,
+        LETTER_II,
+        LETTER_VOCALIC_R ,
+        LETTER_KA,
+        LETTER_KHA,
+        LETTER_GA,
+        LETTER_JA,
+        LETTER_DDA,
+        LETTER_DDHA,
+        LETTER_PHA,
+        VOWEL_SIGN_I,
+        VOWEL_SIGN_II,
+        VOWEL_SIGN_VOCALIC_R,
+        DANDA
+        };
+    
+        nuktaForm = new char[] {
+        SIGN_OM,
+        LETTER_VOCALIC_L,
+        LETTER_VOCALIC_LL,
+        LETTER_VOCALIC_RR,
+        LETTER_QA,
+        LETTER_KHHA,
+        LETTER_GHHA,
+        LETTER_ZA,
+        LETTER_DDDHA,
+        LETTER_RHA,
+        LETTER_FA,
+        VOWEL_SIGN_VOCALIC_L,
+        VOWEL_SIGN_VOCALIC_LL,
+        VOWEL_SIGN_VOCALIC_RR,
+        SIGN_AVAGRAHA
+        };
+        }
+
+        return new IndicInputMethodImpl(keyboardMap, joinWithNukta, nuktaForm, substitutionTable);
+    }
+}
+
diff --git a/src/com/ibm/icu/dev/tool/ime/indic/DisplayNames.properties b/src/com/ibm/icu/dev/tool/ime/indic/DisplayNames.properties
new file mode 100644
index 0000000..40e5b1f
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/ime/indic/DisplayNames.properties
@@ -0,0 +1,18 @@
+#
+#*******************************************************************************
+#* Copyright (C) 1996-2004, International Business Machines Corporation and    *
+#* others. All Rights Reserved.                                                *
+#*******************************************************************************
+#
+# Default Input method display names for Indic input methods
+#
+
+DisplayName.Bengali     = Bengali Input Method
+DisplayName.Devanagari  = Devanagari Input Method
+DisplayName.Gujarati    = Gujarati Input Method
+DisplayName.Gurmukhi    = Gurmukhi Input Method
+DisplayName.Kannada     = Kannada Input Method
+DisplayName.Malayalam   = Malayalam Input Method
+DisplayName.Oriya       = Oriya Input Method
+DisplayName.Tamil       = Tamil Input Method
+DisplayName.Telugu      = Telugu Input Method
diff --git a/src/com/ibm/icu/dev/tool/ime/indic/GujaratiInputMethodDescriptor.java b/src/com/ibm/icu/dev/tool/ime/indic/GujaratiInputMethodDescriptor.java
new file mode 100644
index 0000000..b031e78
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/ime/indic/GujaratiInputMethodDescriptor.java
@@ -0,0 +1,171 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2000-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+package com.ibm.icu.dev.tool.ime.indic;
+
+import java.util.Locale;
+
+public class GujaratiInputMethodDescriptor extends IndicIMDescriptor
+{
+    private static final Locale GUJARATI = new Locale("gu", "IN");
+
+    public GujaratiInputMethodDescriptor() {
+    super(GUJARATI, "Gujarati");
+    }
+
+    private static char[] keyboardMap;
+    private static char[][] substitutionTable;
+
+    protected IndicInputMethodImpl getImpl() {
+    if (keyboardMap == null) {
+        keyboardMap = new char[] {
+        /* 00 */ '\u0000',
+        /* 01 */ '\u0001',
+        /* 02 */ '\u0002',
+        /* 03 */ '\u0003',
+        /* 04 */ '\u0004',
+        /* 05 */ '\u0005',
+        /* 06 */ '\u0006',
+        /* 07 */ '\u0007',
+        /* 08 */ '\u0008',
+        /* 09 */ '\u0009',
+        /* 0A */ '\012',
+        /* 0B */ '\u000B',
+        /* 0C */ '\u000C',
+        /* 0D */ '\015',
+        /* 0E */ '\u000E',
+        /* 0F */ '\u000F',
+        /* 10 */ '\u0010',
+        /* 11 */ '\u0011',
+        /* 12 */ '\u0012',
+        /* 13 */ '\u0013',
+        /* 14 */ '\u0014',
+        /* 15 */ '\u0015',
+        /* 16 */ '\u0016',
+        /* 17 */ '\u0017',
+        /* 18 */ '\u0018',
+        /* 19 */ '\u0019',
+        /* 1A */ '\u001A',
+        /* 1B */ '\u001B',
+        /* 1C */ '\u001C',
+        /* 1D */ '\u001D',
+        /* 1E */ '\u001E',
+        /* 1F */ '\u001F',
+        /* 20 */ '\u0020',
+        /* 21 */ '\u0A8D',   // '!'
+        /* 22 */ '\u0AA0',   // '"'
+        /* 23 */ '\uFF00',   // '#'
+        /* 24 */ '\uFF01',   // '$'
+        /* 25 */ '\uFF02',   // '%'
+        /* 26 */ '\uFF04',   // '&'
+        /* 27 */ '\u0A9F',   // '''
+        /* 28 */ '\u0028',   // '('
+        /* 29 */ '\u0029',   // ')'
+        /* 2A */ '\uFF05',   // '*'
+        /* 2B */ '\u0A8B',   // '+'
+        /* 2C */ '\u002C',   // ','
+        /* 2D */ '\u002D',   // '-'
+        /* 2E */ '\u002E',   // '.'
+        /* 2F */ '\u0AAF',   // '/'
+        /* 30 */ '\u0AE6',   // '0'
+        /* 31 */ '\u0AE7',   // '1'
+        /* 32 */ '\u0AE8',   // '2'
+        /* 33 */ '\u0AE9',   // '3'
+        /* 34 */ '\u0AEA',   // '4'
+        /* 35 */ '\u0AEB',   // '5'
+        /* 36 */ '\u0AEC',   // '6'
+        /* 37 */ '\u0AED',   // '7'
+        /* 38 */ '\u0AEE',   // '8'
+        /* 39 */ '\u0AEF',   // '9'
+        /* 3A */ '\u0A9B',   // ':'
+        /* 3B */ '\u0A9A',   // ';'
+        /* 3C */ '\u0AB7',   // '<'
+        /* 3D */ '\u0AC3',   // '='
+        /* 3E */ '\u0964',   // '>'  (Devanagari danda)
+        /* 3F */ '\uFFFF',   // '?'
+        /* 40 */ '\u0AC5',   // '@'
+        /* 41 */ '\u0A93',   // 'A'
+        /* 42 */ '\uFFFF',   // 'B'
+        /* 43 */ '\u0AA3',   // 'C'
+        /* 44 */ '\u0A85',   // 'D'
+        /* 45 */ '\u0A86',   // 'E'
+        /* 46 */ '\u0A87',   // 'F'
+        /* 47 */ '\u0A89',   // 'G'
+        /* 48 */ '\u0AAB',   // 'H'
+        /* 49 */ '\u0A98',   // 'I'
+        /* 4A */ '\uFFFF',   // 'J'
+        /* 4B */ '\u0A96',   // 'K'
+        /* 4C */ '\u0AA5',   // 'L'
+        /* 4D */ '\u0AB6',   // 'M'
+        /* 4E */ '\u0AB3',   // 'N'
+        /* 4F */ '\u0AA7',   // 'O'
+        /* 50 */ '\u0A9D',   // 'P'
+        /* 51 */ '\u0A94',   // 'Q'
+        /* 52 */ '\u0A88',   // 'R'
+        /* 53 */ '\u0A8F',   // 'S'
+        /* 54 */ '\u0A8A',   // 'T'
+        /* 55 */ '\u0A99',   // 'U'
+        /* 56 */ '\uFFFF',   // 'V'
+        /* 57 */ '\u0A90',   // 'W'
+        /* 58 */ '\u0A81',   // 'X'
+        /* 59 */ '\u0AAD',   // 'Y'
+        /* 5A */ '\uFFFF',   // 'Z'
+        /* 5B */ '\u0AA1',   // '['
+        /* 5C */ '\u0AC9',   // '\'
+        /* 5D */ '\u0ABC',   // ']'
+        /* 5E */ '\uFF03',   // '^'
+        /* 5F */ '\u0A83',   // '_'
+        /* 60 */ '\uFFFF',   // '`'
+        /* 61 */ '\u0ACB',   // 'a'
+        /* 62 */ '\u0AB5',   // 'b'
+        /* 63 */ '\u0AAE',   // 'c'
+        /* 64 */ '\u0ACD',   // 'd'
+        /* 65 */ '\u0ABE',   // 'e'
+        /* 66 */ '\u0ABF',   // 'f'
+        /* 67 */ '\u0AC1',   // 'g'
+        /* 68 */ '\u0AAA',   // 'h'
+        /* 69 */ '\u0A97',   // 'i'
+        /* 6A */ '\u0AB0',   // 'j'
+        /* 6B */ '\u0A95',   // 'k'
+        /* 6C */ '\u0AA4',   // 'l'
+        /* 6D */ '\u0AB8',   // 'm'
+        /* 6E */ '\u0AB2',   // 'n'
+        /* 6F */ '\u0AA6',   // 'o'
+        /* 70 */ '\u0A9C',   // 'p'
+        /* 71 */ '\u0ACC',   // 'q'
+        /* 72 */ '\u0AC0',   // 'r'
+        /* 73 */ '\u0AC7',   // 's'
+        /* 74 */ '\u0AC2',   // 't'
+        /* 75 */ '\u0AB9',   // 'u'
+        /* 76 */ '\u0AA8',   // 'v'
+        /* 77 */ '\u0AC8',   // 'w'
+        /* 78 */ '\u0A82',   // 'x'
+        /* 79 */ '\u0AAC',   // 'y'
+        /* 7A */ '\uFFFF',   // 'z'
+        /* 7B */ '\u0AA2',   // '{'
+        /* 7C */ '\u0A91',   // '|'
+        /* 7D */ '\u0A9E',   // '}'
+        /* 7E */ '\uFFFF',   // '~'
+        /* 7F */ '\u007F'    // ''
+        };
+
+        char[] RA_SUB = {'\u0ACD', '\u0AB0'};
+        char[] RA_SUP = {'\u0AB0', '\u0ACD'};
+        char[] CONJ_JA_NYA = {'\u0A9C', '\u0ACD', '\u0A9E'};
+        char[] CONJ_TA_RA = {'\u0AA4', '\u0ACD', '\u0AB0'};
+        char[] CONJ_KA_SSA = {'\u0A95', '\u0ACD', '\u0AB7'};
+        char[] CONJ_SHA_RA = {'\u0AB6', '\u0ACD', '\u0AB0'};
+
+        substitutionTable = new char[][] {
+        RA_SUB, RA_SUP, CONJ_JA_NYA, CONJ_TA_RA, CONJ_KA_SSA, CONJ_SHA_RA
+        };
+    }
+
+        return new IndicInputMethodImpl(keyboardMap, null, null, substitutionTable);
+    }
+}
+
diff --git a/src/com/ibm/icu/dev/tool/ime/indic/GurmukhiInputMethodDescriptor.java b/src/com/ibm/icu/dev/tool/ime/indic/GurmukhiInputMethodDescriptor.java
new file mode 100644
index 0000000..910b3ba
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/ime/indic/GurmukhiInputMethodDescriptor.java
@@ -0,0 +1,202 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2000-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+package com.ibm.icu.dev.tool.ime.indic;
+
+import java.util.Locale;
+
+public class GurmukhiInputMethodDescriptor extends IndicIMDescriptor
+{
+    private static final Locale GURMUKHI = new Locale("pa", "IN"); // pa = Punjabi
+
+    public GurmukhiInputMethodDescriptor() {
+    super(GURMUKHI, "Gurmukhi"); 
+    }
+
+    private static char[] keyboardMap;
+    private static char[][] substitutionTable;
+    private static char[] joinWithNukta;
+    private static char[] nuktaForm;
+
+    protected IndicInputMethodImpl getImpl() {
+    if (keyboardMap == null) {
+        keyboardMap = new char[] {
+        /* 00 */ '\u0000',
+        /* 01 */ '\u0001',
+        /* 02 */ '\u0002',
+        /* 03 */ '\u0003',
+        /* 04 */ '\u0004',
+        /* 05 */ '\u0005',
+        /* 06 */ '\u0006',
+        /* 07 */ '\u0007',
+        /* 08 */ '\u0008',
+        /* 09 */ '\u0009',
+        /* 0A */ '\012',
+        /* 0B */ '\u000B',
+        /* 0C */ '\u000C',
+        /* 0D */ '\015',
+        /* 0E */ '\u000E',
+        /* 0F */ '\u000F',
+        /* 10 */ '\u0010',
+        /* 11 */ '\u0011',
+        /* 12 */ '\u0012',
+        /* 13 */ '\u0013',
+        /* 14 */ '\u0014',
+        /* 15 */ '\u0015',
+        /* 16 */ '\u0016',
+        /* 17 */ '\u0017',
+        /* 18 */ '\u0018',
+        /* 19 */ '\u0019',
+        /* 1A */ '\u001A',
+        /* 1B */ '\u001B',
+        /* 1C */ '\u001C',
+        /* 1D */ '\u001D',
+        /* 1E */ '\u001E',
+        /* 1F */ '\u001F',
+        /* 20 */ '\u0020',
+        /* 21 */ '\u0A0D',   // '!'
+        /* 22 */ '\u0A20',   // '"'
+        /* 23 */ '\uFF00',   // '#'
+        /* 24 */ '\uFFFF',   // '$'
+        /* 25 */ '\uFFFF',   // '%'
+        /* 26 */ '\uFFFF',   // '&'
+        /* 27 */ '\u0A1F',   // '''
+        /* 28 */ '\u0028',   // '('
+        /* 29 */ '\u0029',   // ')'
+        /* 2A */ '\uFFFF',   // '*'
+        /* 2B */ '\u0A0B',   // '+'
+        /* 2C */ '\u002C',   // ','
+        /* 2D */ '\u002D',   // '-'
+        /* 2E */ '\u002E',   // '.'
+        /* 2F */ '\u0A2F',   // '/'
+        /* 30 */ '\u0A66',   // '0'
+        /* 31 */ '\u0A67',   // '1'
+        /* 32 */ '\u0A68',   // '2'
+        /* 33 */ '\u0A69',   // '3'
+        /* 34 */ '\u0A6A',   // '4'
+        /* 35 */ '\u0A6B',   // '5'
+        /* 36 */ '\u0A6C',   // '6'
+        /* 37 */ '\u0A6D',   // '7'
+        /* 38 */ '\u0A6E',   // '8'
+        /* 39 */ '\u0A6F',   // '9'
+        /* 3A */ '\u0A1B',   // ':'
+        /* 3B */ '\u0A1A',   // ';'
+        /* 3C */ '\u0A37',   // '<'
+        /* 3D */ '\u0A43',   // '='
+        /* 3E */ '\u0964',   // '>'  (Devanagari danda)
+        /* 3F */ '\u0A5F',   // '?'
+        /* 40 */ '\u0A45',   // '@'
+        /* 41 */ '\u0A13',   // 'A'
+        /* 42 */ '\u0A34',   // 'B'
+        /* 43 */ '\u0A23',   // 'C'
+        /* 44 */ '\u0A05',   // 'D'
+        /* 45 */ '\u0A06',   // 'E'
+        /* 46 */ '\u0A07',   // 'F'
+        /* 47 */ '\u0A09',   // 'G'
+        /* 48 */ '\u0A2B',   // 'H'
+        /* 49 */ '\u0A18',   // 'I'
+        /* 4A */ '\u0A31',   // 'J'
+        /* 4B */ '\u0A16',   // 'K'
+        /* 4C */ '\u0A25',   // 'L'
+        /* 4D */ '\u0A36',   // 'M'
+        /* 4E */ '\u0A33',   // 'N'
+        /* 4F */ '\u0A27',   // 'O'
+        /* 50 */ '\u0A1D',   // 'P'
+        /* 51 */ '\u0A14',   // 'Q'
+        /* 52 */ '\u0A08',   // 'R'
+        /* 53 */ '\u0A0F',   // 'S'
+        /* 54 */ '\u0A0A',   // 'T'
+        /* 55 */ '\u0A19',   // 'U'
+        /* 56 */ '\u0A29',   // 'V'
+        /* 57 */ '\u0A10',   // 'W'
+        /* 58 */ '\u0A01',   // 'X'
+        /* 59 */ '\u0A2D',   // 'Y'
+        /* 5A */ '\u0A0E',   // 'Z'
+        /* 5B */ '\u0A21',   // '['
+        /* 5C */ '\u0A49',   // '\'
+        /* 5D */ '\u0A3C',   // ']'
+        /* 5E */ '\uFFFF',   // '^'
+        /* 5F */ '\u0A03',   // '_'
+        /* 60 */ '\u0A4A',   // '`'
+        /* 61 */ '\u0A4B',   // 'a'
+        /* 62 */ '\u0A35',   // 'b'
+        /* 63 */ '\u0A2E',   // 'c'
+        /* 64 */ '\u0A4D',   // 'd'
+        /* 65 */ '\u0A3E',   // 'e'
+        /* 66 */ '\u0A3F',   // 'f'
+        /* 67 */ '\u0A41',   // 'g'
+        /* 68 */ '\u0A2A',   // 'h'
+        /* 69 */ '\u0A17',   // 'i'
+        /* 6A */ '\u0A30',   // 'j'
+        /* 6B */ '\u0A15',   // 'k'
+        /* 6C */ '\u0A24',   // 'l'
+        /* 6D */ '\u0A38',   // 'm'
+        /* 6E */ '\u0A32',   // 'n'
+        /* 6F */ '\u0A26',   // 'o'
+        /* 70 */ '\u0A1C',   // 'p'
+        /* 71 */ '\u0A4C',   // 'q'
+        /* 72 */ '\u0A40',   // 'r'
+        /* 73 */ '\u0A47',   // 's'
+        /* 74 */ '\u0A42',   // 't'
+        /* 75 */ '\u0A39',   // 'u'
+        /* 76 */ '\u0A28',   // 'v'
+        /* 77 */ '\u0A48',   // 'w'
+        /* 78 */ '\u0A70',   // 'x' (Gurmukhi TIPPI rather than BINDI)
+        /* 79 */ '\u0A2C',   // 'y'
+        /* 7A */ '\u0A46',   // 'z'
+        /* 7B */ '\u0A22',   // '{'
+        /* 7C */ '\u0A11',   // '|'
+        /* 7D */ '\u0A1E',   // '}'
+        /* 7E */ '\u0A12',   // '~'
+        /* 7F */ '\u007F'    // ''
+        };
+
+        char[] RA_SUB = {'\u0A4D', '\u0A30'};
+
+        substitutionTable = new char[][] {
+        RA_SUB
+        };
+
+        // The following characters followed by Nukta should be replaced
+        // by the corresponding character as defined in ISCII91
+        char LETTER_KHA            = '\u0A16';
+        char LETTER_GA             = '\u0A17';
+        char LETTER_JA             = '\u0A1C';
+        char LETTER_DDA            = '\u0A21';
+        char LETTER_PHA            = '\u0A2B';
+
+        // The following characters replace the above characters followed by Nukta. These
+        // are defined in one to one correspondence order.
+        // NOTE: the inscript keyboard doc. lists a KA + NUKTA and a DDHA + NUKTA
+        // neither of which seem to have Unicode code points...
+        char LETTER_KHHA           = '\u0A59';
+        char LETTER_GHHA           = '\u0A5A';
+        char LETTER_ZA             = '\u0A5B';
+        char LETTER_RRA            = '\u0A5C';
+        char LETTER_FA             = '\u0A5E';
+
+        joinWithNukta = new char[] {
+        LETTER_KHA,
+        LETTER_GA,
+        LETTER_JA,
+        LETTER_DDA,
+        LETTER_PHA
+        };
+    
+        nuktaForm = new char[] {
+        LETTER_KHHA,
+        LETTER_GHHA,
+        LETTER_ZA,
+        LETTER_RRA,
+        LETTER_FA
+        };
+    }
+
+        return new IndicInputMethodImpl(keyboardMap, joinWithNukta, nuktaForm, substitutionTable);
+    }
+}
+
diff --git a/src/com/ibm/icu/dev/tool/ime/indic/IndicIMDescriptor.java b/src/com/ibm/icu/dev/tool/ime/indic/IndicIMDescriptor.java
new file mode 100644
index 0000000..4c380b4
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/ime/indic/IndicIMDescriptor.java
@@ -0,0 +1,57 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2004, International Business Machines Corporation and         *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+package com.ibm.icu.dev.tool.ime.indic;
+
+import java.awt.Image;
+import java.awt.im.spi.InputMethod;
+import java.awt.im.spi.InputMethodDescriptor;
+import java.util.Locale;
+import java.util.ResourceBundle;
+
+public abstract class IndicIMDescriptor implements InputMethodDescriptor {
+    private final Locale locale;
+    private final String name;
+
+    protected IndicIMDescriptor(Locale locale, String name) {
+    this.locale = locale;
+    this.name = name;
+    }
+
+    protected abstract IndicInputMethodImpl getImpl();
+
+    public Locale[] getAvailableLocales() {
+        return new Locale[] { locale };
+    }
+
+    public boolean hasDynamicLocaleList() {
+        return false;
+    }
+
+    public synchronized String getInputMethodDisplayName(Locale inputLocale, Locale displayLanguage) {
+    try {
+        ResourceBundle rb = ResourceBundle.getBundle("com.ibm.icu.dev.tool.ime.indic.DisplayNames", 
+                             displayLanguage);
+        return rb.getString("DisplayName." + name);
+    }
+    catch (Throwable t) {
+        return name;
+    }
+    }
+
+    public Image getInputMethodIcon(Locale inputLocale) {
+        return null;
+    }
+
+    public InputMethod createInputMethod() throws Exception {
+        return new IndicInputMethod(locale, getImpl());
+    }
+
+    public String toString() {
+    return name;
+    }
+}
diff --git a/src/com/ibm/icu/dev/tool/ime/indic/IndicInputMethod.java b/src/com/ibm/icu/dev/tool/ime/indic/IndicInputMethod.java
new file mode 100644
index 0000000..333aa21
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/ime/indic/IndicInputMethod.java
@@ -0,0 +1,92 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2000-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+package com.ibm.icu.dev.tool.ime.indic;
+
+import java.awt.AWTEvent;
+import java.awt.Rectangle;
+import java.awt.event.KeyEvent;
+import java.awt.im.spi.InputMethod;
+import java.awt.im.spi.InputMethodContext;
+import java.lang.Character.Subset;
+import java.util.Locale;
+
+/**
+ * This stub delegates to the simpler IndicInputMethodImpl.
+ */
+class IndicInputMethod implements InputMethod {
+    private IndicInputMethodImpl impl;
+    private Locale locale;
+    
+    IndicInputMethod(Locale theLocale, IndicInputMethodImpl theImplementation) {
+        locale = theLocale;
+        impl = theImplementation;
+    }
+    
+    public void setInputMethodContext(InputMethodContext context) {
+        impl.setInputMethodContext(context);
+    }
+
+    public boolean setLocale(Locale locale) {
+        return locale.getLanguage().equals(this.locale.getLanguage());
+    }
+
+    public Locale getLocale() {
+        return locale;
+    }
+    
+    public void setCharacterSubsets(Subset[] subsets) {
+    }
+
+    public void setCompositionEnabled(boolean enable) {
+        throw new UnsupportedOperationException();
+    }
+
+    public boolean isCompositionEnabled() {
+        return true;
+    }
+
+    public void reconvert() {
+        throw new UnsupportedOperationException("This input method does not reconvert.");
+    }
+
+    public void dispatchEvent(AWTEvent event) {
+        if (event instanceof KeyEvent) {
+            KeyEvent keyEvent = (KeyEvent) event;
+            if (event.getID() == KeyEvent.KEY_TYPED) {
+                impl.handleKeyTyped(keyEvent);
+            }
+
+        }
+    }
+
+    public void notifyClientWindowChange(Rectangle bounds) {
+    }
+
+    public void activate() {
+    }
+
+    public void deactivate(boolean isTemporary) {
+    }
+
+    public void hideWindows() {
+    }
+  
+    public void removeNotify() {
+    }
+
+    public void endComposition() {
+        impl.endComposition();
+    }
+
+    public void dispose() {
+    }
+
+    public Object getControlObject() {
+        return null;
+    }
+}
diff --git a/src/com/ibm/icu/dev/tool/ime/indic/IndicInputMethodImpl.java b/src/com/ibm/icu/dev/tool/ime/indic/IndicInputMethodImpl.java
new file mode 100644
index 0000000..d76f123
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/ime/indic/IndicInputMethodImpl.java
@@ -0,0 +1,439 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2000-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+package com.ibm.icu.dev.tool.ime.indic;
+
+import java.awt.im.spi.InputMethodContext;
+
+import java.awt.event.KeyEvent;
+import java.awt.event.InputMethodEvent;
+import java.awt.font.TextAttribute;
+import java.awt.font.TextHitInfo;
+import java.text.AttributedCharacterIterator;
+import java.util.Hashtable;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Set;
+
+class IndicInputMethodImpl {
+    
+    protected char[] KBD_MAP;
+    
+    private static final char SUBSTITUTION_BASE = '\uff00';
+
+    // Indexed by map value - SUBSTITUTION_BASE
+    protected char[][] SUBSTITUTION_TABLE;
+
+    // Invalid character.
+    private static final char INVALID_CHAR              = '\uffff';
+
+    // Unmapped versions of some interesting characters.
+    private static final char KEY_SIGN_VIRAMA           = '\u0064'; // or just 'd'??
+    private static final char KEY_SIGN_NUKTA            = '\u005d';  // or just ']'??
+
+    // Two succeeding viramas are replaced by one virama and one ZWNJ.
+    // Viram followed by Nukta is replaced by one VIRAMA and one ZWJ
+    private static final char ZWJ                       = '\u200d';
+    private static final char ZWNJ                      = '\u200c';
+    
+    // Backspace
+    private static final char BACKSPACE                 = '\u0008';
+
+    // Sorted list of characters which can be followed by Nukta
+    protected char[] JOIN_WITH_NUKTA;
+    
+    // Nukta form of the above characters
+    protected char[] NUKTA_FORM;
+        
+    private int log2;
+    private int power;
+    private int extra;
+
+    // cached TextHitInfo. Only one type of TextHitInfo is required.
+    private static final TextHitInfo ZERO_TRAILING_HIT_INFO = TextHitInfo.trailing(0);
+
+    /**
+     * Returns the index of the given character in the JOIN_WITH_NUKTA array.
+     * If character is not found, -1 is returned.
+     */
+    private int nuktaIndex(char ch) {
+        if (JOIN_WITH_NUKTA == null) {
+            return -1;
+        }
+        
+        int probe = power;
+        int index = 0;
+
+        if (JOIN_WITH_NUKTA[extra] <= ch) {
+            index = extra;
+        }
+         
+        while (probe > (1 << 0)) {
+            probe >>= 1;
+
+            if (JOIN_WITH_NUKTA[index + probe] <= ch) {
+                index += probe;
+            }
+        }
+
+        if (JOIN_WITH_NUKTA[index] != ch) {
+            index = -1;
+        }
+
+        return index;
+    }
+    
+    /**
+     * Returns the equivalent character for hindi locale.
+     * @param originalChar The original character.
+     */
+    private char getMappedChar(char originalChar) {
+        if (originalChar <= KBD_MAP.length) {
+            return KBD_MAP[originalChar];
+        }
+        
+        return originalChar;
+    }
+    
+    // Array used to hold the text to be sent.
+    // If the last character was not committed it is stored in text[0].
+    // The variable totalChars give an indication of whether the last
+    // character was committed or not. If at any time ( but not within a
+    // a call to dispatchEvent ) totalChars is not equal to 0 ( it can
+    // only be 1 otherwise ) the last character was not committed.
+    private char [] text = new char[4];
+
+    // this is always 0 before and after call to dispatchEvent. This character assumes
+    // significance only within a call to dispatchEvent.
+    private int committedChars = 0;// number of committed characters
+
+    // the total valid characters in variable text currently.
+    private int totalChars = 0;//number of total characters ( committed + composed )
+
+    private boolean lastCharWasVirama = false;
+    
+    private InputMethodContext context;
+
+    //
+    // Finds the high bit by binary searching
+    // through the bits in n.
+    //
+    private static byte highBit(int n) {
+        if (n <= 0) {
+            return -32;
+        }
+
+        byte bit = 0;
+
+        if (n >= 1 << 16) {
+            n >>= 16;
+            bit += 16;
+        }
+
+        if (n >= 1 << 8) {
+            n >>= 8;
+            bit += 8;
+        }
+
+        if (n >= 1 << 4) {
+            n >>= 4;
+            bit += 4;
+        }
+
+        if (n >= 1 << 2) {
+            n >>= 2;
+            bit += 2;
+        }
+
+        if (n >= 1 << 1) {
+            n >>= 1;
+            bit += 1;
+        }
+
+        return bit;
+    }
+
+    IndicInputMethodImpl(char[] keyboardMap, char[] joinWithNukta, char[] nuktaForm, 
+                         char[][] substitutionTable) {
+        KBD_MAP = keyboardMap;
+        JOIN_WITH_NUKTA = joinWithNukta;
+        NUKTA_FORM = nuktaForm;
+        SUBSTITUTION_TABLE = substitutionTable;
+        
+        if (JOIN_WITH_NUKTA != null) {
+            int log2 = highBit(JOIN_WITH_NUKTA.length);
+            
+            power = 1 << log2;
+            extra = JOIN_WITH_NUKTA.length - power;
+        } else {
+            power = extra = 0;
+        }
+        
+    }
+    
+    void setInputMethodContext(InputMethodContext context) {
+        this.context = context;
+    }
+    
+    void handleKeyTyped(KeyEvent kevent) {
+        char keyChar = kevent.getKeyChar();
+        char currentChar = getMappedChar(keyChar);
+        
+        // The Explicit and Soft Halanta case.
+        if ( lastCharWasVirama ) {
+            switch (keyChar) {
+            case KEY_SIGN_NUKTA:
+                currentChar = ZWJ;
+                break;
+            case KEY_SIGN_VIRAMA:
+                currentChar = ZWNJ;
+                break;
+            default:
+            }//endSwitch
+        }//endif
+
+        if (currentChar == INVALID_CHAR) {
+            kevent.consume();
+            return;
+        }
+
+        if (currentChar == BACKSPACE) {
+            lastCharWasVirama = false;
+            
+            if (totalChars > 0) {
+                totalChars = committedChars = 0;
+            } else {
+                return;
+            }                            
+        }
+        else if (keyChar == KEY_SIGN_NUKTA) {
+            int nuktaIndex = nuktaIndex(text[0]);
+            
+            if (nuktaIndex != -1) {
+                text[0] = NUKTA_FORM[nuktaIndex];
+            } else {
+                // the last character was committed, commit just Nukta.
+                // Note : the lastChar must have been committed if it is not one of
+                // the characters which combine with nukta.
+                // the state must be totalChars = committedChars = 0;
+                text[totalChars++] = currentChar;
+            }
+            
+            committedChars += 1;
+        }
+        else {
+            int nuktaIndex = nuktaIndex(currentChar);
+            
+            if (nuktaIndex != -1) {
+                // Commit everything but currentChar
+                text[totalChars++] = currentChar;
+                committedChars = totalChars-1;
+            } else {
+                if (currentChar >= SUBSTITUTION_BASE) {
+                    char[] sub = SUBSTITUTION_TABLE[currentChar - SUBSTITUTION_BASE];
+                    
+                    System.arraycopy(sub, 0, text, totalChars, sub.length);
+                    totalChars += sub.length;
+                } else {
+                    text[totalChars++] = currentChar;
+                }
+                
+                committedChars = totalChars;
+            }
+        }
+        
+        ACIText aText = new ACIText( text, 0, totalChars, committedChars );
+        int composedCharLength = totalChars - committedChars;
+        TextHitInfo caret=null,visiblePosition=null;
+        switch( composedCharLength ) {
+            case 0:
+                break;
+            case 1:
+                visiblePosition = caret = ZERO_TRAILING_HIT_INFO;
+                break;
+            default:
+                // The code should not reach here. There is no case where there can be
+                // more than one character pending.
+        }
+                        
+        context.dispatchInputMethodEvent(InputMethodEvent.INPUT_METHOD_TEXT_CHANGED,
+                                         aText,
+                                         committedChars,
+                                         caret,
+                                         visiblePosition);
+                                        
+        if (totalChars == 0) {
+            text[0] = INVALID_CHAR;
+        } else {
+            text[0] = text[totalChars - 1];// make text[0] hold the last character
+        }
+        
+        lastCharWasVirama =  keyChar == KEY_SIGN_VIRAMA && !lastCharWasVirama;
+                    
+        totalChars -= committedChars;
+        committedChars = 0;
+        // state now text[0] = last character
+        // totalChars = ( last character committed )? 0 : 1;
+        // committedChars = 0;
+
+        kevent.consume();// prevent client from getting this event.
+    }
+
+    void endComposition() {
+        if( totalChars != 0 ) {// if some character is not committed.
+            ACIText aText = new ACIText( text, 0, totalChars, totalChars );
+            context.dispatchInputMethodEvent( InputMethodEvent.INPUT_METHOD_TEXT_CHANGED,
+                                aText, totalChars, null, null );
+            totalChars = committedChars = 0;
+            text[0] = INVALID_CHAR;
+            lastCharWasVirama = false;
+        }
+    }
+    
+    // custom AttributedCharacterIterator -- much lightweight since currently there is no
+    // attribute defined on the text being generated by the input method.
+    private class ACIText implements AttributedCharacterIterator {
+        private char [] text = null;
+        private int committed = 0;
+        private int index = 0;
+
+        ACIText( char [] chArray, int offset, int length, int committed ) {
+            this.text = new char[length];
+            this.committed = committed;
+            System.arraycopy( chArray, offset, text, 0, length );
+        }
+
+        // CharacterIterator methods.
+        public char first() {
+            return _setIndex( 0 );
+        }
+
+        public char last() {
+            if( text.length == 0 ) {
+                return _setIndex( text.length );
+            }
+            return _setIndex( text.length - 1 );
+        }
+
+        public char current() {
+            if( index == text.length )
+                return DONE;
+            return text[index];
+        }
+
+        public char next() {
+            if( index == text.length ) {
+                return DONE;
+            }
+            return _setIndex( index + 1 );
+        }
+
+        public char previous() {
+            if( index == 0 )
+                return DONE;
+            return _setIndex( index - 1 );
+        }
+
+        public char setIndex(int position) {
+            if( position < 0 || position > text.length ) {
+                throw new IllegalArgumentException();
+            }
+            return _setIndex( position );
+        }
+
+        public int getBeginIndex() {
+            return 0;
+        }
+
+        public int getEndIndex() {
+            return text.length;
+        }
+
+        public int getIndex() {
+            return index;
+        }
+
+        public Object clone() {
+            try {
+                ACIText clone = (ACIText) super.clone();
+                return clone;
+            } catch (CloneNotSupportedException e) {
+                throw new InternalError();
+            }
+        }
+
+        // AttributedCharacterIterator methods.
+        public int getRunStart() {
+            return index >= committed ? committed : 0;
+        }
+
+        public int getRunStart(AttributedCharacterIterator.Attribute attribute) {
+            return (index >= committed &&
+                attribute == TextAttribute.INPUT_METHOD_UNDERLINE) ? committed : 0;
+        }
+
+        public int getRunStart(Set attributes) {
+            return (index >= committed &&
+                    attributes.contains(TextAttribute.INPUT_METHOD_UNDERLINE)) ? committed : 0;
+        }
+
+        public int getRunLimit() {
+            return index < committed ? committed : text.length;
+        }
+
+        public int getRunLimit(AttributedCharacterIterator.Attribute attribute) {
+            return (index < committed && 
+                    attribute == TextAttribute.INPUT_METHOD_UNDERLINE) ? committed : text.length;
+        }
+
+        public int getRunLimit(Set attributes) {
+            return (index < committed &&
+                    attributes.contains(TextAttribute.INPUT_METHOD_UNDERLINE)) ? committed : text.length;
+        }
+
+        public Map getAttributes() {
+            Hashtable result = new Hashtable();
+            if (index >= committed && committed < text.length) {
+                result.put(TextAttribute.INPUT_METHOD_UNDERLINE, 
+                           TextAttribute.UNDERLINE_LOW_ONE_PIXEL);
+            }
+            return result;
+        }
+
+        public Object getAttribute(AttributedCharacterIterator.Attribute attribute) {
+            if (index >= committed && 
+                committed < text.length &&
+                attribute == TextAttribute.INPUT_METHOD_UNDERLINE) {
+
+                return TextAttribute.UNDERLINE_LOW_ONE_PIXEL;
+            }
+            return null;
+        }
+
+        public Set getAllAttributeKeys() {
+            HashSet result = new HashSet();
+            if (committed < text.length) {
+                result.add(TextAttribute.INPUT_METHOD_UNDERLINE);
+            }
+            return result;
+        }
+
+        // private methods
+
+        /**
+         * This is always called with valid i ( 0 < i <= text.length )
+         */
+        private char _setIndex( int i ) {
+            index = i;
+            if( i == text.length ) {
+                return DONE;
+            }
+            return text[i];
+        }
+
+    }
+}
diff --git a/src/com/ibm/icu/dev/tool/ime/indic/KannadaInputMethodDescriptor.java b/src/com/ibm/icu/dev/tool/ime/indic/KannadaInputMethodDescriptor.java
new file mode 100644
index 0000000..8d81126
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/ime/indic/KannadaInputMethodDescriptor.java
@@ -0,0 +1,170 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2000-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+package com.ibm.icu.dev.tool.ime.indic;
+
+import java.util.Locale;
+
+public class KannadaInputMethodDescriptor extends IndicIMDescriptor
+{
+    private static final Locale KANNADA = new Locale("kn", "IN");
+
+    public KannadaInputMethodDescriptor() {
+    super(KANNADA, "Kannada");
+    }
+
+    private static char[] keyboardMap;
+    private static char[][] substitutionTable;
+
+    protected IndicInputMethodImpl getImpl() {
+    if (keyboardMap == null) {
+        keyboardMap = new char[] {
+        /* 00 */ '\u0000',
+        /* 01 */ '\u0001',
+        /* 02 */ '\u0002',
+        /* 03 */ '\u0003',
+        /* 04 */ '\u0004',
+        /* 05 */ '\u0005',
+        /* 06 */ '\u0006',
+        /* 07 */ '\u0007',
+        /* 08 */ '\u0008',
+        /* 09 */ '\u0009',
+        /* 0A */ '\012',
+        /* 0B */ '\u000B',
+        /* 0C */ '\u000C',
+        /* 0D */ '\015',
+        /* 0E */ '\u000E',
+        /* 0F */ '\u000F',
+        /* 10 */ '\u0010',
+        /* 11 */ '\u0011',
+        /* 12 */ '\u0012',
+        /* 13 */ '\u0013',
+        /* 14 */ '\u0014',
+        /* 15 */ '\u0015',
+        /* 16 */ '\u0016',
+        /* 17 */ '\u0017',
+        /* 18 */ '\u0018',
+        /* 19 */ '\u0019',
+        /* 1A */ '\u001A',
+        /* 1B */ '\u001B',
+        /* 1C */ '\u001C',
+        /* 1D */ '\u001D',
+        /* 1E */ '\u001E',
+        /* 1F */ '\u001F',
+        /* 20 */ '\u0020',
+        /* 21 */ '\uFFFF',   // '!'
+        /* 22 */ '\u0CA0',   // '"'
+        /* 23 */ '\uFF00',   // '#'
+        /* 24 */ '\uFFFF',   // '$'
+        /* 25 */ '\uFF01',   // '%'
+        /* 26 */ '\uFF03',   // '&'
+        /* 27 */ '\u0C9F',   // '''
+        /* 28 */ '\u0028',   // '('
+        /* 29 */ '\u0029',   // ')'
+        /* 2A */ '\uFF04',   // '*'
+        /* 2B */ '\u0C8B',   // '+'
+        /* 2C */ '\u002C',   // ','
+        /* 2D */ '\u002D',   // '-'
+        /* 2E */ '\u002E',   // '.'
+        /* 2F */ '\u0CAF',   // '/'
+        /* 30 */ '\u0CE6',   // '0'
+        /* 31 */ '\u0CE7',   // '1'
+        /* 32 */ '\u0CE8',   // '2'
+        /* 33 */ '\u0CE9',   // '3'
+        /* 34 */ '\u0CEA',   // '4'
+        /* 35 */ '\u0CEB',   // '5'
+        /* 36 */ '\u0CEC',   // '6'
+        /* 37 */ '\u0CED',   // '7'
+        /* 38 */ '\u0CEE',   // '8'
+        /* 39 */ '\u0CEF',   // '9'
+        /* 3A */ '\u0C9B',   // ':'
+        /* 3B */ '\u0C9A',   // ';'
+        /* 3C */ '\u0CB7',   // '<'
+        /* 3D */ '\u0CC3',   // '='
+        /* 3E */ '\uFFFF',   // '>'
+        /* 3F */ '\uFFFF',   // '?'
+        /* 40 */ '\uFFFF',   // '@'
+        /* 41 */ '\u0C93',   // 'A'
+        /* 42 */ '\uFFFF',   // 'B'
+        /* 43 */ '\u0CA3',   // 'C'
+        /* 44 */ '\u0C85',   // 'D'
+        /* 45 */ '\u0C86',   // 'E'
+        /* 46 */ '\u0C87',   // 'F'
+        /* 47 */ '\u0C89',   // 'G'
+        /* 48 */ '\u0CAB',   // 'H'
+        /* 49 */ '\u0C98',   // 'I'
+        /* 4A */ '\u0CB1',   // 'J'
+        /* 4B */ '\u0C96',   // 'K'
+        /* 4C */ '\u0CA5',   // 'L'
+        /* 4D */ '\u0CB6',   // 'M'
+        /* 4E */ '\u0CB3',   // 'N'
+        /* 4F */ '\u0CA7',   // 'O'
+        /* 50 */ '\u0C9D',   // 'P'
+        /* 51 */ '\u0C94',   // 'Q'
+        /* 52 */ '\u0C88',   // 'R'
+        /* 53 */ '\u0C8F',   // 'S'
+        /* 54 */ '\u0C8A',   // 'T'
+        /* 55 */ '\u0C99',   // 'U'
+        /* 56 */ '\uFFFF',   // 'V'
+        /* 57 */ '\u0C90',   // 'W'
+        /* 58 */ '\uFFFF',   // 'X'
+        /* 59 */ '\u0CAD',   // 'Y'
+        /* 5A */ '\u0C8E',   // 'Z'
+        /* 5B */ '\u0CA1',   // '['
+        /* 5C */ '\uFFFF',   // '\'
+        /* 5D */ '\uFFFF',   // ']'  (danda - not shown on INSCRIPT chart)
+        /* 5E */ '\uFF02',   // '^'
+        /* 5F */ '\u0C83',   // '_'
+        /* 60 */ '\u0CCA',   // '`'
+        /* 61 */ '\u0CCB',   // 'a'
+        /* 62 */ '\u0CB5',   // 'b'
+        /* 63 */ '\u0CAE',   // 'c'
+        /* 64 */ '\u0CCD',   // 'd'
+        /* 65 */ '\u0CBE',   // 'e'
+        /* 66 */ '\u0CBF',   // 'f'
+        /* 67 */ '\u0CC1',   // 'g'
+        /* 68 */ '\u0CAA',   // 'h'
+        /* 69 */ '\u0C97',   // 'i'
+        /* 6A */ '\u0CB0',   // 'j'
+        /* 6B */ '\u0C95',   // 'k'
+        /* 6C */ '\u0CA4',   // 'l'
+        /* 6D */ '\u0CB8',   // 'm'
+        /* 6E */ '\u0CB2',   // 'n'
+        /* 6F */ '\u0CA6',   // 'o'
+        /* 70 */ '\u0C9C',   // 'p'
+        /* 71 */ '\u0CCC',   // 'q'
+        /* 72 */ '\u0CC0',   // 'r'
+        /* 73 */ '\u0CC7',   // 's'
+        /* 74 */ '\u0CC2',   // 't'
+        /* 75 */ '\u0CB9',   // 'u'
+        /* 76 */ '\u0CA8',   // 'v'
+        /* 77 */ '\u0CC8',   // 'w'
+        /* 78 */ '\u0C82',   // 'x'
+        /* 79 */ '\u0CAC',   // 'y'
+        /* 7A */ '\u0CC6',   // 'z'
+        /* 7B */ '\u0CA2',   // '{'
+        /* 7C */ '\uFFFF',   // '|'
+        /* 7D */ '\u0C9E',   // '}'
+        /* 7E */ '\u0C92',   // '~'
+        /* 7F */ '\u007F'    // ''
+        };
+
+        char[] RA_SUB = {'\u0CCD', '\u0CB0'};
+        char[] CONJ_JA_NYA = {'\u0C9C', '\u0CCD', '\u0C9E'};
+        char[] CONJ_TA_RA = {'\u0CA4', '\u0CCD', '\u0CB0'};
+        char[] CONJ_KA_SSA = {'\u0C95', '\u0CCD', '\u0CB7'};
+        char[] CONJ_SHA_RA = {'\u0CB6', '\u0CCD', '\u0CB0'};
+
+        substitutionTable = new char[][] {
+        RA_SUB, CONJ_JA_NYA, CONJ_TA_RA, CONJ_KA_SSA, CONJ_SHA_RA
+        };
+    }
+
+        return new IndicInputMethodImpl(keyboardMap, null, null, substitutionTable);
+    }
+}
+
diff --git a/src/com/ibm/icu/dev/tool/ime/indic/MalayalamInputMethodDescriptor.java b/src/com/ibm/icu/dev/tool/ime/indic/MalayalamInputMethodDescriptor.java
new file mode 100644
index 0000000..9d9342f
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/ime/indic/MalayalamInputMethodDescriptor.java
@@ -0,0 +1,166 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2000-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+package com.ibm.icu.dev.tool.ime.indic;
+
+import java.util.Locale;
+
+public class MalayalamInputMethodDescriptor extends IndicIMDescriptor
+{
+    private static final Locale MALAYALAM = new Locale("ml", "IN");
+
+    public MalayalamInputMethodDescriptor() {
+    super(MALAYALAM, "Malayalam");
+    }
+
+    private static char[] keyboardMap;
+    private static char[][] substitutionTable;
+    
+    protected IndicInputMethodImpl getImpl() {
+    if (keyboardMap == null) {
+        keyboardMap = new char[] {
+        /* 00 */ '\u0000',
+        /* 01 */ '\u0001',
+        /* 02 */ '\u0002',
+        /* 03 */ '\u0003',
+        /* 04 */ '\u0004',
+        /* 05 */ '\u0005',
+        /* 06 */ '\u0006',
+        /* 07 */ '\u0007',
+        /* 08 */ '\u0008',
+        /* 09 */ '\u0009',
+        /* 0A */ '\012',
+        /* 0B */ '\u000B',
+        /* 0C */ '\u000C',
+        /* 0D */ '\015',
+        /* 0E */ '\u000E',
+        /* 0F */ '\u000F',
+        /* 10 */ '\u0010',
+        /* 11 */ '\u0011',
+        /* 12 */ '\u0012',
+        /* 13 */ '\u0013',
+        /* 14 */ '\u0014',
+        /* 15 */ '\u0015',
+        /* 16 */ '\u0016',
+        /* 17 */ '\u0017',
+        /* 18 */ '\u0018',
+        /* 19 */ '\u0019',
+        /* 1A */ '\u001A',
+        /* 1B */ '\u001B',
+        /* 1C */ '\u001C',
+        /* 1D */ '\u001D',
+        /* 1E */ '\u001E',
+        /* 1F */ '\u001F',
+        /* 20 */ '\u0020',
+        /* 21 */ '\uFFFF',   // '!'
+        /* 22 */ '\u0D20',   // '"'
+        /* 23 */ '\uFF00',   // '#'
+        /* 24 */ '\uFFFF',   // '$'
+        /* 25 */ '\uFFFF',   // '%'
+        /* 26 */ '\uFFFF',   // '&'
+        /* 27 */ '\u0D1F',   // '''
+        /* 28 */ '\u0028',   // '('
+        /* 29 */ '\u0029',   // ')'
+        /* 2A */ '\uFF01',   // '*'
+        /* 2B */ '\u0D0B',   // '+'
+        /* 2C */ '\u002C',   // ','
+        /* 2D */ '\u002D',   // '-'
+        /* 2E */ '\u002E',   // '.'
+        /* 2F */ '\u0D2F',   // '/'
+        /* 30 */ '\u0D66',   // '0'
+        /* 31 */ '\u0D67',   // '1'
+        /* 32 */ '\u0D68',   // '2'
+        /* 33 */ '\u0D69',   // '3'
+        /* 34 */ '\u0D6A',   // '4'
+        /* 35 */ '\u0D6B',   // '5'
+        /* 36 */ '\u0D6C',   // '6'
+        /* 37 */ '\u0D6D',   // '7'
+        /* 38 */ '\u0D6E',   // '8'
+        /* 39 */ '\u0D6F',   // '9'
+        /* 3A */ '\u0D1B',   // ':'
+        /* 3B */ '\u0D1A',   // ';'
+        /* 3C */ '\u0D37',   // '<'
+        /* 3D */ '\u0D43',   // '='
+        /* 3E */ '\uFFFF',   // '>'
+        /* 3F */ '\uFFFF',   // '?'
+        /* 40 */ '\uFFFF',   // '@'
+        /* 41 */ '\u0D13',   // 'A'
+        /* 42 */ '\u0D34',   // 'B'
+        /* 43 */ '\u0D23',   // 'C'
+        /* 44 */ '\u0D05',   // 'D'
+        /* 45 */ '\u0D06',   // 'E'
+        /* 46 */ '\u0D07',   // 'F'
+        /* 47 */ '\u0D09',   // 'G'
+        /* 48 */ '\u0D2B',   // 'H'
+        /* 49 */ '\u0D18',   // 'I'
+        /* 4A */ '\u0D31',   // 'J'
+        /* 4B */ '\u0D16',   // 'K'
+        /* 4C */ '\u0D25',   // 'L'
+        /* 4D */ '\u0D36',   // 'M'
+        /* 4E */ '\u0D33',   // 'N'
+        /* 4F */ '\u0D27',   // 'O'
+        /* 50 */ '\u0D1D',   // 'P'
+        /* 51 */ '\u0D14',   // 'Q'
+        /* 52 */ '\u0D08',   // 'R'
+        /* 53 */ '\u0D0F',   // 'S'
+        /* 54 */ '\u0D0A',   // 'T'
+        /* 55 */ '\u0D19',   // 'U'
+        /* 56 */ '\uFFFF',   // 'V'
+        /* 57 */ '\u0D10',   // 'W'
+        /* 58 */ '\uFFFF',   // 'X'
+        /* 59 */ '\u0D2D',   // 'Y'
+        /* 5A */ '\u0D0E',   // 'Z'
+        /* 5B */ '\u0D21',   // '['
+        /* 5C */ '\uFFFF',   // '\'
+        /* 5D */ '\uFFFF',   // ']' (nukta - no Unicode code value)
+        /* 5E */ '\uFFFF',   // '^'
+        /* 5F */ '\u0D03',   // '_'
+        /* 60 */ '\u0D4A',   // '`'
+        /* 61 */ '\u0D4B',   // 'a'
+        /* 62 */ '\u0D35',   // 'b'
+        /* 63 */ '\u0D2E',   // 'c'
+        /* 64 */ '\u0D4D',   // 'd'
+        /* 65 */ '\u0D3E',   // 'e'
+        /* 66 */ '\u0D3F',   // 'f'
+        /* 67 */ '\u0D41',   // 'g'
+        /* 68 */ '\u0D2A',   // 'h'
+        /* 69 */ '\u0D17',   // 'i'
+        /* 6A */ '\u0D30',   // 'j'
+        /* 6B */ '\u0D15',   // 'k'
+        /* 6C */ '\u0D24',   // 'l'
+        /* 6D */ '\u0D38',   // 'm'
+        /* 6E */ '\u0D32',   // 'n'
+        /* 6F */ '\u0D26',   // 'o'
+        /* 70 */ '\u0D1C',   // 'p'
+        /* 71 */ '\u0D4C',   // 'q'
+        /* 72 */ '\u0D40',   // 'r'
+        /* 73 */ '\u0D47',   // 's'
+        /* 74 */ '\u0D42',   // 't'
+        /* 75 */ '\u0D39',   // 'u'
+        /* 76 */ '\u0D28',   // 'v'
+        /* 77 */ '\u0D48',   // 'w'
+        /* 78 */ '\u0D02',   // 'x'
+        /* 79 */ '\u0D2C',   // 'y'
+        /* 7A */ '\u0D46',   // 'z'
+        /* 7B */ '\u0D22',   // '{'
+        /* 7C */ '\uFFFF',   // '|'
+        /* 7D */ '\u0D1E',   // '}'
+        /* 7E */ '\u0D12',   // '~'
+        /* 7F */ '\u007F'    // ''
+        };
+
+        char[] RA_SUB = {'\u0D4D', '\u0D30'};
+        char[] CONJ_KA_SSA = {'\u0D15', '\u0D4D', '\u0D37'};
+
+        substitutionTable = new char[][] {
+        RA_SUB, CONJ_KA_SSA
+        };
+    }
+
+        return new IndicInputMethodImpl(keyboardMap, null, null, substitutionTable);
+    }
+}
diff --git a/src/com/ibm/icu/dev/tool/ime/indic/OriyaInputMethodDescriptor.java b/src/com/ibm/icu/dev/tool/ime/indic/OriyaInputMethodDescriptor.java
new file mode 100644
index 0000000..3fbaa1e
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/ime/indic/OriyaInputMethodDescriptor.java
@@ -0,0 +1,213 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2000-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+package com.ibm.icu.dev.tool.ime.indic;
+
+import java.util.Locale;
+
+public class OriyaInputMethodDescriptor extends IndicIMDescriptor
+{
+    private static final Locale ORIYA = new Locale("or", "IN");
+
+    public OriyaInputMethodDescriptor() {
+    super(ORIYA, "Oriya");
+    }
+
+    private static char[] keyboardMap;
+    private static char[][] substitutionTable;
+    private static char[] joinWithNukta;
+    private static char[] nuktaForm;
+
+    protected IndicInputMethodImpl getImpl() {
+    if (keyboardMap == null) {
+        keyboardMap = new char[] {
+        /* 00 */ '\u0000',
+        /* 01 */ '\u0001',
+        /* 02 */ '\u0002',
+        /* 03 */ '\u0003',
+        /* 04 */ '\u0004',
+        /* 05 */ '\u0005',
+        /* 06 */ '\u0006',
+        /* 07 */ '\u0007',
+        /* 08 */ '\u0008',
+        /* 09 */ '\u0009',
+        /* 0A */ '\012',
+        /* 0B */ '\u000B',
+        /* 0C */ '\u000C',
+        /* 0D */ '\015',
+        /* 0E */ '\u000E',
+        /* 0F */ '\u000F',
+        /* 10 */ '\u0010',
+        /* 11 */ '\u0011',
+        /* 12 */ '\u0012',
+        /* 13 */ '\u0013',
+        /* 14 */ '\u0014',
+        /* 15 */ '\u0015',
+        /* 16 */ '\u0016',
+        /* 17 */ '\u0017',
+        /* 18 */ '\u0018',
+        /* 19 */ '\u0019',
+        /* 1A */ '\u001A',
+        /* 1B */ '\u001B',
+        /* 1C */ '\u001C',
+        /* 1D */ '\u001D',
+        /* 1E */ '\u001E',
+        /* 1F */ '\u001F',
+        /* 20 */ '\u0020',
+        /* 21 */ '\uFFFF',   // '!'
+        /* 22 */ '\u0B20',   // '"'
+        /* 23 */ '\uFF00',   // '#'
+        /* 24 */ '\uFF01',   // '$'
+        /* 25 */ '\uFF02',   // '%'
+        /* 26 */ '\uFF04',   // '&'
+        /* 27 */ '\u0B1F',   // '''
+        /* 28 */ '\u0028',   // '('
+        /* 29 */ '\u0029',   // ')'
+        /* 2A */ '\uFF05',   // '*'
+        /* 2B */ '\u0B0B',   // '+'
+        /* 2C */ '\u002C',   // ','
+        /* 2D */ '\u002D',   // '-'
+        /* 2E */ '\u002E',   // '.'
+        /* 2F */ '\u0B5F',   // '/'
+        /* 30 */ '\u0B66',   // '0'
+        /* 31 */ '\u0B67',   // '1'
+        /* 32 */ '\u0B68',   // '2'
+        /* 33 */ '\u0B69',   // '3'
+        /* 34 */ '\u0B6A',   // '4'
+        /* 35 */ '\u0B6B',   // '5'
+        /* 36 */ '\u0B6C',   // '6'
+        /* 37 */ '\u0B6D',   // '7'
+        /* 38 */ '\u0B6E',   // '8'
+        /* 39 */ '\u0B6F',   // '9'
+        /* 3A */ '\u0B1B',   // ':'
+        /* 3B */ '\u0B1A',   // ';'
+        /* 3C */ '\u0B37',   // '<'
+        /* 3D */ '\u0B43',   // '='
+        /* 3E */ '\u0964',   // '>' (Devanagari danda)
+        /* 3F */ '\u0B2F',   // '?'
+        /* 40 */ '\uFFFF',   // '@'
+        /* 41 */ '\u0B13',   // 'A'
+        /* 42 */ '\uFFFF',   // 'B'
+        /* 43 */ '\u0B23',   // 'C'
+        /* 44 */ '\u0B05',   // 'D'
+        /* 45 */ '\u0B06',   // 'E'
+        /* 46 */ '\u0B07',   // 'F'
+        /* 47 */ '\u0B09',   // 'G'
+        /* 48 */ '\u0B2B',   // 'H'
+        /* 49 */ '\u0B18',   // 'I'
+        /* 4A */ '\uFFFF',   // 'J'
+        /* 4B */ '\u0B16',   // 'K'
+        /* 4C */ '\u0B25',   // 'L'
+        /* 4D */ '\u0B36',   // 'M'
+        /* 4E */ '\u0B33',   // 'N'
+        /* 4F */ '\u0B27',   // 'O'
+        /* 50 */ '\u0B1D',   // 'P'
+        /* 51 */ '\u0B14',   // 'Q'
+        /* 52 */ '\u0B08',   // 'R'
+        /* 53 */ '\u0B0F',   // 'S'
+        /* 54 */ '\u0B0A',   // 'T'
+        /* 55 */ '\u0B19',   // 'U'
+        /* 56 */ '\uFFFF',   // 'V'
+        /* 57 */ '\u0B10',   // 'W'
+        /* 58 */ '\u0B01',   // 'X'
+        /* 59 */ '\u0B2D',   // 'Y'
+        /* 5A */ '\uFFFF',   // 'Z'
+        /* 5B */ '\u0B21',   // '['
+        /* 5C */ '\uFFFF',   // '\'
+        /* 5D */ '\u0B3C',   // ']'
+        /* 5E */ '\uFF03',   // '^'
+        /* 5F */ '\u0B03',   // '_'
+        /* 60 */ '\uFFFF',   // '`'
+        /* 61 */ '\u0B4B',   // 'a'
+        /* 62 */ '\u0B2C',   // 'b' (va, but no Unicode code point, used ba instead)
+        /* 63 */ '\u0B2E',   // 'c'
+        /* 64 */ '\u0B4D',   // 'd'
+        /* 65 */ '\u0B3E',   // 'e'
+        /* 66 */ '\u0B3F',   // 'f'
+        /* 67 */ '\u0B41',   // 'g'
+        /* 68 */ '\u0B2A',   // 'h'
+        /* 69 */ '\u0B17',   // 'i'
+        /* 6A */ '\u0B30',   // 'j'
+        /* 6B */ '\u0B15',   // 'k'
+        /* 6C */ '\u0B24',   // 'l'
+        /* 6D */ '\u0B38',   // 'm'
+        /* 6E */ '\u0B32',   // 'n'
+        /* 6F */ '\u0B26',   // 'o'
+        /* 70 */ '\u0B1C',   // 'p'
+        /* 71 */ '\u0B4C',   // 'q'
+        /* 72 */ '\u0B40',   // 'r'
+        /* 73 */ '\u0B47',   // 's'
+        /* 74 */ '\u0B42',   // 't'
+        /* 75 */ '\u0B39',   // 'u'
+        /* 76 */ '\u0B28',   // 'v'
+        /* 77 */ '\u0B48',   // 'w'
+        /* 78 */ '\u0B02',   // 'x'
+        /* 79 */ '\u0B2C',   // 'y'
+        /* 7A */ '\uFFFF',   // 'z'
+        /* 7B */ '\u0B22',   // '{'
+        /* 7C */ '\uFFFF',   // '|'
+        /* 7D */ '\u0B1E',   // '}'
+        /* 7E */ '\uFFFF',   // '~'
+        /* 7F */ '\u007F'    // ''
+        };
+
+        char[] RA_SUB = {'\u0B4D', '\u0B30'};
+        char[] RA_SUP = {'\u0B30', '\u0B4D'};
+        char[] CONJ_JA_NYA = {'\u0B1C', '\u0B4D', '\u0B1E'};
+        char[] CONJ_TA_RA = {'\u0B24', '\u0B4D', '\u0B30'};
+        char[] CONJ_KA_SSA = {'\u0B15', '\u0B4D', '\u0B37'};
+        char[] CONJ_SHA_RA = {'\u0B36', '\u0B4D', '\u0B30'};
+
+        substitutionTable = new char[][] {
+        RA_SUB, RA_SUP, CONJ_JA_NYA, CONJ_TA_RA, CONJ_KA_SSA, CONJ_SHA_RA
+        };
+
+        // The following characters followed by Nukta should be replaced
+        // by the corresponding character as defined in ISCII91
+        char LETTER_I              = '\u0B07';
+        char LETTER_II             = '\u0B08';
+        char LETTER_VOCALIC_R      = '\u0B0B';
+        char LETTER_DDA            = '\u0B21';
+        char LETTER_DDHA           = '\u0B22';
+        char VOWEL_SIGN_I          = '\u0B3F';
+        char VOWEL_SIGN_II         = '\u0B40';
+
+        // The following characters replace the above characters followed by Nukta. These
+        // are defined in one to one correspondence order.
+        char LETTER_VOCALIC_L      = '\u0B0C';
+        char LETTER_VOCALIC_LL     = '\u0B61';
+        char LETTER_VOCALIC_RR     = '\u0B60';
+        char LETTER_RRA            = '\u0B5C';
+        char LETTER_RHA            = '\u0B5D';
+        char VOWEL_SIGN_VOCALIC_L  = '\u0B62';
+        char VOWEL_SIGN_VOCALIC_LL = '\u0B63';
+
+        joinWithNukta = new char[] {
+        LETTER_VOCALIC_R ,
+        LETTER_I,
+        LETTER_II,
+        LETTER_DDA,
+        LETTER_DDHA,
+        VOWEL_SIGN_I,
+        VOWEL_SIGN_II
+        };
+    
+        nuktaForm = new char[] {
+        LETTER_VOCALIC_RR,
+        LETTER_VOCALIC_L,
+        LETTER_VOCALIC_LL,
+        LETTER_RRA,
+        LETTER_RHA,
+        VOWEL_SIGN_VOCALIC_L,
+        VOWEL_SIGN_VOCALIC_LL
+        };
+    }
+        
+        return new IndicInputMethodImpl(keyboardMap, joinWithNukta, nuktaForm, substitutionTable);
+    }
+}
+
diff --git a/src/com/ibm/icu/dev/tool/ime/indic/TamilInputMethodDescriptor.java b/src/com/ibm/icu/dev/tool/ime/indic/TamilInputMethodDescriptor.java
new file mode 100644
index 0000000..11fa124
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/ime/indic/TamilInputMethodDescriptor.java
@@ -0,0 +1,167 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2000-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+package com.ibm.icu.dev.tool.ime.indic;
+
+import java.util.Locale;
+
+public class TamilInputMethodDescriptor extends IndicIMDescriptor
+{
+    private static final Locale TAMIL = new Locale("ta", "IN");
+
+    public TamilInputMethodDescriptor() {
+    super(TAMIL, "Tamil");
+    }
+    
+    private static char[] keyboardMap;
+    private static char[][] substitutionTable;
+
+    protected IndicInputMethodImpl getImpl() {
+    if (keyboardMap == null) {
+        keyboardMap = new char[] {
+        /* 00 */ '\u0000',
+        /* 01 */ '\u0001',
+        /* 02 */ '\u0002',
+        /* 03 */ '\u0003',
+        /* 04 */ '\u0004',
+        /* 05 */ '\u0005',
+        /* 06 */ '\u0006',
+        /* 07 */ '\u0007',
+        /* 08 */ '\u0008',
+        /* 09 */ '\u0009',
+        /* 0A */ '\012',
+        /* 0B */ '\u000B',
+        /* 0C */ '\u000C',
+        /* 0D */ '\015',
+        /* 0E */ '\u000E',
+        /* 0F */ '\u000F',
+        /* 10 */ '\u0010',
+        /* 11 */ '\u0011',
+        /* 12 */ '\u0012',
+        /* 13 */ '\u0013',
+        /* 14 */ '\u0014',
+        /* 15 */ '\u0015',
+        /* 16 */ '\u0016',
+        /* 17 */ '\u0017',
+        /* 18 */ '\u0018',
+        /* 19 */ '\u0019',
+        /* 1A */ '\u001A',
+        /* 1B */ '\u001B',
+        /* 1C */ '\u001C',
+        /* 1D */ '\u001D',
+        /* 1E */ '\u001E',
+        /* 1F */ '\u001F',
+        /* 20 */ '\u0020',
+        /* 21 */ '\uFFFF',   // '!'
+        /* 22 */ '\uFFFF',   // '"'
+        /* 23 */ '\uFFFF',   // '#'
+        /* 24 */ '\uFFFF',   // '$'
+        /* 25 */ '\uFFFF',   // '%'
+        /* 26 */ '\uFF00',   // '&'
+        /* 27 */ '\u0B9F',   // '''
+        /* 28 */ '\u0028',   // '('
+        /* 29 */ '\u0029',   // ')'
+        /* 2A */ '\uFF01',   // '*'
+        /* 2B */ '\uFFFF',   // '+'
+        /* 2C */ '\u002C',   // ','
+        /* 2D */ '\u002D',   // '-'
+        /* 2E */ '\u002E',   // '.'
+        /* 2F */ '\u0BAF',   // '/'
+        /* 30 */ '\u0BE6',   // '0'
+        /* 31 */ '\u0BE7',   // '1'
+        /* 32 */ '\u0BE8',   // '2'
+        /* 33 */ '\u0BE9',   // '3'
+        /* 34 */ '\u0BEA',   // '4'
+        /* 35 */ '\u0BEB',   // '5'
+        /* 36 */ '\u0BEC',   // '6'
+        /* 37 */ '\u0BED',   // '7'
+        /* 38 */ '\u0BEE',   // '8'
+        /* 39 */ '\u0BEF',   // '9'
+        /* 3A */ '\uFFFF',   // ':'
+        /* 3B */ '\u0B9A',   // ';'
+        /* 3C */ '\u0BB7',   // '<'
+        /* 3D */ '\uFFFF',   // '='
+        /* 3E */ '\u0964',   // '>'  (Devanagari danda)
+        /* 3F */ '\uFFFF',   // '?'
+        /* 40 */ '\uFFFF',   // '@'
+        /* 41 */ '\u0B93',   // 'A'
+        /* 42 */ '\u0BB4',   // 'B'
+        /* 43 */ '\u0BA3',   // 'C'
+        /* 44 */ '\u0B85',   // 'D'
+        /* 45 */ '\u0B86',   // 'E'
+        /* 46 */ '\u0B87',   // 'F'
+        /* 47 */ '\u0B89',   // 'G'
+        /* 48 */ '\uFFFF',   // 'H'
+        /* 49 */ '\uFFFF',   // 'I'
+        /* 4A */ '\u0BB1',   // 'J'
+        /* 4B */ '\uFFFF',   // 'K'
+        /* 4C */ '\uFFFF',   // 'L'
+        /* 4D */ '\uFFFF',   // 'M'
+        /* 4E */ '\u0BB3',   // 'N'
+        /* 4F */ '\uFFFF',   // 'O'
+        /* 50 */ '\uFFFF',   // 'P'
+        /* 51 */ '\u0B94',   // 'Q'
+        /* 52 */ '\u0B88',   // 'R'
+        /* 53 */ '\u0B8F',   // 'S'
+        /* 54 */ '\u0B8A',   // 'T'
+        /* 55 */ '\u0B99',   // 'U'
+        /* 56 */ '\u0BA9',   // 'V'
+        /* 57 */ '\u0B90',   // 'W'
+        /* 58 */ '\uFFFF',   // 'X'
+        /* 59 */ '\uFFFF',   // 'Y'
+        /* 5A */ '\u0B8E',   // 'Z'
+        /* 5B */ '\uFFFF',   // '['
+        /* 5C */ '\uFFFF',   // '\'
+        /* 5D */ '\uFFFF',   // ']'
+        /* 5E */ '\uFFFF',   // '^'
+        /* 5F */ '\u0B83',   // '_'
+        /* 60 */ '\u0BCA',   // '`'
+        /* 61 */ '\u0BCB',   // 'a'
+        /* 62 */ '\u0BB5',   // 'b'
+        /* 63 */ '\u0BAE',   // 'c'
+        /* 64 */ '\u0BCD',   // 'd'
+        /* 65 */ '\u0BBE',   // 'e'
+        /* 66 */ '\u0BBF',   // 'f'
+        /* 67 */ '\u0BC1',   // 'g'
+        /* 68 */ '\u0BAA',   // 'h'
+        /* 69 */ '\uFFFF',   // 'i'
+        /* 6A */ '\u0BB0',   // 'j'
+        /* 6B */ '\u0B95',   // 'k'
+        /* 6C */ '\u0BA4',   // 'l'
+        /* 6D */ '\u0BB8',   // 'm'
+        /* 6E */ '\u0BB2',   // 'n'
+        /* 6F */ '\uFFFF',   // 'o'
+        /* 70 */ '\u0B9C',   // 'p'
+        /* 71 */ '\u0BCC',   // 'q'
+        /* 72 */ '\u0BC0',   // 'r'
+        /* 73 */ '\u0BC7',   // 's'
+        /* 74 */ '\u0BC2',   // 't'
+        /* 75 */ '\u0BB9',   // 'u'
+        /* 76 */ '\u0BA8',   // 'v'
+        /* 77 */ '\u0BC8',   // 'w'
+        /* 78 */ '\u0B82',   // 'x'
+        /* 79 */ '\uFFFF',   // 'y'
+        /* 7A */ '\u0BC6',   // 'z'
+        /* 7B */ '\uFFFF',   // '{'
+        /* 7C */ '\uFFFF',   // '|'
+        /* 7D */ '\u0B9E',   // '}'
+        /* 7E */ '\u0B92',   // '~'
+        /* 7F */ '\u007F'    // ''
+        };
+
+        char[] CONJ_KA_SSA = {'\u0B95', '\u0BCD', '\u0BB7'};
+        char[] CONJ_SSA_RA = {'\u0BB7', '\u0BCD', '\u0BB0'};
+
+        substitutionTable = new char[][] {
+        CONJ_KA_SSA, CONJ_SSA_RA
+        };
+    }
+
+        return new IndicInputMethodImpl(keyboardMap, null, null, substitutionTable);
+    }
+}
+
diff --git a/src/com/ibm/icu/dev/tool/ime/indic/TeluguInputMethodDescriptor.java b/src/com/ibm/icu/dev/tool/ime/indic/TeluguInputMethodDescriptor.java
new file mode 100644
index 0000000..e1f26be
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/ime/indic/TeluguInputMethodDescriptor.java
@@ -0,0 +1,169 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2000-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+package com.ibm.icu.dev.tool.ime.indic;
+
+import java.util.Locale;
+
+public class TeluguInputMethodDescriptor extends IndicIMDescriptor
+{
+    private static final Locale TELUGU = new Locale("te", "IN");
+
+    public TeluguInputMethodDescriptor() {
+    super(TELUGU, "Telugu");
+    }
+
+    private static char[] keyboardMap;
+    private static char[][] substitutionTable;
+
+    protected IndicInputMethodImpl getImpl() {
+    if (keyboardMap == null) {
+        keyboardMap = new char[] {
+        /* 00 */ '\u0000',
+        /* 01 */ '\u0001',
+        /* 02 */ '\u0002',
+        /* 03 */ '\u0003',
+        /* 04 */ '\u0004',
+        /* 05 */ '\u0005',
+        /* 06 */ '\u0006',
+        /* 07 */ '\u0007',
+        /* 08 */ '\u0008',
+        /* 09 */ '\u0009',
+        /* 0A */ '\012',
+        /* 0B */ '\u000B',
+        /* 0C */ '\u000C',
+        /* 0D */ '\015',
+        /* 0E */ '\u000E',
+        /* 0F */ '\u000F',
+        /* 10 */ '\u0010',
+        /* 11 */ '\u0011',
+        /* 12 */ '\u0012',
+        /* 13 */ '\u0013',
+        /* 14 */ '\u0014',
+        /* 15 */ '\u0015',
+        /* 16 */ '\u0016',
+        /* 17 */ '\u0017',
+        /* 18 */ '\u0018',
+        /* 19 */ '\u0019',
+        /* 1A */ '\u001A',
+        /* 1B */ '\u001B',
+        /* 1C */ '\u001C',
+        /* 1D */ '\u001D',
+        /* 1E */ '\u001E',
+        /* 1F */ '\u001F',
+        /* 20 */ '\u0020',
+        /* 21 */ '\uFFFF',   // '!'
+        /* 22 */ '\u0C20',   // '"'
+        /* 23 */ '\uFF00',   // '#'
+        /* 24 */ '\uFFFF',   // '$'
+        /* 25 */ '\uFF01',   // '%'
+        /* 26 */ '\uFF03',   // '&'
+        /* 27 */ '\u0C1F',   // '''
+        /* 28 */ '\u0028',   // '('
+        /* 29 */ '\u0029',   // ')'
+        /* 2A */ '\uFF04',   // '*'
+        /* 2B */ '\u0C0B',   // '+'
+        /* 2C */ '\u002C',   // ','
+        /* 2D */ '\u002D',   // '-'
+        /* 2E */ '\u002E',   // '.'
+        /* 2F */ '\u0C2F',   // '/'
+        /* 30 */ '\u0C66',   // '0'
+        /* 31 */ '\u0C67',   // '1'
+        /* 32 */ '\u0C68',   // '2'
+        /* 33 */ '\u0C69',   // '3'
+        /* 34 */ '\u0C6A',   // '4'
+        /* 35 */ '\u0C6B',   // '5'
+        /* 36 */ '\u0C6C',   // '6'
+        /* 37 */ '\u0C6D',   // '7'
+        /* 38 */ '\u0C6E',   // '8'
+        /* 39 */ '\u0C6F',   // '9'
+        /* 3A */ '\u0C1B',   // ':'
+        /* 3B */ '\u0C1A',   // ';'
+        /* 3C */ '\u0C37',   // '<'
+        /* 3D */ '\u0C43',   // '='
+        /* 3E */ '\u0964',   // '>'  (Devanagari danda - not shown on INSCRIPT chart)
+        /* 3F */ '\uFFFF',   // '?'
+        /* 40 */ '\uFFFF',   // '@'
+        /* 41 */ '\u0C13',   // 'A'
+        /* 42 */ '\uFFFF',   // 'B'
+        /* 43 */ '\u0C23',   // 'C'
+        /* 44 */ '\u0C05',   // 'D'
+        /* 45 */ '\u0C06',   // 'E'
+        /* 46 */ '\u0C07',   // 'F'
+        /* 47 */ '\u0C09',   // 'G'
+        /* 48 */ '\u0C2B',   // 'H'
+        /* 49 */ '\u0C18',   // 'I'
+        /* 4A */ '\u0C31',   // 'J'
+        /* 4B */ '\u0C16',   // 'K'
+        /* 4C */ '\u0C25',   // 'L'
+        /* 4D */ '\u0C36',   // 'M'
+        /* 4E */ '\u0C33',   // 'N'
+        /* 4F */ '\u0C27',   // 'O'
+        /* 50 */ '\u0C1D',   // 'P'
+        /* 51 */ '\u0C14',   // 'Q'
+        /* 52 */ '\u0C08',   // 'R'
+        /* 53 */ '\u0C0F',   // 'S'
+        /* 54 */ '\u0C0A',   // 'T'
+        /* 55 */ '\u0C19',   // 'U'
+        /* 56 */ '\uFFFF',   // 'V'
+        /* 57 */ '\u0C10',   // 'W'
+        /* 58 */ '\u0C01',   // 'X'
+        /* 59 */ '\u0C2D',   // 'Y'
+        /* 5A */ '\u0C0E',   // 'Z'
+        /* 5B */ '\u0C21',   // '['
+        /* 5C */ '\uFFFF',   // '\'
+        /* 5D */ '\uFFFF',   // ']'
+        /* 5E */ '\uFF02',   // '^'
+        /* 5F */ '\u0C03',   // '_'
+        /* 60 */ '\u0C4A',   // '`'
+        /* 61 */ '\u0C4B',   // 'a'
+        /* 62 */ '\u0C35',   // 'b'
+        /* 63 */ '\u0C2E',   // 'c'
+        /* 64 */ '\u0C4D',   // 'd'
+        /* 65 */ '\u0C3E',   // 'e'
+        /* 66 */ '\u0C3F',   // 'f'
+        /* 67 */ '\u0C41',   // 'g'
+        /* 68 */ '\u0C2A',   // 'h'
+        /* 69 */ '\u0C17',   // 'i'
+        /* 6A */ '\u0C30',   // 'j'
+        /* 6B */ '\u0C15',   // 'k'
+        /* 6C */ '\u0C24',   // 'l'
+        /* 6D */ '\u0C38',   // 'm'
+        /* 6E */ '\u0C32',   // 'n'
+        /* 6F */ '\u0C26',   // 'o'
+        /* 70 */ '\u0C1C',   // 'p'
+        /* 71 */ '\u0C4C',   // 'q'
+        /* 72 */ '\u0C40',   // 'r'
+        /* 73 */ '\u0C47',   // 's'
+        /* 74 */ '\u0C42',   // 't'
+        /* 75 */ '\u0C39',   // 'u'
+        /* 76 */ '\u0C28',   // 'v'
+        /* 77 */ '\u0C48',   // 'w'
+        /* 78 */ '\u0C02',   // 'x'
+        /* 79 */ '\u0C2C',   // 'y'
+        /* 7A */ '\u0C46',   // 'z'
+        /* 7B */ '\u0C22',   // '{'
+        /* 7C */ '\uFFFF',   // '|'
+        /* 7D */ '\u0C1E',   // '}'
+        /* 7E */ '\u0C12',   // '~'
+        /* 7F */ '\u007F'    // ''
+        };
+
+        char[] RA_SUB = {'\u0C4D', '\u0C30'};
+        char[] CONJ_JA_NYA = {'\u0C1C', '\u0C4D', '\u0C1E'};
+        char[] CONJ_TA_RA = {'\u0C24', '\u0C4D', '\u0C30'};
+        char[] CONJ_KA_SSA = {'\u0C15', '\u0C4D', '\u0C37'};
+        char[] CONJ_SHA_RA = {'\u0C36', '\u0C4D', '\u0C30'};
+
+        substitutionTable = new char[][] {
+        RA_SUB, CONJ_JA_NYA, CONJ_TA_RA, CONJ_KA_SSA, CONJ_SHA_RA
+        };
+    }
+
+    return new IndicInputMethodImpl(keyboardMap, null, null, substitutionTable);
+    }
+}
diff --git a/src/com/ibm/icu/dev/tool/ime/indic/manifest.stub b/src/com/ibm/icu/dev/tool/ime/indic/manifest.stub
new file mode 100644
index 0000000..705ccf0
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/ime/indic/manifest.stub
@@ -0,0 +1,14 @@
+Manifest-Version: 1.0
+
+Name: com/ibm/icu/dev/tool/ime/indic
+Specification-Title: ICU Indic IME
+Specification-Version: 1.0
+Specification-Vendor: IBM
+Implementation-Title: ICU Indic IME
+Implementation-Version: 1.0
+Implementation-Vendor: IBM Corporation
+Implementation-Vendor-Id: com.ibm
+Copyright-Info: Copyright (c) 2000-2004, International Business Machines Corporation and others.  All Rights Reserved.
+Extension-Name: com.ibm.icu.dev.tool.ime.indic
+
+
diff --git a/src/com/ibm/icu/dev/tool/ime/indic/services/java.awt.im.spi.InputMethodDescriptor b/src/com/ibm/icu/dev/tool/ime/indic/services/java.awt.im.spi.InputMethodDescriptor
new file mode 100644
index 0000000..2ae5b1c
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/ime/indic/services/java.awt.im.spi.InputMethodDescriptor
@@ -0,0 +1,9 @@
+com.ibm.icu.dev.tool.ime.indic.BengaliInputMethodDescriptor
+com.ibm.icu.dev.tool.ime.indic.DevanagariInputMethodDescriptor
+com.ibm.icu.dev.tool.ime.indic.GujaratiInputMethodDescriptor
+com.ibm.icu.dev.tool.ime.indic.GurmukhiInputMethodDescriptor
+com.ibm.icu.dev.tool.ime.indic.KannadaInputMethodDescriptor
+com.ibm.icu.dev.tool.ime.indic.MalayalamInputMethodDescriptor
+com.ibm.icu.dev.tool.ime.indic.OriyaInputMethodDescriptor
+com.ibm.icu.dev.tool.ime.indic.TamilInputMethodDescriptor
+com.ibm.icu.dev.tool.ime.indic.TeluguInputMethodDescriptor
diff --git a/src/com/ibm/icu/dev/tool/ime/translit/Transliterator.properties b/src/com/ibm/icu/dev/tool/ime/translit/Transliterator.properties
new file mode 100644
index 0000000..d1fa411
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/ime/translit/Transliterator.properties
@@ -0,0 +1,20 @@
+#
+#*******************************************************************************
+#* Copyright (C) 1996-2004, International Business Machines Corporation and    *
+#* others. All Rights Reserved.                                                *
+#*******************************************************************************
+#
+# Default messages for the ICU transliterator input method.
+#
+
+name=ICU Transliterator
+title=ICU Transliterator Input Method
+start=Please wait, loading transliterators
+activeError=Dispatch method called while the IME was inactive
+disposedError=Dispatch called after IME was disposed
+inputError=Dispatch called without an InputEvent
+activateError=IME is already active
+deactivateError=IME is already deactivated
+hideError=Cannot hide IME while active
+disposeError=Cannot dispose IME while active
+multipleDisposeError=IME is already disposed
\ No newline at end of file
diff --git a/src/com/ibm/icu/dev/tool/ime/translit/TransliteratorInputMethod.java b/src/com/ibm/icu/dev/tool/ime/translit/TransliteratorInputMethod.java
new file mode 100644
index 0000000..7ce5bfd
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/ime/translit/TransliteratorInputMethod.java
@@ -0,0 +1,690 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2004, International Business Machines Corporation and         *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+package com.ibm.icu.dev.tool.ime.translit;
+
+import java.awt.AWTEvent;
+import java.awt.Color;
+import java.awt.Component;
+import java.awt.Dimension;
+import java.awt.Point;
+import java.awt.Rectangle;
+import java.awt.Toolkit;
+import java.awt.Window;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.awt.event.InputEvent;
+import java.awt.event.InputMethodEvent;
+import java.awt.event.KeyEvent;
+import java.awt.event.MouseEvent;
+import java.awt.font.TextAttribute;
+import java.awt.font.TextHitInfo;
+import java.awt.im.InputMethodHighlight;
+import java.awt.im.spi.InputMethod;
+import java.awt.im.spi.InputMethodContext;
+import java.text.AttributedString;
+import java.util.Comparator;
+import java.util.Enumeration;
+import java.util.Locale;
+import java.util.MissingResourceException;
+import java.util.ResourceBundle;
+import java.util.TreeSet;
+
+import javax.swing.JComboBox;
+import javax.swing.JLabel;
+import javax.swing.JList;
+import javax.swing.ListCellRenderer;
+
+import com.ibm.icu.impl.Utility;
+import com.ibm.icu.lang.UCharacter;
+import com.ibm.icu.text.Collator;
+import com.ibm.icu.text.ReplaceableString;
+import com.ibm.icu.text.Transliterator;
+
+public class TransliteratorInputMethod implements InputMethod {
+
+    private static boolean usesAttachedIME() {
+    // we're in the ext directory so permissions are not an issue
+    String os = System.getProperty("os.name");
+    if (os != null) {
+        return os.indexOf("Windows") == -1;
+    }
+    return false;
+    }
+
+    // true if Solaris style; false if PC style, assume Apple uses PC style for now
+    private static final boolean attachedStatusWindow = usesAttachedIME();
+
+    // the shared status window
+    private static Window statusWindow;
+
+    // current or last owner
+    private static TransliteratorInputMethod statusWindowOwner;
+
+    // cache location limits for attached
+    private static Rectangle attachedLimits;
+
+    // convenience of access, to reflect the current state
+    private static JComboBox choices;
+
+    //
+    // per-instance state
+    //
+
+    // if we're attached, the status window follows the client window
+    private Point attachedLocation;
+
+    private static int gid;
+
+    private int id = gid++;
+
+    InputMethodContext imc;
+    private boolean enabled = true;
+
+    private int selectedIndex = -1; // index in JComboBox corresponding to our transliterator
+    private Transliterator transliterator;
+    private int desiredContext;
+    private StringBuffer buffer;
+    private ReplaceableString replaceableText;
+    private Transliterator.Position index;
+
+    // debugging
+    private static boolean TRACE_EVENT = false;
+    private static boolean TRACE_MESSAGES = false;
+    private static boolean TRACE_BUFFER = false;
+
+    public TransliteratorInputMethod() {
+    if (TRACE_MESSAGES) dumpStatus("<constructor>");
+
+        buffer = new StringBuffer();
+        replaceableText = new ReplaceableString(buffer);
+    index = new Transliterator.Position();
+    }
+
+    public void dumpStatus(String msg) {
+    System.out.println("(" + this + ") " + msg);
+    }
+
+    public void setInputMethodContext(InputMethodContext context) {
+    initStatusWindow(context);
+
+    imc = context;
+    imc.enableClientWindowNotification(this, attachedStatusWindow);
+    }
+
+    private static void initStatusWindow(InputMethodContext context) {
+    if (statusWindow == null) {
+        String title;
+            try {
+        ResourceBundle rb = ResourceBundle.getBundle("com.ibm.icu.dev.tool.ime.translit.Transliterator");
+                title = rb.getString("title");
+            }
+            catch (MissingResourceException m) {
+        System.out.println("Transliterator resources missing: " + m);
+                title = "Transliterator Input Method";
+            }
+
+            Window sw = context.createInputMethodWindow(title, false);
+
+        // get all the ICU Transliterators
+        Enumeration e = Transliterator.getAvailableIDs();
+        TreeSet types = new TreeSet(new LabelComparator());
+
+        while(e.hasMoreElements()) {
+        String id = (String) e.nextElement();
+        String name = Transliterator.getDisplayName(id);
+        JLabel label = new JLabel(name);
+        label.setName(id);
+        types.add(label);
+        }
+
+        // add the transliterators to the combo box
+
+        choices = new JComboBox(types.toArray());
+       
+        choices.setEditable(false);
+        choices.setSelectedIndex(0);
+        choices.setRenderer(new NameRenderer());
+        choices.setActionCommand("transliterator");
+        
+        choices.addActionListener(new ActionListener() {
+            public void actionPerformed(ActionEvent e) {
+            if (statusWindowOwner != null) {
+                statusWindowOwner.statusWindowAction(e);
+            }
+            }
+        });
+
+        sw.add(choices);
+        sw.pack();
+
+        Dimension sd = Toolkit.getDefaultToolkit().getScreenSize();
+        Dimension wd = sw.getSize();
+        if (attachedStatusWindow) {
+        attachedLimits = new Rectangle(0, 0, sd.width - wd.width, sd.height - wd.height);
+        } else {
+        sw.setLocation(sd.width - wd.width,
+                   sd.height - wd.height - 25);
+        }
+        
+        synchronized (TransliteratorInputMethod.class) {
+        if (statusWindow == null) {
+            statusWindow = sw;
+        }
+        }
+    }
+    }
+
+    private void statusWindowAction(ActionEvent e) {
+    if (TRACE_MESSAGES) dumpStatus(">>status window action");
+    JComboBox cb = (JComboBox)e.getSource();
+    int si = cb.getSelectedIndex();
+    if (si != selectedIndex) { // otherwise, we don't need to change
+        if (TRACE_MESSAGES) dumpStatus("status window action oldIndex: " + selectedIndex + " newIndex: " + si);
+        
+        selectedIndex = si;
+
+        JLabel item = (JLabel)cb.getSelectedItem();
+            
+        // construct the actual transliterator
+        // commit any text that may be present first
+        commitAll();
+
+        transliterator = Transliterator.getInstance(item.getName());
+        desiredContext = transliterator.getMaximumContextLength();
+
+        reset();
+    }
+    if (TRACE_MESSAGES) dumpStatus("<<status window action");
+    }
+
+    // java has no pin to rectangle function?
+    private static void pin(Point p, Rectangle r) {
+    if (p.x < r.x) { p.x = r.x; } else if (p.x > r.x + r.width) { p.x = r.x + r.width; }
+    if (p.y < r.y) { p.y = r.y; } else if (p.y > r.y + r.height) { p.y = r.y + r.height; }
+    }
+
+    public void notifyClientWindowChange(Rectangle location) {
+    if (TRACE_MESSAGES) dumpStatus(">>notify client window change: " + location);
+    synchronized (TransliteratorInputMethod.class) {
+        if (statusWindowOwner == this) {
+        if (location == null) {
+            statusWindow.setVisible(false);
+        } else {
+            attachedLocation = new Point(location.x, location.y + location.height);
+            pin(attachedLocation, attachedLimits);
+            statusWindow.setLocation(attachedLocation);
+            statusWindow.setVisible(true);
+        }
+        }
+    }
+    if (TRACE_MESSAGES) dumpStatus("<<notify client window change: " + location);
+    }
+
+    public void activate() {
+    if (TRACE_MESSAGES) dumpStatus(">>activate");
+
+        synchronized (TransliteratorInputMethod.class) {
+        if (statusWindowOwner != this) {
+        if (TRACE_MESSAGES) dumpStatus("setStatusWindowOwner from: " + statusWindowOwner + " to: " + this);
+
+        statusWindowOwner = this;
+        if (attachedStatusWindow && attachedLocation != null) { // will be null before first change notification
+            statusWindow.setLocation(attachedLocation);
+        }
+        choices.setSelectedIndex(selectedIndex == -1 ? choices.getSelectedIndex() : selectedIndex);
+        }
+
+        choices.setForeground(Color.BLACK);
+        statusWindow.setVisible(true);
+    }
+    if (TRACE_MESSAGES) dumpStatus("<<activate");
+    }
+    
+    public void deactivate(boolean isTemporary) {
+    if (TRACE_MESSAGES) dumpStatus(">>deactivate" + (isTemporary ? " (temporary)" : ""));
+    if (!isTemporary) {
+        synchronized(TransliteratorInputMethod.class) {
+        choices.setForeground(Color.LIGHT_GRAY);
+        }
+    }
+    if (TRACE_MESSAGES) dumpStatus("<<deactivate" + (isTemporary ? " (temporary)" : ""));
+    }
+    
+    public void hideWindows() {
+    if (TRACE_MESSAGES) dumpStatus(">>hideWindows");
+    synchronized (TransliteratorInputMethod.class) {
+        if (statusWindowOwner == this) {
+        if (TRACE_MESSAGES) dumpStatus("hiding");
+        statusWindow.setVisible(false);
+        }
+    }
+    if (TRACE_MESSAGES) dumpStatus("<<hideWindows");
+    }
+    
+    public boolean setLocale(Locale locale) {
+        return false;
+    }
+    
+    public Locale getLocale() {
+        return Locale.getDefault();
+    }
+    
+    public void setCharacterSubsets(Character.Subset[] subsets) {
+    }
+
+    public void reconvert() {
+    throw new UnsupportedOperationException();
+    }
+
+    public void removeNotify() {
+    if (TRACE_MESSAGES) dumpStatus("**removeNotify");
+    }
+    
+    public void endComposition() {
+    commitAll();
+    }
+
+    public void dispose() {
+    if (TRACE_MESSAGES) dumpStatus("**dispose");
+    }
+    
+    public Object getControlObject() {
+        return null;
+    }
+    
+    public void setCompositionEnabled(boolean enable) {
+    enabled = enable;
+    }
+
+    public boolean isCompositionEnabled() {
+    return enabled;
+    }
+
+    // debugging
+    private String eventInfo(AWTEvent event) {
+    String info = event.toString();
+    StringBuffer buf = new StringBuffer();
+    int index1 = info.indexOf("[");
+    int index2 = info.indexOf(",", index1);
+    buf.append(info.substring(index1+1, index2));
+
+    index1 = info.indexOf("] on ");
+    index2 = info.indexOf("[", index1);
+    if (index2 != -1) {
+        int index3 = info.lastIndexOf(".", index2);
+        if (index3 < index1 + 4) {
+        index3 = index1 + 4;
+        }
+        buf.append(" on ");
+        buf.append(info.substring(index3+1, index2));
+    }
+    return buf.toString();
+    }
+
+    public void dispatchEvent(AWTEvent event) {
+    final int MODIFIERS = 
+        InputEvent.CTRL_MASK | 
+        InputEvent.META_MASK | 
+        InputEvent.ALT_MASK | 
+        InputEvent.ALT_GRAPH_MASK;
+
+    switch (event.getID()) {
+    case MouseEvent.MOUSE_PRESSED:
+        if (enabled) {
+        if (TRACE_EVENT) System.out.println("TIM: " + eventInfo(event));
+        // we'll get this even if the user is scrolling, can we rely on the component?
+        // commitAll(); // don't allow even clicks within our own edit area
+        }
+        break;
+
+    case KeyEvent.KEY_TYPED: {
+        if (enabled) {
+        KeyEvent ke = (KeyEvent)event;
+        if (TRACE_EVENT) System.out.println("TIM: " + eventInfo(ke));
+        if ((ke.getModifiers() & MODIFIERS) != 0) {
+            commitAll(); // assume a command, let it go through
+        } else {
+            if (handleTyped(ke.getKeyChar())) {
+            ke.consume();
+            }
+        }
+        }
+    } break;
+
+    case KeyEvent.KEY_PRESSED: {
+        if (enabled) {
+        KeyEvent ke = (KeyEvent)event;
+        if (TRACE_EVENT) System.out.println("TIM: " + eventInfo(ke));
+        if (handlePressed(ke.getKeyCode())) {
+            ke.consume();
+        }
+        }
+    } break;
+
+    case KeyEvent.KEY_RELEASED: {
+        // this won't autorepeat, which is better for toggle actions
+        KeyEvent ke = (KeyEvent)event;
+        if (ke.getKeyCode() == KeyEvent.VK_SPACE && ke.isControlDown()) {
+        setCompositionEnabled(!enabled);
+        }
+    } break;
+
+    default:
+        break;
+    }
+    }
+
+    /** Wipe clean */
+    private void reset() {
+    buffer.delete(0, buffer.length());
+    index.contextStart = index.contextLimit = index.start = index.limit = 0;
+    }
+
+    // committed}context-composed|composed
+    //          ^       ^        ^
+    //         cc     start    ctxLim
+
+    private void traceBuffer(String msg, int cc, int off) {
+    if (TRACE_BUFFER) System.out.println(Utility.escape(msg + ": '" + buffer.substring(0, cc) + '}' +
+               buffer.substring(cc, index.start) + '-' +
+               buffer.substring(index.start, index.contextLimit) + '|' +
+               buffer.substring(index.contextLimit) + '\''));
+    }
+
+    private void update(boolean flush) {
+    int len = buffer.length();
+    String text = buffer.toString();
+    AttributedString as = new AttributedString(text);
+
+    int cc, off;
+    if (flush) {
+        off = index.contextLimit - len; // will be negative
+        cc = index.start = index.limit = index.contextLimit = len;
+    } else {
+        cc = index.start > desiredContext ? index.start - desiredContext : 0;
+        off = index.contextLimit - cc;
+    }
+
+    if (index.start < len) {
+        as.addAttribute(TextAttribute.INPUT_METHOD_HIGHLIGHT, 
+                InputMethodHighlight.SELECTED_RAW_TEXT_HIGHLIGHT,
+                index.start, len);
+    }
+    
+    imc.dispatchInputMethodEvent(InputMethodEvent.INPUT_METHOD_TEXT_CHANGED,
+                     as.getIterator(),
+                     cc,
+                     TextHitInfo.leading(off),
+                     null);
+
+    traceBuffer("update", cc, off);
+
+    if (cc > 0) {
+        buffer.delete(0, cc);
+        index.start -= cc;
+        index.limit -= cc;
+        index.contextLimit -= cc;
+    }
+    }
+
+    private void updateCaret() {
+    imc.dispatchInputMethodEvent(InputMethodEvent.CARET_POSITION_CHANGED,
+                     null,
+                     0,
+                     TextHitInfo.leading(index.contextLimit),
+                     null);
+    traceBuffer("updateCaret", 0, index.contextLimit);
+    }
+    
+    private void caretToStart() {
+    if (index.contextLimit > index.start) {
+        index.contextLimit = index.limit = index.start;
+        updateCaret();
+    }
+    }
+
+    private void caretToLimit() {
+    if (index.contextLimit < buffer.length()) {
+        index.contextLimit = index.limit = buffer.length();
+        updateCaret();
+    }
+    }
+
+    private boolean caretTowardsStart() {
+    int bufpos = index.contextLimit;
+    if (bufpos > index.start) {
+        --bufpos;
+        if (bufpos > index.start &&
+        UCharacter.isLowSurrogate(buffer.charAt(bufpos)) &&
+        UCharacter.isHighSurrogate(buffer.charAt(bufpos-1))) {
+        --bufpos;
+        }
+        index.contextLimit = index.limit = bufpos;
+        updateCaret();
+        return true;
+    }
+    return commitAll();
+    }
+
+    private boolean caretTowardsLimit() {
+    int bufpos = index.contextLimit;
+    if (bufpos < buffer.length()) {
+        ++bufpos;
+        if (bufpos < buffer.length() &&
+        UCharacter.isLowSurrogate(buffer.charAt(bufpos)) &&
+        UCharacter.isHighSurrogate(buffer.charAt(bufpos-1))) {
+        ++bufpos;
+        }
+        index.contextLimit = index.limit = bufpos;
+        updateCaret();
+        return true;
+    }
+    return commitAll();
+    }
+
+    private boolean canBackspace() {
+    return index.contextLimit > 0;
+    }
+
+    private boolean backspace() {
+    int bufpos = index.contextLimit;
+    if (bufpos > 0) {
+        int limit = bufpos;
+        --bufpos;
+        if (bufpos > 0 &&
+        UCharacter.isLowSurrogate(buffer.charAt(bufpos)) &&
+        UCharacter.isHighSurrogate(buffer.charAt(bufpos-1))) {
+        --bufpos;
+        }
+        if (bufpos < index.start) {
+        index.start = bufpos;
+        }
+        index.contextLimit = index.limit = bufpos;
+        doDelete(bufpos, limit);
+        return true;
+    }
+    return false;
+    }
+
+    private boolean canDelete() {
+    return index.contextLimit < buffer.length();
+    }
+
+    private boolean delete() {
+    int bufpos = index.contextLimit;
+    if (bufpos < buffer.length()) {
+        int limit = bufpos + 1;
+        if (limit < buffer.length() &&
+        UCharacter.isHighSurrogate(buffer.charAt(limit-1)) &&
+        UCharacter.isLowSurrogate(buffer.charAt(limit))) {
+        ++limit;
+        }
+        doDelete(bufpos, limit);
+        return true;
+    }
+    return false;
+    }
+
+    private void doDelete(int start, int limit) {
+    buffer.delete(start, limit);
+    update(false);
+    }
+
+    private boolean commitAll() {
+    if (buffer.length() > 0) {
+        boolean atStart = index.start == index.contextLimit;
+        boolean didConvert = buffer.length() > index.start;
+        index.contextLimit = index.limit = buffer.length();
+        transliterator.finishTransliteration(replaceableText, index);
+        if (atStart) {
+        index.start = index.limit = index.contextLimit = 0;
+        }
+        update(true);
+        return didConvert;
+    }
+    return false;
+    }
+
+    private void clearAll() {
+    int len = buffer.length();
+    if (len > 0) {
+        if (len > index.start) {
+        buffer.delete(index.start, len);
+        }
+        update(true);
+    }
+    }
+
+    private boolean insert(char c) {
+    transliterator.transliterate(replaceableText, index, c);
+    update(false);
+    return true;
+    }
+
+    private boolean editing() {
+    return buffer.length() > 0;
+    }
+
+    /**
+     * The big problem is that from release to release swing changes how it
+     * handles some characters like tab and backspace.  Sometimes it handles
+     * them as keyTyped events, and sometimes it handles them as keyPressed
+     * events.  If you want to allow the event to go through so swing handles
+     * it, you have to allow one or the other to go through.  If you don't want
+     * the event to go through so you can handle it, you have to stop the
+     * event both places.
+     * @return whether the character was handled
+     */
+    private boolean handleTyped(char ch) {
+    if (enabled) {
+        switch (ch) {
+        case '\b': if (editing()) return backspace(); break;
+        case '\t': if (editing()) { return commitAll(); } break;
+        case '\u001b': if (editing()) { clearAll(); return true; } break;
+        case '\u007f': if (editing()) return delete(); break;
+        default: return insert(ch);
+        }
+    }
+    return false;
+    }
+
+    /**
+     * Handle keyPressed events.
+     */
+    private boolean handlePressed(int code) {
+    if (enabled && editing()) {
+        switch (code) {
+        case KeyEvent.VK_PAGE_UP:
+        case KeyEvent.VK_UP:
+        case KeyEvent.VK_KP_UP:
+        case KeyEvent.VK_HOME:
+        caretToStart(); return true;
+        case KeyEvent.VK_PAGE_DOWN:
+        case KeyEvent.VK_DOWN:
+        case KeyEvent.VK_KP_DOWN:
+        case KeyEvent.VK_END:
+        caretToLimit(); return true;
+        case KeyEvent.VK_LEFT:
+        case KeyEvent.VK_KP_LEFT:
+        return caretTowardsStart();
+        case KeyEvent.VK_RIGHT:
+        case KeyEvent.VK_KP_RIGHT:
+        return caretTowardsLimit();
+        case KeyEvent.VK_BACK_SPACE: 
+        return canBackspace(); // unfortunately, in 1.5 swing handles this in keyPressed instead of keyTyped
+        case KeyEvent.VK_DELETE: 
+        return canDelete(); // this too?
+        case KeyEvent.VK_TAB:
+        case KeyEvent.VK_ENTER:
+        return commitAll(); // so we'll never handle VK_TAB in keyTyped
+        
+        case KeyEvent.VK_SHIFT:
+        case KeyEvent.VK_CONTROL:
+        case KeyEvent.VK_ALT:
+        return false; // ignore these unless a key typed event gets generated
+        default: 
+        // by default, let editor handle it, and we'll assume that it will tell us
+        // to endComposition if it does anything funky with, e.g., function keys.
+        return false;
+        }
+    }
+    return false;
+    }
+
+    public String toString() {
+    final String[] names = { 
+        "alice", "bill", "carrie", "doug", "elena", "frank", "gertie", "howie", "ingrid", "john" 
+    };
+
+    if (id < names.length) {
+        return names[id];
+    } else {
+        return names[id] + "-" + (id/names.length);
+    }
+    }
+}
+
+class NameRenderer extends JLabel implements ListCellRenderer {
+
+    public Component getListCellRendererComponent(
+        JList list,
+        Object value,
+        int index,
+        boolean isSelected,
+        boolean cellHasFocus) {
+
+        String s = ((JLabel)value).getText();
+        setText(s);
+
+        if (isSelected) {
+            setBackground(list.getSelectionBackground());
+            setForeground(list.getSelectionForeground());
+        } else {
+            setBackground(list.getBackground());
+            setForeground(list.getForeground());
+        }
+
+        setEnabled(list.isEnabled());
+        setFont(list.getFont());
+        setOpaque(true);
+        return this;
+    }
+}
+
+class LabelComparator implements Comparator {
+    public int compare(Object obj1, Object obj2) {
+        Collator collator = Collator.getInstance();
+        return collator.compare(((JLabel)obj1).getText(), ((JLabel)obj2).getText());
+    }
+
+    public boolean equals(Object obj1) {
+        return this.equals(obj1);
+    }
+}
+
+
diff --git a/src/com/ibm/icu/dev/tool/ime/translit/TransliteratorInputMethodDescriptor.java b/src/com/ibm/icu/dev/tool/ime/translit/TransliteratorInputMethodDescriptor.java
new file mode 100644
index 0000000..d2575ea
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/ime/translit/TransliteratorInputMethodDescriptor.java
@@ -0,0 +1,91 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2004, International Business Machines Corporation and         *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+package com.ibm.icu.dev.tool.ime.translit;
+
+import java.awt.Image;
+import java.awt.im.spi.InputMethod;
+import java.awt.im.spi.InputMethodDescriptor;
+import java.util.Locale;
+import java.util.ResourceBundle;
+import java.util.MissingResourceException;
+
+/**
+* The TransliteratorInputMethodDescriptor class is used to identify this package
+* as an input method editor.
+*/
+
+public class TransliteratorInputMethodDescriptor implements InputMethodDescriptor {
+
+    private ResourceBundle rb = null;
+
+    /**
+    * Creates the Transliterator IME this is automatically callled by the
+    * JVM when the Transliterator IME is selected from the input method list.
+    *
+    * @return InputMethod The Transliterator IME object.
+    */
+    public InputMethod createInputMethod() throws Exception {
+        return new TransliteratorInputMethod();
+    }
+  
+    /**
+    * Get the list of locales that this IME supports.
+    *
+    * @return Locale[] This will always have one locale. By default
+    *                  we just return the current locale. Therefore
+    *                  the Transliterator IME works in all locales.
+    */
+    // use the current active locale
+    public Locale[] getAvailableLocales() {
+        return new Locale[] {Locale.getDefault()};
+    }
+
+    /**
+    * The Transliterator IME does not support dynamic locales. The Transliterator
+    * IME's functionality does not depend upon any locale.
+    *
+    * @return boolean This will always be false.
+    */
+    public boolean hasDynamicLocaleList() {
+        return false;
+    }
+
+    /**
+    * Obtain the localized name of the Transliterator IME
+    *
+    * @param inputLocale the requested input method locale
+    * @param displayLanguage The requested translation of the Transliterator IME
+    * @return the localized name for the Transliterator IME
+    */
+    public String getInputMethodDisplayName(Locale inputLocale,
+                                            Locale displayLanguage) {
+        String name = null;
+
+        try {
+            rb = ResourceBundle.getBundle("com.ibm.icu.dev.tool.ime.translit.Transliterator", displayLanguage);
+            name = rb.getString("name");
+        }
+        catch (MissingResourceException m) {
+            // use a hardcoded value
+            name = "Transliterator";
+        }
+        return name;
+    }
+
+    /**
+    * Get the icon for the Transliterator IME. This is not supported.
+    *
+    * @param inputLocale (This is ignored).
+    *
+    * @return Image This will always be null.
+    */
+    public Image getInputMethodIcon(Locale inputLocale) {
+       return null;
+    }
+}
+
diff --git a/src/com/ibm/icu/dev/tool/ime/translit/manifest.stub b/src/com/ibm/icu/dev/tool/ime/translit/manifest.stub
new file mode 100644
index 0000000..47e3197
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/ime/translit/manifest.stub
@@ -0,0 +1,11 @@
+Manifest-Version: 1.0
+Created-By: 1.0 (IBM Corporation)
+Extension-Name: com.ibm.icu.dev.tool.ime.translit
+Implementation-Vendor: IBM Corporation
+Implementation-Version: 1.0
+Implementation-Title: ICU Transliterator IME
+Specification-Vendor: IBM
+Specification-Version: 1.0
+Specification-Title: ICU Transliterator IME
+
+Name: com/ibm/icu/dev/tool/ime/translit
diff --git a/src/com/ibm/icu/dev/tool/ime/translit/services/java.awt.im.spi.InputMethodDescriptor b/src/com/ibm/icu/dev/tool/ime/translit/services/java.awt.im.spi.InputMethodDescriptor
new file mode 100644
index 0000000..1035973
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/ime/translit/services/java.awt.im.spi.InputMethodDescriptor
@@ -0,0 +1,7 @@
+#
+#
+# fully-qualified name of the java.awt.im.spi.InputMethodDescriptor
+# implementation class
+#
+
+com.ibm.icu.dev.tool.ime.translit.TransliteratorInputMethodDescriptor
diff --git a/src/com/ibm/icu/dev/tool/index/IndexGenerator.java b/src/com/ibm/icu/dev/tool/index/IndexGenerator.java
new file mode 100644
index 0000000..2bdf174
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/index/IndexGenerator.java
@@ -0,0 +1,80 @@
+/**
+*******************************************************************************
+* Copyright (C) 2005, International Business Machines Corporation and         *
+* others. All Rights Reserved.                                                *
+*******************************************************************************
+*/
+package com.ibm.icu.dev.tool.index;
+
+import java.io.*;
+import java.text.*;
+import java.util.*;
+
+public class IndexGenerator {
+    
+    private final static String stoplist = ",char.res,CurrencyData.res,invuca.res,line.res,line_th.res,pnames.res,res_index.res,sent.res,title.res,ucadata.res,ucase.res,uidna.res,unames.res,unorm.res,uprops.res,word.res,word_ja.res,word_POSIX.res,word_th.res";
+
+    public static void main(String[] args) {
+	if (args.length < 1) {
+	    usage("too few arguments");
+	}
+
+	File inDir = new File(args[0]);
+	if (!inDir.isDirectory() || !inDir.exists()) {
+	    usage("first argument '" + inDir + "' must be existing directory");
+	}
+
+	File outDir = inDir;
+	if (args.length > 1) {
+	    outDir = new File(args[1]);
+	    if (!outDir.isDirectory() || !outDir.exists()) {
+		usage("second argument must be existing directory");
+	    }
+	}
+	    
+	DateFormat fmt = DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.LONG, Locale.US);
+	DateFormat copyfmt = new SimpleDateFormat("'# Copyright (C) 'yyyy' IBM Inc.  All Rights Reserved.'");
+
+	try {
+	    File outFile = new File(outDir, "res_index.txt");
+	    PrintWriter pw = new PrintWriter(new BufferedWriter(new FileWriter(outFile)));
+	    Date now = new Date();
+	    pw.println("# Generated by " + IndexGenerator.class.getName() + " on " + fmt.format(now));
+	    pw.println("# from contents of " + inDir.getCanonicalPath());
+	    pw.println(copyfmt.format(now));
+	    File[] files = inDir.listFiles();
+	    int count = 0;
+	    if (files != null) {
+		for (int i = 0; i < files.length; i++){
+		    if (!files[i].isDirectory()) {
+			String name = "," + files[i].getName(); // add ',' to get exact match
+			if (name.endsWith(".res") && stoplist.indexOf(name) == -1) {
+			    pw.println(name.substring(1, name.lastIndexOf('.'))); // 1 to trim off ','
+			    ++count;
+			}
+		    }
+		}
+	    }
+	    pw.println("# Found " + count + " files");
+	    pw.println("# End of file");
+	    if (count == 0) {
+		System.err.println("Warning: matched no files");
+	    } 
+	    pw.close();
+	}
+	catch (IOException e) {
+	    usage(e.getMessage());
+	}
+    }
+
+    private static void usage(String msg) {
+	if (msg != null) {
+	    System.err.println("Error: " + msg);
+	}
+	System.out.println("Usage: IndexGenerator inDir outDir");
+	System.out.println("  inDir is an existing directory whose locale-based resources are to be enumerated");
+	System.out.println("  outDir is an existing directory in which the res_index.txt file will be placed");
+	throw new InternalError("Usage");
+    }
+}
+	
diff --git a/src/com/ibm/icu/dev/tool/layout/ArabicCharacterData.java b/src/com/ibm/icu/dev/tool/layout/ArabicCharacterData.java
new file mode 100644
index 0000000..35dbc3f
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/layout/ArabicCharacterData.java
@@ -0,0 +1,114 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1998-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ *
+ * Created on Dec 3, 2003
+ *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.tool.layout;
+
+import com.ibm.icu.lang.UCharacter;
+import com.ibm.icu.lang.UProperty;
+import com.ibm.icu.text.Normalizer;
+import com.ibm.icu.text.UnicodeSet;
+
+public class ArabicCharacterData
+{
+    public class Record
+    {
+        public int getCodePoint()
+        {
+            return codePoint;
+        }
+        
+        public int getGeneralCategory()
+        {
+            return generalCategory;
+        }
+        
+        public int getDecompositionType()
+        {
+            return decompositionType;
+        }
+        
+        public String getDecomposition()
+        {
+            return decomposition;
+        }
+        
+        private Record(int character)
+        {
+            codePoint         = character;
+            generalCategory   = UCharacter.getType(character);
+            decompositionType = UCharacter.getIntPropertyValue(character, UProperty.DECOMPOSITION_TYPE);
+            
+            switch (decompositionType) {
+            case UCharacter.DecompositionType.FINAL:
+            case UCharacter.DecompositionType.INITIAL:
+            case UCharacter.DecompositionType.ISOLATED:
+            case UCharacter.DecompositionType.MEDIAL:
+                decomposition = Normalizer.compose(UCharacter.toString(character), true);
+                break;
+                
+            case UCharacter.DecompositionType.CANONICAL:
+                decomposition = Normalizer.decompose(UCharacter.toString(character), true);
+                break;
+                
+            default:
+                decomposition = null;
+            }
+        }
+        
+        private int codePoint;
+        private int generalCategory;
+        private int decompositionType;
+        private String decomposition;
+    }
+    
+    private ArabicCharacterData(int charCount)
+    {
+        records = new Record[charCount];
+    }
+    
+    private void add(int character)
+    {
+        records[recordIndex++] = new Record(character);
+    }
+    
+    public Record getRecord(int index)
+    {
+        if (index < 0 || index >= records.length) {
+            return null;
+        }
+        
+        return records[index];
+    }
+    
+    public int countRecords()
+    {
+        return records.length;
+    }
+ 
+    // TODO: do we need to change this to use UnicodeSetIterator?
+    // That will mean not knowing the number of characters until
+    // after the iteration is done, so we'd have to use a vector
+    // to hold the Records at first and copy it to an array
+    // when we're done...   
+    public static ArabicCharacterData factory(UnicodeSet characterSet)
+    {
+        int charCount = characterSet.size();
+        ArabicCharacterData data = new ArabicCharacterData(charCount);
+        
+        for (int i = 0; i < charCount; i += 1) {
+            data.add(characterSet.charAt(i));
+        }
+        
+        return data;
+    }
+    
+    private Record[] records;
+    private int recordIndex = 0;
+}
diff --git a/src/com/ibm/icu/dev/tool/layout/ArabicShaping.java b/src/com/ibm/icu/dev/tool/layout/ArabicShaping.java
new file mode 100644
index 0000000..34d65e2
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/layout/ArabicShaping.java
@@ -0,0 +1,123 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1998-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ *
+ * Created on Dec 3, 2003
+ *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.tool.layout;
+
+import com.ibm.icu.lang.UCharacter;
+import com.ibm.icu.lang.UProperty;
+
+public class ArabicShaping {
+
+    // arabic   shaping type code
+
+    // shaping bit masks
+    static final int MASK_SHAPE_RIGHT   = 1; // if this bit set, shapes to right
+    static final int MASK_SHAPE_LEFT = 2;   // if this bit set, shapes to left
+    static final int MASK_TRANSPARENT   = 4; // if this bit set, is transparent (ignore other bits)
+    static final int MASK_NOSHAPE   = 8; // if this bit set, don't shape this char, i.e. tatweel
+
+    // shaping values
+    public static final int VALUE_NONE = 0;
+    public static final int VALUE_RIGHT = MASK_SHAPE_RIGHT;
+    public static final int VALUE_LEFT = MASK_SHAPE_LEFT;
+    public static final int VALUE_DUAL = MASK_SHAPE_RIGHT | MASK_SHAPE_LEFT;
+    public static final int VALUE_TRANSPARENT = MASK_TRANSPARENT;
+    public static final int VALUE_NOSHAPE_DUAL = MASK_NOSHAPE | VALUE_DUAL;
+    public static final int VALUE_NOSHAPE_NONE = MASK_NOSHAPE;
+
+    public static int getShapeType(char ch)
+    {
+        int tt = UCharacter.getIntPropertyValue(ch, UProperty.JOINING_TYPE);
+        
+        switch(tt) {
+            case UCharacter.JoiningType.JOIN_CAUSING:
+                return VALUE_NOSHAPE_DUAL;
+                
+            case UCharacter.JoiningType.LEFT_JOINING:
+                return VALUE_LEFT;
+            
+            case UCharacter.JoiningType.RIGHT_JOINING:
+                return VALUE_RIGHT;
+            
+            case UCharacter.JoiningType.DUAL_JOINING:
+                return VALUE_DUAL;
+            
+            case UCharacter.JoiningType.TRANSPARENT:
+                return VALUE_TRANSPARENT;
+                
+            case UCharacter.JoiningType.NON_JOINING:
+            default:
+                return VALUE_NOSHAPE_NONE;                
+        }
+    }
+
+    /*
+     * Chars in logical order.
+     * leftType is shaping code of char to logical left of range
+     * rightType is shaping code of char to logical right of range
+     */
+
+    public static void shape(char[] chars, int leftType, int rightType, ClassTable isolClassTable) {
+        // iterate in logical order from left to right
+        //
+        // the effective right char is the most recently encountered
+        // non-transparent char
+        //
+        // four boolean states:
+        //   the effective right char shapes
+        //   the effective right char causes right shaping
+        //   the current char shapes
+        //   the current char causes left shaping
+        //
+        // if both cause shaping, then
+        //   right += 2 (isolate to initial, or final to medial)
+        //   cur += 1 (isolate to final)
+
+        // ern is effective right logical index
+        int ern = -1;
+
+        boolean rightShapes = false;
+        boolean rightCauses = (rightType & MASK_SHAPE_LEFT) != 0;
+
+        for (int n = 0; n < chars.length; n++) {
+            char c = chars[n];
+            int t = getShapeType(c);
+
+            if ((t & MASK_TRANSPARENT) != 0) {
+                continue;
+            }
+
+            boolean curShapes = (t & MASK_NOSHAPE) == 0;
+            boolean curCauses = (t & MASK_SHAPE_RIGHT) != 0;
+
+            if (rightCauses && curCauses) {
+                if (rightShapes) {
+                    chars[ern] += 2;
+                }
+
+                if (curShapes) {
+                    chars[n] = (char) (isolClassTable.getGlyphClassID(c) + 1);
+                }
+            } else {
+                if (curShapes) {
+                    chars[n] = (char) isolClassTable.getGlyphClassID(c);
+                }
+            }
+
+            rightShapes = curShapes;
+            rightCauses = (t & MASK_SHAPE_LEFT) != 0;
+            ern = n;
+        }
+
+        if (rightShapes && rightCauses && (leftType & MASK_SHAPE_RIGHT) != 0) {
+            chars[ern] += 2;
+        }
+    }
+}
diff --git a/src/com/ibm/icu/dev/tool/layout/BuildMirroringTables.java b/src/com/ibm/icu/dev/tool/layout/BuildMirroringTables.java
new file mode 100644
index 0000000..665c188
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/layout/BuildMirroringTables.java
@@ -0,0 +1,97 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ *
+ */
+
+package com.ibm.icu.dev.tool.layout;
+
+import com.ibm.icu.impl.Utility;
+import com.ibm.icu.lang.UCharacter;
+import com.ibm.icu.text.UnicodeSet;
+
+/**
+ * @author emader
+ *
+ * TODO To change the template for this generated type comment go to
+ * Window - Preferences - Java - Code Style - Code Templates
+ */
+public class BuildMirroringTables extends ModuleWriter
+{
+    public BuildMirroringTables()
+    {
+        super();
+    }
+    
+    public void dump(String name, int[] array, int length, int valuesPerLine)
+    {
+        StringBuffer line = new StringBuffer("    ");
+        
+        output.println("const LEUnicode32 DefaultCharMapper::" + name + "[] = {");
+        
+        for (int i = 0; i < length; i += 1) {
+            
+            if (i > 0 && i % valuesPerLine == 0) {
+                output.println(line.toString());
+                line.setLength(4);
+            }
+    
+            line.append("0x" + Utility.hex(array[i], 4));
+            line.append(", ");
+        }
+    
+        line.setLength(line.length() - 2);
+    
+        output.println(line.toString());
+        output.println("};\n");
+    }
+    
+    public void writeMirroredDataFile(String filename)
+    {
+        UnicodeSet mirrored = new UnicodeSet("[\\p{Bidi_Mirrored}]");
+        int count = mirrored.size();
+        int[] chars   = new int[count];
+        int[] mirrors = new int[count];
+        int total = 0;
+        
+        System.out.println("There are " + count + " mirrored characters.");
+        
+        for(int i = 0; i < count; i += 1) {
+            int ch = mirrored.charAt(i);
+            int m  = UCharacter.getMirror(ch);
+            
+            if (ch != m) {
+                chars[total] = ch & 0xFFFF;
+                mirrors[total++] = m & 0xFFFF;
+            }
+        }
+        
+        System.out.println("There are " + total + " characters with a different mirror.\n");
+        
+        openFile(filename);
+        writeHeader(null, includeFiles);
+        
+        
+        dump("mirroredChars", chars, total, 8);
+        
+        System.out.println();
+        
+        dump("srahCderorrim", mirrors, total, 8);
+        
+        output.println("const le_int32 DefaultCharMapper::mirroredCharsCount = " + total + ";\n");
+
+        writeTrailer();
+        closeFile();
+    }
+    
+    private static String includeFiles[] = {"LETypes.h", "DefaultCharMapper.h"};
+    
+    public static void main(String[] args)
+    {
+        BuildMirroringTables bmt = new BuildMirroringTables();
+        
+        bmt.writeMirroredDataFile("MirroredCharData.cpp");
+    }
+}
diff --git a/src/com/ibm/icu/dev/tool/layout/CanonGSUBBuilder.java b/src/com/ibm/icu/dev/tool/layout/CanonGSUBBuilder.java
new file mode 100644
index 0000000..b848e2a
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/layout/CanonGSUBBuilder.java
@@ -0,0 +1,522 @@
+/**
+ *******************************************************************************
+ * Copyright (C) 2002-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+
+package com.ibm.icu.dev.tool.layout;
+
+import com.ibm.icu.lang.UCharacter;
+import com.ibm.icu.lang.UScript;
+import com.ibm.icu.text.UnicodeSet;
+import com.ibm.icu.text.UTF16;
+
+/**
+ * @author Eric Mader
+ *
+ * Notes:
+ * 
+ * The property \p{Decomposition_Type=Canonical} will match all characters with a canonical
+ * decomposition.
+ *
+ * So "[[\\p{Latin}\\p{Greek}\\p{Cyrillic}] & [\\p{Decomposition_Type=Canonical}]]"
+ * will match all Latin, Greek and Cyrillic characters with a canonical decomposition.
+ * 
+ * Are these three scripts enough? Do we want to collect them all at once and distribute by script,
+ * or process them one script at a time. It's probably a good idea to build a single table for
+ * however many scripts there are.
+ * 
+ * It might be better to collect all the characters that have a canonical decomposition and just
+ * sort them into however many scripts there are... unless we'll get characters in COMMON???
+ */
+public class CanonGSUBBuilder
+{
+    static public String convertArabicString(int type, int ligature, String decomp, ClassTable isolClassTable)
+    {
+        int leftType  = ArabicShaping.VALUE_NONE;
+        int rightType = ArabicShaping.VALUE_NONE;
+        
+        switch (type) {
+            case UCharacter.DecompositionType.ISOLATED:
+                break;
+                
+            case UCharacter.DecompositionType.FINAL:
+                rightType = ArabicShaping.VALUE_LEFT;
+                break;
+            
+            case UCharacter.DecompositionType.INITIAL:
+                leftType = ArabicShaping.VALUE_RIGHT;
+                break;
+            
+            case UCharacter.DecompositionType.MEDIAL:
+               rightType = ArabicShaping.VALUE_LEFT;
+               leftType  = ArabicShaping.VALUE_RIGHT;
+               break;
+               
+           default:
+               return decomp + UCharacter.toString(ligature);
+        }
+        
+        char[] chars = decomp.toCharArray();
+              
+        ArabicShaping.shape(chars, leftType, rightType, isolClassTable);
+  
+        return new String(chars) + UCharacter.toString(ligature);
+    }
+    
+    static void buildArabicContextualForms(ArabicCharacterData data, ClassTable initClassTable, ClassTable mediClassTable,
+                                     ClassTable finaClassTable, ClassTable isolClassTable)
+    {
+        System.out.print("Finding Arabic contextual forms... ");
+        
+        for (int i = 0; i < data.countRecords(); i += 1) {
+            ArabicCharacterData.Record record = data.getRecord(i);
+            String decomposition = record.getDecomposition();
+            
+            if (decomposition != null && decomposition.length() == 1) {
+                int contextual = record.getCodePoint();
+                int isolated   = UTF16.charAt(record.getDecomposition(), 0);
+            
+                switch (record.getDecompositionType()) {
+                case UCharacter.DecompositionType.INITIAL:
+                    initClassTable.addMapping(isolated, contextual);
+                    break;
+                
+                case UCharacter.DecompositionType.MEDIAL:
+                    mediClassTable.addMapping(isolated, contextual);
+                    break;
+                
+               case UCharacter.DecompositionType.FINAL:
+                   finaClassTable.addMapping(isolated, contextual);
+                   break;
+                   
+               case UCharacter.DecompositionType.ISOLATED:
+                   isolClassTable.addMapping(isolated, contextual);
+                   break;
+               
+               default:
+                   // issue some error message?
+                   break;
+                }
+            }
+        }
+        
+        System.out.println("Done.");
+    }
+
+    static LigatureTree buildArabicLigatureTree(ArabicCharacterData data, ClassTable isolClassTable)
+    {
+        LigatureTree contextualTree = new LigatureTree();
+        int ligatureCount = 0;
+        
+        System.out.print("Building Arabic ligature tree... ");
+        
+        for (int i = 0; i < data.countRecords(); i += 1) {
+            ArabicCharacterData.Record record = data.getRecord(i);
+            String decomposition = record.getDecomposition();
+            
+            if (decomposition != null && decomposition.length() > 1) {
+                int ligature   = record.getCodePoint();
+                int decompType = record.getDecompositionType();
+                
+                switch (decompType) {
+                case UCharacter.DecompositionType.FINAL:
+                case UCharacter.DecompositionType.INITIAL:
+                case UCharacter.DecompositionType.MEDIAL:
+                case UCharacter.DecompositionType.ISOLATED:
+                    contextualTree.insert(convertArabicString(decompType, ligature, decomposition, isolClassTable));
+                    ligatureCount += 1;
+                    break;
+                    
+                case UCharacter.DecompositionType.CANONICAL:
+                    //cannonicalTree.insert(decomposition + UCharacter.toString(ligature));
+                    break;
+                }
+            }
+        }
+        
+        System.out.println(ligatureCount + " ligatures.");
+        
+        return contextualTree;
+    }
+    
+    static final int SIMPLE_GLYPH = 1;
+    static final int LIGATURE_GLYPH = 2;
+    static final int MARK_GLYPH = 3;
+    static final int COMPONENT_GLYPH = 4;
+    
+    static final int categoryClassMap[] = {
+    0,              // UNASSIGNED
+    SIMPLE_GLYPH,   // UPPERCASE_LETTER
+    SIMPLE_GLYPH,   // LOWERCASE_LETTER
+    SIMPLE_GLYPH,   // TITLECASE_LETTER
+    SIMPLE_GLYPH,   // MODIFIER_LETTER
+    SIMPLE_GLYPH,   // OTHER_LETTER
+    MARK_GLYPH,     // NON_SPACING_MARK
+    MARK_GLYPH,     // ENCLOSING_MARK ??
+    MARK_GLYPH,     // COMBINING_SPACING_MARK ??
+    SIMPLE_GLYPH,   // DECIMAL_NUMBER
+    SIMPLE_GLYPH,   // LETTER_NUMBER
+    SIMPLE_GLYPH,   // OTHER_NUMBER;
+    0,              // SPACE_SEPARATOR
+    0,              // LINE_SEPARATOR
+    0,              // PARAGRAPH_SEPARATOR
+    0,              // CONTROL
+    0,              // FORMAT
+    0,              // PRIVATE_USE
+    0,              // SURROGATE
+    SIMPLE_GLYPH,   // DASH_PUNCTUATION
+    SIMPLE_GLYPH,   // START_PUNCTUATION
+    SIMPLE_GLYPH,   // END_PUNCTUATION
+    SIMPLE_GLYPH,   // CONNECTOR_PUNCTUATION
+    SIMPLE_GLYPH,   // OTHER_PUNCTUATION
+    SIMPLE_GLYPH,   // MATH_SYMBOL;
+    SIMPLE_GLYPH,   // CURRENCY_SYMBOL
+    SIMPLE_GLYPH,   // MODIFIER_SYMBOL
+    SIMPLE_GLYPH,   // OTHER_SYMBOL
+    SIMPLE_GLYPH,   // INITIAL_PUNCTUATION
+    SIMPLE_GLYPH    // FINAL_PUNCTUATION
+    };
+
+    static int getGlyphClass(ArabicCharacterData.Record record)
+    {
+        String decomp = record.getDecomposition();
+        
+        if (decomp != null && decomp.length() > 1) {
+            return LIGATURE_GLYPH;
+        }
+        
+        return categoryClassMap[record.getGeneralCategory()];
+    }
+    
+    static void addArabicGlyphClasses(ArabicCharacterData data, ClassTable classTable)
+    {
+        System.out.print("Adding Arabic glyph classes... ");
+        
+        for (int i = 0; i < data.countRecords(); i += 1) {
+            ArabicCharacterData.Record record = data.getRecord(i);
+            classTable.addMapping(record.getCodePoint(), getGlyphClass(record));
+        }
+        
+        System.out.println("Done.");
+    }
+    
+    private static void buildArabicTables(ScriptList scriptList, FeatureList featureList,
+                                                LookupList lookupList, ClassTable classTable) {
+        // TODO: Might want to have the ligature table builder explicitly check for ligatures
+        // which start with space and tatweel rather than pulling them out here...
+        UnicodeSet arabicBlock   = new UnicodeSet("[[\\p{block=Arabic}] & [[:Cf:][:Po:][:So:][:Mn:][:Nd:][:Lm:]]]");
+        UnicodeSet oddLigatures  = new UnicodeSet("[\\uFC5E-\\uFC63\\uFCF2-\\uFCF4\\uFE70-\\uFE7F]");
+        UnicodeSet arabicLetters = new UnicodeSet("[\\p{Arabic}]");
+        ArabicCharacterData arabicData = ArabicCharacterData.factory(arabicLetters.addAll(arabicBlock).removeAll(oddLigatures));
+
+        addArabicGlyphClasses(arabicData, classTable);
+        
+        ClassTable initClassTable = new ClassTable();
+        ClassTable mediClassTable = new ClassTable();
+        ClassTable finaClassTable = new ClassTable();
+        ClassTable isolClassTable = new ClassTable();
+        
+        buildArabicContextualForms(arabicData, initClassTable, mediClassTable, finaClassTable, isolClassTable);
+        isolClassTable.snapshot();
+        LigatureTree ligaTree = buildArabicLigatureTree(arabicData, isolClassTable);
+
+        LigatureTreeWalker ligaWalker = new LigatureTreeWalker();
+
+        ligaTree.walk(ligaWalker);
+        
+        Lookup initLookup, mediLookup, finaLookup, ligaLookup;
+        
+        initLookup = new Lookup(Lookup.GSST_Single, 0);
+        initLookup.addSubtable(initClassTable);
+        
+        mediLookup = new Lookup(Lookup.GSST_Single, 0);
+        mediLookup.addSubtable(mediClassTable);
+        
+        finaLookup = new Lookup(Lookup.GSST_Single, 0);
+        finaLookup.addSubtable(finaClassTable);
+        
+        ligaLookup = new Lookup(Lookup.GSST_Ligature, Lookup.LF_IgnoreMarks);
+        ligaLookup.addSubtable(ligaWalker);
+        
+        Feature init = new Feature("init");
+        Feature medi = new Feature("medi");
+        Feature fina = new Feature("fina");
+        Feature liga = new Feature("liga");
+        
+        init.addLookup(lookupList.addLookup(initLookup));
+        medi.addLookup(lookupList.addLookup(mediLookup));
+        fina.addLookup(lookupList.addLookup(finaLookup));
+        liga.addLookup(lookupList.addLookup(ligaLookup));
+        
+        featureList.addFeature(init);
+        featureList.addFeature(medi);
+        featureList.addFeature(fina);
+        featureList.addFeature(liga);
+        
+        scriptList.addFeature("arab", "(default)", init);
+        scriptList.addFeature("arab", "(default)", medi);
+        scriptList.addFeature("arab", "(default)", fina);
+        scriptList.addFeature("arab", "(default)", liga);
+        
+        System.out.println();
+    }
+
+    public static void buildLigatureTree(CanonicalCharacterData data, int script, LigatureTree ligatureTree)
+    {
+        int ligatureCount = 0;
+        
+        System.out.print("building composition ligature tree for " + UScript.getName(script) + "... ");
+        
+        for (int i = 0; i < data.countRecords(script); i += 1) {
+            CanonicalCharacterData.Record record = data.getRecord(script, i);
+            String composed = UCharacter.toString(record.getComposedCharacter());
+            
+            for (int e = 0; e < record.countEquivalents(); e += 1) {
+                String equivalent = record.getEquivalent(e);
+                
+                ligatureTree.insert(equivalent + composed);
+                ligatureCount += 1;
+            }
+        }
+        
+        System.out.println(ligatureCount + " ligatures.");
+    }
+    
+    public static DecompTable[] buildDecompTables(CanonicalCharacterData data, int script)
+    {
+        int maxDecompCount = data.getMaxEquivalents(script);
+        DecompTable[] decompTables = new DecompTable[maxDecompCount];
+        
+        System.out.print("Building decompositon tables for " + UScript.getName(script) +
+                         "... total decompositions: " + data.countRecords(script) + 
+                         ", max: " + maxDecompCount + "...");
+        
+        for (int i = 0; i < maxDecompCount; i += 1) {
+            DecompTable table = new DecompTable();
+            
+            for (int r = 0; r < data.countRecords(script); r += 1) {
+                CanonicalCharacterData.Record record = data.getRecord(script, r);
+                
+                if (record.countEquivalents() > i) {
+                    table.add(record.getComposedCharacter(), record.getEquivalent(i));
+                }
+            }
+            
+            decompTables[i] = table;
+        }
+        
+        System.out.println(" Done.");
+        
+        return decompTables;
+    }
+    
+    public static int[] buildLookups(CanonicalCharacterData data, LookupList lookupList, int script)
+    {
+        int[] lookups = new int[2];
+        
+        DecompTable[] decompTables = buildDecompTables(data, script);
+        
+        LigatureTree compTree = new LigatureTree();
+        
+        buildLigatureTree(data, script, compTree);
+        
+        System.out.println();
+        
+        LigatureTreeWalker compWalker = new LigatureTreeWalker();
+        
+        compTree.walk(compWalker);
+        
+        Lookup compLookup, dcmpLookup;
+        //int compLookupIndex, dcmpLookupIndex;
+        
+        compLookup = new Lookup(Lookup.GSST_Ligature, 0);
+        compLookup.addSubtable(compWalker);
+        
+        dcmpLookup = new Lookup(Lookup.GSST_Multiple, 0);
+        for (int i = 0; i < decompTables.length; i += 1) {
+            dcmpLookup.addSubtable(decompTables[i]);
+        }
+        
+        lookups[0] = lookupList.addLookup(compLookup);
+        lookups[1] = lookupList.addLookup(dcmpLookup);
+        
+        return lookups;
+    }
+    
+    public static void addLookups(Feature feature, int[] lookups)
+    {
+        for (int i = 0; i < lookups.length; i += 1) {
+            feature.addLookup(lookups[i]);
+        }
+    }
+    
+    /*
+     * Hebrew mark order taken from the SBL Hebrew Font manual
+     * Arabic mark order per Thomas Milo: hamza < shadda < combining_alef < sukun, vowel_marks < madda < qur'anic_marks
+     */
+    public static ClassTable buildCombiningClassTable()
+    {
+        UnicodeSet markSet = new UnicodeSet("[\\P{CanonicalCombiningClass=0}]");
+        ClassTable exceptions = new ClassTable();
+        ClassTable combiningClasses = new ClassTable();
+        int markCount = markSet.size();
+        
+        exceptions.addMapping(0x05C1,  10); // Point Shin Dot
+        exceptions.addMapping(0x05C2,  11); // Point Sin Dot
+        exceptions.addMapping(0x05BC,  21); // Point Dagesh or Mapiq
+        exceptions.addMapping(0x05BF,  23); // Point Rafe
+        exceptions.addMapping(0x05B9,  27); // Point Holam
+        exceptions.addMapping(0x0323, 220); // Comb. Dot Below (low punctum)
+        exceptions.addMapping(0x0591, 220); // Accent Etnahta
+        exceptions.addMapping(0x0596, 220); // Accent Tipeha
+        exceptions.addMapping(0x059B, 220); // Accent Tevir
+        exceptions.addMapping(0x05A3, 220); // Accent Munah
+        exceptions.addMapping(0x05A4, 220); // Accent Mahapakh
+        exceptions.addMapping(0x05A5, 220); // Accent Merkha
+        exceptions.addMapping(0x05A6, 220); // Accent Merkha Kefula
+        exceptions.addMapping(0x05A7, 220); // Accent Darga
+        exceptions.addMapping(0x05AA, 220); // Accent Yerah Ben Yomo
+        exceptions.addMapping(0x05B0, 220); // Point Sheva
+        exceptions.addMapping(0x05B1, 220); // Point Hataf Segol
+        exceptions.addMapping(0x05B2, 220); // Point Hataf Patah
+        exceptions.addMapping(0x05B3, 220); // Point Hataf Qamats
+        exceptions.addMapping(0x05B4, 220); // Point Hiriq
+        exceptions.addMapping(0x05B5, 220); // Point Tsere
+        exceptions.addMapping(0x05B6, 220); // Point Segol
+        exceptions.addMapping(0x05B7, 220); // Point Patah
+        exceptions.addMapping(0x05B8, 220); // Point Qamats
+        exceptions.addMapping(0x05BB, 220); // Point Qubuts
+        exceptions.addMapping(0x05BD, 220); // Point Meteg
+        exceptions.addMapping(0x059A, 222); // Accent Yetiv
+        exceptions.addMapping(0x05AD, 222); // Accent Dehi
+        exceptions.addMapping(0x05C4, 230); // Mark Upper Dot (high punctum)
+        exceptions.addMapping(0x0593, 230); // Accent Shalshelet
+        exceptions.addMapping(0x0594, 230); // Accent Zaqef Qatan
+        exceptions.addMapping(0x0595, 230); // Accent Zaqef Gadol
+        exceptions.addMapping(0x0597, 230); // Accent Revia
+        exceptions.addMapping(0x0598, 230); // Accent Zarqa
+        exceptions.addMapping(0x059F, 230); // Accent Qarney Para
+        exceptions.addMapping(0x059E, 230); // Accent Gershayim
+        exceptions.addMapping(0x059D, 230); // Accent Geresh Muqdam
+        exceptions.addMapping(0x059C, 230); // Accent Geresh
+        exceptions.addMapping(0x0592, 230); // Accent Segolta
+        exceptions.addMapping(0x05A0, 230); // Accent Telisha Gedola
+        exceptions.addMapping(0x05AC, 230); // Accent Iluy
+        exceptions.addMapping(0x05A8, 230); // Accent Qadma
+        exceptions.addMapping(0x05AB, 230); // Accent Ole
+        exceptions.addMapping(0x05AF, 230); // Mark Masora Circle
+        exceptions.addMapping(0x05A1, 230); // Accent Pazer
+      //exceptions.addMapping(0x0307, 230); // Mark Number/Masora Dot
+        exceptions.addMapping(0x05AE, 232); // Accent Zinor
+        exceptions.addMapping(0x05A9, 232); // Accent Telisha Qetana
+        exceptions.addMapping(0x0599, 232); // Accent Pashta
+        
+        exceptions.addMapping(0x0655,  27); // ARABIC HAMZA BELOW
+        exceptions.addMapping(0x0654,  27); // ARABIC HAMZA ABOVE
+
+        exceptions.addMapping(0x0651,  28); // ARABIC SHADDA
+
+        exceptions.addMapping(0x0656,  29); // ARABIC SUBSCRIPT ALEF
+        exceptions.addMapping(0x0670,  29); // ARABIC LETTER SUPERSCRIPT ALEF
+
+        exceptions.addMapping(0x064D,  30); // ARABIC KASRATAN
+        exceptions.addMapping(0x0650,  30); // ARABIC KASRA
+
+        exceptions.addMapping(0x0652,  31); // ARABIC SUKUN
+        exceptions.addMapping(0x06E1,  31); // ARABIC SMALL HIGH DOTLESS HEAD OF KHAH
+
+        exceptions.addMapping(0x064B,  31); // ARABIC FATHATAN
+        exceptions.addMapping(0x064C,  31); // ARABIC DAMMATAN
+        exceptions.addMapping(0x064E,  31); // ARABIC FATHA
+        exceptions.addMapping(0x064F,  31); // ARABIC DAMMA
+        exceptions.addMapping(0x0657,  31); // ARABIC INVERTED DAMMA
+        exceptions.addMapping(0x0658,  31); // ARABIC MARK NOON GHUNNA
+
+        exceptions.addMapping(0x0653,  32); // ARABIC MADDAH ABOVE
+        
+        exceptions.snapshot();
+        
+        for (int i = 0; i < markCount; i += 1) {
+            int mark = markSet.charAt(i);
+            int markClass = exceptions.getGlyphClassID(mark);
+            
+            if (markClass == 0) {
+                markClass = UCharacter.getCombiningClass(mark);
+            }
+            
+            combiningClasses.addMapping(mark, markClass);
+        }
+        
+        combiningClasses.snapshot();
+        return combiningClasses;
+    }
+    
+    public static void buildDecompTables(String fileName)
+    {
+        // F900 - FAFF are compatibility ideographs. They all decompose to a single other character, and can be ignored.
+        UnicodeSet decompSet = new UnicodeSet("[[[\\P{Hangul}] & [\\p{DecompositionType=Canonical}]] - [\uF900-\uFAFF]]");
+        CanonicalCharacterData data = CanonicalCharacterData.factory(decompSet);
+        ClassTable classTable = new ClassTable();
+        
+        LookupList  lookupList  = new LookupList();
+        FeatureList featureList = new FeatureList();
+        ScriptList  scriptList  = new ScriptList();
+
+        // build common, inherited lookups...
+//        int[] commonLookups = buildLookups(data, lookupList, UScript.COMMON);
+//        int[] inheritedLookups = buildLookups(data, lookupList, UScript.INHERITED);
+        
+        for (int script = 0; script < UScript.CODE_LIMIT; script += 1) {
+            
+            // This is a bit lame, but it's the only way I can think of
+            // to make this work w/o knowing the values of COMMON and INHERITED...
+            if (script == UScript.COMMON || script == UScript.INHERITED ||
+                data.getMaxEquivalents(script) == 0) {
+                continue;
+            }
+            
+            int[] lookups = buildLookups(data, lookupList, script);
+
+            Feature ccmp = new Feature("ccmp");
+            
+            addLookups(ccmp, lookups);
+//            addLookups(ccmp, commonLookups);
+//            addLookups(ccmp, inheritedLookups);
+            
+            featureList.addFeature(ccmp);
+        
+            String scriptTag = TagUtilities.tagLabel(UScript.getShortName(script));
+            
+            scriptList.addFeature(scriptTag, "(default)", ccmp);
+            
+            if (script == UScript.ARABIC) {
+                buildArabicTables(scriptList, featureList, lookupList, classTable);
+            }
+        }
+        
+        featureList.finalizeFeatureList();
+        
+        ClassTable markClassTable = buildCombiningClassTable();
+        
+        GSUBWriter gsubWriter = new GSUBWriter("Canon", scriptList, featureList, lookupList);
+        GDEFWriter gdefWriter = new GDEFWriter("Canon", classTable, markClassTable);
+        String[] includeFiles = {"LETypes.h", "CanonShaping.h"};        
+        
+        LigatureModuleWriter writer = new LigatureModuleWriter();
+        
+        writer.openFile(fileName);
+        writer.writeHeader(null, includeFiles);
+        writer.writeTable(gsubWriter);
+        writer.writeTable(gdefWriter);
+        writer.writeTrailer();
+        writer.closeFile();
+    }
+    
+    public static void main(String[] args)
+    {
+        buildDecompTables(args[0]);
+    }
+}
diff --git a/src/com/ibm/icu/dev/tool/layout/CanonicalCharacterData.java b/src/com/ibm/icu/dev/tool/layout/CanonicalCharacterData.java
new file mode 100644
index 0000000..3cd87f3
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/layout/CanonicalCharacterData.java
@@ -0,0 +1,216 @@
+/**
+ *******************************************************************************
+ * Copyright (C) 2002-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+package com.ibm.icu.dev.tool.layout;
+
+import com.ibm.icu.impl.Utility;
+import com.ibm.icu.lang.UCharacter;
+import com.ibm.icu.lang.UScript;
+import com.ibm.icu.text.UnicodeSet;
+import com.ibm.icu.text.CanonicalIterator;
+import com.ibm.icu.text.UTF16;
+import java.util.Vector;
+
+public class CanonicalCharacterData
+{
+    private static int THRESHOLD = 4;
+    
+    public class Record
+    {
+        // TODO: might want to save arrays of Char32's rather than UTF16 strings...
+        Record(int character, int script)
+        {
+            String char32 = UCharacter.toString(character);
+            CanonicalIterator iterator = new CanonicalIterator(char32);
+            Vector equivs = new Vector();
+            
+            composed = character;
+            
+            for (String equiv = iterator.next(); equiv != null; equiv = iterator.next()) {
+                // Skip all equivalents of length 1; it's either the original
+                // characeter or something like Angstrom for A-Ring, which we don't care about
+                if (UTF16.countCodePoint(equiv) > 1) {
+                    equivs.add(equiv);
+                }
+            }
+            
+            int nEquivalents = equivs.size();
+            
+            if (nEquivalents > maxEquivalents[script]) {
+                maxEquivalents[script] = nEquivalents;
+            }
+            
+            if (nEquivalents > 0) {
+                equivalents = new String[nEquivalents];
+                
+                if (nEquivalents > THRESHOLD) {
+                    dumpEquivalents(character, equivs);
+                }
+                
+                sortEquivalents(equivalents, equivs);
+            }
+        }
+        
+        public int getComposedCharacter()
+        {
+            return composed;
+        }
+        
+        public int countEquivalents()
+        {
+            if (equivalents == null) {
+                return 0;
+            }
+            
+            return equivalents.length;
+        }
+        
+        public String[] getEquivalents()
+        {
+            return equivalents;
+        }
+        
+        public String getEquivalent(int index)
+        {
+            if (equivalents == null || index < 0 || index >= equivalents.length) {
+                return null;
+            }
+            
+            return equivalents[index];
+        }
+        
+        private void dumpEquivalents(int character, Vector equivs)
+        {
+            int count = equivs.size();
+            
+            System.out.println(Utility.hex(character, 6) + " - " + count + ":");
+            
+            for (int i = 0; i < count; i += 1) {
+                String equiv = (String) equivs.elementAt(i);
+                int codePoints = UTF16.countCodePoint(equiv);
+                
+                for (int c = 0; c < codePoints; c += 1) {
+                    if (c > 0) {
+                        System.out.print(" ");
+                    }
+                    
+                    System.out.print(Utility.hex(UTF16.charAt(equiv, c), 6));
+                }
+                
+                System.out.println();
+            }
+            
+            System.out.println();
+        }
+        
+        private int composed;
+        private String[] equivalents = null;
+    }
+    
+    public CanonicalCharacterData()
+    {
+        // nothing to do...
+    }
+    
+    public void add(int character)
+    {
+        int script = UScript.getScript(character);
+        Vector recordVector = recordVectors[script];
+        
+        if (recordVector == null) {
+            recordVector = recordVectors[script] = new Vector();
+        }
+        
+        recordVector.add(new Record(character, script));
+    }
+    
+    public int getMaxEquivalents(int script)
+    {
+        if (script < 0 || script >= UScript.CODE_LIMIT) {
+            return 0;
+        }
+        
+        return maxEquivalents[script];
+    }
+    
+    public Record getRecord(int script, int index)
+    {
+        if (script < 0 || script >= UScript.CODE_LIMIT) {
+            return null;
+        }
+        
+        Vector recordVector = recordVectors[script];
+        
+        if (recordVector == null || index < 0 || index >= recordVector.size()) {
+            return null;
+        }
+        
+        return (Record) recordVector.elementAt(index);
+    }
+    
+    public int countRecords(int script)
+    {
+        if (script < 0 || script >= UScript.CODE_LIMIT ||
+            recordVectors[script] == null) {
+            return 0;
+        }
+        
+        return recordVectors[script].size();
+    }
+ 
+    public static CanonicalCharacterData factory(UnicodeSet characterSet)
+    {
+        int charCount = characterSet.size();
+        CanonicalCharacterData data = new CanonicalCharacterData();
+        
+        System.out.println("There are " + charCount + " characters with a canonical decomposition.");
+        
+        for (int i = 0; i < charCount; i += 1) {
+            data.add(characterSet.charAt(i));
+        }
+        
+        return data;
+    }
+
+    private static int compareEquivalents(String a, String b)
+    {
+        int result = UTF16.countCodePoint(a) - UTF16.countCodePoint(b);
+            
+        if (result == 0) {
+            return a.compareTo(b);
+        }
+            
+        return result;
+    }
+        
+    //
+    // Straight insertion sort from Knuth vol. III, pg. 81
+    //
+    private static void sortEquivalents(String[] equivalents, Vector unsorted)
+    {
+        int nEquivalents = equivalents.length;
+        
+        for (int e = 0; e < nEquivalents; e += 1) {
+            String v = (String) unsorted.elementAt(e);
+            int i;
+            
+            for (i = e - 1; i >= 0; i -= 1) {
+                if (compareEquivalents(v, equivalents[i]) >= 0) {
+                  break;
+                }
+
+                equivalents[i + 1] = equivalents[i];
+            }
+
+            equivalents[i + 1] = v;
+       }
+    }
+            
+    private Vector recordVectors[] = new Vector[UScript.CODE_LIMIT];
+    private int maxEquivalents[] = new int[UScript.CODE_LIMIT];
+
+}
diff --git a/src/com/ibm/icu/dev/tool/layout/ClassTable.java b/src/com/ibm/icu/dev/tool/layout/ClassTable.java
new file mode 100644
index 0000000..68bae04
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/layout/ClassTable.java
@@ -0,0 +1,237 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1998-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ *
+ * Created on Dec 3, 2003
+ *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.tool.layout;
+
+import java.util.*;
+
+import com.ibm.icu.impl.Utility;
+
+public class ClassTable implements LookupSubtable
+{
+    static class ClassEntry
+    {
+        private int glyphID;
+        private int classID;
+        
+        public ClassEntry(int glyphID, int classID)
+        {
+            this.glyphID = glyphID;
+            this.classID = classID;
+        }
+        
+        public int getGlyphID()
+        {
+            return glyphID;
+        }
+        
+        public int getClassID()
+        {
+            return classID;
+        }
+        
+        public int compareTo(ClassEntry that)
+        {
+            return this.glyphID - that.glyphID;
+        }
+        
+        //
+        // Straight insertion sort from Knuth vol. III, pg. 81
+        //
+        public static void sort(ClassEntry[] table, Vector unsorted)
+        {
+            for (int e = 0; e < table.length; e += 1) {
+                int i;
+                ClassEntry v = (ClassEntry) unsorted.elementAt(e);
+
+                for (i = e - 1; i >= 0; i -= 1) {
+                    if (v.compareTo(table[i]) >= 0) {
+                      break;
+                    }
+
+                    table[i + 1] = table[i];
+                }
+
+                table[i + 1] = v;
+            }
+        }
+        
+        public static int search(ClassEntry[] table, int glyphID)
+        {
+            int log2 = Utility.highBit(table.length);
+            int power = 1 << log2;
+            int extra = table.length - power;
+            int probe = power;
+            int index = 0;
+
+            if (table[extra].glyphID <= glyphID) {
+              index = extra;
+            }
+
+            while (probe > (1 << 0)) {
+                probe >>= 1;
+
+                if (table[index + probe].glyphID <= glyphID) {
+                    index += probe;
+                }
+            }
+
+            if (table[index].glyphID == glyphID) {
+                return index;
+            }
+
+            return -1;
+        }
+    }
+    
+    static class ClassRangeRecord
+    {
+        private int startGlyphID;
+        private int endGlyphID;
+        private int classID;
+        
+        public ClassRangeRecord(int startGlyphID, int endGlyphID, int classID)
+        {
+            this.startGlyphID = startGlyphID;
+            this.endGlyphID = endGlyphID;
+            this.classID = classID;
+        }
+        
+        public void write(OpenTypeTableWriter writer)
+        {
+            System.out.print(Utility.hex(startGlyphID, 6));
+            System.out.print(" - ");
+            System.out.print(Utility.hex(endGlyphID, 6));
+            System.out.print(": ");
+            System.out.println(classID);
+            
+            writer.writeData(startGlyphID);
+            writer.writeData(endGlyphID);
+            writer.writeData(classID);
+        }
+    }
+    
+    private Vector classMap;
+    private ClassEntry[] classTable;
+    private int snapshotSize;
+    
+    public ClassTable()
+    {
+        this.classMap = new Vector();
+        this.classTable = null;
+        this.snapshotSize = -1;
+        
+    }
+    
+    public void addMapping(int charID, int classID)
+    {
+        ClassEntry entry = new ClassEntry(charID, classID);
+        
+        classMap.addElement(entry);
+    }
+    
+    public void addMapping(int startCharID, int endCharID, int classID)
+    {
+        for (int charID = startCharID; charID <= endCharID; charID += 1) {
+            addMapping(charID, classID);
+        }
+    }
+    
+    public int getGlyphClassID(int glyphID)
+    {
+        int index = ClassEntry.search(classTable, glyphID);
+        
+        if (index >= 0) {
+            return classTable[index].getClassID();
+        }
+        
+        return 0;
+    }
+    
+    public void snapshot()
+    {
+        if (snapshotSize != classMap.size()) {
+            snapshotSize = classMap.size();
+            classTable = new ClassEntry[snapshotSize];
+
+            ClassEntry.sort(classTable, classMap);
+        }
+    }
+    
+    public void writeClassTable(OpenTypeTableWriter writer)
+    {
+        snapshot();
+        
+        Vector classRanges = new Vector();
+        int startIndex = 0;
+        
+        while (startIndex < classTable.length) {
+            int startID = classTable[startIndex].getGlyphID();
+            int classID = classTable[startIndex].getClassID();
+            int nextID = startID;
+            int endID = startID;
+            int endIndex;
+            
+            for (endIndex = startIndex; endIndex < classTable.length; endIndex += 1) {
+                if (classTable[endIndex].getGlyphID() != nextID ||
+                    classTable[endIndex].getClassID() != classID) {
+                    break;
+                }
+                
+                endID = nextID;
+                nextID += 1;
+            }
+            
+            if (classID != 0) {
+                ClassRangeRecord range = new ClassRangeRecord(startID, endID, classID);
+                
+                classRanges.addElement(range);
+            }
+            
+            startIndex = endIndex;
+        }
+        
+        writer.writeData(2);                    // table format = 2 (class ranges)
+        writer.writeData(classRanges.size());   // class range count
+        
+        for (int i = 0; i < classRanges.size(); i += 1) {
+            ClassRangeRecord range = (ClassRangeRecord) classRanges.elementAt(i);
+            
+            range.write(writer);
+        }
+    }
+
+    public void writeLookupSubtable(OpenTypeTableWriter writer)
+    {
+        int singleSubstitutionsBase = writer.getOutputIndex();
+        int coverageTableIndex;
+        
+        snapshot();
+        
+        writer.writeData(2); // format 2: Specified output glyph indices
+        coverageTableIndex = writer.getOutputIndex();
+        writer.writeData(0); // offset to coverage table (fixed later)
+        writer.writeData(classTable.length); // number of glyphIDs in substitution array
+        
+        for (int i = 0; i < classTable.length; i += 1) {
+            writer.writeData(classTable[i].getClassID());
+        }
+        
+        writer.fixOffset(coverageTableIndex, singleSubstitutionsBase);
+        writer.writeData(1);
+        writer.writeData(classTable.length);
+        
+        for (int i = 0; i < classTable.length; i += 1) {
+            writer.writeData(classTable[i].getGlyphID());
+        }
+    }
+}
+    
+    
\ No newline at end of file
diff --git a/src/com/ibm/icu/dev/tool/layout/DecompTable.java b/src/com/ibm/icu/dev/tool/layout/DecompTable.java
new file mode 100644
index 0000000..4ef51db
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/layout/DecompTable.java
@@ -0,0 +1,184 @@
+/**
+ *******************************************************************************
+ * Copyright (C) 2002-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+package com.ibm.icu.dev.tool.layout;
+
+import com.ibm.icu.text.UTF16;
+import java.util.Vector;
+
+/**
+ * @author Owner
+ *
+ * To change the template for this generated type comment go to
+ * Window>Preferences>Java>Code Generation>Code and Comments
+ */
+public class DecompTable implements LookupSubtable
+{
+    static class DecompEntry
+    {
+        private int composed;
+        private int[] decomp;
+        
+        DecompEntry(int composedChar, String decomposition)
+        {
+            int decompCount = UTF16.countCodePoint(decomposition);
+            
+            composed = composedChar;
+            decomp = new int[decompCount];
+            
+            int out = 0, cp;
+            
+            for (int in = 0; in < decomposition.length(); in += UTF16.getCharCount(cp)) {
+                cp = UTF16.charAt(decomposition, in);
+                decomp[out++] = cp;
+            }
+        }
+        
+        public int getComposedCharacter()
+        {
+            return composed;
+        }
+        
+        public int[] getDecomposition()
+        {
+            return decomp;
+        }
+        
+        public int getDecompositionCount()
+        {
+            return decomp.length;
+        }
+        
+        public int getDecomposedCharacter(int i)
+        {
+            if (i >= 0 && i < decomp.length) {
+                return decomp[i];
+            }
+            
+            return -1;
+        }
+        
+        public int compareTo(DecompEntry that)
+        {
+            return this.composed - that.composed;
+        }
+        
+        //
+        // Straight insertion sort from Knuth vol. III, pg. 81
+        //
+        public static void sort(DecompEntry[] table, Vector decompVector)
+        {
+            for (int j = 0; j < table.length; j += 1) {
+                int i;
+                DecompEntry v = (DecompEntry) decompVector.elementAt(j);
+
+                for (i = j - 1; i >= 0; i -= 1) {
+                    if (v.compareTo(table[i]) >= 0) {
+                      break;
+                    }
+
+                    table[i + 1] = table[i];
+                }
+
+                table[i + 1] = v;
+            }
+        }
+    }
+    
+    private Vector decompVector;
+    private DecompEntry[] decompEntries;
+    private int snapshotSize;
+    
+    public DecompTable()
+    {
+        decompVector = new Vector();
+        decompEntries = null;
+        snapshotSize = -1;
+    }
+    
+    public void add(int composed, String decomposition)
+    {
+        DecompEntry entry = new DecompEntry(composed, decomposition);
+        
+        decompVector.addElement(entry);
+    }
+    
+    public int getComposedCharacter(int i)
+    {
+        if (i < 0 || i > decompEntries.length) {
+            return -1;
+        }
+        
+        return decompEntries[i].getComposedCharacter();
+    }
+    
+    public int getDecompositionCount(int i)
+    {
+        if (i < 0 || i > decompEntries.length) {
+            return -1;
+        }
+        
+        return decompEntries[i].getDecompositionCount();
+    }
+    
+    public boolean hasEntries()
+    {
+        return decompVector.size() > 0;
+    }
+    
+    private void snapshot()
+    {
+        if (snapshotSize != decompVector.size()) {
+            snapshotSize = decompVector.size();
+            decompEntries = new DecompEntry[snapshotSize];
+            DecompEntry.sort(decompEntries, decompVector);
+        }
+    }
+
+    public void writeLookupSubtable(OpenTypeTableWriter writer)
+    {
+        snapshot();
+        
+        int multipleSubstitutionsBase = writer.getOutputIndex();
+        int coverageTableIndex, sequenceOffsetIndex;
+        int sequenceCount = decompEntries.length;
+        
+        writer.writeData(1); // format = 1
+        
+        coverageTableIndex = writer.getOutputIndex();
+        writer.writeData(0); // coverage table offset (fixed later)
+        
+        writer.writeData(sequenceCount);
+        
+        sequenceOffsetIndex = writer.getOutputIndex();
+        for (int s = 0; s < sequenceCount; s += 1) {
+            writer.writeData(0); // offset to sequence table (fixed later);
+        }
+        
+        for (int s = 0; s < sequenceCount; s += 1) {
+            DecompEntry entry = decompEntries[s];
+            int decompCount = entry.getDecompositionCount();
+            
+            writer.fixOffset(sequenceOffsetIndex++, multipleSubstitutionsBase);
+            
+            writer.writeData(decompCount); // glyphCount
+            
+            for (int g = 0; g < decompCount; g += 1) {
+                writer.writeData(entry.getDecomposedCharacter(g));
+            }
+        }
+        
+        // write a format 1 coverage table
+        writer.fixOffset(coverageTableIndex, multipleSubstitutionsBase);
+        writer.writeData(1); // format = 1
+        writer.writeData(sequenceCount);  // glyphCount
+        
+        for (int i = 0; i < sequenceCount; i += 1) {
+            writer.writeData(decompEntries[i].getComposedCharacter());
+        }
+    }
+}
diff --git a/src/com/ibm/icu/dev/tool/layout/Feature.java b/src/com/ibm/icu/dev/tool/layout/Feature.java
new file mode 100644
index 0000000..7acf87d
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/layout/Feature.java
@@ -0,0 +1,59 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2002-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+package com.ibm.icu.dev.tool.layout;
+
+
+class Feature extends TaggedRecord
+{
+    private int[] lookupIndices;
+    private int lookupCount;
+    private int featureIndex;
+    
+    public Feature(String theFeatureTag)
+    {
+        super(theFeatureTag);
+        
+        lookupIndices = new int[10];
+        lookupCount = 0;
+        featureIndex = -1;
+    }
+    
+    public void addLookup(int theLookupIndex)
+    {
+        if (lookupCount >= lookupIndices.length) {
+            int[] newLookupIndices = new int[lookupIndices.length + 5];
+            
+            System.arraycopy(lookupIndices, 0, newLookupIndices, 0, lookupIndices.length);
+            lookupIndices = newLookupIndices;
+        }
+        
+        lookupIndices[lookupCount] = theLookupIndex;
+        lookupCount += 1;
+    }
+    
+    public void writeFeature(OpenTypeTableWriter writer)
+    {
+        writer.writeData(0);      // featureParams (must be NULL)
+        
+        writer.writeData(lookupCount);
+        
+        for (int i = 0; i < lookupCount; i += 1) {
+            writer.writeData(lookupIndices[i]);
+        }
+    }
+    
+    public int getFeatureIndex()
+    {
+        return featureIndex;
+    }
+    
+    public void setFeatureIndex(int index)
+    {
+        featureIndex = index;
+    }
+}
\ No newline at end of file
diff --git a/src/com/ibm/icu/dev/tool/layout/FeatureList.java b/src/com/ibm/icu/dev/tool/layout/FeatureList.java
new file mode 100644
index 0000000..e7e61d5
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/layout/FeatureList.java
@@ -0,0 +1,77 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1998-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ *
+ * Created on Dec 3, 2003
+ *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.tool.layout;
+
+
+public class FeatureList
+{
+    
+    private Feature[] features;
+    private int featureCount;
+    
+    public FeatureList()
+    {
+        features = new Feature[10];
+        featureCount = 0;
+    }
+        
+    public void addFeature(Feature feature)
+    {
+        if (featureCount >= features.length) {
+            Feature[] newFeatures = new Feature[features.length + 5];
+            
+            System.arraycopy(features, 0, newFeatures, 0, features.length);
+            features = newFeatures;
+        }
+        
+        features[featureCount++] = feature;
+    }
+    
+    public void finalizeFeatureList()
+    {
+        TaggedRecord.sort(features, featureCount);
+        
+        for (int i = 0; i < featureCount; i += 1) {
+            features[i].setFeatureIndex(i);
+        }
+    }
+    
+    public void writeFeaturetList(OpenTypeTableWriter writer)
+    {
+        System.out.print("writing feature list...");
+        
+        int featureListBase = writer.getOutputIndex();
+        
+        writer.writeData(featureCount);
+        
+        int featureRecordOffset = writer.getOutputIndex();
+        
+        for (int i = 0; i < featureCount; i += 1) {
+            String tag = features[i].getTag();
+            
+            System.out.print(" '" + tag + "'");
+            writer.writeTag(tag);
+            writer.writeData(0);
+        }
+        
+        for (int i = 0; i < featureCount; i += 1) {
+            // fix the offset in the featureRecordArray.
+            // The "+2" skips over the tag and the "+3"
+            // skips to the next featureRecord entry
+            writer.fixOffset(featureRecordOffset + 2, featureListBase);
+            featureRecordOffset += 3;
+            
+            features[i].writeFeature(writer);
+        }
+        
+        System.out.println();
+    }
+}
\ No newline at end of file
diff --git a/src/com/ibm/icu/dev/tool/layout/GDEFWriter.java b/src/com/ibm/icu/dev/tool/layout/GDEFWriter.java
new file mode 100644
index 0000000..e9c13f9
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/layout/GDEFWriter.java
@@ -0,0 +1,67 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1998-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ *
+ * Created on Dec 3, 2003
+ *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.tool.layout;
+
+import java.io.PrintStream;
+
+
+
+class GDEFWriter extends OpenTypeTableWriter
+{
+    ClassTable classTable;
+    ClassTable markClassTable;
+    String scriptName;
+    
+    public GDEFWriter(String scriptName, ClassTable classTable, ClassTable markClassTable)
+    {
+        super(1024);
+        this.classTable     = classTable;
+        this.markClassTable = markClassTable;
+        this.scriptName     = scriptName;
+    }
+    
+    public void writeTable(PrintStream output)
+    {
+        System.out.println("Writing " + scriptName + " GDEF table...");
+        
+        // 0x0001000 (fixed1) version number
+        writeData(0x0001);
+        writeData(0x0000);
+        
+        int classDefOffset = getOutputIndex();
+        writeData(0); // glyphClassDefOffset (will fix later);
+        writeData(0); // attachListOffset
+        writeData(0); // ligCaretListOffset
+        writeData(0); // markAttachClassDefOffset
+        
+        fixOffset(classDefOffset++, 0);
+        
+        System.out.println("Writing glyph class definition table...");
+        classTable.writeClassTable(this);
+        
+        // skip over attachListOffset, ligCaretListOffset
+        classDefOffset += 2;
+        
+        if (markClassTable != null) {
+            fixOffset(classDefOffset, 0);
+            
+            System.out.println("Writing mark attach class definition table...");
+            markClassTable.writeClassTable(this);
+        }
+
+        output.print("const le_uint8 ");
+        output.print(scriptName);
+        output.println("Shaping::glyphDefinitionTable[] = {");
+        
+        dumpTable(output, 8);
+        output.println("};\n");
+    }
+}
diff --git a/src/com/ibm/icu/dev/tool/layout/GSUBWriter.java b/src/com/ibm/icu/dev/tool/layout/GSUBWriter.java
new file mode 100644
index 0000000..c6fcf37
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/layout/GSUBWriter.java
@@ -0,0 +1,64 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1998-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ *
+ * Created on Dec 3, 2003
+ *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.tool.layout;
+
+import java.io.PrintStream;
+
+
+public class GSUBWriter extends OpenTypeTableWriter
+{
+    private ScriptList scriptList;
+    private FeatureList featureList;
+    private LookupList lookupList;
+    private String scriptName;
+    
+    public GSUBWriter(String theScriptName, ScriptList theScriptList, FeatureList theFeatureList,
+                      LookupList theLookupList)
+    {
+        super(1024);
+        
+        scriptList  = theScriptList;
+        featureList = theFeatureList;
+        lookupList  = theLookupList;
+        scriptName  = theScriptName;
+    }
+    
+    public void writeTable(PrintStream output)
+    {
+        System.out.println("writing " + scriptName + " GSUB table...");
+        
+        // 0x00010000 (fixed1) version number
+        writeData(0x0001);
+        writeData(0x0000);
+        
+        int listOffset = getOutputIndex();
+        
+        writeData(0); // script list offset (fixed later)
+        writeData(0); // feature list offset (fixed later)
+        writeData(0); // lookup list offset (fixed later)
+        
+        fixOffset(listOffset++, 0);
+        scriptList.writeScriptList(this);
+        
+        fixOffset(listOffset++, 0);
+        featureList.writeFeaturetList(this);
+        
+        fixOffset(listOffset++, 0);
+        lookupList.writeLookupList(this);
+
+        output.print("const le_uint8 ");
+        output.print(scriptName);
+        output.println("Shaping::glyphSubstitutionTable[] = {");
+        
+        dumpTable(output, 8);
+        output.println("};\n");
+    }
+}
\ No newline at end of file
diff --git a/src/com/ibm/icu/dev/tool/layout/LanguageData.java b/src/com/ibm/icu/dev/tool/layout/LanguageData.java
new file mode 100644
index 0000000..162b9a9
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/layout/LanguageData.java
@@ -0,0 +1,138 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1998-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ *
+ * Created on Apr 4, 2003
+ *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.tool.layout;
+
+/**
+ * This class holds the list of languages.
+ * 
+ * @author emader
+ *
+ */
+public class LanguageData extends TagValueData
+{
+    public static class Record
+    {
+        private String tag;
+        private String name;
+        
+        public Record(String tag, String name)
+        {
+            this.tag = tag;
+            this.name = name;
+        }
+        
+        public String tag()
+        {
+            return tag;
+        }
+        
+        public String name()
+        {
+            return name;
+        }
+        
+        public String label()
+        {
+            return TagUtilities.tagLabel(tag);
+        }
+        
+        public String makeTag()
+        {
+            return TagUtilities.makeTag(tag);
+        }
+    }
+        
+    /*
+     * This is temporary data until there is some resolution between
+     * the OpenType language system tags and the ISO and RFC standards...
+     */
+    private Record[] languages =
+    {
+        new Record("",    "null"),
+        new Record("ARA", "Arabic"),
+        new Record("ASM", "Assamese"),
+        new Record("BEN", "Bengali"),
+        new Record("FAR", "Farsi"),
+        new Record("GUJ", "Gujarati"),
+        new Record("HIN", "Hindi"),
+        new Record("IWR", "Hebrew"),
+        new Record("JII", "Yiddish"),
+        new Record("JAN", "Japanese"),
+        new Record("KAN", "Kannada"),
+        new Record("KOK", "Konkani"),
+        new Record("KOR", "Korean"),
+        new Record("KSH", "Kashmiri"),
+        new Record("MAL", "Malayalam (Traditional)"),
+        new Record("MAR", "Marathi"),
+        new Record("MLR", "Malayalam (Reformed)"),
+        new Record("MNI", "Manipuri"),
+        new Record("ORI", "Oriya"),
+        new Record("SAN", "Sanscrit"),
+        new Record("SND", "Sindhi"),
+        new Record("SNH", "Sinhalese"),
+        new Record("SYR", "Syriac"),
+        new Record("TAM", "Tamil"),
+        new Record("TEL", "Telugu"),
+        new Record("THA", "Thai"),
+        new Record("URD", "Urdu"),
+        new Record("ZHP", "Chinese (Phonetic)"),
+        new Record("ZHS", "Chinese (Simplified)"),
+        new Record("ZHT", "Chinese (Traditional)")
+    };
+    
+    private int minLanguage = 0;
+    private int maxLanguage = minLanguage + languages.length - 1;
+    
+    public int getMinValue()
+    {
+        return minLanguage;
+    }
+    
+    public int getMaxValue()
+    {
+        return maxLanguage;
+    }
+    
+    public String getTag(int value)
+    {
+        if (value < minLanguage || value > maxLanguage) {
+            return null;
+        }
+        
+        return languages[value - minLanguage].tag();
+    }
+    
+    public String getTagLabel(int value)
+    {
+        if (value < minLanguage || value > maxLanguage) {
+            return null;
+        }
+        
+        return languages[value - minLanguage].label();
+    }
+    
+    public String makeTag(int value)
+    {
+        if (value < minLanguage || value > maxLanguage) {
+            return null;
+        }
+        
+        return languages[value - minLanguage].makeTag();
+    }
+    
+    public String getName(int value) {
+        if (value < minLanguage || value > maxLanguage) {
+            return "(UNKNOWN)";
+        }
+        
+        return languages[value - minLanguage].name();
+    }
+}
diff --git a/src/com/ibm/icu/dev/tool/layout/LigatureEntry.java b/src/com/ibm/icu/dev/tool/layout/LigatureEntry.java
new file mode 100644
index 0000000..ce06a34
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/layout/LigatureEntry.java
@@ -0,0 +1,39 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1998-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ *
+ * Created on Dec 3, 2003
+ *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.tool.layout;
+
+public class LigatureEntry
+{
+    private int[] componentChars;
+    private int ligature;
+    
+    public LigatureEntry(int ligature, int[] componentChars, int componentCount)
+    {
+        this.componentChars = new int[componentCount];
+        this.ligature = ligature;
+        System.arraycopy(componentChars, 0, this.componentChars, 0, componentCount);
+}
+    
+    public int getComponentCount()
+    {
+        return componentChars.length;
+    }
+    
+    public int getComponentChar(int componentIndex)
+    {
+        return componentChars[componentIndex];
+    }
+    
+    public int getLigature()
+    {
+        return ligature;
+    }
+}
diff --git a/src/com/ibm/icu/dev/tool/layout/LigatureModuleWriter.java b/src/com/ibm/icu/dev/tool/layout/LigatureModuleWriter.java
new file mode 100644
index 0000000..c15209f
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/layout/LigatureModuleWriter.java
@@ -0,0 +1,25 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1998-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ *
+ * Created on Dec 3, 2003
+ *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.tool.layout;
+
+
+public class LigatureModuleWriter extends ModuleWriter
+{
+    public LigatureModuleWriter()
+    {
+        super();
+    }
+
+    public void writeTable(OpenTypeTableWriter tableWriter)
+    {
+        tableWriter.writeTable(output);
+    }
+}
\ No newline at end of file
diff --git a/src/com/ibm/icu/dev/tool/layout/LigatureTree.java b/src/com/ibm/icu/dev/tool/layout/LigatureTree.java
new file mode 100644
index 0000000..f6f2604
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/layout/LigatureTree.java
@@ -0,0 +1,247 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1998-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ *
+ * Created on Dec 3, 2003
+ *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.tool.layout;
+
+
+import java.io.IOException;
+import java.io.PrintWriter;
+import java.io.Writer;
+
+import com.ibm.icu.text.UTF16;
+import com.ibm.icu.impl.Utility;
+
+public class LigatureTree
+{
+    static class Lignode
+    {
+        int target;
+        int ligature = -1;
+        Lignode[] subnodes = null;
+
+        Lignode()
+        {
+            target = -1;
+        }
+
+        Lignode(int target)
+        {
+            this.target = target;
+        }
+
+        boolean isMatch()
+        {
+            return ligature != -1;
+        }
+
+        int getLigature()
+        {
+            return ligature;
+        }
+
+        Lignode subnode(int c)
+        {
+            if (subnodes != null) {
+                int len = subnodes.length;
+
+                if (c <= subnodes[len - 1].target) {
+                    for (int i = 0; i < len; i+= 1) {
+                        int t = subnodes[i].target;
+
+                        if (t > c) {
+                            return null;
+                        }
+
+                        if (t == c) {
+                            return subnodes[i];
+                        }
+                    }
+                }
+            }
+
+            return null;
+        }
+
+        String ligatureString(int[] chars)
+        {
+            StringBuffer result = new StringBuffer();
+            int len = chars.length - 1;
+            
+            for (int i = 0; i < len; i += 1) {
+                if (i > 0) {
+                    result.append(" + ");
+                }
+                
+                result.append(Utility.hex(chars[i], 6));
+           }
+            
+            result.append(" => " + Utility.hex(chars[len], 6));
+            
+            return result.toString();
+        }
+        
+        void insert(int[] chars, int index)
+        {
+            int c = chars[index];
+            int len = chars.length;
+
+            if (len == index + 1) {
+                if (ligature != -1) {
+                    System.out.println("ignoring ligature " + ligatureString(chars) +
+                                       ": already have " + Utility.hex(ligature, 6));
+                } else {
+                    ligature = c;
+                }
+
+                return;
+            }
+
+            if (subnodes == null) {
+                subnodes = new Lignode[1];
+                subnodes[0] = new Lignode(c);
+                subnodes[0].insert(chars, index + 1);
+            } else {
+                int i;
+
+                for (i = 0; i < subnodes.length; i += 1)
+                {
+                    int t = subnodes[i].target;
+
+                    if (t == c) {
+                        subnodes[i].insert(chars, index + 1);
+                        return;
+                    } else if (t > c) {
+                        break;
+                    }
+                }
+
+                Lignode[] nnodes = new Lignode[subnodes.length + 1];
+
+                if (i > 0) {
+                    System.arraycopy(subnodes, 0, nnodes, 0, i);
+                }
+
+                nnodes[i] = new Lignode(c);
+
+                if (i < subnodes.length) {
+                    System.arraycopy(subnodes, i, nnodes, i + 1, subnodes.length - i);
+                }
+
+                subnodes = nnodes;
+
+                subnodes[i].insert(chars, index + 1);
+            }
+        }
+        
+        public void walk(TreeWalker walker)
+        {
+            if (target != -1) {
+                walker.down(target);
+            }
+            
+            if (subnodes != null) {
+                for (int i = 0; i < subnodes.length; i += 1)
+                {
+                    subnodes[i].walk(walker);
+                }
+            }
+            
+            if (ligature != -1) {
+                walker.ligature(ligature);
+            }
+                
+            walker.up();
+        }
+
+        static final String ind = "                                      ";
+
+        /*
+         * Write debugging information to w, starting at the provided indentation level.
+         */
+        public void dump(Writer w, int indent)
+        {
+            String tab = ind.substring(0, Math.min(indent, ind.length()));
+
+            try {
+                w.write(tab);
+                if (target != -1) {
+                    w.write(Utility.hex(target, 6));
+                }
+                
+                if (ligature != -1)
+                {
+                    w.write(" --> ");
+                    w.write(Utility.hex(ligature, 6));
+                }
+                
+                w.write("\n");
+                
+                if (subnodes != null) {
+                    w.write(tab);
+                    w.write("{\n");
+                    indent += 4;
+                    
+                    for (int i = 0; i < subnodes.length; i += 1) {
+                        subnodes[i].dump(w, indent);
+                    }
+                    
+                    w.write(tab);
+                    w.write("}\n");
+                }
+            } catch (IOException e) {
+                System.out.println(e);
+            }
+        }
+
+    }
+
+    private Lignode root = new Lignode();
+    
+    public LigatureTree()
+    {
+        // anything?
+    }
+
+    private int[] toIntArray(String s)
+    {
+        int count = UTF16.countCodePoint(s);
+        int[] result = new int[count];
+        
+        for (int i = 0; i < count; i += 1) {
+            result[i] = UTF16.charAt(s, i);
+        }
+        
+        return result;
+    }
+
+    public void insert(String string)
+    {
+        root.insert(toIntArray(string), 0);
+    }
+    
+    public void insert(int[] chars)
+    {
+        root.insert(chars, 0);
+    }
+    
+    public void walk(TreeWalker walker)
+    {
+        root.walk(walker);
+        walker.done();
+    }
+    
+    public void dump()
+    {
+        PrintWriter pw = new PrintWriter(System.out);
+        
+        root.dump(pw, 0);
+        pw.flush();
+    }
+}
diff --git a/src/com/ibm/icu/dev/tool/layout/LigatureTreeWalker.java b/src/com/ibm/icu/dev/tool/layout/LigatureTreeWalker.java
new file mode 100644
index 0000000..b65e2d9
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/layout/LigatureTreeWalker.java
@@ -0,0 +1,144 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1998-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ *
+ * Created on Dec 3, 2003
+ *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.tool.layout;
+
+import java.util.Vector;
+
+import com.ibm.icu.impl.Utility;
+
+public class LigatureTreeWalker extends TreeWalker implements LookupSubtable
+{
+    protected int[] componentChars;
+    protected int componentCount;
+    protected int lastFirstComponent;
+
+    protected Vector ligatureSets;
+    protected Vector ligatureSet;
+    
+    public LigatureTreeWalker()
+    {
+        componentChars = new int[30];
+        componentCount = 0;
+        lastFirstComponent = -1;
+        ligatureSet = null;
+        ligatureSets = new Vector();
+    }
+
+    public void down(int ch)
+    {
+        componentChars[componentCount] = ch;
+        componentCount += 1;
+    }
+
+    public void up()
+    {
+        if (componentCount > 0) {
+            componentCount -= 1;
+        }
+    }
+
+    public void ligature(int lig)
+    {
+        int firstComponent = componentChars[0];
+
+        if (lastFirstComponent != firstComponent) {
+            if (ligatureSet != null) {
+                ligatureSets.addElement(ligatureSet);
+            }
+
+            ligatureSet = new Vector();
+            lastFirstComponent = firstComponent;
+        }
+
+        ligatureSet.addElement(new LigatureEntry(lig, componentChars, componentCount));
+    }
+
+    public void done()
+    {
+        if (ligatureSet != null) {
+            ligatureSets.addElement(ligatureSet);
+        }
+    }
+    protected int firstComponentChar(int ligatureSetIndex)
+    {
+        Vector ligatureSet = (Vector) ligatureSets.elementAt(ligatureSetIndex);
+        LigatureEntry firstEntry = (LigatureEntry) ligatureSet.elementAt(0);
+
+        return firstEntry.getComponentChar(0);
+    }
+
+    protected void writeCoverageTable(OpenTypeTableWriter writer)
+    {
+        int ligatureSetCount = ligatureSets.size();
+
+        writer.writeData(1);
+        writer.writeData(ligatureSetCount);
+
+        for (int set = 0; set < ligatureSetCount; set += 1) {
+            writer.writeData(firstComponentChar(set));
+        }
+    }
+    
+    public void writeLookupSubtable(OpenTypeTableWriter writer)
+    {
+        int coverageOffset, ligatureSetOffset, ligatureTableOffset;
+        int ligatureSubstitutionBase = writer.getOutputIndex();
+        int ligatureSetCount = ligatureSets.size();
+        
+        //System.out.println("Writing " + tableName + "...");
+
+        writer.writeData(1);   // substFormat
+        
+        coverageOffset = writer.getOutputIndex();
+        writer.writeData(0);   // coverageTableOffset (will fix later)
+        
+        writer.writeData(ligatureSetCount);
+
+        ligatureSetOffset = writer.getOutputIndex();
+        for (int set = 0; set < ligatureSetCount; set += 1) {
+            writer.writeData(0);  // ligatureSet offset - will fix later
+        }
+        
+        for (int set = 0; set < ligatureSetCount; set += 1) {
+            System.out.print(Utility.hex(firstComponentChar(set), 6) + ": ");
+            
+            Vector ligatureSet = (Vector) ligatureSets.elementAt(set);
+            int ligatureCount = ligatureSet.size();
+            int ligatureSetAddress = writer.getOutputIndex();
+            
+            System.out.println(ligatureCount + " ligatures.");
+            
+            writer.fixOffset(ligatureSetOffset++, ligatureSubstitutionBase);
+            writer.writeData(ligatureCount);
+            
+            ligatureTableOffset = writer.getOutputIndex();
+            for (int lig = 0; lig < ligatureCount; lig += 1) {
+                writer.writeData(0);  // ligatureTableOffset (will fix later)
+            }
+            
+            for (int lig = 0; lig < ligatureCount; lig += 1) {
+                LigatureEntry entry = (LigatureEntry) ligatureSet.elementAt(lig);
+                int componentCount = entry.getComponentCount();
+                
+                writer.fixOffset(ligatureTableOffset++, ligatureSetAddress);
+                writer.writeData(entry.getLigature());
+                writer.writeData(componentCount);
+                
+                for (int comp = 1; comp < componentCount; comp += 1) {
+                    writer.writeData(entry.getComponentChar(comp));
+                }
+            }
+        }
+        
+        writer.fixOffset(coverageOffset, ligatureSubstitutionBase); 
+        writeCoverageTable(writer);
+    }
+}
diff --git a/src/com/ibm/icu/dev/tool/layout/Lookup.java b/src/com/ibm/icu/dev/tool/layout/Lookup.java
new file mode 100644
index 0000000..cfca302
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/layout/Lookup.java
@@ -0,0 +1,89 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1998-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ *
+ * Created on Dec 3, 2003
+ *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.tool.layout;
+
+
+public /*abstract*/ class Lookup
+{
+    private int lookupType;
+    private int lookupFlags;
+    private LookupSubtable[] subtables;
+    private int subtableCount;
+    
+    // Lookup flags
+    public final static int LF_ReservedBit          = 0x0001;
+    public final static int LF_IgnoreBaseGlyphs     = 0x0002;
+    public final static int LF_IgnoreLigatures      = 0x0004;
+    public final static int LF_IgnoreMarks          = 0x0008;
+    public final static int LF_ReservedMask         = 0x00F0;
+    public final static int LF_MarkAttachTypeMask   = 0xFF00;
+    public final static int LF_MarkAttachTypeShift  = 8;
+    
+    // GSUB lookup types
+    public final static int GSST_Single          = 1;
+    public final static int GSST_Multiple        = 2;
+    public final static int GSST_Alternate       = 3;
+    public final static int GSST_Ligature        = 4;
+    public final static int GSST_Context         = 5;
+    public final static int GSST_ChainingContext = 6;
+
+    // GPOS lookup types
+    public final static int GPST_Single          = 1;
+    public final static int GPST_Pair            = 2;
+    public final static int GPST_Cursive         = 3;
+    public final static int GPST_MarkToBase      = 4;
+    public final static int GPST_MarkToLigature  = 5;
+    public final static int GPST_MarkToMark      = 6;
+    public final static int GPST_Context         = 7;
+    public final static int GPST_ChainingContext = 8;
+    
+    public Lookup(int theLookupType, int theLookupFlags)
+    {
+        lookupType = theLookupType;
+        lookupFlags = theLookupFlags;
+        
+        subtables = new LookupSubtable[10];
+        subtableCount = 0;
+    }
+    
+    public void addSubtable(LookupSubtable subtable)
+    {
+        if (subtableCount >= subtables.length) {
+            LookupSubtable[] newSubtables = new LookupSubtable[subtables.length + 5];
+            
+            System.arraycopy(subtables, 0, newSubtables, 0, subtables.length);
+            subtables = newSubtables;
+        }
+        
+        subtables[subtableCount] = subtable;
+        subtableCount += 1;
+    }
+    
+    public void writeLookup(OpenTypeTableWriter writer)
+    {
+        int lookupBase = writer.getOutputIndex();
+        
+        writer.writeData(lookupType);
+        writer.writeData(lookupFlags);
+        writer.writeData(subtableCount);
+        
+        int subtableOffset = writer.getOutputIndex();
+        
+        for (int i = 0; i < subtableCount; i += 1) {
+            writer.writeData(0);
+        }
+        
+        for (int i = 0; i < subtableCount; i += 1) {
+            writer.fixOffset(subtableOffset++, lookupBase);
+            subtables[i].writeLookupSubtable(writer);
+        }
+    }
+}
\ No newline at end of file
diff --git a/src/com/ibm/icu/dev/tool/layout/LookupList.java b/src/com/ibm/icu/dev/tool/layout/LookupList.java
new file mode 100644
index 0000000..7de5711
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/layout/LookupList.java
@@ -0,0 +1,57 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1998-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ *
+ * Created on Dec 3, 2003
+ *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.tool.layout;
+
+public class LookupList
+{
+    private Lookup[] lookups;
+    private int lookupCount;
+    
+    public LookupList()
+    {
+        lookups = new Lookup[10];
+        lookupCount = 0;
+    }
+    
+    public int addLookup(Lookup lookup)
+    {
+        if (lookupCount >= lookups.length) {
+            Lookup[] newLookups = new Lookup[lookups.length + 5];
+            
+            System.arraycopy(lookups, 0, newLookups, 0, lookups.length);
+            lookups = newLookups;
+        }
+        
+        lookups[lookupCount] = lookup;
+        
+        return lookupCount++;
+    }
+    
+    public void writeLookupList(OpenTypeTableWriter writer)
+    {
+        System.out.println("writing lookup list...");
+        
+        int lookupListBase = writer.getOutputIndex();
+        
+        writer.writeData(lookupCount);
+        
+        int lookupOffset = writer.getOutputIndex();
+        
+        for (int i = 0; i < lookupCount; i += 1) {
+            writer.writeData(0); // Offset to lookup (fixed later);
+        }
+        
+        for (int i = 0; i < lookupCount; i += 1) {
+            writer.fixOffset(lookupOffset++, lookupListBase);
+            lookups[i].writeLookup(writer);
+        }
+    }
+}
\ No newline at end of file
diff --git a/src/com/ibm/icu/dev/tool/layout/LookupSubtable.java b/src/com/ibm/icu/dev/tool/layout/LookupSubtable.java
new file mode 100644
index 0000000..1ab0143
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/layout/LookupSubtable.java
@@ -0,0 +1,16 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1998-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ *
+ * Created on Dec 3, 2003
+ *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.tool.layout;
+
+public interface LookupSubtable
+{
+    void writeLookupSubtable(OpenTypeTableWriter writer);
+}
\ No newline at end of file
diff --git a/src/com/ibm/icu/dev/tool/layout/ModuleWriter.java b/src/com/ibm/icu/dev/tool/layout/ModuleWriter.java
new file mode 100644
index 0000000..c64eb05
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/layout/ModuleWriter.java
@@ -0,0 +1,117 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1998-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ *
+ * Created on Dec 3, 2003
+ *
+ *******************************************************************************
+ */
+
+package com.ibm.icu.dev.tool.layout;
+
+import java.io.PrintStream;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.util.Date;
+
+import com.ibm.icu.text.MessageFormat;
+
+public class ModuleWriter
+{
+    public ModuleWriter()
+    {
+        wroteDefine = false;
+        output = null;
+    }
+
+    public void openFile(String outputFileName) {
+        try
+        {
+            output = new PrintStream(
+                new FileOutputStream(outputFileName));
+        } catch (IOException e) {
+            System.out.println("? Could not open " + outputFileName + " for writing.");
+            return;
+        }
+    
+        wroteDefine = false;
+        System.out.println("Writing module " + outputFileName + "...");
+    }
+
+    public void writeHeader(String define, String[] includeFiles)
+    {
+        writeHeader(define, includeFiles, null);
+    }
+    
+    public void writeHeader(String define, String[] includeFiles, String brief)
+    {
+        MessageFormat format = new MessageFormat(moduleHeader);
+        Object args[] = {new Date(System.currentTimeMillis())};
+
+        output.print(format.format(args));
+        
+        if (define != null) {
+            wroteDefine = true;
+            output.print("#ifndef ");
+            output.println(define);
+            
+            output.print("#define ");
+            output.println(define);
+            
+            output.println();
+        }
+        
+        if (includeFiles != null) {
+            for (int i = 0; i < includeFiles.length; i += 1) {
+                output.print("#include \"");
+                output.print(includeFiles[i]);
+                output.println("\"");
+            }
+            
+            output.println();
+        }
+        
+        if (brief != null) {
+            output.print(brief);
+        }
+        
+        output.println(moduleBegin);
+    }
+
+    public void writeTrailer() {
+        output.print(moduleTrailer);
+        
+        if (wroteDefine) {
+            output.println("#endif");
+            
+        }
+    }
+
+    public void closeFile() {
+        System.out.println("Done.");
+        output.close();
+    }
+
+    protected boolean wroteDefine;
+    
+    protected PrintStream output;
+
+    protected static final String moduleHeader =
+        "/*\n" +
+        " *\n" +
+        " * (C) Copyright IBM Corp. 1998-{0,date,yyyy}. All Rights Reserved.\n" +
+        " *\n" +
+        " * WARNING: THIS FILE IS MACHINE GENERATED. DO NOT HAND EDIT IT UNLESS\n" +
+        " * YOU REALLY KNOW WHAT YOU''RE DOING.\n" +
+        " *\n" +
+        " * Generated on: {0,date,MM/dd/yyyy hh:mm:ss a z}\n" +
+        " */\n" +
+        "\n";
+
+    protected static final String moduleBegin = "U_NAMESPACE_BEGIN\n";
+
+    protected static final String moduleTrailer = "U_NAMESPACE_END\n";
+
+}
diff --git a/src/com/ibm/icu/dev/tool/layout/OpenTypeTableWriter.java b/src/com/ibm/icu/dev/tool/layout/OpenTypeTableWriter.java
new file mode 100644
index 0000000..a16d831
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/layout/OpenTypeTableWriter.java
@@ -0,0 +1,128 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1998-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ *
+ * Created on Dec 3, 2003
+ *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.tool.layout;
+
+
+import java.io.PrintStream;
+
+import com.ibm.icu.impl.Utility;
+
+abstract class OpenTypeTableWriter
+{
+    static class OpenTypeTableDumper
+    {
+        private short[] table;
+        private int tableLength;
+        
+        OpenTypeTableDumper(short[] data, int outputIndex)
+        {
+            table = data;
+            tableLength = outputIndex;
+        }
+        
+        int length()
+        {
+            return tableLength;
+        }
+        
+        void appendValue(StringBuffer line, int index)
+        {
+            short value = table[index];
+            
+            line.append("0x");
+            line.append(Utility.hex((value >> 8) & 0xFF, 2));
+            line.append(", ");
+
+            line.append("0x");
+            line.append(Utility.hex(value & 0xFF, 2));
+        }
+
+        void dumpTable(PrintStream output, int valuesPerLine) {
+            StringBuffer line = new StringBuffer("    "); // four spaces
+            int maxIndex = length();
+        
+            for (int i = 0; i < maxIndex; i += 1) {
+                
+                if (i > 0 && i % valuesPerLine == 0) {
+                    output.println(line.toString());
+                    line.setLength(4);
+                }
+        
+                appendValue(line, i);
+                line.append(", ");
+            }
+        
+            line.setLength(line.length() - 2);
+        
+            output.println(line.toString());
+        }
+    }
+            
+    protected short[] data;
+    protected int outputIndex;
+
+    public OpenTypeTableWriter(int initialBufferSize)
+    {
+        data = new short[initialBufferSize];
+        outputIndex = 0;
+    }
+    
+    public OpenTypeTableWriter()
+    {
+        this(1024);
+    }
+    
+    public int getOutputIndex()
+    {
+        return outputIndex;
+    }
+    
+    public void writeData(int value)
+    {
+        if (outputIndex >= data.length)
+        {
+            short[] newData = new short[data.length + 512];
+            
+            System.arraycopy(data, 0, newData, 0, data.length);
+            
+            data = newData;
+        }
+        
+        data[outputIndex] = (short) value;
+        outputIndex += 1;
+    }
+    
+    public void writeTag(String tag)
+    {
+        char[] charArray = {'\0', '\0', '\0', '\0'};
+        int max = Math.min(tag.length(), 4);
+        
+        tag.getChars(0, max, charArray, 0);
+        
+        writeData(((charArray[0] & 0xFF) << 8) + (charArray[1] & 0xFF));
+        writeData(((charArray[2] & 0xFF) << 8) + (charArray[3] & 0xFF));
+    }
+    
+    public void fixOffset(int offset, int base)
+    {
+        // * 2 to convert from short to byte index
+        data[offset] = (short) ((outputIndex - base) * 2);
+    }
+    
+    public void dumpTable(PrintStream output, int valuesPerLine)
+    {
+        OpenTypeTableDumper dumper = new OpenTypeTableDumper(data, outputIndex);
+        
+        dumper.dumpTable(output, valuesPerLine);
+    }
+    
+    abstract public void writeTable(PrintStream output);
+}
diff --git a/src/com/ibm/icu/dev/tool/layout/OpenTypeTagBuilder.java b/src/com/ibm/icu/dev/tool/layout/OpenTypeTagBuilder.java
new file mode 100644
index 0000000..93e111a
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/layout/OpenTypeTagBuilder.java
@@ -0,0 +1,235 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1998-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.tool.layout;
+
+/**
+ * @author emader
+ *
+ */
+public class OpenTypeTagBuilder
+{
+    private static String[] tableTags = {
+        "acnt",
+        "avar",
+        "BASE",
+        "bdat",
+        "bhed",
+        "bloc",
+        "bsln",
+        "CFF ",
+        "cmap",
+        "cvar",
+        "cvt ",
+        "DSIG",
+        "EBDT",
+        "EBLC",
+        "EBSC",
+        "fdsc",
+        "feat",
+        "fmtx",
+        "fpgm",
+        "fvar",
+        "gasp",
+        "GDEF",
+        "glyf",
+        "GPOS",
+        "GSUB",
+        "gvar",
+        "hdmx",
+        "head",
+        "hhea",
+        "hmtx",
+        "hsty",
+        "just",
+        "JSTF",
+        "kern",
+        "lcar",
+        "loca",
+        "LTSH",
+        "maxp",
+        "mort",
+        "morx",
+        "name",
+        "opbd",
+        "OS/2",
+        "PCLT",
+        "post",
+        "prep",
+        "prop",
+        "trak",
+        "VDMX",
+        "vhea",
+        "vmtx",
+        "VORG",
+        "Zapf"
+    };
+
+    private static String[] featureTags = {
+        "aalt",
+        "abvf",
+        "abvm",
+        "abvs",
+        "afrc",
+        "akhn",
+        "blwf",
+        "blwm",
+        "blws",
+        "calt",
+        "case",
+        "ccmp",
+        "clig",
+        "cpsp",
+        "cswh",
+        "curs",
+        "c2sc",
+        "c2pc",
+        "dist",
+        "dlig",
+        "dnom",
+        "expt",
+        "falt",
+        "fin2",
+        "fin3",
+        "fina",
+        "frac",
+        "fwid",
+        "half",
+        "haln",
+        "halt",
+        "hist",
+        "hkna",
+        "hlig",
+        "hngl",
+        "hwid",
+        "init",
+        "isol",
+        "ital",
+        "jalt",
+        "jp78",
+        "jp83",
+        "jp90",
+        "kern",
+        "lfbd",
+        "liga",
+        "ljmo",
+        "lnum",
+        "locl",
+        "mark",
+        "med2",
+        "medi",
+        "mgrk",
+        "mkmk",
+        "mset",
+        "nalt",
+        "nlck",
+        "nukt",
+        "numr",
+        "onum",
+        "opbd",
+        "ordn",
+        "ornm",
+        "palt",
+        "pcap",
+        "pnum",
+        "pref",
+        "pres",
+        "pstf",
+        "psts",
+        "pwid",
+        "qwid",
+        "rand",
+        "rlig",
+        "rphf",
+        "rtbd",
+        "rtla",
+        "ruby",
+        "salt",
+        "sinf",
+        "size",
+        "smcp",
+        "smpl",
+        "ss01",
+        "ss02",
+        "ss03",
+        "ss04",
+        "ss05",
+        "ss06",
+        "ss07",
+        "ss08",
+        "ss09",
+        "ss10",
+        "ss11",
+        "ss12",
+        "ss13",
+        "ss14",
+        "ss15",
+        "ss16",
+        "ss17",
+        "ss18",
+        "ss19",
+        "ss20",
+        "subs",
+        "sups",
+        "swsh",
+        "titl",
+        "tjmo",
+        "tnam",
+        "tnum",
+        "trad",
+        "twid",
+        "unic",
+        "valt",
+        "vatu",
+        "vert",
+        "vhal",
+        "vjmo",
+        "vkna",
+        "vkrn",
+        "vpal",
+        "vrt2",
+        "zero"
+    };
+    
+    private static String tagLabel(String tag)
+    {
+        StringBuffer result = new StringBuffer();
+        String upperTag = tag.toUpperCase();
+        
+        for (int i = 0; i < upperTag.length(); i += 1) {
+            char ch = upperTag.charAt(i);
+            
+            if ((ch < 'A' || ch > 'Z') && (ch < '0' || ch > '9')) {
+                ch = '_';
+            }
+            
+            result.append(ch);
+        }
+        
+        return result.toString();
+    }
+    
+    private static void dumpTags(String enumName, String[] tags)
+    {
+        System.out.println("enum LE" + enumName + "Tags {");
+        
+        for (int i = 0; i < tags.length; i += 1) {
+            String tag = tags[i];
+            
+            System.out.println("    LE_" + tagLabel(tag) + "_" + enumName.toUpperCase() +
+                "_TAG = " + TagUtilities.makeTag(tag) + "UL" +
+                (i == tags.length - 1? " " : ",") + " /* '" + tag + "' */");
+        }
+        
+        System.out.println("};");
+    }
+    
+    public static void main(String[] args)
+    {
+        dumpTags("Table", tableTags);
+        dumpTags("Feature", featureTags);
+    }
+}
diff --git a/src/com/ibm/icu/dev/tool/layout/ScriptData.java b/src/com/ibm/icu/dev/tool/layout/ScriptData.java
new file mode 100644
index 0000000..b300e2a
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/layout/ScriptData.java
@@ -0,0 +1,196 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1998-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.tool.layout;
+
+import java.util.*;
+
+import com.ibm.icu.lang.UCharacter;
+import com.ibm.icu.lang.UScript;
+import com.ibm.icu.lang.UProperty;
+import com.ibm.icu.text.UnicodeSet;
+import com.ibm.icu.text.UnicodeSetIterator;
+import com.ibm.icu.impl.Utility;
+
+public class ScriptData extends TagValueData
+{
+    public static class Record
+    {
+        private int startChar;
+        private int endChar;
+        private int scriptCode;
+        
+        Record()
+        {
+            // nothing?
+        }
+        
+        Record(int theChar, int theScriptCode)
+        {
+            this(theChar, theChar, theScriptCode);
+        }
+        
+        Record(int theStartChar, int theEndChar, int theScriptCode)
+        {
+            startChar = theStartChar;
+            endChar = theEndChar;
+            scriptCode = theScriptCode;
+        }
+        
+        public int startChar()
+        {
+            return startChar;
+        }
+        
+        public int endChar()
+        {
+            return endChar;
+        }
+        
+        public int scriptCode()
+        {
+            return scriptCode;
+        }
+        
+        public int compareTo(Record that)
+        {
+            return this.startChar - that.startChar;
+        }
+        
+        public String toString()
+        {
+            return "[" +  Utility.hex(startChar, 6) + ".." +
+                   Utility.hex(endChar, 6) + ", " +
+                   UScript.getShortName(scriptCode).toLowerCase() + "ScriptCode]";
+        }
+    }
+    
+    //
+    // Straight insertion sort from Knuth vol. III, pg. 81
+    //
+    private void sort()
+    {
+        for (int j = 1; j < fRecords.length; j += 1) {
+            int i;
+            Record v = fRecords[j];
+
+            for (i = j - 1; i >= 0; i -= 1) {
+                if (v.compareTo(fRecords[i]) >= 0) {
+                    break;
+                }
+
+                fRecords[i + 1] = fRecords[i];
+            }
+
+            fRecords[i + 1] = v;
+        }
+    }
+
+    ScriptData()
+    {
+        int commonScript = UCharacter.getPropertyValueEnum(UProperty.SCRIPT, "COMMON");
+        int scriptCount;
+        Vector rv = new Vector();
+        
+        fMinScript  = UCharacter.getIntPropertyMinValue(UProperty.SCRIPT);
+        fMaxScript  = UCharacter.getIntPropertyMaxValue(UProperty.SCRIPT);
+        scriptCount = fMaxScript - fMinScript + 1;
+        
+        System.out.println("Collecting script data for " + scriptCount + " scripts...");
+        
+        fScriptNames = new String[scriptCount];
+        fScriptTags  = new String[scriptCount];
+        
+        for (int script = fMinScript; script <= fMaxScript; script += 1) {
+            fScriptNames[script - fMinScript] = UScript.getName(script).toUpperCase();
+            fScriptTags[script - fMinScript]  = UScript.getShortName(script).toLowerCase();
+            
+            if (script != commonScript) {
+                UnicodeSet scriptSet  = new UnicodeSet("\\p{" + fScriptTags[script] + "}");
+                UnicodeSetIterator it = new UnicodeSetIterator(scriptSet);
+            
+                while (it.nextRange()) {
+                    Record record = new Record(it.codepoint, it.codepointEnd, script);
+                    
+                    rv.addElement(record);
+                }
+            }
+        }
+        
+        fRecords = new Record[rv.size()];
+        
+        for (int i = 0; i < rv.size(); i += 1) {
+            fRecords[i] = (Record) rv.elementAt(i);
+        }
+        
+        System.out.println("Collected " + rv.size() + " records. Sorting...");
+        sort();
+        
+        System.out.println("Done.");
+    }
+    
+    public int getMinValue()
+    {
+        return fMinScript;
+    }
+    
+    public int getMaxValue()
+    {
+        return fMaxScript;
+    }
+    
+    public int getRecordCount()
+    {
+        return fRecords.length;
+    }
+    
+    public String getTag(int value)
+    {
+        if (value >= fMinScript && value <= fMaxScript) {
+            return fScriptTags[value - fMinScript];
+        }
+        
+        return "zyyx";
+    }
+    
+    public String getTagLabel(int value)
+    {
+        return getTag(value);
+    }
+    
+    public String makeTag(int value)
+    {
+        if (value >= fMinScript && value <= fMaxScript) {
+            return TagUtilities.makeTag(fScriptTags[value - fMinScript]);
+        } else {
+            return "0x00000000";
+        }
+    }
+    
+    public String getName(int value)
+    {
+        if (value >= fMinScript && value <= fMaxScript) {
+            return fScriptNames[value - fMinScript];
+        }
+        
+        return "COMMON";
+    }
+    
+    public Record getRecord(int index)
+    {
+        if (fRecords != null && index < fRecords.length) {
+            return fRecords[index];
+        }
+        
+        return null;
+    }
+    
+    private int fMinScript;
+    private int fMaxScript;
+    private String fScriptNames[];
+    private String fScriptTags[];
+    private Record fRecords[];
+}
diff --git a/src/com/ibm/icu/dev/tool/layout/ScriptIDModuleWriter.java b/src/com/ibm/icu/dev/tool/layout/ScriptIDModuleWriter.java
new file mode 100644
index 0000000..1e890ff
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/layout/ScriptIDModuleWriter.java
@@ -0,0 +1,137 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1998-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.tool.layout;
+
+import java.util.Date;
+
+import com.ibm.icu.text.MessageFormat;
+import com.ibm.icu.util.VersionInfo;
+
+public class ScriptIDModuleWriter extends ScriptModuleWriter
+{
+    public ScriptIDModuleWriter(ScriptData scriptData, LanguageData languageData)
+    {
+        super(scriptData, languageData);
+    }
+
+    public void writeScriptHeader(String fileName)
+    {
+        int minScript = scriptData.getMinValue();
+        int maxScript = scriptData.getMaxValue();
+        int verMajor  = VersionInfo.ICU_VERSION.getMajor();
+        int verMinor  = VersionInfo.ICU_VERSION.getMinor();
+        
+        openFile(fileName);
+        writeHeader("__LESCRIPTS_H", includeFiles, scriptBrief);
+
+        MessageFormat format = new MessageFormat(scriptPreamble);
+        Object args[] = {new Integer(verMajor), new Integer(verMinor)};
+
+        output.println(format.format(args));
+        
+        for (int script = minScript; script <= maxScript; script += 1) {
+            output.print("    ");
+            output.print(scriptData.getTag(script));
+            output.print("ScriptCode = ");
+            
+            if (script < 10) {
+                output.print(" ");
+            }
+            
+            output.print(script);
+            output.println(",");
+        }
+        
+        output.println();
+        output.print("    scriptCodeCount = ");
+        output.println(maxScript - minScript + 1);
+        
+        output.println(postamble);
+        
+        writeTrailer();
+        closeFile();
+    }
+    
+    public void writeLanguageHeader(String fileName)
+    {
+        int minLanguage = languageData.getMinValue();
+        int maxLanguage = languageData.getMaxValue();
+        int verMajor    = VersionInfo.ICU_VERSION.getMajor();
+        int verMinor    = VersionInfo.ICU_VERSION.getMinor();
+        
+        openFile(fileName);
+        writeHeader("__LELANGUAGES_H", includeFiles, languageBrief);
+
+        MessageFormat format = new MessageFormat(languagePreamble);
+        Object args[] = {new Integer(verMajor), new Integer(verMinor)};
+
+        output.println(format.format(args));
+        
+        for (int language = minLanguage; language <= maxLanguage; language += 1) {
+            output.print("    ");
+            output.print(languageData.getTagLabel(language).toLowerCase());
+            output.print("LanguageCode = ");
+            
+            if (language < 10) {
+                output.print(" ");
+            }
+            
+            output.print(language);
+            output.println(",");
+        }
+        
+        output.println();
+        output.print("    languageCodeCount = ");
+        output.println(maxLanguage - minLanguage + 1);
+        
+        output.println(postamble);
+        
+        writeTrailer();
+        closeFile();
+    }
+    
+    private static final String[] includeFiles = {"LETypes.h"};
+    
+    private static final String scriptPreamble = 
+    "/**\n" +
+    " * Constants for Unicode script values, generated using\n" +
+    " * ICU4J''s <code>UScript</code> class.\n" +
+    " *\n" +
+    " * @draft ICU {0}.{1}\n" +
+    " */\n" +
+    "\n" +
+    "enum ScriptCodes '{'";
+    
+    private static final String scriptBrief =
+    "/**\n" +
+    " * \\file\n" + 
+    " * \\brief C++ API: Constants for Unicode script values\n" +
+    " */\n" +
+    "\n";
+
+    
+    private static final String languagePreamble = 
+    "/**\n" +
+    " * A provisional list of language codes. For now,\n" +
+    " * this is just a list of languages which the LayoutEngine\n" +
+    " * supports.\n" +
+    " *\n" +
+    " * @draft ICU {0}.{1}\n" +
+    " */\n" +
+    "\n" +
+    "enum LanguageCodes '{'";
+    
+    private static final String languageBrief =
+        "/**\n" +
+        " * \\file\n" + 
+        " * \\brief C++ API: List of language codes for LayoutEngine\n" +
+        " */\n" +
+        "\n";
+
+    private static final String postamble =
+    "};\n";
+}
\ No newline at end of file
diff --git a/src/com/ibm/icu/dev/tool/layout/ScriptList.java b/src/com/ibm/icu/dev/tool/layout/ScriptList.java
new file mode 100644
index 0000000..6a626e5
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/layout/ScriptList.java
@@ -0,0 +1,200 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1998-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ *
+ * Created on Dec 3, 2003
+ *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.tool.layout;
+
+
+public class ScriptList
+{
+    static class LangSysRecord extends TaggedRecord
+    {
+        private Feature[] features;
+        private int featureCount;
+        
+        public LangSysRecord(String theLanguageTag)
+        {
+            super(theLanguageTag);
+            
+            features = new Feature[10];
+            featureCount = 0;
+        }
+        
+        public void addFeature(Feature feature)
+        {
+            if (featureCount > features.length) {
+                Feature[] newFeatures = new Feature[features.length + 5];
+                
+                System.arraycopy(features, 0, newFeatures, 0, features.length);
+                features = newFeatures;
+            }
+            
+            features[featureCount++] = feature;
+        }
+        
+         public void writeLangSysRecord(OpenTypeTableWriter writer)
+        {
+            writer.writeData(0);      // lookupOrder (must be NULL)
+            writer.writeData(0xFFFF); // reqFeatureIndex (0xFFFF means none)
+            
+            writer.writeData(featureCount);
+            
+            for (int i = 0; i < featureCount; i += 1) {
+                writer.writeData(features[i].getFeatureIndex());
+            }
+        }
+    }
+    
+    static class ScriptRecord extends TaggedRecord
+    {
+        private LangSysRecord[] langSysRecords;
+        private int langSysCount;
+        
+        public ScriptRecord(String theScriptTag)
+        {
+            super(theScriptTag);
+            langSysRecords = new LangSysRecord[10];
+            langSysCount = 0;
+        }
+        
+        public LangSysRecord findLangSysRecord(String languageTag)
+        {
+            for (int i = 0; i < langSysCount; i += 1) {
+                LangSysRecord langSysRecord = langSysRecords[i];
+                
+                if (langSysRecord.getTag().equals(languageTag)) {
+                    return langSysRecord;
+                }
+            }
+            
+            if (langSysCount >= langSysRecords.length) {
+                LangSysRecord[] newLangSysRecords = new LangSysRecord[langSysCount + 5];
+                
+                System.arraycopy(langSysRecords, 0, newLangSysRecords, 0, langSysRecords.length);
+                langSysRecords = newLangSysRecords;
+            }
+            
+            LangSysRecord newLangSysRecord = new LangSysRecord(languageTag);
+            langSysRecords[langSysCount] = newLangSysRecord;
+            
+            langSysCount += 1;
+            return newLangSysRecord;
+        }
+        
+        public void writeScriptRecord(OpenTypeTableWriter writer)
+        {
+            TaggedRecord.sort(langSysRecords, langSysCount);
+            
+            int scriptTableBase = writer.getOutputIndex();
+            int firstLangSys = 0;
+            
+            writer.writeData(0); // default langSys offset (fixed later)
+            
+            if (langSysRecords[0].getTag().equals("(default)")) {
+                firstLangSys = 1;
+            }
+            
+            writer.writeData(langSysCount - firstLangSys);
+            
+            int langSysOffset = writer.getOutputIndex();
+            
+            for (int i = firstLangSys; i < langSysCount; i += 1) {
+                writer.writeTag(langSysRecords[i].getTag());
+                writer.writeData(0);
+            }
+            
+            if (firstLangSys > 0) {
+                System.out.print(" (default)");
+                writer.fixOffset(scriptTableBase, scriptTableBase);
+                langSysRecords[0].writeLangSysRecord(writer);
+            }
+            
+            for (int i = firstLangSys; i < langSysCount; i += 1) {
+                // fix the offset in the langSysRecordArray.
+                // The "+2" skips over the tag and the "+3"
+                // skips to the next langSysRecord entry
+                writer.fixOffset(langSysOffset + 2, scriptTableBase);
+                langSysOffset += 3;
+                
+                System.out.print(" '" + langSysRecords[i].getTag() + "'");
+                langSysRecords[i].writeLangSysRecord(writer);
+            }
+        }
+    }
+    
+    private ScriptRecord[] scriptRecords;
+    private int scriptCount;
+    
+    public ScriptList()
+    {
+        scriptRecords = new ScriptRecord[10];
+        scriptCount = 0;
+    }
+    
+    private LangSysRecord findLangSysRecord(String scriptTag, String languageTag)
+    {
+        for (int i = 0; i < scriptCount; i += 1) {
+            ScriptRecord scriptRecord = scriptRecords[i];
+            
+            if (scriptRecord.getTag().equals(scriptTag)) {
+                 return scriptRecord.findLangSysRecord(languageTag);
+            }
+        }
+        
+        if (scriptCount >= scriptRecords.length) {
+            ScriptRecord[] newScriptRecords = new ScriptRecord[scriptCount + 5];
+            
+            System.arraycopy(scriptRecords, 0, newScriptRecords, 0, scriptRecords.length);
+            scriptRecords = newScriptRecords;
+        }
+        
+        ScriptRecord newScriptRecord = new ScriptRecord(scriptTag);
+        scriptRecords[scriptCount] = newScriptRecord;
+        
+        scriptCount += 1;
+        return newScriptRecord.findLangSysRecord(languageTag);
+    }
+    
+    public void addFeature(String scriptTag, String languageTag, Feature feature)
+    {
+        LangSysRecord langSysRecord = findLangSysRecord(scriptTag, languageTag);
+        
+        langSysRecord.addFeature(feature);
+    }
+    
+    public void writeScriptList(OpenTypeTableWriter writer)
+    {
+        System.out.println("writing script list...");
+        
+        int scriptListBase = writer.getOutputIndex();
+        
+        TaggedRecord.sort(scriptRecords, scriptCount);
+        writer.writeData(scriptCount);
+        
+        int scriptRecordOffset = writer.getOutputIndex();
+        
+        for (int i = 0; i < scriptCount; i += 1) {
+            writer.writeTag(scriptRecords[i].getTag());
+            writer.writeData(0);
+        }
+        
+        for (int i = 0; i < scriptCount; i += 1) {
+            // fix the offset in the scriptRecordArray.
+            // The "+2" skips over the tag and the "+3"
+            // skips to the next scriptRecord entry
+            writer.fixOffset(scriptRecordOffset + 2, scriptListBase);
+            scriptRecordOffset += 3;
+            
+            System.out.print("  script '" + scriptRecords[i].getTag() + "':");
+            scriptRecords[i].writeScriptRecord(writer);
+            System.out.println();
+        }
+    }
+}
+        
\ No newline at end of file
diff --git a/src/com/ibm/icu/dev/tool/layout/ScriptModuleWriter.java b/src/com/ibm/icu/dev/tool/layout/ScriptModuleWriter.java
new file mode 100644
index 0000000..b1cad78
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/layout/ScriptModuleWriter.java
@@ -0,0 +1,22 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1998-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.tool.layout;
+
+
+public class ScriptModuleWriter extends ModuleWriter
+{
+    public ScriptModuleWriter(ScriptData theScriptData, LanguageData theLanguageData)
+    {
+        super();
+        
+        scriptData = theScriptData;
+        languageData = theLanguageData;
+    }
+
+    protected ScriptData scriptData;
+    protected LanguageData languageData;
+}
\ No newline at end of file
diff --git a/src/com/ibm/icu/dev/tool/layout/ScriptNameBuilder.java b/src/com/ibm/icu/dev/tool/layout/ScriptNameBuilder.java
new file mode 100644
index 0000000..18c717c
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/layout/ScriptNameBuilder.java
@@ -0,0 +1,35 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1998-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.tool.layout;
+
+public class ScriptNameBuilder
+{
+    /*
+     * This tool builds the script related header files and data tables needed by
+     * the ICU LayoutEngine. By using the ICU4J interfaces to access the script
+     * information, we can be sure that the data written by this tool is in synch
+     * with ICU.
+     */
+    public static void main(String[] args)
+    {
+        ScriptData scriptData = new ScriptData();
+        LanguageData languageData = new LanguageData();
+        
+        ScriptIDModuleWriter scriptIDModuleWriter = new ScriptIDModuleWriter(scriptData, languageData);
+        
+        scriptIDModuleWriter.writeScriptHeader("LEScripts.h");
+        scriptIDModuleWriter.writeLanguageHeader("LELanguages.h");
+        
+        ScriptTagModuleWriter scriptTagModuleWriter = new ScriptTagModuleWriter(scriptData, languageData);
+        
+        scriptTagModuleWriter.writeScriptTags("ScriptAndLanguageTags");
+        
+        ScriptRunModuleWriter scriptRunModuleWriter = new ScriptRunModuleWriter(scriptData);
+        
+        scriptRunModuleWriter.writeScriptRuns("ScriptRunData.cpp");
+    }
+}
\ No newline at end of file
diff --git a/src/com/ibm/icu/dev/tool/layout/ScriptRunModuleWriter.java b/src/com/ibm/icu/dev/tool/layout/ScriptRunModuleWriter.java
new file mode 100644
index 0000000..5aa96e5
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/layout/ScriptRunModuleWriter.java
@@ -0,0 +1,114 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1998-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.tool.layout;
+
+import java.util.*;
+import com.ibm.icu.impl.Utility;
+
+public class ScriptRunModuleWriter extends ScriptModuleWriter
+{
+    public ScriptRunModuleWriter(ScriptData theScriptData)
+    {
+        super(theScriptData, null);
+    }
+    
+    public void writeScriptRuns(String fileName)
+    {
+        int minScript   = scriptData.getMinValue();
+        int maxScript   = scriptData.getMaxValue();
+        int recordCount = scriptData.getRecordCount();
+        
+        openFile(fileName);
+        writeHeader(null, includeFiles);
+        output.println(preamble);
+        
+        for (int record = 0; record < recordCount; record += 1) {
+            int script = scriptData.getRecord(record).scriptCode();
+            
+            output.print("    {0x");
+            output.print(Utility.hex(scriptData.getRecord(record).startChar(), 6));
+            output.print(", 0x");
+            output.print(Utility.hex(scriptData.getRecord(record).endChar(), 6));
+            output.print(", ");
+            output.print(scriptData.getTag(script));
+            output.print("ScriptCode}");
+            output.print((record == recordCount - 1) ? " " : ",");
+            output.print(" // ");
+            output.println(scriptData.getName(script));
+        }
+        
+        output.println(postamble);
+        
+        int power = 1 << Utility.highBit(recordCount);
+        int extra = recordCount - power;
+        
+        output.print("le_int32 ScriptRun::scriptRecordsPower = 0x");
+        output.print(Utility.hex(power, 4));
+        output.println(";");
+        
+        
+        output.print("le_int32 ScriptRun::scriptRecordsExtra = 0x");
+        output.print(Utility.hex(extra, 4));
+        output.println(";");
+
+        Vector[] scriptRangeOffsets = new Vector[maxScript - minScript + 1];
+        
+        for (int script = minScript; script <= maxScript; script += 1) {
+            scriptRangeOffsets[script - minScript] = new Vector();
+        }
+        
+        for (int record = 0; record < recordCount; record += 1) {
+            scriptRangeOffsets[scriptData.getRecord(record).scriptCode() - minScript].addElement(new Integer(record));
+        }
+        
+        output.println();
+        
+        for (int script = minScript; script <= maxScript; script += 1) {
+            Vector offsets = scriptRangeOffsets[script - minScript];
+            
+            output.print("le_int16 ");
+            output.print(scriptData.getTag(script));
+            output.println("ScriptRanges[] = {");
+            output.print("    ");
+            
+            for (int offset = 0; offset < offsets.size(); offset += 1) {
+                Integer i = (Integer) offsets.elementAt(offset);
+                
+                output.print(i.intValue());
+                output.print(", ");
+            }
+            
+            output.println("-1");
+            output.println(postamble);
+        }
+        
+        output.println("le_int16 *ScriptRun::scriptRangeOffsets[] = {");
+        
+        for (int script = minScript; script <= maxScript; script += 1) {
+            output.print("    ");
+            output.print(scriptData.getTag(script));
+            output.print("ScriptRanges");
+            output.print(script == maxScript? "  " : ", ");
+            output.print("// ");
+            output.println(scriptData.getName(script));
+        }
+        
+        output.println(postamble);
+        
+        writeTrailer();
+        closeFile();
+    }
+    
+    private static final String[] includeFiles = {"LETypes.h", "LEScripts.h", "ScriptRun.h"};
+    
+    private static final String preamble = 
+    "\n" +
+    "ScriptRecord ScriptRun::scriptRecords[] = {";
+    
+    private static final String postamble =
+    "};\n";
+}
\ No newline at end of file
diff --git a/src/com/ibm/icu/dev/tool/layout/ScriptTagModuleWriter.java b/src/com/ibm/icu/dev/tool/layout/ScriptTagModuleWriter.java
new file mode 100644
index 0000000..e1002c3
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/layout/ScriptTagModuleWriter.java
@@ -0,0 +1,139 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1998-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.tool.layout;
+
+public class ScriptTagModuleWriter extends ScriptModuleWriter
+{
+    
+    private int scriptTag(String tag)
+    {
+        int result = 0;
+        
+        for (int i = 0; i < 4; i += 1) {
+            result <<= 8;
+            result += (int) (tag.charAt(i) & 0xFF);
+        }
+        
+        return result;
+    }
+    
+    public ScriptTagModuleWriter(ScriptData theScriptData, LanguageData theLanguageData)
+    {
+        super(theScriptData, theLanguageData);
+    }
+    
+    private void writeTagValueHeader(TagValueData data, String kind)
+    {
+        int min = data.getMinValue();
+        int max = data.getMaxValue();
+
+        for (int value = min; value <= max; value += 1) {
+            output.print("const LETag ");
+            output.print(data.getTagLabel(value));
+            output.print(kind);
+            output.print("Tag = ");
+            output.print(data.makeTag(value));
+            output.print("; /* '");
+            output.print(data.getTag(value));
+            output.print("' (");
+            output.print(data.getName(value));
+            output.println(") */");
+        }
+    }
+    
+    public void writeHeaderFile(String fileName)
+    {
+        openFile(fileName);
+        writeHeader("__SCRIPTANDLANGUAGES_H", hIncludes, hPreamble);
+        
+        writeTagValueHeader(scriptData, "Script");
+        
+        output.println(hScriptPostamble);
+        
+        writeTagValueHeader(languageData, "Language");
+        
+        output.println(hPostamble);
+        closeFile();
+    }
+    
+    private void writeTagValueCPP(TagValueData data, String kind)
+    {
+        int min = data.getMinValue();
+        int max = data.getMaxValue();
+        
+        for (int value = min; value <= max; value += 1) {
+            output.print("    ");
+            output.print(data.getTagLabel(value));
+            output.print(kind);
+            output.print("Tag");
+            output.print((value == max? " " : ","));
+            output.print(" /* '");
+            output.print(data.getTag(value));
+            output.print("' (");
+            output.print(data.getName(value));
+            output.println(") */");
+        }
+    }
+    
+    public void writeCPPFile(String fileName)
+    {
+        openFile(fileName);
+        writeHeader(null, cppIncludes);
+        output.println(cppPreamble);
+        
+        writeTagValueCPP(scriptData, "Script");
+        
+        output.println(cppScriptPostamble);
+        
+        writeTagValueCPP(languageData, "Language");
+        
+        output.println(cppPostamble);
+        
+        writeTrailer();
+        closeFile();
+    }
+    
+    public void writeScriptTags(String fileName)
+    {
+        writeHeaderFile(fileName + ".h");
+        writeCPPFile(fileName + ".cpp");
+    }
+
+    private static final String[] hIncludes = {"LETypes.h"};
+
+    private static final String hPreamble = 
+    "/**\n" +
+    " * \\file\n" +
+    " * \\internal\n" +
+    " */\n" +
+    "\n";
+    
+    private static final String hScriptPostamble =
+    "\n" +
+    "const LETag nullScriptTag = 0x00000000; /* ''     (NULL) */\n" +
+    "\n";
+    
+    private static final String hPostamble =
+    "\n" +
+    "\n" +
+    "U_NAMESPACE_END\n" +
+    "#endif";
+    
+    private static final String[] cppIncludes =
+        {"LETypes.h", "ScriptAndLanguageTags.h", "OpenTypeLayoutEngine.h"};
+    
+    private static final String cppPreamble = 
+    "const LETag OpenTypeLayoutEngine::scriptTags[] = {";
+    
+    private static final String cppScriptPostamble =
+    "};\n" +
+    "\n" +
+    "const LETag OpenTypeLayoutEngine::languageTags[] = {";
+    
+    private static final String cppPostamble =
+    "};\n";
+}
\ No newline at end of file
diff --git a/src/com/ibm/icu/dev/tool/layout/ShapingTypeBuilder.java b/src/com/ibm/icu/dev/tool/layout/ShapingTypeBuilder.java
new file mode 100644
index 0000000..b6d427a
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/layout/ShapingTypeBuilder.java
@@ -0,0 +1,73 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ *
+ */
+
+package com.ibm.icu.dev.tool.layout;
+
+import java.io.PrintStream;
+
+import com.ibm.icu.lang.UCharacter;
+import com.ibm.icu.lang.UProperty;
+import com.ibm.icu.text.UnicodeSet;
+
+/**
+ * @author emader
+ *
+ * TODO To change the template for this generated type comment go to
+ * Window - Preferences - Java - Code Style - Code Templates
+ */
+public class ShapingTypeBuilder extends OpenTypeTableWriter
+{
+    private ClassTable classTable;
+    
+    public ShapingTypeBuilder()
+    {
+        classTable = new ClassTable();
+    }
+    
+    public void writeTable(PrintStream output)
+    {
+        classTable.writeClassTable(this);
+        output.println("const le_uint8 ArabicShaping::shapingTypeTable[] = {");
+        
+        dumpTable(output, 8);
+        output.println("};\n");
+    }
+    
+    // TODO: The UnicodeSet is constrained to the BMP because the ClassTable data structure can
+    // only handle 16-bit entries. This is probably OK as long as there aren't any joining scripts
+    // outside of the BMP...
+    public void buildShapingTypes(String filename)
+    {
+        UnicodeSet shapingTypes = new UnicodeSet("[[\\P{Joining_Type=Non_Joining}] & [\\u0000-\\uFFFF]]");
+        int count = shapingTypes.size();
+        
+        System.out.println("There are " + count + " characters with a joining type.");
+        
+        for(int i = 0; i < count; i += 1) {
+            int ch = shapingTypes.charAt(i);
+            
+            classTable.addMapping(ch, UCharacter.getIntPropertyValue(ch, UProperty.JOINING_TYPE));
+        }
+        
+        LigatureModuleWriter writer = new LigatureModuleWriter();
+        String[] includeFiles = {"LETypes.h", "ArabicShaping.h"};        
+        
+        writer.openFile(filename);
+        writer.writeHeader(null, includeFiles);
+        writer.writeTable(this);
+        writer.writeTrailer();
+        writer.closeFile();
+    }
+    
+    public static void main(String[] args)
+    {
+        ShapingTypeBuilder stb = new ShapingTypeBuilder();
+        
+        stb.buildShapingTypes(args[0]);
+    }
+}
diff --git a/src/com/ibm/icu/dev/tool/layout/TagUtilities.java b/src/com/ibm/icu/dev/tool/layout/TagUtilities.java
new file mode 100644
index 0000000..2841668
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/layout/TagUtilities.java
@@ -0,0 +1,73 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1998-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ *
+ * Created on Apr 14, 2003
+ *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.tool.layout;
+
+import com.ibm.icu.impl.Utility;
+
+/**
+ *  This class contains utility methods for dealing with
+ * four-letter tags.
+ * 
+ * @author emader
+ *
+ */
+public class TagUtilities
+{
+    public static String makeTag(String tag)
+    {
+        if (tag == null || tag.length() == 0) {
+            return "0x00000000";
+        }
+        
+        int tagValue = 0;
+        
+        for (int i = 0; i < 4; i += 1) {
+            tagValue <<= 8;
+            tagValue += (int) ((i < tag.length()? tag.charAt(i) : ' ') & 0xFF);
+        }
+        
+        return "0x" + Utility.hex(tagValue, 8);
+    }
+    
+//    public static String makeTagOld(String tag)
+//    {
+//        if (tag == null || tag.length() == 0) {
+//            return "0x00000000";
+//        }
+//        
+//        StringBuffer result = new StringBuffer("LE_MAKE_TAG(");
+//        
+//        for (int i = 0; i < 4; i += 1) {
+//            if (i > 0) {
+//                result.append(", ");
+//            }
+//            
+//            result.append('\'');
+//            result.append(i < tag.length()? tag.charAt(i) : ' ');
+//            result.append('\'');
+//        }
+//        
+//        result.append(")");
+//        
+//        return result.toString(); 
+//    }
+    
+    public static String tagLabel(String tag)
+    {
+        if (tag == null || tag.length() == 0) {
+            return "null";
+        } else {
+            return tag.toLowerCase();
+        }
+    }
+        
+}
+
diff --git a/src/com/ibm/icu/dev/tool/layout/TagValueData.java b/src/com/ibm/icu/dev/tool/layout/TagValueData.java
new file mode 100644
index 0000000..04175cb
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/layout/TagValueData.java
@@ -0,0 +1,23 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1998-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ *
+ * Created on Dec 3, 2003
+ *
+ *******************************************************************************
+ */
+
+package com.ibm.icu.dev.tool.layout;
+
+public abstract class TagValueData
+{
+    abstract public int getMinValue();
+    abstract public int getMaxValue();
+    
+    abstract public String getName(int value);
+    abstract public String getTag(int value);
+    abstract public String getTagLabel(int value);
+    abstract public String makeTag(int value);
+}
diff --git a/src/com/ibm/icu/dev/tool/layout/TaggedRecord.java b/src/com/ibm/icu/dev/tool/layout/TaggedRecord.java
new file mode 100644
index 0000000..b18c07f
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/layout/TaggedRecord.java
@@ -0,0 +1,79 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1998-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ *
+ * Created on Dec 3, 2003
+ *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.tool.layout;
+
+
+import com.ibm.icu.impl.Utility;
+
+public class TaggedRecord
+{
+    private String tag;
+        
+    public TaggedRecord(String theTag)
+    {
+        tag = theTag;
+    }
+        
+    public String getTag()
+    {
+        return tag;
+    }
+        
+    //
+    // Straight insertion sort from Knuth vol. III, pg. 81
+    //
+    public static void sort(TaggedRecord[] table, int count)
+    {
+        for (int j = 1; j < count; j += 1) {
+            int i;
+            TaggedRecord v = table[j];
+            String vTag = v.getTag();
+
+            for (i = j - 1; i >= 0; i -= 1) {
+                if (vTag.compareTo(table[i].getTag()) >= 0) {
+                    break;
+                }
+
+                table[i + 1] = table[i];
+            }
+
+            table[i + 1] = v;
+        }
+    }
+    
+    public static int search(TaggedRecord[] table, int count, String tag)
+    {
+        int log2 = Utility.highBit(count);
+        int power = 1 << log2;
+        int extra = count - power;
+        int probe = power;
+        int index = 0;
+
+        if (table[extra].getTag().compareTo(tag) <= 0) {
+            index = extra;
+        }
+
+        while (probe > (1 << 0)) {
+            probe >>= 1;
+
+            if (table[index + probe].getTag().compareTo(tag) <= 0) {
+                index += probe;
+            }
+        }
+
+        if (table[index].getTag().equals(tag)) {
+            return index;
+        }
+
+        return -1;
+    }
+}
+    
diff --git a/src/com/ibm/icu/dev/tool/layout/ThaiCharacterClasses.java b/src/com/ibm/icu/dev/tool/layout/ThaiCharacterClasses.java
new file mode 100644
index 0000000..949937b
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/layout/ThaiCharacterClasses.java
@@ -0,0 +1,164 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1998-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ *
+ * Created on Dec 09, 2003
+ *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.tool.layout;
+
+import com.ibm.icu.impl.Utility;
+import java.io.PrintStream;
+
+public class ThaiCharacterClasses
+{
+    public static final int NON    =  0;
+    public static final int CON    =  1;
+    public static final int COA    =  2;
+    public static final int COD    =  3;
+    public static final int LVO =  4;
+    public static final int FV1    =  5;
+    public static final int FV2    =  6;
+    public static final int FV3    =  7;
+    public static final int BV1    =  8;
+    public static final int BV2    =  9;
+    public static final int BDI = 10;
+    public static final int TON    = 11;
+    public static final int AD1    = 12;
+    public static final int AD2    = 13;
+    public static final int AD3    = 14;
+    public static final int NIK    = 15;
+    public static final int AV1    = 16;
+    public static final int AV2    = 17;
+    public static final int AV3    = 18;
+    public static final int cCount = 19;
+
+    // Indexed by unicode - '\u0E00'
+    // FIXME: MS Fonts - Should 0E2E has no ascender (it does in WT font)
+    // FIXME: MS Fonts - 0E47 (MAITAIKHU) and 0E4D (NIKHAHIT) only have vowel forms
+    // FIXME: MS Fonts - 0E4E (YAMAKKAN) only has one form
+    private static final int classTable[] = {
+    //       0    1    2    3    4    5    6    7    8    9    A    B    C    D    E    F
+    //       -------------------------------------------------------------------------------
+    /*0E00*/ NON, CON, CON, CON, CON, CON, CON, CON, CON, CON, CON, CON, CON, COD, COD, COD, 
+    /*0E10*/ COD, CON, CON, CON, CON, CON, CON, CON, CON, CON, CON, COA, CON, COA, CON, COA, 
+    /*0E20*/ CON, CON, CON, CON, FV3, CON, FV3, CON, CON, CON, CON, CON, CON, CON, CON, NON, 
+    /*0E30*/ FV1, AV2, FV1, FV1, AV1, AV3, AV2, AV3, BV1, BV2, BDI, NON, NON, NON, NON, NON, 
+    /*0E40*/ LVO, LVO, LVO, LVO, LVO, FV2, NON, AD2, TON, TON, TON, TON, AD1, NIK, AD3, NON, 
+    /*0E50*/ NON, NON, NON, NON, NON, NON, NON, NON, NON, NON, NON, NON
+    };
+
+    private static String[] classNames =
+    {
+        "NON",
+        "CON",
+        "COA",
+        "COD",
+        "LVO",
+        "FV1",
+        "FV2",
+        "FV3",
+        "BV1",
+        "BV2",
+        "BDI",
+        "TON",
+        "AD1",
+        "AD2",
+        "AD3",
+        "NIK",
+        "AV1",
+        "AV2",
+        "AV3"
+    };
+
+    private static final char pairTable[][] = {
+      //------------------------------------------------------------------------------------------------
+      //  N    C    C    C    L    F    F    F    B    B    B    T    A    A    A    N    A    A    A
+      //  O    O    O    O    V    V    V    V    V    V    D    O    D    D    D    I    V    V    V
+      //  N    N    A    D    O    1    2    3    1    2    I    N    1    2    3    K    1    2    3
+      //------------------------------------------------------------------------------------------------
+/*NON*/ {'A', 'A', 'A', 'A', 'A', 'S', 'S', 'A', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R'},
+/*CON*/ {'A', 'A', 'A', 'A', 'A', 'A', 'S', 'A', 'C', 'C', 'C', 'E', 'E', 'E', 'C', 'E', 'C', 'C', 'C'},
+/*COA*/ {'A', 'A', 'A', 'A', 'A', 'A', 'S', 'A', 'C', 'C', 'C', 'F', 'F', 'F', 'D', 'F', 'D', 'D', 'D'},
+/*COD*/ {'A', 'A', 'A', 'A', 'A', 'A', 'S', 'A', 'H', 'H', 'H', 'E', 'E', 'E', 'C', 'E', 'C', 'C', 'C'},
+/*LVO*/ {'S', 'A', 'A', 'A', 'S', 'S', 'S', 'S', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R'},
+/*FV1*/ {'S', 'A', 'A', 'A', 'A', 'S', 'S', 'A', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R'},
+/*FV2*/ {'A', 'A', 'A', 'A', 'A', 'A', 'S', 'A', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R'},
+/*FV3*/ {'A', 'A', 'A', 'A', 'A', 'S', 'A', 'S', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R'},
+/*BV1*/ {'A', 'A', 'A', 'A', 'A', 'S', 'S', 'A', 'R', 'R', 'R', 'E', 'E', 'R', 'R', 'E', 'R', 'R', 'R'},
+/*BV2*/ {'A', 'A', 'A', 'A', 'A', 'S', 'S', 'A', 'R', 'R', 'R', 'E', 'R', 'R', 'R', 'R', 'R', 'R', 'R'},
+/*BDI*/ {'A', 'A', 'A', 'A', 'A', 'S', 'S', 'A', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R'},
+/*TON*/ {'A', 'A', 'A', 'A', 'A', 'I', 'A', 'A', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R'},
+/*AD1*/ {'A', 'A', 'A', 'A', 'A', 'S', 'S', 'A', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R'},
+/*AD2*/ {'A', 'A', 'A', 'A', 'A', 'S', 'S', 'A', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R'},
+/*AD3*/ {'A', 'A', 'A', 'A', 'A', 'S', 'S', 'A', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R'},
+/*NIK*/ {'A', 'A', 'A', 'A', 'A', 'S', 'S', 'A', 'R', 'R', 'R', 'G', 'G', 'R', 'R', 'R', 'R', 'R', 'R'},
+/*AV1*/ {'A', 'A', 'A', 'A', 'A', 'S', 'S', 'A', 'R', 'R', 'R', 'G', 'G', 'R', 'R', 'G', 'R', 'R', 'R'},
+/*AV2*/ {'A', 'A', 'A', 'A', 'A', 'S', 'S', 'A', 'R', 'R', 'R', 'G', 'R', 'R', 'R', 'R', 'R', 'R', 'R'},
+/*AV3*/ {'A', 'A', 'A', 'A', 'A', 'S', 'S', 'A', 'R', 'R', 'R', 'G', 'R', 'G', 'R', 'R', 'R', 'R', 'R'}
+    };
+
+    public static int getCharClass(char ch)
+    {
+        int charClass = NON;
+        
+        if (ch >= '\u0E00' && ch <= '\u0E5B') {
+            charClass = classTable[ch - '\u0E00'];
+        }
+        
+        return charClass;
+    }
+    
+    public static String getClassName(int classID)
+    {
+        if (classID < 0 || classID >= cCount) {
+            return "***";
+        }
+        
+        return classNames[classID];
+    }
+    
+    public static char getPairAction(int prevClass, int currClass)
+    {
+        if (prevClass < 0 || prevClass >= cCount |
+            currClass < 0 || currClass >= cCount) {
+            return 'A';
+        }
+            
+        return pairTable[prevClass][currClass];
+    }
+    
+    private static String classTableHeader =
+"const le_uint8 ThaiShaping::classTable[] = {\n" +
+"    //       0    1    2    3    4    5    6    7    8    9    A    B    C    D    E    F\n" +
+"    //       -------------------------------------------------------------------------------";
+    
+    public static void writeClassTable(PrintStream output)
+    {
+        System.out.print("Writing class table...");
+        
+        output.print(classTableHeader);
+        
+        for (char ch = '\u0E00'; ch <= '\u0E5B'; ch += 1) {
+            int charClass = getCharClass(ch);
+            
+            if ((ch & 0x000F) == 0) {
+                output.print("\n    /*" + Utility.hex(ch, 4) + "*/ ");
+            }
+            
+            output.print(getClassName(charClass));
+            
+            if (ch < '\u0E5B') {
+                output.print(", ");
+            } else {
+                output.print("\n};\n\n");
+            }
+        }
+        
+        System.out.println(" done.");
+    }
+    
+}
diff --git a/src/com/ibm/icu/dev/tool/layout/ThaiStateTable.java b/src/com/ibm/icu/dev/tool/layout/ThaiStateTable.java
new file mode 100644
index 0000000..2591067
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/layout/ThaiStateTable.java
@@ -0,0 +1,205 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1998-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ *
+ * Created on Dec 09, 2003
+ *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.tool.layout;
+
+import java.io.PrintStream;
+import java.util.Vector;
+
+public class ThaiStateTable
+{
+    static Vector stateTable = null;
+    static int nextState = 0;
+    
+    private final static int newState()
+    {
+        ThaiStateTransition[] stateRow = new ThaiStateTransition[ThaiCharacterClasses.cCount];
+        
+        for (int c = 0; c < ThaiCharacterClasses.cCount; c += 1) {
+            stateRow[c] = null;
+        }
+        
+        stateTable.addElement(stateRow);
+        
+        return nextState++;
+    }
+    
+    private final static boolean isLegalHere(int state, char pairAction)
+    {
+        switch (pairAction) {
+        case 'A':
+            return state == 0;
+            
+        case 'C':
+        case 'D':
+        case 'E':
+        case 'F':
+        case 'G':
+        case 'H':
+            return true;
+        
+        case 'R':
+        case 'S':
+            return false;
+        }
+        
+        return false;
+    }
+    
+    private final static boolean composesWithAnything(int charClass)
+    {
+        for (int c = 0; c < ThaiCharacterClasses.cCount; c += 1) {
+            char action = ThaiCharacterClasses.getPairAction(charClass, c);
+            
+            if (action >= 'C' && action <= 'I') {
+                return true;
+            }
+        }
+        
+        return false;
+    }
+    
+    private final static void fixNextStates()
+    {
+        ThaiStateTransition[] groundState = (ThaiStateTransition[]) stateTable.elementAt(0);
+        
+        for (int s = 1; s < stateTable.size(); s += 1) {
+            ThaiStateTransition[] state = (ThaiStateTransition[]) stateTable.elementAt(s);
+            
+            for (int c = 0; c < ThaiCharacterClasses.cCount; c += 1) {
+                ThaiStateTransition transition = state[c];
+                
+                if (transition.getNextState() == 0) {
+                    transition.setNextState(groundState[c].getNextState());
+                }
+            }
+        }
+    }
+    
+    private final static int addState(int prevClass, int prevPrevClass)
+    {
+        int state = newState();
+        ThaiStateTransition[] stateRow = (ThaiStateTransition[]) stateTable.elementAt(state);
+        
+        for (int c = 0; c < ThaiCharacterClasses.cCount; c += 1) {
+            char pairAction = ThaiCharacterClasses.getPairAction(prevClass, c);
+            int nextState = 0;
+            
+            switch (pairAction) {
+            case 'G':
+                if (prevClass == ThaiCharacterClasses.NIK &&
+                    prevPrevClass == ThaiCharacterClasses.AV1) {
+                    pairAction = 'R';
+                } else if (prevPrevClass != ThaiCharacterClasses.COA) {
+                    pairAction = 'C';
+                }
+                break;
+                
+            case 'E':
+                if (prevPrevClass == ThaiCharacterClasses.COA) {
+                    pairAction = 'F';
+                }
+                break;
+                
+            case 'I':
+                if (prevClass == ThaiCharacterClasses.TON &&
+                    (prevPrevClass < ThaiCharacterClasses.CON ||
+                     prevPrevClass > ThaiCharacterClasses.COD)) {
+                    pairAction = 'S';
+                } else {
+                    pairAction = 'A';
+                }
+                break;
+                
+            default:
+                break;
+            }
+            
+            if (c != prevClass && isLegalHere(state, pairAction) && composesWithAnything(c)) {
+                nextState = addState(c, prevClass);
+            }
+            
+            stateRow[c] = new ThaiStateTransition(nextState, pairAction);
+        }
+        
+        return state;
+    }
+    
+    static
+    {
+        stateTable = new Vector();
+            
+        addState(ThaiCharacterClasses.NON, ThaiCharacterClasses.NON);
+            
+        fixNextStates();
+    }
+    
+    public static ThaiStateTransition getTransition(int state, int currClass)
+    {
+        ThaiStateTransition[] row = (ThaiStateTransition[]) stateTable.elementAt(state);
+        
+        return row[currClass];
+    }
+
+    private static String header0 =
+"const ThaiShaping::StateTransition ThaiShaping::thaiStateTable[][ThaiShaping::classCount] = {";
+
+    private static String header1 =
+"    //+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+";
+
+    private static String header2 =
+"    //|         N         C         C         C         L         F         F         F         B         B         B         T         A         A         A         N         A         A         A    |\n" +
+"    //|         O         O         O         O         V         V         V         V         V         V         D         O         D         D         D         I         V         V         V    |\n" +
+"    //|         N         N         A         D         O         1         2         3         1         2         I         N         1         2         3         K         1         2         3    |";
+    
+    public static void writeStateTable(PrintStream output)
+    {
+        System.out.print("Writing state table...");
+        
+        output.println(header0);
+        output.println(header1);
+        output.println(header2);
+        output.println(header1);
+        
+        for (int state = 0; state < stateTable.size(); state += 1) {
+            ThaiStateTransition[] row = (ThaiStateTransition[]) stateTable.elementAt(state);
+            
+            output.print("    /*");
+            
+            if (state < 10) {
+                output.print("0");
+            }
+            
+            output.print(state);
+            
+            output.print("*/ {");
+            
+            for (int c = 0; c < ThaiCharacterClasses.cCount; c += 1) {
+                row[c].write(output);
+                
+                if (c < ThaiCharacterClasses.cCount - 1) {
+                    output.print(", ");
+                }
+            }
+            
+            output.print("}");
+                    
+            if (state < stateTable.size() - 1) {
+                output.print(",");
+            }
+                    
+            output.println();
+        }
+        
+        output.println("};\n");
+        
+        System.out.println(" done.");
+    }
+}
diff --git a/src/com/ibm/icu/dev/tool/layout/ThaiStateTableBuilder.java b/src/com/ibm/icu/dev/tool/layout/ThaiStateTableBuilder.java
new file mode 100644
index 0000000..88d04e1
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/layout/ThaiStateTableBuilder.java
@@ -0,0 +1,26 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1998-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ *
+ * Created on Dec 09, 2003
+ *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.tool.layout;
+
+
+public class ThaiStateTableBuilder
+{
+    public static void main(String args[])
+    {
+        ThaiStateTableModuleWriter writer = new ThaiStateTableModuleWriter();
+        
+        writer.openFile(args[0]);
+        writer.writeTables();
+        writer.closeFile();
+        
+    }
+    
+}
diff --git a/src/com/ibm/icu/dev/tool/layout/ThaiStateTableModuleWriter.java b/src/com/ibm/icu/dev/tool/layout/ThaiStateTableModuleWriter.java
new file mode 100644
index 0000000..3ff9a0b
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/layout/ThaiStateTableModuleWriter.java
@@ -0,0 +1,31 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1998-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ *
+ * Created on Dec 09, 2003
+ *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.tool.layout;
+
+public class ThaiStateTableModuleWriter extends ModuleWriter
+{
+    public ThaiStateTableModuleWriter()
+    {
+        super();
+    }
+
+    public void writeTables()
+    {
+        writeHeader(null, includeFiles);
+        
+        ThaiCharacterClasses.writeClassTable(output);
+        ThaiStateTable.writeStateTable(output);
+        
+        writeTrailer();
+    }
+
+    private static final String[] includeFiles = {"LETypes.h", "ThaiShaping.h"};
+}
\ No newline at end of file
diff --git a/src/com/ibm/icu/dev/tool/layout/ThaiStateTransition.java b/src/com/ibm/icu/dev/tool/layout/ThaiStateTransition.java
new file mode 100644
index 0000000..2d05eb1
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/layout/ThaiStateTransition.java
@@ -0,0 +1,66 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1998-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ *
+ * Created on Dec 09, 2003
+ *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.tool.layout;
+
+import java.io.PrintStream;
+
+public class ThaiStateTransition
+{
+    int nextState;
+    char action;
+        
+    public ThaiStateTransition(int nextState, char action)
+    {
+        this.nextState = nextState;
+        this.action = action;
+    }
+        
+    public final int getNextState()
+    {
+        return nextState;
+    }
+        
+    public final char getAction()
+    {
+        return action;
+    }
+        
+    public final void setNextState(int newNextState)
+    {
+        nextState = newNextState;
+    }
+        
+    public final void setAction(char newAction)
+    {
+        action = newAction;
+    }
+
+    public String toString()
+    {
+        return ((nextState < 10) ? "0" : "") + nextState + "/" + action + " ";
+    }
+    
+    public void write(PrintStream output)
+    {
+        output.print("{");
+        
+        if (nextState < 10) {
+            output.print(" ");
+        }
+        
+        output.print(nextState);
+        
+        output.print(", t");
+        output.print(action);
+        output.print("}");
+    }
+    
+}
diff --git a/src/com/ibm/icu/dev/tool/layout/TreeWalker.java b/src/com/ibm/icu/dev/tool/layout/TreeWalker.java
new file mode 100644
index 0000000..9ec4471
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/layout/TreeWalker.java
@@ -0,0 +1,19 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1998-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ *
+ * Created on Dec 3, 2003
+ *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.tool.layout;
+
+public abstract class TreeWalker
+{
+    abstract void down(int ch);
+    abstract void up();
+    abstract void ligature(int lig);
+    abstract void done();
+}
diff --git a/src/com/ibm/icu/dev/tool/localeconverter/ArrayEnumeration.java b/src/com/ibm/icu/dev/tool/localeconverter/ArrayEnumeration.java
new file mode 100755
index 0000000..e77c0c8
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/localeconverter/ArrayEnumeration.java
@@ -0,0 +1,87 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2002-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.tool.localeconverter;
+
+import java.util.*;
+
+public final class ArrayEnumeration implements Enumeration {
+
+    public ArrayEnumeration(Object[] array, int start, int limit) {
+        this.array = array;
+        position = start;
+        this.limit = limit;
+    }
+
+    public ArrayEnumeration(byte[] array, int start, int limit) {
+        this.array = new Object[array.length];
+        for (int i = 0; i < array.length; ++i) {
+            this.array[i] = new Byte(array[i]);
+        }
+        position = start;
+        this.limit = limit;
+    }
+
+    public ArrayEnumeration(char[] array, int start, int limit) {
+        this.array = new Object[array.length];
+        for (int i = 0; i < array.length; ++i) {
+            this.array[i] = new Character(array[i]);
+        }
+        position = start;
+        this.limit = limit;
+    }
+
+    public ArrayEnumeration(short[] array, int start, int limit) {
+        this.array = new Object[array.length];
+        for (int i = 0; i < array.length; ++i) {
+            this.array[i] = new Short(array[i]);
+        }
+        position = start;
+        this.limit = limit;
+    }
+
+    public ArrayEnumeration(int[] array, int start, int limit) {
+        this.array = new Object[array.length];
+        for (int i = 0; i < array.length; ++i) {
+            this.array[i] = new Integer(array[i]);
+        }
+        position = start;
+        this.limit = limit;
+    }
+
+    public ArrayEnumeration(float[] array, int start, int limit) {
+        this.array = new Object[array.length];
+        for (int i = 0; i < array.length; ++i) {
+            this.array[i] = new Float(array[i]);
+        }
+        position = start;
+        this.limit = limit;
+    }
+
+    public ArrayEnumeration(double[] array, int start, int limit) {
+        this.array = new Object[array.length];
+        for (int i = 0; i < array.length; ++i) {
+            this.array[i] = new Double(array[i]);
+        }
+        position = start;
+        this.limit = limit;
+    }
+
+    public boolean hasMoreElements() {
+         return position < limit;
+    }
+
+    public Object nextElement() {
+        if (position < limit)
+            return array[position++];
+        else
+            throw new java.util.NoSuchElementException();
+    }
+    // privates
+    private Object[] array;
+    private int position = 0;
+    private int limit = 0;
+}
\ No newline at end of file
diff --git a/src/com/ibm/icu/dev/tool/localeconverter/CalculateCRC32.java b/src/com/ibm/icu/dev/tool/localeconverter/CalculateCRC32.java
new file mode 100644
index 0000000..a79ec53
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/localeconverter/CalculateCRC32.java
@@ -0,0 +1,86 @@
+/*
+******************************************************************************
+* Copyright (C) 2003-2004, International Business Machines Corporation and   *
+* others. All Rights Reserved.                                               *
+******************************************************************************
+*/
+
+package com.ibm.icu.dev.tool.localeconverter;
+
+import java.math.*;
+
+/*
+ *  The code is from  http://www.theorem.com/java/CRC32.java
+ * Calculates the CRC32 - 32 bit Cyclical Redundancy Check
+ * <P> This check is used in numerous systems to verify the integrity
+ * of information.  It's also used as a hashing function.  Unlike a regular
+ * checksum, it's sensitive to the order of the characters.
+ * It produces a 32 bit
+ * 
+ * @author Michael Lecuyer (mjl@theorem.com)
+ * @version 1.1 August 11, 1998
+ */
+ 
+/* ICU is not endian portable, because ICU data generated on big endian machines can be
+ * ported to big endian machines but not to little endian machines and vice versa. The 
+ * conversion is not portable across platforms with different endianess. 
+ */
+ 
+public class CalculateCRC32 {
+    static int CRCTable[];
+    static int crc;
+
+    static void buildCRCTable() {
+        final int CRC32_POLYNOMIAL = 0xEDB88320;
+        int i, j;
+        int crc;
+        CRCTable = new int[256];
+
+        for (i = 0; i <= 255; i++) {
+            crc = i;
+            for (j = 8; j > 0; j--) {
+                if ((crc & 1) == 1) {
+                    crc = (crc >>> 1) ^ CRC32_POLYNOMIAL;
+                } else {
+                    crc >>>= 1;
+                }
+            }
+            CRCTable[i] = crc;
+        }
+    }
+
+    public static int computeCRC32(String buffer) {
+        return computeCRC32(buffer, 0xFFFFFFFF);
+    }
+
+    public static int computeCRC32(byte buffer[]) {
+        return computeCRC32(buffer, 0xFFFFFFFF);
+    }
+   
+    public static int computeCRC32(String buffer, int crc){
+        return computeCRC32(buffer.getBytes(), crc);
+    }
+
+    public static int computeCRC32(byte buffer[], int crc) {
+        return computeCRC32(buffer, 0, buffer.length, crc);
+    }
+
+    public static int computeCRC32(byte buffer[], int start, int count, int lastcrc){
+        buildCRCTable();  
+        int temp1, temp2;
+        int i = start;
+        crc = lastcrc;
+      
+        while (count-- != 0){
+            temp1 = crc >>> 8;
+            byte s = buffer[i++];
+            temp2 = CRCTable[(crc ^s) & 0xFF];
+            crc = temp1 ^ temp2;
+        }
+        return crc;
+    }
+
+    public byte [] toBytes() {
+        return new BigInteger(new Integer(crc).toString()).toByteArray();
+    }
+}
diff --git a/src/com/ibm/icu/dev/tool/localeconverter/CollationItem.java b/src/com/ibm/icu/dev/tool/localeconverter/CollationItem.java
new file mode 100755
index 0000000..86f3e43
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/localeconverter/CollationItem.java
@@ -0,0 +1,86 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2002-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.tool.localeconverter;
+
+
+/**
+ * A CollationItem represents a single entry in a collation sequence.
+ */
+public class CollationItem {
+    private static final char[] OP_CHARS = {'=', '<', ';', ',', '&' };
+    private static final char[] SPECIAL_CHARS = { '&', '@' , '=', '<', ';', ',' };
+    public static final int NONE = 0;
+    public static final int PRIMARY = 1;
+    public static final int SECONDARY = 2;
+    public static final int TERTIARY = 3;
+    private static final int FIRST = 4;
+    public int op;
+    public String item;
+    public String expansion;
+    public String comment;
+    
+    public static final CollationItem FORWARD = new CollationItem(NONE, "") {
+        public String toString() { return ""; }
+    };
+    public static final CollationItem BACKWARD = new CollationItem(NONE, "") {
+        public String toString() { return "@"; }
+    };
+    
+    public CollationItem(String item) {
+        this.op = FIRST;
+        this.item = cleanString(item);
+        this.expansion = "";
+    }
+    
+    public CollationItem(int op, String item) {
+        this(op, item, null);
+    }
+    
+    public CollationItem(int op, String item, String expansion) {
+        this.op = Math.abs(op);
+        if (this.op > TERTIARY) this.op = TERTIARY;
+        this.item = cleanString(PosixCollationBuilder.unescape(item));
+        this.expansion = cleanString(PosixCollationBuilder.unescape(expansion));
+    }
+    
+    public void setComment(String comment) {
+        this.comment = comment;
+    }
+    
+    public String toString() {
+        if (expansion.length() == 0) {
+            return ""+OP_CHARS[op]+item;
+        } else {
+            return "&"+expansion+OP_CHARS[op]+item;
+        }
+    }
+    
+    private String cleanString(String source) {
+        if (source == null) return "";
+        String result = source;
+        for (int i = 0; i < result.length(); i++) {
+            final char c = result.charAt(i);
+            if ((c == '@') || (c == '\t') || (c == '\n')
+                    || (c == '\f') || (c =='\r') || (c == '\013')
+                    || ((c <= '\u002F') && (c >= '\u0020'))
+                    || ((c <= '\u003F') && (c >= '\u003A'))
+                    || ((c <= '\u0060') && (c >= '\u005B'))
+                    || ((c <= '\u007E') && (c >= '\u007B'))) {
+                if (i < result.length()-1) {
+                    result = result.substring(0, i)
+                            + "\\" + c 
+                            + result.substring(i+1);
+                } else {
+                    result = result.substring(0, i)
+                            + "\\" + c;
+                }
+                i += 2; //skip the two characters we inserted
+            }
+        }
+        return result;
+    }
+}
\ No newline at end of file
diff --git a/src/com/ibm/icu/dev/tool/localeconverter/Comparable.java b/src/com/ibm/icu/dev/tool/localeconverter/Comparable.java
new file mode 100755
index 0000000..9ef708d
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/localeconverter/Comparable.java
@@ -0,0 +1,14 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2002-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.tool.localeconverter;
+
+public interface Comparable {
+    /**
+        returns 0 if objects are equal, -1 if a is less than b, 1 otherwise.
+    */
+    public int compareTo(Object b);
+}
\ No newline at end of file
diff --git a/src/com/ibm/icu/dev/tool/localeconverter/Comparator.java b/src/com/ibm/icu/dev/tool/localeconverter/Comparator.java
new file mode 100755
index 0000000..f237cc3
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/localeconverter/Comparator.java
@@ -0,0 +1,14 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2002-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.tool.localeconverter;
+
+public interface Comparator {
+    /**
+        returns 0 if objects are equal, -1 if a is less than b, 1 otherwise.
+    */
+    public int compare(Object a, Object b);
+}
diff --git a/src/com/ibm/icu/dev/tool/localeconverter/ComplexTransition.java b/src/com/ibm/icu/dev/tool/localeconverter/ComplexTransition.java
new file mode 100755
index 0000000..0c287e3
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/localeconverter/ComplexTransition.java
@@ -0,0 +1,66 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2002-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.tool.localeconverter;
+
+import java.io.*;
+
+/**
+ * A ComplexTransition is conceptually a single transition that
+ * consumes multiple input characters.
+ */
+public abstract class ComplexTransition implements Lex.Transition {
+        //the value that is returned by subclasses indicating that
+        //the transition was successfull.  This value is then
+        //discarded and the value passed to the constructor
+        //is then returned to the caller.
+    protected static final int SUCCESS = Lex.END_OF_FILE - 1;
+    private int success;    //value to return if successfull
+    private Lex parser;     //the parser used for this transition
+        
+    public ComplexTransition(int success) {
+        this.success = success;
+        this.parser = new Lex(null);
+        //this.parser.debug(true);
+    }
+    
+    public int doAction(int c, PushbackReader input, StringBuffer buffer) throws IOException {
+        input.unread(c);
+        parser.setStates(getStates());
+        parser.setInput(input);
+        try {
+            parser.nextToken();
+            handleSuccess(parser, buffer);
+            return success;
+        } catch (IOException e) {
+            handleFailure(parser, buffer);
+            throw e;
+        }
+    }
+
+        //called after a successful parse
+    protected void handleSuccess(Lex parser, StringBuffer output) throws IOException {
+        parser.appendDataTo(output);
+    }
+    
+        //called after a failed parse
+    protected void handleFailure(Lex parser, StringBuffer output) {
+    }
+    
+        //subclasses should return the states to use to parse this
+        //transition
+    protected abstract Lex.Transition[][] getStates();
+
+    public ComplexTransition debug(boolean debug) {
+        parser.debug(debug);
+        return this;
+    }
+    
+    public ComplexTransition debug(boolean debug, String tag) {
+        parser.debug(debug, tag);
+        return this;
+    }
+}
diff --git a/src/com/ibm/icu/dev/tool/localeconverter/ConvertAllJavaLocales.java b/src/com/ibm/icu/dev/tool/localeconverter/ConvertAllJavaLocales.java
new file mode 100755
index 0000000..0a0dd27
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/localeconverter/ConvertAllJavaLocales.java
@@ -0,0 +1,95 @@
+/**
+ *******************************************************************************
+ * Copyright (C) 2002-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+package com.ibm.icu.dev.tool.localeconverter;
+
+import java.io.*;
+import java.util.*;
+
+/**
+
+The ConvertJavaLocale application converts java locales to 
+Java and ICU Locale files.  It's usage is as follows
+
+    ConvertJavaLocale [-11] [-12] [-icu] locale...
+
+Usage
+
+-11
+    If this option is specified, data is output in 
+    Java 1.1.x locale format.
+    
+-12
+    If this option is specified, data is output in
+    Java 1.2.x locale format.  If an output format
+    is not specified, -12 is the default.
+    
+-icu
+    If this option is specified, data is output in
+    ICU locale format.
+
+locale
+    The locale to convert
+
+
+*/
+/*
+ *******************************************************************************
+ * Copyright (C) 2002-2003, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+public class ConvertAllJavaLocales {
+    public static void main(String args[]) {
+        try {
+            new ConvertAllJavaLocales(args);
+        } catch (Throwable t) {
+            System.err.println("Unknown error: "+t);
+        }
+    }
+    
+    public ConvertAllJavaLocales(String argsIn[]) {
+        try {
+            String packageName = argsIn[0];
+            System.out.println("This is the packagename : "+packageName);
+            String classname = packageName+".Locale";
+            //classname.concat();
+            System.out.println("This is the classname : "+classname);
+          /*  Class cl = Class.forName(classname);
+            Class[] paramList=null;
+            Method gvl = cl.getMethod("getAvailableLocales", paramList);
+            Object[] params = new Object[]{""};
+            gvl.invoke(null,params);*/
+            final Locale[] locales = java.util.Locale.getAvailableLocales();//(Locale[])gvl.invoke(null,params);;
+       
+            for (int i = 0; i < locales.length; i++) {
+                final String localeName = locales[i].toString();
+                final String[] args = {"-package",packageName,"-icu", localeName};
+                
+                System.out.println("Converting "+localeName);
+                
+                final FileOutputStream outFile = new FileOutputStream(localeName + ".txt");
+                final PrintStream out = new PrintStream(outFile, true);
+                
+                new ConvertJavaLocale(args, out);
+                
+                out.close();
+            }
+            System.out.println("Converting root locale");
+            final String[] args = {"-package",packageName,"-icu","root"};
+            final FileOutputStream outFile = new FileOutputStream("root.txt");
+            final PrintStream out = new PrintStream(outFile, true);
+            new ConvertJavaLocale(args, out);
+            out.close();
+                
+        } catch (IOException e) {
+            System.err.println("Unexpected IO error");
+        }catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+}
diff --git a/src/com/ibm/icu/dev/tool/localeconverter/ConvertICUListResourceBundle.java b/src/com/ibm/icu/dev/tool/localeconverter/ConvertICUListResourceBundle.java
new file mode 100644
index 0000000..8bd213a
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/localeconverter/ConvertICUListResourceBundle.java
@@ -0,0 +1,165 @@
+/**
+*******************************************************************************
+* Copyright (C) 2002-2004, International Business Machines Corporation and    *
+* others. All Rights Reserved.                                                *
+*******************************************************************************
+*/
+package com.ibm.icu.dev.tool.localeconverter;
+
+import java.io.*;
+import java.util.*;
+
+/**
+ * @author ram
+ *
+ * To change this generated comment edit the template variable "typecomment":
+ * Window>Preferences>Java>Templates.
+ * To enable and disable the creation of type comments go to
+ * Window>Preferences>Java>Code Generation.
+ */
+public class ConvertICUListResourceBundle {
+    private static final byte OPT_11 = (byte)0x01;
+    private static final byte OPT_12 = (byte)0x02;
+    private static final byte OPT_ICU = (byte)0x04;
+    private static final byte OPT_PACKAGE = (byte)0x08;
+    private static final byte OPT_BUNDLE = (byte)0x10;
+    private static final byte OPT_UNKNOWN = (byte)0x80;
+    private static final String USER_OPTIONS[] = {
+        "-11", 
+        "-12", 
+        "-icu",
+        "-package",
+        "-bundle-name"
+    };
+    
+    public static void main(String args[]) {
+        try {
+            new ConvertICUListResourceBundle(args, System.out);
+        } catch (Throwable t) {
+            System.err.println("Unknown error: "+t);
+        }
+    }
+    
+    public ConvertICUListResourceBundle(String args[], PrintStream out) {
+        process(args, out);
+    }
+    
+    public void process(String args[], PrintStream out) {
+        short options = identifyOptions(args);
+        if ((args.length < 1) || ((options & OPT_UNKNOWN) != 0)) {
+            printUsage();
+        } else {
+            String localeName = null;
+            String packagename = null;
+            String bundleName = null;
+            for (int i = 0; i < args.length; i++) {
+                //final String thisArg = args[i];
+
+                if(args[i].equalsIgnoreCase("-package")){
+                   i++;
+                   packagename = args[i];
+                }else if(args[i].equalsIgnoreCase("-icu")){
+                }else if (!args[i].startsWith("-")) {
+                    localeName = args[i];
+                }else if(args[i].equalsIgnoreCase("-bundle-name")){
+                    bundleName = args[++i];
+                }
+            }
+            final Hashtable data = new Hashtable();
+            final String localeElements = packagename
+                    + (String)((bundleName != null) ? "."+ bundleName : ".LocaleElements" )
+                    + (String)((localeName != null) ? "_"+ localeName : "");
+
+           // final String DateFormatZoneData = packagename+".DateFormatZoneData" +
+           //         (String)((localeName != null) ? "_"+localeName : "");
+
+            addLocaleData(localeElements, data);
+            //addLocaleData(DateFormatZoneData, data);
+            
+            Locale locale;
+            if(localeName==null){
+                locale = localeFromString("root");
+            }else{
+                locale = localeFromString(localeName);
+            }
+            if ((options & OPT_11) != 0) {
+                new Java1LocaleWriter(out, System.err).write(locale, data);
+            }
+            if ((options & OPT_12) != 0) {
+                new JavaLocaleWriter(out, System.err).write(locale, data);
+            }
+            if ((options & OPT_ICU) != 0) {
+                 new ICU3LocaleWriter(getBundle(localeElements),out, System.err).write(locale);
+            }
+        }
+    }
+    
+    private ListResourceBundle getBundle(final String bundleClassName){
+        try {
+            final Class bundleClass = Class.forName(bundleClassName);
+            final ListResourceBundle bundle = (ListResourceBundle)bundleClass.newInstance();
+            return bundle;
+
+        } catch (ClassNotFoundException e) {
+            System.err.println("Could not find bundle class for bundle: "+bundleClassName);
+        } catch (InstantiationException e) {
+            System.err.println("Could not create bundle instance for bundle: "+bundleClassName);
+        } catch (IllegalAccessException e) {
+            System.err.println("Could not create bundle instance for bundle: "+bundleClassName);
+        }
+        return null;
+    }
+    private void addLocaleData(final String bundleClassName, final Hashtable data) {
+        ResourceBundle bundle = getBundle(bundleClassName);
+        Enumeration keys = bundle.getKeys();
+        while(keys.hasMoreElements()){
+            String key = (String) keys.nextElement();
+            Object o = bundle.getObject(key);
+            data.put(key, o);
+        }
+    }
+    
+    private void printUsage() {
+        System.err.println("Usage: ConvertICUListResourceBundle [-11] [-12] [-icu] [-package] <package name> [-bundle-name] <bundle name> localeName");
+    }
+    
+    private short identifyOptions(String[] options) {
+        short result = 0;
+        for (int j = 0; j < options.length; j++) {
+            String option = options[j];
+            if (option.startsWith("-")) {
+                boolean optionRecognized = false;
+                for (short i = 0; i < USER_OPTIONS.length; i++) {
+                    if (USER_OPTIONS[i].equals(option)) {
+                        result |= (short)(1 << i);
+                        optionRecognized = true;
+                        break;
+                    }
+                }
+                if (!optionRecognized) {
+                    result |= OPT_UNKNOWN;
+                }
+            }
+        }
+        return result;
+    }
+    
+    private Locale localeFromString(final String localeName) {
+        if (localeName == null) return new Locale("", "", "");
+        String language = localeName;
+        String country = "";
+        String variant = "";
+        
+        int ndx = language.indexOf('_');
+        if (ndx >= 0) {
+            country = language.substring(ndx+1);
+            language = language.substring(0, ndx);
+        }
+        ndx = country.indexOf('_');
+        if (ndx >= 0) {
+            variant = country.substring(ndx+1);
+            country = country.substring(0, ndx);
+        }
+        return new Locale(language, country, variant);
+    }
+}
diff --git a/src/com/ibm/icu/dev/tool/localeconverter/ConvertJavaLocale.java b/src/com/ibm/icu/dev/tool/localeconverter/ConvertJavaLocale.java
new file mode 100755
index 0000000..ce41ef8
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/localeconverter/ConvertJavaLocale.java
@@ -0,0 +1,200 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2002-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.tool.localeconverter;
+
+import java.io.*;
+import java.util.*;
+
+/**
+
+The ConvertJavaLocale application converts java locales to 
+Java and ICU Locale files.  It's usage is as follows
+
+    ConvertJavaLocale [-11] [-12] [-icu] [-package] locale...
+
+Usage
+
+-11
+    If this option is specified, data is output in 
+    Java 1.1.x locale format.
+    
+-12
+    If this option is specified, data is output in
+    Java 1.2.x locale format.  If an output format
+    is not specified, -12 is the default.
+    
+-icu
+    If this option is specified, data is output in
+    ICU locale format.
+
+locale
+    The locale to convert
+
+
+*/
+
+public class ConvertJavaLocale {
+    private static final byte OPT_11 = (byte)0x01;
+    private static final byte OPT_12 = (byte)0x02;
+    private static final byte OPT_ICU = (byte)0x04;
+    private static final byte OPT_PACKAGE = (byte)0x08;
+    private static final byte OPT_UNKNOWN = (byte)0x80;
+    private static final String USER_OPTIONS[] = {
+        "-11", 
+        "-12", 
+        "-icu",
+        "-package"
+    };
+    
+    private static final String[] tags = {
+        "LocaleString",
+        "LocaleID",
+        "ShortLanguage",
+        "ShortCountry",
+        "Languages",
+        "Countries",
+        "MonthNames",
+        "MonthAbbreviations",
+        "DayNames",
+        "DayAbbreviations",
+        "AmPmMarkers",
+        "Eras",
+        "NumberPatterns",
+        "NumberElements",
+        "CurrencyElements",
+        "DateTimePatterns",
+        "DateTimeElements",   
+        "collations",
+        "zoneStrings",
+        "localPatternChars",
+    };
+
+
+
+    public static void main(String args[]) {
+        try {
+            new ConvertJavaLocale(args, System.out);
+        } catch (Throwable t) {
+            System.err.println("Unknown error: "+t);
+        }
+    }
+    
+    public ConvertJavaLocale(String args[], PrintStream out) {
+        process(args, out);
+    }
+    
+    public void process(String args[], PrintStream out) {
+        short options = identifyOptions(args);
+        if ((args.length < 1) || ((options & OPT_UNKNOWN) != 0)) {
+            printUsage();
+        } else {
+            String localeName = null;
+            String packagename = null;
+            for (int i = 0; i < args.length; i++) {
+                if(args[i].equalsIgnoreCase("-package")){
+                   i++;
+                   packagename = args[i];
+                }else if(args[i].equalsIgnoreCase("-icu")){
+                }else if (!args[i].startsWith("-")) {
+                    localeName = args[i];
+                }
+            }
+            final Hashtable data = new Hashtable();
+            final String localeElements;
+            final String dateFormatZoneData;
+            
+            if(localeName != null){
+                if(!localeName.equals("root")){
+                    localeElements = packagename+".LocaleElements" +"_"+localeName;
+                    dateFormatZoneData = packagename+".DateFormatZoneData" + "_"+localeName;
+                }else{
+                    localeElements = packagename+".LocaleElements";
+                    dateFormatZoneData = packagename+".DateFormatZoneData";
+                }
+            }else{
+                printUsage();
+                return;
+            }
+            addLocaleData(localeElements, data);
+            addLocaleData(dateFormatZoneData, data);
+            final Locale locale = localeFromString(localeName);
+            if ((options & OPT_11) != 0) {
+                new Java1LocaleWriter(out, System.err).write(locale, data);
+            }
+            if ((options & OPT_12) != 0) {
+                new JavaLocaleWriter(out, System.err).write(locale, data);
+            }
+            if ((options & OPT_ICU) != 0) {
+                new ICULocaleWriter(out, System.err).write(locale, data);
+            }
+        }
+    }
+
+    private void addLocaleData(final String bundleClassName, final Hashtable data) {
+        try {
+            final Class bundleClass = Class.forName(bundleClassName);
+            final ResourceBundle bundle = (ResourceBundle)bundleClass.newInstance();
+            for (int i = 0; i < tags.length; i++) {
+                try {
+                    final Object resource = bundle.getObject(tags[i]);
+                    data.put(tags[i], resource);
+                } catch (MissingResourceException e) {
+                }               
+            }
+        } catch (ClassNotFoundException e) {
+            System.err.println("Could not find bundle class for bundle: "+bundleClassName);
+        } catch (InstantiationException e) {
+            System.err.println("Could not create bundle instance for bundle: "+bundleClassName);
+        } catch (IllegalAccessException e) {
+            System.err.println("Could not create bundle instance for bundle: "+bundleClassName);
+        }
+    }
+    
+    private void printUsage() {
+        System.err.println("Usage: ConvertJavaLocale [-11] [-12] [-icu] [-package] <package name> localeName");
+    }
+    
+    private short identifyOptions(String[] options) {
+        short result = 0;
+        for (int j = 0; j < options.length; j++) {
+            String option = options[j];
+            if (option.startsWith("-")) {
+                boolean optionRecognized = false;
+                for (short i = 0; i < USER_OPTIONS.length; i++) {
+                    if (USER_OPTIONS[i].equals(option)) {
+                        result |= (short)(1 << i);
+                        optionRecognized = true;
+                        break;
+                    }
+                }
+                if (!optionRecognized) {
+                    result |= OPT_UNKNOWN;
+                }
+            }
+        }
+        return result;
+    }
+    
+    private Locale localeFromString(final String localeName) {
+        if (localeName == null) return new Locale("", "", "");
+        String language = localeName;
+        String country = "";
+        String variant = "";
+        
+        int ndx = language.indexOf('_');
+        if (ndx >= 0) {
+            country = language.substring(ndx+1);
+            language = language.substring(0, ndx);
+        }
+        ndx = country.indexOf('_');
+        if (ndx >= 0) {
+            variant = country.substring(ndx+1);
+            country = country.substring(0, ndx);
+        }
+        return new Locale(language, country, variant);
+    }
+}
diff --git a/src/com/ibm/icu/dev/tool/localeconverter/ConvertLocaleTest.java b/src/com/ibm/icu/dev/tool/localeconverter/ConvertLocaleTest.java
new file mode 100755
index 0000000..90ada9a
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/localeconverter/ConvertLocaleTest.java
@@ -0,0 +1,90 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2002-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+ 
+package com.ibm.icu.dev.tool.localeconverter;
+
+/*
+
+ConvertPOSIXLocale [-11] [-12] [-icu] [-icu2] localeDataFile [charMapFile ...]
+
+*/
+
+public class ConvertLocaleTest {
+    public static void main(String args[]) {
+/*
+        ConvertPOSIXLocale.main( new String[] {
+            "-12",
+            "C:\\projects\\com\\taligent\\localeconverter\\collationTest.txt"
+        } );    
+ 
+        ConvertPOSIXLocale.main( new String[] {
+            "-icu",
+            "C:\\projects\\com\\taligent\\localeconverter\\collationTest2.txt",
+            "C:\\projects\\com\\taligent\\localeconverter\\CharMaps\\ISO-8859-1",
+            "C:\\projects\\com\\taligent\\localeconverter\\CharMaps\\mnemonic.ds",
+        } );
+
+        ConvertPOSIXLocale.main( new String[] {
+            "-icu", "-LC_MESSAGES",
+            "C:\\projects\\com\\taligent\\localeconverter\\Locales\\Vivnx43.ibm",
+            "C:\\projects\\com\\taligent\\localeconverter\\CharMaps\\ibm1129-2-UniCode.chm",
+        } );
+/*      ConvertPOSIXLocale.main( new String[] {
+            "-12",
+            "C:\\projects\\com\\taligent\\localeconverter\\Locales\\POSIXLocales\\en_US",
+            "C:\\projects\\com\\taligent\\localeconverter\\CharMaps\\ISO-8859-1",
+            "C:\\projects\\com\\taligent\\localeconverter\\CharMaps\\mnemonic.ds",
+        });
+/*      ConvertPOSIXLocale.main( new String[] {
+            "-12",
+            "C:\\projects\\com\\taligent\\localeconverter\\Locales\\POSIXLocales\\fi_FI",
+            "C:\\projects\\com\\taligent\\localeconverter\\CharMaps\\ISO-8859-1",
+            "C:\\projects\\com\\taligent\\localeconverter\\CharMaps\\mnemonic.ds",
+        });
+
+        ConvertPOSIXLocale.main( new String[] {
+            "-12", "en_BE", 
+            "C:\\projects\\com\\taligent\\localeconverter\\Locales\\ENBEWIN.IBM",
+            "C:\\projects\\com\\taligent\\localeconverter\\CharMaps\\Ibm1252.chm",
+        });
+
+        ConvertPOSIXLocale.main( new String[] {
+            "-12", "vi_VN",
+            "C:\\projects\\com\\taligent\\localeconverter\\Locales\\Vivnx43.ibm",
+            "C:\\projects\\com\\taligent\\localeconverter\\CharMaps\\ibm1129-2-UniCode.chm",
+        });
+
+        ConvertPOSIXLocale.main( new String[] {
+            "-icu", "fr_FR", 
+            "C:\\projects\\com\\taligent\\localeconverter\\Locales\\POSIXLocales\\fr_FR",
+            "C:\\projects\\com\\taligent\\localeconverter\\CharMaps\\ISO-8859-1",
+            "C:\\projects\\com\\taligent\\localeconverter\\CharMaps\\mnemonic.ds",
+        });
+
+        ConvertPOSIXLocale.main( new String[] {
+            "-icu", "fo_FO", 
+            "C:\\projects\\com\\taligent\\localeconverter\\Locales\\POSIXLocales\\fo_FO",
+            "C:\\projects\\com\\taligent\\localeconverter\\CharMaps\\ISO-8859-1",
+            "C:\\projects\\com\\taligent\\localeconverter\\CharMaps\\mnemonic.ds",
+        });
+*/
+        ConvertPOSIXLocale.main( new String[] {
+            "-icu", "fr_LU", 
+            "C:\\projects\\com\\taligent\\localeconverter\\Locales\\POSIXLocales\\fr_LU",
+            "C:\\projects\\com\\taligent\\localeconverter\\CharMaps\\ISO-8859-1",
+            "C:\\projects\\com\\taligent\\localeconverter\\CharMaps\\mnemonic.ds",
+        });
+/*
+        ConvertPOSIXLocale.main( new String[] {
+            "-icu", "de_LU", 
+            "C:\\projects\\com\\taligent\\localeconverter\\Locales\\POSIXLocales\\de_LU",
+            "C:\\projects\\com\\taligent\\localeconverter\\CharMaps\\ISO-8859-1",
+            "C:\\projects\\com\\taligent\\localeconverter\\CharMaps\\mnemonic.ds",
+        });
+*/
+    }
+}
\ No newline at end of file
diff --git a/src/com/ibm/icu/dev/tool/localeconverter/ConvertPOSIXLocale.java b/src/com/ibm/icu/dev/tool/localeconverter/ConvertPOSIXLocale.java
new file mode 100755
index 0000000..9056cf8
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/localeconverter/ConvertPOSIXLocale.java
@@ -0,0 +1,346 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2002-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+ 
+package com.ibm.icu.dev.tool.localeconverter;
+
+import java.io.*;
+import java.util.*;
+
+/**
+
+The ConvertPOSIXLocale application converts POSIX locale files to 
+Java and ICU Locale files.  It's usage is as follows
+
+    ConvertPOSIXLocale 
+        [-LC_CTYPE]
+        [-LC_TIME]
+        [-LC_NUMERIC] 
+        [-LC_MONETARY] 
+        [-LC_MESSAGES] 
+        [-11] 
+        [-12] 
+        [-icu]
+        [-icu2]
+        localeName
+        localeDataFile 
+        [charMapFile ...]
+        
+The application is invoked with options specifying the format(s) of
+the locale file(s) to generate as well as the POSIX locale file and
+character mapping files.
+
+Usage
+
+-LC_CTYPE
+    If the -LC_CTYPE option is specified, the
+    following items are added to the locale if they
+    are present in the source: upper, lower, alpha, digit, 
+    space, cntrl, punct, graph, print, xdigit, blank, 
+    toupper, tolower.
+    
+<CODE>-LC_TIME
+    If the -LC_TIME option is specified, the following
+    items will be included if they are present in the POSIX source:
+    abday, day, abmon, mon, d_t_fmt, d_ftm, t_fmt, am_pm,
+    t_fmt_ampm, era, era_year, era_d_fmt, alt_digits.
+    
+-LC_NUMERIC
+    If the -LC_NUMERIC option is specified, the following
+    items will be included if they are present in the source:
+    decimal_point, thousands_sep, grouping
+
+-LC_MONETARY
+    If the -LC_MONETARY option is specified, the following
+    items will be included if they are present in the source:
+    int_curr_symbol, currency_symbol, mon_decimal_point,
+    mon_thousands_sep, mon_grouping, positive_sign, 
+    negative_sign, int_frac_digits, frac_digits, p_cs_precedes,
+    p_sep_by_space, n_cs_precedes, n_sep_by_space, p_sign_posn.
+
+-LC_MESSAGES
+    If the -LC_MESSAGES option is specified, the
+    following items are added to the locale if they
+    are present in the source: yesexpr, noexpr
+
+-11
+    If this option is specified, data is output in 
+    Java 1.1.x locale format.
+    
+-12
+    If this option is specified, data is output in
+    Java 1.2.x locale format.  If an output format
+    is not specified, -12 is the default.
+    
+-icu
+    If this option is specified, data is output in
+    ICU locale format.
+
+localeName
+    The name of the locale in the localeDataFile.  Ex.  en_US.
+
+localeDataFile
+    The localeDataFile path is required and specifies the path 
+    to the locale data file.  If a "copy" directive is encountered 
+    while processing the localeDataFile, ConvertPOSIXLocale will look
+    in the same directory as the localeDataFile for additional
+    POSIX locale data files.  Files must be in the POSIX format
+    specified in ISO/IEC 9945- with exceptions noted below.  Exactly
+    one localeDataFile must be specified.
+    
+charMapFile
+    Zero or more character mapping files may be specified.  charMapFiles are used
+    to map symbols in the localeDataFile to Unicode values.  They are processed
+    as follows.  ConvertPOSIXLocale searchs for a line containing only the
+    word "CHARMAP" and reads symbol mappings until it reaches a line
+    containing only the words "END CHARMAP".  Symbol mappings have
+    the form "<SYMBOL> <Uhhhh>" where "<SYMBOL>" is any symbol valid
+    in a localeDataFile and "hhhh" is four hexidecimal digits representing
+    the Unicode value for that symbol.  Surrogate pairs are not supported
+    in charMapFiles. An example charMapFile might contain the following:
+
+        CHARMAP
+        <START_OF_TEXT>       <U0002>
+        <E>                   <U0045>
+        <q>                   <U0071>
+        END CHARMAP
+
+    specifying that the symbol <START_OF_TEXT> should be replaced by 
+    the Unicode value of 0x0002 wherever it occurs.
+    
+    When multiple charMapFiles are specified, mappings in files listed 
+    later take precedence over earlier ones.
+
+
+Conversion to ICU and Java:
+
+collations
+    Converted from the LC_COLLATE section.  The "..." directive is ignored.
+    The "replace-after" directive is ignored.
+
+CurrencyElements
+    element 0 is set to currency_symbol
+    element 1 is set to int_curr_symbol
+    element 2 is set to mon_decimal_point
+    All other elements default.
+    
+NumberElements
+    element 0 is set to decimal_point
+    element 1 is set to thousands_sep
+
+MonthNames is set to mon
+
+MonthAbbreviations is set to abmon
+
+DayNames is set to day
+
+DayAbbreviations is set to abday
+
+AmPmMarkers is set to am_pm
+
+DateTimePatterns
+    elements 0 through 3 are set to t_fmt_ampm with the patterns converted
+    elements 4 through 7 are set to d_fmt with the patterns converted
+
+
+Adition POSIX data may be included in the Locale as follows:
+
+LC_TYPE 
+    This section is ignored unless the -LC_CTYPE option is
+    specified.  If the -LC_CTYPE option is specified, the
+    following items are added to the locale if they
+    are present in the source: upper, lower, alpha, digit, 
+    space, cntrl, punct, graph, print, xdigit, blank, 
+    toupper, tolower.
+
+LC_MESSAGES
+    
+LC_MONETARY
+    
+LC_NUMERIC
+
+LC_TIME
+    If the -LC_TIME option is specified, the following
+    items will be included if they are present in the source:
+    abday, day, abmon, mon, d_t_fmt, d_ftm, t_fmt, am_pm,
+    t_fmt_ampm, era, era_year, era_d_fmt, alt_digits.
+
+LC_COLLATE
+    Converted to collations in the resource file.
+    
+    
+*/
+
+public class ConvertPOSIXLocale {
+    private static final short OPT_LC_CTYPE = 0x001;
+    private static final short OPT_LC_TIME = 0x002;
+    private static final short OPT_LC_NUMERIC = 0x004;
+    private static final short OPT_LC_MONETARY = 0x008;
+    private static final short OPT_LC_MESSAGES = 0x010;
+    private static final short OPT_11 = 0x020;
+    private static final short OPT_12 = 0x040;
+    private static final short OPT_ICU = 0x080;
+    private static final short OPT_ICU2 = 0x100;
+    private static final short OPT_RAW = 0x200;
+    private static final short OPT_UNKNOWN = 0x4000;
+    private static final String USER_OPTIONS[] = {
+        "-LC_CTYPE", 
+        "-LC_TIME", 
+        "-LC_NUMERIC", 
+        "-LC_MONETARY",
+        "-LC_MESSAGES",
+        "-11", 
+        "-12", 
+        "-icu", 
+        "-icu2", 
+        "-RAW",
+        "-enc",
+    };
+    private static final short OPT_CONVERT = (short)(OPT_LC_CTYPE | OPT_LC_TIME 
+            | OPT_LC_NUMERIC | OPT_LC_MONETARY | OPT_LC_MESSAGES);
+    
+    private Hashtable data;
+
+    public static void main(String args[]) {
+        try {
+            new ConvertPOSIXLocale(args);
+        } catch (Throwable t) {
+            t.printStackTrace();
+            System.err.println("Unknown error: "+t);
+        }
+    }
+    
+    public ConvertPOSIXLocale(String args[]) {
+        process(args);
+            //{{INIT_CONTROLS
+                //}}
+    }
+    
+    public void process(String args[]) {
+        short options = identifyOptions(args);
+        String enc=null;
+        if ((args.length < 2) || ((options & OPT_UNKNOWN) != 0)) {
+            printUsage();
+        } else {
+            Vector mapFiles = new Vector();
+            Locale locale = null;
+            String fileName = null;
+            for (int i = 0; i < args.length; i++) {
+                final String thisArg = args[i];
+                if (thisArg.startsWith("-")) {
+                    if(thisArg.startsWith("-enc")){
+                        enc = args[++i];
+                    }
+                } else if (locale == null) {
+                    locale = localeFromString(thisArg);
+                } else if (fileName == null) {
+                    fileName = thisArg;
+                } else {
+                    mapFiles.addElement(thisArg);
+                }
+                
+            }
+            if(enc==null){
+                enc="Default";
+            }
+            if ((fileName == null) || (locale == null) || (options == 0)) {
+                printUsage();
+            } else {
+                PosixCharMap map = new PosixCharMap();
+                Enumeration enum = mapFiles.elements();
+                while (enum.hasMoreElements()) {
+                    String mapFile = (String)enum.nextElement();
+                    System.err.println("Locale: "+locale);
+                    System.err.println("Loading character map file: "+mapFile);
+                    try {
+                        map.load(new File(mapFile),enc);
+                    } catch (IOException e) {
+                        System.err.println("Error loading map file: "+mapFile+"  "+e);
+                        System.err.println("File skipped");
+                    }
+                }
+                SymbolTransition.setCharMap(map);
+                File dataFile = new File(fileName);
+                System.err.println("Locale directory: "+dataFile.getParent());
+                POSIXLocaleReader reader = new POSIXLocaleReader(dataFile.getParent(), locale);
+                System.err.println("Parsing file: "+dataFile.getName());
+                try {
+                    data = reader.parse(dataFile.getName(), (byte)(options & OPT_CONVERT));
+                    System.err.println("Converting....");
+                    if ((options & OPT_11) != 0) {
+                        new Java1LocaleWriter(System.out, System.err).write(locale, data);
+                    }
+                    if ((options & OPT_12) != 0) {
+                        new JavaLocaleWriter(System.out, System.err).write(locale, data);
+                    }
+                    if ((options & OPT_ICU) != 0) {
+                        new ICULocaleWriter(System.out, System.err).write(locale, data);
+                    }
+                    if ((options & OPT_ICU2) != 0) {
+                        new ICU2LocaleWriter(System.out, System.err).write(locale, data);
+                    }
+                    if ((options & OPT_RAW) != 0) {
+                        new ICULocaleWriter(System.out, System.err).write(locale, data);
+                    }
+                } catch (IOException e) {
+                    System.err.println(e);
+                }
+            }
+        }
+    }
+
+    private void printUsage() {
+        System.err.println("Usage: ConvertPOSIXLocale [-LC_CTYPE] [-LC_TIME]"+
+            " [-LC_NUMERIC] [-LC_MONETARY] [-LC_MESSAGES] [-11] [-12] [-icu]"+ 
+            " localeName localeDataFile [charMapFile ...]");
+    }
+    
+    private short identifyOptions(String[] options) {
+        short result = 0;
+        for (int j = 0; j < options.length; j++) {
+            String option = options[j];
+            if (option.startsWith("-")) {
+                boolean optionRecognized = false;
+                for (short i = 0; i < USER_OPTIONS.length; i++) {
+                    if (USER_OPTIONS[i].equals(option)) {
+                        result |= (short)(1 << i);
+                        optionRecognized = true;
+                        break;
+                    }
+                }
+                if (!optionRecognized) {
+                    result |= OPT_UNKNOWN;
+                }
+            }
+        }
+        return result;
+    }
+    
+    private Locale localeFromString(final String localeName) {
+        String language = localeName;
+        String country = "";
+        String variant = "";
+        
+        int ndx = language.indexOf('_');
+        if (ndx >= 0) {
+            country = language.substring(ndx+1);
+            language = language.substring(0, ndx);
+        }
+        ndx = country.indexOf('_');
+        if (ndx >= 0) {
+            variant = country.substring(ndx+1);
+            country = country.substring(0, ndx);
+        }
+        ndx = country.indexOf('@');
+        if(ndx>0){
+            variant = country.substring(ndx+1);
+            country = country.substring(0,ndx);
+        }
+        return new Locale(language, country, variant);
+    }
+    //{{DECLARE_CONTROLS
+        //}}
+}
diff --git a/src/com/ibm/icu/dev/tool/localeconverter/EOLTransition.java b/src/com/ibm/icu/dev/tool/localeconverter/EOLTransition.java
new file mode 100755
index 0000000..21bdff8
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/localeconverter/EOLTransition.java
@@ -0,0 +1,119 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2002-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+ 
+package com.ibm.icu.dev.tool.localeconverter;
+
+import java.io.*;
+
+
+/**
+ * This transition parses an end-of-line sequence.  The comment character
+ * can be set to an arbitrary character, but it is shared globally.
+ * A comment may only occur after an end-of-line.
+ * EOL := <EOF> | <EOL_CHARS> [ <EOL_SEGMENT> ]*
+ * EOL_SEGMENT := <EOL_CHARS> | <SPACE_CHARS> | <COMMENT>
+ * SPACE_CHARS := " \t";
+ * EOL_CHARS = "\r\n\u2028\u2029";
+ * COMMENT_STRING := <COMMENT_CHAR> <COMMENT_BODY>
+ * COMMENT_CHAR = "#";
+ * COMMENT_BODY = [ ~<EOF> & ~<EOL_CHARS> ]*
+ */
+public class EOLTransition extends ComplexTransition {
+    public static final String EOL_CHARS = "\f\r\n\u2028\u2029";
+    public static final char DEFAULT_COMMENT_CHAR = '#';
+    public static char COMMENT_CHAR = DEFAULT_COMMENT_CHAR;
+    public static final EOLTransition GLOBAL = new EOLTransition(SUCCESS);
+    
+        /** Restore the comment character to the default value */
+    public static synchronized char setDefaultCommentChar() {
+        return setCommentChar(DEFAULT_COMMENT_CHAR);
+    }
+    
+        /** Set a new comment character */
+    public static synchronized char setCommentChar(char c) {
+        char result = COMMENT_CHAR;
+        COMMENT_CHAR = c;
+        states = null;  //flush states
+        return result;
+    }
+    
+    public EOLTransition(int success) {
+        super(success);
+            //{{INIT_CONTROLS
+        //}}
+}
+    public boolean accepts(int c) {
+        return (EOL_CHARS.indexOf((char)c) >= 0 || COMMENT_CHAR==c);
+    }
+    protected Lex.Transition[][] getStates() {
+        synchronized (getClass()) {
+            if (states == null) {
+                //cache the states so they can be shared.  This states
+                //need to be flushed and rebuilt when the comment
+                //character changes.
+                states = new Lex.Transition[][] {
+                    { //state 0: 
+                        new Lex.StringTransition(EOL_CHARS, Lex.IGNORE_CONSUME, -1),
+                        new Lex.EOFTransition(SUCCESS),
+                    },
+                    { //state 1:
+                        new Lex.CharTransition(COMMENT_CHAR, Lex.IGNORE_CONSUME, -2),
+                        new Lex.StringTransition(EOL_CHARS, Lex.IGNORE_CONSUME, -1),
+                        new Lex.StringTransition(SpaceTransition.SPACE_CHARS, Lex.IGNORE_CONSUME, -1),
+                        new Lex.EOFTransition(SUCCESS),
+                        new Lex.DefaultTransition(Lex.IGNORE_PUTBACK, SUCCESS)
+                    },
+                    { //state 2:
+                        new Lex.StringTransition(EOL_CHARS, Lex.IGNORE_CONSUME, -1),
+                        new Lex.EOFTransition(SUCCESS),
+                        new Lex.DefaultTransition(Lex.IGNORE_CONSUME, -2)
+                    }
+                };
+            }
+        }
+        return states;
+    }
+    private static Lex.Transition[][] states;
+
+    public static void main(String args[]) {
+        try {
+            
+            final int TOKEN = 1;
+            final int EOF = 2;
+            final int EOL = 3;
+            final int RANGE = 4;
+            Lex.Transition[][] states = {{ 
+                    new Lex.EOFTransition(EOF),
+                    new EOLTransition(EOL),
+                    new SymbolTransition(TOKEN),
+                    new SpaceTransition(0),
+                    new RangeTransition(RANGE),
+                    new EOLTransition(EOL),
+                    new Lex.DefaultTransition(Lex.ACCUMULATE_CONSUME, 0)
+            }};
+            String text = "\n<NULL> 0x1243 #hello  kdsj\n";
+            StringReader sr = new StringReader(text);
+            PushbackReader pr = new PushbackReader(sr);
+            Lex parser = new Lex(states, pr);
+            parser.debug(true);
+            parser.debug(true);
+            int s = parser.nextToken();
+            while (s == EOL) {
+                System.out.println(parser.getData());
+                s = parser.nextToken();
+                while(s==TOKEN){
+                    System.out.println(parser.getData());
+                    s = parser.nextToken();   
+                }
+            }
+        } catch (Exception e) {
+            System.out.println(e);
+        }
+    }
+    //{{DECLARE_CONTROLS
+    //}}
+}
diff --git a/src/com/ibm/icu/dev/tool/localeconverter/EscapeTransition.java b/src/com/ibm/icu/dev/tool/localeconverter/EscapeTransition.java
new file mode 100755
index 0000000..02dbad3
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/localeconverter/EscapeTransition.java
@@ -0,0 +1,145 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2002-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.tool.localeconverter;
+import java.io.*;
+
+/**
+ * An escape transition parses a POSIX escape sequence.  An escape
+ * sequence can be a hex, octal, or decimal constant, or an escaped
+ * character.  The resultant value is ALWAYS on byte long.  Longer
+ * escaped values (ie.\xFF63) overflow and are truncated.  An escape
+ * character followed by an EOL sequence is silently eaten.
+ */
+public class EscapeTransition extends ComplexTransition {
+    public static final EscapeTransition GLOBAL = new EscapeTransition(SUCCESS);
+
+    public static final char DEFAULT_ESCAPE_CHAR = '\\';
+    public static char ESCAPE_CHAR = DEFAULT_ESCAPE_CHAR;
+    
+    private static final int DECIMAL = 1;   //decimal escape sequence was parsed
+    private static final int OCTAL = 2;     //octal escape sequence was parsed
+    private static final int HEX = 3;       //hex escape sequence was parsed
+    private static final int ESCAPE = 4;    //character escape sequence was parsed
+    private static final int EOL = 5;       //an escape character followed by EOF eaten
+    
+    private static final String OCTAL_CHARS = "01234567";
+    private static final String DECIMAL_CHARS = "0123456789";
+    private static final String HEX_CHARS = "0123456789abcdefABCDEF";
+    
+        /** Set the escape character to the default */
+    public static synchronized char setDefaultEscapeChar() {
+        return setEscapeChar(DEFAULT_ESCAPE_CHAR);
+    }
+    
+        /** Set the escape character */
+    public static synchronized char setEscapeChar(char c) {
+        char result = ESCAPE_CHAR;
+        ESCAPE_CHAR = c;
+        theStates = null;
+        return result;
+    }
+    
+    public EscapeTransition(int success) {
+        super(success);
+            //{{INIT_CONTROLS
+        //}}
+}
+    
+    public boolean accepts(int c) {
+        return ESCAPE_CHAR == (char)c;
+    }
+    
+        /** Convert the accepted text into the appropriate unicode character */
+    protected void handleSuccess(Lex parser, StringBuffer output) throws IOException {
+        switch (parser.getState()) {
+        case DECIMAL:
+            output.append((char)parser.dataAsNumber(10));
+            break;
+        case OCTAL:
+            output.append((char)parser.dataAsNumber(8));
+            break;
+        case HEX:
+            output.append((char)parser.dataAsNumber(16));
+            break;
+        case ESCAPE:
+            parser.appendDataTo(output);
+            break;
+        case EOL:
+            //silently eat the EOL characters
+            break;
+        default:
+            //should never get here
+            throw new Lex.ParseException("Internal error parsing escape sequence");
+//          parser.appendDataTo(output);
+        }
+    }
+        /** return the states for this transaction */
+    protected Lex.Transition[][] getStates() {
+        synchronized (getClass()) {
+            if (theStates == null) {
+                //cache the states so they can be shared.  They must
+                //be rebuilt when the escape character is changed.
+                theStates = new Lex.Transition[][] {
+                    { //state 0: 
+                        new Lex.CharTransition(ESCAPE_CHAR, Lex.IGNORE_CONSUME, -1),
+                        new Lex.ParseExceptionTransition("illegal escape character")
+                    },
+                    { //state 1:
+                        new Lex.EOFTransition(OCTAL),
+                        new Lex.CharTransition('d', Lex.IGNORE_CONSUME, -3),
+                        new Lex.CharTransition('x', Lex.IGNORE_CONSUME, -2),
+                        new Lex.StringTransition(OCTAL_CHARS, Lex.ACCUMULATE_CONSUME, -4),
+                        new Lex.CharTransition(ESCAPE_CHAR, Lex.ACCUMULATE_CONSUME, ESCAPE),
+                        new EOLTransition(EOL),
+                        new Lex.DefaultTransition(Lex.ACCUMULATE_CONSUME, ESCAPE)
+                    },
+                    { //state 2: hex
+                        new Lex.EOFTransition(HEX),
+                        new Lex.StringTransition(HEX_CHARS, Lex.ACCUMULATE_CONSUME, -2),
+                        new Lex.DefaultTransition(Lex.IGNORE_PUTBACK, HEX)
+                    },
+                    { //state 3: decimal
+                        new Lex.EOFTransition(DECIMAL),
+                        new Lex.StringTransition(DECIMAL_CHARS, Lex.ACCUMULATE_CONSUME, -3),
+                        new Lex.DefaultTransition(Lex.IGNORE_PUTBACK, DECIMAL)
+                    },
+                    { //state 4: octal
+                        new Lex.EOFTransition(OCTAL),
+                        new Lex.StringTransition(OCTAL_CHARS, Lex.ACCUMULATE_CONSUME, -4),
+                        new Lex.DefaultTransition(Lex.IGNORE_PUTBACK, OCTAL)
+                    },
+                };
+            }
+        }
+        return theStates;
+    }
+    private static Lex.Transition[][] theStates = null;
+
+    public static void main(String[] args) {
+        try {
+            Lex.Transition[][] states = {{ 
+                new EscapeTransition(SUCCESS),
+                new Lex.EOFTransition(),
+                new Lex.ParseExceptionTransition("bad test input")
+            }};
+            String text = "\\d100\\xAf\\\\\\777\\\n\\123\\x2028\\x2029";
+            StringReader sr = new StringReader(text);
+            PushbackReader pr = new PushbackReader(sr);
+            Lex parser = new Lex(states, pr);
+            //parser.debug(true);
+            int s = parser.nextToken();
+            while (s == SUCCESS) {
+                System.out.println(parser.getState());
+                s = parser.nextToken();
+            }
+        } catch (Exception e) {
+            System.out.println(e);
+        }
+    }
+    //{{DECLARE_CONTROLS
+    //}}
+}
diff --git a/src/com/ibm/icu/dev/tool/localeconverter/ICU2LocaleWriter.java b/src/com/ibm/icu/dev/tool/localeconverter/ICU2LocaleWriter.java
new file mode 100755
index 0000000..a26a439
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/localeconverter/ICU2LocaleWriter.java
@@ -0,0 +1,119 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2002-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+ 
+package com.ibm.icu.dev.tool.localeconverter;
+
+import java.io.*;
+import java.util.*;
+
+public class ICU2LocaleWriter extends LocaleWriter {
+    public ICU2LocaleWriter(PrintStream out) {
+        super(out);
+            //{{INIT_CONTROLS
+        //}}
+}
+    public ICU2LocaleWriter(PrintStream out, PrintStream err) {
+        super(out, err);
+    }
+    protected void open(Locale locale) {
+        print(locale.toString());
+        println(" {");
+        indent();
+    }
+    protected void write(String tag, String value) {
+        print(tag);
+        print(" { ");
+        printString(value);
+        println(" }");
+    }
+    protected void write(String tag, String[] value) {
+        if (tag != null) {
+            print(tag);
+            println(" { ");
+        } else {
+            println("{");
+        }
+        indent();
+            for (int i = 0; i < value.length; i++) {
+                printString(value[i]);
+                println(",");
+            }
+        outdent();
+        println("}");
+    }
+    protected void write(String tag, Object o) {
+        if ("collations".equals(tag)) {
+            writeTagged(tag,(Object[][])o);
+        } else if (!(o instanceof CollationItem[])) {
+            super.write(tag, o);
+        } else {
+            CollationItem[] items = (CollationItem[])o;
+            if(items[0]!=null){
+                print("Sequence");
+                println(" { ");
+                for (int i = 0; i < items.length; i++) {
+                    if(items[i]!=null){
+                        printRuleString(items[i].toString());
+                        if (items[i].comment != null) {
+                            tabTo(30);
+                            print("//");
+                            println(items[i].comment);
+                        }
+                    }
+                }
+                println("}");
+            }
+        }
+    }
+    protected void writeTagged(String tag, Object[][] value) {
+        print(tag);
+        println(" { ");
+        indent();
+            for (int i = 0; i < value.length; i++) {
+                write((String)value[i][0], value[i][1]);
+            }
+        outdent();
+        println("}");
+    }
+    protected void write2D(String tag, String[][] value) {
+        print(tag);
+        println(" { ");
+        indent();
+            for (int i = 0; i < value.length; i++) {
+                write(null, value[i]);
+            }
+        outdent();
+        println("}");
+    }
+    protected void writeTagged(String tag, String[][] value) {
+        print(tag);
+        println(" { ");
+        indent();
+            for (int i = 0; i < value.length; i++) {
+                write(value[i][0], value[i][1]);
+            }
+        outdent();
+        println("}");
+    }
+    protected void close() {
+        outdent();
+        println("}");
+    }
+
+    protected String getStringJoiningCharacter() {
+        return "";
+    }
+    
+    protected boolean isEscapeChar(final char c) {
+        return true;
+    }
+    protected String getEscapeChar() {
+        return "\\u";
+    }
+    //{{DECLARE_CONTROLS
+    //}}
+}
\ No newline at end of file
diff --git a/src/com/ibm/icu/dev/tool/localeconverter/ICU3LocaleWriter.java b/src/com/ibm/icu/dev/tool/localeconverter/ICU3LocaleWriter.java
new file mode 100644
index 0000000..1a2fc8b
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/localeconverter/ICU3LocaleWriter.java
@@ -0,0 +1,214 @@
+/**
+*******************************************************************************
+* Copyright (C) 2002-2004, International Business Machines Corporation and    *
+* others. All Rights Reserved.                                                *
+*******************************************************************************
+*/
+package com.ibm.icu.dev.tool.localeconverter;
+import java.io.*;
+import java.util.*;
+/**
+ * @author ram
+ *
+ * To change this generated comment edit the template variable "typecomment":
+ * Window>Preferences>Java>Templates.
+ * To enable and disable the creation of type comments go to
+ * Window>Preferences>Java>Code Generation.
+ */
+public class ICU3LocaleWriter extends LocaleWriter {
+    public ICU3LocaleWriter(PrintStream out) {
+        super(out);
+    }
+    private ListResourceBundle bundle = null;
+    protected void open(Locale locale) {
+        print(locale.toString());
+        println(" {");
+        indent();
+    }
+    public ICU3LocaleWriter(PrintStream out, PrintStream err) {
+        super(out, err);
+    }
+    public ICU3LocaleWriter(ListResourceBundle bundle,PrintStream out, PrintStream err) {
+        super(out, err);
+        this.bundle = bundle;
+    }
+    public void write(Locale locale){
+        open(locale);
+        Enumeration keys = bundle.getKeys();
+        while(keys.hasMoreElements()){
+            String key = (String) keys.nextElement();
+            Object o = bundle.getObject(key);
+            write(key, o);
+        }
+        close();
+    }
+    public void write(String key, Object o){
+        if(key!=null) print(key);
+        if(o instanceof String){
+            write((String) o);
+        }else if( o instanceof Integer[]){
+            write((Integer[]) o);
+        }else if(o instanceof byte[]){
+            write((byte[]) o);
+        }else if(o instanceof Integer){
+            write((Integer) o);
+        }else if(o instanceof Object[][]){
+            write((Object[][]) o);
+        }else if(o instanceof Object[]){
+            write((Object[]) o);
+        }
+    }
+    protected void write(String str){
+        print("{");
+        printString(str);
+        println("}");
+    }
+    protected void write(Integer[] o){
+        println(":intvector { ");
+        indent();
+        if(o!=null){
+            for(int i=0; i< o.length; i++){
+                print(o[i].toString());
+                println(",");
+            }
+        }
+        outdent();
+        println(" }");   
+    }
+    private String toHex(byte b){
+        int i =(int)((char) (b & 0xFF));
+        String temp = Integer.toHexString(i);    
+        if(temp.length()<2){
+            return "0"+temp;
+        }else{
+            return temp;
+        }
+    }
+        
+    protected void write(byte[] o){
+        print(":bin{ ");
+        indent();
+        if(o!=null){
+            for(int i=0; i< o.length; i++){
+                print(toHex(o[i]));
+            }
+        }
+        outdent();
+        println(" }"); 
+    }
+    protected void write(Integer o){
+        print(":int { ");
+        indent();
+        if(o!=null){
+            print(o.toString());
+        }
+        outdent();
+        println(" }");
+    }
+    protected void write(Object[] o){
+        String key = null;
+        println(":array { ");
+        indent();
+        for(int i=0; i<o.length;i++){
+            if(o[i] instanceof String){
+                printString((String)o[i]);
+            }else{
+                write(key,o[i]);   
+            }
+            println(",");
+        }
+        outdent();
+        println(" }");
+    }
+    protected void write(Object[][] o){
+        //String key = null;
+        println(":table {");
+        indent();
+        for(int i=0; i< o.length;i++){
+
+            if(o[i][1] instanceof String){
+                print((String) o[i][0]);
+                print("{");
+                printString((String) o[i][1]);
+                println("}");
+            }else{
+                write((String) o[i][0], o[i][1]);
+                println("");
+            }
+
+        }   
+        outdent();
+        println(" }");
+    }
+    ///////////////////////////////////////////////////
+    /// Only for compatibility with super class 
+    /// not required otherwise
+    //////////////////////////////////////////////////
+    
+    /////// BEGIN //////////////////
+    
+    protected void write(String tag, String value) {
+        print(tag);
+        print(" { ");
+        printString(value);
+        println(" }");
+    }
+    
+
+    protected void write(String tag, String[] value) {
+        if (tag != null) {
+            print(tag);
+            println(" { ");
+        } else {
+            println("{");
+        }
+        indent();
+            for (int i = 0; i < value.length; i++) {
+                printString(value[i]);
+                println(",");
+            }
+        outdent();
+        println("}");
+    }
+    protected void write2D(String tag, String[][] value) {
+        print(tag);
+        println(" { ");
+        indent();
+            for (int i = 0; i < value.length; i++) {
+                write(null, value[i]);
+            }
+        outdent();
+        println("}");
+    }
+    protected void writeTagged(String tag, Object[][] value) {
+        print(tag);
+        println(" { ");
+        indent();
+            for (int i = 0; i < value.length; i++) {
+                write((String)value[i][0], value[i][1]);
+            }
+        outdent();
+        println("}");
+    }
+    protected void writeTagged(String tag, String[][] value) {
+        print(tag);
+        println(" { ");
+        indent();
+            for (int i = 0; i < value.length; i++) {
+                write(value[i][0], value[i][1]);
+            }
+        outdent();
+        println("}");
+    }
+    //////////////////// END //////////////////////////////////
+    protected void close() {
+        outdent();
+        println("}");
+       // super.closeFileHandle();
+    }
+
+    protected String getStringJoiningCharacter() {
+        return "";
+    }
+    
+}
diff --git a/src/com/ibm/icu/dev/tool/localeconverter/ICULocaleWriter.java b/src/com/ibm/icu/dev/tool/localeconverter/ICULocaleWriter.java
new file mode 100755
index 0000000..545c00a
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/localeconverter/ICULocaleWriter.java
@@ -0,0 +1,131 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2002-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.tool.localeconverter;
+
+import java.io.*;
+import java.util.*;
+
+public class ICULocaleWriter extends LocaleWriter {
+    public ICULocaleWriter(PrintStream out) {
+        super(out);
+    }
+    public ICULocaleWriter(PrintStream out, PrintStream err) {
+        super(out, err);
+    }
+    protected void open(Locale locale) {
+        print(locale.toString());
+        println(" {");
+        indent();
+    }
+    protected void write(String tag, Object o) {
+        if ("collations".equals(tag)) {
+            if(o instanceof Object[][]){
+                writeTagged(tag,(Object[][])o);
+            }else{
+               write(tag,(String)o);
+            }
+        } else if (!(o instanceof CollationItem[])) {
+            super.write(tag, o);
+        } else {
+            CollationItem[] items = (CollationItem[])o;
+            if(items[0]!=null){
+            print("Sequence");
+            println(" { ");
+            for (int i = 0; i < items.length; i++) {
+                if(items[i]!=null){
+                    printString(items[i].toString());
+                    if (items[i].comment != null) {
+                        tabTo(30);
+                        print("//");
+                        println(items[i].comment);
+                    }
+                }
+            }
+            println("}");
+            }
+        }
+    }
+    protected void write(String tag, String value) {
+        print(tag);
+        print(" { ");
+        printString(value);
+        println(" }");
+    }
+    protected void writeIntVector(String tag, String[] value) {
+        if (tag != null) {
+            print(tag);
+            println(":intvector { ");
+        } else {
+            println(":intvector{");
+        }
+        indent();
+            for (int i = 0; i < value.length; i++) {
+                printUnquotedString(value[i]);
+                println(",");
+            }
+        outdent();
+        println("}");
+    }
+    protected void write(String tag, String[] value) {
+        if(tag !=null && tag.equals("DateTimeElements")){
+            writeIntVector(tag,value);
+            return;
+        }
+        if (tag != null) {
+            print(tag);
+            println(" { ");
+        } else {
+            println("{");
+        }
+        indent();
+            for (int i = 0; i < value.length; i++) {
+                printString(value[i]);
+                println(",");
+            }
+        outdent();
+        println("}");
+    }
+    protected void write2D(String tag, String[][] value) {
+        print(tag);
+        println(" { ");
+        indent();
+            for (int i = 0; i < value.length; i++) {
+                write(null, value[i]);
+            }
+        outdent();
+        println("}");
+    }
+    protected void writeTagged(String tag, Object[][] value) {
+        print(tag);
+        println(" { ");
+        indent();
+            for (int i = 0; i < value.length; i++) {
+                write((String)value[i][0], value[i][1]);
+            }
+        outdent();
+        println("}");
+    }
+    protected void writeTagged(String tag, String[][] value) {
+        print(tag);
+        println(" { ");
+        indent();
+            for (int i = 0; i < value.length; i++) {
+                write(value[i][0], value[i][1]);
+            }
+        outdent();
+        println("}");
+    }
+    protected void close() {
+        outdent();
+        println("}");
+       // super.closeFileHandle();
+    }
+
+    protected String getStringJoiningCharacter() {
+        return "";
+    }
+}
diff --git a/src/com/ibm/icu/dev/tool/localeconverter/Java1LocaleWriter.java b/src/com/ibm/icu/dev/tool/localeconverter/Java1LocaleWriter.java
new file mode 100755
index 0000000..7f72ec7
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/localeconverter/Java1LocaleWriter.java
@@ -0,0 +1,141 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2002-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.tool.localeconverter;
+
+import java.io.*;
+import java.util.*;
+
+public class Java1LocaleWriter extends LocaleWriter {
+    public Java1LocaleWriter(PrintStream out) {
+        super(out);
+            //{{INIT_CONTROLS
+        //}}
+    }
+    
+    public Java1LocaleWriter(PrintStream out, PrintStream err) {
+        super(out, err);
+    }
+    
+    public void write(Locale locale, Hashtable localeData) {
+        try {
+            Hashtable temp = new NeutralToJ1Converter(locale).convert(localeData);
+            super.write(locale, temp);
+        } catch (LocaleConverter.ConversionError e) {
+            err.println(e);
+        }
+    }
+
+    protected void open(Locale locale) {
+        print(HEADER1);
+        print(locale.toString());
+        print(HEADER2);
+        print(locale.toString());
+        println(HEADER3);
+        indent(3);
+    }
+    protected void write(String tag, String value) {
+        print("{ ");
+        printString(tag);
+        print(", ");
+        printString(value);
+        println(" },");
+    }
+    protected void write(String tag, String[] value) {
+        print("{ ");
+        if (tag != null) {
+            printString(tag);
+            println(",");
+        } else {
+            println("");
+        }
+        indent();
+            println("new String[] {");
+            indent();
+                for (int i = 0; i < value.length; i++) {
+                    printString(value[i]);
+                    println(",");
+                }
+            outdent();
+            println("}");
+        outdent();
+        println("},");
+    }
+    protected void write2D(String tag, String[][] value) {
+        print("{ ");
+        printString(tag);
+        println(",");
+        indent();
+            println("new String[][] {");
+            indent();
+                for (int i = 0; i < value.length; i++) {
+                    println("{");
+                    indent();
+                    for (int j = 0; j < value[i].length; j++) {
+                        printString(value[i][j]);
+                        println(",");
+                    }
+                    outdent();
+                    println("},");
+                }
+            outdent();
+            println("}");
+        outdent();
+        println("},");
+    }
+    protected void writeTagged(String tag, String[][] value) {
+        print("{ ");
+        printString(tag);
+        println(",");
+        indent();
+            println("new String[][] {");
+            indent();
+                for (int i = 0; i < value.length; i++) {
+                    write(value[i][0], value[i][1]);
+                }
+            outdent();
+            println("}");
+        outdent();
+        println("},");
+    }
+    protected void close() {
+        outdent(3);
+        print(FOOTER);
+    }
+
+    protected void appendEscapedChar(char c, StringBuffer buffer) {
+        if (c < '\u0020' || c == '"' || c == '\\') {
+            buffer.append('\\');
+            buffer.append(HEX_DIGIT[(c & 0700) >> 6]); // HEX_DIGIT works for octal
+            buffer.append(HEX_DIGIT[(c & 0070) >> 3]);
+            buffer.append(HEX_DIGIT[(c & 0007)]);
+        } else {
+            super.appendEscapedChar(c, buffer);
+        }
+    }
+
+    protected String getStringJoiningCharacter() {
+        return "+";
+    }
+    
+    private static final String HEADER1 = 
+            "package java.text.resources;\n"+
+            "public class LocaleElements_";
+    private static final String HEADER2 = 
+            " extends LocaleData {\n"+
+            "    public LocaleElements_";
+    private static final String HEADER3 = 
+        "() {\n"+
+        "        super.init(table);\n"+
+        "    }\n"+
+        "    static String table []=";
+        
+    private static final String FOOTER = 
+        "    }\n"+
+        "}";
+    //{{DECLARE_CONTROLS
+    //}}
+}
diff --git a/src/com/ibm/icu/dev/tool/localeconverter/JavaLocaleWriter.java b/src/com/ibm/icu/dev/tool/localeconverter/JavaLocaleWriter.java
new file mode 100755
index 0000000..e02c813
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/localeconverter/JavaLocaleWriter.java
@@ -0,0 +1,164 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2002-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.tool.localeconverter;
+
+import java.io.*;
+import java.util.*;
+
+public class JavaLocaleWriter extends LocaleWriter {
+    public JavaLocaleWriter(PrintStream out) {
+        super(out);
+    }
+    public JavaLocaleWriter(PrintStream out, PrintStream err) {
+        super(out, err);
+    }
+    public void open(Locale locale) {
+        println(HEADER);
+        indent(3);
+    }
+    protected void write(String tag, Object o) {
+        if ("collations".equals(tag)) {
+             writeTagged(tag,(Object[][])o);
+        } else if (!(o instanceof CollationItem[])) {
+            super.write(tag, o);
+        } else {
+            CollationItem[] items = (CollationItem[])o;
+            print("{ ");
+            printString("collations");
+            println(", ");
+            for (int i = 0; i < items.length; i++) {
+                if(items[i]!=null){
+                    printString(items[i].toString());
+                    if (items[i].comment != null) {
+                        print("+");
+                        tabTo(30);
+                        print("//");
+                        println(items[i].comment);
+                    } else {
+                        println("+");
+                    }
+                }
+            }
+            println("\"\"");
+            println(" },");
+        }
+    }
+
+    public void write(String tag, String value) {
+        print("{ ");
+        printString(tag);
+        print(", ");
+        printString(value);
+        println(" },");
+    }
+    public void write(String tag, String[] value) {
+        print("{ ");
+        if (tag != null) {
+            printString(tag);
+            println(",");
+        } else {
+            println("");
+        }
+        indent();
+            println("new String[] {");
+            indent();
+                for (int i = 0; i < value.length; i++) {
+                    printString(value[i]);
+                    println(",");
+                }
+            outdent();
+            println("}");
+        outdent();
+        println("},");
+    }
+    public void write2D(String tag, String[][] value) {
+        print("{ ");
+        printString(tag);
+        println(",");
+        indent();
+            println("new String[][] {");
+            indent();
+                for (int i = 0; i < value.length; i++) {
+                    println("{");
+                    indent();
+                    for (int j = 0; j < value[i].length; j++) {
+                        printString(value[i][j]);
+                        println(",");
+                    }
+                    outdent();
+                    println("},");
+                }
+            outdent();
+            println("}");
+        outdent();
+        println("},");
+    }
+    public void writeTagged(String tag, String[][] value) {
+        print("{ ");
+        printString(tag);
+        println(",");
+        indent();
+            println("new String[][] {");
+            indent();
+                for (int i = 0; i < value.length; i++) {
+                    write(value[i][0], value[i][1]);
+                }
+            outdent();
+            println("}");
+        outdent();
+        println("},");
+    }
+    public void writeTagged(String tag, Object[][] value) {
+        print("{ ");
+        printString(tag);
+        println(",");
+        indent();
+            println("new String[][] {");
+            indent();
+                for (int i = 0; i < value.length; i++) {
+                    write((String)value[i][0], value[i][1]);
+                }
+            outdent();
+            println("}");
+        outdent();
+        println("},");
+    }
+    public void close() {
+        outdent(3);
+        print(FOOTER);
+        println("");
+    }
+
+    protected void appendEscapedChar(char c, StringBuffer buffer) {
+        if (c < '\u0020' || c == '"' || c == '\\') {
+            buffer.append('\\');
+            buffer.append(HEX_DIGIT[(c & 0700) >> 6]); // HEX_DIGIT works for octal
+            buffer.append(HEX_DIGIT[(c & 0070) >> 3]);
+            buffer.append(HEX_DIGIT[(c & 0007)]);
+        } else {
+            super.appendEscapedChar(c, buffer);
+        }
+    }
+
+    protected String getStringJoiningCharacter() {
+        return "+";
+    }
+    
+    private static final String HEADER = 
+        "package java.text.resources;\n"+
+        "import java.util.ListResourceBundle;\n"+
+        "public class TestLocaleElements extends ListResourceBundle {\n"+
+        "    public Object[][] getContents() {\n"+
+        "        return new Object[][] {";
+        
+    private static final String FOOTER = 
+        "        };\n"+
+        "    }\n"+
+        "}";
+    //{{DECLARE_CONTROLS
+    //}}
+}
diff --git a/src/com/ibm/icu/dev/tool/localeconverter/Lex.java b/src/com/ibm/icu/dev/tool/localeconverter/Lex.java
new file mode 100755
index 0000000..bf7ec5e
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/localeconverter/Lex.java
@@ -0,0 +1,413 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2002-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.tool.localeconverter;
+
+import java.io.*;
+
+/**
+ * A Lex is a state machine.  Transitions can be activated
+ * arbitrarily and can consume arbitrary amounts of text.
+ * A transition simply says it can consume the next character
+ * and returns the state that the machine should transition into.
+ * States that are > 0 are final states and cause the nextToken
+ * routine to return a value.
+ */
+public final class Lex {
+    private Transition[][] states;  //final
+    private PushbackReader input;   //final
+    private int state;
+    private String data;
+    private final StringBuffer dataBuffer = new StringBuffer();
+    private boolean debugMessagesOn;
+    private String debugTag;
+    
+    public static final int END_OF_FILE = Integer.MAX_VALUE;
+
+        /** Construct a new machine.  NOTE: setInput must be
+         * called before nextToken is called */
+    public Lex(final Transition[][] states) {
+        this.states = states;
+            //{{INIT_CONTROLS
+//}}
+}
+
+        /** Construct a new machine. */
+    public Lex(final Transition[][] statesIn, final PushbackReader inputIn) {
+        states = statesIn;
+        input = inputIn;
+    }
+
+        /** Return the current state */
+    public int getState() {
+        return state;
+    }
+
+        /** Return the data resulting from the last call to nextToken */
+    public String getData() {
+        if (data == null) {
+            data = dataBuffer.toString();
+        }
+        return data;
+    }
+    
+        /** Return the input reader used by this machine */
+    public PushbackReader getInput() {
+        return input;
+    }
+
+        /** set the input reader used by this machine */
+    public void setInput(PushbackReader input) {
+        this.input = input;
+    }
+
+        /** Return the states used by this machine */
+    public Transition[][] getStates() {
+        return states;
+    }
+
+    public void setStates(Transition[][] states) {
+        this.states = states;
+    }
+
+        /** Return true if the specified string equals the
+         * string returned by getData().  This routine
+         * may be faster than calling getData because
+         * it does not create a string on the heap.
+         */
+    public boolean dataEquals(final String other) {
+        if (data != null) {
+            //if dataBuffer has already been converted to
+            //a string, just compare the strings.
+            return data.equals(other);
+        } else {
+            if (other.length() != dataBuffer.length()) return false;
+            final int len = dataBuffer.length();
+            for (int i = 0; i < len; i++) {
+                if (other.charAt(i) != dataBuffer.charAt(i)) {
+                    return false;
+                }
+            }
+            return true;
+        }
+    }
+    
+        /**
+         * Append the data returned from getData() to the
+         * specified StringBuffer.  This routine avoids
+         * the creation of a String on the heap.
+         */
+    public void appendDataTo(StringBuffer buffer) {
+        buffer.append(dataBuffer.toString());
+    }
+    
+        /**
+         * Return true if the data returned by getData()
+         * starts with the specified string.  This routine avoids
+         * the creation of a String on the heap.
+         */
+    public boolean dataStartsWith(String s) {
+        if (dataBuffer.length() < s.length()) {
+            return false;
+        } else {
+            final int sLength = s.length();
+            for (int i = 0; i < sLength; i++) {
+                if (dataBuffer.charAt(i) != s.charAt(i)) {
+                    return false;
+                }
+            }
+            return true;
+        }
+    }
+        
+        /** 
+         * Convert the contents of the data buffer to an integer
+         * of the specified radix
+         */
+    public int dataAsNumber(int radix) {
+        int value = 0;
+        final int len = dataBuffer.length();
+        for (int i = 0; i < len; i++) {
+            value = value*radix + Character.digit(dataBuffer.charAt(i), radix);
+        }
+        return value;
+    }
+    
+        /**
+         * Get the next token from the input stream.  The
+         * dataBuffer is cleared and the state is set to zero before
+         * parsing begins.  Parsing continues until a state
+         * greater of equal to 0 s reached or an exception is thrown.
+         * After each non-terminal transition, the state machine 
+         * walks through all the transitions, in order, for the current
+         * state until it finds one that will accept the current
+         * input character and then calls doAction on that transition.
+         */
+    public int nextToken() throws IOException {
+        state = 0;
+        dataBuffer.setLength(0);
+
+        do {
+            int c = input.read();
+            final Transition[] transition = states[-state];
+            for (int i = 0; i < transition.length; i++) {
+                if (transition[i].accepts(c)) {
+                    //System.out.println("state["+ -state+"].transition["+i+"] on "+c+"  '"+(char)c+"' to state[");
+                    state = transition[i].doAction(c, input, dataBuffer);
+                    //println("" + -state + "]");
+                    break;
+                }
+            }
+        } while (state <= 0);
+        data = null;    //dump the cached data string
+        return state;
+    }
+
+        /** 
+         * Get the next token and throw an acception if
+         * the state machine is not in the specified state.
+         */
+    public void accept(final int neededState) throws IOException {
+        if (neededState != nextToken()) {
+            Exception e = new Exception();
+            e.printStackTrace();
+            throw new ParseException("Unexpected token - "+getData());
+        }
+    }
+    
+        /**
+         * Get the next token and throw an exception if the
+         * state machine is not in the specified state and the
+         * value returned by getData() does not match the 
+         * specified value.
+         */
+    public void accept(final int neededState, final String neededValue) throws IOException {
+        accept(neededState);
+        if (!dataEquals(neededValue)) {
+            Exception e = new Exception();
+            e.printStackTrace();
+            throw new ParseException("Unexpected token - "+getData());
+        }
+    }
+
+    public void debug(boolean debugMessagesOn) {
+        this.debugMessagesOn = debugMessagesOn;
+        debugTag = null;
+    }
+    
+    public void debug(boolean debugMessagesOn, String tag) {
+        this.debugMessagesOn = debugMessagesOn;
+        this.debugTag = tag;
+    }
+    
+/*  private void print(String s) {
+        if (debugMessagesOn) {
+            System.out.print(s);
+        }
+    }
+
+    private void println(String s) {
+        if (debugMessagesOn) {
+            System.out.println(s+"  <"+debugTag);
+        }
+    }
+
+    /**
+     * The interface for state machine transitions. 
+     */
+    public interface Transition {
+        /** 
+         * Return true if the transition can accept the current input
+         * character.
+         */
+        public boolean accepts(int c);
+        /**
+         * Perform the transition.
+         * @param c the current input character
+         * @param input the current input stream, minus the current input character
+         * @param buffer the current output buffer
+         * @return the state the machine should be in next
+         */
+        public int doAction(int c, PushbackReader input, StringBuffer buffer) throws IOException;
+    }
+
+        /* constants for BaseTransitions */
+        /** Don't copy the current character to the output */
+    public static final byte IGNORE = 0x01;
+        /** Append the current character to the output */
+    public static final byte ACCUMULATE = 0x00;
+    private static final byte BUFFER_MASK = 0x01;
+
+        /** Remove the current character from the input stream */
+    public static final byte CONSUME = 0x00;
+        /** Return the current character to the input stream */
+    public static final byte PUTBACK = 0x10;
+    private static final byte INPUT_MASK = 0x10;
+
+    public static final byte 
+            ACCUMULATE_CONSUME = (byte)(ACCUMULATE | CONSUME),
+            IGNORE_CONSUME = (byte)(IGNORE | CONSUME),
+            ACCUMULATE_PUTBACK = (byte)(ACCUMULATE | PUTBACK),
+            IGNORE_PUTBACK = (byte)(IGNORE | PUTBACK);
+
+    /**
+     * Base class for simple transition classes
+     */
+    public static abstract class BaseTransition implements Transition {
+        private final boolean addToBuffer;
+        private final boolean unreadInput;
+        private final int next;
+        /**
+         * Construct a new transition.  On execution, the 
+         * specified action is performed and the
+         * specified state is returned.
+         * @param action the actions to perform to the 
+         * input and output buffers.
+         * @param next the next state the machine should
+         * move into
+         */
+        public BaseTransition(byte action, int next) {
+            this.addToBuffer = (action & BUFFER_MASK) == ACCUMULATE;
+            this.unreadInput = (action & INPUT_MASK) == PUTBACK;
+            this.next = next;
+        }
+        public abstract boolean accepts(int c);
+        public int doAction(final int c, 
+                final PushbackReader input, 
+                final StringBuffer buffer) throws IOException {
+                
+            if (addToBuffer) {
+                buffer.append((char)c);
+            }
+            if (unreadInput) {
+                input.unread(c);
+            }
+            return next;
+        }
+    }
+
+    /**
+     * Accept end-of-file.
+     */
+    public static final class EOFTransition extends BaseTransition {
+        public EOFTransition() {
+            this(IGNORE_CONSUME, END_OF_FILE);
+        }
+        public EOFTransition(int next) {
+            this(IGNORE_CONSUME, next);
+        }
+        public EOFTransition(byte action, int next) {
+            super(action, next);
+        }
+        public boolean accepts(int c) {
+            return c == -1;
+        }
+    }
+
+    /**
+     * Accept anything.
+     */
+    public static final class DefaultTransition extends BaseTransition {
+        public DefaultTransition(byte action, int nextState) {
+            super(action, nextState);
+        }
+        public boolean accepts(int c) {
+            return true;
+        }
+    }
+
+    /**
+     * Accept any characters in the specified string.
+     */
+    public static final class StringTransition extends BaseTransition {
+        private String chars;
+        public StringTransition(String chars, byte action, int nextState) {
+            super(action, nextState);
+            this.chars = chars;
+        }
+        public boolean accepts(int c) {
+            return chars.indexOf((char)c) != -1;
+        }
+    }
+
+    /**
+     * Accept only the specified character.
+     */
+    public static final class CharTransition extends BaseTransition {
+        private char c;
+        public CharTransition(char c, byte action, int nextState) {
+            super(action, nextState);
+            this.c = c;
+        }
+        public boolean accepts(int c) {
+            return this.c == (char)c;
+        }
+    }
+
+    /**
+     * Accept anything, but throw the specified exception after
+     * performing the specified action
+     */
+    public static final class ExceptionTransition extends BaseTransition {
+        private IOException e;
+        public ExceptionTransition(IOException e) {
+            super(IGNORE_PUTBACK, END_OF_FILE); //state is ignored
+        }
+        public ExceptionTransition(byte action, IOException e) {
+            super(action, END_OF_FILE); //state is ignored
+        }
+        public boolean accepts(int c) {
+            return true;
+        }
+        public final int doAction(final int c, 
+                final PushbackReader input, 
+                final StringBuffer buffer) throws IOException {
+            super.doAction(c, input, buffer);
+            throw e;
+        }
+    }
+
+        /**
+         * The base class for parse exceptions.  Exceptions
+         * resulting from parsing errors should be subclasses of this
+         * class.
+         */
+    public static final class ParseException extends IOException {
+        public final String reason;
+        public ParseException() {
+            this.reason = "unkown";
+        }
+        public ParseException(String reason) {
+            this.reason = reason;
+        }
+        public String toString() {
+            return reason;
+        }
+    }
+
+    /**
+     * Accept anything, execute as IGNORE_PUTBACK, and throw
+     * a ParseException with the specified message
+     */
+    public static final class ParseExceptionTransition implements Transition {
+        private String reason;
+        public ParseExceptionTransition(String reason) {
+            this.reason = reason;
+        }
+        public boolean accepts(int c) {
+            return true;
+        }
+        public final int doAction(final int c, 
+                final PushbackReader input, 
+                final StringBuffer buffer) throws IOException {
+            input.unread((char)c);
+            throw new ParseException(reason);
+        }
+    }
+
+    //{{DECLARE_CONTROLS
+//}}
+}
diff --git a/src/com/ibm/icu/dev/tool/localeconverter/LineCharNumberReader.java b/src/com/ibm/icu/dev/tool/localeconverter/LineCharNumberReader.java
new file mode 100755
index 0000000..7145cad
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/localeconverter/LineCharNumberReader.java
@@ -0,0 +1,140 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2002-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.tool.localeconverter;
+
+import java.io.*;
+
+/**
+ * A LineCharNumberReader is a BufferedReader that
+ * keeps track of the line number and character offset
+ * on that line of the current input stream.
+ */
+public class LineCharNumberReader extends BufferedReader {
+    private int lineNumber = 0;
+    private int charNumber = 0;
+    private int markedLineNumber;
+    private int markedCharNumber;
+    private boolean skipLF;
+
+    public LineCharNumberReader(Reader in) {
+        super(in);
+            //{{INIT_CONTROLS
+        //}}
+}
+
+    public LineCharNumberReader(Reader in, int sz) {
+        super(in, sz);
+    }
+
+    public int getLineNumber() {
+        return lineNumber;
+    }
+
+    public int getCharNumber() {
+        return charNumber;
+    }
+
+    public int read() throws IOException {
+        synchronized (lock) {
+            int c = super.read();
+            charNumber++;
+            if (skipLF) {
+                if (c == '\n') c = super.read();
+                skipLF = false;
+            }
+            switch (c) {
+            case '\r':
+                skipLF = true;
+            case '\n':      /* Fall through */
+            case '\u2028':      /* Fall through */
+            case '\u2029':      /* Fall through */
+                lineNumber++;
+                charNumber = 0;
+                return '\n';
+            }
+            return c;
+        }
+    }
+
+    public int read(char cbuf[], int off, int len) throws IOException {
+        synchronized (lock) {
+            int n = super.read(cbuf, off, len);
+
+            for (int i = off; i < off + len; i++) {
+                int c = cbuf[i];
+                charNumber++;
+                if (skipLF) {
+                    skipLF = false;
+                    if (c == '\n')
+                    continue;
+                }
+                switch (c) {
+                case '\r':
+                    skipLF = true;
+                case '\n':  /* Fall through */
+                case '\u2028':  /* Fall through */
+                case '\u2029':  /* Fall through */
+                    lineNumber++;
+                    charNumber = 0;
+                    break;
+                }
+            }
+
+            return n;
+        }
+    }
+
+    public String readLine() throws IOException {
+        synchronized (lock) {
+            String l = super.readLine();
+            if (l != null)
+            lineNumber++;
+            charNumber = 0;
+            skipLF = false;
+            return l;
+        }
+    }
+
+    private static final int maxSkipBufferSize = 8192;
+
+    private char skipBuffer[] = null;
+
+    public long skip(long n) throws IOException {
+        int nn = (int) Math.min(n, maxSkipBufferSize);
+        synchronized (lock) {
+            if ((skipBuffer == null) || (skipBuffer.length < nn))
+            skipBuffer = new char[nn];
+            long r = n;
+            while (r > 0) {
+            int nc = read(skipBuffer, 0, nn);
+            if (nc == -1)
+                break;
+            r -= nc;
+            }
+            return n - r;
+        }
+    }
+
+    public void mark(int readAheadLimit) throws IOException {
+        synchronized (lock) {
+            super.mark(readAheadLimit);
+            markedLineNumber = lineNumber;
+            markedCharNumber = charNumber;
+        }
+    }
+
+    public void reset() throws IOException {
+        synchronized (lock) {
+            super.reset();
+            lineNumber = markedLineNumber;
+            charNumber = markedCharNumber;
+        }
+    }
+
+    //{{DECLARE_CONTROLS
+    //}}
+}
diff --git a/src/com/ibm/icu/dev/tool/localeconverter/LocaleConverter.java b/src/com/ibm/icu/dev/tool/localeconverter/LocaleConverter.java
new file mode 100755
index 0000000..6629785
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/localeconverter/LocaleConverter.java
@@ -0,0 +1,35 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2002-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.tool.localeconverter;
+
+import java.util.*;
+
+public class LocaleConverter {
+    public Hashtable convert(Hashtable table) throws ConversionError {
+        Hashtable result = new Hashtable();
+        convert(result, table);
+        return result;
+    }
+    
+    protected void convert(Hashtable result, Hashtable source) throws ConversionError {
+        Enumeration enum = source.keys();
+        while (enum.hasMoreElements()) {
+            String key = (String)enum.nextElement();
+            Object data = source.get(key);
+            result.put(key, data);
+        }
+    }
+    
+    public static class ConversionError extends Exception {
+        public ConversionError() {
+        }
+        
+        public ConversionError(String reason) {
+            super(reason);
+        }
+    }
+}
diff --git a/src/com/ibm/icu/dev/tool/localeconverter/LocaleWriter.java b/src/com/ibm/icu/dev/tool/localeconverter/LocaleWriter.java
new file mode 100755
index 0000000..469e65a
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/localeconverter/LocaleWriter.java
@@ -0,0 +1,499 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2002-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.tool.localeconverter;
+
+import java.io.*;
+import java.util.*;
+
+import com.ibm.icu.impl.UCharacterProperty;
+
+/**
+ * A LocaleWriter takes locale data in standard form and
+ * writes it to standard output in a form suitable for
+ * loading programatically.
+ */
+public abstract class LocaleWriter {
+    private static final String INDENT_CHARS = 
+        "                                        "+
+        "                                        "+
+        "                                        ";
+    private static final char EOL_CHARS[] = {'\r', '\n', '\u2028', '\u2029'};
+        
+    private static final int INDENT_SIZE = 4;
+    private static final int MAX_LINE_LENGTH = 80;
+    private int indentLevel;
+    private String indentString;
+    private boolean needsIndent;
+    protected StringBuffer lineBuffer = new StringBuffer();
+    private int lineLength;
+    protected PrintStream out;
+    protected PrintStream err;
+    //final File outFile = new File(  "cnvLoc.txt");
+    //FileOutputStream outFileStream;
+    //BufferedWriter outBufWrite;
+    //PrintWriter myOut;
+    
+    public LocaleWriter(PrintStream out) {
+        this.out = out;
+        this.err = out;
+    /*    try{
+            outFile.canWrite();
+            outFileStream = new FileOutputStream(outFile);
+            outBufWrite = new BufferedWriter(new OutputStreamWriter(outFileStream,"UTF8"));                    
+        }
+        catch(java.io.IOException e){
+            System.out.println("Encoding unsupported");
+            return;
+        }
+    */  
+    }
+    public LocaleWriter(PrintStream out, PrintStream err) {
+        this.out = out;
+        this.err = err;
+        /*
+        try{
+            outFile.canWrite();
+            outFileStream = new FileOutputStream(outFile);
+            outBufWrite = new BufferedWriter(new OutputStreamWriter(outFileStream,"UTF8"));                    
+        }
+        catch(java.io.IOException e){
+            System.out.println("Encoding unsupported");
+            return;
+        }
+        */  
+    }
+
+    public void write(Locale locale, Hashtable localeData) {
+        open(locale);
+            //sort the key so the tags are in order in the resource file
+        SortedVector order = new SortedVector(localeData.keys(), new SortedVector.StringComparator());
+        Enumeration e = order.elements();
+        while (e.hasMoreElements()) {
+            final String key = (String)e.nextElement();
+            final Object data = localeData.get(key);
+            if (isDuplicateOfInheritedValue(locale, key, data)) {
+               println("///* Discarding duplicate data for tag: "+key+" */");
+            } else {
+                write(key, data);
+            }
+        }
+       
+        close();
+    }
+    /*
+    public void closeFileHandle(){
+         try{
+            outBufWrite.close();
+        }
+        catch(java.io.IOException excp){
+            out.println("could not close the output file");
+        }
+    }
+    */    
+    protected void write(String tag, Object o) {
+        if (o instanceof String) {
+            write(tag, (String)o);
+        } else if (o instanceof String[]) {
+            write(tag, (String[]) o);
+        } else if (o instanceof String[][]) {
+            write(tag, (String[][])o);
+        } else if (o instanceof Object[]) {
+            Object[] data = (Object[])o;
+            String[] temp = new String[data.length];
+            for (int i = 0; i < data.length; i++) {
+                temp[i] = data[i].toString();
+            }
+            write(tag, temp);
+        } else if (o instanceof Object[][]) {
+            Object[][] data = (Object[][])o;
+            String[][] temp = new String[data.length][];
+            for (int i = 0; i < data.length; i++) {
+                temp[i] = new String[data[i].length];
+                for (int j = 0; j < temp[i].length; j++) {
+                    temp[i][j] = data[i][j].toString();
+                }
+            }
+            write(tag, temp);
+        } else {
+            write(tag, o.toString());
+        }
+    }
+    protected final void write(String tag, String[][] value) {
+        if (value.length > 0) {
+            if (value[0].length > 2) {
+                write2D(tag, value);
+            } else {
+                writeTagged(tag, value);
+            }
+        } else {
+            writeTagged(tag, value);
+        }
+    }
+
+    protected abstract void open(Locale locale);
+    protected abstract void write(String tag, String value);
+    protected abstract void write(String tag, String[] value);
+    protected abstract void write2D(String tag, String[][] value);
+    protected abstract void writeTagged(String tag, String[][] value);
+    protected abstract void close();
+    protected abstract String getStringJoiningCharacter();
+
+    protected void tabTo(int pos) {
+        if (pos > lineLength) {
+            for (int i = lineLength; i < pos; i++) {
+                print(" ");
+            }
+        }
+    }
+    /*
+    protected void writeToFile(String str){
+                
+        try{
+               outBufWrite.write(prependEsc(str));
+        }
+        catch(java.io.IOException e){
+               out.println("Could not write to file");
+        }
+    }
+    */
+    protected void print(String val) {
+        if (needsIndent) {
+            out.print(indentString);
+            //writeToFile(indentString);
+            lineLength += indentString.length();
+            needsIndent = false;
+        }
+        String tval = PosixCollationBuilder.unescape(val);
+        if(tval.length() < val.length()){
+            tval=prependEsc(tval);
+        }
+        if (tval != null) {
+            out.print(prependEsc(tval));
+            //writeToFile(tval);
+            int len = 0;
+            for (int i = 0; i < EOL_CHARS.length; i++) {
+                len = Math.max(len, tval.lastIndexOf(EOL_CHARS[i]));
+            }
+            if (len == 0) {
+                lineLength += tval.length();
+            } else {
+                lineLength = tval.length() - len;
+            }
+        }
+    }
+    protected String prependEsc(String str){
+        StringBuffer myStr =  new StringBuffer();
+        for(int i=0;i<str.length();i++){
+            char ch = str.charAt(i);
+            if(ch > 0x007f || ch < 0x0020){
+                if(ch!=0x0009){
+                    myStr.append("\\u");
+                    myStr.append(toHexString(ch,16,4));
+                }else{
+                    myStr.append(ch);
+                }
+            }
+            else{
+                myStr.append(ch);
+            }
+        }
+        return myStr.toString();
+    }
+    protected String toHexString(char ch, int radix, int pad){
+        final int MAX_DIGITS = 10;
+        int length = 0;
+        char buffer[] = new char[10];
+        int num = 0;
+        int digit;
+        int j;
+        char temp;
+        int i = (int)ch;
+        do{
+            digit = (int)(i % radix);
+            buffer[length++]=(char)(digit<=9?(0x0030+digit):(0x0030+digit+7));
+            i=(i/radix);
+        }while(i>0);
+
+        while (length < pad){   
+            buffer[length++] =  0x0030;/*zero padding */
+        }
+        /* null terminate the buffer */
+        if(length<MAX_DIGITS){
+            buffer[length] =  0x0000;
+        }
+        num= (pad>=length) ? pad :length;
+              
+        /* Reverses the string */
+        for (j = 0; j < (num / 2); j++){
+            temp = buffer[(length-1) - j];
+            buffer[(length-1) - j] = buffer[j];
+            buffer[j] = temp;
+            }
+        return new String(buffer,0,length);
+    }
+        
+    protected void println(String val) {
+        print(val);
+        out.println();
+        //writeToFile("\n");
+        lineLength = 0;
+        needsIndent = true;
+    }
+
+    protected void printString(String val) {
+        if (val != null) {
+            indent();
+            lineBuffer.setLength(0);
+            lineBuffer.append("\"");
+            final int size = val.length();
+            for (int i = 0; i < size; i++) {
+                append(val.charAt(i));
+                /*if (!append(val.charAt(i))) {
+                        lineBuffer.append("\"");
+                        lineBuffer.append(getStringJoiningCharacter());
+                        println(lineBuffer.toString());
+                        lineBuffer.setLength(0);
+                        lineBuffer.append("\"");
+                }*/
+            }
+            
+            lineBuffer.append("\"");
+            print(lineBuffer.toString());
+            outdent();
+        } else {
+            print("\"\"");
+        }
+    }
+    private boolean isSpecialChar(char ch){
+                 
+        if(((((ch) <= 0x002F) && ((ch) >= 0x0020)) || 
+          (((ch) <= 0x003F) && ((ch) >= 0x003A)) || 
+          (((ch) <= 0x0060) && ((ch) >= 0x005B)) || 
+          (((ch) <= 0x007E) && ((ch) >= 0x007D)) || 
+          (ch) == 0x007B)){
+            return true;
+          }
+          return false;
+    }
+    protected void printRuleString(String src){
+     String val = PosixCollationBuilder.unescape(src);
+     if (val != null) {
+            indent();
+            lineBuffer.setLength(0);
+            lineBuffer.append("\"");
+            final int size = val.length();
+            for (int i = 0; i < size; i++) {
+                char ch = val.charAt(i);
+                if(ch=='\\'){ //escape char
+                    if(((i+1) < val.length())){
+                        char c2 = val.charAt(i+1);
+                        if(isSpecialChar(c2)){
+                            // escape the escape and escape the 
+                            // special char
+                            append('\\');
+                            append('\\');
+                            append('\\');
+                            append(c2);
+                        }else{
+                            // write the sequence
+                            append('\\');
+                            append(c2);
+                        }
+                    }else{
+                       // double escape the escape sequence
+                       append('\\');
+                       append('\\');
+                    }
+                    i++;
+                }else{
+                    if(UCharacterProperty.isRuleWhiteSpace(ch)){
+                        append('\\');
+                    }
+                    
+                    append(ch);
+                }
+ 
+            }
+            
+            lineBuffer.append("\"");
+            print(lineBuffer.toString());
+            outdent();
+        } else {
+            print("\"\"");
+        }
+    }
+    protected void printUnquotedString(String val) {
+         if (val != null) {
+             indent();
+             lineBuffer.setLength(0);
+             //lineBuffer.append("\"");
+             final int size = val.length();
+             for (int i = 0; i < size; i++) {
+                 append(val.charAt(i));
+                 /*if (!append(val.charAt(i))) {
+                         lineBuffer.append("\"");
+                         lineBuffer.append(getStringJoiningCharacter());
+                         println(lineBuffer.toString());
+                         lineBuffer.setLength(0);
+                         lineBuffer.append("\"");
+                 }*/
+             }
+            
+             //lineBuffer.append("\"");
+             print(lineBuffer.toString());
+             outdent();
+         } else {
+             print("");
+         }
+     }      
+    protected boolean append(final char c) {
+        boolean escape = isEscapeChar(c);
+        if (escape) {
+            appendEscapedChar(c, lineBuffer);
+        } else {
+            lineBuffer.append(c);
+        }
+        return (lineLength + lineBuffer.length() < MAX_LINE_LENGTH);
+    }
+    
+    protected boolean isEscapeChar(final char c) {
+        switch (c) {
+        case '"':
+        case '\\':
+        case '\n':
+        case '\r':
+        case '\u2028':
+        case '\u2029':
+            return true;
+        default:
+            return (c < ' ') || (c > 0x07F);
+        }
+    }
+    
+    protected void appendEscapedChar(char c, StringBuffer buffer) {
+        if(c>=0x20 && c < 0x7f){
+            buffer.append(c);
+        }else{
+            buffer.append(getEscapeChar());
+            int value = ((int)c) & 0xFFFF;
+            buffer.append(HEX_DIGIT[(value & 0xF000) >> 12]);
+            buffer.append(HEX_DIGIT[(value & 0x0F00) >> 8]);
+            buffer.append(HEX_DIGIT[(value & 0x00F0) >> 4]);
+            buffer.append(HEX_DIGIT[(value & 0x000F)]);
+        }
+    }
+    
+    protected String getEscapeChar() {
+        return "\\u";
+    }
+    
+    protected final void indent() {
+        indent(1);
+    }
+    protected void indent(int amount) {
+        indentLevel += amount;
+        indentString = INDENT_CHARS.substring(0, indentLevel*INDENT_SIZE);
+    }
+    
+    protected final void outdent() {
+        outdent(1);
+    }
+    protected void outdent(int amount) {
+        indentLevel -= amount;
+        indentString = INDENT_CHARS.substring(0, indentLevel*INDENT_SIZE);
+    }
+
+    static final char[] HEX_DIGIT = {'0','1','2','3','4','5','6','7',
+                     '8','9','A','B','C','D','E','F'};
+
+    /** Return true if the value for the specified tag is the same
+     * as the value inherited from the parent for that tag */
+    private boolean isDuplicateOfInheritedValue(final Locale loc, String tag, Object value) {
+        if (value == null) return true;
+        try {
+            final ResourceBundle parentBundle = getParentBundle(loc);
+            if (parentBundle == null) return false;
+            Object parentValue = parentBundle.getObject(tag);
+            if (!objectsAreEqual(value, parentValue)) {
+                return false;
+            } else {
+                return true;
+            }
+        } catch (java.util.MissingResourceException e) {
+            return false;
+        }
+    }
+    
+    private boolean objectsAreEqual(final Object item, final Object parentItem) {
+        if (item instanceof Object[] && parentItem instanceof Object[]) {
+            return arraysAreEqual((Object[])item, (Object[])parentItem);
+        } else {
+            return item.equals(parentItem);
+        }
+    }
+    
+    private boolean arraysAreEqual(final Object[] item, final Object[] parentItem) {
+        boolean matches = item.length == parentItem.length;
+        for (int i = 0; i < item.length && matches; i++) {
+            matches = objectsAreEqual(item[i], parentItem[i]);
+        }
+        return matches;
+    }
+        
+    private ResourceBundle getParentBundle(final Locale loc) {
+        try {
+            final String x = loc.toString();
+            final int ndx = x.lastIndexOf('_');
+            if (ndx < 0) {
+                return null;
+            } else {
+                final String parentLocName = x.substring(0, ndx);
+                final Locale parentLoc = localeFromString(parentLocName);
+                return ResourceBundle.getBundle("com.ibm.icu.dev.tool.localeconverter.myLocaleElements", parentLoc);
+            }
+        } catch (MissingResourceException e) {
+            return null;
+        }
+    }
+    
+    private String replace(String source, String target, String replacement) {
+        if (target.equals(replacement)) {
+            return source;
+        } else {
+            StringBuffer result = new StringBuffer();
+            int lastNdx = 0;
+            int ndx = source.indexOf(target);
+            while (ndx >= 0) {
+                result.append(source.substring(lastNdx, ndx));
+                result.append(replacement);
+                ndx += target.length();
+                lastNdx = ndx;
+                ndx = source.indexOf(target, ndx);
+            }
+            result.append(source.substring(lastNdx));
+            return result.toString();
+        }
+    }
+
+    public Locale localeFromString(final String localeName) {
+        String language = localeName;
+        String country = "";
+        String variant = "";
+        
+        int ndx = language.indexOf('_');
+        if (ndx >= 0) {
+            country = language.substring(ndx+1);
+            language = language.substring(0, ndx);
+        }
+        ndx = country.indexOf('_');
+        if (ndx >= 0) {
+            variant = country.substring(ndx);
+            country = country.substring(0, ndx);
+        }
+        return new Locale(language, country, variant);
+    }
+}
diff --git a/src/com/ibm/icu/dev/tool/localeconverter/NeutralToJ1Converter.java b/src/com/ibm/icu/dev/tool/localeconverter/NeutralToJ1Converter.java
new file mode 100755
index 0000000..c023c41d7
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/localeconverter/NeutralToJ1Converter.java
@@ -0,0 +1,202 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2002-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.tool.localeconverter;
+
+import java.util.*;
+
+public class NeutralToJ1Converter extends LocaleConverter {
+    private static class Conversion {
+        private String propName;
+        private int ndx;
+        protected Conversion() {
+        }
+        public Conversion(String propName) {
+            this.propName = propName;
+            this.ndx = -1;
+        }
+        public Conversion(String propName, int ndx) {
+            this.propName = propName;
+            this.ndx = ndx;
+        }
+        public String getPropName() {
+            return propName;
+        }
+        public String convert(Hashtable source) throws ConversionError {
+            Object sourceData = source.get(propName);
+            if (sourceData == null) {
+                return null;
+            }
+            if (ndx >= 0) {
+                if (sourceData instanceof String[]) {
+                    sourceData = ((String[])sourceData)[ndx];
+                } else if (sourceData instanceof String[][]) {
+                    sourceData = ((String[][])sourceData)[ndx];
+                }
+            }
+            if (sourceData instanceof String) {
+                return (String)sourceData;
+            } else if (sourceData instanceof String[]) {
+                String[] data = (String[])sourceData;
+                StringBuffer result = new StringBuffer();
+                for (int i = 0; i < data.length; i++) {
+                    if (i > 0) result.append(';');
+                    result.append(data[i]);
+                }
+                return result.toString();
+            } else {
+                throw new ConversionError("could not convert tag: "+propName);
+            }
+        }
+    }
+
+    private static class CollationConversion extends Conversion {
+        public String convert(Hashtable source) throws ConversionError {
+            Object[][] elements = (Object[][])source.get("collations");
+            CollationItem[] items = (CollationItem[])elements[2][1];
+            if (items == null) {
+                return "";
+            } else {
+                StringBuffer result = new StringBuffer();
+                for (int i = 0; i < items.length; i++) {
+                    if(items[i]!=null){
+                        result.append(items[i].toString());
+                    }
+                }
+                return result.toString();
+            }
+        }
+    }
+
+    private static final Conversion[] conversions = {
+        new Conversion("LocaleString"), /*locale id based on iso codes*/
+        new Conversion("LocaleID"), /*Windows id*/
+        new Conversion("ShortLanguage"), /*iso-3 abbrev lang name*/
+        new Conversion("ShortCountry"), /*iso-3 abbrev country name*/
+        new Conversion("Languages"), /*language names*/
+        new Conversion("Countries"), /*country names*/
+        new Conversion("MonthNames",0), /*january*/
+        new Conversion("MonthNames",1), /*february*/
+        new Conversion("MonthNames",2), /*march*/
+        new Conversion("MonthNames",3), /*april*/
+        new Conversion("MonthNames",4), /*may*/
+        new Conversion("MonthNames",5), /*june*/
+        new Conversion("MonthNames",6), /*july*/
+        new Conversion("MonthNames",7), /*august*/
+        new Conversion("MonthNames",8), /*september*/
+        new Conversion("MonthNames",9), /*october*/
+        new Conversion("MonthNames",10), /*november*/
+        new Conversion("MonthNames",11), /*december*/
+        new Conversion("MonthNames",12), /*month 13 if applicable*/
+        new Conversion("MonthAbbreviations",0), /*abb january*/
+        new Conversion("MonthAbbreviations",1), /*abb february*/
+        new Conversion("MonthAbbreviations",2), /*abb march*/
+        new Conversion("MonthAbbreviations",3), /*abb april*/
+        new Conversion("MonthAbbreviations",4), /*abb may*/
+        new Conversion("MonthAbbreviations",5), /*abb june*/
+        new Conversion("MonthAbbreviations",6), /*abb july*/
+        new Conversion("MonthAbbreviations",7), /*abb august*/
+        new Conversion("MonthAbbreviations",8), /*abb september*/
+        new Conversion("MonthAbbreviations",9), /*abb october*/
+        new Conversion("MonthAbbreviations",10), /*abb november*/
+        new Conversion("MonthAbbreviations",11), /*abb december*/
+        new Conversion("MonthAbbreviations",12), /*abb month 13 if applicable*/
+        new Conversion("DayNames",0), /*Monday*/
+        new Conversion("DayNames",1), /*Tuesday*/
+        new Conversion("DayNames",2), /*Wednesday*/
+        new Conversion("DayNames",3), /*Thursday*/
+        new Conversion("DayNames",4), /*Friday*/
+        new Conversion("DayNames",5), /*Saturday*/
+        new Conversion("DayNames",6), /*Sunday*/
+        new Conversion("DayAbbreviations",0), /*abb Monday*/
+        new Conversion("DayAbbreviations",1), /*abb Tuesday*/
+        new Conversion("DayAbbreviations",2), /*abb Wednesday*/
+        new Conversion("DayAbbreviations",3), /*abb Thursday*/
+        new Conversion("DayAbbreviations",4), /*abb Friday*/
+        new Conversion("DayAbbreviations",5), /*abb Saturday*/
+        new Conversion("DayAbbreviations",6), /*abb Sunday*/
+        new Conversion("AmPmMarkers",0), /*am marker*/
+        new Conversion("AmPmMarkers",1), /*pm marker*/
+        new Conversion("Eras"),/*era strings*/
+        new Conversion("NumberPatterns",0), /*decimal pattern*/
+        new Conversion("NumberPatterns",1), /*currency pattern*/
+        new Conversion("NumberPatterns",2), /*percent pattern*/
+        new Conversion("NumberElements",0), /*decimal separator*/
+        new Conversion("NumberElements",1), /*group (thousands) separator*/
+        new Conversion("NumberElements",2), /*list separator*/
+        new Conversion("NumberElements",3), /*percent sign*/
+        new Conversion("NumberElements",4), /*native 0 digit*/
+        new Conversion("NumberElements",5), /*pattern digit*/
+        new Conversion("NumberElements",6), /*minus sign*/
+        new Conversion("NumberElements",7), /*exponential*/
+        new Conversion("CurrencyElements",0), /*local currency symbol*/
+        new Conversion("CurrencyElements",1), /*intl currency symbol*/
+        new Conversion("CurrencyElements",2), /*monetary decimal separator*/
+        new Conversion("DateTimePatterns",0), /*full time pattern*/
+        new Conversion("DateTimePatterns",1), /*long time pattern*/
+        new Conversion("DateTimePatterns",2), /*medium time pattern*/
+        new Conversion("DateTimePatterns",3), /*short time pattern*/
+        new Conversion("DateTimePatterns",4), /*full date pattern*/
+        new Conversion("DateTimePatterns",5), /*long date pattern*/
+        new Conversion("DateTimePatterns",6), /*medium date pattern*/
+        new Conversion("DateTimePatterns",7), /*short date pattern*/
+        new Conversion("DateTimePatterns",8), /*date-time pattern*/
+        new Conversion("DateTimeElements",9), /*first day of week*/
+        new Conversion("DateTimeElements",10), /*min days in first week*/
+        new CollationConversion(), /*collation order*/
+    };
+    private Locale locale;
+    private Locale parentLocale;
+    private ResourceBundle defaultData;
+
+    public NeutralToJ1Converter(Locale locale) {
+        this.locale = locale;
+        String language = locale.toString();
+        String country = "";
+        String variant = "";
+        
+        int ndx = language.indexOf('_');
+        if (ndx >= 0) {
+            country = language.substring(ndx+1);
+            language = language.substring(0, ndx);
+        }
+        ndx = country.indexOf('_');
+        if (ndx >= 0) {
+            variant = country.substring(ndx);
+            country = country.substring(0, ndx);
+        }
+        
+        if ("".equals(country)) {
+            language = "";
+            variant = "";
+        } else if ("".equals(variant)) {
+            country = "";
+        }
+        
+        parentLocale = new Locale(language, country, variant);
+        defaultData =
+            ResourceBundle.getBundle("com.ibm.icu.dev.tool.localeconverter.myLocaleElements", parentLocale);
+            //{{INIT_CONTROLS
+//}}
+}
+    
+    /** convert the source table to the result */
+    protected void convert(Hashtable result, Hashtable source) throws ConversionError {
+        Vector localeElements = new Vector();
+        for (int i = 0; i < conversions.length; i++) {
+            final Conversion conv = conversions[i];
+            final String newValue = conv.convert(source);
+            if (newValue != null) {
+                localeElements.addElement(newValue);
+            } else {
+                localeElements.addElement(defaultData.getObject(conv.getPropName()));
+            }
+        }
+        result.put("LocaleElements", localeElements);
+    }
+    //{{DECLARE_CONTROLS
+//}}
+}
\ No newline at end of file
diff --git a/src/com/ibm/icu/dev/tool/localeconverter/POSIXLocaleReader.java b/src/com/ibm/icu/dev/tool/localeconverter/POSIXLocaleReader.java
new file mode 100755
index 0000000..8113670
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/localeconverter/POSIXLocaleReader.java
@@ -0,0 +1,407 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2002-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.tool.localeconverter;
+
+import java.io.*;
+import java.util.*;
+
+public class POSIXLocaleReader {
+    private final String localeDataPath;
+    private final Locale locale;
+
+    public static final int TAG_TOKEN = 1;
+    public static final int SEPARATOR_TOKEN = 2;
+    public static final int EOL_TOKEN = 3;
+    public static final int EOF_TOKEN = 4;
+
+        //these states are used to parse the bulk of the
+        //input file.  They translate escaped characters
+        //and symolic character references inline.
+    static final Lex.Transition[][] dataStates = {
+        { //state 0: start
+            new SpaceTransition(0),
+            new Lex.CharTransition(';', Lex.IGNORE_CONSUME, SEPARATOR_TOKEN),
+            new Lex.CharTransition(',', Lex.IGNORE_CONSUME, SEPARATOR_TOKEN),
+            new EOLTransition(EOL_TOKEN),
+            new TokenTransition(TAG_TOKEN),
+            new Lex.EOFTransition(EOF_TOKEN),
+            new Lex.ParseExceptionTransition("unexpected characters")
+        }
+    };
+
+    static final Lex.Transition[][] LCStates = {
+        { //state 0: start
+            new SpaceTransition(0),
+            new EOLTransition(EOL_TOKEN),
+            new Lex.EOFTransition(EOF_TOKEN),
+            new Lex.DefaultTransition(Lex.ACCUMULATE_CONSUME, -1)
+        },
+        {   //grab first word
+            new Lex.StringTransition(SpaceTransition.SPACE_CHARS, Lex.IGNORE_PUTBACK, TAG_TOKEN),
+            new Lex.StringTransition(EOLTransition.EOL_CHARS, Lex.IGNORE_PUTBACK, TAG_TOKEN),
+            new Lex.EOFTransition(TAG_TOKEN),
+            new Lex.DefaultTransition(Lex.ACCUMULATE_CONSUME, -1)
+        }
+    };
+
+    public POSIXLocaleReader(final String localeDataPath, final Locale locale) {
+        this.localeDataPath = localeDataPath;
+        this.locale = locale;
+            //{{INIT_CONTROLS
+//}}
+}
+    
+    public Hashtable parse(String fileName, byte flags) throws IOException {
+        try {
+            Hashtable table = parseNative(fileName);
+            Hashtable result = new PosixToNeutralConverter(flags, locale,fileName).convert(table);
+            return result;
+        } catch (LocaleConverter.ConversionError e) {
+            System.err.println("Internal error converting locale data");
+            return null;
+        }
+    }
+    
+    public Hashtable parseNative(String fileName) throws IOException {
+        char oldEscapeChar = EscapeTransition.setDefaultEscapeChar();
+        char oldCommentChar = EOLTransition.setDefaultCommentChar();
+        Hashtable table = new Hashtable();
+        try {
+            
+            LineCharNumberReader lines = new LineCharNumberReader(
+                new BufferedReader(
+                    new FileReader(
+                        new File(localeDataPath, fileName)
+                    )
+                )
+            );
+            PushbackReader reader = new PushbackReader(lines);
+            
+            //Shove a newline at the start of the file.  This has the affect of allowing
+            //the file to start with a comment, since the parser only allows comments as 
+            //part of an EOL
+            reader.unread('\n');
+
+            String sectionTag = seekLC(reader);
+            while (sectionTag != null) {
+                try {
+                    parseSection(table, reader, sectionTag);
+                } catch (Lex.ParseException e) {
+                    System.err.println("ERROR parsing: "+e.reason);
+                    System.err.println("         Line: "+lines.getLineNumber());
+                    System.err.println("         char: "+lines.getCharNumber());
+                    seekEND(reader);
+                    System.err.println("Skipped to line: "+(lines.getLineNumber()+1));
+                }
+                sectionTag = seekLC(reader);
+            }
+        } finally {
+            EscapeTransition.setEscapeChar(oldEscapeChar);
+            EOLTransition.setCommentChar(oldCommentChar);
+        }
+        return table;
+    }
+    
+    private void parseSection(Hashtable table, PushbackReader reader, String sectionTag) throws IOException {
+        if (sectionTag.equals("LC_CTYPE")) {
+            parseCTYPE(table, reader);
+        } else if (sectionTag.equals("LC_COLLATE")) {
+            parseCOLLATE(table, reader);
+        } else if (sectionTag.equals("LC_MONETARY")) {
+            parseLC(table, reader, sectionTag);
+        } else if (sectionTag.equals("LC_NUMERIC")) {
+            parseLC(table, reader, sectionTag);
+        } else if (sectionTag.equals("LC_TIME")) {
+            parseLC(table, reader, sectionTag);
+        } else if (sectionTag.equals("LC_MESSAGES")) {
+            parseLC(table, reader, sectionTag);
+        }else if(sectionTag.equals("LC_MEASUREMENT")){
+            parseLC(table, reader, sectionTag);
+        }else if(sectionTag.equals("LC_ADDRESS")){
+            parseLC(table, reader, sectionTag);
+        }else if(sectionTag.equals("LC_PAPER")){
+            parseLC(table, reader, sectionTag);
+        }else if(sectionTag.equals("LC_NAME")){
+            parseLC(table, reader, sectionTag);
+        }else if(sectionTag.equals("LC_IDENTIFICATION")){
+            parseLC(table, reader, sectionTag);
+        }else if(sectionTag.equals("LC_TELEPHONE")){
+            parseLC(table, reader, sectionTag);
+            
+        }else {
+            System.out.println("Unrecognised section:"+sectionTag);
+            System.out.println("Default parsing applied.");
+            parseLC(table, reader, sectionTag);
+        }
+    }
+
+    private PushbackReader createParserInput(String localeName) throws IOException {
+        PushbackReader reader = new PushbackReader(
+            new BufferedReader(
+                new FileReader(
+                    new File(localeDataPath, localeName)
+                )
+            )
+        );
+        //Shove a newline at the start of the file.  This has the affect of allowing
+        //the file to start with a comment, since the parser only allows comments as 
+        //part of an EOL
+        reader.unread('\n');
+        return reader;
+    }
+    
+    private String seekLC(PushbackReader reader) throws IOException {
+        Lex p = new Lex(LCStates, reader);
+        final String LC = "LC_";
+        int s = p.nextToken();
+        while ((s != EOF_TOKEN)) {
+            if (s == TAG_TOKEN) {
+                if (p.dataStartsWith(LC)) {
+                    String tag = p.getData();
+                    do {
+                        s = p.nextToken();
+                    } while (s != EOL_TOKEN && s != EOF_TOKEN);
+                    return tag;
+                } else if (p.dataEquals("escape_char")) {
+                    s = p.nextToken();
+                    if (s == TAG_TOKEN || p.getData().length() != 1) {
+                        String escape_char = p.getData();
+                        EscapeTransition.setEscapeChar(escape_char.charAt(0));
+                    } else {
+                        System.out.println("Error in escape_char directive.  Directive ignored.");
+                    }
+                } else if (p.dataEquals("comment_char")) {
+                    s = p.nextToken();
+                    if (s == TAG_TOKEN || p.getData().length() != 1) {
+                        String comment_char = p.getData();
+                        if(comment_char.length() > 0){
+                            EOLTransition.setCommentChar(comment_char.charAt(0));
+                        }
+                    } else {
+                        System.out.println("Error in escape_char directive.  Directive ignored.");
+                    }
+                }
+            }
+            s = p.nextToken();
+        }
+        return null;
+    }
+
+    private boolean seekEND(PushbackReader reader) throws IOException {
+        Lex p = new Lex(LCStates, reader);
+        final String END = "END";
+        int s = p.nextToken();
+        while ((s != EOF_TOKEN)) {
+            if (s == TAG_TOKEN) {
+                if (p.dataStartsWith(END)) {
+                    do {
+                        s = p.nextToken();
+                    } while (s != EOL_TOKEN && s != EOF_TOKEN);
+                    return true;
+                }
+            }
+            s = p.nextToken();
+        }
+        return false;
+    }
+    
+    private void parseCTYPE(Hashtable table, PushbackReader reader) throws IOException {
+        Lex p = new Lex(dataStates, reader);
+        StringBuffer temp = new StringBuffer();
+        int s = p.nextToken();
+        if ((s == TAG_TOKEN) && p.dataEquals("copy")) {
+            p.accept(TAG_TOKEN);
+            parseCopy("LC_CTYPE", p.getData(), table);
+            p.accept(EOL_TOKEN);
+            p.accept(TAG_TOKEN, "END");
+            p.accept(TAG_TOKEN, "LC_CTYPE");
+        } else {
+            while ((s == TAG_TOKEN) && !p.dataEquals("END")) {  
+                //IGNORE the CTYPE definition ... we dont need it
+                
+                String key = p.getData();
+                temp.setLength(0);
+                p.accept(TAG_TOKEN);
+                p.appendDataTo(temp);
+                s = p.nextToken();
+                while (s == SEPARATOR_TOKEN) {
+                    p.accept(TAG_TOKEN);
+                    p.appendDataTo(temp);
+                    s = p.nextToken();
+                }
+                if (s != EOL_TOKEN) {
+                    System.err.println("WARNING: Could not parse the Unexpected token: Expecting EOL got "+s);
+                } else {
+                    table.put(key, temp.toString());
+                }
+                
+                s = p.nextToken();
+                
+            }
+            p.accept(TAG_TOKEN, "LC_CTYPE");
+        }
+    }
+    
+    private void parseCopy(String section, String toCopy, Hashtable t) throws IOException {
+        char oldEscapeChar = EscapeTransition.setDefaultEscapeChar();
+        char oldCommentChar = EOLTransition.setDefaultCommentChar();
+        try {
+            PushbackReader reader = createParserInput(toCopy);
+            String tag = seekLC(reader);
+            while (tag != null && !section.equals(tag)) {
+                tag = seekLC(reader);
+            }
+            if (tag != null) {
+                parseSection(t, reader, section);
+            } else {
+                //hey {jf} - is this an error?
+            }
+        } finally {
+            EscapeTransition.setEscapeChar(oldEscapeChar);
+            EOLTransition.setCommentChar(oldCommentChar);
+        }
+    }
+    
+    private void parseLC(Hashtable t, PushbackReader reader, String sectionTag) throws IOException {
+        Lex input = new Lex(dataStates, reader);
+        input.accept(TAG_TOKEN);
+        if (input.dataEquals("copy")) {
+            input.accept(TAG_TOKEN);
+            parseCopy(sectionTag, input.getData(), t);          
+        } else {
+            while ((input.getState() == TAG_TOKEN) && !input.dataEquals("END")) {   
+                String label = input.getData();
+                Vector values = new Vector();
+                input.accept(TAG_TOKEN);
+                String temp = input.getData();
+                values.addElement(temp);
+                while (input.nextToken() == SEPARATOR_TOKEN) {
+                    input.accept(TAG_TOKEN);
+                    String value = input.getData();
+                    values.addElement(value);
+                }
+                if (values.size() > 1) {
+                    String[] data = new String[values.size()];
+                    values.copyInto(data);
+                    t.put(label, data);
+                } else {
+                    t.put(label, values.elementAt(0));
+                }
+                if (input.getState() != EOL_TOKEN) {
+                    System.out.println("Extraneous text after label: " +label);
+                    throw new IOException();
+                }
+                input.nextToken();
+            }
+        }
+        input.accept(TAG_TOKEN, sectionTag);
+    }
+
+    private void parseCOLLATE(Hashtable table, PushbackReader reader) 
+            throws IOException {
+        PosixCharMap map = new PosixCharMap(SymbolTransition.getCharMap());
+        SymbolTransition.setCharMap(map);
+        try {
+            Lex input = new Lex(dataStates, reader);
+            PosixCollationBuilder builder = new PosixCollationBuilder(map);
+
+            int s = input.nextToken();
+            while (s == EOL_TOKEN) s = input.nextToken();
+            while (s == TAG_TOKEN) {
+                if (input.dataEquals("END")) {
+                    break;
+                } else if (input.dataEquals("UNDEFINED")) {
+                    System.err.println("WARNING: Undefined characters will sort last.");
+                    s = input.nextToken();
+                    while (s != EOF_TOKEN && s != EOL_TOKEN) {
+                        s = input.nextToken();
+                    }
+                } else if (input.dataEquals("copy")) {
+                    //copy collation rules from another locale
+                    input.accept(TAG_TOKEN);
+                    String toCopy = input.getData();
+                    input.accept(EOL_TOKEN);
+                    parseCopy("LC_COLLATE", toCopy, table);
+                    System.err.println("Copying collation rules from "+toCopy+"...");
+                } else if (input.dataEquals("...")) {
+                    //fill the space between the last element and the next element
+                    System.err.println("ERROR: Ellipsis not supported in collation rules.");
+                    System.err.println("       Line ignored");
+                } else if (input.dataEquals("replace-after")) {
+                    System.err.println("ERROR: Replace-after not supported in collation rules.");
+                    System.err.println("       Skipping until next replace-end.");
+                    s = input.nextToken();
+                    while (s != EOF_TOKEN) {
+                        if (s == TAG_TOKEN && input.dataEquals("replace-end")) {
+                            input.accept(EOL_TOKEN);
+                            break;
+                        }
+                    }
+                } else if (input.dataEquals("collating-element")) {
+                    //Several characters should sort as a single element.
+                    input.accept(TAG_TOKEN);    //get the symbol
+                    String key = input.getData();
+                    input.accept(TAG_TOKEN, "from");
+                    input.accept(TAG_TOKEN);    //get the expansion
+                    String value = input.getData();
+                    builder.defineContraction(key, value);
+                    input.accept(EOL_TOKEN);
+                } else if (input.dataEquals("collating-symbol")) {
+                    //define a weight symbol.  This symbol does not represent a character.
+                    //It's only used for comparison purposes.  We define the character
+                    //value for this character to be in the private area since our
+                    //collation stuff doesn't sort that area.
+                    input.accept(TAG_TOKEN);
+                    builder.defineWeightSymbol(input.getData());
+                    input.accept(EOL_TOKEN);
+                } else if (input.dataEquals("order_start")) {
+                    Vector tempVector = new Vector();
+                    //start reading collation ordering rules. 
+                    input.accept(TAG_TOKEN);
+                    tempVector.addElement(input.getData());
+                    s = input.nextToken();
+                    while (s == SEPARATOR_TOKEN) {
+                        input.accept(TAG_TOKEN);
+                        tempVector.addElement(input.getData());
+                        s = input.nextToken();
+                    }
+                    String[] order_start = new String[tempVector.size()];
+                    tempVector.copyInto(order_start);
+                    table.put("sort_order", order_start);
+                } else if (input.dataEquals("order_end")) {
+                    //build a list of ordered collation elements
+                    input.accept(EOL_TOKEN);
+                    SortedVector order = builder.getSortOrder();
+                    PosixCollationBuilder.CollationRule[] ruleSource = 
+                        new PosixCollationBuilder.CollationRule[order.size()];
+                    order.copyInto(ruleSource); //copy into an array so we can add it to the output table
+                        //this is only for information purposes so we can retrieve the source of the
+                        //collationItems with the weights if we want them later
+                    table.put("posix_sort_rules", ruleSource);
+                } else {
+                    //add a collation item to the list
+                    builder.addRule(input.getData());
+                    s = input.nextToken();
+                    while (s == TAG_TOKEN) {
+                        //we're expecting weights here
+                        builder.addWeight(input.getData());
+                        s = input.nextToken();
+                        if (s == SEPARATOR_TOKEN) {
+                            s = input.nextToken();
+                        }
+                    }
+                }
+                s = input.nextToken();
+            }
+            input.accept(TAG_TOKEN, "LC_COLLATE");
+        } finally {
+            SymbolTransition.setCharMap(map.getParent());
+        }
+    }
+    //{{DECLARE_CONTROLS
+//}}
+}
diff --git a/src/com/ibm/icu/dev/tool/localeconverter/PosixCharMap.java b/src/com/ibm/icu/dev/tool/localeconverter/PosixCharMap.java
new file mode 100755
index 0000000..468763e
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/localeconverter/PosixCharMap.java
@@ -0,0 +1,495 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2002-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+ 
+package com.ibm.icu.dev.tool.localeconverter;
+
+import java.io.*;
+import java.util.*;
+import com.ibm.icu.lang.*;
+import com.ibm.icu.text.*;
+
+public class PosixCharMap {
+    private Hashtable table = new Hashtable();
+    private Hashtable backTable = null;
+    private PosixCharMap parentMap;
+    private String encoding;
+    
+    public PosixCharMap() {
+    }
+    
+    public PosixCharMap(PosixCharMap parent) {
+        parentMap = parent;
+    }
+
+    public PosixCharMap(String fileName) throws IOException {
+        this(new FileReader(fileName));
+    }
+
+    public PosixCharMap(String pathName, String fileName) throws IOException {
+        this(new FileReader(new File(pathName, fileName)));
+    }
+
+    public PosixCharMap(Reader inputReader) throws IOException {
+        load(new BufferedReader(inputReader));
+    }
+    
+    public PosixCharMap getParent() {
+        return parentMap;
+    }
+    
+    public void setParent(PosixCharMap parent) {
+        parentMap = parent;
+    }
+
+    public void load(String pathName, String fileName) throws IOException {
+        load(new File(pathName, fileName),"");
+    }
+    public void load(String pathName, String fileName, String enc)throws IOException{
+        load(new File(pathName, fileName),enc);
+    }
+    
+    public void load(File file, String enc) throws IOException {
+        encoding =enc;
+        load(new BufferedReader(new FileReader(file)));
+    }
+    /* This map must be in ASCENDING ORDER OF THE ESCAPE CODE */
+    static private final char[] UNESCAPE_MAP = {
+        /*"   0x22, 0x22 */
+        /*'   0x27, 0x27 */
+        /*?   0x3F, 0x3F */
+        /*\   0x5C, 0x5C */
+        /*a*/ 0x61, 0x07,
+        /*b*/ 0x62, 0x08,
+        /*f*/ 0x66, 0x0c,
+        /*n*/ 0x6E, 0x0a,
+        /*r*/ 0x72, 0x0d,
+        /*t*/ 0x74, 0x09,
+        /*v*/ 0x76, 0x0b
+    };
+        /**
+     * Convert an escape to a 32-bit code point value.  We attempt
+     * to parallel the icu4c unesacpeAt() function.
+     * @param offset16 an array containing offset to the character
+     * <em>after</em> the backslash.  Upon return offset16[0] will
+     * be updated to point after the escape sequence.
+     * @return character value from 0 to 10FFFF, or -1 on error.
+     */
+    public static int unescapeAt(String s, int[] offset16) {
+        int c;
+        int result = 0;
+        int n = 0;
+        int minDig = 0;
+        int maxDig = 0;
+        int bitsPerDigit = 4;
+        int dig;
+        int i;
+
+        /* Check that offset is in range */
+        int offset = offset16[0];
+        int length = s.length();
+        if (offset < 0 || offset >= length) {
+            return -1;
+        }
+
+        /* Fetch first UChar after '\\' */
+        c = UTF16.charAt(s, offset);
+        offset += UTF16.getCharCount(c);
+
+        /* Convert hexadecimal and octal escapes */
+        switch (c) {
+        case 'u':
+            minDig = maxDig = 4;
+            break;
+        case 'U':
+            minDig = maxDig = 8;
+            break;
+        case 'x':
+            minDig = 1;
+            maxDig = 2;
+            break;
+        default:
+            dig = UCharacter.digit(c, 8);
+            if (dig >= 0) {
+                minDig = 1;
+                maxDig = 3;
+                n = 1; /* Already have first octal digit */
+                bitsPerDigit = 3;
+                result = dig;
+            }
+            break;
+        }
+        if (minDig != 0) {
+            while (offset < length && n < maxDig) {
+                // TEMPORARY
+                // TODO: Restore the char32-based code when UCharacter.digit
+                // is working (Bug 66).
+
+                //c = UTF16.charAt(s, offset);
+                //dig = UCharacter.digit(c, (bitsPerDigit == 3) ? 8 : 16);
+                c = s.charAt(offset);
+                dig = Character.digit((char)c, (bitsPerDigit == 3) ? 8 : 16);
+                if (dig < 0) {
+                    break;
+                }
+                result = (result << bitsPerDigit) | dig;
+                //offset += UTF16.getCharCount(c);
+                ++offset;
+                ++n;
+            }
+            if (n < minDig) {
+                return -1;
+            }
+            offset16[0] = offset;
+            return result;
+        }
+
+        /* Convert C-style escapes in table */
+        for (i=0; i<UNESCAPE_MAP.length; i+=2) {
+            if (c == UNESCAPE_MAP[i]) {
+                offset16[0] = offset;
+                return UNESCAPE_MAP[i+1];
+            } else if (c < UNESCAPE_MAP[i]) {
+                break;
+            }
+        }
+
+        /* If no special forms are recognized, then consider
+         * the backslash to generically escape the next character. */
+        offset16[0] = offset;
+        return c;
+    }
+
+    /**
+     * Convert all escapes in a given string using unescapeAt().
+     * @exception IllegalArgumentException if an invalid escape is
+     * seen.
+     */
+    public static String unescape(String s) {
+        StringBuffer buf = new StringBuffer();
+        int[] pos = new int[1];
+        for (int i=0; i<s.length(); ) {
+            char c = s.charAt(i++);
+            if (c == '\\') {
+                pos[0] = i;
+                int e = unescapeAt(s, pos);
+                if (e < 0) {
+                    throw new IllegalArgumentException("Invalid escape sequence " +
+                                                       s.substring(i-1, Math.min(i+8, s.length())));
+                }
+                UTF16.append(buf, e);
+                i = pos[0];
+            } else {
+                buf.append(c);
+            }
+        }
+        return buf.toString();
+    }
+
+    public void load(Reader inputReader) throws IOException {
+        PosixCharMap oldMap = SymbolTransition.getCharMap();
+        SymbolTransition.setCharMap(null);
+        try {
+            final int TOKEN = 1;
+            final int EOF = 2;
+            final int EOL = 3;
+            final int RANGE = 4;
+            final Lex.Transition[][] states1 = {
+                { //state 0: start
+                    new SpaceTransition(0),
+                    new EOLTransition(EOL),
+                    new Lex.EOFTransition(EOF),
+                    new Lex.DefaultTransition(Lex.ACCUMULATE_CONSUME, -1)
+                },
+                {   //grab first word
+                    new Lex.StringTransition(SpaceTransition.SPACE_CHARS, Lex.IGNORE_CONSUME, TOKEN),
+                    new Lex.StringTransition(EOLTransition.EOL_CHARS, Lex.IGNORE_CONSUME, TOKEN),
+                    new Lex.EOFTransition(TOKEN),
+                    new Lex.DefaultTransition(Lex.ACCUMULATE_CONSUME, -1)
+                }
+            };
+
+            final Lex.Transition[][] states2 = {
+                {   //These states only return <symbols>.  All
+                    //other text is ignored.
+                    new Lex.EOFTransition(EOF),
+                    new EOLTransition(EOL),
+                    new SymbolTransition(TOKEN),
+                    new SpaceTransition(0),
+                    new RangeTransition(RANGE),
+                    new Lex.DefaultTransition(Lex.ACCUMULATE_CONSUME, 0)
+                },
+            };
+        
+            PushbackReader input = new PushbackReader(inputReader);
+            Lex p = new Lex(states1, input);
+            int state;
+            do {
+                state = p.nextToken();
+            } while ((state != EOF) && !p.dataEquals("CHARMAP"));
+            p.accept(EOL);
+            if (state != EOF ) {
+                p = new Lex(states2, input);
+                state = p.nextToken();
+                while (state != EOF ) {
+
+                    String key = p.getData();
+                    if(p.dataEquals("ENDCHARMAP")){
+                        break;
+                    }
+                    state = p.nextToken();
+                    while (state == EOL) {
+                        if(p.dataEquals("ENDCHARMAP")){
+                            break;
+                        }
+                        String data = unescape(p.getData());
+                        data.trim();
+                        if (data.startsWith("<U") || data.startsWith("#U")) {
+                            String numData = data.substring(2,data.length()-1);
+                            int digit = Integer.parseInt(numData, 16);
+                            defineMapping(key, ""+(char)digit);
+                        }else if(data.startsWith("\\x")){
+                            byte[] encData = new byte[100];
+                            int num = hexToByte(data,encData);
+                            String tData = new String(encData,0,num,encoding);
+                            defineMapping(key,tData);
+                        }else{
+                            defineMapping(key,byteToChar(data,encoding));
+                        }
+                        state = p.nextToken();
+                        key=p.getData();
+                     }
+                     // we come here only if there is a range transition
+                     if( state ==RANGE){
+                        
+                        String begin = key;
+                        
+                        state = p.nextToken();
+                        String end = p.getData();
+                        
+                        state = p.nextToken();
+                        String data = p.getData();
+                        data.trim();
+                        byte[] encData = new byte[6];
+                        int num = hexToByte(data,encData);
+                        String tData = new String(encData,0,num,encoding);
+                        String stringVal;
+                        int[] val = getInt(begin);
+                        int beginRange = 0;
+                        int endRange = 0;
+                        if(val == null){
+                            val = getInt((String)table.get(begin));
+                            if(val!=null){
+                                beginRange = val[1];
+                            }
+                        }
+                        val = getInt(end);                     
+                        if(val == null){
+                            val = getInt((String)table.get(end));
+                            if(val!=null){
+                                endRange = val[1];
+                            }
+                        }
+                        stringVal = key.substring(0,val[0]);
+                        int digit = (int)(char)tData.charAt(0);
+                        while(beginRange <= endRange){
+                            defineMapping((stringVal+beginRange+">"),""+(char)digit++);
+                            beginRange++;
+                        }
+                        
+                        state = p.nextToken();
+                        key=p.getData();
+                     }                       
+                        
+                    //state = p.nextToken();
+                }
+            }
+        } catch (EOFException e) {
+        } finally {
+            SymbolTransition.setCharMap(oldMap);
+        }
+    }
+    public int[] getInt(String data){
+        if(data == null){
+            return null;
+        }
+        int i=0;
+        int[] retVal = new int[2];
+        int len =data.length();
+        while(i< len){
+            if((data.charAt(i))-0x30 < (0x39-0x30)){
+                break;
+            }
+            i++;
+        }
+        if(i < len){
+            String sub =data.substring(i,len-1);
+            retVal[0] =i;
+            retVal[1]=Integer.parseInt(sub,10);
+            return retVal;
+        }
+        return null;
+    }
+    public int hexToByte(String data, byte[] retval){
+        String tData = data;
+        int i=0;
+        for(i=0;i < data.length()/4; i++){
+            if(tData.charAt(0)=='\\' && tData.charAt(1)=='x'){
+                String numData = tData.substring(2,4);
+                retval[i] = (byte) Integer.parseInt(numData,16);
+                tData = tData.substring(4,tData.length());
+            }
+        }       
+        return i;
+    }  
+    public String byteToChar(String data, String encoding) 
+        throws UnsupportedEncodingException{
+        
+        byte[] bytes = new byte[data.length()];
+        for(int i=0; i<data.length(); i++){
+            char ch = data.charAt(i);
+            if(ch > 0xFF){
+                throw new RuntimeException("Bytes in the string are greater than 0xFF");
+            }
+            bytes[i] = (byte) ch;        
+        }
+        return new String(bytes,encoding);
+    }      
+    public void defineMapping(String from, String to) {
+        table.put(from, to);
+        backTable = null;
+    }
+
+    public void undefineMapping(String from) {
+        table.remove(from);
+        backTable = null;
+    }
+
+    public void swap() {
+        Hashtable newTable = new Hashtable();
+        Enumeration enum = table.keys();
+        while (enum.hasMoreElements()) {
+            String key = (String)enum.nextElement();
+            String code = (String)table.get(key);
+            
+            String newKey = toSymbol(code);
+            String newCode = toLiteral(key);
+            String prevCode = (String)newTable.get(newKey);
+            if (prevCode == null || prevCode.compareTo(newCode) > 0) {
+                newTable.put(newKey, newCode);
+            }
+        }
+        table = newTable;
+    }
+    
+    private String toLiteral(String code) {
+        String data = code.substring(2,code.length()-1);
+        int digit = Integer.parseInt(data, 16);
+        return "" + (char)digit;
+    }
+    
+    private String toSymbol(String code) {
+        StringBuffer escapeBuffer = new StringBuffer();
+        escapeBuffer.append(">");
+        for (int i = 0; i < code.length(); i++) {
+            int value = ((int)code.charAt(i)) & 0xFFFF;
+            while ((value > 0) || (escapeBuffer.length() < 5)) {
+                char digit = Character.forDigit(value % 16, 16);
+                escapeBuffer.append(digit);
+                value >>= 4;
+            }
+        }
+        escapeBuffer.append("U<");
+        escapeBuffer.reverse();
+        return escapeBuffer.toString();
+    }
+    
+    public void dump(PrintStream out) {
+        StringBuffer escapeBuffer = new StringBuffer();
+        Enumeration enum = table.keys();
+        while (enum.hasMoreElements()) {
+            String key = (String)enum.nextElement();
+            String code = (String)table.get(key);
+            out.print(key);
+            out.print("       <U");
+            for (int i = 0; i < code.length(); i++) {
+                int value = ((int)code.charAt(i)) & 0xFFFF;
+                escapeBuffer.setLength(0);
+                while ((value > 0) || (escapeBuffer.length() < 4)) {
+                    char digit = Character.forDigit(value % 16, 16);
+                    escapeBuffer.append(digit);
+                    value >>= 4;
+                }
+                escapeBuffer.reverse();
+                out.print(escapeBuffer.toString());
+            }
+            out.println(">");
+        }
+    }
+
+    public String mapKey(final String key) {
+        String result = (String)table.get(key);
+        if (result == null) {
+            if (parentMap != null) {
+                result = parentMap.mapKey(key);
+            } else {
+                result = key;
+            }
+        }
+        return result;
+    }
+    
+    public String backmapValue(final String value) {
+        if (backTable == null) {
+            backTable = new Hashtable();
+            Enumeration enum = table.keys();
+            while (enum.hasMoreElements()) {
+                String key = (String)enum.nextElement();
+                String val = (String)table.get(key);
+                backTable.put(val, key);
+            }
+        }
+        String result = (String)backTable.get(value);
+        if (result == null) {
+            if (parentMap != null) {
+                result = parentMap.backmapValue(value);
+            } else {
+                result = value;
+            }
+        }
+        return result;      
+    }
+
+    public Enumeration keys() {
+        return table.keys();
+    }
+    
+    public Enumeration elements() {
+        return table.elements();
+    }
+    
+    public static void main(String args[]) {
+        try {
+            PosixCharMap map1 = new PosixCharMap(
+                "C:\\projects\\com\\taligent\\localeconverter\\CharMaps",
+                "IBM-1129.UPMAP100.txt");
+            map1.swap();
+            map1.dump(System.out);
+        
+            SymbolTransition.setCharMap(map1);
+            System.out.println(); System.out.println();
+        
+            //PosixCharMap map = new PosixCharMap("C:\\projects\\data\\ISO-8859-1.html");
+            PosixCharMap map = new PosixCharMap(
+                "C:\\projects\\com\\taligent\\localeconverter\\CharMaps",
+                "ibm1129.txt");
+            map.dump(System.out);
+            System.out.println();
+        } catch (Exception e) {
+            System.out.println(e);
+        }
+    }
+}
diff --git a/src/com/ibm/icu/dev/tool/localeconverter/PosixCollationBuilder.java b/src/com/ibm/icu/dev/tool/localeconverter/PosixCollationBuilder.java
new file mode 100755
index 0000000..0139ffe
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/localeconverter/PosixCollationBuilder.java
@@ -0,0 +1,396 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2002-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+ 
+package com.ibm.icu.dev.tool.localeconverter;
+import java.util.*;
+
+class PosixCollationBuilder {
+    private static final int MAX_WEIGHTS = 4;
+    private static final int MAX_COMPOSITION = 4;
+    private static int nextCharNumber = 1;
+    private Hashtable weightSymbols = new Hashtable();
+    private Hashtable contractions = new Hashtable();
+    private Hashtable rules = new Hashtable();
+    private CollationRule lastRule = null;
+    private PosixCharMap map;
+    private SortedVector order;
+    private static int FIRST_WEIGHT_CHAR = 0x0000F7FF;
+    private int nextWeightChar = FIRST_WEIGHT_CHAR;
+    private CollationRule ignoreRule;   //rule for the collating-symbol IGNORE
+    
+    public class CollationRule {
+        int charNumber;
+        String value;
+        int nextWeight = 0;
+        String[] weightSource = new String[MAX_WEIGHTS];
+        int weight[][] = null;
+        StringBuffer source = new StringBuffer();
+        
+        public CollationRule(String symbol) {
+            charNumber= nextCharNumber++;
+            value = symbol;
+            for (int i = 0; i < MAX_WEIGHTS; i++) {
+                weightSource[i] = symbol;
+            }
+            source.append(map.backmapValue(symbol));
+            source.append("\t\t");
+        }
+        private CollationRule(CollationRule other, int composition) {
+            charNumber = other.charNumber;
+            value = other.value;
+            nextWeight = other.nextWeight;
+            for (int i = 0; i < MAX_WEIGHTS; i++) {
+                String source = other.weightSource[i];
+                if (source.length() > composition) {
+                    weightSource[i] = ""+source.charAt(composition);
+                } else {
+                    weightSource[i] = value;
+                }
+            }
+        }
+ 
+       //HexToUnicodeTransliterator myTranslit = new HexToUnicodeTransliterator("<U###0>");
+        public void addWeight(String symbol) {
+         //   ReplaceableString tSymbol = new ReplaceableString(symbol);
+           // myTranslit.transliterate(tSymbol);
+                //limit the size of a single weight
+            symbol = unescape(symbol);    
+            if (symbol.length() > MAX_COMPOSITION) {
+                System.err.println("WARNING: Weights of composition greater than "+MAX_COMPOSITION+" were truncated.");
+                symbol = symbol.substring(0, MAX_COMPOSITION);
+            }
+                //limit the number of weights
+            if (nextWeight < MAX_WEIGHTS) {
+                if (nextWeight > 0) {
+                    source.append(";");
+                }
+                for (int i = 0; i < symbol.length(); i++) {
+                    source.append(map.backmapValue(""+symbol.charAt(i)));
+                }
+                weightSource[nextWeight++] = symbol;
+                weight = null;
+            }
+        }
+        public int compare(CollationRule other) {
+            if (other == null) return compare(ignoreRule);
+            resolveWeights();
+            other.resolveWeights();
+            int compareSize = Math.min(getSize(), other.getSize());
+            for (int j = 0; j < compareSize; j++) {
+                for (int i = 0; i < MAX_WEIGHTS; i++) {
+                    int diff = weight[j][i] - other.weight[j][i];
+                    if (diff < 0) {
+                        return -(i+1);
+                    } if (diff > 0) {
+                        return i+1;
+                    }
+                }
+            }
+            return getSize() - other.getSize();
+        }
+        public boolean isMultiWeight() {
+            return getSize() > 1;
+        }
+        public int getSize() {
+            int size = 0;
+            for (int i = 1; i < weightSource.length; i++) {
+                size = Math.max(size, weightSource[i].length());
+            }
+            return size;
+        }
+        public CollationRule getComponent(int ndx) {
+            return new CollationRule(this, ndx);
+        }
+        public String getValue() {
+            return value;
+        }
+        public String getSymbol() {
+            String newValue = isContraction();
+            if (newValue != null) {
+                return newValue;
+            } else {
+                newValue = isWeightSymbol();
+                if (newValue != null) {
+                    return newValue;
+                } else {
+                    return value;
+                }
+            }
+        }
+        public String getSource() {
+            return source.toString();
+        }
+        private String isContraction() {
+            return (String)contractions.get(value);
+        }
+        private String isWeightSymbol() {
+            return (String)weightSymbols.get(value);
+        }
+        public CollationRule seeksToRule() {
+            CollationRule comp;
+            if (getSize() <= 1) {
+                comp = this;    //save an object creation
+            } else {
+                comp = getComponent(0);
+            }
+            int ndx = order.indexOf(comp);
+            if (ndx == 0) {
+                return this;
+            } else {
+                CollationRule exp;
+                do {
+                    exp = (CollationRule)order.elementAt(ndx--);
+                } while (ndx > 0 && exp.getSize() > 1);
+                return exp;
+            }
+        }
+        public String getExpansion() {
+            if (getSize() <= 1) {
+                return null;
+            } else {
+                StringBuffer expansion = new StringBuffer();
+                for (int j = 0; j < getSize(); j++) {
+                    CollationRule comp = getComponent(j);
+                    int ndx = order.indexOf(comp);
+                    CollationRule exp;
+                    do {
+                        exp = (CollationRule)order.elementAt(ndx--);
+                    } while (ndx >= 0 && exp.getSize() > 1);
+                    expansion.append(exp.getSymbol());
+                }
+                return expansion.toString();
+            }
+        }
+        public String toString() {
+            return source.toString();
+/*          resolveWeights();
+            StringBuffer buf = new StringBuffer();
+            buf.append(charNumber);
+            buf.append(' ');
+            buf.append(value);
+            buf.append(' ');
+            buf.append(getSymbol());
+            buf.append(' ');
+            buf.append((isWeightSymbol() != null)?"W":" ");
+            buf.append(' ');
+            for (int i = 0; i < MAX_WEIGHTS; i++) {
+                buf.append(weightSource[i]);
+                buf.append(' ');
+            }
+            for (int i = 0; i < getSize(); i++) {
+                buf.append("[ ");
+                for (int j = 0; j < MAX_WEIGHTS; j++) {
+                    int w = weight[i][j];
+                    buf.append(w);
+                    buf.append(' ');
+                }
+                buf.append(']');
+            }
+            return buf.toString();
+*/
+        }
+        private void resolveWeights() {
+            if (weight == null) {
+                weight = new int[MAX_COMPOSITION][MAX_WEIGHTS];
+                for (int j = 0; j < MAX_WEIGHTS; j++) {
+                    String symbol = weightSource[j];
+                    if (symbol.length() <= 1) {
+                        weight[0][j] = ordinalityOf(symbol);
+                    } else {                
+                        for (int i = 0; i < symbol.length(); i++) {
+                            char c = symbol.charAt(i);
+                            weight[i][j] = ordinalityOf(""+c);
+                        }
+                    }
+                }
+            }
+        }
+    }
+    
+    public PosixCollationBuilder(PosixCharMap map) {
+        this.map = map;
+        String ignoreSymbol = defineWeightSymbol("IGNORE");
+        ignoreRule = new CollationRule(ignoreSymbol);
+        rules.put(ignoreSymbol, ignoreRule);
+        lastRule = ignoreRule;
+            //{{INIT_CONTROLS
+//}}
+}
+
+    public String defineWeightSymbol(String symbol) {
+        order = null;
+        String c = nextFreeWeightChar();
+        map.defineMapping(symbol, c);
+        weightSymbols.put(c, symbol);
+        weightSymbols.put(symbol, c);
+        return c;
+    }
+    
+    public String defineContraction(String symbol, String value) {
+        order = null;
+        String c = nextFreeWeightChar();
+        map.defineMapping(symbol, c);
+        contractions.put(c, value);
+        return c;
+    }
+    
+    private String nextFreeWeightChar() {
+        String result = "";
+        String mappedSource;
+        do {
+            result = ""+(char)nextWeightChar--;
+            mappedSource = map.backmapValue(result);
+        } while (result != mappedSource);
+        return result;
+    }
+    /**
+     * unescape a string in the format <U####>
+     */
+    public static String unescape(String src){
+        StringBuffer result = new StringBuffer();
+        int maxDig = 4;
+        if(src == null){
+            return src;
+        }
+        int srcLen= src.length();
+        for(int i=0; i<srcLen;i++){
+            char c = src.charAt(i);
+            if(c == '<'){
+               if(srcLen > i+1){
+                   char c2 = src.charAt(++i);
+                   if(c2 == 'U' && (i+maxDig+1)< srcLen){
+                        i++;
+                        if( src.charAt(i+maxDig)== '>'){
+                            String subStr = src.substring(i,i+maxDig);
+                            try{
+                                Integer val = Integer.valueOf(subStr,16);
+                                result.append((char) val.intValue());
+                                
+                            }catch(NumberFormatException ex){
+                                result.append(c);
+                                result.append(c2);
+                                result.append(subStr);
+                            }
+                            i += maxDig;
+                            continue;
+                        }else{
+                            result.append(c);
+                            result.append(c2);
+                            result.append(src.charAt(i));
+                            System.err.println("WARNING: The escape sequence is not terminated at " + i +" in string: " + src);
+                            continue;
+                        }
+
+                   }else{
+                        result.append(c);
+                        result.append(c2);
+                        continue;
+                   }
+               }
+            }
+            result.append(c);
+        }
+        return result.toString();
+    }
+    public int ordinalityOf(String symbol) {
+//        HexToUnicodeTransliterator newTranslit = new HexToUnicodeTransliterator();
+//        ReplaceableString tSymbol = new ReplaceableString(symbol);
+//        newTranslit.transliterate(tSymbol);
+        symbol = unescape(symbol);
+        CollationRule w = (CollationRule)rules.get(symbol);
+        if (w != null) {
+            return w.charNumber;
+        } else {
+            System.err.print("ERROR: Weight symbol not found: ");
+            for (int i = 0 ; i < symbol.length(); i++) {
+                char c = symbol.charAt(i);
+                System.err.print("\\u");
+                System.err.print(HEX_DIGIT[(c & 0x0F000) >> 12]); // HEX_DIGIT works for octal
+                System.err.print(HEX_DIGIT[(c & 0x0F00) >> 8]); // HEX_DIGIT works for octal
+                System.err.print(HEX_DIGIT[(c & 0x00F0) >> 4]);
+                System.err.println(HEX_DIGIT[(c & 0x000F)]);
+            }
+            System.err.println("       Weight given maximum possible value.");
+            return Integer.MAX_VALUE;
+        }
+    }
+//    HexToUnicodeTransliterator myTranslit = new HexToUnicodeTransliterator("<U###0>");
+    public void addRule(String symbol) {
+  //      ReplaceableString tSymbol = new ReplaceableString(symbol);
+   //     myTranslit.transliterate(tSymbol);
+        symbol = unescape(symbol);
+        if (symbol.length() > 1) {
+            System.err.println("WARNING: Undefined element '"+symbol+"'.  collating-symbol generated.");
+            symbol = defineWeightSymbol(symbol);
+        }
+    
+        order = null;
+        lastRule = new CollationRule(symbol);
+        rules.put(symbol, lastRule);
+    }
+    
+    public void addRule(CollationRule rule) {
+        order = null;
+        lastRule = rule;
+        rules.put(rule.value, rule);
+    }
+    
+    public void addWeight(String weight) {
+        if (weight.length() > 1) {
+            //check to see if it's a bogus weight symbol.
+            weight = map.mapKey(weight);
+        }
+        order = null;
+        lastRule.addWeight(weight);
+    }
+
+    public Enumeration getRules() {
+        return rules.elements();
+    }
+
+    public SortedVector getSortOrder() {
+        if (order == null) {
+            order = new SortedVector(
+                new Comparator() {
+                    public int compare(final Object i, final Object j) {
+                        final CollationRule o1 = (CollationRule)i;
+                        final CollationRule o2 = (CollationRule)j;
+                        if(o1 !=null && o2 != null){
+                            final boolean w1 = o1.isWeightSymbol() != null;
+                            final boolean w2 = o2.isWeightSymbol() != null;
+                                //sort weights first
+                            if (w1 && !w2) {
+                                return -1;
+                            } else if (!w1 && w2) {
+                                return 1;
+                            } else {
+                                return o1.compare(o2);
+                            }
+                        }
+                        return -1;
+                    }
+                }
+            );
+            order.addElements(rules.elements());
+                //remove weight symbols from the list
+            int i;
+            for (i = 0; i < order.size(); i++) {
+                CollationRule r = (CollationRule)order.elementAt(i);
+                if (r.isWeightSymbol() == null) {
+                    break;
+                }
+            }
+            order.removeElements(0, i);
+        }
+        return order;
+    }
+
+    static final char[] HEX_DIGIT = {'0','1','2','3','4','5','6','7',
+                     '8','9','A','B','C','D','E','F'};
+    //{{DECLARE_CONTROLS
+//}}
+}
diff --git a/src/com/ibm/icu/dev/tool/localeconverter/PosixToNeutralConverter.java b/src/com/ibm/icu/dev/tool/localeconverter/PosixToNeutralConverter.java
new file mode 100755
index 0000000..39cb0b6
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/localeconverter/PosixToNeutralConverter.java
@@ -0,0 +1,1057 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2002-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.tool.localeconverter;
+
+import java.util.*;
+
+public class PosixToNeutralConverter extends LocaleConverter {
+    public static final byte LC_CTYPE           = 0x01;
+    public static final byte LC_TIME            = 0x02;
+    public static final byte LC_NUMERIC         = 0x04;
+    public static final byte LC_MONETARY        = 0x08;
+    public static final byte LC_MESSAGES        = 0x10;
+    public static final byte LC_MEASUREMENT     = 0x11;
+    public static final byte LC_ADDRESS         = 0x12;
+    public static final byte LC_PAPER           = 0x13;
+    public static final byte LC_NAME            = 0x14;
+    public static final byte LC_IDENTIFICATION  = 0x15;
+    public static final byte LC_TELEPHONE       = 0x16;
+    
+    private static final byte[] masks = { 
+        LC_CTYPE, LC_TIME, LC_NUMERIC, LC_MONETARY, LC_MESSAGES,
+        LC_MEASUREMENT,LC_ADDRESS,LC_PAPER,LC_NAME,LC_IDENTIFICATION,
+        LC_TELEPHONE
+        };
+
+    private static final String[][] props = {
+        //LC_CTYPE
+        { 
+            "upper", "lower", "alpha", "digit", "space", "cntrl", 
+            "punct", "graph", "print", "xdigit", "blank", 
+            "toupper", "tolower" 
+        },
+        //LC_TIME
+        {
+            "abday", "day", "abmon", "mon", "d_t_fmt", "d_ftm", "t_fmt", 
+            "am_pm", "t_fmt_ampm", "era", "era_year", "era_d_fmt", "alt_digits"
+        },
+        //LC_NUMERIC
+        {
+            "decimal_point", "thousands_sep", "grouping"
+        },
+        //LC_MONETARY
+        {
+            "int_curr_symbol", "currency_symbol", "mon_decimal_point",
+            "mon_thousands_sep", "mon_grouping", "positive_sign",
+            "negative_sign", "int_frac_digits", "frac_digits", "p_cs_precedes",
+            "p_sep_by_space", "n_cs_precedes", "n_sep_by_space", "p_sign_posn",
+        },
+        //LC_MESSAGES
+        {
+            "yesexpr", "noexpr"
+        },
+           
+        //LC_MEASUREMENT
+        {
+           "measurement"
+        },
+        //LC_ADDRESS
+        {
+           "copy","postal_fmt","country_name","country_post",
+           "country_ab2","country_ab3","country_num","country_car",
+           "country_isbn","lang_name","lang_ab","lang_term","lang_lib"
+            
+        },
+        //LC_PAPER
+        {
+            "height","width","copy"
+        },
+        //LC_NAME        
+        {
+            "copy","name_fmt","name_gen","name_miss","name_mr","name_mrs","name_ms"  
+        },
+        //LC_IDENTIFICATION
+        {
+            "title","source","address","contact","email","tel","fax","language",
+            "territory","revision ","date"     
+        },
+        //LC_TELEPHONE
+        {
+            "copy","tel_int_fmt","tel_dom_fmt","int_select","int_prefix" 
+        },
+        
+            
+    };
+    private final byte flags;
+    private final Locale locale;
+    private final Locale parentLocale;
+    private final String sfileName;
+    public PosixToNeutralConverter(byte flags, final Locale locale,final String fileName) {
+        this.flags = flags;
+        this.locale = locale;
+        this.sfileName=fileName;
+        
+        String language = locale.getLanguage();
+        String country = locale.getCountry();
+        String variant = "";
+        
+        int ndx = language.indexOf('_');
+        if (ndx >= 0) {
+            country = language.substring(ndx+1);
+            language = language.substring(0, ndx);
+        }
+        ndx = country.indexOf('_');
+        if (ndx >= 0) {
+            variant = country.substring(ndx);
+            country = country.substring(0, ndx);
+        }
+        
+        if ("".equals(country)) {
+            language = "";
+            variant = "";
+        } else if ("".equals(variant)) {
+            country = "";
+        }
+        
+        parentLocale = new Locale(language, country, variant);
+            //{{INIT_CONTROLS
+//}}
+    }
+
+    protected void convert(final Hashtable result, final Hashtable source) 
+            throws ConversionError {
+//        convertMESSAGES(result,source);
+        writePosixCompData(result,source);
+        convertMEASUREMENT(result, source);
+        convertCOUNTRYNUMBER(result, source);
+        convertCOUNTRYISBNNUMBER(result, source);
+        convertLANGUAGELIB(result, source);
+        convertPAPERSIZE(result, source);
+        convertMONETARY(result, source);
+        convertNUMERIC(result, source);
+        convertTIME(result, source);
+        convertCOLLATE(result, source);
+        for (int i = 0; i < masks.length; i++) {
+            if ((flags & masks[i]) != 0) {
+                for (int j = 0; j < props[i].length; j++) {
+                    final String prop = props[i][j];
+                    final Object val = source.get(prop);
+                    if (val != null) {
+                        resultPut(result, prop, val);
+                    }
+                }
+            }
+        }
+    }
+    public String[][] clone2DArr(String[][]str2Darray){
+        String[][] newStr2DArr = new String[str2Darray.length][str2Darray[0].length]; 
+        for(int i=0; i<str2Darray.length;i++){
+            for(int j=0; j<str2Darray[i].length;j++){
+                newStr2DArr[i][j] = new String(str2Darray[i][j]);
+            }
+        }
+        return newStr2DArr;           
+    }
+    public Object[][] clone2DArr(Object[][]str2Darray){
+        Object[][] newStr2DArr = new Object[str2Darray.length][str2Darray[0].length]; 
+        for(int i=0; i<str2Darray.length;i++){
+            for(int j=0; j<str2Darray[i].length;j++){
+                newStr2DArr[i][j] = (Object)(new String((String)str2Darray[i][j]));
+            }
+        }
+        return newStr2DArr;           
+    }
+    public void writePosixCompData(final Hashtable result, final Hashtable source){        
+        convertMESSAGES(result,source);
+        convertIDENTIFICATION(result,source);
+        convertNAMEFORMAT(result,source);
+        convertADDRESSFORMAT(result,source);
+        convertTELEPHONEFORMAT(result,source);
+    }
+
+
+    private void convertMESSAGES(final Hashtable result, final Hashtable source){
+        final String[][]DEFAULT_MESSAGES = (String[][]) getDefault("Messages");
+        final String[][] myMessages = clone2DArr(DEFAULT_MESSAGES);
+
+        String value =(String) source.get("yesexpr");
+        
+        if(value!=null){
+             myMessages[0][1]  = PosixCollationBuilder.unescape(value);
+        }
+        value = (String) source.get("noexpr");
+        if(value != null){
+            myMessages[1][1] = PosixCollationBuilder.unescape(value);
+        }
+        value = (String) source.get("yesstr");
+        if(value != null){
+            myMessages[2][1] = PosixCollationBuilder.unescape(value);
+        }
+        value = (String) source.get("nostr");
+        if(value != null){
+            myMessages[3][1] = PosixCollationBuilder.unescape(value);
+        }
+        resultPut(result,"Messages",myMessages);
+    }
+    private void convertIDENTIFICATION(final Hashtable result, final Hashtable source){
+        final String[][]DEFAULT_MESSAGES = (String[][]) getDefault("Identification");
+        final String[][] myIdentification = clone2DArr(DEFAULT_MESSAGES);
+                              
+        String value =(String) source.get("title");
+        if(value!=null){
+            myIdentification[0][1] = PosixCollationBuilder.unescape(value);
+        }                        
+        value = (String) source.get("source");
+        if(value != null){
+            myIdentification[1][1] = PosixCollationBuilder.unescape(value);
+        }
+        value = (String) source.get("address");
+        if(value != null){
+            myIdentification[2][1] = PosixCollationBuilder.unescape(value);
+        }
+        value = (String) source.get("contact");
+        if(value != null){
+            myIdentification[3][1] = PosixCollationBuilder.unescape(value);
+        }
+        value = (String) source.get("email");
+        if(value != null){
+            myIdentification[4][1] = PosixCollationBuilder.unescape(value);
+        }
+        value = (String) source.get("tel");
+        if(value != null){
+
+            myIdentification[5][1] = PosixCollationBuilder.unescape(value);
+        }
+        
+        value = (String) source.get("fax");
+        if(value != null){
+            myIdentification[6][1] = PosixCollationBuilder.unescape(value);
+        }
+        value = (String) source.get("language");
+        if(value != null){
+            myIdentification[7][1] = PosixCollationBuilder.unescape(value);
+        }
+        value = (String) source.get("territory");
+        if(value != null){
+            myIdentification[8][1] = PosixCollationBuilder.unescape(value);
+        }
+        value = (String) source.get("audience");
+        if(value != null){
+            myIdentification[9][1] = PosixCollationBuilder.unescape(value);
+        }
+        
+        value = (String) source.get("application");
+        if(value != null){
+            myIdentification[10][1] = PosixCollationBuilder.unescape(value);
+        }
+        else
+        value = (String) source.get("abbreviation");
+        if(value != null){
+            myIdentification[11][1] = PosixCollationBuilder.unescape(value);
+        }
+        value = (String) source.get("revision");
+        if(value != null){
+            myIdentification[12][1] = PosixCollationBuilder.unescape(value);
+        }
+        value = (String) source.get("date");
+        if(value != null){
+            myIdentification[13][1] = PosixCollationBuilder.unescape(value);
+        }
+        resultPut(result,"Identification",myIdentification);
+    }
+    private void convertNAMEFORMAT(final Hashtable result, final Hashtable source){
+        final String[][]DEFAULT_MESSAGES = (String[][]) getDefault("NameFormat");
+        final String[][] myNameFormat = clone2DArr(DEFAULT_MESSAGES);
+        String value =(String) source.get("name_mr");
+        if(value != null){
+            myNameFormat[2][1] = PosixCollationBuilder.unescape(value);
+        }
+        value = (String) source.get("name_miss");
+        if(value != null){
+            myNameFormat[3][1] = PosixCollationBuilder.unescape(value);
+        }
+        value = (String) source.get("name_ms");
+        if(value != null){
+            myNameFormat[6][1] = PosixCollationBuilder.unescape(value);
+        }
+        value = (String) source.get("name_mrs");
+        if(value != null){
+            myNameFormat[4][1] = PosixCollationBuilder.unescape(value);
+        }
+        value = (String) source.get("name_gender");
+        if(value != null){
+            myNameFormat[1][1] = PosixCollationBuilder.unescape(value);
+        }
+        value = (String) source.get("name_fmt");
+        if(value != null){
+            value = PosixCollationBuilder.unescape(value);
+            myNameFormat[0][1] = value;
+        }
+         resultPut(result,"NameFormat",myNameFormat);
+    }
+    private void convertADDRESSFORMAT(final Hashtable result, final Hashtable source){
+        final String[][]DEFAULT_MESSAGES = (String[][]) getDefault("AddressFormat");
+        final String[][] myAddressFormat =( clone2DArr(DEFAULT_MESSAGES));
+        String value =(String) source.get("postal_fmt");
+        if(value != null){
+            value = PosixCollationBuilder.unescape(value);
+            myAddressFormat[0][1] = value;
+        }
+         resultPut(result,"AddressFormat",myAddressFormat);
+    }
+    private void convertTELEPHONEFORMAT(final Hashtable result, final Hashtable source){
+        final String[][]DEFAULT_MESSAGES = (String[][]) getDefault("TelephoneFormat");
+        final String[][] myTelephoneFormat = clone2DArr(DEFAULT_MESSAGES);
+        String value =(String) source.get("tel_int_fmt");
+        if(value != null){
+            value = PosixCollationBuilder.unescape(value);
+            myTelephoneFormat[0][1] = value;
+        }
+        value = (String) source.get("dom_fmt");
+        if(value != null){
+            value = PosixCollationBuilder.unescape(value);
+            myTelephoneFormat[1][1] = value;
+        }
+        value = (String) source.get("int_select");
+        if(value != null){
+            myTelephoneFormat[2][1] = PosixCollationBuilder.unescape(value);
+        }
+        value = (String) source.get("int_prefix");
+        if(value != null){
+            myTelephoneFormat[3][1] = PosixCollationBuilder.unescape(value);
+        }
+         resultPut(result,"TelephoneFormat",myTelephoneFormat);
+    }
+    private void convertMONETARY(final Hashtable result, final Hashtable source) {
+        final String[] DEFAULT_CURRENCY_ELEMENTS = (String[])getDefault("CurrencyElements");
+        final String[] elements = (String[])DEFAULT_CURRENCY_ELEMENTS.clone();
+        String value = (String)source.get("currency_symbol");
+        //Replaceable temp = new Replaceable(value);
+       
+        if (value != null) {
+            elements[0] = PosixCollationBuilder.unescape(value);
+        }
+        value = (String)source.get("int_curr_symbol");
+        if (value != null) {
+            elements[1] = PosixCollationBuilder.unescape(value);
+        }
+        value = (String)source.get("mon_decimal_point");
+        if (value != null) {
+            elements[2] = PosixCollationBuilder.unescape(value);
+        }
+        resultPut(result, "CurrencyElements", elements);
+    }
+    
+
+    private void convertMEASUREMENT(final Hashtable result, final Hashtable source){
+        final String DEFAULT_MEASUREMENT =(String)getDefault("Measurement");
+        String elements = (String)DEFAULT_MEASUREMENT;
+        String value =(String) source.get("measurement");
+        if(value!=null){
+            if(value.equals("1"))
+                elements = "Metric";
+            else if(value.equals("2"))
+                elements = "American";
+            else if(value.equals("3"))
+                elements = "Other";
+        }
+        resultPut(result,"Measurement",elements);
+    }
+    private void convertCOUNTRYNUMBER (final Hashtable result, final Hashtable source){
+        final String DEFAULT_COUNTRYNUMBER =(String)getDefault("CountryNumber");
+        String elements = (String)DEFAULT_COUNTRYNUMBER;
+        String value =(String) source.get("country_num");
+        if(value!=null){
+            elements = value;
+        }
+        resultPut(result,"CountryNumber",elements);
+    }
+    private void convertCOUNTRYISBNNUMBER (final Hashtable result, final Hashtable source){
+        final String DEFAULT_COUNTRYNUMBER =(String)getDefault("CountryISBNNumber");
+        String elements = new String((String)DEFAULT_COUNTRYNUMBER);
+        String value =(String) source.get("country_num");
+        if(value!=null){
+            elements = value;
+        }
+        resultPut(result,"CountryISBNNumber",elements);
+    }
+    private void convertLANGUAGELIB (final Hashtable result, final Hashtable source){
+        final String DEFAULT_LANGUAGELIB =(String)getDefault("LanguageLibraryUse");
+        String elements =new String( (String)DEFAULT_LANGUAGELIB);
+        String value =(String) source.get("lang_lib");
+        if(value!=null){
+            elements = value;
+        }
+        resultPut(result,"LanguageLibraryUse",elements);
+    }
+    private void convertPAPERSIZE (final Hashtable result, final Hashtable source){
+        final String[][] DEFAULT_PAPERSIZE=(String[][]) getDefault("PaperSize");
+        final String[][] elements=clone2DArr(DEFAULT_PAPERSIZE);
+        String value=(String) source.get("height");
+        if (value!=null){
+            elements[0][1]= value;
+        }
+        value =  (String) source.get("width");
+        if(value!=null){
+            elements[1][1] = value;
+        }
+        elements[2][1]=(String)"mm";
+        
+        resultPut(result,"PaperSize",elements);
+    }
+    
+   /* private void convertIDENTIFICATION(final Hashtable result, final Hashtable source){
+        final String[][]DEFAULT_IDENTIFICATION =(String[][]) getDefault("Identification");
+        final String[][] elements = (String[][])DEFAULT_IDENTIFICATION.cloane();
+        
+    }*/
+    private void convertNUMERIC(final Hashtable result, final Hashtable source) {
+        //Build NumberElements data array
+        final String[] DEFAULT_NUMBER_ELEMENTS = (String[])getDefault("NumberElements");
+        //Set new number elements to a copy of the default value from the parent.
+        final String[] elements = (String[])DEFAULT_NUMBER_ELEMENTS.clone();
+        //put decimal seperator into the NumberElements array
+        String decimalPoint = (String)source.get("decimal_point");
+        if (decimalPoint != null) { //if we have a POSIX value, stomp on the default
+            elements[0] = decimalPoint;
+        }
+
+        //put thousands seperator into the NumberElements array
+        String thousandsSep = (String)source.get("thousands_sep");
+        if (thousandsSep != null) { //if we have a POSIX value, stomp on the default
+            elements[1] = thousandsSep;
+        }
+        
+        //Add NumberElements to result
+        resultPut(result, "NumberElements", elements);
+
+        //use canonical decimal and thousands seperators for patterns
+        decimalPoint = ".";
+        thousandsSep = ",";
+        
+        //NumberPatterns
+        final String[] DEFAULT_NUMBER_PATTERNS = (String[])getDefault("NumberPatterns");
+        final String[] patterns = (String[])DEFAULT_NUMBER_PATTERNS.clone();
+        
+        final String patternDigit = elements[5];
+        final String zeroDigit = elements[4];
+        final String negativeSign = elements[6];
+        final String percentSign = elements[3];
+
+        String groupingString;
+        Object groupingObj = source.get("grouping");
+        boolean isStrArray = groupingObj instanceof String[];
+        if (isStrArray) {
+            groupingString = ((String[])groupingObj)[0];
+        } else {
+            groupingString = (String)groupingObj;
+        }
+        
+        if (groupingString == null) {
+            patterns[0] = replace(patterns[0], elements[0], "<DECIMAL>");
+            patterns[0] = replace(patterns[0], elements[1], "<THOUSAND>");
+            patterns[0] = replace(patterns[0], "<DECIMAL>", decimalPoint);
+            patterns[0] = replace(patterns[0], "<THOUSAND>", thousandsSep);
+
+            patterns[2] = replace(patterns[2], elements[1], "<THOUSAND>");
+            patterns[2] = replace(patterns[2], "<THOUSAND>", thousandsSep);
+        } else {
+            
+            /* grouping:
+             * Defines the size of each group of digits in formatted monetary 
+             * quantities. The operand for the grouping keyword consists of a 
+             * sequence of semicolon-separated integers. Each integer specifies the 
+             * number of digits in a group. The initial integer defines the size of 
+             * the group immediately to the left of the decimal delimiter. 
+             * The following integers define succeeding groups to the left of the 
+             * previous group. If the last integer is not -1, the size of the 
+             * previous group (if any) is used repeatedly for the remainder of the 
+             * digits. If the last integer is -1, no further grouping is performed.
+             * Grouping Value    Formatted Value
+             *   3;-1               123456'789
+             *   3                  123'456'789
+             *   3;2;-1             1234'56'789
+             *   3;2                12'34'56'789
+             *   -1                 123456789
+             */
+            //for a grouping of 5
+            //#<thousandsSep>####0<decimalPoint>#####
+            final StringBuffer pattern = new StringBuffer();
+            int semiColonIndex = groupingString.indexOf(';') ;
+            int grouping = 0;
+            if(semiColonIndex < 0 ){
+                grouping = Integer.parseInt(groupingString);    
+                pattern.append(patternDigit);
+                pattern.append(thousandsSep);
+                for (int i = Math.max(1, grouping - 1); i > 0; i--) {
+                    pattern.append(patternDigit);
+                }
+                pattern.append(zeroDigit);
+                pattern.append(decimalPoint);
+                for (int i = Math.max(1, grouping - 1); i >= 0; i--) {
+                    pattern.append(patternDigit);
+                }
+            }else{
+            /*    int prevIndex = 0;
+                int[] groupings = new int[4];
+                int j =0;
+                
+                for(int i=0; i<groupingString.length(); i++){
+                    if(groupingString.charAt(i)==';'){
+                        groupings[j++] = Integer.parseInt(groupingString.substring(prevIndex,i));
+                        prevIndex = i;
+                    }
+                }
+                for(int i = j-1 ;i<-1; i--){
+                    if(groupings[i] == -1){
+                        pattern.append(p);
+                    }else{
+                        
+                    }    
+                }
+              */
+              System.err.println("WARNING: unimplemented pattern parser. Pattern: " + groupingString);
+            }
+            
+            final String patternString = pattern.toString();
+            patterns[0] = patternString + ";" + negativeSign + patternString;
+            
+            pattern.setLength(0);
+            pattern.append(patternDigit);
+            pattern.append(thousandsSep);
+            for (int i = Math.max(1, grouping - 1); i > 0; i--) {
+                pattern.append(patternDigit);
+            }
+            pattern.append(zeroDigit);
+            pattern.append(percentSign);            
+            patterns[2] = pattern.toString();
+
+           // final String[] currencyElements = ((String[])getDefault("CurrencyElements"));
+            String currency_symbol = (String)source.get("currency_symbol");
+            currency_symbol = (currency_symbol != null) ? currency_symbol : (String)source.get("int_curr_symbol");
+            currency_symbol = (currency_symbol != null) ? currency_symbol : "";
+            
+            String mon_decimal_point = (String)source.get("mon_decimal_point");
+            mon_decimal_point = (mon_decimal_point != null) ? mon_decimal_point : "";
+
+            String mon_thousands_sep = (String)source.get("mon_thousands_sep");
+            mon_thousands_sep = (mon_thousands_sep != null) ? mon_thousands_sep : "";
+
+            String mon_grouping_string;
+            /*
+             * mon_grouping:
+             * 
+             * Specifies a string that defines the size of each group of digits 
+             * in formatted monetary quantities. The operand for the 
+             * mon_grouping keyword consists of a sequence of 
+             * semicolon-separated integers. Each integer specifies the number 
+             * of digits in a group. The initial integer defines the size of the
+             * group immediately to the left of the decimal delimiter. 
+             * The following integers define succeeding groups to the left of 
+             * the previous group. If the last integer is not -1, the size of 
+             * the previous group (if any) is repeatedly used for the remainder 
+             * of the digits. If the last integer is -1, no further grouping is 
+             * performed.
+             * 
+             * Value    Formatted Value
+             *  3;-1    123456'789
+             *  3       123'456'789
+             *  3;2;-1  1234'56'789
+             *  3;2     12'34'56'789
+             *   -1     123456789 
+             */ 
+            final Object monGroupingObj = source.get("mon_grouping");
+            if (monGroupingObj instanceof String[]) {
+                mon_grouping_string = ((String[])monGroupingObj)[0];
+            } else {
+                mon_grouping_string = (String)monGroupingObj;
+            }
+            final int mon_grouping = (mon_grouping_string == null) ? grouping : Integer.parseInt(mon_grouping_string);
+            
+            final String frac_digits_string = (String)source.get("frac_digits");
+            final int frac_digits = (frac_digits_string == null) ? mon_grouping : Integer.parseInt(frac_digits_string);
+            
+            String positive_sign = (String)source.get("positive_sign");
+            positive_sign = (positive_sign != null) ? positive_sign : "";
+            
+            String negative_sign = (String)source.get("negative_sign");
+            negative_sign = (negative_sign != null) ? negative_sign : "";
+            
+            String p_sign_posn = (String)source.get("p_sign_posn");
+            p_sign_posn = (p_sign_posn != null) ? p_sign_posn : "";
+            
+            String n_sign_posn = (String)source.get("n_sign_posn");
+            n_sign_posn = (n_sign_posn != null) ? n_sign_posn : "";
+
+            final boolean p_cs_precedes = !"0".equals(source.get("p_cs_precedes"));
+            final String p_sep_by_space = (String)source.get("p_sep_by_space");
+            final boolean n_cs_precedes = !"0".equals(source.get("n_cs_precedes"));
+            final String n_sep_by_space = (String)source.get("n_sep_by_space");
+
+            pattern.setLength(0);
+            
+/*            
+            patterns[1] =
+                createPatternString(currency_symbol, mon_decimal_point, mon_thousands_sep, mon_grouping, frac_digits,
+                    positive_sign, p_cs_precedes, p_sep_by_space, p_sign_posn, patternDigit, zeroDigit)
+                + ";"
+                + createPatternString(currency_symbol, mon_decimal_point, mon_thousands_sep, mon_grouping, frac_digits,
+                    negative_sign, n_cs_precedes, n_sep_by_space, n_sign_posn, patternDigit, zeroDigit);
+*/
+            
+/*            patterns[1] =
+                createPatternString(currency_symbol, ".", ",", mon_grouping, frac_digits,
+                    positive_sign, p_cs_precedes, p_sep_by_space, p_sign_posn, patternDigit, zeroDigit)
+                + ";"
+                + createPatternString(currency_symbol, ".", ",", mon_grouping, frac_digits,
+                    negative_sign, n_cs_precedes, n_sep_by_space, n_sign_posn, patternDigit, zeroDigit);
+*/
+            patterns[1] =
+                createPatternString(".", ",", mon_grouping, frac_digits,
+                    positive_sign, p_cs_precedes, p_sep_by_space, p_sign_posn, patternDigit, zeroDigit)
+                + ";"
+                + createPatternString(".", ",", mon_grouping, frac_digits,
+                    negative_sign, n_cs_precedes, n_sep_by_space, n_sign_posn, patternDigit, zeroDigit);
+
+        }
+        resultPut(result, "NumberPatterns", patterns);
+    }
+
+    /**
+     * This routine creates currency formats from all the posix stuff.
+     */
+    private String createPatternString(String decimal, String thousands, int grouping, int fracDigits,
+            String sign, boolean preceeds, String sep_by_space, String sign_posn, String digit,
+            String requiredDigit) {
+        StringBuffer buffer = new StringBuffer();
+        final String currency = "\u00A4";
+        if ("2".equals(sep_by_space) && ("".equals(currency) || "".equals(sign))) {
+            sep_by_space = "0";
+        }
+        if ("1".equals(sep_by_space) && "".equals(currency)) {
+            sep_by_space = "0";
+        }
+        
+        final String sign_currency_seperator = ("2".equals(sep_by_space)) ? " " : "";
+        final String quantity_currency_seperator = ("1".equals(sep_by_space)) ? " " : "";
+        
+        if ("0".equals(sign_posn)) {
+            buffer.append('(');
+        }
+        if ("1".equals(sign_posn)) {
+            buffer.append(sign);
+            if (preceeds) {
+                buffer.append(sign_currency_seperator);
+            }
+        }
+        if (preceeds) {
+            if ("3".equals(sign_posn)) {
+                buffer.append(sign);
+                buffer.append(sign_currency_seperator);
+            }
+            buffer.append(currency);
+            if ("4".equals(sign_posn)) {
+                buffer.append(sign_currency_seperator);
+                buffer.append(sign);
+            }
+            buffer.append(quantity_currency_seperator);
+        }       
+        
+        buffer.append(digit);
+        if (grouping > 0) {
+            buffer.append(thousands);
+            for (int i = grouping-1; i > 0; i--) {
+                buffer.append(digit);
+            }
+        }
+        buffer.append(requiredDigit);
+        buffer.append(decimal);
+        if (fracDigits > 0) {
+            for (int i = fracDigits-1; i >= 0; i--) {
+                buffer.append(requiredDigit);
+            }
+        } else {
+            buffer.append(digit);
+        }
+        
+        if (!preceeds) {
+            buffer.append(quantity_currency_seperator);
+            if ("1".equals(sign_posn)) {
+                buffer.append(sign_currency_seperator);
+            }
+            if ("3".equals(sign_posn)) {
+                buffer.append(sign);
+                buffer.append(sign_currency_seperator);
+            }
+            buffer.append(currency);
+            if ("4".equals(sign_posn)) {
+                buffer.append(sign_currency_seperator);
+                buffer.append(sign);
+            }
+        }       
+        if ("2".equals(sign_posn)) {
+            buffer.append(sign_currency_seperator);
+            buffer.append(sign);
+        }
+        if ("0".equals(sign_posn)) {
+            buffer.append(')');
+        }
+        
+        return buffer.toString();
+    }
+    
+    private void convertTIME(Hashtable result, Hashtable source) {
+        resultPut(result, "DayNames", source.get("day"));
+        resultPut(result, "DayAbbreviations", source.get("abday"));
+        String[] temp = (String[])source.get("am_pm");
+        if (temp != null) {
+            final String[] defaultAMPM = (String[])getDefault("AmPmMarkers");
+            if ("".equals(temp[0])) temp[0] = defaultAMPM[0];
+            if ("".equals(temp[1])) temp[1] = defaultAMPM[1];
+            resultPut(result, "AmPmMarkers", temp);
+        }
+        
+        temp = (String[])source.get("mon");
+        if (temp != null) {
+            //add empty 13th month
+            String[] newTemp = new String[13];
+            System.arraycopy(temp, 0, newTemp, 0, 12);
+            newTemp[12] = "";
+            resultPut(result, "MonthNames", newTemp);
+        }
+        temp = (String[])source.get("abmon");
+        if (temp != null) {
+            //add empty 13th month
+            String[] newTemp = new String[13];
+            System.arraycopy(temp, 0, newTemp, 0, 12);
+            newTemp[12] = "";
+            resultPut(result, "MonthAbbreviations", newTemp);
+        }
+        
+        final String t_fmt_ampm = (String)source.get("t_fmt_ampm");
+        final String t_fmt = (String)source.get("t_fmt");
+        final String d_t_fmt = (String)source.get("d_t_fmt");
+        final String d_fmt = (String)source.get("d_fmt");
+        final String nlldate = (String)source.get("nlldate");   //non-standard IBM thing
+        
+        final String DEFAULT_DATETIME_ELEMENTS[] = (String[])getDefault("DateTimePatterns");
+        final String[] elements = (String[])DEFAULT_DATETIME_ELEMENTS.clone();
+        final String X_pattern = elements[3];
+        final String x_pattern = elements[7];
+        final String c_pattern = elements[4] + " " + elements[0];
+        
+        elements[0] = (t_fmt_ampm != null && t_fmt_ampm.length() > 0) ? t_fmt_ampm : t_fmt;
+        elements[1] = (t_fmt != null) ? t_fmt : t_fmt_ampm;
+        elements[2] = (t_fmt != null) ? t_fmt : t_fmt_ampm;
+        elements[3] = (t_fmt != null) ? t_fmt : t_fmt_ampm;
+        
+        String longishDateFormat = (nlldate != null) ? nlldate : d_fmt;
+        if (d_t_fmt != null) {
+            if (t_fmt != null) {
+                //try to build a detailed data format by taking the 
+                //date-time format and removing the time portion
+                int ndx = d_t_fmt.indexOf(t_fmt);
+                if (ndx >= 0) {
+                    if (ndx < (d_t_fmt.length() - t_fmt.length())/2) {
+                        elements[8] = "{0} {1}";
+                    }
+                
+                    longishDateFormat = replace(d_t_fmt, t_fmt, "");
+                    longishDateFormat = replace(longishDateFormat, "%Z", "");
+                    longishDateFormat = replace(longishDateFormat, "  ", " ");
+                    longishDateFormat = replace(longishDateFormat, "  ", " ");
+                    if (longishDateFormat.charAt(0) == ' ') {
+                        longishDateFormat = longishDateFormat.substring(1);
+                    }
+                    longishDateFormat.trim();
+                }
+            }
+        }
+        elements[4] = longishDateFormat;
+        elements[5] = d_t_fmt;
+        elements[6] = (nlldate != null) ? nlldate : d_fmt;
+        elements[7] = d_fmt;
+        
+        for (int i = 0; i < 8; i++) {
+            if (elements[i] != null) {
+                elements[i] = convertFormats(elements[i], X_pattern, x_pattern, c_pattern);
+            } else {
+                elements[i] = DEFAULT_DATETIME_ELEMENTS[i];
+            }
+        }
+        resultPut(result, "DateTimePatterns", elements);
+    }
+   
+    private String convertFormats(String pattern, String X_pattern, 
+            String x_pattern, String c_pattern) {
+        
+        String tpattern = PosixCollationBuilder.unescape(pattern);
+        StringBuffer result = new StringBuffer();
+        boolean singleDigit = false;
+        for (int i = 0; i < tpattern.length(); i++) {
+            char c = tpattern.charAt(i);
+            if (c != '%') {
+                result.append(c);
+            } else {
+                singleDigit = false;
+                i++;
+                c = tpattern.charAt(i);
+                switch (c) {
+                case 'a':
+                    result.append("EEE");
+                    break;
+                case 'A':
+                    result.append("EEEE");
+                    break;
+                case 'b':
+                    result.append("MMM");
+                    break;
+                case 'B':
+                    result.append("MMMM");
+                    break;
+                case 'c':
+                    result.append(c_pattern);
+                    break;
+                case 'C':   //** hey {jf} - this is supposed to be the century only.
+                    result.append("YYYY");
+                    break;
+                case 'd':
+                    if(singleDigit == true){
+                        result.append("d");
+                    }else{
+                        result.append("dd");
+                    }
+                    break;
+                case 'D':
+                    result.append("mm/dd/yy");
+                    break;
+                case 'e':
+                    if(singleDigit == true){
+                        result.append("d");
+                    }else{
+                        result.append("dd");
+                    }
+                    break;
+                case 'h':
+                    result.append("MMM");
+                    break;
+                case 'H':
+                    if(singleDigit == true){
+                        result.append("H");
+                    }else{
+                        result.append("HH");
+                    }
+                    break;
+                case 'I':
+                    if(singleDigit == true){
+                        result.append("h");
+                    }else{
+                        result.append("hh");
+                    }
+                    break;
+                case 'j':
+                    result.append("DDD");
+                    break;
+                case 'm':
+                    if(singleDigit == true){
+                        result.append("M");
+                    }else{
+                        result.append("MM");
+                    }
+                    result.append("MM");
+                    break;
+                case 'M':
+                    if(singleDigit == true){
+                        result.append("m");
+                    }else{
+                        result.append("mm");
+                    };
+                    break;
+                case 'n':
+                    result.append('\n');
+                    break;
+                case 'p':
+                    result.append("aa");
+                    break;
+                case 'r':
+                    result.append(convertFormats("%I:%M:%S %p", X_pattern, x_pattern, c_pattern));
+                    break;
+                case 'S':
+                    result.append("ss");
+                    break;
+                case 't':
+                    result.append('\t');
+                    break;
+                case 'T':
+                    result.append(convertFormats("%I:%M:%S", X_pattern, x_pattern, c_pattern));
+                    break;
+                case 'U':
+                    result.append("ww");
+                    break;
+                case 'w':
+                    result.append("E");
+                    break;
+                case 'W':
+                    result.append("ww");
+                    break;
+                case 'x':
+                    result.append(x_pattern);
+                    break;
+                case 'X':
+                    result.append(X_pattern);
+                    break;
+                case 'y':
+                    result.append("yy");
+                    break;
+                case 'Y':
+                    result.append("yyyy");
+                    break;
+                case 'Z':
+                    result.append("z");
+                    break;
+                case '%':
+                    result.append("%");
+                    break;
+                case '.':
+                    char c1 = tpattern.charAt(i+1);
+                    if(c1=='1'){
+                        singleDigit = true;
+                        i++;
+                        break; 
+                    }
+                         
+                default:
+                    result.append('%');
+                    result.append(c);
+                    break;
+                }
+            }
+        }
+        return result.toString();
+    }
+    
+    private void convertCOLLATE(Hashtable result, Hashtable source) {
+        String[] sortOrder = (String[])source.get("sort_order");    
+        final Object[][] DEFAULT_COLLATION=(Object[][]) getDefault("collations");
+        final Object[][] elements=(Object[][])clone2DArr(DEFAULT_COLLATION);        
+        if (sortOrder != null) {
+            if (!"forward".equals(sortOrder[0])) {
+                System.err.println("ERROR: Unsupported primary sort order: "+sortOrder[0]);
+            }
+            if (sortOrder.length == 2 && !"forward".equals(sortOrder[1]) && !"backward".equals(sortOrder[1])) {
+                System.err.println("ERROR: Unsupported secondary sort order: "+sortOrder[1]);
+            }
+            if (sortOrder.length == 3 && !"forward".equals(sortOrder[2])) {
+                System.err.println("ERROR: Unsupported tertiary sort order: "+sortOrder[2]);
+            }
+            if (sortOrder.length > 3) {
+                System.err.println("WARNING: Sort levels of order greater than three ignored.");
+            }
+        }
+        
+        PosixCollationBuilder.CollationRule[] ruleSource = 
+            (PosixCollationBuilder.CollationRule[])source.get("posix_sort_rules");
+
+        if (ruleSource != null) {
+                //allocate a list of collationItems.  Add an extra entry for secondary ordering
+            CollationItem[] rules = new CollationItem[ruleSource.length+1];
+            PosixCollationBuilder.CollationRule prevRule = null;
+                //add all the rules for non-expanding characters
+            int i = 0;
+            for (int ndx = 0; ndx < ruleSource.length; ndx++) {
+                PosixCollationBuilder.CollationRule rule = ruleSource[ndx];
+                    //add non-expanding characters to the sort list
+                if (rule.getSize() <= 1) {
+                    int diff;
+                    if (prevRule == null) {
+                        //if it's the first rule, don't compare to anything,
+                        //seek back so it can be appended to the default rules
+                        rules[i] = new CollationItem(rule.getSymbol());
+                    } else {
+                        //compare to previous item
+                        diff = prevRule.compare(rule);
+                        rules[i] = new CollationItem(diff, rule.getSymbol());
+                    }
+                    rules[i++].setComment(rule.getSource());
+                    prevRule = rule;
+                }
+            }
+                //add rules for expanding characters
+            String prevSeek = null;
+            prevRule = null;
+            for (int ndx = 0; ndx < ruleSource.length; ndx++) {
+                PosixCollationBuilder.CollationRule rule = ruleSource[ndx];
+                if (rule.getSize() > 1) {
+                        //find out what this character expands to
+                    String seek = rule.getExpansion();
+                    if (!seek.equals(prevSeek)) {
+                            //if it's not the same as the previous character
+                            //then seek to the first character of the expansion
+                            //and compare to that
+                        PosixCollationBuilder.CollationRule seekRule = rule.seeksToRule();
+                        rules[i] = new CollationItem(
+                                seekRule.compare(rule), rule.getSymbol(), rule.getExpansion());
+                        prevSeek = seek;
+                    } else if (prevRule != null) {
+                            //it expands to the same characters as the previous expansion,
+                            //so compare to the previous expansion
+                        rules[i] = new CollationItem(
+                                prevRule.compare(rule), rule.getSymbol(), prevRule.getSymbol());
+                    } else {
+                            //The unlikely case that the first character will
+                            //be an expanding character...I don't think
+                            //this is even possible...
+                        rules[i] = new CollationItem(rule.getSymbol());
+                    }
+                    rules[i++].setComment(rule.getSource());
+                }
+                prevRule = rule;
+            }
+            if (sortOrder.length>0 && "backward".equals(sortOrder[0])) {
+                elements[1][1] = "true";
+            } else {
+                elements[1][1] = "false";
+            }
+            elements[2][1]=(Object)rules;
+            resultPut(result, "collations", elements);
+        }
+    }
+        
+    private void resultPut(Hashtable resultTable, String tag, Object value) {
+        if (value == null) return;
+        resultTable.put(tag, value);
+    }
+    
+    private Object getDefault(String desiredResource) {
+        return getParentBundle().getObject(desiredResource);
+    }
+    
+    private ResourceBundle getParentBundle() {
+        return ResourceBundle.getBundle("com.ibm.icu.dev.tool.localeconverter.myLocaleElements", parentLocale);
+    }
+    
+    private String replace(String source, String target, String replacement) {
+        if (target.equals(replacement)) {
+            return source;
+        } else {
+            StringBuffer result = new StringBuffer();
+            int lastNdx = 0;
+            int ndx = source.indexOf(target);
+            while (ndx >= 0) {
+                result.append(source.substring(lastNdx, ndx));
+                result.append(replacement);
+                ndx += target.length();
+                lastNdx = ndx;
+                ndx = source.indexOf(target, ndx);
+            }
+            result.append(source.substring(lastNdx));
+            return result.toString();
+        }
+    }
+//{{DECLARE_CONTROLS
+//}}
+}
\ No newline at end of file
diff --git a/src/com/ibm/icu/dev/tool/localeconverter/QuoteTransition.java b/src/com/ibm/icu/dev/tool/localeconverter/QuoteTransition.java
new file mode 100755
index 0000000..20f874b
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/localeconverter/QuoteTransition.java
@@ -0,0 +1,69 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2002-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.tool.localeconverter;
+
+import java.io.*;
+
+public class QuoteTransition extends ComplexTransition {
+    public static final QuoteTransition GLOBAL = new QuoteTransition(SUCCESS);
+
+    public static final char STRING_CHAR = '"';
+    
+    public QuoteTransition(int success) {
+        super(success);
+            //{{INIT_CONTROLS
+        //}}
+    }
+    public boolean accepts(int c) {
+        return STRING_CHAR == (char)c;
+    }
+    protected Lex.Transition[][] getStates() {
+        return states;
+    }
+    private static final Lex.Transition[][] states = {
+        { //state 0: 
+            new Lex.CharTransition(STRING_CHAR, Lex.IGNORE_CONSUME, -1),
+            new Lex.ParseExceptionTransition("illegal character in quoted string")
+        },
+        { //state 1:
+            new Lex.CharTransition(STRING_CHAR, Lex.IGNORE_CONSUME, SUCCESS),
+            new Lex.StringTransition(EOLTransition.EOL_CHARS, Lex.IGNORE_CONSUME, -2),
+            new EscapeTransition(-1),
+            new SymbolTransition(-1),
+            new Lex.EOFTransition(-2),
+            new Lex.DefaultTransition(Lex.ACCUMULATE_CONSUME, -1)
+        },
+        { //state 2: failure from eof
+            new Lex.ParseExceptionTransition("unterminated string")
+        }
+    };
+
+    public static void main(String args[]) {
+        try {
+            Lex.Transition[][] states = {{ 
+                new QuoteTransition(SUCCESS),
+                new Lex.EOFTransition(),
+                new Lex.ParseExceptionTransition("bad test input")
+            }};
+            EscapeTransition.setEscapeChar('/');
+            String text = "\"hello<\"/>>/d32world\"\"<one>/\n<two>\"";
+            StringReader sr = new StringReader(text);
+            PushbackReader pr = new PushbackReader(sr);
+            Lex parser = new Lex(states, pr);
+            //parser.debug(true);
+            int s = parser.nextToken();
+            while (s == SUCCESS) {
+                System.out.println(parser.getData());
+                s = parser.nextToken();
+            }
+        } catch (Exception e) {
+            System.out.println(e);
+        }
+    }
+    //{{DECLARE_CONTROLS
+    //}}
+}
diff --git a/src/com/ibm/icu/dev/tool/localeconverter/RangeTransition.java b/src/com/ibm/icu/dev/tool/localeconverter/RangeTransition.java
new file mode 100755
index 0000000..b70a001
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/localeconverter/RangeTransition.java
@@ -0,0 +1,39 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2002-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+ 
+package com.ibm.icu.dev.tool.localeconverter;
+
+
+public class RangeTransition extends ComplexTransition {
+    public static final RangeTransition GLOBAL = new RangeTransition(SUCCESS);
+    public static final String RANGE_CHARS = "...";
+    public RangeTransition(int success){
+        super(success);
+    }
+    
+    public boolean accepts(int c){
+        return RANGE_CHARS.indexOf((char)c) >=0;
+    }
+    
+    protected Lex.Transition[][]getStates(){
+        return states;
+    }
+    private static final Lex.Transition[][] states= {
+
+        { //state 0: 
+            new Lex.StringTransition(RANGE_CHARS, Lex.IGNORE_CONSUME, -1),
+            new Lex.ParseExceptionTransition("illegal space character")
+        },
+        { //state 1:
+            new Lex.EOFTransition(SUCCESS),
+            new Lex.StringTransition(RANGE_CHARS, Lex.IGNORE_CONSUME, -1),
+            new Lex.DefaultTransition(Lex.IGNORE_PUTBACK, SUCCESS)
+        },
+    };
+}
+            
+    
\ No newline at end of file
diff --git a/src/com/ibm/icu/dev/tool/localeconverter/SortedVector.java b/src/com/ibm/icu/dev/tool/localeconverter/SortedVector.java
new file mode 100755
index 0000000..792b51b
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/localeconverter/SortedVector.java
@@ -0,0 +1,350 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2002-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.tool.localeconverter;
+
+import java.util.Vector;
+import java.util.Enumeration;
+/**
+    Implements a sorted vector. You can add anything to it; when you access any element, it sorts
+    the array internally when necessary.
+    <p>A Comparator is used to compare the elements, allowing arbitrary orderings.
+    If no Comparator is supplied, then one is constructed based on the type
+    of the first element added. Only Numbers and Comparables are handled.
+    <p>Duplicates are allowed.
+*/
+final public class SortedVector {
+    /**
+        Copies elements of vector, enumeration or array
+        Note: the objects in the source are NOT cloned.
+        Do not change them or the sorting will be invalid.
+    */
+    public SortedVector(Object[] newValues, Comparator comparator) {
+        this.comparator = comparator;
+        addElements(newValues);
+            //{{INIT_CONTROLS
+//}}
+}
+
+    public SortedVector(Vector newValues, Comparator comparator) {
+        this.comparator = comparator;
+        addElements(newValues);
+    }
+
+    public SortedVector(Enumeration newValues, Comparator comparator) {
+        this.comparator = comparator;
+        addElements(newValues);
+    }
+
+    public SortedVector(Object[] newValues) {
+        addElements(newValues);
+    }
+
+    public SortedVector(Comparator comparator) {
+        this.comparator = comparator;
+    }
+
+    public SortedVector(Vector newValues) {
+        addElements(newValues);
+    }
+
+    public SortedVector(Enumeration newValues) {
+        addElements(newValues);
+    }
+
+    public SortedVector() {
+    }
+
+    /**
+        Adds one element.
+    */
+    public void addElement(Object element) {
+        if (count >= dataArray.length) setCapacity(count*2 + 17);
+        dataArray[count++] = element;
+        isValid = false;
+    }
+
+    /**
+        Adds multiple elements. Faster than adding one at a time.
+    */
+    public void addElements(Object[] newValues) {
+        int newCount = count + newValues.length;
+        if (newCount > dataArray.length) setCapacity(newCount);
+        for (int i = count; i < newCount; ++i)
+            dataArray[i] = newValues[i-count];
+        count = newCount;
+        isValid = false;
+    }
+
+    public void addElements(Vector newValues) {
+        int newCount = count + newValues.size();
+        if (newCount > dataArray.length) setCapacity(newCount);
+        for (int i = count; i < newCount; ++i)
+            dataArray[i] = newValues.elementAt(i-count);
+        count = newCount;
+        isValid = false;
+    }
+
+    public void addElements(Enumeration newValues) {
+        while (newValues.hasMoreElements()) {
+            addElement(newValues.nextElement());
+        }
+    }
+
+    /**
+        Removes elements at indices >= startIndex and < endIndex
+    */
+    public void removeElements(int startIndex, int endIndex) {
+        if (!isValid) validate();
+        System.arraycopy(dataArray,endIndex,dataArray,startIndex,count - endIndex);
+        for (int i = count - (endIndex - startIndex); i < count;++i)
+            dataArray[i] = null;   // free up storage
+        count -= (endIndex - startIndex);
+    }
+
+    /**
+        Sets comparator
+    */
+    public void setComparator(Comparator comparator) {
+        this.comparator = comparator;
+        isValid = false;
+    }
+
+    public Comparator getComparator() {
+        if (comparator == null) validateComparator();
+        return this.comparator;
+    }
+
+    /**
+        Gets size, the actual number of elements.
+    */
+    public int size() {
+        return count;
+    }
+
+    /**
+        Gets capacity, the number of elements you can have without growing the array.
+    */
+    public int capacity() {
+        return dataArray.length;
+    }
+
+    /**
+        Sets capacity, the number of elements you can have without growing the array.
+    */
+    public void setCapacity(int newSize) {
+        Object[] temp = new Object[newSize];
+        System.arraycopy(dataArray, 0, temp, 0, Math.min(count,newSize));
+        dataArray = temp;
+    }
+
+    /**
+        Trims the array.
+    */
+    public void trimToSize() {
+        setCapacity(count);
+    }
+
+    /**
+        Gets the element at the index
+    */
+    public Object elementAt (int index) {
+        if (!isValid) validate();
+        if (index >= count) return dataArray[dataArray.length];
+        return dataArray[index];
+    }
+
+    /**
+        Sees whether the vector contains the object
+    */
+    public boolean contains (Object value) {
+        int index = indexOf(value);
+        return (index >= 0 && comparator.compare(value,dataArray[index]) == 0);
+    }
+
+    /**
+        Gets an enumeration
+    */
+    public Enumeration elements() {
+        if (!isValid) validate();
+        return new ArrayEnumeration(dataArray,0,count);
+    }
+
+    public void copyInto(Object[] toFill) {
+        if (!isValid) validate();
+        System.arraycopy(dataArray,0,toFill,0,toFill.length);
+    }
+
+    /**
+        Finds first index whose value is greater than or equal to searchValue
+        If there are none, returns -1
+    */
+    public int indexOf(Object searchValue)
+    {
+        if (!isValid) validate();
+        int index = startIndex;
+        if (0 <= comparator.compare(searchValue, dataArray[auxStart])) {
+            index += auxStart;
+        }
+        // very fast, completely unrolled binary search
+        // each case deliberately falls through to the next
+        switch (power) {
+        case 31: if (0 > comparator.compare(searchValue, dataArray[index-0x40000000])) index -= 0x40000000;
+        case 30: if (0 > comparator.compare(searchValue, dataArray[index-0x20000000])) index -= 0x20000000;
+        case 29: if (0 > comparator.compare(searchValue, dataArray[index-0x10000000])) index -= 0x10000000;
+
+        case 28: if (0 > comparator.compare(searchValue, dataArray[index-0x8000000])) index -= 0x8000000;
+        case 27: if (0 > comparator.compare(searchValue, dataArray[index-0x4000000])) index -= 0x4000000;
+        case 26: if (0 > comparator.compare(searchValue, dataArray[index-0x2000000])) index -= 0x2000000;
+        case 25: if (0 > comparator.compare(searchValue, dataArray[index-0x1000000])) index -= 0x1000000;
+
+        case 24: if (0 > comparator.compare(searchValue, dataArray[index-0x800000])) index -= 0x800000;
+        case 23: if (0 > comparator.compare(searchValue, dataArray[index-0x400000])) index -= 0x400000;
+        case 22: if (0 > comparator.compare(searchValue, dataArray[index-0x200000])) index -= 0x200000;
+        case 21: if (0 > comparator.compare(searchValue, dataArray[index-0x100000])) index -= 0x100000;
+
+        case 20: if (0 > comparator.compare(searchValue, dataArray[index-0x80000])) index -= 0x80000;
+        case 19: if (0 > comparator.compare(searchValue, dataArray[index-0x40000])) index -= 0x40000;
+        case 18: if (0 > comparator.compare(searchValue, dataArray[index-0x20000])) index -= 0x20000;
+        case 17: if (0 > comparator.compare(searchValue, dataArray[index-0x10000])) index -= 0x10000;
+
+        case 16: if (0 > comparator.compare(searchValue, dataArray[index-0x8000])) index -= 0x8000;
+        case 15: if (0 > comparator.compare(searchValue, dataArray[index-0x4000])) index -= 0x4000;
+        case 14: if (0 > comparator.compare(searchValue, dataArray[index-0x2000])) index -= 0x2000;
+        case 13: if (0 > comparator.compare(searchValue, dataArray[index-0x1000])) index -= 0x1000;
+
+        case 12: if (0 > comparator.compare(searchValue, dataArray[index-0x800])) index -= 0x800;
+        case 11: if (0 > comparator.compare(searchValue, dataArray[index-0x400])) index -= 0x400;
+        case 10: if (0 > comparator.compare(searchValue, dataArray[index-0x200])) index -= 0x200;
+        case  9: if (0 > comparator.compare(searchValue, dataArray[index-0x100])) index -= 0x100;
+
+        case  8: if (0 > comparator.compare(searchValue, dataArray[index-0x80])) index -= 0x80;
+        case  7: if (0 > comparator.compare(searchValue, dataArray[index-0x40])) index -= 0x40;
+        case  6: if (0 > comparator.compare(searchValue, dataArray[index-0x20])) index -= 0x20;
+        case  5: if (0 > comparator.compare(searchValue, dataArray[index-0x10])) index -= 0x10;
+
+        case  4: if (0 > comparator.compare(searchValue, dataArray[index-0x8])) index -= 8;
+        case  3: if (0 > comparator.compare(searchValue, dataArray[index-0x4])) index -= 4;
+        case  2: if (0 > comparator.compare(searchValue, dataArray[index-0x2])) index -= 2;
+        case  1: if (0 > comparator.compare(searchValue, dataArray[index-0x1])) index -= 1;
+
+        case  0: if (0 > comparator.compare(searchValue, dataArray[index])) index -= 1;
+        }
+        return index;
+    }
+
+    // ================= privates ==================
+    /** Only call if comparator is null
+    */
+    private void validateComparator() {
+        try {
+            Object trial = dataArray[0];
+            if (trial instanceof Float || trial instanceof Double) {
+                comparator = new DoubleComparator();
+            } else if (trial instanceof Integer) {
+                comparator = new IntegerComparator();
+            } else if (trial instanceof Number) {
+                comparator = new LongComparator();
+            } else if (trial instanceof String) {
+                comparator = new StringComparator();
+            } else {
+                comparator = new ComparableComparator();
+            }
+        } catch (Exception e) {} // leave null
+    }
+
+    private void validate() {
+        if (isValid) return;
+        // if the Comparator is null, then pick a reasonable one
+        if (comparator == null) validateComparator();
+
+        // determine search parameters
+
+        // find least power of 2 greater than count
+        for (power = exp2.length-1; power > 0 && count < exp2[power]; power--) {}
+
+        // determine the starting point
+        if (exp2[power] != count) {
+            auxStart = count - exp2[power];
+        } else {
+            auxStart = 0;
+        }
+        startIndex = exp2[power]-1;
+
+        // shell sort. Later, make this a QuickSort
+        int lo = 0;
+        int up = count-1;
+        for (int step = up - lo + 1; step > 1;) {
+            if (step < 5)
+                step = 1;
+            else step = (5 * step - 1) / 11;
+            for (int i = up - step; i >= lo; --i) {
+                Object temp = dataArray[i];
+                int j;
+                for (j = i + step; j <= up && 0 > comparator.compare(dataArray[j],temp); j += step)
+                    dataArray[j-step] = dataArray[j];
+                dataArray[j-step] = temp;
+            }
+        }
+        isValid = true;
+    }
+
+    private Object[] dataArray = new Object[16];
+    private Comparator comparator;
+    private int count = 0;
+    private boolean isValid = false;
+    private int auxStart;
+    private int startIndex;
+    private int power;
+    private static final int exp2[] = {
+        0x1, 0x2, 0x4, 0x8,
+        0x10, 0x20, 0x40, 0x80,
+        0x100, 0x200, 0x400, 0x800,
+        0x1000, 0x2000, 0x4000, 0x8000,
+        0x10000, 0x20000, 0x40000, 0x80000,
+        0x100000, 0x200000, 0x400000, 0x800000,
+        0x1000000, 0x2000000, 0x4000000, 0x8000000,
+        0x10000000, 0x20000000, 0x40000000};
+
+    // Utility Classes
+
+    public static final class LongComparator implements Comparator {
+        public int compare(Object a, Object b) {
+            long aa = ((Number)a).longValue();
+            long bb = ((Number)b).longValue();
+            return (aa < bb ? -1 : aa > bb ? 1 : 0);
+        }
+    }
+
+    public static final class IntegerComparator implements Comparator {
+        public int compare(Object a, Object b) {
+            return (((Number)a).intValue() - ((Number)b).intValue());
+        }
+    }
+
+    public static final class DoubleComparator implements Comparator {
+        public int compare(Object a, Object b) {
+            double aa = ((Number)a).doubleValue();
+            double bb = ((Number)b).doubleValue();
+            return (aa < bb ? -1 : aa > bb ? 1 : 0);
+        }
+    }
+
+    public static final class ComparableComparator implements Comparator {
+        public int compare(Object a, Object b) {
+            return ((Comparable)a).compareTo(b);
+        }
+    }
+
+    public static final class StringComparator implements Comparator {
+        public int compare(Object a, Object b) {
+            return ((String)a).compareTo((String)b);
+        }
+    }
+    //{{DECLARE_CONTROLS
+//}}
+}
+
diff --git a/src/com/ibm/icu/dev/tool/localeconverter/SpaceTransition.java b/src/com/ibm/icu/dev/tool/localeconverter/SpaceTransition.java
new file mode 100755
index 0000000..9bdcc48
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/localeconverter/SpaceTransition.java
@@ -0,0 +1,38 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2002-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.tool.localeconverter;
+
+
+public class SpaceTransition extends ComplexTransition {
+    public static final SpaceTransition GLOBAL = new SpaceTransition(SUCCESS);
+    public static final String SPACE_CHARS = " \t";
+    
+    public SpaceTransition(int success) {
+        super(success);
+            //{{INIT_CONTROLS
+        //}}
+    }
+    public boolean accepts(int c) {
+        return SPACE_CHARS.indexOf((char)c) >= 0;
+    }
+    protected Lex.Transition[][] getStates() {
+        return states;
+    }
+    private static final Lex.Transition[][] states = {
+        { //state 0: 
+            new Lex.StringTransition(SPACE_CHARS, Lex.IGNORE_CONSUME, -1),
+            new Lex.ParseExceptionTransition("illegal space character")
+        },
+        { //state 1:
+            new Lex.EOFTransition(SUCCESS),
+            new Lex.StringTransition(SPACE_CHARS, Lex.IGNORE_CONSUME, -1),
+            new Lex.DefaultTransition(Lex.IGNORE_PUTBACK, SUCCESS)
+        },
+    };
+    //{{DECLARE_CONTROLS
+    //}}
+}
diff --git a/src/com/ibm/icu/dev/tool/localeconverter/SymbolTransition.java b/src/com/ibm/icu/dev/tool/localeconverter/SymbolTransition.java
new file mode 100755
index 0000000..8db2012
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/localeconverter/SymbolTransition.java
@@ -0,0 +1,96 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2002-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.tool.localeconverter;
+
+import java.io.*;
+
+public class SymbolTransition extends ComplexTransition {
+    private static PosixCharMap mapping = new PosixCharMap();
+    public static final SymbolTransition GLOBAL = new SymbolTransition(SUCCESS);
+    public static void setCharMap(PosixCharMap mappingIn) {
+        mapping = mappingIn;
+        if (mapping == null) {
+            mapping = new PosixCharMap();
+        }
+    }
+
+    public static PosixCharMap getCharMap() {
+        return mapping;
+    }
+
+    public SymbolTransition(int success) {
+        super(success);
+            //{{INIT_CONTROLS
+        //}}
+    }
+    public boolean accepts(int c) {
+        return '<' == (char)c;
+    }
+    protected void handleSuccess(Lex parser, StringBuffer output) {
+        String text = parser.getData();
+        String mappedText = mapping.mapKey(text);
+        if (mappedText != null) {
+            output.append(mappedText);
+        } else {
+            output.append(text);
+        }
+    }
+    protected Lex.Transition[][] getStates() {
+        synchronized (getClass()) {
+            if (states == null) {
+                states = new Lex.Transition[][] {
+                    { //state 0: 
+                        new Lex.CharTransition('<', Lex.ACCUMULATE_CONSUME, -1),
+                        new Lex.ParseExceptionTransition("illegal characters in symbol")
+                    },
+                    { //state 1:
+                        new Lex.CharTransition('/', Lex.ACCUMULATE_CONSUME, -2),
+                        new Lex.CharTransition('>', Lex.ACCUMULATE_CONSUME, SUCCESS),
+                        new Lex.StringTransition(EOLTransition.EOL_CHARS, Lex.IGNORE_PUTBACK, -3),
+                        new Lex.EOFTransition(-3),
+                        new Lex.DefaultTransition(Lex.ACCUMULATE_CONSUME, -1)
+                    },
+                    { //state 2:
+                        new Lex.CharTransition('>', Lex.ACCUMULATE_CONSUME, -1),
+                        new Lex.CharTransition('/', Lex.ACCUMULATE_CONSUME, -1),
+                        new Lex.ParseExceptionTransition("illegal escape character in symbol")
+                    },
+                    { //state 3: failure
+                        new Lex.ParseExceptionTransition("unexpected end of line/file")
+                    }
+                };
+            }
+        }
+        return states;
+    }
+    private static Lex.Transition[][] states;
+    
+    public static void main(String args[]) {
+        try {
+            Lex.Transition[][] states = {{ 
+                new SymbolTransition(SUCCESS),
+                new Lex.EOFTransition(),
+                new Lex.ParseExceptionTransition("bad test input")
+            }};
+            //String text = "<CAPITAL><\"<><//><V%><N6><CYRILLIC>";
+            String text = "<U><S><D> ";
+            StringReader sr = new StringReader(text);
+            PushbackReader pr = new PushbackReader(sr);
+            Lex parser = new Lex(states, pr);
+            //parser.debug(true);
+            int s = parser.nextToken();
+            while (s == SUCCESS) {
+                System.out.println(parser.getData());
+                s = parser.nextToken();
+            }
+        } catch (Exception e) {
+            System.out.println(e);
+        }
+    }
+    //{{DECLARE_CONTROLS
+    //}}
+}
diff --git a/src/com/ibm/icu/dev/tool/localeconverter/TokenTransition.java b/src/com/ibm/icu/dev/tool/localeconverter/TokenTransition.java
new file mode 100755
index 0000000..f23359a
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/localeconverter/TokenTransition.java
@@ -0,0 +1,64 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2002-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.tool.localeconverter;
+
+
+public class TokenTransition extends ComplexTransition {
+    public static final TokenTransition GLOBAL = new TokenTransition(SUCCESS);
+    public static final String SEPARATOR_CHARS = ";" + SpaceTransition.SPACE_CHARS;
+    
+    public TokenTransition(int success) {
+        super(success);
+            //{{INIT_CONTROLS
+        //}}
+}
+    public boolean accepts(int c) {
+        return (c > 0) && 
+            !EOLTransition.GLOBAL.accepts(c) && 
+            !SpaceTransition.GLOBAL.accepts(c) &&  
+            (
+                (SEPARATOR_CHARS.indexOf((char)c) < 0) ||
+                SymbolTransition.GLOBAL.accepts(c) ||
+                QuoteTransition.GLOBAL.accepts(c) ||
+                EscapeTransition.GLOBAL.accepts(c)
+            );
+    }
+    protected Lex.Transition[][] getStates() {
+        return states;
+    }
+    private static final Lex.Transition[][] states = {
+        { //state 0: 
+            new SymbolTransition(-1),
+            new QuoteTransition(-1), 
+            new EscapeTransition(-1),
+            new Lex.StringTransition(EOLTransition.EOL_CHARS, Lex.IGNORE_PUTBACK, -2),
+            new Lex.StringTransition(SEPARATOR_CHARS, Lex.IGNORE_PUTBACK, -3),
+            new Lex.EOFTransition(-4),
+            new Lex.DefaultTransition(Lex.ACCUMULATE_CONSUME, -1)
+        },
+        { //state 1:
+            new SymbolTransition(-1),
+            new QuoteTransition(-1), 
+            new EscapeTransition(-1),
+            new Lex.StringTransition(EOLTransition.EOL_CHARS, Lex.IGNORE_PUTBACK, SUCCESS),
+            new Lex.StringTransition(SEPARATOR_CHARS, Lex.IGNORE_PUTBACK, SUCCESS),
+            new Lex.EOFTransition(SUCCESS),
+            new Lex.DefaultTransition(Lex.ACCUMULATE_CONSUME, -1)
+        },
+        { //state 2: failure - unexpected EOL
+            new Lex.ParseExceptionTransition("unexpected EOL in token")
+        },
+        { //state 3: failure
+            new Lex.ParseExceptionTransition("unexpected seperator character in token")
+        },
+        { //state 4: failure
+            new Lex.ParseExceptionTransition("unexpected EOF in token")
+        },
+    };
+    //{{DECLARE_CONTROLS
+    //}}
+}
diff --git a/src/com/ibm/icu/dev/tool/localeconverter/XLIFF2ICUConverter.java b/src/com/ibm/icu/dev/tool/localeconverter/XLIFF2ICUConverter.java
new file mode 100644
index 0000000..fa87817
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/localeconverter/XLIFF2ICUConverter.java
@@ -0,0 +1,1174 @@
+/*
+******************************************************************************
+* Copyright (C) 2003-2004, International Business Machines Corporation and   *
+* others. All Rights Reserved.                                               *
+******************************************************************************
+*/
+
+package com.ibm.icu.dev.tool.localeconverter;
+
+import com.ibm.icu.dev.tool.UOption;
+import org.w3c.dom.Document;
+import org.w3c.dom.Node;
+import org.w3c.dom.NamedNodeMap;
+import org.w3c.dom.NodeList;
+import org.xml.sax.ErrorHandler;
+import org.xml.sax.InputSource;
+import org.xml.sax.SAXException;
+import org.xml.sax.SAXParseException;
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+
+import java.io.*;
+import java.util.*;
+
+public final class XLIFF2ICUConverter {
+    
+    /**
+     * These must be kept in sync with getOptions().
+     */
+    private static final int HELP1 = 0;
+    private static final int HELP2 = 1;
+    private static final int SOURCEDIR = 2;
+    private static final int DESTDIR = 3;
+    private static final int TARGETONLY = 4;
+    private static final int SOURCEONLY = 5;
+    private static final int MAKE_SOURCE_ROOT = 6;
+       
+    private static final UOption[] options = new UOption[] {
+        UOption.HELP_H(),
+        UOption.HELP_QUESTION_MARK(),
+        UOption.SOURCEDIR(),
+        UOption.DESTDIR(),
+        UOption.create("target-only", 't', UOption.OPTIONAL_ARG),
+        UOption.create("source-only", 'c', UOption.OPTIONAL_ARG),
+        UOption.create("make-source-root", 'r', UOption.NO_ARG)
+    };
+    
+    private static final String ROOT            = "root";
+    private static final String RESTYPE         = "restype";
+    private static final String RESNAME         = "resname";
+    private static final String YES             = "yes";
+    private static final String NO              = "no";
+    private static final String TRANSLATE       = "translate";
+    private static final String BODY            = "body";
+    private static final String GROUPS          = "group";
+    private static final String FILES           = "file";
+    private static final String TRANSUNIT       = "trans-unit";
+    private static final String BINUNIT         = "bin-unit";
+    private static final String BINSOURCE       = "bin-source";
+    private static final String TS              = "ts";
+    private static final String ORIGINAL        = "original";
+    private static final String SOURCELANGUAGE  = "source-language";
+    private static final String TARGETLANGUAGE  = "target-language";
+    private static final String TARGET          = "target";
+    private static final String SOURCE          = "source";
+    private static final String NOTE            = "note";
+    private static final String XMLLANG         = "xml:lang";
+    private static final String FILE            = "file";
+    private static final String INTVECTOR       = "intvector";
+    private static final String ARRAYS          = "array";
+    private static final String STRINGS         = "string";
+    private static final String BIN             = "bin";
+    private static final String INTS            = "int";
+    private static final String TABLE           = "table";
+    private static final String IMPORT          = "import";
+    private static final String HREF            = "href";
+    private static final String EXTERNALFILE    = "external-file";
+    private static final String INTERNALFILE    = "internal-file";
+    private static final String ALTTRANS        = "alt-trans";
+    private static final String CRC             = "crc";
+    private static final String ALIAS           = "alias";
+    private static final String LINESEP         = System.getProperty("line.separator");
+    private static final String BOM             = "\uFEFF";
+    private static final String CHARSET         = "UTF-8";
+    private static final String OPENBRACE       = "{";
+    private static final String CLOSEBRACE      = "}";
+    private static final String COLON           = ":";
+    private static final String COMMA           = ",";
+    private static final String QUOTE           = "\"";
+    private static final String COMMENTSTART    = "/**";
+    private static final String COMMENTEND      = " */";
+    private static final String TAG             = " * @";
+    private static final String COMMENTMIDDLE   = " * ";
+    private static final String SPACE           = " ";
+    private static final String INDENT          = "    ";
+    private static final String EMPTY           = "";
+    private static final String ID              = "id";
+    
+    public static void main(String[] args) {
+        XLIFF2ICUConverter cnv = new XLIFF2ICUConverter();
+        cnv.processArgs(args);
+    }
+    private String    sourceDir      = null;
+    private String    fileName       = null;
+    private String    destDir        = null;
+    private boolean   targetOnly     = false;
+    private String    targetFileName = null; 
+    private boolean   makeSourceRoot = false;
+    private String    sourceFileName = null;
+    private boolean   sourceOnly     = false;
+    
+    private void processArgs(String[] args) {
+        int remainingArgc = 0;
+        try{
+            remainingArgc = UOption.parseArgs(args, options);
+        }catch (Exception e){
+            System.err.println("ERROR: "+ e.toString());
+            usage();
+        }
+        if(args.length==0 || options[HELP1].doesOccur || options[HELP2].doesOccur) {
+            usage();
+        }
+        if(remainingArgc==0){
+            System.err.println("ERROR: Either the file name to be processed is not "+
+                               "specified or the it is specified after the -t/-c \n"+
+                               "option which has an optional argument. Try rearranging "+
+                               "the options.");
+            usage();
+        }
+        if(options[SOURCEDIR].doesOccur) {
+            sourceDir = options[SOURCEDIR].value;
+        }
+        if(options[DESTDIR].doesOccur) {
+            destDir = options[DESTDIR].value;
+        }
+        if(options[TARGETONLY].doesOccur){
+            targetOnly = true;
+            targetFileName = options[TARGETONLY].value;
+        }
+        if(options[SOURCEONLY].doesOccur){
+            sourceOnly = true;
+            sourceFileName = options[SOURCEONLY].value;
+        }
+        
+        if(options[MAKE_SOURCE_ROOT].doesOccur){
+            makeSourceRoot = true;
+        }
+        if(destDir==null){
+            destDir = ".";
+        }
+        if(sourceOnly == true && targetOnly == true){
+            System.err.println("--source-only and --target-only are specified. Please check the arguments and try again.");
+            usage();
+        }
+        
+        for (int i = 0; i < remainingArgc; i++) {
+            int lastIndex = args[i].lastIndexOf(File.separator, args[i].length()) + 1; /* add 1 to skip past the separator */
+            fileName = args[i].substring(lastIndex, args[i].length());
+            String xmlfileName = getFullPath(false,args[i]);
+            System.out.println("Processing file: "+xmlfileName);
+            createRB(xmlfileName);
+        }
+    }
+    
+    private void usage() {
+        System.out.println("\nUsage: XLIFF2ICUConverter [OPTIONS] [FILES]\n\n"+
+            "This program is used to convert XLIFF files to ICU ResourceBundle TXT files.\n"+
+            "Please refer to the following options. Options are not case sensitive.\n"+
+            "Options:\n"+
+            "-s or --sourcedir          source directory for files followed by path, default is current directory.\n" +
+            "-d or --destdir            destination directory, followed by the path, default is current directory.\n" +
+            "-h or -? or --help         this usage text.\n"+
+            "-t or --target-only        only generate the target language txt file, followed by optional output file name.\n" +
+            "                           Cannot be used in conjunction with --source-only.\n"+
+            "-c or --source-only        only generate the source language bundle followed by optional output file name.\n"+
+            "                           Cannot be used in conjunction with --target-only.\n"+
+            "-r or --make-source-root   produce root bundle from source elements.\n" +
+            "example: com.ibm.icu.dev.tool.localeconverter.XLIFF2ICUConverter -t <optional argument> -s xxx -d yyy myResources.xlf");
+        System.exit(-1);
+    }
+    
+    private String getFullPath(boolean fileType, String fName){
+        String str;
+        int lastIndex1 = fName.lastIndexOf(File.separator, fName.length()) + 1; /*add 1 to skip past the separator*/
+        int lastIndex2 = fName.lastIndexOf('.', fName.length());
+        if (fileType == true) {
+            if(lastIndex2 == -1){
+                fName = fName.trim() + ".txt";
+            }else{
+                if(!fName.substring(lastIndex2).equalsIgnoreCase(".txt")){
+                    fName =  fName.substring(lastIndex1,lastIndex2) + ".txt";
+                }
+            }
+            if (destDir != null && fName != null) {
+                str = destDir + File.separator + fName.trim();                   
+            } else {
+                str = System.getProperty("user.dir") + File.separator + fName.trim();
+            }
+        } else {
+            if(lastIndex2 == -1){
+                fName = fName.trim() + ".xlf";
+            }else{
+                if(!fName.substring(lastIndex2).equalsIgnoreCase(".xml") && fName.substring(lastIndex2).equalsIgnoreCase(".xlf")){
+                    fName = fName.substring(lastIndex1,lastIndex2) + ".xlf";
+                }
+            }
+            if(sourceDir != null && fName != null) {
+                str = sourceDir + File.separator + fName;
+            } else if (lastIndex1 > 0) {
+                str = fName;
+            } else {
+                str = System.getProperty("user.dir") + File.separator + fName;
+            }
+        }
+        return str;
+    }   
+
+    /*
+     * Utility method to translate a String filename to URL.  
+     *
+     * Note: This method is not necessarily proven to get the 
+     * correct URL for every possible kind of filename; it should 
+     * be improved.  It handles the most common cases that we've 
+     * encountered when running Conformance tests on Xalan.
+     * Also note, this method does not handle other non-file:
+     * flavors of URLs at all.
+     *
+     * If the name is null, return null.
+     * If the name starts with a common URI scheme (namely the ones 
+     * found in the examples of RFC2396), then simply return the 
+     * name as-is (the assumption is that it's already a URL)
+     * Otherwise we attempt (cheaply) to convert to a file:/// URL.
+     */
+    private static String filenameToURL(String filename){
+        // null begets null - something like the commutative property
+        if (null == filename){
+            return null;
+        }
+
+        // Don't translate a string that already looks like a URL
+        if (filename.startsWith("file:")
+            || filename.startsWith("http:")
+            || filename.startsWith("ftp:")
+            || filename.startsWith("gopher:")
+            || filename.startsWith("mailto:")
+            || filename.startsWith("news:")
+            || filename.startsWith("telnet:")
+           ){
+               return filename;
+           }
+        
+
+        File f = new File(filename);
+        String tmp = null;
+        try{
+            // This normally gives a better path
+            tmp = f.getCanonicalPath();
+        }catch (IOException ioe){
+            // But this can be used as a backup, for cases 
+            //  where the file does not exist, etc.
+            tmp = f.getAbsolutePath();
+        }
+
+        // URLs must explicitly use only forward slashes
+        if (File.separatorChar == '\\') {
+            tmp = tmp.replace('\\', '/');
+        }
+        // Note the presumption that it's a file reference
+        // Ensure we have the correct number of slashes at the 
+        //  start: we always want 3 /// if it's absolute
+        //  (which we should have forced above)
+        if (tmp.startsWith("/")){
+            return "file://" + tmp;
+        }
+        else{
+            return "file:///" + tmp;
+        }
+    }
+    private boolean isXmlLang (String lang){
+
+        int suffix;
+        char c;
+        
+        if (lang.length () < 2){
+            return false;
+        }
+
+        c = lang.charAt(1);
+        if (c == '-') {        
+            c = lang.charAt(0);
+            if (!(c == 'i' || c == 'I' || c == 'x' || c == 'X')){
+                return false;
+            }
+            suffix = 1;
+        } else if ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z')) {
+            c = lang.charAt(0);
+            if (!((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z'))){
+                return false;
+            }
+            suffix = 2;
+        } else{
+            return false;
+        }
+        while (suffix < lang.length ()) {
+            c = lang.charAt(suffix);
+            if (c != '-'){
+                break;
+            }
+            while (++suffix < lang.length ()) {
+                c = lang.charAt(suffix);
+                if (!((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z'))){
+                    break;
+                }
+            }
+        }
+        return  ((lang.length() == suffix) && (c != '-'));
+    }
+    
+    private void createRB(String xmlfileName) {
+       
+        String urls = filenameToURL(xmlfileName);
+        DocumentBuilderFactory dfactory = DocumentBuilderFactory.newInstance();
+        dfactory.setNamespaceAware(true);
+        dfactory.setValidating(true);
+        Document doc = null;
+        
+        ErrorHandler nullHandler = new ErrorHandler() {
+            public void warning(SAXParseException e) throws SAXException {
+                            
+            }
+            public void error(SAXParseException e) throws SAXException {
+                System.err.println("The XLIFF document is invalid, please check it first: ");
+                System.err.println("Line "+e.getLineNumber()+", Column "+e.getColumnNumber());
+                System.err.println("Error: " + e.getMessage());
+                System.exit(0);
+            }
+            public void fatalError(SAXParseException e) throws SAXException {
+                throw e;
+            }
+        };
+        
+        try {
+            DocumentBuilder docBuilder = dfactory.newDocumentBuilder();
+            docBuilder.setErrorHandler(nullHandler);
+            doc = docBuilder.parse(new InputSource(urls));
+            
+            NodeList nlist = doc.getElementsByTagName(FILES);
+            if(nlist.getLength()>1){
+                throw new RuntimeException("Multiple <file> elements in the XLIFF file not supported.");
+            }
+            // get the value of source-language attribute
+            String sourceLang = getLanguageName(doc, SOURCELANGUAGE);
+            // get the value of target-language attribute
+            String targetLang = getLanguageName(doc, TARGETLANGUAGE);
+            
+            // get the list of <source> elements
+            NodeList sourceList = doc.getElementsByTagName(SOURCE);
+            // get the list of target elements
+            NodeList targetList = doc.getElementsByTagName(TARGET);
+            
+            // check if the xliff file has source elements in multiple languages
+            // the source-language value should be the same as xml:lang values
+            // of all the source elements.
+            String xmlSrcLang = checkLangAttribute(sourceList, sourceLang);
+            
+            // check if the xliff file has target elements in multiple languages
+            // the target-language value should be the same as xml:lang values
+            // of all the target elements.
+            String xmlTargetLang = checkLangAttribute(targetList, targetLang);
+            
+            // Create the Resource linked list which will hold the
+            // source and target bundles after parsing
+            Resource[] set = new Resource[2];
+            set[0] = new ResourceTable();
+            set[1] = new ResourceTable();
+            
+            // lenient extraction of source language
+            if(makeSourceRoot == true){ 
+                set[0].name = ROOT;
+            }else if(sourceLang!=null){
+                set[0].name = sourceLang.replace('-','_');
+            }else{
+                if(xmlSrcLang != null){
+                    set[0].name = xmlSrcLang.replace('-','_');
+                }else{
+                    System.err.println("ERROR: Could not figure out the source language of the file. Please check the XLIFF file.");
+                    System.exit(-1);
+                }
+            }
+            
+            // lenient extraction of the target language
+            if(targetLang!=null){
+                set[1].name = targetLang.replace('-','_');
+            }else{
+                if(xmlTargetLang!=null){
+                    set[1].name = xmlTargetLang.replace('-','_');
+                }else{
+                    System.err.println("WARNING: Could not figure out the target language of the file. Producing source bundle only.");
+                }
+            }
+   
+            
+            // check if any <alt-trans> elements are present
+            NodeList altTrans = doc.getElementsByTagName(ALTTRANS);
+            if(altTrans.getLength()>0){
+                System.err.println("WARNING: <alt-trans> elements in found. Ignoring all <alt-trans> elements.");
+            }
+            
+            // get all the group elements
+            NodeList list = doc.getElementsByTagName(GROUPS);
+            
+            // process the first group element. The first group element is 
+            // the base table that must be parsed recursively
+            parseTable(list.item(0), set);
+            
+            // write out the bundle
+            writeResource(set, xmlfileName);
+         }
+        catch (Throwable se) {
+            System.err.println("ERROR: " + se.toString());
+            System.exit(1);
+        }        
+    }
+    
+    private void writeResource(Resource[] set, String xmlfileName){
+        if(targetOnly==false){
+            writeResource(set[0], xmlfileName, sourceFileName);
+        }
+        if(sourceOnly == false){
+            if(targetOnly==true && set[1].name == null){
+                throw new RuntimeException("The "+ xmlfileName +" does not contain translation\n");
+            }
+            if(set[1].name != null){
+                writeResource(set[1], xmlfileName, targetFileName);
+            }
+        }
+    }
+    
+    private void writeResource(Resource set, String sourceFileName, String targetFileName){
+        try {
+            String outputFileName = null;
+            if(targetFileName != null){
+                outputFileName = destDir+File.separator+targetFileName+".txt";
+            }else{
+                outputFileName = destDir+File.separator+set.name+".txt";
+            }
+            FileOutputStream file = new FileOutputStream(outputFileName);
+            BufferedOutputStream writer = new BufferedOutputStream(file);
+
+            writeHeader(writer,sourceFileName);
+            
+            //Now start writing the resource;
+            Resource current = set;
+            while(current!=null){
+                current.write(writer, 0, false);
+                current = current.next;
+            }
+            writer.flush();
+            writer.close();
+        } catch (Exception ie) {
+            System.err.println("ERROR :" + ie.toString());
+            return;
+        }
+    }
+    
+    private String getLanguageName(Document doc, String lang){
+        if(doc!=null){
+            NodeList list = doc.getElementsByTagName(FILE);
+            Node node = list.item(0);
+            NamedNodeMap attr = node.getAttributes();
+            Node orig = attr.getNamedItem(lang);
+            
+            if(orig != null){
+                String name = orig.getNodeValue();
+                NodeList groupList = doc.getElementsByTagName(GROUPS);
+                Node group = groupList.item(0);
+                NamedNodeMap groupAtt = group.getAttributes();
+                Node id = groupAtt.getNamedItem(ID);
+                if(id!=null){
+                    String idVal = id.getNodeValue();
+                    
+                    if(!name.equals(idVal)){
+                        System.out.println("WARNING: The id value != language name. " +
+                                           "Please compare the output with the orignal " +
+                                           "ICU ResourceBundle before proceeding.");
+                    }
+                }
+                if(!isXmlLang(name)){
+                    System.err.println("The attribute "+ lang + "=\""+ name +
+                                       "\" of <file> element does not satisfy RFC 1766 conditions.");
+                    System.exit(-1);
+                }
+                return name;
+            }
+        }
+        return null;
+    }
+    
+    // check if the xliff file is translated into multiple languages
+    // The XLIFF specification allows for single <target> element
+    // as the child of <trans-unit> but the attributes of the 
+    // <target> element may different across <trans-unit> elements
+    // check for it. Similar is the case with <source> elements
+    private String checkLangAttribute(NodeList list, String origName){
+        String oldLangName=origName;
+        for(int i = 0 ;i<list.getLength(); i++){
+            Node node = list.item(i);
+            NamedNodeMap attr = node.getAttributes();
+            Node lang = attr.getNamedItem(XMLLANG);
+            String langName = null;
+            // the target element should always contain xml:lang attribute
+            if(lang==null ){
+                if(origName==null){
+                    System.err.println("Encountered <target> element without xml:lang attribute. Please fix the below element in the XLIFF file.\n"+ node.toString());
+                    System.exit(-1);
+                }else{
+                    langName = origName;
+                }
+            }else{
+                langName = lang.getNodeValue();
+            }
+
+            if(oldLangName!=null && langName!=null && !langName.equals(oldLangName)){
+                throw new RuntimeException("The <trans-unit> elements must be bilingual, multilingual tranlations not supported. xml:lang = " + oldLangName + 
+                                           " and xml:lang = " + langName);
+            }
+            oldLangName = langName;
+        }
+        return oldLangName;
+    }
+    
+    private class Resource{
+        String[] note = new String[20];
+        int noteLen = 0;
+        String translate;
+        String comment;
+        String name;
+        Resource next;
+        public String escapeSyntaxChars(String val){
+            // escape the embedded quotes
+            char[] str = val.toCharArray();
+            StringBuffer result = new StringBuffer();
+            for(int i=0; i<str.length; i++){
+                switch (str[i]){
+                    case '\u0022':
+                        result.append('\\'); //append backslash
+                    default:
+                        result.append(str[i]);
+                }      
+            }
+            return result.toString();
+        }
+        public void write(OutputStream writer, int numIndent, boolean bare){
+            while(next!=null){
+                next.write(writer, numIndent+1, false);
+            }
+        }
+        public void writeIndent(OutputStream writer, int numIndent){
+            for(int i=0; i< numIndent; i++){
+                write(writer,INDENT);
+            }
+        }
+        public void write(OutputStream writer, String value){
+            try {
+                byte[] bytes = value.getBytes(CHARSET);
+                writer.write(bytes, 0, bytes.length);
+            } catch(Exception e) {
+                System.err.println(e);
+                System.exit(1);
+            }
+        }
+        public void writeComments(OutputStream writer, int numIndent){
+            if(comment!=null || translate != null || noteLen > 0){
+                // print the start of the comment
+                writeIndent(writer, numIndent);
+                write(writer, COMMENTSTART+LINESEP);
+                
+                // print comment if any
+                if(comment!=null){
+                    writeIndent(writer, numIndent);
+                    write(writer, COMMENTMIDDLE);
+                    write(writer, comment);
+                    write(writer, LINESEP);
+                }
+                
+                // print the translate attribute if any
+                if(translate!=null){
+                    writeIndent(writer, numIndent);
+                    write(writer, TAG+TRANSLATE+SPACE);
+                    write(writer, translate);
+                    write(writer, LINESEP);
+                }
+                
+                // print note elements if any
+                for(int i=0; i<noteLen; i++){
+                    if(note[i]!=null){
+                        writeIndent(writer, numIndent);
+                        write(writer, TAG+NOTE+SPACE+note[i]);
+                        write(writer, LINESEP);
+                    }
+                }
+                
+                // terminate the comment
+                writeIndent(writer, numIndent);
+                write(writer, COMMENTEND+LINESEP);
+            }          
+        }
+    }
+
+    private class ResourceString extends Resource{
+        String val;
+        public void write(OutputStream writer, int numIndent, boolean bare){
+            writeComments(writer, numIndent);
+            writeIndent(writer, numIndent);
+            if(bare==true){
+                if(name!=null){
+                    throw new RuntimeException("Bare option is set to true but the resource has a name!");
+                }
+                
+                write(writer,QUOTE+escapeSyntaxChars(val)+QUOTE); 
+            }else{
+                write(writer, name+COLON+STRINGS+ OPENBRACE + QUOTE + escapeSyntaxChars(val) + QUOTE+ CLOSEBRACE + LINESEP);
+            }
+        }
+    }
+    private class ResourceAlias extends Resource{
+        String val;
+        public void write(OutputStream writer, int numIndent, boolean bare){
+            writeComments(writer, numIndent);
+            writeIndent(writer, numIndent);
+            String line =  ((name==null)? EMPTY: name)+COLON+ALIAS+ OPENBRACE+QUOTE+escapeSyntaxChars(val)+QUOTE+CLOSEBRACE;
+            if(bare==true){
+                if(name!=null){
+                    throw new RuntimeException("Bare option is set to true but the resource has a name!");
+                }
+                write(writer,line); 
+            }else{
+                write(writer, line+LINESEP);
+            }
+        }
+    }
+    private class ResourceInt extends Resource{
+        String val;
+        public void write(OutputStream writer, int numIndent, boolean bare){
+            writeComments(writer, numIndent);
+            writeIndent(writer, numIndent);
+            String line =  ((name==null)? EMPTY: name)+COLON+INTS+ OPENBRACE + val +CLOSEBRACE;
+            if(bare==true){
+                if(name!=null){
+                    throw new RuntimeException("Bare option is set to true but the resource has a name!");
+                }
+                write(writer,line); 
+            }else{
+                write(writer, line+LINESEP);
+            }
+        }
+    }
+    private class ResourceBinary extends Resource{
+        String internal;
+        String external;
+        public void write(OutputStream writer, int numIndent, boolean bare){
+            writeComments(writer, numIndent);
+            writeIndent(writer, numIndent);
+            if(internal==null){
+                String line = ((name==null) ? EMPTY : name)+COLON+IMPORT+ OPENBRACE+QUOTE+external+QUOTE+CLOSEBRACE + ((bare==true) ?  EMPTY : LINESEP);
+                write(writer, line);
+            }else{
+                String line = ((name==null) ? EMPTY : name)+COLON+BIN+ OPENBRACE+internal+CLOSEBRACE+ ((bare==true) ?  EMPTY : LINESEP);
+                write(writer,line);
+            }
+            
+        }
+    }
+    private class ResourceIntVector extends Resource{
+        ResourceInt first;
+        public void write(OutputStream writer, int numIndent, boolean bare){
+            writeComments(writer, numIndent);
+            writeIndent(writer, numIndent);
+            write(writer, name+COLON+INTVECTOR+OPENBRACE+LINESEP);
+            numIndent++;
+            ResourceInt current = (ResourceInt) first;
+            while(current != null){
+                //current.write(writer, numIndent, true);
+                writeIndent(writer, numIndent);
+                write(writer, current.val);
+                write(writer, COMMA+LINESEP);
+                current = (ResourceInt) current.next;
+            }
+            numIndent--;
+            writeIndent(writer, numIndent);
+            write(writer, CLOSEBRACE+LINESEP);
+        }
+    }
+    private class ResourceTable extends Resource{
+        Resource first;
+        public void write(OutputStream writer, int numIndent, boolean bare){
+            writeComments(writer, numIndent);
+            writeIndent(writer, numIndent);
+            write(writer, name+COLON+TABLE+OPENBRACE+LINESEP);
+            numIndent++;
+            Resource current = first;
+            while(current != null){
+                current.write(writer, numIndent, false);
+                current = current.next;
+            }
+            numIndent--;
+            writeIndent(writer, numIndent);
+            write(writer, CLOSEBRACE+LINESEP);
+        }
+    }
+    private class ResourceArray extends Resource{
+        Resource first;
+        public void write(OutputStream writer, int numIndent, boolean bare){
+            writeComments(writer, numIndent);
+            writeIndent(writer, numIndent);
+            write(writer, name+COLON+ARRAYS+OPENBRACE+LINESEP);
+            numIndent++;
+            Resource current = first;
+            while(current != null){
+                current.write(writer, numIndent, true);
+                write(writer, COMMA+LINESEP);
+                current = current.next;
+            }
+            numIndent--;
+            writeIndent(writer, numIndent);
+            write(writer, CLOSEBRACE+LINESEP);
+        }
+    }
+    
+    private String getAttributeValue(Node sNode, String attribName){
+        String value=null;
+        Node node = sNode;
+
+        NamedNodeMap attributes = node.getAttributes();
+        Node attr = attributes.getNamedItem(attribName);
+        if(attr!=null){
+            value = attr.getNodeValue();
+        }
+
+        return value;
+    }
+    
+    private void parseResourceString(Node node, ResourceString[] set){
+        ResourceString currentSource;
+        ResourceString currentTarget;
+        currentSource =  set[0];
+        currentTarget =  set[1];
+        String resName   = getAttributeValue(node, RESNAME);
+        String translate = getAttributeValue(node, TRANSLATE);
+        
+        // loop to pickup <source>, <note> and <target> elements
+        for(Node transUnit = node.getFirstChild(); transUnit!=null; transUnit = transUnit.getNextSibling()){
+            short type = transUnit.getNodeType();
+            String name = transUnit.getNodeName();
+            if(type == Node.COMMENT_NODE){
+                // get the comment
+               currentSource.comment =  currentTarget.comment = transUnit.getNodeValue();
+            }else if( type == Node.ELEMENT_NODE){
+                if(name.equals(SOURCE)){
+                    // save the source and target values
+                    currentSource.name = currentTarget.name = resName;
+                    currentSource.val = currentTarget.val = transUnit.getFirstChild().getNodeValue();
+                    currentSource.translate = currentTarget.translate = translate;
+                }else if(name.equals(NOTE)){
+                    // save the note values
+                    currentSource.note[currentSource.noteLen++] = 
+                        currentTarget.note[currentTarget.noteLen++] =
+                        transUnit.getFirstChild().getNodeValue();
+                }else if(name.equals(TARGET)){
+                    // if there is a target element replace it
+                    currentTarget.val = transUnit.getFirstChild().getNodeValue();
+                }
+            }
+            
+        }
+    }
+
+    private void parseResourceInt(Node node, ResourceInt[] set){
+        ResourceInt currentSource;
+        ResourceInt currentTarget;
+        currentSource =  set[0];
+        currentTarget =  set[1];
+        String resName   = getAttributeValue(node, RESNAME);
+        String translate = getAttributeValue(node, TRANSLATE);
+        // loop to pickup <source>, <note> and <target> elements
+        for(Node transUnit = node.getFirstChild(); transUnit!=null; transUnit = transUnit.getNextSibling()){
+            short type = transUnit.getNodeType();
+            String name = transUnit.getNodeName();
+            if(type == Node.COMMENT_NODE){
+                // get the comment
+               currentSource.comment =  currentTarget.comment = transUnit.getNodeValue();
+            }else if( type == Node.ELEMENT_NODE){
+                if(name.equals(SOURCE)){
+                    // save the source and target values
+                    currentSource.name = currentTarget.name = resName;
+                    currentSource.translate = currentTarget.translate = translate;
+                    currentSource.val = currentTarget.val = transUnit.getFirstChild().getNodeValue();
+                }else if(name.equals(NOTE)){
+                    // save the note values
+                    currentSource.note[currentSource.noteLen++] = 
+                        currentTarget.note[currentTarget.noteLen++] =
+                        transUnit.getFirstChild().getNodeValue();
+                }else if(name.equals(TARGET)){
+                    // if there is a target element replace it
+                    currentTarget.val = transUnit.getFirstChild().getNodeValue();
+                }
+            }
+            
+        }
+    }
+    
+    private void parseResourceAlias(Node node, ResourceAlias[] set){
+        ResourceAlias currentSource;
+        ResourceAlias currentTarget;
+        currentSource =  set[0];
+        currentTarget =  set[1];
+        String resName   = getAttributeValue(node, RESNAME);
+        String translate = getAttributeValue(node, TRANSLATE);
+        // loop to pickup <source>, <note> and <target> elements
+        for(Node transUnit = node.getFirstChild(); transUnit!=null; transUnit = transUnit.getNextSibling()){
+            short type = transUnit.getNodeType();
+            String name = transUnit.getNodeName();
+            if(type == Node.COMMENT_NODE){
+                // get the comment
+               currentSource.comment =  currentTarget.comment = transUnit.getNodeValue();
+            }else if( type == Node.ELEMENT_NODE){
+                if(name.equals(SOURCE)){
+                    // save the source and target values
+                    currentSource.name = currentTarget.name = resName;
+                    currentSource.translate = currentTarget.translate = translate;
+                    currentSource.val = currentTarget.val = transUnit.getFirstChild().getNodeValue();
+                }else if(name.equals(NOTE)){
+                    // save the note values
+                    currentSource.note[currentSource.noteLen++] = 
+                        currentTarget.note[currentTarget.noteLen++] =
+                        transUnit.getFirstChild().getNodeValue();
+                }else if(name.equals(TARGET)){
+                    // if there is a target element replace it
+                    currentTarget.val = transUnit.getFirstChild().getNodeValue();
+                }
+            }
+            
+        }
+    }
+    private void parseResourceBinary(Node node, ResourceBinary[] set){
+        ResourceBinary currentSource;
+        ResourceBinary currentTarget;
+        currentSource =  set[0];
+        currentTarget =  set[1];
+
+        // loop to pickup <source>, <note> and <target> elements
+        for(Node transUnit = node.getFirstChild(); transUnit!=null; transUnit = transUnit.getNextSibling()){
+            short type = transUnit.getNodeType();
+            String name = transUnit.getNodeName();
+            if(type == Node.COMMENT_NODE){
+                // get the comment
+               currentSource.comment =  currentTarget.comment = transUnit.getNodeValue();
+            }else if( type == Node.ELEMENT_NODE){
+                if(name.equals(BINSOURCE)){
+                    // loop to pickup internal-file/extenal-file element
+                    continue;
+                }else if(name.equals(NOTE)){
+                    // save the note values
+                    currentSource.note[currentSource.noteLen++] = 
+                        currentTarget.note[currentTarget.noteLen++] =
+                        transUnit.getFirstChild().getNodeValue();
+                }else if(name.equals(INTERNALFILE)){
+                    // if there is a target element replace it
+                    String crc = getAttributeValue(transUnit, CRC);
+                    String value = transUnit.getFirstChild().getNodeValue();
+                    
+                    //verify that the binary value conforms to the CRC
+                    if(Integer.parseInt(crc, 10) != CalculateCRC32.computeCRC32(value)) {
+                        System.err.println("ERROR: CRC value incorrect! Please check.");
+                        System.exit(1);
+                    }
+                    
+                    currentTarget.internal = currentSource.internal= value;
+                    
+                }else if(name.equals(EXTERNALFILE)){
+                    String fileName = getAttributeValue(transUnit, HREF);
+                    currentTarget.external = currentSource.external = fileName;
+                }
+            }
+            
+        }
+    }
+    private void parseTransUnit(Node node, Resource[] set){
+
+        String attrType = getAttributeValue(node, RESTYPE);
+        String translate = getAttributeValue(node, TRANSLATE);
+        if(attrType==null || attrType.equals(STRINGS)){
+            ResourceString[] strings = new ResourceString[2];
+            strings[0] = new ResourceString();
+            strings[1] = new ResourceString();
+            parseResourceString(node, strings);
+            strings[0].translate = strings[1].translate = translate;
+            set[0] = strings[0];
+            set[1] = strings[1];
+        }else if(attrType.equals(INTS)){
+            ResourceInt[] ints = new ResourceInt[2];
+            ints[0] = new ResourceInt();
+            ints[1] = new ResourceInt();
+            parseResourceInt(node, ints);
+            ints[0].translate = ints[1].translate = translate;
+            set[0] = ints[0];
+            set[1] = ints[1];
+        }else if(attrType.equals(ALIAS)){
+            ResourceAlias[] ints = new ResourceAlias[2];
+            ints[0] = new ResourceAlias();
+            ints[1] = new ResourceAlias();
+            parseResourceAlias(node, ints);
+            ints[0].translate = ints[1].translate = translate;
+            set[0] = ints[0];
+            set[1] = ints[1];
+        }
+    }
+
+    private void parseBinUnit(Node node, Resource[] set){
+        ResourceBinary[] bins = new ResourceBinary[2];
+        bins[0] = new ResourceBinary();
+        bins[1] = new ResourceBinary();
+        Resource currentSource = bins[0];
+        Resource currentTarget = bins[1];
+        String resName   = getAttributeValue(node, RESNAME);
+        String translate = getAttributeValue(node, TRANSLATE);
+        currentTarget.name = currentSource.name = resName;
+        currentSource.translate = currentTarget.translate = translate;
+        for(Node child = node.getFirstChild(); child != null; child = child.getNextSibling()){
+            short type = child.getNodeType();
+            String name = child.getNodeName();
+            if(type == Node.COMMENT_NODE){
+                currentSource.comment = currentTarget.comment = child.getNodeValue();
+            }else if(type == Node.ELEMENT_NODE){
+                if(name.equals(BINSOURCE)){
+                    parseResourceBinary(child, bins);
+                }else if(name.equals(NOTE)){
+                    String note =  child.getFirstChild().getNodeValue();
+                    currentSource.note[currentSource.noteLen++] = currentTarget.note[currentTarget.noteLen++] = note;
+                }
+            }
+        }
+        set[0] = bins[0];
+        set[1] = bins[1];
+    }
+    
+    private void parseArray(Node node, Resource[] set){
+        if(set[0]==null){
+            set[0] = new ResourceArray();
+            set[1] = new ResourceArray();
+        }
+        Resource currentSource = set[0];
+        Resource currentTarget = set[1];
+        String resName = getAttributeValue(node, RESNAME);
+        currentSource.name = currentTarget.name = resName;
+        boolean isFirst = true;
+        
+        for(Node child = node.getFirstChild(); child != null; child = child.getNextSibling()){
+            short type = child.getNodeType();
+            String name = child.getNodeName();
+            if(type == Node.COMMENT_NODE){
+                currentSource.comment = currentTarget.comment = child.getNodeValue();
+            }else if(type == Node.ELEMENT_NODE){
+                if(name.equals(TRANSUNIT)){
+                    Resource[] next = new Resource[2];
+                    parseTransUnit(child, next);
+                    if(isFirst==true){
+                       ((ResourceArray) currentSource).first = next[0];
+                       ((ResourceArray) currentTarget).first = next[1];
+                       currentSource = ((ResourceArray) currentSource).first;
+                       currentTarget = ((ResourceArray) currentTarget).first;
+                       isFirst = false;
+                    }else{
+                        currentSource.next = next[0];
+                        currentTarget.next = next[1];
+                        // set the next pointers
+                        currentSource = currentSource.next;
+                        currentTarget = currentTarget.next;
+                    }
+                }else if(name.equals(NOTE)){
+                    String note =  child.getFirstChild().getNodeValue();
+                    currentSource.note[currentSource.noteLen++] = currentTarget.note[currentTarget.noteLen++] = note;
+                }else if(name.equals(BINUNIT)){
+                    Resource[] next = new Resource[2];
+                    parseBinUnit(child, next);
+                    if(isFirst==true){
+                       ((ResourceArray) currentSource).first = next[0];
+                       ((ResourceArray) currentTarget).first = next[1];
+                       currentSource = ((ResourceArray) currentSource).first.next;
+                       currentTarget = ((ResourceArray) currentTarget).first.next;
+                       isFirst = false;
+                    }else{
+                        currentSource.next = next[0];
+                        currentTarget.next = next[1];
+                        // set the next pointers
+                        currentSource = currentSource.next;
+                        currentTarget = currentTarget.next;
+                    }
+                }
+            }
+        }
+    }
+    private void parseIntVector(Node node, Resource[] set){
+        if(set[0]==null){
+            set[0] = new ResourceIntVector();
+            set[1] = new ResourceIntVector();
+        }
+        Resource currentSource = set[0];
+        Resource currentTarget = set[1];
+        String resName = getAttributeValue(node, RESNAME);
+        String translate = getAttributeValue(node,TRANSLATE);
+        currentSource.name = currentTarget.name = resName;
+        currentSource.translate = translate;
+        boolean isFirst = true;
+        for(Node child = node.getFirstChild(); child != null; child = child.getNextSibling()){
+            short type = child.getNodeType();
+            String name = child.getNodeName();
+            if(type == Node.COMMENT_NODE){
+                currentSource.comment = currentTarget.comment = child.getNodeValue();
+            }else if(type == Node.ELEMENT_NODE){
+                if(name.equals(TRANSUNIT)){
+                    Resource[] next = new Resource[2];
+                    parseTransUnit(child, next);
+                    if(isFirst==true){
+                        // the down cast should be safe .. if not something is terribly wrong!!
+                       ((ResourceIntVector) currentSource).first = (ResourceInt)next[0];
+                       ((ResourceIntVector) currentTarget).first = (ResourceInt) next[1];
+                       currentSource = ((ResourceIntVector) currentSource).first;
+                       currentTarget = ((ResourceIntVector) currentTarget).first;
+                       isFirst = false;
+                    }else{
+                        currentSource.next = next[0];
+                        currentTarget.next = next[1];
+                        // set the next pointers
+                        currentSource = currentSource.next;
+                        currentTarget = currentTarget.next;
+                    }
+                }else if(name.equals(NOTE)){
+                    String note =  child.getFirstChild().getNodeValue();
+                    currentSource.note[currentSource.noteLen++] = currentTarget.note[currentTarget.noteLen++] = note;
+                }
+            }
+        }
+    }
+    private void parseTable(Node node, Resource[] set){
+        if(set[0]==null){
+            set[0] = new ResourceTable();
+            set[1] = new ResourceTable();
+        }
+        Resource currentSource = set[0];
+        Resource currentTarget = set[1];
+        
+        String resName = getAttributeValue(node, RESNAME);
+        String translate = getAttributeValue(node,TRANSLATE);
+        if(resName!=null && currentSource.name==null && currentTarget.name==null){
+            currentSource.name = currentTarget.name = resName;
+        }
+        currentTarget.translate = currentSource.translate = translate;
+        
+        boolean isFirst = true;
+        for(Node child = node.getFirstChild(); child != null; child = child.getNextSibling()){
+            short type = child.getNodeType();
+            String name = child.getNodeName();
+            if(type == Node.COMMENT_NODE){
+                currentSource.comment = currentTarget.comment = child.getNodeValue();
+            }else if(type == Node.ELEMENT_NODE){
+                if(name.equals(GROUPS)){
+                    Resource[] next = new Resource[2];
+                    parseGroup(child, next);
+                    if(isFirst==true){
+                        // the down cast should be safe .. if not something is terribly wrong!!
+                       ((ResourceTable) currentSource).first = next[0];
+                       ((ResourceTable) currentTarget).first = next[1];
+                       currentSource = ((ResourceTable) currentSource).first;
+                       currentTarget = ((ResourceTable) currentTarget).first;
+                       isFirst = false;
+                    }else{
+                        currentSource.next = next[0];
+                        currentTarget.next = next[1];
+                        // set the next pointers
+                        currentSource = currentSource.next;
+                        currentTarget = currentTarget.next;
+                    }
+                }else if(name.equals(TRANSUNIT)){
+                    Resource[] next = new Resource[2];
+                    parseTransUnit(child, next);
+                    if(isFirst==true){
+                        // the down cast should be safe .. if not something is terribly wrong!!
+                       ((ResourceTable) currentSource).first = next[0];
+                       ((ResourceTable) currentTarget).first = next[1];
+                       currentSource = ((ResourceTable) currentSource).first;
+                       currentTarget = ((ResourceTable) currentTarget).first;
+                       isFirst = false;
+                    }else{
+                        currentSource.next = next[0];
+                        currentTarget.next = next[1];
+                        // set the next pointers
+                        currentSource = currentSource.next;
+                        currentTarget = currentTarget.next;
+                    }
+                }else if(name.equals(NOTE)){
+                    String note =  child.getFirstChild().getNodeValue();
+                    currentSource.note[currentSource.noteLen++] = currentTarget.note[currentTarget.noteLen++] = note;
+                }else if(name.equals(BINUNIT)){
+                    Resource[] next = new Resource[2];
+                    parseBinUnit(child, next);
+                    if(isFirst==true){
+                        // the down cast should be safe .. if not something is terribly wrong!!
+                       ((ResourceTable) currentSource).first = next[0];
+                       ((ResourceTable) currentTarget).first = next[1];
+                       currentSource = ((ResourceTable) currentSource).first;
+                       currentTarget = ((ResourceTable) currentTarget).first;
+                       isFirst = false;
+                    }else{
+                        currentSource.next = next[0];
+                        currentTarget.next = next[1];
+                        // set the next pointers
+                        currentSource = currentSource.next;
+                        currentTarget = currentTarget.next;
+                    }
+                }
+            }
+        }
+    }
+    
+    private void parseGroup(Node node, Resource[] set){
+
+        // figure out what kind of group this is
+        String resType = getAttributeValue(node, RESTYPE);
+        if(resType.equals(ARRAYS)){
+            parseArray(node, set);
+        }else if( resType.equals(TABLE)){
+            parseTable(node, set);
+        }else if( resType.equals(INTVECTOR)){
+            parseIntVector(node, set);
+        }
+    }
+    
+
+    private void writeLine(OutputStream writer, String line) {
+        try {
+            byte[] bytes = line.getBytes(CHARSET);
+            writer.write(bytes, 0, bytes.length);
+        } catch (Exception e) {
+            System.err.println(e);
+            System.exit(1);
+        }
+    }
+    
+    private void writeHeader(OutputStream writer, String fileName){
+        writeBOM(writer);
+        Calendar c = Calendar.getInstance();
+        StringBuffer buffer =new StringBuffer();
+        buffer.append("// ***************************************************************************" + LINESEP);
+        buffer.append("// *" + LINESEP);
+        buffer.append("// * Tool: com.ibm.icu.dev.tool.localeconverter.XLIFF2ICUConverter.java" + LINESEP);
+        buffer.append("// * Date & Time: " + c.get(Calendar.YEAR) + "/" + (c.get(Calendar.MONTH)+1) + "/" + c.get(Calendar.DAY_OF_MONTH) + " " + c.get(Calendar.HOUR_OF_DAY) + COLON + c.get(Calendar.MINUTE)+ LINESEP);
+        buffer.append("// * Source File: " + fileName + LINESEP);
+        buffer.append("// *" + LINESEP);                    
+        buffer.append("// ***************************************************************************" + LINESEP);
+        writeLine(writer, buffer.toString());
+
+    }
+    
+    private  void writeBOM(OutputStream buffer) {
+        try {
+            byte[] bytes = BOM.getBytes(CHARSET);
+            buffer.write(bytes, 0, bytes.length);
+        } catch(Exception e) {
+            System.err.println(e);
+            System.exit(1);
+        }
+    }
+}
diff --git a/src/com/ibm/icu/dev/tool/localeconverter/manifest.xliff.stub b/src/com/ibm/icu/dev/tool/localeconverter/manifest.xliff.stub
new file mode 100644
index 0000000..2aff183
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/localeconverter/manifest.xliff.stub
@@ -0,0 +1,14 @@
+Manifest-Version: 1.0
+Class-Path: icu4j.jar
+Main-Class: com.ibm.icu.dev.test.TestAll
+
+Name: com/ibm/icu/
+Specification-Title: XLIFF to ICU conversion tool
+Specification-Version: 3.4
+Specification-Vendor: ICU
+Implementation-Title: XLIFF to ICU Converter
+Implementation-Version: 3.4.0
+Implementation-Vendor: IBM Corporation
+Implementation-Vendor-Id: com.ibm
+Copyright-Info: Copyright (c) 2005, International Business Machines Corporation and others.  All Rights Reserved.
+Sealed: false
diff --git a/src/com/ibm/icu/dev/tool/localeconverter/myLocaleElements.java b/src/com/ibm/icu/dev/tool/localeconverter/myLocaleElements.java
new file mode 100755
index 0000000..374a47c
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/localeconverter/myLocaleElements.java
@@ -0,0 +1,579 @@
+/*
+ *******************************************************************************
+ *
+ *   Copyright (C) 1996-2004, International Business Machines
+ *   Corporation and others.  All Rights Reserved.
+ *
+ *******************************************************************************
+ */
+
+/**
+ *
+ * Table of Java supplied standard locale elements
+ *
+ * automatically generated by java LocaleTool LocaleElements.java
+ *
+ * Date Created: Wed Aug 21 15:47:57  1996
+ *
+ *     Locale Elements and Patterns:  last update 10/23/96
+ *
+ *
+ */
+
+// WARNING : the format of this file will change in the future!
+
+package com.ibm.icu.dev.tool.localeconverter;
+
+import java.util.ListResourceBundle;
+
+public class myLocaleElements extends ListResourceBundle {
+    /**
+     * Overrides ListResourceBundle
+     */
+    public Object[][] getContents() {
+        return new Object[][] {
+            { "LocaleString", "en_US" }, // locale id based on iso codes
+            { "LocaleID", "0409" }, // Windows id
+            { "ShortLanguage", "eng" }, // iso-3 abbrev lang name
+            { "ShortCountry", "USA" }, // iso-3 abbrev country name
+            { "Languages", // language names
+                new String[][] {
+                    { "ab", "Abkhazian" },
+                    { "aa", "Afar" },
+                    { "af", "Afrikaans" },
+                    { "sq", "Albanian" },
+                    { "am", "Amharic" },
+                    { "ar", "Arabic" },
+                    { "hy", "Armenian" },
+                    { "as", "Assamese" },
+                    { "ay", "Aymara" },
+                    { "az", "Azerbaijani" },
+                    { "ba", "Bashkir" },
+                    { "eu", "Basque" },
+                    { "bn", "Bengali" },
+                    { "dz", "Bhutani" },
+                    { "bh", "Bihari" },
+                    { "bi", "Bislama" },
+                    { "br", "Breton" },
+                    { "bg", "Bulgarian" },
+                    { "my", "Burmese" },
+                    { "be", "Byelorussian" },
+                    { "km", "Cambodian" },
+                    { "ca", "Catalan" },
+                    { "zh", "Chinese" },
+                    { "co", "Corsican" },
+                    { "hr", "Croatian" },
+                    { "cs", "Czech" },
+                    { "da", "Danish" },
+                    { "nl", "Dutch" },
+                    { "en", "English" },
+                    { "eo", "Esperanto" },
+                    { "et", "Estonian" },
+                    { "fo", "Faeroese" },
+                    { "fj", "Fiji" },
+                    { "fi", "Finnish" },
+                    { "fr", "French" },
+                    { "fy", "Frisian" },
+                    { "gl", "Galician" },
+                    { "ka", "Georgian" },
+                    { "de", "German" },
+                    { "el", "Greek" },
+                    { "kl", "Greenlandic" },
+                    { "gn", "Guarani" },
+                    { "gu", "Gujarati" },
+                    { "ha", "Hausa" },
+                    { "iw", "Hebrew" },
+                    { "hi", "Hindi" },
+                    { "hu", "Hungarian" },
+                    { "is", "Icelandic" },
+                    { "in", "Indonesian" },
+                    { "ia", "Interlingua" },
+                    { "ie", "Interlingue" },
+                    { "ik", "Inupiak" },
+                    { "ga", "Irish" },
+                    { "it", "Italian" },
+                    { "ja", "Japanese" },
+                    { "jw", "Javanese" },
+                    { "kn", "Kannada" },
+                    { "ks", "Kashmiri" },
+                    { "kk", "Kazakh" },
+                    { "rw", "Kinyarwanda" },
+                    { "ky", "Kirghiz" },
+                    { "rn", "Kirundi" },
+                    { "ko", "Korean" },
+                    { "ku", "Kurdish" },
+                    { "lo", "Laothian" },
+                    { "la", "Latin" },
+                    { "lv", "Latvian (Lettish)" },
+                    { "ln", "Lingala" },
+                    { "lt", "Lithuanian" },
+                    { "mk", "Macedonian" },
+                    { "mg", "Malagasy" },
+                    { "ms", "Malay" },
+                    { "ml", "Malayalam" },
+                    { "mt", "Maltese" },
+                    { "mi", "Maori" },
+                    { "mr", "Marathi" },
+                    { "mo", "Moldavian" },
+                    { "mn", "Mongolian" },
+                    { "na", "Nauru" },
+                    { "ne", "Nepali" },
+                    { "no", "Norwegian" },
+                    { "oc", "Occitan" },
+                    { "or", "Oriya" },
+                    { "om", "Oromo (Afan)" },
+                    { "ps", "Pashto (Pushto)" },
+                    { "fa", "Persian" },
+                    { "pl", "Polish" },
+                    { "pt", "Portuguese" },
+                    { "pa", "Punjabi" },
+                    { "qu", "Quechua" },
+                    { "rm", "Rhaeto-Romance" },
+                    { "ro", "Romanian" },
+                    { "ru", "Russian" },
+                    { "sm", "Samoan" },
+                    { "sg", "Sangro" },
+                    { "sa", "Sanskrit" },
+                    { "gd", "Scots Gaelic" },
+                    { "sr", "Serbian" },
+                    { "sh", "Serbo-Croatian" },
+                    { "st", "Sesotho" },
+                    { "tn", "Setswana" },
+                    { "sn", "Shona" },
+                    { "sd", "Sindhi" },
+                    { "si", "Singhalese" },
+                    { "ss", "Siswati" },
+                    { "sk", "Slovak" },
+                    { "sl", "Slovenian" },
+                    { "so", "Somali" },
+                    { "es", "Spanish" },
+                    { "su", "Sundanese" },
+                    { "sw", "Swahili" },
+                    { "sv", "Swedish" },
+                    { "tl", "Tagalog" },
+                    { "tg", "Tajik" },
+                    { "ta", "Tamil" },
+                    { "tt", "Tatar" },
+                    { "te", "Telugu" },
+                    { "th", "Thai" },
+                    { "bo", "Tibetan" },
+                    { "ti", "Tigrinya" },
+                    { "to", "Tonga" },
+                    { "ts", "Tsonga" },
+                    { "tr", "Turkish" },
+                    { "tk", "Turkmen" },
+                    { "tw", "Twi" },
+                    { "uk", "Ukrainian" },
+                    { "ur", "Urdu" },
+                    { "uz", "Uzbek" },
+                    { "vi", "Vietnamese" },
+                    { "vo", "Volapuk" },
+                    { "cy", "Welsh" },
+                    { "wo", "Wolof" },
+                    { "xh", "Xhosa" },
+                    { "ji", "Yiddish" },
+                    { "yo", "Yoruba" },
+                    { "zu", "Zulu" }
+                }
+            },
+            { "Countries", // country names
+                new String[][] {
+                    { "AF", "Afghanistan" },
+                    { "AL", "Albania" },
+                    { "DZ", "Algeria" },
+                    { "AD", "Andorra" },
+                    { "AO", "Angola" },
+                    { "AI", "Anguilla" },
+                    { "AR", "Argentina" },
+                    { "AM", "Armenia" },
+                    { "AW", "Aruba" },
+                    { "AU", "Australia" },
+                    { "AT", "Austria" },
+                    { "AZ", "Azerbaijan" },
+                    { "BS", "Bahamas" },
+                    { "BH", "Bahrain" },
+                    { "BD", "Bangladesh" },
+                    { "BB", "Barbados" },
+                    { "BY", "Belarus" },
+                    { "BE", "Belgium" },
+                    { "BZ", "Belize" },
+                    { "BJ", "Benin" },
+                    { "BM", "Bermuda" },
+                    { "BT", "Bhutan" },
+                    { "BO", "Bolivia" },
+                    { "BA", "Bosnia and Herzegovina" },
+                    { "BW", "Botswana" },
+                    { "BR", "Brazil" },
+                    { "BN", "Brunei Darussalam" },
+                    { "BG", "Bulgaria" },
+                    { "BF", "Burkina Faso" },
+                    { "BI", "Burundi" },
+                    { "KH", "Cambodia" },
+                    { "CM", "Cameroon" },
+                    { "CA", "Canada" },
+                    { "CV", "Cape Verde" },
+                    { "CF", "Central African Republic" },
+                    { "TD", "Chad" },
+                    { "CL", "Chile" },
+                    { "CN", "China" },
+                    { "CO", "Colombia" },
+                    { "KM", "Comoros" },
+                    { "CG", "Congo" },
+                    { "CR", "Costa Rica" },
+                    { "CI", "Cote D'ivoire" },
+                    { "HR", "Croatia" },
+                    { "CU", "Cuba" },
+                    { "CY", "Cyprus" },
+                    { "CZ", "Czech Republic" },
+                    { "DK", "Denmark" },
+                    { "DJ", "Djibouti" },
+                    { "DM", "Dominica" },
+                    { "DO", "Dominican Republic" },
+                    { "TP", "East Timor" },
+                    { "EC", "Ecuador" },
+                    { "EG", "Egypt" },
+                    { "SV", "El Salvador" },
+                    { "GQ", "Equatorial Guinea" },
+                    { "ER", "Eritrea" },
+                    { "EE", "Estonia" },
+                    { "ET", "Ethiopia" },
+                    { "FJ", "Fiji" },
+                    { "FI", "Finland" },
+                    { "FR", "France" },
+                    { "GF", "French Guiana" },
+                    { "PF", "French Polynesia" },
+                    { "TF", "French Southern Territories" },
+                    { "GA", "Gabon" },
+                    { "GM", "Gambia" },
+                    { "GE", "Georgia" },
+                    { "DE", "Germany" },
+                    { "GH", "Ghana" },
+                    { "GR", "Greece" },
+                    { "GP", "Guadeloupe" },
+                    { "GT", "Guatemala" },
+                    { "GN", "Guinea" },
+                    { "GW", "Guinea-Bissau" },
+                    { "GY", "Guyana" },
+                    { "HT", "Haiti" },
+                    { "HN", "Honduras" },
+                    { "HK", "Hong Kong" },
+                    { "HU", "Hungary" },
+                    { "IS", "Iceland" },
+                    { "IN", "India" },
+                    { "ID", "Indonesia" },
+                    { "IR", "Iran" },
+                    { "IQ", "Iraq" },
+                    { "IE", "Ireland" },
+                    { "IL", "Israel" },
+                    { "IT", "Italy" },
+                    { "JM", "Jamaica" },
+                    { "JP", "Japan" },
+                    { "JO", "Jordan" },
+                    { "KZ", "Kazakhstan" },
+                    { "KE", "Kenya" },
+                    { "KI", "Kiribati" },
+                    { "KP", "North Korea" },
+                    { "KR", "South Korea" },
+                    { "KW", "Kuwait" },
+                    { "KG", "Kyrgyzstan" },
+                    { "LA", "Laos" },
+                    { "LV", "Latvia" },
+                    { "LB", "Lebanon" },
+                    { "LS", "Lesotho" },
+                    { "LR", "Liberia" },
+                    { "LY", "Libyan Arab Jamahiriya" },
+                    { "LI", "Liechtenstein" },
+                    { "LT", "Lithuania" },
+                    { "LU", "Luxembourg" },
+                    { "MK", "Macedonia" },
+                    { "MG", "Madagascar" },
+                    { "MY", "Malaysia" },
+                    { "ML", "Mali" },
+                    { "MT", "Malta" },
+                    { "MQ", "Martinique" },
+                    { "MR", "Mauritania" },
+                    { "MU", "Mauritius" },
+                    { "YT", "Mayotte" },
+                    { "MX", "Mexico" },
+                    { "FM", "Micronesia" },
+                    { "MD", "Moldova" },
+                    { "MC", "Monaco" },
+                    { "MN", "Mongolia" },
+                    { "MS", "Montserrat" },
+                    { "MA", "Morocco" },
+                    { "MZ", "Mozambique" },
+                    { "MM", "Myanmar" },
+                    { "NA", "Namibia" },
+                    { "NP", "Nepal" },
+                    { "NL", "Netherlands" },
+                    { "AN", "Netherlands Antilles" },
+                    { "NC", "New Caledonia" },
+                    { "NZ", "New Zealand" },
+                    { "NI", "Nicaragua" },
+                    { "NE", "Niger" },
+                    { "NG", "Nigeria" },
+                    { "NU", "Niue" },
+                    { "NO", "Norway" },
+                    { "OM", "Oman" },
+                    { "PK", "Pakistan" },
+                    { "PA", "Panama" },
+                    { "PG", "Papua New Guinea" },
+                    { "PY", "Paraguay" },
+                    { "PE", "Peru" },
+                    { "PH", "Philippines" },
+                    { "PL", "Poland" },
+                    { "PT", "Portugal" },
+                    { "PR", "Puerto Rico" },
+                    { "QA", "Qatar" },
+                    { "RO", "Romania" },
+                    { "RU", "Russian Federation" },
+                    { "RW", "Rwanda" },
+                    { "SA", "Saudi Arabia" },
+                    { "SN", "Senegal" },
+                    { "SP", "Serbia" },
+                    { "SC", "Seychelles" },
+                    { "SL", "Sierra Leone" },
+                    { "SG", "Singapore" },
+                    { "SK", "Slovakia" },
+                    { "SI", "Slovenia" },
+                    { "SO", "Somalia" },
+                    { "ZA", "South Africa" },
+                    { "ES", "Spain" },
+                    { "LK", "Sri Lanka" },
+                    { "SD", "Sudan" },
+                    { "SR", "Suriname" },
+                    { "SZ", "Swaziland" },
+                    { "SE", "Sweden" },
+                    { "CH", "Switzerland" },
+                    { "SY", "Syria" },
+                    { "TW", "Taiwan" },
+                    { "TJ", "Tajikistan" },
+                    { "TZ", "Tanzania" },
+                    { "TH", "Thailand" },
+                    { "TG", "Togo" },
+                    { "TK", "Tokelau" },
+                    { "TO", "Tonga" },
+                    { "TT", "Trinidad and Tobago" },
+                    { "TN", "Tunisia" },
+                    { "TR", "Turkey" },
+                    { "TM", "Turkmenistan" },
+                    { "UG", "Uganda" },
+                    { "UA", "Ukraine" },
+                    { "AE", "United Arab Emirates" },
+                    { "GB", "United Kingdom" },
+                    { "US", "United States" },
+                    { "UY", "Uruguay" },
+                    { "UZ", "Uzbekistan" },
+                    { "VU", "Vanuatu" },
+                    { "VA", "Vatican" },
+                    { "VE", "Venezuela" },
+                    { "VN", "Viet Nam" },
+                    { "VG", "British Virgin Islands" },
+                    { "VI", "U.S. Virgin Islands" },
+                    { "EH", "Western Sahara" },
+                    { "YE", "Yemen" },
+                    { "YU", "Yugoslavia" },
+                    { "ZR", "Zaire" },
+                    { "ZM", "Zambia" },
+                    { "ZW", "Zimbabwe" }
+                }
+            },
+            { "%%EURO", "Euro" }, // Euro variant display name
+            { "LocaleNamePatterns",
+                /* Formats for the display name of a locale, for a list of
+                 * items, and for composing two items in a list into one item.
+                 * The list patterns are used in the variant name and in the
+                 * full display name.
+                 */
+                new String[] {
+                    "{0,choice,0#|1#{1}|2#{1} ({2})}", // Display name
+                    "{0,choice,0#|1#{1}|2#{1},{2}|3#{1},{2},{3}}", // List
+                    "{0},{1}" // List composition
+                }
+            },
+            { "MonthNames", 
+                new String[] { 
+                    "January", // january
+                    "February", // february
+                    "March", // march
+                    "April", // april
+                    "May", // may
+                    "June", // june
+                    "July", // july
+                    "August", // august
+                    "September", // september
+                    "October", // october
+                    "November", // november
+                    "December", // december
+                    "" // month 13 if applicable
+                }
+            },
+            { "MonthAbbreviations", 
+                new String[] { 
+                    "Jan", // abb january
+                    "Feb", // abb february
+                    "Mar", // abb march
+                    "Apr", // abb april
+                    "May", // abb may
+                    "Jun", // abb june
+                    "Jul", // abb july
+                    "Aug", // abb august
+                    "Sep", // abb september
+                    "Oct", // abb october
+                    "Nov", // abb november
+                    "Dec", // abb december
+                    "" // abb month 13 if applicable
+                }
+            },
+            { "DayNames", 
+                new String[] { 
+                    "Sunday", // Sunday
+                    "Monday", // Monday
+                    "Tuesday", // Tuesday
+                    "Wednesday", // Wednesday
+                    "Thursday", // Thursday
+                    "Friday", // Friday
+                    "Saturday" // Saturday
+                }
+            },
+            { "DayAbbreviations", 
+                new String[] { 
+                    "Sun", // abb Sunday
+                    "Mon", // abb Monday
+                    "Tue", // abb Tuesday
+                    "Wed", // abb Wednesday
+                    "Thu", // abb Thursday
+                    "Fri", // abb Friday
+                    "Sat" // abb Saturday
+                }
+            },
+            { "AmPmMarkers", 
+                new String[] { 
+                    "AM", // am marker
+                    "PM" // pm marker
+                }
+            },
+            { "Eras", 
+                new String[] { // era strings
+                    "BC", 
+                    "AD" 
+                }
+            },
+            { "NumberPatterns", 
+                new String[] { 
+                    "#,##0.###;-#,##0.###", // decimal pattern
+                    "$#,##0.00;($#,##0.00)", // currency pattern
+                    "#,##0%" // percent pattern
+                }
+            },
+            { "NumberElements", 
+                new String[] { 
+                    ".", // decimal separator
+                    ",", // group (thousands) separator
+                    ";", // list separator
+                    "%", // percent sign
+                    "0", // native 0 digit
+                    "#", // pattern digit
+                    "-", // minus sign
+                    "E", // exponential
+                    "\u2030", // per mille
+                    "\u221e", // infinity
+                    "\ufffd" // NaN
+                }
+            },
+            { "CurrencyElements", 
+                new String[] { 
+                    "$", // local currency symbol
+                    "USD", // intl currency symbol
+                    "." // monetary decimal separator
+                }
+            },
+            { "DateTimePatterns", 
+                new String[] { 
+                    "h:mm:ss 'o''''clock' a z", // full time pattern
+                    "h:mm:ss a z", // long time pattern
+                    "h:mm:ss a", // medium time pattern
+                    "h:mm a", // short time pattern
+                    "EEEE, MMMM d, yyyy", // full date pattern
+                    "MMMM d, yyyy", // long date pattern
+                    "dd-MMM-yy", // medium date pattern
+                    "M/d/yy", // short date pattern
+                    "{1} {0}" // date-time pattern
+                }
+            },
+            { "DateTimeElements", 
+                new String[] { 
+                    "1", // first day of week
+                    "1" // min days in first week
+                }
+            },
+            { "collations",new String[][]{
+                                    {"Version","1.0"},
+                                    {"Overide","false"},
+                                    {"Sequence",""}
+                                }
+            },
+            { "Measurement" ,""},
+            { "CountryNumber" , ""},
+            { "CountryISBNNumber" , ""},
+            { "LanguageLibraryUse" , ""},
+            { "PaperSize", new String[][]{
+                            {"Height",""},
+                            {"Width",""},
+                            {"Units", ""}
+                        }
+            },
+          
+            { "Messages" , new String[][] {
+                                {"YesExpression",""}, /* yes expression */
+                                {"NoExpression",""},  /* no expression */
+                                {"YesStr", ""},
+                                {"NoStr", ""}
+                            }
+            },
+            { "AddressFormat", new String[][]{
+                                        {"PostalFormat",""},
+                                }
+            },
+
+            {"NameFormat", new String[][]{
+                                {"NamePattern",""},
+                            {"GeneralSalutaion", ""},
+                            {"ShortSalutationMr", ""},
+                            {"ShortSalutationMiss",""},
+                            {"ShortSalutationMrs",""},
+                            {"LongSalutationMr",""},
+                            {"LongSalutationMiss",""},
+                            {"LongSalutationMrs",""}
+                            }
+            }, 
+            { "Identification", new String[][]{
+                                {"Title",""},
+                                {"Source",""},
+                                {"Address",""},
+                                {"Contact",""},
+                                {"Email",""},
+                                {"Telephone", ""},
+                                {"Fax", ""},
+                                {"Language",""},
+                                {"Territory",""},
+                                {"Audience", ""},
+                                {"Application", ""},
+                                {"Abbreviation", ""},
+                                {"Revision", ""},
+                                {"Date",""}
+                        }
+                        
+            },
+            { "TelephoneFormat", new String[][]{
+                                {"InternationalFormat",""},
+                                {"DomesticFormat",""},
+                                {"InternationalDialCode",""},
+                                {"InternationalPrefix",""}
+                        }
+            }    
+        };
+    }
+}
+            
+          
\ No newline at end of file
diff --git a/src/com/ibm/icu/dev/tool/rbbi/BuildDictionaryFile.java b/src/com/ibm/icu/dev/tool/rbbi/BuildDictionaryFile.java
new file mode 100755
index 0000000..cf63167
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/rbbi/BuildDictionaryFile.java
@@ -0,0 +1,870 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.tool.rbbi;
+
+import com.ibm.icu.util.CompactByteArray;
+import com.ibm.icu.text.UnicodeSet;
+import com.ibm.icu.impl.Utility;
+import java.io.*;
+import java.util.Vector;
+
+public class BuildDictionaryFile {
+    public static void main(String args[])
+            throws FileNotFoundException, UnsupportedEncodingException, IOException {
+        String filename = args[0];
+        String encoding = "";
+        String outputFile = "";
+        String listingFile = "";
+
+        if (args.length >= 2)
+            encoding = args[1];
+
+        if(args.length >= 3)
+            outputFile = args[2];
+
+        if (args.length >= 4)
+            listingFile = args[3];
+
+        BuildDictionaryFile dictionary = new BuildDictionaryFile();
+        dictionary.build(filename, encoding);
+
+        DataOutputStream out = null;
+        if (outputFile.length() != 0) {
+            out = new DataOutputStream(new FileOutputStream(outputFile));
+            dictionary.writeDictionaryFile(out);
+        }
+
+        PrintWriter listing = null;
+        if (listingFile.length() != 0) {
+            listing = new PrintWriter(new OutputStreamWriter(new FileOutputStream(listingFile), "UnicodeLittle"));
+            dictionary.printWordList("", 0, listing);
+            listing.close();
+        }
+    }
+
+    public BuildDictionaryFile() {
+    }
+
+    public void build(String filename, String encoding)
+            throws FileNotFoundException, UnsupportedEncodingException, IOException {
+        FileInputStream file = new FileInputStream(filename);
+        InputStreamReader in;
+        if (encoding.length() == 0)
+            in = new InputStreamReader(file);
+        else
+            in = new InputStreamReader(file, encoding);
+
+        buildColumnMap(in);
+
+        file = new FileInputStream(filename);
+        if (encoding.length() == 0)
+            in = new InputStreamReader(file);
+        else
+            in = new InputStreamReader(file, encoding);
+
+        buildStateTable(in);
+//printTable();
+    }
+
+    public void buildColumnMap(InputStreamReader in) throws IOException {
+System.out.println("Building column map...");
+        UnicodeSet charsInFile = new UnicodeSet();
+        int c = in.read();
+int totalChars = 0;
+        while (c >= 0) {
+++totalChars; if (totalChars > 0 && totalChars % 5000 == 0) System.out.println("Read " + totalChars + " characters...");
+            if (c > ' ')
+                charsInFile.add((char)c);
+            c = in.read();
+        }
+//        Test.debugPrintln(charsInFile.toString());
+
+        StringBuffer tempReverseMap = new StringBuffer();
+        tempReverseMap.append(' ');
+
+        columnMap = new CompactByteArray();
+        int n = charsInFile.getRangeCount();
+        byte p = 1;
+        for (int i=0; i<n; ++i) {
+            char start = (char) charsInFile.getRangeStart(i);
+            char end = (char) charsInFile.getRangeEnd(i);
+            for (char ch = start; ch <= end; ch++) {
+                if (columnMap.elementAt(Character.toLowerCase(ch)) == 0) {
+                    columnMap.setElementAt(Character.toUpperCase(ch), Character.toUpperCase(ch),
+                                        p);
+                    columnMap.setElementAt(Character.toLowerCase(ch), Character.toLowerCase(ch),
+                                        p);
+                    ++p;
+                    tempReverseMap.append(ch);
+                }
+            }
+        }
+//System.out.println("Compacting...");
+        columnMap.compact();
+
+//System.out.println(tempReverseMap.toString());
+        reverseColumnMap = new char[p];
+        Utility.getChars(tempReverseMap, 0, p, reverseColumnMap, 0);
+
+        System.out.println("total columns = " + p);
+        numCols = p;
+        numColGroups = (numCols >> 5) + 1;
+
+/*
+short[] index = columnMap.getIndexArray();
+System.out.println("Index:");
+for (int i = 0; i < index.length; i++) {
+if (i % 16 == 0) {
+System.out.println();
+System.out.print("    " + Integer.toHexString(i * 128) + ":");
+}
+System.out.print("\t" + Integer.toHexString(index[i]));
+}
+System.out.println();
+byte[] data = columnMap.getStringArray();
+System.out.print("Values:");
+for (int i = 0; i < data.length; i++) {
+if (i % 16 == 0) {
+System.out.println();
+System.out.print("    " + Integer.toHexString(i) + ":");
+}
+if (data[i] == 0)
+System.out.print("\t.");
+else
+System.out.print("\t" + Integer.toString(data[i]));
+}
+System.out.println();
+*/
+    }
+
+    public void buildStateTable(InputStreamReader in) throws IOException {
+        Vector tempTable = new Vector();
+        tempTable.addElement(new int[numCols + 1]);
+        int state = 0;
+
+        int c = in.read();
+        int[] row = null;
+        int charsInWord = 0;
+        while (c >= 0) {
+            charsInWord++;
+            short column = columnMap.elementAt((char)c);
+
+            row = (int[])(tempTable.elementAt(state));
+            if (column != 0) {
+                if (row[column] == 0) {
+                    row[column] = tempTable.size();
+                    ++row[numCols];
+                    state = (tempTable.size());
+                    tempTable.addElement(new int[numCols + 1]);
+                }
+                else
+                    state = row[column];
+            }
+            else if (state != 0) {
+                if (row[0] != -1) {
+                    row[0] = -1;
+                    ++row[numCols];
+                    uniqueWords++;
+                    totalUniqueWordChars += charsInWord;
+                }
+                totalWords++;
+if (totalWords % 5000 == 0) System.out.println("Read " + totalWords + " words, " + tempTable.size() + " rows...");
+                charsInWord = 0;
+                state = 0;
+            }
+            c = in.read();
+        }
+        if (state != 0) {
+            row = (int[])(tempTable.elementAt(state));
+            if (row[0] != -1) {
+                row[0] = -1;
+                uniqueWords++;
+                totalUniqueWordChars += charsInWord;
+            }
+            totalWords++;
+        }
+
+        compress(tempTable);
+
+        table = new short[numCols * tempTable.size()];
+        for (int i = 0; i < tempTable.size(); i++) {
+            row = (int[])tempTable.elementAt(i);
+            for (int j = 0; j < numCols; j++)
+                table[i * numCols + j] = (short)row[j];
+        }
+    }
+
+    private void compress(Vector tempTable) {
+System.out.println("Before compression:");
+System.out.println("  Number of rows = " + tempTable.size());
+System.out.println("  Number of columns = " + numCols);
+System.out.println("  Number of cells = " + tempTable.size() * numCols);
+        deleteDuplicateRows(tempTable);
+System.out.println("After removing duplicate rows:");
+System.out.println("  Number of rows = " + tempTable.size());
+System.out.println("  Number of columns = " + numCols);
+System.out.println("  Number of cells = " + tempTable.size() * numCols);
+        stackRows(tempTable);
+if (tempTable.size() > 32767) throw new IllegalArgumentException("Too many rows in table!");
+System.out.println("After doubling up on rows:");
+System.out.println("  Number of rows = " + tempTable.size());
+System.out.println("  Number of columns = " + numCols);
+System.out.println("  Number of cells = " + tempTable.size() * numCols);
+    }
+
+/*
+experimental...
+    private void deleteDuplicateRows(Vector tempTable) {
+        int[] rowNumMap = new int[tempTable.size()];
+        for (int i = 0; i < rowNumMap.length; i++)
+            rowNumMap[i] = i;
+
+        int nextClass = numCols;
+        int currentClass;
+        int lastClass;
+        boolean split;
+        int[] row1, row2, tempRow;
+        int tempCat;
+
+        do {
+System.out.println("Making a pass (" + nextClass + " classes)...");
+            currentClass = 0;
+            lastClass = nextClass;
+            while (currentClass < nextClass) {
+System.out.println("   currentClass = " + currentClass);
+                split = false;
+                row1 = row2 = null;
+                for (int i = 0; i < tempTable.size(); i++) {
+                    tempRow = (int[])tempTable.elementAt(i);
+                    if (tempRow[numCols] == currentClass) {
+                        if (row1 == null) {
+                            row1 = (int[])tempTable.elementAt(i);
+                        }
+                        else {
+                            row2 = (int[])tempTable.elementAt(i);
+                            for (int j = 0; j < numCols; j++) {
+                                if ((row1[j] == 0) != (row2[j] == 0) ||
+                                            (row1[j] == -1) != (row2[j] == -1)) {
+                                    row2[numCols] = nextClass;
+                                    split = true;
+                                    break;
+                                }
+                                else if (row1[j] != 0 && row2[j] != 0 && row1[j] != -1
+                                                && row2[j] != -1) {
+                                    tempRow = (int[])tempTable.elementAt(row1[j]);
+                                    tempCat = tempRow[numCols];
+                                    tempRow = (int[])tempTable.elementAt(row2[j]);
+                                    if (tempCat != tempRow[numCols]) {
+                                        row2[numCols] = nextClass;
+                                        split = true;
+                                        break;
+                                    }
+                                }
+                            }
+                        }
+                    }
+                }
+                if (split)
+                    ++nextClass;
+                ++currentClass;
+//System.out.println();
+            }
+        } while (lastClass != nextClass);
+
+        int[] representatives = new int[nextClass];
+        for (int i = 1; i < tempTable.size(); i++) {
+            tempRow = (int[])tempTable.elementAt(i);
+            if (representatives[tempRow[numCols]] == 0)
+                representatives[tempRow[numCols]] = i;
+            else
+                rowNumMap[i] = representatives[tempRow[numCols]];
+        }
+System.out.println("Renumbering...");
+
+        // renumber all remaining rows
+        for (int i = 0; i < rowNumMap.length; i++)
+            if (rowNumMap[i] != i)
+                tempTable.setElementAt(null, i);
+        int newRowNum = 0;
+        for (int i = 0; i < rowNumMap.length; i++)
+            if (tempTable.elementAt(i) != null)
+                rowNumMap[i] = newRowNum++;
+        for (int i = 0; i < rowNumMap.length; i++)
+            if (tempTable.elementAt(i) == null)
+                rowNumMap[i] = rowNumMap[rowNumMap[i]];
+
+        for (int i = tempTable.size() - 1; i >= 0; i--) {
+            tempRow = (int[])tempTable.elementAt(i);
+            if (tempRow == null)
+                tempTable.removeElementAt(i);
+            else {
+                for (int j = 0; j < numCols; j++)
+                    if (tempRow[j] != -1)
+                        tempRow[j] = rowNumMap[j];
+            }
+        }
+//for (int i = 1; i < rowNumMap.length; i++) rowNumMap[i] = i; int newRowNum = rowNumMap.length;
+    }
+*/
+
+    private void deleteDuplicateRows(Vector tempTable) {
+        Vector work = (Vector)(tempTable.clone());
+        boolean didDeleteRow = true;
+
+        Vector tempMapping = new Vector(work.size());
+        int[] mapping = new int[work.size()];
+        for (int i = 0; i < mapping.length; i++) {
+            mapping[i] = i;
+            tempMapping.addElement(new Integer(i));
+        }
+        boolean[] tbd = new boolean[work.size()];
+
+        while (didDeleteRow) {
+System.out.println(" " + work.size() + " rows...");
+int deletedRows = 0;
+            didDeleteRow = false;
+
+            sortTable(work, tempMapping, mapping, 1, work.size());
+            for (int i = 0; i < work.size() - 1; ) {
+System.out.print("Deleting, inspecting row " + i + ", deleted " + deletedRows + " rows...\r");
+                int rowToDelete = ((Integer)(tempMapping.elementAt(i + 1))).intValue();
+                int rowToMapTo = ((Integer)(tempMapping.elementAt(i))).intValue();
+                if (compareRows((int[])work.elementAt(i), (int[])work.elementAt(i + 1),
+                                mapping) == 0) {
+                    tbd[rowToDelete] = true;
+                    tempTable.setElementAt(null, rowToDelete);
+                    while (tbd[mapping[rowToMapTo]])
+                        mapping[rowToMapTo] = mapping[mapping[rowToMapTo]];
+                    mapping[rowToDelete] = mapping[rowToMapTo];
+                    didDeleteRow = true;
+deletedRows++;
+                    work.removeElementAt(i + 1);
+                    tempMapping.removeElementAt(i + 1);
+                }
+                else
+                    i++;
+            }
+            for (int i = 0; i < mapping.length; i++) {
+                if (tbd[i] && tbd[mapping[i]])
+                    mapping[i] = mapping[mapping[i]];
+            }
+        }
+
+        int decrementBy = 0;
+        for (int i = 0; i < mapping.length; i++) {
+            if (tbd[i])
+                decrementBy++;
+            else
+                mapping[i] -= decrementBy;
+        }
+        for (int i = 0; i < mapping.length; i++) {
+            if (tbd[i])
+                mapping[i] = mapping[mapping[i]];
+        }
+        for (int i = tempTable.size() - 1; i >= 0; i--) {
+            if (tbd[i])
+                tempTable.removeElementAt(i);
+            else {
+                int[] row = (int[])tempTable.elementAt(i);
+                for (int j = 0; j < numCols; j++)
+                    row[j] = (row[j] == -1) ? -1 : mapping[row[j]];
+            }
+        }
+    }
+
+    private void sortTable(Vector table, Vector tempMapping, int[] mapping, int start, int end) {
+System.out.print("Sorting (" + start + ", " + end + ")...\r");
+        if (start + 1 >= end)
+            return;
+        else if (start + 10 >= end) {
+            for (int i = start + 1; i < end; i++) {
+                int[] row = (int[])table.elementAt(i);
+                Integer tempMap = (Integer)tempMapping.elementAt(i);
+                int j;
+                for (j = i - 1; j >= start; j--) {
+                    if (compareRows((int[])table.elementAt(j), row, mapping) > 0) {
+                        table.setElementAt((int[])table.elementAt(j), j + 1);
+                        tempMapping.setElementAt((Integer)tempMapping.elementAt(j), j + 1);
+                    }
+                    else {
+                        table.setElementAt(row, j + 1);
+                        tempMapping.setElementAt(tempMap, j + 1);
+                        break;
+                    }
+                }
+                if (j < start) {
+                    table.setElementAt(row, start);
+                    tempMapping.setElementAt(tempMap, start);
+                }
+            }
+        }
+        else {
+            int boundaryPos = (start + end) / 2;
+            int i;
+            boolean allTheSame = true;
+            int firstDifferent = 0;
+
+            do {
+                int[] boundary = (int[])table.elementAt(boundaryPos);
+                i = start;
+                int j = end - 1;
+                int[] row = null;
+                byte compResult;
+                while (i < j) {
+                    row = (int[])table.elementAt(i);
+                    while (i <= j && compareRows(row, boundary, mapping) < 0) {
+                        i++;
+                        row = (int[])table.elementAt(i);
+                    }
+
+                    row = (int[])table.elementAt(j);
+                    compResult = compareRows(row, boundary, mapping);
+                    while (i <= j && (compResult >= 0)) {
+                        if (compResult != 0) {
+                            allTheSame = false;
+                            firstDifferent = j;
+                        }
+                        j--;
+                        row = (int[])table.elementAt(j);
+                        compResult = compareRows(row, boundary, mapping);
+                    }
+                    if (i <= j) {
+                        row = (int[])table.elementAt(j);
+                        table.setElementAt(table.elementAt(i), j);
+                        table.setElementAt(row, i);
+                        Object temp = tempMapping.elementAt(j);
+                        tempMapping.setElementAt(tempMapping.elementAt(i), j);
+                        tempMapping.setElementAt(temp, i);
+                    }
+                }
+                if (i <= start) {
+                    if (allTheSame)
+                        return;
+                    else
+                        boundaryPos = firstDifferent;
+                }
+            } while (i <= start);
+            sortTable(table, tempMapping, mapping, start, i);
+            sortTable(table, tempMapping, mapping, i, end);
+        }
+    }
+
+    private byte compareRows(int[] row1, int[] row2, int[] mapping) {
+        for (int i = 0; i < numCols; i++) {
+            int c1 = (row1[i] == -1) ? -1 : mapping[row1[i]];
+            int c2 = (row2[i] == -1) ? -1 : mapping[row2[i]];
+            if (c1 < c2)
+                return -1;
+            else if (c1 > c2)
+                return 1;
+        }
+        return 0;
+    }
+
+    private int[] buildRowIndex(Vector tempTable) {
+        int[] tempRowIndex = new int[tempTable.size()];
+        rowIndexFlagsIndex = new short[tempTable.size()];
+        Vector tempRowIndexFlags = new Vector();
+        rowIndexShifts = new byte[tempTable.size()];
+
+        // build the row index.  Each entry in the row index starts out referring
+        // to the original row (so it doesn't actually do any mapping), and we set
+        // up the index flags to show which cells in the row are populated
+        for (int i = 0; i < tempTable.size(); i++) {
+            tempRowIndex[i] = i;
+
+            int[] row = (int[])tempTable.elementAt(i);
+            if (row[numCols] == 1 && row[0] == 0) {
+                int j = 0;
+                while (row[j] == 0)
+                    ++j;
+                rowIndexFlagsIndex[i] = (short)(-j);
+            }
+            else {
+                int[] flags = new int[numColGroups];
+                int nextFlag = 1;
+                int colGroup = 0;
+                for (int j = 0; j < numCols; j++) {
+                    if (row[j] != 0)
+                        flags[colGroup] |= nextFlag;
+                    nextFlag <<= 1;
+                    if (nextFlag == 0) {
+                        ++colGroup;
+                        nextFlag = 1;
+                    }
+                }
+                colGroup = 0;
+                int j = 0;
+                while (j < tempRowIndexFlags.size()) {
+                    if (((Integer)tempRowIndexFlags.elementAt(j)).intValue() ==
+                                    flags[colGroup]) {
+                        ++colGroup;
+                        ++j;
+                        if (colGroup >= numColGroups)
+                            break;
+                    }
+                    else if (colGroup != 0)
+                        colGroup = 0;
+                    else
+                        ++j;
+                }
+                rowIndexFlagsIndex[i] = (short)(j - colGroup);
+                while (colGroup < numColGroups) {
+                    tempRowIndexFlags.addElement(new Integer(flags[colGroup]));
+                    ++colGroup;
+                }
+            }
+        }
+        rowIndexFlags = new int[tempRowIndexFlags.size()];
+        for (int i = 0; i < rowIndexFlags.length; i++)
+            rowIndexFlags[i] = ((Integer)tempRowIndexFlags.elementAt(i)).intValue();
+System.out.println("Number of column groups = " + numColGroups);
+System.out.println("Size of rowIndexFlags = " + rowIndexFlags.length);
+
+        return tempRowIndex;
+    }
+
+    private void stackRows(Vector tempTable) {
+/*
+System.out.print("Row:\t");
+for (int i = 0; i < numCols; i++)
+System.out.print(reverseColumnMap[i] + "\t");
+System.out.println();
+for (int i = 0; i < tempTable.size(); i++) {
+System.out.print(Integer.toString(i) + ":\t");
+int[] row = (int[])tempTable.elementAt(i);
+for (int j = 0; j < row.length; j++)
+if (row[j] != 0) System.out.print(Integer.toString(row[j]) + "\t");
+else System.out.print(".\t");
+System.out.println();
+}
+*/
+
+        int[] tempRowIndex = buildRowIndex(tempTable);
+        boolean[] tbd = new boolean[tempTable.size()];
+
+        // now we actually go through and stack rows together
+        for (int i = 0; i < tempTable.size(); i++) {
+            if (tbd[i])
+                continue;
+System.out.print("Stacking, inspecting row " + i + "...\r");
+//System.out.println("Stacking, inspecting row " + i + "...");
+
+            int[] destRow = (int[])tempTable.elementAt(i);
+
+            boolean[] tempFlags = new boolean[numCols];
+            boolean[] filledCells = new boolean[numCols];
+            for (int j = 0; j < numCols; j++)
+                filledCells[j] = destRow[j] != 0;
+
+            for (int j = i + 1; destRow[numCols] < numCols && j < tempTable.size(); j++) {
+                if (tbd[j])
+                    continue;
+
+                int[] srcRow = (int[])tempTable.elementAt(j);
+                if (srcRow[numCols] + destRow[numCols] > numCols)
+                    continue;
+
+                int maxLeftShift = -999;
+                int maxRightShift = 0;
+                for (int k = 0; k < numCols; k++) {
+                    tempFlags[k] = srcRow[k] != 0;
+                    if (tempFlags[k]) {
+                        if (maxLeftShift == -999)
+                            maxLeftShift = -k;
+                        maxRightShift = (numCols - 1) - k;
+                    }
+                }
+
+                int shift;
+                for (shift = maxLeftShift; shift <= maxRightShift; shift++) {
+                    int k;
+                    for (k = 0; k < numCols; k++) {
+                        if (tempFlags[k] && filledCells[k + shift])
+                            break;
+                    }
+                    if (k >= numCols)
+                        break;
+                }
+                if (shift <= maxRightShift) {
+//System.out.println("Packing row " + j + " into row " + i + " with shift = " + shift);
+                    for (int k = 0; k < numCols; k++) {
+                        if (tempFlags[k]) {
+                            filledCells[k + shift] = true;
+                            destRow[k + shift] = srcRow[k];
+                            ++destRow[numCols];
+                        }
+                    }
+                    tbd[j] = true;
+                    tempRowIndex[j] = i;
+                    rowIndexShifts[j] = (byte)shift;
+                }
+            }
+        }
+
+        // finally, we squeeze out all the deleted rows
+        int decrementBy = 0;
+        for (int i = 0; i < tempRowIndex.length; i++) {
+            if (!tbd[i])
+                tempRowIndex[i] -= decrementBy;
+            else
+                ++decrementBy;
+        }
+        rowIndex = new short[tempRowIndex.length];
+        for (int i = tempRowIndex.length - 1; i >= 0; i--) {
+            if (tbd[i]) {
+                rowIndex[i] = (short)(tempRowIndex[tempRowIndex[i]]);
+                tempTable.removeElementAt(i);
+            }
+            else
+                rowIndex[i] = (short)tempRowIndex[i];
+        }
+    }
+
+    private void printTable() {
+        short cell;
+        int populatedCells = 0;
+/*
+        System.out.println("Conceptual table:");
+        System.out.println(" Row:   a   b   c   d   e   f   g   h   i   j   k   l   m   n"
+                + "   o   p   q   r   s   t   u   v   w   x   y   z   '   #");
+
+        boolean[] rowPrintFlags = new boolean[rowIndex.length];
+        printConceptualTable("", 0, rowPrintFlags);
+*/
+
+        System.out.println();
+        System.out.println("Conceptual table:");
+        System.out.print(" Row:");
+        for (int i = 0; i < reverseColumnMap.length; i++) {
+                System.out.print("   " + reverseColumnMap[i]);
+        }
+        for (int i = 0; i < rowIndex.length; i++) {
+            System.out.println();
+            printNumber(i, 4);
+            System.out.print(":");
+            for (int j = 0; j < numCols; j++)
+                printNumber(at(i, j), 4);
+        }
+        System.out.println('\n');
+
+        System.out.println();
+        System.out.println("Internally stored table:");
+        System.out.print(" Row:");
+        for (int i = 0; i < reverseColumnMap.length; i++) {
+                System.out.print("   " + reverseColumnMap[i]);
+        }
+        for (int i = 0; i < table.length; i++) {
+            if (i % numCols == 0) {
+                System.out.println();
+                printNumber(i / numCols, 4);
+                System.out.print(":");
+            }
+            cell = table[i];
+            if (cell != 0)
+                populatedCells++;
+            printNumber(cell, 4);
+        }
+        System.out.println('\n');
+
+System.out.println("Row index:");
+for (int i = 0; i < rowIndex.length; i++) {
+    System.out.print("   " + i + " -> " + rowIndex[i]);
+    if (rowIndexFlagsIndex[i] < 0)
+        System.out.print(", flags = " + Integer.toBinaryString((1 << (-rowIndexFlagsIndex[i]))) + " (" + rowIndexFlagsIndex[i]);
+    else
+        System.out.print(", flags = " + Integer.toBinaryString(rowIndexFlags[rowIndexFlagsIndex[i]]) + " (" + rowIndexFlagsIndex[i]);
+    System.out.println("), shift = " + rowIndexShifts[i]);
+}
+/*
+        int theoreticalMinRows = populatedCells / numCols;
+        if (populatedCells % numCols != 0)
+            theoreticalMinRows++;
+        int oneCellRows = 0;
+        for (int i = 0; i < rowIndexFlags.length; i++) {
+            double temp = Math.log(rowIndexFlags[i]) / Math.log(2);
+            if (temp == (int)temp)
+                oneCellRows++;
+        }
+
+        System.out.println('\n');
+        System.out.println("Total words in input = " + totalWords);
+        System.out.println("Total unique words = " + uniqueWords + ", comprising " +
+                        totalUniqueWordChars + " characters\n");
+        System.out.println("Number of populated cells = " + populatedCells);
+        System.out.println("Total number of cells = " + (table.length));
+        System.out.println("Residency = " + ((float)populatedCells / table.length * 100) + '%');
+        System.out.println("Ratio of populated cells to unique-word characters = " +
+                        ((float)populatedCells / totalUniqueWordChars * 100) + '%');
+        System.out.println("Ratio of total cells to unique-word characters = " +
+                        ((float)table.length / totalUniqueWordChars * 100) + '%');
+        System.out.println("Number of rows = " + (table.length / numCols));
+        System.out.println("Theoretical minimum number of rows = " + theoreticalMinRows);
+        System.out.println("Ratio of number of rows to theoretical minimum = " +
+                        ((float)(table.length / numCols) / theoreticalMinRows * 100) + '%');
+        System.out.println("Number of conceptual rows = " + rowIndex.length);
+        System.out.println("Conceptual rows with only one populated cell = " + oneCellRows);
+        System.out.println("Ratio of one-cell rows to total conceptual rows = " + (((float)oneCellRows)
+                        / rowIndex.length * 100) + '%');
+        System.out.println("Average number of populated cells in multi-cell rows = " +
+                        ((float)(populatedCells - oneCellRows) / (rowIndex.length - oneCellRows)));
+
+        int storageUsed = table.length * 2 + rowIndex.length * 2
+                        + rowIndexFlags.length * 4 + rowIndexShifts.length;
+        System.out.println("Total number of bytes in table (including indexes) = " +
+                        storageUsed);
+        System.out.println("Bytes of overhead per unique-word character = " + ((double)(storageUsed
+                        - (totalUniqueWordChars * 2)) / totalUniqueWordChars));
+*/
+    }
+
+    private void printConceptualTable(String initialString, int state, boolean[] flags) {
+        if (initialString.length() == 0)
+            System.out.println("root:");
+        else
+            System.out.println(initialString + ':');
+
+        if (!flags[state]) {
+            flags[state] = true;
+            printNumber(state, 4);
+            System.out.print(":");
+            for (int i = 0; i < numCols; i++)
+                printNumber(at(state, i), 4);
+            System.out.println();
+        }
+
+        int nextState;
+        for (int i = 0; i < numCols; i++) {
+            nextState = at(state, i);
+            if (nextState > 0 && !flags[nextState]) {
+                printNumber(nextState, 4);
+                System.out.print(":");
+                for (int j = 0; j < numCols; j++)
+                    printNumber(at(nextState, j), 4);
+                System.out.println();
+            }
+        }
+        for (int i = 0; i < numCols; i++) {
+            nextState = at(state, i);
+            if (nextState > 0 && !flags[nextState]) {
+                char nextChar;
+                if (nextState == 27)
+                    nextChar = ' ';
+                else if (nextState == 26)
+                    nextChar = '\'';
+                else
+                    nextChar = (char)(i + 'a');
+                flags[nextState] = true;
+                printConceptualTable(initialString + nextChar, nextState, flags);
+            }
+        }
+    }
+
+    private void printWordList(String partialWord, int state, PrintWriter out)
+            throws IOException {
+        if (state == -1) {
+            System.out.println(partialWord);
+            if (out != null)
+                out.println(partialWord);
+        }
+        else {
+            for (int i = 0; i < numCols; i++) {
+                if (at(state, i) != 0)
+                    printWordList(partialWord + reverseColumnMap[i], at(state, i), out);
+            }
+        }
+    }
+
+    private void writeDictionaryFile(DataOutputStream out) throws IOException {
+        out.writeInt(0);    // version number
+
+        char[] columnMapIndexes = columnMap.getIndexArray();
+        out.writeInt(columnMapIndexes.length);
+        for (int i = 0; i < columnMapIndexes.length; i++)
+            out.writeShort((short)columnMapIndexes[i]);
+        byte[] columnMapValues = columnMap.getValueArray();
+        out.writeInt(columnMapValues.length);
+        for (int i = 0; i < columnMapValues.length; i++)
+            out.writeByte((byte)columnMapValues[i]);
+
+        out.writeInt(numCols);
+        out.writeInt(numColGroups);
+
+        out.writeInt(rowIndex.length);
+        for (int i = 0; i < rowIndex.length; i++)
+            out.writeShort(rowIndex[i]);
+
+        out.writeInt(rowIndexFlagsIndex.length);
+        for (int i = 0; i < rowIndexFlagsIndex.length; i++)
+            out.writeShort(rowIndexFlagsIndex[i]);
+        out.writeInt(rowIndexFlags.length);
+        for (int i = 0; i < rowIndexFlags.length; i++)
+            out.writeInt(rowIndexFlags[i]);
+
+        out.writeInt(rowIndexShifts.length);
+        for (int i = 0; i < rowIndexShifts.length; i++)
+            out.writeByte(rowIndexShifts[i]);
+
+        out.writeInt(table.length);
+        for (int i = 0; i < table.length; i++)
+            out.writeShort(table[i]);
+
+        out.close();
+    }
+
+    private void printNumber(int x, int width) {
+        String s = String.valueOf(x);
+        if (width > s.length())
+            System.out.print(spaces.substring(0, width - s.length()));
+        if (x != 0)
+            System.out.print(s);
+        else
+            System.out.print('.');
+    }
+
+    public final short at(int row, char ch) {
+        int col = columnMap.elementAt(ch);
+        return at(row, col);
+    }
+
+    public final short at(int row, int col) {
+        if (cellIsPopulated(row, col))
+            return internalAt(rowIndex[row], col + rowIndexShifts[row]);
+        else
+            return 0;
+    }
+
+    private final boolean cellIsPopulated(int row, int col) {
+        if (rowIndexFlagsIndex[row] < 0)
+            return col == -rowIndexFlagsIndex[row];
+        else {
+            int flags = rowIndexFlags[rowIndexFlagsIndex[row] + (col >> 5)];
+            return (flags & (1 << (col & 0x1f))) != 0;
+        }
+    }
+
+    private final short internalAt(int row, int col) {
+        return table[row * numCols + col];
+    }
+
+    private CompactByteArray columnMap = null;
+    private char[] reverseColumnMap = null;
+    private int numCols;
+    private int numColGroups;
+    private short[] table = null;
+    private short[] rowIndex = null;
+    private int[] rowIndexFlags = null;
+    private short[] rowIndexFlagsIndex = null;
+    private byte[] rowIndexShifts = null;
+
+    private int totalWords = 0;
+    private int uniqueWords = 0;
+    private int totalUniqueWordChars = 0;
+
+    private static final String spaces = "      ";
+}
+
diff --git a/src/com/ibm/icu/dev/tool/rbbi/WriteTablesToFiles.java b/src/com/ibm/icu/dev/tool/rbbi/WriteTablesToFiles.java
new file mode 100755
index 0000000..7a47db1
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/rbbi/WriteTablesToFiles.java
@@ -0,0 +1,51 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.tool.rbbi;
+
+import java.io.*;
+import com.ibm.icu.text.*;
+
+public class WriteTablesToFiles {
+    public static void main(String[] args) throws IOException {
+        writeBatch(true);
+        writeBatch(false);
+    }
+    
+    public static void writeBatch(boolean littleEndian) throws IOException {
+        BreakIterator bi;
+        String suffix = (littleEndian ? "LE" : "BE");
+        
+        bi = BreakIterator.getCharacterInstance();
+        ((RuleBasedBreakIterator_Old)bi).writeTablesToFile(new FileOutputStream(
+                    "char" + suffix + ".brk"), littleEndian);
+        
+        bi = BreakIterator.getWordInstance();
+        ((RuleBasedBreakIterator_Old)bi).writeTablesToFile(new FileOutputStream(
+                    "word" + suffix + ".brk"), littleEndian);
+        
+        bi = BreakIterator.getLineInstance();
+        ((RuleBasedBreakIterator_Old)bi).writeTablesToFile(new FileOutputStream(
+                    "line" + suffix + ".brk"), littleEndian);
+        
+        bi = BreakIterator.getSentenceInstance();
+        ((RuleBasedBreakIterator_Old)bi).writeTablesToFile(new FileOutputStream(
+                    "sent" + suffix + ".brk"), littleEndian);
+
+        bi = BreakIterator.getTitleInstance();
+        ((RuleBasedBreakIterator_Old)bi).writeTablesToFile(new FileOutputStream(
+                    "title" + suffix + ".brk"), littleEndian);
+
+        java.util.Locale thai = new java.util.Locale("th", "", "");
+        bi = BreakIterator.getWordInstance(thai);
+        ((RuleBasedBreakIterator_Old)bi).writeTablesToFile(new FileOutputStream(
+                    "word_th" + suffix + ".brk"), littleEndian);
+
+        bi = BreakIterator.getLineInstance(thai);
+        ((RuleBasedBreakIterator_Old)bi).writeTablesToFile(new FileOutputStream(
+                    "line_th" + suffix + ".brk"), littleEndian);
+    }
+}
diff --git a/src/com/ibm/icu/dev/tool/rbbi/readme.html b/src/com/ibm/icu/dev/tool/rbbi/readme.html
new file mode 100644
index 0000000..5f62a98
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/rbbi/readme.html
@@ -0,0 +1,65 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+  <meta http-equiv="content-type"
+ content="text/html; charset=ISO-8859-1">
+  <title>README For RBBI Tools</title>
+<!-- Copyright (C) 2003-2004, International Business Machines Corporation and
+     others. All Rights Reserved.
+-->
+</head>
+<body>
+<h3>What Are These Tools?</h3>
+This directory contains two tools, WriteTablesToFiles, which converts
+the Java&nbsp; BreakIterators into .brk files for ICU4C, and
+BuildDictionaryFile, which builds the binary the Thai word break
+dictionary from a Unicode text file containing a list of Thai words.
+The rest of this document describes how to use these tools.<br>
+<h3>How To Build The ICU4C BreakIterator Files</h3>
+The RuleBasedBreakIterator code was originally developed for ICU4J, and
+then ported to ICU4C. For various reasons, the code which compiled the
+state tables from the rule text was hard to port. Instead the
+WriteTablesToFiles tool was wirtten to read in the Java data and write
+the .brk files which ICU4C reads. Later the RBBI code was re-written
+for ICU4C, including the ability to compile the state tables from rules
+stored in text files. This means that the WriteTablesToFiles tool is
+now obsolete.<br>
+<br>
+<h3>How To Build The Thai Word Break Dictionary</h3>
+The Thai word berak code was developed originally for ICU4J, and then
+ported to ICU4C - the dictionary builder tool was never ported, so you
+have to use the Java tool to build the dictionary file for ICU4C. On
+the other hand, all of the rest of the ICU locale data was developed
+originally for
+ICU4C, and a tool was written to covert the ICU4C locale data to Java
+resource bundles for use by ICU4J. Consequently, the process of
+building the Thai
+word break dictionary for ICU4C and
+ICU4J is a bit convoluted. Here are the steps:<br>
+<div style="margin-left: 40px;">
+<ol>
+  <li>Download and build both ICU4C and ICU4J on a <span
+ style="font-weight: bold;">Big Endian</span> machine.<br>
+  </li>
+  <li>Run the following command line to build the Thai dictionary file:<br>
+java -classpath $icu4j_root/classes
+com.ibm.icu.dev.tool.rbbi.BuildDictionaryFile
+$icu4j_root/src/com/ibm/icu/dev/data/thai6.ucs Unicode
+$icu_root/soruce/data/brkitr/thai_dict.brk</li>
+  <li>Rebuild the ICU4C resources.</li>
+  <li>Rebuild the ICU4J ICULocaleData.jar file. (See <a
+ href="../../../../../../../readme.html">the ICU4J readme file</a> for
+instructions)</li>
+  <li>Move ICULocaleData.jar from $icu_root/source/data/locales/java to
+$icu4j_root/src/com/ibm/icu/impl/data</li>
+  <li>Build ICU4J's _resources target to unjar the new files.<br>
+  </li>
+</ol>
+</div>
+In the above, $icu_root is the root of your ICU4C source tree, for
+example
+"~/dev/icu" and $icu4j_root is the root of your ICU4J source tree, for
+example "~/dev/icu4j".<br>
+<br>
+</body>
+</html>
diff --git a/src/com/ibm/icu/dev/tool/timescale/CalculateLimits.java b/src/com/ibm/icu/dev/tool/timescale/CalculateLimits.java
new file mode 100644
index 0000000..344b033
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/timescale/CalculateLimits.java
@@ -0,0 +1,115 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ *
+ */
+
+package com.ibm.icu.dev.tool.timescale;
+
+import java.util.Locale;
+
+import com.ibm.icu.math.BigDecimal;
+import com.ibm.icu.text.MessageFormat;
+import com.ibm.icu.util.Calendar;
+import com.ibm.icu.util.SimpleTimeZone;
+import com.ibm.icu.util.TimeZone;
+import com.ibm.icu.util.UniversalTimeScale;
+
+/**
+ * This class calculates the minimum and maximum values which can be
+ * used as arguments to <code>toLong</code> and <code>from</code>.
+ * 
+ * NOTE: If you change the way in which these values are calculated, it
+ * may be necessary to disable to <code>toRangeCheck()</code> and
+ * <code>fromRangeCheck()</code> methods in the <code>UniversalTimeScale</code>
+ * for all of the calculations to run without throwing an error.
+ * 
+ * @see com.ibm.icu.util.UniversalTimeScale
+ * 
+ * @draft ICU 3.2
+ */
+public class CalculateLimits {
+
+    /**
+     * The default constructor.
+     * 
+     * @draft ICU 3.2
+     */
+    public CalculateLimits()
+    {
+    }
+
+    /**
+     * This method first calculates the <code>from</code> limits by
+     * passing <code>Long.MIN_VALUE</code> and <code>Long.MAX_VALUE</code> to
+     * the (internal) <code>toBigDecimalTrunc()</code> method. Any values outside
+     * of the range of a <code>long</code> are pinned.
+     * 
+     * The mimimum and maximum values for <code>toLong</code> are calulated by passing
+     * the min and max values calculated above to <code>BigDecimalFrom()</code>. Because
+     * this method will round, the returned values are adjusted to take this into account.
+     * 
+     * @see com.ibm.icu.util.UniversalTimeScale
+     * 
+     * @param args - the command line arugments
+     * 
+     * @draft ICU 3.2
+     */
+    public static void main(String[] args)
+    {
+        TimeZone utc = new SimpleTimeZone(0, "UTC");
+        Calendar cal = Calendar.getInstance(utc, Locale.ENGLISH);
+        MessageFormat fmt = new MessageFormat("{0}L, {1}L, {2}L, {3}L");        
+        BigDecimal universalMin = new BigDecimal(Long.MIN_VALUE);
+        BigDecimal universalMax = new BigDecimal(Long.MAX_VALUE);
+        Object limitArgs[] = {null, null, null, null};
+        
+        System.out.println("\nTo, From limits:");
+        
+        // from limits
+        for(int scale = 0; scale < UniversalTimeScale.MAX_SCALE; scale += 1) {
+            BigDecimal min = UniversalTimeScale.toBigDecimalTrunc(universalMin, scale).max(universalMin);
+            BigDecimal max = UniversalTimeScale.toBigDecimalTrunc(universalMax, scale).min(universalMax);
+            long minLong   = min.longValue();
+            long maxLong   = max.longValue();
+            
+            limitArgs[2] = min.toString();
+            limitArgs[3] = max.toString();
+
+            // to limits
+            BigDecimal minTrunc   = UniversalTimeScale.bigDecimalFrom(min, scale);
+            BigDecimal maxTrunc   = UniversalTimeScale.bigDecimalFrom(max, scale);
+            BigDecimal minResidue = minTrunc.subtract(universalMin);
+            BigDecimal maxResidue = universalMax.subtract(maxTrunc);
+            long units            = UniversalTimeScale.getTimeScaleValue(scale, UniversalTimeScale.UNITS_VALUE);
+            BigDecimal half       = new BigDecimal(units == 1? 0: units / 2 - 1);
+            
+            min = minTrunc.subtract(minResidue.min(half));
+            max = maxTrunc.add(maxResidue.min(half));
+            limitArgs[0] = min.toString();
+            limitArgs[1] = max.toString();
+            
+            System.out.println(fmt.format(limitArgs));
+            
+            // round-trip test the from limits
+            if(UniversalTimeScale.toLong(UniversalTimeScale.from(minLong, scale), scale) != minLong) {
+                System.out.println("OOPS: min didn't round trip!");
+            }
+            
+            if(UniversalTimeScale.toLong(UniversalTimeScale.from(maxLong, scale), scale) != maxLong) {
+                System.out.println("OOPS: max didn't round trip!");
+            }
+            
+            // make sure that the to limits convert to the from limits
+            if(UniversalTimeScale.toLong(min.longValue(), scale) != minLong) {
+                System.out.println("OOPS: toLong(toMin) != fromMin");
+            }
+            
+            if(UniversalTimeScale.toLong(max.longValue(), scale) != maxLong) {
+                System.out.println("OOPS: toLong(toMax) != fromMax");
+            }
+        }
+    }
+}
diff --git a/src/com/ibm/icu/dev/tool/timescale/EpochOffsets.java b/src/com/ibm/icu/dev/tool/timescale/EpochOffsets.java
new file mode 100644
index 0000000..d73f20f
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/timescale/EpochOffsets.java
@@ -0,0 +1,95 @@
+/*
+ *************************************************************************
+ * Copyright (C) 2004, International Business Machines Corporation and   *
+ * others. All Rights Reserved.                                          *
+ *************************************************************************
+ *
+ */
+
+package com.ibm.icu.dev.tool.timescale;
+
+import java.util.Locale;
+
+import com.ibm.icu.text.MessageFormat;
+import com.ibm.icu.util.Calendar;
+import com.ibm.icu.util.SimpleTimeZone;
+import com.ibm.icu.util.TimeZone;
+
+/**
+ * This tool caluclates the numeric values of the epoch offsets
+ * used in UniversalTimeScale.
+ * 
+ * @see com.ibm.icu.util.UniversalTimeScale
+ * 
+ *@draft ICU 3.2 
+ */
+public class EpochOffsets
+{
+
+    /**
+     * The default constructor.
+     * 
+     * @draft ICU 3.2
+     */
+    public EpochOffsets()
+    {
+    }
+
+    private static final long ticks        = 1;
+    private static final long microseconds = ticks * 10;
+    private static final long milliseconds = microseconds * 1000;
+    private static final long seconds      = milliseconds * 1000;
+    private static final long minutes      = seconds * 60;
+    private static final long hours        = minutes * 60;
+    private static final long days         = hours * 24;
+
+    private static int[][] epochDates = {
+            {   1, Calendar.JANUARY,   1},
+            {1970, Calendar.JANUARY,   1},
+            {1601, Calendar.JANUARY,   1},
+            {1904, Calendar.JANUARY,   1},
+            {2001, Calendar.JANUARY,   1},
+            {1899, Calendar.DECEMBER, 31},
+            {1900, Calendar.MARCH,     1}
+    };
+    
+    /**
+     * The <code>main()</code> method calculates the epoch offsets used by the
+     * <code>UniversalTimeScale</code> class.
+     * 
+     * The calculations are done using an ICU <code>Calendar</code> object. The first step is
+     * to calculate the Universal Time Scale's epoch date. Then the epoch offsets are calculated
+     * by calculating each epoch date, subtracting the universal epoch date from it, and converting
+     * that value to ticks.
+     * 
+     * @param args - the command line arguments.
+     * 
+     * @draft ICU 3.2
+     */
+    public static void main(String[] args)
+    {
+        TimeZone utc = new SimpleTimeZone(0, "UTC");
+        Calendar cal = Calendar.getInstance(utc, Locale.ENGLISH);
+        MessageFormat fmt = new MessageFormat("{0, date, full} {0, time, full} = {1}");
+        Object arguments[] = {cal, null};
+        
+        System.out.println("Epoch offsets:");
+        
+        // January 1, 0001 00:00:00 is the universal epoch date...
+        cal.set(1, Calendar.JANUARY, 1, 0, 0, 0);
+        
+        long universalEpoch = cal.getTimeInMillis();
+        
+        for (int i = 0; i < epochDates.length; i += 1) {
+            int[] date = epochDates[i];
+            
+            cal.set(date[0], date[1], date[2]);
+            
+            long millis = cal.getTimeInMillis();
+            
+            arguments[1] = Long.toString((millis - universalEpoch) * milliseconds);
+            
+            System.out.println(fmt.format(arguments));
+         }
+    }
+}
diff --git a/src/com/ibm/icu/dev/tool/timescale/GenerateCTimeScaleData.java b/src/com/ibm/icu/dev/tool/timescale/GenerateCTimeScaleData.java
new file mode 100644
index 0000000..3aa5b9c
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/timescale/GenerateCTimeScaleData.java
@@ -0,0 +1,114 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ *
+ */
+
+package com.ibm.icu.dev.tool.timescale;
+
+import com.ibm.icu.text.MessageFormat;
+import com.ibm.icu.util.UniversalTimeScale;
+
+/**
+ * This class prints out the initializers needed to initialize
+ * the time scale data in the C version of <code>UniversalTimeScale</code>.
+ * 
+ * It just calls <code>getTimeScaleValue()</code> for all fields and prints
+ * the initializers. Because some C compilers can't compile a literal constant for
+ * the minimum and / or maximum values of an <code>int64_t</code>, this code will
+ * print <code>U_INT64_MIN</code> or <code>U_INT64_MAX</code> for these values.
+ * 
+ * @see com.ibm.icu.util.UniversalTimeScale
+ * 
+ * @draft ICU 3.2
+ */
+public class GenerateCTimeScaleData
+{
+
+    /**
+     * The default constructor.
+     * 
+     * @draft ICU 3.2
+     */
+    public GenerateCTimeScaleData()
+    {
+    }
+
+    private static final long ticks        = 1;
+    private static final long microseconds = ticks * 10;
+    private static final long milliseconds = microseconds * 1000;
+    private static final long seconds      = milliseconds * 1000;
+    private static final long minutes      = seconds * 60;
+    private static final long hours        = minutes * 60;
+    private static final long days         = hours * 24;
+
+    /*
+     * Returns <code>String</code> that is a literal representation of the given value.
+     * This will either be a call to the <code>INT64_C()</code> macro, or the constant
+     * <code>U_INT64_MIN</code> or <U_INT64_MAX>.
+     */
+    private static String minMaxFilter(long value)
+    {
+        if (value == Long.MIN_VALUE) {
+            return "U_INT64_MIN";
+        } else if (value == Long.MAX_VALUE) {
+            return "U_INT64_MAX";
+        }
+        
+        return "INT64_C(" + Long.toString(value) + ")";
+    }
+    
+    /**
+     * This method prints the C initializers for the time scale data.
+     * 
+     * @param args - the command line arguments
+     * 
+     * @see com.ibm.icu.util.UniversalTimeScale
+     * 
+     * @draft ICU 3.2
+     */
+    public static void main(String[] args)
+    {
+        MessageFormat fmt = new MessageFormat("'{'{0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}, {10}},");
+        Object cargs[] = {null, null, null, null, null, null, null, null, null, null, null};
+        
+        System.out.println("\nC data:");
+        
+        for (int scale = 0; scale < UniversalTimeScale.MAX_SCALE; scale += 1) {
+            long units = UniversalTimeScale.getTimeScaleValue(scale, UniversalTimeScale.UNITS_VALUE);
+            
+            if (units == ticks) {
+                cargs[0] = "ticks";
+            } else if (units == microseconds) {
+                cargs[0] = "microseconds";
+            } else if (units == milliseconds) {
+                cargs[0] = "milliseconds";
+            } else if (units == seconds) {
+                cargs[0] = "seconds";
+            } else if (units == minutes) {
+                cargs[0] = "minutes";
+            } else if (units == hours) {
+                cargs[0] = "hours";
+            } else if (units == days) {
+                cargs[0] = "days";
+            } else {
+                cargs[0] = "INT64_C(" + Long.toString(units) + ")";
+            }
+            
+            cargs[1]  = minMaxFilter(UniversalTimeScale.getTimeScaleValue(scale, UniversalTimeScale.EPOCH_OFFSET_VALUE));
+            cargs[2]  = minMaxFilter(UniversalTimeScale.getTimeScaleValue(scale, UniversalTimeScale.FROM_MIN_VALUE));
+            cargs[3]  = minMaxFilter(UniversalTimeScale.getTimeScaleValue(scale, UniversalTimeScale.FROM_MAX_VALUE));
+            cargs[4]  = minMaxFilter(UniversalTimeScale.getTimeScaleValue(scale, UniversalTimeScale.TO_MIN_VALUE));
+            cargs[5]  = minMaxFilter(UniversalTimeScale.getTimeScaleValue(scale, UniversalTimeScale.TO_MAX_VALUE));
+            cargs[6]  = minMaxFilter(UniversalTimeScale.getTimeScaleValue(scale, UniversalTimeScale.EPOCH_OFFSET_PLUS_1_VALUE));
+            cargs[7]  = minMaxFilter(UniversalTimeScale.getTimeScaleValue(scale, UniversalTimeScale.EPOCH_OFFSET_MINUS_1_VALUE));
+            cargs[8]  = minMaxFilter(UniversalTimeScale.getTimeScaleValue(scale, UniversalTimeScale.UNITS_ROUND_VALUE));
+            cargs[9]  = minMaxFilter(UniversalTimeScale.getTimeScaleValue(scale, UniversalTimeScale.MIN_ROUND_VALUE));
+            cargs[10] = minMaxFilter(UniversalTimeScale.getTimeScaleValue(scale, UniversalTimeScale.MAX_ROUND_VALUE));
+            
+            System.out.println(fmt.format(cargs));
+        }
+    }
+}
diff --git a/src/com/ibm/icu/dev/tool/translit/SourceSet.java b/src/com/ibm/icu/dev/tool/translit/SourceSet.java
new file mode 100644
index 0000000..173e989
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/translit/SourceSet.java
@@ -0,0 +1,109 @@
+/*
+**********************************************************************
+*   Copyright (c) 2001, International Business Machines
+*   Corporation and others.  All Rights Reserved.
+**********************************************************************
+*   Date        Name        Description
+*   11/29/2001  aliu        Creation.
+*   06/26/2002  aliu        Moved to com.ibm.icu.dev.tool.translit
+**********************************************************************
+*/
+package com.ibm.icu.dev.tool.translit;
+import java.util.*;
+import com.ibm.icu.dev.tool.translit.UnicodeSetClosure;
+import java.io.*;
+import com.ibm.icu.text.*;
+
+/**
+ * Class that generates source set information for a transliterator.
+ * 
+ * To run, use:
+ * 
+ *   java com.ibm.icu.dev.tool.translit.SourceSet Latin-Katakana NFD lower
+ * 
+ * Output is produced in the command console, and a file with more detail is also written.
+ * 
+ * To see if it works, use:
+ * 
+ *   java com.ibm.icu.dev.test.translit.TransliteratorTest -v -nothrow TestIncrementalProgress
+ * 
+ * and
+ *  
+ *   java com.ibm.icu.dev.demo.translit.Demo
+ */
+public class SourceSet {
+
+    public static void main(String[] args) throws IOException {
+        if (args.length == 0) {
+            // Compute and display the source sets for all system
+            // transliterators.
+            for (Enumeration e = Transliterator.getAvailableIDs(); e.hasMoreElements(); ) {
+                String ID = (String) e.nextElement();
+                showSourceSet(ID, Normalizer.NONE, false);
+            }
+        } else {
+            // Usage: ID [NFKD | NFD] [lower]
+            Normalizer.Mode m = Normalizer.NONE;
+            boolean lowerFirst = false;
+            if (args.length >= 2) {
+                if (args[1].equalsIgnoreCase("NFD")) {
+                    m = Normalizer.NFD;
+                } else if (args[1].equalsIgnoreCase("NFKD")) {
+                    m = Normalizer.NFKD;
+                } else {
+                    usage();
+                }
+            }
+            if (args.length >= 3) {
+                if (args[2].equalsIgnoreCase("lower")) {
+                    lowerFirst = true;
+                } else {
+                    usage();
+                }
+            }
+            if (args.length > 3) {
+                usage();
+            }
+            showSourceSet(args[0], m, lowerFirst);
+        }
+    }
+
+    static void showSourceSet(String ID, Normalizer.Mode m, boolean lowerFirst) throws IOException {
+        File f = new File("UnicodeSetClosure.txt");
+        String filename = f.getCanonicalFile().toString();
+        out = new PrintWriter(
+            new OutputStreamWriter(
+                new FileOutputStream(filename), "UTF-8"));
+        out.print('\uFEFF'); // BOM
+        System.out.println();
+        System.out.println("Writing " + filename);
+        Transliterator t = Transliterator.getInstance(ID);
+        showSourceSetAux(t, m, lowerFirst, true);
+        showSourceSetAux(t.getInverse(), m, lowerFirst, false);
+        out.close();
+    }
+    
+    static PrintWriter out;
+    
+    static void showSourceSetAux(Transliterator t, Normalizer.Mode m, boolean lowerFirst, boolean forward) throws IOException {
+        UnicodeSet sourceSet = t.getSourceSet();
+        if (m != Normalizer.NONE || lowerFirst) {
+            UnicodeSetClosure.close(sourceSet, m, lowerFirst);
+        }
+        System.out.println(t.getID() + ": " +
+                           sourceSet.toPattern(true));
+        out.println("# MINIMAL FILTER GENERATED FOR: " + t.getID() + (forward ? "" : " REVERSE"));
+        out.println(":: " 
+            + (forward ? "" : "( ") 
+            + sourceSet.toPattern(true) 
+            + (forward ? "" : " )")
+            + " ;");
+        out.println("# Unicode: " + sourceSet.toPattern(false));
+        out.println();
+    }
+
+    static void usage() {
+        System.err.println("Usage: ID [ NFD|NFKD [lower] ]");
+        System.exit(1);
+    }
+}
diff --git a/src/com/ibm/icu/dev/tool/translit/Trans.java b/src/com/ibm/icu/dev/tool/translit/Trans.java
new file mode 100755
index 0000000..04d43d2
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/translit/Trans.java
@@ -0,0 +1,140 @@
+/**
+ *******************************************************************************
+ * Copyright (C) 2001-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.tool.translit;
+
+import com.ibm.icu.text.*;
+import java.io.*;
+
+/**
+ * A command-line interface to the ICU4J transliterators.
+ * @author Alan Liu
+ */
+public class Trans {
+
+    public static void main(String[] args) throws Exception {
+        boolean isHTML = false;
+        int pos = 0;
+
+        String transName = null; // first untagged string is this
+        String inText = null; // all other untagged strings are this
+        String inName = null;
+        String outName = null;
+
+        while (pos < args.length) {
+            if (args[pos].equals("-html")) {
+                isHTML = true;
+            } else if (args[pos].equals("-i")) {
+                if (++pos == args.length) usage();
+                inName = args[pos];
+            } else if (args[pos].equals("-o")) {
+                if (++pos == args.length) usage();
+                outName = args[pos];
+            } else if (transName == null) {
+                transName = args[pos];
+            } else {
+                if (inText == null) {
+                    inText = args[pos];
+                } else {
+                    inText = inText + " " + args[pos];
+                }
+            }
+            ++pos;
+        }
+
+        if (inText != null && inName != null) {
+            usage();
+        }
+
+        Transliterator trans = Transliterator.getInstance(transName);
+        BufferedReader in = null;
+        if (inName != null) {
+            in = new BufferedReader(new InputStreamReader(new FileInputStream(inName), "UTF8"));
+        }
+        PrintWriter out = null;
+        if (outName != null) {
+            out = new PrintWriter(new OutputStreamWriter(new FileOutputStream(outName), "UTF8"));
+        } else {
+            out = new PrintWriter(System.out);
+        }
+        trans(trans, inText, in, out, isHTML);
+        out.close();
+    }
+
+    static void trans(Transliterator trans, String inText,
+                      BufferedReader in, PrintWriter out, boolean isHTML) throws IOException {
+        boolean inTag = false; // If true, we are within a <tag>
+        for (;;) {
+            String line = null;
+            if (inText != null) {
+                line = inText;
+                inText = null;
+            } else if (in != null) {
+                line = in.readLine();
+            }
+            if (line == null) {
+                break;
+            }
+            if (isHTML) {
+                // Pass tags between < and > unchanged
+                StringBuffer buf = new StringBuffer();
+                int right = -1;
+                if (inTag) {
+                    right = line.indexOf('>');
+                    if (right < 0) {
+                        right = line.length()-1;
+                    }
+                    buf.append(line.substring(0, right+1));
+                    if (DEBUG) System.out.println("*S:" + line.substring(0, right+1));
+                    inTag = false;
+                }
+                for (;;) {
+                    int left = line.indexOf('<', right+1);
+                    if (left < 0) {
+                        if (right < line.length()-1) {
+                            buf.append(trans.transliterate(line.substring(right+1)));
+                            if (DEBUG) System.out.println("T:" + line.substring(right+1));
+                        }
+                        break;
+                    }
+                    // Append transliterated segment right+1..left-1
+                    buf.append(trans.transliterate(line.substring(right+1, left)));
+                    if (DEBUG) System.out.println("T:" + line.substring(right+1, left));
+                    right = line.indexOf('>', left+1);
+                    if (right < 0) {
+                        inTag = true;
+                        buf.append(line.substring(left));
+                        if (DEBUG) System.out.println("S:" + line.substring(left));
+                        break;
+                    }
+                    buf.append(line.substring(left, right+1));
+                    if (DEBUG) System.out.println("S:" + line.substring(left, right+1));
+                }
+                line = buf.toString();
+            } else {
+                line = trans.transliterate(line);
+            }
+            out.println(line);
+        }
+    }
+
+    static final boolean DEBUG = false;
+
+    /**
+     * Emit usage and die.
+     */
+    static void usage() {
+        System.out.println("Usage: java com.ibm.icu.dev.tool.translit.Trans [-html] <trans> ( <input> | -i <infile>) [ -o <outfile> ]");
+        System.out.println("<trans>   Name of transliterator");
+        System.out.println("<input>   Text to transliterate");
+        System.out.println("<infile>  Name of input file");
+        System.out.println("<outfile> Name of output file");
+        System.out.println("-html     Only transliterate text outside of <tags>");
+        System.out.println("Input may come from the command line or a file.\n");
+        System.out.println("Ouput may go to stdout or a file.\n");
+        System.exit(0);
+    }
+}
diff --git a/src/com/ibm/icu/dev/tool/translit/UnicodeSetCloseOver.java b/src/com/ibm/icu/dev/tool/translit/UnicodeSetCloseOver.java
new file mode 100644
index 0000000..489b4a6
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/translit/UnicodeSetCloseOver.java
@@ -0,0 +1,466 @@
+/*
+**********************************************************************
+* Copyright (c) 2003, International Business Machines
+* Corporation and others.  All Rights Reserved.
+**********************************************************************
+* Author: Alan Liu
+* Created: February 11 2003
+* Since: ICU 2.6
+**********************************************************************
+*/
+package com.ibm.icu.dev.tool.translit;
+
+import com.ibm.icu.lang.UCharacter;
+import com.ibm.icu.text.*;
+import com.ibm.icu.impl.Utility;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Map;
+import java.util.Set;
+import java.util.TreeSet;
+import java.util.Vector;
+import java.util.Locale;
+import java.io.*;
+
+/**
+ * This class produces the data tables used by the closeOver() method
+ * of UnicodeSet.
+ *
+ * Whenever the Unicode database changes, this tool must be re-run
+ * (AFTER the data file(s) underlying ICU4J are udpated).
+ *
+ * The output of this tool should then be pasted into the appropriate
+ * files:
+ *
+ * ICU4J: com.ibm.icu.text.UnicodeSet.java
+ * ICU4C: /icu/source/common/uniset.cpp
+ */
+class UnicodeSetCloseOver {
+
+    // Our output files
+    static final String JAVA_OUT          = "to_UnicodeSet.java";
+    static final String JAVA_CHARPROP_OUT = "to_UCharacterProperty.java";
+    static final String C_SET_OUT         = "to_uniset.cpp";
+    static final String C_UCHAR_OUT       = "to_uchar.c";
+
+    // Source code "do not edit" warning
+    static final String WARNING = "MACHINE-GENERATED; Unicode version " +
+        UCharacter.getUnicodeVersion() +
+        "; DO NOT EDIT; See " +
+        UnicodeSetCloseOver.class.getName();
+
+    // Case folding options flag.  This must correspond to the options
+    // used in UnicodeSet.closeOver() in Java and C++.
+    static final boolean DEFAULT_CASE_MAP = true; // false for Turkish
+
+    public static void main(String[] args) throws IOException {
+        System.out.println("This tool will generate several output files.  Each is named according");
+        System.out.println("the target file.  For example, the contents of to_UnicodeSet.java should");
+        System.out.println("be pasted into UnicodeSet.java.");
+        System.out.println();
+
+        generateCaseData();
+    }
+
+    /**
+     * Create a map of String => Set.  The String in this case is a
+     * folded string for which
+     * UCharacter.foldCase(folded. DEFAULT_CASE_MAP).equals(folded).
+     * The Set contains all single-character strings x for which
+     * UCharacter.foldCase(x, DEFAULT_CASE_MAP).equals(folded), as
+     * well as folded itself.
+     */
+    static Map createCaseFoldEquivalencyClasses() {
+        Map equivClasses = new HashMap();
+        for (int i = 0; i <= 0x10FFFF; ++i) {
+            int cat = UCharacter.getType(i);
+            if (cat == Character.UNASSIGNED || cat == Character.PRIVATE_USE)
+                continue;
+
+            String cp = UTF16.valueOf(i);
+            String folded = UCharacter.foldCase(cp, DEFAULT_CASE_MAP);
+            if (folded.equals(cp)) continue;
+
+            // At this point, have different case folding.  Add
+            // the code point and its folded equivalent into the
+            // equivalency class.
+            TreeSet s = (TreeSet) equivClasses.get(folded);
+            if (s == null) {
+                s = new TreeSet();
+                s.add(folded); // add the case fold result itself
+                equivClasses.put(folded, s);
+            }
+            s.add(cp);
+        }
+        return equivClasses;
+    }
+
+    /**
+     * Analyze the case fold equivalency classes.  Break them into two
+     * groups: 'pairs', and 'nonpairs'.  Create a tally of the length
+     * configurations of the nonpairs.
+     *
+     * Length configurations of equivalency classes, as of Unicode
+     * 3.2.  Most of the classes (83%) have two single codepoints.
+     * Here "112:28" means there are 28 equivalency classes with 2
+     * single codepoints and one string of length 2.
+     *
+     * 11:656
+     * 111:16
+     * 1111:3
+     * 112:28
+     * 113:2
+     * 12:31
+     * 13:12
+     * 22:38
+     *
+     * Note: This method does not count the frequencies of the
+     * different length configurations (as shown above after ':'); it
+     * merely records which configurations occur.
+     *
+     * @param pairs Accumulate equivalency classes that consist of
+     * exactly two codepoints here.  This is 83+% of the classes.
+     * E.g., {"a", "A"}.
+     * @param nonpairs Accumulate other equivalency classes here, as
+     * lists of strings.  E,g, {"st", "\uFB05", "\uFB06"}.
+     * @param lengths Accumulate a list of unique length structures,
+     * not including pairs.  Each length structure is represented by a
+     * string of digits.  The digit string "12" means the equivalency
+     * class contains a single code point and a string of length 2.
+     * Typical contents of 'lengths': { "111", "1111", "112",
+     * "113", "12", "13", "22" }.  Note the absence of "11".
+     */
+    static void analyzeCaseData(Map equivClasses,
+                                StringBuffer pairs,
+                                Vector nonpairs,
+                                Vector lengths) {
+        Iterator i = new TreeSet(equivClasses.keySet()).iterator();
+        StringBuffer buf = new StringBuffer();
+        while (i.hasNext()) {
+            Object key = i.next();
+            Vector v = new Vector((Set) equivClasses.get(key));
+            if (v.size() == 2) {
+                String a = (String) v.elementAt(0);
+                String b = (String) v.elementAt(1);
+                if (a.length() == 1 && b.length() == 1) {
+                    pairs.append(a).append(b);
+                    continue;
+                    // Note that pairs are included in 'lengths'
+                }
+            }
+            String[] a = new String[v.size()];
+            v.toArray(a);
+            nonpairs.add(a);
+            //int singleCount = 0;
+            //int stringCount = 0;
+            // Make a string of the lengths, e.g., "111" means 3
+            // single code points; "13" means a single code point
+            // and a string of length 3.
+            v.clear();
+            for (int j=0; j<a.length; ++j) {
+                v.add(new Integer(a[j].length()));
+            }
+            Collections.sort(v);
+            buf.setLength(0);
+            for (int j=0; j<v.size(); ++j) {
+                buf.append(String.valueOf(v.elementAt(j)));
+            }
+            if (!lengths.contains(buf.toString())) {
+                lengths.add(buf.toString());
+            }
+        }
+    }
+
+    static void generateCaseData() throws IOException {
+
+        Map equivClasses = createCaseFoldEquivalencyClasses();
+
+        // Accumulate equivalency classes that consist of exactly
+        // two codepoints here.  This is 83+% of the classes.
+        // E.g., {"a", "A"}.
+        StringBuffer pairs = new StringBuffer();
+
+        // Accumulate other equivalency classes here, as lists
+        // of strings.  E,g, {"st", "\uFB05", "\uFB06"}.
+        Vector nonpairs = new Vector(); // contains String[]
+        Vector lengths = new Vector(); // "111", "12", "22", etc.
+
+        analyzeCaseData(equivClasses, pairs, nonpairs, lengths);
+
+        //-------------------------------------------------------------
+        // Emit Java source
+        PrintStream out = new PrintStream(new FileOutputStream(JAVA_OUT));
+        System.out.println("Writing " + JAVA_OUT);
+
+        out.println("    // " + WARNING);
+        out.println("    private static final String CASE_PAIRS =");
+        out.println(Utility.formatForSource(pairs.toString()) + ";");
+        out.println();
+        out.println("    // " + WARNING);
+        out.println("    private static final String[][] CASE_NONPAIRS = {");
+        for (int j=0; j<nonpairs.size(); ++j) {
+            String[] a = (String[]) nonpairs.elementAt(j);
+            out.print("        {");
+            for (int k=0; k<a.length; ++k) {
+                if (k != 0) out.print(", ");
+                out.print(Utility.format1ForSource(a[k]));
+            }
+            out.println("},");
+        }
+        out.println("    };");
+
+        //-------------------------------------------------------------
+        // Emit C++ source
+
+        // In C++, the pairs are again emitted in an array, but this
+        // array is the final representation form -- it will not be
+        // reprocessed into a hash.  It will be binary searched by
+        // looking at the even elements [0], [2], [4], etc., and
+        // ignoring the odd elements.  The even elements must contain
+        // the folded members of the pairs.  That is, in the pair
+        // {'A', 'a'}, the even element must be 'a', not 'A'.  Then a
+        // code point to be located is first folded ('Y' => 'y') then
+        // it binary searched against [0]='A', [2]='B', etc.  When a
+        // match is found at k, the pair is [k], [k+1].
+
+        out = new PrintStream(new FileOutputStream(C_SET_OUT));
+        System.out.println("Writing " + C_SET_OUT);
+
+        // Sort the pairs.  They must be ordered by the folded element.
+        // Store these as two-character strings, with charAt(0) being
+        // the folded member of the pair.
+        TreeSet sortPairs = new TreeSet(new Comparator() {
+            public int compare(Object a, Object b) {
+                return ((int) ((String) a).charAt(0)) -
+                       ((int) ((String) b).charAt(0));
+            }
+            public boolean equals(Object obj) {
+                return false;
+            }
+        });
+        for (int i=0; i<pairs.length(); i+=2) {
+            String a = String.valueOf(pairs.charAt(i));
+            String b = String.valueOf(pairs.charAt(i+1));
+            String folded = UCharacter.foldCase(a, DEFAULT_CASE_MAP);
+            if (a.equals(folded)) {
+                sortPairs.add(a + b);
+            } else {
+                sortPairs.add(b + a);
+            }
+        }
+
+        // Emit the pairs
+        out.println("// " + WARNING);
+        out.println("static const UChar CASE_PAIRS[] = {");
+        Iterator it = sortPairs.iterator();
+        while (it.hasNext()) {
+            out.print("    ");
+            int n = 0;
+            while (n++ < 5 && it.hasNext()) {
+                String s = (String) it.next();
+                //out.print((int) s.charAt(0) + "," +
+                //                 (int) s.charAt(1) + ",");
+                out.print("0x" + Utility.hex(s.charAt(0)) + ",0x" +
+                                 Utility.hex(s.charAt(1)) + ",");
+            }
+            out.println();
+        }
+        out.println("};");
+        out.println();
+
+        // The non-pairs are encoded in the following way.  All the
+        // single codepoints in each class are grouped together
+        // followed by a zero.  Then each multi-character string is
+        // added, followed by a zero.  Finally, another zero is added.
+        // Some examples:
+        //  {"iQ", "R"}           =>  [ 'R', 0, 'i', 'Q', 0, 0 ]
+        //  {"S", "D", "F", "G"}  =>  [ 'S', 'D', 'F', 'G', 0, 0 ]
+        //  {"jW", "jY"}          =>  [ 0, 'j', 'W', 0, 'j', 'Y', 0, 0 ]
+        // The end-result is a short, flat array of UChar values that
+        // can be used to initialize a UChar[] array in C.
+        
+        int maxLen = 0; // Maximum encoded length of any class, including zeros
+        out.println("// " + WARNING);
+        out.println("static const CaseEquivClass CASE_NONPAIRS[] = {");
+        for (int j=0; j<nonpairs.size(); ++j) {
+            int len = 0;
+            String[] a = (String[]) nonpairs.elementAt(j);
+            out.print("    {");
+            // Emit single code points
+            for (int k=0; k<a.length; ++k) {
+                if (a[k].length() != 1) continue;
+                //out.print((int) a[k].charAt(0) + ",");
+                out.print("0x"+Utility.hex(a[k].charAt(0)) + ",");
+                ++len;
+            }
+            out.print("0,  "); // End of single code points
+            ++len;
+            // Emit multi-character strings
+            for (int k=0; k<a.length; ++k) {
+                if (a[k].length() == 1) continue;
+                for (int m=0; m<a[k].length(); ++m) {
+                    //out.print((int) a[k].charAt(m) + ",");
+                    out.print("0x"+Utility.hex(a[k].charAt(m)) + ",");
+                    ++len;
+                }
+                out.print("0, "); // End of string
+                ++len;
+            }
+            out.println("0},"); // End of equivalency class
+            ++len;
+            if (len > maxLen) maxLen = len;
+        }
+        out.println("};");
+
+        // Make sure the CaseEquivClass data can fit.
+        if (maxLen > 8) {
+            throw new RuntimeException("Must adjust CaseEquivClass to accomodate " + maxLen + " UChars");
+        }
+
+        // Also make sure that we can map into this array using a
+        // CompactByteArray.  We could do this check above, but we
+        // keep it here, adjacent to the maxLen check.  We use one
+        // value (-1 == 255) to indicate "no value."
+        if (nonpairs.size() > 255) {
+            throw new RuntimeException("Too many CASE_NONPAIRS array elements to be indexed by a CompactByteArray");
+        }
+
+        //-------------------------------------------------------------
+        // Case-unique set:  All characters c for which closeOver(c)==c.
+
+        // UPDATE: Instead of using this, we're using the related
+        // notion of Case_Sensitive.  See below.  Note that
+        // Case_Sensitive != ^Case_Unique.
+
+        if (false) {
+            UnicodeSet caseUnique = new UnicodeSet();
+            for (int i = 0; i <= 0x10FFFF; ++i) {
+                String cp = UTF16.valueOf(i);
+                if (equivClasses.get(UCharacter.foldCase(cp, DEFAULT_CASE_MAP)) == null) {
+                    caseUnique.add(i);
+                }
+            }
+            // out.println("caseUnique = " + caseUnique.toPattern(true));
+        }
+
+        UnicodeSet caseSensitive = getCaseSensitive();
+        //System.out.println("caseSensitive = " + caseSensitive.toPattern(true));
+
+        // Now for C, emit an array of ranges
+        out = new PrintStream(new FileOutputStream(C_UCHAR_OUT));
+        System.out.println("Writing " + C_UCHAR_OUT);
+
+        out.println("/* " + WARNING + " */");
+        emitUCharRangesArray(out, caseSensitive, "CASE_SENSITIVE_RANGES");
+
+        // For Java, emit a string with the ranges (each pair of chars
+        // in the string is a range).
+        out = new PrintStream(new FileOutputStream(JAVA_CHARPROP_OUT));
+        System.out.println("Writing " + JAVA_CHARPROP_OUT);
+        out.println("    // " + WARNING);
+        emitRangesString(out, caseSensitive, "CASE_SENSITIVE_RANGES");
+    }
+
+    /**
+     * Create the set of case-sensitive characters.  These are characters
+     * that participate in any case mapping operation as a source or
+     * as a member of a target string.
+     */
+    static UnicodeSet getCaseSensitive() {
+        UnicodeSet caseSensitive = new UnicodeSet();
+        Locale loc = Locale.US;
+        BreakIterator bi = BreakIterator.getTitleInstance(loc);
+        for (int c = 0; c <= 0x10FFFF; ++c) {
+            String cp = UTF16.valueOf(c);
+            for (int j=0; j<4; ++j) {
+                String s = null;
+                switch (j) {
+                case 0: s = UCharacter.toUpperCase(loc, cp); break;
+                case 1: s = UCharacter.toLowerCase(loc, cp); break;
+                case 2: s = UCharacter.toTitleCase(loc, cp, bi); break;
+                case 3: s = UCharacter.foldCase(cp, DEFAULT_CASE_MAP); break;
+                }
+                if (!s.equals(cp)) {
+                    int cc;
+                    for (int k=0; k<s.length(); k+=UTF16.getCharCount(cc)) {
+                        cc = UTF16.charAt(s, k);
+                        caseSensitive.add(cc);
+                    }
+                    for (int k=0; k<cp.length(); k+=UTF16.getCharCount(cc)) {
+                        cc = UTF16.charAt(cp, k);
+                        caseSensitive.add(cc);
+                    }
+                }
+            }
+            // Also do the single-codepoint API.  This shouldn't add any
+            // code points, but we do it for completeness.
+            for (int j=0; j<4; ++j) {
+                int d = 0;
+                switch (j) {
+                case 0: d = UCharacter.toUpperCase(c); break;
+                case 1: d = UCharacter.toLowerCase(c); break;
+                case 2: d = UCharacter.toTitleCase(c); break;
+                case 3: d = UCharacter.foldCase(c, DEFAULT_CASE_MAP); break;
+                }
+                if (d != c) {
+                    if (!caseSensitive.contains(c) ||
+                        !caseSensitive.contains(d)) {
+                        System.out.println("Warning: code point " + c +
+                                           " => " + d + " created NEW MAPPING"+
+                                           " for Case_Sensitive");
+                    }
+                    caseSensitive.add(c);
+                    caseSensitive.add(d);
+                }
+            }
+        }
+        return caseSensitive;
+    }
+
+    /**
+     * Given a UnicodeSet, emit it as an array of UChar pairs.  Each
+     * pair will be the start/end of a range.  Code points >= U+10000
+     * will be represented as surrogate pairs.
+     */
+    static void emitUCharRangesArray(PrintStream out, UnicodeSet set, String id) {
+        // Store the pairs in a StringBuffer.  This handles surrogate
+        // representation.
+        StringBuffer buf = new StringBuffer();
+        for (int i=0; i<set.getRangeCount(); ++i) {
+            UTF16.append(buf, set.getRangeStart(i));
+            UTF16.append(buf, set.getRangeEnd(i));
+        }
+        // Emit the pairs
+        out.println("static const UChar " + id + "[] = {");
+        for (int i=0; i<buf.length(); ) {
+            out.print("    ");
+            for (int n=0; n++<10 && i<buf.length(); ++i) {
+                out.print("0x" + Utility.hex(buf.charAt(i), 4) + ',');
+            }
+            out.println();
+        }
+        out.println("};");
+        out.println("#define " + id + "_LENGTH (sizeof(" + id +
+                    ")/sizeof(" + id + "[0]))");
+    }
+
+    /**
+     * Given a UnicodeSet, emit it as a Java string.  The most economical
+     * format is not the pattern, but instead a pairs list, with each
+     * range pair represented as two adjacent characters.
+     */
+    static void emitRangesString(PrintStream out, UnicodeSet set, String id) {
+        // Store the pairs in a StringBuffer.  This handles surrogate
+        // representation.
+        StringBuffer buf = new StringBuffer();
+        for (int i=0; i<set.getRangeCount(); ++i) {
+            UTF16.append(buf, set.getRangeStart(i));
+            UTF16.append(buf, set.getRangeEnd(i));
+        }
+        // Emit the pairs
+        out.println("    private static final String " + id + " =");
+        out.println(Utility.formatForSource(buf.toString()) + ";");
+    }
+}
diff --git a/src/com/ibm/icu/dev/tool/translit/UnicodeSetClosure.java b/src/com/ibm/icu/dev/tool/translit/UnicodeSetClosure.java
new file mode 100755
index 0000000..5e19200
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/translit/UnicodeSetClosure.java
@@ -0,0 +1,300 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.tool.translit;
+import com.ibm.icu.lang.*;
+import com.ibm.icu.text.*;
+//import java.text.*;
+import java.io.*;
+import java.util.Locale;
+
+// com.ibm.icu.dev.tool.translit.UnicodeSetClosure
+// com.ibm.icu.dev.test.translit.TransliteratorTest
+
+public class UnicodeSetClosure {
+    public static void main(String[] args) throws Exception {
+        
+        UnicodeSet foo =         new UnicodeSet("[\u1FF6-\u1FFD\u2000-\u2001\u2126]");
+        
+        test();
+        if(foo==null){}
+        
+        /* The following is superceded by Alan's tool
+        
+        File f = new File("UnicodeSetClosure.txt");
+        String filename = f.getCanonicalFile().toString();
+        out = new PrintWriter(
+            new OutputStreamWriter(
+                new FileOutputStream(filename), "UTF-8"));
+        System.out.println("Writing " + filename);
+        out.print('\uFEFF'); // BOM
+        
+        generateSets("Latin-Katakana", true, Normalizer.DECOMP_COMPAT, true,
+"[',.a-z~\u00DF\u00E6\u00F0\u00F8\u00FE\u02BE\u0300-\u034E\u0360-\u0362\u0483-\u0486\u0591-\u05A1\u05A3-\u05B9\u05BB-\u05BD\u05BF\u05C1-\u05C2\u05C4\u064B-\u0655\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7-\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u0901-\u0902\u093C\u0941-\u0948\u094D\u0951-\u0954\u0962-\u0963\u0981\u09BC\u09C1-\u09C4\u09CD\u09E2-\u09E3\u0A02\u0A3C\u0A41-\u0A42\u0A47-\u0A48\u0A4B-\u0A4D\u0A70-\u0A71\u0A81-\u0A82\u0ABC\u0AC1-\u0AC5\u0AC7-\u0AC8\u0ACD\u0B01\u0B3C\u0B3F\u0B41-\u0B43\u0B4D\u0B56\u0B82\u0BC0\u0BCD\u0C3E-\u0C40\u0C46-\u0C48\u0C4A-\u0C4D\u0C55-\u0C56\u0CBF\u0CC6\u0CCC-\u0CCD\u0D41-\u0D43\u0D4D\u0DCA\u0DD2-\u0DD4\u0DD6\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB-\u0EBC\u0EC8-\u0ECD\u0F18-\u0F19\u0F35\u0F37\u0F39\u0F71-\u0F7E\u0F80-\u0F84\u0F86-\u0F87\u0F90-\u0F97\u0F99-\u0FBC\u0FC6\u102D-\u1030\u1032\u1036-\u1037\u1039\u1058-\u1059\u17B7-\u17BD\u17C6\u17C9-\u17D3\u18A9\u20D0-\u20DC\u20E1\u302A-\u302F\uFB1E\uFE20-\uFE23\\U0001D167-\\U0001D169\\U0001D17B-\\U0001D182\\U0001D185-\\U0001D18B\\U0001D1AA-\\U0001D1AD]"
+        );
+        generateSets("Latin-Katakana", false, Normalizer.DECOMP_COMPAT, false,
+"[~\u3001-\u3002\u30A1-\u30AB\u30AD\u30AF\u30B1\u30B3\u30B5\u30B7\u30B9\u30BB\u30BD\u30BF\u30C1\u30C3-\u30C4\u30C6\u30C8\u30CA-\u30CF\u30D2\u30D5\u30D8\u30DB\u30DE-\u30F3\u30F5-\u30F6\u30FC-\u30FD]"
+        );
+        
+        out.close();
+        
+        /////////////////////////////////////////////////
+        if (true) return; // skip the stuff we've done already
+        
+        generateSets("Cyrillic-Latin", true, Normalizer.DECOMP, false,
+            "[\u0402\u0404-\u0406\u0408-\u040B\u040F-\u0418\u041A-\u0438\u043A-\u044F\u0452\u0454-\u0456\u0458-\u045B\u045F\u0490-\u0495\u0498-\u0499\u04D4-\u04D5\u04D8-\u04D9]"
+        );
+        generateSets("Latin-Cyrillic", false, Normalizer.DECOMP, false,
+            "[A-Za-z\u00C6\u00E6\u0110-\u0111\u018F\u0259\u02B9-\u02BA]"
+        );
+        */
+    }
+    
+    public static void generateSets(String label, boolean forward, 
+            Normalizer.Mode m, boolean lowerFirst, String rules) {
+        UnicodeSet s = new UnicodeSet(rules);
+        System.out.println("Generating " + label + (forward ? "" : " BACKWARD"));
+        close(s, m, lowerFirst);
+        out.println("# MINIMAL FILTER GENERATED FOR: " + label + (forward ? "" : " BACKWARD"));
+        out.println(":: " 
+            + (forward ? "" : "( ") 
+            + s.toPattern(true) 
+            + (forward ? "" : " )")
+            + " ;");
+        out.println();
+        out.println("Unicode: " + s.toPattern(false));
+    }
+    
+    static boolean GENERATE = false;
+    
+    public static void test() throws Exception {
+        File f = new File("TestUnicodeSetClosure.txt");
+        String filename = f.getCanonicalFile().toString();
+        out = new PrintWriter(
+            new OutputStreamWriter(
+                new FileOutputStream(filename), "UTF-8"));
+        System.out.println("Writing " + filename);
+        out.print('\uFEFF'); // BOM
+        
+        GENERATE = true;
+        test("[:Devanagari:]");
+        /*
+        test("[\u00E0Bc]");
+        test("[m]");
+        */
+        
+        out.close();
+    }
+    
+    static final Normalizer.Mode[] testModes = {
+        Normalizer.NONE, Normalizer.NFD, Normalizer.NFC, Normalizer.NFKD, Normalizer.NFKC};
+    static final String[] modeNames = {
+        "NoNF", "NFD", "NFC", "NFKD", "NFKC"};
+        
+    static final boolean[] testCases = {
+        false, true};
+    static final String[] caseNames = {
+        "noLower", "lower"};
+    
+    public static void test(String testStr) throws Exception {
+        UnicodeSet original = new UnicodeSet(testStr);
+        
+        System.out.println("Testing Closure of: " + original.toPattern(true));
+        out.println("Testing Closure of: " + original.toPattern(false));
+        UnicodeSet raw = new UnicodeSet(original);
+        original.complement();
+        original.complement();
+        if (!raw.equals(original)) {
+            out.println("Equals:" + original.toPattern(false));
+        }
+        StringWriter swLog = null;
+        PrintWriter log = null;
+        
+        if (GENERATE) {
+            swLog = new StringWriter();
+            log = new PrintWriter(swLog);
+            log.println("static UnicodeSet[][] UNCHANGED = {");
+        }
+        for (int i = 0; i < testCases.length; ++i) {
+            if (GENERATE) log.println("    {");
+            for (int j = 0; j < testModes.length; ++j) {
+                UnicodeSet test = new UnicodeSet(original);
+                close(test, testModes[j], testCases[i]);
+                if (GENERATE) {
+                    log.println("\tnew UnicodeSet(\"" + generatedSet.toPattern(true) + "\"),");
+                }
+                String label = caseNames[i]  + ", " + modeNames[j] ;
+                System.out.println(label);
+                out.println(label + ": " + test.toPattern(false));
+                test.removeAll(original);
+                if (test.isEmpty()) {
+                    out.println("\tNo Difference from original");
+                } else {
+                    out.println("\tDifference = " + test.toPattern(false));
+                }
+                out.flush();
+            }
+            if (GENERATE) log.println("    },");
+            out.println();
+        }
+        
+        if (GENERATE) {
+            log.println("};");
+            out.print(swLog.getBuffer().toString());
+        }
+        
+        /*
+            close(test, Normalizer.DECOMP, false);
+            print("NFD", test);
+            
+            test = new UnicodeSet(testStr);
+            close(test, Normalizer.NO_OP, true);
+            print("Lower", test);
+
+            test = new UnicodeSet(testStr);
+            close(test, Normalizer.COMPOSE, false);
+            print("NFC", test);
+
+            test = new UnicodeSet(testStr);
+            close(test, Normalizer.DECOMP_COMPAT, false);
+            print("NFKD", test);
+
+            test = new UnicodeSet(testStr);
+            close(test, Normalizer.COMPOSE_COMPAT, false);
+            print("NFKC", test);
+        */
+    }
+    
+    static PrintWriter out;
+    
+    /*
+    public static void print(String label, UnicodeSet test) {
+        System.out.println(label);
+        out.println(label + ": " + test.toPattern(false));
+        out.println();
+    }
+    */
+    
+    // dumb, slow implementations
+    public static class NFToString implements Char32ToString {
+        Normalizer.Mode mode;
+        boolean lowerFirst;
+        
+        NFToString(Normalizer.Mode m, boolean lowerFirst) {
+            mode = m;
+            this.lowerFirst = lowerFirst;
+        }
+        
+        public String get(int cp) {
+            String source = UTF16.valueOf(cp);
+            String result = source;
+            if (lowerFirst) result = UCharacter.toLowerCase(Locale.US, result);
+            result = Normalizer.normalize(result, mode);
+            if (lowerFirst) result = UCharacter.toLowerCase(Locale.US, result);
+            if (result.equals(source)) return null;
+            return result;
+        }
+    }
+        
+    
+    /** Returns a mapping from char32 to a string. If there is no change,
+     * null is returned.
+     */
+     
+    interface Char32ToString {
+        public String get(int cp);
+    }
+    
+    static boolean FAST = true;
+    
+    public static void close(UnicodeSet s, Normalizer.Mode m, boolean lowerFirst) {
+        Char32ToString f = new NFToString(m, lowerFirst);
+        if (FAST) {
+            int mm;
+            for (mm = 0; ; ++mm) if (m == testModes[mm]) break; // find mode
+            close2(s, f, lowerFirst ? 1 : 0, mm);
+            return;
+        }
+        close(s, f);
+    }
+    
+    public static void close(UnicodeSet s, Char32ToString f) {
+        if (GENERATE) generatedSet = new UnicodeSet();
+        
+        for (int cp = 0; cp <= 0x10FFFF; ++cp) {
+            int type = UCharacter.getType(cp);
+            if (type == Character.UNASSIGNED) continue;
+            
+            //if (cp == '\u00e7') {
+              //  System.out.println("debug");
+            //}
+            String result = f.get(cp);
+            if (result == null) continue;
+            if (GENERATE) {
+                generatedSet.add(cp);
+            }
+            if (!containsSome(s, result)) continue;
+            s.add(cp);
+        }
+    }
+    
+    public static void close2(UnicodeSet s, Char32ToString f, int lc, int mode) {
+        UnicodeSet unchanged = new UnicodeSet(); // UNCHANGED[lc][mode];
+        int count = unchanged.getRangeCount();
+        for (int i = 0; i < count; ++i) {
+            int start = unchanged.getRangeStart(i);
+            int end = unchanged.getRangeEnd(i);
+            for (int cp = start; cp <= end; ++cp) {
+                String result = f.get(cp);
+                if (result == null) throw new IllegalArgumentException("Something wrong -- should never happen");
+                if (!containsSome(s, result)) continue;
+                s.add(cp);
+            }
+        }
+    }
+    
+    /*
+    static final UnicodeSet[][] UNCHANGED = {
+        { // \u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC1-\u1FC4\u1FC6-\u1FD3\u1FD6-\u1FDB\u1FDD-\u1FEF\u1FF2-\u1FF4
+        new UnicodeSet("[\u1FF6-\u1FFD\u2000-\u2001\u2126]"),
+        // \u212A-\u212B\u219A-\u219B\u21AE\u21CD-\u21CF\u2204\u2209\u220C\u2224\u2226\u2241\u2244\u2247\u2249\u2260\u2262\u226D-\u2271\u2274-\u2275\u2278
+        new UnicodeSet("[\u00C0-\u00C5\u00C7-\u00CF\u00D1-\u00D6\u00D9-\u00DD\u00E0-\u00E5\u00E7-\u00EF\u00F1-\u00F6\u00F9-\u00FD\u00FF-\u010F\u0112-\u0125\u0128-\u0130\u0134-\u0137\u0139-\u013E\u0143-\u0148\u014C-\u0151\u0154-\u0165\u0168-\u017E\u01A0-\u01A1\u01AF-\u01B0\u01CD-\u01DC\u01DE-\u01E3\u01E6-\u01F0\u01F4-\u01F5\u01F8-\u021B\u021E-\u021F\u0226-\u0233\u0340-\u0341\u0343-\u0344\u0374\u037E\u0385-\u038A\u038C\u038E-\u0390\u03AA-\u03B0\u03CA-\u03CE\u03D3-\u03D4\u0400-\u0401\u0403\u0407\u040C-\u040E\u0419\u0439\u0450-\u0451\u0453\u0457\u045C-\u045E\u0476-\u0477\u04C1-\u04C2\u04D0-\u04D3\u04D6-\u04D7\u04DA-\u04DF\u04E2-\u04E7\u04EA-\u04F5\u04F8-\u04F9\u0622-\u0626\u06C0\u06C2\u06D3\u0929\u0931\u0934\u0958-\u095F\u09CB-\u09CC\u09DC-\u09DD\u09DF\u0A33\u0A36\u0A59-\u0A5B\u0A5E\u0B48\u0B4B-\u0B4C\u0B5C-\u0B5D\u0B94\u0BCA-\u0BCC\u0C48\u0CC0\u0CC7-\u0CC8\u0CCA-\u0CCB\u0D4A-\u0D4C\u0DDA\u0DDC-\u0DDE\u0F43\u0F4D\u0F52\u0F57\u0F5C\u0F69\u0F73\u0F75-\u0F76\u0F78\u0F81\u0F93\u0F9D\u0FA2\u0FA7\u0FAC\u0FB9\u1026\u1E00-\u1E99\u1E9B\u1EA0-\u1EF9\u1F00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC1-\u1FC4\u1FC6-\u1FD3\u1FD6-\u1FDB\u1FDD-\u1FEF\u1FF2-\u1FF4\u1FF6-\u1FFD\u2000-\u2001\u2126\u212A-\u212B\u219A-\u219B\u21AE\u21CD-\u21CF\u2204\u2209\u220C\u2224\u2226\u2241\u2244\u2247\u2249\u2260\u2262\u226D-\u2271\u2274-\u2275\u2278-\u2279\u2280-\u2281\u2284-\u2285\u2288-\u2289\u22AC-\u22AF\u22E0-\u22E3\u22EA-\u22ED\u2329-\u232A\u304C\u304E\u3050\u3052\u3054\u3056\u3058\u305A\u305C\u305E\u3060\u3062\u3065\u3067\u3069\u3070-\u3071\u3073-\u3074\u3076-\u3077\u3079-\u307A\u307C-\u307D\u3094\u309E\u30AC\u30AE\u30B0\u30B2\u30B4\u30B6\u30B8\u30BA\u30BC\u30BE\u30C0\u30C2\u30C5\u30C7\u30C9\u30D0-\u30D1\u30D3-\u30D4\u30D6-\u30D7\u30D9-\u30DA\u30DC-\u30DD\u30F4\u30F7-\u30FA\u30FE\uAC00-\uD7A3\uF900-\uFA0D\uFA10\uFA12\uFA15-\uFA1E\uFA20\uFA22\uFA25-\uFA26\uFA2A-\uFA2D\uFB1D\uFB1F\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40-\uFB41\uFB43-\uFB44\uFB46-\uFB4E]"),
+        new UnicodeSet("[\u0340-\u0341\u0343-\u0344\u0374\u037E\u0387\u0958-\u095F\u09DC-\u09DD\u09DF\u0A33\u0A36\u0A59-\u0A5B\u0A5E\u0B5C-\u0B5D\u0F43\u0F4D\u0F52\u0F57\u0F5C\u0F69\u0F73\u0F75-\u0F76\u0F78\u0F81\u0F93\u0F9D\u0FA2\u0FA7\u0FAC\u0FB9\u1F71\u1F73\u1F75\u1F77\u1F79\u1F7B\u1F7D\u1FBB\u1FBE\u1FC9\u1FCB\u1FD3\u1FDB\u1FE3\u1FEB\u1FEE-\u1FEF\u1FF9\u1FFB\u1FFD\u2000-\u2001\u2126\u212A-\u212B\u2329-\u232A\uF900-\uFA0D\uFA10\uFA12\uFA15-\uFA1E\uFA20\uFA22\uFA25-\uFA26\uFA2A-\uFA2D\uFB1F\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40-\uFB41\uFB43-\uFB44\uFB46-\uFB4E]"),
+        new UnicodeSet("[\u00A0\u00A8\u00AA\u00AF\u00B2-\u00B5\u00B8-\u00BA\u00BC-\u00BE\u00C0-\u00C5\u00C7-\u00CF\u00D1-\u00D6\u00D9-\u00DD\u00E0-\u00E5\u00E7-\u00EF\u00F1-\u00F6\u00F9-\u00FD\u00FF-\u010F\u0112-\u0125\u0128-\u0130\u0132-\u0137\u0139-\u0140\u0143-\u0149\u014C-\u0151\u0154-\u0165\u0168-\u017F\u01A0-\u01A1\u01AF-\u01B0\u01C4-\u01DC\u01DE-\u01E3\u01E6-\u01F5\u01F8-\u021B\u021E-\u021F\u0226-\u0233\u02B0-\u02B8\u02D8-\u02DD\u02E0-\u02E4\u0340-\u0341\u0343-\u0344\u0374\u037A\u037E\u0384-\u038A\u038C\u038E-\u0390\u03AA-\u03B0\u03CA-\u03CE\u03D0-\u03D6\u03F0-\u03F2\u0400-\u0401\u0403\u0407\u040C-\u040E\u0419\u0439\u0450-\u0451\u0453\u0457\u045C-\u045E\u0476-\u0477\u04C1-\u04C2\u04D0-\u04D3\u04D6-\u04D7\u04DA-\u04DF\u04E2-\u04E7\u04EA-\u04F5\u04F8-\u04F9\u0587\u0622-\u0626\u0675-\u0678\u06C0\u06C2\u06D3\u0929\u0931\u0934\u0958-\u095F\u09CB-\u09CC\u09DC-\u09DD\u09DF\u0A33\u0A36\u0A59-\u0A5B\u0A5E\u0B48\u0B4B-\u0B4C\u0B5C-\u0B5D\u0B94\u0BCA-\u0BCC\u0C48\u0CC0\u0CC7-\u0CC8\u0CCA-\u0CCB\u0D4A-\u0D4C\u0DDA\u0DDC-\u0DDE\u0E33\u0EB3\u0EDC-\u0EDD\u0F0C\u0F43\u0F4D\u0F52\u0F57\u0F5C\u0F69\u0F73\u0F75-\u0F79\u0F81\u0F93\u0F9D\u0FA2\u0FA7\u0FAC\u0FB9\u1026\u1E00-\u1E9B\u1EA0-\u1EF9\u1F00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FC4\u1FC6-\u1FD3\u1FD6-\u1FDB\u1FDD-\u1FEF\u1FF2-\u1FF4\u1FF6-\u1FFE\u2000-\u200A\u2011\u2017\u2024-\u2026\u202F\u2033-\u2034\u2036-\u2037\u203C\u203E\u2048-\u2049\u2070\u2074-\u208E\u20A8\u2100-\u2103\u2105-\u2107\u2109-\u2113\u2115-\u2116\u2119-\u211D\u2120-\u2122\u2124\u2126\u2128\u212A-\u212D\u212F-\u2131\u2133-\u2139\u2153-\u217F\u219A-\u219B\u21AE\u21CD-\u21CF\u2204\u2209\u220C\u2224\u2226\u222C-\u222D\u222F-\u2230\u2241\u2244\u2247\u2249\u2260\u2262\u226D-\u2271\u2274-\u2275\u2278-\u2279\u2280-\u2281\u2284-\u2285\u2288-\u2289\u22AC-\u22AF\u22E0-\u22E3\u22EA-\u22ED\u2329-\u232A\u2460-\u24EA\u2E9F\u2EF3\u2F00-\u2FD5\u3000\u3036\u3038-\u303A\u304C\u304E\u3050\u3052\u3054\u3056\u3058\u305A\u305C\u305E\u3060\u3062\u3065\u3067\u3069\u3070-\u3071\u3073-\u3074\u3076-\u3077\u3079-\u307A\u307C-\u307D\u3094\u309B-\u309C\u309E\u30AC\u30AE\u30B0\u30B2\u30B4\u30B6\u30B8\u30BA\u30BC\u30BE\u30C0\u30C2\u30C5\u30C7\u30C9\u30D0-\u30D1\u30D3-\u30D4\u30D6-\u30D7\u30D9-\u30DA\u30DC-\u30DD\u30F4\u30F7-\u30FA\u30FE\u3131-\u318E\u3192-\u319F\u3200-\u321C\u3220-\u3243\u3260-\u327B\u3280-\u32B0\u32C0-\u32CB\u32D0-\u32FE\u3300-\u3376\u337B-\u33DD\u33E0-\u33FE\uAC00-\uD7A3\uF900-\uFA0D\uFA10\uFA12\uFA15-\uFA1E\uFA20\uFA22\uFA25-\uFA26\uFA2A-\uFA2D\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB36\uFB38-\uFB3C\uFB3E\uFB40-\uFB41\uFB43-\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE30-\uFE44\uFE49-\uFE52\uFE54-\uFE66\uFE68-\uFE6B\uFE70-\uFE72\uFE74\uFE76-\uFEFC\uFF01-\uFF5E\uFF61-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC\uFFE0-\uFFE6\uFFE8-\uFFEE]"),
+        new UnicodeSet("[\u00A0\u00A8\u00AA\u00AF\u00B2-\u00B5\u00B8-\u00BA\u00BC-\u00BE\u0132-\u0133\u013F-\u0140\u0149\u017F\u01C4-\u01CC\u01F1-\u01F3\u02B0-\u02B8\u02D8-\u02DD\u02E0-\u02E4\u0340-\u0341\u0343-\u0344\u0374\u037A\u037E\u0384-\u0385\u0387\u03D0-\u03D6\u03F0-\u03F2\u0587\u0675-\u0678\u0958-\u095F\u09DC-\u09DD\u09DF\u0A33\u0A36\u0A59-\u0A5B\u0A5E\u0B5C-\u0B5D\u0E33\u0EB3\u0EDC-\u0EDD\u0F0C\u0F43\u0F4D\u0F52\u0F57\u0F5C\u0F69\u0F73\u0F75-\u0F79\u0F81\u0F93\u0F9D\u0FA2\u0FA7\u0FAC\u0FB9\u1E9A-\u1E9B\u1F71\u1F73\u1F75\u1F77\u1F79\u1F7B\u1F7D\u1FBB\u1FBD-\u1FC1\u1FC9\u1FCB\u1FCD-\u1FCF\u1FD3\u1FDB\u1FDD-\u1FDF\u1FE3\u1FEB\u1FED-\u1FEF\u1FF9\u1FFB\u1FFD-\u1FFE\u2000-\u200A\u2011\u2017\u2024-\u2026\u202F\u2033-\u2034\u2036-\u2037\u203C\u203E\u2048-\u2049\u2070\u2074-\u208E\u20A8\u2100-\u2103\u2105-\u2107\u2109-\u2113\u2115-\u2116\u2119-\u211D\u2120-\u2122\u2124\u2126\u2128\u212A-\u212D\u212F-\u2131\u2133-\u2139\u2153-\u217F\u222C-\u222D\u222F-\u2230\u2329-\u232A\u2460-\u24EA\u2E9F\u2EF3\u2F00-\u2FD5\u3000\u3036\u3038-\u303A\u309B-\u309C\u3131-\u318E\u3192-\u319F\u3200-\u321C\u3220-\u3243\u3260-\u327B\u3280-\u32B0\u32C0-\u32CB\u32D0-\u32FE\u3300-\u3376\u337B-\u33DD\u33E0-\u33FE\uF900-\uFA0D\uFA10\uFA12\uFA15-\uFA1E\uFA20\uFA22\uFA25-\uFA26\uFA2A-\uFA2D\uFB00-\uFB06\uFB13-\uFB17\uFB1F-\uFB36\uFB38-\uFB3C\uFB3E\uFB40-\uFB41\uFB43-\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE30-\uFE44\uFE49-\uFE52\uFE54-\uFE66\uFE68-\uFE6B\uFE70-\uFE72\uFE74\uFE76-\uFEFC\uFF01-\uFF5E\uFF61-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC\uFFE0-\uFFE6\uFFE8-\uFFEE]"),
+        },
+        {
+        new UnicodeSet("[A-Z\u00B2-\u00B3\u00B5\u00B9\u00BC-\u00BE\u00C0-\u00D6\u00D8-\u00DE\u0100\u0102\u0104\u0106\u0108\u010A\u010C\u010E\u0110\u0112\u0114\u0116\u0118\u011A\u011C\u011E\u0120\u0122\u0124\u0126\u0128\u012A\u012C\u012E\u0130-\u0132\u0134\u0136\u0139\u013B\u013D\u013F\u0141\u0143\u0145\u0147\u014A\u014C\u014E\u0150\u0152\u0154\u0156\u0158\u015A\u015C\u015E\u0160\u0162\u0164\u0166\u0168\u016A\u016C\u016E\u0170\u0172\u0174\u0176\u0178-\u0179\u017B\u017D\u017F\u0181-\u0182\u0184\u0186-\u0187\u0189-\u018B\u018E-\u0191\u0193-\u0194\u0196-\u0198\u019C-\u019D\u019F-\u01A0\u01A2\u01A4\u01A6-\u01A7\u01A9\u01AC\u01AE-\u01AF\u01B1-\u01B3\u01B5\u01B7-\u01B8\u01BC\u01C4-\u01CD\u01CF\u01D1\u01D3\u01D5\u01D7\u01D9\u01DB\u01DE\u01E0\u01E2\u01E4\u01E6\u01E8\u01EA\u01EC\u01EE\u01F1-\u01F4\u01F6-\u01F8\u01FA\u01FC\u01FE\u0200\u0202\u0204\u0206\u0208\u020A\u020C\u020E\u0210\u0212\u0214\u0216\u0218\u021A\u021C\u021E\u0222\u0224\u0226\u0228\u022A\u022C\u022E\u0230\u0232\u0345\u0386\u0388-\u038A\u038C\u038E-\u038F\u0391-\u03A1\u03A3-\u03AB\u03C2\u03D0-\u03D1\u03D5-\u03D6\u03DA\u03DC\u03DE\u03E0\u03E2\u03E4\u03E6\u03E8\u03EA\u03EC\u03EE\u03F0-\u03F2\u03F4-\u03F5\u0400-\u042F\u0460\u0462\u0464\u0466\u0468\u046A\u046C\u046E\u0470\u0472\u0474\u0476\u0478\u047A\u047C\u047E\u0480\u048C\u048E\u0490\u0492\u0494\u0496\u0498\u049A\u049C\u049E\u04A0\u04A2\u04A4\u04A6\u04A8\u04AA\u04AC\u04AE\u04B0\u04B2\u04B4\u04B6\u04B8\u04BA\u04BC\u04BE\u04C1\u04C3\u04C7\u04CB\u04D0\u04D2\u04D4\u04D6\u04D8\u04DA\u04DC\u04DE\u04E0\u04E2\u04E4\u04E6\u04E8\u04EA\u04EC\u04EE\u04F0\u04F2\u04F4\u04F8\u0531-\u0556\u09F8\u0F2A-\u0F33\u137C\u1E00\u1E02\u1E04\u1E06\u1E08\u1E0A\u1E0C\u1E0E\u1E10\u1E12\u1E14\u1E16\u1E18\u1E1A\u1E1C\u1E1E\u1E20\u1E22\u1E24\u1E26\u1E28\u1E2A\u1E2C\u1E2E\u1E30\u1E32\u1E34\u1E36\u1E38\u1E3A\u1E3C\u1E3E\u1E40\u1E42\u1E44\u1E46\u1E48\u1E4A\u1E4C\u1E4E\u1E50\u1E52\u1E54\u1E56\u1E58\u1E5A\u1E5C\u1E5E\u1E60\u1E62\u1E64\u1E66\u1E68\u1E6A\u1E6C\u1E6E\u1E70\u1E72\u1E74\u1E76\u1E78\u1E7A\u1E7C\u1E7E\u1E80\u1E82\u1E84\u1E86\u1E88\u1E8A\u1E8C\u1E8E\u1E90\u1E92\u1E94\u1E9B\u1EA0\u1EA2\u1EA4\u1EA6\u1EA8\u1EAA\u1EAC\u1EAE\u1EB0\u1EB2\u1EB4\u1EB6\u1EB8\u1EBA\u1EBC\u1EBE\u1EC0\u1EC2\u1EC4\u1EC6\u1EC8\u1ECA\u1ECC\u1ECE\u1ED0\u1ED2\u1ED4\u1ED6\u1ED8\u1EDA\u1EDC\u1EDE\u1EE0\u1EE2\u1EE4\u1EE6\u1EE8\u1EEA\u1EEC\u1EEE\u1EF0\u1EF2\u1EF4\u1EF6\u1EF8\u1F08-\u1F0F\u1F18-\u1F1D\u1F28-\u1F2F\u1F38-\u1F3F\u1F48-\u1F4D\u1F59\u1F5B\u1F5D\u1F5F\u1F68-\u1F6F\u1F88-\u1F8F\u1F98-\u1F9F\u1FA8-\u1FAF\u1FB8-\u1FBC\u1FBE\u1FC8-\u1FCC\u1FD8-\u1FDB\u1FE8-\u1FEC\u1FF8-\u1FFC\u2070\u2074-\u2079\u2080-\u2089\u2126\u212A-\u212B\u2153-\u215E\u2160-\u217F\u2181-\u2183\u2460-\u2468\u2474-\u247C\u2488-\u2490\u24B6-\u24EA\u2776-\u277E\u2780-\u2788\u278A-\u2792\uFF21-\uFF3A\\U0001034A\\U00010400-\\U00010425\\U0001D165-\\U0001D166\\U0001D16D-\\U0001D172]"),
+        new UnicodeSet("[A-Z\u00B2-\u00B3\u00B5\u00B9\u00BC-\u00BE\u00C0-\u00D6\u00D8-\u00DE\u00E0-\u00E5\u00E7-\u00EF\u00F1-\u00F6\u00F9-\u00FD\u00FF-\u0110\u0112-\u0126\u0128-\u0132\u0134-\u0137\u0139-\u013F\u0141\u0143-\u0148\u014A\u014C-\u0152\u0154-\u0166\u0168-\u017F\u0181-\u0182\u0184\u0186-\u0187\u0189-\u018B\u018E-\u0191\u0193-\u0194\u0196-\u0198\u019C-\u019D\u019F-\u01A2\u01A4\u01A6-\u01A7\u01A9\u01AC\u01AE-\u01B3\u01B5\u01B7-\u01B8\u01BC\u01C4-\u01DC\u01DE-\u01E4\u01E6-\u021C\u021E-\u021F\u0222\u0224\u0226-\u0233\u0340-\u0341\u0343-\u0345\u0374\u037E\u0385-\u038A\u038C\u038E-\u03A1\u03A3-\u03B0\u03C2\u03CA-\u03CE\u03D0-\u03D1\u03D3-\u03D6\u03DA\u03DC\u03DE\u03E0\u03E2\u03E4\u03E6\u03E8\u03EA\u03EC\u03EE\u03F0-\u03F2\u03F4-\u03F5\u0400-\u042F\u0439\u0450-\u0451\u0453\u0457\u045C-\u045E\u0460\u0462\u0464\u0466\u0468\u046A\u046C\u046E\u0470\u0472\u0474\u0476-\u0478\u047A\u047C\u047E\u0480\u048C\u048E\u0490\u0492\u0494\u0496\u0498\u049A\u049C\u049E\u04A0\u04A2\u04A4\u04A6\u04A8\u04AA\u04AC\u04AE\u04B0\u04B2\u04B4\u04B6\u04B8\u04BA\u04BC\u04BE\u04C1-\u04C3\u04C7\u04CB\u04D0-\u04D4\u04D6-\u04D8\u04DA-\u04E0\u04E2-\u04E8\u04EA-\u04F5\u04F8-\u04F9\u0531-\u0556\u0622-\u0626\u06C0\u06C2\u06D3\u0929\u0931\u0934\u0958-\u095F\u09CB-\u09CC\u09DC-\u09DD\u09DF\u09F8\u0A33\u0A36\u0A59-\u0A5B\u0A5E\u0B48\u0B4B-\u0B4C\u0B5C-\u0B5D\u0B94\u0BCA-\u0BCC\u0C48\u0CC0\u0CC7-\u0CC8\u0CCA-\u0CCB\u0D4A-\u0D4C\u0DDA\u0DDC-\u0DDE\u0F2A-\u0F33\u0F43\u0F4D\u0F52\u0F57\u0F5C\u0F69\u0F73\u0F75-\u0F76\u0F78\u0F81\u0F93\u0F9D\u0FA2\u0FA7\u0FAC\u0FB9\u1026\u137C\u1E00-\u1E99\u1E9B\u1EA0-\u1EF9\u1F00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC1-\u1FC4\u1FC6-\u1FD3\u1FD6-\u1FDB\u1FDD-\u1FEF\u1FF2-\u1FF4\u1FF6-\u1FFD\u2000-\u2001\u2070\u2074-\u2079\u2080-\u2089\u2126\u212A-\u212B\u2153-\u215E\u2160-\u217F\u2181-\u2183\u219A-\u219B\u21AE\u21CD-\u21CF\u2204\u2209\u220C\u2224\u2226\u2241\u2244\u2247\u2249\u2260\u2262\u226D-\u2271\u2274-\u2275\u2278-\u2279\u2280-\u2281\u2284-\u2285\u2288-\u2289\u22AC-\u22AF\u22E0-\u22E3\u22EA-\u22ED\u2329-\u232A\u2460-\u2468\u2474-\u247C\u2488-\u2490\u24B6-\u24EA\u2776-\u277E\u2780-\u2788\u278A-\u2792\u304C\u304E\u3050\u3052\u3054\u3056\u3058\u305A\u305C\u305E\u3060\u3062\u3065\u3067\u3069\u3070-\u3071\u3073-\u3074\u3076-\u3077\u3079-\u307A\u307C-\u307D\u3094\u309E\u30AC\u30AE\u30B0\u30B2\u30B4\u30B6\u30B8\u30BA\u30BC\u30BE\u30C0\u30C2\u30C5\u30C7\u30C9\u30D0-\u30D1\u30D3-\u30D4\u30D6-\u30D7\u30D9-\u30DA\u30DC-\u30DD\u30F4\u30F7-\u30FA\u30FE\uAC00-\uD7A3\uF900-\uFA0D\uFA10\uFA12\uFA15-\uFA1E\uFA20\uFA22\uFA25-\uFA26\uFA2A-\uFA2D\uFB1D\uFB1F\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40-\uFB41\uFB43-\uFB44\uFB46-\uFB4E\uFF21-\uFF3A\\U0001034A\\U00010400-\\U00010425\\U0001D165-\\U0001D166\\U0001D16D-\\U0001D172]"),
+        new UnicodeSet("[A-Z\u00B2-\u00B3\u00B5\u00B9\u00BC-\u00BE\u00C0-\u00D6\u00D8-\u00DE\u0100\u0102\u0104\u0106\u0108\u010A\u010C\u010E\u0110\u0112\u0114\u0116\u0118\u011A\u011C\u011E\u0120\u0122\u0124\u0126\u0128\u012A\u012C\u012E\u0130-\u0132\u0134\u0136\u0139\u013B\u013D\u013F\u0141\u0143\u0145\u0147\u014A\u014C\u014E\u0150\u0152\u0154\u0156\u0158\u015A\u015C\u015E\u0160\u0162\u0164\u0166\u0168\u016A\u016C\u016E\u0170\u0172\u0174\u0176\u0178-\u0179\u017B\u017D\u017F\u0181-\u0182\u0184\u0186-\u0187\u0189-\u018B\u018E-\u0191\u0193-\u0194\u0196-\u0198\u019C-\u019D\u019F-\u01A0\u01A2\u01A4\u01A6-\u01A7\u01A9\u01AC\u01AE-\u01AF\u01B1-\u01B3\u01B5\u01B7-\u01B8\u01BC\u01C4-\u01CD\u01CF\u01D1\u01D3\u01D5\u01D7\u01D9\u01DB\u01DE\u01E0\u01E2\u01E4\u01E6\u01E8\u01EA\u01EC\u01EE\u01F1-\u01F4\u01F6-\u01F8\u01FA\u01FC\u01FE\u0200\u0202\u0204\u0206\u0208\u020A\u020C\u020E\u0210\u0212\u0214\u0216\u0218\u021A\u021C\u021E\u0222\u0224\u0226\u0228\u022A\u022C\u022E\u0230\u0232\u0340-\u0341\u0343-\u0345\u0374\u037E\u0386-\u038A\u038C\u038E-\u038F\u0391-\u03A1\u03A3-\u03AB\u03C2\u03D0-\u03D1\u03D5-\u03D6\u03DA\u03DC\u03DE\u03E0\u03E2\u03E4\u03E6\u03E8\u03EA\u03EC\u03EE\u03F0-\u03F2\u03F4-\u03F5\u0400-\u042F\u0460\u0462\u0464\u0466\u0468\u046A\u046C\u046E\u0470\u0472\u0474\u0476\u0478\u047A\u047C\u047E\u0480\u048C\u048E\u0490\u0492\u0494\u0496\u0498\u049A\u049C\u049E\u04A0\u04A2\u04A4\u04A6\u04A8\u04AA\u04AC\u04AE\u04B0\u04B2\u04B4\u04B6\u04B8\u04BA\u04BC\u04BE\u04C1\u04C3\u04C7\u04CB\u04D0\u04D2\u04D4\u04D6\u04D8\u04DA\u04DC\u04DE\u04E0\u04E2\u04E4\u04E6\u04E8\u04EA\u04EC\u04EE\u04F0\u04F2\u04F4\u04F8\u0531-\u0556\u0958-\u095F\u09DC-\u09DD\u09DF\u09F8\u0A33\u0A36\u0A59-\u0A5B\u0A5E\u0B5C-\u0B5D\u0F2A-\u0F33\u0F43\u0F4D\u0F52\u0F57\u0F5C\u0F69\u0F73\u0F75-\u0F76\u0F78\u0F81\u0F93\u0F9D\u0FA2\u0FA7\u0FAC\u0FB9\u137C\u1E00\u1E02\u1E04\u1E06\u1E08\u1E0A\u1E0C\u1E0E\u1E10\u1E12\u1E14\u1E16\u1E18\u1E1A\u1E1C\u1E1E\u1E20\u1E22\u1E24\u1E26\u1E28\u1E2A\u1E2C\u1E2E\u1E30\u1E32\u1E34\u1E36\u1E38\u1E3A\u1E3C\u1E3E\u1E40\u1E42\u1E44\u1E46\u1E48\u1E4A\u1E4C\u1E4E\u1E50\u1E52\u1E54\u1E56\u1E58\u1E5A\u1E5C\u1E5E\u1E60\u1E62\u1E64\u1E66\u1E68\u1E6A\u1E6C\u1E6E\u1E70\u1E72\u1E74\u1E76\u1E78\u1E7A\u1E7C\u1E7E\u1E80\u1E82\u1E84\u1E86\u1E88\u1E8A\u1E8C\u1E8E\u1E90\u1E92\u1E94\u1E9B\u1EA0\u1EA2\u1EA4\u1EA6\u1EA8\u1EAA\u1EAC\u1EAE\u1EB0\u1EB2\u1EB4\u1EB6\u1EB8\u1EBA\u1EBC\u1EBE\u1EC0\u1EC2\u1EC4\u1EC6\u1EC8\u1ECA\u1ECC\u1ECE\u1ED0\u1ED2\u1ED4\u1ED6\u1ED8\u1EDA\u1EDC\u1EDE\u1EE0\u1EE2\u1EE4\u1EE6\u1EE8\u1EEA\u1EEC\u1EEE\u1EF0\u1EF2\u1EF4\u1EF6\u1EF8\u1F08-\u1F0F\u1F18-\u1F1D\u1F28-\u1F2F\u1F38-\u1F3F\u1F48-\u1F4D\u1F59\u1F5B\u1F5D\u1F5F\u1F68-\u1F6F\u1F71\u1F73\u1F75\u1F77\u1F79\u1F7B\u1F7D\u1F88-\u1F8F\u1F98-\u1F9F\u1FA8-\u1FAF\u1FB8-\u1FBC\u1FBE\u1FC8-\u1FCC\u1FD3\u1FD8-\u1FDB\u1FE3\u1FE8-\u1FEC\u1FEE-\u1FEF\u1FF8-\u1FFD\u2000-\u2001\u2070\u2074-\u2079\u2080-\u2089\u2126\u212A-\u212B\u2153-\u215E\u2160-\u217F\u2181-\u2183\u2329-\u232A\u2460-\u2468\u2474-\u247C\u2488-\u2490\u24B6-\u24EA\u2776-\u277E\u2780-\u2788\u278A-\u2792\uF900-\uFA0D\uFA10\uFA12\uFA15-\uFA1E\uFA20\uFA22\uFA25-\uFA26\uFA2A-\uFA2D\uFB1F\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40-\uFB41\uFB43-\uFB44\uFB46-\uFB4E\uFF21-\uFF3A\\U0001034A\\U00010400-\\U00010425\\U0001D165-\\U0001D166\\U0001D16D-\\U0001D172]"),
+        new UnicodeSet("[A-Z\u00A0\u00A8\u00AA\u00AF\u00B2-\u00B5\u00B8-\u00BA\u00BC-\u00BE\u00C0-\u00D6\u00D8-\u00DE\u00E0-\u00E5\u00E7-\u00EF\u00F1-\u00F6\u00F9-\u00FD\u00FF-\u0110\u0112-\u0126\u0128-\u0137\u0139-\u0141\u0143-\u014A\u014C-\u0152\u0154-\u0166\u0168-\u017F\u0181-\u0182\u0184\u0186-\u0187\u0189-\u018B\u018E-\u0191\u0193-\u0194\u0196-\u0198\u019C-\u019D\u019F-\u01A2\u01A4\u01A6-\u01A7\u01A9\u01AC\u01AE-\u01B3\u01B5\u01B7-\u01B8\u01BC\u01C4-\u01DC\u01DE-\u01E4\u01E6-\u021C\u021E-\u021F\u0222\u0224\u0226-\u0233\u02B0-\u02B8\u02D8-\u02DD\u02E0-\u02E4\u0340-\u0341\u0343-\u0345\u0374\u037A\u037E\u0384-\u038A\u038C\u038E-\u03A1\u03A3-\u03B0\u03C2\u03CA-\u03CE\u03D0-\u03D6\u03DA\u03DC\u03DE\u03E0\u03E2\u03E4\u03E6\u03E8\u03EA\u03EC\u03EE\u03F0-\u03F2\u03F4-\u03F5\u0400-\u042F\u0439\u0450-\u0451\u0453\u0457\u045C-\u045E\u0460\u0462\u0464\u0466\u0468\u046A\u046C\u046E\u0470\u0472\u0474\u0476-\u0478\u047A\u047C\u047E\u0480\u048C\u048E\u0490\u0492\u0494\u0496\u0498\u049A\u049C\u049E\u04A0\u04A2\u04A4\u04A6\u04A8\u04AA\u04AC\u04AE\u04B0\u04B2\u04B4\u04B6\u04B8\u04BA\u04BC\u04BE\u04C1-\u04C3\u04C7\u04CB\u04D0-\u04D4\u04D6-\u04D8\u04DA-\u04E0\u04E2-\u04E8\u04EA-\u04F5\u04F8-\u04F9\u0531-\u0556\u0587\u0622-\u0626\u0675-\u0678\u06C0\u06C2\u06D3\u0929\u0931\u0934\u0958-\u095F\u09CB-\u09CC\u09DC-\u09DD\u09DF\u09F8\u0A33\u0A36\u0A59-\u0A5B\u0A5E\u0B48\u0B4B-\u0B4C\u0B5C-\u0B5D\u0B94\u0BCA-\u0BCC\u0C48\u0CC0\u0CC7-\u0CC8\u0CCA-\u0CCB\u0D4A-\u0D4C\u0DDA\u0DDC-\u0DDE\u0E33\u0EB3\u0EDC-\u0EDD\u0F0C\u0F2A-\u0F33\u0F43\u0F4D\u0F52\u0F57\u0F5C\u0F69\u0F73\u0F75-\u0F79\u0F81\u0F93\u0F9D\u0FA2\u0FA7\u0FAC\u0FB9\u1026\u137C\u1E00-\u1E9B\u1EA0-\u1EF9\u1F00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FC4\u1FC6-\u1FD3\u1FD6-\u1FDB\u1FDD-\u1FEF\u1FF2-\u1FF4\u1FF6-\u1FFE\u2000-\u200A\u2011\u2017\u2024-\u2026\u202F\u2033-\u2034\u2036-\u2037\u203C\u203E\u2048-\u2049\u2070\u2074-\u208E\u20A8\u2100-\u2103\u2105-\u2107\u2109-\u2113\u2115-\u2116\u2119-\u211D\u2120-\u2122\u2124\u2126\u2128\u212A-\u212D\u212F-\u2131\u2133-\u2139\u2153-\u217F\u2181-\u2183\u219A-\u219B\u21AE\u21CD-\u21CF\u2204\u2209\u220C\u2224\u2226\u222C-\u222D\u222F-\u2230\u2241\u2244\u2247\u2249\u2260\u2262\u226D-\u2271\u2274-\u2275\u2278-\u2279\u2280-\u2281\u2284-\u2285\u2288-\u2289\u22AC-\u22AF\u22E0-\u22E3\u22EA-\u22ED\u2329-\u232A\u2460-\u24EA\u2776-\u277E\u2780-\u2788\u278A-\u2792\u2E9F\u2EF3\u2F00-\u2FD5\u3000\u3036\u3038-\u303A\u304C\u304E\u3050\u3052\u3054\u3056\u3058\u305A\u305C\u305E\u3060\u3062\u3065\u3067\u3069\u3070-\u3071\u3073-\u3074\u3076-\u3077\u3079-\u307A\u307C-\u307D\u3094\u309B-\u309C\u309E\u30AC\u30AE\u30B0\u30B2\u30B4\u30B6\u30B8\u30BA\u30BC\u30BE\u30C0\u30C2\u30C5\u30C7\u30C9\u30D0-\u30D1\u30D3-\u30D4\u30D6-\u30D7\u30D9-\u30DA\u30DC-\u30DD\u30F4\u30F7-\u30FA\u30FE\u3131-\u318E\u3192-\u319F\u3200-\u321C\u3220-\u3243\u3260-\u327B\u3280-\u32B0\u32C0-\u32CB\u32D0-\u32FE\u3300-\u3376\u337B-\u33DD\u33E0-\u33FE\uAC00-\uD7A3\uF900-\uFA0D\uFA10\uFA12\uFA15-\uFA1E\uFA20\uFA22\uFA25-\uFA26\uFA2A-\uFA2D\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB36\uFB38-\uFB3C\uFB3E\uFB40-\uFB41\uFB43-\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE30-\uFE44\uFE49-\uFE52\uFE54-\uFE66\uFE68-\uFE6B\uFE70-\uFE72\uFE74\uFE76-\uFEFC\uFF01-\uFF5E\uFF61-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC\uFFE0-\uFFE6\uFFE8-\uFFEE\\U0001034A\\U00010400-\\U00010425\\U0001D165-\\U0001D166\\U0001D16D-\\U0001D172]"),
+        new UnicodeSet("[A-Z\u00A0\u00A8\u00AA\u00AF\u00B2-\u00B5\u00B8-\u00BA\u00BC-\u00BE\u00C0-\u00D6\u00D8-\u00DE\u0100\u0102\u0104\u0106\u0108\u010A\u010C\u010E\u0110\u0112\u0114\u0116\u0118\u011A\u011C\u011E\u0120\u0122\u0124\u0126\u0128\u012A\u012C\u012E\u0130-\u0134\u0136\u0139\u013B\u013D\u013F-\u0141\u0143\u0145\u0147\u0149-\u014A\u014C\u014E\u0150\u0152\u0154\u0156\u0158\u015A\u015C\u015E\u0160\u0162\u0164\u0166\u0168\u016A\u016C\u016E\u0170\u0172\u0174\u0176\u0178-\u0179\u017B\u017D\u017F\u0181-\u0182\u0184\u0186-\u0187\u0189-\u018B\u018E-\u0191\u0193-\u0194\u0196-\u0198\u019C-\u019D\u019F-\u01A0\u01A2\u01A4\u01A6-\u01A7\u01A9\u01AC\u01AE-\u01AF\u01B1-\u01B3\u01B5\u01B7-\u01B8\u01BC\u01C4-\u01CD\u01CF\u01D1\u01D3\u01D5\u01D7\u01D9\u01DB\u01DE\u01E0\u01E2\u01E4\u01E6\u01E8\u01EA\u01EC\u01EE\u01F1-\u01F4\u01F6-\u01F8\u01FA\u01FC\u01FE\u0200\u0202\u0204\u0206\u0208\u020A\u020C\u020E\u0210\u0212\u0214\u0216\u0218\u021A\u021C\u021E\u0222\u0224\u0226\u0228\u022A\u022C\u022E\u0230\u0232\u02B0-\u02B8\u02D8-\u02DD\u02E0-\u02E4\u0340-\u0341\u0343-\u0345\u0374\u037A\u037E\u0384-\u038A\u038C\u038E-\u038F\u0391-\u03A1\u03A3-\u03AB\u03C2\u03D0-\u03D6\u03DA\u03DC\u03DE\u03E0\u03E2\u03E4\u03E6\u03E8\u03EA\u03EC\u03EE\u03F0-\u03F2\u03F4-\u03F5\u0400-\u042F\u0460\u0462\u0464\u0466\u0468\u046A\u046C\u046E\u0470\u0472\u0474\u0476\u0478\u047A\u047C\u047E\u0480\u048C\u048E\u0490\u0492\u0494\u0496\u0498\u049A\u049C\u049E\u04A0\u04A2\u04A4\u04A6\u04A8\u04AA\u04AC\u04AE\u04B0\u04B2\u04B4\u04B6\u04B8\u04BA\u04BC\u04BE\u04C1\u04C3\u04C7\u04CB\u04D0\u04D2\u04D4\u04D6\u04D8\u04DA\u04DC\u04DE\u04E0\u04E2\u04E4\u04E6\u04E8\u04EA\u04EC\u04EE\u04F0\u04F2\u04F4\u04F8\u0531-\u0556\u0587\u0675-\u0678\u0958-\u095F\u09DC-\u09DD\u09DF\u09F8\u0A33\u0A36\u0A59-\u0A5B\u0A5E\u0B5C-\u0B5D\u0E33\u0EB3\u0EDC-\u0EDD\u0F0C\u0F2A-\u0F33\u0F43\u0F4D\u0F52\u0F57\u0F5C\u0F69\u0F73\u0F75-\u0F79\u0F81\u0F93\u0F9D\u0FA2\u0FA7\u0FAC\u0FB9\u137C\u1E00\u1E02\u1E04\u1E06\u1E08\u1E0A\u1E0C\u1E0E\u1E10\u1E12\u1E14\u1E16\u1E18\u1E1A\u1E1C\u1E1E\u1E20\u1E22\u1E24\u1E26\u1E28\u1E2A\u1E2C\u1E2E\u1E30\u1E32\u1E34\u1E36\u1E38\u1E3A\u1E3C\u1E3E\u1E40\u1E42\u1E44\u1E46\u1E48\u1E4A\u1E4C\u1E4E\u1E50\u1E52\u1E54\u1E56\u1E58\u1E5A\u1E5C\u1E5E\u1E60\u1E62\u1E64\u1E66\u1E68\u1E6A\u1E6C\u1E6E\u1E70\u1E72\u1E74\u1E76\u1E78\u1E7A\u1E7C\u1E7E\u1E80\u1E82\u1E84\u1E86\u1E88\u1E8A\u1E8C\u1E8E\u1E90\u1E92\u1E94\u1E9A-\u1E9B\u1EA0\u1EA2\u1EA4\u1EA6\u1EA8\u1EAA\u1EAC\u1EAE\u1EB0\u1EB2\u1EB4\u1EB6\u1EB8\u1EBA\u1EBC\u1EBE\u1EC0\u1EC2\u1EC4\u1EC6\u1EC8\u1ECA\u1ECC\u1ECE\u1ED0\u1ED2\u1ED4\u1ED6\u1ED8\u1EDA\u1EDC\u1EDE\u1EE0\u1EE2\u1EE4\u1EE6\u1EE8\u1EEA\u1EEC\u1EEE\u1EF0\u1EF2\u1EF4\u1EF6\u1EF8\u1F08-\u1F0F\u1F18-\u1F1D\u1F28-\u1F2F\u1F38-\u1F3F\u1F48-\u1F4D\u1F59\u1F5B\u1F5D\u1F5F\u1F68-\u1F6F\u1F71\u1F73\u1F75\u1F77\u1F79\u1F7B\u1F7D\u1F88-\u1F8F\u1F98-\u1F9F\u1FA8-\u1FAF\u1FB8-\u1FC1\u1FC8-\u1FCF\u1FD3\u1FD8-\u1FDB\u1FDD-\u1FDF\u1FE3\u1FE8-\u1FEF\u1FF8-\u1FFE\u2000-\u200A\u2011\u2017\u2024-\u2026\u202F\u2033-\u2034\u2036-\u2037\u203C\u203E\u2048-\u2049\u2070\u2074-\u208E\u20A8\u2100-\u2103\u2105-\u2107\u2109-\u2113\u2115-\u2116\u2119-\u211D\u2120-\u2122\u2124\u2126\u2128\u212A-\u212D\u212F-\u2131\u2133-\u2139\u2153-\u217F\u2181-\u2183\u222C-\u222D\u222F-\u2230\u2329-\u232A\u2460-\u24EA\u2776-\u277E\u2780-\u2788\u278A-\u2792\u2E9F\u2EF3\u2F00-\u2FD5\u3000\u3036\u3038-\u303A\u309B-\u309C\u3131-\u318E\u3192-\u319F\u3200-\u321C\u3220-\u3243\u3260-\u327B\u3280-\u32B0\u32C0-\u32CB\u32D0-\u32FE\u3300-\u3376\u337B-\u33DD\u33E0-\u33FE\uF900-\uFA0D\uFA10\uFA12\uFA15-\uFA1E\uFA20\uFA22\uFA25-\uFA26\uFA2A-\uFA2D\uFB00-\uFB06\uFB13-\uFB17\uFB1F-\uFB36\uFB38-\uFB3C\uFB3E\uFB40-\uFB41\uFB43-\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE30-\uFE44\uFE49-\uFE52\uFE54-\uFE66\uFE68-\uFE6B\uFE70-\uFE72\uFE74\uFE76-\uFEFC\uFF01-\uFF5E\uFF61-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC\uFFE0-\uFFE6\uFFE8-\uFFEE\\U0001034A\\U00010400-\\U00010425\\U0001D165-\\U0001D166\\U0001D16D-\\U0001D172]"),
+        },
+    };
+    */
+
+    
+    static UnicodeSet generatedSet;
+    
+    // These should both be public, and on the respective classes
+    
+    public static void addAll(UnicodeSet s, String str) {
+        int cp;
+        for (int i = 0; i < str.length(); i += UTF16.getCharCount(cp)) {
+            cp = UTF16.charAt(str,i);
+            s.add(cp);
+        }
+    }
+    
+    public static boolean containsSome(UnicodeSet s, String str) {
+        int cp;
+        for (int i = 0; i < str.length(); i += UTF16.getCharCount(cp)) {
+            cp = UTF16.charAt(str,i);
+            if (s.contains(cp)) return true;
+        }
+        return false;
+    }
+}
\ No newline at end of file
diff --git a/src/com/ibm/icu/dev/tool/translit/WriteIndicCharts.java b/src/com/ibm/icu/dev/tool/translit/WriteIndicCharts.java
new file mode 100644
index 0000000..d87fd4e
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/translit/WriteIndicCharts.java
@@ -0,0 +1,357 @@
+/**
+*******************************************************************************
+* Copyright (C) 2002-2005, International Business Machines Corporation and    *
+* others. All Rights Reserved.                                                *
+*******************************************************************************
+*/
+package com.ibm.icu.dev.tool.translit;
+
+import com.ibm.icu.text.*;
+import java.util.Hashtable;
+import java.io.*;
+import com.ibm.icu.impl.*;
+import com.ibm.icu.lang.*;
+/**
+ * @author ram
+ *
+ * To change this generated comment edit the template variable "typecomment":
+ * Window>Preferences>Java>Templates.
+ * To enable and disable the creation of type comments go to
+ * Window>Preferences>Java>Code Generation.7F
+ */
+public class WriteIndicCharts {
+    
+    public static void main(String[] args){
+        writeIICharts();
+    }
+   
+    
+    static String header =  "<html>\n" +
+                            "    <head><meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">"+
+                            "           Inter-Indic Transliteration Comparison chart"+
+                            "    </head>\n"+
+                            "    <body bgcolor=#FFFFFF>\n"+
+                            "         <table border=1 width=100% >\n"+
+                            "            <tr>\n"+
+                            "            <th width=9%>Inter-Indic</th>\n"+
+                            "            <th width=9%>Latin</th>\n"+
+                            "            <th width=9%>Devanagari</th>\n"+
+                            "            <th width=9%>Bengali</th>\n"+
+                            "            <th width=9%>Gurmukhi</th>\n"+
+                            "            <th width=9%>Gujarati</th>\n"+
+                            "            <th width=9%>Oriya</th>\n"+
+                            "            <th width=9%>Tamil</th>\n"+
+                            "            <th width=9%>Telugu</th>\n"+
+                            "            <th width=9%>Kannada</th>\n"+
+                            "            <th width=9%>Malayalam</th>\n"+
+                            "            </tr>\n";
+    static String footer =  "          </table>\n"+
+                            "    </body>\n" +
+                            "</html>\n";
+                   
+    static UnicodeSet deva = new UnicodeSet("[:deva:]"); 
+    static UnicodeSet beng = new UnicodeSet("[:beng:]");
+    static UnicodeSet gujr = new UnicodeSet("[:gujr:]");
+    static UnicodeSet guru = new UnicodeSet("[:guru:]");
+    static UnicodeSet orya = new UnicodeSet("[:orya:]");
+    static UnicodeSet taml = new UnicodeSet("[:taml:]");
+    static UnicodeSet telu = new UnicodeSet("[:telu:]");
+    static UnicodeSet knda = new UnicodeSet("[:knda:]"); 
+    static UnicodeSet mlym = new UnicodeSet("[:mlym:]");                      
+    static UnicodeSet inter= new UnicodeSet("[\uE000-\uE082]");
+    
+    public static void writeIICharts(){
+        try{
+            Transliterator t1 = Transliterator.getInstance("InterIndic-Bengali");    
+            Transliterator t2 = Transliterator.getInstance("InterIndic-Gurmukhi");
+            Transliterator t3 = Transliterator.getInstance("InterIndic-Gujarati");
+            Transliterator t4 = Transliterator.getInstance("InterIndic-Oriya");
+            Transliterator t5 = Transliterator.getInstance("InterIndic-Tamil");
+            Transliterator t6 = Transliterator.getInstance("InterIndic-Telugu");
+            Transliterator t7 = Transliterator.getInstance("InterIndic-Kannada");
+            Transliterator t8 = Transliterator.getInstance("InterIndic-Malayalam");
+            Transliterator t9 = Transliterator.getInstance("InterIndic-Devanagari");
+            Transliterator t10 = Transliterator.getInstance("InterIndic-Latin");
+            //UnicodeSetIterator sIter = new UnicodeSetIterator(deva);
+            
+            for(int i=0x00;i<=0x80;i++){
+               String[] arr =  new String[10];
+               arr[0]=UTF16.valueOf(i+ 0xE000);
+               table.put(UTF16.valueOf(i),arr);
+            }
+            
+            OutputStreamWriter os = new OutputStreamWriter(new FileOutputStream("comparison-chart.html"),"UTF-8");
+            
+            os.write(header);
+
+            writeIICharts(t9,0x0900,1);
+            writeIICharts(t1,0x0980,2);        
+            writeIICharts(t2,0x0A00,3); 
+            writeIICharts(t3,0x0A80,4); 
+            writeIICharts(t4,0x0B00,5); 
+            writeIICharts(t5,0x0B80,6); 
+            writeIICharts(t6,0x0c00,7); 
+            writeIICharts(t7,0x0C80,8); 
+            writeIICharts(t8,0x0D00,9); 
+
+            for(int i=0x00;i<=0x80;i++){
+                String[] temp = (String[])table.get(UTF16.valueOf(i));
+                boolean write = false;
+                for(int k=1;k<temp.length && temp[k]!=null;k++){
+                    if(UCharacter.getExtendedName(UTF16.charAt(temp[k],0)).indexOf("unassigned")<0 ||
+                       temp[k].indexOf(":UNASSIGNED")<0){
+                        write = true;
+                    }
+                }
+                if(write){
+                    os.write("        <tr>\n");
+                    for(int j=0; j<temp.length;j++){
+                        if(temp[j]!=null){
+                            boolean fallback=false;
+                            boolean unassigned=false;
+                            boolean unmapped = false;
+                            boolean consumed =false;
+                            String str = temp[j];
+                                                        
+                            if(temp[j].indexOf(":FALLBACK")>=0){
+                                str = temp[j].substring(0,temp[j].indexOf(":"));
+                                fallback=true;
+                               // os.write("            <td bgcolor=#FFFF00 align=center title=\""++"\">"+str+"<br><tt>"+Utility.hex(str)+"</tt>"+"</td>\n");
+                            }
+                            if(temp[j].indexOf(":UNASSIGNED")>=0){
+                                str = temp[j].substring(0,temp[j].indexOf(":"));
+                                unassigned=true;
+                            }
+                            
+                            if(temp[j].indexOf(":UNMAPPED")>=0){
+                                str = temp[j].substring(0,temp[j].indexOf(":"));
+                                unmapped=true;
+                            }
+                            if(temp[j].indexOf(":CONSUMED")>=0){
+                                str = temp[j].substring(0,temp[j].indexOf(":"));
+                                consumed=true;
+                            }
+                            
+                            String name;
+                            StringBuffer nameBuf=new StringBuffer(); 
+                            for(int f=0; f<str.length();f++){
+                                if(f>0){ nameBuf.append("+");}
+                                nameBuf.append(UCharacter.getExtendedName(UTF16.charAt(str,f)));
+                            }
+                            name = nameBuf.toString();   
+                            if(fallback){
+
+                                if(UCharacter.getExtendedName(UTF16.charAt(str,0)).indexOf("unassigned")>0){
+                                    os.write("            <td  width=9% bgcolor=#BBBBFF align=center title=\""+name+"\">"+"&nbsp<br><tt>"+Utility.hex(str)+"</tt>"+"</td>\n");
+                                }else{
+                                    os.write("            <td width=9% bgcolor=#BBBBFF align=center title=\""+name+"\">"+ str+"<br><tt>"+Utility.hex(str)+"</tt>"+"</td>\n");
+                                }
+                            }else if(unmapped){
+                                os.write("            <td bgcolor=#FF9999 align=center title=\""+name+"\">"+"&nbsp<br><tt>"+Utility.hex(str)+"</tt>"+"</td>\n");
+                            }else if(unassigned){
+                                if(UCharacter.getExtendedName(UTF16.charAt(str,0)).indexOf("unassigned")>0){
+                                    os.write("            <td width=9% bgcolor=#00FFFF align=center title=\""+name+"\">"+"&nbsp<br><tt>"+Utility.hex(str)+"</tt>"+"</td>\n");
+                                }else{
+                                    os.write("            <td width=9% bgcolor=#00FFFF align=center title=\""+name+"\">"+ str+"<br><tt>"+Utility.hex(str)+"</tt>"+"</td>\n");
+                                }
+                            }else if(consumed){
+                                 if(UCharacter.getExtendedName(UTF16.charAt(str,0)).indexOf("unassigned")>0){
+                                    os.write("            <td width=9% bgcolor=#FFFF55 align=center title=\""+name+"\">"+"&nbsp<br><tt>"+Utility.hex(str)+"</tt>"+"</td>\n");
+                                }else{
+                                    os.write("            <td width=9% bgcolor=#FFFF55 align=center title=\""+""+"\">"+"&nbsp<br><tt>"+Utility.hex(str)+"</tt>"+"</td>\n");
+                                }
+                            }else if(name.indexOf("private")!=-1){
+                                String s = t10.transliterate(str);
+                                os.write("            <td width=9% bgcolor=#FFBBBB  align=center title=\""+name+"\">"+"&nbsp<br><tt>"+Utility.hex(str)+"</tt>"+"</td>\n");
+                                if(!s.equals(str)){
+                                    os.write("            <td width=9%  bgcolor=#CCEEDD align=center>"+s +"</td>");
+                                }else{
+                                    os.write("            <td width=9% bgcolor=#CCEEDD align=center>&nbsp;</td>");
+                                }
+                            }else{
+                               os.write("            <td width=9% align=center title=\""+name+"\">"+ str+"<br><tt>"+Utility.hex(str)+"</tt>"+"</td>\n");
+                            } 
+                        }else{
+                             os.write("           <td width=9% >&nbsp</td>\n");
+                        }
+                    }
+                    os.write("        </tr>\n");
+                }
+            }
+            os.write(footer);
+            os.close();
+        }catch( Exception e){
+            e.printStackTrace();
+        }
+    }
+    public static void writeCharts(){
+        try{
+            Transliterator t1 = Transliterator.getInstance("InterIndic-Bengali");    
+            Transliterator t2 = Transliterator.getInstance("InterIndic-Gurmukhi");
+            Transliterator t3 = Transliterator.getInstance("InterIndic-Gujarati");
+            Transliterator t4 = Transliterator.getInstance("InterIndic-Oriya");
+            Transliterator t5 = Transliterator.getInstance("InterIndic-Tamil");
+            Transliterator t6 = Transliterator.getInstance("InterIndic-Telugu");
+            Transliterator t7 = Transliterator.getInstance("InterIndic-Kannada");
+            Transliterator t8 = Transliterator.getInstance("InterIndic-Malayalam");
+            Transliterator t9 = Transliterator.getInstance("InterIndic-Devanagari");
+            
+            //UnicodeSetIterator sIter = new UnicodeSetIterator(deva);
+            
+            for(int i=0x0900;i<=0x097F;i++){
+               String[] arr =  new String[10];
+               arr[0]=UTF16.valueOf((i&0xFF) + 0xE000);
+               table.put(UTF16.valueOf(i),arr);
+            }
+            
+            OutputStreamWriter os = new OutputStreamWriter(new FileOutputStream("comparison-chart.html"),"UTF-8");
+            
+            os.write(header);
+            /*
+            writeCharts(t1,beng,1);        
+            writeCharts(t2,guru,2); 
+            writeCharts(t3,gujr,3); 
+            writeCharts(t4,orya,4); 
+            writeCharts(t5,taml,5); 
+            writeCharts(t6,telu,6); 
+            writeCharts(t7,knda,7); 
+            writeCharts(t8,mlym,8); 
+            */
+            /*
+            writeCharts(t9,0x0900,1);
+            writeCharts(t1,0x0980,2);        
+            writeCharts(t2,0x0A00,3); 
+            writeCharts(t3,0x0A80,4); 
+            writeCharts(t4,0x0B00,5); 
+            writeCharts(t5,0x0B80,6); 
+            writeCharts(t6,0x0c00,7); 
+            writeCharts(t7,0x0C80,8); 
+            writeCharts(t8,0x0D00,9); 
+            */
+            writeIICharts(t9,0x0900,1);
+            writeIICharts(t1,0x0980,2);        
+            writeIICharts(t2,0x0A00,3); 
+            writeIICharts(t3,0x0A80,4); 
+            writeIICharts(t4,0x0B00,5); 
+            writeIICharts(t5,0x0B80,6); 
+            writeIICharts(t6,0x0c00,7); 
+            writeIICharts(t7,0x0C80,8); 
+            writeIICharts(t8,0x0D00,9); 
+            for(int i=0x0900;i<=0x097F;i++){
+                String[] temp = (String[])table.get(UTF16.valueOf(i));
+                boolean write = false;
+                for(int k=1;k<temp.length;k++){
+                    if(UCharacter.getExtendedName(UTF16.charAt(temp[k],0)).indexOf("unassigned")<0){
+                        write = true;
+                    }
+                }
+                if(write){
+                    os.write("        <tr>\n");
+                    for(int j=0; j<temp.length;j++){
+                        if(temp[j]!=null){
+                            boolean fallback=false;
+                            String str = temp[j];
+                            
+                            if(temp[j].indexOf(":FALLBACK")>=0){
+                                str = temp[j].substring(0,temp[j].indexOf(":"));
+                                fallback=true;
+                               // os.write("            <td bgcolor=#FFFF00 align=center title=\""++"\">"+str+"<br><tt>"+Utility.hex(str)+"</tt>"+"</td>\n");
+                            }
+                            String name = UCharacter.getExtendedName(UTF16.charAt(str,0));
+                            if(fallback){
+                                os.write("            <td bgcolor=#BBBBFF align=center title=\""+name+"\">"+ str+"<br><tt>"+Utility.hex(str)+"</tt>"+"</td>\n");
+                            }else if(name.indexOf("unassigned")!=-1){
+                                os.write("            <td bgcolor=#CCCCCC align=center title=\""+name+"\">"+"&nbsp<br><tt>"+Utility.hex(str)+"</tt>"+"</td>\n");
+                            }else if(name.indexOf("private")!=-1){
+
+                                
+                                os.write("            <td bgcolor=#FFBBBB align=center title=\""+name+"\">"+"&nbsp<br><tt>"+Utility.hex(str)+"</tt>"+"</td>\n");
+
+                            }else{
+                               os.write("            <td align=center title=\""+name+"\">"+ str+"<br><tt>"+Utility.hex(str)+"</tt>"+"</td>\n");
+                            } 
+                        }else{
+                             os.write("           <td>&nbsp</td>\n");
+                        }
+                    }
+                    os.write("        </tr>\n");
+                }
+            }
+            os.write(footer);
+            os.close();
+        }catch( Exception e){
+            e.printStackTrace();
+        }
+    }
+    static Hashtable table = new Hashtable();
+    static String getKey(int cp){
+        int delta = cp & 0xFF;
+        delta-= (delta>0x7f)? 0x80 : 0;
+        //delta+=0x0900;
+        return UTF16.valueOf(delta);
+    }
+    
+    public static void writeCharts(Transliterator trans, int start, int index){
+        
+        Transliterator inverse = trans.getInverse();
+        for(int i=0;i<=0x7f;i++){
+            String cp = UTF16.valueOf(start+i);
+            String s1 = inverse.transliterate(cp);
+            String s2 = trans.transliterate(s1);
+            
+            String[] arr = (String[])table.get(getKey(start+i));
+            if(cp.equals(s2)){
+                arr[index] = s1;
+            }else{
+                arr[index] = s1 + ":FALLBACK";
+            }
+        }
+    }
+    
+    public static void writeIICharts(Transliterator trans,int start, int index){
+        
+        Transliterator inverse = trans.getInverse();
+        UnicodeSetIterator iter = new UnicodeSetIterator(inter);
+        
+        while(iter.next()){
+            String cp =UTF16.valueOf(iter.codepoint);
+            String s1 = trans.transliterate(cp);
+            String s2 = inverse.transliterate(s1);
+            String[] arr = (String[])table.get(UTF16.valueOf(iter.codepoint&0xFF));
+            if(cp.equals(s1)){
+                arr[index] = UTF16.valueOf(start+(((byte)iter.codepoint)&0xFF))+":UNASSIGNED";
+            }else if(cp.equals(s2)){
+                arr[index] = s1;
+            }else if(s1.equals(s2)){
+                if(s1.equals("")){
+                    arr[index] = UTF16.valueOf(start+(((byte)iter.codepoint)&0xFF))+":CONSUMED";
+                }else{
+                    arr[index] = s1+ ":FALLBACK";
+                }
+            } else{
+                if(s2.equals("")){
+                    arr[index] = UTF16.valueOf(start+(((byte)iter.codepoint)&0xFF))+":CONSUMED";
+                }else{
+                    arr[index] = s1+ ":FALLBACK";
+                }
+            }
+        }
+    }
+    public static void writeCharts(Transliterator trans, UnicodeSet target, int index){
+        UnicodeSetIterator tIter = new UnicodeSetIterator(target);
+        Transliterator inverse = trans.getInverse();
+        while(tIter.next()){
+            String cp = UTF16.valueOf(tIter.codepoint);
+            String s1 = inverse.transliterate(cp);
+            String s2 = trans.transliterate(s1);
+            
+            String[] arr = (String[])table.get(getKey(tIter.codepoint));
+            if(cp.equals(s2)){
+                arr[index] = cp;
+            }else{
+                arr[index] = cp + ":FALLBACK";
+            }
+        }
+    }
+}
+
diff --git a/src/com/ibm/icu/dev/tool/translit/dumpICUrules.bat b/src/com/ibm/icu/dev/tool/translit/dumpICUrules.bat
new file mode 100755
index 0000000..4bfd5eb
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/translit/dumpICUrules.bat
@@ -0,0 +1,483 @@
+@rem = '--*-Perl-*--
+@echo off
+if "%OS%" == "Windows_NT" goto WinNT
+perl -x -S "%0" %1 %2 %3 %4 %5 %6 %7 %8 %9
+goto endofperl
+:WinNT
+perl -x -S "%0" %*
+if NOT "%COMSPEC%" == "%SystemRoot%\system32\cmd.exe" goto endofperl
+if %errorlevel% == 9009 echo You do not have Perl in your PATH.
+goto endofperl
+@rem ';
+#!perl
+#line 14
+# ************************************************************************
+# Copyright (C) 2000-2004, International Business Machines Corporation and
+# others. All Rights Reserved.
+# ************************************************************************
+
+# This perl script creates ICU transliterator data files, that live
+# in icu/data, from ICU4J UTF8 transliterator data files, in
+# icu4j/src/com/ibm/icu/impl/data/.
+#
+# The transformation that is done is very minimal.  The script assumes
+# that the input files use only # comments
+# and that they follow a rigid format.
+#
+# The output files are named according to ICU conventions (see NAME_MAP
+# below) and created in the current directory.  They should be manually
+# checked and then copied into the icu/data/tranlit directory.
+# An ICU build must
+# then be initiated, and the standard suite of ICU transliterator tests
+# should be run after that.
+#
+# Alan Liu 5/19/00 2/27/01
+
+use Getopt::Long;
+use strict;
+
+use vars qw(%USED_FILES);
+
+my $DIR = "../../../impl/data";
+my $ID = '';
+
+GetOptions('dir=s' => \$DIR,
+           'id=s' => \$ID,
+           '<>' => \&usage) || die;
+
+usage() if (@ARGV);
+
+my $ID =~ s/-/_/;
+if (! -d $DIR) {
+    print STDERR "$DIR is not a directory\n";
+    usage();
+}
+
+sub usage {
+    my $me = $0;
+    $me =~ s|.+[/\\]||;
+    print "Usage: $me [-dir <dir>] [-id <id>]\n";
+    print " --dir <dir> Specify the directory containing the\n";
+    print "             Transliterator_*.txt files\n";
+    print " --id <id>   Specify a single ID to transform, e.g.\n";
+    print "             Fullwidth-Halfwidth\n";
+    exit(1);
+}
+
+my $JAVA_ONLY = '-';
+
+my $OUTDIR = "icu4c";
+mkdir($OUTDIR,0777);
+
+# Mapping from Java file names to ICU file names
+# Constraints on ICU4C file name: icudt20b_
+# |--9 (prefix)---|---18(name with distinguisher,e.g. "t_" )----|
+#  --4 ("."+extn)--| = 31 characters total.
+# That is, must have length(%NAME_MAP{x}) <= 16
+
+my $MAX_ICU4C_FILENAME_LEN = 18;
+
+# -- HISTORY -- If not marked, then pre 2.2.
+#               All InterIndic are pre 2.2.
+# Any_Accents
+# Any_Publishing
+# Arabic_Latin           * 2.2
+# Cyrillic_Latin
+# Fullwidth_Halfwidth
+# Greek_Latin
+# Greek_Latin_UNGEGN     * 2.2 (moved from el.txt)
+# Han_Latin              * 2.2
+# Han_Latin_Definition   * 2.2
+# Han_Latin_EDICT        * 2.2 J only
+# Hebrew_Latin           * 2.2
+# Hiragana_Katakana
+# Hiragana_Latin
+# Latin_Jamo
+# Latin_Katakana
+# ThaiLogical_Latin      * 2.2 J only
+# Thai_ThaiLogical       * 2.2 J only
+# Thai_ThaiSemi          * 2.2 J only
+
+my %NAME_MAP = (
+     # An ICU name of "" means the ICU name == the ID
+
+     # We filter names based on what is in use in the index file.
+
+     # Flag a rule as JAVA_ONLY if it exists and we use it in Java,
+     # but we don't use it in C.
+
+     # Use official script abbreviations where possible.
+
+   # |..............|           |..............|             
+   # 1234567890123456           1234567890123456
+     Any_Accents            => "",
+     Any_Publishing         => "",
+     Cyrillic_Latin         => "Cyrl_Latn",
+     Fullwidth_Halfwidth    => "FWidth_HWidth",
+     Greek_Latin            => "Grek_Latn",
+     Hiragana_Katakana      => "Hira_Kana",
+     Hiragana_Latin         => "Hira_Latn",
+     Latin_Jamo             => "Latn_Jamo",
+     Latin_Katakana         => "Latn_Kana",
+
+     Arabic_Latin           => "Arab_Latn",
+     Greek_Latin_UNGEGN     => "Grek_Latn_UNGEGN",
+     Han_Latin              => "Hani_Latn",
+     Han_Latin_Definition   => "Hani_Latn_Def",
+     Han_Latin_EDICT        => "Hani_Latn_EDICT",
+     Hebrew_Latin           => "Hebr_Latn",
+     ThaiLogical_Latin      => $JAVA_ONLY, # "ThaiLog_Latn",
+     Thai_ThaiLogical       => $JAVA_ONLY, # "Thai_ThaiLog",
+     Thai_ThaiSemi          => $JAVA_ONLY, # "Thai_ThaiSemi",
+
+     InterIndic_Bengali     => "InterIndic_Beng",
+     InterIndic_Devanagari  => "InterIndic_Deva",
+     InterIndic_Gujarati    => "InterIndic_Gujr",
+     InterIndic_Gurmukhi    => "InterIndic_Guru",
+     InterIndic_Kannada     => "InterIndic_Knda",
+     InterIndic_Latin       => "InterIndic_Latn",
+     InterIndic_Malayalam   => "InterIndic_Mlym",
+     InterIndic_Oriya       => "InterIndic_Orya",
+     InterIndic_Tamil       => "InterIndic_Taml",
+     InterIndic_Telugu      => "InterIndic_Telu",
+
+     Bengali_InterIndic     => "Beng_InterIndic",
+     Devanagari_InterIndic  => "Deva_InterIndic",
+     Gujarati_InterIndic    => "Gujr_InterIndic",
+     Gurmukhi_InterIndic    => "Guru_InterIndic",
+     Kannada_InterIndic     => "Knda_InterIndic",
+     Latin_InterIndic       => "Latn_InterIndic",
+     Malayalam_InterIndic   => "Mlym_InterIndic",
+     Oriya_InterIndic       => "Orya_InterIndic",
+     Tamil_InterIndic       => "Taml_InterIndic",
+     Telugu_InterIndic      => "Telu_InterIndic",
+     
+     Han_Pinyin             => $JAVA_ONLY,
+     Kanji_English          => $JAVA_ONLY,
+     Kanji_OnRomaji         => $JAVA_ONLY,
+     
+     Latin_NumericPinyin    => "Latn_NPinyn",
+     Tone_Digit             => "Tone_Digit",
+     Han_Spacedhan          => "Hani_SpHan",
+     );
+
+my ($x,$x,$x,$x,$x,$THIS_YEAR) = localtime();
+$THIS_YEAR += 1900;
+
+# Header blocks of text written at start of ICU output files
+my $HEADER1 = <<END;
+//--------------------------------------------------------------------
+// Copyright (c) 1999-$THIS_YEAR, International Business Machines
+// Corporation and others.  All Rights Reserved.
+//--------------------------------------------------------------------
+// THIS IS A MACHINE-GENERATED FILE
+END
+my $HEADER2 = <<END;
+//--------------------------------------------------------------------
+END
+
+my $TOOL = $0;
+
+# Convert the index first; this tells us which rule files are in use.
+convertIndex();
+
+# print "In use:\n", join("\n", sort keys(%USED_FILES)), "\n";
+
+# Iterate over all Java RBT rule files
+foreach (<$DIR/Transliterator_*.txt>) {
+    next if (/~$/); # Ignore emacs backups
+    next if (/_index\.txt$/); # The index file was processed above
+    # Select either the command-line arg, if there was one, or
+    # any files mentioned in the index.
+    my $leaf = $_;
+    $leaf =~ s|.+[/\\]||;
+    if (($ID && $leaf =~ /$ID/) || exists $USED_FILES{$leaf}) {
+        my ($out, $id) = convertFileName($_);
+        if ($out) {
+            if ($out eq $JAVA_ONLY) {
+                print STDERR "*** $id skipped: Java only ***\n";
+                next;
+            }
+            file($id, $_, $out);
+        }
+    } elsif (!$ID) {
+        print "*** $leaf skipped: not in use ***\n";
+    }
+}
+
+######################################################################
+# Convert a Java file name to C
+# Param: Java file name of the form m|Transliterator_(.+)\.utf8\.txt$|
+# Return: A C file name (e.g., ldevan.txt) or the empty string,
+#  if there is no mapping, or $JAVA_ONLY if the given file isn't
+#  intended to be incorporated into C.
+sub convertFileName {
+    local $_ = shift;
+    my $id;
+    if (m|Transliterator_(.+)\.utf8\.txt$| ||
+        m|Transliterator_(.+)\.txt$|) {
+        $id = $1;
+    } else { die "Can't parse Java file name $_"; }
+    if (!exists $NAME_MAP{$id}) {
+        print STDERR "ERROR: $id not in map; please update $0\n";
+        return '';
+    }
+    my $out = $NAME_MAP{$id};
+    if ($out eq '') {
+        $out = $id;
+    }
+    if ($out ne $JAVA_ONLY) {
+        $out = 't_' . $out;
+    }
+    if (length($out) > $MAX_ICU4C_FILENAME_LEN) {
+        print STDERR "ERROR: ICU4C file name \"$out\" too long; please update $0\n";
+        return '';
+    }
+    return ($out, $id);
+}
+
+######################################################################
+# Convert the index file from Java to C format
+sub convertIndex {
+    my $JAVA_INDEX = "Transliterator_index.txt";
+    my $C_INDEX = "translit_index.txt";
+    open(JAVA_INDEX, "$DIR/$JAVA_INDEX") or die;
+    open(C_INDEX, ">$OUTDIR/$C_INDEX") or die;
+    
+    header(\*C_INDEX, $JAVA_INDEX);
+    
+    print C_INDEX <<END;
+//--------------------------------------------------------------------
+// N.B.: This file has been generated mechanically from the
+// corresponding ICU4J file, which is the master file that receives
+// primary updates.  The colon-delimited fields have been split into
+// separate strings.  For 'file' and 'internal' lines, the encoding
+// field has been deleted, since the encoding is processed at build
+// time in ICU4C.  Certain large rule sets not intended for general
+// use have been commented out with the notation "Java only".
+//--------------------------------------------------------------------
+
+translit_index {
+  RuleBasedTransliteratorIDs {
+END
+        
+    while (<JAVA_INDEX>) {
+        # ignore CVS keyword substitutions
+        next if /\$(Source|Revision|Date)/;
+
+        # we have printed out the copyright info ... ignore one in Java version
+        next if /Copyright/ ;
+        next if /Corporation/;
+
+        # Comments; change # to //
+        if (s|^(\s*)\#|$1//|) {
+            print C_INDEX;
+            next;
+        }
+        # Blank lines
+        if (!/\S/) {
+            print C_INDEX;
+            next;
+        }
+        # Content lines
+        chomp;
+        my $prefix = '';
+        #replace \p with \\p
+        $_=~ s/\\p/\\\\p/g;
+        my @a = split(':', $_);
+        if ($a[1] eq 'file' || $a[1] eq 'internal') {
+            # Convert the file name
+            my $id;
+            # Record file names in use
+            $USED_FILES{$a[2]} = 1;
+            ($a[2], $id) = convertFileName($a[2]);
+            if ($a[2] eq $JAVA_ONLY) {
+                $prefix = '// Java only: ';
+            }
+
+            # Delete the encoding field
+            splice(@a, 3, 1);
+        } elsif ($a[1] eq 'alias') {
+            # Pad out with extra blank fields to make the
+            # 2-d array square
+            push @a, "";
+        } else {
+            die "Can't parse $_";
+        }
+        print C_INDEX
+            $prefix, "{ ",
+            join(", ", map("\"$_\"", @a)),
+            " },\n";
+    }
+
+    print C_INDEX <<END;
+  }
+}
+END
+
+    close(C_INDEX);
+    close(JAVA_INDEX);
+    print STDERR "$JAVA_INDEX -> $C_INDEX\n";
+}
+
+######################################################################
+# Output a header
+# Param: Filehandle
+sub header {
+    my $out = shift;
+    my $in = shift;
+    print $out $HEADER1;
+    print $out "// Tool: $TOOL\n// Source: $in\n";
+    print $out "// Date: ", scalar localtime, "\n";
+    print $out $HEADER2;
+    print $out "\n";
+}
+
+######################################################################
+# Process one file
+# Param: ID, e.g. Fullwidth-Halfwidth
+# Param: Java input file name, e.g.
+#  f:/icu4j/src/com/ibm/text/resources/Transliterator_Fullwidth_Halfwidth.utf8.txt
+# Param: ICU output file name, e.g. fullhalf
+sub file {
+    my $id = shift;
+    my $IN = shift;
+    my $out = shift;
+
+    my $OUT = "$out.txt";
+
+    # Show input size. Show output size later -- useful for quick sanity check.
+    print "$id (", -s $IN, ") -> $OUT (";
+
+    # Open file, write UTF8 marker, close it, and reopen in text mode
+    open(OUT, ">$OUTDIR/$OUT") or die;
+    binmode OUT;        # Must do this so we can write our UTF8 marker
+    print OUT pack("C3", 0xEF, 0xBB, 0xBF); # Write UTF8 marker
+    close(OUT);
+
+    open(OUT, ">>$OUTDIR/$OUT") or die;
+    print OUT " // -*- Coding: utf-8; -*-\n";
+
+    header(\*OUT, $IN);
+    print OUT "// $id\n";
+    print OUT "\n";
+    print OUT "$out {\n";
+    print OUT "  Rule {\n";
+
+    open(IN, $IN) or die;
+    binmode IN;                 # IN is a UTF8 file
+
+    my $first = 1;
+    my $BOM = pack("C3", 239, 187, 191); # a UTF8 byte order mark
+
+    # Process each line by changing # comments to // comments
+    # and taking other text and enclosing it in double quotes
+    while (<IN>) {
+        my $raw = $_;
+        # ignore CVS keyword substitutions
+        next if /\$(Source|Revision|Date)/;
+
+        # we have printed out the copyright info ... ignore one in Java version
+        next if /Copyright/ ;
+        next if /Corporation/;
+
+        # Look for and delete BOM
+        if ($first) {
+            s/^$BOM//;
+            $first = 0;
+        }
+
+        # Clean the eol junk up
+        s/[\x0D\x0A]+$//;
+
+        # If there is a trailing backslash, then delete it -- we don't
+        # need line continuation in C, since adjacent strings are
+        # concatenated.  Count trailing backslashes; if they are odd,
+        # one is trailing.
+        if (m|(\\+)$|) {
+            if ((length($1) % 2) == 1) {
+                s|\\$||;
+            }
+        }
+
+        # Transform escaped characters
+        hideEscapes();
+
+        if (/^(\s*)(\#.*)$/) {
+            # Comment-only line
+            my ($white, $cmt) = ($1, $2);
+            $cmt =~ s|\#|//|;
+            $_ = $white . $cmt;
+
+        } elsif (!/\S/) {
+            # Blank line -- leave as-is
+
+        } else {
+            # Remove single-quoted matter 
+            my @quotes;
+            my $nquotes = 0;
+            my $x = $_;
+            while (s/^([^\']*)(\'[^\']*\')/$1<<x$nquotes>>/) {
+                push @quotes, $2;
+                ++$nquotes;
+            }
+
+            # Extract comment
+            my $cmt = '';
+            if (s|\#(.*)||) {
+                $cmt = '//' . $1;
+            }
+
+            # Add quotes
+            s|^(\s*)(\S.*?)(\s*)$|$1\"$2\"$3|;
+
+            # Restore single-quoted matter
+            for (my $i=0; $i<$nquotes; ++$i) {
+                s|<<x$i>>|$quotes[$i]|;
+            }
+
+            # Restore comment
+            $_ .= $cmt;
+        }
+
+        # Restore escaped characters
+        restoreEscapes();
+
+        print OUT $_, "\n";
+    }
+
+    # Finish up
+    close(IN);
+    print OUT "  }\n";
+    print OUT "}\n";
+    close(OUT);
+
+    # Write output file size for sanity check
+    print -s "$OUTDIR/$OUT", ")\n";
+}
+
+######################################################################
+sub hideEscapes {
+    # Transform escaped characters
+    s|\\\\|<<bs>>|g; # DO THIS FIRST Transform backslashes
+    s|\\u([a-zA-Z0-9]{4})|<<u$1>>|g; # Transform Unicode escapes
+    s|\\\"|<<dq>>|g; # Transform backslash double quote
+    s|\\\'|<<sq>>|g; # Transform backslash single quote
+    s|\\\#|<<lb>>|g; # Transform backslash pound
+    s|\\(.)|<<q$1>>|g; # Transform backslash escapes
+}
+
+######################################################################
+sub restoreEscapes {
+    # Restore escaped characters
+    s|<<bs>>|\\\\|g;
+    s|<<dq>>|\\\\\\\"|g;
+    s|<<sq>>|\\\\\\\'|g;
+    s|<<lb>>|\\\\\\\#|g;
+    s|<<q(.)>>|\\\\\\$1|g;
+    s|<<u0000>>|\\\\u0000|g; # Double escape U+0000
+    s|<<u(....)>>|\\u$1|g;
+}
+
+__END__
+:endofperl
diff --git a/src/com/ibm/icu/dev/tool/translit/genIndexFilters.bat b/src/com/ibm/icu/dev/tool/translit/genIndexFilters.bat
new file mode 100755
index 0000000..6811313
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/translit/genIndexFilters.bat
@@ -0,0 +1,121 @@
+#/**
+# *******************************************************************************
+# * Copyright (C) 2002-2004, International Business Machines Corporation and    *
+# * others. All Rights Reserved.                                                *
+# *******************************************************************************
+# */
+@rem = '--*-Perl-*--
+@echo off
+if "%OS%" == "Windows_NT" goto WinNT
+perl -W -x -S "%0" %1 %2 %3 %4 %5 %6 %7 %8 %9
+goto endofperl
+:WinNT
+perl -W -x -S "%0" %*
+if NOT "%COMSPEC%" == "%SystemRoot%\system32\cmd.exe" goto endofperl
+if %errorlevel% == 9009 echo You do not have Perl in your PATH.
+goto endofperl
+@rem ';
+#!perl
+#line 14
+
+# This perl script updates the filters in the transliterator index file.
+# It does so in a dumb way:
+#
+#  Latin-X   NFD lower
+#  X-Latin   NFD
+#
+# For transliterators using NFKD, or not using Lower in this way, you
+# will have to hand-edit the index file.
+#
+# This script writes a new index file.  The new file has to then be
+# hand-edited and checked before use; it contains comments indicating
+# old lines that were replaced.
+#
+# Alan Liu 11/29/01
+
+use Getopt::Long;
+
+my $DIR = "../../text/resources";
+my $CLASSES = "../../../../../classes";
+
+#GetOptions('dir=s' => \$DIR,
+#           'id=s' => \$ID,
+#           '<>' => \&usage) || die;
+
+#usage() if (@ARGV);
+
+#$ID =~ s/-/_/;
+if (! -d $DIR) {
+    print STDERR "$DIR is not a directory\n";
+    usage();
+}
+
+#sub usage {
+#    my $me = $0;
+#    $me =~ s|.+[/\\]||;
+#    print "Usage: $me [-dir <dir>] [-id <id>]\n";
+#    print " --dir <dir> Specify the directory containing the\n";
+#    print "             Transliterator_*.txt files\n";
+#    print " --id <id>   Specify a single ID to transform, e.g.\n";
+#    print "             Fullwidth-Halfwidth\n";
+#    die;
+#}
+
+convertIndex();
+
+######################################################################
+# Convert the index file from Java to C format
+# Assume lines are of the form:
+#   <ID>:alias:<FILTER>;<REMAINDER>
+# <REMAINDER> can be
+#   Lower;NFX;...
+#   NFX;Lower;...
+#   NFX;...
+sub convertIndex {
+    $IN = "Transliterator_index.txt";
+    $OUT = "$IN.new";
+    open(IN, "$DIR/$IN") or die;
+    open(OUT, ">$DIR/$OUT") or die;
+    
+    while (<IN>) {
+        # Look for lines that are aliases with NF*
+        if (/^([^:]+):alias:(\[.+?);\s*((NF[^\s]*?)\s*;.+)$/i) {
+            my $id = $1;
+            my $oldset = $2;
+            my $remainder = $3;
+            my $NFXD = $4;
+            my $lower = '';
+            # Check for Lower
+            # If it comes before NF* then adjust accordingly
+            if (/^([^:]+):alias:(\[.+?);\s*(Lower\s*;.+)$/i) {
+                $lower = 'lower';
+                if (length($2) < length($oldset)) {
+                    $oldset = $2;
+                    $remainder = $3;
+                }
+            }
+            print STDERR "$id $NFXD $lower\n";
+            my $set = getSourceSet($id, $NFXD, $lower);
+            $_ = "$id:alias:$set;$remainder\n";
+        }
+        print OUT;
+    }
+
+    close(IN);
+    close(OUT);
+    print STDERR "Wrote $DIR/$OUT\n";
+}
+
+######################################################################
+# Get the source set (call out to Java), optionally with a closure.
+sub getSourceSet {
+    my $ID = shift;
+    my $NFXD = shift;
+    my $lower = shift;
+    my $set = `java -classpath $CLASSES com.ibm.tools.translit.genIndexFilters $ID $NFXD $lower`;
+    chomp($set);
+    $set;
+}
+
+__END__
+:endofperl
diff --git a/src/com/ibm/icu/dev/tool/translit/genIndexFilters.java b/src/com/ibm/icu/dev/tool/translit/genIndexFilters.java
new file mode 100755
index 0000000..3a96d3f
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/translit/genIndexFilters.java
@@ -0,0 +1,69 @@
+/*
+**********************************************************************
+*   Copyright (c) 2001-2003, International Business Machines
+*   Corporation and others.  All Rights Reserved.
+**********************************************************************
+*   Date        Name        Description
+*   11/29/2001  aliu        Creation.
+**********************************************************************
+*/
+package com.ibm.icu.dev.tool.translit;
+import com.ibm.icu.text.*;
+import java.io.*;
+
+/**
+ * Adjunct class to getIndexFilters.bat.  Just generates source sets
+ * and their closures.
+ *
+ * Usage: ID [ NFD|NFKD [lower] ]
+ *
+ *   java -classpath classes com.ibm.icu.dev.tool.translit.genIndexFilters
+ *                              Latin-Greek NFD lower
+ *
+ * The 'NFD'|'NFKD' and 'lower' args are optional, but 'lower' can
+ * only be specified if 'NFD' or 'NFKD' is.
+ *
+ * DO NOT CHANGE OUTPUT FORMAT.  This tool's output is read by a Perl
+ * script.
+ */
+public class genIndexFilters {
+
+    public static void main(String[] args) throws IOException {
+        Normalizer.Mode m = Normalizer.NONE;
+        boolean lowerFirst = false;
+        if (args.length >= 2) {
+            if (args[1].equalsIgnoreCase("NFD")) {
+                m = Normalizer.NFD;
+            } else if (args[1].equalsIgnoreCase("NFKD")) {
+                m = Normalizer.NFKD;
+            } else {
+                usage();
+            }
+        }
+        if (args.length >= 3) {
+            if (args[2].equalsIgnoreCase("lower")) {
+                lowerFirst = true;
+            } else {
+                usage();
+            }
+        }
+        if (args.length > 3) {
+            usage();
+        }
+        showSourceSet(args[0], m, lowerFirst);
+    }
+
+    static void showSourceSet(String ID, Normalizer.Mode m, boolean lowerFirst) throws IOException {
+        Transliterator t = Transliterator.getInstance(ID);
+        UnicodeSet sourceSet = t.getSourceSet();
+        if (m != Normalizer.NONE || lowerFirst) {
+            UnicodeSetClosure.close(sourceSet, m, lowerFirst);
+        }
+        System.out.println(sourceSet.toPattern(true));
+    }
+
+    static void usage() {
+        System.err.println("Usage: ID [ NFD|NFKD [lower] ]");
+        System.exit(1);
+    }
+}
diff --git a/src/com/ibm/icu/dev/tool/translit/indic.bat b/src/com/ibm/icu/dev/tool/translit/indic.bat
new file mode 100755
index 0000000..57293b1
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/translit/indic.bat
@@ -0,0 +1,21 @@
+REM /**
+REM *******************************************************************************
+REM * Copyright (C) 2002-2004, International Business Machines Corporation and    *
+REM * others. All Rights Reserved.                                                *
+REM *******************************************************************************
+REM */
+
+@echo off
+REM This script is a Windows launcher for the indic.pl script.  For this
+REM to work, the perl executable must be on the path.  We recommend
+REM the ActiveState build; see http://www.activestate.com.  See the
+REM tz.pl script itself for more documentation.
+
+if "%OS%" == "Windows_NT" goto WinNT
+perl -w -x indic.pl %1 %2 %3 %4 %5 %6 %7 %8 %9
+goto end
+:WinNT
+perl -w -x indic.pl %*
+if NOT "%COMSPEC%" == "%SystemRoot%\system32\cmd.exe" goto end
+if %errorlevel% == 9009 echo You do not have Perl in your PATH.
+:end
diff --git a/src/com/ibm/icu/dev/tool/translit/indic.pl b/src/com/ibm/icu/dev/tool/translit/indic.pl
new file mode 100755
index 0000000..4d614ba
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/translit/indic.pl
@@ -0,0 +1,662 @@
+#/**
+# *******************************************************************************
+# * Copyright (C) 2000-2004, International Business Machines Corporation and    *
+# * others. All Rights Reserved.                                                *
+# *******************************************************************************
+# */
+
+#!perl
+
+# Usage - $0 <remap file>
+#  e.g. - indic indic.txt
+# The input file should be a subset of the Unicode data file containing
+# the blocks of interest.
+#
+# The remap file should have lines of the form
+# "\u0D01>\u0D02;"
+# including the quotes.  These will be interpreted as saying that the
+# undefined code point U+D01 (derived via mapping from InterIndic)
+# can be remapped to U+D02.
+# 
+# The purpose of this script is to process the Indic script data into
+# a form usable by the IndicTransliterator, that is, the Indic-Indic
+# transliterator.  The transliterator needs two things: A mapping of
+# the code points in common, and a list of the exceptions.
+
+# Assume we are located in icu4j/src/com/ibm/tools/translit/.
+# We want the Unicode DB in icu4j/src/data/unicode/.
+$UNICODE_DB = "../../../../data/unicode/UnicodeData.txt";
+$EXCEPTIONS_FILE = shift;
+
+# Assume we are located in icu4j/src/com/ibm/tools/translit/.
+# We want to output files to icu4j/src/com/ibm/text/resources/.
+# Output directory
+$OUTDIR = "../../text/resources";
+
+# The template file should contain java code that can be used
+# to generate RuleBasedTransliterator resource files.  The template
+# should contain the following embedded symbols, which this script
+# will replace:
+# $TOOL - name of generating tool
+# $DATE - date of generation
+# $SCRIPTFROM - name of source script
+# $SCRIPTTO - name of target script
+# $RULES - rules
+$RBT_TEMPLATE = 'rbtTemplate.txt';
+
+# Name of this tool in generated RBT files
+$RBT_GEN_TOOL = 'icu4j/src/com/ibm/tools/translit/indic.pl';
+
+$DUMP = 0; # If 1, dump out internal data
+
+$DO_HEURISTIC_REMAP = 0; # If 1, do automatic heuristic remapping
+$DO_DECOMP_REMAP = 0; # If 1, do decomp remapping
+
+open(UNICODE_DB);
+while (<UNICODE_DB>) {
+    next if (m|^0[0-8]|); # Skip up to Devanagari block (0900)
+    last if (m|^0D[8-F]|i); # Bail out after Malayam block (0D00)
+    # 0D39;MALAYALAM LETTER HA;Lo;0;L;;;;;N;;;;;
+    my @data = split(/;/);
+    my $fullCode = hex($data[0]); # e.g., 0x093F
+    my $code = $fullCode & 0x7F; # e.g., 0x3F
+    my ($script, $name) = ($data[1] =~ /(\w+)\s+(.+)/);
+    die "Can't parse $_" unless ($name);
+    # e.g., $code/$script/$name = 3F/MALAYALAM/VOWEL SIGN I
+
+    # Titlecase the script
+    $script = ucfirst(lc($script));
+
+    # Fix a couple inconsistencies in the 3.0 data
+    # REVISIT: Is this okay to do?
+    if ($DO_HEURISTIC_REMAP) {
+        if ($script eq 'Gujarati' && $code >= 5 && $code <= 0x14) {
+            $name =~ s/^VOWEL/LETTER/;
+        }
+    }
+
+    # Keep track of all script names we encounter.  We also note the
+    # base of the block.
+    my $base = $fullCode & ~0x7F; # e.g., 0x900;
+    if (exists $SCRIPT_TO_BASE{$script}) {
+        die "Script base mismatch for $script: $base vs. $SCRIPT_TO_BASE{$script}"
+            if ($SCRIPT_TO_BASE{$script} ne $base);
+    } else {
+        $SCRIPT_TO_BASE{$script} = $base;
+    }
+
+    # Build up a mapping by name.  For each name, keep a hash keyed by
+    # code point.  For each code point, keep an array of script names.
+    # Also keep a total use count for each name.
+    push @{$NAME_CODE_TO_SCRIPTS{$name}{$code}}, $script;
+    ++$NAME_CODE_TO_SCRIPTS{$name}{count};
+
+    # Build a map that looks like this:
+    # $SCRIPT_NAME_TO_CODE{<script>}{<name>} = <code>
+    # or undef if there is no mapping.
+    $SCRIPT_NAME_TO_CODE{$script}{$name} = $code;
+
+    # Build a map that looks like this:
+    $SCRIPT_CODE_TO_NAME{$script}{$code} = $name;
+
+    # And a map from the fullCode point to the name
+    $FULLCODE_TO_NAME{$fullCode} = $name;
+
+    # Map code (0..7F) to name.  This is usually a 1-1 mapping, but
+    # is 1-n in a few cases.
+    if (exists $CODE_TO_NAME{$code}) {
+        if ($name ne $CODE_TO_NAME{$code}) {
+            # For multiple names on a code offset, use the format
+            # (a/b), (a/b/c), etc.
+            local $_ = $CODE_TO_NAME{$code};
+            if (m|^\(|) {
+                if (!m|[\(\)/]$name[\(\)/]|) {
+                    s|\)$|/$name\)|;
+                }
+            } else {
+                $_ = "($_/$name)";
+            }
+            $CODE_TO_NAME{$code} = $_;
+        }
+    } else {
+        $CODE_TO_NAME{$code} = $name;
+    }
+}
+close(UNICODE_DB);
+
+# Read and parse the manual remapping file.  This contains lines
+# of the form:
+
+# |"\u0956>\u0948;"  // AI Length Mark -> Devanagari Vowel Sign AI 
+
+# The left hand side contains a non-existent full code value.  It
+# should be a single value.  The right hand side contains one or more
+# real full code values.  The idea is that when a mapping from another
+# script ends up at the non-existent code point on the left, the
+# sequence on the right should be substituted.  In this example,
+# Devanagari has no AI Length Mark.  So, if transliterating from
+# Oriya, then the character 0B56 (Oriya AI Length Mark) will remap to
+# the non-existent 0956, and that remaps to 0948, our chosen
+# Devanagari equivalent.  For our purposes, the left hand side should
+# be taken to mean its equivalent point in the InterIndic range.  In
+# this example, what it really says is E056>0948 in the
+# InterIndic-Devanagari transliterator.
+
+if ($EXCEPTIONS_FILE) {
+    open(EXCEPTIONS_FILE) or die;
+    while (<EXCEPTIONS_FILE>) {
+        if (m|^\s*\"([^\"]*?)\"|) {
+            my $line = $_;
+            $_ = $1;
+            if (/^(.*)>(.*);$/) {
+                my ($rawFrom, $rawTo) = ($1, $2);
+                my @from = parseUnicodeEscape($rawFrom);
+                my @to = parseUnicodeEscape($rawTo);
+                my $from = hexArray(@from);
+                # Some entries look like this:
+                # |"\u0955>\u0955;"
+                # these do nothing; ignore them.
+                if (intArraysEqual(\@from, \@to)) {
+                    #print STDERR "Ignoring NOOP remap of $from\n";
+                } elsif (exists $EXCEPTIONS{$from}) {
+                    print STDERR "ERROR in $EXCEPTIONS_FILE - Duplicate remap entries for $from\n";
+                } elsif (scalar @from > 1) {
+                    print STDERR "ERROR in $EXCEPTIONS_FILE - Ignoring multichar remap: ", hexArray(@from), "->", hexArray(@to), "\n";                    
+                } else {
+                    # Check this for validity.  Full code on the left
+                    # should NOT exist.  Full code seq on the right should.
+                    if (exists $FULLCODE_TO_NAME{$from[0]}) {
+                        print STDERR "ERROR in $EXCEPTIONS_FILE - Invalid remap; left side defined: ", hexArray(@from), "->", hexArray(@to), "\n";
+                    } elsif (grep(! exists $FULLCODE_TO_NAME{$_}, @to)) {
+                        print STDERR "ERROR in $EXCEPTIONS_FILE - Invalid remap; right side undefined: ", hexArray(@from), "->", hexArray(@to), "\n";
+                    } else {
+                        $EXCEPTIONS{$from[0]} = \@to;
+                    }
+                }
+            } else { die "ERROR in $EXCEPTIONS_FILE - Can't parse \"$_\" in line $line"; }
+        }
+    }
+    close(EXCEPTIONS_FILE);
+    print STDERR "$EXCEPTIONS_FILE: Loaded ", scalar keys %EXCEPTIONS, " remappings\n";
+}
+
+if ($DO_DECOMP_REMAP) {
+    # Read the NamesList.txt file.  This contains decomposition data.
+    # Gather these into %DECOMP, which maps a name to n1.n2..., where n1
+    # etc. are decomposed names.  E.g. $DECOMP{'LETTER RRA'} -> 'LETTER
+    # RA.SIGN NUKTA'.  There may be different mappings in different script
+    # blocks (LETTER RRA is mapped differently in Devanagari and Bengali),
+    # in which case the name goes into %DECOMP_MISMATCH, and is removed
+    # from %DECOMP.
+    $NAMES = "NamesList.txt";
+    open(NAMES);
+    while (<NAMES>) {
+        # Skip to start of DEVANAGARI block
+        last if (/^\@\@\s+0900/);
+    }
+    while (<NAMES>) {
+        # Continue until start of SINHALA block
+        last if (/^\@\@\s+0D80/);
+        if (/^([0-9A-Z]{4})/i) {
+            $code = $1;
+        } elsif (/^\s+:\s*(.+)/) {
+            # We've found a mapping of the form:
+            # 0929    DEVANAGARI LETTER NNNA
+            #     * for transcribing Dravidian alveolar n
+            #     : 0928 093C
+            my $from = $FULLCODE_TO_NAME{hex($code)};
+            my @to = map($FULLCODE_TO_NAME{hex($_)}, split(/\s+/, $1));
+            if (exists $DECOMP{$from}) {
+                my $aref = $DECOMP{$from};
+                if (join(".", @$aref) ne join(".", @to)) {
+                    print STDERR "ERROR: Decomp mismatch for $from\n";
+                    print STDERR "     : $from = ", join(".", @$aref), "\n";
+                    print STDERR "     : $from = ", join(".", @to), "\n";
+                    $DECOMP_MISMATCH{$from} = 1;
+                }
+            } else {
+                $DECOMP{$from} = \@to;
+            }
+        }
+    }
+    close(NAMES);
+    # Remove mismatches
+    foreach (keys %DECOMP_MISMATCH) {
+        delete $DECOMP{$_};
+    }
+    if ($DUMP) {
+        foreach (keys %DECOMP) {
+            print "$_ = ", join(" + ", @{$DECOMP{$_}}), "\n";
+        }
+    }
+}
+
+# Count the total number of scripts
+
+$SCRIPT_COUNT = scalar keys %SCRIPT_TO_BASE;
+#print join("\n", sort keys %SCRIPT_TO_BASE), "\n";
+
+# Dump out the %NAME_CODE_TO_SCRIPTS map.
+
+if ($DUMP) {
+    print "\nBY NAME:\n";
+    foreach my $pass ((1, 2)) {
+        print "\nBY NAME - SINGLETONS:\n" if ($pass eq 2);
+        foreach my $name (sort keys %NAME_CODE_TO_SCRIPTS) {
+            if ($pass eq 1) {
+                next if (1 >= $NAME_CODE_TO_SCRIPTS{$name}{count});
+            } else {
+                next if (1 < $NAME_CODE_TO_SCRIPTS{$name}{count});
+            }
+            print "$name:";
+            my $href = $NAME_CODE_TO_SCRIPTS{$name};
+            foreach my $code (sort {$a <=> $b} keys %$href) {
+                next if ($code eq 'count');
+                my $aref = $href->{$code};
+                print " ", hex2($code), " (", formatScriptList($aref), ")";
+            }
+            print "\n";
+        }
+    }
+}
+
+# Create some transliterators, based on the scripts and the %NAME_CODE_TO_SCRIPTS
+# map.  Only use %NAME_CODE_TO_SCRIPTS entries with a count of 2 or more, that is,
+# names that occur in two or more scripts.  For those scripts where
+# the names occur, map both up to the InterIndic range, and down to
+# the target script.
+
+$INTERINDIC = 0xE000;
+$INTERINDIC_EXTRA = 0xE080;
+$INTERINDIC_EXTRA_NEXT = $INTERINDIC_EXTRA;
+
+# For each script, create a hash.  The hash has a key for each
+# code point, either within its block, or in the InterIndic block.
+# the value of the key is the mapping.
+
+# The script hashes are named %DEVANAGARI, etc., and referenced
+# with symbolic refs.
+
+@REMAP = ('s/\bSHORT\s+//i',
+          's/\bCANDRA\s+//i',
+          's/\bQA$/KA/i',
+          's/\bKHHA$/KHA/i',
+          's/\bGHHA$/GA/i',
+          's/\bZA$/JA/i',
+          's/\bFA$/PHA/i',
+          's/\bVA$/BA/i',
+          's/\bNNNA$/NA/i',
+          's/\bRRA$/RA/i',
+          's/\bLLLA$/LLA/i',
+          's/\bLLLA$/LA/i',
+          's/\bLLA$/LA/i',
+          's/^A(.) LENGTH MARK$/VOWEL SIGN A$1/i',
+          's/CANDRABINDU/BINDI/i',
+          's/BINDI/CANDRABINDU/i',
+          );
+
+# Do this so we see zero counts:
+foreach my $remap (@REMAP) { $REMAP{$remap} = 0; }
+
+# This loop iterates over the names in the NAME_CODE_TO_SCRIPTS hash.
+# These names are things like "LETTER NNNA".  For each name, it then
+# creates script mappings up to the InterIndic area, and back down
+# to the script areas.  If a name maps to more than one offset,
+# then it uses the InterIndic extra range.  Either way, it picks
+# a single InterIndic point, either an offset point or something in
+# the extra range, and maps up and down from that point.
+foreach my $name (sort keys %NAME_CODE_TO_SCRIPTS) {
+    next if (1 >= $NAME_CODE_TO_SCRIPTS{$name}{count});
+    my $href = $NAME_CODE_TO_SCRIPTS{$name};
+    # Count the number of different codes assigned to this name.
+    # Usually 1, but 2 for a handful of names.
+    my $codeCount = (keys %{$NAME_CODE_TO_SCRIPTS{$name}}) - 1; # less 1: {count}
+    # If $codeCount is 1, then map directly up to the $INTERINDIC
+    # base.  If $codeCount is 2, then map into unused spots starting
+    # at $INTERINDIC_EXTRA.
+    my $interIndicCode;
+    if ($codeCount > 1) {
+        # Map into the InterIndic extra range
+        $interIndicCode = $INTERINDIC_EXTRA_NEXT++;
+    }
+    my %seen;
+    foreach my $code (sort {$a ne 'count' && $b ne 'count' && $a <=> $b} keys %$href) {
+        next if ($code eq 'count');
+        my $aref = $href->{$code}; # Ref to array of scripts
+        if ($codeCount == 1) {
+            # Map directly
+            $interIndicCode = $INTERINDIC + $code;
+        }
+        # Keep track of the names of the extra InterIndic points
+        $INTERINDIC_NAME_TO_FULLCODE{$name} = $interIndicCode;
+
+        foreach my $scr (@$aref) {
+            $seen{$scr} = 1;
+            my $fullCode = $SCRIPT_TO_BASE{$scr} + $code;
+            $ {$scr}{$fullCode} = hex4($interIndicCode) . "; // $name";
+            $ {$scr}{$interIndicCode} = hex4($fullCode) . "; // $name";
+        }
+    }
+    # Now handle InterIndic->Script unmapped points.  For each name,
+    # some of the scripts will be left out -- will have no mappings
+    # to that name.  For these scripts, we can either leave them
+    # unmapped (so the InterIndic->Local mapping is empty), or
+    # try to remap.
+ unmappedScript:
+    foreach my $scr (keys %SCRIPT_TO_BASE) {
+        next if ($seen{$scr});
+
+        if ($DO_HEURISTIC_REMAP) {
+            # Try to remap through the known equivalences in our
+            # remapping table
+            foreach my $remapRE (@REMAP) {
+                local $_ = $name;
+                if (eval($remapRE)) {
+                    if (exists $SCRIPT_NAME_TO_CODE{$scr}{$_}) {
+                        $ {$scr}{$interIndicCode} =
+                            hex4($SCRIPT_TO_BASE{$scr} + $SCRIPT_NAME_TO_CODE{$scr}{$_}) .
+                                "; // REMAP: $name -> $_";
+                        ++$REMAP{$remapRE};
+                        next unmappedScript;
+                    }
+                }
+            }
+        }
+
+        # Try to remap through the file.  This contains remappings of
+        # the form 0991->0993.  That is, it contains local remappings
+        # that we can substitute and try again with.
+        #|GURMUKHI-InterIndic ------------------------------
+        #|// 0A02>; // UNMAPPED INTERNAL: SIGN BINDI
+        #|InterIndic-GURMUKHI ------------------------------
+        #|// E001>; // UNMAPPED EXTERNAL: SIGN CANDRABINDU
+        #|"\u0A01>\u0A02;"
+        # In this example, the remapping tells us that the non-existent
+        # character A01 should be considered equivalent to the real
+        # character A02.
+        # We implement this by adding two mappings; one from
+        # the InterIndic equivalent of A01, that is, E001, to A02,
+        # and one from A02, which otherwise has no mapping, to E001.
+        if ($EXCEPTIONS_FILE && $interIndicCode < $INTERINDIC_EXTRA) {
+            # Try to map this InterIndic character back to a the spot
+            # it would occupy in this script if it had a mapping.
+            my $code = $interIndicCode & 0x7F;
+            my $pseudoFullCode = $SCRIPT_TO_BASE{$scr} + $code;
+            if (exists $EXCEPTIONS{$pseudoFullCode}) {
+                my $fullCodeArray = $EXCEPTIONS{$pseudoFullCode};
+                my $comment;
+                foreach my $c (@$fullCodeArray) {
+                    $comment .= "." if ($comment);
+                    $comment .= $FULLCODE_TO_NAME{$c};
+                }
+                $comment = "; // REMAP ($EXCEPTIONS_FILE): " .
+                    hex4($pseudoFullCode) . ">" . hexArray(@$fullCodeArray) . " = " .
+                    $CODE_TO_NAME{$code} . ">" . $comment;
+                $ {$scr}{$interIndicCode} = hexArray(@$fullCodeArray) . $comment;
+                if (scalar @$fullCodeArray == 1) {
+                    if (exists $ {$scr}{$fullCodeArray->[0]}) {
+                        # There's already a proper mapping; no need to fill
+                        # in reverse
+                    } else {
+                        $ {$scr}{$fullCodeArray->[0]} = hex4($interIndicCode) . $comment;
+                    }
+                }
+                next unmappedScript;
+            }
+        }
+
+        $SCRIPT_FULLCODE_TO_IS_UNMAPPED{$scr}{$interIndicCode} = 1;
+        local $_ = "; // UNMAPPED InterIndic-$scr: $name";
+        if (exists $SCRIPT_CODE_TO_NAME{$scr}{$interIndicCode & 0x7F}) {
+            my $fullCode = $SCRIPT_TO_BASE{$scr} + ($interIndicCode & 0x7F);
+            $_ .= " (" . hex4($fullCode) . " = " . $FULLCODE_TO_NAME{$fullCode} . ")";
+        }
+        $ {$scr}{$interIndicCode} = $_;
+    }
+}
+
+# Add in unmapped entries for each script
+foreach my $scr (keys %SCRIPT_TO_BASE) {
+    my $base = $SCRIPT_TO_BASE{$scr};
+ unmappedInt:
+    foreach my $code (keys %{$SCRIPT_CODE_TO_NAME{$scr}}) {
+        my $fullCode = $code + $base;
+        next if (exists $ {$scr}{$fullCode});
+        my $name = $SCRIPT_CODE_TO_NAME{$scr}{$code};
+
+        if ($DO_HEURISTIC_REMAP) {
+            foreach my $remapRE (@REMAP) {
+                local $_ = $name;
+                if (eval($remapRE)) {
+                    if (exists $INTERINDIC_NAME_TO_FULLCODE{$_}) {
+                        $ {$scr}{$fullCode} =
+                            hex4($INTERINDIC_NAME_TO_FULLCODE{$_}) .
+                                "; // REMAP: $name -> $_";
+                        ++$REMAP{$remapRE};
+                        next unmappedInt;
+                    }
+                }
+            }
+        }
+
+        # Now try the decomp table
+        if ($DO_DECOMP_REMAP && exists $DECOMP{$name}) {
+            my $x;
+            my $cmt = "; // DECOMP: $name -> ";
+            foreach my $n (@{$DECOMP{$name}}) {
+                if (exists $SCRIPT_NAME_TO_CODE{$scr}{$n}) {
+                    $x .= hex4($SCRIPT_TO_BASE{$scr} + $SCRIPT_NAME_TO_CODE{$scr}{$n});
+                    $cmt .= $n . " + ";
+                } else {
+                    $cmt = 0;
+                    last;
+                }
+            }
+            if ($cmt) {
+                $ {$scr}{$fullCode} = $x . $cmt;
+                next unmappedInt;
+            }
+        }
+
+        $SCRIPT_FULLCODE_TO_IS_UNMAPPED{$scr}{$fullCode} = 1;
+        $ {$scr}{$fullCode} = "; // UNMAPPED $scr-InterIndic: $name";
+    }
+}
+
+# GUR
+# E00B>; // UNMAPPED EXTERNAL: LETTER VOCALIC R "\u0A0B>\u0A30\u0A3F;"
+# E00C>; // UNMAPPED EXTERNAL: LETTER VOCALIC L "\u0A0C>\u0A07;"
+# E00D>; // UNMAPPED EXTERNAL: LETTER CANDRA E "\u0A0D>\u0A10;"
+# E011>; // UNMAPPED EXTERNAL: LETTER CANDRA O "\u0A11>\u0A14;"
+# E037>; // UNMAPPED EXTERNAL: LETTER SSA "\u0A37>\u0A36;"
+# E045>; // UNMAPPED EXTERNAL: VOWEL SIGN CANDRA E "\u0A45>\u0A48;"
+# E049>; // UNMAPPED EXTERNAL: VOWEL SIGN CANDRA O "\u0A49>\u0A4C;"
+# Fix QA too
+
+# Dump out script maps
+foreach my $scr (sort keys %SCRIPT_TO_BASE) {
+    ## next unless ($scr eq 'TELUGU'); # Debugging
+    my @rules;
+    my $flag = 1;
+    foreach my $fullCode (sort {$a <=> $b} keys %{$scr}) {
+        if ($flag && $fullCode >= $INTERINDIC) {
+            # We have the complete <scr>-InterIndic rules; dump
+            # them out.
+            generateRBT($scr, "InterIndic", \@rules, $OUTDIR);
+            @rules = ();
+            $flag = 0;
+        }
+        if (exists $SCRIPT_FULLCODE_TO_IS_UNMAPPED{$scr}{$fullCode}) {
+            push @rules, "// " . hex4($fullCode) . ">" . $ {$scr}{$fullCode};
+        } else {
+            push @rules, hex4($fullCode) . ">" . $ {$scr}{$fullCode};
+        }
+    }
+    # Now generate the InterIndic-<scr> rules.
+    generateRBT("InterIndic", $scr, \@rules, $OUTDIR);
+
+#    print "$scr-InterIndic ------------------------------\n";
+#    my $flag = 1;
+#    foreach my $fullCode (sort {$a <=> $b} keys %{$scr}) {
+#        if ($flag && $fullCode >= $INTERINDIC) {
+#            print "InterIndic-$scr ------------------------------\n";
+#            $flag = 0;
+#        }
+#        if (exists $SCRIPT_FULLCODE_TO_IS_UNMAPPED{$scr}{$fullCode}) {
+#            print "// ", hex4($fullCode), ">", $ {$scr}{$fullCode}, "\n";
+#        } else {
+#            print hex4($fullCode), ">", $ {$scr}{$fullCode}, "\n";
+#        }
+#    }
+}
+
+# List successful remappings
+if ($DO_HEURISTIC_REMAP) {
+    foreach my $remap (sort keys %REMAP) {
+        print STDERR "REMAP ", $REMAP{$remap}, " x $remap\n";
+    }
+}
+
+#----------------------------------------------------------------------
+# SUBROUTINES
+
+# Return a listing of an array of scripts
+# Param: array ref
+sub formatScriptList {
+    my $aref = shift;
+    if ($SCRIPT_COUNT == @$aref) {
+        return "all";
+    } elsif (($SCRIPT_COUNT - 3) <= @$aref) {
+        my $s = "all but";
+        my %temp;
+        foreach (@$aref) { $temp{$_} = 1; }
+        foreach (sort keys %SCRIPT_TO_BASE) {
+            $s .= " $_" unless exists $temp{$_};
+        }
+        return $s;
+    } else {
+        return join(" ", @$aref);
+    }
+}
+
+# Format as %02X hex
+sub hex2 {
+    sprintf("%02X", $_[0]);
+}
+
+# Format as %04X hex
+sub hex4 {
+    sprintf("\\u%04X", $_[0]);
+}
+
+# Format an array as %04X hex, delimited by "."s
+sub hexArray {
+    join("", map { hex4($_); } @_);
+}
+
+# Parse a string of the form "\u0D01" to an array of integers.
+# Must ONLY contain escapes.
+# Return the array.
+sub parseUnicodeEscape {
+    local $_ = shift;
+    my $orig = $_;
+    my @result;
+    while (length($_)) {
+        if (/^\\u([0-9a-f]{4})(.*)/i) {
+            push @result, hex($1);
+            $_ = $2;
+        } else {
+            die "Can't parse Unicode escape $orig\n";
+        }
+    }
+    if (0 == @result) {
+        die "Can't parse Unicode escape $orig\n";        
+    }
+    @result;
+}
+
+# Return 1 if the two arrays of ints are equal.
+# Param: ref to array of ints
+# Param: ref to array of ints
+sub intArraysEqual {
+    my $a = shift;
+    my $b = shift;
+    if (scalar @$a == scalar @$b) {
+        for (my $i=0; $i<@$a; ++$i) {
+            if ($a->[$i] != $b->[$i]) {
+                return 0;
+            }
+        }
+        return 1;
+    }
+    return 0;
+}
+
+# Given a rule, possibly with trailing // comment,
+# quote the rule part and add a trailing "+" after
+# it.
+sub quoteRule {
+    my $cmt;
+    $cmt = $1 if (s|(\s*//.*)||); # isolate trailing // comment
+    s/^(.*;)/\"$1\"+/;
+    s/$/$cmt/;
+    $_;
+}
+
+# Given the name of the source script, name of the target script,
+# and array of rule strings, return a string containing the source
+# for a RuleBasedTransliterator file.
+# Param: source script name
+# Param: target script name
+# Param: ref to array of rules.  These rules are unquoted, without
+#  concatenators between them, but do have trailing ';' separators.
+# Param: name of output directory
+sub generateRBT {
+    # $TOOL - name of generating tool
+    # $DATE - date of generation
+    # $SCRIPTFROM - name of source script
+    # $SCRIPTTO - name of target script
+    # $RULES - rules
+    my ($source, $target, $rules, $outdir) = @_;
+    my $text;
+    $outdir =~ s|[/\\]$||; # Delete trailing / or \
+    my $OUT = "$outdir/TransliterationRule_${source}_$target.java";
+    open(RBT_TEMPLATE) or die;
+    open(OUT, ">$OUT") or die;
+    while (<RBT_TEMPLATE>) {
+        while (/\$([A-Za-z0-9]+)/) {
+            my $tag = $1;
+            my $sub;
+            if ($tag eq 'TOOL') {
+                $sub = $RBT_GEN_TOOL;
+            } elsif ($tag eq 'DATE') {
+                $sub = localtime;
+            } elsif ($tag eq 'SCRIPTFROM') {
+                $sub = $source;
+            } elsif ($tag eq 'SCRIPTTO') {
+                $sub = $target;
+            } elsif ($tag eq 'RULES') {
+                # Get any whitespace-only indent off the front of this tag
+                my $indent;
+                $indent = $1 if (/^(\s+)\$$tag/);
+
+                # The rules in the array are not quoted.  We need to quote
+                # them and add '+' operators between them.  We do NOT need
+                # to add ';' separators.  We DO need to separate trailing
+                # // comments and handle them.
+                $sub = join("\n$indent", map(&quoteRule, @$rules)) .
+                    "\n$indent\"\"";
+            } else {
+                print STDERR "ERROR in $RBT_TEMPLATE: Unknown tag $tag\n";
+                $sub = "[ERROR:Unknown tag \$$tag]";
+            }
+            s/\$$tag/$sub/;
+        }
+        print OUT;
+    }
+    close(OUT);
+    close(RBT_TEMPLATE);
+    print STDERR "Written: $OUT\n";
+}
+
+__END__
diff --git a/src/com/ibm/icu/dev/tool/translit/indicExceptions.txt b/src/com/ibm/icu/dev/tool/translit/indicExceptions.txt
new file mode 100755
index 0000000..fd26dd2
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/translit/indicExceptions.txt
@@ -0,0 +1,377 @@
+/**
+ *******************************************************************************
+ * Copyright (C) 2002-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+/* Reserved in all 9 scripts */
+
+/*
+   These codepoints are marked RESERVED in all 9 indic scripts.
+   There should not be any transliteration work on these codepoints, 
+   if they are ever encountered.  Ignore these codepoints.
+
+   Common reserved codepoints in ALL 9 scripts : (offset)
+   00, 04, 
+   3A, 3B, 
+   4E, 4F, 
+   7B, 7C, 7D, 7E, 7F
+*/
+
+/* Script-specific */
+/*
+   These codepoints are specific to their respective script.
+   Transliteration of these codepoints from one script to another is meaningless.
+
+   For example,
+      \u0B70 (Oriya) and \u0BF0 (Tamil) are non-reserved codepoints within each script.
+      On transliterating \u0B70 from Oriya to Tamil, we will get \u0BF0.
+      But \u0B70 in Oriya represents ISSHAR, whereas \u0BF0 in Tamil represents NUMBER TEN.
+
+   \u0970 Devanagari abbreviation sign
+
+   \u09F0 Bengali letter RA with middle diagonal (Assamese)
+   \u09F1 Bengali letter RA with lower diagonal 
+          (=Bengali letter VA with lower diagonal, Assamese)
+   \u09F2 Bengali rupee mark
+   \u09F3 Bengali rupee sign
+   \u09F4 Bengali currency numerator one
+   \u09F5 Bengali currency numerator two
+   \u09F6 Bengali currency numerator three
+   \u09F7 Bengali currency numerator four
+   \u09F8 Bengali currency numerator one less than the denominator
+   \u09F9 Bengali currency denominator sixteen
+   \u09FA Bengali isshar
+
+   \u0A70 Gurmukhi tippi (nasalization)
+   \u0A71 Gurmukhi addak (doubles following consonant)
+   \u0A72 Gurmukhi iri (base for vowels)
+   \u0A73 Gurmukhi ura (base for vowels)
+   \u0A74 Gurmukhi ek onkar (God is One)
+
+   \u0B70 Oriya isshar
+
+   \u0BF0 Tamil number ten
+   \u0BF1 Tamil number one hundred
+   \u0BF2 Tamil number one thousand
+*/
+
+
+
+/*****************************************************************************/
+/*  NOTE : <unknown> code will map back to itself                            */
+/*         till we find a good match                                         */
+/*****************************************************************************/
+
+
+
+/*****************************************************************************/
+/* Devanagari                                                                */
+/*****************************************************************************/
+
+"\u0955>\u0955;"  // <unknown> Length Mark - Kannada (\u0CD5), Telugu (\u0C55)
+"\u0956>\u0948;"  // AI Length Mark -> Devanagari Vowel Sign AI
+"\u0957>\u094C;"  // AU Length Mark -> Devanagari Vowel Sign AU
+
+
+
+/*****************************************************************************/
+/* Bengali                                                                   */
+/*****************************************************************************/
+
+"\u098D>\u098D;"  // <unknown> independent vowel Candra E
+"\u098E>\u098F;"  // Letter Short E -> Letter E
+"\u0991>\u0993;"  // Letter Candra O -> Letter O
+"\u0992>\u0993;"  // Letter Short O -> Letter O
+"\u09A9>\u09A8;"  // Letter NNNA -> Letter NA
+"\u09B1>\u09B0;"  // Letter RRA -> Letter RA
+"\u09B3>\u09B2;"  // Letter LLA -> Letter LA
+"\u09B4>\u09B2;"  // Letter LLLA -> Letter LA
+"\u09B5>\u09AC;"  // Letter VA -> Letter BA
+"\u09BD>\u09BD;"  // <unknown> Sign Avagraha - Devanagari (\u093D)
+"\u09C5>\u09C7;"  // Vowel Candra E -> Vowel E
+"\u09C6>\u09C7;"  // Vowel Short E -> Vowel E
+"\u09C9>\u09CB;"  // Vowel Candra O -> Vowel O
+"\u09CA>\u09CB;"  // Vowel Short O -> Vowel O
+"\u09D0>\u09D0;"  // <unknown> OM - Devanagari (\u0950), Gujarati (\u0AD0)
+"\u09D1>\u09D1;"  // <unknown> Stress - Devanagari (\u0951)
+"\u09D2>\u09D2;"  // <unknown> Stress - Devanagari (\u0952)
+"\u09D3>\u09D3;"  // <unknown> Accent - Devanagari (\u0953)
+"\u09D4>\u09D4;"  // <unknown> Accent - Devanagari (\u0954)
+"\u09D5>\u09D5;"  // <unknown> Length Mark - Kannada (\u0CD5), Telugu (\u0C55)
+"\u09D6>\u09C8;"  // AI Length Mark -> Bengali Vowel Sign AI
+"\u09D8>\u0995;"  // Letter QA -> Letter KA
+"\u09D9>\u0996;"  // Letter KHHA -> Letter KHA
+"\u09DA>\u0997;"  // Letter GHHA -> Letter GA
+"\u09DB>\u099C;"  // Letter ZA -> Letter JA
+"\u09DE>\u09AB;"  // Letter FA -> Letter PHA
+"\u09E4>\u09E4;"  // <unknown> Danda - Devanagari (\u0964)
+"\u09E5>\u09E5;"  // <unknown> Double Danda - Devanagari (\u0965)
+
+
+
+/*****************************************************************************/
+/* Gurmukhi                                                                  */
+/*****************************************************************************/
+
+"\u0A01>\u0A02;"
+"\u0A03>\u0A03;"  // <unknown> Sign Visarga - Devanagari (\u0903) & the rest
+"\u0A0B>\u0A30\u0A3F;"
+"\u0A0C>\u0A07;"
+"\u0A0D>\u0A10;"
+"\u0A0E>\u0A0F;"
+"\u0A11>\u0A14;"
+"\u0A12>\u0A13;"
+"\u0A29>\u0A28;"
+"\u0A31>\u0A30;"
+"\u0A34>\u0A33;"
+"\u0A37>\u0A36;"
+"\u0A3D>\u0A3D;"  // <unknown> Sign Avagraha - Devanagari (\u093D)
+"\u0A43>\u0A43;"  // <unknown> Vocalic R - Devanagari (\u0943)
+"\u0A44>\u0A44;"  // <unknown> Vocalic RR - Devanagari (\u0944)
+"\u0A45>\u0A48;"
+"\u0A46>\u0A47;"
+"\u0A49>\u0A4C;"
+"\u0A4A>\u0A4B;"
+"\u0A50>\u0A50;"  // <unknown> OM - Devanagari (\u0950), Gujarati (\u0AD0)
+"\u0A51>\u0A51;"  // <unknown> Stress - Devanagari (\u0951)
+"\u0A52>\u0A52;"  // <unknown> Stress - Devanagari (\u0952)
+"\u0A53>\u0A53;"  // <unknown> Accent - Devanagari (\u0953)
+"\u0A54>\u0A54;"  // <unknown> Accent - Devanagari (\u0954)
+"\u0A55>\u0A55;"  // <unknown> Length Mark - Kannada (\u0CD5), Telugu (\u0C55)
+"\u0A56>\u0A48;"  // AI Length Mark -> Gurmukhi Vowel Sign AI
+"\u0A57>\u0A4C;"  // AU Length Mark -> Gurmukhi Vowel Sign AU
+"\u0A58>\u0A15\u0A3C;"
+"\u0A5D>\u0A22\u0A3C;"  // Letter RHA -> Gurmukhi letter ddha (\u0A22) + nukta (\u0A3C)
+"\u0A5F>\u0A2F;"
+"\u0A60>\u0A30\u0A3F;"
+"\u0A61>\u0A08\u0A3C;"
+"\u0A62>\u0A3F\u0A3C;"
+"\u0A63>\u0A40\u0A3C;"
+"\u0A64>\u0A64;"  // <unknown> Danda - Devanagari (\u0964)
+"\u0A65>\u0A65;"  // <unknown> Double Danda - Devanagari (\u0965)
+
+
+
+/*****************************************************************************/
+/* Gujarati                                                                  */
+/*****************************************************************************/
+"\u0A8C>\u0AB2\u0AC3;"
+"\u0A8E>\u0A8D;"
+"\u0A92>\u0A91;"
+"\u0AA9>\u0AA8;"
+"\u0AB1>\u0AB0;"
+"\u0AB4>\u0AB3;"
+"\u0AC6>\u0AC5;"
+"\u0ACA>\u0AC9;"
+"\u0AD1>\u0AD1;"  // <unknown> Stress - Devanagari (\u0951)
+"\u0AD2>\u0AD2;"  // <unknown> Stress - Devanagari (\u0952)
+"\u0AD3>\u0AD3;"  // <unknown> Accent - Devanagari (\u0953)
+"\u0AD4>\u0AD4;"  // <unknown> Accent - Devanagari (\u0954)
+"\u0AD5>\u0AD5;"  // <unknown> Length Mark - Kannada (\u0CD5), Telugu (\u0C55)
+"\u0AD6>\u0AC8;"  // AI Length Mark -> Gujarati Vowel Sign AI
+"\u0AD7>\u0ACC;"  // AU Length Mark -> Gujarati Vowel Sign AU
+"\u0AD8>\u0A95\u0ABC;"
+"\u0AD9>\u0A96\u0ABC;"
+"\u0ADA>\u0A97\u0ABC;"
+"\u0ADB>\u0A9C\u0ABC;"
+"\u0ADC>\u0AA1\u0ABC;"
+"\u0ADD>\u0AA2\u0ABC;"
+"\u0ADE>\u0AAB\u0ABC;"
+"\u0ADF>\u0AAF\u0ABC;"
+"\u0AE1>\u0AB2\u0AC3;"
+"\u0AE2>\u0ABF\u0ABC;"
+"\u0AE3>\u0AC0\u0ABC;"
+"\u0AE4>\u0AE4;"  // <unknown> Danda - Devanagari (\u0964)
+"\u0AE5>\u0AE5;"  // <unknown> Double Danda - Devanagari (\u0965)
+
+
+
+/*****************************************************************************/
+/* Oriya                                                                     */
+/*****************************************************************************/
+"\u0B0D>\u0B0F;"
+"\u0B0E>\u0B0F;"
+"\u0B11>\u0B13;"
+"\u0B12>\u0B13;"
+"\u0B29>\u0B28;"
+"\u0B31>\u0B30;"
+"\u0B34>\u0B33;"
+"\u0B35>\u0B2C;"  // Letter VA -> Oriya Letter BA
+"\u0B44>\u0B43\u0B3C;"
+"\u0B45>\u0B47;"
+"\u0B46>\u0B47;"
+"\u0B49>\u0B4B;"
+"\u0B4A>\u0B4B;"
+"\u0B50>\u0B13\u0B01;"
+"\u0B51>\u0B51;"  // <unknown> Stress - Devanagari (\u0951)
+"\u0B52>\u0B52;"  // <unknown> Stress - Devanagari (\u0952)
+"\u0B53>\u0B53;"  // <unknown> Accent - Devanagari (\u0953)
+"\u0B54>\u0B54;"  // <unknown> Accent - Devanagari (\u0954)
+"\u0B55>\u0B55;"  // <unknown> Length Mark - Kannada (\u0CD5), Telugu (\u0C55)
+"\u0B58>\u0B15\u0B3C;"
+"\u0B59>\u0B16\u0B3C;"
+"\u0B5A>\u0B17\u0B3C;"
+"\u0B5B>\u0B1C\u0B3C;"
+"\u0B5E>\u0B2B\u0B3C;"
+"\u0B62>\u0B56\u0B3C;"
+"\u0B63>\u0B57\u0B3C;"
+"\u0B64>\u0B64;"  // <unknown> Danda - Devanagari (\u0964)
+"\u0B65>\u0B65;"  // <unknown> Double Danda - Devanagari (\u0965)
+
+
+
+/*****************************************************************************/
+/* Tamil                                                                     */
+/*****************************************************************************/
+
+"\u0B81>\u0B81;"  // <unknown> Candrabindu - Devanagari (\u0901) ,etc
+"\u0B8B>\u0BB0\u0BBF;"
+"\u0B8C>\u0B87;"
+"\u0B8D>\u0B86;"
+"\u0B91>\u0B86;"
+"\u0B96>\u0B95;"
+"\u0B97>\u0B95;"
+"\u0B98>\u0B95;"
+"\u0B9B>\u0B9A;"
+"\u0B9D>\u0B9A;"
+"\u0BA0>\u0B9F;"
+"\u0BA1>\u0B9F;"
+"\u0BA2>\u0B9F;"
+"\u0BA5>\u0BA4;"
+"\u0BA6>\u0BA4;"
+"\u0BA7>\u0BA4;"
+"\u0BAB>\u0BAA;"
+"\u0BAC>\u0BAA;"
+"\u0BAD>\u0BAA;"
+"\u0BB6>\u0BB7;"
+"\u0BBC>\u0BBC;"  // <unknown> Nukta
+"\u0BBD>\u0BBD;"  // <unknown> Sign Avagraha - Devanagari (\u093D)
+"\u0BC3>\u0BCD\u0BB0\u0BBF;"
+"\u0BC4>\u0BCD\u0BB0\u0BBF;"
+"\u0BC5>\u0BBE;"
+"\u0BC9>\u0BBE;"
+"\u0BD0>\u0B93\u0BAE\u0BCD;"
+"\u0BD1>\u0BD1;"  // <unknown> Stress - Devanagari (\u0951)
+"\u0BD2>\u0BD2;"  // <unknown> Stress - Devanagari (\u0952)
+"\u0BD3>\u0BD3;"  // <unknown> Accent - Devanagari (\u0953)
+"\u0BD4>\u0BD4;"  // <unknown> Accent - Devanagari (\u0954)
+"\u0BD5>\u0BD5;"  // <unknown> Length Mark - Kannada (\u0CD5), Telugu (\u0C55)
+"\u0BD6>\u0BC8;"  // AI Length Mark -> Tamil Vowel Sign AI
+"\u0BD8>\u0B95;"
+"\u0BD9>\u0B95;"
+"\u0BDA>\u0B95;"
+"\u0BDB>\u0B9C;"
+"\u0BDC>\u0B9F;"
+"\u0BDD>\u0B9F;"
+"\u0BDE>\u0BAA;"
+"\u0BDF>\u0BAF;"
+"\u0BE0>\u0BB0\u0BBF;"
+"\u0BE1>\u0B88;"
+"\u0BE2>\u0BE2;"  // <unknown> Vocalic L - Devanagari (\u0962)
+"\u0BE3>\u0BE3;"  // <unknown> Vocalic LL - Devanagari (\u0963)
+"\u0BE4>\u0BE4;"  // <unknown> Danda - Devanagari (\u0964)
+"\u0BE5>\u0BE5;"  // <unknown> Double Danda - Devanagari (\u0965)
+"\u0BE6>\u0030;"  // ZERO - Digit ZERO
+
+
+
+/*****************************************************************************/
+/* Telugu                                                                    */
+/*****************************************************************************/
+
+"\u0C0D>\u0C0E;"
+"\u0C11>\u0C12;"
+"\u0C29>\u0C28;"
+"\u0C34>\u0C33;"
+"\u0C3C>\u0C3C;"  // <unknown> Nukta
+"\u0C3D>\u0C3D;"  // <unknown> Sign Avagraha - Devanagari (\u093D)
+"\u0C45>\u0C46;"
+"\u0C49>\u0C4A;"
+"\u0C50>\u0C13\u0C02;"
+"\u0C51>\u0C51;"  // <unknown> Stress - Devanagari (\u0951)
+"\u0C52>\u0C52;"  // <unknown> Stress - Devanagari (\u0952)
+"\u0C53>\u0C53;"  // <unknown> Accent - Devanagari (\u0953)
+"\u0C54>\u0C54;"  // <unknown> Accent - Devanagari (\u0954)
+"\u0C57>\u0C4C;"
+"\u0C58>\u0C15;"
+"\u0C59>\u0C16;"
+"\u0C5A>\u0C17;"
+"\u0C5B>\u0C1C;"
+"\u0C5C>\u0C21;"
+"\u0C5D>\u0C22;"
+"\u0C5E>\u0C2B;"
+"\u0C5F>\u0C2F;"
+"\u0C62>\u0C3F;"
+"\u0C63>\u0C40;"
+"\u0C64>\u0C64;"  // <unknown> Danda - Devanagari (\u0964)
+"\u0C65>\u0C65;"  // <unknown> Double Danda - Devanagari (\u0965)
+
+
+
+/*****************************************************************************/
+/* Kannada                                                                   */
+/*****************************************************************************/
+
+"\u0C81>\u0C82;"
+"\u0C8D>\u0C8E;"
+"\u0C91>\u0C92;"
+"\u0CA9>\u0CA8;"
+"\u0CB4>\u0CB3;"
+"\u0CBC>\u0CBC;"  // <unknown> Nukta
+"\u0CBD>\u0CBD;"  // <unknown> Sign Avagraha - Devanagari (\u093D)
+"\u0CC5>\u0CC6;"
+"\u0CC9>\u0CCA;"
+"\u0CD0>\u0C93\u0C82;"
+"\u0CD1>\u0CD1;"  // <unknown> Stress - Devanagari (\u0951)
+"\u0CD2>\u0CD2;"  // <unknown> Stress - Devanagari (\u0952)
+"\u0CD3>\u0CD3;"  // <unknown> Accent - Devanagari (\u0953)
+"\u0CD4>\u0CD4;"  // <unknown> Accent - Devanagari (\u0954)
+"\u0CD7>\u0CCC;"
+"\u0CD8>\u0C95;"
+"\u0CD9>\u0C96;"
+"\u0CDA>\u0C97;"
+"\u0CDB>\u0C9C;"
+"\u0CDC>\u0CA1;"
+"\u0CDD>\u0CA2;"
+"\u0CDF>\u0CAF;"
+"\u0CE2>\u0CBF;"
+"\u0CE3>\u0CC0;"
+"\u0CE4>\u0CE4;"  // <unknown> Danda - Devanagari (\u0964)
+"\u0CE5>\u0CE5;"  // <unknown> Double Danda - Devanagari (\u0965)
+
+
+
+/*****************************************************************************/
+/* Malayalam                                                                 */
+/*****************************************************************************/
+
+"\u0D01>\u0D02;"
+"\u0D0D>\u0D06;"
+"\u0D11>\u0D13;"
+"\u0D29>\u0D28;"
+"\u0D3C>\u0D3C;"  // <unknown> Nukta
+"\u0D3D>\u0D3D;"  // <unknown> Sign Avagraha - Devanagari (\u093D)
+"\u0D44>\u0D44;"  // <unknown> Vocalic RR - Devanagari (\u0944)
+"\u0D45>\u0D3E;"
+"\u0D49>\u0D4B;"
+"\u0D50>\u0D50;"  // <unknown> OM - Devanagari (\u0950), Gujarati (\u0AD0)
+"\u0D51>\u0D51;"  // <unknown> Stress - Devanagari (\u0951)
+"\u0D52>\u0D52;"  // <unknown> Stress - Devanagari (\u0952)
+"\u0D53>\u0D53;"  // <unknown> Accent - Devanagari (\u0953)
+"\u0D54>\u0D54;"  // <unknown> Accent - Devanagari (\u0954)
+"\u0D55>\u0D55;"  // <unknown> Length Mark - Kannada (\u0CD5), Telugu (\u0C55)
+"\u0D56>\u0D48;"  // AI Length Mark -> Malayalam Vowel Sign AI
+"\u0D58>\u0D15;"
+"\u0D59>\u0D16;"
+"\u0D5A>\u0D17;"
+"\u0D5B>\u0D1C;"
+"\u0D5C>\u0D21;"
+"\u0D5D>\u0D22;"
+"\u0D5E>\u0D2B;"
+"\u0D5F>\u0D2F;"
+"\u0D62>\u0D62;"  // <unknown> Vocalic L - Devanagari (\u0962)
+"\u0D63>\u0D63;"  // <unknown> Vocalic LL - Devanagari (\u0963)
+"\u0D64>\u0D64;"  // <unknown> Danda - Devanagari (\u0964)
+"\u0D65>\u0D65;"  // <unknown> Double Danda - Devanagari (\u0965)
diff --git a/src/com/ibm/icu/dev/tool/translit/rbtTemplate.txt b/src/com/ibm/icu/dev/tool/translit/rbtTemplate.txt
new file mode 100755
index 0000000..0549bbd
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/translit/rbtTemplate.txt
@@ -0,0 +1,26 @@
+/***********************************************************************
+* Copyright (c) 2000, International Business Machines Corporation
+* and others.  All Rights Reserved.
+************************************************************************
+* > THIS FILE WAS MACHINE GENERATED <
+* >       DO NOT EDIT BY HAND       <
+* >      RUN TOOL TO REGENERATE     <
+* Tool: $TOOL
+* Creation date: $DATE
+*/
+package com.ibm.text.resources;
+
+import java.util.ListResourceBundle;
+
+public class TransliterationRule_$SCRIPTFROM_$SCRIPTTO extends ListResourceBundle {
+    /**
+     * Overrides ListResourceBundle
+     */
+    public Object[][] getContents() {
+        return new Object[][] {
+            { "Rule",
+              $RULES
+            }
+        };
+    }
+}
diff --git a/src/com/ibm/icu/dev/tool/translit/varsub.bat b/src/com/ibm/icu/dev/tool/translit/varsub.bat
new file mode 100755
index 0000000..cd342c9
--- /dev/null
+++ b/src/com/ibm/icu/dev/tool/translit/varsub.bat
@@ -0,0 +1,81 @@
+#/**
+# *******************************************************************************
+# * Copyright (C) 2001-2004, International Business Machines Corporation and    *
+# * others. All Rights Reserved.                                                *
+# *******************************************************************************
+# */
+
+@rem = '--*-Perl-*--
+@echo off
+if "%OS%" == "Windows_NT" goto WinNT
+perl -x -S "%0" %1 %2 %3 %4 %5 %6 %7 %8 %9
+goto endofperl
+:WinNT
+perl -x -S "%0" %*
+if NOT "%COMSPEC%" == "%SystemRoot%\system32\cmd.exe" goto endofperl
+if %errorlevel% == 9009 echo You do not have Perl in your PATH.
+goto endofperl
+@rem ';
+#!perl
+#line 14
+
+# Usage: perl varsub.bat [-n|-nr] <infile> <outfile>
+#
+# Substitutes variables into rules and deletes variable definition
+# statements.  Variables that expand to UnicodeSets are NOT
+# substituted.
+#
+#  -n   Afterwards, run native2ascii -encoding UTF8
+#  -nr  Afterwards, run native2ascii -encoding UTF8 -reverse
+
+$N2A = 0;
+
+$IN = shift;
+if ($IN =~ /^-n/) {
+    $N2A = 1;
+    $N2Aoption = ($IN eq '-nr') ? " -reverse " : "";
+    $IN = shift;
+}
+$OUT = shift;
+
+if (!($IN && $OUT)) {
+    die "Usage: $0 [-n|-nr] <infile> <outfile>";
+}
+
+open(IN) or die "Can't open $IN: $!";
+open(OUT, ">$OUT") or die "Can't open $OUT: $!";
+
+while (<IN>) {
+    if (/^\s*\$([a-zA-Z0-9_]+)\s*=\s*([^;\#]+)\s*;\s*(\#.*)?$/) {
+        # This looks like a variable definition
+        my ($var, $def) = ($1, $2);
+        # Don't substitute UnicodeSet vars
+        if ($def !~ /^\[/) {
+            if (exists $VAR{$var}) {
+                print STDERR "Error: Duplicate definition of $var\n";
+            } else {
+                $VAR{$var} = $def;
+            }
+            next;
+        }
+    }
+    
+    # Do variable substitutions, and output line
+    foreach my $var (keys %VAR) {
+        my $def = $VAR{$var};
+        s/\$$var\b/$def/g;
+    }
+    print OUT;
+}
+
+close(OUT);
+close(IN);
+
+if ($N2A) {
+    `native2ascii -encoding UTF8 $N2Aoption $OUT $OUT.native2ascii`;
+    unlink $OUT;
+    rename "$OUT.native2ascii", $OUT;
+}
+
+__END__
+:endofperl
diff --git a/src/com/ibm/icu/impl/BOCU.java b/src/com/ibm/icu/impl/BOCU.java
new file mode 100644
index 0000000..54b2e88
--- /dev/null
+++ b/src/com/ibm/icu/impl/BOCU.java
@@ -0,0 +1,379 @@
+/**
+*******************************************************************************
+* Copyright (C) 1996-2005, International Business Machines Corporation and    *
+* others. All Rights Reserved.                                                *
+*******************************************************************************
+*/
+package com.ibm.icu.impl;
+
+import com.ibm.icu.text.UCharacterIterator;
+
+/**
+ * <p>Binary Ordered Compression for Unicode</p>
+ * 
+ * <p>Users are strongly encouraged to read the ICU paper on 
+ * <a href="http://icu.sourceforge.net/docs/papers/binary_ordered_compression_for_unicode.html">
+ * BOCU</a> before attempting to use this class.</p>
+ * 
+ * <p>BOCU is used to compress unicode text into a stream of unsigned
+ * bytes.  For many kinds of text the compression compares favorably
+ * to UTF-8, and for some kinds of text (such as CJK) it does better.
+ * The resulting bytes will compare in the same order as the original
+ * code points.  The byte stream does not contain the values 0, 1, or
+ * 2.</p>
+ * 
+ * <p>One example of a use of BOCU is in {@link 
+ * com.ibm.icu.text.Collator#getCollationKey(String)} for a RuleBasedCollator object with 
+ * collation strength IDENTICAL. The result CollationKey will consist of the 
+ * collation order of the source string followed by the BOCU result of the 
+ * source string. 
+ * </p> 
+ *
+ * <p>Unlike a UTF encoding, BOCU-compressed text is not suitable for
+ * random access.</p>
+ * 
+ * <p>Method: Slope Detection<br> Remember the previous code point
+ * (initial 0).  For each code point in the string, encode the
+ * difference with the previous one.  Similar to a UTF, the length of
+ * the byte sequence is encoded in the lead bytes.  Unlike a UTF, the
+ * trail byte values may overlap with lead/single byte values.  The
+ * signedness of the difference must be encoded as the most
+ * significant part.</p>
+ *
+ * <p>We encode differences with few bytes if their absolute values
+ * are small.  For correct ordering, we must treat the entire value
+ * range -10ffff..+10ffff in ascending order, which forbids encoding
+ * the sign and the absolute value separately. Instead, we split the
+ * lead byte range in the middle and encode non-negative values going
+ * up and negative values going down.</p>
+ *
+ * <p>For very small absolute values, the difference is added to a
+ * middle byte value for single-byte encoded differences.  For
+ * somewhat larger absolute values, the difference is divided by the
+ * number of byte values available, the modulo is used for one trail
+ * byte, and the remainder is added to a lead byte avoiding the
+ * single-byte range.  For large absolute values, the difference is
+ * similarly encoded in three bytes. (Syn Wee, I need examples
+ * here.)</p>
+ *
+ * <p>BOCU does not use byte values 0, 1, or 2, but uses all other
+ * byte values for lead and single bytes, so that the middle range of
+ * single bytes is as large as possible.</p>
+ *
+ * <p>Note that the lead byte ranges overlap some, but that the
+ * sequences as a whole are well ordered. I.e., even if the lead byte
+ * is the same for sequences of different lengths, the trail bytes
+ * establish correct order.  It would be possible to encode slightly
+ * larger ranges for each length (>1) by subtracting the lower bound
+ * of the range. However, that would also slow down the calculation.
+ * (Syn Wee, need an example).</p>
+ *
+ * <p>For the actual string encoding, an optimization moves the
+ * previous code point value to the middle of its Unicode script block
+ * to minimize the differences in same-script text runs.  (Syn Wee,
+ * need an example.)</p>
+ *
+ * @author Syn Wee Quek
+ * @since release 2.2, May 3rd 2002
+ * @draft 2.2 
+ */
+public class BOCU 
+{      
+    // public constructors --------------------------------------------------
+    
+    // public methods -------------------------------------------------------
+        
+    /**
+     * <p>Encode the code points of a string as a sequence of bytes,
+     * preserving lexical order.</p>
+     * <p>The minimum size of buffer required for the compression can be 
+     * preflighted by getCompressionLength(String).</p>
+     * @param source text source
+     * @param buffer output buffer
+     * @param offset to start writing to
+     * @return end offset where the writing stopped
+     * @see #getCompressionLength(String)
+     * @exception ArrayIndexOutOfBoundsException thrown if size of buffer is 
+     *            too small for the output.
+     */
+    public static int compress(String source, byte buffer[], int offset) 
+    {
+        int prev = 0;
+        UCharacterIterator iterator = UCharacterIterator.getInstance(source);
+        int codepoint = iterator.nextCodePoint();
+        while (codepoint != UCharacterIterator.DONE) {
+            if (prev < 0x4e00 || prev >= 0xa000) {
+                prev = (prev & ~0x7f) - SLOPE_REACH_NEG_1_;
+            } 
+            else {
+                // Unihan U+4e00..U+9fa5:
+                // double-bytes down from the upper end
+                prev = 0x9fff - SLOPE_REACH_POS_2_;
+            }
+        
+            offset = writeDiff(codepoint - prev, buffer, offset);
+            prev = codepoint;
+            codepoint = iterator.nextCodePoint();
+        }
+        return offset;
+    }
+        
+    /** 
+     * Return the number of  bytes that compress() would write.
+     * @param source text source string
+     * @return the length of the BOCU result 
+     * @see #compress(String, byte[], int)
+     */
+    public static int getCompressionLength(String source) 
+    {
+        int prev = 0;
+        int result = 0;
+        UCharacterIterator iterator =  UCharacterIterator.getInstance(source);
+        int codepoint = iterator.nextCodePoint();
+        while (codepoint != UCharacterIterator.DONE) {
+            if (prev < 0x4e00 || prev >= 0xa000) {
+                prev = (prev & ~0x7f) - SLOPE_REACH_NEG_1_;
+            } 
+            else {
+                // Unihan U+4e00..U+9fa5:
+                // double-bytes down from the upper end
+                prev = 0x9fff - SLOPE_REACH_POS_2_;
+            }
+        
+            codepoint = iterator.nextCodePoint();
+            result += lengthOfDiff(codepoint - prev);
+            prev = codepoint;
+        }
+        return result;
+    }
+
+    // public setter methods -------------------------------------------------
+        
+    // public getter methods ------------------------------------------------
+            
+    // public other methods -------------------------------------------------
+    
+    // protected constructor ------------------------------------------------
+      
+    // protected data members ------------------------------------------------
+    
+    // protected methods -----------------------------------------------------
+ 
+    // private data members --------------------------------------------------
+    
+    /** 
+     * Do not use byte values 0, 1, 2 because they are separators in sort keys.
+     */
+    private static final int SLOPE_MIN_ = 3;
+    private static final int SLOPE_MAX_ = 0xff;
+    private static final int SLOPE_MIDDLE_ = 0x81;
+    private static final int SLOPE_TAIL_COUNT_ = SLOPE_MAX_ - SLOPE_MIN_ + 1;
+    private static final int SLOPE_MAX_BYTES_ = 4;
+
+    /**
+     * Number of lead bytes:
+     * 1        middle byte for 0
+     * 2*80=160 single bytes for !=0
+     * 2*42=84  for double-byte values
+     * 2*3=6    for 3-byte values
+     * 2*1=2    for 4-byte values
+     *
+     * The sum must be <=SLOPE_TAIL_COUNT.
+     *
+     * Why these numbers?
+     * - There should be >=128 single-byte values to cover 128-blocks
+     *   with small scripts.
+     * - There should be >=20902 single/double-byte values to cover Unihan.
+     * - It helps CJK Extension B some if there are 3-byte values that cover
+     *   the distance between them and Unihan.
+     *   This also helps to jump among distant places in the BMP.
+     * - Four-byte values are necessary to cover the rest of Unicode.
+     *
+     * Symmetrical lead byte counts are for convenience.
+     * With an equal distribution of even and odd differences there is also
+     * no advantage to asymmetrical lead byte counts.
+     */
+    private static final int SLOPE_SINGLE_ = 80;
+    private static final int SLOPE_LEAD_2_ = 42;
+    private static final int SLOPE_LEAD_3_ = 3;
+    private static final int SLOPE_LEAD_4_ = 1;
+
+    /** 
+     * The difference value range for single-byters.
+     */
+    private static final int SLOPE_REACH_POS_1_ = SLOPE_SINGLE_;
+    private static final int SLOPE_REACH_NEG_1_ = (-SLOPE_SINGLE_);
+
+    /** 
+     * The difference value range for double-byters.
+     */
+    private static final int SLOPE_REACH_POS_2_ = 
+        SLOPE_LEAD_2_ * SLOPE_TAIL_COUNT_ + SLOPE_LEAD_2_ - 1;
+    private static final int SLOPE_REACH_NEG_2_ = (-SLOPE_REACH_POS_2_ - 1);
+
+    /** 
+     * The difference value range for 3-byters.
+     */
+    private static final int SLOPE_REACH_POS_3_ = SLOPE_LEAD_3_ 
+        * SLOPE_TAIL_COUNT_ 
+        * SLOPE_TAIL_COUNT_ 
+        + (SLOPE_LEAD_3_ - 1)
+        * SLOPE_TAIL_COUNT_ +
+        (SLOPE_TAIL_COUNT_ - 1);
+    private static final int SLOPE_REACH_NEG_3_ = (-SLOPE_REACH_POS_3_ - 1);
+
+    /** 
+     * The lead byte start values.
+     */
+    private static final int SLOPE_START_POS_2_ = SLOPE_MIDDLE_ 
+        + SLOPE_SINGLE_ + 1;
+    private static final int SLOPE_START_POS_3_ = SLOPE_START_POS_2_ 
+        + SLOPE_LEAD_2_;
+    private static final int SLOPE_START_NEG_2_ = SLOPE_MIDDLE_ + 
+        SLOPE_REACH_NEG_1_;
+    private static final int SLOPE_START_NEG_3_ = SLOPE_START_NEG_2_
+        - SLOPE_LEAD_2_;
+                                                                                                        
+    // private constructor ---------------------------------------------------
+        
+    /**
+     * Constructor private to prevent initialization
+     */
+    ///CLOVER:OFF
+    private BOCU()
+    {
+    }            
+    ///CLOVER:ON                                                                                       
+    
+    // private methods -------------------------------------------------------
+    
+    /**
+     * Integer division and modulo with negative numerators
+     * yields negative modulo results and quotients that are one more than
+     * what we need here.
+     * @param number which operations are to be performed on
+     * @param factor the factor to use for division
+     * @return (result of division) << 32 | modulo 
+     */
+    private static final long getNegDivMod(int number, int factor) 
+    {
+        int modulo = number % factor; 
+        long result = number / factor;
+        if (modulo < 0) { 
+            -- result; 
+            modulo += factor; 
+        } 
+        return (result << 32) | modulo;
+    }
+        
+    /**
+     * Encode one difference value -0x10ffff..+0x10ffff in 1..3 bytes,
+     * preserving lexical order
+     * @param diff
+     * @param buffer byte buffer to append to
+     * @param offset to the byte buffer to start appending
+     * @return end offset where the appending stops
+     */
+    private static final int writeDiff(int diff, byte buffer[], int offset) 
+    {
+        if (diff >= SLOPE_REACH_NEG_1_) {
+            if (diff <= SLOPE_REACH_POS_1_) {
+                buffer[offset ++] = (byte)(SLOPE_MIDDLE_ + diff);
+            } 
+            else if (diff <= SLOPE_REACH_POS_2_) {
+                buffer[offset ++] = (byte)(SLOPE_START_POS_2_ 
+                                           + (diff / SLOPE_TAIL_COUNT_));
+                buffer[offset ++] = (byte)(SLOPE_MIN_ + 
+                                           (diff % SLOPE_TAIL_COUNT_));
+            } 
+            else if (diff <= SLOPE_REACH_POS_3_) {
+                buffer[offset + 2] = (byte)(SLOPE_MIN_ 
+                                            + (diff % SLOPE_TAIL_COUNT_));
+                diff /= SLOPE_TAIL_COUNT_;
+                buffer[offset + 1] = (byte)(SLOPE_MIN_ 
+                                            + (diff % SLOPE_TAIL_COUNT_));
+                buffer[offset] = (byte)(SLOPE_START_POS_3_ 
+                                        + (diff / SLOPE_TAIL_COUNT_));
+                offset += 3;
+            } 
+            else {
+                buffer[offset + 3] = (byte)(SLOPE_MIN_ 
+                                            + diff % SLOPE_TAIL_COUNT_);
+                diff /= SLOPE_TAIL_COUNT_;
+                buffer[offset] = (byte)(SLOPE_MIN_ 
+                                        + diff % SLOPE_TAIL_COUNT_);
+                diff /= SLOPE_TAIL_COUNT_;
+                buffer[offset + 1] = (byte)(SLOPE_MIN_ 
+                                            + diff % SLOPE_TAIL_COUNT_);
+                buffer[offset] = (byte)SLOPE_MAX_;
+                offset += 4;
+            }
+        } 
+        else {
+            long division = getNegDivMod(diff, SLOPE_TAIL_COUNT_);
+            int modulo = (int)division;
+            if (diff >= SLOPE_REACH_NEG_2_) {
+                diff = (int)(division >> 32);
+                buffer[offset ++] = (byte)(SLOPE_START_NEG_2_ + diff);
+                buffer[offset ++] = (byte)(SLOPE_MIN_ + modulo);
+            } 
+            else if (diff >= SLOPE_REACH_NEG_3_) {
+                buffer[offset + 2] = (byte)(SLOPE_MIN_ + modulo);
+                diff = (int)(division >> 32);
+                division = getNegDivMod(diff, SLOPE_TAIL_COUNT_);
+                modulo = (int)division;
+                diff = (int)(division >> 32);
+                buffer[offset + 1] = (byte)(SLOPE_MIN_ + modulo);
+                buffer[offset] = (byte)(SLOPE_START_NEG_3_ + diff);
+                offset += 3;
+            } 
+            else {
+                buffer[offset + 3] = (byte)(SLOPE_MIN_ + modulo);
+                diff = (int)(division >> 32);
+                division = getNegDivMod(diff, SLOPE_TAIL_COUNT_);
+                modulo = (int)division;
+                diff = (int)(division >> 32);
+                buffer[offset + 2] = (byte)(SLOPE_MIN_ + modulo);
+                division = getNegDivMod(diff, SLOPE_TAIL_COUNT_);
+                modulo = (int)division;
+                buffer[offset + 1] = (byte)(SLOPE_MIN_ + modulo);
+                buffer[offset] = SLOPE_MIN_;
+                offset += 4;
+            }
+        }
+        return offset;
+    }
+        
+    /**
+     * How many bytes would writeDiff() write? 
+     * @param diff
+     */
+    private static final int lengthOfDiff(int diff) 
+    {
+        if (diff >= SLOPE_REACH_NEG_1_) {
+            if (diff <= SLOPE_REACH_POS_1_) {
+                return 1;
+            } 
+            else if (diff <= SLOPE_REACH_POS_2_) {
+                return 2;
+            } 
+            else if(diff <= SLOPE_REACH_POS_3_) {
+                return 3;
+            } 
+            else {
+                return 4;
+            }
+        } 
+        else {
+            if (diff >= SLOPE_REACH_NEG_2_) {
+                return 2;
+            } 
+            else if (diff >= SLOPE_REACH_NEG_3_) {
+                return 3;
+            } 
+            else {
+                return 4;
+            }
+        }
+    }
+}
diff --git a/src/com/ibm/icu/impl/CalendarAstronomer.java b/src/com/ibm/icu/impl/CalendarAstronomer.java
new file mode 100644
index 0000000..96d0fea
--- /dev/null
+++ b/src/com/ibm/icu/impl/CalendarAstronomer.java
@@ -0,0 +1,1664 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.impl;
+
+import java.util.*;
+
+/**
+ * <code>CalendarAstronomer</code> is a class that can perform the calculations to
+ * determine the positions of the sun and moon, the time of sunrise and
+ * sunset, and other astronomy-related data.  The calculations it performs
+ * are in some cases quite complicated, and this utility class saves you
+ * the trouble of worrying about them.
+ * <p>
+ * The measurement of time is a very important part of astronomy.  Because
+ * astronomical bodies are constantly in motion, observations are only valid
+ * at a given moment in time.  Accordingly, each <code>CalendarAstronomer</code>
+ * object has a <code>time</code> property that determines the date
+ * and time for which its calculations are performed.  You can set and
+ * retrieve this property with {@link #setDate setDate}, {@link #getDate getDate}
+ * and related methods.
+ * <p>
+ * Almost all of the calculations performed by this class, or by any
+ * astronomer, are approximations to various degrees of accuracy.  The
+ * calculations in this class are mostly modelled after those described
+ * in the book
+ * <a href="http://www.amazon.com/exec/obidos/ISBN=0521356997" target="_top">
+ * Practical Astronomy With Your Calculator</a>, by Peter J.
+ * Duffett-Smith, Cambridge University Press, 1990.  This is an excellent
+ * book, and if you want a greater understanding of how these calculations
+ * are performed it a very good, readable starting point.
+ * <p>
+ * <strong>WARNING:</strong> This class is very early in its development, and
+ * it is highly likely that its API will change to some degree in the future.
+ * At the moment, it basically does just enough to support {@link com.ibm.icu.util.IslamicCalendar}
+ * and {@link com.ibm.icu.util.ChineseCalendar}.
+ *
+ * @author Laura Werner
+ * @author Alan Liu
+ * @internal
+ */
+public class CalendarAstronomer {
+    
+    //-------------------------------------------------------------------------
+    // Astronomical constants
+    //-------------------------------------------------------------------------
+
+    /**
+     * The number of standard hours in one sidereal day.
+     * Approximately 24.93.
+     * @internal
+     */
+    public static final double SIDEREAL_DAY = 23.93446960027;
+    
+    /**
+     * The number of sidereal hours in one mean solar day.
+     * Approximately 24.07.
+     * @internal
+     */
+    public static final double SOLAR_DAY =  24.065709816;
+    
+    /**
+     * The average number of solar days from one new moon to the next.  This is the time
+     * it takes for the moon to return the same ecliptic longitude as the sun.
+     * It is longer than the sidereal month because the sun's longitude increases
+     * during the year due to the revolution of the earth around the sun.
+     * Approximately 29.53.
+     *
+     * @see #SIDEREAL_MONTH
+     * @internal
+     */
+    public static final double SYNODIC_MONTH = 29.530588853;
+    
+    /**
+     * The average number of days it takes
+     * for the moon to return to the same ecliptic longitude relative to the
+     * stellar background.  This is referred to as the sidereal month.
+     * It is shorter than the synodic month due to
+     * the revolution of the earth around the sun.
+     * Approximately 27.32.
+     *
+     * @see #SYNODIC_MONTH
+     * @internal
+     */
+    public static final double SIDEREAL_MONTH = 27.32166;
+    
+    /**
+     * The average number number of days between successive vernal equinoxes.
+     * Due to the precession of the earth's
+     * axis, this is not precisely the same as the sidereal year.
+     * Approximately 365.24
+     *
+     * @see #SIDEREAL_YEAR
+     * @internal
+     */
+    public static final double TROPICAL_YEAR = 365.242191;
+    
+    /**
+     * The average number of days it takes
+     * for the sun to return to the same position against the fixed stellar
+     * background.  This is the duration of one orbit of the earth about the sun
+     * as it would appear to an outside observer.
+     * Due to the precession of the earth's
+     * axis, this is not precisely the same as the tropical year.
+     * Approximately 365.25.
+     *
+     * @see #TROPICAL_YEAR
+     * @internal
+     */
+    public static final double SIDEREAL_YEAR = 365.25636;
+
+    //-------------------------------------------------------------------------
+    // Time-related constants
+    //-------------------------------------------------------------------------
+
+    /** 
+     * The number of milliseconds in one second. 
+     * @internal
+     */
+    public static final int  SECOND_MS = 1000;
+
+    /** 
+     * The number of milliseconds in one minute. 
+     * @internal
+     */
+    public static final int  MINUTE_MS = 60*SECOND_MS;
+
+    /** 
+     * The number of milliseconds in one hour. 
+     * @internal
+     */
+    public static final int  HOUR_MS   = 60*MINUTE_MS;
+
+    /** 
+     * The number of milliseconds in one day. 
+     * @internal
+     */
+    public static final long DAY_MS    = 24*HOUR_MS;
+
+    /**
+     * The start of the julian day numbering scheme used by astronomers, which
+     * is 1/1/4713 BC (Julian), 12:00 GMT.  This is given as the number of milliseconds
+     * since 1/1/1970 AD (Gregorian), a negative number.
+     * Note that julian day numbers and
+     * the Julian calendar are <em>not</em> the same thing.  Also note that
+     * julian days start at <em>noon</em>, not midnight.
+     * @internal
+     */
+    public static final long JULIAN_EPOCH_MS = -210866760000000L;
+    
+//  static {
+//      Calendar cal = new GregorianCalendar(TimeZone.getTimeZone("GMT"));
+//      cal.clear();
+//      cal.set(cal.ERA, 0);
+//      cal.set(cal.YEAR, 4713);
+//      cal.set(cal.MONTH, cal.JANUARY);
+//      cal.set(cal.DATE, 1);
+//      cal.set(cal.HOUR_OF_DAY, 12);
+//      System.out.println("1.5 Jan 4713 BC = " + cal.getTime().getTime());
+
+//      cal.clear();
+//      cal.set(cal.YEAR, 2000);
+//      cal.set(cal.MONTH, cal.JANUARY);
+//      cal.set(cal.DATE, 1);
+//      cal.add(cal.DATE, -1);
+//      System.out.println("0.0 Jan 2000 = " + cal.getTime().getTime());
+//  }
+    
+    /**
+     * Milliseconds value for 0.0 January 2000 AD.
+     */
+    static final long EPOCH_2000_MS = 946598400000L;
+
+    //-------------------------------------------------------------------------
+    // Assorted private data used for conversions
+    //-------------------------------------------------------------------------
+
+    // My own copies of these so compilers are more likely to optimize them away
+    static private final double PI = 3.14159265358979323846;
+    static private final double PI2 = PI * 2.0;
+
+    static private final double RAD_HOUR = 12 / PI;        // radians -> hours
+    static private final double DEG_RAD  = PI / 180;        // degrees -> radians
+    static private final double RAD_DEG  = 180 / PI;        // radians -> degrees
+    
+    //-------------------------------------------------------------------------
+    // Constructors
+    //-------------------------------------------------------------------------
+
+    /**
+     * Construct a new <code>CalendarAstronomer</code> object that is initialized to
+     * the current date and time.
+     * @internal
+     */
+    public CalendarAstronomer() {
+        this(System.currentTimeMillis());
+    }
+    
+    /**
+     * Construct a new <code>CalendarAstronomer</code> object that is initialized to
+     * the specified date and time.
+     * @internal
+     */
+    public CalendarAstronomer(Date d) {
+        this(d.getTime());
+    }
+    
+    /**
+     * Construct a new <code>CalendarAstronomer</code> object that is initialized to
+     * the specified time.  The time is expressed as a number of milliseconds since
+     * January 1, 1970 AD (Gregorian).
+     *
+     * @see java.util.Date#getTime()
+     * @internal
+     */
+    public CalendarAstronomer(long aTime) {
+        time = aTime;
+    }
+    
+    /**
+     * Construct a new <code>CalendarAstronomer</code> object with the given
+     * latitude and longitude.  The object's time is set to the current
+     * date and time.
+     * <p>
+     * @param longitude The desired longitude, in <em>degrees</em> east of
+     *                  the Greenwich meridian.
+     *
+     * @param latitude  The desired latitude, in <em>degrees</em>.  Positive
+     *                  values signify North, negative South.
+     *
+     * @see java.util.Date#getTime()
+     * @internal
+     */
+    public CalendarAstronomer(double longitude, double latitude) {
+        this();
+        fLongitude = normPI(longitude * DEG_RAD);
+        fLatitude  = normPI(latitude  * DEG_RAD);
+        fGmtOffset = (long)(fLongitude * 24 * HOUR_MS / PI2);
+    }
+    
+    
+    //-------------------------------------------------------------------------
+    // Time and date getters and setters
+    //-------------------------------------------------------------------------
+    
+    /**
+     * Set the current date and time of this <code>CalendarAstronomer</code> object.  All
+     * astronomical calculations are performed based on this time setting.
+     *
+     * @param aTime the date and time, expressed as the number of milliseconds since
+     *              1/1/1970 0:00 GMT (Gregorian).
+     *
+     * @see #setDate
+     * @see #getTime
+     * @internal
+     */
+    public void setTime(long aTime) {
+        time = aTime;
+        clearCache();
+    }
+    
+    /**
+     * Set the current date and time of this <code>CalendarAstronomer</code> object.  All
+     * astronomical calculations are performed based on this time setting.
+     *
+     * @param date the time and date, expressed as a <code>Date</code> object.
+     *
+     * @see #setTime
+     * @see #getDate
+     * @internal
+     */
+    public void setDate(Date date) {
+        setTime(date.getTime());
+    }
+    
+    /**
+     * Set the current date and time of this <code>CalendarAstronomer</code> object.  All
+     * astronomical calculations are performed based on this time setting.
+     *
+     * @param jdn   the desired time, expressed as a "julian day number",
+     *              which is the number of elapsed days since 
+     *              1/1/4713 BC (Julian), 12:00 GMT.  Note that julian day
+     *              numbers start at <em>noon</em>.  To get the jdn for
+     *              the corresponding midnight, subtract 0.5.
+     *
+     * @see #getJulianDay
+     * @see #JULIAN_EPOCH_MS
+     * @internal
+     */
+    public void setJulianDay(double jdn) {
+        time = (long)(jdn * DAY_MS) + JULIAN_EPOCH_MS;
+        clearCache();
+        julianDay = jdn;
+    }
+    
+    /**
+     * Get the current time of this <code>CalendarAstronomer</code> object,
+     * represented as the number of milliseconds since
+     * 1/1/1970 AD 0:00 GMT (Gregorian).
+     *
+     * @see #setTime
+     * @see #getDate
+     * @internal
+     */
+    public long getTime() {
+        return time;
+    }
+    
+    /**
+     * Get the current time of this <code>CalendarAstronomer</code> object,
+     * represented as a <code>Date</code> object.
+     *
+     * @see #setDate
+     * @see #getTime
+     * @internal
+     */
+    public Date getDate() {
+        return new Date(time);
+    }
+    
+    /**
+     * Get the current time of this <code>CalendarAstronomer</code> object,
+     * expressed as a "julian day number", which is the number of elapsed
+     * days since 1/1/4713 BC (Julian), 12:00 GMT.
+     *
+     * @see #setJulianDay
+     * @see #JULIAN_EPOCH_MS
+     * @internal
+     */
+    public double getJulianDay() {
+        if (julianDay == INVALID) {
+            julianDay = (double)(time - JULIAN_EPOCH_MS) / (double)DAY_MS;
+        }
+        return julianDay;
+    }
+    
+    /**
+     * Return this object's time expressed in julian centuries:
+     * the number of centuries after 1/1/1900 AD, 12:00 GMT
+     *
+     * @see #getJulianDay
+     * @internal
+     */
+    public double getJulianCentury() {
+        if (julianCentury == INVALID) {
+            julianCentury = (getJulianDay() - 2415020.0) / 36525;
+        }
+        return julianCentury;
+    }
+
+    /**
+     * Returns the current Greenwich sidereal time, measured in hours
+     * @internal
+     */
+    public double getGreenwichSidereal() {
+        if (siderealTime == INVALID) {
+            // See page 86 of "Practial Astronomy with your Calculator",
+            // by Peter Duffet-Smith, for details on the algorithm.
+                
+            double UT = normalize((double)time/HOUR_MS, 24);
+        
+            siderealTime = normalize(getSiderealOffset() + UT*1.002737909, 24);
+        }
+        return siderealTime;
+    }
+    
+    private double getSiderealOffset() {
+        if (siderealT0 == INVALID) {
+            double JD  = Math.floor(getJulianDay() - 0.5) + 0.5;
+            double S   = JD - 2451545.0;
+            double T   = S / 36525.0;
+            siderealT0 = normalize(6.697374558 + 2400.051336*T + 0.000025862*T*T, 24);
+        }
+        return siderealT0;
+    }
+    
+    /**
+     * Returns the current local sidereal time, measured in hours
+     * @internal
+     */
+    public double getLocalSidereal() {
+        return normalize(getGreenwichSidereal() + (double)fGmtOffset/HOUR_MS, 24);
+    }
+    
+    /**
+     * Converts local sidereal time to Universal Time.
+     *
+     * @param lst   The Local Sidereal Time, in hours since sidereal midnight
+     *              on this object's current date.
+     *
+     * @return      The corresponding Universal Time, in milliseconds since
+     *              1 Jan 1970, GMT.  
+     */
+    private long lstToUT(double lst) {
+        // Convert to local mean time
+        double lt = normalize((lst - getSiderealOffset()) * 0.9972695663, 24);
+        
+        // Then find local midnight on this day
+        long base = DAY_MS * ((time + fGmtOffset)/DAY_MS) - fGmtOffset;
+        
+        //out("    lt  =" + lt + " hours");
+        //out("    base=" + new Date(base));
+        
+        return base + (long)(lt * HOUR_MS);
+    }
+    
+    
+    //-------------------------------------------------------------------------
+    // Coordinate transformations, all based on the current time of this object
+    //-------------------------------------------------------------------------
+
+    /**
+     * Convert from ecliptic to equatorial coordinates.
+     *
+     * @param ecliptic  A point in the sky in ecliptic coordinates.
+     * @return          The corresponding point in equatorial coordinates.
+     * @internal
+     */
+    public final Equatorial eclipticToEquatorial(Ecliptic ecliptic)
+    {
+        return eclipticToEquatorial(ecliptic.longitude, ecliptic.latitude);
+    }
+
+    /**
+     * Convert from ecliptic to equatorial coordinates.
+     *
+     * @param eclipLong     The ecliptic longitude
+     * @param eclipLat      The ecliptic latitude
+     *
+     * @return              The corresponding point in equatorial coordinates.
+     * @internal
+     */
+    public final Equatorial eclipticToEquatorial(double eclipLong, double eclipLat)
+    {
+        // See page 42 of "Practial Astronomy with your Calculator",
+        // by Peter Duffet-Smith, for details on the algorithm.
+
+        double obliq = eclipticObliquity();
+        double sinE = Math.sin(obliq);
+        double cosE = Math.cos(obliq);
+        
+        double sinL = Math.sin(eclipLong);
+        double cosL = Math.cos(eclipLong);
+        
+        double sinB = Math.sin(eclipLat);
+        double cosB = Math.cos(eclipLat);
+        double tanB = Math.tan(eclipLat);
+        
+        return new Equatorial(Math.atan2(sinL*cosE - tanB*sinE, cosL),
+                               Math.asin(sinB*cosE + cosB*sinE*sinL) );
+    }
+
+    /**
+     * Convert from ecliptic longitude to equatorial coordinates.
+     *
+     * @param eclipLong     The ecliptic longitude
+     *
+     * @return              The corresponding point in equatorial coordinates.
+     * @internal
+     */
+    public final Equatorial eclipticToEquatorial(double eclipLong)
+    {
+        return eclipticToEquatorial(eclipLong, 0);  // TODO: optimize
+    }
+
+    /**
+     * @internal
+     */
+    public Horizon eclipticToHorizon(double eclipLong)
+    {
+        Equatorial equatorial = eclipticToEquatorial(eclipLong);
+        
+        double H = getLocalSidereal()*PI/12 - equatorial.ascension;     // Hour-angle
+        
+        double sinH = Math.sin(H);
+        double cosH = Math.cos(H);
+        double sinD = Math.sin(equatorial.declination);
+        double cosD = Math.cos(equatorial.declination);
+        double sinL = Math.sin(fLatitude);
+        double cosL = Math.cos(fLatitude);
+        
+        double altitude = Math.asin(sinD*sinL + cosD*cosL*cosH);
+        double azimuth  = Math.atan2(-cosD*cosL*sinH, sinD - sinL * Math.sin(altitude));
+
+        return new Horizon(azimuth, altitude);
+    }
+
+    
+    //-------------------------------------------------------------------------
+    // The Sun
+    //-------------------------------------------------------------------------
+
+    //
+    // Parameters of the Sun's orbit as of the epoch Jan 0.0 1990
+    // Angles are in radians (after multiplying by PI/180)
+    //
+    static final double JD_EPOCH = 2447891.5; // Julian day of epoch
+
+    static final double SUN_ETA_G   = 279.403303 * PI/180; // Ecliptic longitude at epoch
+    static final double SUN_OMEGA_G = 282.768422 * PI/180; // Ecliptic longitude of perigee
+    static final double SUN_E      =   0.016713;          // Eccentricity of orbit
+    //double sunR0     =   1.495585e8;        // Semi-major axis in KM
+    //double sunTheta0 =   0.533128 * PI/180; // Angular diameter at R0
+
+    // The following three methods, which compute the sun parameters
+    // given above for an arbitrary epoch (whatever time the object is
+    // set to), make only a small difference as compared to using the
+    // above constants.  E.g., Sunset times might differ by ~12
+    // seconds.  Furthermore, the eta-g computation is befuddled by
+    // Duffet-Smith's incorrect coefficients (p.86).  I've corrected
+    // the first-order coefficient but the others may be off too - no
+    // way of knowing without consulting another source.
+
+//  /**
+//   * Return the sun's ecliptic longitude at perigee for the current time.
+//   * See Duffett-Smith, p. 86.
+//   * @return radians
+//   */
+//  private double getSunOmegaG() {
+//      double T = getJulianCentury();
+//      return (281.2208444 + (1.719175 + 0.000452778*T)*T) * DEG_RAD;
+//  }
+
+//  /**
+//   * Return the sun's ecliptic longitude for the current time.
+//   * See Duffett-Smith, p. 86.
+//   * @return radians
+//   */
+//  private double getSunEtaG() {
+//      double T = getJulianCentury();
+//      //return (279.6966778 + (36000.76892 + 0.0003025*T)*T) * DEG_RAD;
+//      //
+//      // The above line is from Duffett-Smith, and yields manifestly wrong
+//      // results.  The below constant is derived empirically to match the
+//      // constant he gives for the 1990 EPOCH.
+//      //
+//      return (279.6966778 + (-0.3262541582718024 + 0.0003025*T)*T) * DEG_RAD;
+//  }
+
+//  /**
+//   * Return the sun's eccentricity of orbit for the current time.
+//   * See Duffett-Smith, p. 86.
+//   * @return double
+//   */
+//  private double getSunE() {
+//      double T = getJulianCentury();
+//      return 0.01675104 - (0.0000418 + 0.000000126*T)*T;
+//  }
+
+    /**
+     * The longitude of the sun at the time specified by this object.
+     * The longitude is measured in radians along the ecliptic
+     * from the "first point of Aries," the point at which the ecliptic
+     * crosses the earth's equatorial plane at the vernal equinox.
+     * <p>
+     * Currently, this method uses an approximation of the two-body Kepler's
+     * equation for the earth and the sun.  It does not take into account the
+     * perturbations caused by the other planets, the moon, etc.
+     * @internal
+     */
+    public double getSunLongitude()
+    {
+        // See page 86 of "Practial Astronomy with your Calculator",
+        // by Peter Duffet-Smith, for details on the algorithm.
+        
+        if (sunLongitude == INVALID) {
+            double[] result = getSunLongitude(getJulianDay());
+            sunLongitude = result[0];
+            meanAnomalySun = result[1];
+        }
+        return sunLongitude;
+    }
+  
+    /**
+     * TODO Make this public when the entire class is package-private.
+     */
+    /*public*/ double[] getSunLongitude(double julianDay)
+    {
+        // See page 86 of "Practial Astronomy with your Calculator",
+        // by Peter Duffet-Smith, for details on the algorithm.
+        
+        double day = julianDay - JD_EPOCH;       // Days since epoch
+        
+        // Find the angular distance the sun in a fictitious
+        // circular orbit has travelled since the epoch.
+        double epochAngle = norm2PI(PI2/TROPICAL_YEAR*day);
+        
+        // The epoch wasn't at the sun's perigee; find the angular distance
+        // since perigee, which is called the "mean anomaly"
+        double meanAnomaly = norm2PI(epochAngle + SUN_ETA_G - SUN_OMEGA_G);
+        
+        // Now find the "true anomaly", e.g. the real solar longitude
+        // by solving Kepler's equation for an elliptical orbit
+        // NOTE: The 3rd ed. of the book lists omega_g and eta_g in different
+        // equations; omega_g is to be correct.
+        return new double[] {
+            norm2PI(trueAnomaly(meanAnomaly, SUN_E) + SUN_OMEGA_G),
+            meanAnomaly
+        };
+    }
+
+    /**
+     * The position of the sun at this object's current date and time,
+     * in equatorial coordinates.
+     * @internal
+     */
+    public Equatorial getSunPosition() {
+        return eclipticToEquatorial(getSunLongitude(), 0);
+    }
+    
+    private static class SolarLongitude {
+        double value;
+        SolarLongitude(double val) { value = val; }
+    }
+    
+    /**
+     * Constant representing the vernal equinox.
+     * For use with {@link #getSunTime getSunTime}. 
+     * Note: In this case, "vernal" refers to the northern hemisphere's seasons.
+     * @internal
+     */
+    public static final SolarLongitude VERNAL_EQUINOX  = new SolarLongitude(0);
+    
+    /**
+     * Constant representing the summer solstice.
+     * For use with {@link #getSunTime getSunTime}.
+     * Note: In this case, "summer" refers to the northern hemisphere's seasons.
+     * @internal
+     */
+    public static final SolarLongitude SUMMER_SOLSTICE = new SolarLongitude(PI/2);
+    
+    /**
+     * Constant representing the autumnal equinox.
+     * For use with {@link #getSunTime getSunTime}.
+     * Note: In this case, "autumn" refers to the northern hemisphere's seasons.
+     * @internal
+     */
+    public static final SolarLongitude AUTUMN_EQUINOX  = new SolarLongitude(PI);
+    
+    /**
+     * Constant representing the winter solstice.
+     * For use with {@link #getSunTime getSunTime}.
+     * Note: In this case, "winter" refers to the northern hemisphere's seasons.
+     * @internal
+     */
+    public static final SolarLongitude WINTER_SOLSTICE = new SolarLongitude((PI*3)/2);
+    
+    /**
+     * Find the next time at which the sun's ecliptic longitude will have
+     * the desired value.  
+     * @internal
+     */
+    public long getSunTime(double desired, boolean next)
+    {
+        return timeOfAngle( new AngleFunc() { public double eval() { return getSunLongitude(); } },
+                            desired,
+                            TROPICAL_YEAR,
+                            MINUTE_MS,
+                            next);
+    }
+    
+    /**
+     * Find the next time at which the sun's ecliptic longitude will have
+     * the desired value.  
+     * @internal
+     */
+    public long getSunTime(SolarLongitude desired, boolean next) {
+        return getSunTime(desired.value, next);
+    }
+    
+    /**
+     * Returns the time (GMT) of sunrise or sunset on the local date to which
+     * this calendar is currently set.
+     *
+     * NOTE: This method only works well if this object is set to a
+     * time near local noon.  Because of variations between the local
+     * official time zone and the geographic longitude, the
+     * computation can flop over into an adjacent day if this object
+     * is set to a time near local midnight.
+     * 
+     * @internal
+     */
+    public long getSunRiseSet(boolean rise)
+    {
+        long t0 = time;
+
+        // Make a rough guess: 6am or 6pm local time on the current day
+        long noon = ((time + fGmtOffset)/DAY_MS)*DAY_MS - fGmtOffset + 12*HOUR_MS;
+        
+        setTime(noon + (long)((rise ? -6 : 6) * HOUR_MS));
+        
+        long t = riseOrSet(new CoordFunc() {
+                            public Equatorial eval() { return getSunPosition(); }
+                         },
+                         rise,
+                         .533 * DEG_RAD,        // Angular Diameter
+                         34 /60.0 * DEG_RAD,    // Refraction correction
+                         MINUTE_MS / 12);       // Desired accuracy
+
+        setTime(t0);
+        return t;
+    }
+
+// Commented out - currently unused. ICU 2.6, Alan
+//    //-------------------------------------------------------------------------
+//    // Alternate Sun Rise/Set
+//    // See Duffett-Smith p.93
+//    //-------------------------------------------------------------------------
+//
+//    // This yields worse results (as compared to USNO data) than getSunRiseSet().
+//    /**
+//     * TODO Make this public when the entire class is package-private.
+//     */
+//    /*public*/ long getSunRiseSet2(boolean rise) {
+//        // 1. Calculate coordinates of the sun's center for midnight
+//        double jd = Math.floor(getJulianDay() - 0.5) + 0.5;
+//        double[] sl = getSunLongitude(jd);
+//        double lambda1 = sl[0];
+//        Equatorial pos1 = eclipticToEquatorial(lambda1, 0);
+//
+//        // 2. Add ... to lambda to get position 24 hours later
+//        double lambda2 = lambda1 + 0.985647*DEG_RAD;
+//        Equatorial pos2 = eclipticToEquatorial(lambda2, 0);
+//
+//        // 3. Calculate LSTs of rising and setting for these two positions
+//        double tanL = Math.tan(fLatitude);
+//        double H = Math.acos(-tanL * Math.tan(pos1.declination));
+//        double lst1r = (PI2 + pos1.ascension - H) * 24 / PI2;
+//        double lst1s = (pos1.ascension + H) * 24 / PI2;
+//               H = Math.acos(-tanL * Math.tan(pos2.declination));
+//        double lst2r = (PI2-H + pos2.ascension ) * 24 / PI2;
+//        double lst2s = (H + pos2.ascension ) * 24 / PI2;
+//        if (lst1r > 24) lst1r -= 24;
+//        if (lst1s > 24) lst1s -= 24;
+//        if (lst2r > 24) lst2r -= 24;
+//        if (lst2s > 24) lst2s -= 24;
+//        
+//        // 4. Convert LSTs to GSTs.  If GST1 > GST2, add 24 to GST2.
+//        double gst1r = lstToGst(lst1r);
+//        double gst1s = lstToGst(lst1s);
+//        double gst2r = lstToGst(lst2r);
+//        double gst2s = lstToGst(lst2s);
+//        if (gst1r > gst2r) gst2r += 24;
+//        if (gst1s > gst2s) gst2s += 24;
+//
+//        // 5. Calculate GST at 0h UT of this date
+//        double t00 = utToGst(0);
+//        
+//        // 6. Calculate GST at 0h on the observer's longitude
+//        double offset = Math.round(fLongitude*12/PI); // p.95 step 6; he _rounds_ to nearest 15 deg.
+//        double t00p = t00 - offset*1.002737909;
+//        if (t00p < 0) t00p += 24; // do NOT normalize
+//        
+//        // 7. Adjust
+//        if (gst1r < t00p) {
+//            gst1r += 24;
+//            gst2r += 24;
+//        }
+//        if (gst1s < t00p) {
+//            gst1s += 24;
+//            gst2s += 24;
+//        }
+//
+//        // 8.
+//        double gstr = (24.07*gst1r-t00*(gst2r-gst1r))/(24.07+gst1r-gst2r);
+//        double gsts = (24.07*gst1s-t00*(gst2s-gst1s))/(24.07+gst1s-gst2s);
+//
+//        // 9. Correct for parallax, refraction, and sun's diameter
+//        double dec = (pos1.declination + pos2.declination) / 2;
+//        double psi = Math.acos(Math.sin(fLatitude) / Math.cos(dec));
+//        double x = 0.830725 * DEG_RAD; // parallax+refraction+diameter
+//        double y = Math.asin(Math.sin(x) / Math.sin(psi)) * RAD_DEG;
+//        double delta_t = 240 * y / Math.cos(dec) / 3600; // hours
+//
+//        // 10. Add correction to GSTs, subtract from GSTr
+//        gstr -= delta_t;
+//        gsts += delta_t;
+//
+//        // 11. Convert GST to UT and then to local civil time
+//        double ut = gstToUt(rise ? gstr : gsts);
+//        //System.out.println((rise?"rise=":"set=") + ut + ", delta_t=" + delta_t);
+//        long midnight = DAY_MS * (time / DAY_MS); // Find UT midnight on this day
+//        return midnight + (long) (ut * 3600000);
+//    }
+
+// Commented out - currently unused. ICU 2.6, Alan
+//    /**
+//     * Convert local sidereal time to Greenwich sidereal time.
+//     * Section 15.  Duffett-Smith p.21
+//     * @param lst in hours (0..24)
+//     * @return GST in hours (0..24)
+//     */
+//    double lstToGst(double lst) {
+//        double delta = fLongitude * 24 / PI2;
+//        return normalize(lst - delta, 24);
+//    }
+ 
+// Commented out - currently unused. ICU 2.6, Alan
+//    /**
+//     * Convert UT to GST on this date.
+//     * Section 12.  Duffett-Smith p.17
+//     * @param ut in hours
+//     * @return GST in hours
+//     */
+//    double utToGst(double ut) {
+//        return normalize(getT0() + ut*1.002737909, 24);
+//    }
+
+// Commented out - currently unused. ICU 2.6, Alan
+//    /**
+//     * Convert GST to UT on this date.
+//     * Section 13.  Duffett-Smith p.18
+//     * @param gst in hours
+//     * @return UT in hours
+//     */
+//    double gstToUt(double gst) {
+//        return normalize(gst - getT0(), 24) * 0.9972695663;
+//    }
+
+// Commented out - currently unused. ICU 2.6, Alan
+//    double getT0() {
+//        // Common computation for UT <=> GST
+//
+//        // Find JD for 0h UT
+//        double jd = Math.floor(getJulianDay() - 0.5) + 0.5;
+//
+//        double s = jd - 2451545.0;
+//        double t = s / 36525.0;
+//        double t0 = 6.697374558 + (2400.051336 + 0.000025862*t)*t;
+//        return t0;
+//    }
+
+// Commented out - currently unused. ICU 2.6, Alan
+//    //-------------------------------------------------------------------------
+//    // Alternate Sun Rise/Set
+//    // See sci.astro FAQ
+//    // http://www.faqs.org/faqs/astronomy/faq/part3/section-5.html
+//    //-------------------------------------------------------------------------
+//
+//    // Note: This method appears to produce inferior accuracy as
+//    // compared to getSunRiseSet(). 
+//
+//    /**
+//     * TODO Make this public when the entire class is package-private.
+//     */
+//    /*public*/ long getSunRiseSet3(boolean rise) {
+//
+//        // Compute day number for 0.0 Jan 2000 epoch
+//        double d = (double)(time - EPOCH_2000_MS) / DAY_MS;
+//
+//        // Now compute the Local Sidereal Time, LST:
+//        // 
+//        double LST  =  98.9818  +  0.985647352 * d  +  /*UT*15  +  long*/
+//            fLongitude*RAD_DEG;
+//        // 
+//        // (east long. positive).  Note that LST is here expressed in degrees,
+//        // where 15 degrees corresponds to one hour.  Since LST really is an angle,
+//        // it's convenient to use one unit---degrees---throughout.
+//
+//        //     COMPUTING THE SUN'S POSITION
+//        //     ----------------------------
+//        // 
+//        // To be able to compute the Sun's rise/set times, you need to be able to
+//        // compute the Sun's position at any time.  First compute the "day
+//        // number" d as outlined above, for the desired moment.  Next compute:
+//        // 
+//        double oblecl = 23.4393 - 3.563E-7 * d;
+//        // 
+//        double w  =  282.9404  +  4.70935E-5   * d;
+//        double M  =  356.0470  +  0.9856002585 * d;
+//        double e  =  0.016709  -  1.151E-9     * d;
+//        // 
+//        // This is the obliquity of the ecliptic, plus some of the elements of
+//        // the Sun's apparent orbit (i.e., really the Earth's orbit): w =
+//        // argument of perihelion, M = mean anomaly, e = eccentricity.
+//        // Semi-major axis is here assumed to be exactly 1.0 (while not strictly
+//        // true, this is still an accurate approximation).  Next compute E, the
+//        // eccentric anomaly:
+//        // 
+//        double E = M + e*(180/PI) * Math.sin(M*DEG_RAD) * ( 1.0 + e*Math.cos(M*DEG_RAD) );
+//        // 
+//        // where E and M are in degrees.  This is it---no further iterations are
+//        // needed because we know e has a sufficiently small value.  Next compute
+//        // the true anomaly, v, and the distance, r:
+//        // 
+//        /*      r * cos(v)  =  */ double A  =  Math.cos(E*DEG_RAD) - e;
+//        /*      r * sin(v)  =  */ double B  =  Math.sqrt(1 - e*e) * Math.sin(E*DEG_RAD);
+//        // 
+//        // and
+//        // 
+//        //      r  =  sqrt( A*A + B*B )
+//        double v  =  Math.atan2( B, A )*RAD_DEG;
+//        // 
+//        // The Sun's true longitude, slon, can now be computed:
+//        // 
+//        double slon  =  v + w;
+//        // 
+//        // Since the Sun is always at the ecliptic (or at least very very close to
+//        // it), we can use simplified formulae to convert slon (the Sun's ecliptic
+//        // longitude) to sRA and sDec (the Sun's RA and Dec):
+//        // 
+//        //                   sin(slon) * cos(oblecl)
+//        //     tan(sRA)  =  -------------------------
+//        //             cos(slon)
+//        // 
+//        //     sin(sDec) =  sin(oblecl) * sin(slon)
+//        // 
+//        // As was the case when computing az, the Azimuth, if possible use an
+//        // atan2() function to compute sRA.
+//
+//        double sRA = Math.atan2(Math.sin(slon*DEG_RAD) * Math.cos(oblecl*DEG_RAD), Math.cos(slon*DEG_RAD))*RAD_DEG;
+//
+//        double sin_sDec = Math.sin(oblecl*DEG_RAD) * Math.sin(slon*DEG_RAD);
+//        double sDec = Math.asin(sin_sDec)*RAD_DEG;
+//
+//        //     COMPUTING RISE AND SET TIMES
+//        //     ----------------------------
+//        // 
+//        // To compute when an object rises or sets, you must compute when it
+//        // passes the meridian and the HA of rise/set.  Then the rise time is
+//        // the meridian time minus HA for rise/set, and the set time is the
+//        // meridian time plus the HA for rise/set.
+//        // 
+//        // To find the meridian time, compute the Local Sidereal Time at 0h local
+//        // time (or 0h UT if you prefer to work in UT) as outlined above---name
+//        // that quantity LST0.  The Meridian Time, MT, will now be:
+//        // 
+//        //     MT  =  RA - LST0
+//        double MT = normalize(sRA - LST, 360);
+//        // 
+//        // where "RA" is the object's Right Ascension (in degrees!).  If negative,
+//        // add 360 deg to MT.  If the object is the Sun, leave the time as it is,
+//        // but if it's stellar, multiply MT by 365.2422/366.2422, to convert from
+//        // sidereal to solar time.  Now, compute HA for rise/set, name that
+//        // quantity HA0:
+//        // 
+//        //                 sin(h0)  -  sin(lat) * sin(Dec)
+//        // cos(HA0)  =  ---------------------------------
+//        //                      cos(lat) * cos(Dec)
+//        // 
+//        // where h0 is the altitude selected to represent rise/set.  For a purely
+//        // mathematical horizon, set h0 = 0 and simplify to:
+//        // 
+//        //     cos(HA0)  =  - tan(lat) * tan(Dec)
+//        // 
+//        // If you want to account for refraction on the atmosphere, set h0 = -35/60
+//        // degrees (-35 arc minutes), and if you want to compute the rise/set times
+//        // for the Sun's upper limb, set h0 = -50/60 (-50 arc minutes).
+//        // 
+//        double h0 = -50/60 * DEG_RAD;
+//
+//        double HA0 = Math.acos(
+//          (Math.sin(h0) - Math.sin(fLatitude) * sin_sDec) /
+//          (Math.cos(fLatitude) * Math.cos(sDec*DEG_RAD)))*RAD_DEG;
+//
+//        // When HA0 has been computed, leave it as it is for the Sun but multiply
+//        // by 365.2422/366.2422 for stellar objects, to convert from sidereal to
+//        // solar time.  Finally compute:
+//        // 
+//        //    Rise time  =  MT - HA0
+//        //    Set  time  =  MT + HA0
+//        // 
+//        // convert the times from degrees to hours by dividing by 15.
+//        // 
+//        // If you'd like to check that your calculations are accurate or just
+//        // need a quick result, check the USNO's Sun or Moon Rise/Set Table,
+//        // <URL:http://aa.usno.navy.mil/AA/data/docs/RS_OneYear.html>.
+//
+//        double result = MT + (rise ? -HA0 : HA0); // in degrees
+//
+//        // Find UT midnight on this day
+//        long midnight = DAY_MS * (time / DAY_MS);
+//
+//        return midnight + (long) (result * 3600000 / 15);
+//    }
+
+    //-------------------------------------------------------------------------
+    // The Moon
+    //-------------------------------------------------------------------------
+    
+    static final double moonL0 = 318.351648 * PI/180;   // Mean long. at epoch
+    static final double moonP0 =  36.340410 * PI/180;   // Mean long. of perigee
+    static final double moonN0 = 318.510107 * PI/180;   // Mean long. of node
+    static final double moonI  =   5.145366 * PI/180;   // Inclination of orbit
+    static final double moonE  =   0.054900;            // Eccentricity of orbit
+    
+    // These aren't used right now
+    static final double moonA  =   3.84401e5;           // semi-major axis (km)
+    static final double moonT0 =   0.5181 * PI/180;     // Angular size at distance A
+    static final double moonPi =   0.9507 * PI/180;     // Parallax at distance A
+    
+    /**
+     * The position of the moon at the time set on this
+     * object, in equatorial coordinates.
+     * @internal
+     */
+    public Equatorial getMoonPosition()
+    {
+        //
+        // See page 142 of "Practial Astronomy with your Calculator",
+        // by Peter Duffet-Smith, for details on the algorithm.
+        //
+        if (moonPosition == null) {
+            // Calculate the solar longitude.  Has the side effect of
+            // filling in "meanAnomalySun" as well.
+            double sunLongitude = getSunLongitude();
+            
+            //
+            // Find the # of days since the epoch of our orbital parameters.
+            // TODO: Convert the time of day portion into ephemeris time
+            //
+            double day = getJulianDay() - JD_EPOCH;       // Days since epoch
+            
+            // Calculate the mean longitude and anomaly of the moon, based on
+            // a circular orbit.  Similar to the corresponding solar calculation.
+            double meanLongitude = norm2PI(13.1763966*PI/180*day + moonL0);
+            double meanAnomalyMoon = norm2PI(meanLongitude - 0.1114041*PI/180 * day - moonP0);
+            
+            //
+            // Calculate the following corrections:
+            //  Evection:   the sun's gravity affects the moon's eccentricity
+            //  Annual Eqn: variation in the effect due to earth-sun distance
+            //  A3:         correction factor (for ???)
+            //
+            double evection = 1.2739*PI/180 * Math.sin(2 * (meanLongitude - sunLongitude)
+                                                - meanAnomalyMoon);
+            double annual   = 0.1858*PI/180 * Math.sin(meanAnomalySun);
+            double a3       = 0.3700*PI/180 * Math.sin(meanAnomalySun);
+
+            meanAnomalyMoon += evection - annual - a3;
+            
+            //
+            // More correction factors:
+            //  center  equation of the center correction
+            //  a4      yet another error correction (???)
+            //
+            // TODO: Skip the equation of the center correction and solve Kepler's eqn?
+            //
+            double center = 6.2886*PI/180 * Math.sin(meanAnomalyMoon);
+            double a4 =     0.2140*PI/180 * Math.sin(2 * meanAnomalyMoon);
+            
+            // Now find the moon's corrected longitude
+            moonLongitude = meanLongitude + evection + center - annual + a4;
+
+            //
+            // And finally, find the variation, caused by the fact that the sun's
+            // gravitational pull on the moon varies depending on which side of
+            // the earth the moon is on
+            //
+            double variation = 0.6583*PI/180 * Math.sin(2*(moonLongitude - sunLongitude));
+            
+            moonLongitude += variation;
+            
+            //
+            // What we've calculated so far is the moon's longitude in the plane
+            // of its own orbit.  Now map to the ecliptic to get the latitude
+            // and longitude.  First we need to find the longitude of the ascending
+            // node, the position on the ecliptic where it is crossed by the moon's
+            // orbit as it crosses from the southern to the northern hemisphere.
+            //
+            double nodeLongitude = norm2PI(moonN0 - 0.0529539*PI/180 * day);
+
+            nodeLongitude -= 0.16*PI/180 * Math.sin(meanAnomalySun);
+
+            double y = Math.sin(moonLongitude - nodeLongitude);
+            double x = Math.cos(moonLongitude - nodeLongitude);
+            
+            moonEclipLong = Math.atan2(y*Math.cos(moonI), x) + nodeLongitude;
+            double moonEclipLat = Math.asin(y * Math.sin(moonI));
+
+            moonPosition = eclipticToEquatorial(moonEclipLong, moonEclipLat);
+        }
+        return moonPosition;
+    }
+    
+    /**
+     * The "age" of the moon at the time specified in this object.
+     * This is really the angle between the
+     * current ecliptic longitudes of the sun and the moon,
+     * measured in radians.
+     *
+     * @see #getMoonPhase
+     * @internal
+     */
+    public double getMoonAge() {
+        // See page 147 of "Practial Astronomy with your Calculator",
+        // by Peter Duffet-Smith, for details on the algorithm.
+        //
+        // Force the moon's position to be calculated.  We're going to use
+        // some the intermediate results cached during that calculation.
+        //
+        getMoonPosition();
+        
+        return norm2PI(moonEclipLong - sunLongitude);
+    }
+    
+    /**
+     * Calculate the phase of the moon at the time set in this object.
+     * The returned phase is a <code>double</code> in the range
+     * <code>0 <= phase < 1</code>, interpreted as follows:
+     * <ul>
+     * <li>0.00: New moon
+     * <li>0.25: First quarter
+     * <li>0.50: Full moon
+     * <li>0.75: Last quarter
+     * </ul>
+     *
+     * @see #getMoonAge
+     * @internal
+     */
+    public double getMoonPhase() {
+        // See page 147 of "Practial Astronomy with your Calculator",
+        // by Peter Duffet-Smith, for details on the algorithm.
+        return 0.5 * (1 - Math.cos(getMoonAge()));
+    }
+    
+    private static class MoonAge {
+        double value;
+        MoonAge(double val) { value = val; }
+    }
+    
+    /**
+     * Constant representing a new moon.
+     * For use with {@link #getMoonTime getMoonTime}
+     * @internal
+     */
+    public static final MoonAge NEW_MOON      = new MoonAge(0);
+
+    /**
+     * Constant representing the moon's first quarter.
+     * For use with {@link #getMoonTime getMoonTime}
+     * @internal
+     */
+    public static final MoonAge FIRST_QUARTER = new MoonAge(PI/2);
+    
+    /**
+     * Constant representing a full moon.
+     * For use with {@link #getMoonTime getMoonTime}
+     * @internal
+     */
+    public static final MoonAge FULL_MOON     = new MoonAge(PI);
+    
+    /**
+     * Constant representing the moon's last quarter.
+     * For use with {@link #getMoonTime getMoonTime}
+     * @internal
+     */
+    public static final MoonAge LAST_QUARTER  = new MoonAge((PI*3)/2);
+    
+    /**
+     * Find the next or previous time at which the Moon's ecliptic
+     * longitude will have the desired value.  
+     * <p>
+     * @param desired   The desired longitude.
+     * @param next      <tt>true</tt> if the next occurrance of the phase
+     *                  is desired, <tt>false</tt> for the previous occurrance. 
+     * @internal
+     */
+    public long getMoonTime(double desired, boolean next)
+    {
+        return timeOfAngle( new AngleFunc() {
+                            public double eval() { return getMoonAge(); } },
+                            desired,
+                            SYNODIC_MONTH,
+                            MINUTE_MS,
+                            next);
+    }
+    
+    /**
+     * Find the next or previous time at which the moon will be in the
+     * desired phase.
+     * <p>
+     * @param desired   The desired phase of the moon.
+     * @param next      <tt>true</tt> if the next occurrance of the phase
+     *                  is desired, <tt>false</tt> for the previous occurrance. 
+     * @internal
+     */
+    public long getMoonTime(MoonAge desired, boolean next) {
+        return getMoonTime(desired.value, next);
+    }
+    
+    /**
+     * Returns the time (GMT) of sunrise or sunset on the local date to which
+     * this calendar is currently set.
+     * @internal
+     */
+    public long getMoonRiseSet(boolean rise)
+    {
+        return riseOrSet(new CoordFunc() {
+                            public Equatorial eval() { return getMoonPosition(); }
+                         },
+                         rise,
+                         .533 * DEG_RAD,        // Angular Diameter
+                         34 /60.0 * DEG_RAD,    // Refraction correction
+                         MINUTE_MS);            // Desired accuracy
+    }
+
+    //-------------------------------------------------------------------------
+    // Interpolation methods for finding the time at which a given event occurs
+    //-------------------------------------------------------------------------
+    
+    private interface AngleFunc {
+        public double eval();
+    };
+    
+    private long timeOfAngle(AngleFunc func, double desired,
+                             double periodDays, long epsilon, boolean next)
+    {
+        // Find the value of the function at the current time
+        double lastAngle = func.eval();
+        
+        // Find out how far we are from the desired angle
+        double deltaAngle = norm2PI(desired - lastAngle) ;
+        
+        // Using the average period, estimate the next (or previous) time at
+        // which the desired angle occurs.
+        double deltaT =  (deltaAngle + (next ? 0 : -PI2)) * (periodDays*DAY_MS) / PI2;
+        
+        double lastDeltaT = deltaT; // Liu
+        long startTime = time; // Liu
+        
+        setTime(time + (long)deltaT);
+
+        // Now iterate until we get the error below epsilon.  Throughout
+        // this loop we use normPI to get values in the range -Pi to Pi,
+        // since we're using them as correction factors rather than absolute angles.
+        do {
+            // Evaluate the function at the time we've estimated
+            double angle = func.eval();
+
+            // Find the # of milliseconds per radian at this point on the curve
+            double factor = Math.abs(deltaT / normPI(angle-lastAngle));
+
+            // Correct the time estimate based on how far off the angle is
+            deltaT = normPI(desired - angle) * factor;
+            
+            // HACK:
+            // 
+            // If abs(deltaT) begins to diverge we need to quit this loop.
+            // This only appears to happen when attempting to locate, for
+            // example, a new moon on the day of the new moon.  E.g.:
+            // 
+            // This result is correct:
+            // newMoon(7508(Mon Jul 23 00:00:00 CST 1990,false))=
+            //   Sun Jul 22 10:57:41 CST 1990
+            // 
+            // But attempting to make the same call a day earlier causes deltaT
+            // to diverge:
+            // CalendarAstronomer.timeOfAngle() diverging: 1.348508727575625E9 ->
+            //   1.3649828540224032E9
+            // newMoon(7507(Sun Jul 22 00:00:00 CST 1990,false))=
+            //   Sun Jul 08 13:56:15 CST 1990
+            //
+            // As a temporary solution, we catch this specific condition and
+            // adjust our start time by one eighth period days (either forward
+            // or backward) and try again.
+            // Liu 11/9/00
+            if (Math.abs(deltaT) > Math.abs(lastDeltaT)) {
+                long delta = (long) (periodDays * DAY_MS / 8);
+                setTime(startTime + (next ? delta : -delta));
+                return timeOfAngle(func, desired, periodDays, epsilon, next);
+            }
+
+            lastDeltaT = deltaT;
+            lastAngle = angle;
+
+            setTime(time + (long)deltaT);
+        }
+        while (Math.abs(deltaT) > epsilon);
+        
+        return time;
+    }
+    
+    private interface CoordFunc {
+        public Equatorial eval();
+    };
+    
+    private long riseOrSet(CoordFunc func, boolean rise,
+                           double diameter, double refraction, 
+                           long epsilon)
+    {        
+        Equatorial  pos = null;
+        double      tanL   = Math.tan(fLatitude);
+        long        deltaT = Long.MAX_VALUE;
+        int         count = 0;
+        
+        //
+        // Calculate the object's position at the current time, then use that
+        // position to calculate the time of rising or setting.  The position
+        // will be different at that time, so iterate until the error is allowable.
+        //
+        do {
+            // See "Practical Astronomy With Your Calculator, section 33.
+            pos = func.eval();
+            double angle = Math.acos(-tanL * Math.tan(pos.declination));
+            double lst = ((rise ? PI2-angle : angle) + pos.ascension ) * 24 / PI2;
+                         
+            // Convert from LST to Universal Time.
+            long newTime = lstToUT( lst );
+            
+            deltaT = newTime - time;
+            setTime(newTime);
+        }
+        while (++ count < 5 && Math.abs(deltaT) > epsilon);
+
+        // Calculate the correction due to refraction and the object's angular diameter
+        double cosD  = Math.cos(pos.declination);
+        double psi   = Math.acos(Math.sin(fLatitude) / cosD);
+        double x     = diameter / 2 + refraction;
+        double y     = Math.asin(Math.sin(x) / Math.sin(psi));
+        long  delta  = (long)((240 * y * RAD_DEG / cosD)*SECOND_MS);
+        
+        return time + (rise ? -delta : delta);
+    }
+    
+    //-------------------------------------------------------------------------
+    // Other utility methods
+    //-------------------------------------------------------------------------
+
+    /***
+     * Given 'value', add or subtract 'range' until 0 <= 'value' < range.
+     * The modulus operator.
+     */
+    private static final double normalize(double value, double range) {
+        return value - range * Math.floor(value / range);
+    }
+    
+    /**
+     * Normalize an angle so that it's in the range 0 - 2pi.
+     * For positive angles this is just (angle % 2pi), but the Java
+     * mod operator doesn't work that way for negative numbers....
+     */
+    private static final double norm2PI(double angle) {
+        return normalize(angle, PI2);
+    }
+    
+    /**
+     * Normalize an angle into the range -PI - PI
+     */
+    private static final double normPI(double angle) {
+        return normalize(angle + PI, PI2) - PI;
+    }
+    
+    /**
+     * Find the "true anomaly" (longitude) of an object from
+     * its mean anomaly and the eccentricity of its orbit.  This uses
+     * an iterative solution to Kepler's equation.
+     *
+     * @param meanAnomaly   The object's longitude calculated as if it were in
+     *                      a regular, circular orbit, measured in radians
+     *                      from the point of perigee.  
+     *
+     * @param eccentricity  The eccentricity of the orbit
+     *
+     * @return The true anomaly (longitude) measured in radians
+     */
+    private double trueAnomaly(double meanAnomaly, double eccentricity)
+    {
+        // First, solve Kepler's equation iteratively
+        // Duffett-Smith, p.90
+        double delta;
+        double E = meanAnomaly;
+        do {
+            delta = E - eccentricity * Math.sin(E) - meanAnomaly;
+            E = E - delta / (1 - eccentricity * Math.cos(E));
+        } 
+        while (Math.abs(delta) > 1e-5); // epsilon = 1e-5 rad
+
+        return 2.0 * Math.atan( Math.tan(E/2) * Math.sqrt( (1+eccentricity)
+                                                          /(1-eccentricity) ) );
+    }
+    
+    /**
+     * Return the obliquity of the ecliptic (the angle between the ecliptic
+     * and the earth's equator) at the current time.  This varies due to
+     * the precession of the earth's axis.
+     *
+     * @return  the obliquity of the ecliptic relative to the equator,
+     *          measured in radians.
+     */
+    private double eclipticObliquity() {
+        if (eclipObliquity == INVALID) {
+            final double epoch = 2451545.0;     // 2000 AD, January 1.5
+
+            double T = (getJulianDay() - epoch) / 36525;
+            
+            eclipObliquity = 23.439292
+                           - 46.815/3600 * T
+                           - 0.0006/3600 * T*T
+                           + 0.00181/3600 * T*T*T;
+                           
+            eclipObliquity *= DEG_RAD;
+        }
+        return eclipObliquity;
+    }
+    
+     
+    //-------------------------------------------------------------------------
+    // Private data
+    //-------------------------------------------------------------------------
+    
+    /**
+     * Current time in milliseconds since 1/1/1970 AD
+     * @see java.util.Date#getTime
+     */
+    private long time;
+    
+    /* These aren't used yet, but they'll be needed for sunset calculations
+     * and equatorial to horizon coordinate conversions
+     */
+    private double fLongitude = 0.0;
+    private double fLatitude  = 0.0;
+    private long   fGmtOffset = 0;
+    
+    //
+    // The following fields are used to cache calculated results for improved
+    // performance.  These values all depend on the current time setting
+    // of this object, so the clearCache method is provided.
+    //
+    static final private double INVALID = Double.MIN_VALUE;
+    
+    private transient double    julianDay       = INVALID;
+    private transient double    julianCentury   = INVALID;
+    private transient double    sunLongitude    = INVALID;
+    private transient double    meanAnomalySun  = INVALID;
+    private transient double    moonLongitude   = INVALID;
+    private transient double    moonEclipLong   = INVALID;
+    private transient double    meanAnomalyMoon = INVALID;
+    private transient double    eclipObliquity  = INVALID;
+    private transient double    siderealT0      = INVALID;
+    private transient double    siderealTime    = INVALID;
+    
+    private transient Equatorial  moonPosition = null;
+
+    private void clearCache() {
+        julianDay       = INVALID;
+        julianCentury   = INVALID;
+        sunLongitude    = INVALID;
+        meanAnomalySun  = INVALID;
+        moonLongitude   = INVALID;
+        moonEclipLong   = INVALID;
+        meanAnomalyMoon = INVALID;
+        eclipObliquity  = INVALID;
+        siderealTime    = INVALID;
+        siderealT0      = INVALID;
+        moonPosition    = null;
+    }
+    
+    //private static void out(String s) {
+    //    System.out.println(s);
+    //}
+    
+    //private static String deg(double rad) {
+    //    return Double.toString(rad * RAD_DEG);
+    //}
+    
+    //private static String hours(long ms) {
+    //    return Double.toString((double)ms / HOUR_MS) + " hours";
+    //}
+
+    /**
+     * @internal
+     */
+    public String local(long localMillis) {
+        return new Date(localMillis - TimeZone.getDefault().getRawOffset()).toString();
+    }
+    
+    
+    /**
+     * Represents the position of an object in the sky relative to the ecliptic,
+     * the plane of the earth's orbit around the Sun. 
+     * This is a spherical coordinate system in which the latitude
+     * specifies the position north or south of the plane of the ecliptic.
+     * The longitude specifies the position along the ecliptic plane
+     * relative to the "First Point of Aries", which is the Sun's position in the sky
+     * at the Vernal Equinox.
+     * <p>
+     * Note that Ecliptic objects are immutable and cannot be modified
+     * once they are constructed.  This allows them to be passed and returned by
+     * value without worrying about whether other code will modify them.
+     *
+     * @see CalendarAstronomer.Equatorial
+     * @see CalendarAstronomer.Horizon
+     * @internal
+     */
+    public static final class Ecliptic {
+        /**
+         * Constructs an Ecliptic coordinate object.
+         * <p>
+         * @param lat The ecliptic latitude, measured in radians.
+         * @param lon The ecliptic longitude, measured in radians.
+         * @internal
+         */
+        public Ecliptic(double lat, double lon) {
+            latitude = lat;
+            longitude = lon;
+        }
+
+        /**
+         * Return a string representation of this object
+         * @internal
+         */
+        public String toString() {
+            return Double.toString(longitude*RAD_DEG) + "," + (latitude*RAD_DEG);
+        }
+        
+        /**
+         * The ecliptic latitude, in radians.  This specifies an object's
+         * position north or south of the plane of the ecliptic,
+         * with positive angles representing north.
+         * @internal
+         */
+        public final double latitude;
+        
+        /**
+         * The ecliptic longitude, in radians.
+         * This specifies an object's position along the ecliptic plane
+         * relative to the "First Point of Aries", which is the Sun's position
+         * in the sky at the Vernal Equinox,
+         * with positive angles representing east.
+         * <p>
+         * A bit of trivia: the first point of Aries is currently in the
+         * constellation Pisces, due to the precession of the earth's axis.
+         * @internal
+         */
+        public final double longitude;
+    };
+
+    /**
+     * Represents the position of an 
+     * object in the sky relative to the plane of the earth's equator. 
+     * The <i>Right Ascension</i> specifies the position east or west
+     * along the equator, relative to the sun's position at the vernal
+     * equinox.  The <i>Declination</i> is the position north or south
+     * of the equatorial plane.
+     * <p>
+     * Note that Equatorial objects are immutable and cannot be modified
+     * once they are constructed.  This allows them to be passed and returned by
+     * value without worrying about whether other code will modify them.
+     *
+     * @see CalendarAstronomer.Ecliptic
+     * @see CalendarAstronomer.Horizon
+     * @internal
+     */
+    public static final class Equatorial {
+        /**
+         * Constructs an Equatorial coordinate object.
+         * <p>
+         * @param asc The right ascension, measured in radians.
+         * @param dec The declination, measured in radians.
+         * @internal
+         */
+        public Equatorial(double asc, double dec) {
+            ascension = asc;
+            declination = dec;
+        }
+
+        /**
+         * Return a string representation of this object, with the
+         * angles measured in degrees.
+         * @internal
+         */
+        public String toString() {
+            return Double.toString(ascension*RAD_DEG) + "," + (declination*RAD_DEG);
+        }
+        
+        /**
+         * Return a string representation of this object with the right ascension
+         * measured in hours, minutes, and seconds.
+         * @internal
+         */
+        public String toHmsString() {
+            return radToHms(ascension) + "," + radToDms(declination);
+        }
+        
+        /**
+         * The right ascension, in radians. 
+         * This is the position east or west along the equator
+         * relative to the sun's position at the vernal equinox,
+         * with positive angles representing East.
+         * @internal
+         */
+        public final double ascension;
+        
+        /**
+         * The declination, in radians.
+         * This is the position north or south of the equatorial plane,
+         * with positive angles representing north.
+         * @internal
+         */
+        public final double declination;
+    };
+
+    /**
+     * Represents the position of an  object in the sky relative to 
+     * the local horizon.
+     * The <i>Altitude</i> represents the object's elevation above the horizon,
+     * with objects below the horizon having a negative altitude.
+     * The <i>Azimuth</i> is the geographic direction of the object from the
+     * observer's position, with 0 representing north.  The azimuth increases
+     * clockwise from north.
+     * <p>
+     * Note that Horizon objects are immutable and cannot be modified
+     * once they are constructed.  This allows them to be passed and returned by
+     * value without worrying about whether other code will modify them.
+     *
+     * @see CalendarAstronomer.Ecliptic
+     * @see CalendarAstronomer.Equatorial
+     * @internal
+     */
+    public static final class Horizon {
+        /**
+         * Constructs a Horizon coordinate object.
+         * <p>
+         * @param alt  The altitude, measured in radians above the horizon.
+         * @param azim The azimuth, measured in radians clockwise from north.
+         * @internal
+         */
+        public Horizon(double alt, double azim) {
+            altitude = alt;
+            azimuth = azim;
+        }
+
+        /**
+         * Return a string representation of this object, with the
+         * angles measured in degrees.
+         * @internal
+         */
+        public String toString() {
+            return Double.toString(altitude*RAD_DEG) + "," + (azimuth*RAD_DEG);
+        }
+        
+        /** 
+         * The object's altitude above the horizon, in radians. 
+         * @internal
+         */
+        public final double altitude;
+        
+        /** 
+         * The object's direction, in radians clockwise from north. 
+         * @internal
+         */
+        public final double azimuth;
+    };
+
+    static private String radToHms(double angle) {
+        int hrs = (int) (angle*RAD_HOUR);
+        int min = (int)((angle*RAD_HOUR - hrs) * 60);
+        int sec = (int)((angle*RAD_HOUR - hrs - min/60.0) * 3600);
+        
+        return Integer.toString(hrs) + "h" + min + "m" + sec + "s";
+    }
+    
+    static private String radToDms(double angle) {
+        int deg = (int) (angle*RAD_DEG);
+        int min = (int)((angle*RAD_DEG - deg) * 60);
+        int sec = (int)((angle*RAD_DEG - deg - min/60.0) * 3600);
+        
+        return Integer.toString(deg) + "\u00b0" + min + "'" + sec + "\"";
+    }
+}
diff --git a/src/com/ibm/icu/impl/CalendarCache.java b/src/com/ibm/icu/impl/CalendarCache.java
new file mode 100644
index 0000000..c83562a
--- /dev/null
+++ b/src/com/ibm/icu/impl/CalendarCache.java
@@ -0,0 +1,127 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.impl;
+
+/**
+ * @internal
+ */
+public class CalendarCache
+{
+    /**
+     * @internal
+     */
+    public CalendarCache() {
+        makeArrays(arraySize);
+    }
+    
+    private void makeArrays(int newSize) {
+        keys    = new long[newSize];
+        values  = new long[newSize];
+        
+        for (int i = 0; i < newSize; i++) {
+            values[i] = EMPTY;
+        }
+        arraySize = newSize;
+        threshold = (int)(arraySize * 0.75);
+        size = 0;
+    }
+    
+    /**
+     * @internal
+     */
+    public synchronized long get(long key) {
+        return values[findIndex(key)];
+    }
+    
+    /**
+     * @internal
+     */
+    public synchronized void put(long key, long value)
+    {
+        if (size >= threshold) {
+            rehash();
+        }
+        int index = findIndex(key);
+        
+        keys[index] = key;
+        values[index] = value;
+        size++;
+    }
+    
+    private final int findIndex(long key) {
+        int index = hash(key);
+        int delta = 0;
+        
+        while (values[index] != EMPTY && keys[index] != key)
+        {
+            if (delta == 0) {
+                delta = hash2(key);
+            }
+            index = (index + delta) % arraySize;
+        }
+        return index;
+    }
+    
+    private void rehash()
+    {
+        int oldSize = arraySize;
+        long[] oldKeys = keys;
+        long[] oldValues = values;
+        
+        if (pIndex < primes.length - 1) {
+            arraySize = primes[++pIndex];
+        } else {
+            arraySize = arraySize * 2 + 1;
+        }
+        size = 0;
+        
+        makeArrays(arraySize);
+        for (int i = 0; i < oldSize; i++) {
+            if (oldValues[i] != EMPTY) {
+                put(oldKeys[i], oldValues[i]);
+            }
+        }
+        oldKeys = oldValues = null; // Help out the garbage collector
+    }
+    
+    
+    /**
+     * Produce a uniformly-distributed hash value from an integer key.
+     * This is essentially a linear congruential random number generator
+     * that uses the key as its seed value.
+     */
+    private final int hash(long key)
+    {
+        int h = (int)((key * 15821 + 1) % arraySize);
+        if (h < 0) {
+            h += arraySize;
+        }
+        return h;
+    }
+    
+    private final int hash2(long key) {
+        return arraySize - 2 - (int)(key % (arraySize-2) );
+    }
+    
+    static private final int primes[] = {  // 5, 17, 31, 47, // for testing
+        61, 127, 509, 1021, 2039, 4093, 8191, 16381, 32749, 65521,
+        131071, 262139, 
+    };
+
+    private int     pIndex      = 0;
+    private int     size        = 0;
+    private int     arraySize   = primes[pIndex];
+    private int     threshold   = (arraySize * 3) / 4;
+    
+    private long[]  keys        = new long[arraySize];
+    private long[]  values      = new long[arraySize];
+
+    /**
+     * @internal
+     */
+    static public  long EMPTY   = Long.MIN_VALUE;
+}
diff --git a/src/com/ibm/icu/impl/CalendarData.java b/src/com/ibm/icu/impl/CalendarData.java
new file mode 100644
index 0000000..e51133b
--- /dev/null
+++ b/src/com/ibm/icu/impl/CalendarData.java
@@ -0,0 +1,127 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2004-2005, International Business Machines Corporation and         *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+package com.ibm.icu.impl;
+
+import java.util.MissingResourceException;
+
+import com.ibm.icu.util.ULocale;
+import com.ibm.icu.util.UResourceBundle;
+
+
+
+/**
+ * This class abstracts access to calendar (Calendar and DateFormat) data.
+ * @internal ICU 3.0
+ */
+public class CalendarData {
+    /**
+     * Construct a CalendarData from the given locale.
+     * @param loc locale to use. The 'calendar' keyword will be ignored.
+     * @param type calendar type. NULL indicates the gregorian calendar. 
+     * No default lookup is done.
+     */
+    public CalendarData(ULocale loc, String type) {
+        this((ICUResourceBundle)UResourceBundle.getBundleInstance(ICUResourceBundle.ICU_BASE_NAME, loc), type);
+    }
+    
+    public CalendarData(ICUResourceBundle b, String type) {
+        fBundle = b;
+        if((type == null) || (type.equals("")) || (type.equals("gregorian"))) {
+            fMainType = "gregorian";
+            fFallbackType = null;
+        } else {
+            fMainType = type;
+            fFallbackType ="gregorian";
+        }
+    }
+    
+    /**
+     * Load data for calendar. Note, this object owns the resources, do NOT call ures_close()!
+     *
+     * @param key Resource key to data
+     * @internal
+     */
+    public ICUResourceBundle get(String key) {
+        try {
+            return fBundle.getWithFallback("calendar/" + fMainType + "/" + key);
+        } catch(MissingResourceException m) {
+            if(fFallbackType != null) {
+                return fBundle.getWithFallback("calendar/" + fFallbackType + "/" + key);
+            }
+            throw m;
+            
+        }       
+    }
+
+    /**
+     * Load data for calendar. Note, this object owns the resources, do NOT call ures_close()!
+     * There is an implicit key of 'format'
+     * data is located in:   "calendar/key/format/subKey"
+     * for example,  calendar/dayNames/format/abbreviated
+     *
+     * @param key Resource key to data
+     * @param subKey Resource key to data
+     * @internal
+     */
+    public ICUResourceBundle get(String key, String subKey) {
+        try {
+            return fBundle.getWithFallback("calendar/" + fMainType + "/" + key + "/format/" + subKey);
+        } catch(MissingResourceException m) {
+            if(fFallbackType != null) {
+                return fBundle.getWithFallback("calendar/" + fFallbackType + "/" + key + "/format/" + subKey);
+            }
+            throw m;
+            
+        }       
+    }
+
+    /**
+     * Load data for calendar. Note, this object owns the resources, do NOT call ures_close()!
+     * data is located in:   "calendar/key/contextKey/subKey"
+     * for example,  calendar/dayNames/stand-alone/narrow
+     *
+     * @param key Resource key to data
+     * @param contextKey Resource key to data
+     * @param subKey Resource key to data
+     * @internal
+     */
+    public ICUResourceBundle get(String key, String contextKey, String subKey) {
+        try {
+            return fBundle.getWithFallback("calendar/" + fMainType + "/" + key + "/" + contextKey + "/" + subKey);
+        } catch(MissingResourceException m) {
+            if(fFallbackType != null) {
+                return fBundle.getWithFallback("calendar/" + fFallbackType + "/" + key + "/" + contextKey + "/" + subKey);
+            }
+            throw m;
+            
+        }       
+    }
+    
+    public String[] getStringArray(String key) {
+        return get(key).getStringArray();
+    }
+
+    public String[] getStringArray(String key, String subKey) {
+        return get(key, subKey).getStringArray();
+    }
+
+    public String[] getStringArray(String key, String contextKey, String subKey) {
+        return get(key, contextKey, subKey).getStringArray();
+    }
+    public String[] getEras(String subkey){
+        ICUResourceBundle bundle = get("eras/"+subkey);
+        return bundle.getStringArray();
+    }
+    public ULocale getULocale() {
+        return fBundle.getULocale();
+    }
+
+    private ICUResourceBundle fBundle;
+    private String fMainType;
+    private String fFallbackType;
+}
diff --git a/src/com/ibm/icu/impl/CharTrie.java b/src/com/ibm/icu/impl/CharTrie.java
new file mode 100755
index 0000000..f2db333
--- /dev/null
+++ b/src/com/ibm/icu/impl/CharTrie.java
@@ -0,0 +1,365 @@
+/*
+******************************************************************************
+* Copyright (C) 1996-2005, International Business Machines Corporation and   *
+* others. All Rights Reserved.                                               *
+******************************************************************************
+*/
+
+package com.ibm.icu.impl;
+
+import java.io.InputStream;
+import java.io.DataInputStream;
+import java.io.IOException;
+
+import com.ibm.icu.text.UTF16;
+
+/**
+ * Trie implementation which stores data in char, 16 bits.
+ * @author synwee
+ * @see com.ibm.icu.impl.Trie
+ * @since release 2.1, Jan 01 2002
+ */
+
+ // note that i need to handle the block calculations later, since chartrie
+ // in icu4c uses the same index array.
+public class CharTrie extends Trie
+{
+    // public constructors ---------------------------------------------
+
+    /**
+    * <p>Creates a new Trie with the settings for the trie data.</p>
+    * <p>Unserialize the 32-bit-aligned input stream and use the data for the 
+    * trie.</p>
+    * @param inputStream file input stream to a ICU data file, containing 
+    *                    the trie
+    * @param dataManipulate object which provides methods to parse the char 
+    *                        data
+    * @throws IOException thrown when data reading fails
+    * @draft 2.1
+    */
+    public CharTrie(InputStream inputStream, 
+                    DataManipulate dataManipulate) throws IOException
+    {
+        super(inputStream, dataManipulate);
+        
+        if (!isCharTrie()) {
+            throw new IllegalArgumentException(
+                               "Data given does not belong to a char trie.");
+        }
+        m_friendAgent_ = new FriendAgent();
+    }
+
+    /**
+     * Make a dummy CharTrie.
+     * A dummy trie is an empty runtime trie, used when a real data trie cannot
+     * be loaded.
+     *
+     * The trie always returns the initialValue,
+     * or the leadUnitValue for lead surrogate code points.
+     * The Latin-1 part is always set up to be linear.
+     *
+     * @param initialValue the initial value that is set for all code points
+     * @param leadUnitValue the value for lead surrogate code _units_ that do not
+     *                      have associated supplementary data
+     * @param dataManipulate object which provides methods to parse the char data
+     */
+    public CharTrie(int initialValue, int leadUnitValue, DataManipulate dataManipulate) {
+        super(new char[BMP_INDEX_LENGTH+SURROGATE_BLOCK_COUNT], HEADER_OPTIONS_LATIN1_IS_LINEAR_MASK_, dataManipulate);
+
+        int dataLength, latin1Length, i, limit;
+        char block;
+
+        /* calculate the actual size of the dummy trie data */
+
+        /* max(Latin-1, block 0) */
+        dataLength=latin1Length= INDEX_STAGE_1_SHIFT_<=8 ? 256 : DATA_BLOCK_LENGTH;
+        if(leadUnitValue!=initialValue) {
+            dataLength+=DATA_BLOCK_LENGTH;
+        }
+        m_data_=new char[dataLength];
+        m_dataLength_=dataLength;
+
+        m_initialValue_=(char)initialValue;
+
+        /* fill the index and data arrays */
+
+        /* indexes are preset to 0 (block 0) */
+
+        /* Latin-1 data */
+        for(i=0; i<latin1Length; ++i) {
+            m_data_[i]=(char)initialValue;
+        }
+
+        if(leadUnitValue!=initialValue) {
+            /* indexes for lead surrogate code units to the block after Latin-1 */
+            block=(char)(latin1Length>>INDEX_STAGE_2_SHIFT_);
+            i=0xd800>>INDEX_STAGE_1_SHIFT_;
+            limit=0xdc00>>INDEX_STAGE_1_SHIFT_;
+            for(; i<limit; ++i) {
+                m_index_[i]=block;
+            }
+
+            /* data for lead surrogate code units */
+            limit=latin1Length+DATA_BLOCK_LENGTH;
+            for(i=latin1Length; i<limit; ++i) {
+                m_data_[i]=(char)leadUnitValue;
+            }
+        }
+
+        m_friendAgent_ = new FriendAgent();
+    }
+
+    /**
+     * Java friend implementation
+     */
+    public class FriendAgent
+    {
+        /**
+         * Gives out the index array of the trie
+         * @return index array of trie
+         */ 
+        public char[] getPrivateIndex() 
+        {
+            return m_index_;
+        }
+        /**
+         * Gives out the data array of the trie
+         * @return data array of trie
+         */ 
+        public char[] getPrivateData() 
+        {
+            return m_data_;
+        }
+        /**
+         * Gives out the data offset in the trie
+         * @return data offset in the trie
+         */ 
+        public int getPrivateInitialValue() 
+        {
+            return m_initialValue_;
+        }
+    }
+    
+    // public methods --------------------------------------------------
+    
+    /**
+     * Java friend implementation
+     * To store the index and data array into the argument.
+     * @param friend java friend UCharacterProperty object to store the array
+     */
+    public void putIndexData(UCharacterProperty friend) 
+    {
+        friend.setIndexData(m_friendAgent_);
+    }
+
+    /**
+    * Gets the value associated with the codepoint.
+    * If no value is associated with the codepoint, a default value will be
+    * returned.
+    * @param ch codepoint
+    * @return offset to data
+    * @draft 2.1
+    */
+    public final char getCodePointValue(int ch)
+    {
+        int offset;
+
+        // fastpath for U+0000..U+D7FF
+        if(0 <= ch && ch < UTF16.LEAD_SURROGATE_MIN_VALUE) {
+            // copy of getRawOffset()
+            offset = (m_index_[ch >> INDEX_STAGE_1_SHIFT_] << INDEX_STAGE_2_SHIFT_) 
+                    + (ch & INDEX_STAGE_3_MASK_);
+            return m_data_[offset];
+        }
+
+        // handle U+D800..U+10FFFF
+        offset = getCodePointOffset(ch);
+        
+        // return -1 if there is an error, in this case we return the default
+        // value: m_initialValue_
+        return (offset >= 0) ? m_data_[offset] : m_initialValue_;
+    }
+
+    /**
+    * Gets the value to the data which this lead surrogate character points
+    * to.
+    * Returned data may contain folding offset information for the next
+    * trailing surrogate character.
+    * This method does not guarantee correct results for trail surrogates.
+    * @param ch lead surrogate character
+    * @return data value
+    * @draft 2.1
+    */
+    public final char getLeadValue(char ch)
+    {
+       return m_data_[getLeadOffset(ch)];
+    }
+
+    /**
+    * Get the value associated with the BMP code point.
+    * Lead surrogate code points are treated as normal code points, with
+    * unfolded values that may differ from getLeadValue() results.
+    * @param ch the input BMP code point
+    * @return trie data value associated with the BMP codepoint
+    * @draft 2.1
+    */
+    public final char getBMPValue(char ch)
+    {
+        return m_data_[getBMPOffset(ch)];
+    }
+
+    /**
+    * Get the value associated with a pair of surrogates.
+    * @param lead a lead surrogate
+    * @param trail a trail surrogate
+    * @draft 2.1
+    */
+    public final char getSurrogateValue(char lead, char trail)
+    {
+        int offset = getSurrogateOffset(lead, trail);
+        if (offset > 0) {
+            return m_data_[offset];
+        }
+        return m_initialValue_;
+    }
+
+    /**
+    * <p>Get a value from a folding offset (from the value of a lead surrogate)
+    * and a trail surrogate.</p>
+    * <p>If the 
+    * @param leadvalue value associated with the lead surrogate which contains
+    *        the folding offset
+    * @param trail surrogate
+    * @return trie data value associated with the trail character
+    * @draft 2.1
+    */
+    public final char getTrailValue(int leadvalue, char trail)
+    {
+        if (m_dataManipulate_ == null) {
+            throw new NullPointerException(
+                             "The field DataManipulate in this Trie is null");
+        }
+        int offset = m_dataManipulate_.getFoldingOffset(leadvalue);
+        if (offset > 0) {
+            return m_data_[getRawOffset(offset, 
+                                        (char)(trail & SURROGATE_MASK_))];
+        }
+        return m_initialValue_;
+    }
+    
+    /**
+     * <p>Gets the latin 1 fast path value.</p>
+     * <p>Note this only works if latin 1 characters have their own linear 
+     * array.</p>
+     * @param ch latin 1 characters
+     * @return value associated with latin character
+     */
+    public final char getLatin1LinearValue(char ch) 
+    {
+        return m_data_[INDEX_STAGE_3_MASK_ + 1 + m_dataOffset_ + ch];
+    }
+    
+    /**
+     * Checks if the argument Trie has the same data as this Trie
+     * @param other Trie to check
+     * @return true if the argument Trie has the same data as this Trie, false
+     *         otherwise
+     */
+    ///CLOVER:OFF
+    public boolean equals(Object other) 
+    {
+        boolean result = super.equals(other);
+        if (result && other instanceof CharTrie) {
+            CharTrie othertrie = (CharTrie)other;
+            return m_initialValue_ == othertrie.m_initialValue_;
+        }
+        return false;
+    }
+    ///CLOVER:ON
+
+    // protected methods -----------------------------------------------
+
+    /**
+    * <p>Parses the input stream and stores its trie content into a index and
+    * data array</p>
+    * @param inputStream data input stream containing trie data
+    * @exception IOException thrown when data reading fails
+    */
+    protected final void unserialize(InputStream inputStream) 
+                                                throws IOException
+    {
+        DataInputStream input = new DataInputStream(inputStream);
+        int indexDataLength = m_dataOffset_ + m_dataLength_;
+        m_index_ = new char[indexDataLength];
+        for (int i = 0; i < indexDataLength; i ++) {
+            m_index_[i] = input.readChar();
+        }
+        m_data_           = m_index_;
+        m_initialValue_   = m_data_[m_dataOffset_];
+    }
+    
+    /**
+    * Gets the offset to the data which the surrogate pair points to.
+    * @param lead lead surrogate
+    * @param trail trailing surrogate
+    * @return offset to data
+    * @draft 2.1
+    */
+    protected final int getSurrogateOffset(char lead, char trail)
+    {
+        if (m_dataManipulate_ == null) {
+            throw new NullPointerException(
+                             "The field DataManipulate in this Trie is null");
+        }
+        
+        // get fold position for the next trail surrogate
+        int offset = m_dataManipulate_.getFoldingOffset(getLeadValue(lead));
+
+        // get the real data from the folded lead/trail units
+        if (offset > 0) {
+            return getRawOffset(offset, (char)(trail & SURROGATE_MASK_));
+        }
+
+        // return -1 if there is an error, in this case we return the default
+        // value: m_initialValue_
+        return -1;
+    }
+    
+    /**
+    * Gets the value at the argument index.
+    * For use internally in TrieIterator.
+    * @param index value at index will be retrieved
+    * @return 32 bit value
+    * @see com.ibm.icu.impl.TrieIterator
+    * @draft 2.1
+    */
+    protected final int getValue(int index)
+    {
+        return m_data_[index];
+    }
+
+    /**
+    * Gets the default initial value
+    * @return 32 bit value 
+    * @draft 2.1
+    */
+    protected final int getInitialValue()
+    {
+        return m_initialValue_;
+    }
+  
+    // private data members --------------------------------------------
+
+    /**
+    * Default value
+    */
+    private char m_initialValue_;
+    /**
+    * Array of char data
+    */
+    private char m_data_[];
+    /**
+     * Agent for friends
+     */
+    private FriendAgent m_friendAgent_;
+}
diff --git a/src/com/ibm/icu/impl/CharacterIteratorWrapper.java b/src/com/ibm/icu/impl/CharacterIteratorWrapper.java
new file mode 100644
index 0000000..34c4a57
--- /dev/null
+++ b/src/com/ibm/icu/impl/CharacterIteratorWrapper.java
@@ -0,0 +1,148 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.impl;
+
+import java.text.CharacterIterator;
+
+import com.ibm.icu.text.*;
+
+/**
+ * This class is a wrapper around CharacterIterator and implements the 
+ * UCharacterIterator protocol
+ * @author ram
+ */
+
+public class CharacterIteratorWrapper extends UCharacterIterator {
+    
+    private CharacterIterator iterator;
+    
+    
+    public CharacterIteratorWrapper(CharacterIterator iter){
+        if(iter==null){
+            throw new IllegalArgumentException();
+        }
+        iterator     = iter;   
+    }
+
+    /**
+     * @see UCharacterIterator#current()
+     */
+    public int current() {
+        int c = iterator.current();
+        if(c==CharacterIterator.DONE){
+          return DONE;
+        }
+        return c;
+    }
+
+    /**
+     * @see UCharacterIterator#getLength()
+     */
+    public int getLength() {
+        return (iterator.getEndIndex() - iterator.getBeginIndex());
+    }
+
+    /**
+     * @see UCharacterIterator#getIndex()
+     */
+    public int getIndex() {
+        return iterator.getIndex();
+    }
+
+    /**
+     * @see UCharacterIterator#next()
+     */
+    public int next() {
+        int i = iterator.current();
+        iterator.next();
+        if(i==CharacterIterator.DONE){  
+          return DONE;
+        }
+        return i;
+    }
+
+    /**
+     * @see UCharacterIterator#previous()
+     */
+    public int previous() {
+        int i = iterator.previous();
+        if(i==CharacterIterator.DONE){
+            return DONE;
+        }
+        return i;
+    }
+
+    /**
+     * @see UCharacterIterator#setIndex(int)
+     */
+    public void setIndex(int index) {
+        try{
+            iterator.setIndex(index);
+        }catch(IllegalArgumentException e){
+            throw new IndexOutOfBoundsException();
+        }
+    }
+
+    /**
+     * @see UCharacterIterator#setToLimit()
+     */
+    public void setToLimit() {
+        iterator.setIndex(iterator.getEndIndex());
+    }
+
+    /**
+     * @see UCharacterIterator#getText(char[])
+     */
+    public int getText(char[] fillIn, int offset){
+        int length =iterator.getEndIndex() - iterator.getBeginIndex(); 
+        int currentIndex = iterator.getIndex();
+        if(offset < 0 || offset + length > fillIn.length){
+            throw new IndexOutOfBoundsException(Integer.toString(length));
+        }
+    
+        for (char ch = iterator.first(); ch != CharacterIterator.DONE; ch = iterator.next()) {
+            fillIn[offset++] = ch;
+        }
+        iterator.setIndex(currentIndex);
+
+        return length;
+    }
+
+    /**
+     * Creates a clone of this iterator.  Clones the underlying character iterator.
+     * @see UCharacterIterator#clone()
+     */
+    public Object clone(){
+        try {
+            CharacterIteratorWrapper result = (CharacterIteratorWrapper) super.clone();
+            result.iterator = (CharacterIterator)this.iterator.clone();
+            return result;
+        } catch (CloneNotSupportedException e) {      
+            return null; // only invoked if bad underlying character iterator
+        }
+    }
+    
+
+    public int moveIndex(int delta){
+        int length = iterator.getEndIndex() - iterator.getBeginIndex(); 
+        int idx = iterator.getIndex()+delta;
+        
+        if(idx < 0) {
+            idx = 0;
+        } else if(idx > length) {
+            idx = length;
+        }
+        return iterator.setIndex(idx);
+    }
+    
+    /**
+     * @see UCharacterIterator#getCharacterIterator()
+     */
+    public CharacterIterator getCharacterIterator(){
+        return (CharacterIterator)iterator.clone();
+    } 
+}
diff --git a/src/com/ibm/icu/impl/ICUBinary.java b/src/com/ibm/icu/impl/ICUBinary.java
new file mode 100755
index 0000000..5e7029c
--- /dev/null
+++ b/src/com/ibm/icu/impl/ICUBinary.java
@@ -0,0 +1,158 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.impl;
+
+import java.io.InputStream;
+import java.io.DataInputStream;
+import java.io.IOException;
+import java.util.Arrays;
+
+public final class ICUBinary 
+{    
+    // public inner interface ------------------------------------------------
+    
+    /**
+     * Special interface for data authentication
+     */
+    public static interface Authenticate
+    {
+        /**
+         * Method used in ICUBinary.readHeader() to provide data format
+         * authentication. 
+         * @param version version of the current data
+         * @return true if dataformat is an acceptable version, false otherwise
+         */
+        public boolean isDataVersionAcceptable(byte version[]);
+    }
+    
+    // public methods --------------------------------------------------------
+    
+    /**
+    * <p>ICU data header reader method. 
+    * Takes a ICU generated big-endian input stream, parse the ICU standard 
+    * file header and authenticates them.</p>
+    * <p>Header format: 
+    * <ul>
+    *     <li> Header size (char)
+    *     <li> Magic number 1 (byte)
+    *     <li> Magic number 2 (byte)
+    *     <li> Rest of the header size (char)
+    *     <li> Reserved word (char)
+    *     <li> Big endian indicator (byte)
+    *     <li> Character set family indicator (byte)
+    *     <li> Size of a char (byte) for c++ and c use
+    *     <li> Reserved byte (byte)
+    *     <li> Data format identifier (4 bytes), each ICU data has its own
+    *          identifier to distinguish them. [0] major [1] minor 
+    *                                          [2] milli [3] micro 
+    *     <li> Data version (4 bytes), the change version of the ICU data
+    *                             [0] major [1] minor [2] milli [3] micro 
+    *     <li> Unicode version (4 bytes) this ICU is based on.
+    * </ul>
+    * </p>
+    * <p>
+    * Example of use:<br>
+    * <pre>
+    * try {
+    *    FileInputStream input = new FileInputStream(filename);
+    *    If (Utility.readICUDataHeader(input, dataformat, dataversion, 
+    *                                  unicode) {
+    *        System.out.println("Verified file header, this is a ICU data file");
+    *    }
+    * } catch (IOException e) {
+    *    System.out.println("This is not a ICU data file");
+    * }
+    * </pre>
+    * </p>
+    * @param inputStream input stream that contains the ICU data header
+    * @param dataFormatIDExpected Data format expected. An array of 4 bytes 
+    *                     information about the data format.
+    *                     E.g. data format ID 1.2.3.4. will became an array of 
+    *                     {1, 2, 3, 4}
+    * @param authenticate user defined extra data authentication. This value
+    *                     can be null, if no extra authentication is needed.
+    * @exception IOException thrown if there is a read error or 
+    *            when header authentication fails.
+    * @draft 2.1
+    */
+    public static final byte[] readHeader(InputStream inputStream,
+                                        byte dataFormatIDExpected[],
+                                        Authenticate authenticate) 
+                                                          throws IOException
+    {
+        DataInputStream input = new DataInputStream(inputStream);
+        char headersize = input.readChar();
+        int readcount = 2;
+        //reading the header format
+        byte magic1 = input.readByte();
+        readcount ++;
+        byte magic2 = input.readByte();
+        readcount ++;
+        if (magic1 != MAGIC1 || magic2 != MAGIC2) {
+            throw new IOException(MAGIC_NUMBER_AUTHENTICATION_FAILED_);
+        }
+        
+        input.readChar(); // reading size
+        readcount += 2;
+        input.readChar(); // reading reserved word
+        readcount += 2;
+        byte bigendian    = input.readByte();
+        readcount ++;
+        byte charset      = input.readByte();
+        readcount ++;
+        byte charsize     = input.readByte();
+        readcount ++;
+        input.readByte(); // reading reserved byte
+        readcount ++;
+                
+        byte dataFormatID[] = new byte[4];
+        input.readFully(dataFormatID);
+        readcount += 4;
+        byte dataVersion[] = new byte[4];
+        input.readFully(dataVersion);
+        readcount += 4;
+        byte unicodeVersion[] = new byte[4];
+        input.readFully(unicodeVersion);
+        readcount += 4;
+        if (headersize < readcount) {
+            throw new IOException("Internal Error: Header size error");
+        }
+        input.skipBytes(headersize - readcount);
+
+        if (bigendian != BIG_ENDIAN_ || charset != CHAR_SET_
+            || charsize != CHAR_SIZE_
+            || !Arrays.equals(dataFormatIDExpected, dataFormatID)
+            || (authenticate != null 
+                && !authenticate.isDataVersionAcceptable(dataVersion))) {
+            throw new IOException(HEADER_AUTHENTICATION_FAILED_);
+        }
+        return unicodeVersion;
+    }
+     
+    // private variables -------------------------------------------------
+  
+    /**
+    * Magic numbers to authenticate the data file
+    */
+    private static final byte MAGIC1 = (byte)0xda;
+    private static final byte MAGIC2 = (byte)0x27;
+      
+    /**
+    * File format authentication values
+    */
+    private static final byte BIG_ENDIAN_ = 1;
+    private static final byte CHAR_SET_ = 0;
+    private static final byte CHAR_SIZE_ = 2;
+                                                    
+    /**
+    * Error messages
+    */
+    private static final String MAGIC_NUMBER_AUTHENTICATION_FAILED_ = 
+                       "ICU data file error: Not an ICU data file";
+    private static final String HEADER_AUTHENTICATION_FAILED_ =
+        "ICU data file error: Header authentication failed, please check if you have a valid ICU data file";
+}
diff --git a/src/com/ibm/icu/impl/ICUBinaryStream.java b/src/com/ibm/icu/impl/ICUBinaryStream.java
new file mode 100644
index 0000000..a45862a
--- /dev/null
+++ b/src/com/ibm/icu/impl/ICUBinaryStream.java
@@ -0,0 +1,59 @@
+/*
+**********************************************************************
+* Copyright (c) 2002-2005, International Business Machines
+* Corporation and others.  All Rights Reserved.
+**********************************************************************
+* Author: Alan Liu
+* Created: November 5 2002
+* Since: ICU 2.4
+**********************************************************************
+*/
+package com.ibm.icu.impl;
+
+import java.io.*;
+
+/**
+ * A DataInputStream that implements random-access seeking.  For this
+ * to work, the size of the data stream must be known in advance, or
+ * the data must be supplied as a raw byte[] array.
+ *
+ * Seeking doesn't work directly on all streams.  If a given stream
+ * doesn't support seeking, extract the bytes into a byte[] array and
+ * use the byte[] constructor.
+ */
+class ICUBinaryStream extends DataInputStream {
+
+    /**
+     * Construct a stream from the given stream and size.
+     * @param stream the stream of data
+     * @param size the number of bytes that should be made available
+     * for seeking.  Bytes beyond this may be read, but seeking will
+     * not work for offset >= size.
+     */
+    public ICUBinaryStream(InputStream stream, int size) {
+        super(stream);
+        mark(size);
+    }
+
+    /**
+     * Construct a stream from the given raw bytes.
+     */
+    public ICUBinaryStream(byte[] raw) {
+        this(new ByteArrayInputStream(raw), raw.length);
+    }
+
+    /**
+     * Seek to the given offset.  Offset is from the position of the
+     * stream passed to the constructor, or from the start of the
+     * byte[] array.
+     */
+    public void seek(int offset) throws IOException {
+        reset();
+        int actual = skipBytes(offset);
+        if (actual != offset) {
+            throw new InternalError("Skip(" + offset + ") only skipped " +
+                                       actual + " bytes");
+        }
+        if (false) System.out.println("(seek " + offset + ")");
+    }
+}
diff --git a/src/com/ibm/icu/impl/ICUData.java b/src/com/ibm/icu/impl/ICUData.java
new file mode 100644
index 0000000..e7d7d48
--- /dev/null
+++ b/src/com/ibm/icu/impl/ICUData.java
@@ -0,0 +1,114 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2004-2005, International Business Machines Corporation and         *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ *
+ * Created on Feb 4, 2004
+ *
+ */
+package com.ibm.icu.impl;
+
+import java.io.InputStream;
+import java.net.URL;
+import java.security.AccessController;
+import java.security.PrivilegedAction;
+import java.util.MissingResourceException;
+
+/**
+ * Provides access to ICU data files as InputStreams.  Implements security checking.
+ */
+public final class ICUData {
+    /*
+     * Return a URL to the ICU resource names resourceName.  The
+     * resource name should either be an absolute path, or a path relative to
+     * com.ibm.icu.impl (e.g., most likely it is 'data/foo').  If required
+     * is true, throw an MissingResourceException instead of returning a null result.
+     */
+    public static boolean exists(final String resourceName) {
+        URL i = null;
+        if (System.getSecurityManager() != null) {
+            i = (URL)AccessController.doPrivileged(new PrivilegedAction() {
+                    public Object run() {
+                        return ICUData.class.getResource(resourceName);
+                    }
+                });
+        } else {
+            i = ICUData.class.getResource(resourceName);
+        }
+        return i != null;
+    }
+        
+    private static InputStream getStream(final Class root, final String resourceName, boolean required) {
+        InputStream i = null;
+        
+        if (System.getSecurityManager() != null) {
+            i = (InputStream)AccessController.doPrivileged(new PrivilegedAction() {
+                    public Object run() {
+                        return root.getResourceAsStream(resourceName);
+                    }
+                });
+        } else {
+            i = root.getResourceAsStream(resourceName);
+        }
+
+        if (i == null && required) {
+            throw new MissingResourceException("could not locate data " +resourceName, root.getPackage().getName(), resourceName);
+        }
+        return i;
+    }
+
+    private static InputStream getStream(final ClassLoader loader, final String resourceName, boolean required) {
+        InputStream i = null;
+        if (System.getSecurityManager() != null) {
+            i = (InputStream)AccessController.doPrivileged(new PrivilegedAction() {
+                    public Object run() {
+                        return loader.getResourceAsStream(resourceName);
+                    }
+                });
+        } else {
+            i = loader.getResourceAsStream(resourceName);
+        }
+        if (i == null && required) {
+            throw new MissingResourceException("could not locate data", loader.toString(), resourceName);
+        }
+        return i;
+    }
+    
+    public static InputStream getStream(ClassLoader loader, String resourceName){
+        return getStream(loader,resourceName, false);   
+    }
+
+    public static InputStream getRequiredStream(ClassLoader loader, String resourceName){
+        return getStream(loader,resourceName, true);   
+    }
+
+    /*
+     * Convenience override that calls getStream(ICUData.class, resourceName, false);
+     */
+    public static InputStream getStream(String resourceName) {
+        return getStream(ICUData.class, resourceName, false);
+    }
+        
+    /*
+     * Convenience method that calls getStream(ICUData.class, resourceName, true).
+     */
+    public static InputStream getRequiredStream(String resourceName) {
+        return getStream(ICUData.class, resourceName, true);
+    }
+
+    /*
+     * Convenience override that calls getStream(root, resourceName, false);
+     */
+    public static InputStream getStream(Class root, String resourceName) {
+        return getStream(root, resourceName, false);
+    }
+        
+    /*
+     * Convenience method that calls getStream(root, resourceName, true).
+     */
+    public static InputStream getRequiredStream(Class root, String resourceName) {
+        return getStream(root, resourceName, true);
+    }
+}
+
diff --git a/src/com/ibm/icu/impl/ICUDebug.java b/src/com/ibm/icu/impl/ICUDebug.java
new file mode 100644
index 0000000..29c153c
--- /dev/null
+++ b/src/com/ibm/icu/impl/ICUDebug.java
@@ -0,0 +1,123 @@
+/**
+ *******************************************************************************
+ * Copyright (C) 2001-2002, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.impl;
+
+import com.ibm.icu.util.VersionInfo;
+
+public final class ICUDebug {
+    private static String params;
+    static {
+        try {
+            params = System.getProperty("ICUDebug");
+        }
+        catch (SecurityException e) {
+        }
+    }
+    private static boolean debug = params != null;
+    private static boolean help = debug && (params.equals("") || params.indexOf("help") != -1);
+
+    static {
+        if (debug) {
+            System.out.println("\nICUDebug=" + params);
+        }
+    }
+
+    public static final String javaVersionString = System.getProperty("java.version");
+    public static final boolean isJDK14OrHigher;
+    public static final VersionInfo javaVersion;
+
+    public static VersionInfo getInstanceLenient(String s) {
+        // clean string
+        // preserve only digits, separated by single '.' 
+        // ignore over 4 digit sequences
+        // does not test < 255, very odd...
+
+        char[] chars = s.toCharArray();
+        int r = 0, w = 0, count = 0;
+        boolean numeric = false; // ignore leading non-numerics
+        while (r < chars.length) {
+            char c = chars[r++];
+            if (c < '0' || c > '9') {
+                if (numeric) {
+                    if (count == 3) {
+                        // only four digit strings allowed
+                        break;
+                    }
+                    numeric = false;
+                    chars[w++] = '.';
+                    ++count;
+                }
+            } else {
+                numeric = true;
+                chars[w++] = c;
+            }
+        }
+        while (w > 0 && chars[w-1] == '.') {
+            --w;
+        }
+    
+        String vs = new String(chars, 0, w);
+
+        return VersionInfo.getInstance(vs);
+    }
+
+    static {
+        javaVersion = getInstanceLenient(javaVersionString);
+
+        VersionInfo java14Version = VersionInfo.getInstance("1.4.0");
+
+        isJDK14OrHigher = javaVersion.compareTo(java14Version) >= 0;
+    }
+
+    public static boolean enabled() {
+        return debug;
+    }
+
+    public static boolean enabled(String arg) {
+        if (debug) {
+            boolean result = params.indexOf(arg) != -1;
+            if (help) System.out.println("\nICUDebug.enabled(" + arg + ") = " + result);
+            return result;
+        }
+        return false;
+    }
+
+    public static String value(String arg) {
+        String result = "false";
+        if (debug) {
+            int index = params.indexOf(arg);
+            if (index != -1) {
+                index += arg.length();
+                if (params.length() > index && params.charAt(index) == '=') {
+                    index += 1;
+                    int limit = params.indexOf(",", index);
+                    result = params.substring(index, limit == -1 ? params.length() : limit);
+                } else {
+                    result = "true";
+                }
+            }
+
+            if (help) System.out.println("\nICUDebug.value(" + arg + ") = " + result);
+        }
+        return result;
+    }
+
+    static public void main(String[] args) {
+        // test
+        String[] tests = {
+            "1.3.0",
+            "1.3.0_02",
+            "1.3.1ea",
+            "1.4.1b43",
+            "___41___5",
+            "x1.4.51xx89ea.7f"
+        };
+        for (int i = 0; i < tests.length; ++i) {
+            System.out.println(tests[i] + " => " + getInstanceLenient(tests[i]));
+        }
+    }
+}
diff --git a/src/com/ibm/icu/impl/ICUListResourceBundle.java b/src/com/ibm/icu/impl/ICUListResourceBundle.java
new file mode 100644
index 0000000..f605811
--- /dev/null
+++ b/src/com/ibm/icu/impl/ICUListResourceBundle.java
@@ -0,0 +1,606 @@
+/**
+ *******************************************************************************
+ * Copyright (C) 2001-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+/**
+ * A list resource bundle that does redirection
+ * because otherwise some of our resource class files
+ * are too big for the java runtime to handle.
+ */
+
+package com.ibm.icu.impl;
+
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.IOException;
+import java.io.UnsupportedEncodingException;
+import java.util.ArrayList;
+import java.util.ListResourceBundle;
+import java.util.Locale;
+import java.util.ResourceBundle;
+import java.util.MissingResourceException;
+import java.util.Hashtable;
+
+public class ICUListResourceBundle extends ListResourceBundle {
+    private static final String ICUDATA = "ICUDATA";
+    private static final String ICU_BUNDLE_NAME = "LocaleElements";
+    private static final String ICU_PACKAGE_NAME ="com.ibm.icu.impl.data";
+    private static final String ENCODING="UTF-8";
+
+    /* package */ Locale icuLocale;
+    /* package */ void setParentX(ResourceBundle b) {
+        setParent(b);
+    }
+
+    public Locale getLocale() {
+        return icuLocale;
+    }
+
+    protected ICUListResourceBundle() {
+    }
+
+    private Hashtable visited = new Hashtable();
+    /**
+     * Subclassers must statically initialize this
+     */
+    protected Object[][] contents;
+
+    /**
+     * This is our cache
+     */
+    private Object[][] realContents;
+
+    /**
+     * See base class description
+     */
+    protected Object[][] getContents(){
+        // we replace any redirected values with real values in a cloned array
+        if (realContents == null) {
+            realContents = contents;
+            for (int i = 0; i < contents.length; ++i) {
+                Object newValue = getRedirectedResource((String)contents[i][0],contents[i][1], -1);
+                if (newValue != null) {
+                    if (realContents == contents) {
+                        realContents = (Object[][])contents.clone();
+                    }
+                    realContents[i] = new Object[] { contents[i][0], newValue };
+                }
+            }
+        }
+        return realContents;
+    }
+
+    /**
+     * Return null if value is already in existing contents array, otherwise fetch the
+     * real value and return it.
+     */
+    private Object getRedirectedResource(String key, Object value, int index) {
+
+        if (value instanceof Object[][]) {
+            Object[][] aValue = (Object[][])value;
+            int i=0;
+            while(i < aValue.length){
+                int j=0;
+                while(j < aValue[i].length){
+                    aValue[i][j] = getRedirectedResource((String)aValue[i][0],aValue[i][j], i);
+                    j++;
+                }
+                i++;
+            }
+        }else if (value instanceof Object[]){
+            Object[] aValue = (Object[]) value;
+            int i=0;
+            while( i < aValue.length){
+                aValue[i] = getRedirectedResource(key,aValue[i], i);
+                i++;
+            }
+        }else if(value instanceof Alias){
+        
+            String cName = this.getClass().getName();
+            visited.clear();
+            visited.put(cName+key,"");
+            return ((Alias)value).getResource(cName,key,index, visited);
+        }else if(value instanceof RedirectedResource){
+            return ((RedirectedResource)value).getResource(this);
+        }
+
+        return value;
+    }
+
+    private static byte[] readToEOS(InputStream stream) {
+        // As of 3.0 this method reads streams of length 264..274008
+        // from the core data.  We progressively double the buffer
+        // size to reduce the number of allocations required.
+        try {
+            ArrayList vec = new ArrayList();
+            int count = 0;
+            int length = 0x200; // smallest 2^n >= min stream len
+            final int MAXLENGTH = 0x8000;
+            int pos = -1;
+            for (;;) {
+                byte[] buffer = new byte[length];
+                pos = 0;
+                do {
+                    int n = stream.read(buffer, pos, length - pos);
+                    if (n == -1) {
+                        break;
+                    }
+                    pos += n;
+                } while (pos < length);
+                count += pos;
+                vec.add(buffer);
+                if (pos < length) {
+                    break;
+                }
+                if (length < MAXLENGTH) {
+                    length <<= 1;
+                }
+            }
+
+            // System.out.println("\ncount " + count + " bytes from " + stream);
+
+            byte[] data = new byte[count];
+            pos = 0;
+            for (int i = 0; i < vec.size(); ++i) {
+                byte[] buf = (byte[])vec.get(i);
+                int len = Math.min(buf.length, count - pos);
+                System.arraycopy(buf, 0, data, pos, len);
+                pos += len;
+            }
+            // assert pos==count;
+            return data;
+        } catch (IOException e) {
+            throw new MissingResourceException(e.getMessage(),"","");
+        }
+    }
+
+    private static char[] readToEOS(InputStreamReader stream) {
+        // As of 3.0 this method reads streams of length 41990..41994
+        // from the core data.  The IBM 1.4 UTF8 converter doesn't
+        // handle buffering reliably (it throws an exception) so we
+        // are forced to read everything in one chunk.
+        try {
+            int length = 0x10000; // smallest 2^n >= max stream len
+            final int MAXLENGTH = 0x40000000;
+            int n;
+            char[] buffer;
+            for (;;) {
+                buffer = new char[length];
+                n = stream.read(buffer, 0, length);
+                if (n >= 0 && n < length) {
+                    break;
+                }
+                if (length < MAXLENGTH) {
+                    stream.reset();
+                    length <<= 1;
+                } else {
+                    throw new InternalError("maximum input stream length exceeded");
+                }
+            }
+
+            // System.out.println("\ncount " + n + " chars from " + stream);
+
+            char[] data = new char[n];
+            System.arraycopy(buffer, 0, data, 0, n);
+            return data;
+        } catch (IOException e) {
+            throw new MissingResourceException(e.getMessage(),"","");
+        }
+    }
+    /*
+    public static class CompressedString implements RedirectedResource{
+        private String expanded=null;
+        private String compressed=null;
+        public CompressedString(String str){
+           compressed=str;
+        }
+        public Object getResource(Object obj){
+            if(compressed==null){
+                return null;
+            }
+            if(expanded==null){
+                expanded= new String(Utility.RLEStringToCharArray(compressed));
+            }
+            return expanded;
+        }
+    }
+    */
+    public static class CompressedBinary implements RedirectedResource{
+        private byte[] expanded=null;
+        private String compressed=null;
+        public CompressedBinary(String str){
+           compressed = str;
+        }
+        public Object getResource(Object obj){
+            if(compressed==null){
+                return null;
+            }
+
+            if(expanded==null){
+                expanded= Utility.RLEStringToByteArray(compressed);
+            }
+            return expanded;
+        }
+
+    }
+    private interface RedirectedResource{
+        public Object getResource(Object obj);
+    }
+
+    public static class ResourceBinary implements RedirectedResource{
+        private byte[] expanded=null;
+        private String resName=null;
+        public ResourceBinary(String name){
+            resName="data/" + name;
+        }
+        public Object getResource(Object obj) {
+            if(expanded==null){
+                InputStream stream = ICUData.getStream(resName);
+                if(stream!=null){
+                    //throw new MissingResourceException("",obj.getClass().getName(),resName);
+                    expanded = readToEOS(stream);
+                    return expanded;
+                }
+            }
+            return "";
+        }
+    }
+
+    public static class ResourceString implements RedirectedResource{
+        private char[] expanded=null;
+        private String resName=null;
+        public ResourceString(String name){
+            resName="data/"+name;
+        }
+        public Object getResource(Object obj) {
+            if(expanded==null){
+                // Resource strings are always UTF-8
+                InputStream stream = ICUData.getStream(resName);
+                if(stream!=null){
+                    //throw new MissingResourceException("",obj.getClass().getName(),resName);
+
+                    try{
+                        InputStreamReader reader =  new InputStreamReader(stream,ENCODING);
+                        expanded = readToEOS(reader);
+                    }catch(UnsupportedEncodingException ex){
+                        throw new RuntimeException("Could open converter for encoding: " +ENCODING);
+                    }
+                    return new String(expanded);
+                }
+
+            }
+            return "";
+        }
+    }
+    
+    private static final char RES_PATH_SEP_CHAR = '/';
+    
+    public static class Alias{
+        public Alias(String path){
+            pathToResource = path;
+        };
+        
+        private String pathToResource;
+
+        private Object getResource(String className, String parentKey, int index, Hashtable visited){
+            String packageName=null,bundleName=null, locale=null, keyPath=null;
+
+            if(pathToResource.indexOf(RES_PATH_SEP_CHAR)==0){
+                int i =pathToResource.indexOf(RES_PATH_SEP_CHAR,1);
+                int j =pathToResource.indexOf(RES_PATH_SEP_CHAR,i+1);
+                bundleName=pathToResource.substring(1,i);
+                locale=pathToResource.substring(i+1);
+                if(j!=-1){
+                    locale=pathToResource.substring(i+1,j);
+                    keyPath=pathToResource.substring(j+1,pathToResource.length());
+                }
+                //there is a path included
+                if(bundleName.equals(ICUDATA)){
+                    bundleName = ICU_BUNDLE_NAME;
+                    packageName = ICU_PACKAGE_NAME;
+                }
+
+            }else{
+                //no path start with locale
+                int i =pathToResource.indexOf(RES_PATH_SEP_CHAR);
+                //If this is a bundle with locale name following it
+                //then it should be of type <bundle name>_<locale>
+                //if not we donot guarantee that this will work
+                int j = className.lastIndexOf(".");
+                packageName=className.substring(0,j);
+                int underScoreIndex = className.indexOf("_");
+                if(underScoreIndex>=0){
+                    bundleName=className.substring(j+1,className.indexOf("_"));
+                }else{
+                    bundleName = className.substring(j+1,className.length());
+                }
+                keyPath=pathToResource.substring(i+1);
+
+                if(i!=-1){
+                    locale = pathToResource.substring(0,i);
+                }else{
+                    locale=keyPath;
+                    keyPath=parentKey;
+                    if(locale==null || locale.equals("root")){
+                        className=packageName+"."+bundleName;
+                    }else{
+                        className=packageName+"."+bundleName+"_"+ locale;
+                    }
+                    
+                }
+
+            }
+            
+            ResourceBundle bundle = null;
+            // getResourceBundle guarantees that the CLASSPATH will be searched
+            // for loading the resource with name <bundleName>_<localeName>.class
+            if(locale==null || locale.equals("root")){
+                bundle = ICULocaleData.getResourceBundle(packageName,bundleName,"");
+            }else{
+                bundle = ICULocaleData.getResourceBundle(packageName,bundleName,locale);
+            }
+            
+            return findResource(bundle, className, parentKey, index, keyPath, visited);
+        
+        }
+        
+        private Object findResource(Object[][] contents, String key){
+            for (int i = 0; i < contents.length; ++i) {
+                // key must be non-null String, value must be non-null
+                String tempKey = (String) contents[i][0];
+                Object value = contents[i][1];
+                if (tempKey == null || value == null) {
+                    throw new NullPointerException();
+                }
+                if(tempKey.equals(key)){
+                    return value;
+                }
+            }
+            return null;
+        }
+        
+        private Object findResource(Object o , String[] keys, int start, int index){
+            Object obj = o;
+            if( start < keys.length && keys[start] !=null){
+                if(obj instanceof Object[][]){
+                    obj = findResource((Object[][])obj,keys[start]);
+                }else if(obj instanceof Object[] && isIndex(keys[start])){
+                    obj = ((Object[])obj)[getIndex(keys[start])];
+                }
+                if(start+1 < keys.length && keys[start+1] !=null){
+                    obj = findResource(obj,keys,start+1, index);
+                }
+            }else{
+                //try to find the corresponding index resource
+                if(index>=0){
+                    if(obj instanceof Object[][]){
+                        obj = findResource((Object[][])obj,Integer.toString(index));
+                    }else if(obj instanceof Object[]){
+                        obj = ((Object[])obj)[index];
+                    }
+                }
+            }
+            return obj;
+        }
+        private Object findResource(ResourceBundle bundle, String className, String requestedKey, int index, String aliasKey, Hashtable visited){
+
+            if(aliasKey != null && visited.get(className+aliasKey)!=null){
+                throw new MissingResourceException("Circular Aliases in bundle.",bundle.getClass().getName(),requestedKey);
+            }
+            if(aliasKey==null){
+                // currently we do an implicit key lookup
+                // return ((ICUListResourceBundle)bundle).getContents();
+                aliasKey = requestedKey;
+            }
+            
+            visited.put(className+requestedKey,"");
+
+            String[] keys = split(aliasKey,RES_PATH_SEP_CHAR);
+            Object o =null;
+            if(keys.length>0){
+                o = bundle.getObject(keys[0]);
+                o = findResource(o, keys, 1, index);
+            }
+            o=resolveAliases(o,className,aliasKey,visited);
+            return o;
+        }
+        private  Object resolveAliases(Object o,String className,String key, Hashtable visited){
+            if(o instanceof Object[][]){
+                o = resolveAliases((Object[][])o,className,key, visited);
+            }else if(o instanceof Object[]){
+                 o = resolveAliases((Object[])o,className,key, visited);
+            }else if(o instanceof Alias){
+                return ((Alias)o).getResource(className,key, -1, visited);
+            }
+            return o;
+        }
+        private Object resolveAliases(Object[][] o,String className, String key,Hashtable visited){
+            int i =0;
+            while(i<o.length){
+                o[i][1]=resolveAliases(o[i][1],className,key,visited);
+                i++;
+            }
+            return o;
+        }
+        private Object resolveAliases(Object[] o,String className, String key,Hashtable visited){
+            int i =0;
+            while(i<o.length){
+                o[i]=resolveAliases(o[i],className,key,visited);
+                i++;
+            }
+            return o;
+        }
+
+
+    }
+    private static String[] split(String source, char delimiter){
+
+        char[] src = source.toCharArray();
+        int index = 0;
+        int numdelimit=0;
+        // first count the number of delimiters
+        for(int i=0;i<source.length();i++){
+            if(src[i]==delimiter){
+                numdelimit++;
+            }
+        }
+        String[] values =null;
+        values = new String[numdelimit+2];
+        // now split
+        int old=0;
+        for(int j=0;j<src.length;j++){
+            if(src[j]==delimiter){
+                values[index++] = new String(src,old,j-old);
+                old=j+1/* skip after the delimiter*/;
+            }
+        }
+        if(old <src.length)
+            values[index++]=new String(src,old,src.length-old);
+        return values;
+    }
+    
+    /**
+     * This method performs multilevel fallback for fetching items from the bundle
+     * e.g:
+     * If resource is in the form
+     * de__PHONEBOOK{
+     *      collations{
+     *              default{ "phonebook"}
+     *      }
+     * }
+     * If the value of "default" key needs to be accessed, then do:
+     * <code>
+     *  ResourceBundle bundle = new ResourceBundle(getLocaleFromString("de__PHONEBOOK"));
+     *  Object result = null;
+     *  if(bundle instanceof ICUListResourceBundle){
+     *      result = ((ICUListResourceBundle) bundle).getObjectWithFallback("collations/default");
+     *  }
+     * </code>
+     * @param path  The path to the required resource key
+     * @return Object represented by the key
+     * @exception MissingResourceException
+     */
+    public final Object getObjectWithFallback(String path) 
+                  throws MissingResourceException{
+        String[] keys = split(path, RES_PATH_SEP_CHAR);
+        Object result = null;      
+        ICUListResourceBundle actualBundle = this;
+        
+        
+        // now recuse to pick up sub levels of the items
+        result = findResourceWithFallback(keys, actualBundle);
+                    
+        if(result == null){
+            throw new MissingResourceException("Could not find the resource in ",this.getClass().getName(),path);
+        }
+        return result;
+    }
+    
+
+    private Object findResourceWithFallback(String[] keys,
+                                            ICUListResourceBundle actualBundle){
+
+        Object obj = null; 
+        
+        while(actualBundle != null){
+            // get the top level resource 
+            // getObject is a method on the ResourceBundle class that
+            // performs the normal fallback
+            obj = actualBundle.getObject(keys[0], actualBundle);
+            
+            // now find the bundle from the actual bundle 
+            // if this bundle does not contain the top level resource,
+            // then we can be sure that it does not contain the sub elements
+            obj = findResourceWithFallback(obj, keys, 1, 0);
+            // did we get the contents? the break
+            if(obj != null){
+                break;
+            }
+            // if not try the parent bundle
+            actualBundle = (ICUListResourceBundle) actualBundle.parent;
+        
+        }
+        
+        return obj;
+    }
+    private Object findResourceWithFallback(Object o , String[] keys, int start, 
+                                            int index){
+        Object obj = o;
+        
+        
+            if( start < keys.length && keys[start] !=null){
+                if(obj instanceof Object[][]){
+                    obj = findResourceWithFallback((Object[][])obj,keys[start]);
+                }else if(obj instanceof Object[] && isIndex(keys[start])){
+                    obj = ((Object[])obj)[getIndex(keys[start])];
+                }
+                if(start+1 < keys.length && keys[start+1] !=null){
+                    obj = findResourceWithFallback(obj,keys,start+1, index);
+                }
+            }else{
+                //try to find the corresponding index resource
+                if(index>=0){
+                    if(obj instanceof Object[][]){
+                        obj = findResourceWithFallback((Object[][])obj,
+                                                        Integer.toString(index));
+                    }else if(obj instanceof Object[]){
+                        obj = ((Object[])obj)[index];
+                    }
+                }
+            }
+
+        return obj;
+    }
+    
+    private Object findResourceWithFallback(Object[][] cnts, String key){
+        Object obj = null;
+
+        for (int i = 0; i < cnts.length; ++i) {
+            // key must be non-null String
+            String tempKey = (String) cnts[i][0];
+            obj = cnts[i][1];
+            if(tempKey != null && tempKey.equals(key)){
+                return obj;
+            }
+        }
+
+        return null;
+    }
+    
+    private final Object getObject(String key, 
+                                   ICUListResourceBundle actualBundle) {
+        Object obj = handleGetObject(key);
+        if (obj == null) {
+            ICUListResourceBundle p = (ICUListResourceBundle) this.parent;
+            while( p!=null){
+                obj = p.handleGetObject(key);
+                if(obj != null){
+                    actualBundle = p;
+                    break; 
+                }
+                p = (ICUListResourceBundle) p.parent;
+            }
+        }
+        return obj;
+    }
+    private static boolean isIndex(String s){
+         if(s.length()==1){
+            char c = s.charAt(0);
+            return Character.isDigit(c);
+         }
+         return false;
+    }
+    private static int getIndex(String s){
+         if(s.length()==1){
+            char c = s.charAt(0);
+            if(Character.isDigit(c)){
+              return Integer.valueOf(s).intValue();
+            }
+         }
+         return -1;
+    }
+}
+
diff --git a/src/com/ibm/icu/impl/ICULocaleData.java b/src/com/ibm/icu/impl/ICULocaleData.java
new file mode 100644
index 0000000..46808d2
--- /dev/null
+++ b/src/com/ibm/icu/impl/ICULocaleData.java
@@ -0,0 +1,348 @@
+/*
+ * (C) Copyright IBM Corp. 2002-2005 - All Rights Reserved
+ */
+
+package com.ibm.icu.impl;
+
+import java.lang.ref.SoftReference;
+import java.util.Locale;
+import java.util.MissingResourceException;
+import java.util.ResourceBundle;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Set;
+
+import com.ibm.icu.util.ULocale;
+
+/**
+ * Provides information about and access to resource bundles in the
+ * com.ibm.text.resources package.  Unlike the java version, this does
+ * not include resources from any other location.  In particular, it
+ * does not look in the boot or system class path.
+ */
+public class ICULocaleData {
+
+    /**
+     * The package for ICU locale data.
+     */
+    private static final String ICU_PACKAGE = "com.ibm.icu.impl.data";
+
+    /**
+     * The base name (bundle name) for ICU locale data.
+     */
+    static final String LOCALE_ELEMENTS = "LocaleElements";
+
+    /**
+     * Creates a LocaleElements resource bundle for the given locale
+     * in the default ICU package.
+     * @param locale the locale of the bundle to retrieve, or
+     * null to use the default locale
+     * @return a ResourceBundle for the LocaleElements of the given
+     * locale, or null on failure
+     */
+    public static ResourceBundle getLocaleElements(ULocale locale) {
+        if (locale == null) {
+            locale = ULocale.getDefault();
+        }
+        return getResourceBundle(ICU_PACKAGE, LOCALE_ELEMENTS, locale.getBaseName());
+    }
+
+    /**
+     * Creates a LocaleElements resource bundle for the given locale
+     * in the default ICU package.
+     * @param localeName the string name of the locale of the bundle
+     * to retrieve, e.g., "en_US".
+     * @return a ResourceBundle for the LocaleElements of the given
+     * locale, or null on failure
+     */
+    public static ResourceBundle getLocaleElements(String localeName) {
+        return getResourceBundle(ICU_PACKAGE, LOCALE_ELEMENTS, localeName);
+    }
+
+
+    /**
+     * Creates a resource bundle for the given base name and locale
+     * in the default ICU package.
+     * @param bundleName the base name of the bundle to retrieve,
+     * e.g. "LocaleElements".
+     * @param localeName the string name of the locale of the bundle
+     * to retrieve, e.g. "en_US".
+     * @return a ResourceBundle with the given base name for the given
+     * locale, or null on failure
+     */
+    public static ResourceBundle getResourceBundle(String bundleName, String localeName) {
+        return getResourceBundle(ICU_PACKAGE, bundleName, localeName);
+    }
+
+    /**
+     * Creates a resource bundle for the given base name and locale
+     * in the default ICU package.
+     * @param bundleName the base name of the bundle to retrieve,
+     * e.g. "LocaleElements".
+     * @param locale the locale of the bundle to retrieve, or
+     * null to use the default locale
+     * @return a ResourceBundle with the given base name for the given
+     * locale, or null on failure
+     */
+    public static ResourceBundle getResourceBundle(String bundleName, ULocale locale) {
+        if (locale == null) {
+            locale = ULocale.getDefault();
+        }
+        return getResourceBundle(ICU_PACKAGE, bundleName, locale.getBaseName());
+    }
+
+    /**
+     * Creates a resource bundle for the given package, base name, and
+     * locale.
+     * @param packageName a package name, e.g., "com.ibm.icu.impl.data".
+     * @param bundleName the base name of the bundle to retrieve,
+     * e.g. "LocaleElements".
+     * @param localeName the string name of the locale of the bundle
+     * to retrieve, e.g. "en_US".
+     * @return the first ResourceBundle with the given base name for
+     * the given locale found in each of the packages, or null on
+     * failure
+     */
+    public static ResourceBundle getResourceBundle(String packageName, String bundleName, String localeName) {
+        try {
+            String path = packageName + "." + bundleName;
+            if (DEBUG) System.out.println("calling instantiate: " + path + "_" + localeName);
+            return instantiate(path, localeName);
+        } catch (MissingResourceException e) {
+            if (DEBUG) System.out.println(bundleName + "_" + localeName + " not found in " + packageName);
+            throw e;
+        }
+    }
+
+    /**
+     * Creates a resource bundle for the given base name and locale in
+     * one of the given packages, trying each package in order.
+     * @param packages a list of one or more package names
+     * @param bundleName the base name of the bundle to retrieve,
+     * e.g. "LocaleElements".
+     * @param localeName the string name of the locale of the bundle
+     * to retrieve, e.g. "en_US".
+     * @return the first ResourceBundle with the given base name for
+     * the given locale found in each of the packages, or null on
+     * failure
+     */
+    public static ResourceBundle getResourceBundle(String[] packages, String bundleName, String localeName) {
+        ResourceBundle r=null;
+        for (int i=0; r==null && i<packages.length; ++i) {
+            r = getResourceBundle(packages[i], bundleName, localeName);
+        }
+        return r;
+    }
+
+    /**
+     * Get a resource bundle from the resource bundle path.  Unlike getResourceBundle, this
+     * returns an 'unparented' bundle that exactly matches the bundle name and locale name.
+     */
+    public static ResourceBundle loadResourceBundle(String bundleName, ULocale locale) {
+        if (locale == null) {
+            locale = ULocale.getDefault();
+        }
+        return loadResourceBundle(bundleName, locale.getBaseName());
+    }
+
+    /**
+     * Get a resource bundle from the resource bundle path.  Unlike getResourceBundle, this
+     * returns an 'unparented' bundle that exactly matches the bundle name and locale name.
+     */
+    public static ResourceBundle loadResourceBundle(String bundleName, String localeName) {
+        if (localeName != null && localeName.length() > 0) {
+            bundleName = bundleName + "_" + localeName;
+        }
+        String name = ICU_PACKAGE + "." + bundleName;
+        try {
+            if (name.indexOf("_zh_") == -1) { // DLF temporary hack
+                Class rbclass = Class.forName(name);
+                ResourceBundle rb = (ResourceBundle)rbclass.newInstance();
+                return rb;
+            }
+        }
+        catch (ClassNotFoundException e)
+        {
+            if (DEBUG) {
+                System.out.println(name + " not found");
+            }
+            // ignore, keep looking
+        }
+        catch (Exception e) {
+            if (DEBUG) {
+                e.printStackTrace();
+                System.out.println(e.getMessage());
+            }
+        }
+        if (DEBUG) {
+            System.out.println(bundleName + " not found.");
+        }
+
+        return null;
+    }
+
+    // ========== privates ==========
+
+    // Flag for enabling/disabling debugging code
+    private static final boolean DEBUG = ICUDebug.enabled("localedata");
+
+    // Cache for getAvailableLocales
+    private static SoftReference GET_AVAILABLE_CACHE;
+
+    // Cache for ResourceBundle instantiation
+    private static SoftReference BUNDLE_CACHE;
+
+    private static ResourceBundle loadFromCache(String key) {
+        if (BUNDLE_CACHE != null) {
+            Map m = (Map)BUNDLE_CACHE.get();
+            if (m != null) {
+                return (ResourceBundle)m.get(key);
+            }
+        }
+        return null;
+    }
+
+    private static void addToCache(String key, ResourceBundle b) {
+        Map m = null;
+        if (BUNDLE_CACHE != null) {
+            m = (Map)BUNDLE_CACHE.get();
+        }
+        if (m == null) {
+            m = new HashMap();
+            BUNDLE_CACHE = new SoftReference(m);
+        }
+        m.put(key, b);
+    }
+
+    // recursively build bundle
+    private static ResourceBundle instantiate(String name) {
+        ResourceBundle b = loadFromCache(name);
+        if (b == null) {
+            ResourceBundle parent = null;
+            int i = name.lastIndexOf('_');
+
+            // TODO: convert this to use ULocale
+            final Locale rootLocale = new Locale("", "", "");
+ 
+            if (i != -1) {
+                parent = instantiate(name.substring(0, i));
+            }
+            try {
+                Locale locale = rootLocale;
+                i = name.indexOf('_');
+                if (i != -1) {
+                    locale = LocaleUtility.getLocaleFromName(name.substring(i+1));
+                } else {
+                    i = name.length();
+                }
+
+		ClassLoader cl = ICULocaleData.class.getClassLoader();
+		if (cl == null) {
+		    // we're on the bootstrap
+		    cl = ClassLoader.getSystemClassLoader();
+		}
+                Class cls = cl.loadClass(name);
+                if (ICUListResourceBundle.class.isAssignableFrom(cls)) {
+                    ICUListResourceBundle bx = (ICUListResourceBundle)cls.newInstance();
+
+                    if (parent != null) {
+                        bx.setParentX(parent);
+                    }
+                    bx.icuLocale = locale;
+                    b = bx;
+                    // System.out.println("iculistresourcebundle: " + name + " is " + b);
+                } else {
+                    b = ResourceBundle.getBundle(name.substring(0, i), locale);
+                    // System.out.println("resourcebundle: " + name + " is " + b);
+                }    
+                addToCache(name, b);
+            }
+            catch (ClassNotFoundException e) {
+
+                int j = name.indexOf('_');
+                int k = name.lastIndexOf('_');
+                // if a bogus locale is passed then the parent should be
+                // the default locale not the root locale!
+                if(k==j && j!=-1){
+                    
+                    String locName = name.substring(j+1,name.length());
+                    String defaultName = ULocale.getDefault().toString();
+                    
+                    if(!locName.equals(rootLocale.toString()) &&
+                       defaultName.indexOf(locName)==-1){
+                        String bundle =  name.substring(0,j);
+                        parent = instantiate(bundle+"_"+defaultName);
+                    }
+                }
+                b = parent;
+            }
+            catch (Exception e) {
+                System.out.println("failure");
+                System.out.println(e);
+            }
+        }
+        if(b==null){
+            throw new MissingResourceException("Could not load data "+name,"","");
+        }
+        return b;
+    }
+
+    /**
+     * Still need permissions to use our own class loader, is there no way
+     * to load class resources from new locations that aren't already on the
+     * class path?
+     */
+    private synchronized static ResourceBundle instantiate(String name, String localeName) {
+        if (localeName.length() != 0) {
+            name = name + "_" + localeName;
+        }
+        return instantiate(name);
+    }
+
+    private static Set createLocaleNameSet(String bundleName) {
+        try {
+            ResourceBundle index = getResourceBundle(bundleName, "index");
+            Object[][] localeStrings = (Object[][]) index.getObject("InstalledLocales");
+            String[] localeNames = new String[localeStrings.length];
+
+            // barf gag choke spit hack...
+            // since java's Locale 'fixes' the locale string for some locales,
+            // we have to fix our names to match, otherwise the Locale[] list
+            // won't match the locale name set.  What were they thinking?!?
+            for (int i = 0; i < localeNames.length; ++i) {
+                localeNames[i] = LocaleUtility.getLocaleFromName((String)localeStrings[i][0]).toString();
+            }
+
+            HashSet set = new HashSet();
+            set.addAll(Arrays.asList(localeNames));
+            return Collections.unmodifiableSet(set);
+        }
+        catch (MissingResourceException e) {
+            if (DEBUG) System.out.println("couldn't find index for bundleName: " + bundleName);
+            Thread.dumpStack();
+        }
+        return Collections.EMPTY_SET;
+    }
+
+    /*
+    private static Locale[] createLocaleList(String bundleName) {
+        try {
+            ResourceBundle index = getResourceBundle(bundleName, "index");
+            Object[][] localeStrings = (Object[][]) index.getObject("InstalledLocales");
+            Locale[] locales = new Locale[localeStrings.length];
+            for (int i = 0; i < localeStrings.length; ++i) {
+                locales[i] = LocaleUtility.getLocaleFromName((String)localeStrings[i][0]);
+            }
+            return locales;
+        }
+        catch (MissingResourceException e) {
+            if (DEBUG) System.out.println("couldn't find index for bundleName: " + bundleName);
+            Thread.dumpStack();
+        }
+        return new Locale[0];
+    }
+    */
+}
diff --git a/src/com/ibm/icu/impl/ICULocaleService.java b/src/com/ibm/icu/impl/ICULocaleService.java
new file mode 100644
index 0000000..8f7fea3
--- /dev/null
+++ b/src/com/ibm/icu/impl/ICULocaleService.java
@@ -0,0 +1,587 @@
+/**
+ *******************************************************************************
+ * Copyright (C) 2001-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.impl;
+
+import java.util.Collections;
+import java.util.Iterator;
+import java.util.Locale;
+import java.util.Map;
+import java.util.Set;
+
+import com.ibm.icu.util.ULocale;
+
+public class ICULocaleService extends ICUService {
+    private ULocale fallbackLocale;
+    private String fallbackLocaleName;
+
+    /**
+     * Construct an ICULocaleService.
+     */
+    public ICULocaleService() {
+    }
+
+    /**
+     * Construct an ICULocaleService with a name (useful for debugging).
+     */
+    public ICULocaleService(String name) {
+        super(name);
+    }
+
+    /**
+     * Convenience override for callers using locales.  This calls
+     * get(ULocale, int, ULocale[]) with KIND_ANY for kind and null for
+     * actualReturn.
+     */
+    public Object get(ULocale locale) {
+        return get(locale, LocaleKey.KIND_ANY, null);
+    }
+
+    /**
+     * Convenience override for callers using locales.  This calls
+     * get(ULocale, int, ULocale[]) with a null actualReturn.
+     */
+    public Object get(ULocale locale, int kind) {
+        return get(locale, kind, null);
+    }
+
+    /**
+     * Convenience override for callers using locales.  This calls
+     * get(ULocale, int, ULocale[]) with KIND_ANY for kind.
+     */
+    public Object get(ULocale locale, ULocale[] actualReturn) {
+        return get(locale, LocaleKey.KIND_ANY, actualReturn);
+    }
+
+    /**
+     * Convenience override for callers using locales.  This uses
+     * createKey(ULocale.toString(), kind) to create a key, calls getKey, and then
+     * if actualReturn is not null, returns the actualResult from
+     * getKey (stripping any prefix) into a ULocale.  
+     */
+    public Object get(ULocale locale, int kind, ULocale[] actualReturn) {
+        Key key = createKey(locale.toString(), kind);
+        if (actualReturn == null) {
+            return getKey(key);
+        }
+
+        String[] temp = new String[1];
+        Object result = getKey(key, temp);
+        if (result != null) {
+            int n = temp[0].indexOf("/");
+            if (n >= 0) {
+                temp[0] = temp[0].substring(n+1);
+            }
+            actualReturn[0] = new ULocale(temp[0]);
+        }
+        return result;
+    }
+
+    /**
+     * Convenience override for callers using locales.  This calls
+     * registerObject(Object, ULocale, int kind, boolean visible)
+     * passing KIND_ANY for the kind, and true for the visibility.
+     */
+    public Factory registerObject(Object obj, ULocale locale) {
+        return registerObject(obj, locale, LocaleKey.KIND_ANY, true);
+    }
+
+    /**
+     * Convenience override for callers using locales.  This calls
+     * registerObject(Object, ULocale, int kind, boolean visible)
+     * passing KIND_ANY for the kind.
+     */
+    public Factory registerObject(Object obj, ULocale locale, boolean visible) {
+        return registerObject(obj, locale, LocaleKey.KIND_ANY, visible);
+    }
+
+    /**
+     * Convenience function for callers using locales.  This calls
+     * registerObject(Object, ULocale, int kind, boolean visible)
+     * passing true for the visibility.
+     */
+    public Factory registerObject(Object obj, ULocale locale, int kind) {
+        return registerObject(obj, locale, kind, true);
+    }
+
+    /**
+     * Convenience function for callers using locales.  This  instantiates
+     * a SimpleLocaleKeyFactory, and registers the factory.
+     */
+    public Factory registerObject(Object obj, ULocale locale, int kind, boolean visible) {
+        Factory factory = new SimpleLocaleKeyFactory(obj, locale, kind, visible);
+        return registerFactory(factory);
+    }
+
+    /**
+     * Convenience method for callers using locales.  This returns the standard
+     * Locale list, built from the Set of visible ids.
+     */
+    public Locale[] getAvailableLocales() {
+        // TODO make this wrap getAvailableULocales later
+        Set visIDs = getVisibleIDs();
+        Iterator iter = visIDs.iterator();
+        Locale[] locales = new Locale[visIDs.size()];
+        int n = 0;
+        while (iter.hasNext()) {
+            Locale loc = LocaleUtility.getLocaleFromName((String)iter.next());
+            locales[n++] = loc;
+        }
+        return locales;
+    }
+
+    /**
+     * Convenience method for callers using locales.  This returns the standard
+     * ULocale list, built from the Set of visible ids.
+     */
+    public ULocale[] getAvailableULocales() {
+        Set visIDs = getVisibleIDs();
+        Iterator iter = visIDs.iterator();
+        ULocale[] locales = new ULocale[visIDs.size()];
+        int n = 0;
+        while (iter.hasNext()) {
+            locales[n++] = new ULocale((String)iter.next());
+        }
+        return locales;
+    }
+        
+    /**
+     * A subclass of Key that implements a locale fallback mechanism.
+     * The first locale to search for is the locale provided by the
+     * client, and the fallback locale to search for is the current
+     * default locale.  If a prefix is present, the currentDescriptor
+     * includes it before the locale proper, separated by "/".  This
+     * is the default key instantiated by ICULocaleService.</p>
+     *
+     * <p>Canonicalization adjusts the locale string so that the
+     * section before the first understore is in lower case, and the rest
+     * is in upper case, with no trailing underscores.</p> 
+     */
+    public static class LocaleKey extends ICUService.Key {
+        private int kind;
+        private int varstart;
+        private String primaryID;
+        private String fallbackID;
+        private String currentID;
+
+        public static final int KIND_ANY = -1;
+
+        /**
+         * Create a LocaleKey with canonical primary and fallback IDs.
+         */
+        public static LocaleKey createWithCanonicalFallback(String primaryID, String canonicalFallbackID) {
+            return createWithCanonicalFallback(primaryID, canonicalFallbackID, KIND_ANY);
+        }
+            
+        /**
+         * Create a LocaleKey with canonical primary and fallback IDs.
+         */
+        public static LocaleKey createWithCanonicalFallback(String primaryID, String canonicalFallbackID, int kind) {
+            if (primaryID == null) {
+                return null;
+            }
+            String canonicalPrimaryID = ULocale.getName(primaryID);
+            return new LocaleKey(primaryID, canonicalPrimaryID, canonicalFallbackID, kind);
+        }
+            
+        /**
+         * PrimaryID is the user's requested locale string,
+         * canonicalPrimaryID is this string in canonical form,
+         * fallbackID is the current default locale's string in
+         * canonical form.
+         */
+        protected LocaleKey(String primaryID, String canonicalPrimaryID, String canonicalFallbackID, int kind) {
+            super(primaryID);
+
+            this.kind = kind;
+            if (canonicalPrimaryID == null) {
+                this.primaryID = "";
+            } else {
+                this.primaryID = canonicalPrimaryID;
+                this.varstart = this.primaryID.indexOf('@');
+            }
+            if (this.primaryID == "") {
+                this.fallbackID = null;
+            } else {
+                if (canonicalFallbackID == null || this.primaryID.equals(canonicalFallbackID)) {
+                    this.fallbackID = "";
+                } else {
+                    this.fallbackID = canonicalFallbackID;
+                }
+            }
+
+            this.currentID = varstart == -1 ? this.primaryID : this.primaryID.substring(0, varstart);
+        }
+
+        /**
+         * Return the prefix associated with the kind, or null if the kind is KIND_ANY.
+         */
+        public String prefix() {
+            return kind == KIND_ANY ? null : Integer.toString(kind());
+        }
+
+        /**
+         * Return the kind code associated with this key.
+         */
+        public int kind() {
+            return kind;
+        }
+
+        /**
+         * Return the (canonical) original ID.
+         */
+        public String canonicalID() {
+            return primaryID;
+        }
+
+        /**
+         * Return the (canonical) current ID, or null if no current id.
+         */
+        public String currentID() {
+            return currentID;
+        }
+
+        /**
+         * Return the (canonical) current descriptor, or null if no current id.
+         * Includes the keywords, whereas the ID does not include keywords.
+         */
+        public String currentDescriptor() {
+            String result = currentID();
+            if (result != null) {
+                result = "/" + result;
+                if (varstart != -1) {
+                    result += primaryID.substring(varstart);
+                }
+                if (kind != KIND_ANY) {
+                    result = prefix() + result;
+                }
+            }
+            return result;
+        }
+
+        /**
+         * Convenience method to return the locale corresponding to the (canonical) original ID.
+         */
+        public ULocale canonicalLocale() {
+            return new ULocale(primaryID);
+        }
+
+        /**
+         * Convenience method to return the ulocale corresponding to the (canonical) currentID.
+         */
+        public ULocale currentLocale() {
+            if (varstart == -1) {
+                return new ULocale(currentID);
+            } else {
+                return new ULocale(currentID + primaryID.substring(varstart));
+            }
+        }
+
+        /**
+         * If the key has a fallback, modify the key and return true,
+         * otherwise return false.</p>
+         *
+         * <p>First falls back through the primary ID, then through
+         * the fallbackID.  The final fallback is the empty string,
+         * unless the primary id was the empty string, in which case
+         * there is no fallback.  
+         */
+        public boolean fallback() {
+            int x = currentID.lastIndexOf('_');
+            if (x != -1) {
+                while (--x >= 0 && currentID.charAt(x) == '_') { // handle zh__PINYIN
+                }
+                currentID = currentID.substring(0, x+1);
+                return true;
+            }
+            if (fallbackID != null) {
+                currentID = fallbackID;
+                fallbackID = fallbackID.length() == 0 ? null : "";
+                return true;
+            }
+            currentID = null;
+            return false;
+        }
+
+        /**
+         * If a key created from id would eventually fallback to match the 
+         * canonical ID of this key, return true.
+         */
+        public boolean isFallbackOf(String id) {
+            return LocaleUtility.isFallbackOf(canonicalID(), id);
+        }
+    }
+
+    /**
+     * A subclass of Factory that uses LocaleKeys.  If 'visible' the
+     * factory reports its IDs.
+     */
+    public static abstract class LocaleKeyFactory implements Factory {
+        protected final String name;
+        protected final boolean visible;
+
+        public static final boolean VISIBLE = true;
+        public static final boolean INVISIBLE = false;
+
+        /**
+         * Constructor used by subclasses.
+         */
+        protected LocaleKeyFactory(boolean visible) {
+            this.visible = visible;
+            this.name = null;
+        }
+
+        /**
+         * Constructor used by subclasses.
+         */
+        protected LocaleKeyFactory(boolean visible, String name) {
+            this.visible = visible;
+            this.name = name;
+        }
+
+        /**
+         * Implement superclass abstract method.  This checks the currentID of
+         * the key against the supported IDs, and passes the canonicalLocale and
+         * kind off to handleCreate (which subclasses must implement).
+         */
+        public Object create(Key key, ICUService service) {
+            if (handlesKey(key)) {
+                LocaleKey lkey = (LocaleKey)key;
+                int kind = lkey.kind();
+                
+                ULocale uloc = lkey.currentLocale();
+                return handleCreate(uloc, kind, service);
+            } else {
+                // System.out.println("factory: " + this + " did not support id: " + key.currentID());
+                // System.out.println("supported ids: " + getSupportedIDs());
+            }
+            return null;
+        }
+
+        protected boolean handlesKey(Key key) {
+            if (key != null) {
+                String id = key.currentID();
+                Set supported = getSupportedIDs();
+                return supported.contains(id);
+            }
+            return false;
+        }
+
+        /**
+         * Override of superclass method.
+         */
+        public void updateVisibleIDs(Map result) {
+            Set cache = getSupportedIDs();
+            Iterator iter = cache.iterator();
+            while (iter.hasNext()) {
+                String id = (String)iter.next();
+                if (visible) {
+                    result.put(id, this);
+                } else {
+                    result.remove(id);
+                }
+            }
+        }
+
+        /**
+         * Return a localized name for the locale represented by id.
+         */
+        public String getDisplayName(String id, ULocale locale) {
+            // assume if the user called this on us, we must have handled some fallback of this id
+            //          if (isSupportedID(id)) {
+            if (locale == null) {
+                return id;
+            }
+            ULocale loc = new ULocale(id);
+            return loc.getDisplayName(locale);
+            //              }
+            //          return null;
+        }
+
+        ///CLOVER:OFF
+        /**
+         * Utility method used by create(Key, ICUService).  Subclasses can
+         * implement this instead of create.
+         */
+        protected Object handleCreate(ULocale loc, int kind, ICUService service) {
+            return null;
+        }
+        ///CLOVER:ON
+
+        /**
+         * Return true if this id is one the factory supports (visible or 
+         * otherwise).
+         */
+        protected boolean isSupportedID(String id) {
+            return getSupportedIDs().contains(id);
+        }
+        
+        /**
+         * Return the set of ids that this factory supports (visible or 
+         * otherwise).  This can be called often and might need to be
+         * cached if it is expensive to create.
+         */
+        protected Set getSupportedIDs() {
+            return Collections.EMPTY_SET;
+        }
+
+        /**
+         * For debugging.
+         */
+        public String toString() {
+            StringBuffer buf = new StringBuffer(super.toString());
+            if (name != null) {
+                buf.append(", name: ");
+                buf.append(name);
+            }
+            buf.append(", visible: ");
+            buf.append(visible);
+            return buf.toString();
+        }
+    }
+
+    /**
+     * A LocaleKeyFactory that just returns a single object for a kind/locale.
+     */
+    public static class SimpleLocaleKeyFactory extends LocaleKeyFactory {
+        private final Object obj;
+        private final String id;
+        private final int kind;
+
+        // TODO: remove when we no longer need this
+        public SimpleLocaleKeyFactory(Object obj, ULocale locale, int kind, boolean visible) {
+            this(obj, locale, kind, visible, null);
+        }
+
+        public SimpleLocaleKeyFactory(Object obj, ULocale locale, int kind, boolean visible, String name) {
+            super(visible, name);
+            
+            this.obj = obj;
+            this.id = locale.getBaseName();
+            this.kind = kind;
+        }
+
+        /**
+         * Returns the service object if kind/locale match.  Service is not used.
+         */
+        public Object create(Key key, ICUService service) {
+            LocaleKey lkey = (LocaleKey)key;
+            if (kind == LocaleKey.KIND_ANY || kind == lkey.kind()) {
+                String keyID = lkey.currentID();
+                if (id.equals(keyID)) {
+                    return obj;
+                }
+            }
+            return null;
+        }
+
+        protected boolean isSupportedID(String id) {
+            return this.id.equals(id);
+        }
+
+        public void updateVisibleIDs(Map result) {
+            if (visible) {
+                result.put(id, this);
+            } else {
+                result.remove(id);
+            }
+        }
+
+        public String toString() {
+            StringBuffer buf = new StringBuffer(super.toString());
+            buf.append(", id: ");
+            buf.append(id);
+            buf.append(", kind: ");
+            buf.append(kind);
+            return buf.toString();
+        }
+    }
+
+    /**
+     * A LocaleKeyFactory that creates a service based on the ICU locale data.
+     * This is a base class for most ICU factories.  Subclasses instantiate it
+     * with a constructor that takes a bundle name, which determines the supported
+     * IDs.  Subclasses then override handleCreate to create the actual service
+     * object.  The default implementation returns a resource bundle.
+     */
+    public static class ICUResourceBundleFactory extends LocaleKeyFactory {
+        protected final String bundleName;
+
+        /**
+         * Convenience constructor that uses the main ICU bundle name.
+         */
+        public ICUResourceBundleFactory() {
+            this(ICUResourceBundle.ICU_BASE_NAME);
+        }
+
+        /**
+         * A service factory based on ICU resource data in resources
+         * with the given name.
+         */
+        public ICUResourceBundleFactory(String bundleName) {
+            super(true);
+
+            this.bundleName = bundleName;
+        }
+
+        /**
+         * Return the supported IDs.  This is the set of all locale names for the bundleName.
+         */
+        protected Set getSupportedIDs() {
+              return ICUResourceBundle.getFullLocaleNameSet(bundleName);
+        }
+
+        /**
+         * Override of superclass method.
+         */
+        public void updateVisibleIDs(Map result) {
+            Set visibleIDs = ICUResourceBundle.getAvailableLocaleNameSet(bundleName); // only visible ids
+            Iterator iter = visibleIDs.iterator();
+            while (iter.hasNext()) {
+                String id = (String)iter.next();
+                result.put(id, this);
+            }
+        }
+
+        /**
+         * Create the service.  The default implementation returns the resource bundle
+         * for the locale, ignoring kind, and service.
+         */
+        protected Object handleCreate(ULocale loc, int kind, ICUService service) {
+            return ICUResourceBundle.getBundleInstance(bundleName, loc);
+        }
+
+        public String toString() {
+            return super.toString() + ", bundle: " + bundleName;
+        }
+    }
+
+    /**
+     * Return the name of the current fallback locale.  If it has changed since this was
+     * last accessed, the service cache is cleared.
+     */
+    public String validateFallbackLocale() {
+        ULocale loc = ULocale.getDefault();
+        if (loc != fallbackLocale) {
+            synchronized (this) {
+                if (loc != fallbackLocale) {
+                    fallbackLocale = loc;
+                    fallbackLocaleName = loc.getBaseName();
+                    clearServiceCache();
+                }
+            }
+        }
+        return fallbackLocaleName;
+    }
+
+    public Key createKey(String id) {
+        return LocaleKey.createWithCanonicalFallback(id, validateFallbackLocale());
+    }
+
+    public Key createKey(String id, int kind) {
+        return LocaleKey.createWithCanonicalFallback(id, validateFallbackLocale(), kind);
+    }
+}
diff --git a/src/com/ibm/icu/impl/ICUNotifier.java b/src/com/ibm/icu/impl/ICUNotifier.java
new file mode 100644
index 0000000..8ea5b61
--- /dev/null
+++ b/src/com/ibm/icu/impl/ICUNotifier.java
@@ -0,0 +1,171 @@
+/**
+ *******************************************************************************
+ * Copyright (C) 2001-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.impl;
+
+import java.util.ArrayList;
+import java.util.EventListener;
+import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.List;
+
+/**
+ * <p>Abstract implementation of a notification facility.  Clients add
+ * EventListeners with addListener and remove them with removeListener.
+ * Notifiers call notifyChanged when they wish to notify listeners.
+ * This queues the listener list on the notification thread, which
+ * eventually dequeues the list and calls notifyListener on each
+ * listener in the list.</p>
+ *
+ * <p>Subclasses override acceptsListener and notifyListener 
+ * to add type-safe notification.  AcceptsListener should return
+ * true if the listener is of the appropriate type; ICUNotifier
+ * itself will ensure the listener is non-null and that the
+ * identical listener is not already registered with the Notifier.
+ * NotifyListener should cast the listener to the appropriate 
+ * type and call the appropriate method on the listener.
+ */
+public abstract class ICUNotifier {
+    private final Object notifyLock = new Object();
+    private NotifyThread notifyThread;
+    private List listeners;
+
+    /**
+     * Add a listener to be notified when notifyChanged is called.
+     * The listener must not be null. AcceptsListener must return
+     * true for the listener.  Attempts to concurrently
+     * register the identical listener more than once will be
+     * silently ignored.  
+     */
+    public void addListener(EventListener l) {
+    if (l == null) {
+        throw new NullPointerException();
+    }
+
+    if (acceptsListener(l)) {
+        synchronized (notifyLock) {
+        if (listeners == null) {
+            listeners = new ArrayList(5);
+        } else {
+            // identity equality check
+            Iterator iter = listeners.iterator();
+            while (iter.hasNext()) {
+            if (iter.next() == l) {
+                return;
+            }
+            }
+        }
+
+        listeners.add(l);
+        }
+    } else {
+        throw new InternalError("Listener invalid for this notifier.");
+    }
+    }
+
+    /**
+     * Stop notifying this listener.  The listener must
+     * not be null.  Attemps to remove a listener that is
+     * not registered will be silently ignored.
+     */
+    public void removeListener(EventListener l) {
+    if (l == null) {
+        throw new NullPointerException();
+    }
+    synchronized (notifyLock) {
+        if (listeners != null) {
+        // identity equality check
+        Iterator iter = listeners.iterator();
+        while (iter.hasNext()) {
+            if (iter.next() == l) {
+            iter.remove();
+            if (listeners.size() == 0) {
+                listeners = null;
+            }
+            return;
+            }
+        }
+        }
+    }
+    }
+
+    /**
+     * Queue a notification on the notification thread for the current
+     * listeners.  When the thread unqueues the notification, notifyListener
+     * is called on each listener from the notification thread.
+     */
+    public void notifyChanged() {
+    if (listeners != null) {
+        synchronized (notifyLock) {
+        if (listeners != null) {
+            if (notifyThread == null) {
+            notifyThread = new NotifyThread(this);
+            notifyThread.setDaemon(true);
+            notifyThread.start();
+            }
+            notifyThread.queue(listeners.toArray());
+        }
+        }
+    }
+    }
+
+    /**
+     * The notification thread.
+     */
+    private static class NotifyThread extends Thread {
+    private final ICUNotifier notifier;
+    private final List queue = new LinkedList();
+
+    NotifyThread(ICUNotifier notifier) {
+        this.notifier = notifier;
+    }
+
+    /**
+     * Queue the notification on the thread.
+     */
+    public void queue(Object[] list) {
+        synchronized (this) {
+        queue.add(list);
+        notify();
+        }
+    }
+
+    /**
+     * Wait for a notification to be queued, then notify all
+     * listeners listed in the notification.
+     */
+    public void run() {
+        Object[] list;
+        while (true) {
+        try {
+            synchronized (this) {
+            while (queue.isEmpty()) {
+                wait();
+            }
+            list = (Object[])queue.remove(0);
+            }
+
+            for (int i = 0; i < list.length; ++i) {
+            notifier.notifyListener((EventListener)list[i]);
+            }
+        }
+        catch (InterruptedException e) {
+        }
+        }
+    }
+    }
+
+    /**
+     * Subclasses implement this to return true if the listener is
+     * of the appropriate type.
+     */
+    protected abstract boolean acceptsListener(EventListener l);
+
+    /**
+     * Subclasses implement this to notify the listener.
+     */
+    protected abstract void notifyListener(EventListener l);
+}
diff --git a/src/com/ibm/icu/impl/ICURWLock.java b/src/com/ibm/icu/impl/ICURWLock.java
new file mode 100644
index 0000000..12f3de0
--- /dev/null
+++ b/src/com/ibm/icu/impl/ICURWLock.java
@@ -0,0 +1,297 @@
+/**
+ *******************************************************************************
+ * Copyright (C) 2001-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.impl;
+
+// See Allan Holub's 1999 column in JavaWorld, and Doug Lea's code for RWLocks with writer preference.
+
+
+/**
+ * <p>A simple Reader/Writer lock.  This assumes that there will
+ * be little writing contention.  It also doesn't allow 
+ * active readers to acquire and release a write lock, or
+ * deal with priority inversion issues.</p>
+ *
+ * <p>Access to the lock should be enclosed in a try/finally block
+ * in order to ensure that the lock is always released in case of
+ * exceptions:<br><pre>
+ * try {
+ *     lock.acquireRead();
+ *     // use service protected by the lock
+ * }
+ * finally {
+ *     lock.releaseRead();
+ * }
+ * </pre></p>
+ *
+ * <p>The lock provides utility methods getStats and clearStats
+ * to return statistics on the use of the lock.</p>
+ */
+public class ICURWLock {
+    private Object writeLock = new Object();
+    private Object readLock = new Object();
+    private int wwc; // waiting writers
+    private int rc; // active readers, -1 if there's an active writer
+    private int wrc; // waiting readers
+
+    private Stats stats = new Stats(); // maybe don't init to start...
+
+    /**
+     * Internal class used to gather statistics on the RWLock.
+     */
+    public final static class Stats {
+    /**
+     * Number of times read access granted (read count).
+     */
+    public int _rc;
+
+    /**
+     * Number of times concurrent read access granted (multiple read count).
+     */
+    public int _mrc;
+
+    /**
+     * Number of times blocked for read (waiting reader count).
+     */
+    public int _wrc; // wait for read
+
+    /**
+     * Number of times write access granted (writer count).
+     */
+    public int _wc;
+
+    /**
+     * Number of times blocked for write (waiting writer count).
+     */
+    public int _wwc;
+
+    private Stats() {
+    }
+
+    private Stats(int rc, int mrc, int wrc, int wc, int wwc) {
+        this._rc = rc;
+        this._mrc = mrc;
+        this._wrc = wrc;
+        this._wc = wc;
+        this._wwc = wwc;
+    }
+
+    private Stats(Stats rhs) {
+        this(rhs._rc, rhs._mrc, rhs._wrc, rhs._wc, rhs._wwc);
+    }
+
+    /**
+     * Return a string listing all the stats.
+     */
+    public String toString() {
+        return " rc: " + _rc +
+        " mrc: " + _mrc + 
+        " wrc: " + _wrc +
+        " wc: " + _wc +
+        " wwc: " + _wwc;
+    }
+    }
+
+    /**
+     * Reset the stats.  Returns existing stats, if any.
+     */
+    public synchronized Stats resetStats() {
+    Stats result = stats;
+    stats = new Stats();
+    return result;
+    }
+
+    /**
+     * Clear the stats (stop collecting stats).  Returns existing stats, if any.
+     */
+    public synchronized Stats clearStats() {
+    Stats result = stats;
+    stats = null;
+    return result;
+    }
+    
+    /**
+     * Return a snapshot of the current stats.  This does not reset the stats.
+     */
+    public synchronized Stats getStats() {
+    return stats == null ? null : new Stats(stats);
+    }
+
+    // utilities
+
+    private synchronized boolean gotRead() {
+    ++rc;
+    if (stats != null) {
+        ++stats._rc;
+        if (rc > 1) ++stats._mrc;
+    }
+    return true;
+    }
+
+    private synchronized boolean getRead() {
+    if (rc >= 0 && wwc == 0) {
+        return gotRead();
+    }
+    ++wrc;
+    return false;
+    }
+
+    private synchronized boolean retryRead() {
+    if (stats != null) ++stats._wrc;
+    if (rc >= 0 && wwc == 0) {
+        --wrc;
+        return gotRead();
+    }
+    return false;
+    }
+
+    private synchronized boolean finishRead() {
+    if (rc > 0) {
+        return (0 == --rc && wwc > 0);
+    }
+    throw new InternalError("no current reader to release");
+    }
+    
+    private synchronized boolean gotWrite() {
+    rc = -1;
+    if (stats != null) {
+        ++stats._wc;
+    }
+    return true;
+    }
+
+    private synchronized boolean getWrite() {
+    if (rc == 0) {
+        return gotWrite();
+    }
+    ++wwc;
+    return false;
+    }
+
+    private synchronized boolean retryWrite() {
+    if (stats != null) ++stats._wwc;
+    if (rc == 0) {
+        --wwc;
+        return gotWrite();
+    }
+    return false;
+    }
+
+    private static final int NOTIFY_NONE = 0;
+    private static final int NOTIFY_WRITERS = 1;
+    private static final int NOTIFY_READERS = 2;
+
+    private synchronized int finishWrite() {
+    if (rc < 0) {
+        rc = 0;
+        if (wwc > 0) {
+        return NOTIFY_WRITERS;
+        } else if (wrc > 0) {
+        return NOTIFY_READERS;
+        } else {
+        return NOTIFY_NONE;
+        }
+    }
+    throw new InternalError("no current writer to release");
+    }
+    
+    /**
+     * <p>Acquire a read lock, blocking until a read lock is
+     * available.  Multiple readers can concurrently hold the read
+     * lock.</p>
+     *
+     * <p>If there's a writer, or a waiting writer, increment the
+     * waiting reader count and block on this.  Otherwise
+     * increment the active reader count and return.  Caller must call
+     * releaseRead when done (for example, in a finally block).</p> 
+     */
+    public void acquireRead() {
+    if (!getRead()) {
+        for (;;) {
+        try {
+            synchronized (readLock) {
+            readLock.wait();
+            }
+            if (retryRead()) {
+            return;
+            }
+        }
+        catch (InterruptedException e) {
+        }
+        }
+    }
+    }
+
+    /**
+     * <p>Release a read lock and return.  An error will be thrown
+     * if a read lock is not currently held.</p>
+     *
+     * <p>If this is the last active reader, notify the oldest
+     * waiting writer.  Call when finished with work
+     * controlled by acquireRead.</p>
+     */
+    public void releaseRead() {
+    if (finishRead()) {
+        synchronized (writeLock) {
+        writeLock.notify();
+        }
+    }
+    }
+
+    /**
+     * <p>Acquire the write lock, blocking until the write lock is
+     * available.  Only one writer can acquire the write lock, and
+     * when held, no readers can acquire the read lock.</p>
+     *
+     * <p>If there are no readers and no waiting writers, mark as
+     * having an active writer and return.  Otherwise, add a lock to the
+     * end of the waiting writer list, and block on it.  Caller
+     * must call releaseWrite when done (for example, in a finally
+     * block).<p> 
+     */
+    public void acquireWrite() {
+    if (!getWrite()) {
+        for (;;) {
+        try {
+            synchronized (writeLock) {
+            writeLock.wait();
+            }
+            if (retryWrite()) {
+            return;
+            }
+        }
+        catch (InterruptedException e) {
+        }
+        }
+    }
+    }
+
+    /**
+     * <p>Release the write lock and return.  An error will be thrown
+     * if the write lock is not currently held.</p>
+     *
+     * <p>If there are waiting readers, make them all active and
+     * notify all of them.  Otherwise, notify the oldest waiting
+     * writer, if any.  Call when finished with work controlled by
+     * acquireWrite.</p> 
+     */
+    public void releaseWrite() {
+    switch (finishWrite()) {
+    case NOTIFY_WRITERS:
+        synchronized (writeLock) {
+        writeLock.notify();
+        }
+        break;
+    case NOTIFY_READERS:
+        synchronized (readLock) {
+        readLock.notifyAll();
+        }
+        break;
+    case NOTIFY_NONE:
+        break;
+    }
+    }
+}
diff --git a/src/com/ibm/icu/impl/ICUResourceBundle.java b/src/com/ibm/icu/impl/ICUResourceBundle.java
new file mode 100644
index 0000000..5cd7452
--- /dev/null
+++ b/src/com/ibm/icu/impl/ICUResourceBundle.java
@@ -0,0 +1,1127 @@
+/*
+ * *****************************************************************************
+ * Copyright (C) 2005, International Business Machines Corporation and * others.
+ * All Rights Reserved. *
+ * *****************************************************************************
+ */
+
+package com.ibm.icu.impl;
+
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.IOException;
+import java.lang.ref.SoftReference;
+import java.net.JarURLConnection;
+import java.net.URL;
+import java.nio.ByteBuffer;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.Enumeration;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Locale;
+import java.util.Map;
+import java.util.MissingResourceException;
+import java.util.Set;
+import java.util.Vector;
+import java.util.jar.JarEntry;
+import java.util.jar.JarFile;
+import java.util.regex.Pattern;
+
+import com.ibm.icu.impl.URLHandler.URLVisitor;
+import com.ibm.icu.util.StringTokenizer;
+import com.ibm.icu.util.ULocale;
+import com.ibm.icu.util.UResourceBundle;
+import com.ibm.icu.util.UResourceTypeMismatchException;
+import com.ibm.icu.util.VersionInfo;
+
+public abstract class ICUResourceBundle extends UResourceBundle {
+    /**
+     * The data path to be used with getBundleInstance API
+     * @draft ICU 3.0
+     */
+    protected static final String ICU_DATA_PATH = "com/ibm/icu/impl/";
+    /**
+     * The data path to be used with getBundleInstance API
+     * @draft ICU 3.0
+     */
+    public static final String ICU_BUNDLE = "data/icudt"
+            + VersionInfo.ICU_DATA_VERSION;
+
+    /**
+     * The base name of ICU data to be used with getBundleInstance API
+     * @draft ICU 3.0
+     */
+    public static final String ICU_BASE_NAME = ICU_DATA_PATH + ICU_BUNDLE;
+
+    /**
+     * The base name of collation data to be used with getBundleInstance API
+     * @draft ICU 3.0
+     */
+    public static final String ICU_COLLATION_BASE_NAME = ICU_BASE_NAME
+            + "/coll";
+
+    /**
+     * The base name of rbnf data to be used with getBundleInstance API
+     * @draft ICU 3.0
+     */
+    public static final String ICU_RBNF_BASE_NAME = ICU_BASE_NAME + "/rbnf";
+
+    /**
+     * The base name of transliterator data to be used with getBundleInstance API
+     * @draft ICU 3.0
+     */
+    public static final String ICU_TRANSLIT_BASE_NAME = ICU_BASE_NAME
+            + "/translit";
+
+    /**
+     * The class loader constant to be used with getBundleInstance API
+     * @draft ICU 3.0
+     */
+    public static final ClassLoader ICU_DATA_CLASS_LOADER;
+    static {
+        ClassLoader loader = ICUData.class.getClassLoader();
+        if (loader == null) { // boot class loader
+            loader = ClassLoader.getSystemClassLoader();
+        }
+        ICU_DATA_CLASS_LOADER = loader;
+    }
+
+    /**
+     * The name of the resource containing the installed locales
+     * @draft ICU 3.0
+     */
+    protected static final String INSTALLED_LOCALES = "InstalledLocales";
+
+    /**
+     * Resource type constant for "no resource".
+     * @draft ICU 3.0
+     */
+    public static final int NONE = -1;
+
+    /**
+     * Resource type constant for strings.
+     * @draft ICU 3.0
+     */
+    public static final int STRING = 0;
+
+    /**
+     * Resource type constant for binary data.
+     * @draft ICU 3.0
+     */
+    public static final int BINARY = 1;
+
+    /**
+     * Resource type constant for tables of key-value pairs.
+     * @draft ICU 3.0
+     */
+    public static final int TABLE = 2;
+
+    /**
+     * Resource type constant for aliases;
+     * internally stores a string which identifies the actual resource
+     * storing the data (can be in a different resource bundle).
+     * Resolved internally before delivering the actual resource through the API.
+     * @draft ICU 3.0
+     * @internal
+     */
+    protected static final int ALIAS = 3;
+
+    /**
+     * Internal use only.
+     * Alternative resource type constant for tables of key-value pairs.
+     * Never returned by getType().
+     * @internal
+     * @draft ICU 3.0
+     */
+    protected static final int TABLE32 = 4;
+
+    /**
+     * Resource type constant for a single 28-bit integer, interpreted as
+     * signed or unsigned by the getInt() function.
+     * @see #getInt
+     * @draft ICU 3.0
+     */
+    public static final int INT = 7;
+
+    /**
+     * Resource type constant for arrays of resources.
+     * @draft ICU 3.0
+     */
+    public static final int ARRAY = 8;
+
+    /**
+     * Resource type constant for vectors of 32-bit integers.
+     * @see #getIntVector
+     * @draft ICU 3.0
+     */
+    public static final int INT_VECTOR = 14;
+
+    public static final int FROM_FALLBACK = 1, FROM_ROOT = 2, FROM_DEFAULT = 3, FROM_LOCALE = 4;
+
+    private int loadingStatus = -1;
+
+    public void setLoadingStatus(int newStatus) {
+        loadingStatus = newStatus;
+    }
+    /**
+     * Returns the loading status of a particular resource. 
+     * 
+     * @return FROM_FALLBACK if the resource is fetched from fallback bundle
+     *         FROM_ROOT if the resource is fetched from root bundle.
+     *         FROM_DEFAULT if the resource is fetched from the default locale.
+     */
+    public int getLoadingStatus() {
+        return loadingStatus;
+    }
+    /**
+     * Return the version number associated with this UResourceBundle as an
+     * VersionInfo object.
+     * @return VersionInfo object containing the version of the bundle
+     * @draft ICU 3.0
+     */
+    public VersionInfo getVersion() {
+        return null;
+    }
+
+    /**
+     * Returns a string from a string resource type
+     *
+     * @return a string
+     * @see #getBinary
+     * @see #getIntVector
+     * @see #getInt
+     * @throws MissingResourceException
+     * @throws UResourceTypeMismatchException
+     * @draft ICU 3.0
+     */
+    public String getString() {
+        throw new UResourceTypeMismatchException("");
+    }
+
+    /**
+     * @internal ICU 3.0
+     */
+    public String[] getStringArray() {
+        throw new UResourceTypeMismatchException("");
+    }
+
+    /**
+     * Returns a string from a string resource type
+     * @param key The key whose values needs to be fetched
+     * @return a string
+     * @see #getBinary
+     * @see #getIntVector
+     * @see #getInt
+     * @throws MissingResourceException
+     * @throws UResourceTypeMismatchException
+     * @draft ICU 3.0
+     */
+    //  public String getString(String key) {
+    //      throw new UResourceTypeMismatchException("");
+    //  }
+
+    /**
+     * Returns a binary data from a binary resource.
+     *
+     * @return a pointer to a chuck of unsigned bytes which live in a memory mapped/DLL file.
+     * @see #getIntVector
+     * @see #getInt
+     * @throws MissingResourceException
+     * @throws UResourceTypeMismatchException
+     * @draft ICU 3.0
+     */
+    public ByteBuffer getBinary() {
+        throw new UResourceTypeMismatchException("");
+    }
+
+    /**
+     * Returns a 32 bit integer array from a resource.
+     *
+     * @return a pointer to a chunk of unsigned bytes which live in a memory mapped/DLL file.
+     * @see #getBinary
+     * @see #getInt
+     * @throws MissingResourceException
+     * @throws UResourceTypeMismatchException
+     * @draft ICU 3.0
+     */
+    public int[] getIntVector() {
+        throw new UResourceTypeMismatchException("");
+    }
+
+    /**
+     * Returns a signed integer from a resource.
+     *
+     * @return an integer value
+     * @see #getIntVector
+     * @see #getBinary
+     * @throws MissingResourceException
+     * @throws UResourceTypeMismatchException
+     * @stable ICU 2.0
+     */
+    public int getInt() {
+        throw new UResourceTypeMismatchException("");
+    }
+
+    /**
+     * Returns a unsigned integer from a resource.
+     * This integer is originally 28 bit and the sign gets propagated.
+     *
+     * @return an integer value
+     * @see #getIntVector
+     * @see #getBinary
+     * @throws MissingResourceException
+     * @throws UResourceTypeMismatchException
+     * @stable ICU 2.0
+     */
+    public int getUInt() {
+        throw new UResourceTypeMismatchException("");
+    }
+    /**
+     * Returns the size of a resource. Size for scalar types is always 1,
+     * and for vector/table types is the number of child resources.
+     * <br><b><font color='red'>Warning: </font></b> Integer array is treated as a scalar type. There are no
+     *          APIs to access individual members of an integer array. It
+     *          is always returned as a whole.
+     * @return number of resources in a given resource.
+     * @draft ICU 3.0
+     */
+    public int getSize() {
+        return size;
+    }
+
+    /**
+     * Returns the type of a resource.
+     * Available types are {@link #INT INT}, {@link #ARRAY ARRAY},
+     * {@link #BINARY BINARY}, {@link #INT_VECTOR INT_VECTOR},
+     * {@link #STRING STRING}, {@link #TABLE TABLE}.
+     *
+     * @return type of the given resource.
+     * @draft ICU 3.0
+     */
+    public int getType() {
+        return type;
+    }
+
+    /**
+     * Returns the key associated with a given resource. Not all the resources have a key - only
+     * those that are members of a table.
+     * @return a key associated to this resource, or NULL if it doesn't have a key
+     * @draft ICU 3.0
+     */
+    public String getKey() {
+        return key;
+    }
+
+    /**
+     * Returns the iterator which iterates over this
+     * resource bundle
+     * @draft ICU 3.0
+     */
+    public ICUResourceBundleIterator getIterator() {
+        return new ICUResourceBundleIterator(this);
+    }
+
+    /**
+     * Returns the resource in a given resource at the specified index.
+     *
+     * @param index             an index to the wanted resource.
+     * @return                  the sub resource UResourceBundle object
+     * @throws IndexOutOfBoundsException
+     * @draft ICU 3.0
+     */
+    public ICUResourceBundle get(int index) {
+        return getImpl(index, null, this);
+    }
+    protected ICUResourceBundle getImpl(int index, HashMap table,
+            ICUResourceBundle requested) {
+        ICUResourceBundle obj = handleGet(index, table, requested);
+        if (obj == null) {
+            obj = (ICUResourceBundle) getParent();
+            if (obj != null) {
+                obj = obj.getImpl(index, table, requested);
+            }
+            if (obj == null)
+                throw new MissingResourceException(
+                        "Can't find resource for bundle "
+                                + this.getClass().getName() + ", key "
+                                + getKey(), this.getClass().getName(), getKey());
+        }
+        setLoadingStatus(obj, requested.getLocaleID());
+        return obj;
+    }
+    // abstract UResourceBundle handleGetInt(int index);
+
+    /**
+     * Returns a resource in a given resource that has a given key.
+     *
+     * @param key               a key associated with the wanted resource
+     * @return                  a resource bundle object representing rhe resource
+     * @throws MissingResourceException
+     * @draft ICU 3.0
+     */
+    public ICUResourceBundle get(String key) {
+        return getImpl(key, null, this);
+    }
+    protected ICUResourceBundle getImpl(String key, HashMap table,
+            ICUResourceBundle requested) {
+        ICUResourceBundle obj = handleGet(key, table, requested);
+        if (obj == null) {
+            obj = (ICUResourceBundle) getParent();
+            if (obj != null) {
+                //call the get method to recursively fetch the resource
+                obj = obj.getImpl(key, table, requested);
+            }
+            if (obj == null) {
+                String fullName = ICUResourceBundleReader.getFullName(
+                        getBaseName(), getLocaleID());
+                throw new MissingResourceException(
+                        "Can't find resource for bundle " + fullName + ", key "
+                                + key, this.getClass().getName(), key);
+            }
+        }
+        setLoadingStatus(obj, requested.getLocaleID());
+        return obj;
+    }
+
+    private void setLoadingStatus(ICUResourceBundle bundle, String requestedLocale){
+       String locale = bundle.getLocaleID(); 
+       if(locale.equals("root")){
+           bundle.setLoadingStatus(FROM_ROOT);
+           return;
+       }
+       if(locale.equals(requestedLocale)){
+           bundle.setLoadingStatus(FROM_LOCALE);
+       }else{
+           bundle.setLoadingStatus(FROM_FALLBACK);
+       }
+    } 
+    
+    /**
+     * Returns the string in a given resource at the specified index.
+     *
+     * @param index            an index to the wanted string.
+     * @return                  a string which lives in the resource.
+     * @throws IndexOutOfBoundsException
+     * @throws UResourceTypeMismatchException
+     * @draft ICU 3.0
+     */
+    public String getString(int index) {
+        ICUResourceBundle temp = get(index);
+        if (temp.getType() == STRING) {
+            return temp.getString();
+        }
+        throw new UResourceTypeMismatchException("");
+    }
+
+    /**
+     * Returns the parent bundle of this bundle
+     * @return UResourceBundle the parent of this bundle. Returns null if none
+     * @draft ICU 3.0
+     */
+    public abstract UResourceBundle getParent();
+
+    /**
+     * Returns the locale id of this bundle as String
+     * @return String locale id 
+     * @draft ICU 3.4
+     */
+    protected abstract String getLocaleID();
+
+    /**
+     * Returns a functionally equivalent locale, considering keywords as well, for the specified keyword.
+     * @param baseName resource specifier
+     * @param resName top level resource to consider (such as "collations")
+     * @param keyword a particular keyword to consider (such as "collation" )
+     * @param locID The requested locale
+     * @param fillinIsAvailable If non-null, 1-element array of fillin parameter that indicates whether the
+     * requested locale was available. The locale is defined as 'available' if it physically
+     * exists within the specified tree.
+     * @return the locale
+     * @internal ICU 3.0
+     */
+    public static final ULocale getFunctionalEquivalent(String baseName,
+            String resName, String keyword, ULocale locID,
+            boolean fillinIsAvailable[]) {
+        String kwVal = locID.getKeywordValue(keyword);
+        String baseLoc = locID.getBaseName();
+        String defStr = null;
+        ULocale parent = new ULocale(baseLoc);
+        ULocale found = locID;
+        ULocale defLoc = null; // locale where default (found) resource is
+        boolean lookForDefault = false; // true if kwVal needs to be set
+        ULocale fullBase = null; // base locale of found (target) resource
+        int defDepth = 0; // depth of 'default' marker
+        int resDepth = 0; // depth of found resource;
+        if (fillinIsAvailable != null) {
+            fillinIsAvailable[0] = true;
+        }
+
+        if ((kwVal == null) || (kwVal.length() == 0)
+                || kwVal.equals(DEFAULT_TAG)) {
+            kwVal = ""; // default tag is treated as no keyword
+            lookForDefault = true;
+        }
+
+        // Check top level locale first
+        ICUResourceBundle r = null;
+
+        r = (ICUResourceBundle) UResourceBundle.getBundleInstance(baseName,
+                parent);
+        found = r.getULocale();
+        if (fillinIsAvailable != null) {
+            if (!found.equals(parent)) {
+                fillinIsAvailable[0] = false;
+            }
+        }
+        // determine in which locale (if any) the currently relevant 'default' is
+        do {
+            try {
+                ICUResourceBundle irb = r.get(resName);
+                defStr = irb.getString(DEFAULT_TAG);
+                if (lookForDefault == true) {
+                    kwVal = defStr;
+                    lookForDefault = false;
+                }
+                defLoc = r.getULocale();
+            } catch (MissingResourceException t) {
+                // Ignore error and continue search.
+            }
+            if (defLoc == null) {
+                r = (ICUResourceBundle) r.getParent();
+                defDepth++;
+            }
+        } while ((r != null) && (defLoc == null));
+
+        // Now, search for the named resource
+        parent = new ULocale(baseLoc);
+        r = (ICUResourceBundle) UResourceBundle.getBundleInstance(baseName,
+                parent);
+        // determine in which locale (if any) the named resource is located
+        do {
+            try {
+                ICUResourceBundle irb = r.get(resName);
+                /* UResourceBundle urb = */irb.get(kwVal);
+                fullBase = irb.getULocale(); 
+                // If the get() completed, we have the full base locale
+                // If we fell back to an ancestor of the old 'default',
+                // we need to re calculate the "default" keyword.
+                if ((fullBase != null) && ((resDepth) > defDepth)) {
+                    defStr = irb.getString(DEFAULT_TAG);
+                    defLoc = r.getULocale();
+                    defDepth = resDepth;
+                }
+            } catch (MissingResourceException t) {
+                // Ignore error,
+            }
+            if (fullBase == null) {
+                r = (ICUResourceBundle) r.getParent();
+                resDepth++;
+            }
+        } while ((r != null) && (fullBase == null));
+
+        if (fullBase == null && // Could not find resource 'kwVal'
+                (defStr != null) && // default was defined
+                !defStr.equals(kwVal)) { // kwVal is not default
+            // couldn't find requested resource. Fall back to default.
+            kwVal = defStr; // Fall back to default.
+            parent = new ULocale(baseLoc);
+            r = (ICUResourceBundle) UResourceBundle.getBundleInstance(baseName, parent);
+            resDepth = 0;
+            // determine in which locale (if any) the named resource is located
+            do {
+                try {
+                    ICUResourceBundle irb = r.get(resName);
+                    UResourceBundle urb = irb.get(kwVal);
+                    
+                    // if we didn't fail before this..
+                    fullBase = r.getULocale();
+                    
+                    // If the fetched item (urb) is in a different locale than our outer locale (r/fullBase)
+                    // then we are in a 'fallback' situation. treat as a missing resource situation.
+                    if(!fullBase.toString().equals(urb.getLocale().toString())) {
+                        fullBase = null; // fallback condition. Loop and try again.
+                    }
+
+                    // If we fell back to an ancestor of the old 'default',
+                    // we need to re calculate the "default" keyword.
+                    if ((fullBase != null) && ((resDepth) > defDepth)) {
+                        defStr = irb.getString(DEFAULT_TAG);
+                        defLoc = r.getULocale();
+                        defDepth = resDepth;
+                    }
+                } catch (MissingResourceException t) {
+                    // Ignore error, continue search.
+                }
+                if (fullBase == null) {
+                    r = (ICUResourceBundle) r.getParent();
+                    resDepth++;
+                }
+            } while ((r != null) && (fullBase == null));
+        }
+
+        if (fullBase == null) {
+            throw new MissingResourceException(
+                "Could not find locale containing requested or default keyword.",
+                baseName, keyword + "=" + kwVal);
+        }
+
+        if (defStr.equals(kwVal) // if default was requested and
+            && resDepth <= defDepth) { // default was set in same locale or child
+            return fullBase; // Keyword value is default - no keyword needed in locale
+        } else {
+            return new ULocale(fullBase.toString() + "@" + keyword + "=" + kwVal);
+        }
+    }
+
+    /**
+     * Given a tree path and keyword, return a string enumeration of all possible values for that keyword.
+     * @param baseName resource specifier
+     * @param keyword a particular keyword to consider, must match a top level resource name
+     * within the tree. (i.e. "collations")
+     * @internal ICU 3.0
+     */
+    public static final String[] getKeywordValues(String baseName, String keyword) {
+        Set keywords = new HashSet();
+        ULocale locales[] = createULocaleList(baseName, ICU_DATA_CLASS_LOADER);
+        int i;
+
+        for (i = 0; i < locales.length; i++) {
+            try {
+                UResourceBundle b = UResourceBundle.getBundleInstance(baseName, locales[i]);
+                // downcast to ICUResourceBundle?
+                ICUResourceBundle irb = (ICUResourceBundle) (b.getObject(keyword));
+                Enumeration e = irb.getKeys();
+                Object s;
+                while (e.hasMoreElements()) {
+                    s = e.nextElement();
+                    if ((s instanceof String) && !DEFAULT_TAG.equals(s)) {
+                        // don't add 'default' items
+                        keywords.add(s);
+                    }
+                }
+            } catch (Throwable t) {
+                //System.err.println("Error in - " + new Integer(i).toString()
+                // + " - " + t.toString());
+                // ignore the err - just skip that resource
+            }
+        }
+        return (String[])keywords.toArray(new String[0]);
+    }
+
+    /**
+     * This method performs multilevel fallback for fetching items from the
+     * bundle e.g: If resource is in the form de__PHONEBOOK{ collations{
+     * default{ "phonebook"} } } If the value of "default" key needs to be
+     * accessed, then do: <code>
+     *  UResourceBundle bundle = UResourceBundle.getBundleInstance("de__PHONEBOOK");
+     *  ICUResourceBundle result = null;
+     *  if(bundle instanceof ICUListResourceBundle){
+     *      result = ((ICUListResourceBundle) bundle).getWithFallback("collations/default");
+     *  }
+     * </code>
+     * 
+     * @param path
+     *            The path to the required resource key
+     * @return resource represented by the key
+     * @exception MissingResourceException
+     */
+    public ICUResourceBundle getWithFallback(String path)
+            throws MissingResourceException {
+        ICUResourceBundle result = null;
+        ICUResourceBundle actualBundle = this;
+
+        // now recuse to pick up sub levels of the items
+        result = findResourceWithFallback(path, actualBundle, null);
+
+        if (result == null) {
+            throw new MissingResourceException(
+                "Can't find resource for bundle "
+                + this.getClass().getName() + ", key " + getType(),
+                path, getKey());
+        }
+        return result;
+    }
+
+    // will throw type mismatch exception if the resource is not a string
+    public String getStringWithFallback(String path) throws MissingResourceException {
+        return getWithFallback(path).getString();
+    }
+
+    /**
+     * Gets a resource bundle using the specified base name, locale, and class root.
+     *
+     * @param baseName the base name of the resource bundle, a fully qualified class name
+     * @param localeName the locale for which a resource bundle is desired
+     * @param disableFallback Option to disable locale inheritence.
+     *                          If true the fallback chain will not be built.
+     * @exception MissingResourceException
+     *     if no resource bundle for the specified base name can be found
+     * @return a resource bundle for the given base name and locale
+     * @draft ICU 3.0
+     *
+     */
+    public static UResourceBundle getBundleInstance(String baseName,
+            String localeName, boolean disableFallback) {
+        return instantiateBundle(baseName, localeName, ICU_DATA_CLASS_LOADER,
+            disableFallback);
+    }
+
+    /**
+     * @internal
+     */
+    public static UResourceBundle getBundleInstance(ClassLoader loader,
+            String baseName, String localeName, boolean disableFallback) {
+        return instantiateBundle(baseName, localeName, loader, disableFallback);
+    }
+
+    /**
+     * Return a set of the locale names supported by a collection of resource
+     * bundles.
+     * 
+     * @param bundlePrefix the prefix of the resource bundles to use.
+     */
+    public static Set getAvailableLocaleNameSet(String bundlePrefix) {
+        return getAvailEntry(bundlePrefix).getLocaleNameSet();
+    }
+
+    /**
+     * Return a set of all the locale names supported by a collection of
+     * resource bundles.
+     */
+    public static Set getFullLocaleNameSet() {
+        return getFullLocaleNameSet(ICU_BASE_NAME);
+    }
+
+    /**
+     * Return a set of all the locale names supported by a collection of
+     * resource bundles.
+     * 
+     * @param bundlePrefix the prefix of the resource bundles to use.
+     */
+    public static Set getFullLocaleNameSet(String bundlePrefix) {
+        return getAvailEntry(bundlePrefix).getFullLocaleNameSet();
+    }
+
+    /**
+     * Return a set of the locale names supported by a collection of resource
+     * bundles.
+     */
+    public static Set getAvailableLocaleNameSet() {
+        return getAvailableLocaleNameSet(ICU_BASE_NAME);
+    }
+
+    /**
+     * Get the set of Locales installed in the specified bundles.
+     * @return the list of available locales
+     * @draft ICU 3.0
+     */
+    public static final ULocale[] getAvailableULocales(String baseName) {
+        return getAvailEntry(baseName).getULocaleList();
+    }
+
+    /**
+     * Get the set of ULocales installed the base bundle.
+     * @return the list of available locales
+     * @draft ICU 3.0
+     */
+    public static final ULocale[] getAvailableULocales() {
+        return getAvailableULocales(ICU_BASE_NAME);
+    }
+
+    /**
+     * Get the set of Locales installed in the specified bundles.
+     * @return the list of available locales
+     * @draft ICU 3.0
+     */
+    public static final Locale[] getAvailableLocales(String baseName) {
+        return getAvailEntry(baseName).getLocaleList();
+    }
+
+   /**
+     * Get the set of Locales installed the base bundle.
+     * @return the list of available locales
+     * @draft ICU 3.0
+     */
+    public static final Locale[] getAvailableLocales() {
+        return getAvailEntry(ICU_BASE_NAME).getLocaleList();
+    }
+
+    /**
+     * Convert a list of ULocales to a list of Locales.  ULocales with a script code will not be converted
+     * since they cannot be represented as a Locale.  This means that the two lists will <b>not</b> match
+     * one-to-one, and that the returned list might be shorter than the input list.
+     * @param ulocales a list of ULocales to convert to a list of Locales.
+     * @return the list of converted ULocales
+     * @draft ICU 3.0
+     */
+    public static final Locale[] getLocaleList(ULocale[] ulocales) {
+        ArrayList list = new ArrayList();
+        for (int i = 0; i < ulocales.length; i++) {
+            // if the ULocale does not contain a script code
+            // only then convert it to a Locale object
+            if (ulocales[i].getScript().length() == 0) {
+                list.add(ulocales[i].toLocale());
+            }
+        }
+        return (Locale[]) list.toArray(new Locale[list.size()]);
+    }
+
+    public Enumeration getKeys() {
+        Vector keys = new Vector();
+        ICUResourceBundle item = null;
+        for (int i = 0; i < size; i++) {
+            item = get(i);
+            keys.add(item.getKey());
+        }
+        return keys.elements();
+    }
+
+    public static ICUResourceBundle createBundle(String baseName,
+            String localeID, ClassLoader root) {
+        return ICUResourceBundleImpl.createBundle(baseName, localeID, root);
+    }
+
+    //====== protected members ==============
+    protected int type = NONE;
+    protected String key;
+    protected int size = 1;
+    protected String resPath;
+    protected long resource = RES_BOGUS;
+    protected boolean isTopLevel = false;
+
+    protected static final long UNSIGNED_INT_MASK = 0xffffffffL;
+
+    protected static final long RES_BOGUS = 0xffffffff;
+
+    protected ICUResourceBundle handleGet(String key, HashMap table,
+            ICUResourceBundle requested) {
+        throw new UResourceTypeMismatchException("");
+    }
+    protected ICUResourceBundle handleGet(int index, HashMap table,
+            ICUResourceBundle requested) {
+        throw new UResourceTypeMismatchException("");
+    }
+
+    /**
+     * Returns the locale of this resource bundle. This method can be used after
+     * a call to getBundle() to determine whether the resource bundle returned
+     * really corresponds to the requested locale or is a fallback.
+     * 
+     * @return the locale of this resource bundle
+     */
+    public Locale getLocale() {
+        return getULocale().toLocale();
+    }
+
+    // this method is declared in ResourceBundle class
+    // so cannot change the signature
+    protected Object handleGetObject(String key) {
+        return handleGetObjectImpl(key, this);
+    }
+
+    // To facilitate XPath style aliases we need a way to pass the reference
+    // to requested locale. The only way I could figure out is to implement
+    // the look up logic here. This has a disadvantage that if the client
+    // loads an ICUResourceBundle, calls ResourceBundle.getObject method
+    // with a key that does not exist in the bundle then the lookup is
+    // done twice before throwing a MissingResourceExpection.
+    private Object handleGetObjectImpl(String key, ICUResourceBundle requested) {
+        Object obj = resolveObject(key, requested);
+        if (obj == null) {
+            ICUResourceBundle parent = (ICUResourceBundle) getParent();
+            if (parent != null) {
+                obj = parent.handleGetObjectImpl(key, requested);
+            }
+            if (obj == null)
+                throw new MissingResourceException(
+                    "Can't find resource for bundle "
+                    + this.getClass().getName() + ", key " + key,
+                    this.getClass().getName(), key);
+        }
+        return obj;
+    }
+
+    private Object resolveObject(String key, ICUResourceBundle requested) {
+        if (getType() == STRING) {
+            return getString();
+        }
+        ICUResourceBundle obj = handleGet(key, requested);
+        if (obj != null) {
+            if (obj.getType() == STRING) {
+                return obj.getString();
+            }
+            try {
+                if (obj.getType() == ARRAY) {
+                    return obj.handleGetStringArray();
+                }
+            } catch (UResourceTypeMismatchException ex) {
+                return obj;
+            }
+        }
+        return obj;
+    }
+
+    protected ICUResourceBundle handleGet(int index, ICUResourceBundle requested) {
+        return null;
+    }
+
+    protected ICUResourceBundle handleGet(String key,
+            ICUResourceBundle requested) {
+        return null;
+    }
+
+    protected String[] handleGetStringArray() {
+        return null;
+    }
+
+    // ========== privates ==========
+    private static final String ICU_RESOURCE_INDEX = "res_index";
+
+    private static final String DEFAULT_TAG = "default";
+
+    // Flag for enabling/disabling debugging code
+    private static final boolean DEBUG = ICUDebug.enabled("localedata");
+
+    // Cache for getAvailableLocales
+    private static SoftReference GET_AVAILABLE_CACHE;
+    private static final ULocale[] createULocaleList(String baseName,
+            ClassLoader root) {
+        // the canned list is a subset of all the available .res files, the idea
+        // is we don't export them
+        // all. gotta be a better way to do this, since to add a locale you have
+        // to update this list,
+        // and it's embedded in our binary resources.
+        ICUResourceBundle bundle = (ICUResourceBundle) instantiateBundle(
+                baseName, ICU_RESOURCE_INDEX, root, true);
+        bundle = bundle.get(INSTALLED_LOCALES);
+        int length = bundle.getSize();
+        int i = 0;
+        ULocale[] locales = new ULocale[length];
+        ICUResourceBundleIterator iter = bundle.getIterator();
+        iter.reset();
+        while (iter.hasNext()) {
+            locales[i++] = new ULocale(iter.next().getKey());
+        }
+        bundle = null;
+        return locales;
+    }
+
+    private static final Locale[] createLocaleList(String baseName) {
+        ULocale[] ulocales = getAvailEntry(baseName).getULocaleList();
+        return getLocaleList(ulocales);
+    }
+
+    private static final String[] createLocaleNameArray(String baseName,
+            ClassLoader root) {
+        ICUResourceBundle bundle = (ICUResourceBundle) instantiateBundle(
+                baseName, ICU_RESOURCE_INDEX, root, true);
+        bundle = bundle.get(INSTALLED_LOCALES);
+        int length = bundle.getSize();
+        int i = 0;
+        String[] locales = new String[length];
+        ICUResourceBundleIterator iter = bundle.getIterator();
+        iter.reset();
+        while (iter.hasNext()) {
+            locales[i++] = iter.next().getKey();
+        }
+        bundle = null;
+        return locales;
+    }
+
+    private static final ArrayList createFullLocaleNameArray(
+            final String baseName, final ClassLoader root) {
+
+        ArrayList list = (ArrayList) java.security.AccessController
+            .doPrivileged(new java.security.PrivilegedAction() {
+                public Object run() {
+                    // WebSphere class loader will return null for a raw
+                    // directory name without trailing slash
+                    String bn = baseName.endsWith("/")
+                        ? baseName
+                        : baseName + "/";
+
+                    // look for prebuilt indices first
+                    try {
+                        InputStream s = root.getResourceAsStream(bn + ICU_RESOURCE_INDEX + ".txt");
+                        if (s != null) {
+                            ArrayList list = new ArrayList();
+                            BufferedReader br = new BufferedReader(new InputStreamReader(s, "ASCII"));
+                            String line;
+                            while ((line = br.readLine()) != null) {
+                                if (line.length() != 0 && !line.startsWith("#")) {
+                                    list.add(line);
+                                }
+                            }
+                            return list;
+                        }
+                    } catch (IOException e) {
+                        // swallow it
+                    }
+
+                    URL url = root.getResource(bn);
+                    URLHandler handler = URLHandler.get(url);
+                    if (handler != null) {
+                        final ArrayList list = new ArrayList();
+                        URLVisitor v = new URLVisitor() {
+                            private Pattern p = Pattern.compile(".*\\.res");
+                            public void visit(String s) {
+                                if (p.matcher(s).matches() && !"res_index.res".equals(s)) {
+                                    list.add(s.substring(0, s.length() - 4)); // strip '.res'
+                                }
+                            }
+                        };
+                        handler.guide(v, false);
+                        return list;
+                    }
+
+                    return null;
+                }
+            });
+
+        return list;
+    }
+
+    private static Set createFullLocaleNameSet(String baseName) {
+        ArrayList list = createFullLocaleNameArray(baseName,ICU_DATA_CLASS_LOADER);
+        HashSet set = new HashSet();
+        if(list==null){
+            throw new MissingResourceException("Could not find "+  ICU_RESOURCE_INDEX, "", "");
+        }
+        set.addAll(list);
+        return Collections.unmodifiableSet(set);
+    }
+
+    private static Set createLocaleNameSet(String baseName) {
+        try {
+            String[] locales = createLocaleNameArray(baseName, ICU_DATA_CLASS_LOADER);
+
+            HashSet set = new HashSet();
+            set.addAll(Arrays.asList(locales));
+            return Collections.unmodifiableSet(set);
+        } catch (MissingResourceException e) {
+            if (DEBUG) {
+                System.out.println("couldn't find index for bundleName: " + baseName);
+                Thread.dumpStack();
+            }
+        }
+        return Collections.EMPTY_SET;
+    }
+
+    /**
+     * Holds the prefix, and lazily creates the Locale[] list or the locale name
+     * Set as needed.
+     */
+    private static final class AvailEntry {
+        private String prefix;
+        private ULocale[] ulocales;
+        private Locale[] locales;
+        private Set nameSet;
+        private Set fullNameSet;
+
+        AvailEntry(String prefix) {
+            this.prefix = prefix;
+        }
+
+        ULocale[] getULocaleList() {
+            if (ulocales == null) {
+                ulocales = createULocaleList(prefix, ICU_DATA_CLASS_LOADER);
+            }
+            return ulocales;
+        }
+        Locale[] getLocaleList() {
+            if (locales == null) {
+                locales = createLocaleList(prefix);
+            }
+            return locales;
+        }
+        Set getLocaleNameSet() {
+            if (nameSet == null) {
+                nameSet = createLocaleNameSet(prefix);
+            }
+            return nameSet;
+        }
+        Set getFullLocaleNameSet() {
+            if (fullNameSet == null) {
+                fullNameSet = createFullLocaleNameSet(prefix);
+            }
+            return fullNameSet;
+        }
+    }
+
+    /**
+     * Stores the locale information in a cache accessed by key (bundle prefix).
+     * The cached objects are AvailEntries. The cache is held by a SoftReference
+     * so it can be GC'd.
+     */
+    private static AvailEntry getAvailEntry(String key) {
+        AvailEntry ae = null;
+        Map lcache = null;
+        if (GET_AVAILABLE_CACHE != null) {
+            lcache = (Map) GET_AVAILABLE_CACHE.get();
+            if (lcache != null) {
+                ae = (AvailEntry) lcache.get(key);
+            }
+        }
+
+        if (ae == null) {
+            ae = new AvailEntry(key);
+            if (lcache == null) {
+                lcache = new HashMap();
+                lcache.put(key, ae);
+                GET_AVAILABLE_CACHE = new SoftReference(lcache);
+            } else {
+                lcache.put(key, ae);
+            }
+        }
+
+        return ae;
+    }
+
+    private ICUResourceBundle findResourceWithFallback(String path,
+            ICUResourceBundle actualBundle, ICUResourceBundle requested) {
+        ICUResourceBundle sub = null;
+        if (requested == null) {
+            requested = actualBundle;
+        }
+        while (actualBundle != null) {
+            StringTokenizer st = new StringTokenizer(path, "/");
+            ICUResourceBundle current = actualBundle;
+            while (st.hasMoreTokens()) {
+                String subKey = st.nextToken();
+                sub = current.handleGet(subKey, requested);
+                if (sub == null) {
+                    break;
+                }
+                current = sub;
+            }
+            if (sub != null) {
+                //we found it
+                break;
+            }
+            if (actualBundle.resPath.length() != 0) {
+                path = resPath + "/" + path;
+            }
+            // if not try the parent bundle
+            actualBundle = (ICUResourceBundle) actualBundle.getParent();
+
+        }
+        if(sub != null){
+            setLoadingStatus(sub, requested.getLocaleID());
+        }
+        return sub;
+    }
+    public boolean equals(Object other) {
+        if (other instanceof ICUResourceBundle) {
+            ICUResourceBundle o = (ICUResourceBundle) other;
+            if (getBaseName().equals(o.getBaseName())
+                    && getULocale().equals(o.getULocale())) {
+                return true;
+            }
+        }
+        return false;
+    }
+}
diff --git a/src/com/ibm/icu/impl/ICUResourceBundleImpl.java b/src/com/ibm/icu/impl/ICUResourceBundleImpl.java
new file mode 100644
index 0000000..a33ae15
--- /dev/null
+++ b/src/com/ibm/icu/impl/ICUResourceBundleImpl.java
@@ -0,0 +1,682 @@
+/*
+ ******************************************************************************
+ * Copyright (C) 2004-2005, International Business Machines Corporation and   *
+ * others. All Rights Reserved.                                               *
+ ******************************************************************************
+ */
+package com.ibm.icu.impl;
+
+import java.nio.ByteBuffer;
+import java.util.HashMap;
+import java.util.MissingResourceException;
+import java.util.ResourceBundle;
+
+import com.ibm.icu.util.StringTokenizer;
+import com.ibm.icu.util.ULocale;
+import com.ibm.icu.util.UResourceBundle;
+import com.ibm.icu.util.UResourceTypeMismatchException;
+/**
+ * @author ram
+ */
+public class ICUResourceBundleImpl extends ICUResourceBundle {
+    //protected byte[] version;
+    private byte[] rawData;
+    private long rootResource;
+    private String localeID;
+    private String baseName;
+    private ULocale ulocale;
+
+    /**
+     * 
+     * @param baseName
+     * @param localeID
+     * @param root
+     * @return the new bundle
+     */
+    public static ICUResourceBundle createBundle(String baseName,
+            String localeID, ClassLoader root) {
+
+        ICUResourceBundleReader reader = ICUResourceBundleReader.getReader(
+                baseName, localeID, root);
+
+        // could not open the .res file so return null
+        if (reader == null) {
+            return null;
+        }
+
+        byte[] rawData = reader.getData();
+        long rootResource = (UNSIGNED_INT_MASK) & getInt(rawData, 0);
+        ICUResourceBundleImpl bundle = new ICUResourceBundleImpl(rawData,
+                baseName, localeID, rootResource);
+        return bundle.getBundle();
+    }
+
+    protected String getLocaleID() {
+        return localeID;
+    }
+
+    protected String getBaseName() {
+        return baseName;
+    }
+
+    public ULocale getULocale() {
+        return ulocale;
+    }
+
+    public UResourceBundle getParent() {
+        return (UResourceBundle) parent;
+    }
+
+    protected void setParent(ResourceBundle parent) {
+        this.parent = parent;
+    }
+
+    private ICUResourceBundle getBundle() {
+        int type = RES_GET_TYPE(rootResource);
+        if (type == TABLE) {
+            ResourceTable table = new ResourceTable(null, rootResource, "", true);
+            if(table.size==1){
+                ICUResourceBundle b = table.handleGet(0, table);
+                String itemKey = b.getKey();
+                
+                // %%ALIAS is such a hack!
+                if (itemKey.equals("%%ALIAS")) {
+                    String locale = b.getString();
+                    ICUResourceBundle actual = (ICUResourceBundle) UResourceBundle.getBundleInstance(baseName, locale);
+                    return (ResourceTable) actual;
+                }else{
+                    return table;
+                }
+            }else {
+                return table;
+            }
+        } else if (type == TABLE32) {
+
+            // genrb does not generate Table32 with %%ALIAS
+            return new ResourceTable32(null, rootResource, "", true);
+        } else {
+            throw new InternalError("Invalid format error");
+        }
+    }
+    private ICUResourceBundleImpl(byte[] rawData, String baseName,
+            String localeID, long rootResource) {
+        this.rawData = rawData;
+        this.rootResource = rootResource;
+        this.baseName = baseName;
+        this.localeID = localeID;
+        this.ulocale = new ULocale(localeID);
+    }
+    private static final int RES_GET_TYPE(long res) {
+        return (int) ((res) >> 28L);
+    }
+    private static final int RES_GET_OFFSET(long res) {
+        return (int) ((res & 0x0fffffff) * 4);
+    }
+    /* get signed and unsigned integer values directly from the Resource handle */
+    private static final int RES_GET_INT(long res) {
+        return (((int) ((res) << 4L)) >> 4L);
+    }
+    private static final long RES_GET_UINT(long res) {
+        long t = ((res) & 0x0fffffffL);
+        return t;
+    }
+    private static final StringBuffer RES_GET_KEY(byte[] rawData,
+            int keyOffset) {
+        char ch = 0xFFFF; //sentinel
+        StringBuffer key = new StringBuffer();
+        while ((ch = (char) rawData[keyOffset]) != 0) {
+            key.append(ch);
+            keyOffset++;
+        }
+        return key;
+    }
+    private static final int getIntOffset(int offset) {
+        return (offset * 4);
+    }
+    private static final int getCharOffset(int offset) {
+        return (offset * 2);
+    }
+    private final ICUResourceBundle createBundleObject(String key,
+            long resource, String resPath, HashMap table, ICUResourceBundle requested) {
+        //if (resource != RES_BOGUS) {
+        switch (RES_GET_TYPE(resource)) {
+            case STRING : {
+                return new ResourceString(key, resPath, resource);
+            }
+            case BINARY : {
+                return new ResourceBinary(key, resPath, resource);
+            }
+            case ALIAS : {
+                return findResource(key, resource, table, requested);
+            }
+            case INT : {
+                return new ResourceInt(key, resPath, resource);
+            }
+            case INT_VECTOR : {
+                return new ResourceIntVector(key, resPath, resource);
+            }
+            case ARRAY : {
+                return new ResourceArray(key, resPath, resource);
+            }
+            case TABLE32 : {
+                return new ResourceTable32(key, resPath, resource);
+            }
+            case TABLE : {
+                return new ResourceTable(key, resPath, resource);
+            }
+            default :
+                throw new InternalError("The resource type is unknown");
+        }
+        //}
+        //return null;
+    }
+    private int findKey(int size, int currentOffset, Resource res, String target) {
+        int mid = 0, start = 0, limit = size, rc;
+        int lastMid = -1;
+        //int myCharOffset = 0, keyOffset = 0;
+        for (;;) {
+            mid = ((start + limit) / 2);
+            if (lastMid == mid) { /* Have we moved? */
+                break; /* We haven't moved, and it wasn't found. */
+            }
+            lastMid = mid;
+            String comp = res.getKey(currentOffset, mid);
+            rc = target.compareTo(comp);
+            if (rc < 0) {
+                limit = mid;
+            } else if (rc > 0) {
+                start = mid;
+            } else {
+                return mid;
+            }
+        }
+        return -1;
+    }
+    private interface Resource {
+        public String getKey(int currentOfset, int index);
+    }
+    private class ResourceTable extends ICUResourceBundle implements Resource {
+
+        protected ICUResourceBundle handleGet(String key, ICUResourceBundle requested) {
+            return handleGet(key, null, requested);
+        }
+        protected ICUResourceBundle handleGet(String key, HashMap table, ICUResourceBundle requested) {
+            if(size<=0){
+                return null;
+            }
+            int offset = RES_GET_OFFSET(resource);
+            // offset+0 contains number of entries
+            // offset+1 contains the keyOffset  
+            int currentOffset = (offset) + getCharOffset(1);
+            //int keyOffset = rawData.getChar(currentOffset);
+            /* do a binary search for the key */
+            int foundOffset = findKey(size, currentOffset, this, key);
+            if (foundOffset == -1) {
+                //throw new MissingResourceException(ICUResourceBundleReader.getFullName(baseName, localeID),
+                //                                    localeID,
+                //                                    key);
+                return null;
+            }
+            currentOffset += getCharOffset(size + (~size & 1))
+                    + getIntOffset(foundOffset);
+            long resource = (UNSIGNED_INT_MASK) & ICUResourceBundleImpl.getInt(rawData, currentOffset);
+            String path = (isTopLevel == true) ? key : resPath + "/" + key;
+            return createBundleObject(key, resource, path, table, requested);
+        }
+        protected ICUResourceBundle handleGet(int index, ICUResourceBundle requested) {
+            return handleGet(index, null, requested);
+        }
+        public String getKey(int currentOffset, int index) {
+            int charOffset = currentOffset + getCharOffset(index);
+            int keyOffset = getChar(rawData,charOffset);
+            return RES_GET_KEY(rawData, keyOffset).toString();
+        }
+        protected ICUResourceBundle handleGet(int index, HashMap table, ICUResourceBundle requested) {
+            if (index > size) {
+                throw new IndexOutOfBoundsException();
+            }
+            int offset = RES_GET_OFFSET(resource);
+            // offset+0 contains number of entries
+            // offset+1 contains the keyOffset  
+            int currentOffset = (offset) + getCharOffset(1);
+            String itemKey = getKey(currentOffset, index);
+            currentOffset += getCharOffset(size + (~size & 1))
+                    + getIntOffset(index);
+            long resource = (UNSIGNED_INT_MASK) & ICUResourceBundleImpl.getInt(rawData,currentOffset);
+            String path = (isTopLevel == true)
+                    ? Integer.toString(index)
+                    : resPath + "/" + index;
+            return createBundleObject(itemKey, resource, path, table, requested);
+        }
+        private int countItems() {
+            int offset = RES_GET_OFFSET(resource);
+            int value = getChar(rawData,offset);
+            return value;
+        }
+        private ResourceTable(String key, String resPath, long resource) {
+            this(key, resource, resPath, false);
+        }
+        private ResourceTable(String key, long resource, String resPath,
+                boolean isTopLevel) {
+            this.key = key;
+            this.resource = resource;
+            this.isTopLevel = isTopLevel;
+            this.size = countItems();
+            this.resPath = resPath;
+        }
+        protected String getLocaleID() {
+            return localeID;
+        }
+        protected String getBaseName() {
+            return baseName;
+        }
+
+        public ULocale getULocale() {
+            return ulocale;
+        }
+        public UResourceBundle getParent() {
+            return ICUResourceBundleImpl.this.getParent();
+        }
+        protected void setParent(ResourceBundle parent) {
+            ICUResourceBundleImpl.this.setParent(parent);
+        }
+    }
+    private class ResourceTable32 extends ICUResourceBundle implements Resource {
+
+        protected ICUResourceBundle handleGet(String key, ICUResourceBundle requested) {
+            if(size<=0){
+                return null;
+            }
+            return handleGet(key, null, requested);
+        }
+        protected ICUResourceBundle handleGet(String key, HashMap table, ICUResourceBundle requested) {
+            int offset = RES_GET_OFFSET(resource);
+            // offset+0 contains number of entries
+            // offset+1 contains the keyOffset  
+            int currentOffset = (offset) + getIntOffset(1);
+            //int keyOffset = rawData.getChar(currentOffset);
+            /* do a binary search for the key */
+            int foundOffset = findKey(size, currentOffset, this, key);
+            if (foundOffset == -1) {
+                throw new MissingResourceException(
+                        "Could not find resource ",
+                        ICUResourceBundleReader.getFullName(baseName, localeID),
+                        key);
+            }
+            currentOffset += getIntOffset(size) + getIntOffset(foundOffset);
+            long resource = (UNSIGNED_INT_MASK) & ICUResourceBundleImpl.getInt(rawData,currentOffset);
+            String path = (isTopLevel == true) ? key : resPath + "/" + key;
+            return createBundleObject(key, resource, path, table, requested);
+        }
+        protected ICUResourceBundle handleGet(int index, ICUResourceBundle requested) {
+            return handleGet(index, null, requested);
+        }
+        public String getKey(int currentOffset, int index) {
+            int charOffset = currentOffset + getIntOffset(index);
+            int keyOffset = ICUResourceBundleImpl.getInt(rawData,charOffset);
+            return RES_GET_KEY(rawData, keyOffset).toString();
+        }
+        protected ICUResourceBundle handleGet(int index, HashMap table, ICUResourceBundle requested) {
+            if (index > size) {
+                throw new IndexOutOfBoundsException();
+            }
+            int offset = RES_GET_OFFSET(resource);
+            // offset+0 contains number of entries
+            // offset+1 contains the keyOffset  
+            int currentOffset = (offset) + getIntOffset(1)
+                    + getIntOffset(index);
+            String itemKey = getKey(currentOffset, 0);
+            currentOffset += getIntOffset(size);
+            long resource = (UNSIGNED_INT_MASK) & ICUResourceBundleImpl.getInt(rawData,currentOffset);
+            String path = (isTopLevel == true)
+                    ? Integer.toString(index)
+                    : resPath + "/" + index;
+            return createBundleObject(itemKey, resource, path, table, requested);
+        }
+        private int countItems() {
+            int offset = RES_GET_OFFSET(resource);
+            int value = ICUResourceBundleImpl.getInt(rawData, offset);
+            return value;
+        }
+        private ResourceTable32(String key, long resource, String resPath,
+                boolean isTopLevel) {
+            this.resource = resource;
+            this.key = key;
+            this.type = TABLE;//Mask the table32's real type
+            this.isTopLevel = isTopLevel;
+            this.size = countItems();
+            this.resPath = resPath;
+        }
+        private ResourceTable32(String key, String resPath, long resource) {
+            this(key, resource, resPath, false);
+        }
+
+        protected String getLocaleID() {
+            return localeID;
+        }
+        protected String getBaseName() {
+            return baseName;
+        }
+
+        public ULocale getULocale() {
+            return ulocale;
+        }
+        public UResourceBundle getParent() {
+            return ICUResourceBundleImpl.this.getParent();
+        }
+        protected void setParent(ResourceBundle parent) {
+            ICUResourceBundleImpl.this.setParent(parent);
+        }
+
+    }
+    private class ResourceString extends ICUResourceBundle {
+        private String value;
+        public String getString() {
+            return value;
+        }
+        private ResourceString(String key, String resPath, long resource) {
+            value = getStringValue(resource);
+            this.key = key;
+            this.resource = resource;
+            this.type = RES_GET_TYPE(resource);
+            this.resPath = resPath;
+        }
+        protected String getLocaleID() {
+            return localeID;
+        }
+        protected String getBaseName() {
+            return baseName;
+        }
+
+        public ULocale getULocale() {
+            return ulocale;
+        }
+        public UResourceBundle getParent() {
+            return ICUResourceBundleImpl.this.getParent();
+        }
+    }
+    private class ResourceInt extends ICUResourceBundle {
+        public int getInt() {
+            return RES_GET_INT(resource);
+        }
+        public int getUInt() {
+            long ret = RES_GET_UINT(resource);
+            return (int) ret;
+        }
+        private ResourceInt(String key, String resPath, long resource) {
+            this.key = key;
+            this.resource = resource;
+            this.type = RES_GET_TYPE(resource);
+            this.resPath = resPath;
+        }
+        protected String getLocaleID() {
+            return localeID;
+        }
+        protected String getBaseName() {
+            return baseName;
+        }
+
+        public ULocale getULocale() {
+            return ulocale;
+        }
+        public UResourceBundle getParent() {
+            return ICUResourceBundleImpl.this.getParent();
+        }
+    }
+    private class ResourceArray extends ICUResourceBundle {
+        protected String[] handleGetStringArray() {
+            String[] strings = new String[size];
+            ICUResourceBundleIterator iter = getIterator();
+            int i = 0;
+            while (iter.hasNext()) {
+                strings[i++] = iter.next().getString();
+            }
+            return strings;
+        }
+        /**
+         * @internal ICU 3.0
+         */
+        public String[] getStringArray() {
+            return handleGetStringArray();
+        }
+        protected ICUResourceBundle handleGet(String index, ICUResourceBundle requested) {
+            return handleGet(index, null, requested);
+        }
+        protected ICUResourceBundle handleGet(String index, HashMap table, ICUResourceBundle requested) {
+            int val = getIndex(index);
+            if (val > -1) {
+                return handleGet(val, table, requested);
+            }
+            throw new UResourceTypeMismatchException("Could not get the correct value for index: "+ index);
+        }
+        protected ICUResourceBundle handleGet(int index, ICUResourceBundle requested) {
+            return handleGet(index, null, requested);
+        }
+        protected ICUResourceBundle handleGet(int index, HashMap table, ICUResourceBundle requested) {
+            if (index > size) {
+                throw new IndexOutOfBoundsException();
+            }
+            int offset = RES_GET_OFFSET(resource);
+            int itemOffset = offset + getIntOffset(index + 1);
+            long itemResource = (UNSIGNED_INT_MASK) & ICUResourceBundleImpl.getInt(rawData,itemOffset);
+            String path = (isTopLevel == true) ? Integer.toString(index) : resPath + "/" + index;
+            return createBundleObject(null, itemResource, path, table, requested);
+        }
+        private int countItems() {
+            int offset = RES_GET_OFFSET(resource);
+            int value = ICUResourceBundleImpl.getInt(rawData,offset);
+            return value;
+        }
+        private ResourceArray(String key, String resPath, long resource) {
+            this.resource = resource;
+            this.key = key;
+            this.type = RES_GET_TYPE(resource);
+            this.size = countItems();
+            this.resPath = resPath;
+        }
+        protected String getLocaleID() {
+            return localeID;
+        }
+        protected String getBaseName() {
+            return baseName;
+        }
+
+        public ULocale getULocale() {
+            return ulocale;
+        }
+        public UResourceBundle getParent() {
+            return ICUResourceBundleImpl.this.getParent();
+        }
+    }
+    private static char makeChar(byte b1, byte b0) {
+        return (char)((b1 << 8) | (b0 & 0xff));
+    }
+    private static char getChar(byte[]data, int offset){
+        return makeChar(data[offset], data[offset+1]);
+    }
+    private static int makeInt(byte b3, byte b2, byte b1, byte b0) {
+        return (int)((((b3 & 0xff) << 24) |
+                  ((b2 & 0xff) << 16) |
+                  ((b1 & 0xff) <<  8) |
+                  ((b0 & 0xff) <<  0)));
+    }
+    
+    private static int getInt(byte[] data, int offset){
+        assert offset < data.length;
+        return makeInt(data[offset], data[offset+1], 
+                       data[offset+2], data[offset+3]);
+    }
+    
+    private class ResourceBinary extends ICUResourceBundle {
+        private byte[] value;
+        public ByteBuffer getBinary() {
+            return ByteBuffer.wrap(value);
+        }
+        private byte[] getValue() {
+            int offset = RES_GET_OFFSET(resource);
+            int length = ICUResourceBundleImpl.getInt(rawData,offset);
+            int byteOffset = offset + getIntOffset(1);
+            byte[] dst = new byte[length];
+            assert byteOffset+length < rawData.length;
+            System.arraycopy(rawData, byteOffset, dst, 0, length);
+            return dst;
+        }
+        public ResourceBinary(String key, String resPath, long resource) {
+            this.resource = resource;
+            this.key = key;
+            this.type = RES_GET_TYPE(resource);
+            this.resPath = resPath;
+            value = getValue();
+        }
+        protected String getLocaleID() {
+            return localeID;
+        }
+        protected String getBaseName() {
+            return baseName;
+        }
+
+        public ULocale getULocale() {
+            return ulocale;
+        }
+        public UResourceBundle getParent() {
+            return ICUResourceBundleImpl.this.getParent();
+        }
+    }
+    private class ResourceIntVector extends ICUResourceBundle {
+        private int[] value;
+        public int[] getIntVector() {
+            return value;
+        }
+        private int[] getValue() {
+            int offset = RES_GET_OFFSET(resource);
+            int length = ICUResourceBundleImpl.getInt(rawData,offset);
+            int intOffset = offset + getIntOffset(1);
+            int[] val = new int[length];
+            int byteLength = getIntOffset(length);
+            
+            assert (intOffset+byteLength)<rawData.length;
+            
+            for(int i=0; i<length;i++){
+                val[i]=ICUResourceBundleImpl.getInt(rawData, intOffset+getIntOffset(i));
+            }
+            return val;
+        }
+        public ResourceIntVector(String key, String resPath, long resource) {
+            this.key = key;
+            this.resource = resource;
+            this.size = 1;
+            this.type = RES_GET_TYPE(resource);
+            this.resPath = resPath;
+            value = getValue();
+        }
+        protected String getLocaleID() {
+            return localeID;
+        }
+        protected String getBaseName() {
+            return baseName;
+        }
+
+        public ULocale getULocale() {
+            return ulocale;
+        }
+        public UResourceBundle getParent() {
+            return ICUResourceBundleImpl.this.getParent();
+        }
+    }
+    private String getStringValue(long resource) {
+        int offset = RES_GET_OFFSET(resource);
+        int length = getInt(rawData,offset);
+        int stringOffset = offset + getIntOffset(1);
+        char[] dst = new char[length];
+        assert (stringOffset+getCharOffset(length)) < rawData.length;
+        for(int i=0; i<length; i++){
+            dst[i]=getChar(rawData, stringOffset+getCharOffset(i));
+        }
+        return new String(dst);
+    }
+    private static final char RES_PATH_SEP_CHAR = '/';
+    private static final String ICUDATA = "ICUDATA";
+    private static final String LOCALE = "LOCALE";
+    
+    private static final int getIndex(String s) {
+        if (s.length() >= 1) {
+            return Integer.valueOf(s).intValue();
+        }
+        return -1;
+    }
+    private ICUResourceBundle findResource(String key, long resource,
+            HashMap table, ICUResourceBundle requested) {
+        String locale = null, keyPath = null;
+        String bundleName;
+        String resPath = getStringValue(resource);
+        if (table == null) {
+            table = new HashMap();
+        }
+        if (table.get(resPath) != null) {
+            throw new IllegalArgumentException(
+                    "Circular references in the resource bundles");
+        }
+        table.put(resPath, "");
+        if (resPath.indexOf(RES_PATH_SEP_CHAR) == 0) {
+            int i = resPath.indexOf(RES_PATH_SEP_CHAR, 1);
+            int j = resPath.indexOf(RES_PATH_SEP_CHAR, i + 1);
+            bundleName = resPath.substring(1, i);
+            locale = resPath.substring(i + 1);
+            if (j != -1) {
+                locale = resPath.substring(i + 1, j);
+                keyPath = resPath.substring(j + 1, resPath.length());
+            }
+            //there is a path included
+            if (bundleName.equals(ICUDATA)) {
+                bundleName = ICU_BASE_NAME;
+            }
+        } else {
+            //no path start with locale
+            int i = resPath.indexOf(RES_PATH_SEP_CHAR);
+            keyPath = resPath.substring(i + 1);
+            if (i != -1) {
+                locale = resPath.substring(0, i);
+            } else {
+                locale = keyPath;
+                keyPath = null;//keyPath.substring(i, keyPath.length());
+            }
+            bundleName = baseName;
+        }
+        ICUResourceBundle bundle = null;
+        if(bundleName.equals(LOCALE)){
+            bundleName = baseName;
+            bundle = requested;
+            keyPath = resPath.substring(LOCALE.length() + 2/* prepending and appending / */, resPath.length());
+            locale = requested.getLocaleID();
+        }else if (locale == null) {
+            bundle = (ICUResourceBundle) getBundleInstance(bundleName, "",
+                    ICU_DATA_CLASS_LOADER, false);
+        } else {
+            bundle = (ICUResourceBundle) getBundleInstance(bundleName, locale,
+                    ICU_DATA_CLASS_LOADER, false);
+        }
+        ICUResourceBundle sub = null;
+        if (keyPath != null) {
+            StringTokenizer st = new StringTokenizer(keyPath, "/");
+            ICUResourceBundle current = bundle;
+            while (st.hasMoreTokens()) {
+                String subKey = st.nextToken();
+                sub = current.getImpl(subKey, table, requested);
+                if (sub == null) {
+                    break;
+                }
+                current = sub;
+            }
+        } else {
+            // if the sub resource is not found
+            // try fetching the sub resource with
+            // the key of this alias resource
+            sub = bundle.get(key);
+        }
+        if (sub == null) {
+            throw new MissingResourceException(localeID, baseName, key);
+        }
+        sub.resPath = resPath;
+        return sub;
+    }
+}
diff --git a/src/com/ibm/icu/impl/ICUResourceBundleIterator.java b/src/com/ibm/icu/impl/ICUResourceBundleIterator.java
new file mode 100644
index 0000000..6698d322
--- /dev/null
+++ b/src/com/ibm/icu/impl/ICUResourceBundleIterator.java
@@ -0,0 +1,98 @@
+/*
+******************************************************************************
+* Copyright (C) 2004, International Business Machines Corporation and        *
+* others. All Rights Reserved.                                               *
+******************************************************************************
+*/
+
+package com.ibm.icu.impl;
+
+import java.util.NoSuchElementException;
+
+import com.ibm.icu.util.UResourceTypeMismatchException;
+
+
+/**
+ * <p>Class for enabling iteration over UResourceBundle objects.
+ * Example of use:<br>
+ * <pre>
+ * ICUResourceBundleIterator iterator = resB.getIterator();
+ * ICUResourceBundle temp;
+ * while (iterator.hasNext()) {
+ *    temp = iterartor.next();  
+ *    int type = temp.getType();
+ *    switch(type){
+ *      case UResourceBundle.STRING:
+ *          str = temp.getString();
+ *          break;
+ *      case UResourceBundle.INT:
+ *          integer = temp.getInt();
+ *          break;
+ *     .....
+ *    }
+ *   // do something interesting with data collected
+ * }
+ * </pre>
+ * @author ram
+ * @draft ICU 3.0
+ */
+public class ICUResourceBundleIterator{
+    private ICUResourceBundle bundle;
+    private int index = 0;
+    private int size = 0;
+    /**
+     * Construct a resource bundle iterator for the
+     * given resource bundle
+     * 
+     * @param bndl The resource bundle to iterate over
+     * @draft ICU 3.0
+     */
+    public ICUResourceBundleIterator(ICUResourceBundle bndl){
+        bundle = bndl;   
+        size = bundle.getSize();
+    }
+
+    /**
+     * Returns the next element of this iterator if this iterator object has at least one more element to provide
+     * @return the UResourceBundle object
+     * @throws NoSuchElementException
+     * @draft ICU 3.0
+     */
+    public ICUResourceBundle next()throws NoSuchElementException{
+        if(index<size){
+            return bundle.get(index++);
+        }
+        throw new NoSuchElementException();
+    }
+    /**
+     * Returns the next String of this iterator if this iterator object has at least one more element to provide
+     * @return the UResourceBundle object
+     * @throws NoSuchElementException
+     * @throws UResourceTypeMismatchException
+     * @draft ICU 3.0
+     */
+    public String nextString()throws NoSuchElementException, UResourceTypeMismatchException{
+        if(index<size){
+            return bundle.getString(index++);
+        }  
+        throw new NoSuchElementException();
+    }
+    
+    /**
+     * Resets the internal context of a resource so that iteration starts from the first element.
+     * @draft ICU 3.0
+     */
+    public void reset(){
+        //reset the internal context   
+        index = 0;
+    }
+    
+    /**
+     * Checks whether the given resource has another element to iterate over.
+     * @return TRUE if there are more elements, FALSE if there is no more elements
+     * @draft ICU 3.0
+     */
+    public boolean hasNext(){
+        return index < size;   
+    }
+}
\ No newline at end of file
diff --git a/src/com/ibm/icu/impl/ICUResourceBundleReader.java b/src/com/ibm/icu/impl/ICUResourceBundleReader.java
new file mode 100644
index 0000000..8159b03
--- /dev/null
+++ b/src/com/ibm/icu/impl/ICUResourceBundleReader.java
@@ -0,0 +1,230 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2004, International Business Machines Corporation and         *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.impl;
+
+import java.io.BufferedInputStream;
+import java.io.DataInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+
+import com.ibm.icu.util.VersionInfo;
+
+
+
+/**
+ * This class reads the *.res resource bundle format
+ * 
+ * File format for .res resource bundle files (formatVersion=1.1)
+ *
+ * An ICU4C resource bundle file (.res) is a binary, memory-mappable file
+ * with nested, hierarchical data structures.
+ * It physically contains the following:
+ *
+ *   Resource root; -- 32-bit Resource item, root item for this bundle's tree;
+ *                     currently, the root item must be a table or table32 resource item
+ *   int32_t indexes[indexes[0]]; -- array of indexes for friendly
+ *                                   reading and swapping; see URES_INDEX_* above
+ *                                   new in formatVersion 1.1
+ *   char keys[]; -- characters for key strings
+ *                   (formatVersion 1.0: up to 65k of characters; 1.1: <2G)
+ *                   (minus the space for root and indexes[]),
+ *                   which consist of invariant characters (ASCII/EBCDIC) and are NUL-terminated;
+ *                   padded to multiple of 4 bytes for 4-alignment of the following data
+ *   data; -- data directly and indirectly indexed by the root item;
+ *            the structure is determined by walking the tree
+ *
+ * Each resource bundle item has a 32-bit Resource handle (see typedef above)
+ * which contains the item type number in its upper 4 bits (31..28) and either
+ * an offset or a direct value in its lower 28 bits (27..0).
+ * The order of items is undefined and only determined by walking the tree.
+ * Leaves of the tree may be stored first or last or anywhere in between,
+ * and it is in theory possible to have unreferenced holes in the file.
+ *
+ * Direct values:
+ * - Empty Unicode strings have an offset value of 0 in the Resource handle itself.
+ * - Integer values are 28-bit values stored in the Resource handle itself;
+ *   the interpretation of unsigned vs. signed integers is up to the application.
+ *
+ * All other types and values use 28-bit offsets to point to the item's data.
+ * The offset is an index to the first 32-bit word of the value, relative to the
+ * start of the resource data (i.e., the root item handle is at offset 0).
+ * To get byte offsets, the offset is multiplied by 4 (or shifted left by 2 bits).
+ * All resource item values are 4-aligned.
+ *
+ * The structures (memory layouts) for the values for each item type are listed
+ * in the table above.
+ *
+ * Nested, hierarchical structures: -------------
+ *
+ * Table items contain key-value pairs where the keys are 16-bit offsets to char * key strings.
+ * Key string offsets are also relative to the start of the resource data (of the root handle),
+ * i.e., the first string has an offset of 4 (after the 4-byte root handle).
+ *
+ * The values of these pairs are Resource handles.
+ *
+ * Array items are simple vectors of Resource handles.
+ *
+ * An alias item is special (and new in ICU 2.4): --------------
+ *
+ * Its memory layout is just like for a UnicodeString, but at runtime it resolves to
+ * another resource bundle's item according to the path in the string.
+ * This is used to share items across bundles that are in different lookup/fallback
+ * chains (e.g., large collation data among zh_TW and zh_HK).
+ * This saves space (for large items) and maintenance effort (less duplication of data).
+ *
+ * --------------------------------------------------------------------------
+ *
+ * Resource types:
+ *
+ * Most resources have their values stored at four-byte offsets from the start
+ * of the resource data. These values are at least 4-aligned.
+ * Some resource values are stored directly in the offset field of the Resource itself.
+ * See UResType in unicode/ures.h for enumeration constants for Resource types.
+ *
+ * Type Name            Memory layout of values
+ *                      (in parentheses: scalar, non-offset values)
+ *
+ * 0  Unicode String:   int32_t length, UChar[length], (UChar)0, (padding)
+ *                  or  (empty string ("") if offset==0)
+ * 1  Binary:           int32_t length, uint8_t[length], (padding)
+ *                      - this value should be 32-aligned -
+ * 2  Table:            uint16_t count, uint16_t keyStringOffsets[count], (uint16_t padding), Resource[count]
+ * 3  Alias:            (physically same value layout as string, new in ICU 2.4)
+ * 4  Table32:          int32_t count, int32_t keyStringOffsets[count], Resource[count]
+ *                      (new in formatVersion 1.1/ICU 2.8)
+ *
+ * 7  Integer:          (28-bit offset is integer value)
+ * 8  Array:            int32_t count, Resource[count]
+ *
+ * 14 Integer Vector:   int32_t length, int32_t[length]
+ * 15 Reserved:         This value denotes special purpose resources and is for internal use.
+ *
+ * Note that there are 3 types with data vector values:
+ * - Vectors of 8-bit bytes stored as type Binary.
+ * - Vectors of 16-bit words stored as type Unicode String
+ *                     (no value restrictions, all values 0..ffff allowed!).
+ * - Vectors of 32-bit words stored as type Integer Vector.
+ *
+ *
+ */
+public final class ICUResourceBundleReader implements ICUBinary.Authenticate{
+
+    /**
+     * File format version that this class understands.
+     * "ResB"
+     */
+    private static final byte DATA_FORMAT_ID[] = {(byte)0x52, (byte)0x65, 
+                                                     (byte)0x73, (byte)0x42};
+    private static final byte DATA_FORMAT_VERSION[] = {(byte)0x1, (byte)0x1, 
+                                                         (byte)0x0, (byte)0x0};
+    private byte[] version;
+    private static final String ICU_RESOURCE_SUFFIX = ".res";
+    
+    private static final int    URES_INDEX_LENGTH           = 0;        /* [0] contains URES_INDEX_TOP==the length of indexes[] */
+    private static final int    URES_INDEX_STRINGS_TOP      = 1;        /* [1] contains the top of the strings, */
+                                                                        /*     same as the bottom of resources, rounded up */
+    private static final int    URES_INDEX_RESOURCES_TOP    = 2;        /* [2] contains the top of all resources */
+    private static final int    URES_INDEX_BUNDLE_TOP       = 3;        /* [3] contains the top of the bundle, */
+                                                                        /*     in case it were ever different from [2] */
+    private static final int    URES_INDEX_MAX_TABLE_LENGTH = 4;        /* [4] max. length of any table */
+    private static final int    URES_INDEX_TOP              = 5;
+    //private static final int    URES_STRINGS_BOTTOM=(1+URES_INDEX_TOP)*4;
+    private static final boolean DEBUG = false;
+    
+    private byte[] data;
+    
+    private ICUResourceBundleReader(InputStream stream, String resolvedName){
+
+        BufferedInputStream bs = new BufferedInputStream(stream);
+        try{
+            if(DEBUG) System.out.println("The InputStream class is: " + stream.getClass().getName());
+            if(DEBUG) System.out.println("The BufferedInputStream class is: " + bs.getClass().getName());
+            if(DEBUG) System.out.println("The bytes avialable in stream before reading the header: " + bs.available());
+            
+            version = ICUBinary.readHeader(bs,DATA_FORMAT_ID,this);
+
+            if(DEBUG) System.out.println("The bytes avialable in stream after reading the header: " + bs.available());
+                 
+            data = readData(bs);
+
+            stream.close();
+        }catch(IOException ex){
+            throw new RuntimeException("Data file "+ resolvedName+ " is corrupt.", ex);   
+        }
+    }
+    public static ICUResourceBundleReader getReader(String baseName, String localeName, ClassLoader root){
+        String resolvedName = getFullName(baseName, localeName);
+        InputStream stream = ICUData.getStream(root,resolvedName);
+        
+        if(stream==null){
+            return null;
+        }
+        ICUResourceBundleReader reader = new ICUResourceBundleReader(stream, resolvedName);
+        return reader;
+    }
+    /* indexes[] value names; indexes are generally 32-bit (Resource) indexes */
+        
+    private static byte[] readData(InputStream stream)
+            throws IOException{
+        
+        DataInputStream ds = new DataInputStream(stream);
+
+        if(DEBUG) System.out.println("The DataInputStream class is: " + ds.getClass().getName());
+        if(DEBUG) System.out.println("The available bytes in the stream before reading the data: "+ds.available());
+        
+        ds.mark((1+URES_INDEX_TOP)*4);
+        int[] indexes = new int[URES_INDEX_TOP];
+        ds.readInt(); // ignore the root resource
+        
+        for(int i=1; i< URES_INDEX_TOP; i++){
+            indexes[i] = ds.readInt();   
+        }
+        ds.reset();
+        
+        int length = indexes[URES_INDEX_BUNDLE_TOP]*4;
+        if(DEBUG) System.out.println("The number of bytes in the bundle: "+length);
+    
+        byte[] data = new byte[length];
+        ds.readFully(data);
+        return data;
+       
+    }
+    /**
+     * Gets the full name of the resource with suffix.
+     */
+    public static String getFullName(String baseName, String localeName){
+        if(baseName.indexOf('.')==-1){
+            if(baseName.charAt(baseName.length()-1)!= '/'){
+                return baseName+"/"+localeName+ICU_RESOURCE_SUFFIX;
+            }else{
+                return baseName+localeName+ICU_RESOURCE_SUFFIX;   
+            }
+        }else{
+            baseName = baseName.replace('.','/');
+            if(localeName.length()==0){
+                return baseName+ICU_RESOURCE_SUFFIX;   
+            }else{
+                return baseName+"_"+localeName+ICU_RESOURCE_SUFFIX;
+            }
+        }
+    }
+    
+    public VersionInfo getVersion(){
+        return VersionInfo.getInstance(version[0],version[1],version[2],version[3]);   
+    }
+    public boolean isDataVersionAcceptable(byte version[]){
+        return version[0] == DATA_FORMAT_VERSION[0] 
+               && version[1] == DATA_FORMAT_VERSION[1]
+               && version[2] == DATA_FORMAT_VERSION[2] 
+               && version[3] == DATA_FORMAT_VERSION[3];
+    }
+    
+    public byte[] getData(){
+        return data;   
+    }
+    
+}
diff --git a/src/com/ibm/icu/impl/ICUService.java b/src/com/ibm/icu/impl/ICUService.java
new file mode 100644
index 0000000..368dcc8
--- /dev/null
+++ b/src/com/ibm/icu/impl/ICUService.java
@@ -0,0 +1,992 @@
+/**
+ *******************************************************************************
+ * Copyright (C) 2001-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.impl;
+
+//import com.ibm.icu.text.Collator;
+
+import java.lang.ref.SoftReference;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.EventListener;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.ListIterator;
+import java.util.Locale;
+import java.util.Map;
+import java.util.Map.Entry;
+import java.util.Set;
+import java.util.SortedMap;
+import java.util.TreeMap;
+
+import com.ibm.icu.util.ULocale;
+
+/**
+ * <p>A Service provides access to service objects that implement a
+ * particular service, e.g. transliterators.  Users provide a String
+ * id (for example, a locale string) to the service, and get back an
+ * object for that id.  Service objects can be any kind of object.
+ * The service object is cached and returned for later queries, so
+ * generally it should not be mutable, or the caller should clone the
+ * object before modifying it.</p>
+ *
+ * <p>Services 'canonicalize' the query id and use the canonical id to
+ * query for the service.  The service also defines a mechanism to
+ * 'fallback' the id multiple times.  Clients can optionally request
+ * the actual id that was matched by a query when they use an id to
+ * retrieve a service object.</p>
+ *
+ * <p>Service objects are instantiated by Factory objects registered with
+ * the service.  The service queries each Factory in turn, from most recently
+ * registered to earliest registered, until one returns a service object.
+ * If none responds with a service object, a fallback id is generated,
+ * and the process repeats until a service object is returned or until
+ * the id has no further fallbacks.</p>
+ *
+ * <p>Factories can be dynamically registered and unregistered with the
+ * service.  When registered, a Factory is installed at the head of
+ * the factory list, and so gets 'first crack' at any keys or fallback
+ * keys.  When unregistered, it is removed from the service and can no
+ * longer be located through it.  Service objects generated by this
+ * factory and held by the client are unaffected.</p>
+ *
+ * <p>ICUService uses Keys to query factories and perform
+ * fallback.  The Key defines the canonical form of the id, and
+ * implements the fallback strategy.  Custom Keys can be defined that
+ * parse complex IDs into components that Factories can more easily
+ * use.  The Key can cache the results of this parsing to save
+ * repeated effort.  ICUService provides convenience APIs that
+ * take Strings and generate default Keys for use in querying.</p>
+ *
+ * <p>ICUService provides API to get the list of ids publicly
+ * supported by the service (although queries aren't restricted to
+ * this list).  This list contains only 'simple' IDs, and not fully
+ * unique ids.  Factories are associated with each simple ID and
+ * the responsible factory can also return a human-readable localized
+ * version of the simple ID, for use in user interfaces.  ICUService
+ * can also provide a sorted collection of the all the localized visible
+ * ids.</p>
+ *
+ * <p>ICUService implements ICUNotifier, so that clients can register
+ * to receive notification when factories are added or removed from
+ * the service.  ICUService provides a default EventListener subinterface,
+ * ServiceListener, which can be registered with the service.  When
+ * the service changes, the ServiceListener's serviceChanged method
+ * is called, with the service as the only argument.</p>
+ *
+ * <p>The ICUService API is both rich and generic, and it is expected
+ * that most implementations will statically 'wrap' ICUService to
+ * present a more appropriate API-- for example, to declare the type
+ * of the objects returned from get, to limit the factories that can
+ * be registered with the service, or to define their own listener
+ * interface with a custom callback method.  They might also customize
+ * ICUService by overriding it, for example, to customize the Key and
+ * fallback strategy.  ICULocaleService is a customized service that
+ * uses Locale names as ids and uses Keys that implement the standard
+ * resource bundle fallback strategy.<p>
+ */
+public class ICUService extends ICUNotifier {
+    /**
+     * Name used for debugging.
+     */
+    protected final String name;
+
+    /**
+     * Constructor.
+     */
+    public ICUService() {
+        name = "";
+    }
+
+    private static final boolean DEBUG = ICUDebug.enabled("service");
+    /**
+     * Construct with a name (useful for debugging).
+     */
+    public ICUService(String name) {
+        this.name = name;
+    }
+
+    /**
+     * Access to factories is protected by a read-write lock.  This is
+     * to allow multiple threads to read concurrently, but keep
+     * changes to the factory list atomic with respect to all readers.
+     */
+    private final ICURWLock factoryLock = new ICURWLock();
+
+    /**
+     * All the factories registered with this service.
+     */
+    private final List factories = new ArrayList();
+
+    /**
+     * Record the default number of factories for this service.
+     * Can be set by markDefault.
+     */
+    private int defaultSize = 0;
+
+    /**
+     * Keys are used to communicate with factories to generate an
+     * instance of the service.  Keys define how ids are
+     * canonicalized, provide both a current id and a current
+     * descriptor to use in querying the cache and factories, and
+     * determine the fallback strategy.</p>
+     *
+     * <p>Keys provide both a currentDescriptor and a currentID.
+     * The descriptor contains an optional prefix, followed by '/'
+     * and the currentID.  Factories that handle complex keys,
+     * for example number format factories that generate multiple
+     * kinds of formatters for the same locale, use the descriptor
+     * to provide a fully unique identifier for the service object,
+     * while using the currentID (in this case, the locale string),
+     * as the visible IDs that can be localized.
+     *
+     * <p> The default implementation of Key has no fallbacks and
+     * has no custom descriptors.</p>
+     */
+    public static class Key {
+        private final String id;
+
+        /**
+         * Construct a key from an id.
+         */
+        public Key(String id) {
+            this.id = id;
+        }
+
+        /**
+         * Return the original ID used to construct this key.
+         */
+        public final String id() {
+            return id;
+        }
+
+        /**
+         * Return the canonical version of the original ID.  This implementation
+         * returns the original ID unchanged.
+         */
+        public String canonicalID() {
+            return id;
+        }
+
+        /**
+         * Return the (canonical) current ID.  This implementation
+         * returns the canonical ID.
+         */
+        public String currentID() {
+            return canonicalID();
+        }
+
+        /**
+         * Return the current descriptor.  This implementation returns
+         * the current ID.  The current descriptor is used to fully
+         * identify an instance of the service in the cache.  A
+         * factory may handle all descriptors for an ID, or just a
+         * particular descriptor.  The factory can either parse the
+         * descriptor or use custom API on the key in order to
+         * instantiate the service.
+         */
+        public String currentDescriptor() {
+            return "/" + currentID();
+        }
+
+        /**
+         * If the key has a fallback, modify the key and return true,
+         * otherwise return false.  The current ID will change if there
+         * is a fallback.  No currentIDs should be repeated, and fallback
+         * must eventually return false.  This implmentation has no fallbacks
+         * and always returns false.
+         */
+        public boolean fallback() {
+            return false;
+        }
+
+        /**
+         * If a key created from id would eventually fallback to match the
+         * canonical ID of this key, return true.
+         */
+        public boolean isFallbackOf(String id) {
+            return canonicalID().equals(id);
+        }
+    }
+
+    /**
+     * Factories generate the service objects maintained by the
+     * service.  A factory generates a service object from a key,
+     * updates id->factory mappings, and returns the display name for
+     * a supported id.
+     */
+    public static interface Factory {
+
+        /**
+         * Create a service object from the key, if this factory
+         * supports the key.  Otherwise, return null.
+         *
+         * <p>If the factory supports the key, then it can call
+         * the service's getKey(Key, String[], Factory) method
+         * passing itself as the factory to get the object that
+         * the service would have created prior to the factory's
+         * registration with the service.  This can change the
+         * key, so any information required from the key should
+         * be extracted before making such a callback.
+         */
+        public Object create(Key key, ICUService service);
+
+        /**
+         * Update the result IDs (not descriptors) to reflect the IDs
+         * this factory handles.  This function and getDisplayName are
+         * used to support ICUService.getDisplayNames.  Basically, the
+         * factory has to determine which IDs it will permit to be
+         * available, and of those, which it will provide localized
+         * display names for.  In most cases this reflects the IDs that
+         * the factory directly supports.
+         */
+        public void updateVisibleIDs(Map result);
+
+        /**
+         * Return the display name for this id in the provided locale.
+         * This is an localized id, not a descriptor.  If the id is
+         * not visible or not defined by the factory, return null.
+         * If locale is null, return id unchanged.
+         */
+        public String getDisplayName(String id, ULocale locale);
+    }
+
+    /**
+     * A default implementation of factory.  This provides default
+     * implementations for subclasses, and implements a singleton
+     * factory that matches a single id  and returns a single
+     * (possibly deferred-initialized) instance.  This implements
+     * updateVisibleIDs to add a mapping from its ID to itself
+     * if visible is true, or to remove any existing mapping
+     * for its ID if visible is false.
+     */
+    public static class SimpleFactory implements Factory {
+        protected Object instance;
+        protected String id;
+        protected boolean visible;
+
+        /**
+         * Convenience constructor that calls SimpleFactory(Object, String, boolean)
+         * with visible true.
+         */
+        public SimpleFactory(Object instance, String id) {
+            this(instance, id, true);
+        }
+
+        /**
+         * Construct a simple factory that maps a single id to a single
+         * service instance.  If visible is true, the id will be visible.
+         * Neither the instance nor the id can be null.
+         */
+        public SimpleFactory(Object instance, String id, boolean visible) {
+            if (instance == null || id == null) {
+                throw new IllegalArgumentException("Instance or id is null");
+            }
+            this.instance = instance;
+            this.id = id;
+            this.visible = visible;
+        }
+
+        /**
+         * Return the service instance if the factory's id is equal to
+         * the key's currentID.  Service is ignored.
+         */
+        public Object create(Key key, ICUService service) {
+            if (id.equals(key.currentID())) {
+                return instance;
+            }
+            return null;
+        }
+
+        /**
+         * If visible, adds a mapping from id -> this to the result,
+         * otherwise removes id from result.
+         */
+        public void updateVisibleIDs(Map result) {
+            if (visible) {
+                result.put(id, this);
+            } else {
+                result.remove(id);
+            }
+        }
+
+        /**
+         * If this.id equals id, returns id regardless of locale,
+         * otherwise returns null.  (This default implementation has
+         * no localized id information.)
+         */
+        public String getDisplayName(String id, ULocale locale) {
+            return (visible && this.id.equals(id)) ? id : null;
+        }
+
+        /**
+         * For debugging.
+         */
+        public String toString() {
+            StringBuffer buf = new StringBuffer(super.toString());
+            buf.append(", id: ");
+            buf.append(id);
+            buf.append(", visible: ");
+            buf.append(visible);
+            return buf.toString();
+        }
+    }
+
+    /**
+     * Convenience override for get(String, String[]). This uses
+     * createKey to create a key for the provided descriptor.
+     */
+    public Object get(String descriptor) {
+        return getKey(createKey(descriptor), null);
+    }
+
+    /**
+     * Convenience override for get(Key, String[]).  This uses
+     * createKey to create a key from the provided descriptor.
+     */
+    public Object get(String descriptor, String[] actualReturn) {
+        if (descriptor == null) {
+            throw new NullPointerException("descriptor must not be null");
+        }
+        return getKey(createKey(descriptor), actualReturn);
+    }
+
+    /**
+     * Convenience override for get(Key, String[]).
+     */
+    public Object getKey(Key key) {
+        return getKey(key, null);
+    }
+
+    /**
+     * <p>Given a key, return a service object, and, if actualReturn
+     * is not null, the descriptor with which it was found in the
+     * first element of actualReturn.  If no service object matches
+     * this key, return null, and leave actualReturn unchanged.</p>
+     *
+     * <p>This queries the cache using the key's descriptor, and if no
+     * object in the cache matches it, tries the key on each
+     * registered factory, in order.  If none generates a service
+     * object for the key, repeats the process with each fallback of
+     * the key, until either one returns a service object, or the key
+     * has no fallback.</p>
+     *
+     * <p>If key is null, just returns null.</p>
+     */
+    public Object getKey(Key key, String[] actualReturn) {
+        return getKey(key, actualReturn, null);
+    }
+
+    // debugging
+    // Map hardRef;
+
+    public Object getKey(Key key, String[] actualReturn, Factory factory) {
+        if (factories.size() == 0) {
+            return handleDefault(key, actualReturn);
+        }
+
+        if (DEBUG) System.out.println("Service: " + name + " key: " + key.canonicalID());
+
+        CacheEntry result = null;
+        if (key != null) {
+            try {
+                // The factory list can't be modified until we're done,
+                // otherwise we might update the cache with an invalid result.
+                // The cache has to stay in synch with the factory list.
+                factoryLock.acquireRead();
+
+                Map cache = null;
+                SoftReference cref = cacheref; // copy so we don't need to sync on this
+                if (cref != null) {
+                    if (DEBUG) System.out.println("Service " + name + " ref exists");
+                    cache = (Map)cref.get();
+                }
+                if (cache == null) {
+                    if (DEBUG) System.out.println("Service " + name + " cache was empty");
+                    // synchronized since additions and queries on the cache must be atomic
+                    // they can be interleaved, though
+                    cache = Collections.synchronizedMap(new HashMap());
+//                  hardRef = cache; // debug
+                    cref = new SoftReference(cache);
+                }
+
+                String currentDescriptor = null;
+                ArrayList cacheDescriptorList = null;
+                boolean putInCache = false;
+
+                int NDebug = 0;
+
+                int startIndex = 0;
+                int limit = factories.size();
+                boolean cacheResult = true;
+                if (factory != null) {
+                    for (int i = 0; i < limit; ++i) {
+                        if (factory == factories.get(i)) {
+                            startIndex = i + 1;
+                            break;
+                        }
+                    }
+                    if (startIndex == 0) {
+                        throw new InternalError("Factory " + factory + "not registered with service: " + this);
+                    }
+                    cacheResult = false;
+                }
+
+            outer:
+                do {
+                    currentDescriptor = key.currentDescriptor();
+                    if (DEBUG) System.out.println(name + "[" + NDebug++ + "] looking for: " + currentDescriptor);
+                    result = (CacheEntry)cache.get(currentDescriptor);
+                    if (result != null) {
+                        if (DEBUG) System.out.println(name + " found with descriptor: " + currentDescriptor);
+                        break outer;
+                    } else {
+                        if (DEBUG) System.out.println("did not find: " + currentDescriptor + " in cache");
+                    }
+
+                    // first test of cache failed, so we'll have to update
+                    // the cache if we eventually succeed-- that is, if we're
+                    // going to update the cache at all.
+                    putInCache = cacheResult;
+
+                    //  int n = 0;
+                    int index = startIndex;
+                    while (index < limit) {
+                        Factory f = (Factory)factories.get(index++);
+                        if (DEBUG) System.out.println("trying factory[" + (index-1) + "] " + f.toString());
+                        Object service = f.create(key, this);
+                        if (service != null) {
+                            result = new CacheEntry(currentDescriptor, service);
+                            if (DEBUG) System.out.println(name + " factory supported: " + currentDescriptor + ", caching");
+                            break outer;
+                        } else {
+                            if (DEBUG) System.out.println("factory did not support: " + currentDescriptor);
+                        }
+                    }
+
+                    // prepare to load the cache with all additional ids that
+                    // will resolve to result, assuming we'll succeed.  We
+                    // don't want to keep querying on an id that's going to
+                    // fallback to the one that succeeded, we want to hit the
+                    // cache the first time next goaround.
+                    if (cacheDescriptorList == null) {
+                        cacheDescriptorList = new ArrayList(5);
+                    }
+                    cacheDescriptorList.add(currentDescriptor);
+
+                } while (key.fallback());
+
+                if (result != null) {
+                    if (putInCache) {
+                        if (DEBUG) System.out.println("caching '" + result.actualDescriptor + "'");
+                        cache.put(result.actualDescriptor, result);
+                        if (cacheDescriptorList != null) {
+                            Iterator iter = cacheDescriptorList.iterator();
+                            while (iter.hasNext()) {
+                                String desc = (String)iter.next();
+                                if (DEBUG) System.out.println(name + " adding descriptor: '" + desc + "' for actual: '" + result.actualDescriptor + "'");
+
+                                cache.put(desc, result);
+                            }
+                        }
+                        // Atomic update.  We held the read lock all this time
+                        // so we know our cache is consistent with the factory list.
+                        // We might stomp over a cache that some other thread
+                        // rebuilt, but that's the breaks.  They're both good.
+                        cacheref = cref;
+                    }
+
+                    if (actualReturn != null) {
+                        // strip null prefix
+                        if (result.actualDescriptor.indexOf("/") == 0) {
+                            actualReturn[0] = result.actualDescriptor.substring(1);
+                        } else {
+                            actualReturn[0] = result.actualDescriptor;
+                        }
+                    }
+
+                    if (DEBUG) System.out.println("found in service: " + name);
+
+                    return result.service;
+                }
+            }
+            finally {
+                factoryLock.releaseRead();
+            }
+        }
+
+        if (DEBUG) System.out.println("not found in service: " + name);
+
+        return handleDefault(key, actualReturn);
+    }
+    private SoftReference cacheref;
+
+    // Record the actual id for this service in the cache, so we can return it
+    // even if we succeed later with a different id.
+    private static final class CacheEntry {
+        final String actualDescriptor;
+        final Object service;
+        CacheEntry(String actualDescriptor, Object service) {
+            this.actualDescriptor = actualDescriptor;
+            this.service = service;
+        }
+    }
+
+
+    /**
+     * Default handler for this service if no factory in the list
+     * handled the key.
+     */
+    protected Object handleDefault(Key key, String[] actualIDReturn) {
+        return null;
+    }
+
+    /**
+     * Convenience override for getVisibleIDs(String) that passes null
+     * as the fallback, thus returning all visible IDs.
+     */
+    public Set getVisibleIDs() {
+        return getVisibleIDs(null);
+    }
+
+    /**
+     * <p>Return a snapshot of the visible IDs for this service.  This
+     * set will not change as Factories are added or removed, but the
+     * supported ids will, so there is no guarantee that all and only
+     * the ids in the returned set are visible and supported by the
+     * service in subsequent calls.</p>
+     *
+     * <p>matchID is passed to createKey to create a key.  If the
+     * key is not null, it is used to filter out ids that don't have
+     * the key as a fallback.
+     */
+    public Set getVisibleIDs(String matchID) {
+        Set result = getVisibleIDMap().keySet();
+
+        Key fallbackKey = createKey(matchID);
+
+        if (fallbackKey != null) {
+            Set temp = new HashSet(result.size());
+            Iterator iter = result.iterator();
+            while (iter.hasNext()) {
+                String id = (String)iter.next();
+                if (fallbackKey.isFallbackOf(id)) {
+                    temp.add(id);
+                }
+            }
+            result = temp;
+        }
+        return result;
+    }
+
+    /**
+     * Return a map from visible ids to factories.
+     */
+    private Map getVisibleIDMap() {
+        Map idcache = null;
+        SoftReference ref = idref;
+        if (ref != null) {
+            idcache = (Map)ref.get();
+        }
+        while (idcache == null) {
+            synchronized (this) { // or idref-only lock?
+                if (ref == idref || idref == null) {
+                    // no other thread updated idref before we got the lock, so
+                    // grab the factory list and update it ourselves
+                    try {
+                        factoryLock.acquireRead();
+                        idcache = new HashMap();
+                        ListIterator lIter = factories.listIterator(factories.size());
+                        while (lIter.hasPrevious()) {
+                            Factory f = (Factory)lIter.previous();
+                            f.updateVisibleIDs(idcache);
+                        }
+                        idcache = Collections.unmodifiableMap(idcache);
+                        idref = new SoftReference(idcache);
+                    }
+                    finally {
+                        factoryLock.releaseRead();
+                    }
+                } else {
+                    // another thread updated idref, but gc may have stepped
+                    // in and undone its work, leaving idcache null.  If so,
+                    // retry.
+                    ref = idref;
+                    idcache = (Map)ref.get();
+                }
+            }
+        }
+
+        return idcache;
+    }
+    private SoftReference idref;
+
+    /**
+     * Convenience override for getDisplayName(String, ULocale) that
+     * uses the current default locale.
+     */
+    public String getDisplayName(String id) {
+        return getDisplayName(id, ULocale.getDefault());
+    }
+
+    /**
+     * Given a visible id, return the display name in the requested locale.
+     * If there is no directly supported id corresponding to this id, return
+     * null.
+     */
+    public String getDisplayName(String id, ULocale locale) {
+        Map m = getVisibleIDMap();
+        Factory f = (Factory)m.get(id);
+        if (f != null) {
+            return f.getDisplayName(id, locale);
+        }
+
+        Key key = createKey(id);
+        while (key.fallback()) {
+            f = (Factory)m.get(key.currentID());
+            if (f != null) {
+                return f.getDisplayName(id, locale);
+            }
+        }
+        
+        return null;
+    }
+
+    /**
+     * Convenience override of getDisplayNames(ULocale, Comparator, String) that 
+     * uses the current default Locale as the locale, null as
+     * the comparator, and null for the matchID.
+     */
+    public SortedMap getDisplayNames() {
+        ULocale locale = ULocale.getDefault();
+        return getDisplayNames(locale, null, null);
+    }
+
+    /**
+     * Convenience override of getDisplayNames(ULocale, Comparator, String) that
+     * uses null for the comparator, and null for the matchID.
+     */
+    public SortedMap getDisplayNames(ULocale locale) {
+        return getDisplayNames(locale, null, null);
+    }
+
+    /**
+     * Convenience override of getDisplayNames(ULocale, Comparator, String) that
+     * uses null for the matchID, thus returning all display names.
+     */
+    public SortedMap getDisplayNames(ULocale locale, Comparator com) {
+        return getDisplayNames(locale, com, null);
+    }
+
+    /**
+     * Convenience override of getDisplayNames(ULocale, Comparator, String) that
+     * uses null for the comparator.
+     */
+    public SortedMap getDisplayNames(ULocale locale, String matchID) {
+        return getDisplayNames(locale, null, matchID);
+    }
+
+    /**
+     * Return a snapshot of the mapping from display names to visible
+     * IDs for this service.  This set will not change as factories
+     * are added or removed, but the supported ids will, so there is
+     * no guarantee that all and only the ids in the returned map will
+     * be visible and supported by the service in subsequent calls,
+     * nor is there any guarantee that the current display names match
+     * those in the set.  The display names are sorted based on the
+     * comparator provided.
+     */
+    public SortedMap getDisplayNames(ULocale locale, Comparator com, String matchID) {
+        SortedMap dncache = null;
+        LocaleRef ref = dnref;
+
+        if (ref != null) {
+            dncache = ref.get(locale, com);
+        }
+
+        while (dncache == null) {
+            synchronized (this) {
+                if (ref == dnref || dnref == null) {
+                    dncache = new TreeMap(com); // sorted
+                    
+                    Map m = getVisibleIDMap();
+                    Iterator ei = m.entrySet().iterator();
+                    while (ei.hasNext()) {
+                        Entry e = (Entry)ei.next();
+                        String id = (String)e.getKey();
+                        Factory f = (Factory)e.getValue();
+                        dncache.put(f.getDisplayName(id, locale), id);
+                    }
+
+                    dncache = Collections.unmodifiableSortedMap(dncache);
+                    dnref = new LocaleRef(dncache, locale, com);
+                } else {
+                    ref = dnref;
+                    dncache = ref.get(locale, com);
+                }
+            }
+        }
+
+        Key matchKey = createKey(matchID);
+        if (matchKey == null) {
+            return dncache;
+        }
+
+        SortedMap result = new TreeMap(dncache);
+        Iterator iter = result.entrySet().iterator();
+        while (iter.hasNext()) {
+            Entry e = (Entry)iter.next();
+            if (!matchKey.isFallbackOf((String)e.getValue())) {
+                iter.remove();
+            }
+        }
+        return result;
+    }
+
+    // we define a class so we get atomic simultaneous access to the
+    // locale, comparator, and corresponding map.
+    private static class LocaleRef {
+        private final ULocale locale;
+        private SoftReference ref;
+        private Comparator com;
+
+        LocaleRef(Map dnCache, ULocale locale, Comparator com) {
+            this.locale = locale;
+            this.com = com;
+            this.ref = new SoftReference(dnCache);
+        }
+
+
+        SortedMap get(ULocale locale, Comparator com) {
+            SortedMap m = (SortedMap)ref.get();
+            if (m != null &&
+                this.locale.equals(locale) &&
+                (this.com == com || (this.com != null && this.com.equals(com)))) {
+
+                return m;
+            }
+            return null;
+        }
+    }
+    private LocaleRef dnref;
+
+    /**
+     * Return a snapshot of the currently registered factories.  There
+     * is no guarantee that the list will still match the current
+     * factory list of the service subsequent to this call.
+     */
+    public final List factories() {
+        try {
+            factoryLock.acquireRead();
+            return new ArrayList(factories);
+        }
+        finally{
+            factoryLock.releaseRead();
+        }
+    }
+
+    /**
+     * A convenience override of registerObject(Object, String, boolean)
+     * that defaults visible to true.
+     */
+    public Factory registerObject(Object obj, String id) {
+        return registerObject(obj, id, true);
+    }
+
+    /**
+     * Register an object with the provided id.  The id will be
+     * canonicalized.  The canonicalized ID will be returned by
+     * getVisibleIDs if visible is true.
+     */
+    public Factory registerObject(Object obj, String id, boolean visible) {
+        String canonicalID = createKey(id).canonicalID();
+        return registerFactory(new SimpleFactory(obj, canonicalID, visible));
+    }
+
+    /**
+     * Register a Factory.  Returns the factory if the service accepts
+     * the factory, otherwise returns null.  The default implementation
+     * accepts all factories.
+     */
+    public final Factory registerFactory(Factory factory) {
+        if (factory == null) {
+            throw new NullPointerException();
+        }
+        try {
+            factoryLock.acquireWrite();
+            factories.add(0, factory);
+            clearCaches();
+        }
+        finally {
+            factoryLock.releaseWrite();
+        }
+        notifyChanged();
+        return factory;
+    }
+
+    /**
+     * Unregister a factory.  The first matching registered factory will
+     * be removed from the list.  Returns true if a matching factory was
+     * removed.
+     */
+    public final boolean unregisterFactory(Factory factory) {
+        if (factory == null) {
+            throw new NullPointerException();
+        }
+
+        boolean result = false;
+        try {
+            factoryLock.acquireWrite();
+            if (factories.remove(factory)) {
+                result = true;
+                clearCaches();
+            }
+        }
+        finally {
+            factoryLock.releaseWrite();
+        }
+
+        if (result) {
+            notifyChanged();
+        }
+        return result;
+    }
+
+    /**
+     * Reset the service to the default factories.  The factory
+     * lock is acquired and then reInitializeFactories is called.
+     */
+    public final void reset() {
+        try {
+            factoryLock.acquireWrite();
+            reInitializeFactories();
+            clearCaches();
+        }
+        finally {
+            factoryLock.releaseWrite();
+        }
+        notifyChanged();
+    }
+
+    /**
+     * Reinitialize the factory list to its default state.  By default
+     * this clears the list.  Subclasses can override to provide other
+     * default initialization of the factory list.  Subclasses must
+     * not call this method directly, as it must only be called while
+     * holding write access to the factory list.
+     */
+    protected void reInitializeFactories() {
+        factories.clear();
+    }
+
+    /**
+     * Return true if the service is in its default state.  The default
+     * implementation returns true if there are no factories registered.
+     */
+    public boolean isDefault() {
+        return factories.size() == defaultSize;
+    }
+
+    /**
+     * Set the default size to the current number of registered factories.
+     * Used by subclasses to customize the behavior of isDefault.
+     */
+    protected void markDefault() {
+        defaultSize = factories.size();
+    }
+
+    /**
+     * Create a key from an id.  This creates a Key instance.
+     * Subclasses can override to define more useful keys appropriate
+     * to the factories they accept.  If id is null, returns null.
+     */
+    public Key createKey(String id) {
+        return id == null ? null : new Key(id);
+    }
+
+    /**
+     * Clear caches maintained by this service.  Subclasses can
+     * override if they implement additional that need to be cleared
+     * when the service changes. Subclasses should generally not call
+     * this method directly, as it must only be called while
+     * synchronized on this.
+     */
+    protected void clearCaches() {
+        // we don't synchronize on these because methods that use them
+        // copy before use, and check for changes if they modify the
+        // caches.
+        cacheref = null;
+        idref = null;
+        dnref = null;
+    }
+
+    /**
+     * Clears only the service cache.
+     * This can be called by subclasses when a change affects the service
+     * cache but not the id caches, e.g., when the default locale changes
+     * the resolution of ids changes, but not the visible ids themselves.
+     */
+    protected void clearServiceCache() {
+        cacheref = null;
+    }
+
+    /**
+     * ServiceListener is the listener that ICUService provides by default.
+     * ICUService will notifiy this listener when factories are added to
+     * or removed from the service.  Subclasses can provide
+     * different listener interfaces that extend EventListener, and modify
+     * acceptsListener and notifyListener as appropriate.
+     */
+    public static interface ServiceListener extends EventListener {
+        public void serviceChanged(ICUService service);
+    }
+
+    /**
+     * Return true if the listener is accepted; by default this
+     * requires a ServiceListener.  Subclasses can override to accept
+     * different listeners.
+     */
+    protected boolean acceptsListener(EventListener l) {
+        return l instanceof ServiceListener;
+    }
+
+    /**
+     * Notify the listener, which by default is a ServiceListener.
+     * Subclasses can override to use a different listener.
+     */
+    protected void notifyListener(EventListener l) {
+        ((ServiceListener)l).serviceChanged(this);
+    }
+
+    /**
+     * Return a string describing the statistics for this service.
+     * This also resets the statistics. Used for debugging purposes.
+     */
+    public String stats() {
+        ICURWLock.Stats stats = factoryLock.resetStats();
+        if (stats != null) {
+            return stats.toString();
+        }
+        return "no stats";
+    }
+
+    /**
+     * Return the name of this service. This will be the empty string if none was assigned.
+     */
+    public String getName() {
+        return name;
+    }
+
+    /**
+     * Returns the result of super.toString, appending the name in curly braces.
+     */
+    public String toString() {
+        return super.toString() + "{" + name + "}";
+    }
+}
diff --git a/src/com/ibm/icu/impl/ImplicitCEGenerator.java b/src/com/ibm/icu/impl/ImplicitCEGenerator.java
new file mode 100644
index 0000000..c85fc88
--- /dev/null
+++ b/src/com/ibm/icu/impl/ImplicitCEGenerator.java
@@ -0,0 +1,390 @@
+/**
+ *******************************************************************************
+ * Copyright (C) 2004, International Business Machines Corporation and         *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.impl;
+
+/**
+ * For generation of Implicit CEs
+ * @author Mark Davis
+ *
+ * Cleaned up so that changes can be made more easily.
+ * Old values:
+# First Implicit: E26A792D
+# Last Implicit: E3DC70C0
+# First CJK: E0030300
+# Last CJK: E0A9DD00
+# First CJK_A: E0A9DF00
+# Last CJK_A: E0DE3100
+@internal
+ */
+public class ImplicitCEGenerator {
+    
+    /**
+     * constants
+     */
+    static final boolean DEBUG = false;
+    
+    static final long topByte = 0xFF000000L;
+    static final long bottomByte = 0xFFL;
+    static final long fourBytes = 0xFFFFFFFFL;
+    
+    static final int MAX_INPUT = 0x220001; // 2 * Unicode range + 2
+
+    public static final int 
+        CJK_BASE = 0x4E00,
+        CJK_LIMIT = 0x9FFF+1,
+        CJK_COMPAT_USED_BASE = 0xFA0E,
+        CJK_COMPAT_USED_LIMIT = 0xFA2F+1,
+        CJK_A_BASE = 0x3400,
+        CJK_A_LIMIT = 0x4DBF+1,
+        CJK_B_BASE = 0x20000,
+        CJK_B_LIMIT = 0x2A6DF+1;
+    
+    private void throwError(String title, int cp) {
+        throw new IllegalArgumentException(title + "\t" + Utility.hex(cp, 6) + "\t" + 
+                                           Utility.hex(getImplicitFromRaw(cp) & fourBytes));
+    }
+
+    private void throwError(String title, long ce) {
+        throw new IllegalArgumentException(title + "\t" + Utility.hex(ce & fourBytes));
+    }
+
+    private void show(int i) {
+        if (i >= 0 && i <= MAX_INPUT) {
+            System.out.println(Utility.hex(i) + "\t" + Utility.hex(getImplicitFromRaw(i) & fourBytes));
+        } 
+    }
+    
+    /**
+     * Precomputed by constructor
+     */
+    int final3Multiplier;
+    int final4Multiplier;
+    int final3Count;
+    int final4Count;
+    int medialCount;
+    int min3Primary;
+    int min4Primary;
+    int max4Primary;
+    int minTrail;
+    int maxTrail;
+    int max3Trail;
+    int max4Trail;
+    int min4Boundary;
+    
+    public int getGap4() {
+        return final4Multiplier - 1;
+    }
+    
+    public int getGap3() {
+        return final3Multiplier - 1;
+    }
+    
+    // old comment
+    // we must skip all 00, 01, 02, FF bytes, so most bytes have 252 values
+    // we must leave a gap of 01 between all values of the last byte, so the last byte has 126 values (3 byte case)
+    // we shift so that HAN all has the same first primary, for compression.
+    // for the 4 byte case, we make the gap as large as we can fit.
+
+    /**
+     * Supply parameters for generating implicit CEs
+     */
+    public ImplicitCEGenerator(int minPrimary, int maxPrimary) {
+        // 13 is the largest 4-byte gap we can use without getting 2 four-byte forms.
+        this(minPrimary, maxPrimary, 0x04, 0xFE, 1, 1);
+    }
+    
+    /**
+     * Set up to generate implicits.
+     * @param minPrimary
+     * @param maxPrimary
+     * @param minTrail final byte
+     * @param maxTrail final byte
+     * @param gap3 the gap we leave for tailoring for 3-byte forms
+     * @param primaries3count number of 3-byte primarys we can use (normally 1)
+     */
+    public ImplicitCEGenerator(int minPrimary, int maxPrimary, int minTrail, int maxTrail, int gap3, int primaries3count) {
+        // some simple parameter checks
+        if (minPrimary < 0 || minPrimary >= maxPrimary || maxPrimary > 0xFF) {
+            throw new IllegalArgumentException("bad lead bytes");
+        }
+        if (minTrail < 0 || minTrail >= maxTrail || maxTrail > 0xFF) {
+            throw new IllegalArgumentException("bad trail bytes");
+        }
+        if (primaries3count < 1) {
+            throw new IllegalArgumentException("bad three-byte primaries");
+        }
+        
+        this.minTrail = minTrail;
+        this.maxTrail = maxTrail;
+        
+        min3Primary = minPrimary;
+        max4Primary = maxPrimary;
+        // compute constants for use later.
+        // number of values we can use in trailing bytes
+        // leave room for empty values between AND above, e.g. if gap = 2
+        // range 3..7 => +3 -4 -5 -6 -7: so 1 value
+        // range 3..8 => +3 -4 -5 +6 -7 -8: so 2 values
+        // range 3..9 => +3 -4 -5 +6 -7 -8 -9: so 2 values
+        final3Multiplier = gap3 + 1;
+        final3Count = (maxTrail - minTrail + 1) / final3Multiplier;
+        max3Trail = minTrail + (final3Count - 1) * final3Multiplier;
+        
+        // medials can use full range
+        medialCount = (maxTrail - minTrail + 1);
+        // find out how many values fit in each form
+        int threeByteCount = medialCount * final3Count;
+        // now determine where the 3/4 boundary is.
+        // we use 3 bytes below the boundary, and 4 above
+        int primariesAvailable = maxPrimary - minPrimary + 1;
+        int primaries4count = primariesAvailable - primaries3count;        
+        
+        int min3ByteCoverage = primaries3count * threeByteCount;
+        min4Primary = minPrimary + primaries3count;
+        min4Boundary = min3ByteCoverage;
+        // Now expand out the multiplier for the 4 bytes, and redo.
+ 
+        int totalNeeded = MAX_INPUT - min4Boundary;
+        int neededPerPrimaryByte = divideAndRoundUp(totalNeeded, primaries4count);
+        if (DEBUG) System.out.println("neededPerPrimaryByte: " + neededPerPrimaryByte);
+        
+        int neededPerFinalByte = divideAndRoundUp(neededPerPrimaryByte, medialCount * medialCount);
+        if (DEBUG) System.out.println("neededPerFinalByte: " + neededPerFinalByte);
+        
+        int gap4 = (maxTrail - minTrail - 1) / neededPerFinalByte;
+        if (DEBUG) System.out.println("expandedGap: " + gap4);
+        if (gap4 < 1) throw new IllegalArgumentException("must have larger gap4s");
+        
+        final4Multiplier = gap4 + 1;
+        final4Count = neededPerFinalByte;
+        max4Trail = minTrail + (final4Count - 1) * final4Multiplier;
+        
+        if (primaries4count * medialCount * medialCount * final4Count < MAX_INPUT) {
+            throw new IllegalArgumentException("internal error");
+        } 
+        if (DEBUG) {
+            System.out.println("final4Count: " + final4Count);
+            for (int counter = 0; counter < final4Count; ++counter) {
+                int value = minTrail + (1 + counter)*final4Multiplier;
+                System.out.println(counter + "\t" + value + "\t" + Utility.hex(value));
+            }
+        }
+    }
+    
+    static public int divideAndRoundUp(int a, int b) {
+        return 1 + (a-1)/b;
+    }
+
+    /**
+     * Converts implicit CE into raw integer
+     * @param implicit
+     * @return -1 if illegal format
+     */
+    public int getRawFromImplicit(int implicit) {
+        int result;
+        int b3 = implicit & 0xFF;
+        implicit >>= 8;
+        int b2 = implicit & 0xFF;
+        implicit >>= 8;
+        int b1 = implicit & 0xFF;
+        implicit >>= 8;
+        int b0 = implicit & 0xFF;
+
+        // simple parameter checks
+        if (b0 < min3Primary || b0 > max4Primary
+            || b1 < minTrail || b1 > maxTrail) return -1;
+        // normal offsets
+        b1 -= minTrail;
+
+        // take care of the final values, and compose
+        if (b0 < min4Primary) {
+            if (b2 < minTrail || b2 > max3Trail || b3 != 0) return -1;
+            b2 -= minTrail;
+            int remainder = b2 % final3Multiplier;
+            if (remainder != 0) return -1;
+            b0 -= min3Primary;
+            b2 /= final3Multiplier;
+            result = ((b0 * medialCount) + b1) * final3Count + b2;
+        } else {
+            if (b2 < minTrail || b2 > maxTrail
+                || b3 < minTrail || b3 > max4Trail) return -1;
+            b2 -= minTrail;
+            b3 -= minTrail;
+            int remainder = b3 % final4Multiplier;
+            if (remainder != 0) return -1;
+            b3 /= final4Multiplier;
+            b0 -= min4Primary;
+            result = (((b0 * medialCount) + b1) * medialCount + b2) * final4Count + b3 + min4Boundary;
+        }
+        // final check
+        if (result < 0 || result > MAX_INPUT) return -1;
+        return result;
+    }
+    
+    /**
+     * Generate the implicit CE, from raw integer.
+     * Left shifted to put the first byte at the top of an int.
+     * @param cp code point
+     * @return Primary implicit weight
+     */
+    public int getImplicitFromRaw(int cp) {
+        if (cp < 0 || cp > MAX_INPUT) {
+            throw new IllegalArgumentException("Code point out of range " + Utility.hex(cp));
+        }
+        int last0 = cp - min4Boundary;
+        if (last0 < 0) {
+            int last1 = cp / final3Count;
+            last0 = cp % final3Count;
+                        
+            int last2 = last1 / medialCount;
+            last1 %= medialCount;
+            
+            last0 = minTrail + last0*final3Multiplier; // spread out, leaving gap at start
+            last1 = minTrail + last1; // offset
+            last2 = min3Primary + last2; // offset
+            
+            if (last2 >= min4Primary) {
+                throw new IllegalArgumentException("4-byte out of range: " + 
+                                                   Utility.hex(cp) + ", " + Utility.hex(last2));
+            } 
+            
+            return (last2 << 24) + (last1 << 16) + (last0 << 8);
+        } else {
+            int last1 = last0 / final4Count;
+            last0 %= final4Count;
+            
+            int last2 = last1 / medialCount;
+            last1 %= medialCount;
+            
+            int last3 = last2 / medialCount;
+            last2 %= medialCount;
+            
+            last0 = minTrail + last0*final4Multiplier; // spread out, leaving gap at start           
+            last1 = minTrail + last1; // offset
+            last2 = minTrail + last2; // offset
+            last3 = min4Primary + last3; // offset
+            
+            if (last3 > max4Primary) {
+                throw new IllegalArgumentException("4-byte out of range: " + 
+                                                   Utility.hex(cp) + ", " + Utility.hex(last3));
+            } 
+            
+            return (last3 << 24) + (last2 << 16) + (last1 << 8) + last0;
+        }
+    }
+
+    /**
+     * Gets an Implicit from a code point. Internally, 
+     * swaps (which produces a raw value 0..220000, 
+     * then converts raw to implicit.
+     * @param cp
+     * @return Primary implicit weight
+     */
+    public int getImplicitFromCodePoint(int cp) {
+        if (DEBUG) System.out.println("Incoming: " + Utility.hex(cp));
+        
+        // Produce Raw value
+        // note, we add 1 so that the first value is always empty!!
+        cp = ImplicitCEGenerator.swapCJK(cp) + 1;
+        // we now have a range of numbers from 0 to 220000.
+            
+        if (DEBUG) System.out.println("CJK swapped: " + Utility.hex(cp));
+            
+        return getImplicitFromRaw(cp);
+    }
+
+    /**
+     * Function used to: 
+     * a) collapse the 2 different Han ranges from UCA into one (in the right order), and
+     * b) bump any non-CJK characters by 10FFFF.
+     * The relevant blocks are:
+     * A:    4E00..9FFF; CJK Unified Ideographs
+     *       F900..FAFF; CJK Compatibility Ideographs
+     * B:    3400..4DBF; CJK Unified Ideographs Extension A
+     *       20000..XX;  CJK Unified Ideographs Extension B (and others later on)
+     * As long as
+     *   no new B characters are allocated between 4E00 and FAFF, and
+     *   no new A characters are outside of this range,
+     * (very high probability) this simple code will work.
+     * The reordered blocks are:
+     * Block1 is CJK
+     * Block2 is CJK_COMPAT_USED
+     * Block3 is CJK_A
+     * (all contiguous)
+     * Any other CJK gets its normal code point
+     * Any non-CJK gets +10FFFF
+     * When we reorder Block1, we make sure that it is at the very start,
+     * so that it will use a 3-byte form.
+     * Warning: the we only pick up the compatibility characters that are
+     * NOT decomposed, so that block is smaller!
+     */
+    
+    static int NON_CJK_OFFSET = 0x110000;
+        
+    static int swapCJK(int i) {
+        
+        if (i >= CJK_BASE) {
+            if (i < CJK_LIMIT)              return i - CJK_BASE;
+            
+            if (i < CJK_COMPAT_USED_BASE)   return i + NON_CJK_OFFSET;
+            
+            if (i < CJK_COMPAT_USED_LIMIT)  return i - CJK_COMPAT_USED_BASE
+                                                + (CJK_LIMIT - CJK_BASE);
+            if (i < CJK_B_BASE)             return i + NON_CJK_OFFSET;
+            
+            if (i < CJK_B_LIMIT)            return i; // non-BMP-CJK
+            
+            return i + NON_CJK_OFFSET;  // non-CJK
+        }
+        if (i < CJK_A_BASE)                 return i + NON_CJK_OFFSET;
+        
+        if (i < CJK_A_LIMIT)                return i - CJK_A_BASE
+                                                + (CJK_LIMIT - CJK_BASE) 
+                                                + (CJK_COMPAT_USED_LIMIT - CJK_COMPAT_USED_BASE);
+        return i + NON_CJK_OFFSET; // non-CJK
+    }
+    
+
+    /**
+     * @return Minimal trail value
+     */
+    public int getMinTrail() {
+        return minTrail;
+    }
+
+    /**
+     * @return Maximal trail value
+     */
+    public int getMaxTrail() {
+        return maxTrail;
+    }
+    
+    public int getCodePointFromRaw(int i) {
+        i--;
+        int result = 0;
+        if(i >= NON_CJK_OFFSET) {
+            result = i - NON_CJK_OFFSET;
+        } else if(i >= CJK_B_BASE) {
+            result = i;
+        } else if(i < CJK_A_LIMIT + (CJK_LIMIT - CJK_BASE) + (CJK_COMPAT_USED_LIMIT - CJK_COMPAT_USED_BASE)) { 
+            // rest of CJKs, compacted
+            if(i < CJK_LIMIT - CJK_BASE) {
+                result = i + CJK_BASE;
+            } else if(i < (CJK_LIMIT - CJK_BASE) + (CJK_COMPAT_USED_LIMIT - CJK_COMPAT_USED_BASE)) {
+                result = i + CJK_COMPAT_USED_BASE - (CJK_LIMIT - CJK_BASE);
+            } else {
+                result = i + CJK_A_BASE - (CJK_LIMIT - CJK_BASE) - (CJK_COMPAT_USED_LIMIT - CJK_COMPAT_USED_BASE);
+            }
+        } else {
+            result = -1;
+        }
+        return result;
+    }
+
+    public int getRawFromCodePoint(int i) {
+        return swapCJK(i)+1;
+    }
+}
diff --git a/src/com/ibm/icu/impl/IntTrie.java b/src/com/ibm/icu/impl/IntTrie.java
new file mode 100755
index 0000000..01140de
--- /dev/null
+++ b/src/com/ibm/icu/impl/IntTrie.java
@@ -0,0 +1,340 @@
+/*
+******************************************************************************
+* Copyright (C) 1996-2005, International Business Machines Corporation and   *
+* others. All Rights Reserved.                                               *
+******************************************************************************
+*/
+
+package com.ibm.icu.impl;
+
+import java.io.InputStream;
+import java.io.DataInputStream;
+import java.io.IOException;
+import java.util.Arrays;
+import com.ibm.icu.text.UTF16;
+
+/**
+ * Trie implementation which stores data in int, 32 bits.
+ * @author synwee
+ * @see com.ibm.icu.impl.Trie
+ * @since release 2.1, Jan 01 2002
+ */
+public class IntTrie extends Trie
+{
+    // public constructors ---------------------------------------------
+
+    /**
+    * <p>Creates a new Trie with the settings for the trie data.</p>
+    * <p>Unserialize the 32-bit-aligned input stream and use the data for the 
+    * trie.</p>
+    * @param inputStream file input stream to a ICU data file, containing 
+    *                    the trie
+    * @param dataManipulate object which provides methods to parse the char 
+    *                        data
+    * @throws IOException thrown when data reading fails
+    * @draft 2.1
+    */
+    public IntTrie(InputStream inputStream, DataManipulate datamanipulate)
+                                                    throws IOException
+    {
+        super(inputStream, datamanipulate);
+        if (!isIntTrie()) {
+            throw new IllegalArgumentException(
+                               "Data given does not belong to a int trie.");
+        }
+    }
+
+    /**
+     * Make a dummy IntTrie.
+     * A dummy trie is an empty runtime trie, used when a real data trie cannot
+     * be loaded.
+     *
+     * The trie always returns the initialValue,
+     * or the leadUnitValue for lead surrogate code points.
+     * The Latin-1 part is always set up to be linear.
+     *
+     * @param initialValue the initial value that is set for all code points
+     * @param leadUnitValue the value for lead surrogate code _units_ that do not
+     *                      have associated supplementary data
+     * @param dataManipulate object which provides methods to parse the char data
+     */
+    public IntTrie(int initialValue, int leadUnitValue, DataManipulate dataManipulate) {
+        super(new char[BMP_INDEX_LENGTH+SURROGATE_BLOCK_COUNT], HEADER_OPTIONS_LATIN1_IS_LINEAR_MASK_, dataManipulate);
+
+        int dataLength, latin1Length, i, limit;
+        char block;
+
+        /* calculate the actual size of the dummy trie data */
+
+        /* max(Latin-1, block 0) */
+        dataLength=latin1Length= INDEX_STAGE_1_SHIFT_<=8 ? 256 : DATA_BLOCK_LENGTH;
+        if(leadUnitValue!=initialValue) {
+            dataLength+=DATA_BLOCK_LENGTH;
+        }
+        m_data_=new int[dataLength];
+        m_dataLength_=dataLength;
+
+        m_initialValue_=initialValue;
+
+        /* fill the index and data arrays */
+
+        /* indexes are preset to 0 (block 0) */
+
+        /* Latin-1 data */
+        for(i=0; i<latin1Length; ++i) {
+            m_data_[i]=initialValue;
+        }
+
+        if(leadUnitValue!=initialValue) {
+            /* indexes for lead surrogate code units to the block after Latin-1 */
+            block=(char)(latin1Length>>INDEX_STAGE_2_SHIFT_);
+            i=0xd800>>INDEX_STAGE_1_SHIFT_;
+            limit=0xdc00>>INDEX_STAGE_1_SHIFT_;
+            for(; i<limit; ++i) {
+                m_index_[i]=block;
+            }
+
+            /* data for lead surrogate code units */
+            limit=latin1Length+DATA_BLOCK_LENGTH;
+            for(i=latin1Length; i<limit; ++i) {
+                m_data_[i]=leadUnitValue;
+            }
+        }
+    }
+
+    // public methods --------------------------------------------------
+
+    /**
+    * Gets the value associated with the codepoint.
+    * If no value is associated with the codepoint, a default value will be
+    * returned.
+    * @param ch codepoint
+    * @return offset to data
+    * @draft 2.1
+    */
+    public final int getCodePointValue(int ch)
+    {
+        int offset;
+
+        // fastpath for U+0000..U+D7FF
+        if(0 <= ch && ch < UTF16.LEAD_SURROGATE_MIN_VALUE) {
+            // copy of getRawOffset()
+            offset = (m_index_[ch >> INDEX_STAGE_1_SHIFT_] << INDEX_STAGE_2_SHIFT_) 
+                    + (ch & INDEX_STAGE_3_MASK_);
+            return m_data_[offset];
+        }
+
+        // handle U+D800..U+10FFFF
+        offset = getCodePointOffset(ch);
+        return (offset >= 0) ? m_data_[offset] : m_initialValue_;
+    }
+
+    /**
+    * Gets the value to the data which this lead surrogate character points
+    * to.
+    * Returned data may contain folding offset information for the next
+    * trailing surrogate character.
+    * This method does not guarantee correct results for trail surrogates.
+    * @param ch lead surrogate character
+    * @return data value
+    * @draft 2.1
+    */
+    public final int getLeadValue(char ch)
+    {
+        return m_data_[getLeadOffset(ch)];
+    }
+
+    /**
+    * Get the value associated with the BMP code point.
+    * Lead surrogate code points are treated as normal code points, with
+    * unfolded values that may differ from getLeadValue() results.
+    * @param ch the input BMP code point
+    * @return trie data value associated with the BMP codepoint
+    * @draft 2.1
+    */
+    public final int getBMPValue(char ch)
+    {
+        return m_data_[getBMPOffset(ch)];
+    }
+
+    /**
+    * Get the value associated with a pair of surrogates.
+    * @param lead a lead surrogate
+    * @param trail a trail surrogate
+    * @draft 2.1
+    */
+    public final int getSurrogateValue(char lead, char trail)
+    {
+        if (!UTF16.isLeadSurrogate(lead) || !UTF16.isTrailSurrogate(trail)) {
+            throw new IllegalArgumentException(
+                "Argument characters do not form a supplementary character");
+        }
+        // get fold position for the next trail surrogate
+        int offset = getSurrogateOffset(lead, trail);
+
+        // get the real data from the folded lead/trail units
+        if (offset > 0) {
+            return m_data_[offset];
+        }
+
+        // return m_initialValue_ if there is an error
+        return m_initialValue_;
+    }
+
+    /**
+    * Get a value from a folding offset (from the value of a lead surrogate)
+    * and a trail surrogate.
+    * @param leadvalue the value of a lead surrogate that contains the
+    *        folding offset
+    * @param trail surrogate
+    * @return trie data value associated with the trail character
+    * @draft 2.1
+    */
+    public final int getTrailValue(int leadvalue, char trail)
+    {
+        if (m_dataManipulate_ == null) {
+            throw new NullPointerException(
+                             "The field DataManipulate in this Trie is null");
+        }
+        int offset = m_dataManipulate_.getFoldingOffset(leadvalue);
+        if (offset > 0) {
+            return m_data_[getRawOffset(offset,
+                                         (char)(trail & SURROGATE_MASK_))];
+        }
+        return m_initialValue_;
+    }
+    
+    /**
+     * <p>Gets the latin 1 fast path value.</p>
+     * <p>Note this only works if latin 1 characters have their own linear 
+     * array.</p>
+     * @param ch latin 1 characters
+     * @return value associated with latin character
+     */
+    public final int getLatin1LinearValue(char ch) 
+    {
+        return m_data_[INDEX_STAGE_3_MASK_ + 1 + ch];
+    }
+
+    /**
+     * Checks if the argument Trie has the same data as this Trie
+     * @param other Trie to check
+     * @return true if the argument Trie has the same data as this Trie, false
+     *         otherwise
+     */
+    ///CLOVER:OFF
+    public boolean equals(Object other) 
+    {
+        boolean result = super.equals(other);
+        if (result && other instanceof IntTrie) {
+            IntTrie othertrie = (IntTrie)other;
+            if (m_initialValue_ != othertrie.m_initialValue_
+                || !Arrays.equals(m_data_, othertrie.m_data_)) {
+                return false;
+            }
+            return true;
+        }
+        return false;
+    }
+    ///CLOVER:ON
+    
+    // protected methods -----------------------------------------------
+
+    /**
+    * <p>Parses the input stream and stores its trie content into a index and
+    * data array</p>
+    * @param inputStream data input stream containing trie data
+    * @exception IOException thrown when data reading fails
+    */
+    protected final void unserialize(InputStream inputStream) 
+                                                    throws IOException
+    {
+        super.unserialize(inputStream);
+        // one used for initial value
+        m_data_               = new int[m_dataLength_];
+        DataInputStream input = new DataInputStream(inputStream);
+        for (int i = 0; i < m_dataLength_; i ++) {
+            m_data_[i] = input.readInt();
+        }
+        m_initialValue_ = m_data_[0];
+    }
+    
+    /**
+    * Gets the offset to the data which the surrogate pair points to.
+    * @param lead lead surrogate
+    * @param trail trailing surrogate
+    * @return offset to data
+    * @draft 2.1
+    */
+    protected final int getSurrogateOffset(char lead, char trail)
+    {
+        if (m_dataManipulate_ == null) {
+            throw new NullPointerException(
+                             "The field DataManipulate in this Trie is null");
+        }
+        // get fold position for the next trail surrogate
+        int offset = m_dataManipulate_.getFoldingOffset(getLeadValue(lead));
+
+        // get the real data from the folded lead/trail units
+        if (offset > 0) {
+            return getRawOffset(offset, (char)(trail & SURROGATE_MASK_));
+        }
+
+        // return -1 if there is an error, in this case we return the default
+        // value: m_initialValue_
+        return -1;
+    }
+    
+    /**
+    * Gets the value at the argument index.
+    * For use internally in TrieIterator
+    * @param index value at index will be retrieved
+    * @return 32 bit value
+    * @see com.ibm.icu.impl.TrieIterator
+    * @draft 2.1
+    */
+    protected final int getValue(int index)
+    {
+      return m_data_[index];
+    }
+    
+    /**
+    * Gets the default initial value
+    * @return 32 bit value 
+    * @draft 2.1
+    */
+    protected final int getInitialValue()
+    {
+        return m_initialValue_;
+    }
+
+    // package private methods -----------------------------------------
+    
+    /**
+     * Internal constructor for builder use
+     * @param index the index array to be slotted into this trie
+     * @param data the data array to be slotted into this trie
+     * @param initialvalue the initial value for this trie
+     * @param options trie options to use
+     * @param datamanipulate folding implementation
+     */
+    IntTrie(char index[], int data[], int initialvalue, int options,
+            DataManipulate datamanipulate)
+    {
+        super(index, options, datamanipulate);
+        m_data_ = data;
+        m_dataLength_ = m_data_.length;
+        m_initialValue_ = initialvalue;
+    }
+    
+    // private data members --------------------------------------------
+
+    /**
+    * Default value
+    */
+    private int m_initialValue_;
+    /**
+    * Array of char data
+    */
+    private int m_data_[];
+}
diff --git a/src/com/ibm/icu/impl/IntTrieBuilder.java b/src/com/ibm/icu/impl/IntTrieBuilder.java
new file mode 100644
index 0000000..ddda0b0
--- /dev/null
+++ b/src/com/ibm/icu/impl/IntTrieBuilder.java
@@ -0,0 +1,652 @@
+/*
+******************************************************************************
+* Copyright (C) 1996-2005, International Business Machines Corporation and   *
+* others. All Rights Reserved.                                               *
+******************************************************************************
+*/
+
+package com.ibm.icu.impl;
+
+import com.ibm.icu.lang.UCharacter;
+import com.ibm.icu.text.UTF16;
+import java.util.Arrays;
+
+/**
+ * Builder class to manipulate and generate a trie.
+ * This is useful for ICU data in primitive types.
+ * Provides a compact way to store information that is indexed by Unicode 
+ * values, such as character properties, types, keyboard values, etc. This is 
+ * very useful when you have a block of Unicode data that contains significant 
+ * values while the rest of the Unicode data is unused in the application or 
+ * when you have a lot of redundance, such as where all 21,000 Han ideographs 
+ * have the same value.  However, lookup is much faster than a hash table.
+ * A trie of any primitive data type serves two purposes:
+ * <UL type = round>
+ *     <LI>Fast access of the indexed values.
+ *     <LI>Smaller memory footprint.
+ * </UL>
+ * This is a direct port from the ICU4C version
+ * @author             Syn Wee Quek
+ */
+public class IntTrieBuilder extends TrieBuilder
+{
+    // public constructor ----------------------------------------------
+                
+    /**
+     * Copy constructor
+     */
+    public IntTrieBuilder(IntTrieBuilder table)
+    {
+        super(table);
+        m_data_ = new int[m_dataCapacity_];
+        System.arraycopy(table.m_data_, 0, m_data_, 0, m_dataLength_);
+        m_initialValue_ = table.m_initialValue_;
+        m_leadUnitValue_ = table.m_leadUnitValue_;
+    }
+    
+    /**
+     * Constructs a build table
+     * @param aliasdata data to be filled into table
+     * @param maxdatalength maximum data length allowed in table
+     * @param initialvalue inital data value
+     * @param latin1linear is latin 1 to be linear
+     */
+    public IntTrieBuilder(int aliasdata[], int maxdatalength, 
+                          int initialvalue, int leadunitvalue, 
+                          boolean latin1linear) 
+    {
+        super();
+        if (maxdatalength < DATA_BLOCK_LENGTH || (latin1linear 
+                                                  && maxdatalength < 1024)) {
+            throw new IllegalArgumentException(
+                                               "Argument maxdatalength is too small");
+        }
+            
+        if (aliasdata != null) {
+            m_data_ = aliasdata;
+        } 
+        else {
+            m_data_ = new int[maxdatalength];
+        }
+        
+        // preallocate and reset the first data block (block index 0)
+        int j = DATA_BLOCK_LENGTH;
+        
+        if (latin1linear) {
+            // preallocate and reset the first block (number 0) and Latin-1 
+            // (U+0000..U+00ff) after that made sure above that 
+            // maxDataLength >= 1024
+            // set indexes to point to consecutive data blocks
+            int i = 0;
+            do {
+                // do this at least for trie->index[0] even if that block is 
+                // only partly used for Latin-1
+                m_index_[i ++] = j;
+                j += DATA_BLOCK_LENGTH;
+            } while (i < (256 >> SHIFT_));
+        }
+        
+        m_dataLength_ = j;
+        // reset the initially allocated blocks to the initial value
+        Arrays.fill(m_data_, 0, m_dataLength_, initialvalue);
+        m_initialValue_ = initialvalue;
+        m_leadUnitValue_ = leadunitvalue;
+        m_dataCapacity_ = maxdatalength;
+        m_isLatin1Linear_ = latin1linear;
+        m_isCompacted_ = false;
+    }
+
+    // public methods -------------------------------------------------------
+     
+    /*public final void print()
+      {
+      int i = 0;
+      int oldvalue = m_index_[i];
+      int count = 0;
+      System.out.println("index length " + m_indexLength_ 
+      + " --------------------------");
+      while (i < m_indexLength_) {
+      if (m_index_[i] != oldvalue) {
+      System.out.println("index has " + count + " counts of " 
+      + Integer.toHexString(oldvalue));
+      count = 0;
+      oldvalue = m_index_[i];
+      }
+      count ++;
+      i ++;
+      }
+      System.out.println("index has " + count + " counts of " 
+      + Integer.toHexString(oldvalue));
+      i = 0;
+      oldvalue = m_data_[i];
+      count = 0;
+      System.out.println("data length " + m_dataLength_ 
+      + " --------------------------");
+      while (i < m_dataLength_) {
+      if (m_data_[i] != oldvalue) {
+      if ((oldvalue & 0xf1000000) == 0xf1000000) {
+      int temp = oldvalue & 0xffffff; 
+      temp += 0x320;
+      oldvalue = 0xf1000000 | temp;
+      }
+      if ((oldvalue & 0xf2000000) == 0xf2000000) {
+      int temp = oldvalue & 0xffffff; 
+      temp += 0x14a;
+      oldvalue = 0xf2000000 | temp;
+      }
+      System.out.println("data has " + count + " counts of " 
+      + Integer.toHexString(oldvalue));
+      count = 0;
+      oldvalue = m_data_[i];
+      }
+      count ++;
+      i ++;
+      }
+      if ((oldvalue & 0xf1000000) == 0xf1000000) {
+      int temp = oldvalue & 0xffffff; 
+      temp += 0x320;
+      oldvalue = 0xf1000000 | temp;
+      }
+      if ((oldvalue & 0xf2000000) == 0xf2000000) {
+      int temp = oldvalue & 0xffffff; 
+      temp += 0x14a;
+      oldvalue = 0xf2000000 | temp;
+      }
+      System.out.println("data has " + count + " counts of " 
+      + Integer.toHexString(oldvalue));
+      }
+    */   
+    /**
+     * Gets a 32 bit data from the table data
+     * @param ch codepoint which data is to be retrieved
+     * @return the 32 bit data
+     */
+    public int getValue(int ch) 
+    {
+        // valid, uncompacted trie and valid c?
+        if (m_isCompacted_ || ch > UCharacter.MAX_VALUE || ch < 0) {
+            return 0;
+        }
+    
+        int block = m_index_[ch >> SHIFT_];
+        return m_data_[Math.abs(block) + (ch & MASK_)];
+    }
+    
+    /**
+     * Sets a 32 bit data in the table data
+     * @param ch codepoint which data is to be set
+     * @param value to set
+     * @return true if the set is successful, otherwise 
+     *              if the table has been compacted return false
+     */
+    public boolean setValue(int ch, int value) 
+    {
+        // valid, uncompacted trie and valid c? 
+        if (m_isCompacted_ || ch > UCharacter.MAX_VALUE || ch < 0) {
+            return false;
+        }
+    
+        int block = getDataBlock(ch);
+        if (block < 0) {
+            return false;
+        }
+    
+        m_data_[block + (ch & MASK_)] = value;
+        return true;
+    }
+    
+    /**
+     * Serializes the build table with 32 bit data
+     * @param datamanipulate builder raw fold method implementation
+     * @param triedatamanipulate result trie fold method
+     * @return a new trie
+     */
+    public IntTrie serialize(TrieBuilder.DataManipulate datamanipulate, 
+                             Trie.DataManipulate triedatamanipulate)
+    {
+        if (datamanipulate == null) {
+            throw new IllegalArgumentException("Parameters can not be null");
+        }
+        // fold and compact if necessary, also checks that indexLength is 
+        // within limits 
+        if (!m_isCompacted_) {
+            // compact once without overlap to improve folding
+            compact(false);
+            // fold the supplementary part of the index array
+            fold(datamanipulate);
+            // compact again with overlap for minimum data array length
+            compact(true);
+            m_isCompacted_ = true;
+        }
+        // is dataLength within limits? 
+        if (m_dataLength_ >= MAX_DATA_LENGTH_) {
+            throw new ArrayIndexOutOfBoundsException("Data length too small");
+        }
+    
+        char index[] = new char[m_indexLength_];
+        int data[] = new int[m_dataLength_];
+        // write the index (stage 1) array and the 32-bit data (stage 2) array
+        // write 16-bit index values shifted right by INDEX_SHIFT_ 
+        for (int i = 0; i < m_indexLength_; i ++) {
+            index[i] = (char)(m_index_[i] >>> INDEX_SHIFT_);
+        }
+        // write 32-bit data values
+        System.arraycopy(m_data_, 0, data, 0, m_dataLength_);
+        
+        int options = SHIFT_ | (INDEX_SHIFT_ << OPTIONS_INDEX_SHIFT_);
+        options |= OPTIONS_DATA_IS_32_BIT_;
+        if (m_isLatin1Linear_) {
+            options |= OPTIONS_LATIN1_IS_LINEAR_;
+        }
+        return new IntTrie(index, data, m_initialValue_, options, 
+                           triedatamanipulate);
+    }
+    
+    /**
+     * Set a value in a range of code points [start..limit].
+     * All code points c with start &lt;= c &lt; limit will get the value if
+     * overwrite is true or if the old value is 0.
+     * @param start the first code point to get the value
+     * @param limit one past the last code point to get the value
+     * @param value the value
+     * @param overwrite flag for whether old non-initial values are to be 
+     *        overwritten
+     * @return false if a failure occurred (illegal argument or data array 
+     *               overrun)
+     */
+    public boolean setRange(int start, int limit, int value, 
+                            boolean overwrite) 
+    {
+        // repeat value in [start..limit[
+        // mark index values for repeat-data blocks by setting bit 31 of the 
+        // index values fill around existing values if any, if(overwrite)
+            
+        // valid, uncompacted trie and valid indexes?
+        if (m_isCompacted_ || start < UCharacter.MIN_VALUE 
+            || start > UCharacter.MAX_VALUE || limit < UCharacter.MIN_VALUE
+            || limit > (UCharacter.MAX_VALUE + 1) || start > limit) {
+            return false;
+        }
+            
+        if (start == limit) {
+            return true; // nothing to do
+        }
+        
+        if ((start & MASK_) != 0) {
+            // set partial block at [start..following block boundary[
+            int block = getDataBlock(start);
+            if (block < 0) {
+                return false;
+            }
+        
+            int nextStart = (start + DATA_BLOCK_LENGTH) & ~MASK_;
+            if (nextStart <= limit) {
+                fillBlock(block, start & MASK_, DATA_BLOCK_LENGTH,
+                          value, overwrite);
+                start = nextStart;
+            } 
+            else {
+                fillBlock(block, start & MASK_, limit & MASK_,
+                          value, overwrite);
+                return true;
+            }
+        }
+        
+        // number of positions in the last, partial block
+        int rest = limit & MASK_;
+        
+        // round down limit to a block boundary 
+        limit &= ~MASK_;
+        
+        // iterate over all-value blocks 
+        int repeatBlock = 0;
+        if (value == m_initialValue_) {
+            // repeatBlock = 0; assigned above
+        } 
+        else {
+            repeatBlock = -1;
+        }
+        while (start < limit) {
+            // get index value 
+            int block = m_index_[start >> SHIFT_];
+            if (block > 0) {
+                // already allocated, fill in value
+                fillBlock(block, 0, DATA_BLOCK_LENGTH, value, overwrite);
+            } 
+            else if (m_data_[-block] != value && (block == 0 || overwrite)) {
+                // set the repeatBlock instead of the current block 0 or range 
+                // block 
+                if (repeatBlock >= 0) {
+                    m_index_[start >> SHIFT_] = -repeatBlock;
+                } 
+                else {
+                    // create and set and fill the repeatBlock
+                    repeatBlock = getDataBlock(start);
+                    if (repeatBlock < 0) {
+                        return false;
+                    }
+        
+                    // set the negative block number to indicate that it is a 
+                    // repeat block
+                    m_index_[start >> SHIFT_] = -repeatBlock;
+                    fillBlock(repeatBlock, 0, DATA_BLOCK_LENGTH, value, true);
+                }
+            }
+        
+            start += DATA_BLOCK_LENGTH;
+        }
+        
+        if (rest > 0) {
+            // set partial block at [last block boundary..limit[
+            int block = getDataBlock(start);
+            if (block < 0) {
+                return false;
+            }
+            fillBlock(block, 0, rest, value, overwrite);
+        }
+        
+        return true;
+    }
+    
+    // protected data member ------------------------------------------------
+                
+    protected int m_data_[];
+    protected int m_initialValue_;  
+    
+    //  private data member ------------------------------------------------
+        
+    private int m_leadUnitValue_;  
+     
+    // private methods ------------------------------------------------------
+   
+    private int allocDataBlock() 
+    {
+        int newBlock = m_dataLength_;
+        int newTop = newBlock + DATA_BLOCK_LENGTH;
+        if (newTop > m_dataCapacity_) {
+            // out of memory in the data array
+            return -1;
+        }
+        m_dataLength_ = newTop;
+        return newBlock;
+    }
+
+    /**
+     * No error checking for illegal arguments.
+     * @param ch codepoint to look for
+     * @return -1 if no new data block available (out of memory in data array)
+     */
+    private int getDataBlock(int ch) 
+    {
+        ch >>= SHIFT_;
+        int indexValue = m_index_[ch];
+        if (indexValue > 0) {
+            return indexValue;
+        }
+    
+        // allocate a new data block
+        int newBlock = allocDataBlock();
+        if (newBlock < 0) {
+            // out of memory in the data array 
+            return -1;
+        }
+        m_index_[ch] = newBlock;
+    
+        // copy-on-write for a block from a setRange()
+        System.arraycopy(m_data_, Math.abs(indexValue), m_data_, newBlock,  
+                         DATA_BLOCK_LENGTH << 2);
+        return newBlock;
+    }
+    
+    /**
+     * Compact a folded build-time trie.
+     * The compaction
+     * - removes blocks that are identical with earlier ones
+     * - overlaps adjacent blocks as much as possible (if overlap == true)
+     * - moves blocks in steps of the data granularity
+     * - moves and overlaps blocks that overlap with multiple values in the overlap region
+     *
+     * It does not
+     * - try to move and overlap blocks that are not already adjacent
+     * @param overlap flag
+     */
+    private void compact(boolean overlap) 
+    {
+        if (m_isCompacted_) {
+            return; // nothing left to do
+        }
+    
+        // compaction
+        // initialize the index map with "block is used/unused" flags
+        findUnusedBlocks();
+        
+        // if Latin-1 is preallocated and linear, then do not compact Latin-1 
+        // data
+        int overlapStart = DATA_BLOCK_LENGTH;
+        if (m_isLatin1Linear_ && SHIFT_ <= 8) {
+            overlapStart += 256;
+        }
+       
+        int newStart = DATA_BLOCK_LENGTH;
+        int i;
+        for (int start = newStart; start < m_dataLength_;) {
+            // start: index of first entry of current block
+            // newStart: index where the current block is to be moved
+            //           (right after current end of already-compacted data)
+            // skip blocks that are not used 
+            if (m_map_[start >>> SHIFT_] < 0) {
+                // advance start to the next block 
+                start += DATA_BLOCK_LENGTH;
+                // leave newStart with the previous block!
+                continue;
+            }
+            // search for an identical block
+            if (start >= overlapStart) {
+                i = findSameDataBlock(m_data_, newStart, start,
+                                          overlap ? DATA_GRANULARITY_ : DATA_BLOCK_LENGTH);
+                if (i >= 0) {
+                    // found an identical block, set the other block's index 
+                    // value for the current block
+                    m_map_[start >>> SHIFT_] = i;
+                    // advance start to the next block
+                    start += DATA_BLOCK_LENGTH;
+                    // leave newStart with the previous block!
+                    continue;
+                }
+            }
+            // see if the beginning of this block can be overlapped with the 
+            // end of the previous block
+            if(overlap && start>=overlapStart) {
+                /* look for maximum overlap (modulo granularity) with the previous, adjacent block */
+                for(i=DATA_BLOCK_LENGTH-DATA_GRANULARITY_;
+                    i>0 && !equal_int(m_data_, newStart-i, start, i);
+                    i-=DATA_GRANULARITY_) {}
+            } else {
+                i=0;
+            }
+            if (i > 0) {
+                // some overlap
+                m_map_[start >>> SHIFT_] = newStart - i;
+                // move the non-overlapping indexes to their new positions
+                start += i;
+                for (i = DATA_BLOCK_LENGTH - i; i > 0; -- i) {
+                    m_data_[newStart ++] = m_data_[start ++];
+                }
+            } 
+            else if (newStart < start) {
+                // no overlap, just move the indexes to their new positions
+                m_map_[start >>> SHIFT_] = newStart;
+                for (i = DATA_BLOCK_LENGTH; i > 0; -- i) {
+                    m_data_[newStart ++] = m_data_[start ++];
+                }
+            } 
+            else { // no overlap && newStart==start
+                m_map_[start >>> SHIFT_] = start;
+                newStart += DATA_BLOCK_LENGTH;
+                start = newStart;
+            }
+        }
+        // now adjust the index (stage 1) table
+        for (i = 0; i < m_indexLength_; ++ i) {
+            m_index_[i] = m_map_[Math.abs(m_index_[i]) >>> SHIFT_];
+        }
+        m_dataLength_ = newStart;
+    }
+
+    /**
+     * Find the same data block
+     * @param data array
+     * @param dataLength
+     * @param otherBlock
+     * @param step
+     */
+    private static final int findSameDataBlock(int data[], int dataLength,
+                                               int otherBlock, int step) 
+    {
+        // ensure that we do not even partially get past dataLength
+        dataLength -= DATA_BLOCK_LENGTH;
+
+        for (int block = 0; block <= dataLength; block += step) {
+            if(equal_int(data, block, otherBlock, DATA_BLOCK_LENGTH)) {
+                return block;
+            }
+        }
+        return -1;
+    }
+    
+    /**
+     * Fold the normalization data for supplementary code points into
+     * a compact area on top of the BMP-part of the trie index,
+     * with the lead surrogates indexing this compact area.
+     *
+     * Duplicate the index values for lead surrogates:
+     * From inside the BMP area, where some may be overridden with folded values,
+     * to just after the BMP area, where they can be retrieved for
+     * code point lookups.
+     * @param manipulate fold implementation
+     */
+    private final void fold(DataManipulate manipulate) 
+    {
+        int leadIndexes[] = new int[SURROGATE_BLOCK_COUNT_];
+        int index[] = m_index_;
+        // copy the lead surrogate indexes into a temporary array
+        System.arraycopy(index, 0xd800 >> SHIFT_, leadIndexes, 0, 
+                         SURROGATE_BLOCK_COUNT_);
+        
+        // set all values for lead surrogate code *units* to leadUnitValue
+        // so that by default runtime lookups will find no data for associated
+        // supplementary code points, unless there is data for such code points
+        // which will result in a non-zero folding value below that is set for
+        // the respective lead units
+        // the above saved the indexes for surrogate code *points*
+        // fill the indexes with simplified code from utrie_setRange32()
+        int block = 0;
+        if (m_leadUnitValue_ == m_initialValue_) {
+            // leadUnitValue == initialValue, use all-initial-value block
+            // block = 0; if block here left empty
+        } 
+        else {
+            // create and fill the repeatBlock
+            block = allocDataBlock();
+            if (block < 0) {
+                // data table overflow
+                throw new InternalError("Internal error: Out of memory space");
+            }
+            fillBlock(block, 0, DATA_BLOCK_LENGTH, m_leadUnitValue_, true);
+            // negative block number to indicate that it is a repeat block
+            block = -block; 
+        }
+        for (int c = (0xd800 >> SHIFT_); c < (0xdc00 >> SHIFT_); ++ c) {
+            m_index_[c] = block;
+        }
+
+        // Fold significant index values into the area just after the BMP 
+        // indexes.
+        // In case the first lead surrogate has significant data,
+        // its index block must be used first (in which case the folding is a 
+        // no-op).
+        // Later all folded index blocks are moved up one to insert the copied
+        // lead surrogate indexes.
+        int indexLength = BMP_INDEX_LENGTH_;
+        // search for any index (stage 1) entries for supplementary code points 
+        for (int c = 0x10000; c < 0x110000;) {
+            if (index[c >> SHIFT_] != 0) {
+                // there is data, treat the full block for a lead surrogate
+                c &= ~0x3ff;
+                // is there an identical index block?
+                block = findSameIndexBlock(index, indexLength, c >> SHIFT_);
+                
+                // get a folded value for [c..c+0x400[ and,
+                // if different from the value for the lead surrogate code 
+                // point, set it for the lead surrogate code unit
+
+                int value = manipulate.getFoldedValue(c, 
+                                                      block + SURROGATE_BLOCK_COUNT_);
+                if (value != getValue(UTF16.getLeadSurrogate(c))) {
+                    if (!setValue(UTF16.getLeadSurrogate(c), value)) {
+                        // data table overflow 
+                        throw new ArrayIndexOutOfBoundsException(
+                                                                 "Data table overflow");
+                    }
+                    // if we did not find an identical index block...
+                    if (block == indexLength) {
+                        // move the actual index (stage 1) entries from the 
+                        // supplementary position to the new one
+                        System.arraycopy(index, c >> SHIFT_, index, indexLength,
+                                         SURROGATE_BLOCK_COUNT_);
+                        indexLength += SURROGATE_BLOCK_COUNT_;
+                    }
+                }
+                c += 0x400;
+            } 
+            else {
+                c += DATA_BLOCK_LENGTH;
+            }
+        }
+        
+        // index array overflow?
+        // This is to guarantee that a folding offset is of the form
+        // UTRIE_BMP_INDEX_LENGTH+n*UTRIE_SURROGATE_BLOCK_COUNT with n=0..1023.
+        // If the index is too large, then n>=1024 and more than 10 bits are 
+        // necessary.
+        // In fact, it can only ever become n==1024 with completely unfoldable 
+        // data and the additional block of duplicated values for lead 
+        // surrogates.
+        if (indexLength >= MAX_INDEX_LENGTH_) {
+            throw new ArrayIndexOutOfBoundsException("Index table overflow");
+        }
+        // make space for the lead surrogate index block and insert it between 
+        // the BMP indexes and the folded ones
+        System.arraycopy(index, BMP_INDEX_LENGTH_, index, 
+                         BMP_INDEX_LENGTH_ + SURROGATE_BLOCK_COUNT_,
+                         indexLength - BMP_INDEX_LENGTH_);
+        System.arraycopy(leadIndexes, 0, index, BMP_INDEX_LENGTH_,
+                         SURROGATE_BLOCK_COUNT_);
+        indexLength += SURROGATE_BLOCK_COUNT_;
+        m_indexLength_ = indexLength;
+    }
+    
+    /**
+     * @internal
+     */
+    private void fillBlock(int block, int start, int limit, int value, 
+                           boolean overwrite) 
+    {
+        limit += block;
+        block += start;
+        if (overwrite) {
+            while (block < limit) {
+                m_data_[block ++] = value;
+            }
+        } 
+        else {
+            while (block < limit) {
+                if (m_data_[block] == m_initialValue_) {
+                    m_data_[block] = value;
+                }
+                ++ block;
+            }
+        }
+    }
+}
+    
diff --git a/src/com/ibm/icu/impl/JDKTimeZone.java b/src/com/ibm/icu/impl/JDKTimeZone.java
new file mode 100644
index 0000000..e5f0b5f
--- /dev/null
+++ b/src/com/ibm/icu/impl/JDKTimeZone.java
@@ -0,0 +1,254 @@
+/*
+**********************************************************************
+* Copyright (c) 2003-2005, International Business Machines
+* Corporation and others.  All Rights Reserved.
+**********************************************************************
+* Author: Alan Liu
+* Created: October 2 2003
+* Since: ICU 2.8
+**********************************************************************
+*/
+package com.ibm.icu.impl;
+import com.ibm.icu.util.TimeZone;
+import com.ibm.icu.util.SimpleTimeZone;
+import java.util.Date;
+import java.lang.reflect.Method;
+import java.lang.reflect.InvocationTargetException;
+import java.io.IOException;
+
+/**
+ * A wrapper around a java.util.TimeZone object.  This is a concrete
+ * instance of TimeZone.  All TimeZones that wrap a java.util.TimeZone
+ * should inherit from this class.  TimeZones that do not wrap a
+ * java.util.TimeZone inherit directly from TimeZone.
+ *
+ * The complement of this is TimeZoneAdapter, which makes a
+ * com.ibm.icu.util.TimeZone look like a java.util.TimeZone.
+ *
+ * @see com.ibm.icu.impl.JDKTimeZone
+ * @author Alan Liu
+ * @since ICU 2.8
+ */
+public class JDKTimeZone extends TimeZone {
+
+    private static final long serialVersionUID = -3724907649889455280L;
+
+    /**
+     * The java.util.TimeZone wrapped by this object.  Must not be null.
+     */
+    // give access to SimpleTimeZone
+    protected transient java.util.TimeZone zone;
+
+    /**
+     * Given a java.util.TimeZone, wrap it in the appropriate adapter
+     * subclass of com.ibm.icu.util.TimeZone and return the adapter.
+     */
+    public static TimeZone wrap(java.util.TimeZone tz) {
+        if (tz instanceof TimeZoneAdapter) {
+            return ((TimeZoneAdapter) tz).unwrap();
+        }
+        if (tz instanceof java.util.SimpleTimeZone) {
+            return new SimpleTimeZone((java.util.SimpleTimeZone) tz);
+        }
+        return new JDKTimeZone(tz);
+    }
+
+    /**
+     * Return the java.util.TimeZone wrapped by this object.
+     */
+    public java.util.TimeZone unwrap() {
+        return zone;
+    }
+
+    /**
+     * Constructs a JDKTimeZone given a java.util.TimeZone reference
+     * which must not be null.
+     * @param tz the time zone to wrap
+     */
+    protected JDKTimeZone(java.util.TimeZone tz) {
+        zone = tz;
+        super.setID(zone.getID());
+    }
+
+    /**
+     * Sets the time zone ID. This does not change any other data in
+     * the time zone object.
+     * @param ID the new time zone ID.
+     */
+    public void setID(String ID) {
+        super.setID(ID);
+        zone.setID(ID);
+    }
+
+    /**
+     * TimeZone API; calls through to wrapped time zone.
+     */
+    public int getOffset(int era, int year, int month, int day,
+                         int dayOfWeek, int milliseconds) {
+
+        return unwrap().getOffset(era, year, month, day,
+                                  dayOfWeek, milliseconds);
+    }
+
+    /**
+     * Override TimeZone to handle wrapped ZoneInfo.
+     */
+
+    public void getOffset(long date, boolean local, int[] offsets) {
+        // The following code works only on 1.4 or later.  We no longer support JDK 1.3.
+	// assume if we're running under a security manager, then we don't have access to
+	// sun classes
+	if (System.getSecurityManager() == null) {
+	    try {
+		if (zone instanceof sun.util.calendar.ZoneInfo) {
+		    ((sun.util.calendar.ZoneInfo) zone).getOffsets(date, offsets);
+		    if (local) {
+			date -= offsets[0] + offsets[1];
+			((sun.util.calendar.ZoneInfo) zone).getOffsets(date, offsets);
+		    }
+// 		    System.err.println("offsets: " + offsets[0] + ", " + offsets[1]);
+		    return;
+		} 
+	    }
+	    catch (SecurityException ex) {
+		// ok; fall through, we're running in a protected context
+	    } 
+	    catch (Throwable th) {
+		// System.out.println("caught: " + th);
+	    }
+	}
+	
+        super.getOffset(date, local, offsets);
+// 	System.err.println("default offsets: " + offsets[0] + ", " + offsets[1]);
+    }
+ 
+    /**
+     * TimeZone API; calls through to wrapped time zone.
+     */
+    public void setRawOffset(int offsetMillis) {
+        unwrap().setRawOffset(offsetMillis);
+    }
+
+    /**
+     * TimeZone API; calls through to wrapped time zone.
+     */
+    public int getRawOffset() {
+        return unwrap().getRawOffset();
+    }
+
+    /**
+     * TimeZone API; calls through to wrapped time zone.
+     */
+    public boolean useDaylightTime() {
+        return unwrap().useDaylightTime();
+    }
+
+    /**
+     * TimeZone API; calls through to wrapped time zone.
+     */
+    public boolean inDaylightTime(Date date) {
+        return unwrap().inDaylightTime(date);
+    }
+
+    /**
+     * TimeZone API.
+     */
+    public boolean hasSameRules(TimeZone other) {
+        if (other == null) {
+            return false;
+        }
+        if (other instanceof JDKTimeZone) {
+            return zone.hasSameRules(((JDKTimeZone) other).zone);
+        }
+        return super.hasSameRules(other);
+    }
+
+    /**
+     * Boilerplate API; calls through to wrapped object.
+     */
+    public Object clone() {
+        return wrap((java.util.TimeZone)zone.clone());
+    }
+
+    /**
+     * Boilerplate API; calls through to wrapped object.
+     */
+    public synchronized int hashCode() {
+        return unwrap().hashCode();
+    }
+
+    /**
+     * Returns the amount of time in ms that the clock is advanced during DST.
+     * @return the number of milliseconds the time is
+     * advanced with respect to standard time when the daylight savings rules
+     * are in effect. A positive number, typically one hour (3600000).
+     * @stable ICU 2.0
+     */
+    public int getDSTSavings() {
+        if (useDaylightTime()) {
+	    if (System.getSecurityManager() == null) {
+		// assume if we have a security manager, we'll fail
+		try {   
+		    // This is only to make a 1.3 compiler happy.  JDKTimeZone
+		    // is only used in JDK 1.4, where TimeZone has the getDSTSavings
+		    // API on it, so a straight call to getDSTSavings would actually
+		    // work if we could compile it.  Since on 1.4 the time zone is
+		    // not a SimpleTimeZone, we can't downcast in order to make
+		    // the direct call that a 1.3 compiler would like, because at
+		    // runtime the downcast would fail.
+		    // todo: remove when we no longer support compiling under 1.3
+
+		    // The following works if getDSTSavings is declared in   
+		    // TimeZone (JDK 1.4) or SimpleTimeZone (JDK 1.3).   
+		    final Object[] args = new Object[0];
+		    final Class[] argtypes = new Class[0];
+		    Method m = zone.getClass().getMethod("getDSTSavings", argtypes); 
+		    int result = ((Integer) m.invoke(zone, args)).intValue();
+// 		    System.err.println("JDKTZ got " + (result/3600000f) + " hour daylight saving time");
+		    return result;
+		} catch (Exception e) {
+		    // if zone is in the sun.foo class hierarchy and we
+		    // are in a protection domain, we'll get a security
+		    // exception.  And if we claim to support DST, but 
+		    // return a value of 0, later java.util.SimpleTimeZone will
+		    // throw an illegalargument exception.  so... fake
+		    // the dstoffset;
+		}   
+	    }
+// 	    System.err.println("JDKTZ assume 1 hour daylight saving time");
+	    return 3600000;
+	}
+        return 0;
+    }
+
+    /**
+     * Boilerplate API; calls through to wrapped object.
+     */
+    public boolean equals(Object obj) {
+        try {
+            return obj != null &&
+                unwrap().equals(((JDKTimeZone) obj).unwrap());
+        } catch (ClassCastException e) {
+            return false;
+        }
+    }
+
+    /**
+     * Returns a string representation of this object.
+     * @return  a string representation of this object.
+     */
+    public String toString() {
+        return "JDKTimeZone: " + unwrap().toString();
+    }
+
+    private void writeObject(java.io.ObjectOutputStream out) throws IOException {
+        out.writeObject(zone.getID());
+    }
+
+    private void readObject(java.io.ObjectInputStream in) throws IOException, ClassNotFoundException {
+        String id = (String)in.readObject();
+        zone = java.util.TimeZone.getTimeZone(id);
+    }
+}
+
+//eof
diff --git a/src/com/ibm/icu/impl/LocaleUtility.java b/src/com/ibm/icu/impl/LocaleUtility.java
new file mode 100644
index 0000000..d582c6d
--- /dev/null
+++ b/src/com/ibm/icu/impl/LocaleUtility.java
@@ -0,0 +1,131 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ *
+ *  *****************************************************************************************
+ */
+ 
+package com.ibm.icu.impl;
+
+import java.util.Locale;
+
+/**
+ * A class to hold utility functions missing from java.util.Locale.
+ */
+public class LocaleUtility {
+
+    /**
+     * A helper function to convert a string of the form
+     * aa_BB_CC to a locale object.  Why isn't this in Locale?
+     */
+    public static Locale getLocaleFromName(String name) {
+        String language = "";
+        String country = "";
+        String variant = "";
+
+        int i1 = name.indexOf('_');
+        if (i1 < 0) {
+            language = name;
+        } else {
+            language = name.substring(0, i1);
+            ++i1;
+            int i2 = name.indexOf('_', i1);
+            if (i2 < 0) {
+                country = name.substring(i1);
+            } else {
+                country = name.substring(i1, i2);
+                variant = name.substring(i2+1);
+            }
+        }
+
+        return new Locale(language, country, variant);
+    }
+
+    /**
+     * Compare two locale strings of the form aa_BB_CC, and
+     * return true if parent is a 'strict' fallback of child, that is,
+     * if child =~ "^parent(_.+)*" (roughly).
+     */
+    public static boolean isFallbackOf(String parent, String child) {
+        if (!child.startsWith(parent)) {
+            return false;
+        }
+        int i = parent.length();
+        return (i == child.length() ||
+                child.charAt(i) == '_');
+    }
+
+    /**
+     * Compare two locales, and return true if the parent is a
+     * 'strict' fallback of the child (parent string is a fallback
+     * of child string).
+     */
+    public static boolean isFallbackOf(Locale parent, Locale child) {
+        return isFallbackOf(parent.toString(), child.toString());
+    }
+
+
+    /**
+     * Convenience method that calls canonicalLocaleString(String) with
+     * locale.toString();
+     */
+    public static String canonicalLocaleString(Locale locale) {
+        return canonicalLocaleString(locale.toString());
+    }
+
+    /**
+     * You'd think that Locale canonicalizes, since it munges the
+     * renamed languages, but it doesn't quite.  It forces the region
+     * to be upper case but doesn't do anything about the language or
+     * variant.  Our canonical form is 'lower_UPPER_UPPER'.  
+     */
+    public static String canonicalLocaleString(String id) {
+    if (id != null) {
+        int x = id.indexOf("_");
+        if (x == -1) {
+        id = id.toLowerCase(Locale.ENGLISH);
+        } else {
+        StringBuffer buf = new StringBuffer();
+        buf.append(id.substring(0, x).toLowerCase(Locale.ENGLISH));
+        buf.append(id.substring(x).toUpperCase(Locale.ENGLISH));
+            
+        int len = buf.length();
+        int n = len;
+        while (--n >= 0 && buf.charAt(n) == '_') {};
+        if (++n != len) {
+            buf.delete(n, len);
+        }
+        id = buf.toString();
+        }
+    }
+    return id;
+    }
+
+    /**
+     * Fallback from the given locale name by removing the rightmost
+     * _-delimited element.  If there is none, return the root locale ("",
+     * "", "").  If this is the root locale, return null.  NOTE: The
+     * string "root" is not recognized; do not use it.
+     * @return a new Locale that is a fallback from the given locale, or
+     * null.
+     */
+    public static Locale fallback(Locale loc) {
+
+        // Split the locale into parts and remove the rightmost part
+        String[] parts = new String[]
+            { loc.getLanguage(), loc.getCountry(), loc.getVariant() };
+        int i;
+        for (i=2; i>=0; --i) {
+            if (parts[i].length() != 0) {
+                parts[i] = "";
+                break;
+            }
+        }
+        if (i<0) {
+            return null; // All parts were empty
+        }
+        return new Locale(parts[0], parts[1], parts[2]);
+    }
+}
diff --git a/src/com/ibm/icu/impl/NormalizerDataReader.java b/src/com/ibm/icu/impl/NormalizerDataReader.java
new file mode 100644
index 0000000..19bcc25
--- /dev/null
+++ b/src/com/ibm/icu/impl/NormalizerDataReader.java
@@ -0,0 +1,430 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+ 
+package com.ibm.icu.impl;
+import java.io.*;
+import com.ibm.icu.impl.ICUDebug;
+
+/**
+ * @version     1.0
+ * @author        Ram Viswanadha
+ */
+
+    /*
+     * Description of the format of unorm.icu version 2.1.
+     *
+     * Main change from version 1 to version 2:
+     * Use of new, common Trie instead of normalization-specific tries.
+     * Change to version 2.1: add third/auxiliary trie with associated data.
+     *
+     * For more details of how to use the data structures see the code
+     * in unorm.cpp (runtime normalization code) and
+     * in gennorm.c and gennorm/store.c (build-time data generation).
+     *
+     * For the serialized format of Trie see Trie.c/TrieHeader.
+     *
+     * - Overall partition
+     *
+     * unorm.icu customarily begins with a UDataInfo structure, see udata.h and .c.
+     * After that there are the following structures:
+     *
+     * char indexes[INDEX_TOP];                   -- INDEX_TOP=32, see enum in this file
+     *
+     * Trie normTrie;                           -- size in bytes=indexes[INDEX_TRIE_SIZE]
+     * 
+     * char extraData[extraDataTop];            -- extraDataTop=indexes[INDEX_UCHAR_COUNT]
+     *                                                 extraData[0] contains the number of units for
+     *                                                 FC_NFKC_Closure (formatVersion>=2.1)
+     *
+     * char combiningTable[combiningTableTop];  -- combiningTableTop=indexes[INDEX_COMBINE_DATA_COUNT]
+     *                                                 combiningTableTop may include one 16-bit padding unit
+     *                                                 to make sure that fcdTrie is 32-bit-aligned
+     *
+     * Trie fcdTrie;                            -- size in bytes=indexes[INDEX_FCD_TRIE_SIZE]
+     *
+     * Trie auxTrie;                            -- size in bytes=indexes[INDEX_AUX_TRIE_SIZE]
+     *
+     * char canonStartSets[canonStartSetsTop]   -- canonStartSetsTop=indexes[INDEX_CANON_SET_COUNT]
+     *                                                 serialized USets, see uset.c
+     *
+     *
+     * The indexes array contains lengths and sizes of the following arrays and structures
+     * as well as the following values:
+     *  indexes[INDEX_COMBINE_FWD_COUNT]=combineFwdTop
+     *      -- one more than the highest combining index computed for forward-only-combining characters
+     *  indexes[INDEX_COMBINE_BOTH_COUNT]=combineBothTop-combineFwdTop
+     *      -- number of combining indexes computed for both-ways-combining characters
+     *  indexes[INDEX_COMBINE_BACK_COUNT]=combineBackTop-combineBothTop
+     *      -- number of combining indexes computed for backward-only-combining characters
+     *
+     *  indexes[INDEX_MIN_NF*_NO_MAYBE] (where *={ C, D, KC, KD })
+     *      -- first code point with a quick check NF* value of NO/MAYBE
+     *
+     *
+     * - Tries
+     *
+     * The main structures are two Trie tables ("compact arrays"),
+     * each with one index array and one data array.
+     * See Trie.h and Trie.c.
+     *
+     *
+     * - Tries in unorm.icu
+     *
+     * The first trie (normTrie above)
+     * provides data for the NF* quick checks and normalization.
+     * The second trie (fcdTrie above) provides data just for FCD checks.
+     *
+     *
+     * - norm32 data words from the first trie
+     *
+     * The norm32Table contains one 32-bit word "norm32" per code point.
+     * It contains the following bit fields:
+     * 31..16   extra data index, EXTRA_SHIFT is used to shift this field down
+     *          if this index is <EXTRA_INDEX_TOP then it is an index into
+     *              extraData[] where variable-length normalization data for this
+     *              code point is found
+     *          if this index is <EXTRA_INDEX_TOP+EXTRA_SURROGATE_TOP
+     *              then this is a norm32 for a leading surrogate, and the index
+     *              value is used together with the following trailing surrogate
+     *              code unit in the second trie access
+     *          if this index is >=EXTRA_INDEX_TOP+EXTRA_SURROGATE_TOP
+     *              then this is a norm32 for a "special" character,
+     *              i.e., the character is a Hangul syllable or a Jamo
+     *              see EXTRA_HANGUL etc.
+     *          generally, instead of extracting this index from the norm32 and
+     *              comparing it with the above constants,
+     *              the normalization code compares the entire norm32 value
+     *              with MIN_SPECIAL, SURROGATES_TOP, MIN_HANGUL etc.
+     *
+     * 15..8    combining class (cc) according to UnicodeData.txt
+     *
+     *  7..6    COMBINES_ANY flags, used in composition to see if a character
+     *              combines with any following or preceding character(s)
+     *              at all
+     *     7    COMBINES_BACK
+     *     6    COMBINES_FWD
+     *
+     *  5..0    quick check flags, set for "no" or "maybe", with separate flags for
+     *              each normalization form
+     *              the higher bits are "maybe" flags; for NF*D there are no such flags
+     *              the lower bits are "no" flags for all forms, in the same order
+     *              as the "maybe" flags,
+     *              which is (MSB to LSB): NFKD NFD NFKC NFC
+     *  5..4    QC_ANY_MAYBE
+     *  3..0    QC_ANY_NO
+     *              see further related constants
+     *
+     *
+     * - Extra data per code point
+     *
+     * "Extra data" is referenced by the index in norm32.
+     * It is variable-length data. It is only present, and only those parts
+     * of it are, as needed for a given character.
+     * The norm32 extra data index is added to the beginning of extraData[]
+     * to get to a vector of 16-bit words with data at the following offsets:
+     *
+     * [-1]     Combining index for composition.
+     *              Stored only if norm32&COMBINES_ANY .
+     * [0]      Lengths of the canonical and compatibility decomposition strings.
+     *              Stored only if there are decompositions, i.e.,
+     *              if norm32&(QC_NFD|QC_NFKD)
+     *          High byte: length of NFKD, or 0 if none
+     *          Low byte: length of NFD, or 0 if none
+     *          Each length byte also has another flag:
+     *              Bit 7 of a length byte is set if there are non-zero
+     *              combining classes (cc's) associated with the respective
+     *              decomposition. If this flag is set, then the decomposition
+     *              is preceded by a 16-bit word that contains the
+     *              leading and trailing cc's.
+     *              Bits 6..0 of a length byte are the length of the
+     *              decomposition string, not counting the cc word.
+     * [1..n]   NFD
+     * [n+1..]  NFKD
+     *
+     * Each of the two decompositions consists of up to two parts:
+     * - The 16-bit words with the leading and trailing cc's.
+     *   This is only stored if bit 7 of the corresponding length byte
+     *   is set. In this case, at least one of the cc's is not zero.
+     *   High byte: leading cc==cc of the first code point in the decomposition string
+     *   Low byte: trailing cc==cc of the last code point in the decomposition string
+     * - The decomposition string in UTF-16, with length code units.
+     *
+     *
+     * - Combining indexes and combiningTable[]
+     *
+     * Combining indexes are stored at the [-1] offset of the extra data
+     * if the character combines forward or backward with any other characters.
+     * They are used for (re)composition in NF*C.
+     * Values of combining indexes are arranged according to whether a character
+     * combines forward, backward, or both ways:
+     *    forward-only < both ways < backward-only
+     *
+     * The index values for forward-only and both-ways combining characters
+     * are indexes into the combiningTable[].
+     * The index values for backward-only combining characters are simply
+     * incremented from the preceding index values to be unique.
+     *
+     * In the combiningTable[], a variable-length list
+     * of variable-length (back-index, code point) pair entries is stored
+     * for each forward-combining character.
+     *
+     * These back-indexes are the combining indexes of both-ways or backward-only
+     * combining characters that the forward-combining character combines with.
+     *
+     * Each list is sorted in ascending order of back-indexes.
+     * Each list is terminated with the last back-index having bit 15 set.
+     *
+     * Each pair (back-index, code point) takes up either 2 or 3
+     * 16-bit words.
+     * The first word of a list entry is the back-index, with its bit 15 set if
+     * this is the last pair in the list.
+     *
+     * The second word contains flags in bits 15..13 that determine
+     * if there is a third word and how the combined character is encoded:
+     * 15   set if there is a third word in this list entry
+     * 14   set if the result is a supplementary character
+     * 13   set if the result itself combines forward
+     *
+     * According to these bits 15..14 of the second word,
+     * the result character is encoded as follows:
+     * 00 or 01 The result is <=0x1fff and stored in bits 12..0 of
+     *          the second word.
+     * 10       The result is 0x2000..0xffff and stored in the third word.
+     *          Bits 12..0 of the second word are not used.
+     * 11       The result is a supplementary character.
+     *          Bits 9..0 of the leading surrogate are in bits 9..0 of
+     *          the second word.
+     *          Add 0xd800 to these bits to get the complete surrogate.
+     *          Bits 12..10 of the second word are not used.
+     *          The trailing surrogate is stored in the third word.
+     *
+     *
+     * - FCD trie
+     *
+     * The FCD trie is very simple.
+     * It is a folded trie with 16-bit data words.
+     * In each word, the high byte contains the leading cc of the character,
+     * and the low byte contains the trailing cc of the character.
+     * These cc's are the cc's of the first and last code points in the
+     * canonical decomposition of the character.
+     *
+     * Since all 16 bits are used for cc's, lead surrogates must be tested
+     * by checking the code unit instead of the trie data.
+     * This is done only if the 16-bit data word is not zero.
+     * If the code unit is a leading surrogate and the data word is not zero,
+     * then instead of cc's it contains the offset for the second trie lookup.
+     *
+     *
+     * - Auxiliary trie and data
+     *
+     *
+     * The auxiliary 16-bit trie contains data for additional properties.
+     * Bits
+     * 15..13   reserved
+     *     12   not NFC_Skippable (f) (formatVersion>=2.2)
+     *     11   flag: not a safe starter for canonical closure
+     *     10   composition exclusion
+     *  9.. 0   index into extraData[] to FC_NFKC_Closure string
+     *          (not for lead surrogate),
+     *          or lead surrogate offset (for lead surrogate, if 9..0 not zero)
+     * 
+     * Conditions for "NF* Skippable" from Mark Davis' com.ibm.text.UCD.NFSkippable:
+     * (used in NormalizerTransliterator)
+     *
+     * A skippable character is
+     * a) unassigned, or ALL of the following:
+     * b) of combining class 0.
+     * c) not decomposed by this normalization form.
+     * AND if NFC or NFKC,
+     * d) can never compose with a previous character.
+     * e) can never compose with a following character.
+     * f) can never change if another character is added.
+     *    Example: a-breve might satisfy all but f, but if you
+     *    add an ogonek it changes to a-ogonek + breve
+     *
+     * a)..e) must be tested from norm32.
+     * Since f) is more complicated, the (not-)NFC_Skippable flag (f) is built
+     * into the auxiliary trie.
+     * The same bit is used for NFC and NFKC; (c) differs for them.
+     * As usual, we build the "not skippable" flags so that unassigned
+     * code points get a 0 bit.
+     * This bit is only valid after (a)..(e) test FALSE; test NFD_NO before (f) as well.
+     * Test Hangul LV syllables entirely in code.
+     *   
+     * 
+     * - FC_NFKC_Closure strings in extraData[]
+     *
+     * Strings are either stored as a single code unit or as the length
+     * followed by that many units.
+     * 
+     * - structure inside canonStartSets[]
+     *
+     * This array maps from code points c to sets of code points (USerializedSet).
+     * The result sets are the code points whose canonical decompositions start
+     * with c.
+     *
+     * canonStartSets[] contains the following sub-arrays:
+     *
+     * indexes[_NORM_SET_INDEX_TOP]
+     *   - contains lengths of sub-arrays etc.
+     *
+     * startSets[indexes[_NORM_SET_INDEX_CANON_SETS_LENGTH]-_NORM_SET_INDEX_TOP]
+     *   - contains serialized sets (USerializedSet) of canonical starters for
+     *     enumerating canonically equivalent strings
+     *     indexes[_NORM_SET_INDEX_CANON_SETS_LENGTH] includes _NORM_SET_INDEX_TOP
+     *     for details about the structure see uset.c
+     *
+     * bmpTable[indexes[_NORM_SET_INDEX_CANON_BMP_TABLE_LENGTH]]
+     *   - a sorted search table for BMP code points whose results are
+     *     either indexes to USerializedSets or single code points for
+     *     single-code point sets;
+     *     each entry is a pair of { code point, result } with result=(binary) yy xxxxxx xxxxxxxx
+     *     if yy==01 then there is a USerializedSet at canonStartSets+x
+     *     else build a USerializedSet with result as the single code point
+     *
+     * suppTable[indexes[_NORM_SET_INDEX_CANON_SUPP_TABLE_LENGTH]]
+     *   - a sorted search table for supplementary code points whose results are
+     *     either indexes to USerializedSets or single code points for
+     *     single-code point sets;
+     *     each entry is a triplet of { high16(cp), low16(cp), result }
+     *     each code point's high-word may contain extra data in bits 15..5:
+     *     if the high word has bit 15 set, then build a set with a single code point
+     *     which is (((high16(cp)&0x1f00)<<8)|result;
+     *     else there is a USerializedSet at canonStartSets+result
+     */
+final class NormalizerDataReader implements ICUBinary.Authenticate {
+    private final static boolean debug = ICUDebug.enabled("NormalizerDataReader");
+    
+   /**
+    * <p>Protected constructor.</p>
+    * @param inputStream ICU uprop.dat file input stream
+    * @exception IOException throw if data file fails authentication 
+    * @draft 2.1
+    */
+    protected NormalizerDataReader(InputStream inputStream) 
+                                        throws IOException{
+        if(debug) System.out.println("Bytes in inputStream " + inputStream.available());
+        
+        unicodeVersion = ICUBinary.readHeader(inputStream, DATA_FORMAT_ID, this);
+        
+        if(debug) System.out.println("Bytes left in inputStream " +inputStream.available());
+        
+        dataInputStream = new DataInputStream(inputStream);
+        
+        if(debug) System.out.println("Bytes left in dataInputStream " +dataInputStream.available());
+    }
+    
+    // protected methods -------------------------------------------------
+    
+    protected int[] readIndexes(int length)throws IOException{
+        int[] indexes = new int[length];
+        //Read the indexes
+        for (int i = 0; i <length ; i++) {
+             indexes[i] = dataInputStream.readInt();
+        }
+        return indexes;
+    } 
+    /**
+    * <p>Reads unorm.icu, parse it into blocks of data to be stored in
+    * NormalizerImpl.</P
+    * @param normBytes
+    * @param fcdBytes
+    * @param auxBytes
+    * @param extraData
+    * @param combiningTable
+    * @param canonStartSets
+    * @exception thrown when data reading fails
+    * @draft 2.1
+    */
+    protected void read(byte[] normBytes, byte[] fcdBytes, byte[] auxBytes,
+                        char[] extraData, char[] combiningTable, 
+                        Object[] canonStartSets) 
+                        throws IOException{
+
+         //Read the bytes that make up the normTrie     
+         dataInputStream.read(normBytes);
+        
+         //normTrieStream= new ByteArrayInputStream(normBytes);
+
+         //Read the extra data
+         for(int i=0;i<extraData.length;i++){
+             extraData[i]=dataInputStream.readChar();
+         }
+         
+         //Read the combining class table
+         for(int i=0; i<combiningTable.length; i++){
+             combiningTable[i]=dataInputStream.readChar();
+         }
+         
+         //Read the fcdTrie
+         dataInputStream.read(fcdBytes);
+         
+         
+         //Read the AuxTrie         
+        dataInputStream.read(auxBytes);
+        
+        //Read the canonical start sets
+        int[] canonStartSetsIndexes = new int[NormalizerImpl.SET_INDEX_TOP];
+        
+        for(int i=0; i<canonStartSetsIndexes.length; i++){
+             canonStartSetsIndexes[i]=dataInputStream.readChar();
+         }
+        
+        char[] startSets = new char[canonStartSetsIndexes[NormalizerImpl.SET_INDEX_CANON_SETS_LENGTH]-NormalizerImpl.SET_INDEX_TOP];
+        
+        for(int i=0; i<startSets.length; i++){
+             startSets[i]=dataInputStream.readChar();
+         }
+         char[] bmpTable  = new char[canonStartSetsIndexes[NormalizerImpl.SET_INDEX_CANON_BMP_TABLE_LENGTH]];
+        for(int i=0; i<bmpTable.length; i++){
+             bmpTable[i]=dataInputStream.readChar();
+         }        
+        char[] suppTable = new char[canonStartSetsIndexes[NormalizerImpl.SET_INDEX_CANON_SUPP_TABLE_LENGTH]];
+        for(int i=0; i<suppTable.length; i++){
+             suppTable[i]=dataInputStream.readChar();
+         }
+         canonStartSets[NormalizerImpl.CANON_SET_INDICIES_INDEX  ] = canonStartSetsIndexes;
+         canonStartSets[NormalizerImpl.CANON_SET_START_SETS_INDEX] = startSets;
+         canonStartSets[NormalizerImpl.CANON_SET_BMP_TABLE_INDEX    ] = bmpTable;
+         canonStartSets[NormalizerImpl.CANON_SET_SUPP_TABLE_INDEX] = suppTable;         
+    }
+    
+    public byte[] getDataFormatVersion(){
+        return DATA_FORMAT_VERSION;
+    }
+    
+    public boolean isDataVersionAcceptable(byte version[])
+    {
+        return version[0] == DATA_FORMAT_VERSION[0] 
+               && version[2] == DATA_FORMAT_VERSION[2] 
+               && version[3] == DATA_FORMAT_VERSION[3];
+    }
+    
+    public byte[] getUnicodeVersion(){
+        return unicodeVersion;    
+    }
+    // private data members -------------------------------------------------
+      
+
+    /**
+    * ICU data file input stream
+    */
+    private DataInputStream dataInputStream;
+    
+    private byte[] unicodeVersion;
+                                       
+    /**
+    * File format version that this class understands.
+    * No guarantees are made if a older version is used
+    * see store.c of gennorm for more information and values
+    */
+    private static final byte DATA_FORMAT_ID[] = {(byte)0x4E, (byte)0x6F, 
+                                                    (byte)0x72, (byte)0x6D};
+    private static final byte DATA_FORMAT_VERSION[] = {(byte)0x2, (byte)0x2, 
+                                                        (byte)0x5, (byte)0x2};
+    
+}
diff --git a/src/com/ibm/icu/impl/NormalizerImpl.java b/src/com/ibm/icu/impl/NormalizerImpl.java
new file mode 100644
index 0000000..e7919ab
--- /dev/null
+++ b/src/com/ibm/icu/impl/NormalizerImpl.java
@@ -0,0 +1,3776 @@
+ /*
+ *******************************************************************************
+ * Copyright (C) 1996-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+ 
+package com.ibm.icu.impl;
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.io.BufferedInputStream;
+import java.io.InputStream;
+import java.util.MissingResourceException;
+
+import com.ibm.icu.text.Normalizer;
+import com.ibm.icu.text.UTF16;    
+import com.ibm.icu.text.UnicodeSet;
+import com.ibm.icu.text.UnicodeSetIterator;
+import com.ibm.icu.util.RangeValueIterator;
+import com.ibm.icu.util.VersionInfo;
+import com.ibm.icu.lang.UCharacter;
+
+/**
+ * @version     1.0
+ * @author  Ram Viswanadha
+ */
+public final class NormalizerImpl {
+    // Static block for the class to initialize its own self 
+    static final NormalizerImpl IMPL;
+    
+    static
+    {
+        try
+        {
+            IMPL = new NormalizerImpl();
+        }
+        catch (Exception e)
+        {
+            throw new MissingResourceException(e.getMessage(), "", "");
+        }
+    }
+    
+    static final int UNSIGNED_BYTE_MASK =0xFF;
+    static final long UNSIGNED_INT_MASK = 0xffffffffL;
+    /*
+     * This new implementation of the normalization code loads its data from
+     * unorm.icu, which is generated with the gennorm tool.
+     * The format of that file is described at the end of this file.
+     */
+    private static final String DATA_FILE_NAME = ICUResourceBundle.ICU_BUNDLE+"/unorm.icu";
+    
+    // norm32 value constants 
+    
+    // quick check flags 0..3 set mean "no" for their forms 
+    public static final int QC_NFC=0x11;          /* no|maybe */
+    public static final int QC_NFKC=0x22;         /* no|maybe */
+    public static final int QC_NFD=4;             /* no */
+    public static final int QC_NFKD=8;            /* no */
+    
+    public static final int QC_ANY_NO=0xf;
+
+    /* quick check flags 4..5 mean "maybe" for their forms; 
+     * test flags>=QC_MAYBE 
+     */
+    public static final int QC_MAYBE=0x10;
+    public static final int QC_ANY_MAYBE=0x30;
+
+    public static final int QC_MASK=0x3f;
+
+    private static final int COMBINES_FWD=0x40;
+    private static final int COMBINES_BACK=0x80;
+    public  static final int COMBINES_ANY=0xc0;
+    // UnicodeData.txt combining class in bits 15.
+    private static final int CC_SHIFT=8;                     
+    public  static final int CC_MASK=0xff00;
+    // 16 bits for the index to UChars and other extra data
+    private static final int EXTRA_SHIFT=16;
+    // start of surrogate specials after shift                
+    private static final int EXTRA_INDEX_TOP=0xfc00;       
+
+    private static final int EXTRA_SURROGATE_MASK=0x3ff;
+    private static final int EXTRA_SURROGATE_TOP=0x3f0;    /* hangul etc. */
+
+    private static final int EXTRA_HANGUL=EXTRA_SURROGATE_TOP;
+    private static final int EXTRA_JAMO_L=EXTRA_SURROGATE_TOP+1;/* ### not used */
+    private static final int EXTRA_JAMO_V=EXTRA_SURROGATE_TOP+2;
+    private static final int EXTRA_JAMO_T=EXTRA_SURROGATE_TOP+3;
+    
+    /* norm32 value constants using >16 bits */
+    private static final long  MIN_SPECIAL    =  (long)(0xfc000000 & UNSIGNED_INT_MASK);
+    private static final long  SURROGATES_TOP =  (long)(0xfff00000 & UNSIGNED_INT_MASK);
+    private static final long  MIN_HANGUL     =  (long)(0xfff00000 & UNSIGNED_INT_MASK);
+    private static final long  MIN_JAMO_V     =  (long)(0xfff20000 & UNSIGNED_INT_MASK);
+    private static final long  JAMO_V_TOP     =  (long)(0xfff30000 & UNSIGNED_INT_MASK);
+    
+    
+    /* indexes[] value names */
+    /* number of bytes in normalization trie */
+    static final int INDEX_TRIE_SIZE           = 0;
+     /* number of chars in extra data */     
+    static final int INDEX_CHAR_COUNT           = 1;    
+    /* number of uint16_t words for combining data */
+    static final int INDEX_COMBINE_DATA_COUNT = 2;
+    /* number of code points that combine forward */     
+    static final int INDEX_COMBINE_FWD_COUNT  = 3;
+    /* number of code points that combine forward and backward */     
+    static final int INDEX_COMBINE_BOTH_COUNT = 4;
+    /* number of code points that combine backward */     
+    static final int INDEX_COMBINE_BACK_COUNT = 5;     
+     /* first code point with quick check NFC NO/MAYBE */
+    public static final int INDEX_MIN_NFC_NO_MAYBE   = 6;
+    /* first code point with quick check NFKC NO/MAYBE */    
+    public static final int INDEX_MIN_NFKC_NO_MAYBE  = 7;
+     /* first code point with quick check NFD NO/MAYBE */     
+    public static final int INDEX_MIN_NFD_NO_MAYBE   = 8;
+    /* first code point with quick check NFKD NO/MAYBE */    
+    public static final int INDEX_MIN_NFKD_NO_MAYBE  = 9;     
+    /* number of bytes in FCD trie */
+    static final int INDEX_FCD_TRIE_SIZE      = 10;
+    /* number of bytes in the auxiliary trie */    
+    static final int INDEX_AUX_TRIE_SIZE      = 11;
+    /* number of uint16_t in the array of serialized USet */    
+    static final int INDEX_CANON_SET_COUNT    = 12;    
+    /* changing this requires a new formatVersion */
+    static final int INDEX_TOP                = 32;    
+    
+    
+    /* AUX constants */
+    /* value constants for auxTrie */    
+    private static final int AUX_UNSAFE_SHIFT           = 11;
+    private static final int AUX_COMP_EX_SHIFT           = 10;
+    private static final int AUX_NFC_SKIPPABLE_F_SHIFT = 12;
+    
+    private static final int AUX_MAX_FNC          =   ((int)1<<AUX_COMP_EX_SHIFT);
+    private static final int AUX_UNSAFE_MASK      =   (int)((1<<AUX_UNSAFE_SHIFT) & UNSIGNED_INT_MASK);
+    private static final int AUX_FNC_MASK         =   (int)((AUX_MAX_FNC-1) & UNSIGNED_INT_MASK);
+    private static final int AUX_COMP_EX_MASK     =   (int)((1<<AUX_COMP_EX_SHIFT) & UNSIGNED_INT_MASK);
+    private static final long AUX_NFC_SKIP_F_MASK =   ((UNSIGNED_INT_MASK&1)<<AUX_NFC_SKIPPABLE_F_SHIFT);
+    
+    /* canonStartSets[0..31] contains indexes for what is in the array */
+    /* number of uint16_t in canonical starter sets */
+    static final int SET_INDEX_CANON_SETS_LENGTH        = 0;
+    /* number of uint16_t in the BMP search table (contains pairs) */ 
+    static final int SET_INDEX_CANON_BMP_TABLE_LENGTH    = 1;
+    /* number of uint16_t in the supplementary search table(contains triplets)*/ 
+    static final int SET_INDEX_CANON_SUPP_TABLE_LENGTH  = 2;
+    /* changing this requires a new formatVersion */ 
+    static final int SET_INDEX_TOP                        = 32;
+    
+    static final int CANON_SET_INDICIES_INDEX              = 0;
+    static final int CANON_SET_START_SETS_INDEX            = 1;
+    static final int CANON_SET_BMP_TABLE_INDEX            = 2;
+    static final int CANON_SET_SUPP_TABLE_INDEX            = 3;
+    /* 14 bit indexes to canonical USerializedSets */
+    static final int CANON_SET_MAX_CANON_SETS             = 0x4000; 
+    /* single-code point BMP sets are encoded directly in the search table 
+     * except if result=0x4000..0x7fff 
+     */
+    static final int CANON_SET_BMP_MASK                    = 0xc000;
+    static final int CANON_SET_BMP_IS_INDEX                = 0x4000;
+    
+    private static final int MAX_BUFFER_SIZE                    = 20;
+    
+    /**
+     * Internal option for cmpEquivFold() for decomposing.
+     * If not set, just do strcasecmp().
+     * @internal
+     */
+     public static final int COMPARE_EQUIV = 0x80000;
+    
+    /*******************************/
+
+    /* Wrappers for Trie implementations */ 
+    static final class NormTrieImpl implements Trie.DataManipulate{
+        static IntTrie normTrie= null;
+       /**
+        * Called by com.ibm.icu.util.Trie to extract from a lead surrogate's 
+        * data the index array offset of the indexes for that lead surrogate.
+        * @param property data value for a surrogate from the trie, including 
+        *         the folding offset
+        * @return data offset or 0 if there is no data for the lead surrogate
+        */
+        /* normTrie: 32-bit trie result may contain a special extraData index with the folding offset */
+        public int getFoldingOffset(int value){
+            return  BMP_INDEX_LENGTH+
+                    ((value>>(EXTRA_SHIFT-SURROGATE_BLOCK_BITS))&
+                    (0x3ff<<SURROGATE_BLOCK_BITS)); 
+        }
+        
+    }
+    static final class FCDTrieImpl implements Trie.DataManipulate{
+        static CharTrie fcdTrie=null;
+       /**
+        * Called by com.ibm.icu.util.Trie to extract from a lead surrogate's 
+        * data the index array offset of the indexes for that lead surrogate.
+        * @param property data value for a surrogate from the trie, including
+        *         the folding offset
+        * @return data offset or 0 if there is no data for the lead surrogate
+        */
+        /* fcdTrie: the folding offset is the lead FCD value itself */
+        public int getFoldingOffset(int value){
+            return value;
+        }
+    }
+    
+    static final class AuxTrieImpl implements Trie.DataManipulate{
+        static CharTrie auxTrie = null;
+       /**
+        * Called by com.ibm.icu.util.Trie to extract from a lead surrogate's 
+        * data the index array offset of the indexes for that lead surrogate.
+        * @param property data value for a surrogate from the trie, including 
+        *        the folding offset
+        * @return data offset or 0 if there is no data for the lead surrogate
+        */
+        /* auxTrie: the folding offset is in bits 9..0 of the 16-bit trie result */
+        public int getFoldingOffset(int value){
+            return (int)(value &AUX_FNC_MASK)<<SURROGATE_BLOCK_BITS;
+        }
+    }
+         
+    /****************************************************/
+    
+    
+    private static FCDTrieImpl fcdTrieImpl;
+    private static NormTrieImpl normTrieImpl;
+    private static AuxTrieImpl auxTrieImpl;
+    private static int[] indexes;
+    private static char[] combiningTable;
+    private static char[] extraData;
+    private static Object[] canonStartSets;
+    
+    private static boolean isDataLoaded;
+    private static boolean isFormatVersion_2_1;
+    private static boolean isFormatVersion_2_2;
+    private static byte[] unicodeVersion;
+    
+    /**
+     * Default buffer size of datafile
+     */
+    private static final int DATA_BUFFER_SIZE = 25000;
+    
+    /**
+     * FCD check: everything below this code point is known to have a 0 
+     * lead combining class 
+     */
+    public static final int MIN_WITH_LEAD_CC=0x300;
+
+
+    /**
+     * Bit 7 of the length byte for a decomposition string in extra data is
+     * a flag indicating whether the decomposition string is
+     * preceded by a 16-bit word with the leading and trailing cc
+     * of the decomposition (like for A-umlaut);
+     * if not, then both cc's are zero (like for compatibility ideographs).
+     */
+    private static final int DECOMP_FLAG_LENGTH_HAS_CC=0x80;
+    /**
+     * Bits 6..0 of the length byte contain the actual length.
+     */
+    private static final int DECOMP_LENGTH_MASK=0x7f;   
+    
+    /** Length of the BMP portion of the index (stage 1) array. */
+    private static final int BMP_INDEX_LENGTH=0x10000>>Trie.INDEX_STAGE_1_SHIFT_;
+    /** Number of bits of a trail surrogate that are used in index table 
+     * lookups. 
+     */
+    private static final int SURROGATE_BLOCK_BITS=10-Trie.INDEX_STAGE_1_SHIFT_;
+
+
+   // public utility
+   public static int getFromIndexesArr(int index){
+        return indexes[index];
+   }
+   
+   // protected constructor ---------------------------------------------
+    
+    /**
+    * Constructor
+    * @exception thrown when data reading fails or data corrupted
+    */
+    private NormalizerImpl() throws IOException {
+        //data should be loaded only once
+        if(!isDataLoaded){
+            
+            // jar access
+            InputStream i = ICUData.getRequiredStream(DATA_FILE_NAME);
+            BufferedInputStream b = new BufferedInputStream(i,DATA_BUFFER_SIZE);
+            NormalizerDataReader reader = new NormalizerDataReader(b);
+            
+            // read the indexes            
+            indexes = reader.readIndexes(NormalizerImpl.INDEX_TOP);
+            
+            byte[] normBytes = new byte[indexes[NormalizerImpl.INDEX_TRIE_SIZE]];
+            
+            int combiningTableTop = indexes[NormalizerImpl.INDEX_COMBINE_DATA_COUNT];
+            combiningTable = new char[combiningTableTop];
+            
+            int extraDataTop = indexes[NormalizerImpl.INDEX_CHAR_COUNT];
+            extraData = new char[extraDataTop];
+
+            byte[] fcdBytes = new byte[indexes[NormalizerImpl.INDEX_FCD_TRIE_SIZE]];
+            byte[] auxBytes = new byte[indexes[NormalizerImpl.INDEX_AUX_TRIE_SIZE]];
+            canonStartSets=new Object[NormalizerImpl.CANON_SET_MAX_CANON_SETS];
+            
+            fcdTrieImpl = new FCDTrieImpl();
+            normTrieImpl = new NormTrieImpl();
+            auxTrieImpl = new AuxTrieImpl();
+                        
+            // load the rest of the data data and initialize the data members
+            reader.read(normBytes, fcdBytes,auxBytes, extraData, combiningTable, 
+                        canonStartSets);
+                                       
+            NormTrieImpl.normTrie = new IntTrie( new ByteArrayInputStream(normBytes),normTrieImpl );
+            FCDTrieImpl.fcdTrie   = new CharTrie( new ByteArrayInputStream(fcdBytes),fcdTrieImpl  );
+            AuxTrieImpl.auxTrie   = new CharTrie( new ByteArrayInputStream(auxBytes),auxTrieImpl  );
+            
+            // we reached here without any exceptions so the data is fully 
+            // loaded set the variable to true
+            isDataLoaded = true;
+            
+            // get the data format version                           
+            byte[] formatVersion = reader.getDataFormatVersion();
+            
+            isFormatVersion_2_1 =( formatVersion[0]>2 
+                                    ||
+                                   (formatVersion[0]==2 && formatVersion[1]>=1)
+                                 );
+            isFormatVersion_2_2 =( formatVersion[0]>2 
+                                    ||
+                                   (formatVersion[0]==2 && formatVersion[1]>=2)
+                                 );
+            unicodeVersion = reader.getUnicodeVersion();
+            b.close();
+        }
+    }
+        
+    /* ---------------------------------------------------------------------- */
+    
+    /* Korean Hangul and Jamo constants */
+    
+    public static final int JAMO_L_BASE=0x1100;     /* "lead" jamo */
+    public static final int JAMO_V_BASE=0x1161;     /* "vowel" jamo */
+    public static final int JAMO_T_BASE=0x11a7;     /* "trail" jamo */
+    
+    public static final int HANGUL_BASE=0xac00;
+    
+    public static final int JAMO_L_COUNT=19;
+    public static final int JAMO_V_COUNT=21;
+    public static final int JAMO_T_COUNT=28;
+    public  static final int HANGUL_COUNT=JAMO_L_COUNT*JAMO_V_COUNT*JAMO_T_COUNT;
+    
+    private static boolean isHangulWithoutJamoT(char c) {
+        c-=HANGUL_BASE;
+        return c<HANGUL_COUNT && c%JAMO_T_COUNT==0;
+    }
+    
+    /* norm32 helpers */
+    
+    /* is this a norm32 with a regular index? */
+    private static boolean isNorm32Regular(long norm32) {
+        return norm32<MIN_SPECIAL;
+    }
+    
+    /* is this a norm32 with a special index for a lead surrogate? */
+    private static boolean isNorm32LeadSurrogate(long norm32) {
+        return MIN_SPECIAL<=norm32 && norm32<SURROGATES_TOP;
+    }
+    
+    /* is this a norm32 with a special index for a Hangul syllable or a Jamo? */
+    private static boolean isNorm32HangulOrJamo(long norm32) {
+        return norm32>=MIN_HANGUL;
+    }
+    
+    /*
+     * Given isNorm32HangulOrJamo(),
+     * is this a Hangul syllable or a Jamo?
+     */
+     ///CLOVER:OFF
+    private static  boolean isHangulJamoNorm32HangulOrJamoL(long norm32) {
+        return norm32<MIN_JAMO_V;
+    }
+    ///CLOVER:ON
+    
+    /*
+     * Given norm32 for Jamo V or T,
+     * is this a Jamo V?
+     */
+    private static boolean isJamoVTNorm32JamoV(long norm32) {
+        return norm32<JAMO_V_TOP;
+    }
+    
+    /* data access primitives ----------------------------------------------- */
+    
+    public static long/*unsigned*/ getNorm32(char c) {
+        return ((UNSIGNED_INT_MASK) & (NormTrieImpl.normTrie.getLeadValue(c)));
+    }
+    
+    public static long/*unsigned*/ getNorm32FromSurrogatePair(long norm32, 
+                                                               char c2) {
+        /*
+         * the surrogate index in norm32 stores only the number of the surrogate
+         * index block see gennorm/store.c/getFoldedNormValue()
+         */
+        return ((UNSIGNED_INT_MASK) & 
+                    NormTrieImpl.normTrie.getTrailValue((int)norm32, c2));
+    }
+    ///CLOVER:OFF
+    private static long getNorm32(int c){
+        return (UNSIGNED_INT_MASK&(NormTrieImpl.normTrie.getCodePointValue(c)));
+    }
+    
+    private static long getNorm32(int c,int mask){
+        long/*unsigned*/ norm32= getNorm32(UTF16.getLeadSurrogate(c));
+        if(((norm32&mask)>0) && isNorm32LeadSurrogate(norm32)) {
+            /* c is a lead surrogate, get the real norm32 */
+            norm32=getNorm32FromSurrogatePair(norm32,UTF16.getTrailSurrogate(c));
+        }
+        return norm32; 
+    }
+    ///CLOVER:ON
+    
+    
+    /*
+     * get a norm32 from text with complete code points
+     * (like from decompositions)
+     */
+    private static long/*unsigned*/ getNorm32(char[] p,int start,
+                                              int/*unsigned*/ mask) {
+        long/*unsigned*/ norm32= getNorm32(p[start]);
+        if(((norm32&mask)>0) && isNorm32LeadSurrogate(norm32)) {
+            /* *p is a lead surrogate, get the real norm32 */
+            norm32=getNorm32FromSurrogatePair(norm32, p[start+1]);
+        }
+        return norm32;
+    }
+    public static VersionInfo getUnicodeVersion(){
+        return VersionInfo.getInstance(unicodeVersion[0], unicodeVersion[1],
+                                       unicodeVersion[2], unicodeVersion[3]);
+    }
+    public static char    getFCD16(char c) {
+        return  FCDTrieImpl.fcdTrie.getLeadValue(c);
+    }
+    
+    public static char getFCD16FromSurrogatePair(char fcd16, char c2) {
+        /* the surrogate index in fcd16 is an absolute offset over the 
+         * start of stage 1 
+         * */
+        return FCDTrieImpl.fcdTrie.getTrailValue(fcd16, c2);
+    }
+    public static int getFCD16(int c) {
+        return  FCDTrieImpl.fcdTrie.getCodePointValue(c);
+    }
+        
+    private static int getExtraDataIndex(long norm32) {
+        return (int)(norm32>>EXTRA_SHIFT);
+    }
+    
+    private static final class DecomposeArgs{
+        int /*unsigned byte*/ cc;
+        int /*unsigned byte*/ trailCC;
+        int length;
+    }
+    /**
+     * 
+     * get the canonical or compatibility decomposition for one character 
+     * 
+     * @return index into the extraData array
+     */
+    private static int/*index*/ decompose(long/*unsigned*/ norm32, 
+                                          int/*unsigned*/ qcMask, 
+                                          DecomposeArgs args) {
+        int p= getExtraDataIndex(norm32);
+        args.length=extraData[p++];
+    
+        if((norm32&qcMask&QC_NFKD)!=0 && args.length>=0x100) {
+            /* use compatibility decomposition, skip canonical data */
+            p+=((args.length>>7)&1)+(args.length&DECOMP_LENGTH_MASK);
+            args.length>>=8;
+        }
+    
+        if((args.length&DECOMP_FLAG_LENGTH_HAS_CC)>0) {
+            /* get the lead and trail cc's */
+            char bothCCs=extraData[p++];
+            args.cc=(UNSIGNED_BYTE_MASK) & (bothCCs>>8);
+            args.trailCC=(UNSIGNED_BYTE_MASK) & bothCCs;
+        } else {
+            /* lead and trail cc's are both 0 */
+            args.cc=args.trailCC=0;
+        }
+    
+        args.length&=DECOMP_LENGTH_MASK;
+        return p;
+    }
+    
+       
+    /**
+     * get the canonical decomposition for one character 
+     * @return index into the extraData array
+     */
+    private static int decompose(long/*unsigned*/ norm32, 
+                                 DecomposeArgs args) {
+                             
+        int p= getExtraDataIndex(norm32);
+        args.length=extraData[p++];
+    
+        if((args.length&DECOMP_FLAG_LENGTH_HAS_CC)>0) {
+            /* get the lead and trail cc's */
+            char bothCCs=extraData[p++];
+            args.cc=(UNSIGNED_BYTE_MASK) & (bothCCs>>8);
+            args.trailCC=(UNSIGNED_BYTE_MASK) & bothCCs;
+        } else {
+            /* lead and trail cc's are both 0 */
+            args.cc=args.trailCC=0;
+        }
+    
+        args.length&=DECOMP_LENGTH_MASK;
+        return p;
+    }
+    
+    
+    private static final class NextCCArgs{
+        char[] source;
+        int next;
+        int limit;
+        char c;
+        char c2;
+    }
+    
+    /*
+     * get the combining class of (c, c2)= args.source[args.next++]
+     * before: args.next<args.limit  after: args.next<=args.limit
+     * if only one code unit is used, then c2==0
+     */
+    private static int /*unsigned byte*/ getNextCC(NextCCArgs args) {
+        long /*unsigned*/ norm32;
+    
+        args.c=args.source[args.next++];
+        
+        norm32= getNorm32(args.c);
+        if((norm32 & CC_MASK)==0) {
+            args.c2=0;
+            return 0;
+        } else {
+            if(!isNorm32LeadSurrogate(norm32)) {
+                args.c2=0;
+            } else {
+                /* c is a lead surrogate, get the real norm32 */
+                if(args.next!=args.limit && 
+                        UTF16.isTrailSurrogate(args.c2=args.source[args.next])){
+                    ++args.next;
+                    norm32=getNorm32FromSurrogatePair(norm32, args.c2);
+                } else {
+                    args.c2=0;
+                    return 0;
+                }
+            }
+    
+            return (int)((UNSIGNED_BYTE_MASK) & (norm32>>CC_SHIFT));
+        }
+    }
+
+    private static final class PrevArgs{
+        char[] src;
+        int start;
+        int current;
+        char c;
+        char c2;
+    }
+    
+    /*
+     * read backwards and get norm32
+     * return 0 if the character is <minC
+     * if c2!=0 then (c2, c) is a surrogate pair (reversed - c2 is first 
+     * surrogate but read second!)
+     */
+    private static long /*unsigned*/ getPrevNorm32(PrevArgs args,
+                                                      int/*unsigned*/ minC, 
+                                                      int/*unsigned*/ mask) {
+        long/*unsigned*/ norm32;
+    
+        args.c=args.src[--args.current];
+        args.c2=0;
+    
+        /* check for a surrogate before getting norm32 to see if we need to 
+         * predecrement further 
+         */
+        if(args.c<minC) {
+            return 0;
+        } else if(!UTF16.isSurrogate(args.c)) {
+            return getNorm32(args.c);
+        } else if(UTF16.isLeadSurrogate(args.c)) {
+            /* unpaired first surrogate */
+            return 0;
+        } else if(args.current!=args.start && 
+                    UTF16.isLeadSurrogate(args.c2=args.src[args.current-1])) {
+            --args.current;
+            norm32=getNorm32(args.c2);
+    
+            if((norm32&mask)==0) {
+                /* all surrogate pairs with this lead surrogate have 
+                 * only irrelevant data 
+                 */
+                return 0;
+            } else {
+                /* norm32 must be a surrogate special */
+                return getNorm32FromSurrogatePair(norm32, args.c);
+            }
+        } else {
+            /* unpaired second surrogate */
+            args.c2=0;
+            return 0;
+        }
+    }
+    
+    /*
+     * get the combining class of (c, c2)=*--p
+     * before: start<p  after: start<=p
+     */
+    private static int /*unsigned byte*/ getPrevCC(PrevArgs args) {
+
+        return (int)((UNSIGNED_BYTE_MASK)&(getPrevNorm32(args, MIN_WITH_LEAD_CC,
+                                                         CC_MASK)>>CC_SHIFT));
+    }
+
+    /*
+     * is this a safe boundary character for NF*D?
+     * (lead cc==0)
+     */
+    public static boolean isNFDSafe(long/*unsigned*/ norm32, 
+                                     int/*unsigned*/ccOrQCMask, 
+                                     int/*unsigned*/ decompQCMask) {
+        if((norm32&ccOrQCMask)==0) {
+            return true; /* cc==0 and no decomposition: this is NF*D safe */
+        }
+    
+        /* inspect its decomposition - maybe a Hangul but not a surrogate here*/
+        if(isNorm32Regular(norm32) && (norm32&decompQCMask)!=0) {
+            DecomposeArgs args=new DecomposeArgs();
+            /* decomposes, get everything from the variable-length extra data */
+            decompose(norm32, decompQCMask, args);
+            return args.cc==0;
+        } else {
+            /* no decomposition (or Hangul), test the cc directly */
+            return (norm32&CC_MASK)==0;
+        }
+    }
+    
+    /*
+     * is this (or does its decomposition begin with) a "true starter"?
+     * (cc==0 and NF*C_YES)
+     */
+    public static boolean isTrueStarter(long/*unsigned*/ norm32, 
+                                          int/*unsigned*/ ccOrQCMask, 
+                                          int/*unsigned*/ decompQCMask) {
+        if((norm32&ccOrQCMask)==0) {
+            return true; /* this is a true starter (could be Hangul or Jamo L)*/
+        }
+    
+        /* inspect its decomposition - not a Hangul or a surrogate here */
+        if((norm32&decompQCMask)!=0) {
+            int p; /* index into extra data array */
+            DecomposeArgs args=new DecomposeArgs();
+            /* decomposes, get everything from the variable-length extra data */
+            p=decompose(norm32, decompQCMask, args);
+          
+            if(args.cc==0) {
+                int/*unsigned*/ qcMask=ccOrQCMask&QC_MASK;
+    
+                /* does it begin with NFC_YES? */
+                if((getNorm32(extraData,p, qcMask)&qcMask)==0) {
+                    /* yes, the decomposition begins with a true starter */
+                    return true;
+                }
+            }
+        }
+        return false;
+    }
+
+    /* reorder UTF-16 in-place ---------------------------------------------- */
+    
+    /**
+     * simpler, single-character version of mergeOrdered() -
+     * bubble-insert one single code point into the preceding string
+     * which is already canonically ordered
+     * (c, c2) may or may not yet have been inserted at src[current]..src[p]
+     *
+     * it must be p=current+lengthof(c, c2) i.e. p=current+(c2==0 ? 1 : 2)
+     *
+     * before: src[start]..src[current] is already ordered, and
+     *         src[current]..src[p]     may or may not hold (c, c2) but
+     *                          must be exactly the same length as (c, c2)
+     * after: src[start]..src[p] is ordered
+     *
+     * @return the trailing combining class
+     */
+    private static int/*unsigned byte*/ insertOrdered(char[] source, 
+                                                      int start, 
+                                                      int current, int p,
+                                                         char c, char c2, 
+                                                         int/*unsigned byte*/ cc) {
+        int back, preBack;
+        int r;
+        int prevCC, trailCC=cc;
+    
+        if(start<current && cc!=0) {
+            // search for the insertion point where cc>=prevCC 
+            preBack=back=current;
+            PrevArgs prevArgs = new PrevArgs();
+            prevArgs.current  = current;
+            prevArgs.start    = start;
+            prevArgs.src      = source;
+            // get the prevCC 
+            prevCC=getPrevCC(prevArgs);
+            preBack = prevArgs.current;
+            
+            if(cc<prevCC) {
+                // this will be the last code point, so keep its cc 
+                trailCC=prevCC;
+                back=preBack;
+                while(start<preBack) {
+                    prevCC=getPrevCC(prevArgs);
+                    preBack=prevArgs.current;
+                    if(cc>=prevCC) {
+                        break;
+                    }
+                    back=preBack;
+                }
+    
+                
+                // this is where we are right now with all these indicies:
+                // [start]..[pPreBack] 0..? code points that we can ignore
+                // [pPreBack]..[pBack] 0..1 code points with prevCC<=cc
+                // [pBack]..[current] 0..n code points with >cc, move up to insert (c, c2)
+                // [current]..[p]         1 code point (c, c2) with cc
+                 
+                // move the code units in between up 
+                r=p;
+                do {
+                    source[--r]=source[--current];
+                } while(back!=current);
+            }
+        }
+    
+        // insert (c, c2) 
+        source[current]=c;
+        if(c2!=0) {
+            source[(current+1)]=c2;
+        }
+    
+        // we know the cc of the last code point 
+        return trailCC;
+    }
+    
+    /**
+     * merge two UTF-16 string parts together
+     * to canonically order (order by combining classes) their concatenation
+     *
+     * the two strings may already be adjacent, so that the merging is done 
+     * in-place if the two strings are not adjacent, then the buffer holding the
+     * first one must be large enough
+     * the second string may or may not be ordered in itself
+     *
+     * before: [start]..[current] is already ordered, and
+     *         [next]..[limit]    may be ordered in itself, but
+     *                          is not in relation to [start..current[
+     * after: [start..current+(limit-next)[ is ordered
+     *
+     * the algorithm is a simple bubble-sort that takes the characters from 
+     * src[next++] and inserts them in correct combining class order into the 
+     * preceding part of the string
+     *
+     * since this function is called much less often than the single-code point
+     * insertOrdered(), it just uses that for easier maintenance
+     *
+     * @return the trailing combining class
+     */
+    private static int /*unsigned byte*/ mergeOrdered(char[] source,
+                                                      int start, 
+                                                      int current,
+                                                      char[] data,
+                                                        int next, 
+                                                        int limit, 
+                                                        boolean isOrdered) {
+            int r;
+            int /*unsigned byte*/ cc, trailCC=0;
+            boolean adjacent;
+        
+            adjacent= current==next;
+            NextCCArgs ncArgs = new NextCCArgs();
+            ncArgs.source = data;
+            ncArgs.next   = next;
+            ncArgs.limit  = limit;
+            
+            if(start!=current || !isOrdered) {
+                    
+                while(ncArgs.next<ncArgs.limit) {
+                    cc=getNextCC(ncArgs);
+                    if(cc==0) {
+                        // does not bubble back 
+                        trailCC=0;
+                        if(adjacent) {
+                            current=ncArgs.next;
+                        } else {
+                            data[current++]=ncArgs.c;
+                            if(ncArgs.c2!=0) {
+                                data[current++]=ncArgs.c2;
+                            }
+                        }
+                        if(isOrdered) {
+                            break;
+                        } else {
+                            start=current;
+                        }
+                    } else {
+                        r=current+(ncArgs.c2==0 ? 1 : 2);
+                        trailCC=insertOrdered(source,start, current, r, 
+                                              ncArgs.c, ncArgs.c2, cc);
+                        current=r;
+                    }
+                }
+            }
+        
+            if(ncArgs.next==ncArgs.limit) {
+                // we know the cc of the last code point 
+                return trailCC;
+            } else {
+                if(!adjacent) {
+                    // copy the second string part 
+                    do {
+                        source[current++]=data[ncArgs.next++];
+                    } while(ncArgs.next!=ncArgs.limit);
+                    ncArgs.limit=current;
+                }
+                PrevArgs prevArgs = new PrevArgs();
+                prevArgs.src   = data;
+                prevArgs.start = start;
+                prevArgs.current =  ncArgs.limit;
+                return getPrevCC(prevArgs);
+            }
+
+    }
+    private static int /*unsigned byte*/ mergeOrdered(char[] source,
+                                                      int start, 
+                                                      int current,
+                                                      char[] data,
+                                                        final int next, 
+                                                        final int limit) {
+        return mergeOrdered(source,start,current,data,next,limit,true);
+    } 
+
+    
+      
+    public static boolean checkFCD(char[] src,int srcStart, int srcLimit,
+                                   UnicodeSet nx) {
+
+        char fcd16,c,c2;
+        int prevCC=0, cc;
+        int i =srcStart, length = srcLimit;
+    
+        for(;;) {
+            for(;;) {
+                if(i==length) {
+                    return true;
+                } else if((c=src[i++])<MIN_WITH_LEAD_CC) {
+                    prevCC=(int)-c;
+                } else if((fcd16=getFCD16(c))==0) {
+                    prevCC=0;
+                } else {
+                    break;
+                }
+            }
+
+            // check one above-minimum, relevant code unit 
+            if(UTF16.isLeadSurrogate(c)) {
+                // c is a lead surrogate, get the real fcd16 
+                if(i!=length && UTF16.isTrailSurrogate(c2=src[i])) {
+                    ++i;
+                    fcd16=getFCD16FromSurrogatePair(fcd16, c2);
+                } else {
+                    c2=0;
+                    fcd16=0;
+                }
+            }else{
+                c2=0;
+            }
+            
+            if(nx_contains(nx, c, c2)) {
+                prevCC=0; /* excluded: fcd16==0 */
+                continue;
+            }
+
+            // prevCC has values from the following ranges:
+            // 0..0xff -the previous trail combining class
+            // <0      -the negative value of the previous code unit;
+            //          that code unit was <MIN_WITH_LEAD_CC and its getFCD16()
+            //          was deferred so that average text is checked faster
+            //
+    
+            // check the combining order 
+            cc=(int)(fcd16>>8);
+            if(cc!=0) {
+                if(prevCC<0) {
+                    // the previous character was <_NORM_MIN_WITH_LEAD_CC, 
+                    // we need to get its trail cc 
+                    //
+                    if(!nx_contains(nx, (int)-prevCC)) {
+                        prevCC=(int)(FCDTrieImpl.fcdTrie.getBMPValue(
+                                             (char)-prevCC)&0xff
+                                             ); 
+                    } else {
+                        prevCC=0; /* excluded: fcd16==0 */
+                    }
+                                      
+                }
+    
+                if(cc<prevCC) {
+                    return false;
+                }
+            }
+            prevCC=(int)(fcd16&0xff);
+        }
+    }
+    
+    public static Normalizer.QuickCheckResult quickCheck(char[] src,
+                                                            int srcStart, 
+                                                            int srcLimit,
+                                                            int minNoMaybe,
+                                                            int qcMask,
+                                                            int options,
+                                                            boolean allowMaybe,
+                                                            UnicodeSet nx){
+
+        int ccOrQCMask;
+        long norm32;
+        char c, c2;
+        char cc, prevCC;
+        long qcNorm32;
+        Normalizer.QuickCheckResult result;
+        ComposePartArgs args = new ComposePartArgs();
+        char[] buffer ;
+        int start = srcStart;
+        
+        if(!isDataLoaded) {
+            return Normalizer.MAYBE;
+        }
+        // initialize 
+        ccOrQCMask=CC_MASK|qcMask;
+        result=Normalizer.YES;
+        prevCC=0;
+                
+        for(;;) {
+            for(;;) {
+                if(srcStart==srcLimit) {
+                    return result;
+                } else if((c=src[srcStart++])>=minNoMaybe && 
+                                  (( norm32=getNorm32(c)) & ccOrQCMask)!=0) {
+                    break;
+                }
+                prevCC=0;
+            }
+            
+    
+            // check one above-minimum, relevant code unit 
+            if(isNorm32LeadSurrogate(norm32)) {
+                // c is a lead surrogate, get the real norm32 
+                if(srcStart!=srcLimit&& UTF16.isTrailSurrogate(c2=src[srcStart])) {
+                    ++srcStart;
+                    norm32=getNorm32FromSurrogatePair(norm32,c2);
+                } else {
+                    norm32=0;
+                    c2=0;
+                }
+            }else{
+                c2=0;
+            }
+            if(nx_contains(nx, c, c2)) {
+                /* excluded: norm32==0 */
+                norm32=0;
+            }
+    
+            // check the combining order 
+            cc=(char)((norm32>>CC_SHIFT)&0xFF);
+            if(cc!=0 && cc<prevCC) {
+                return Normalizer.NO;
+            }
+            prevCC=cc;
+    
+            // check for "no" or "maybe" quick check flags 
+            qcNorm32 = norm32 & qcMask;
+            if((qcNorm32& QC_ANY_NO)>=1) {
+                result= Normalizer.NO;
+                break;
+            } else if(qcNorm32!=0) {
+                // "maybe" can only occur for NFC and NFKC 
+                if(allowMaybe){
+                    result=Normalizer.MAYBE;
+                }else{
+                    // normalize a section around here to see if it is really 
+                    // normalized or not 
+                    int prevStarter;
+                    int/*unsigned*/ decompQCMask;
+    
+                    decompQCMask=(qcMask<<2)&0xf; // decomposition quick check mask 
+    
+                    // find the previous starter 
+
+                    // set prevStarter to the beginning of the current character 
+                    prevStarter=srcStart-1; 
+                    if(UTF16.isTrailSurrogate(src[prevStarter])) {
+                        // safe because unpaired surrogates do not result 
+                        // in "maybe"
+                        --prevStarter; 
+                    }
+
+                    prevStarter=findPreviousStarter(src, start, prevStarter,
+                                                    ccOrQCMask, decompQCMask,
+                                                    (char)minNoMaybe);
+    
+                    // find the next true starter in [src..limit[ - modifies 
+                    // src to point to the next starter 
+                    srcStart=findNextStarter(src,srcStart, srcLimit, qcMask, 
+                                             decompQCMask,(char) minNoMaybe);
+                    
+                    //set the args for compose part
+                    args.prevCC = prevCC;
+                       
+                    // decompose and recompose [prevStarter..src[ 
+                    buffer = composePart(args,prevStarter,src,srcStart,srcLimit,options,nx);
+    
+                    // compare the normalized version with the original 
+                    if(0!=strCompare(buffer,0,args.length,src,prevStarter,srcStart, false)) {
+                        result=Normalizer.NO; // normalization differs 
+                        break;
+                    }
+    
+                    // continue after the next starter 
+                }
+            }
+        }
+        return result;
+    } 
+ 
+       
+    //------------------------------------------------------ 
+    // make NFD & NFKD 
+    //------------------------------------------------------
+    public static int getDecomposition(int c /*UTF-32*/ , 
+                                        boolean compat,
+                                           char[] dest,
+                                           int destStart, 
+                                           int destCapacity) {
+            
+        if( (UNSIGNED_INT_MASK & c)<=0x10ffff) {
+            long /*unsigned*/ norm32;
+            int qcMask;
+            int minNoMaybe;
+            int length;
+    
+            // initialize 
+            if(!compat) {
+                minNoMaybe=(int)indexes[INDEX_MIN_NFD_NO_MAYBE];
+                qcMask=QC_NFD;
+            } else {
+                minNoMaybe=(int)indexes[INDEX_MIN_NFKD_NO_MAYBE];
+                qcMask=QC_NFKD;
+            }
+    
+            if(c<minNoMaybe) {
+                // trivial case 
+                if(destCapacity>0) {
+                    dest[0]=(char)c;
+                }
+                return -1;
+            }
+    
+            /* data lookup */
+            norm32=getNorm32(c);
+            if((norm32&qcMask)==0) {
+                /* simple case: no decomposition */
+                if(c<=0xffff) {
+                    if(destCapacity>0) {
+                        dest[0]=(char)c;
+                    }
+                    return -1;
+                } else {
+                    if(destCapacity>=2) {
+                        dest[0]=UTF16.getLeadSurrogate(c);
+                        dest[1]=UTF16.getTrailSurrogate(c);
+                    }
+                    return -2;
+                }
+            } else if(isNorm32HangulOrJamo(norm32)) {
+                /* Hangul syllable: decompose algorithmically */
+                char c2;
+    
+                c-=HANGUL_BASE;
+    
+                c2=(char)(c%JAMO_T_COUNT);
+                c/=JAMO_T_COUNT;
+                if(c2>0) {
+                    if(destCapacity>=3) {
+                        dest[2]=(char)(JAMO_T_BASE+c2);
+                    }
+                    length=3;
+                } else {
+                    length=2;
+                }
+    
+                if(destCapacity>=2) {
+                    dest[1]=(char)(JAMO_V_BASE+c%JAMO_V_COUNT);
+                    dest[0]=(char)(JAMO_L_BASE+c/JAMO_V_COUNT);
+                }
+                return length;
+            } else {
+                /* c decomposes, get everything from the variable-length extra 
+                 * data 
+                 */
+                int p, limit;
+                DecomposeArgs args = new DecomposeArgs();
+                /* the index into extra data array*/                 
+                p=decompose(norm32, qcMask, args);
+                if(args.length<=destCapacity) {
+                    limit=p+args.length;
+                    do {
+                        dest[destStart++]=extraData[p++];
+                    } while(p<limit);
+                }
+                return args.length;
+            }
+        } else {
+            return 0;
+        }
+    }
+
+    
+    public static int decompose(char[] src,int srcStart,int srcLimit,
+                                char[] dest,int destStart,int destLimit,
+                                 boolean compat,int[] outTrailCC,
+                                 UnicodeSet nx) {
+                                
+        char[] buffer = new char[3];
+        int prevSrc;
+        long norm32;
+        int ccOrQCMask, qcMask;
+        int reorderStartIndex, length;
+        char c, c2, minNoMaybe;
+        int/*unsigned byte*/ cc, prevCC, trailCC;
+        char[] p;
+        int pStart;
+        int destIndex = destStart;
+        int srcIndex = srcStart;
+        if(!compat) {
+            minNoMaybe=(char)indexes[INDEX_MIN_NFD_NO_MAYBE];
+            qcMask=QC_NFD;
+        } else {
+            minNoMaybe=(char)indexes[INDEX_MIN_NFKD_NO_MAYBE];
+            qcMask=QC_NFKD;
+        }
+    
+        /* initialize */
+        ccOrQCMask=CC_MASK|qcMask;
+        reorderStartIndex=0;
+        prevCC=0;
+        norm32=0;
+        c=0;
+        pStart=0;
+        
+        cc=trailCC=-1;//initialize to bogus value
+        
+        for(;;) {
+            /* count code units below the minimum or with irrelevant data for 
+             * the quick check 
+             */
+            prevSrc=srcIndex;
+
+            while(srcIndex!=srcLimit &&((c=src[srcIndex])<minNoMaybe || 
+                                        ((norm32=getNorm32(c))&ccOrQCMask)==0)){
+                prevCC=0;
+                ++srcIndex;
+            }
+
+            /* copy these code units all at once */
+            if(srcIndex!=prevSrc) {
+                length=(int)(srcIndex-prevSrc);
+                if((destIndex+length)<=destLimit) {
+                    System.arraycopy(src,prevSrc,dest,destIndex,length);
+                }
+              
+                destIndex+=length;
+                reorderStartIndex=destIndex;
+            }
+    
+            /* end of source reached? */
+            if(srcIndex==srcLimit) {
+                break;
+            }
+    
+            /* c already contains *src and norm32 is set for it, increment src*/
+            ++srcIndex;
+    
+            /* check one above-minimum, relevant code unit */
+            /*
+             * generally, set p and length to the decomposition string
+             * in simple cases, p==NULL and (c, c2) will hold the length code 
+             * units to append in all cases, set cc to the lead and trailCC to 
+             * the trail combining class
+             *
+             * the following merge-sort of the current character into the 
+             * preceding, canonically ordered result text will use the 
+             * optimized insertOrdered()
+             * if there is only one single code point to process;
+             * this is indicated with p==NULL, and (c, c2) is the character to 
+             * insert
+             * ((c, 0) for a BMP character and (lead surrogate, trail surrogate)
+             * for a supplementary character)
+             * otherwise, p[length] is merged in with _mergeOrdered()
+             */
+            if(isNorm32HangulOrJamo(norm32)) {
+                if(nx_contains(nx, c)) {
+                    c2=0;
+                    p=null;
+                    length=1;
+                } else {
+                    // Hangul syllable: decompose algorithmically 
+                    p=buffer;
+                    pStart=0;
+                    cc=trailCC=0;
+    
+                    c-=HANGUL_BASE;
+    
+                    c2=(char)(c%JAMO_T_COUNT);
+                    c/=JAMO_T_COUNT;
+                    if(c2>0) {
+                        buffer[2]=(char)(JAMO_T_BASE+c2);
+                        length=3;
+                    } else {
+                        length=2;
+                    }
+    
+                    buffer[1]=(char)(JAMO_V_BASE+c%JAMO_V_COUNT);
+                    buffer[0]=(char)(JAMO_L_BASE+c/JAMO_V_COUNT);
+                }
+            } else {
+                if(isNorm32Regular(norm32)) {
+                    c2=0;
+                    length=1;
+                } else {
+                    // c is a lead surrogate, get the real norm32 
+                    if(srcIndex!=srcLimit && 
+                                    UTF16.isTrailSurrogate(c2=src[srcIndex])) {
+                        ++srcIndex;
+                        length=2;
+                        norm32=getNorm32FromSurrogatePair(norm32, c2);
+                    } else {
+                        c2=0;
+                        length=1;
+                        norm32=0;
+                    }
+                }
+    
+                /* get the decomposition and the lead and trail cc's */
+                if(nx_contains(nx, c, c2)) {
+                    /* excluded: norm32==0 */
+                    cc=trailCC=0;
+                    p=null;
+                } else if((norm32&qcMask)==0) {
+                    /* c does not decompose */
+                    cc=trailCC=(int)((UNSIGNED_BYTE_MASK) & (norm32>>CC_SHIFT));
+                    p=null;
+                    pStart=-1;
+                } else {
+                    DecomposeArgs arg = new DecomposeArgs();
+                    /* c decomposes, get everything from the variable-length 
+                     * extra data 
+                     */
+                    pStart=decompose(norm32, qcMask, arg);
+                    p=extraData;
+                    length=arg.length;
+                    cc=arg.cc;
+                    trailCC=arg.trailCC;
+                    if(length==1) {
+                        /* fastpath a single code unit from decomposition */
+                        c=p[pStart];
+                        c2=0;
+                        p=null;
+                        pStart=-1;
+                    }
+                }
+            }
+    
+            /* append the decomposition to the destination buffer, assume 
+             * length>0 
+             */
+            if((destIndex+length)<=destLimit) {
+                int reorderSplit=destIndex;
+                if(p==null) {
+                    /* fastpath: single code point */
+                    if(cc!=0 && cc<prevCC) {
+                        /* (c, c2) is out of order with respect to the preceding
+                         *  text 
+                         */
+                        destIndex+=length;
+                        trailCC=insertOrdered(dest,reorderStartIndex, 
+                                            reorderSplit, destIndex, c, c2, cc);
+                    } else {
+                        /* just append (c, c2) */
+                        dest[destIndex++]=c;
+                        if(c2!=0) {
+                            dest[destIndex++]=c2;
+                        }
+                    }
+                } else {
+                    /* general: multiple code points (ordered by themselves) 
+                     * from decomposition 
+                     */
+                    if(cc!=0 && cc<prevCC) {
+                        /* the decomposition is out of order with respect to the
+                         *  preceding text 
+                         */
+                        destIndex+=length;
+                        trailCC=mergeOrdered(dest,reorderStartIndex, 
+                                          reorderSplit,p, pStart,pStart+length);
+                    } else {
+                        /* just append the decomposition */
+                        do {
+                            dest[destIndex++]=p[pStart++];
+                        } while(--length>0);
+                    }
+                }
+            } else {
+                /* buffer overflow */
+                /* keep incrementing the destIndex for preflighting */
+                destIndex+=length;
+            }
+    
+            prevCC=trailCC;
+            if(prevCC==0) {
+                reorderStartIndex=destIndex;
+            }
+        }
+    
+        outTrailCC[0]=prevCC;
+
+        return destIndex - destStart;
+    }
+    
+    /* make NFC & NFKC ------------------------------------------------------ */
+    private static final class NextCombiningArgs{
+        char[] source;
+        int start;
+        //int limit;
+        char c;
+        char c2;
+        int/*unsigned*/ combiningIndex;
+        char /*unsigned byte*/ cc;
+    }
+    
+    /* get the composition properties of the next character */
+    private static int /*unsigned*/    getNextCombining(NextCombiningArgs args,
+                                                    int limit,
+                                                    UnicodeSet nx) {
+        long/*unsigned*/ norm32; 
+        int combineFlags;
+        /* get properties */
+        args.c=args.source[args.start++];
+        norm32=getNorm32(args.c);
+        
+        /* preset output values for most characters */
+        args.c2=0;
+        args.combiningIndex=0;
+        args.cc=0;
+        
+        if((norm32&(CC_MASK|COMBINES_ANY))==0) {
+            return 0;
+        } else {
+            if(isNorm32Regular(norm32)) {
+                /* set cc etc. below */
+            } else if(isNorm32HangulOrJamo(norm32)) {
+                /* a compatibility decomposition contained Jamos */
+                args.combiningIndex=(int)((UNSIGNED_INT_MASK)&(0xfff0|
+                                                        (norm32>>EXTRA_SHIFT)));
+                return (int)(norm32&COMBINES_ANY);
+            } else {
+                /* c is a lead surrogate, get the real norm32 */
+                if(args.start!=limit && UTF16.isTrailSurrogate(args.c2=
+                                                     args.source[args.start])) {
+                    ++args.start;
+                    norm32=getNorm32FromSurrogatePair(norm32, args.c2);
+                } else {
+                    args.c2=0;
+                    return 0;
+                }
+            }
+            
+            if(nx_contains(nx, args.c, args.c2)) {
+                return 0; /* excluded: norm32==0 */
+            }
+    
+            args.cc= (char)((norm32>>CC_SHIFT)&0xff);
+        
+            combineFlags=(int)(norm32&COMBINES_ANY);
+            if(combineFlags!=0) {
+                int index = getExtraDataIndex(norm32);
+                args.combiningIndex=index>0 ? extraData[(index-1)] :0;
+            }
+    
+            return combineFlags;
+        }
+    }
+    
+    /*
+     * given a composition-result starter (c, c2) - which means its cc==0,
+     * it combines forward, it has extra data, its norm32!=0,
+     * it is not a Hangul or Jamo,
+     * get just its combineFwdIndex
+     *
+     * norm32(c) is special if and only if c2!=0
+     */
+    private static int/*unsigned*/ getCombiningIndexFromStarter(char c,char c2){
+        long/*unsigned*/ norm32;
+    
+        norm32=getNorm32(c);
+        if(c2!=0) {
+            norm32=getNorm32FromSurrogatePair(norm32, c2);
+        }
+        return extraData[(getExtraDataIndex(norm32)-1)];
+    }
+    
+    /*
+     * Find the recomposition result for
+     * a forward-combining character
+     * (specified with a pointer to its part of the combiningTable[])
+     * and a backward-combining character
+     * (specified with its combineBackIndex).
+     *
+     * If these two characters combine, then set (value, value2)
+     * with the code unit(s) of the composition character.
+     *
+     * Return value:
+     * 0    do not combine
+     * 1    combine
+     * >1   combine, and the composition is a forward-combining starter
+     *
+     * See unormimp.h for a description of the composition table format.
+     */
+    private static int/*unsigned*/ combine(char[]table,int tableStart, 
+                                   int/*unsinged*/ combineBackIndex,
+                                    int[] outValues) {
+        int/*unsigned*/ key;
+        int value,value2;
+        
+        if(outValues.length<2){
+            throw new IllegalArgumentException();
+        }
+        
+        /* search in the starter's composition table */
+        for(;;) {
+            key=table[tableStart++];
+            if(key>=combineBackIndex) {
+                break;
+            }
+            tableStart+= ((table[tableStart]&0x8000) != 0)? 2 : 1;
+        }
+    
+        /* mask off bit 15, the last-entry-in-the-list flag */
+        if((key&0x7fff)==combineBackIndex) {
+            /* found! combine! */
+            value=table[tableStart];
+    
+            /* is the composition a starter that combines forward? */
+            key=(int)((UNSIGNED_INT_MASK)&((value&0x2000)+1));
+    
+            /* get the composition result code point from the variable-length 
+             * result value 
+             */
+            if((value&0x8000) != 0) {
+                if((value&0x4000) != 0) {
+                    /* surrogate pair composition result */
+                    value=(int)((UNSIGNED_INT_MASK)&((value&0x3ff)|0xd800));
+                    value2=table[tableStart+1];
+                } else {
+                    /* BMP composition result U+2000..U+ffff */
+                    value=table[tableStart+1];
+                    value2=0;
+                }
+            } else {
+                /* BMP composition result U+0000..U+1fff */
+                value&=0x1fff;
+                value2=0;
+            }
+            outValues[0]=value;
+            outValues[1]=value2;    
+            return key;
+        } else {
+            /* not found */
+            return 0;
+        }
+    }
+    
+    
+    private static final class RecomposeArgs{
+        char[] source;
+        int start;
+        int limit;
+    }
+    /*
+     * recompose the characters in [p..limit[
+     * (which is in NFD - decomposed and canonically ordered),
+     * adjust limit, and return the trailing cc
+     *
+     * since for NFKC we may get Jamos in decompositions, we need to
+     * recompose those too
+     *
+     * note that recomposition never lengthens the text:
+     * any character consists of either one or two code units;
+     * a composition may contain at most one more code unit than the original 
+     * starter, while the combining mark that is removed has at least one code 
+     * unit
+     */
+    private static char/*unsigned byte*/ recompose(RecomposeArgs args, int options, UnicodeSet nx) {
+        int  remove, q, r;
+        int /*unsigned*/ combineFlags;
+        int /*unsigned*/ combineFwdIndex, combineBackIndex;
+        int /*unsigned*/ result, value=0, value2=0;
+        int /*unsigned byte*/  prevCC;
+        boolean starterIsSupplementary;
+        int starter;
+        int[] outValues = new int[2];
+        starter=-1;                   /* no starter */
+        combineFwdIndex=0;            /* will not be used until starter!=NULL */
+        starterIsSupplementary=false; /* will not be used until starter!=NULL */
+        prevCC=0;
+        
+        NextCombiningArgs ncArg = new NextCombiningArgs();
+        ncArg.source  = args.source;
+        
+        ncArg.cc      =0;
+        ncArg.c2      =0;    
+
+        for(;;) {
+            ncArg.start = args.start;
+            combineFlags=getNextCombining(ncArg,args.limit,nx);
+            combineBackIndex=ncArg.combiningIndex;
+            args.start = ncArg.start;
+                        
+            if(((combineFlags&COMBINES_BACK)!=0) && starter!=-1) {
+                if((combineBackIndex&0x8000)!=0) {
+                    /* c is a Jamo V/T, see if we can compose it with the 
+                     * previous character 
+                     */
+                    /* for the PRI #29 fix, check that there is no intervening combining mark */
+                    if((options&BEFORE_PRI_29)!=0 || prevCC==0) {
+                        remove=-1; /* NULL while no Hangul composition */
+                        combineFlags=0;
+                        ncArg.c2=args.source[starter];
+                        if(combineBackIndex==0xfff2) {
+                            /* Jamo V, compose with previous Jamo L and following 
+                             * Jamo T 
+                             */
+                            ncArg.c2=(char)(ncArg.c2-JAMO_L_BASE);
+                            if(ncArg.c2<JAMO_L_COUNT) {
+                                remove=args.start-1;
+                                ncArg.c=(char)(HANGUL_BASE+(ncArg.c2*JAMO_V_COUNT+
+                                               (ncArg.c-JAMO_V_BASE))*JAMO_T_COUNT);
+                                if(args.start!=args.limit && 
+                                            (ncArg.c2=(char)(args.source[args.start]
+                                             -JAMO_T_BASE))<JAMO_T_COUNT) {
+                                    ++args.start;
+                                    ncArg.c+=ncArg.c2;
+                                 } else {
+                                     /* the result is an LV syllable, which is a starter (unlike LVT) */
+                                     combineFlags=COMBINES_FWD;
+                                }
+                                if(!nx_contains(nx, ncArg.c)) {
+                                    args.source[starter]=ncArg.c;
+                                   } else {
+                                    /* excluded */
+                                    if(!isHangulWithoutJamoT(ncArg.c)) {
+                                        --args.start; /* undo the ++args.start from reading the Jamo T */
+                                    }
+                                    /* c is modified but not used any more -- c=*(p-1); -- re-read the Jamo V/T */
+                                    remove=args.start;
+                                }
+                            }
+
+                        /*
+                         * Normally, the following can not occur:
+                         * Since the input is in NFD, there are no Hangul LV syllables that
+                         * a Jamo T could combine with.
+                         * All Jamo Ts are combined above when handling Jamo Vs.
+                         *
+                         * However, before the PRI #29 fix, this can occur due to
+                         * an intervening combining mark between the Hangul LV and the Jamo T.
+                         */
+                        } else {
+                            /* Jamo T, compose with previous Hangul that does not have a Jamo T */
+                            if(isHangulWithoutJamoT(ncArg.c2)) {
+                                ncArg.c2+=ncArg.c-JAMO_T_BASE;
+                                if(!nx_contains(nx, ncArg.c2)) {
+                                    remove=args.start-1;
+                                    args.source[starter]=ncArg.c2;
+                                }
+                            }
+                        }
+        
+                        if(remove!=-1) {
+                            /* remove the Jamo(s) */
+                            q=remove;
+                            r=args.start;
+                            while(r<args.limit) {
+                                args.source[q++]=args.source[r++];
+                            }
+                            args.start=remove;
+                            args.limit=q;
+                        }
+        
+                        ncArg.c2=0; /* c2 held *starter temporarily */
+
+                        if(combineFlags!=0) {
+                            /*
+                             * not starter=NULL because the composition is a Hangul LV syllable
+                             * and might combine once more (but only before the PRI #29 fix)
+                             */
+
+                            /* done? */
+                            if(args.start==args.limit) {
+                                return (char)prevCC;
+                            }
+
+                            /* the composition is a Hangul LV syllable which is a starter that combines forward */
+                            combineFwdIndex=0xfff0;
+
+                            /* we combined; continue with looking for compositions */
+                            continue;
+                        }
+                    }
+
+                    /*
+                     * now: cc==0 and the combining index does not include 
+                     * "forward" -> the rest of the loop body will reset starter
+                     * to NULL; technically, a composed Hangul syllable is a 
+                     * starter, but it does not combine forward now that we have
+                     * consumed all eligible Jamos; for Jamo V/T, combineFlags 
+                     * does not contain _NORM_COMBINES_FWD
+                     */
+    
+                } else if(
+                    /* the starter is not a Hangul LV or Jamo V/T and */
+                    !((combineFwdIndex&0x8000)!=0) &&
+                    /* the combining mark is not blocked and */
+                    ((options&BEFORE_PRI_29)!=0 ?
+                        (prevCC!=ncArg.cc || prevCC==0) :
+                        (prevCC<ncArg.cc || prevCC==0)) &&
+                    /* the starter and the combining mark (c, c2) do combine */
+                    0!=(result=combine(combiningTable,combineFwdIndex, 
+                                       combineBackIndex, outValues)) &&
+                    /* the composition result is not excluded */
+                    !nx_contains(nx, (char)value, (char)value2)
+                ) {
+                    value=outValues[0];
+                    value2=outValues[1];
+                    /* replace the starter with the composition, remove the 
+                     * combining mark 
+                     */
+                    remove= ncArg.c2==0 ? args.start-1 : args.start-2; /* index to the combining mark */
+    
+                    /* replace the starter with the composition */
+                    args.source[starter]=(char)value;
+                    if(starterIsSupplementary) {
+                        if(value2!=0) {
+                            /* both are supplementary */
+                            args.source[starter+1]=(char)value2;
+                        } else {
+                            /* the composition is shorter than the starter, 
+                             * move the intermediate characters forward one */
+                            starterIsSupplementary=false;
+                            q=starter+1;
+                            r=q+1;
+                            while(r<remove) {
+                                args.source[q++]=args.source[r++];
+                            }
+                            --remove;
+                        }
+                    } else if(value2!=0) {
+                        /* the composition is longer than the starter, 
+                         * move the intermediate characters back one */
+                        starterIsSupplementary=true;
+                        /* temporarily increment for the loop boundary */
+                        ++starter; 
+                        q=remove;
+                        r=++remove;
+                        while(starter<q) {
+                            args.source[--r]=args.source[--q];
+                        }
+                        args.source[starter]=(char)value2;
+                        --starter; /* undo the temporary increment */
+                    /* } else { both are on the BMP, nothing more to do */
+                    }
+    
+                    /* remove the combining mark by moving the following text 
+                     * over it */
+                    if(remove<args.start) {
+                        q=remove;
+                        r=args.start;
+                        while(r<args.limit) {
+                            args.source[q++]=args.source[r++];
+                        }
+                        args.start=remove;
+                        args.limit=q;
+                    }
+    
+                    /* keep prevCC because we removed the combining mark */
+    
+                    /* done? */
+                    if(args.start==args.limit) {
+                        return (char)prevCC;
+                    }
+    
+                    /* is the composition a starter that combines forward? */
+                    if(result>1) {
+                       combineFwdIndex=getCombiningIndexFromStarter((char)value,
+                                                                  (char)value2);
+                    } else {
+                       starter=-1;
+                    }
+    
+                    /* we combined; continue with looking for compositions */
+                    continue;
+                }
+            }
+    
+            /* no combination this time */
+            prevCC=ncArg.cc;
+            if(args.start==args.limit) {
+                return (char)prevCC;
+            }
+    
+            /* if (c, c2) did not combine, then check if it is a starter */
+            if(ncArg.cc==0) {
+                /* found a new starter; combineFlags==0 if (c, c2) is excluded */
+                if((combineFlags&COMBINES_FWD)!=0) {
+                    /* it may combine with something, prepare for it */
+                    if(ncArg.c2==0) {
+                        starterIsSupplementary=false;
+                        starter=args.start-1;
+                    } else {
+                        starterIsSupplementary=false;
+                        starter=args.start-2;
+                    }
+                    combineFwdIndex=combineBackIndex;
+                } else {
+                    /* it will not combine with anything */
+                    starter=-1;
+                }
+            } else if((options&OPTIONS_COMPOSE_CONTIGUOUS)!=0) {
+                /* FCC: no discontiguous compositions; any intervening character blocks */
+                starter=-1;
+            }
+        }
+    }
+   
+    // find the last true starter between src[start]....src[current] going 
+    // backwards and return its index
+    private static int findPreviousStarter(char[]src, int srcStart, int current, 
+                                          int/*unsigned*/ ccOrQCMask, 
+                                          int/*unsigned*/ decompQCMask,
+                                          char minNoMaybe) { 
+       long norm32; 
+       PrevArgs args = new PrevArgs();
+       args.src = src;
+       args.start = srcStart;
+       args.current = current;
+       
+       while(args.start<args.current) { 
+           norm32= getPrevNorm32(args, minNoMaybe, ccOrQCMask|decompQCMask); 
+           if(isTrueStarter(norm32, ccOrQCMask, decompQCMask)) { 
+               break; 
+           } 
+       } 
+       return args.current; 
+    }
+    
+    /* find the first true starter in [src..limit[ and return the 
+     * pointer to it 
+     */
+    private static int/*index*/    findNextStarter(char[] src,int start,int limit,
+                                                 int/*unsigned*/ qcMask, 
+                                                 int/*unsigned*/ decompQCMask, 
+                                                 char minNoMaybe) {
+        int p;
+        long/*unsigned*/ norm32; 
+        int ccOrQCMask;
+        char c, c2;
+    
+        ccOrQCMask=CC_MASK|qcMask;
+        
+        DecomposeArgs decompArgs = new DecomposeArgs();
+
+        for(;;) {
+            if(start==limit) {
+                break; /* end of string */
+            }
+            c=src[start];
+            if(c<minNoMaybe) {
+                break; /* catches NUL terminater, too */
+            }
+    
+            norm32=getNorm32(c);
+            if((norm32&ccOrQCMask)==0) {
+                break; /* true starter */
+            }
+    
+            if(isNorm32LeadSurrogate(norm32)) {
+                /* c is a lead surrogate, get the real norm32 */
+                if((start+1)==limit || 
+                                   !UTF16.isTrailSurrogate(c2=(src[start+1]))){
+                    /* unmatched first surrogate: counts as a true starter */                  
+                    break; 
+                }
+                norm32=getNorm32FromSurrogatePair(norm32, c2);
+    
+                if((norm32&ccOrQCMask)==0) {
+                    break; /* true starter */
+                }
+            } else {
+                c2=0;
+            }
+    
+            /* (c, c2) is not a true starter but its decomposition may be */
+            if((norm32&decompQCMask)!=0) {
+                /* (c, c2) decomposes, get everything from the variable-length
+                 *  extra data */
+                p=decompose(norm32, decompQCMask, decompArgs);
+    
+                /* get the first character's norm32 to check if it is a true 
+                 * starter */
+                if(decompArgs.cc==0 && (getNorm32(extraData,p, qcMask)&qcMask)==0) {
+                    break; /* true starter */
+                }
+            }
+    
+            start+= c2==0 ? 1 : 2; /* not a true starter, continue */
+        }
+    
+        return start;
+    }
+    
+    
+    private static final class ComposePartArgs{
+        int prevCC;
+        int length;   /* length of decomposed part */
+    }
+        
+     /* decompose and recompose [prevStarter..src[ */
+    private static char[] composePart(ComposePartArgs args, 
+                                      int prevStarter, 
+                                         char[] src, int start, int limit,
+                                       int options,
+                                       UnicodeSet nx) {
+        int recomposeLimit;
+        boolean compat =((options&OPTIONS_COMPAT)!=0);
+        
+        /* decompose [prevStarter..src[ */
+        int[] outTrailCC = new int[1];
+        char[] buffer = new char[(limit-prevStarter)*MAX_BUFFER_SIZE];
+
+        for(;;){
+            args.length=decompose(src,prevStarter,(start),
+                                      buffer,0,buffer.length, 
+                                      compat,outTrailCC,nx);
+            if(args.length<=buffer.length){
+                break;
+            }else{
+                buffer = new char[args.length];
+            }
+        } 
+    
+        /* recompose the decomposition */
+        recomposeLimit=args.length;
+          
+        if(args.length>=2) {
+            RecomposeArgs rcArgs = new RecomposeArgs();
+            rcArgs.source    = buffer;
+            rcArgs.start    = 0;
+            rcArgs.limit    = recomposeLimit; 
+            args.prevCC=recompose(rcArgs, options, nx);
+            recomposeLimit = rcArgs.limit;
+        }
+        
+        /* return with a pointer to the recomposition and its length */
+        args.length=recomposeLimit;
+        return buffer;
+    }
+    
+    private static boolean composeHangul(char prev, char c,
+                                         long/*unsigned*/ norm32, 
+                                         char[] src,int[] srcIndex, int limit,
+                                            boolean compat, 
+                                         char[] dest,int destIndex,
+                                         UnicodeSet nx) {
+        int start=srcIndex[0];
+        if(isJamoVTNorm32JamoV(norm32)) {
+            /* c is a Jamo V, compose with previous Jamo L and 
+             * following Jamo T */
+            prev=(char)(prev-JAMO_L_BASE);
+            if(prev<JAMO_L_COUNT) {
+                c=(char)(HANGUL_BASE+(prev*JAMO_V_COUNT+
+                                                 (c-JAMO_V_BASE))*JAMO_T_COUNT);
+    
+                /* check if the next character is a Jamo T (normal or 
+                 * compatibility) */
+                if(start!=limit) {
+                    char next, t;
+    
+                    next=src[start];
+                    if((t=(char)(next-JAMO_T_BASE))<JAMO_T_COUNT) {
+                        /* normal Jamo T */
+                        ++start;
+                        c+=t;
+                    } else if(compat) {
+                        /* if NFKC, then check for compatibility Jamo T 
+                         * (BMP only) */
+                        norm32=getNorm32(next);
+                        if(isNorm32Regular(norm32) && ((norm32&QC_NFKD)!=0)) {
+                            int p /*index into extra data array*/;
+                            DecomposeArgs dcArgs = new DecomposeArgs();
+                            p=decompose(norm32, QC_NFKD, dcArgs);
+                            if(dcArgs.length==1 && 
+                                   (t=(char)(extraData[p]-JAMO_T_BASE))
+                                                   <JAMO_T_COUNT) {
+                                /* compatibility Jamo T */
+                                ++start;
+                                c+=t;
+                            }
+                        }
+                    }
+                }
+                if(nx_contains(nx, c)) {
+                    if(!isHangulWithoutJamoT(c)) {
+                        --start; /* undo ++start from reading the Jamo T */
+                    }
+                    return false;
+                }
+                dest[destIndex]=c;
+                srcIndex[0]=start;
+                return true;
+            }
+        } else if(isHangulWithoutJamoT(prev)) {
+            /* c is a Jamo T, compose with previous Hangul LV that does not 
+             * contain a Jamo T */
+            c=(char)(prev+(c-JAMO_T_BASE));
+            if(nx_contains(nx, c)) {
+                return false;
+            }
+            dest[destIndex]=c;
+            srcIndex[0]=start;
+            return true;
+        }
+        return false;
+    }
+    /*
+    public static int compose(char[] src, char[] dest,boolean compat, UnicodeSet nx){
+        return compose(src,0,src.length,dest,0,dest.length,compat, nx);
+    }
+    */
+    
+    public static int compose(char[] src, int srcStart, int srcLimit,
+                              char[] dest,int destStart,int destLimit,
+                              int options,UnicodeSet nx) {
+        
+        int prevSrc, prevStarter;
+        long/*unsigned*/ norm32; 
+        int ccOrQCMask, qcMask;
+        int  reorderStartIndex, length;
+        char c, c2, minNoMaybe;
+        int/*unsigned byte*/ cc, prevCC;
+        int[] ioIndex = new int[1];
+        int destIndex = destStart;
+        int srcIndex = srcStart;
+        
+        if((options&OPTIONS_COMPAT)!=0) {
+            minNoMaybe=(char)indexes[INDEX_MIN_NFKC_NO_MAYBE];
+            qcMask=QC_NFKC;
+        } else {
+            minNoMaybe=(char)indexes[INDEX_MIN_NFC_NO_MAYBE];
+            qcMask=QC_NFC;
+        }
+    
+        /*
+         * prevStarter points to the last character before the current one
+         * that is a "true" starter with cc==0 and quick check "yes".
+         *
+         * prevStarter will be used instead of looking for a true starter
+         * while incrementally decomposing [prevStarter..prevSrc[
+         * in _composePart(). Having a good prevStarter allows to just decompose
+         * the entire [prevStarter..prevSrc[.
+         *
+         * When _composePart() backs out from prevSrc back to prevStarter,
+         * then it also backs out destIndex by the same amount.
+         * Therefore, at all times, the (prevSrc-prevStarter) source units
+         * must correspond 1:1 to destination units counted with destIndex,
+         * except for reordering.
+         * This is true for the qc "yes" characters copied in the fast loop,
+         * and for pure reordering.
+         * prevStarter must be set forward to src when this is not true:
+         * In _composePart() and after composing a Hangul syllable.
+         *
+         * This mechanism relies on the assumption that the decomposition of a 
+         * true starter also begins with a true starter. gennorm/store.c checks 
+         * for this.
+         */
+        prevStarter=srcIndex;
+    
+        ccOrQCMask=CC_MASK|qcMask;
+        /*destIndex=*/reorderStartIndex=0;/* ####TODO#### check this **/
+        prevCC=0;
+    
+        /* avoid compiler warnings */
+        norm32=0;
+        c=0;
+    
+        for(;;) {
+            /* count code units below the minimum or with irrelevant data for 
+             * the quick check */
+            prevSrc=srcIndex;
+
+            while(srcIndex!=srcLimit && ((c=src[srcIndex])<minNoMaybe || 
+                     ((norm32=getNorm32(c))&ccOrQCMask)==0)) {
+                prevCC=0;
+                ++srcIndex;
+            }
+
+    
+            /* copy these code units all at once */
+            if(srcIndex!=prevSrc) {
+                length=(int)(srcIndex-prevSrc);
+                if((destIndex+length)<=destLimit) {
+                    System.arraycopy(src,prevSrc,dest,destIndex,length);
+                }
+                destIndex+=length;
+                reorderStartIndex=destIndex;
+    
+                /* set prevStarter to the last character in the quick check 
+                 * loop */
+                prevStarter=srcIndex-1;
+                if(UTF16.isTrailSurrogate(src[prevStarter]) && 
+                    prevSrc<prevStarter && 
+                    UTF16.isLeadSurrogate(src[(prevStarter-1)])) {
+                    --prevStarter;
+                }
+    
+                prevSrc=srcIndex;
+            }
+    
+            /* end of source reached? */
+            if(srcIndex==srcLimit) {
+                break;
+            }
+    
+            /* c already contains *src and norm32 is set for it, increment src*/
+            ++srcIndex;
+    
+            /*
+             * source buffer pointers:
+             *
+             *  all done      quick check   current char  not yet
+             *                "yes" but     (c, c2)       processed
+             *                may combine
+             *                forward
+             * [-------------[-------------[-------------[-------------[
+             * |             |             |             |             |
+             * start         prevStarter   prevSrc       src           limit
+             *
+             *
+             * destination buffer pointers and indexes:
+             *
+             *  all done      might take    not filled yet
+             *                characters for
+             *                reordering
+             * [-------------[-------------[-------------[
+             * |             |             |             |
+             * dest      reorderStartIndex destIndex     destCapacity
+             */
+    
+            /* check one above-minimum, relevant code unit */
+            /*
+             * norm32 is for c=*(src-1), and the quick check flag is "no" or 
+             * "maybe", and/or cc!=0
+             * check for Jamo V/T, then for surrogates and regular characters
+             * c is not a Hangul syllable or Jamo L because
+             * they are not marked with no/maybe for NFC & NFKC(and their cc==0)
+             */
+            if(isNorm32HangulOrJamo(norm32)) {
+                /*
+                 * c is a Jamo V/T:
+                 * try to compose with the previous character, Jamo V also with 
+                 * a following Jamo T, and set values here right now in case we 
+                 * just continue with the main loop
+                 */
+                prevCC=cc=0;
+                reorderStartIndex=destIndex;
+                ioIndex[0]=srcIndex;
+                if( 
+                    destIndex>0 &&
+                    composeHangul(src[(prevSrc-1)], c, norm32,src, ioIndex,
+                                  srcLimit, (options&OPTIONS_COMPAT)!=0, dest,
+                                  destIndex<=destLimit ? destIndex-1: 0,
+                                  nx)
+                ) {
+                    srcIndex=ioIndex[0];
+                    prevStarter=srcIndex;
+                    continue;
+                }
+                
+                srcIndex = ioIndex[0];
+    
+                /* the Jamo V/T did not compose into a Hangul syllable, just 
+                 * append to dest */
+                c2=0;
+                length=1;
+                prevStarter=prevSrc;
+            } else {
+                if(isNorm32Regular(norm32)) {
+                    c2=0;
+                    length=1;
+                } else {
+                    /* c is a lead surrogate, get the real norm32 */
+                    if(srcIndex!=srcLimit &&
+                                     UTF16.isTrailSurrogate(c2=src[srcIndex])) {
+                        ++srcIndex;
+                        length=2;
+                        norm32=getNorm32FromSurrogatePair(norm32, c2);
+                    } else {
+                        /* c is an unpaired lead surrogate, nothing to do */
+                        c2=0;
+                        length=1;
+                        norm32=0;
+                    }
+                }
+                ComposePartArgs args =new ComposePartArgs();
+                
+                /* we are looking at the character (c, c2) at [prevSrc..src[ */
+                if(nx_contains(nx, c, c2)) {
+                    /* excluded: norm32==0 */
+                    cc=0;
+                } else if((norm32&qcMask)==0) {
+                    cc=(int)((UNSIGNED_BYTE_MASK)&(norm32>>CC_SHIFT));
+                } else {
+                    char[] p;
+    
+                    /*
+                     * find appropriate boundaries around this character,
+                     * decompose the source text from between the boundaries,
+                     * and recompose it
+                     *
+                     * this puts the intermediate text into the side buffer because
+                     * it might be longer than the recomposition end result,
+                     * or the destination buffer may be too short or missing
+                     *
+                     * note that destIndex may be adjusted backwards to account
+                     * for source text that passed the quick check but needed to
+                     * take part in the recomposition
+                     */
+                    int decompQCMask=(qcMask<<2)&0xf; /* decomposition quick check mask */
+                    /*
+                     * find the last true starter in [prevStarter..src[
+                     * it is either the decomposition of the current character (at prevSrc),
+                     * or prevStarter
+                     */
+                    if(isTrueStarter(norm32, CC_MASK|qcMask, decompQCMask)) {
+                        prevStarter=prevSrc;
+                    } else {
+                        /* adjust destIndex: back out what had been copied with qc "yes" */
+                        destIndex-=prevSrc-prevStarter;
+                    }
+                
+                    /* find the next true starter in [src..limit[ */
+                    srcIndex=findNextStarter(src, srcIndex,srcLimit, qcMask, 
+                                               decompQCMask, minNoMaybe);
+                    //args.prevStarter = prevStarter;
+                    args.prevCC    = prevCC;                    
+                    //args.destIndex = destIndex;
+                    args.length = length;
+                    p=composePart(args,prevStarter,src,srcIndex,srcLimit,options,nx);
+                        
+                    if(p==null) {
+                        /* an error occurred (out of memory) */
+                        break;
+                    }
+                    
+                    prevCC      = args.prevCC;
+                    length      = args.length;
+                    
+                    /* append the recomposed buffer contents to the destination 
+                     * buffer */
+                    if((destIndex+args.length)<=destLimit) {
+                        int i=0;
+                        while(i<args.length) {
+                            dest[destIndex++]=p[i++];
+                            --length;
+                        }
+                    } else {
+                        /* buffer overflow */
+                        /* keep incrementing the destIndex for preflighting */
+                        destIndex+=length;
+                    }
+    
+                    prevStarter=srcIndex;
+                    continue;
+                }
+            }
+    
+            /* append the single code point (c, c2) to the destination buffer */
+            if((destIndex+length)<=destLimit) {
+                if(cc!=0 && cc<prevCC) {
+                    /* (c, c2) is out of order with respect to the preceding 
+                     * text */
+                    int reorderSplit= destIndex;
+                    destIndex+=length;
+                    prevCC=insertOrdered(dest,reorderStartIndex, reorderSplit, 
+                                         destIndex, c, c2, cc);
+                } else {
+                    /* just append (c, c2) */
+                    dest[destIndex++]=c;
+                    if(c2!=0) {
+                        dest[destIndex++]=c2;
+                    }
+                    prevCC=cc;
+                }
+            } else {
+                /* buffer overflow */
+                /* keep incrementing the destIndex for preflighting */
+                destIndex+=length;
+                prevCC=cc;
+            }
+        }
+
+        return destIndex - destStart;
+    }
+    /* make FCD --------------------------------------------------------------*/
+    
+    private static int/*index*/ findSafeFCD(char[] src, int start, int limit, 
+                                            char fcd16) {
+        char c, c2;
+    
+        /*
+         * find the first position in [src..limit[ after some cc==0 according 
+         * to FCD data
+         *
+         * at the beginning of the loop, we have fcd16 from before src
+         *
+         * stop at positions:
+         * - after trail cc==0
+         * - at the end of the source
+         * - before lead cc==0
+         */
+        for(;;) {
+            /* stop if trail cc==0 for the previous character */
+            if((fcd16&0xff)==0) {
+                break;
+            }
+    
+            /* get c=*src - stop at end of string */
+            if(start==limit) {
+                break;
+            }
+            c=src[start];
+    
+            /* stop if lead cc==0 for this character */
+            if(c<MIN_WITH_LEAD_CC || (fcd16=getFCD16(c))==0) {
+                break; /* catches terminating NUL, too */
+            }
+    
+            if(!UTF16.isLeadSurrogate(c)) {
+                if(fcd16<=0xff) {
+                    break;
+                }
+                ++start;
+            } else if(start+1!=limit && 
+                                    (UTF16.isTrailSurrogate(c2=src[start+1]))) {
+                /* c is a lead surrogate, get the real fcd16 */
+                fcd16=getFCD16FromSurrogatePair(fcd16, c2);
+                if(fcd16<=0xff) {
+                    break;
+                }
+                start+=2;
+            } else {
+                /* c is an unpaired first surrogate, lead cc==0 */
+                break;
+            }
+        }
+    
+        return start;
+    }
+    
+    private static int/*unsigned byte*/ decomposeFCD(char[] src, 
+                                                     int start,int decompLimit,
+                                                     char[] dest, 
+                                                     int[] destIndexArr,
+                                                     UnicodeSet nx) {
+        char[] p=null;
+        int pStart=-1;
+        
+        long /*unsigned int*/ norm32;
+        int reorderStartIndex;
+        char c, c2;
+        int/*unsigned byte*/ prevCC;
+        DecomposeArgs args = new DecomposeArgs();
+        int destIndex = destIndexArr[0];
+        /*
+         * canonically decompose [src..decompLimit[
+         *
+         * all characters in this range have some non-zero cc,
+         * directly or in decomposition,
+         * so that we do not need to check in the following for quick-check 
+         * limits etc.
+         *
+         * there _are_ _no_ Hangul syllables or Jamos in here because they are 
+         * FCD-safe (cc==0)!
+         *
+         * we also do not need to check for c==0 because we have an established 
+         * decompLimit
+         */
+        reorderStartIndex=destIndex;
+        prevCC=0;
+
+        while(start<decompLimit) {
+            c=src[start++];
+            norm32=getNorm32(c);
+            if(isNorm32Regular(norm32)) {
+                c2=0;
+                args.length=1;
+            } else {
+                /*
+                 * reminder: this function is called with [src..decompLimit[
+                 * not containing any Hangul/Jamo characters,
+                 * therefore the only specials are lead surrogates
+                 */
+                /* c is a lead surrogate, get the real norm32 */
+                if(start!=decompLimit && UTF16.isTrailSurrogate(c2=src[start])){
+                    ++start;
+                    args.length=2;
+                    norm32=getNorm32FromSurrogatePair(norm32, c2);
+                } else {
+                    c2=0;
+                    args.length=1;
+                    norm32=0;
+                }
+            }
+    
+            /* get the decomposition and the lead and trail cc's */
+            if(nx_contains(nx, c, c2)) {
+                /* excluded: norm32==0 */
+                args.cc=args.trailCC=0;
+                p=null;
+            } else if((norm32&QC_NFD)==0) {
+                /* c does not decompose */
+                args.cc=args.trailCC=(int)((UNSIGNED_BYTE_MASK)&
+                                                            (norm32>>CC_SHIFT));
+                p=null;
+            } else {
+                /* c decomposes, get everything from the variable-length extra 
+                 * data */
+                pStart=decompose(norm32, args);
+                p=extraData;
+                if(args.length==1) {
+                    /* fastpath a single code unit from decomposition */
+                    c=p[pStart];
+                    c2=0;
+                    p=null;
+                }
+            }
+    
+            /* append the decomposition to the destination buffer, assume 
+             * length>0 */
+            if((destIndex+args.length)<=dest.length) {
+                int reorderSplit=destIndex;
+                if(p==null) {
+                    /* fastpath: single code point */
+                    if(args.cc!=0 && args.cc<prevCC) {
+                        /* (c, c2) is out of order with respect to the preceding
+                         *  text */
+                        destIndex+=args.length;
+                        args.trailCC=insertOrdered(dest,reorderStartIndex, 
+                                                   reorderSplit, destIndex, 
+                                                   c, c2, args.cc);
+                    } else {
+                        /* just append (c, c2) */
+                        dest[destIndex++]=c;
+                        if(c2!=0) {
+                            dest[destIndex++]=c2;
+                        }
+                    }
+                } else {
+                    /* general: multiple code points (ordered by themselves) 
+                     * from decomposition */
+                    if(args.cc!=0 && args.cc<prevCC) {
+                        /* the decomposition is out of order with respect to 
+                         * the preceding text */
+                        destIndex+=args.length;
+                        args.trailCC=mergeOrdered(dest,reorderStartIndex, 
+                                                  reorderSplit, p, pStart,
+                                                  pStart+args.length);
+                    } else {
+                        /* just append the decomposition */
+                        do {
+                            dest[destIndex++]=p[pStart++];
+                        } while(--args.length>0);
+                    }
+                }
+            } else {
+                /* buffer overflow */
+                /* keep incrementing the destIndex for preflighting */
+                destIndex+=args.length;
+            }
+    
+            prevCC=args.trailCC;
+            if(prevCC==0) {
+                reorderStartIndex=destIndex;
+            }
+        }
+        destIndexArr[0]=destIndex;
+        return prevCC;
+    }
+    
+    public static int makeFCD(char[] src,  int srcStart,  int srcLimit,
+                              char[] dest, int destStart, int destLimit,
+                              UnicodeSet nx) {
+                           
+        int prevSrc, decompStart;
+        int destIndex, length;
+        char c, c2;
+        int /* unsigned int*/ fcd16;
+        int prevCC, cc;
+    
+        /* initialize */
+        decompStart=srcStart;
+        destIndex=destStart;
+        prevCC=0;
+        c=0;
+        fcd16=0;
+        int[] destIndexArr = new int[1];
+        destIndexArr[0]=destIndex;
+        
+        for(;;) {
+            /* skip a run of code units below the minimum or with irrelevant 
+             * data for the FCD check */
+            prevSrc=srcStart;
+
+            for(;;) {
+                if(srcStart==srcLimit) {
+                    break;
+                } else if((c=src[srcStart])<MIN_WITH_LEAD_CC) {
+                    prevCC=(int)-c;
+                } else if((fcd16=getFCD16(c))==0) {
+                    prevCC=0;
+                } else {
+                    break;
+                }
+                ++srcStart;
+            }
+
+    
+            /*
+             * prevCC has values from the following ranges:
+             * 0..0xff - the previous trail combining class
+             * <0      - the negative value of the previous code unit;
+             *           that code unit was <_NORM_MIN_WITH_LEAD_CC and its 
+             *           getFCD16()
+             *           was deferred so that average text is checked faster
+             */
+    
+            /* copy these code units all at once */
+            if(srcStart!=prevSrc) {
+                length=(int)(srcStart-prevSrc);
+                if((destIndex+length)<=destLimit) {
+                    System.arraycopy(src,prevSrc,dest,destIndex,length);
+                }
+                destIndex+=length;
+                prevSrc=srcStart;
+    
+                /* prevCC<0 is only possible from the above loop, i.e., only if
+                 *  prevSrc<src */
+                if(prevCC<0) {
+                    /* the previous character was <_NORM_MIN_WITH_LEAD_CC, we 
+                     * need to get its trail cc */
+                    if(!nx_contains(nx, (int)-prevCC)) {
+                        prevCC=(int)(getFCD16((int)-prevCC)&0xff);
+                    } else {
+                        prevCC=0; /* excluded: fcd16==0 */
+                    }
+                    /*
+                     * set a pointer to this below-U+0300 character;
+                     * if prevCC==0 then it will moved to after this character 
+                     * below
+                     */
+                    decompStart=prevSrc-1;
+                }
+            }
+            /*
+             * now:
+             * prevSrc==src - used later to adjust destIndex before 
+             *          decomposition
+             * prevCC>=0
+             */
+    
+            /* end of source reached? */
+            if(srcStart==srcLimit) {
+                break;
+            }
+    
+            /* set a pointer to after the last source position where prevCC==0*/
+            if(prevCC==0) {
+                decompStart=prevSrc;
+            }
+    
+            /* c already contains *src and fcd16 is set for it, increment src */
+            ++srcStart;
+    
+            /* check one above-minimum, relevant code unit */
+            if(UTF16.isLeadSurrogate(c)) {
+                /* c is a lead surrogate, get the real fcd16 */
+                if(srcStart!=srcLimit && 
+                                     UTF16.isTrailSurrogate(c2=src[srcStart])) {
+                    ++srcStart;
+                    fcd16=getFCD16FromSurrogatePair((char)fcd16, c2);
+                } else {
+                    c2=0;
+                    fcd16=0;
+                }
+            } else {
+                c2=0;
+            }
+    
+            /* we are looking at the character (c, c2) at [prevSrc..src[ */
+            if(nx_contains(nx, c, c2)) {
+                fcd16=0; /* excluded: fcd16==0 */
+            }
+            /* check the combining order, get the lead cc */
+            cc=(int)(fcd16>>8);
+            if(cc==0 || cc>=prevCC) {
+                /* the order is ok */
+                if(cc==0) {
+                    decompStart=prevSrc;
+                }
+                prevCC=(int)(fcd16&0xff);
+    
+                /* just append (c, c2) */
+                length= c2==0 ? 1 : 2;
+                if((destIndex+length)<=destLimit) {
+                    dest[destIndex++]=c;
+                    if(c2!=0) {
+                        dest[destIndex++]=c2;
+                    }
+                } else {
+                    destIndex+=length;
+                }
+            } else {
+                /*
+                 * back out the part of the source that we copied already but
+                 * is now going to be decomposed;
+                 * prevSrc is set to after what was copied
+                 */
+                destIndex-=(int)(prevSrc-decompStart);
+    
+                /*
+                 * find the part of the source that needs to be decomposed;
+                 * to be safe and simple, decompose to before the next character
+                 * with lead cc==0
+                 */
+                srcStart=findSafeFCD(src,srcStart, srcLimit, (char)fcd16);
+    
+                /*
+                 * the source text does not fulfill the conditions for FCD;
+                 * decompose and reorder a limited piece of the text
+                 */
+                destIndexArr[0] = destIndex;
+                prevCC=decomposeFCD(src,decompStart, srcStart,dest, 
+                                    destIndexArr,nx);
+                decompStart=srcStart;
+                destIndex=destIndexArr[0];
+            }
+        }
+        
+        return destIndex - destStart;
+    
+    }
+
+    public static int getCombiningClass(int c) {
+        long norm32;
+        norm32=getNorm32(c);
+        return (char)((norm32>>CC_SHIFT)&0xFF);
+    }
+    
+    public static boolean isFullCompositionExclusion(int c) {
+        if(isFormatVersion_2_1) {
+            int aux =AuxTrieImpl.auxTrie.getCodePointValue(c);
+            return (boolean)((aux & AUX_COMP_EX_MASK)!=0);
+        } else {
+            return false;
+        }
+    }
+    
+    public static boolean isCanonSafeStart(int c) {
+        if(isFormatVersion_2_1) {
+            int aux = AuxTrieImpl.auxTrie.getCodePointValue(c);
+            return (boolean)((aux & AUX_UNSAFE_MASK)==0);
+        } else {
+            return false;
+        }
+    }
+    
+    public static boolean getCanonStartSet(int c, USerializedSet fillSet) {
+
+        if(fillSet!=null && canonStartSets!=null) {
+             /*
+             * binary search for c
+             *
+             * There are two search tables,
+             * one for BMP code points and one for supplementary ones.
+             * See unormimp.h for details.
+             */
+            char[] table;
+            int i=0, start, limit;
+            
+            int[] indexes = (int[]) canonStartSets[CANON_SET_INDICIES_INDEX];
+            char[] startSets = (char[]) canonStartSets[CANON_SET_START_SETS_INDEX];
+            
+            if(c<=0xffff) {
+                table=(char[]) canonStartSets[CANON_SET_BMP_TABLE_INDEX];
+                start=0;
+                limit=table.length;
+    
+                /* each entry is a pair { c, result } */
+                while(start<limit-2) {
+                    i=(char)(((start+limit)/4)*2); 
+                    if(c<table[i]) {
+                        limit=i;
+                    } else {
+                        start=i;
+                    }
+                }
+                //System.out.println(i);
+                /* found? */
+                if(c==table[start]) {
+                    i=table[start+1];
+                    if((i & CANON_SET_BMP_MASK)==CANON_SET_BMP_IS_INDEX) {
+                        /* result 01xxxxxx xxxxxx contains index x to a 
+                         * USerializedSet */
+                        i&=(CANON_SET_MAX_CANON_SETS-1);
+                        return fillSet.getSet(startSets,(i-indexes.length));
+                    } else {
+                        /* other result values are BMP code points for 
+                         * single-code point sets */
+                        fillSet.setToOne(i);
+                        return true;
+                    }
+                }
+            } else {
+                char high, low, h,j=0;
+    
+                table=(char[]) canonStartSets[CANON_SET_SUPP_TABLE_INDEX];
+                start=0;
+                limit=table.length;
+    
+                high=(char)(c>>16);
+                low=(char)c;
+    
+                /* each entry is a triplet { high(c), low(c), result } */
+                while(start<limit-3) {
+                    /* (start+limit)/2 and address triplets */
+                    i=(char)(((start+limit)/6)*3);
+                    j=(char)(table[i]&0x1f); /* high word */
+                    int tableVal = table[i+1];
+                    int lowInt = low;
+                    if(high<j || ((tableVal>lowInt) && (high==j))) {
+                        limit=i;
+                    } else {
+                        start=i;
+                    }
+                    
+                    //System.err.println("\t((high==j) && (table[i+1]>low)) == " + ((high==j) && (tableVal>lowInt)) );
+                    
+                    // KLUDGE: IBM JIT in 1.4.0 is sooo broken
+                    // The below lines make TestExhaustive pass
+                    if(ICUDebug.enabled()){
+                        System.err.println("\t\t j = " + Utility.hex(j,4) +
+                                           "\t i = " + Utility.hex(i,4) +
+                                           "\t high = "+ Utility.hex(high)  +
+                                           "\t low = "  + Utility.hex(lowInt,4)   +
+                                           "\t table[i+1]: "+ Utility.hex(tableVal,4) 
+                                           );
+                    }
+                   
+                }
+
+                /* found? */
+                h=table[start];
+
+                //System.err.println("c: \\U"+ Integer.toHexString(c)+" i : "+Integer.toHexString(i) +" h : " + Integer.toHexString(h));
+                int tableVal1 = table[start+1];
+                int lowInt = low;
+
+                if(high==(h&0x1f) && lowInt==tableVal1) {
+                    int tableVal2 = table[start+2];
+                    i=tableVal2;
+                    if((h&0x8000)==0) {
+                        /* the result is an index to a USerializedSet */
+                        return fillSet.getSet(startSets,(i-indexes.length));
+                    } else {
+                        /*
+                         * single-code point set {x} in
+                         * triplet { 100xxxxx 000hhhhh  llllllll llllllll  xxxxxxxx xxxxxxxx }
+                         */
+                        //i|=((int)h & 0x1f00)<<8; /* add high bits from high(c) */
+                        int temp = ((int)h & 0x1f00)<<8;
+                        i|=temp; /* add high bits from high(c) */
+                        fillSet.setToOne((int)i);
+                        return true;
+                    }
+                }
+            }
+        }
+    
+        return false; /* not found */
+    }
+    
+    public static int getFC_NFKC_Closure(int c, char[] dest) {
+        
+        int destCapacity;
+         
+        if(dest==null ) {
+            destCapacity=0;
+        }else{
+            destCapacity = dest.length;
+        }
+        
+        int aux =AuxTrieImpl.auxTrie.getCodePointValue(c);
+
+        aux&= AUX_FNC_MASK;
+        if(aux!=0) {
+            int s;
+            int index=aux; 
+            int length;
+            
+            s =extraData[index];
+            if(s<0xff00) {
+                /* s points to the single-unit string */
+                length=1;
+            } else {
+                length=s&0xff;
+                ++index;
+            }
+            if(0<length && length<=destCapacity) {
+                System.arraycopy(extraData,index,dest,0,length);
+            }
+            return length;
+        } else {
+            return 0;
+        }
+    }
+
+
+    /* Is c an NF<mode>-skippable code point? See unormimp.h. */
+    public static boolean isNFSkippable(int c, Normalizer.Mode mode, long mask) {
+        long /*unsigned int*/ norm32;
+        mask = mask & UNSIGNED_INT_MASK;
+        char aux;
+   
+        /* check conditions (a)..(e), see unormimp.h */
+        norm32 = getNorm32(c);
+
+        if((norm32&mask)!=0) {
+            return false; /* fails (a)..(e), not skippable */
+        }
+    
+        if(mode == Normalizer.NFD || mode == Normalizer.NFKD || mode == Normalizer.NONE){
+            return true; /* NF*D, passed (a)..(c), is skippable */
+        }
+        /* check conditions (a)..(e), see unormimp.h */
+
+        /* NF*C/FCC, passed (a)..(e) */
+        if((norm32& QC_NFD)==0) {
+            return true; /* no canonical decomposition, is skippable */
+        }
+    
+        /* check Hangul syllables algorithmically */
+        if(isNorm32HangulOrJamo(norm32)) {
+            /* Jamo passed (a)..(e) above, must be Hangul */
+            return !isHangulWithoutJamoT((char)c); /* LVT are skippable, LV are not */
+        }
+    
+        /* if(mode<=UNORM_NFKC) { -- enable when implementing FCC */
+        /* NF*C, test (f) flag */
+        if(!isFormatVersion_2_2) {
+            return false; /* no (f) data, say not skippable to be safe */
+        }
+    
+
+        aux = AuxTrieImpl.auxTrie.getCodePointValue(c);
+        return (aux&AUX_NFC_SKIP_F_MASK)==0; /* TRUE=skippable if the (f) flag is not set */
+    
+        /* } else { FCC, test fcd<=1 instead of the above } */
+    }
+    
+    /*
+        private static final boolean
+    _enumPropertyStartsRange(const void *context, UChar32 start, UChar32 limit, uint32_t value) {
+        // add the start code point to the USet 
+        uset_add((USet *)context, start);
+        return TRUE;
+    }
+    */
+
+    public static UnicodeSet addPropertyStarts(UnicodeSet set) {
+        int c;
+       
+        /* add the start code point of each same-value range of each trie */
+        //utrie_enum(&normTrie, NULL, _enumPropertyStartsRange, set);
+        TrieIterator normIter = new TrieIterator(NormTrieImpl.normTrie);
+        RangeValueIterator.Element normResult = new RangeValueIterator.Element();
+        
+        while(normIter.next(normResult)){
+            set.add(normResult.start);
+        }
+        
+        //utrie_enum(&fcdTrie, NULL, _enumPropertyStartsRange, set);
+        TrieIterator fcdIter  = new TrieIterator(FCDTrieImpl.fcdTrie);
+        RangeValueIterator.Element fcdResult = new RangeValueIterator.Element();
+
+        while(fcdIter.next(fcdResult)){
+            set.add(fcdResult.start);
+        }
+        
+        if(isFormatVersion_2_1){
+            //utrie_enum(&auxTrie, NULL, _enumPropertyStartsRange, set);
+            TrieIterator auxIter  = new TrieIterator(AuxTrieImpl.auxTrie);
+            RangeValueIterator.Element auxResult = new RangeValueIterator.Element();
+            while(auxIter.next(auxResult)){
+                set.add(auxResult.start);
+            }
+        }
+        /* add Hangul LV syllables and LV+1 because of skippables */
+        for(c=HANGUL_BASE; c<HANGUL_BASE+HANGUL_COUNT; c+=JAMO_T_COUNT) {
+            set.add(c);
+            set.add(c+1);
+        }
+        set.add(HANGUL_BASE+HANGUL_COUNT); /* add Hangul+1 to continue with other properties */
+        return set; // for chaining
+    }
+
+    /**
+     * Internal API, used in UCharacter.getIntPropertyValue().
+     * @internal
+     * @param c code point
+     * @param modeValue numeric value compatible with Mode
+     * @return numeric value compatible with QuickCheck
+     */
+    public static final int quickCheck(int c, int modeValue) {
+        final int qcMask[/*UNORM_MODE_COUNT*/]={
+            0, 0, QC_NFD, QC_NFKD, QC_NFC, QC_NFKC
+        };
+
+        int norm32=(int)getNorm32(c)&qcMask[modeValue];
+
+        if(norm32==0) {
+            return 1; // YES
+        } else if((norm32&QC_ANY_NO)!=0) {
+            return 0; // NO
+        } else /* _NORM_QC_ANY_MAYBE */ {
+            return 2; // MAYBE;
+        }
+    }
+
+    /**
+     * Internal API, used by collation code.
+     * Get access to the internal FCD trie table to be able to perform
+     * incremental, per-code unit, FCD checks in collation.
+     * One pointer is sufficient because the trie index values are offset
+     * by the index size, so that the same pointer is used to access the trie 
+     * data.
+     * @internal
+     */
+    ///CLOVER:OFF
+    public CharTrie getFCDTrie(){
+        return FCDTrieImpl.fcdTrie;
+    }
+    ///CLOVER:ON
+
+
+    
+   /* compare canonically equivalent ---------------------------------------- */
+
+    /*
+     * Compare two strings for canonical equivalence.
+     * Further options include case-insensitive comparison and
+     * code point order (as opposed to code unit order).
+     *
+     * In this function, canonical equivalence is optional as well.
+     * If canonical equivalence is tested, then both strings must fulfill
+     * the FCD check.
+     *
+     * Semantically, this is equivalent to
+     *   strcmp[CodePointOrder](foldCase(NFD(s1)), foldCase(NFD(s2)))
+     * where code point order, NFD and foldCase are all optional.
+     *
+     * String comparisons almost always yield results before processing both 
+     * strings completely.
+     * They are generally more efficient working incrementally instead of
+     * performing the sub-processing (strlen, normalization, case-folding)
+     * on the entire strings first.
+     *
+     * It is also unnecessary to not normalize identical characters.
+     *
+     * This function works in principle as follows:
+     *
+     * loop {
+     *   get one code unit c1 from s1 (-1 if end of source)
+     *   get one code unit c2 from s2 (-1 if end of source)
+     *
+     *   if(either string finished) {
+     *     return result;
+     *   }
+     *   if(c1==c2) {
+     *     continue;
+     *   }
+     *
+     *   // c1!=c2
+     *   try to decompose/case-fold c1/c2, and continue if one does;
+     *
+     *   // still c1!=c2 and neither decomposes/case-folds, return result
+     *   return c1-c2;
+     * }
+     *
+     * When a character decomposes, then the pointer for that source changes to
+     * the decomposition, pushing the previous pointer onto a stack.
+     * When the end of the decomposition is reached, then the code unit reader
+     * pops the previous source from the stack.
+     * (Same for case-folding.)
+     *
+     * This is complicated further by operating on variable-width UTF-16.
+     * The top part of the loop works on code units, while lookups for decomposition
+     * and case-folding need code points.
+     * Code points are assembled after the equality/end-of-source part.
+     * The source pointer is only advanced beyond all code units when the code point
+     * actually decomposes/case-folds.
+     *
+     * If we were on a trail surrogate unit when assembling a code point,
+     * and the code point decomposes/case-folds, then the decomposition/folding
+     * result must be compared with the part of the other string that corresponds to
+     * this string's lead surrogate.
+     * Since we only assemble a code point when hitting a trail unit when the
+     * preceding lead units were identical, we back up the other string by one unit
+     * in such a case.
+     *
+     * The optional code point order comparison at the end works with
+     * the same fix-up as the other code point order comparison functions.
+     * See ustring.c and the comment near the end of this function.
+     *
+     * Assumption: A decomposition or case-folding result string never contains
+     * a single surrogate. This is a safe assumption in the Unicode Standard.
+     * Therefore, we do not need to check for surrogate pairs across
+     * decomposition/case-folding boundaries.
+     * Further assumptions (see verifications tstnorm.cpp):
+     * The API function checks for FCD first, while the core function
+     * first case-folds and then decomposes. This requires that case-folding does not
+     * un-FCD any strings.
+     *
+     * The API function may also NFD the input and turn off decomposition.
+     * This requires that case-folding does not un-NFD strings either.
+     *
+     * TODO If any of the above two assumptions is violated,
+     * then this entire code must be re-thought.
+     * If this happens, then a simple solution is to case-fold both strings up front
+     * and to turn off UNORM_INPUT_IS_FCD.
+     * We already do this when not both strings are in FCD because makeFCD
+     * would be a partial NFD before the case folding, which does not work.
+     * Note that all of this is only a problem when case-folding _and_
+     * canonical equivalence come together.
+     * 
+     * This function could be moved to a different source file, at increased cost
+     * for calling the decomposition access function.
+     */
+    
+    // stack element for previous-level source/decomposition pointers
+    private static class CmpEquivLevel {
+        char[] source;
+        int start;
+        int s;
+        int limit;
+    }
+    
+    /**
+     * Get the canonical decomposition for one code point.
+     * @param c code point
+     * @param buffer out-only buffer for algorithmic decompositions of Hangul
+     * @param length out-only, takes the length of the decomposition, if any
+     * @return index into the extraData array, or 0 if none
+     * @internal
+     */
+     private static int decompose(int c, char[] buffer) {
+        
+        long norm32;
+        int length=0;
+        norm32 = (long) ((UNSIGNED_INT_MASK) & NormTrieImpl.normTrie.getCodePointValue(c));
+        if((norm32 & QC_NFD)!=0) {
+            if(isNorm32HangulOrJamo(norm32)) {
+                /* Hangul syllable: decompose algorithmically */
+                char c2;
+    
+                c-=HANGUL_BASE;
+    
+                c2=(char)(c%JAMO_T_COUNT);
+                c/=JAMO_T_COUNT;
+                if(c2>0) {
+                    buffer[2]=(char)(JAMO_T_BASE+c2);
+                    length=3;
+                } else {
+                    length=2;
+                }
+                buffer[1]=(char)(JAMO_V_BASE+c%JAMO_V_COUNT);
+                buffer[0]=(char)(JAMO_L_BASE+c/JAMO_V_COUNT);
+                return length;
+            } else {
+                /* normal decomposition */
+                DecomposeArgs  args = new DecomposeArgs();
+                int index = decompose(norm32, args);
+                System.arraycopy(extraData,index,buffer,0,args.length);
+                return args.length ;
+            }
+        } else {
+            return 0;
+        }
+    }
+
+    private static int foldCase(int c, char[] dest, int destStart, int destLimit,
+                                 int options){
+        String src = UTF16.valueOf(c);
+        String foldedStr = UCharacter.foldCase(src,options);
+        char[] foldedC = foldedStr.toCharArray();
+        for(int i=0;i<foldedC.length;i++){
+            if(destStart<destLimit){
+                dest[destStart]=foldedC[i];
+            }
+            // always increment destStart so that we can return 
+            // the required length
+            destStart++;
+        }
+        return (c==UTF16.charAt(foldedStr,0)) ? -destStart : destStart;
+    }
+    
+    /*
+     private static int foldCase(char[] src,int srcStart,int srcLimit,
+                                char[] dest, int destStart, int destLimit,
+                                int options){
+        String source =new String(src,srcStart,(srcLimit-srcStart));
+        String foldedStr = UCharacter.foldCase(source,options);
+        char[] foldedC = foldedStr.toCharArray();
+        for(int i=0;i<foldedC.length;i++){
+            if(destStart<destLimit){
+                dest[destStart]=foldedC[i];
+            }
+            // always increment destStart so that we can return 
+            // the required length
+            destStart++;
+            
+        }
+        return destStart;
+    }
+    */
+    public static int cmpEquivFold(String s1, String s2,int options){
+        return cmpEquivFold(s1.toCharArray(),0,s1.length(),
+                            s2.toCharArray(),0,s2.length(),
+                            options);
+    }
+    
+    
+    // internal function
+    public static int cmpEquivFold(char[] s1, int s1Start,int s1Limit,
+                                   char[] s2, int s2Start,int s2Limit,
+                                   int options) {
+        // current-level start/limit - s1/s2 as current
+        int start1, start2, limit1, limit2;
+        char[] cSource1, cSource2;
+        
+        cSource1 = s1;
+        cSource2 = s2;
+        // decomposition variables
+        int length;
+    
+        // stacks of previous-level start/current/limit
+        CmpEquivLevel[] stack1 = new CmpEquivLevel[]{ 
+                                                    new CmpEquivLevel(),
+                                                    new CmpEquivLevel()
+                                                  };
+        CmpEquivLevel[] stack2 = new CmpEquivLevel[]{ 
+                                                    new CmpEquivLevel(),
+                                                    new CmpEquivLevel()
+                                                  };
+    
+        // decomposition buffers for Hangul
+        char[] decomp1 = new char[8];
+        char[] decomp2 = new char[8];
+    
+        // case folding buffers, only use current-level start/limit
+        char[] fold1 = new char[32];
+        char[] fold2 = new char[32];
+    
+        // track which is the current level per string
+        int level1, level2;
+    
+        // current code units, and code points for lookups
+        int c1, c2;
+        int cp1, cp2;
+    
+        // no argument error checking because this itself is not an API
+    
+        // assume that at least one of the options COMPARE_EQUIV and 
+        // COMPARE_IGNORE_CASE is set
+        // otherwise this function must behave exactly as uprv_strCompare()
+        // not checking for that here makes testing this function easier
+
+    
+        // initialize
+        start1=s1Start;
+        limit1=s1Limit;
+        
+        start2=s2Start;
+        limit2=s2Limit;
+        
+        level1=level2=0;
+        c1=c2=-1;
+        cp1=cp2=-1;
+        // comparison loop
+        for(;;) {
+            // here a code unit value of -1 means "get another code unit"
+            // below it will mean "this source is finished"
+    
+            if(c1<0) {
+                // get next code unit from string 1, post-increment
+                for(;;) {
+                    if(s1Start>=limit1) {
+                        if(level1==0) {
+                            c1=-1;
+                            break;
+                        }
+                    } else {
+                        c1=cSource1[s1Start];
+                        ++s1Start;
+                        break;
+                    }
+    
+                    // reached end of level buffer, pop one level
+                    do {
+                        --level1;
+                        start1=stack1[level1].start;
+                    } while(start1==-1); //###### check this
+                    s1Start=stack1[level1].s;
+                    limit1=stack1[level1].limit;
+                    cSource1=stack1[level1].source;
+                }
+            }
+    
+            if(c2<0) {
+                // get next code unit from string 2, post-increment
+                for(;;) {                    
+                    if(s2Start>=limit2) {
+                        if(level2==0) {
+                            c2=-1;
+                            break;
+                        }
+                    } else {
+                        c2=cSource2[s2Start];
+                        ++s2Start;
+                        break;
+                    }
+    
+                    // reached end of level buffer, pop one level
+                    do {
+                        --level2;
+                        start2=stack2[level2].start;
+                    } while(start2==-1);
+                    s2Start=stack2[level2].s;
+                    limit2=stack2[level2].limit;
+                    cSource2=stack2[level2].source;
+                }
+            }
+    
+            // compare c1 and c2
+            // either variable c1, c2 is -1 only if the corresponding string 
+            // is finished
+            if(c1==c2) {
+                if(c1<0) {
+                    return 0;   // c1==c2==-1 indicating end of strings
+                }
+                c1=c2=-1;       // make us fetch new code units
+                continue;
+            } else if(c1<0) {
+                return -1;      // string 1 ends before string 2
+            } else if(c2<0) {
+                return 1;       // string 2 ends before string 1
+            }
+            // c1!=c2 && c1>=0 && c2>=0
+    
+            // get complete code points for c1, c2 for lookups if either is a 
+            // surrogate
+            cp1=c1;
+            if(UTF16.isSurrogate((char)c1)) { 
+                char c;
+    
+                if(UTF16.isLeadSurrogate((char)c1)) {
+                    if(    s1Start!=limit1 && 
+                           UTF16.isTrailSurrogate(c=cSource1[s1Start])
+                      ) {
+                        // advance ++s1; only below if cp1 decomposes/case-folds
+                        cp1=UCharacterProperty.getRawSupplementary((char)c1, c);
+                    }
+                } else /* isTrail(c1) */ {
+                    if(    start1<=(s1Start-2) && 
+                            UTF16.isLeadSurrogate(c=cSource1[(s1Start-2)])
+                      ) {
+                        cp1=UCharacterProperty.getRawSupplementary(c, (char)c1);
+                    }
+                }
+            }
+            cp2=c2;
+            if(UTF16.isSurrogate((char)c2)) {
+                char c;
+    
+                if(UTF16.isLeadSurrogate((char)c2)) {
+                    if(    s2Start!=limit2 && 
+                           UTF16.isTrailSurrogate(c=cSource2[s2Start])
+                      ) {
+                        // advance ++s2; only below if cp2 decomposes/case-folds
+                        cp2=UCharacterProperty.getRawSupplementary((char)c2, c);
+                    }
+                } else /* isTrail(c2) */ {
+                    if(    start2<=(s2Start-2) &&  
+                           UTF16.isLeadSurrogate(c=cSource2[s2Start-2])
+                      ) {
+                        cp2=UCharacterProperty.getRawSupplementary(c, (char)c2);
+                    }
+                }
+            }
+    
+            // go down one level for each string
+            // continue with the main loop as soon as there is a real change
+            if( level1<2 && ((options & Normalizer.COMPARE_IGNORE_CASE)!=0)&&
+                (length=foldCase(cp1, fold1, 0,32,options))>=0
+            ) {
+                // cp1 case-folds to fold1[length]
+                if(UTF16.isSurrogate((char)c1)) {
+                    if(UTF16.isLeadSurrogate((char)c1)) {
+                        // advance beyond source surrogate pair if it 
+                        // case-folds
+                        ++s1Start;
+                    } else /* isTrail(c1) */ {
+                        // we got a supplementary code point when hitting its 
+                        // trail surrogate, therefore the lead surrogate must 
+                        // have been the same as in the other string;
+                        // compare this decomposition with the lead surrogate
+                        // in the other string
+                        --s2Start;
+                        c2=cSource2[(s2Start-1)];
+                    }
+                }
+    
+                // push current level pointers
+                stack1[0].start=start1;
+                stack1[0].s=s1Start;
+                stack1[0].limit=limit1;
+                stack1[0].source=cSource1;
+                ++level1;
+    
+                cSource1 = fold1;
+                start1=s1Start=0;
+                limit1=length;
+    
+                // get ready to read from decomposition, continue with loop
+                c1=-1;
+                continue;
+            }
+    
+            if( level2<2 && ((options& Normalizer.COMPARE_IGNORE_CASE)!=0) &&
+                (length=foldCase(cp2, fold2,0,32, options))>=0
+            ) {
+                // cp2 case-folds to fold2[length]
+                if(UTF16.isSurrogate((char)c2)) {
+                    if(UTF16.isLeadSurrogate((char)c2)) {
+                        // advance beyond source surrogate pair if it 
+                        // case-folds
+                        ++s2Start;
+                    } else /* isTrail(c2) */ {
+                        // we got a supplementary code point when hitting its 
+                        // trail surrogate, therefore the lead surrogate must 
+                        // have been the same as in the other string;
+                        // compare this decomposition with the lead surrogate 
+                        // in the other string
+                        --s1Start;
+                        c1=cSource1[(s1Start-1)];
+                    }
+                }
+    
+                // push current level pointers
+                stack2[0].start=start2;
+                stack2[0].s=s2Start;
+                stack2[0].limit=limit2;
+                stack2[0].source=cSource2;
+                ++level2;
+                
+                cSource2 = fold2;
+                start2=s2Start=0;
+                limit2=length;
+    
+                // get ready to read from decomposition, continue with loop
+                c2=-1;
+                continue;
+            }
+            
+            if( level1<2 && ((options&COMPARE_EQUIV)!=0) &&
+                0!=(length=decompose(cp1,decomp1))
+            ) {
+                // cp1 decomposes into p[length]
+                if(UTF16.isSurrogate((char)c1)) {
+                    if(UTF16.isLeadSurrogate((char)c1)) {
+                        // advance beyond source surrogate pair if it 
+                        //decomposes
+                        ++s1Start;
+                    } else /* isTrail(c1) */ {
+                        // we got a supplementary code point when hitting 
+                        // its trail surrogate, therefore the lead surrogate 
+                        // must have been the same as in the other string;
+                        // compare this decomposition with the lead surrogate 
+                        // in the other string
+                        --s2Start;
+                        c2=cSource2[(s2Start-1)];
+                    }
+                }
+    
+                // push current level pointers
+                stack1[level1].start=start1;
+                stack1[level1].s=s1Start;
+                stack1[level1].limit=limit1;
+                stack1[level1].source=cSource1;
+                ++level1;
+    
+                // set next level pointers to decomposition
+                cSource1 = decomp1;
+                start1=s1Start=0;
+                limit1=length;
+                
+                // set empty intermediate level if skipped
+                if(level1<2) {
+                    stack1[level1++].start=-1;
+                }
+                // get ready to read from decomposition, continue with loop
+                c1=-1;
+                continue;
+            }
+    
+            if( level2<2 && ((options&COMPARE_EQUIV)!=0) &&
+                0!=(length=decompose(cp2, decomp2))
+            ) {
+                // cp2 decomposes into p[length]
+                if(UTF16.isSurrogate((char)c2)) {
+                    if(UTF16.isLeadSurrogate((char)c2)) {
+                        // advance beyond source surrogate pair if it 
+                        // decomposes
+                        ++s2Start;
+                    } else /* isTrail(c2) */ {
+                        // we got a supplementary code point when hitting its 
+                        // trail surrogate, therefore the lead surrogate must 
+                        // have been the same as in the other string;
+                        // compare this decomposition with the lead surrogate 
+                        // in the other string
+                        --s1Start;
+                        c1=cSource1[(s1Start-1)];
+                    }
+                }
+    
+                // push current level pointers
+                stack2[level2].start=start2;
+                stack2[level2].s=s2Start;
+                stack2[level2].limit=limit2;
+                stack2[level2].source=cSource2;
+                ++level2;
+    
+                // set next level pointers to decomposition
+                cSource2=decomp2;
+                start2=s2Start=0;
+                limit2=length;
+                
+                // set empty intermediate level if skipped
+                if(level2<2) {
+                    stack2[level2++].start=-1;
+                }
+                
+                // get ready to read from decomposition, continue with loop
+                c2=-1;
+                continue;
+            }
+    
+    
+            // no decomposition/case folding, max level for both sides:
+            // return difference result
+    
+            // code point order comparison must not just return cp1-cp2
+            // because when single surrogates are present then the surrogate 
+            // pairs that formed cp1 and cp2 may be from different string 
+            // indexes
+    
+            // example: { d800 d800 dc01 } vs. { d800 dc00 }, compare at 
+            // second code units
+            // c1=d800 cp1=10001 c2=dc00 cp2=10000
+            // cp1-cp2>0 but c1-c2<0 and in fact in UTF-32 
+            // it is { d800 10001 } < { 10000 }
+            // therefore fix-up 
+    
+            if(     c1>=0xd800 && c2>=0xd800 && 
+                    ((options&Normalizer.COMPARE_CODE_POINT_ORDER)!=0)
+              ) {
+                /* subtract 0x2800 from BMP code points to make them smaller 
+                 * than supplementary ones */
+                if(
+                    (    c1<=0xdbff && s1Start!=limit1 
+                         && 
+                         UTF16.isTrailSurrogate(cSource1[s1Start])
+                    ) 
+                     ||
+                    (    UTF16.isTrailSurrogate((char)c1) && start1!=(s1Start-1) 
+                         && 
+                         UTF16.isLeadSurrogate(cSource1[(s1Start-2)])
+                    )
+                ) {
+                    /* part of a surrogate pair, leave >=d800 */
+                } else {
+                    /* BMP code point - may be surrogate code point - 
+                     * make <d800 */
+                    c1-=0x2800;
+                }
+    
+                if(
+                    (    c2<=0xdbff && s2Start!=limit2 
+                         && 
+                         UTF16.isTrailSurrogate(cSource2[s2Start])
+                    ) 
+                     ||
+                    (    UTF16.isTrailSurrogate((char)c2) && start2!=(s2Start-1) 
+                         && 
+                         UTF16.isLeadSurrogate(cSource2[(s2Start-2)])
+                    )
+                ) {
+                    /* part of a surrogate pair, leave >=d800 */
+                } else {
+                    /* BMP code point - may be surrogate code point - 
+                     * make <d800 */
+                    c2-=0x2800;
+                }
+            }
+    
+            return c1-c2;
+        }
+    }
+    private static int strCompare(char[] s1, int s1Start, int s1Limit,
+                                  char[] s2, int s2Start, int s2Limit,
+                                  boolean codePointOrder) {
+                        
+        int start1, start2, limit1, limit2;
+ 
+        char c1, c2;
+    
+        /* setup for fix-up */
+        start1=s1Start;
+        start2=s2Start;
+        
+        int length1, length2;
+        
+        length1 = s1Limit - s1Start;
+        length2 = s2Limit - s2Start;
+            
+        int lengthResult;
+
+        if(length1<length2) {
+            lengthResult=-1;
+            limit1=start1+length1;
+        } else if(length1==length2) {
+            lengthResult=0;
+            limit1=start1+length1;
+        } else /* length1>length2 */ {
+            lengthResult=1;
+            limit1=start1+length2;
+        }
+
+        if(s1==s2) {
+            return lengthResult;
+        }
+
+        for(;;) {
+            /* check pseudo-limit */
+            if(s1Start==limit1) {
+                return lengthResult;
+            }
+
+            c1=s1[s1Start];
+            c2=s2[s2Start];
+            if(c1!=c2) {
+                break;
+            }
+            ++s1Start;
+            ++s2Start;
+        }
+
+        /* setup for fix-up */
+        limit1=start1+length1;
+        limit2=start2+length2;
+
+    
+        /* if both values are in or above the surrogate range, fix them up */
+        if(c1>=0xd800 && c2>=0xd800 && codePointOrder) {
+            /* subtract 0x2800 from BMP code points to make them smaller than
+             *  supplementary ones */
+            if(
+                ( c1<=0xdbff && (s1Start+1)!=limit1 && 
+                  UTF16.isTrailSurrogate(s1[(s1Start+1)])
+                ) ||
+                ( UTF16.isTrailSurrogate(c1) && start1!=s1Start && 
+                  UTF16.isLeadSurrogate(s1[(s1Start-1)])
+                )
+            ) {
+                /* part of a surrogate pair, leave >=d800 */
+            } else {
+                /* BMP code point - may be surrogate code point - make <d800 */
+                c1-=0x2800;
+            }
+    
+            if(
+                ( c2<=0xdbff && (s2Start+1)!=limit2 && 
+                  UTF16.isTrailSurrogate(s2[(s2Start+1)])
+                ) ||
+                ( UTF16.isTrailSurrogate(c2) && start2!=s2Start && 
+                  UTF16.isLeadSurrogate(s2[(s2Start-1)])
+                )
+            ) {
+                /* part of a surrogate pair, leave >=d800 */
+            } else {
+                /* BMP code point - may be surrogate code point - make <d800 */
+                c2-=0x2800;
+            }
+        }
+    
+        /* now c1 and c2 are in UTF-32-compatible order */
+        return (int)c1-(int)c2;
+    }
+
+
+    /*
+     * Status of tailored normalization
+     *
+     * This was done initially for investigation on Unicode public review issue 7
+     * (http://www.unicode.org/review/). See Jitterbug 2481.
+     * While the UTC at meeting #94 (2003mar) did not take up the issue, this is
+     * a permanent feature in ICU 2.6 in support of IDNA which requires true
+     * Unicode 3.2 normalization.
+     * (NormalizationCorrections are rolled into IDNA mapping tables.)
+     *
+     * Tailored normalization as implemented here allows to "normalize less"
+     * than full Unicode normalization would.
+     * Based internally on a UnicodeSet of code points that are
+     * "excluded from normalization", the normalization functions leave those
+     * code points alone ("inert"). This means that tailored normalization
+     * still transforms text into a canonically equivalent form.
+     * It does not add decompositions to code points that do not have any or
+     * change decomposition results.
+     *
+     * Any function that searches for a safe boundary has not been touched,
+     * which means that these functions will be over-pessimistic when
+     * exclusions are applied.
+     * This should not matter because subsequent checks and normalizations
+     * do apply the exclusions; only a little more of the text may be processed
+     * than necessary under exclusions.
+     *
+     * Normalization exclusions have the following effect on excluded code points c:
+     * - c is not decomposed
+     * - c is not a composition target
+     * - c does not combine forward or backward for composition
+     *   except that this is not implemented for Jamo
+     * - c is treated as having a combining class of 0
+     */
+     
+    /* 
+     * Constants for the bit fields in the options bit set parameter. 
+     * These need not be public. 
+     * A user only needs to know the currently assigned values. 
+     * The number and positions of reserved bits per field can remain private. 
+     */ 
+    private static final int OPTIONS_NX_MASK=0x1f;
+    private static final int OPTIONS_UNICODE_MASK=0xe0; 
+    public  static final int OPTIONS_SETS_MASK=0xff;
+    private static final int OPTIONS_UNICODE_SHIFT=5;
+    private static final UnicodeSet[] nxCache = new UnicodeSet[OPTIONS_SETS_MASK+1];
+     
+    /* Constants for options flags for normalization.*/
+
+    /** 
+     * Options bit 0, do not decompose Hangul syllables. 
+     * @draft ICU 2.6 
+     */
+    private static final int NX_HANGUL = 1;
+    /** 
+     * Options bit 1, do not decompose CJK compatibility characters.
+     * @draft ICU 2.6 
+     */
+    private static final int NX_CJK_COMPAT=2;
+    /**
+     * Options bit 8, use buggy recomposition described in
+     * Unicode Public Review Issue #29
+     * at http://www.unicode.org/review/resolved-pri.html#pri29
+     *
+     * Used in IDNA implementation according to strict interpretation
+     * of IDNA definition based on Unicode 3.2 which predates PRI #29.
+     *
+     * See ICU4C unormimp.h
+     * 
+     * @draft ICU 3.2
+     */
+    public static final int BEFORE_PRI_29=0x100;
+
+    /*
+     * The following options are used only in some composition functions.
+     * They use bits 12 and up to preserve lower bits for the available options
+     * space in unorm_compare() -
+     * see documentation for UNORM_COMPARE_NORM_OPTIONS_SHIFT.
+     */
+
+    /** Options bit 12, for compatibility vs. canonical decomposition. */
+    public static final int OPTIONS_COMPAT=0x1000;
+    /** Options bit 13, no discontiguous composition (FCC vs. NFC). */
+    public static final int OPTIONS_COMPOSE_CONTIGUOUS=0x2000;
+
+    /* normalization exclusion sets --------------------------------------------- */
+    
+    /*
+     * Normalization exclusion UnicodeSets are used for tailored normalization;
+     * see the comment near the beginning of this file.
+     *
+     * By specifying one or several sets of code points,
+     * those code points become inert for normalization.
+     */
+    private static final synchronized UnicodeSet internalGetNXHangul() {
+        /* internal function, does not check for incoming U_FAILURE */
+    
+        if(nxCache[NX_HANGUL]==null) {
+             nxCache[NX_HANGUL]=new UnicodeSet(0xac00, 0xd7a3);
+        }
+        return nxCache[NX_HANGUL];
+    }
+    
+    private static final synchronized UnicodeSet internalGetNXCJKCompat() {
+        /* internal function, does not check for incoming U_FAILURE */
+    
+        if(nxCache[NX_CJK_COMPAT]==null) {
+
+            /* build a set from [CJK Ideographs]&[has canonical decomposition] */
+            UnicodeSet set, hasDecomp;
+    
+            set=new UnicodeSet("[:Ideographic:]");
+    
+            /* start with an empty set for [has canonical decomposition] */
+            hasDecomp=new UnicodeSet();
+    
+            /* iterate over all ideographs and remember which canonically decompose */
+            UnicodeSetIterator it = new UnicodeSetIterator(set);
+            int start, end;
+            long norm32;
+    
+            while(it.nextRange() && (it.codepoint != UnicodeSetIterator.IS_STRING)) {
+                start=it.codepoint;
+                end=it.codepointEnd;
+                while(start<=end) {
+                    norm32 = getNorm32(start);
+                    if((norm32 & QC_NFD)>0) {
+                        hasDecomp.add(start);
+                    }
+                    ++start;
+                }
+            }
+    
+            /* hasDecomp now contains all ideographs that decompose canonically */
+             nxCache[NX_CJK_COMPAT]=hasDecomp;
+         
+        }
+    
+        return nxCache[NX_CJK_COMPAT];
+    }
+    
+    private static final synchronized UnicodeSet internalGetNXUnicode(int options) {
+        options &= OPTIONS_UNICODE_MASK;
+        if(options==0) {
+            return null;
+        }
+    
+        if(nxCache[options]==null) {
+            /* build a set with all code points that were not designated by the specified Unicode version */
+            UnicodeSet set = new UnicodeSet();
+
+            switch(options) {
+            case Normalizer.UNICODE_3_2:
+                set.applyPattern("[:^Age=3.2:]");
+                break;
+            default:
+                return null;
+            }
+            
+            nxCache[options]=set;
+        }
+    
+        return nxCache[options];
+    }
+    
+    /* Get a decomposition exclusion set. The data must be loaded. */
+    private static final synchronized UnicodeSet internalGetNX(int options) {
+        options&=OPTIONS_SETS_MASK;
+    
+        if(nxCache[options]==null) {
+            /* return basic sets */            
+            if(options==NX_HANGUL) {
+                return internalGetNXHangul();
+            }
+            if(options==NX_CJK_COMPAT) {
+                return internalGetNXCJKCompat();
+            }
+            if((options & OPTIONS_UNICODE_MASK)!=0 && (options & OPTIONS_NX_MASK)==0) {
+                return internalGetNXUnicode(options);
+            }
+    
+            /* build a set from multiple subsets */
+            UnicodeSet set;
+            UnicodeSet other;
+    
+            set=new UnicodeSet();
+
+    
+            if((options & NX_HANGUL)!=0 && null!=(other=internalGetNXHangul())) {
+                set.addAll(other);
+            }
+            if((options&NX_CJK_COMPAT)!=0 && null!=(other=internalGetNXCJKCompat())) {
+                set.addAll(other);
+            }
+            if((options&OPTIONS_UNICODE_MASK)!=0 && null!=(other=internalGetNXUnicode(options))) {
+                set.addAll(other);
+            }
+
+               nxCache[options]=set;
+        }
+        return nxCache[options];
+    }
+    
+    public static final UnicodeSet getNX(int options) {
+        if((options&=OPTIONS_SETS_MASK)==0) {
+            /* incoming failure, or no decomposition exclusions requested */
+            return null;
+        } else {
+            return internalGetNX(options);
+        }
+    }
+    
+    private static final boolean nx_contains(UnicodeSet nx, int c) {
+        return nx!=null && nx.contains(c);
+    }
+    
+    private static final boolean nx_contains(UnicodeSet nx, char c, char c2) {
+        return nx!=null && nx.contains(c2==0 ? c : UCharacterProperty.getRawSupplementary(c, c2));
+    }
+
+
+}
diff --git a/src/com/ibm/icu/impl/ReplaceableUCharacterIterator.java b/src/com/ibm/icu/impl/ReplaceableUCharacterIterator.java
new file mode 100644
index 0000000..2518bd1
--- /dev/null
+++ b/src/com/ibm/icu/impl/ReplaceableUCharacterIterator.java
@@ -0,0 +1,203 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.impl;
+
+import com.ibm.icu.text.*;
+import com.ibm.icu.text.Replaceable;
+import com.ibm.icu.text.ReplaceableString;
+import com.ibm.icu.text.UTF16;    
+
+/**
+ * DLF docs must define behavior when Replaceable is mutated underneath
+ * the iterator.
+ *
+ * This and ICUCharacterIterator share some code, maybe they should share
+ * an implementation, or the common state and implementation should be
+ * moved up into UCharacterIterator.
+ *
+ * What are first, last, and getBeginIndex doing here?!?!?!
+ */
+public class ReplaceableUCharacterIterator extends UCharacterIterator {
+
+    // public constructor ------------------------------------------------------
+    
+    /**
+     * Public constructor
+     * @param replaceable text which the iterator will be based on
+     */
+    public ReplaceableUCharacterIterator(Replaceable replaceable){
+        if(replaceable==null){
+            throw new IllegalArgumentException();
+        }
+        this.replaceable  = replaceable;
+        this.currentIndex = 0;
+    }
+    
+    /**
+     * Public constructor
+     * @param str text which the iterator will be based on
+     */
+    public ReplaceableUCharacterIterator(String str){
+        if(str==null){
+            throw new IllegalArgumentException();
+        }
+        this.replaceable  = new ReplaceableString(str);
+        this.currentIndex = 0;
+    }
+    
+    /**
+     * Public constructor
+     * @param buf buffer of text on which the iterator will be based
+     */
+    public ReplaceableUCharacterIterator(StringBuffer buf){
+        if(buf==null){
+            throw new IllegalArgumentException();
+        }
+        this.replaceable  = new ReplaceableString(buf);
+        this.currentIndex = 0;
+    }
+    
+    // public methods ----------------------------------------------------------
+    
+    /**
+     * Creates a copy of this iterator, does not clone the underlying 
+     * <code>Replaceable</code>object
+     * @return copy of this iterator
+     */
+    public Object clone(){
+        try {
+          return super.clone();
+        } catch (CloneNotSupportedException e) {
+            return null; // never invoked
+        }
+    }
+    
+    /**
+     * Returns the current UTF16 character.
+     * @return current UTF16 character
+     */
+    public int current(){
+        if (currentIndex < replaceable.length()) {
+            return replaceable.charAt(currentIndex);
+        }
+        return DONE;
+    }
+    
+    /**
+     * Returns the current codepoint
+     * @return current codepoint
+     */
+    public int currentCodePoint(){
+        // cannot use charAt due to it different 
+        // behaviour when index is pointing at a
+        // trail surrogate, check for surrogates
+         
+        int ch = current();
+        if(UTF16.isLeadSurrogate((char)ch)){
+            // advance the index to get the next code point
+            next();
+            // due to post increment semantics current() after next() 
+            // actually returns the next char which is what we want
+            int ch2 = current();
+            // current should never change the current index so back off
+            previous();
+            
+            if(UTF16.isTrailSurrogate((char)ch2)){
+                // we found a surrogate pair
+                return UCharacterProperty.getRawSupplementary(
+                                                         (char)ch,(char)ch2
+                                                             );
+            }
+        }
+        return ch;
+    }
+    
+    /**
+     * Returns the length of the text
+     * @return length of the text
+     */
+    public int getLength(){
+        return replaceable.length();
+    }
+    
+    /**
+     * Gets the current currentIndex in text.
+     * @return current currentIndex in text.
+     */
+    public int getIndex(){
+        return currentIndex;
+    }
+        
+    /**
+     * Returns next UTF16 character and increments the iterator's currentIndex by 1. 
+     * If the resulting currentIndex is greater or equal to the text length, the 
+     * currentIndex is reset to the text length and a value of DONECODEPOINT is 
+     * returned. 
+     * @return next UTF16 character in text or DONE if the new currentIndex is off the 
+     *         end of the text range.
+     */
+    public int next(){
+        if (currentIndex < replaceable.length()) {
+            return replaceable.charAt(currentIndex++);
+        }
+        return DONE;
+    }
+    
+                
+    /**
+     * Returns previous UTF16 character and decrements the iterator's currentIndex by 
+     * 1. 
+     * If the resulting currentIndex is less than 0, the currentIndex is reset to 0 and a 
+     * value of DONECODEPOINT is returned. 
+     * @return next UTF16 character in text or DONE if the new currentIndex is off the 
+     *         start of the text range.
+     */
+    public int previous(){
+        if (currentIndex > 0) {
+            return replaceable.charAt(--currentIndex);
+        }
+        return DONE;
+    }
+
+    /**
+     * <p>Sets the currentIndex to the specified currentIndex in the text and returns that 
+     * single UTF16 character at currentIndex. 
+     * This assumes the text is stored as 16-bit code units.</p>
+     * @param currentIndex the currentIndex within the text. 
+     * @exception IllegalArgumentException is thrown if an invalid currentIndex is 
+     *            supplied. i.e. currentIndex is out of bounds.
+     * @returns the character at the specified currentIndex or DONE if the specified 
+     *         currentIndex is equal to the end of the text.
+     */
+    public void setIndex(int currentIndex) throws IndexOutOfBoundsException{
+        if (currentIndex < 0 || currentIndex > replaceable.length()) {
+            throw new IndexOutOfBoundsException();
+        }
+        this.currentIndex = currentIndex;
+    }
+    
+    public int getText(char[] fillIn, int offset){
+        int length = replaceable.length();
+        if(offset < 0 || offset + length > fillIn.length){
+            throw new IndexOutOfBoundsException(Integer.toString(length));
+        }
+        replaceable.getChars(0,length,fillIn,offset);
+        return length;
+    }       
+        
+    // private data members ----------------------------------------------------
+    
+    /**
+     * Replacable object
+     */
+    private Replaceable replaceable;
+    /**
+     * Current currentIndex
+     */
+    private int currentIndex;
+
+}
diff --git a/src/com/ibm/icu/impl/ResourceBundleWrapper.java b/src/com/ibm/icu/impl/ResourceBundleWrapper.java
new file mode 100644
index 0000000..a7aa8c3
--- /dev/null
+++ b/src/com/ibm/icu/impl/ResourceBundleWrapper.java
@@ -0,0 +1,65 @@
+/*
+******************************************************************************
+* Copyright (C) 2004, International Business Machines Corporation and        *
+* others. All Rights Reserved.                                               *
+******************************************************************************
+*/
+
+package com.ibm.icu.impl;
+
+import java.util.Enumeration;
+import java.util.MissingResourceException;
+import java.util.ResourceBundle;
+
+import com.ibm.icu.util.ULocale;
+import com.ibm.icu.util.UResourceBundle;
+
+/**
+ * just a wrapper for Java ListResourceBundles and 
+ * @author ram
+ *
+ */
+public class ResourceBundleWrapper extends UResourceBundle {
+    ResourceBundle bundle = null;
+    public ResourceBundleWrapper(String baseName, String localeID, ClassLoader loader){
+        if(baseName.indexOf('.')>-1){
+            bundle = ResourceBundle.getBundle(baseName, LocaleUtility.getLocaleFromName(localeID), loader);   
+        }else{
+            bundle = ICULocaleData.getResourceBundle(baseName, new ULocale(localeID));
+            if(bundle==null){
+                throw new MissingResourceException("Can't find the bundle "
+                        +baseName
+                        +", locale "+localeID,
+                        this.getClass().getName(),
+                        localeID);  
+            }
+        }
+    }
+    private int loadingStatus = -1;
+    protected void setLoadingStatus(int newStatus){
+        loadingStatus = newStatus;
+    }
+    protected Object handleGetObject(String key){
+       return bundle.getObject(key);   
+    }
+    public Enumeration getKeys(){
+        return bundle.getKeys();   
+    }
+    
+    protected String getLocaleID(){
+        return bundle.getLocale().toString();   
+    }
+ 
+    protected String getBaseName(){
+        return bundle.getClass().getName().replace('.','/');   
+    }
+    
+    public ULocale getULocale(){
+        return ULocale.forLocale(bundle.getLocale());   
+    }
+    
+    public UResourceBundle getParent(){
+        return (UResourceBundle)parent;   
+    }
+
+}
diff --git a/src/com/ibm/icu/impl/RuleCharacterIterator.java b/src/com/ibm/icu/impl/RuleCharacterIterator.java
new file mode 100644
index 0000000..dcde50b
--- /dev/null
+++ b/src/com/ibm/icu/impl/RuleCharacterIterator.java
@@ -0,0 +1,345 @@
+/*
+**********************************************************************
+* Copyright (c) 2003, International Business Machines
+* Corporation and others.  All Rights Reserved.
+**********************************************************************
+* Author: Alan Liu
+* Created: September 23 2003
+* Since: ICU 2.8
+**********************************************************************
+*/
+package com.ibm.icu.impl;
+
+import java.text.ParsePosition;
+import com.ibm.icu.text.SymbolTable;
+import com.ibm.icu.text.UTF16;
+
+/**
+ * An iterator that returns 32-bit code points.  This class is deliberately
+ * <em>not</em> related to any of the JDK or ICU4J character iterator classes
+ * in order to minimize complexity.
+ * @author Alan Liu
+ * @since ICU 2.8
+ */
+public class RuleCharacterIterator {
+
+    // TODO: Ideas for later.  (Do not implement if not needed, lest the
+    // code coverage numbers go down due to unused methods.)
+    // 1. Add a copy constructor, equals() method, clone() method.
+    // 2. Rather than return DONE, throw an exception if the end
+    // is reached -- this is an alternate usage model, probably not useful.
+    // 3. Return isEscaped from next().  If this happens,
+    // don't keep an isEscaped member variable.
+
+    /**
+     * Text being iterated.
+     */    
+    private String text;
+
+    /**
+     * Position of iterator.
+     */
+    private ParsePosition pos;
+
+    /**
+     * Symbol table used to parse and dereference variables.  May be null.
+     */
+    private SymbolTable sym;
+
+    /**
+     * Current variable expansion, or null if none.
+     */
+    private char[] buf;
+
+    /**
+     * Position within buf[].  Meaningless if buf == null.
+     */
+    private int bufPos;
+
+    /**
+     * Flag indicating whether the last character was parsed from an escape.
+     */
+    private boolean isEscaped;
+
+    /**
+     * Value returned when there are no more characters to iterate.
+     */
+    public static final int DONE = -1;
+
+    /**
+     * Bitmask option to enable parsing of variable names.  If (options &
+     * PARSE_VARIABLES) != 0, then an embedded variable will be expanded to
+     * its value.  Variables are parsed using the SymbolTable API.
+     */
+    public static final int PARSE_VARIABLES = 1;
+
+    /**
+     * Bitmask option to enable parsing of escape sequences.  If (options &
+     * PARSE_ESCAPES) != 0, then an embedded escape sequence will be expanded
+     * to its value.  Escapes are parsed using Utility.unescapeAt().
+     */
+    public static final int PARSE_ESCAPES   = 2;    
+
+    /**
+     * Bitmask option to enable skipping of whitespace.  If (options &
+     * SKIP_WHITESPACE) != 0, then whitespace characters will be silently
+     * skipped, as if they were not present in the input.  Whitespace
+     * characters are defined by UCharacterProperty.isRuleWhiteSpace().
+     */
+    public static final int SKIP_WHITESPACE = 4;
+
+    /**
+     * Constructs an iterator over the given text, starting at the given
+     * position.
+     * @param text the text to be iterated
+     * @param sym the symbol table, or null if there is none.  If sym is null,
+     * then variables will not be deferenced, even if the PARSE_VARIABLES
+     * option is set.
+     * @param pos upon input, the index of the next character to return.  If a
+     * variable has been dereferenced, then pos will <em>not</em> increment as
+     * characters of the variable value are iterated.
+     */
+    public RuleCharacterIterator(String text, SymbolTable sym,
+                                 ParsePosition pos) {
+        if (text == null || pos.getIndex() > text.length()) {
+            throw new IllegalArgumentException();
+        }
+        this.text = text;
+        this.sym = sym;
+        this.pos = pos;
+        buf = null;
+    }
+    
+    /**
+     * Returns true if this iterator has no more characters to return.
+     */
+    public boolean atEnd() {
+        return buf == null && pos.getIndex() == text.length();
+    }
+
+    /**
+     * Returns the next character using the given options, or DONE if there
+     * are no more characters, and advance the position to the next
+     * character.
+     * @param options one or more of the following options, bitwise-OR-ed
+     * together: PARSE_VARIABLES, PARSE_ESCAPES, SKIP_WHITESPACE.
+     * @return the current 32-bit code point, or DONE
+     */
+    public int next(int options) {
+        int c = DONE;
+        isEscaped = false;
+
+        for (;;) {
+            c = _current();
+            _advance(UTF16.getCharCount(c));
+
+            if (c == SymbolTable.SYMBOL_REF && buf == null &&
+                (options & PARSE_VARIABLES) != 0 && sym != null) {
+                String name = sym.parseReference(text, pos, text.length());
+                // If name == null there was an isolated SYMBOL_REF;
+                // return it.  Caller must be prepared for this.
+                if (name == null) {
+                    break;
+                }
+                bufPos = 0;
+                buf = sym.lookup(name);
+                if (buf == null) {
+                    throw new IllegalArgumentException(
+                                "Undefined variable: " + name);
+                }
+                // Handle empty variable value
+                if (buf.length == 0) {
+                    buf = null;
+                }
+                continue;
+            }
+
+            if ((options & SKIP_WHITESPACE) != 0 &&
+                UCharacterProperty.isRuleWhiteSpace(c)) {
+                continue;
+            }
+
+            if (c == '\\' && (options & PARSE_ESCAPES) != 0) {
+                int offset[] = new int[] { 0 };
+                c = Utility.unescapeAt(lookahead(), offset);
+                jumpahead(offset[0]);
+                isEscaped = true;
+                if (c < 0) {
+                    throw new IllegalArgumentException("Invalid escape");
+                }
+            }
+
+            break;
+        }
+
+        return c;
+    }
+
+    /**
+     * Returns true if the last character returned by next() was
+     * escaped.  This will only be the case if the option passed in to
+     * next() included PARSE_ESCAPED and the next character was an
+     * escape sequence.
+     */
+    public boolean isEscaped() {
+        return isEscaped;
+    }
+
+    /**
+     * Returns true if this iterator is currently within a variable expansion.
+     */
+    public boolean inVariable() {
+        return buf != null;
+    }
+
+    /**
+     * Returns an object which, when later passed to setPos(), will
+     * restore this iterator's position.  Usage idiom:
+     *
+     * RuleCharacterIterator iterator = ...;
+     * Object pos = iterator.getPos(null); // allocate position object
+     * for (;;) {
+     *   pos = iterator.getPos(pos); // reuse position object
+     *   int c = iterator.next(...);
+     *   ...
+     * }
+     * iterator.setPos(pos);
+     *
+     * @param p a position object previously returned by getPos(),
+     * or null.  If not null, it will be updated and returned.  If
+     * null, a new position object will be allocated and returned.
+     * @return a position object which may be passed to setPos(),
+     * either `p,' or if `p' == null, a newly-allocated object
+     */
+    public Object getPos(Object p) {
+        if (p == null) {
+            return new Object[] {buf, new int[] {pos.getIndex(), bufPos}};
+        }
+        Object[] a = (Object[]) p;
+        a[0] = buf;
+        int[] v = (int[]) a[1];
+        v[0] = pos.getIndex();
+        v[1] = bufPos;
+        return p;
+    }
+
+    /**
+     * Restores this iterator to the position it had when getPos()
+     * returned the given object.
+     * @param p a position object previously returned by getPos()
+     */
+    public void setPos(Object p) {
+        Object[] a = (Object[]) p;
+        buf = (char[]) a[0];
+        int[] v = (int[]) a[1];
+        pos.setIndex(v[0]);
+        bufPos = v[1];
+    }
+
+    /**
+     * Skips ahead past any ignored characters, as indicated by the given
+     * options.  This is useful in conjunction with the lookahead() method.
+     *
+     * Currently, this only has an effect for SKIP_WHITESPACE.
+     * @param options one or more of the following options, bitwise-OR-ed
+     * together: PARSE_VARIABLES, PARSE_ESCAPES, SKIP_WHITESPACE.
+     */
+    public void skipIgnored(int options) {
+        if ((options & SKIP_WHITESPACE) != 0) {
+            for (;;) {
+                int a = _current();
+                if (!UCharacterProperty.isRuleWhiteSpace(a)) break;
+                _advance(UTF16.getCharCount(a));
+            }
+        }
+    }
+
+    /**
+     * Returns a string containing the remainder of the characters to be
+     * returned by this iterator, without any option processing.  If the
+     * iterator is currently within a variable expansion, this will only
+     * extend to the end of the variable expansion.  This method is provided
+     * so that iterators may interoperate with string-based APIs.  The typical
+     * sequence of calls is to call skipIgnored(), then call lookahead(), then
+     * parse the string returned by lookahead(), then call jumpahead() to
+     * resynchronize the iterator.
+     * @return a string containing the characters to be returned by future
+     * calls to next()
+     */
+    public String lookahead() {
+        if (buf != null) {
+            return new String(buf, bufPos, buf.length - bufPos);
+        } else {
+            return text.substring(pos.getIndex());
+        }
+    }
+
+    /**
+     * Advances the position by the given number of 16-bit code units.
+     * This is useful in conjunction with the lookahead() method.
+     * @param count the number of 16-bit code units to jump over
+     */
+    public void jumpahead(int count) {
+        if (count < 0) {
+            throw new IllegalArgumentException();
+        }
+        if (buf != null) {
+            bufPos += count;
+            if (bufPos > buf.length) {
+                throw new IllegalArgumentException();
+            }
+            if (bufPos == buf.length) {
+                buf = null;
+            }
+        } else {
+            int i = pos.getIndex() + count;
+            pos.setIndex(i);
+            if (i > text.length()) {
+                throw new IllegalArgumentException();
+            }
+        }
+    }
+
+    /**
+     * Returns a string representation of this object, consisting of the
+     * characters being iterated, with a '|' marking the current position.
+     * Position within an expanded variable is <em>not</em> indicated.
+     * @return a string representation of this object
+     */
+    public String toString() {
+        int b = pos.getIndex();
+        return text.substring(0, b) + '|' + text.substring(b);
+    }
+
+    /**
+     * Returns the current 32-bit code point without parsing escapes, parsing
+     * variables, or skipping whitespace.
+     * @return the current 32-bit code point
+     */
+    private int _current() {
+        if (buf != null) {
+            return UTF16.charAt(buf, 0, buf.length, bufPos);
+        } else {
+            int i = pos.getIndex();
+            return (i < text.length()) ? UTF16.charAt(text, i) : DONE;
+        }
+    }
+    
+    /**
+     * Advances the position by the given amount.
+     * @param count the number of 16-bit code units to advance past
+     */
+    private void _advance(int count) {
+        if (buf != null) {
+            bufPos += count;
+            if (bufPos == buf.length) {
+                buf = null;
+            }
+        } else {
+            pos.setIndex(pos.getIndex() + count);
+            if (pos.getIndex() > text.length()) {
+                pos.setIndex(text.length());
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/src/com/ibm/icu/impl/SortedSetRelation.java b/src/com/ibm/icu/impl/SortedSetRelation.java
new file mode 100644
index 0000000..1e262e9
--- /dev/null
+++ b/src/com/ibm/icu/impl/SortedSetRelation.java
@@ -0,0 +1,180 @@
+/*
+**********************************************************************
+* Copyright (c) 2002-2004, International Business Machines
+* Corporation and others.  All Rights Reserved.
+**********************************************************************
+* Author: M. Davis
+* Created: December 2002 (moved from UnicodeSet)
+* Since: ICU 2.4
+**********************************************************************
+*/
+package com.ibm.icu.impl;
+
+import java.util.SortedSet;
+import java.util.Iterator;
+import java.util.TreeSet;
+
+/**
+ * Computationally efficient determination of the relationship between
+ * two SortedSets.
+ */
+public class SortedSetRelation {
+
+    /**
+     * The relationship between two sets A and B can be determined by looking at:
+     * A - B
+     * A & B (intersection)
+     * B - A
+     * These are represented by a set of bits.
+     * Bit 2 is true if A - B is not empty
+     * Bit 1 is true if A & B is not empty
+     * BIT 0 is true if B - A is not empty
+     */
+    public static final int
+        A_NOT_B = 4,
+        A_AND_B = 2,
+        B_NOT_A = 1;
+    
+    /**
+     * There are 8 combinations of the relationship bits. These correspond to
+     * the filters (combinations of allowed bits) in hasRelation. They also
+     * correspond to the modification functions, listed in comments.
+     */
+    public static final int 
+       ANY =            A_NOT_B |   A_AND_B |   B_NOT_A,    // union,           addAll
+       CONTAINS =       A_NOT_B |   A_AND_B,                // A                (unnecessary)
+       DISJOINT =       A_NOT_B |               B_NOT_A,    // A xor B,         missing Java function
+       ISCONTAINED =                A_AND_B |   B_NOT_A,    // B                (unnecessary)
+       NO_B =           A_NOT_B,                            // A setDiff B,     removeAll
+       EQUALS =                     A_AND_B,                // A intersect B,   retainAll
+       NO_A =                                   B_NOT_A,    // B setDiff A,     removeAll
+       NONE =           0,                                  // null             (unnecessary)
+       
+       ADDALL = ANY,                // union,           addAll
+       A = CONTAINS,                // A                (unnecessary)
+       COMPLEMENTALL = DISJOINT,    // A xor B,         missing Java function
+       B = ISCONTAINED,             // B                (unnecessary)
+       REMOVEALL = NO_B,            // A setDiff B,     removeAll
+       RETAINALL = EQUALS,          // A intersect B,   retainAll
+       B_REMOVEALL = NO_A;          // B setDiff A,     removeAll
+       
+  
+    /**
+     * Utility that could be on SortedSet. Faster implementation than
+     * what is in Java for doing contains, equals, etc.
+     * @param a first set
+     * @param allow filter, using ANY, CONTAINS, etc.
+     * @param b second set
+     * @return whether the filter relationship is true or not.
+     */    
+    public static boolean hasRelation(SortedSet a, int allow, SortedSet b) {
+        if (allow < NONE || allow > ANY) {
+            throw new IllegalArgumentException("Relation " + allow + " out of range");
+        }
+        
+        // extract filter conditions
+        // these are the ALLOWED conditions Set
+        
+        boolean anb = (allow & A_NOT_B) != 0;
+        boolean ab = (allow & A_AND_B) != 0;
+        boolean bna = (allow & B_NOT_A) != 0;
+        
+        // quick check on sizes
+        switch(allow) {
+            case CONTAINS: if (a.size() < b.size()) return false; break;
+            case ISCONTAINED: if (a.size() > b.size()) return false; break;
+            case EQUALS: if (a.size() != b.size()) return false; break;
+        }
+        
+        // check for null sets
+        if (a.size() == 0) {
+            if (b.size() == 0) return true;
+            return bna;
+        } else if (b.size() == 0) {
+            return anb;
+        }
+        
+        // pick up first strings, and start comparing
+        Iterator ait = a.iterator();
+        Iterator bit = b.iterator();
+        
+        Comparable aa = (Comparable) ait.next();
+        Comparable bb = (Comparable) bit.next();
+        
+        while (true) {
+            int comp = aa.compareTo(bb);
+            if (comp == 0) {
+                if (!ab) return false;
+                if (!ait.hasNext()) {
+                    if (!bit.hasNext()) return true;
+                    return bna;
+                } else if (!bit.hasNext()) {
+                    return anb;
+                }
+                aa = (Comparable) ait.next();
+                bb = (Comparable) bit.next();
+            } else if (comp < 0) {
+                if (!anb) return false;
+                if (!ait.hasNext()) {
+                    return bna;
+                }
+                aa = (Comparable) ait.next(); 
+            } else  {
+                if (!bna) return false;
+                if (!bit.hasNext()) {
+                    return anb;
+                }
+                bb = (Comparable) bit.next();
+            }
+        }
+    }
+    
+    /**
+     * Utility that could be on SortedSet. Allows faster implementation than
+     * what is in Java for doing addAll, removeAll, retainAll, (complementAll).
+     * @param a first set
+     * @param relation the relation filter, using ANY, CONTAINS, etc.
+     * @param b second set
+     * @return the new set
+     */    
+    public static SortedSet doOperation(SortedSet a, int relation, SortedSet b) {
+        // TODO: optimize this as above
+        TreeSet temp;
+        switch (relation) {
+            case ADDALL:
+                a.addAll(b); 
+                return a;
+            case A:
+                return a; // no action
+            case B:
+                a.clear(); 
+                a.addAll(b); 
+                return a;
+            case REMOVEALL: 
+                a.removeAll(b);
+                return a;
+            case RETAINALL: 
+                a.retainAll(b);
+                return a;
+            // the following is the only case not really supported by Java
+            // although all could be optimized
+            case COMPLEMENTALL:
+                temp = new TreeSet(b);
+                temp.removeAll(a);
+                a.removeAll(b);
+                a.addAll(temp);
+                return a;
+            case B_REMOVEALL:
+                temp = new TreeSet(b);
+                temp.removeAll(a);
+                a.clear();
+                a.addAll(temp);
+                return a;
+            case NONE:
+                a.clear();
+                return a;
+            default: 
+                throw new IllegalArgumentException("Relation " + relation + " out of range");
+        }
+    }    
+}
diff --git a/src/com/ibm/icu/impl/StringPrepDataReader.java b/src/com/ibm/icu/impl/StringPrepDataReader.java
new file mode 100644
index 0000000..acd770e
--- /dev/null
+++ b/src/com/ibm/icu/impl/StringPrepDataReader.java
@@ -0,0 +1,101 @@
+/*
+ ******************************************************************************
+ * Copyright (C) 2003, International Business Machines Corporation and   *
+ * others. All Rights Reserved.                                               *
+ ******************************************************************************
+ *
+ * Created on May 2, 2003
+ *
+ * To change the template for this generated file go to
+ * Window>Preferences>Java>Code Generation>Code and Comments
+ */
+package com.ibm.icu.impl;
+
+import java.io.DataInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+
+
+
+/**
+ * @author ram
+ *
+ * To change the template for this generated type comment go to
+ * Window>Preferences>Java>Code Generation>Code and Comments
+ */
+public final class StringPrepDataReader implements ICUBinary.Authenticate {
+    private final static boolean debug = ICUDebug.enabled("NormalizerDataReader");
+    
+   /**
+    * <p>private constructor.</p>
+    * @param inputStream ICU uprop.dat file input stream
+    * @exception IOException throw if data file fails authentication 
+    * @draft 2.1
+    */
+    public StringPrepDataReader(InputStream inputStream) 
+                                        throws IOException{
+        if(debug) System.out.println("Bytes in inputStream " + inputStream.available());
+        
+        unicodeVersion = ICUBinary.readHeader(inputStream, DATA_FORMAT_ID, this);
+        
+        if(debug) System.out.println("Bytes left in inputStream " +inputStream.available());
+        
+        dataInputStream = new DataInputStream(inputStream);
+        
+        if(debug) System.out.println("Bytes left in dataInputStream " +dataInputStream.available());
+    }
+    
+    public void read(byte[] idnaBytes,
+                        char[] mappingTable) 
+                        throws IOException{
+
+        //Read the bytes that make up the idnaTrie  
+        dataInputStream.read(idnaBytes);
+        
+        //Read the extra data
+        for(int i=0;i<mappingTable.length;i++){
+            mappingTable[i]=dataInputStream.readChar();
+        }
+    }
+    
+    public byte[] getDataFormatVersion(){
+        return DATA_FORMAT_VERSION;
+    }
+    
+    public boolean isDataVersionAcceptable(byte version[]){
+        return version[0] == DATA_FORMAT_VERSION[0] 
+               && version[2] == DATA_FORMAT_VERSION[2] 
+               && version[3] == DATA_FORMAT_VERSION[3];
+    }
+    public int[] readIndexes(int length)throws IOException{
+        int[] indexes = new int[length];
+        //Read the indexes
+        for (int i = 0; i <length ; i++) {
+             indexes[i] = dataInputStream.readInt();
+        }
+        return indexes;
+    } 
+    
+    public byte[] getUnicodeVersion(){
+        return unicodeVersion;
+    }
+    // private data members -------------------------------------------------
+      
+
+    /**
+    * ICU data file input stream
+    */
+    private DataInputStream dataInputStream;
+    private byte[] unicodeVersion;                             
+    /**
+    * File format version that this class understands.
+    * No guarantees are made if a older version is used
+    * see store.c of gennorm for more information and values
+    */
+    ///* dataFormat="SPRP" 0x53, 0x50, 0x52, 0x50  */ 
+    private static final byte DATA_FORMAT_ID[] = {(byte)0x53, (byte)0x50, 
+                                                    (byte)0x52, (byte)0x50};
+    private static final byte DATA_FORMAT_VERSION[] = {(byte)0x3, (byte)0x2, 
+                                                        (byte)0x5, (byte)0x2};
+    
+}
diff --git a/src/com/ibm/icu/impl/StringUCharacterIterator.java b/src/com/ibm/icu/impl/StringUCharacterIterator.java
new file mode 100644
index 0000000..6bd38b5
--- /dev/null
+++ b/src/com/ibm/icu/impl/StringUCharacterIterator.java
@@ -0,0 +1,228 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.impl;
+
+import com.ibm.icu.text.UCharacterIterator;
+
+/**
+ * Used by Collation. UCharacterIterator on Strings. Can't use 
+ * ReplaceableUCharacterIterator because it is not easy to do a fast setText. 
+ * @author synwee
+ */
+// TODO: Investivate if setText is a feature required by users so that we can 
+// move this method to the base class!
+public final class StringUCharacterIterator extends UCharacterIterator 
+{
+
+    // public constructor ------------------------------------------------------
+    
+    /**
+     * Public constructor
+     * @param str text which the iterator will be based on
+     */
+    public StringUCharacterIterator(String str)
+    {
+        if (str == null) {
+            throw new IllegalArgumentException();
+        }
+        m_text_ = str;
+        m_currentIndex_ = 0;
+    }
+    
+    /**
+     * Public default constructor
+     */
+    public StringUCharacterIterator()
+    {
+        m_text_ = "";
+        m_currentIndex_ = 0;
+    }
+    
+    // public methods ----------------------------------------------------------
+    
+    /**
+     * Creates a copy of this iterator, does not clone the underlying 
+     * <code>String</code>object
+     * @return copy of this iterator
+     */
+    ///CLOVER:OFF
+    public Object clone()
+    {
+        try {
+            return super.clone();
+        } catch (CloneNotSupportedException e) {
+            return null; // never invoked
+        }
+    }
+    ///CLOVER:ON
+    /**
+     * Returns the current UTF16 character.
+     * @return current UTF16 character
+     */
+    public int current()
+    {
+        if (m_currentIndex_ < m_text_.length()) {
+            return m_text_.charAt(m_currentIndex_);
+        }
+        return DONE;
+    }
+    
+    
+    /**
+     * Returns the length of the text
+     * @return length of the text
+     */
+    public int getLength()
+    {
+        return m_text_.length();
+    }
+    
+    /**
+     * Gets the current currentIndex in text.
+     * @return current currentIndex in text.
+     */
+    public int getIndex()
+    {
+        return m_currentIndex_;
+    }
+        
+    /**
+     * Returns next UTF16 character and increments the iterator's currentIndex 
+     * by 1. 
+     * If the resulting currentIndex is greater or equal to the text length, 
+     * the currentIndex is reset to the text length and a value of DONE is 
+     * returned. 
+     * @return next UTF16 character in text or DONE if the new currentIndex is 
+     *         off the end of the text range.
+     */
+    public int next()
+    {
+        if (m_currentIndex_ < m_text_.length()) 
+        {
+            return m_text_.charAt(m_currentIndex_ ++);
+        }
+        return DONE;
+    }
+    
+                
+    /**
+     * Returns previous UTF16 character and decrements the iterator's 
+     * currentIndex by 1. 
+     * If the resulting currentIndex is less than 0, the currentIndex is reset 
+     * to 0 and a value of DONE is returned. 
+     * @return next UTF16 character in text or DONE if the new currentIndex is 
+     *         off the start of the text range.
+     */
+    public int previous()
+    {
+        if (m_currentIndex_ > 0) {
+            return m_text_.charAt(-- m_currentIndex_);
+        }
+        return DONE;
+    }
+
+    /**
+     * <p>Sets the currentIndex to the specified currentIndex in the text and 
+     * returns that single UTF16 character at currentIndex. 
+     * This assumes the text is stored as 16-bit code units.</p>
+     * @param currentIndex the currentIndex within the text. 
+     * @exception IllegalArgumentException is thrown if an invalid currentIndex 
+     *            is supplied. i.e. currentIndex is out of bounds.
+     * @return the character at the specified currentIndex or DONE if the 
+     *         specified currentIndex is equal to the end of the text.
+     */
+    public void setIndex(int currentIndex) throws IndexOutOfBoundsException
+    {
+        if (currentIndex < 0 || currentIndex > m_text_.length()) {
+            throw new IndexOutOfBoundsException();
+        }
+        m_currentIndex_ = currentIndex;
+    }
+    
+    /**
+     * Fills the buffer with the underlying text storage of the iterator
+     * If the buffer capacity is not enough a exception is thrown. The capacity
+     * of the fill in buffer should at least be equal to length of text in the 
+     * iterator obtained by calling <code>getLength()</code).
+     * <b>Usage:</b>
+     * 
+     * <code>
+     * <pre>
+     *         UChacterIterator iter = new UCharacterIterator.getInstance(text);
+     *         char[] buf = new char[iter.getLength()];
+     *         iter.getText(buf);
+     *         
+     *         OR
+     *         char[] buf= new char[1];
+     *         int len = 0;
+     *         for(;;){
+     *             try{
+     *                 len = iter.getText(buf);
+     *                 break;
+     *             }catch(IndexOutOfBoundsException e){
+     *                 buf = new char[iter.getLength()];
+     *             }
+     *         }
+     * </pre>
+     * </code>
+     *             
+     * @param fillIn an array of chars to fill with the underlying UTF-16 code 
+     *         units.
+     * @param offset the position within the array to start putting the data.
+     * @return the number of code units added to fillIn, as a convenience
+     * @exception IndexOutOfBounds exception if there is not enough
+     *            room after offset in the array, or if offset &lt; 0.
+     */
+    ///CLOVER:OFF
+    public int getText(char[] fillIn, int offset)
+    {
+        int length = m_text_.length();
+        if (offset < 0 || offset + length > fillIn.length) {
+            throw new IndexOutOfBoundsException(Integer.toString(length));
+        }
+        m_text_.getChars(0, length, fillIn, offset);
+        return length;
+    }
+    ///CLOVER:ON
+    /**
+     * Convenience method for returning the underlying text storage as as
+     * string
+     * @return the underlying text storage in the iterator as a string
+     */
+    public String getText() 
+    {
+        return m_text_;
+    }       
+    
+    /**
+     * Reset this iterator to point to a new string. This method is used by 
+     * other classes that want to avoid allocating new 
+     * ReplaceableCharacterIterator objects every time their setText method
+     * is called.
+     * @param text The String to be iterated over 
+     */
+    public void setText(String text) 
+    {
+        if (text == null) {
+            throw new NullPointerException();
+        }
+        m_text_ = text;
+        m_currentIndex_ = 0;
+    }
+        
+    // private data members ----------------------------------------------------
+    
+    /**
+     * Text string object
+     */
+    private String m_text_;
+    /**
+     * Current currentIndex
+     */
+    private int m_currentIndex_;
+
+}
diff --git a/src/com/ibm/icu/impl/TimeZoneAdapter.java b/src/com/ibm/icu/impl/TimeZoneAdapter.java
new file mode 100644
index 0000000..9aaaed9
--- /dev/null
+++ b/src/com/ibm/icu/impl/TimeZoneAdapter.java
@@ -0,0 +1,150 @@
+/*
+**********************************************************************
+* Copyright (c) 2003, International Business Machines
+* Corporation and others.  All Rights Reserved.
+**********************************************************************
+* Author: Alan Liu
+* Created: October 2 2003
+* Since: ICU 2.8
+**********************************************************************
+*/
+package com.ibm.icu.impl;
+import com.ibm.icu.util.TimeZone;
+import java.util.Date;
+
+/**
+ * <code>TimeZoneAdapter</code> wraps a com.ibm.icu.util.TimeZone
+ * subclass that is NOT a JDKTimeZone, that is, that does not itself
+ * wrap a java.util.TimeZone.  It inherits from java.util.TimeZone.
+ * Without this class, we would need to 'port' java.util.Date to
+ * com.ibm.icu.util as well, so that Date could interoperate properly
+ * with the com.ibm.icu.util TimeZone and Calendar classes.  With this
+ * class, we can use java.util.Date together with com.ibm.icu.util
+ * classes.
+ *
+ * The complement of this is JDKTimeZone, which makes a
+ * java.util.TimeZone look like a com.ibm.icu.util.TimeZone.
+ *
+ * @see com.ibm.icu.impl.JDKTimeZone
+ * @see com.ibm.icu.util.TimeZone#setDefault
+ * @author Alan Liu
+ * @since ICU 2.8
+ */
+public class TimeZoneAdapter extends java.util.TimeZone {
+ 
+    /**
+     * The contained com.ibm.icu.util.TimeZone object.  Must not be null.
+     * We delegate all methods to this object.
+     */
+    private TimeZone zone;
+    
+    /**
+     * Given a java.util.TimeZone, wrap it in the appropriate adapter
+     * subclass of com.ibm.icu.util.TimeZone and return the adapter.
+     */
+    public static java.util.TimeZone wrap(com.ibm.icu.util.TimeZone tz) {
+        if (tz instanceof JDKTimeZone) {
+            return ((JDKTimeZone) tz).unwrap();
+        }
+        return new TimeZoneAdapter(tz);
+    }
+
+    /**
+     * Return the java.util.TimeZone wrapped by this object.
+     */
+    public com.ibm.icu.util.TimeZone unwrap() {
+        return zone;
+    }
+
+    /**
+     * Constructs an adapter for a com.ibm.icu.util.TimeZone object.
+     */
+    private TimeZoneAdapter(TimeZone zone) {
+        this.zone = zone;
+        super.setID(zone.getID());
+    }
+
+    /**
+     * TimeZone API; calls through to wrapped time zone.
+     */
+    public void setID(String ID) {
+        super.setID(ID);
+        zone.setID(ID);
+    }    
+
+    /**
+     * TimeZone API; calls through to wrapped time zone.
+     */
+    public boolean hasSameRules(java.util.TimeZone other) {
+        return other instanceof TimeZoneAdapter &&
+            zone.hasSameRules(((TimeZoneAdapter)other).zone);
+    }
+
+    /**
+     * TimeZone API; calls through to wrapped time zone.
+     */
+    public int getOffset(int era, int year, int month, int day, int dayOfWeek,
+                         int millis) {
+        return zone.getOffset(era, year, month, day, dayOfWeek, millis);
+    }
+
+    /**
+     * TimeZone API; calls through to wrapped time zone.
+     */
+    public int getRawOffset() {
+        return zone.getRawOffset();
+    }
+
+    /**
+     * TimeZone API; calls through to wrapped time zone.
+     */
+    public void setRawOffset(int offsetMillis) {
+        zone.setRawOffset(offsetMillis);
+    }
+
+    /**
+     * TimeZone API; calls through to wrapped time zone.
+     */
+    public boolean useDaylightTime() {
+        return zone.useDaylightTime();
+    }
+
+    /**
+     * TimeZone API; calls through to wrapped time zone.
+     */
+    public boolean inDaylightTime(Date date) {
+        return zone.inDaylightTime(date);
+    }
+
+    /**
+     * Boilerplate API; calls through to wrapped object.
+     */
+    public Object clone() {
+        return new TimeZoneAdapter((TimeZone)zone.clone());
+    }
+
+    /**
+     * Boilerplate API; calls through to wrapped object.
+     */
+    public synchronized int hashCode() {
+        return zone.hashCode();
+    }
+
+    /**
+     * Boilerplate API; calls through to wrapped object.
+     */
+    public boolean equals(Object obj) {
+        if (obj instanceof TimeZoneAdapter) {
+            obj = ((TimeZoneAdapter) obj).zone;
+        }
+        return zone.equals(obj);
+    }
+
+    /**
+     * Returns a string representation of this object.
+     * @return  a string representation of this object.
+     */
+    public String toString() {
+        return "TimeZoneAdapter: " + zone.toString();
+    }
+}
diff --git a/src/com/ibm/icu/impl/Trie.java b/src/com/ibm/icu/impl/Trie.java
new file mode 100755
index 0000000..5bff0f5
--- /dev/null
+++ b/src/com/ibm/icu/impl/Trie.java
@@ -0,0 +1,491 @@
+/*
+******************************************************************************
+* Copyright (C) 1996-2005, International Business Machines Corporation and   *
+* others. All Rights Reserved.                                               *
+******************************************************************************
+*/
+
+package com.ibm.icu.impl;
+
+import java.io.InputStream;
+import java.io.DataInputStream;
+import java.io.IOException;
+import java.util.Arrays;
+import com.ibm.icu.text.UTF16;
+import com.ibm.icu.lang.UCharacter;
+
+/**
+ * <p>A trie is a kind of compressed, serializable table of values 
+ * associated with Unicode code points (0..0x10ffff).</p>
+ * <p>This class defines the basic structure of a trie and provides methods 
+ * to <b>retrieve the offsets to the actual data</b>.</p>
+ * <p>Data will be the form of an array of basic types, char or int.</p>
+ * <p>The actual data format will have to be specified by the user in the
+ * inner static interface com.ibm.icu.impl.Trie.DataManipulate.</p>
+ * <p>This trie implementation is optimized for getting offset while walking
+ * forward through a UTF-16 string.
+ * Therefore, the simplest and fastest access macros are the
+ * fromLead() and fromOffsetTrail() methods.
+ * The fromBMP() method are a little more complicated; they get offsets even
+ * for lead surrogate codepoints, while the fromLead() method get special
+ * "folded" offsets for lead surrogate code units if there is relevant data
+ * associated with them.
+ * From such a folded offsets, an offset needs to be extracted to supply
+ * to the fromOffsetTrail() methods.
+ * To handle such supplementary codepoints, some offset information are kept
+ * in the data.</p>
+ * <p>Methods in com.ibm.icu.impl.Trie.DataManipulate are called to retrieve 
+ * that offset from the folded value for the lead surrogate unit.</p>
+ * <p>For examples of use, see com.ibm.icu.impl.CharTrie or 
+ * com.ibm.icu.impl.IntTrie.</p>
+ * @author synwee
+ * @see com.ibm.icu.impl.CharTrie
+ * @see com.ibm.icu.impl.IntTrie
+ * @since release 2.1, Jan 01 2002
+ */
+public abstract class Trie
+{
+    // public class declaration ----------------------------------------
+    
+    /**
+    * Character data in com.ibm.impl.Trie have different user-specified format
+    * for different purposes.
+    * This interface specifies methods to be implemented in order for
+    * com.ibm.impl.Trie, to surrogate offset information encapsulated within 
+    * the data.
+    * @draft 2.1
+    */
+    public static interface DataManipulate
+    {
+        /**
+        * Called by com.ibm.icu.impl.Trie to extract from a lead surrogate's 
+        * data
+        * the index array offset of the indexes for that lead surrogate.
+        * @param value data value for a surrogate from the trie, including the
+        *        folding offset
+        * @return data offset or 0 if there is no data for the lead surrogate
+        * @draft 2.1
+        */
+        public int getFoldingOffset(int value); 
+    }
+
+    // default implementation
+    private static class DefaultGetFoldingOffset implements DataManipulate {
+        public int getFoldingOffset(int value) {
+            return value; 
+        }
+    }
+
+    // public methods --------------------------------------------------
+    
+    /**
+     * Determines if this trie has a linear latin 1 array
+     * @return true if this trie has a linear latin 1 array, false otherwise
+     */
+    public final boolean isLatin1Linear()
+    {
+        return m_isLatin1Linear_;
+    }
+    
+    /**
+     * Checks if the argument Trie has the same data as this Trie.
+     * Attributes are checked but not the index data.
+     * @param other Trie to check
+     * @return true if the argument Trie has the same data as this Trie, false
+     *         otherwise
+     */
+    ///CLOVER:OFF
+    public boolean equals(Object other) 
+    {
+        if (other == this) {
+            return true;
+        }
+        if (!(other instanceof Trie)) {
+            return false;
+        }
+        Trie othertrie = (Trie)other;
+        return m_isLatin1Linear_ == othertrie.m_isLatin1Linear_
+               && m_options_ == othertrie.m_options_
+               && m_dataLength_ == othertrie.m_dataLength_
+               && Arrays.equals(m_index_, othertrie.m_index_);
+    }
+    ///CLOVER:ON
+    
+    /**
+     * Gets the serialized data file size of the Trie. This is used during 
+     * trie data reading for size checking purposes. 
+     * @return size size of serialized trie data file in terms of the number
+     *              of bytes
+     */
+    public int getSerializedDataSize()
+    {
+        // includes signature, option, dataoffset and datalength output
+        int result = (4 << 2);
+        result += (m_dataOffset_ << 1);
+        if (isCharTrie()) {
+            result += (m_dataLength_ << 1);
+        }
+        else if (isIntTrie()) {
+            result += (m_dataLength_ << 2);
+        }
+        return result;
+    }
+
+    // protected constructor -------------------------------------------
+
+    /**
+    * Trie constructor for CharTrie use.
+    * @param inputStream ICU data file input stream which contains the
+    *                        trie
+    * @param dataManipulate object containing the information to parse the 
+    *                       trie data
+    * @throws IOException thrown when input stream does not have the
+    *                        right header.
+    * @draft 2.1
+    */
+    protected Trie(InputStream inputStream, 
+                   DataManipulate  dataManipulate) throws IOException
+    {
+        DataInputStream input = new DataInputStream(inputStream);
+        // Magic number to authenticate the data.
+        int signature = input.readInt();
+        m_options_    = input.readInt();
+        
+        if (!checkHeader(signature)) {
+            throw new IllegalArgumentException("ICU data file error: Trie header authentication failed, please check if you have the most updated ICU data file");
+        }
+
+        if(dataManipulate != null) {
+            m_dataManipulate_ = dataManipulate;
+        } else {
+            m_dataManipulate_ = new DefaultGetFoldingOffset();
+        }
+        m_isLatin1Linear_ = (m_options_ &
+                             HEADER_OPTIONS_LATIN1_IS_LINEAR_MASK_) != 0;
+        m_dataOffset_     = input.readInt();
+        m_dataLength_     = input.readInt();
+        unserialize(inputStream);
+    }
+    
+    /**
+    * Trie constructor
+    * @param index array to be used for index
+    * @param options used by the trie
+    * @param dataManipulate object containing the information to parse the 
+    *                       trie data
+    * @draft 2.2
+    */
+    protected Trie(char index[], int options, DataManipulate dataManipulate)
+    {
+        m_options_ = options;
+        if(dataManipulate != null) {
+            m_dataManipulate_ = dataManipulate;
+        } else {
+            m_dataManipulate_ = new DefaultGetFoldingOffset();
+        }
+        m_isLatin1Linear_ = (m_options_ &
+                             HEADER_OPTIONS_LATIN1_IS_LINEAR_MASK_) != 0;
+        m_index_ = index;
+        m_dataOffset_ = m_index_.length;
+    }
+
+
+    // protected data members ------------------------------------------
+
+    /**
+    * Lead surrogate code points' index displacement in the index array.
+    * 0x10000-0xd800=0x2800
+    * 0x2800 >> INDEX_STAGE_1_SHIFT_
+    */
+    protected static final int LEAD_INDEX_OFFSET_ = 0x2800 >> 5;
+    /**
+    * Shift size for shifting right the input index. 1..9
+    * @draft 2.1
+    */
+    protected static final int INDEX_STAGE_1_SHIFT_ = 5;
+    /**
+    * Shift size for shifting left the index array values.
+    * Increases possible data size with 16-bit index values at the cost
+    * of compactability.
+    * This requires blocks of stage 2 data to be aligned by
+    * DATA_GRANULARITY.
+    * 0..INDEX_STAGE_1_SHIFT
+    * @draft 2.1
+    */
+    protected static final int INDEX_STAGE_2_SHIFT_ = 2;
+    /**
+     * Number of data values in a stage 2 (data array) block.
+     */
+    protected static final int DATA_BLOCK_LENGTH=1<<INDEX_STAGE_1_SHIFT_;
+    /**
+    * Mask for getting the lower bits from the input index.
+    * DATA_BLOCK_LENGTH - 1.
+    * @draft 2.1
+    */
+    protected static final int INDEX_STAGE_3_MASK_ = DATA_BLOCK_LENGTH - 1;
+    /** Number of bits of a trail surrogate that are used in index table lookups. */
+    protected static final int SURROGATE_BLOCK_BITS=10-INDEX_STAGE_1_SHIFT_;
+    /**
+     * Number of index (stage 1) entries per lead surrogate.
+     * Same as number of index entries for 1024 trail surrogates,
+     * ==0x400>>INDEX_STAGE_1_SHIFT_
+     */
+    protected static final int SURROGATE_BLOCK_COUNT=(1<<SURROGATE_BLOCK_BITS);
+    /** Length of the BMP portion of the index (stage 1) array. */
+    protected static final int BMP_INDEX_LENGTH=0x10000>>INDEX_STAGE_1_SHIFT_;
+    /**
+    * Surrogate mask to use when shifting offset to retrieve supplementary
+    * values
+    * @draft 2.1
+    */
+    protected static final int SURROGATE_MASK_ = 0x3FF;                                              
+    /**
+    * Index or UTF16 characters
+    * @draft 2.1
+    */
+    protected char m_index_[];
+    /**
+    * Internal TrieValue which handles the parsing of the data value.
+    * This class is to be implemented by the user
+    * @draft 2.1
+    */
+    protected DataManipulate m_dataManipulate_;
+    /**
+    * Start index of the data portion of the trie. CharTrie combines 
+    * index and data into a char array, so this is used to indicate the 
+    * initial offset to the data portion.
+    * Note this index always points to the initial value.
+    * @draft 2.1
+    */
+    protected int m_dataOffset_;
+    /**
+    * Length of the data array 
+    */
+    protected int m_dataLength_;
+     
+    // protected methods -----------------------------------------------
+
+    /**
+    * Gets the offset to the data which the surrogate pair points to.
+    * @param lead lead surrogate
+    * @param trail trailing surrogate
+    * @return offset to data
+    * @draft 2.1
+    */
+    protected abstract int getSurrogateOffset(char lead, char trail);
+    
+    /**
+    * Gets the value at the argument index
+    * @param index value at index will be retrieved
+    * @return 32 bit value 
+    * @draft 2.1
+    */
+    protected abstract int getValue(int index);
+
+    /**
+    * Gets the default initial value
+    * @return 32 bit value 
+    * @draft 2.1
+    */
+    protected abstract int getInitialValue();
+    
+    /**
+    * Gets the offset to the data which the index ch after variable offset
+    * points to.
+    * Note for locating a non-supplementary character data offset, calling
+    * <p>
+    * getRawOffset(0, ch);
+    * </p>
+    * will do. Otherwise if it is a supplementary character formed by
+    * surrogates lead and trail. Then we would have to call getRawOffset()
+    * with getFoldingIndexOffset(). See getSurrogateOffset().
+    * @param offset index offset which ch is to start from
+    * @param ch index to be used after offset
+    * @return offset to the data
+    * @draft 2.1
+    */
+    protected final int getRawOffset(int offset, char ch)
+    {
+        return (m_index_[offset + (ch >> INDEX_STAGE_1_SHIFT_)] 
+                << INDEX_STAGE_2_SHIFT_) 
+                + (ch & INDEX_STAGE_3_MASK_);
+    }
+    
+    /**
+    * Gets the offset to data which the BMP character points to
+    * Treats a lead surrogate as a normal code point.
+    * @param ch BMP character
+    * @return offset to data
+    * @draft 2.1
+    */
+    protected final int getBMPOffset(char ch)
+    {
+        return (ch >= UTF16.LEAD_SURROGATE_MIN_VALUE 
+                && ch <= UTF16.LEAD_SURROGATE_MAX_VALUE) 
+                ? getRawOffset(LEAD_INDEX_OFFSET_, ch)
+                : getRawOffset(0, ch); 
+                // using a getRawOffset(ch) makes no diff
+    }
+
+    /**
+    * Gets the offset to the data which this lead surrogate character points
+    * to.
+    * Data at the returned offset may contain folding offset information for
+    * the next trailing surrogate character.
+    * @param ch lead surrogate character
+    * @return offset to data
+    * @draft 2.1
+    */
+    protected final int getLeadOffset(char ch)
+    {
+       return getRawOffset(0, ch);
+    }
+
+    /**
+    * Internal trie getter from a code point.
+    * Could be faster(?) but longer with
+    *   if((c32)<=0xd7ff) { (result)=_TRIE_GET_RAW(trie, data, 0, c32); }
+    * Gets the offset to data which the codepoint points to
+    * @param ch codepoint
+    * @return offset to data
+    * @draft 2.1
+    */
+    protected final int getCodePointOffset(int ch)
+    {
+        // if ((ch >> 16) == 0) slower
+        if (ch < 0) {
+            return -1;
+        } else if (ch < UTF16.LEAD_SURROGATE_MIN_VALUE) {
+            // fastpath for the part of the BMP below surrogates (D800) where getRawOffset() works
+            return getRawOffset(0, (char)ch);
+        } else if (ch < UTF16.SUPPLEMENTARY_MIN_VALUE) {
+            // BMP codepoint
+            return getBMPOffset((char)ch); 
+        } else if (ch <= UCharacter.MAX_VALUE) {
+            // look at the construction of supplementary characters
+            // trail forms the ends of it.
+            return getSurrogateOffset(UTF16.getLeadSurrogate(ch), 
+                                      (char)(ch & SURROGATE_MASK_));
+        } else {
+            // return -1 if there is an error, in this case we return 
+            return -1;
+        }
+    }
+
+    /**
+    * <p>Parses the inputstream and creates the trie index with it.</p>
+    * <p>This is overwritten by the child classes.
+    * @param inputStream input stream containing the trie information
+    * @exception IOException thrown when data reading fails.
+    * @draft 2.1
+    */
+    protected void unserialize(InputStream inputStream) throws IOException
+    {
+        //indexLength is a multiple of 1024 >> INDEX_STAGE_2_SHIFT_
+        m_index_              = new char[m_dataOffset_];
+        DataInputStream input = new DataInputStream(inputStream);
+        for (int i = 0; i < m_dataOffset_; i ++) {
+             m_index_[i] = input.readChar();
+        }
+    }
+
+    /**
+    * Determines if this is a 32 bit trie
+    * @return true if options specifies this is a 32 bit trie
+    * @draft 2.1
+    */
+    protected final boolean isIntTrie()
+    {
+        return (m_options_ & HEADER_OPTIONS_DATA_IS_32_BIT_) != 0;
+    }
+
+    /**
+    * Determines if this is a 16 bit trie
+    * @return true if this is a 16 bit trie
+    * @draft 2.1
+    */
+    protected final boolean isCharTrie()
+    {
+        return (m_options_ & HEADER_OPTIONS_DATA_IS_32_BIT_) == 0;
+    }
+
+    // private data members --------------------------------------------
+
+    /**
+    * Signature index
+    */
+    private static final int HEADER_SIGNATURE_INDEX_ = 0;
+    /**
+    * Options index
+    */
+    private static final int HEADER_OPTIONS_INDEX_ = 1 << 1;
+    /**
+    * Index length index
+    */
+    private static final int HEADER_INDEX_LENGTH_INDEX_ = 2 << 1;
+    /**
+    * Data length index
+    */
+    private static final int HEADER_DATA_LENGTH_INDEX_ = 3 << 1;
+    /**
+    * Size of header
+    */
+    private static final int HEADER_LENGTH_ = 4 << 1;
+    /**
+    * Latin 1 option mask
+    */
+    protected static final int HEADER_OPTIONS_LATIN1_IS_LINEAR_MASK_ = 0x200;
+    /**
+    * Constant number to authenticate the byte block
+    */
+    private static final int HEADER_SIGNATURE_ = 0x54726965;
+    /**
+    * Header option formatting
+    */
+    private static final int HEADER_OPTIONS_SHIFT_MASK_ = 0xF;
+    private static final int HEADER_OPTIONS_INDEX_SHIFT_ = 4;
+    protected static final int HEADER_OPTIONS_DATA_IS_32_BIT_ = 0x100;
+    
+    /**
+    * Flag indicator for Latin quick access data block
+    */
+    private boolean m_isLatin1Linear_;
+    
+    /**
+    * <p>Trie options field.</p>
+    * <p>options bit field:<br>
+    * 9  1 = Latin-1 data is stored linearly at data + DATA_BLOCK_LENGTH<br>
+    * 8  0 = 16-bit data, 1=32-bit data<br>
+    * 7..4  INDEX_STAGE_1_SHIFT   // 0..INDEX_STAGE_2_SHIFT<br>
+    * 3..0  INDEX_STAGE_2_SHIFT   // 1..9<br>
+    */
+    private int m_options_;
+    
+    // private methods ---------------------------------------------------
+    
+    /**
+    * Authenticates raw data header.
+    * Checking the header information, signature and options.
+    * @param rawdata array of char data to be checked
+    * @return true if the header is authenticated valid
+    * @draft 2.1
+    */
+    private final boolean checkHeader(int signature)
+    {
+        // check the signature
+        // Trie in big-endian US-ASCII (0x54726965).
+        // Magic number to authenticate the data.
+        if (signature != HEADER_SIGNATURE_) {
+            return false;
+        }
+
+        if ((m_options_ & HEADER_OPTIONS_SHIFT_MASK_) != 
+                                                    INDEX_STAGE_1_SHIFT_ ||
+            ((m_options_ >> HEADER_OPTIONS_INDEX_SHIFT_) &
+                                                HEADER_OPTIONS_SHIFT_MASK_)
+                                                 != INDEX_STAGE_2_SHIFT_) {
+            return false;
+        }
+        return true;
+    }
+}
diff --git a/src/com/ibm/icu/impl/TrieBuilder.java b/src/com/ibm/icu/impl/TrieBuilder.java
new file mode 100755
index 0000000..d5b884b
--- /dev/null
+++ b/src/com/ibm/icu/impl/TrieBuilder.java
@@ -0,0 +1,261 @@
+/*
+******************************************************************************
+* Copyright (C) 1996-2005, International Business Machines Corporation and   *
+* others. All Rights Reserved.                                               *
+******************************************************************************
+*/
+
+package com.ibm.icu.impl;
+
+import com.ibm.icu.lang.UCharacter;
+import java.util.Arrays;
+
+/**
+ * Builder lass to manipulate and generate a trie.
+ * This is useful for ICU data in primitive types.
+ * Provides a compact way to store information that is indexed by Unicode 
+ * values, such as character properties, types, keyboard values, etc. This is 
+ * very useful when you have a block of Unicode data that contains significant 
+ * values while the rest of the Unicode data is unused in the application or 
+ * when you have a lot of redundance, such as where all 21,000 Han ideographs 
+ * have the same value.  However, lookup is much faster than a hash table.
+ * A trie of any primitive data type serves two purposes:
+ * <UL type = round>
+ *     <LI>Fast access of the indexed values.
+ *     <LI>Smaller memory footprint.
+ * </UL>
+ * This is a direct port from the ICU4C version
+ * @author             Syn Wee Quek
+ */
+public class TrieBuilder
+{
+    // public data member ----------------------------------------------
+        
+    /** 
+     * Number of data values in a stage 2 (data array) block. 2, 4, 8, .., 
+     * 0x200 
+     */
+    public static final int DATA_BLOCK_LENGTH = 1 << Trie.INDEX_STAGE_1_SHIFT_;
+    
+    // public class declaration ----------------------------------------
+    
+    /**
+     * Character data in com.ibm.impl.Trie have different user-specified format
+     * for different purposes.
+     * This interface specifies methods to be implemented in order for
+     * com.ibm.impl.Trie, to surrogate offset information encapsulated within 
+     * the data.
+     * @draft 2.2
+     */
+    public static interface DataManipulate
+    {
+        /**
+         * Build-time trie callback function, used with serialize().
+         * This function calculates a lead surrogate's value including a 
+         * folding offset from the 1024 supplementary code points 
+         * [start..start+1024[ . 
+         * It is U+10000 <= start <= U+10fc00 and (start&0x3ff)==0.
+         * The folding offset is provided by the caller. 
+         * It is offset=UTRIE_BMP_INDEX_LENGTH+n*UTRIE_SURROGATE_BLOCK_COUNT 
+         * with n=0..1023. 
+         * Instead of the offset itself, n can be stored in 10 bits - or fewer 
+         * if it can be assumed that few lead surrogates have associated data.
+         * The returned value must be
+         *  - not zero if and only if there is relevant data for the 
+         *                        corresponding 1024 supplementary code points
+         *  - such that UTrie.getFoldingOffset(UNewTrieGetFoldedValue(..., 
+         *                                                    offset))==offset
+         * @return a folded value, or 0 if there is no relevant data for the 
+         *         lead surrogate.
+         */
+        public int getFoldedValue(int start, int offset); 
+    }
+    
+    // public methods ----------------------------------------------------
+  
+    /**
+     * Checks if the character belongs to a zero block in the trie
+     * @param ch codepoint which data is to be retrieved
+     * @return true if ch is in the zero block
+     */
+    public boolean isInZeroBlock(int ch) 
+    {
+        // valid, uncompacted trie and valid c?
+        if (m_isCompacted_ || ch > UCharacter.MAX_VALUE 
+            || ch < UCharacter.MIN_VALUE) {
+            return true;
+        }
+    
+        return m_index_[ch >> SHIFT_] == 0;
+    }
+    
+    // package private method -----------------------------------------------
+    
+    // protected data member -----------------------------------------------
+          
+    /**
+     * Index values at build-time are 32 bits wide for easier processing.
+     * Bit 31 is set if the data block is used by multiple index values 
+     * (from setRange()).
+     */
+    protected int m_index_[];
+    protected int m_indexLength_;
+    protected int m_dataCapacity_; 
+    protected int m_dataLength_;
+    protected boolean m_isLatin1Linear_;
+    protected boolean m_isCompacted_;
+    /**
+     * Map of adjusted indexes, used in utrie_compact().
+     * Maps from original indexes to new ones.
+     */
+    protected int m_map_[];
+        
+    /**
+     * Shift size for shifting right the input index. 1..9 
+     */
+    protected static final int SHIFT_ = Trie.INDEX_STAGE_1_SHIFT_;
+    /**
+     * Length of the index (stage 1) array before folding.
+     * Maximum number of Unicode code points (0x110000) shifted right by 
+     * SHIFT.
+     */
+    protected static final int MAX_INDEX_LENGTH_ = (0x110000 >> SHIFT_);
+    /** 
+     * Length of the BMP portion of the index (stage 1) array. 
+     */
+    protected static final int BMP_INDEX_LENGTH_ = 0x10000 >> SHIFT_;   
+    /**
+     * Number of index (stage 1) entries per lead surrogate.
+     * Same as number of indexe entries for 1024 trail surrogates,
+     * ==0x400>>UTRIE_SHIFT
+     * 10 - SHIFT == Number of bits of a trail surrogate that are used in 
+     *               index table lookups. 
+     */
+    protected static final int SURROGATE_BLOCK_COUNT_ = 1 << (10 - SHIFT_);
+    /**
+     * Mask for getting the lower bits from the input index.
+     * DATA_BLOCK_LENGTH - 1.
+     */
+    protected static final int MASK_ = Trie.INDEX_STAGE_3_MASK_;
+    /**
+     * Shift size for shifting left the index array values.
+     * Increases possible data size with 16-bit index values at the cost
+     * of compactability.
+     * This requires blocks of stage 2 data to be aligned by UTRIE_DATA_GRANULARITY.
+     * 0..UTRIE_SHIFT
+     */
+    protected static final int INDEX_SHIFT_ = Trie.INDEX_STAGE_2_SHIFT_;
+    /**
+     * Maximum length of the runtime data (stage 2) array.
+     * Limited by 16-bit index values that are left-shifted by INDEX_SHIFT_.
+     */
+    protected static final int MAX_DATA_LENGTH_ = (0x10000 << INDEX_SHIFT_);
+    /**
+     * Shifting to position the index value in options
+     */
+    protected static final int OPTIONS_INDEX_SHIFT_ = 4;
+    /** 
+     * If set, then the data (stage 2) array is 32 bits wide. 
+     */
+    protected static final int OPTIONS_DATA_IS_32_BIT_ = 0x100;
+    /**
+     * If set, then Latin-1 data (for U+0000..U+00ff) is stored in the data 
+     * (stage 2) array as a simple, linear array at data + DATA_BLOCK_LENGTH.
+     */
+    protected static final int OPTIONS_LATIN1_IS_LINEAR_ = 0x200;
+    /** 
+     * The alignment size of a stage 2 data block. Also the granularity for 
+     * compaction. 
+     */
+    protected static final int DATA_GRANULARITY_ = 1 << INDEX_SHIFT_;
+    
+    // protected constructor ----------------------------------------------
+    
+    protected TrieBuilder()
+    {
+        m_index_ = new int[MAX_INDEX_LENGTH_];
+        m_map_ = new int[MAX_BUILD_TIME_DATA_LENGTH_ >> SHIFT_];
+        m_isLatin1Linear_ = false;
+        m_isCompacted_ = false;
+        m_indexLength_ = MAX_INDEX_LENGTH_;
+    }
+        
+    protected TrieBuilder(TrieBuilder table)
+    {
+        m_index_ = new int[MAX_INDEX_LENGTH_];
+        m_indexLength_ = table.m_indexLength_;
+        System.arraycopy(table.m_index_, 0, m_index_, 0, m_indexLength_);
+        m_dataCapacity_ = table.m_dataCapacity_;
+        m_dataLength_ = table.m_dataLength_;
+        m_map_ = new int[table.m_map_.length];
+        System.arraycopy(table.m_map_, 0, m_map_, 0, m_map_.length);
+        m_isLatin1Linear_ = table.m_isLatin1Linear_;
+        m_isCompacted_ = table.m_isCompacted_;
+    }
+        
+    // protected functions ------------------------------------------------
+
+    /**
+     * Compare two sections of an array for equality.
+     */
+    protected static final boolean equal_int(int[] array, int start1, int start2, int length) {
+        while(length>0 && array[start1]==array[start2]) {
+            ++start1;
+            ++start2;
+            --length;
+        }
+        return length==0;
+    }
+
+    /**
+     * Set a value in the trie index map to indicate which data block
+     * is referenced and which one is not.
+     * utrie_compact() will remove data blocks that are not used at all.
+     * Set
+     * - 0 if it is used
+     * - -1 if it is not used
+     */
+    protected void findUnusedBlocks() 
+    {
+        // fill the entire map with "not used" 
+        Arrays.fill(m_map_, 0xff);
+    
+        // mark each block that _is_ used with 0
+        for (int i = 0; i < m_indexLength_; ++ i) {
+            m_map_[Math.abs(m_index_[i]) >> SHIFT_] = 0;
+        }
+    
+        // never move the all-initial-value block 0
+        m_map_[0] = 0;
+    }
+    
+    /**
+     * Finds the same index block as the otherBlock
+     * @param index array
+     * @param indexLength size of index
+     * @param otherBlock
+     * @return same index block
+     */
+    protected static final int findSameIndexBlock(int index[], int indexLength,
+                                                  int otherBlock) 
+    {
+        for (int block = BMP_INDEX_LENGTH_; block < indexLength; 
+             block += SURROGATE_BLOCK_COUNT_) {
+            if(equal_int(index, block, otherBlock, SURROGATE_BLOCK_COUNT_)) {
+                return block;
+            }
+        }
+        return indexLength;
+    }
+    
+    // private data member ------------------------------------------------
+        
+    /**
+     * Maximum length of the build-time data (stage 2) array.
+     * The maximum length is 0x110000 + DATA_BLOCK_LENGTH + 0x400.
+     * (Number of Unicode code points + one all-initial-value block +
+     *  possible duplicate entries for 1024 lead surrogates.)
+     */
+    private static final int MAX_BUILD_TIME_DATA_LENGTH_ = 
+        0x110000 + DATA_BLOCK_LENGTH + 0x400;
+}
diff --git a/src/com/ibm/icu/impl/TrieIterator.java b/src/com/ibm/icu/impl/TrieIterator.java
new file mode 100755
index 0000000..35fd9af
--- /dev/null
+++ b/src/com/ibm/icu/impl/TrieIterator.java
@@ -0,0 +1,542 @@
+/*
+******************************************************************************
+* Copyright (C) 1996-2004, International Business Machines Corporation and   *
+* others. All Rights Reserved.                                               *
+******************************************************************************
+*/
+
+package com.ibm.icu.impl;
+
+import com.ibm.icu.lang.UCharacter;
+import com.ibm.icu.text.UTF16;
+import com.ibm.icu.util.RangeValueIterator;
+
+/**
+ * <p>Class enabling iteration of the values in a Trie.</p>
+ * <p>Result of each iteration contains the interval of codepoints that have
+ * the same value type and the value type itself.</p>
+ * <p>The comparison of each codepoint value is done via extract(), which the
+ * default implementation is to return the value as it is.</p> 
+ * <p>Method extract() can be overwritten to perform manipulations on 
+ * codepoint values in order to perform specialized comparison.</p>
+ * <p>TrieIterator is designed to be a generic iterator for the CharTrie
+ * and the IntTrie, hence to accommodate both types of data, the return 
+ * result will be in terms of int (32 bit) values.</p>
+ * <p>See com.ibm.icu.text.UCharacterTypeIterator for examples of use.</p>
+ * <p>Notes for porting utrie_enum from icu4c to icu4j:<br>
+ * Internally, icu4c's utrie_enum performs all iterations in its body. In Java
+ * sense, the caller will have to pass a object with a callback function 
+ * UTrieEnumRange(const void *context, UChar32 start, UChar32 limit, 
+ * uint32_t value) into utrie_enum. utrie_enum will then find ranges of 
+ * codepoints with the same value as determined by 
+ * UTrieEnumValue(const void *context, uint32_t value). for each range, 
+ * utrie_enum calls the callback function to perform a task. In this way,
+ * icu4c performs the iteration within utrie_enum.
+ * To follow the JDK model, icu4j is slightly different from icu4c.
+ * Instead of requesting the caller to implement an object for a callback.
+ * The caller will have to implement a subclass of TrieIterator, fleshing out
+ * the method extract(int) (equivalent to UTrieEnumValue). Independent of icu4j, 
+ * the caller will have to code his own iteration and flesh out the task 
+ * (equivalent to UTrieEnumRange) to be performed in the iteration loop.
+ * </p>
+ * <p>There are basically 3 usage scenarios for porting:</p>
+ * <p>1) UTrieEnumValue is the only implemented callback then just implement a 
+ * subclass of TrieIterator and override the extract(int) method. The 
+ * extract(int) method is analogus to UTrieEnumValue callback.
+ * </p>
+ * <p>2) UTrieEnumValue and UTrieEnumRange both are implemented then implement 
+ * a subclass of TrieIterator, override the extract method and iterate, e.g
+ * </p>
+ * <p>utrie_enum(&normTrie, _enumPropertyStartsValue, _enumPropertyStartsRange, 
+ *               set);<br>
+ * In Java :<br>
+ * <pre>
+ * class TrieIteratorImpl extends TrieIterator{
+ *     public TrieIteratorImpl(Trie data){
+ *         super(data);
+ *     }
+ *     public int extract(int value){
+ *         // port the implementation of _enumPropertyStartsValue here
+ *     }
+ * }
+ * .... 
+ * TrieIterator fcdIter  = new TrieIteratorImpl(fcdTrieImpl.fcdTrie);
+ * while(fcdIter.next(result)) {
+ *     // port the implementation of _enumPropertyStartsRange
+ * }
+ * </pre>
+ * </p>
+ * <p>3) UTrieEnumRange is the only implemented callback then just implement 
+ * the while loop, when utrie_enum is called
+ * <pre>
+ * // utrie_enum(&fcdTrie, NULL, _enumPropertyStartsRange, set);
+ * TrieIterator fcdIter  = new TrieIterator(fcdTrieImpl.fcdTrie);
+ * while(fcdIter.next(result)){
+ *     set.add(result.start);
+ * }
+ * </p>
+ * @author synwee
+ * @see com.ibm.icu.impl.Trie
+ * @see com.ibm.icu.lang.UCharacterTypeIterator
+ * @since release 2.1, Jan 17 2002
+ */
+public class TrieIterator implements RangeValueIterator
+
+{
+    // public constructor ---------------------------------------------
+    
+    /**
+    * TrieEnumeration constructor
+    * @param trie to be used
+    * @exception IllegalArgumentException throw when argument is null.
+    * @draft 2.1
+    */
+    public TrieIterator(Trie trie)
+    {
+        if (trie == null) {
+            throw new IllegalArgumentException(
+                                          "Argument trie cannot be null");
+        }
+        m_trie_             = trie;
+        // synwee: check that extract belongs to the child class
+        m_initialValue_     = extract(m_trie_.getInitialValue());
+        reset();
+    }
+    
+    // public methods -------------------------------------------------
+    
+    /**
+    * <p>Returns true if we are not at the end of the iteration, false 
+    * otherwise.</p>
+    * <p>The next set of codepoints with the same value type will be 
+    * calculated during this call and returned in the arguement element.</p>
+    * @param element return result 
+    * @return true if we are not at the end of the iteration, false otherwise.
+    * @exception NoSuchElementException - if no more elements exist.
+    * @see com.ibm.icu.util.RangeValueIterator.Element
+    * @draft 2.1
+    */
+    public final boolean next(Element element)
+    {
+        if (m_nextCodepoint_ > UCharacter.MAX_VALUE) {
+            return false;
+        }
+        if (m_nextCodepoint_ < UCharacter.SUPPLEMENTARY_MIN_VALUE &&
+            calculateNextBMPElement(element)) {
+            return true;
+        }    
+        calculateNextSupplementaryElement(element);
+        return true;
+    }
+     
+    /**
+    * Resets the iterator to the beginning of the iteration
+    * @draft 2.1
+    */
+    public final void reset()
+    {
+        m_currentCodepoint_ = 0;
+        m_nextCodepoint_    = 0;
+        m_nextIndex_        = 0;
+        m_nextBlock_ = m_trie_.m_index_[0] << Trie.INDEX_STAGE_2_SHIFT_;
+        if (m_nextBlock_ == 0) {
+            m_nextValue_ = m_initialValue_;
+        }
+        else {
+            m_nextValue_ = extract(m_trie_.getValue(m_nextBlock_));
+        }
+        m_nextBlockIndex_ = 0;
+        m_nextTrailIndexOffset_ = TRAIL_SURROGATE_INDEX_BLOCK_LENGTH_;
+    }
+    
+    // protected methods ----------------------------------------------
+    
+    /**
+    * Called by next() to extracts a 32 bit value from a trie value
+    * used for comparison.
+    * This method is to be overwritten if special manipulation is to be done
+    * to retrieve a relevant comparison.
+    * The default function is to return the value as it is.
+    * @param value a value from the trie
+    * @return extracted value
+    * @draft 2.1
+    */
+    protected int extract(int value)
+    {
+        return value;
+    }
+    
+    // private methods ------------------------------------------------
+    
+    /**
+    * Set the result values
+    * @param element return result object
+    * @param start codepoint of range 
+    * @param limit (end + 1) codepoint of range
+    * @param value common value of range
+    */
+    private final void setResult(Element element, int start, int limit, 
+                                 int value)
+    {
+        element.start = start;
+        element.limit = limit;
+        element.value = value;
+    }
+    
+    /**
+    * Finding the next element.
+    * This method is called just before returning the result of 
+    * next().
+    * We always store the next element before it is requested.
+    * In the case that we have to continue calculations into the 
+    * supplementary planes, a false will be returned.
+    * @param element return result object
+    * @return true if the next range is found, false if we have to proceed to
+    *         the supplementary range.
+    */
+    private final boolean calculateNextBMPElement(Element element)
+    {
+        int currentBlock    = m_nextBlock_;
+        int currentValue    = m_nextValue_;
+        m_currentCodepoint_ = m_nextCodepoint_;
+        m_nextCodepoint_ ++;
+        m_nextBlockIndex_ ++;
+        if (!checkBlockDetail(currentValue)) {
+            setResult(element, m_currentCodepoint_, m_nextCodepoint_, 
+                      currentValue);
+            return true;
+        }
+        // synwee check that next block index == 0 here 
+        // enumerate BMP - the main loop enumerates data blocks
+        while (m_nextCodepoint_ < UCharacter.SUPPLEMENTARY_MIN_VALUE) {
+            m_nextIndex_ ++;
+            // because of the way the character is split to form the index
+            // the lead surrogate and trail surrogate can not be in the
+            // mid of a block
+            if (m_nextCodepoint_ == LEAD_SURROGATE_MIN_VALUE_) {
+                // skip lead surrogate code units,
+                // go to lead surrogate codepoints
+                m_nextIndex_ = BMP_INDEX_LENGTH_;
+            }
+            else if (m_nextCodepoint_ == TRAIL_SURROGATE_MIN_VALUE_) {
+                // go back to regular BMP code points
+                m_nextIndex_ = m_nextCodepoint_ >> Trie.INDEX_STAGE_1_SHIFT_;
+            }
+            
+            m_nextBlockIndex_ = 0;
+            if (!checkBlock(currentBlock, currentValue)) {
+                setResult(element, m_currentCodepoint_, m_nextCodepoint_, 
+                          currentValue);
+                return true;
+            }
+        }
+        m_nextCodepoint_ --;   // step one back since this value has not been
+        m_nextBlockIndex_ --;  // retrieved yet.
+        return false;
+    }
+
+    /**
+    * Finds the next supplementary element.
+    * For each entry in the trie, the value to be delivered is passed through
+    * extract().
+    * We always store the next element before it is requested.
+    * Called after calculateNextBMP() completes its round of BMP characters.
+    * There is a slight difference in the usage of m_currentCodepoint_
+    * here as compared to calculateNextBMP(). Though both represents the
+    * lower bound of the next element, in calculateNextBMP() it gets set
+    * at the start of any loop, where-else, in calculateNextSupplementary()
+    * since m_currentCodepoint_ already contains the lower bound of the
+    * next element (passed down from calculateNextBMP()), we keep it till 
+    * the end before resetting it to the new value.
+    * Note, if there are no more iterations, it will never get to here. 
+    * Blocked out by next().
+    * @param element return result object
+    * @draft 2.1
+    */
+    private final void calculateNextSupplementaryElement(Element element)
+    {
+        int currentValue = m_nextValue_;
+        int currentBlock = m_nextBlock_;
+        m_nextCodepoint_ ++;
+        m_nextBlockIndex_ ++;
+        
+        if (UTF16.getTrailSurrogate(m_nextCodepoint_) 
+                                        != UTF16.TRAIL_SURROGATE_MIN_VALUE) { 
+            // this piece is only called when we are in the middle of a lead
+            // surrogate block
+            if (!checkNullNextTrailIndex() && !checkBlockDetail(currentValue)) {
+                setResult(element, m_currentCodepoint_, m_nextCodepoint_, 
+                          currentValue);
+                m_currentCodepoint_ = m_nextCodepoint_;
+                return;
+            }
+            // we have cleared one block
+            m_nextIndex_ ++;
+            m_nextTrailIndexOffset_ ++;
+            if (!checkTrailBlock(currentBlock, currentValue)) {
+                setResult(element, m_currentCodepoint_, m_nextCodepoint_, 
+                          currentValue);
+                m_currentCodepoint_ = m_nextCodepoint_;
+                return;
+            }
+        }
+        int nextLead  = UTF16.getLeadSurrogate(m_nextCodepoint_);
+        // enumerate supplementary code points
+        while (nextLead < TRAIL_SURROGATE_MIN_VALUE_) {
+            // lead surrogate access
+            int leadBlock = 
+                   m_trie_.m_index_[nextLead >> Trie.INDEX_STAGE_1_SHIFT_] << 
+                                                   Trie.INDEX_STAGE_2_SHIFT_;
+            if (leadBlock == m_trie_.m_dataOffset_) {
+                // no entries for a whole block of lead surrogates
+                if (currentValue != m_initialValue_) {
+                    m_nextValue_      = m_initialValue_;
+                    m_nextBlock_      = 0;
+                    m_nextBlockIndex_ = 0;
+                    setResult(element, m_currentCodepoint_, m_nextCodepoint_, 
+                              currentValue);
+                    m_currentCodepoint_ = m_nextCodepoint_;
+                    return;
+                }
+
+                nextLead += DATA_BLOCK_LENGTH_;
+                // number of total affected supplementary codepoints in one
+                // block
+                // this is not a simple addition of 
+                // DATA_BLOCK_SUPPLEMENTARY_LENGTH since we need to consider
+                // that we might have moved some of the codepoints
+                m_nextCodepoint_ = UCharacterProperty.getRawSupplementary(
+                                     (char)nextLead, 
+                                     (char)UTF16.TRAIL_SURROGATE_MIN_VALUE);
+                continue;
+            }
+            if (m_trie_.m_dataManipulate_ == null) {
+                throw new NullPointerException(
+                            "The field DataManipulate in this Trie is null");
+            }
+            // enumerate trail surrogates for this lead surrogate
+            m_nextIndex_ = m_trie_.m_dataManipulate_.getFoldingOffset(
+                               m_trie_.getValue(leadBlock + 
+                                   (nextLead & Trie.INDEX_STAGE_3_MASK_)));
+            if (m_nextIndex_ <= 0) {
+                // no data for this lead surrogate
+                if (currentValue != m_initialValue_) {
+                    m_nextValue_      = m_initialValue_;
+                    m_nextBlock_      = 0;
+                    m_nextBlockIndex_ = 0;
+                    setResult(element, m_currentCodepoint_, m_nextCodepoint_, 
+                              currentValue);
+                    m_currentCodepoint_ = m_nextCodepoint_;
+                    return;
+                }
+                m_nextCodepoint_ += TRAIL_SURROGATE_COUNT_;
+            } else {
+                m_nextTrailIndexOffset_ = 0;
+                if (!checkTrailBlock(currentBlock, currentValue)) {
+                    setResult(element, m_currentCodepoint_, m_nextCodepoint_, 
+                              currentValue);
+                    m_currentCodepoint_ = m_nextCodepoint_;
+                    return;
+                }
+            }    
+            nextLead ++;
+         }
+
+         // deliver last range
+         setResult(element, m_currentCodepoint_, UCharacter.MAX_VALUE + 1, 
+                   currentValue);
+    }    
+    
+    /**
+    * Internal block value calculations
+    * Performs calculations on a data block to find codepoints in m_nextBlock_
+    * after the index m_nextBlockIndex_ that has the same value.
+    * Note m_*_ variables at this point is the next codepoint whose value
+    * has not been calculated.
+    * But when returned with false, it will be the last codepoint whose
+    * value has been calculated.
+    * @param currentValue the value which other codepoints are tested against
+    * @return true if the whole block has the same value as currentValue or if
+    *              the whole block has been calculated, false otherwise.
+    */
+    private final boolean checkBlockDetail(int currentValue)
+    {
+        while (m_nextBlockIndex_ < DATA_BLOCK_LENGTH_) {
+            m_nextValue_ = extract(m_trie_.getValue(m_nextBlock_ + 
+                                                    m_nextBlockIndex_));
+            if (m_nextValue_ != currentValue) {
+                return false;
+            }
+            ++ m_nextBlockIndex_;
+            ++ m_nextCodepoint_;
+        }
+        return true;
+    }
+    
+    /**
+    * Internal block value calculations
+    * Performs calculations on a data block to find codepoints in m_nextBlock_
+    * that has the same value. 
+    * Will call checkBlockDetail() if highlevel check fails.
+    * Note m_*_ variables at this point is the next codepoint whose value
+    * has not been calculated.
+    * @param currentBlock the initial block containing all currentValue
+    * @param currentValue the value which other codepoints are tested against
+    * @return true if the whole block has the same value as currentValue or if
+    *              the whole block has been calculated, false otherwise.
+    */
+    private final boolean checkBlock(int currentBlock, int currentValue) 
+    {
+        m_nextBlock_ = m_trie_.m_index_[m_nextIndex_] << 
+                                                  Trie.INDEX_STAGE_2_SHIFT_;
+        if (m_nextBlock_ == currentBlock &&
+            (m_nextCodepoint_ - m_currentCodepoint_) >= DATA_BLOCK_LENGTH_) {
+            // the block is the same as the previous one, filled with 
+            // currentValue
+            m_nextCodepoint_ += DATA_BLOCK_LENGTH_;
+        }
+        else if (m_nextBlock_ == 0) {
+            // this is the all-initial-value block
+            if (currentValue != m_initialValue_) {
+                m_nextValue_      = m_initialValue_;
+                m_nextBlockIndex_ = 0;
+                return false;
+            }
+            m_nextCodepoint_ += DATA_BLOCK_LENGTH_;
+        }
+        else {
+            if (!checkBlockDetail(currentValue)) {
+                return false;
+            }
+        }
+        return true;
+    }
+    
+    /**
+    * Internal block value calculations
+    * Performs calculations on multiple data blocks for a set of trail 
+    * surrogates to find codepoints in m_nextBlock_ that has the same value. 
+    * Will call checkBlock() for internal block checks.
+    * Note m_*_ variables at this point is the next codepoint whose value
+    * has not been calculated.
+    * @param currentBlock the initial block containing all currentValue
+    * @param currentValue the value which other codepoints are tested against
+    * @return true if the whole block has the same value as currentValue or if
+    *              the whole block has been calculated, false otherwise.
+    */
+    private final boolean checkTrailBlock(int currentBlock,
+                                          int currentValue)
+    {
+        // enumerate code points for this lead surrogate
+        while (m_nextTrailIndexOffset_ < TRAIL_SURROGATE_INDEX_BLOCK_LENGTH_) 
+        {
+            // if we ever reach here, we are at the start of a new block
+            m_nextBlockIndex_ = 0;
+            // copy of most of the body of the BMP loop
+            if (!checkBlock(currentBlock, currentValue)) {
+                return false;
+            }
+            m_nextTrailIndexOffset_ ++;
+            m_nextIndex_ ++;
+        }
+        return true;
+    }
+    
+    /**
+    * Checks if we are beginning at the start of a initial block.
+    * If we are then the rest of the codepoints in this initial block
+    * has the same values.
+    * We increment m_nextCodepoint_ and relevant data members if so.
+    * This is used only in for the supplementary codepoints because
+    * the offset to the trail indexes could be 0.
+    * @return true if we are at the start of a initial block.
+    */
+    private final boolean checkNullNextTrailIndex()
+    {
+        if (m_nextIndex_ <= 0) {
+            m_nextCodepoint_ += TRAIL_SURROGATE_COUNT_ - 1;
+            int nextLead  = UTF16.getLeadSurrogate(m_nextCodepoint_);
+            int leadBlock = 
+                   m_trie_.m_index_[nextLead >> Trie.INDEX_STAGE_1_SHIFT_] << 
+                                                   Trie.INDEX_STAGE_2_SHIFT_;
+            if (m_trie_.m_dataManipulate_ == null) {
+                throw new NullPointerException(
+                            "The field DataManipulate in this Trie is null");
+            }
+            m_nextIndex_ = m_trie_.m_dataManipulate_.getFoldingOffset(
+                               m_trie_.getValue(leadBlock + 
+                                   (nextLead & Trie.INDEX_STAGE_3_MASK_)));
+            m_nextIndex_ --;
+            m_nextBlockIndex_ =  DATA_BLOCK_LENGTH_;
+            return true;
+        }
+        return false;
+    }
+
+    // private data members --------------------------------------------
+
+    /**
+    * Size of the stage 1 BMP indexes
+    */
+    private static final int BMP_INDEX_LENGTH_ =
+                                        0x10000 >> Trie.INDEX_STAGE_1_SHIFT_;
+    /**
+    * Lead surrogate minimum value
+    */
+    private static final int LEAD_SURROGATE_MIN_VALUE_ = 0xD800;
+    /**
+    * Trail surrogate minimum value
+    */
+    private static final int TRAIL_SURROGATE_MIN_VALUE_ = 0xDC00;
+    /**
+    * Trail surrogate maximum value
+    */
+    private static final int TRAIL_SURROGATE_MAX_VALUE_ = 0xDFFF;
+    /**
+    * Number of trail surrogate
+    */
+    private static final int TRAIL_SURROGATE_COUNT_ = 0x400;
+    /**
+    * Number of stage 1 indexes for supplementary calculations that maps to
+    * each lead surrogate character.
+    * See second pass into getRawOffset for the trail surrogate character.
+    * 10 for significant number of bits for trail surrogates, 5 for what we
+    * discard during shifting.
+    */
+    private static final int TRAIL_SURROGATE_INDEX_BLOCK_LENGTH_ =
+                                    1 << (10 - Trie.INDEX_STAGE_1_SHIFT_);
+    /**
+    * Number of data values in a stage 2 (data array) block.
+    */
+    private static final int DATA_BLOCK_LENGTH_ = 
+                                              1 << Trie.INDEX_STAGE_1_SHIFT_;
+    /**
+    * Number of codepoints in a stage 2 block
+    */
+    private static final int DATA_BLOCK_SUPPLEMENTARY_LENGTH_ =
+                                                     DATA_BLOCK_LENGTH_ << 10;
+    /**
+    * Trie instance
+    */
+    private Trie m_trie_;
+    /**
+    * Initial value for trie values
+    */
+    private int m_initialValue_;
+    /**
+    * Next element results and data.
+    */
+    private int m_currentCodepoint_;
+    private int m_nextCodepoint_;
+    private int m_nextValue_;
+    private int m_nextIndex_;
+    private int m_nextBlock_;
+    private int m_nextBlockIndex_;
+    private int m_nextTrailIndexOffset_;
+    /**
+    * This is the return result element
+    */
+    private int m_start_;
+    private int m_limit_;
+    private int m_value_;
+}
diff --git a/src/com/ibm/icu/impl/UBiDiProps.java b/src/com/ibm/icu/impl/UBiDiProps.java
new file mode 100644
index 0000000..beb3003
--- /dev/null
+++ b/src/com/ibm/icu/impl/UBiDiProps.java
@@ -0,0 +1,333 @@
+/*
+*******************************************************************************
+*
+*   Copyright (C) 2004-2005, International Business Machines
+*   Corporation and others.  All Rights Reserved.
+*
+*******************************************************************************
+*   file name:  UBiDiProps.java
+*   encoding:   US-ASCII
+*   tab size:   8 (not used)
+*   indentation:4
+*
+*   created on: 2005jan16
+*   created by: Markus W. Scherer
+*
+*   Low-level Unicode bidi/shaping properties access.
+*   Java port of ubidi_props.h/.c.
+*/
+
+package com.ibm.icu.impl;
+
+import java.io.InputStream;
+import java.io.DataInputStream;
+import java.io.BufferedInputStream;
+import java.io.IOException;
+import java.util.MissingResourceException;
+
+import com.ibm.icu.util.VersionInfo;
+import com.ibm.icu.util.RangeValueIterator;
+
+import com.ibm.icu.text.UnicodeSet;
+
+import com.ibm.icu.lang.UCharacter;
+import com.ibm.icu.lang.UProperty;
+
+public final class UBiDiProps {
+    // constructors etc. --------------------------------------------------- ***
+
+    // port of ubidi_openProps()
+    public UBiDiProps() throws IOException{
+        InputStream is=ICUData.getStream(ICUResourceBundle.ICU_BUNDLE+"/"+DATA_FILE_NAME);
+        BufferedInputStream b=new BufferedInputStream(is, 4096 /* data buffer size */);
+        readData(b);
+        b.close();
+        is.close();
+
+    }
+
+    private void readData(InputStream is) throws IOException {
+        DataInputStream inputStream=new DataInputStream(is);
+
+        // read the header
+        unicodeVersion=ICUBinary.readHeader(inputStream, FMT, new IsAcceptable());
+
+        // read indexes[]
+        int i, count;
+        count=inputStream.readInt();
+        if(count<IX_INDEX_TOP) {
+            throw new IOException("indexes[0] too small in "+DATA_FILE_NAME);
+        }
+        indexes=new int[count];
+
+        indexes[0]=count;
+        for(i=1; i<count; ++i) {
+            indexes[i]=inputStream.readInt();
+        }
+
+        // read the trie
+        trie=new CharTrie(inputStream, null);
+
+        // read mirrors[]
+        count=indexes[IX_MIRROR_LENGTH];
+        if(count>0) {
+            mirrors=new int[count];
+            for(i=0; i<count; ++i) {
+                mirrors[i]=inputStream.readInt();
+            }
+        }
+
+        // read jgArray[]
+        count=indexes[IX_JG_LIMIT]-indexes[IX_JG_START];
+        jgArray=new byte[count];
+        for(i=0; i<count; ++i) {
+            jgArray[i]=inputStream.readByte();
+        }
+    }
+
+    // implement ICUBinary.Authenticate
+    private final class IsAcceptable implements ICUBinary.Authenticate {
+        public boolean isDataVersionAcceptable(byte version[]) {
+            formatVersion=version;
+            return version[0]==1 &&
+                   version[2]==Trie.INDEX_STAGE_1_SHIFT_ && version[3]==Trie.INDEX_STAGE_2_SHIFT_;
+        }
+    }
+
+    // UBiDiProps singleton
+    private static UBiDiProps gBdp=null;
+
+    // port of ubidi_getSingleton()
+    public static final synchronized UBiDiProps getSingleton() throws IOException {
+        if(gBdp==null) {
+            gBdp=new UBiDiProps();
+        }
+        return gBdp;
+    }
+
+    // UBiDiProps dummy singleton
+    private static UBiDiProps gBdpDummy=null;
+
+    private UBiDiProps(boolean makeDummy) { // ignore makeDummy, only creates a unique signature
+        formatVersion=new byte[] { 1, 0, Trie.INDEX_STAGE_1_SHIFT_, Trie.INDEX_STAGE_2_SHIFT_ };
+        unicodeVersion=new byte[] { 2, 0, 0, 0 };
+        indexes=new int[IX_TOP];
+        indexes[0]=IX_TOP;
+        trie=new CharTrie(0, 0, null); // dummy trie, always returns 0
+    }
+
+    /**
+     * Get a singleton dummy object, one that works with no real data.
+     * This can be used when the real data is not available.
+     * Using the dummy can reduce checks for available data after an initial failure.
+     * Port of ucase_getDummy().
+     */
+    public static final synchronized UBiDiProps getDummy() {
+        if(gBdpDummy==null) {
+            gBdpDummy=new UBiDiProps(true);
+        }
+        return gBdpDummy;
+    }
+
+    // set of property starts for UnicodeSet ------------------------------- ***
+
+    public final void addPropertyStarts(UnicodeSet set) {
+        int i, length;
+        int c, start, limit;
+
+        byte prev, jg;
+
+        /* add the start code point of each same-value range of the trie */
+        TrieIterator iter=new TrieIterator(trie);
+        RangeValueIterator.Element element=new RangeValueIterator.Element();
+
+        while(iter.next(element)){
+            set.add(element.start);
+        }
+
+        /* add the code points from the bidi mirroring table */
+        length=indexes[IX_MIRROR_LENGTH];
+        for(i=0; i<length; ++i) {
+            c=getMirrorCodePoint(mirrors[i]);
+            set.add(c, c+1);
+        }
+
+        /* add the code points from the Joining_Group array where the value changes */
+        start=indexes[IX_JG_START];
+        limit=indexes[IX_JG_LIMIT];
+        length=limit-start;
+        prev=0;
+        for(i=0; i<length; ++i) {
+            jg=jgArray[i];
+            if(jg!=prev) {
+                set.add(start);
+                prev=jg;
+            }
+            ++start;
+        }
+        if(prev!=0) {
+            /* add the limit code point if the last value was not 0 (it is now start==limit) */
+            set.add(limit);
+        }
+
+        /* add code points with hardcoded properties, plus the ones following them */
+
+        /* (none right now) */
+    }
+
+    // property access functions ------------------------------------------- ***
+
+    public final int getMaxValue(int which) {
+        int max;
+
+        max=indexes[IX_MAX_VALUES];
+        switch(which) {
+        case UProperty.BIDI_CLASS:
+            return (max&CLASS_MASK);
+        case UProperty.JOINING_GROUP:
+            return (max&MAX_JG_MASK)>>MAX_JG_SHIFT;
+        case UProperty.JOINING_TYPE:
+            return (max&JT_MASK)>>JT_SHIFT;
+        default:
+            return -1; /* undefined */
+        }
+    }
+
+    public final int getClass(int c) {
+        return getClassFromProps(trie.getCodePointValue(c));
+    }
+
+    public final boolean isMirrored(int c) {
+        return getFlagFromProps(trie.getCodePointValue(c), IS_MIRRORED_SHIFT);
+    }
+
+    public final int getMirror(int c) {
+        int props;
+        int delta;
+
+        props=trie.getCodePointValue(c);
+        delta=((short)props)>>MIRROR_DELTA_SHIFT;
+        if(delta!=ESC_MIRROR_DELTA) {
+            return c+delta;
+        } else {
+            /* look for mirror code point in the mirrors[] table */
+            int m;
+            int i, length;
+            int c2;
+
+            length=indexes[IX_MIRROR_LENGTH];
+
+            /* linear search */
+            for(i=0; i<length; ++i) {
+                m=mirrors[i];
+                c2=getMirrorCodePoint(m);
+                if(c==c2) {
+                    /* found c, return its mirror code point using the index in m */
+                    return getMirrorCodePoint(mirrors[getMirrorIndex(m)]);
+                } else if(c<c2) {
+                    break;
+                }
+            }
+
+            /* c not found, return it itself */
+            return c;
+        }
+    }
+
+    public final boolean isBidiControl(int c) {
+        return getFlagFromProps(trie.getCodePointValue(c), BIDI_CONTROL_SHIFT);
+    }
+
+    public final boolean isJoinControl(int c) {
+        return getFlagFromProps(trie.getCodePointValue(c), JOIN_CONTROL_SHIFT);
+    }
+
+    public final int getJoiningType(int c) {
+        return (trie.getCodePointValue(c)&JT_MASK)>>JT_SHIFT;
+    }
+
+    public final int getJoiningGroup(int c) {
+        int start, limit;
+
+        start=indexes[IX_JG_START];
+        limit=indexes[IX_JG_LIMIT];
+        if(start<=c && c<limit) {
+            return (int)jgArray[c-start]&0xff;
+        } else {
+            return UCharacter.JoiningGroup.NO_JOINING_GROUP;
+        }
+    }
+
+    // data members -------------------------------------------------------- ***
+    private int indexes[];
+    private int mirrors[];
+    private byte jgArray[];
+
+    private CharTrie trie;
+    private byte formatVersion[];
+    private byte unicodeVersion[];  
+
+    // data format constants ----------------------------------------------- ***
+    private static final String DATA_NAME="ubidi";
+    private static final String DATA_TYPE="icu";
+    private static final String DATA_FILE_NAME=DATA_NAME+"."+DATA_TYPE;
+
+    /* format "BiDi" */
+    private static final byte FMT[]={ 0x42, 0x69, 0x44, 0x69 };
+
+    /* indexes into indexes[] */
+    private static final int IX_INDEX_TOP=0;
+    private static final int IX_LENGTH=1;
+    private static final int IX_TRIE_SIZE=2;
+    private static final int IX_MIRROR_LENGTH=3;
+
+    private static final int IX_JG_START=4;
+    private static final int IX_JG_LIMIT=5;
+
+    private static final int IX_MAX_VALUES=15;
+    private static final int IX_TOP=16;
+
+    // definitions for 16-bit bidi/shaping properties word ----------------- ***
+
+                          /* CLASS_SHIFT=0, */     /* bidi class: 5 bits (4..0) */
+    private static final int JT_SHIFT=5;           /* joining type: 3 bits (7..5) */
+
+    /* private static final int _SHIFT=8, reserved: 2 bits (9..8) */
+
+    private static final int JOIN_CONTROL_SHIFT=10;
+    private static final int BIDI_CONTROL_SHIFT=11;
+
+    private static final int IS_MIRRORED_SHIFT=12;         /* 'is mirrored' */
+    private static final int MIRROR_DELTA_SHIFT=13;        /* bidi mirroring delta: 3 bits (15..13) */
+
+    private static final int MAX_JG_SHIFT=16;              /* max JG value in indexes[MAX_VALUES_INDEX] bits 23..16 */
+
+    private static final int CLASS_MASK=    0x0000001f;
+    private static final int JT_MASK=       0x000000e0;
+
+    private static final int MAX_JG_MASK=   0x00ff0000;
+
+    private static final int getClassFromProps(int props) {
+        return props&CLASS_MASK;
+    }
+    private static final boolean getFlagFromProps(int props, int shift) {
+        return ((props>>shift)&1)!=0;
+    }
+
+    private static final int ESC_MIRROR_DELTA=-4;
+    private static final int MIN_MIRROR_DELTA=-3;
+    private static final int MAX_MIRROR_DELTA=3;
+
+    // definitions for 32-bit mirror table entry --------------------------- ***
+
+    /* the source Unicode code point takes 21 bits (20..0) */
+    private static final int MIRROR_INDEX_SHIFT=21;
+    private static final int MAX_MIRROR_INDEX=0x7ff;
+
+    private static final int getMirrorCodePoint(int m) {
+        return m&0x1fffff;
+    }
+    private static final int getMirrorIndex(int m) {
+        return m>>>MIRROR_INDEX_SHIFT;
+    }
+}
diff --git a/src/com/ibm/icu/impl/UCaseProps.java b/src/com/ibm/icu/impl/UCaseProps.java
new file mode 100644
index 0000000..1fea770
--- /dev/null
+++ b/src/com/ibm/icu/impl/UCaseProps.java
@@ -0,0 +1,1413 @@
+/*
+*******************************************************************************
+*
+*   Copyright (C) 2004-2005, International Business Machines
+*   Corporation and others.  All Rights Reserved.
+*
+*******************************************************************************
+*   file name:  UCaseProps.java
+*   encoding:   US-ASCII
+*   tab size:   8 (not used)
+*   indentation:4
+*
+*   created on: 2005jan29
+*   created by: Markus W. Scherer
+*
+*   Low-level Unicode character/string case mapping code.
+*   Java port of ucase.h/.c.
+*/
+
+package com.ibm.icu.impl;
+
+import java.io.InputStream;
+import java.io.DataInputStream;
+import java.io.BufferedInputStream;
+import java.io.IOException;
+
+import com.ibm.icu.util.VersionInfo;
+import com.ibm.icu.util.RangeValueIterator;
+import com.ibm.icu.util.ULocale;
+
+import com.ibm.icu.text.UTF16;
+import com.ibm.icu.text.UnicodeSet;
+
+import com.ibm.icu.lang.UCharacter;
+import com.ibm.icu.lang.UProperty;
+
+public final class UCaseProps {
+    // constructors etc. --------------------------------------------------- ***
+
+    // port of ucase_openProps()
+    public UCaseProps() throws IOException {
+        InputStream is=ICUData.getRequiredStream(ICUResourceBundle.ICU_BUNDLE+"/"+DATA_FILE_NAME);
+        BufferedInputStream b=new BufferedInputStream(is, 4096 /* data buffer size */);
+        readData(b);
+        b.close();
+        is.close();
+    }
+
+    private final void readData(InputStream is) throws IOException {
+        DataInputStream inputStream=new DataInputStream(is);
+
+        // read the header
+        unicodeVersion=ICUBinary.readHeader(inputStream, FMT, new IsAcceptable());
+
+        // read indexes[]
+        int i, count;
+        count=inputStream.readInt();
+        if(count<IX_INDEX_TOP) {
+            throw new IOException("indexes[0] too small in "+DATA_FILE_NAME);
+        }
+        indexes=new int[count];
+
+        indexes[0]=count;
+        for(i=1; i<count; ++i) {
+            indexes[i]=inputStream.readInt();
+        }
+
+        // read the trie
+        trie=new CharTrie(inputStream, null);
+
+        // read exceptions[]
+        count=indexes[IX_EXC_LENGTH];
+        if(count>0) {
+            exceptions=new char[count];
+            for(i=0; i<count; ++i) {
+                exceptions[i]=inputStream.readChar();
+            }
+        }
+
+        // read unfold[]
+        count=indexes[IX_UNFOLD_LENGTH];
+        if(count>0) {
+            unfold=new char[count];
+            for(i=0; i<count; ++i) {
+                unfold[i]=inputStream.readChar();
+            }
+        }
+    }
+
+    // implement ICUBinary.Authenticate
+    private final class IsAcceptable implements ICUBinary.Authenticate {
+        public boolean isDataVersionAcceptable(byte version[]) {
+            formatVersion=version;
+            return version[0]==1 &&
+                   version[2]==Trie.INDEX_STAGE_1_SHIFT_ && version[3]==Trie.INDEX_STAGE_2_SHIFT_;
+        }
+    }
+
+    // UCaseProps singleton
+    private static UCaseProps gCsp=null;
+
+    // port of ucase_getSingleton()
+    public static final synchronized UCaseProps getSingleton() throws IOException {
+        if(gCsp==null) {
+            gCsp=new UCaseProps();
+        }
+        return gCsp;
+    }
+
+    // UCaseProps dummy singleton
+    private static UCaseProps gCspDummy=null;
+
+    private UCaseProps(boolean makeDummy) { // ignore makeDummy, only creates a unique signature
+        formatVersion=new byte[] { 1, 0, Trie.INDEX_STAGE_1_SHIFT_, Trie.INDEX_STAGE_2_SHIFT_ };
+        unicodeVersion=new byte[] { 2, 0, 0, 0 };
+        indexes=new int[IX_TOP];
+        indexes[0]=IX_TOP;
+        trie=new CharTrie(0, 0, null); // dummy trie, always returns 0
+    }
+
+    /**
+     * Get a singleton dummy object, one that works with no real data.
+     * This can be used when the real data is not available.
+     * Using the dummy can reduce checks for available data after an initial failure.
+     * Port of ucase_getDummy().
+     */
+    public static final synchronized UCaseProps getDummy() {
+        if(gCspDummy==null) {
+            gCspDummy=new UCaseProps(true);
+        }
+        return gCspDummy;
+    }
+
+    // set of property starts for UnicodeSet ------------------------------- ***
+
+    public final void addPropertyStarts(UnicodeSet set) {
+        int i, length;
+        int c, start, limit;
+
+        byte prev, jg;
+
+        /* add the start code point of each same-value range of the trie */
+        TrieIterator iter=new TrieIterator(trie);
+        RangeValueIterator.Element element=new RangeValueIterator.Element();
+
+        while(iter.next(element)){
+            set.add(element.start);
+        }
+
+        /* add code points with hardcoded properties, plus the ones following them */
+
+        /* (none right now, see comment below) */
+
+        /*
+         * Omit code points with hardcoded specialcasing properties
+         * because we do not build property UnicodeSets for them right now.
+         */
+    }
+
+    // data access primitives ---------------------------------------------- ***
+    private static final int getExceptionsOffset(int props) {
+        return props>>EXC_SHIFT;
+    }
+
+    private static final boolean propsHasException(int props) {
+        return (props&EXCEPTION)!=0;
+    }
+
+    /* number of bits in an 8-bit integer value */
+    private static final byte flagsOffset[/*256*/]={
+        0, 1, 1, 2, 1, 2, 2, 3, 1, 2, 2, 3, 2, 3, 3, 4,
+        1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5,
+        1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5,
+        2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6,
+        1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5,
+        2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6,
+        2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6,
+        3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7,
+        1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5,
+        2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6,
+        2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6,
+        3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7,
+        2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6,
+        3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7,
+        3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7,
+        4, 5, 5, 6, 5, 6, 6, 7, 5, 6, 6, 7, 6, 7, 7, 8
+    };
+
+    private static final boolean hasSlot(int flags, int index) {
+        return (flags&(1<<index))!=0;
+    }
+    private static final byte slotOffset(int flags, int index) {
+        return flagsOffset[flags&((1<<index)-1)];
+    }
+
+    /*
+     * Get the value of an optional-value slot where hasSlot(excWord, index).
+     *
+     * @param excWord (in) initial exceptions word
+     * @param index (in) desired slot index
+     * @param excOffset (in) offset into exceptions[] after excWord=exceptions[excOffset++];
+     * @return bits 31..0: slot value
+     *             63..32: modified excOffset, moved to the last char of the value, use +1 for beginning of next slot 
+     */
+    private final long getSlotValueAndOffset(int excWord, int index, int excOffset) {
+        long value;
+        if((excWord&EXC_DOUBLE_SLOTS)==0) {
+            excOffset+=slotOffset(excWord, index);
+            value=exceptions[excOffset];
+        } else {
+            excOffset+=2*slotOffset(excWord, index);
+            value=exceptions[excOffset++];
+            value=(value<<16)|exceptions[excOffset];
+        }
+        return (long)value|((long)excOffset<<32);
+    }
+
+    /* same as getSlotValueAndOffset() but does not return the slot offset */
+    private final int getSlotValue(int excWord, int index, int excOffset) {
+        int value;
+        if((excWord&EXC_DOUBLE_SLOTS)==0) {
+            excOffset+=slotOffset(excWord, index);
+            value=exceptions[excOffset];
+        } else {
+            excOffset+=2*slotOffset(excWord, index);
+            value=exceptions[excOffset++];
+            value=(value<<16)|exceptions[excOffset];
+        }
+        return value;
+    }
+
+    // simple case mappings ------------------------------------------------ ***
+
+    public final int tolower(int c) {
+        int props=trie.getCodePointValue(c);
+        if(!propsHasException(props)) {
+            if(getTypeFromProps(props)>=UPPER) {
+                c+=getDelta(props);
+            }
+        } else {
+            int excOffset=getExceptionsOffset(props);
+            int excWord=exceptions[excOffset++];
+            if(hasSlot(excWord, EXC_LOWER)) {
+                c=getSlotValue(excWord, EXC_LOWER, excOffset);
+            }
+        }
+        return c;
+    }
+
+    public final int toupper(int c) {
+        int props=trie.getCodePointValue(c);
+        if(!propsHasException(props)) {
+            if(getTypeFromProps(props)==LOWER) {
+                c+=getDelta(props);
+            }
+        } else {
+            int excOffset=getExceptionsOffset(props);
+            int excWord=exceptions[excOffset++];
+            if(hasSlot(excWord, EXC_UPPER)) {
+                c=getSlotValue(excWord, EXC_UPPER, excOffset);
+            }
+        }
+        return c;
+    }
+
+    public final int totitle(int c) {
+        int props=trie.getCodePointValue(c);
+        if(!propsHasException(props)) {
+            if(getTypeFromProps(props)==LOWER) {
+                c+=getDelta(props);
+            }
+        } else {
+            int excOffset=getExceptionsOffset(props);
+            int excWord=exceptions[excOffset++];
+            int index;
+            if(hasSlot(excWord, EXC_TITLE)) {
+                index=EXC_TITLE;
+            } else if(hasSlot(excWord, EXC_UPPER)) {
+                index=EXC_UPPER;
+            } else {
+                return c;
+            }
+            c=getSlotValue(excWord, index, excOffset);
+        }
+        return c;
+    }
+
+    /**
+     * Adds all simple case mappings and the full case folding for c to sa,
+     * and also adds special case closure mappings.
+     * c itself is not added.
+     * For example, the mappings
+     * - for s include long s
+     * - for sharp s include ss
+     * - for k include the Kelvin sign
+     */
+    public final void addCaseClosure(int c, UnicodeSet set) {
+        /*
+         * Hardcode the case closure of i and its relatives and ignore the
+         * data file data for these characters.
+         * The Turkic dotless i and dotted I with their case mapping conditions
+         * and case folding option make the related characters behave specially.
+         * This code matches their closure behavior to their case folding behavior.
+         */
+
+        switch(c) {
+        case 0x49:
+            /* regular i and I are in one equivalence class */
+            set.add(0x69);
+            return;
+        case 0x69:
+            set.add(0x49);
+            return;
+        case 0x130:
+            /* dotted I is in a class with <0069 0307> (for canonical equivalence with <0049 0307>) */
+            set.add(iDot);
+            return;
+        case 0x131:
+            /* dotless i is in a class by itself */
+            return;
+        default:
+            /* otherwise use the data file data */
+            break;
+        }
+
+        int props=trie.getCodePointValue(c);
+        if(!propsHasException(props)) {
+            if(getTypeFromProps(props)!=NONE) {
+                /* add the one simple case mapping, no matter what type it is */
+                int delta=getDelta(props);
+                if(delta!=0) {
+                    set.add(c+delta);
+                }
+            }
+        } else {
+            /*
+             * c has exceptions, so there may be multiple simple and/or
+             * full case mappings. Add them all.
+             */
+            int excOffset0, excOffset=getExceptionsOffset(props);
+            int closureOffset;
+            int excWord=exceptions[excOffset++];
+            int index, closureLength, fullLength, length;
+
+            excOffset0=excOffset;
+
+            /* add all simple case mappings */
+            for(index=EXC_LOWER; index<=EXC_TITLE; ++index) {
+                if(hasSlot(excWord, index)) {
+                    excOffset=excOffset0;
+                    c=getSlotValue(excWord, index, excOffset);
+                    set.add(c);
+                }
+            }
+
+            /* get the closure string pointer & length */
+            if(hasSlot(excWord, EXC_CLOSURE)) {
+                excOffset=excOffset0;
+                long value=getSlotValueAndOffset(excWord, EXC_CLOSURE, excOffset);
+                closureLength=(int)value&CLOSURE_MAX_LENGTH; /* higher bits are reserved */
+                closureOffset=(int)(value>>32)+1; /* behind this slot, unless there are full case mappings */
+            } else {
+                closureLength=0;
+                closureOffset=0;
+            }
+
+            /* add the full case folding */
+            if(hasSlot(excWord, EXC_FULL_MAPPINGS)) {
+                excOffset=excOffset0;
+                long value=getSlotValueAndOffset(excWord, EXC_FULL_MAPPINGS, excOffset);
+                fullLength=(int)value;
+
+                /* start of full case mapping strings */
+                excOffset=(int)(value>>32)+1;
+
+                fullLength&=0xffff; /* bits 16 and higher are reserved */
+
+                /* skip the lowercase result string */
+                excOffset+=fullLength&FULL_LOWER;
+                fullLength>>=4;
+
+                /* add the full case folding string */
+                length=fullLength&0xf;
+                if(length!=0) {
+                    set.add(new String(exceptions, excOffset, length));
+                    excOffset+=length;
+                }
+
+                /* skip the uppercase and titlecase strings */
+                fullLength>>=4;
+                excOffset+=fullLength&0xf;
+                fullLength>>=4;
+                excOffset+=fullLength;
+
+                closureOffset=excOffset; /* behind full case mappings */
+            }
+
+            /* add each code point in the closure string */
+            for(index=0; index<closureLength; index+=UTF16.getCharCount(c)) {
+                c=UTF16.charAt(exceptions, closureOffset, exceptions.length, index);
+                set.add(c);
+            }
+        }
+    }
+
+    /*
+     * compare s, which has a length, with t=unfold[unfoldOffset..], which has a maximum length or is NUL-terminated
+     * must be s.length()>0 and max>0 and s.length()<=max
+     */
+    private final int strcmpMax(String s, int unfoldOffset, int max) {
+        int i1, length, c1, c2;
+
+        length=s.length();
+        max-=length; /* we require length<=max, so no need to decrement max in the loop */
+        i1=0;
+        do {
+            c1=s.charAt(i1++);
+            c2=unfold[unfoldOffset++];
+            if(c2==0) {
+                return 1; /* reached the end of t but not of s */
+            }
+            c1-=c2;
+            if(c1!=0) {
+                return c1; /* return difference result */
+            }
+        } while(--length>0);
+        /* ends with length==0 */
+
+        if(max==0 || unfold[unfoldOffset]==0) {
+            return 0; /* equal to length of both strings */
+        } else {
+            return -max; /* return lengh difference */
+        }
+    }
+
+    /**
+     * Maps the string to single code points and adds the associated case closure
+     * mappings.
+     * The string is mapped to code points if it is their full case folding string.
+     * In other words, this performs a reverse full case folding and then
+     * adds the case closure items of the resulting code points.
+     * If the string is found and its closure applied, then
+     * the string itself is added as well as part of its code points' closure.
+     *
+     * @return true if the string was found
+     */
+    public final boolean addStringCaseClosure(String s, UnicodeSet set) {
+        int i, length, start, limit, result, unfoldOffset, unfoldRows, unfoldRowWidth, unfoldStringWidth, unfoldCPWidth;
+
+        if(unfold==null || s==null) {
+            return false; /* no reverse case folding data, or no string */
+        }
+        length=s.length();
+        if(length<=1) {
+            /* the string is too short to find any match */
+            /*
+             * more precise would be:
+             * if(!u_strHasMoreChar32Than(s, length, 1))
+             * but this does not make much practical difference because
+             * a single supplementary code point would just not be found
+             */
+            return false;
+        }
+
+        unfoldRows=unfold[UNFOLD_ROWS];
+        unfoldRowWidth=unfold[UNFOLD_ROW_WIDTH];
+        unfoldStringWidth=unfold[UNFOLD_STRING_WIDTH];
+        unfoldCPWidth=unfoldRowWidth-unfoldStringWidth;
+
+        if(length>unfoldStringWidth) {
+            /* the string is too long to find any match */
+            return false;
+        }
+
+        /* do a binary search for the string */
+        start=0;
+        limit=unfoldRows;
+        while(start<limit) {
+            i=(start+limit)/2;
+            unfoldOffset=((i+1)*unfoldRowWidth); // +1 to skip the header values above
+            result=strcmpMax(s, unfoldOffset, unfoldStringWidth);
+
+            if(result==0) {
+                /* found the string: add each code point, and its case closure */
+                int c;
+
+                for(i=unfoldStringWidth; i<unfoldRowWidth && unfold[unfoldOffset+i]!=0; i+=UTF16.getCharCount(c)) {
+                    c=UTF16.charAt(unfold, unfoldOffset, unfold.length, i);
+                    set.add(c);
+                    addCaseClosure(c, set);
+                }
+                return true;
+            } else if(result<0) {
+                limit=i;
+            } else /* result>0 */ {
+                start=i+1;
+            }
+        }
+
+        return false; /* string not found */
+    }
+
+    /** @return NONE, LOWER, UPPER, TITLE */
+    public final int getType(int c) {
+        return getTypeFromProps(trie.getCodePointValue(c));
+    }
+
+    /** @return same as getType(), or <0 if c is case-ignorable */
+    public final int getTypeOrIgnorable(int c) {
+        int props=trie.getCodePointValue(c);
+        int type=getTypeFromProps(props);
+        if(type!=NONE) {
+            return type;
+        } else if(
+            c==0x307 ||
+            (props&(EXCEPTION|CASE_IGNORABLE))==CASE_IGNORABLE
+        ) {
+            return -1; /* case-ignorable */
+        } else {
+            return 0; /* c is neither cased nor case-ignorable */
+        }
+    }
+
+    /** @return NO_DOT, SOFT_DOTTED, ABOVE, OTHER_ACCENT */
+    public final int getDotType(int c) {
+        int props=trie.getCodePointValue(c);
+        if(!propsHasException(props)) {
+            return props&DOT_MASK;
+        } else {
+            return (exceptions[getExceptionsOffset(props)]>>EXC_DOT_SHIFT)&DOT_MASK;
+        }
+    }
+
+    public final boolean isSoftDotted(int c) {
+        return getDotType(c)==SOFT_DOTTED;
+    }
+
+    public final boolean isCaseSensitive(int c) {
+        return (trie.getCodePointValue(c)&SENSITIVE)!=0;
+    }
+
+    // string casing ------------------------------------------------------- ***
+
+    /*
+     * These internal functions form the core of string case mappings.
+     * They map single code points to result code points or strings and take
+     * all necessary conditions (context, locale ID, options) into account.
+     *
+     * They do not iterate over the source or write to the destination
+     * so that the same functions are useful for non-standard string storage,
+     * such as in a Replaceable (for Transliterator) or UTF-8/32 strings etc.
+     * For the same reason, the "surrounding text" context is passed in as a
+     * ContextIterator which does not make any assumptions about
+     * the underlying storage.
+     *
+     * This section contains helper functions that check for conditions
+     * in the input text surrounding the current code point
+     * according to SpecialCasing.txt.
+     *
+     * Each helper function gets the index
+     * - after the current code point if it looks at following text
+     * - before the current code point if it looks at preceding text
+     *
+     * Unicode 3.2 UAX 21 "Case Mappings" defines the conditions as follows:
+     *
+     * Final_Sigma
+     *   C is preceded by a sequence consisting of
+     *     a cased letter and a case-ignorable sequence,
+     *   and C is not followed by a sequence consisting of
+     *     an ignorable sequence and then a cased letter.
+     *
+     * More_Above
+     *   C is followed by one or more characters of combining class 230 (ABOVE)
+     *   in the combining character sequence.
+     *
+     * After_Soft_Dotted
+     *   The last preceding character with combining class of zero before C
+     *   was Soft_Dotted,
+     *   and there is no intervening combining character class 230 (ABOVE).
+     *
+     * Before_Dot
+     *   C is followed by combining dot above (U+0307).
+     *   Any sequence of characters with a combining class that is neither 0 nor 230
+     *   may intervene between the current character and the combining dot above.
+     *
+     * The erratum from 2002-10-31 adds the condition
+     *
+     * After_I
+     *   The last preceding base character was an uppercase I, and there is no
+     *   intervening combining character class 230 (ABOVE).
+     *
+     *   (See Jitterbug 2344 and the comments on After_I below.)
+     *
+     * Helper definitions in Unicode 3.2 UAX 21:
+     *
+     * D1. A character C is defined to be cased
+     *     if it meets any of the following criteria:
+     *
+     *   - The general category of C is Titlecase Letter (Lt)
+     *   - In [CoreProps], C has one of the properties Uppercase, or Lowercase
+     *   - Given D = NFD(C), then it is not the case that:
+     *     D = UCD_lower(D) = UCD_upper(D) = UCD_title(D)
+     *     (This third criterium does not add any characters to the list
+     *      for Unicode 3.2. Ignored.)
+     *
+     * D2. A character C is defined to be case-ignorable
+     *     if it meets either of the following criteria:
+     *
+     *   - The general category of C is
+     *     Nonspacing Mark (Mn), or Enclosing Mark (Me), or Format Control (Cf), or
+     *     Letter Modifier (Lm), or Symbol Modifier (Sk)
+     *   - C is one of the following characters 
+     *     U+0027 APOSTROPHE
+     *     U+00AD SOFT HYPHEN (SHY)
+     *     U+2019 RIGHT SINGLE QUOTATION MARK
+     *            (the preferred character for apostrophe)
+     *
+     * D3. A case-ignorable sequence is a sequence of
+     *     zero or more case-ignorable characters.
+     */
+
+    /**
+     * Iterator for string case mappings, which need to look at the
+     * context (surrounding text) of a given character for conditional mappings.
+     *
+     * The iterator only needs to go backward or forward away from the
+     * character in question. It does not use any indexes on this interface.
+     * It does not support random access or an arbitrary change of
+     * iteration direction.
+     *
+     * The code point being case-mapped itself is never returned by
+     * this iterator.
+     */
+    public interface ContextIterator {
+        /**
+         * Reset the iterator for forward or backward iteration.
+         * @param dir >0: Begin iterating forward from the first code point
+         * after the one that is being case-mapped.
+         *            <0: Begin iterating backward from the first code point
+         * before the one that is being case-mapped.   
+         */
+        public void reset(int dir);
+        /**
+         * Iterate and return the next code point, moving in the direction
+         * determined by the reset() call.
+         * @return Next code point, or <0 when the iteration is done. 
+         */
+        public int next();
+    }
+
+    /**
+     * For string case mappings, a single character (a code point) is mapped
+     * either to itself (in which case in-place mapping functions do nothing),
+     * or to another single code point, or to a string.
+     * Aside from the string contents, these are indicated with a single int
+     * value as follows:
+     *
+     * Mapping to self: Negative values (~self instead of -self to support U+0000)
+     *
+     * Mapping to another code point: Positive values >MAX_STRING_LENGTH
+     *
+     * Mapping to a string: The string length (0..MAX_STRING_LENGTH) is
+     * returned. Note that the string result may indeed have zero length.
+     */
+    public static final int MAX_STRING_LENGTH=0x1f;
+
+    private static final int LOC_UNKNOWN=0;
+    private static final int LOC_ROOT=1;
+    private static final int LOC_TURKISH=2;
+    private static final int LOC_LITHUANIAN=3;
+
+    /*
+     * Checks and caches the type of locale ID as it is relevant for case mapping.
+     * If the locCache is not null, then it must be initialized with locCache[0]=0 .
+     */
+    private static final int getCaseLocale(ULocale locale, int[] locCache) {
+        int result;
+
+        if(locCache!=null && (result=locCache[0])!=LOC_UNKNOWN) {
+            return result;
+        }
+
+        result=LOC_ROOT;
+
+        String language=locale.getLanguage();
+        if(language.equals("tr") || language.equals("tur") || language.equals("az") || language.equals("aze")) {
+            result=LOC_TURKISH;
+        } else if(language.equals("lt") || language.equals("lit")) {
+            result=LOC_LITHUANIAN;
+        }
+
+        if(locCache!=null) {
+            locCache[0]=result;
+        }
+        return result;
+    }
+
+    /* Is followed by {case-ignorable}* cased  ? (dir determines looking forward/backward) */
+    private final boolean isFollowedByCasedLetter(ContextIterator iter, int dir) {
+        int c;
+        int props;
+
+        if(iter==null) {
+            return false;
+        }
+
+        for(iter.reset(dir); (c=iter.next())>=0;) {
+            props=trie.getCodePointValue(c);
+            if(getTypeFromProps(props)!=NONE) {
+                return true; /* followed by cased letter */
+            } else if(c==0x307 || (props&(EXCEPTION|CASE_IGNORABLE))==CASE_IGNORABLE) {
+                /* case-ignorable, continue with the loop */
+            } else {
+                return false; /* not ignorable */
+            }
+        }
+
+        return false; /* not followed by cased letter */
+    }
+
+    /* Is preceded by Soft_Dotted character with no intervening cc=230 ? */
+    private final boolean isPrecededBySoftDotted(ContextIterator iter) {
+        int c;
+        int dotType;
+
+        if(iter==null) {
+            return false;
+        }
+
+        for(iter.reset(-1); (c=iter.next())>=0;) {
+            dotType=getDotType(c);
+            if(dotType==SOFT_DOTTED) {
+                return true; /* preceded by TYPE_i */
+            } else if(dotType!=OTHER_ACCENT) {
+                return false; /* preceded by different base character (not TYPE_i), or intervening cc==230 */
+            }
+        }
+
+        return false; /* not preceded by TYPE_i */
+    }
+
+    /*
+     * See Jitterbug 2344:
+     * The condition After_I for Turkic-lowercasing of U+0307 combining dot above
+     * is checked in ICU 2.0, 2.1, 2.6 but was not in 2.2 & 2.4 because
+     * we made those releases compatible with Unicode 3.2 which had not fixed
+     * a related bug in SpecialCasing.txt.
+     *
+     * From the Jitterbug 2344 text:
+     * ... this bug is listed as a Unicode erratum
+     * from 2002-10-31 at http://www.unicode.org/uni2errata/UnicodeErrata.html
+     * <quote>
+     * There are two errors in SpecialCasing.txt.
+     * 1. Missing semicolons on two lines. ... [irrelevant for ICU]
+     * 2. An incorrect context definition. Correct as follows:
+     * < 0307; ; 0307; 0307; tr After_Soft_Dotted; # COMBINING DOT ABOVE
+     * < 0307; ; 0307; 0307; az After_Soft_Dotted; # COMBINING DOT ABOVE
+     * ---
+     * > 0307; ; 0307; 0307; tr After_I; # COMBINING DOT ABOVE
+     * > 0307; ; 0307; 0307; az After_I; # COMBINING DOT ABOVE
+     * where the context After_I is defined as:
+     * The last preceding base character was an uppercase I, and there is no
+     * intervening combining character class 230 (ABOVE).
+     * </quote>
+     *
+     * Note that SpecialCasing.txt even in Unicode 3.2 described the condition as:
+     *
+     * # When lowercasing, remove dot_above in the sequence I + dot_above, which will turn into i.
+     * # This matches the behavior of the canonically equivalent I-dot_above
+     *
+     * See also the description in this place in older versions of uchar.c (revision 1.100).
+     *
+     * Markus W. Scherer 2003-feb-15
+     */
+
+    /* Is preceded by base character 'I' with no intervening cc=230 ? */
+    private final boolean isPrecededBy_I(ContextIterator iter) {
+        int c;
+        int dotType;
+
+        if(iter==null) {
+            return false;
+        }
+
+        for(iter.reset(-1); (c=iter.next())>=0;) {
+            if(c==0x49) {
+                return true; /* preceded by I */
+            }
+            dotType=getDotType(c);
+            if(dotType!=OTHER_ACCENT) {
+                return false; /* preceded by different base character (not I), or intervening cc==230 */
+            }
+        }
+
+        return false; /* not preceded by I */
+    }
+
+    /* Is followed by one or more cc==230 ? */
+    private final boolean isFollowedByMoreAbove(ContextIterator iter) {
+        int c;
+        int dotType;
+
+        if(iter==null) {
+            return false;
+        }
+
+        for(iter.reset(1); (c=iter.next())>=0;) {
+            dotType=getDotType(c);
+            if(dotType==ABOVE) {
+                return true; /* at least one cc==230 following */
+            } else if(dotType!=OTHER_ACCENT) {
+                return false; /* next base character, no more cc==230 following */
+            }
+        }
+
+        return false; /* no more cc==230 following */
+    }
+
+    /* Is followed by a dot above (without cc==230 in between) ? */
+    private final boolean isFollowedByDotAbove(ContextIterator iter) {
+        int c;
+        int dotType;
+
+        if(iter==null) {
+            return false;
+        }
+
+        for(iter.reset(1); (c=iter.next())>=0; ) {
+            if(c==0x307) {
+                return true;
+            }
+            dotType=getDotType(c);
+            if(dotType!=OTHER_ACCENT) {
+                return false; /* next base character or cc==230 in between */
+            }
+        }
+
+        return false; /* no dot above following */
+    }
+
+    private static final String
+        iDot=       "i\u0307",
+        jDot=       "j\u0307",
+        iOgonekDot= "\u012f\u0307",
+        iDotGrave=  "i\u0307\u0300",
+        iDotAcute=  "i\u0307\u0301",
+        iDotTilde=  "i\u0307\u0303";
+
+    /**
+     * Get the full lowercase mapping for c.
+     *
+     * @param c Character to be mapped.
+     * @param iter Character iterator, used for context-sensitive mappings.
+     *             See ContextIterator for details.
+     *             If iter==null then a context-independent result is returned.
+     * @param out If the mapping result is a string, then it is appended to out.
+     * @param locale Locale ID for locale-dependent mappings.
+     * @param locCache Initialize locCache[0] to 0; may be used to cache the result of parsing
+     *                 the locale ID for subsequent calls.
+     *                 Can be null.
+     * @return Output code point or string length, see MAX_STRING_LENGTH.
+     *
+     * @see ContextIterator
+     * @see MAX_STRING_LENGTH
+     * @internal
+     */
+    public final int toFullLower(int c, ContextIterator iter,
+                                 StringBuffer out,
+                                 ULocale locale, int[] locCache) {
+        int result, props;
+
+        result=c;
+        props=trie.getCodePointValue(c);
+        if(!propsHasException(props)) {
+            if(getTypeFromProps(props)>=UPPER) {
+                result=c+getDelta(props);
+            }
+        } else {
+            int excOffset=getExceptionsOffset(props), excOffset2;
+            int excWord=exceptions[excOffset++];
+            int full;
+
+            excOffset2=excOffset;
+
+            if((excWord&EXC_CONDITIONAL_SPECIAL)!=0) {
+                /* use hardcoded conditions and mappings */
+                int loc=getCaseLocale(locale, locCache);
+
+                /*
+                 * Test for conditional mappings first
+                 *   (otherwise the unconditional default mappings are always taken),
+                 * then test for characters that have unconditional mappings in SpecialCasing.txt,
+                 * then get the UnicodeData.txt mappings.
+                 */
+                if( loc==LOC_LITHUANIAN &&
+                        /* base characters, find accents above */
+                        (((c==0x49 || c==0x4a || c==0x12e) &&
+                            isFollowedByMoreAbove(iter)) ||
+                        /* precomposed with accent above, no need to find one */
+                        (c==0xcc || c==0xcd || c==0x128))
+                ) {
+                    /*
+                        # Lithuanian
+
+                        # Lithuanian retains the dot in a lowercase i when followed by accents.
+
+                        # Introduce an explicit dot above when lowercasing capital I's and J's
+                        # whenever there are more accents above.
+                        # (of the accents used in Lithuanian: grave, acute, tilde above, and ogonek)
+
+                        0049; 0069 0307; 0049; 0049; lt More_Above; # LATIN CAPITAL LETTER I
+                        004A; 006A 0307; 004A; 004A; lt More_Above; # LATIN CAPITAL LETTER J
+                        012E; 012F 0307; 012E; 012E; lt More_Above; # LATIN CAPITAL LETTER I WITH OGONEK
+                        00CC; 0069 0307 0300; 00CC; 00CC; lt; # LATIN CAPITAL LETTER I WITH GRAVE
+                        00CD; 0069 0307 0301; 00CD; 00CD; lt; # LATIN CAPITAL LETTER I WITH ACUTE
+                        0128; 0069 0307 0303; 0128; 0128; lt; # LATIN CAPITAL LETTER I WITH TILDE
+                     */
+                    switch(c) {
+                    case 0x49:  /* LATIN CAPITAL LETTER I */
+                        out.append(iDot);
+                        return 2;
+                    case 0x4a:  /* LATIN CAPITAL LETTER J */
+                        out.append(jDot);
+                        return 2;
+                    case 0x12e: /* LATIN CAPITAL LETTER I WITH OGONEK */
+                        out.append(iOgonekDot);
+                        return 2;
+                    case 0xcc:  /* LATIN CAPITAL LETTER I WITH GRAVE */
+                        out.append(iDotGrave);
+                        return 3;
+                    case 0xcd:  /* LATIN CAPITAL LETTER I WITH ACUTE */
+                        out.append(iDotAcute);
+                        return 3;
+                    case 0x128: /* LATIN CAPITAL LETTER I WITH TILDE */
+                        out.append(iDotTilde);
+                        return 3;
+                    default:
+                        return 0; /* will not occur */
+                    }
+                /* # Turkish and Azeri */
+                } else if(loc==LOC_TURKISH && c==0x130) {
+                    /*
+                        # I and i-dotless; I-dot and i are case pairs in Turkish and Azeri
+                        # The following rules handle those cases.
+
+                        0130; 0069; 0130; 0130; tr # LATIN CAPITAL LETTER I WITH DOT ABOVE
+                        0130; 0069; 0130; 0130; az # LATIN CAPITAL LETTER I WITH DOT ABOVE
+                     */
+                    return 0x69;
+                } else if(loc==LOC_TURKISH && c==0x307 && isPrecededBy_I(iter)) {
+                    /*
+                        # When lowercasing, remove dot_above in the sequence I + dot_above, which will turn into i.
+                        # This matches the behavior of the canonically equivalent I-dot_above
+
+                        0307; ; 0307; 0307; tr After_I; # COMBINING DOT ABOVE
+                        0307; ; 0307; 0307; az After_I; # COMBINING DOT ABOVE
+                     */
+                    return 0; /* remove the dot (continue without output) */
+                } else if(loc==LOC_TURKISH && c==0x49 && !isFollowedByDotAbove(iter)) {
+                    /*
+                        # When lowercasing, unless an I is before a dot_above, it turns into a dotless i.
+
+                        0049; 0131; 0049; 0049; tr Not_Before_Dot; # LATIN CAPITAL LETTER I
+                        0049; 0131; 0049; 0049; az Not_Before_Dot; # LATIN CAPITAL LETTER I
+                     */
+                    return 0x131;
+                } else if(c==0x130) {
+                    /*
+                        # Preserve canonical equivalence for I with dot. Turkic is handled below.
+
+                        0130; 0069 0307; 0130; 0130; # LATIN CAPITAL LETTER I WITH DOT ABOVE
+                     */
+                    out.append(iDot);
+                    return 2;
+                } else if(  c==0x3a3 &&
+                            !isFollowedByCasedLetter(iter, 1) &&
+                            isFollowedByCasedLetter(iter, -1) /* -1=preceded */
+                ) {
+                    /* greek capital sigma maps depending on surrounding cased letters (see SpecialCasing.txt) */
+                    /*
+                        # Special case for final form of sigma
+
+                        03A3; 03C2; 03A3; 03A3; Final_Sigma; # GREEK CAPITAL LETTER SIGMA
+                     */
+                    return 0x3c2; /* greek small final sigma */
+                } else {
+                    /* no known conditional special case mapping, use a normal mapping */
+                }
+            } else if(hasSlot(excWord, EXC_FULL_MAPPINGS)) {
+                long value=getSlotValueAndOffset(excWord, EXC_FULL_MAPPINGS, excOffset);
+                full=(int)value&FULL_LOWER;
+                if(full!=0) {
+                    /* start of full case mapping strings */
+                    excOffset=(int)(value>>32)+1;
+
+                    /* set the output pointer to the lowercase mapping */
+                    out.append(new String(exceptions, excOffset, full));
+
+                    /* return the string length */
+                    return full;
+                }
+            }
+
+            if(hasSlot(excWord, EXC_LOWER)) {
+                result=getSlotValue(excWord, EXC_LOWER, excOffset2);
+            }
+        }
+
+        return (result==c) ? ~result : result;
+    }
+
+    /* internal */
+    private final int toUpperOrTitle(int c, ContextIterator iter,
+                                     StringBuffer out,
+                                     ULocale locale, int[] locCache,
+                                     boolean upperNotTitle) {
+        int result;
+        int props;
+
+        result=c;
+        props=trie.getCodePointValue(c);
+        if(!propsHasException(props)) {
+            if(getTypeFromProps(props)==LOWER) {
+                result=c+getDelta(props);
+            }
+        } else {
+            int excOffset=getExceptionsOffset(props), excOffset2;
+            int excWord=exceptions[excOffset++];
+            int full, index;
+
+            excOffset2=excOffset;
+
+            if((excWord&EXC_CONDITIONAL_SPECIAL)!=0) {
+                /* use hardcoded conditions and mappings */
+                int loc=getCaseLocale(locale, locCache);
+
+                if(loc==LOC_TURKISH && c==0x69) {
+                    /*
+                        # Turkish and Azeri
+
+                        # I and i-dotless; I-dot and i are case pairs in Turkish and Azeri
+                        # The following rules handle those cases.
+
+                        # When uppercasing, i turns into a dotted capital I
+
+                        0069; 0069; 0130; 0130; tr; # LATIN SMALL LETTER I
+                        0069; 0069; 0130; 0130; az; # LATIN SMALL LETTER I
+                    */
+                    return 0x130;
+                } else if(loc==LOC_LITHUANIAN && c==0x307 && isPrecededBySoftDotted(iter)) {
+                    /*
+                        # Lithuanian
+
+                        # Lithuanian retains the dot in a lowercase i when followed by accents.
+
+                        # Remove DOT ABOVE after "i" with upper or titlecase
+
+                        0307; 0307; ; ; lt After_Soft_Dotted; # COMBINING DOT ABOVE
+                     */
+                    return 0; /* remove the dot (continue without output) */
+                } else {
+                    /* no known conditional special case mapping, use a normal mapping */
+                }
+            } else if(hasSlot(excWord, EXC_FULL_MAPPINGS)) {
+                long value=getSlotValueAndOffset(excWord, EXC_FULL_MAPPINGS, excOffset);
+                full=(int)value&0xffff;
+
+                /* start of full case mapping strings */
+                excOffset=(int)(value>>32)+1;
+
+                /* skip the lowercase and case-folding result strings */
+                excOffset+=full&FULL_LOWER;
+                full>>=4;
+                excOffset+=full&0xf;
+                full>>=4;
+
+                if(upperNotTitle) {
+                    full&=0xf;
+                } else {
+                    /* skip the uppercase result string */
+                    excOffset+=full&0xf;
+                    full=(full>>4)&0xf;
+                }
+
+                if(full!=0) {
+                    /* set the output pointer to the result string */
+                    out.append(new String(exceptions, excOffset, full));
+
+                    /* return the string length */
+                    return full;
+                }
+            }
+
+            if(!upperNotTitle && hasSlot(excWord, EXC_TITLE)) {
+                index=EXC_TITLE;
+            } else if(hasSlot(excWord, EXC_UPPER)) {
+                /* here, titlecase is same as uppercase */
+                index=EXC_UPPER;
+            } else {
+                return ~c;
+            }
+            result=getSlotValue(excWord, index, excOffset2);
+        }
+
+        return (result==c) ? ~result : result;
+    }
+
+    public final int toFullUpper(int c, ContextIterator iter,
+                                 StringBuffer out,
+                                 ULocale locale, int[] locCache) {
+        return toUpperOrTitle(c, iter, out, locale, locCache, true);
+    }
+
+    public final int toFullTitle(int c, ContextIterator iter,
+                                 StringBuffer out,
+                                 ULocale locale, int[] locCache) {
+        return toUpperOrTitle(c, iter, out, locale, locCache, false);
+    }
+
+    /* case folding ------------------------------------------------------------- */
+
+    /*
+     * Case folding is similar to lowercasing.
+     * The result may be a simple mapping, i.e., a single code point, or
+     * a full mapping, i.e., a string.
+     * If the case folding for a code point is the same as its simple (1:1) lowercase mapping,
+     * then only the lowercase mapping is stored.
+     *
+     * Some special cases are hardcoded because their conditions cannot be
+     * parsed and processed from CaseFolding.txt.
+     *
+     * Unicode 3.2 CaseFolding.txt specifies for its status field:
+
+    # C: common case folding, common mappings shared by both simple and full mappings.
+    # F: full case folding, mappings that cause strings to grow in length. Multiple characters are separated by spaces.
+    # S: simple case folding, mappings to single characters where different from F.
+    # T: special case for uppercase I and dotted uppercase I
+    #    - For non-Turkic languages, this mapping is normally not used.
+    #    - For Turkic languages (tr, az), this mapping can be used instead of the normal mapping for these characters.
+    #
+    # Usage:
+    #  A. To do a simple case folding, use the mappings with status C + S.
+    #  B. To do a full case folding, use the mappings with status C + F.
+    #
+    #    The mappings with status T can be used or omitted depending on the desired case-folding
+    #    behavior. (The default option is to exclude them.)
+
+     * Unicode 3.2 has 'T' mappings as follows:
+
+    0049; T; 0131; # LATIN CAPITAL LETTER I
+    0130; T; 0069; # LATIN CAPITAL LETTER I WITH DOT ABOVE
+
+     * while the default mappings for these code points are:
+
+    0049; C; 0069; # LATIN CAPITAL LETTER I
+    0130; F; 0069 0307; # LATIN CAPITAL LETTER I WITH DOT ABOVE
+
+     * U+0130 has no simple case folding (simple-case-folds to itself).
+     */
+
+    /**
+     * Bit mask for getting just the options from a string compare options word
+     * that are relevant for case folding (of a single string or code point).
+     * @internal
+     */
+    private static final int FOLD_CASE_OPTIONS_MASK = 0xff;
+    
+    /* return the simple case folding mapping for c */
+    public final int fold(int c, int options) {
+        int props=trie.getCodePointValue(c);
+        if(!propsHasException(props)) {
+            if(getTypeFromProps(props)>=UPPER) {
+                c+=getDelta(props);
+            }
+        } else {
+            int excOffset=getExceptionsOffset(props);
+            int excWord=exceptions[excOffset++];
+            int index;
+            if((excWord&EXC_CONDITIONAL_FOLD)!=0) {
+                /* special case folding mappings, hardcoded */
+                if((options&FOLD_CASE_OPTIONS_MASK)==UCharacter.FOLD_CASE_DEFAULT) {
+                    /* default mappings */
+                    if(c==0x49) {
+                        /* 0049; C; 0069; # LATIN CAPITAL LETTER I */
+                        return 0x69;
+                    } else if(c==0x130) {
+                        /* no simple case folding for U+0130 */
+                        return c;
+                    }
+                } else {
+                    /* Turkic mappings */
+                    if(c==0x49) {
+                        /* 0049; T; 0131; # LATIN CAPITAL LETTER I */
+                        return 0x131;
+                    } else if(c==0x130) {
+                        /* 0130; T; 0069; # LATIN CAPITAL LETTER I WITH DOT ABOVE */
+                        return 0x69;
+                    }
+                }
+            }
+            if(hasSlot(excWord, EXC_FOLD)) {
+                index=EXC_FOLD;
+            } else if(hasSlot(excWord, EXC_LOWER)) {
+                index=EXC_LOWER;
+            } else {
+                return c;
+            }
+            c=getSlotValue(excWord, index, excOffset);
+        }
+        return c;
+    }
+
+    /*
+     * Issue for canonical caseless match (UAX #21):
+     * Turkic casefolding (using "T" mappings in CaseFolding.txt) does not preserve
+     * canonical equivalence, unlike default-option casefolding.
+     * For example, I-grave and I + grave fold to strings that are not canonically
+     * equivalent.
+     * For more details, see the comment in unorm_compare() in unorm.cpp
+     * and the intermediate prototype changes for Jitterbug 2021.
+     * (For example, revision 1.104 of uchar.c and 1.4 of CaseFolding.txt.)
+     *
+     * This did not get fixed because it appears that it is not possible to fix
+     * it for uppercase and lowercase characters (I-grave vs. i-grave)
+     * together in a way that they still fold to common result strings.
+     */
+
+    public final int toFullFolding(int c, StringBuffer out, int options) {
+        int result;
+        int props;
+
+        result=c;
+        props=trie.getCodePointValue(c);
+        if(!propsHasException(props)) {
+            if(getTypeFromProps(props)>=UPPER) {
+                result=c+getDelta(props);
+            }
+        } else {
+            int excOffset=getExceptionsOffset(props), excOffset2;
+            int excWord=exceptions[excOffset++];
+            int full, index;
+
+            excOffset2=excOffset;
+
+            if((excWord&EXC_CONDITIONAL_FOLD)!=0) {
+                /* use hardcoded conditions and mappings */
+                if((options&FOLD_CASE_OPTIONS_MASK)==UCharacter.FOLD_CASE_DEFAULT) {
+                    /* default mappings */
+                    if(c==0x49) {
+                        /* 0049; C; 0069; # LATIN CAPITAL LETTER I */
+                        return 0x69;
+                    } else if(c==0x130) {
+                        /* 0130; F; 0069 0307; # LATIN CAPITAL LETTER I WITH DOT ABOVE */
+                        out.append(iDot);
+                        return 2;
+                    }
+                } else {
+                    /* Turkic mappings */
+                    if(c==0x49) {
+                        /* 0049; T; 0131; # LATIN CAPITAL LETTER I */
+                        return 0x131;
+                    } else if(c==0x130) {
+                        /* 0130; T; 0069; # LATIN CAPITAL LETTER I WITH DOT ABOVE */
+                        return 0x69;
+                    }
+                }
+            } else if(hasSlot(excWord, EXC_FULL_MAPPINGS)) {
+                long value=getSlotValueAndOffset(excWord, EXC_FULL_MAPPINGS, excOffset);
+                full=(int)value&0xffff;
+
+                /* start of full case mapping strings */
+                excOffset=(int)(value>>32)+1;
+
+                /* skip the lowercase result string */
+                excOffset+=full&FULL_LOWER;
+                full=(full>>4)&0xf;
+
+                if(full!=0) {
+                    /* set the output pointer to the result string */
+                    out.append(new String(exceptions, excOffset, full));
+
+                    /* return the string length */
+                    return full;
+                }
+            }
+
+            if(hasSlot(excWord, EXC_FOLD)) {
+                index=EXC_FOLD;
+            } else if(hasSlot(excWord, EXC_LOWER)) {
+                index=EXC_LOWER;
+            } else {
+                return ~c;
+            }
+            result=getSlotValue(excWord, index, excOffset2);
+        }
+
+        return (result==c) ? ~result : result;
+    }
+
+    // data members -------------------------------------------------------- ***
+    private int indexes[];
+    private char exceptions[];
+    private char unfold[];
+
+    private CharTrie trie;
+    private byte formatVersion[];
+    private byte unicodeVersion[];  
+
+    // data format constants ----------------------------------------------- ***
+    private static final String DATA_NAME="ucase";
+    private static final String DATA_TYPE="icu";
+    private static final String DATA_FILE_NAME=DATA_NAME+"."+DATA_TYPE;
+
+    /* format "cAsE" */
+    private static final byte FMT[]={ 0x63, 0x41, 0x53, 0x45 };
+
+    /* indexes into indexes[] */
+    private static final int IX_INDEX_TOP=0;
+    private static final int IX_LENGTH=1;
+    private static final int IX_TRIE_SIZE=2;
+    private static final int IX_EXC_LENGTH=3;
+    private static final int IX_UNFOLD_LENGTH=4;
+
+    private static final int IX_MAX_FULL_LENGTH=15;
+    private static final int IX_TOP=16;
+
+    // definitions for 16-bit case properties word ------------------------- ***
+
+    /* 2-bit constants for types of cased characters */
+    public static final int TYPE_MASK=3;
+    public static final int NONE=0;
+    public static final int LOWER=1;
+    public static final int UPPER=2;
+    public static final int TITLE=3;
+
+    private static final int getTypeFromProps(int props) {
+        return props&TYPE_MASK;
+    }
+
+    private static final int SENSITIVE=     4;
+    private static final int EXCEPTION=     8;
+
+    private static final int DOT_MASK=      0x30;
+    private static final int NO_DOT=        0;      /* normal characters with cc=0 */
+    private static final int SOFT_DOTTED=   0x10;   /* soft-dotted characters with cc=0 */
+    private static final int ABOVE=         0x20;   /* "above" accents with cc=230 */
+    private static final int OTHER_ACCENT=  0x30;   /* other accent character (0<cc!=230) */
+
+    /* no exception: bits 15..6 are a 10-bit signed case mapping delta */
+    private static final int DELTA_SHIFT=   6;
+    private static final int DELTA_MASK=    0xffc0;
+    private static final int MAX_DELTA=     0x1ff;
+    private static final int MIN_DELTA=     (-MAX_DELTA-1);
+
+    private static final int getDelta(int props) {
+        return (short)props>>DELTA_SHIFT;
+    }
+
+    /* case-ignorable uses one of the delta bits, see gencase/store.c */
+    private static final int CASE_IGNORABLE=0x40;
+
+    /* exception: bits 15..4 are an unsigned 12-bit index into the exceptions array */
+    private static final int EXC_SHIFT=     4;
+    private static final int EXC_MASK=      0xfff0;
+    private static final int MAX_EXCEPTIONS=0x1000;
+
+    /* definitions for 16-bit main exceptions word ------------------------------ */
+
+    /* first 8 bits indicate values in optional slots */
+    private static final int EXC_LOWER=0;
+    private static final int EXC_FOLD=1;
+    private static final int EXC_UPPER=2;
+    private static final int EXC_TITLE=3;
+    private static final int EXC_4=4;           /* reserved */
+    private static final int EXC_5=5;           /* reserved */
+    private static final int EXC_CLOSURE=6;
+    private static final int EXC_FULL_MAPPINGS=7;
+    private static final int EXC_ALL_SLOTS=8;   /* one past the last slot */
+
+    /* each slot is 2 uint16_t instead of 1 */
+    private static final int EXC_DOUBLE_SLOTS=          0x100;
+
+    /* reserved: exception bits 11..9 */
+
+    /* EXC_DOT_MASK=DOT_MASK<<EXC_DOT_SHIFT */
+    private static final int EXC_DOT_SHIFT=8;
+
+    /* normally stored in the main word, but pushed out for larger exception indexes */
+    private static final int EXC_DOT_MASK=              0x3000;
+    private static final int EXC_NO_DOT=                0;
+    private static final int EXC_SOFT_DOTTED=           0x1000;
+    private static final int EXC_ABOVE=                 0x2000; /* "above" accents with cc=230 */
+    private static final int EXC_OTHER_ACCENT=          0x3000; /* other character (0<cc!=230) */
+
+    /* complex/conditional mappings */
+    private static final int EXC_CONDITIONAL_SPECIAL=   0x4000;
+    private static final int EXC_CONDITIONAL_FOLD=      0x8000;
+
+    /* definitions for lengths word for full case mappings */
+    private static final int FULL_LOWER=    0xf;
+    private static final int FULL_FOLDING=  0xf0;
+    private static final int FULL_UPPER=    0xf00;
+    private static final int FULL_TITLE=    0xf000;
+
+    /* maximum lengths */
+    private static final int FULL_MAPPINGS_MAX_LENGTH=4*0xf;
+    private static final int CLOSURE_MAX_LENGTH=0xf;
+
+    /* constants for reverse case folding ("unfold") data */
+    private static final int UNFOLD_ROWS=0;
+    private static final int UNFOLD_ROW_WIDTH=1;
+    private static final int UNFOLD_STRING_WIDTH=2;
+}
diff --git a/src/com/ibm/icu/impl/UCharArrayIterator.java b/src/com/ibm/icu/impl/UCharArrayIterator.java
new file mode 100644
index 0000000..84b0b10
--- /dev/null
+++ b/src/com/ibm/icu/impl/UCharArrayIterator.java
@@ -0,0 +1,84 @@
+/**
+*******************************************************************************
+* Copyright (C) 1996-2004, International Business Machines Corporation and    *
+* others. All Rights Reserved.                                                *
+*******************************************************************************
+*/
+
+package com.ibm.icu.impl;
+
+import com.ibm.icu.text.*;
+
+
+/**
+ * @author Doug Felt
+ *
+ */
+
+public final class UCharArrayIterator extends UCharacterIterator {
+    private final char[] text;
+    private final int start;
+    private final int limit;
+    private int pos;
+
+    public UCharArrayIterator(char[] text, int start, int limit) {
+        if (start < 0 || limit > text.length || start > limit) {
+            throw new IllegalArgumentException("start: " + start + " or limit: "
+                                               + limit + " out of range [0, " 
+                                               + text.length + ")");
+        }
+        this.text = text;
+        this.start = start;
+        this.limit = limit;
+
+        this.pos = start;
+    }
+
+    public int current() {
+        return pos < limit ? text[pos] : DONE;
+    }
+
+    public int getLength() {
+        return limit - start;
+    }
+
+    public int getIndex() {
+        return pos - start;
+    }
+
+    public int next() {
+        return pos < limit ? text[pos++] : DONE;
+    }
+
+    public int previous() {
+        return pos > start ? text[--pos] : DONE;
+    }
+
+    public void setIndex(int index) {
+        if (index < 0 || index > limit - start) {
+            throw new IndexOutOfBoundsException("index: " + index + 
+                                                " out of range [0, " 
+                                                + (limit - start) + ")");
+        }
+        pos = start + index;
+    }
+
+    public int getText(char[] fillIn, int offset) {
+        int len = limit - start;
+        System.arraycopy(text, start, fillIn, offset, len);
+        return len;
+    }
+
+    /**
+     * Creates a copy of this iterator, does not clone the underlying 
+     * <code>Replaceable</code>object
+     * @return copy of this iterator
+     */
+    public Object clone(){
+        try {
+          return super.clone();
+        } catch (CloneNotSupportedException e) {
+            return null; // never invoked
+        }
+    }
+}
\ No newline at end of file
diff --git a/src/com/ibm/icu/impl/UCharacterIteratorWrapper.java b/src/com/ibm/icu/impl/UCharacterIteratorWrapper.java
new file mode 100644
index 0000000..9ca4900
--- /dev/null
+++ b/src/com/ibm/icu/impl/UCharacterIteratorWrapper.java
@@ -0,0 +1,141 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+ 
+package com.ibm.icu.impl;
+
+import java.text.CharacterIterator;
+
+import com.ibm.icu.text.*;
+
+/**
+ * This class is a wrapper around UCharacterIterator and implements the 
+ * CharacterIterator protocol
+ * @author ram
+ */
+public class UCharacterIteratorWrapper implements CharacterIterator{
+    
+    public UCharacterIteratorWrapper(UCharacterIterator iter){
+        this.iterator = iter;
+    }
+    
+    private UCharacterIterator iterator;
+
+
+    /**
+     * Sets the position to getBeginIndex() and returns the character at that
+     * position.
+     * @return the first character in the text, or DONE if the text is empty
+     * @see #getBeginIndex()
+     */
+    public char first(){
+        //UCharacterIterator always iterates from 0 to length
+        iterator.setToStart();
+        return (char)iterator.current();
+    }
+
+    /**
+     * Sets the position to getEndIndex()-1 (getEndIndex() if the text is empty)
+     * and returns the character at that position.
+     * @return the last character in the text, or DONE if the text is empty
+     * @see #getEndIndex()
+     */
+    public char last(){
+        iterator.setToLimit();
+        return (char)iterator.previous();
+    }
+
+    /**
+     * Gets the character at the current position (as returned by getIndex()).
+     * @return the character at the current position or DONE if the current
+     * position is off the end of the text.
+     * @see #getIndex()
+     */
+    public char current(){
+        return (char) iterator.current();
+    }
+
+    /**
+     * Increments the iterator's index by one and returns the character
+     * at the new index.  If the resulting index is greater or equal
+     * to getEndIndex(), the current index is reset to getEndIndex() and
+     * a value of DONE is returned.
+     * @return the character at the new position or DONE if the new
+     * position is off the end of the text range.
+     */
+    public char next(){
+        //pre-increment
+        iterator.next();
+        return (char) iterator.current();
+    }
+
+    /**
+     * Decrements the iterator's index by one and returns the character
+     * at the new index. If the current index is getBeginIndex(), the index
+     * remains at getBeginIndex() and a value of DONE is returned.
+     * @return the character at the new position or DONE if the current
+     * position is equal to getBeginIndex().
+     */
+    public char previous(){
+        //pre-decrement
+        return (char) iterator.previous();
+    }
+
+    /**
+     * Sets the position to the specified position in the text and returns that
+     * character.
+     * @param position the position within the text.  Valid values range from
+     * getBeginIndex() to getEndIndex().  An IllegalArgumentException is thrown
+     * if an invalid value is supplied.
+     * @return the character at the specified position or DONE if the specified position is equal to getEndIndex()
+     */
+    public char setIndex(int position){
+        iterator.setIndex(position);
+        return (char) iterator.current();
+    }
+
+    /**
+     * Returns the start index of the text.
+     * @return the index at which the text begins.
+     */
+    public int getBeginIndex(){
+        //UCharacterIterator always starts from 0
+        return 0;
+    }
+
+    /**
+     * Returns the end index of the text.  This index is the index of the first
+     * character following the end of the text.
+     * @return the index after the last character in the text
+     */
+    public int getEndIndex(){
+        return iterator.getLength();
+    }
+
+    /**
+     * Returns the current index.
+     * @return the current index.
+     */
+    public int getIndex(){
+        return iterator.getIndex();
+    }
+
+    /**
+     * Create a copy of this iterator
+     * @return A copy of this
+     */
+    public Object clone(){
+        try {
+            UCharacterIteratorWrapper result = (UCharacterIteratorWrapper) super.clone();
+            result.iterator = (UCharacterIterator)this.iterator.clone();
+            return result;
+        } catch (CloneNotSupportedException e) {      
+            return null; // only invoked if bad underlying character iterator
+        }
+    }   
+
+}
+
diff --git a/src/com/ibm/icu/impl/UCharacterName.java b/src/com/ibm/icu/impl/UCharacterName.java
new file mode 100644
index 0000000..4efbbae
--- /dev/null
+++ b/src/com/ibm/icu/impl/UCharacterName.java
@@ -0,0 +1,1710 @@
+/**
+*******************************************************************************
+* Copyright (C) 1996-2005, International Business Machines Corporation and    *
+* others. All Rights Reserved.                                                *
+*******************************************************************************
+*/
+package com.ibm.icu.impl;
+
+import java.io.InputStream;
+import java.io.BufferedInputStream;
+import java.io.IOException;
+import java.util.MissingResourceException;
+
+import com.ibm.icu.text.UTF16;
+import com.ibm.icu.text.UnicodeSet;
+import com.ibm.icu.util.UResourceBundle;
+import com.ibm.icu.lang.UCharacter;
+import com.ibm.icu.lang.UCharacterCategory;
+
+/**
+* Internal class to manage character names.
+* Since data for names are stored
+* in an array of char, by default indexes used in this class is refering to
+* a 2 byte count, unless otherwise stated. Cases where the index is refering
+* to a byte count, the index is halved and depending on whether the index is
+* even or odd, the MSB or LSB of the result char at the halved index is
+* returned. For indexes to an array of int, the index is multiplied by 2,
+* result char at the multiplied index and its following char is returned as an
+* int.
+* <a href=../lang/UCharacter.html>UCharacter</a> acts as a public facade for this class
+* Note : 0 - 0x1F are control characters without names in Unicode 3.0
+* @author Syn Wee Quek
+* @since nov0700
+*/
+
+public final class UCharacterName
+{
+    // public data members ----------------------------------------------
+
+    /**
+    * Number of lines per group
+    * 1 << GROUP_SHIFT_
+    */
+    public static final int LINES_PER_GROUP_ = 1 << 5;
+    /**
+     * Maximum number of groups
+     */
+    public int m_groupcount_ = 0;
+
+    // public methods ---------------------------------------------------
+
+    /**
+     * Gets the only instance of UCharacterName
+     * @return only instance of UCharacterName
+     * @exception MissingResourceException thrown when reading of name data fails
+     */
+    public static UCharacterName getInstance()
+    {
+        if (INSTANCE_ == null) {
+            try {
+                INSTANCE_ = new UCharacterName();
+            }catch(IOException e){
+                throw new MissingResourceException("Could not construct UCharacterName. Missing unames.icu","","");
+            }
+            catch (Exception e) {
+                throw new MissingResourceException(e.getMessage(),"","");
+            }
+        }
+        return INSTANCE_;
+    }
+
+    /**
+    * Retrieve the name of a Unicode code point.
+    * Depending on <code>choice</code>, the character name written into the
+    * buffer is the "modern" name or the name that was defined in Unicode
+    * version 1.0.
+    * The name contains only "invariant" characters
+    * like A-Z, 0-9, space, and '-'.
+    *
+    * @param ch the code point for which to get the name.
+    * @param choice Selector for which name to get.
+    * @return if code point is above 0x1fff, null is returned
+    */
+    public String getName(int ch, int choice)
+    {
+        if (ch < UCharacter.MIN_VALUE || ch > UCharacter.MAX_VALUE ||
+            choice > UCharacterNameChoice.CHAR_NAME_CHOICE_COUNT) {
+            return null;
+        }
+
+        String result = null;
+
+        result = getAlgName(ch, choice);
+
+        // getting normal character name
+        if (result == null || result.length() == 0) {
+            if (choice == UCharacterNameChoice.EXTENDED_CHAR_NAME) {
+                result = getExtendedName(ch);
+            } else {
+                result = getGroupName(ch, choice);
+            }
+        }
+
+        return result;
+    }
+
+    /**
+    * Find a character by its name and return its code point value
+    * @param choice selector to indicate if argument name is a Unicode 1.0
+    *        or the most current version
+    * @param name the name to search for
+    * @return code point
+    */
+    public int getCharFromName(int choice, String name)
+    {
+        // checks for illegal arguments
+        if (choice >= UCharacterNameChoice.CHAR_NAME_CHOICE_COUNT ||
+            name == null || name.length() == 0) {
+            return -1;
+        }
+
+        // try extended names first
+        int result = getExtendedChar(name.toLowerCase(), choice);
+        if (result >= -1) {
+            return result;
+        }
+
+        String upperCaseName = name.toUpperCase();
+        // try algorithmic names first, if fails then try group names
+        // int result = getAlgorithmChar(choice, uppercasename);
+
+        if (choice != UCharacterNameChoice.UNICODE_10_CHAR_NAME) {
+            int count = 0;
+            if (m_algorithm_ != null) {
+                count = m_algorithm_.length;
+            }
+            for (count --; count >= 0; count --) {
+                result = m_algorithm_[count].getChar(upperCaseName);
+                if (result >= 0) {
+                    return result;
+                }
+            }
+        }
+
+        if (choice == UCharacterNameChoice.EXTENDED_CHAR_NAME) {
+            result = getGroupChar(upperCaseName,
+                                  UCharacterNameChoice.UNICODE_CHAR_NAME);
+            if (result == -1) {
+                result = getGroupChar(upperCaseName,
+                                  UCharacterNameChoice.UNICODE_10_CHAR_NAME);
+            }
+        }
+        else {
+            result = getGroupChar(upperCaseName, choice);
+        }
+        return result;
+    }
+
+    // these are all UCharacterNameIterator use methods -------------------
+
+    /**
+    * Reads a block of compressed lengths of 32 strings and expands them into
+    * offsets and lengths for each string. Lengths are stored with a
+    * variable-width encoding in consecutive nibbles:
+    * If a nibble<0xc, then it is the length itself (0 = empty string).
+    * If a nibble>=0xc, then it forms a length value with the following
+    * nibble.
+    * The offsets and lengths arrays must be at least 33 (one more) long
+    * because there is no check here at the end if the last nibble is still
+    * used.
+    * @param index of group string object in array
+    * @param offsets array to store the value of the string offsets
+    * @param lengths array to store the value of the string length
+    * @return next index of the data string immediately after the lengths
+    *         in terms of byte address
+    */
+    public int getGroupLengths(int index, char offsets[], char lengths[])
+    {
+        char length = 0xffff;
+        byte b = 0,
+            n = 0;
+        int shift;
+        index = index * m_groupsize_; // byte count offsets of group strings
+        int stringoffset = UCharacterUtility.toInt(
+                                 m_groupinfo_[index + OFFSET_HIGH_OFFSET_],
+                                 m_groupinfo_[index + OFFSET_LOW_OFFSET_]);
+
+        offsets[0] = 0;
+
+        // all 32 lengths must be read to get the offset of the first group
+        // string
+        for (int i = 0; i < LINES_PER_GROUP_; stringoffset ++) {
+            b = m_groupstring_[stringoffset];
+            shift = 4;
+
+            while (shift >= 0) {
+                // getting nibble
+                n = (byte)((b >> shift) & 0x0F);
+                if (length == 0xffff && n > SINGLE_NIBBLE_MAX_) {
+                    length = (char)((n - 12) << 4);
+                }
+                else {
+                    if (length != 0xffff) {
+                       lengths[i] = (char)((length | n) + 12);
+                    }
+                    else {
+                       lengths[i] = (char)n;
+                    }
+
+                    if (i < LINES_PER_GROUP_) {
+                       offsets[i + 1] = (char)(offsets[i] + lengths[i]);
+                    }
+
+                    length = 0xffff;
+                    i ++;
+                }
+
+                shift -= 4;
+            }
+        }
+        return stringoffset;
+    }
+
+    /**
+    * Gets the name of the argument group index.
+    * UnicodeData.txt uses ';' as a field separator, so no field can contain
+    * ';' as part of its contents. In unames.icu, it is marked as
+    * token[';'] == -1 only if the semicolon is used in the data file - which
+    * is iff we have Unicode 1.0 names or ISO comments.
+    * So, it will be token[';'] == -1 if we store U1.0 names/ISO comments
+    * although we know that it will never be part of a name.
+    * Equivalent to ICU4C's expandName.
+    * @param index of the group name string in byte count
+    * @param length of the group name string
+    * @param choice of Unicode 1.0 name or the most current name
+    * @return name of the group
+    */
+    public String getGroupName(int index, int length, int choice)
+    {
+        if (choice == UCharacterNameChoice.UNICODE_10_CHAR_NAME
+            || choice == UCharacterNameChoice.ISO_COMMENT_) {
+            if (';' >= m_tokentable_.length || m_tokentable_[';'] == 0xFFFF) {
+                // skip the modern name
+                int oldindex = index;
+                index += UCharacterUtility.skipByteSubString(m_groupstring_,
+                                                   index, length, (byte)';');
+                length -= (index - oldindex);
+                if (choice == UCharacterNameChoice.ISO_COMMENT_) {
+                    // skips the 1.0 Name to the iso comment part
+                    oldindex = index;
+                    index += UCharacterUtility.skipByteSubString(m_groupstring_,
+                                                    index, length, (byte)';');
+                    length -= (index - oldindex);
+                }
+            }
+            else {
+                // the semicolon byte is a token number, therefore only modern
+                // names are stored in unames.dat and there is no such
+                // requested Unicode 1.0 name here
+                length = 0;
+            }
+        }
+
+        synchronized (m_utilStringBuffer_) {
+            m_utilStringBuffer_.delete(0, m_utilStringBuffer_.length());
+            byte b;
+            char token;
+            for (int i = 0; i < length;) {
+                b = m_groupstring_[index + i];
+                i ++;
+
+                if (b >= m_tokentable_.length) {
+                    if (b == ';') {
+                        break;
+                    }
+                    m_utilStringBuffer_.append(b); // implicit letter
+                }
+                else {
+                    token = m_tokentable_[b & 0x00ff];
+                    if (token == 0xFFFE) {
+                        // this is a lead byte for a double-byte token
+                        token = m_tokentable_[b << 8 |
+                                          (m_groupstring_[index + i] & 0x00ff)];
+                        i ++;
+                    }
+                    if (token == 0xFFFF) {
+                        if (b == ';') {
+                            // skip the semicolon if we are seeking extended
+                            // names and there was no 2.0 name but there
+                            // is a 1.0 name.
+                            if (m_utilStringBuffer_.length() == 0 && choice ==
+                                   UCharacterNameChoice.EXTENDED_CHAR_NAME) {
+                                continue;
+                            }
+                            break;
+                        }
+                        // explicit letter
+                        m_utilStringBuffer_.append((char)(b & 0x00ff));
+                    }
+                    else { // write token word
+                        UCharacterUtility.getNullTermByteSubString(
+                                m_utilStringBuffer_, m_tokenstring_, token);
+                    }
+                }
+            }
+
+            if (m_utilStringBuffer_.length() > 0) {
+                return m_utilStringBuffer_.toString();
+            }
+        }
+        return null;
+    }
+
+    /**
+    * Retrieves the extended name
+    */
+    public String getExtendedName(int ch)
+    {
+        String result = getName(ch, UCharacterNameChoice.UNICODE_CHAR_NAME);
+        if (result == null) {
+            if (getType(ch) == UCharacterCategory.CONTROL) {
+                result = getName(ch,
+                                 UCharacterNameChoice.UNICODE_10_CHAR_NAME);
+            }
+            if (result == null) {
+                result = getExtendedOr10Name(ch);
+            }
+        }
+        return result;
+    }
+
+    /**
+     * Gets the group index for the codepoint, or the group before it.
+     * @param codepoint
+     * @return group index containing codepoint or the group before it.
+     */
+    public int getGroup(int codepoint)
+    {
+        int endGroup = m_groupcount_;
+        int msb      = getCodepointMSB(codepoint);
+        int result   = 0;
+        // binary search for the group of names that contains the one for
+        // code
+        // find the group that contains codepoint, or the highest before it
+        while (result < endGroup - 1) {
+            int gindex = (result + endGroup) >> 1;
+            if (msb < getGroupMSB(gindex)) {
+                endGroup = gindex;
+            }
+            else {
+                result = gindex;
+            }
+        }
+        return result;
+    }
+
+    /**
+     * Gets the extended and 1.0 name when the most current unicode names
+     * fail
+     * @param ch codepoint
+     * @return name of codepoint extended or 1.0
+     */
+    public String getExtendedOr10Name(int ch)
+    {
+        String result = null;
+        if (getType(ch) == UCharacterCategory.CONTROL) {
+            result = getName(ch,
+                             UCharacterNameChoice.UNICODE_10_CHAR_NAME);
+        }
+        if (result == null) {
+            int type = getType(ch);
+            // Return unknown if the table of names above is not up to
+            // date.
+            if (type >= TYPE_NAMES_.length) {
+                result = UNKNOWN_TYPE_NAME_;
+            }
+            else {
+                result = TYPE_NAMES_[type];
+            }
+            synchronized (m_utilStringBuffer_) {
+                m_utilStringBuffer_.delete(0, m_utilStringBuffer_.length());
+                m_utilStringBuffer_.append('<');
+                m_utilStringBuffer_.append(result);
+                m_utilStringBuffer_.append('-');
+                String chStr = Integer.toHexString(ch).toUpperCase();
+                int zeros = 4 - chStr.length();
+                while (zeros > 0) {
+                    m_utilStringBuffer_.append('0');
+                    zeros --;
+                }
+                m_utilStringBuffer_.append(chStr);
+                m_utilStringBuffer_.append('>');
+                result = m_utilStringBuffer_.toString();
+            }
+        }
+        return result;
+    }
+
+    /**
+     * Gets the MSB from the group index
+     * @param gindex group index
+     * @return the MSB of the group if gindex is valid, -1 otherwise
+     */
+    public int getGroupMSB(int gindex)
+    {
+        if (gindex >= m_groupcount_) {
+            return -1;
+        }
+        return m_groupinfo_[gindex * m_groupsize_];
+    }
+
+    /**
+     * Gets the MSB of the codepoint
+     * @param codepoint
+     * @return the MSB of the codepoint
+     */
+    public static int getCodepointMSB(int codepoint)
+    {
+        return codepoint >> GROUP_SHIFT_;
+    }
+
+    /**
+     * Gets the maximum codepoint + 1 of the group
+     * @param msb most significant byte of the group
+     * @return limit codepoint of the group
+     */
+    public static int getGroupLimit(int msb)
+    {
+        return (msb << GROUP_SHIFT_) + LINES_PER_GROUP_;
+    }
+
+    /**
+     * Gets the minimum codepoint of the group
+     * @param msb most significant byte of the group
+     * @return minimum codepoint of the group
+     */
+    public static int getGroupMin(int msb)
+    {
+        return msb << GROUP_SHIFT_;
+    }
+
+    /**
+     * Gets the offset to a group
+     * @param codepoint
+     * @return offset to a group
+     */
+    public static int getGroupOffset(int codepoint)
+    {
+        return codepoint & GROUP_MASK_;
+    }
+
+    /**
+     * Gets the minimum codepoint of a group
+     * @param codepoint
+     * @return minimum codepoint in the group which codepoint belongs to
+     */
+    ///CLOVER:OFF
+    public static int getGroupMinFromCodepoint(int codepoint)
+    {
+        return codepoint & ~GROUP_MASK_;
+    }
+    ///CLOVER:ON
+
+    /**
+     * Get the Algorithm range length
+     * @return Algorithm range length
+     */
+    public int getAlgorithmLength()
+    {
+        return m_algorithm_.length;
+    }
+
+    /**
+     * Gets the start of the range
+     * @param index algorithm index
+     * @return algorithm range start
+     */
+    public int getAlgorithmStart(int index)
+    {
+        return m_algorithm_[index].m_rangestart_;
+    }
+
+    /**
+     * Gets the end of the range
+     * @param index algorithm index
+     * @return algorithm range end
+     */
+    public int getAlgorithmEnd(int index)
+    {
+        return m_algorithm_[index].m_rangeend_;
+    }
+
+    /**
+     * Gets the Algorithmic name of the codepoint
+     * @param index algorithmic range index
+     * @param codepoint
+     * @return algorithmic name of codepoint
+     */
+    public String getAlgorithmName(int index, int codepoint)
+    {
+        String result = null;
+        synchronized (m_utilStringBuffer_) {
+            m_utilStringBuffer_.delete(0, m_utilStringBuffer_.length());
+            m_algorithm_[index].appendName(codepoint, m_utilStringBuffer_);
+            result = m_utilStringBuffer_.toString();
+        }
+        return result;
+    }
+
+    /**
+    * Gets the group name of the character
+    * @param ch character to get the group name
+    * @param choice name choice selector to choose a unicode 1.0 or newer name
+    */
+    public String getGroupName(int ch, int choice)
+    {
+        // gets the msb
+        int msb   = getCodepointMSB(ch);
+        int group = getGroup(ch);
+
+        // return this if it is an exact match
+        if (msb == m_groupinfo_[group * m_groupsize_]) {
+            int index = getGroupLengths(group, m_groupoffsets_,
+                                        m_grouplengths_);
+            int offset = ch & GROUP_MASK_;
+            return getGroupName(index + m_groupoffsets_[offset],
+                                m_grouplengths_[offset], choice);
+        }
+
+        return null;
+    }
+
+    // these are transliterator use methods ---------------------------------
+
+    /**
+     * Gets the maximum length of any codepoint name.
+     * Equivalent to uprv_getMaxCharNameLength.
+     * @return the maximum length of any codepoint name
+     */
+    public int getMaxCharNameLength()
+    {
+        if (initNameSetsLengths()) {
+            return m_maxNameLength_;
+        }
+        else {
+            return 0;
+        }
+    }
+
+    /**
+     * Gets the maximum length of any iso comments.
+     * Equivalent to uprv_getMaxISOCommentLength.
+     * @return the maximum length of any codepoint name
+     */
+    ///CLOVER:OFF
+    public int getMaxISOCommentLength()
+    {
+        if (initNameSetsLengths()) {
+            return m_maxISOCommentLength_;
+        }
+        else {
+            return 0;
+        }
+    }
+    ///CLOVER:ON
+
+    /**
+     * Fills set with characters that are used in Unicode character names.
+     * Equivalent to uprv_getCharNameCharacters.
+     * @param set USet to receive characters. Existing contents are deleted.
+     */
+    public void getCharNameCharacters(UnicodeSet set)
+    {
+        convert(m_nameSet_, set);
+    }
+
+    /**
+     * Fills set with characters that are used in Unicode character names.
+     * Equivalent to uprv_getISOCommentCharacters.
+     * @param set USet to receive characters. Existing contents are deleted.
+     */
+    ///CLOVER:OFF
+    public void getISOCommentCharacters(UnicodeSet set)
+    {
+        convert(m_ISOCommentSet_, set);
+    }
+    ///CLOVER:ON
+
+    // package private inner class --------------------------------------
+
+    /**
+    * Algorithmic name class
+    */
+    static final class AlgorithmName
+    {
+        // package private data members ----------------------------------
+
+        /**
+        * Constant type value of the different AlgorithmName
+        */
+        static final int TYPE_0_ = 0;
+        static final int TYPE_1_ = 1;
+
+        // package private constructors ----------------------------------
+
+        /**
+        * Constructor
+        */
+        AlgorithmName()
+        {
+        }
+
+        // package private methods ---------------------------------------
+
+        /**
+        * Sets the information for accessing the algorithmic names
+        * @param rangestart starting code point that lies within this name group
+        * @param rangeend end code point that lies within this name group
+        * @param type algorithm type. There's 2 kinds of algorithmic type. First
+        *        which uses code point as part of its name and the other uses
+        *        variant postfix strings
+        * @param variant algorithmic variant
+        * @return true if values are valid
+        */
+        boolean setInfo(int rangestart, int rangeend, byte type, byte variant)
+        {
+            if (rangestart >= UCharacter.MIN_VALUE && rangestart <= rangeend
+                && rangeend <= UCharacter.MAX_VALUE &&
+                (type == TYPE_0_ || type == TYPE_1_)) {
+                m_rangestart_ = rangestart;
+                m_rangeend_ = rangeend;
+                m_type_ = type;
+                m_variant_ = variant;
+                return true;
+            }
+            return false;
+        }
+
+        /**
+        * Sets the factor data
+        * @param array of factor
+        * @return true if factors are valid
+        */
+        boolean setFactor(char factor[])
+        {
+            if (factor.length == m_variant_) {
+                m_factor_ = factor;
+                return true;
+            }
+            return false;
+        }
+
+        /**
+        * Sets the name prefix
+        * @param prefix
+        * @return true if prefix is set
+        */
+        boolean setPrefix(String prefix)
+        {
+            if (prefix != null && prefix.length() > 0) {
+                m_prefix_ = prefix;
+                return true;
+            }
+            return false;
+        }
+
+        /**
+        * Sets the variant factorized name data
+        * @param string variant factorized name data
+        * @return true if values are set
+        */
+        boolean setFactorString(byte string[])
+        {
+            // factor and variant string can be empty for things like
+            // hanggul code points
+            m_factorstring_ = string;
+            return true;
+        }
+
+        /**
+        * Checks if code point lies in Algorithm object at index
+        * @param ch code point
+        */
+        boolean contains(int ch)
+        {
+            return m_rangestart_ <= ch && ch <= m_rangeend_;
+        }
+
+        /**
+        * Appends algorithm name of code point into StringBuffer.
+        * Note this method does not check for validity of code point in Algorithm,
+        * result is undefined if code point does not belong in Algorithm.
+        * @param ch code point
+        * @param str StringBuffer to append to
+        */
+        void appendName(int ch, StringBuffer str)
+        {
+            str.append(m_prefix_);
+            switch (m_type_)
+            {
+                case TYPE_0_:
+                    // prefix followed by hex digits indicating variants
+                    Utility.hex(ch, m_variant_, str);
+                    break;
+                case TYPE_1_:
+                    // prefix followed by factorized-elements
+                    int offset = ch - m_rangestart_;
+                    int indexes[] = m_utilIntBuffer_;
+                    int factor;
+
+                    // write elements according to the factors
+                    // the factorized elements are determined by modulo
+                    // arithmetic
+                    synchronized (m_utilIntBuffer_) {
+                        for (int i = m_variant_ - 1; i > 0; i --)
+                        {
+                            factor = m_factor_[i] & 0x00FF;
+                            indexes[i] = offset % factor;
+                            offset /= factor;
+                        }
+
+                        // we don't need to calculate the last modulus because
+                        // start <= code <= end guarantees here that
+                        // code <= factors[0]
+                        indexes[0] = offset;
+
+                        // joining up the factorized strings
+                        str.append(getFactorString(indexes, m_variant_));
+                    }
+                    break;
+            }
+        }
+
+        /**
+        * Gets the character for the argument algorithmic name
+        * @return the algorithmic char or -1 otherwise.
+        */
+        int getChar(String name)
+        {
+            int prefixlen = m_prefix_.length();
+            if (name.length() < prefixlen ||
+                !m_prefix_.equals(name.substring(0, prefixlen))) {
+                return -1;
+            }
+
+            switch (m_type_)
+            {
+                case TYPE_0_ :
+                try
+                {
+                    int result = Integer.parseInt(name.substring(prefixlen),
+                                                  16);
+                    // does it fit into the range?
+                    if (m_rangestart_ <= result && result <= m_rangeend_) {
+                        return result;
+                    }
+                }
+                catch (NumberFormatException e)
+                {
+                    return -1;
+                }
+                break;
+                case TYPE_1_ :
+                    // repetitative suffix name comparison done here
+                    // offset is the character code - start
+                    for (int ch = m_rangestart_; ch <= m_rangeend_; ch ++)
+                    {
+                        int offset = ch - m_rangestart_;
+                        int indexes[] = m_utilIntBuffer_;
+                        int factor;
+
+                        // write elements according to the factors
+                        // the factorized elements are determined by modulo
+                        // arithmetic
+                        synchronized (m_utilIntBuffer_) {
+                            for (int i = m_variant_ - 1; i > 0; i --)
+                            {
+                                factor = m_factor_[i] & 0x00FF;
+                                indexes[i] = offset % factor;
+                                offset /= factor;
+                            }
+
+                            // we don't need to calculate the last modulus
+                            // because start <= code <= end guarantees here that
+                            // code <= factors[0]
+                            indexes[0] = offset;
+
+                            // joining up the factorized strings
+                            if (compareFactorString(indexes, m_variant_, name,
+                                                    prefixlen)) {
+                                return ch;
+                            }
+                        }
+                    }
+            }
+
+            return -1;
+        }
+
+        /**
+         * Adds all chars in the set of algorithmic names into the set.
+         * Equivalent to part of calcAlgNameSetsLengths.
+         * @param set int set to add the chars of the algorithm names into
+         * @param maxlength maximum length to compare to
+         * @return the length that is either maxlength of the length of this
+         *         algorithm name if it is longer than maxlength
+         */
+        int add(int set[], int maxlength)
+        {
+            // prefix length
+            int length = UCharacterName.add(set, m_prefix_);
+            switch (m_type_) {
+                case TYPE_0_ : {
+                    // name = prefix + (range->variant times) hex-digits
+                    // prefix
+                    length += m_variant_;
+                    /* synwee to check
+                     * addString(set, (const char *)(range + 1))
+                                       + range->variant;*/
+                    break;
+                }
+                case TYPE_1_ : {
+                    // name = prefix factorized-elements
+                    // get the set and maximum factor suffix length for each
+                    // factor
+                    for (int i = m_variant_ - 1; i > 0; i --)
+                    {
+                        int maxfactorlength = 0;
+                        int count = 0;
+                        for (int factor = m_factor_[i]; factor > 0; -- factor) {
+                            synchronized (m_utilStringBuffer_) {
+                                m_utilStringBuffer_.delete(0,
+                                                m_utilStringBuffer_.length());
+                                count
+                                  = UCharacterUtility.getNullTermByteSubString(
+                                                m_utilStringBuffer_,
+                                                m_factorstring_, count);
+                                UCharacterName.add(set, m_utilStringBuffer_);
+                                if (m_utilStringBuffer_.length()
+                                                            > maxfactorlength)
+                                {
+                                    maxfactorlength
+                                                = m_utilStringBuffer_.length();
+                                }
+                            }
+                        }
+                        length += maxfactorlength;
+                    }
+                }
+            }
+            if (length > maxlength) {
+                return length;
+            }
+            return maxlength;
+        }
+
+        // private data members ------------------------------------------
+
+        /**
+        * Algorithmic data information
+        */
+        private int m_rangestart_;
+        private int m_rangeend_;
+        private byte m_type_;
+        private byte m_variant_;
+        private char m_factor_[];
+        private String m_prefix_;
+        private byte m_factorstring_[];
+        /**
+         * Utility StringBuffer
+         */
+        private StringBuffer m_utilStringBuffer_ = new StringBuffer();
+        /**
+         * Utility int buffer
+         */
+        private int m_utilIntBuffer_[] = new int[256];
+
+        // private methods -----------------------------------------------
+
+        /**
+        * Gets the indexth string in each of the argument factor block
+        * @param index array with each index corresponding to each factor block
+        * @param length length of the array index
+        * @return the combined string of the array of indexth factor string in
+        *         factor block
+        */
+        private String getFactorString(int index[], int length)
+        {
+            int size = m_factor_.length;
+            if (index == null || length != size) {
+                return null;
+            }
+
+            synchronized (m_utilStringBuffer_) {
+                m_utilStringBuffer_.delete(0, m_utilStringBuffer_.length());
+                int count = 0;
+                int factor;
+                size --;
+                for (int i = 0; i <= size; i ++) {
+                    factor = m_factor_[i];
+                    count = UCharacterUtility.skipNullTermByteSubString(
+                                             m_factorstring_, count, index[i]);
+                    count = UCharacterUtility.getNullTermByteSubString(
+                                          m_utilStringBuffer_, m_factorstring_,
+                                          count);
+                    if (i != size) {
+                        count = UCharacterUtility.skipNullTermByteSubString(
+                                                       m_factorstring_, count,
+                                                       factor - index[i] - 1);
+                    }
+                }
+                return m_utilStringBuffer_.toString();
+            }
+        }
+
+        /**
+        * Compares the indexth string in each of the argument factor block with
+        * the argument string
+        * @param index array with each index corresponding to each factor block
+        * @param length index array length
+        * @param str string to compare with
+        * @param offset of str to start comparison
+        * @return true if string matches
+        */
+        private boolean compareFactorString(int index[], int length, String str,
+                                            int offset)
+        {
+            int size = m_factor_.length;
+            if (index == null || length != size)
+                return false;
+
+            int count = 0;
+            int strcount = offset;
+            int factor;
+            size --;
+            for (int i = 0; i <= size; i ++)
+            {
+                factor = m_factor_[i];
+                count = UCharacterUtility.skipNullTermByteSubString(
+                                          m_factorstring_, count, index[i]);
+                strcount = UCharacterUtility.compareNullTermByteSubString(str,
+                                          m_factorstring_, strcount, count);
+                if (strcount < 0) {
+                    return false;
+                }
+
+                if (i != size) {
+                    count = UCharacterUtility.skipNullTermByteSubString(
+                                  m_factorstring_, count, factor - index[i]);
+                }
+            }
+            if (strcount != str.length()) {
+                return false;
+            }
+            return true;
+        }
+    }
+
+    // package private data members --------------------------------------
+
+    /**
+     * Size of each groups
+     */
+    int m_groupsize_ = 0;
+
+    // package private methods --------------------------------------------
+
+    /**
+    * Sets the token data
+    * @param token array of tokens
+    * @param tokenstring array of string values of the tokens
+    * @return false if there is a data error
+    */
+    boolean setToken(char token[], byte tokenstring[])
+    {
+        if (token != null && tokenstring != null && token.length > 0 &&
+            tokenstring.length > 0) {
+            m_tokentable_ = token;
+            m_tokenstring_ = tokenstring;
+            return true;
+        }
+        return false;
+    }
+
+    /**
+    * Set the algorithm name information array
+    * @param algorithm information array
+    * @return true if the group string offset has been set correctly
+    */
+    boolean setAlgorithm(AlgorithmName alg[])
+    {
+        if (alg != null && alg.length != 0) {
+            m_algorithm_ = alg;
+            return true;
+        }
+        return false;
+    }
+
+    /**
+    * Sets the number of group and size of each group in number of char
+    * @param count number of groups
+    * @param size size of group in char
+    * @return true if group size is set correctly
+    */
+    boolean setGroupCountSize(int count, int size)
+    {
+        if (count <= 0 || size <= 0) {
+            return false;
+        }
+        m_groupcount_ = count;
+        m_groupsize_ = size;
+        return true;
+    }
+
+    /**
+    * Sets the group name data
+    * @param group index information array
+    * @param groupstring name information array
+    * @return false if there is a data error
+    */
+    boolean setGroup(char group[], byte groupstring[])
+    {
+        if (group != null && groupstring != null && group.length > 0 &&
+            groupstring.length > 0) {
+            m_groupinfo_ = group;
+            m_groupstring_ = groupstring;
+            return true;
+        }
+        return false;
+    }
+
+    // private data members ----------------------------------------------
+
+    /**
+    * Data used in unames.icu
+    */
+    private char m_tokentable_[];
+    private byte m_tokenstring_[];
+    private char m_groupinfo_[];
+    private byte m_groupstring_[];
+    private AlgorithmName m_algorithm_[];
+
+    /**
+    * Group use
+    */
+    private char m_groupoffsets_[] = new char[LINES_PER_GROUP_ + 1];
+    private char m_grouplengths_[] = new char[LINES_PER_GROUP_ + 1];
+
+    /**
+    * Default name of the name datafile
+    */
+    private static final String NAME_FILE_NAME_ = ICUResourceBundle.ICU_BUNDLE+"/unames.icu";
+    /**
+    * Shift count to retrieve group information
+    */
+    private static final int GROUP_SHIFT_ = 5;
+    /**
+    * Mask to retrieve the offset for a particular character within a group
+    */
+    private static final int GROUP_MASK_ = LINES_PER_GROUP_ - 1;
+    /**
+    * Default buffer size of datafile
+    */
+    private static final int NAME_BUFFER_SIZE_ = 100000;
+
+    /**
+    * Position of offsethigh in group information array
+    */
+    private static final int OFFSET_HIGH_OFFSET_ = 1;
+
+    /**
+    * Position of offsetlow in group information array
+    */
+    private static final int OFFSET_LOW_OFFSET_ = 2;
+    /**
+    * Double nibble indicator, any nibble > this number has to be combined
+    * with its following nibble
+    */
+    private static final int SINGLE_NIBBLE_MAX_ = 11;
+
+    /**
+     * Maximum length of character names (regular & 1.0).
+     */
+    private static int MAX_NAME_LENGTH_ = 0;
+    /**
+     * Maximum length of ISO comments.
+     */
+    private static int MAX_ISO_COMMENT_LENGTH_ = 0;
+
+    /**
+     * Set of chars used in character names (regular & 1.0).
+     * Chars are platform-dependent (can be EBCDIC).
+     */
+    private int m_nameSet_[] = new int[8];
+    /**
+     * Set of chars used in ISO comments. (regular & 1.0).
+     * Chars are platform-dependent (can be EBCDIC).
+     */
+    private int m_ISOCommentSet_[] = new int[8];
+    /**
+     * Utility StringBuffer
+     */
+    private StringBuffer m_utilStringBuffer_ = new StringBuffer();
+    /**
+     * Utility int buffer
+     */
+    private int m_utilIntBuffer_[] = new int[2];
+    /**
+     * Maximum ISO comment length
+     */
+    private int m_maxISOCommentLength_;
+    /**
+     * Maximum name length
+     */
+    private int m_maxNameLength_;
+    /**
+     * Singleton instance
+     */
+    private static UCharacterName INSTANCE_ = null;
+    /**
+     * Type names used for extended names
+     */
+    private static final String TYPE_NAMES_[] = {"unassigned",
+                                                 "uppercase letter",
+                                                 "lowercase letter",
+                                                 "titlecase letter",
+                                                 "modifier letter",
+                                                 "other letter",
+                                                 "non spacing mark",
+                                                 "enclosing mark",
+                                                 "combining spacing mark",
+                                                 "decimal digit number",
+                                                 "letter number",
+                                                 "other number",
+                                                 "space separator",
+                                                 "line separator",
+                                                 "paragraph separator",
+                                                 "control",
+                                                 "format",
+                                                 "private use area",
+                                                 "surrogate",
+                                                 "dash punctuation",
+                                                 "start punctuation",
+                                                 "end punctuation",
+                                                 "connector punctuation",
+                                                 "other punctuation",
+                                                 "math symbol",
+                                                 "currency symbol",
+                                                 "modifier symbol",
+                                                 "other symbol",
+                                                 "initial punctuation",
+                                                 "final punctuation",
+                                                 "noncharacter",
+                                                 "lead surrogate",
+                                                 "trail surrogate"};
+    /**
+     * Unknown type name
+     */
+    private static final String UNKNOWN_TYPE_NAME_ = "unknown";
+    /**
+     * Not a character type
+     */
+    private static final int NON_CHARACTER_
+                                    = UCharacterCategory.CHAR_CATEGORY_COUNT;
+    /**
+    * Lead surrogate type
+    */
+    private static final int LEAD_SURROGATE_
+                                  = UCharacterCategory.CHAR_CATEGORY_COUNT + 1;
+    /**
+    * Trail surrogate type
+    */
+    private static final int TRAIL_SURROGATE_
+                                  = UCharacterCategory.CHAR_CATEGORY_COUNT + 2;
+    /**
+    * Extended category count
+    */
+    static final int EXTENDED_CATEGORY_
+                                  = UCharacterCategory.CHAR_CATEGORY_COUNT + 3;
+
+    // private constructor ------------------------------------------------
+
+    /**
+    * <p>Protected constructor for use in UCharacter.</p>
+    * @exception IOException thrown when data reading fails
+    */
+    private UCharacterName() throws IOException
+    {
+        InputStream is = ICUData.getRequiredStream(NAME_FILE_NAME_);
+        BufferedInputStream b = new BufferedInputStream(is, NAME_BUFFER_SIZE_);
+        UCharacterNameReader reader = new UCharacterNameReader(b);
+        reader.read(this);
+        b.close();
+    }
+
+    // private methods ---------------------------------------------------
+
+    /**
+    * Gets the algorithmic name for the argument character
+    * @param ch character to determine name for
+    * @param choice name choice
+    * @return the algorithmic name or null if not found
+    */
+    private String getAlgName(int ch, int choice)
+    {
+        // Do not write algorithmic Unicode 1.0 names because Unihan names are
+        // the same as the modern ones, extension A was only introduced with
+        // Unicode 3.0, and the Hangul syllable block was moved and changed
+        // around Unicode 1.1.5.
+        if (choice != UCharacterNameChoice.UNICODE_10_CHAR_NAME) {
+            // index in terms integer index
+            synchronized (m_utilStringBuffer_) {
+                m_utilStringBuffer_.delete(0, m_utilStringBuffer_.length());
+
+                for (int index = m_algorithm_.length - 1; index >= 0; index --)
+                {
+                   if (m_algorithm_[index].contains(ch)) {
+                      m_algorithm_[index].appendName(ch, m_utilStringBuffer_);
+                      return m_utilStringBuffer_.toString();
+                   }
+                }
+            }
+        }
+        return null;
+    }
+
+    /**
+    * Getting the character with the tokenized argument name
+    * @param name of the character
+    * @return character with the tokenized argument name or -1 if character
+    *         is not found
+    */
+    private synchronized int getGroupChar(String name, int choice)
+    {
+        for (int i = 0; i < m_groupcount_; i ++) {
+            // populating the data set of grouptable
+
+            int startgpstrindex = getGroupLengths(i, m_groupoffsets_,
+                                                  m_grouplengths_);
+
+            // shift out to function
+            int result = getGroupChar(startgpstrindex, m_grouplengths_, name,
+                                      choice);
+            if (result != -1) {
+                return (m_groupinfo_[i * m_groupsize_] << GROUP_SHIFT_)
+                         | result;
+            }
+        }
+        return -1;
+    }
+
+    /**
+    * Compares and retrieve character if name is found within the argument
+    * group
+    * @param index index where the set of names reside in the group block
+    * @param length list of lengths of the strings
+    * @param name character name to search for
+    * @param choice of either 1.0 or the most current unicode name
+    * @return relative character in the group which matches name, otherwise if
+    *         not found, -1 will be returned
+    */
+    private int getGroupChar(int index, char length[], String name,
+                             int choice)
+    {
+        byte b = 0;
+        char token;
+        int len;
+        int namelen = name.length();
+        int nindex;
+        int count;
+
+        for (int result = 0; result <= LINES_PER_GROUP_; result ++) {
+            nindex = 0;
+            len = length[result];
+
+            if (choice == UCharacterNameChoice.UNICODE_10_CHAR_NAME) {
+                int oldindex = index;
+                index += UCharacterUtility.skipByteSubString(m_groupstring_,
+                                                     index, len, (byte)';');
+                len -= (index - oldindex);
+            }
+
+            // number of tokens is > the length of the name
+            // write each letter directly, and write a token word per token
+            for (count = 0; count < len && nindex != -1 && nindex < namelen;
+                ) {
+                b = m_groupstring_[index + count];
+                count ++;
+
+                if (b >= m_tokentable_.length) {
+                    if (name.charAt(nindex ++) != (b & 0xFF)) {
+                        nindex = -1;
+                    }
+                }
+                else {
+                    token = m_tokentable_[b & 0xFF];
+                    if (token == 0xFFFE) {
+                        // this is a lead byte for a double-byte token
+                        token = m_tokentable_[b << 8 |
+                                   (m_groupstring_[index + count] & 0x00ff)];
+                        count ++;
+                    }
+                    if (token == 0xFFFF) {
+                        if (name.charAt(nindex ++) != (b & 0xFF)) {
+                            nindex = -1;
+                        }
+                    }
+                    else {
+                        // compare token with name
+                        nindex = UCharacterUtility.compareNullTermByteSubString(
+                                        name, m_tokenstring_, nindex, token);
+                    }
+                }
+            }
+
+            if (namelen == nindex &&
+                (count == len || m_groupstring_[index + count] == ';')) {
+                return result;
+            }
+
+            index += len;
+        }
+        return -1;
+    }
+
+    /**
+    * Binary search for the group strings set that contains the argument Unicode
+    * code point's most significant bits.
+    * The return value is always a valid group string set that contain msb.
+    * If group string set is not found, -1 is returned
+    * @param ch the code point to look for
+    * @return group string set index in datatable otherwise -1 is returned if
+    *         group string set is not found
+    */
+    ///CLOVER:OFF
+    private int getGroupStringIndex(int ch)
+    {
+        // gets the msb
+        int msb = ch >> GROUP_SHIFT_,
+            end = m_groupcount_,
+            start,
+            gindex = 0;
+
+        // binary search for the group of names that contains the one for code
+        for (start = 0; start < end - 1;) {
+            gindex = (start + end) >> 1;
+            if (msb < m_groupinfo_[gindex * m_groupsize_]) {
+                end = gindex;
+            }
+            else {
+                start = gindex;
+            }
+        }
+
+        // return this if it is an exact match
+        if (msb == m_groupinfo_[start * m_groupsize_]) {
+            start = start * m_groupsize_;
+            return UCharacterUtility.toInt(
+                                m_groupinfo_[start + OFFSET_HIGH_OFFSET_],
+                                m_groupinfo_[start + OFFSET_LOW_OFFSET_]);
+        }
+        return -1;
+    }
+    ///CLOVER:ON
+
+    /**
+    * Gets the character extended type
+    * @param ch character to be tested
+    * @return extended type it is associated with
+    */
+    private static int getType(int ch)
+    {
+        if (UCharacterUtility.isNonCharacter(ch)) {
+            // not a character we return a invalid category count
+            return NON_CHARACTER_;
+        }
+        int result = UCharacter.getType(ch);
+        if (result == UCharacterCategory.SURROGATE) {
+            if (ch <= UTF16.LEAD_SURROGATE_MAX_VALUE) {
+                result = LEAD_SURROGATE_;
+            }
+            else {
+                result = TRAIL_SURROGATE_;
+            }
+        }
+        return result;
+    }
+
+    /**
+    * Getting the character with extended name of the form <....>.
+    * @param name of the character to be found
+    * @param choice name choice
+    * @return character associated with the name, -1 if such character is not
+    *                   found and -2 if we should continue with the search.
+    */
+    private static int getExtendedChar(String name, int choice)
+    {
+        if (name.charAt(0) == '<') {
+            if (choice == UCharacterNameChoice.EXTENDED_CHAR_NAME) {
+                int endIndex = name.length() - 1;
+                if (name.charAt(endIndex) == '>') {
+                    int startIndex = name.lastIndexOf('-');
+                    if (startIndex >= 0) { // We've got a category.
+                        startIndex ++;
+                        int result = -1;
+                        try {
+                            result = Integer.parseInt(
+                                        name.substring(startIndex, endIndex),
+                                        16);
+                        }
+                        catch (NumberFormatException e) {
+                            return -1;
+                        }
+                        // Now validate the category name. We could use a
+                        // binary search, or a trie, if we really wanted to.
+                        String type = name.substring(1, startIndex - 1);
+                        int length = TYPE_NAMES_.length;
+                        for (int i = 0; i < length; ++ i) {
+                            if (type.compareTo(TYPE_NAMES_[i]) == 0) {
+                                if (getType(result) == i) {
+                                    return result;
+                                }
+                                break;
+                            }
+                        }
+                    }
+                }
+            }
+            return -1;
+        }
+        return -2;
+    }
+
+    // sets of name characters, maximum name lengths -----------------------
+
+    /**
+     * Adds a codepoint into a set of ints.
+     * Equivalent to SET_ADD.
+     * @param set set to add to
+     * @param ch 16 bit char to add
+     */
+    private static void add(int set[], char ch)
+    {
+        set[ch >>> 5] |= 1 << (ch & 0x1f);
+    }
+
+    /**
+     * Checks if a codepoint is a part of a set of ints.
+     * Equivalent to SET_CONTAINS.
+     * @param set set to check in
+     * @param ch 16 bit char to check
+     * @return true if codepoint is part of the set, false otherwise
+     */
+    private static boolean contains(int set[], char ch)
+    {
+        return (set[ch >>> 5] & (1 << (ch & 0x1f))) != 0;
+    }
+
+    /**
+     * Adds all characters of the argument str and gets the length
+     * Equivalent to calcStringSetLength.
+     * @param set set to add all chars of str to
+     * @param str string to add
+     */
+    private static int add(int set[], String str)
+    {
+        int result = str.length();
+
+        for (int i = result - 1; i >= 0; i --) {
+            add(set, str.charAt(i));
+        }
+        return result;
+    }
+
+    /**
+     * Adds all characters of the argument str and gets the length
+     * Equivalent to calcStringSetLength.
+     * @param set set to add all chars of str to
+     * @param str string to add
+     */
+    private static int add(int set[], StringBuffer str)
+    {
+        int result = str.length();
+
+        for (int i = result - 1; i >= 0; i --) {
+            add(set, str.charAt(i));
+        }
+        return result;
+    }
+
+    /**
+     * Adds all algorithmic names into the name set.
+     * Equivalent to part of calcAlgNameSetsLengths.
+     * @param maxlength length to compare to
+     * @return the maximum length of any possible algorithmic name if it is >
+     *         maxlength, otherwise maxlength is returned.
+     */
+    private int addAlgorithmName(int maxlength)
+    {
+        int result = 0;
+        for (int i = m_algorithm_.length - 1; i >= 0; i --) {
+            result = m_algorithm_[i].add(m_nameSet_, maxlength);
+            if (result > maxlength) {
+                maxlength = result;
+            }
+        }
+        return maxlength;
+    }
+
+    /**
+     * Adds all extended names into the name set.
+     * Equivalent to part of calcExtNameSetsLengths.
+     * @param maxlength length to compare to
+     * @return the maxlength of any possible extended name.
+     */
+    private int addExtendedName(int maxlength)
+    {
+        for (int i = TYPE_NAMES_.length - 1; i >= 0; i --) {
+            // for each category, count the length of the category name
+            // plus 9 =
+            // 2 for <>
+            // 1 for -
+            // 6 for most hex digits per code point
+            int length = 9 + add(m_nameSet_, TYPE_NAMES_[i]);
+            if (length > maxlength) {
+                maxlength = length;
+            }
+        }
+        return maxlength;
+    }
+
+    /**
+     * Adds names of a group to the argument set.
+     * Equivalent to calcNameSetLength.
+     * @param offset of the group name string in byte count
+     * @param length of the group name string
+     * @param tokenlength array to store the length of each token
+     * @param set to add to
+     * @return the length of the name string and the length of the group
+     *         string parsed
+     */
+    private int[] addGroupName(int offset, int length, byte tokenlength[],
+                               int set[])
+    {
+        int resultnlength = 0;
+        int resultplength = 0;
+        while (resultplength < length) {
+            char b = (char)(m_groupstring_[offset + resultplength] & 0xff);
+            resultplength ++;
+            if (b == ';') {
+                break;
+            }
+
+            if (b >= m_tokentable_.length) {
+                add(set, b); // implicit letter
+                resultnlength ++;
+            }
+            else {
+                char token = m_tokentable_[b & 0x00ff];
+                if (token == 0xFFFE) {
+                    // this is a lead byte for a double-byte token
+                    b = (char)(b << 8 | (m_groupstring_[offset + resultplength]
+                                         & 0x00ff));
+                    token = m_tokentable_[b];
+                    resultplength ++;
+                }
+                if (token == 0xFFFF) {
+                    add(set, b);
+                    resultnlength ++;
+                }
+                else {
+                    // count token word
+                    // use cached token length
+                    byte tlength = tokenlength[b];
+                    if (tlength == 0) {
+                        synchronized (m_utilStringBuffer_) {
+                            m_utilStringBuffer_.delete(0,
+                                                 m_utilStringBuffer_.length());
+                            UCharacterUtility.getNullTermByteSubString(
+                                           m_utilStringBuffer_, m_tokenstring_,
+                                           token);
+                            tlength = (byte)add(set, m_utilStringBuffer_);
+                        }
+                        tokenlength[b] = tlength;
+                    }
+                    resultnlength += tlength;
+                }
+            }
+        }
+        m_utilIntBuffer_[0] = resultnlength;
+        m_utilIntBuffer_[1] = resultplength;
+        return m_utilIntBuffer_;
+    }
+
+    /**
+     * Adds names of all group to the argument set.
+     * Sets the data member m_max*Length_.
+     * Method called only once.
+     * Equivalent to calcGroupNameSetsLength.
+     * @param maxlength length to compare to
+     */
+    private void addGroupName(int maxlength)
+    {
+        int maxisolength = 0;
+        char offsets[] = new char[LINES_PER_GROUP_ + 2];
+        char lengths[] = new char[LINES_PER_GROUP_ + 2];
+        byte tokenlengths[] = new byte[m_tokentable_.length];
+
+        // enumerate all groups
+        // for (int i = m_groupcount_ - 1; i >= 0; i --) {
+        for (int i = 0; i < m_groupcount_ ; i ++) {
+            int offset = getGroupLengths(i, offsets, lengths);
+            // enumerate all lines in each group
+            // for (int linenumber = LINES_PER_GROUP_ - 1; linenumber >= 0;
+            //    linenumber --) {
+            for (int linenumber = 0; linenumber < LINES_PER_GROUP_;
+                linenumber ++) {
+                int lineoffset = offset + offsets[linenumber];
+                int length = lengths[linenumber];
+                if (length == 0) {
+                    continue;
+                }
+
+                // read regular name
+                int parsed[] = addGroupName(lineoffset, length, tokenlengths,
+                                            m_nameSet_);
+                if (parsed[0] > maxlength) {
+                    // 0 for name length
+                    maxlength = parsed[0];
+                }
+                lineoffset += parsed[1];
+                if (parsed[1] >= length) {
+                    // 1 for parsed group string length
+                    continue;
+                }
+                length -= parsed[1];
+                // read Unicode 1.0 name
+                parsed = addGroupName(lineoffset, length, tokenlengths,
+                                      m_nameSet_);
+                if (parsed[0] > maxlength) {
+                    // 0 for name length
+                    maxlength = parsed[0];
+                }
+                lineoffset += parsed[1];
+                if (parsed[1] >= length) {
+                    // 1 for parsed group string length
+                    continue;
+                }
+                length -= parsed[1];
+                // read ISO comment
+                parsed = addGroupName(lineoffset, length, tokenlengths,
+                                      m_ISOCommentSet_);
+                if (parsed[1] > maxisolength) {
+                    maxisolength = length;
+                }
+            }
+        }
+
+        // set gMax... - name length last for threading
+        m_maxISOCommentLength_ = maxisolength;
+        m_maxNameLength_ = maxlength;
+    }
+
+    /**
+     * Sets up the name sets and the calculation of the maximum lengths.
+     * Equivalent to calcNameSetsLengths.
+     */
+    private boolean initNameSetsLengths()
+    {
+        if (m_maxNameLength_ > 0) {
+            return true;
+        }
+
+        String extra = "0123456789ABCDEF<>-";
+        // set hex digits, used in various names, and <>-, used in extended
+        // names
+        for (int i = extra.length() - 1; i >= 0; i --) {
+            add(m_nameSet_, extra.charAt(i));
+        }
+
+        // set sets and lengths from algorithmic names
+        m_maxNameLength_ = addAlgorithmName(0);
+        // set sets and lengths from extended names
+        m_maxNameLength_ = addExtendedName(m_maxNameLength_);
+        // set sets and lengths from group names, set global maximum values
+        addGroupName(m_maxNameLength_);
+        return true;
+    }
+
+    /**
+     * Converts the char set cset into a Unicode set uset.
+     * Equivalent to charSetToUSet.
+     * @param set Set of 256 bit flags corresponding to a set of chars.
+     * @param uset USet to receive characters. Existing contents are deleted.
+     */
+    private void convert(int set[], UnicodeSet uset)
+    {
+        uset.clear();
+        if (!initNameSetsLengths()) {
+            return;
+        }
+
+        // build a char string with all chars that are used in character names
+        for (char c = 255; c > 0; c --) {
+            if (contains(set, c)) {
+                uset.add(c);
+            }
+        }
+    }
+}
diff --git a/src/com/ibm/icu/impl/UCharacterNameChoice.java b/src/com/ibm/icu/impl/UCharacterNameChoice.java
new file mode 100644
index 0000000..097f150
--- /dev/null
+++ b/src/com/ibm/icu/impl/UCharacterNameChoice.java
@@ -0,0 +1,29 @@
+/**
+*******************************************************************************
+* Copyright (C) 1996-2004, International Business Machines Corporation and    *
+* others. All Rights Reserved.                                                *
+*******************************************************************************
+*/
+
+package com.ibm.icu.impl;
+
+/**
+* Internal class containing selector constants for the unicode character names.
+* Constants representing the "modern" name of a Unicode character or the name 
+* that was defined in Unicode version 1.0, before the Unicode standard 
+* merged with ISO-10646.
+* Arguments for <a href=UCharacterName.html>UCharacterName</a>
+* @author Syn Wee Quek
+* @since oct0600
+*/
+
+public interface UCharacterNameChoice
+{
+  // public variables =============================================
+  
+  static final int UNICODE_CHAR_NAME = 0;
+  static final int UNICODE_10_CHAR_NAME = 1;
+  static final int EXTENDED_CHAR_NAME = 2;
+  static final int CHAR_NAME_CHOICE_COUNT = 3;
+  static final int ISO_COMMENT_ = CHAR_NAME_CHOICE_COUNT;
+}
diff --git a/src/com/ibm/icu/impl/UCharacterNameReader.java b/src/com/ibm/icu/impl/UCharacterNameReader.java
new file mode 100644
index 0000000..fd5472b
--- /dev/null
+++ b/src/com/ibm/icu/impl/UCharacterNameReader.java
@@ -0,0 +1,218 @@
+/**
+*******************************************************************************
+* Copyright (C) 1996-2004, International Business Machines Corporation and    *
+* others. All Rights Reserved.                                                *
+*******************************************************************************
+*/
+package com.ibm.icu.impl;
+
+import java.io.InputStream;
+import java.io.DataInputStream;
+import java.io.IOException;
+import java.util.Arrays;
+
+/**
+* <p>Internal reader class for ICU data file uname.dat containing 
+* Unicode codepoint name data.</p> 
+* <p>This class simply reads unames.icu, authenticates that it is a valid
+* ICU data file and split its contents up into blocks of data for use in
+* <a href=UCharacterName.html>com.ibm.icu.impl.UCharacterName</a>.
+* </p> 
+* <p>unames.icu which is in big-endian format is jared together with this 
+* package.</p>
+* @author Syn Wee Quek
+* @since release 2.1, February 1st 2002
+* @draft 2.1
+*/
+
+final class UCharacterNameReader implements ICUBinary.Authenticate
+{      
+    // public methods ----------------------------------------------------
+    
+    public boolean isDataVersionAcceptable(byte version[])
+    {
+        return version[0] == DATA_FORMAT_VERSION_[0];
+    }
+    
+    // protected constructor ---------------------------------------------
+    
+    /**
+    * <p>Protected constructor.</p>
+    * @param inputStream ICU uprop.dat file input stream
+    * @exception IOException throw if data file fails authentication 
+    * @draft 2.1
+    */
+    protected UCharacterNameReader(InputStream inputStream) 
+                                                        throws IOException
+    {
+        ICUBinary.readHeader(inputStream, DATA_FORMAT_ID_, this);
+        m_dataInputStream_ = new DataInputStream(inputStream);
+    }
+  
+    // protected methods -------------------------------------------------
+      
+    /**
+    * Read and break up the stream of data passed in as arguments
+    * and fills up UCharacterName.
+    * If unsuccessful false will be returned.
+    * @param data instance of datablock
+    * @exception thrown when there's a data error.
+    */
+    protected void read(UCharacterName data) throws IOException
+    {
+        // reading index
+        m_tokenstringindex_ = m_dataInputStream_.readInt();
+        m_groupindex_       = m_dataInputStream_.readInt();
+        m_groupstringindex_ = m_dataInputStream_.readInt();
+        m_algnamesindex_    = m_dataInputStream_.readInt();
+        
+        // reading tokens
+        int count = m_dataInputStream_.readChar();
+        char token[] = new char[count];
+        for (char i = 0; i < count; i ++) {
+            token[i] = m_dataInputStream_.readChar();
+        }
+        int size = m_groupindex_ - m_tokenstringindex_;
+        byte tokenstr[] = new byte[size];
+        m_dataInputStream_.readFully(tokenstr);
+        data.setToken(token, tokenstr);
+        
+        // reading the group information records
+        count = m_dataInputStream_.readChar();
+        data.setGroupCountSize(count, GROUP_INFO_SIZE_);
+        count *= GROUP_INFO_SIZE_;
+        char group[] = new char[count];
+        for (int i = 0; i < count; i ++) {
+            group[i] = m_dataInputStream_.readChar();
+        }
+        
+        size = m_algnamesindex_ - m_groupstringindex_;
+        byte groupstring[] = new byte[size];
+        m_dataInputStream_.readFully(groupstring);
+    
+        data.setGroup(group, groupstring);
+        
+        count = m_dataInputStream_.readInt();
+        UCharacterName.AlgorithmName alg[] = 
+                                 new UCharacterName.AlgorithmName[count];
+     
+        for (int i = 0; i < count; i ++)
+        {
+            UCharacterName.AlgorithmName an = readAlg();
+            if (an == null) {
+                throw new IOException("unames.icu read error: Algorithmic names creation error");
+            }
+            alg[i] = an;
+        }
+        data.setAlgorithm(alg);
+    }
+    
+    /**
+    * <p>Checking the file for the correct format.</p>
+    * @param dataformatid
+    * @param dataformatversio
+    * @return true if the file format version is correct
+    * @draft 2.1
+    */
+    ///CLOVER:OFF
+    protected boolean authenticate(byte dataformatid[],
+                                   byte dataformatversion[])
+    {
+        return Arrays.equals(DATA_FORMAT_ID_, dataformatid) &&
+               Arrays.equals(DATA_FORMAT_VERSION_, dataformatversion);
+    }
+    ///CLOVER:ON
+    
+    // private variables -------------------------------------------------
+  
+    /**
+    * Data input stream for names 
+    */
+    private DataInputStream m_dataInputStream_;
+    /**
+    * Size of the group information block in number of char
+    */
+    private static final int GROUP_INFO_SIZE_ = 3;
+
+    /**
+    * Index of the offset information
+    */
+    private int m_tokenstringindex_;
+    private int m_groupindex_;
+    private int m_groupstringindex_;
+    private int m_algnamesindex_;
+      
+    /**
+    * Size of an algorithmic name information group
+    * start code point size + end code point size + type size + variant size + 
+    * size of data size
+    */
+    private static final int ALG_INFO_SIZE_ = 12;
+      
+    /**
+    * File format version and id that this class understands.
+    * No guarantees are made if a older version is used
+    */
+    private static final byte DATA_FORMAT_VERSION_[] = 
+                                    {(byte)0x1, (byte)0x0, (byte)0x0, (byte)0x0};
+    private static final byte DATA_FORMAT_ID_[] = {(byte)0x75, (byte)0x6E, 
+                                                    (byte)0x61, (byte)0x6D};                                                 
+    /**
+    * Corrupted error string
+    */
+    private static final String CORRUPTED_DATA_ERROR_ =
+                                "Data corrupted in character name data file";
+      
+    // private methods ---------------------------------------------------
+      
+    /**
+    * Reads an individual record of AlgorithmNames
+    * @return an instance of AlgorithNames if read is successful otherwise null
+    * @exception thrown when file read error occurs or data is corrupted
+    */
+    private UCharacterName.AlgorithmName readAlg() throws IOException
+    {
+        UCharacterName.AlgorithmName result = 
+                                       new UCharacterName.AlgorithmName();
+        int rangestart = m_dataInputStream_.readInt();
+        int rangeend   = m_dataInputStream_.readInt();
+        byte type      = m_dataInputStream_.readByte();
+        byte variant   = m_dataInputStream_.readByte();
+        if (!result.setInfo(rangestart, rangeend, type, variant)) {
+            return null;
+        }
+                         
+        int size = m_dataInputStream_.readChar();
+        if (type == UCharacterName.AlgorithmName.TYPE_1_)
+        {
+            char factor[] = new char[variant];
+            for (int j = 0; j < variant; j ++) {
+                factor[j] = m_dataInputStream_.readChar();
+            }
+                  
+            result.setFactor(factor);
+            size -= (variant << 1);
+        }
+          
+        StringBuffer prefix = new StringBuffer();
+        char c = (char)(m_dataInputStream_.readByte() & 0x00FF);
+        while (c != 0)
+        {
+            prefix.append(c);
+            c = (char)(m_dataInputStream_.readByte() & 0x00FF);
+        }
+        
+        result.setPrefix(prefix.toString());
+        
+        size -= (ALG_INFO_SIZE_ + prefix.length() + 1);
+        
+        if (size > 0)
+        {
+            byte string[] = new byte[size];
+            m_dataInputStream_.readFully(string);
+            result.setFactorString(string);
+        }
+        return result;
+    }
+}
+
diff --git a/src/com/ibm/icu/impl/UCharacterProperty.java b/src/com/ibm/icu/impl/UCharacterProperty.java
new file mode 100644
index 0000000..f34b6dd
--- /dev/null
+++ b/src/com/ibm/icu/impl/UCharacterProperty.java
@@ -0,0 +1,1273 @@
+/**
+*******************************************************************************
+* Copyright (C) 1996-2005, International Business Machines Corporation and    *
+* others. All Rights Reserved.                                                *
+*******************************************************************************
+*/
+
+package com.ibm.icu.impl;
+
+import java.io.BufferedInputStream;
+import java.io.InputStream;
+import java.io.IOException;
+import java.util.Locale;
+import java.util.MissingResourceException;
+
+import com.ibm.icu.lang.UCharacter;
+import com.ibm.icu.lang.UCharacterCategory;
+import com.ibm.icu.lang.UProperty;
+import com.ibm.icu.text.BreakIterator;
+import com.ibm.icu.text.Normalizer;
+import com.ibm.icu.text.UCharacterIterator;
+import com.ibm.icu.text.UnicodeSet;
+import com.ibm.icu.text.UTF16;
+import com.ibm.icu.util.RangeValueIterator;
+import com.ibm.icu.util.ULocale;
+import com.ibm.icu.util.UResourceBundle;
+import com.ibm.icu.util.VersionInfo;
+
+/**
+* <p>Internal class used for Unicode character property database.</p>
+* <p>This classes store binary data read from uprops.icu.
+* It does not have the capability to parse the data into more high-level
+* information. It only returns bytes of information when required.</p>
+* <p>Due to the form most commonly used for retrieval, array of char is used
+* to store the binary data.</p>
+* <p>UCharacterPropertyDB also contains information on accessing indexes to
+* significant points in the binary data.</p>
+* <p>Responsibility for molding the binary data into more meaning form lies on
+* <a href=UCharacter.html>UCharacter</a>.</p>
+* @author Syn Wee Quek
+* @since release 2.1, february 1st 2002
+* @draft 2.1
+*/
+
+public final class UCharacterProperty
+{
+    // public data members -----------------------------------------------
+
+    /**
+    * Trie data
+    */
+    public CharTrie m_trie_;
+    /**
+     * Optimization
+     * CharTrie index array
+     */
+    public char[] m_trieIndex_;
+    /**
+     * Optimization
+     * CharTrie data array
+     */
+    public char[] m_trieData_;
+    /**
+     * Optimization
+     * CharTrie data offset
+     */
+    public int m_trieInitialValue_;
+    /**
+    * Unicode version
+    */
+    public VersionInfo m_unicodeVersion_;
+    /**
+    * Latin capital letter i with dot above
+    */
+    public static final char LATIN_CAPITAL_LETTER_I_WITH_DOT_ABOVE_ = 0x130;
+    /**
+    * Latin small letter i with dot above
+    */
+    public static final char LATIN_SMALL_LETTER_DOTLESS_I_ = 0x131;
+    /**
+    * Latin lowercase i
+    */
+    public static final char LATIN_SMALL_LETTER_I_ = 0x69;
+    /**
+    * Character type mask
+    */
+    public static final int TYPE_MASK = 0x1F;
+
+    // uprops.h enum UPropertySource --------------------------------------- ***
+
+    /** No source, not a supported property. */
+    public static final int SRC_NONE=0;
+    /** From uchar.c/uprops.icu main trie */
+    public static final int SRC_CHAR=1;
+    /** From uchar.c/uprops.icu properties vectors trie */
+    public static final int SRC_PROPSVEC=2;
+    /** Hangul_Syllable_Type, from uchar.c/uprops.icu */
+    public static final int SRC_HST=3;
+    /** From unames.c/unames.icu */
+    public static final int SRC_NAMES=4;
+    /** From unorm.cpp/unorm.icu */
+    public static final int SRC_NORM=5;
+    /** From ucase.c/ucase.icu */
+    public static final int SRC_CASE=6;
+    /** From ubidi_props.c/ubidi.icu */
+    public static final int SRC_BIDI=7;
+    /** From uchar.c/uprops.icu main trie as well as properties vectors trie */
+    public static final int SRC_CHAR_AND_PROPSVEC=8;
+    /** One more than the highest UPropertySource (SRC_) constant. */
+    public static final int SRC_COUNT=9;
+
+    // public methods ----------------------------------------------------
+
+    /**
+     * Java friends implementation
+     */
+    public void setIndexData(CharTrie.FriendAgent friendagent)
+    {
+        m_trieIndex_ = friendagent.getPrivateIndex();
+        m_trieData_ = friendagent.getPrivateData();
+        m_trieInitialValue_ = friendagent.getPrivateInitialValue();
+    }
+
+    /**
+    * Gets the property value at the index.
+    * This is optimized.
+    * Note this is alittle different from CharTrie the index m_trieData_
+    * is never negative.
+    * @param ch code point whose property value is to be retrieved
+    * @return property value of code point
+    */
+    public final int getProperty(int ch)
+    {
+        if (ch < UTF16.LEAD_SURROGATE_MIN_VALUE
+            || (ch > UTF16.LEAD_SURROGATE_MAX_VALUE
+                && ch < UTF16.SUPPLEMENTARY_MIN_VALUE)) {
+            // BMP codepoint 0000..D7FF or DC00..FFFF
+            // optimized
+            try { // using try for ch < 0 is faster than using an if statement
+                return m_trieData_[
+                    (m_trieIndex_[ch >> Trie.INDEX_STAGE_1_SHIFT_]
+                          << Trie.INDEX_STAGE_2_SHIFT_)
+                    + (ch & Trie.INDEX_STAGE_3_MASK_)];
+            } catch (ArrayIndexOutOfBoundsException e) {
+                return m_trieInitialValue_;
+            }
+        }
+        if (ch <= UTF16.LEAD_SURROGATE_MAX_VALUE) {
+            // lead surrogate D800..DBFF
+            return m_trieData_[
+                    (m_trieIndex_[Trie.LEAD_INDEX_OFFSET_
+                                  + (ch >> Trie.INDEX_STAGE_1_SHIFT_)]
+                          << Trie.INDEX_STAGE_2_SHIFT_)
+                    + (ch & Trie.INDEX_STAGE_3_MASK_)];
+        }
+        if (ch <= UTF16.CODEPOINT_MAX_VALUE) {
+            // supplementary code point 10000..10FFFF
+            // look at the construction of supplementary characters
+            // trail forms the ends of it.
+            return m_trie_.getSurrogateValue(
+                                          UTF16.getLeadSurrogate(ch),
+                                          (char)(ch & Trie.SURROGATE_MASK_));
+        }
+        // ch is out of bounds
+        // return m_dataOffset_ if there is an error, in this case we return
+        // the default value: m_initialValue_
+        // we cannot assume that m_initialValue_ is at offset 0
+        // this is for optimization.
+        return m_trieInitialValue_;
+
+        // this all is an inlined form of return m_trie_.getCodePointValue(ch);
+    }
+
+    /**
+    * Getting the signed numeric value of a character embedded in the property
+    * argument
+    * @param prop the character
+    * @return signed numberic value
+    */
+    public static int getSignedValue(int prop)
+    {
+        return ((short)prop >> VALUE_SHIFT_);
+    }
+
+    /**
+    * Getting the unsigned numeric value of a character embedded in the property
+    * argument
+    * @param prop the character
+    * @return unsigned numberic value
+    */
+    ///CLOVER:OFF
+    public static int getUnsignedValue(int prop)
+    {
+        return (prop >> VALUE_SHIFT_) & UNSIGNED_VALUE_MASK_AFTER_SHIFT_;
+    }
+    ///CLOVER:ON
+
+    /* internal numeric pseudo-types for special encodings of numeric values */
+    public static final int NT_FRACTION=4; /* ==UCharacter.NumericType.COUNT, must not change unless binary format version changes */
+    public static final int NT_LARGE=5;
+    public static final int NT_COUNT=6;
+
+    /**
+     * Gets the unicode additional properties.
+     * C version getUnicodeProperties.
+     * @param codepoint codepoint whose additional properties is to be
+     *                  retrieved
+     * @param column
+     * @return unicode properties
+     */
+       public int getAdditional(int codepoint, int column) {
+        if (column == -1) {
+            return getProperty(codepoint);
+        }
+           if (column < 0 || column >= m_additionalColumnsCount_) {
+           return 0;
+       }
+       return m_additionalVectors_[
+                     m_additionalTrie_.getCodePointValue(codepoint) + column];
+       }
+
+    static final int MY_MASK = UCharacterProperty.TYPE_MASK
+        & ((1<<UCharacterCategory.UPPERCASE_LETTER) |
+            (1<<UCharacterCategory.LOWERCASE_LETTER) |
+            (1<<UCharacterCategory.TITLECASE_LETTER) |
+            (1<<UCharacterCategory.MODIFIER_LETTER) |
+            (1<<UCharacterCategory.OTHER_LETTER));
+
+
+       /**
+     * <p>Get the "age" of the code point.</p>
+     * <p>The "age" is the Unicode version when the code point was first
+     * designated (as a non-character or for Private Use) or assigned a
+     * character.</p>
+     * <p>This can be useful to avoid emitting code points to receiving
+     * processes that do not accept newer characters.</p>
+     * <p>The data is from the UCD file DerivedAge.txt.</p>
+     * <p>This API does not check the validity of the codepoint.</p>
+     * @param codepoint The code point.
+     * @return the Unicode version number
+     * @draft ICU 2.1
+     */
+    public VersionInfo getAge(int codepoint)
+    {
+        int version = getAdditional(codepoint, 0) >> AGE_SHIFT_;
+        return VersionInfo.getInstance(
+                           (version >> FIRST_NIBBLE_SHIFT_) & LAST_NIBBLE_MASK_,
+                           version & LAST_NIBBLE_MASK_, 0, 0);
+    }
+
+    private static final long UNSIGNED_INT_MASK = 0xffffffffL;
+
+    private static final int GC_CN_MASK = getMask(UCharacter.UNASSIGNED);
+    private static final int GC_CC_MASK = getMask(UCharacter.CONTROL);
+    private static final int GC_CS_MASK = getMask(UCharacter.SURROGATE);
+    private static final int GC_ZS_MASK = getMask(UCharacter.SPACE_SEPARATOR);
+    private static final int GC_ZL_MASK = getMask(UCharacter.LINE_SEPARATOR);
+    private static final int GC_ZP_MASK = getMask(UCharacter.PARAGRAPH_SEPARATOR);
+    /** Mask constant for multiple UCharCategory bits (Z Separators). */
+    private static final int GC_Z_MASK = GC_ZS_MASK|GC_ZL_MASK|GC_ZP_MASK;
+
+    /**
+     * Checks if c is in
+     * [^\p{space}\p{gc=Control}\p{gc=Surrogate}\p{gc=Unassigned}]
+     * with space=\p{Whitespace} and Control=Cc.
+     * Implements UCHAR_POSIX_GRAPH.
+     * @internal
+     */
+    private static final boolean isgraphPOSIX(int c) {
+        /* \p{space}\p{gc=Control} == \p{gc=Z}\p{Control} */
+        /* comparing ==0 returns FALSE for the categories mentioned */
+        return (getMask(UCharacter.getType(c))&
+                (GC_CC_MASK|GC_CS_MASK|GC_CN_MASK|GC_Z_MASK))
+               ==0;
+    }
+
+    private static final class BinaryProperties{
+       int column;
+       long mask;
+       public BinaryProperties(int column,long mask){
+               this.column = column;
+               this.mask  = mask;
+       }
+   }
+   BinaryProperties[] binProps={
+       /*
+        * column and mask values for binary properties from u_getUnicodeProperties().
+        * Must be in order of corresponding UProperty,
+        * and there must be exacly one entry per binary UProperty.
+        */
+       new BinaryProperties(  1,                (  1 << ALPHABETIC_PROPERTY_) ),
+       new BinaryProperties(  1,                (  1 << ASCII_HEX_DIGIT_PROPERTY_) ),
+       new BinaryProperties( SRC_BIDI,   0 ),                                       /* UCHAR_BIDI_CONTROL */
+       new BinaryProperties( SRC_BIDI,   0 ),                                       /* UCHAR_BIDI_MIRRORED */
+       new BinaryProperties(  1,                (  1 << DASH_PROPERTY_) ),
+       new BinaryProperties(  1,                (  1 << DEFAULT_IGNORABLE_CODE_POINT_PROPERTY_) ),
+       new BinaryProperties(  1,                (  1 << DEPRECATED_PROPERTY_) ),
+       new BinaryProperties(  1,                (  1 << DIACRITIC_PROPERTY_) ),
+       new BinaryProperties(  1,                (  1 << EXTENDER_PROPERTY_) ),
+       new BinaryProperties( SRC_NORM,   0 ),                                       /* UCHAR_FULL_COMPOSITION_EXCLUSION */
+       new BinaryProperties(  1,                (  1 << GRAPHEME_BASE_PROPERTY_) ),
+       new BinaryProperties(  1,                (  1 << GRAPHEME_EXTEND_PROPERTY_) ),
+       new BinaryProperties(  1,                (  1 << GRAPHEME_LINK_PROPERTY_) ),
+       new BinaryProperties(  1,                (  1 << HEX_DIGIT_PROPERTY_) ),
+       new BinaryProperties(  1,                (  1 << HYPHEN_PROPERTY_) ),
+       new BinaryProperties(  1,                (  1 << ID_CONTINUE_PROPERTY_) ),
+       new BinaryProperties(  1,                (  1 << ID_START_PROPERTY_) ),
+       new BinaryProperties(  1,                (  1 << IDEOGRAPHIC_PROPERTY_) ),
+       new BinaryProperties(  1,                (  1 << IDS_BINARY_OPERATOR_PROPERTY_) ),
+       new BinaryProperties(  1,                (  1 << IDS_TRINARY_OPERATOR_PROPERTY_) ),
+       new BinaryProperties( SRC_BIDI,   0 ),                                       /* UCHAR_JOIN_CONTROL */
+       new BinaryProperties(  1,                (  1 << LOGICAL_ORDER_EXCEPTION_PROPERTY_) ),
+       new BinaryProperties( SRC_CASE,   0 ),                                       /* UCHAR_LOWERCASE */
+       new BinaryProperties(  1,                (  1 << MATH_PROPERTY_) ),
+       new BinaryProperties(  1,                (  1 << NONCHARACTER_CODE_POINT_PROPERTY_) ),
+       new BinaryProperties(  1,                (  1 << QUOTATION_MARK_PROPERTY_) ),
+       new BinaryProperties(  1,                (  1 << RADICAL_PROPERTY_) ),
+       new BinaryProperties( SRC_CASE,   0 ),                                       /* UCHAR_SOFT_DOTTED */
+       new BinaryProperties(  1,                (  1 << TERMINAL_PUNCTUATION_PROPERTY_) ),
+       new BinaryProperties(  1,                (  1 << UNIFIED_IDEOGRAPH_PROPERTY_) ),
+       new BinaryProperties( SRC_CASE,   0 ),                                       /* UCHAR_UPPERCASE */
+       new BinaryProperties(  1,                (  1 << WHITE_SPACE_PROPERTY_) ),
+       new BinaryProperties(  1,                (  1 << XID_CONTINUE_PROPERTY_) ),
+       new BinaryProperties(  1,                (  1 << XID_START_PROPERTY_) ),
+       new BinaryProperties( SRC_CASE,   0 ),                                       /* UCHAR_CASE_SENSITIVE */
+       new BinaryProperties(  2,                (  1 << V2_S_TERM_PROPERTY_) ),
+       new BinaryProperties(  2,                (  1 << V2_VARIATION_SELECTOR_PROPERTY_) ),
+       new BinaryProperties( SRC_NORM,   0 ),                                       /* UCHAR_NFD_INERT */
+       new BinaryProperties( SRC_NORM,   0 ),                                       /* UCHAR_NFKD_INERT */
+       new BinaryProperties( SRC_NORM,   0 ),                                       /* UCHAR_NFC_INERT */
+       new BinaryProperties( SRC_NORM,   0 ),                                       /* UCHAR_NFKC_INERT */
+       new BinaryProperties( SRC_NORM,   0 ),                                       /* UCHAR_SEGMENT_STARTER */
+       new BinaryProperties(  2,                (  1 << V2_PATTERN_SYNTAX) ),
+       new BinaryProperties(  2,                (  1 << V2_PATTERN_WHITE_SPACE) ),
+       new BinaryProperties( SRC_CHAR_AND_PROPSVEC,  0 ),                           /* UCHAR_POSIX_ALNUM */
+       new BinaryProperties( SRC_CHAR,  0 ),                                        /* UCHAR_POSIX_BLANK */
+       new BinaryProperties( SRC_CHAR,  0 ),                                        /* UCHAR_POSIX_GRAPH */
+       new BinaryProperties( SRC_CHAR,  0 ),                                        /* UCHAR_POSIX_PRINT */
+       new BinaryProperties( SRC_CHAR,  0 )                                         /* UCHAR_POSIX_XDIGIT */
+   };
+
+
+    /**
+     * <p>Check a binary Unicode property for a code point.</p>
+     * <p>Unicode, especially in version 3.2, defines many more properties
+     * than the original set in UnicodeData.txt.</p>
+     * <p>This API is intended to reflect Unicode properties as defined in
+     * the Unicode Character Database (UCD) and Unicode Technical Reports
+     * (UTR).</p>
+     * <p>For details about the properties see
+     * <a href=http://www.unicode.org/>http://www.unicode.org/</a>.</p>
+     * <p>For names of Unicode properties see the UCD file
+     * PropertyAliases.txt.</p>
+     * <p>This API does not check the validity of the codepoint.</p>
+     * <p>Important: If ICU is built with UCD files from Unicode versions
+     * below 3.2, then properties marked with "new" are not or
+     * not fully available.</p>
+     * @param codepoint Code point to test.
+     * @param property selector constant from com.ibm.icu.lang.UProperty,
+     *        identifies which binary property to check.
+     * @return true or false according to the binary Unicode property value
+     *         for ch. Also false if property is out of bounds or if the
+     *         Unicode version does not have data for the property at all, or
+     *         not for this code point.
+     * @see com.ibm.icu.lang.UProperty
+     * @draft ICU 2.1
+     */
+
+    public boolean hasBinaryProperty(int codepoint, int property)
+    {
+         if(property <UProperty.BINARY_START || UProperty.BINARY_LIMIT<=property) {
+            // not a known binary property
+            return false;
+        } else {
+            long mask=binProps[property].mask;
+            int column=binProps[property].column;
+            if(mask!=0) {
+                // systematic, directly stored properties
+                return ((UNSIGNED_INT_MASK & getAdditional(codepoint, column)) & mask)!=0;
+            } else {
+                if(column==SRC_CASE) {
+                    /* case mapping properties */
+                    UCaseProps csp;
+                    try {
+                        csp = UCaseProps.getSingleton();
+                    } catch (IOException e) {
+                        return false;
+                    }
+                    switch(property) {
+                    case UProperty.LOWERCASE:
+                        return UCaseProps.LOWER==csp.getType(codepoint);
+                    case UProperty.UPPERCASE:
+                        return UCaseProps.UPPER==csp.getType(codepoint);
+                    case UProperty.SOFT_DOTTED:
+                        return csp.isSoftDotted(codepoint);
+                    case UProperty.CASE_SENSITIVE:
+                        return csp.isCaseSensitive(codepoint);
+                    default:
+                        break;
+                    }
+                } else if(column==SRC_NORM) {
+                    /* normalization properties from unorm.icu */
+                    switch(property) {
+                    case UProperty.FULL_COMPOSITION_EXCLUSION:
+                        return NormalizerImpl.isFullCompositionExclusion(codepoint);
+                    case UProperty.NFD_INERT:
+                        return Normalizer.isNFSkippable(codepoint, Normalizer.NFD);
+                    case UProperty.NFKD_INERT:
+                        return Normalizer.isNFSkippable(codepoint, Normalizer.NFKD);
+                    case UProperty.NFC_INERT:
+                        return Normalizer.isNFSkippable(codepoint, Normalizer.NFC);
+                    case UProperty.NFKC_INERT:
+                        return Normalizer.isNFSkippable(codepoint, Normalizer.NFKC);
+                    case UProperty.SEGMENT_STARTER:
+                        return NormalizerImpl.isCanonSafeStart(codepoint);
+                    default:
+                        break;
+                    }
+                } else if(column==SRC_BIDI) {
+                    /* bidi/shaping properties */
+					UBiDiProps bdp;
+					try {
+						bdp = UBiDiProps.getSingleton();
+					} catch (IOException e) {
+						return false;
+					}
+                    switch(property) {
+                    case UProperty.BIDI_MIRRORED:
+                        return bdp.isMirrored(codepoint);
+                    case UProperty.BIDI_CONTROL:
+                        return bdp.isBidiControl(codepoint);
+                    case UProperty.JOIN_CONTROL:
+                        return bdp.isJoinControl(codepoint);
+                    default:
+                        break;
+                    }
+                } else if(column==SRC_CHAR) {
+                    switch(property) {
+                    case UProperty.POSIX_BLANK:
+                        // "horizontal space"
+                        if(codepoint<=0x9f) {
+                            return codepoint==9 || codepoint==0x20; /* TAB or SPACE */
+                        } else {
+                            /* Zs */
+                            return UCharacter.getType(codepoint)==UCharacter.SPACE_SEPARATOR;
+                        }
+                    case UProperty.POSIX_GRAPH:
+                        return isgraphPOSIX(codepoint);
+                    case UProperty.POSIX_PRINT:
+                        /*
+                         * Checks if codepoint is in \p{graph}\p{blank} - \p{cntrl}.
+                         *
+                         * The only cntrl character in graph+blank is TAB (in blank).
+                         * Here we implement (blank-TAB)=Zs instead of calling u_isblank().
+                         */
+                        return (UCharacter.getType(codepoint)==UCharacter.SPACE_SEPARATOR) || isgraphPOSIX(codepoint);
+                    case UProperty.POSIX_XDIGIT:
+                        /* check ASCII and Fullwidth ASCII a-fA-F */
+                        if(
+                            (codepoint<=0x66 && codepoint>=0x41 && (codepoint<=0x46 || codepoint>=0x61)) ||
+                            (codepoint>=0xff21 && codepoint<=0xff46 && (codepoint<=0xff26 || codepoint>=0xff41))
+                        ) {
+                            return true;
+                        }
+    
+                        return UCharacter.getType(codepoint)==UCharacter.DECIMAL_DIGIT_NUMBER;
+                    default:
+                        break;
+                    }
+                } else if(column==SRC_CHAR_AND_PROPSVEC) {
+                    switch(property) {
+                    case UProperty.POSIX_ALNUM:
+                        return UCharacter.isUAlphabetic(codepoint) || UCharacter.isDigit(codepoint);
+                    default:
+                        break;
+                    }
+                }
+            }
+        }
+        return false;
+    }
+
+    public final int getSource(int which) {
+        if(which<UProperty.BINARY_START) {
+            return SRC_NONE; /* undefined */
+        } else if(which<UProperty.BINARY_LIMIT) {
+            if(binProps[which].mask!=0) {
+                return SRC_PROPSVEC;
+            } else {
+                return binProps[which].column;
+            }
+        } else if(which<UProperty.INT_START) {
+            return SRC_NONE; /* undefined */
+        } else if(which<UProperty.INT_LIMIT) {
+            switch(which) {
+            case UProperty.GENERAL_CATEGORY:
+            case UProperty.NUMERIC_TYPE:
+                return SRC_CHAR;
+
+            case UProperty.HANGUL_SYLLABLE_TYPE:
+                return SRC_HST;
+
+            case UProperty.CANONICAL_COMBINING_CLASS:
+            case UProperty.NFD_QUICK_CHECK:
+            case UProperty.NFKD_QUICK_CHECK:
+            case UProperty.NFC_QUICK_CHECK:
+            case UProperty.NFKC_QUICK_CHECK:
+            case UProperty.LEAD_CANONICAL_COMBINING_CLASS:
+            case UProperty.TRAIL_CANONICAL_COMBINING_CLASS:
+                return SRC_NORM;
+
+            case UProperty.BIDI_CLASS:
+            case UProperty.JOINING_GROUP:
+            case UProperty.JOINING_TYPE:
+                return SRC_BIDI;
+
+            default:
+                return SRC_PROPSVEC;
+            }
+        } else if(which<UProperty.STRING_START) {
+            switch(which) {
+            case UProperty.GENERAL_CATEGORY_MASK:
+            case UProperty.NUMERIC_VALUE:
+                return SRC_CHAR;
+
+            default:
+                return SRC_NONE;
+            }
+        } else if(which<UProperty.STRING_LIMIT) {
+            switch(which) {
+            case UProperty.AGE:
+                return SRC_PROPSVEC;
+
+            case UProperty.BIDI_MIRRORING_GLYPH:
+                return SRC_BIDI;
+
+            case UProperty.CASE_FOLDING:
+            case UProperty.LOWERCASE_MAPPING:
+            case UProperty.SIMPLE_CASE_FOLDING:
+            case UProperty.SIMPLE_LOWERCASE_MAPPING:
+            case UProperty.SIMPLE_TITLECASE_MAPPING:
+            case UProperty.SIMPLE_UPPERCASE_MAPPING:
+            case UProperty.TITLECASE_MAPPING:
+            case UProperty.UPPERCASE_MAPPING:
+                return SRC_CASE;
+
+            case UProperty.ISO_COMMENT:
+            case UProperty.NAME:
+            case UProperty.UNICODE_1_NAME:
+                return SRC_NAMES;
+
+            default:
+                return SRC_NONE;
+            }
+        } else {
+            return SRC_NONE; /* undefined */
+        }
+    }
+
+    /**
+    * Forms a supplementary code point from the argument character<br>
+    * Note this is for internal use hence no checks for the validity of the
+    * surrogate characters are done
+    * @param lead lead surrogate character
+    * @param trail trailing surrogate character
+    * @return code point of the supplementary character
+    */
+    public static int getRawSupplementary(char lead, char trail)
+    {
+        return (lead << LEAD_SURROGATE_SHIFT_) + trail + SURROGATE_OFFSET_;
+    }
+
+    /**
+    * Loads the property data and initialize the UCharacterProperty instance.
+    * @throws MissingResourceException when data is missing or data has been corrupted
+    */
+    public static UCharacterProperty getInstance()
+    {
+        if(INSTANCE_ == null) {
+            try {
+                INSTANCE_ = new UCharacterProperty();
+            }
+            catch (Exception e) {
+                throw new MissingResourceException(e.getMessage(),"","");
+            }
+        }
+        return INSTANCE_;
+    }
+
+    /**
+     * <p>
+     * Unicode property names and property value names are compared
+     * "loosely". Property[Value]Aliases.txt say:
+     * <quote>
+     *   "With loose matching of property names, the case distinctions,
+     *    whitespace, and '_' are ignored."
+     * </quote>
+     * </p>
+     * <p>
+     * This function does just that, for ASCII (char *) name strings.
+     * It is almost identical to ucnv_compareNames() but also ignores
+     * ASCII White_Space characters (U+0009..U+000d).
+     * </p>
+     * @param name1 name to compare
+     * @param name2 name to compare
+     * @return 0 if names are equal, < 0 if name1 is less than name2 and > 0
+     *         if name1 is greater than name2.
+     */
+    /* to be implemented in 2.4
+     * public static int comparePropertyNames(String name1, String name2)
+    {
+        int result = 0;
+        int i1 = 0;
+        int i2 = 0;
+        while (true) {
+            char ch1 = 0;
+            char ch2 = 0;
+            // Ignore delimiters '-', '_', and ASCII White_Space
+            if (i1 < name1.length()) {
+                ch1 = name1.charAt(i1 ++);
+            }
+            while (ch1 == '-' || ch1 == '_' || ch1 == ' ' || ch1 == '\t'
+                   || ch1 == '\n' // synwee what is || ch1 == '\v'
+                   || ch1 == '\f' || ch1=='\r') {
+                if (i1 < name1.length()) {
+                    ch1 = name1.charAt(i1 ++);
+                }
+                else {
+                    ch1 = 0;
+                }
+            }
+            if (i2 < name2.length()) {
+                ch2 = name2.charAt(i2 ++);
+            }
+            while (ch2 == '-' || ch2 == '_' || ch2 == ' ' || ch2 == '\t'
+                   || ch2 == '\n' // synwee what is || ch1 == '\v'
+                   || ch2 == '\f' || ch2=='\r') {
+                if (i2 < name2.length()) {
+                    ch2 = name2.charAt(i2 ++);
+                }
+                else {
+                    ch2 = 0;
+                }
+            }
+
+            // If we reach the ends of both strings then they match
+            if (ch1 == 0 && ch2 == 0) {
+                return 0;
+            }
+
+            // Case-insensitive comparison
+            if (ch1 != ch2) {
+                result = Character.toLowerCase(ch1)
+                                                - Character.toLowerCase(ch2);
+                if (result != 0) {
+                    return result;
+                }
+            }
+        }
+    }
+    */
+
+    /**
+     * Checks if the argument c is to be treated as a white space in ICU
+     * rules. Usually ICU rule white spaces are ignored unless quoted.
+     * Equivalent to test for Pattern_White_Space Unicode property.
+     * Stable set of characters, won't change.
+     * See UAX #31 Identifier and Pattern Syntax: http://www.unicode.org/reports/tr31/
+     * @param c codepoint to check
+     * @return true if c is a ICU white space
+     */
+    public static boolean isRuleWhiteSpace(int c)
+    {
+        /* "white space" in the sense of ICU rule parsers
+           This is a FIXED LIST that is NOT DEPENDENT ON UNICODE PROPERTIES.
+           See UAX #31 Identifier and Pattern Syntax: http://www.unicode.org/reports/tr31/
+           U+0009..U+000D, U+0020, U+0085, U+200E..U+200F, and U+2028..U+2029
+           Equivalent to test for Pattern_White_Space Unicode property.
+        */
+        return (c >= 0x0009 && c <= 0x2029 &&
+                (c <= 0x000D || c == 0x0020 || c == 0x0085 ||
+                 c == 0x200E || c == 0x200F || c >= 0x2028));
+    }
+
+    /**
+     * Get the the maximum values for some enum/int properties.
+     * @return maximum values for the integer properties.
+     */
+    public int getMaxValues(int column)
+    {
+       // return m_maxBlockScriptValue_;
+
+        switch(column) {
+        case 0:
+            return m_maxBlockScriptValue_;
+        case 2:
+            return m_maxJTGValue_;
+        default:
+            return 0;
+        }
+    }
+
+    /**
+     * Gets the type mask
+     * @param type character type
+     * @return mask
+     */
+    public static final int getMask(int type)
+    {
+        return 1 << type;
+    }
+
+    // protected variables -----------------------------------------------
+
+    /**
+     * Extra property trie
+     */
+    CharTrie m_additionalTrie_;
+    /**
+     * Extra property vectors, 1st column for age and second for binary
+     * properties.
+     */
+    int m_additionalVectors_[];
+    /**
+     * Number of additional columns
+     */
+    int m_additionalColumnsCount_;
+    /**
+     * Maximum values for block, bits used as in vector word
+     * 0
+     */
+    int m_maxBlockScriptValue_;
+    /**
+     * Maximum values for script, bits used as in vector word
+     * 0
+     */
+     int m_maxJTGValue_;
+    // private variables -------------------------------------------------
+
+      /**
+     * UnicodeData.txt property object
+     */
+    private static UCharacterProperty INSTANCE_ = null;
+
+    /**
+    * Default name of the datafile
+    */
+    private static final String DATA_FILE_NAME_ = ICUResourceBundle.ICU_BUNDLE+"/uprops.icu";
+
+    /**
+    * Default buffer size of datafile
+    */
+    private static final int DATA_BUFFER_SIZE_ = 25000;
+
+    /**
+    * Numeric value shift
+    */
+    private static final int VALUE_SHIFT_ = 8;
+
+    /**
+    * Mask to be applied after shifting to obtain an unsigned numeric value
+    */
+    private static final int UNSIGNED_VALUE_MASK_AFTER_SHIFT_ = 0xFF;
+
+    /**
+     *
+     */
+    private static final int NUMERIC_TYPE_SHIFT = 5;
+
+    /**
+    * To get the last 5 bits out from a data type
+    */
+    private static final int LAST_5_BIT_MASK_ = 0x1F;
+
+    /**
+    * Shift 5 bits
+    */
+    private static final int SHIFT_5_ = 5;
+    /**
+    * Shift 10 bits
+    */
+    private static final int SHIFT_10_ = 10;
+
+    /**
+    * Shift value for lead surrogate to form a supplementary character.
+    */
+    private static final int LEAD_SURROGATE_SHIFT_ = 10;
+    /**
+    * Offset to add to combined surrogate pair to avoid msking.
+    */
+    private static final int SURROGATE_OFFSET_ =
+                           UTF16.SUPPLEMENTARY_MIN_VALUE -
+                           (UTF16.SURROGATE_MIN_VALUE <<
+                           LEAD_SURROGATE_SHIFT_) -
+                           UTF16.TRAIL_SURROGATE_MIN_VALUE;
+    /**
+    * Latin uppercase I
+    */
+    private static final char LATIN_CAPITAL_LETTER_I_ = 0x49;
+    /**
+    * Combining dot above
+    */
+    private static final char COMBINING_DOT_ABOVE_ = 0x307;
+    /**
+    * LATIN SMALL LETTER J
+    */
+    private static final int LATIN_SMALL_LETTER_J_ = 0x6a;
+    /**
+    * LATIN SMALL LETTER I WITH OGONEK
+    */
+    private static final int LATIN_SMALL_LETTER_I_WITH_OGONEK_ = 0x12f;
+    /**
+    * LATIN SMALL LETTER I WITH TILDE BELOW
+    */
+    private static final int LATIN_SMALL_LETTER_I_WITH_TILDE_BELOW_ = 0x1e2d;
+    /**
+    * LATIN SMALL LETTER I WITH DOT BELOW
+    */
+    private static final int LATIN_SMALL_LETTER_I_WITH_DOT_BELOW_ = 0x1ecb;
+    /**
+    * Combining class for combining mark above
+    */
+    private static final int COMBINING_MARK_ABOVE_CLASS_ = 230;
+
+    /**
+    * LATIN CAPITAL LETTER J
+    */
+    private static final int LATIN_CAPITAL_LETTER_J_ = 0x4a;
+
+    /**
+    * LATIN CAPITAL LETTER I WITH OGONEK
+    */
+    private static final int LATIN_CAPITAL_I_WITH_OGONEK_ = 0x12e;
+    /**
+    * LATIN CAPITAL LETTER I WITH TILDE
+    */
+    private static final int LATIN_CAPITAL_I_WITH_TILDE_ = 0x128;
+    /**
+    * LATIN CAPITAL LETTER I WITH GRAVE
+    */
+    private static final int LATIN_CAPITAL_I_WITH_GRAVE_ = 0xcc;
+    /**
+    * LATIN CAPITAL LETTER I WITH ACUTE
+    */
+    private static final int LATIN_CAPITAL_I_WITH_ACUTE_ = 0xcd;
+    /**
+    * COMBINING GRAVE ACCENT
+    */
+    private static final int COMBINING_GRAVE_ACCENT_ = 0x300;
+    /**
+    * COMBINING ACUTE ACCENT
+    */
+    private static final int COMBINING_ACUTE_ACCENT_ = 0x301;
+    /**
+    * COMBINING TILDE
+    */
+    private static final int COMBINING_TILDE_ = 0x303;
+    /**
+    * Greek capital letter sigma
+    */
+    private static final char GREEK_CAPITAL_LETTER_SIGMA_ = 0x3a3;
+    /**
+    * Greek small letter sigma
+    */
+    private static final char GREEK_SMALL_LETTER_SIGMA_ = 0x3c3;
+    /**
+    * Greek small letter rho
+    */
+    private static final char GREEK_SMALL_LETTER_RHO_ = 0x3c2;
+    /**
+    * Hyphens
+    */
+    private static final int HYPHEN_      = 0x2010;
+    private static final int SOFT_HYPHEN_ = 0xAD;
+    /**
+    * To get the last character out from a data type
+    */
+    private static final int LAST_CHAR_MASK_ = 0xFFFF;
+    /**
+    * To get the last byte out from a data type
+    */
+    private static final int LAST_BYTE_MASK_ = 0xFF;
+    /**
+    * Shift 16 bits
+    */
+    private static final int SHIFT_16_ = 16;
+
+    // additional properties ----------------------------------------------
+
+    /**
+     * Additional properties used in internal trie data
+     */
+    /*
+     * Properties in vector word 1
+     * Each bit encodes one binary property.
+     * The following constants represent the bit number, use 1<<UPROPS_XYZ.
+     * UPROPS_BINARY_1_TOP<=32!
+     *
+     * Keep this list of property enums in sync with
+     * propListNames[] in icu/source/tools/genprops/props2.c!
+     *
+     * ICU 2.6/uprops format version 3.2 stores full properties instead of "Other_".
+     */
+    private static final int WHITE_SPACE_PROPERTY_ = 0;
+    private static final int BIDI_CONTROL_PROPERTY_ = 1;
+    private static final int JOIN_CONTROL_PROPERTY_ = 2;
+    private static final int DASH_PROPERTY_ = 3;
+    private static final int HYPHEN_PROPERTY_ = 4;
+    private static final int QUOTATION_MARK_PROPERTY_ = 5;
+    private static final int TERMINAL_PUNCTUATION_PROPERTY_ = 6;
+    private static final int MATH_PROPERTY_ = 7;
+    private static final int HEX_DIGIT_PROPERTY_ = 8;
+    private static final int ASCII_HEX_DIGIT_PROPERTY_ = 9;
+    private static final int ALPHABETIC_PROPERTY_ = 10;
+    private static final int IDEOGRAPHIC_PROPERTY_ = 11;
+    private static final int DIACRITIC_PROPERTY_ = 12;
+    private static final int EXTENDER_PROPERTY_ = 13;
+    private static final int LOWERCASE_PROPERTY_ = 14;
+    private static final int UPPERCASE_PROPERTY_ = 15;
+    private static final int NONCHARACTER_CODE_POINT_PROPERTY_ = 16;
+    private static final int GRAPHEME_EXTEND_PROPERTY_ = 17;
+    private static final int GRAPHEME_LINK_PROPERTY_ = 18;
+    private static final int IDS_BINARY_OPERATOR_PROPERTY_ = 19;
+    private static final int IDS_TRINARY_OPERATOR_PROPERTY_ = 20;
+    private static final int RADICAL_PROPERTY_ = 21;
+    private static final int UNIFIED_IDEOGRAPH_PROPERTY_ = 22;
+    private static final int DEFAULT_IGNORABLE_CODE_POINT_PROPERTY_ = 23;
+    private static final int DEPRECATED_PROPERTY_ = 24;
+    private static final int SOFT_DOTTED_PROPERTY_ = 25;
+    private static final int LOGICAL_ORDER_EXCEPTION_PROPERTY_ = 26;
+    private static final int XID_START_PROPERTY_ = 27;
+    private static final int XID_CONTINUE_PROPERTY_ = 28;
+    private static final int ID_START_PROPERTY_    = 29;
+    private static final int ID_CONTINUE_PROPERTY_ = 30;
+    private static final int GRAPHEME_BASE_PROPERTY_ = 31;
+    private static final int BINARY_1_TOP_PROPERTY_ = 32;
+
+    /**
+     * First nibble shift
+     */
+    private static final int FIRST_NIBBLE_SHIFT_ = 0x4;
+    /**
+     * Second nibble mask
+     */
+    private static final int LAST_NIBBLE_MASK_ = 0xF;
+    /**
+     * Age value shift
+     */
+    private static final int AGE_SHIFT_ = 24;
+
+    // boolean properties in vector word 2
+    private static final int V2_S_TERM_PROPERTY_ = 24;
+    private static final int V2_VARIATION_SELECTOR_PROPERTY_ = 25;
+    private static final int V2_PATTERN_SYNTAX = 26;                   /* new in ICU 3.4 and Unicode 4.1 */
+    private static final int V2_PATTERN_WHITE_SPACE = 27;
+
+    // private constructors --------------------------------------------------
+
+    /**
+    * Constructor
+    * @exception thrown when data reading fails or data corrupted
+    */
+    private UCharacterProperty() throws IOException
+    {
+        // jar access
+        InputStream is = ICUData.getRequiredStream(DATA_FILE_NAME_);
+        BufferedInputStream b = new BufferedInputStream(is, DATA_BUFFER_SIZE_);
+        UCharacterPropertyReader reader = new UCharacterPropertyReader(b);
+        reader.read(this);
+        b.close();
+
+        m_trie_.putIndexData(this);
+    }
+
+    // private methods -------------------------------------------------------
+
+    /**
+     * Compare additional properties to see if it has argument type
+     * @param property 32 bit properties
+     * @param type character type
+     * @return true if property has type
+     */
+    private boolean compareAdditionalType(int property, int type)
+    {
+        return (property & (1 << type)) != 0;
+    }
+
+    // property starts for UnicodeSet -------------------------------------- ***
+
+    private static final int TAB     = 0x0009;
+    private static final int LF      = 0x000a;
+    private static final int FF      = 0x000c;
+    private static final int CR      = 0x000d;
+    private static final int U_A     = 0x0041;
+    private static final int U_F     = 0x0046;
+    private static final int U_Z     = 0x005a;
+    private static final int U_a     = 0x0061;
+    private static final int U_f     = 0x0066;
+    private static final int U_z     = 0x007a;
+    private static final int DEL     = 0x007f;
+    private static final int NL      = 0x0085;
+    private static final int NBSP    = 0x00a0;
+    private static final int CGJ     = 0x034f;
+    private static final int FIGURESP= 0x2007;
+    private static final int HAIRSP  = 0x200a;
+    private static final int ZWNJ    = 0x200c;
+    private static final int ZWJ     = 0x200d;
+    private static final int RLM     = 0x200f;
+    private static final int NNBSP   = 0x202f;
+    private static final int WJ      = 0x2060;
+    private static final int INHSWAP = 0x206a;
+    private static final int NOMDIG  = 0x206f;
+    private static final int U_FW_A  = 0xff21;
+    private static final int U_FW_F  = 0xff26;
+    private static final int U_FW_Z  = 0xff3a;
+    private static final int U_FW_a  = 0xff41;
+    private static final int U_FW_f  = 0xff46;
+    private static final int U_FW_z  = 0xff5a;
+    private static final int ZWNBSP  = 0xfeff;
+
+    /* for Hangul_Syllable_Type */
+    public void uhst_addPropertyStarts(UnicodeSet set) {
+        /* add code points with hardcoded properties, plus the ones following them */
+
+        /*
+         * Add Jamo type boundaries for UCHAR_HANGUL_SYLLABLE_TYPE.
+         * First, we add fixed boundaries for the blocks of Jamos.
+         * Then we check in loops to see where the current Unicode version
+         * actually stops assigning such Jamos. We start each loop
+         * at the end of the per-Jamo-block assignments in Unicode 4 or earlier.
+         * (These have not changed since Unicode 2.)
+         */
+        int c, value, value2;
+
+        set.add(0x1100);
+        value=UCharacter.HangulSyllableType.LEADING_JAMO;
+        for(c=0x115a; c<=0x115f; ++c) {
+            value2= UCharacter.getIntPropertyValue(c, UProperty.HANGUL_SYLLABLE_TYPE);
+            if(value!=value2) {
+                value=value2;
+                set.add(c);
+            }
+        }
+
+        set.add(0x1160);
+        value=UCharacter.HangulSyllableType.VOWEL_JAMO;
+        for(c=0x11a3; c<=0x11a7; ++c) {
+            value2=UCharacter.getIntPropertyValue(c, UProperty.HANGUL_SYLLABLE_TYPE);
+            if(value!=value2) {
+                value=value2;
+                set.add(c);
+            }
+        }
+
+        set.add(0x11a8);
+        value=UCharacter.HangulSyllableType.TRAILING_JAMO;
+        for(c=0x11fa; c<=0x11ff; ++c) {
+            value2=UCharacter.getIntPropertyValue(c, UProperty.HANGUL_SYLLABLE_TYPE);
+            if(value!=value2) {
+                value=value2;
+                set.add(c);
+            }
+        }
+    }
+
+    public UnicodeSet addPropertyStarts(UnicodeSet set) {
+        int c;
+
+        /* add the start code point of each same-value range of the main trie */
+        TrieIterator propsIter = new TrieIterator(m_trie_);
+        RangeValueIterator.Element propsResult = new RangeValueIterator.Element();
+          while(propsIter.next(propsResult)){
+            set.add(propsResult.start);
+        }
+
+        /* add code points with hardcoded properties, plus the ones following them */
+
+        /* add for u_isblank() */
+        set.add(TAB);
+        set.add(TAB+1);
+
+        /* add for IS_THAT_CONTROL_SPACE() */
+        set.add(CR+1); /* range TAB..CR */
+        set.add(0x1c);
+        set.add(0x1f+1);
+        set.add(NL);
+        set.add(NL+1);
+
+        /* add for u_isIDIgnorable() what was not added above */
+        set.add(DEL); /* range DEL..NBSP-1, NBSP added below */
+        set.add(HAIRSP);
+        set.add(RLM+1);
+        set.add(INHSWAP);
+        set.add(NOMDIG+1);
+        set.add(ZWNBSP);
+        set.add(ZWNBSP+1);
+
+        /* add no-break spaces for u_isWhitespace() what was not added above */
+        set.add(NBSP);
+        set.add(NBSP+1);
+        set.add(FIGURESP);
+        set.add(FIGURESP+1);
+        set.add(NNBSP);
+        set.add(NNBSP+1);
+
+        /* add for u_charDigitValue() */
+        // TODO remove when UCharacter.getHanNumericValue() is changed to just return
+        // Unicode numeric values 
+        set.add(0x3007);
+        set.add(0x3008);
+        set.add(0x4e00);
+        set.add(0x4e01);
+        set.add(0x4e8c);
+        set.add(0x4e8d);
+        set.add(0x4e09);
+        set.add(0x4e0a);
+        set.add(0x56db);
+        set.add(0x56dc);
+        set.add(0x4e94);
+        set.add(0x4e95);
+        set.add(0x516d);
+        set.add(0x516e);
+        set.add(0x4e03);
+        set.add(0x4e04);
+        set.add(0x516b);
+        set.add(0x516c);
+        set.add(0x4e5d);
+        set.add(0x4e5e);
+
+        /* add for u_digit() */
+        set.add(U_a);
+        set.add(U_z+1);
+        set.add(U_A);
+        set.add(U_Z+1);
+        set.add(U_FW_a);
+        set.add(U_FW_z+1);
+        set.add(U_FW_A);
+        set.add(U_FW_Z+1);
+
+        /* add for u_isxdigit() */
+        set.add(U_f+1);
+        set.add(U_F+1);
+        set.add(U_FW_f+1);
+        set.add(U_FW_F+1);
+
+        /* add for UCHAR_DEFAULT_IGNORABLE_CODE_POINT what was not added above */
+        set.add(WJ); /* range WJ..NOMDIG */
+        set.add(0xfff0);
+        set.add(0xfffb+1);
+        set.add(0xe0000);
+        set.add(0xe0fff+1);
+
+        /* add for UCHAR_GRAPHEME_BASE and others */
+        set.add(CGJ);
+        set.add(CGJ+1);
+
+        return set; // for chaining
+    }
+
+    public void upropsvec_addPropertyStarts(UnicodeSet set) {
+        /* add the start code point of each same-value range of the properties vectors trie */
+        if(m_additionalColumnsCount_>0) {
+            /* if m_additionalColumnsCount_==0 then the properties vectors trie may not be there at all */
+            TrieIterator propsVectorsIter = new TrieIterator(m_additionalTrie_);
+            RangeValueIterator.Element propsVectorsResult = new RangeValueIterator.Element();
+            while(propsVectorsIter.next(propsVectorsResult)){
+                set.add(propsVectorsResult.start);
+            }
+        }
+    }
+
+/*----------------------------------------------------------------
+ * Inclusions list
+ *----------------------------------------------------------------*/
+
+    /*
+     * Return a set of characters for property enumeration.
+     * The set implicitly contains 0x110000 as well, which is one more than the highest
+     * Unicode code point.
+     *
+     * This set is used as an ordered list - its code points are ordered, and
+     * consecutive code points (in Unicode code point order) in the set define a range.
+     * For each two consecutive characters (start, limit) in the set,
+     * all of the UCD/normalization and related properties for
+     * all code points start..limit-1 are all the same,
+     * except for character names and ISO comments.
+     *
+     * All Unicode code points U+0000..U+10ffff are covered by these ranges.
+     * The ranges define a partition of the Unicode code space.
+     * ICU uses the inclusions set to enumerate properties for generating
+     * UnicodeSets containing all code points that have a certain property value.
+     *
+     * The Inclusion List is generated from the UCD. It is generated
+     * by enumerating the data tries, and code points for hardcoded properties
+     * are added as well.
+     *
+     * --------------------------------------------------------------------------
+     *
+     * The following are ideas for getting properties-unique code point ranges,
+     * with possible optimizations beyond the current implementation.
+     * These optimizations would require more code and be more fragile.
+     * The current implementation generates one single list (set) for all properties.
+     *
+     * To enumerate properties efficiently, one needs to know ranges of
+     * repetitive values, so that the value of only each start code point
+     * can be applied to the whole range.
+     * This information is in principle available in the uprops.icu/unorm.icu data.
+     *
+     * There are two obstacles:
+     *
+     * 1. Some properties are computed from multiple data structures,
+     *    making it necessary to get repetitive ranges by intersecting
+     *    ranges from multiple tries.
+     *
+     * 2. It is not economical to write code for getting repetitive ranges
+     *    that are precise for each of some 50 properties.
+     *
+     * Compromise ideas:
+     *
+     * - Get ranges per trie, not per individual property.
+     *   Each range contains the same values for a whole group of properties.
+     *   This would generate currently five range sets, two for uprops.icu tries
+     *   and three for unorm.icu tries.
+     *
+     * - Combine sets of ranges for multiple tries to get sufficient sets
+     *   for properties, e.g., the uprops.icu main and auxiliary tries
+     *   for all non-normalization properties.
+     *
+     * Ideas for representing ranges and combining them:
+     *
+     * - A UnicodeSet could hold just the start code points of ranges.
+     *   Multiple sets are easily combined by or-ing them together.
+     *
+     * - Alternatively, a UnicodeSet could hold each even-numbered range.
+     *   All ranges could be enumerated by using each start code point
+     *   (for the even-numbered ranges) as well as each limit (end+1) code point
+     *   (for the odd-numbered ranges).
+     *   It should be possible to combine two such sets by xor-ing them,
+     *   but no more than two.
+     *
+     * The second way to represent ranges may(?!) yield smaller UnicodeSet arrays,
+     * but the first one is certainly simpler and applicable for combining more than
+     * two range sets.
+     *
+     * It is possible to combine all range sets for all uprops/unorm tries into one
+     * set that can be used for all properties.
+     * As an optimization, there could be less-combined range sets for certain
+     * groups of properties.
+     * The relationship of which less-combined range set to use for which property
+     * depends on the implementation of the properties and must be hardcoded
+     * - somewhat error-prone and higher maintenance but can be tested easily
+     * by building property sets "the simple way" in test code.
+     *
+     * ---
+     *
+     * Do not use a UnicodeSet pattern because that causes infinite recursion;
+     * UnicodeSet depends on the inclusions set.
+     *
+     * ---
+     *
+     * getInclusions() is commented out starting 2005-feb-12 because
+     * UnicodeSet now calls the uxyz_addPropertyStarts() directly,
+     * and only for the relevant property source.
+     */
+    /*
+    public UnicodeSet getInclusions() {
+        UnicodeSet set = new UnicodeSet();
+        NormalizerImpl.addPropertyStarts(set);
+        addPropertyStarts(set);
+        return set;
+    }
+    */
+}
diff --git a/src/com/ibm/icu/impl/UCharacterPropertyReader.java b/src/com/ibm/icu/impl/UCharacterPropertyReader.java
new file mode 100644
index 0000000..9657952
--- /dev/null
+++ b/src/com/ibm/icu/impl/UCharacterPropertyReader.java
@@ -0,0 +1,163 @@
+/**
+*******************************************************************************
+* Copyright (C) 1996-2005, International Business Machines Corporation and    *
+* others. All Rights Reserved.                                                *
+*******************************************************************************
+*/
+package com.ibm.icu.impl;
+
+import java.io.InputStream;
+import java.io.DataInputStream;
+import java.io.IOException;
+import com.ibm.icu.util.VersionInfo;
+
+/**
+* <p>Internal reader class for ICU data file uprops.icu containing 
+* Unicode codepoint data.</p> 
+* <p>This class simply reads uprops.icu, authenticates that it is a valid
+* ICU data file and split its contents up into blocks of data for use in
+* <a href=UCharacterProperty.html>com.ibm.icu.impl.UCharacterProperty</a>.
+* </p> 
+* <p>uprops.icu which is in big-endian format is jared together with this 
+* package.</p>
+*
+* Unicode character properties file format see
+* (ICU4C)/source/tools/genprops/store.c
+*
+* @author Syn Wee Quek
+* @since release 2.1, February 1st 2002
+*/
+final class UCharacterPropertyReader implements ICUBinary.Authenticate
+{
+    // public methods ----------------------------------------------------
+    
+    public boolean isDataVersionAcceptable(byte version[])
+    {
+        return version[0] == DATA_FORMAT_VERSION_[0] 
+               && version[2] == DATA_FORMAT_VERSION_[2] 
+               && version[3] == DATA_FORMAT_VERSION_[3];
+    }
+    
+    // protected constructor ---------------------------------------------
+    
+    /**
+    * <p>Protected constructor.</p>
+    * @param inputStream ICU uprop.dat file input stream
+    * @exception IOException throw if data file fails authentication 
+    * @draft 2.1
+    */
+    protected UCharacterPropertyReader(InputStream inputStream) 
+                                                        throws IOException
+    {
+        m_unicodeVersion_ = ICUBinary.readHeader(inputStream, DATA_FORMAT_ID_, 
+                                                 this);
+        m_dataInputStream_ = new DataInputStream(inputStream);
+    }
+    
+    // protected methods -------------------------------------------------
+      
+    /**
+    * <p>Reads uprops.icu, parse it into blocks of data to be stored in
+    * UCharacterProperty.</P
+    * @param ucharppty UCharacterProperty instance
+    * @exception thrown when data reading fails
+    * @draft 2.1
+    */
+    protected void read(UCharacterProperty ucharppty) throws IOException
+    {
+        // read the indexes
+        int count = INDEX_SIZE_;
+        m_propertyOffset_          = m_dataInputStream_.readInt();
+        count --;
+        m_exceptionOffset_         = m_dataInputStream_.readInt();
+        count --;
+        m_caseOffset_              = m_dataInputStream_.readInt();
+        count --;
+        m_additionalOffset_        = m_dataInputStream_.readInt();
+        count --;
+        m_additionalVectorsOffset_ = m_dataInputStream_.readInt();
+        count --;
+        m_additionalColumnsCount_  = m_dataInputStream_.readInt();
+        count --;
+        m_reservedOffset_          = m_dataInputStream_.readInt();
+        count --;
+        m_dataInputStream_.skipBytes(3 << 2);
+        count -= 3;
+        ucharppty.m_maxBlockScriptValue_ = m_dataInputStream_.readInt();
+        count --; // 10
+        ucharppty.m_maxJTGValue_ = m_dataInputStream_.readInt();
+        count --; // 11
+        m_dataInputStream_.skipBytes(count << 2);
+
+        // read the trie index block
+        // m_props_index_ in terms of ints
+        ucharppty.m_trie_ = new CharTrie(m_dataInputStream_, null);
+
+        // skip the 32 bit properties block
+        int size = m_exceptionOffset_ - m_propertyOffset_;
+        m_dataInputStream_.skipBytes(size * 4);
+
+        // reads the 32 bit exceptions block
+        size = m_caseOffset_ - m_exceptionOffset_;
+        m_dataInputStream_.skipBytes(size * 4);
+
+        // reads the 32 bit case block
+        size = (m_additionalOffset_ - m_caseOffset_) << 1;
+        m_dataInputStream_.skipBytes(size * 2);
+
+        if(m_additionalColumnsCount_ > 0) {
+            // reads the additional property block
+            ucharppty.m_additionalTrie_ = new CharTrie(m_dataInputStream_, null);
+                                                               
+            // additional properties
+            size = m_reservedOffset_ - m_additionalVectorsOffset_;
+            ucharppty.m_additionalVectors_ = new int[size];
+            for (int i = 0; i < size; i ++) {
+                ucharppty.m_additionalVectors_[i] = m_dataInputStream_.readInt();
+            }
+        }
+
+        m_dataInputStream_.close();
+        ucharppty.m_additionalColumnsCount_ = m_additionalColumnsCount_;
+        ucharppty.m_unicodeVersion_ = VersionInfo.getInstance(
+                         (int)m_unicodeVersion_[0], (int)m_unicodeVersion_[1],
+                         (int)m_unicodeVersion_[2], (int)m_unicodeVersion_[3]);
+    }
+    
+    // private variables -------------------------------------------------
+      
+    /**
+    * Index size
+    */
+    private static final int INDEX_SIZE_ = 16;
+    
+    /**
+    * ICU data file input stream
+    */
+    private DataInputStream m_dataInputStream_;
+      
+    /**
+    * Offset information in the indexes.
+    */
+    private int m_propertyOffset_;
+    private int m_exceptionOffset_;
+    private int m_caseOffset_;
+    private int m_additionalOffset_;
+    private int m_additionalVectorsOffset_;
+    private int m_additionalColumnsCount_;
+    private int m_reservedOffset_;
+    private byte m_unicodeVersion_[];  
+                                      
+    /**
+    * Data format "UPro".
+    */
+    private static final byte DATA_FORMAT_ID_[] = {(byte)0x55, (byte)0x50, 
+                                                    (byte)0x72, (byte)0x6F};
+    /**
+     * Format version; this code works with all versions with the same major
+     * version number and the same Trie bit distribution.
+     */
+    private static final byte DATA_FORMAT_VERSION_[] = {(byte)0x4, (byte)0, 
+                                             (byte)Trie.INDEX_STAGE_1_SHIFT_, 
+                                             (byte)Trie.INDEX_STAGE_2_SHIFT_};
+}
diff --git a/src/com/ibm/icu/impl/UCharacterUtility.java b/src/com/ibm/icu/impl/UCharacterUtility.java
new file mode 100644
index 0000000..dc10e06
--- /dev/null
+++ b/src/com/ibm/icu/impl/UCharacterUtility.java
@@ -0,0 +1,194 @@
+/**
+*******************************************************************************
+* Copyright (C) 1996-2004, International Business Machines Corporation and    *
+* others. All Rights Reserved.                                                *
+*******************************************************************************
+*/
+package com.ibm.icu.impl;
+
+/**
+* Internal character utility class for simple data type conversion and String 
+* parsing functions. Does not have an analog in the JDK.
+* @author Syn Wee Quek
+* @since sep2900
+*/
+
+public final class UCharacterUtility
+{
+    // public methods -----------------------------------------------------
+    
+    /**
+    * Determines if codepoint is a non character
+    * @param ch codepoint
+    * @return true if codepoint is a non character false otherwise
+    */
+    public static boolean isNonCharacter(int ch) 
+    {
+        if ((ch & NON_CHARACTER_SUFFIX_MIN_3_0_) == 
+                                            NON_CHARACTER_SUFFIX_MIN_3_0_) {
+            return true;
+        }
+        
+        return ch >= NON_CHARACTER_MIN_3_1_ && ch <=  NON_CHARACTER_MAX_3_1_;
+    }
+    
+    // package private methods ---------------------------------------------
+      
+    /**
+    * joining 2 chars to form an int
+    * @param msc most significant char
+    * @param lsc least significant char
+    * @return int form
+    */
+    static int toInt(char msc, char lsc)
+    {
+        return ((msc << 16) | lsc);
+    }
+       
+    /**
+    * Retrieves a null terminated substring from an array of bytes.
+    * Substring is a set of non-zero bytes starting from argument start to the 
+    * next zero byte. If the first byte is a zero, the next byte will be taken as
+    * the first byte.
+    * @param str stringbuffer to store data in, data will be store with each
+    *            byte as a char
+    * @param array byte array
+    * @param index to start substring in byte count
+    * @return the end position of the substring within the character array
+    */
+    static int getNullTermByteSubString(StringBuffer str, byte[] array, 
+                                                  int index)
+    {
+        byte b = 1;
+        
+        while (b != 0)
+        {
+            b = array[index];
+            if (b != 0) {
+                str.append((char)(b & 0x00FF));
+            }
+            index ++;
+        }
+        return index;
+    }
+       
+    /**
+    * Compares a null terminated substring from an array of bytes.
+    * Substring is a set of non-zero bytes starting from argument start to the 
+    * next zero byte. if the first byte is a zero, the next byte will be taken as
+    * the first byte.
+    * @param str string to compare
+    * @param array byte array
+    * @param strindex index within str to start comparing
+    * @param aindex array index to start in byte count
+    * @return the end position of the substring within str if matches otherwise 
+    *         a -1
+    */
+    static int compareNullTermByteSubString(String str, byte[] array, 
+                                                      int strindex, int aindex)
+    {
+        byte b = 1;
+        int length = str.length();
+        
+        while (b != 0)
+        {
+            b = array[aindex];  
+            aindex ++;
+            if (b == 0) {
+                break;
+            }
+            // if we have reached the end of the string and yet the array has not 
+            // reached the end of their substring yet, abort
+            if (strindex == length 
+                || (str.charAt(strindex) != (char)(b & 0xFF))) {
+              return -1;
+            }
+            strindex ++;
+        }
+        return strindex;
+    }
+       
+    /**
+    * Skip null terminated substrings from an array of bytes.
+    * Substring is a set of non-zero bytes starting from argument start to the 
+    * next zero byte. If the first byte is a zero, the next byte will be taken as
+    * the first byte.
+    * @param array byte array
+    * @param index to start substrings in byte count
+    * @param skipcount number of null terminated substrings to skip
+    * @return the end position of the substrings within the character array
+    */
+    static int skipNullTermByteSubString(byte[] array, int index, 
+                                                   int skipcount)
+    {
+        byte b;
+        for (int i = 0; i < skipcount; i ++)
+        {
+            b = 1;
+            while (b != 0)
+            {
+                b = array[index];
+                index ++;
+            }
+        }
+        return index;
+    }
+       
+    /**
+     * skip substrings from an array of characters, where each character is a set 
+     * of 2 bytes. substring is a set of non-zero bytes starting from argument 
+     * start to the byte of the argument value. skips up to a max number of 
+     * characters
+     * @param array byte array to parse
+     * @param index to start substrings in byte count
+     * @param length the max number of bytes to skip
+     * @param skipend value of byte to skip to
+     * @return the number of bytes skipped
+     */
+    static int skipByteSubString(byte[] array, int index, int length, 
+                                           byte skipend)
+    {
+        int result;
+        byte b;
+        
+        for (result = 0; result < length; result ++)
+        {
+            b = array[index + result];
+            if (b == skipend)
+            {
+                result ++;
+                break;
+            }
+        }
+        
+        return result;
+    }
+    
+    // private data member --------------------------------------------------
+    
+    /**
+    * Minimum suffix value that indicates if a character is non character.
+    * Unicode 3.0 non characters
+    */
+    private static final int NON_CHARACTER_SUFFIX_MIN_3_0_ = 0xFFFE;
+    /**
+    * New minimum non character in Unicode 3.1
+    */
+    private static final int NON_CHARACTER_MIN_3_1_ = 0xFDD0;
+    /**
+    * New non character range in Unicode 3.1
+    */
+    private static final int NON_CHARACTER_MAX_3_1_ = 0xFDEF;
+    
+    // private constructor --------------------------------------------------
+      
+    ///CLOVER:OFF
+    /**
+    * private constructor to avoid initialisation
+    */
+    private UCharacterUtility()
+    {
+    }
+    ///CLOVER:ON
+}
+
diff --git a/src/com/ibm/icu/impl/UPropertyAliases.java b/src/com/ibm/icu/impl/UPropertyAliases.java
new file mode 100644
index 0000000..20f3d46
--- /dev/null
+++ b/src/com/ibm/icu/impl/UPropertyAliases.java
@@ -0,0 +1,655 @@
+/*
+**********************************************************************
+* Copyright (c) 2002-2005, International Business Machines
+* Corporation and others.  All Rights Reserved.
+**********************************************************************
+* Author: Alan Liu
+* Created: November 5 2002
+* Since: ICU 2.4
+**********************************************************************
+*/
+package com.ibm.icu.impl;
+
+import java.io.*;
+
+import com.ibm.icu.lang.*;
+
+/**
+ * Wrapper for the pnames.icu binary data file.  This data file is
+ * imported from icu4c.  It contains property and property value
+ * aliases from the UCD files PropertyAliases.txt and
+ * PropertyValueAliases.txt.  The file is built by the icu4c tool
+ * genpname.  It must be built on an ASCII big-endian platform to be
+ * usable in icu4j.
+ *
+ * This class performs two functions.
+ *
+ * (1) It can import the flat binary data into a tree of usable
+ * objects.
+ *
+ * (2) It provides an API to access the tree of objects.
+ *
+ * Needless to say, this class is tightly coupled to the binary format
+ * of icu4c's pnames.icu file.
+ *
+ * Each time a UPropertyAliases is constructed, the pnames.icu file is
+ * read, parsed, and a data tree assembled.  Clients should create one
+ * singleton instance and cache it.
+ *
+ * @author Alan Liu
+ * @since ICU 2.4
+ */
+public final class UPropertyAliases implements ICUBinary.Authenticate {
+
+    //----------------------------------------------------------------
+    // Runtime data.  This is an unflattened representation of the
+    // data in pnames.icu.
+
+    /**
+     * Map from property enum value to nameGroupPool[] index
+     */
+    private NonContiguousEnumToShort enumToName;
+
+    /**
+     * Map from property alias to property enum value
+     */
+    private NameToEnum nameToEnum;
+
+    /**
+     * Map from property enum value to valueMapArray[] index
+     */
+    private NonContiguousEnumToShort enumToValue;
+
+    /**
+     * Each entry represents a binary or enumerated property
+     */
+    private ValueMap valueMapArray[];
+
+    /**
+     * Pool of concatenated integer runs.  Each run contains one
+     * or more entries.  The last entry of the run is negative.
+     * A zero entry indicates "n/a" in the Property*Aliases.txt.
+     * Each entry is a stringPool[] index.
+     */
+    private short nameGroupPool[];
+
+    /**
+     * Pool of strings.
+     */
+    private String stringPool[];
+
+    //----------------------------------------------------------------
+    // Constants
+
+    /**
+     * Debug flag (not really constant)
+     */
+    private static boolean DEBUG = ICUDebug.enabled("pnames");
+
+    /**
+     * File format that this class understands.
+     * See icu4c/src/common/propname.h.
+     */
+    private static final byte DATA_FORMAT_ID[] = {'p', 'n', 'a', 'm'};
+
+    /**
+     * File version that this class understands.
+     * See icu4c/src/common/propname.h.
+     */
+    private static final byte DATA_FORMAT_VERSION = 1;
+
+    /**
+     * Name of the datafile
+     */
+    private static final String DATA_FILE_NAME = ICUResourceBundle.ICU_BUNDLE+"/pnames.icu";
+
+    /**
+     * Buffer size of datafile.  The whole file is < 16k.
+     */
+    private static final int DATA_BUFFER_SIZE = 8192;
+
+    //----------------------------------------------------------------
+    // Constructor
+
+    /**
+     * Constructs a UPropertyAliases object.  The binary file
+     * DATA_FILE_NAME is read from the jar/classpath and unflattened
+     * into member variables of this object.
+     */
+    public UPropertyAliases() throws IOException {
+
+        // Open the .icu file from the jar/classpath
+        InputStream is = ICUData.getRequiredStream(DATA_FILE_NAME);
+        BufferedInputStream b = new BufferedInputStream(is, DATA_BUFFER_SIZE);
+        // Read and discard Unicode version...
+       /* byte unicodeVersion[] = */ICUBinary.readHeader(b, DATA_FORMAT_ID, this);
+        DataInputStream d = new DataInputStream(b);
+
+        // Record the origin position of the file.  Keep enough around
+        // to seek back to the start of the header.
+        d.mark(256);
+
+        short enumToName_offset = d.readShort();
+        short nameToEnum_offset = d.readShort();
+        short enumToValue_offset = d.readShort();
+        short total_size = d.readShort();
+        short valueMap_offset = d.readShort();
+        short valueMap_count = d.readShort();
+        short nameGroupPool_offset = d.readShort();
+        short nameGroupPool_count = d.readShort();
+        short stringPool_offset = d.readShort();
+        short stringPool_count = d.readShort();
+
+        if (DEBUG) {
+            System.out.println(
+               "enumToName_offset=" + enumToName_offset + "\n" +
+               "nameToEnum_offset=" + nameToEnum_offset + "\n" +
+               "enumToValue_offset=" + enumToValue_offset + "\n" +
+               "total_size=" + total_size + "\n" +
+               "valueMap_offset=" + valueMap_offset + "\n" +
+               "valueMap_count=" + valueMap_count + "\n" +
+               "nameGroupPool_offset=" + nameGroupPool_offset + "\n" +
+               "nameGroupPool_count=" + nameGroupPool_count + "\n" +
+               "stringPool_offset=" + stringPool_offset + "\n" +
+               "stringPool_count=" + stringPool_count);
+        }
+
+        // Read it all (less than 32k).  Seeking around (using
+        // mark/reset/skipBytes) doesn't work directly on the file,
+        // but it works fine if we read everything into a byte[] array
+        // first.
+        byte raw[] = new byte[total_size];
+        d.reset();
+        d.read(raw);
+        d.close();
+
+        Builder builder = new Builder(raw);
+
+        stringPool = builder.readStringPool(stringPool_offset,
+                                            stringPool_count);
+
+        nameGroupPool = builder.readNameGroupPool(nameGroupPool_offset,
+                                                  nameGroupPool_count);
+
+        builder.setupValueMap_map(valueMap_offset, valueMap_count);
+
+        // Some of the following data structures have to be set up
+        // here, _not_ in Builder.  That's because they are instances
+        // of non-static inner classes, and they contain implicit
+        // references to this.
+
+        builder.seek(enumToName_offset);
+        enumToName = new NonContiguousEnumToShort(builder);
+        builder.nameGroupOffsetToIndex(enumToName.offsetArray);
+
+        builder.seek(nameToEnum_offset);
+        nameToEnum = new NameToEnum(builder);
+
+        builder.seek(enumToValue_offset);
+        enumToValue = new NonContiguousEnumToShort(builder);
+        builder.valueMapOffsetToIndex(enumToValue.offsetArray);
+
+        valueMapArray = new ValueMap[valueMap_count];
+        for (int i=0; i<valueMap_count; ++i) {
+            // Must seek to the start of each entry.
+            builder.seek(builder.valueMap_map[i]);
+            valueMapArray[i] = new ValueMap(builder);
+        }
+
+        builder.close();
+    }
+
+    //----------------------------------------------------------------
+    // Public API
+
+    /**
+     * Return a property name given a property enum.  Multiple
+     * names may be available for each property; the nameChoice
+     * selects among them.
+     */
+    public String getPropertyName(int property,
+                                  int nameChoice) {
+        short nameGroupIndex = enumToName.getShort(property);
+        return chooseNameInGroup(nameGroupIndex, nameChoice);
+    }
+
+    /**
+     * Return a property enum given one of its property names.
+     */
+    public int getPropertyEnum(String propertyAlias) {
+        return nameToEnum.getEnum(propertyAlias);
+    }
+
+    /**
+     * Return a value name given a property enum and a value enum.
+     * Multiple names may be available for each value; the nameChoice
+     * selects among them.
+     */
+    public String getPropertyValueName(int property,
+                                       int value,
+                                       int nameChoice) {
+        ValueMap vm = getValueMap(property);
+        short nameGroupIndex = vm.enumToName.getShort(value);
+        return chooseNameInGroup(nameGroupIndex, nameChoice);
+    }
+
+    /**
+     * Return a value enum given one of its value names and the
+     * corresponding property alias.
+     */
+    public int getPropertyValueEnum(int property,
+                                    String valueAlias) {
+        ValueMap vm = getValueMap(property);
+        return vm.nameToEnum.getEnum(valueAlias);
+    }
+
+    //----------------------------------------------------------------
+    // Data structures
+
+    /**
+     * A map for the legal values of a binary or enumerated properties.
+     */
+    private class ValueMap {
+
+        /**
+         * Maps value enum to index into the nameGroupPool[]
+         */
+        EnumToShort enumToName; // polymorphic
+
+        /**
+         * Maps value name to value enum.
+         */
+        NameToEnum nameToEnum;
+
+        ValueMap(Builder b) throws IOException {
+            short enumToName_offset = b.readShort();
+            short ncEnumToName_offset = b.readShort();
+            short nameToEnum_offset = b.readShort();
+            if (enumToName_offset != 0) {
+                b.seek(enumToName_offset);
+                ContiguousEnumToShort x = new ContiguousEnumToShort(b);
+                b.nameGroupOffsetToIndex(x.offsetArray);
+                enumToName = x;
+            } else {
+                b.seek(ncEnumToName_offset);
+                NonContiguousEnumToShort x = new NonContiguousEnumToShort(b);
+                b.nameGroupOffsetToIndex(x.offsetArray);
+                enumToName = x;
+            }
+            b.seek(nameToEnum_offset);
+            nameToEnum = new NameToEnum(b);
+        }
+    }
+
+    /**
+     * Abstract map from enum values to integers.
+     */
+    private interface EnumToShort {
+        short getShort(int enumProbe);
+    }
+
+    /**
+     * Generic map from enum values to offsets.  Enum values are
+     * contiguous.
+     */
+    private static class ContiguousEnumToShort implements EnumToShort {
+        int enumStart;
+        int enumLimit;
+        short offsetArray[];
+
+        public short getShort(int enumProbe) {
+            if (enumProbe < enumStart || enumProbe >= enumLimit) {
+                throw new IllegalArgumentException("Invalid enum. enumStart = " +enumStart +
+                                                   " enumLimit = " + enumLimit +
+                                                   " enumProbe = " + enumProbe );
+            }
+            return offsetArray[enumProbe - enumStart];
+        }
+
+        ContiguousEnumToShort(ICUBinaryStream s) throws IOException  {
+            enumStart = s.readInt();
+            enumLimit = s.readInt();
+            int count = enumLimit - enumStart;
+            offsetArray = new short[count];
+            for (int i=0; i<count; ++i) {
+                offsetArray[i] = s.readShort();
+            }
+        }
+    }
+
+    /**
+     * Generic map from enum values to offsets.  Enum values need not
+     * be contiguous.
+     */
+    private static class NonContiguousEnumToShort implements EnumToShort {
+        int enumArray[];
+        short offsetArray[];
+
+        public short getShort(int enumProbe) {
+            for (int i=0; i<enumArray.length; ++i) {
+                if (enumArray[i] < enumProbe) continue;
+                if (enumArray[i] > enumProbe) break;
+                return offsetArray[i];
+            }
+            throw new IllegalArgumentException("Invalid enum");
+        }
+
+        NonContiguousEnumToShort(ICUBinaryStream s) throws IOException  {
+            int i;
+            int count = s.readInt();
+            enumArray = new int[count];
+            offsetArray = new short[count];
+            for (i=0; i<count; ++i) {
+                enumArray[i] = s.readInt();
+            }
+            for (i=0; i<count; ++i) {
+                offsetArray[i] = s.readShort();
+            }
+        }
+    }
+
+    /**
+     * Map from names to enum values.
+     */
+    private class NameToEnum {
+        int enumArray[];
+        short nameArray[];
+
+        int getEnum(String nameProbe) {
+            for (int i=0; i<nameArray.length; ++i) {
+                int c = UPropertyAliases.compare(nameProbe,
+                                                 stringPool[nameArray[i]]);
+                if (c > 0) continue;
+                if (c < 0) break;
+                return enumArray[i];
+            }
+            throw new IllegalArgumentException("Invalid name: " + nameProbe);
+        }
+
+        NameToEnum(Builder b) throws IOException {
+            int i;
+            int count = b.readInt();
+            enumArray = new int[count];
+            nameArray = new short[count];
+            for (i=0; i<count; ++i) {
+                enumArray[i] = b.readInt();
+            }
+            for (i=0; i<count; ++i) {
+                nameArray[i] = b.stringOffsetToIndex(b.readShort());
+            }
+        }
+    }
+
+    //----------------------------------------------------------------
+    // Runtime implementation
+
+    /**
+     * Compare two property names, returning <0, 0, or >0.  The
+     * comparison is that described as "loose" matching in the
+     * Property*Aliases.txt files.
+     */
+    public static int compare(String stra, String strb) {
+        // Note: This implementation is a literal copy of
+        // uprv_comparePropertyNames.  It can probably be improved.
+        int istra=0, istrb=0, rc;
+        int cstra=0, cstrb=0;
+        for (;;) {
+            /* Ignore delimiters '-', '_', and ASCII White_Space */
+            while (istra<stra.length()) {
+                cstra = stra.charAt(istra);
+                switch (cstra) {
+                case '-':  case '_':  case ' ':  case '\t':
+                case '\n': case 0xb/*\v*/: case '\f': case '\r':
+                    ++istra;
+                    continue;
+                }
+                break;
+            }
+
+            while (istrb<strb.length()) {
+                cstrb = strb.charAt(istrb);
+                switch (cstrb) {
+                case '-':  case '_':  case ' ':  case '\t':
+                case '\n': case 0xb/*\v*/: case '\f': case '\r':
+                    ++istrb;
+                    continue;
+                }
+                break;
+            }
+
+            /* If we reach the ends of both strings then they match */
+            boolean endstra = istra==stra.length();
+            boolean endstrb = istrb==strb.length();
+            if (endstra) {
+                if (endstrb) return 0;
+                cstra = 0;
+            } else if (endstrb) {
+                cstrb = 0;
+            }
+
+            rc = UCharacter.toLowerCase(cstra) - UCharacter.toLowerCase(cstrb);
+            if (rc != 0) {
+                return rc;
+            }
+
+            ++istra;
+            ++istrb;
+        }
+    }
+
+    /**
+     * Given an index to a run within the nameGroupPool[], and a
+     * nameChoice (0,1,...), select the nameChoice-th entry of the run.
+     */
+    private String chooseNameInGroup(short nameGroupIndex, int nameChoice) {
+        if (nameChoice < 0) {
+            throw new IllegalArgumentException("Invalid name choice");
+        }
+        while (nameChoice-- > 0) {
+            if (nameGroupPool[nameGroupIndex++] < 0) {
+                throw new IllegalArgumentException("Invalid name choice");
+            }
+        }
+        short a = nameGroupPool[nameGroupIndex];
+        return stringPool[(a < 0) ? -a : a];
+    }
+
+    /**
+     * Return the valueMap[] entry for a given property.
+     */
+    private ValueMap getValueMap(int property) {
+        int valueMapIndex = enumToValue.getShort(property);
+        return valueMapArray[valueMapIndex];
+    }
+
+    //----------------------------------------------------------------
+    // ICUBinary API
+
+    /**
+     * Return true if the given data version can be used.
+     */
+    public boolean isDataVersionAcceptable(byte version[])   {
+        return version[0] == DATA_FORMAT_VERSION;
+    }
+
+    //----------------------------------------------------------------
+    // Builder
+
+    /**
+     * A specialized ICUBinaryStream that can map between offsets and
+     * index values into various arrays (stringPool, nameGroupPool,
+     * and valueMap).  It also knows how to read various structures.
+     */
+    static class Builder extends ICUBinaryStream {
+
+        // map[i] = offset of object i.  We need maps for all of our
+        // arrays.  The arrays are indexed by offset in the raw binary
+        // file; we need to translate that to index.
+
+        private short stringPool_map[];
+
+        private short valueMap_map[];
+
+        private short nameGroup_map[];
+
+        public Builder(byte raw[]) {
+            super(raw);
+        }
+
+        /**
+         * The valueMap_map[] must be setup in advance.  This method
+         * does that.
+         */
+        public void setupValueMap_map(short offset, short count) {
+            valueMap_map = new short[count];
+            for (int i=0; i<count; ++i) {
+                // Start of each entry.  Each entry is 6 bytes long.
+                valueMap_map[i] = (short) (offset + i * 6);
+            }
+        }
+
+        /**
+         * Read stringPool[].  Build up translation table from offsets
+         * to string indices (stringPool_map[]).
+         */
+        public String[] readStringPool(short offset, short count)
+            throws IOException {
+            seek(offset);
+            // Allocate one more stringPool entry than needed.  Use this
+            // to store a "no string" entry in the pool, at index 0.  This
+            // maps to offset 0, so let stringPool_map[0] = 0.
+            String stringPool[] = new String[count + 1];
+            stringPool_map = new short[count + 1];
+            short pos = offset;
+            StringBuffer buf = new StringBuffer();
+            stringPool_map[0] = 0;
+            for (int i=1; i<=count; ++i) {
+                buf.setLength(0);
+                for (;;) {
+                    // This works because the name is invariant-ASCII
+                    char c = (char) readUnsignedByte();
+                    if (c == 0) break;
+                    buf.append(c);
+                }
+                stringPool_map[i] = pos;
+                stringPool[i] = buf.toString();
+                pos += stringPool[i].length() + 1;
+            }
+            if (DEBUG) {
+                System.out.println("read stringPool x " + count +
+                                   ": " + stringPool[1] + ", " +
+                                   stringPool[2] + ", " +
+                                   stringPool[3] + ",...");
+            }
+            return stringPool;
+        }
+
+        /**
+         * Read the nameGroupPool[], and build up the offset->index
+         * map (nameGroupPool_map[]).
+         */
+        public short[] readNameGroupPool(short offset, short count)
+            throws IOException {
+            // Read nameGroupPool[].  This contains offsets from start of
+            // header.  We translate these into indices into stringPool[]
+            // on the fly.  The offset 0, which indicates "no entry", we
+            // translate into index 0, which contains a null String
+            // pointer.
+            seek(offset);
+            short pos = offset;
+            short nameGroupPool[] = new short[count];
+            nameGroup_map = new short[count];
+            for (int i=0; i<count; ++i) {
+                nameGroup_map[i] = pos;
+                nameGroupPool[i] = stringOffsetToIndex(readShort());
+                pos += 2;
+            }
+            if (DEBUG) {
+                System.out.println("read nameGroupPool x " + count +
+                                   ": " + nameGroupPool[0] + ", " +
+                                   nameGroupPool[1] + ", " +
+                                   nameGroupPool[2] + ",...");
+            }
+            return nameGroupPool;
+        }
+
+        /**
+         * Convert an offset into the string pool into a stringPool[]
+         * index.
+         */
+        private short stringOffsetToIndex(short offset) {
+            int probe = offset;
+            if (probe < 0) probe = -probe;
+            for (int i=0; i<stringPool_map.length; ++i) {
+                if (stringPool_map[i] == probe) {
+                    return (short) ((offset < 0) ? -i : i);
+                }
+            }
+            throw new InternalError("Can't map string pool offset " + offset +
+                                       " to index");
+        }
+
+        /**
+         * Convert an array of offsets into the string pool into an
+         * array of stringPool[] indices.  MODIFIES THE ARRAY IN
+         * PLACE.
+         */
+        ///CLOVER:OFF
+        private void stringOffsetToIndex(short array[]) {
+            for (int i=0; i<array.length; ++i) {
+                array[i] = stringOffsetToIndex(array[i]);
+            }
+        }
+        ///CLOVER:ON
+
+        /**
+         * Convert an offset into the value map into a valueMap[]
+         * index.
+         */
+        private short valueMapOffsetToIndex(short offset) {
+            for (short i=0; i<valueMap_map.length; ++i) {
+                if (valueMap_map[i] == offset) {
+                    return i;
+                }
+            }
+            throw new InternalError("Can't map value map offset " + offset +
+                                       " to index");
+        }
+
+        /**
+         * Convert an array of offsets into the value map array into
+         * an array of valueMap[] indices.  MODIFIES THE ARRAY IN
+         * PLACE.
+         */
+        private void valueMapOffsetToIndex(short array[]) {
+            for (int i=0; i<array.length; ++i) {
+                array[i] = valueMapOffsetToIndex(array[i]);
+            }
+        }
+
+        /**
+         * Convert an offset into the name group pool into a
+         * nameGroupPool[] index.
+         */
+        private short nameGroupOffsetToIndex(short offset) {
+            for (short i=0; i<nameGroup_map.length; ++i) {
+                if (nameGroup_map[i] == offset) {
+                    return i;
+                }
+            }
+            throw new RuntimeException("Can't map name group offset " + offset +
+                                       " to index");
+        }
+
+        /**
+         * Convert an array of offsets into the name group pool into an
+         * array of nameGroupPool[] indices.  MODIFIES THE ARRAY IN
+         * PLACE.
+         */
+        private void nameGroupOffsetToIndex(short array[]) {
+            for (int i=0; i<array.length; ++i) {
+                array[i] = nameGroupOffsetToIndex(array[i]);
+            }
+        }
+    }
+}
diff --git a/src/com/ibm/icu/impl/URLHandler.java b/src/com/ibm/icu/impl/URLHandler.java
new file mode 100644
index 0000000..a91041f
--- /dev/null
+++ b/src/com/ibm/icu/impl/URLHandler.java
@@ -0,0 +1,205 @@
+/*
+******************************************************************************
+* Copyright (C) 2005, International Business Machines Corporation and        *
+* others. All Rights Reserved.                                               *
+******************************************************************************
+*/
+
+package com.ibm.icu.impl;
+
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import java.net.JarURLConnection;
+import java.net.URL;
+import java.util.Enumeration;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.jar.JarEntry;
+import java.util.jar.JarFile;
+
+public abstract class URLHandler {
+    public static final String PROPNAME = "urlhandler.props";
+
+    private static final Map handlers;
+
+    private static final boolean DEBUG = ICUDebug.enabled("URLHandler");
+
+    static {
+	Map h = null;
+	try {
+	    InputStream is = URLHandler.class.getResourceAsStream(PROPNAME);
+	    if (is == null) {
+		is = ClassLoader.getSystemClassLoader().getResourceAsStream(PROPNAME);
+	    }
+	    if (is != null) {
+		Class[] params = { URL.class };
+		BufferedReader br = new BufferedReader(new InputStreamReader(is));
+		for (String line = br.readLine(); line != null; line = br.readLine()) {
+		    line = line.trim();
+		    if (line.length() == 0 || line.charAt(0) == '#') {
+			continue;
+		    }
+		    int ix = line.indexOf('=');
+		    if (ix == -1) {
+			if (DEBUG) System.err.println("bad urlhandler line: '" + line + "'");
+			break;
+		    }
+		    String key = line.substring(0, ix).trim();
+		    String value = line.substring(ix+1).trim();
+
+		    try {
+			Class cl = Class.forName(value);
+			Method m = cl.getDeclaredMethod("get", params);
+			if (h == null) {
+			    h = new HashMap();
+			}
+			h.put(key, m);
+		    }
+		    catch (ClassNotFoundException e) {
+			if (DEBUG) System.err.println(e);
+		    }
+		    catch(NoSuchMethodException e) {
+			if (DEBUG) System.err.println(e);
+		    }
+		    catch(SecurityException e) {
+			if (DEBUG) System.err.println(e);
+		    }
+		}
+	    }
+	} catch (Throwable t) {
+	    if (DEBUG) System.err.println(t);
+	}
+	handlers = h;
+    }
+
+    public static URLHandler get(URL url) {
+	if (url == null) {
+	    return null;
+	}
+	String protocol = url.getProtocol();
+	if (handlers != null) {
+	    Method m = (Method)handlers.get(protocol);
+	    if (m != null) {
+		try {
+		    URLHandler handler = (URLHandler)m.invoke(null, new Object[] { url });
+		    if (handler != null) {
+			return handler;
+		    }
+		}
+		catch(IllegalAccessException e) {
+		    if (DEBUG) System.err.println(e);
+		}
+		catch(IllegalArgumentException e) {
+		    if (DEBUG) System.err.println(e);
+		}
+		catch(InvocationTargetException e) {
+		    if (DEBUG) System.err.println(e);
+		}
+	    }
+	}
+
+	return getDefault(url);
+    }
+
+    protected static URLHandler getDefault(URL url) {
+	String protocol = url.getProtocol();
+	if (protocol.equals("file")) {
+	    return new FileURLHandler(url);
+	} else if (protocol.equals("jar")) {
+	    return new JarURLHandler(url);
+	} else {
+	    return null;
+	}
+    }
+
+    private static class FileURLHandler extends URLHandler {
+	File file;
+
+	FileURLHandler(URL url) {
+	    file = new File(url.getPath());
+	    if (!file.exists()) {
+		if (DEBUG) System.err.println("file does not exist");
+		throw new IllegalArgumentException();
+	    }
+	}
+
+	public void guide(URLVisitor v, boolean recurse) {
+	    if (file.isDirectory()) {
+		process(v, recurse, file.listFiles());
+	    } else {
+		v.visit(file.getName());
+	    }
+	}
+
+	private void process(URLVisitor v, boolean recurse, File[] files) {
+	    for (int i = 0; i < files.length; i++) {
+		File f = files[i];
+		if (f.isDirectory()) {
+		    if (recurse) {
+			process(v, recurse, f.listFiles());
+		    }
+		} else {
+		    v.visit(f.getName());
+		}
+	    }
+	}
+    }
+
+    private static class JarURLHandler extends URLHandler {
+	JarFile jarFile;
+	String prefix;
+
+	JarURLHandler(URL url) {
+	    try {
+		prefix = url.getPath();
+		int ix = prefix.indexOf("!/");
+		if (ix >= 0) {
+		    prefix = prefix.substring(ix + 2); // truncate after "!/"
+		}
+		JarURLConnection conn = (JarURLConnection)url.openConnection();
+		jarFile = conn.getJarFile();
+	    }
+	    catch (Exception e) {
+		if (DEBUG) System.err.println("icurb jar error: " + e);
+		throw new IllegalArgumentException("jar error: " + e.getMessage());
+	    }
+	}
+
+	public void guide(URLVisitor v, boolean recurse) {
+	    try {
+		Enumeration entries = jarFile.entries();
+		while (entries.hasMoreElements()) {
+		    JarEntry entry = (JarEntry)entries.nextElement();
+		    if (!entry.isDirectory()) { // skip just directory paths
+			String name = entry.getName();
+			if (name.startsWith(prefix)) {
+			    name = name.substring(prefix.length());
+			    int ix = name.lastIndexOf('/');
+			    if (ix != -1) {
+				if (!recurse) {
+				    continue;
+				}
+				name = name.substring(ix+1);
+			    }
+			    v.visit(name);
+			}
+		    }
+		}
+	    }
+	    catch (Exception e) {
+		if (DEBUG) System.err.println("icurb jar error: " + e);
+	    }
+	}
+    }
+
+    public abstract void guide(URLVisitor visitor, boolean recurse);
+
+    public interface URLVisitor {
+	void visit(String str);
+    }
+}
+
diff --git a/src/com/ibm/icu/impl/USerializedSet.java b/src/com/ibm/icu/impl/USerializedSet.java
new file mode 100644
index 0000000..b475480
--- /dev/null
+++ b/src/com/ibm/icu/impl/USerializedSet.java
@@ -0,0 +1,193 @@
+/*
+ *******************************************************************************
+ *   Copyright (C) 2002-2004, International Business Machines
+ *   Corporation and others.  All Rights Reserved.
+ *******************************************************************************
+*/
+
+package com.ibm.icu.impl;
+/**
+ * @version     1.1
+ * @author     Markus W. Scherer
+ * Ram: Add documentation, remove unwanted methods, improve coverage.
+ */
+
+/**
+ * Simple class for handling serialized USet/UnicodeSet structures
+ * without object creation. See ICU4C icu/source/common/uset.c.
+ *
+ * @internal
+ */
+public final class USerializedSet {
+    /**
+     * Fill in the given serialized set object.
+     * @param src pointer to start of array
+     * @param srcStart pointer to start of serialized data (length value)
+     * @return true if the given array is valid, otherwise false
+     * @draft ICU 2.4
+     */
+    public final boolean getSet(char src[], int srcStart) {
+        // leave most argument checking up to Java exceptions
+        array=null;
+        arrayOffset=bmpLength=length=0;
+
+        length=src[srcStart++];
+        
+        
+        if((length&0x8000) >0) {
+            /* there are supplementary values */
+            length&=0x7fff;
+            if(src.length<(srcStart+1+length)) {
+                length=0;
+                throw new IndexOutOfBoundsException();
+            }
+            bmpLength=src[srcStart++];
+        } else {
+            /* only BMP values */
+            if(src.length<(srcStart+length)) {
+                length=0;
+                throw new IndexOutOfBoundsException();
+            }
+            bmpLength=length;
+        }
+        array = new char[length];
+        System.arraycopy(src,srcStart,array,0,length);
+        //arrayOffset=srcStart;
+        return true;
+    }
+    
+    /**
+     * Set the USerializedSet to contain the given character (and nothing
+     * else).
+     * @draft ICU 2.4
+     */
+    public final void setToOne(int c) {
+        if( 0x10ffff<c) {
+            return;
+        }
+
+        if(c<0xffff) {
+            bmpLength=length=2;
+            array[0]=(char)c;
+            array[1]=(char)(c+1);
+        } else if(c==0xffff) {
+            bmpLength=1;
+            length=3;
+            array[0]=0xffff;
+            array[1]=1;
+            array[2]=0;
+        } else if(c<0x10ffff) {
+            bmpLength=0;
+            length=4;
+            array[0]=(char)(c>>16);
+            array[1]=(char)c;
+            ++c;
+            array[2]=(char)(c>>16);
+            array[3]=(char)c;
+        } else /* c==0x10ffff */ {
+            bmpLength=0;
+            length=2;
+            array[0]=0x10;
+            array[1]=0xffff;
+        }
+    }
+        
+    /**
+     * Returns a range of characters contained in the given serialized
+     * set.
+     * @param rangeIndex a non-negative integer in the range <code>0..
+     * getSerializedRangeCount()-1</code>
+     * @param range variable to receive the data in the range
+     * @return true if rangeIndex is valid, otherwise false
+     * @draft ICU 2.4
+     */
+    public final boolean getRange(int rangeIndex, int[] range) {
+        if( rangeIndex<0) {
+            return false;
+        }
+        if(array==null){
+            array = new char[8];
+        }
+        if(range==null || range.length <2){
+            throw new IllegalArgumentException();
+        }
+        rangeIndex*=2; /* address start/limit pairs */
+        if(rangeIndex<bmpLength) {
+            range[0]=array[rangeIndex++];
+            if(rangeIndex<bmpLength) {
+                range[1]=array[rangeIndex];
+            } else if(rangeIndex<length) {
+                range[1]=(((int)array[rangeIndex])<<16)|array[rangeIndex+1];
+            } else {
+                range[1]=0x110000;
+            }
+            range[1]-=1;
+            return true;
+        } else {
+            rangeIndex-=bmpLength;
+            rangeIndex*=2; /* address pairs of pairs of units */
+            length-=bmpLength;
+            if(rangeIndex<length) {
+                int offset=arrayOffset+bmpLength;
+                range[0]=(((int)array[offset+rangeIndex])<<16)|array[offset+rangeIndex+1];
+                rangeIndex+=2;
+                if(rangeIndex<length) {
+                    range[1]=(((int)array[offset+rangeIndex])<<16)|array[offset+rangeIndex+1];
+                } else {
+                    range[1]=0x110000;
+                }
+                range[1]-=1;
+                return true;
+            } else {
+                return false;
+            }
+        }
+    }
+    
+    /**
+     * Returns true if the given USerializedSet contains the given
+     * character.
+     * @param c the character to test for
+     * @return true if set contains c
+     * @draft ICU 2.4
+     */
+    ///CLOVER:OFF
+    public final boolean contains(int c) {
+        
+        if(c>0x10ffff) {
+            return false;
+        }
+            
+        if(c<=0xffff) {
+            int i;
+            /* find c in the BMP part */
+            for(i=0; i<bmpLength && (char)c>=array[i]; ++i) {}
+            return (boolean)((i&1) != 0);
+        } else {
+            int i;
+            /* find c in the supplementary part */
+            char high=(char)(c>>16), low=(char)c;
+            for(i=bmpLength;
+                i<length && (high>array[i] || (high==array[i] && low>=array[i+1]));
+                i+=2) {}
+        
+            /* count pairs of 16-bit units even per BMP and check if the number of pairs is odd */
+            return (boolean)(((i+bmpLength)&2)!=0);
+        }
+    }
+    ///CLOVER:ON
+    /**
+     * Returns the number of disjoint ranges of characters contained in
+     * the given serialized set.  Ignores any strings contained in the
+     * set.
+     * @return a non-negative integer counting the character ranges
+     * contained in set
+     * @draft ICU 2.4
+     */
+    public final int countRanges() {
+        return (bmpLength+(length-bmpLength)/2+1)/2;
+    }
+    
+    private char array[] = new char[8];
+    private int arrayOffset, bmpLength, length;
+}
diff --git a/src/com/ibm/icu/impl/UTF32.java b/src/com/ibm/icu/impl/UTF32.java
new file mode 100644
index 0000000..0c39c09
--- /dev/null
+++ b/src/com/ibm/icu/impl/UTF32.java
@@ -0,0 +1,253 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2005, International Business Machines Corporation and         *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ *
+ */
+
+package com.ibm.icu.impl;
+
+import com.ibm.icu.text.UTF16;
+
+/**
+ * This class converts between an array of bytes in UTF-32 encoding (BE or LE) and
+ * Java Strings.
+ * 
+ * @internal
+ */
+public abstract class UTF32
+{
+    /**
+     * This method packs a 32-bit Unicode code point into the byte array. It is
+     * implemented by subclasses that implement the BE and LE encodings.
+     * 
+     * @param bytes the destination byte array
+     * @param codePoint the 32-bit Unicode code point
+     * @param out the destination index in <code>bytes</code>.
+     * 
+     * @internal
+     */
+    abstract protected void pack(byte[] bytes, int codePoint, int out);
+    
+    /**
+     * This method unpacks bytes from the encoded byte array into a 32-bit
+     * Unicode code point. It is implmeented by subclasses that implmeent the BE and LE encodings.
+     * 
+     * @param bytes the source byte array.
+     * @param index the index of the first source byte.
+     * @return the 32-bit Unicode code point.
+     * 
+     * @internal
+     */
+    abstract protected int unpack(byte[] bytes, int index);
+    
+    
+    /**
+     * Convert a Java String into an array of UTF-32 encoded bytes. Calls
+     * the <code>pack</code> method to do the encoding.
+     * 
+     * @param utf16 the source Java String.
+     * @return an array of UTF-32 encoded bytes.
+     * 
+     * @internal
+     */
+    public byte[] toBytes(String utf16)
+    {
+        int codePoints = UTF16.countCodePoint(utf16);
+        byte[] bytes = new byte[codePoints * 4];
+        int out = 0;
+
+        for (int cp = 0; cp < codePoints; out += 4) {
+            int codePoint = UTF16.charAt(utf16, cp);
+            
+            pack(bytes, codePoint, out);
+            cp += UTF16.getCharCount(codePoint);
+        }
+        
+        return bytes;
+    }
+    
+    /**
+     * This method converts a sequence of UTF-32 encoded bytes into
+     * a Java String. It calls the <code>unpack</code> method to implement
+     * the encoding.
+     * 
+     * @param bytes the source byte array.
+     * @param offset the starting offset in the byte array.
+     * @param count the number of bytes to process.
+     * @return the Java String.
+     * 
+     * @internal
+     */
+    public String fromBytes(byte[] bytes, int offset, int count)
+    {
+        StringBuffer buffer = new StringBuffer();
+        int limit = offset + count;
+        
+        for (int cp = offset; cp < limit; cp += 4) {
+            int codePoint = unpack(bytes, cp);
+            
+            UTF16.append(buffer, codePoint);
+        }
+        
+        return buffer.toString();
+    }
+    
+    /**
+     * A convenience method that converts an entire byte array
+     * into a Java String.
+     * 
+     * @param bytes the source byte array.
+     * @return the Java String.
+     * 
+     * @internal
+     */
+    public String fromBytes(byte[] bytes)
+    {
+        return fromBytes(bytes, 0, bytes.length);
+    }
+    
+    /**
+     * Get an instance that implements UTF-32BE encoding.
+     * 
+     * @return the instance.
+     * 
+     * @internal
+     */
+    static public UTF32 getBEInstance()
+    {
+        if (beInstance == null) {
+            beInstance = new BE();
+        }
+        
+        return beInstance;
+    }
+    
+    /**
+     * Get an instance that implemnts the UTF-32LE encoding.
+     * 
+     * @return the instance.
+     * 
+     * @internal
+     */
+    static public UTF32 getLEInstance()
+    {
+        if (leInstance == null) {
+            leInstance = new LE();
+        }
+        
+        return leInstance;
+    }
+    
+    /**
+     * Get an instance that implements either UTF-32BE or UTF32-LE,
+     * depending on the encoding name suppled.
+     * 
+     * @param encoding the encoding name - must be <code>"UTF-32BE"</code> or <code>"UTF-32LE"</code>.
+     * @return the instance.
+     * 
+     * @internal
+     */
+    static public UTF32 getInstance(String encoding)
+    {
+        if (encoding.equals("UTF-32BE")) {
+            return getBEInstance();
+        }
+        
+        if (encoding.equals("UTF-32LE")) {
+            return getLEInstance();
+        }
+        
+        return null;
+    }
+    
+    /**
+     * This sublcass implements the UTF-32BE encoding via the
+     * <code>pack</code> and <code>unpack</code> methods.
+     * 
+     * @internal
+     */
+    static class BE extends UTF32
+    {
+        /**
+         * This method packs a 32-bit Unicode code point into the byte array using
+         * the UTF-32BE encoding.
+         * 
+         * @param bytes the destination byte array
+         * @param codePoint the 32-bit Unicode code point
+         * @param out the destination index in <code>bytes</code>.
+         * 
+         * @internal
+         */
+        public void pack(byte[] bytes, int codePoint, int out)
+        {
+            bytes[out + 0] = (byte) ((codePoint >> 24) & 0xFF);
+            bytes[out + 1] = (byte) ((codePoint >> 16) & 0xFF);
+            bytes[out + 2] = (byte) ((codePoint >>  8) & 0xFF);
+            bytes[out + 3] = (byte) ((codePoint >>  0) & 0xFF);
+        }
+        
+        /**
+         * This method unpacks bytes from the UTF-32BE encoded byte array into a 32-bit
+         * Unicode code point.
+         * 
+         * @param bytes the source byte array.
+         * @param index the index of the first source byte.
+         * @return the 32-bit Unicode code point.
+         * 
+         * @internal
+         */
+        public int unpack(byte[] bytes, int index)
+        {
+            return (bytes[index + 0] & 0xFF) << 24 | (bytes[index + 1] & 0xFF) << 16 |
+                   (bytes[index + 2] & 0xFF) <<  8 | (bytes[index + 3] & 0xFF);
+        }
+    }
+    
+    /**
+     * This sublcass implements the UTF-32LE encoding via the
+     * <code>pack</code> and <code>unpack</code> methods.
+     * 
+     * @internal
+     */
+    static class LE extends UTF32
+    {
+        /**
+         * This method packs a 32-bit Unicode code point into the byte array using
+         * the UTF-32LE encoding.
+         * 
+         * @param bytes the destination byte array
+         * @param codePoint the 32-bit Unicode code point
+         * @param out the destination index in <code>bytes</code>.
+         * 
+         * @internal
+         */
+        public void pack(byte[] bytes, int codePoint, int out)
+        {
+            bytes[out + 3] = (byte) ((codePoint >> 24) & 0xFF);
+            bytes[out + 2] = (byte) ((codePoint >> 16) & 0xFF);
+            bytes[out + 1] = (byte) ((codePoint >>  8) & 0xFF);
+            bytes[out + 0] = (byte) ((codePoint >>  0) & 0xFF);
+        }
+        
+        /**
+         * This method unpacks bytes from the UTF-32LE encoded byte array into a 32-bit
+         * Unicode code point.
+         * 
+         * @param bytes the source byte array.
+         * @param index the index of the first source byte.
+         * @return the 32-bit Unicode code point.
+         * 
+         * @internal
+         */
+        public int unpack(byte[] bytes, int index)
+        {
+            return (bytes[index + 3] & 0xFF) << 24 | (bytes[index + 2] & 0xFF) << 16 |
+                   (bytes[index + 1] & 0xFF) <<  8 | (bytes[index + 0] & 0xFF);
+        }
+    }
+    
+    private static UTF32 beInstance = null;
+    private static UTF32 leInstance = null;
+}
diff --git a/src/com/ibm/icu/impl/Utility.java b/src/com/ibm/icu/impl/Utility.java
new file mode 100755
index 0000000..a8d62b5
--- /dev/null
+++ b/src/com/ibm/icu/impl/Utility.java
@@ -0,0 +1,1784 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.impl;
+import com.ibm.icu.lang.*;
+import com.ibm.icu.text.*;
+import com.ibm.icu.impl.UCharacterProperty;
+// This class contains utility functions so testing not needed
+///CLOVER:OFF
+public final class Utility {
+
+    private static final char APOSTROPHE = '\'';
+    private static final char BACKSLASH  = '\\';
+    private static final int MAGIC_UNSIGNED = 0x80000000;
+
+    /**
+     * Convenience utility to compare two Object[]s.
+     * Ought to be in System
+     */
+    public final static boolean arrayEquals(Object[] source, Object target) {
+        if (source == null) return (target == null);
+        if (!(target instanceof Object[])) return false;
+        Object[] targ = (Object[]) target;
+        return (source.length == targ.length
+                && arrayRegionMatches(source, 0, targ, 0, source.length));
+    }
+
+    /**
+     * Convenience utility to compare two int[]s
+     * Ought to be in System
+     */
+    ///CLOVER:OFF
+    public final static boolean arrayEquals(int[] source, Object target) {
+        if (source == null) return (target == null);
+        if (!(target instanceof int[])) return false;
+        int[] targ = (int[]) target;
+        return (source.length == targ.length
+                && arrayRegionMatches(source, 0, targ, 0, source.length));
+    }
+    ///CLOVER:ON
+
+    /**
+     * Convenience utility to compare two double[]s
+     * Ought to be in System
+     */
+    ///CLOVER:OFF
+    public final static boolean arrayEquals(double[] source, Object target) {
+        if (source == null) return (target == null);
+        if (!(target instanceof double[])) return false;
+        double[] targ = (double[]) target;
+        return (source.length == targ.length
+                && arrayRegionMatches(source, 0, targ, 0, source.length));
+    }
+    ///CLOVER:ON
+
+    /**
+     * Convenience utility to compare two Object[]s
+     * Ought to be in System
+     */
+    public final static boolean arrayEquals(Object source, Object target) {
+        if (source == null) return (target == null);
+        // for some reason, the correct arrayEquals is not being called
+        // so do it by hand for now.
+        if (source instanceof Object[])
+            return(arrayEquals((Object[]) source,target));
+        if (source instanceof int[])
+            return(arrayEquals((int[]) source,target));
+        if (source instanceof double[])
+            return(arrayEquals((int[]) source,target));
+        return source.equals(target);
+    }
+
+    /**
+     * Convenience utility to compare two Object[]s
+     * Ought to be in System.
+     * @param len the length to compare.
+     * The start indices and start+len must be valid.
+     */
+    public final static boolean arrayRegionMatches(Object[] source, int sourceStart,
+                                            Object[] target, int targetStart,
+                                            int len)
+    {
+        int sourceEnd = sourceStart + len;
+        int delta = targetStart - sourceStart;
+        for (int i = sourceStart; i < sourceEnd; i++) {
+            if (!arrayEquals(source[i],target[i + delta]))
+            return false;
+        }
+        return true;
+    }
+
+    /**
+     * Convenience utility to compare two Object[]s
+     * Ought to be in System.
+     * @param len the length to compare.
+     * The start indices and start+len must be valid.
+     */
+    public final static boolean arrayRegionMatches(char[] source, int sourceStart,
+                                            char[] target, int targetStart,
+                                            int len)
+    {
+        int sourceEnd = sourceStart + len;
+        int delta = targetStart - sourceStart;
+        for (int i = sourceStart; i < sourceEnd; i++) {
+            if (source[i]!=target[i + delta])
+            return false;
+        }
+        return true;
+    }
+
+    /**
+     * Convenience utility to compare two int[]s.
+     * @param len the length to compare.
+     * The start indices and start+len must be valid.
+     * Ought to be in System
+     */
+    ///CLOVER:OFF
+    public final static boolean arrayRegionMatches(int[] source, int sourceStart,
+                                            int[] target, int targetStart,
+                                            int len)
+    {
+        int sourceEnd = sourceStart + len;
+        int delta = targetStart - sourceStart;
+        for (int i = sourceStart; i < sourceEnd; i++) {
+            if (source[i] != target[i + delta])
+            return false;
+        }
+        return true;
+    }
+    ///CLOVER:ON
+
+    /**
+     * Convenience utility to compare two arrays of doubles.
+     * @param len the length to compare.
+     * The start indices and start+len must be valid.
+     * Ought to be in System
+     */
+    ///CLOVER:OFF
+    public final static boolean arrayRegionMatches(double[] source, int sourceStart,
+                                            double[] target, int targetStart,
+                                            int len)
+    {
+        int sourceEnd = sourceStart + len;
+        int delta = targetStart - sourceStart;
+        for (int i = sourceStart; i < sourceEnd; i++) {
+            if (source[i] != target[i + delta])
+            return false;
+        }
+        return true;
+    }
+    ///CLOVER:ON
+
+    /**
+     * Convenience utility. Does null checks on objects, then calls equals.
+     */
+    public final static boolean objectEquals(Object source, Object target) {
+    if (source == null)
+            return (target == null);
+    else
+            return source.equals(target);
+    }
+
+    /**
+     * The ESCAPE character is used during run-length encoding.  It signals
+     * a run of identical chars.
+     */
+    private static final char ESCAPE = '\uA5A5';
+
+    /**
+     * The ESCAPE_BYTE character is used during run-length encoding.  It signals
+     * a run of identical bytes.
+     */
+    static final byte ESCAPE_BYTE = (byte)0xA5;
+
+    /**
+     * Construct a string representing an int array.  Use run-length encoding.
+     * A character represents itself, unless it is the ESCAPE character.  Then
+     * the following notations are possible:
+     *   ESCAPE ESCAPE   ESCAPE literal
+     *   ESCAPE n c      n instances of character c
+     * Since an encoded run occupies 3 characters, we only encode runs of 4 or
+     * more characters.  Thus we have n > 0 and n != ESCAPE and n <= 0xFFFF.
+     * If we encounter a run where n == ESCAPE, we represent this as:
+     *   c ESCAPE n-1 c
+     * The ESCAPE value is chosen so as not to collide with commonly
+     * seen values.
+     */
+    ///CLOVER:OFF
+    static public final String arrayToRLEString(int[] a) {
+        StringBuffer buffer = new StringBuffer();
+
+        appendInt(buffer, a.length);
+        int runValue = a[0];
+        int runLength = 1;
+        for (int i=1; i<a.length; ++i) {
+            int s = a[i];
+            if (s == runValue && runLength < 0xFFFF) {
+                ++runLength;
+            } else {
+                encodeRun(buffer, runValue, runLength);
+                runValue = s;
+                runLength = 1;
+            }
+        }
+        encodeRun(buffer, runValue, runLength);
+        return buffer.toString();
+    }
+    ///CLOVER:ON
+
+    /**
+     * Construct a string representing a short array.  Use run-length encoding.
+     * A character represents itself, unless it is the ESCAPE character.  Then
+     * the following notations are possible:
+     *   ESCAPE ESCAPE   ESCAPE literal
+     *   ESCAPE n c      n instances of character c
+     * Since an encoded run occupies 3 characters, we only encode runs of 4 or
+     * more characters.  Thus we have n > 0 and n != ESCAPE and n <= 0xFFFF.
+     * If we encounter a run where n == ESCAPE, we represent this as:
+     *   c ESCAPE n-1 c
+     * The ESCAPE value is chosen so as not to collide with commonly
+     * seen values.
+     */
+    ///CLOVER:OFF
+    static public final String arrayToRLEString(short[] a) {
+        StringBuffer buffer = new StringBuffer();
+        // for (int i=0; i<a.length; ++i) buffer.append((char) a[i]);
+        buffer.append((char) (a.length >> 16));
+        buffer.append((char) a.length);
+        short runValue = a[0];
+        int runLength = 1;
+        for (int i=1; i<a.length; ++i) {
+            short s = a[i];
+            if (s == runValue && runLength < 0xFFFF) ++runLength;
+            else {
+            encodeRun(buffer, runValue, runLength);
+            runValue = s;
+            runLength = 1;
+            }
+        }
+        encodeRun(buffer, runValue, runLength);
+        return buffer.toString();
+    }
+    ///CLOVER:ON
+
+    /**
+     * Construct a string representing a char array.  Use run-length encoding.
+     * A character represents itself, unless it is the ESCAPE character.  Then
+     * the following notations are possible:
+     *   ESCAPE ESCAPE   ESCAPE literal
+     *   ESCAPE n c      n instances of character c
+     * Since an encoded run occupies 3 characters, we only encode runs of 4 or
+     * more characters.  Thus we have n > 0 and n != ESCAPE and n <= 0xFFFF.
+     * If we encounter a run where n == ESCAPE, we represent this as:
+     *   c ESCAPE n-1 c
+     * The ESCAPE value is chosen so as not to collide with commonly
+     * seen values.
+     */
+    static public final String arrayToRLEString(char[] a) {
+        StringBuffer buffer = new StringBuffer();
+        buffer.append((char) (a.length >> 16));
+        buffer.append((char) a.length);
+        char runValue = a[0];
+        int runLength = 1;
+        for (int i=1; i<a.length; ++i) {
+            char s = a[i];
+            if (s == runValue && runLength < 0xFFFF) ++runLength;
+            else {
+            encodeRun(buffer, (short)runValue, runLength);
+            runValue = s;
+            runLength = 1;
+            }
+        }
+        encodeRun(buffer, (short)runValue, runLength);
+        return buffer.toString();
+    }
+
+    /**
+     * Construct a string representing a byte array.  Use run-length encoding.
+     * Two bytes are packed into a single char, with a single extra zero byte at
+     * the end if needed.  A byte represents itself, unless it is the
+     * ESCAPE_BYTE.  Then the following notations are possible:
+     *   ESCAPE_BYTE ESCAPE_BYTE   ESCAPE_BYTE literal
+     *   ESCAPE_BYTE n b           n instances of byte b
+     * Since an encoded run occupies 3 bytes, we only encode runs of 4 or
+     * more bytes.  Thus we have n > 0 and n != ESCAPE_BYTE and n <= 0xFF.
+     * If we encounter a run where n == ESCAPE_BYTE, we represent this as:
+     *   b ESCAPE_BYTE n-1 b
+     * The ESCAPE_BYTE value is chosen so as not to collide with commonly
+     * seen values.
+     */
+    static public final String arrayToRLEString(byte[] a) {
+        StringBuffer buffer = new StringBuffer();
+        buffer.append((char) (a.length >> 16));
+        buffer.append((char) a.length);
+        byte runValue = a[0];
+        int runLength = 1;
+        byte[] state = new byte[2];
+        for (int i=1; i<a.length; ++i) {
+            byte b = a[i];
+            if (b == runValue && runLength < 0xFF) ++runLength;
+            else {
+                encodeRun(buffer, runValue, runLength, state);
+                runValue = b;
+                runLength = 1;
+            }
+        }
+        encodeRun(buffer, runValue, runLength, state);
+
+        // We must save the final byte, if there is one, by padding
+        // an extra zero.
+        if (state[0] != 0) appendEncodedByte(buffer, (byte)0, state);
+
+        return buffer.toString();
+    }
+
+    /**
+     * Encode a run, possibly a degenerate run (of < 4 values).
+     * @param length The length of the run; must be > 0 && <= 0xFFFF.
+     */
+    ///CLOVER:OFF
+    private static final void encodeRun(StringBuffer buffer, int value, int length) {
+        if (length < 4) {
+            for (int j=0; j<length; ++j) {
+                if (value == ESCAPE) {
+                    appendInt(buffer, value);
+                }
+                appendInt(buffer, value);
+            }
+        }
+        else {
+            if (length == (int) ESCAPE) {
+                if (value == (int) ESCAPE) {
+                    appendInt(buffer, ESCAPE);
+                }
+                appendInt(buffer, value);
+                --length;
+            }
+            appendInt(buffer, ESCAPE);
+            appendInt(buffer, length);
+            appendInt(buffer, value); // Don't need to escape this value
+        }
+    }
+    ///CLOVER:ON
+    
+    ///CLOVER:OFF
+    private static final void appendInt(StringBuffer buffer, int value) {
+        buffer.append((char)(value >>> 16));
+        buffer.append((char)(value & 0xFFFF));
+    }
+    ///CLOVER:ON
+
+    /**
+     * Encode a run, possibly a degenerate run (of < 4 values).
+     * @param length The length of the run; must be > 0 && <= 0xFFFF.
+     */
+    private static final void encodeRun(StringBuffer buffer, short value, int length) {
+        if (length < 4) {
+            for (int j=0; j<length; ++j) {
+                if (value == (int) ESCAPE) buffer.append(ESCAPE);
+                buffer.append((char) value);
+            }
+        }
+        else {
+            if (length == (int) ESCAPE) {
+                if (value == (int) ESCAPE) buffer.append(ESCAPE);
+                buffer.append((char) value);
+                --length;
+            }
+            buffer.append(ESCAPE);
+            buffer.append((char) length);
+            buffer.append((char) value); // Don't need to escape this value
+        }
+    }
+
+    /**
+     * Encode a run, possibly a degenerate run (of < 4 values).
+     * @param length The length of the run; must be > 0 && <= 0xFF.
+     */
+    private static final void encodeRun(StringBuffer buffer, byte value, int length,
+                    byte[] state) {
+        if (length < 4) {
+            for (int j=0; j<length; ++j) {
+                if (value == ESCAPE_BYTE) appendEncodedByte(buffer, ESCAPE_BYTE, state);
+                appendEncodedByte(buffer, value, state);
+            }
+        }
+        else {
+            if (length == ESCAPE_BYTE) {
+            if (value == ESCAPE_BYTE) appendEncodedByte(buffer, ESCAPE_BYTE, state);
+            appendEncodedByte(buffer, value, state);
+            --length;
+            }
+            appendEncodedByte(buffer, ESCAPE_BYTE, state);
+            appendEncodedByte(buffer, (byte)length, state);
+            appendEncodedByte(buffer, value, state); // Don't need to escape this value
+        }
+    }
+
+    /**
+     * Append a byte to the given StringBuffer, packing two bytes into each
+     * character.  The state parameter maintains intermediary data between
+     * calls.
+     * @param state A two-element array, with state[0] == 0 if this is the
+     * first byte of a pair, or state[0] != 0 if this is the second byte
+     * of a pair, in which case state[1] is the first byte.
+     */
+    private static final void appendEncodedByte(StringBuffer buffer, byte value,
+                        byte[] state) {
+        if (state[0] != 0) {
+            char c = (char) ((state[1] << 8) | (((int) value) & 0xFF));
+            buffer.append(c);
+            state[0] = 0;
+        }
+        else {
+            state[0] = 1;
+            state[1] = value;
+        }
+    }
+    ///CLOVER:OFF
+    /**
+     * Construct an array of ints from a run-length encoded string.
+     */
+    static public final int[] RLEStringToIntArray(String s) {
+        int length = getInt(s, 0);
+        int[] array = new int[length];
+        int ai = 0, i = 1;
+
+        int maxI = s.length() / 2;
+        while (ai < length && i < maxI) {
+            int c = getInt(s, i++);
+
+            if (c == ESCAPE) {
+                c = getInt(s, i++);
+                if (c == ESCAPE) {
+                    array[ai++] = c;
+                } else {
+                    int runLength = c;
+                    int runValue = getInt(s, i++);
+                    for (int j=0; j<runLength; ++j) {
+                        array[ai++] = runValue;
+                    }
+                }
+            }
+            else {
+                array[ai++] = c;
+            }
+        }
+
+        if (ai != length || i != maxI) {
+            throw new InternalError("Bad run-length encoded int array");
+        }
+
+        return array;
+    }
+    static final int getInt(String s, int i) {
+        return (((int) s.charAt(2*i)) << 16) | (int) s.charAt(2*i+1);
+    }
+    ///CLOVER:ON
+
+    /**
+     * Construct an array of shorts from a run-length encoded string.
+     */
+    ///CLOVER:OFF
+    static public final short[] RLEStringToShortArray(String s) {
+        int length = (((int) s.charAt(0)) << 16) | ((int) s.charAt(1));
+        short[] array = new short[length];
+        int ai = 0;
+        for (int i=2; i<s.length(); ++i) {
+            char c = s.charAt(i);
+            if (c == ESCAPE) {
+                c = s.charAt(++i);
+                if (c == ESCAPE) {
+                    array[ai++] = (short) c;
+                } else {
+                    int runLength = (int) c;
+                    short runValue = (short) s.charAt(++i);
+                    for (int j=0; j<runLength; ++j) array[ai++] = runValue;
+                }
+            }
+            else {
+                array[ai++] = (short) c;
+            }
+        }
+
+        if (ai != length)
+            throw new InternalError("Bad run-length encoded short array");
+
+        return array;
+    }
+    ///CLOVER:ON
+
+    /**
+     * Construct an array of shorts from a run-length encoded string.
+     */
+    static public final char[] RLEStringToCharArray(String s) {
+        int length = (((int) s.charAt(0)) << 16) | ((int) s.charAt(1));
+        char[] array = new char[length];
+        int ai = 0;
+        for (int i=2; i<s.length(); ++i) {
+            char c = s.charAt(i);
+            if (c == ESCAPE) {
+                c = s.charAt(++i);
+                if (c == ESCAPE) {
+                    array[ai++] = c;
+                } else {
+                    int runLength = (int) c;
+                    char runValue = s.charAt(++i);
+                    for (int j=0; j<runLength; ++j) array[ai++] = runValue;
+                }
+            }
+            else {
+                array[ai++] = c;
+            }
+        }
+
+        if (ai != length)
+            throw new InternalError("Bad run-length encoded short array");
+
+        return array;
+    }
+
+    /**
+     * Construct an array of bytes from a run-length encoded string.
+     */
+    static public final byte[] RLEStringToByteArray(String s) {
+        int length = (((int) s.charAt(0)) << 16) | ((int) s.charAt(1));
+        byte[] array = new byte[length];
+        boolean nextChar = true;
+        char c = 0;
+        int node = 0;
+        int runLength = 0;
+        int i = 2;
+        for (int ai=0; ai<length; ) {
+            // This part of the loop places the next byte into the local
+            // variable 'b' each time through the loop.  It keeps the
+            // current character in 'c' and uses the boolean 'nextChar'
+            // to see if we've taken both bytes out of 'c' yet.
+            byte b;
+            if (nextChar) {
+                c = s.charAt(i++);
+                b = (byte) (c >> 8);
+                nextChar = false;
+            }
+            else {
+                b = (byte) (c & 0xFF);
+                nextChar = true;
+            }
+
+            // This part of the loop is a tiny state machine which handles
+            // the parsing of the run-length encoding.  This would be simpler
+            // if we could look ahead, but we can't, so we use 'node' to
+            // move between three nodes in the state machine.
+            switch (node) {
+            case 0:
+                // Normal idle node
+                if (b == ESCAPE_BYTE) {
+                    node = 1;
+                }
+                else {
+                    array[ai++] = b;
+                }
+                break;
+            case 1:
+                // We have seen one ESCAPE_BYTE; we expect either a second
+                // one, or a run length and value.
+                if (b == ESCAPE_BYTE) {
+                    array[ai++] = ESCAPE_BYTE;
+                    node = 0;
+                }
+                else {
+                    runLength = b;
+                    // Interpret signed byte as unsigned
+                    if (runLength < 0) runLength += 0x100;
+                    node = 2;
+                }
+                break;
+            case 2:
+                // We have seen an ESCAPE_BYTE and length byte.  We interpret
+                // the next byte as the value to be repeated.
+                for (int j=0; j<runLength; ++j) array[ai++] = b;
+                node = 0;
+                break;
+            }
+        }
+
+        if (node != 0)
+            throw new InternalError("Bad run-length encoded byte array");
+
+        if (i != s.length())
+            throw new InternalError("Excess data in RLE byte array string");
+
+        return array;
+    }
+
+    static public String LINE_SEPARATOR = System.getProperty("line.separator");
+
+    /**
+     * Format a String for representation in a source file.  This includes
+     * breaking it into lines and escaping characters using octal notation
+     * when necessary (control characters and double quotes).
+     */
+    static public final String formatForSource(String s) {
+        StringBuffer buffer = new StringBuffer();
+        for (int i=0; i<s.length();) {
+            if (i > 0) buffer.append('+').append(LINE_SEPARATOR);
+            buffer.append("        \"");
+            int count = 11;
+            while (i<s.length() && count<80) {
+                char c = s.charAt(i++);
+                if (c < '\u0020' || c == '"' || c == '\\') {
+                    if (c == '\n') {
+                        buffer.append("\\n");
+                        count += 2;
+                    } else if (c == '\t') {
+                        buffer.append("\\t");
+                        count += 2;
+                    } else if (c == '\r') {
+                        buffer.append("\\r");
+                        count += 2;
+                    } else {
+                        // Represent control characters, backslash and double quote
+                        // using octal notation; otherwise the string we form
+                        // won't compile, since Unicode escape sequences are
+                        // processed before tokenization.
+                        buffer.append('\\');
+                        buffer.append(HEX_DIGIT[(c & 0700) >> 6]); // HEX_DIGIT works for octal
+                        buffer.append(HEX_DIGIT[(c & 0070) >> 3]);
+                        buffer.append(HEX_DIGIT[(c & 0007)]);
+                        count += 4;
+                    }
+                }
+                else if (c <= '\u007E') {
+                    buffer.append(c);
+                    count += 1;
+                }
+                else {
+                    buffer.append("\\u");
+                    buffer.append(HEX_DIGIT[(c & 0xF000) >> 12]);
+                    buffer.append(HEX_DIGIT[(c & 0x0F00) >> 8]);
+                    buffer.append(HEX_DIGIT[(c & 0x00F0) >> 4]);
+                    buffer.append(HEX_DIGIT[(c & 0x000F)]);
+                    count += 6;
+                }
+            }
+            buffer.append('"');
+        }
+        return buffer.toString();
+    }
+
+    static final char[] HEX_DIGIT = {'0','1','2','3','4','5','6','7',
+                     '8','9','A','B','C','D','E','F'};
+
+    /**
+     * Format a String for representation in a source file.  Like
+     * formatForSource but does not do line breaking.
+     */
+    static public final String format1ForSource(String s) {
+        StringBuffer buffer = new StringBuffer();
+        buffer.append("\"");
+        for (int i=0; i<s.length();) {
+            char c = s.charAt(i++);
+            if (c < '\u0020' || c == '"' || c == '\\') {
+                if (c == '\n') {
+                    buffer.append("\\n");
+                } else if (c == '\t') {
+                    buffer.append("\\t");
+                } else if (c == '\r') {
+                    buffer.append("\\r");
+                } else {
+                    // Represent control characters, backslash and double quote
+                    // using octal notation; otherwise the string we form
+                    // won't compile, since Unicode escape sequences are
+                    // processed before tokenization.
+                    buffer.append('\\');
+                    buffer.append(HEX_DIGIT[(c & 0700) >> 6]); // HEX_DIGIT works for octal
+                    buffer.append(HEX_DIGIT[(c & 0070) >> 3]);
+                    buffer.append(HEX_DIGIT[(c & 0007)]);
+                }
+            }
+            else if (c <= '\u007E') {
+                buffer.append(c);
+            }
+            else {
+                buffer.append("\\u");
+                buffer.append(HEX_DIGIT[(c & 0xF000) >> 12]);
+                buffer.append(HEX_DIGIT[(c & 0x0F00) >> 8]);
+                buffer.append(HEX_DIGIT[(c & 0x00F0) >> 4]);
+                buffer.append(HEX_DIGIT[(c & 0x000F)]);
+            }
+        }
+        buffer.append('"');
+        return buffer.toString();
+    }
+
+    /**
+     * Convert characters outside the range U+0020 to U+007F to
+     * Unicode escapes, and convert backslash to a double backslash.
+     */
+    public static final String escape(String s) {
+        StringBuffer buf = new StringBuffer();
+        for (int i=0; i<s.length(); ) {
+            int c = UTF16.charAt(s, i);
+            i += UTF16.getCharCount(c);
+            if (c >= ' ' && c <= 0x007F) {
+                if (c == '\\') {
+                    buf.append("\\\\"); // That is, "\\"
+                } else {
+                    buf.append((char)c);
+                }
+            } else {
+                boolean four = c <= 0xFFFF;
+                buf.append(four ? "\\u" : "\\U");
+                hex(c, four ? 4 : 8, buf);
+            }
+        }
+        return buf.toString();
+    }
+
+    /* This map must be in ASCENDING ORDER OF THE ESCAPE CODE */
+    static private final char[] UNESCAPE_MAP = {
+        /*"   0x22, 0x22 */
+        /*'   0x27, 0x27 */
+        /*?   0x3F, 0x3F */
+        /*\   0x5C, 0x5C */
+        /*a*/ 0x61, 0x07,
+        /*b*/ 0x62, 0x08,
+        /*e*/ 0x65, 0x1b,
+        /*f*/ 0x66, 0x0c,
+        /*n*/ 0x6E, 0x0a,
+        /*r*/ 0x72, 0x0d,
+        /*t*/ 0x74, 0x09,
+        /*v*/ 0x76, 0x0b
+    };
+
+    /**
+     * Convert an escape to a 32-bit code point value.  We attempt
+     * to parallel the icu4c unescapeAt() function.
+     * @param offset16 an array containing offset to the character
+     * <em>after</em> the backslash.  Upon return offset16[0] will
+     * be updated to point after the escape sequence.
+     * @return character value from 0 to 10FFFF, or -1 on error.
+     */
+    public static int unescapeAt(String s, int[] offset16) {
+        int c;
+        int result = 0;
+        int n = 0;
+        int minDig = 0;
+        int maxDig = 0;
+        int bitsPerDigit = 4;
+        int dig;
+        int i;
+        boolean braces = false;
+
+        /* Check that offset is in range */
+        int offset = offset16[0];
+        int length = s.length();
+        if (offset < 0 || offset >= length) {
+            return -1;
+        }
+
+        /* Fetch first UChar after '\\' */
+        c = UTF16.charAt(s, offset);
+        offset += UTF16.getCharCount(c);
+
+        /* Convert hexadecimal and octal escapes */
+        switch (c) {
+        case 'u':
+            minDig = maxDig = 4;
+            break;
+        case 'U':
+            minDig = maxDig = 8;
+            break;
+        case 'x':
+            minDig = 1;
+            if (offset < length && UTF16.charAt(s, offset) == 0x7B /*{*/) {
+                ++offset;
+                braces = true;
+                maxDig = 8;
+            } else {
+                maxDig = 2;
+            }
+            break;
+        default:
+            dig = UCharacter.digit(c, 8);
+            if (dig >= 0) {
+                minDig = 1;
+                maxDig = 3;
+                n = 1; /* Already have first octal digit */
+                bitsPerDigit = 3;
+                result = dig;
+            }
+            break;
+        }
+        if (minDig != 0) {
+            while (offset < length && n < maxDig) {
+                c = UTF16.charAt(s, offset);
+                dig = UCharacter.digit(c, (bitsPerDigit == 3) ? 8 : 16);
+                if (dig < 0) {
+                    break;
+                }
+                result = (result << bitsPerDigit) | dig;
+                offset += UTF16.getCharCount(c);
+                ++n;
+            }
+            if (n < minDig) {
+                return -1;
+            }
+            if (braces) {
+                if (c != 0x7D /*}*/) {
+                    return -1;
+                }
+                ++offset;
+            }
+            if (result < 0 || result >= 0x110000) {
+                return -1;
+            }
+            // If an escape sequence specifies a lead surrogate, see
+            // if there is a trail surrogate after it, either as an
+            // escape or as a literal.  If so, join them up into a
+            // supplementary.
+            if (offset < length &&
+                UTF16.isLeadSurrogate((char) result)) {
+                int ahead = offset+1;
+                c = s.charAt(offset); // [sic] get 16-bit code unit
+                if (c == '\\' && ahead < length) {
+                    int o[] = new int[] { ahead };
+                    c = unescapeAt(s, o);
+                    ahead = o[0];
+                }
+                if (UTF16.isTrailSurrogate((char) c)) {
+                    offset = ahead;
+                result = UCharacterProperty.getRawSupplementary(
+                                  (char) result, (char) c);
+                }
+            }
+            offset16[0] = offset;
+            return result;
+        }
+
+        /* Convert C-style escapes in table */
+        for (i=0; i<UNESCAPE_MAP.length; i+=2) {
+            if (c == UNESCAPE_MAP[i]) {
+                offset16[0] = offset;
+                return UNESCAPE_MAP[i+1];
+            } else if (c < UNESCAPE_MAP[i]) {
+                break;
+            }
+        }
+
+        /* Map \cX to control-X: X & 0x1F */
+        if (c == 'c' && offset < length) {
+            c = UTF16.charAt(s, offset);
+            offset16[0] = offset + UTF16.getCharCount(c);
+            return 0x1F & c;
+        }
+
+        /* If no special forms are recognized, then consider
+         * the backslash to generically escape the next character. */
+        offset16[0] = offset;
+        return c;
+    }
+
+    /**
+     * Convert all escapes in a given string using unescapeAt().
+     * @exception IllegalArgumentException if an invalid escape is
+     * seen.
+     */
+    public static String unescape(String s) {
+        StringBuffer buf = new StringBuffer();
+        int[] pos = new int[1];
+        for (int i=0; i<s.length(); ) {
+            char c = s.charAt(i++);
+            if (c == '\\') {
+                pos[0] = i;
+                int e = unescapeAt(s, pos);
+                if (e < 0) {
+                    throw new IllegalArgumentException("Invalid escape sequence " +
+                                                       s.substring(i-1, Math.min(i+8, s.length())));
+                }
+                UTF16.append(buf, e);
+                i = pos[0];
+            } else {
+                buf.append(c);
+            }
+        }
+        return buf.toString();
+    }
+
+    /**
+     * Convert all escapes in a given string using unescapeAt().
+     * Leave invalid escape sequences unchanged.
+     */
+    ///CLOVER:OFF
+    public static String unescapeLeniently(String s) {
+        StringBuffer buf = new StringBuffer();
+        int[] pos = new int[1];
+        for (int i=0; i<s.length(); ) {
+            char c = s.charAt(i++);
+            if (c == '\\') {
+                pos[0] = i;
+                int e = unescapeAt(s, pos);
+                if (e < 0) {
+                    buf.append(c);
+                } else {
+                    UTF16.append(buf, e);
+                    i = pos[0];
+                }
+            } else {
+                buf.append(c);
+            }
+        }
+        return buf.toString();
+    }
+    ///CLOVER:ON
+
+    /**
+     * Convert a char to 4 hex uppercase digits.  E.g., hex('a') =>
+     * "0041".
+     */
+    ///CLOVER:OFF
+    public static String hex(char ch) {
+        StringBuffer temp = new StringBuffer();
+        return hex(ch, temp).toString();
+    }
+    ///CLOVER:ON
+
+    /**
+     * Convert a string to comma-separated groups of 4 hex uppercase
+     * digits.  E.g., hex('ab') => "0041,0042".
+     */
+    ///CLOVER:OFF
+    public static String hex(String s) {
+        StringBuffer temp = new StringBuffer();
+        return hex(s, temp).toString();
+    }
+    ///CLOVER:ON
+
+    /**
+     * Convert a string to comma-separated groups of 4 hex uppercase
+     * digits.  E.g., hex('ab') => "0041,0042".
+     */
+    ///CLOVER:OFF
+    public static String hex(StringBuffer s) {
+        return hex(s.toString());
+    }
+    ///CLOVER:ON
+
+    /**
+     * Convert a char to 4 hex uppercase digits.  E.g., hex('a') =>
+     * "0041".  Append the output to the given StringBuffer.
+     */
+    ///CLOVER:OFF
+    public static StringBuffer hex(char ch, StringBuffer output) {
+        return appendNumber(output, ch, 16, 4);
+    }
+    ///CLOVER:ON
+
+    /**
+     * Convert a integer to size width hex uppercase digits.
+     * E.g., hex('a', 4, str) => "0041".
+     * Append the output to the given StringBuffer.
+     * If width is too small to fit, nothing will be appended to output.
+     */
+    public static StringBuffer hex(int ch, int width, StringBuffer output) {
+        return appendNumber(output, ch, 16, width);
+    }
+
+    /**
+     * Convert a integer to size width (minimum) hex uppercase digits.
+     * E.g., hex('a', 4, str) => "0041".  If the integer requires more
+     * than width digits, more will be used.
+     */
+    public static String hex(int ch, int width) {
+        StringBuffer buf = new StringBuffer();
+        return appendNumber(buf, ch, 16, width).toString();
+    }
+    /**
+     * Supplies a zero-padded hex representation of an integer (without 0x)
+     */
+    static public String hex(long i, int places) {
+        if (i == Long.MIN_VALUE) return "-8000000000000000";
+        boolean negative = i < 0;
+        if (negative) {
+            i = -i;
+        }
+        String result = Long.toString(i, 16).toUpperCase();
+        if (result.length() < places) {
+            result = "0000000000000000".substring(result.length(),places) + result;
+        }
+        if (negative) {
+            return '-' + result;
+        }
+        return result;
+    }
+    
+    public static String hex(long ch) {
+        return hex(ch,4);
+    }
+    
+    /**
+     * Convert a string to comma-separated groups of 4 hex uppercase
+     * digits.  E.g., hex('ab') => "0041,0042".  Append the output
+     * to the given StringBuffer.
+     */
+    ///CLOVER:OFF
+    public static StringBuffer hex(String s, StringBuffer result) {
+        for (int i = 0; i < s.length(); ++i) {
+            if (i != 0) result.append(',');
+            hex(s.charAt(i), result);
+        }
+        return result;
+    }
+    ///CLOVER:ON
+
+    /**
+     * Split a string into pieces based on the given divider character
+     * @param s the string to split
+     * @param divider the character on which to split.  Occurrences of
+     * this character are not included in the output
+     * @param output an array to receive the substrings between
+     * instances of divider.  It must be large enough on entry to
+     * accomodate all output.  Adjacent instances of the divider
+     * character will place empty strings into output.  Before
+     * returning, output is padded out with empty strings.
+     */
+    ///CLOVER:OFF
+    public static void split(String s, char divider, String[] output) {
+        int last = 0;
+        int current = 0;
+        int i;
+        for (i = 0; i < s.length(); ++i) {
+            if (s.charAt(i) == divider) {
+                output[current++] = s.substring(last,i);
+                last = i+1;
+            }
+        }
+        output[current++] = s.substring(last,i);
+        while (current < output.length) {
+            output[current++] = "";
+        }
+    }
+    ///CLOVER:ON
+
+    /**
+     * Look up a given string in a string array.  Returns the index at
+     * which the first occurrence of the string was found in the
+     * array, or -1 if it was not found.
+     * @param source the string to search for
+     * @param target the array of zero or more strings in which to
+     * look for source
+     * @return the index of target at which source first occurs, or -1
+     * if not found
+     */
+    ///CLOVER:OFF
+    public static int lookup(String source, String[] target) {
+        for (int i = 0; i < target.length; ++i) {
+            if (source.equals(target[i])) return i;
+        }
+        return -1;
+    }
+    ///CLOVER:ON
+
+    /**
+     * Skip over a sequence of zero or more white space characters
+     * at pos.  Return the index of the first non-white-space character
+     * at or after pos, or str.length(), if there is none.
+     */
+    public static int skipWhitespace(String str, int pos) {
+        while (pos < str.length()) {
+            int c = UTF16.charAt(str, pos);
+            if (!UCharacterProperty.isRuleWhiteSpace(c)) {
+                break;
+            }
+            pos += UTF16.getCharCount(c);
+        }
+        return pos;
+    }
+
+    /**
+     * Skip over a sequence of zero or more white space characters
+     * at pos[0], advancing it.
+     */
+    public static void skipWhitespace(String str, int[] pos) {
+        pos[0] = skipWhitespace(str, pos[0]);
+    }
+
+    /**
+     * Remove all rule white space from a string.
+     */
+    public static String deleteRuleWhiteSpace(String str) {
+        StringBuffer buf = new StringBuffer();
+        for (int i=0; i<str.length(); ) {
+            int ch = UTF16.charAt(str, i);
+            i += UTF16.getCharCount(ch);
+            if (UCharacterProperty.isRuleWhiteSpace(ch)) {
+                continue;
+            }
+            UTF16.append(buf, ch);
+        }
+        return buf.toString();
+    }
+
+    /**
+     * Parse a single non-whitespace character 'ch', optionally
+     * preceded by whitespace.
+     * @param id the string to be parsed
+     * @param pos INPUT-OUTPUT parameter.  On input, pos[0] is the
+     * offset of the first character to be parsed.  On output, pos[0]
+     * is the index after the last parsed character.  If the parse
+     * fails, pos[0] will be unchanged.
+     * @param ch the non-whitespace character to be parsed.
+     * @return true if 'ch' is seen preceded by zero or more
+     * whitespace characters.
+     */
+    public static boolean parseChar(String id, int[] pos, char ch) {
+        int start = pos[0];
+        skipWhitespace(id, pos);
+        if (pos[0] == id.length() ||
+            id.charAt(pos[0]) != ch) {
+            pos[0] = start;
+            return false;
+        }
+        ++pos[0];
+        return true;
+    }
+
+    /**
+     * Parse a pattern string starting at offset pos.  Keywords are
+     * matched case-insensitively.  Spaces may be skipped and may be
+     * optional or required.  Integer values may be parsed, and if
+     * they are, they will be returned in the given array.  If
+     * successful, the offset of the next non-space character is
+     * returned.  On failure, -1 is returned.
+     * @param pattern must only contain lowercase characters, which
+     * will match their uppercase equivalents as well.  A space
+     * character matches one or more required spaces.  A '~' character
+     * matches zero or more optional spaces.  A '#' character matches
+     * an integer and stores it in parsedInts, which the caller must
+     * ensure has enough capacity.
+     * @param parsedInts array to receive parsed integers.  Caller
+     * must ensure that parsedInts.length is >= the number of '#'
+     * signs in 'pattern'.
+     * @return the position after the last character parsed, or -1 if
+     * the parse failed
+     */
+    public static int parsePattern(String rule, int pos, int limit,
+                                   String pattern, int[] parsedInts) {
+        // TODO Update this to handle surrogates
+        int[] p = new int[1];
+        int intCount = 0; // number of integers parsed
+        for (int i=0; i<pattern.length(); ++i) {
+            char cpat = pattern.charAt(i);
+            char c;
+            switch (cpat) {
+            case ' ':
+                if (pos >= limit) {
+                    return -1;
+                }
+                c = rule.charAt(pos++);
+                if (!UCharacterProperty.isRuleWhiteSpace(c)) {
+                    return -1;
+                }
+                // FALL THROUGH to skipWhitespace
+            case '~':
+                pos = skipWhitespace(rule, pos);
+                break;
+            case '#':
+                p[0] = pos;
+                parsedInts[intCount++] = parseInteger(rule, p, limit);
+                if (p[0] == pos) {
+                    // Syntax error; failed to parse integer
+                    return -1;
+                }
+                pos = p[0];
+                break;
+            default:
+                if (pos >= limit) {
+                    return -1;
+                }
+                c = (char) UCharacter.toLowerCase(rule.charAt(pos++));
+                if (c != cpat) {
+                    return -1;
+                }
+                break;
+            }
+        }
+        return pos;
+    }
+
+    /**
+     * Parse a pattern string within the given Replaceable and a parsing
+     * pattern.  Characters are matched literally and case-sensitively
+     * except for the following special characters:
+     *
+     * ~  zero or more uprv_isRuleWhiteSpace chars
+     *
+     * If end of pattern is reached with all matches along the way,
+     * pos is advanced to the first unparsed index and returned.
+     * Otherwise -1 is returned.
+     * @param pat pattern that controls parsing
+     * @param text text to be parsed, starting at index
+     * @param index offset to first character to parse
+     * @param limit offset after last character to parse
+     * @return index after last parsed character, or -1 on parse failure.
+     */
+    public static int parsePattern(String pat,
+                                   Replaceable text,
+                                   int index,
+                                   int limit) {
+        int ipat = 0;
+
+        // empty pattern matches immediately
+        if (ipat == pat.length()) {
+            return index;
+        }
+
+        int cpat = UTF16.charAt(pat, ipat);
+
+        while (index < limit) {
+            int c = text.char32At(index);
+
+            // parse \s*
+            if (cpat == '~') {
+                if (UCharacterProperty.isRuleWhiteSpace(c)) {
+                    index += UTF16.getCharCount(c);
+                    continue;
+                } else {
+                    if (++ipat == pat.length()) {
+                        return index; // success; c unparsed
+                    }
+                    // fall thru; process c again with next cpat
+                }
+            }
+
+            // parse literal
+            else if (c == cpat) {
+                int n = UTF16.getCharCount(c);
+                index += n;
+                ipat += n;
+                if (ipat == pat.length()) {
+                    return index; // success; c parsed
+                }
+                // fall thru; get next cpat
+            }
+
+            // match failure of literal
+            else {
+                return -1;
+            }
+
+            cpat = UTF16.charAt(pat, ipat);
+        }
+
+        return -1; // text ended before end of pat
+    }
+
+    /**
+     * Parse an integer at pos, either of the form \d+ or of the form
+     * 0x[0-9A-Fa-f]+ or 0[0-7]+, that is, in standard decimal, hex,
+     * or octal format.
+     * @param pos INPUT-OUTPUT parameter.  On input, the first
+     * character to parse.  On output, the character after the last
+     * parsed character.
+     */
+    public static int parseInteger(String rule, int[] pos, int limit) {
+        int count = 0;
+        int value = 0;
+        int p = pos[0];
+        int radix = 10;
+
+        if (rule.regionMatches(true, p, "0x", 0, 2)) {
+            p += 2;
+            radix = 16;
+        } else if (p < limit && rule.charAt(p) == '0') {
+            p++;
+            count = 1;
+            radix = 8;
+        }
+
+        while (p < limit) {
+            int d = UCharacter.digit(rule.charAt(p++), radix);
+            if (d < 0) {
+                --p;
+                break;
+            }
+            ++count;
+            int v = (value * radix) + d;
+            if (v <= value) {
+                // If there are too many input digits, at some point
+                // the value will go negative, e.g., if we have seen
+                // "0x8000000" already and there is another '0', when
+                // we parse the next 0 the value will go negative.
+                return 0;
+            }
+            value = v;
+        }
+        if (count > 0) {
+            pos[0] = p;
+        }
+        return value;
+    }
+
+    /**
+     * Parse a Unicode identifier from the given string at the given
+     * position.  Return the identifier, or null if there is no
+     * identifier.
+     * @param str the string to parse
+     * @param pos INPUT-OUPUT parameter.  On INPUT, pos[0] is the
+     * first character to examine.  It must be less than str.length(),
+     * and it must not point to a whitespace character.  That is, must
+     * have pos[0] < str.length() and
+     * !UCharacterProperty.isRuleWhiteSpace(UTF16.charAt(str, pos[0])).  On
+     * OUTPUT, the position after the last parsed character.
+     * @return the Unicode identifier, or null if there is no valid
+     * identifier at pos[0].
+     */
+    public static String parseUnicodeIdentifier(String str, int[] pos) {
+        // assert(pos[0] < str.length());
+        // assert(!UCharacterProperty.isRuleWhiteSpace(UTF16.charAt(str, pos[0])));
+        StringBuffer buf = new StringBuffer();
+        int p = pos[0];
+        while (p < str.length()) {
+            int ch = UTF16.charAt(str, p);
+            if (buf.length() == 0) {
+                if (UCharacter.isUnicodeIdentifierStart(ch)) {
+                    UTF16.append(buf, ch);
+                } else {
+                    return null;
+                }
+            } else {
+                if (UCharacter.isUnicodeIdentifierPart(ch)) {
+                    UTF16.append(buf, ch);
+                } else {
+                    break;
+                }
+            }
+            p += UTF16.getCharCount(ch);
+        }
+        pos[0] = p;
+        return buf.toString();
+    }
+
+    /**
+     * Trim whitespace from ends of a StringBuffer.
+     */
+    ///CLOVER:OFF
+    public static StringBuffer trim(StringBuffer b) {
+        // TODO update to handle surrogates
+        int i;
+        for (i=0; i<b.length() && Character.isWhitespace(b.charAt(i)); ++i) {}
+        b.delete(0, i);
+        for (i=b.length()-1; i>=0 && Character.isWhitespace(b.charAt(i)); --i) {}
+        return b.delete(i+1, b.length());
+    }
+    ///CLOVER:ON
+
+    static final char DIGITS[] = {
+        '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
+        'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J',
+        'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T',
+        'U', 'V', 'W', 'X', 'Y', 'Z'
+    };
+
+    /**
+     * Append a number to the given StringBuffer in the radix 10
+     * generating at least one digit.
+     */
+    ///CLOVER:OFF
+    public static StringBuffer appendNumber(StringBuffer result, int n) {
+        return appendNumber(result, n, 10, 1);
+    }
+    ///CLOVER:ON
+
+    /**
+     * Append the digits of a positive integer to the given
+     * <code>StringBuffer</code> in the given radix. This is
+     * done recursively since it is easiest to generate the low-
+     * order digit first, but it must be appended last.
+     *
+     * @param result is the <code>StringBuffer</code> to append to
+     * @param n is the positive integer
+     * @param radix is the radix, from 2 to 36 inclusive
+     * @param minDigits is the minimum number of digits to append.
+     */
+    private static void recursiveAppendNumber(StringBuffer result, int n,
+                                                int radix, int minDigits)
+    {
+        int digit = n % radix;
+
+        if (n >= radix || minDigits > 1) {
+            recursiveAppendNumber(result, n / radix, radix, minDigits - 1);
+        }
+
+        result.append(DIGITS[digit]);
+    }
+
+    /**
+     * Append a number to the given StringBuffer in the given radix.
+     * Standard digits '0'-'9' are used and letters 'A'-'Z' for
+     * radices 11 through 36.
+     * @param result the digits of the number are appended here
+     * @param n the number to be converted to digits; may be negative.
+     * If negative, a '-' is prepended to the digits.
+     * @param radix a radix from 2 to 36 inclusive.
+     * @param minDigits the minimum number of digits, not including
+     * any '-', to produce.  Values less than 2 have no effect.  One
+     * digit is always emitted regardless of this parameter.
+     * @return a reference to result
+     */
+    public static StringBuffer appendNumber(StringBuffer result, int n,
+                                             int radix, int minDigits)
+        throws IllegalArgumentException
+    {
+        if (radix < 2 || radix > 36) {
+            throw new IllegalArgumentException("Illegal radix " + radix);
+        }
+
+
+        int abs = n;
+
+        if (n < 0) {
+            abs = -n;
+            result.append("-");
+        }
+
+        recursiveAppendNumber(result, abs, radix, minDigits);
+
+        return result;
+    }
+
+    /**
+     * Parse an unsigned 31-bit integer at the given offset.  Use
+     * UCharacter.digit() to parse individual characters into digits.
+     * @param text the text to be parsed
+     * @param pos INPUT-OUTPUT parameter.  On entry, pos[0] is the
+     * offset within text at which to start parsing; it should point
+     * to a valid digit.  On exit, pos[0] is the offset after the last
+     * parsed character.  If the parse failed, it will be unchanged on
+     * exit.  Must be >= 0 on entry.
+     * @param radix the radix in which to parse; must be >= 2 and <=
+     * 36.
+     * @return a non-negative parsed number, or -1 upon parse failure.
+     * Parse fails if there are no digits, that is, if pos[0] does not
+     * point to a valid digit on entry, or if the number to be parsed
+     * does not fit into a 31-bit unsigned integer.
+     */
+    public static int parseNumber(String text, int[] pos, int radix) {
+        // assert(pos[0] >= 0);
+        // assert(radix >= 2);
+        // assert(radix <= 36);
+        int n = 0;
+        int p = pos[0];
+        while (p < text.length()) {
+            int ch = UTF16.charAt(text, p);
+            int d = UCharacter.digit(ch, radix);
+            if (d < 0) {
+                break;
+            }
+            n = radix*n + d;
+            // ASSUME that when a 32-bit integer overflows it becomes
+            // negative.  E.g., 214748364 * 10 + 8 => negative value.
+            if (n < 0) {
+                return -1;
+            }
+            ++p;
+        }
+        if (p == pos[0]) {
+            return -1;
+        }
+        pos[0] = p;
+        return n;
+    }
+
+    /**
+     * Return true if the character is NOT printable ASCII.  The tab,
+     * newline and linefeed characters are considered unprintable.
+     */
+    public static boolean isUnprintable(int c) {
+        return !(c >= 0x20 && c <= 0x7E);
+    }
+
+    /**
+     * Escape unprintable characters using <backslash>uxxxx notation
+     * for U+0000 to U+FFFF and <backslash>Uxxxxxxxx for U+10000 and
+     * above.  If the character is printable ASCII, then do nothing
+     * and return FALSE.  Otherwise, append the escaped notation and
+     * return TRUE.
+     */
+    public static boolean escapeUnprintable(StringBuffer result, int c) {
+        if (isUnprintable(c)) {
+            result.append('\\');
+            if ((c & ~0xFFFF) != 0) {
+                result.append('U');
+                result.append(DIGITS[0xF&(c>>28)]);
+                result.append(DIGITS[0xF&(c>>24)]);
+                result.append(DIGITS[0xF&(c>>20)]);
+                result.append(DIGITS[0xF&(c>>16)]);
+            } else {
+                result.append('u');
+            }
+            result.append(DIGITS[0xF&(c>>12)]);
+            result.append(DIGITS[0xF&(c>>8)]);
+            result.append(DIGITS[0xF&(c>>4)]);
+            result.append(DIGITS[0xF&c]);
+            return true;
+        }
+        return false;
+    }
+
+    /**
+     * Returns the index of the first character in a set, ignoring quoted text.
+     * For example, in the string "abc'hide'h", the 'h' in "hide" will not be
+     * found by a search for "h".  Unlike String.indexOf(), this method searches
+     * not for a single character, but for any character of the string
+     * <code>setOfChars</code>.
+     * @param text text to be searched
+     * @param start the beginning index, inclusive; <code>0 <= start
+     * <= limit</code>.
+     * @param limit the ending index, exclusive; <code>start <= limit
+     * <= text.length()</code>.
+     * @param setOfChars string with one or more distinct characters
+     * @return Offset of the first character in <code>setOfChars</code>
+     * found, or -1 if not found.
+     * @see String#indexOf
+     */
+    public static int quotedIndexOf(String text, int start, int limit,
+                                    String setOfChars) {
+        for (int i=start; i<limit; ++i) {
+            char c = text.charAt(i);
+            if (c == BACKSLASH) {
+                ++i;
+            } else if (c == APOSTROPHE) {
+                while (++i < limit
+                       && text.charAt(i) != APOSTROPHE) {}
+            } else if (setOfChars.indexOf(c) >= 0) {
+                return i;
+            }
+        }
+        return -1;
+    }
+
+    /**
+    * Similar to StringBuffer.getChars, version 1.3.
+    * Since JDK 1.2 implements StringBuffer.getChars differently, this method
+    * is here to provide consistent results.
+    * To be removed after JDK 1.2 ceased to be the reference platform.
+    * @param src source string buffer
+    * @param srcBegin offset to the start of the src to retrieve from
+    * @param srcEnd offset to the end of the src to retrieve from
+    * @param dst char array to store the retrieved chars
+    * @param dstBegin offset to the start of the destination char array to
+    *                 store the retrieved chars
+    * @draft since ICU4J 2.0
+    */
+    public static void getChars(StringBuffer src, int srcBegin, int srcEnd,
+                                char dst[], int dstBegin)
+    {
+        if (srcBegin == srcEnd) {
+            return;
+        }
+        src.getChars(srcBegin, srcEnd, dst, dstBegin);
+    }
+
+    /**
+     * Append a character to a rule that is being built up.  To flush
+     * the quoteBuf to rule, make one final call with isLiteral == true.
+     * If there is no final character, pass in (int)-1 as c.
+     * @param rule the string to append the character to
+     * @param c the character to append, or (int)-1 if none.
+     * @param isLiteral if true, then the given character should not be
+     * quoted or escaped.  Usually this means it is a syntactic element
+     * such as > or $
+     * @param escapeUnprintable if true, then unprintable characters
+     * should be escaped using escapeUnprintable().  These escapes will
+     * appear outside of quotes.
+     * @param quoteBuf a buffer which is used to build up quoted
+     * substrings.  The caller should initially supply an empty buffer,
+     * and thereafter should not modify the buffer.  The buffer should be
+     * cleared out by, at the end, calling this method with a literal
+     * character (which may be -1).
+     */
+    public static void appendToRule(StringBuffer rule,
+                                    int c,
+                                    boolean isLiteral,
+                                    boolean escapeUnprintable,
+                                    StringBuffer quoteBuf) {
+        // If we are escaping unprintables, then escape them outside
+        // quotes.  \\u and \\U are not recognized within quotes.  The same
+        // logic applies to literals, but literals are never escaped.
+        if (isLiteral ||
+            (escapeUnprintable && Utility.isUnprintable(c))) {
+            if (quoteBuf.length() > 0) {
+                // We prefer backslash APOSTROPHE to double APOSTROPHE
+                // (more readable, less similar to ") so if there are
+                // double APOSTROPHEs at the ends, we pull them outside
+                // of the quote.
+
+                // If the first thing in the quoteBuf is APOSTROPHE
+                // (doubled) then pull it out.
+                while (quoteBuf.length() >= 2 &&
+                       quoteBuf.charAt(0) == APOSTROPHE &&
+                       quoteBuf.charAt(1) == APOSTROPHE) {
+                    rule.append(BACKSLASH).append(APOSTROPHE);
+                    quoteBuf.delete(0, 2);
+                }
+                // If the last thing in the quoteBuf is APOSTROPHE
+                // (doubled) then remove and count it and add it after.
+                int trailingCount = 0;
+                while (quoteBuf.length() >= 2 &&
+                       quoteBuf.charAt(quoteBuf.length()-2) == APOSTROPHE &&
+                       quoteBuf.charAt(quoteBuf.length()-1) == APOSTROPHE) {
+                    quoteBuf.setLength(quoteBuf.length()-2);
+                    ++trailingCount;
+                }
+                if (quoteBuf.length() > 0) {
+                    rule.append(APOSTROPHE);
+                    // jdk 1.3.1 does not have append(StringBuffer) yet
+                    if(ICUDebug.isJDK14OrHigher){
+                        rule.append(quoteBuf);
+                    }else{
+                        rule.append(quoteBuf.toString());
+                    }
+                    rule.append(APOSTROPHE);
+                    quoteBuf.setLength(0);
+                }
+                while (trailingCount-- > 0) {
+                    rule.append(BACKSLASH).append(APOSTROPHE);
+                }
+            }
+            if (c != -1) {
+                /* Since spaces are ignored during parsing, they are
+                 * emitted only for readability.  We emit one here
+                 * only if there isn't already one at the end of the
+                 * rule.
+                 */
+                if (c == ' ') {
+                    int len = rule.length();
+                    if (len > 0 && rule.charAt(len-1) != ' ') {
+                        rule.append(' ');
+                    }
+                } else if (!escapeUnprintable || !Utility.escapeUnprintable(rule, c)) {
+                    UTF16.append(rule, c);
+                }
+            }
+        }
+
+        // Escape ' and '\' and don't begin a quote just for them
+        else if (quoteBuf.length() == 0 &&
+                 (c == APOSTROPHE || c == BACKSLASH)) {
+            rule.append(BACKSLASH).append((char)c);
+        }
+
+        // Specials (printable ascii that isn't [0-9a-zA-Z]) and
+        // whitespace need quoting.  Also append stuff to quotes if we are
+        // building up a quoted substring already.
+        else if (quoteBuf.length() > 0 ||
+                 (c >= 0x0021 && c <= 0x007E &&
+                  !((c >= 0x0030/*'0'*/ && c <= 0x0039/*'9'*/) ||
+                    (c >= 0x0041/*'A'*/ && c <= 0x005A/*'Z'*/) ||
+                    (c >= 0x0061/*'a'*/ && c <= 0x007A/*'z'*/))) ||
+                 UCharacterProperty.isRuleWhiteSpace(c)) {
+            UTF16.append(quoteBuf, c);
+            // Double ' within a quote
+            if (c == APOSTROPHE) {
+                quoteBuf.append((char)c);
+            }
+        }
+
+        // Otherwise just append
+        else {
+            UTF16.append(rule, c);
+        }
+    }
+
+    /**
+     * Append the given string to the rule.  Calls the single-character
+     * version of appendToRule for each character.
+     */
+    public static void appendToRule(StringBuffer rule,
+                                    String text,
+                                    boolean isLiteral,
+                                    boolean escapeUnprintable,
+                                    StringBuffer quoteBuf) {
+        for (int i=0; i<text.length(); ++i) {
+            // Okay to process in 16-bit code units here
+            appendToRule(rule, text.charAt(i), isLiteral, escapeUnprintable, quoteBuf);
+        }
+    }
+
+    /**
+     * Given a matcher reference, which may be null, append its
+     * pattern as a literal to the given rule.
+     */
+    public static void appendToRule(StringBuffer rule,
+                                    UnicodeMatcher matcher,
+                                    boolean escapeUnprintable,
+                                    StringBuffer quoteBuf) {
+        if (matcher != null) {
+            appendToRule(rule, matcher.toPattern(escapeUnprintable),
+                         true, escapeUnprintable, quoteBuf);
+        }
+    }
+
+    /**
+     * Compares 2 unsigned integers
+     * @param source 32 bit unsigned integer
+     * @param target 32 bit unsigned integer
+     * @return 0 if equals, 1 if source is greater than target and -1
+     *         otherwise
+     */
+    public static final int compareUnsigned(int source, int target)
+    {
+        source += MAGIC_UNSIGNED;
+        target += MAGIC_UNSIGNED;
+        if (source < target) {
+            return -1;
+        } 
+        else if (source > target) {
+            return 1;
+        }
+        return 0;
+    }
+
+    /**
+     * Find the highest bit in a positive integer. This is done
+     * by doing a binary search through the bits.
+     *
+     * @param n is the integer
+     *
+     * @return the bit number of the highest bit, with 0 being
+     * the low order bit, or -1 if <code>n</code> is not positive
+     */
+    public static final byte highBit(int n)
+    {
+        if (n <= 0) {
+            return -1;
+        }
+
+        byte bit = 0;
+
+        if (n >= 1 << 16) {
+            n >>= 16;
+            bit += 16;
+        }
+
+        if (n >= 1 << 8) {
+            n >>= 8;
+            bit += 8;
+        }
+
+        if (n >= 1 << 4) {
+            n >>= 4;
+            bit += 4;
+        }
+
+        if (n >= 1 << 2) {
+            n >>= 2;
+            bit += 2;
+        }
+
+        if (n >= 1 << 1) {
+            n >>= 1;
+            bit += 1;
+        }
+
+        return bit;
+    }
+    /**
+     * Utility method to take a int[] containing codepoints and return
+     * a string representation with code units. 
+     */
+    public static String valueOf(int[]source){
+    // TODO: Investigate why this method is not on UTF16 class
+        StringBuffer result = new StringBuffer(source.length);
+        for(int i=0; i<source.length; i++){
+            UTF16.append(result,source[i]);
+        }
+        return result.toString();
+    }
+}
+///CLOVER:ON
diff --git a/src/com/ibm/icu/impl/UtilityExtensions.java b/src/com/ibm/icu/impl/UtilityExtensions.java
new file mode 100644
index 0000000..40080d7
--- /dev/null
+++ b/src/com/ibm/icu/impl/UtilityExtensions.java
@@ -0,0 +1,113 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2002-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.impl;
+
+import com.ibm.icu.text.Replaceable;
+import com.ibm.icu.text.ReplaceableString;
+import com.ibm.icu.text.UnicodeMatcher;
+import com.ibm.icu.text.Transliterator;
+/**
+ * @author Ram
+ */
+//This class contains utility functions so testing not needed
+///CLOVER:OFF
+public class UtilityExtensions {
+    /**
+     * Append the given string to the rule.  Calls the single-character
+     * version of appendToRule for each character.
+     */
+    public static void appendToRule(StringBuffer rule,
+                                    String text,
+                                    boolean isLiteral,
+                                    boolean escapeUnprintable,
+                                    StringBuffer quoteBuf) {
+        for (int i=0; i<text.length(); ++i) {
+            // Okay to process in 16-bit code units here
+            Utility.appendToRule(rule, text.charAt(i), isLiteral, escapeUnprintable, quoteBuf);
+        }
+    }
+
+
+    /**
+     * Given a matcher reference, which may be null, append its
+     * pattern as a literal to the given rule.
+     */
+    public static void appendToRule(StringBuffer rule,
+                                    UnicodeMatcher matcher,
+                                    boolean escapeUnprintable,
+                                    StringBuffer quoteBuf) {
+        if (matcher != null) {
+            appendToRule(rule, matcher.toPattern(escapeUnprintable),
+                         true, escapeUnprintable, quoteBuf);
+        }
+    }
+    /**
+     * For debugging purposes; format the given text in the form
+     * aaa{bbb|ccc|ddd}eee, where the {} indicate the context start
+     * and limit, and the || indicate the start and limit.
+     */
+    public static String formatInput(ReplaceableString input,
+                                     Transliterator.Position pos) {
+        StringBuffer appendTo = new StringBuffer();
+        formatInput(appendTo, input, pos);
+        return com.ibm.icu.impl.Utility.escape(appendTo.toString());
+    }
+
+    /**
+     * For debugging purposes; format the given text in the form
+     * aaa{bbb|ccc|ddd}eee, where the {} indicate the context start
+     * and limit, and the || indicate the start and limit.
+     */
+    public static StringBuffer formatInput(StringBuffer appendTo,
+                                           ReplaceableString input,
+                                           Transliterator.Position pos) {
+        if (0 <= pos.contextStart &&
+            pos.contextStart <= pos.start &&
+            pos.start <= pos.limit &&
+            pos.limit <= pos.contextLimit &&
+            pos.contextLimit <= input.length()) {
+
+            String  b, c, d;
+            //a = input.substring(0, pos.contextStart);
+            b = input.substring(pos.contextStart, pos.start);
+            c = input.substring(pos.start, pos.limit);
+            d = input.substring(pos.limit, pos.contextLimit);
+            //e = input.substring(pos.contextLimit, input.length());
+            appendTo.//append(a).
+                append('{').append(b).
+                append('|').append(c).append('|').append(d).
+                append('}')
+                //.append(e)
+                ;
+        } else {
+            appendTo.append("INVALID Position {cs=" +
+                            pos.contextStart + ", s=" + pos.start + ", l=" +
+                            pos.limit + ", cl=" + pos.contextLimit + "} on " +
+                            input);
+        }
+        return appendTo;
+    }
+
+    /**
+     * Convenience method.
+     */
+    public static String formatInput(Replaceable input,
+                                     Transliterator.Position pos) {
+        return formatInput((ReplaceableString) input, pos);
+    }
+
+    /**
+     * Convenience method.
+     */
+    public static StringBuffer formatInput(StringBuffer appendTo,
+                                           Replaceable input,
+                                           Transliterator.Position pos) {
+        return formatInput(appendTo, (ReplaceableString) input, pos);
+    }
+
+}
+//CLOVER:ON
\ No newline at end of file
diff --git a/src/com/ibm/icu/impl/ZoneInfoExt.java b/src/com/ibm/icu/impl/ZoneInfoExt.java
new file mode 100644
index 0000000..f475625
--- /dev/null
+++ b/src/com/ibm/icu/impl/ZoneInfoExt.java
@@ -0,0 +1,438 @@
+//---------------------------------------------------------
+// Copyright (C) 2005, International Business Machines
+// Corporation and others.  All Rights Reserved.
+//---------------------------------------------------------
+
+// >>> This data was generated by ZoneMetaCLDR
+// >>> as a temporary measure for the 3.4 release.
+
+package com.ibm.icu.impl;
+
+public final class ZoneInfoExt {
+
+    // table is sorted by canonical time zone id
+    // aliases are not sorted
+
+    // [0] canonical time zone id
+    // [1] country code, or null if no country
+    // [2] "T" if isSingle, null if not
+    // [n...] aliases for canonical time zone id
+
+    static final String[][] CLDR_INFO = {
+        { "Africa/Abidjan", "CI", "T" },
+        { "Africa/Accra", "GH", "T" },
+        { "Africa/Addis_Ababa", "ET", "T", "EAT" },
+        { "Africa/Algiers", "DZ", "T" },
+        { "Africa/Asmera", "ER", "T" },
+        { "Africa/Bamako", "ML", "T" },
+        { "Africa/Bangui", "CF", "T" },
+        { "Africa/Banjul", "GM", "T" },
+        { "Africa/Bissau", "GW", "T" },
+        { "Africa/Blantyre", "MW", "T" },
+        { "Africa/Brazzaville", "CG", "T" },
+        { "Africa/Bujumbura", "BI", "T" },
+        { "Africa/Cairo", "EG", "T", "Egypt", "ART" },
+        { "Africa/Casablanca", "MA", "T" },
+        { "Africa/Ceuta", "ES", null },
+        { "Africa/Conakry", "GN", "T" },
+        { "Africa/Dakar", "SN", "T" },
+        { "Africa/Dar_es_Salaam", "TZ", "T" },
+        { "Africa/Djibouti", "DJ", "T" },
+        { "Africa/Douala", "CM", "T" },
+        { "Africa/El_Aaiun", "EH", "T" },
+        { "Africa/Freetown", "SL", "T" },
+        { "Africa/Gaborone", "BW", "T" },
+        { "Africa/Harare", "ZW", "T", "CAT" },
+        { "Africa/Johannesburg", "ZA", "T" },
+        { "Africa/Kampala", "UG", "T" },
+        { "Africa/Khartoum", "SD", "T" },
+        { "Africa/Kigali", "RW", "T" },
+        { "Africa/Kinshasa", "CD", null },
+        { "Africa/Lagos", "NG", "T" },
+        { "Africa/Libreville", "GA", "T" },
+        { "Africa/Lome", "TG", "T" },
+        { "Africa/Luanda", "AO", "T" },
+        { "Africa/Lubumbashi", "CD", null },
+        { "Africa/Lusaka", "ZM", "T" },
+        { "Africa/Malabo", "GQ", "T" },
+        { "Africa/Maputo", "MZ", "T" },
+        { "Africa/Maseru", "LS", "T" },
+        { "Africa/Mbabane", "SZ", "T" },
+        { "Africa/Mogadishu", "SO", "T" },
+        { "Africa/Monrovia", "LR", "T" },
+        { "Africa/Nairobi", "KE", "T" },
+        { "Africa/Ndjamena", "TD", "T" },
+        { "Africa/Niamey", "NE", "T" },
+        { "Africa/Nouakchott", "MR", "T" },
+        { "Africa/Ouagadougou", "BF", "T" },
+        { "Africa/Porto-Novo", "BJ", "T" },
+        { "Africa/Sao_Tome", "ST", "T" },
+        { "Africa/Timbuktu", "ML", null },
+        { "Africa/Tripoli", "LY", "T", "Libya" },
+        { "Africa/Tunis", "TN", "T" },
+        { "Africa/Windhoek", "NA", "T" },
+        { "America/Adak", "US", null, "America/Atka", "US/Aleutian" },
+        { "America/Anchorage", "US", null, "SystemV/YST9YDT", "US/Alaska", "AST" },
+        { "America/Anguilla", "AI", "T" },
+        { "America/Antigua", "AG", "T" },
+        { "America/Araguaina", "BR", null },
+        { "America/Argentina/ComodRivadavia", "AR", null },
+        { "America/Argentina/La_Rioja", "AR", null },
+        { "America/Argentina/Rio_Gallegos", "AR", null },
+        { "America/Argentina/San_Juan", "AR", null },
+        { "America/Argentina/Tucuman", "AR", null },
+        { "America/Argentina/Ushuaia", "AR", null },
+        { "America/Aruba", "AW", "T" },
+        { "America/Asuncion", "PY", "T" },
+        { "America/Bahia", "BR", null },
+        { "America/Barbados", "BB", "T" },
+        { "America/Belem", "BR", null },
+        { "America/Belize", "BZ", "T" },
+        { "America/Boa_Vista", "BR", null },
+        { "America/Bogota", "CO", "T" },
+        { "America/Boise", "US", null },
+        { "America/Buenos_Aires", "AR", null, "America/Argentina/Buenos_Aires", "AGT" },
+        { "America/Cambridge_Bay", "CA", null },
+        { "America/Campo_Grande", "BR", null },
+        { "America/Cancun", "MX", null },
+        { "America/Caracas", "VE", "T" },
+        { "America/Catamarca", "AR", null, "America/Argentina/Catamarca" },
+        { "America/Cayenne", "GF", "T" },
+        { "America/Cayman", "KY", "T" },
+        { "America/Chicago", "US", null, "CST6CDT", "SystemV/CST6CDT", "US/Central", "CST" },
+        { "America/Chihuahua", "MX", null },
+        { "America/Cordoba", "AR", null, "America/Argentina/Cordoba", "America/Rosario" },
+        { "America/Costa_Rica", "CR", "T" },
+        { "America/Cuiaba", "BR", null },
+        { "America/Curacao", "AN", "T" },
+        { "America/Danmarkshavn", "GL", null },
+        { "America/Dawson", "CA", null },
+        { "America/Dawson_Creek", "CA", null },
+        { "America/Denver", "US", null, "MST7MDT", "SystemV/MST7MDT", "US/Mountain" },
+        { "America/Detroit", "US", null, "US/Michigan" },
+        { "America/Dominica", "DM", "T" },
+        { "America/Edmonton", "CA", null, "Canada/Mountain" },
+        { "America/Eirunepe", "BR", null },
+        { "America/El_Salvador", "SV", "T" },
+        { "America/Fortaleza", "BR", null },
+        { "America/Glace_Bay", "CA", null },
+        { "America/Godthab", "GL", "T" },
+        { "America/Goose_Bay", "CA", null },
+        { "America/Grand_Turk", "TC", "T" },
+        { "America/Grenada", "GD", "T" },
+        { "America/Guadeloupe", "GP", "T" },
+        { "America/Guatemala", "GT", "T" },
+        { "America/Guayaquil", "EC", "T" },
+        { "America/Guyana", "GY", "T" },
+        { "America/Halifax", "CA", null, "Canada/Atlantic", "SystemV/AST4ADT" },
+        { "America/Havana", "CU", "T", "Cuba" },
+        { "America/Hermosillo", "MX", null },
+        { "America/Indiana/Knox", "US", null, "America/Knox_IN", "US/Indiana-Starke" },
+        { "America/Indiana/Marengo", "US", null },
+        { "America/Indiana/Vevay", "US", null },
+        { "America/Indianapolis", "US", null, "America/Fort_Wayne", "America/Indiana/Indianapolis", "EST", "SystemV/EST5", "US/East-Indiana", "IET" },
+        { "America/Inuvik", "CA", null },
+        { "America/Iqaluit", "CA", null },
+        { "America/Jamaica", "JM", "T", "Jamaica" },
+        { "America/Jujuy", "AR", null, "America/Argentina/Jujuy" },
+        { "America/Juneau", "US", null },
+        { "America/Kentucky/Monticello", "US", null },
+        { "America/La_Paz", "BO", "T" },
+        { "America/Lima", "PE", "T" },
+        { "America/Los_Angeles", "US", null, "PST8PDT", "SystemV/PST8PDT", "US/Pacific", "US/Pacific-New", "PST" },
+        { "America/Louisville", "US", null, "America/Kentucky/Louisville" },
+        { "America/Maceio", "BR", null },
+        { "America/Managua", "NI", "T" },
+        { "America/Manaus", "BR", null, "Brazil/West" },
+        { "America/Martinique", "MQ", "T" },
+        { "America/Mazatlan", "MX", null, "Mexico/BajaSur" },
+        { "America/Mendoza", "AR", null, "America/Argentina/Mendoza" },
+        { "America/Menominee", "US", null },
+        { "America/Merida", "MX", null },
+        { "America/Mexico_City", "MX", null, "Mexico/General" },
+        { "America/Miquelon", "PM", "T" },
+        { "America/Monterrey", "MX", null },
+        { "America/Montevideo", "UY", "T" },
+        { "America/Montreal", "CA", null },
+        { "America/Montserrat", "MS", "T" },
+        { "America/Nassau", "BS", "T" },
+        { "America/New_York", "US", null, "EST5EDT", "SystemV/EST5EDT", "US/Eastern" },
+        { "America/Nipigon", "CA", null },
+        { "America/Nome", "US", null },
+        { "America/Noronha", "BR", null, "Brazil/DeNoronha" },
+        { "America/North_Dakota/Center", "US", null },
+        { "America/Panama", "PA", "T" },
+        { "America/Pangnirtung", "CA", null },
+        { "America/Paramaribo", "SR", "T" },
+        { "America/Phoenix", "US", null, "MST", "SystemV/MST7", "US/Arizona", "PNT" },
+        { "America/Port-au-Prince", "HT", "T" },
+        { "America/Port_of_Spain", "TT", "T" },
+        { "America/Porto_Velho", "BR", null },
+        { "America/Puerto_Rico", "PR", "T", "SystemV/AST4", "PRT" },
+        { "America/Rainy_River", "CA", null },
+        { "America/Rankin_Inlet", "CA", null },
+        { "America/Recife", "BR", null },
+        { "America/Regina", "CA", null, "Canada/East-Saskatchewan", "Canada/Saskatchewan", "SystemV/CST6" },
+        { "America/Rio_Branco", "BR", null, "America/Porto_Acre", "Brazil/Acre" },
+        { "America/Santiago", "CL", "T", "Chile/Continental" },
+        { "America/Santo_Domingo", "DO", "T" },
+        { "America/Sao_Paulo", "BR", null, "Brazil/East", "BET" },
+        { "America/Scoresbysund", "GL", null },
+        { "America/Shiprock", "US", null, "Navajo" },
+        { "America/St_Johns", "CA", null, "Canada/Newfoundland", "CNT" },
+        { "America/St_Kitts", "KN", "T" },
+        { "America/St_Lucia", "LC", "T" },
+        { "America/St_Thomas", "VI", "T", "America/Virgin" },
+        { "America/St_Vincent", "VC", "T" },
+        { "America/Swift_Current", "CA", null },
+        { "America/Tegucigalpa", "HN", "T" },
+        { "America/Thule", "GL", null },
+        { "America/Thunder_Bay", "CA", null },
+        { "America/Tijuana", "MX", null, "America/Ensenada", "Mexico/BajaNorte" },
+        { "America/Toronto", "CA", null, "Canada/Eastern" },
+        { "America/Tortola", "VG", "T" },
+        { "America/Vancouver", "CA", null, "Canada/Pacific" },
+        { "America/Whitehorse", "CA", null, "Canada/Yukon" },
+        { "America/Winnipeg", "CA", null, "Canada/Central" },
+        { "America/Yakutat", "US", null },
+        { "America/Yellowknife", "CA", null },
+        { "Antarctica/Casey", "AQ", null },
+        { "Antarctica/Davis", "AQ", null },
+        { "Antarctica/DumontDUrville", "AQ", null },
+        { "Antarctica/Mawson", "AQ", null },
+        { "Antarctica/McMurdo", "AQ", null },
+        { "Antarctica/Palmer", "AQ", null },
+        { "Antarctica/Rothera", "AQ", null },
+        { "Antarctica/South_Pole", "AQ", null },
+        { "Antarctica/Syowa", "AQ", null },
+        { "Antarctica/Vostok", "AQ", null },
+        { "Arctic/Longyearbyen", "SJ", null },
+        { "Asia/Aden", "YE", "T" },
+        { "Asia/Almaty", "KZ", null },
+        { "Asia/Amman", "JO", "T" },
+        { "Asia/Anadyr", "RU", null },
+        { "Asia/Aqtau", "KZ", null },
+        { "Asia/Aqtobe", "KZ", null },
+        { "Asia/Ashgabat", "TM", "T", "Asia/Ashkhabad" },
+        { "Asia/Baghdad", "IQ", "T" },
+        { "Asia/Bahrain", "BH", "T" },
+        { "Asia/Baku", "AZ", "T" },
+        { "Asia/Bangkok", "TH", "T" },
+        { "Asia/Beirut", "LB", "T" },
+        { "Asia/Bishkek", "KG", "T" },
+        { "Asia/Brunei", "BN", "T" },
+        { "Asia/Calcutta", "IN", "T", "IST" },
+        { "Asia/Choibalsan", "MN", null },
+        { "Asia/Chongqing", "CN", null, "Asia/Chungking" },
+        { "Asia/Colombo", "LK", "T" },
+        { "Asia/Damascus", "SY", "T" },
+        { "Asia/Dhaka", "BD", "T", "Asia/Dacca", "BST" },
+        { "Asia/Dili", "TL", "T" },
+        { "Asia/Dubai", "AE", "T" },
+        { "Asia/Dushanbe", "TJ", "T" },
+        { "Asia/Gaza", "PS", "T" },
+        { "Asia/Harbin", "CN", null },
+        { "Asia/Hong_Kong", "HK", "T", "Hongkong" },
+        { "Asia/Hovd", "MN", null },
+        { "Asia/Irkutsk", "RU", null },
+        { "Asia/Jakarta", "ID", null },
+        { "Asia/Jayapura", "ID", null },
+        { "Asia/Jerusalem", "IL", "T", "Asia/Tel_Aviv", "Israel" },
+        { "Asia/Kabul", "AF", "T" },
+        { "Asia/Kamchatka", "RU", null },
+        { "Asia/Karachi", "PK", "T", "PLT" },
+        { "Asia/Kashgar", "CN", null },
+        { "Asia/Katmandu", "NP", "T" },
+        { "Asia/Krasnoyarsk", "RU", null },
+        { "Asia/Kuala_Lumpur", "MY", "T" },
+        { "Asia/Kuching", "MY", null },
+        { "Asia/Kuwait", "KW", "T" },
+        { "Asia/Macau", "MO", "T", "Asia/Macao" },
+        { "Asia/Magadan", "RU", null },
+        { "Asia/Makassar", "ID", null, "Asia/Ujung_Pandang" },
+        { "Asia/Manila", "PH", "T" },
+        { "Asia/Muscat", "OM", "T" },
+        { "Asia/Nicosia", "CY", "T", "Europe/Nicosia" },
+        { "Asia/Novosibirsk", "RU", null },
+        { "Asia/Omsk", "RU", null },
+        { "Asia/Oral", "KZ", null },
+        { "Asia/Phnom_Penh", "KH", "T" },
+        { "Asia/Pontianak", "ID", null },
+        { "Asia/Pyongyang", "KP", "T" },
+        { "Asia/Qatar", "QA", "T" },
+        { "Asia/Qyzylorda", "KZ", null },
+        { "Asia/Rangoon", "MM", "T" },
+        { "Asia/Riyadh", "SA", "T" },
+        { "Asia/Riyadh87", "SA", "T", "Mideast/Riyadh87" },
+        { "Asia/Riyadh88", "SA", "T", "Mideast/Riyadh88" },
+        { "Asia/Riyadh89", "SA", "T", "Mideast/Riyadh89" },
+        { "Asia/Saigon", "VN", "T", "VST" },
+        { "Asia/Sakhalin", "RU", null },
+        { "Asia/Samarkand", "UZ", null },
+        { "Asia/Seoul", "KR", "T", "ROK" },
+        { "Asia/Shanghai", "CN", "T", "PRC", "CTT" },
+        { "Asia/Singapore", "SG", "T", "Singapore" },
+        { "Asia/Taipei", "TW", "T", "ROC" },
+        { "Asia/Tashkent", "UZ", "T" },
+        { "Asia/Tbilisi", "GE", "T" },
+        { "Asia/Tehran", "IR", "T", "Iran" },
+        { "Asia/Thimphu", "BT", "T", "Asia/Thimbu" },
+        { "Asia/Tokyo", "JP", "T", "Japan", "JST" },
+        { "Asia/Ulaanbaatar", "MN", null, "Asia/Ulan_Bator" },
+        { "Asia/Urumqi", "CN", null },
+        { "Asia/Vientiane", "LA", "T" },
+        { "Asia/Vladivostok", "RU", null },
+        { "Asia/Yakutsk", "RU", null },
+        { "Asia/Yekaterinburg", "RU", null },
+        { "Asia/Yerevan", "AM", "T", "NET" },
+        { "Atlantic/Azores", "PT", null },
+        { "Atlantic/Bermuda", "BM", "T" },
+        { "Atlantic/Canary", "ES", null },
+        { "Atlantic/Cape_Verde", "CV", "T" },
+        { "Atlantic/Faeroe", "FO", "T" },
+        { "Atlantic/Jan_Mayen", "SJ", null },
+        { "Atlantic/Madeira", "PT", null },
+        { "Atlantic/Reykjavik", "IS", "T", "Iceland" },
+        { "Atlantic/South_Georgia", "GS", "T" },
+        { "Atlantic/St_Helena", "SH", "T" },
+        { "Atlantic/Stanley", "FK", "T" },
+        { "Australia/Adelaide", "AU", null, "Australia/South" },
+        { "Australia/Brisbane", "AU", null, "Australia/Queensland" },
+        { "Australia/Broken_Hill", "AU", null, "Australia/Yancowinna" },
+        { "Australia/Darwin", "AU", null, "Australia/North", "ACT" },
+        { "Australia/Hobart", "AU", null, "Australia/Tasmania" },
+        { "Australia/Lindeman", "AU", null },
+        { "Australia/Lord_Howe", "AU", null, "Australia/LHI" },
+        { "Australia/Melbourne", "AU", null, "Australia/Victoria" },
+        { "Australia/Perth", "AU", null, "Australia/West" },
+        { "Australia/Sydney", "AU", null, "Australia/ACT", "Australia/Canberra", "Australia/NSW", "AET" },
+        { "Etc/GMT", null, null, "Etc/GMT+0", "Etc/GMT-0", "Etc/GMT0", "Etc/Greenwich", "Etc/UCT", "Etc/UTC", "Etc/Universal", "Etc/Zulu", "GMT", "GMT+0", "GMT-0", "GMT0", "Greenwich", "UCT", "UTC", "Universal", "Zulu" },
+        { "Etc/GMT+1", null, null },
+        { "Etc/GMT+10", null, null },
+        { "Etc/GMT+11", null, null },
+        { "Etc/GMT+12", null, null },
+        { "Etc/GMT+2", null, null },
+        { "Etc/GMT+3", null, null },
+        { "Etc/GMT+4", null, null },
+        { "Etc/GMT+5", null, null },
+        { "Etc/GMT+6", null, null },
+        { "Etc/GMT+7", null, null },
+        { "Etc/GMT+8", null, null },
+        { "Etc/GMT+9", null, null },
+        { "Etc/GMT-1", null, null },
+        { "Etc/GMT-10", null, null },
+        { "Etc/GMT-11", null, null },
+        { "Etc/GMT-12", null, null },
+        { "Etc/GMT-13", null, null },
+        { "Etc/GMT-14", null, null },
+        { "Etc/GMT-2", null, null },
+        { "Etc/GMT-3", null, null },
+        { "Etc/GMT-4", null, null },
+        { "Etc/GMT-5", null, null },
+        { "Etc/GMT-6", null, null },
+        { "Etc/GMT-7", null, null },
+        { "Etc/GMT-8", null, null },
+        { "Etc/GMT-9", null, null },
+        { "Europe/Amsterdam", "NL", "T" },
+        { "Europe/Andorra", "AD", "T" },
+        { "Europe/Athens", "GR", "T" },
+        { "Europe/Belfast", "GB", null },
+        { "Europe/Belgrade", "CS", "T" },
+        { "Europe/Berlin", "DE", "T" },
+        { "Europe/Bratislava", "SK", "T" },
+        { "Europe/Brussels", "BE", "T" },
+        { "Europe/Bucharest", "RO", "T" },
+        { "Europe/Budapest", "HU", "T" },
+        { "Europe/Chisinau", "MD", "T", "Europe/Tiraspol" },
+        { "Europe/Copenhagen", "DK", "T" },
+        { "Europe/Dublin", "IE", "T", "Eire" },
+        { "Europe/Gibraltar", "GI", "T" },
+        { "Europe/Helsinki", "FI", "T" },
+        { "Europe/Istanbul", "TR", "T", "Asia/Istanbul", "Turkey" },
+        { "Europe/Kaliningrad", "RU", null },
+        { "Europe/Kiev", "UA", null },
+        { "Europe/Lisbon", "PT", "T", "Portugal" },
+        { "Europe/Ljubljana", "SI", "T" },
+        { "Europe/London", "GB", "T", "GB", "GB-Eire" },
+        { "Europe/Luxembourg", "LU", "T" },
+        { "Europe/Madrid", "ES", "T" },
+        { "Europe/Malta", "MT", "T" },
+        { "Europe/Mariehamn", "AX", "T" },
+        { "Europe/Minsk", "BY", "T" },
+        { "Europe/Monaco", "MC", "T" },
+        { "Europe/Moscow", "RU", null, "W-SU" },
+        { "Europe/Oslo", "NO", "T" },
+        { "Europe/Paris", "FR", "T", "ECT" },
+        { "Europe/Prague", "CZ", "T" },
+        { "Europe/Riga", "LV", "T" },
+        { "Europe/Rome", "IT", "T" },
+        { "Europe/Samara", "RU", null },
+        { "Europe/San_Marino", "SM", "T" },
+        { "Europe/Sarajevo", "BA", "T" },
+        { "Europe/Simferopol", "UA", null },
+        { "Europe/Skopje", "MK", "T" },
+        { "Europe/Sofia", "BG", "T" },
+        { "Europe/Stockholm", "SE", "T" },
+        { "Europe/Tallinn", "EE", "T" },
+        { "Europe/Tirane", "AL", "T" },
+        { "Europe/Uzhgorod", "UA", null },
+        { "Europe/Vaduz", "LI", "T" },
+        { "Europe/Vatican", "VA", "T" },
+        { "Europe/Vienna", "AT", "T" },
+        { "Europe/Vilnius", "LT", "T" },
+        { "Europe/Warsaw", "PL", "T", "Poland" },
+        { "Europe/Zagreb", "HR", "T" },
+        { "Europe/Zaporozhye", "UA", null },
+        { "Europe/Zurich", "CH", "T" },
+        { "Indian/Antananarivo", "MG", "T" },
+        { "Indian/Chagos", "IO", "T" },
+        { "Indian/Christmas", "CX", "T" },
+        { "Indian/Cocos", "CC", "T" },
+        { "Indian/Comoro", "KM", "T" },
+        { "Indian/Kerguelen", "TF", "T" },
+        { "Indian/Mahe", "SC", "T" },
+        { "Indian/Maldives", "MV", "T" },
+        { "Indian/Mauritius", "MU", "T" },
+        { "Indian/Mayotte", "YT", "T" },
+        { "Indian/Reunion", "RE", "T" },
+        { "Pacific/Apia", "WS", "T", "MIT" },
+        { "Pacific/Auckland", "NZ", "T", "NZ", "NST" },
+        { "Pacific/Chatham", "NZ", null, "NZ-CHAT" },
+        { "Pacific/Easter", "CL", null, "Chile/EasterIsland" },
+        { "Pacific/Efate", "VU", "T" },
+        { "Pacific/Enderbury", "KI", null },
+        { "Pacific/Fakaofo", "TK", "T" },
+        { "Pacific/Fiji", "FJ", "T" },
+        { "Pacific/Funafuti", "TV", "T" },
+        { "Pacific/Galapagos", "EC", null },
+        { "Pacific/Gambier", "PF", null, "SystemV/YST9" },
+        { "Pacific/Guadalcanal", "SB", "T", "SST" },
+        { "Pacific/Guam", "GU", "T" },
+        { "Pacific/Honolulu", "US", null, "HST", "SystemV/HST10", "US/Hawaii" },
+        { "Pacific/Johnston", "UM", null },
+        { "Pacific/Kiritimati", "KI", null },
+        { "Pacific/Kosrae", "FM", null },
+        { "Pacific/Kwajalein", "MH", null, "Kwajalein" },
+        { "Pacific/Majuro", "MH", null },
+        { "Pacific/Marquesas", "PF", null },
+        { "Pacific/Midway", "UM", null },
+        { "Pacific/Nauru", "NR", "T" },
+        { "Pacific/Niue", "NU", "T" },
+        { "Pacific/Norfolk", "NF", "T" },
+        { "Pacific/Noumea", "NC", "T" },
+        { "Pacific/Pago_Pago", "AS", "T", "Pacific/Samoa", "US/Samoa" },
+        { "Pacific/Palau", "PW", "T" },
+        { "Pacific/Pitcairn", "PN", "T", "SystemV/PST8" },
+        { "Pacific/Ponape", "FM", null },
+        { "Pacific/Port_Moresby", "PG", "T" },
+        { "Pacific/Rarotonga", "CK", "T" },
+        { "Pacific/Saipan", "MP", "T" },
+        { "Pacific/Tahiti", "PF", "T" },
+        { "Pacific/Tarawa", "KI", null },
+        { "Pacific/Tongatapu", "TO", "T" },
+        { "Pacific/Truk", "FM", null },
+        { "Pacific/Wake", "UM", null },
+        { "Pacific/Wallis", "WF", "T" },
+        { "Pacific/Yap", "FM", null },
+    };
+}
diff --git a/src/com/ibm/icu/impl/ZoneMeta.java b/src/com/ibm/icu/impl/ZoneMeta.java
new file mode 100644
index 0000000..ffcbc0f
--- /dev/null
+++ b/src/com/ibm/icu/impl/ZoneMeta.java
@@ -0,0 +1,377 @@
+/*
+**********************************************************************
+* Copyright (c) 2003-2005, International Business Machines
+* Corporation and others.  All Rights Reserved.
+**********************************************************************
+* Author: Alan Liu
+* Created: September 4 2003
+* Since: ICU 2.8
+**********************************************************************
+*/
+package com.ibm.icu.impl;
+
+import java.util.Arrays;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.MissingResourceException;
+import java.util.Set;
+import java.util.TreeMap;
+import java.util.TreeSet;
+
+import com.ibm.icu.text.MessageFormat;
+import com.ibm.icu.text.SimpleDateFormat;
+import com.ibm.icu.util.TimeZone;
+import com.ibm.icu.util.ULocale;
+import com.ibm.icu.util.UResourceBundle;
+
+/**
+ * This class, not to be instantiated, implements the meta-data
+ * missing from the underlying core JDK implementation of time zones.
+ * There are two missing features: Obtaining a list of available zones
+ * for a given country (as defined by the Olson database), and
+ * obtaining a list of equivalent zones for a given zone (as defined
+ * by Olson links).
+ *
+ * This class uses a data class, ZoneMetaData, which is created by the
+ * tool tz2icu.
+ *
+ * @author Alan Liu
+ * @since ICU 2.8
+ */
+public final class ZoneMeta {
+
+    /**
+     * Returns a String array containing all system TimeZone IDs
+     * associated with the given country.  These IDs may be passed to
+     * <code>TimeZone.getTimeZone()</code> to construct the
+     * corresponding TimeZone object.
+     * @param country a two-letter ISO 3166 country code, or <code>null</code>
+     * to return zones not associated with any country
+     * @return an array of IDs for system TimeZones in the given
+     * country.  If there are none, return a zero-length array.
+     */
+    public static synchronized String[] getAvailableIDs(String country) {
+        if (country == null) {
+            country = "";
+        }
+        if (COUNTRY_MAP == null) {
+            Set valid = getValidIDs();
+            Set unused = new TreeSet(valid);
+
+            ArrayList list = new ArrayList(); // reuse this below
+
+            COUNTRY_MAP = new TreeMap();
+            for (int i=0; i<ZoneMetaData.COUNTRY.length; ++i) {
+                String[] z = ZoneMetaData.COUNTRY[i];
+
+                // Add all valid IDs to list
+                list.clear();
+                for (int j=1; j<z.length; ++j) {
+                    if (valid.contains(z[j])) {
+                        list.add(z[j]);
+                        unused.remove(z[j]);
+                    }
+                }
+                
+                COUNTRY_MAP.put(z[0], list.toArray(EMPTY));
+            }
+
+            // If there are zones in the underlying JDK that are NOT
+            // in our metadata, then assign them to the non-country.
+            // (Better than nothing.)
+            if (unused.size() > 0) {
+                list.clear();
+                list.addAll(Arrays.asList((String[]) COUNTRY_MAP.get("")));
+                list.addAll(unused);
+                Collections.sort(list);                
+                COUNTRY_MAP.put("", list.toArray(EMPTY));
+            }
+        }
+        String[] result = (String[]) COUNTRY_MAP.get(country);
+        if (result == null) {
+            result = EMPTY; // per API spec
+        }
+        return result;
+    }
+
+    /**
+     * Returns the number of IDs in the equivalency group that
+     * includes the given ID.  An equivalency group contains zones
+     * that behave identically to the given zone.
+     *
+     * <p>If there are no equivalent zones, then this method returns
+     * 0.  This means either the given ID is not a valid zone, or it
+     * is and there are no other equivalent zones.
+     * @param id a system time zone ID
+     * @return the number of zones in the equivalency group containing
+     * 'id', or zero if there are no equivalent zones.
+     * @see #getEquivalentID
+     */
+    public static synchronized int countEquivalentIDs(String id) {
+        if (EQUIV_MAP == null) {
+            createEquivMap();
+        }
+        String[] result = (String[]) EQUIV_MAP.get(id);
+        return (result == null) ? 0 : result.length;
+    }
+
+    /**
+     * Returns an ID in the equivalency group that includes the given
+     * ID.  An equivalency group contains zones that behave
+     * identically to the given zone.
+     *
+     * <p>The given index must be in the range 0..n-1, where n is the
+     * value returned by <code>countEquivalentIDs(id)</code>.  For
+     * some value of 'index', the returned value will be equal to the
+     * given id.  If the given id is not a valid system time zone, or
+     * if 'index' is out of range, then returns an empty string.
+     * @param id a system time zone ID
+     * @param index a value from 0 to n-1, where n is the value
+     * returned by <code>countEquivalentIDs(id)</code>
+     * @return the ID of the index-th zone in the equivalency group
+     * containing 'id', or an empty string if 'id' is not a valid
+     * system ID or 'index' is out of range
+     * @see #countEquivalentIDs
+     */
+    public static synchronized String getEquivalentID(String id, int index) {
+        if (EQUIV_MAP == null) {
+            createEquivMap();
+        }
+        String[] a = (String[]) EQUIV_MAP.get(id);
+        return (a != null && index >= 0 && index < a.length) ?
+            a[index] : "";
+    }
+
+    /**
+     * Create the equivalency map.
+     */
+    private static void createEquivMap() {
+        EQUIV_MAP = new TreeMap();
+
+        // try leaving all ids as valid
+//         Set valid = getValidIDs();
+
+        ArrayList list = new ArrayList(); // reuse this below
+
+        for (int i=0; i<ZoneMetaData.EQUIV.length; ++i) {
+            String[] z = ZoneMetaData.EQUIV[i];
+            list.clear();
+            for (int j=0; j<z.length; ++j) {
+//                  if (valid.contains(z[j])) {
+                    list.add(z[j]);
+//                  }
+            }
+            if (list.size() > 1) {
+                String[] a = (String[]) list.toArray(EMPTY);
+                for (int j=0; j<a.length; ++j) {
+                    EQUIV_MAP.put(a[j], a);
+                }
+            }
+        }
+    }
+
+    private static String[] getCanonicalInfo(String id) {
+        if (canonicalMap == null) {
+            Map m = new HashMap();
+            for (int i = 0; i < ZoneInfoExt.CLDR_INFO.length; ++i) {
+                String[] clist = ZoneInfoExt.CLDR_INFO[i];
+                String c = clist[0];
+                m.put(c, clist);
+                for (int j = 3; j < clist.length; ++j) {
+                    m.put(clist[j], clist);
+                }
+            }
+            synchronized (ZoneMeta.class) {
+                canonicalMap = m;
+            }
+        }
+
+        return (String[])canonicalMap.get(id);
+    }
+    private static Map canonicalMap = null;
+
+    /**
+     * Return the canonical id for this tzid, which might be the id itself.
+     * If there is no canonical id for it, return the passed-in id.
+     */
+    public static String getCanonicalID(String tzid) {
+        String[] info = getCanonicalInfo(tzid);
+        if (info != null) {
+            return info[0];
+        }
+        return tzid;
+    }
+
+    /**
+     * Return the canonical country code for this tzid.  If we have none, or if the time zone
+     * is not associated with a country, return null.
+     */
+    public static String getCanonicalCountry(String tzid) {
+        String[] info = getCanonicalInfo(tzid);
+        if (info != null) {
+            return info[1];
+        }
+        return null;
+    }
+
+    /**
+     * Return the country code if this is a 'single' time zone that can fallback to just
+     * the country, otherwise return null.  (Note, one must also check the locale data
+     * to see that there is a localization for the country in order to implement
+     * tr#35 appendix J step 5.)
+     */
+    public static String getSingleCountry(String tzid) {
+        String[] info = getCanonicalInfo(tzid);
+        if (info != null && info[2] != null) {
+            return info[1];
+        }
+        return null;
+    }
+
+    /**
+     * Handle fallbacks for generic time (rules E.. G)
+     */
+    public static String displayFallback(String tzid, String city, ULocale locale) {
+        String[] info = getCanonicalInfo(tzid);
+        if (info == null) {
+            return null; // error
+        }
+
+        String country_code = info[1];
+        if (country_code == null) {
+        	return null; // error!   
+        }
+
+        String country = null;
+        if (country_code != null) {
+            ICUResourceBundle rb = 
+                (ICUResourceBundle)UResourceBundle.getBundleInstance(ICUResourceBundle.ICU_BASE_NAME, locale);
+            String rblocname = rb.getULocale().getBaseName();
+            if (LocaleUtility.isFallbackOf(rblocname, locale.getBaseName())) {  
+                country = ULocale.getDisplayCountry("xx_" + country_code, locale);
+            }
+            if (country == null || country.length() == 0) country = country_code;
+        }
+        
+        // This is not behavior specified in tr35, but behavior added by Mark.  
+        // TR35 says to display the country _only_ if there is a localization.
+        if (info[2] != null) { // single country
+            return displayRegion(country, locale);
+        }
+
+        if (city == null) {
+            city = tzid.substring(tzid.lastIndexOf('/')+1).replace('_',' ');
+        }
+
+        String flbPat = getTZLocalizationInfo(locale, FALLBACK_FORMAT);
+        MessageFormat mf = new MessageFormat(flbPat);
+
+        return mf.format(new Object[] { city, country });
+    }
+
+    public static String displayRegion(String cityOrCountry, ULocale locale) {
+        String regPat = getTZLocalizationInfo(locale, REGION_FORMAT);
+        MessageFormat mf = new MessageFormat(regPat);
+        return mf.format(new Object[] { cityOrCountry });
+    }
+
+    public static String displayGMT(long value, ULocale locale) {
+        String msgpat = getTZLocalizationInfo(locale, GMT);
+        String dtepat = getTZLocalizationInfo(locale, HOUR);
+        
+        int n = dtepat.indexOf(';');
+        if (n != -1) {
+            if (value < 0) {
+                value = - value;
+                dtepat = dtepat.substring(n+1);
+            } else {
+                dtepat = dtepat.substring(0, n);
+            }
+        }
+
+        final long mph = 3600000;
+        final long mpm = 60000;
+
+        SimpleDateFormat sdf = new SimpleDateFormat(dtepat, locale);
+        sdf.setTimeZone(TimeZone.getTimeZone("GMT"));
+        String res = sdf.format(new Long(value));
+        MessageFormat mf = new MessageFormat(msgpat);
+        res = mf.format(new Object[] { res });
+        return res;
+    }
+
+    public static final int
+        PREFIX = 0,
+        HOUR = 1,
+        GMT = 2,
+        REGION_FORMAT = 3,
+        FALLBACK_FORMAT = 4;
+     
+    /**
+     * Get the index'd tz datum for this locale.  Index must be one of the 
+     * values PREFIX, HOUR, GMT, REGION_FORMAT, FALLBACK_FORMAT
+     */
+    public static String getTZLocalizationInfo(ULocale locale, int index) {
+        String baseName = locale.getBaseName();
+        for (int i = 0; i < TZ_LOCALIZATION_INFO.length; ++i) {
+            String[] info = TZ_LOCALIZATION_INFO[i];
+            String prefix = info[PREFIX];
+            if (prefix == null
+                || (index < info.length
+                    && info[index] != null
+                    && baseName.indexOf(prefix) == 0)) {
+
+                return info[index];
+            }
+        }
+
+        throw new InternalError(); // should never get here
+    }
+
+    // temporary for icu4j 3.4
+    // locale, hour, gmt, region, fallback
+    private static final String[][] TZ_LOCALIZATION_INFO = {
+        { "am", "+HHmm;-HHmm" },
+        { "bg", "+HHmm;-HHmm", "\u0413\u0440\u0438\u0438\u043d\u0443\u0438\u0447{0}" },
+        { "cy", "+HHmm;-HHmm" },
+        { "el", "+HHmm;-HHmm" },
+        { "hr", "+HHmm;-HHmm" },
+        { "ja", "+HHmm;-HHmm", null, "{0}\u6642\u9593", "{0} ({1})\u6642\u9593" },
+        { "nn", "+HH.mm;-HH.mm" },
+        { "sk", "+HHmm;-HHmm" },
+        { "sl", "+HHmm;-HHmm" },
+        { "sr", "+HHmm;-HHmm" },
+        { "sv", "+HH.mm;-HH.mm", "GMT" },
+        { "th", "+HHmm;-HHmm" },
+        { "uk", "+HHmm;-HHmm" },
+        { "zh_Hant", "+HH:mm;-HH:mm" },
+        { "zh", "+HHmm;-HHmm" },
+        { null, "+HH:mm;-HH:mm", "GMT{0}", "{0}", "{0} ({1})" }
+    };
+
+    private static Set getValidIDs() {
+        // Construct list of time zones that are valid, according
+        // to the current underlying core JDK.  We have to do this
+        // at runtime since we don't know what we're running on.
+        Set valid = new TreeSet();
+        valid.addAll(Arrays.asList(java.util.TimeZone.getAvailableIDs()));
+        return valid;
+    }
+
+    /**
+     * Empty string array.
+     */
+    private static final String[] EMPTY = new String[0];
+
+    /**
+     * Map of country codes to zone lists.
+     */
+    private static Map COUNTRY_MAP = null;
+
+    /**
+     * Map of zones to equivalent zone lists.
+     */
+    private static Map EQUIV_MAP = null;
+}
diff --git a/src/com/ibm/icu/impl/ZoneMetaData.java b/src/com/ibm/icu/impl/ZoneMetaData.java
new file mode 100644
index 0000000..c0fec1a
--- /dev/null
+++ b/src/com/ibm/icu/impl/ZoneMetaData.java
@@ -0,0 +1,360 @@
+//---------------------------------------------------------
+// Copyright (C) 2003-2005, International Business Machines
+// Corporation and others.  All Rights Reserved.
+//---------------------------------------------------------
+// Build tool: tz2icu
+// Build date: Thu Jun 30 16:39:36 2005
+// Olson source: ftp://elsie.nci.nih.gov/pub/
+// Olson version: 2005j
+//---------------------------------------------------------
+// >> !!! >>   THIS IS A MACHINE-GENERATED FILE   << !!! <<
+// >> !!! >>>            DO NOT EDIT             <<< !!! <<
+//---------------------------------------------------------
+
+package com.ibm.icu.impl;
+
+public final class ZoneMetaData {
+  public static final String[][] EQUIV = {
+    { "Africa/Addis_Ababa", "EAT" },
+    { "ART", "Africa/Cairo", "Egypt" },
+    { "Africa/Harare", "CAT" },
+    { "Africa/Tripoli", "Libya" },
+    { "America/Adak", "America/Atka", "US/Aleutian" },
+    { "AST", "America/Anchorage", "SystemV/YST9YDT", "US/Alaska" },
+    { "AGT", "America/Argentina/Buenos_Aires", "America/Buenos_Aires" },
+    { "America/Argentina/Catamarca", "America/Catamarca" },
+    { "America/Argentina/Cordoba", "America/Cordoba", "America/Rosario" },
+    { "America/Argentina/Jujuy", "America/Jujuy" },
+    { "America/Argentina/Mendoza", "America/Mendoza" },
+    { "America/Chicago", "CST", "CST6CDT", "SystemV/CST6CDT", "US/Central" },
+    { "America/Denver", "America/Shiprock", "MST7MDT", "Navajo", "SystemV/MST7MDT", "US/Mountain" },
+    { "America/Detroit", "US/Michigan" },
+    { "America/Edmonton", "Canada/Mountain" },
+    { "America/Halifax", "Canada/Atlantic", "SystemV/AST4ADT" },
+    { "America/Havana", "Cuba" },
+    { "America/Indiana/Knox", "America/Knox_IN", "US/Indiana-Starke" },
+    { "America/Fort_Wayne", "America/Indiana/Indianapolis", "America/Indianapolis", "EST", "IET", "SystemV/EST5", "US/East-Indiana" },
+    { "America/Jamaica", "Jamaica" },
+    { "America/Los_Angeles", "PST", "PST8PDT", "SystemV/PST8PDT", "US/Pacific", "US/Pacific-New" },
+    { "America/Kentucky/Louisville", "America/Louisville" },
+    { "America/Manaus", "Brazil/West" },
+    { "America/Mazatlan", "Mexico/BajaSur" },
+    { "America/Mexico_City", "Mexico/General" },
+    { "America/New_York", "EST5EDT", "SystemV/EST5EDT", "US/Eastern" },
+    { "America/Noronha", "Brazil/DeNoronha" },
+    { "America/Phoenix", "MST", "PNT", "SystemV/MST7", "US/Arizona" },
+    { "America/Puerto_Rico", "PRT", "SystemV/AST4" },
+    { "America/Regina", "Canada/East-Saskatchewan", "Canada/Saskatchewan", "SystemV/CST6" },
+    { "America/Porto_Acre", "America/Rio_Branco", "Brazil/Acre" },
+    { "America/Santiago", "Chile/Continental" },
+    { "America/Sao_Paulo", "BET", "Brazil/East" },
+    { "America/St_Johns", "CNT", "Canada/Newfoundland" },
+    { "America/St_Thomas", "America/Virgin" },
+    { "America/Ensenada", "America/Tijuana", "Mexico/BajaNorte" },
+    { "America/Toronto", "Canada/Eastern" },
+    { "America/Vancouver", "Canada/Pacific" },
+    { "America/Whitehorse", "Canada/Yukon" },
+    { "America/Winnipeg", "Canada/Central" },
+    { "Antarctica/McMurdo", "Antarctica/South_Pole" },
+    { "Asia/Ashgabat", "Asia/Ashkhabad" },
+    { "Asia/Calcutta", "IST" },
+    { "Asia/Chongqing", "Asia/Chungking" },
+    { "Asia/Dacca", "Asia/Dhaka", "BST" },
+    { "Asia/Hong_Kong", "Hongkong" },
+    { "Asia/Jerusalem", "Asia/Tel_Aviv", "Israel" },
+    { "Asia/Karachi", "PLT" },
+    { "Asia/Macao", "Asia/Macau" },
+    { "Asia/Makassar", "Asia/Ujung_Pandang" },
+    { "Asia/Nicosia", "Europe/Nicosia" },
+    { "Asia/Riyadh87", "Mideast/Riyadh87" },
+    { "Asia/Riyadh88", "Mideast/Riyadh88" },
+    { "Asia/Riyadh89", "Mideast/Riyadh89" },
+    { "Asia/Saigon", "VST" },
+    { "Asia/Seoul", "ROK" },
+    { "Asia/Shanghai", "CTT", "PRC" },
+    { "Asia/Singapore", "Singapore" },
+    { "Asia/Taipei", "ROC" },
+    { "Asia/Tehran", "Iran" },
+    { "Asia/Thimbu", "Asia/Thimphu" },
+    { "Asia/Tokyo", "JST", "Japan" },
+    { "Asia/Ulaanbaatar", "Asia/Ulan_Bator" },
+    { "Asia/Yerevan", "NET" },
+    { "Atlantic/Reykjavik", "Iceland" },
+    { "Australia/Adelaide", "Australia/South" },
+    { "Australia/Brisbane", "Australia/Queensland" },
+    { "Australia/Broken_Hill", "Australia/Yancowinna" },
+    { "ACT", "Australia/Darwin", "Australia/North" },
+    { "Australia/Hobart", "Australia/Tasmania" },
+    { "Australia/LHI", "Australia/Lord_Howe" },
+    { "Australia/Melbourne", "Australia/Victoria" },
+    { "Australia/Perth", "Australia/West" },
+    { "AET", "Australia/ACT", "Australia/Canberra", "Australia/NSW", "Australia/Sydney" },
+    { "Etc/GMT", "Etc/GMT+0", "Etc/GMT-0", "Etc/GMT0", "Etc/Greenwich", "GMT", "GMT+0", "GMT-0", "GMT0", "Greenwich" },
+    { "Etc/UCT", "UCT" },
+    { "Etc/UTC", "Etc/Universal", "Etc/Zulu", "UTC", "Universal", "Zulu" },
+    { "Europe/Belgrade", "Europe/Ljubljana", "Europe/Sarajevo", "Europe/Skopje", "Europe/Zagreb" },
+    { "Europe/Chisinau", "Europe/Tiraspol" },
+    { "Eire", "Europe/Dublin" },
+    { "Europe/Helsinki", "Europe/Mariehamn" },
+    { "Asia/Istanbul", "Europe/Istanbul", "Turkey" },
+    { "Europe/Lisbon", "Portugal" },
+    { "Europe/London", "GB", "GB-Eire" },
+    { "Europe/Moscow", "W-SU" },
+    { "Arctic/Longyearbyen", "Atlantic/Jan_Mayen", "Europe/Oslo" },
+    { "ECT", "Europe/Paris" },
+    { "Europe/Bratislava", "Europe/Prague" },
+    { "Europe/Rome", "Europe/San_Marino", "Europe/Vatican" },
+    { "Europe/Warsaw", "Poland" },
+    { "MIT", "Pacific/Apia" },
+    { "NST", "NZ", "Pacific/Auckland" },
+    { "NZ-CHAT", "Pacific/Chatham" },
+    { "Chile/EasterIsland", "Pacific/Easter" },
+    { "Pacific/Gambier", "SystemV/YST9" },
+    { "Pacific/Guadalcanal", "SST" },
+    { "HST", "Pacific/Honolulu", "SystemV/HST10", "US/Hawaii" },
+    { "Kwajalein", "Pacific/Kwajalein" },
+    { "Pacific/Pago_Pago", "Pacific/Samoa", "US/Samoa" },
+    { "Pacific/Pitcairn", "SystemV/PST8" }
+  };
+  public static final String[][] COUNTRY = {
+    { "", "Asia/Riyadh87", "Asia/Riyadh88", "Asia/Riyadh89", "CET", "EET", "Etc/GMT", "Etc/GMT+0", "Etc/GMT+1", "Etc/GMT+10", "Etc/GMT+11", "Etc/GMT+12", "Etc/GMT+2", "Etc/GMT+3", "Etc/GMT+4", "Etc/GMT+5", "Etc/GMT+6", "Etc/GMT+7", "Etc/GMT+8", "Etc/GMT+9", "Etc/GMT-0", "Etc/GMT-1", "Etc/GMT-10", "Etc/GMT-11", "Etc/GMT-12", "Etc/GMT-13", "Etc/GMT-14", "Etc/GMT-2", "Etc/GMT-3", "Etc/GMT-4", "Etc/GMT-5", "Etc/GMT-6", "Etc/GMT-7", "Etc/GMT-8", "Etc/GMT-9", "Etc/GMT0", "Etc/Greenwich", "Etc/UCT", "Etc/UTC", "Etc/Universal", "Etc/Zulu", "Factory", "GMT", "GMT+0", "GMT-0", "GMT0", "Greenwich", "MET", "Mideast/Riyadh87", "Mideast/Riyadh88", "Mideast/Riyadh89", "UCT", "UTC", "Universal", "WET", "Zulu" },
+    { "AD", "Europe/Andorra" },
+    { "AE", "Asia/Dubai" },
+    { "AF", "Asia/Kabul" },
+    { "AG", "America/Antigua" },
+    { "AI", "America/Anguilla" },
+    { "AL", "Europe/Tirane" },
+    { "AM", "Asia/Yerevan", "NET" },
+    { "AN", "America/Curacao" },
+    { "AO", "Africa/Luanda" },
+    { "AQ", "Antarctica/Casey", "Antarctica/Davis", "Antarctica/DumontDUrville", "Antarctica/Mawson", "Antarctica/McMurdo", "Antarctica/Palmer", "Antarctica/Rothera", "Antarctica/South_Pole", "Antarctica/Syowa", "Antarctica/Vostok" },
+    { "AR", "AGT", "America/Argentina/Buenos_Aires", "America/Argentina/Catamarca", "America/Argentina/ComodRivadavia", "America/Argentina/Cordoba", "America/Argentina/Jujuy", "America/Argentina/La_Rioja", "America/Argentina/Mendoza", "America/Argentina/Rio_Gallegos", "America/Argentina/San_Juan", "America/Argentina/Tucuman", "America/Argentina/Ushuaia", "America/Buenos_Aires", "America/Catamarca", "America/Cordoba", "America/Jujuy", "America/Mendoza", "America/Rosario" },
+    { "AS", "Pacific/Pago_Pago", "Pacific/Samoa", "US/Samoa" },
+    { "AT", "Europe/Vienna" },
+    { "AU", "ACT", "AET", "Australia/ACT", "Australia/Adelaide", "Australia/Brisbane", "Australia/Broken_Hill", "Australia/Canberra", "Australia/Darwin", "Australia/Hobart", "Australia/LHI", "Australia/Lindeman", "Australia/Lord_Howe", "Australia/Melbourne", "Australia/NSW", "Australia/North", "Australia/Perth", "Australia/Queensland", "Australia/South", "Australia/Sydney", "Australia/Tasmania", "Australia/Victoria", "Australia/West", "Australia/Yancowinna" },
+    { "AW", "America/Aruba" },
+    { "AX", "Europe/Mariehamn" },
+    { "AZ", "Asia/Baku" },
+    { "BA", "Europe/Sarajevo" },
+    { "BB", "America/Barbados" },
+    { "BD", "Asia/Dacca", "Asia/Dhaka", "BST" },
+    { "BE", "Europe/Brussels" },
+    { "BF", "Africa/Ouagadougou" },
+    { "BG", "Europe/Sofia" },
+    { "BH", "Asia/Bahrain" },
+    { "BI", "Africa/Bujumbura" },
+    { "BJ", "Africa/Porto-Novo" },
+    { "BM", "Atlantic/Bermuda" },
+    { "BN", "Asia/Brunei" },
+    { "BO", "America/La_Paz" },
+    { "BR", "America/Araguaina", "America/Bahia", "America/Belem", "America/Boa_Vista", "America/Campo_Grande", "America/Cuiaba", "America/Eirunepe", "America/Fortaleza", "America/Maceio", "America/Manaus", "America/Noronha", "America/Porto_Acre", "America/Porto_Velho", "America/Recife", "America/Rio_Branco", "America/Sao_Paulo", "BET", "Brazil/Acre", "Brazil/DeNoronha", "Brazil/East", "Brazil/West" },
+    { "BS", "America/Nassau" },
+    { "BT", "Asia/Thimbu", "Asia/Thimphu" },
+    { "BW", "Africa/Gaborone" },
+    { "BY", "Europe/Minsk" },
+    { "BZ", "America/Belize" },
+    { "CA", "America/Cambridge_Bay", "America/Dawson", "America/Dawson_Creek", "America/Edmonton", "America/Glace_Bay", "America/Goose_Bay", "America/Halifax", "America/Inuvik", "America/Iqaluit", "America/Montreal", "America/Nipigon", "America/Pangnirtung", "America/Rainy_River", "America/Rankin_Inlet", "America/Regina", "America/St_Johns", "America/Swift_Current", "America/Thunder_Bay", "America/Toronto", "America/Vancouver", "America/Whitehorse", "America/Winnipeg", "America/Yellowknife", "CNT", "Canada/Atlantic", "Canada/Central", "Canada/East-Saskatchewan", "Canada/Eastern", "Canada/Mountain", "Canada/Newfoundland", "Canada/Pacific", "Canada/Saskatchewan", "Canada/Yukon", "SystemV/AST4ADT", "SystemV/CST6" },
+    { "CC", "Indian/Cocos" },
+    { "CD", "Africa/Kinshasa", "Africa/Lubumbashi" },
+    { "CF", "Africa/Bangui" },
+    { "CG", "Africa/Brazzaville" },
+    { "CH", "Europe/Zurich" },
+    { "CI", "Africa/Abidjan" },
+    { "CK", "Pacific/Rarotonga" },
+    { "CL", "America/Santiago", "Chile/Continental", "Chile/EasterIsland", "Pacific/Easter" },
+    { "CM", "Africa/Douala" },
+    { "CN", "Asia/Chongqing", "Asia/Chungking", "Asia/Harbin", "Asia/Kashgar", "Asia/Shanghai", "Asia/Urumqi", "CTT", "PRC" },
+    { "CO", "America/Bogota" },
+    { "CR", "America/Costa_Rica" },
+    { "CS", "Europe/Belgrade" },
+    { "CU", "America/Havana", "Cuba" },
+    { "CV", "Atlantic/Cape_Verde" },
+    { "CX", "Indian/Christmas" },
+    { "CY", "Asia/Nicosia", "Europe/Nicosia" },
+    { "CZ", "Europe/Prague" },
+    { "DE", "Europe/Berlin" },
+    { "DJ", "Africa/Djibouti" },
+    { "DK", "Europe/Copenhagen" },
+    { "DM", "America/Dominica" },
+    { "DO", "America/Santo_Domingo" },
+    { "DZ", "Africa/Algiers" },
+    { "EC", "America/Guayaquil", "Pacific/Galapagos" },
+    { "EE", "Europe/Tallinn" },
+    { "EG", "ART", "Africa/Cairo", "Egypt" },
+    { "EH", "Africa/El_Aaiun" },
+    { "ER", "Africa/Asmera" },
+    { "ES", "Africa/Ceuta", "Atlantic/Canary", "Europe/Madrid" },
+    { "ET", "Africa/Addis_Ababa", "EAT" },
+    { "FI", "Europe/Helsinki" },
+    { "FJ", "Pacific/Fiji" },
+    { "FK", "Atlantic/Stanley" },
+    { "FM", "Pacific/Kosrae", "Pacific/Ponape", "Pacific/Truk", "Pacific/Yap" },
+    { "FO", "Atlantic/Faeroe" },
+    { "FR", "ECT", "Europe/Paris" },
+    { "GA", "Africa/Libreville" },
+    { "GB", "Europe/Belfast", "Europe/London", "GB", "GB-Eire" },
+    { "GD", "America/Grenada" },
+    { "GE", "Asia/Tbilisi" },
+    { "GF", "America/Cayenne" },
+    { "GH", "Africa/Accra" },
+    { "GI", "Europe/Gibraltar" },
+    { "GL", "America/Danmarkshavn", "America/Godthab", "America/Scoresbysund", "America/Thule" },
+    { "GM", "Africa/Banjul" },
+    { "GN", "Africa/Conakry" },
+    { "GP", "America/Guadeloupe" },
+    { "GQ", "Africa/Malabo" },
+    { "GR", "Europe/Athens" },
+    { "GS", "Atlantic/South_Georgia" },
+    { "GT", "America/Guatemala" },
+    { "GU", "Pacific/Guam" },
+    { "GW", "Africa/Bissau" },
+    { "GY", "America/Guyana" },
+    { "HK", "Asia/Hong_Kong", "Hongkong" },
+    { "HN", "America/Tegucigalpa" },
+    { "HR", "Europe/Zagreb" },
+    { "HT", "America/Port-au-Prince" },
+    { "HU", "Europe/Budapest" },
+    { "ID", "Asia/Jakarta", "Asia/Jayapura", "Asia/Makassar", "Asia/Pontianak", "Asia/Ujung_Pandang" },
+    { "IE", "Eire", "Europe/Dublin" },
+    { "IL", "Asia/Jerusalem", "Asia/Tel_Aviv", "Israel" },
+    { "IN", "Asia/Calcutta", "IST" },
+    { "IO", "Indian/Chagos" },
+    { "IQ", "Asia/Baghdad" },
+    { "IR", "Asia/Tehran", "Iran" },
+    { "IS", "Atlantic/Reykjavik", "Iceland" },
+    { "IT", "Europe/Rome" },
+    { "JM", "America/Jamaica", "Jamaica" },
+    { "JO", "Asia/Amman" },
+    { "JP", "Asia/Tokyo", "JST", "Japan" },
+    { "KE", "Africa/Nairobi" },
+    { "KG", "Asia/Bishkek" },
+    { "KH", "Asia/Phnom_Penh" },
+    { "KI", "Pacific/Enderbury", "Pacific/Kiritimati", "Pacific/Tarawa" },
+    { "KM", "Indian/Comoro" },
+    { "KN", "America/St_Kitts" },
+    { "KP", "Asia/Pyongyang" },
+    { "KR", "Asia/Seoul", "ROK" },
+    { "KW", "Asia/Kuwait" },
+    { "KY", "America/Cayman" },
+    { "KZ", "Asia/Almaty", "Asia/Aqtau", "Asia/Aqtobe", "Asia/Oral", "Asia/Qyzylorda" },
+    { "LA", "Asia/Vientiane" },
+    { "LB", "Asia/Beirut" },
+    { "LC", "America/St_Lucia" },
+    { "LI", "Europe/Vaduz" },
+    { "LK", "Asia/Colombo" },
+    { "LR", "Africa/Monrovia" },
+    { "LS", "Africa/Maseru" },
+    { "LT", "Europe/Vilnius" },
+    { "LU", "Europe/Luxembourg" },
+    { "LV", "Europe/Riga" },
+    { "LY", "Africa/Tripoli", "Libya" },
+    { "MA", "Africa/Casablanca" },
+    { "MC", "Europe/Monaco" },
+    { "MD", "Europe/Chisinau", "Europe/Tiraspol" },
+    { "MG", "Indian/Antananarivo" },
+    { "MH", "Kwajalein", "Pacific/Kwajalein", "Pacific/Majuro" },
+    { "MK", "Europe/Skopje" },
+    { "ML", "Africa/Bamako", "Africa/Timbuktu" },
+    { "MM", "Asia/Rangoon" },
+    { "MN", "Asia/Choibalsan", "Asia/Hovd", "Asia/Ulaanbaatar", "Asia/Ulan_Bator" },
+    { "MO", "Asia/Macao", "Asia/Macau" },
+    { "MP", "Pacific/Saipan" },
+    { "MQ", "America/Martinique" },
+    { "MR", "Africa/Nouakchott" },
+    { "MS", "America/Montserrat" },
+    { "MT", "Europe/Malta" },
+    { "MU", "Indian/Mauritius" },
+    { "MV", "Indian/Maldives" },
+    { "MW", "Africa/Blantyre" },
+    { "MX", "America/Cancun", "America/Chihuahua", "America/Ensenada", "America/Hermosillo", "America/Mazatlan", "America/Merida", "America/Mexico_City", "America/Monterrey", "America/Tijuana", "Mexico/BajaNorte", "Mexico/BajaSur", "Mexico/General" },
+    { "MY", "Asia/Kuala_Lumpur", "Asia/Kuching" },
+    { "MZ", "Africa/Maputo" },
+    { "NA", "Africa/Windhoek" },
+    { "NC", "Pacific/Noumea" },
+    { "NE", "Africa/Niamey" },
+    { "NF", "Pacific/Norfolk" },
+    { "NG", "Africa/Lagos" },
+    { "NI", "America/Managua" },
+    { "NL", "Europe/Amsterdam" },
+    { "NO", "Europe/Oslo" },
+    { "NP", "Asia/Katmandu" },
+    { "NR", "Pacific/Nauru" },
+    { "NU", "Pacific/Niue" },
+    { "NZ", "NST", "NZ", "NZ-CHAT", "Pacific/Auckland", "Pacific/Chatham" },
+    { "OM", "Asia/Muscat" },
+    { "PA", "America/Panama" },
+    { "PE", "America/Lima" },
+    { "PF", "Pacific/Gambier", "Pacific/Marquesas", "Pacific/Tahiti", "SystemV/YST9" },
+    { "PG", "Pacific/Port_Moresby" },
+    { "PH", "Asia/Manila" },
+    { "PK", "Asia/Karachi", "PLT" },
+    { "PL", "Europe/Warsaw", "Poland" },
+    { "PM", "America/Miquelon" },
+    { "PN", "Pacific/Pitcairn", "SystemV/PST8" },
+    { "PR", "America/Puerto_Rico", "PRT", "SystemV/AST4" },
+    { "PS", "Asia/Gaza" },
+    { "PT", "Atlantic/Azores", "Atlantic/Madeira", "Europe/Lisbon", "Portugal" },
+    { "PW", "Pacific/Palau" },
+    { "PY", "America/Asuncion" },
+    { "QA", "Asia/Qatar" },
+    { "RE", "Indian/Reunion" },
+    { "RO", "Europe/Bucharest" },
+    { "RU", "Asia/Anadyr", "Asia/Irkutsk", "Asia/Kamchatka", "Asia/Krasnoyarsk", "Asia/Magadan", "Asia/Novosibirsk", "Asia/Omsk", "Asia/Sakhalin", "Asia/Vladivostok", "Asia/Yakutsk", "Asia/Yekaterinburg", "Europe/Kaliningrad", "Europe/Moscow", "Europe/Samara", "W-SU" },
+    { "RW", "Africa/Kigali" },
+    { "SA", "Asia/Riyadh" },
+    { "SB", "Pacific/Guadalcanal", "SST" },
+    { "SC", "Indian/Mahe" },
+    { "SD", "Africa/Khartoum" },
+    { "SE", "Europe/Stockholm" },
+    { "SG", "Asia/Singapore", "Singapore" },
+    { "SH", "Atlantic/St_Helena" },
+    { "SI", "Europe/Ljubljana" },
+    { "SJ", "Arctic/Longyearbyen", "Atlantic/Jan_Mayen" },
+    { "SK", "Europe/Bratislava" },
+    { "SL", "Africa/Freetown" },
+    { "SM", "Europe/San_Marino" },
+    { "SN", "Africa/Dakar" },
+    { "SO", "Africa/Mogadishu" },
+    { "SR", "America/Paramaribo" },
+    { "ST", "Africa/Sao_Tome" },
+    { "SV", "America/El_Salvador" },
+    { "SY", "Asia/Damascus" },
+    { "SZ", "Africa/Mbabane" },
+    { "TC", "America/Grand_Turk" },
+    { "TD", "Africa/Ndjamena" },
+    { "TF", "Indian/Kerguelen" },
+    { "TG", "Africa/Lome" },
+    { "TH", "Asia/Bangkok" },
+    { "TJ", "Asia/Dushanbe" },
+    { "TK", "Pacific/Fakaofo" },
+    { "TL", "Asia/Dili" },
+    { "TM", "Asia/Ashgabat", "Asia/Ashkhabad" },
+    { "TN", "Africa/Tunis" },
+    { "TO", "Pacific/Tongatapu" },
+    { "TR", "Asia/Istanbul", "Europe/Istanbul", "Turkey" },
+    { "TT", "America/Port_of_Spain" },
+    { "TV", "Pacific/Funafuti" },
+    { "TW", "Asia/Taipei", "ROC" },
+    { "TZ", "Africa/Dar_es_Salaam" },
+    { "UA", "Europe/Kiev", "Europe/Simferopol", "Europe/Uzhgorod", "Europe/Zaporozhye" },
+    { "UG", "Africa/Kampala" },
+    { "UM", "Pacific/Johnston", "Pacific/Midway", "Pacific/Wake" },
+    { "US", "AST", "America/Adak", "America/Anchorage", "America/Atka", "America/Boise", "America/Chicago", "America/Denver", "America/Detroit", "America/Fort_Wayne", "America/Indiana/Indianapolis", "America/Indiana/Knox", "America/Indiana/Marengo", "America/Indiana/Vevay", "America/Indianapolis", "America/Juneau", "America/Kentucky/Louisville", "America/Kentucky/Monticello", "America/Knox_IN", "America/Los_Angeles", "America/Louisville", "America/Menominee", "America/New_York", "America/Nome", "America/North_Dakota/Center", "America/Phoenix", "America/Shiprock", "America/Yakutat", "CST", "CST6CDT", "EST", "EST5EDT", "HST", "IET", "MST", "MST7MDT", "Navajo", "PNT", "PST", "PST8PDT", "Pacific/Honolulu", "SystemV/CST6CDT", "SystemV/EST5", "SystemV/EST5EDT", "SystemV/HST10", "SystemV/MST7", "SystemV/MST7MDT", "SystemV/PST8PDT", "SystemV/YST9YDT", "US/Alaska", "US/Aleutian", "US/Arizona", "US/Central", "US/East-Indiana", "US/Eastern", "US/Hawaii", "US/Indiana-Starke", "US/Michigan", "US/Mountain", "US/Pacific", "US/Pacific-New" },
+    { "UY", "America/Montevideo" },
+    { "UZ", "Asia/Samarkand", "Asia/Tashkent" },
+    { "VA", "Europe/Vatican" },
+    { "VC", "America/St_Vincent" },
+    { "VE", "America/Caracas" },
+    { "VG", "America/Tortola" },
+    { "VI", "America/St_Thomas", "America/Virgin" },
+    { "VN", "Asia/Saigon", "VST" },
+    { "VU", "Pacific/Efate" },
+    { "WF", "Pacific/Wallis" },
+    { "WS", "MIT", "Pacific/Apia" },
+    { "YE", "Asia/Aden" },
+    { "YT", "Indian/Mayotte" },
+    { "ZA", "Africa/Johannesburg" },
+    { "ZM", "Africa/Lusaka" },
+    { "ZW", "Africa/Harare", "CAT" }
+  };
+}
diff --git a/src/com/ibm/icu/impl/data/BreakIteratorRules.java b/src/com/ibm/icu/impl/data/BreakIteratorRules.java
new file mode 100755
index 0000000..da2234b
--- /dev/null
+++ b/src/com/ibm/icu/impl/data/BreakIteratorRules.java
@@ -0,0 +1,385 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.impl.data;
+
+import java.util.ListResourceBundle;
+
+/**
+ * Default break-iterator rules.  These rules are more or less general for
+ * all locales, although there are probably a few we're missing.  The
+ * behavior currently mimics the behavior of BreakIterator in JDK 1.2.
+ * There are known deficiencies in this behavior, including the fact that
+ * the logic for handling CJK characters works for Japanese but not for
+ * Chinese, and that we don't currently have an appropriate locale for
+ * Thai.  The resources will eventually be updated to fix these problems.
+ */
+
+ /* Modified for Hindi 3/1/99. */
+
+public class BreakIteratorRules extends ListResourceBundle {
+    public Object[][] getContents() {
+        return contents;
+    }
+
+    static final Object[][] contents = {
+        // BreakIteratorClasses lists the class names to instantiate for each
+        // built-in type of BreakIterator
+        { "BreakIteratorClasses",
+            new String[] { "RuleBasedBreakIterator_New",     // character-break iterator class
+                           "RuleBasedBreakIterator_New",     // word-break iterator class
+                           "RuleBasedBreakIterator_New",     // line-break iterator class
+                           "RuleBasedBreakIterator_New",     // sentence-break iterator class
+                           "RuleBasedBreakIterator_New"}     // Title-Case break iterator class
+        },
+
+        // rules describing how to break between logical characters
+        { "CharacterBreakRules",
+            // ignore non-spacing marks and enclosing marks (since we never
+            // put a break before ignore characters, this keeps combining
+            // accents with the base characters they modify)
+            // FIXME: the virama thing is probably a hack...
+              "$devaVirama=[\u094d];"
+            + "$_ignore_=[[[:Mn:]-$devaVirama][:Me:]];"
+
+            // other category definitions
+            + "$choseong=[\u1100-\u115f];"
+            + "$jungseong=[\u1160-\u11a7];"
+            + "$jongseong=[\u11a8-\u11ff];"
+            + "$surr_hi=[\ud800-\udbff];"
+            + "$surr_lo=[\udc00-\udfff];"
+
+            // break after every character, except as follows:
+            + ".;"
+
+            // keep CRLF sequences together
+            + "\r\n;"
+
+            // keep surrogate pairs together
+            + "$surr_hi$surr_lo;"
+
+            // keep Hangul syllables spelled out using conjoining jamo together
+            + "$choseong*$jungseong*$jongseong*;"
+
+            // revised Devanagari support - full syllables
+            // simplified by allowing some nonsense syllables
+            // FIXME: nukta, non-spacing matras, and the modifiers
+            // are all ignorable, so they don't need to be mentioned
+            // here... (but the rules read better if they are...)
+            + "$devaNukta=[\u093c];"
+            + "$devaVowel=[\u0905-\u0914];"
+            + "$devaMatra=[\u093e-\u094c\u0962\u0963];"
+            + "$devaConsonant=[\u0915-\u0939\u0958-\u095f];"
+            + "$devaModifier=[\u0901-\u0903\u0951-\u0954];"
+            + "$zwnj=[\u200c];"
+            + "$zwj=[\u200d];"
+
+            // consonant followed optionally by a nukta
+            + "$devaCN=($devaConsonant$devaNukta?);"
+
+            // a virama followed by an optional zwj or zwnj
+            + "$devaJoin=($devaVirama[$zwj$zwnj]?);"
+
+            // a syllable with at least one consonant
+            + "($devaCN$devaJoin)*$devaCN($devaJoin|$devaMatra?$devaModifier*);"
+
+            // a syllable without consonants
+            + "$devaVowel$devaModifier*;"
+        },
+
+        // default rules for finding word boundaries
+        { "WordBreakRules",
+
+            // Surrogates.  Until better support is available, ignore low surrogates
+            //              and classify high surrogates according to the characters within the block.
+              "$surr_lo=[\udc00-\udfff];"
+            + "$surr_hi_let=[\ud800\ud801\ud834\ud835];"   // Hi Surrogates for Old Italic, Gothic, Deseret, Music, Math
+            + "$surr_hi_ideo=[\ud840-\ud880];"             // Hi Surrogates for CJK
+            + "$surr_hi_tag=[\udb40];"                     // Hi Surrogates for Tags
+            + "$surr_hi_pua=[\udb80-\udbff];"              // Hi Surrogates for Private Use.
+
+            // Private Use Area.  Treat like ideographs.
+            + "$pua=[\ue000-\uf8ff$surr_hi_pua];"
+
+            // ignore non-spacing marks, enclosing marks, and format characters,
+            // all of which should not influence the algorithm
+            + "$_ignore_=[[:Mn:][:Me:][:Cf:]$surr_lo$surr_hi_tag];"
+
+            // Hindi phrase separator, kanji, katakana, hiragana, CJK diacriticals,
+            // other letters, and digits
+            + "$danda=[\u0964\u0965];"
+            + "$kanji=[\u3005\u3400-\u4db5\u4e00-\u9fa5\uf900-\ufa6a$surr_hi_ideo$pua];"
+            + "$kata=[\u3099-\u309c\u30a1-\u30fe];"
+            + "$hira=[\u3041-\u309e\u30fc];"
+            + "$let=[[[:L:][:Mc:]$surr_hi_let]-[$kanji$kata$hira]];"
+            + "$dgt=[:N:];"
+
+            // punctuation that can occur in the middle of a word: currently
+            // dashes, apostrophes, quotation marks, and periods
+            + "$mid_word=[[:Pd:]\u00ad\u2027\\\"\\\'\\.];"
+
+            // punctuation that can occur in the middle of a number: currently
+            // apostrophes, qoutation marks, periods, commas, and the Arabic
+            // decimal point
+            + "$mid_num=[\\\"\\\'\\,\u066b\\.];"
+
+            // punctuation that can occur at the beginning of a number: currently
+            // the period, the number sign, and all currency symbols except the cents sign
+            + "$pre_num=[[[:Sc:]-[\u00a2]]\\#\\.];"
+
+            // punctuation that can occur at the end of a number: currently
+            // the percent, per-thousand, per-ten-thousand, and Arabic percent
+            // signs, the cents sign, and the ampersand
+            + "$post_num=[\\%\\&\u00a2\u066a\u2030\u2031];"
+
+            // line separators: currently LF, FF, PS, and LS
+            + "$ls=[\n\u000c\u2028\u2029];"
+
+            // whitespace: all space separators and the tab character
+            + "$ws=[[:Zs:]\t];"
+
+            // a word is a sequence of letters that may contain internal
+            // punctuation, as long as it begins and ends with a letter and
+            // never contains two punctuation marks in a row
+            + "$word=($let+($mid_word$let+)*$danda?);"
+
+            // a number is a sequence of digits that may contain internal
+            // punctuation, as long as it begins and ends with a digit and
+            // never contains two punctuation marks in a row.
+            + "$number=($dgt+($mid_num$dgt+)*);"
+
+            // break after every character, with the following exceptions
+            // (this will cause punctuation marks that aren't considered
+            // part of words or numbers to be treated as words unto themselves)
+            + ".;"
+
+            // keep together any sequence of contiguous words and numbers
+            // (including just one of either), plus an optional trailing
+            // number-suffix character
+            + "$word?($number$word)*($number$post_num?)?;"
+
+            // keep together and sequence of contiguous words and numbers
+            // that starts with a number-prefix character and a number,
+            // and may end with a number-suffix character
+            + "$pre_num($number$word)*($number$post_num?)?;"
+
+            // keep together runs of whitespace (optionally with a single trailing
+            // line separator or CRLF sequence)
+            + "$ws*\r?$ls?;"
+
+            // keep together runs of Katakana
+            + "$kata*;"
+
+            // keep together runs of Hiragana
+            + "$hira*;"
+
+            // keep together runs of Kanji
+            + "$kanji*;"
+        },
+
+        // default rules for determining legal line-breaking positions
+        { "LineBreakRules",
+            // Surrogates.  Until better support is available, ignore low surrogates
+            //              and classify high surrogates according to the characters within the block.
+              "$surr_lo=[\udc00-\udfff];"
+            + "$surr_hi_let=[\ud800\ud801\ud834\ud835];"   // Hi Surrogates for Old Italic, Gothic, Deseret, Music, Math
+            + "$surr_hi_ideo=[\ud840-\ud880];"             // Hi Surrogates for CJK
+            + "$surr_hi_tag=[\udb40];"                     // Hi Surrogates for Tags
+            + "$surr_hi_pua=[\udb80-\udbff];"              // Hi Surrogates for Private Use.
+
+            // Private Use Area.  Treat like ideographs.
+             + "$pua=[\ue000-\uf8ff$surr_hi_pua];"
+
+            // ignore non-spacing marks, enclosing marks, and format characters
+            + "$_ignore_=[[:Mn:][:Me:][:Cf:]$surr_lo$surr_hi_tag];"
+
+            // Hindi phrase separators
+            + "$danda=[\u0964\u0965];"
+
+            // characters that always cause a break: ETX, tab, LF, FF, LS, and PS
+            + "$break=[\u0003\t\n\f\u2028\u2029];"
+
+            // characters that always prevent a break: the non-breaking space
+            // and similar characters
+            + "$nbsp=[\u00a0\u2007\u2011\ufeff];"
+
+            // whitespace: space separators and control characters, except for
+            // CR and the other characters mentioned above
+            + "$space=[[[:Zs:][:Cc:]]-[$nbsp$break\r]];"
+
+            // dashes: dash punctuation and the discretionary hyphen, except for
+            // non-breaking hyphens
+            + "$dash=[[[:Pd:]\u00ad]-[$nbsp]];"
+
+            // characters that stick to a word if they precede it: currency symbols
+            // (except the cents sign) and starting punctuation
+            + "$pre_word=[[[:Sc:]-[\u00a2]][:Ps:][:Pi:]\\\"\\\'];"
+
+            // characters that stick to a word if they follow it: ending punctuation,
+            // other punctuation that usually occurs at the end of a sentence,
+            // small Kana characters, some CJK diacritics, etc.
+            + "$post_word=[[:Pe:][:Pf:]\\!\\\"\\\'\\%\\.\\,\\:\\;\\?\u00a2\u00b0\u066a\u2030-\u2034"
+                    + "\u2103\u2105\u2109\u3001\u3002\u3005\u3041\u3043\u3045\u3047\u3049\u3063"
+                    + "\u3083\u3085\u3087\u308e\u3099-\u309e\u30a1\u30a3\u30a5\u30a7\u30a9"
+                    + "\u30c3\u30e3\u30e5\u30e7\u30ee\u30f5\u30f6\u30fc-\u30fe\uff01\uff0c"
+                    + "\uff0e\uff1f];"
+
+            // Kanji: actually includes both Kanji and Kana, except for small Kana and
+            // CJK diacritics
+            + "$kanji=[[$surr_hi_ideo$pua\u3400-\u4db5\u4e00-\u9fa5\uf900-\ufa6a\u3041-\u3094\u30a1-\u30fa]-[$post_word$_ignore_]];"
+
+            // digits
+            + "$digit=[[:Nd:][:No:]];"
+
+            // punctuation that can occur in the middle of a number: periods and commas
+            + "$mid_num=[\\.\\,];"
+
+            // everything not mentioned above, plus the quote marks (which are both
+            // <pre-word>, <post-word>, and <char>)
+            + "$char=[^$break$space$dash$kanji$nbsp$_ignore_$pre_word$post_word$mid_num$danda\r\\\"\\\'];"
+
+            // a "number" is a run of prefix characters and dashes, followed by one or
+            // more digits with isolated number-punctuation characters interspersed
+            + "$number=([$pre_word$dash]*$digit+($mid_num$digit+)*);"
+
+            // the basic core of a word can be either a "number" as defined above, a single
+            // "Kanji" character, or a run of any number of not-explicitly-mentioned
+            // characters (this includes Latin letters)
+            + "$word_core=([$pre_word$char]*|$kanji|$number);"
+
+            // a word may end with an optional suffix that be either a run of one or
+            // more dashes or a run of word-suffix characters, followed by an optional
+            // run of whitespace
+            + "$word_suffix=(($dash+|$post_word*)$space*);"
+
+            // a word, thus, is an optional run of word-prefix characters, followed by
+            // a word core and a word suffix (the syntax of <word-core> and <word-suffix>
+            // actually allows either of them to match the empty string, putting a break
+            // between things like ")(" or "aaa(aaa"
+            + "$word=($pre_word*$word_core$word_suffix);"
+
+            // finally, the rule that does the work: Keep together any run of words that
+            // are joined by runs of one of more non-spacing mark.  Also keep a trailing
+            // line-break character or CRLF combination with the word.  (line separators
+            // "win" over nbsp's)
+            + "$word($nbsp+$word)*\r?$break?;"
+        },
+
+        // default rules for finding sentence boundaries
+        { "SentenceBreakRules",
+            // Surrogates.  Until better support is available, ignore low surrogates
+            //              and classify high surrogates according to the characters within the block.
+              "$surr_lo=[\udc00-\udfff];"
+
+            // ignore non-spacing marks, enclosing marks, and format characters
+            + "$_ignore_=[[:Mn:][:Me:][:Cf:]$surr_lo];"
+
+            // lowercase letters
+            + "$lc=[:Ll:];"
+
+            // uppercase Latin letters
+            + "$ucLatin=[A-Z];"
+
+            // whitespace (line separators are treated as whitespace)
+            + "$space=[\t\r\f\n\u2028[:Zs:]];"
+
+            // punctuation which may occur at the beginning of a sentence: "starting
+            // punctuation" and quotation marks
+            + "$start=[[:Ps:][:Pi:]\\\"\\\'];"
+
+            // punctuation with may occur at the end of a sentence: "ending punctuation"
+            // and quotation marks
+            + "$end=[[:Pe:][:Pf:]\\\"\\\'];"
+
+            // digits
+            + "$digit=[:N:];"
+
+            // characters that unambiguously signal the end of a sentence
+            + "$term=[\\!\\?\u3002\uff01\uff1f];"
+
+            // periods, which MAY signal the end of a sentence
+            + "$period=[\\.\uff0e];"
+
+            // characters that may occur at the beginning of a sentence: basically anything
+            // not mentioned above (lowercase letters and digits are specifically excluded)
+            + "$sent_start=[^$lc$ucLatin$space$start$end$digit$term$period\u2029$_ignore_];"
+
+            // Hindi phrase separator
+            + "$danda=[\u0964\u0965];"
+
+            // always break sentences after paragraph separators
+            + ".*?\u2029?;"
+
+            // always break after a danda, if it's followed by whitespace
+            + ".*?$danda$space*;"
+
+            // if you see a period, skip over additional periods and ending punctuation
+            // and if the next character is a paragraph separator, break after the
+            // paragraph separator
+            + ".*?$period[$period$end]*$space*\u2029;"
+
+            // if you see a period, skip over additional periods and ending punctuation,
+            // followed by optional whitespace, followed by optional starting punctuation,
+            // and if the next character is something that can start a sentence
+            // (basically, a capital letter), then put the sentence break between the
+            // whitespace and the opening punctuation
+            + ".*?$period[$period$end]*$space*/($start*$sent_start|$start+$ucLatin);"
+
+            // same as above, except that there's a sentence break before a Latin capital
+            // letter only if there's at least one space after the period
+            + ".*?$period[$period$end]*$space+/$ucLatin;"
+
+            // if you see a sentence-terminating character, skip over any additional
+            // terminators, periods, or ending punctuation, followed by any whitespace,
+            // followed by a SINGLE optional paragraph separator, and put the break there
+            + ".*?$term[$term$period$end]*$space*\u2029?;"
+
+            // The following rules are here to aid in backwards iteration.  The automatically
+            // generated backwards state table will rewind to the beginning of the
+            // paragraph all the time (or all the way to the beginning of the document
+            // if the document doesn't use the Unicode PS character) because the only
+            // unambiguous character pairs are those involving paragraph separators.
+            // These specify a few more unambiguous breaking situations.
+
+            // if you see a sentence-starting character, followed by starting punctuation
+            // (remember, we're iterating backwards), followed by an optional run of
+            // whitespace, followed by an optional run of ending punctuation, followed
+            // by a period, this is a safe place to turn around
+            + "![$sent_start$ucLatin]$start*$space+$end*$period;"
+
+            // if you see a letter or a digit, followed by an optional run of
+            // starting punctuation, followed by an optional run of whitespace,
+            // followed by an optional run of ending punctuation, followed by
+            // a sentence terminator, this is a safe place to turn around
+            + "![$sent_start$lc$digit]$start*$space*$end*$term;"
+        },
+
+        // default rules for finding Title Case boundaries.
+        //   See  Unicode Technical Report #21 more information about these rules.
+        { "TitleBreakRules",
+               "$case_ignorable=[[:Mn:][:Me:][:Cf:][:Lm:][:Sk:]\\u0027\u00AD\u2019];"
+             + "$cased=[[[:Lu:][:Lt:][:Ll:]"
+             +     "\u2160-\u216f"                       // Other Uppercase
+             +     "\u24b6-\u24cf"
+             +     "\u02b0-\u02b8"                       // Other Lower case
+             +     "\u02c0-\u02c1"
+             +     "\u02e0-\u02e4"
+             +     "\u0345\u037a"
+             +     "\u2170-\u217f"
+             +     "\u24d0-\u24e9]"
+             +     "-$case_ignorable];"                  // Remove anything that is case_ignorable
+                                                         //   from $cased.
+             + "$not_cased=[^$cased$case_ignorable];"
+             // First time only, eat through any leading non-word-like stuff.
+             + "[$not_cased$case_ignorable]*;"
+             //  Match a word (a cased item), plus any following spaces or other non-cased junk,
+             //    up to the start of the next cased item.
+             + "$cased[$cased$case_ignorable]*[$not_cased]*;"
+             + "!$not_cased*[$cased$case_ignorable]*$not_cased*;"   // Backwards rule.
+        }
+
+    };
+}
diff --git a/src/com/ibm/icu/impl/data/BreakIteratorRules_th.java b/src/com/ibm/icu/impl/data/BreakIteratorRules_th.java
new file mode 100755
index 0000000..001731d
--- /dev/null
+++ b/src/com/ibm/icu/impl/data/BreakIteratorRules_th.java
@@ -0,0 +1,238 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.impl.data;
+
+import java.util.ListResourceBundle;
+
+import com.ibm.icu.impl.ICUData;
+
+public class BreakIteratorRules_th extends ListResourceBundle {
+    private static final String DATA_NAME = "data/th.brk";
+
+    public Object[][] getContents() {
+        final boolean exists = ICUData.exists(DATA_NAME);
+
+        // if dictionary wasn't found, then this resource bundle doesn't have
+        // much to contribute...
+        if (!exists) {
+            return new Object[0][0];
+        }
+
+        return new Object[][] {
+            // names of classes to instantiate for the different kinds of break
+            // iterator.  Notice we're now using DictionaryBasedBreakIterator
+            // for word and line breaking.
+            { "BreakIteratorClasses",
+                new String[] { "RuleBasedBreakIterator_New",           // character-break iterator class
+                               "DictionaryBasedBreakIterator",     // word-break iterator class
+                               "DictionaryBasedBreakIterator",     // line-break iterator class
+                               "RuleBasedBreakIterator_New" }          // sentence-break iterator class
+            },
+
+            { "WordBreakRules",
+                "$_dictionary_=[\u0e01-\u0e2e\u0e30-\u0e3a\u0e40-\u0e44\u0e47-\u0e4e];" // this rule breaks the iterator with mixed Thai and English
+
+                // Surrogates.  Until better support is available, ignore low surrogates
+                //              and classify high surrogates according to the characters within the block.
+                + "$surr_lo=[\udc00-\udfff];"
+                + "$surr_hi_let=[\ud800\ud801\ud834\ud835];"   // Hi Surrogates for Old Italic, Gothic, Deseret, Music, Math
+                + "$surr_hi_ideo=[\ud840-\ud880];"             // Hi Surrogates for CJK
+                + "$surr_hi_tag=[\udb40];"                     // Hi Surrogates for Tags
+                + "$surr_hi_pua=[\udb80-\udbff];"              // Hi Surrogates for Private Use.
+
+                // Private Use Area.  Treat like ideographs.
+                + "$pua=[\ue000-\uf8ff$surr_hi_pua];"
+
+                // ignore non-spacing marks, enclosing marks, and format characters,
+                // all of which should not influence the algorithm
+                + "$_ignore_=[[[:Mn:][:Me:][:Cf:]$surr_lo$surr_hi_tag]-$_dictionary_];"
+
+                + "$paiyannoi=[\u0e2f];"
+                + "$maiyamok=[\u0e46];"
+
+
+                // Hindi phrase separator, kanji, katakana, hiragana, CJK diacriticals,
+                // other letters, and digits
+                + "$danda=[\u0964\u0965];"
+                + "$kanji=[\u3005\u4e00-\u9fa5\uf900-\ufa2d$surr_hi_ideo$pua];"
+                + "$kata=[\u30a1-\u30fa];"
+                + "$hira=[\u3041-\u3094];"
+                + "$cjk_diacrit=[\u3099-\u309c];"
+                + "$let=[[[:L:][:Mc:]$surr_hi_let]-[$kanji$kata$hira$cjk_diacrit$_dictionary_]];"
+                + "$dgt=[:N:];"
+
+                // punctuation that can occur in the middle of a word: currently
+                // dashes, apostrophes, quotation marks, and periods
+                + "$mid_word=[[:Pd:]\u00ad\u2027\\\"\\\'\\.];"
+
+                // punctuation that can occur in the middle of a number: currently
+                // apostrophes, qoutation marks, periods, commas, and the Arabic
+                // decimal point
+                + "$mid_num=[\\\"\\\'\\,\u066b\\.];"
+
+                // punctuation that can occur at the beginning of a number: currently
+                // the period, the number sign, and all currency symbols except the cents sign
+                + "$pre_num=[[[:Sc:]-[\u00a2]]\\#\\.];"
+
+                // punctuation that can occur at the end of a number: currently
+                // the percent, per-thousand, per-ten-thousand, and Arabic percent
+                // signs, the cents sign, and the ampersand
+                + "$post_num=[\\%\\&\u00a2\u066a\u2030\u2031];"
+
+                // line separators: currently LF, FF, PS, and LS
+                + "$ls=[\n\u000c\u2028\u2029];"
+
+                // whitespace: all space separators and the tab character
+                + "$ws=[[:Zs:]\t];"
+
+                // a word is a sequence of letters that may contain internal
+                // punctuation, as long as it begins and ends with a letter and
+                // never contains two punctuation marks in a row
+                + "$word=(($let+($mid_word$let+)*)$danda?);"
+
+                // a number is a sequence of digits that may contain internal
+                // punctuation, as long as it begins and ends with a digit and
+                // never contains two punctuation marks in a row.
+                + "$number=($dgt+($mid_num$dgt+)*);"
+
+                + "$thai_etc=($paiyannoi\u0e25$paiyannoi);"
+
+
+                // break after every character, with the following exceptions
+                // (this will cause punctuation marks that aren't considered
+                // part of words or numbers to be treated as words unto themselves)
+                + ".;"
+
+                // keep together any sequence of contiguous words and numbers
+                // (including just one of either), plus an optional trailing
+                // number-suffix character
+                + "$word?($number$word)*($number$post_num?)?;"
+                + "$pre_num($number$word)*($number$post_num?)?;"
+
+                //+ "$_dictionary_+($paiyannoi$maiyamok?)?;"
+                + "$_dictionary_+($paiyannoi?$maiyamok)?;"
+
+                + "$_dictionary_+$paiyannoi/([^\u0e25$maiyamok$_ignore_]"
+                        + "|\u0e25[^$paiyannoi$_ignore_]);"
+
+                + "$thai_etc;"
+
+                // keep together runs of whitespace (optionally with a single trailing
+                // line separator or CRLF sequence)
+                + "$ws*\r?$ls?;"
+
+                // keep together runs of Katakana
+                + "[$kata$cjk_diacrit]*;"
+
+                // keep together runs of Hiragana
+                + "[$hira$cjk_diacrit]*;"
+
+                // keep together runs of Kanji
+                + "$kanji*;"
+            },
+
+            { "LineBreakRules",
+                "$_dictionary_=[\u0e01-\u0e2e\u0e30-\u0e3a\u0e40-\u0e44\u0e47-\u0e4e];" // this rule breaks the iterator with mixed Thai and English
+
+                // Surrogates.  Until better support is available, ignore low surrogates
+                //              and classify high surrogates according to the characters within the block.
+                + "$surr_lo=[\udc00-\udfff];"
+                + "$surr_hi_let=[\ud800\ud801\ud834\ud835];"   // Hi Surrogates for Old Italic, Gothic, Deseret, Music, Math
+                + "$surr_hi_ideo=[\ud840-\ud880];"             // Hi Surrogates for CJK
+                + "$surr_hi_tag=[\udb40];"                     // Hi Surrogates for Tags
+                + "$surr_hi_pua=[\udb80-\udbff];"              // Hi Surrogates for Private Use.
+
+                // Private Use Area.  Treat like ideographs.
+                + "$pua=[\ue000-\uf8ff$surr_hi_pua];"
+
+                // ignore non-spacing marks, enclosing marks, and format characters
+                + "$_ignore_=[[[:Mn:][:Me:][:Cf:]$surr_lo$surr_hi_tag]-[$_dictionary_]];"
+
+                // Hindi phrase separators
+                + "$danda=[\u0964\u0965];"
+
+                // characters that always cause a break: ETX, tab, LF, FF, LS, and PS
+                + "$break=[\u0003\t\n\f\u2028\u2029];"
+
+                // characters that always prevent a break: the non-breaking space
+                // and similar characters
+                + "$nbsp=[\u00a0\u2007\u2011\ufeff];"
+
+                // whitespace: space separators and control characters, except for
+                // CR and the other characters mentioned above
+                + "$space=[[[:Zs:][:Cc:]]-[$nbsp$break\r]];"
+
+                // dashes: dash punctuation and the discretionary hyphen, except for
+                // non-breaking hyphens
+                + "$dash=[[[:Pd:]\u00ad]-$nbsp];"
+
+                + "$paiyannoi=[\u0e2f];"
+                + "$maiyamok=[\u0e46];"
+                + "$thai_etc=($paiyannoi\u0e25$paiyannoi);"
+
+                // characters that stick to a word if they precede it: currency symbols
+                // (except the cents sign) and starting punctuation
+                + "$pre_word=[[[:Sc:]-[\u00a2]][:Ps:][:Pi:]\\\"];"
+
+                // characters that stick to a word if they follow it: ending punctuation,
+                // other punctuation that usually occurs at the end of a sentence,
+                // small Kana characters, some CJK diacritics, etc.
+                + "$post_word=[[:Pe:][:Pf:]\\!\\%\\.\\,\\:\\;\\?\\\"\u00a2\u00b0\u066a\u2030-\u2034\u2103"
+                        + "\u2105\u2109\u3001\u3002\u3005\u3041\u3043\u3045\u3047\u3049\u3063"
+                        + "\u3083\u3085\u3087\u308e\u3099-\u309e\u30a1\u30a3\u30a5\u30a7\u30a9"
+                        + "\u30c3\u30e3\u30e5\u30e7\u30ee\u30f5\u30f6\u30fc-\u30fe\uff01\uff0e"
+                        + "\uff1f$maiyamok];"
+
+                // Kanji: actually includes both Kanji and Kana, except for small Kana and
+                // CJK diacritics
+                + "$kanji=[[$surr_hi_ideo$pua\u4e00-\u9fa5\uf900-\ufa2d\u3041-\u3094\u30a1-\u30fa]-[$post_word$_ignore_]];"
+
+                // digits
+                + "$digit=[[:Nd:][:No:]];"
+
+                // punctuation that can occur in the middle of a number: periods and commas
+                + "$mid_num=[\\.\\,];"
+
+                // everything not mentioned above, plus the quote marks (which are both
+                // <pre-word>, <post-word>, and <char>)
+                + "$char=[^$break$space$dash$kanji$nbsp$_ignore_$pre_word$post_word"
+                        + "$mid_num\r$danda$_dictionary_$paiyannoi$maiyamok];"
+
+                // a "number" is a run of prefix characters and dashes, followed by one or
+                // more digits with isolated number-punctuation characters interspersed
+                + "$number=([$pre_word$dash]*$digit+($mid_num$digit+)*);"
+
+                // the basic core of a word can be either a "number" as defined above, a single
+                // "Kanji" character, or a run of any number of not-explicitly-mentioned
+                // characters (this includes Latin letters)
+                + "$word_core=($char*|$kanji|$number|$_dictionary_+|$thai_etc);"
+
+                // a word may end with an optional suffix that be either a run of one or
+                // more dashes or a run of word-suffix characters, followed by an optional
+                // run of whitespace
+                + "$word_suffix=(($dash+|$post_word*)$space*);"
+
+                // a word, thus, is an optional run of word-prefix characters, followed by
+                // a word core and a word suffix (the syntax of <word-core> and <word-suffix>
+                // actually allows either of them to match the empty string, putting a break
+                // between things like ")(" or "aaa(aaa"
+                + "$word=($pre_word*$word_core$word_suffix);"
+
+                // finally, the rule that does the work: Keep together any run of words that
+                // are joined by runs of one of more non-spacing mark.  Also keep a trailing
+                // line-break character or CRLF combination with the word.  (line separators
+                // "win" over nbsp's)
+                + "$word($nbsp+$word)*(\r?$break?|$paiyannoi\r$break|$paiyannoi$break)?;"
+                + "$word($nbsp+$word)*$paiyannoi/([^[\u0e25$_ignore_]]|"
+                        + "\u0e25[^$paiyannoi$_ignore_]);"
+            },
+
+            { "WordBreakDictionary", DATA_NAME }, // now a path to ICU4J-specific resource
+            { "LineBreakDictionary", DATA_NAME }
+        };
+    }
+}
diff --git a/src/com/ibm/icu/impl/data/HolidayBundle.java b/src/com/ibm/icu/impl/data/HolidayBundle.java
new file mode 100755
index 0000000..b6ae0e5
--- /dev/null
+++ b/src/com/ibm/icu/impl/data/HolidayBundle.java
@@ -0,0 +1,28 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+package com.ibm.icu.impl.data;
+
+import java.util.ListResourceBundle;
+
+public class HolidayBundle extends ListResourceBundle {
+
+    // Normally, each HolidayBundle uses the holiday's US English name
+    // as the string key for looking up the localized name.  This means
+    // that the key itself can be used if no name is found for the requested
+    // locale.
+    //
+    // For holidays where the key is _not_ the English name, e.g. in the
+    // case of conflicts, the English name must be given here.
+    //
+    static private final Object[][] fContents = {
+        {   "", ""  },      // Can't be empty!
+    };
+
+    public synchronized Object[][] getContents() { return fContents; }
+
+}
diff --git a/src/com/ibm/icu/impl/data/HolidayBundle_da.java b/src/com/ibm/icu/impl/data/HolidayBundle_da.java
new file mode 100755
index 0000000..b4ce7f5
--- /dev/null
+++ b/src/com/ibm/icu/impl/data/HolidayBundle_da.java
@@ -0,0 +1,30 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+package com.ibm.icu.impl.data;
+
+import java.util.ListResourceBundle;
+
+public class HolidayBundle_da extends ListResourceBundle
+{
+    static private final Object[][] fContents =
+    {
+        {   "Armistice Day",        "v\u00e5benhvile" },
+        {   "Ascension",            "himmelfart" },
+        {   "Boxing Day",           "anden juledag" },
+        {   "Christmas Eve",        "juleaften" },
+        {   "Easter",               "p\u00e5ske" },
+        {   "Epiphany",             "helligtrekongersdag" },
+        {   "Good Friday",          "langfredag" },
+        {   "Halloween",            "allehelgensaften" },
+        {   "Maundy Thursday",      "sk\u00e6rtorsdag" },
+        {   "Palm Sunday",          "palmes\u00f8ndag" },
+        {   "Pentecost",            "pinse" },
+        {   "Shrove Tuesday",       "hvidetirsdag" },
+    };
+    public synchronized Object[][] getContents() { return fContents; }
+}
diff --git a/src/com/ibm/icu/impl/data/HolidayBundle_da_DK.java b/src/com/ibm/icu/impl/data/HolidayBundle_da_DK.java
new file mode 100755
index 0000000..ed59e44
--- /dev/null
+++ b/src/com/ibm/icu/impl/data/HolidayBundle_da_DK.java
@@ -0,0 +1,38 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+package com.ibm.icu.impl.data;
+
+import com.ibm.icu.util.*;
+import java.util.Calendar;
+import java.util.ListResourceBundle;
+
+public class HolidayBundle_da_DK extends ListResourceBundle
+{
+    static private final Holiday[] fHolidays = {
+        SimpleHoliday.NEW_YEARS_DAY,
+        new SimpleHoliday(Calendar.APRIL,   30, -Calendar.FRIDAY, "General Prayer Day"),
+        new SimpleHoliday(Calendar.JUNE,    5,                    "Constitution Day"),
+        SimpleHoliday.CHRISTMAS_EVE,
+        SimpleHoliday.CHRISTMAS,
+        SimpleHoliday.BOXING_DAY,
+        SimpleHoliday.NEW_YEARS_EVE,
+
+        // Easter and related holidays
+        EasterHoliday.MAUNDY_THURSDAY,
+        EasterHoliday.GOOD_FRIDAY,
+        EasterHoliday.EASTER_SUNDAY,
+        EasterHoliday.EASTER_MONDAY,
+        EasterHoliday.ASCENSION,
+        EasterHoliday.WHIT_MONDAY,
+    };
+
+    static private final Object[][] fContents = {
+        {   "holidays",             fHolidays },
+    };
+    public synchronized Object[][] getContents() { return fContents; }
+}
diff --git a/src/com/ibm/icu/impl/data/HolidayBundle_de.java b/src/com/ibm/icu/impl/data/HolidayBundle_de.java
new file mode 100755
index 0000000..35b10f2
--- /dev/null
+++ b/src/com/ibm/icu/impl/data/HolidayBundle_de.java
@@ -0,0 +1,67 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+package com.ibm.icu.impl.data;
+
+import java.util.ListResourceBundle;
+
+public class HolidayBundle_de extends ListResourceBundle {
+    static private final Object[][] fContents = {
+        {   "All Saints' Day",              "Allerheiligen" },
+        {   "All Souls' Day",               "Allerseelen" },
+        {   "Armistice Day",                "Waffenstillstandstag" },
+        {   "Ascension",                    "Christi Himmelfahrt" },
+        {   "Ash Wednesday",                "Aschermittwoch" },
+        {   "Assumption",                   "Mari\u00e4 Himmelfahrt" },
+        {   "Boxing Day",                   "2. Weihnachtstag" },
+        {   "Carnival",                     "Karneval" },
+        {   "Christmas",                    "Weihnachtstag" },
+        {   "Civic Holiday",                "B\u00fcrgerfeiertag" },
+        {   "Constitution Day",             "Verfassungstag" },
+        {   "Corpus Christi",               "Fronleichnam" },
+        {   "Day of Prayer and Repentance", "Bu\u00df- und Bettag" },
+        {   "Easter Monday",                "Ostermonntag" },
+        {   "Easter Sunday",                "Ostersonntag" },
+        {   "Epiphany",                     "Heilige 3 K\u00f6nige" },
+        {   "Father's Day",                 "Vatertag" },
+        {   "Flag Day",                     "Jahrestag der Nationalflagge" },
+        {   "German Unity Day",             "Tag der deutschen Einheit" },
+        {   "Good Friday",                  "Karfreitag" },
+        {   "Halloween",                    "Abend vor Allerheiligen" },
+        {   "Immaculate Conception",        "Mari\u00e4 Empf\u00e4ngnis" },
+        {   "Independence Day",             "Unabh\u00e4ngigkeitstag" },
+        {   "Labor Day",                    "Tag der Arbeit" },
+        {   "Liberation Day",               "Befreiungstag" },
+        {   "Mardi Gras",                   "Faschingsdienstag" },
+        {   "Maundy Thursday",              "Gr\u00fcndonnerstag" },
+        {   "May Day",                      "Maifeiertag" },
+        {   "Memorial Day",                 "Tag des Gedenkens" },
+        {   "Mother's Day",                 "Muttertag" },
+        {   "National Holiday",             "Nationalfeiertag" },
+        {   "New Year's Day",               "Neujahr" },
+        {   "New Year's Eve",               "Silvesterabend" },
+        {   "Palm Sunday",                  "Palmsonntag" },
+        {   "Pentecost",                    "Pfingsten" },
+        {   "Presidents' Day",              "Pr\u00e4sidentstag" },
+        {   "Remembrance Day",              "Volkstrauertag" },
+        {   "Revolution Day",               "Jahrestag der Revolution" },
+        {   "Rose Monday",                  "Rosenmontag" },
+        {   "St. Stephen's Day",            "Stephanitag" },
+        {   "Shrove Tuesday",               "Faschingsdienstag" },
+        {   "Spring Holiday",               "Tag des Fr\u00fchlings" },
+        {   "Summer Bank Holiday",          "Bankfeiertag" },
+        {   "Thanksgiving",                 "Dankfest" },
+        {   "Unity Day",                    "Einheitstag" },
+        {   "Veterans' Day",                "Veteranstag" },
+        {   "Victory Day",                  "Tag der Befreiung" },
+        {   "Washington's Birthday",        "Washingtons Geburtstag" },
+        {   "Whit Monday",                  "Pfingstmontag" },
+        {   "Whit Sunday",                  "Pfingstsonntag" },
+    };
+
+    public synchronized Object[][] getContents() { return fContents; }
+}
diff --git a/src/com/ibm/icu/impl/data/HolidayBundle_de_AT.java b/src/com/ibm/icu/impl/data/HolidayBundle_de_AT.java
new file mode 100755
index 0000000..3e6f714
--- /dev/null
+++ b/src/com/ibm/icu/impl/data/HolidayBundle_de_AT.java
@@ -0,0 +1,43 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+package com.ibm.icu.impl.data;
+
+import com.ibm.icu.util.*;
+import java.util.Calendar;
+import java.util.ListResourceBundle;
+
+public class HolidayBundle_de_AT extends ListResourceBundle {
+    static private final Holiday[] fHolidays = {
+        SimpleHoliday.NEW_YEARS_DAY,
+        SimpleHoliday.EPIPHANY,
+        EasterHoliday.GOOD_FRIDAY,
+        EasterHoliday.EASTER_SUNDAY,
+        EasterHoliday.EASTER_MONDAY,
+        EasterHoliday.ASCENSION,
+        EasterHoliday.WHIT_SUNDAY,
+        EasterHoliday.WHIT_MONDAY,
+        EasterHoliday.CORPUS_CHRISTI,
+        SimpleHoliday.ASSUMPTION,
+        SimpleHoliday.ALL_SAINTS_DAY,
+        SimpleHoliday.IMMACULATE_CONCEPTION,
+        SimpleHoliday.CHRISTMAS,
+        SimpleHoliday.ST_STEPHENS_DAY,
+
+        new SimpleHoliday(Calendar.MAY,        1,  0,               "National Holiday"),
+        new SimpleHoliday(Calendar.OCTOBER,   31, -Calendar.MONDAY, "National Holiday"),
+    };
+
+    static private final Object[][] fContents = {
+        { "holidays",   fHolidays },
+
+        // Only holidays names different from those used in Germany are listed here
+        {   "Christmas",        "Christtag" },
+        {   "New Year's Day",   "Neujahrstag" },
+    };
+    public synchronized Object[][] getContents() { return fContents; }
+}
diff --git a/src/com/ibm/icu/impl/data/HolidayBundle_de_DE.java b/src/com/ibm/icu/impl/data/HolidayBundle_de_DE.java
new file mode 100755
index 0000000..a39feee
--- /dev/null
+++ b/src/com/ibm/icu/impl/data/HolidayBundle_de_DE.java
@@ -0,0 +1,38 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+package com.ibm.icu.impl.data;
+
+import com.ibm.icu.util.*;
+import java.util.Calendar;
+import java.util.ListResourceBundle;
+
+public class HolidayBundle_de_DE extends ListResourceBundle {
+    static private final Holiday[] fHolidays = {
+        SimpleHoliday.NEW_YEARS_DAY,
+        SimpleHoliday.MAY_DAY,
+        new SimpleHoliday(Calendar.JUNE,      15,  Calendar.WEDNESDAY,  "Memorial Day"),
+        new SimpleHoliday(Calendar.OCTOBER,    3,  0,                   "Unity Day"),
+        SimpleHoliday.ALL_SAINTS_DAY,
+        new SimpleHoliday(Calendar.NOVEMBER,  18,  0,                   "Day of Prayer and Repentance"),
+        SimpleHoliday.CHRISTMAS,
+        SimpleHoliday.BOXING_DAY,
+
+        // Easter and related holidays
+        EasterHoliday.GOOD_FRIDAY,
+        EasterHoliday.EASTER_SUNDAY,
+        EasterHoliday.EASTER_MONDAY,
+        EasterHoliday.ASCENSION,
+        EasterHoliday.WHIT_SUNDAY,
+        EasterHoliday.WHIT_MONDAY,
+    };
+
+    static private final Object[][] fContents = {
+        { "holidays",   fHolidays },
+    };
+    public synchronized Object[][] getContents() { return fContents; }
+}
diff --git a/src/com/ibm/icu/impl/data/HolidayBundle_el.java b/src/com/ibm/icu/impl/data/HolidayBundle_el.java
new file mode 100755
index 0000000..f9d76ba7
--- /dev/null
+++ b/src/com/ibm/icu/impl/data/HolidayBundle_el.java
@@ -0,0 +1,29 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+package com.ibm.icu.impl.data;
+
+import java.util.ListResourceBundle;
+
+public class HolidayBundle_el extends ListResourceBundle {
+    static private final Object[][] fContents =
+    {
+        {   "Assumption",           "15 \u0391\u03cd\u03b3\u03bf\u03cd\u03c3\u03c4\u03bf\u03c5" },
+        {   "Boxing Day",           "\u0394\u03b5\u03cd\u03c4\u03b5\u03c1\u03b7 \u03bc\u03ad\u03c1\u03b1 \u03c4\u03ce\u03bd \u03a7\u03c1\u03b9\u03c3\u03c4\u03bf\u03c5\u03b3\u03ad\u03bd\u03bd\u03c9\u03bd" },
+        {   "Christmas",            "\u03a7\u03c1\u03b9\u03c3\u03c4\u03bf\u03cd\u03b3\u03b5\u03bd\u03bd\u03b1" },
+        {   "Clean Monday",         "\u039a\u03b1\u03b8\u03b1\u03c1\u03ae \u0394\u03b5\u03c5\u03c4\u03ad\u03c1\u03b1" },
+        {   "Easter Monday",        "\u0394\u03b5\u03cd\u03c4\u03b5\u03c1\u03b7 \u03bc\u03ad\u03c1\u03b1 \u03c4\u03bf\u03cd \u03a0\u03ac\u03c3\u03c7\u03b1" },
+        {   "Epiphany",             "\u0388\u03c0\u03b9\u03c6\u03ac\u03bd\u03b5\u03b9\u03b1" },
+        {   "Good Friday",          "\u039c\u03b5\u03b3\u03ac\u03bb\u03b7 \u03a0\u03b1\u03c1\u03b1\u03c3\u03ba\u03b5\u03c5\u03ae" },
+        {   "May Day",              "\u03a0\u03c1\u03c9\u03c4\u03bf\u03bc\u03b1\u03b3\u03b9\u03ac" },
+        {   "New Year's Day",       "\u03a0\u03c1\u03c9\u03c4\u03bf\u03c7\u03c1\u03bf\u03bd\u03b9\u03ac" },
+        {   "Ochi Day",             "28 \u038c\u03ba\u03c4\u03c9\u03b2\u03c1\u03af\u03bf\u03c5" },
+        {   "Whit Monday",          "\u0394\u03b5\u03cd\u03c4\u03b5\u03c1\u03b7 \u03bc\u03ad\u03c1\u03b1 \u03c4\u03bf\u03cd \u03a0\u03b5\u03bd\u03c4\u03b7\u03ba\u03bf\u03c3\u03c4\u03ae" },
+
+    };
+    public synchronized Object[][] getContents() { return fContents; }
+}
diff --git a/src/com/ibm/icu/impl/data/HolidayBundle_el_GR.java b/src/com/ibm/icu/impl/data/HolidayBundle_el_GR.java
new file mode 100755
index 0000000..9e1fabb
--- /dev/null
+++ b/src/com/ibm/icu/impl/data/HolidayBundle_el_GR.java
@@ -0,0 +1,39 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+package com.ibm.icu.impl.data;
+
+import com.ibm.icu.util.*;
+import java.util.Calendar;
+import java.util.ListResourceBundle;
+
+public class HolidayBundle_el_GR extends ListResourceBundle {
+    static private final Holiday[] fHolidays = {
+        SimpleHoliday.NEW_YEARS_DAY,
+        SimpleHoliday.EPIPHANY,
+
+        new SimpleHoliday(Calendar.MARCH,     25,  0,    "Independence Day"),
+
+        SimpleHoliday.MAY_DAY,
+        SimpleHoliday.ASSUMPTION,
+
+        new SimpleHoliday(Calendar.OCTOBER,   28,  0,    "Ochi Day"),
+
+        SimpleHoliday.CHRISTMAS,
+        SimpleHoliday.BOXING_DAY,
+
+        // Easter and related holidays in the Orthodox calendar
+        new EasterHoliday(-2,   true, "Good Friday"),
+        new EasterHoliday( 0,   true, "Easter Sunday"),
+        new EasterHoliday( 1,   true, "Easter Monday"),
+        new EasterHoliday(50,   true, "Whit Monday"),
+    };
+    static private final Object[][] fContents = {
+        {   "holidays",         fHolidays   },
+    };
+    public synchronized Object[][] getContents() { return fContents; }
+}
diff --git a/src/com/ibm/icu/impl/data/HolidayBundle_en.java b/src/com/ibm/icu/impl/data/HolidayBundle_en.java
new file mode 100755
index 0000000..abc51e7
--- /dev/null
+++ b/src/com/ibm/icu/impl/data/HolidayBundle_en.java
@@ -0,0 +1,28 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+package com.ibm.icu.impl.data;
+
+import java.util.ListResourceBundle;
+
+public class HolidayBundle_en extends ListResourceBundle {
+
+    // Normally, each HolidayBundle uses the holiday's US English name
+    // as the string key for looking up the localized name.  This means
+    // that the key itself can be used if no name is found for the requested
+    // locale.
+    //
+    // For holidays where the key is _not_ the English name, e.g. in the
+    // case of conflicts, the English name must be given here.
+    //
+    static private final Object[][] fContents = {
+        {   "", ""  },      // Can't be empty!
+    };
+
+    public synchronized Object[][] getContents() { return fContents; }
+
+}
diff --git a/src/com/ibm/icu/impl/data/HolidayBundle_en_CA.java b/src/com/ibm/icu/impl/data/HolidayBundle_en_CA.java
new file mode 100755
index 0000000..de9f803
--- /dev/null
+++ b/src/com/ibm/icu/impl/data/HolidayBundle_en_CA.java
@@ -0,0 +1,40 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+package com.ibm.icu.impl.data;
+
+import com.ibm.icu.util.*;
+import java.util.Calendar;
+import java.util.ListResourceBundle;
+
+public class HolidayBundle_en_CA extends ListResourceBundle {
+    static private final Holiday[] fHolidays = {
+        SimpleHoliday.NEW_YEARS_DAY,
+        new SimpleHoliday(Calendar.MAY,       19, 0,                  "Victoria Day"),
+        new SimpleHoliday(Calendar.JULY,       1, 0,                  "Canada Day"),
+        new SimpleHoliday(Calendar.AUGUST,     1, Calendar.MONDAY,    "Civic Holiday"),
+        new SimpleHoliday(Calendar.SEPTEMBER,  1, Calendar.MONDAY,    "Labor Day"),
+        new SimpleHoliday(Calendar.OCTOBER,    8, Calendar.MONDAY,    "Thanksgiving"),
+        new SimpleHoliday(Calendar.NOVEMBER,  11, 0,                  "Remembrance Day"),
+        SimpleHoliday.CHRISTMAS,
+        SimpleHoliday.BOXING_DAY,
+        SimpleHoliday.NEW_YEARS_EVE,
+
+        // Easter and related holidays
+        //hey {jf} - where are these from?
+//        EasterHoliday.GOOD_FRIDAY,
+//        EasterHoliday.EASTER_SUNDAY,
+//        EasterHoliday.EASTER_MONDAY,
+    };
+
+    static private final Object[][] fContents = {
+        { "holidays",   fHolidays },
+
+        { "Labor Day",  "Labour Day" },
+    };
+    public synchronized Object[][] getContents() { return fContents; }
+}
diff --git a/src/com/ibm/icu/impl/data/HolidayBundle_en_GB.java b/src/com/ibm/icu/impl/data/HolidayBundle_en_GB.java
new file mode 100755
index 0000000..9a71420
--- /dev/null
+++ b/src/com/ibm/icu/impl/data/HolidayBundle_en_GB.java
@@ -0,0 +1,36 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+package com.ibm.icu.impl.data;
+
+import com.ibm.icu.util.*;
+import java.util.Calendar;
+import java.util.ListResourceBundle;
+
+public class HolidayBundle_en_GB extends ListResourceBundle
+{
+    static private final Holiday[] fHolidays = {
+        SimpleHoliday.NEW_YEARS_DAY,
+        SimpleHoliday.MAY_DAY,
+        new SimpleHoliday(Calendar.MAY,        31, -Calendar.MONDAY,    "Spring Holiday"),
+        new SimpleHoliday(Calendar.AUGUST,     31, -Calendar.MONDAY,    "Summer Bank Holiday"),
+        SimpleHoliday.CHRISTMAS,
+        SimpleHoliday.BOXING_DAY,
+        new SimpleHoliday(Calendar.DECEMBER,   31, -Calendar.MONDAY,    "Christmas Holiday"),
+
+        // Easter and related holidays
+        EasterHoliday.GOOD_FRIDAY,
+        EasterHoliday.EASTER_SUNDAY,
+        EasterHoliday.EASTER_MONDAY,
+    };
+    static private final Object[][] fContents = {
+        { "holidays",   fHolidays },
+
+        { "Labor Day",  "Labour Day" },
+    };
+    public synchronized Object[][] getContents() { return fContents; }
+}
diff --git a/src/com/ibm/icu/impl/data/HolidayBundle_en_US.java b/src/com/ibm/icu/impl/data/HolidayBundle_en_US.java
new file mode 100755
index 0000000..11d1531
--- /dev/null
+++ b/src/com/ibm/icu/impl/data/HolidayBundle_en_US.java
@@ -0,0 +1,46 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+package com.ibm.icu.impl.data;
+
+import com.ibm.icu.util.*;
+import java.util.Calendar;
+import java.util.ListResourceBundle;
+
+public class HolidayBundle_en_US extends ListResourceBundle
+{
+    static private final Holiday[] fHolidays = {
+        SimpleHoliday.NEW_YEARS_DAY,
+        new SimpleHoliday(Calendar.JANUARY,   15, Calendar.MONDAY,      "Martin Luther King Day",   1986),
+
+        new SimpleHoliday(Calendar.FEBRUARY,  15, Calendar.MONDAY,      "Presidents' Day",          1976),
+        new SimpleHoliday(Calendar.FEBRUARY,  22,                       "Washington's Birthday",    1776, 1975),
+
+        EasterHoliday.GOOD_FRIDAY,
+        EasterHoliday.EASTER_SUNDAY,
+
+        new SimpleHoliday(Calendar.MAY,        8, Calendar.SUNDAY,      "Mother's Day",             1914),
+
+        new SimpleHoliday(Calendar.MAY,       31, -Calendar.MONDAY,     "Memorial Day",             1971),
+        new SimpleHoliday(Calendar.MAY,       30,                       "Memorial Day",             1868, 1970),
+
+        new SimpleHoliday(Calendar.JUNE,      15, Calendar.SUNDAY,      "Father's Day",             1956),
+        new SimpleHoliday(Calendar.JULY,       4,                       "Independence Day",         1776),
+        new SimpleHoliday(Calendar.SEPTEMBER,  1, Calendar.MONDAY,      "Labor Day",                1894),
+        new SimpleHoliday(Calendar.NOVEMBER,   2, Calendar.TUESDAY,     "Election Day"),
+        new SimpleHoliday(Calendar.OCTOBER,    8, Calendar.MONDAY,      "Columbus Day",             1971),
+        new SimpleHoliday(Calendar.OCTOBER ,  31,                       "Halloween"),
+        new SimpleHoliday(Calendar.NOVEMBER,  11,                       "Veterans' Day",            1918),
+        new SimpleHoliday(Calendar.NOVEMBER,  22, Calendar.THURSDAY,    "Thanksgiving",             1863),
+
+        SimpleHoliday.CHRISTMAS,
+    };
+    static private final Object[][] fContents = {
+        { "holidays",   fHolidays },
+    };
+    public synchronized Object[][] getContents() { return fContents; }
+}
diff --git a/src/com/ibm/icu/impl/data/HolidayBundle_es.java b/src/com/ibm/icu/impl/data/HolidayBundle_es.java
new file mode 100755
index 0000000..1492564
--- /dev/null
+++ b/src/com/ibm/icu/impl/data/HolidayBundle_es.java
@@ -0,0 +1,50 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+package com.ibm.icu.impl.data;
+
+import java.util.ListResourceBundle;
+
+public class HolidayBundle_es extends ListResourceBundle {
+    static private final Object[][] fContents = {
+        {   "All Saints' Day",          "Todos los Santos" },
+        {   "Armistice Day",            "D\u00eda del Armisticio" },
+        {   "Ascension",                "Ascensi\u00f3n" },
+        {   "Benito Ju\u00e1rez Day",        "D\u00eda de la Benito Ju\u00e1rez" },
+        {   "Boxing Day",               "D\u00eda en que se dan Aguinaldos Navide\u00f1os" },
+        {   "Canada Day",               "D\u00eda del Canad\u00e1" },
+        {   "Christmas Eve",            "V\u00EDspera de Navidad" },
+        {   "Christmas",                "Navidad" },
+        {   "Constitution Day",         "D\u00eda de la Constituci\u00f3n" },
+        {   "Day of the Dead",          "D\u00eda de los Muertos" },
+        {   "Easter Sunday",            "Pascua" },
+        {   "Easter Monday",            "Pascua Lunes" },
+        {   "Epiphany",                 "Epifan\u00eda" },
+        {   "Father's Day",             "D\u00eda del Padre" },
+        {   "Flag Day",                 "D\u00eda de la Bandera" },
+        {   "Good Friday",              "Viernes Santo" },
+        {   "Halloween",                "v\u00edspera de Todos los Santos" },
+        {   "Independence Day",         "D\u00eda de la Independencia" },
+        {   "Labor Day",                "D\u00eda de Trabajadores" },
+        {   "Maundy Thursday",          "Jueves Santo" },
+        {   "May Day",                  "Primero de Mayo" },
+        {   "Memorial Day",             "D\u00eda de la Rememoraci\u00f3n" },
+        {   "Mother's Day",             "D\u00eda de la Madre" },
+        {   "New Year's Day",           "A\u00f1o Nuevo" },
+        {   "Palm Sunday",              "Domingo de Ramos" },
+        {   "Pentecost",                "Pentecost\u00e9s" },
+        {   "Presidents' Day",          "D\u00eda de Presidentes" },
+        {   "Revolution Day",           "D\u00eda de la Revoluci\u00f3n" },
+        {   "Shrove Tuesday",           "Martes de Carnaval" },
+        {   "Thanksgiving",             "D\u00eda de Acci\u00f3n de Gracias" },
+        {   "Veterans' Day",            "D\u00eda de Veteranos" },
+        {   "Victoria Day",             "D\u00eda de Victoria" },
+        {   "Whit Sunday",              "Pentecost\u00e9s" },
+    };
+
+    public synchronized Object[][] getContents() { return fContents; }
+}
diff --git a/src/com/ibm/icu/impl/data/HolidayBundle_es_MX.java b/src/com/ibm/icu/impl/data/HolidayBundle_es_MX.java
new file mode 100755
index 0000000..dc52fcf
--- /dev/null
+++ b/src/com/ibm/icu/impl/data/HolidayBundle_es_MX.java
@@ -0,0 +1,34 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+package com.ibm.icu.impl.data;
+
+import com.ibm.icu.util.*;
+import java.util.Calendar;
+import java.util.ListResourceBundle;
+
+public class HolidayBundle_es_MX extends ListResourceBundle {
+    static private final Holiday[] fHolidays = {
+        SimpleHoliday.NEW_YEARS_DAY,
+        new SimpleHoliday(Calendar.FEBRUARY,   5,  0,    "Constitution Day"),
+        new SimpleHoliday(Calendar.MARCH,     21,  0,    "Benito Ju\u00E1rez Day"),
+        SimpleHoliday.MAY_DAY,
+        new SimpleHoliday(Calendar.MAY,        5,  0,    "Cinco de Mayo"),
+        new SimpleHoliday(Calendar.JUNE,       1,  0,    "Navy Day"),
+        new SimpleHoliday(Calendar.SEPTEMBER, 16,  0,    "Independence Day"),
+        new SimpleHoliday(Calendar.OCTOBER,   12,  0,    "D\u00EDa de la Raza"),
+        SimpleHoliday.ALL_SAINTS_DAY,
+        new SimpleHoliday(Calendar.NOVEMBER,   2,  0,    "Day of the Dead"),
+        new SimpleHoliday(Calendar.NOVEMBER,  20,  0,    "Revolution Day"),
+        new SimpleHoliday(Calendar.DECEMBER,  12,  0,    "Flag Day"),
+        SimpleHoliday.CHRISTMAS,
+    };
+    static private final Object[][] fContents = {
+        { "holidays",   fHolidays },
+    };
+    public synchronized Object[][] getContents() { return fContents; }
+}
diff --git a/src/com/ibm/icu/impl/data/HolidayBundle_fr.java b/src/com/ibm/icu/impl/data/HolidayBundle_fr.java
new file mode 100755
index 0000000..4564778
--- /dev/null
+++ b/src/com/ibm/icu/impl/data/HolidayBundle_fr.java
@@ -0,0 +1,43 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+package com.ibm.icu.impl.data;
+
+import java.util.ListResourceBundle;
+
+public class HolidayBundle_fr extends ListResourceBundle {
+    static private final Object[][] fContents = {
+        {   "All Saints' Day",      "Toussaint" },
+        {   "Armistice Day",        "Jour de l'Armistice" },
+        {   "Ascension",            "Ascension" },
+        {   "Bastille Day",         "F\u00EAte de la Bastille" },
+        {   "Benito Ju\u00E1rez Day",    "F\u00EAte de Benito Ju\u00E1rez" },
+        {   "Boxing Day",           "Lendemain de No\u00EBl" },
+        {   "Christmas Eve",        "Veille de No\u00EBl" },
+        {   "Christmas",            "No\u00EBl" },
+        {   "Easter Monday",        "P\u00E2ques lundi" },
+        {   "Easter Sunday",        "P\u00E2ques" },
+        {   "Epiphany",             "l'\u00C9piphanie" },
+        {   "Flag Day",             "F\u00EAte du Drapeau" },
+        {   "Good Friday",          "Vendredi Saint" },
+        {   "Halloween",            "Veille de la Toussaint" },
+        {   "All Saints' Day",      "Toussaint" },
+        {   "Independence Day",     "F\u00EAte Ind\u00E9pendance" },
+        {   "Maundy Thursday",      "Jeudi Saint" },
+        {   "Mother's Day",         "F\u00EAte des m\u00E8res" },
+        {   "National Day",         "F\u00EAte Nationale" },
+        {   "New Year's Day",       "Jour de l'an" },
+        {   "Palm Sunday",          "les Rameaux" },
+        {   "Pentecost",            "Pentec\u00F4te" },
+        {   "Shrove Tuesday",       "Mardi Gras" },
+        {   "St. Stephen's Day",    "Saint-\u00C9tienne" },
+        {   "Victoria Day",         "F\u00EAte de la Victoria" },
+        {   "Victory Day",          "F\u00EAte de la Victoire" },
+    };
+
+    public synchronized Object[][] getContents() { return fContents; }
+}
diff --git a/src/com/ibm/icu/impl/data/HolidayBundle_fr_CA.java b/src/com/ibm/icu/impl/data/HolidayBundle_fr_CA.java
new file mode 100755
index 0000000..fd34777
--- /dev/null
+++ b/src/com/ibm/icu/impl/data/HolidayBundle_fr_CA.java
@@ -0,0 +1,37 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+package com.ibm.icu.impl.data;
+
+import com.ibm.icu.util.*;
+import java.util.Calendar;
+import java.util.ListResourceBundle;
+
+public class HolidayBundle_fr_CA extends ListResourceBundle {
+    static private final Holiday[] fHolidays = {
+        new SimpleHoliday(Calendar.JANUARY,    1,  0,                  "New Year's Day"),
+        new SimpleHoliday(Calendar.MAY,       19,  0,                  "Victoria Day"),
+        new SimpleHoliday(Calendar.JUNE,      24,  0,                  "National Day"),
+        new SimpleHoliday(Calendar.JULY,       1,  0,                  "Canada Day"),
+        new SimpleHoliday(Calendar.AUGUST,     1,  Calendar.MONDAY,    "Civic Holiday"),
+        new SimpleHoliday(Calendar.SEPTEMBER,  1,  Calendar.MONDAY,    "Labour Day"),
+        new SimpleHoliday(Calendar.OCTOBER,    8,  Calendar.MONDAY,    "Thanksgiving"),
+        new SimpleHoliday(Calendar.NOVEMBER,  11,  0,                  "Remembrance Day"),
+        SimpleHoliday.CHRISTMAS,
+        SimpleHoliday.BOXING_DAY,
+        SimpleHoliday.NEW_YEARS_EVE,
+
+        // Easter and related holidays
+        EasterHoliday.GOOD_FRIDAY,
+        EasterHoliday.EASTER_SUNDAY,
+        EasterHoliday.EASTER_MONDAY,
+    };
+    static private final Object[][] fContents = {
+        { "holidays",   fHolidays },
+    };
+    public synchronized Object[][] getContents() { return fContents; }
+}
diff --git a/src/com/ibm/icu/impl/data/HolidayBundle_fr_FR.java b/src/com/ibm/icu/impl/data/HolidayBundle_fr_FR.java
new file mode 100755
index 0000000..244a9b6
--- /dev/null
+++ b/src/com/ibm/icu/impl/data/HolidayBundle_fr_FR.java
@@ -0,0 +1,36 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+package com.ibm.icu.impl.data;
+
+import com.ibm.icu.util.*;
+import java.util.Calendar;
+import java.util.ListResourceBundle;
+
+public class HolidayBundle_fr_FR extends ListResourceBundle {
+    static private final Holiday[] fHolidays = {
+        SimpleHoliday.NEW_YEARS_DAY,
+        new SimpleHoliday(Calendar.MAY,        1,  0, "Labor Day"),
+        new SimpleHoliday(Calendar.MAY,        8,  0, "Victory Day"),
+        new SimpleHoliday(Calendar.JULY,      14,  0, "Bastille Day"),
+        SimpleHoliday.ASSUMPTION,
+        SimpleHoliday.ALL_SAINTS_DAY,
+        new SimpleHoliday(Calendar.NOVEMBER,  11,  0, "Armistice Day"),
+        SimpleHoliday.CHRISTMAS,
+
+        // Easter and related holidays
+        EasterHoliday.EASTER_SUNDAY,
+        EasterHoliday.EASTER_MONDAY,
+        EasterHoliday.ASCENSION,
+        EasterHoliday.WHIT_SUNDAY,
+        EasterHoliday.WHIT_MONDAY,
+    };
+    static private final Object[][] fContents = {
+        { "holidays",   fHolidays },
+    };
+    public synchronized Object[][] getContents() { return fContents; }
+}
diff --git a/src/com/ibm/icu/impl/data/HolidayBundle_it.java b/src/com/ibm/icu/impl/data/HolidayBundle_it.java
new file mode 100755
index 0000000..c12bdc7
--- /dev/null
+++ b/src/com/ibm/icu/impl/data/HolidayBundle_it.java
@@ -0,0 +1,35 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+package com.ibm.icu.impl.data;
+
+import java.util.ListResourceBundle;
+
+public class HolidayBundle_it extends ListResourceBundle {
+    static private final Object[][] fContents =
+    {
+        {   "All Saints' Day",      "Ognissanti" },
+        {   "Armistice Day",        "armistizio" },
+        {   "Ascension",            "ascensione" },
+        {   "Ash Wednesday",        "mercoled\u00ec delle ceneri" },
+        {   "Boxing Day",           "Santo Stefano" },
+        {   "Christmas",            "natale" },
+        {   "Easter Sunday",        "pasqua" },
+        {   "Epiphany",             "Epifania" },
+        {   "Good Friday",          "venerd\u00ec santo" },
+        {   "Halloween",            "vigilia di Ognissanti" },
+        {   "Maundy Thursday",      "gioved\u00ec santo" },
+        {   "New Year's Day",       "anno nuovo" },
+        {   "Palm Sunday",          "domenica delle palme" },
+        {   "Pentecost",            "di Pentecoste" },
+        {   "Shrove Tuesday",       "martedi grasso" },
+        {   "St. Stephen's Day",    "Santo Stefano" },
+        {   "Thanksgiving",         "Giorno del Ringraziamento" },
+
+    };
+    public synchronized Object[][] getContents() { return fContents; }
+}
diff --git a/src/com/ibm/icu/impl/data/HolidayBundle_it_IT.java b/src/com/ibm/icu/impl/data/HolidayBundle_it_IT.java
new file mode 100755
index 0000000..919648f
--- /dev/null
+++ b/src/com/ibm/icu/impl/data/HolidayBundle_it_IT.java
@@ -0,0 +1,35 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+package com.ibm.icu.impl.data;
+
+import com.ibm.icu.util.*;
+import java.util.Calendar;
+import java.util.ListResourceBundle;
+
+public class HolidayBundle_it_IT extends ListResourceBundle {
+    static private final Holiday[] fHolidays = {
+        SimpleHoliday.NEW_YEARS_DAY,
+        SimpleHoliday.EPIPHANY,
+        new SimpleHoliday(Calendar.APRIL,      1,  0,    "Liberation Day"),
+        new SimpleHoliday(Calendar.MAY,        1,  0,    "Labor Day"),
+        SimpleHoliday.ASSUMPTION,
+        SimpleHoliday.ALL_SAINTS_DAY,
+        SimpleHoliday.IMMACULATE_CONCEPTION,
+        SimpleHoliday.CHRISTMAS,
+        new SimpleHoliday(Calendar.DECEMBER,  26,  0,    "St. Stephens Day"),
+        SimpleHoliday.NEW_YEARS_EVE,
+
+        // Easter and related holidays
+        EasterHoliday.EASTER_SUNDAY,
+        EasterHoliday.EASTER_MONDAY,
+    };
+    static private final Object[][] fContents = {
+        { "holidays",           fHolidays },
+    };
+    public synchronized Object[][] getContents() { return fContents; }
+}
diff --git a/src/com/ibm/icu/impl/data/HolidayBundle_iw.java b/src/com/ibm/icu/impl/data/HolidayBundle_iw.java
new file mode 100755
index 0000000..53ab7f6
--- /dev/null
+++ b/src/com/ibm/icu/impl/data/HolidayBundle_iw.java
@@ -0,0 +1,20 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+package com.ibm.icu.impl.data;
+
+import java.util.ListResourceBundle;
+
+public class HolidayBundle_iw extends ListResourceBundle {
+
+    static private final Object[][] fContents = {
+        {   "", ""  },      // Can't be empty!
+    };
+
+    public synchronized Object[][] getContents() { return fContents; }
+
+}
diff --git a/src/com/ibm/icu/impl/data/HolidayBundle_iw_IL.java b/src/com/ibm/icu/impl/data/HolidayBundle_iw_IL.java
new file mode 100755
index 0000000..7d60b08
--- /dev/null
+++ b/src/com/ibm/icu/impl/data/HolidayBundle_iw_IL.java
@@ -0,0 +1,28 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+package com.ibm.icu.impl.data;
+
+import com.ibm.icu.util.*;
+import java.util.ListResourceBundle;
+
+public class HolidayBundle_iw_IL extends ListResourceBundle {
+    static private final Holiday[] fHolidays = {
+        HebrewHoliday.ROSH_HASHANAH,
+        HebrewHoliday.YOM_KIPPUR,
+        HebrewHoliday.HANUKKAH,
+        HebrewHoliday.PURIM,
+        HebrewHoliday.PASSOVER,
+        HebrewHoliday.SHAVUOT,
+        HebrewHoliday.SELIHOT,
+    };
+
+    static private final Object[][] fContents = {
+        { "holidays",   fHolidays },
+    };
+    public synchronized Object[][] getContents() { return fContents; }
+}
diff --git a/src/com/ibm/icu/impl/data/HolidayBundle_ja_JP.java b/src/com/ibm/icu/impl/data/HolidayBundle_ja_JP.java
new file mode 100755
index 0000000..e7ef8ff
--- /dev/null
+++ b/src/com/ibm/icu/impl/data/HolidayBundle_ja_JP.java
@@ -0,0 +1,22 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+package com.ibm.icu.impl.data;
+
+import com.ibm.icu.util.*;
+import java.util.Calendar;
+import java.util.ListResourceBundle;
+
+public class HolidayBundle_ja_JP extends ListResourceBundle {
+    static private final Holiday[] fHolidays = {
+        new SimpleHoliday(Calendar.FEBRUARY,  11,  0,    "National Foundation Day"),
+    };
+    static private final Object[][] fContents = {
+        {   "holidays",         fHolidays   },
+    };
+    public synchronized Object[][] getContents() { return fContents; }
+}
diff --git a/src/com/ibm/icu/impl/data/ResourceReader.java b/src/com/ibm/icu/impl/data/ResourceReader.java
new file mode 100755
index 0000000..2b2ef63
--- /dev/null
+++ b/src/com/ibm/icu/impl/data/ResourceReader.java
@@ -0,0 +1,229 @@
+/**
+ *******************************************************************************
+ * Copyright (C) 2001-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.impl.data;
+
+import java.io.*;
+
+import com.ibm.icu.impl.ICUData;
+import com.ibm.icu.impl.Utility;
+
+/**
+ * A reader for text resource data in the current package or the package
+ * of a given class object.  The
+ * resource data is loaded through the class loader, so it will
+ * typically be a file in the same directory as the *.class files, or
+ * a file within a JAR file in the corresponding subdirectory.  The
+ * file must be a text file in one of the supported encodings; when the
+ * resource is opened by constructing a <code>ResourceReader</code>
+ * object the encoding is specified.
+ *
+ * @author Alan Liu
+ */
+public class ResourceReader {
+    private BufferedReader reader;
+    private String resourceName;
+    private String encoding; // null for default encoding
+    private Class root;
+    
+    /**
+     * The one-based line number. Has the special value -1 before the
+     * object is initialized. Has the special value 0 after initialization
+     * but before the first line is read.
+     */
+    private int lineNo;
+
+    /**
+     * Construct a reader object for the text file of the given name
+     * in this package, using the given encoding.
+     * @param resourceName the name of the text file located in this
+     * package's ".data" subpackage.
+     * @param encoding the encoding of the text file; if unsupported
+     * an exception is thrown
+     * @exception UnsupportedEncodingException if
+     * <code>encoding</code> is not supported by the JDK.
+     */
+    public ResourceReader(String resourceName, String encoding)
+        throws UnsupportedEncodingException {
+        this(ICUData.class, "data/" + resourceName, encoding);
+    }
+
+    /**
+     * Construct a reader object for the text file of the given name
+     * in this package, using the default encoding.
+     * @param resourceName the name of the text file located in this
+     * package's ".data" subpackage.
+     */
+    public ResourceReader(String resourceName) {
+        this(ICUData.class, "data/" + resourceName);
+    }
+
+    /**
+     * Construct a reader object for the text file of the given name
+     * in the given class's package, using the given encoding.
+     * @param resourceName the name of the text file located in the
+     * given class's package.
+     * @param encoding the encoding of the text file; if unsupported
+     * an exception is thrown
+     * @exception UnsupportedEncodingException if
+     * <code>encoding</code> is not supported by the JDK.
+     */
+    public ResourceReader(Class rootClass, String resourceName, String encoding)
+        throws UnsupportedEncodingException {
+        this.root = rootClass;
+        this.resourceName = resourceName;
+        this.encoding = encoding;
+        lineNo = -1;
+        _reset();
+    }
+
+    /**
+     * @internal
+     * @deprecated This API is ICU internal only.
+     */
+     public ResourceReader(InputStream is, String resourceName) {
+         this.root = null;
+         this.resourceName = resourceName;
+         this.encoding = null;
+
+         this.lineNo = -1;
+         try {
+             InputStreamReader isr = (encoding == null) 
+                 ? new InputStreamReader(is)
+                 : new InputStreamReader(is, encoding);
+
+             this.reader = new BufferedReader(isr);
+             this.lineNo= 0;
+         }
+         catch (UnsupportedEncodingException e) {
+         }
+     }
+
+    /**
+     * Construct a reader object for the text file of the given name
+     * in the given class's package, using the default encoding.
+     * @param resourceName the name of the text file located in the
+     * given class's package.
+     */
+    public ResourceReader(Class rootClass, String resourceName) {
+        this.root = rootClass;
+        this.resourceName = resourceName;
+        this.encoding = null;
+        lineNo = -1;
+        try {
+            _reset();
+        } catch (UnsupportedEncodingException e) {}
+    }
+
+    /**
+     * Read and return the next line of the file or <code>null</code>
+     * if the end of the file has been reached.
+     */
+    public String readLine() throws IOException {
+        if (lineNo == 0) {
+            // Remove BOMs
+            ++lineNo;
+            String line = reader.readLine();
+            if (line.charAt(0) == '\uFFEF' ||
+                line.charAt(0) == '\uFEFF') {
+                line = line.substring(1);
+            }
+            return line;
+        }
+        ++lineNo;
+        return reader.readLine();
+    }
+
+    /**
+     * Read a line, ignoring blank lines and lines that start with
+     * '#'.
+     * @param trim if true then trim leading rule white space.
+     */
+    public String readLineSkippingComments(boolean trim) throws IOException {
+        for (;;) {
+            String line = readLine();
+            if (line == null) {
+                return line;
+            }
+            // Skip over white space
+            int pos = Utility.skipWhitespace(line, 0);
+            // Ignore blank lines and comment lines
+            if (pos == line.length() || line.charAt(pos) == '#') {
+                continue;
+            }
+            // Process line
+            if (trim) line = line.substring(pos);
+            return line;
+        }
+    }
+
+
+    /**
+     * Read a line, ignoring blank lines and lines that start with
+     * '#'. Do not trim leading rule white space.
+     */
+    public String readLineSkippingComments() throws IOException {
+        return readLineSkippingComments(false);
+    }
+
+    /**
+     * Return the one-based line number of the last line returned by
+     * readLine() or readLineSkippingComments(). Should only be called
+     * after a call to one of these methods; otherwise the return
+     * value is undefined.
+     */
+    public int getLineNumber() {
+        return lineNo;
+    }
+    
+    /**
+     * Return a string description of the position of the last line
+     * returned by readLine() or readLineSkippingComments().
+     */
+    public String describePosition() {
+        return resourceName + ':' + lineNo;
+    }
+    
+    /**
+     * Reset this reader so that the next call to
+     * <code>readLine()</code> returns the first line of the file
+     * again.  This is a somewhat expensive call, however, calling
+     * <code>reset()</code> after calling it the first time does
+     * nothing if <code>readLine()</code> has not been called in
+     * between.
+     */
+    public void reset() {
+        try {
+            _reset();
+        } catch (UnsupportedEncodingException e) {}
+        // We swallow this exception, if there is one.  If the encoding is
+        // invalid, the constructor will have thrown this exception already and
+        // the caller shouldn't use the object afterwards.
+    }
+
+    /**
+     * Reset to the start by reconstructing the stream and readers.
+     * We could also use mark() and reset() on the stream or reader,
+     * but that would cause them to keep the stream data around in
+     * memory.  We don't want that because some of the resource files
+     * are large, e.g., 400k.
+     */
+    private void _reset() throws UnsupportedEncodingException {
+        if (lineNo == 0) {
+            return;
+        }
+        InputStream is = ICUData.getStream(root, resourceName);
+        if (is == null) {
+            throw new IllegalArgumentException("Can't open " + resourceName);
+        }
+        
+        InputStreamReader isr =
+            (encoding == null) ? new InputStreamReader(is) :
+                                 new InputStreamReader(is, encoding);
+        reader = new BufferedReader(isr);
+        lineNo = 0;
+    }
+}
diff --git a/src/com/ibm/icu/impl/data/TokenIterator.java b/src/com/ibm/icu/impl/data/TokenIterator.java
new file mode 100644
index 0000000..870ab5f
--- /dev/null
+++ b/src/com/ibm/icu/impl/data/TokenIterator.java
@@ -0,0 +1,159 @@
+/*
+**********************************************************************
+* Copyright (c) 2004, International Business Machines
+* Corporation and others.  All Rights Reserved.
+**********************************************************************
+* Author: Alan Liu
+* Created: March 16 2004
+* Since: ICU 3.0
+**********************************************************************
+*/
+package com.ibm.icu.impl.data;
+
+import java.io.IOException;
+
+import com.ibm.icu.impl.UCharacterProperty;
+import com.ibm.icu.impl.Utility;
+import com.ibm.icu.text.UTF16;
+
+/**
+ * An iterator class that returns successive string tokens from some
+ * source.  String tokens are, in general, separated by rule white
+ * space in the source test.  Furthermore, they may be delimited by
+ * either single or double quotes (opening and closing quotes must
+ * match).  Escapes are processed using standard ICU unescaping.
+ */
+public class TokenIterator {
+
+    private ResourceReader reader;
+    private String line;
+    private StringBuffer buf;
+    private boolean done;
+    private int pos;
+    private int lastpos;
+
+    /**
+     * Construct an iterator over the tokens returned by the given
+     * ResourceReader, ignoring blank lines and comment lines (first
+     * non-blank character is '#').  Note that trailing comments on a
+     * line, beginning with the first unquoted '#', are recognized.
+     */
+    public TokenIterator(ResourceReader r) {
+        reader = r;
+        line = null;
+        done = false;
+        buf = new StringBuffer();
+        pos = lastpos = -1;
+    }
+
+    /**
+     * Return the next token from this iterator, or null if the last
+     * token has been returned.
+     */
+    public String next() throws IOException {
+        if (done) {
+            return null;
+        }
+        for (;;) {
+            if (line == null) {
+                line = reader.readLineSkippingComments();
+                if (line == null) {
+                    done = true;
+                    return null;
+                }
+                pos = 0;
+            }
+            buf.setLength(0);
+            lastpos = pos;
+            pos = nextToken(pos);
+            if (pos < 0) {
+                line = null;
+                continue;
+            }
+            return buf.toString();
+        }
+    }
+
+    /**
+     * Return the one-based line number of the line of the last token returned by
+     * next(). Should only be called
+     * after a call to next(); otherwise the return
+     * value is undefined.
+     */
+    public int getLineNumber() {
+        return reader.getLineNumber();
+    }
+    
+    /**
+     * Return a string description of the position of the last line
+     * returned by readLine() or readLineSkippingComments().
+     */
+    public String describePosition() {
+        return reader.describePosition() + ':' + (lastpos+1);
+    }
+    
+    /**
+     * Read the next token from 'this.line' and append it to
+     * 'this.buf'.  Tokens are separated by rule white space.  Tokens
+     * may also be delimited by double or single quotes.  The closing
+     * quote must match the opening quote.  If a '#' is encountered,
+     * the rest of the line is ignored, unless it is backslash-escaped
+     * or within quotes.
+     * @param pos the offset into the string
+     * @return offset to the next character to read from line, or if
+     * the end of the line is reached without scanning a valid token,
+     * -1
+     */
+    private int nextToken(int pos) {
+        pos = Utility.skipWhitespace(line, pos);
+        if (pos == line.length()) {
+            return -1;
+        }
+        int startpos = pos;
+        char c = line.charAt(pos++);
+        char quote = 0;
+        switch (c) {
+        case '"':
+        case '\'':
+            quote = c;
+            break;
+        case '#':
+            return -1;
+        default:
+            buf.append(c);
+            break;
+        }
+        int[] posref = null;
+        while (pos < line.length()) {
+            c = line.charAt(pos); // 16-bit ok
+            if (c == '\\') {
+                if (posref == null) {
+                    posref = new int[1];
+                }
+                posref[0] = pos+1;
+                int c32 = Utility.unescapeAt(line, posref);
+                if (c32 < 0) {
+                    throw new RuntimeException("Invalid escape at " +
+                                               reader.describePosition() + ':' +
+                                               pos);
+                }
+                UTF16.append(buf, c32);
+                pos = posref[0];
+            } else if ((quote != 0 && c == quote) ||
+                       (quote == 0 && UCharacterProperty.isRuleWhiteSpace(c))) {
+                return ++pos;
+            } else if (quote == 0 && c == '#') {
+                return pos; // do NOT increment
+            } else {
+                buf.append(c);
+                ++pos;
+            }
+        }
+        if (quote != 0) {
+            throw new RuntimeException("Unterminated quote at " +
+                                       reader.describePosition() + ':' +
+                                       startpos);
+        }
+        return pos;
+    }
+}
diff --git a/src/com/ibm/icu/impl/data/Transliterator_Han_Latin_Definition.txt b/src/com/ibm/icu/impl/data/Transliterator_Han_Latin_Definition.txt
new file mode 100644
index 0000000..f89f7b0
--- /dev/null
+++ b/src/com/ibm/icu/impl/data/Transliterator_Han_Latin_Definition.txt
@@ -0,0 +1,55798 @@
+﻿#--------------------------------------------------------------------
+# Copyright (c) 1999-2004, International Business Machines
+# Corporation and others. All Rights Reserved.
+#--------------------------------------------------------------------
+# Convert CJK characters, according to the defintions in CEDICT and Unihan.txt
+# Note: adds space between them and letters.
+{ ([:Han:]) } [:L:] > | $1 ' ';
+[\.\,\?\!．，？！、。[:Pe:][:Pf:]] { } [:L:] > ' ';
+[:L:] { } [[:Han:][:Ps:][:Pi:]]> ' ';
+
+變文 < a\-popular\-form\-of\-narrative\-literature\-flourishing\-in\-the\-tang\-dynasty\-\(618\-907\)\-with\-alternate\-prose\-and\-rhymed\-parts\-for\-recitation\-and\-singing\-\(often\-on\-buddhistic\-themes\);
+邊幣 < border\-region\-currency\-\(consisting\-of\-the\-currency\-notes\-issued\-by\-the\-border\-region\-governments\-during\-the\-war\-of\-resistance\-against\-japan\-and\-the\-war\-of\-liberation\);
+直通車 < \"through\-train\"\-\(refers\-to\-the\-idea\-of\-retaining\-previous\-legislature\-after\-transition\-to\-chinese\-rule\-in\-hong\-kong\-or\-macau\);
+小臟鬼 < dirty\-little\-monster\-\(spoken\-affectionately\-to\-a\-child\-who\-has\-gotten\-him\(her\)self\-dirty\;\-literally\-\"little\-dirty\-ghost\"\);
+殺雞給猴看 < \"kill\-a\-chicken\-in\-front\-of\-a\-monkey\"\-\-\-\-make\-an\-example\-out\-of\-someone\-\(by\-punishing\-them\)\-to\-frighten\-others;
+抱薪救火 < carry\-faggots\-to\-put\-out\-a\-fire\-\-\-adopt\-a\-wrong\-method\-to\-save\-a\-situation\-and\-end\-up\-by\-making\-it\-worse;
+不見棺材不落淚 < not\-shed\-a\-tear\-until\-one\-sees\-the\-coffin\-\-\-refuse\-to\-be\-convinced\-until\-one\-is\-faced\-with\-grim\-reality;
+同期 < the\-corresponding\-time\-period\-\(eg\,\-compare\-inflation\-now\-with\-the\-rate\-during\-the\-same\-month\-last\-year\);
+㡎 < the\-long\-bands\-or\-ribbons\-attrached\-to\-flags\-and\-banners\-the\-feather\-decorected\-carriages\-or\-dresses;
+郯 < name\-of\-a\-small\-ancient\-principality\-which\-was\-situated\-in\-what\-is\-now\-part\-of\-shantung\-and\-kiangsu;
+杯水車薪 < trying\-to\-put\-out\-a\-burning\-cartload\-of\-faggots\-with\-a\-cup\-of\-water\-\-\-an\-utterly\-inadequate\-measure;
+䐞 < the\-thin\-membrane\-between\-skin\-and\-flesh\-that\-protects\-internal\-organs\-or\-tissues\-in\-the\-human\-body;
+偏偏 < \(indicates\-that\-sth\.\-turns\-out\-just\-the\-opposite\-of\-what\-one\-would\-expect\-or\-what\-would\-be\-normal\);
+敬祝 < to\-respectfully\-offer\-\(written\-at\-the\-end\-of\-letter\-from\-someone\-of\-lower\-status\-to\-higher\-status\);
+卜辭 < oracle\-inscriptions\-of\-the\-shang\-dynasty\-\(16th\-11th\-century\-bc\)\-on\-tortoiseshells\-or\-animal\-bones;
+病急亂投醫 < turn\-to\-any\-doctor\-one\-can\-find\-when\-critically\-ill\-\-\-try\-anything\-when\-in\-a\-desperate\-situation;
+辯証施治 < diagnosis\-and\-treatment\-based\-on\-an\-overall\-analysis\-of\-the\-illness\-and\-the\-patient''s\-condition;
+珪 < a\-jade\-table\-conferred\-upon\-feudal\-princes\-by\-the\-emperor\-as\-a\-symbol\-of\-dignity\-and\-authority;
+敝帚自珍 < value\-one''s\-own\-old\-broom\-\-\-cherish\-something\-of\-little\-value\-simply\-because\-it\-is\-one''s\-own;
+不知天高地厚 < not\-know\-the\-immensity\-of\-heaven\-and\-earth\-\-\-have\-an\-exaggerated\-opinion\-of\-one''s\-abilities;
+㺺 < a\-very\-precious\-piece\-of\-jade\-worn\-by\-ancient\-emperors\-to\-match\-tables\-borne\-by\-the\-nobles;
+䀘 < to\-cover\-the\-line\-of\-vision\-or\-sight\-\-\-the\-straight\-line\-between\-an\-object\-and\-one''s\-eyes;
+兵不血刃 < the\-edges\-of\-the\-swords\-not\-being\-stained\-with\-blood\-\-\-win\-victory\-without\-firing\-a\-shot;
+㨧 < wooden\-stick\-or\-bamboo\-cane\-used\-to\-support\-the\-covering\-of\-a\-carriage\-in\-ancient\-times;
+㔣 < in\-ancient\-times\-to\-fight\-against\-the\-enemy\-by\-pushing\-down\-the\-big\-rocks\-from\-up\-high;
+洛德 < \(winston\)\-lord\-\(former\-assistant\-secretary\-of\-state\-for\-east\-asia\-and\-pacific\-affairs\);
+不到黃河心不死 < not\-stop\-until\-one\-reaches\-the\-huanghe\-river\-\-\-not\-stop\-until\-one\-reaches\-one''s\-goal;
+彷徨 < name\-of\-a\-collection\-of\-short\-stories\,\-pang\-huang\,\-\"wandering\-about\"\,\-by\-lu3\-xun4\-魯迅;
+䚫 < ornamental\-articles\-made\-of\-horns\-used\-to\-decorate\-the\-top\-of\-a\-stick\-or\-horsewhip;
+養兒防老 < \(of\-parents\)\-to\-bring\-up\-cihldren\-for\-the\-purpose\-of\-being\-looked\-after\-in\-old\-age;
+陳毅 < chen\-yi\,\-former\-mayor\-of\-shanghai\-and\-highest\-ranking\-military\-commander\-in\-china;
+綺色佳 < ithaca\,\-ny\-\(but\-pronounced\-yi3\-se4\-jia1\,\-following\-a\-mistake\-made\-by\-hu2\-shi4\-胡適\);
+笐 < bamboos\-placed\-across\-wooden\-frames\-on\-which\-grain\-may\-be\-stored\-in\-damp\-climates;
+䣞 < name\-of\-an\-ancient\-state\-which\-occupied\-the\-site\-of\-the\-present\-province\-of\-hubei;
+䇶 < a\-small\-rafters\-made\-of\-bamboo\-which\-project\-form\-the\-eaves\-and\-support\-the\-tiles;
+雷峰塔 < leifeng\-pagoda\,\-by\-west\-lake\-until\-it\-was\-destroyed\-\(also\-from\-madam\-white\-snake\);
+賨 < tribute\-paid\-in\-cloth\-by\-the\-tribes\-in\-szechwan\-and\-yunnan\-under\-the\-han\-dynasty;
+不共戴天 < will\-not\-live\-under\-the\-same\-sky\-\(with\-one''s\-enemy\)\-\-\-absolutely\-irreconcilable;
+禫 < sacrifice\-offered\-at\-the\-end\-of\-the\-three\-years''\-mourning\-the\-death\-of\-a\-parent;
+䂩 < an\-in\-slab\-or\-ink\-stone\-sound\-of\-pebbles\-or\-stones\-rubbing\-or\-knocking\-together;
+䂍 < a\-kind\-of\-weapon\-carried\-by\-the\-honor\-guard\-before\-the\-emperor\-in\-ancient\-times;
+擊其惰歸 < avoid\-the\-enemy\-when\-he\-is\-fresh\-and\-strike\-him\-when\-he\-is\-tired\-and\-withdraws;
+保甲制度 < the\-bao\-jia\-system\-\(an\-administrative\-system\-organized\-on\-basis\-of\-households\);
+包工 < undertake\-to\-perform\-work\-within\-a\-time\-limit\-and\-according\-to\-specifications;
+部首 < radicals\-by\-which\-characters\-are\-arranged\-in\-traditional\-chinese\-dictionaries;
+霸主 < a\-powerful\-chief\-of\-the\-princes\-of\-the\-spring\-and\-autumn\-period\-\(770\-476\-bc\);
+衈 < the\-blood\-of\-a\-sacrificial\-fowl\-which\-was\-sprinkled\-on\-the\-doors\-and\-vessels;
+㯩 < to\-put\-the\-growing\-up\-silkworms\-in\-different\-frames\-according\-to\-their\-sizes;
+㚳 < a\-lady\-teacher\-to\-teach\-the\-proper\-rules\-of\-female\-behavior\-in\-ancient\-times;
+不辨菽麥 < be\-unable\-to\-tell\-beans\-from\-wheat\-\-\-have\-no\-knowledge\-of\-practical\-matters;
+絥 < to\-harness\-a\-horse\-a\-board\-in\-front\-of\-a\-carriage\-for\-the\-driver\-to\-lean\-on;
+䋭 < to\-weave\-silk\-fabrics\-with\-green\-color\-for\-longitude\-and\-white\-for\-latitude;
+㭼 < a\-rectangle\-shaped\-peg\-or\-short\-post\-between\-the\-beans\-and\-the\-roof\-timbers;
+恭喜發財 < congratulations\-for\-getting\-rich\-\(traditional\-chinese\-new\-year''s\-future\-use;
+瑄 < a\-ornamental\-piece\-of\-jade\-several\-inches\-across\-with\-a\-hole\-in\-the\-center;
+牡丹卡 < peony\-card\-\(credit\-card\-issued\-by\-industrial\-and\-commercial\-bank\-of\-china\);
+䬤 < to\-put\-the\-thick\-soup\-or\-broth\-on\-top\-of\-the\-rice\-thick\-congee\-or\-porridge;
+在於 < \(the\-problem\-or\-explanation\-or\-advantage\-etc\.\)\-lies\-in\-\(the\-fact\-that\.\.\.\);
+䥯 < a\-farm\-tool\-to\-crush\-the\-clod\-of\-earth\-into\-pieces\-and\-make\-the\-land\-flat;
+䍖 < a\-kind\-of\-net\-equipted\-with\-tricky\-machine\-used\-to\-catch\-birds\-and\-beasts;
+塞韋裡諾 < \[jean\-michel\]\-severino\-\[world\-bank\-vice\-president\,\-east\-asia\-and\-pacific\];
+䎭 < a\-kind\-of\-farm\-tool\-made\-of\-twisted\-thron\-strips\-used\-to\-flaten\-the\-land;
+教訓 < \(teach\-someone\-or\-learn\-a\)\-lesson\-\(ie\,\-obtain\-wisdom\-from\-an\-experience\);
+三岔口 < at\-the\-crossroads\,\-the\-name\-of\-a\-famous\-opera\,\-story\-from\-shui\-hu\-zhuan;
+筓 < a\-hairpin\-on\-which\-the\-hair\-is\-bound\-at\-the\-back\-of\-the\-head\.\-15\-of\-age;
+李自成 < name\-of\-a\-person\,\-li\-zi\-cheng\,\-leader\-of\-ming\-dynasty\-peasant\-rebellion;
+有期徒刑 < limited\-term\-of\-imprisonment\-\(ie\,\-anything\-less\-than\-life\-imprisonment\);
+江八點 < \"jiang\-zemin''s\-eight\-point\-formula\"\-\(for\-resuming\-a\-dialog\-with\-taiwan\);
+鄧亮洪 < tang\-liang\-hong\-\(opposition\-candidate\-in\-jan\-1996\-singapore\-elections\);
+閉目塞聽 < shuts\-one''s\-eyes\-and\-stop\-up\-one''s\-ears\-\-\-be\-out\-of\-touch\-with\-reality;
+笨鳥先飛 < clumsy\-birds\-have\-to\-start\-flying\-early\-\-\-the\-slow\-need\-to\-start\-early;
+㮲 < a\-small\-ring\-or\-a\-small\-piece\-of\-board\-attached\-to\-the\-muzzle\-of\-an\-ox;
+駁岸 < a\-low\-stone\-wall\-built\-along\-the\-water''s\-edge\-to\-protect\-an\-embankment;
+百聞不如一見 < seeing\-for\-oneself\-is\-a\-hundred\-times\-better\-than\-hearing\-from\-others;
+補法 < treatment\-involving\-the\-use\-of\-tonics\-to\-restore\-the\-patient''s\-health;
+䵻 < a\-small\-tripod\-of\-bronze\-with\-two\-ears\-tripod\-of\-bronze\-with\-two\-ears;
+三不 < \"the\-three\-no''s\"\-\(an\-example\-of\-an\-abbreviated\-slogan\-or\-catchphrase\);
+白朮 < the\-rhizome\-of\-large\-headed\-atractylodes\-\(atractylodes\-macrocephaia\);
+本草綱目 < an\-outline\-treatise\-of\-medical\-herbs\,\-compiled\-by\-li3\-shi2\-zhen1\-李時珍;
+玠 < large\-jade\-tablet\-used\-by\-officials\-at\-court\-to\-indicate\-their\-ranks;
+吃大戶 < mass\-seizure\-of\-food\-from\-landlords\-during\-famines\-before\-liberation;
+䂜 < rocky\-fine\-stone\-which\-is\-little\-less\-valuable\-than\-jade\-to\-collapse;
+㡆 < an\-artisan\-to\-soften\-raw\-silk\-by\-boiling\-and\-to\-dye\-the\-dressed\-silk;
+李時珍 < li\-shi\-zhen\-\(1518\-1593\,\-famous\-doctor\,\-author\-of\-ben3\-cao3\-gang1\-mu4;
+兵強馬壯 < strong\-soldiers\-and\-sturdy\-horses\-\-\-a\-well\-trained\-and\-powerful\-army;
+裎 < to\-take\-off\-the\-clothes\-and\-expose\-the\-body\.\-to\-carry\-in\-the\-girdle;
+鎋 < the\-linch\-pin\-of\-a\-wheel\-to\-govern\-or\-control\-the\-noise\-of\-a\-barrow;
+禽流感 < \"bird\-flu\"\-\(flu\-carried\-by\-birds\-\-\-found\-in\-hong\-kong\-in\-late\-1997\);
+䪐 < something\-made\-of\-bamboo\-put\-in\-the\-bow\-case\-to\-pretect\-from\-damage;
+業余大學 < college\-for\-people\-who\-attend\-after\-work\-\(lit\.\:\-spare\-time\-college\);
+䇭 < containers\-made\-of\-thin\-and\-long\-strip\-of\-bamboo\-or\-willow\-branches;
+㟬 < a\-mountain\-in\-today''s\-shandong\-province\-southwest\-of\-mengyin\-county;
+㚥 < to\-become\-associated\-with\-each\-other\-in\-good\-manners\-and\-politeness;
+宣判 < pronounce\-a\-\(judicial\)\-sentence\-\(after\-a\-verdict\-in\-a\-court\-of\-law\);
+蒙代爾 < \(walter\)\-mondale\-\(us\-ambassador\-to\-japan\,\-former\-us\-vice\-president\);
+陳納德 < \(claire\)\-chennault\,\-commander\-of\-flying\-tigers\-during\-world\-war\-ii;
+病友 < a\-friend\-made\-in\-hospital\-or\-people\-who\-become\-friends\-in\-hospital;
+捕風捉影 < chase\-the\-wind\-and\-clutch\-at\-shadows\-\-\-make\-groundless\-accusations;
+就是 < \(emphasizes\-that\-something\-is\-precisely\-or\-exactly\-what\-is\-stated\);
+䤞 < a\-kind\-of\-weapons\-held\-by\-the\-officials\-in\-attendance\-in\-old\-times;
+㹫 < a\-kind\-of\-animal\-generally\-called\-for\-minority\-groups\-in\-old\-china;
+㳻 < a\-bank\-of\-earth\-or\-an\-embankment\-to\-block\-the\-current\-of\-the\-water;
+㯢 < a\-piece\-of\-cross\-wise\-board\-used\-for\-frame\-on\-which\-silkworms\-spin;
+維爾容 < \(johannes\-lodewikus\)\-viljoen\-\(south\-african\-ambassador\-to\-taiwan\);
+葛洲壩 < name\-of\-a\-place\,\-gezhouba\-dam\-on\-the\-changjiang\-river\,\-in\-sichuan;
+䃘 < simple\-and\-crude\-the\-sound\-of\-pebbles\-or\-stones\-knocking\-together;
+㰱 < to\-smear\-the\-mouth\-with\-the\-blood\-of\-a\-victim\-when\-taking\-an\-oath;
+不分彼此 < make\-no\-distinction\-between\-what''s\-one''s\-own\-and\-what''s\-another''s;
+老驥伏櫪志在千里 < \(lit\.\)\-an\-old\-steed\-in\-the\-stable\-still\-aspires\-to\-gallop\-1000\-li;
+大禹 < da\-yu\,\-name\-of\-an\-ancient\-hero\-who\-successfully\-controlled\-floods;
+獯 < a\-tribe\-of\-scythians\-which\-invaded\-china\-during\-the\-hsia\-dynasty;
+鞔 < sides\-or\-uppers\-of\-shoes\-to\-stretch\-a\-skin\-on\-a\-frame\-for\-a\-drum;
+表證 < illness\-that\-has\-not\-attacked\-the\-vital\-organs\-of\-the\-human\-body;
+國際電話電報諮詢委員會 < international\-consultative\-committee\-for\-telephone\-and\-telegraph;
+不知凡幾 < can''t\-tell\-how\-many\-there\-are\-\-\-there\-are\-numerous\-similar\-cases;
+䕽 < the\-rhododendron\-\-\-\-it\-is\-said\-to\-cause\-sheep\-to\-stagger\-and\-die;
+鼻韻母 < \(of\-chinese\-pronunciation\)\-a\-vowel\-followed\-by\-a\-nasal\-consonant;
+幫閑 < hang\-on\-to\-and\-serve\-the\-rich\-and\-powerful\-by\-literary\-hack\-work;
+郜 < name\-of\-fief\-in\-shantong\-bestowed\-on\-the\-eldest\-son\-of\-wen\-wang;
+描紅 < to\-trace\-over\-red\-characters\-\(as\-a\-method\-of\-learning\-to\-write\);
+金永南 < kim\-yong\-nam\-\(north\-korean\-deputy\-premier\-and\-foreign\-minister\);
+抗戰 < war\-of\-resistance\,\-especially\-the\-war\-against\-japan\-\(1937\-1945\);
+抱殘守缺 < cherish\-the\-outmoded\-and\-preserve\-the\-outworn\-\-\-be\-conservative;
+閉塞眼睛捉麻雀 < try\-to\-catch\-sparrows\-with\-one''s\-eyes\-blindfolded\-\-\-act\-blindly;
+䍿 < a\-kind\-of\-dance\-accompanied\-by\-music\-performed\-in\-ancient\-times;
+䌞 < a\-knot\-to\-hang\-the\-apparatus\-made\-of\-reed\-for\-raising\-silkworms;
+䇉 < capacity\-unit\-in\-france\-equal\-to\-one\-hundred\-times\-of\-one\-litre;
+㽈 < a\-large\-earthenware\-jar\-with\-a\-small\-mouth\-and\-two\-or\-four\-ears;
+㹐 < to\-tow\-a\-boat\-against\-the\-current\-in\-swift\-stream\-from\-the\-bank;
+沅 < name\-of\-a\-river\-in\-western\-hunan\-that\-flows\-into\-dongting\-lake;
+簋 < a\-square\-basket\-of\-bamboo\-for\-holding\-grain\-used\-at\-sacrifices;
+不費吹灰之力 < as\-easy\-as\-blowing\-off\-dust\-\-\-not\-needing\-the\-slightest\-effort;
+斗批改 < struggle\-criticism\-transformation\-\(cultural\-revolution\-slogan\);
+阿不來提\.阿不都熱西提 < abdulaidi\-amudurexiti\-\(chairman\-of\-xinjiang\-autonomous\-region\);
+鷴 < silver\-pheasant\-badge\-worn\-by\-civil\-officials\-of\-the\-5th\-grade;
+博古通今 < conversant\-with\-things\-past\-and\-present\-\-\-erudite\-and\-informed;
+蟕 < a\-species\-of\-tortoise\-found\-near\-the\-mouth\-of\-the\-yellow\-river;
+今音 < modern\-\(i\.e\.\-not\-ancient\)\-pronunciation\-of\-a\-chinese\-character;
+斯特凡諾普洛斯 < stephanopoulos\-\(eg\,\-former\-clinton\-aide\-george\-stephanopoulos\);
+㬆 < posthumous\-title\-conferred\-upon\-emperors\-and\-eminent\-officials;
+不入虎穴焉得虎子 < how\-can\-you\-catch\-tiger\-cubs\-without\-entering\-the\-tiger''s\-lair;
+鞝 < the\-piece\-of\-leather\-used\-for\-soles\-on\-chinese\-shoes\.\-a\-patch;
+大鬧天宮 < \"the\-monkey\-creates\-havoc\-in\-heaven\"\,\-story\-about\-sun\-wu\-kong;
+蔛 < a\-small\-orchid\-like\-plant\-it\-bears\-white\-flowers\-a\-dendrobium;
+端午節 < the\-dragon\-boat\-festival\-\(the\-5th\-day\-of\-the\-5th\-lunar\-month\);
+䰙 < an\-ancient\-unit\-of\-capacity\-with\-three\-feet\-and\-a\-big\-opening;
+䔹 < a\-fungus\-which\-grows\-on\-rotten\-plants\-and\-is\-eaten\-when\-fresh;
+㯣 < a\-kind\-of\-fragrant\-tree\-used\-to\-produce\-perfume\-by\-burning\-it;
+㯡 < to\-lacquer\-some\-kind\-of\-ashes\-on\-wooden\-articals\-or\-furniture;
+悲天憫人 < bemoan\-the\-state\-of\-the\-universe\-and\-pity\-the\-fate\-of\-mankind;
+惋惜 < to\-feel\-sorry\-for\-a\-person\-over\-sth\-that\-should\-have\-happened;
+峋 < ranges\-of\-hills\-stretching\-on\-beyond\-another\-irregular\-peaks;
+歃 < smear\-one''s\-mouth\-with\-blood\-of\-a\-victim\-when\-taking\-an\-oath;
+白茫茫 < \(of\-mist\,\-snow\,\-floodwater\,\-etc\)\-a\-vast\-expanse\-of\-whiteness;
+睥睨 < look\-at\-somebody\-disdainfully\-out\-of\-the\-corner\-of\-one''s\-eye;
+羗 < tribes\-in\-west\-china\-strong\.\-educated\.\-obstinate\.\-a\-particle;
+胡適 < hu\-shi\-\(1891\-1962\)\,\-original\-proponent\-of\-bai2\-hua4\-wen2\-白話文;
+軍委 < military\-commission\-of\-the\-communist\-party\-central\-committee;
+不服水土 < \(of\-a\-stranger\)\-not\-accustomed\-to\-the\-climate\-of\-a\-new\-place;
+斯佩羅 < \(joan\)\-spero\-\(under\-secretary\-of\-state\-for\-economic\-affairs\);
+丣 < ancient\-form\-of\-the\-tenth\-of\-the\-twelve\-terrestrial\-branches;
+䡅 < something\-used\-to\-bind\-the\-frame\-work\-in\-a\-cart\-of\-old\-times;
+䚨 < a\-string\-fastened\-to\-an\-arrow\-to\-draw\-it\-back\-after\-shooting;
+䎠 < to\-twist\-or\-to\-crumple\-between\-hands\-and\-make\-something\-turn;
+㟹 < the\-appearance\-of\-a\-mountain\-is\-lofty\-and\-steep\-and\-profound;
+㝸 < a\-conical\-cap\-worn\-on\-ceremonious\-occasions\-in\-ancient\-times;
+㙨 < the\-royal\-domains\-set\-apart\-in\-ancient\-times\-for\-the\-emperor;
+燈節 < the\-lantern\-festival\-\(15th\-of\-first\-month\-of\-lunar\-calendar\);
+衩 < the\-open\-seam\-of\-a\-garment\-which\-allows\-freedom\-of\-movement;
+屺 < a\-hill\-with\-trees\-or\-grass\-\-\-some\-give\-the\-opposite\-meaning;
+北洋 < the\-qing\-dynasty\-name\-for\-the\-coastal\-provinces\-of\-liaoning;
+八旗 < the\-\"eight\-banners\"\-\(military\-organisation\-in\-qing\-dynasty\);
+䶦 < upper\-and\-lower\-teeth\-in\-order\-and\-corresponding\-each\-other;
+䧂 < to\-turn\-over\-the\-clod\-of\-the\-earth\-with\-a\-shovel\-or\-a\-spade;
+藤野 < name\-of\-a\-person\,\-teng\-ye\,\-a\-japanese\-friend\-of\-lu3\-xun4\-魯迅;
+華表 < marble\-pillar\-\(ornamental\-column\-in\-front\-of\-places\,\-tombs\);
+待業 < to\-await\-job\-assignment\-\(term\-used\-only\-in\-mainland\-china\);
+太極拳 < a\-kind\-of\-traditional\-chinese\-shadowboxing\-\(tai\-chi\-chuan\);
+哀兵必勝 < an\-army\-burning\-with\-righteous\-indignation\-is\-bound\-to\-win;
+會不會 < \(posing\-a\-question\:\-whether\-someone\,\-something\)\-can\-or\-not;
+扮相 < the\-appearance\-of\-an\-actor\-or\-actress\-in\-costume\-or\-makeup;
+抱佛腳 < clasp\-budda''s\-feet\-\-\-profess\-devotion\-only\-when\-in\-trouble;
+噞 < the\-movement\-of\-a\-fish''s\-mouth\-at\-the\-surface\-of\-the\-water;
+唵 < used\-in\-buddhist\-texts\-to\-transliterate\-non\-chinese\-sounds;
+䠂 < name\-of\-a\-powerful\-feudal\-state\-which\-existed\-740\-330\-b\.c\.;
+䖶 < to\-raise\-up\-the\-nose\-in\-order\-to\-get\-the\-bugs\-in\-the\-earth;
+蛋花湯 < clear\-soup\-containing\-beaten\-egg\-and\-green\-leafy\-vegetable;
+䄛 < service\-or\-rites\-of\-offering\-sacrifices\-for\-drink\-and\-food;
+㼰 < an\-earthenware\-jar\-with\-a\-small\-mouth\-and\-two\-or\-four\-ears;
+㸖 < hide\-or\-to\-keep\-in\-store\-the\-vegetable\-in\-cold\-winter\-days;
+㷟 < to\-scald\-the\-bristles\-off\-a\-pig\-or\-the\-feathers\-off\-a\-bird;
+㰇 < the\-square\-peck\-shaped\-box\-half\-way\-up\-a\-chinese\-flagstaff;
+㦼 < a\-wooden\-piles\-used\-as\-a\-cable\-to\-make\-immovable\-of\-a\-boat;
+㢧 < a\-book\-or\-painting\-which\-can\-be\-easily\-folded\-or\-rolled\-up;
+金山寺 < jinshan\-temple\,\-where\-fahai\-lives\-\(from\-madam\-white\-snake\);
+並蒂蓮 < twin\-lotus\-flowers\-on\-one\-stalk\-\-\-a\-devoted\-married\-couple;
+武術 < wushu\,\-martial\-arts\-such\-as\-shadow\-boxing\,\-swordplay\,\-etc\.;
+中共 < \(abbreviation\-for\)\-chinese\-communist\-\(party\,\-regime\,\-etc\.\);
+钲 < kind\-of\-gong\-used\-in\-ancient\-times\-by\-troops\-on\-the\-march;
+政協 < cppcc\-\(chinese\-people''s\-political\-consultative\-committee\);
+採取 < adopt\-or\-carry\-out\-\(measures\,\-policies\,\-course\-of\-action\);
+癟三 < a\-wretched\-looking\-tramp\-who\-lives\-by\-begging\-or\-stealing;
+表兄 < male\-cousin\-with\-a\-different\-surname\-\(older\-than\-oneself\);
+矛頭指向 < target\-someone\-or\-something\-\(for\-attack\,\-criticism\,\-etc\.\);
+仙草 < a\-kind\-of\-plant\-used\-as\-a\-medicinal\-herb\-in\-ancient\-times;
+䪳 < slanted\-face\-causing\-by\-the\-paralyzed\-of\-the\-facial\-nerve;
+板胡 < a\-bowed\-stringed\-instrument\-with\-a\-thin\-wooden\-soundboard;
+䞋 < to\-do\-alms\-for\-the\-buddhist\-priests\-or\-monks\-in\-old\-times;
+䙆 < slits\-on\-the\-lower\-part\-of\-a\-gown\-for\-freedom\-of\-movement;
+䀏 < to\-move\-one''s\-eyes\-to\-express\-or\-indicate\-with\-eyes\-dizzy;
+㿄 < the\-groans\-or\-moans\-from\-a\-person\-in\-a\-critical\-condition;
+㶏 < an\-ancient\-name\-of\-a\-river\-in\-henan\-province\-dengfengxian;
+㳇 < name\-of\-a\-place\-in\-today''s\-jiangsu\-province\-yixing\-county;
+㫋 < a\-silken\-banner\-hanging\-from\-a\-staff\-bent\-over\-at\-the\-top;
+斯卡伯勒礁 < scarborough\-shoal\-\(philippines''\-name\-for\-huangyan\-island\);
+不恥下問 < not\-feel\-ashamed\-to\-ask\-and\-learn\-from\-one''s\-subordinates;
+狽 < a\-legendary\-animal\-with\-short\-forelegs\-which\-rode\-a\-wolf;
+歐 < used\-in\-transliterating\-non\-chinese\-words\-such\-as\-europe;
+汨 < mi\-river\-in\-hunan\-province\-where\-qu\-yuan\-drowned\-himself;
+汜 < a\-stream\-which\-leaves\-the\-main\-branch\-then\-later\-returns;
+卡拉OK < karaoke\-\(singing\-to\-recorded\-instrumental\-accompaniment\);
+中國民航 < general\-administration\-of\-civil\-aviation\-of\-china\-\(caac\);
+補養 < take\-a\-tonic\-or\-nourishing\-food\-to\-build\-up\-one''s\-health;
+沙利科什維利 < general\-shalikashvili\-\(head\-of\-us\-joint\-chiefs\-of\-staff\);
+簈 < bamboo\-mat\-used\-to\-protect\-carriage\-passengers\-from\-dust;
+爼 < a\-small\-table\-or\-tiered\-stand\-filled\-with\-meat\-offerings;
+三國演義 < name\-of\-a\-classic\-novel\,\-\"romance\-of\-the\-three\-kingdoms\";
+拼命 < to\-be\-ready\-to\-risk\-one''s\-life\-\(in\-fighting\,\-work\,\-etc\.\);
+背水一戰 < fight\-with\-one''s\-back\-to\-the\-river\-\-\-fight\-to\-win\-or\-die;
+䳚 < a\-sort\-of\-nightingale\-which\-is\-said\-to\-sing\-for\-the\-dawn;
+䡂 < the\-long\-wooden\-bumper\-at\-the\-rear\-of\-a\-cart\-or\-carriage;
+杯弓蛇影 < mistaking\-the\-reflection\-of\-a\-bow\-in\-the\-cup\-for\-a\-snake;
+䃾 < to\-offer\-small\-pig\-as\-sacrifice\-when\-warship\-god\-of\-life;
+㼪 < fragments\-of\-a\-tile\-haven''t\-t\-been\-kiln\-dried\-completely;
+㴖 < name\-of\-a\-stream\-in\-shandong\-province\-southwest\-of\-jinan;
+㝉 < space\-between\-the\-throne\-and\-the\-retiring\-room\-behind\-it;
+㖫 < used\-in\-names\-for\-minority\-ethnic\-group\-in\-ancient\-china;
+背井離鄉 < leave\-one''s\-native\-place\-\(especially\-against\-one''s\-will\);
+炝 < stir\-fry\-or\-boil\-in\-water\-or\-oil\-then\-cook\-with\-a\-sauce;
+遷怒 < to\-take\-one''s\-anger\-out\-on\-sb\-\(who\-does\-not\-deserve\-it\);
+波瀾起伏 < of\-a\-piece\-of\-writing\-with\-one\-climax\-following\-another;
+不為已甚 < refrain\-from\-going\-to\-extremes\-in\-meting\-out\-punishment;
+不約而同 < take\-the\-same\-action\-or\-view\-without\-prior\-consultation;
+飛虎隊 < flying\-tigers\-\(us\-airmen\-in\-china\-during\-world\-war\-two\);
+掛好 < to\-hang\-up\-properly\-\(telephone\,\-picture\,\-clothes\,\-etc\.\);
+拔毒 < draw\-out\-pus\-by\-applying\-a\-plaster\-to\-the\-affected\-area;
+弮 < a\-crowwbow\-which\-discharged\-several\-bolts\-in\-succession;
+䪙 < leather\-wrapped\-collar\-for\-a\-draft\-animal\-of\-a\-carriage;
+䧚 < the\-name\-of\-a\-place\-in\-the\-south\-west\-of\-hebei\-province;
+畜力 < animal\-powered\-\(as\-opposed\-to\-human\-or\-machine\-powered\);
+䡞 < leather\-that\-wind\-round\-on\-the\-shafts\-of\-a\-big\-carriage;
+䍜 < a\-basket\-or\-a\-cage\-used\-to\-keep\-wild\-and\-domestic\-fowls;
+䇆 < capacity\-unit\-in\-france\-equal\-to\-ten\-times\-of\-one\-litre;
+䂅 < to\-have\-insight\-or\-vision\-of\-a\-simple\-and\-honest\-person;
+㲽 < name\-of\-a\-river\-in\-today''s\-southwest\-of\-shanxi\-province;
+㮐 < a\-rack\-or\-a\-stand\-with\-three\-sticks\-to\-cross\-each\-other;
+㬸 < a\-kind\-of\-services\-or\-ceremonies\-of\-offering\-sacrifices;
+暗花兒 < a\-veiled\-design\-incised\-in\-porcelain\-or\-woven\-in\-fabric;
+冰炭不相容 < as\-incompatible\-or\-irreconcilable\-as\-ice\-and\-hot\-coals;
+幫腔 < vocal\-accompaniment\-in\-some\-traditional\-chinese\-operas;
+奔喪 < hasten\-home\-for\-the\-funeral\-of\-a\-parent\-or\-grandparent;
+白芍 < \(peeled\)\-root\-of\-herbaceous\-peony\-\(paeonia\-lactiflora\);
+郌 < name\-of\-an\-ancient\-hsien\-in\-modern\-gansu\/shaanxi\-area\.;
+興趣 < interest\-\(directed\-towards\,\-not\-inherent\-in\-something\);
+拔罐子 < cupping\-technique\-used\-in\-traditional\-chinese\-medicine;
+耰 < toothless\-rake\-for\-drawing\-earth\-over\-newly\-sown\-grain;
+琀 < gems\-of\-pearls\-formerly\-put\-into\-the\-mouth\-of\-a\-corpse;
+標兵 < parade\-guards\-\(usually\-spaced\-out\-along\-parade\-routes\);
+䪃 < wine\-container\-used\-by\-minority\-tribe\-in\-ancient\-times;
+䥷 < a\-hinged\-shear\-or\-long\-knife\-for\-cutting\-fodder\-or\-hay;
+䤩 < an\-ornament\-at\-the\-end\-of\-a\-belt\-used\-in\-ancient\-times;
+䝪 < to\-provide\-money\-or\-gift\-and\-to\-consult\-fortune\-teller;
+䙛 < ceremonial\-dress\-of\-the\-emperor\-or\-very\-high\-officials;
+䘦 < a\-kind\-of\-head\-dress\-wore\-in\-funeral\-rites\-in\-old\-days;
+䘟 < kind\-of\-silk\-woven\-with\-double\-threads\-and\-water\-proof;
+䔑 < a\-white\-colored\-cluster\-grown\-at\-the\-tip\-of\-cogongrass;
+䉲 < thin\-and\-flat\-slips\-of\-bamboo\-used\-for\-weaving\-purpose;
+㼽 < fragments\-of\-a\-tile\-haven''t\-been\-kiln\-dried\-completely;
+㶁 < after\-blocking\-the\-water\-flow\-takes\-different\-waterway;
+㯀 < bonds\-and\-fetters\-for\-falcons\-and\-dogs\-used\-in\-hunting;
+㒾 < a\-kind\-of\-wrapper\-used\-to\-cover\-over\-the\-face\-and\-head;
+八面玲瓏 < be\-smooth\-and\-slick\-\(in\-establishing\-social\-relations\);
+元宵節 < the\-lantern\-festival\,\-january\-15\-on\-the\-lunar\-calendar;
+眾志成城 < \"unity\-of\-will\-is\-an\-impregnable\-stronghold\"\-\(proverb\);
+個體戶 < a\-small\-private\-business\-\(used\-in\-mainland\-china\-only\);
+法海 < name\-of\-a\-buddhist\-monk\,\-fahai\,\-from\-madam\-white\-snake;
+蠲 < the\-millipede\-sometimes\-confounded\-with\-the\-grow\-worm;
+蘧 < a\-plant\-which\-resembles\-wheat\-but\-has\-no\-edible\-grain;
+景德鎮 < jing\-de\-zhen\-\(a\-chinese\-city\-in\-jiang\-xi\-江西\-province\);
+韋爾弗雷茲 < \(george\)\-wehrfritz\-\(beijing\-bureau\-chief\-of\-newsweek\);
+長城卡 < great\-wall\-card\-\(credit\-card\-issued\-by\-bank\-of\-china\);
+哈貝爾 < \(webster\)\-hubbell\-\(former\-associate\-attorney\-general\);
+萬壽山 < name\-of\-a\-place\,\-longevity\-hill\,\-in\-summer\-palace\-頤和園;
+拉那烈 < \(prince\)\-ranariddh\-\(son\-of\-king\-sihanouk\-of\-cambodia\);
+䡴 < carriage\-used\-in\-ancient\-times\-to\-take\-enemy\-position;
+䟺 < walk\-slowly\-because\-of\-the\-wrong\-position\-of\-the\-feet;
+䉣 < slips\-of\-bamboo\-provided\-for\-writing\-in\-ancient\-times;
+䁹 < to\-look\-askance\-\-\-\-a\-expression\-of\-disdain\-or\-despise;
+㼌 < lot\-of\-melons\-growing\-but\-the\-root\-is\-weak\-and\-feeble;
+㻠 < jade\-hanging\-on\-the\-sides\-of\-the\-cap\-in\-ancient\-times;
+㮣 < a\-piece\-of\-wood\-used\-to\-strike\-off\-grain\-in\-a\-measure;
+㓤 < to\-strip\-the\-skin\-of\-the\-face\-\-\-\-an\-imminent\-calamity;
+包干制 < a\-system\-of\-payment\-partly\-in\-kind\-and\-partly\-in\-cash;
+抗日戰爭 < \(china''s\)\-war\-of\-resistance\-against\-japan\-\(1937\-1945\);
+顏真卿 < name\-of\-a\-person\,\-yan\-zhenqing\,\-a\-famous\-calligrapher;
+白素貞 < \(name\-of\-a\-person\)\-bai\-suzhen\,\-from\-madam\-white\-snake;
+砀 < brilliantly\-colored\-stone\-with\-veined\-patterns\-in\-it;
+彈琴 < to\-play\-or\-strum\-a\-lute\-or\-other\-stringed\-instrument;
+白陶 < white\-pottery\-\(of\-shang\-dynastry\-16\-11th\-century\-bc\);
+包干 < be\-responsible\-for\-a\-task\-unit\-until\-it\-is\-completed;
+大材小用 < using\-a\-talented\-person\-in\-an\-insignificant\-position;
+琳\.戴維斯 < lynn\-davis\-\(us\-state\-department\-arms\-control\-expert\);
+平方 < square\-\(as\-in\-square\-foot\,\-square\-mile\,\-square\-root\);
+虒 < an\-amphibious\-beast\-resembling\-a\-tiger\-with\-one\-horn;
+筁 < a\-bamboo\-frame\-on\-which\-silkworms\-spin\-their\-cocoons;
+人民英雄紀念碑 < monument\-to\-the\-people''s\-heroes\,\-at\-tiananmen\-square;
+冋 < a\-desert\-a\-border\-prairie\-the\-1st\-form\-is\-radical\-13;
+䴷 < use\-the\-whole\-piece\-of\-barley\-to\-ferment\-for\-brewing;
+䭞 < a\-kind\-of\-sacrifices\-offered\-to\-gods\-or\-the\-deceased;
+䧠 < name\-of\-a\-place\-in\-what\-is\-today''s\-shandong\-province;
+䑩 < a\-kind\-of\-inland\-rivers\-warship\-used\-in\-qing\-dynasty;
+䍸 < a\-legendary\-goat\-like\-animal\-with\-4\-ears\-and\-9\-tails;
+䃫 < a\-silicate\-substance\-from\-the\-salt\-wells\-in\-szechwan;
+㸜 < to\-get\-through\-the\-space\-enclosed\-by\-a\-constellation;
+㷭 < a\-conical\-brick\-structure\-in\-which\-to\-light\-a\-beacon;
+不聞不問 < not\-bother\-to\-ask\-questions\-or\-listen\-to\-what''s\-said;
+並行不悖 < both\-can\-be\-implemented\-without\-coming\-into\-conflict;
+步步為營 < advance\-gradually\-and\-entrench\-oneself\-at\-every\-step;
+甾 < ground\-that\-has\-been\-under\-cultivation\-for\-one\-year;
+一望無際 < as\-far\-as\-the\-eye\-can\-see\-\(lit\:\-look\-afar\-no\-bound\);
+不見經傳 < not\-to\-be\-found\-in\-the\-classics\-\-\-not\-authoritative;
+撥雲見日 < dispel\-the\-clouds\-and\-see\-the\-sun\-\-\-restore\-justice;
+比上不足比下有余 < fall\-short\-of\-the\-best\-but\-be\-better\-than\-the\-worst;
+白冰冰 < pai\-ping\-ping\-\(well\-known\-taiwan\-performing\-artist\);
+拉貝 < \(john\)\-rabe\-\(german\-eyewitness\-to\-nanjing\-massacre\);
+巫山 < mt\.\-wu\,\-on\-the\-changjiang\-river\-by\-the\-three\-gorges;
+禡 < a\-sacrifice\-at\-the\-beginning\-of\-a\-military\-campaign;
+礮 < ancient\-ballista\-for\-throwing\-heavy\-stones\-a\-cannon;
+捕俘 < capture\-enemy\-personnel\-\(for\-intelligence\-purposes\);
+伯恩斯 < \(nicholas\)\-burns\-\(us\-state\-department\-spokesperson\);
+䯠 < the\-five\-lowest\-pieces\-of\-bone\-of\-the\-spinal\-column;
+䬦 < food\-items\-merely\-arranged\-for\-display\-purpose\-only;
+䙑 < a\-piece\-of\-sackcloth\-worn\-on\-the\-breast\-in\-mourning;
+鏢客 < armed\-escort\-\(of\-travellers\-or\-merchants''\-caravans\);
+䈱 < an\-open\-bamboo\-basket\-used\-to\-feed\-domestic\-animals;
+㪵 < half\-of\-a\-unit\-of\-measurement\-used\-in\-ancient\-times;
+㡈 < the\-ropes\-attached\-to\-the\-bier\-and\-held\-by\-mourners;
+㚤 < a\-lady\-officer\-of\-the\-monarch''s\-palace\-in\-old\-times;
+安步當車 < walk\-over\-leisurely\-instead\-of\-riding\-in\-a\-carriage;
+貝母 < the\-bulb\-of\-the\-fritillary\-\(fritillaria\-thunbergii\);
+名勝 < a\-place\-famous\-for\-its\-scenery\-or\-historical\-relics;
+民樂 < music\,\-esp\.\-folk\-music\,\-for\-traditional\-instruments;
+呀 < particle\-used\-to\-express\-surprise\-or\-mild\-emphasis;
+陝西 < shaanxi\-province\,\-china\-\(capitol\-city\-is\-xi''an\-西安\);
+日方 < the\-japanese\-side\-or\-party\-\(in\-negotiations\,\-etc\.\);
+不勝枚舉 < too\-numerous\-to\-mention\-individually\-or\-one\-by\-one;
+靷 < the\-leather\-belt\-that\-connects\-a\-horse\-with\-a\-cart;
+譼 < to\-supervise\-to\-confine\-a\-government\-establishment;
+橫折 < \(horizontal\-starting\-right\-angle\-character\-stroke\);
+西安 < xi''an\-\(city\)\,\-the\-capitol\-city\-of\-shaanxi\-province;
+小青 < name\-of\-a\-person\,\-xiaoqing\,\-from\-madam\-white\-snake;
+臨摹 < to\-copy\-\(a\-model\-of\-calligraphy\-or\-painting\,\-etc\.\);
+坫 < a\-stand\-on\-which\-to\-replace\-goblets\-after\-drinking;
+備取 < be\-on\-the\-waiting\-list\-\(for\-admission\-to\-a\-school\);
+䴽 < a\-small\-round\-piece\-of\-distiller''s\-grains\-or\-yeast;
+䰎 < to\-twist\-the\-hair\-in\-a\-knot\-on\-the\-top\-of\-the\-head;
+䪝 < leather\-cord\-that\-winding\-on\-the\-handle\-of\-a\-knife;
+賓至如歸 < guests\-feel\-at\-home\-\(in\-a\-hotel\,\-guesthouse\,\-etc\.\);
+䡇 < the\-cross\-bar\-at\-the\-end\-of\-the\-pole\-of\-a\-carriage;
+䞀 < to\-desire\-for\-more\-money\-than\-one''s\-rightful\-share;
+䘭 < the\-pleates\-on\-the\-lapel\-of\-a\-garment\-of\-thin\-silk;
+䐈 < a\-piece\-of\-one\-foot\-two\-inches\-dried\-seasoned\-meat;
+䍅 < containers\-for\-water\-or\-wine\-used\-in\-ancient\-times;
+䋾 < cotton\-and\-silk\-to\-be\-laid\-and\-attached\-each\-other;
+䉐 < a\-thin\-and\-long\-strip\-of\-bamboo\-for\-making\-baskets;
+䈻 < a\-heavy\-mats\-of\-bamboo\-used\-for\-deep\-water\-fishing;
+䇠 < wrench\-to\-adjust\-the\-string\-on\-stringed\-instrument;
+䄌 < to\-perform\-rities\-in\-honor\-of\-the\-ancestral\-temple;
+䃦 < a\-flat\-and\-great\-rock\-people\-squat\-or\-crouch\-on\-it;
+㻀 < fine\-stone\-which\-is\-little\-less\-valuable\-than\-jade;
+㲬 < hair\-decorations\-on\-a\-helmet\-used\-in\-ancient\-times;
+㱯 < get\-the\-unborn\-baby\-goat\-by\-killng\-the\-mother\-goat;
+㮰 < the\-small\-beam\-supporting\-the\-rafters\-at\-the\-eaves;
+㪶 < a\-dry\-measure\-10\-or\-5\-times\-that\-of\-a\-chinese\-peck;
+尼赫魯 < \(jawaharlal\)\-nehru\-\(first\-prime\-minister\-of\-india\);
+㟗 < name\-of\-a\-small\-principality\-in\-what\-is\-now\-shanxi;
+撥浪鼓 < a\-drum\-shaped\-rattle\-\(used\-by\-pedlars\-or\-as\-a\-toy\);
+尖閣列島 < senkaku\-islands\-\(japanese\-name\-for\-diaoyu\-islands\);
+本末 < the\-whole\-course\-of\-an\-event\-from\-beginning\-to\-end;
+頓挫 < with\-syncopated\-cadence\-\(brush\-stroke\-in\-painting\);
+維吾爾族 < the\-uygur\-\(uighur\)\-nationality\,\-living\-in\-xinjiang;
+版畫 < a\-picture\-printed\-from\-an\-engraved\-or\-etched\-plate;
+避諱 < taboo\-against\-using\-the\-personal\-names\-of\-emperors;
+按下葫蘆浮起瓢 < solve\-one\-problem\-only\-to\-find\-another\-cropping\-up;
+伽 < transcription\-of\-sanskrit\-''gha''\-in\-buddhist\-texts;
+屣 < straw\-sandals\-or\-slippers\-that\-have\-no\-heel\-backs;
+北大荒 < the\-great\-northern\-wilderness\-\(in\-northern\-china\);
+武松 < wusong\,\-name\-of\-a\-person\,\-a\-hero\-in\-shui\-hu\-zhuan;
+十五大 < 1\-5th\-party\-congress\-\(of\-chinese\-communist\-party\);
+李光耀 < lee\-kuan\-yew\-\(former\-prime\-minister\-of\-singapore\);
+許仙 < name\-of\-a\-person\,\-xu\-xian\,\-from\-madam\-white\-snake;
+儐相 < attendant\-of\-the\-bride\-or\-bridegroom\-at\-a\-wedding;
+補瀉 < reinforcing\-and\-reducing\-methods\-\(in\-acupuncture\);
+南華早報 < south\-china\-morning\-post\-\(newspaper\-in\-hong\-kong\);
+幹事 < administrative\-secretary\-\(in\-charge\-of\-something\);
+病入膏肓 < the\-disease\-has\-attacked\-the\-vitals\-\-\-beyond\-cure;
+巫峽 < wuxia\-gorge\,\-in\-the\-changjiang\-river\-three\-gorges;
+漎 < a\-place\-where\-small\-streams\-flow\-into\-a\-large\-one;
+折筆 < against\-the\-bristles\-\(brush\-movement\-in\-painting\);
+檾 < grassy\-plant\-with\-fibres\-from\-which\-cloth\-is\-made;
+專線 < special\-purpose\-phone\-line\-or\-communications\-link;
+圖克 < \(gary\-l\.\)\-tooker\-\(motorola\-chairman\-of\-the\-board\);
+䰌 < to\-bind\-the\-hair\-in\-a\-knot\-on\-the\-top\-of\-the\-head;
+䩵 < tanner\-who\-made\-the\-leather\-drum\-in\-ancient\-times;
+人民行動黨 < people''s\-action\-party\-\(ruling\-party\-in\-singapore\);
+䚙 < a\-spoon\-for\-cooked\-rice\-made\-of\-horn\-of\-an\-animal;
+䌳 < a\-kind\-of\-unrefined\-or\-unpolished\-silken\-textiles;
+䊺 < an\-implement\-to\-draw\-or\-to\-collect\-ropes\-or\-cords;
+䉃 < sliped\-open\-bamboo\-with\-the\-joints\-used\-as\-an\-oar;
+䉀 < rectangular\-chest\-or\-box\-woven\-from\-bamboo\-strips;
+䄋 < to\-pray\-for\-preventing\-or\-forestalling\-calamities;
+䃮 < a\-stone\-build\-hydraulic\-measures\-in\-ancient\-times;
+㾿 < roar\-of\-asthma\-or\-expectorate\-from\-a\-dying\-person;
+㻨 < ine\-stone\-which\-is\-little\-less\-valuable\-than\-jade;
+㺐 < generally\-called\-for\-minority\-groups\-in\-old\-china;
+㯂 < pillar\-or\-post\-of\-a\-frame\-on\-which\-silkworms\-spin;
+㟋 < deep\-and\-level\-ground\-gully\-at\-the\-foot\-of\-a\-hill;
+㞪 < the\-appearance\-of\-the\-mountain\-is\-flat\-and\-smooth;
+斜鉤 < \(downwards\-right\-concave\-hooked\-character\-stroke\);
+豎折 < \(downwards\-starting\-right\-angle\-character\-stroke\);
+老兄 < ''old\-chap''\-\(form\-of\-address\-between\-male\-friends\);
+約翰拉貝 < john\-rabe\-\(german\-eyewitness\-to\-nanjing\-massacre\);
+衅 < consecrate\-sacrificial\-vessels\-by\-smearing\-blood;
+虢 < name\-of\-ancient\-feudal\-state\-in\-shenxi\-and\-hunan;
+跑江湖 < to\-make\-a\-living\-as\-a\-travelling\-performer\,\-etc\.;
+交易額 < sum\-or\-volume\-or\-amount\-of\-business\-transactions;
+齉 < stoppage\-of\-the\-nose\-to\-speak\-with\-a\-nasal\-twang;
+橫筆 < bristles\-lying\-down\-\(brush\-movement\-in\-painting\);
+不敢越雷池一步 < dare\-not\-go\-one\-step\-beyond\-the\-prescribed\-limit;
+採購 < make\-purchases\-for\-an\-organization\-or\-enterprise;
+正在 < in\-the\-process\-of\-\(doing\-something\-or\-happening\);
+褯 < children''s\-garments\.\-a\-mat\-for\-wrapping\-garments;
+林豐正 < lin\-feng\-cheng\-\(taiwan\-minister\-of\-the\-interior\);
+報國 < dedicate\-oneself\-to\-the\-service\-of\-one''s\-country;
+董建華 < tung\-chee\-hwa\-\(hong\-kong\-leader\-after\-july\-1997\);
+筆觸 < brush\-stroke\-in\-chinese\-painting\-and\-calligraphy;
+不破不立 < without\-destruction\-there\-can\-be\-no\-construction;
+南京路 < nanjing\-st\.\,\-large\-commercial\-street\-in\-shanghai;
+梠 < a\-small\-beam\-supporting\-the\-rafters\-at\-the\-eaves;
+摣 < a\-handful\.\-to\-pick\-up\-with\-the\-fingers\.\-to\-seize;
+堘 < a\-raised\-path\-between\-field\-which\-acts\-as\-a\-dyke;
+䶜 < the\-process\-to\-whiten\-the\-ivory\-or\-elephant\-tusk;
+䮉 < horses\-kept\-at\-a\-courier\-station\-in\-former\-times;
+䢵 < name\-of\-an\-old\-country\-in\-today''s\-hubei\-province;
+䡟 < a\-ring\-of\-the\-horizontal\-front\-bar\-on\-a\-carriage;
+䞛 < dancing\-of\-a\-eastern\-minority\-group\-in\-old\-china;
+䝌 < a\-pig\-seek\-for\-food\-through\-digging\-on\-the\-earth;
+䒁 < a\-small\-boat\-connected\-to\-the\-back\-of\-a\-big\-boat;
+䉋 < a\-variety\-of\-bamboo\-shoots\-that\-sprout\-in\-winter;
+䈔 < whistle\-made\-of\-reed\-without\-holes\-for\-fingering;
+㽙 < official\-in\-charge\-of\-farmlands\-in\-ancient\-times;
+㳎 < guide\-or\-lead\-to\-make\-the\-water\-flowing\-smoothly;
+㲪 < woolen\-blanket\-with\-decorative\-design\-or\-pattern;
+㲨 < a\-decorative\-fine\-blanket\-on\-the\-top\-of\-a\-saddle;
+㧋 < to\-lengthen\-and\-extenuate\-\-\-\-as\-in\-making\-noodle;
+㠜 < young\-kids\-smart\-and\-familiar\-with\-human\-affairs;
+便人 < somebody\-who\-happens\-to\-be\-on\-hand\-for\-an\-errand;
+㙱 < earthenware\-used\-to\-bake\-cakes\-in\-northern\-china;
+謝辛 < chea\-sim\-\(cambodian\-national\-assembly\-president\);
+外電 < reports\-from\-foreign\-\(non\-chinese\)\-news\-agancies;
+喁 < the\-mouth\-of\-a\-fish\-at\-the\-surface\-of\-the\-water;
+揎 < to\-pull\-up\-the\-sleeves\-and\-stretch\-out\-the\-arms;
+箬 < the\-cuticle\-of\-the\-bamboo\-a\-broad\-leaved\-bamboo;
+罷了 < a\-modal\-particle\-indicating\-\(don''t\-mind\-it\,\-ok\);
+靜山 < cheng\-san\-\(electoral\-constituency\-in\-singapore\);
+八仙桌 < old\-fashioned\-square\-table\-to\-seat\-eight\-people;
+包產到戶 < fixing\-of\-farm\-output\-quotas\-for\-each\-household;
+軾 < horizontal\-wooden\-bar\-in\-front\-of\-a\-sedan\-chair;
+抓飯 < a\-kind\-of\-food\-popular\-among\-believers\-in\-islam;
+萆 < the\-castor\-oil\-plant\-also\-used\-for\-other\-plants;
+塞拉凡 < \(sonny\)\-seraphin\-\(haitian\-ambassador\-to\-taiwan\);
+金大中 < kim\-dae\-jung\-\(newly\-elected\-president\-of\-korea\);
+白描 < line\-drawing\-in\-traditional\-ink\-and\-brush\-style;
+簠 < an\-ancient\-vessel\-used\-for\-holding\-boiled\-grain;
+范斯坦 < \(dianne\)\-feinstein\-\(us\-senator\-from\-california\);
+駱駝祥子 < name\-of\-a\-novel\,\-luo\-tuo\-xiangzi\,\-by\-lao\-she\-老舍;
+䲰 < a\-second\-name\-for\-the\-pigeon\-or\-the\-turtle\-dove;
+耶穌基督末世聖徒教會 < the\-church\-of\-jesus\-christ\-of\-latter\-day\-saints;
+䝥 < to\-roar\-or\-howl\-frantic\-barks\-of\-dogs\-or\-wolves;
+䔤 < the\-lush\-and\-luxuriant\-of\-the\-grass\-and\-flowers;
+液態水 < liquid\-water\-\(as\-opposed\-to\-steam\-or\-ice\,\-e\.g\.\);
+㯮 < a\-kind\-of\-tree\-with\-big\-leaves\-and\-in\-red\-color;
+逼上樑山 < be\-driven\-to\-join\-the\-liangshan\-mountain\-rebels;
+㔍 < a\-hinged\-shear\-or\-long\-knife\-for\-cutting\-fodder;
+解放軍 < people''s\-liberation\-army\-\(ie\,\-the\-chinese\-army\);
+唐山 < tang\-shan\-\(a\-chinese\-city\-in\-hebei\-河北\-province\);
+常任理事國 < permanent\-member\-state\-\(of\-un\-security\-council\);
+璜 < a\-semicircular\-jade\-ornament\-used\-as\-a\-pendant;
+避嫌 < avoid\-doing\-anything\-that\-may\-arouse\-suspicion;
+趙紫陽 < zhao\-ziyang\-\(former\-chinese\-leadership\-figure\);
+報幕 < announce\-the\-items\-on\-a\-\(theatrical\)\-programme;
+諬 < to\-open\-to\-begin\-to\-explain\-to\-inform\-a\-letter;
+親家 < parents\-of\-one''s\-daughter\-in\-law\-or\-son\-in\-law;
+南轅北轍 < \(fig\.\)\-act\-in\-a\-way\-that\-defeats\-one''s\-purpose;
+猹 < wild\-animal\-mentioned\-in\-short\-story\-by\-lu\-xun;
+犼 < a\-fierce\-mongolian\-wolf\-dragon''s\-head\-on\-roofs;
+湓 < an\-affluent\-of\-the\-river\-yangtze\-near\-kiukiang;
+歚 < used\-in\-name\-of\-famous\-korean\-painter\-ceng\-sen;
+保外就醫 < \(of\-a\-prisoner\)\-released\-for\-medical\-treatment;
+喜糖 < sweet\-given\-on\-a\-happy\-occasion\-\(esp\.\-wedding\);
+拜壽 < congratulate\-an\-elderly\-person\-on\-his\-birthday;
+蒸蒸日上 < becoming\-more\-prosperous\-with\-each\-passing\-day;
+䶛 < to\-separate\-the\-meat\-from\-the\-bones\-with\-teeth;
+䳜 < a\-kind\-of\-bird\-which\-shares\-its\-nest\-with\-rats;
+䲍 < a\-perch\-like\-fish\-with\-white\-body\-and\-red\-tail;
+䩶 < saddle\-and\-rein\-etc\.\-for\-the\-imperial\-carriage;
+烏魯木齊 < urumqi\-\(capital\-of\-xinjiang\-autonomous\-region\);
+安土重遷 < hate\-to\-leave\-a\-place\-where\-one\-has\-lived\-long;
+䗽 < a\-small\-gadfly\-that\-suck\-blood\-of\-horse\-or\-cow;
+䉴 < a\-bamboo\-ware\-to\-collect\-and\-keep\-something\-in;
+䉅 < small\-bamboo\-whose\-joints\-are\-three\-feet\-apart;
+䄦 < to\-put\-forth\-ears\-and\-to\-blossom\-of\-the\-grains;
+政府機關開放系統互連總則 < government\-open\-system\-interconnection\-profile;
+㽩 < connected\-banks\-of\-earth\-or\-paths\-in\-the\-field;
+並行 < in\-parallel\-\[development\,\-implementation\,\-etc\];
+㹃 < two\-brindled\-cows\-to\-plough\-face\-to\-each\-other;
+伯杰 < \(samuel\)\-berger\-\(us\-national\-security\-advisor\);
+㶟 < an\-ancient\-neme\-of\-a\-river\-in\-shanxi\-and\-hebei;
+東盟 < asean\-\(association\-of\-southeast\-asian\-nations\);
+㲈 < the\-name\-of\-the\-music\-of\-the\-legendary\-emperor;
+㬐 < a\-state\-during\-the\-period\-of\-spring\-and\-autumn;
+㡛 < name\-for\-a\-workman\-who\-apply\-color\-in\-painting;
+工商銀行 < industrial\-and\-commercial\-bank\-of\-china\-\(icbc\);
+㟢 < the\-rocks\-on\-the\-hills\-are\-of\-different\-shapes;
+㜼 < children\-of\-one''s\-brother\-\-\-\-nephews\-or\-nieces;
+曾經 < \(refers\-to\-something\-that\-happened\-previously\);
+㔽 < a\-kind\-of\-wine\-pot\-or\-jar\-used\-in\-ancient\-time;
+㓃 < to\-sacrifice\-by\-pouring\-out\-a\-libation\-of\-wine;
+㑞 < a\-maid\-who\-accompanies\-a\-bride\-to\-her\-new\-home;
+可見 < it\-can\-clearly\-be\-seen\-\(that\-this\-is\-the\-case\);
+事與願違 < things\-don''t\-turn\-out\-the\-way\-you\-want\-or\-plan;
+慰問 < express\-sympathy\,\-greetings\,\-consolation\,\-etc\.;
+海德 < hyde\-\(eg\,\-house\-judiciary\-chairman\-henry\-hyde\);
+張燈結綵 < be\-decorated\-with\-lanterns\-and\-colored\-banners;
+閉門思過 < shut\-oneself\-up\-and\-ponder\-over\-one''s\-mistakes;
+羅斯 < roth\-\(eg\,\-hrw\-executive\-director\-kenneth\-roth\);
+閉關自守 < close\-the\-country\-to\-international\-intercourse;
+旁聽 < be\-a\-visitor\-\(at\-a\-meeting\,\-class\,\-trial\,\-etc\);
+互通性 < interoperability\-\(of\-communications\-equipment\);
+畲 < to\-cultivate\-land\-by\-first\-setting\-fire\-to\-it;
+篚 < round\-or\-oval\-covered\-baskets\-with\-short\-legs;
+推辭 < to\-decline\-\(an\-appointment\,\-invitation\,\-etc\.\);
+不避艱險 < shrink\-or\-flinch\-from\-no\-difficulty\-or\-danger;
+白痢 < dysentery\-characterized\-by\-white\-mucous\-stool;
+華佗 < name\-of\-a\-famous\-doctor\-in\-old\-times\,\-hua\-tuo;
+粔 < cakes\-made\-from\-rice\-flour\-twisted\-into\-rings;
+戤 < to\-infringe\-a\-trade\-mark\-to\-pledge\-an\-article;
+阿旺曲沛 < ngawang\-choepel\-\(tibetan\,\-fullbright\-scholar\);
+棒槌 < wooden\-club\-\(used\-to\-beat\-clothes\-in\-washing\);
+全斗煥 < chun\-doo\-hwan\-\(former\-south\-korean\-president\);
+乤 < first\-character\-of\-korean\-place\-name\-''halpho'';
+䶨 < in\-the\-manner\-a\-toothless\-person\-chewing\-food;
+䮛 < extra\-horse\-harnessed\-by\-the\-side\-of\-the\-team;
+䣠 < name\-of\-a\-village\-in\-today''s\-sichuan\-province;
+䣟 < name\-of\-pavilion\-in\-today''s\-shandong\-province;
+䠒 < courtesy\-of\-a\-minority\-group\-in\-ancient\-times;
+䝰 < to\-store\-or\-to\-accumulate\-riches\-or\-valuables;
+䜱 < name\-of\-a\-pavilion\-in\-today''s\-shanxi\-province;
+䓝 < chinese\-pennisetum\)\-pennisetum\-alopecuroides\);
+䋉 < a\-numerary\-adjunct\-for\-practically\-everything;
+䊣 < light\-yellow\-dust\-like\-fungoid\-growth\-on\-wine;
+䇒 < numerary\-adjunct\-for\-periodic\-terms\-or\-events;
+㿗 < disease\-of\-the\-private\-part\-of\-the\-human\-body;
+㾫 < hemiplegia\-\-\-\-paralysis\-of\-half\-of\-one''s\-body;
+㻞 < flourishing\-and\-radiant\-of\-the\-colorful\-jades;
+㹱 < name\-of\-a\-dog\-in\-the\-period\-of\-warring\-states;
+㲥 < a\-kind\-of\-woolen\-textiles\-with\-curved\-pattern;
+㭹 < name\-of\-a\-county\-in\-today''s\-shandong\-province;
+㣯 < the\-dresses\-toss\-and\-flying\-about\-in\-the\-wind;
+㢯 < bows\-used\-by\-the\-son\-of\-heaven\-\-\-\-the\-emperor;
+㡊 < a\-kind\-of\-cap\-worn\-by\-an\-officer\-in\-old\-china;
+人民大會堂 < great\-hall\-of\-the\-people\,\-at\-tiananmen\-square;
+㙫 < a\-fountain\-or\-spring\-out\-from\-the\-underground;
+㙍 < name\-of\-a\-place\-in\-today''s\-guangdong\-province;
+探路者 < pathfinder\-\(space\-craft\-sent\-to\-mars\-by\-nasa\);
+畫蛇添足 < ruin\-the\-effect\-by\-adding\-what\-is\-superfluous;
+崔亞琳 < charles\-yah\-lin\-trie\-\(arkansas\-restauranteur\);
+北大西洋公約組織 < the\-north\-atlantic\-treaty\-organization\-\(nato\);
+專案組 < special\-\(legal\|judicial\)\-investigations\-group;
+仗義執言 < speak\-out\-on\-a\-matter\-of\-principle\-or\-justice;
+兵臨城下 < the\-attacking\-army\-has\-reached\-the\-city\-gates;
+吞吐 < to\-take\-in\-and\-send\-out\-\(in\-large\-quantities\);
+钧 < unit\-of\-measure\-equivalent\-to\-thirty\-catties;
+妲 < concubine\-of\-last\-ruler\-of\-the\-shang\-dynasty;
+瓴 < concave\-channels\-of\-tiling\-a\-long\-necked\-jar;
+媵 < a\-maid\-who\-accompanies\-bride\-to\-her\-new\-home;
+胙 < meat\-offered\-in\-sacrifice\-to\-one''s\-ancestors;
+蟊 < a\-fly\-which\-is\-used\-similarly\-to\-cantharides;
+斷橋 < the\-broken\-bridge\-\(at\-west\-lake\-in\-hangzhou\);
+失敗是成功之母 < \"failure\-is\-the\-mother\-of\-success\"\-\(proverb\);
+氣功 < qigong\,\-a\-system\-of\-deep\-breathing\-exercises;
+省級 < provincial\-level\-\(eg\,\-provincial\-government\);
+武打 < acrobatic\-fighting\-in\-chinese\-opera\-or\-dance;
+橋本龍太郎 < hashimoto\,\-ryutaro\-\(prime\-minister\-of\-japan\);
+騲 < the\-female\-of\-certain\-animals\-such\-as\-horses;
+報失 < report\-the\-loss\-to\-the\-authorities\-concerned;
+保養 < take\-good\-care\-of\-\(or\-conserve\)\-one''s\-health;
+平信 < ordinary\-mail\-\(as\-opposed\-to\-air\-mail\,\-etc\.\);
+分享 < obtain\-one''s\-share\-\(of\-wealth\,\-rights\,\-etc\.\);
+紅堡 < red\-fort\-\(historic\-building\-in\-delhi\,\-india\);
+珓 < two\-hemispherical\-objects\-used\-in\-divination;
+元宵 < sweet\-dumplings\-made\-of\-glutinous\-rice\-flour;
+背城借一 < make\-a\-last\-ditch\-stand\-before\-the\-city\-wall;
+敧 < to\-pick\-up\-thing\-with\-chopsticks\-or\-pincers\.;
+扄 < large\-ring\-on\-a\-front\-door\-used\-as\-a\-knocker;
+嫏 < the\-place\-where\-the\-supreme\-stores\-his\-books;
+臨寫 < to\-copy\-\(a\-model\-of\-calligraphy\-or\-painting\);
+月餅 < moon\-cake\-\(esp\.\-for\-the\-mid\-autumn\-festival\);
+百感交集 < all\-sorts\-of\-feelings\-well\-up\-in\-one''s\-heart;
+䱁 < a\-kind\-of\-medium\-sized\-fish\-grown\-in\-the\-sea;
+䰏 < sparse\-hair\-on\-a\-knot\-on\-the\-top\-of\-the\-head;
+䮆 < a\-horse\-with\-mixed\-color\-of\-yellow\-and\-white;
+䩛 < leather\-belt\-used\-to\-bind\-or\-restrain\-a\-cart;
+抄家 < to\-search\-a\-house\-and\-confiscate\-possessions;
+䦹 < name\-of\-a\-county\-in\-today''s\-sichuan\-province;
+䣔 < name\-of\-a\-pavilion\-in\-today''s\-henan\-province;
+䣑 < living\-space\-for\-one\-family\-in\-ancient\-times;
+䣄 < name\-of\-a\-place\-in\-today''s\-shandong\-province;
+䢹 < name\-of\-a\-pavilion\-in\-today''s\-hunan\-province;
+䢪 < a\-sledge\-for\-transportation\-over\-mud\-or\-snow;
+䟆 < to\-keep\-persons\-off\-the\-route\-of\-the\-emperor;
+會見 < to\-meet\-with\-\(someone\-who\-is\-paying\-a\-visit\);
+䈐 < an\-arched\-frame\-made\-of\-bamboo\-of\-wood\-board;
+䅿 < luxuriant\-or\-exuberant\-of\-the\-grains\-flowery;
+䃈 < mountain\-rocks\-a\-black\-stone\-resembling\-jade;
+䂬 < big\-rocks\-on\-the\-riverside\-an\-arched\-opening;
+䁝 < deluding\-and\-causing\-disorder\-lights\-shining;
+㽟 < to\-till\-or\-to\-plough\-the\-fields\-an\-enclosure;
+㮄 < publicly\-posted\-roll\-of\-successful\-examinees;
+㭸 < the\-branches\-to\-spread\-out\-in\-all\-directions;
+㩉 < to\-take\-a\-rubbing\-of\-an\-inscription\-on\-stone;
+㣁 < to\-equipt\-a\-bow\-with\-silk\-and\-muscular\-fibre;
+㝙 < the\-third\-of\-the\-twelve\-terrestrial\-branches;
+長沙灣 < cheung\-sha\-wan\-\(poultry\-market\-in\-hong\-kong\);
+奧爾布賴特 < \(madeleine\)\-albright\-\(us\-secretary\-of\-state\);
+正常化 < normalization\-\(of\-diplomatic\-relations\,\-etc\);
+兵不厭詐 < there\-can\-never\-be\-too\-much\-deception\-in\-war;
+五六十歲 < \(in\-one''s\)\-fifties\-or\-sixties\-\(years\-of\-age\);
+避重就輕 < avoid\-the\-important\-and\-dwell\-on\-the\-trivial;
+大舉 < carry\-out\-a\-large\-scale\-\(military\)\-operation;
+日漸 < \(keep\-increasing\,\-changing\,\-etc\.\)\-day\-by\-day;
+標新立異 < start\-something\-new\-in\-order\-to\-be\-different;
+議席 < seat\-in\-a\-parliament\-or\-legislative\-assembly;
+乎 < interrogative\-or\-exclamatory\-final\-particle;
+澄 < purify\-water\-by\-allowing\-sediment\-to\-settle;
+歟 < a\-final\-particle\-used\-to\-express\-admiration;
+梢 < pointed\-tip\-of\-something\-long\-like\-a\-branch;
+哒 < a\-sound\-made\-to\-get\-a\-horse\-to\-move\-forward;
+琮 < octagonal\-piece\-of\-jade\-with\-hole\-in\-middle;
+唼 < speaking\-evil\.\-gobbling\-sound\-made\-by\-ducks;
+大功告成 < successfully\-accomplished\-\(project\-or\-goal\);
+通緝 < wanted\-by\-the\-police\-\(fugitive\-or\-criminal\);
+真納 < \(mohammad\-ali\)\-jinnah\-\(founder\-of\-pakistan\);
+謝裡夫 < \(nawaz\)\-sharif\-\(prime\-minister\-of\-pakistan\);
+魯賓 < rubin\-\(eg\,\-treasury\-secretary\-robert\-rubin\);
+力寶 < lippo\-\(group\)\-\(indonesian\-business\-concern\);
+吳作棟 < goh\-chok\-tong\-\(prime\-minister\-of\-singapore\);
+無所用心 < eat\-three\-square\-meals\-a\-day\-and\-do\-no\-work;
+側鋒 < oblique\-attack\-\(brush\-movement\-in\-painting\);
+邴 < name\-of\-a\-city\-in\-the\-ancient\-state\-of\-song;
+班門弄斧 < display\-one''s\-slight\-skill\-before\-an\-expert;
+中國日報 < china\-daily\-\(an\-english\-language\-newspaper\);
+崇禎 < chongzhen\,\-last\-emperor\-of\-the\-ming\-dynasty;
+白字 < wrongly\-written\-and\-mispronounced\-character;
+不可終日 < be\-unable\-to\-carry\-on\-even\-for\-a\-single\-day;
+寄予很大期望 < to\-place\-great\-hope\-or\-expectation\-on\-\(sth\);
+工人黨 < workers''\-party\-\(singapore\-opposition\-party\);
+對策 < countermeasure\-for\-dealing\-with\-a\-situation;
+䶘 < the\-sound\-of\-chewing\-something\-dry\-and\-hard;
+䮲 < horse\-with\-mixed\-colors\-of\-yellow\-and\-white;
+䦼 < to\-dig\-a\-passage\-through\-a\-mountain\-or\-hill;
+䥑 < a\-kind\-of\-decoration\-on\-the\-head\-of\-a\-horse;
+䣯 < wine\-or\-any\-thick\-fluid\-of\-the\-best\-quality;
+䣚 < name\-of\-a\-village\-in\-today''s\-henan\-province;
+䣙 < name\-of\-a\-county\-in\-today''s\-shanxi\-province;
+䢺 < name\-of\-a\-place\-in\-today''s\-sichuan\-province;
+䡿 < frames\-on\-the\-sides\-and\-front\-of\-a\-carriage;
+䜯 < name\-of\-a\-valley\-in\-today''s\-shanxi\-province;
+䘿 < shirt\-or\-a\-jacket\-without\-any\-decorated\-hem;
+䖂 < an\-edib\-le\-water\-plant\-\-\-\-brasenia\-purpurca;
+䏮 < the\-sides\-of\-the\-trunk\-from\-armpits\-to\-ribs;
+䅍 < straight\-upward\-of\-the\-wheat\-and\-rice\-plant;
+䂸 < to\-smash\-or\-to\-knock\-to\-pieces\-of\-the\-stone;
+筆力 < vigour\-of\-strokes\-in\-calligraphy\-or\-drawing;
+罰酒 < to\-drink\-as\-the\-result\-of\-having\-lost\-a\-bet;
+㾼 < to\-suffer\-a\-stroke\-of\-paralysis\-or\-apoplexy;
+㽫 < seeds\-of\-the\-plant\-allied\-to\-the\-water\-lily;
+㸷 < a\-kind\-of\-cattle\-with\-two\-horns\-straight\-up;
+㶬 < bright\-lights\-and\-illuminations\-of\-the\-fire;
+㶆 < name\-of\-a\-stream\-in\-hebei\-province\-hengshan;
+斯佩林 < spelling\-\(eg\,\-spelling\-entertainment\-group\);
+㮫 < a\-wooden\-artical\-to\-be\-used\-to\-adjust\-a\-bow;
+㫍 < the\-scallops\-along\-the\-lower\-edge\-of\-a\-flag;
+㧏 < to\-carry\-on\-the\-shouldersof\-two\-or\-more\-men;
+星體 < celestial\-body\-\(eg\,\-planet\,\-satellite\,\-etc\);
+㛶 < do\-not\-care\-about\-appearance\-and\-deportment;
+㚔 < instrument\-of\-torture\-used\-in\-ancient\-times;
+㙇 < the\-cattle\-and\-horses\-trampled\-on\-the\-field;
+主管 < \(be\)\-person\-in\-charge\-of\-\(a\-position\,\-etc\.\);
+單槍匹馬 < single\-handed\-\(lit\:\-single\-spear\-one\-horse\);
+盧泰愚 < roh\-tae\-woo\-\(former\-south\-korean\-president\);
+步韻 < to\-write\-a\-poem\-using\-another\-poem''s\-rhymes;
+口氣 < \(friendly\-or\-unfriendly\)\-tone\-\(of\-comments\);
+正鋒 < frontal\-attack\-\(brush\-movement\-in\-painting\);
+齊白石 < name\-of\-a\-famous\-chinese\-artist\,\-qi\-bai\-shi;
+下來 < \(verb\-suffix\-indicating\-continuation\,\-etc\.\);
+幹部 < a\-cadre\-\(ie\,\-manager\,\-staff\,\-officer\,\-etc\.\);
+娅 < mutual\-term\-of\-address\-used\-by\-sons\-in\-law;
+商務部 < commerce\-department\-\(of\-the\-us\-government\);
+名副其實 < not\-just\-in\-name\-only\,\-but\-also\-in\-reality;
+不當一回事 < not\-regard\-as\-a\-matter\-\(of\-any\-importance\);
+老伴兒 < \(of\-an\-old\-married\-couple\)\-husband\-or\-wife;
+不打不相識 < from\-an\-exchange\-of\-blows\-friendship\-grows;
+巴爾舍夫斯基 < \(charlene\)\-barshefsky\,\-us\-trade\-negotiator;
+鮠 < a\-kind\-of\-shad\-with\-a\-head\-like\-a\-sturgeon;
+接納 < admit\-\(into\-membership\-of\-an\-organization\);
+喜新厭舊 < literal\:\-to\-like\-the\-new\,\-and\-hate\-the\-old;
+把風 < keep\-watch\-\(during\-a\-clandestine\-activity\);
+備耕 < make\-preparations\-for\-ploughing\-and\-sowing;
+撥冗 < find\-time\-in\-the\-midst\-of\-pressing\-affairs;
+胑 < the\-limbs\.\-wings\-of\-birds\.\-legs\-of\-animals;
+筭 < an\-ancient\-device\-for\-working\-with\-numbers;
+梆子腔 < a\-general\-term\-for\-local\-operas\-in\-shangxi;
+滝 < onomatopoeic\-for\-the\-sound\-of\-falling\-rain;
+栽贓 < to\-frame\-someone\-\(by\-planting\-sth\-on\-them\);
+換取 < give\-something\-and\-get\-something\-in\-return;
+拍案叫絕 < lit\.\:\-slap\-the\-table\-and\-shout\-with\-praise;
+偽書 < \(forged\,\-dubious\,\-misclassified\)\-old\-books;
+梅蘭芳 < name\-of\-a\-very\-famous\-beijing\-opera\-artist;
+簿冊 < books\-for\-taking\-notes\-or\-keeping\-accounts;
+䳵 < a\-kind\-of\-water\-bird\-with\-colorful\-feather;
+䳛 < a\-small\-brown\-speckled\-bird\-like\-the\-quail;
+䩑 < horizontal\-front\-bar\-on\-a\-cart\-or\-carriage;
+䦓 < to\-wait\-for\-something\-tohappen\-immediately;
+䣤 < name\-of\-village\-in\-today''s\-shanxi\-province;
+䣝 < name\-of\-a\-place\-in\-today''s\-shanxi\-province;
+䣂 < name\-of\-a\-county\-in\-today''s\-hunan\-province;
+䡩 < sound\-of\-carts\-or\-stones\-knocking\-together;
+䠀 < to\-sit\-cross\-legged\-like\-a\-buddhist\-priest;
+䜫 < name\-of\-a\-valley\-in\-today''s\-hobei\-province;
+䜚 < to\-speak\-recklessly\-or\-without\-forethought;
+䓥 < sound\-of\-the\-wriggled\-insects\-on\-the\-grass;
+䐄 < the\-unsatisfaction\-of\-hunger\-requires\-meat;
+䍴 < to\-squeeze\-and\-to\-crowd\-against\-each\-other;
+䍆 < container\-for\-grains\-used\-in\-ancient\-times;
+上車 < to\-get\-on\-or\-into\-\(a\-bus\,\-train\,\-car\-etc\.\);
+䇯 < a\-kind\-of\-bamboo\-with\-patterns\-on\-the\-head;
+行政院 < executive\-yuan\-\(government\-body\-in\-taiwan\);
+㼱 < to\-manage\-or\-regulate\-the\-leather\-material;
+㯊 < even\-measuring\-board\-for\-pecks\-and\-bushels;
+筆下 < the\-wording\-and\-purport\-of\-what\-one\-writes;
+便函 < an\-informal\-letter\-sent\-by\-an\-organization;
+㨐 < to\-slap\-lightly\-on\-the\-clothes\-or\-coverlet;
+㢥 < a\-big\-piece\-of\-log\-to\-join\-the\-thick\-ropes;
+首席 < chief\-\(representative\,\-correspondent\,\-etc\);
+贅婿 < son\-in\-law\-living\-at\-wife''s\-parent''s\-house;
+杰佛茲 < \(james\)\-jeffords\-\(us\-senator\-from\-vermont\);
+處於 < be\-\(in\-some\-state\,\-position\,\-or\-condition\);
+風土人情 < local\-conditions\-\(human\-and\-environmental\);
+阿拉塔斯 < \(ali\)\-alatas\-\(indonesian\-foreign\-minister\);
+羅布泊 < lop\-nor\-\(nuclear\-testing\-site\-in\-xinjiang\);
+民進黨 < dpp\-\(democratic\-progressive\-party\,\-taiwan\);
+敗筆 < a\-faulty\-stroke\-in\-calligraphy\-or\-painting;
+珈 < an\-ornament\-attached\-to\-a\-woman''s\-hairpin;
+蜃 < marine\-monster\-which\-can\-change\-its\-shape;
+斛 < dry\-measure\-equal\-to\-some\-five\-or\-ten\-dou;
+鄯 < district\-in\-gansu\-during\-the\-tang\-dynasty;
+庹 < the\-length\-of\-one''s\-two\-outstretched\-arms;
+揲 < to\-sort\-out\-the\-stalks\-used\-in\-divination;
+出路 < a\-way\-out\-\(of\-a\-difficult\-situation\,\-etc\);
+約定資訊速率 < committed\-inforrmation\-rate\-\(frame\-relay\);
+白花蛇 < long\-nosed\-pit\-viper\-\(agkistrodon\-acutus\);
+中共中央 < chinese\-communist\-party\-central\-committee;
+博聞強記 < have\-wide\-learning\-and\-a\-retentive\-memory;
+度日 < scratch\-out\-a\-difficult\,\-meager\-existence;
+眾議員 < member\-of\-the\-us\-house\-of\-representatives;
+韍 < a\-leather\-knee\-pad\-worn\-during\-sacrifices;
+報案 < report\-a\-case\-to\-the\-security\-authorities;
+鏞 < a\-large\-bell\-used\-as\-a\-musical\-instrument;
+軎 < a\-brass\-parts\-for\-a\-cart\-in\-ancient\-china;
+兵源 < manpower\-resources\-\(for\-military\-service\);
+虋 < asparagus\-a\-variety\-of\-red\-stalked\-millet;
+百年大計 < a\-project\-of\-vital\-and\-lasting\-importance;
+邁科裡 < \(mike\)\-mccurry\-\(white\-house\-spokesperson\);
+拔苗助長 < spoil\-things\-through\-excessive\-enthusiasm;
+報告會 < public\-lecture\-\(with\-guest\-speakers\,\-etc\);
+利伯曼 < \(connecticut\-senator\-joseph\-i\.\)\-lieberman;
+肯普索恩 < \(dirk\)\-kempthorne\-\(us\-senator\-from\-idaho\);
+廞 < to\-prepare\-horses\-and\-chariots\-for\-battle;
+婗 < a\-new\-born\-child\-the\-whimper\-of\-an\-infant;
+妺 < wife\-of\-the\-last\-ruler\-of\-the\-xia\-dynasty;
+噠 < sound\-made\-to\-get\-a\-horse\-to\-move\-forward;
+外孫女兒 < granddaughter\-\(daughter\-of\-one''s\-daugher\);
+有電 < \(of\-a\-dwelling\)\-supplied\-with\-electricity;
+百折不撓 < keep\-on\-fighting\-in\-spite\-of\-all\-setbacks;
+神女峰 < name\-of\-a\-peak\-by\-changjiang\-three\-gorges;
+丂 < obstruction\-of\-breath\-as\-it\-seeks\-release;
+賁臨 < \(of\-distinguished\-guests\)\-honour\-my\-house;
+䰿 < a\-kind\-of\-small\-fish\-grown\-in\-fresh\-water;
+安身立命 < settle\-down\-and\-get\-on\-with\-one''s\-pursuit;
+䢿 < name\-of\-a\-place\-in\-today''s\-hobei\-province;
+䡈 < the\-cross\-bar\-at\-the\-sides\-of\-a\-carritage;
+䔉 < scattered\-or\-dispersed\-of\-grass\-and\-trees;
+䑒 < a\-kind\-of\-farm\-tool\-used\-in\-ancient\-times;
+䐣 < soup\-made\-of\-cutted\-meat\-mixed\-with\-blood;
+䌮 < silk\-fabrics\-with\-the\-color\-of\-new\-leaves;
+䄨 < grains\-producing\-neither\-flower\-nor\-fruit;
+䄝 < show\-no\-respect\-to\-the\-service\-of\-worship;
+㼭 < to\-steady\-by\-putting\-something\-underneath;
+㻲 < a\-rite\-or\-service\-for\-beginning\-of\-autumn;
+逆向擁塞通知 < backward\-explicit\-congestion\-notification;
+經營管理和維護 < operations\-administration\-and\-maintenance;
+㪪 < to\-use\-a\-wooden\-pole\-to\-support\-something;
+㢦 < wooden\-post\-or\-pile\-for\-tethering\-animals;
+㜢 < a\-bad\-term\-by\-which\-one\-addresses\-a\-woman;
+㚒 < concealed\-the\-stolen\-goods\-in\-one''s\-dress;
+白曉燕 < pai\-hsiao\-yen\-\(daughter\-of\-pai\-ping\-ping\);
+不經一事不長一智 < you\-can''t\-gain\-knowledge\-without\-practice;
+松下 < matsushita\-\(japanese\-electronics\-company\);
+不妙 < \(of\-a\-turn\-of\-events\)\-not\-too\-encouraging;
+踣 < to\-stumble\-and\-fall\-prone\-stiff\-in\-death;
+黼 < embroidered\-official\-or\-sacrificial\-robe;
+峄 < a\-range\-of\-peaks\-in\-shandong\-and\-jiangsu;
+勉強 < manage\-\(to\-do\-something\)\-with\-difficulty;
+別無 < have\-no\-other\-\(choice\,\-alternative\,\-etc\);
+不可一世 < consider\-oneself\-unexcelled\-in\-the\-world;
+金日成 < kim\-il\-sung\-\(former\-north\-korean\-leader\);
+公約 < convention\-\(ie\,\-international\-agreement\);
+闗 < a\-frontier\-pass\-or\-gate\-to\-shut\-or\-close;
+邾 < a\-feudal\-state\-which\-existed\-b\.c\.700\-469;
+太極劍 < a\-kind\-of\-traditional\-chinese\-sword\-play;
+年度 < year\-\(eg\,\-school\-year\,\-fiscal\-year\,\-etc\);
+絕對數字 < absolute\-\(as\-opposed\-to\-relative\)\-number;
+薩 < transliteration\-of\-''sat''\-in\-''bodhisattva;
+筆順 < order\-of\-strokes\-observed\-in\-calligraphy;
+膰 < to\-cook\-meat\-for\-a\-sacrifice\-or\-offering;
+扎針 < to\-give\-or\-have\-an\-acupuncture\-treatment;
+司法部 < justice\-deparment\-\(of\-the\-us\-government\);
+瑌 < a\-white\-opaque\-quartz\-used\-for\-ornaments;
+潟 < land\-impregnated\-with\-salt\-from\-the\-tide;
+製劑 < \(chemical\-or\-pharmaceutical\)\-preparation;
+體會 < know\-\(through\-learning\-or\-by\-experience\);
+偽托 < faking\-a\-modern\-object\-as\-an\-ancient\-one;
+庫納南 < \(andrew\)\-cunanan\-\(alleged\-serial\-killer\);
+海關 < customs\-\(ie\,\-border\-crossing\-inspection\);
+抱頭鼠竄 < cover\-the\-head\-and\-sneak\-away\-like\-a\-rat;
+黃建南 < john\-huang\-\(democratic\-party\-fundraiser\);
+䵞 < ancient\-punishment\-of\-tattooing\-the\-face;
+䱹 < a\-condiment\-made\-from\-minced\-fish\-salted;
+䯰 < use\-a\-hair\-pin\-to\-set\-and\-dress\-the\-hair;
+䬯 < to\-have\-congee\-with\-friends\-in\-old\-times;
+䡋 < decoration\-on\-the\-nave\-or\-hub\-of\-a\-wheel;
+䞃 < to\-relieve\-or\-give\-aid\-to\-the\-distressed;
+䘯 < the\-lapel\-or\-collar\-of\-a\-garment\-or\-robe;
+䘤 < a\-sword\-covering\-to\-protect\-the\-scabbard;
+䑌 < lwhat\-is\-left\-over\-of\-the\-food\-\-overripe;
+䋧 < ornamennts\-for\-the\-frontal\-part\-of\-shoes;
+䋣 < decorations\-put\-on\-the\-mane\-or\-horsehair;
+䈕 < the\-metal\-tongue\-in\-the\-reed\-instruments;
+䃴 < a\-whetstone\-used\-to\-grind\-precious\-stone;
+䁼 < to\-look\-but\-see\-nothing\-\-\-\-absent\-minded;
+㿆 < damage\-by\-the\-pests\-to\-the\-rice\-seedling;
+㻶 < a\-jade\-tube\-with\-white\-and\-nature\-colors;
+㻰 < decorated\-jade\-or\-ornament\-on\-a\-scabbard;
+㻡 < a\-jade\-ring\-with\-a\-small\-segment\-cut\-off;
+㮆 < eaves\-sprouting\-from\-the\-stump\-of\-a\-tree;
+㫔 < one\-of\-the\-eight\-diagrams\-for\-divination;
+㪻 < a\-kind\-of\-utensil\-used\-to\-ladle\-out\-wine;
+㩊 < to\-pull\-up\-the\-sleeves\-and\-show\-the\-arms;
+㧭 < to\-get\-something\-with\-both\-raising\-hands;
+㧚 < the\-gesture\-of\-using\-an\-indented\-contain;
+㧆 < to\-cover\-something\-with\-a\-piece\-of\-cloth;
+百廢俱興 < all\-neglected\-tasks\-are\-being\-undertaken;
+㡋 < a\-kind\-of\-headdress\-for\-man\-in\-old\-china;
+㠸 < the\-lapel\-or\-collor\-of\-a\-garment\-or\-robe;
+㜚 < a\-local\-government\-post\-in\-ancient\-times;
+㙟 < low\-lying\-on\-the\-side\-of\-a\-river\-or\-lake;
+避實就虛 < stay\-clear\-of\-the\-enemy''s\-main\-force\-and;
+不求甚解 < not\-seek\-to\-understand\-things\-thoroughly;
+碑記 < a\-record\-of\-events\-inscribed\-on\-a\-tablet;
+中央全會 < plenary\-session\-of\-the\-central\-committee;
+包辦 < take\-care\-of\-everything\-concerning\-a\-job;
+古杰拉爾 < \(i\.\-k\.\)\-gujral\-\(prime\-minister\-of\-india\);
+黃岩島 < huangyan\-island\-\(in\-the\-south\-china\-sea\);
+機關報 < official\-\(government\-operated\)\-newspaper;
+前向擁塞通知 < forward\-explicit\-congestion\-notification;
+出面 < act\-in\-a\-\(official\-or\-personal\)\-capacity;
+喏 < respectful\-reply\-of\-assent\-to\-superiors;
+笏 < tablet\-held\-by\-someone\-having\-authority;
+趼 < callous\-skin\-on\-hands\-or\-feet\.\-blisters;
+相隔 < be\-separated\-by\-\(distance\-or\-time\,\-etc\);
+美國廣播公司 < abc\-\(american\-broadcasting\-corporation\);
+時報 < \"times\"\-\(newspaper\,\-eg\,\-new\-york\-times\);
+通航 < connected\-by\-air\|sea\-traffic\-or\-service;
+核武器研製計劃 < nuclear\-weapons\-\(manufacturing\)\-program;
+冷淡關係 < cold\-relations\-\(e\.g\.\-between\-countries\);
+不了了之 < settle\-a\-matter\-by\-leaving\-it\-unsettled;
+遷居 < to\-move\-\(from\-one\-residence\-to\-another\);
+饝 < to\-feed\-an\-infant\-by\-hand\-steamed\-bread;
+不即不離 < be\-neither\-too\-familiar\-nor\-too\-distant;
+總政治部 < \(military\)\-general\-political\-department;
+哈裡森史密特 < harrison\-schmitt\-\(apollo\-1\-7\-astronaut\);
+入學率 < percentage\-of\-children\-who\-enter\-school;
+裍 < a\-border\-or\-band\-on\-the\-edge\-of\-a\-dress;
+年代 < a\-decade\-of\-a\-century\-\(eg\,\-the\-sixties\);
+畢其功于一役 < accomplish\-the\-whole\-task\-at\-one\-stroke;
+半路出家 < switch\-to\-a\-job\-one\-was\-not\-trained\-for;
+籪 < a\-weir\-of\-bamboo\-to\-catch\-fish\-or\-crabs;
+瘲 < spasms\-or\-convulsions\-in\-young\-children;
+瑲 < tinkling\-sound\-tinkling\-of\-pendant\-gems;
+病毒學家 < virologist\-\(person\-who\-studies\-viruses\);
+建立正式外交關係 < formally\-establish\-diplomatic\-relations;
+茅臺酒 < maotai\-or\-maitai\-\(chinese\-strong\-drink\);
+結社自由 < \(constitutional\)\-freedom\-of\-association;
+弝 < the\-part\-of\-a\-bow\-grasped\-when\-shooting;
+喬石 < qiao\-shi\-\(chinese\-leadership\-contender\);
+豎鉤 < \(straight\-down\-hooked\-character\-stroke\);
+䥜 < protective\-metal\-on\-the\-axis\-of\-a\-wheel;
+成本 < \(manufacturing\,\-production\,\-etc\.\)\-costs;
+䙖 < a\-cloth\-to\-carry\-an\-iinfant\-on\-the\-back;
+王羲之 < name\-of\-a\-person\,\-a\-famous\-calligrapher;
+䏫 < in\-between\-of\-the\-abdomen\-and\-the\-spine;
+䍉 < traces\-or\-marks\-of\-incomplete\-or\-damage;
+䌸 < fine\-silk\-fabric\-of\-bright\-white\-colour;
+邊角科 < leftover\-bits\-and\-pieces\-\(of\-industrial;
+䋿 < a\-decorative\-knot\-made\-of\-colorful\-silk;
+䈜 < a\-thread\-used\-by\-carpenters\-for\-marking;
+䈆 < a\-shallow\-and\-long\-shaped\-bamboo\-basket;
+代理 < acting\-\(temporarily\-filling\-a\-position\);
+㿹 < jutting\-on\-the\-epidermis\-or\-the\-cuticle;
+㼫 < earthenware\-or\-pottery\-with\-big\-opening;
+㵻 < to\-perspire\-from\-embarrassment\-or\-shame;
+蔓延全國 < to\-spread\-throughout\-the\-entire\-country;
+㭩 < a\-kind\-of\-tree\-can\-be\-used\-as\-dye\-stuff;
+㣙 < to\-walk\-in\-an\-easy\-and\-leisurely\-manner;
+㢪 < to\-draw\-a\-full\-bow\-to\-aim\-at\-the\-target;
+客廳 < drawing\-room\-\(room\-for\-arriving\-guests\);
+㘊 < the\-abrupt\-and\-hasty\-sound\-of\-the\-crowd;
+㖮 < an\-interjection\-used\-in\-poems\-and\-songs;
+㔮 < a\-kind\-of\-animal\-which\-looks\-like\-a\-rat;
+蓮霧 < wax\-apple\-\(a\-reddish\-pear\-shaped\-fruit\);
+題簽 < to\-write\-the\-title\-of\-a\-book\-on\-a\-label;
+百思不解 < remain\-puzzled\-after\-pondering\-over\-sth;
+半勞動力 < one\-able\-to\-do\-light\-manual\-labour\-only;
+總後勤部 < \(military\)\-general\-logistics\-department;
+一國兩制 < one\-country\,\-two\-systems\-\(china\-taiwan\);
+擺事實講道理 < present\-the\-facts\-and\-reason\-things\-out;
+老二 < the\-second\-child\-or\-brother\-\(or\-sister\);
+中南 < \(abbreviation\-for\)\-china\-\-\-south\-africa;
+阿昌族 < the\-achang\-nationality\-living\-in\-yunnan;
+版次 < the\-order\-in\-which\-editions\-are\-printed;
+啧 < interjection\-of\-approval\-or\-admiration;
+捺 < to\-press\-down\-heavily\-with\-the\-fingers;
+傣 < the\-dai\-minority\-living\-in\-south\-china;
+鸩 < a\-bird\-resembling\-the\-secretary\-falcon;
+淝 < name\-of\-an\-affluent\-of\-the\-poyang\-lake;
+郅 < to\-go\-up\-to\.\-flourishing\-a\-superlative;
+轫 < a\-block\-that\-keeps\-a\-wheel\-from\-moving;
+嶷 < a\-range\-of\-mountains\-in\-hunan\-province;
+鬲 < type\-of\-caldron\-with\-three\-hollow\-legs;
+刖 < cutting\-off\-feet\-as\-form\-of\-punishment;
+穸 < the\-gloom\-of\-the\-grave\-a\-tomb\-or\-grave;
+蘅 < a\-fragrant\-plant\-the\-root\-is\-medicinal;
+白頭諧老 < live\-to\-ripe\-old\-age\-in\-conjugal\-bliss;
+受傷 < suffer\-injuries\-\(in\-an\-accident\,\-etc\.\);
+訂立 < agree\-to\-\(treaty\,\-contract\,\-agreement\);
+夏曆 < the\-traditional\-chinese\-lunar\-calendar;
+成千上萬 < by\-the\-thousands\-and\-tens\-of\-thousands;
+師範 < normal\-\(eg\,\-beijing\-normal\-university\);
+佩洛西 < \(nancy\)\-pelosi\-\(member\-of\-us\-congress\);
+驆 < used\-in\-transliterating\-buddhist\-books;
+駏 < offspring\-of\-a\-stallion\-and\-a\-she\-mule;
+廣場 < a\-public\-square\-\(eg\,\-tiananmen\-square\);
+鉌 < the\-bells\-on\-the\-cart\-in\-ancient\-china;
+補票 < buy\-one''s\-ticket\-after\-the\-normal\-time;
+發燒 < have\-a\-high\-temperature\-\(from\-illness\);
+詧 < to\-examine\-into\-judicially\-to\-find\-out;
+綳 < a\-cloth\-to\-carry\-an\-infant\-on\-the\-back;
+綖 < the\-hanging\-flap\-in\-the\-front\-of\-a\-hat;
+祫 < triennial\-sacrifice\-to\-one''s\-ancestors;
+盆地 < basin\-\(low\-lying\-geographical\-feature\);
+磻 < a\-tributary\-of\-the\-wei\-river\-in\-shanxi;
+手跡 < sb\.''s\-original\-handwriting\-or\-painting;
+璧還 < return\-\(a\-borrowed\-object\)\-with\-thanks;
+不宣而戰 < open\-hostilities\-without\-declaring\-war;
+國際電信聯盟 < international\-telecommunications\-union;
+不遠千里 < make\-light\-of\-travelling\-a\-thousand\-li;
+斴 < the\-sound\-of\-water\-flowing\-among\-rocks;
+安居樂業 < live\-and\-work\-in\-peace\-and\-contentment;
+表妹 < female\-cousin\-with\-a\-different\-surname;
+崑 < kunlun\-mountains\-in\-jiang\-su\-province\.;
+拆散 < to\-break\-up\-\(a\-marriage\,\-family\,\-etc\.\);
+吐魯番 < the\-turfan\-basin\,\-in\-xinjiang\-province;
+備品 < machine\-parts\-or\-tools\-kept\-in\-reserve;
+䰘 < to\-kill\-by\-hanging\-or\-to\-strangulation;
+䮗 < white\-from\-forehead\-to\-lips\-of\-a\-horse;
+䪲 < ancient\-punishment\-of\-shaving\-the\-head;
+䩸 < fine\-woolen\-blanket\-on\-top\-of\-a\-saddle;
+䩫 < a\-unit\-to\-count\-shoes\-in\-ancient\-times;
+䦅 < a\-kind\-of\-weapon\-used\-in\-ancient\-times;
+䥐 < cooking\-utensils\-used\-in\-ancient\-times;
+䢇 < a\-son\-who\-is\-not\-so\-good\-as\-his\-father;
+䛗 < to\-pry\-into\-or\-expose\-another''s\-secret;
+䚅 < to\-look\-after\-home\-or\-domestic\-affairs;
+䘨 < short\-leggings\-drawn\-over\-the\-trousers;
+䖿 < a\-kind\-of\-clam\-with\-thick\-white\-shells;
+䕰 < a\-second\-name\-for\-rhizome\-of\-wind\-weed;
+䓭 < weed\-or\-grass\-with\-narrow\-thick\-glades;
+半脫產 < partly\-released\-from\-productive\-labour;
+䍻 < young\-goat\-of\-sheep\-under\-one\-year\-old;
+䍦 < a\-kind\-of\-turban\-used\-in\-ancient\-times;
+䌹 < a\-garment\-of\-one\-colour\-with\-no\-lining;
+不可同日而語 < cannot\-be\-mentioned\-in\-the\-same\-breath;
+䄪 < hanging\-down\-of\-the\-ears\-of\-the\-grains;
+䄍 < year\-end\-sacrifice\-of\-the\-zhou\-dynasty;
+㽠 < connection\-of\-the\-ditches\-or\-waterways;
+㼮 < to\-rub\-out\-the\-filth\-with\-broken\-tiles;
+㫩 < the\-first\-of\-the\-four\-season\-\-\-\-spring;
+㤝 < palpitation\-or\-fluttering\-of\-the\-heart;
+㟌 < a\-mountain\-in\-today''s\-sichuan\-province;
+㔯 < a\-large\-basket\-for\-holding\-cooked\-rice;
+首任 < first\-person\-to\-be\-appointed\-to\-a\-post;
+總書記 < general\-secretary\-\(of\-communist\-party\);
+部長 < head\-of\-a\-\(government\,\-etc\)\-department;
+比量 < take\-rough\-measurements\-\(with\-the\-hand;
+遍體鱗傷 < covered\-all\-over\-with\-cuts\-and\-bruises;
+笙 < small\-gourd\-shaped\-musical\-instrument;
+滕 < an\-ancient\-state\-in\-shandong\-province;
+镛 < large\-bell\-used\-as\-musical\-instrument;
+讵 < an\-interjection\-used\-express\-surprise;
+泔 < water\-from\-washing\-rice\-to\-boil\-thick;
+瘐 < to\-die\-in\-prison\-from\-cold\-and\-hunger;
+棼 < beams\-in\-the\-roof\-of\-a\-house\-confused;
+教授畢竟是教授 < professors\-are\-\(after\-all\)\-professors;
+百足之蟲死而不僵 < a\-centipede\-dies\-but\-never\-falls\-down;
+博愛 < universal\-fraternity\-\(or\-brotherhood\);
+敗火 < relieve\-inflammation\-or\-internal\-heat;
+經營 < engage\-in\-\(a\-business\-activity\,\-etc\.\);
+集成 < integrated\-\(as\-in\-integrated\-circuit\);
+麅 < a\-small\-spotted\-deer\-found\-in\-n\.china;
+內懮外患 < domestic\-strife\-and\-foreign\-agression;
+安全與交換委員會 < securities\-and\-exchange\-communication;
+政委 < political\-commissar\-\(within\-the\-army\);
+沈國放 < chinese\-foreign\-ministry\-spokesperson;
+編導 < write\-and\-direct\-\(a\-play\,\-film\,\-etc\.\);
+行駛 < \(vehicles\,\-etc\.\)\-travel\-along\-a\-route;
+兵種 < \(military\)\-branch\-of\-the\-armed\-forces;
+阼 < the\-steps\-leading\-to\-the\-eastern\-door;
+逼宮 < force\-the\-king\-or\-emperor\-to\-abdicate;
+輗 < a\-cross\-bar\-at\-end\-of\-a\-carriage\-pole;
+航行 < sail\-or\-fly\-\(in\-air\,\-water\,\-or\-space\);
+詎 < interjection\-used\-to\-express\-surprise;
+缌 < coarse\-cotton\-cloth\-used\-for\-mourning;
+硜 < the\-sound\-of\-stones\-knocking\-together;
+相信 < be\-convinced\-\(that\-something\-is\-true\);
+犉 < an\-ox\-with\-yellow\-hair\-and\-black\-lips;
+拔秧 < pull\-up\-seedlings\-\(for\-transplanting\);
+煝 < twisted\-paper\-for\-lighting\-cigarettes;
+手裡 < \(a\-situation\-is\)\-in\-\(someone''s\)\-hands;
+捕撈 < fish\-for\-\(aquatic\-animals\-and\-plants\);
+穆桂英 < mu\-gui\-ying\-\(name\-of\-a\-woman\-warrior\);
+簽名 < to\-sign\-\(one''s\-name\-with\-a\-pen\,\-etc\.\);
+濟南 < ji''nan\-\(capital\-of\-shandong\-province\);
+帬 < the\-skirt\-of\-a\-lady''s\-dress\-petticoat;
+嵠 < a\-valley\-with\-a\-stream\-in\-it\.\-a\-gorge;
+虛擬通道標誌符 < virtual\-channel\-connection\-identifier;
+屏條 < set\-of\-\(usually\-four\)\-hanging\-scrolls;
+孫女兒 < granddaughter\-\(daughter\-of\-one''s\-son\);
+究竟 < after\-all\-\(when\-all\-is\-said\-and\-done\);
+鎮江 < zhenjiang\-\(city\)\,\-in\-jiangsu\-province;
+䱗 < a\-long\-narrow\-fish\-trichiurus\-armatus;
+䱔 < a\-long\-narrow\-and\-silver\-colored\-fish;
+䪓 < a\-metal\-ornament\-on\-some\-kind\-of\-belt;
+䨙 < to\-rain\-cats\-and\-dogs\-for\-a\-long\-time;
+䦊 < an\-appliance\-for\-walking\-on\-the\-sands;
+䥂 < the\-sharp\-edge\-of\-a\-shovel\-or\-a\-spade;
+䡕 < the\-rear\-platform\-of\-a\-light\-carriage;
+䜔 < to\-speak\-on\-the\-ideas\-of\-someone\-else;
+治病救人 < cure\-the\-sickness\-to\-save\-the\-patient;
+䖠 < a\-kind\-of\-lizard\-found\-in\-damp\-places;
+䖜 < the\-fighting\-sound\-made\-by\-two\-tigers;
+有志者事竟成 < where\-there\-is\-a\-will\,\-there\-is\-a\-way;
+䎒 < flying\-quickly\-and\-to\-attack\-suddenly;
+䋊 < decorations\-of\-the\-emperor''s\-carriage;
+䀛 < to\-look\-far\-with\-the\-eyes\-half\-closed;
+㼨 < a\-water\-jar\-with\-ears\-for\-carrying\-it;
+㻎 < a\-large\-horizontal\-musical\-instrument;
+㺪 < an\-uncarved\-of\-unpolished\-jade\-or\-gem;
+㵿 < endlessly\-long\-or\-vast\-water\-currents;
+㴩 < name\-of\-a\-stream\-in\-shandong\-province;
+㯘 < a\-small\-wooden\-stand\-having\-four\-legs;
+㤍 < never\-reveal\-one''s\-feeling\-or\-emotion;
+㣠 < a\-rope\-decorated\-with\-bronze\-ornament;
+㡑 < ancient\-mourning\-turban\-worn\-by\-women;
+㠑 < high\-mountain\-steep\-rugged\-and\-uneven;
+㠄 < name\-of\-a\-mountain\-in\-yunnan\-province;
+㠁 < irregular\-outline\-of\-a\-range\-of\-hills;
+㟚 < name\-of\-a\-mountain\-in\-shanxi\-province;
+㚶 < wife\-of\-one''s\-husband''s\-elder\-brother;
+㘈 < able\-to\-take\-a\-correct\-view\-of\-things;
+㗰 < the\-character\-used\-in\-transliteration;
+㒿 < a\-kind\-of\-turban\-used\-in\-ancient\-time;
+主科 < required\-courses\-in\-the\-major\-subject;
+尚慕杰 < james\-sasser\-\(us\-ambassador\-to\-china\);
+哀鴻遍野 < a\-land\-swarming\-with\-disaster\-victims;
+病從口入 < illness\-finds\-its\-way\-in\-by\-the\-mouth;
+班底 < ordinary\-members\-of\-theatrical\-troupe;
+金缽 < \(gold\)\-alms\-bowl\-\(of\-a\-buddhist\-monk\);
+塞爾南 < \(eugene\)\-cernan\-\(apollo\-17\-astronaut\);
+聯名 < jointly\-\(signed\,\-declared\,\-sponsored\);
+總參謀部 < \(military\)\-general\-staff\-headquarters;
+下榻 < stay\-at\-\(a\-hotel\,\-etc\.\-during\-a\-trip\);
+年畫兒 < new\-year\-\(or\-spring\-festival\)\-picture;
+鐵飯碗 < \"iron\-rice\-bowl\"\-\-\-\-secure\-employment;
+聯邦調查局 < fbi\-\(federal\-bureau\-of\-investigation\);
+胡志明 < ho\-chi\-minh\-\(vietnamese\-leader\,\-city\);
+記述 < make\-a\-descriptive\-record\-\(of\-events\);
+撥絃樂器 < plucked\-string\-or\-stringed\-instrument;
+弁 < conical\-cap\-worn\-during\-zhou\-dynasty;
+酉 < tenth\-of\-the\-twelve\-earthly\-branches;
+旌 < banner\-or\-flag\-adorned\-with\-feathers;
+衮 < ceremonial\-dress\-worn\-by\-the\-emperor;
+溧 < river\-in\-anhui\-and\-jiangsu\-provinces;
+糍 < food\-made\-of\-crushed\-and\-cooked\-rice;
+殛 < to\-put\-to\-death\-to\-imprison\-for\-life;
+狍 < species\-of\-deer\-found\-in\-north\-china;
+绂 < ribbon\-or\-cord\-used\-attach\-ornaments;
+磉 < the\-stone\-base\-or\-plinth\-of\-a\-pillar;
+蕹 < ipomoea\-aquatica\-used\-as\-a\-vegetable;
+暗傷 < internal\-\(invisible\)\-injury\-\(damage\);
+檔案轉送存取及管理 < file\-transfer\,\-access\-and\-management;
+太湖 < tai\-hu\-lake\,\-a\-big\-lake\-by\-wuxi\-city;
+橫鉤 < \(horizontal\-hooked\-character\-stroke\);
+北宋 < the\-northern\-song\-dynasty\-\(960\-1127\);
+齈 < cold\-in\-the\-head\-catarrh\-of\-the\-nose;
+鹻 < impure\-carbonate\-of\-sodium\-of\-natron;
+鄉下 < country\-\(as\-opposed\-to\-town\-or\-city\);
+鶢 < a\-bird\-which\-frequents\-the\-sea\-shore;
+別具一格 < having\-a\-unique\-or\-distinctive\-style;
+簽訂 < to\-agree\-to\-and\-sign\-\(a\-treaty\,\-etc\);
+郪 < name\-of\-a\-stream\-in\-sichuan\-province;
+徐悲鴻 < name\-of\-a\-famous\-painter\,\-xu\-beihong;
+轞 < a\-vehicle\-for\-transporting\-prisoners;
+輹 < two\-pieces\-of\-wood\-underneath\-a\-cart;
+讀賣新聞 < yomiuri\-shimbun\-\(japanese\-newspaper\);
+增值 < appreciation\-\(of\-a\-car\,\-house\,\-etc\.\);
+一九四九年 < the\-year\-1949\-\(communist\-revolution\);
+芿 < grass\-which\-has\-been\-cut\-and\-regrown;
+胬 < a\-disease''s\-name\-in\-chinese\-medicine;
+禊 < semi\-annual\-ceremony\-of\-purification;
+兵家 < military\-strategist\-in\-ancient\-china;
+英尺 < \(english\)\-foot\-\(unit\-of\-measurement\);
+國際標準組織 < international\-standards\-organization;
+才疏學淺 < have\-little\-talent\-and\-less\-learning;
+淪陷 < \(territory\)\-fall\-to\-enemy\-occupation;
+戥 < a\-small\-steelyard\-for\-weighing\-money;
+花木蘭 < hua\-mu\-lan\-\(name\-of\-a\-woman\-warrior\);
+打不過 < not\-to\-be\-able\-to\-beat\-or\-defeat\-sb\.;
+世界性古老問題 < a\-problem\-as\-old\-as\-the\-world\-itself;
+避坑落井 < dodge\-a\-pit\-only\-to\-fall\-into\-a\-well;
+寍 < used\-as\-a\-term\-of\-comparison\:\-rather;
+人選 < person\(s\)\-selected\-\(for\-a\-job\,\-etc\.\);
+發了言 < \(\"past\-tense\"\-of\-\:發言\)\-spoke\-publicly;
+咗 < verbal\-particle\-of\-perfective\-aspect;
+變溫動物 < poikilothermal\-\(cold\-blooded\)\-animal;
+會長 < president\-of\-a\-club\,\-committee\,\-etc\.;
+丱 < child''s\-hairstyle\-bound\-in\-two\-tufts;
+不自量 < not\-take\-a\-proper\-measure\-of\-oneself;
+䮤 < one\-of\-the\-36\-gardens\-in\-han\-dynasty;
+䬭 < name\-of\-a\-legendary\-ferocious\-animal;
+䪔 < cross\-bar\-of\-wood\-under\-the\-carriage;
+䧤 < name\-of\-a\-river\-in\-shandong\-province;
+䤌 < a\-kind\-of\-wine\-be\-brewed\-from\-grains;
+䠷 < the\-appearance\-of\-height\-in\-a\-person;
+䠅 < hands\-and\-feet\-chapped\-from\-the\-cold;
+䝤 < a\-primitive\-tribe\-in\-southwest\-china;
+䝟 < a\-fierce\-man\-eating\-animal\-in\-legend;
+䝝 < an\-exclamation\-indicating\-admiration;
+䛓 < an\-official\-position\-in\-former\-times;
+䚘 < the\-long\-and\-upright\-horns\-of\-cattle;
+䖒 < earthenware\-with\-the\-shape\-of\-a\-bean;
+䕎 < name\-of\-a\-variety\-of\-grass\-perennial;
+䓑 < name\-of\-a\-variety\-of\-grass\-duckweeds;
+䑗 < to\-pound\-in\-order\-to\-remove\-the\-husk;
+䐱 < to\-pick\-the\-meat\-in\-between\-of\-bones;
+䏁 < unable\-to\-hear\-distinctly\-or\-clearly;
+寫成 < to\-compile\-\(fashion\-through\-writing\);
+䊠 < to\-give\-a\-supply\-f\-grain\-for\-rations;
+䉟 < a\-bamboo\-basket\-used\-to\-catch\-fishes;
+䈰 < a\-brush\-for\-washing\-kitchen\-utensils;
+䇼 < a\-bamboo\-vessel\-used\-to\-catch\-fishes;
+吞金 < to\-commit\-suicide\-by\-swallowing\-gold;
+䄫 < a\-kind\-of\-sorghum\-with\-white\-sprouts;
+䄈 < sacrifice\-to\-happiness\-and\-good\-luck;
+䃤 < black\-colored\-grindstone\-or\-whestone;
+䃎 < name\-of\-a\-place\-\-small\-piece\-of\-coal;
+䂹 < sound\-of\-the\-falling\-pieces\-of\-rocks;
+䁶 < to\-look\-at\-something\-without\-winking;
+䁵 < newborn\-baby\-with\-the\-eyelids\-closed;
+板眼 < measure\-in\-traditional\-chinese\-music;
+㽅 < vessel\-for\-ceremony\-in\-ancient\-times;
+㸹 < cattle\-with\-white\-stripe\-on\-the\-back;
+㸗 < not\-a\-real\-father\-or\-a\-nature\-father;
+㳘 < a\-fountain\-or\-spring\-flows\-downwards;
+㮯 < whole\-piece\-of\-or\-unbroken\-firewoods;
+㮜 < a\-blocks\-engraved\-for\-holding\-things;
+㟼 < name\-of\-a\-place\-in\-shandong\-province;
+首府 < capital\-city\-of\-an\-autonomous\-region;
+㞔 < the\-upright\-bar\-for\-fastening\-a\-door;
+㝞 < pretend\-to\-be\-delicate\-and\-beautiful;
+㜹 < name\-of\-a\-folk\-song\-in\-ancient\-times;
+㚁 < the\-long\-tail\-feathers\-which\-curl\-up;
+班次 < order\-of\-classes\-or\-grades\-at\-school;
+抄後路 < to\-outflank\-and\-attack\-from\-the\-rear;
+編年體 < annalistic\-style\-\(in\-historiography\);
+家鄉雞 < ''home\-town\-chicken''\-\(a\-type\-of\-dish\);
+章孝嚴 < john\-chang\-\(taiwan\-foreign\-minister\);
+貴州 < name\-of\-a\-province\-in\-china\,\-guizhou;
+蓋茨 < \(bill\)\-gates\-\(chairman\-of\-microsoft\);
+吸引 < attract\-\(interest\,\-investment\,\-etc\.\);
+來不及 < there''s\-not\-enough\-time\-\(to\-do\-sth\.\);
+暗娼 < unlicensed\-\(unregistered\)\-prostitute;
+非對稱式數據用戶線 < asymmetrical\-digital\-subscriber\-line;
+霸王 < xiang4yu3\-\(232\-202\-bc\)\-the\-conqueror;
+壽禮 < birthday\-present\-\(for\-an\-old\-person\);
+阮 < ancient\-musical\-instrument\:\-surname;
+喔 < descriptive\-of\-crying\-or\-of\-crowing;
+琏 < vessel\-used\-to\-hold\-grain\-offerings;
+邕 < former\-or\-literary\-name\-for\-nanning;
+魑 < a\-mountain\-demon\-resembling\-a\-tiger;
+昶 < a\-long\-day\.\-bright\.\-extended\.\-clear;
+缧 < a\-chain\-or\-rope\-used\-bind\-criminals;
+螭 < a\-dragon\-whose\-horns\-have\-not\-grown;
+龀 < lose\-baby\-teeth\-and\-get\-adult\-teeth;
+肜 < to\-sacrifice\-on\-two\-successive\-days;
+邗 < an\-ancient\-place\-in\-the\-state\-of\-wu;
+萬縣 < wanxian\-county\,\-in\-sichuan\-province;
+死不了 < portulaca\-sundial\-\(a\-type\-of\-plant\);
+大中學生 < university\-and\-high\-school\-students;
+迎春花 < winter\-jasmine\,\-jasminum\-nudiflorum;
+約翰內斯堡 < johannesburg\-\(city\-in\-south\-africa\);
+主人翁 < master\-\(of\-one''s\-own\-destiny\,\-etc\.\);
+分佈式環境 < distributed\-\(computing\)\-environment;
+兵部 < the\-ministry\-of\-war\-in\-feudal\-china;
+北周 < the\-northern\-zhou\-dynasty\-\(557\-581\);
+安分守己 < abide\-by\-the\-law\-and\-behave\-oneself;
+北京 < beijing\-\(capital\-of\-mainland\-china\);
+大顯身手 < fully\-displaying\-one''s\-capabilities;
+電信服務供應商 < telecommunications\-service\-provider;
+哈密瓜 < hami\-melon\-\(a\-variety\-of\-muskmelon\);
+鐤 < huge\-tripod\-of\-bronze\-with\-two\-ears;
+貿易額 < volume\-of\-trade\-\(between\-countries\);
+草案 < draft\-\(legislation\,\-proposal\,\-etc\.\);
+親愛 < dear\-\.\.\.\-\(way\-of\-starting\-a\-letter\);
+觭 < one\-turning\-up\-and\-one\-turning\-down;
+補白 < filler\-\(in\-a\-newspaper\-or\-magazine\);
+褱 < to\-carry\-in\-the\-bosom\-or\-the\-sleeve;
+波瀾壯闊 < surging\-forward\-with\-great\-momentum;
+舉行 < to\-hold\-\(a\-meeting\,\-ceremony\,\-etc\.\);
+回歸中國 < to\-return\-to\-china\-\(e\.g\.\-hong\-kong\);
+艜 < a\-long\-narrow\-vessel\-with\-two\-masts;
+總動員 < general\-mobilization\-\(for\-war\,\-etc\);
+臿 < to\-separate\-the\-grain\-from\-the\-husk;
+絰 < white\-hempen\-cloth\-worn\-by\-mourners;
+保送 < recommend\-\(for\-admission\-to\-school\);
+愛莫能助 < willing\-to\-help\-but\-unable\-to\-do\-so;
+碪 < stone\-slab\-used\-for\-washing\-clothes;
+轉帳 < transfer\-money\-from\|into\-an\-account;
+席位 < parliamentary\-or\-congressional\-seat;
+盇 < why\-not\?\-would\-it\-not\-be\-better\-to\?;
+布什 < \(george\)\-bush\-\(former\-us\-president\);
+崩龍族 < the\-benglong\-\(penglung\)\-nationality;
+滫 < water\-in\-which\-rice\-has\-been\-boiled;
+非政府組織 < non\-governmental\-organization\-\(ngo\);
+審訊 < a\-\(judicial\)\-trial\-\(in\-a\-courtroom\);
+檑 < logs\-rolled\-down\-in\-defense\-of\-city;
+棳 < small\-pillars\-that\-support\-the\-roof;
+帗 < a\-multicolored\-prop\-used\-in\-dancing;
+綜合服務數位網絡 < integrated\-services\-digital\-network;
+嘠 < the\-chirping\-of\-birds\-loud\-laughter;
+筆桿 < the\-shaft\-of\-a\-pen\-or\-writing\-brush;
+病勢 < degree\-of\-seriousness\-of\-an\-illness;
+唄 < final\-particle\-of\-assertion\-pathaka;
+倻 < phonetic\-used\-in\-korean\-place\-names;
+䵺 < boundary\-between\-agricultural\-lands;
+䵹 < insects\-that\-are\-injurious\-to\-crops;
+䭍 < to\-live\-with\-another\-at\-his\-expense;
+䬥 < cooked\-food\-which\-has\-become\-mouldy;
+䬙 < to\-dance\-and\-toss\-about\-in\-the\-wind;
+主辦 < host\-\(a\-conference\-or\-sports\-event\);
+䠫 < to\-succumb\-to\-the\-effect\-of\-alcohol;
+䝦 < a\-kind\-of\-animal\-looks\-like\-leopard;
+䜠 < language\-of\-the\-savage\-or\-barbarian;
+䖺 < a\-legendary\-animal\-in\-ancient\-times;
+䒼 < a\-bamboo\-tray\-for\-raising\-silkworms;
+䑳 < a\-horizontal\-bar\-in\-front\-of\-a\-boat;
+䐧 < to\-reward\-or\-cheer\-troops\-with\-food;
+䎰 < name\-of\-a\-place\-in\-sichuan\-province;
+䍟 < a\-kind\-of\-fish\-net\-with\-fine\-meshes;
+䇨 < a\-bamboo\-basket\-for\-food\-containers;
+霸王鞭 < a\-rattle\-stick\-used\-in\-folk\-dancing;
+本草 < a\-book\-on\-chinese\-\(herbal\)\-medicine;
+䆎 < grass\-and\-grains\-producing\-no\-fruit;
+䄻 < a\-second\-time\-growing\-of\-rice\-plant;
+䀚 < to\-lift\-up\-the\-eyes\-and\-look\-around;
+㿖 < carbuncle\-used\-in\-naming\-of\-a\-place;
+㺛 < name\-of\-a\-village\-in\-henan\-province;
+㷈 < embers\-kept\-for\-starting\-a\-new\-fire;
+㵁 < vast\-and\-boundless\-of\-flowing\-water;
+㳕 < water\-in\-which\-rice\-has\-been\-washed;
+㯪 < carved\-or\-patterned\-window\-railings;
+人物 < characters\-\(in\-a\-play\,\-novel\,\-etc\.\);
+議長 < speaker\-\(of\-a\-legislative\-assembly\);
+㠙 < a\-mountain\-paths\-name\-of\-a\-mountain;
+調查結果 < results\-\(of\-an\-investigation\,\-poll\);
+㓭 < to\-make\-ready\-the\-leather\-for\-shoes;
+㐷 < a\-kind\-of\-punishment\-in\-han\-dynasty;
+百端待舉 < a\-thousand\-things\-remain\-to\-be\-done;
+安南 < \[kofi\]\-annan\-\[un\-secretary\-general\];
+包飯 < get\-or\-supply\-meals\-at\-a\-fixed\-rate;
+有水 < \(of\-a\-dwelling\)\-supplied\-with\-water;
+白殭蠶 < the\-larva\-of\-silkworm\-with\-batrytis;
+話題 < subject\-\(of\-a\-talk\-or\-conversation\);
+事務 < \(political\,\-economic\,\-etc\.\)\-affairs;
+咱們 < we\-\(including\-the\-person\-spoken\-to\);
+尤金塞爾南 < eugene\-cernan\-\(apollo\-17\-astronaut\);
+率先 < take\-the\-lead\-\(showing\-inititative\);
+目前還不清楚 < at\-present\-it\-is\-still\-unclear\-\.\.\.\.;
+秋高氣爽 < clear\-and\-refreshing\-autumn\-weather;
+包租 < rent\-land\-or\-a\-house\-for\-subletting;
+明文 < \(laws\,\-rules\,\-etc\)\-state\-in\-writing;
+袱 < a\-piece\-of\-cloth\-used\-wrap\-bundles;
+挲 < to\-feel\-or\-fondle\-with\-the\-fingers;
+篑 < a\-bamboo\-basket\-for\-carrying\-earth;
+肓 < region\-between\-heart\-and\-diaphragm;
+滦 < river\-and\-county\-in\-hebei\-province;
+郗 < city\-under\-the\-chou\-dyn\.\-a\-surname;
+珏 < two\-pieces\-of\-jade\-joined\-together;
+綦 < dark\-grey\.\-variegated\.\-superlative;
+麇 < general\-name\-for\-the\-hornless\-deer;
+璎 < a\-necklace\-made\-of\-precious\-stones;
+掾 < a\-general\-designation\-of\-officials;
+郇 < an\-ancient\-feudal\-state\-in\-shaanxi;
+透視 < to\-examine\-by\-fluoroscope\-or\-x\-ray;
+報警 < report\-\(an\-incident\)\-to\-the\-police;
+碑帖 < a\-rubbing\-from\-a\-stone\-inscription;
+牛年 < year\-of\-the\-ox\-\(in\-chinese\-zodiac\);
+簡單網絡管理協議 < simple\-network\-management\-protocol;
+臨時的本地管理接口 < interim\-local\-management\-interface;
+包廂 < box\-\(in\-a\-theatre\-or\-concert\-hall\);
+轉讓 < transfer\-\(technology\,\-goods\,\-etc\.\);
+冰消瓦解 < melt\-like\-ice\-and\-break\-like\-tiles;
+龘 < the\-appearance\-of\-a\-dragon\-walking;
+半斤八兩 < not\-much\-to\-choose\-between\-the\-two;
+鴽 < a\-species\-of\-bird\-resembling\-quail;
+盜版 < pirate\-version\-\(of\-software\,\-e\.g\.\);
+步人後塵 < follow\-in\-other\-people''s\-footsteps;
+鄫 < state\-in\-today''s\-shandong\-province;
+鄇 < a\-name\-of\-a\-town\-in\-henan\-province;
+迿 < to\-be\-the\-first\-to\-begin\-a\-quarrel;
+轕 < great\-array\-of\-spears\-and\-chariots;
+輠 < grease\-pot\-hung\-under\-axle\-of\-cart;
+龍飛鳳舞 < lit\.\:\-dragon\-flies\,\-phoenix\-dances;
+緣份 < fate\-\(which\-brings\-people\-together;
+平壤 < pyongyang\-\(capital\-of\-north\-korea\);
+國際見聞 < international\-background\-knowledge;
+擔任 < hold\-a\-governmental\-office\-or\-post;
+膲 < the\-three\-divisions\-of\-the\-viscera;
+克服 < \(try\-to\)\-overcome\-\(hardships\,\-etc\);
+抄送 < to\-make\-a\-copy\-\(and\-send\-it\-to\-sb\);
+不失為 < can\-still\-be\-considered\-\(to\-be\.\.\.\);
+紖 < a\-rope\-for\-leading\-cattle\-or\-horse;
+最惠國 < most\-favored\-nation\-\(trade\-status\);
+笮 < boards\-which\-support\-tiles\-on\-roof;
+案驗 < investigate\-the\-evidence\-of\-a\-case;
+托運 < to\-book\-or\-check\-through\-\(baggage\);
+砅 < cross\-stream\-by\-stepping\-on\-stones;
+國務委員 < member\-of\-state\-council\-\(in\-china\);
+戶部 < feudal\-chinese\-ministry\-of\-revenue;
+璉 < a\-vessel\-used\-hold\-grain\-offerings;
+梡 < tray\-for\-carrying\-sacrificial\-meat;
+可移植性 < portability\-\(programming\-language\);
+推動 < to\-push\-\(for\-acceptance\-of\-a\-plan\);
+幵 < even\-level\.\-to\-raise\-in\-both\-hands;
+嫄 < an\-ancient\-emperor''s\-mother''s\-name;
+整體數位服務網路 < integrated\-service\-digital\-network;
+囷 < round\-shaped\-storage\-bin\-for\-grain;
+亞軍 < second\-place\-\(in\-a\-sports\-contest\);
+呼和浩特 < hohhot\-\(capital\-of\-inner\-mongolia\);
+基金會 < a\-foundation\-\(ie\,\-an\-organization\);
+䴙 < a\-kind\-of\-bird\-resembling\-the\-duck;
+䲃 < a\-carp\-like\-fish\-with\-chicken\-feet;
+顏體 < yan\-style\-\(in\-chinese\-calligraphy\);
+久違 < \(haven''t\-done\-sth\)\-for\-a\-long\-time;
+䩗 < to\-rule\-by\-might\-rather\-than\-right;
+䢕 < a\-group\-of\-people\-walking\-together;
+䚡 < bones\-in\-a\-horn\-of\-cattle\-and\-goat;
+䙬 < plaits\-on\-the\-sides\-of\-a\-petticoat;
+䐀 < to\-dismember\-body\-of\-the\-livestock;
+䎎 < to\-glide\-or\-to\-hover\-up\-in\-the\-air;
+䍊 < clay\-made\-blowing\-wind\-instruments;
+䈿 < belt\-of\-the\-canvas\-top\-on\-vehicles;
+䇮 < a\-bamboo\-mat\-used\-in\-ancient\-times;
+小題大做 < make\-a\-big\-fuss\-over\-a\-minor\-issue;
+䅚 < closely\-growing\-of\-the\-rice\-plants;
+䄶 < rice\-plant\-growing\-the\-second\-time;
+䁾 < red\-and\-swelling\-of\-the\-eye\-socket;
+䁨 < to\-open\-the\-eyes\-with\-astonishment;
+㽛 < narrow\-trail\-of\-path\-in\-the\-fields;
+㺑 < dogs\-wormed\-through\-a\-narrow\-place;
+㹢 < a\-large\-ape\-found\-in\-western\-china;
+㹜 < two\-dogs\-are\-barking\-to\-each\-other;
+㹉 < a\-legendary\-animal\-with\-three\-feet;
+㶀 < deep\-and\-vast\-of\-the\-flowing\-water;
+打錯了 < \"you\-have\-dialed\-the\-wrong\-number\";
+㰶 < to\-wrinkle\-the\-nose\-with\-sorrowful;
+㭲 < a\-wooden\-frame\-for\-carrying\-things;
+病包兒 < a\-person\-who\-is\-always\-falling\-ill;
+㡡 < screen\-to\-make\-a\-temporary\-kitchen;
+㠿 < a\-kind\-of\-delicate\-and\-fine\-fabric;
+㜺 < nice\-white\-color\-and\-looks\-so\-good;
+㜵 < with\-a\-charming\-sprightly\-carriage;
+㙈 < name\-of\-a\-place\-in\-shanxi\-province;
+香山 < fragrance\-hill\-\(a\-park\-in\-beijing\);
+㖡 < the\-birds\-singing\-during\-the\-night;
+㕺 < looks\-big\-outside\-but\-empty\-inside;
+㕄 < to\-apply\-knowledge\-to\-final\-causes;
+不虛此行 < the\-trip\-has\-not\-been\-made\-in\-vain;
+銷毀 < to\-destroy\-\(by\-melting\-or\-burning\);
+拉莫斯 < \(philippine\-president\-fidel\)\-ramos;
+比勒陀利亞 < pretoria\-\(capital\-of\-south\-africa\);
+北魏 < the\-northern\-wei\-dynasty\-\(386\-534\);
+言論自由 < \(constitutional\)\-freedom\-of\-speech;
+暴病 < sudden\-attack\-of\-a\-serious\-illness;
+人大 < \(china\)\-national\-people''s\-congress;
+熱鬧 < bustling\-with\-noise\-and\-excitement;
+呈文 < petition\-\(submitted\-to\-a\-superior\);
+春節 < spring\-festival\-\(chinese\-new\-year\);
+開發環境 < development\-environment\-\(computer\);
+不識時務 < show\-no\-understanding\-of\-the\-times;
+𠼻 < a\-particle\-used\-in\-transliteration;
+胡志強 < jason\-hu\-\(taiwan\-foreign\-minister\);
+新疆 < xinjiang\-\(uygur\-autonomous\-region\);
+幫倒忙 < be\-more\-of\-a\-hindrance\-than\-a\-help;
+俱樂部 < club\-\(ie\,\-a\-group\-or\-organization\);
+社 < god\-of\-the\-soil\-and\-altars\-to\-him;
+瑟 < large\-stringed\-musical\-instrument;
+楞 < used\-for\-ceylon\-in\-buddhist\-texts;
+喽 < used\-in\-onomatopoetic\-expressions;
+嚅 < talk\-indistinctly\-and\-falteringly;
+裱 < to\-mount\-maps\-or\-scrolls\-to\-paste;
+猢 < a\-kind\-of\-monkey\-found\-in\-w\.china;
+蜮 < a\-fabulous\-creature\-like\-a\-turtle;
+碡 < stone\-roller\-used\-to\-level\-fields;
+鄣 < name\-of\-ancient\-city\-in\-n\.jiangsu;
+粢 < grain\-offered\-in\-ritual\-sacrifice;
+簦 < large\-umbrella\-with\-a\-long\-handle;
+螓 < a\-small\-cicada\-with\-a\-square\-head;
+不時之需 < a\-possible\-period\-of\-want\-or\-need;
+公共交換電話網路 < public\-switched\-telephone\-network;
+網絡 < \(computer\,\-telecom\,\-etc\.\)\-network;
+以牙還牙 < a\-tooth\-for\-a\-tooth\-\(retaliation\);
+壁毯 < tapestry\-\(used\-as\-a\-wall\-hanging\);
+擦澡 < rub\-oneself\-down\-with\-a\-wet\-towel;
+認定 < maintain\-\(that\-something\-is\-true\);
+百戰百勝 < emerge\-victorious\-in\-every\-battle;
+魊 < a\-mythical\-creature\-said\-hurl\-san;
+分歧 < difference\-\(of\-opinion\,\-position\);
+勞動節 < international\-labor\-day\-\(may\-day\);
+韐 < knee\-pad\-made\-of\-red\-dyed\-leather;
+連戰 < lien\-chan\-\(taiwan\-vice\-president\);
+抱粗腿 < latch\-on\-to\-the\-rich\-and\-powerful;
+制度 < \(political\)\-system\-or\-institution;
+補習 < take\-lessons\-after\-school\-or\-work;
+由此可見 < from\-this\,\-it\-can\-be\-seen\-that\.\.\.;
+聯邦電信交通委員會 < federal\-communications\-commission;
+建交 < to\-establish\-diplomatic\-relations;
+軏 < cross\-bar\-at\-end\-of\-poles\-of\-cart;
+火災 < fire\-\(that\-burns\-buildings\,\-etc\.\);
+備課 < \(of\-a\-teacher\)\-to\-prepare\-lessons;
+金正日 < kim\-jong\-il\-\(north\-korean\-leader\);
+開演 < \(of\-a\-play\,\-movie\,\-etc\.\)\-to\-begin;
+備荒 < prepare\-against\-natural\-disasters;
+薀 < the\-hippuris\-or\-mare''s\-tail\-plant;
+不摸頭 < not\-acquainted\-with\-the\-situation;
+全會 < plenary\-session\-\(at\-a\-conference\);
+魏京生 < wei\-jingsheng\-\(chinese\-dissident\);
+聝 < to\-cut\-the\-left\-ears\-of\-the\-slain;
+耔 < to\-hoe\-up\-the\-earth\-around\-plants;
+便難 < retort\-with\-challenging\-questions;
+答辯 < to\-reply\-\(to\-an\-accusation\,\-e\.g\.\);
+簫 < musical\-instrument\-like\-pan\-pipes;
+簨 < a\-beam\-for\-hanging\-bells\-or\-drums;
+礳 < name\-of\-place\-in\-shan\-xi\-province;
+寸草不生 < \"not\-even\-a\-blade\-of\-grass\-grows\";
+碫 < coarse\-stone\-\(used\-for\-whetstone\);
+璯 < jade\-ornament\-in\-the\-seams\-of\-cap;
+琯 < a\-jade\-tube\-used\-as\-an\-instrument;
+玁 < a\-dog\-with\-a\-long\-snout\-or\-muzzle;
+圖書 < books\-\(in\-a\-library\-or\-bookstore\);
+家長 < the\-parent\-or\-guardian\-of\-a\-child;
+回歸 < to\-return\-\(to\-previous\-condition\);
+擦亮眼睛 < remove\-the\-scales\-from\-one''s\-eyes;
+補偏救弊 < remedy\-defects\-and\-rectify\-errors;
+棟 < the\-main\-beams\-supporting\-a\-house;
+骨法 < bone\-\(property\-of\-a\-brush\-stroke\);
+百川歸海 < all\-things\-tends\-in\-one\-direction;
+誓不反悔 < to\-vow\-not\-to\-break\-one''s\-promise;
+吃不上 < be\-unable\-to\-get\-something\-to\-eat;
+戠 < a\-sword\.\-potter''s\-clay\.\-to\-gather;
+科學編輯 < science\-editor\-\(of\-a\-publication\);
+昂首闊步 < stride\-forward\-with\-one''s\-chin\-up;
+日經指數 < nikkei\-index\-\(of\-japanese\-stocks\);
+科隆 < cologne\,\-germany\-or\-colon\,\-panama;
+打消 < dispel\-\(doubts\,\-misgivings\,\-etc\.\);
+呭 < final\-particle\-expressing\-consent;
+呡 < the\-corners\-of\-the\-mouth\-the\-lips;
+疾病預防中心 < \(u\.s\.\)\-center\-for\-disease\-control;
+䶬 < hard\-fins\-on\-the\-back\-of\-a\-dragon;
+䶅 < a\-marmot\-like\-rat\-with\-a\-big\-head;
+䴓 < general\-term\-for\-small\-bird\-group;
+䬗 < blown\-or\-tossed\-about\-by\-the\-wind;
+䧉 < name\-of\-a\-pavilion\-in\-han\-dynasty;
+䥶 < cooking\-utensil\-used\-in\-old\-times;
+䥬 < a\-musical\-instrument\-in\-old\-times;
+䣜 < name\-of\-a\-county\-in\-ancient\-times;
+䣌 < residence\-of\-a\-prince\-or\-nobility;
+䡝 < a\-rear\-covering\-of\-a\-big\-carriage;
+䡊 < the\-protruded\-sides\-of\-a\-carriage;
+䠚 < to\-step\-on\-the\-ground\-with\-a\-bang;
+䖃 < the\-water\-is\-waving\-in\-the\-breeze;
+䒧 < a\-vessel\-or\-utensil\-made\-of\-straw;
+䍲 < a\-kind\-of\-sheep\-with\-curled\-hairs;
+䋸 < back\-center\-suture\-of\-the\-clothes;
+䋛 < the\-clustered\-embroidery\-patterns;
+䊖 < to\-eat\-rice\-gruel\-mixed\-with\-meat;
+䆅 < to\-accumulate\-or\-to\-store\-up\-rice;
+䂧 < rocks\-clustered\-pile\-up\-togethers;
+䀿 < to\-have\-a\-casual\-and\-short\-glance;
+找到 < find\-\(what\-one\-was\-searching\-for\);
+召開 < convene\-\(a\-conference\-or\-meeting\);
+㹗 < cattle\-and\-sheep\-have\-no\-children;
+㶲 < measuring\-unit\-for\-thermodynamics;
+㵺 < name\-of\-a\-stream\-in\-ancient\-times;
+㵐 < name\-of\-a\-river\-in\-hubei\-province;
+㵋 < name\-of\-a\-river\-in\-hunan\-province;
+㱒 < to\-scold\-or\-blame\-in\-a\-loud\-voice;
+㮾 < a\-place\-in\-today''s\-hunan\-province;
+㬈 < the\-sun\-was\-shining\-and\-it''s\-warm;
+㪊 < infested\-with\-bandits\-and\-robbers;
+㨘 < to\-blow\-the\-nose\-with\-the\-fingers;
+㟾 < name\-of\-a\-mountain\-in\-county\-jian;
+㟸 < name\-of\-pavilion\-in\-ancient\-china;
+㟂 < name\-of\-cape\-in\-shandong\-province;
+呼籲 < call\-on\-\(someone\-to\-do\-something\);
+㚪 < to\-make\-a\-deceptive\-show\-of\-power;
+電腦輔助設計與繪圖 < computer\-aided\-design\-and\-drawing;
+㒍 < utterly\-weary\-in\-body\-and\-spirits;
+㐌 < a\-tribe\-of\-savages\-in\-south\-china;
+科爾 < \(helmut\)\-kohl\-\(german\-chancellor\);
+齋月 < ramadan\-\(muslim\-month\-of\-fasting\);
+得寸進尺 < literal\:\-get\-an\-inch\,\-want\-a\-foot;
+起來 < beginning\-or\-continuing\-an\-action;
+北齊 < the\-northern\-qi\-dynasty\-\(550\-557\);
+北洋軍閥 < the\-northern\-warlords\-\(1912\-1927\);
+吐穗 < to\-have\-the\-ears\-of\-grain\-come\-up;
+大惑不解 < do\-not\-understand\-a\-certain\-thing;
+請願 < petition\-\(for\-action\-to\-be\-taken\);
+半日制學校 < half\-day\-\(or\-double\-shift\-school\);
+明文規定 < expressly\-stipulated\-\(in\-writing\);
+享受 < to\-enjoy\-\(rights\,\-benefits\,\-etc\.\);
+大庭廣眾 < public\-place\-with\-numerous\-people;
+百無一失 < no\-danger\-of\-anything\-going\-wrong;
+三峽 < the\-three\-changjiang\-river\-gorges;
+取暖 < to\-warm\-oneself\-\(by\-a\-fire\,\-etc\.\);
+人權觀察 < human\-rights\-watch\-\(organization\);
+院長 < president\-\(of\-a\-university\,\-etc\.\);
+檢察官 < the\-prosecution\-\(in\-a\-court\-case\);
+備而不用 < have\-something\-ready\-just\-in\-case;
+言論 < expression\-of\-\(political\)\-opinion;
+應用程式介面 < application\-programming\-interface;
+捻 < to\-twist\-or\-nip\-with\-the\-fingers;
+戌 < eleventh\-of\-terrestrial\-branches;
+搓 < to\-rub\-or\-roll\-between\-the\-hands;
+尧 < a\-legendary\-ancient\-emperor\-sage;
+婶 < wife\-of\-father''s\-younger\-brother;
+掬 < to\-grasp\-or\-hold\-with\-both\-hands;
+幛 < scroll\-of\-silk\-or\-cloth\-presente;
+棂 < carved\-or\-patterned\-window\-sills;
+氲 < life\-giving\-influences\-of\-nature;
+蚝 < hairy\-and\-poisonous\-caterpillars;
+澧 < river\-in\-northern\-hunan\-province;
+筮 < divination\-with\-stalks\-of\-plants;
+笪 < a\-coarse\-mat\-of\-rushes\-or\-bamboo;
+馓 < fried\-round\-cakes\-of\-wheat\-flour;
+箐 < to\-draw\-a\-bamboo\-bow\-or\-crossbow;
+扃 < a\-door\-bar\-placed\-outside\-a\-door;
+仉 < surname\-of\-the\-mother\-of\-mencius;
+節外生枝 < new\-problems\-complicate\-an\-issue;
+鼻青臉腫 < a\-bloody\-nose\-and\-a\-swollen\-face;
+政界 < political\-and\-government\-circles;
+性別 < distinguishing\-between\-the\-sexes;
+違禁 < to\-violate\-a\-prohibtition\-or\-ban;
+酬和 < to\-respond\-to\-a\-poem\-with\-a\-poem;
+報考 < enter\-oneself\-for\-an\-examination;
+北國 < the\-northern\-part\-of\-the\-country;
+企業管理 < business\-management\-\(as\-a\-study\);
+外孫 < grandson\-\(son\-of\-one''s\-daughter\);
+光纖分佈式數據介面 < fiber\-distributed\-data\-interface;
+垃圾車 < garbage\-truck\-\(or\-other\-vehicle\);
+大國 < a\-power\-\(ie\,\-a\-dominant\-country\);
+骾 < any\-object\-that\-sticks\-in\-throat;
+探親 < to\-go\-home\-to\-visit\-one''s\-family;
+布法羅 < buffalo\-\(city\-in\-new\-york\-state\);
+八會穴 < the\-eight\-strategic\-nerve\-points;
+難以 < hard\-to\-\(predict\,\-imagine\,\-etc\.\);
+報效 < render\-service\-to\-repay\-kindness;
+醼 < offer\-food\-and\-wine\-one''s\-guests;
+輧 < curtained\-carriage\-used\-by\-women;
+軙 < a\-chinese\-family\-name\-to\-arrange;
+親戚 < \(a\)\-relative\-\(ie\,\-family\-member\);
+為期 < \(to\-be\-done\)\-by\-\(a\-certain\-date\);
+農曆 < the\-traditional\-chinese\-calendar;
+贁 < to\-defeat\-to\-spoil\-or\-be\-spoiled;
+賏 < pearls\-or\-shells\-strung\-together;
+諊 < to\-make\-a\-judicial\-investigation;
+按說 < in\-the\-ordinary\-course\-of\-events;
+連任 < continue\-in\-\(a\-political\)\-office;
+矮子裡拔將軍 < choose\-the\-best\-person\-available;
+臉譜 < types\-of\-facial\-makeup\-in\-operas;
+纙 < string\-on\-which\-coins\-are\-strung;
+筴 < type\-of\-grass\-used\-in\-divination;
+開庭 < begin\-a\-\(judicial\)\-court\-session;
+公審 < public\-trial\-\(in\-a\-court\-of\-law\);
+琇 < coarse\-variety\-of\-jasper\-or\-jade;
+但願 < if\-only\-\(it\-were\-possible\-to\.\.\.\);
+開普敦 < cape\-town\-\(city\-in\-south\-africa\);
+越來越嚴重 < to\-become\-more\-serious\-every\-day;
+不謀而合 < agree\-without\-prior\-consultation;
+捨得 < to\-be\-willing\-to\-part\-with\-\(sth\);
+棫 < thorny\-shrub\-with\-yellow\-flowers;
+見不得 < may\-not\-be\-seen\-by\-or\-exposed\-to;
+旓 < serrated\-edges\-on\-a\-chinese\-flag;
+持有 < hold\-\(eg\,\-passport\,\-views\,\-etc\.\);
+抗爭 < make\-a\-stand\-and\-fight\-\(against\);
+近乎同步數位階層 < plesiochronous\-digital\-hierarchy;
+按兵不動 < not\-throw\-the\-troops\-into\-battle;
+嶲 < a\-name\-of\-an\-old\-town\-in\-sichuan;
+篦子 < a\-double\-edged\-fine\-toothed\-comb;
+投機 < be\-a\-speculator\-\(profit\-seeking\);
+塱 < place\-name\-in\-guangdong\-province;
+剨 < sound\-of\-something\-being\-smashed;
+挪借 < to\-borrow\-money\-for\-a\-short\-time;
+宰相 < prime\-minister\-\(in\-feudal\-china\);
+一中一臺 < \"one\-china\,\-one\-taiwan\"\-\(policy\);
+䵬 < black\-sound\-of\-the\-flowing\-water;
+䴍 < a\-kind\-of\-strange\-and\-weird\-bird;
+䴉 < general\-term\-for\-a\-group\-of\-bird;
+䳰 < a\-bird\-resembling\-the\-wild\-goose;
+䱙 < a\-small\-kind\-of\-tuna\-or\-sturgeon;
+䰔 < dressed\-hair\-in\-a\-horizontal\-way;
+䪬 < sound\-of\-pressing\-something\-down;
+䩬 < an\-ornamental\-item\-on\-a\-scabbard;
+䧵 < a\-bird\-like\-the\-secretary\-falcon;
+䦎 < a\-mechanical\-device\-for\-lead\-ore;
+䥾 < to\-melt\-or\-cast\-by\-using\-a\-mould;
+䥙 < a\-speculum\-used\-in\-ancient\-times;
+䤷 < a\-lance\-with\-three\-or\-two\-points;
+中日韓越 < china\,\-japan\,\-korea\,\-and\-vietnam;
+䣢 < name\-of\-a\-place\-in\-ancient\-times;
+䝁 < a\-kind\-of\-wild\-leguminous\-plants;
+䛶 < writings\-eulogizing\-adead\-person;
+虛腕 < empty\-wrist\-\(method\-of\-painting\);
+䗤 < a\-kind\-of\-worm\-produced\-in\-water;
+取得大學學位 < to\-obtain\-a\-university\-education;
+䍰 < a\-plague\-or\-a\-pestilence\-of\-goat;
+䊊 < well\-boiled\-congee\-or\-rice\-gruel;
+䉈 < a\-kind\-of\-bamboo\-with\-a\-red\-skin;
+䇈 < to\-put\-into\-a\-cupboard\-or\-closet;
+䇀 < ornaments\-of\-fine\-feather\-or\-fur;
+䅹 < a\-kind\-of\-drill\-for\-sowing\-grain;
+䅩 < crooked\-and\-winding\-of\-the\-grass;
+䄷 < a\-measurement\-equal\-to\-120\-catty;
+䃪 < a\-platform\-for\-sacrificial\-rites;
+䂞 < a\-thorny\-tree\-about\-15\-feet\-high;
+創辦人 < founder\-\(of\-an\-institution\,\-etc\);
+㺜 < fierce\-dog\-with\-long\-shaggy\-hair;
+㺉 < a\-fierce\-animal\-of\-the\-dog\-tribe;
+不論 < no\-matter\-\(what\,\-who\,\-how\,\-etc\.\);
+㹡 < a\-rush\-and\-impatient\-disposition;
+㸡 < board\-to\-block\-the\-water\-current;
+㸚 < scattered\-or\-dispersed\-and\-clear;
+㴭 < immeasurable\-depth\-or\-profundity;
+㱨 < to\-prepare\-a\-body\-for\-the\-coffin;
+保修 < guarantee\-to\-keep\-in\-good\-repair;
+㬇 < name\-of\-a\-state\-in\-ancient\-china;
+㩽 < branches\-to\-be\-a\-parasite\-a\-tree;
+㨒 < to\-cut\-open\-and\-clean\-\-\-\-as\-fish;
+金邊 < phnom\-penh\-\(capital\-of\-cambodia\);
+㢲 < the\-5th\-of\-the\-eight\-diagrams\-八卦;
+㟨 < a\-fountain\-in\-the\-side\-of\-a\-hill;
+㛍 < to\-have\-one''s\-ambition\-fulfilled;
+㚡 < standing\-without\-a\-straight\-back;
+㚉 < to\-make\-a\-profit\-on\-sell\-and\-buy;
+侵佔 < to\-invade\-and\-occupy\-\(territory\);
+㕣 < a\-marsh\-at\-the\-foot\-of\-the\-hills;
+柯密 < kermit\-\(communications\-protocol\);
+享有 < enjoy\-\(rights\,\-privileges\,\-etc\.\);
+禮炮 < a\-gun\-salute\-\(eg\,\-21\-gun\-salute\);
+突厥 < turkic\-\(minority\-group\-in\-china\);
+戈爾巴喬夫 < \(former\-soviet\-leader\)\-gorbachev;
+逼供信 < obtain\-confessions\-by\-compulsion;
+安保 < \(abbreviation\)\-maintain\-security;
+壽麵 < birthday\-noodles\-\(for\-longevity\);
+浴室 < bathroom\-\(room\-used\-for\-bathing\);
+令人 < cause\-someone\-to\-\(be\,\-feel\,\-etc\);
+形影不離 < inseparable\-\(as\-form\-and\-shadow\);
+商業版本 < commercial\-version\-\(of\-software\);
+百讀不厭 < be\-worth\-reading\-a\-hundred\-times;
+除非 < only\-if\-\(\.\.\.\,\-or\-otherwise\,\-\.\.\.\);
+歧視 < discrimination\-\(against\-someone\);
+敗落 < decline\-\(in\-wealth\-and\-position\);
+無錫 < wuxi\-\(city\)\,\-in\-jiangsu\-province;
+分波多工 < wavelength\-division\-multiplexing;
+必由之路 < the\-road\-one\-must\-follow\-or\-take;
+们 < adjunct\-pronoun\-indicate\-plural;
+呢 < interrogative\-or\-emphatic\-final;
+楼 < building\-of\-two\-or\-more\-stories;
+药 < leaf\-of\-dahurian\-angelica\-plant;
+齎 < take\-in\-both\-hands\-and\-offer\-to;
+丈 < unit\-of\-length\-equal\-3\.3\-meters;
+挑 < a\-load\-carried\-on\-the\-shoulders;
+祝 < pray\-for\-happiness\-or\-blessings;
+杉 < various\-species\-of\-pine\-and\-fir;
+朧 < condition\-or\-appearance\-of\-moon;
+霸 < rule\-by\-might\-rather\-than\-right;
+箪 < small\-bamboo\-basket\-for\-holding;
+醤 < any\-jam\-like\-or\-paste\-like\-food;
+炕 < the\-brick\-bed\-in\-northern\-china;
+亥 < last\-of\-twelve\-earthly\-branches;
+粤 < guangdong\-and\-guangxi\-provinces;
+粽 < dumpling\-made\-of\-glutinous\-rice;
+陇 < mountain\-located\-between\-shanxi;
+闾 < village\-of\-twenty\-five\-families;
+郦 < place\-in\-today''s\-henan\-province;
+鞅 < leather\-strap\-over\-horse''s\-neck;
+铡 < sickle\-for\-cutting\-grass\-or\-hay;
+骧 < gallop\-about\-with\-head\-uplifted;
+骢 < horse\-with\-a\-bluish\-white\-color;
+蛳 < kind\-of\-snail\-with\-spiral\-shell;
+邳 < a\-department\-in\-the\-state\-of\-lu;
+郢 < state\-in\-today''s\-hubei\-province;
+骖 < two\-outside\-ones\-in\-three\-horse;
+轸 < cross\-board\-at\-rear\-of\-carriage;
+箜 < ancient\-string\-music\-instrument;
+郐 < state\-in\-today''s\-henan\-province;
+轹 < run\-over\-something\-with\-vehicle;
+栝 < a\-builder''s\-frame\-for\-measuring;
+獍 < an\-animal\-which\-eats\-its\-mother;
+負責人 < person\-in\-charge\-\(of\-something\);
+姐夫 < brother\-in\-law\-\(husband''s\-side\);
+十三經 < the\-thirteen\-confucian\-classics;
+實時操作環境 < real\-time\-operating\-environment;
+特區 < special\-\(administrative\)\-region;
+日圓 < japanese\-yen\-\(unit\-of\-currency\);
+病蟲害 < plant\-diseases\-and\-insect\-pests;
+亨特泰羅 < hunter\-tylo\-\(hollywood\-actress\);
+壁櫥 < a\-built\-in\-wardrobe\-or\-cupboard;
+閉門造車 < make\-a\-cart\-behind\-closed\-doors;
+避暑 < be\-away\-for\-the\-summer\-holidays;
+步搖 < dangling\-ornament\-worn\-by\-women;
+國際商業機器 < international\-business\-machines;
+鼗 < small\-revolving\-drum\-with\-knobs;
+鼒 < large\-tripod\-caldron\-with\-small;
+鶖 < large\-waterfowl\-with\-naked\-head;
+騄 < name\-of\-a\-legendary\-swift\-horse;
+餖 < food\-item\-set\-out\-for\-show\-only;
+頣 < to\-view\-others\-with\-raised\-eyes;
+邦交 < relations\-between\-two\-countries;
+鄴 < place\-in\-today''s\-honan\-province;
+鄚 < place\-in\-today''s\-hebei\-province;
+郔 < place\-name\-in\-shandong\-province;
+邽 < name\-of\-a\-county\-in\-han\-dynasty;
+軨 < lattice\-work\-on\-front\-and\-sides;
+踋 < the\-foot\-or\-feet\-cast\-of\-a\-play;
+數據鏈路連接識別碼 < data\-link\-connection\-identifier;
+襭 < tuck\-up\-hem\-of\-garment\-and\-wrap;
+裋 < cotton\-clothes\-of\-a\-boy\-servant;
+衺 < slit\-in\-garment\-to\-aid\-movement;
+蠨 < a\-kind\-of\-spider\-with\-long\-legs;
+螣 < mythological\-wingless\-dragon\-of;
+提煉 < to\-extract\-\(ore\,\-minerals\,\-etc\);
+苤 < brassica\-campestris\-subsp\.\-rapa;
+橋接 < bridging\-\(in\-computer\-networks\);
+艕 < two\-boats\-fastened\-side\-by\-side;
+八方 < the\-eight\-points\-of\-the\-compass;
+膫 < the\-fat\-covering\-the\-intestines;
+悲喜交集 < mixed\-feelings\-of\-grief\-and\-joy;
+內政 < internal\-affairs\-\(of\-a\-country\);
+縗 < sackcloth\-worn\-on\-breast\-during;
+迫使 < force\-\(someone\-to\-do\-something\);
+篪 < a\-bamboo\-flute\-with\-seven\-holes;
+吃不服 < not\-be\-accustomed\-to\-eating\-sth;
+長廊 < the\-long\-corridor\-at\-yi\-he\-yuan;
+瞖 < a\-cataract\-or\-film\-over\-the\-eye;
+不修邊幅 < not\-care\-about\-one''s\-appearance;
+畤 < place\-for\-worshipping\-the\-haven;
+元帥 < a\-marshal\-\(in\-the\-armed\-forces\);
+甗 < earthenware\-vessel\-in\-two\-parts;
+符合美國利益 < in\-line\-with\-american\-interests;
+大快人心 < to\-the\-satisfaction\-of\-everyone;
+校長 < \(college\,\-university\)\-president;
+烳 < to\-travel\-by\-the\-light\-of\-torch;
+灕 < short\-name\-for\-guangxi\-province;
+馬尼拉 < manila\-\(capital\-of\-philippines\);
+開刀 < to\-perform\-or\-have\-an\-operation;
+沴 < foul\-and\-poisonous\-in\-confusion;
+樐 < a\-lookout\-turret\-on\-a\-city\-wall;
+棻 < kind\-of\-wood\-from\-which\-perfume;
+輩分 < seniority\-in\-the\-family\-or\-clan;
+枌 < variety\-of\-elm\-with\-small\-seeds;
+鞭長莫及 < beyond\-the\-reach\-of\-one''s\-power;
+不學無術 < have\-neither\-learning\-nor\-skill;
+應該說 < it\-should\-be\-mentioned\-that\-\.\.\.;
+不得不 < have\-no\-choice\-or\-option\-but\-to;
+不寒而慄 < shiver\-all\-over\-though\-not\-cold;
+尾牙 < a\-year\-end\-dinner\-for\-employees;
+班輪 < regular\-passenger\-or\-cargo\-ship;
+垟 < clay\-sheep\-buried\-with\-the\-dead;
+抨擊 < attack\-\(verbally\-or\-in\-writing\);
+舞台 < \(theatrical\-or\-political\)\-stage;
+咠 < to\-whisper\.\-to\-blame\-to\-slander;
+叧 < to\-cut\-meat\-off\-away\-from\-bones;
+冔 < cap\-worn\-during\-the\-yin\-dynasty;
+亼 < to\-assemble\.\-to\-gather\-together;
+乄 < shime\:\-to\-find\-a\-place\-to\-dwell;
+䵸 < the\-toad\-that\-lives\-in\-the\-moon;
+䳡 < a\-kind\-of\-bird\-in\-ancient\-books;
+北伐軍 < the\-northern\-expeditionary\-army;
+䲞 < a\-second\-general\-name\-for\-perch;
+䱌 < a\-second\-name\-for\-the\-globefish;
+䰝 < a\-large\-earthen\-pot\-for\-cooking;
+䰀 < dressed\-hair\-of\-a\-chinese\-woman;
+䮸 < to\-move\-slowly\-and\-then\-swiftly;
+䬻 < to\-entertain\-a\-departing\-friend;
+䪾 < to\-deal\-with\-affairs\-cautiously;
+䪍 < a\-container\-for\-bows\-and\-arrows;
+䨣 < leather\-to\-be\-moistened\-by\-rain;
+軟體出版協會 < software\-publishers\-association;
+䣣 < name\-of\-a\-place\-name\-of\-a\-place;
+䟚 < to\-sit\-with\-the\-legs\-spread\-out;
+䜷 < fermented\-and\-seasoned\-soybeans;
+䜪 < name\-of\-a\-pavilion\-in\-old\-times;
+䛀 < reasonable\-authority\-statements;
+䘅 < a\-small\-gadflies\-and\-mosquitoes;
+可移植 < portable\-\(programming\-language\);
+䐃 < fat\-in\-the\-abdomen\-or\-intestine;
+䍛 < a\-kind\-of\-tool\-used\-to\-get\-fish;
+䊤 < vegetable\-mixed\-with\-thick\-soup;
+䂲 < standard\-weights\-used\-in\-scales;
+䁰 < to\-look\-in\-a\-evil\-or\-wicked\-way;
+㼖 < gourd\-used\-as\-a\-ladle\-or\-dipper;
+㻫 < a\-gem\-or\-ornament\-on\-a\-scabbard;
+猛跌 < drop\-sharply\-\(eg\,\-stock\-prices\);
+層出不窮 < to\-come\-out\-one\-after\-the\-other;
+信件 < a\-letter\-\(ie\,\-sent\-in\-the\-mail\);
+㬹 < tendons\-of\-the\-heel\-of\-the\-foot;
+㬁 < the\-sun\-is\-shining\-on\-the\-water;
+㥆 < indulgent\-and\-without\-restraint;
+八級工資制 < eight\-grade\-wage\-scale\-\(system\);
+㗘 < to\-bite\-the\-hard\-and\-solid\-food;
+使命 < a\-\(diplomatic\-or\-other\)\-mission;
+㓢 < to\-cut\-the\-flesh\-from\-the\-bones;
+㓔 < faded\-and\-fallen\-\-\-\-as\-blossoms;
+㒻 < to\-go\-forward\-with\-eyes\-covered;
+丹皮 < the\-root\-bark\-of\-the\-peony\-tree;
+定做 < to\-have\-something\-made\-to\-order;
+在密切注意 < to\-pay\-close\-attention\-\(to\-sth\);
+安民告示 < a\-notice\-to\-reassure\-the\-public;
+松下電氣工業 < matsushita\-electronics\-industry;
+重用 < to\-put\-in\-an\-important\-position;
+細菌武器 < biological\-weapon\-\(using\-germs\);
+比賽 < \[athletic\-or\-other\]\-competition;
+別開生面 < start\-something\-new\-or\-original;
+敘述 < relate\-\(a\-story\-or\-information\);
+加重 < become\|make\-more\-serious\|graver;
+蔚為 < to\-afford\-\(a\-view\-of\-sth\,\-e\.g\.\);
+經濟學 < economics\-\(as\-a\-field\-of\-study\);
+電臺 < radio\-\(or\-broadcasting\)\-station;
+如飢似渴 < thirsting\-or\-hungering\-for\-sth\.;
+開國元勛 < founding\-fathers\-\(of\-a\-country\);
+碑林 < the\-forest\-of\-steles\-\(in\-xi''an\);
+幹 < trunk\-of\-tree\-or\-of\-human\-body;
+尺 < chinese\-measure\-approx\.\-''foot'';
+米 < hulled\-or\-husked\-uncooked\-rice;
+鹏 < fabulous\-bird\-of\-enormous\-size;
+喂 < interjection\-to\-call\-attention;
+潇 < sound\-of\-beating\-wind\-and\-rain;
+禹 < legendary\-hsia\-dynasty\-founder;
+斟 < to\-pour\-wine\-or\-tea\-into\-a\-cup;
+萼 < the\-stem\-and\-calyx\-of\-a\-flower;
+阀 < powerful\-and\-influential\-group;
+楷 < model\-style\-of\-chinese\-writing;
+辄 < sides\-of\-chariot\-where\-weapons;
+俑 < wooden\-figure\-buried\-with\-dead;
+嘹 < used\-describe\-clarity\-of\-voice;
+轼 < horizontal\-wooden\-bar\-in\-front;
+馑 < time\-of\-famine\-or\-crop\-failure;
+伥 < ghost\-of\-one\-devoured\-by\-tiger;
+绶 < silk\-ribbon\-attached\-as\-a\-seal;
+鬈 < fine\-growth\-of\-hair\-curly\-hair;
+磔 < downward\-stroke\-slanting\-right;
+裢 < folding\-purse\-inserted\-in\-belt;
+枸 < kind\-of\-aspen\-found\-in\-sichuan;
+芊 < exuberant\-and\-vigorous\-foliage;
+鄄 < name\-of\-a\-district\-in\-shandong;
+鼹 < a\-kind\-of\-insectivorous\-rodent;
+莼 < an\-edible\-water\-plant\-brasenia;
+圬 < plaster\-over\-with\-layer\-of\-mud;
+莩 < membrane\-lining\-inside\-of\-reed;
+诶 < an\-exclamation\-of\-confirmation;
+褙 < paper\-or\-cloth\-pasted\-together;
+直接數據 < data\-direct\-\(in\-lan\-emulation\);
+外灘 < waitan\-\(the\-bund\)\,\-in\-shanghai;
+證實 < confirm\-\(something\-to\-be\-true\);
+愛面子 < be\-concerned\-about\-face\-saving;
+議員 < member\-\(of\-a\-legislative\-body\);
+報表 < forms\-for\-reporting\-statistics;
+明報 < ming\-pao\-newspaper\-\(hong\-kong\);
+前程 < future\-\(career\,\-etc\)\-prospects;
+登門 < pay\-a\-visit\-to\-someone''s\-house;
+邊民 < people\-living\-on\-the\-frontiers;
+那末 < if\-that''s\-the\-case\,\-then\-\(\.\.\.\);
+效應 < effect\-\(eg\,\-greenhouse\-effect\);
+墨爾缽 < melbourne\-\(an\-australian\-city\);
+歹徒 < evil\-person\-who\-commits\-crimes;
+收復 < recover\-\(lost\-territory\,\-etc\.\);
+傲骨 < lofty\-and\-unyielding\-character;
+斷交 < break\-off\-diplomatic\-relations;
+電腦與電話系統整合 < computer\-telephony\-integration;
+鶋 < a\-sea\-bird\-with\-a\-white\-breast;
+鯏 < a\-dialect\.\.\.\.\.\.\.\.\-name\-of\-fish;
+饁 < carry\-meal\-to\-workers\-in\-field;
+日本電報電話公司 < nippon\-telegraph\-and\-telephone;
+鎫 < ornament\-over\-the\-horse''s\-head;
+傳統醫藥 < \(chinese\)\-traditional\-medicine;
+赙 < gift\-of\-money\-help\-pay\-funeral;
+有史以來 < since\-the\-beginning\-of\-history;
+帳戶 < \(bank\,\-computer\,\-etc\.\)\-account;
+詤 < to\-make\-wild\-statements\-to\-lie;
+核威懾政策 < policy\-of\-nuclear\-intimidation;
+蘴 < young\-shoots\-of\-the\-rapeturnip;
+莝 < to\-chop\-straw\-fine\-for\-animals;
+索杰納 < sojourner\-\(martian\-land\-rover\);
+腠 < between\-the\-skin\-and\-the\-flesh;
+包治百病 < guarantee\-to\-cure\-all\-diseases;
+翿 < streamer\-adorned\-with\-feathers;
+筥 < round\-shaped\-bamboo\-basket\-for;
+固然 < admittedly\-\(it''s\-true\-that\.\.\.\);
+痄 < scrofulous\-swellings\-and\-sores;
+中華人民共和國 < the\-people''s\-republic\-of\-china;
+玤 < a\-kind\-of\-gem\-inferior\-to\-jade;
+服務廣告協議 < service\-advertisement\-protocol;
+煠 < to\-fry\-in\-fat\-or\-oil\.\-to\-scald;
+臺獨 < taiwan\-independence\-\(movement\);
+潏 < fareshare\-reclaimed\-from\-river;
+漼 < having\-the\-appearance\-of\-depth;
+保苗 < keep\-a\-full\-stand\-of\-seedlings;
+欞 < the\-lattice\-of\-a\-window\-a\-sill;
+按需分配 < distribution\-according\-to\-need;
+世貿組織 < wto\-\(world\-trade\-organization\);
+曚 < twilight\-just\-before\-sun\-rises;
+沒有什麼 < there''s\-nothing\-\(\.\.\.\-about\-it\);
+斚 < a\-small\-cup\-of\-stone\-with\-ears;
+按勞分配 < distribution\-according\-to\-work;
+路由 < routing\-\(in\-computer\-networks\);
+對美 < \(policy\,\-etc\.\)\-towards\-america;
+指數 < \(numerical\,\-statistical\)\-index;
+筆畫 < strokes\-of\-a\-chinese\-character;
+扊 < upright\-bar\-for\-fastening\-door;
+慜 < name\-of\-a\-monk\-in\-tang\-dynasty;
+空襲 < \(military\)\-attack\-from\-the\-air;
+崠 < place\-name\-in\-guangxi\-province;
+表報 < statistical\-tables\-and\-reports;
+岝 < name\-of\-a\-mountain\-in\-shandong;
+拘押 < \(arrest\-and\)\-take\-into\-custody;
+談得來 < able\-to\-talk\-to\-or\-get\-on\-with;
+堭 < a\-dry\-moat\-outside\-a\-city\-wall;
+堎 < character\-used\-for\-place\-names;
+嚹 < a\-particle\-implying\-completion;
+阿拉木圖 < almaty\-\(capital\-of\-kazakhstan\);
+匳 < ladies\-toilet\-case\-with\-mirror;
+刵 < punishment\-by\-cutting\-off\-ears;
+尚書 < high\-official\-in\-ancient\-china;
+䲁 < general\-term\-of\-a\-kind\-of\-fish;
+七層架構 < seven\-layer\-architecture\-\(osi\);
+䰚 < the\-top\-part\-of\-the\-rice\-gruel;
+䯵 < hair\-style\-for\-little\-children;
+䯤 < boneware\-used\-to\-comb\-the\-hair;
+䯒 < the\-upper\-part\-of\-the\-shinbone;
+䮔 < a\-young\-and\-fleet\-footed\-horse;
+䭺 < a\-horse\-to\-raise\-its\-head\-high;
+䫮 < to\-bend\-or\-lower\-of\-one''s\-head;
+䫆 < the\-front\-and\-back\-of\-the\-neck;
+䧒 < steps\-leading\-up\-to\-a\-building;
+䤛 < component\-parts\-of\-a\-cross\-bow;
+䣹 < to\-brew\-10\-percent\-of\-the\-wine;
+䣵 < to\-brew\-the\-wine\-a\-second\-time;
+䣬 < the\-shiny\-colorful\-of\-the\-wine;
+聳立 < to\-tower\-above\-\(on\-top\-of\-sth\);
+䢾 < name\-of\-an\-ancient\-small\-state;
+䡃 < a\-tool\-for\-brushing\-the\-thread;
+䜲 < name\-of\-a\-village\-in\-old\-china;
+班組 < teams\-and\-groups\-\(in\-factories;
+䘓 < thick\-blood\-of\-cattle\-and\-goat;
+䓿 < a\-second\-name\-for\-lotus\-flower;
+䓹 < to\-stuff\-full\-and\-to\-gulp\-down;
+䍁 < the\-hem\-or\-border\-of\-a\-garment;
+䋴 < silk\-fabrics\-with\-mixed\-colors;
+䋳 < cloth\-or\-paper\-pasted\-together;
+伯母 < wife\-of\-father''s\-elder\-brother;
+䉤 < a\-bamboo\-ware\-for\-washing\-rice;
+䉛 < bamboo\-basket\-for\-washing\-rice;
+䉓 < mattress\-made\-of\-bamboo\-strips;
+䇬 < thin\-bamboo\-laths\-knitted\-sail;
+䇧 < to\-fill\-an\-opening\-with\-bamboo;
+䄡 < northern\-minority\-ethnic\-group;
+䃶 < rugged\-and\-uneven\-of\-the\-rocks;
+䃚 < rugged\-land\-of\-sand\-and\-pebble;
+䃂 < dull\-sound\-of\-the\-tolling\-bell;
+㼡 < a\-small\-jar\-with\-a\-small\-mouth;
+㵷 < turbulent\-flowing\-of\-the\-water;
+中藥 < \(traditional\)\-chinese\-medicine;
+語音通訊通道 < voice\-\(communications\)\-channel;
+㲹 < the\-dry\-soil\-on\-the\-river\-side;
+㲝 < fine\-hair\-of\-birds\-and\-animals;
+㯅 < the\-branches\-growing\-downwards;
+㮂 < an\-appliance\-used\-to\-lift\-food;
+㬤 < wet\-clothes\-not\-completely\-dry;
+㪾 < to\-cut\-the\-flesh\-from\-the\-bone;
+㨙 < to\-clasp\-or\-hold\-under\-the\-arm;
+㦲 < a\-particle\-expressing\-surprise;
+㥋 < sound\-of\-the\-anguish\-of\-sorrow;
+㤯 < clever\-or\-smart\-in\-a\-small\-way;
+㤔 < to\-concede\-or\-submit\-willingly;
+㣇 < a\-kind\-of\-beast\-with\-long\-hair;
+㡞 < a\-sack\-used\-to\-feed\-the\-horses;
+㠣 < a\-mountain\-in\-jiangxi\-province;
+㞯 < the\-turning\-area\-of\-a\-mountain;
+班主任 < a\-teacher\-in\-charge\-of\-a\-class;
+㜆 < commonly\-known\-as\-mother\-in\-wu;
+㙚 < red\-colored\-hard\-and\-solid\-mud;
+㘞 < yelling\-sound\-of\-towing\-a\-boat;
+㔩 < hair\-ornments\-used\-in\-old\-time;
+㔀 < to\-brand\-criminals\-on\-the\-face;
+暗袋 < camera\-bag\-\(for\-changing\-film\);
+可選擇丟棄 < discard\-eligible\-\(frame\-relay\);
+處決 < execute\-\(a\-condemned\-criminal\);
+應有盡有 < everything\-\(one\-could\-imagine\);
+新鮮 < fresh\-\(experience\,\-food\,\-etc\.\);
+導航員 < navigator\-\(on\-a\-plane\-or\-boat\);
+叫聲 < yelling\-\(sound\-made\-by\-person\);
+班師 < withdraw\-troops\-from\-the\-front;
+哀悼 < grieve\-\(mourn\)\-over\-sb''s\-death;
+科恩 < cohen\-\(u\.s\.\-defence\-secretary\);
+敗陣 < be\-defeated\-on\-the\-battlefield;
+眾議院 < house\-of\-representatives\-\(usa\);
+包賠 < guarantee\-to\-pay\-compensations;
+名次 < position\-in\-a\-ranking\-of\-names;
+嫂嫂 < sister\-in\-law\-\(husband''s\-side\);
+奉行 < to\-pursue\-\(a\-course\,\-a\-policy\);
+青山綠水 < verdant\-hills\-and\-green\-waters;
+呼喚 < call\-out\-\(someone''s\-name\,\-etc\);
+𠀁 < the\-original\-form\-for\-七\-u\+4e03;
+𠀀 < the\-sound\-made\-by\-breathing\-in;
+虹橋機場 < hongqiao\-airport\-\(in\-shanghai\);
+統一招生 < national\-unified\-entrance\-exam;
+示威 < hold\-a\-\(protest\)\-demonstration;
+東部時間 < \(u\.s\.\)\-eastern\-\(standard\)\-time;
+當事人 < persons\-involved\-or\-implicated;
+時大時小 < sometimes\-big\,\-sometimes\-small;
+常規銅電話線 < ordinary\-copper\-telephone\-line;
+迦 < character\-for\-transliteration;
+庵 < buddhist\-monastery\-or\-nunnery;
+庚 < seventh\-of\-ten\-cyclical\-stems;
+趣 < what\-attracts\-one''s\-attention;
+畔 < boundary\-path\-dividing\-fields;
+夾 < be\-wedged\-or\-inserted\-between;
+辆 < numerary\-adjunct\-for\-vehicles;
+怔 < a\-disease\-resembling\-neurosis;
+陌 < foot\-path\-between\-rice\-fields;
+骆 < a\-white\-horse\-with\-black\-mane;
+楣 < crossbeam\-above\-or\-under\-gate;
+璧 < piece\-of\-jade\-with\-hole\-in\-it;
+膻 < rank\-odor\-\(of\-sheep\-or\-goats\);
+玑 < pearl\-that\-is\-not\-quite\-round;
+唢 < flute\-like\-musical\-instrument;
+楂 < a\-raft\.\-to\-hew\.\-to\-fell\-trees;
+犒 < entertain\-victorious\-soldiers;
+矍 < look\-about\-in\-fright\-or\-alarm;
+擤 < to\-blow\-the\-nose\-with\-fingers;
+芡 < plant\-allied\-to\-the\-waterlily;
+籼 < non\-glutinous\-long\-grain\-rice;
+桡 < bent\-or\-twisted\-piece\-of\-wood;
+黻 < special\-pattern\-of\-embroidery;
+嵝 < goulou\-mountain\-peak\-in\-hunan;
+垭 < character\-used\-in\-place\-names;
+硖 < \<arch\>\-town\-in\-hebei\-province;
+邡 < name\-of\-a\-district\-in\-sichuan;
+讠 < simplified\-kangxi\-radical\-149;
+噻 < character\-used\-in\-translation;
+疬 < scrofulous\-lumps\-or\-swellings;
+蔟 < frame\-on\-which\-silkworms\-spin;
+垧 < variable\-unit\-of\-land\-measure;
+鬏 < a\-coiffure\-on\-top\-of\-the\-head;
+筘 < \(a\-measure\-of\-width\-of\-cloth\);
+缑 < cord\-binding\-on\-hilt\-of\-sword;
+簖 < bamboo\-trap\-for\-catching\-fish;
+庋 < a\-cupboard\-or\-pantry\-to\-store;
+甍 < rafters\-supporting\-roof\-tiles;
+吃刀 < penetration\-of\-a\-cutting\-tool;
+各位 < everybody\-\(a\-term\-of\-address\);
+韓圓 < korean\-won\-\(unit\-of\-currency\);
+不辭而別 < leave\-without\-saying\-good\-bye;
+百聽不厭 < worth\-hearing\-a\-hundred\-times;
+低階語言 < low\-level\-\(computer\)\-language;
+不足為訓 < not\-to\-be\-taken\-as\-an\-example;
+報社 < general\-office\-of\-a\-newspaper;
+發跡 < to\-rise\-to\-power\-and\-position;
+支援 < provide\-assistance\-or\-backing;
+觀測 < \(scientific\,\-etc\)\-observation;
+違心 < against\-ones\-will\-or\-feelings;
+駹 < black\-horse\-with\-a\-white\-face;
+饎 < wine\-and\-food\-eaten\-with\-wine;
+同步數位階層 < synchronous\-digital\-hierarchy;
+拼音 < pinyin\-\(chinese\-romanization\);
+大吹大擂 < make\-an\-exhibition\-of\-oneself;
+釄 < wine\-brew\-for\-the\-second\-time;
+釁 < smear\-with\-blood\-in\-sacrifice;
+境外 < outside\-\(a\-country''s\)\-borders;
+上海戲劇學院 < shanghai\-theatrical\-institute;
+迧 < a\-chinese\-family\-name\-arrange;
+轘 < tear\-asunder\-between\-chariots;
+輙 < sides\-of\-chariot\-were\-weapons;
+拌面 < noodles\-served\-with\-soy\-sauce;
+直接 < direct\-\(opposite\-of\-indirect\);
+詀 < garrulous\-to\-whisper\.\-to\-joke;
+訹 < to\-beguile\-with\-false\-stories;
+藊 < a\-kind\-of\-bean\-with\-flat\-pods;
+安之若素 < bear\-hardship\-with\-equanimity;
+舠 < long\-narrow\-knife\-shaped\-boat;
+鏡頭 < camera\-shot\-\(in\-a\-movie\,\-etc\);
+翣 < feathers\-used\-decorate\-coffin;
+莫不 < there\-is\-no\-one\-\(who\-doesn''t\);
+送人 < to\-see\-\(or\-walk\)\-someone\-home;
+白文 < the\-text\-of\-an\-annotated\-book;
+縓 < orange\-or\-reddish\-yellow\-silk;
+西哈努克 < \(king\)\-sihanouk\-\(of\-cambodia\);
+將領 < high\-ranking\-military\-officer;
+殺人案件 < \(case\-of\,\-incident\-of\)\-murder;
+糏 < rice\-grits\-left\-after\-hulling;
+篘 < a\-utensil\-used\-to\-filter\-wine;
+紅綠燈 < \(red\-and\-green\)\-traffic\-light;
+掌權 < wield\-\(political\,\-etc\.\)\-power;
+促進 < to\-promote\-\(an\-idea\-or\-cause\);
+矰 < arrow\-with\-attached\-silk\-cord;
+公安 < \(ministry\-of\)\-public\-security;
+玃 < a\-large\-ape\-found\-in\-w\.\-china;
+猇 < the\-scream\-or\-roar\-of\-a\-tiger;
+牸 < the\-female\-of\-certain\-animals;
+背道而馳 < run\-in\-the\-opposite\-direction;
+滙 < waters\-converging\-to\-one\-spot;
+傳輸控制協定 < transmission\-control\-protocol;
+病根 < an\-incompletely\-cured\-illness;
+補報 < make\-a\-report\-after\-the\-event;
+重複節 < repeated\-segment\-\(networking\);
+椊 < to\-fit\-a\-handle\-into\-a\-socket;
+不名一文 < without\-a\-penny\-to\-one''s\-name;
+不無小補 < not\-be\-without\-some\-advantage;
+對臺 < \(policy\,\-etc\.\)\-towards\-taiwan;
+板鼓 < a\-small\-drum\-for\-marking\-time;
+暐 < the\-bright\-shining\-of\-the\-sun;
+昳 < the\-declining\-sun\-in\-the\-west;
+特別行政區 < special\-administrative\-region;
+贅述 < to\-say\-more\-than\-is\-necessary;
+捬 < press\-down\-heavily\-with\-hands;
+抔 < take\-or\-hold\-up\-in\-both\-hands;
+實肘 < full\-arm\-\(method\-of\-painting\);
+淘金 < panning\-\(for\-precious\-metals\);
+崾 < place\-name\-in\-shanxi\-province;
+峫 < mountain\-in\-shandong\-province;
+姅 < woman\-at\-time\-of\-menstruation;
+壼 < palace\-corridor\-or\-passageway;
+壍 < moat\-around\-a\-city\.\-a\-channel;
+加強管制 < to\-tighten\-control\-\(over\-sth\);
+啩 < particle\-implying\-probability;
+叐 < to\-prick\-a\-dog\-to\-make\-him\-go;
+卐 < swastika\-fourth\-of\-auspicious;
+戈爾 < \(al\)\-gore\-\(us\-vice\-president\);
+䶕 < irregular\-and\-prominent\-teeth;
+䵘 < dosen''t\-t\-stick\-to\-each\-other;
+䲵 < a\-general\-name\-of\-small\-birds;
+亂說 < to\-make\-irresponsible\-remarks;
+䯆 < small\-and\-thin\-piece\-of\-bones;
+人民日報 < renmin\-ribao\-\(people''s\-daily\);
+䫲 < thin\-and\-sickly\-in\-appearance;
+䫤 < between\-the\-eyebrows\-and\-eyes;
+䫡 < a\-long\-shape\-of\-head\-and\-face;
+䫋 < female\-attendants\-or\-servants;
+開始以前 < before\-the\-beginning\-\(of\-sth\);
+䧐 < a\-mountain\-in\-shanxi\-province;
+䥣 < an\-instrument\-for\-boring\-wood;
+䥉 < the\-curved\-iron\-part\-of\-a\-hoe;
+䤒 < wine\-made\-from\-glutinous\-rice;
+䤍 < rotten\-paste\-or\-soybean\-sauce;
+不識大體 < fail\-to\-see\-the\-larger\-issues;
+䠽 < height\-or\-stature\-of\-a\-person;
+䠱 < to\-walk\-slowly\-and\-cautiously;
+䟧 < sound\-of\-treading\-or\-stepping;
+䞇 < gifts\-to\-superiors\-or\-friends;
+䝽 < name\-of\-a\-person\-in\-old\-china;
+兵工廠 < munitions\-or\-ordnance\-factory;
+䝙 < a\-kind\-of\-animal\-like\-a\-tiger;
+䜈 < to\-speak\-on\-behalf\-of\-another;
+䘳 < a\-garment\-of\-single\-thickness;
+䏼 < what\-is\-left\-over\-of\-the\-food;
+不打自招 < confess\-without\-being\-pressed;
+䎢 < to\-measure\-by\-pints\-and\-pecks;
+䎑 < flying\-over\-the\-water\-surface;
+䍮 < young\-goat\-under\-one\-year\-old;
+䍂 < tools\-to\-draw\-water\-or\-liquid;
+䌿 < the\-breadth\-of\-cloth\-or\-paper;
+䌗 < the\-left\-over\-of\-drawing\-silk;
+䌈 < to\-get\-something\-with\-a\-lasso;
+一舉兩得 < kill\-two\-birds\-with\-one\-stone;
+不軌 < against\-the\-law\-or\-discipline;
+䉥 < a\-small\-basket\-for\-chopsticks;
+半身像 < half\-length\-photo\-or\-portrait;
+䆺 < whirling\-of\-the\-flowing\-water;
+䅢 < mature\-or\-ripen\-of\-the\-grains;
+保商 < preservation\-of\-soil\-moisture;
+㿶 < the\-sides\-of\-a\-shoe\-or\-gutter;
+㽰 < carved\-window\-frame\-on\-a\-door;
+作戰 < conduct\-\(military\-operations\);
+㹂 < untamed\-and\-indocility\-cattle;
+㴄 < the\-water\-flowing\-in\-a\-turned;
+世行 < \[abbreviation\-for\]\-world\-bank;
+㰉 < the\-hazel\-nut\-or\-filbert\-tree;
+中華 < china\-\(alternate\-formal\-name\);
+㭟 < torture\-used\-in\-ancient\-times;
+㫐 < distant\-and\-indistinguishable;
+㡻 < name\-of\-a\-small\-ancient\-state;
+侵入 < to\-make\-\(military\)\-incursions;
+球檯 < table\-\(for\-games\-using\-balls\);
+㛐 < wife\-of\-one''s\-elder''s\-brother;
+㚆 < to\-do\-something\-in\-an\-old\-way;
+㖟 < to\-deliver\-over\-to\-personally;
+下臺 < step\-down\-\(from\-office\,\-etc\.\);
+貪污 < \(political\,\-moral\)\-corruption;
+中級 < middle\-level\-\(in\-a\-hierarchy\);
+有的 < \(there\-are\)\-some\-\(who\-are\.\.\.\);
+蓋飯 < rice\-with\-meat\-and\-vegitables;
+不速之客 < uninvited\-or\-unexpected\-guest;
+下班 < to\-come\-or\-go\-or\-get\-off\-work;
+發電量 < \(generated\)\-electrical\-energy;
+不得要領 < fail\-to\-grasp\-the\-main\-points;
+包銷 < have\-exclusive\-selling\-rights;
+進行調查 < to\-carry\-out\-an\-investigation;
+讓球 < to\-concede\-points\-\(in\-a\-game\);
+書房 < study\-\(i\.e\.\-the\-kind\-of\-room\);
+通用資源識別號 < universal\-resource\-identifier;
+認識 < be\-acquainted\-with\-\(a\-person\);
+卻病 < to\-prevent\-or\-treat\-a\-disease;
+遲遲 < \(be\)\-late\-\(with\-a\-task\,\-etc\.\);
+大街小巷 < large\-streets\-and\-small\-lanes;
+𠀅 < an\-alternate\-form\-of\-u\+4ea5\-亥;
+德班 < durban\-\(city\-in\-south\-africa\);
+保安族 < the\-baoan\-\(paoan\)\-nationality;
+擺輪 < balance\-\(of\-a\-watch\-or\-clock\);
+擺設 < furnish\-and\-decorate\-\(a\-room\);
+江澤民 < jiang\-zemin\-\(chinese\-premier\);
+熱線 < hotline\-\(communications\-link\);
+法制 < legal\-system\-and\-institutions;
+件 < numerary\-adjunct\-for\-article;
+吗 < final\-interrogative\-particle;
+麽 < interrogative\-final\-particle;
+矣 < particle\-of\-completed\-action;
+乒 < used\-with\-pong\-for\-ping\-pong;
+乓 < used\-with\-ping\-for\-ping\-pong;
+咚 < used\-as\-description\-of\-sound;
+琅 < a\-variety\-of\-white\-carnelian;
+孰 < who\?\-which\?\-what\?\-which\-one\?;
+戊 < fifth\-of\-ten\-celestial\-stems;
+渲 < add\-repeated\-washes\-of\-color;
+咫 < foot\-measure\-of\-zhou\-dynasty;
+饷 < rations\-and\-pay\-for\-soldiers;
+汶 < a\-river\-in\-shandong\-province;
+叁 < bank\-form\-of\-numeral\-''three'';
+壬 < ninth\-of\-ten\-celestial\-stems;
+柩 < coffin\-which\-contains\-corpse;
+桠 < the\-forking\-branch\-of\-a\-tree;
+甏 < a\-squat\-jar\-for\-holding\-wine;
+笞 < bamboo\-rod\-used\-for\-beatings;
+阗 < a\-place\-in\-xinjiang\-province;
+铉 < device\-for\-carrying\-a\-tripod;
+觥 < a\-cup\-made\-of\-horn\-obstinate;
+裣 < draw\-one''s\-hands\-into\-sleeve;
+崃 < mountain\-in\-sichuan\-province;
+罘 < screen\-used\-in\-ancient\-times;
+氇 < thick\-rough\-serge\-from\-tibet;
+埴 < soil\-with\-large\-clay\-content;
+昴 < one\-of\-the\-28\-constellations;
+菹 < salted\-or\-pickled\-vegetables;
+各大軍區 < \"the\-greater\-military\-areas\";
+水平 < level\-\(of\-achievement\,\-etc\.\);
+夫權 < authority\-over\-the\-household;
+印尼 < \(abbreviation\-for\)\-indonesia;
+變價 < appraise\-at\-the\-current\-rate;
+年夜飯 < new\-year''s\-eve\-family\-dinner;
+妹夫 < brother\-in\-law\-\(wife''s\-side\);
+進而 < and\-then\-\(what\-follows\-next\);
+李登輝 < lee\-teng\-hui\-\(taiwan\-leader\);
+陣線 < a\-front\-\(ie\,\-militant\-group\);
+呼籲美國 < to\-call\-on\-the\-united\-states;
+傳統中國醫藥 < chinese\-traditional\-medicine;
+歲月 < the\-years\-of\-a\-person''s\-life;
+豐衣足食 < have\-ample\-food\-and\-clothing;
+不知好歹 < not\-know\-what''s\-good\-for\-one;
+歸屬 < be\-under\-the\-jurisdiction\-of;
+在野 < be\-out\-of\-\(political\)\-office;
+廠房 < a\-building\-used\-as\-a\-factory;
+判決 < judgment\-\(by\-a\-court\-of\-law\);
+困難 < \(financial\,\-etc\.\)\-difficulty;
+鵭 < a\-small\-bird\-with\-black\-neck;
+大自然 < nature\-\(as\-in\-mother\-nature\);
+網管接口 < network\-management\-interface;
+隒 < the\-appearance\-of\-a\-mountain;
+掛號 < to\-register\-\(a\-letter\,\-etc\.\);
+補苗 < fill\-the\-gaps\-with\-seedlings;
+根據上表 < according\-to\-the\-above\-table;
+武力 < \(make\-use\-of\)\-military\-force;
+放假 < to\-have\-a\-holidy\-or\-vacation;
+醁 < a\-kind\-of\-green\-colored\-wine;
+舉重 < \(the\-sport\-of\)\-weightlifting;
+邿 < a\-state\-in\-shandong\-province;
+轖 < framework\-of\-lattice\-on\-cart;
+嚴詞 < \(criticize\,\-etc\.\)\-forcefully;
+觵 < a\-cup\-made\-of\-corn\-obstinate;
+華盛頓時報 < washington\-times\-\(newspaper\);
+境內 < within\-\(a\-country''s\)\-borders;
+華人 < ethnic\-chinese\-person\|people;
+橋本 < \(japanese\-surname\)\-hashimoto;
+地皮 < lot\,\-section\-of\-land\,\-ground;
+立方米 < cubic\-meter\-\(unit\-of\-volume\);
+轉機 < \(take\-a\)\-turn\-for\-the\-better;
+固定虛擬連接 < permanent\-virtual\-connection;
+常委 < member\-of\-standing\-committee;
+吃不消 < be\-unable\-to\-stand\-\(exertion;
+投票站 < polling\-station\-\(for\-a\-vote\);
+耇 < wrinkled\-face\-of\-the\-elderly;
+羴 < rank\-odour\-of\-sheep\-or\-goats;
+得票率 < percentage\-of\-votes\-obtained;
+絃 < string\-on\-musical\-instrument;
+國防利益 < \(national\)\-defence\-interests;
+開放系統互連 < open\-systems\-interconnection;
+筻 < place\-name\-in\-hunan\-province;
+竚 < stand\-and\-wait\-for\-long\-time;
+起飛 < to\-take\-off\-\(in\-an\-airplane\);
+開幕 < to\-open\-\(a\-conference\,\-e\.g\.\);
+打針 < to\-give\-or\-have\-an\-injection;
+睙 < to\-roll\-the\-eyeballs\-to\-look;
+瑂 < \(stone\-which\-resembles\-jade\);
+本末倒置 < take\-the\-branch\-for\-the\-root;
+燺 < the\-dry\-at\-the\-fire\-to\-roast;
+瀔 < river\-name\-in\-henan\-province;
+抱頭痛哭 < cry\-on\-each\-other''s\-shoulder;
+汧 < name\-of\-a\-river\-in\-shangdong;
+璧謝 < decline\-\(a\-gift\)\-with\-thanks;
+橵 < wood\-placed\-under\-roof\-tiles;
+對華 < \(policy\,\-etc\.\)\-towards\-china;
+不一而足 < by\-no\-means\-an\-isolated\-case;
+曈 < twilight\-just\-before\-sunrise;
+旟 < an\-military\-flag\-oa\-standard;
+儀器 < \(scientific\,\-etc\)\-instrument;
+原子科學家通報 < journal\-of\-atomic\-scientists;
+究辦 < to\-investigate\-and\-deal\-with;
+吃不住 < be\-unable\-to\-bear\-or\-support;
+扨 < pick\-up\-with\-fork\-or\-pincers;
+幰 < curtain\-at\-front\-of\-carriage;
+娀 < name\-of\-a\-concubine\-of\-di\-ku;
+白紙黑字 < \(written\)\-in\-black\-and\-white;
+埄 < whirling\-of\-dust\-in\-the\-wind;
+定罪 < convict\-\(someone\-of\-a\-crime\);
+本題 < the\-subject\-under\-discussion;
+背簍 < a\-basket\-carried\-on\-the\-back;
+北京藝術學院 < beijing\-academy\-of\-fine\-arts;
+不碎玻璃 < shatterproof\-or\-safety\-glass;
+有關 < to\-have\-something\-to\-do\-with;
+來源 < source\-\(of\-information\,\-etc\);
+䵠 < rushes\-used\-form\-making\-mats;
+䳍 < a\-kind\-of\-pheasant\-like\-bird;
+獲釋 < obtain\-release\-\(from\-prison\);
+䱱 < a\-kind\-of\-slippery\-long\-fish;
+䮇 < black\-horse\-with\-white\-thigh;
+對日 < \(policy\,\-etc\.\)\-towards\-japan;
+䬠 < the\-falling\-of\-snow\-and\-rain;
+䪭 < a\-kind\-of\-musical\-instrument;
+䪉 < metal\-decoration\-on\-a\-halter;
+䩡 < a\-kind\-of\-boots\-in\-old\-times;
+莫衷一是 < cannot\-decide\-which\-is\-right;
+䦜 < name\-of\-a\-state\-in\-old\-times;
+䥺 < name\-of\-a\-double\-edged\-sword;
+䥕 < the\-blade\-or\-edge\-of\-a\-spade;
+䤉 < emptied\-the\-drink\-completely;
+䣡 < name\-of\-a\-place\-in\-old\-times;
+䡑 < the\-rim\-or\-felloe\-of\-a\-wheel;
+䠴 < with\-a\-symmetric\-well\-formed;
+䝵 < to\-thank\-with\-money\-or\-gifts;
+䙗 < a\-swaddling\-cloth\-for\-infant;
+䘻 < curtain\-on\-a\-carriage\-or\-car;
+䘺 < a\-seam\-which\-has\-come\-unsewn;
+䘵 < hissing\-sound\-of\-the\-clothes;
+䔛 < fibrous\-plant\-of\-which\-cloth;
+䑹 < a\-numerary\-adjunct\-for\-ships;
+䍠 < turban\-used\-in\-ancient\-times;
+䌋 < a\-herchief\-hung\-at\-the\-waist;
+䋩 < pretty\-and\-fine\-silk\-fabrics;
+䋏 < thick\-and\-big\-ropes\-or\-cords;
+䋋 < a\-kind\-of\-spring\-fishing\-net;
+八國聯軍 < the\-eight\-power\-allied\-force;
+䆶 < noise\-of\-a\-mouse\-in\-the\-cave;
+䅳 < stalk\-of\-the\-panicled\-millet;
+䅭 < a\-variety\-of\-panicled\-millet;
+䅌 < stalk\-of\-wheat\-or\-rice\-plant;
+䃋 < a\-fine\-stone\-resembling\-jade;
+䂵 < sound\-of\-bumping\-or\-striking;
+䂫 < noise\-of\-stones\-rolling\-down;
+䀳 < not\-to\-look\-straight\-forward;
+㾴 < the\-erythema\-of\-acne\-rosacea;
+多年以來 < for\-many\-years\-\(in\-the\-past\);
+㹥 < a\-yellow\-dog\-with\-black\-head;
+㹁 < generally\-called\-the\-animals;
+㵵 < swift\-currents\-of\-the\-stream;
+㵎 < a\-mountain\-stream\-or\-torrent;
+㴚 < the\-small\-ditch\-in\-the\-field;
+知識產權 < intellectual\-property\-rights;
+憋氣 < feel\-suffocated\-or\-oppressed;
+㰆 < an\-instrument\-to\-blow\-a\-fire;
+㰁 < a\-tree\-with\-slanted\-branches;
+㯳 < a\-kind\-of\-tool\-to\-adjust\-bow;
+㥜 < unsuccessful\-in\-one''s\-career;
+㡱 < to\-cauterize\-by\-burning\-moxa;
+㠱 < to\-set\-with\-the\-legs\-clossed;
+㜌 < a\-different\-name\-for\-breasts;
+㙾 < hills\-with\-lots\-of\-big\-rocks;
+㙛 < a\-person''s\-name\-in\-old\-times;
+㗾 < to\-give\-vent\-to\-the\-feelings;
+㗆 < sound\-of\-the\-ringed\-pheasant;
+㓳 < use\-knife\-to\-split\-something;
+㑟 < insincere\-and\-cunning\-person;
+自治區 < autonomous\-region\-\(in\-china\);
+同胞 < fellow\-citizen\-or\-countryman;
+匾額 < a\-horizontal\-inscribed\-board;
+廣播和未知服務器 < broadcast\-and\-unknown\-server;
+確診 < to\-make\-a\-definite\-diagnosis;
+張純如 < \(american\-author\)\-iris\-chang;
+它們 < they\-\(for\-inanimate\-objects\);
+現場 < scene\-\(of\-event\-or\-incident\);
+愛情 < love\-\(between\-man\-and\-woman\);
+變節 < make\-a\-political\-recantation;
+誓死不降 < to\-vow\-to\-fight\-to\-the\-death;
+沒有必要 < there\-is\-no\-need\-to\-\(do\-sth\);
+涉嫌 < to\-be\-a\-suspect\-\(in\-a\-crime\);
+班務會 < a\-routine\-meeting\-of\-a\-squad;
+新德裡 < new\-delhi\-\(capital\-of\-india\);
+反對黨 < opposition\-\(political\)\-party;
+失足 < to\-take\-a\-wrong\-step\-in\-life;
+中文廣播 < chinese\-\(language\)\-broadcast;
+移殖手術 < \(organ\)\-transplant\-operation;
+犧牲 < sacrifice\-\(one''s\-life\,\-etc\.\);
+亞伯 < abe\-\(short\-form\-for\-abraham\);
+猜忌 < be\-suspicious\-and\-jealous\-of;
+黨內 < within\-the\-\(communist\)\-party;
+說明書 < synopsis\-\(of\-a\-play\-or\-film\);
+動蕩 < \(social\-or\-political\)\-unrest;
+王丹 < wang\-dan\-\(chinese\-dissident\);
+叛亂罪 < the\-crime\-of\-armed\-rebellion;
+浪子回頭 < the\-return\-of\-a\-prodigal\-son;
+差得多 < fall\-short\-by\-a\-large\-amount;
+不急之務 < a\-matter\-of\-no\-great\-urgency;
+電磁干擾 < electromagnetic\-interference;
+台灣話 < taiwanese\-chinese\-\(language\);
+啦 < final\-particle\-of\-assertion;
+综 < arrange\-threads\-for\-weaving;
+拭 < wipe\-away\-stains\-with\-cloth;
+叮 < exhort\-or\-enjoin\-repeatedly;
+戟 < halberd\-with\-crescent\-blade;
+凛 < to\-shiver\-with\-cold\-or\-fear;
+栋 < main\-beams\-supporting\-house;
+髦 < flowing\-hair\-of\-young\-child;
+筝 < stringed\-musical\-instrument;
+丙 < third\-of\-the\-heavenly\-stems;
+沂 < river\-in\-southeast\-shandong;
+笈 < bamboo\-box\-used\-carry\-books;
+瓢 < ladle\-made\-from\-dried\-gourd;
+簧 < reed\-of\-woodwind\-instrument;
+蛟 < scaly\-dragon\-with\-four\-legs;
+敕 < an\-imperial\-order\-or\-decree;
+裟 < a\-cassock\-or\-robe\-of\-a\-monk;
+碴 < chipped\-edge\-of\-a\-container;
+瘴 < malaria\-pestilential\-vapors;
+纶 < green\-silk\-thread\-or\-tassel;
+罡 < the\-name\-of\-a\-certain\-stars;
+癸 < last\-of\-ten\-celestial\-stems;
+橇 < a\-sledge\-for\-transportation;
+皋 < the\-high\-land\-along\-a\-river;
+潍 < county\-in\-shandong\-province;
+洙 < name\-of\-a\-river\-in\-shandong;
+獠 < to\-hunt\-at\-night\-by\-torches;
+麒 < legendary\-auspicious\-animal;
+珩 < the\-top\-gem\-of\-the\-pendants;
+谥 < to\-confer\-posthumous\-titles;
+秫 < glutinous\-variety\-of\-millet;
+竽 < ancient\-woodwind\-instrument;
+崮 < \(element\-in\-mountain\-names\);
+愀 < to\-change\-one''s\-countenance;
+鄢 < name\-of\-a\-district\-in\-honan;
+癍 < unhealthy\-marks\-on\-the\-skin;
+鄞 < county\-in\-zhejiang\-province;
+雒 < black\-horse\-with\-white\-mane;
+旒 < fringes\-of\-pearls\-on\-crowns;
+琊 < a\-place\-in\-eastern\-shandong;
+蚨 < a\-kind\-of\-water\-beetle\-cash;
+毳 < fine\-hair\-or\-fur\-on\-animals;
+瘥 < to\-recover\-from\-any\-disease;
+浈 < river\-in\-guangdong\-province;
+嘧 < \(phonetic\)\-as\-in\-pyrimidine;
+不易之論 < perfectly\-sound\-proposition;
+似乎很安全 < to\-appear\-\(to\-be\)\-very\-safe;
+決定 < to\-decide\-\(to\-do\-something\);
+姊妹 < \(older\-and\-younger\)\-sisters;
+逼肖 < bear\-a\-close\-resemblance\-to;
+葉利欽 < \(russian\-president\)\-yeltsin;
+復審 < reexamine\-\(a\-judicial\-case\);
+入門 < introduction\-\(to\-a\-subject\);
+白露 < white\-dew\-\(15th\-solar\-term\);
+各種各樣 < various\-sorts\-and\-varieties;
+補體 < complement\-\(in\-blood\-serum\);
+評比 < to\-evaluate\-\(by\-comparison\);
+不違農時 < not\-miss\-the\-farming\-season;
+黃浦江 < huangpu\-river\-\(in\-shanghai\);
+轉身 < \(of\-a\-person\)\-to\-turn\-round;
+爪哇 < java\-\(programming\-language\);
+效忠 < vow\-loyalty\-and\-devotion\-to;
+亂作決定 < to\-make\-arbitrary\-decisions;
+採辦 < buy\-on\-a\-considerable\-scale;
+弟妹 < sister\-in\-law\-\(wife''s\-side\);
+陷於 < caught\-in\-\(a\-bad\-situation\);
+鵾 < a\-bird\-resembling\-the\-crane;
+外匯 < foreign\-\(currency\)\-exchange;
+大器晚成 < grand\-talents\-mature\-slowly;
+摘由 < high\-points\-\(of\-a\-document\);
+鮨 < epinephelus\-septemfasciatus;
+飦 < well\-boiled\-congee\-or\-gruel;
+雊 < the\-crow\-of\-a\-male\-pheasant;
+隺 < a\-bird\-flying\-high\-ambition;
+背包袱 < have\-a\-weight\-on\-one''s\-mind;
+按步就班 < follow\-the\-prescribed\-order;
+外交部長 < minister\-of\-foreign\-affairs;
+醱 < to\-brew\-for\-the\-second\-time;
+酖 < wine\-with\-bird\-poison\-added;
+百尺杆頭更盡一步 < make\-still\-further\-progress;
+鄿 < county\-in\-xinjiang\-province;
+鄍 < a\-town\-in\-shandong\-province;
+蹚 < tread\-through\-mud\-and\-water;
+中央情報局 < central\-intelligence\-agency;
+側躺 < to\-lie\-down\-\(on\-one''s\-side\);
+報戶口 < apply\-for\-a\-resident\-permit;
+褘 < ceremonial\-gowns\-of\-a\-queen;
+蟰 < small\-spider\-with\-long\-legs;
+蛕 < the\-common\-intestinal\-worms;
+服務提供商 < \(internet\)\-service\-provider;
+搜捕 < hunt\-and\-arrest\-\(fugitives\);
+揹書 < recite\-a\-lesson\-from\-memory;
+幸免 < narrowly\-and\-luckily\-escape;
+不登大雅之堂 < not\-appeal\-to\-refined\-taste;
+肷 < area\-between\-waist\-and\-hips;
+舉世矚目 < attract\-worldwide\-attention;
+獨斷專行 < act\-in\-an\-arbitrary\-fashion;
+籄 < a\-basket\-for\-carrying\-earth;
+國際級 < \(at\-an\)\-international\-level;
+筎 < thin\-outside\-skin\-of\-bamboo;
+瞤 < to\-blink\-or\-twitch\-the\-eyes;
+管理信息庫 < management\-information\-base;
+華盛頓郵報 < washington\-post\-\(newspaper\);
+國標 < guobiao\-\(encoding\-standard\);
+便血 < having\-blood\-in\-one''s\-stool;
+淠 < luxuriant\-\(of\-water\-plants\);
+浰 < attend\-\(official\-functions\);
+病機 < interpretation\-of\-the\-cause;
+泑 < the\-vitreous\-glaze\-on\-china;
+殨 < to\-open\-as\-an\-ulcer\-or\-sore;
+才華 < literary\-or\-artistic\-talent;
+指法 < finger\-method\-\(in\-painting\);
+寶藏 < precious\-\(mineral\)\-deposits;
+提前 < to\-shift\-to\-an\-earlier\-date;
+輩出 < come\-forth\-in\-large\-numbers;
+枏 < a\-variety\-of\-evergreen\-tree;
+板鴨 < pressed\-\(dried\)\-salted\-duck;
+拔海 < elevation\-\(above\-sea\-level\);
+願意不願意 < whether\-one\-wants\-to\-or\-not;
+吃不來 < not\-be\-fond\-of\-certain\-food;
+搇 < to\-press\-down\-with\-the\-hand;
+據報導 < according\-to\-\(news\)\-reports;
+超文件傳輸協定 < hypertext\-transfer\-protocol;
+弸 < a\-bow\-stretched\-to\-the\-full;
+巠 < streams\-running\-underground;
+崙 < kunlun\-mountains\-in\-jiangsu;
+倫敦 < london\-\(capital\-of\-england\);
+堳 < land\-allotment\-feudal\-noble;
+北京語言學院 < beijing\-languages\-institute;
+噕 < to\-speak\-falsely\-or\-wrongly;
+條款 < clause\-\(of\-contract\-or\-law\);
+病例 < \[medical\]\-case\-\[of\-illness\];
+器官 < organ\-\(part\-of\-body\-tissue\);
+丩 < to\-join\-or\-connect\-the\-vine;
+丒 < the\-period\-from\-1\-to\-3\-a\.m\.;
+䵅 < to\-extract\-by\-applying\-heat;
+䴳 < distiller''s\-grains\-or\-yeast;
+䳞 < birds\-flying\-all\-directions;
+䳊 < a\-wild\-duck\-like\-water\-bird;
+䳃 < a\-kind\-of\-phoenix\-like\-bird;
+䪷 < to\-toil\-or\-labor\-sedulously;
+䪇 < cushioned\-seat\-on\-a\-vehicle;
+䩿 < a\-big\-drum\-used\-in\-the\-army;
+䧘 < a\-low\-wall\-on\-the\-road\-side;
+䦲 < eaves\-of\-a\-ancestral\-temple;
+䤻 < heavy\-iron\-part\-of\-a\-plough;
+䣲 < to\-heat\-the\-wine\-over\-night;
+䢯 < to\-choose\-or\-select\-careful;
+䠋 < bell\-shaped\-with\-large\-base;
+䟮 < to\-crawl\-on\-hands\-and\-knees;
+䜸 < small\-pieces\-of\-bean\-stalks;
+䜇 < to\-speak\-not\-in\-a\-clear\-way;
+班級 < classes\-or\-grades\-in\-school;
+䚣 < crooked\-horns\-of\-the\-animal;
+䚜 < cattle\-with\-crosswise\-horns;
+䙣 < ragged\-garments\-or\-clothing;
+䙕 < clothes\-that\-have\-no\-lining;
+䙔 < clothes\-made\-of\-poor\-fabric;
+䙓 < the\-lower\-part\-of\-a\-garment;
+䘥 < the\-front\-of\-a\-chinese\-gown;
+䘁 < a\-blue\-green\-colored\-cicada;
+䗵 < a\-disease\-attacked\-silkworm;
+䕮 < flower\-of\-the\-chrysanthemum;
+䔥 < common\-variety\-of\-artemisia;
+䔟 < shake\-and\-wave\-of\-the\-grass;
+病毒學 < virology\-\(study\-of\-viruses\);
+䐼 < thin\-membrane\-of\-the\-throat;
+䐯 < ugly\-appearance\-of\-a\-person;
+䐑 < thin\-cut\-of\-the\-sliced\-meat;
+䍺 < a\-legendary\-goat\-like\-beast;
+䌼 < a\-kind\-of\-fine\-silk\-fabrics;
+䌄 < a\-rope\-for\-drawing\-up\-water;
+私人鑰匙 < private\-key\-\(in\-encryption\);
+䊞 < to\-roll\-round\-with\-the\-hand;
+䉺 < deteriorated\-and\-become\-red;
+䉹 < name\-of\-a\-variety\-of\-bamboo;
+䉸 < slips\-of\-bamboo\-for\-writing;
+䈲 < a\-bamboo\-basket\-for\-fishing;
+䇺 < beans\-and\-peas\-collectively;
+䇵 < one\-of\-the\-wind\-instruments;
+憲法 < constitution\-\(of\-a\-country\);
+䅪 < disease\-of\-the\-private\-part;
+䄰 < forty\-bundles\-of\-rice\-plant;
+䃇 < ink\-for\-imprinting\-of\-seals;
+䀑 < to\-gouge\-out\-an\-eye\-or\-eyes;
+㽎 < the\-profundity\-of\-the\-harem;
+㼠 < a\-crock\-with\-narrow\-opening;
+㺬 < a\-large\-piece\-of\-jade\-stone;
+㺒 < barking\-of\-a\-frightened\-dog;
+不諱 < without\-concealing\-anything;
+㹖 < to\-feed\-animals\-with\-grains;
+㸒 < to\-absurd\-pursuit\-or\-desire;
+地址解析協議 < address\-resolution\-protocol;
+㮀 < tool\-to\-clear\-out\-the\-water;
+㭕 < a\-board\-for\-carrying\-things;
+㩆 < to\-be\-in\-full\-possession\-of;
+而不需 < without\-needing\-\(to\-so\-sth\);
+㧕 < to\-feel\-or\-touch\-with\-hands;
+㧂 < a\-cave\-a\-hold\-in\-the\-ground;
+㦐 < a\-straightforward\-character;
+安插 < place\-in\-a\-certain\-position;
+㥴 < do\-not\-care\-about\-something;
+交換機 < switch\-\(telecommunications\);
+駱 < white\-horse\-with\-black\-mane;
+㡵 < roof\-of\-the\-house\-connected;
+㠟 < a\-mountain\-in\-ancient\-times;
+古蹟 < places\-of\-historic\-interest;
+㛽 < to\-walk\-slowly\-like\-a\-woman;
+㛮 < wife\-of\-one''s\-elder\-brother;
+㓈 < sound\-of\-flying\-or\-speeding;
+㒫 < choked\-and\-unable\-to\-breath;
+㒖 < the\-root\-stock\-of\-the\-lotus;
+氣體 < gas\-\(ie\,\-gaseous\-substance\);
+大陸話 < mainland\-chinese\-\(language\);
+孫子 < grandson\-\(son\-of\-one''s\-son\);
+奔騰 < \(of\-waves\)\-to\-surge\-forward;
+卻之不恭 < to\-refuse\-would\-be\-impolite;
+交換器 < \(telecom\-or\-network\)\-switch;
+通訊社 < a\-news\-service\-\(eg\,\-xinhua\);
+郵電 < post\-and\-telecommunications;
+問候 < give\-someone\-one''s\-respects;
+祖父 < grandfather\-\(father''s\-side\);
+愛好者 < lover\-\(of\-art\,\-sports\,\-etc\);
+決策 < \(make\-a\)\-strategic\-decision;
+祖母 < grandmother\-\(father''s\-side\);
+國際貨幣基金組織 < international\-monetary\-fund;
+馬太福音 < gospel\-according\-to\-matthew;
+針灸 < acupuncture\-and\-moxibustion;
+電話會議 < \(telephone\)\-conference\-call;
+一旦 < in\-case\-\(something\-happens\);
+壽辰 < birthday\-\(of\-an\-old\-person\);
+不落窠臼 < not\-follow\-the\-beaten\-track;
+按照計劃 < according\-to\-\(the\)\-plan\-\.\.\.;
+公安部 < ministry\-of\-public\-security;
+抱不平 < be\-outraged\-by\-an\-injustice;
+事情要做 < thing\-that\-needs\-to\-be\-done;
+復甦 < recovery\-\(health\,\-economic\);
+時期 < a\-period\-in\-time\-or\-history;
+各地 < in\-all\-parts\-of\-\(a\-country\);
+男子漢 < man\-\(i\.e\.\-manly\,\-masculine\);
+畦 < sections\-in\-vegetable\-farm;
+町 < raised\-path\-between\-fields;
+囁 < move\-lips\-as\-when\-speaking;
+伦 < normal\-human\-relationships;
+嘛 < final\-exclamatory\-particle;
+萨 < buddhist\-gods\-or\-immortals;
+桐 < name\-applied\-various\-trees;
+蒂 < peduncle\-or\-stem\-of\-plants;
+紺 < dark\-blue\-or\-reddish\-color;
+棵 < numerary\-adjunct\-for\-trees;
+憋 < to\-suppress\-inner\-feelings;
+孜 < be\-as\-diligent\-as\-possible;
+粱 < better\-varieties\-of\-millet;
+峒 < mountain\-in\-gansu\-province;
+榨 < to\-press\-or\-extract\-juices;
+鄱 < county\-and\-lake\-in\-jiangxi;
+菠 < spinach\-and\-similar\-greens;
+淞 < name\-of\-a\-river\-in\-jiangsu;
+淄 < river\-in\-shandong\-province;
+悱 < to\-be\-desirous\-of\-speaking;
+漯 < river\-in\-northern\-shandong;
+蕙 < species\-of\-fragrant\-orchid;
+滁 < district\-in\-anhui\-province;
+狁 < a\-tribe\-of\-scythian\-nomads;
+酢 < toast\-one''s\-host\-with\-wine;
+衿 < collar\-or\-lapel\-of\-garment;
+嶝 < path\-leading\-up\-a\-mountain;
+旃 < silk\-banner\-with\-bent\-pole;
+齑 < break\-or\-smash\-into\-pieces;
+脘 < internal\-cavity\-of\-stomach;
+镒 < measure\-of\-weight\-for\-gold;
+眭 < evil\-look\-of\-deep\-set\-eyes;
+锖 < the\-color\-of\-the\-a\-mineral;
+邙 < mountain\-in\-henan\-province;
+敫 < ancient\-musical\-instrument;
+萑 < grass\-used\-for\-making\-mats;
+觯 < wine\-goblet\-made\-from\-horn;
+舣 < to\-moor\-a\-boat\-to\-the\-bank;
+碑文 < an\-inscription\-on\-a\-tablet;
+巴兒狗 < pekingese\-\(a\-breed\-of\-dog\);
+一路平安 < to\-have\-a\-pleasant\-journey;
+紐約時報 < new\-york\-times\-\(newspaper\);
+台北 < taipei\-\(capital\-of\-taiwan\);
+常問問題 < frequently\-asked\-questions;
+百孔千瘡 < riddled\-with\-gaping\-wounds;
+兵連禍結 < ravaged\-by\-successive\-wars;
+河內 < hanoi\-\(capital\-of\-vietnam\);
+量力 < to\-estimate\-one''s\-strength;
+本地管理界面 < local\-management\-interface;
+長期以來 < ever\-since\-a\-long\-time\-ago;
+存車處 < parking\-lot\-\(for\-bicycles\);
+斡旋 < mediate\-\(a\-conflict\,\-etc\.\);
+發展核武器 < to\-develop\-nuclear\-weapons;
+安家落戶 < make\-one''s\-home\-in\-a\-place;
+入木三分 < written\-in\-a\-forceful\-hand;
+牌匾 < board\-\(attached\-to\-a\-wall\);
+動手 < to\-hit\-with\-hands\-or\-fists;
+鼻牛兒 < hardened\-mucus\-in\-nostrils;
+步月 < to\-stroll\-beneath\-the\-moon;
+異步傳輸模式 < asynchronous\-transfer\-mode;
+誓師 < to\-vow\-before\-one''s\-troops;
+部委 < ministries\-and\-commissions;
+難怪 < \(it''s\)\-no\-wonder\-\(that\.\.\.\);
+凍結 < \(loan\,\-wage\,\-price\)\-freeze;
+施加 < exert\-\(effort\-or\-pressure\);
+視窗 < windows\-\(operating\-system\);
+巨著 < monumental\-\(literary\)\-work;
+分時多工 < time\-division\-multiplexing;
+募化 < to\-collect\-alms\-\(buddhism\);
+根深蒂固 < deep\-rooted\-\(problem\,\-etc\);
+叛變的省份 < renegade\-province\-\(taiwan\);
+部下 < troops\-under\-one''s\-command;
+馵 < horse\-with\-white\-back\-legs;
+飣 < display\-food\-for\-show\-only;
+星島日報 < sing\-tao\-daily\-\(newspaper\);
+闒 < upper\-story\-door\-or\-window;
+全程 < \(during\-an\)\-entire\-journey;
+長篇 < lengthy\-\(report\-or\-speech\);
+電腦輔助教材 < computer\-aided\-instruction;
+西湖 < the\-west\-lake\,\-in\-hangzhou;
+客戶機服務器環境 < client\-server\-environement;
+銁 < a\-weight\-of\-thirty\-cattics;
+醊 < to\-pour\-wine\-in\-a\-libation;
+郿 < county\-in\-shaanxi\-province;
+郳 < state\-in\-shandong\-province;
+郠 < place\-in\-shandong\-province;
+郚 < towns\-in\-shandong\-province;
+輤 < a\-pall\-to\-cover\-the\-hearse;
+撥弄 < move\-to\-and\-fro\-\(with\-hand;
+表記 < something\-given\-as\-a\-token;
+踒 < to\-slip\-and\-sprain\-a\-blimb;
+表裡 < the\-outside\-and\-the\-inside;
+覐 < a\-sleep\-to\-realize\-to\-feel;
+桃花運 < luck\-with\-the\-opposite\-sex;
+電信服務 < telecommunications\-service;
+逼債 < press\-for\-payment\-of\-debts;
+公開鑰匙 < public\-key\-\(in\-encryption\);
+虡 < support\-structure\-for\-bell;
+薾 < luxuriant\-growth\-of\-flower;
+弗塞奇 < versace\-\(fashion\-designer\);
+茈 < a\-plant\-yielding\-a\-red\-dye;
+普通話 < mandarin\-\(common\-language\);
+電信網路 < telecommunications\-network;
+膆 < the\-corp\-of\-a\-bird\-or\-fowl;
+電腦輔助工程 < computer\-aided\-engineering;
+感染人數 < number\-of\-infected\-persons;
+筆鋒 < the\-tip\-of\-a\-writing\-brush;
+報刊 < newspapers\-and\-periodicals;
+百步穿楊 < shoot\-with\-great\-precision;
+罭 < drag\-net\-made\-of\-fine\-mesh;
+罏 < earthen\-stand\-for\-wine\-jug;
+罍 < large\-earthenware\-wine\-jar;
+演講 < \(give\)\-a\-speech\-or\-lecture;
+繸 < hem\-or\-border\-of\-a\-garment;
+國父 < father\|founder\-of\-a\-nation;
+篟 < luxuriant\-growth\-of\-bamboo;
+依靠 < rely\-on\-\(for\-support\,\-etc\);
+所長 < head\-of\-an\-institute\,\-etc\.;
+窆 < to\-put\-a\-coffin\-in\-a\-grave;
+祲 < ominous\-or\-sinister\-spirit;
+幾年來 < for\-the\-past\-several\-years;
+若干 < a\-certain\-number\|amount\-of;
+癕 < loss\-of\-the\-sense\-of\-smell;
+頤和園 < summer\-palace\-\(in\-beijing\);
+競選 < run\-for\-\(electoral\)\-office;
+搶先 < to\-rush\-\(to\-do\-sth\-urgent\);
+珛 < quickly\-deteriorating\-jade;
+停留 < stay\-somewhere\-temporarily;
+澷 < water\-overflowing\-diffused;
+出現意外 < \(to\-appear\)\-unexpected\(ly\);
+毩 < a\-leather\-ball\-for\-kicking;
+病株 < diseased\-or\-infected\-plant;
+俗稱 < be\-commonly\-referred\-to\-as;
+揹 < carry\-things\-on\-one''s\-back;
+揁 < sound\-of\-setting\-up\-a\-koto;
+一觸即發 < could\-happen\-at\-any\-moment;
+行將 < be\-about\-to\-\(do\-something\);
+足球 < football\-\(british\-english\);
+纖芯直徑 < core\-diameter\-\(of\-a\-fiber\);
+媧 < mythological\-snail\-goddess;
+背脊 < the\-back\-of\-the\-human\-body;
+囉 < exclamatory\-final\-particle;
+客戶服務器結構 < client\-server\-architecture;
+嘷 < the\-roaring\-of\-wild\-beasts;
+進行交易 < to\-carry\-out\-a\-transaction;
+抗擊 < resist\-\(a\-military\-attack\);
+剞 < carving\-or\-engraving\-knife;
+馬來人 < malaysian\-person\-or\-people;
+冏 < abutilon\-avicennae\-\(plant\);
+別出心裁 < adopt\-an\-original\-approach;
+尋機 < to\-look\-for\-an\-opportunity;
+乫 < used\-in\-korean\-place\-names;
+實況 < what\-is\-actually\-happening;
+䵆 < grains\-from\-the\-distillery;
+䲯 < a\-kind\-of\-black\-small\-bird;
+䯓 < the\-head\-bone\-of\-livestock;
+䮶 < flock\-of\-horses\-stampeding;
+䮣 < a\-yellow\-with\-a\-white\-tail;
+媒體接口連接器 < medium\-interface\-connector;
+底特律 < detroit\-\(a\-city\-in\-the\-us\);
+䬱 < coarse\-grains\-such\-as\-corn;
+中國科學院 < chinese\-acadamy\-of\-science;
+䩲 < a\-tool\-used\-to\-cut\-leather;
+䩚 < to\-mend\-the\-soles\-of\-shoes;
+百發百中 < every\-shot\-hits\-the\-target;
+丁雲 < ding\-yun\-\(a\-personal\-name\);
+虛擬通道連接 < virtual\-channel\-connection;
+䡦 < the\-empty\-space\-of\-a\-wheel;
+案板 < kneading\-or\-chopping\-board;
+䠉 < to\-run\-away\-or\-escape\-from;
+䞑 < a\-red\-swelling\-of\-the\-skin;
+保守 < \(politically\)\-conservative;
+䛯 < the\-reasonable\-of\-speeking;
+䖅 < name\-of\-a\-variety\-of\-grass;
+䔅 < name\-of\-a\-variety\-of\-trees;
+䒱 < twigs\-of\-hemp\-used\-fo\-fuel;
+䎷 < an\-old\-man\-with\-white\-hair;
+不送 < don''t\-bother\-to\-see\-me\-out;
+䌠 < hold\-on\-to\-one''s\-own\-views;
+面嚮對象的技術 < object\-oriented\-technology;
+神道 < shinto\-\(japanese\-religion\);
+䋀 < shoes\-made\-of\-hemp\-or\-hair;
+䊮 < name\-of\-a\-variety\-of\-grain;
+䉂 < a\-basket\-for\-earth\-or\-soil;
+䇖 < rope\-made\-of\-bamboo\-strips;
+䆀 < to\-corrupt\-or\-be\-corrupted;
+䅾 < starting\-to\-put\-forth\-ears;
+䅬 < small\-bundle\-of\-rice\-plant;
+將就 < accept\-\(a\-bit\-reluctantly\);
+不亢不卑 < neither\-haughty\-nor\-humble;
+䁎 < to\-make\-a\-close\-inspection;
+䀊 < a\-kind\-of\-water\-containers;
+懷抱 < \(within\-someone''s\)\-embrace;
+㼩 < concave\-channels\-of\-tiling;
+用戶端設備 < customer\-premise\-equipment;
+情況下 < under\-\(this\)\-circumstances;
+㺠 < a\-black\-ape\-with\-long\-tail;
+㺕 < the\-fighting\-sound\-of\-dogs;
+㹚 < sound\-of\-calling\-to\-a\-calf;
+㷶 < to\-dry\-or\-warm\-near\-a\-fire;
+溫哥華 < vancouver\-\(city\-in\-canada\);
+㷃 < fire\-burns\-for\-a\-long\-time;
+㴔 < the\-noise\-of\-flowing\-water;
+㴋 < deep\-and\-clear\-\-to\-urinate;
+㳧 < the\-water\-flowing\-from\-\.\.\.;
+㱽 < to\-hit\-or\-to\-strikeheavily;
+㱻 < diseases\-of\-dumb\-creatures;
+㱡 < the\-soul\-out\-of\-one''s\-body;
+㱔 < a\-small\-quantity\-or\-number;
+㯟 < foot\-of\-a\-hill\-or\-mountain;
+㭮 < a\-kind\-of\-liquor\-container;
+右邊 < right\-\(as\-opposed\-to\-left\);
+不等價交換 < exchange\-of\-unequal\-values;
+白頭翁 < root\-of\-chinese\-pulsatilla;
+兀 < duplicate\-of\-big\-five\-a461;
+白壁無瑕 < impeccable\-moral\-integrity;
+㦃 < perfect\-personal\-character;
+社論 < editorial\-\(in\-a\-newspaper\);
+家常 < the\-daily\-life\-of\-a\-family;
+㥍 < to\-bear\-jealous\-hatred\-for;
+㤬 < full\-of\-anger\-and\-vexation;
+㤎 < a\-model\-or\-typical\-example;
+㤄 < raging\-animosity\-or\-hatred;
+㣧 < the\-succession\-in\-a\-family;
+㣣 < to\-walk\-in\-an\-unsteady\-way;
+㢸 < device\-for\-regulating\-bows;
+㢒 < an\-almost\-collapsing\-house;
+書聖 < a\-great\-calligraphy\-master;
+㜪 < name\-of\-a\-family\-or\-a\-clan;
+㜕 < relatives\-through\-marriage;
+㛲 < the\-hair\-on\-the\-human\-head;
+㚿 < a\-goddess''s\-name\-in\-legend;
+㙡 < a\-kind\-of\-eatable\-mushroom;
+㘹 < to\-spread\-soil\-on\-the\-road;
+中文版 < chinese\-\(language\)\-version;
+㘤 < circle\-of\-the\-moving\-water;
+㖨 < indistinct\-nasal\-utterance;
+㒽 < a\-kind\-of\-cap\-for\-children;
+高中生 < senior\-high\-school\-student;
+㐖 < a\-translated\-name\-of\-india;
+資本 < capital\-\(as\-in\-capitalism\);
+板羽球 < battledore\-and\-shuttlecock;
+風琴 < organ\-\(musical\-instrument\);
+字帖 < copybook\-\(for\-calligraphy\);
+敗子回頭 < return\-of\-the\-prodigal\-son;
+訪問美國 < to\-visit\-the\-united\-states;
+不失時機 < seize\-the\-opportune\-moment;
+安分 < not\-go\-beyond\-one''s\-bounds;
+暗笑 < laugh\-in\-\(up\)\-one''s\-sleeve;
+導彈潛艇 < \(guided\)\-missile\-submarine;
+美玲 < mei\-ling\-\(a\-person''s\-name\);
+碧血 < blood\-shed\-in\-a\-just\-cause;
+參兩院 < both\-houses\-of\-us\-congress;
+洪森 < hun\-sen\-\(cambodian\-leader\);
+稟告 < report\-\(to\-one''s\-superior\);
+遺體 < remains\-\(of\-a\-dead\-person\);
+避風 < take\-shelter\-from\-the\-wind;
+福建 < fujian\-\(province\-of\-china\);
+安如泰山 < as\-secure\-as\-mount\-taishan;
+勘誤 < to\-correct\-printing\-errors;
+升級 < to\-escalate\-\(in\-intensity\);
+強調 < to\-emphasize\-\(a\-statement\);
+而且 < not\-only\-\.\.\.\-but\-also\-\.\.\.\.;
+遷都 < to\-move\-the\-capitol\-\(city\);
+不義之財 < ill\-gotten\-wealth\-or\-gains;
+重要的是 < it\-is\-important\-\(that\)\-\.\.\.;
+不但 < not\-only\-\(\.\.\.\-but\-also\.\.\.\);
+包產 < make\-a\-production\-contract;
+癟螺痧 < cholera\-\(with\-dehydration\);
+届 < numerary\-adjunct\-for\-time;
+谁 < who\?\-whom\?\-whose\?\-anyone\?;
+阿 < prefix\-for\-people''s\-names;
+莢 < pods\-of\-leguminous\-plants;
+狄 < tribe\-from\-northern\-china;
+繰 < to\-reel\-silk\-from\-cocoons;
+漓 < river\-in\-guangxi\-province;
+咋 < question\-forming\-particle;
+麟 < female\-of\-chinese\-unicorn;
+渭 < name\-of\-a\-river\-in\-shanxi;
+芜 < luxurious\-growth\-of\-weeds;
+绎 < to\-unravel\-or\-unreel\-silk;
+璐 < beautiful\-variety\-of\-jade;
+韶 < music\-of\-the\-emperor\-shun;
+鬟 < dress\-hair\-in\-coiled\-knot;
+罂 < long\-necked\-jar\-or\-bottle;
+靳 < strap\-on\-a\-horse''s\-breast;
+淦 < river\-in\-jiangxi\-province;
+搡 < to\-push\-over\-or\-push\-back;
+艮 < seventh\-of\-eight\-diagrams;
+湟 < river\-in\-qinghai\-province;
+猱 < a\-monkey\-with\-yellow\-hair;
+涪 < river\-in\-sichuan\-province;
+亳 < name\-of\-district\-in\-anhui;
+蔺 < rush\-used\-for\-making\-mats;
+琬 < the\-virtue\-of\-a\-gentleman;
+猗 < exclamation\-of\-admiration;
+鼙 < drum\-carried\-on\-horseback;
+蕲 < variety\-of\-artemisia\-seek;
+瓞 < young\-melons\-just\-forming;
+辁 < cart\-wheel\-with\-no\-spokes;
+酆 < name\-of\-zhou\-period\-state;
+北朝 < the\-northern\-dynasties\-\(a;
+超文本標記語言 < hypertext\-markup\-language;
+永久虛電路 < permanent\-virtual\-circuit;
+包攬 < undertake\-the\-whole\-thing;
+勞教 < reeducation\-through\-labor;
+半場 < half\-of\-a\-game\-or\-contest;
+通信技術 < communications\-technology;
+發達 < developed\-\(country\,\-etc\.\);
+塞爾維亞克羅地亞語 < serbo\-croatian\-\(language\);
+瀉露 < to\-leak\-out\-\(information\);
+歲數 < age\-\(number\-of\-years\-old\);
+外匯儲備 < foreign\-exchange\-reserves;
+開設 < offer\-\(goods\-or\-services\);
+廣東 < guangdong\-province\,\-china;
+放心 < to\-set\-one''s\-mind\-at\-rest;
+魯迅 < name\-of\-an\-author\,\-lu\-xun;
+遙望 < to\-look\-into\-the\-distance;
+電子郵件傳送服務 < \(e\-\)mail\-delivery\-service;
+補足 < bring\-up\-to\-full\-strength;
+透通性 < transparency\-\(networking\);
+熬夜 < stay\-up\-late\-or\-all\-night;
+鰼 < the\-weather\-or\-dojo\-loach;
+體驗 < to\-experience\-for\-oneself;
+撕毀 < tear\-up\-\(a\-contract\,\-etc\);
+傾銷 < to\-dump\-\(goods\,\-products\);
+韔 < a\-wrapper\-or\-case\-for\-bow;
+看法 < way\-of\-looking\-at\-a\-thing;
+陗 < a\-steep\-hill\.\-precipitous;
+營業額 < sum\-or\-volume\-of\-business;
+鏾 < the\-trigger\-of\-a\-crossbow;
+關注 < follow\-\(an\-issue\)\-closely;
+鄠 < county\-in\-shanxi\-province;
+鄎 < a\-place\-in\-henan\-province;
+剝啄 < tap\-\(on\-a\-door\-or\-window\);
+辨析 < differentiate\-and\-analyse;
+不辭辛苦 < make\-nothing\-of\-hardships;
+程式理員 < program\-manager\-\(windows\);
+觷 < to\-process\-or\-carve\-horns;
+民主黨人 < a\-democratic\-party\-member;
+蝰 < vipera\-russelii\-siamensis;
+十億位元以太網絡聯盟 < gigabit\-ethernet\-alliance;
+葶 < draba\-nemerosa\-bebe\-carpa;
+芔 < a\-general\-term\-for\-plants;
+膥 < eggs\-of\-birds\-or\-reptiles;
+三十年來 < for\-the\-past\-thirty\-years;
+技術發展 < technological\-development;
+國產 < made\-in\-one''s\-own\-country;
+高等學校 < colleges\-and\-universities;
+白族 < the\-bai\-\(pai\)\-nationality;
+纑 < to\-soften\-hemp\-by\-boiling;
+原因很簡單 < the\-reason\-is\-very\-simple;
+籩 < bamboo\-container\-for\-food;
+籝 < a\-tube\-to\-hold\-chopsticks;
+康涅狄格 < connecticut\-\(state\-in\-us\);
+笎 < bamboo\-with\-black\-patches;
+單連接站 < single\-attachment\-station;
+禘 < imperial\-ancestor\-worship;
+矮個兒 < a\-person\-of\-short\-stature;
+病癒 < recover\-\(from\-an\-illness\);
+礄 < place\-in\-sichuan\-province;
+寬限 < extend\-\(a\-deadline\,\-etc\.\);
+璪 < pearl\-pendants\-on\-coronet;
+瑽 < tinkling\-of\-jade\-pendants;
+猲 < smoke\-or\-flames\-from\-fire;
+符合標準 < to\-comply\-with\-a\-standard;
+示威遊行 < a\-\(protest\)\-demonstration;
+泜 < a\-river\-in\-hebei\-province;
+泒 < a\-river\-in\-hubei\-province;
+汭 < confluence\-of\-two\-streams;
+櫽 < shape\-wood\-by\-use\-of\-heat;
+晬 < first\-birthday\-of\-a\-child;
+表態 < make\-known\-one''s\-position;
+宣誓 < swear\-an\-oath\-\(of\-office\);
+大敵當前 < confront\-a\-powerful\-enemy;
+悊 < wise\.\-to\-know\-intuitively;
+拜望 < call\-to\-pay\-one''s\-respect;
+彍 < to\-draw\-a\-bow\-to\-the\-full;
+核大國 < a\-nuclear\-power\-\(country\);
+庅 < an\-interrogative\-particle;
+研製過程 < manufacturing\-environment;
+篇幅 < \(take\-up\-or\-devote\)\-space;
+反唇相譏 < answer\-back\-sarcastically;
+核轟炸機 < nuclear\-bomber\-\(aircraft\);
+希臘語 < \(modern\)\-greek\-\(language\);
+首相 < \(japanese\)\-prime\-minister;
+時間內 < within\-\(a\-period\-of\-time\);
+網絡管理系統 < network\-management\-system;
+把式 < person\-skilled\-in\-a\-trade;
+䵵 < yellowish\-black\-and\-white;
+䵫 < light\-red\-yellowish\-black;
+䴛 < to\-make\-decoction\-of\-salt;
+䳷 < a\-second\-name\-for\-chicken;
+䳆 < a\-kind\-of\-species\-of\-myna;
+䰂 < a\-coiffure\-with\-a\-topknot;
+䮕 < horse\-with\-white\-forehead;
+䭨 < wine\-poured\-in\-a\-libation;
+䫀 < the\-lower\-end\-of\-the\-jaws;
+䩝 < to\-tan\-and\-soften\-leather;
+不得人心 < not\-enjoy\-popular\-support;
+淘籮 < basket\-\(for\-washing\-rice\);
+䤂 < a\-second\-name\-for\-vinegar;
+甥女 < niece\-\(sister''s\-daughter\);
+䣴 < to\-lose\-temper\-when\-drunk;
+䣆 < name\-of\-a\-county\-in\-gaomi;
+䢲 < to\-go\-all\-the\-way\-forward;
+䢮 < rapid\-marching\-or\-running;
+䢡 < to\-stamp\-the\-foot\-forward;
+䡹 < the\-low\-rear\-of\-a\-chariot;
+䡯 < sound\-of\-moving\-carriages;
+䡡 < to\-get\-up\-into\-a\-carriage;
+直言不諱 < speak\-frankly\-and\-bluntly;
+景山公園 < name\-of\-a\-park\-in\-beijing;
+䘸 < the\-lower\-front\-of\-a\-robe;
+䘒 < boy''s\-reproductive\-organs;
+䕄 < meat\-in\-the\-form\-of\-paste;
+䓋 < elm\-seeds\-\-\-\-used\-as\-food;
+䑢 < a\-knife\-shaped\-small\-boat;
+䑈 < meat\-to\-offer\-for\-worship;
+漢人 < han\-chinese\-person\|people;
+䍯 < gaot\-with\-different\-horns;
+䍢 < netted\-veined\-window\-sill;
+䋟 < the\-weight\-on\-a\-steelyard;
+䊶 < a\-rope\-for\-leading\-cattle;
+世界衛生組織 < world\-health\-organization;
+伺機 < to\-watch\-for\-one''s\-chance;
+䉗 < a\-receptacle\-or\-container;
+䄸 < grains\-producing\-no\-fruit;
+䄒 < ripening\-of\-paddy\-or\-rice;
+䃁 < uneven\-or\-rugged\-terrains;
+䁔 < big\-eyes\-protuberant\-eyes;
+㿰 < durable\-and\-solid\-leather;
+頸部 < the\-neck\-area\-of\-the\-body;
+㿂 < obstraction\-of\-the\-bowels;
+㾵 < a\-dark\-colored\-birth\-mark;
+㾜 < weak\-breath\-of\-a\-sick\-man;
+㽾 < a\-kind\-of\-woman''s\-disease;
+通訊自動化 < communications\-automation;
+㸲 < a\-kind\-of\-mountain\-cattle;
+㷯 < smoke\-and\-dust\-everywhere;
+㶺 < the\-light\-or\-glow\-of\-fire;
+㵽 < the\-strength\-of\-a\-current;
+㱥 < the\-evil\-spirits\-come\-out;
+㰦 < to\-breath\-with\-mouth\-open;
+㰔 < a\-kind\-of\-edible\-mushroom;
+㰎 < a\-wooden\-pestle\-or\-rammer;
+㭛 < a\-kind\-of\-climbing\-plants;
+㩠 < a\-fierce\-or\-bloody\-battle;
+㦛 < to\-walk\-in\-a\-composed\-way;
+面臨困難 < to\-be\-faced\-with\-problems;
+背影 < a\-view\-of\-somebody''s\-back;
+㠝 < lofty\-and\-steep\-mountains;
+㠐 < high\-and\-pointed\-mountain;
+㞚 < to\-pile\-up\-layer\-by\-layer;
+㜯 < a\-word\-to\-designate\-woman;
+㜮 < to\-go\-beyond\-normal\-limit;
+不務正業 < not\-engage\-in\-honest\-work;
+㚓 < tie\-beams\-of\-a\-small\-boat;
+狡賴 < to\-deny\-\(through\-sophism\);
+㘌 < to\-laugh\-without\-stopping;
+㗦 < a\-loud\-and\-confused\-noise;
+㗚 < vexingly\-verbose\-or\-wordy;
+㗕 < the\-crowing\-of\-a\-pheasant;
+㖄 < sound\-of\-calling\-chickens;
+㕚 < claws\-of\-birds\-or\-animals;
+愛理不理 < look\-cold\-and\-indifferent;
+㐳 < high\-and\-level\-on\-the\-top;
+變賣 < sell\-off\-\(one''s\-property\);
+下工夫 < to\-put\-in\-time\-and\-energy;
+決賽 < finals\-\(of\-a\-competition\);
+板書 < writing\-on\-the\-blackboard;
+珀斯 < perth\-\(city\-in\-australia\);
+改善通訊 < to\-improve\-communications;
+總參謀長 < \(military\)\-chief\-of\-staff;
+愛憐 < show\-tender\-affection\-for;
+暴漲 < rise\-suddenly\-and\-sharply;
+錄共 < to\-take\-down\-a\-confession;
+本家 < a\-member\-of\-the\-same\-clan;
+面臨 < be\-faced\-with\-\(a\-problem\);
+背信棄義 < break\-faith\-with\-somebody;
+值得注意的是 < it''s\-worth\-noting\-that\.\.\.;
+跨國公司 < transnational\-corporation;
+日本人 < japanese\-person\-or\-people;
+共和黨人 < a\-republican\-party\-member;
+池湯 < large\-pool\-in\-a\-bathhouse;
+無限期 < unlimited\-\(time\)\-duration;
+獎勵 < reward\-\(as\-encouragement\);
+順差 < \(trade\-or\-budget\)\-surplus;
+環球定位系統 < global\-positioning\-system;
+初選 < \(us\)\-primaries\-\(election\);
+帕蘭卡 < palanka\-\(a\-personal\-name\);
+報銷 < submit\-an\-expense\-account;
+蜀 < name\-of\-an\-ancient\-state;
+洛 < river\-in\-shanxi\-province;
+叔 < father''s\-younger\-brother;
+絹 < kind\-of\-thick\-stiff\-silk;
+罩 < basket\-for\-catching\-fish;
+夷 < ancient\-barbarian\-tribes;
+砰 < sound\-of\-crashing\-stones;
+哎 < interjection\-of\-surprise;
+朔 < first\-day\-of\-lunar\-month;
+揣 < put\-things\-under\-clothes;
+嵋 < omei\-mountain\-in\-sichuan;
+缉 < to\-sew\-in\-close\-stitches;
+噶 < used\-in\-transliterations;
+掰 < to\-break\-with\-both\-hands;
+霆 < a\-sudden\-peal\-of\-thunder;
+漳 < name\-of\-a\-river\-in\-henan;
+巳 < sixth\-of\-twelve\-branches;
+嗝 < cackling\-of\-fowls\-to\-gag;
+姘 < illicit\-sexual\-relations;
+霏 < falling\-of\-snow\-and\-rain;
+郸 < county\-in\-hebei\-province;
+呦 < the\-bleating\-of\-the\-deer;
+掮 < to\-bear\-on\-the\-shoulders;
+莆 < a\-kind\-of\-legendary\-tree;
+阡 < footpaths\-between\-fields;
+鸪 < species\-of\-taiwan\-pigeon;
+氐 < name\-of\-an\-ancient\-tribe;
+呤 < purine\-in\-chem\.\-compound;
+嬗 < succession\-to\-the\-throne;
+觏 < meet\-or\-see\-unexpectedly;
+濮 < county\-in\-henan\-province;
+郴 < county\-in\-hunan\-province;
+轾 < low\-rear\-portion\-of\-cart;
+稞 < grain\-ready\-for\-grinding;
+郧 < county\-in\-hubei\-province;
+蹼 < webbed\-feet\-of\-waterfowl;
+甑 < boiler\-for\-steaming\-rice;
+妗 < wife\-of\-mother''s\-brother;
+浠 < name\-of\-a\-river\-in\-hubei;
+鳔 < swimming\-bladder\-of\-fish;
+篌 < ancient\-music\-instrument;
+秕 < empty\-grain\-or\-rice\-husk;
+琚 < ornamental\-gems\-for\-belt;
+鲵 < cryptobranchus\-japonicus;
+艨 < long\-and\-narrow\-war\-boat;
+涑 < river\-in\-shansi\-province;
+雩 < offer\-sacrifice\-for\-rain;
+佾 < a\-row\-or\-file\-of\-dancers;
+缂 < the\-woof\-of\-a\-woven\-item;
+艴 < the\-countenance\-changing;
+滏 < name\-of\-a\-river\-in\-hebei;
+人民幣 < chinese\-unit\-of\-currency;
+馬可福音 < gospel\-according\-to\-mark;
+流氓罪 < the\-crime\-of\-hooliganism;
+城關 < area\-outside\-a\-city\-gate;
+錄音機 < \(tape\)\-recording\-machine;
+運算 < \(mathematical\)\-operation;
+州長 < governor\-\(of\-a\-us\-state\);
+每年一度 < once\-a\-year\-\(every\-year\);
+域名註冊 < domain\-name\-registration;
+代之以 < \(has\-been\)\-replaced\-with;
+部屬 < affiliated\-to\-a\-ministry;
+引擎 < engine\-\(transliteration\);
+兵貴神速 < speed\-is\-precious\-in\-war;
+變戲法 < perform\-conjuring\-tricks;
+多邊合作 < multilateral\-cooperation;
+發行額 < \(periodical\)\-circulation;
+登記 < to\-register\-\(one''s\-name\);
+十三日 < thirtieth\-day\-of\-a\-month;
+幀首定界符 < start\-of\-frame\-delimiter;
+投放市場 < to\-put\-sth\-on\-the\-market;
+機組 < flight\-crew\-\(on\-a\-plane\);
+鷞 < the\-turquoise\-kingfisher;
+下半身 < lower\-half\-of\-one''s\-body;
+鵁 < mycticorax\-prasinosceles;
+荒無人煙 < desolate\-and\-uninhabited;
+鮰 < a\-small\-kind\-of\-sturgeon;
+遼寧 < liaoning\-province\,\-china;
+髠 < shave\-head\-as\-punishment;
+騕 < name\-of\-a\-fabulous\-horse;
+照常 < \(business\,\-etc\)\-as\-usual;
+韂 < a\-saddle\-flap\.\-trappings;
+因特網提供商 < internet\-sevice\-provider;
+約翰福音 < gospel\-according\-to\-john;
+陴 < a\-parapet\-on\-a\-city\-wall;
+闤 < wall\-around\-market\-place;
+印歐語言 < indo\-european\-\(language\);
+撫摸 < gently\-caress\-and\-stroke;
+切斷 < cut\-off\-\(a\-supply\,\-etc\.\);
+網絡操作系統 < network\-operating\-system;
+習以為常 < be\-accustomed\-or\-used\-to;
+兵荒馬亂 < turmoil\-and\-chaos\-of\-war;
+建制 < organizational\-structure;
+不承認主義 < policy\-of\-nonrecognition;
+退役 < retire\-from\-the\-military;
+違反 < to\-violate\-\(a\-law\,\-e\.g\.\);
+幫廚 < help\-in\-the\-mess\-kitchen;
+不動聲色 < maintain\-one''s\-composure;
+浮點運算 < floating\-point\-operation;
+贑 < \<abbrv\>\-jiangxi\-province;
+補稅 < pay\-a\-tax\-one\-has\-evaded;
+訡 < to\-chant\-to\-moan\-to\-sigh;
+襲擊 < \(make\-a\)\-surprise\-attack;
+內政部長 < minister\-of\-the\-interior;
+白淨 < \(of\-skin\)\-fair\-and\-clear;
+蛁 < pomponia\-maculatiocollis;
+巡查 < to\-go\-around\-and\-inspect;
+蘀 < falling\-leaves\-and\-barks;
+藺 < rush\-used\-in\-making\-mats;
+兵書 < a\-book\-on\-the\-art\-of\-war;
+菴 < small\-buddhist\-monastery;
+鼻針療法 < nose\-acupuncture\-therapy;
+莔 < fritillaria\-verticillata;
+茼 < chrysanthemum\-coronarium;
+艥 < an\-oar\-or\-paddle\.\-to\-row;
+產銷 < production\-and\-marketing;
+膙 < callous\-skin\-on\-the\-feet;
+腜 < quickening\-of\-the\-foetus;
+肳 < the\-corners\-of\-the\-mouth;
+闌尾 < appendix\-\(in\-human\-body\);
+翛 < look\-of\-rumpled\-feathers;
+罝 < net\-for\-catching\-rabbits;
+幅員 < a\-country''s\-surface\-area;
+虛擬環境 < theorhetical\-environment;
+撥付 < appropriate\-sum\-of\-money;
+緌 < tassels\-hanging\-from\-hat;
+密切注意 < close\-attention\-\(to\-sth\);
+國營 < state\-run\-\(company\,\-etc\);
+圖像用戶介面 < graphical\-user\-interface;
+筸 < name\-of\-a\-place\-in\-honan;
+面嚮對象語言 < object\-oriented\-language;
+損失 < a\-\(financial\,\-etc\.\)\-loss;
+辦公 < handle\-official\-business;
+楊百翰大學 < brigham\-young\-university;
+璠 < a\-piece\-of\-precious\-jade;
+玶 < name\-of\-one\-kind\-of\-jade;
+獞 < name\-of\-a\-variety\-of\-dog;
+不拘一格 < not\-stick\-to\-one\-pattern;
+余震 < \(earthquake\)\-aftershocks;
+畚箕 < a\-bamboo\-or\-wicker\-scoop;
+灨 < the\-river\-gan\-in\-jiangxi;
+濲 < name\-of\-a\-river\-in\-hunan;
+完全懂得 < to\-understand\-completely;
+突顯 < make\-something\-stand\-out;
+不平則鳴 < where\-there\-is\-injustice;
+洧 < name\-of\-a\-river\-in\-honan;
+核不擴散 < nuclear\-nonproliferation;
+握力 < \(strength\-of\-one''s\)\-grip;
+樧 < zanthoxylum\-ailanthoides;
+榤 < perch\-for\-fowls\-roost\-on;
+內政部 < ministry\-of\-the\-interior;
+共同閘道介面 < common\-gateway\-interface;
+擺脫危機 < to\-break\-out\-of\-a\-crisis;
+栂 < a\-kind\-of\-evergreen\-tree;
+富布賴特 < fullbright\-\(scholarship\);
+旡 < choke\-on\-something\-eaten;
+馬裡 < mali\-\(name\-of\-a\-country\);
+撋 < to\-rub\-between\-the\-hands;
+病態 < morbid\-or\-abnormal\-state;
+控制 < to\-\(have\)\-control\-\(over\);
+撥亂反正 < bring\-order\-out\-of\-chaos;
+惌 < to\-bear\-a\-grudge\-against;
+佳能 < canon\-\(japanese\-company\);
+病家 < a\-patient\-and\-his\-family;
+疑惑 < \(a\-sense\-of\)\-uncertainty;
+崶 < name\-of\-a\-legendary\-hill;
+崁 < a\-place\-in\-taiwan\-tainan;
+尞 < fuel\-used\-for\-sacrifices;
+無黨派 < politically\-unaffiliated;
+打牌 < to\-play\-mahjong\-or\-cards;
+奞 < the\-stride\-made\-by\-a\-man;
+夗 < to\-turn\-over\-when\-asleep;
+變電站 < \(transformer\)\-substation;
+做客 < to\-be\-a\-guest\-or\-visitor;
+安第斯山 < the\-andes\-mountain\-range;
+凜 < shiver\-with\-cold\-or\-fear;
+僰 < ancient\-aboriginal\-tribe;
+百煉成鋼 < be\-tempered\-into\-a\-steel;
+行使 < exercise\-\(a\-right\,\-etc\.\);
+筆挺 < \(standing\)\-very\-straight;
+分佈式結構 < distributed\-architecture;
+安神 < calm\-\(soothe\)\-the\-nerves;
+聳肩 < to\-shrug\-one''s\-shoulders;
+亃 < name\-of\-a\-kind\-of\-animal;
+乺 < painting\-tool\-place\-name;
+乶 < korean\-place\-name\-pholha;
+䵂 < to\-grind\-wheat\-to\-powder;
+䲳 < birds\-flying\-up\-and\-down;
+國務次卿 < under\-secretary\-of\-state;
+䲛 < an\-ancient\-name\-for\-tuna;
+䲄 < a\-kind\-of\-fiish\-in\-ocean;
+䰍 < a\-kind\-of\-dark\-red\-paint;
+䰆 < beautiful\-and\-hairy\-mane;
+䯖 < the\-muscles\-of\-the\-thigh;
+半信半疑 < half\-believe\,\-half\-doubt;
+䬳 < cakes\-made\-of\-rice\-flour;
+䫯 < to\-take\-a\-casual\-look\-at;
+深空 < deep\-space\-\(outer\-space\);
+䪀 < known\-together\-as\-saddle;
+䨒 < sound\-of\-the\-water\-drops;
+唐納 < tanner\-\(english\-surname\);
+䦨 < a\-door\-curtain\-or\-screen;
+䤯 < container\-for\-thick\-soup;
+木乃伊 < mummy\-\(preserved\-corpse\);
+䡍 < the\-linch\-pin\-of\-a\-sheel;
+䟗 < to\-stand\-for\-a\-long\-time;
+䟃 < to\-move\-or\-march\-swiftly;
+䚶 < to\-scold\-in\-a\-loud\-voice;
+䙜 < legendary\-mountain\-deity;
+䙈 < a\-loose\-garment\-or\-cloak;
+䙇 < clothes\-of\-coarse\-fabric;
+䗂 < diemyctylus\-pyrrhogaster;
+䔣 < a\-tribe\-in\-ancient\-times;
+䓴 < edible\-fungus\-from\-trees;
+䑎 < soup\-of\-pig''s\-intestines;
+䐻 < big\-pieces\-of\-dried\-meat;
+䐹 < perserved\-and\-dried\-meat;
+䐰 < to\-offer\-food\-as\-tribute;
+外交部 < foreign\-affairs\-ministry;
+䐂 < fat\-of\-animals\-or\-plants;
+䎵 < to\-look\-straight\-forward;
+䊐 < fluffy\-stuffed\-dumplings;
+䊍 < thick\-congee\-or\-porridge;
+持不同政見 < \(politically\)\-dissenting;
+䇏 < to\-pile\-one\-upon\-another;
+䄜 < happiness\-and\-well\-being;
+䄖 < used\-in\-name\-of\-a\-person;
+䃢 < name\-of\-a\-mountain\-lofty;
+䁇 < to\-look\-for\-a\-short\-time;
+䀫 < narrow\-and\-dim\-eye\-sight;
+㿺 < jutting\-on\-the\-epidermis;
+呈請 < to\-submit\-\(to\-superiors\);
+㽒 < the\-children\-of\-a\-sister;
+㼿 < the\-brick\-wall\-of\-a\-well;
+㼛 < long\-necked\-wine\-vessels;
+㻪 < a\-kind\-of\-jade\-fine\-jade;
+㶅 < dried\-up\-mountain\-creeks;
+上訴 < appeal\-\(a\-judicial\-case\);
+㵢 < a\-marsh\-in\-ancient\-times;
+㴰 < a\-river\-in\-ancient\-times;
+懷念 < to\-cherish\-the\-memory\-of;
+㳍 < a\-place\-in\-ancient\-times;
+㳊 < the\-flowing\-of\-the\-water;
+㲊 < to\-understand\-thoroughly;
+㰾 < songs\-of\-the\-people\-of\-楚;
+㰽 < to\-exert\-oneself\-to\-yell;
+㯫 < a\-wattle\-or\-bamboo\-fence;
+㮦 < branches\-growing\-upwards;
+特點 < characteristic\-\(feature\);
+字母 < letter\-\(of\-the\-alphabet\);
+㪛 < to\-pound\-rocks\-to\-pieces;
+㪙 < to\-go\-to\-the\-very\-source;
+㩭 < to\-disturb\-or\-to\-agitate;
+拔火罐兒 < detachable\-stove\-chimney;
+同謀 < to\-conspire\-with\-someone;
+㡪 < the\-varnish\-on\-the\-floor;
+㡧 < to\-stretch\-open\-painting;
+㠇 < name\-of\-a\-mountain\-ridge;
+桃園 < taoyuan\-\(city\-in\-taiwan\);
+㜿 < name\-of\-a\-fish\-in\-legend;
+江面 < the\-surface\-of\-the\-river;
+㗩 < sound\-of\-endure\-coldness;
+㗧 < to\-scold\-with\-loud\-voice;
+古希臘語 < ancient\-greek\-\(language\);
+㓡 < the\-middle\-part\-of\-a\-bow;
+㐨 < a\-kind\-of\-fish\-in\-legend;
+遲浩田 < chinese\-defense\-minister;
+碑額 < the\-top\-part\-of\-a\-tablet;
+伴奏 < to\-accompany\-\(musically\);
+北溫帶 < the\-north\-temperate\-zone;
+打電話 < to\-make\-a\-telephone\-call;
+右翼 < \(politically\)\-right\-wing;
+浙江 < zhejiang\-province\,\-china;
+人民解放軍 < people''s\-liberation\-army;
+識見 < knowledge\-and\-experience;
+買帳 < to\-show\-respect\-\(for\-sb\);
+暗箭 < attack\-by\-a\-hidden\-enemy;
+深圳 < shenzhen\-\(city\-in\-china\);
+程度 < degree\-\(level\-or\-extent\);
+大關 < \(reach\-a\)\-critical\-point;
+從外表來看 < looking\-from\-the\-outside;
+頭版 < \(newspaper''s\)\-front\-page;
+千絲萬縷 < linked\-in\-countless\-ways;
+春聯 < spring\-festivel\-couplets;
+公眾電信網路 < public\-telephone\-network;
+交換虛電路 < switched\-virtual\-circuit;
+以來 < since\-\(a\-previous\-event\);
+蓮花 < lotus\-\(computer\-company\);
+不日 < within\-the\-next\-few\-days;
+諒解 < \(reach\)\-an\-understanding;
+破土典禮 < ground\-breaking\-ceremony;
+教學機構 < educational\-organization;
+不遺余力 < spare\-no\-pains\-or\-effort;
+表示敬意 < respectful\,\-show\-respect;
+蓋章 < to\-affix\-a\-seal\-\(to\-sth\);
+止痛法 < method\-of\-relieving\-pain;
+觸電 < to\-get\-an\-electric\-shock;
+主動 < \(to\-take\-the\)\-initiative;
+路加福音 < gospel\-according\-to\-luke;
+訴說 < tell\-\(to\-another\-person\);
+總統 < president\-\(of\-a\-country\);
+報頭 < masthead\-\(of\-a\-newspaper;
+南沙 < nansha\-\(spratly\)\-islands;
+通道 < \(communications\)\-channel;
+政績 < \(political\)\-achievements;
+瞥 < take\-fleeting\-glance\-at;
+州 < administrative\-division;
+吧 < emphatic\-final\-particle;
+某 < certain\-thing\-or\-person;
+票 < slip\-of\-paper\-or\-bamboo;
+耶 < used\-in\-transliteration;
+厘 < thousandth\-part\-of\-tael;
+彭 < name\-of\-ancient\-country;
+肴 < cooked\-or\-prepared\-meat;
+俎 < chopping\-board\-or\-block;
+淮 < river\-in\-anhui\-province;
+哦 < oh\?\-really\?\-is\-that\-so\?;
+锤 < balance\-weight\-on\-scale;
+仞 < ancient\-unit\-of\-measure;
+芭 < plantain\-or\-banana\-palm;
+磊 < pile\-of\-rocks\-or\-stones;
+呸 < expression\-of\-reprimand;
+拷 < torture\-and\-interrogate;
+抿 < pucker\-up\-lips\-in\-smile;
+卉 < general\-term\-for\-plants;
+髻 < hair\-rolled\-up\-in\-a\-bun;
+裆 < crotch\-or\-seat\-of\-pants;
+蘑 < type\-of\-edible\-mushroom;
+咿 < descriptive\-of\-creaking;
+篾 < bamboo\-splints\-or\-slats;
+淇 < river\-in\-henan\-province;
+蓑 < rain\-coat\-made\-of\-straw;
+檬 < type\-of\-locust\-oracacia;
+淙 < gurgling\-sound\-of\-water;
+殓 < dress\-corpse\-for\-burial;
+琥 < jewel\-in\-shape\-of\-tiger;
+潞 < river\-in\-northern\-china;
+醍 < essential\-oil\-of\-butter;
+妯 < wives\-of\-one''s\-brothers;
+帏 < curtain\-that\-forms\-wall;
+瓒 < ceremonial\-libation\-cup;
+瑗 < large\-ring\-of\-fine\-jade;
+涞 < river\-in\-hebei\-province;
+爻 < diagrams\-for\-divination;
+锟 < ancient\-treasured\-sword;
+芗 < fragrant\-smell\-of\-grain;
+楦 < a\-last\-for\-making\-shoes;
+舁 < carry\-on\-one''s\-shoulder;
+滠 < river\-in\-hubei\-province;
+忌恨 < hate\-\(due\-to\-envy\,\-etc\);
+雹災 < disaster\-caused\-by\-hail;
+出訪 < visit\-a\-foreign\-country;
+核武器材料 < nuclear\-weapon\-material;
+通訊行業 < communications\-industry;
+北半球 < the\-northern\-hemisphere;
+雙絞線 < unshielded\-twisted\-pait;
+發佈新軟件 < to\-release\-new\-software;
+斑斑 < full\-of\-stains\-or\-spots;
+西裝 < \(western\-style\)\-clothes;
+加油 < to\-make\-an\-extra\-effort;
+募捐 < to\-solict\-contributions;
+專屬經濟區 < exclusive\-economic\-zone;
+皴裂 < chap\-\(lips\,\-skin\,\-etc\.\);
+見聞 < what\-one\-sees\-and\-hears;
+包承制 < responsible\-crew\-system;
+南京 < nanjing\-\(city\-in\-china\);
+規約 < terms\-\(of\-an\-agreement\);
+歸心 < converted\-to\-\(religion\);
+逼死 < hound\-somebody\-to\-death;
+本位主義 < selfish\-departmentalism;
+為所欲為 < do\-whatever\-one\-pleases;
+人民法院 < people''s\-court\-\(of\-law\);
+商業機構 < commercial\-organization;
+鼏 < cover\-of\-tripod\-caldron;
+黰 < young\-girl''s\-hair\-style;
+統治 < \(political\)\-rule\-\(over\);
+補課 < make\-up\-a\-missed\-lesson;
+這樣 < this\-\(kind\-of\,\-sort\-of\);
+播放機 < player\-\(e\.g\.\-cd\-player\);
+達成 < to\-reach\-\(an\-agreement\);
+百般 < in\-hundred\-and\-one\-ways;
+鬂 < the\-hair\-on\-the\-temples;
+禁止核武器試驗條約 < nuclear\-test\-ban\-treaty;
+駮 < a\-kind\-of\-fierce\-animal;
+不翼而飛 < disappear\-without\-trace;
+授計 < to\-confide\-a\-plan\-to\-sb;
+畢恭畢敬 < reverent\-and\-respectful;
+科研人員 < \(scientific\)\-researcher;
+報曉 < herald\-the\-break\-of\-day;
+據統計 < according\-to\-statistics;
+透露消息 < to\-disclose\-information;
+中國時報 < china\-times\-\(newspaper\);
+鄾 < place\-in\-hubei\-province;
+鄬 < place\-in\-henan\-province;
+鄘 < state\-in\-henan\-province;
+利市 < \"lai\-see\"\-\(lucky\-money\);
+郰 < birthplace\-of\-confucius;
+邧 < town\-in\-shanxi\-province;
+側重 < place\-extra\-emphasis\-on;
+報恩 < pay\-a\-debt\-of\-gratitude;
+留學生 < student\-studying\-abroad;
+威廉斯堡 < williamsburg\-\(virginia\);
+便宜行事 < act\-at\-one''s\-discretion;
+幫子 < outer\-\(of\-cabbage\,\-etc\);
+自豪 < \(feel\-a\-sense\-of\)\-pride;
+反艦艇巡航導彈 < anti\-ship\-cruise\-missle;
+蚻 < small\-species\-of\-cicada;
+蒱 < gambling\-game\-with\-dice;
+葧 < heleocharis\-plantaginea;
+流亡在海外 < to\-be\-in\-exile\-overseas;
+防務 < \(pertaining\-to\)\-defense;
+業績 < outstanding\-achievement;
+舲 < small\-boat\-with\-windows;
+商業管理 < business\-administration;
+留言 < to\-leave\-one''s\-comments;
+羫 < the\-skeleton\-of\-a\-sheep;
+年來 < over\-the\-last\-\.\.\.\-years;
+罽 < a\-kind\-of\-woolen\-fabric;
+開拍 < begin\-shooting\-\(a\-film\);
+分之 < \(indicating\-a\-fraction\);
+粺 < polished\-rice\-or\-millet;
+多年來 < for\-the\-past\-many\-years;
+篧 < creel\-for\-trapping\-fish;
+篛 < cuticle\-of\-bamboo\-plant;
+基礎速率 < basic\-rate\-\(as\-in\-isdn\);
+答謝 < to\-express\-one''s\-thanks;
+祔 < worship\-one''s\-ancestors;
+筆談 < conversation\-by\-writing;
+瑪麗 < mali\-\(a\-person''s''\-name\);
+睖 < to\-stare\-straight\-ahead;
+眢 < eyes\-without\-brightness;
+症狀 < symptom\-\(of\-an\-illness\);
+畾 < fields\-divided\-by\-dikes;
+璲 < pendant\-girdle\-ornament;
+瑿 < a\-black\-stone\-like\-jade;
+瑯 < kind\-of\-white\-cornelian;
+瑢 < gem\-ornaments\-for\-belts;
+珶 < white\-jade\-worn\-on\-belt;
+中秋節 < the\-mid\-autumn\-festival;
+玕 < inferior\-variety\-of\-gem;
+佔領 < to\-occupy\-\(a\-territory\);
+猈 < dog\-with\-short\-shinbone;
+手寫識別 < handwriting\-recognition;
+澉 < to\-wash\-name\-of\-a\-place;
+潖 < name\-of\-a\-certain\-river;
+非盈利的組織 < non\-profit\-organization;
+殙 < to\-die\-by\-taking\-poison;
+歁 < unsatisfied\-\(of\-eating\);
+欨 < to\-blow\-or\-breathe\-upon;
+欏 < tree\-the\-horse\-chestnut;
+檇 < wooden\-rammer\-or\-pestle;
+橔 < a\-wooden\-chopping\-block;
+訊息處理系統 < message\-handling\-system;
+備料 < get\-the\-materials\-ready;
+坦克 < tank\-\(military\-vehicle\);
+馬路口 < intersection\-\(of\-roads\);
+四川 < sichuan\-province\,\-china;
+怸 < cns\-2\-2a40\-is\-different;
+比比皆是 < can\-be\-found\-everywhere;
+不抵抗主義 < policy\-of\-nonresistance;
+販運 < to\-transport\-\(for\-sale\);
+墄 < the\-steps\-of\-a\-stairway;
+數字訂購線路 < digital\-subscriber\-line;
+棄舊換新 < to\-turn\-over\-a\-new\-leaf;
+今譯 < modern\-language\-version;
+不情之請 < my\-presumptuous\-request;
+啫 < interjection\-of\-warning;
+投放 < to\-put\-in\-\(circulation\);
+吚 < used\-to\-represent\-sound;
+匁 < japanese\-unit\-of\-weight;
+病倒 < be\-down\-with\-an\-illness;
+拷問 < to\-question\-via\-torture;
+仾 < to\-hang\-or\-bow\-the\-head;
+䶝 < growing\-irregular\-teeth;
+䵈 < unsmelted\-hemp\-and\-silk;
+䵀 < coarse\-crumbs\-of\-barley;
+䴑 < a\-legendary\-weired\-bird;
+䴇 < a\-second\-name\-for\-crane;
+䴁 < a\-kind\-of\-rat\-like\-bird;
+䳲 < a\-swarm\-of\-flying\-birds;
+䲴 < a\-kind\-of\-venomous\-bird;
+䱾 < a\-carp\-like\-savory\-fish;
+䰫 < nimble\-and\-active\-ghost;
+雙連接站 < dual\-attachment\-station;
+䭇 < to\-be\-chocked\-with\-food;
+䭆 < small\-children\-eat\-less;
+䬲 < to\-eat\-to\-the\-half\-full;
+䬪 < a\-kind\-of\-cooked\-noodle;
+䬛 < the\-roaring\-of\-the\-wind;
+患難 < trials\-and\-tribulations;
+䨗 < excessive\-rain\-and\-snow;
+䨅 < small\-birds\-\-\-\-the\-wren;
+鍛煉 < to\-do\-physical\-training;
+䥖 < silver\-of\-gold\-filagree;
+䥏 < unfitted\-for\-each\-other;
+䤥 < agricultural\-implements;
+䢜 < the\-marriage\-of\-a\-woman;
+䡽 < the\-shafts\-of\-a\-vehicle;
+䡺 < the\-end\-of\-an\-axle\-tree;
+䡣 < a\-piece\-of\-curved\-board;
+䠣 < net\-to\-trap\-the\-animals;
+䝈 < a\-big\-and\-strenuous\-pig;
+䚐 < getting\-red\-in\-the\-eyes;
+䚊 < to\-look\-from\-a\-distance;
+䙐 < furs\-and\-linen\-garments;
+䘆 < a\-second\-form\-earthworm;
+䗠 < the\-larva\-of\-mosquitoes;
+䗔 < a\-house\-lizard\-or\-gecko;
+䖱 < large\-shrimp\-in\-the\-sea;
+䔾 < a\-kind\-of\-fragrant\-herb;
+䓱 < a\-kind\-of\-herb\-medicine;
+戴維斯 < davis\-\(english\-surname\);
+補助組織 < auxiliary\-organizations;
+䐤 < dried\-and\-seasoned\-meat;
+䐐 < curved\-part\-of\-the\-knee;
+䏙 < brine\-from\-pickled\-meat;
+䏕 < to\-cook\-food\-thoroughly;
+紅樓夢 < a\-dream\-of\-red\-mansions;
+䍹 < odor\-of\-a\-sheep\-or\-goat;
+䍙 < nets\-for\-catching\-birds;
+䍘 < a\-general\-term\-for\-nets;
+䍓 < net\-for\-catching\-rabbit;
+䋫 < to\-wind\-round\-the\-ropes;
+䋨 < to\-set\-in\-order\-the\-old;
+䊴 < food\-made\-of\-rice\-flour;
+䊪 < coarse\-rice\-\-\-\-unhulled;
+䉜 < young\-and\-tender\-bamboo;
+䉖 < framework\-of\-a\-carriage;
+䇗 < bamboo\-with\-long\-joints;
+䇑 < a\-standing\-short\-person;
+䆊 < unhusked\-glutinous\-rice;
+䆉 < the\-swing\-of\-rice\-plant;
+蛙泳 < \(swimming\)\-breaststroke;
+䃉 < a\-stone\-resembling\-jade;
+怎麼 < \(interrogative\-pronoun\);
+䁌 < to\-see\-for\-a\-short\-time;
+㾀 < to\-be\-weaked\-by\-disease;
+㽸 < diseases\-of\-the\-abdomen;
+在今年年底 < at\-the\-end\-of\-this\-year;
+㼧 < tiles\-in\-cylinder\-shape;
+過不去 < make\-life\-difficult\-for;
+㹲 < a\-frightened\-pig\-or\-dog;
+㹮 < a\-kind\-of\-animal\-\-tapir;
+㹝 < a\-legendary\-wild\-animal;
+㹑 < a\-four\-years\-old\-cattle;
+㹊 < a\-cattle\-of\-white\-color;
+㹆 < the\-coulter\-of\-a\-plough;
+回顧歷史 < to\-look\-back\-at\-history;
+通訊協定 < communications\-protocol;
+㸋 < meats\-used\-in\-sacrifice;
+㷮 < scorched\-or\-burned\-wood;
+㷫 < fire\-causing\-by\-dryness;
+㶒 < the\-current\-of\-a\-stream;
+㴲 < a\-river\-in\-ancient\-time;
+㴑 < to\-trace\-up\-to\-a\-source;
+㴏 < the\-pond\-water\-is\-still;
+㲿 < extensive\-body\-of\-water;
+㲄 < unburnt\-bricks\-or\-tiles;
+㱬 < cannot\-recognize\-people;
+㯙 < the\-buckthorn\-or\-jujube;
+駐守 < \(man\-a\-post\-and\)\-defend;
+㭾 < to\-cut\-the\-timber\-apart;
+溫和 < moderate\-\(policy\,\-etc\.\);
+㭃 < the\-large\-rope\-of\-a\-net;
+㭂 < height\-of\-the\-end\-point;
+㬻 < in\-between\-of\-the\-flesh;
+否認 < to\-declare\-to\-be\-untrue;
+㧯 < a\-bucket\-made\-of\-willow;
+㧥 < to\-nip\-with\-the\-fingers;
+㦽 < with\-elegant\-appearance;
+情報處 < source\-\(of\-information\);
+㦺 < a\-lance\-with\-two\-points;
+㦇 < a\-peaceful\-or\-easy\-mood;
+㥅 < used\-in\-a\-person''s\-name;
+㤌 < to\-have\-one''s\-heart\-own;
+㣻 < to\-remedy\-by\-punishment;
+㣪 < to\-walk\-with\-slow\-steps;
+㣆 < to\-loose\-the\-bow\-string;
+㢾 < the\-curved\-end\-of\-a\-bow;
+㢵 < powerful\-and\-strong\-bow;
+㡹 < to\-rely\-upon\-each\-other;
+㡒 < a\-calico\-sack\-for\-grain;
+㡏 < to\-cut\-a\-strip\-of\-cloth;
+㞼 < to\-respectfully\-receive;
+㚬 < a\-lady\-start\-to\-doll\-up;
+㚖 < to\-come\-out\-to\-the\-open;
+㙊 < an\-area\-of\-level\-ground;
+㕸 < sound\-of\-rolling\-a\-boat;
+㔤 < to\-exert\-one''s\-strength;
+腐敗罪 < the\-crime\-of\-corruption;
+㒤 < to\-have\-one''s\-heart\-won;
+㒙 < to\-hand\-or\-bow\-the\-head;
+步履維艱 < have\-difficulty\-walking;
+共同篩選 < collaborative\-filtering;
+白蛇傳 < tale\-of\-the\-white\-snake;
+大驚小怪 < much\-fuss\-about\-nothing;
+辯証唯物主義 < dialectical\-materialism;
+江西 < jiangxi\-province\,\-china;
+愛撫 < to\-show\-tender\-care\-for;
+參與 < to\-participate\-\(in\-sth\);
+港人 < hong\-kong\-person\|people;
+黃河 < yellow\-river\-\(huang\-he\);
+江蘇 < jiangsu\-province\,\-china;
+任命 < to\-appoint\-and\-nominate;
+公安官員 < public\-safety\-officials;
+餅子 < maize\-or\-millet\-pancake;
+期攷 < end\-of\-term\-examination;
+總額 < total\-\(amount\-or\-value\);
+謂語 < \(grammatical\)\-predicate;
+半成品 < semi\-manufactured\-goods;
+中旬 < middle\-third\-of\-a\-month;
+下旬 < last\-third\-of\-the\-month;
+傳輸技術 < transmission\-technology;
+貝克 < baker\-\(english\-surname\);
+亂吃 < to\-eat\-indiscriminantly;
+奔頭兒 < something\-to\-strive\-for;
+冰天雪地 < a\-world\-of\-ice\-and\-snow;
+政府機構 < government\-organization;
+中轉站 < hub\-\(network\-equipment\);
+恩怨 < \(feeling\-of\)\-resentment;
+不外 < not\-beyond\-the\-scope\-of;
+服刑 < serve\-a\-prison\-sentence;
+莫非 < can\-it\-be\-possible\-that;
+廣西 < guangxi\-province\,\-china;
+不可理喻 < be\-impervious\-to\-reason;
+奔瀉 < \(of\-torrents\)\-rush\-down;
+么 < interrogative\-particle;
+被 < passive\-indicator\-''by'';
+申 < to\-state\-to\-a\-superior;
+岡 < ridge\-or\-crest\-of\-hill;
+琴 < chinese\-lute\-or\-guitar;
+嬌 < seductive\-and\-loveable;
+罗 < net\-for\-catching\-birds;
+摸 < gently\-touch\-with\-hand;
+仰 < raise\-the\-head\-to\-look;
+臍 < abdominal\-area\-of\-crab;
+郑 < state\-in\-today''s\-henan;
+贯 < a\-string\-of\-1000\-coins;
+竭 < put\-forth\-great\-effort;
+秒 < beard\-of\-grain\-or\-corn;
+奚 < where\?\-what\?\-how\?\-why\?;
+盏 < small\-cup\-or\-container;
+萝 < type\-of\-creeping\-plant;
+梧 < sterculia\-platanifolia;
+咦 < expression\-of\-surprise;
+筐 < bamboo\-basket\-or\-chest;
+谍 < an\-intelligence\-report;
+篱 < bamboo\-or\-wooden\-fence;
+琶 < guitar\-like\-instrument;
+潺 < sound\-of\-flowing\-water;
+坳 < a\-hollow\-in\-the\-ground;
+埂 < ditches\-for\-irrigation;
+倌 < assistant\-in\-wine\-shop;
+霁 < to\-clear\-up\-after\-rain;
+邯 < city\-in\-hebei\-province;
+粑 < tsamba\-\(food\-in\-tibet\);
+蛀 < insects\-that\-eat\-books;
+嫦 < name\-of\-a\-moon\-goddess;
+赊 < buy\-and\-sell\-on\-credit;
+弑 < to\-kill\-one''s\-superior;
+摁 < to\-press\-with\-the\-hand;
+畹 < a\-field\-of\-20\-or\-30\-mu;
+觐 < have\-imperial\-audience;
+讦 < expose\-other''s\-secrets;
+旄 < a\-kind\-of\-ancient\-flag;
+趵 < noise\-of\-tramping\-feet;
+酹 < to\-pour\-out\-a\-libation;
+孳 < breed\-in\-large\-numbers;
+塄 < elevated\-bank\-in\-field;
+螈 < diemyelilus\-pyrogaster;
+窬 < a\-small\-door\-or\-window;
+笱 < a\-basket\-trap\-for\-fish;
+牿 < shed\-or\-pen\-for\-cattle;
+蛘 < a\-weevil\-found\-in\-rice;
+畎 < a\-drain\-between\-fields;
+職業中學 < vocational\-high\-school;
+網路節點介面 < network\-node\-interface;
+正在中國訪問 < during\-a\-trip\-to\-china;
+遺留 < \(leave\-or\-be\-a\)\-legacy;
+常規 < conventional\-\(weapons\);
+自食其果 < reap\-what\-one\-has\-sown;
+證券 < \(financial\)\-securities;
+不露聲色 < not\-show\-one''s\-feeling;
+慕道友 < religious\-investigator;
+往常 < habitually\-in\-the\-past;
+大煞風景 < dampening\-one''s\-spirit;
+剝採比 < stripping\-to\-ore\-ratio;
+羅曼語族 < romance\-language\-group;
+孰能生巧 < practice\-makes\-perfect;
+妖冶 < pretty\-and\-flirtatious;
+革命 < \(political\)\-revolution;
+論壇 < forum\-\(for\-discussion\);
+壟斷 < enjoy\-market\-dominance;
+牡丹 < peony\-\(type\-of\-flower\);
+報稅 < declare\-dutiable\-goods;
+目的地 < destination\-\(location\);
+公認 < publicly\-known\-\(to\-be\);
+嗷嗷待哺 < cry\-piteously\-for\-food;
+發表 < to\-issue\-\(a\-statement\);
+不痛不痒 < scratching\-the\-surface;
+國務院 < state\-department\-\(usa\);
+齯 < teeth\-grown\-in\-old\-age;
+電器 < \(electrical\)\-appliance;
+鹣 < fabulous\-mythical\-bird;
+殷勤 < politely\,\-solicitously;
+十五億 < one\-and\-a\-half\-billion;
+鰆 < scomberomorus\-sinensis;
+鮓 < minced\-and\-salted\-fish;
+紅燒肉 < red\-cooked\-\(pork\)\-meat;
+到期 < become\-due\-\(eg\,\-loans\);
+驌 < name\-of\-a\-famous\-horse;
+公安局 < public\-security\-bureau;
+病院 < a\-specialized\-hospital;
+聯網環境 < networking\-environment;
+韹 < music\-of\-bell\-and\-drum;
+解釋執行 < interpreted\-\(computer\);
+八小時工作制 < eight\-hour\-working\-day;
+消息靈通人士 < a\-well\-informed\-source;
+雘 < dye\-made\-from\-red\-soil;
+阇 < a\-buddhist\-high\-priest;
+不近人情 < not\-amenable\-to\-reason;
+鑐 < bolt\-of\-a\-chinese\-lock;
+政治機構 < political\-organization;
+錆 < the\-color\-of\-a\-mineral;
+鄐 < town\-in\-henan\-province;
+遰 < grunting\-sound\-of\-pigs;
+辥 < variety\-of\-marsh\-grass;
+病象 < symptom\-\(of\-a\-disease\);
+日本經濟新聞 < japanese\-economic\-news;
+欺凌 < to\-bully\-and\-humiliate;
+遍及 < to\-extend\-\(everywhere\);
+谂 < consult\-carefully\-with;
+簽署 < to\-sign\-\(an\-agreement\);
+詪 < difficulty\-in\-speaking;
+報導 < to\-cover\-\(report\)\-news;
+觿 < a\-bodkin\-made\-of\-ivory;
+布朗 < english\-surname\,\-brown;
+覀 < variant\-of\-radical\-146;
+褟 < inner\-shirt\-or\-singlet;
+衭 < the\-lapel\-of\-a\-garment;
+衦 < smooth\-out\-the\-clothes;
+標準 < \(an\-official\)\-standard;
+訊息傳遞中介 < message\-transfer\-agent;
+另眼相看 < to\-view\-in\-a\-new\-light;
+蕕 < caryopteris\-divaricata;
+蔯 < a\-variety\-of\-artemisia;
+萴 < medicinal\-poison\-plant;
+菶 < species\-of\-water\-plant;
+信息技術 < information\-technology;
+脤 < raw\-meat\-for\-sacrifice;
+發病率 < incidence\-of\-a\-disease;
+耬 < drill\-for\-sowing\-grain;
+疑問句 < interrogative\-sentance;
+耂 < variant\-of\-radical\-125;
+退休 < retirement\-\(from\-work\);
+繦 < string\-of\-copper\-coins;
+來回來去地 < backwards\-and\-forwards;
+安全考慮 < security\-consideration;
+緅 < silk\-of\-purplish\-color;
+趨附 < to\-ingratiation\-onself;
+此一時 < that\-was\-one\-situation;
+篢 < the\-name\-of\-bamboo\-hat;
+筆跡 < a\-person''s\-handwriting;
+信息管理 < information\-management;
+盡力 < do\-one''s\-best\-\(effort\);
+網絡層協議 < network\-layer\-protocol;
+筆記 < take\-down\-\(in\-writing\);
+不好惹 < not\-to\-be\-trifled\-with;
+褥子 < cotton\-padded\-mattress;
+癊 < a\-disease\-of\-the\-heart;
+瑱 < a\-gem\-used\-as\-ear\-plug;
+蹦蹦跳跳 < bouncing\-and\-vivacious;
+珣 < name\-of\-a\-kind\-of\-jade;
+玼 < beautiful\-color\-of\-gem;
+牷 < cow\-or\-ox\-of\-one\-color;
+儘快 < as\-quickly\-as\-possible;
+通信密度 < communications\-density;
+不得已 < act\-against\-one''s\-will;
+焄 < rising\-flames\-or\-fumes;
+烖 < calamities\-from\-heaven;
+沒有差別 < there\-is\-no\-difference;
+激昂 < aroused\-to\-indignation;
+不言而喻 < it\-goes\-without\-saying;
+工業化國家 < industrialized\-country;
+步調一致 < to\-be\-united\-in\-action;
+童話 < children''s\-fairy\-tales;
+殢 < be\-in\-great\-difficulty;
+槱 < firewood\-for\-sacrifice;
+上半年 < first\-half\-\(of\-a\-year\);
+不要臉 < have\-no\-sense\-of\-shame;
+背地風 < behind\-somebody''s\-back;
+用戶到網絡的接口 < user\-network\-interface;
+朏 < light\-of\-crescent\-moon;
+旐 < an\-embroidered\-pennant;
+攙 < to\-give\-a\-helping\-hand;
+提交 < submit\-\(a\-report\,\-etc\);
+摰 < to\-seize\-with\-the\-hand;
+供職 < hold\-an\-office\-or\-post;
+摀 < to\-cover\-with\-the\-hand;
+搾 < to\-crush\-with\-the\-hand;
+來自 < to\-come\-from\-\(a\-place\);
+定語 < attributive\-\(modifier\);
+近年來 < for\-the\-past\-few\-years;
+怹 < a\-polite\-version\-of\-he;
+漂流 < carried\-by\-the\-current;
+庈 < used\-in\-person''s\-names;
+嵶 < low\-part\-of\-a\-mountain;
+孒 < larvae\-of\-the\-mosquito;
+棄權 < to\-abstain\-from\-voting;
+捏合 < to\-act\-as\-a\-go\-between;
+壖 < open\-space\-along\-water;
+甲板 < deck\-\(of\-a\-boat\,\-etc\.\);
+其自身 < one''s\-own\-\(respective\);
+教義和聖約 < doctrine\-and\-covenants;
+噀 < spirt\-out\-of\-the\-mouth;
+梅派 < the\-mei\-lanfang\-school;
+火焰山 < the\-mountain\-of\-flames;
+涉過 < ford\-\(a\-stream\,\-river\);
+叝 < to\-respectfully\-inform;
+工作站 < \(computer\)\-workstation;
+體內 < internal\-\(to\-the\-body\);
+伮 < to\-make\-a\-great\-effort;
+通訊通道 < communications\-channel;
+䶥 < unevenly\-fitting\-teeth;
+䶤 < sound\-of\-chewing\-bones;
+䶂 < a\-squirrel\-like\-animal;
+䳮 < to\-look\-at\-in\-surprise;
+䲚 < a\-second\-name\-for\-shad;
+採訪記者 < investigative\-reporter;
+䰵 < looks\-like\-common\-carp;
+䰰 < dreary\-cries\-of\-ghosts;
+䮺 < luxuriant\-of\-the\-grass;
+䮪 < to\-geld\-a\-horse\-or\-ass;
+䩼 < stitches\-on\-a\-coverlet;
+䩍 < to\-look\-pale\-or\-pallid;
+䨵 < rained\-for\-a\-long\-time;
+䦈 < to\-sigh\-in\-lamentation;
+䥟 < a\-metal\-marking\-\-stake;
+脊椎 < back\-\(of\-a\-vertibrate\);
+伯父 < father''s\-elder\-brother;
+䢎 < indicating\-exclamation;
+䡵 < decoration\-on\-carriage;
+䡰 < strong\-and\-durable\-hub;
+䡬 < covering\-of\-a\-carriage;
+䡁 < not\-well\-formed\-figure;
+䟽 < scattered\-or\-dispersed;
+䞘 < to\-go\-straight\-forward;
+䝢 < an\-animal\-in\-old\-times;
+保安 < ensure\-public\-security;
+䝓 < long\-beard\-or\-whiskers;
+䜺 < husking\-beans\-for\-cake;
+䜡 < to\-smell\-the\-fragrants;
+䛙 < to\-smell\-the\-fragrance;
+䚞 < the\-middle\-of\-the\-horn;
+印歐人 < indo\-european\-\(person\);
+䙄 < clothes\-with\-thick\-hem;
+䘽 < clothing\-and\-ornaments;
+䕴 < a\-second\-for\-monkshood;
+䔠 < thin\-root\-of\-the\-lotus;
+䏩 < to\-shrug\-the\-shoulders;
+䍱 < the\-wild\-goat\-or\-sheep;
+䋪 < fine\-and\-delicate\-silk;
+䊏 < mixing\-rice\-with\-broth;
+䈄 < a\-kind\-of\-solid\-bamboo;
+上身 < upper\-part\-of\-the\-body;
+䇣 < bamboo\-with\-white\-bark;
+䄠 < to\-sacrifice\-to\-heaven;
+䃧 < sound\-of\-falling\-rocks;
+䀄 < container\-full\-of\-food;
+㿋 < a\-kind\-of\-skin\-disease;
+㼞 < jar\-with\-a\-small\-mouth;
+㺞 < to\-sign\-in\-lamentation;
+坦克車 < tank\-\(armored\-vehicle\);
+㸯 < a\-fine\-breed\-of\-cattle;
+比較而言 < comparatively\-speaking;
+㵯 < sound\-of\-water\-flowing;
+㳯 < goddess\-of\-an\-ink\-slab;
+㱆 < to\-smile\-at\-each\-other;
+㰨 < to\-take\-breath\-or\-rest;
+㮑 < sound\-of\-broken\-sticks;
+㭯 < tree\-with\-small\-leaves;
+字段 < \(numeric\,\-datda\)\-field;
+㫊 < fluttering\-of\-the\-flag;
+㪣 < a\-place\-in\-han\-dynasty;
+㪟 < to\-regard\-as\-important;
+㪞 < to\-be\-held\-by\-the\-hand;
+㩺 < a\-crack\-on\-the\-utensil;
+㩜 < to\-be\-in\-possession\-of;
+㩎 < to\-press\-with\-a\-finger;
+㧶 < the\-jingling\-of\-metals;
+㧙 < to\-give\-a\-playful\-blow;
+㧃 < to\-receive\-what\-is\-due;
+㦣 < to\-talk\-in\-one''s\-sleep;
+㦄 < hard\-to\-say\-or\-predict;
+㤊 < cheerful\-and\-exuberant;
+並舉 < develop\-simultaneously;
+㢉 < a\-room\-with\-open\-space;
+一號 < first\-day\-of\-the\-month;
+㠔 < shapes\-of\-the\-mountain;
+㟻 < the\-moat\-around\-a\-city;
+離開故鄉 < to\-leave\-one''\-homeland;
+㛳 < an\-abnomal\-unborn\-baby;
+㚷 < the\-breasts\-of\-a\-woman;
+㙳 < ruggedness\-of\-the\-road;
+㙤 < a\-crack\-in\-earthenware;
+㙘 < used\-in\-naming\-a\-place;
+㗂 < to\-keep\-the\-mouth\-shut;
+㖐 < sound\-of\-calling\-ducks;
+㔴 < agricultural\-implement;
+㓹 < a\-sharp\-pointed\-weapon;
+㓦 < to\-deliberate\-and\-plan;
+㓘 < jade\-with\-some\-defects;
+不像樣 < in\-no\-shape\-to\-be\-seen;
+審判 < put\-\(someone\)\-to\-trial;
+吐蕃 < ancient\-name\-for\-tibet;
+測定 < to\-survey\-and\-evaluate;
+泰羅 < \(english\-surname\)\-tylo;
+吞聲 < to\-swallow\-one''s\-cries;
+變分法 < calculus\-of\-variations;
+財會 < finance\-and\-accounting;
+通信網絡 < communications\-network;
+交易 < \(business\)\-transaction;
+西遊記 < pilgrimage\-to\-the\-west;
+數字通信 < digital\-communications;
+現役 < \(military\)\-active\-duty;
+共產黨員 < communist\-party\-member;
+民選 < democratically\-elected;
+海拔 < height\-above\-sea\-level;
+網路架構 < network\-infrastructure;
+科技 < science\-and\-technology;
+任免 < to\-appoint\-and\-dismiss;
+畢業生 < graduate\-\(of\-a\-school\);
+亂寫 < to\-write\-without\-basis;
+零錢 < change\-\(said\-of\-money\);
+不服 < not\-accept\-\(something\);
+鼻兒 < a\-hole\-in\-an\-implement;
+感嘆 < to\-sigh\-\(with\-feeling\);
+化裝 < \(of\-actors\)\-to\-make\-up;
+云南 < yunnan\-province\,\-china;
+服完 < serve\-out\-\(a\-sentence\);
+黃山 < mt\.\-huang\-\(huang\-shan\);
+古波 < gubo\-\(a\-personal\-name\);
+猜拳 < a\-finger\-guessing\-game;
+美國之音 < voice\-of\-america\-radio;
+背黑鍋 < to\-be\-made\-a\-scapegoat;
+助詞 < particle\-\(grammatical\);
+靈敏度 < \(level\-of\)\-sensitivity;
+標準組織 < standards\-organization;
+獨攬市場 < to\-monopolize\-a\-market;
+觉 < to\-wake\-up\-from\-sleep;
+環 < jade\-ring\-or\-bracelet;
+划 < to\-row\-or\-paddle\-boat;
+堪 < adequately\-capable\-of;
+吴 < name\-of\-warring\-state;
+鳴 < cry\-of\-bird\-or\-animal;
+呉 < one\-of\-warring\-states;
+馳 < go\-quickly\-or\-swiftly;
+榎 < small\-evergreen\-shrub;
+姻 < relatives\-by\-marriage;
+筒 < thick\-piece\-of\-bamboo;
+帘 < flag\-sign\-of\-a\-tavern;
+稻 < rice\-growing\-in\-field;
+禰 < one''s\-deceased\-father;
+剂 < medicinal\-preparation;
+珂 < inferior\-kind\-of\-jade;
+嘟 < sound\-of\-horn\-tooting;
+瑜 < flawless\-gem\-or\-jewel;
+珑 < a\-gem\-cut\-like\-dragon;
+诬 < make\-false\-accusation;
+嫖 < patronize\-prostitutes;
+飒 < the\-sound\-of\-the\-wind;
+锢 < run\-metal\-into\-cracks;
+掖 < support\-with\-the\-arms;
+棣 < kerria\-japonica\-plant;
+菁 < flower\-of\-leek\-family;
+咩 < the\-bleating\-of\-sheep;
+珉 < stone\-resembling\-jade;
+钎 < tool\-for\-boring\-holes;
+抟 < roll\-around\-with\-hand;
+趸 < sell\-or\-buy\-wholesale;
+妣 < one''s\-deceased\-mother;
+嵊 < district\-in\-shaohsing;
+笸 < flat\-basket\-for\-grain;
+肫 < the\-gizzard\-of\-a\-fowl;
+苫 < rush\-or\-straw\-matting;
+峤 < high\-pointed\-mountain;
+秭 < one\-thousand\-millions;
+姒 < wife\-of\-elder\-brother;
+蓰 < to\-increase\-five\-fold;
+蒌 < artemisia\-stelleriana;
+酃 < the\-spirit\-of\-a\-being;
+糗 < parched\-wheat\-or\-rice;
+辋 < exterior\-rim\-of\-wheel;
+髫 < children''s\-hair\-style;
+虺 < large\-poisonous\-snake;
+醵 < contribute\-for\-drinks;
+蚬 < a\-variety\-of\-bivalves;
+裼 < to\-take\-off\-one''s\-top;
+眵 < eyes\-diseased\-and\-dim;
+枵 < hollo\-stump\-of\-a\-tree;
+蘩 < artemisia\-stellariana;
+讓坐 < to\-give\-up\-one''s\-seat;
+彬彬有禮 < refined\-and\-courteous;
+網絡管理員 < network\-administrator;
+油價 < oil\-\(petroleum\)\-price;
+軟硬件 < software\-and\-hardware;
+巨額 < a\-huge\-sum\-\(of\-money\);
+奔放 < bold\-and\-unrestrained;
+得意 < \(be\)\-proud\-of\-oneself;
+完全兼容 < completely\-compatible;
+熱門貨 < goods\-in\-great\-demand;
+通信量 < communications\-volume;
+奔忙 < be\-busy\-rushing\-about;
+觀測衛星 < observation\-satellite;
+剛直 < upright\-and\-outspoken;
+巡邏 < be\-on\-\(police\)\-patrol;
+祝賀詞 < congratulatory\-speech;
+電腦輔助設計 < computer\-aided\-design;
+降福 < blessings\-from\-heaven;
+炸藥 < explosive\-\(substance\);
+幾十年 < several\-tens\-of\-years;
+夢想 < to\-dream\-of\-\(in\-vain\);
+防空 < anti\-aircraft\-defense;
+三萬七千 < thirty\-seven\-thousand;
+先進 < advanced\-\(technology\);
+大赦國際 < amnesty\-international;
+情報官員 < intelligence\-official;
+奔命 < rush\-about\-on\-errands;
+比方說 < to\-make\-an\-analogy\.\.\.;
+電磁噪聲 < electromagnetic\-noise;
+長途網路 < long\-distance\-network;
+芝加哥大學 < university\-of\-chicago;
+解決 < to\-settle\-\(a\-dispute\);
+鼃 < the\-edible\-water\-frog;
+麥芽糖 < maltose\-\(sweet\-syrup\);
+鷀 < the\-fishing\-cormorant;
+美聯社 < associated\-press\-\(ap\);
+鴠 < a\-kind\-of\-nightingale;
+防治 < \(prevention\-and\)\-cure;
+鰤 < seriola\-qinqueradiata;
+比色分析 < colorimetric\-analysis;
+鯄 < lepidotrigla\-strauchi;
+髈 < defined\-as\-the\-pelvis;
+推薦信 < recommendation\-letter;
+庫爾德人 < kurdish\-person\|people;
+微軟公司 < microsoft\-corporation;
+分機 < \(telephone\)\-extension;
+颸 < cool\-breeze\-of\-autumn;
+眾望 < people''s\-expectations;
+不識抬舉 < fail\-to\-appreciate\-sb;
+白糖 < \(refined\)\-white\-sugar;
+擁戴 < to\-support\-\(a\-person\);
+席卷亞洲 < to\-sweep\-through\-asia;
+表達 < to\-voice\-\(an\-opinion\);
+幾天來 < for\-the\-past\-few\-days;
+報時 < give\-the\-correct\-time;
+隨和 < amiable\-\(disposition\);
+作業環境 < operating\-environment;
+酎 < double\-fermented\-wine;
+函授 < correspondence\-course;
+迷戀 < to\-be\-infatuated\-with;
+陸海空三軍 < army\,\-navy\,\-air\-force;
+投了票 < past\-tense\-of\-to\-vote;
+肯尼迪 < kennedy\-\(proper\-name\);
+拗陷 < geological\-depression;
+免疫 < immunity\-\(to\-disease\);
+公然 < \(do\-something\)\-openly;
+智慧產權 < intellectual\-property;
+谺 < the\-mouth\-of\-a\-valley;
+堅持 < to\-continue\-upholding;
+出差 < be\-on\-a\-business\-trip;
+蠸 < aulacophora\-femoralis;
+漸進 < progress\-step\-by\-step;
+蜺 < reflection\-of\-rainbow;
+本土化軟件 < software\-localization;
+蘘 < a\-kind\-of\-wild\-ginger;
+限制 < \(impose\)\-restrictions;
+蕚 < the\-calyx\-of\-a\-flower;
+保護區 < conservation\-district;
+葹 < kind\-of\-chrysanthemum;
+萻 < small\-buddhist\-temple;
+年初 < beginning\-of\-the\-year;
+舚 < to\-put\-out\-the\-tongue;
+奧德賽 < the\-odyssey\,\-by\-homer;
+高級官員 < high\-ranking\-official;
+半夜三更 < in\-the\-depth\-of\-night;
+筆錄 < put\-down\-\(in\-writing\);
+按脈 < feel\-\(take\)\-the\-pulse;
+繴 < a\-kind\-of\-fishing\-net;
+竼 < bamboo\-cover\-for\-boat;
+取消禁令 < to\-life\-a\-prohibition;
+禨 < pray\-for\-good\-fortune;
+招聘 < take\-job\-applications;
+越南語 < vietnamese\-\(language\);
+癥 < obstruction\-of\-bowels;
+痏 < a\-bruise\-or\-contusion;
+持不同政見者 < \(political\)\-dissident;
+光州 < kwangju\-\(south\-korea\);
+實際應用 < practical\-application;
+璡 < jade\-look\-alike\-stone;
+工商 < industry\-and\-commerce;
+澳洲 < australia\-\(continent\);
+生產能力 < manufacturing\-ability;
+總統選舉 < presidential\-election;
+皮兒 < \(dough\,\-etc\.\)wrappers;
+澂 < clear\-and\-still\-water;
+甘肅 < gansu\-province\,\-china;
+不擇手段 < by\-fair\-means\-or\-foul;
+淜 < roar\-of\-dashing\-waves;
+沇 < flowing\-and\-engulfing;
+安閒 < peaceful\-and\-carefree;
+艱巨 < very\-difficult\-\(task\);
+蠻橫 < rude\-and\-unreasonable;
+簽字 < to\-sign\-\(a\-signature\);
+暎 < sun\-beginning\-decline;
+安適 < quiet\-and\-comfortable;
+國際標準 < interntional\-standard;
+金陵大學 < university\-of\-nanking;
+異質網路 < heterogeneous\-network;
+白手起家 < build\-up\-from\-nothing;
+嵼 < winding\-mountain\-path;
+葡萄牙語 < portuguese\-\(language\);
+測良 < to\-survey\-and\-measure;
+資料傳送服務 < data\-delivery\-service;
+班車 < regular\-bus\-\(service\);
+埵 < hardened\-dirt\-or\-clay;
+嗻 < to\-screen\.\-loquacious;
+案由 < main\-points\-of\-a\-case;
+貶謫 < banish\-from\-the\-court;
+黃魚 < yellow\-croaker\-\(fish\);
+身世 < one''s\-life\-experience;
+抱恨 < have\-a\-gnawing\-regret;
+匟 < divan\-for\-two\-persons;
+剾 < to\-pick\-up\-with\-knife;
+四年前 < four\-years\-previously;
+自古 < \(since\)\-ancient\-times;
+䵗 < to\-clean\-the\-withered;
+䵄 < to\-boil\-or\-stew\-wheat;
+䳹 < a\-kind\-dove\-like\-bird;
+䳝 < a\-kind\-of\-small\-birds;
+䱟 < a\-kind\-of\-silver\-fish;
+介質訪問控制 < medium\-access\-control;
+䯯 < hang\-down\-of\-the\-hair;
+䯭 < of\-nice\-and\-good\-hair;
+䮄 < an\-one\-year\-old\-horse;
+笆斗 < round\-bottomed\-basket;
+一臂之力 < \(lend\)\-a\-helping\-hand;
+䪥 < shallots\-or\-scallions;
+䩩 < a\-measure\-of\-capacity;
+䦽 < an\-east\-and\-west\-wall;
+製造商 < manufacturing\-company;
+䦚 < wide\-open\-of\-the\-door;
+䦌 < the\-door\-is\-wide\-open;
+二號 < 2\-nd\-day\-of\-the\-month;
+䥈 < the\-symbol\-for\-cobalt;
+不倫不類 < neither\-fish\-nor\-fowl;
+䤗 < taste\-of\-strong\-drink;
+䢩 < to\-forbid\-to\-prohibit;
+䡶 < vehicles\-and\-garments;
+䞚 < to\-hang\-on\-a\-big\-tree;
+䝖 < reptiles\-without\-feet;
+䛱 < to\-talk\-unremittingly;
+䛊 < cheerful\-all\-the\-time;
+䛃 < used\-in\-person''s\-name;
+䘐 < the\-bleed\-at\-the\-nose;
+䗉 < a\-small\-solitary\-wasp;
+基本原理 < fundamental\-principle;
+䖔 < a\-kind\-of\-white\-tiger;
+䖍 < to\-act\-with\-reverence;
+䔵 < fragrant\-thoroughwort;
+財經 < finance\-and\-economics;
+䔊 < dense\-growth\-of\-grass;
+䓒 < scirpus\-cyperinus\-var;
+撫養成人 < to\-bring\-up\-\(a\-child\);
+䒦 < grass\-floats\-on\-water;
+䒄 < fully\-laden\-of\-a\-boat;
+䑝 < a\-small\-cup\-with\-ears;
+䏤 < top\-of\-the\-human\-head;
+主語 < \(grammatical\)\-subject;
+䎶 < offering\-blood\-to\-god;
+通信服務 < communication\-service;
+䎚 < the\-end\-of\-bird\-wings;
+䎖 < soaring\-up\-in\-the\-sky;
+䌧 < a\-kind\-of\-silk\-fabric;
+䌟 < to\-weave\-silk\-ribbons;
+嘖嘖 < to\-click\-one''s\-tongue;
+䋂 < dresses\-for\-the\-bride;
+䈧 < skin\-of\-bamboo\-shoots;
+䈞 < ancient\-name\-of\-india;
+䇾 < a\-flute\-with\-23\-tubes;
+䇰 < a\-bamboo\-binded\-torch;
+䇡 < the\-shuttle\-of\-a\-loom;
+䆠 < a\-government\-official;
+䆛 < something\-in\-the\-cave;
+鼻祖 < the\-earliest\-ancestor;
+䅗 < four\-bundle\-of\-grains;
+反革命 < counter\-revolutionary;
+䁭 < to\-give\-an\-angry\-look;
+䁚 < a\-kind\-of\-eye\-disease;
+䀽 < to\-look\-at\-each\-other;
+䀠 < a\-chinese\-family\-name;
+䀓 < to\-turn\-one''s\-eyes\-to;
+㿴 < wide\-piece\-of\-leather;
+㿫 < to\-split\-tangled\-hemp;
+㿏 < paralysis\-of\-the\-body;
+㾾 < disease\-of\-the\-throat;
+㼲 < sound\-of\-broken\-tiles;
+戀愛 < to\-have\-a\-love\-affair;
+㼐 < a\-kind\-of\-white\-melon;
+㹶 < a\-kind\-of\-wild\-animal;
+㹦 < dog\-with\-a\-short\-tail;
+㹔 < cattle\-with\-long\-back;
+暴跌 < steep\-fall\-\(in\-price\);
+㵨 < a\-dry\-land\-in\-a\-river;
+㳈 < a\-great\-flow\-of\-water;
+讓開 < to\-get\-out\-of\-the\-way;
+㱟 < to\-rip\-open\-the\-flesh;
+㰄 < a\-small\-chestnut\-tree;
+㮗 < the\-handle\-of\-a\-spear;
+㭍 < capital\-form\-of\-seven;
+㬠 < to\-expose\-to\-sunlight;
+檔案分配區 < file\-allocation\-table;
+㩟 < to\-sew\-some\-ornaments;
+㨌 < to\-milk\-a\-cow\-or\-goat;
+就便 < at\-\(your\)\-convenience;
+可身 < to\-fit\-well\-\(clothes\);
+科研 < \(scientific\)\-research;
+㠋 < a\-lofty\-mountain\-peak;
+㟞 < precipitous\-and\-lofty;
+㟝 < to\-bank\-up\-with\-earth;
+㟜 < shape\-of\-the\-mountain;
+㟖 < a\-dialect\-of\-minority;
+㟎 < a\-long\-mountain\-ridge;
+㞁 < can\-not\-walk\-normally;
+㘰 < name\-of\-a\-old\-country;
+㘡 < a\-pen\-for\-wild\-beasts;
+㘖 < to\-make\-a\-disturbance;
+老兩口 < an\-old\-married\-couple;
+㗁 < the\-roof\-of\-the\-mouth;
+㖗 < high\-ridges\-of\-cliffs;
+地對空導彈 < ground\-to\-air\-missile;
+㕢 < profound\-significance;
+可謂 < it\-could\-even\-be\-said;
+讓路 < to\-make\-way\-\(for\-sth\);
+㒆 < to\-gather\-the\-harvest;
+戶主 < head\-of\-the\-household;
+頒行 < issue\-for\-enforcement;
+國營企業 < nationalized\-industry;
+二十八號 < 28th\-day\-of\-the\-month;
+湖南 < hunan\-province\,\-china;
+本固枝榮 < when\-the\-root\-is\-firm;
+傳輸設備 < transmission\-facility;
+餘數 < \(numerical\)\-remainder;
+不管 < no\-matter\-\(what\,\-how\);
+版面 < space\-of\-a\-whole\-page;
+不是味兒 < not\-the\-right\-flavour;
+不禁 < can''t\-help\-\(doing\-sth;
+隨機時間 < random\-period\-of\-time;
+昏迷 < to\-lose\-consciousness;
+吐絮 < the\-opening\-of\-a\-boll;
+鋪平 < spread\-out\-\(material\);
+傳輸距離 < transmission\-distance;
+拜把子 < become\-sworn\-brothers;
+北寒帶 < the\-north\-frigid\-zone;
+不理 < refuse\-to\-acknowledge;
+變臉 < suddenly\-turn\-hostile;
+印度尼西亞語 < indonesian\-\(language\);
+海斯 < hayes\-\(microcomputer\);
+東德 < \(former\)\-east\-germany;
+暗礁 < submerged\-reef\-\(rock\);
+買好 < to\-ingratiate\-oneself;
+八路軍 < the\-eighth\-route\-army;
+暗疾 < unmentionable\-disease;
+聳動 < to\-create\-a\-sensation;
+另起爐灶 < to\-start\-from\-scratch;
+首腦會議 < leadership\-conference;
+板凳 < wooden\-bench\-or\-stool;
+不暇 < have\-no\-time\-\(for\-sth;
+悲憤 < grief\-and\-indignation;
+不信任投票 < vote\-of\-no\-confidence;
+南北極 < south\-and\-north\-poles;
+如出一轍 < be\-precisely\-the\-same;
+董事長 < chairman\-of\-the\-board;
+本人的觀點 < \(one''s\)\-personal\-view;
+特產 < special\-local\-product;
+蕭條 < \(economic\)\-depression;
+不行了 < on\-the\-point\-of\-death;
+矮杆品種 < short\-stalked\-variety;
+殯葬 < funeral\-and\-interment;
+命令 < \(an\)\-order\-or\-command;
+流亡 < to\-\(force\-into\)\-exile;
+絞盡腦汁 < to\-wrack\-one''s\-brains;
+光磁碟機 < magneto\-optical\-drive;
+卡西尼 < cassini\-\(proper\-name\);
+卑污 < despicable\-and\-filthy;
+國有企業 < nationalized\-business;
+暴卒 < die\-of\-sudden\-illness;
+逼視 < look\-at\-from\-close\-up;
+旺月 < busy\-\(business\)\-month;
+什 < file\-of\-ten\-soldiers;
+責 < one''s\-responsibility;
+爵 < feudal\-title\-or\-rank;
+啊 < exclamatory\-particle;
+楚 < name\-of\-feudal\-state;
+托 < to\-hold\-up\-with\-palm;
+汲 < draw\-water\-from\-well;
+魅 < kind\-of\-forest\-demon;
+伊 < third\-person\-pronoun;
+鸿 < species\-of\-wild\-swan;
+姥 < maternal\-grandmother;
+捧 < hold\-up\-in\-two\-hands;
+乙 < second\-heaven''s\-stem;
+吁 < interjection\-''alas\!'';
+姨 < mother\/wife''s\-sister;
+亩 < chinese\-land\-measure;
+僵 < stiff\-and\-motionless;
+拱 < fold\-hands\-on\-breast;
+禾 < grain\-still\-on\-stalk;
+嗡 < sound\-of\-flying\-bees;
+猩 < species\-of\-orangutan;
+狞 < ferocious\-appearance;
+拈 < pick\-up\-with\-fingers;
+陛 < steps\-leading\-throne;
+鸯 < female\-mandarin\-duck;
+卯 < th\-of\-earth\-branches;
+熠 < bright\-and\-sparkling;
+阂 < blocked\-or\-separated;
+淅 < water\-used\-wash\-rice;
+佚 < indulge\-in\-pleasures;
+辚 < rumbling\-of\-vehicles;
+巽 < th\-of\-the\-8\-trigrams;
+訇 < the\-sound\-of\-a\-crash;
+狺 < the\-snarling\-of\-dogs;
+浔 < steep\-bank\-by\-stream;
+蓊 < luxuriant\-vegetation;
+蓠 < gracilaria\-verrucosa;
+菀 < luxuriance\-of\-growth;
+胗 < pustules\-of\-any\-kind;
+颃 < fly\-down\-or\-downward;
+垆 < black\-clods\-of\-earth;
+樗 < ailanthus\-glandulosa;
+蚧 < a\-red\-spotted\-lizard;
+缶 < earthen\-crock\-or\-jar;
+豳 < a\-zhou\-dynasty\-state;
+轺 < small\-light\-carriage;
+逯 < leave\-without\-reason;
+列車 < train\-\(railway\-term\);
+友好 < friendly\-\(relations\);
+櫃邊 < to\-lie\-on\-one''s\-side;
+制裁 < \(economic\)\-sanctions;
+社交 < \(social\)\-interaction;
+操行 < \(student''s\)\-behavior;
+光磁碟 < magneto\-optical\-disk;
+編組 < organize\-into\-groups;
+親近 < get\-close\-to\-someone;
+博覽會 < \(international\)\-fair;
+多種語言支持 < multilingual\-support;
+結論 < \(reach\-a\)\-conclusion;
+闡述 < expound\-\(a\-position\);
+維吾爾人 < uighur\-person\|people;
+開除學籍 < to\-expel\-from\-school;
+心寒 < be\-very\-disappointed;
+組裝 < assemble\-and\-install;
+誓死 < to\-pledge\-one''s\-life;
+一般性 < \(in\)\-general\-\(terms\);
+城鄉 < city\-and\-countryside;
+協定 < \(reach\-an\)\-agreement;
+逋逃藪 < refuge\-for\-fugitives;
+首席代表 < chief\-representative;
+水域 < \(territorial\)\-waters;
+勻整 < neat\-and\-well\-spaced;
+白眼珠 < the\-white\-of\-the\-eye;
+物理結構 < physical\-composition;
+內閣 < \(government\)\-cabinet;
+廠牌 < brand\-\(of\-a\-product\);
+奶奶 < paternal\-grandmother;
+編次 < order\-of\-arrangement;
+國會議長 < speaker\-of\-the\-house;
+應用平台 < application\-platform;
+教授 < university\-professor;
+勢必 < is\-bound\-to\-\(happen\);
+墨汁 < prepared\-chinese\-ink;
+大將 < a\-general\-or\-admiral;
+氣人 < to\-get\-someone\-angry;
+包場 < book\-a\-whole\-theatre;
+六號 < 6th\-day\-of\-the\-month;
+匈牙利語 < hungarian\-\(language\);
+詞彙 < \(list\-of\)\-vocabulary;
+軟體配送者 < software\-distributor;
+不信任案 < no\-confidence\-motion;
+齞 < to\-display\-the\-teeth;
+鼈 < a\-fresh\-water\-turtle;
+鼂 < a\-kind\-of\-sea\-turtle;
+捕蟲葉 < insect\-catching\-leaf;
+鸇 < kind\-of\-bird\-of\-prey;
+攝影 < to\-take\-a\-photograph;
+鸂 < a\-kind\-of\-water\-bird;
+鷫 < turquoise\-kingfisher;
+鷁 < fishhawk\-bow\-or\-prow;
+改善關係 < to\-improve\-relations;
+辯白 < offer\-an\-explanation;
+鰜 < big\-mouthed\-flounder;
+髺 < the\-hair\-dishevelled;
+採訪 < cover\-\(a\-news\-story\);
+骣 < horse\-without\-saddle;
+停火協議 < cease\-fire\-agreement;
+餽 < make\-present\-of\-food;
+兵站 < army\-service\-station;
+韱 < wild\-onions\-or\-leeks;
+軍費 < military\-expenditure;
+二十二號 < 22\-nd\-day\-of\-a\-month;
+霃 < long\-continued\-rains;
+據悉 < according\-to\-reports;
+前年 < the\-year\-before\-last;
+闍 < tower\-over\-city\-gate;
+補色 < complementary\-colour;
+攻勢 < \(military\)\-offensive;
+確有其事 < \(confirm\-to\-be\)\-true;
+大型企業 < large\-scale\-industry;
+分擔 < share\-responsibility;
+鍱 < thin\-plates\-of\-metal;
+使徒行傳 < acts\-of\-the\-apostles;
+鉶 < sacrificial\-cauldron;
+開發 < exploit\-\(a\-resource\);
+歷代 < successive\-dynasties;
+醰 < bitter\-taste\-in\-wine;
+近日 < in\-the\-past\-few\-days;
+回訪 < \(pay\-a\)\-return\-visit;
+必不可少 < absolutely\-necessary;
+病變 < pathological\-changes;
+凌晨 < early\-in\-the\-morning;
+趂 < to\-take\-advantage\-of;
+不雅觀 < offensive\-to\-the\-eye;
+接收器靈敏度 < receiver\-sensitivity;
+不在話下 < be\-nothing\-difficult;
+陳述句 < declarative\-sentence;
+襬 < lower\-part\-of\-a\-robe;
+這個月 < this\-\(current\)\-month;
+袳 < spread\-one''s\-clothes;
+歷來最低點 < all\-time\-low\-\(point\);
+倍頻器 < frequency\-multiplier;
+槳狀 < certificate\-of\-merit;
+蜛 < hydrophilus\-cognatus;
+蛚 < cyrtoxiphus\-ritsemae;
+民族主義情緒 < nationalist\-feelings;
+領導權 < leadership\-authority;
+薢 < woody\-climbing\-plant;
+倚重 < to\-rely\-heavily\-upon;
+紀念日 < day\-of\-commemoration;
+茀 < overgrown\-with\-grass;
+芄 < metaplexis\-stauntoni;
+應用軟件 < application\-software;
+舺 < place\-name\-in\-taiwan;
+脡 < strips\-of\-dried\-meat;
+把酒 < raise\-one''s\-wine\-cup;
+軍用 < \(for\)\-military\-\(use\);
+交換技術 < switching\-technology;
+米德爾伯裡 < middlebury\-\(college\);
+保重 < take\-care\-of\-oneself;
+報仇 < to\-revenge\-\(oneself\);
+抄身 < to\-search\-\(a\-person\);
+粃 < empty\-husks\-of\-grain;
+程式語言 < programming\-language;
+白棉紙 < stencil\-tissue\-paper;
+窣 < to\-rush\-out\-of\-a\-den;
+穇 < panicum\-frumentaceum;
+棉襖 < cotton\-padded\-jacket;
+磒 < to\-fall\-from\-or\-into;
+儘早 < as\-early\-as\-possible;
+矑 < the\-pupil\-of\-the\-eye;
+睍 < to\-look\-at\-fearfully;
+培修 < to\-repair\-earthworks;
+尊重 < to\-value\-\(something\);
+甽 < drain\-between\-fields;
+甃 < brick\-wall\-of\-a\-well;
+發表聲明 < to\-issue\-a\-statement;
+琖 < carved\-jade\-wine\-cup;
+玦 < broken\-piece\-of\-jade;
+病灶 < focus\-\(of\-infection\);
+兩點十九分 < 2\-\:1\-9\-\(time\-of\-day\);
+侵襲 < to\-invade\-and\-attack;
+瀳 < to\-arrive\-\(of\-water\);
+電子工業 < electronics\-industry;
+澬 < to\-rain\-continuously;
+簡朴 < simple\-and\-unadorned;
+駁運 < transport\-by\-lighter;
+挪窩兒 < to\-move\-\(to\-a\-house\);
+召開會議 < to\-call\-a\-conference;
+洤 < a\-fountain\-or\-spring;
+例言 < introductory\-remarks;
+備查 < for\-future\-reference;
+槾 < paste\-wall\-with\-dirt;
+德國人 < german\-person\|people;
+棨 < tally\-or\-wooden\-pass;
+桬 < pear\-and\-other\-trees;
+安逸 < easy\-and\-comfortable;
+敳 < to\-govern\-forcefully;
+敁 < to\-weigh\-in\-the\-hand;
+病房 < ward\-\(of\-a\-hospital\);
+百事通 < knowledgeable\-person;
+表彰 < cite\-\(in\-dispatches\);
+搎 < to\-rub\-with\-the\-hand;
+不死心 < unwilling\-to\-give\-up;
+礦泉水 < mineral\-spring\-water;
+吃不下 < not\-feel\-like\-eating;
+幀檢驗序列 < frame\-check\-sequence;
+萬維網 < world\-wide\-web\-\(www\);
+商業應用 < business\-application;
+每況愈下 < steadily\-deteriorate;
+拜會 < pay\-an\-official\-call;
+專程 < special\-purpose\-trip;
+媒體訪問控制 < media\-access\-control;
+偽幣 < counterfeit\-currency;
+軍事機構 < military\-institution;
+嵏 < a\-mountain\-in\-shenxi;
+才略 < ability\-and\-sagacity;
+孭 < to\-carry\-on\-the\-back;
+四年制的大學 < four\-year\-university;
+層次 < arrangement\-of\-ideas;
+判處死刑 < to\-sentance\-to\-death;
+嫋 < slender\-and\-delicate;
+婣 < marriage\-connections;
+筆法 < technique\-of\-writing;
+實體層 < physical\-layer\-\(osi\);
+囬 < to\-return\-to\-or\-from;
+交通 < \(automobile\)\-traffic;
+現階段 < at\-the\-present\-stage;
+貨幣貶值 < currency\-devaluation;
+叛國罪 < the\-crime\-of\-treason;
+按照法律 < according\-to\-the\-law;
+劂 < chisel\-for\-engraving;
+啟程 < set\-out\-on\-a\-journey;
+不完全中立 < imperfect\-neutrality;
+畫報 < pictorial\-\(magazine\);
+北回歸線 < the\-tropic\-of\-cancer;
+克里斯托弗 < \(warren\)\-christopher;
+電子元件 < electronic\-component;
+經濟衰退 < \(economic\)\-recession;
+䶙 < swelling\-of\-the\-gums;
+䶊 < to\-bleed\-at\-the\-nose;
+光二極管 < light\-emitting\-diode;
+䴟 < an\-one\-year\-old\-deer;
+䳳 < a\-kind\-of\-small\-bird;
+䳑 < a\-pheasant\-like\-bird;
+䲱 < a\-kind\-of\-black\-bird;
+䲕 < the\-yangtze\-porpoise;
+䱐 < a\-kind\-of\-black\-fish;
+䱀 < a\-kind\-of\-small\-fish;
+侵擾 < to\-invade\-and\-harass;
+屏幕 < \(tv\-or\-movie\)\-screen;
+䮡 < a\-supernatural\-horse;
+䮂 < horse\-with\-long\-hair;
+䭷 < horse\-with\-long\-mane;
+䬩 < to\-abstain\-from\-meat;
+䬣 < a\-sacrificial\-victim;
+䫠 < short\-hair\-and\-beard;
+錦標賽 < championship\-contest;
+䩽 < a\-quiver\-one\-a\-horse;
+䩂 < to\-come\-to\-the\-front;
+球網 < net\-\(for\-ball\-games\);
+䧗 < mountains\-collapsing;
+䦦 < a\-musical\-instrument;
+䥤 < the\-neck\-of\-a\-pestle;
+䥄 < to\-plaster\-with\-gold;
+䤸 < short\-spear\-or\-lance;
+不穩平衡 < unstable\-equilibrium;
+漢化 < chinese\-localization;
+䠑 < between\-the\-buttocks;
+䠈 < hard\-to\-move\-forward;
+䟩 < hard\-of\-walk\-forward;
+䞙 < to\-walk\-in\-hurriedly;
+䝑 < a\-local\-produced\-pig;
+䜧 < to\-insult\-with\-words;
+䜓 < a\-slip\-of\-the\-tongue;
+䛌 < to\-provoke\-or\-arouse;
+䙮 < strip\-of\-the\-clothes;
+䘾 < legs\-of\-the\-trousers;
+信息資源 < information\-resource;
+䕫 < a\-one\-legged\-monster;
+䔈 < lush\-growth\-of\-grass;
+六十五歲 < sixty\-five\-years\-old;
+䑠 < long\-and\-narrow\-boat;
+䐸 < the\-back\-of\-the\-knee;
+䏿 < the\-calf\-of\-the\-legs;
+䏡 < uncooked\-or\-raw\-meat;
+䊳 < to\-break\-into\-pieces;
+䊲 < to\-hull\-rice\-roughly;
+䊂 < poor\-quality\-of\-rice;
+對峙 < mutual\-confrontation;
+䉑 < black\-skinned\-bamboo;
+䈦 < a\-curved\-bamboo\-whip;
+䈑 < tools\-to\-unreel\-silk;
+䈁 < tools\-used\-on\-a\-boat;
+䇘 < tool\-to\-collect\-rope;
+䆣 < abode\-of\-the\-emperor;
+䆏 < a\-kind\-of\-rice\-plant;
+䅮 < a\-full\-head\-of\-grain;
+䅓 < curved\-piece\-of\-wood;
+䅏 < rice\-boiled\-to\-gruel;
+䄯 < ten\-handle\-of\-grains;
+美軍 < us\-army\|armed\-forces;
+䄂 < to\-pray\-and\-to\-curse;
+䃰 < brick\-or\-stone\-steps;
+䂒 < short\-to\-curry\-favor;
+䂂 < to\-gaze\-at\-in\-terror;
+䁬 < to\-act\-pretentiously;
+䀷 < to\-have\-quick\-glance;
+䀲 < diseases\-in\-the\-eyes;
+位於 < be\-situated\-\(in\,\-at\);
+㿸 < to\-cast\-off\-the\-skin;
+㿞 < an\-old\-man\-of\-eighty;
+㽤 < a\-small\-plot\-of\-land;
+㽢 < to\-plough\-the\-fields;
+㽕 < new\-branches\-growing;
+㽃 < a\-big\-piece\-of\-brick;
+㼢 < bricks\-an\-eathen\-jar;
+㼉 < green\-colored\-melons;
+㻮 < bright\-and\-brilliant;
+㺮 < fine\-stone\-like\-jade;
+㺂 < big\-and\-strong\-sheep;
+㹘 < shinbone\-of\-a\-cattle;
+㸪 < an\-ox\-walking\-slowly;
+變頻 < frequency\-conversion;
+競爭力 < competitive\-strength;
+㷙 < to\-fry\-in\-fat\-or\-oil;
+㶔 < swift\-and\-torrential;
+㵞 < bellied\-in\-water\-gas;
+㳼 < bubbling\-of\-fountain;
+㳚 < flowing\-of\-the\-water;
+㳔 < to\-soak\-or\-be\-soaked;
+㲫 < hair\-knots\-in\-a\-mess;
+㰋 < a\-kind\-of\-fruit\-tree;
+㯌 < to\-operate\-or\-manage;
+智能大樓 < intelligent\-building;
+少數民族 < minority\-nationality;
+單字 < individual\-character;
+㭞 < a\-kind\-inferior\-wood;
+㭒 < a\-farming\-instrument;
+㩻 < rugged\-mountain\-path;
+㩔 < a\-tool\-to\-make\-a\-bow;
+㧹 < to\-strike\-with\-fists;
+背心 < a\-sleeveless\-garment;
+戶口 < registered\-residence;
+㡙 < curtain\-for\-carriage;
+本科 < undergraduate\-course;
+㠗 < deep\-in\-the\-mountain;
+㞟 < savings\-and\-reserves;
+㙣 < to\-pile\-a\-sand\-hills;
+便中 < at\-one''s\-convenience;
+㙑 < the\-canopy\-of\-heaven;
+㘎 < the\-roars\-of\-a\-tiger;
+鑒定委員會 < evaluation\-committee;
+㘅 < to\-hold\-in\-the\-mouth;
+寶劍 < a\-double\-edged\-sword;
+㕡 < the\-bed\-of\-a\-torrent;
+㕌 < to\-raise\-the\-curtain;
+㔋 < cut\-into\-thin\-slices;
+㒅 < to\-unbind\-the\-collar;
+㑉 < cannot\-straighten\-up;
+醞釀 < mull\-over\-\(an\-issue\);
+全面禁止 < complete\-prohibition;
+暗號 < secret\-signal\-\(sign\);
+老爺 < maternal\-grandfather;
+班期 < schedule\-\(for\-flight;
+買方 < buyer\-\(in\-contracts\);
+安娜 < anna\-\(person''s\-name\);
+騾馬大車 < mule\-and\-horse\-carts;
+經濟發展 < economic\-development;
+通訊系統 < communication\-system;
+責成 < give\-somebody\-a\-task;
+不二法門 < the\-one\-and\-only\-way;
+邏輯鏈路控制 < logical\-link\-control;
+多麼 < how\-\(wonderful\,\-etc\);
+酬謝 < to\-thank\-with\-a\-gift;
+無價珍珠 < pearl\-of\-great\-price;
+往返 < to\-go\-back\-and\-forth;
+包金 < cover\-with\-gold\-leaf;
+未成年者 < minor\-\(not\-an\-adult\);
+暑熱 < hot\-\(summer\)\-weather;
+巡迴分析端口 < roving\-analysis\-port;
+伊斯蘭堡 < islamabad\-\(pakistan\);
+運動會 < a\-sports\-competition;
+不曾 < never\-\(have\-done\-sth;
+總部 < general\-headquarters;
+貶值 < to\-become\-devaluated;
+遺骸 < \(dead\)\-human\-remains;
+二十四號 < 24\-th\-day\-of\-a\-month;
+類推 < to\-reason\-by\-analogy;
+大失所望 < greatly\-dissapointed;
+和好 < to\-become\-reconciled;
+本土 < one''s\-native\-country;
+亞倫 < aaron\-\(a\-man''s\-name\);
+羞恥 < \(a\-feeling\-of\)\-shame;
+哈佛 < harvard\-\(university\);
+暑期 < summer\-vacation\-time;
+企業集團 < industry\-association;
+管理接口 < management\-interface;
+呼喊 < shout\-\(slogans\,\-etc\);
+繽紛 < in\-riotous\-profusion;
+呈報 < to\-\(submit\-a\)\-report;
+生產設備 < production\-equipment;
+半白 < fifty\-\(years\-of\-age\);
+𠁥 < the\-horns\-of\-a\-sheep;
+跑龍套 < to\-play\-a\-small\-role;
+昂然 < upright\-and\-unafraid;
+還說 < to\-add\-\(in\-speaking\);
+更加 < more\-\(than\-sth\-else\);
+德雷爾 < \(june\-teufel\)\-dreyer;
+義務教育 < cumpulsory\-education;
+爺爺 < paternal\-grandfather;
+傳輸控制 < transmission\-control;
+不勝 < cannot\-bear\-or\-stand;
+敗胃 < spoil\-one''s\-appetite;
+變心 < cease\-to\-be\-faithful;
+不懷好意 < harbour\-evil\-designs;
+上個 < first\-\(of\-two\-parts\);
+只不過幾年前 < only\-a\-few\-years\-ago;
+幾 < how\-many\?\-how\-much\?;
+奏 < memorialize\-emperor;
+您 < honorific\-for\-''you'';
+吏 < government\-official;
+兀 < to\-cut\-off\-the\-feet;
+胴 < the\-large\-intestine;
+秦 < feudal\-state\-of\-qin;
+桁 < cross\-beams\-of\-roof;
+莎 < kind\-of\-sedge\-grass;
+薛 < kind\-of\-marsh\-grass;
+絣 < to\-baste\-for\-sewing;
+悖 < be\-contradictory\-to;
+芒 < miscanthus\-sinensis;
+嘶 < neighing\-of\-a\-horse;
+叽 < sigh\-in\-disapproval;
+厥 < personal\-pronoun\-he;
+圭 < jade\-pointed\-at\-top;
+徘 < walk\-back\-and\-forth;
+晤 < have\-interview\-with;
+舷 < the\-sides\-of\-a\-boat;
+邬 < various\-place\-names;
+褐 < coarse\-woolen\-cloth;
+馈 < offer\-food\-superior;
+唧 < chirping\-of\-insects;
+咔 < used\-in\-translation;
+灸 < cauterize\-with\-moxa;
+驷 < team\-of\-four\-horses;
+粼 < clear\-\(as\-of\-water\);
+羚 < species\-of\-antelope;
+呓 < talk\-in\-one''s\-sleep;
+篙 < pole\-used\-punt\-boat;
+湍 < rapid\-water\-current;
+脍 < minced\-meat\-or\-fish;
+鏖 < to\-fight\-to\-the\-end;
+肽 < a\-chemical\-compound;
+銮 < bells\-hung\-on\-horse;
+笳 < a\-reed\-leaf\-whistle;
+薏 < seed\-of\-job''s\-tears;
+悝 < to\-laugh\-at\-to\-pity;
+豇 < a\-small\-kidney\-bean;
+桉 < eucalyptus\-globulus;
+蹁 < to\-walk\-with\-a\-limp;
+腈 < an\-organic\-compound;
+螟 < kind\-of\-caterpillar;
+泮 < zhou\-dynasty\-school;
+鲳 < the\-silvery\-pomfret;
+霪 < long\-and\-heavy\-rain;
+枘 < the\-handle\-of\-tools;
+滹 < the\-bank\-of\-a\-steam;
+彳 < step\-with\-left\-foot;
+亍 < to\-take\-small\-steps;
+砘 < a\-kind\-of\-farm\-tool;
+栎 < chestnut\-leaved\-oak;
+鹇 < the\-silver\-pheasant;
+苌 < averrhora\-carambola;
+郛 < outer\-walls\-of\-city;
+醢 < minced\-pickled\-meat;
+眚 < disease\-of\-the\-eyes;
+裉 < s\-seam\-in\-a\-garment;
+崦 < a\-mountain\-in\-kansu;
+兕 < a\-female\-rhinoceros;
+診斷功能 < diagnostic\-function;
+財政部 < ministry\-of\-finance;
+奔流 < flow\-at\-great\-speed;
+廣告商 < advertising\-company;
+一百五十多年 < more\-than\-150\-years;
+日文 < japanese\-\(language\);
+馬來西亞語 < malasian\-\(language\);
+撞見 < to\-meet\-by\-accident;
+差額 < balance\-\(financial\);
+半截 < half\-\(of\-a\-section\);
+剛纔 < \(just\)\-a\-moment\-ago;
+慰安婦 < comfort\-woman\|women;
+折射率 < index\-of\-refraction;
+廠礦 < factories\-and\-mines;
+傳輸媒體 < transmission\-medium;
+起死回生 < arise\-from\-the\-dead;
+熱烈 < warm\-\(welcome\,\-etc\);
+高階語言 < high\-level\-language;
+年代初 < beginning\-of\-an\-age;
+亞洲與太平洋地區 < asia\-pacific\-region;
+辯護 < speak\-in\-defence\-of;
+美國人民 < the\-american\-people;
+哥倫比亞大學 < columbia\-university;
+防禦性 < defensive\-\(weapons\);
+過了五分鐘 < five\-minutes\-passed;
+打橫炮 < speak\-unwarrantedly;
+大批 < large\-quantities\-of;
+面嚮連接 < connection\-oriented;
+專業人才 < expert\-\(in\-a\-field\);
+無縫連接 < seamless\-connection;
+綁票 < kidnap\-\(for\-ransom\);
+白銅 < copper\-nickel\-alloy;
+克羅地亞語 < croatian\-\(language\);
+統稱 < collectively\-called;
+發言權 < the\-right\-of\-speech;
+廢氣 < waste\-\(exhaust\)\-gas;
+討論的議題 < topic\-of\-discussion;
+包子 < steamed\-stuffed\-bun;
+紅葉 < red\-autumnal\-leaves;
+層見迭出 < to\-occur\-frequently;
+百貨 < general\-merchandise;
+鬢髮 < hair\-on\-the\-temples;
+美國以外 < outside\-of\-the\-u\.s\.;
+儘量 < as\-much\-as\-possible;
+身高 < \(a\-person''s\)\-height;
+教學 < teacher\-and\-student;
+鄙人 < your\-humble\-servant;
+地址的轉換 < address\-translation;
+故宮 < the\-imperial\-palace;
+政局 < political\-situation;
+睿智 < wise\-and\-farsighted;
+自動地工作 < automatic\-operation;
+此時此刻 < at\-this\-very\-moment;
+鸒 < the\-eastern\-jackdaw;
+鶲 < siberian\-flycatcher;
+年之久 < period\-of\-\.\.\.\-years;
+補角 < supplementary\-angle;
+鰶 < konosirus\-punctatus;
+鯥 < pomatomus\-saltatrix;
+鯕 < coryphaena\-hippurus;
+鮶 < sebastodes\-guntheri;
+進攻 < attack\-\(militarily\);
+擺弄 < move\-back\-and\-forth;
+不中意 < not\-to\-one''s\-liking;
+飂 < wind\-in\-high\-places;
+颾 < blowing\-of\-the\-wind;
+頍 < to\-raise\-one''s\-head;
+韘 < archer''s\-thumb\-ring;
+鞬 < a\-quiver\-on\-a\-horse;
+貿易保護主義 < trade\-protectionism;
+遍布 < be\-found\-everywhere;
+多黨選舉 < multiparty\-election;
+霶 < downpouring\-of\-rain;
+霮 < denseness\-of\-clouds;
+光纖衰減 < optical\-attenuation;
+改名 < to\-change\-ones\-name;
+鑴 < to\-engrave\-or\-carve;
+不勞而獲 < reap\-without\-sowing;
+鎄 < iridium\-einsteinium;
+技術標準 < technology\-standard;
+補考 < make\-up\-examination;
+開發過程 < development\-process;
+百分制 < hundred\-mark\-system;
+鈃 < ancient\-wine\-vessel;
+酧 < to\-pledge\-with\-wine;
+分析家 < \(political\)\-analyst;
+播弄 < order\-subject\-about;
+年底 < the\-end\-of\-the\-year;
+約櫃 < ark\-of\-the\-covenant;
+幫工 < help\-with\-farm\-work;
+報廢 < report\-as\-worthless;
+通信負載 < communications\-load;
+常規武器 < conventional\-weapon;
+統計結果 < statistical\-results;
+司空見慣 < a\-common\-occurrence;
+立法會 < legislative\-council;
+執掌 < wield\-\(power\,\-etc\.\);
+襴 < a\-one\-piece\-garment;
+褃 < a\-seam\-in\-a\-garment;
+引力場 < gravitational\-field;
+兵權 < military\-leadership;
+蠰 < cerambyx\-rugicollis;
+蟨 < the\-siberian\-jerboa;
+蝝 < the\-larva\-of\-locust;
+二十七號 < 27th\-day\-of\-a\-month;
+逼供 < extort\-a\-confession;
+視而不見 < turn\-a\-blind\-eye\-to;
+保安自動化 < security\-automation;
+蔊 < nasturtium\-montanum;
+蓇 < follicles\-of\-plants;
+葇 < elsholtria\-paltrini;
+莕 < nymphoides\-peltatum;
+茳 < cyperus\-malaccensis;
+苳 < petasites\-japonicus;
+艫 < bow\-or\-prow\-of\-boat;
+消耗量 < rate\-of\-consumption;
+電子文件 < electronic\-document;
+開放 < lift\-\(restrictions\);
+登月 < go\-\(up\)\-to\-the\-moon;
+羢 < fine\-woolen\-fabrics;
+核電站 < nuclear\-power\-plant;
+羑 < a\-guide\-to\-goodness;
+結構助詞 < structural\-particle;
+字斟句酌 < weighing\-every\-word;
+繲 < to\-work\-as\-a\-tailor;
+幣值 < value\-of\-a\-currency;
+綀 < a\-kind\-of\-sackcloth;
+政治關係 < political\-relations;
+冰場 < skating\-or\-ice\-rink;
+相互兼容 < mutually\-compatible;
+尋事生非 < to\-look\-for\-trouble;
+竑 < be\-vast\-and\-endless;
+禓 < to\-drive\-out\-demons;
+祐 < divine\-intervention;
+目前 < at\-the\-present\-time;
+表面化 < come\-to\-the\-surface;
+筆譯 < written\-translation;
+筆試 < written\-examination;
+矔 < brilliant\-\(of\-eyes\);
+關切 < be\-deeply\-concerned;
+小寫字母 < lowercase\-\(letters\);
+瞕 < cataract\-in\-the\-eye;
+走開 < get\-out\-of\-the\-way\!;
+覆亡 < fall\-\(of\-an\-empire\);
+電話機 < telephone\-equipment;
+裁斷 < consider\-and\-decide;
+總統府 < presidential\-palace;
+紀元 < beginning\-of\-an\-era;
+兵團 < large\-military\-unit;
+辦事 < to\-handle\-\(affairs\);
+糾偏 < to\-correct\-an\-error;
+才識 < ability\-and\-insight;
+按理 < according\-to\-reason;
+輔幣 < fractional\-currency;
+搭伴 < travel\-with\-another;
+在某種程度上 < to\-a\-certain\-extent;
+國旗 < flag\-\(of\-a\-country\);
+軍政 < army\-and\-government;
+病況 < state\-of\-an\-illness;
+分佈式網絡 < distributed\-network;
+管理功能 < management\-function;
+轉向 < change\-of\-direction;
+橋接器 < bridge\-\(networking\);
+白卷 < blank\-examine\-paper;
+曼徹斯特編碼 < manchester\-encoding;
+八仙 < the\-eight\-immortals;
+較大 < comparatively\-large;
+筆算 < do\-a\-sum\-in\-writing;
+桪 < mythical\-giant\-tree;
+提出 < to\-raise\-\(an\-issue\);
+白人 < white\-man\-and\-woman;
+柮 < flat\-pieces\-of\-wood;
+做法 < way\-of\-doing\-things;
+暵 < dry\-by\-exposing\-sun;
+抽煙 < smoke\-\(a\-cigarette\);
+斝 < small\-jade\-wine\-cup;
+表情 < \(facial\)\-expression;
+補助 < \(financial\)\-subsidy;
+敄 < to\-put\-forth\-effort;
+膠片 < \(photographic\)\-film;
+撍 < to\-hold\-in\-the\-hand;
+不期然而然 < happen\-unexpectedly;
+揕 < roll\-up\-the\-sleeves;
+柔道 < \(the\-sport\-of\)\-judo;
+加值型網路 < value\-added\-network;
+採制 < collect\-and\-process;
+不得了 < desperately\-serious;
+抄獲 < to\-search\-and\-seize;
+表姐 < older\-female\-cousin;
+分佈控制 < distributed\-control;
+尗 < younger\-of\-brothers;
+軟件 < \(computer\)\-software;
+壐 < the\-imperial\-signet;
+招待 < to\-receive\-\(guests\);
+板梁橋 < plate\-girder\-bridge;
+垕 < used\-in\-place\-names;
+拜年 < pay\-a\-new\-year\-call;
+栽跟頭 < to\-suffer\-a\-setback;
+唚 < vomiting\-of\-animals;
+核工程 < nuclear\-engineering;
+因特網聯通 < internet\-connection;
+呺 < voice\-of\-anger\-vast;
+互通 < to\-intercommunicate;
+科學的交流 < scientific\-exchange;
+安理會 < un\-security\-council;
+網絡應用 < network\-application;
+偘 < ancient\-family\-name;
+篡位 < to\-seize\-the\-throne;
+機械翻譯 < machine\-translation;
+罷黜 < dismiss\-from\-office;
+䶯 < used\-in\-girl''s\-name;
+䶒 < outstanding\-ability;
+䶌 < a\-pustule\-or\-pimple;
+䶄 < striped\-mottled\-rat;
+䵱 < red\-and\-black\-color;
+䵔 < to\-turn\-on\-the\-heel;
+䴪 < a\-fabulous\-creature;
+䴠 < a\-young\-tailed\-deer;
+屬實 < turn\-out\-to\-be\-true;
+䱧 < a\-kind\-of\-fish\-eels;
+䰜 < a\-large\-earthen\-pot;
+䮷 < movement\-of\-a\-horse;
+䮃 < to\-go\-before\-others;
+派遣 < send\-\(on\-a\-mission\);
+䫱 < a\-part\-of\-the\-skull;
+䫩 < to\-shake\-one''s\-head;
+䪿 < the\-top\-of\-the\-head;
+䪽 < hoary\-haired\-person;
+䩷 < the\-sides\-of\-a\-shoe;
+䩧 < to\-tie\-up\-hurriedly;
+䩌 < to\-have\-a\-worn\-look;
+䧔 < to\-meet\-at\-the\-bank;
+䦙 < a\-government\-agency;
+䥧 < a\-fine\-kind\-of\-jade;
+訊框傳送服務 < frame\-relay\-service;
+䤆 < a\-kind\-of\-rice\-wine;
+䤁 < cooked\-or\-well\-done;
+䢋 < a\-marshal\-or\-herald;
+並重 < lay\-equal\-stress\-on;
+軟件技術 < software\-technology;
+䟣 < an\-animal\-in\-legend;
+䞳 < to\-stumble\-and\-fall;
+䝠 < a\-kind\-of\-wild\-boar;
+䜁 < to\-abuse\-and\-insult;
+䙒 < to\-store\-or\-save\-up;
+䙏 < short\-sleeves\-shirt;
+䙁 < children''s\-garments;
+䘪 < clothes\-without\-hem;
+䖢 < first\-born\-silkworm;
+䖖 < to\-show\-familiarity;
+䕾 < a\-kind\-of\-vegetable;
+䕘 < a\-variety\-of\-fungus;
+䕃 < the\-shade\-of\-a\-tree;
+䓷 < nymphoides\-peltalum;
+䓍 < cruciferous\-flowers;
+䒈 < side\-beam\-of\-a\-boat;
+䒀 < short\-and\-deep\-boat;
+䑇 < medicine\-for\-a\-sore;
+䐭 < a\-discharge\-or\-flux;
+䏹 < to\-watch\-stealthily;
+䏨 < to\-swell\-up\-greatly;
+䏆 < buzzing\-in\-the\-ears;
+䍷 < to\-chase\-each\-other;
+䋹 < breadth\-of\-material;
+䋰 < to\-bind\-or\-restrain;
+才學 < talent\-and\-learning;
+耕耘 < plowing\-and\-weeding;
+擺門面 < keep\-up\-appearances;
+訊框傳送網路 < frame\-relay\-network;
+䇽 < a\-coarse\-bamboo\-mat;
+䆯 < a\-short\-shaped\-face;
+䅯 < a\-variety\-of\-millet;
+䅟 < varieties\-of\-millet;
+䅒 < a\-sharp\-edged\-grass;
+慈祥 < \(a\)\-kindly\-\(person\);
+䁋 < with\-one\-eye\-closed;
+䁃 < to\-look\-attentively;
+䀤 < insight\-of\-jealousy;
+䀣 < to\-look\-steadily\-at;
+奶油菜花 < creamed\-cauliflower;
+㿓 < disease\-of\-the\-hoof;
+光發送器 < optical\-transmitter;
+㾻 < not\-any\-progressive;
+㾶 < disease\-of\-the\-knee;
+安樂 < peace\-and\-happiness;
+㾢 < a\-malignant\-disease;
+㽭 < vacant\-lot\-or\-space;
+㽌 < the\-ridge\-of\-a\-roof;
+㽂 < a\-cracked\-container;
+㼙 < brickwork\-of\-a\-well;
+㼒 < a\-kind\-of\-big\-melon;
+網絡環境 < network\-environment;
+愛人如己 < love\-others\-as\-self;
+㸶 < color\-of\-the\-oxtail;
+㸵 < the\-lowing\-of\-an\-ox;
+㸥 < household\-registers;
+㸢 < cross\-beam\-of\-a\-bed;
+㸞 < blocks\-for\-printing;
+㸓 < to\-have\-disappeared;
+㸀 < blackened\-with\-soot;
+㷤 < rosy\-clouds\-of\-dawn;
+騙取 < to\-gain\-by\-cheating;
+㲇 < the\-rattle\-of\-drums;
+㱾 < a\-kind\-of\-ornaments;
+㱹 < to\-die\-from\-disease;
+㱫 < destroyed\-or\-ruined;
+㱪 < stupid\-and\-confused;
+㱊 < asthmatic\-breathing;
+㱉 < moving\-of\-the\-mouth;
+㰴 < to\-grate\-on\-the\-ear;
+㰯 < the\-way\-of\-speaking;
+路透社 < reuters\-news\-agency;
+涼爽 < cool\-and\-refreshing;
+黨組 < leading\-party\-group;
+例外 < \(make\-an\)\-exception;
+㫯 < in\-contravention\-of;
+資源 < \(natural\)\-resources;
+商會 < chamber\-of\-commerce;
+赤字 < \(financial\)\-deficit;
+㩦 < to\-lead\-by\-the\-hand;
+㩘 < to\-moor\-to\-the\-bank;
+㨝 < the\-very\-hard\-stuff;
+㧅 < to\-turn\-upside\-down;
+㦓 < difficult\-intention;
+㥝 < to\-arouse\-to\-action;
+阿拉巴馬 < alabama\-\(u\.s\.state\);
+㢊 < to\-set\-side\-by\-side;
+㢂 < of\-highly\-strategic;
+鋰離子電池 < lithium\-ion\-battery;
+終點地址 < destination\-address;
+㟱 < shape\-of\-a\-mountain;
+㟓 < lofty\-and\-dangerous;
+㟒 < mountains\-adjoining;
+並聯 < parallel\-connection;
+㘫 < to\-fall\-into\-a\-well;
+財源 < financial\-resources;
+㗶 < to\-expel\-the\-breath;
+科學院 < academy\-of\-sciences;
+㖪 < sound\-of\-surprising;
+㔹 < a\-surplus\-or\-excess;
+㓷 < to\-cut\-off\-the\-nose;
+㒄 < brittle\-and\-friable;
+㒃 < capital\-form\-of\-two;
+量變 < quantitative\-change;
+耐煩 < patient\-\(adjective\);
+丙綸 < polypropylene\-fibre;
+二十六號 < 26th\-day\-of\-a\-month;
+步進制 < step\-by\-step\-system;
+前蘇聯 < former\-soviet\-union;
+不在意 < pay\-no\-attention\-to;
+決議 < \(pass\-a\)\-resolution;
+錯字 < incorrect\-character;
+中國當局 < chinese\-authorities;
+伴唱 < vocal\-accompaniment;
+識貨 < to\-know\-what''s\-what;
+稟性 < natural\-disposition;
+預習 < to\-prepare\-a\-lesson;
+合情合理 < reasonable\-and\-fair;
+流派 < school\-\(of\-thought\);
+百依百順 < docile\-and\-obedient;
+半自耕農 < semi\-tenant\-peasant;
+哀憐 < feel\-compassion\-for;
+反彈導彈 < antimissile\-missile;
+財寶 < money\-and\-valuables;
+生產設施 < production\-facility;
+葡萄牙人 < portuguese\-\(person\);
+事宜 < \(make\)\-arrangements;
+敗類 < scum\-of\-a\-community;
+不絕如縷 < hanging\-by\-a\-thread;
+旗袍 < chinese\-style\-dress;
+長期穩定性 < long\-term\-stability;
+技術知識 < technical\-knowledge;
+徐行 < walk\-slowly\,\-stroll;
+藏族 < tibetan\-nationality;
+樓宇自動化 < building\-automation;
+外孫女 < daughter''s\-daughter;
+冰醋酸 < glacial\-acetic\-acid;
+美國軍人 < american\-serviceman;
+阿比西尼亞人 < abyssinian\-\(person\);
+消炎藥 < antibiotic\-medicine;
+照顧 < take\-\(good\)\-care\-of;
+委員長 < head\-of\-a\-committee;
+視窗加速器 < windows\-accelarator;
+讓步 < \(make\-a\)\-concession;
+邊遠 < far\-from\-the\-center;
+華爾街日報 < wall\-street\-journal;
+擺闊 < parade\-one''s\-wealth;
+情報局 < intelligence\-agency;
+晴朗 < sunny\-and\-cloudless;
+悲壯 < solemn\-and\-stirring;
+國際貿易 < international\-trade;
+罷市 < shopkeeper''s\-strike;
+不妨 < there\-is\-no\-harm\-in;
+人造語言 < artificial\-language;
+亞太經合組織 < apec\-\(organization\);
+丹參 < salvia\-miltiorrhiza;
+零落 < withered\-and\-fallen;
+包身工 < indentured\-labourer;
+得知 < \(find\-out\-and\)\-know;
+變故 < an\-unforeseen\-event;
+不敗之地 < invincible\-position;
+恐怕 < \(i''m\)\-afraid\-\(that\);
+自身利益 < one''s\-own\-interests;
+廠規 < factory\-regulations;
+預定 < schedule\-in\-advance;
+不凡 < out\-of\-the\-ordinary;
+競爭產品 < competitive\-product;
+敗績 < be\-utterly\-defeated;
+暴利 < sudden\-huge\-profits;
+非核國家 < non\-nuclear\-country;
+罪名 < a\-\(criminal\)\-charge;
+不乏 < there\-is\-no\-lack\-of;
+合同 < \(business\)\-contract;
+北京人 < person\-from\-beijing;
+氣候狀況 < climatic\-conditions;
+玖 < black\-colored\-jade;
+哪 < which\?\-where\?\-how\?;
+牲 < sacrificial\-animal;
+漢 < the\-chinese\-people;
+漕 < transport\-by\-water;
+阴 < ''female''\-principle;
+仙 < taoist\-super\-being;
+驻 < to\-be\-stationed\-at;
+腮 < lower\-part\-of\-face;
+拒 < ward\-off\-with\-hand;
+桂 < cassia\-or\-cinnamon;
+朵 < cluster\-of\-flowers;
+曹 < ministry\-officials;
+罎 < an\-earthenware\-jar;
+丸 < small\-round\-object;
+矩 < carpenter''s\-square;
+腊 < year\-end\-sacrifice;
+龟 < turtle\-or\-tortoise;
+邸 < official\-residence;
+侃 < upright\-and\-strong;
+邂 < unexpected\-meeting;
+怯 < lacking\-in\-courage;
+甸 < suburbs\-of\-capital;
+捞 < scoop\-out\-of\-water;
+扛 < carry\-on\-shoulders;
+虔 < act\-with\-reverence;
+霖 < long\-spell\-of\-rain;
+韧 < strong\-and\-pliable;
+瑾 < brilliance\-of\-gems;
+桔 < chinese\-bellflower;
+鸳 < male\-mandarin\-duck;
+钗 < ornamental\-hairpin;
+巅 < summit\-of\-mountain;
+樨 < osmanthus\-fragrans;
+蠡 < wood\-boring\-insect;
+蹂 < trample\-under\-foot;
+骥 < thoroughbred\-horse;
+唁 < express\-condolence;
+骅 < an\-excellent\-horse;
+碉 < room\-made\-of\-stone;
+疟 < intermittent\-fever;
+纣 < name\-of\-an\-emperor;
+磬 < musical\-instrument;
+爿 < half\-of\-tree\-trunk;
+旎 < fluttering\-of\-flag;
+夔 < one\-legged\-monster;
+殍 < to\-starve\-to\-death;
+骊 < a\-pure\-black\-horse;
+湎 < flushed\-with\-drink;
+喵 < the\-mew\-of\-the\-cat;
+焙 < dry\-over\-slow\-fire;
+绾 < to\-string\-together;
+眦 < corner\-of\-the\-eyes;
+瑁 < fine\-piece\-of\-jade;
+粳 < non\-glutinous\-rice;
+餮 < a\-legendary\-animal;
+汊 < a\-branching\-stream;
+缃 < light\-yellow\-color;
+檩 < the\-bole\-of\-a\-tree;
+奁 < lady''s\-vanity\-case;
+楸 < mallotus\-japonicus;
+骺 < tip\-of\-a\-long\-bone;
+藿 < lophanthus\-rugosus;
+樾 < the\-shade\-of\-trees;
+酤 < to\-deal\-in\-spirits;
+臌 < dropsical\-swelling;
+跫 < sound\-of\-footsteps;
+綮 < embroidered\-banner;
+觳 < an\-ancient\-measure;
+杌 < the\-stump\-f\-a\-tree;
+嵫 < a\-hill\-in\-shantung;
+擗 < to\-beat\-the\-breast;
+脔 < small\-lump\-of\-meat;
+醅 < unstrained\-spirits;
+羰 < carbonyl\-\(radical\);
+蛸 < long\-legged\-spider;
+瞀 < to\-look\-at\-closely;
+殳 < name\-of\-old\-weapon;
+崞 < mountain\-in\-shanxi;
+垲 < high\-and\-dry\-place;
+虿 < a\-kind\-of\-scorpion;
+疳 < childhood\-diseases;
+罾 < a\-large\-square\-net;
+獬 < a\-fabulous\-monster;
+負責任 < responsibility\-for;
+幫辦 < assist\-in\-managing;
+酬應 < social\-interaction;
+無論 < no\-matter\-what\|how;
+原定 < originally\-planned;
+通行 < licence\-\(computer\);
+環形結構 < ring\-configuration;
+司令 < commanding\-officer;
+糾集 < to\-gather\-together;
+送行 < to\-see\-someone\-off;
+西班牙語 < spanish\-\(language\);
+違約 < to\-break\-a\-promise;
+危局 < perilous\-situation;
+一般來說 < generally\-speaking;
+軟件開發人員 < software\-developer;
+撥號 < dial\-\(a\-telephone\);
+國民黨軍隊 < nationalist\-forces;
+首腦會晤 < leadership\-meeting;
+變修 < become\-revisionist;
+違章 < to\-break\-the\-rules;
+重要問題 < an\-important\-issue;
+網管 < network\-management;
+蒙文 < mongolian\-language;
+性交 < sexual\-intercourse;
+中山裝 < chinese\-tunic\-suit;
+緬甸語 < burmese\-\(language\);
+政治犯 < political\-prisoner;
+年以來 < since\-the\-year\-\.\.\.;
+新華社 < xinhua\-news\-agency;
+不中用 < unfit\-for\-anything;
+一小時以後 < a\-short\-time\-later;
+領先地位 < lead\(ing\)\-position;
+進一步 < \(one\-step\)\-further;
+物價 < \(commodity\)\-prices;
+信息系統 < information\-system;
+後天 < day\-after\-tomorrow;
+提供商 < provider\-\(company\);
+太平 < peace\-and\-security;
+矚望 < to\-look\-forward\-to;
+協助 < provide\-assistance;
+採風 < collect\-folk\-songs;
+種族清洗 < \"ethnic\-cleansing\";
+描金 < to\-outline\-in\-gold;
+助教 < teaching\-assistant;
+夫婦 < a\-\(married\)\-couple;
+乒乓球檯 < table\-tennis\-table;
+英語 < english\-\(language\);
+運氣 < luck\-\(good\-or\-bad\);
+非常嚴厲 < to\-punish\-severely;
+原蘇聯 < fomer\-soviet\-union;
+採錄 < collect\-and\-record;
+熊掌 < bear\-paw\-\(as\-food\);
+內部結構 < internal\-strucutre;
+新兵 < new\-\(army\)\-recruit;
+數據通信 < data\-communication;
+天安門 < tiananmen\-\(square\);
+非常感謝 < extremely\-grateful;
+龖 < flight\-of\-a\-dragon;
+斃命 < meet\-violent\-death;
+鸜 < a\-species\-of\-mynah;
+鷽 < oriental\-bullfinch;
+克隆技術 < cloning\-technology;
+電子網絡 < electronic\-network;
+鴗 < alcedo\-bengalensis;
+鱵 < hyporhampus\-sajuri;
+失事 < \(have\-an\)\-accident;
+不受理 < reject\-a\-complaint;
+鬠 < to\-make\-a\-top\-knot;
+發達國 < developing\-country;
+白麵書生 < pale\-faced\-scholar;
+跑警報 < to\-run\-for\-shelter;
+餼 < sacrificial\-victim;
+電信 < telecommunications;
+捨身 < to\-give\-one''s\-life;
+頔 < good\-and\-beautiful;
+芝蘭 < irises\-and\-orchids;
+財務軟件 < financial\-software;
+改口 < to\-correct\-oneself;
+白開水 < plain\-boiled\-water;
+政務 < government\-affairs;
+內科 < medical\-department;
+元素 < \(chemical\)\-element;
+加入 < to\-become\-a\-member;
+招待會 < \(press\)\-conference;
+選區 < electoral\-district;
+釒 < kangxi\-radical\-167;
+鄮 < ancient\-place\-name;
+土著 < native\,\-aboriginal;
+懷俄明 < wyoming\-\(us\-state\);
+卡拉奇 < karachi\-\(pakistan\);
+操守 < personal\-integrity;
+轙 < rings\-on\-the\-yokes;
+傲視 < turn\-up\-one''s\-nose;
+軰 < a\-row\-of\-carriages;
+半規管 < semicircular\-canal;
+馬來語 < malaysian\-language;
+古典語言 < classical\-language;
+谽 < a\-mouth\-or\-opening;
+莫如 < it\-would\-be\-better;
+結帳 < to\-settle\-accounts;
+四處 < all\-over\-the\-place;
+比不上 < can''t\-compare\-with;
+網路連接層 < network\-link\-layer;
+訁 < kangxi\-radical\-149;
+襵 < a\-pleat\-in\-a\-skirt;
+褰 < lift\-up\-the\-skirts;
+坦率 < frank\-\(discussion\);
+運作 < thread\-\(computing\);
+多米尼加共和國 < dominican\-republic;
+週刊 < weekly\-publication;
+蚹 < eulota\-peliomphala;
+薷 < elshotria\-paltrini;
+保駕 < escort\-the\-emperor;
+蕺 < houttuynia\-cordata;
+蓴 < edible\-water\-plant;
+兩個中國 < two\-china\-\(policy\);
+葴 < physalis\-alkekengi;
+共有 < to\-have\-altogether;
+報喜 < announce\-good\-news;
+跑電 < electrical\-leakage;
+荅 < answer\:\-small\-bean;
+茖 < allium\-victorialis;
+國防部 < defense\-department;
+芣 < medicinal\-plantago;
+撥刺 < splash\-\(of\-a\-fish\);
+拜見 < pay\-a\-formal\-visit;
+外來投資 < foreign\-investment;
+趕不上 < can''t\-keep\-up\-with;
+翯 < glistening\-plumage;
+翖 < ksc\-extension\-3108;
+初中 < junior\-high\-school;
+羧 < carboxyl\-\(radical\);
+土耳其語 < turkish\-\(language\);
+不正之風 < unhealthy\-tendency;
+抄道 < to\-take\-a\-shortcut;
+演說 < \(deliver\-a\)\-speech;
+要地 < strategic\-location;
+辦報 < to\-run\-a\-newspaper;
+集成電路 < integrated\-circuit;
+糒 < food\-for\-a\-journey;
+出任 < start\-in\-a\-new\-job;
+閉關政策 < closed\-door\-policy;
+內情 < inside\-information;
+拿主意 < to\-make\-a\-decision;
+網絡技術 < network\-technology;
+常委會 < standing\-committee;
+中國政府 < chinese\-government;
+開展 < \(begin\-to\)\-develop;
+令牌環網 < token\-ring\-network;
+皪 < luster\-\(of\-pearls\);
+大明鼎鼎 < a\-grand\-reputation;
+痜 < a\-scabby\-bald\-head;
+大學生 < university\-student;
+甿 < farming\-population;
+貿易組織 < trade\-organization;
+甋 < a\-jar\-without\-ears;
+琤 < jade\-of\-jade\-being;
+玘 < court\-dress\-jewels;
+遍地開花 < blossom\-everywhere;
+獳 < fierce\-dog\-looking;
+俄語 < russian\-\(language\);
+山腳 < foot\-of\-a\-mountain;
+煍 < to\-colour\-by\-smoke;
+高速網絡 < high\-speed\-network;
+灥 < a\-group\-of\-springs;
+康奈爾大學 < cornell\-university;
+公司 < \(business\)\-company;
+拉票 < campaign\-for\-votes;
+手術 < surgical\-operation;
+八卦 < the\-eight\-diagrams;
+瀏覽器 < browser\-\(software\);
+體溫 < \(body\)\-temperature;
+書面許可 < written\-permission;
+泲 < kind\-of\-white\-wine;
+世紀末 < end\-of\-the\-century;
+氍 < fine\-woollen\-cloth;
+漂移 < drift\-\(electrical\);
+聯合公報 < joint\-announcement;
+研究機構 < research\-institute;
+佛蘭芒語 < flemish\-\(language\);
+停滯 < be\-at\-a\-standstill;
+國會議員 < member\-of\-congress;
+最近幾年 < the\-last\-few\-years;
+精簡開支 < to\-reduce\-spending;
+柺 < an\-old\-man''s\-staff;
+杻 < ligustrum\-sinenese;
+杙 < a\-tiny\-wooden\-post;
+不置可否 < decline\-to\-comment;
+軍官 < \(military\)\-officer;
+昷 < to\-feed\-a\-prisoner;
+旼 < gentle\-and\-affable;
+塞爾維亞語 < serbian\-\(language\);
+擭 < trap\-catch\-animals;
+三角腹帶 < athletic\-supporter;
+筆直 < perfectly\-straight;
+產生 < to\-come\-into\-being;
+駐華 < stationed\-in\-china;
+斯瓦希裡語 < swahili\-\(language\);
+授受 < to\-give\-and\-accept;
+疫情 < epidemic\-situation;
+深造 < advanced\-\(studies\);
+衛生設備 < sanitary\-equipment;
+造成問題 < to\-create\-an\-issue;
+彄 < nock\-at\-end\-of\-bow;
+捨命 < to\-risk\-one''s\-life;
+擁護者 < supporter\-\(person\);
+國務卿 < secretary\-of\-state;
+嶨 < big\-rocky\-mountain;
+裁並 < cut\-down\-and\-merge;
+嵖 < name\-of\-a\-mountain;
+使節 < \(diplomatic\)\-envoy;
+國家標準碼 < gb\-\(guo\-biao\)\-code;
+半輩子 < half\-of\-a\-lifetime;
+本初子午線 < the\-first\-meridian;
+家庭消費者 < household\-consumer;
+壜 < earthen\-jar\-or\-jug;
+至少 < \(to\-say\-the\)\-least;
+墐 < to\-build\-with\-soil;
+站管理 < station\-management;
+買賣 < buying\-and\-selling;
+噋 < to\-swallow\-hastily;
+測繪 < to\-survey\-and\-draw;
+背約 < break\-an\-agreement;
+色情小說 < pornographic\-novel;
+哰 < incoherent\-chatter;
+芬蘭語 < finnish\-\(language\);
+貴妃醉酒 < the\-drunken\-beauty;
+變法兒 < try\-different\-ways;
+海空軍 < navy\-and\-air\-force;
+電子信箱 < electronic\-mailbox;
+路徑 < route\-\(networking\);
+佷 < to\-act\-contrary\-to;
+舉例 < to\-give\-an\-example;
+撒哈拉以南非洲 < sub\-saharan\-africa;
+乑 < stand\-side\-by\-side;
+才智 < ability\-and\-wisdom;
+䶣 < to\-grind\-the\-teeth;
+䶟 < to\-gnash\-the\-teeth;
+䵕 < a\-varietyof\-millet;
+䴱 < cakes\-and\-biscuits;
+䳨 < the\-female\-phoenix;
+䳔 < a\-pigeon\-like\-bird;
+䱳 < a\-kind\-of\-sturgeon;
+䱣 < a\-long\-narrow\-fish;
+䰪 < mischievous\-spirit;
+䯱 < the\-hair\-stands\-up;
+䯏 < the\-shoulder\-blade;
+䮥 < color\-of\-the\-horse;
+細菌戰 < biological\-warfare;
+䭰 < strong\-sweet\-smell;
+䭋 < to\-eat\-to\-the\-full;
+䭃 < to\-eat\-to\-the\-fool;
+䬴 < fodder\-for\-animals;
+䬧 < round\-shaped\-cakes;
+打拳 < to\-do\-shadowboxing;
+脈欂 < beating\-\(of\-heart\);
+䫐 < to\-bend\-one''s\-head;
+䪌 < cushion\-for\-saddle;
+䨆 < a\-kind\-of\-pheasant;
+䧼 < the\-the\-snow\-goose;
+䧦 < name\-of\-a\-hillside;
+新加坡人 < singaporean\-person;
+䦮 < door\-of\-the\-center;
+自主 < to\-act\-for\-oneself;
+䦒 < the\-door\-is\-closed;
+䦐 < the\-bolt\-of\-a\-door;
+期貨 < futures\-\(on\-goods\);
+䥳 < a\-chemical\-element;
+䥞 < to\-cut\-with\-shears;
+䥝 < desperate\-fighting;
+侵截 < to\-hack\-\(computer\);
+䣺 < filtrated\-the\-wine;
+頭髮 < hair\-\(on\-the\-head\);
+䡠 < strong\-and\-durable;
+䡛 < name\-of\-a\-carriage;
+䠧 < hard\-to\-go\-forward;
+䟝 < to\-walk\-right\-into;
+䝞 < name\-of\-a\-immortal;
+䛉 < to\-induce\-by\-words;
+䚧 < curved\-with\-angles;
+大力發展 < vigorous\-expansion;
+䙃 < sleeveless\-clothes;
+質疑 < call\-into\-question;
+䗻 < a\-kind\-of\-sea\-crab;
+䗨 < lepsima\-saccharina;
+䗣 < insect\-of\-mulberry;
+服務規章 < service\-regulation;
+䖧 < a\-poisonous\-insect;
+䖓 < of\-a\-walking\-tiger;
+䕪 < the\-water\-plantain;
+䔼 < sound\-of\-the\-grass;
+䔃 < cordate\-houttuynia;
+䓨 < long\-necked\-bottle;
+䓖 < cnidium\-officinale;
+䓃 < melancholy\-and\-sad;
+䒝 < root\-of\-the\-thatch;
+首次 < for\-the\-first\-time;
+䑙 < put\-out\-the\-tongue;
+䑆 < feel\-like\-vomiting;
+在傳輸過程中 < while\-transmitting;
+䐔 < muscle\-of\-the\-calf;
+䎾 < big\-and\-round\-eyes;
+域名服務器 < domain\-name\-server;
+䎴 < a\-legendary\-spirit;
+䎪 < the\-stalk\-of\-grain;
+梆子 < watchman''s\-clapper;
+䎔 < fine\-and\-soft\-hair;
+䎏 < young\-birds\-flying;
+油餅 < deep\-fried\-pancake;
+䍩 < to\-offer\-provision;
+䍣 < a\-kind\-of\-fish\-net;
+䌍 < fine\-woven\-pattern;
+䌉 < the\-large\-of\-a\-net;
+泄露 < leak\-\(information\);
+䋈 < to\-bind\-loose\-hemp;
+䉬 < coarse\-bamboo\-mats;
+䈮 < a\-woven\-instrument;
+䇳 < a\-memoradum\-tablet;
+䆪 < color\-of\-the\-light;
+䆥 < to\-pierce\-throughj;
+䆑 < a\-little\-protruded;
+投入 < put\-into\-operation;
+䅽 < fragrance\-or\-aroma;
+䅧 < fine\-rice\-seedling;
+䅜 < to\-store\-up\-grains;
+䄚 < to\-worship\-the\-god;
+䃜 < a\-fine\-black\-stone;
+䁊 < dark\-and\-deep\-eyed;
+䀞 < with\-heavy\-eyelids;
+䀗 < to\-look\-askance\-at;
+析疑 < to\-resolve\-a\-doubt;
+㿌 < lump\-in\-the\-throat;
+竭盡全力 < to\-spare\-no\-effort;
+瑞典語 < swedish\-\(language\);
+㼣 < bricks\-of\-the\-well;
+㼇 < fine\-jade\-or\-agate;
+涉嫌人 < \(criminal\)\-suspect;
+㻗 < a\-string\-of\-pearls;
+㻊 < a\-red\-colored\-jade;
+㻅 < jade\-decorated\-cap;
+藏語 < tibetan\-\(language\);
+不折不扣 < a\-hundred\-per\-cent;
+㺧 < a\-white\-yellow\-dog;
+㸽 < a\-two\-years\-old\-ox;
+木耳 < edible\-tree\-fungus;
+㸈 < scorched\-or\-burned;
+㷳 < color\-of\-the\-flame;
+喘息 < to\-gasp\-for\-breath;
+棄世 < to\-leave\-this\-word;
+㷢 < bundle\-of\-charcoal;
+㷠 < a\-will\-o''\-the\-wisp;
+㵓 < the\-water\-is\-clear;
+㴾 < swelling\-or\-rising;
+併捲機 < ribbon\-lap\-machine;
+別動隊 < special\-detachment;
+㳂 < to\-follow\-a\-course;
+㲡 < thick\-coat\-of\-hair;
+㲗 < to\-smooth\-the\-hair;
+愛稱 < term\-of\-endearment;
+科研樣機 < research\-prototype;
+㯶 < the\-coir\-palm\-tree;
+㯲 < a\-wooden\-framework;
+㯛 < gourd\-shaped\-dates;
+㮻 < to\-scratch\-lightly;
+區域網路 < local\-area\-network;
+㮍 < amemorandum\-tablet;
+㭨 < the\-cocoa\-nut\-palm;
+㭝 < name\-of\-a\-pavilion;
+發送功率 < transmission\-power;
+㬴 < the\-moon\-is\-dimmed;
+㬒 < the\-sun\-are\-dimmed;
+㬎 < motes\-in\-a\-sunbeam;
+政府警告 < government\-warning;
+㫦 < of\-look\-of\-the\-sun;
+㪸 < to\-fill\-a\-cup\-with;
+㩃 < to\-take\-or\-capture;
+㨽 < to\-cut\-or\-rip\-open;
+㨡 < to\-push\-with\-hands;
+㨜 < to\-help\-each\-other;
+核能技術 < nuclear\-technology;
+年輕化 < make\-more\-youthful;
+專員 < assistant\-director;
+㥸 < to\-sympathize\-with;
+㥨 < unhappy\-displeased;
+㤪 < to\-find\-fault\-with;
+㣌 < to\-join\-two\-things;
+㡯 < wall\-of\-a\-building;
+頓足 < stamp\-\(one''s\-feet\);
+加速器 < accelerator\-\(comp\);
+㘳 < a\-hillock\-or\-mound;
+㘱 < to\-fall\-into\-ruins;
+意大利語 < italian\-\(language\);
+㘜 < a\-kind\-of\-silkworm;
+㖅 < sound\-of\-a\-whistle;
+㖃 < to\-roar\-of\-animals;
+㔢 < to\-break\-something;
+不等號 < sign\-of\-inequality;
+現有 < currently\-existing;
+西半球 < western\-hemisphere;
+鼻樑 < bridge\-of\-the\-nose;
+參贊 < diplomatic\-officer;
+並立 < exist\-side\-by\-side;
+貿易 < \(commercial\)\-trade;
+多端中繼器 < multiport\-repeater;
+北京大學 < beijing\-university;
+報務員 < telegraph\-operator;
+酬酢 < to\-exchange\-toasts;
+浪涌 < \(electrical\)\-surge;
+佔先 < to\-take\-precedence;
+背光 < be\-in\-a\-poor\-light;
+光波長 < optical\-wavelength;
+深夜 < very\-late\-at\-night;
+喉擦音 < guttural\-fricative;
+八級工 < eight\-grade\-worker;
+佛蒙特 < vermont\-\[us\-state\];
+露面 < appear\-\(in\-public\);
+商務 < commercial\-affairs;
+聯邦政府 < federal\-government;
+猜疑 < harbour\-suspicions;
+生活必需品 < life''s\-necessities;
+貴姓 < what\-is\-your\-name\?;
+猙獰 < mean\-and\-ferocious;
+進行編程 < executable\-program;
+液壓 < hydraulic\-pressure;
+管理站 < management\-station;
+鼻塞 < have\-a\-stuffy\-nose;
+虛擬連接 < virtual\-connection;
+點心 < light\-refreshments;
+客戶應用 < client\-application;
+不隨意肌 < involuntary\-muscle;
+說不定 < can''t\-say\-for\-sure;
+波斯語 < bosnian\-\(language\);
+海域 < territorial\-waters;
+比試 < have\-a\-competition;
+採取措施 < to\-adopt\-a\-measure;
+儘可能 < as\-far\-as\-possible;
+哈佛大學 < harvard\-university;
+電路 < \(electric\)\-circuit;
+中將 < lieutenant\-general;
+包承組 < \(responsible\)\-crew;
+百葉箱 < thermometer\-screen;
+暗線光譜 < dark\-line\-spectrum;
+文藝 < literature\-and\-art;
+版稅 < royalty\-\(on\-books\);
+電視節目 < television\-program;
+情報 < \(spy\)\-intelligence;
+編遣 < reorganize\-\(troops;
+避雷器 < lightning\-arrester;
+必不可少組成 < absolute\-necessity;
+泰山 < taishan\-\(mountain\);
+悉尼 < sydney\-\(australia\);
+戰鬥機 < fighter\-\(aircraft\);
+薄情 < inconstant\-in\-love;
+民用 < \(for\)\-civilian\-use;
+編譯 < translate\-and\-edit;
+福利 < \(material\)\-welfare;
+簡短介紹 < brief\-introduction;
+海灣戰爭 < \(persian\)\-gulf\-war;
+地球大氣 < earth''s\-atmosphere;
+同學 < \(fellow\)\-classmate;
+不和 < not\-get\-along\-well;
+不厭 < not\-mind\-doing\-sth;
+反感 < \(strongly\)\-dislike;
+針對 < in\-connection\-with;
+服務質量 < quality\-of\-service;
+另寄 < to\-mail\-separately;
+變幻 < change\-irregularly;
+報關 < declare\-at\-customs;
+署名 < sign\-\(a\-signature\);
+遊覽 < to\-go\-sight\-seeing;
+不攻自破 < collapse\-of\-itself;
+文化傳統 < cultural\-tradition;
+顯示器 < monitor\-\(computer\);
+皿 < shallow\-container;
+屓 < gigantic\-strength;
+派 < school\-of\-thought;
+姓 < one''s\-family\-name;
+煎 < fry\-in\-fat\-or\-oil;
+襁 < swaddling\-clothes;
+哈 < sound\-of\-laughter;
+鸚 < species\-of\-parrot;
+欧 < translit\.\:\-europe;
+订 < draw\-up\-agreement;
+偏 < inclined\-one\-side;
+歔 < blow\-through\-nose;
+培 < bank\-up\-with\-dirt;
+漫 < overflow\-of\-water;
+侠 < chivalrous\-person;
+姆 < child''s\-governess;
+盒 < small\-box\-or\-case;
+儒 < confucian\-scholar;
+阪 < hillside\-farmland;
+迈 < take\-a\-big\-stride;
+捏 < pick\-with\-fingers;
+浙 < zhejiang\-province;
+筧 < bamboo\-water\-pipe;
+艘 < counter\-for\-ships;
+趁 < take\-advantage\-of;
+鉢 < earthenware\-basin;
+蓬 < type\-of\-raspberry;
+辖 < linchpin\-of\-wheel;
+逅 < meet\-unexpectedly;
+酣 < enjoy\-intoxicants;
+饺 < stuffed\-dumplings;
+咏 < sing\-song\-or\-poem;
+搀 < give\-helping\-hand;
+捶 < strike\-with\-stick;
+刨 < carpenter''s\-plane;
+蠕 < eumenes\-polifomis;
+崆 < kongtong\-mountain;
+盅 < small\-cup\-or\-bowl;
+梆 < watchman''s\-rattle;
+嵇 < mountain\-in\-henan;
+耷 < ears\-hanging\-down;
+羌 < qiang\-nationality;
+苞 < a\-variety\-of\-rush;
+藜 < chenopodium\-album;
+艄 < stern\-of\-a\-vessel;
+峁 < yellow\-dirt\-mount;
+镔 < high\-quality\-iron;
+鲫 < carassius\-auratus;
+龇 < to\-show\-the\-teeth;
+沭 < river\-in\-shantung;
+榫 < mortise\-and\-tenon;
+萋 < luxuriant\-foliage;
+醮 < religious\-service;
+牝 < female\-of\-species;
+曷 < why\?\-what\?\-where\?;
+瑷 < fine\-quality\-jade;
+耦 < plow\-side\-by\-side;
+鸶 < the\-eastern\-egret;
+篦 < fine\-toothed\-comb;
+妁 < act\-as\-go\-between;
+荥 < a\-county\-in\-henan;
+戽 < to\-bale\-out\-water;
+枳 < trifoliate\-orange;
+椐 < zelkowa\-acuminata;
+魉 < a\-kind\-of\-monster;
+颞 < the\-temporal\-bone;
+耩 < to\-plough\.\-to\-sow;
+廨 < government\-office;
+蟮 < type\-of\-earthworm;
+蛱 < kind\-of\-butterfly;
+禳 < pray\-or\-sacrifice;
+瞢 < eyesight\-obscured;
+蔸 < counter\-for\-plant;
+螅 < \(intestinal\-worm\);
+祧 < an\-ancestral\-hall;
+蠃 < the\-solitary\-wasp;
+聃 < ears\-without\-rims;
+耜 < spade\-shaped\-tool;
+慝 < do\-evil\-in\-secret;
+庳 < a\-low\-built\-house;
+鼢 < a\-variety\-of\-mole;
+蚺 < a\-boa\-constrictor;
+硇 < a\-kind\-of\-mineral;
+硭 < a\-crude\-saltpetre;
+胨 < a\-kind\-of\-protein;
+外界 < the\-outside\-world;
+變天 < change\-of\-weather;
+比濕 < specific\-humidity;
+可行性研究 < feasibility\-study;
+網絡遷移 < network\-migration;
+電腦軟件 < computer\-software;
+必修課 < a\-required\-course;
+德文 < german\-\(language\);
+僅次于 < second\-only\-to\.\.\.;
+朝鮮語 < korean\-\(language\);
+資料傳輸 < data\-transmission;
+卑怯 < mean\-and\-cowardly;
+兵馬 < troops\-and\-horses;
+數據庫軟件 < database\-software;
+碩士 < master''s\-\(degree\);
+西裡爾字母 < cyrillic\-alphabet;
+國防部長 < defence\-secretary;
+白骨 < bones\-of\-the\-dead;
+巨大壓力 < enormous\-pressure;
+照相 < take\-a\-photograph;
+白飯 < plain\-cooked\-rice;
+日子 < a\-\(calendar\)\-date;
+建築業 < building\-industry;
+政治氣候 < political\-climate;
+廣域網路 < wide\-area\-network;
+教友大會 < church\-conference;
+美國航空公司 < american\-airlines;
+教材 < teaching\-material;
+鄰國 < bordering\-country;
+機製 < machine\-processed;
+長達 < extend\-as\-long\-as;
+化妝 < to\-put\-on\-make\-up;
+難捱 < trying\,\-difficult;
+大局 < general\-situation;
+撒迦利亞書 < book\-of\-zechariah;
+敏感 < sensitive\-\(issue\);
+紡織 < spinning\-\(thread\);
+大多 < for\-the\-most\-part;
+徒刑 < \(prison\)\-sentence;
+軍事力量 < military\-strength;
+波士頓大學 < boston\-university;
+支持 < to\-be\-in\-favor\-of;
+紛紛 < one\-after\-another;
+麥克維 < \(timothy\)\-mcveigh;
+應用層 < application\-layer;
+桌別林 < \(charlie\)\-chaplin;
+電話服務 < telephone\-service;
+蓋爾語 < gaelic\-\(language\);
+交換以太網絡 < switched\-ethernet;
+外國 < foreign\-\(country\);
+阿拉伯語 < arabic\-\(language\);
+捕食 < catch\-and\-feed\-on;
+支柱產業 < mainstay\-industry;
+無所謂 < to\-be\-indifferent;
+多站地址 < multicast\-address;
+齄 < red\-sores\-on\-nose;
+經濟安全 < economic\-security;
+黟 < black\-and\-shining;
+鹁 < species\-of\-pigeon;
+輔課 < subsidiary\-course;
+外交風波 < diplomatic\-crisis;
+鵵 < scops\-semitorques;
+八股 < eight\-\-part\-essay;
+平民 < \(ordinary\)\-people;
+郊區 < suburban\-district;
+兩者 < both\-sides\|things;
+鮸 < sciaena\-albiflora;
+魫 < the\-young\-of\-fish;
+部份 < part\-\(of\-a\-whole\);
+髽 < to\-dress\-the\-hair;
+電話網路 < telephone\-network;
+白肉 < plain\-boiled\-pork;
+饩 < sacrficial\-victim;
+邊塞 < frontier\-fortress;
+餂 < to\-obtain\-by\-hook;
+石刻 < stone\-inscription;
+鞸 < leather\-arm\-guard;
+靿 < the\-leg\-of\-a\-boot;
+緊密 < inseparably\-close;
+隸 < be\-subservient\-to;
+機器人 < mechanical\-person;
+閪 < to\-lose\-lost\-item;
+邊卡 < border\-checkpoint;
+緩和 < to\-ease\-\(tension\);
+反過來說 < on\-the\-other\-hand;
+維持費 < maintenance\-costs;
+銠 < rhodium\-ruthenium;
+編印 < compile\-and\-print;
+鉕 < promethium\-bronze;
+辦公自動化 < office\-automation;
+鈳 < columbium\-niobium;
+凱旋 < return\-triumphant;
+歐洲語言 < european\-language;
+瀉肚 < to\-have\-diarrhoea;
+醭 < moulds\-on\-liquids;
+醑 < to\-strain\-spirits;
+酺 < drink\-with\-others;
+網絡設備 < network\-equipment;
+白眼 < supercilious\-look;
+板擦兒 < blackboard\-eraser;
+日益增加 < to\-increase\-daily;
+貍 < a\-fox\-like\-animal;
+眼尖 < to\-have\-good\-eyes;
+豋 < ceremonial\-vessel;
+報帳 < render\-an\-account;
+經濟力量 < economic\-strength;
+覼 < explain\-in\-detail;
+同性戀 < homosexual\-\(love\);
+補發 < supply\-again\-\(sth;
+變本加厲 < become\-aggravated;
+不及物動詞 < intransitive\-verb;
+光纖接口 < optical\-interface;
+諾貝爾和平獎 < nobel\-peace\-prize;
+蜔 < inlaid\-shell\-work;
+把頭 < labour\-contractor;
+商業行為 < business\-activity;
+軍費開支 < military\-spending;
+蘵 < physalis\-angulata;
+性騷擾 < sexual\-harassment;
+藨 < kind\-of\-raspberry;
+蕸 < water\-lily''s\-leaf;
+蕑 < valeriana\-villosa;
+軟件平臺 < software\-platform;
+葎 < humulus\-japonicus;
+屏障 < protective\-screen;
+菣 < artemisia\-apiacea;
+莛 < stalks\-of\-grasses;
+火星 < mars\-\(the\-planet\);
+茍 < to\-be\-circumspect;
+騎馬 < ride\-on\-horseback;
+橫斷物 < transverse\-object;
+抄錄 < to\-make\-a\-copy\-of;
+揭曉 < announce\-publicly;
+罛 < large\-fishing\-net;
+白屈菜 < greater\-celandine;
+縰 < band\-for\-the\-hair;
+綎 < silk\-braided\-cord;
+按圖索驥 < try\-to\-locate\-sth;
+紬 < kind\-of\-thin\-silk;
+病程 < course\-of\-disease;
+傳輸率 < transmission\-rate;
+籸 < powdery\-substance;
+希伯來語 < hebrew\-\(language\);
+籓 < big\-winnow\-basket;
+開發週期 < development\-cycle;
+篨 < coarse\-bamboo\-mat;
+申訴 < to\-appeal\-\(to\-sb\);
+伺服器 < server\-\(computer\);
+供需 < supply\-and\-demand;
+地殼 < the\-earth''s\-crust;
+閉幕 < the\-curtain\-falls;
+祊 < river\-in\-shandong;
+盛名 < famous\-reputation;
+工委 < working\-committee;
+戰略夥伴 < strategic\-partner;
+筆調 < \(of\-writing\)\-tone;
+展覽 < to\-put\-on\-display;
+白布 < plain\-white\-cloth;
+靜脈吸毒 < intraveneous\-drug;
+瘵 < a\-wasting\-disease;
+無期徒刑 < life\-imprisonment;
+工地 < construction\-site;
+璫 < pendant\-ornaments;
+百分之百 < a\-hundred\-percent;
+棕色 < brown\-\(the\-color\);
+篇目 < table\-of\-contents;
+玞 < an\-inferior\-agate;
+膝上型電腦 < laptop\-\(computer\);
+萊溫斯基 < \(monica\)\-lewinsky;
+熀 < the\-blaze\-of\-fire;
+住院 < to\-be\-in\-hospital;
+傳輸服務 < transport\-service;
+搏動 < beat\-rhythmically;
+接待 < receive\-\(a\-visit\);
+灎 < movement\-of\-water;
+公務 < official\-business;
+渰 < forming\-or\-rising;
+拘留 < detain\-\(prisoner\);
+洶 < the\-rush\-of\-water;
+綜合布線 < integrated\-wiring;
+國際法 < international\-law;
+公佈 < publicly\-announce;
+內亂 < internal\-disorder;
+衛星 < \(space\)\-satellite;
+拍照 < to\-take\-a\-picture;
+病故 < die\-of\-an\-illness;
+衝擊 < \(be\-under\)\-attack;
+長久 < \(for\-a\)\-long\-time;
+朠 < color\-of\-the\-moon;
+傳輸通道 < transport\-channel;
+政府部門 < government\-branch;
+暔 < name\-of\-a\-country;
+錄音 < \(sound\)\-recording;
+新聞週刊 < newsweek\-magazine;
+攰 < totally\-exhausted;
+保祐 < bless\-and\-protect;
+掫 < be\-on\-night\-watch;
+捷報 < report\-of\-success;
+捥 < to\-bend\-the\-wrist;
+團圓 < to\-have\-a\-reunion;
+直接競爭 < direct\-competitor;
+中央委員會 < central\-committee;
+醫療經驗 < medical\-expertise;
+廣播地址 < broadcast\-address;
+愰 < clearness\-of\-mind;
+授勛 < to\-award\-an\-honor;
+哀鳴 < a\-plaintive\-whine;
+生物武器 < biological\-weapon;
+弖 < phonetic\-for\-''te'';
+懂行 < to\-know\-the\-ropes;
+軍區 < a\-military\-region;
+保爾 < \(a\-personal\-name\);
+財閥 < financial\-magnate;
+暗無天日 < complete\-darkness;
+尨 < shaggy\-haired\-dog;
+拍攝 < \(shoot\-a\)\-picture;
+侵截者 < \(computer\)\-hacker;
+考驗 < \(put\-to\-the\)\-test;
+保溫 < heat\-preservation;
+高級研究 < advanced\-research;
+屏氣 < hold\-one''s\-breath;
+自主系統 < autonomous\-system;
+白金漢宮 < buckingham\-palace;
+運行狀況 < operational\-state;
+夊 < kangxi\-radical\-35;
+困難在於 < the\-problem\-is\.\.\.;
+日耳曼語 < germanic\-language;
+稟賦 < natural\-endowment;
+病危 < be\-critically\-ill;
+傳輸協定 < transfer\-protocol;
+喿 < chirping\-of\-birds;
+喼 < used\-phonetically;
+喹 < chemical\-compound;
+併發 < be\-complicated\-by;
+哵 < the\-cry\-of\-a\-bird;
+哴 < crying\-of\-infants;
+財貿 < finance\-and\-trade;
+大刀闊斧 < bold\-and\-decisive;
+特別待遇 < special\-treatment;
+吢 < vomiting\-of\-a\-dog;
+初學者 < beginning\-student;
+專用網路 < dedicated\-network;
+西王母 < name\-of\-a\-goddess;
+五角大樓官員 < pentagon\-official;
+敘利亞文 < syriac\-\(language\);
+漢字 < chinese\-character;
+安穩 < smooth\-and\-steady;
+倈 < to\-induce\-to\-come;
+俈 < to\-inform\-quickly;
+到那個時候 < until\-this\-moment;
+仂 < surplus\-or\-excess;
+在頭版 < on\-the\-front\-page;
+專業 < specialized\-field;
+乪 < a\-bend\-in\-a\-river;
+趨時 < to\-follow\-fashion;
+䶰 < feather\-ornaments;
+䶖 < disease\-of\-tongue;
+䵜 < to\-plough\-and\-sow;
+䴊 < the\-crow\-pheasant;
+仍舊 < still\-\(remaining\);
+䳤 < a\-kind\-of\-strange;
+䳙 < a\-egret\-like\-bird;
+拗口 < hard\-to\-pronounce;
+䯥 < with\-a\-high\-skull;
+䯢 < partial\-paralysis;
+䮫 < a\-big\-mule\-an\-ass;
+䮚 < diseases\-of\-horse;
+䮐 < in\-good\-condition;
+䭔 < steamed\-dumplings;
+䬰 < light\-refreshment;
+䬕 < sound\-of\-the\-wind;
+䬍 < the\-sound\-of\-wind;
+䬆 < a\-blustering\-gale;
+䫦 < the\-lower\-jawbone;
+䫟 < facial\-complexion;
+䫍 < to\-bow\-one''s\-head;
+䫉 < facial\-appearance;
+不歡而散 < part\-on\-bad\-terms;
+䨕 < pouring\-with\-rain;
+中華民國 < republic\-of\-china;
+䧺 < the\-male\-of\-birds;
+䦪 < sound\-of\-the\-door;
+喘氣 < to\-breathe\-deeply;
+䦃 < to\-dig\-with\-a\-hoe;
+䣻 < color\-of\-the\-wine;
+拜倒 < prostrate\-oneself;
+波蘭語 < polish\-\(language\);
+䢝 < the\-next\-in\-order;
+䡷 < noise\-of\-vehicles;
+䡪 < fan\-of\-a\-carriage;
+䡙 < an\-armed\-carriage;
+䞕 < color\-of\-the\-fire;
+䞂 < fairly\-prosperous;
+才思 < imaginative\-power;
+䝺 < to\-pierce\-through;
+䝳 < to\-kill\-for\-money;
+䝲 < farewell\-presents;
+並駕齊驅 < run\-neck\-and\-neck;
+波音 < boeing\-\(aircraft\);
+轟炸機 < bomber\-\(aircraft\);
+䜢 < cruel\-and\-violent;
+難以應付 < hard\-to\-deal\-with;
+䚠 < unbroken\-firewood;
+䚝 < new\-growing\-horns;
+䚚 < horn\-of\-an\-animal;
+䚑 < to\-steal\-a\-glance;
+䚀 < to\-see\-stealthily;
+䙴 < to\-soar\-as\-a\-bird;
+䙪 < a\-loop\-for\-button;
+洛杉磯時報 < los\-angeles\-times;
+䘎 < name\-of\-an\-insect;
+硬件平臺 < hardware\-platform;
+䗹 < hairy\-caterpillar;
+作業 < school\-assignment;
+官方語言 < official\-language;
+鼓舞 < heartening\-\(news\);
+䕧 < zizania\-latifolia;
+䕆 < round\-straw\-quilt;
+醫學家 < medical\-scientist;
+䓛 < molecular\-formula;
+䒽 < illicium\-anisatum;
+䒐 < disturbed\-in\-mind;
+䑼 < ocean\-going\-liner;
+北京近郊 < suburb\-of\-beijing;
+䐠 < between\-the\-flesh;
+䐘 < to\-laugh\-heartily;
+䏰 < a\-kind\-of\-insects;
+華盛頓 < washington\-\(d\.c\.\);
+䍭 < a\-ewe\-or\-she\-goat;
+䍇 < flat\-bottom\-crock;
+䌨 < thin\-silk\-fabrics;
+䋻 < to\-spin\-and\-weave;
+䋺 < a\-swing\-a\-crupper;
+䋘 < to\-hand\-by\-a\-rope;
+文化的交流 < cultural\-exchange;
+䊯 < grains\-with\-beard;
+䉌 < crude\-bamboo\-mats;
+䈠 < books\-and\-volumes;
+斯洛伐克語 < slovak\-\(language\);
+案情 < details\-of\-a\-case;
+丟飯碗 < to\-lose\-one''s\-job;
+䄉 < a\-rite\-or\-service;
+財神 < the\-god\-of\-wealth;
+䁄 < to\-close\-the\-eyes;
+䀹 < to\-wink\-eyelashes;
+比較新 < comparatively\-new;
+㿃 < an\-ox\-headed\-boil;
+㾱 < incurable\-disease;
+㽍 < an\-earthen\-vessel;
+㺿 < a\-jade\-like\-stone;
+外國旅遊者 < foreign\-traveller;
+現狀 < current\-situation;
+小報 < tabloid\-newspaper;
+㶿 < the\-smoke\-went\-up;
+㶴 < a\-very\-great\-fire;
+一般原則 < general\-principle;
+㵫 < water\-gushing\-out;
+㵍 < filled\-with\-water;
+㵄 < name\-of\-a\-dynasty;
+朝聖 < make\-a\-pilgrimage;
+㳜 < the\-flowing\-water;
+㲲 < fine\-cotton\-cloth;
+㲘 < fine\-woolen\-cloth;
+㲋 < a\-kind\-of\-animals;
+㲃 < smooth\-and\-curved;
+保健 < health\-protection;
+㯿 < handle\-of\-a\-ladle;
+㯦 < the\-game\-of\-chess;
+淫水 < sexual\-secretions;
+㮵 < common\-sandalwood;
+㮨 < codium\-macronatum;
+㮚 < the\-chestnut\-tree;
+㬛 < to\-dry\-in\-the\-sun;
+射頻干擾 < radio\-interferece;
+㩮 < to\-lift\-up\-or\-off;
+㩩 < to\-come\-to\-an\-end;
+㩙 < a\-cork\-or\-stopper;
+㨢 < to\-rip\-open\-flesh;
+電信號 < electrical\-signal;
+尋味 < to\-think\-sth\-over;
+板煙 < plug\-\(of\-tobacco\);
+注視 < watch\-attentively;
+㣢 < to\-rest\-from\-work;
+㣓 < literary\-in\-taste;
+㣍 < a\-raised\-platform;
+㢮 < to\-unstring\-a\-bow;
+㢑 < a\-collapsed\-house;
+㢄 < a\-kind\-of\-utensil;
+法語 < french\-\(language\);
+㡟 < bed\-mats\-for\-baby;
+㠷 < a\-vessel\-for\-rice;
+㠥 < rugged\-and\-uneven;
+㟴 < lump\-on\-the\-hills;
+㟤 < zhuang\-in\-guangxi;
+㟃 < to\-have\-charge\-of;
+㞭 < name\-of\-an\-island;
+四面八方 < in\-all\-directions;
+㝌 < prolonged\-illness;
+㛴 < to\-anger\-to\-annoy;
+㚅 < to\-worship\-of\-god;
+㙩 < an\-enclosing\-wall;
+㘦 < wall\-made\-of\-soil;
+㘚 < angry\-air\-of\-look;
+㗼 < eating\-or\-talking;
+㗥 < sound\-of\-striking;
+㖧 < can\-not\-see\-clear;
+㔝 < strong\-resistance;
+㓾 < to\-wound\-the\-skin;
+獨立 < to\-be\-independent;
+㑝 < to\-make\-a\-fool\-of;
+㑏 < to\-stand\-and\-wait;
+㑊 < a\-kind\-of\-disease;
+秘書長 < secretary\-general;
+走出 < to\-move\-away\-from;
+聲援 < support\-\(a\-cause\);
+礦藏 < mineral\-resources;
+寫信 < to\-write\-a\-letter;
+三維 < three\-dimensional;
+穴居 < to\-live\-in\-a\-cave;
+狀語 < adverbial\-adjunct;
+在大多數情況下 < in\-most\-instances;
+酬金 < \(monetary\)\-reward;
+國家安全 < national\-security;
+財政 < finances\-\(public\);
+海洋溫度 < ocean\-temperature;
+網際協定 < internet\-protocol;
+外交關係 < foreign\-relations;
+安危 < safety\-and\-danger;
+巴克夏豬 < berkshire\-\(swine\);
+名稱 < name\-\(of\-a\-thing\);
+物質 < \(physical\)\-matter;
+吃穿 < food\-and\-clothing;
+訊框傳送論壇 < frame\-relay\-forum;
+穴位 < acupuncture\-point;
+學位 < educational\-level;
+各界 < all\-walks\-of\-life;
+耳子 < handle\-\(on\-a\-pot\);
+歐洲人 < european\-\(person\);
+思維 < \(line\-of\)\-thought;
+衛生部 < health\-department;
+業界標準 < industry\-standard;
+以免 < in\-order\-to\-avoid;
+一千七百萬 < seventeen\-million;
+事實 < \(the\)\-fact\-\(that\);
+本性 < natural\-instincts;
+難題 < difficult\-problem;
+委員會會議 < committee\-meeting;
+變相 < in\-disguised\-form;
+財務 < financial\-affairs;
+服役 < serve\-in\-the\-army;
+醫療 < medical\-treatment;
+陸基導彈 < land\-based\-missle;
+敬重 < to\-respect\-deeply;
+暗河 < underground\-river;
+頸椎 < cervical\-vertibra;
+網點 < node\-in\-a\-network;
+黑客 < hacker\-\(computer\);
+纖芯 < core\-\(of\-a\-fiber\);
+編隊 < form\-into\-columns;
+敗退 < retreat\-in\-defeat;
+本國 < one''s\-own\-country;
+太平洋 < the\-pacific\-ocean;
+原因是 < the\-reason\-is\-\.\.\.;
+計算機工業 < computer\-industry;
+西番雅書 < book\-of\-zephaniah;
+語言 < \(spoken\)\-language;
+一年半 < a\-year\-and\-a\-half;
+專家評論 < expert\-commentary;
+阿爾巴尼亞人 < albanian\-\(person\);
+不屑 < disdain\-to\-do\-sth;
+嚇得發抖 < tremble\-with\-fear;
+半票 < half\-price\-ticket;
+獨唱 < \(in\-singing\)\-solo;
+不甘心 < not\-reconciled\-to;
+四門轎車 < sedan\-\(motor\-car\);
+私人 < private\-\(citizen\);
+獲准 < obtain\-permission;
+客戶機 < client\-\(computer\);
+權鑰 < keys\-of\-authority;
+失業率 < unemployment\-rate;
+爆管 < cartridge\-igniter;
+礦床 < \(mineral\)\-deposit;
+愛不釋手 < fondle\-admiringly;
+止血 < stanch\-\(bleeding\);
+名字 < \(a\-person''s\)\-name;
+警察局 < police\-department;
+台幣 < new\-taiwan\-dollar;
+顧及 < take\-into\-account;
+歸心者 < religious\-convert;
+沒關係 < it\-doesn''t\-matter;
+下去 < go\-down\-\(descend\);
+從頭到腳 < from\-head\-to\-foot;
+勻稱 < well\-proportioned;
+不力 < not\-do\-one''s\-best;
+道謝 < to\-express\-thanks;
+硝煙 < smoke\-\(from\-guns\);
+藝人 < performing\-artist;
+包園兒 < buy\-the\-whole\-lot;
+教練 < \(athlete''s\)\-coach;
+出院 < to\-leave\-hospital;
+阿里 < ali\-\(proper\-name\);
+一身汗 < sweating\-all\-over;
+附近 < \(in\-the\)\-vicinity;
+廣播網路 < broadcast\-network;
+笨口拙舌 < awkward\-in\-speech;
+牌樓 < decorated\-archway;
+巴斯克語 < basque\-\(language\);
+父母 < father\-and\-mother;
+華北平原 < north\-china\-plain;
+救恩計劃 < plan\-of\-salvation;
+个 < numerary\-adjunct;
+里 < unit\-of\-distance;
+阳 < ''male''\-principle;
+訝 < express\-surprise;
+黍 < glutinous\-millet;
+剧 < theatrical\-plays;
+蘂 < stamen\-or\-pistil;
+挺 < to\-stand\-upright;
+础 < foundation\-stone;
+舅 < mother''s\-brother;
+萧 < common\-artemisia;
+俺 < personal\-pronoun;
+玲 < tinkling\-of\-jade;
+捩 < twist\-with\-hands;
+黛 < blacken\-eyebrows;
+妆 < to\-adorn\-oneself;
+幢 < carriage\-curtain;
+梭 < weaver''s\-shuttle;
+漪 < ripples\-on\-water;
+眷 < take\-interest\-in;
+勋 < meritorious\-deed;
+甭 < there\-is\-no\-need;
+祠 < ancestral\-temple;
+舔 < lick\-with\-tongue;
+蕊 < unopened\-flowers;
+赣 < jiangxi\-province;
+跷 < raise\-one''s\-foot;
+剁 < chop\-by\-pounding;
+薰 < a\-medicinal\-herb;
+叼 < holding\-in\-mouth;
+荼 < bitter\-vegetable;
+徙 < move\-one''s\-abode;
+涔 < river\-in\-shaanxi;
+潢 < expanse\-of\-water;
+秸 < stalks\-of\-millet;
+袈 < buddhist\-cassock;
+珞 < kind\-of\-necklace;
+啾 < wailing\-of\-child;
+亻 < radical\-number\-9;
+夙 < early\-in\-morning;
+鹘 < a\-kind\-of\-pigeon;
+娩 < give\-birth\-child;
+姝 < a\-beautiful\-girl;
+懑 < be\-sick\-at\-heart;
+锉 < carpenter''s\-file;
+洱 < a\-lake\-in\-yunnan;
+蝈 < small\-green\-frog;
+帼 < women''s\-headgear;
+狎 < be\-familiar\-with;
+胪 < arrange\-in\-order;
+豢 < domestic\-animals;
+眇 < blind\-in\-one\-eye;
+羿 < legendary\-archer;
+芩 < salt\-marsh\-plant;
+茭 < an\-aquatic\-grass;
+蓖 < castor\-oil\-plant;
+傧 < entertain\-guests;
+薜 < evergreen\-shrubs;
+趺 < sit\-cross\-legged;
+椹 < a\-chopping\-board;
+霈 < torrential\-rains;
+曩 < in\-ancient\-times;
+栌 < supporting\-block;
+哚 < chemical\-element;
+筌 < bamboo\-fish\-trap;
+浍 < irrigation\-ditch;
+猁 < a\-kind\-of\-monkey;
+啶 < \-d\-\+\-ine\-\(chem\.\);
+鬯 < sacrificial\-wine;
+鲷 < pagrosomus\-major;
+聱 < bent\-and\-twisted;
+劢 < put\-forth\-effort;
+蟪 < a\-kind\-of\-cicada;
+赆 < farewell\-present;
+埯 < cover\-with\-earth;
+鲔 < kind\-of\-sturgeon;
+罨 < medical\-compress;
+嫜 < husband''s\-parent;
+漤 < marinate\-in\-salt;
+嚆 < give\-forth\-sound;
+薹 < cyperus\-rotundus;
+茆 < species\-of\-grass;
+磨子 < mill\,\-millstones;
+共產黨部隊 < communist\-forces;
+后人 < later\-generation;
+航空母艦 < aircraft\-carrier;
+識字 < to\-learn\-to\-read;
+中國大陸 < chinese\-mainland;
+影像會議 < video\-conference;
+心得 < knowledge\-gained;
+悲歡離合 < joys\-and\-sorrows;
+百里挑一 < one\-in\-a\-hundred;
+白細胞 < white\-blood\-cell;
+語法術語 < grammatical\-term;
+求婚 < propose\-marriage;
+編目 < make\-a\-catalogue;
+電流 < electric\-current;
+城鎮 < cities\-and\-towns;
+委員 < committee\-member;
+壁畫 < mural\-\(painting\);
+姓名 < name\-and\-surname;
+是否 < whether\-\(or\-not\);
+總機 < central\-exchange;
+過程 < course\-of\-events;
+熊猴 < assamese\-macaque;
+大會 < general\-assembly;
+基調 < \(speech\)\-keynote;
+誤會 < to\-misunderstand;
+更高性能 < high\-performance;
+超高速乙太網路 < gigabit\-ethernet;
+訂票 < to\-issue\-tickets;
+壽桃 < birthday\-peaches;
+軍事科學 < military\-science;
+服務提供者 < service\-provider;
+器官移殖 < organ\-transplant;
+移動式電話 < mobile\-telephone;
+巴豆 < \(purging\)\-croton;
+壽星 < god\-of\-longevity;
+影像處理 < image\-processing;
+入迷 < to\-be\-fascinated;
+明代 < the\-ming\-dynasty;
+性關係 < sexual\-relations;
+人事部門 < personnel\-office;
+退票 < bounce\-\(a\-check\);
+潛在威脅 < potential\-threat;
+殯儀館 < the\-undertaker''s;
+統計數據 < statistical\-data;
+繃子 < embroidery\-frame;
+得出 < obtain\-\(results\);
+免費 < free\-\(of\-charge\);
+遲暮 < past\-one''s\-prime;
+研討會 < discussion\-forum;
+不分青紅皂白 < indiscriminately;
+特定含義 < specific\-meaning;
+金融系統 < financial\-system;
+導致死亡 < to\-lead\-to\-death;
+板上釘釘 < that\-clinches\-it;
+網橋 < \(network\)\-bridge;
+列為 < be\-classified\-as;
+婚外性接觸 < extramarital\-sex;
+國防 < national\-defence;
+故居 < former\-residence;
+波美比重計 < baume\-hydrometer;
+齙 < projecting\-teeth;
+鹶 < salty\-and\-bitter;
+剽悍 < swift\-and\-fierce;
+武官 < military\-attache;
+不等邊三角形 < scalene\-triangle;
+違憲 < unconstitutional;
+鯆 < the\-skate\-or\-ray;
+勞動 < \(physical\)\-labor;
+為生 < to\-make\-a\-living;
+電腦企業 < computer\-company;
+公羊 < ram\-\(male\-sheep\);
+船隊 < fleet\-\(of\-ships\);
+魬 < sole\-or\-flounder;
+廣州 < guangzhou\-\(city\);
+唉聲嘆氣 < heave\-deep\-sighs;
+不好意思 < feel\-embarrassed;
+電力 < electrical\-power;
+補血 < enrich\-the\-blood;
+骴 < a\-putrid\-carcase;
+外國投資者 < foreign\-investor;
+馘 < cut\-off\-left\-ear;
+巴布亞新幾內亞 < papau\-new\-guinea;
+資料量 < quantity\-of\-data;
+編輯室 < editorial\-office;
+飀 < soughing\-of\-wind;
+燈光 < \(stage\)\-lighting;
+韝 < leather\-arm\-band;
+韊 < a\-case\-for\-a\-bow;
+鞶 < big\-leather\-belt;
+透支 < \(bank\)\-overdraft;
+正常工作 < normal\-operation;
+雗 < a\-white\-pheasant;
+隤 < to\-fall\-in\-ruins;
+傳真發送 < fax\-transmission;
+闠 < gate\-of\-a\-market;
+異性性接觸 < heterosexual\-sex;
+迴旋 < maneuvering\-room;
+拉丁語 < latin\-\(language\);
+操作系統 < operating\-system;
+銻 < antimony\-stibium;
+銧 < point\-of\-a\-sword;
+鉀 < potassium\-kalium;
+白磷 < white\-phosphorus;
+適配層 < adaptation\-layer;
+出風頭 < to\-create\-a\-stir;
+報捷 < report\-a\-success;
+訪問 < pay\-a\-visit\-\(to\);
+傳輸媒界 < transport\-method;
+除夕 < \(new\-year''s\)\-eve;
+躷 < of\-short\-stature;
+蹱 < to\-stagger\-along;
+蹐 < take\-short\-steps;
+桌上型電腦 < desktop\-computer;
+辦案 < to\-handle\-a\-case;
+賙 < give\-for\-charity;
+越野車 < off\-road\-vehical;
+豏 < half\-grown\-beans;
+網絡直徑 < network\-diameter;
+訂單 < \(purchase\)\-order;
+成群結隊 < in\-large\-numbers;
+適配器 < adapter\-\(device\);
+副主席 < vice\-chairperson;
+華僑 < overseas\-chinese;
+誕 < to\-bear\-children;
+滑鼠 < mouse\-\(computer\);
+覂 < to\-throw\-a\-rider;
+襱 < legs\-of\-trousers;
+裛 < to\-wrap\-and\-bind;
+袗 < unlined\-garments;
+無所不賣 < to\-sell\-anything;
+衎 < to\-give\-pleasure;
+蟿 < acrida\-chinensis;
+螋 < spider\-millipede;
+蝻 < immature\-locusts;
+病菌 < harmful\-bacteria;
+記者招待會 < press\-conference;
+捷克語 < czech\-\(language\);
+虥 < striped\-wild\-cat;
+筆底下 < ability\-to\-write;
+進修 < advanced\-studies;
+藦 < edible\-mushrooms;
+長江 < changjiang\-river;
+藋 < sambucu\-javinica;
+薃 < cyperus\-amuricus;
+通用電器 < general\-electric;
+蔇 < luxuriant\-growth;
+幾千 < several\-thousand;
+朝鮮半島 < korean\-peninsula;
+葙 < celosia\-argentea;
+菉 < the\-green\-bamboo;
+芘 < malva\-sylvestris;
+到了 < in\-\(a\-past\-time\);
+核原料 < nuclear\-material;
+有關人士 < persons\-involved;
+報名 < enter\-one''s\-name;
+出名 < well\-known\-\(for\);
+授獎 < to\-award\-a\-prize;
+體育 < physical\-culture;
+耶利米書 < book\-of\-jeremiah;
+耼 < ears\-without\-rim;
+不爭氣 < be\-disappointing;
+漢語 < chinese\-language;
+金融市場 < financial\-market;
+綵 < varicolored\-silk;
+紽 < a\-strand\-of\-silk;
+糵 < fermenting\-grain;
+糈 < sacrificial\-rice;
+兵役 < military\-service;
+籧 < crude\-bamboo\-mat;
+北冰洋 < the\-arctic\-ocean;
+兩岸對話 < bilaterial\-talks;
+箯 < bamboo\-palanquin;
+箊 < bamboo\-with\-thin;
+秷 < sound\-of\-reaping;
+磥 < a\-heap\-of\-stones;
+羅密歐與朱麗葉 < romeo\-and\-juliet;
+砫 < ancestral\-tablet;
+瞘 < deeply\-sunk\-eyes;
+瞋 < glare\-with\-anger;
+畢肖 < resemble\-closely;
+睜 < to\-open\-the\-eyes;
+不經之談 < absurd\-statement;
+崩漏 < uterine\-bleeding;
+盦 < lid\-of\-a\-caldron;
+癉 < to\-hate\-bitterly;
+冗員 < excess\-personnel;
+兵士 < ordinary\-soldier;
+要人 < important\-person;
+採擇 < select\-and\-adopt;
+踩線 < step\-on\-the\-line;
+瓟 < the\-bottle\-gourd;
+猸 < a\-kind\-of\-animal;
+又來了 < here\-we\-go\-again;
+癱子 < paralyzed\-person;
+狻 < a\-fabulous\-beast;
+巨匠 < master\-craftsman;
+閱兵 < to\-review\-troops;
+傲氣 < air\-of\-arrogance;
+烜 < light\-of\-the\-sun;
+便衣 < civilian\-clothes;
+網際網路協會 < internet\-society;
+路由協定 < routing\-protocol;
+澦 < place\-in\-sichuan;
+澥 < a\-blocked\-stream;
+澔 < radiance\-of\-gems;
+尋訪 < to\-inquire\-after;
+寶貝 < treasured\-object;
+閱世 < to\-see\-the\-world;
+渫 < beating\-of\-ocean;
+簡明 < simple\-and\-clear;
+網路平台 < network\-platform;
+安頓 < find\-a\-place\-for;
+公公 < husband''s\-father;
+例語 < example\-sentance;
+毮 < to\-pull\-out\-hair;
+毪 < serge\-from\-tibet;
+樛 < bending\-branches;
+閃亮 < brilliant\,\-shiny;
+光檢測器 < optical\-detector;
+枲 < male\-nettle\-hemp;
+電腦網路 < computer\-network;
+枒 < the\-coconut\-tree;
+波爾多液 < bordeaux\-mixture;
+斵 < to\-cut\-to\-pieces;
+斞 < a\-stack\-of\-grain;
+撚 < twirl\-in\-fingers;
+原子科學家 < atomic\-scientist;
+均勢 < balance\-of\-power;
+發達國家 < developed\-nation;
+十多億 < over\-one\-billion;
+已經進行 < already\-underway;
+傳送服務 < delivery\-service;
+挷 < to\-propel\-a\-boat;
+保留 < continue\-to\-have;
+人頭 < number\-of\-people;
+接人 < to\-meet\-a\-person;
+讀者來信 < reader''s\-letters;
+弳 < circular\-measure;
+廵 < to\-go\-on\-circuit;
+一下子 < in\-a\-short\-while;
+哈巴谷書 < book\-of\-habakkuk;
+核設施 < nuclear\-facility;
+國力 < a\-nation''s\-power;
+白壁微瑕 < a\-slight\-blemish;
+十幾個月 < ten\-months\-or\-so;
+非政府 < non\-governmental;
+主幹線 < backbone\-\(cable\);
+嬎 < to\-bear\-multiple;
+電視機 < television\-\(set\);
+媤 < husband''s\-family;
+扮演 < play\-the\-part\-of;
+流行病 < epidemic\-disease;
+病因 < cause\-of\-disease;
+軍事 < military\-affairs;
+佔線 < busy\-\(telephone\);
+山村 < mountain\-village;
+信用證 < letter\-of\-credit;
+不加思索 < without\-thinking;
+囍 < double\-happiness;
+嚳 < mythical\-emperor;
+學術界 < academic\-circles;
+拐彎 < to\-turn\-a\-corner;
+聚變 < \(nuclear\)\-fusion;
+表冊 < statistical\-form;
+嘅 < sound\-of\-sighing;
+單模光纖 < singlemode\-fiber;
+最大能力 < maximum\-capacity;
+衛星城 < \"satellite\"\-town;
+嗞 < to\-consult\-about;
+喺 < to\-be\-located\-at;
+審理 < to\-hear\-\(a\-case\);
+抄本 < handwritten\-copy;
+舔吮 < to\-lick\-and\-suck;
+的一種 < is\-one\-\(kind\-of\);
+曼德拉 < \(nelson\)\-mandela;
+有線電視 < cable\-television;
+印地語 < hindi\-\(language\);
+便橋 < temporary\-bridge;
+工業化 < to\-industrialize;
+冓 < a\-secluded\-place;
+不變資本 < constant\-capital;
+儊 < rough\-and\-rugged;
+傜 < a\-minority\-tribe;
+筆戰 < written\-polemics;
+便服 < everyday\-clothes;
+感謝 < \(express\)\-thanks;
+䶱 < a\-kind\-of\-turtle;
+䵤 < to\-crack\-or\-chap;
+䵣 < white\-with\-black;
+䵃 < a\-kind\-of\-barley;
+䴬 < crumbs\-of\-barley;
+出版社 < publishing\-house;
+下馬 < dismount\-a\-horse;
+䴅 < a\-legendary\-bird;
+沖繩島 < okinawa\-\(island\);
+䳢 < small\-wild\-goose;
+䳐 < an\-owl\-like\-bird;
+安眠 < sleep\-peacefully;
+䲲 < a\-hawk\-like\-bird;
+層層 < layer\-upon\-layer;
+䰃 < dishevelled\-hair;
+䯳 < loosely\-arranged;
+筆帽 < the\-cap\-of\-a\-pen;
+䯇 < to\-exert\-oneself;
+䮴 < unstable\-walking;
+䮳 < to\-give\-birth\-to;
+䮁 < a\-pair\-of\-horses;
+䫌 < bowed\-one''s\-head;
+䪎 < strings\-of\-a\-cap;
+䩥 < a\-belt\-for\-horse;
+䨻 < roar\-of\-thunders;
+䨴 < gathering\-clouds;
+䨳 < the\-rain\-stopped;
+䨏 < sound\-of\-raining;
+䨊 < a\-flock\-of\-birds;
+䧡 < a\-fortified\-wall;
+貶義 < derogatory\-sense;
+䧄 < name\-of\-a\-person;
+䦕 < bang\-of\-the\-door;
+䥛 < a\-kind\-of\-sickle;
+長度指示符 < length\-indicator;
+作法 < course\-of\-action;
+䣮 < smell\-of\-alcohol;
+䣫 < soured\-bean\-curd;
+䢞 < rows\-and\-columns;
+䡮 < trace\-of\-a\-wheel;
+䡢 < a\-small\-carriage;
+演員 < actor\-or\-actress;
+䠻 < to\-bend\-the\-body;
+鑒別 < to\-differentiate;
+䟋 < to\-press\-forward;
+保密 < maintain\-secrecy;
+䞌 < to\-lose\-in\-trade;
+䝋 < a\-little\-of\-pigs;
+䝇 < grunting\-of\-pigs;
+䛏 < to\-call\-somebody;
+䛎 < to\-shout\-in\-rage;
+䛂 < to\-separate\-from;
+䚔 < to\-look\-suddenly;
+䚒 < eyesight\-blurred;
+䚃 < to\-realize\-fully;
+借助 < to\-get\-help\-from;
+䙭 < to\-lift\-or\-raise;
+電話信號 < telephone\-signal;
+䘋 < a\-kind\-of\-insect;
+民主黨 < democratic\-party;
+䗏 < name\-of\-a\-insect;
+䖯 < poisonous\-insect;
+䖐 < sound\-of\-a\-tiger;
+甘地 < \(mahatma\)\-gandhi;
+仿真服務器 < emulation\-server;
+䒣 < lush\-or\-delicate;
+䑸 < a\-group\-of\-boats;
+䑅 < dizzy\-and\-sleepy;
+䐨 < back\-of\-the\-foot;
+䏒 < half\-of\-the\-body;
+䏏 < signs\-and\-groans;
+䎯 < winter\-ploughing;
+䎂 < colorful\-feather;
+電視劇 < tv\-drama\-program;
+䋤 < plain\-white\-silk;
+䋔 < to\-band\-together;
+䉷 < a\-feather\-screen;
+䉉 < a\-writing\-tablet;
+䈙 < bamboo\-to\-wither;
+䈈 < a\-kind\-of\-bamboo;
+注重 < pay\-attention\-to;
+䆿 < to\-talk\-in\-sleep;
+䆲 < a\-spacious\-house;
+䆈 < young\-and\-tender;
+䅼 < a\-kind\-of\-grains;
+䅺 < grain\-in\-the\-ear;
+輻射波 < radiation\-\(wave\);
+懸掛 < \(car\)\-suspension;
+䂪 < hard\-barren\-land;
+䀃 < a\-kind\-of\-vessel;
+㾦 < scab\-over\-a\-sore;
+㾁 < walking\-like\-mad;
+㽮 < a\-point\-of\-light;
+㽊 < cracking\-of\-tile;
+㻒 < red\-colored\-jade;
+㻁 < a\-kind\-of\-jasper;
+不謝 < don''t\-mention\-it;
+㺵 < black\-jade\-stone;
+㺴 < name\-of\-a\-spirit;
+㺦 < a\-running\-animal;
+㹺 < dog\-to\-take\-food;
+㹇 < a\-kind\-of\-cattle;
+㸣 < in\-ancient\-china;
+本義 < original\-meaning;
+㶾 < tough\-and\-honest;
+㶍 < name\-of\-a\-stream;
+伴星 < companion\-\(star\);
+保全 < save\-from\-damage;
+㴧 < of\-flowing\-water;
+威爾士語 < welsh\-\(language\);
+抄件 < duplicate\-\(copy\);
+㳽 < a\-watery\-expanse;
+㱶 < a\-swellen\-corpse;
+㱭 < an\-infertile\-egg;
+㰤 < to\-laugh\-hertily;
+㰛 < name\-of\-a\-county;
+㰅 < eaves\-of\-a\-house;
+㯕 < sticks\-or\-frames;
+㯃 < the\-varnish\-tree;
+男子籃球 < men''s\-basketball;
+㮓 < an\-extreme\-limit;
+㭺 < the\-cherry\-apple;
+聯邦大樓 < federal\-building;
+㪭 < to\-draw\-together;
+㪖 < sound\-of\-beating;
+普通問題 < common\-questions;
+㨼 < to\-take\-by\-force;
+罷課 < student''s\-strike;
+㧺 < a\-finger\-wrapper;
+輸送媒介 < transport\-medium;
+㦜 < to\-move\-the\-mind;
+應戰 < face\-a\-challenge;
+核威 < nuclear\-strength;
+㢰 < to\-stretch\-a\-bow;
+虜獲 < capture\-\(people\);
+㡽 < depraved\-talking;
+㡉 < a\-kind\-of\-fabric;
+㠧 < a\-little\-slanted;
+㠎 < a\-lofty\-mountain;
+本票 < cashier''s\-cheque;
+防衛武器 < defensive\-weapon;
+㝫 < shape\-of\-the\-sky;
+㝪 < a\-slanting\-house;
+㝩 < spaciously\-rooms;
+過份簡單化 < oversimplication;
+㜴 < dark\-and\-obscure;
+㜝 < to\-cherish\-anger;
+㜈 < a\-beaugiful\-face;
+體育之窗 < window\-on\-sports;
+書寫語言 < written\-language;
+㚜 < with\-great\-power;
+㚗 < with\-a\-big\-mouth;
+㚇 < draw\-the\-feet\-up;
+㙞 < a\-small\-mountain;
+㙎 < breach\-of\-a\-tank;
+㙅 < a\-walled\-viliage;
+㙀 < a\-vegetable\-plot;
+㗻 < baby''s\-answering;
+㗙 < to\-shout\-or\-bawl;
+㕭 < to\-bark\-as\-a\-dog;
+㕩 < sound\-of\-tapping;
+安徽 < anhui\-\(province\);
+㕇 < rocks\-collapsing;
+㔑 < an\-incised\-wound;
+商業化 < to\-commercialize;
+㒭 < an\-elder\-brother;
+㒁 < of\-great\-stature;
+站台 < railway\-platform;
+共享帶寬 < shared\-bandwidth;
+㐀 < hillock\-or\-mound;
+文化障礙 < cultural\-barrier;
+直接影響 < direct\-influence;
+與此同時 < at\-the\-same\-time;
+主要來源 < principle\-source;
+人民公社 < people''s\-commune;
+獲益 < obtain\-a\-benefit;
+下面請看 < please\-see\-below;
+今昔 < past\-and\-present;
+板栗 < chinese\-chestnut;
+吸管 < \(drinking\)\-straw;
+家務 < household\-duties;
+金融風波 < financial\-crisis;
+開幕式 < opening\-ceremony;
+實習生 < intern\-\(student\);
+民間 < among\-the\-people;
+婚禮 < wedding\-ceremony;
+警衛 < \(security\)\-guard;
+知識工程師 < knowledge\-worker;
+國賓館 < state\-guesthouse;
+乾杯 < to\-drink\-a\-toast;
+猿猴 < apes\-and\-monkeys;
+網絡協議 < network\-protocol;
+並激 < shunt\-excitation;
+量綱 < dimension\-\(unit\);
+質問 < \(ask\-a\)\-question;
+蒐集 < to\-gather\-\(data\);
+三千到五千萬 < 30\-to\-50\-million;
+不至於 < cannot\-go\-so\-far;
+暑瘟 < tropical\-disease;
+博覽 < read\-extensively;
+深入 < penetrate\-deeply;
+丹桂 < orange\-osmanthus;
+板壁 < wooden\-partition;
+某人 < a\-certain\-person;
+月曆 < monthly\-calendar;
+治病 < treat\-an\-illness;
+十誡 < ten\-commandments;
+白衣戰士 < warrior\-in\-white;
+安如磐石 < as\-solid\-as\-rock;
+外長 < foreign\-minister;
+百分點 < percentage\-point;
+配藥 < dispense\-\(drugs\);
+功能集 < function\-library;
+字串 < character\-string;
+故障排除 < fault\-resolution;
+金融改革 < financial\-reform;
+一個中國政策 < one\-china\-policy;
+化學戰 < chemical\-warfare;
+大多數 < \(great\)\-majority;
+大選 < general\-election;
+唐代 < the\-tang\-dynasty;
+性病 < venereal\-disease;
+君權 < monarchial\-power;
+雌性接口 < female\-connector;
+藏文 < tibetan\-language;
+心臟移殖 < heart\-transplant;
+菏蘭語 < dutch\-\(language\);
+一年多 < more\-than\-a\-year;
+遙控操作 < remote\-operation;
+簡單的說 < to\-put\-it\-simply;
+光接收器 < optical\-receiver;
+機械語言 < machine\-language;
+胡志明市 < ho\-chi\-minh\-city;
+讀物 < reading\-material;
+邊防 < frontier\-defence;
+共和黨 < republican\-party;
+脖頸兒 < back\-of\-the\-neck;
+向東 < towards\-the\-east;
+大無畏 < utterly\-fearless;
+集錦 < best\-of\-the\-best;
+罷教 < teacher''s\-strike;
+外語 < foreign\-language;
+課表 < school\-timetable;
+誤解 < misunderstanding;
+不知所云 < not\-know\-what\-sb;
+不忙 < there''s\-no\-hurry;
+超高速 < ultra\-high\-speed;
+集郵 < stamp\-collecting;
+廠長 < factory\-director;
+變法 < political\-reform;
+波折 < twists\-and\-turns;
+群島 < group\-of\-islands;
+太陽微系統公司 < sun\-microsystems;
+聯席會議 < joint\-conference;
+交換網路 < switched\-network;
+犯法 < to\-break\-the\-law;
+不少 < not\-\(just\)\-a\-few;
+年齡 < \(a\-person''s\)\-age;
+性接觸 < sexual\-encounter;
+比翼 < fly\-wing\-to\-wing;
+骨幹網路 < backbone\-network;
+軟件企業 < software\-company;
+拿手菜 < specialty\-\(dish\);
+施洗約翰 < john\-the\-baptist;
+神奇 < magical\-mystical;
+禁品 < contraband\-goods;
+尼希米記 < book\-of\-nehemiah;
+報紙報導 < newspaper\-report;
+最先 < \(the\)\-very\-first;
+明淨 < bright\-and\-clean;
+重慶 < chongqing\-\(city\);
+婆婆 < husband''s\-mother;
+互操性 < interoperability;
+吃完 < to\-finish\-eating;
+逼近 < press\-on\-towards;
+報館 < newspaper\-office;
+電纜 < \(electric\)\-cable;
+功能群 < functional\-group;
+狀態 < state\-of\-affairs;
+中介 < agent\-\(computer\);
+不光 < not\-the\-only\-one;
+暑天 < hot\-\(summer\)\-day;
+反對 < to\-fight\-against;
+不久 < not\-long\-\(after\);
+離開北京 < to\-leave\-beijing;
+一輩子 < \(for\)\-a\-lifetime;
+睨 < look\-askance\-at;
+怎 < what\?\-why\?\-how\?;
+收 < gather\-together;
+党 < political\-party;
+版 < printing\-blocks;
+季 < quarter\-of\-year;
+牡 < male\-of\-animals;
+診 < examine\-patient;
+姑 < father''s\-sister;
+褓 < swaddling\-cloth;
+馆 < public\-building;
+漿 < any\-thick\-fluid;
+雄 < male\-of\-species;
+亿 < hundred\-million;
+固 < to\-become\-solid;
+溪 < mountain\-stream;
+虞 < concerned\-about;
+嗚 < sound\-of\-crying;
+薇 < osmunda\-regalis;
+戏 < theatrical\-play;
+召 < imperial\-decree;
+瑞 < felicitous\-omen;
+鬢 < hair\-on\-temples;
+僧 < buddhist\-priest;
+檜 < chinese\-cypress;
+檎 < small\-red\-apple;
+驅 < spur\-a\-horse\-on;
+臟 < internal\-organs;
+圳 < furrow\-in\-field;
+繻 < fine\-silk\-guaze;
+孟 < first\-in\-series;
+縋 < climb\-down\-rope;
+閤 < small\-side\-door;
+斎 < vegetarian\-diet;
+盯 < rivet\-gaze\-upon;
+粟 < unhusked\-millet;
+籐 < climbing\-plants;
+掻 < scratch\-lightly;
+俘 < prisoner\-of\-war;
+挾 < clasp\-under\-arm;
+媳 < daughter\-in\-law;
+宙 < time\-as\-concept;
+卜 < fortune\-telling;
+帖 < invitation\-card;
+逞 < indulge\-oneself;
+揪 < grasp\-with\-hand;
+仑 < logical\-reasons;
+煞 < malignant\-deity;
+鳌 < huge\-sea\-turtle;
+瞩 < watch\-carefully;
+疚 < chronic\-disease;
+蔓 < creeping\-plants;
+骏 < excellent\-horse;
+闽 < fujian\-province;
+袅 < curling\-upwards;
+辐 < spokes\-of\-wheel;
+琉 < sparkling\-stone;
+舜 < legendary\-ruler;
+轧 < crush\-by\-weight;
+滇 < yunnan\-province;
+桓 < variety\-of\-tree;
+棠 < crab\-apple\-tree;
+吮 < suck\-with\-mouth;
+蜷 < creep\-like\-worm;
+枷 < cangue\-scaffold;
+羲 < ancient\-emperor;
+孚 < brood\-over\-eggs;
+皑 < brilliant\-white;
+缥 < light\-blue\-silk;
+诌 < play\-with\-words;
+泾 < name\-of\-a\-river;
+觎 < desire\-strongly;
+玺 < imperial\-signet;
+卞 < to\-be\-impatient;
+辔 < bridle\-of\-horse;
+趔 < not\-progressing;
+徜 < walking\-and\-fro;
+荠 < water\-chestnuts;
+汞 < element\-mercury;
+畿 < imperial\-domain;
+舂 < grind\-in\-mortar;
+籴 < purchase\-grains;
+穰 < stalks\-of\-grain;
+嗄 < hoarse\-of\-voice;
+渚 < small\-sand\-bank;
+砝 < balance\-weights;
+杼 < shuttle\-of\-loom;
+龃 < irregular\-teeth;
+勐 < imperial\-degree;
+矸 < a\-rock\-or\-cliff;
+蕨 < pteris\-aquilina;
+豉 < fermented\-beans;
+徭 < conscript\-labor;
+麈 < species\-of\-deer;
+蕤 < drooping\-leaves;
+绡 < raw\-silk\-fabric;
+芨 < name\-of\-a\-plant;
+苣 < kind\-of\-lettuce;
+碛 < sand\-and\-gravel;
+莒 < hemp\-like\-plant;
+萁 < kind\-of\-grasses;
+眄 < to\-look\-askance;
+囟 < top\-of\-the\-head;
+岣 < a\-hill\-in\-hunan;
+嗾 < to\-set\-a\-dog\-on;
+荜 < species\-of\-bean;
+糁 < a\-grain\-of\-rice;
+粝 < unpolished\-rice;
+裰 < to\-mend\-clothes;
+薨 < death\-of\-prince;
+茑 < the\-convovulvus;
+翮 < stem\-of\-feather;
+艟 < ancient\-warship;
+鼯 < flying\-squirrel;
+砩 < name\-of\-a\-stone;
+炻 < a\-kind\-of\-china;
+檫 < sassafras\-tzumu;
+狴 < a\-kind\-of\-tapir;
+高效率 < high\-efficiency;
+天父 < heavenly\-father;
+幾乎完全 < almost\-entirely;
+特徵 < characteristics;
+信息時代 < information\-age;
+暑假 < summer\-vacation;
+擺脫 < break\-away\-from;
+半數 < half\-the\-number;
+冰霜 < moral\-integrity;
+勻溜 < even\-and\-smooth;
+原委 < the\-whole\-story;
+產品經理 < product\-manager;
+資料鏈結層 < data\-link\-layer;
+軍事威脅 < military\-threat;
+特寫 < feature\-article;
+春天 < spring\-\(season\);
+網路服務 < network\-service;
+研究中心 < research\-center;
+止痛 < to\-relieve\-pain;
+前不久 < not\-long\-before;
+叛亂 < armed\-rebellion;
+文檔 < \(computer\)\-file;
+崇拜儀式 < worship\-service;
+緬甸 < myanmar\-\(burma\);
+方興未艾 < to\-be\-unfolding;
+雙邊貿易 < bilateral\-trade;
+失望 < be\-disappointed;
+軍事部門 < military\-branch;
+網站 < network\-station;
+除此之外 < apart\-from\-this;
+太陽公司 < sun\-corporation;
+外國資本 < foreign\-capital;
+開門 < open\-\(the\)\-door;
+生產隊 < production\-team;
+經管 < be\-in\-charge\-of;
+用戶線 < subscriber\-line;
+美國人 < american\-person;
+半天 < half\-of\-the\-day;
+語族 < language\-branch;
+往年 < in\-former\-years;
+日報 < daily\-newspaper;
+光電 < opto\-electrical;
+白鐵 < galvanized\-iron;
+雅歌 < song\-of\-solomon;
+彼岸 < the\-other\-shore;
+配合 < coordinate\-with;
+報系 < newspaper\-chain;
+豐富多彩 < richly\-colorful;
+標量 < scalar\-quantity;
+南北 < north\-and\-south;
+比容 < specific\-volume;
+看上去 < it\-would\-appear;
+盈虧 < profit\-and\-loss;
+勸導 < try\-to\-convince;
+陣營 < group\-of\-people;
+幾百 < several\-hundred;
+大寫 < capital\-letters;
+過活 < live\-one''s\-life;
+牌位 < memorial\-tablet;
+早些 < \(a\-bit\)\-earlier;
+課外 < extracurricular;
+零等待狀態 < zero\-wait\-state;
+收拾 < to\-put\-in\-order;
+不白之冤 < unrighted\-wrong;
+網段 < network\-segment;
+弟弟 < younger\-brother;
+遲早 < sooner\-or\-later;
+戒備森嚴 < heavily\-guarded;
+矮小 < short\-and\-small;
+半途而廢 < give\-up\-halfway;
+比價 < price\-relations;
+龑 < high\-and\-bright;
+新任 < newly\-appointed;
+霸佔 < forcibly\-occupy;
+鼕 < rattle\-of\-drums;
+幾十億 < several\-billion;
+病魔 < serious\-illness;
+常用 < in\-common\-usage;
+冰磚 < ice\-cream\-brick;
+鴒 < species\-of\-lark;
+白菜 < chinese\-cabbage;
+鴂 < the\-tailor\-bird;
+鳻 < the\-wild\-pigeon;
+鳓 < chinese\-herring;
+鱡 < the\-cuttle\-fish;
+鱅 < a\-kind\-of\-tench;
+不待說 < needless\-to\-say;
+批量生產 < to\-mass\-produce;
+魰 < the\-flying\-fish;
+在很多方面 < in\-many\-aspects;
+髾 < tail\-of\-a\-comet;
+髴 < disheveled\-hair;
+操作速率 < operating\-speed;
+強加 < impose\-by\-force;
+騘 < a\-piebald\-horse;
+饇 < to\-eat\-too\-much;
+颻 < floating\-in\-air;
+颮 < storm\-whirlwind;
+外事 < foreign\-affairs;
+聯合發表 < joint\-statement;
+邊地 < border\-district;
+韞 < an\-orange\-color;
+鞴 < saddle\-up\-horse;
+靸 < a\-child''s\-shoes;
+雱 < snowing\-heavily;
+舌面 < blade\-of\-tongue;
+創記錄 < to\-set\-a\-record;
+著作 < a\-literary\-work;
+白米 < \(polished\)\-rice;
+瀕臨 < on\-the\-verge\-of;
+不完全葉 < incomplete\-leaf;
+選單 < \(software\)\-menu;
+執法 < law\-enforcement;
+鎤 < sound\-of\-a\-bell;
+不名數 < abstract\-number;
+進展 < to\-make\-headway;
+為此 < for\-this\-reason;
+醾 < unfiltered\-wine;
+核反應堆 < nuclear\-reactor;
+經濟改革 < economic\-reform;
+鄹 < name\-of\-a\-state;
+廠史 < factory\-history;
+光磁 < magneto\-optical;
+隘口 < \(mountain\)\-pass;
+網址 < \(internet\)\-site;
+畫面 < \(picture\)\-frame;
+菜地 < vegetable\-field;
+畜類 < domestic\-animal;
+躀 < to\-stumble\-over;
+總經理 < general\-manager;
+趮 < easily\-provoked;
+半壁江山 < half\-of\-country;
+抱養 < adopt\-\(a\-child\);
+城樓 < city\-gate\-tower;
+諡 < posthumous\-name;
+採種 < seed\-collecting;
+俄巴底亞書 < book\-of\-obadiah;
+訒 < hesitate\-to\-say;
+古典音樂 < classical\-music;
+花白 < grizzled\-\(hair\);
+不可多得 < hard\-to\-come\-by;
+襼 < ''kimono''\-sleeve;
+襌 < unlined\-garment;
+褧 < unlined\-clothes;
+重新開始 < resume\,\-restart;
+屍體 < \(lifeless\)\-body;
+圖簽 < \(computer\)\-icon;
+巴望 < look\-forward\-to;
+螚 < eristalis\-tenax;
+層雲 < stratus\-\(cloud\);
+數百萬 < several\-million;
+拼起來 < to\-put\-together;
+籌碼 < bargaining\-chip;
+藶 < a\-kind\-of\-plant;
+蕢 < edible\-amaranth;
+蕍 < alisma\-plantags;
+蔾 < kind\-of\-bramble;
+蒨 < lush\-vegetation;
+蒓 < an\-edible\-water;
+電子郵件 < electronic\-mail;
+降價 < price\-reduction;
+葑 < the\-rape\-turnip;
+米粉肉 < rice\-flour\-meat;
+標樁 < \(marking\)\-stake;
+閉會 < close\-a\-meeting;
+艅 < a\-despatch\-boat;
+純屬 < pure\-and\-simple;
+光榮 < honor\-and\-glory;
+腢 < the\-collar\-bone;
+辦學 < to\-run\-a\-school;
+標杆 < surveyor''s\-pole;
+幣制 < currency\-system;
+報到 < report\-for\-duty;
+罿 < net\-catch\-birds;
+經濟前途 < economic\-future;
+年份 < particular\-year;
+工讀學校 < the\-reformatory;
+基地 < \(military\)\-base;
+嚴重關切 < serious\-concern;
+光明 < bright\-\(future\);
+高技術 < high\-technology;
+保釋 < release\-on\-bail;
+絍 < to\-lay\-the\-warp;
+經濟危機 < economic\-crisis;
+射頻 < radio\-frequency;
+動態助詞 < aspect\-particle;
+閉音節 < closed\-syllable;
+簔 < a\-coat\-raincoat;
+篰 < a\-bamboo\-basket;
+鬥爭 < struggle\-\(with\);
+裡根 < \(ronald\)\-reagan;
+穄 < panicled\-millet;
+禋 < offer\-sacrifice;
+磪 < a\-high\-mountain;
+暴跳如雷 < stamp\-with\-fury;
+抗衡 < contend\-against;
+級別 < \(military\)\-rank;
+筆誤 < a\-slip\-of\-a\-pen;
+八寶 < eight\-treasures;
+百年 < a\-hundred\-years;
+以西結書 < book\-of\-ezekiel;
+摘借 < to\-borrow\-money;
+化學武器 < chemical\-weapon;
+瘈 < prolonged\-fever;
+瘃 < sores\-from\-cold;
+痾 < chronic\-illness;
+痵 < a\-heart\-symptom;
+痮 < a\-swelled\-belly;
+痠 < aching\-of\-limbs;
+痁 < chronic\-malaria;
+畬 < reclaimed\-field;
+長官 < senior\-official;
+虛電路 < virtual\-circuit;
+登記用戶 < registered\-user;
+種族主義者 < racist\-\(person\);
+琭 < jade\-like\-stone;
+從去年 < since\-last\-year;
+珧 < mother\-of\-pearl;
+入境 < enter\-a\-country;
+珇 < carving\-on\-jade;
+嚴重問題 < serious\-problem;
+臂紗 < \(black\)\-armband;
+玟 < streaks\-in\-jade;
+當務之急 < urgent\-priority;
+獱 < a\-kind\-of\-otter;
+軍校 < military\-school;
+狫 < name\-of\-a\-tribe;
+軟件系統 < software\-system;
+牄 < to\-walk\-rapidly;
+熓 < the\-bank\-a\-fire;
+焵 < to\-temper\-steel;
+把舵 < hold\-the\-rudder;
+菲律賓 < the\-philippines;
+被捕 < be\-under\-arrest;
+瀞 < pool\-in\-a\-river;
+潙 < river\-in\-shanxi;
+網絡瀏覽器 < network\-browser;
+滎 < county\-in\-henan;
+本族語 < native\-language;
+泩 < rising\-of\-water;
+購物中心 < shopping\-center;
+沚 < islet\-in\-stream;
+百十 < a\-hundred\-or\-so;
+坐好 < to\-sit\-properly;
+絆腳石 < stumbling\-block;
+感染者 < infected\-person;
+多樣化 < diversification;
+榡 < quercus\-dentata;
+壁壘森嚴 < closely\-guarded;
+椺 < beam\-of\-a\-house;
+網管員 < network\-manager;
+帖撒羅尼迦後書 < 2\-thessalonians;
+錦雞 < golden\-pheasant;
+柎 < calyx\-of\-flower;
+柁 < large\-tie\-beams;
+枬 < an\-even\-grained;
+自殺 < to\-kill\-oneself;
+朣 < the\-rising\-moon;
+瑪拉基書 < book\-of\-malachi;
+高昂 < in\-high\-spirits;
+貿易夥伴 < trading\-partner;
+穿過 < to\-pass\-through;
+備戰 < prepare\-for\-war;
+月份會議 < monthly\-meeting;
+摻 < a\-delicate\-hand;
+安身 < make\-one''s\-home;
+游說 < drum\-up\-support;
+至於 < go\-so\-far\-as\-to;
+戄 < to\-be\-in\-awe\-of;
+研究報告 < research\-report;
+先進武器 < advanced\-weapon;
+生物 < living\-creature;
+戶籍 < census\-register;
+大發雷霆 < extremely\-angry;
+徬 < to\-wander\-about;
+弴 < red\-lacquer\-bow;
+美國政府 < u\.s\.\-government;
+校舍 < school\-building;
+巹 < nuptial\-winecup;
+不干涉 < noninterference;
+善良 < good\-and\-honest;
+嵎 < mountain\-recess;
+亞爾發和奧米加 < alpha\-and\-omega;
+峞 < high\-and\-uneven;
+塞爾特語 < celtic\-language;
+核武庫 < nuclear\-arsenal;
+客戶機軟件 < client\-software;
+措辭強硬 < strongly\-worded;
+軍備 < \(military\)\-arms;
+首腦 < head\-\(of\-state\);
+安葬 < bury\-\(the\-dead\);
+自動售貨機 < vending\-machine;
+夲 < advance\-quickly;
+中美洲 < central\-america;
+極力 < do\-at\-all\-costs;
+跑步 < to\-walk\-quickly;
+坴 < a\-clod\-of\-earth;
+喣 < to\-breathe\-upon;
+唲 < forced\-laughter;
+公司會議 < company\-meeting;
+貶詞 < derogatory\-term;
+互連 < interconnection;
+厜 < a\-mountain\-peak;
+天主教 < catholic\-church;
+匉 < noise\-of\-waters;
+匄 < to\-beg\-for\-alms;
+改變形像 < transfiguration;
+劘 < make\-into\-mince;
+悲鳴 < utter\-sad\-calls;
+滿意 < to\-be\-satisfied;
+海運 < shipping\-by\-sea;
+留學 < to\-study\-abroad;
+金裡奇 < \(newt\)\-gingrich;
+便條 < \(informal\)\-note;
+傽 < terror\-stricken;
+甚或 < so\-much\-so\-that;
+佔 < occupy\-by\-force;
+山峰 < \(mountain\)\-peak;
+溫柔 < gentle\-and\-soft;
+乸 < feminine\-suffix;
+高中 < high\-and\-middle;
+百兒八十 < about\-a\-hundred;
+帖撒羅尼迦前書 < 1\-thessalonians;
+䶡 < sound\-of\-biting;
+䶎 < sound\-of\-breath;
+胃病 < stomach\-trouble;
+䴾 < to\-grind\-barley;
+䴮 < cakes\-pf\-leaven;
+多模光纖 < multimode\-fiber;
+同齡 < of\-the\-same\-age;
+軟件市場 < software\-market;
+校園骨幹 < campus\-backbone;
+䯄 < a\-piebalk\-horse;
+䮽 < bit\-for\-a\-horse;
+䮵 < name\-of\-a\-horse;
+䮱 < a\-kind\-of\-beast;
+䮧 < long\-hair\-horse;
+䮢 < a\-walking\-horse;
+䮎 < a\-running\-horse;
+䭼 < dark\-blue\-horse;
+䬫 < clarfied\-butter;
+䬁 < a\-light\-cyclone;
+吸音 < sound\-absorbing;
+沒有聯繫 < to\-be\-unrelated;
+䪮 < beautiful\-sound;
+䪕 < to\-wrap\-or\-band;
+䩹 < to\-repair\-shoes;
+䩒 < dressed\-leather;
+麻醉 < to\-anaesthetize;
+䩄 < to\-face\-to\-face;
+䨢 < a\-passing\-cloud;
+䨖 < to\-stop\-raining;
+䨀 < to\-lay\-in\-grain;
+䧯 < name\-of\-a\-place;
+網絡規劃人員 < network\-planner;
+䦫 < inside\-the\-door;
+投奔 < to\-seek\-shelter;
+䥗 < a\-branding\-iron;
+䤱 < a\-solemn\-pledge;
+䣶 < unstrained\-wine;
+例會 < regular\-meeting;
+共產黨 < communist\-party;
+䢦 < to\-lead\-the\-way;
+䢖 < to\-be\-scattered;
+䢁 < tire\-of\-a\-wheel;
+䡻 < shake\-of\-a\-cart;
+䡨 < connected\-carts;
+餅肥 < cake\-fertilizer;
+䡐 < to\-move\-swiftly;
+世界最大 < world''s\-largest;
+䠵 < to\-wear\-clothes;
+䠨 < walking\-rapidly;
+尖銳批評 < sharp\-criticism;
+不見得 < not\-necessarily;
+䝯 < to\-change\-hands;
+䝐 < a\-castrated\-hog;
+䜄 < slow\-on\-talking;
+䛵 < to\-teach\-orally;
+䛟 < wild\-statements;
+䛔 < to\-hold\-in\-hand;
+暴雨 < torrential\-rain;
+䚦 < slanted\-corners;
+䚥 < to\-adjust\-a\-bow;
+䙻 < to\-steal\-a\-look;
+䙨 < to\-wrap\-or\-bind;
+䙝 < under\-garrments;
+䗾 < corbicula\-leana;
+䖼 < the\-dung\-beetle;
+䖙 < a\-resting\-tiger;
+䖉 < to\-roar\-or\-howl;
+䕙 < to\-set\-in\-order;
+䒌 < dark\-blue\-color;
+䏲 < protruded\-bones;
+便宴 < informal\-dinner;
+䎳 < lose\-of\-the\-ear;
+䎉 < to\-walk\-swiftly;
+上述 < above\-mentioned;
+䋷 < a\-kind\-of\-thick;
+䊵 < young\-and\-small;
+䊗 < a\-kind\-of\-grain;
+䊉 < preserved\-fruit;
+䉧 < sound\-of\-bamboo;
+賀年片 < new\-year''s\-card;
+䅷 < an\-ear\-of\-grain;
+䅰 < a\-kind\-of\-grass;
+標準化 < standardization;
+䄮 < dark\-rice\-plant;
+䄕 < god\-of\-the\-land;
+電腦系統 < computer\-system;
+䃷 < a\-kind\-of\-stone;
+䃒 < poor\-and\-barren;
+䁴 < keep\-on\-looking;
+䁳 < to\-lose\-one\-eye;
+實彈 < live\-ammunition;
+貨幣危機 < monetary\-crisis;
+䀉 < food\-containers;
+㿱 < dry\-and\-decayed;
+㾩 < malignant\-boils;
+共享以太網絡 < shared\-ethernet;
+產值 < value\-of\-output;
+暗送秋波 < make\-eyes\-at\-sb;
+使滿意 < to\-make\-content;
+祝賀 < to\-congratulate;
+㼕 < pulp\-of\-a\-melon;
+㼔 < a\-kind\-of\-melon;
+不鏽鋼 < stainless\-steel;
+㼂 < a\-crack\-in\-jade;
+㻍 < name\-of\-a\-sword;
+㺌 < endless\-barking;
+以為 < consider\-\(that\);
+㹧 < fox\-like\-animal;
+㸱 < hornless\-cattle;
+㸩 < to\-desist\-an\-ox;
+核彈 < nuclear\-warhead;
+㸑 < a\-cooking\-stove;
+印度人 < indian\-\(person\);
+上課 < to\-attend\-class;
+奧運村 < olympic\-village;
+㷍 < a\-chemical\-term;
+符合 < in\-keeping\-with;
+技倆 < tricky\-maneuver;
+暗適應 < dark\-adaptation;
+數位網路 < digital\-network;
+㳿 < rolling\-billows;
+㳗 < bank\-of\-a\-river;
+㲔 < woolen\-textiles;
+㱎 < cannot\-be\-known;
+㰬 < shortwindedness;
+㰗 < a\-kind\-of\-maple;
+㰈 < nice\-and\-pretty;
+㯱 < an\-enlarged\-bag;
+㯤 < the\-jujube\-tree;
+㯔 < to\-hull\-heavily;
+泰語 < thai\-\(language\);
+㮡 < to\-light\-a\-fire;
+寵壞 < spoil\-\(a\-child\);
+㭤 < the\-convolvulus;
+交界 < common\-boundary;
+虛擬網絡 < virtual\-network;
+光明日報 < guangming\-daily;
+㫠 < a\-kind\-of\-water;
+㪫 < wise\-and\-clever;
+歷史久遠 < ancient\-history;
+㧎 < forked\-branches;
+老百姓 < ordinary\-people;
+㥞 < to\-think\-deeply;
+㥛 < with\-expedition;
+㢞 < rooms\-connected;
+㢍 < a\-long\-verabdah;
+夫妻店 < family\-run\-shop;
+㡲 < tiles\-on\-a\-roof;
+㡀 < ragged\-clothing;
+㟔 < steep\-and\-lofty;
+㝥 < have\-a\-nighmare;
+三萬 < thirty\-thousand;
+㝅 < to\-give\-suck\-to;
+㜲 < to\-have\-surplus;
+貨源 < supply\-of\-goods;
+㛰 < to\-marry\-a\-wife;
+㚦 < a\-charming\-girl;
+㙼 < a\-military\-wall;
+窗帘 < window\-curtains;
+㙗 < a\-lump\-of\-earth;
+㘺 < cultivated\-land;
+期票 < promissory\-note;
+㗿 < to\-laugh\-loudly;
+㕲 < to\-gag\-or\-bribe;
+㕘 < to\-take\-part\-in;
+㒟 < with\-a\-charming;
+口語 < spoken\-language;
+斯拉夫語 < slavic\-language;
+私營 < privately\-owned;
+外國公司 < foreign\-company;
+寒假 < winter\-vacation;
+哀歌 < a\-mournful\-song;
+兒化韻 < retroflex\-final;
+牽連 < \(be\)\-implicated;
+性行 < sexual\-activity;
+學士 < bachelor\-degree;
+負擔 < \(bear\-a\)\-burden;
+商業中心 < business\-center;
+一秘 < first\-secretary;
+藥瓶 < medicine\-bottle;
+慚愧 < \(to\-be\)\-ashamed;
+人才 < talented\-person;
+不甘 < unreconciled\-to;
+不相上下 < equally\-matched;
+班子 < organized\-group;
+每隔 < at\-intervals\-of;
+愛戴 < love\-and\-esteem;
+愛戀 < be\-in\-love\-with;
+機密文件 < secret\-document;
+杭州 < hangzhou\-\(city\);
+問世 < to\-be\-published;
+悲泣 < weep\-with\-grief;
+法理 < legal\-principle;
+秩序 < order\-\(orderly\);
+網絡打印機 < network\-printer;
+名片 < \(business\)\-card;
+旅費 < travel\-expenses;
+財團 < financial\-group;
+沙石 < sand\-and\-stones;
+禁果 < forbidden\-fruit;
+郵遞 < to\-send\-by\-mail;
+板板六十四 < unaccommodating;
+析出 < to\-seperate\-out;
+第一個層次 < the\-first\-stage;
+具體計劃 < a\-concrete\-plan;
+奔襲 < long\-range\-raid;
+板刷 < scrubbing\-brush;
+服從 < obey\-\(an\-order\);
+施行 < to\-put\-in\-place;
+莫尼卡萊溫斯基 < monica\-lewinsky;
+文書處理 < word\-processing;
+罰款 < \(impose\-a\)\-fine;
+雌雄 < male\-and\-female;
+邊音 < lateral\-\(sound\);
+母親 < mother\-\(formal\);
+有聯繫 < to\-be\-connected;
+磁盤 < \(computer\)\-disk;
+預防措施 < protective\-step;
+礦業 < mining\-industry;
+公然表示 < to\-state\-openly;
+流失 < be\-drained\-away;
+引起 < to\-give\-rise\-to;
+𣎴 < stump\-of\-a\-tree;
+證物 < exhibit\-\(legal\);
+縫補 < darn\-\(clothing\);
+編選 < select\-and\-edit;
+負債纍纍 < heavily\-in\-debt;
+審判長 < presiding\-judge;
+上學 < to\-go\-to\-school;
+頻帶 < frequency\-range;
+政見 < political\-views;
+悲嘆 < sigh\-mournfully;
+半生 < half\-a\-lifetime;
+博物 < natural\-science;
+經濟體制 < economic\-system;
+不過爾爾 < merely\-mediocre;
+盜版者 < software\-pirate;
+大部份 < \(in\)\-large\-part;
+流感病毒 < influenza\-virus;
+郵票 < \(postage\)\-stamp;
+恰好 < as\-it\-turns\-out;
+氣溫 < air\-temperature;
+矮胖 < short\-and\-stout;
+語系 < language\-system;
+變形 < be\-out\-of\-shape;
+南海 < south\-china\-sea;
+冷氣機 < air\-conditioner;
+美元 < american\-dollar;
+世人 < \(common\)\-people;
+名單 < list\-\(of\-names\);
+電磁 < electromagnetic;
+民權 < civil\-liberties;
+據說 < it\-is\-said\-that;
+原性 < original\-nature;
+衛生官員 < health\-official;
+躅 < walk\-carefully;
+巴 < greatly\-desire;
+期 < period\-of\-time;
+司 < take\-charge\-of;
+甥 < sister''s\-child;
+屏 < folding\-screen;
+狐 < species\-of\-fox;
+汉 < chinese\-people;
+妹 < younger\-sister;
+企 < plan\-a\-project;
+襖 < outer\-garments;
+壁 < partition\-wall;
+韦 < tanned\-leather;
+潰 < flooding\-river;
+珠 < precious\-stone;
+锋 < point\-of\-spear;
+俗 < social\-customs;
+檐 < eaves\-of\-house;
+骑 < ride\-horseback;
+函 < correspondence;
+魏 < kingdom\-of\-wei;
+枚 < stalk\-of\-shrub;
+仲 < middle\-brother;
+琳 < beautiful\-jade;
+凑 < piece\-together;
+郁 < sweet\-smelling;
+芯 < pith\-from\-rush;
+縞 < white\-raw\-silk;
+旬 < ten\-day\-period;
+綺 < fine\-thin\-silk;
+妨 < interfere\-with;
+骄 < spirited\-horse;
+掴 < box\-one''s\-ears;
+嗯 < final\-particle;
+岭 < mountain\-ridge;
+湘 < hunan\-province;
+銃 < ancient\-weapon;
+铮 < clanging\-sound;
+莹 < luster\-of\-gems;
+僻 < out\-of\-the\-way;
+渺 < endlessly\-long;
+佣 < commission\-fee;
+呛 < choke\-by\-smoke;
+凰 < female\-phoenix;
+闺 < small\-entrance;
+缀 < patch\-together;
+璋 < jade\-plaything;
+拴 < bind\-with\-rope;
+秧 < rice\-seedlings;
+蕃 < foreign\-things;
+鄂 < hubei\-province;
+棱 < squared\-timber;
+梗 < stem\-of\-flower;
+菱 < water\-chestnut;
+镑 < pound\-sterling;
+栩 < species\-of\-oak;
+璞 < unpolished\-gem;
+雯 < cloud\-patterns;
+讷 < slow\-of\-speech;
+狰 < fierce\-looking;
+峦 < mountain\-range;
+湃 < sound\-of\-waves;
+蝗 < kind\-of\-locust;
+皖 < anhui\-province;
+酋 < chief\-of\-tribe;
+壑 < bed\-of\-torrent;
+糯 < glutinous\-rice;
+稷 < god\-of\-cereals;
+塾 < village\-school;
+狩 < winter\-hunting;
+戍 < defend\-borders;
+璀 < lustre\-of\-gems;
+牍 < writing\-tablet;
+镌 < engraving\-tool;
+饯 < farewell\-party;
+鹂 < chinese\-oriole;
+囡 < one''s\-daughter;
+溟 < drizzling\-rain;
+锏 < kind\-of\-rapier;
+屙 < to\-ease\-nature;
+玳 < tortoise\-shell;
+瑭 < a\-kind\-of\-jade;
+杈 < fork\-of\-a\-tree;
+匐 < fall\-prostrate;
+砣 < a\-stone\-roller;
+铢 < unit\-of\-weight;
+骈 < team\-of\-horses;
+噱 < laugh\-heartily;
+盱 < wide\-open\-eyes;
+耄 < elderly\-person;
+榔 < betel\-nut\-tree;
+诤 < to\-expostulate;
+蝮 < venomous\-snake;
+颍 < river\-in\-anhui;
+楝 < melia\-japonica;
+蝼 < a\-mole\-cricket;
+荪 < aromatic\-grass;
+娌 < brother''s\-wife;
+晷 < shadows\-of\-sun;
+嗵 < used\-for\-sound;
+踅 < to\-walk\-around;
+揆 < prime\-minister;
+猕 < macacus\-monkey;
+厝 < cut\-or\-engrave;
+葚 < mulberry\-fruit;
+耒 < handle\-of\-plow;
+俅 < ornamental\-cap;
+菽 < beans\-and\-peas;
+鞯 < saddle\-blanket;
+鼐 < incense\-tripod;
+谰 < accuse\-falsely;
+骱 < joint\-of\-bones;
+謦 < t\-speak\-softly;
+磴 < steps\-on\-ledge;
+婺 < name\-of\-a\-star;
+堍 < side\-of\-bridge;
+桫 < horse\-chestnut;
+漶 < indecipherable;
+孥 < one''s\-children;
+溱 < river\-in\-henan;
+黥 < tattooing\-face;
+躐 < to\-stride\-over;
+蹯 < paws\-of\-animal;
+盍 < what\?\-why\-not\?;
+溆 < river\-in\-hunan;
+磲 < tridacna\-gigas;
+昝 < a\-dual\-pronoun;
+柽 < type\-of\-willow;
+缬 < patterned\-silk;
+驺 < mounted\-escort;
+阊 < gate\-of\-heaven;
+荩 < a\-kind\-of\-weed;
+芎 < a\-kind\-of\-herb;
+鋈 < silver\-plating;
+龅 < teeth\-protrude;
+晡 < late\-afternoon;
+檠 < stand\-for\-lamp;
+逭 < to\-escape\-from;
+操課 < military\-drill;
+伊甸園 < garden\-of\-eden;
+成員國 < member\-country;
+具體問題 < concrete\-issue;
+協會 < an\-association;
+文物 < cultural\-relic;
+通訊 < communications;
+危房 < decrepit\-house;
+特工 < secret\-service;
+電燈 < electric\-light;
+釣魚臺 < diaoyu\-islands;
+北極 < the\-north\-pole;
+複韻母 < compound\-final;
+預付 < pay\-in\-advance;
+國防預算 < defence\-budget;
+殺氣 < murderous\-look;
+磁場 < magnetic\-field;
+裁減軍備 < arms\-reduction;
+牙床 < alveolar\-ridge;
+參加 < to\-participate;
+民意 < public\-opinion;
+出口商品 < export\-product;
+往日 < in\-former\-days;
+勘測 < to\-investigate;
+冰釋 < \(of\-misgivings;
+大樓 < large\-building;
+改革進程 < reform\-process;
+全球資訊網 < world\-wide\-web;
+薄胎瓷器 < eggshell\-china;
+怪人 < strange\-person;
+營業 < to\-do\-business;
+塑膠 < plastic\-cement;
+晚上 < in\-the\-evening;
+散步 < to\-take\-a\-walk;
+識別 < to\-distinguish;
+幀太長 < oversize\-frame;
+擺蕩吊環 < swinging\-rings;
+全球氣候 < global\-climate;
+失控 < out\-of\-control;
+數月 < several\-months;
+往復 < to\-reciprocate;
+對外政策 < foreign\-policy;
+靶場 < shooting\-range;
+糖醋 < sweet\-and\-sour;
+伴生氣 < associated\-gas;
+帳號 < account\-number;
+爪子 < \(animal''s\)\-paw;
+別管 < no\-matter\-\(who;
+進行通信 < to\-communicate;
+刨程 < planing\-length;
+素菜 < vegetable\-dish;
+不咎既往 < not\-censure\-sb;
+開車 < to\-drive\-a\-car;
+煙火 < smoke\-and\-fire;
+轉運 < transportation;
+巡警 < police\-officer;
+校園網絡 < campus\-network;
+數位信號 < digital\-signal;
+放映 < show\-\(a\-movie\);
+物理層 < physical\-layer;
+聯合國 < united\-nations;
+製造 < to\-manufacture;
+利率 < interest\-rates;
+英國人 < british\-person;
+生長激素 < growth\-hormone;
+白熱化 < turn\-white\-hot;
+弱小 < small\-and\-weak;
+敝屣 < worn\-out\-shoes;
+十一月 < eleventh\-month;
+指揮中心 < command\-center;
+矮子 < a\-short\-person;
+原子核 < atomic\-nucleus;
+把兄弟 < sworn\-brothers;
+速決 < quick\-decision;
+關稅 < \(customs\)\-duty;
+白蘇 < common\-perilla;
+比值 < specific\-value;
+電話線路 < telephone\-line;
+基督 < jesus\-\(christ\);
+探路 < to\-find\-a\-path;
+遙控 < remote\-control;
+北斗星 < the\-big\-dipper;
+開玩笑 < to\-play\-a\-joke;
+鸎 < the\-mango\-bird;
+鶗 < a\-kind\-of\-hawk;
+以太網絡幀 < ethernet\-frame;
+遙感 < remote\-sensing;
+白色 < white\-\(colour\);
+鮧 < the\-sheat\-fish;
+撥款 < allocate\-funds;
+鬘 < beautiful\-hair;
+鬗 < head\-ornaments;
+廠工 < factory\-worker;
+語氣助詞 < modal\-particle;
+髆 < shoulder\-blade;
+正好 < just\-\(in\-time\);
+約書亞記 < book\-of\-joshua;
+探視 < pay\-a\-visit\-to;
+騌 < a\-horse''s\-mane;
+餡 < pastry\-filling;
+餗 < food\-in\-tripod;
+引咎 < take\-the\-blame;
+審判席 < judgement\-seat;
+白粉病 < powdery\-mildew;
+壁報 < wall\-newspaper;
+改善 < to\-make\-better;
+經濟有效 < cost\-effective;
+堅決否認 < to\-firmly\-deny;
+造成 < to\-bring\-about;
+幫會 < secret\-society;
+锪 < a\-kind\-of\-tool;
+操心 < to\-worry\-about;
+鏴 < to\-plug\-a\-hole;
+鎩 < moult\-samarium;
+書寫符號 < writing\-symbol;
+白種 < the\-white\-race;
+鍆 < md\-mendelevium;
+鋩 < point\-of\-sword;
+鋃 < lock\-lanthanum;
+補缺 < fill\-a\-vacancy;
+古希臘 < ancient\-greece;
+西歐 < western\-europe;
+中國人 < chinese\-person;
+逕庭 < very\-different;
+卡納維拉爾角 < cape\-canaveral;
+補綴 < mend\-\(clothes\);
+不知死活 < act\-recklessly;
+監督人 < superintendent;
+集中 < to\-concentrate;
+逩 < to\-run\-quickly;
+遲到 < to\-arrive\-late;
+輶 < light\-carriage;
+波羅的海 < the\-baltic\-sea;
+趹 < kick\-with\-hoof;
+報復 < make\-reprisals;
+真情 < real\-situation;
+桌面系統 < desktop\-system;
+東南亞國 < southeast\-asia;
+巨流 < strong\-current;
+豣 < pig\-of\-3\-years;
+豖 < a\-shackled\-pig;
+退學 < to\-quit\-school;
+讅 < know\-in\-detail;
+廉價 < cheaply\-priced;
+小型企業 < small\-business;
+詨 < kind\-of\-cicada;
+順序數 < ordinal\-number;
+病號 < sick\-personnel;
+團結 < \(hold\-a\)\-rally;
+褉 < short\-garments;
+圍繞 < revolve\-around;
+近年 < recent\-year\(s\);
+衂 < to\-be\-defeated;
+蠂 < podisma\-mikado;
+蟳 < a\-kind\-of\-crab;
+蟭 < very\-small\-bug;
+倒閉 < to\-go\-bankrupt;
+螬 < grubs\-in\-fruit;
+冷戰 < \(the\)\-cold\-war;
+蜎 < mosquito\-larva;
+資料介面 < data\-interface;
+虀 < minced\-pickles;
+薳 < name\-of\-a\-herb;
+薘 < plantago\-major;
+價目 < \(marked\)\-price;
+蓯 < medicinal\-herb;
+蓏 < fruit\-of\-plant;
+葥 < rubus\-palmatus;
+病脈 < abnormal\-pulse;
+不怎麼樣 < not\-up\-to\-much;
+漸變 < gradual\-change;
+茞 < fragrant\-plant;
+非常重要 < very\-important;
+紀念 < to\-commemorate;
+開會 < have\-a\-meeting;
+醫學專家 < medical\-expert;
+芈 < bleat\-of\-sheep;
+先進水平 < advanced\-level;
+區域網路技術 < lan\-technology;
+全景 < panoramic\-view;
+刀叉 < knife\-and\-fork;
+脦 < used\-in\-''lede'';
+連鎖反應 < chain\-reaction;
+特別感謝 < special\-thanks;
+人壽保險 < life\-insurance;
+布帛 < cloth\-and\-silk;
+找錢 < to\-give\-change;
+補液 < fluid\-infusion;
+起點 < starting\-point;
+就是說 < in\-other\-words;
+報分 < call\-the\-score;
+教育界 < academic\-world;
+挺立 < to\-stand\-erect;
+不平等條約 < unequal\-treaty;
+八成 < eighty\-percent;
+兩手 < double\-tactics;
+絜 < a\-marking\-line;
+採油 < oil\-extraction;
+紾 < turns\-or\-twist;
+糺 < to\-collaborate;
+跨越 < to\-step\-across;
+跑道 < athletic\-track;
+不敢當 < you\-flatter\-me;
+籫 < bamboo\-utensil;
+筬 < reed\-of\-a\-loom;
+喘不過氣來 < cannot\-breathe;
+握拳 < to\-make\-a\-fist;
+副總統 < vice\-president;
+甚至於 < so\-much\-\(that\);
+握手 < to\-shake\-hands;
+稭 < stalk\-of\-grain;
+精干 < crack\-\(troops\);
+長征 < the\-long\-march;
+病痛 < slight\-illness;
+不平衡 < disequilibrium;
+砢 < pile\-of\-stones;
+矉 < an\-angry\-glare;
+睱 < to\-gaze\-slowly;
+睯 < to\-be\-agonized;
+英寸 < \(english\)\-inch;
+眣 < prominent\-eyes;
+採收率 < recovery\-ratio;
+自由化 < liberalization;
+標尺 < surveyor''s\-rod;
+薩達姆侯賽因 < saddam\-hussein;
+璸 < jade''s\-streaks;
+璘 < luster\-of\-jade;
+將軍 < \(army\)\-general;
+玥 < mysterious\-gem;
+狨 < hapale\-jacchus;
+兩國 < both\-countries;
+全國 < entire\-country;
+犨 < panting\-of\-cow;
+不適用 < not\-applicable;
+但以理書 < book\-of\-daniel;
+燉 < heat\-with\-fire;
+燀 < to\-make\-a\-fire;
+熉 < \(yellow\-color\);
+輩子 < all\-one''s\-life;
+長城 < the\-great\-wall;
+表決 < decide\-by\-vote;
+成都 < chengdu\-\(city\);
+鬥智 < battle\-of\-wits;
+八千 < eight\-thousand;
+溛 < to\-form\-hollow;
+湱 < sound\-of\-water;
+捷克共和國 < czech\-republic;
+病歷 < medical\-record;
+渢 < pleasant\-sound;
+涬 < watery\-expanse;
+簡單化 < simplification;
+伸開 < to\-stretch\-out;
+洿 < stagnant\-water;
+迫不得已 < have\-no\-choice;
+評價分類 < rank\,\-classify;
+泂 < clear\-and\-deep;
+演示 < to\-demonstrate;
+沷 < to\-remove\-evil;
+從事研究 < to\-do\-research;
+殭 < a\-stiff\-corpse;
+以賽亞書 < book\-of\-isaiah;
+鹽湖城 < salt\-lake\-city;
+檖 < wild\-pear\-tree;
+橿 < quercus\-glauca;
+傳播 < to\-disseminate;
+入伍 < enter\-the\-army;
+首都 < capital\-\(city\);
+榾 < pieces\-of\-wood;
+榠 < chinese\-quince;
+榖 < paper\-mulberry;
+椪 < machilus\-nanmu;
+潔淨 < cleanse\-\(sins\);
+棐 < species\-of\-yew;
+梊 < squeeze\-out\-of;
+半數以上 < more\-than\-half;
+柾 < straight\-grain;
+柃 < eurya\-japonica;
+舌根 < back\-of\-tongue;
+檔案屬性 < file\-attribute;
+曏 < once\-upon\-time;
+行政 < administration;
+血製品 < blood\-products;
+晢 < light\-of\-stars;
+小聲 < in\-a\-low\-voice;
+昰 < var\-of\-''to\-be'';
+篡改 < to\-tamper\-with;
+截至 < up\-to\-\(a\-time\);
+攂 < to\-beat\-a\-drum;
+起草 < draft\-\(a\-bill\);
+挨打 < take\-a\-beating;
+層理 < stratification;
+球鞋 < athletic\-shoes;
+鍋貼 < fried\-dumpling;
+凹面鏡 < concave\-mirror;
+授命 < to\-give\-orders;
+開心果 < pistachio\-nuts;
+從來沒有 < have\|has\-never;
+以斯帖記 < book\-of\-esther;
+最佳利益 < best\-interests;
+世界語 < world\-language;
+惡性循環 < vicious\-circle;
+核能 < nuclear\-energy;
+浮點 < floating\-point;
+幱 < official\-dress;
+不省人事 < be\-unconscious;
+巟 < a\-watery\-waste;
+百無聊賴 < bored\-to\-death;
+行星際 < interplanetary;
+中心語 < qualified\-word;
+參謀長 < chief\-of\-staff;
+自從 < since\-\(a\-time\);
+棄櫻 < abandoned\-baby;
+產權 < property\-right;
+齒輪 < \(machine\)\-gear;
+侵犯 < to\-infringe\-on;
+醫學中心 < medical\-center;
+血壓 < blood\-pressure;
+錄像機 < video\-recorder;
+塕 < a\-gust\-of\-wind;
+埇 < name\-of\-bridge;
+光信號 < optical\-signal;
+綜合報導 < summary\-report;
+噹 < sound\-of\-bells;
+嘓 < gurgling\-sound;
+減肥 < to\-lose\-weight;
+代表 < representative;
+大同小異 < almost\-similar;
+啌 < animal\-disease;
+畫展 < art\-exhibition;
+生效 < to\-take\-effect;
+核武器 < nuclear\-weapon;
+達不到 < cannot\-achieve;
+才氣 < liteary\-talent;
+厃 < to\-look\-upward;
+卭 < high\.\-to\-raise;
+卂 < to\-fly\-rapidly;
+卑躬屈節 < bow\-and\-scrape;
+恭賀新禧 < happy\-new\-year;
+專欄 < special\-column;
+學籍 < school\-roll\(s\);
+禁食 < fast\-\(not\-eat\);
+克林頓 < \(bill\)\-clinton;
+伕 < common\-laborer;
+亇 < kwukyel\-hammer;
+䶔 < prominent\-gums;
+䶐 < to\-take\-breath;
+䶀 < sound\-of\-drums;
+䵶 < a\-kind\-of\-frog;
+䵌 < reddish\-yellow;
+䴴 < a\-kind\-of\-cake;
+䴩 < a\-kind\-of\-deer;
+䴘 < a\-kind\-of\-bird;
+䳸 < the\-wild\-goose;
+䳫 < a\-small\-pigeon;
+䲢 < a\-kind\-of\-fish;
+某種 < some\-kind\-\(of\);
+䰹 < the\-cuttlefish;
+䰴 < a\-wafting\-fish;
+䰡 < a\-fierce\-ghost;
+將會 < will\,\-going\-to;
+䯛 < the\-knee\-bones;
+䮹 < an\-angry\-horse;
+䮮 < a\-kind\-of\-mule;
+䭻 < a\-swifty\-horse;
+䭭 < the\-eldest\-son;
+䭩 < to\-feed\-a\-baby;
+前生召喚 < foreordination;
+䭁 < stinking\-smell;
+䬺 < same\-as\-u\+4b50;
+䬘 < the\-wind\-blows;
+䬒 < to\-blow\-chilly;
+豎起 < hold\-up\-\(high\);
+網際電話 < internet\-phone;
+䫫 < human\-skeleton;
+䪼 < the\-cheek\-bone;
+䪈 < a\-leather\-belt;
+䩐 < tie\-it\-tightly;
+䨥 < a\-pouring\-rain;
+䧧 < high\-mountains;
+寶書 < treasured\-book;
+䦺 < name\-of\-a\-hill;
+䦤 < seed\-of\-grains;
+䦑 < without\-a\-door;
+䦏 < wing\-of\-a\-door;
+聖誕節 < christmas\-time;
+䤖 < a\-kind\-of\-wine;
+䣎 < name\-of\-county;
+白令海 < the\-bering\-sea;
+䢨 < to\-walk\-slowly;
+䡾 < high\-cartloads;
+䡲 < rim\-of\-a\-wheel;
+摩門經 < book\-of\-mormon;
+䡉 < a\-kind\-of\-cart;
+蘋果電腦 < apple\-computer;
+䜽 < a\-kind\-of\-bean;
+䜜 < words\-of\-anger;
+䛠 < unable\-to\-talk;
+吃驚 < to\-be\-startled;
+䚖 < mountain\-deity;
+䚄 < to\-make\-fun\-of;
+䙳 < spiting\-flames;
+䙦 < upper\-garments;
+䘢 < old\-and\-shabby;
+䗷 < a\-kind\-of\-wasp;
+䗪 < a\-kind\-of\-worm;
+䗚 < eggs\-of\-mantis;
+䗒 < a\-kind\-of\-clam;
+䖰 < a\-kind\-of\-gnat;
+撞擊式印表機 < impact\-printer;
+䕚 < a\-straw\-basket;
+䔕 < chicken\-breast;
+䔋 < a\-kind\-of\-tree;
+導彈 < guided\-missile;
+䔂 < vegetable\-soup;
+清爽 < fresh\-and\-cool;
+䓡 < a\-medical\-herb;
+䒓 < to\-do\-violence;
+䒇 < name\-of\-a\-ship;
+䒅 < beautiful\-eyes;
+䑶 < sprightly\-boat;
+䑫 < tools\-for\-boat;
+䑣 < a\-sailing\-boat;
+䑜 < to\-eat\-heavily;
+互聯 < interconnected;
+䐕 < oil\-and\-grease;
+䐍 < excellent\-food;
+䍡 < small\-fish\-net;
+䍑 < a\-net\-or\-snare;
+䍍 < unburnt\-bricks;
+唱片 < \(vinyl\)\-record;
+䌵 < lapel\-and\-belt;
+䌰 < connected\-silk;
+䌥 < to\-sew\-clothes;
+䌡 < to\-wind\-around;
+二者 < both\-\[of\-them\];
+䋽 < hempen\-sandals;
+䋯 < crucial\-points;
+䋢 < to\-twist\-ropes;
+䊼 < measuring\-unit;
+才子 < gifted\-scholar;
+侵害 < to\-encroach\-on;
+䊨 < storing\-grains;
+䈷 < a\-bamboo\-fence;
+䈚 < a\-bamboo\-shoot;
+不脛而走 < get\-round\-fast;
+䇫 < bamboo\-splints;
+䇅 < to\-stand\-still;
+三輪車伕 < pedicab\-driver;
+寶庫 < treasure\-house;
+保單 < guarantee\-slip;
+飽經風霜 < weather\-beaten;
+䅥 < ripening\-crops;
+小學 < primary\-school;
+仔畜 < newborn\-animal;
+䃹 < jade\-and\-stone;
+䃡 < a\-small\-pebble;
+本色 < natural\-colour;
+䃏 < a\-kind\-of\-rock;
+䃌 < rocky\-mountain;
+來往 < to\-come\-and\-go;
+䂌 < a\-short\-weapon;
+全心全意 < heart\-and\-soul;
+䁤 < moistened\-eyes;
+䁏 < farsightedness;
+䀺 < squinting\-eyes;
+工業的巨頭 < industry\-mogol;
+㽦 < reclaimed\-land;
+㽥 < fertile\-fields;
+㽋 < a\-kind\-of\-tile;
+㽄 < an\-earthen\-jar;
+題跋 < short\-comments;
+㸫 < castrated\-bull;
+㸤 < broken\-leather;
+㸊 < fierce\-of\-fire;
+㶠 < water\-currents;
+不解 < not\-understand;
+泰米爾語 < tamil\-language;
+㵘 < great\-currents;
+懮慮 < \(feel\)\-anxiety;
+㴸 < swift\-currents;
+犯不著 < not\-worthwhile;
+㴙 < water\-dripping;
+㳃 < to\-temper\-iron;
+㲏 < flying\-feather;
+余悸 < lingering\-fear;
+㱏 < the\-right\-side;
+成就 < accomplishment;
+㭻 < the\-crab\-apple;
+不用謝 < you''re\-welcome;
+㭏 < a\-kind\-of\-wood;
+㭄 < a\-king\-of\-tree;
+容忍 < to\-put\-up\-with;
+㫏 < a\-kind\-of\-flag;
+㫂 < to\-chop\-or\-cut;
+罷論 < abandoned\-idea;
+患處 < afflicted\-part;
+㨇 < to\-sweep\-clean;
+㥺 < to\-blow\-a\-fire;
+不期而遇 < meet\-by\-chance;
+㥉 < a\-little\-angry;
+㥇 < to\-be\-perverse;
+㤾 < not\-doing\-well;
+㤖 < to\-have\-wisdom;
+㣦 < a\-winding\-path;
+架構 < infrastructure;
+穴播 < bunch\-planting;
+半自動 < semi\-automatic;
+㡜 < ragged\-clothes;
+懷孕 < to\-be\-pregnant;
+㠨 < misty\-mountain;
+㠡 < high\-and\-lofty;
+㟿 < high\-and\-steep;
+職業 < job\-occupation;
+內蒙古 < inner\-mongolia;
+退休金 < retirement\-pay;
+留言簿 < visitor''s\-book;
+㞩 < mountain\-vapor;
+㞗 < the\-male\-organ;
+任期 < term\-of\-office;
+㞊 < unable\-to\-walk;
+㝰 < unable\-to\-meet;
+㝛 < ahalting\-place;
+㜤 < fooling\-around;
+㜑 < an\-older\-woman;
+近乎同步 < plesiochronous;
+㛩 < sisters\-in\-law;
+㛂 < weak\-and\-small;
+㚃 < to\-take\-a\-hint;
+㙷 < low\-lying\-area;
+不興 < out\-of\-fashion;
+㖢 < to\-reject\-food;
+㕤 < a\-proud\-temper;
+球棒 < \(baseball\)\-bat;
+㔙 < great\-strength;
+㒛 < to\-stand\-alone;
+㒀 < do\-not\-fear\-to;
+資格 < qualifications;
+東海 < east\-china\-sea;
+死亡率 < mortality\-rate;
+哥本哈根 < copenhagen\-\?\?\?;
+東歐 < eastern\-europe;
+任憑 < no\-matter\-what;
+今朝 < at\-the\-present;
+作品 < works\-\(of\-art\);
+憋悶 < feel\-oppressed;
+飼槽 < feeding\-trough;
+警車 < police\-vehicle;
+寒冷 < cold\-\(climate\);
+哈該書 < book\-of\-haggai;
+安好 < safe\-and\-sound;
+液晶 < liquid\-crystal;
+參觀 < to\-look\-around;
+阿伏伽德羅定律 < avogadro''s\-law;
+擺攤子 < set\-up\-a\-stall;
+可能 < might\-\(happen\);
+首先 < first\-\(of\-all\);
+瑞士人 < swiss\-\(person\);
+每端口價格 < price\-per\-port;
+液態 < liquid\-\(state\);
+孕婦 < pregnant\-woman;
+乘法 < multiplication;
+差不多 < almost\,\-nearly;
+定價 < to\-set\-a\-price;
+括弧裡 < in\-parentheses;
+暗箱 < camera\-bellows;
+減刑 < reduce\-penalty;
+百米賽跑 < 100\-metre\-dash;
+信號臺 < signal\-station;
+世界上 < \(of\-the\)\-world;
+調查報告 < memoir\,\-report;
+圓珠筆 < ball\-point\-pen;
+中歐 < central\-europe;
+全球氣候升溫 < global\-warming;
+犯罪 < \(commit\)\-crime;
+份兒 < degree\,\-extent;
+跑腿兒 < to\-run\-errands;
+不正常狀況 < abnormal\-state;
+特色 < characteristic;
+中斷 < to\-discontinue;
+秕子 < blighted\-grain;
+世界經濟 < global\-economy;
+有待 < not\-yet\-\(done\);
+題材 < subject\-matter;
+礦泉 < mineral\-spring;
+通用汽車 < general\-motors;
+毛衣 < \(wool\)\-sweater;
+責任 < responsibility;
+北京週報 < beijing\-review;
+半職 < part\-time\-work;
+波狀熱 < undulant\-fever;
+顯得 < appear\-\(to\-be\);
+不忍 < cannot\-bear\-to;
+知識庫 < knowledge\-base;
+源點地址 < source\-address;
+這次危機 < present\-crisis;
+多工運作 < multithreading;
+媽咪 < mummy\-\(mother\);
+波恩 < bonn\-\(germany\);
+敗訴 < lose\-a\-lawsuit;
+電信局 < central\-office;
+壽衣 < burial\-clothes;
+西南亞 < southwest\-asia;
+二氧化碳 < carbon\-dioxide;
+擺鐘 < pendulum\-clock;
+撥號盤 < telephone\-dial;
+北緯 < north\-latitude;
+及格 < to\-pass\-a\-test;
+法庭 < court\-\(of\-law\);
+這類 < this\-kind\-\(of\);
+網絡設計 < network\-design;
+後兩者 < the\-latter\-two;
+主修 < \(school\)\-major;
+變成 < to\-change\-into;
+廠禮拜 < day\-off\-\(work\);
+不合 < not\-conform\-to;
+開放式系統 < open\-system\(s\);
+斑竹 < mottled\-bamboo;
+不及 < not\-as\-good\-as;
+分類 < classification;
+兩百億 < twenty\-billion;
+無連接 < connectionless;
+重建 < reconstruction;
+猜謎兒 < guess\-a\-riddle;
+請看 < please\-see\-\.\.\.;
+五年計劃 < five\-year\-plan;
+氫氣 < hydrogen\-\(gas\);
+市場經濟 < market\-economy;
+檔案執行 < file\-execution;
+互動電視 < interactive\-tv;
+美差事 < a\-terrific\-job;
+數種 < numerous\-types;
+冰點 < freezing\-point;
+歐洲聯盟 < european\-union;
+華裔 < ethnic\-chinese;
+不仁 < not\-benevolent;
+收聽 < to\-listen\-\(to\);
+经 < classic\-works;
+弟 < young\-brother;
+廻 < circle\-around;
+关 < frontier\-pass;
+帝 < supreme\-ruler;
+番 < to\-take\-turns;
+略 < approximately;
+共 < together\-with;
+义 < right\-conduct;
+嫂 < sister\-in\-law;
+哥 < elder\-brother;
+婦 < married\-women;
+訣 < take\-leave\-of;
+族 < a\-family\-clan;
+奪 < take\-by\-force;
+笔 < writing\-brush;
+袷 < lined\-garment;
+瀬 < swift\-current;
+伯 < older\-brother;
+漲 < rise\-in\-price;
+礼 < social\-custom;
+嘩 < rushing\-sound;
+啣 < hold\-in\-mouth;
+泊 < anchor\-vessel;
+沿 < follow\-course;
+咄 < noise\-of\-rage;
+菊 < chrysanthemum;
+岳 < mountain\-peak;
+匹 < bolt\-of\-cloth;
+颇 < lean\-one\-side;
+晨 < early\-morning;
+撞 < knock\-against;
+愈 < more\-and\-more;
+槇 < tip\-of\-a\-tree;
+駅 < relay\-station;
+饅 < steamed\-bread;
+炸 < to\-fry\-in\-oil;
+脈 < blood\-vessels;
+绪 < end\-of\-thread;
+飼 < raise\-animals;
+梓 < catalpa\-ovata;
+肌 < muscle\-tissue;
+佩 < belt\-ornament;
+署 < public\-office;
+搭 < join\-together;
+栗 < chestnut\-tree;
+桑 < mulberry\-tree;
+鞄 < to\-work\-hides;
+杓 < handle\-of\-cup;
+佃 < tenant\-farmer;
+贡 < offer\-tribute;
+曇 < become\-cloudy;
+亙 < extend\-across;
+诞 < bear\-children;
+晴 < clear\-weather;
+塑 < model\-in\-clay;
+浦 < bank\-of\-river;
+籔 < bamboo\-basket;
+慎 < act\-with\-care;
+莉 < white\-jasmine;
+捗 < make\-progress;
+塌 < fall\-in\-ruins;
+竖 < perpendicular;
+陕 < mountain\-pass;
+惚 < absent\-minded;
+淀 < shallow\-water;
+淘 < wash\-in\-sieve;
+瑰 < extraordinary;
+垫 < advance\-money;
+灶 < kitchen\-range;
+毓 < give\-birth\-to;
+咧 < stretch\-mouth;
+奎 < stride\-of\-man;
+洽 < to\-blend\-with;
+瑶 < precious\-jade;
+钰 < rare\-treasure;
+瑛 < luster\-of\-gem;
+殉 < die\-for\-cause;
+唬 < to\-intimidate;
+瘪 < shrivelled\-up;
+唆 < make\-mischief;
+岚 < mountain\-mist;
+桦 < type\-of\-birch;
+涟 < flowing\-water;
+飕 < sound\-of\-wind;
+坷 < clod\-of\-earth;
+鑫 < used\-in\-names;
+笋 < bamboo\-shoots;
+荃 < aromatic\-herb;
+馄 < dumpling\-soup;
+穹 < high\-and\-vast;
+弈 < chinese\-chess;
+驮 < carry\-on\-back;
+芥 < mustard\-plant;
+炜 < brilliant\-red;
+岜 < rock\-mountain;
+纫 < thread\-needle;
+桀 < chicken\-roost;
+拮 < laboring\-hard;
+纥 < inferior\-silk;
+忤 < insubordinate;
+鸾 < fabulous\-bird;
+嘁 < to\-be\-grieved;
+辎 < a\-supply\-cart;
+芫 < daphne\-genkwa;
+伧 < vulgar\-person;
+泠 < nice\-and\-cool;
+縻 < halter\-for\-ox;
+踽 < to\-walk\-alone;
+赭 < reddish\-brown;
+颀 < tall\-and\-slim;
+柘 < a\-thorny\-tree;
+谔 < honest\-speech;
+骓 < piebald\-horse;
+崧 < high\-mountain;
+酚 < carbolic\-acid;
+夤 < distant\-place;
+暌 < in\-opposition;
+怍 < to\-be\-ashamed;
+贽 < gift\-superior;
+毖 < guard\-against;
+迓 < to\-go\-to\-meet;
+毵 < long\-feathers;
+睚 < corner\-of\-eye;
+毽 < a\-shuttlecock;
+僳 < minority\-name;
+辏 < hubs\-of\-wheel;
+旆 < flag\-ornament;
+荇 < a\-water\-plant;
+卮 < measuring\-cup;
+髡 < to\-shear\-tree;
+鳜 < mandarin\-fish;
+鼍 < large\-reptile;
+笫 < planks\-of\-bed;
+缡 < a\-bridal\-veil;
+绨 < coarse\-pongee;
+芰 < water\-caltrop;
+魃 < drought\-demon;
+舳 < stern\-of\-ship;
+屦 < straw\-sandals;
+蓐 < straw\-bed\-mat;
+銎 < eye\-of\-an\-axe;
+醣 < carbohydrates;
+蛑 < a\-marine\-crab;
+椠 < wooden\-tablet;
+媸 < an\-ugly\-woman;
+馇 < stir\-and\-cook;
+甙 < sugar\-product;
+薤 < allium\-bakeri;
+塥 < dry\-clay\-lump;
+檔案轉送 < file\-transfer;
+諾貝爾 < nobel\-\(prize\);
+菲菲 < very\-fragrant;
+昂揚 < high\-spirited;
+保證金 < earnest\-money;
+磁帶 < magnetic\-tape;
+解調 < to\-demodulate;
+北海 < the\-north\-sea;
+薄利 < small\-profits;
+排山倒海 < earth\-shaking;
+晚報 < evening\-paper;
+星座 < constellation;
+激光打引機 < laser\-printer;
+冰鞋 < skating\-boots;
+掛號證 < register\-card;
+廠絲 < filature\-silk;
+矛盾 < contradictory;
+出賣 < to\-sell\-\(off\);
+到處 < in\-all\-places;
+經營費用 < business\-cost;
+原子能 < atomic\-energy;
+古代 < ancient\-times;
+新月 < crescent\-moon;
+紀念館 < memorial\-hall;
+單韻母 < simple\-finals;
+即將 < on\-the\-eve\-of;
+卑微 < petty\-and\-low;
+危害 < to\-jeopardize;
+直截了當 < plain\-talking;
+冷戰以後 < post\-cold\-war;
+有可能 < it''s\-possible;
+刨花 < wood\-shavings;
+莨菪 < black\-henbane;
+調查 < investigation;
+綁腿 < leg\-wrappings;
+列舉 < \(make\-a\)\-list;
+適用 < be\-applicable;
+摘記 < to\-take\-notes;
+元首 < head\-of\-state;
+未提及 < not\-mentioned;
+方式 < way\-\(of\-life\);
+日夜 < day\-and\-night;
+芝麻 < sesame\-\(seed\);
+本生燈 < bunsen\-burner;
+牌坊 < memorial\-arch;
+心臟病 < heart\-disease;
+前生 < pre\-existence;
+勢在必行 < be\-imperative;
+昇值 < rise\-in\-value;
+十五年 < fifteen\-years;
+米飯 < \(cooked\)\-rice;
+鄧小平 < deng\-xiaoping;
+轉道 < make\-a\-detour;
+舊約全書 < old\-testament;
+長途 < long\-distance;
+日前 < the\-other\-day;
+幾個小時 < several\-hours;
+那鴻書 < book\-of\-nahum;
+網絡層 < network\-layer;
+墜毀 < \(plane\)\-crash;
+雙手 < pair\-of\-hands;
+哥林多後書 < 2\-corinthians;
+南亞 < southern\-asia;
+刊登 < carry\-a\-story;
+誇張 < to\-exaggerate;
+難忘 < unforgettable;
+太太 < married\-woman;
+撥用 < appropriation;
+審判欄 < judgement\-bar;
+境況 < circumstances;
+民事 < civil\-matters;
+女佣 < \(female\)\-maid;
+不可缺少 < indispensable;
+勘察 < reconnaisance;
+籌集 < collect\-money;
+操演 < demonstration;
+白花花 < shining\-white;
+建築學 < architectural;
+視窗基準 < windows\-based;
+電郵位置 < email\-address;
+幻燈 < latern\-slides;
+研究領域 < research\-area;
+中國式 < chinese\-style;
+加快 < to\-accelerate;
+冰糖 < crystal\-sugar;
+國際 < international;
+半失業 < semi\-employed;
+鬥雞 < cock\-fighting;
+過時 < old\-fashioned;
+進接服務 < access\-server;
+隨意 < as\-one\-wishes;
+失利 < suffer\-defeat;
+表決權 < right\-to\-vote;
+空間站 < space\-station;
+損耗 < wear\-and\-tear;
+相當 < equivalent\-to;
+逐步 < progressively;
+鵩 < owl\-like\-bird;
+大公司 < large\-company;
+不記名投票 < secret\-ballot;
+二次大戰 < world\-war\-two;
+幾次 < several\-times;
+巨細 < big\-and\-small;
+幾樣 < several\-kinds;
+大使 < an\-ambassador;
+編審 < read\-and\-edit;
+強化 < to\-strengthen;
+避孕 < contraception;
+髃 < shoulder\-bone;
+不列顛諸島 < british\-isles;
+骪 < crooked\-bones;
+大容量 < high\-capacity;
+大事 < a\-major\-event;
+楊百翰 < brigham\-young;
+大問題 < great\-problem;
+馣 < fragrant\-odor;
+教友 < church\-member;
+光功率 < optical\-power;
+速效 < quick\-results;
+餚 < prepared\-meat;
+權威性 < authoritative;
+利於 < be\-beneficial;
+初期 < initial\-stage;
+女朋友 < female\-friend;
+基本概念 < basic\-concept;
+不周延 < undistributed;
+鞮 < leather\-shoes;
+詢問 < inquire\-about;
+霝 < drops\-of\-rain;
+摁釦兒 < snap\-fastener;
+死刑 < death\-penalty;
+铖 < person''s\-name;
+白皮松 < lacebark\-pine;
+錡 < a\-kind\-of\-pen;
+兵痞 < army\-riffraff;
+存儲器 < memory\-\(unit\);
+貿易順差 < trade\-surplus;
+彌迦書 < book\-of\-micah;
+鈄 < a\-wine\-flagon;
+武器系統 < weapon\-system;
+釭 < tire\-of\-wheel;
+醨 < dregs\-of\-wine;
+體重 < \(body\)\-weight;
+白砒 < white\-arsenic;
+梅塞迪斯奔馳 < mercedes\-benz;
+相架 < picture\-frame;
+辡 < recrimination;
+家用電腦 < home\-computer;
+現代化 < modernization;
+轏 < sleeping\-cart;
+兵營 < military\-camp;
+主禱文 < lord''s\-prayer;
+市民 < city\-resident;
+庭園 < flower\-garden;
+跮 < hasty\-walking;
+轟炸 < \(drop\-a\)\-bomb;
+過去 < \(in\-the\)\-past;
+賮 < farewell\-gift;
+艦艇 < naval\-vessels;
+大公無私 < just\-and\-fair;
+哥林多前書 < 1\-corinthians;
+冰期 < glacial\-epoch;
+關於 < pertaining\-to;
+剛剛 < just\-recently;
+廠主 < factory\-owner;
+再次 < one\-more\-time;
+謍 < humming\-sound;
+新約全書 < new\-testament;
+覶 < to\-look\-about;
+覔 < to\-search\-for;
+襚 < grave\-clothes;
+權力 < \(wield\)\-power;
+蠵 < large\-turtles;
+簿籍 < account\-books;
+螾 < the\-earthworm;
+螥 < the\-house\-fly;
+螙 < grubs\-in\-wood;
+蛅 < a\-caterpillar;
+橫掃 < to\-sweep\-away;
+度假 < go\-on\-holiday;
+蘯 < to\-toss\-about;
+異質 < heterogeneous;
+車站 < \(bus\)\-station;
+亞洲國家 < asian\-country;
+暴風驟雨 < violent\-storm;
+蔎 < thea\-sinensis;
+備至 < to\-the\-utmost;
+葽 < type\-of\-grain;
+菼 < rush\-or\-sedge;
+菺 < althaea\-rosea;
+跑鞋 < running\-shoes;
+菑 < to\-weed\-grass;
+報單 < taxation\-form;
+莧 < edible\-greens;
+茥 < rubus\-tokkura;
+鑒賞 < to\-appreciate;
+苘 < indian\-mallow;
+這位 < this\-\(person\);
+困窘 < embarrassment;
+降世 < come\-to\-earth;
+脥 < pelvic\-cavity;
+便飯 < a\-simple\-meal;
+胲 < hydroxylamine;
+輻條 < \(wheel\)\-spoke;
+好幾年 < several\-years;
+罳 < wooden\-screen;
+缇 < reddish\-color;
+打開 < to\-break\-open;
+售票處 < ticket\-office;
+發揮 < bring\-to\-bear;
+糭 < rice\-dumpling;
+捉取圖像 < capture\-image;
+籾 < unhulled\-rice;
+籜 < bamboo\-sheath;
+六點半 < half\-past\-six;
+開心 < to\-feel\-happy;
+無意識 < unconsciously;
+實驗 < to\-experiment;
+笵 < a\-bamboo\-form;
+笭 < bamboo\-screen;
+轉彎 < turn\-\(around\);
+案頭 < on\-one''s\-desk;
+拜金主義 < money\-worship;
+永久和平 < lasting\-peace;
+砞 < to\-smash\-rock;
+矞 < bore\-with\-awl;
+辨別 < differentiate;
+抄襲 < to\-plagiarize;
+辦到 < to\-accomplish;
+先後 < in\-succession;
+畜肥 < animal\-manure;
+推動力 < driving\-force;
+拉美 < latin\-america;
+核電 < nuclear\-power;
+越野 < cross\-country;
+璂 < jade\-ornament;
+琕 < type\-of\-pearl;
+獙 < die\-violently;
+公園 < a\-public\-park;
+百姓 < common\-people;
+哈薩克人 < kazakh\-person;
+災區 < disaster\-area;
+避風處 < lee\,\-windstop;
+牁 < mooring\-stake;
+構成 < to\-constitute;
+熰 < great\-drought;
+保藏 < keep\-in\-store;
+瑞香 < winter\-daphne;
+拌種 < seed\-dressing;
+籌措 < raise\-\(money\);
+棄置 < to\-throw\-away;
+使用量 < volume\-of\-use;
+賣點 < selling\-point;
+瘦弱 < thin\-and\-weak;
+浬 < nautical\-mile;
+白匪 < white\-bandits;
+肉體 < physical\-body;
+欵 < to\-treat\-well;
+欓 < a\-cross\-piece;
+半導體 < semiconductor;
+備案 < put\-on\-record;
+櫌 < a\-kind\-of\-hoe;
+檮 < block\-of\-wood;
+巡航導彈 < cruise\-missle;
+不可能的事 < impossibility;
+榌 < wooden\-ladder;
+百分之五十 < fifty\-percent;
+鬥志 < will\-to\-fight;
+扁荳 < hyacinth\-bean;
+百倍 < a\-hundredfold;
+楙 < name\-of\-plant;
+筆筒 < pen\-container;
+梹 < the\-areca\-nut;
+寶藍 < sapphire\-blue;
+梎 < sickle\-handle;
+栰 < a\-bamboo\-raft;
+滲碳 < carburization;
+暴力犯罪 < violent\-crime;
+朩 < kwukyel\:\-rank;
+渡過 < to\-cross\-over;
+字集 < character\-set;
+駁殼槍 < mauser\-pistol;
+何西阿書 < book\-of\-hosea;
+空運 < air\-transport;
+奧克拉荷馬市 < oklahoma\-city;
+搢 < to\-stick\-into;
+掭 < to\-manipulate;
+挶 < hold\-in\-hands;
+拕 < to\-drag\-after;
+抃 < to\-clap\-hands;
+不成文法 < unwritten\-law;
+戺 < stone\-boarder;
+戹 < in\-difficulty;
+高速乙太網路 < fast\-ethernet;
+不方便 < inconvenience;
+沒經驗 < inexperienced;
+表層 < surface\-layer;
+怾 < mountain\-name;
+圓周 < circumference;
+彽 < go\-to\-and\-fro;
+彲 < yellow\-dragon;
+彔 < to\-carve\-wood;
+主日學 < sunday\-school;
+病害 < plant\-disease;
+巰 < an\-atom\-group;
+售貨 < to\-sell\-goods;
+峂 < name\-of\-place;
+有助于 < contribute\-to;
+寀 < feudal\-estate;
+舌尖 < tip\-of\-tongue;
+案稱 < counter\-scale;
+媢 < be\-jealous\-of;
+消防 < fire\-fighting;
+喉結 < adam''s''\-apple;
+島國 < island\-nation;
+鬧事 < cause\-trouble;
+京都 < kyoto\-\(japan\);
+四千 < four\-thousand;
+當年 < in\-those\-days;
+垻 < an\-embankment;
+財迷 < money\-grubber;
+三十億 < three\-billion;
+理解 < to\-comprehend;
+嚚 < argumentative;
+不凍港 < ice\-free\-port;
+步話機 < walkie\-talkie;
+密碼 < \(secret\)\-code;
+築城 < fortification;
+咡 < side\-of\-mouth;
+衛兵 < \(body\)\-guard\);
+艾滋病抗體 < aids\-antibody;
+集線器 < hub\-\(network\);
+疑問 < interrogation;
+凟 < to\-be\-rude\-to;
+喉痧 < scarlet\-fever;
+個性 < individuality;
+儹 < to\-accumulate;
+儲 < to\-save\-money;
+儛 < to\-skip\-about;
+不舒適 < uncomfortable;
+傒 < personal\-name;
+兩千年 < the\-year\-2000;
+標本蟲 < spider\-beetle;
+啟示 < enlightenment;
+進出口 < import\|export;
+不可侵犯權 < inviolability;
+侂 < to\-commission;
+向西南 < southwestward;
+致函 < send\-a\-letter;
+乨 < the\-beginning;
+䶚 < decayed\-tooth;
+䶈 < a\-kind\-of\-rat;
+䵿 < a\-silent\-drum;
+䵁 < decayed\-dough;
+䴰 < a\-family\-name;
+䲺 < birds\-singing;
+䲅 < the\-globefish;
+䰻 < to\-catch\-fish;
+意識 < consciousness;
+䰱 < name\-of\-a\-god;
+售票員 < ticket\-seller;
+䯅 < a\-swift\-horse;
+䮈 < to\-go\-swiftly;
+䫿 < a\-cool\-breeze;
+䫴 < weak\-and\-dull;
+聯絡 < communication;
+售票口 < ticket\-window;
+扁擔 < carrying\-pole;
+䫁 < the\-first\-son;
+䪫 < ancient\-music;
+䪒 < leather\-pants;
+䩾 < herb\-medicine;
+䩤 < to\-lead\-an\-ox;
+䩣 < shoe\-cushions;
+䩞 < a\-saddle\-flap;
+䨎 < deep\-and\-dark;
+安定化 < stabilization;
+䧖 < a\-small\-mound;
+䦴 < open\-the\-door;
+䦳 < between\-steps;
+交換端 < switched\-port;
+哀號 < cry\-piteously;
+䦡 < a\-door\-keeper;
+䥩 < hooks\-to\-hang;
+䤵 < a\-tiny\-needle;
+䤎 < soybean\-sauce;
+䤃 < drunken\-sound;
+䣰 < to\-pool\-money;
+䢧 < to\-go\-forward;
+䢚 < a\-narrow\-path;
+䢃 < to\-administer;
+䡥 < a\-moving\-cart;
+䟘 < to\-straighten;
+䟊 < short\-strides;
+桂林 < guilin\-\(city\);
+䞁 < corresponding;
+䝶 < to\-levy\-taxes;
+䝬 < a\-wealthy\-man;
+金黃 < golden\-yellow;
+䛾 < familiar\-with;
+不相干 < be\-irrelevant;
+目標市場 < target\-market;
+䛐 < an\-expression;
+天曉得 < heaven\-knows\!;
+䚕 < to\-search\-out;
+䙹 < to\-vomit\-milk;
+䙥 < shiny\-dresses;
+䙢 < short\-t\-shirt;
+䙠 < short\-clothes;
+䙟 < heavy\-clothes;
+䙞 < woolen\-string;
+䙅 < the\-waistline;
+跨國 < transnational;
+䗗 < the\-millipede;
+䖩 < a\-kind\-of\-bee;
+䖑 < a\-white\-tiger;
+䖇 < fragrant\-herb;
+演出 < \(acting\)\-play;
+吃飯 < to\-eat\-a\-meal;
+䒎 < without\-color;
+䑲 < to\-row\-a\-boat;
+䑥 < a\-moving\-boat;
+䐲 < half\-raw\-meat;
+䐙 < the\-diaphragm;
+䏘 < a\-big\-abdomen;
+䏄 < not\-to\-listen;
+不通 < be\-obstructed;
+最高法院 < supreme\-court;
+䍽 < a\-fierce\-goat;
+䍼 < salted\-mutton;
+䍪 < castrated\-ram;
+䍤 < to\-strain\-out;
+戒指 < \(finger\)\-ring;
+最後更新 < latest\-update;
+䌙 < hank\-of\-ropes;
+䌅 < a\-thick\-ropes;
+䋦 < ravelled\-silk;
+䋝 < a\-throat\-band;
+杏仁豆腐 < almond\-junket;
+䊽 < a\-fine\-thread;
+䊔 < polished\-rice;
+䉩 < a\-bamboo\-ware;
+䉨 < bamboo\-joints;
+䈾 < move\-a\-little;
+䈳 < a\-window\-leaf;
+少將 < major\-general;
+䆚 < to\-go\-through;
+杜絕 < put\-an\-end\-to;
+䅛 < husks\-of\-rice;
+䃳 < falling\-stone;
+䂶 < the\-crustacea;
+䂗 < to\-be\-careful;
+䂎 < a\-short\-spear;
+䂁 < an\-angry\-look;
+䁙 < eloquent\-eyes;
+䀮 < sight\-blurred;
+䀭 < with\-big\-eyes;
+䀖 < to\-look\-up\-to;
+䀕 < angry\-glances;
+暗鎖 < built\-in\-lock;
+㿬 < nasal\-disease;
+㾽 < swelling\-feet;
+㽲 < griping\-colic;
+㽇 < unburnt\-tiles;
+㼵 < a\-small\-basin;
+㼟 < a\-tiled\-house;
+㼎 < a\-small\-melon;
+㻾 < jade\-articles;
+同盟國 < confederation;
+㺈 < to\-go\-hunting;
+㹹 < a\-kind\-of\-dog;
+㹵 < a\-hunting\-dog;
+㹳 < a\-kind\-of\-ape;
+懲戒 < to\-discipline;
+這種方式 < \(in\)\-this\-way;
+下課 < class\-is\-over;
+不詳 < not\-in\-detail;
+㸄 < a\-raging\-fire;
+㷾 < blaze\-of\-fire;
+反響 < repercussions;
+㷖 < to\-shine\-upon;
+㷕 < hearing\-sound;
+㷒 < to\-cook\-meals;
+㶘 < full\-of\-water;
+奧運會 < olympic\-games;
+㵳 < crystal\-clear;
+㵠 < to\-gush\-forth;
+㴽 < water\-current;
+㴫 < great\-flowing;
+㴦 < to\-wash\-hands;
+㴥 < great\-billows;
+㴐 < great\-current;
+保護主義 < protectionism;
+㲛 < hairy\-animals;
+在未來 < in\-the\-future;
+宿怨 < an\-old\-grudge;
+㰻 < asses\-braying;
+㰏 < a\-bamboo\-pole;
+㰌 < to\-monopolize;
+㭿 < oblique\-angle;
+單子 < list\-of\-items;
+㭓 < a\-pillar\-arch;
+貢獻 < to\-contribute;
+㬥 < to\-sun\-to\-air;
+叫醒 < to\-call\-awake;
+㬄 < warm\-and\-damp;
+㫟 < day\-after\-day;
+南美洲 < south\-america;
+美術 < the\-fine\-arts;
+㩥 < delicate\-hand;
+㨞 < to\-feel\-about;
+㧼 < to\-distribute;
+㧷 < to\-wipe\-tears;
+㦫 < lax\-and\-crude;
+㦌 < keen\-or\-sharp;
+㥼 < to\-be\-near\-to;
+㣿 < painfully\-sad;
+㣤 < to\-tread\-upon;
+㢻 < to\-draw\-a\-bow;
+㢖 < a\-store\-house;
+七百萬 < seven\-million;
+㠴 < a\-pillow\-case;
+㠛 < name\-a\-county;
+月球表面 < lunar\-surface;
+㟭 < the\-min\-river;
+能夠 < be\-capable\-of;
+㞬 < close\-or\-near;
+㞋 < soft\-and\-meek;
+家屬 < family\-member;
+㝻 < barely\-enough;
+㝃 < to\-bear\-a\-son;
+地方停車 < parking\-place;
+㛒 < can\-not\-speak;
+㚴 < a\-pretty\-girl;
+鼻淵 < nasosinusitis;
+懂得 < to\-understand;
+㘛 < a\-deep\-valley;
+有良心 < conscientious;
+㘓 < prolix\-speech;
+㘉 < to\-make\-sound;
+㗴 < dogs\-fighting;
+㕰 < sound\-angrily;
+㕪 < birds''\-chirps;
+㕙 < a\-wily\-rabbit;
+㕉 < to\-dig\-a\-hole;
+㔥 < full\-of\-anger;
+㓴 < to\-cut\-in\-two;
+半點 < the\-least\-bit;
+㓖 < bitterly\-cold;
+以太網絡端口 < ethernet\-port;
+㑥 < disrespectful;
+鉛筆 < \(lead\)\-pencil;
+單向 < undirectional;
+㐰 < to\-believe\-in;
+受賄 < accept\-bribes;
+鼻飼法 < nasal\-feeding;
+知名人士 < public\-figure;
+約拿書 < book\-of\-jonah;
+例假 < legal\-holiday;
+水面 < water\-surface;
+步行蟲 < ground\-beetle;
+移殖 < to\-transplant;
+起伏 < ups\-and\-downs;
+變調 < modified\-tone;
+友誼 < companionship;
+美國國會 < u\.s\.\-congress;
+哀樂 < funeral\-music;
+不幸的是 < unfortunately;
+富于 < to\-be\-full\-of;
+便步走 < march\-at\-ease;
+聲帶 < vocal\-cord\(s\);
+不知 < unknowing\(ly\);
+孫女 < granddaughter;
+光纖電纜 < optical\-fiber;
+社交語言 < lingua\-franca;
+涼快 < nice\-and\-cold;
+三百 < three\-hundred;
+連接至 < to\-connect\-to;
+京戲 < beijing\-opera;
+低于 < be\-lower\-than;
+鳶尾花 < iris\-\(flower\);
+南部 < southern\-part;
+變色 < change\-colour;
+半官方 < semi\-official;
+北面 < northern\-side;
+上班 < to\-go\-to\-work;
+百科全書 < encyclopaedia;
+各種 < every\-kind\-of;
+貝彫 < shell\-carving;
+日軍 < japanese\-army;
+功率惡化 < power\-penalty;
+南越 < south\-vietnam;
+愛憎 < love\-and\-hate;
+職員 < office\-worker;
+洋溢 < brimming\-with;
+不可抗力 < force\-majeure;
+協調 < to\-coordinate;
+大阪 < osaka\-\(japan\);
+考慮 < to\-think\-over;
+生命的遺跡 < trace\-of\-life;
+北部 < northern\-part;
+兼容性 < compatibility;
+解壓縮 < to\-decompress;
+本意 < original\-idea;
+吸毒 < to\-take\-drugs;
+中國銀行 < bank\-of\-china;
+泳池 < swimming\-pond;
+一步 < \(single\)\-step;
+北越 < north\-vietnam;
+響應時間 < response\-time;
+雜項 < miscellaneous;
+傳輸模式 < transfer\-mode;
+採棉機 < cotton\-picker;
+外部 < external\-part;
+聞人 < famous\-person;
+前所未有 < unprecedented;
+和尚 < buddhist\-monk;
+蘇州 < suzhou\-\(city\);
+礦水 < mineral\-water;
+暑氣 < \(summer\)\-heat;
+一九九七年 < the\-year\-1997;
+哀告 < beg\-piteously;
+外貿 < foreign\-trade;
+避難 < \[take\]\-refuge;
+包袱 < cloth\-wrapper;
+感冒 < to\-catch\-cold;
+彩蚌 < painted\-shell;
+芭蕉扇 < palm\-leaf\-fan;
+禮堂 < assembly\-hall;
+總計 < \(grand\)\-total;
+娛樂 < entertainment;
+中學 < middle\-school;
+五一 < 5\-1\-\(may\-1st\);
+磁片 < magnetic\-disk;
+會場 < meeting\-place;
+媾和 < to\-make\-peace;
+公元前 < before\-christ;
+上市 < on\-the\-market;
+訪問方式 < access\-method;
+檔案建立 < file\-creation;
+私利 < personal\-gain;
+遲鈍 < slow\-\(witted\);
+波美度 < baume\-degrees;
+北美 < north\-america;
+經驗 < to\-experience;
+出生日期 < date\-of\-birth;
+不可思議 < inconceivable;
+格子花呢 < plaid\,\-tartan;
+汲水 < to\-draw\-water;
+獲勝 < be\-victorious;
+觀點 < point\-of\-view;
+半復賽 < eighth\-finals;
+水牛 < water\-buffalo;
+雙生兄弟 < twin\-brothers;
+同年 < the\-same\-year;
+最大速率 < maximum\-speed;
+變星 < variable\-star;
+邊界線 < boundary\-line;
+蘇俄 < soviet\-russia;
+現實情況 < current\-state;
+步行 < to\-go\-on\-foot;
+擅長 < to\-be\-good\-at;
+不啻 < not\-less\-than;
+牌照 < license\-plate;
+支持率 < support\-level;
+試一試 < to\-have\-a\-try;
+暗害 < kill\-secretly;
+包羅萬象 < all\-embracing;
+勃興 < rise\-suddenly;
+變態 < metamorphosis;
+性慾 < sexual\-desire;
+匯率 < exchange\-rate;
+治安 < law\-and\-order;
+視頻節目 < video\-program;
+雌花 < female\-flower;
+全世界第一 < world''s\-first;
+多種 < many\-kinds\-of;
+吸入 < to\-breathe\-in;
+變工 < exchange\-work;
+下至上 < bottom\-to\-top;
+受害 < to\-be\-injured;
+找不到 < couldn''t\-find;
+決心 < determination;
+下令 < give\-an\-order;
+莫逆 < very\-friendly;
+羅馬字母 < roman\-letters;
+比熱 < specific\-heat;
+不可名狀 < indescribable;
+瞳 < pupil\-of\-eye;
+万 < ten\-thousand;
+布 < cotton\-cloth;
+通 < pass\-through;
+提 < hold\-in\-hand;
+京 < capital\-city;
+甚 < great\-extent;
+周 < zhou\-dynasty;
+尻 < end\-of\-spine;
+宴 < to\-entertain;
+宰 < to\-slaughter;
+犯 < commit\-crime;
+婢 < servant\-girl;
+参 < take\-part\-in;
+掌 < palm\-of\-hand;
+姿 < one''s\-manner;
+姉 < elder\-sister;
+斗 < chinese\-peck;
+呼 < breathe\-sigh;
+衝 < rush\-against;
+螺 < spiral\-shell;
+坊 < neighborhood;
+尼 < buddhist\-nun;
+鼾 < snore\-loudly;
+叶 < to\-harmonize;
+野 < open\-country;
+移 < change\-place;
+唐 < tang\-dynasty;
+秀 < ear\-of\-grain;
+蒲 < type\-of\-rush;
+庆 < congratulate;
+蒟 < betel\-pepper;
+汗 < perspiration;
+拜 < do\-obeisance;
+虑 < be\-concerned;
+宋 < song\-dynasty;
+胆 < gall\-bladder;
+剖 < split\-in\-two;
+凤 < male\-phoenix;
+询 < inquire\-into;
+筑 < ancient\-lute;
+偶 < accidentally;
+飽 < eat\-heartily;
+胎 < unborn\-child;
+悟 < to\-apprehend;
+肅 < pay\-respects;
+侘 < disappointed;
+祭 < sacrifice\-to;
+宪 < constitution;
+碑 < stone\-tablet;
+昌 < light\-of\-sun;
+携 < lead\-by\-hand;
+厦 < big\-building;
+仆 < fall\-forward;
+妥 < satisfactory;
+杭 < cross\-stream;
+赠 < give\-present;
+腔 < chest\-cavity;
+孝 < filial\-piety;
+笹 < small\-bamboo;
+笛 < bamboo\-flute;
+歧 < fork\-of\-road;
+鉛 < lead\-plumbum;
+喃 < keep\-talking;
+舱 < hold\-of\-ship;
+醜 < ugly\-looking;
+裘 < fur\-garments;
+栽 < to\-cultivate;
+诧 < be\-surprised;
+阎 < village\-gate;
+愣 < be\-in\-a\-daze;
+琪 < type\-of\-jade;
+娥 < be\-beautiful;
+咪 < sound\-of\-cat;
+渗 < soak\-through;
+葫 < bottle\-gourd;
+坪 < level\-ground;
+坞 < entrenchment;
+橡 < chestnut\-oak;
+絮 < waste\-cotton;
+跄 < walk\-rapidly;
+屹 < to\-rise\-high;
+惘 < disconcerted;
+揩 < rub\-and\-wipe;
+楠 < name\-of\-tree;
+麓 < foot\-of\-hill;
+恻 < feel\-anguish;
+桅 < mast\-of\-ship;
+骋 < gallop\-horse;
+蹒 < to\-jump\-over;
+祀 < to\-sacrifice;
+寰 < great\-domain;
+斓 < multicolored;
+伫 < look\-towards;
+躏 < trample\-down;
+沽 < buy\-and\-sell;
+珥 < ear\-ornament;
+笆 < bamboo\-fence;
+虬 < young\-dragon;
+惬 < be\-satisfied;
+缨 < a\-chin\-strap;
+劾 < examine\-into;
+嘤 < seek\-friends;
+诃 < scold\-loudly;
+冽 < cold\-and\-raw;
+飨 < host\-banquet;
+怏 < discontented;
+冢 < burial\-mound;
+嗳 < interjection;
+宕 < stone\-quarry;
+耆 < man\-of\-sixty;
+靓 < make\-up\-face;
+蛰 < to\-hibernate;
+掼 < throw\-ground;
+囤 < grain\-basket;
+筱 < dwarf\-bamboo;
+樟 < camphor\-tree;
+鲥 < reeves''\-shad;
+逵 < thoroughfare;
+岷 < min\-mountain;
+枰 < smooth\-board;
+屐 < wooden\-shoes;
+胛 < the\-shoulder;
+鹞 < sparrow\-hawk;
+犄 < animal\-horns;
+跹 < wander\-about;
+昱 < bright\-light;
+湄 < water''s\-edge;
+菅 < coarse\-grass;
+绻 < affectionate;
+篁 < bamboo\-grove;
+赅 < prepared\-for;
+椁 < outer\-coffin;
+纰 < spoiled\-silk;
+鼋 < large\-turtle;
+醐 < purest\-cream;
+龉 < uneven\-teeth;
+苻 < kind\-of\-herb;
+鬣 < horse''s\-mane;
+缗 < fishing\-line;
+湫 < a\-small\-pond;
+仟 < one\-thousand;
+蚶 < kind\-of\-clam;
+蛄 < mole\-cricket;
+毂 < hub\-of\-wheel;
+畚 < straw\-basket;
+洄 < a\-back\-water;
+飧 < evening\-meal;
+醪 < unclear\-wine;
+骝 < famous\-horse;
+骒 < mother\-horse;
+懔 < be\-afraid\-of;
+劓 < cut\-off\-nose;
+踔 < to\-get\-ahead;
+颡 < the\-forehead;
+潲 < driving\-rain;
+缯 < silk\-fabrics;
+甓 < glazed\-tiles;
+荬 < a\-plant\-name;
+柒 < number\-seven;
+瘳 < to\-be\-healed;
+谇 < speak\-ill\-of;
+乇 < to\-depend\-on;
+其他的人 < other\-people;
+加緊 < to\-intensify;
+萬事達 < master\(card\);
+睡覺 < to\-go\-to\-bed;
+早期 < early\-period;
+約珥書 < book\-of\-joel;
+媒體報導 < media\-report;
+相關 < interrelated;
+艾滋病患者 < aids\-patient;
+火龍 < fiery\-dragon;
+合作 < to\-cooperate;
+賠償金 < compensation;
+簿記管理員 < commissarian;
+智力 < intelligence;
+示威者 < demonstrator;
+昔年 < former\-years;
+和平條約 < peace\-treaty;
+毛主席 < chairman\-mao;
+礦井 < mine\-\(shaft\);
+熟知 < acquaintance;
+支票 < \(bank\)\-check;
+建築物 < \(a\)\-building;
+姐姐 < older\-sister;
+股票市場 < stock\-market;
+閱覽室 < reading\-room;
+警報 < \(fire\)\-alarm;
+後果 < consequences;
+不名譽 < disreputable;
+收盤 < market\-close;
+城防 < city\-defence;
+頂住 < to\-withstand;
+西部 < western\-part;
+好感 < good\-opinion;
+機械碼 < machine\-code;
+失業 < unemployment;
+擅自 < unauthorized;
+大驚失色 < apprehensive;
+高層旅館 < luxury\-hotel;
+逕自 < on\-one''s\-own;
+近視 < shortsighted;
+步犁 < walking\-plow;
+不成功 < unsuccessful;
+水滸傳 < water\-margin;
+不重視 < indifference;
+開關 < power\-switch;
+去世 < to\-pass\-away;
+亞洲與太平洋 < asia\-pacific;
+十九歲 < 19\-years\-old;
+靈的世界 < spirit\-world;
+多方 < in\-many\-ways;
+搶購 < panic\-buying;
+巡迴 < to\-go\-around;
+這種 < this\-kind\-of;
+大意 < general\-idea;
+半文盲 < semiliterate;
+別稱 < another\-name;
+步步 < step\-by\-step;
+協商 < consult\-with;
+矮星 < dwarf\-\(star\);
+核武器試驗 < nuclear\-test;
+丙烯酸 < acrylic\-acid;
+半熟練 < semi\-skilled;
+那時 < at\-that\-time;
+吃不開 < be\-unpopular;
+大師 < great\-master;
+組織 < organization;
+出乎預料 < unexpectedly;
+通用 < common\-\(use\);
+多工 < to\-multiplex;
+糾葛 < entanglement;
+試探 < to\-sound\-out;
+夫妻 < man\-and\-wife;
+地方主義 < \"local\-\-ism\";
+道歉 < to\-apologize;
+故意 < deliberately;
+請問 < may\-i\-ask\.\.\.;
+激光唱片 < compact\-disk;
+二十一世紀 < 21st\-century;
+出發 < to\-start\-out;
+縮寫 < abbreviation;
+中央銀行 < central\-bank;
+壁掛 < wall\-hanging;
+熟悉 < to\-know\-well;
+熟思 < deliberation;
+整天 < all\-day\-long;
+鱉甲 < turtle\-shell;
+身體 < \(human\)\-body;
+斯密約瑟 < joseph\-smith;
+糾纏 < be\-entangled;
+不合理 < unreasonable;
+目前世界 < modern\-world;
+複製 < to\-duplicate;
+隊旗 < team\-pennant;
+加強 < to\-reinforce;
+出獄 < leave\-prison;
+不愉快 < disagreeable;
+談判 < to\-negotiate;
+看病 < see\-a\-doctor;
+民意調查 < opinion\-poll;
+很不 < very\-un\-\.\.\.\.;
+毅力 < perseverance;
+落實 < to\-implement;
+支店 < branch\-store;
+齆 < stuffed\-noze;
+鼽 < clogged\-nose;
+白薯 < sweet\-potato;
+綵旗 < colored\-flag;
+養雞場 < chicken\-farm;
+麕 < muntjac\-deer;
+現代音樂 < modern\-music;
+回顧 < to\-look\-back;
+殭化 < become\-rigid;
+鳐 < the\-nautilus;
+鱑 < the\-sturgeon;
+鱂 < name\-of\-fish;
+製造業者 < manufacturer;
+膝上型 < laptop\-\(adj\);
+瀏覽 < to\-skim\-over;
+心理學家 < psychologist;
+魦 < shark\-family;
+鬵 < big\-iron\-pot;
+鬅 < unkempt\-hair;
+課余 < after\-school;
+車道 < traffic\-lane;
+正如 < be\-just\-like;
+驈 < black\-horses;
+騆 < divine\-horse;
+駜 < strong\-horse;
+駗 < chatter\-mark;
+有條有理地 < methodically;
+不是玩兒的 < it''s\-no\-joke;
+實際性 < practicality;
+十一年 < eleven\-years;
+餀 < tainted\-food;
+不能抵抗 < irresistible;
+颭 < sway\-in\-wind;
+紙牌 < playing\-card;
+鞦 < leather\-stap;
+過境簽証 < transit\-visa;
+霑 < be\-moistened;
+陁 < a\-steep\-bank;
+發紅 < flush\-\(face\);
+集合 < congregation;
+速成 < crash\-course;
+闑 < the\-doorsill;
+光線 < optical\-line;
+镨 < praseodymium;
+努力 < great\-effort;
+引入 < to\-draw\-into;
+廠址 < factory\-site;
+鏷 < protactinium;
+相似性 < ressemblance;
+非同步 < asynchronous;
+鍊 < smelt\-metals;
+錈 < to\-bend\-iron;
+傳道書 < ecclesiastes;
+隨同 < accompanying;
+耶穌基督 < jesus\-christ;
+熒光 < flourescence;
+記者報導 < press\-report;
+釪 < an\-alms\-bowl;
+廣告 < to\-advertise;
+醽 < kind\-of\-wine;
+挨近 < get\-close\-to;
+編劇 < write\-a\-play;
+壓倒 < overwhelming;
+採脂 < tree\-tapping;
+郙 < to\-be\-exiled;
+邲 < good\-looking;
+迣 < to\-leap\-over;
+速寫 < quick\-sketch;
+多工作業 < multitaksing;
+發言人 < spokesperson;
+踼 < to\-fall\-flat;
+踤 < butt\-against;
+集中器 < concentrator;
+不大離兒 < pretty\-close;
+週圍 < surroundings;
+濾紙 < filter\-paper;
+賉 < to\-give\-alms;
+貆 < small\-badger;
+豶 < castrate\-pig;
+足球迷 < football\-fan;
+本來面目 < true\-colours;
+訪俄 < visit\-russia;
+拔錨 < weigh\-anchor;
+標燈 < beacon\-light;
+冰晶 < ice\-crystals;
+誾 < speak\-gently;
+幾天 < several\-days;
+授精 < insemination;
+髒話 < bad\-language;
+凹岸 < concave\-bank;
+襛 < fine\-clothes;
+襆 < hood\-or\-cowl;
+過來 < to\-come\-over;
+操勞 < to\-work\-hard;
+那樣的 < that\-kind\-of;
+光源 < light\-source;
+粗俗的階級 < vulgar\-class;
+速凍 < quick\-freeze;
+網路節點 < network\-node;
+坐牢 < imprisonment;
+補牙 < fill\-a\-tooth;
+刨刀 < planing\-tool;
+把關 < guard\-a\-pass;
+打印服務器 < print\-server;
+不可收拾 < irremediable;
+半邊天 < half\-the\-sky;
+葜 < smilax\-china;
+萩 < scandent\-hop;
+萘 < naphthanlene;
+自衛 < self\-defense;
+賓西法尼亞 < pennsylvania;
+莦 < jungle\-grass;
+國家機密 < state\-secret;
+陛下 < your\-majesty;
+八月 < eighth\-month;
+芚 < green\-sprout;
+備考 < \(an\-appendix;
+芑 < white\-millet;
+年前 < \.\.\.years\-ago;
+膗 < ugly\-and\-fat;
+開支 < expenditures;
+捏積 < chiropractic;
+葡萄酒 < \(grape\)\-wine;
+肙 < a\-small\-worm;
+羀 < fishing\-trap;
+調查人員 < investigator;
+武裝部隊 < armed\-forces;
+報價 < quoted\-price;
+迷信 < superstition;
+纁 < shade\-of\-red;
+繙 < to\-interpret;
+縕 < tangled\-hemp;
+轉換 < to\-transform;
+搬家 < move\-\(house\);
+戶頭 < bank\-account;
+農作物 < \(farm\)\-crops;
+籯 < bamboo\-chest;
+四十多 < more\-than\-40;
+親信 < trusted\-aide;
+筤 < young\-bamboo;
+行程 < travel\-route;
+筍 < bamboo\-shoot;
+筅 < bamboo\-brush;
+嚴竣 < tight\.strict;
+證實禮 < confirmation;
+名錄服務 < name\-service;
+秬 < black\-millet;
+看作 < look\-upon\-as;
+語音信號 < voice\-signal;
+寧願 < would\-rather;
+祘 < to\-calculate;
+磠 < sal\-ammoniac;
+碶 < a\-flood\-gate;
+接枝 < \(tree\)\-graft;
+授權 < to\-authorize;
+矼 < stone\-bridge;
+開學 < school\-opens;
+睒 < to\-glance\-at;
+保證 < to\-guarantee;
+批評 < to\-criticize;
+宇航局 < space\-agency;
+皦 < bright\-white;
+令人驚異 < surprisingly;
+瘺 < anal\-fistula;
+去國外 < to\-go\-abroad;
+疿 < prickly\-heat;
+拔絲 < wire\-drawing;
+打賭 < \(make\-a\)\-bet;
+優惠 < preferential;
+第二位 < second\-place;
+公報 < announcement;
+基礎設施 < base\-station;
+密集 < concentrated;
+授時 < time\-service;
+在旁 < by\-\(a\-place\);
+同時代 < contemporary;
+玍 < ill\-tempered;
+拼盤 < cold\-platter;
+狆 < pekinese\-dog;
+牂 < female\-sheep;
+捐款 < donate\-money;
+副總理 < vice\-premier;
+國有 < nationalized;
+系上 < to\-buckle\-up;
+背離 < deviate\-from;
+按照 < according\-to;
+偶然 < incidentally;
+喉鏡 < laryngoscope;
+背陰 < in\-the\-shade;
+生命跡象 < sign\-of\-life;
+兩千 < two\-thousand;
+滊 < a\-river\-name;
+路得記 < book\-of\-ruth;
+插圖 < illustration;
+泖 < still\-waters;
+知識分子 < intellectual;
+管理 < to\-supervise;
+三合一 < three\-in\-one;
+毈 < fertile\-eggs;
+殜 < half\-sitting;
+四百萬 < four\-million;
+梅花 < plum\-blossom;
+阿摩司書 < book\-of\-amos;
+當然 < only\-natural;
+橒 < wood\-streaks;
+高質量 < high\-quality;
+標價 < mark\-a\-price;
+槻 < zelkova\-tree;
+棒硫 < roll\-sulphur;
+槔 < water\-pulley;
+夢游症 < to\-sleepwalk;
+耶利米哀歌 < lamentations;
+饅頭 < steamed\-roll;
+保管 < take\-care\-of;
+用戶定義 < user\-defined;
+垂下 < to\-hang\-down;
+成吉思汗 < genghis\-khan;
+摙 < to\-transport;
+裁員 < to\-cut\-staff;
+清醒 < clear\-headed;
+補充 < to\-replenish;
+不結盟 < nonalignment;
+揑 < to\-fabricate;
+八級風 < force\-8\-wind;
+戉 < a\-battle\-axe;
+便秘 < constipation;
+病床 < hospital\-bed;
+幼兒園 < kindergarten;
+桔子水 < orange\-juice;
+枘鑿 < incompatible;
+主幹網路 < core\-network;
+廹 < to\-persecute;
+創造性 < creativeness;
+嚮往 < to\-yearn\-for;
+自拔 < free\-oneself;
+帨 < handkerchief;
+嶢 < high\-or\-tall;
+屘 < the\-youngest;
+航天 < space\-flight;
+高密 < high\-density;
+表土 < surface\-soil;
+歷代志下 < 2\-chronicles;
+歷代志上 < 1\-chronicles;
+嫲 < grand\-mother;
+賞識 < appreciation;
+消除 < to\-eliminate;
+瑞色 < lovely\-color;
+聽說 < to\-hear\-told;
+周總理 < premier\-zhou;
+執政黨 < ruling\-party;
+當心 < to\-take\-care;
+異性 < heterosexual;
+交鋒 < cross\-swords;
+興奮 < \(be\)\-excited;
+指令名字 < command\-name;
+禽類 < bird\-species;
+母親節 < mother''s\-day;
+喭 < condole\-with;
+一小部分 < a\-small\-part;
+偽善 < hypocritical;
+抱愧 < feel\-ashamed;
+呹 < to\-eat\-grass;
+一下兒 < a\-little\-bit;
+負責 < in\-charge\-of;
+現行 < be\-in\-effect;
+屈服 < to\-surrender;
+厷 < the\-fore\-arm;
+減緩 < to\-slow\-down;
+勣 < achievements;
+下齒 < bottom\-teeth;
+媒體 < \(news\)\-media;
+剷 < to\-level\-off;
+驚愕 < astonishment;
+當場 < at\-the\-scene;
+複製品 < reproduction;
+儗 < compare\-with;
+司法權 < jurisdiction;
+婚齡 < marrying\-age;
+抱屈 < feel\-wronged;
+佔便宜 < adventageous;
+佭 < unsubmissive;
+食譜 < cookery\-book;
+丼 < bowl\-of\-food;
+並非 < really\-isn''t;
+突破 < breakthrough;
+鼻中隔 < nasal\-septum;
+新聞處 < news\-service;
+侵晨 < towards\-dawn;
+䴼 < to\-extirpate;
+䴕 < a\-woodpecker;
+漢城 < seoul\,\-korea;
+䳖 < flying\-birds;
+䲜 < lots\-of\-fish;
+䱊 < roe\-or\-spawn;
+䯶 < fair\-of\-hair;
+䯧 < a\-small\-hall;
+運動鞋 < sports\-shoes;
+䮟 < big\-and\-tall;
+少數 < small\-number;
+䮑 < a\-gray\-horse;
+䭘 < well\-stacked;
+䭖 < animal\-feeds;
+拌和 < mix\-and\-stir;
+䭉 < mashed\-beans;
+䬜 < evil\-spirits;
+䬚 < to\-move\-fast;
+䬋 < violent\-wind;
+流通 < to\-circulate;
+䫨 < tall\-and\-big;
+䫚 < short\-headed;
+䫕 < small\-headed;
+咨詢 < consultative;
+䫇 < the\-whiskers;
+扒拉 < push\-lightly;
+䪹 < a\-large\-face;
+䪡 < to\-fall\-down;
+䪋 < silk\-cordage;
+䩏 < a\-small\-face;
+䩋 < a\-green\-face;
+䩇 < a\-small\-head;
+專政 < dictatorship;
+䨶 < thunderstorm;
+䨲 < a\-small\-hare;
+䨪 < a\-dust\-storm;
+䨝 < a\-pure\-woman;
+䨈 < a\-small\-bird;
+飼草 < forage\-grass;
+䧢 < a\-rough\-road;
+䧙 < a\-high\-mound;
+鼻腔 < nasal\-cavity;
+核轟炸 < nuclear\-bomb;
+浴血 < blood\-soaked;
+䥃 < a\-big\-hammer;
+䤬 < a\-small\-gong;
+䤣 < a\-metal\-ring;
+䤋 < yellow\-faced;
+䣾 < cheese\-dregs;
+䣼 < mixed\-starch;
+屬國 < vassal\-state;
+䠔 < far\-and\-deep;
+䟿 < to\-reverence;
+䟹 < to\-hop\-about;
+轉賬卡 < a\-debit\-card;
+鋼筆 < fountain\-pen;
+䟕 < to\-step\-upon;
+䞱 < to\-fall\-over;
+䞧 < hard\-to\-walk;
+偉人 < great\-person;
+安營 < pitch\-a\-camp;
+和解 < conciliatory;
+面對面 < face\-to\-face;
+䚪 < curved\-horns;
+條子 < a\-short\-note;
+揮霍無度 < extravagance;
+根本 < \(not\)\-at\-all;
+䘄 < cicada\-famiy;
+䘀 < grasshoppers;
+䗧 < libellulidae;
+種種 < all\-kinds\-of;
+䖞 < a\-sea\-insect;
+䕻 < to\-adhere\-to;
+䕺 < dense\-growth;
+䕝 < medical\-herb;
+䕋 < of\-elm\-group;
+䓯 < water\-pepper;
+登陸月球 < moon\-landing;
+複寫紙 < carbon\-paper;
+䑽 < a\-large\-boat;
+䑵 < a\-small\-boat;
+法院 < court\-of\-law;
+䐅 < the\-buttocks;
+䏀 < inharmonious;
+䎘 < birds\-flying;
+河馬 < hippopotamus;
+生命 < life\-\(force\);
+䍄 < an\-indenture;
+䌶 < \)\-black\-silk;
+䌇 < a\-thick\-rope;
+主角 < leading\-role;
+淫猥 < abominations;
+產卵 < lay\-\(an\-egg\);
+果皮 < \(fruit\)\-peel;
+䊅 < to\-soak\-rice;
+䉯 < dried\-bamboo;
+䉕 < a\-bamboo\-hat;
+䉔 < bamboo\-slips;
+䈟 < broken\-sound;
+䇸 < a\-bamboo\-mat;
+䇝 < to\-break\-off;
+䆢 < to\-penetrate;
+䆟 < coresponding;
+䆍 < cutted\-crops;
+不足 < insufficient;
+䅁 < to\-husk\-rice;
+打孔器 < hole\-puncher;
+䃲 < a\-great\-rock;
+䃯 < small\-stones;
+䃝 < rugged\-rocks;
+䂐 < short\-stupid;
+䁧 < to\-open\-wide;
+家政 < housekeeping;
+不貲 < immeasurable;
+䀁 < a\-small\-bowl;
+㿵 < soft\-leather;
+㿲 < a\-fierce\-dog;
+㿪 < skin\-disease;
+㿊 < very\-painful;
+㾔 < long\-illness;
+什麼是 < what\-is\-\.\.\.\?;
+軍事援助 < military\-aid;
+凹透鏡 < concave\-lens;
+㼋 < the\-cucumber;
+本本主義 < book\-worship;
+㺖 < dogs\-barking;
+㺎 < fierce\-beast;
+五角大樓 < the\-pentagon;
+㸾 < to\-filled\-up;
+㸭 < the\-opposite;
+㷹 < intense\-heat;
+㶕 < to\-wash\-rice;
+作愛 < to\-make\-love;
+㵊 < moving\-image;
+㴕 < to\-boil\-away;
+㳞 < deep\-and\-far;
+㳑 < to\-flow\-over;
+㰷 < resurrection;
+㯠 < a\-cross\-beam;
+㯜 < decayed\-wood;
+㮮 < a\-well\-sweep;
+㮬 < a\-fruit\-tree;
+蘇聯 < soviet\-union;
+㬵 < the\-shinbone;
+摩西律法 < law\-of\-moses;
+㫒 < hands\-joined;
+害怕 < to\-be\-afraid;
+㫃 < flags\-flying;
+㫁 < to\-cut\-apart;
+晚間 < evening\-time;
+五百 < five\-hundred;
+㧴 < to\-rub\-hands;
+㦎 < cantankerous;
+㥵 < to\-dishonour;
+㤧 < conciliation;
+㣒 < hair\-raising;
+㣑 < double\-image;
+迅速蔓延 < rapid\-spread;
+㢗 < a\-high\-house;
+㡔 < oiled\-calico;
+㡅 < storage\-room;
+證驗 < real\-results;
+㠾 < a\-dish\-cloth;
+懊悔 < feel\-remorse;
+㠒 < mountain\-top;
+㟐 < big\-and\-high;
+㟇 < a\-land\-slide;
+㞢 < to\-arrive\-at;
+㞛 < red\-slippers;
+㞅 < not\-straight;
+古羅馬 < ancient\-rome;
+㜗 < covetousness;
+㛼 < to\-interrupt;
+俄中 < russia\-china;
+㛥 < to\-prostrate;
+㛊 < to\-speculate;
+二十萬 < 200\-thousand;
+㘢 < a\-round\-cave;
+㘍 < sound\-of\-rat;
+變速 < speed\-change;
+㖷 < bird\-singing;
+年輕人 < young\-people;
+㖠 < an\-auxiliary;
+㕯 < slow\-tongued;
+安心 < feel\-at\-ease;
+㕒 < a\-lofty\-peak;
+㔬 < to\-establish;
+㔦 < to\-encourage;
+㔕 < with\-purpose;
+㔃 < to\-cut\-short;
+㓣 < to\-sink\-into;
+人民 < \(the\)\-people;
+將來 < \(the\)\-future;
+㑪 < a\-generation;
+㑔 < all\-together;
+㐸 < to\-own\-money;
+㐴 < to\-drag\-down;
+題花 < title\-design;
+可觀 < considerable;
+人權 < human\-rights;
+乒乓球 < table\-tennis;
+階級式 < hierarchical;
+以斯拉記 < book\-of\-ezra;
+趕上 < keep\-up\-with;
+聽說過 < to\-hear\-said;
+闌尾炎 < appendicitis;
+移民 < to\-immigrate;
+今晨 < this\-morning;
+密友 < close\-friend;
+南非 < south\-africa;
+不符 < inconsistent;
+開放式網路 < open\-network;
+丹田 < pubic\-region;
+半響 < half\-the\-day;
+主環 < primary\-ring;
+大一些 < a\-bit\-bigger;
+你們 < you\-\(plural\);
+一直 < continuously;
+生物戰 < germ\-warfare;
+不知所措 < be\-at\-a\-loss;
+暗算 < plot\-against;
+建設性 < constructive;
+亮度 < illumination;
+參考 < consultation;
+喉塞音 < glottal\-stop;
+壯麗 < magnificence;
+黨政 < party\-policy;
+檔案服務 < file\-servoce;
+虐待 < mistreatment;
+感恩 < thanksgiving;
+大都會 < metropolitan;
+罰球 < penalty\-shot;
+費城 < philadelphia;
+最低點 < lowest\-point;
+油畫 < oil\-painting;
+美洲 < the\-americas;
+貧困 < impoverished;
+降落地點 < landing\-site;
+基督教 < christianity;
+大量 < great\-amount;
+頂用 < to\-be\-of\-use;
+安眠酮 < methaqualone;
+暗灘 < hidden\-shoal;
+藥方 < prescription;
+試驗性 < experimental;
+主持 < preside\-over;
+銀幕 < movie\-screen;
+老家 < native\-place;
+暗潮 < undercurrent;
+買價 < buying\-price;
+多邊 < multilateral;
+現代 < modern\-times;
+他人 < other\-person;
+之後 < after\(wards\);
+慣例 < conventional;
+並排 < side\-by\-side;
+耕地 < ariable\-land;
+貴族化 < aristocratic;
+浴場 < bathing\-spot;
+五百萬 < five\-million;
+蓋菜 < leaf\-mustard;
+冰洲石 < iceland\-spar;
+核軍備 < nuclear\-arms;
+不拘 < not\-stick\-to;
+三十五億 < 3\-\.5\-billion;
+鞭砲 < firecrackers;
+二十六歲 < 26\-years\-old;
+感動 < to\-move\-\(sb\);
+意味 < significance;
+速記員 < stenographer;
+白水泥 < white\-cement;
+不愧 < be\-worthy\-of;
+靶紙 < target\-sheet;
+數據網絡 < data\-network;
+龐然大物 < huge\-monster;
+象聲詞 < onomatopoeia;
+愈加 < all\-the\-more;
+遠離 < removed\-from;
+和善 < good\-natured;
+認證 < authenticate;
+刨齒 < gear\-shaping;
+注意 < take\-note\-of;
+風味 < local\-flavor;
+繡花 < to\-embroider;
+暗探 < secret\-agent;
+暴怒 < violent\-rage;
+不容 < not\-tolerate;
+不宜 < not\-suitable;
+犯毒 < illegal\-drug;
+世界知名 < world\-famous;
+幀格式 < frame\-format;
+大致 < more\-or\-less;
+不如 < not\-equal\-to;
+得票 < vote\-getting;
+派別 < denomination;
+線軸 < thread\-spool;
+有利 < advantageous;
+衛生紙 < toilet\-paper;
+訂閱 < subscription;
+恢復 < to\-reinstate;
+這項 < this\-\(thing\);
+快速發展 < rapid\-growth;
+多種語言 < multilingual;
+可惜 < it\-is\-a\-pity;
+當時的 < of\-that\-time;
+婚外 < extramarital;
+不單 < not\-the\-only;
+安全問題 < safety\-issue;
+之一 < one\-of\-\(sth\);
+境遇 < circumstance;
+野心 < wild\-schemes;
+卻步 < to\-step\-back;
+中俄 < china\-russia;
+危殆 < grave\-danger;
+中亞 < central\-asia;
+變性 < denaturation;
+原料 < raw\-material;
+消防栓 < fire\-hydrant;
+不利 < unfavourable;
+透明度 < transparency;
+爆發 < to\-break\-out;
+多站 < multistation;
+氧氣 < oxygen\-\(gas\);
+念日 < memorial\-day;
+各國 < each\-country;
+不便 < inconvenient;
+時態 < \(verb\)\-tense;
+羅列 < to\-spead\-out;
+一億 < 1\-00\-million;
+暴動 < insurrection;
+靶機 < target\-drone;
+運行 < be\-in\-motion;
+編舞 < choreography;
+二十七 < twenty\-seven;
+以 < by\-means\-of;
+農 < agriculture;
+径 < narrow\-path;
+几 < small\-table;
+便 < convenience;
+电 < electricity;
+百 < one\-hundred;
+跣 < bare\-footed;
+贅 < unnecessary;
+功 < achievement;
+江 < large\-river;
+注 < concentrate;
+牧 < tend\-cattle;
+婚 < get\-married;
+刊 < publication;
+熟 < well\-cooked;
+饭 < cooked\-rice;
+奢 < extravagant;
+查 < investigate;
+章 < composition;
+按 < put\-hand\-on;
+蝠 < kind\-of\-bat;
+蝕 < nibble\-away;
+困 < to\-surround;
+险 < narrow\-pass;
+练 < to\-practice;
+溯 < go\-upstream;
+渉 < ford\-stream;
+败 < be\-defeated;
+纷 < in\-disorder;
+缺 < be\-short\-of;
+遭 < come\-across;
+戴 < wear\-on\-top;
+勤 < industrious;
+髄 < bone\-marrow;
+効 < efficacious;
+貌 < countenance;
+繁 < complicated;
+柳 < willow\-tree;
+凄 < bitter\-cold;
+霞 < rosy\-clouds;
+飴 < sweet\-meats;
+聪 < intelligent;
+倦 < be\-tired\-of;
+摔 < fall\-ground;
+醉 < intoxicated;
+涛 < large\-waves;
+锅 < cooking\-pot;
+仔 < small\-thing;
+會 < to\-assemble;
+拆 < to\-break\-up;
+翠 < color\-green;
+晕 < halo\-in\-sky;
+辨 < distinguish;
+葛 < edible\-bean;
+轿 < sedan\-chair;
+攫 < snatch\-away;
+鍛 < forge\-metal;
+厕 < mingle\-with;
+竿 < bamboo\-pole;
+券 < certificate;
+穉 < young\-grain;
+驳 < varicolored;
+憔 < be\-worn\-out;
+粞 < ground\-rice;
+遂 < comply\-with;
+隶 < subservient;
+缸 < earthen\-jug;
+肢 < human\-limbs;
+尴 < embarrassed;
+呐 < raise\-voice;
+颖 < rice\-tassel;
+砥 < a\-whetstone;
+孕 < be\-pregnant;
+钞 < paper\-money;
+琢 < polish\-jade;
+绽 < ripped\-seam;
+奠 < pay\-respect;
+澜 < overflowing;
+惕 < be\-cautious;
+趴 < lying\-prone;
+隋 < sui\-dynasty;
+瞄 < take\-aim\-at;
+祟 < evil\-spirit;
+嗔 < be\-angry\-at;
+奕 < in\-sequence;
+榴 < pomegranate;
+棘 < jujube\-tree;
+峙 < stand\-erect;
+砌 < stone\-steps;
+槐 < locust\-tree;
+鳞 < fish\-scales;
+炽 < burning\-hot;
+迂 < doctrinaire;
+缪 < wind\-around;
+凋 < be\-withered;
+缤 < flourishing;
+雳 < thunderclap;
+驸 < extra\-horse;
+嗷 < loud\-clamor;
+炖 < stew\-slowly;
+谏 < remonstrate;
+篆 < seal\-script;
+宦 < officialdom;
+瓮 < earthen\-jar;
+朕 < pronoun\-''i'';
+阑 < door\-screen;
+卤 < saline\-soil;
+唏 < weep\-or\-sob;
+汩 < run\-swiftly;
+榕 < banyan\-tree;
+闰 < intercalary;
+昊 < summer\-time;
+玷 < flaw\-in\-gem;
+阙 < watch\-tower;
+泌 < to\-seep\-out;
+烽 < signal\-fire;
+孵 < sit\-on\-eggs;
+椭 < oval\-shaped;
+痉 < convulsions;
+匝 < full\-circle;
+饪 < cooked\-food;
+嶙 < precipitous;
+颧 < cheek\-bones;
+镗 < boring\-tool;
+揶 < make\-fun\-of;
+炷 < candle\-wick;
+贲 < forge\-ahead;
+蚱 < grasshopper;
+痨 < consumption;
+濂 < a\-waterfall;
+汐 < night\-tides;
+筠 < bamboo\-skin;
+氤 < hanging\-fog;
+痔 < hemorrhoids;
+趿 < to\-tread\-on;
+觞 < wine\-vessel;
+挹 < to\-bale\-out;
+膑 < the\-kneecap;
+唳 < cry\-of\-bird;
+礅 < stone\-block;
+箔 < reed\-screen;
+豸 < radical\-153;
+烃 < hydrocarbon;
+砭 < stone\-probe;
+澍 < timely\-rain;
+龋 < tooth\-decay;
+缱 < attached\-to;
+奂 < be\-numerous;
+黩 < to\-dishonor;
+壅 < to\-obstruct;
+澶 < still\-water;
+餍 < be\-satiated;
+枥 < type\-of\-oak;
+桕 < tallow\-tree;
+鲢 < silver\-carp;
+趱 < go\-in\-hurry;
+妫 < family\-name;
+暾 < morning\-sun;
+荦 < brindled\-ox;
+邛 < in\-distress;
+戢 < to\-put\-away;
+榧 < type\-of\-yew;
+堇 < yellow\-loam;
+劬 < be\-diligent;
+魈 < mischevious;
+鍪 < an\-iron\-pan;
+蜣 < dung\-beetle;
+痦 < \(flat\)\-mole;
+戬 < exterminate;
+嗉 < bird''s\-crop;
+儋 < a\-small\-jar;
+蚜 < plant\-louse;
+粜 < sell\-grains;
+攮 < to\-fend\-off;
+苎 < china\-grass;
+坩 < earthenware;
+榉 < type\-of\-elm;
+玢 < porphyrites;
+绁 < to\-contract;
+潆 < tiny\-stream;
+髹 < red\-lacquer;
+觖 < to\-long\-for;
+螵 < a\-chrysalis;
+杪 < tip\-of\-twig;
+幂 < cover\-cloth;
+硗 < barren\-land;
+脞 < minced\-meat;
+轵 < end\-of\-axle;
+楗 < bar\-of\-door;
+桄 < a\-coir\-palm;
+堠 < battlements;
+俜 < to\-trust\-to;
+壓縮 < to\-compress;
+大規模 < large\-scale;
+度量衡 < measurement;
+航空術 < aeronautics;
+訪華 < visit\-china;
+認知 < acknowledge;
+叫喊 < exclamation;
+訪問者 < interviewer;
+沉重打擊 < to\-hit\-hard;
+連詞 < conjunction;
+好朋友 < good\-friend;
+四面體 < tetrahedron;
+自然而然 < involuntary;
+弊端 < malpractice;
+非核 < non\-nuclear;
+拔釘錘 < claw\-hammer;
+申命記 < deuteronomy;
+收穫 < acquisition;
+才外流 < brain\-drain;
+民族 < nationality;
+不贊一詞 < keep\-silent;
+暗井 < blind\-shaft;
+暗中 < in\-the\-dark;
+矚目 < to\-focus\-on;
+布鞋 < cloth\-shoes;
+人體器官 < human\-organ;
+埋頭 < steamed\-bun;
+創作力 < originality;
+白矮星 < white\-dwarf;
+判處 < to\-sentance;
+民族主義 < nationalism;
+刻苦 < hardworking;
+標點 < punctuation;
+白麵 < wheat\-flour;
+冒險 < take\-a\-risk;
+白鶴 < white\-crane;
+不贊成 < disapproval;
+往昔 < in\-the\-past;
+半月刊 < semimonthly;
+邊疆 < border\-area;
+讓位 < to\-abdicate;
+怪僻 < peculiarity;
+征收 < levy\-\(fine\);
+母板 < motherboard;
+需求 < requirement;
+大業 < great\-cause;
+旺季 < busy\-season;
+備用環 < backup\-ring;
+必定 < be\-bound\-to;
+半年 < half\-a\-year;
+課桌 < school\-desk;
+滴答聲 < tick\-\(tock\);
+間隔 < compartment;
+遲疑 < to\-hesitate;
+靈感 < inspiration;
+精子密度 < sperm\-count;
+溫度計 < thermograph;
+遷居移民 < immigration;
+不重要 < unimportant;
+野生動物 < wild\-animal;
+說服 < to\-persuade;
+制約 < to\-restrict;
+有影響 < influential;
+鞏固 < consolidate;
+發電廠 < power\-plant;
+聖誕老人 < santa\-claus;
+包括 < to\-comprise;
+妥善 < appropriate;
+辯証 < dialectical;
+浪漫主義 < romanticism;
+柏林牆 < berlin\-wall;
+瀉鹽 < epsom\-salts;
+不可知論 < agnosticism;
+不切實際 < unrealistic;
+典型用途 < typical\-use;
+富於想像 < imaginative;
+巡邏艇 < patrol\-boat;
+不含糊 < unambiguous;
+本土化 < to\-localize;
+即刻 < immediately;
+安全燈 < safety\-lamp;
+勘探 < exploration;
+有意思 < interesting;
+博取 < try\-to\-gain;
+窗玻璃 < window\-pane;
+放棄 < to\-renounce;
+冰蛋 < frozen\-eggs;
+郵局 < post\-office;
+雙數 < even\-number;
+蒐尋 < to\-look\-for;
+白道 < moon''s\-path;
+動態 < development;
+永久 < everlasting;
+發送 < to\-transmit;
+配備 < to\-allocate;
+新西蘭 < new\-zealand;
+比如 < for\-example;
+國事訪問 < state\-visit;
+克裡姆林宮 < the\-kremlin;
+多山 < mountainous;
+半半拉拉 < incompleted;
+電工 < electrician;
+紅色 < red\-\(color\);
+描述 < to\-describe;
+十億 < one\-billion;
+不可分離 < inseparable;
+兵蟻 < soldier\-ant;
+毀壞 < destruction;
+削減 < to\-cut\-down;
+日中 < japan\-china;
+電纜調制解調器 < cable\-modem;
+隨時 < at\-any\-time;
+一千零五十億 < 105\-billion;
+長談 < a\-long\-talk;
+補選 < by\-election;
+敗血症 < septicaemia;
+無產階級 < proletariat;
+落後 < fall\-behind;
+分佈式 < distrubuted;
+失去意識 < unconscious;
+推遲 < to\-postpone;
+百萬富翁 < millionaire;
+貴族社會 < aristocracy;
+操法 < drill\-rules;
+軍隊 < army\-troops;
+樹葉 < tree\-leaves;
+剛架 < rigid\-frame;
+談到 < to\-refer\-to;
+再者 < furthermore;
+調制 < to\-modulate;
+基石 < cornerstone;
+往事 < past\-events;
+麀 < female\-deer;
+大功 < great\-merit;
+有些人 < some\-people;
+裁軍 < disarmament;
+誡命 < commandment;
+鸏 < tropic\-bird;
+內臣 < chamberlain;
+波多黎各 < puerto\-rico;
+鴺 < the\-pelican;
+立法機關 < legislature;
+鱠 < minced\-fish;
+鬙 < matted\-hair;
+坦蕩 < magnanimous;
+不吐氣 < unaspirated;
+主要原因 < main\-reason;
+增強 < to\-increase;
+驔 < black\-horse;
+驇 < heavy\-horse;
+有經驗 < experienced;
+限於 < restrict\-at;
+閉經 < amenorrhoea;
+認出 < recognition;
+免職 < degradation;
+工程 < engineering;
+記得 < to\-remember;
+擺布 < order\-about;
+頋 < to\-care\-for;
+透明 < transparent;
+力圖 < try\-hard\-to;
+有生以來 < since\-birth;
+鞫 < interrogate;
+貝加爾湖 < lake\-baikal;
+典禮 < celebration;
+刑期 < prison\-term;
+精簡 < to\-simplify;
+和平會談 < peace\-talks;
+花茶 < scented\-tea;
+散佈 < disseminate;
+簿記 < bookkeeping;
+太平洋週邊 < pacific\-rim;
+觸怒 < provocation;
+攪和 < to\-mix\-\(up\);
+週年 < anniversary;
+絕望 < desperation;
+敗仗 < lost\-battle;
+不變價格 < fixed\-price;
+鐦 < californium;
+結束 < termination;
+無意 < inadvertant;
+鏻 < phosphonium;
+男朋友 < male\-friend;
+相比 < compared\-to;
+覆沒 < annihilated;
+白皮書 < white\-paper;
+鍐 < a\-headstall;
+眉梢 < tip\-of\-brow;
+切換 < to\-cut\-over;
+翻譯者 < interpreter;
+兩百 < two\-hundred;
+女繼承人 < inheritress;
+假設語氣 < subjunctive;
+地心吸力 < gravitation;
+醹 < strong\-wine;
+醓 < salted\-meat;
+不注意 < thoughtless;
+評價 < to\-evaluate;
+酏 < millet\-wine;
+保不住 < most\-likely;
+崩裂 < burst\-apart;
+巴哈馬 < the\-bahamas;
+激光二極管 < laser\-diode;
+發送器 < transmitter;
+加以 < in\-addition;
+按鈕 < push\-button;
+迊 < to\-go\-round;
+報應 < retribution;
+幾年 < a\-few\-years;
+盼望 < to\-hope\-for;
+隊員 < team\-member;
+行蹤 < whereabouts;
+支付 < pay\-\(money\);
+第一章 < chapter\-one;
+運貨馬車 < cargo\-wagon;
+表語 < predicative;
+輦 < a\-hand\-cart;
+註冊 < to\-register;
+附屬 < subordinate;
+連環圖 < comic\-strip;
+偽軍 < puppet\-army;
+優秀 < outstanding;
+贗 < counterfeit;
+貘 < the\-panther;
+體貼 < considerate;
+豦 < a\-wild\-boar;
+豘 < a\-small\-pig;
+執政 < be\-in\-power;
+在地下 < underground;
+第三世界 < third\-world;
+魚竿 < fishing\-rod;
+無關緊要 < indifferent;
+希望 < ro\-wish\-for;
+約會 < appointment;
+體認 < realization;
+幸好 < fortunately;
+授粉 < pollination;
+觱 < tartar\-horn;
+褵 < bridal\-veil;
+製片 < moviemaking;
+傳真機 < fax\-machine;
+機會 < opportunity;
+關押 < put\-in\-jail;
+大便乾燥 < constipated;
+裝甲車 < armored\-car;
+蠋 < caterpillar;
+不偏不倚 < even\-handed;
+蟛 < a\-land\-crab;
+灌溉 < to\-irrigate;
+通告 < to\-announce;
+蝛 < the\-sow\-bug;
+蝍 < a\-centipede;
+驕陽 < blazing\-sun;
+前任 < predecessor;
+藚 < water\-plant;
+分散注意 < to\-distract;
+藄 < edible\-fern;
+軟碟 < floppy\-disk;
+蓪 < paper\-plant;
+蓂 < lucky\-place;
+蒭 < to\-cutgrass;
+萐 < lucky\-plant;
+菢 < to\-incubate;
+獲益者 < beneficiary;
+屏門 < screen\-door;
+拜訪 < pay\-a\-visit;
+半透明 < translucent;
+艗 < bow\-of\-junk;
+退出 < to\-withdraw;
+採煤 < coal\-mining;
+第一流 < first\-class;
+平凡 < commonplace;
+謀殺案 < murder\-case;
+括號 < parenthesis;
+胔 < rotten\-meat;
+肈 < to\-commence;
+聦 < the\-hearing;
+耑 < specialized;
+羖 < a\-black\-ram;
+獎學金 < scholarship;
+罱 < fishing\-net;
+滲透 < to\-permeate;
+罠 < animal\-trap;
+罒 < radical\-122;
+偷聽 < to\-evesdrop;
+出兵 < send\-troops;
+培土 < to\-earth\-up;
+開戰 < start\-a\-war;
+分佈 < distributed;
+迷人 < fascinating;
+不動產 < real\-estate;
+糢 < rice\-snacks;
+出來 < to\-come\-out;
+信道 < signal\-path;
+啟示錄 < revelations;
+簹 < tall\-bamboo;
+簵 < fine\-bamboo;
+簰 < bamboo\-raft;
+魔法 < enchantment;
+申請 < apply\-\(for\);
+第三方 < third\-party;
+筩 < bamboo\-pipe;
+筊 < bamboo\-rope;
+筇 < bamboo\-name;
+跑車 < racing\-bike;
+笯 < a\-bird\-cage;
+表蒙子 < watch\-glass;
+擺架子 < put\-on\-airs;
+窸 < faint\-sound;
+不確定 < uncertainty;
+八年 < eight\-years;
+穵 < deep\-hollow;
+超級市場 < supermarket;
+磹 < stone\-wedge;
+碔 < \/2\-pr\-stone;
+籌款 < fundraising;
+域名 < domain\-name;
+砃 < white\-stone;
+瞵 < to\-stare\-at;
+古典派 < classicists;
+八字 < character\-8;
+相似 < to\-resemble;
+挪用 < to\-embezzle;
+可行性 < feasibility;
+眥 < eye\-sockets;
+眑 < sunken\-eyes;
+眊 < dim\-sighted;
+瘚 < to\-hiccough;
+痳 < pock\-marked;
+痭 < menorrhagia;
+痃 < indigestion;
+裝扮 < dress\-up\-as;
+城區 < city\-proper;
+溝通 < communicate;
+為了 < in\-order\-to;
+白宮 < white\-house;
+合法化 < to\-legalize;
+冠冕 < royal\-crown;
+珽 < jade\-tablet;
+像樣 < presentable;
+巧合 < coincidence;
+狢 < animal\-name;
+戰車 < war\-chariot;
+探照燈 < searchlight;
+安寧片 < meprobamate;
+白夜 < white\-night;
+是不是 < is\-or\-isn''t;
+花店 < flower\-shop;
+便覽 < brief\-guide;
+燖 < reheat\-food;
+舊版 < old\-version;
+多工器 < multiplexer;
+煟 < bright\-room;
+煏 < dry\-by\-fire;
+煆 < raging\-fire;
+因此 < that\-is\-why;
+潾 < clear\-water;
+勞動力 < labor\-force;
+語言學 < linguistics;
+潠 < to\-blow\-out;
+滷 < thick\-gravy;
+分期付款 < installment;
+瑞雪 < timely\-snow;
+渟 < not\-flowing;
+公元 < \(year\)\-a\.d\.;
+浡 < burst\-forth;
+幸運兒 < a\-lucky\-guy;
+沰 < to\-let\-drop;
+色情 < pornography;
+本質上 < essentially;
+地下水 < groundwater;
+申請書 < application;
+殰 < an\-abortion;
+白刃 < naked\-sword;
+發出 < to\-send\-out;
+教育性 < instructive;
+就職 < take\-office;
+繼承權 < inheritance;
+槢 < a\-hard\-wood;
+拔營 < strike\-camp;
+把穩 < trustworthy;
+梘 < bamboo\-tube;
+梖 < a\-palm\-tree;
+梄 < a\-soft\-wood;
+世界貿易 < world\-trade;
+舒服 < comfortable;
+昜 < to\-open\-out;
+昉 < bright\-dawn;
+旉 < to\-state\-to;
+手續 < formalities;
+按期 < on\-schedule;
+摎 < to\-strangle;
+敗家子 < spendthrift;
+踩水 < tread\-water;
+宣言 < declaration;
+莎士比亞 < shakespeare;
+局限性 < limitations;
+慉 < to\-bring\-up;
+售貨員 < salesperson;
+可尊敬 < respectable;
+偷懶 < to\-goof\-off;
+鼻音 < nasal\-sound;
+非數字 < non\-numeric;
+徻 < a\-wide\-room;
+困境 < predicament;
+爆米花 < puffed\-rice;
+三十天 < thirty\-days;
+滲濾 < percolation;
+弰 < ends\-of\-bow;
+四分之一 < one\-quarter;
+病容 < sickly\-look;
+成績 < performance;
+人間 < man''s\-world;
+端站 < end\-station;
+茅屋頂 < thatch\-roof;
+衍射 < diffraction;
+崪 < rocky\-peaks;
+回報 < \(in\)\-return;
+三十四 < thirty\-four;
+屰 < disobedient;
+屝 < straw\-shoes;
+尜 < a\-child\-toy;
+器官捐獻者 < organ\-donor;
+訊框傳送 < frame\-relay;
+性伴侶 < sex\-partner;
+嬔 < baby\-rabbit;
+或稱 < also\-called;
+乳白色 < milky\-white;
+畫插圖者 < illustrator;
+第二次世界大戰 < world\-war\-2;
+高壓 < high\-handed;
+塿 < small\-mound;
+仲裁 < arbitration;
+堊 < white\-earth;
+垝 < dilapidated;
+垔 < to\-restrain;
+值得 < to\-be\-worth;
+異常 < exceptional;
+鑽孔 < bore\-a\-hole;
+蓋然性 < probability;
+文件服務器 < file\-server;
+當局 < authorities;
+喎 < a\-wry\-mouth;
+高唱 < sing\-loudly;
+越南戰爭 < vietnam\-war;
+唹 < to\-smile\-at;
+介詞 < preposition;
+可能性 < possibility;
+咅 < to\-spit\-out;
+舞劇 < dance\-drama;
+叻 < place\-names;
+厾 < lightly\-tap;
+傑出 < illustrious;
+疆場 < battlefield;
+登山家 < mountaineer;
+信服 < to\-convince;
+匯 < a\-concourse;
+勠 < join\-forces;
+無所不在 < omnipresent;
+劼 < be\-discreet;
+脾氣 < temperament;
+不出所料 < as\-expected;
+上齒 < upper\-teeth;
+慰藉 < consolation;
+剦 < to\-castrate;
+板規 < plate\-gauge;
+凩 < wintry\-wind;
+病人 < sick\-person;
+鑒定 < to\-appraise;
+世界和平 < world\-piece;
+備件 < spare\-parts;
+哲學家 < philosopher;
+生成 < be\-produced;
+便桶 < chamber\-pot;
+傏 < to\-ward\-off;
+脫氧 < deoxidation;
+情願 < willingness;
+生態 < way\-of\-life;
+指出 < to\-indicate;
+俛 < make\-effort;
+系列片 < film\-series;
+阿富汗 < afghanistan;
+佹 < depend\-upon;
+洛杉磯 < los\-angeles;
+扁桃 < almond\-tree;
+跋扈 < domineering;
+䶪 < sharp\-teeth;
+陰涼處 < shady\-place;
+修復 < restoration;
+䵴 < black\-color;
+䵳 < light\-black;
+䵩 < dark\-yellow;
+筆心 < pencil\-lead;
+䲻 < the\-swallow;
+信息 < information;
+䱽 < the\-pomfret;
+䱺 < a\-male\-crab;
+䱒 < salted\-fish;
+轉來轉去 < rove\-around;
+不顧 < in\-spite\-of;
+䮘 < young\-horse;
+立法 < legislation;
+對方 < counterpart;
+空白 < blank\-space;
+男女 < male\-female;
+䫳 < human\-skull;
+䫰 < sparse\-hair;
+䫭 < bald\-headed;
+針鋒相對 < tit\-for\-tat;
+䫄 < better\-than;
+䪴 < the\-occiput;
+伸縮性 < flexibility;
+䪄 < great\-blaze;
+䩻 < to\-be\-chief;
+䩜 < descendants;
+閉會祈禱 < benediction;
+䨱 < spilt\-water;
+䧓 < a\-big\-mound;
+䦷 < to\-struggle;
+當做 < to\-treat\-as;
+䦘 < a\-threshold;
+閉元音 < close\-vowel;
+䥀 < to\-pull\-out;
+䤭 < to\-ornament;
+䤅 < southerwood;
+跛子 < lame\-person;
+不可估量 < inestimable;
+五萬 < 50\-thousand;
+䠝 < to\-stand\-up;
+䠍 < at\-the\-feet;
+最大化 < to\-maximize;
+䟅 < to\-go\-ahead;
+䟁 < a\-foot\-race;
+䞽 < to\-lie\-flat;
+䞨 < half\-a\-pace;
+䞄 < to\-disperse;
+䝀 < garden\-peas;
+䜰 < deep\-valley;
+保存 < to\-conserve;
+䜗 < angry\-words;
+䜆 < hasty\-words;
+䛘 < to\-think\-of;
+䚳 < do\-not\-know;
+䚲 < to\-laugh\-at;
+淘神 < troublesome;
+䙾 < to\-wait\-for;
+䙱 < a\-long\-coat;
+䙰 < new\-feather;
+䙂 < short\-pants;
+筆墨 < pen\-and\-ink;
+䗖 < the\-rainbow;
+薑餅 < gingerbread;
+第十七 < seventeenth;
+䕸 < wheat\-straw;
+溫度 < temperature;
+䔿 < lush\-growth;
+跑壘 < baserunning;
+開放系統 < open\-system;
+蜜桃 < honey\-peach;
+鑒于 < in\-light\-of;
+䒋 < air\-current;
+可驚 < astonishing;
+有限公司 < corporation;
+空間探測 < space\-probe;
+䐚 < good\-graces;
+䏶 < the\-stomach;
+䏔 < to\-eat\-meat;
+便宜 < inexpensive;
+哲學上 < philosophic;
+否有效 < inefficient;
+不迭 < cannot\-cope;
+北朝鮮 < north\-korea;
+䌪 < to\-continue;
+䌦 < green\-color;
+吉爾吉斯斯坦 < kirghizstan;
+手寫 < handwriting;
+䊭 < to\-overturn;
+䊫 < coarse\-rice;
+䊢 < thick\-fluid;
+䊓 < to\-paste\-up;
+下載 < to\-download;
+䉝 < bamboo\-ware;
+䈸 < a\-big\-chest;
+踏上 < set\-foot\-on;
+䆳 < far\-distant;
+䆘 < acupuncture;
+䆖 < a\-big\-house;
+䅄 < long\-grains;
+䄽 < common\-rice;
+䃭 < a\-stone\-box;
+環形 < ring\-shaped;
+䂱 < to\-wear\-out;
+䂓 < regulations;
+䁻 < pretty\-eyes;
+䁷 < bright\-eyes;
+䁱 < hollow\-eyed;
+佈景 < \(stage\)\-set;
+䀂 < a\-big\-basin;
+基礎問題 < basic\-issue;
+㿣 < white\-color;
+㿘 < to\-get\-sick;
+㾺 < eye\-disease;
+㾝 < to\-leak\-out;
+騷動 < disturbance;
+㾈 < hunchbacked;
+㾃 < hump\-backed;
+㽪 < paddy\-field;
+悲觀 < pessimistic;
+口香糖 < chewing\-gum;
+㼘 < of\-mountain;
+㼓 < melon\-seeds;
+西乃山 < mount\-sinai;
+㻓 < a\-fine\-jade;
+美貌 < goodlooking;
+麻藥 < anaesthetic;
+㹠 < a\-small\-big;
+邁阿密灘 < miami\-beach;
+㸠 < thick\-stick;
+小型 < small\-scale;
+㵤 < to\-overflow;
+㴘 < to\-ooze\-out;
+金屬板 < metal\-plate;
+㲰 < a\-hairy\-dog;
+㰲 < to\-blow\-off;
+㯈 < small\-trees;
+題詞 < inscription;
+㮝 < angle\-steel;
+㭴 < the\-oscines;
+㭎 < a\-tall\-tree;
+趣味 < to\-interest;
+信仰 < firm\-belief;
+㬩 < a\-tiny\-star;
+股東 < stockholder;
+鎮壓 < suppression;
+㫘 < disappeared;
+板牙 < front\-tooth;
+泳褲 < swim\-trunks;
+同質 < homogeneous;
+㩅 < to\-draw\-out;
+兩百萬 < two\-million;
+㨵 < to\-cut\-away;
+㨴 < to\-turnover;
+㨕 < to\-shoulder;
+環境 < environment;
+㧔 < to\-disturbe;
+修理廠 < repair\-shop;
+㦒 < to\-deceived;
+㤡 < to\-surprise;
+㤕 < melancholoy;
+㤁 < to\-disgrace;
+㣾 < do\-not\-care;
+㣵 < to\-run\-away;
+㣥 < to\-store\-up;
+㢓 < to\-separate;
+果汁 < fruit\-juice;
+耕畜 < farm\-animal;
+增長率 < growth\-rate;
+重返 < return\-\(to\);
+丟臉 < humiliation;
+㝴 < a\-round\-off;
+㝔 < deep\-bottom;
+我國 < our\-country;
+㜣 < a\-last\-name;
+㜎 < slave\-girls;
+㛑 < three\-women;
+㚾 < to\-have\-fun;
+玻意耳定律 < boyle''s\-law;
+㘶 < a\-hen\-roost;
+身心爽快 < refreshment;
+㘥 < to\-inveigle;
+佈局 < arrangement;
+他們都 < all\-of\-them;
+變通 < be\-flexible;
+鼻涕 < nasal\-mucus;
+㖽 < to\-call\-out;
+貸款 < \(bank\)\-loan;
+㖑 < to\-shout\-at;
+㔼 < to\-fit\-into;
+㔶 < a\-small\-cup;
+㔏 < to\-cut\-open;
+㓩 < horned\-hair;
+準備 < preparation;
+㒨 < an\-immortal;
+安康 < good\-health;
+預計 < to\-forecast;
+祭司權術 < priestcraft;
+類似點 < resemblance;
+量詞 < meaure\-word;
+雙人房 < double\-room;
+名著 < masterpiece;
+美術館 < art\-gallery;
+任意 < arbitrarily;
+安家 < settle\-down;
+饒恕 < forgiveness;
+宇宙 < outer\-space;
+瑞士 < switzerland;
+在這期間 < during\-time;
+喇叭 < loudspeaker;
+約伯記 < book\-of\-job;
+無法忍受 < intolerable;
+悲喜劇 < tragicomedy;
+駁倒 < demolish\-sb;
+半封建 < semi\-feudal;
+浴池 < public\-bath;
+反動分子 < reactionary;
+實質性 < substantive;
+變壓器 < transformer;
+使用方便 < easy\-to\-use;
+奔馳 < run\-quickly;
+現年 < current\-age;
+無法形容 < unspeakable;
+蘋果汁 < apple\-juice;
+示範 < demonstrate;
+交換 < to\-exchange;
+藥物 < medicaments;
+有同情心 < sympathetic;
+暗記兒 < secret\-mark;
+鄙陋 < superficial;
+夜鶯 < nightingale;
+餐廳 < dining\-hall;
+威脅 < to\-threaten;
+空前 < unprecedent;
+預約 < reservation;
+碰見 < to\-run\-into;
+查出 < to\-find\-out;
+半邊 < half\-of\-sth;
+暗示 < drop\-a\-hint;
+交往 < association;
+配送者 < distributor;
+書法 < calligraphy;
+金銀花 < honeysuckle;
+元老院 < upper\-house;
+卓越 < distinction;
+股價 < stock\-price;
+九月 < ninth\-month;
+主權 < sovereignty;
+可想像 < conceivable;
+多餘 < superfluous;
+聽取 < hear\-\(news\);
+感性 < sensibility;
+商人 < businessman;
+禁止 < to\-prohibit;
+秉承 < take\-orders;
+售價 < to\-sell\-for;
+嬌媚 < flirtatious;
+頁碼 < page\-number;
+交媾 < to\-have\-sex;
+上流 < upper\-class;
+信用卡 < credit\-card;
+霸道 < overbearing;
+波瀾 < great\-waves;
+不止 < incessantly;
+爭議 < controversy;
+中東 < middle\-east;
+女管家 < housekeeper;
+一千四百億 < 140\-billion;
+丹方 < folk\-remedy;
+重疊 < overlapping;
+中日 < china\-japan;
+自由選擇權 < free\-agency;
+喜歡吵架 < quarrelsome;
+有害的 < destructive;
+重現 < to\-reappear;
+模糊邏輯 < fuzzy\-logic;
+靶船 < target\-ship;
+千萬 < ten\-million;
+一月 < first\-month;
+犯病 < to\-fall\-ill;
+同步 < synchronous;
+哺乳 < breast\-feed;
+主張 < to\-advocate;
+婚期 < wedding\-day;
+暗殺 < assassinate;
+主席 < chairperson;
+危篤 < deathly\-ill;
+互動 < interactive;
+天然氣 < natural\-gas;
+供血者 < blood\-donor;
+中年 < middle\-aged;
+營養品 < nourishment;
+貝丘 < shell\-mound;
+意向 < disposition;
+適應性 < suitability;
+沈澱 < precipitate;
+天文台 < observatory;
+鑿石場 < rock\-quarry;
+就﹍而言 < considering;
+三年 < three\-years;
+𡽱 < a\-high\-hill;
+上層 < upper\-layer;
+壯觀 < spectacular;
+有選舉權 < constituent;
+政變 < coup\-d''etat;
+神學 < theological;
+測驗結果 < test\-result;
+合影 < joint\-photo;
+如畫 < picturesque;
+不堪 < cannot\-bear;
+終點 < destination;
+爆竹 < firecracker;
+管家職務 < stewardship;
+小汽車 < compact\-car;
+特權 < prerogative;
+螺絲刀 < screwdriver;
+狗交媾般 < doggy\-style;
+分離 < to\-seperate;
+副作用 < side\-effect;
+禁令 < prohibition;
+不免 < unavoidable;
+誓約 < honor\-bound;
+證書 < credentials;
+沈思 < contemplate;
+解釋 < explanation;
+礁島 < reef\-island;
+榮獲諾貝爾獎 < nobel\-prize;
+二十億 < two\-billion;
+迎風 < in\-the\-wind;
+移植性 < portability;
+如此 < in\-this\-way;
+悠久 < established;
+專有名詞 < proper\-noun;
+上下 < up\-and\-down;
+二十五 < twenty\-five;
+朋比為奸 < to\-conspire;
+搬弄是非 < sow\-discord;
+的 < possessive;
+込 < crowd\-into;
+辻 < crossroads;
+能 < to\-be\-able;
+都 < metropolis;
+文 < literature;
+轍 < wagon\-ruts;
+輩 < generation;
+眩 < to\-confuse;
+眠 < close\-eyes;
+輝 < brightness;
+弐 < number\-two;
+者 < that\-which;
+业 < profession;
+府 < prefecture;
+政 < government;
+产 < give\-birth;
+场 < open\-space;
+比 < to\-compare;
+疲 < feel\-tired;
+画 < a\-painting;
+望 < to\-look\-at;
+賺 < make\-money;
+六 < number\-six;
+屡 < frequently;
+尤 < especially;
+專 < monopolize;
+基 < foundation;
+双 < set\-of\-two;
+孫 < grandchild;
+嬪 < court\-lady;
+离 < rare\-beast;
+媒 < go\-between;
+誌 < write\-down;
+誇 < exaggerate;
+响 < make\-sound;
+婿 < son\-in\-law;
+爭 < to\-dispute;
+器 < receptacle;
+營 < encampment;
+妙 < mysterious;
+胡 < recklessly;
+妓 < prostitute;
+襦 < short\-coat;
+壱 < number\-one;
+郭 < outer\-part;
+讨 < to\-discuss;
+滅 < extinguish;
+虜 < to\-capture;
+积 < accumulate;
+菜 < vegetables;
+嗣 < to\-connect;
+嗜 < be\-fond\-of;
+介 < forerunner;
+索 < large\-rope;
+丁 < male\-adult;
+遍 < everywhere;
+蒔 < transplant;
+懂 < understand;
+释 < interprete;
+纵 < indulge\-in;
+歴 < take\-place;
+仁 < humaneness;
+檀 < sandalwood;
+削 < scrape\-off;
+刑 < punishment;
+岂 < how\?\-what\?;
+隆 < prosperous;
+刃 < edged\-tool;
+析 < split\-wood;
+腸 < intestines;
+楓 < maple\-tree;
+餅 < rice\-cakes;
+傍 < by\-side\-of;
+栓 < wooden\-peg;
+凯 < triumphant;
+恭 < respectful;
+祸 < misfortune;
+禅 < meditation;
+柯 < axe\-handle;
+捐 < contribute;
+踪 < footprints;
+屁 < break\-wind;
+谊 < friendship;
+储 < save\-money;
+雁 < wild\-goose;
+摊 < spread\-out;
+吨 < metric\-ton;
+乍 < first\-time;
+陀 < steep\-bank;
+綿 < cotton\-wad;
+綱 < heavy\-rope;
+抑 < press\-down;
+彬 < cultivated;
+撮 < little\-bit;
+粥 < rice\-gruel;
+蛮 < barbarians;
+箸 < chopsticks;
+筵 < bamboo\-mat;
+艇 < small\-boat;
+捌 < break\-open;
+笠 < bamboo\-hat;
+庞 < disorderly;
+竝 < to\-combine;
+扉 < door\-panel;
+坝 < embankment;
+憧 < irresolute;
+甩 < throw\-away;
+酌 < serve\-wine;
+磐 < large\-rock;
+辅 < cheek\-bone;
+捡 < to\-pick\-up;
+蹈 < stamp\-feet;
+晒 < dry\-in\-sun;
+歼 < annihilate;
+涩 < astringent;
+霎 < light\-rain;
+绸 < silk\-cloth;
+眯 < be\-blinded;
+寅 < to\-respect;
+眶 < eye\-socket;
+碟 < small\-dish;
+蕴 < to\-collect;
+迭 < repeatedly;
+旭 < rising\-sun;
+悍 < courageous;
+枢 < door\-hinge;
+跋 < go\-by\-foot;
+圪 < \(phonetic\);
+搔 < to\-scratch;
+嚎 < cry\-loudly;
+汛 < high\-water;
+脯 < dried\-meat;
+嗒 < to\-despair;
+墟 < high\-mound;
+馋 < gluttonous;
+蹭 < to\-shuffle;
+澈 < thoroughly;
+缭 < wind\-round;
+喳 < whispering;
+弧 < wooden\-bow;
+惆 < distressed;
+撵 < drive\-away;
+轶 < rush\-forth;
+窿 < mine\-shaft;
+樵 < woodcutter;
+犀 < rhinoceros;
+绚 < variegated;
+藕 < lotus\-root;
+摞 < to\-pile\-up;
+滤 < strain\-out;
+缈 < indistinct;
+肪 < animal\-fat;
+甄 < to\-examine;
+铛 < frying\-pan;
+嫡 < legal\-wife;
+磷 < phosphorus;
+翡 < kingfisher;
+霭 < cloudy\-sky;
+舫 < fancy\-boat;
+纨 < white\-silk;
+榷 < footbridge;
+蔗 < sugar\-cane;
+彗 < broomstick;
+喟 < heave\-sigh;
+喑 < to\-be\-dumb;
+鱿 < cuttlefish;
+倜 < raise\-high;
+滂 < torrential;
+忻 < delightful;
+燧 < flintstone;
+稔 < ripe\-grain;
+颉 < fly\-upward;
+舸 < large\-boat;
+眙 < to\-gaze\-at;
+瘀 < a\-hematoma;
+夯 < heavy\-load;
+鲠 < fish\-bones;
+茏 < tall\-grass;
+茯 < china\-root;
+鲧 < giant\-fish;
+逦 < meandering;
+骜 < wild\-horse;
+欹 < fierce\-dog;
+缛 < decorative;
+苕 < rush\-plant;
+顸 < large\-face;
+缦 < plain\-silk;
+帙 < book\-cover;
+鳃 < fish\-gills;
+醴 < sweet\-wine;
+辊 < turn\-round;
+岘 < steep\-hill;
+倬 < noticeable;
+鲞 < dried\-fish;
+缁 < black\-silk;
+箧 < rattan\-box;
+墁 < to\-plaster;
+罴 < brown\-bear;
+爰 < lead\-on\-to;
+杲 < bright\-sun;
+癔 < hysterical;
+莜 < avena\-nuda;
+埙 < instrument;
+獾 < the\-badger;
+郫 < place\-name;
+蛏 < razor\-clam;
+帑 < a\-treasury;
+揠 < to\-pull\-up;
+趑 < can''t\-move;
+阍 < gatekeeper;
+掊 < to\-extract;
+镝 < dysprosium;
+砗 < giant\-clam;
+嫫 < ugly\-woman;
+跗 < the\-instep;
+浼 < to\-request;
+嗌 < the\-throat;
+汆 < to\-parboil;
+刭 < cut\-throat;
+髂 < the\-pelvis;
+钼 < molybdenum;
+憝 < to\-dislike;
+炅 < brilliance;
+隳 < to\-destroy;
+茛 < ranunculus;
+糇 < dried\-rice;
+钆 < gadolinium;
+澌 < to\-exhaust;
+庀 < to\-prepare;
+犴 < a\-wild\-dog;
+埏 < a\-boundary;
+谮 < to\-slander;
+縮短 < to\-curtail;
+改組 < reorganize;
+沒問題 < no\-problem;
+第五類 < category\-5;
+擁護 < to\-endorse;
+進行 < to\-advance;
+奔波 < rush\-about;
+後母 < stepmother;
+散發 < distribute;
+失火 < catch\-fire;
+誕生 < to\-be\-born;
+多爾 < \(bob\)\-dole;
+巴枯寧主義 < bakuninism;
+彼此 < each\-other;
+預先 < beforehand;
+關門 < close\-down;
+違背 < to\-violate;
+冰染染料 < azoic\-dyes;
+統計 < statistics;
+函購 < mail\-order;
+壁立 < \(of\-cliffs;
+春季 < springtime;
+頒佈 < promulgate;
+每次 < every\-time;
+編程 < to\-program;
+分詞 < participle;
+後期 < late\-stage;
+效用 < usefulness;
+糧食 < foodstuffs;
+荒野 < wilderness;
+撒謊 < tell\-a\-lie;
+燃燒 < combustion;
+弄直 < straighten;
+遷移 < to\-migrate;
+非官方 < unofficial;
+大氣 < atmosphere;
+認為 < to\-believe;
+降落 < to\-descend;
+前者 < the\-former;
+效率 < efficiency;
+靶心 < bull''s\-eye;
+國民黨 < kuomintang;
+勃然 < agitatedly;
+講師 < instructor;
+取代 < substitute;
+新教 < protestant;
+多次 < many\-times;
+奇數 < odd\-number;
+必將 < inevitably;
+陰精 < sex\-fluids;
+白色體 < leucoplast;
+妖嬈 < enchanting;
+不耐煩 < impatience;
+百分率 < percentage;
+繼承 < to\-inherit;
+令牌環 < token\-ring;
+操縱 < to\-operate;
+全面 < all\-around;
+四個小時 < four\-hours;
+厘升 < centiliter;
+調整 < adjustment;
+荒謬 < ridiculous;
+自白書 < confession;
+展覽會 < exhibition;
+白頭 < hoary\-head;
+天文學家 < astronomer;
+決不 < not\-at\-all;
+說明 < to\-explain;
+眼花繚亂 < be\-dazzled;
+魯佛爾宮 < the\-louvre;
+出色 < remarkable;
+不堪忍受 < unbearable;
+高速率 < high\-speed;
+免除 < to\-prevent;
+妥協 < compromise;
+巨輪 < large\-ship;
+照片 < photograph;
+附筆 < postscript;
+親自 < personally;
+說不出話來 < speechless;
+娛樂中心 < recreation;
+改正 < to\-correct;
+大城市 < major\-city;
+自由貿易 < free\-trade;
+半圓 < semicircle;
+爭奪 < fight\-over;
+短期 < short\-term;
+每年 < every\-year;
+喬治敦 < georgetown;
+三分之二 < two\-thirds;
+傳道者 < missionary;
+敵手 < antagonist;
+印像 < impression;
+不可能 < impossible;
+精通 < proficient;
+很大 < tremendous;
+白酒 < spirit\-usu;
+錄音帶 < audio\-tape;
+草莓 < strawberry;
+錫安山 < mount\-zion;
+塔吉克斯坦 < tajikistan;
+報章 < newspapers;
+多年 < many\-years;
+語彙 < vocabulary;
+早先 < previously;
+總統任期 < presidency;
+牌價 < list\-price;
+巫術 < witchcraft;
+過渡 < transition;
+探險 < to\-explore;
+大學 < university;
+無理 < irrational;
+半價 < half\-price;
+區別 < difference;
+關聯 < be\-related;
+硬磁盤 < hard\-drive;
+地震 < earthquake;
+觀眾 < spectators;
+排隊 < to\-line\-up;
+攪擾 < to\-disturb;
+不可逾越 < impassable;
+數學 < mathematic;
+熱心 < enthusiasm;
+加利福尼亞 < california;
+歷史上 < historical;
+記帳員 < bookkeeper;
+電子 < electronic;
+白話 < vernacular;
+炸糕 < fried\-cake;
+散射 < scattering;
+蓋世 < unrivelled;
+編排 < to\-arrange;
+捕魚 < catch\-fish;
+允諾 < to\-promise;
+調和 < harmonious;
+後來 < afterwards;
+使失望 < disappoint;
+大喜 < exultation;
+設施 < facilities;
+方便 < convenient;
+此後 < after\-this;
+座標 < coordinate;
+經歷 < experience;
+樂觀 < optimistic;
+太古 < immemorial;
+離婚 < to\-divorce;
+教堂墓地 < churchyard;
+龢 < in\-harmony;
+燈塔 < lighthouse;
+出版 < to\-publish;
+兵船 < man\-of\-war;
+行政長官 < magistrate;
+鼧 < the\-marmot;
+鼄 < the\-spider;
+黹 < embroidery;
+黲 < grey\-black;
+黤 < blue\-black;
+傷風 < catch\-cold;
+放射 < to\-radiate;
+比例 < proportion;
+鸺 < horned\-owl;
+隨後 < soon\-after;
+前景 < foreground;
+遷延 < long\-delay;
+補語 < complement;
+鵒 < mynah\-bird;
+鴷 < woodpecker;
+加密 < to\-encrypt;
+整合 < to\-conform;
+承包人 < contractor;
+違抗 < to\-disobey;
+監督 < to\-control;
+鳲 < turtledove;
+文具 < stationery;
+每人 < per\-person;
+物質上 < materially;
+鲰 < small\-fish;
+防水 < waterproof;
+鱇 < anglerfish;
+貴族論者 < aristocrat;
+半公開 < semi\-overt;
+使免除 < get\-rid\-of;
+更衣室 < changeroom;
+鮁 < the\-bonito;
+退步 < degenerate;
+適度 < moderately;
+魛 < the\-mullet;
+遠征 < expedition;
+鬨 < boisterous;
+鬜 < to\-go\-bald;
+白臉 < white\-face;
+總共 < altogether;
+髣 < similar\-to;
+髁 < thigh\-bone;
+解析 < to\-analyze;
+騗 < to\-swindle;
+騋 < tall\-horse;
+騉 < fine\-horse;
+駰 < grey\-horse;
+馹 < post\-horse;
+試圖 < to\-attempt;
+艦載 < ship\-based;
+知名 < well\-known;
+多事 < meddlesome;
+冰球 < ice\-hockey;
+解放 < liberation;
+鞡 < leg\-warmer;
+靝 < the\-heaven;
+偽頂 < false\-roof;
+高階 < high\-level;
+捏造 < to\-make\-up;
+隮 < ti\-rise\-up;
+陻 < small\-hill;
+新聞記者 < journalist;
+擁抱 < to\-embrace;
+零下 < below\-zero;
+闟 < peacefully;
+鞭闢入裡 < penetrated;
+超媒體 < hypermedia;
+镚 < small\-coin;
+锬 < long\-spear;
+不明確 < indefinite;
+钷 < promethium;
+放出 < to\-let\-off;
+鐶 < metal\-ring;
+鐚 < soft\-steel;
+公石 < hectoliter;
+鐒 < lawrencium;
+鐀 < a\-cupboard;
+不景氣 < depression;
+他們自己 < themselves;
+資本家 < capitalist;
+鎪 < to\-engrave;
+鎛 < large\-bell;
+報數 < number\-off;
+鍀 < technetium;
+收入 < to\-take\-in;
+詞典 < dictionary;
+設在 < located\-at;
+限度 < limitation;
+裱糊 < wall\-paper;
+鈊 < cadolinium;
+醡 < wine\-press;
+醝 < white\-wine;
+檢查 < inspection;
+酅 < raise\-feet;
+阿塞拜疆 < azerbaijan;
+瀆職 < wrongdoing;
+庇廕 < \(of\-a\-tree;
+二手貨 < secondhand;
+陰天 < cloudy\-day;
+終於 < eventually;
+訂婚 < engagement;
+陸基 < land\-based;
+邏輯炸彈 < logic\-bomb;
+廚司 < cook\,\-chef;
+傳說 < it\-is\-said;
+制定 < to\-draw\-up;
+易接近 < accessible;
+逬 < to\-scatter;
+速射 < rapid\-fire;
+遺傳 < hereditary;
+舉辦 < to\-conduct;
+利害 < formidable;
+躩 < take\-quick;
+入獄 < go\-to\-jail;
+米粉 < rice\-flour;
+圖解說明 < illustrate;
+不屈不撓 < unyielding;
+踧 < uneasiness;
+踜 < to\-stumble;
+踖 < trample\-on;
+農村 < rural\-area;
+想像力 < conception;
+跐 < to\-trample;
+副刊 < supplement;
+有決心 < determined;
+橄欖樹 < olive\-tree;
+操場 < playground;
+基於 < because\-of;
+衍變 < to\-develop;
+全然 < completely;
+大腦死亡 < brain\-dead;
+團聚 < to\-reunite;
+豀 < to\-quarrel;
+爭論點 < contention;
+白狐 < arctic\-fox;
+擁塞 < congestion;
+討厭 < disgusting;
+謪 < to\-consult;
+白熾 < white\-heat;
+複雜性 < complexity;
+白熊 < polar\-bear;
+白煤 < anthracite;
+倚靠 < to\-lean\-on;
+幼女 < young\-girl;
+觀察 < to\-observe;
+使用者中介 < user\-agent;
+兵法 < art\-of\-war;
+當選 < be\-elected;
+覸 < steal\-look;
+監控 < to\-monitor;
+結局 < conclusion;
+裪 < the\-sleeve;
+欠佳 < suboptimal;
+週到 < thoughtful;
+規律 < discipline;
+蟫 < silverfish;
+蟣 < louse\-eggs;
+管轄 < administer;
+蟁 < a\-mosquito;
+胡思亂想 < imaginings;
+奶牛場 < dairy\-farm;
+樹樁 < tree\-stump;
+襯托 < to\-set\-off;
+蛜 < wood\-louse;
+操典 < drill\-book;
+跑馬 < horse\-race;
+薧 < dried\-food;
+檢察 < to\-inspect;
+蕡 < hemp\-seeds;
+巨星 < giant\-star;
+字節數 < byte\-count;
+蓷 < motherwort;
+附加 < additional;
+蒽 < anthracene;
+蒦 < to\-measure;
+蒖 < plant\-name;
+一切事物 < everything;
+葯 < orris\-root;
+歌羅西書 < colossians;
+相對 < relatively;
+無價 < invaluable;
+搏斗 < to\-wrestle;
+荵 < polemonium;
+出生地 < birthplace;
+不由自主 < can''t\-help;
+拜託 < request\-sb;
+排球 < volleyball;
+店主 < shop\-owner;
+不下于 < as\-many\-as;
+瓶頸 < bottleneck;
+幫助 < assistance;
+脪 < erysipelas;
+脗 < coinciding;
+幫凶 < accomplice;
+公撮 < milliliter;
+肦 < large\-head;
+籃球 < basketball;
+抱負 < aspiration;
+曼徹斯特 < manchester;
+伽馬射線 < gamma\-rays;
+大媒體 < macromedia;
+算術 < arithmetic;
+推測 < conjecture;
+要塞 < stronghold;
+白旗 < white\-flag;
+滿足 < to\-satisfy;
+驅逐 < banishment;
+極為龐大 < monumental;
+繐 < fine\-cloth;
+備忘錄 < memorandum;
+縇 < decoration;
+表示 < to\-express;
+挨個兒 < one\-by\-one;
+農園 < plantation;
+兄弟會 < fraternity;
+留聲機 < gramophone;
+絺 < fine\-linen;
+有利可圖 < profitable;
+絛 < silk\-braid;
+絖 < fine\-silks;
+絓 < obstructed;
+投資 < investment;
+粻 < provisions;
+無所不能 < omnipotent;
+看到 < see\-\(that\);
+提昇 < to\-promote;
+哈薩克斯坦 < kazakhstan;
+簥 < large\-pipe;
+分離主義 < separatism;
+兌換 < to\-convert;
+世界銀行 < world\-bank;
+黑莓子 < blackberry;
+篋 < ratton\-box;
+箠 < horse\-whip;
+箚 < brief\-note;
+公引 < hectometer;
+窰 < brick\-kiln;
+專門 < specialist;
+穭 < wild\-grain;
+看來 < apparently;
+臉色 < complexion;
+草叢 < underbrush;
+兼容 < compatible;
+在下面 < underneath;
+祅 < calamities;
+不變化 < invariably;
+軍港 < naval\-port;
+按立 < ordination;
+生計 < livelihood;
+磑 < stone\-mill;
+掌櫃 < shopkeeper;
+表現 < expression;
+兩岸 < bilaterial;
+硃 < a\-red\-mole;
+共存 < to\-coexist;
+睟 < clear\-eyed;
+囚犯 < a\-prisoner;
+偉績 < great\-acts;
+衍生 < derviative;
+冰刀 < ice\-skates;
+接收 < to\-receive;
+技術 < technology;
+疕 < head\-sores;
+畓 < rice\-field;
+畁 < to\-give\-to;
+宿題 < assignment;
+陌生人 < a\-stranger;
+玔 < green\-jade;
+魚排 < fish\-steak;
+無所不知 < omniscient;
+指甲 < fingernail;
+開會祈禱 < invocation;
+學齡 < school\-age;
+犛 < a\-black\-ox;
+不適當 < inadequate;
+捨棄 < to\-give\-up;
+電視臺 < tv\-station;
+牏 < privy\-hole;
+爫 < radical\-87;
+使醉 < intoxicate;
+拘禁 < constraint;
+熅 < smooth\-out;
+國會 < parliament;
+領導能力 < leadership;
+超越 < to\-surpass;
+灺 < candle\-end;
+灒 < to\-spatter;
+推廣 < popularize;
+主力艦 < battleship;
+濙 < to\-revolve;
+濆 < river\-bank;
+佣金 < commission;
+白喉 < diphtheria;
+授意 < to\-inspire;
+公分 < centimeter;
+筆者 < the\-author;
+泆 < licentious;
+保育 < child\-care;
+白區 < white\-area;
+揹債 < be\-in\-debt;
+漫畫 < caricature;
+行不通 < won''t\-work;
+停火 < cease\-fire;
+競爭者 < competitor;
+良心 < conscience;
+櫾 < the\-pomelo;
+單調 < monotonous;
+檼 < ridge\-pole;
+表明 < make\-known;
+有系統 < systematic;
+沒人住 < unoccupied;
+榼 < wine\-glass;
+榦 < tree\-trunk;
+動物學 < zoological;
+椵 < pompelmous;
+椳 < the\-pivots;
+模仿 < to\-imitate;
+意見不合 < dissension;
+盧森堡 < luxembourg;
+發佈 < to\-release;
+第七十 < seventieth;
+栛 < the\-lichee;
+栘 < fruit\-tree;
+條約 < treatypact;
+導航 < navigation;
+排外 < xenophobic;
+導致 < to\-lead\-to;
+展示 < to\-open\-up;
+冰凝器 < cryophorus;
+尋舋 < to\-provoke;
+杢 < woodworker;
+先例 < antecedent;
+賓館 < guesthouse;
+樓下 < downstairs;
+斢 < to\-plunder;
+打結 < tie\-a\-knot;
+孟加拉國 < bangladesh;
+臆測 < assumption;
+心理學 < psychology;
+擪 < to\-tuck\-in;
+撱 < to\-shorten;
+氣喘喘 < breathless;
+拔河 < tug\-of\-war;
+第一例 < first\-case;
+生產 < to\-produce;
+補償 < compensate;
+掱 < pickpocket;
+掎 < drag\-aside;
+人體 < human\-body;
+胞衣 < afterbirth;
+挖掘 < excavation;
+四年 < four\-years;
+百分之九十 < 90\-percent;
+扡 < drag\-along;
+餐館 < restaurant;
+聖靈 < holy\-ghost;
+憸 < to\-flatter;
+指控 < accusation;
+憍 < be\-haughty;
+憀 < to\-rely\-on;
+引人注意 < attractive;
+手稿 < manuscript;
+抹油 < to\-annoint;
+愓 < profligate;
+表尺 < rear\-sight;
+惏 < avaricious;
+摩天摟 < skyscraper;
+畢業 < graduation;
+恛 < disordered;
+固執 < persistent;
+怲 < be\-anxious;
+彿 < resembling;
+查詢 < to\-inquire;
+弇 < cover\-over;
+廀 < to\-conceal;
+忘恩負義 < ungrateful;
+疑慮 < hesitation;
+喉舌 < mouthpiece;
+聯通 < connection;
+得不到 < cannot\-get;
+駐紮 < to\-station;
+簽出 < to\-log\-off;
+屄 < the\-vagina;
+重要性 < importance;
+餅鐺 < baking\-pan;
+宼 < tyrannical;
+技術員 < technician;
+鎗管 < gun\-barrel;
+媟 < lust\-after;
+鐵板 < iron\-panel;
+鏈環 < chain\-link;
+相同名字 < like\-named;
+竭盡 < exhaustion;
+軍人 < serviceman;
+使人信服 < convincing;
+老頭 < old\-fellow;
+周恩來 < zhou\-enlai;
+現象 < appearance;
+鎮痛 < analgesiac;
+堃 < compliance;
+有興趣 < interested;
+自尊 < self\-pride;
+定義 < definition;
+圦 < water\-gate;
+囌 < loquacious;
+嚲 < read\-aloud;
+不經意 < carelessly;
+競爭 < to\-compete;
+打字機 < typewriter;
+唽 < to\-twitter;
+實現 < to\-achieve;
+傷亡 < casualties;
+呴 < breathe\-on;
+倍增器 < multiplier;
+業余 < spare\-time;
+金屬線 < metal\-wire;
+行列 < procession;
+卝 < hair\-style;
+病假 < sick\-leave;
+期限 < time\-limit;
+劏 < to\-butcher;
+電子空間 < cyberspace;
+冘 < to\-move\-on;
+識別號 < identifier;
+把戲 < acrobatics;
+生有權 < birthright;
+偭 < transgress;
+偝 < not\-facing;
+消費 < to\-consume;
+持卡人 < cardholder;
+行人 < pedestrian;
+倀 < bewildered;
+毛澤東 < mao\-zedong;
+書面 < in\-writing;
+六十五 < sixty\-five;
+伷 < descendent;
+多媒體 < multimedia;
+節制 < temperance;
+抵抗力 < resistance;
+腐敗 < corruption;
+䶫 < fine\-teeth;
+䶉 < guinea\-pig;
+䵪 < pure\-black;
+䵝 < dark\-black;
+獸醫 < veterinary;
+微不足道 < negligible;
+做出 < to\-put\-out;
+作為 < accomplish;
+䳕 < the\-pigeon;
+䳌 < the\-cuckoo;
+折射 < refraction;
+䱝 < black\-carp;
+䱄 < a\-flatfish;
+喉炎 < laryngitis;
+䰬 < wild\-ghost;
+信心 < confidence;
+䰄 < short\-hair;
+䯔 < to\-incline;
+䯌 < the\-sacrum;
+珍藏 < collection;
+大主教 < archbishop;
+䮍 < curling\-up;
+䭸 < a\-stallion;
+試算表 < speadsheet;
+䬷 < well\-feed\.;
+聖職 < priesthood;
+䫥 < a\-wry\-neck;
+達賴喇嘛 < dalai\-lama;
+䪺 < teethridge;
+䪠 < pulverized;
+錶盤 < dial\-plate;
+䩱 < a\-scabbard;
+桃樹 < peach\-tree;
+白口鐵 < white\-iron;
+䩁 < thin\-hairs;
+單模 < singlemode;
+䨽 < to\-resolve;
+䨩 < the\-spirit;
+不揣冒昧 < venture\-to;
+䧿 < the\-magpie;
+䧣 < to\-stop\-up;
+想象 < to\-imagine;
+䦯 < very\-dense;
+下降 < to\-decline;
+䦍 < to\-include;
+䤾 < to\-contain;
+䤽 < farm\-tools;
+層壓 < lamination;
+第十八 < eighteenth;
+周速 < cycle\-time;
+暴風 < storm\-wind;
+實驗室 < laboratory;
+䡧 < a\-carriage;
+䡚 < implements;
+屬地 < dependency;
+䡎 < a\-windlass;
+䠸 < obsequious;
+䠶 < to\-project;
+䠩 < to\-urinate;
+䠟 < to\-trip\-up;
+漲價 < appreciate;
+䠘 < one\-legged;
+聖經 < holy\-bible;
+仿真 < to\-emulate;
+省略符號 < apostrophe;
+不對碴兒 < not\-proper;
+介紹 < to\-present;
+䟙 < to\-stagger;
+䟄 < in\-a\-hurry;
+䝿 < honourabel;
+䝷 < securities;
+䝱 < to\-trouble;
+䜙 < not\-clever;
+䜋 < to\-suspend;
+缺點 < weak\-point;
+䛲 < to\-deceive;
+䛦 < litigation;
+䛄 < to\-console;
+本行 < one''s\-line;
+滲坑 < sewage\-pit;
+競技 < tournament;
+第十九 < nineteenth;
+䖳 < jelly\-fish;
+鐵匠 < blacksmith;
+任用 < to\-appoint;
+板紙 < paperboard;
+第十三 < thirteenth;
+䕡 < compositae;
+機關車 < locomotive;
+保潔箱 < litter\-bin;
+䔘 < fish\-paste;
+老年人 < old\-people;
+䓵 < to\-blossom;
+波長 < wavelength;
+䓤 < vegetation;
+專心 < absorption;
+䓆 < to\-cut\-the;
+䒢 < sweet\-flag;
+發聲法 < intonation;
+䑭 < war\-vessel;
+䑍 < to\-swallow;
+䐢 < to\-wrinkle;
+䏭 < the\-cheeks;
+䏌 < to\-vibrate;
+䎟 < to\-fawn\-on;
+個別 < individual;
+會計 < accountant;
+䍵 < young\-goat;
+䍞 < a\-drag\-net;
+䍗 < to\-hang\-up;
+䍔 < a\-full\-net;
+意想不到 < unexpected;
+流血 < shed\-blood;
+肉片 < meat\-slice;
+䋱 < a\-wild\-yak;
+冰上運動 < ice\-sports;
+公開討論會 < open\-forum;
+䊩 < rice\-gravy;
+溫室 < greenhouse;
+美乃滋醬 < mayonnaise;
+不平凡 < marvellous;
+抑制 < to\-inhibit;
+䇎 < to\-startle;
+作料 < condiments;
+䇇 < the\-people;
+䆋 < the\-autumn;
+䅔 < dead\-crops;
+崑崙山 < mt\.\-kunlun;
+便壺 < bed\-urinal;
+䄟 < to\-worship;
+使怒 < exasperate;
+依屬 < dependence;
+䁞 < a\-province;
+䁁 < strabismus;
+等到 < wait\-until;
+小姐 < young\-lady;
+代表團 < delegation;
+㽨 < fragmented;
+㽣 < a\-frontier;
+㽘 < borderland;
+桌布 < tablecloth;
+㼹 < eartenware;
+背景 < background;
+不變 < unchanging;
+一貫 < consistent;
+㺳 < black\-mica;
+㺅 < the\-monkey;
+批准 < to\-approve;
+㸨 < a\-big\-bull;
+㸌 < to\-twinkle;
+㷷 < thick\-soup;
+㶭 < almost\-dry;
+㶜 < deep\-water;
+科系 < department;
+㵀 < water\-flow;
+愁緒 < melancholy;
+神話 < fairy\-tale;
+住所 < habitation;
+影像檔 < image\-file;
+㲯 < long\-hairy;
+顛覆 < subversion;
+㲌 < dog''s\-hair;
+㲉 < egg\-shells;
+㱦 < to\-discard;
+㱜 < pestilence;
+案子 < long\-table;
+㯇 < a\-stockade;
+居住者 < inhabitant;
+㬱 < to\-replace;
+㬪 < to\-fold\-up;
+㫤 < a\-long\-day;
+㪌 < to\-lead\-on;
+㩹 < to\-pile\-on;
+㩞 < to\-back\-up;
+㨯 < to\-enlarge;
+㨮 < to\-lift\-up;
+淘汰 < to\-die\-out;
+肥料 < fertilizer;
+㦂 < constantly;
+㥶 < to\-fill\-up;
+㥣 < to\-benefit;
+㤷 < to\-debauch;
+㤐 < disharmony;
+狡辯 < to\-quibble;
+㣽 < to\-forgive;
+㣅 < bow\-string;
+㣀 < to\-rebound;
+㢭 < a\-bow\-case;
+㢚 < a\-corridor;
+㢏 < a\-cesspool;
+㡥 < to\-curl\-up;
+暴行 < savage\-act;
+四百億 < 40\-billion;
+實在 < in\-reality;
+艾滋病病毒 < aids\-virus;
+㞠 < male\-organ;
+陸軍中尉 < lieutenant;
+㞎 < body\-waste;
+㝯 < to\-sojourn;
+㚠 < full\-grown;
+㙺 < cross\-road;
+超升 < exaltation;
+叛軍 < rebel\-army;
+㘧 < precedence;
+獸穴 < animal\-den;
+㗬 < thick\-lips;
+㗫 < to\-whisper;
+彪形大漢 < burly\-chap;
+警鐘 < alarm\-bell;
+㖆 < to\-condemn;
+胖子 < fat\-person;
+㕍 < to\-heap\-up;
+㕆 < fine\-stone;
+㔷 < to\-secrete;
+㔘 < to\-degrade;
+㔓 < to\-stammer;
+㔌 < to\-cut\-off;
+㓺 < castration;
+存放 < to\-deposit;
+餓死 < starvation;
+㒷 < to\-prosper;
+㐤 < to\-implore;
+萬事達卡 < mastercard;
+併吞 < swallow\-up;
+學徒 < apprentice;
+板樁 < sheet\-pile;
+否決權 < veto\-power;
+成分 < ingredient;
+崇拜者 < worshipper;
+悔罪 < conviction;
+能力 < capability;
+戲劇化 < theatrical;
+必須 < to\-have\-to;
+肯定 < to\-be\-sure;
+任性 < capricious;
+王牌 < trump\-card;
+新聞媒體 < news\-media;
+堅定不移 < unswerving;
+非盈利 < non\-profit;
+南面 < south\-side;
+使容易 < facilitate;
+研究員 < researcher;
+薄荷 < field\-mint;
+馬力 < horsepower;
+月球 < \(the\)\-moon;
+現成 < ready\-made;
+議論 < to\-comment;
+風濕 < rheumatism;
+群眾 < the\-masses;
+三月二十三號 < march\-23rd;
+此時以前 < heretofore;
+仁慈 < benevolent;
+目擊者 < eyewitness;
+今後 < henceforth;
+虛擬 < fictitious;
+專門化 < specialize;
+多黨 < multiparty;
+不當 < unsuitable;
+沈落 < sink\,\-fall;
+講述 < talk\-about;
+宣佈 < to\-declare;
+摩托車 < motorcycle;
+朝鮮戰爭 < korean\-war;
+鼓掌 < to\-applaud;
+以外 < apart\-from;
+訂購者 < subscriber;
+爆音 < sonic\-boom;
+大體 < in\-general;
+食指 < forefinger;
+牴觸 < contradict;
+程序 < procedures;
+明言 < pronounced;
+顯微鏡 < microscope;
+本月 < this\-month;
+原生質 < protoplasm;
+多方面 < many\-sided;
+哲學 < philosophy;
+氣象 < meteorolgy;
+互惠 < reciprocal;
+含燐 < phosphoric;
+更正 < correction;
+黑板 < blackboard;
+新聞學 < journalism;
+不定詞 < infinitive;
+預知 < anticipate;
+以及 < as\-well\-as;
+主格 < nominative;
+錄取 < to\-recruit;
+新郎 < bridegroom;
+而後 < after\-that;
+悲歌 < sad\-melody;
+人均 < per\-capita;
+可疑 < suspicious;
+而已 < that''s\-all;
+難以置信 < incredible;
+浴巾 < bath\-towel;
+吊燈 < chandelier;
+共和政體 < republican;
+聲價 < reputation;
+不簡單 < not\-simple;
+受傷害 < be\-injured;
+端系統 < end\-system;
+薄片 < thin\-slice;
+更新 < up\-to\-date;
+顫栗 < to\-tremble;
+集體 < collective;
+外交手腕 < diplomatic;
+敗露 < \(of\-a\-plot;
+試驗 < experiment;
+人口 < population;
+三百億 < 30\-billion;
+歸順 < submission;
+失蹤 < be\-missing;
+飽和 < saturation;
+歡騰 < jubilation;
+後裔 < descendant;
+金牌 < gold\-medal;
+非對稱 < asymmetric;
+不會 < improbable;
+上月 < last\-month;
+半決賽 < semifinals;
+碧綠 < dark\-green;
+老套 < old\-things;
+及物 < transitive;
+莫須有 < groundless;
+不買賬 < not\-buy\-it;
+磁盤驅動器 < disl\-drive;
+電車 < trolleybus;
+顧慮 < misgivings;
+可比 < comparable;
+腓立比書 < philipians;
+事先 < in\-advance;
+警犬 < police\-dog;
+剛體 < rigid\-body;
+景氣 < prosperity;
+卜筮 < divination;
+女裝裁縫師 < dressmaker;
+不快 < be\-unhappy;
+女學生 < schoolgirl;
+改進 < to\-improve;
+電視 < television;
+後者 < the\-latter;
+纏繞 < intertwine;
+加速 < accelerate;
+諳練 < conversant;
+下個月 < next\-month;
+騎士風格 < knighthood;
+鏈路層 < link\-layer;
+一度 < for\-a\-time;
+歡迎 < to\-welcome;
+化妝舞會 < masquerade;
+墨鏡 < sunglasses;
+剝離 < \(of\-tissue;
+彈藥 < ammunition;
+溫和性 < tenderness;
+不安 < intranquil;
+期刊 < periodical;
+知覺 < perception;
+所有者 < proprietor;
+同情 < compassion;
+適配 < adaptation;
+合意 < acceptable;
+大臣 < chancellor;
+同性 < homosexual;
+日益 < day\-by\-day;
+半空中 < in\-mid\-air;
+本份 < one''s\-duty;
+女服物員 < stewardess;
+沒有知覺 < insensible;
+不等式 < inequality;
+會友 < membership;
+暗間兒 < inner\-room;
+自動化 < automation;
+不夠 < not\-enough;
+單方面 < unilateral;
+私下 < in\-private;
+波峰 < wave\-crest;
+三天 < three\-days;
+反日 < anti\-japan;
+建議 < to\-propose;
+佛教徒 < a\-buddhist;
+波導 < wave\-guide;
+婢女 < slave\-girl;
+沒收 < confiscate;
+快活 < gay\,\-happy;
+可悲 < lamentable;
+評註 < commentary;
+必然 < inevitable;
+半球 < hemisphere;
+響應 < respond\-to;
+大綱 < main\-point;
+氣勢洶洶 < aggressive;
+烤鴨 < roast\-duck;
+歌詞 < song\-lyric;
+並入 < merge\-into;
+弱脈 < weak\-pulse;
+操舵室 < pilothouse;
+原本 < originally;
+吸吮 < to\-suck\-in;
+爆破 < to\-blow\-up;
+道賀 < compliment;
+取得 < to\-acquire;
+上半 < first\-half;
+教育 < to\-educate;
+不動 < motionless;
+七十年代 < the\-1970''s;
+西點 < west\-point;
+斗眼 < cross\-eyed;
+眼鏡 < spectacles;
+不備 < unprepared;
+恫嚇 < intimidate;
+奉獻 < consecrate;
+不依 < not\-comply;
+電唱機 < phonograph;
+文盲 < illiterate;
+明智 < not\-unwise;
+流程圖 < flow\-chart;
+監督者 < supervisor;
+一百五十億 < 15\-billion;
+撞針 < firing\-pin;
+南極 < south\-pole;
+所有物 < belongings;
+視窗新技 < windows\-nt;
+二十一 < twenty\-one;
+了 < to\-finish;
+子 < offspring;
+徹 < penetrate;
+要 < necessary;
+辱 < humiliate;
+着 < make\-move;
+成 < completed;
+督 < supervise;
+輯 < gather\-up;
+弥 < extensive;
+美 < beautiful;
+廂 < side\-room;
+问 < ask\-about;
+庭 < courtyard;
+療 < be\-healed;
+痺 < paralysis;
+差 < to\-differ;
+难 < difficult;
+超 < jump\-over;
+異 < different;
+亲 < relatives;
+畫 < delineate;
+畜 < livestock;
+畑 < dry\-field;
+甘 < sweetness;
+认 < recognize;
+貴 < expensive;
+貝 < sea\-shell;
+达 < arrive\-at;
+众 < multitude;
+倒 < fall\-over;
+玩 < play\-with;
+像 < a\-picture;
+宅 < residence;
+据 < to\-occupy;
+譯 < translate;
+譫 < talkative;
+造 < construct;
+媼 < old\-woman;
+犠 < sacrifice;
+牒 < documents;
+牌 < signboard;
+爐 < fireplace;
+久 < long\-time;
+妾 < concubine;
+初 < beginning;
+除 < eliminate;
+况 < condition;
+乱 < confusion;
+创 < establish;
+福 < happiness;
+假 < falsehood;
+顾 < look\-back;
+蠶 < silkworms;
+渐 < gradually;
+瞧 < glance\-at;
+埒 < enclosure;
+埃 < fine\-dust;
+螢 < glow\-worm;
+退 < step\-back;
+蜻 < dragonfly;
+翻 < flip\-over;
+圏 < to\-circle;
+普 < universal;
+蛹 < chrysalis;
+临 < draw\-near;
+协 < be\-united;
+湯 < hot\-water;
+例 < precedent;
+洲 < continent;
+松 < pine\-tree;
+伙 < companion;
+毫 < fine\-hair;
+蕎 < buckwheat;
+输 < transport;
+折 < break\-off;
+汰 < excessive;
+君 < sovereign;
+危 < dangerous;
+概 < generally;
+厄 < adversity;
+汇 < concourse;
+厉 < whetstone;
+附 < adhere\-to;
+肩 < shoulders;
+魘 < nightmare;
+荒 < wasteland;
+鬱 < luxuriant;
+匠 < craftsman;
+匂 < fragrance;
+勸 < recommend;
+飘 < whirlwind;
+炮 < large\-gun;
+郎 < gentleman;
+陪 < accompany;
+凝 < coagulate;
+剩 < leftovers;
+饒 < bountiful;
+肘 < the\-elbow;
+肖 < look\-like;
+昨 < yesterday;
+暂 < temporary;
+递 < hand\-over;
+祥 < good\-luck;
+倹 < temperate;
+仗 < rely\-upon;
+柿 < persimmon;
+键 < door\-bolt;
+枯 < dried\-out;
+莱 < goosefoot;
+赔 < indemnify;
+逢 < come\-upon;
+睁 < open\-eyes;
+嘿 < be\-silent;
+贪 < be\-greedy;
+逝 < pass\-away;
+艾 < artemisia;
+袍 < long\-gown;
+冤 < grievance;
+迪 < enlighten;
+嘉 < excellent;
+閾 < threshold;
+綾 < thin\-silk;
+膀 < upper\-arm;
+顽 < obstinate;
+歉 < deficient;
+帅 < commander;
+憾 < to\-regret;
+劈 < cut\-apart;
+拂 < shake\-off;
+筈 < arrow\-end;
+熬 < cook\-down;
+稼 < sow\-grain;
+恍 < seemingly;
+绣 < embroider;
+懃 < courteous;
+衬 < underwear;
+慊 < to\-resent;
+潭 < deep\-pool;
+硝 < saltpeter;
+骤 < procedure;
+忿 < get\-angry;
+坠 < fall\-down;
+蝶 < butterfly;
+焉 < thereupon;
+禀 < report\-to;
+挫 < push\-down;
+鳄 < alligator;
+谐 < harmonize;
+屎 < excrement;
+葱 < scallions;
+枣 < date\-tree;
+谴 < reprimand;
+汹 < turbulent;
+泻 < drain\-off;
+瀑 < waterfall;
+樊 < a\-railing;
+敛 < draw\-back;
+茵 < a\-cushion;
+棕 < hemp\-palm;
+辗 < turn\-over;
+恤 < show\-pity;
+侈 < luxurious;
+沁 < soak\-into;
+匣 < small\-box;
+捎 < to\-select;
+痞 < dyspepsia;
+睐 < squint\-at;
+垦 < cultivate;
+浒 < riverbank;
+葵 < sunflower;
+睫 < eyelashes;
+哺 < chew\-food;
+竣 < terminate;
+囔 < muttering;
+藐 < disregard;
+埠 < port\-city;
+荤 < meat\-diet;
+蜒 < millipede;
+菇 < mushrooms;
+豚 < small\-pig;
+沓 < connected;
+弩 < cross\-bow;
+殇 < die\-young;
+栈 < warehouse;
+醺 < get\-drunk;
+蜈 < centipede;
+愫 < guileless;
+谙 < versed\-in;
+熹 < dim\-light;
+怂 < instigate;
+遛 < take\-walk;
+麾 < a\-pennant;
+媲 < marry\-off;
+镁 < magnesium;
+椰 < palm\-tree;
+痢 < dysentery;
+嗑 < eat\-seeds;
+蚯 < earthworm;
+蜚 < cockroach;
+阆 < high\-door;
+擀 < roll\-flat;
+袤 < longitude;
+麝 < musk\-deer;
+佻 < frivolous;
+钾 < potassium;
+孑 < remaining;
+檄 < call\-arms;
+隍 < dry\-ditch;
+诿 < pass\-buck;
+逄 < a\-surname;
+梏 < handcuffs;
+钺 < broad\-axe;
+柑 < tangerine;
+乜 < to\-squint;
+娲 < a\-goddess;
+忝 < disgraced;
+诮 < criticize;
+鳏 < huge\-fish;
+蜇 < jellyfish;
+劭 < encourage;
+癣 < ringworms;
+绦 < silk\-cord;
+钸 < plutonium;
+馗 < cheekbone;
+锰 < manganese;
+侪 < a\-company;
+凫 < wild\-duck;
+痱 < heat\-rash;
+痈 < carbuncle;
+悌 < brotherly;
+冼 < \(surname\);
+鹧 < partridge;
+悒 < sorrowful;
+怃 < regretful;
+墒 < wet\-tilth;
+訾 < bad\-mouth;
+圮 < destroyed;
+鲈 < sea\-perch;
+攉 < to\-beckon;
+鲇 < sheatfish;
+膈 < diaphragm;
+犍 < a\-bullock;
+锗 < germanium;
+鎏 < pure\-gold;
+镅 < americium;
+辂 < a\-chariot;
+跸 < clear\-way;
+煳 < be\-burned;
+牾 < to\-oppose;
+昀 < sun\-light;
+乩 < to\-divine;
+羟 < hydroxide;
+荽 < coriander;
+绠 < well\-rope;
+哓 < garrulous;
+脬 < a\-bladder;
+戡 < subjugate;
+辇 < hand\-cart;
+鹚 < cormorant;
+镞 < arrowhead;
+菰 < wild\-rice;
+蠖 < inch\-worm;
+铫 < large\-hoe;
+氘 < deuterium;
+黾 < to\-strive;
+镧 < lanthanum;
+垡 < plow\-soil;
+炔 < acetylene;
+镱 < ytterbium;
+钕 < neodymium;
+忭 < delighted;
+苴 < sackcloth;
+谳 < to\-decide;
+钯 < palladium;
+碲 < tellurium;
+璩 < jade\-ring;
+饫 < surfeited;
+撙 < economize;
+蓼 < smartweed;
+饔 < breakfast;
+锶 < strontium;
+昃 < afternoon;
+唪 < to\-recite;
+儇 < ingenious;
+鲴 < fish\-guts;
+鲅 < fish\-name;
+铍 < beryllium;
+熳 < to\-spread;
+胍 < guanidine;
+鲐 < globefish;
+酐 < anhydride;
+衄 < epistaxis;
+矧 < much\-more;
+悫 < sincerity;
+膦 < phosphine;
+缣 < fine\-silk;
+宄 < a\-traitor;
+阌 < wen\-xiang;
+酞 < phthalein;
+收縮 < pull\-back;
+多疑 < skeptical;
+合力 < cooperate;
+爆炸 < explosion;
+縮小模型 < miniature;
+割草 < mow\-grass;
+變奏 < variation;
+領受 < to\-accept;
+以弗所書 < ephesians;
+動盪 < commotion;
+可哀 < miserably;
+沒有形狀 < shapeless;
+菠蘿 < pineapple;
+穩定性 < stability;
+厚度 < thickness;
+速記 < shorthand;
+用戶數據 < user\-data;
+徐步 < to\-stroll;
+西面 < west\-side;
+連接器 < connector;
+摘除 < to\-excise;
+警官 < constable;
+開發人員 < developer;
+名人 < personage;
+蔓延 < to\-extend;
+地質學家 < geologist;
+同事 < colleague;
+形容辭 < adjective;
+半旗 < half\-mast;
+金匠 < goldsmith;
+同一 < identical;
+可得到 < available;
+碰巧 < by\-chance;
+科學家 < scientist;
+普及 < widespead;
+設置 < to\-set\-up;
+志願者 < volunteer;
+燒燬 < burn\-down;
+明年 < next\-year;
+擦邊球 < edge\-ball;
+古典 < classical;
+叫做 < be\-called;
+綠茶 < green\-tea;
+怎麼樣 < how\-about;
+所有權 < ownership;
+別處 < elsewhere;
+述語 < predicate;
+白報紙 < newsprint;
+防衛 < to\-defend;
+討論會 < symposium;
+教父 < godfather;
+受僱 < mercenary;
+語源 < etymology;
+說法 < statement;
+城門 < city\-gate;
+接受者 < recipient;
+生物學家 < biologist;
+靈敏 < sensitive;
+助理 < assistant;
+每個人 < everybody;
+不育性 < sterility;
+檢查員 < inspector;
+論斷 < inference;
+受事 < recepient;
+熬煎 < suffering;
+分號 < semicolon;
+原告 < complaint;
+白魚 < whitefish;
+表現型 < phenotype;
+多樣 < diversity;
+多模 < multimode;
+無能 < inability;
+白體 < lean\-type;
+標高 < elevation;
+妖媚 < seductive;
+無聲 < noiseless;
+十年 < ten\-years;
+半島 < peninsula;
+不可磨滅 < indelible;
+連續 < continous;
+原則 < principle;
+皮鞋匠 < shoemaker;
+阿比西尼亞 < abyssinia;
+鄭州 < zhengzhou;
+計策 < stratagem;
+底線 < underline;
+閃電 < lightning;
+引渡 < extradite;
+保護者 < protector;
+教母 < godmother;
+文明 < civilized;
+偽君子 < hypocryte;
+直覺 < intuition;
+壁燈 < wall\-lamp;
+發音 < pronounce;
+厘克 < centigram;
+馬蹄鐵 < horseshoe;
+擔架床 < stretcher;
+無籟 < scoundrel;
+加深 < to\-deepen;
+執行 < implement;
+雹暴 < hailstorm;
+確信 < confident;
+那樣 < that\-kind;
+公里 < kilometer;
+誠摯 < sincerely;
+差距 < disparity;
+不亦樂乎 < extremely;
+襯裙 < petticoat;
+鰾膠 < isinglass;
+按照字面 < literally;
+證件 < paperwork;
+細菌 < bacterial;
+蒼天 < firmament;
+三分之一 < one\-third;
+緩沖 < to\-buffer;
+選派 < set\-apart;
+不完善 < imperfect;
+大志 < high\-aims;
+輔音 < consonant;
+張揚 < publicize;
+解碼 < to\-decode;
+播種 < sow\-seeds;
+化學 < chemistry;
+報紙 < newspaper;
+無知 < ignorance;
+接駁 < to\-access;
+不可救藥 < incurable;
+很多 < very\-many;
+耶路撒冷 < jerusalem;
+雙方 < bilateral;
+晴雨表 < barometer;
+千禧年 < millenium;
+長遠 < long\-term;
+千周 < kilohertz;
+過濾 < to\-filter;
+褻瀆的話 < blasphemy;
+奇妙 < fantastic;
+冰蓋 < ice\-sheet;
+國內戰爭 < civil\-war;
+危地馬拉 < guatamala;
+遙測 < telemetry;
+接班人 < successor;
+農舍 < farmhouse;
+剪貼簿 < scrapbook;
+偉晶岩 < pegmatite;
+紅蓮 < red\-lotus;
+指示符 < indicator;
+共識 < consensus;
+加密後的 < encrypted;
+有攻擊性 < offensive;
+大小 < dimension;
+惡名昭彰 < notorious;
+保惠師 < comforter;
+大家 < authority;
+爭取 < fight\-for;
+每天 < every\-day;
+經濟學家 < economist;
+攻擊 < to\-attack;
+紅茶 < black\-tea;
+文字 < character;
+常綠 < evergreen;
+殘廢 < deformity;
+隱晦 < obscurity;
+建築師 < architect;
+照樣 < as\-before;
+方向 < direction;
+焰火 < fireworks;
+救恩 < salvation;
+阿空加瓜 < aconcagua;
+加拉太書 < galatians;
+後勤 < logistics;
+委員會 < committee;
+網際色情 < cyberporn;
+辦罪 < to\-punish;
+要緊 < important;
+民主 < democracy;
+務實 < pragmatic;
+推銷 < to\-market;
+彙報 < to\-report;
+要素 < essential;
+航海者 < navigator;
+夢境 < dreamland;
+課堂 < classroom;
+報界 < the\-press;
+十七 < seventeen;
+火藥 < gunpowder;
+診斷 < diagnosis;
+毫克 < milligram;
+副本 < duplicate;
+花粉過敏 < hay\-fever;
+廣播 < broadcast;
+敗局 < lost\-game;
+郊外 < outskirts;
+白蠟 < white\-wax;
+出現 < to\-appear;
+冰糕 < ice\-cream;
+允許 < to\-permit;
+小吃店 < snack\-bar;
+後代 < posterity;
+維士卡 < visa\-card;
+為時過早 < premature;
+聯合組織 < syndicate;
+構造 < structure;
+齳 < toothless;
+齭 < toothache;
+好奇心 < curiosity;
+勾劃 < to\-sketch;
+人物描寫 < portrayal;
+增援 < reinforce;
+無比 < matchless;
+教士 < churchman;
+次數 < frequency;
+大力 < energetic;
+政治性 < political;
+滑鼠墊 < mouse\-pad;
+壯大 < to\-expand;
+鷾 < a\-swallow;
+鷭 < water\-hen;
+拜物教 < fetishism;
+遵循 < to\-follow;
+鷥 < the\-egret;
+適意 < agreeable;
+鷏 < bird\-name;
+鶡 < crossbill;
+調停 < reconcile;
+鵷 < co\-worker;
+干涉 < interfere;
+鳢 < snakehead;
+社會主義者 < socialist;
+低速率 < low\-speed;
+鲎 < king\-crab;
+鱷 < crocodile;
+勤勉 < diligence;
+款待 < entertain;
+令人欽佩 < admirable;
+鯠 < to\-confer;
+發芽 < germinate;
+鮦 < snakefish;
+撥正 < set\-right;
+魞 < fish\-trap;
+阿奇里斯 < aeschylus;
+壽命 < life\-span;
+鬖 < wild\-hair;
+髧 < long\-hair;
+髗 < the\-skull;
+提摩太后書 < 2\-timothy;
+骭 < shin\-bone;
+政治局 < politburo;
+經文 < scripture;
+零售商 < tradesman;
+敲入 < to\-key\-in;
+隊形 < formation;
+騧 < tan\-horse;
+騐 < to\-verity;
+天上 < celestial;
+駸 < galloping;
+政治家 < statesman;
+饠 < rice\-cake;
+辦理 < to\-handle;
+餱 < dry\-goods;
+安全帶 < seat\-belt;
+孟加拉語 < bengalese;
+註定 < be\-doomed;
+無數 < countless;
+收回 < to\-regain;
+外交 < diplomacy;
+過度 < exceeding;
+操持 < to\-manage;
+登廣告 < advertise;
+檢測 < to\-detect;
+矮凳 < low\-stool;
+階層 < hierarchy;
+靪 < to\-cobble;
+香檳酒 < champagne;
+靧 < wash\-face;
+至高 < paramount;
+靀 < drizzling;
+排行 < seniority;
+霂 < fine\-rain;
+前往 < leave\-for;
+教儀 < ordinance;
+機械裝置 < machinery;
+隃 < to\-exceed;
+墳墓 < sepulcher;
+綜合性 < synthesis;
+公秉 < kiloliter;
+阻撓 < to\-thwart;
+傳送 < to\-convey;
+閺 < look\-down;
+遺囑 < testament;
+歡呼 < cheer\-for;
+锫 < berkelium;
+锆 < zirconium;
+钶 < columbium;
+遊客 < traveller;
+钌 < ruthenium;
+摁釘兒 < thumbtack;
+钁 < a\-mattock;
+文具商 < stationer;
+新加坡 < singapore;
+城牆 < city\-wall;
+內碼 < to\-encode;
+鐻 < drumstick;
+摧殘 < to\-ravage;
+撞擊 < to\-strike;
+加劇 < aggravate;
+鏛 < to\-polish;
+阻抗 < impedance;
+捐贈 < to\-donate;
+自願 < voluntary;
+鎿 < neptunium;
+樹皮 < tree\-bark;
+鎞 < plowshare;
+隨員 < attendant;
+光筆 < light\-pen;
+報攤 < newsstand;
+出於 < be\-due\-to;
+無形 < invisible;
+裝置 < equipment;
+鈌 < to\-pierce;
+故事 < narrative;
+共產 < communist;
+推翻 < overthrow;
+領事館 < consulate;
+園藝 < gardening;
+劃分 < to\-divide;
+傳記 < biography;
+迷惑 < to\-puzzle;
+加上 < to\-put\-in;
+輘 < a\-car\-rut;
+通宵 < overnight;
+軄 < to\-govern;
+躔 < follow\-in;
+廣傳 < propagate;
+發生 < to\-happen;
+跩 < to\-waddle;
+超聯結 < hyperlink;
+趝 < to\-pursue;
+赿 < late\-slow;
+組成 < component;
+接管 < take\-over;
+豵 < young\-pig;
+總會會長 < president;
+隆冬 < midwinter;
+凹度 < concavity;
+漫長 < very\-long;
+界面 < interface;
+創作 < to\-create;
+到目前為止 < until\-now;
+譊 < wrangling;
+譅 < wriggling;
+諝 < knowledge;
+毫無疑問 < certainty;
+綜合 < composite;
+披露 < to\-reveal;
+看待 < look\-upon;
+陷入 < sink\-into;
+衰落 < decompose;
+撥奏 < pizzicato;
+迫害 < persecute;
+進化 < evolution;
+流行性感冒 < influenza;
+裲 < waistcoat;
+辯才 < eloquence;
+自負 < conceited;
+螌 < a\-striped;
+市政 < municipal;
+儼然 < just\-like;
+保皇黨 < royalists;
+絕妙 < exquisite;
+東北方 < northeast;
+投降 < surrender;
+簽章 < signature;
+蘞 < wild\-vine;
+綁匪 < kidnapper;
+無力 < powerless;
+好萊塢 < hollywood;
+擔保 < guarantee;
+推理 < reasoning;
+蕗 < leucacene;
+因而 < therefore;
+逆向 < backwards;
+蓆 < straw\-mat;
+按蚊 < anopheles;
+樣機 < prototype;
+蒢 < hedysarum;
+刨冰 < water\-ice;
+帶寬 < bandwidth;
+葓 < vegetable;
+異議 < objection;
+規定 < provision;
+展開 < to\-unfold;
+輪流 < alternate;
+持久性 < constancy;
+傳統 < tradition;
+偏見 < prejudice;
+白血病 < leukaemia;
+全世界 < worldwide;
+地理 < geography;
+地球 < the\-earth;
+苙 < a\-pig\-sty;
+芼 < to\-choose;
+降低 < to\-reduce;
+保險 < insurance;
+保障 < to\-ensure;
+艣 < stern\-oar;
+場合 < situation;
+艎 < fast\-boat;
+報告 < to\-inform;
+舝 < linch\-pin;
+舘 < a\-mansion;
+臯 < to\-praise;
+澳大利亞 < australia;
+公斗 < decaliter;
+返回 < return\-to;
+大寫鎖定 < caps\-lock;
+分割 < to\-cut\-up;
+胦 < the\-navel;
+扁骨 < flat\-bone;
+耥 < farm\-tool;
+羶 < rank\-odor;
+保鏢 < bodyguard;
+跑錶 < stopwatch;
+紙夾 < paperclip;
+罁 < a\-cistern;
+發明 < to\-invent;
+模擬 < imitation;
+半工半讀 < part\-work;
+激發 < to\-arouse;
+再度 < once\-more;
+糾察 < to\-picket;
+拷花 < to\-emboss;
+我們自己 < ourselves;
+潛艇 < submarine;
+迷住 < fascinate;
+艾炷 < moxa\-cone;
+囚禁 < captivity;
+緥 < swaddling;
+羅徹斯特 < rochester;
+便門 < side\-door;
+抗議者 < protester;
+衣帽間 < cloakroom;
+一匹馬 < one\-horse;
+有時候 < sometimes;
+糰 < rice\-ball;
+糝 < scattered;
+候選人 < candidate;
+管弦樂團 < orchestra;
+向北地 < northward;
+籨 < trousseau;
+下決心 < determine;
+規勸 < to\-advise;
+表皮 < epidermis;
+表白 < vindicate;
+白日做夢 < day\-dream;
+竕 < deciliter;
+保證人 < guarantor;
+竆 < exhausted;
+看做 < regard\-as;
+窋 < in\-a\-hole;
+稬 < glutinous;
+上星期 < last\-week;
+兇手 < assailant;
+寬頻 < broadband;
+西南 < southwest;
+西北 < northwest;
+礽 < blessings;
+礞 < \(mineral\);
+精巧 < elaborate;
+第二十 < twentieth;
+嶄新 < brand\-new;
+碆 < arrow\-tip;
+打進 < to\-breach;
+砬 < big\-stone;
+公寸 < decimeter;
+公寓 < apartment;
+常任 < permanent;
+光彩 < honorable;
+睡過頭 < oversleep;
+指示 < point\-out;
+眕 < restraint;
+病理 < pathology;
+任何其他 < any\-other;
+辛勞 < laborious;
+損壞 < to\-damage;
+瘭 < a\-whitlow;
+瘜 < a\-polypus;
+巴勒斯坦 < palestine;
+痡 < a\-disease;
+利未記 < leviticus;
+童子軍 < boy\-scout;
+畱 < to\-detain;
+嘉許 < favorable;
+畋 < till\-land;
+八天 < eight\-day;
+甦 < be\-reborn;
+瓸 < hectogram;
+拒絕 < to\-refuse;
+要不 < otherwise;
+璿 < fine\-jade;
+標定 < demarcate;
+瑴 < twin\-gems;
+瑣 < fragments;
+輻射 < radiation;
+四十六 < forty\-six;
+排放 < discharge;
+體現 < to\-embody;
+衰減 < to\-weaken;
+籃板 < backboard;
+在﹍旁邊 < alongside;
+馬鞭 < horsewhip;
+獀 < to\-gather;
+第九十 < ninetieth;
+狳 < armadillo;
+燶 < to\-scorch;
+畢竟 < after\-all;
+熿 < brilliant;
+先見之明 < foresight;
+低階 < low\-level;
+所謂 < so\-called;
+潰爛 < to\-fester;
+儲存 < stockpile;
+車前燈 < headlight;
+濩 < pour\-down;
+掛念 < concerned;
+宇航員 < astronaut;
+轟動 < sensation;
+臺燈 < desk\-lamp;
+使困窘 < embarrass;
+湼 < black\-mud;
+湅 < boil\-silk;
+淩 < pass\-over;
+實質 < substance;
+隨之而後 < from\-that;
+涷 < rainstorm;
+洑 < whirlpool;
+巧克力 < chocolate;
+有雄心 < ambitious;
+殈 < infertile;
+欕 < tree\-name;
+植物 < botanical;
+空防 < air\-force;
+入侵 < to\-invade;
+處理器 < processor;
+主管人員 < executive;
+橚 < tall\-tree;
+公丈 < decameter;
+輸出 < to\-export;
+榪 < headboard;
+知更鳥 < redbreast;
+啟示者 < revelator;
+輸入 < to\-import;
+等等 < et\-cetera;
+第三十 < thirtieth;
+棖 < door\-stop;
+梜 < chopstick;
+激怒 < infuriate;
+栱 < large\-peg;
+栭 < king\-post;
+栒 < cross\-bar;
+停泊 < anchorage;
+柈 < container;
+枙 < tree\-knot;
+白鎢礦 < scheelite;
+朞 < full\-year;
+手提包 < \(hand\)bag;
+技術性 < technical;
+漲潮 < high\-tide;
+暍 < sunstroke;
+家譜 < genealogy;
+驚異 < amazement;
+輔助 < to\-assist;
+旪 < united\-in;
+提供 < to\-supply;
+不誠實 < dishonest;
+豌豆粥 < pea\-gruel;
+變流器 < converter;
+攋 < to\-clutch;
+攃 < preceding;
+擐 < to\-put\-on;
+體操 < gymnastic;
+摽 < throw\-out;
+提摩太前書 < 1\-timothy;
+摮 < to\-rattle;
+揥 < scratcher;
+便箋 < notepaper;
+聖餐 < sacrament;
+財務秘書 < treasurer;
+批發 < wholesale;
+趕緊 < hurriedly;
+扳道員 < pointsman;
+扤 < to\-thrust;
+骨架 < framework;
+戜 < to\-scrape;
+偵探 < detective;
+兩星期 < fortnight;
+挑戰 < challenge;
+格式化 < to\-format;
+被告 < defendant;
+波利尼西亞 < polynesia;
+悁 < irritable;
+恑 < to\-change;
+怺 < to\-endure;
+怞 < to\-grieve;
+怗 < observant;
+採石場 < stone\-pit;
+加勒比 < caribbean;
+電報機 < telegraph;
+貝類 < shellfish;
+在內 < including;
+拿手 < expert\-in;
+工作表 < worksheet;
+暴風雪 < snowstorm;
+竊聽 < eavesdrop;
+廾 < two\-hands;
+庉 < a\-village;
+幩 < trappings;
+幙 < a\-curtain;
+宿舍 < dormitory;
+山水 < landscape;
+四天 < four\-days;
+挺好 < very\-good;
+簽入 < to\-log\-on;
+馬背 < horseback;
+驕氣 < arrogance;
+疑心 < suspicion;
+渺茫 < uncertain;
+寽 < a\-handful;
+文字檔 < text\-file;
+寘 < put\-aside;
+激動 < to\-excite;
+嫛 < compliant;
+媬 < governess;
+媕 < undecided;
+添補 < fill\-\(up\);
+貿易戰 < trade\-war;
+奉承者 < flatterer;
+生育能力 < fertility;
+修正 < to\-revise;
+指揮者 < conductor;
+夌 < to\-dawdle;
+某處 < somewhere;
+塝 < flat\-bank;
+參考書 < reference;
+共享軟體 < shareware;
+貨輪 < freighter;
+半衰期 < half\-life;
+圊 < rest\-room;
+體團 < community;
+抵抗 < to\-resist;
+不受歡迎 < unwelcome;
+噁 < nastiness;
+颱風 < hurricane;
+嘑 < to\-menace;
+拉斐特 < lafayette;
+贖罪 < atonement;
+寵物 < house\-pet;
+聖誕 < christmas;
+哫 < to\-cajole;
+咵 < to\-revile;
+不結果 < fruitless;
+呧 < to\-rebuke;
+假定 < to\-assume;
+申請人 < applicant;
+行動 < operation;
+主體 < main\-part;
+手法 < technique;
+消遣 < amusement;
+出版者 < publisher;
+叅 < to\-counel;
+厓 < precipice;
+凹凸印刷 < embossing;
+就業 < get\-a\-job;
+疆域 < territory;
+本星期 < this\-week;
+匘 < the\-brain;
+勩 < work\-hard;
+怪不得 < no\-wonder;
+撒都該人 < sadducees;
+承擔 < undertake;
+刔 < scoop\-out;
+膽小 < cowardice;
+凷 < dirt\-clod;
+凙 < an\-icicle;
+創造力 < ingenuity;
+屬性 < attribute;
+兇 < atrocious;
+主頁 < home\-page;
+可容忍 < tolerable;
+會面 < meet\-with;
+傺 < to\-hinder;
+成為 < to\-become;
+交誼 < communion;
+圖書管理員 < librarian;
+基本上 < basically;
+侎 < to\-soothe;
+伻 < messenger;
+伋 < deceptive;
+潛力 < potential;
+稻草人 < scarecrow;
+學童 < schoolboy;
+多用戶 < multiuser;
+自動 < automatic;
+共產主義 < communism;
+䶳 < to\-lookup;
+䶑 < to\-sneeze;
+蠕動 < to\-wiggle;
+打敗 < to\-defeat;
+豪豬 < porcupine;
+不以為然 < object\-to;
+䳺 < the\-quail;
+流量 < flow\-rate;
+䲨 < wild\-swan;
+社會主義 < socialism;
+䱈 < fish\-pulp;
+䰥 < a\-cyclone;
+賜給 < to\-bestow;
+蜜月假期 < honeymoon;
+䯦 < tiny\-bone;
+䮜 < to\-gallop;
+招募 < to\-recuit;
+䭬 < to\-kowtow;
+對於 < regarding;
+䭛 < tasteless;
+䭑 < incorrupt;
+同班同學 < classmate;
+䬶 < to\-strave;
+䫻 < a\-typhoon;
+䫔 < a\-servant;
+上面 < on\-top\-of;
+羽毛球 < badminton;
+䩦 < the\-reins;
+五號 < the\-fifth;
+䨭 < the\-skies;
+䨍 < deep\-pond;
+䦵 < incapable;
+䦬 < a\-vacancy;
+䦆 < a\-big\-hoe;
+拆卸 < to\-unload;
+救護車 < ambulance;
+蛋白 < egg\-white;
+第十六 < sixteenth;
+䢱 < to\-slight;
+䢟 < to\-travel;
+吞食 < to\-devour;
+䢍 < to\-hasten;
+使生氣 < displease;
+胃炎 < gastritis;
+對抗 < withstand;
+䠲 < to\-listen;
+䠯 < to\-ascend;
+䠮 < to\-prance;
+䟻 < bare\-feet;
+䟞 < to\-falter;
+不公正 < injustice;
+脫掉 < strip\-off;
+香港 < hong\-kong;
+䟌 < diverging;
+䞼 < to\-escape;
+䞒 < red\-color;
+䞐 < plentiful;
+䞉 < a\-surplus;
+䜭 < to\-dredge;
+實時 < real\-time;
+肺炎 < pneumonia;
+䜟 < to\-verify;
+光射線 < light\-ray;
+䛻 < to\-induce;
+䛹 < to\-accuse;
+䛳 < to\-malign;
+䛬 < baby\-talk;
+䛪 < loquacity;
+䛋 < to\-scheme;
+䛁 < to\-murmur;
+慶祝 < celebrate;
+䙸 < to\-obtain;
+外國人 < foreigner;
+䘼 < stockings;
+宰殺 < slaughter;
+第十五 < fifteenth;
+䘑 < the\-pulse;
+䕩 < dry\-fruit;
+浪蕩 < to\-loiter;
+䔳 < chickling;
+䓰 < absinthin;
+某物 < something;
+䒊 < a\-patient;
+䑪 < a\-sailing;
+䑓 < a\-lookout;
+津貼 < allowance;
+䐺 < delicious;
+䐛 < to\-loosen;
+䐆 < big\-belly;
+䏽 < meat\-pulp;
+䏬 < the\-spine;
+䏠 < meat\-soup;
+䏞 < the\-belly;
+肝炎 < hepatitis;
+䎡 < to\-shrink;
+消耗 < to\-use\-up;
+䎃 < fine\-down;
+阿根廷 < argentina;
+䍎 < a\-spindle;
+䌲 < light\-red;
+䌛 < entourage;
+䋠 < to\-repair;
+䊰 < foodstuff;
+䊜 < dumplings;
+䉼 < materials;
+上載 < to\-upload;
+蘭花 < cymbidium;
+書記 < secretary;
+浪船 < swingboat;
+偽善者 < hypocrite;
+䇐 < to\-arrive;
+小寫 < lowercase;
+䆐 < a\-country;
+螺旋槳 < propeller;
+用具 < appliance;
+古風 < antiquity;
+䅃 < late\-crop;
+安歇 < go\-to\-bed;
+䃩 < a\-mineral;
+家族 < household;
+䃕 < stoneware;
+自動樓梯 < escalator;
+緊急事件 < emergency;
+䃀 < millstone;
+何故 < wherefore;
+腳印 < footprint;
+瓷器 < chinaware;
+貯水處 < reservoir;
+䁐 < deep\-eyed;
+童年 < childhood;
+印度尼西亞 < indonesia;
+半流體 < semifluid;
+䀬 < to\-glance;
+䀡 < to\-spy\-on;
+䀐 < to\-regard;
+起床 < to\-get\-up;
+㿿 < wine\-cups;
+民主主義者 < democrats;
+㿟 < he\-bright;
+征服者 < conqueror;
+㾥 < bellyache;
+㾣 < to\-shiver;
+今生 < this\-life;
+捕鼠器 < mousetrap;
+㽞 < to\-remain;
+㽉 < a\-big\-jar;
+㼺 < porcelain;
+變色龍 < chameleon;
+㼚 < earthware;
+對抗者 < adversary;
+本職 < one''s\-job;
+退黑激素 < melatonin;
+背斜 < anticline;
+暴躁 < irascible;
+池鹽 < lake\-salt;
+薄油層 < oil\-sheet;
+不許 < not\-allow;
+商標 < trademark;
+飯碗 < rice\-bowl;
+無知覺 < senseless;
+晤面 < interview;
+重開 < to\-reopen;
+㵔 < not\-clear;
+變革 < transform;
+㴁 < to\-add\-to;
+白云母 < muscovite;
+㳨 < to\-splash;
+截奪 < intercept;
+彫刻品 < sculpture;
+深水 < deepwater;
+㰖 < the\-olive;
+㯺 < a\-cabinet;
+變焦距鏡頭 < zoom\-lens;
+㯯 < small\-cup;
+㯝 < paulownia;
+㮙 < a\-pitfall;
+㭢 < mechanics;
+起始 < originate;
+㬿 < moonlight;
+祇讀 < read\-only;
+㬫 < clear\-sky;
+一千噸 < 1000\-tons;
+不規則 < irregular;
+波狀雲 < undulatus;
+學會 < institute;
+㪈 < to\-let\-go;
+㩒 < to\-arrest;
+㩇 < the\-thumb;
+㨶 < to\-thresh;
+㨉 < to\-smooth;
+㧩 < to\-dispel;
+㧗 < to\-clatch;
+僚 < officials;
+㦯 < a\-certain;
+㦖 < resentful;
+㥾 < mortified;
+㥳 < to\-survey;
+㥦 < satisfied;
+㥀 < exclusive;
+㤵 < copassion;
+末端 < extremity;
+㤇 < terrified;
+㤆 < nauseated;
+㣺 < the\-heart;
+瓜分 < partition;
+㢡 < to\-exhort;
+㡼 < a\-granary;
+㡺 < a\-cottage;
+㡗 < red\-paper;
+㠘 < an\-island;
+涌現 < spring\-up;
+禮節 < etiquette;
+變醜 < disfigure;
+㜻 < to\-admire;
+蜂巢 < honeycomb;
+㜘 < delicated;
+㜏 < last\-name;
+中美 < china\-usa;
+㛾 < not\-clean;
+暗語 < code\-word;
+擴音器 < megaphone;
+不見了 < disappear;
+㚰 < an\-embryo;
+㚛 < corpulent;
+㚘 < a\-partner;
+重蹈 < to\-repeat;
+㘣 < compasses;
+㗳 < forgetful;
+九月份 < september;
+超文本 < hypertext;
+基督教徒 < christian;
+㕹 < a\-buckler;
+㕕 < deception;
+㕑 < a\-kitchen;
+休戰 < armistice;
+㕋 < rock\-land;
+㕈 < to\-linger;
+㔧 < to\-incite;
+讀書人 < a\-scholar;
+㓋 < to\-freeze;
+㓄 < to\-plough;
+叛賣 < to\-betray;
+㑧 < perturbed;
+㑄 < to\-insult;
+㐯 < to\-employ;
+伸展 < extension;
+一致 < unanimous;
+引用句 < quotation;
+老牌 < old\-brand;
+妖風 < evil\-wind;
+錶帶 < watchband;
+減少 < to\-lessen;
+有益 < wholesome;
+立刻 < forthwith;
+八倍體 < octoploid;
+深思 < to\-ponder;
+野蠻 < barbarous;
+財東 < shopowner;
+虛構 < imaginary;
+被禁止 < forbidden;
+聯想 < associate;
+浸沒 < immersion;
+淒慘 < miserable;
+一篇 < one\-sided;
+介質訪問控制層 < mac\-layer;
+不自然 < unnatural;
+期滿 < to\-expire;
+警覺 < vigilance;
+原諒 < to\-excuse;
+家俱 < furniture;
+高科技 < high\-tech;
+感染 < infection;
+孔子 < confucius;
+亞格門農 < agamemnon;
+家事 < housework;
+怪物似 < monstrous;
+冰棍兒 < ice\-lolly;
+今年 < this\-year;
+白班兒 < day\-shift;
+一百 < a\-hundred;
+仲夏 < midsummer;
+證詞 < testimony;
+不逞之徒 < desperado;
+突出 < prominent;
+星期三 < wednesday;
+惡毒 < malicious;
+野蠻人 < barbarian;
+十字軍 < crusaders;
+露韓 < to\-expose;
+法國人 < frenchman;
+五千噸 < 5000\-tons;
+影響 < influence;
+暴發 < break\-out;
+應付 < deal\-with;
+有毒 < poisonous;
+弱鹼 < weak\-base;
+汽船 < steamboat;
+遇難船 < shipwreck;
+可笑 < laughable;
+半載 < half\-load;
+微軟 < microsoft;
+仙境 < fairyland;
+旨趣 < objective;
+大類 < main\-type;
+本文 < this\-text;
+羊皮紙 < parchment;
+憤憤不平 < indignant;
+營養 < nutrition;
+反艦艇 < anti\-ship;
+協議 < agreement;
+那麼 < so\-\(much\);
+必需品 < necessity;
+碧藍 < dark\-blue;
+待遇 < treatment;
+下個星期 < next\-week;
+合理 < rationale;
+玩弄 < resort\-to;
+旁路 < to\-bypass;
+夜間 < nighttime;
+比鄰 < neighbour;
+書架 < bookshelf;
+有效 < effective;
+缽盂 < alms\-bowl;
+石灰石 < limestone;
+資助 < subsidize;
+歷史學家 < historian;
+修道院 < monastery;
+上次 < last\-time;
+望遠鏡 < telescope;
+擺設兒 < ornaments;
+五天 < five\-days;
+心靈上 < spiritual;
+旁觀 < spectator;
+堅忍不拔 < fortitude;
+介入 < intervene;
+以上 < more\-than;
+矛頭 < spearhead;
+夢遺 < wet\-dream;
+天文學 < astronomy;
+巴比妥 < barbitone;
+波段 < wave\-band;
+離開 < to\-depart;
+實質上 < virtually;
+吐氣 < aspirated;
+東南 < southeast;
+奇觀 < spectacle;
+改革 < to\-reform;
+愛國 < patriotic;
+不斷 < unceasing;
+未婚 < unmarried;
+弱酸 < weak\-acid;
+乘客 < passenger;
+配置 < to\-deploy;
+失調 < imbalance;
+本壘 < home\-base;
+人事 < personnel;
+有意識 < conscious;
+書店 < bookstore;
+受害者 < casulties;
+不完美 < defective;
+司機 < chauffeur;
+東亞 < east\-asia;
+合格 < qualified;
+情緒化 < emotional;
+耐力 < endurance;
+支持者 < supporter;
+明確 < clear\-cut;
+不惜 < not\-stint;
+借書單 < book\-slip;
+主婦 < housewife;
+表意文字 < ideograph;
+通貨膨脹 < inflation;
+玩具 < plaything;
+電話 < telephone;
+施肥 < fertilize;
+第八十 < eightieth;
+里程碑 < milestone;
+不已 < endlessly;
+雜貨 < groceries;
+木匠 < carpenter;
+醬油 < soy\-sauce;
+不情願 < unwilling;
+觸鬚 < tentacles;
+下定義 < to\-define;
+擦音 < fricative;
+周圍 < encompass;
+對不起 < i''m\-sorry;
+不對 < incorrect;
+心目 < mentality;
+可敬 < venerable;
+大荳 < soya\-bean;
+𢥞 < same\-as\-忡;
+假象牙 < celluloid;
+降落傘 < parachute;
+波幅 < amplitude;
+右手 < righthand;
+流入 < flow\-into;
+注射 < injection;
+硬盤 < hard\-disk;
+功課 < classwork;
+週長 < perimeter;
+購買者 < purchaser;
+大教堂 < cathedral;
+組織者 < organizer;
+婚姻 < matrimony;
+不在 < not\-be\-in;
+丙種射線 < gamma\-ray;
+鞭毛 < flagellum;
+撫養 < to\-foster;
+刪除 < to\-delete;
+遠足 < excursion;
+無限 < unlimited;
+頑強 < tenacious;
+無關 < unrelated;
+蒸發 < evaporate;
+古怪 < eccentric;
+得當 < expedient;
+油布 < tarpaulin;
+下唇 < lower\-lip;
+上唇 < upper\-lip;
+聖迭哥 < san\-diego;
+頁心 < type\-page;
+污染 < pollution;
+意氣相投 < congenial;
+長方形 < rectangle;
+前途 < prospects;
+熊蜂 < bumblebee;
+總結 < summarize;
+吸取 < to\-absorb;
+週邊 < periphery;
+年限 < age\-limit;
+下列 < following;
+題名 < autograph;
+多端 < multiport;
+效能 < efficient;
+灰獵犬 < greyhound;
+獲暴利者 < profiteer;
+不停 < incessant;
+大砲 < artillery;
+不值 < not\-worth;
+沙岩 < sandstone;
+波及 < spread\-to;
+微波 < microwave;
+無辜 < innocence;
+次要 < secondary;
+不予 < not\-grant;
+去年 < last\-year;
+不了 < unable\-to;
+韌性 < toughness;
+版權 < copyright;
+向南 < southward;
+民歌 < folk\-song;
+即時 < immediate;
+習慣性 < customary;
+幸運 < fortunate;
+美中 < usa\-china;
+熟練 < practiced;
+念 < think\-of;
+会 < assemble;
+学 < learning;
+徒 < disciple;
+睦 < friendly;
+无 < negative;
+方 < a\-square;
+前 < in\-front;
+眉 < eyebrows;
+省 < province;
+直 < straight;
+廢 < abrogate;
+盛 < abundant;
+軒 < carriage;
+全 < maintain;
+廊 < corridor;
+皺 < wrinkles;
+康 < peaceful;
+间 < midpoint;
+躊 < hesitate;
+第 < sequence;
+幻 < illusion;
+癇 < epilepsy;
+山 < mountain;
+巾 < kerchief;
+巧 < skillful;
+距 < distance;
+界 < boundary;
+任 < trust\-to;
+台 < platform;
+象 < elephant;
+题 < forehead;
+賢 < virtuous;
+資 < property;
+貼 < paste\-to;
+費 < expenses;
+履 < footwear;
+武 < military;
+琲 < necklace;
+尠 < very\-few;
+完 < complete;
+即 < promptly;
+寵 < favorite;
+语 < language;
+珍 < precious;
+商 < commerce;
+宝 < treasure;
+千 < thousand;
+宜 < suitable;
+官 < official;
+站 < stand\-up;
+譬 < metaphor;
+香 < fragrant;
+似 < resemble;
+嬢 < troubled;
+虽 < although;
+且 < moreover;
+调 < transfer;
+嫉 < jealousy;
+狃 < to\-covet;
+嫁 < to\-marry;
+媚 < charming;
+誘 < persuade;
+誄 < eulogize;
+詳 < detailed;
+詰 < question;
+惊 < frighten;
+支 < disperse;
+突 < suddenly;
+評 < appraise;
+娠 < pregnant;
+句 < sentence;
+显 < manifest;
+增 < increase;
+料 < consider;
+妊 < conceive;
+续 < continue;
+炭 < charcoal;
+围 < surround;
+災 < calamity;
+塚 < cemetery;
+瀕 < approach;
+濺 < sprinkle;
+濯 < wash\-out;
+垣 < low\-wall;
+习 < practice;
+垂 < let\-down;
+坂 < hillside;
+祖 < ancestor;
+优 < superior;
+滯 < block\-up;
+溢 < overflow;
+温 < lukewarm;
+蚊 < mosquito;
+鹸 < alkaline;
+噪 < be\-noisy;
+嘲 < ridicule;
+減 < decrease;
+嘔 < to\-vomit;
+恩 < kindness;
+脱 < take\-off;
+涸 < dried\-up;
+喪 < mourning;
+奔 < run\-fast;
+涌 < surge\-up;
+禁 < restrict;
+浮 < to\-float;
+互 < mutually;
+搞 < to\-clear;
+朱 < cinnabar;
+域 < district;
+材 < material;
+偷 < to\-steal;
+蓉 < hibiscus;
+抽 < draw\-out;
+仪 < ceremony;
+卸 < lay\-down;
+忆 < remember;
+隔 < separate;
+卓 < profound;
+损 < diminish;
+茄 < eggplant;
+勿 < must\-not;
+髭 < mustache;
+遥 < far\-away;
+櫛 < comb\-out;
+币 < currency;
+勉 < endeavor;
+骸 < skeleton;
+努 < to\-exert;
+萍 < duckweed;
+樅 < fir\-tree;
+缩 < contract;
+臥 < lie\-down;
+慕 < long\-for;
+臣 < minister;
+挡 < obstruct;
+膜 < membrane;
+榛 < hazelnut;
+俊 < talented;
+枝 < branches;
+陷 < submerge;
+勒 < strangle;
+聊 < somewhat;
+飾 < decorate;
+斜 < slanting;
+斐 < graceful;
+梟 < owl\-thus;
+傘 < umbrella;
+亭 < pavilion;
+泛 < to\-drift;
+符 < i\.d\.\-tag;
+允 < to\-grant;
+跨 < straddle;
+掩 < to\-cover;
+頃 < a\-moment;
+柴 < firewood;
+俯 < bow\-down;
+俥 < rickshaw;
+邻 < neighbor;
+驾 < to\-drive;
+羞 < disgrace;
+裤 < trousers;
+估 < merchant;
+鞘 < scabbard;
+咐 < instruct;
+恒 < constant;
+糟 < sediment;
+扮 < dress\-up;
+曜 < glorious;
+暢 < smoothly;
+押 < mortgage;
+戚 < relative;
+穆 < majestic;
+嘻 < mirthful;
+並 < equal\-to;
+昔 < formerly;
+闘 < struggle;
+瞪 < stare\-at;
+斥 < to\-scold;
+剪 < scissors;
+姚 < handsome;
+掏 < take\-out;
+間 < interval;
+惹 < irritate;
+簿 < register;
+芷 < angelica;
+磁 < magnetic;
+毅 < resolute;
+笥 < a\-hamper;
+拘 < restrain;
+伐 < cut\-down;
+竊 < secretly;
+銘 < inscribe;
+愉 < pleasant;
+窜 < run\-away;
+寨 < stockade;
+戻 < perverse;
+沪 < shanghai;
+釜 < cauldron;
+嗤 < laugh\-at;
+娱 < pleasure;
+禄 < blessing;
+愕 < startled;
+啡 < morphine;
+囚 < prisoner;
+账 < accounts;
+瓷 < crockery;
+腥 < raw\-meat;
+咸 < together;
+疫 < epidemic;
+啪 < syllable;
+膨 < to\-swell;
+吱 < chirping;
+菌 < mushroom;
+琐 < trifling;
+苟 < careless;
+崛 < towering;
+凸 < protrude;
+嘀 < backbite;
+铐 < shackles;
+谕 < proclaim;
+迸 < gush\-out;
+剔 < pick\-out;
+冀 < hope\-for;
+砚 < inkstone;
+捍 < ward\-off;
+臀 < buttocks;
+倔 < stubborn;
+奄 < ere\-long;
+侥 < be\-lucky;
+梵 < buddhist;
+褥 < mattress;
+晖 < sunshine;
+畴 < farmland;
+瞟 < glare\-at;
+瘸 < lameness;
+澎 < splatter;
+潦 < to\-flood;
+偎 < cling\-to;
+蝎 < scorpion;
+簸 < winnower;
+庶 < numerous;
+撂 < put\-down;
+晗 < pre\-dawn;
+蹊 < footpath;
+阉 < castrate;
+淆 < confused;
+萦 < entangle;
+榆 < elm\-tree;
+猝 < abruptly;
+曦 < sunlight;
+渤 < swelling;
+辘 < windlass;
+铝 < aluminum;
+捋 < to\-pluck;
+虻 < horsefly;
+瞌 < doze\-off;
+亟 < urgently;
+徨 < doubtful;
+啐 < to\-taste;
+镯 < bracelet;
+刽 < amputate;
+藻 < splendid;
+惰 < indolent;
+燔 < to\-roast;
+涝 < inundate;
+绛 < deep\-red;
+氯 < chlorine;
+坍 < collapse;
+忐 < timorous;
+殡 < encoffin;
+昵 < intimate;
+俟 < wait\-for;
+桢 < hardwood;
+黏 < stick\-to;
+痘 < smallpox;
+槟 < betelnut;
+韭 < scallion;
+蔫 < withered;
+膂 < backbone;
+胫 < shinbone;
+臃 < swell\-up;
+岌 < perilous;
+玎 < jingling;
+隼 < aquiline;
+陲 < frontier;
+谶 < prophecy;
+偻 < humpback;
+铂 < platinum;
+纛 < a\-banner;
+铬 < chromium;
+胰 < pancreas;
+覃 < reach\-to;
+睾 < testicle;
+倨 < arrogant;
+讣 < obituary;
+钛 < titanium;
+浃 < saturate;
+旖 < romantic;
+缙 < red\-silk;
+衾 < coverlet;
+宸 < imperial;
+佞 < flattery;
+蛔 < tapeworm;
+氅 < overcoat;
+氟 < fluorine;
+氰 < cyanogen;
+鲟 < sturgeon;
+硒 < selenium;
+舨 < a\-sampan;
+烊 < to\-smelt;
+萱 < day\-lily;
+疸 < jaundice;
+铊 < thallium;
+诂 < exegesis;
+雉 < pheasant;
+颢 < luminous;
+栀 < gardenia;
+诒 < bequeath;
+颟 < dawdling;
+苋 < amaranth;
+瀣 < sea\-mist;
+箝 < tweezers;
+楮 < mulberry;
+遄 < to\-hurry;
+钒 < vanadium;
+苷 < licorice;
+钨 < tungsten;
+埸 < a\-border;
+嫒 < daughter;
+癜 < erythema;
+鸹 < the\-crow;
+曛 < twilight;
+骘 < stallion;
+坻 < an\-islet;
+觫 < to\-start;
+铵 < ammonium;
+氩 < argonium;
+卣 < wine\-pot;
+锑 < antimony;
+醛 < aldehyde;
+钽 < tantalum;
+砼 < concrete;
+熘 < to\-steam;
+窨 < a\-cellar;
+栲 < mangrove;
+鲣 < skipjack;
+铷 < rubidium;
+铕 < europium;
+钋 < polonium;
+砑 < to\-grind;
+洫 < to\-ditch;
+埚 < crucible;
+垤 < ant\-hill;
+卺 < winecups;
+嘏 < felicity;
+鲽 < flatfish;
+鲭 < mackerel;
+钪 < scandium;
+钫 < francium;
+钐 < samarium;
+祓 < exorcise;
+栳 < a\-basket;
+吲 < smile\-at;
+莰 < camphane;
+芴 < fluorene;
+赜 < abstruse;
+改編 < to\-adapt;
+白內障 < cataract;
+壓緊 < compress;
+醫學 < medicine;
+吞併 < to\-annex;
+靈活 < flexible;
+大篷車 < schooner;
+文獻 < document;
+外用 < external;
+監護人 < guardian;
+邊線 < sideline;
+正統 < orthodox;
+斯洛伐克 < slovakia;
+頻仍 < frequent;
+緯線 < latitude;
+不合適 < improper;
+無誤 < verified;
+日曆 < calendar;
+剝落 < peel\-off;
+預卜 < foretell;
+謹慎 < cautious;
+茶館 < teahouse;
+企業間網路 < extranet;
+觀察者 < observer;
+鳥籠 < birdcage;
+建築 < building;
+藥劑士 < druggist;
+不信任 < mistrust;
+建立 < creation;
+因特網 < internet;
+心手 < new\-hand;
+冰隙 < crevasse;
+霸權 < hegemony;
+危急 < critical;
+隙縫 < aperture;
+對稱性 < symmetry;
+親身 < personal;
+確定 < definite;
+檢測器 < detector;
+終身 < lifelong;
+魔術師 < magician;
+記者 < reporter;
+規避 < to\-evade;
+牧師 < chaplain;
+收益 < earnings;
+平行 < parallel;
+忠實 < faithful;
+步發 < footwork;
+分裂 < split\-up;
+新書 < new\-book;
+不朽的 < immortal;
+口交 < oral\-sex;
+創立 < to\-found;
+煤箱 < coal\-box;
+油炸圈餅 < doughnut;
+缺乏 < shortage;
+日後 < sometime;
+歷史性 < historic;
+因﹍之故 < inasmuch;
+災難 < disaster;
+徹底 < thorough;
+檸檬水 < lemonade;
+鱉裙 < calipash;
+警句 < aphorism;
+早已 < long\-ago;
+破曉 < daybreak;
+雨滴 < raindrop;
+以太網 < ethernet;
+明天 < tomorrow;
+妖孽 < evildoer;
+電氣 < electric;
+酬報 < to\-repay;
+負重擔 < burdened;
+遺產 < heritage;
+硬度 < hardness;
+無聊 < nonsense;
+橫過 < traverse;
+雍容大度 < generous;
+征戰 < campaign;
+課本 < textbook;
+凋謝 < languish;
+十二月 < december;
+計算 < to\-count;
+開除 < to\-expel;
+纖巧 < delicate;
+擦網球 < net\-ball;
+無縫 < seamless;
+冠軍 < champion;
+准許 < to\-allow;
+電梯 < elevator;
+蓋層 < cap\-rock;
+面對 < confront;
+無線 < wireless;
+聖保羅 < st\.\-paul;
+通紅 < very\-red;
+包抄 < outflank;
+辨認 < identify;
+原來 < original;
+好好兒地 < properly;
+多數 < majority;
+物品 < articles;
+政治 < politics;
+半夜 < midnight;
+新年 < new\-year;
+旅客 < traveler;
+逼真 < lifelike;
+騎士氣概 < chivalry;
+西裡爾 < cyrillic;
+公釐 < decigram;
+殺戮 < massacre;
+艾德蕾德 < adelaide;
+力氣 < strength;
+內部 < interior;
+繡帷 < tapestry;
+太忙 < too\-busy;
+睡眠 < sleeping;
+十四 < fourteen;
+常坐汽車者 < motorist;
+平等 < equality;
+包層 < cladding;
+汽車展覽會 < car\-show;
+再見 < good\-bye;
+可擦寫 < erasable;
+免費軟件 < freeware;
+危亡 < at\-stake;
+巧計 < maneuver;
+著手 < commence;
+桃花心木 < mahogany;
+盲腸 < appendix;
+牧羊者 < shepherd;
+支柱 < mainstay;
+形容 < describe;
+無疑 < no\-doubt;
+強悍 < valliant;
+粗野 < insolent;
+袋鼠 < kangaroo;
+軟體 < software;
+新型 < new\-type;
+培育 < to\-train;
+煤油 < kerosene;
+加時 < overtime;
+標準規格 < standard;
+光輝 < radiance;
+復元 < recovery;
+十八 < eighteen;
+多少 < how\-much;
+十克 < decagram;
+地雷 < landmine;
+如今 < nowadays;
+邪惡 < sinister;
+無論何時 < whenever;
+觀看 < to\-watch;
+得分 < to\-score;
+筆記本 < notebook;
+軀體 < the\-body;
+硬件 < hardware;
+天堂 < paradise;
+薰衣草 < lavender;
+十九 < nineteen;
+光譜 < spectrum;
+補遺 < addendum;
+遠東 < far\-east;
+幾乎沒有 < scarcely;
+十三 < thirteen;
+不必要 < needless;
+機能 < function;
+蒙古 < mongolia;
+牧師之職 < ministry;
+遠景 < prospect;
+紐約 < new\-york;
+提議 < proposal;
+進步 < progress;
+電報 < telegram;
+請願書 < petition;
+車間 < workshop;
+往來 < dealings;
+引導 < to\-guide;
+龓 < a\-halter;
+裝貨 < shipping;
+力度 < dynamism;
+投資者 < investor;
+過於 < too\-much;
+鼚 < drumming;
+監禁 < imprison;
+冰窖 < icehouse;
+堂皇 < imposing;
+麮 < porridge;
+省略 < omission;
+六十四萬 < 64\-0\-000;
+寄生物 < parasite;
+肯塔基 < kentucky;
+母係 < maternal;
+柬埔寨 < cambodia;
+鵙 < a\-shrike;
+採買 < purchase;
+輕視 < contempt;
+精致 < delicacy;
+鳮 < chickens;
+遲延 < to\-delay;
+鲺 < cat\-fish;
+攜帶 < to\-carry;
+延展 < to\-scale;
+鯺 < blowfish;
+一小時 < one\-hour;
+部位 < position;
+蒙托羅拉 < motorola;
+人行道 < sidewalk;
+鬋 < forelock;
+鬀 < to\-shave;
+髵 < whiskers;
+內置 < internal;
+限期 < deadline;
+安全性 < security;
+髎 < hip\-bone;
+記憶 < memories;
+遷就 < to\-yield;
+強勁 < powerful;
+殺人 < homicide;
+再保証 < reassure;
+駦 < to\-mount;
+馩 < aromatic;
+人工流產 < abortion;
+剛性 < rigidity;
+餫 < dumpling;
+餩 < hiccough;
+餟 < libation;
+餙 < to\-adorn;
+颱 < taiphoon;
+勃勃 < thriving;
+擁擠 < to\-crowd;
+授課 < to\-teach;
+解散 < dissolve;
+韡 < gorgeous;
+韠 < knee\-pad;
+陰性 < feminine;
+靺 < stocking;
+動作 < movement;
+雞尾酒 < cocktail;
+敦促 < to\-press;
+霨 < clouding;
+橄欖球 < football;
+雇員 < employee;
+瀉藥 < laxative;
+換置 < displace;
+平底鍋 < saucepan;
+紀念碑 < monument;
+圖謀 < conspire;
+董事 < director;
+動人 < touching;
+阸 < distress;
+阻擊 < to\-check;
+補花 < applique;
+镥 < lutetium;
+塗抹 < to\-smear;
+裝船 < shipment;
+欺壓 < to\-bully;
+荒涼 < desolate;
+凹板 < intaglio;
+劣勢 < inferior;
+喇叭水仙 < daffodil;
+分數 < fraction;
+壓力 < pressure;
+那個 < that\-one;
+無情 < pitiless;
+擦寫 < to\-erase;
+壓制 < suppress;
+精確 < accurate;
+鍩 < nobelium;
+鍚 < frontlet;
+侵入者 < intruder;
+經常 < everyday;
+錒 < actinium;
+改革者 < reformer;
+步兵 < infantry;
+銍 < a\-sickle;
+平房 < bungalow;
+冰涼 < ice\-cold;
+企業內網路 < intranet;
+幻想 < delusion;
+序幕 < prologue;
+醆 < wine\-cup;
+醃 < marinate;
+酲 < hangover;
+鄈 < slippers;
+避免 < to\-avert;
+場所 < location;
+邅 < hesitant;
+雇主 < employer;
+揭發 < disclose;
+迻 < to\-shift;
+傳訊 < subpoena;
+評估 < evaluate;
+手提箱 < suitcase;
+偽造 < to\-forge;
+火牆 < firewall;
+轊 < axle\-tip;
+輬 < a\-hearse;
+凶手 < murderer;
+不同意 < disagree;
+共和國 < republic;
+無害 < harmless;
+軟膏 < ointment;
+蹾 < to\-squat;
+掌聲 < applause;
+表觀 < apparent;
+蹧 < to\-spoil;
+埋沒 < oblivion;
+平常 < ordinary;
+踦 < the\-shin;
+拔除 < pull\-out;
+增加 < to\-raise;
+跂 < creeping;
+無論何事 < anything;
+摩擦 < friction;
+覺得 < to\-think;
+高貴 < grandeur;
+棒磨機 < rod\-mill;
+充當 < serve\-as;
+為時 < timewise;
+達到 < to\-reach;
+豎 < vertical;
+西方 < the\-west;
+精力充沛 < vigorous;
+譹 < to\-shout;
+通報 < bulletin;
+撥子 < plectrum;
+抗體 < antibody;
+臨近 < close\-to;
+莫大 < greatest;
+哥倫布紀 < columbus;
+切實 < feasible;
+諆 < to\-cheat;
+詋 < to\-curse;
+詊 < pleasing;
+分子 < molecule;
+相應 < relevant;
+左輪手槍 < revolver;
+阻塞 < to\-block;
+襶 < ignorant;
+絕對 < absolute;
+襫 < raincoat;
+分娩 < delivery;
+管道 < pipeline;
+哥倫比亞 < colombia;
+遊伴 < playmate;
+工業 < industry;
+冰排 < ice\-raft;
+進入 < to\-enter;
+小夜曲 < serenade;
+小標題 < subtitle;
+路面 < pavement;
+蝟 < hedgehog;
+蝏 < \(insect\);
+撒母耳記下 < 2\-samuel;
+撒母耳記上 < 1\-samuel;
+有機體 < organism;
+直徑 < diameter;
+無名 < nameless;
+堵塞 < blockage;
+撤回 < withdraw;
+蚳 < ant\-eggs;
+經典 < classics;
+死衚衕 < dead\-end;
+騰騰 < steaming;
+交響曲 < symphony;
+逼人 < pressing;
+無助 < helpless;
+採用 < to\-adopt;
+已故 < the\-late;
+發汗 < to\-sweat;
+國立 < national;
+時間表 < schedule;
+蔉 < earth\-up;
+箴言 < proverbs;
+補爐 < fettling;
+自製 < homemade;
+葖 < follicle;
+頭向前 < headlong;
+阻力 < obstacle;
+探險者 < explorer;
+蠕蠕 < wiggling;
+艩 < tholepin;
+送別 < farewell;
+艌 < to\-caulk;
+無人 < unmanned;
+公斤 < kilogram;
+君主政治 < monarchy;
+受難者 < sufferer;
+抽象 < abstract;
+出口 < to\-speak;
+脰 < the\-neck;
+親善 < goodwill;
+興致 < interest;
+途中 < en\-route;
+肏 < copulate;
+間接 < indirect;
+鐵路 < railroad;
+搬弄 < move\-sth;
+巴拉圭 < paraguay;
+標本 < specimen;
+第一步 < step\-one;
+調味汁 < dressing;
+退位 < abdicate;
+罇 < a\-goblet;
+逃亡 < fugitive;
+戰鬥 < to\-fight;
+統一 < to\-unify;
+刑事 < criminal;
+數據庫 < database;
+縿 < streamer;
+縴 < tow\-line;
+債權人 < creditor;
+衝突 < conflict;
+追上 < overtake;
+綯 < to\-braid;
+綪 < dark\-red;
+航空 < aviation;
+修辭 < rhetoric;
+濾液 < filtrate;
+人口稠密 < populous;
+紞 < a\-fringe;
+對面 < opposite;
+函件 < letteres;
+弟兄們 < brethren;
+小說家 < novelist;
+籣 < bow\-case;
+簬 < \(bamboo\);
+馴鹿 < reindeer;
+驚訝 < confound;
+捕獲 < to\-catch;
+採樣 < sampling;
+純品 < sterling;
+近來 < recently;
+秏 < to\-waste;
+第五十 < fiftieth;
+三明治 < sandwich;
+寺院 < cloister;
+答話 < to\-reply;
+催化劑 < catalyst;
+火山 < volcanic;
+其實 < actually;
+生詞 < new\-word;
+磟 < mediocre;
+梵語 < sanskrit;
+碏 < coloured;
+便道 < shortcut;
+消費者 < consumer;
+寧靜 < tranquil;
+砹 < astatine;
+矋 < to\-stare;
+封鎖 < blockade;
+俯視 < overlook;
+瞓 < to\-sleep;
+睏 < be\-tired;
+引人注目 < striking;
+睅 < big\-eyed;
+濕氣 < moisture;
+盬 < salt\-pit;
+阿奇歷斯 < achilles;
+精密 < accuracy;
+茶匙 < teaspoon;
+兄弟 < brothers;
+癒 < get\-well;
+癃 < weakness;
+瘼 < sickness;
+瘶 < to\-cough;
+瘰 < scrofula;
+興盛 < flourish;
+倘若 < provided;
+關係 < relation;
+發射 < to\-shoot;
+瓩 < kilowatt;
+琫 < ornament;
+採掘 < excavate;
+越過 < to\-cross;
+珷 < \/2\-pr\-st;
+兵器 < weaponry;
+拔節 < jointing;
+演習 < exercise;
+奧德修斯 < odysseus;
+紊亂 < disorder;
+跳舞 < to\-dance;
+犎 < the\-zebu;
+牳 < \(bovine\);
+範疇 < category;
+兵員 < soldiers;
+滲色 < bleeding;
+熤 < \(person\);
+蛋黃 < egg\-yolk;
+焌 < to\-light;
+炤 < illumine;
+背面 < the\-back;
+瀡 < slippery;
+坦桑尼亞 < tanzania;
+輔導 < to\-coach;
+寶貴 < valuable;
+潎 < rippling;
+入口 < entrance;
+湢 < bathroom;
+開創 < initiate;
+侵蝕 < to\-erode;
+扁蟲 < flatworm;
+經陸路 < overland;
+容量 < capacity;
+描圖 < to\-trace;
+四月十七號 < april\-17;
+赤足 < barefoot;
+泐 < to\-write;
+沍 < freezing;
+在戶外 < outdoors;
+氉 < restless;
+毾 < a\-coarse;
+毻 < to\-moult;
+不顧一切 < reckless;
+殽 < mixed\-up;
+製品 < products;
+共享 < to\-share;
+欛 < a\-handle;
+擦棒球 < foul\-tip;
+櫃 < cupboard;
+公主 < princess;
+提名 < nominate;
+四方 < four\-way;
+中世紀 < medieval;
+樚 < a\-pulley;
+粗厲 < abrasive;
+傾聽者 < listener;
+椄 < to\-graft;
+梱 < doorsill;
+接收器 < receiver;
+勢如破竹 < sweeping;
+自治 < autonomy;
+高架 < overhead;
+困惑 < bewilder;
+柤 < hawthorn;
+枻 < long\-oar;
+笑聲 < laughter;
+農家庭院 < farmyard;
+松鼠 < squirrel;
+家庭作業 < homework;
+先令 < shilling;
+渠道 < channels;
+昡 < long\-day;
+校訂 < revision;
+旘 < a\-pennon;
+棒球 < baseball;
+優先 < priority;
+敪 < to\-weigh;
+攞 < to\-split;
+擩 < to\-stain;
+噴泉 < fountain;
+摷 < to\-knock;
+搵 < wipe\-off;
+搲 < to\-seize;
+搋 < to\-thump;
+揰 < poke\-out;
+揜 < cover\-up;
+軍士 < sergeant;
+揌 < to\-shake;
+衣廚 < wardrobe;
+拑 < to\-clamp;
+份量 < quantity;
+扅 < gate\-bar;
+應該 < ought\-to;
+採光 < lighting;
+懕 < satiated;
+憪 < composed;
+葡萄牙 < portugal;
+裁判 < judgment;
+即將來臨 < imminent;
+慫 < to\-alarm;
+慅 < agitated;
+慁 < dishonor;
+人類 < humanity;
+估計 < estimate;
+惔 < cheerful;
+坐下 < sit\-down;
+回家 < homeward;
+使者 < emissary;
+恝 < carefree;
+打破 < to\-break;
+恌 < to\-worry;
+假期 < vacation;
+不正常 < abnormal;
+衣子 < covering;
+音樂光碟 < music\-cd;
+軼事 < anecdote;
+廤 < to\-place;
+抱歉 < be\-sorry;
+極好 < fabulous;
+極大 < enormous;
+界標 < landmark;
+不透氣 < airtight;
+五彩賓紛 < colorful;
+帵 < remnants;
+節慶 < festival;
+暖氣機 < radiator;
+嶭 < elevated;
+阿肯色 < arkansas;
+神學研究所 < seminary;
+鬧區 < downtown;
+岊 < foothill;
+鼓吹者 < advocate;
+侵略 < invasion;
+併紗 < doubling;
+病夫 < sick\-man;
+授予 < to\-award;
+地下室 < basement;
+國內 < domestic;
+宬 < archives;
+嬬 < mistress;
+簡化 < simplify;
+漢密爾頓 < hamilton;
+買通 < to\-bribe;
+冒犯者 < offender;
+姦 < adultery;
+篡奪 < to\-usurp;
+臨床 < clinical;
+保真度 < fidelity;
+栽種 < to\-plant;
+戰略 < strategy;
+園丁 < gardener;
+本體 < noumenon;
+人造 < man\-made;
+語言學家 < linguist;
+居民 < resident;
+腳步 < footstep;
+埼 < headland;
+拼字 < spelling;
+東部 < the\-east;
+不體面 < shameful;
+高地 < highland;
+固件 < firmware;
+龍頭老大 < big\-boss;
+腓利門書 < philemon;
+鑲嵌 < to\-inlay;
+業務 < business;
+倍數 < multiple;
+對照 < contrast;
+囮 < inveigle;
+肩膀 < shoulder;
+身份 < identity;
+嗃 < to\-flute;
+就此 < and\-thus;
+埃塞俄比亞 < ethiopia;
+啇 < to\-stalk;
+筆架 < pen\-rack;
+唥 < a\-bundle;
+生日 < birthday;
+呠 < to\-spurt;
+鐘擺 < pendulum;
+小衝突 < skirmish;
+叒 < obedient;
+厵 < a\-spring;
+抱怨 < complain;
+卼 < unsteady;
+卹 < sympathy;
+學習 < to\-learn;
+折扣 < discount;
+勌 < to\-labor;
+劻 < flurried;
+懸疑 < suspense;
+劙 < a\-divide;
+懷疑 < to\-doubt;
+當天 < that\-day;
+剟 < to\-prick;
+鍵盤 < keyboard;
+凥 < to\-dwell;
+冇 < have\-not;
+排水渠 < drainage;
+巴基斯坦 < pakistan;
+麻醉劑 < narcotic;
+僃 < prepared;
+家用 < home\-use;
+佴 < a\-second;
+被侵害 < stricken;
+致力 < work\-for;
+五角 < pentagon;
+䶲 < the\-edge;
+䵲 < raw\-hemp;
+䵚 < kaoliang;
+䵓 < the\-mole;
+䵉 < abutilon;
+䴻 < dry\-food;
+䴫 < antelope;
+房東 < landlord;
+䴚 < saltpond;
+䳻 < an\-eagle;
+修建 < to\-build;
+䲖 < big\-fish;
+計算機 < computer;
+突發 < outburst;
+䰟 < the\-soul;
+䯪 < big\-head;
+信徒 < believer;
+䯚 < the\-ribs;
+䯉 < to\-choke;
+白木耳 < tremella;
+打掃 < to\-clean;
+技工 < mechanic;
+持久 < duration;
+䭱 < a\-little;
+風車 < windmill;
+獨裁者 < dictator;
+䬉 < hot\-wind;
+䫷 < the\-jowl;
+手提 < portable;
+不靈 < not\-work;
+䫃 < the\-lips;
+䪶 < the\-chin;
+䪩 < to\-chant;
+䪜 < a\-shield;
+䪑 < to\-stick;
+䪅 < a\-quiver;
+䩠 < a\-girdle;
+䩉 < the\-face;
+䩈 < a\-plumpy;
+䨼 < dyestuff;
+生存 < to\-exist;
+賦稅 < taxation;
+䧫 < a\-trench;
+䧁 < to\-leave;
+浴衣 < bathrobe;
+一面 < one\-side;
+䥭 < evidence;
+恐龍 < dinosaur;
+記錄員 < recorder;
+䤿 < to\-carve;
+䤶 < a\-hammer;
+䤳 < a\-mirrow;
+巴巴多斯 < barbados;
+䤫 < a\-chisel;
+䤐 < to\-drink;
+畫像 < portrait;
+當作 < treat\-as;
+禮貌 < courtesy;
+䢐 < to\-go\-to;
+蘇格蘭 < scotland;
+信封 < envelope;
+䠾 < to\-dodge;
+䠬 < insomnia;
+䠞 < wrinkled;
+聲稱 < to\-claim;
+䠁 < to\-go\-up;
+䟸 < the\-calf;
+對手 < opponent;
+信守 < abide\-by;
+䞮 < to\-crawl;
+聖約 < covenant;
+校正 < regulate;
+䝂 < to\-erect;
+䜬 < a\-cavern;
+䜘 < to\-guard;
+䜐 < to\-libel;
+䜃 < to\-blame;
+䛒 < to\-argue;
+重點 < emphasis;
+䛇 < to\-laugh;
+䚷 < to\-treat;
+䚯 < to\-quell;
+聽眾 < audience;
+葡萄園 < vineyard;
+䘫 < old\-rags;
+䘜 < a\-napkin;
+䘉 < silkworm;
+騎師 < horseman;
+秧苗 < seedling;
+䗘 < a\-weevil;
+䗈 < a\-gadfly;
+使興奮 < exciting;
+䗇 < the\-toad;
+䖻 < ephemera;
+䖤 < to\-creep;
+䖛 < of\-tiger;
+第十一 < eleventh;
+恭順 < deferent;
+鍵槽 < key\-slot;
+購物 < shopping;
+單據 < receipts;
+會變 < variable;
+䓕 < polygala;
+䒳 < a\-flower;
+少年 < juvenile;
+騙子 < swindler;
+聯盟 < alliance;
+䑘 < to\-pound;
+䑃 < dim\-moon;
+䐒 < not\-fine;
+方程式 < equation;
+路口 < crossing;
+䏟 < fat\-meat;
+處罰 < penalize;
+䏉 < to\-waver;
+䏈 < to\-unite;
+金魚 < goldfish;
+䎲 < ear\-lobe;
+䎣 < a\-plough;
+彫刻家 < sculptor;
+䌷 < a\-thread;
+䌯 < a\-truban;
+䌫 < a\-hawser;
+含量 < contents;
+䌃 < raw\-silk;
+阿托品 < atropine;
+䋡 < to\-relax;
+䋃 < stinging;
+䊸 < to\-twist;
+䊝 < to\-exile;
+用功 < diligent;
+䊁 < leavings;
+䉻 < red\-rice;
+䉱 < a\-cradle;
+䉒 < a\-winnow;
+䈶 < an\-arrow;
+地區性 < regional;
+䇌 < to\-stand;
+䆸 < spacious;
+筆名 < pen\-name;
+佛教 < buddhism;
+可靠 < reliable;
+三角形 < triangle;
+寓所 < dwelling;
+䃑 < speckles;
+䁥 < to\-blink;
+䁜 < big\-eyes;
+由余 < owing\-to;
+䀈 < a\-vessel;
+㿢 < to\-shine;
+㿡 < a\-helmet;
+㿈 < an\-ulcer;
+㿅 < ringworm;
+㾸 < a\-scabby;
+頁面 < web\-page;
+㾍 < diseases;
+㽹 < to\-faint;
+渴望 < desirous;
+本能 < instinct;
+嗜好 < fondness;
+終端用戶 < end\-user;
+墨水瓶架 < inkstand;
+㺚 < an\-otter;
+誘拐者 < abductor;
+缺陷 < a\-defect;
+㺇 < a\-warden;
+㹸 < the\-lion;
+蛋殼 < eggshell;
+戲劇性 < dramatic;
+懲罰性 < punitive;
+㸝 < a\-shovel;
+八角楓 < alangium;
+㷀 < solitary;
+㶼 < very\-hot;
+㴶 < to\-water;
+滑冰 < to\-skate;
+㴊 < an\-abyss;
+㳫 < repeated;
+㳒 < statutes;
+北海道 < hokkaido;
+㲷 < nitrogen;
+㲳 < to\-touch;
+宗教 < religion;
+低成本 < low\-cost;
+㱿 < the\-husk;
+㱺 < the\-skin;
+㱢 < the\-dead;
+㱗 < a\-breath;
+命脈 < lifeline;
+乃至 < and\-even;
+租稅 < land\-tax;
+不行 < won''t\-do;
+守時 < punctual;
+㮭 < a\-casket;
+暗轉 < blackout;
+打印 < to\-print;
+㬧 < a\-collar;
+明信片 < postcard;
+救贖主 < redeemer;
+㫽 < darkness;
+㪐 < unstable;
+貂皮 < mink\-fur;
+㩨 < to\-crack;
+㩓 < to\-wound;
+醫院 < hospital;
+㨓 < to\-close;
+㨁 < to\-throw;
+㧵 < to\-exact;
+㧱 < to\-bring;
+泳衣 < swimsuit;
+㦿 < a\-window;
+淚水 < teardrop;
+生命力 < vitality;
+㥰 < mournful;
+㥁 < morality;
+㤮 < an\-error;
+㤏 < grievous;
+肉桂 < cinnamon;
+㣫 < the\-heel;
+減掉 < subtract;
+㣞 < to\-walki;
+鼻炎 < rhinitis;
+㠹 < a\-turban;
+產量多 < fruitful;
+看守者 < watchman;
+㠊 < a\-rugged;
+法利賽人 < pharisee;
+㞷 < luxuiant;
+向西 < westward;
+叛逆 < to\-rebel;
+㞑 < the\-tail;
+㞉 < big\-foot;
+㝭 < to\-awake;
+㝘 < harmonoy;
+㜶 < a\-couple;
+戰區 < war\-zone;
+叱責 < reproach;
+佔領者 < occupant;
+科羅拉多 < colorado;
+貞潔 < chastity;
+㙢 < a\-trowel;
+㙃 < a\-cavity;
+栗子 < chestnut;
+㘙 < to\-groan;
+㘀 < to\-sound;
+中繼 < to\-relay;
+㗪 < mouthful;
+㗜 < to\-smell;
+㗉 < incisive;
+㖩 < not\-pure;
+㕼 < to\-brawl;
+鎮區 < township;
+㕛 < a\-friend;
+㕐 < inclined;
+㕊 < to\-slant;
+板油 < leaf\-fat;
+匪徒集團 < gangster;
+㓓 < thin\-ice;
+㒹 < to\-upset;
+懸垂 < overhang;
+射頻噪音 < rf\-noise;
+酒鬼 < drunkard;
+不肖 < unworthy;
+班機 < airliner;
+㐜 < an\-enemy;
+使吃驚 < astonish;
+窗子 < casement;
+應對 < response;
+交流 < exchange;
+叛變 < renegade;
+戰事 < fighting;
+幸存者 < survivor;
+人道主義 < humanism;
+一心一意 < intently;
+櫻花草 < primrose;
+核准 < sanction;
+星期四 < thursday;
+決定性 < decisive;
+日耳曼 < germanic;
+譴責 < denounce;
+案件 < law\-case;
+幾何學 < geometry;
+姻親 < affinity;
+村民 < villager;
+慷慨 < vehement;
+論點 < argument;
+傾向於 < prone\-to;
+黃瓜 < cucumber;
+暗自 < inwardly;
+懊喪 < dejected;
+稀有 < uncommon;
+飛機 < airplane;
+室友 < roommate;
+貶抑 < belittle;
+背包 < knapsack;
+精神錯亂 < insanity;
+黨派 < partisan;
+子層 < sublayer;
+飲料 < beverage;
+三月二十一號 < march\-21;
+人手 < manpower;
+星期六 < saturday;
+防守者 < defender;
+二月 < february;
+沒落 < downfall;
+含碳 < carbonic;
+嘉年華會 < carnival;
+最為 < the\-most;
+博茨瓦納 < botswana;
+不用 < need\-not;
+風水 < fengshui;
+水路 < waterway;
+子女 < children;
+事故 < accident;
+刺激物 < stimulus;
+壟斷販賣 < monopoly;
+不獨 < not\-only;
+奧克拉荷馬 < oklahoma;
+孵化 < breeding;
+鞭蟲 < whipworm;
+不爽 < not\-well;
+保加利亞 < bulgaria;
+懂事 < sensible;
+食慾 < appetite;
+震驚 < to\-shock;
+吸煙 < to\-smoke;
+謝謝 < to\-thank;
+不濟 < not\-good;
+頭痛 < headache;
+暗盒 < magazine;
+中止 < to\-cease;
+講話 < a\-speech;
+林地 < woodland;
+架勢 < attitude;
+貴族身份 < lordship;
+不信用 < distrust;
+太長 < oversize;
+勢頭 < momentum;
+愚弄 < derision;
+往還 < contacts;
+礦產 < minerals;
+提供諸 < provider;
+爐邊 < fireside;
+肌肉發達 < muscular;
+工程師 < engineer;
+變種 < mutation;
+中繼器 < repeater;
+論述 < treatise;
+洋琵琶 < mandolin;
+聖化 < sanctify;
+惡作劇 < mischief;
+重申 < reaffirm;
+暴洪 < a\-sudden;
+子午線 < meridian;
+製作者 < producer;
+不在乎 < not\-mind;
+餡兒 < stuffing;
+音樂家 < musician;
+使麻痺 < paralyze;
+千字節 < kilobyte;
+變阻器 < theostat;
+流感疫苗 < flu\-shot;
+海外 < overseas;
+王家 < princely;
+哨兵 < sentinel;
+想家 < homesick;
+買主 < customer;
+預測 < forecast;
+美日 < us\-japan;
+負債 < indebted;
+雨量 < rainfall;
+司法 < judicial;
+女房東 < landlady;
+工作過度 < overwork;
+加長 < lengthen;
+吐棄 < to\-spurn;
+處分 < disposal;
+日美 < japan\-us;
+增高 < heighten;
+遲頓 < inactive;
+財主 < rich\-man;
+夢話 < daydream;
+提供者 < supplier;
+不懈 < untiring;
+最少 < smallest;
+堅固性 < firmness;
+護照 < passport;
+主宰 < dominate;
+夢見 < to\-dream;
+不怕 < fearless;
+沖洗 < to\-rinse;
+不很 < not\-very;
+白化病 < albinism;
+剷除 < root\-out;
+神性 < divinity;
+總裁 < chairman;
+沉浸 < permeate;
+第六十 < sixtieth;
+美德 < a\-virtue;
+雄辯 < eloquent;
+點名 < rollcall;
+豪俠 < cavalier;
+文明化 < civilize;
+外號 < nickname;
+海上 < maritime;
+熱誠 < devotion;
+合成 < compound;
+外交官 < diplomat;
+同意 < to\-agree;
+向後 < backward;
+服務 < to\-serve;
+民眾 < populace;
+威望 < prestige;
+活動 < activity;
+叛教 < apostacy;
+白雲石 < dolomite;
+大能 < almighty;
+時機 < occasion;
+反映 < reaction;
+文職 < civilian;
+婚嫁 < marriage;
+君子 < nobleman;
+特派 < dispatch;
+使習慣 < accustom;
+一團 < regiment;
+播音 < transmit;
+台座 < pedestal;
+過載 < overload;
+祖國 < homeland;
+泰國 < thailand;
+解開 < to\-untie;
+愛因斯坦 < einstein;
+暗室 < darkroom;
+奶牛 < milk\-cow;
+冰晶石 < cryolite;
+年青 < youthful;
+一周 < one\-week;
+一向 < all\-long;
+曝光 < exposure;
+不小心 < heedless;
+納稅人 < taxpayer;
+無論何處 < anywhere;
+再出現 < reappear;
+一匙 < spoonful;
+研究 < research;
+怠惰 < idleness;
+包皮 < wrapping;
+靠背椅 < armchair;
+奉現 < offering;
+不倦 < tireless;
+操作者 < operator;
+訂購 < to\-order;
+絲狀物 < filament;
+斑白 < grizzled;
+暴力 < violence;
+警惕 < vigilant;
+波動 < undulate;
+奇特 < peculiar;
+忠於 < loyal\-to;
+發明家 < inventor;
+選舉 < to\-elect;
+大西洋 < atlantic;
+韌帶 < ligament;
+迷 < bewitch;
+述 < narrate;
+迥 < distant;
+中 < central;
+志 < purpose;
+迎 < receive;
+忌 < jealous;
+和 < harmony;
+辯 < dispute;
+去 < go\-away;
+对 < correct;
+瞠 < look\-at;
+律 < statute;
+役 < service;
+張 < stretch;
+已 < already;
+弘 < enlarge;
+引 < to\-pull;
+弔 < condole;
+較 < compare;
+意 < thought;
+进 < advance;
+盡 < exhaust;
+廉 < upright;
+情 < feeling;
+皰 < pimples;
+庖 < kitchen;
+躓 < stumble;
+庄 < village;
+并 < combine;
+蹠 < step\-on;
+癖 < craving;
+幕 < curtain;
+代 < replace;
+師 < teacher;
+总 < collect;
+痴 < foolish;
+华 < flowery;
+症 < disease;
+病 < illness;
+反 < reverse;
+疎 < neglect;
+务 < affairs;
+崩 < rupture;
+特 < special;
+服 < clothes;
+賽 < compete;
+賑 < relieve;
+科 < section;
+豫 < relaxed;
+联 < connect;
+保 < protect;
+革 < leather;
+尊 < respect;
+品 < article;
+尉 < officer;
+士 < scholar;
+量 < measure;
+程 < journey;
+審 < examine;
+极 < extreme;
+令 < command;
+未 < not\-yet;
+持 < sustain;
+历 < history;
+宣 < declare;
+宗 < lineage;
+议 < consult;
+率 < to\-lead;
+委 < appoint;
+兵 < soldier;
+孔 < opening;
+謹 < prudent;
+講 < explain;
+格 < pattern;
+諸 < several;
+諦 < careful;
+怕 < to\-fear;
+狡 < cunning;
+准 < approve;
+精 < essence;
+竟 < finally;
+誠 < sincere;
+整 < orderly;
+婉 < amiable;
+备 < prepare;
+另 < another;
+陈 < exhibit;
+故 < ancient;
+訛 < swindle;
+託 < entrust;
+訊 < inquire;
+爆 < crackle;
+批 < comment;
+送 < see\-off;
+奇 < strange;
+燕 < swallow;
+燈 < lantern;
+游 < to\-swim;
+份 < portion;
+敢 < to\-dare;
+煽 < stir\-up;
+朝 < dynasty;
+育 < produce;
+图 < diagram;
+刘 < surname;
+夕 < evening;
+承 < inherit;
+乡 < country;
+裁 < cut\-out;
+演 < perform;
+袂 < sleeves;
+衰 < decline;
+塞 < stop\-up;
+景 < scenery;
+蠢 < wriggle;
+依 < rely\-on;
+瀝 < trickle;
+胜 < victory;
+濡 < immerse;
+濟 < to\-help;
+蟋 < cricket;
+漆 < varnish;
+漁 < to\-fish;
+散 < scatter;
+蛆 < maggots;
+曲 < crooked;
+溶 < to\-melt;
+厂 < factory;
+肯 < willing;
+抓 < scratch;
+虫 < insects;
+湧 < well\-up;
+靠 < lean\-on;
+授 < give\-to;
+渇 < thirsty;
+淺 < shallow;
+淫 < obscene;
+鷄 < chicken;
+嗇 < miserly;
+抱 < embrace;
+睛 < eyeball;
+括 < include;
+降 < descend;
+私 < private;
+蔑 < disdain;
+泡 < bubbles;
+闹 < quarrel;
+醒 < wake\-up;
+沌 < chaotic;
+暴 < violent;
+抢 < plunder;
+篇 < chapter;
+鱈 < codfish;
+诸 < various;
+叭 < trumpet;
+叙 < express;
+厭 < dislike;
+雅 < elegant;
+雷 < thunder;
+竞 < contend;
+操 < conduct;
+诺 < promise;
+匆 < hastily;
+欅 < zelkova;
+苺 < berries;
+苗 < sprouts;
+碰 < collide;
+苑 < pasture;
+仿 < imitate;
+機 < machine;
+栏 < railing;
+刈 < cut\-off;
+狠 < vicious;
+映 < project;
+忠 < loyalty;
+扎 < pull\-up;
+腹 < stomach;
+舒 < open\-up;
+凶 < culprit;
+慰 < comfort;
+餘 < surplus;
+撒 < release;
+愁 < anxiety;
+斤 < a\-catty;
+僑 < sojourn;
+扶 < support;
+毁 < destroy;
+械 < weapons;
+违 < disobey;
+丢 < discard;
+肆 < indulge;
+绕 < entwine;
+聳 < urge\-on;
+舰 < warship;
+恼 < angered;
+辣 < peppery;
+旋 < revolve;
+倉 < granary;
+罚 < penalty;
+拾 < pick\-up;
+恢 < restore;
+翁 < old\-man;
+羽 < feather;
+抖 < tremble;
+侯 < marquis;
+惑 < confuse;
+雕 < engrave;
+寿 < old\-age;
+锦 < brocade;
+杏 < apricot;
+慌 < nervous;
+屠 < butcher;
+柏 < cypress;
+霍 < quickly;
+陶 < pottery;
+摄 < take\-in;
+闯 < rush\-in;
+扰 < disturb;
+雀 < sparrow;
+阁 < chamber;
+卢 < cottage;
+柜 < cabinet;
+暇 < leisure;
+愧 < ashamed;
+晶 < crystal;
+晝 < daytime;
+筋 < muscles;
+撑 < prop\-up;
+填 < fill\-in;
+旺 < prosper;
+耗 < consume;
+悦 < pleased;
+斑 < mottled;
+践 < trample;
+惶 < fearful;
+簾 < a\-blind;
+贩 < peddler;
+戈 < halberd;
+鐐 < fetters;
+虹 < rainbow;
+寡 < widowed;
+郊 < suburbs;
+徽 < a\-badge;
+鲍 < abalone;
+笄 < hairpin;
+沾 < moisten;
+瞒 < deceive;
+竃 < furnace;
+裔 < progeny;
+匪 < bandits;
+榜 < placard;
+枉 < useless;
+骇 < terrify;
+撰 < compose;
+垃 < garbage;
+驼 < a\-camel;
+豹 < leopard;
+缴 < deliver;
+哨 < whistle;
+嚼 < prattle;
+昧 < obscure;
+旱 < drought;
+聂 < whisper;
+莽 < thicket;
+厮 < servant;
+茨 < caltrop;
+粘 < viscous;
+朽 < decayed;
+焕 < shining;
+熄 < put\-out;
+逾 < go\-over;
+醋 < vinegar;
+斌 < refined;
+恕 < forgive;
+沦 < be\-lost;
+岱 < daishan;
+讳 < conceal;
+岔 < diverge;
+垒 < rampart;
+翘 < turn\-up;
+觑 < peep\-at;
+拎 < to\-haul;
+噜 < verbose;
+凹 < concave;
+撩 < lift\-up;
+崽 < a\-child;
+涅 < blacken;
+簌 < falling;
+诛 < execute;
+掳 < capture;
+馅 < filling;
+硅 < silicon;
+抨 < impeach;
+肾 < kidneys;
+锭 < spindle;
+茬 < harvest;
+谤 < slander;
+钳 < pincers;
+睽 < staring;
+阱 < pitfall;
+汀 < sandbar;
+秤 < balance;
+晾 < air\-dry;
+跚 < stagger;
+莞 < smiling;
+鸥 < seagull;
+葆 < reserve;
+氢 < ammonia;
+帧 < picture;
+佯 < pretend;
+烬 < cinders;
+蚌 < oysters;
+谆 < patient;
+癞 < leprosy;
+啄 < to\-peck;
+燎 < to\-burn;
+迳 < pass\-by;
+恸 < sadness;
+咂 < to\-suck;
+盹 < to\-doze;
+俾 < so\-that;
+谚 < proverb;
+掸 < to\-dust;
+匮 < to\-lack;
+幡 < pennant;
+囱 < chimney;
+崂 < laoshan;
+蝌 < tadpole;
+铀 < uranium;
+挛 < tangled;
+绯 < scarlet;
+鸨 < bustard;
+蜗 < a\-snail;
+恫 < in\-pain;
+谀 < flatter;
+踮 < tip\-toe;
+馊 < spoiled;
+钙 < calcium;
+捱 < put\-off;
+蒿 < mugwort;
+酶 < enzymes;
+衢 < highway;
+磺 < sulphur;
+蹩 < to\-limp;
+浣 < to\-wash;
+疹 < measles;
+靥 < dimples;
+愆 < a\-fault;
+鸵 < ostrich;
+窕 < slender;
+迩 < be\-near;
+佰 < hundred;
+钹 < cymbals;
+靼 < tartars;
+煲 < to\-heat;
+獐 < roebuck;
+佝 < rickets;
+蓟 < circium;
+黜 < dismiss;
+摈 < exclude;
+飓 < cyclone;
+胱 < bladder;
+饽 < ferrule;
+馏 < distill;
+苯 < benzene;
+淼 < a\-flood;
+铱 < iridium;
+葩 < flowers;
+逡 < retreat;
+逶 < winding;
+萸 < dogwood;
+挝 < to\-beat;
+熵 < entropy;
+煨 < to\-stew;
+砒 < arsenic;
+晁 < morning;
+凇 < dewdrop;
+噘 < pouting;
+唣 < chatter;
+骠 < charger;
+怄 < annoyed;
+锂 < lithium;
+疥 < scabies;
+稗 < darnels;
+洮 < cleanse;
+酮 < ketones;
+腚 < buttock;
+腱 < tendons;
+馔 < to\-feed;
+搠 < to\-daub;
+酡 < flushed;
+呒 < unclear;
+痧 < cholera;
+笤 < a\-broom;
+韫 < secrete;
+怛 < grieved;
+皴 < chapped;
+睢 < gaze\-at;
+塬 < plateau;
+螯 < nippers;
+獒 < mastiff;
+沆 < a\-ferry;
+帔 < a\-skirt;
+薅 < to\-weed;
+莴 < lettuce;
+捭 < to\-open;
+葭 < bulrush;
+倥 < boorish;
+溴 < bromine;
+廛 < a\-store;
+揸 < handful;
+仵 < similar;
+髋 < hipbone;
+肱 < forearm;
+蚍 < mussels;
+镓 < gallium;
+铋 < bismuth;
+胝 < callous;
+赍 < present;
+翥 < to\-soar;
+蜞 < grapsus;
+谠 < counsel;
+矬 < a\-dwarf;
+溲 < urinate;
+蕻 < budding;
+鹈 < pelican;
+镉 < cadmium;
+謇 < stutter;
+憷 < painful;
+谡 < rise\-up;
+褊 < cramped;
+钍 < thorium;
+氪 < krypton;
+迮 < to\-rise;
+蓍 < milfoil;
+螽 < katydid;
+剀 < sharpen;
+蹀 < to\-skip;
+锎 < caesium;
+钇 < yttrium;
+氚 < tritium;
+犸 < mammoth;
+菸 < to\-fade;
+鲱 < herring;
+躞 < to\-walk;
+铌 < niobium;
+畀 < to\-give;
+遘 < to\-meet;
+泷 < raining;
+蒡 < burdock;
+髌 < kneecap;
+鳙 < bighead;
+絷 < confine;
+箦 < bed\-mat;
+瘘 < fistula;
+镄 < fermium;
+祆 < ormazda;
+嫠 < a\-widow;
+搴 < extract;
+僦 < to\-heir;
+牽扯 < involve;
+看得見 < visible;
+婚事 < wedding;
+檢閱 < inspect;
+訴苦 < grumble;
+有資格 < entitle;
+暫停 < suspend;
+歡迎光臨 < welcome;
+觸角 < antenna;
+圓石頭 < boulder;
+罷休 < give\-up;
+奧地利 < austria;
+認真 < earnest;
+時尚 < fashion;
+版本 < version;
+庇護 < shelter;
+酸性 < acidity;
+編纂 < compile;
+君主 < monarch;
+總理 < premier;
+天然 < natural;
+睡衣 < pajamas;
+整理 < arrange;
+煙草 < tobacco;
+燦爛 < glitter;
+可動 < movable;
+水手 < mariner;
+傳道部 < mission;
+口吃 < stammer;
+創世紀 < genesis;
+菏蘭 < holland;
+菠菜 < spinach;
+十月 < october;
+千位元 < kilobit;
+揚聲器 < speaker;
+毛毯 < blanket;
+管理員 < manager;
+陽臺 < balcony;
+狂喜 < ecstasy;
+永恆 < eternal;
+請求 < request;
+海軍總司令 < admiral;
+出走 < to\-flee;
+老資格 < veteran;
+效益 < benefit;
+重力 < gravity;
+金銀塊 < bullion;
+碼字 < numeral;
+弄碎 < crumble;
+沙丁魚 < sardine;
+姐妹 < sisters;
+目錄 < catalog;
+心愛 < beloved;
+弄短 < shorten;
+無處 < nowhere;
+變厚 < thicken;
+妖怪 < monster;
+緊緊 < closely;
+隱私 < privacy;
+關鍵 < crucial;
+姿勢 < posture;
+安提瓜島 < antigua;
+喪心病狂 < lunatic;
+強烈 < intense;
+好戰 < warlike;
+弄皺 < crumple;
+相連 < to\-link;
+文法 < grammar;
+古來 < oldtime;
+天氣 < weather;
+酒廠 < brewery;
+征服 < conquer;
+索道 < ropeway;
+陸續 < in\-turn;
+隱瞞 < to\-hide;
+外流 < outflow;
+工頭 < foreman;
+遠端 < far\-end;
+出納員 < cashier;
+加甜 < sweeten;
+音信 < message;
+障礙 < barrier;
+警告 < to\-warn;
+然而 < however;
+大概 < roughly;
+愛遊玩 < playful;
+格子棉布 < gingham;
+鋼琴家 < pianist;
+電池 < battery;
+比方 < analogy;
+計數者 < counter;
+退落 < subside;
+變亂 < turmoil;
+熱潮 < upsurge;
+解剖學 < anatomy;
+欺瞞 < to\-fool;
+有學問 < learned;
+議價 < bargain;
+纖弱 < fragile;
+見證 < witness;
+加熱 < heating;
+半吊子 < dabbler;
+非常 < unusual;
+勇氣 < courage;
+失效 < to\-fail;
+先驅 < pioneer;
+犯人 < convict;
+難民 < refugee;
+遺物 < remnant;
+毒打 < beat\-up;
+醜事 < scandal;
+降級 < degrade;
+焦糖 < caramel;
+摘要 < summary;
+進程 < process;
+摔角 < wrestle;
+包扎 < wrap\-up;
+廢物 < rubbish;
+天花板 < ceiling;
+殘株 < stubble;
+好奇 < curious;
+登陸 < to\-land;
+監視 < oversee;
+形成 < to\-form;
+總數 < a\-total;
+德國 < germany;
+統統 < totally;
+大盤子 < platter;
+無窮 < endless;
+矮林 < coppice;
+境界 < boundry;
+不能不 < have\-to;
+弄歪 < distort;
+冰袋 < ice\-bag;
+出入口 < gateway;
+消防隊員 < fireman;
+起皺紋 < shrivel;
+閱讀 < to\-read;
+郵差 < postman;
+面嚮 < to\-face;
+觸發 < trigger;
+瀝青 < asphalt;
+即便 < even\-if;
+大廈 < edifice;
+發酵 < ferment;
+幸福 < blessed;
+無益 < no\-good;
+防禦 < defense;
+歷時 < to\-last;
+托兒所 < nursery;
+艷紅色 < crimson;
+特許狀 < charter;
+拖曳機 < tractor;
+版刻 < carving;
+配偶 < consort;
+預言家 < prophet;
+救援 < to\-save;
+日出 < sunrise;
+氣候 < climate;
+繃帶 < bandage;
+逗留 < stay\-at;
+利用 < exploit;
+區區 < trivial;
+背叛者 < traitor;
+微光 < glimmer;
+每夜 < nightly;
+違法 < illegal;
+出租 < to\-rent;
+雀斑 < freckle;
+大使館 < embassy;
+大草原 < prairie;
+物理學 < physics;
+收據 < receipt;
+十六 < sixteen;
+繪圖 < to\-draw;
+知悉 < to\-know;
+熱情 < cordial;
+十倍 < tenfold;
+剛毛 < bristle;
+橫臥 < recline;
+刺激 < provoke;
+經濟 < economy;
+細節 < details;
+扳不倒兒 < tumbler;
+樂趣 < delight;
+爬蟲動物 < reptile;
+索馬裡 < somalia;
+十五 < fifteen;
+多大 < how\-big;
+共處 < coexist;
+攪拌 < to\-stir;
+輕輕 < lightly;
+廣播網 < network;
+巴格達 < baghdad;
+利潤 < profits;
+外科醫生 < surgeon;
+裝載 < to\-load;
+包含 < contain;
+擯棄 < abandon;
+在﹍之間 < between;
+發行 < publish;
+白蟻 < termite;
+選手 < athlete;
+失去 < to\-lose;
+輪詢 < to\-poll;
+花費 < expense;
+葉子 < foliage;
+草稿 < outline;
+武庫 < arsenal;
+銀行業 < banking;
+弄平 < flatten;
+制止 < to\-curb;
+照搬 < to\-copy;
+龡 < to\-blow;
+補貼 < subsidy;
+齰 < to\-bite;
+齩 < to\-chew;
+正常 < regular;
+鼷 < a\-mouse;
+文化 < culture;
+崩陷 < fall\-in;
+鸑 < a\-large;
+巴結 < fawn\-on;
+鷟 < phoenix;
+鶺 < wagtail;
+鶹 < the\-owl;
+手推車 < trolley;
+皺紋 < wrinkle;
+權杖 < scepter;
+百萬 < million;
+多半 < chiefly;
+週末 < weekend;
+鴫 < a\-snipe;
+初步 < initial;
+勞動者 < laborer;
+煩惱 < agonize;
+鲚 < anchovy;
+煩悶 < anguish;
+幫派 < faction;
+美洲豹 < panther;
+表面 < surface;
+糟糕 < too\-bad;
+總則 < profile;
+險峻 < arduous;
+制服 < uniform;
+像銀 < silvery;
+魜 < mermaid;
+前提 < premise;
+維持 < to\-keep;
+接觸 < contact;
+花崗石 < granite;
+夥伴 < partner;
+骫 < be\-bent;
+骉 < running;
+擁有 < to\-have;
+在其中 < therein;
+驙 < \(horse\);
+驒 < dappled;
+此外 < besides;
+強制 < enforce;
+車輛 < vehicle;
+芬蘭 < finland;
+數位 < digital;
+十億位元 < gigabit;
+颫 < a\-storm;
+執照 < license;
+無效 < in\-vain;
+韣 < bow\-bag;
+韅 < harness;
+紙煙 < cigaret;
+眺望 < lookout;
+關照 < concern;
+雚 < a\-heron;
+冰片 < borneol;
+劇場 < theater;
+熱切 < fervent;
+陾 < in\-file;
+五月十五號 < may\-1\-5;
+陞 < promote;
+阻攔 < to\-stop;
+阧 < sloping;
+弟兄 < brother;
+眉毛 < eyebrow;
+被褥 < bedding;
+擺子 < malaria;
+擔心 < anxious;
+身體障害 < cripple;
+公社 < commune;
+铽 < terbium;
+铼 < rhenium;
+铪 < hafnium;
+铥 < thulium;
+铑 < rhodium;
+钬 < holmium;
+結果 < outcome;
+歲入 < revenue;
+墊子 < cushion;
+監測 < monitor;
+梵帝岡 < vatican;
+同義字 < synonym;
+錶 < a\-watch;
+鬢角 < temples;
+錀 < \(metal\);
+揭示 < to\-show;
+鋊 < a\-poker;
+鋂 < bit\-cup;
+痕跡 < vestige;
+剝奪 < deprive;
+農民 < peasant;
+愛國者 < patriot;
+廠商 < company;
+女主人 < hostess;
+白榴石 < leucite;
+你自己 < thyself;
+冒煙 < smoking;
+簡要 < concise;
+紅海 < red\-sea;
+冰河 < glacial;
+純正 < genuine;
+刨工 < planing;
+派給工作 < to\-task;
+幻影 < phantom;
+自由派 < liberal;
+拔頂 < topping;
+疾走 < scamper;
+轒 < chariot;
+已滅 < extinct;
+籠罩 < envelop;
+軲 < a\-wheel;
+軘 < war\-car;
+螢火蟲 < firefly;
+躦 < to\-jump;
+躝 < to\-pass;
+百分之 < percent;
+鬆緊帶 < elastic;
+薔薇花蕾 < rosebud;
+附寄 < enclose;
+無論何人 < whoever;
+跬 < to\-step;
+寄宿生 < boarder;
+跕 < shuffle;
+趷 < to\-jolt;
+絨布 < flannel;
+儘管 < despite;
+阻尼 < damping;
+甜點 < dessert;
+發現 < to\-find;
+贇 < affable;
+贃 < to\-earn;
+閃爍 < flicker;
+衣裝 < garment;
+賝 < preious;
+備註 < remarks;
+闡明 < clarify;
+受歡迎 < popular;
+豗 < clamour;
+到場 < show\-up;
+盛會 < pageant;
+讌 < a\-feast;
+謳 < to\-sing;
+謆 < beguile;
+飛機場 < airport;
+詾 < noisily;
+偽證 < perjury;
+詫 < to\-brag;
+詅 < to\-sell;
+照亮 < lighten;
+陳列 < display;
+阿爾及利亞 < algeria;
+觡 < antlers;
+陽傘 < parasol;
+山頂 < hilltop;
+掌管 < control;
+襜 < flutter;
+襃 < commend;
+褔 < complex;
+袺 < hold\-up;
+擠入 < intrude;
+衵 < chemise;
+權利 < a\-power;
+花環 < garland;
+公民 < citizen;
+巴林 < bahrain;
+偽裝 < to\-fake;
+堅強 < staunch;
+斯瓦希裡 < swahili;
+航空郵件 < airmail;
+亞特蘭大 < atlanta;
+進退兩難 < dilemma;
+平均 < average;
+實際上 < in\-fact;
+刺刀 < bayonet;
+簸箕 < dustpan;
+充滿 < full\-of;
+帳帘 < drapery;
+薽 < \(grass\);
+薶 < to\-bury;
+反應堆 < reactor;
+薓 < ginseng;
+激素 < hormone;
+解剖 < dissect;
+莊嚴 < stately;
+平台 < terrace;
+菪 < henbane;
+菧 < stibene;
+拍賣 < auction;
+滋養 < nourish;
+解僱 < to\-fire;
+莀 < to\-farm;
+到來 < arrival;
+床側 < bedside;
+標槍 < javelin;
+疫苗 < vaccine;
+超齡 < too\-old;
+因素 < element;
+冰川 < glacier;
+闊度 < breadth;
+舓 < to\-lick;
+臝 < be\-bare;
+轟擊 < bombard;
+腖 < peptone;
+冰島 < iceland;
+異教徒 < heathen;
+圖畫 < drawing;
+脝 < distend;
+分析人士 < analyst;
+冰山 < iceberg;
+外邦人 < gentile;
+移民者 < migrant;
+不吉利 < ominous;
+罖 < kwukyel;
+最低限度 < minimum;
+缲 < to\-reel;
+療法 < therapy;
+創造者 < creator;
+尖頂 < steeple;
+腹部 < abdomen;
+發放 < provide;
+瘋狂 < madness;
+緁 < to\-join;
+插曲 < episode;
+絪 < matting;
+克什米爾 < kashmir;
+女英雄 < heroine;
+活動房屋 < trailer;
+什一奉獻 < tithing;
+內羅畢 < nairobi;
+抗議 < protest;
+帶動 < to\-spur;
+公式 < formula;
+笓 < to\-comb;
+墨西哥人 < mexican;
+災害 < scourge;
+花束 < bouquet;
+已婚 < married;
+痒痒 < to\-itch;
+使高貴 < dignify;
+例題 < example;
+稇 < to\-bind;
+優於 < surpass;
+終于 < at\-last;
+加榮耀於 < glorify;
+禂 < to\-pray;
+信賴 < confide;
+芥末 < mustard;
+地質學 < geology;
+冷卻 < cooling;
+桌面 < desktop;
+履行 < fulfill;
+皇帝 < emperor;
+碃 < \(stone\);
+篇章 < writing;
+矟 < ''\-lance;
+瞯 < to\-peep;
+不干不淨 < unclean;
+寬闊 < expanse;
+關鍵詞 < keyword;
+內容 < content;
+眽 < to\-gaze;
+眴 < dazzled;
+三位一體 < trinity;
+傲然 < loftily;
+巴松管 < bassoon;
+因為 < because;
+樵夫 < woodman;
+布隆迪 < burundi;
+畐 < to\-fill;
+自私 < selfish;
+典型 < typical;
+茶具 < tea\-set;
+甔 < big\-jar;
+糊塗 < muddled;
+瓛 < scaptre;
+璺 < a\-crack;
+璊 < reddish;
+蒙大拿 < montana;
+獹 < a\-hound;
+炭疽病 < anthrax;
+獚 < spaniel;
+公益事業 < utility;
+節目 < program;
+鑽石 < diamond;
+園林 < gardens;
+狉 < fox\-cub;
+軌枕 < sleeper;
+英國 < england;
+首飾 < jewelry;
+日常工作 < routine;
+工匠 < artisan;
+熯 < by\-fire;
+俘虜 < captive;
+煻 < to\-warm;
+臂章 < armband;
+自由 < freedom;
+史密特 < schmitt;
+灴 < to\-bake;
+布丁 < pudding;
+瀹 < to\-boil;
+圍攻 < besiege;
+喝采 < acclaim;
+澐 < billows;
+生育 < to\-bear;
+赤道 < equator;
+潬 < a\-rapid;
+富士通 < fujitsu;
+男性親屬 < kinsman;
+溦 < drizzle;
+門口 < doorway;
+烹調術 < cookery;
+貨物運輸 < freight;
+損傷 < to\-harm;
+渼 < ripples;
+渧 < to\-drop;
+身材 < stature;
+英勇 < bravery;
+印刷者 < printer;
+混合物 < mixture;
+阿克倫 < acheron;
+涶 < to\-spit;
+涒 < meander;
+洸 < sparkle;
+牙科醫生 < dentist;
+問題 < problem;
+寄送 < to\-send;
+傾斜 < incline;
+郡治安官 < sheriff;
+無神論 < atheism;
+汋 < to\-pour;
+不動搖 < unmoved;
+氼 < to\-sink;
+困擾 < perplex;
+氕 < protium;
+押沙龍 < absalom;
+抄網 < dip\-net;
+歜 < furious;
+嚴正 < sternly;
+催眠曲 < lullaby;
+亞伯拉罕 < abraham;
+或許 < perhaps;
+榮幸 < honored;
+克羅地亞 < croatia;
+馬蹬 < stirrup;
+橆 < without;
+商隊 < caravan;
+牛頭犬 < bulldog;
+學院 < college;
+僵局 < impasse;
+捕手 < catcher;
+榢 < a\-frame;
+投票 < to\-vote;
+使魔法 < conjure;
+全神灌注 < rapture;
+椗 < \(plant\);
+安乃近 < analgin;
+蛋白質 < protein;
+專科院校 < academy;
+行李 < luggage;
+提到 < mention;
+驕矜 < haughty;
+芝加哥 < chicago;
+八帶魚 < octopus;
+洗衣店 < laundry;
+信箱 < mailbox;
+枼 < a\-table;
+枓 < capital;
+杸 < to\-kill;
+朾 < to\-bump;
+概念 < concept;
+不得勁 < awkward;
+地址 < address;
+孔雀 < peacock;
+滑稽 < comical;
+敾 < to\-rule;
+敯 < to\-defy;
+敜 < fill\-up;
+低調 < low\-key;
+擸 < to\-hold;
+按時 < on\-time;
+摠 < general;
+長頸鹿 < giraffe;
+打算 < to\-plan;
+掯 < oppress;
+小組 < a\-group;
+挍 < collate;
+女高音 < soprano;
+按摩 < massage;
+抈 < to\-bend;
+扽 < to\-move;
+質量 < quality;
+節日 < holiday;
+比利時 < belgium;
+不調和 < discord;
+懰 < be\-glad;
+懫 < enraged;
+有陰影 < shadowy;
+懛 < alarmed;
+懅 < bashful;
+產物 < product;
+供給 < furnish;
+惣 < overall;
+惇 < be\-kind;
+舞弄 < to\-wave;
+指關節 < knuckle;
+打碎 < shatter;
+恉 < meaning;
+在前 < forward;
+給與資格 < qualify;
+七月三十號 < july\-30;
+李鵬 < li\-peng;
+安設 < install;
+責難 < censure;
+島嶼 < islands;
+查調 < inquiry;
+便盆 < bed\-pan;
+蠱惑 < enchant;
+廌 < unicorn;
+滲漏 < seepage;
+平常日 < weekday;
+聯邦 < federal;
+漂泊 < drifter;
+儲藏室 < storage;
+噸數 < tonnage;
+匈牙利 < hungary;
+商討 < discuss;
+香菜 < parsley;
+海鮮 < seafood;
+臥房 < bedroom;
+印地安那 < indiana;
+僥倖 < luckily;
+傳單 < leaflet;
+不得而知 < unknown;
+墓誌銘 < epitaph;
+香腸 < sausage;
+航空公司 < airline;
+媞 < at\-ease;
+走私 < smuggle;
+有耐久力 < durable;
+一會兒 < a\-while;
+不道德 < immoral;
+龍蝦 < lobster;
+烏克蘭 < ukraine;
+太陽黑子 < sunspot;
+在室內 < indoors;
+夣 < a\-dream;
+壝 < a\-mound;
+希伯來書 < hebrews;
+塓 < plaster;
+椰子 < coconut;
+鑒戒 < warning;
+堄 < parapet;
+代詞 < pronoun;
+埗 < a\-wharf;
+丹麥 < denmark;
+不離兒 < not\-bad;
+圕 < library;
+圂 < pig\-sty;
+畫廊 < gallery;
+白蛋白 < albumin;
+嚊 < to\-pant;
+主席臺 < rostrum;
+衝力 < impulse;
+類固醇 < steroid;
+喥 < a\-place;
+完美 < perfect;
+展望 < outlook;
+評議會 < council;
+有希望 < hopeful;
+竊盜 < burglar;
+唞 < to\-gasp;
+唅 < a\-sound;
+家禽 < poultry;
+傷寒症 < typhoid;
+咾 < a\-noise;
+咉 < an\-echo;
+奧林匹克 < olympic;
+到那裡 < thither;
+呿 < to\-yawn;
+呬 < to\-rest;
+亞利桑那 < arizona;
+呌 < to\-call;
+空缺 < vacancy;
+最高 < highest;
+畫家 < painter;
+養老金 < pension;
+疲勞 < fatigue;
+卲 < eminent;
+匧 < a\-trunk;
+不齒 < despise;
+投手 < pitcher;
+海邊 < seaside;
+蓋世太保 < gestapo;
+噁心 < to\-hate;
+尋求 < to\-seek;
+儶 < valiant;
+小冊子 < booklet;
+儦 < milling;
+儤 < on\-duty;
+未武裝 < unarmed;
+噴墨 < ink\-jet;
+有限 < limited;
+托架 < bracket;
+侇 < a\-class;
+伀 < excited;
+最長 < longest;
+乿 < to\-cure;
+乬 < to\-hang;
+扳手 < spanner;
+便於 < easy\-to;
+海豚 < dolphin;
+愛護 < cherish;
+䶩 < to\-gnaw;
+愛屋及烏 < love\-me;
+節儉 < thrifty;
+神體 < godhead;
+䴧 < venison;
+中間 < betwixt;
+䲝 < pomfret;
+䲔 < a\-whale;
+感覺 < to\-feel;
+有幫助 < helpful;
+䱉 < the\-eel;
+䰞 < to\-cook;
+孤立 < isolate;
+䮼 < piebald;
+當前 < current;
+䮦 < untamed;
+層子 < stratum;
+䭠 < a\-snack;
+用字 < diction;
+䬎 < hot\-air;
+阿拉伯 < arabian;
+䫘 < healthy;
+促成 < procure;
+安瓿 < ampoule;
+䪣 < smashed;
+至上 < supreme;
+䩳 < tanning;
+䩔 < the\-hem;
+以馬內利 < emanuel;
+䨞 < to\-rain;
+一項 < an\-item;
+䨂 < a\-chick;
+䧟 < to\-skin;
+阿拉丁 < aladdin;
+不覺察 < unaware;
+清真 < islamic;
+䦋 < to\-grow;
+喜歡 < to\-like;
+甘藍菜 < cabbage;
+䤟 < a\-spade;
+上門 < drop\-in;
+䢶 < a\-state;
+學生 < student;
+女修道 < convent;
+䢙 < to\-ruin;
+獎金 < premium;
+規劃人員 < planner;
+䠼 < to\-wear;
+人群 < a\-crowd;
+假使 < suppose;
+發現物 < finding;
+更遠 < farther;
+在下方 < beneath;
+驚嚇 < horrify;
+䜖 < to\-talk;
+䜉 < to\-jest;
+䛷 < to\-obey;
+䛰 < sketchy;
+蒸汽機 < steamer;
+䚱 < honesty;
+䚮 < thicker;
+䚗 < to\-lift;
+䚏 < to\-love;
+丙酮 < acetone;
+小瀑布 < cascade;
+慈善機構 < charity;
+男性尊稱 < esquire;
+䘱 < wealthy;
+䘠 < greaves;
+䘝 < a\-shirt;
+第十二 < twelfth;
+不三不四 < dubious;
+才干 < ability;
+香水 < perfume;
+香氣 < incense;
+䖚 < a\-tiger;
+成文 < written;
+䔺 < heading;
+吐露 < to\-tell;
+未決定 < pending;
+趕快 < at\-once;
+會議 < meeting;
+飛船 < airship;
+曼谷 < bangkok;
+䒶 < the\-sky;
+列王紀下 < 2\-kings;
+列王紀上 < 1\-kings;
+䑧 < a\-short;
+䐿 < gizzard;
+䐷 < paunchy;
+䐴 < lumbago;
+䐫 < obesity;
+䏖 < a\-wound;
+䏇 < to\-hear;
+䎩 < to\-till;
+旅遊者 < tourist;
+主詞 < subject;
+沉默 < silence;
+打字 < to\-type;
+受託人 < trustee;
+䌘 < to\-knit;
+䌔 < to\-soak;
+䌁 < a\-pleat;
+䋎 < to\-mend;
+䊟 < adorned;
+䊘 < a\-grain;
+䉢 < a\-sieve;
+䉎 < a\-cover;
+䈬 < a\-small;
+宴會 < banquet;
+䇔 < atrophy;
+䇍 < to\-wait;
+領隊 < captain;
+月蝕 < eclipse;
+䄏 < bizarre;
+倉促 < hurried;
+肥沃 < fertile;
+䂀 < to\-wink;
+召集 < convene;
+䁛 < to\-look;
+神跡 < miracle;
+使徒 < apostle;
+㾷 < to\-ache;
+㾠 < a\-fever;
+㾟 < relapse;
+㾘 < ailment;
+㾕 < a\-chill;
+㾆 < ecdysis;
+㾅 < defects;
+陸軍上校 < colonel;
+㽖 < a\-human;
+㼼 < a\-ladle;
+㼷 < a\-basin;
+脹大 < swollen;
+㼗 < a\-brick;
+虛構小說 < fiction;
+寶寶 < darling;
+㺲 < buttons;
+㺊 < a\-beast;
+㹞 < to\-bark;
+㹛 < a\-tamed;
+等候 < waiting;
+跌到 < to\-fall;
+懺悔 < confess;
+㷓 < a\-torch;
+㷉 < to\-iron;
+戶外 < outdoor;
+石南屬 < heather;
+寬容 < lenient;
+㵒 < boiling;
+㵌 < to\-flow;
+㵅 < a\-river;
+能幹 < capable;
+不見 < not\-see;
+㴇 < to\-wade;
+㳭 < spittle;
+㳬 < an\-eddy;
+住房 < housing;
+㳙 < a\-brook;
+戰士 < fighter;
+㲂 < to\-push;
+㱖 < to\-stay;
+㱌 < to\-take;
+翡翠 < emerald;
+尊嚴 < dignity;
+薄烤餅 < pancake;
+㯓 < a\-couch;
+㯐 < tubular;
+㯋 < a\-chest;
+密度 < density;
+㮛 < a\-spoon;
+㭪 < a\-shrub;
+毒草名 < hemlock;
+㫴 < to\-roar;
+㫝 < the\-sun;
+地平線 < horizon;
+尖叫 < screech;
+㩰 < to\-stab;
+她自己 < herself;
+安撫 < placate;
+㨷 < to\-wipe;
+頂針 < thimble;
+㨰 < to\-turn;
+核子 < nuclear;
+休會 < adjourn;
+貢物 < tribute;
+㧻 < a\-thorn;
+㦹 < a\-spear;
+㦭 < to\-pity;
+飛盤 < frisbee;
+淘氣 < naughty;
+㥒 < corrupt;
+騎兵 < cavalry;
+㤺 < blurred;
+㣷 < walking;
+矮壯素 < cycocel;
+外科手術 < surgery;
+㡸 < a\-house;
+第七 < seventh;
+㡨 < a\-label;
+㡘 < screens;
+㡓 < drawers;
+㡂 < remains;
+促使 < spur\-on;
+風箱 < bellows;
+㟧 < a\-cliff;
+浴盆 < bathtub;
+㞺 < a\-tribe;
+群花 < blossom;
+各色各樣 < diverse;
+佛羅裡達 < florida;
+馬子 < commode;
+越南 < vietnam;
+向何處 < whither;
+㜓 < womanly;
+空戰 < air\-war;
+成圈 < wreathe;
+㜇 < unhappy;
+應得 < deserve;
+戰勝 < prevail;
+㚢 < a\-slave;
+不苟 < not\-lax;
+籃板球 < rebound;
+住宿 < lodging;
+㙔 < a\-fence;
+㙏 < caverns;
+變遷 < changes;
+㘩 < to\-mate;
+㗃 < the\-lip;
+封入 < inclose;
+馬克思主義 < marxism;
+㕟 < to\-sign;
+㕞 < a\-brush;
+㔿 < a\-tally;
+㔡 < greatly;
+㔂 < to\-pare;
+㓰 < to\-rive;
+㓟 < to\-peel;
+㒴 < to\-come;
+㒦 < puppets;
+聽得見 < audible;
+野貓 < wildcat;
+㒕 < unyield;
+㒑 < grow\-up;
+代替 < instead;
+㑅 < to\-make;
+案卷 < records;
+百慕大 < bermuda;
+代數 < algebra;
+有條紋 < striped;
+木瓦 < shingle;
+成功 < success;
+安息日 < sabbath;
+中立 < neutral;
+世紀 < century;
+低地 < lowland;
+海澡 < seaweed;
+今晚 < tonight;
+裁紙機 < trimmer;
+哀求 < entreat;
+洗禮 < baptism;
+妓院 < brothel;
+不等 < to\-vary;
+公爵夫人 < duchess;
+名義 < titular;
+消極 < passive;
+水銀 < mercury;
+暈船 < seasick;
+懷敵意 < hostile;
+職工 < workers;
+孟子 < mencius;
+官司 < lawsuit;
+非難 < reproof;
+永遠 < forever;
+酬載 < payload;
+聽寫 < dictate;
+虧損 < deficit;
+麻煩 < trouble;
+阿爾巴尼亞 < albania;
+彼得後書 < 2\-peter;
+創立者 < founder;
+維他命 < vitamin;
+譏誚 < cynical;
+確認 < confirm;
+裝置物 < fixture;
+王權 < royalty;
+玻利維亞 < bolivia;
+企圖 < attempt;
+參議員 < senator;
+羅盤 < compass;
+星期二 < tuesday;
+現實 < reality;
+質地 < texture;
+音樂會 < concert;
+贊助 < sponsor;
+忠誠 < devoted;
+體育場 < stadium;
+鄭重 < serious;
+印像深刻 < impress;
+半途 < halfway;
+好轉 < improve;
+惡棍 < villain;
+愛爾蘭 < ireland;
+逃亡者 < runaway;
+鼻孔 < nostril;
+哀思 < pensive;
+指導教授 < adviser;
+猖獗 < rampant;
+果園 < orchard;
+旁邊 < lateral;
+咯咯笑 < chuckle;
+生物學 < biology;
+飛彈 < missile;
+聽力 < hearing;
+使憤慨 < outrage;
+日誌 < journal;
+居住於 < inhabit;
+外面 < outside;
+雄黃 < realgar;
+會期 < session;
+不法 < lawless;
+不知何故 < somehow;
+淡光 < shimmer;
+彌賽亞 < messiah;
+沒甚麼 < nothing;
+大錯 < blunder;
+老年 < elderly;
+變硬 < stiffen;
+海岸 < coastal;
+煙灰缸 < ashtray;
+礦物 < mineral;
+著陸 < landing;
+不在了 < be\-dead;
+紡織品 < textile;
+科學 < science;
+液化 < liquify;
+阿司匹林 < aspirin;
+方言 < dialect;
+古物 < antique;
+日落 < sundown;
+金光閃爍 < spangle;
+郵費 < postage;
+曖昧 < illicit;
+不人道 < inhuman;
+雄雞 < rooster;
+放開 < unleash;
+被沒收 < forfeit;
+奴隸制度 < slavery;
+羨慕 < envious;
+路西弗 < lucifer;
+化學家 < chemist;
+餅乾 < biscuit;
+有害 < harmful;
+酒精 < alcohol;
+社會 < society;
+暴政 < tyranny;
+王國 < kingdom;
+易碎 < brittle;
+釘死 < crucify;
+訓練者 < trainer;
+清潔器 < cleaner;
+顧忌 < scruple;
+愈合 < to\-heal;
+詳述 < recount;
+願意 < to\-wish;
+愛德玲 < adeline;
+迫切性 < urgency;
+玩兒 < to\-play;
+女演員 < actress;
+中子 < neutron;
+金橘 < kumquat;
+需要 < to\-need;
+悔恨 < remorse;
+最大 < biggest;
+最多 < at\-most;
+耕作 < farming;
+急流 < torrent;
+巴比倫 < babylon;
+老公 < husband;
+嬰兒期 < infancy;
+百葉窗 < shutter;
+避彈坑 < foxhole;
+馬來西亞 < malasia;
+山胡桃木 < hickory;
+脫衣服 < undress;
+乏味 < tedious;
+𡜱 < to\-envy;
+呼吸 < breathe;
+猜度 < surmise;
+呻吟 < to\-moan;
+彼得前書 < 1\-peter;
+遴選 < to\-pick;
+女神 < goddess;
+想像 < imagine;
+業餘者 < amateur;
+同志 < comrade;
+沒有 < haven''t;
+南瓜 < pumpkin;
+變暖 < warming;
+金字塔 < pyramid;
+氣球 < balloon;
+狂暴 < frantic;
+他自己 < himself;
+吊床 < hammock;
+及時 < in\-time;
+部署 < dispose;
+也不 < neither;
+可憐 < pitiful;
+女皇 < empress;
+定居者 < settler;
+一天 < one\-day;
+二十多 < over\-20;
+改裝 < remodel;
+阿飛 < hoodlum;
+可恨 < hateful;
+收留所 < barrack;
+法官 < a\-judge;
+美國 < america;
+最佳 < optimum;
+幽靈 < specter;
+運轉 < to\-work;
+運輸 < transit;
+悲劇 < tragedy;
+書信 < epistle;
+劍術 < fencing;
+就寢時間 < bedtime;
+緒言 < preface;
+誇耀 < proudly;
+缺席 < absence;
+一口 < readily;
+七十 < seventy;
+燕麥粥 < oatmeal;
+新生 < newborn;
+不再 < no\-more;
+亞拉巴馬 < alabama;
+世俗 < profane;
+年鑑 < almanac;
+比畫 < gesture;
+量子 < quantum;
+猿人 < ape\-man;
+叫好 < applaud;
+自行車 < bicycle;
+逐退 < repulse;
+民數記 < numbers;
+小斑點 < speckle;
+注入 < pour\-in;
+正義 < justice;
+使厭煩 < disgust;
+艾迪生 < addison;
+是 < indeed;
+迫 < coerce;
+応 < should;
+忘 < forget;
+国 < nation;
+返 < return;
+忍 < endure;
+迄 < extend;
+必 < surely;
+出 < go\-out;
+辿 < follow;
+瞼 < eyelid;
+得 < obtain;
+辷 < smooth;
+徴 < summon;
+徳 < virtue;
+瞭 < bright;
+辛 < bitter;
+徐 < slowly;
+後 < behind;
+徊 < linger;
+影 < shadow;
+事 < affair;
+轟 < rumble;
+彈 < pellet;
+主 < master;
+強 < strong;
+弛 < loosen;
+民 < people;
+県 < county;
+现 < appear;
+分 < divide;
+些 < little;
+相 < mutual;
+理 < reason;
+益 < profit;
+话 < speech;
+向 < toward;
+定 < decide;
+庫 < armory;
+度 < degree;
+底 < bottom;
+打 < strike;
+位 < throne;
+序 < series;
+幼 < infant;
+干 < oppose;
+内 < inside;
+癪 < spasms;
+加 < add\-to;
+化 < change;
+癌 < cancer;
+常 < common;
+踰 < exceed;
+市 < market;
+才 < talent;
+住 < reside;
+员 < member;
+巻 < scroll;
+性 < nature;
+报 < report;
+神 < spirit;
+数 < number;
+跡 < search;
+原 < source;
+巡 < patrol;
+川 < stream;
+疊 < repeat;
+系 < system;
+畠 < garden;
+记 < record;
+林 < forest;
+统 < govern;
+字 < letter;
+島 < island;
+質 < matter;
+论 < debate;
+貰 < borrow;
+指 < finger;
+財 < wealth;
+花 < flower;
+層 < storey;
+条 < clause;
+屍 < corpse;
+局 < bureau;
+办 < manage;
+谷 < valley;
+城 < castle;
+父 < father;
+導 < direct;
+寧 < repose;
+黄 < yellow;
+德 < ethics;
+害 < injure;
+宮 < palace;
+友 < friend;
+守 < defend;
+讃 < praise;
+际 < border;
+单 < single;
+孤 < orphan;
+校 < school;
+獄 < prison;
+猾 < crafty;
+謙 < humble;
+謎 < riddle;
+狹 < narrow;
+母 < mother;
+狙 < an\-ape;
+团 < sphere;
+狂 < insane;
+課 < lesson;
+招 < beckon;
+兴 < thrive;
+约 < treaty;
+詩 < poetry;
+绝 < to\-cut;
+选 < choose;
+星 < a\-star;
+訴 < accuse;
+爛 < rotten;
+消 < vanish;
+燭 < candle;
+姫 < beauty;
+杨 < willow;
+严 < strict;
+熊 < a\-bear;
+妄 < absurd;
+苏 < revive;
+答 < answer;
+奮 < strive;
+煩 < bother;
+襤 < ragged;
+供 < supply;
+央 < center;
+列 < a\-line;
+焦 < burned;
+龙 < dragon;
+夏 < summer;
+春 < spring;
+态 < manner;
+袖 < sleeve;
+袋 < pocket;
+副 < assist;
+够 < enough;
+街 < street;
+激 < arouse;
+银 < silver;
+阵 < column;
+简 < simple;
+毒 < poison;
+湖 < a\-lake;
+蝉 < cicada;
+追 < pursue;
+鼬 < weasel;
+络 < enmesh;
+漠 < desert;
+蜘 < spider;
+占 < divine;
+圓 < circle;
+兰 < orchid;
+阶 < stairs;
+黙 < silent;
+佛 < buddha;
+效 < result;
+攻 < attack;
+策 < scheme;
+股 < thighs;
+莫 < do\-not;
+嘘 < exhale;
+窗 < window;
+添 < append;
+混 < to\-mix;
+鷲 < condor;
+博 < gamble;
+藤 < rattan;
+智 < wisdom;
+抗 < resist;
+喰 < to\-eat;
+喧 < lively;
+喉 < throat;
+浚 < dredge;
+逃 < escape;
+唸 < recite;
+靖 < pacify;
+秘 < secret;
+欲 < desire;
+征 < invade;
+秋 < autumn;
+吸 < inhale;
+鳩 < pigeon;
+悲 < sorrow;
+桥 < bridge;
+蒻 < rushes;
+葡 < grapes;
+汚 < filthy;
+胸 < breast;
+邮 < postal;
+吝 < stingy;
+横 < across;
+萎 < wither;
+菫 < celery;
+择 < select;
+恨 < hatred;
+竹 < bamboo;
+菓 < fruits;
+旗 < banner;
+殻 < casing;
+稳 < stable;
+迹 < traces;
+针 < needle;
+櫻 < cherry;
+弃 < reject;
+紫 < purple;
+拔 < uproot;
+芝 < sesame;
+赏 < reward;
+插 < insert;
+驢 < donkey;
+冬 < winter;
+扩 < expand;
+橘 < orange;
+逼 < compel;
+騷 < harass;
+刹 < temple;
+镜 < mirror;
+標 < a\-mark;
+舌 < tongue;
+槽 < trough;
+臼 < mortar;
+伏 < crouch;
+愤 < resent;
+俄 < sudden;
+凍 < freeze;
+槌 < hammer;
+阻 < impede;
+饑 < starve;
+腑 < bowels;
+兎 < rabbit;
+腋 < armpit;
+儘 < utmost;
+崇 < esteem;
+餓 < hungry;
+棺 < coffin;
+粉 < powder;
+盾 < shield;
+飢 < hunger;
+捕 < arrest;
+梯 < ladder;
+聘 < engage;
+梃 < a\-club;
+顫 < shiver;
+闷 < gloomy;
+悔 < repent;
+邀 < invite;
+頬 < cheeks;
+患 < suffer;
+丐 < beggar;
+柱 < pillar;
+柚 < pomelo;
+柄 < handle;
+侮 < insult;
+铜 < copper;
+枕 < pillow;
+杵 < pestle;
+扯 < rip\-up;
+趋 < hasten;
+串 < string;
+雲 < clouds;
+雌 < female;
+雇 < employ;
+隅 < corner;
+繕 < repair;
+棉 < cotton;
+縛 < to\-tie;
+谅 < excuse;
+呈 < submit;
+線 < thread;
+敷 < spread;
+脾 < spleen;
+紳 < girdle;
+鹰 < falcon;
+愚 < stupid;
+糞 < manure;
+粧 < toilet;
+採 < gather;
+帕 < turban;
+丫 < forked;
+拐 < kidnap;
+倪 < feeble;
+錐 < gimlet;
+篮 < basket;
+侄 < nephew;
+叉 < crotch;
+怖 < terror;
+颁 < confer;
+咕 < mumble;
+舵 < rudder;
+惩 < punish;
+咖 < coffee;
+淳 < honest;
+猴 < monkey;
+霉 < mildew;
+悼 < grieve;
+逍 < ramble;
+耍 < frolic;
+捆 < tie\-up;
+遊 < wander;
+廿 < twenty;
+腻 < greasy;
+缆 < hawser;
+鞑 < tatars;
+慷 < ardent;
+篷 < awning;
+荆 < thorns;
+膏 < grease;
+鞍 < saddle;
+睬 < notice;
+绥 < soothe;
+氧 < oxygen;
+婷 < pretty;
+凿 < chisel;
+巫 < wizard;
+虾 < shrimp;
+伶 < lonely;
+椒 < pepper;
+揖 < salute;
+冉 < tender;
+踱 < stroll;
+猬 < vulgar;
+褂 < jacket;
+糙 < coarse;
+闸 < sluice;
+颓 < ruined;
+屉 < drawer;
+刁 < tricky;
+洼 < hollow;
+蒜 < garlic;
+渣 < refuse;
+慑 < afraid;
+忏 < regret;
+碾 < roller;
+疙 < pimple;
+漉 < filter;
+隧 < tunnel;
+酥 < butter;
+钮 < button;
+漱 < gargle;
+盔 < helmet;
+磋 < polish;
+蕉 < banana;
+痰 < phlegm;
+羁 < halter;
+诏 < decree;
+靶 < target;
+酝 < liquor;
+亵 < slight;
+貂 < marten;
+聆 < listen;
+韬 < sheath;
+鹊 < magpie;
+卅 < thirty;
+碳 < carbon;
+硫 < sulfur;
+镰 < sickle;
+涎 < saliva;
+壕 < trench;
+锚 < anchor;
+钠 < sodium;
+睿 < shrewd;
+莺 < oriole;
+胯 < pelvis;
+跻 < ascend;
+鳖 < turtle;
+腼 < modest;
+娓 < comply;
+刎 < behead;
+蹙 < urgent;
+胚 < embryo;
+荔 < lichee;
+锵 < tinkle;
+茧 < cocoon;
+蟒 < python;
+鹃 < cuckoo;
+獗 < unruly;
+蒯 < a\-rush;
+沏 < infuse;
+嚏 < sneeze;
+砾 < gravel;
+佟 < a\-name;
+茜 < madder;
+扈 < escort;
+咛 < enjoin;
+泗 < mucous;
+锹 < shovel;
+鹗 < osprey;
+儡 < puppet;
+螂 < mantis;
+苓 < fungus;
+叵 < cannot;
+寮 < shanty;
+犷 < fierce;
+沱 < rivers;
+疡 < ulcers;
+徕 < induce;
+骛 < gallop;
+徉 < wonder;
+谪 < charge;
+俚 < rustic;
+俪 < spouse;
+臾 < moment;
+嬴 < to\-win;
+烩 < ragout;
+铤 < ingots;
+茁 < sprout;
+舢 < sampan;
+碜 < gritty;
+僭 < assume;
+碘 < iodine;
+烯 < alkene;
+囿 < pen\-up;
+囫 < entire;
+镍 < nickel;
+橐 < a\-sack;
+杷 < loquat;
+聒 < clamor;
+羯 < wether;
+秣 < fodder;
+樽 < goblet;
+焖 < simmer;
+轳 < pulley;
+镭 < radium;
+殄 < to\-end;
+诰 < inform;
+莅 < attend;
+讫 < finish;
+淬 < temper;
+嘬 < to\-lap;
+烷 < alkane;
+蛎 < oyster;
+焱 < flames;
+蜥 < lizard;
+葺 < thatch;
+恽 < devise;
+蓿 < clover;
+瘌 < severe;
+喱 < gramme;
+钴 < cobalt;
+貉 < badger;
+蜉 < mayfly;
+鲑 < salmon;
+娈 < lovely;
+荨 < nettle;
+竦 < revere;
+狒 < baboon;
+蘼 < millet;
+茴 < fennel;
+鲦 < minnow;
+渌 < strain;
+阚 < glance;
+珐 < enamel;
+靛 < indigo;
+黧 < a\-dark;
+蠓 < midges;
+橼 < citrus;
+魍 < demons;
+翊 < flying;
+镏 < distil;
+胼 < callus;
+犏 < yak\-ox;
+碚 < suburb;
+腭 < palate;
+鳟 < barbel;
+殂 < to\-die;
+筚 < wicker;
+疝 < hernia;
+骀 < an\-old;
+蒗 < \(herb\);
+菟 < dodder;
+陉 < defile;
+疠 < a\-sore;
+旰 < sunset;
+聍 < earwax;
+锇 < osmium;
+钡 < barium;
+襻 < a\-loop;
+铒 < erbium;
+铈 < cerium;
+椴 < poplar;
+苡 < barley;
+舄 < a\-shoe;
+鸫 < thrush;
+锔 < curium;
+铟 < indium;
+眍 < sunken;
+桷 < rafter;
+苄 < benzyl;
+陔 < a\-step;
+骶 < coccyx;
+鲻 < mullet;
+螨 < insect;
+虼 < a\-flea;
+瘕 < asthma;
+镘 < trowel;
+胂 < arsine;
+菔 < turnip;
+從此 < thence;
+鳥羽 < pinion;
+編者 < editor;
+誤用 < misuse;
+強盜 < bandit;
+詩篇 < psalms;
+方法 < method;
+政策 < policy;
+哺乳動物 < mammal;
+伊尼伊德 < aeneid;
+警察 < police;
+士師記 < judges;
+發電機 < dynamo;
+罪人 < sinner;
+大炮 < cannon;
+大災 < plague;
+塞爾維亞 < serbia;
+吉他 < guitar;
+毀滅 < perish;
+穆斯林 < muslim;
+開車人 < driver;
+帶釦 < buckle;
+動物 < animal;
+使﹍豐富 < enrich;
+緊縮 < reduce;
+燒焦 < scorch;
+領事 < consul;
+嘶啞聲 < hoarse;
+大浪 < billow;
+睡著 < asleep;
+氣息 < breath;
+擱置 < shelve;
+整潔 < neatly;
+弊病 < malady;
+選票 < a\-vote;
+剽竊 < pirate;
+編碼 < coding;
+拔尖兒 < tiptop;
+巨頭 < tycoon;
+頂事 < useful;
+撕裂 < mangle;
+附著 < adhere;
+伊尼亞斯 < aeneas;
+正當 < timely;
+怒吼 < bellow;
+奇景 < marvel;
+版式 < format;
+驅逐出境 < deport;
+遠程 < remote;
+半徑 < radius;
+降臨 < befall;
+管理人 < keeper;
+醜化 < defame;
+狂人 < madman;
+大桶 < barrel;
+有人情 < humane;
+西紅柿 < tomato;
+看見 < to\-see;
+解脫 < relief;
+破敗 < beaten;
+旗幟 < ensign;
+水壺 < kettle;
+殖民 < colony;
+旋律 < melody;
+動機 < motive;
+厭倦 < dreary;
+內陸 < inland;
+工錢 < salary;
+公開 < public;
+原先 < former;
+八開 < octavo;
+熊熊 < raging;
+短歌 < ballad;
+博士 < doctor;
+忠告 < advice;
+砲手 < gunner;
+多星 < starry;
+律師 < lawyer;
+八分音符 < quaver;
+微妙 < subtle;
+好好 < nicely;
+總是 < always;
+開鎖 < unlock;
+步測 < pacing;
+營救 < rescue;
+敬服 < admire;
+天竺牡丹 < dahlia;
+得宜 < proper;
+初級 < junior;
+輕鬆 < gentle;
+爐床 < hearth;
+謊報 < to\-lie;
+確保 < ensure;
+離奇有趣 < quaint;
+運用 < to\-use;
+絲絨 < velvet;
+版圖 < domain;
+政權 < regime;
+很少 < seldom;
+爵士 < knight;
+襯裡 < lining;
+謙和 < meekly;
+網球 < tennis;
+荒蕪 < barren;
+電影院 < cinema;
+天性 < inborn;
+小妖精 < goblin;
+金絲雀 < canary;
+歐洲 < europe;
+勾引 < seduce;
+熱望 < aspire;
+精選 < chosen;
+誘拐 < abduct;
+誠懇 < hearty;
+動名詞 < gerund;
+通知 < notify;
+刺痛 < tingle;
+徵召 < enlist;
+歡樂 < gaiety;
+競賽者 < player;
+先鋒 < herald;
+編年史 < annals;
+敵意 < enmity;
+巴西 < brazil;
+缺氧症 < anoxia;
+物件 < object;
+卸下 < unload;
+包容 < pardon;
+誘惑 < entice;
+牧人 < pastor;
+大地洞 < cavern;
+外形 < figure;
+隨機 < random;
+兵變 < mutiny;
+發嘎嘎聲 < rattle;
+敏捷 < nimble;
+牛仔 < cowboy;
+提醒 < remind;
+觸犯 < offend;
+奪取 < snatch;
+夫子 < pedant;
+太子 < prince;
+真空 < vacu\:m;
+殺害 < murder;
+殘忍 < bloody;
+閒話 < gossip;
+辭職 < resign;
+線條 < streak;
+滑翔機 < glider;
+徒勞 < futile;
+得到 < to\-get;
+希臘 < greece;
+濺開 < splash;
+遊歷 < travel;
+復仇 < avenge;
+殘餘物 < litter;
+壓扁 < squash;
+詩意 < poetic;
+攝政 < regent;
+標語 < slogan;
+不可告人 < hidden;
+發誓 < to\-vow;
+橡膠 < rubber;
+力足以做 < afford;
+在﹍期間 < during;
+地鐵 < subway;
+十一 < eleven;
+從事 < go\-for;
+熱帶 < tropic;
+有責任 < liable;
+雜工 < porter;
+出產 < output;
+奢侈 < luxury;
+掛鉤 < couple;
+純粹 < purely;
+種族主義 < racism;
+孩子氣 < boyish;
+小牝牛 < heifer;
+跑步者 < runner;
+露出 < expose;
+攀昇 < rising;
+解渴 < quench;
+歌手 < singer;
+吐綬雞 < turkey;
+巡航 < cruise;
+布線 < wiring;
+正式 < formal;
+冰箱 < icebox;
+無法 < unable;
+逕流 < runoff;
+大吃 < gobble;
+毫不 < hardly;
+道教 < taoism;
+齵 < uneven;
+診所 < clinic;
+遺恨 < grudge;
+鼫 < marmot;
+鼔 < a\-drum;
+鬆餅 < muffin;
+加崙 < gallon;
+鹨 < anthus;
+跨接器 < jumper;
+教堂 < church;
+鷇 < chicks;
+鶽 < a\-hawk;
+鶸 < siskin;
+詞尾 < suffix;
+鵀 < hoopoe;
+週期 < period;
+鴢 < \(duck\);
+負擔者 < bearer;
+零售 < retail;
+鴃 < shrike;
+在車 < aboard;
+徒步旅行 < hiking;
+鱎 < \(fish\);
+鱆 < poulpe;
+茶碗 < teacup;
+緞帶 < ribbon;
+分派 < assign;
+合唱團 < chorus;
+阻橈 < thwart;
+搖籃 < cradle;
+領導者 < leader;
+著名 < famous;
+強勢 < mighty;
+紮營 < encamp;
+驫 < horses;
+凹洞 < cavity;
+弱化 < weaken;
+陰戶 < vagina;
+擊敗 < defeat;
+進接 < access;
+馿 < an\-ass;
+絕氣 < expire;
+曲棍球 < hockey;
+証實 < verify;
+餤 < incite;
+連擊 < batter;
+教區 < parish;
+火箭 < rocket;
+隱士 < hermit;
+路由器 < router;
+短劍 < dagger;
+顒 < solemn;
+強健 < sturdy;
+一節\(詩\) < stanza;
+武器 < weapon;
+鞚 < bridle;
+煤屑 < cinder;
+平板 < tablet;
+凹槽 < socket;
+刮掉 < scrape;
+高雅 < dainty;
+雂 < \(bird\);
+父母親 < parent;
+歡喜 < joyful;
+分枝 < branch;
+步哨 < sentry;
+傳達 < convey;
+化妝品 < makeup;
+急促聲 < patter;
+闉 < curved;
+衡量 < weight;
+使硬化 < harden;
+骨髓 < marrow;
+铯 < cesium;
+搔癢 < tickle;
+雕像 < statue;
+鑞 < solder;
+正午 < midday;
+鑀 < ionium;
+鐝 < a\-pick;
+鎒 < to\-hoe;
+交易者 < dealer;
+鎅 < to\-saw;
+撫抱 < caress;
+錩 < vessel;
+救主 < savior;
+粘粘 < sticky;
+日內瓦 < geneva;
+鋙 < misfit;
+巴爾 < baltic;
+的確 < really;
+鋅 < zincum;
+過失 < defect;
+銀行家 < banker;
+植物學 < botany;
+紀念獎 < trophy;
+酴 < leaven;
+長短 < length;
+幫手 < helper;
+偽造的 < forged;
+旅行裝備 < outfit;
+附庸 < vassal;
+適合 < to\-fit;
+第二次 < second;
+高達 < attain;
+鵝卵石 < pebble;
+有氣派 < lordly;
+債務人 < debtor;
+花粉 < pollen;
+逌 < please;
+迍 < falter;
+轜 < hearse;
+白痴 < idiocy;
+峽谷 < canyon;
+躧 < sandal;
+表親 < cousin;
+觀念 < notion;
+踡 < curled;
+裁縫 < tailor;
+採納 < accept;
+補種 < reseed;
+小碟子 < saucer;
+貪 < greedy;
+冰柱 < icicle;
+舞蹈家 < dancer;
+阿姨 < auntie;
+線上 < online;
+譆 < scream;
+諵 < mutter;
+驚駭 < fright;
+素描 < sketch;
+閒混 < loiter;
+詻 < orders;
+詗 < to\-spy;
+摟抱 < to\-hug;
+自身 < itself;
+進口 < import;
+採礦 < mining;
+襮 < collar;
+擾亂 < infest;
+結尾 < ending;
+閣樓 < garret;
+花生 < peanut;
+袚 < greave;
+過份 < unduly;
+驟雨 < shower;
+幃幕 < screen;
+使濕透 < drench;
+蠩 < a\-toad;
+蠁 < larvae;
+威士忌酒 < whisky;
+光澤 < luster;
+逝去 < elapse;
+蛣 < beetle;
+蛌 < cricke;
+光滑 < glossy;
+逕向 < radial;
+虖 < to\-cry;
+批評家 < critic;
+相差 < differ;
+薑 < ginger;
+關心 < caring;
+在深處 < deeply;
+蔔 < radish;
+蓚 < oxalic;
+蒎 < pinane;
+抵達 < arrive;
+勝利者 < victor;
+地產 < estate;
+連字符號 < hyphen;
+菆 < jungle;
+廢除軍備 < disarm;
+局面 < aspect;
+茢 < sedges;
+蹺蹺板 < seesaw;
+澱粉 < starch;
+標榜 < flaunt;
+艢 < a\-mast;
+滑雪 < to\-ski;
+回絕 < rebuff;
+襪帶 < garter;
+綁住 < fasten;
+眼光 < vision;
+磨坊主 < miller;
+樣本 < sample;
+烈士 < martyr;
+精明 < astute;
+腳鐐 < fetter;
+胹 < cooked;
+白果 < ginkgo;
+帆布 < canvas;
+跳進 < plunge;
+有關連 < relate;
+多樹木 < wooded;
+附上 < attach;
+抬起 < uplift;
+顛倒過來 < invert;
+耤 < plough;
+吱吱聲 < squeak;
+幾乎 < almost;
+瀉湖 < lagoon;
+罫 < hinder;
+罥 < impete;
+簡直 < simply;
+未完成 < undone;
+繨 < a\-knot;
+光是 < solely;
+縆 < a\-rope;
+給予 < accord;
+七月一號 < july\-1;
+複數 < plural;
+白搭 < no\-use;
+魔賽克 < mosaic;
+航程 < flight;
+紩 < to\-sew;
+紟 < a\-sash;
+紃 < a\-cord;
+援手 < succor;
+帝國 < empire;
+茶壺 < teapot;
+伯仲叔季 < eldest;
+籲 < appeal;
+盟國 < allies;
+簉 < deputy;
+裁決 < ruling;
+篥 < bulgle;
+實體 < entity;
+箙 < quiver;
+烏干達 < uganda;
+索取 < to\-ask;
+席卷 < engulf;
+不確實 < untrue;
+地毯 < carpet;
+竉 < a\-hole;
+八度 < octave;
+用語 < syntax;
+鼻口部分 < muzzle;
+尖聲啼哭 < squeal;
+節約 < frugal;
+祏 < shrine;
+辦公室 < office;
+承諾 < effort;
+衛生 < health;
+補救 < remedy;
+修訂 < revise;
+羅馬書 < romans;
+迄今 < so\-far;
+實際 < actual;
+睪 < spy\-on;
+眾 < masses;
+嘗試 < to\-try;
+垂幕 < canopy;
+蠟筆 < crayon;
+服務員 < waiter;
+命運註定 < ordain;
+人頭獅身 < sphinx;
+皀 < kernel;
+不幸之事 < mishap;
+蜘蛛網 < cobweb;
+疃 < hamlet;
+執事 < deacon;
+畽 < ground;
+成長 < mature;
+溝道 < groove;
+阿米巴 < amoeba;
+農人 < farmer;
+滾落 < tumble;
+融解 < molten;
+圖案 < design;
+腔調 < accent;
+修補匠 < tinker;
+走錯 < astray;
+珔 < \(jade\);
+玓 < pearly;
+節省 < saving;
+猺 < jackal;
+信號 < signal;
+小貓 < kitten;
+行為 < action;
+大理石 < marble;
+在﹍之旁 < beside;
+持有人 < holder;
+煃 < remove;
+撒哈拉 < sahara;
+大鐮刀 < scythe;
+埋伏 < ambush;
+約翰二書 < 2\-john;
+對話 < dialog;
+符號 < symbol;
+瀌 < plenty;
+胸針 < brooch;
+濵 < a\-bank;
+搭乘 < embark;
+澼 < bleach;
+娛樂場 < resort;
+八十 < eighty;
+簸揚 < winnow;
+棒糖 < sucker;
+算盤 < abacus;
+醃黃瓜 < pickle;
+渨 < a\-cove;
+淟 < turbid;
+精力 < energy;
+收割者 < reaper;
+傳染 < infect;
+工人 < worker;
+洟 < snivel;
+泭 < a\-raft;
+氫 < amonia;
+起訴 < to\-sue;
+蝗蟲 < locust;
+傳教 < preach;
+較好 < better;
+花圈 < wreath;
+橰 < a\-spar;
+腎臟 < kidney;
+橤 < stamen;
+橜 < a\-post;
+橕 < a\-prop;
+樲 < jujube;
+路程 < course;
+先前 < before;
+憂鬱 < sullen;
+螺旋鉗 < wrench;
+參議院 < senate;
+穗飾 < tassel;
+楢 < tinder;
+瑞金 < ruijin;
+抱病 < be\-ill;
+傳授 < impart;
+車庫 < garage;
+測量 < survey;
+字首 < prefix;
+魚夫 < fisher;
+椧 < gutter;
+棃 < a\-pear;
+桲 < quince;
+花哨 < garish;
+輕咬 < nibble;
+條紋 < stripe;
+致死 < deadly;
+任何人 < anyone;
+贖金 < ransom;
+行星 < planet;
+曀 < stormy;
+回憶 < recall;
+穀類 < cereal;
+偵查 < detect;
+旻 < heaven;
+容許 < permit;
+敡 < rebuke;
+敂 < deduct;
+十四行詩 < sonnet;
+擓 < to\-rub;
+有道德 < chaste;
+漣漪 < ripple;
+二者之一 < either;
+捽 < clutch;
+國外 < abroad;
+液體 < liquid;
+藝術家 < artist;
+崎嶇 < rugged;
+餑餑 < pastry;
+餐飲 < repast;
+使膨脹 < dilate;
+何處 < whence;
+信用 < credit;
+約翰三書 < 3\-john;
+小提琴 < fiddle;
+因子 < factor;
+恟 < scared;
+拳擊 < boxing;
+軟化 < soften;
+安詳 < serene;
+懶洋洋 < lazily;
+約翰一書 < 1\-john;
+扣留 < detain;
+松雞 < grouse;
+弣 < middle;
+高度 < height;
+廆 < a\-room;
+異教 < heresy;
+巤 < a\-mane;
+巘 < summit;
+嶓 < boshan;
+崿 < cliffs;
+地主 < a\-host;
+馬戲團 < circus;
+高山 < alpine;
+生涯 < career;
+作者 < author;
+挪威 < norway;
+尅 < subdue;
+尋的 < homing;
+寎 < drowsy;
+馬鈴薯 < potato;
+孾 < a\-baby;
+使轉向 < divert;
+沒有人 < nobody;
+嬃 < sister;
+嫪 < hanker;
+婼 < person;
+博物館 < museum;
+娒 < matron;
+朋黨 < clique;
+禮拜堂 < chapel;
+混血 < hybrid;
+跋涉 < trudge;
+夬 < parted;
+僅僅 < barely;
+漏斗 < funnel;
+不透明 < opaque;
+堧 < adjoin;
+乳頭 < nipple;
+理論 < theory;
+介質 < medium;
+嚿 < a\-lump;
+由於 < due\-to;
+噚 < fathom;
+和風 < breeze;
+喆 < a\-sage;
+扶植 < foster;
+環球 < global;
+唫 < to\-hum;
+除了之外 < except;
+唈 < to\-sob;
+哤 < jargon;
+便池 < urinal;
+呮 < to\-sit;
+厎 < settle;
+宣稱 < assert;
+哀辭 < lament;
+扁桃體 < tonsil;
+勄 < active;
+乾酪 < cheese;
+更高 < higher;
+偌大 < so\-big;
+正方形 < square;
+肌肉 < muscle;
+驚恐 < appall;
+可信任 < trusty;
+文學家 < writer;
+手槍 < pistol;
+僬 < clever;
+傎 < topple;
+移動式 < mobile;
+家畜 < cattle;
+福音 < gospel;
+起源 < origin;
+倃 < damage;
+亂跳 < bounce;
+到此處 < hither;
+膽大 < daring;
+仚 < to\-fly;
+製陶工人 < potter;
+健全 < robust;
+䶁 < noises;
+䵧 < to\-dye;
+䴥 < a\-stag;
+䳾 < an\-owl;
+拌嘴 < bicker;
+打擊 < to\-hit;
+䳇 < parrot;
+笨拙 < clumsy;
+䲹 < ospery;
+人口調查 < census;
+䲌 < a\-fish;
+䱕 < labrus;
+䰣 < an\-elf;
+瑕疵 < stigma;
+䯨 < to\-rap;
+䯁 < a\-mule;
+墨西哥 < mexico;
+清真寺 < mosque;
+䭪 < grains;
+䭥 < a\-bait;
+䭌 < congee;
+䬸 < a\-meal;
+䬑 < a\-gale;
+䫬 < to\-bow;
+海裡 < marine;
+味道 < flavor;
+䨺 < cloudy;
+䨟 < puddle;
+䨇 < a\-pair;
+無論如何 < anyhow;
+䧴 < a\-bird;
+䧑 < a\-dike;
+出埃及記 < exodus;
+安哥拉 < angola;
+有藥癮者 < addict;
+䥪 < to\-cup;
+䥨 < a\-file;
+䥍 < a\-whip;
+以色列 < israel;
+私語 < murmur;
+釣魚用具 < tackle;
+最近 < recent;
+䣘 < a\-hall;
+清瘦 < meager;
+䣈 < a\-lane;
+釘書針 < staple;
+岸上 < ashore;
+照相機 < camera;
+䠰 < coiled;
+䠤 < toddle;
+紡織者 < weaver;
+中途 < midway;
+斯拉夫 < slavic;
+䝜 < a\-lion;
+䝄 < cowpea;
+俄羅斯 < russia;
+䜞 < a\-dose;
+木製 < wooden;
+安然 < safely;
+飢荒 < famine;
+䘰 < a\-hood;
+趾尖 < tiptoe;
+䘬 < armour;
+䘌 < gadfly;
+䗫 < a\-frog;
+䖹 < weevil;
+信奉 < belief;
+成效 < effect;
+䔯 < salted;
+瓶子 < bottle;
+䔢 < cathay;
+䔏 < a\-lush;
+三重 < treble;
+䓦 < a\-rule;
+客氣 < polite;
+䓄 < grassy;
+浮著 < afloat;
+變黑 < darken;
+䒉 < a\-long;
+䒂 < an\-oar;
+弓箭手 < archer;
+䑺 < a\-sail;
+䑴 < a\-boat;
+浮華 < vanity;
+䐦 < sleepy;
+䐥 < stinky;
+駁斥 < refute;
+不適 < unwell;
+䏪 < tendon;
+羞辱 < baffle;
+留下 < remain;
+䏣 < maggot;
+上邊 < upside;
+䎱 < a\-drag;
+胡桃 < walnut;
+䍃 < a\-vase;
+封建 < feudal;
+和藹 < kindly;
+䋐 < fabric;
+䊧 < a\-fart;
+塞爾特 < celtic;
+䊛 < shreds;
+穿洞 < pierce;
+䈴 < a\-cage;
+䈎 < a\-leaf;
+䇚 < to\-tap;
+䇁 < a\-cave;
+䆼 < a\-nest;
+䆮 < to\-dip;
+䆙 < a\-kiln;
+客棧 < tavern;
+叩頭 < kowtow;
+房客 < tenant;
+第四 < fourth;
+䄹 < a\-year;
+野餐 < picnic;
+䄘 < a\-rite;
+䃥 < stones;
+專家 < expert;
+䂷 < broken;
+使得 < usable;
+㿼 < a\-bowl;
+㿻 < a\-tray;
+打字員 < typist;
+㿭 < cracks;
+㿧 < fields;
+蜃景 < mirage;
+㿔 < a\-wart;
+反駁 < retort;
+少女 < maiden;
+㽷 < dropsy;
+㼾 < bricks;
+海綿 < sponge;
+星期日 < sunday;
+㼄 < pearls;
+用于 < use\-in;
+㸿 < a\-calf;
+晚飯 < supper;
+㷋 < embers;
+葡萄乾 < raisin;
+賭注 < stakes;
+㶤 < to\-fry;
+㶈 < creeks;
+神諭 < oracle;
+㵝 < moving;
+不要 < don''t\!;
+㴞 < fluent;
+我自己 < myself;
+材積 < volume;
+扁圓 < oblate;
+㳌 < marshy;
+㱞 < danger;
+㱍 < to\-owe;
+叮鈴 < jingle;
+㰃 < a\-tree;
+大步走 < stride;
+第八 < eighth;
+上衫 < blouse;
+㮖 < to\-lay;
+㭱 < a\-case;
+比較喜歡 < prefer;
+寶塔 < pagoda;
+㫺 < bygone;
+不公平 < unfair;
+客戶 < client;
+㫅 < a\-flag;
+㪹 < to\-rob;
+㩲 < a\-fist;
+芭蕾舞 < ballet;
+㨾 < a\-type;
+㧧 < a\-comb;
+家庭 < family;
+柏林 < berlin;
+㦔 < silkly;
+有罪 < guilty;
+㦊 < lavish;
+㦅 < uneasy;
+鍵帽 < keycap;
+小包 < packet;
+亨特 < hunter;
+打傷 < bruise;
+頁邊 < margin;
+手冊 < manual;
+㡁 < a\-robe;
+㠲 < ripped;
+牙齒 < dental;
+名言 < saying;
+㝹 < a\-hare;
+耀眼 < dazzle;
+伯利茲 < belize;
+港彎 < harbor;
+背帶 < braces;
+螺旋形 < spiral;
+㚼 < a\-girl;
+㚻 < sodomy;
+㚌 < a\-band;
+㙹 < a\-damp;
+比較少 < lesser;
+犯錯 < to\-err;
+在此處 < herein;
+暴虐 < brutal;
+被害人 < victim;
+阿多尼斯 < adonis;
+波蘭 < poland;
+㔺 < an\-age;
+㔉 < to\-dig;
+㓵 < swords;
+㓠 < a\-flaw;
+㓅 < frozen;
+星雲 < nebula;
+海狸 < beaver;
+阿波羅 < apollo;
+依偎 < nestle;
+懦夫 < coward;
+使耳聾 < deafen;
+休惜 < recess;
+蓬鬆 < fluffy;
+磁鐵 < magnet;
+校園 < campus;
+變質 < go\-bad;
+義賣會 < bazaar;
+羊肉 < mutton;
+工作室 < studio;
+吊著 < dangle;
+紫羅蘭色 < violet;
+門外漢 < layman;
+憎惡 < loathe;
+透印版印刷 < offset;
+在附近 < nearby;
+憎恨 < detest;
+塗油於 < anoint;
+雜貨商 < grocer;
+喜劇 < comedy;
+寒冬 < wintry;
+貶斥 < demote;
+單位 < a\-unit;
+球拍 < racket;
+維吾爾 < uighur;
+英雄式 < heroic;
+子彈 < bullet;
+理髮師 < barber;
+傭人領班 < butler;
+安培 < ampere;
+食槽 < manger;
+背叛 < betray;
+贖回 < redeem;
+獨特 < unique;
+毛織運動衫 < jersey;
+金色 < golden;
+起泡沫 < seethe;
+不戰不和 < no\-war;
+室內 < indoor;
+賓客 < guests;
+瑞典 < sweden;
+贊同 < assent;
+薄紙 < tissue;
+悶熱 < sultry;
+星期五 < friday;
+星期一 < monday;
+現存 < extant;
+餐巾 < napkin;
+以太 < ether\-;
+巴爾干 < balkan;
+瑣事 < trifle;
+格格笑 < giggle;
+預算 < budget;
+孟加拉 < bengal;
+青銅 < bronze;
+頑童 < urchin;
+會死 < mortal;
+不然 < not\-so;
+讀者 < reader;
+洪水 < deluge;
+白蘭地 < brandy;
+木料 < lumber;
+愛德華 < edward;
+深化 < deepen;
+現在 < modern;
+蘇格蘭帽 < bonnet;
+變紅 < redden;
+減低速度 < retard;
+猖狂 < savage;
+淨化 < purify;
+後退 < recoil;
+阿拉斯加 < alaska;
+片語 < phrase;
+流星 < meteor;
+悲歎 < bewail;
+存儲 < memory;
+使具體化 < embody;
+典獄長 < warden;
+看不見 < unseen;
+使作嘔 < sicken;
+象徵 < emblem;
+不比 < unlike;
+大錘 < sledge;
+最新 < latest;
+主教 < bishop;
+恐水病 < rabies;
+處女 < virgin;
+賣主 < seller;
+羊毛 < fleece;
+含水 < watery;
+加﹍於 < impose;
+處境 < plight;
+議程 < agenda;
+惡意 < malice;
+本州 < honshu;
+橡皮搽 < eraser;
+數量 < amount;
+斷言 < affirm;
+浪子 < loafer;
+有意 < intend;
+波士頓 < boston;
+名流 < gentry;
+台灣 < taiwan;
+不智 < unwise;
+故障 < glitch;
+合法 < lawful;
+名氣 < repute;
+大路 < avenue;
+海報 < poster;
+亦即 < namely;
+經紀人 < broker;
+紅蘿蔔 < carrot;
+悄悄地 < gently;
+暖氣 < heater;
+使﹍能夠 < enable;
+吸收 < absorb;
+意圖 < intent;
+緣飾 < fringe;
+避難所 < refuge;
+周年 < annual;
+白麵兒 < heroin;
+口渴 < thirst;
+針法 < stitch;
+消化 < digest;
+正門 < portal;
+海員 < sailor;
+吐根 < ipecac;
+雙重 < double;
+青苔 < lichen;
+多變 < fickle;
+鉋床 < planer;
+飼養者 < feeder;
+名望 < renown;
+取消 < cancel;
+那邊 < yonder;
+巴斯克 < basque;
+劈開 < cleave;
+酒窩 < dimple;
+動議 < motion;
+放逐 < banish;
+配稱 < worthy;
+活塞 < piston;
+莫斯科 < moscow;
+𥜌 < a\-coat;
+杏仁 < almond;
+月桂樹 < laurel;
+預期 < expect;
+秉公 < justly;
+禱告 < prayer;
+更大 < bigger;
+九十 < ninety;
+破舊 < shabby;
+一帶 < region;
+碧玉 < jasper;
+微薄的 < meagre;
+只是 < merely;
+小淘氣 < rascal;
+惡化 < worsen;
+一局 < inning;
+無法無天 < outlaw;
+未來 < future;
+鄉紳 < squire;
+詭計 < deceit;
+豁免 < exempt;
+心理 < mental;
+牢牢 < firmly;
+風俗 < custom;
+𠀉 < a\-hill;
+創辦 < launch;
+過量 < excess;
+起訴者 < suitor;
+熔解 < fusion;
+石英 < quartz;
+巴拿馬 < panama;
+包管 < assure;
+動脈 < artery;
+最低 < lowest;
+祭司 < priest;
+特此 < hereby;
+雌蕊 < pistil;
+干預 < meddle;
+化石 < fossil;
+捕鯨船 < whaler;
+水泥 < cement;
+水泡 < bubble;
+演說者 < orator;
+蓋爾 < gaelic;
+前輩 < senior;
+擺樣子 < do\-sth;
+副詞 < adverb;
+危機 < crisis;
+不公 < unjust;
+法國 < france;
+沉思 < ponder;
+暗堡 < bunker;
+狗屋 < kennel;
+暴君 < tyrant;
+波斯尼亞 < bosnia;
+三倍 < triple;
+霜白 < frosty;
+否則 < if\-not;
+分鐘 < minute;
+葬禮 < burial;
+水桶 < bucket;
+撤銷 < repeal;
+加拿大 < canada;
+反射 < reflex;
+不丹 < bhutan;
+非洲 < africa;
+剝蝕 < denude;
+一串 < strand;
+纖毛 < cilium;
+石 < stone;
+短 < short;
+快 < rapid;
+在 < be\-at;
+他 < other;
+矢 < arrow;
+到 < go\-to;
+说 < speak;
+迅 < quick;
+地 < earth;
+心 < heart;
+下 < under;
+辭 < words;
+微 < small;
+家 < house;
+御 < drive;
+后 < queen;
+待 < treat;
+还 < still;
+发 < issue;
+彫 < carve;
+想 < think;
+睡 < sleep;
+轉 < shift;
+所 < place;
+輪 < wheel;
+三 < three;
+輕 < light;
+式 < style;
+样 < shape;
+建 < build;
+延 < delay;
+盲 < blind;
+廣 < broad;
+声 < sound;
+工 < labor;
+盆 < basin;
+盃 < glass;
+正 < right;
+庸 < usual;
+女 < woman;
+力 < power;
+躑 < waver;
+因 < cause;
+重 < heavy;
+皇 < royal;
+庇 < cover;
+次 < order;
+口 < mouth;
+白 < white;
+幽 < quiet;
+教 < teach;
+再 < again;
+气 < steam;
+信 < trust;
+北 < north;
+蹲 < squat;
+蹟 < trace;
+幅 < piece;
+入 < enter;
+先 < first;
+水 < water;
+巷 < alley;
+笑 < smile;
+立 < stand;
+跪 < kneel;
+马 < horse;
+巨 < large;
+疑 < doubt;
+利 < gains;
+果 < fruit;
+赧 < blush;
+至 < reach;
+清 < clear;
+物 < thing;
+嵌 < inlay;
+甲 < armor;
+田 < field;
+许 < allow;
+八 < eight;
+崖 < cliff;
+崎 < rough;
+南 < south;
+色 < color;
+瓜 < melon;
+算 < count;
+賊 < thief;
+貯 < store;
+貨 < goods;
+每 < every;
+屬 < class;
+豪 < brave;
+豆 < beans;
+七 < seven;
+尖 < sharp;
+射 < shoot;
+空 < empty;
+技 < skill;
+寺 < court;
+寫 < write;
+英 < petal;
+密 < dense;
+钱 < money;
+容 < looks;
+宵 < night;
+始 < begin;
+客 < guest;
+片 < slice;
+研 < grind;
+早 < early;
+獻 < offer;
+獺 < otter;
+獸 < beast;
+獨 < alone;
+警 < guard;
+存 < exist;
+證 < proof;
+謝 < thank;
+猜 < guess;
+嬉 < enjoy;
+黑 < black;
+謁 < visit;
+剑 < sword;
+乐 < happy;
+级 < level;
+举 < raise;
+证 < prove;
+照 < shine;
+誓 < swear;
+群 < group;
+誂 < tempt;
+伤 < wound;
+断 < sever;
+价 < price;
+脑 < brain;
+规 < rules;
+娑 < dance;
+破 < break;
+泽 < marsh;
+燻 < smoke;
+紧 < tense;
+觸 < touch;
+装 < dress;
+河 < river;
+血 < blood;
+投 < throw;
+奴 < slave;
+刀 < knife;
+襟 < lapel;
+喝 < drink;
+褪 < strip;
+夢 < dream;
+错 < error;
+案 < table;
+印 < print;
+壓 < press;
+烈 < fiery;
+壇 < altar;
+裂 < split;
+袴 < pants;
+墓 < grave;
+炎 < flame;
+灰 < ashes;
+塗 < smear;
+敌 < enemy;
+塔 < tower;
+怀 < bosom;
+罪 < crime;
+蟲 < worms;
+濱 < beach;
+摘 < pluck;
+施 < grant;
+模 < model;
+草 < grass;
+濃 < thick;
+濁 < muddy;
+修 < study;
+味 < taste;
+织 < weave;
+龕 < niche;
+蝿 < flies;
+免 < spare;
+波 < waves;
+潔 < clean;
+洋 < ocean;
+均 < equal;
+奖 < prize;
+顿 < pause;
+漂 < float;
+判 < judge;
+担 < carry;
+板 < plank;
+钟 < clock;
+黐 < stick;
+蛇 < snake;
+构 < frame;
+溺 < drown;
+麦 < wheat;
+溝 < ditch;
+溜 < slide;
+肉 < flesh;
+纸 < paper;
+虚 < false;
+虎 < tiger;
+噌 < scold;
+杂 < mixed;
+怒 < anger;
+稿 < draft;
+渦 < swirl;
+渡 < cross;
+罢 < cease;
+鷺 < heron;
+鷹 < eagle;
+藩 < fence;
+藥 < drugs;
+鲜 < fresh;
+嗅 < smell;
+藁 < straw;
+鶴 < crane;
+枪 < spear;
+涯 < shore;
+涙 < tears;
+配 < match;
+浴 < bathe;
+升 < arise;
+浜 < creek;
+蔭 < shade;
+津 < ferry;
+鬼 < ghost;
+蓮 < lotus;
+避 < avoid;
+亡 < death;
+闪 < flash;
+震 < shake;
+咳 < cough;
+绿 < green;
+咎 < fault;
+纳 < admit;
+呪 < curse;
+童 < child;
+伟 < great;
+汁 < juice;
+荣 < glory;
+吐 < vomit;
+鰌 < loach;
+喊 < shout;
+吉 < lucky;
+逐 < chase;
+叩 < knock;
+检 < check;
+握 < grasp;
+牙 < tooth;
+殖 < breed;
+卿 < noble;
+歯 < teeth;
+歪 < slant;
+棋 < chess;
+魔 < demon;
+腰 < waist;
+梅 < plums;
+钢 < steel;
+茹 < roots;
+欺 < cheat;
+鬚 < beard;
+匙 < spoon;
+匍 < crawl;
+茅 < reeds;
+累 < tired;
+末 < final;
+糊 < paste;
+税 < taxes;
+惯 < habit;
+倾 < upset;
+贸 < trade;
+扫 < sweep;
+吓 < scare;
+剃 < shave;
+刷 < brush;
+羊 < sheep;
+扑 < pound;
+倍 < times;
+冶 < smelt;
+膳 < meals;
+兼 < unite;
+鞋 < shoes;
+挤 < crowd;
+颗 < grain;
+惠 < favor;
+腕 < wrist;
+桃 < peach;
+坡 < slope;
+償 < repay;
+植 < plant;
+脊 < spine;
+椅 < chair;
+肚 < belly;
+棲 < perch;
+肝 < liver;
+疯 < crazy;
+耻 < shame;
+侍 < serve;
+衫 < shirt;
+钻 < drill;
+峡 < gorge;
+韻 < rhyme;
+丑 < clown;
+澳 < inlet;
+疼 < aches;
+档 < shelf;
+玛 < agate;
+靴 < boots;
+傲 < proud;
+霜 < frost;
+吵 < argue;
+邪 < wrong;
+脆 < crisp;
+曳 < trail;
+離 < leave;
+叛 < rebel;
+翼 < wings;
+甜 < sweet;
+隙 < crack;
+傅 < tutor;
+喷 < spurt;
+娶 < marry;
+闇 < close;
+糖 < sugar;
+珊 < coral;
+砸 < smash;
+絞 < twist;
+轨 < track;
+籖 < tally;
+擒 < catch;
+揃 < shear;
+箒 < broom;
+鍮 < brass;
+嗓 < voice;
+啥 < what\?;
+蜜 < honey;
+鋏 < tongs;
+肿 < swell;
+裙 < skirt;
+尿 < urine;
+逮 < seize;
+倡 < guide;
+兜 < pouch;
+魄 < vigor;
+糕 < cakes;
+稚 < young;
+鈍 < blunt;
+禽 < birds;
+憺 < peace;
+链 < chain;
+憬 < rouse;
+凳 < bench;
+酬 < toast;
+灿 < vivid;
+攀 < climb;
+沫 < froth;
+魁 < chief;
+滥 < flood;
+戳 < prick;
+桩 < stake;
+肺 < lungs;
+纱 < gauze;
+陡 < steep;
+烫 < scald;
+鹅 < goose;
+敞 < roomy;
+峨 < lofty;
+虐 < cruel;
+辫 < braid;
+怦 < eager;
+浇 < spray;
+膛 < chest;
+闵 < mourn;
+袜 < socks;
+贿 < bribe;
+墅 < villa;
+秽 < dirty;
+呻 < groan;
+拧 < pinch;
+杠 < lever;
+缎 < satin;
+惮 < dread;
+噗 < burst;
+矶 < jetty;
+簇 < swarm;
+懊 < vexed;
+拇 < thumb;
+铲 < spade;
+哽 < choke;
+冕 < crown;
+疮 < tumor;
+赃 < booty;
+婊 < whore;
+锯 < a\-saw;
+嘈 < noisy;
+缰 < reins;
+讪 < abuse;
+忡 < a\-sad;
+馍 < bread;
+颅 < skull;
+烙 < brand;
+埔 < plain;
+阜 < mound;
+炬 < torch;
+炙 < roast;
+婪 < covet;
+蹑 < tread;
+竺 < india;
+剌 < slash;
+筛 < sieve;
+篡 < usurp;
+鲸 < whale;
+抡 < swing;
+涮 < rinse;
+酵 < yeast;
+橄 < olive;
+雏 < chick;
+涧 < brook;
+腺 < gland;
+忱 < truth;
+蜿 < creep;
+镀 < plate;
+胭 < rouge;
+赳 < grand;
+糠 < chaff;
+帛 < silks;
+鲨 < shark;
+踝 < ankle;
+眈 < gloat;
+倭 < dwarf;
+镐 < stove;
+虱 < louse;
+搐 < cramp;
+戛 < lance;
+呃 < belch;
+榭 < kiosk;
+酪 < cream;
+孀 < widow;
+孪 < twins;
+瞰 < watch;
+氮 < xenon;
+痣 < spots;
+摒 < expel;
+俸 < wages;
+愠 < angry;
+扪 < stoke;
+绉 < crepe;
+珀 < amber;
+诩 < boast;
+芍 < peony;
+褶 < pleat;
+酗 < drunk;
+柠 < lemon;
+诙 < tease;
+绺 < skein;
+釉 < glaze;
+孛 < comet;
+椽 < beams;
+颦 < frown;
+淖 < slush;
+莠 < weeds;
+橛 < a\-peg;
+蒺 < furze;
+翕 < agree;
+霾 < misty;
+砧 < anvil;
+胺 < amine;
+蛭 < leech;
+诨 < jokes;
+怫 < sorry;
+楔 < wedge;
+疽 < ulcer;
+桤 < alder;
+铆 < rivet;
+撺 < hurry;
+肄 < learn;
+孢 < spore;
+鲲 < spawn;
+铨 < weigh;
+豕 < a\-pig;
+笊 < ladle;
+囗 < erect;
+铩 < moult;
+鹑 < quail;
+啁 < chirp;
+醚 < ether;
+琰 < jewel;
+迨 < until;
+鹬 < snipe;
+傈 < tribe;
+铰 < hinge;
+硼 < borax;
+酯 < ester;
+镪 < coins;
+扦 < probe;
+溷 < privy;
+俳 < actor;
+蘖 < stump;
+墀 < porch;
+喈 < music;
+吡 < blame;
+瘊 < warts;
+厣 < shell;
+糅 < blend;
+阏 < block;
+鲂 < bream;
+溽 < moist;
+簏 < a\-box;
+裥 < folds;
+缳 < noose;
+龠 < flute;
+蝤 < larva;
+埭 < a\-dam;
+鲶 < sheat;
+锞 < ingot;
+氡 < radon;
+槭 < maple;
+彘 < swine;
+彖 < a\-hog;
+滗 < drain;
+廑 < a\-hut;
+匏 < gourd;
+篼 < sedan;
+蛞 < snail;
+璁 < \(gem\);
+绗 < baste;
+埘 < roost;
+巴黎 < paris;
+代理人 < agent;
+遊蕩 < stray;
+弄糟 < spoil;
+恩典 < grace;
+大爺 < uncle;
+日本 < japan;
+可可 < cocoa;
+可口 < tasty;
+延緩 < defer;
+姪女 < niece;
+陷落 < slump;
+牛排 < steak;
+隱約 < vague;
+合併 < annex;
+護士 < nurse;
+泊位 < berth;
+獨木舟 < canoe;
+條板箱 < crate;
+陳列臺 < stall;
+遊艇 < barge;
+陰莖 < penis;
+智利 < chile;
+壓碎 < crush;
+每每 < often;
+韓國 < korea;
+石狀 < stony;
+男修道院長 < abbot;
+別號 < alias;
+引用 < quote;
+市長 < mayor;
+爐架 < grate;
+機關 < organ;
+泥水匠 < mason;
+鴉片 < opium;
+植物群 < flora;
+在高處 < aloft;
+撐竿跳 < vault;
+放牧 < graze;
+每日 < daily;
+套房 < suite;
+違礙 < taboo;
+優點 < merit;
+徘徊 < hover;
+視覺 < sight;
+敘利亞 < syria;
+刀葉 < blade;
+摩西 < moses;
+虛張聲勢 < bluff;
+調制解調器 < modem;
+青年 < youth;
+標題 < title;
+氨基 < amino;
+機軸 < arbor;
+醒來 < waken;
+門閂 < latch;
+靈巧 < handy;
+元音 < vowel;
+克隆 < clone;
+整整 < whole;
+匯寄 < remit;
+剁碎 < mince;
+調情 < flirt;
+未成年人 < minor;
+匆忙 < hasty;
+毛巾 < towel;
+芳香 < balmy;
+年級 < grade;
+紫丁香 < lilac;
+散文 < prose;
+不新鮮 < stale;
+西藏 < tibet;
+大農場 < ranch;
+火車 < train;
+死板 < rigid;
+矛柄 < shaft;
+長釘 < spike;
+步槍 < rifle;
+刻痕 < notch;
+選民 < voter;
+魔鬼 < devil;
+新娘 < bride;
+謠傳 < rumor;
+新奇 < novel;
+煤渣 < slack;
+花開 < bloom;
+物主 < owner;
+彈弓 < sling;
+多水分 < juicy;
+報窩 < brood;
+麵包師傅 < baker;
+電影 < movie;
+摸索 < grope;
+速率 < speed;
+破壞 < wreck;
+約莫 < about;
+壁架 < ledge;
+呼叫器 < pager;
+階段 < stage;
+十分 < fully;
+地面 < floor;
+諷刺 < irony;
+白費 < waste;
+運河 < canal;
+八角 < anise;
+陰涼 < shady;
+擦洗 < scour;
+熱忱 < ardor;
+綠洲 < oasis;
+下水道 < sewer;
+固體 < solid;
+僧院 < abbey;
+推選 < elect;
+推進 < impel;
+關節 < joint;
+從來不 < never;
+艦隊 < fleet;
+比分 < score;
+剛果 < congo;
+火花 < spark;
+影像 < image;
+盜竊 < steal;
+麺 < flour;
+麘 < scent;
+鹾 < salty;
+鸲 < mynah;
+二極管 < diode;
+睡椅 < couch;
+競技場 < arena;
+加寬 < widen;
+鴪 < swoop;
+可擦寫可編程祇讀存儲器 < eprom;
+說出 < utter;
+澳門 < aomen;
+推論 < infer;
+糢糊 < foggy;
+鰞 < squid;
+動向 < trend;
+天使 < angel;
+褐色 < brown;
+鬆開 < loose;
+櫸木 < beech;
+部件 < parts;
+軌道 < orbit;
+鬎 < favus;
+閃耀 < glint;
+臭鼬 < skunk;
+髳 < state;
+髲 < a\-wig;
+疾風 < blast;
+攤子 < booth;
+大人 < adult;
+麥阿密 < miami;
+出沒 < haunt;
+駞 < camel;
+道德 < moral;
+發聲 < vocal;
+長老 < elder;
+休息室 < lobby;
+樹籬 < hedge;
+饘 < gruel;
+球狀物 < globe;
+餪 < feast;
+餦 < candy;
+帝王 < regal;
+強光 < glare;
+飶 < odour;
+飑 < storm;
+軌跡 < locus;
+軌距 < gauge;
+補藥 < tonic;
+對敵者 < rival;
+幽暗 < gloom;
+擔懮 < worry;
+榮譽 < honor;
+魔術 < magic;
+鞃 < board;
+靦 < timid;
+霱 < cloud;
+霙 < sleet;
+開端 < start;
+雞冠 < crest;
+陼 < islet;
+阹 < a\-pen;
+切望 < crave;
+冬青樹 < holly;
+標籤 < label;
+镟 < lathe;
+然後 < after;
+那兒 < there;
+钃 < metal;
+圖表 < chart;
+圍裙 < apron;
+粗糙 < crude;
+果子凍 < jelly;
+大地圖 < atlas;
+剪報 < scrap;
+規模 < scale;
+那些 < those;
+鈇 < an\-ax;
+辦法 < means;
+船貨 < cargo;
+歌劇 < opera;
+烏木 < ebony;
+雅各書 < james;
+粉筆 < chalk;
+絕技 < stunt;
+臉頰 < cheek;
+白癡 < idiot;
+角度 < angle;
+發病 < onset;
+感化餅乾 < wafer;
+基本 < basic;
+火焰 < blaze;
+探索 < quest;
+填塞 < stuff;
+糖漿 < syrup;
+粉碎 < crash;
+英代爾 < intel;
+貤 < steps;
+舉起 < heave;
+豔 < plump;
+這天 < today;
+讙 < cheer;
+譁 < noise;
+尼龍 < nylon;
+毛茸茸 < hairy;
+隊伍 < ranks;
+觔 < catty;
+幅度 < width;
+橡木 < oaken;
+精液 < semen;
+床單 < sheet;
+剃刀 < razor;
+蠗 < \(ape\);
+尼日爾 < niger;
+蟢 < caulk;
+凳子 < stool;
+膽量 < nerve;
+蝘 < gecko;
+再會 < adieu;
+檳子 < binzi;
+兩次 < twice;
+修飾 < adorn;
+索引 < index;
+僵硬 < stark;
+蘓 < thyme;
+蘋 < apple;
+工會 < union;
+裂痕 < chasm;
+細小 < petty;
+驅除 < repel;
+樹林 < woods;
+潛行 < sneak;
+垂死 < dying;
+樺木 < birch;
+莿 < thorn;
+公會 < guild;
+苶 < weary;
+收音機 < radio;
+搓揉 < knead;
+臽 < a\-pit;
+臲 < jumpy;
+臛 < broth;
+這些 < these;
+庇佑 < bless;
+假裝 < feign;
+辮子 < plait;
+降下 < lower;
+腡 < lines;
+樓梯 < stair;
+第三次 < third;
+高聲 < aloud;
+尊魚 < trout;
+肕 < tough;
+回答 < reply;
+耞 < flail;
+招待員 < usher;
+簡短 < brief;
+翽 < whirr;
+囤積 < hoard;
+翄 < winds;
+駿馬 < steed;
+罉 < a\-pot;
+色狼 < satyr;
+纻 < ramie;
+轉播 < relay;
+批量 < batch;
+縏 < purse;
+綌 < cloth;
+皮帶 < strap;
+撒但 < satan;
+冰塔 < serac;
+粎 < metre;
+箛 < bugle;
+輕染 < tinge;
+筰 < cable;
+筦 < a\-key;
+竔 < litre;
+招致 < incur;
+一線微光 < gleam;
+穧 < sheaf;
+栗鼠 < bunny;
+巫婆 < witch;
+門廊 < stoop;
+礶 < a\-jug;
+意大利 < italy;
+磈 < rocky;
+烘乾 < parch;
+水平面 < plane;
+公尺 < meter;
+矓 < faint;
+瞏 < round;
+亞麻布 < linen;
+眹 < pupil;
+五花八門 < myrid;
+盎司 < ounce;
+皽 < scurf;
+騎車 < cycle;
+精子 < sperm;
+癡 < silly;
+凌亂 < chaos;
+俚語 < slang;
+紅利 < bonus;
+溜冰鞋 < skate;
+甎 < brick;
+作哼聲 < snort;
+埃及 < egypt;
+製造者 < maker;
+瑔 < \(jade;
+珖 < carat;
+符記 < token;
+喪鐘 < knell;
+脹起 < bulge;
+公噸 < tonne;
+無生命 < inert;
+牜 < an\-ox;
+牔 < gable;
+酪農業 < dairy;
+生苔 < mossy;
+騙術 < trick;
+打製 < forge;
+灣 < a\-bay;
+腐蝕 < rusty;
+水蒸氣 < vapor;
+六十 < sixty;
+公升 < liter;
+似雪 < snowy;
+病毒 < virus;
+推崇 < value;
+路線 < route;
+巨人 < giant;
+像片簿 < album;
+手藝 < craft;
+贈與者 < giver;
+斜紋軟呢 < tweed;
+汳 < henan;
+德克薩斯 < texas;
+馬達 < motor;
+四月 < april;
+殑 < swoon;
+其中 < among;
+歈 < songs;
+欸 < sighs;
+滑翔 < glide;
+天藍色 < azure;
+衰敗 < decay;
+苛刻 < harsh;
+檨 < mango;
+空間 < space;
+樕 < shrub;
+掠奪 < harry;
+察覺 < aware;
+屋簷 < eaves;
+格言 < maxim;
+楅 < buard;
+瓣膜 < valve;
+椈 < cedar;
+棁 < joist;
+圍巾 < scarf;
+寓言 < fable;
+被子 < quilt;
+栍 < a\-lot;
+小舌 < uvula;
+就緒 < ready;
+軀幹 < trunk;
+手肘 < elbow;
+客車 < coach;
+艾姬 < aggie;
+飛行員 < pilot;
+在外 < outer;
+崇拜 < adore;
+充份 < ample;
+高明 < smart;
+痛恨 < abhor;
+痛快 < jolly;
+捐贈者 < donor;
+敔 < gavel;
+西班牙 < spain;
+男爵 < baron;
+固定 < fixed;
+尖細 < taper;
+花俏 < fancy;
+赫茲 < hertz;
+挌 < fight;
+提多書 < titus;
+圍城 < siege;
+扢 < caper;
+致敬 < greet;
+軍團 < corps;
+愃 < relax;
+排列 < array;
+俏皮 < saucy;
+舞弊 < fraud;
+悾 < naive;
+補丁 < patch;
+生麵糰 < dough;
+滿身塵埃 < dusty;
+漿果 < berry;
+阿拉摩 < alamo;
+魅力 < charm;
+漂游 < drift;
+彑 < snout;
+調味肉汁 < gravy;
+潑掉 < spill;
+帒 < a\-bag;
+資金 < funds;
+男高音 < tenor;
+一點兒 < a\-bit;
+嶞 < ridge;
+自我 < self\-;
+果酒 < cider;
+崚 < hilly;
+捷克 < czech;
+用法 < usage;
+存貨 < stock;
+高尚 < nobly;
+拍擊 < smack;
+嫚 < scorn;
+小樹林 < grove;
+布萊爾 < blair;
+在﹍之下 < below;
+在﹍之上 < above;
+激光 < laser;
+安華 < anwar;
+拂掃 < whisk;
+船只 < ships;
+壆 < stiff;
+墺 < walls;
+墍 < paint;
+塙 < truly;
+四十 < forty;
+坰 < wilds;
+撥火棍 < poker;
+噺 < story;
+嗐 < alas\!;
+流體 < fluid;
+喴 < hello;
+啲 < a\-few;
+啍 < creak;
+哶 < bleat;
+咍 < laugh;
+吰 < clang;
+範圍 < range;
+厺 < to\-go;
+厖 < bulky;
+三色紫羅蘭 < pansy;
+修改 < amend;
+有風 < windy;
+驚慌 < panic;
+在旁邊 < aside;
+冧 < a\-bud;
+主題 < theme;
+營業員 < clerk;
+哪裡 < where;
+國際電報電話咨詢委員會 < ccitt;
+警報器 < siren;
+當地 < local;
+倉庫 < depot;
+佺 < fairy;
+伊索 < aesop;
+動態影像 < video;
+三角洲 < delta;
+笑林 < humor;
+威爾士 < wales;
+棚子 < shack;
+䶇 < a\-rat;
+肯尼亞 < kenya;
+男子 < a\-man;
+股票 < share;
+䳱 < ducks;
+麵包皮 < crust;
+肥碩 < stout;
+䯍 < bones;
+石南樹 < heath;
+拴住 < hitch;
+蠢事 < folly;
+䪻 < a\-cap;
+䩕 < clogs;
+下雨 < rainy;
+驚奇 < amaze;
+䨹 < swift;
+噴出 < spout;
+䧪 < sissy;
+䦞 < extra;
+䥓 < a\-hoe;
+䤙 < dregs;
+腱子 < sinew;
+更遲 < later;
+黑貂 < sable;
+䝒 < a\-sow;
+䚟 < horns;
+螺絲釘 < screw;
+䚉 < o\-see;
+沙龍 < salon;
+䗕 < bends;
+保姆 < nanny;
+唱詩班 < choir;
+拉丁 < latin;
+䑁 < fatty;
+會談 < talks;
+脈搏 < pulse;
+䏳 < olein;
+䏯 < moles;
+䍥 < smoky;
+金髮 < blond;
+䍌 < a\-jar;
+三千五百 < 3\-500;
+䌑 < tight;
+䌐 < ropes;
+䊻 < silky;
+小屋 < cabin;
+䈉 < a\-fan;
+嘎嘎 < quack;
+䄥 < a\-god;
+䄢 < pious;
+便士 < penny;
+耶穌 < jesus;
+䃙 < rocks;
+鋼琴 < piano;
+騎士 < rider;
+手套 < glove;
+跟前 < front;
+修剪 < prune;
+㾚 < itchy;
+香料 < spice;
+伺服 < servo;
+租約 < lease;
+㼏 < a\-bad;
+尖塔 < spire;
+嗶嘰 < serge;
+污點 < stain;
+法郎 < franc;
+活著 < alive;
+㺃 < a\-dog;
+㹻 < puppy;
+㹋 < a\-cow;
+肅清 < purge;
+㸃 < a\-dot;
+發牢騷 < whine;
+淹沒 < flush;
+第十 < tenth;
+時髦 < vogue;
+打呼 < snore;
+㰼 < greed;
+餘燼 < ember;
+㯷 < dates;
+第六 < sixth;
+㮥 < sails;
+羽莖 < quill;
+封地 < manor;
+題解 < notes;
+長頸瓶 < flask;
+一行 < party;
+㨗 < alert;
+㨃 < a\-row;
+小吃 < snack;
+安全理事會 < the\-u;
+㧍 < alike;
+珍珠 < pearl;
+鼻煙 < snuff;
+洋蔥 < onion;
+示威運動 < rally;
+趣劇 < farce;
+低廉 < cheap;
+哀痛 < grief;
+第五 < fifth;
+第九 < ninth;
+㡶 < dwell;
+㡐 < flags;
+㡌 < a\-hat;
+㡇 < colar;
+有線 < wired;
+㞾 < a\-nun;
+㞕 < chips;
+㞒 < lusty;
+戲劇 < drama;
+載貨汽車 < lorry;
+罩衫 < smock;
+㖤 < wrath;
+㕎 < caves;
+皺眉頭 < scowl;
+㓝 < a\-law;
+㓁 < a\-net;
+㒩 < naked;
+㒌 < along;
+率直 < frank;
+㐱 < bushy;
+景象 < scene;
+象牙 < ivory;
+喝叱 < chide;
+琴弦 < chord;
+獎章 < medal;
+子房 < ovary;
+怪誕 < freak;
+深度 < depth;
+午餐 < lunch;
+獵犬 < hound;
+理想 < ideal;
+耽擱 < tarry;
+旅館 < hotel;
+馬來 < malay;
+馬伕 < groom;
+大鹿 < moose;
+聖徒 < saint;
+世界 < world;
+伊斯蘭教 < islam;
+減去 < minus;
+人性 < human;
+慈悲 < mercy;
+論題 < topic;
+卡車 < truck;
+罌粟 < poppy;
+斑馬 < zebra;
+套鐘 < chime;
+守候 < abide;
+板岩 < slate;
+頭皮 < scalp;
+卑賤 < lowly;
+升起 < hoist;
+流浪者 < rover;
+貝寧 < benin;
+旋轉 < whirl;
+灌木叢 < scrub;
+日記 < diary;
+乃是 < to\-be;
+新近 < newly;
+吸氣 < sniff;
+誘陷 < snare;
+杓子 < scoop;
+感官 < sense;
+本影 < umbra;
+人員 < staff;
+續訂 < renew;
+更改 < alter;
+吉普賽人 < gypsy;
+收養 < adopt;
+怪異 < weird;
+貓咪 < kitty;
+沼澤 < glade;
+碎布條 < shred;
+污穢 < nasty;
+三月 < march;
+內在的 < inner;
+電郵 < email;
+勝過 < excel;
+證章 < badge;
+海地 < haiti;
+雷達 < radar;
+鬱金香 < tulip;
+失誤 < lapse;
+邊際 < limit;
+狂熱 < craze;
+五十 < fifty;
+雪茄煙 < cigar;
+東京 < tokyo;
+毒蛇 < viper;
+頌歌 < carol;
+咕嚕 < grunt;
+一打 < dozen;
+試金 < assay;
+頭暈 < dizzy;
+吹笛者 < piper;
+一巴掌 < spank;
+焦點 < focus;
+統治者 < ruler;
+纖維 < fiber;
+事件 < event;
+逗點 < comma;
+咆哮 < growl;
+呼叫聲 < whoop;
+邏輯 < logic;
+更壞 < worse;
+座右銘 < motto;
+三稜鏡 < prism;
+中國 < china;
+多葉 < leafy;
+一層 < layer;
+燻肉 < bacon;
+擢陞 < exalt;
+愛克斯光 < x\-ray;
+大腿 < thigh;
+本人 < i\-\(me;
+韻文 < verse;
+熊貓 < panda;
+斑羚 < goral;
+矮墩墩 < pudgy;
+葡萄 < grape;
+獎品 < award;
+黏住 < cling;
+可怕 < awful;
+過道 < aisle;
+礦工 < miner;
+歌謠 < chant;
+沙拉 < salad;
+斗篷 < cloak;
+月份 < month;
+雛菊 < daisy;
+包穀 < maize;
+阿爾法 < alpha;
+逼迫 < force;
+媒介 < media;
+哪一個 < which;
+教義 < creed;
+合股線 < twine;
+頁岩 < shale;
+瑞典人 < swede;
+厭惡 < loath;
+使羞愧 < abash;
+昏暗 < dusky;
+比率 < ratio;
+霎眼 < blink;
+晴天 < sunny;
+男子氣 < manly;
+使娛樂 < amuse;
+有 < have;
+知 < know;
+这 < this;
+矜 < pity;
+忙 < busy;
+来 < come;
+近 < near;
+道 < path;
+也 < also;
+时 < time;
+年 < year;
+瞻 < look;
+辺 < edge;
+就 < just;
+那 < that;
+生 < life;
+自 < self;
+瞬 < wink;
+过 < pass;
+循 < obey;
+從 < from;
+多 < much;
+好 < good;
+起 < rise;
+只 < only;
+作 < make;
+当 < bear;
+形 < form;
+开 < open;
+手 < hand;
+弱 < weak;
+本 < root;
+头 < head;
+真 < real;
+面 < face;
+公 < fair;
+同 < same;
+动 < move;
+长 < long;
+載 < load;
+将 < will;
+身 < body;
+高 < high;
+把 < hold;
+盥 < wash;
+月 < moon;
+种 < seed;
+軍 < army;
+車 < cart;
+部 < part;
+名 < name;
+皮 < skin;
+机 < desk;
+给 < give;
+等 < rank;
+座 < seat;
+很 < very;
+最 < most;
+店 < shop;
+躍 < skip;
+走 < walk;
+四 < four;
+门 < gate;
+东 < east;
+庁 < hall;
+西 < west;
+平 < flat;
+听 < hear;
+幸 < luck;
+蹴 < kick;
+五 < five;
+帷 < tent;
+帶 < belt;
+希 < rare;
+踊 < leap;
+书 < book;
+九 < nine;
+跳 < jump;
+路 < road;
+痩 < thin;
+活 < live;
+左 < left;
+巣 < nest;
+表 < show;
+跟 < heel;
+痛 < pain;
+痕 < scar;
+痒 < itch;
+感 < feel;
+足 < foot;
+金 < gold;
+何 < what;
+更 < more;
+疋 < roll;
+做 < work;
+计 < plan;
+王 < king;
+各 < each;
+留 < stop;
+畏 < fear;
+男 < male;
+风 < wind;
+崗 < post;
+毛 < hair;
+峰 < peak;
+爱 < love;
+瓦 < tile;
+賣 < sell;
+賃 < rent;
+貸 < lend;
+岸 < bank;
+结 < knot;
+岬 < cape;
+流 < flow;
+貧 < poor;
+青 < blue;
+管 < pipe;
+连 < join;
+队 < team;
+屑 < bits;
+领 < neck;
+屈 < bend;
+尾 < tail;
+半 < half;
+候 < wait;
+步 < step;
+深 < deep;
+区 < area;
+尋 < seek;
+球 < ball;
+告 < tell;
+寸 < inch;
+满 < fill;
+李 < plum;
+息 < rest;
+寒 < cold;
+寄 < send;
+取 < take;
+室 < room;
+宛 < seem;
+孩 < baby;
+广 < wide;
+玉 < jade;
+火 < fire;
+讀 < read;
+譽 < fame;
+则 < rule;
+失 < lose;
+包 < wrap;
+猶 < like;
+落 < fall;
+济 < help;
+謡 < sing;
+编 < knit;
+谈 < talk;
+拉 < pull;
+狼 < wolf;
+杀 < kill;
+嫌 < hate;
+克 < gram;
+冲 < soar;
+推 < push;
+称 < call;
+試 < test;
+号 < mark;
+亚 < asia;
+港 < port;
+般 < sort;
+爪 < claw;
+刚 < hard;
+陆 < land;
+确 < sure;
+具 < tool;
+威 < pomp;
+线 < line;
+触 < butt;
+角 < horn;
+燒 < burn;
+妻 < wife;
+需 < need;
+酒 < wine;
+铁 < iron;
+覗 < peek;
+医 < cure;
+襲 < raid;
+煮 < cook;
+土 < soil;
+软 < soft;
+煤 < coal;
+套 < case;
+户 < door;
+背 < back;
+暗 < dark;
+须 < must;
+裸 < bare;
+树 < tree;
+沉 < sink;
+职 < duty;
+细 < fine;
+補 < mend;
+袢 < robe;
+旁 < side;
+塵 < dust;
+塩 < salt;
+歌 < song;
+灌 < pour;
+塀 < wall;
+堤 < dike;
+恶 < evil;
+堆 < heap;
+慢 < slow;
+堀 < cave;
+蟻 < ants;
+藏 < hide;
+埋 < bury;
+澹 < calm;
+垢 < dirt;
+融 < melt;
+潮 < tide;
+救 < save;
+丝 < silk;
+齊 < even;
+鼻 < nose;
+漬 < soak;
+鼓 < drum;
+漏 < leak;
+录 < copy;
+遇 < meet;
+船 < ship;
+黴 < mold;
+滴 < drip;
+雨 < rain;
+蛙 < frog;
+滑 < slip;
+麻 < hemp;
+蚤 < flea;
+鹿 < deer;
+沙 < sand;
+噛 < bite;
+拍 < clap;
+掉 < turn;
+哭 < weep;
+嘆 < sigh;
+午 < noon;
+卡 < card;
+雪 < snow;
+淵 < gulf;
+涼 < cool;
+刺 < stab;
+薪 < fuel;
+鱼 < fish;
+喘 < pant;
+盘 < tray;
+薔 < rose;
+架 < rack;
+款 < item;
+浪 < wave;
+蕩 < pond;
+洪 < vast;
+镇 < town;
+浄 < pure;
+旅 < trip;
+唾 < spit;
+骨 < bone;
+唖 < dumb;
+鴉 < crow;
+唇 < lips;
+泳 < dive;
+哲 < wise;
+哩 < mile;
+圣 < holy;
+鳥 < bird;
+晓 < dawn;
+沼 < lake;
+腿 < legs;
+探 < find;
+葦 < reed;
+池 < pool;
+葉 < leaf;
+束 < bind;
+呆 < dull;
+吻 < kiss;
+吹 < blow;
+氏 < clan;
+签 < sign;
+氈 < felt;
+奶 < milk;
+菩 < herb;
+叢 < bush;
+挂 < hang;
+航 < sail;
+拳 < fist;
+乘 < ride;
+址 < site;
+毆 < beat;
+魂 < soul;
+乔 < tall;
+粮 < food;
+敏 < fast;
+茎 < stem;
+零 < zero;
+勾 < hook;
+乃 < then;
+抬 < lift;
+苔 < moss;
+冒 < risk;
+檣 < mast;
+闭 < shut;
+碗 < bowl;
+剥 < peel;
+蛋 < eggs;
+促 < urge;
+杰 < hero;
+舟 < boat;
+迟 < late;
+赖 < rely;
+駒 < colt;
+馴 < tame;
+膝 < knee;
+拖 < drag;
+昏 < dusk;
+戒 < warn;
+页 < page;
+井 < well;
+脇 < ribs;
+乏 < lack;
+胞 < womb;
+梨 < pear;
+酸 < tart;
+桶 < pail;
+绩 < spin;
+擦 < wipe;
+殷 < many;
+耕 < plow;
+暖 < warm;
+锁 < lock;
+砍 < hack;
+慈 < kind;
+羹 < soup;
+鞭 < whip;
+羨 < envy;
+撤 < omit;
+筹 < chip;
+杖 < cane;
+霰 < hail;
+滋 < grow;
+谱 < list;
+丘 < hill;
+杆 < pole;
+隈 < cove;
+纂 < edit;
+唉 < alas;
+笼 < cage;
+繪 < draw;
+繩 < rope;
+矿 < mine;
+镖 < dart;
+兆 < omen;
+披 < wear;
+债 < debt;
+堡 < fort;
+颂 < laud;
+絆 < loop;
+钉 < nail;
+哄 < coax;
+铃 < bell;
+契 < deed;
+懒 < lazy;
+猎 < hunt;
+摺 < fold;
+箋 < note;
+捲 < curl;
+秃 < bald;
+鸭 < duck;
+吼 < roar;
+窺 < peep;
+叠 < pile;
+銑 < mill;
+逸 < flee;
+贱 < mean;
+狮 < lion;
+妮 < maid;
+窑 < kiln;
+慾 < lust;
+祷 < pray;
+蹄 < hoof;
+烤 < bake;
+尬 < limp;
+週 < week;
+怠 < idle;
+胶 < glue;
+梳 < comb;
+啤 < beer;
+酿 < brew;
+捣 < hull;
+噢 < moan;
+窟 < hole;
+兑 < cash;
+沸 < boil;
+瘾 < rash;
+妞 < girl;
+帜 < flag;
+蕾 < buds;
+铅 < lead;
+锣 < gong;
+嗦 < suck;
+轴 < axle;
+涕 < tear;
+吆 < bawl;
+聋 < deaf;
+募 < levy;
+皂 < soap;
+蟹 < crab;
+唠 < chat;
+啃 < gnaw;
+羔 < lamb;
+锈 < rust;
+腓 < calf;
+骡 < mule;
+醇 < rich;
+纬 < woof;
+蛤 < clam;
+呱 < wail;
+戎 < arms;
+蔼 < lush;
+礁 < reef;
+闩 < bolt;
+跛 < lame;
+偌 < thus;
+箍 < hoop;
+蟠 < coil;
+掂 < heft;
+遐 < afar;
+吠 < bark;
+蛾 < moth;
+耘 < weed;
+蟾 < toad;
+筏 < raft;
+鲤 < carp;
+芋 < taro;
+鹪 < wren;
+蜕 < molt;
+焊 < weld;
+耙 < rake;
+缄 < seal;
+漩 < eddy;
+饵 < bait;
+谑 < jeer;
+颏 < chin;
+芮 < tiny;
+璨 < gems;
+泵 < pump;
+豌 < peas;
+堑 < moat;
+疵 < flaw;
+榈 < palm;
+鬃 < mane;
+咝 < hiss;
+邋 < rags;
+胤 < heir;
+粕 < lees;
+挞 < flog;
+镫 < lamp;
+阄 < lots;
+锌 < zinc;
+喙 < beak;
+肛 < anus;
+痂 < scab;
+鸢 < kite;
+轭 < yoke;
+洵 < true;
+泅 < swim;
+矾 < alum;
+蚩 < worm;
+鸷 < hawk;
+耋 < aged;
+坨 < lump;
+疱 < acne;
+爨 < oven;
+拊 < slap;
+骟 < geld;
+圹 < tomb;
+龈 < gums;
+阋 < feud;
+酰 < acyl;
+疣 < wart;
+穑 < farm;
+礻 < cult;
+佤 < kawa;
+麸 < bran;
+菖 < iris;
+嫱 < lady;
+谝 < brag;
+氖 < neon;
+跖 < sole;
+蚋 < gnat;
+偾 < ruin;
+疒 < sick;
+噍 < chew;
+洳 < damp;
+炱 < soot;
+膪 < pork;
+绲 < cord;
+宀 < roof;
+帶露 < dewy;
+薄命 < \(usu;
+功績 < feat;
+暴亂 < riot;
+爛泥 < ooze;
+日期 < date;
+姨媽 < aunt;
+伊拉克 < iraq;
+幽谷 < dell;
+教皇 < pope;
+向下 < down;
+速行 < rush;
+有能力 < able;
+這裡 < here;
+缺口 < nick;
+原子 < atom;
+狂吠 < howl;
+心情 < mood;
+野兔 < hare;
+基金 < fund;
+埃米爾 < emir;
+石片 < slab;
+咖啡館 < cafe;
+冰鎮 < iced;
+熾熱 < glow;
+石灰 < lime;
+皮鞭 < lash;
+冷酷 < grim;
+硬幣 < coin;
+凝視 < gaze;
+教派 < sect;
+公雞 < cock;
+角色 < role;
+纖度 < size;
+奉承 < fawn;
+露齒而笑 < grin;
+課文 < text;
+長靴 < boot;
+牢固 < firm;
+百靈 < lark;
+通行稅 < toll;
+玉蜀黍 < corn;
+透紅 < rosy;
+數據 < data;
+詩歌 < poem;
+小毛蟲 < slug;
+樂隊 < band;
+氣味 < odor;
+無禮 < rude;
+都市 < city;
+西薄 < cake;
+最主要 < main;
+雪撬 < sled;
+遨游 < roam;
+毒害 < bane;
+猶他州 < utah;
+細胞 < cell;
+卑劣 < base;
+復原 < heal;
+別的 < else;
+公豬 < boar;
+調子 < tune;
+眼看 < soon;
+面具 < mask;
+弧形 < arch;
+使受傷 < hurt;
+瘦長 < slim;
+花邊 < lace;
+填滿 < cram;
+諾亞 < noah;
+外套 < coat;
+長襪 < hose;
+立方體 < cube;
+長袍 < gown;
+強姦 < rape;
+照料 < tend;
+採邑 < fief;
+掠過 < flit;
+灰色 < gray;
+白骨頂 < coot;
+細看 < peer;
+黶 < mole;
+褪色 < fade;
+麚 < buck;
+適應 < suit;
+麌 < stag;
+麃 < till;
+鹆 < myna;
+一角銀幣 < dime;
+剝掉 < pare;
+郵件 < mail;
+瞑想 < muse;
+遊戲 < game;
+節點 < node;
+騯 < loud;
+駽 < grey;
+捲軸 < reel;
+饌 < feed;
+散出 < shed;
+飡 < meal;
+巢穴 < lair;
+洋娃娃 < doll;
+阿曼 < oman;
+廠子 < yard;
+躲避 < shun;
+熱力 < heat;
+阞 < vein;
+下一次 < next;
+淺黃色 < buff;
+闆 < boss;
+簽証 < visa;
+鳴叫 < hoot;
+镩 < pick;
+镕 < fuse;
+鑢 < file;
+鐩 < lens;
+收割 < reap;
+網孔 < mesh;
+雜亂 < mess;
+掉落 < flop;
+飲食療養 < diet;
+詩人 < bard;
+大袋子 < sack;
+表象 < idea;
+舒適 < cozy;
+英畝 < acre;
+步伐 < pace;
+轗 < fail;
+接縫 < seam;
+公牛 < bull;
+粗砂 < grit;
+公爵 < duke;
+跼 < bent;
+出租車 < taxi;
+跲 < hood;
+菜單 < menu;
+橫樑 < beam;
+賵 < gift;
+術語 < term;
+剛勁 < bold;
+衚衕 < lane;
+艾絨 < moxa;
+誧 < huge;
+觝 < gore;
+先見者 < seer;
+花瓶 < vase;
+蠭 < bees;
+機智 < tact;
+傾聽 < hark;
+螉 < wasp;
+鐘頭 < hour;
+蘒 < \:143;
+藟 < vine;
+炸彈 < bomb;
+回聲 < echo;
+蓫 < dock;
+解凍 < thaw;
+萜 < c5h8;
+菾 < beet;
+長槍 < pike;
+六月 < june;
+僱用 < hire;
+圓盤 < disk;
+地獄 < hell;
+爵士舞 < jazz;
+阿們 < amen;
+腶 < meat;
+脲 < urea;
+路邊 < curb;
+視圖 < view;
+撇去 < skim;
+農奴 < serf;
+艾滋病 < aids;
+帳單 < bill;
+草坪 < lawn;
+搶奪 < snap;
+電燈泡 < bulb;
+竁 < bore;
+穜 < rice;
+禸 < rump;
+價款 < cost;
+樣式 < type;
+損害 < harm;
+模式 < mode;
+盟友 < ally;
+矻 < toil;
+疼痛 < ache;
+樓廂 < loft;
+目瞪口呆 < stun;
+屁話 < shit;
+鏈路 < link;
+猶大書 < jude;
+低音 < bass;
+用膳 < dine;
+笑話 < joke;
+山羊 < goat;
+競賽 < race;
+笨蛋 < fool;
+岩石 < rock;
+略碼 < code;
+涴 < daub;
+較少 < less;
+百合 < lily;
+腰肉 < loin;
+地帶 < zone;
+閣下 < sire;
+龍骨 < keel;
+大頭釘 < tack;
+保羅 < paul;
+色彩 < tint;
+檍 < ilex;
+槹 < spar;
+捲帶 < tape;
+椑 < oval;
+鍍金 < gild;
+指標 < norm;
+衝撞 < dash;
+柣 < sill;
+岩漿 < lava;
+柂 < helm;
+握住 < grip;
+朘 < wane;
+圓屋頂 < dome;
+擫 < tuck;
+策略 < plot;
+摲 < raze;
+搘 < prop;
+亞麻 < flax;
+掞 < easy;
+圈套 < trap;
+雙胞胎 < twin;
+籃圈 < ring;
+膽汁 < gall;
+憰 < wily;
+怳 < wild;
+採伐 < fell;
+一塊麵 < loaf;
+電機及電子學工程師聯合會 < ieee;
+借款 < loan;
+到﹍之上 < onto;
+袖口 < cuff;
+全體人員 < crew;
+使用者 < user;
+秘魯 < peru;
+僧侶 < monk;
+孻 < last;
+拖拉 < haul;
+媊 < star;
+娸 < ugly;
+遠程監控 < rmon;
+在﹍之中 < amid;
+圍住 < gird;
+姤 < mate;
+棍棒 < club;
+拍打 < flap;
+飾釘 < stud;
+偏差 < bias;
+骰子 < dice;
+聖詩 < hymn;
+外小腿 < shin;
+鋪設 < pave;
+吽 < ''om'';
+蛋白石 < opal;
+枯萎 < wilt;
+刜 < chop;
+刓 < trim;
+一分錢 < cent;
+疲倦 < tire;
+賢能 < sage;
+海軍 < navy;
+臭味 < fume;
+侜 < lies;
+伱 < thou;
+偶像 < idol;
+小起重機 < jack;
+跨度 < span;
+䳼 < gull;
+果肉 < pulp;
+䱴 < tuna;
+䯕 < bony;
+命運 < fate;
+字節 < byte;
+羅馬 < rome;
+考試 < exam;
+䧻 < dove;
+倍塔 < beta;
+圓錐體 < cone;
+悠閒 < ease;
+伯爵 < earl;
+周遊 < tour;
+䡀 < nude;
+䠏 < feet;
+䚽 < news;
+琵琶 < lute;
+䙊 < arid;
+膠卷 < film;
+䖭 < grub;
+專用集成電路 < asic;
+䒺 < clay;
+品脫 < pint;
+小島 < isle;
+薄霧 < mist;
+何時 < when;
+口頭 < oral;
+令狀 < writ;
+䁆 < eyes;
+䁅 < rage;
+蕨類 < fern;
+䀀 < cups;
+㿙 < full;
+㾹 < lean;
+抓住 < grab;
+蜂蜜酒 < mead;
+核心 < core;
+決鬥 < duel;
+豆腐 < tofu;
+咒罵 < damn;
+㲻 < sunk;
+㲴 < mind;
+㲜 < rugs;
+㰫 < glad;
+㰟 < hope;
+㮤 < pine;
+蜂房 < hive;
+㮒 < wood;
+㫱 < mild;
+馬廄 < barn;
+亞當 < adam;
+翅膀 < wing;
+金屬薄片 < foil;
+伊朗 < iran;
+主義 < \-ism;
+麥芽 < malt;
+狹谷 < glen;
+牡鹿 < hart;
+在之上 < over;
+名詞 < noun;
+存根 < stub;
+頭腦清楚 < sane;
+㚧 < agil;
+史詩 < epic;
+貴婦人 < dame;
+家園 < home;
+牛飲 < gulp;
+賺得 < earn;
+豎琴 < harp;
+一群 < gang;
+音調 < tone;
+板條 < lath;
+貴族 < lord;
+哈欠 < yawn;
+豬油 < lard;
+錫安 < zion;
+獵物 < prey;
+紅寶石 < ruby;
+犯規 < foul;
+軟木塞 < cork;
+油膏 < balm;
+班房 < jail;
+斑點 < spot;
+浮標 < buoy;
+家伙 < chap;
+後面 < rear;
+天鵝 < swan;
+整齊 < tidy;
+在水步行 < wade;
+母馬 < mare;
+字型 < font;
+安全 < safe;
+粉紅色 < pink;
+孤單 < lone;
+木桶 < cask;
+飾帶 < sash;
+老撾 < laos;
+朦朧 < blur;
+課題 < task;
+珠子 < bead;
+呼呼聲 < whir;
+快步跑 < trot;
+波特 < baud;
+野禽 < fowl;
+暈眩 < daze;
+說謊者 < liar;
+某些 < some;
+強風 < gale;
+麻木 < numb;
+陪審團 < jury;
+韁繩 < rein;
+否決 < veto;
+沙發 < sofa;
+他們 < they;
+泡沫 < foam;
+牛肉 < beef;
+七月 < july;
+一服 < dose;
+豆子 < bean;
+媽媽 < mama;
+敏銳 < keen;
+油油 < oily;
+包裝 < pack;
+污痕 < blot;
+猛撞 < slam;
+面罩 < veil;
+鞭痕 < welt;
+亞丁 < aden;
+獨奏 < solo;
+沐浴 < bath;
+最好 < best;
+誓詞 < oath;
+動詞 < verb;
+高爾夫球 < golf;
+暴徒 < thug;
+汽水 < soda;
+短襪 < sock;
+引證 < cite;
+鈕帶 < bond;
+前面 < fore;
+陣風 < gust;
+惡劣 < vile;
+毛線 < yarn;
+北約 < nato;
+重擊 < bang;
+步調 < gait;
+通風 < airy;
+變換 < vary;
+蒼白 < pale;
+水滴 < drop;
+織布機 < loom;
+電話鈴聲 < buzz;
+收藏 < keep;
+電線 < wire;
+一吹 < puff;
+毛皮 < pelt;
+運費 < fare;
+壁虱 < tick;
+撥開 < poke;
+迷陣 < maze;
+藥丸 < pill;
+光纖分佈數據接口 < fddi;
+露營 < camp;
+毒物 < pest;
+一 < one;
+人 < man;
+我 < our;
+大 < big;
+上 < top;
+你 < you;
+可 < may;
+她 < she;
+天 < sky;
+而 < and;
+然 < yes;
+没 < not;
+日 < sun;
+彩 < hue;
+十 < ten;
+用 < use;
+眼 < eye;
+见 < see;
+老 < old;
+两 < two;
+外 < out;
+法 < law;
+点 < dot;
+盜 < rob;
+其 < his;
+儿 < son;
+新 < new;
+床 < bed;
+皆 < all;
+海 < sea;
+少 < few;
+帽 < hat;
+叫 < cry;
+死 < die;
+放 < put;
+今 < now;
+赤 < red;
+畢 < end;
+战 < war;
+購 < buy;
+瓶 < jug;
+请 < ask;
+交 < mix;
+吃 < eat;
+运 < run;
+网 < net;
+飞 < fly;
+猿 < ape;
+猫 < cat;
+猪 < pig;
+坐 < sit;
+謂 < say;
+狗 < dog;
+切 < cut;
+誤 < err;
+热 < hot;
+牛 < cow;
+低 < low;
+仍 < yet;
+脚 < leg;
+奈 < but;
+排 < row;
+壞 < bad;
+湾 < bay;
+墨 < ink;
+術 < art;
+濘 < mud;
+濕 < wet;
+露 < dew;
+齢 < age;
+蝙 < bat;
+蝋 < wax;
+鼠 < rat;
+蜂 < bee;
+摇 < wag;
+油 < oil;
+藉 < mat;
+液 < sap;
+薯 < yam;
+耳 < ear;
+喋 < nag;
+啜 < sip;
+哀 < sad;
+冰 < ice;
+杯 < cup;
+氣 < air;
+萌 < bud;
+途 < way;
+茶 < tea;
+卵 < egg;
+播 < sow;
+臂 < arm;
+欷 < sob;
+匚 < box;
+摩 < rub;
+冠 < cap;
+芸 < rue;
+缘 < hem;
+染 < dye;
+膿 < pus;
+榻 < cot;
+円 < yen;
+腐 < rot;
+脂 < fat;
+援 < aid;
+哼 < hum;
+偵 < spy;
+顎 < jaw;
+罐 < jar;
+捷 < win;
+霧 < fog;
+乾 < dry;
+缝 < sew;
+抚 < pat;
+挖 < dig;
+扇 < fan;
+乞 < beg;
+赌 < bet;
+欠 < owe;
+氛 < gas;
+締 < tie;
+炒 < fry;
+锡 < tin;
+坑 < pit;
+撕 < rip;
+磕 < hit;
+谎 < lie;
+銜 < bit;
+赋 < tax;
+囊 < bag;
+搂 < hug;
+弓 < bow;
+庐 < hut;
+毯 < rug;
+钥 < key;
+斧 < axe;
+蹦 < hop;
+迢 < far;
+蚂 < ant;
+锄 < hoe;
+捅 < jab;
+桨 < oar;
+狸 < fox;
+猖 < mad;
+趾 < toe;
+蘸 < dip;
+琦 < gem;
+畸 < odd;
+坯 < dam;
+鳝 < eel;
+怩 < shy;
+黠 < sly;
+锛 < adz;
+麋 < elk;
+鳍 < fin;
+刍 < mow;
+柞 < oak;
+鞣 < tan;
+僖 < joy;
+羝 < ram;
+埤 < add;
+空白點 < gap;
+求愛 < woo;
+同位 < par;
+為甚麼 < why;
+受到 < get;
+可以 < can;
+酒廊 < bar;
+男孩子 < boy;
+液晶顯示 < lcd;
+破布 < rag;
+強拉 < tug;
+無花果 < fig;
+經由 < via;
+設法 < try;
+如何 < how;
+眼界 < ken;
+幼獸 < cub;
+離子 < ion;
+貓叫聲 < mew;
+焦油 < tar;
+退潮 < ebb;
+齣 < act;
+火腿 < ham;
+鹋 < emu;
+陰暗 < dim;
+總和 < sum;
+鴞 < owl;
+鲕 < roe;
+鬷 < pot;
+鬆 < lax;
+髢 < wig;
+砍伐 < hew;
+刺探 < pry;
+常春藤 < ivy;
+鑯 < awl;
+烏合之眾 < mob;
+前夕 < eve;
+堅果 < nut;
+轑 < rut;
+踶 < paw;
+先生 < sir;
+欄圈 < pen;
+小精靈 < elf;
+親屬 < kin;
+索具裝置 < rig;
+拖車 < tow;
+填充 < pad;
+公共汽車 < bus;
+蒴 < pod;
+老天爺 < god;
+零點六 < 0\.6;
+樅樹 < fir;
+甜酒 < rum;
+羇 < inn;
+出價 < bid;
+傳真 < fax;
+苦惱 < ail;
+六點六 < 6\.6;
+骨罈 < urn;
+軟毛 < fur;
+砲 < gun;
+癙 < ill;
+輕打 < tap;
+小費 < tip;
+榆樹 < elm;
+潚 < gay;
+工作 < job;
+肋骨 < rib;
+楎 < peg;
+梩 < hod;
+體育館 < gym;
+杅 < tub;
+七點五 < 7\.5;
+七點二 < 7\.2;
+地圖 < map;
+攵 < rap;
+動物園 < zoo;
+鬆弛 < sag;
+餡餅 < pie;
+圖像互換格式 < gif;
+射線 < ray;
+鋸開 < saw;
+果醬 < jam;
+圍兜 < bib;
+嬛 < apt;
+猶太人 < jew;
+拖把 < mop;
+么點 < ace;
+小狗 < pup;
+貨車 < van;
+圓形木材 < log;
+點頭 < nod;
+對準 < aim;
+噴射 < jet;
+傢伙 < guy;
+乢 < lid;
+驢子 < ass;
+飛蟲 < bug;
+筆尖 < nib;
+䡜 < car;
+麥酒 < ale;
+修女 < nun;
+䝆 < hog;
+會費 < due;
+乾草 < hay;
+䌢 < raw;
+䋞 < web;
+䊑 < pay;
+屢加 < ply;
+九七年 < ''97;
+圓形麵包 < bun;
+安放 < lay;
+㜸 < sin;
+計乘車 < cab;
+頌詞 < ode;
+脫氧核糖核酸 < dna;
+杜松子酒 < gin;
+何人 < who;
+燕麥 < oat;
+母雞 < hen;
+礦石 < ore;
+怕羞 < coy;
+任何 < any;
+流感 < flu;
+哎喲 < hey;
+方舟 < ark;
+爆聲 < pop;
+收費 < fee;
+母羊 < ewe;
+小伙子 < lad;
+別針 < pin;
+平鍋 < pan;
+不 < no;
+为 < do;
+之 < ''s;
+徃 < go;
+于 < in;
+如 < if;
+或 < or;
+它 < it;
+咱 < us;
+哟 < ah;
+嗨 < hi;
+彝 < yi;
+锱 < oz;
+钔 < md;
+伲 < we;
+镤 < pa;
+镎 < np;
+铹 < lr;
+向上地 < up;
+锿 < es;
+锝 < tc;
+锕 < ac;
+光碟 < cd;
+繄 < be;
+糎 < mm;
+粨 < hm;
+粁 < km;
+籵 < dm;
+嚇聲 < ho;
+祂 < he;
+我的 < my;
+嗈 < oh;
+咁 < so;
+兡 < hg;
+兞 < mg;
+兝 < dg;
+斧頭 < ax;
+余 < i;
+樶 < c;
+一個 < a;
+政府機關開放系統互連總則 > government\-open\-system\-interconnection\-profile;
+電機及電子學工程師聯合會 > ieee;
+國際電話電報諮詢委員會 > international\-consultative\-committee\-for\-telephone\-and\-telegraph;
+阿不來提\.阿不都熱西提 > abdulaidi\-amudurexiti\-\(chairman\-of\-xinjiang\-autonomous\-region\);
+可擦寫可編程祇讀存儲器 > eprom;
+國際電報電話咨詢委員會 > ccitt;
+耶穌基督末世聖徒教會 > the\-church\-of\-jesus\-christ\-of\-latter\-day\-saints;
+十億位元以太網絡聯盟 > gigabit\-ethernet\-alliance;
+檔案轉送存取及管理 > file\-transfer\,\-access\-and\-management;
+非對稱式數據用戶線 > asymmetrical\-digital\-subscriber\-line;
+臨時的本地管理接口 > interim\-local\-management\-interface;
+聯邦電信交通委員會 > federal\-communications\-commission;
+電腦輔助設計與繪圖 > computer\-aided\-design\-and\-drawing;
+光纖分佈式數據介面 > fiber\-distributed\-data\-interface;
+光纖分散式資料介面 > fiber\-distributed\-data\-interface;
+數據鏈路連接識別碼 > data\-link\-connection\-identifier;
+電腦與電話系統整合 > computer\-telephony\-integration;
+塞爾維亞克羅地亞語 > serbo\-croatian\-\(language\);
+禁止核武器試驗條約 > nuclear\-test\-ban\-treaty;
+老驥伏櫪志在千里 > \(lit\.\)\-an\-old\-steed\-in\-the\-stable\-still\-aspires\-to\-gallop\-1000\-li;
+不入虎穴焉得虎子 > how\-can\-you\-catch\-tiger\-cubs\-without\-entering\-the\-tiger''s\-lair;
+比上不足比下有余 > fall\-short\-of\-the\-best\-but\-be\-better\-than\-the\-worst;
+北大西洋公約組織 > the\-north\-atlantic\-treaty\-organization\-\(nato\);
+不經一事不長一智 > you\-can''t\-gain\-knowledge\-without\-practice;
+建立正式外交關係 > formally\-establish\-diplomatic\-relations;
+百足之蟲死而不僵 > a\-centipede\-dies\-but\-never\-falls\-down;
+安全與交換委員會 > securities\-and\-exchange\-communication;
+綜合服務數位網絡 > integrated\-services\-digital\-network;
+整體服務數位網路 > integrated\-services\-digital\-network;
+簡單網絡管理協議 > simple\-network\-management\-protocol;
+整體數位服務網路 > integrated\-service\-digital\-network;
+公共交換電話網路 > public\-switched\-telephone\-network;
+近乎同步數位階層 > plesiochronous\-digital\-hierarchy;
+日本電報電話公司 > nippon\-telegraph\-and\-telephone;
+廣播和未知服務器 > broadcast\-and\-unknown\-server;
+百尺杆頭更盡一步 > make\-still\-further\-progress;
+國際貨幣基金組織 > international\-monetary\-fund;
+客戶機服務器環境 > client\-server\-environement;
+電子郵件傳送服務 > \(e\-\)mail\-delivery\-service;
+用戶到網絡的接口 > user\-network\-interface;
+亞洲與太平洋地區 > asia\-pacific\-region;
+十億位元以太網絡 > gigabit\-ethernet;
+光纖分佈數據接口 > fddi;
+不見棺材不落淚 > not\-shed\-a\-tear\-until\-one\-sees\-the\-coffin\-\-\-refuse\-to\-be\-convinced\-until\-one\-is\-faced\-with\-grim\-reality;
+不到黃河心不死 > not\-stop\-until\-one\-reaches\-the\-huanghe\-river\-\-\-not\-stop\-until\-one\-reaches\-one''s\-goal;
+閉塞眼睛捉麻雀 > try\-to\-catch\-sparrows\-with\-one''s\-eyes\-blindfolded\-\-\-act\-blindly;
+斯特凡諾普洛斯 > stephanopoulos\-\(eg\,\-former\-clinton\-aide\-george\-stephanopoulos\);
+人民英雄紀念碑 > monument\-to\-the\-people''s\-heroes\,\-at\-tiananmen\-square;
+按下葫蘆浮起瓢 > solve\-one\-problem\-only\-to\-find\-another\-cropping\-up;
+不敢越雷池一步 > dare\-not\-go\-one\-step\-beyond\-the\-prescribed\-limit;
+東南亞國家聯盟 > asean\-\(association\-of\-southeast\-asian\-nations\);
+失敗是成功之母 > \"failure\-is\-the\-mother\-of\-success\"\-\(proverb\);
+經營管理和維護 > operations\-administration\-and\-maintenance;
+核武器研製計劃 > nuclear\-weapons\-\(manufacturing\)\-program;
+教授畢竟是教授 > professors\-are\-\(after\-all\)\-professors;
+虛擬通道標誌符 > virtual\-channel\-connection\-identifier;
+世界性古老問題 > a\-problem\-as\-old\-as\-the\-world\-itself;
+電信服務供應商 > telecommunications\-service\-provider;
+公用交換電話網 > public\-switched\-telephone\-network;
+中華人民共和國 > the\-people''s\-republic\-of\-china;
+通用資源識別號 > universal\-resource\-identifier;
+原子科學家通報 > journal\-of\-atomic\-scientists;
+超文件傳輸協定 > hypertext\-transfer\-protocol;
+超文本傳輸協定 > hypertext\-transfer\-protocol;
+客戶服務器結構 > client\-server\-architecture;
+媒體接口連接器 > medium\-interface\-connector;
+面嚮對象的技術 > object\-oriented\-technology;
+非同步傳輸模式 > asynchronous\-transfer\-mode;
+超文本標記語言 > hypertext\-markup\-language;
+反艦艇巡航導彈 > anti\-ship\-cruise\-missle;
+用戶到網絡接口 > user\-network\-interface;
+亞洲太平洋地區 > asia\-pacific\-region;
+多米尼加共和國 > dominican\-republic;
+撒哈拉以南非洲 > sub\-saharan\-africa;
+在大多數情況下 > in\-most\-instances;
+超高速乙太網路 > gigabit\-ethernet;
+巴布亞新幾內亞 > papau\-new\-guinea;
+羅密歐與朱麗葉 > romeo\-and\-juliet;
+太陽微系統公司 > sun\-microsystems;
+帖撒羅尼迦後書 > 2\-thessalonians;
+亞爾發和奧米加 > alpha\-and\-omega;
+帖撒羅尼迦前書 > 1\-thessalonians;
+莫尼卡萊溫斯基 > monica\-lewinsky;
+阿伏伽德羅定律 > avogadro''s\-law;
+電纜調制解調器 > cable\-modem;
+第二次世界大戰 > world\-war\-2;
+介質訪問控制層 > mac\-layer;
+不知天高地厚 > not\-know\-the\-immensity\-of\-heaven\-and\-earth\-\-\-have\-an\-exaggerated\-opinion\-of\-one''s\-abilities;
+百聞不如一見 > seeing\-for\-oneself\-is\-a\-hundred\-times\-better\-than\-hearing\-from\-others;
+不費吹灰之力 > as\-easy\-as\-blowing\-off\-dust\-\-\-not\-needing\-the\-slightest\-effort;
+沙利科什維利 > general\-shalikashvili\-\(head\-of\-us\-joint\-chiefs\-of\-staff\);
+寄予很大期望 > to\-place\-great\-hope\-or\-expectation\-on\-\(sth\);
+巴爾舍夫斯基 > \(charlene\)\-barshefsky\,\-us\-trade\-negotiator;
+約定資訊速率 > committed\-inforrmation\-rate\-\(frame\-relay\);
+逆向擁塞通知 > backward\-explicit\-congestion\-notification;
+前向擁塞通知 > forward\-explicit\-congestion\-notification;
+美國廣播公司 > abc\-\(american\-broadcasting\-corporation\);
+哈裡森史密特 > harrison\-schmitt\-\(apollo\-1\-7\-astronaut\);
+畢其功于一役 > accomplish\-the\-whole\-task\-at\-one\-stroke;
+擺事實講道理 > present\-the\-facts\-and\-reason\-things\-out;
+國際電信聯盟 > international\-telecommunications\-union;
+不可同日而語 > cannot\-be\-mentioned\-in\-the\-same\-breath;
+有志者事竟成 > where\-there\-is\-a\-will\,\-there\-is\-a\-way;
+國際標準組織 > international\-standards\-organization;
+目前還不清楚 > at\-present\-it\-is\-still\-unclear\-\.\.\.\.;
+疾病預防中心 > \(u\.s\.\)\-center\-for\-disease\-control;
+應用程式介面 > application\-programming\-interface;
+矮子裡拔將軍 > choose\-the\-best\-person\-available;
+取得大學學位 > to\-obtain\-a\-university\-education;
+實時操作環境 > real\-time\-operating\-environment;
+國際商業機器 > international\-business\-machines;
+符合美國利益 > in\-line\-with\-american\-interests;
+軟體出版協會 > software\-publishers\-association;
+松下電氣工業 > matsushita\-electronics\-industry;
+服務廣告協議 > service\-advertisement\-protocol;
+語音通訊通道 > voice\-\(communications\)\-channel;
+世界貿易組織 > wto\-\(world\-trade\-organization\);
+常規銅電話線 > ordinary\-copper\-telephone\-line;
+同步數位階層 > synchronous\-digital\-hierarchy;
+上海戲劇學院 > shanghai\-theatrical\-institute;
+傳輸控制協定 > transmission\-control\-protocol;
+傳統中國醫藥 > chinese\-traditional\-medicine;
+固定虛擬連接 > permanent\-virtual\-connection;
+開放系統互連 > open\-systems\-interconnection;
+北京藝術學院 > beijing\-academy\-of\-fine\-arts;
+不登大雅之堂 > not\-appeal\-to\-refined\-taste;
+北京語言學院 > beijing\-languages\-institute;
+地址解析協議 > address\-resolution\-protocol;
+本地管理界面 > local\-management\-interface;
+異步傳輸模式 > asynchronous\-transfer\-mode;
+電腦輔助教材 > computer\-aided\-instruction;
+電腦輔助工程 > computer\-aided\-engineering;
+虛擬通道連接 > virtual\-channel\-connection;
+網絡管理系統 > network\-management\-system;
+世界衛生組織 > world\-health\-organization;
+值得注意的是 > it''s\-worth\-noting\-that\.\.\.;
+環球定位系統 > global\-positioning\-system;
+因特網提供商 > internet\-sevice\-provider;
+網絡操作系統 > network\-operating\-system;
+圖像用戶介面 > graphical\-user\-interface;
+面嚮對象語言 > object\-oriented\-language;
+共同閘道介面 > common\-gateway\-interface;
+網路作業系統 > network\-operating\-system;
+公眾電信網路 > public\-telephone\-network;
+非盈利的組織 > non\-profit\-organization;
+訊息處理系統 > message\-handling\-system;
+數字訂購線路 > digital\-subscriber\-line;
+辯証唯物主義 > dialectical\-materialism;
+網路節點介面 > network\-node\-interface;
+正在中國訪問 > during\-a\-trip\-to\-china;
+八小時工作制 > eight\-hour\-working\-day;
+消息靈通人士 > a\-well\-informed\-source;
+日本經濟新聞 > japanese\-economic\-news;
+訊息傳遞中介 > message\-transfer\-agent;
+電腦輔助設計 > computer\-aided\-design;
+持不同政見者 > \(political\)\-dissident;
+資料傳送服務 > data\-delivery\-service;
+介質訪問控制 > medium\-access\-control;
+印度尼西亞語 > indonesian\-\(language\);
+多種語言支持 > multilingual\-support;
+接收器靈敏度 > receiver\-sensitivity;
+民族主義情緒 > nationalist\-feelings;
+媒體訪問控制 > media\-access\-control;
+四年制的大學 > four\-year\-university;
+邏輯鏈路控制 > logical\-link\-control;
+萬維天羅地網 > world\-wide\-web\-\(www\);
+巡迴分析端口 > roving\-analysis\-port;
+只不過幾年前 > only\-a\-few\-years\-ago;
+一百五十多年 > more\-than\-150\-years;
+哥倫比亞大學 > columbia\-university;
+貿易保護主義 > trade\-protectionism;
+在某種程度上 > to\-a\-certain\-extent;
+曼徹斯特編碼 > manchester\-encoding;
+訊框傳送服務 > frame\-relay\-service;
+訊框傳送網路 > frame\-relay\-network;
+阿比西尼亞人 > abyssinian\-\(person\);
+亞太經合組織 > apec\-\(organization\);
+軟件開發人員 > software\-developer;
+在傳輸過程中 > while\-transmitting;
+必不可少組成 > absolute\-necessity;
+美國航空公司 > american\-airlines;
+交換以太網絡 > switched\-ethernet;
+諾貝爾和平獎 > nobel\-peace\-prize;
+五角大樓官員 > pentagon\-official;
+訊框傳送論壇 > frame\-relay\-forum;
+阿爾巴尼亞人 > albanian\-\(person\);
+不分青紅皂白 > indiscriminately;
+不等邊三角形 > scalene\-triangle;
+網際網路協會 > internet\-society;
+三千到五千萬 > 30\-to\-50\-million;
+一個中國政策 > one\-china\-policy;
+網絡規劃人員 > network\-planner;
+共享以太網絡 > shared\-ethernet;
+卡納維拉爾角 > cape\-canaveral;
+區域網路技術 > lan\-technology;
+薩達姆侯賽因 > saddam\-hussein;
+撞擊式印表機 > impact\-printer;
+撞擊式打印機 > impact\-printer;
+全球氣候升溫 > global\-warming;
+梅塞迪斯奔馳 > mercedes\-benz;
+奧克拉荷馬市 > oklahoma\-city;
+高速乙太網路 > fast\-ethernet;
+快速以太網絡 > fast\-ethernet;
+以太網絡端口 > ethernet\-port;
+亞洲與太平洋 > asia\-pacific;
+一千零五十億 > 105\-billion;
+吉爾吉斯斯坦 > kirghizstan;
+榮獲諾貝爾獎 > nobel\-prize;
+三月二十三號 > march\-23rd;
+沒有生育能力 > infertile;
+國際互聯網絡 > internet;
+三月二十一號 > march\-21;
+專用集成電路 > asic;
+圖像互換格式 > gif;
+脫氧核糖核酸 > dna;
+殺雞給猴看 > \"kill\-a\-chicken\-in\-front\-of\-a\-monkey\"\-\-\-\-make\-an\-example\-out\-of\-someone\-\(by\-punishing\-them\)\-to\-frighten\-others;
+病急亂投醫 > turn\-to\-any\-doctor\-one\-can\-find\-when\-critically\-ill\-\-\-try\-anything\-when\-in\-a\-desperate\-situation;
+斯卡伯勒礁 > scarborough\-shoal\-\(philippines''\-name\-for\-huangyan\-island\);
+冰炭不相容 > as\-incompatible\-or\-irreconcilable\-as\-ice\-and\-hot\-coals;
+韋爾弗雷茲 > \(george\)\-wehrfritz\-\(beijing\-bureau\-chief\-of\-newsweek\);
+琳\.戴維斯 > lynn\-davis\-\(us\-state\-department\-arms\-control\-expert\);
+人民行動黨 > people''s\-action\-party\-\(ruling\-party\-in\-singapore\);
+常任理事國 > permanent\-member\-state\-\(of\-un\-security\-council\);
+人民大會堂 > great\-hall\-of\-the\-people\,\-at\-tiananmen\-square;
+橋本龍太郎 > hashimoto\,\-ryutaro\-\(prime\-minister\-of\-japan\);
+奧爾布賴特 > \(madeleine\)\-albright\-\(us\-secretary\-of\-state\);
+不當一回事 > not\-regard\-as\-a\-matter\-\(of\-any\-importance\);
+不打不相識 > from\-an\-exchange\-of\-blows\-friendship\-grows;
+聯邦調查局 > fbi\-\(federal\-bureau\-of\-investigation\);
+一九四九年 > the\-year\-1949\-\(communist\-revolution\);
+約翰內斯堡 > johannesburg\-\(city\-in\-south\-africa\);
+分佈式環境 > distributed\-\(computing\)\-environment;
+非政府組織 > non\-governmental\-organization\-\(ngo\);
+尤金塞爾南 > eugene\-cernan\-\(apollo\-17\-astronaut\);
+比勒陀利亞 > pretoria\-\(capital\-of\-south\-africa\);
+半日制學校 > half\-day\-\(or\-double\-shift\-school\);
+越來越嚴重 > to\-become\-more\-serious\-every\-day;
+戈爾巴喬夫 > \(former\-soviet\-leader\)\-gorbachev;
+八級工資制 > eight\-grade\-wage\-scale\-\(system\);
+在密切注意 > to\-pay\-close\-attention\-\(to\-sth\);
+核威懾政策 > policy\-of\-nuclear\-intimidation;
+可選擇丟棄 > discard\-eligible\-\(frame\-relay\);
+特別行政區 > special\-administrative\-region;
+華盛頓時報 > washington\-times\-\(newspaper\);
+似乎很安全 > to\-appear\-\(to\-be\)\-very\-safe;
+中央情報局 > central\-intelligence\-agency;
+服務提供商 > \(internet\)\-service\-provider;
+管理信息庫 > management\-information\-base;
+華盛頓郵報 > washington\-post\-\(newspaper\);
+願意不願意 > whether\-one\-wants\-to\-or\-not;
+發展核武器 > to\-develop\-nuclear\-weapons;
+叛變的省份 > renegade\-province\-\(taiwan\);
+中國科學院 > chinese\-acadamy\-of\-science;
+用戶端設備 > customer\-premise\-equipment;
+不等價交換 > exchange\-of\-unequal\-values;
+永久虛電路 > permanent\-virtual\-circuit;
+原因很簡單 > the\-reason\-is\-very\-simple;
+通訊自動化 > communications\-automation;
+幀首定界符 > start\-of\-frame\-delimiter;
+不承認主義 > policy\-of\-nonrecognition;
+楊百翰大學 > brigham\-young\-university;
+分佈式結構 > distributed\-architecture;
+持不同政見 > \(politically\)\-dissenting;
+人民解放軍 > people''s\-liberation\-army;
+從外表來看 > looking\-from\-the\-outside;
+交換虛電路 > switched\-virtual\-circuit;
+核武器材料 > nuclear\-weapon\-material;
+發佈新軟件 > to\-release\-new\-software;
+專屬經濟區 > exclusive\-economic\-zone;
+流亡在海外 > to\-be\-in\-exile\-overseas;
+不抵抗主義 > policy\-of\-nonresistance;
+在今年年底 > at\-the\-end\-of\-this\-year;
+來回來去地 > backwards\-and\-forwards;
+網絡層協議 > network\-layer\-protocol;
+工業化國家 > industrialized\-country;
+教義和聖約 > doctrine\-and\-covenants;
+網絡管理員 > network\-administrator;
+芝加哥大學 > university\-of\-chicago;
+陸海空三軍 > army\,\-navy\,\-air\-force;
+本土化軟件 > software\-localization;
+檔案分配區 > file\-allocation\-table;
+地對空導彈 > ground\-to\-air\-missile;
+不信任投票 > vote\-of\-no\-confidence;
+本人的觀點 > \(one''s\)\-personal\-view;
+軟體配送者 > software\-distributor;
+歷來最低點 > all\-time\-low\-\(point\);
+米德爾伯裡 > middlebury\-\(college\);
+兩點十九分 > 2\-\:1\-9\-\(time\-of\-day\);
+幀檢驗序列 > frame\-check\-sequence;
+不完全中立 > imperfect\-neutrality;
+克里斯托弗 > \(warren\)\-christopher;
+鑒定委員會 > evaluation\-committee;
+馬來西亞語 > malasian\-\(language\);
+過了五分鐘 > five\-minutes\-passed;
+克羅地亞語 > croatian\-\(language\);
+討論的議題 > topic\-of\-discussion;
+地址的轉換 > address\-translation;
+自動地工作 > automatic\-operation;
+保安自動化 > security\-automation;
+分佈式網絡 > distributed\-network;
+不期然而然 > happen\-unexpectedly;
+加值型網路 > value\-added\-network;
+因特網聯通 > internet\-connection;
+科學的交流 > scientific\-exchange;
+鋰離子電池 > lithium\-ion\-battery;
+長期穩定性 > long\-term\-stability;
+樓宇自動化 > building\-automation;
+視窗加速器 > windows\-accelarator;
+華爾街日報 > wall\-street\-journal;
+國民黨軍隊 > nationalist\-forces;
+一小時以後 > a\-short\-time\-later;
+網路連接層 > network\-link\-layer;
+康奈爾大學 > cornell\-university;
+塞爾維亞語 > serbian\-\(language\);
+斯瓦希裡語 > swahili\-\(language\);
+國家標準碼 > gb\-\(guo\-biao\)\-code;
+本初子午線 > the\-first\-meridian;
+家庭消費者 > household\-consumer;
+域名服務器 > domain\-name\-server;
+發展中國家 > developing\-country;
+多端中繼器 > multiport\-repeater;
+發展的國家 > developing\-country;
+生活必需品 > life''s\-necessities;
+可行性研究 > feasibility\-study;
+數據庫軟件 > database\-software;
+西裡爾字母 > cyrillic\-alphabet;
+撒迦利亞書 > book\-of\-zechariah;
+波士頓大學 > boston\-university;
+辦公自動化 > office\-automation;
+不及物動詞 > intransitive\-verb;
+膝上型電腦 > laptop\-\(computer\);
+中央委員會 > central\-committee;
+到那個時候 > until\-this\-moment;
+洛杉磯時報 > los\-angeles\-times;
+文化的交流 > cultural\-exchange;
+斯洛伐克語 > slovak\-\(language\);
+外國旅遊者 > foreign\-traveller;
+一千七百萬 > seventeen\-million;
+委員會會議 > committee\-meeting;
+計算機工業 > computer\-industry;
+共產黨部隊 > communist\-forces;
+服務提供者 > service\-provider;
+移動式電話 > mobile\-telephone;
+婚外性接觸 > extramarital\-sex;
+波美比重計 > baume\-hydrometer;
+外國投資者 > foreign\-investor;
+異性性接觸 > heterosexual\-sex;
+桌上型電腦 > desktop\-computer;
+記者招待會 > press\-conference;
+原子科學家 > atomic\-scientist;
+長度指示符 > length\-indicator;
+仿真服務器 > emulation\-server;
+計算機網絡 > computer\-network;
+過份簡單化 > oversimplication;
+知識工程師 > knowledge\-worker;
+資料鏈結層 > data\-link\-layer;
+零等待狀態 > zero\-wait\-state;
+在很多方面 > in\-many\-aspects;
+俄巴底亞書 > book\-of\-obadiah;
+數據鏈路層 > data\-link\-layer;
+種族主義者 > racist\-\(person\);
+網絡瀏覽器 > network\-browser;
+客戶機軟件 > client\-software;
+自動售貨機 > vending\-machine;
+網絡打印機 > network\-printer;
+板板六十四 > unaccommodating;
+第一個層次 > the\-first\-stage;
+全球資訊網 > world\-wide\-web;
+以太網絡幀 > ethernet\-frame;
+不平等條約 > unequal\-treaty;
+喘不過氣來 > cannot\-breathe;
+捷克共和國 > czech\-republic;
+工業的巨頭 > industry\-mogol;
+每端口價格 > price\-per\-port;
+不正常狀況 > abnormal\-state;
+開放式系統 > open\-system\(s\);
+世界的語言 > world\-language;
+激光打引機 > laser\-printer;
+哥林多後書 > 2\-corinthians;
+不記名投票 > secret\-ballot;
+不列顛諸島 > british\-isles;
+哥林多前書 > 1\-corinthians;
+不可能的事 > impossibility;
+百分之五十 > fifty\-percent;
+艾滋病抗體 > aids\-antibody;
+不可侵犯權 > inviolability;
+鐳射印表機 > laser\-printer;
+生命的遺跡 > trace\-of\-life;
+一九九七年 > the\-year\-1997;
+全世界第一 > world''s\-first;
+普通老百姓 > common\-people;
+艾滋病患者 > aids\-patient;
+簿記管理員 > commissarian;
+核武器試驗 > nuclear\-test;
+二十一世紀 > 21st\-century;
+有條有理地 > methodically;
+不是玩兒的 > it''s\-no\-joke;
+粗俗的階級 > vulgar\-class;
+打印服務器 > print\-server;
+賓西法尼亞 > pennsylvania;
+耶利米哀歌 > lamentations;
+八九不離十 > pretty\-close;
+開放式網路 > open\-network;
+克裡姆林宮 > the\-kremlin;
+太平洋週邊 > pacific\-rim;
+激光二極管 > laser\-diode;
+器官捐獻者 > organ\-donor;
+文件服務器 > file\-server;
+玻意耳定律 > boyle''s\-law;
+一千四百億 > 140\-billion;
+自由選擇權 > free\-agency;
+巴枯寧主義 > bakuninism;
+說不出話來 > speechless;
+塔吉克斯坦 > tajikistan;
+加利福尼亞 > california;
+使用者中介 > user\-agent;
+哈薩克斯坦 > kazakhstan;
+百分之九十 > 90\-percent;
+公開討論會 > open\-forum;
+艾滋病病毒 > aids\-virus;
+地方官職位 > prefecture;
+磁盤驅動器 > disl\-drive;
+女裝裁縫師 > dressmaker;
+長子的名份 > birthright;
+一百五十億 > 15\-billion;
+阿比西尼亞 > abyssinia;
+社會主義者 > socialist;
+提摩太后書 > 2\-timothy;
+到目前為止 > until\-now;
+流行性感冒 > influenza;
+不穩定氣流 > turbulent;
+提摩太前書 > 1\-timothy;
+波利尼西亞 > polynesia;
+圖書管理員 > librarian;
+印度尼西亞 > indonesia;
+民主主義者 > democrats;
+變焦距鏡頭 > zoom\-lens;
+企業間網路 > extranet;
+常坐汽車者 > motorist;
+汽車展覽會 > car\-show;
+企業內網路 > intranet;
+撒母耳記下 > 2\-samuel;
+撒母耳記上 > 1\-samuel;
+四月十七號 > april\-17;
+神學研究所 > seminary;
+埃塞俄比亞 > ethiopia;
+奧克拉荷馬 > oklahoma;
+不名譽事物 > dishonor;
+海軍總司令 > admiral;
+五月十五號 > may\-1\-5;
+阿爾及利亞 > algeria;
+七月三十號 > july\-30;
+馬克思主義 > marxism;
+阿爾巴尼亞 > albania;
+一節\(詩\) > stanza;
+透印版印刷 > offset;
+毛織運動衫 > jersey;
+男修道院長 > abbot;
+調制解調器 > modem;
+三色紫羅蘭 > pansy;
+安全理事會 > the\-u;
+抱薪救火 > carry\-faggots\-to\-put\-out\-a\-fire\-\-\-adopt\-a\-wrong\-method\-to\-save\-a\-situation\-and\-end\-up\-by\-making\-it\-worse;
+杯水車薪 > trying\-to\-put\-out\-a\-burning\-cartload\-of\-faggots\-with\-a\-cup\-of\-water\-\-\-an\-utterly\-inadequate\-measure;
+辯証施治 > diagnosis\-and\-treatment\-based\-on\-an\-overall\-analysis\-of\-the\-illness\-and\-the\-patient''s\-condition;
+敝帚自珍 > value\-one''s\-own\-old\-broom\-\-\-cherish\-something\-of\-little\-value\-simply\-because\-it\-is\-one''s\-own;
+兵不血刃 > the\-edges\-of\-the\-swords\-not\-being\-stained\-with\-blood\-\-\-win\-victory\-without\-firing\-a\-shot;
+養兒防老 > \(of\-parents\)\-to\-bring\-up\-cihldren\-for\-the\-purpose\-of\-being\-looked\-after\-in\-old\-age;
+不共戴天 > will\-not\-live\-under\-the\-same\-sky\-\(with\-one''s\-enemy\)\-\-\-absolutely\-irreconcilable;
+擊其惰歸 > avoid\-the\-enemy\-when\-he\-is\-fresh\-and\-strike\-him\-when\-he\-is\-tired\-and\-withdraws;
+避其銳氣 > avoid\-the\-enemy\-when\-he\-is\-fresh\-and\-strike\-him\-when\-he\-is\-tired\-and\-withdraws;
+保甲制度 > the\-bao\-jia\-system\-\(an\-administrative\-system\-organized\-on\-basis\-of\-households\);
+不辨菽麥 > be\-unable\-to\-tell\-beans\-from\-wheat\-\-\-have\-no\-knowledge\-of\-practical\-matters;
+恭喜發財 > congratulations\-for\-getting\-rich\-\(traditional\-chinese\-new\-year''s\-future\-use;
+塞韋裡諾 > \[jean\-michel\]\-severino\-\[world\-bank\-vice\-president\,\-east\-asia\-and\-pacific\];
+有期徒刑 > limited\-term\-of\-imprisonment\-\(ie\,\-anything\-less\-than\-life\-imprisonment\);
+閉目塞聽 > shuts\-one''s\-eyes\-and\-stop\-up\-one''s\-ears\-\-\-be\-out\-of\-touch\-with\-reality;
+笨鳥先飛 > clumsy\-birds\-have\-to\-start\-flying\-early\-\-\-the\-slow\-need\-to\-start\-early;
+本草綱目 > an\-outline\-treatise\-of\-medical\-herbs\,\-compiled\-by\-li3\-shi2\-zhen1\-李時珍;
+兵強馬壯 > strong\-soldiers\-and\-sturdy\-horses\-\-\-a\-well\-trained\-and\-powerful\-army;
+業余大學 > college\-for\-people\-who\-attend\-after\-work\-\(lit\.\:\-spare\-time\-college\);
+捕風捉影 > chase\-the\-wind\-and\-clutch\-at\-shadows\-\-\-make\-groundless\-accusations;
+不分彼此 > make\-no\-distinction\-between\-what''s\-one''s\-own\-and\-what''s\-another''s;
+不知凡幾 > can''t\-tell\-how\-many\-there\-are\-\-\-there\-are\-numerous\-similar\-cases;
+抱殘守缺 > cherish\-the\-outmoded\-and\-preserve\-the\-outworn\-\-\-be\-conservative;
+博古通今 > conversant\-with\-things\-past\-and\-present\-\-\-erudite\-and\-informed;
+大鬧天宮 > \"the\-monkey\-creates\-havoc\-in\-heaven\"\,\-story\-about\-sun\-wu\-kong;
+悲天憫人 > bemoan\-the\-state\-of\-the\-universe\-and\-pity\-the\-fate\-of\-mankind;
+不服水土 > \(of\-a\-stranger\)\-not\-accustomed\-to\-the\-climate\-of\-a\-new\-place;
+哀兵必勝 > an\-army\-burning\-with\-righteous\-indignation\-is\-bound\-to\-win;
+矛頭指向 > target\-someone\-or\-something\-\(for\-attack\,\-criticism\,\-etc\.\);
+不恥下問 > not\-feel\-ashamed\-to\-ask\-and\-learn\-from\-one''s\-subordinates;
+卡拉OK > karaoke\-\(singing\-to\-recorded\-instrumental\-accompaniment\);
+中國民航 > general\-administration\-of\-civil\-aviation\-of\-china\-\(caac\);
+三國演義 > name\-of\-a\-classic\-novel\,\-\"romance\-of\-the\-three\-kingdoms\";
+背水一戰 > fight\-with\-one''s\-back\-to\-the\-river\-\-\-fight\-to\-win\-or\-die;
+杯弓蛇影 > mistaking\-the\-reflection\-of\-a\-bow\-in\-the\-cup\-for\-a\-snake;
+背井離鄉 > leave\-one''s\-native\-place\-\(especially\-against\-one''s\-will\);
+波瀾起伏 > of\-a\-piece\-of\-writing\-with\-one\-climax\-following\-another;
+不為已甚 > refrain\-from\-going\-to\-extremes\-in\-meting\-out\-punishment;
+不約而同 > take\-the\-same\-action\-or\-view\-without\-prior\-consultation;
+八面玲瓏 > be\-smooth\-and\-slick\-\(in\-establishing\-social\-relations\);
+眾志成城 > \"unity\-of\-will\-is\-an\-impregnable\-stronghold\"\-\(proverb\);
+抗日戰爭 > \(china''s\)\-war\-of\-resistance\-against\-japan\-\(1937\-1945\);
+大材小用 > using\-a\-talented\-person\-in\-an\-insignificant\-position;
+不聞不問 > not\-bother\-to\-ask\-questions\-or\-listen\-to\-what''s\-said;
+並行不悖 > both\-can\-be\-implemented\-without\-coming\-into\-conflict;
+步步為營 > advance\-gradually\-and\-entrench\-oneself\-at\-every\-step;
+一望無際 > as\-far\-as\-the\-eye\-can\-see\-\(lit\:\-look\-afar\-no\-bound\);
+不見經傳 > not\-to\-be\-found\-in\-the\-classics\-\-\-not\-authoritative;
+撥雲見日 > dispel\-the\-clouds\-and\-see\-the\-sun\-\-\-restore\-justice;
+安步當車 > walk\-over\-leisurely\-instead\-of\-riding\-in\-a\-carriage;
+不勝枚舉 > too\-numerous\-to\-mention\-individually\-or\-one\-by\-one;
+賓至如歸 > guests\-feel\-at\-home\-\(in\-a\-hotel\,\-guesthouse\,\-etc\.\);
+尖閣列島 > senkaku\-islands\-\(japanese\-name\-for\-diaoyu\-islands\);
+維吾爾族 > the\-uygur\-\(uighur\)\-nationality\,\-living\-in\-xinjiang;
+南華早報 > south\-china\-morning\-post\-\(newspaper\-in\-hong\-kong\);
+病入膏肓 > the\-disease\-has\-attacked\-the\-vitals\-\-\-beyond\-cure;
+約翰拉貝 > john\-rabe\-\(german\-eyewitness\-to\-nanjing\-massacre\);
+不破不立 > without\-destruction\-there\-can\-be\-no\-construction;
+包產到戶 > fixing\-of\-farm\-output\-quotas\-for\-each\-household;
+駱駝祥子 > name\-of\-a\-novel\,\-luo\-tuo\-xiangzi\,\-by\-lao\-she\-老舍;
+逼上樑山 > be\-driven\-to\-join\-the\-liangshan\-mountain\-rebels;
+南轅北轍 > \(fig\.\)\-act\-in\-a\-way\-that\-defeats\-one''s\-purpose;
+保外就醫 > \(of\-a\-prisoner\)\-released\-for\-medical\-treatment;
+蒸蒸日上 > becoming\-more\-prosperous\-with\-each\-passing\-day;
+烏魯木齊 > urumqi\-\(capital\-of\-xinjiang\-autonomous\-region\);
+安土重遷 > hate\-to\-leave\-a\-place\-where\-one\-has\-lived\-long;
+工商銀行 > industrial\-and\-commercial\-bank\-of\-china\-\(icbc\);
+事與願違 > things\-don''t\-turn\-out\-the\-way\-you\-want\-or\-plan;
+張燈結綵 > be\-decorated\-with\-lanterns\-and\-colored\-banners;
+閉門思過 > shut\-oneself\-up\-and\-ponder\-over\-one''s\-mistakes;
+閉關自守 > close\-the\-country\-to\-international\-intercourse;
+不避艱險 > shrink\-or\-flinch\-from\-no\-difficulty\-or\-danger;
+阿旺曲沛 > ngawang\-choepel\-\(tibetan\,\-fullbright\-scholar\);
+畫蛇添足 > ruin\-the\-effect\-by\-adding\-what\-is\-superfluous;
+仗義執言 > speak\-out\-on\-a\-matter\-of\-principle\-or\-justice;
+兵臨城下 > the\-attacking\-army\-has\-reached\-the\-city\-gates;
+背城借一 > make\-a\-last\-ditch\-stand\-before\-the\-city\-wall;
+百感交集 > all\-sorts\-of\-feelings\-well\-up\-in\-one''s\-heart;
+兵不厭詐 > there\-can\-never\-be\-too\-much\-deception\-in\-war;
+五六十歲 > \(in\-one''s\)\-fifties\-or\-sixties\-\(years\-of\-age\);
+避重就輕 > avoid\-the\-important\-and\-dwell\-on\-the\-trivial;
+標新立異 > start\-something\-new\-in\-order\-to\-be\-different;
+大功告成 > successfully\-accomplished\-\(project\-or\-goal\);
+無所用心 > eat\-three\-square\-meals\-a\-day\-and\-do\-no\-work;
+班門弄斧 > display\-one''s\-slight\-skill\-before\-an\-expert;
+中國日報 > china\-daily\-\(an\-english\-language\-newspaper\);
+不可終日 > be\-unable\-to\-carry\-on\-even\-for\-a\-single\-day;
+飽食終日 > eat\-three\-square\-meals\-a\-day\-and\-do\-no\-work;
+單槍匹馬 > single\-handed\-\(lit\:\-single\-spear\-one\-horse\);
+名副其實 > not\-just\-in\-name\-only\,\-but\-also\-in\-reality;
+喜新厭舊 > literal\:\-to\-like\-the\-new\,\-and\-hate\-the\-old;
+拍案叫絕 > lit\.\:\-slap\-the\-table\-and\-shout\-with\-praise;
+風土人情 > local\-conditions\-\(human\-and\-environmental\);
+阿拉塔斯 > \(ali\)\-alatas\-\(indonesian\-foreign\-minister\);
+中共中央 > chinese\-communist\-party\-central\-committee;
+博聞強記 > have\-wide\-learning\-and\-a\-retentive\-memory;
+百年大計 > a\-project\-of\-vital\-and\-lasting\-importance;
+拔苗助長 > spoil\-things\-through\-excessive\-enthusiasm;
+肯普索恩 > \(dirk\)\-kempthorne\-\(us\-senator\-from\-idaho\);
+外孫女兒 > granddaughter\-\(daughter\-of\-one''s\-daugher\);
+百折不撓 > keep\-on\-fighting\-in\-spite\-of\-all\-setbacks;
+安身立命 > settle\-down\-and\-get\-on\-with\-one''s\-pursuit;
+不可一世 > consider\-oneself\-unexcelled\-in\-the\-world;
+絕對數字 > absolute\-\(as\-opposed\-to\-relative\)\-number;
+抱頭鼠竄 > cover\-the\-head\-and\-sneak\-away\-like\-a\-rat;
+百廢俱興 > all\-neglected\-tasks\-are\-being\-undertaken;
+避實就虛 > stay\-clear\-of\-the\-enemy''s\-main\-force\-and;
+不求甚解 > not\-seek\-to\-understand\-things\-thoroughly;
+中央全會 > plenary\-session\-of\-the\-central\-committee;
+古杰拉爾 > \(i\.\-k\.\)\-gujral\-\(prime\-minister\-of\-india\);
+冷淡關係 > cold\-relations\-\(e\.g\.\-between\-countries\);
+不了了之 > settle\-a\-matter\-by\-leaving\-it\-unsettled;
+不即不離 > be\-neither\-too\-familiar\-nor\-too\-distant;
+總政治部 > \(military\)\-general\-political\-department;
+半路出家 > switch\-to\-a\-job\-one\-was\-not\-trained\-for;
+病毒學家 > virologist\-\(person\-who\-studies\-viruses\);
+結社自由 > \(constitutional\)\-freedom\-of\-association;
+蔓延全國 > to\-spread\-throughout\-the\-entire\-country;
+百思不解 > remain\-puzzled\-after\-pondering\-over\-sth;
+半勞動力 > one\-able\-to\-do\-light\-manual\-labour\-only;
+總後勤部 > \(military\)\-general\-logistics\-department;
+一國兩制 > one\-country\,\-two\-systems\-\(china\-taiwan\);
+白頭諧老 > live\-to\-ripe\-old\-age\-in\-conjugal\-bliss;
+成千上萬 > by\-the\-thousands\-and\-tens\-of\-thousands;
+不宣而戰 > open\-hostilities\-without\-declaring\-war;
+不遠千里 > make\-light\-of\-travelling\-a\-thousand\-li;
+安居樂業 > live\-and\-work\-in\-peace\-and\-contentment;
+遍體鱗傷 > covered\-all\-over\-with\-cuts\-and\-bruises;
+內懮外患 > domestic\-strife\-and\-foreign\-agression;
+治病救人 > cure\-the\-sickness\-to\-save\-the\-patient;
+哀鴻遍野 > a\-land\-swarming\-with\-disaster\-victims;
+病從口入 > illness\-finds\-its\-way\-in\-by\-the\-mouth;
+總參謀部 > \(military\)\-general\-staff\-headquarters;
+撥絃樂器 > plucked\-string\-or\-stringed\-instrument;
+別具一格 > having\-a\-unique\-or\-distinctive\-style;
+讀賣新聞 > yomiuri\-shimbun\-\(japanese\-newspaper\);
+才疏學淺 > have\-little\-talent\-and\-less\-learning;
+避坑落井 > dodge\-a\-pit\-only\-to\-fall\-into\-a\-well;
+變溫動物 > poikilothermal\-\(cold\-blooded\)\-animal;
+大中學生 > university\-and\-high\-school\-students;
+安分守己 > abide\-by\-the\-law\-and\-behave\-oneself;
+大顯身手 > fully\-displaying\-one''s\-capabilities;
+波瀾壯闊 > surging\-forward\-with\-great\-momentum;
+回歸中國 > to\-return\-to\-china\-\(e\.g\.\-hong\-kong\);
+愛莫能助 > willing\-to\-help\-but\-unable\-to\-do\-so;
+調查結果 > results\-\(of\-an\-investigation\,\-poll\);
+百端待舉 > a\-thousand\-things\-remain\-to\-be\-done;
+秋高氣爽 > clear\-and\-refreshing\-autumn\-weather;
+冰消瓦解 > melt\-like\-ice\-and\-break\-like\-tiles;
+半斤八兩 > not\-much\-to\-choose\-between\-the\-two;
+步人後塵 > follow\-in\-other\-people''s\-footsteps;
+龍飛鳳舞 > lit\.\:\-dragon\-flies\,\-phoenix\-dances;
+國際見聞 > international\-background\-knowledge;
+國務委員 > member\-of\-state\-council\-\(in\-china\);
+可移植性 > portability\-\(programming\-language\);
+呼和浩特 > hohhot\-\(capital\-of\-inner\-mongolia\);
+小題大做 > make\-a\-big\-fuss\-over\-a\-minor\-issue;
+不虛此行 > the\-trip\-has\-not\-been\-made\-in\-vain;
+言論自由 > \(constitutional\)\-freedom\-of\-speech;
+開發環境 > development\-environment\-\(computer\);
+不識時務 > show\-no\-understanding\-of\-the\-times;
+不時之需 > a\-possible\-period\-of\-want\-or\-need;
+以牙還牙 > a\-tooth\-for\-a\-tooth\-\(retaliation\);
+百戰百勝 > emerge\-victorious\-in\-every\-battle;
+由此可見 > from\-this\,\-it\-can\-be\-seen\-that\.\.\.;
+寸草不生 > \"not\-even\-a\-blade\-of\-grass\-grows\";
+擦亮眼睛 > remove\-the\-scales\-from\-one''s\-eyes;
+補偏救弊 > remedy\-defects\-and\-rectify\-errors;
+百川歸海 > all\-things\-tends\-in\-one\-direction;
+誓不反悔 > to\-vow\-not\-to\-break\-one''s\-promise;
+科學編輯 > science\-editor\-\(of\-a\-publication\);
+昂首闊步 > stride\-forward\-with\-one''s\-chin\-up;
+日經指數 > nikkei\-index\-\(of\-japanese\-stocks\);
+得寸進尺 > literal\:\-get\-an\-inch\,\-want\-a\-foot;
+北洋軍閥 > the\-northern\-warlords\-\(1912\-1927\);
+大惑不解 > do\-not\-understand\-a\-certain\-thing;
+明文規定 > expressly\-stipulated\-\(in\-writing\);
+大庭廣眾 > public\-place\-with\-numerous\-people;
+百無一失 > no\-danger\-of\-anything\-going\-wrong;
+人權觀察 > human\-rights\-watch\-\(organization\);
+備而不用 > have\-something\-ready\-just\-in\-case;
+節外生枝 > new\-problems\-complicate\-an\-issue;
+鼻青臉腫 > a\-bloody\-nose\-and\-a\-swollen\-face;
+企業管理 > business\-management\-\(as\-a\-study\);
+不謀而合 > agree\-without\-prior\-consultation;
+按兵不動 > not\-throw\-the\-troops\-into\-battle;
+一中一臺 > \"one\-china\,\-one\-taiwan\"\-\(policy\);
+中日韓越 > china\,\-japan\,\-korea\,\-and\-vietnam;
+形影不離 > inseparable\-\(as\-form\-and\-shadow\);
+商業版本 > commercial\-version\-\(of\-software\);
+百讀不厭 > be\-worth\-reading\-a\-hundred\-times;
+分波多工 > wavelength\-division\-multiplexing;
+必由之路 > the\-road\-one\-must\-follow\-or\-take;
+亨特泰羅 > hunter\-tylo\-\(hollywood\-actress\);
+閉門造車 > make\-a\-cart\-behind\-closed\-doors;
+悲喜交集 > mixed\-feelings\-of\-grief\-and\-joy;
+不修邊幅 > not\-care\-about\-one''s\-appearance;
+大快人心 > to\-the\-satisfaction\-of\-everyone;
+鞭長莫及 > beyond\-the\-reach\-of\-one''s\-power;
+不學無術 > have\-neither\-learning\-nor\-skill;
+不寒而慄 > shiver\-all\-over\-though\-not\-cold;
+層出不窮 > to\-come\-out\-one\-after\-the\-other;
+安民告示 > a\-notice\-to\-reassure\-the\-public;
+細菌武器 > biological\-weapon\-\(using\-germs\);
+別開生面 > start\-something\-new\-or\-original;
+如飢似渴 > thirsting\-or\-hungering\-for\-sth\.;
+開國元勛 > founding\-fathers\-\(of\-a\-country\);
+直接數據 > data\-direct\-\(in\-lan\-emulation\);
+傳統醫藥 > \(chinese\)\-traditional\-medicine;
+有史以來 > since\-the\-beginning\-of\-history;
+包治百病 > guarantee\-to\-cure\-all\-diseases;
+按需分配 > distribution\-according\-to\-need;
+世貿組織 > wto\-\(world\-trade\-organization\);
+沒有什麼 > there''s\-nothing\-\(\.\.\.\-about\-it\);
+按勞分配 > distribution\-according\-to\-work;
+阿拉木圖 > almaty\-\(capital\-of\-kazakhstan\);
+七層架構 > seven\-layer\-architecture\-\(osi\);
+應有盡有 > everything\-\(one\-could\-imagine\);
+青山綠水 > verdant\-hills\-and\-green\-waters;
+虹橋機場 > hongqiao\-airport\-\(in\-shanghai\);
+統一招生 > national\-unified\-entrance\-exam;
+東部時間 > \(u\.s\.\)\-eastern\-\(standard\)\-time;
+時大時小 > sometimes\-big\,\-sometimes\-small;
+不辭而別 > leave\-without\-saying\-good\-bye;
+百聽不厭 > worth\-hearing\-a\-hundred\-times;
+低階語言 > low\-level\-\(computer\)\-language;
+不足為訓 > not\-to\-be\-taken\-as\-an\-example;
+大吹大擂 > make\-an\-exhibition\-of\-oneself;
+安之若素 > bear\-hardship\-with\-equanimity;
+西哈努克 > \(king\)\-sihanouk\-\(of\-cambodia\);
+殺人案件 > \(case\-of\,\-incident\-of\)\-murder;
+背道而馳 > run\-in\-the\-opposite\-direction;
+低級語言 > low\-level\-\(computer\)\-language;
+不名一文 > without\-a\-penny\-to\-one''s\-name;
+不無小補 > not\-be\-without\-some\-advantage;
+加強管制 > to\-tighten\-control\-\(over\-sth\);
+人民日報 > renmin\-ribao\-\(people''s\-daily\);
+開始以前 > before\-the\-beginning\-\(of\-sth\);
+不識大體 > fail\-to\-see\-the\-larger\-issues;
+不打自招 > confess\-without\-being\-pressed;
+一舉兩得 > kill\-two\-birds\-with\-one\-stone;
+不速之客 > uninvited\-or\-unexpected\-guest;
+不得要領 > fail\-to\-grasp\-the\-main\-points;
+進行調查 > to\-carry\-out\-an\-investigation;
+大街小巷 > large\-streets\-and\-small\-lanes;
+各大軍區 > \"the\-greater\-military\-areas\";
+呼籲美國 > to\-call\-on\-the\-united\-states;
+豐衣足食 > have\-ample\-food\-and\-clothing;
+不知好歹 > not\-know\-what''s\-good\-for\-one;
+網管接口 > network\-management\-interface;
+根據上表 > according\-to\-the\-above\-table;
+國防利益 > \(national\)\-defence\-interests;
+本末倒置 > take\-the\-branch\-for\-the\-root;
+抱頭痛哭 > cry\-on\-each\-other''s\-shoulder;
+不一而足 > by\-no\-means\-an\-isolated\-case;
+白紙黑字 > \(written\)\-in\-black\-and\-white;
+不碎玻璃 > shatterproof\-or\-safety\-glass;
+莫衷一是 > cannot\-decide\-which\-is\-right;
+八國聯軍 > the\-eight\-power\-allied\-force;
+多年以來 > for\-many\-years\-\(in\-the\-past\);
+知識產權 > intellectual\-property\-rights;
+誓死不降 > to\-vow\-to\-fight\-to\-the\-death;
+沒有必要 > there\-is\-no\-need\-to\-\(do\-sth\);
+中文廣播 > chinese\-\(language\)\-broadcast;
+移殖手術 > \(organ\)\-transplant\-operation;
+浪子回頭 > the\-return\-of\-a\-prodigal\-son;
+不急之務 > a\-matter\-of\-no\-great\-urgency;
+電磁干擾 > electromagnetic\-interference;
+不易之論 > perfectly\-sound\-proposition;
+各種各樣 > various\-sorts\-and\-varieties;
+不違農時 > not\-miss\-the\-farming\-season;
+亂作決定 > to\-make\-arbitrary\-decisions;
+大器晚成 > grand\-talents\-mature\-slowly;
+按步就班 > follow\-the\-prescribed\-order;
+外交部長 > minister\-of\-foreign\-affairs;
+舉世矚目 > attract\-worldwide\-attention;
+獨斷專行 > act\-in\-an\-arbitrary\-fashion;
+私人鑰匙 > private\-key\-\(in\-encryption\);
+卻之不恭 > to\-refuse\-would\-be\-impolite;
+馬太福音 > gospel\-according\-to\-matthew;
+電話會議 > \(telephone\)\-conference\-call;
+不落窠臼 > not\-follow\-the\-beaten\-track;
+按照計劃 > according\-to\-\(the\)\-plan\-\.\.\.;
+事情要做 > thing\-that\-needs\-to\-be\-done;
+一路平安 > to\-have\-a\-pleasant\-journey;
+紐約時報 > new\-york\-times\-\(newspaper\);
+常問問題 > frequently\-asked\-questions;
+百孔千瘡 > riddled\-with\-gaping\-wounds;
+兵連禍結 > ravaged\-by\-successive\-wars;
+長期以來 > ever\-since\-a\-long\-time\-ago;
+安家落戶 > make\-one''s\-home\-in\-a\-place;
+入木三分 > written\-in\-a\-forceful\-hand;
+分時多工 > time\-division\-multiplexing;
+根深蒂固 > deep\-rooted\-\(problem\,\-etc\);
+星島日報 > sing\-tao\-daily\-\(newspaper\);
+電信服務 > telecommunications\-service;
+公開鑰匙 > public\-key\-\(in\-encryption\);
+電信網路 > telecommunications\-network;
+感染人數 > number\-of\-infected\-persons;
+百步穿楊 > shoot\-with\-great\-precision;
+出現意外 > \(to\-appear\)\-unexpected\(ly\);
+一觸即發 > could\-happen\-at\-any\-moment;
+纖芯直徑 > core\-diameter\-\(of\-a\-fiber\);
+進行交易 > to\-carry\-out\-a\-transaction;
+別出心裁 > adopt\-an\-original\-approach;
+百發百中 > every\-shot\-hits\-the\-target;
+不亢不卑 > neither\-haughty\-nor\-humble;
+白壁無瑕 > impeccable\-moral\-integrity;
+敗子回頭 > return\-of\-the\-prodigal\-son;
+訪問美國 > to\-visit\-the\-united\-states;
+不失時機 > seize\-the\-opportune\-moment;
+導彈潛艇 > \(guided\)\-missile\-submarine;
+安如泰山 > as\-secure\-as\-mount\-taishan;
+不義之財 > ill\-gotten\-wealth\-or\-gains;
+重要的是 > it\-is\-important\-\(that\)\-\.\.\.;
+通信技術 > communications\-technology;
+外匯儲備 > foreign\-exchange\-reserves;
+勞動教養 > reeducation\-through\-labor;
+不辭辛苦 > make\-nothing\-of\-hardships;
+程式理員 > program\-manager\-\(windows\);
+民主黨人 > a\-democratic\-party\-member;
+三十年來 > for\-the\-past\-thirty\-years;
+技術發展 > technological\-development;
+高等學校 > colleges\-and\-universities;
+康涅狄格 > connecticut\-\(state\-in\-us\);
+單連接站 > single\-attachment\-station;
+符合標準 > to\-comply\-with\-a\-standard;
+示威遊行 > a\-\(protest\)\-demonstration;
+大敵當前 > confront\-a\-powerful\-enemy;
+研製過程 > manufacturing\-environment;
+反唇相譏 > answer\-back\-sarcastically;
+核轟炸機 > nuclear\-bomber\-\(aircraft\);
+不得人心 > not\-enjoy\-popular\-support;
+直言不諱 > speak\-frankly\-and\-bluntly;
+景山公園 > name\-of\-a\-park\-in\-beijing;
+面臨困難 > to\-be\-faced\-with\-problems;
+不務正業 > not\-engage\-in\-honest\-work;
+愛理不理 > look\-cold\-and\-indifferent;
+改善通訊 > to\-improve\-communications;
+總參謀長 > \(military\)\-chief\-of\-staff;
+背信棄義 > break\-faith\-with\-somebody;
+跨國公司 > transnational\-corporation;
+共和黨人 > a\-republican\-party\-member;
+馬可福音 > gospel\-according\-to\-mark;
+每年一度 > once\-a\-year\-\(every\-year\);
+域名註冊 > domain\-name\-registration;
+兵貴神速 > speed\-is\-precious\-in\-war;
+多邊合作 > multilateral\-cooperation;
+投放市場 > to\-put\-sth\-on\-the\-market;
+荒無人煙 > desolate\-and\-uninhabited;
+約翰福音 > gospel\-according\-to\-john;
+印歐語言 > indo\-european\-\(language\);
+習以為常 > be\-accustomed\-or\-used\-to;
+兵荒馬亂 > turmoil\-and\-chaos\-of\-war;
+不動聲色 > maintain\-one''s\-composure;
+浮點運算 > floating\-point\-operation;
+內政部長 > minister\-of\-the\-interior;
+鼻針療法 > nose\-acupuncture\-therapy;
+虛擬環境 > theorhetical\-environment;
+密切注意 > close\-attention\-\(to\-sth\);
+不拘一格 > not\-stick\-to\-one\-pattern;
+完全懂得 > to\-understand\-completely;
+不平則鳴 > where\-there\-is\-injustice;
+核不擴散 > nuclear\-nonproliferation;
+擺脫危機 > to\-break\-out\-of\-a\-crisis;
+富布賴特 > fullbright\-\(scholarship\);
+撥亂反正 > bring\-order\-out\-of\-chaos;
+安第斯山 > the\-andes\-mountain\-range;
+百煉成鋼 > be\-tempered\-into\-a\-steel;
+國務次卿 > under\-secretary\-of\-state;
+半信半疑 > half\-believe\,\-half\-doubt;
+拔火罐兒 > detachable\-stove\-chimney;
+古希臘語 > ancient\-greek\-\(language\);
+千絲萬縷 > linked\-in\-countless\-ways;
+破土典禮 > ground\-breaking\-ceremony;
+教學機構 > educational\-organization;
+不遺余力 > spare\-no\-pains\-or\-effort;
+表示敬意 > respectful\,\-show\-respect;
+路加福音 > gospel\-according\-to\-luke;
+通訊行業 > communications\-industry;
+本位主義 > selfish\-departmentalism;
+為所欲為 > do\-whatever\-one\-pleases;
+人民法院 > people''s\-court\-\(of\-law\);
+商業機構 > commercial\-organization;
+不翼而飛 > disappear\-without\-trace;
+畢恭畢敬 > reverent\-and\-respectful;
+科研人員 > \(scientific\)\-researcher;
+透露消息 > to\-disclose\-information;
+中國時報 > china\-times\-\(newspaper\);
+威廉斯堡 > williamsburg\-\(virginia\);
+便宜行事 > act\-at\-one''s\-discretion;
+商業管理 > business\-administration;
+基礎速率 > basic\-rate\-\(as\-in\-isdn\);
+手寫識別 > handwriting\-recognition;
+手寫辯識 > handwriting\-recognition;
+比比皆是 > can\-be\-found\-everywhere;
+棄舊換新 > to\-turn\-over\-a\-new\-leaf;
+不情之請 > my\-presumptuous\-request;
+雙連接站 > dual\-attachment\-station;
+補助組織 > auxiliary\-organizations;
+回顧歷史 > to\-look\-back\-at\-history;
+通訊協定 > communications\-protocol;
+步履維艱 > have\-difficulty\-walking;
+共同篩選 > collaborative\-filtering;
+大驚小怪 > much\-fuss\-about\-nothing;
+通信協定 > communications\-protocol;
+公安官員 > public\-safety\-officials;
+傳輸技術 > transmission\-technology;
+冰天雪地 > a\-world\-of\-ice\-and\-snow;
+政府機構 > government\-organization;
+不可理喻 > be\-impervious\-to\-reason;
+職業中學 > vocational\-high\-school;
+自食其果 > reap\-what\-one\-has\-sown;
+不露聲色 > not\-show\-one''s\-feeling;
+大煞風景 > dampening\-one''s\-spirit;
+羅曼語族 > romance\-language\-group;
+孰能生巧 > practice\-makes\-perfect;
+嗷嗷待哺 > cry\-piteously\-for\-food;
+不痛不痒 > scratching\-the\-surface;
+聯網環境 > networking\-environment;
+解釋執行 > interpreted\-\(computer\);
+不近人情 > not\-amenable\-to\-reason;
+政治機構 > political\-organization;
+另眼相看 > to\-view\-in\-a\-new\-light;
+信息技術 > information\-technology;
+安全考慮 > security\-consideration;
+信息管理 > information\-management;
+蹦蹦跳跳 > bouncing\-and\-vivacious;
+通信密度 > communications\-density;
+沒有差別 > there\-is\-no\-difference;
+不言而喻 > it\-goes\-without\-saying;
+步調一致 > to\-be\-united\-in\-action;
+通訊通道 > communications\-channel;
+採訪記者 > investigative\-reporter;
+比較而言 > comparatively\-speaking;
+離開故鄉 > to\-leave\-one''\-homeland;
+通信網絡 > communications\-network;
+數字通信 > digital\-communications;
+共產黨員 > communist\-party\-member;
+網路架構 > network\-infrastructure;
+技術情報 > information\-technology;
+美國之音 > voice\-of\-america\-radio;
+標準組織 > standards\-organization;
+獨攬市場 > to\-monopolize\-a\-market;
+彬彬有禮 > refined\-and\-courteous;
+完全兼容 > completely\-compatible;
+觀測衛星 > observation\-satellite;
+三萬七千 > thirty\-seven\-thousand;
+大赦國際 > amnesty\-international;
+情報官員 > intelligence\-official;
+電磁噪聲 > electromagnetic\-noise;
+長途網路 > long\-distance\-network;
+比色分析 > colorimetric\-analysis;
+庫爾德人 > kurdish\-person\|people;
+微軟公司 > microsoft\-corporation;
+不識抬舉 > fail\-to\-appreciate\-sb;
+席卷亞洲 > to\-sweep\-through\-asia;
+作業環境 > operating\-environment;
+智慧產權 > intellectual\-property;
+高級官員 > high\-ranking\-official;
+半夜三更 > in\-the\-depth\-of\-night;
+取消禁令 > to\-life\-a\-prohibition;
+實際應用 > practical\-application;
+生產能力 > manufacturing\-ability;
+總統選舉 > presidential\-election;
+不擇手段 > by\-fair\-means\-or\-foul;
+國際標準 > interntional\-standard;
+金陵大學 > university\-of\-nanking;
+異質網路 > heterogeneous\-network;
+白手起家 > build\-up\-from\-nothing;
+葡萄牙語 > portuguese\-\(language\);
+一臂之力 > \(lend\)\-a\-helping\-hand;
+不倫不類 > neither\-fish\-nor\-fowl;
+基本原理 > fundamental\-principle;
+撫養成人 > to\-bring\-up\-\(a\-child\);
+通信服務 > communication\-service;
+國營企業 > nationalized\-industry;
+二十八號 > 28th\-day\-of\-the\-month;
+本固枝榮 > when\-the\-root\-is\-firm;
+傳輸設備 > transmission\-facility;
+不是味兒 > not\-the\-right\-flavour;
+操作環境 > operating\-environment;
+隨機時間 > random\-period\-of\-time;
+傳輸距離 > transmission\-distance;
+另起爐灶 > to\-start\-from\-scratch;
+首腦會議 > leadership\-conference;
+如出一轍 > be\-precisely\-the\-same;
+矮杆品種 > short\-stalked\-variety;
+運算環境 > operating\-environment;
+絞盡腦汁 > to\-wrack\-one''s\-brains;
+光磁碟機 > magneto\-optical\-drive;
+國有企業 > nationalized\-business;
+維吾爾人 > uighur\-person\|people;
+開除學籍 > to\-expel\-from\-school;
+首席代表 > chief\-representative;
+物理結構 > physical\-composition;
+國會議長 > speaker\-of\-the\-house;
+應用平台 > application\-platform;
+匈牙利語 > hungarian\-\(language\);
+不信任案 > no\-confidence\-motion;
+改善關係 > to\-improve\-relations;
+停火協議 > cease\-fire\-agreement;
+二十二號 > 22\-nd\-day\-of\-a\-month;
+確有其事 > \(confirm\-to\-be\)\-true;
+大型企業 > large\-scale\-industry;
+使徒行傳 > acts\-of\-the\-apostles;
+必不可少 > absolutely\-necessary;
+不在話下 > be\-nothing\-difficult;
+應用軟件 > application\-software;
+交換技術 > switching\-technology;
+程式語言 > programming\-language;
+發表聲明 > to\-issue\-a\-statement;
+電腦語言 > programming\-language;
+電子工業 > electronics\-industry;
+召開會議 > to\-call\-a\-conference;
+商業應用 > business\-application;
+每況愈下 > steadily\-deteriorate;
+軍事機構 > military\-institution;
+判處死刑 > to\-sentance\-to\-death;
+貨幣貶值 > currency\-devaluation;
+按照法律 > according\-to\-the\-law;
+北回歸線 > the\-tropic\-of\-cancer;
+電子元件 > electronic\-component;
+經濟衰退 > \(economic\)\-recession;
+光二極管 > light\-emitting\-diode;
+不穩平衡 > unstable\-equilibrium;
+信息資源 > information\-resource;
+六十五歲 > sixty\-five\-years\-old;
+智能大樓 > intelligent\-building;
+少數民族 > minority\-nationality;
+全面禁止 > complete\-prohibition;
+騾馬大車 > mule\-and\-horse\-carts;
+經濟發展 > economic\-development;
+通訊系統 > communication\-system;
+不二法門 > the\-one\-and\-only\-way;
+無價珍珠 > pearl\-of\-great\-price;
+未成年者 > minor\-\(not\-an\-adult\);
+伊斯蘭堡 > islamabad\-\(pakistan\);
+二十四號 > 24\-th\-day\-of\-a\-month;
+大失所望 > greatly\-dissapointed;
+企業集團 > industry\-association;
+管理接口 > management\-interface;
+應用軟體 > application\-software;
+生產設備 > production\-equipment;
+義務教育 > cumpulsory\-education;
+傳輸控制 > transmission\-control;
+不懷好意 > harbour\-evil\-designs;
+診斷功能 > diagnostic\-function;
+傳輸媒體 > transmission\-medium;
+起死回生 > arise\-from\-the\-dead;
+高階語言 > high\-level\-language;
+美國人民 > the\-american\-people;
+面嚮連接 > connection\-oriented;
+專業人才 > expert\-\(in\-a\-field\);
+無縫連接 > seamless\-connection;
+傳輸媒質 > transmission\-medium;
+層見迭出 > to\-occur\-frequently;
+美國以外 > outside\-of\-the\-u\.s\.;
+此時此刻 > at\-this\-very\-moment;
+多黨選舉 > multiparty\-election;
+光纖衰減 > optical\-attenuation;
+不勞而獲 > reap\-without\-sowing;
+技術標準 > technology\-standard;
+開發過程 > development\-process;
+通信負載 > communications\-load;
+常規武器 > conventional\-weapon;
+統計結果 > statistical\-results;
+司空見慣 > a\-common\-occurrence;
+二十七號 > 27th\-day\-of\-a\-month;
+視而不見 > turn\-a\-blind\-eye\-to;
+電子文件 > electronic\-document;
+結構助詞 > structural\-particle;
+字斟句酌 > weighing\-every\-word;
+政治關係 > political\-relations;
+相互兼容 > mutually\-compatible;
+尋事生非 > to\-look\-for\-trouble;
+小寫字母 > lowercase\-\(letters\);
+管理功能 > management\-function;
+高級語言 > high\-level\-language;
+分佈控制 > distributed\-control;
+網絡應用 > network\-application;
+機械翻譯 > machine\-translation;
+軟件技術 > software\-technology;
+奶油菜花 > creamed\-cauliflower;
+光發送器 > optical\-transmitter;
+網絡環境 > network\-environment;
+愛人如己 > love\-others\-as\-self;
+阿拉巴馬 > alabama\-\(u\.s\.state\);
+終點地址 > destination\-address;
+網路應用 > network\-application;
+目標地址 > destination\-address;
+二十六號 > 26th\-day\-of\-a\-month;
+中國當局 > chinese\-authorities;
+合情合理 > reasonable\-and\-fair;
+百依百順 > docile\-and\-obedient;
+半自耕農 > semi\-tenant\-peasant;
+網路環境 > network\-environment;
+反彈導彈 > antimissile\-missile;
+生產設施 > production\-facility;
+葡萄牙人 > portuguese\-\(person\);
+不絕如縷 > hanging\-by\-a\-thread;
+技術知識 > technical\-knowledge;
+美國軍人 > american\-serviceman;
+國際貿易 > international\-trade;
+人造語言 > artificial\-language;
+不敗之地 > invincible\-position;
+自身利益 > one''s\-own\-interests;
+競爭產品 > competitive\-product;
+非核國家 > non\-nuclear\-country;
+氣候狀況 > climatic\-conditions;
+環形結構 > ring\-configuration;
+西班牙語 > spanish\-\(language\);
+一般來說 > generally\-speaking;
+首腦會晤 > leadership\-meeting;
+重要問題 > an\-important\-issue;
+領先地位 > lead\(ing\)\-position;
+信息系統 > information\-system;
+種族清洗 > \"ethnic\-cleansing\";
+乒乓球檯 > table\-tennis\-table;
+非常嚴厲 > to\-punish\-severely;
+內部結構 > internal\-strucutre;
+數據通信 > data\-communication;
+非常感謝 > extremely\-grateful;
+克隆技術 > cloning\-technology;
+電子網絡 > electronic\-network;
+白麵書生 > pale\-faced\-scholar;
+財務軟件 > financial\-software;
+西班牙文 > spanish\-\(language\);
+古典語言 > classical\-language;
+兩個中國 > two\-china\-\(policy\);
+外來投資 > foreign\-investment;
+土耳其語 > turkish\-\(language\);
+不正之風 > unhealthy\-tendency;
+集成電路 > integrated\-circuit;
+閉關政策 > closed\-door\-policy;
+網絡技術 > network\-technology;
+中國政府 > chinese\-government;
+令牌環網 > token\-ring\-network;
+大明鼎鼎 > a\-grand\-reputation;
+貿易組織 > trade\-organization;
+遍地開花 > blossom\-everywhere;
+網絡管理 > network\-management;
+高速網絡 > high\-speed\-network;
+書面許可 > written\-permission;
+聯合公報 > joint\-announcement;
+研究機構 > research\-institute;
+佛蘭芒語 > flemish\-\(language\);
+國會議員 > member\-of\-congress;
+最近幾年 > the\-last\-few\-years;
+精簡開支 > to\-reduce\-spending;
+不置可否 > decline\-to\-comment;
+三角腹帶 > athletic\-supporter;
+衛生設備 > sanitary\-equipment;
+造成問題 > to\-create\-an\-issue;
+總的來說 > generally\-speaking;
+色情小說 > pornographic\-novel;
+貴妃醉酒 > the\-drunken\-beauty;
+電子信箱 > electronic\-mailbox;
+新加坡人 > singaporean\-person;
+驚濤駭浪 > perilous\-situation;
+大力發展 > vigorous\-expansion;
+服務規章 > service\-regulation;
+竭盡全力 > to\-spare\-no\-effort;
+不折不扣 > a\-hundred\-per\-cent;
+科研樣機 > research\-prototype;
+區域網路 > local\-area\-network;
+發送功率 > transmission\-power;
+政府警告 > government\-warning;
+核能技術 > nuclear\-technology;
+意大利語 > italian\-\(language\);
+北京大學 > beijing\-university;
+區域網絡 > local\-area\-network;
+網絡科技 > network\-technology;
+聯邦政府 > federal\-government;
+電腦業者 > software\-developer;
+進行編程 > executable\-program;
+虛擬連接 > virtual\-connection;
+客戶應用 > client\-application;
+不隨意肌 > involuntary\-muscle;
+採取措施 > to\-adopt\-a\-measure;
+哈佛大學 > harvard\-university;
+網管系統 > network\-management;
+暗線光譜 > dark\-line\-spectrum;
+電視節目 > television\-program;
+中國人民 > the\-chinese\-people;
+簡短介紹 > brief\-introduction;
+海灣戰爭 > \(persian\)\-gulf\-war;
+地球大氣 > earth''s\-atmosphere;
+簡要介紹 > brief\-introduction;
+服務質量 > quality\-of\-service;
+不攻自破 > collapse\-of\-itself;
+文化傳統 > cultural\-tradition;
+網絡遷移 > network\-migration;
+電腦軟件 > computer\-software;
+資料傳輸 > data\-transmission;
+國防部長 > defence\-secretary;
+巨大壓力 > enormous\-pressure;
+數據傳輸 > data\-transmission;
+政治氣候 > political\-climate;
+廣域網路 > wide\-area\-network;
+教友大會 > church\-conference;
+軍事力量 > military\-strength;
+電話服務 > telephone\-service;
+阿拉伯語 > arabic\-\(language\);
+支柱產業 > mainstay\-industry;
+多站地址 > multicast\-address;
+經濟安全 > economic\-security;
+外交風波 > diplomatic\-crisis;
+電話網路 > telephone\-network;
+反過來說 > on\-the\-other\-hand;
+歐洲語言 > european\-language;
+網絡設備 > network\-equipment;
+日益增加 > to\-increase\-daily;
+經濟力量 > economic\-strength;
+變本加厲 > become\-aggravated;
+光纖接口 > optical\-interface;
+商業行為 > business\-activity;
+軍費開支 > military\-spending;
+軟件平臺 > software\-platform;
+按圖索驥 > try\-to\-locate\-sth;
+希伯來語 > hebrew\-\(language\);
+開發週期 > development\-cycle;
+阿拉伯文 > arabic\-\(language\);
+戰略夥伴 > strategic\-partner;
+靜脈吸毒 > intraveneous\-drug;
+無期徒刑 > life\-imprisonment;
+百分之百 > a\-hundred\-percent;
+萊溫斯基 > \(monica\)\-lewinsky;
+傳輸服務 > transport\-service;
+綜合布線 > integrated\-wiring;
+傳輸通道 > transport\-channel;
+政府部門 > government\-branch;
+新聞週刊 > newsweek\-magazine;
+直接競爭 > direct\-competitor;
+醫療經驗 > medical\-expertise;
+廣播地址 > broadcast\-address;
+生物武器 > biological\-weapon;
+暗無天日 > complete\-darkness;
+高級研究 > advanced\-research;
+自主系統 > autonomous\-system;
+白金漢宮 > buckingham\-palace;
+運行狀況 > operational\-state;
+困難在於 > the\-problem\-is\.\.\.;
+日耳曼語 > germanic\-language;
+傳輸協定 > transfer\-protocol;
+大刀闊斧 > bold\-and\-decisive;
+特別待遇 > special\-treatment;
+專用網路 > dedicated\-network;
+敘利亞文 > syriac\-\(language\);
+傳輸速率 > transmission\-rate;
+不歡而散 > part\-on\-bad\-terms;
+中華民國 > republic\-of\-china;
+並駕齊驅 > run\-neck\-and\-neck;
+難以應付 > hard\-to\-deal\-with;
+硬件平臺 > hardware\-platform;
+官方語言 > official\-language;
+北京近郊 > suburb\-of\-beijing;
+一般原則 > general\-principle;
+射頻干擾 > radio\-interferece;
+四面八方 > in\-all\-directions;
+國家安全 > national\-security;
+海洋溫度 > ocean\-temperature;
+網際協定 > internet\-protocol;
+外交關係 > foreign\-relations;
+巴克夏豬 > berkshire\-\(swine\);
+不治之症 > incurable\-disease;
+業界標準 > industry\-standard;
+陸基導彈 > land\-based\-missle;
+西番雅書 > book\-of\-zephaniah;
+專家評論 > expert\-commentary;
+嚇得發抖 > tremble\-with\-fear;
+四門轎車 > sedan\-\(motor\-car\);
+愛不釋手 > fondle\-admiringly;
+從頭到腳 > from\-head\-to\-foot;
+軍事實力 > military\-strength;
+廣播網路 > broadcast\-network;
+笨口拙舌 > awkward\-in\-speech;
+巴斯克語 > basque\-\(language\);
+華北平原 > north\-china\-plain;
+救恩計劃 > plan\-of\-salvation;
+航空母艦 > aircraft\-carrier;
+中國大陸 > chinese\-mainland;
+影像會議 > video\-conference;
+悲歡離合 > joys\-and\-sorrows;
+百里挑一 > one\-in\-a\-hundred;
+語法術語 > grammatical\-term;
+更高性能 > high\-performance;
+軍事科學 > military\-science;
+器官移殖 > organ\-transplant;
+影像處理 > image\-processing;
+人事部門 > personnel\-office;
+潛在威脅 > potential\-threat;
+統計數據 > statistical\-data;
+特定含義 > specific\-meaning;
+金融系統 > financial\-system;
+導致死亡 > to\-lead\-to\-death;
+板上釘釘 > that\-clinches\-it;
+電腦企業 > computer\-company;
+唉聲嘆氣 > heave\-deep\-sighs;
+不好意思 > feel\-embarrassed;
+正常工作 > normal\-operation;
+傳真發送 > fax\-transmission;
+操作系統 > operating\-system;
+傳輸媒界 > transport\-method;
+移動電話 > mobile\-telephone;
+網絡直徑 > network\-diameter;
+成群結隊 > in\-large\-numbers;
+無所不賣 > to\-sell\-anything;
+通用電器 > general\-electric;
+朝鮮半島 > korean\-peninsula;
+有關人士 > persons\-involved;
+耶利米書 > book\-of\-jeremiah;
+金融市場 > financial\-market;
+兩岸對話 > bilaterial\-talks;
+不經之談 > absurd\-statement;
+路由協定 > routing\-protocol;
+網路平台 > network\-platform;
+光檢測器 > optical\-detector;
+電腦網路 > computer\-network;
+波爾多液 > bordeaux\-mixture;
+發達國家 > developed\-nation;
+已經進行 > already\-underway;
+傳送服務 > delivery\-service;
+讀者來信 > reader''s\-letters;
+哈巴谷書 > book\-of\-habakkuk;
+白壁微瑕 > a\-slight\-blemish;
+十幾個月 > ten\-months\-or\-so;
+不加思索 > without\-thinking;
+單模光纖 > singlemode\-fiber;
+最大能力 > maximum\-capacity;
+有線電視 > cable\-television;
+不變資本 > constant\-capital;
+電話信號 > telephone\-signal;
+威爾士語 > welsh\-\(language\);
+男子籃球 > men''s\-basketball;
+聯邦大樓 > federal\-building;
+普通問題 > common\-questions;
+輸送媒介 > transport\-medium;
+防衛武器 > defensive\-weapon;
+作業系統 > operating\-system;
+體育之窗 > window\-on\-sports;
+書寫語言 > written\-language;
+共享帶寬 > shared\-bandwidth;
+文化障礙 > cultural\-barrier;
+直接影響 > direct\-influence;
+與此同時 > at\-the\-same\-time;
+主要來源 > principle\-source;
+人民公社 > people''s\-commune;
+下面請看 > please\-see\-below;
+金融風波 > financial\-crisis;
+網絡協議 > network\-protocol;
+白衣戰士 > warrior\-in\-white;
+安如磐石 > as\-solid\-as\-rock;
+故障排除 > fault\-resolution;
+金融改革 > financial\-reform;
+行動電話 > mobile\-telephone;
+雌性接口 > female\-connector;
+心臟移殖 > heart\-transplant;
+遙控操作 > remote\-operation;
+簡單的說 > to\-put\-it\-simply;
+光接收器 > optical\-receiver;
+機械語言 > machine\-language;
+胡志明市 > ho\-chi\-minh\-city;
+不知所云 > not\-know\-what\-sb;
+電腦公司 > computer\-company;
+聯席會議 > joint\-conference;
+交換網路 > switched\-network;
+骨幹網路 > backbone\-network;
+軟件企業 > software\-company;
+力量均衡 > balance\-of\-power;
+施洗約翰 > john\-the\-baptist;
+尼希米記 > book\-of\-nehemiah;
+報紙報導 > newspaper\-report;
+金融危機 > financial\-crisis;
+離開北京 > to\-leave\-beijing;
+幾乎完全 > almost\-entirely;
+信息時代 > information\-age;
+產品經理 > product\-manager;
+軍事威脅 > military\-threat;
+網路服務 > network\-service;
+研究中心 > research\-center;
+崇拜儀式 > worship\-service;
+方興未艾 > to\-be\-unfolding;
+雙邊貿易 > bilateral\-trade;
+軍事部門 > military\-branch;
+除此之外 > apart\-from\-this;
+太陽公司 > sun\-corporation;
+外國資本 > foreign\-capital;
+豐富多彩 > richly\-colorful;
+不白之冤 > unrighted\-wrong;
+戒備森嚴 > heavily\-guarded;
+半途而廢 > give\-up\-halfway;
+批量生產 > to\-mass\-produce;
+操作速率 > operating\-speed;
+聯合發表 > joint\-statement;
+不完全葉 > incomplete\-leaf;
+核反應堆 > nuclear\-reactor;
+經濟改革 > economic\-reform;
+半壁江山 > half\-of\-country;
+古典音樂 > classical\-music;
+不可多得 > hard\-to\-come\-by;
+重新開始 > resume\,\-restart;
+電子郵件 > electronic\-mail;
+經濟前途 > economic\-future;
+工讀學校 > the\-reformatory;
+嚴重關切 > serious\-concern;
+經濟危機 > economic\-crisis;
+動態助詞 > aspect\-particle;
+暴跳如雷 > stamp\-with\-fury;
+以西結書 > book\-of\-ezekiel;
+化學武器 > chemical\-weapon;
+登記用戶 > registered\-user;
+嚴重問題 > serious\-problem;
+當務之急 > urgent\-priority;
+軟件系統 > software\-system;
+購物中心 > shopping\-center;
+壁壘森嚴 > closely\-guarded;
+瑪拉基書 > book\-of\-malachi;
+貿易夥伴 > trading\-partner;
+月份會議 > monthly\-meeting;
+研究報告 > research\-report;
+先進武器 > advanced\-weapon;
+大發雷霆 > extremely\-angry;
+美國政府 > u\.s\.\-government;
+塞爾特語 > celtic\-language;
+措辭強硬 > strongly\-worded;
+公司會議 > company\-meeting;
+改變形像 > transfiguration;
+百兒八十 > about\-a\-hundred;
+多模光纖 > multimode\-fiber;
+軟件市場 > software\-market;
+校園骨幹 > campus\-backbone;
+沒有聯繫 > to\-be\-unrelated;
+世界最大 > world''s\-largest;
+尖銳批評 > sharp\-criticism;
+電腦系統 > computer\-system;
+貨幣危機 > monetary\-crisis;
+暗送秋波 > make\-eyes\-at\-sb;
+數位網路 > digital\-network;
+全力以赴 > do\-at\-all\-costs;
+虛擬網絡 > virtual\-network;
+光明日報 > guangming\-daily;
+歷史久遠 > ancient\-history;
+斯拉夫語 > slavic\-language;
+外國公司 > foreign\-company;
+商業中心 > business\-center;
+不相上下 > equally\-matched;
+機密文件 > secret\-document;
+具體計劃 > a\-concrete\-plan;
+文書處理 > word\-processing;
+預防措施 > protective\-step;
+公然表示 > to\-state\-openly;
+負債纍纍 > heavily\-in\-debt;
+經濟體制 > economic\-system;
+不過爾爾 > merely\-mediocre;
+流感病毒 > influenza\-virus;
+衛生官員 > health\-official;
+具體問題 > concrete\-issue;
+國防預算 > defence\-budget;
+裁減軍備 > arms\-reduction;
+出口商品 > export\-product;
+改革進程 > reform\-process;
+薄胎瓷器 > eggshell\-china;
+擺蕩吊環 > swinging\-rings;
+全球氣候 > global\-climate;
+對外政策 > foreign\-policy;
+進行通信 > to\-communicate;
+不咎既往 > not\-censure\-sb;
+校園網絡 > campus\-network;
+數位信號 > digital\-signal;
+生長激素 > growth\-hormone;
+指揮中心 > command\-center;
+電話線路 > telephone\-line;
+語氣助詞 > modal\-particle;
+約書亞記 > book\-of\-joshua;
+經濟有效 > cost\-effective;
+堅決否認 > to\-firmly\-deny;
+書寫符號 > writing\-symbol;
+不知死活 > act\-recklessly;
+波羅的海 > the\-baltic\-sea;
+桌面系統 > desktop\-system;
+東南亞國 > southeast\-asia;
+小型企業 > small\-business;
+資料介面 > data\-interface;
+不怎麼樣 > not\-up\-to\-much;
+非常重要 > very\-important;
+醫學專家 > medical\-expert;
+先進水平 > advanced\-level;
+數據接口 > data\-interface;
+連鎖反應 > chain\-reaction;
+特別感謝 > special\-thanks;
+人壽保險 > life\-insurance;
+數據介面 > data\-interface;
+但以理書 > book\-of\-daniel;
+迫不得已 > have\-no\-choice;
+評價分類 > rank\,\-classify;
+從事研究 > to\-do\-research;
+以賽亞書 > book\-of\-isaiah;
+半數以上 > more\-than\-half;
+檔案屬性 > file\-attribute;
+從來沒有 > have\|has\-never;
+以斯帖記 > book\-of\-esther;
+最佳利益 > best\-interests;
+惡性循環 > vicious\-circle;
+不省人事 > be\-unconscious;
+百無聊賴 > bored\-to\-death;
+醫學中心 > medical\-center;
+白色人種 > the\-white\-race;
+綜合報導 > summary\-report;
+大同小異 > almost\-similar;
+卑躬屈節 > bow\-and\-scrape;
+恭賀新禧 > happy\-new\-year;
+前生召喚 > foreordination;
+網際電話 > internet\-phone;
+蘋果電腦 > apple\-computer;
+不脛而走 > get\-round\-fast;
+三輪車伕 > pedicab\-driver;
+飽經風霜 > weather\-beaten;
+全心全意 > heart\-and\-soul;
+泰米爾語 > tamil\-language;
+不期而遇 > meet\-by\-chance;
+近乎同步 > plesiochronous;
+哥本哈根 > copenhagen\-\?\?\?;
+百米賽跑 > 100\-metre\-dash;
+調查報告 > memoir\,\-report;
+數字信號 > digital\-signal;
+世界經濟 > global\-economy;
+通用汽車 > general\-motors;
+北京週報 > beijing\-review;
+源點地址 > source\-address;
+這次危機 > present\-crisis;
+出口產品 > export\-product;
+多工運作 > multithreading;
+二氧化碳 > carbon\-dioxide;
+網絡設計 > network\-design;
+五年計劃 > five\-year\-plan;
+市場經濟 > market\-economy;
+檔案執行 > file\-execution;
+互動電視 > interactive\-tv;
+公眾意見 > public\-opinion;
+歐洲聯盟 > european\-union;
+檔案轉送 > file\-transfer;
+排山倒海 > earth\-shaking;
+經營費用 > business\-cost;
+直截了當 > plain\-talking;
+冷戰以後 > post\-cold\-war;
+勢在必行 > be\-imperative;
+舊約全書 > old\-testament;
+幾個小時 > several\-hours;
+不可缺少 > indispensable;
+視窗基準 > windows\-based;
+電郵位置 > email\-address;
+研究領域 > research\-area;
+進接服務 > access\-server;
+二次大戰 > world\-war\-two;
+基本概念 > basic\-concept;
+貿易順差 > trade\-surplus;
+武器系統 > weapon\-system;
+家用電腦 > home\-computer;
+大公無私 > just\-and\-fair;
+新約全書 > new\-testament;
+亞洲國家 > asian\-country;
+暴風驟雨 > violent\-storm;
+捉取圖像 > capture\-image;
+拜金主義 > money\-worship;
+永久和平 > lasting\-peace;
+哈薩克人 > kazakh\-person;
+巡航導彈 > cruise\-missle;
+暴力犯罪 > violent\-crime;
+何西阿書 > book\-of\-hosea;
+不成文法 > unwritten\-law;
+亞太國家 > asian\-country;
+目標市場 > target\-market;
+最高法院 > supreme\-court;
+最後更新 > latest\-update;
+杏仁豆腐 > almond\-junket;
+這種方式 > \(in\)\-this\-way;
+保護主義 > protectionism;
+月球表面 > lunar\-surface;
+地方停車 > parking\-place;
+知名人士 > public\-figure;
+美國國會 > u\.s\.\-congress;
+不幸的是 > unfortunately;
+光纖電纜 > optical\-fiber;
+社交語言 > lingua\-franca;
+越來越多 > more\-and\-more;
+百科全書 > encyclopaedia;
+功率惡化 > power\-penalty;
+不可抗力 > force\-majeure;
+中國銀行 > bank\-of\-china;
+響應時間 > response\-time;
+傳輸模式 > transfer\-mode;
+不知不覺 > unconsciously;
+前所未有 > unprecedented;
+訪問方式 > access\-method;
+檔案建立 > file\-creation;
+出生日期 > date\-of\-birth;
+不可思議 > inconceivable;
+格子花呢 > plaid\,\-tartan;
+雙生兄弟 > twin\-brothers;
+最大速率 > maximum\-speed;
+現實情況 > current\-state;
+包羅萬象 > all\-embracing;
+視頻節目 > video\-program;
+羅馬字母 > roman\-letters;
+不可名狀 > indescribable;
+其他的人 > other\-people;
+媒體報導 > media\-report;
+和平條約 > peace\-treaty;
+股票市場 > stock\-market;
+大驚失色 > apprehensive;
+高層旅館 > luxury\-hotel;
+靈的世界 > spirit\-world;
+出乎預料 > unexpectedly;
+地方主義 > \"local\-\-ism\";
+激光唱片 > compact\-disk;
+中央銀行 > central\-bank;
+斯密約瑟 > joseph\-smith;
+目前世界 > modern\-world;
+民意調查 > opinion\-poll;
+現代音樂 > modern\-music;
+製造業者 > manufacturer;
+心理學家 > psychologist;
+不能抵抗 > irresistible;
+過境簽証 > transit\-visa;
+耶穌基督 > jesus\-christ;
+記者報導 > press\-report;
+多工作業 > multitaksing;
+不大離兒 > pretty\-close;
+本來面目 > true\-colours;
+網路節點 > network\-node;
+不可收拾 > irremediable;
+國家機密 > state\-secret;
+調查人員 > investigator;
+武裝部隊 > armed\-forces;
+生產企業 > manufacturer;
+名錄服務 > name\-service;
+語音信號 > voice\-signal;
+令人驚異 > surprisingly;
+基礎設施 > base\-station;
+生命跡象 > sign\-of\-life;
+知識分子 > intellectual;
+阿摩司書 > book\-of\-amos;
+用戶定義 > user\-defined;
+成吉思汗 > genghis\-khan;
+主幹網路 > core\-network;
+民意測驗 > opinion\-poll;
+歷代志下 > 2\-chronicles;
+歷代志上 > 1\-chronicles;
+指令名字 > command\-name;
+一小部分 > a\-small\-part;
+主幹網絡 > core\-network;
+揮霍無度 > extravagance;
+登陸月球 > moon\-landing;
+軍事援助 > military\-aid;
+本本主義 > book\-worship;
+五角大樓 > the\-pentagon;
+摩西律法 > law\-of\-moses;
+迅速蔓延 > rapid\-spread;
+以斯拉記 > book\-of\-ezra;
+不知所措 > be\-at\-a\-loss;
+形形色色 > all\-kinds\-of;
+檔案服務 > file\-servoce;
+降落地點 > landing\-site;
+三十五億 > 3\-\.5\-billion;
+二十六歲 > 26\-years\-old;
+數據網絡 > data\-network;
+龐然大物 > huge\-monster;
+世界知名 > world\-famous;
+知識份子 > intellectual;
+快速發展 > rapid\-growth;
+多種語言 > multilingual;
+安全問題 > safety\-issue;
+沉重打擊 > to\-hit\-hard;
+自然而然 > involuntary;
+不贊一詞 > keep\-silent;
+人體器官 > human\-organ;
+民族主義 > nationalism;
+精子密度 > sperm\-count;
+遷居移民 > immigration;
+野生動物 > wild\-animal;
+聖誕老人 > santa\-claus;
+浪漫主義 > romanticism;
+不可知論 > agnosticism;
+不切實際 > unrealistic;
+典型用途 > typical\-use;
+富於想像 > imaginative;
+國事訪問 > state\-visit;
+半半拉拉 > incompleted;
+不可分離 > inseparable;
+無產階級 > proletariat;
+失去意識 > unconscious;
+百萬富翁 > millionaire;
+貴族社會 > aristocracy;
+波多黎各 > puerto\-rico;
+立法機關 > legislature;
+主要原因 > main\-reason;
+有生以來 > since\-birth;
+貝加爾湖 > lake\-baikal;
+和平會談 > peace\-talks;
+不變價格 > fixed\-price;
+女繼承人 > inheritress;
+假設語氣 > subjunctive;
+地心吸力 > gravitation;
+運貨馬車 > cargo\-wagon;
+第三世界 > third\-world;
+無關緊要 > indifferent;
+大便乾燥 > constipated;
+不偏不倚 > even\-handed;
+分散注意 > to\-distract;
+不毛之地 > barren\-land;
+超級市場 > supermarket;
+必要條件 > requirement;
+分期付款 > installment;
+舉例來說 > for\-example;
+世界貿易 > world\-trade;
+莎士比亞 > shakespeare;
+四分之一 > one\-quarter;
+訊框傳送 > frame\-relay;
+畫插圖者 > illustrator;
+越南戰爭 > vietnam\-war;
+無所不在 > omnipresent;
+不出所料 > as\-expected;
+世界和平 > world\-piece;
+不同凡響 > outstanding;
+應用程式 > application;
+轉來轉去 > rove\-around;
+針鋒相對 > tit\-for\-tat;
+閉會祈禱 > benediction;
+不可估量 > inestimable;
+開放系統 > open\-system;
+有限公司 > corporation;
+空間探測 > space\-probe;
+基礎問題 > basic\-issue;
+邁阿密灘 > miami\-beach;
+身心爽快 > refreshment;
+祭司權術 > priestcraft;
+恰如其份 > appropriate;
+在這期間 > during\-time;
+無法忍受 > intolerable;
+反動分子 > reactionary;
+使用方便 > easy\-to\-use;
+無法形容 > unspeakable;
+有同情心 > sympathetic;
+進行性交 > to\-have\-sex;
+喜歡吵架 > quarrelsome;
+模糊邏輯 > fuzzy\-logic;
+就﹍而言 > considering;
+有選舉權 > constituent;
+測驗結果 > test\-result;
+管家職務 > stewardship;
+狗交媾般 > doggy\-style;
+專有名詞 > proper\-noun;
+朋比為奸 > to\-conspire;
+搬弄是非 > sow\-discord;
+冰染染料 > azoic\-dyes;
+四個小時 > four\-hours;
+天文學家 > astronomer;
+眼花繚亂 > be\-dazzled;
+魯佛爾宮 > the\-louvre;
+不堪忍受 > unbearable;
+娛樂中心 > recreation;
+自由貿易 > free\-trade;
+三分之二 > two\-thirds;
+總統任期 > presidency;
+不可逾越 > impassable;
+教堂墓地 > churchyard;
+行政長官 > magistrate;
+貴族論者 > aristocrat;
+新聞記者 > journalist;
+鞭闢入裡 > penetrated;
+他們自己 > themselves;
+阿塞拜疆 > azerbaijan;
+邏輯炸彈 > logic\-bomb;
+圖解說明 > illustrate;
+不屈不撓 > unyielding;
+大腦死亡 > brain\-dead;
+胡思亂想 > imaginings;
+一切事物 > everything;
+歌羅西書 > colossians;
+不由自主 > can''t\-help;
+曼徹斯特 > manchester;
+伽馬射線 > gamma\-rays;
+極為龐大 > monumental;
+有利可圖 > profitable;
+無所不能 > omnipotent;
+分離主義 > separatism;
+世界銀行 > world\-bank;
+無所不知 > omniscient;
+開會祈禱 > invocation;
+領導能力 > leadership;
+意見不合 > dissension;
+孟加拉國 > bangladesh;
+引人注意 > attractive;
+忘恩負義 > ungrateful;
+相同名字 > like\-named;
+使人信服 > convincing;
+取而代之 > substitute;
+電子空間 > cyberspace;
+微不足道 > negligible;
+達賴喇嘛 > dalai\-lama;
+不揣冒昧 > venture\-to;
+省略符號 > apostrophe;
+不對碴兒 > not\-proper;
+意想不到 > unexpected;
+冰上運動 > ice\-sports;
+美乃滋醬 > mayonnaise;
+陸軍中尉 > lieutenant;
+彪形大漢 > burly\-chap;
+萬事達卡 > mastercard;
+過渡時期 > transition;
+新聞媒體 > news\-media;
+堅定不移 > unswerving;
+此時以前 > heretofore;
+朝鮮戰爭 > korean\-war;
+難以置信 > incredible;
+共和政體 > republican;
+外交手腕 > diplomatic;
+畢業典禮 > graduation;
+腓立比書 > philipians;
+騎士風格 > knighthood;
+化妝舞會 > masquerade;
+女服物員 > stewardess;
+沒有知覺 > insensible;
+斑駮陸離 > variegated;
+氣勢洶洶 > aggressive;
+七十年代 > the\-1970''s;
+從今以後 > henceforth;
+視窗新技 > windows\-nt;
+縮小模型 > miniature;
+以弗所書 > ephesians;
+沒有形狀 > shapeless;
+用戶數據 > user\-data;
+開發人員 > developer;
+地質學家 > geologist;
+生物學家 > biologist;
+不可磨滅 > indelible;
+不亦樂乎 > extremely;
+按照字面 > literally;
+三分之一 > one\-third;
+不可救藥 > incurable;
+耶路撒冷 > jerusalem;
+褻瀆的話 > blasphemy;
+國內戰爭 > civil\-war;
+危地馬拉 > guatamala;
+加密後的 > encrypted;
+有攻擊性 > offensive;
+惡名昭彰 > notorious;
+經濟學家 > economist;
+阿空加瓜 > aconcagua;
+加拉太書 > galatians;
+網際色情 > cyberporn;
+花粉過敏 > hay\-fever;
+為時過早 > premature;
+聯合組織 > syndicate;
+有創造力 > ingenious;
+人物描寫 > portrayal;
+令人欽佩 > admirable;
+阿奇里斯 > aeschylus;
+孟加拉語 > bengalese;
+機械裝置 > machinery;
+斑翅山鶉 > partridge;
+不可勝數 > countless;
+總會會長 > president;
+毫無疑問 > certainty;
+澳大利亞 > australia;
+大寫鎖定 > caps\-lock;
+半工半讀 > part\-work;
+我們自己 > ourselves;
+羅徹斯特 > rochester;
+管弦樂團 > orchestra;
+白日做夢 > day\-dream;
+任何其他 > any\-other;
+巴勒斯坦 > palestine;
+在﹍旁邊 > alongside;
+先見之明 > foresight;
+隨之而後 > from\-that;
+上個星期 > last\-week;
+民主政治 > democracy;
+主管人員 > executive;
+財務秘書 > treasurer;
+生育能力 > fertility;
+共享軟體 > shareware;
+不受歡迎 > unwelcome;
+凹凸印刷 > embossing;
+撒都該人 > sadducees;
+共產主義 > communism;
+不以為然 > object\-to;
+社會主義 > socialism;
+蜜月假期 > honeymoon;
+同班同學 > classmate;
+具有主權 > sovereign;
+自動樓梯 > escalator;
+緊急事件 > emergency;
+退黑激素 > melatonin;
+不計其數 > countless;
+基督教徒 > christian;
+凹凸軋花 > embossing;
+不然的話 > otherwise;
+亞格門農 > agamemnon;
+不逞之徒 > desperado;
+置之度外 > disregard;
+憤憤不平 > indignant;
+下個星期 > next\-week;
+歷史學家 > historian;
+堅忍不拔 > fortitude;
+全場一致 > unanimous;
+羅切斯特 > rochester;
+表意文字 > ideograph;
+通貨膨脹 > inflation;
+變換設備 > converter;
+經濟學者 > economist;
+丙種射線 > gamma\-ray;
+意氣相投 > congenial;
+獲暴利者 > profiteer;
+斯洛伐克 > slovakia;
+油炸圈餅 > doughnut;
+因﹍之故 > inasmuch;
+雍容大度 > generous;
+好好兒地 > properly;
+騎士氣概 > chivalry;
+艾德蕾德 > adelaide;
+免費軟件 > freeware;
+以太網絡 > ethernet;
+桃花心木 > mahogany;
+標準規格 > standard;
+無論何時 > whenever;
+幾乎沒有 > scarcely;
+牧師之職 > ministry;
+六十四萬 > 64\-0\-000;
+蒙托羅拉 > motorola;
+人工流產 > abortion;
+喇叭水仙 > daffodil;
+國際網絡 > internet;
+無論何事 > anything;
+精力充沛 > vigorous;
+哥倫布紀 > columbus;
+左輪手槍 > revolver;
+哥倫比亞 > colombia;
+君主政治 > monarchy;
+人口稠密 > populous;
+引人注目 > striking;
+阿奇歷斯 > achilles;
+奧德修斯 > odysseus;
+坦桑尼亞 > tanzania;
+不顧一切 > reckless;
+勢如破竹 > sweeping;
+農家庭院 > farmyard;
+家庭作業 > homework;
+即將來臨 > imminent;
+音樂光碟 > music\-cd;
+五彩賓紛 > colorful;
+漢密爾頓 > hamilton;
+語言學家 > linguist;
+龍頭老大 > big\-boss;
+腓利門書 > philemon;
+電腦網絡 > internet;
+摩托羅拉 > motorola;
+巴基斯坦 > pakistan;
+巴巴多斯 > barbados;
+競選活動 > campaign;
+終端用戶 > end\-user;
+墨水瓶架 > inkstand;
+網際網路 > internet;
+無人駕駛 > unmanned;
+法利賽人 > pharisee;
+科羅拉多 > colorado;
+匪徒集團 > gangster;
+射頻噪音 > rf\-noise;
+人道主義 > humanism;
+一心一意 > intently;
+網際網絡 > internet;
+精神錯亂 > insanity;
+嘉年華會 > carnival;
+博茨瓦納 > botswana;
+壟斷販賣 > monopoly;
+保加利亞 > bulgaria;
+貴族身份 > lordship;
+肌肉發達 > muscular;
+流感疫苗 > flu\-shot;
+工作過度 > overwork;
+乙太網路 > ethernet;
+骨頭架子 > skeleton;
+愛因斯坦 > einstein;
+無論何處 > anywhere;
+公開指責 > denounce;
+歡迎光臨 > welcome;
+安提瓜島 > antigua;
+喪心病狂 > lunatic;
+格子棉布 > gingham;
+萬有引力 > gravity;
+消防隊員 > fireman;
+扳不倒兒 > tumbler;
+爬蟲動物 > reptile;
+退伍軍人 > veteran;
+外科醫生 > surgeon;
+在﹍之間 > between;
+十億位元 > gigabit;
+身體障害 > cripple;
+阿摩尼亞 > ammonia;
+蠕動前進 > wriggle;
+派給工作 > to\-task;
+薔薇花蕾 > rosebud;
+無論何人 > whoever;
+斯瓦希裡 > swahili;
+航空郵件 > airmail;
+亞特蘭大 > atlanta;
+進退兩難 > dilemma;
+不稂不莠 > useless;
+分析人士 > analyst;
+最低限度 > minimum;
+克什米爾 > kashmir;
+活動房屋 > trailer;
+什一奉獻 > tithing;
+墨西哥人 > mexican;
+加榮耀於 > glorify;
+不干不淨 > unclean;
+三位一體 > trinity;
+女用內衣 > chemise;
+公益事業 > utility;
+日常工作 > routine;
+男性親屬 > kinsman;
+貨物運輸 > freight;
+牙科醫生 > dentist;
+郡治安官 > sheriff;
+亞伯拉罕 > abraham;
+克羅地亞 > croatia;
+全神灌注 > rapture;
+專科院校 > academy;
+高速公路 > highway;
+給與資格 > qualify;
+印地安那 > indiana;
+不得而知 > unknown;
+航空公司 > airline;
+有耐久力 > durable;
+太陽黑子 > sunspot;
+希伯來書 > hebrews;
+奧林匹克 > olympic;
+亞利桑那 > arizona;
+蓋世太保 > gestapo;
+喋喋不休 > chatter;
+愛屋及烏 > love\-me;
+經濟制度 > economy;
+以馬內利 > emanuel;
+規劃人員 > planner;
+慈善機構 > charity;
+男性尊稱 > esquire;
+不三不四 > dubious;
+列王紀下 > 2\-kings;
+列王紀上 > 1\-kings;
+陸軍上校 > colonel;
+虛構小說 > fiction;
+外科手術 > surgery;
+各色各樣 > diverse;
+佛羅裡達 > florida;
+公爵夫人 > duchess;
+有好奇心 > curious;
+彼得後書 > 2\-peter;
+玻利維亞 > bolivia;
+小型櫃櫥 > cabinet;
+印像深刻 > impress;
+指導教授 > adviser;
+不知何故 > somehow;
+阿司匹林 > aspirin;
+金光閃爍 > spangle;
+互聯網絡 > network;
+奴隸制度 > slavery;
+恢復原狀 > restore;
+馬來西亞 > malasia;
+山胡桃木 > hickory;
+彼得前書 > 1\-peter;
+就寢時間 > bedtime;
+四輪馬車 > chariot;
+亞拉巴馬 > alabama;
+彈道導彈 > missile;
+有精神病 > insane;
+哺乳動物 > mammal;
+伊尼伊德 > aeneid;
+塞爾維亞 > serbia;
+使﹍豐富 > enrich;
+伊尼亞斯 > aeneas;
+驅逐出境 > deport;
+八分音符 > quaver;
+天竺牡丹 > dahlia;
+離奇有趣 > quaint;
+發嘎嘎聲 > rattle;
+超過限度 > exceed;
+不可告人 > hidden;
+力足以做 > afford;
+在﹍期間 > during;
+種族主義 > racism;
+徒步旅行 > hiking;
+旅行裝備 > outfit;
+地下鐵路 > subway;
+威士忌酒 > whisky;
+連字符號 > hyphen;
+廢除軍備 > disarm;
+顛倒過來 > invert;
+七月一號 > july\-1;
+點頭招呼 > beckon;
+伯仲叔季 > eldest;
+鼻口部分 > muzzle;
+尖聲啼哭 > squeal;
+命運註定 > ordain;
+人頭獅身 > sphinx;
+不幸之事 > mishap;
+在﹍之旁 > beside;
+約翰二書 > 2\-john;
+轟轟烈烈 > strong;
+十四行詩 > sonnet;
+二者之一 > either;
+約翰三書 > 3\-john;
+約翰一書 > 1\-john;
+美洲兀鷹 > condor;
+五分美金 > nickel;
+除了之外 > except;
+製陶工人 > potter;
+人口調查 > census;
+無論如何 > anyhow;
+出埃及記 > exodus;
+有藥癮者 > addict;
+釣魚用具 > tackle;
+比較喜歡 > prefer;
+阿多尼斯 > adonis;
+逃之夭夭 > escape;
+紫羅蘭色 > violet;
+傭人領班 > butler;
+不戰不和 > no\-war;
+蘇格蘭帽 > bonnet;
+減低速度 > retard;
+阿拉斯加 > alaska;
+使具體化 > embody;
+酒精飲料 > liquor;
+跑堂兒的 > waiter;
+使﹍能夠 > enable;
+生氣勃勃 > lively;
+無法無天 > outlaw;
+波斯尼亞 > bosnia;
+虛張聲勢 > bluff;
+未成年人 > minor;
+麵包師傅 > baker;
+感化餅乾 > wafer;
+非常害怕 > dread;
+一線微光 > gleam;
+五花八門 > myrid;
+斜紋軟呢 > tweed;
+德克薩斯 > texas;
+滿身塵埃 > dusty;
+調味肉汁 > gravy;
+標準尺寸 > gauge;
+在﹍之下 > below;
+在﹍之上 > above;
+蟲鳥叫聲 > chirp;
+動態影像 > video;
+三千五百 > 3\-500;
+示威運動 > rally;
+載貨汽車 > lorry;
+布帛菽粟 > cloth;
+神經過敏 > jumpy;
+伊斯蘭教 > islam;
+愁眉苦臉 > frown;
+吉普賽人 > gypsy;
+愛克斯光 > x\-ray;
+家庭教師 > tutor;
+露齒而笑 > grin;
+從容不迫 > calm;
+一角銀幣 > dime;
+飲食療養 > diet;
+目瞪口呆 > stun;
+擺龍門陣 > chat;
+到﹍之上 > onto;
+全體人員 > crew;
+遠程監控 > rmon;
+在﹍之中 > amid;
+小起重機 > jack;
+輕而易舉 > easy;
+金屬薄片 > foil;
+頭腦清楚 > sane;
+在水步行 > wade;
+出租汽車 > taxi;
+高爾夫球 > golf;
+電話鈴聲 > buzz;
+液晶顯示 > lcd;
+烏合之眾 > mob;
+索具裝置 > rig;
+公共汽車 > bus;
+莫名其妙 > odd;
+圓形木材 > log;
+不分勝負 > tie;
+衣服縫邊 > hem;
+圓形麵包 > bun;
+杜松子酒 > gin;
+在﹍之內 > in;
+直通車 > \"through\-train\"\-\(refers\-to\-the\-idea\-of\-retaining\-previous\-legislature\-after\-transition\-to\-chinese\-rule\-in\-hong\-kong\-or\-macau\);
+小臟鬼 > dirty\-little\-monster\-\(spoken\-affectionately\-to\-a\-child\-who\-has\-gotten\-him\(her\)self\-dirty\;\-literally\-\"little\-dirty\-ghost\"\);
+綺色佳 > ithaca\,\-ny\-\(but\-pronounced\-yi3\-se4\-jia1\,\-following\-a\-mistake\-made\-by\-hu2\-shi4\-胡適\);
+雷峰塔 > leifeng\-pagoda\,\-by\-west\-lake\-until\-it\-was\-destroyed\-\(also\-from\-madam\-white\-snake\);
+牡丹卡 > peony\-card\-\(credit\-card\-issued\-by\-industrial\-and\-commercial\-bank\-of\-china\);
+三岔口 > at\-the\-crossroads\,\-the\-name\-of\-a\-famous\-opera\,\-story\-from\-shui\-hu\-zhuan;
+李自成 > name\-of\-a\-person\,\-li\-zi\-cheng\,\-leader\-of\-ming\-dynasty\-peasant\-rebellion;
+江八點 > \"jiang\-zemin''s\-eight\-point\-formula\"\-\(for\-resuming\-a\-dialog\-with\-taiwan\);
+鄧亮洪 > tang\-liang\-hong\-\(opposition\-candidate\-in\-jan\-1996\-singapore\-elections\);
+吃大戶 > mass\-seizure\-of\-food\-from\-landlords\-during\-famines\-before\-liberation;
+李時珍 > li\-shi\-zhen\-\(1518\-1593\,\-famous\-doctor\,\-author\-of\-ben3\-cao3\-gang1\-mu4;
+禽流感 > \"bird\-flu\"\-\(flu\-carried\-by\-birds\-\-\-found\-in\-hong\-kong\-in\-late\-1997\);
+蒙代爾 > \(walter\)\-mondale\-\(us\-ambassador\-to\-japan\,\-former\-us\-vice\-president\);
+陳納德 > \(claire\)\-chennault\,\-commander\-of\-flying\-tigers\-during\-world\-war\-ii;
+維爾容 > \(johannes\-lodewikus\)\-viljoen\-\(south\-african\-ambassador\-to\-taiwan\);
+葛洲壩 > name\-of\-a\-place\,\-gezhouba\-dam\-on\-the\-changjiang\-river\,\-in\-sichuan;
+鼻韻母 > \(of\-chinese\-pronunciation\)\-a\-vowel\-followed\-by\-a\-nasal\-consonant;
+金永南 > kim\-yong\-nam\-\(north\-korean\-deputy\-premier\-and\-foreign\-minister\);
+斗批改 > struggle\-criticism\-transformation\-\(cultural\-revolution\-slogan\);
+端午節 > the\-dragon\-boat\-festival\-\(the\-5th\-day\-of\-the\-5th\-lunar\-month\);
+白茫茫 > \(of\-mist\,\-snow\,\-floodwater\,\-etc\)\-a\-vast\-expanse\-of\-whiteness;
+斯佩羅 > \(joan\)\-spero\-\(under\-secretary\-of\-state\-for\-economic\-affairs\);
+太極拳 > a\-kind\-of\-traditional\-chinese\-shadowboxing\-\(tai\-chi\-chuan\);
+會不會 > \(posing\-a\-question\:\-whether\-someone\,\-something\)\-can\-or\-not;
+抱佛腳 > clasp\-budda''s\-feet\-\-\-profess\-devotion\-only\-when\-in\-trouble;
+蛋花湯 > clear\-soup\-containing\-beaten\-egg\-and\-green\-leafy\-vegetable;
+金山寺 > jinshan\-temple\,\-where\-fahai\-lives\-\(from\-madam\-white\-snake\);
+並蒂蓮 > twin\-lotus\-flowers\-on\-one\-stalk\-\-\-a\-devoted\-married\-couple;
+飛虎隊 > flying\-tigers\-\(us\-airmen\-in\-china\-during\-world\-war\-two\);
+暗花兒 > a\-veiled\-design\-incised\-in\-porcelain\-or\-woven\-in\-fabric;
+拔罐子 > cupping\-technique\-used\-in\-traditional\-chinese\-medicine;
+元宵節 > the\-lantern\-festival\,\-january\-15\-on\-the\-lunar\-calendar;
+個體戶 > a\-small\-private\-business\-\(used\-in\-mainland\-china\-only\);
+景德鎮 > jing\-de\-zhen\-\(a\-chinese\-city\-in\-jiang\-xi\-江西\-province\);
+長城卡 > great\-wall\-card\-\(credit\-card\-issued\-by\-bank\-of\-china\);
+哈貝爾 > \(webster\)\-hubbell\-\(former\-associate\-attorney\-general\);
+萬壽山 > name\-of\-a\-place\,\-longevity\-hill\,\-in\-summer\-palace\-頤和園;
+拉那烈 > \(prince\)\-ranariddh\-\(son\-of\-king\-sihanouk\-of\-cambodia\);
+包干制 > a\-system\-of\-payment\-partly\-in\-kind\-and\-partly\-in\-cash;
+顏真卿 > name\-of\-a\-person\,\-yan\-zhenqing\,\-a\-famous\-calligrapher;
+白素貞 > \(name\-of\-a\-person\)\-bai\-suzhen\,\-from\-madam\-white\-snake;
+白冰冰 > pai\-ping\-ping\-\(well\-known\-taiwan\-performing\-artist\);
+伯恩斯 > \(nicholas\)\-burns\-\(us\-state\-department\-spokesperson\);
+尼赫魯 > \(jawaharlal\)\-nehru\-\(first\-prime\-minister\-of\-india\);
+撥浪鼓 > a\-drum\-shaped\-rattle\-\(used\-by\-pedlars\-or\-as\-a\-toy\);
+北大荒 > the\-great\-northern\-wilderness\-\(in\-northern\-china\);
+十五大 > 1\-5th\-party\-congress\-\(of\-chinese\-communist\-party\);
+李光耀 > lee\-kuan\-yew\-\(former\-prime\-minister\-of\-singapore\);
+跑江湖 > to\-make\-a\-living\-as\-a\-travelling\-performer\,\-etc\.;
+交易額 > sum\-or\-volume\-or\-amount\-of\-business\-transactions;
+林豐正 > lin\-feng\-cheng\-\(taiwan\-minister\-of\-the\-interior\);
+董建華 > tung\-chee\-hwa\-\(hong\-kong\-leader\-after\-july\-1997\);
+南京路 > nanjing\-st\.\,\-large\-commercial\-street\-in\-shanghai;
+八仙桌 > old\-fashioned\-square\-table\-to\-seat\-eight\-people;
+塞拉凡 > \(sonny\)\-seraphin\-\(haitian\-ambassador\-to\-taiwan\);
+金大中 > kim\-dae\-jung\-\(newly\-elected\-president\-of\-korea\);
+范斯坦 > \(dianne\)\-feinstein\-\(us\-senator\-from\-california\);
+液態水 > liquid\-water\-\(as\-opposed\-to\-steam\-or\-ice\,\-e\.g\.\);
+解放軍 > people''s\-liberation\-army\-\(ie\,\-the\-chinese\-army\);
+趙紫陽 > zhao\-ziyang\-\(former\-chinese\-leadership\-figure\);
+互通性 > interoperability\-\(of\-communications\-equipment\);
+全斗煥 > chun\-doo\-hwan\-\(former\-south\-korean\-president\);
+探路者 > pathfinder\-\(space\-craft\-sent\-to\-mars\-by\-nasa\);
+崔亞琳 > charles\-yah\-lin\-trie\-\(arkansas\-restauranteur\);
+專案組 > special\-\(legal\|judicial\)\-investigations\-group;
+長沙灣 > cheung\-sha\-wan\-\(poultry\-market\-in\-hong\-kong\);
+正常化 > normalization\-\(of\-diplomatic\-relations\,\-etc\);
+謝裡夫 > \(nawaz\)\-sharif\-\(prime\-minister\-of\-pakistan\);
+吳作棟 > goh\-chok\-tong\-\(prime\-minister\-of\-singapore\);
+工人黨 > workers''\-party\-\(singapore\-opposition\-party\);
+斯佩林 > spelling\-\(eg\,\-spelling\-entertainment\-group\);
+盧泰愚 > roh\-tae\-woo\-\(former\-south\-korean\-president\);
+齊白石 > name\-of\-a\-famous\-chinese\-artist\,\-qi\-bai\-shi;
+商務部 > commerce\-department\-\(of\-the\-us\-government\);
+老伴兒 > \(of\-an\-old\-married\-couple\)\-husband\-or\-wife;
+梆子腔 > a\-general\-term\-for\-local\-operas\-in\-shangxi;
+梅蘭芳 > name\-of\-a\-very\-famous\-beijing\-opera\-artist;
+行政院 > executive\-yuan\-\(government\-body\-in\-taiwan\);
+杰佛茲 > \(james\)\-jeffords\-\(us\-senator\-from\-vermont\);
+羅布泊 > lop\-nor\-\(nuclear\-testing\-site\-in\-xinjiang\);
+民進黨 > dpp\-\(democratic\-progressive\-party\,\-taiwan\);
+白花蛇 > long\-nosed\-pit\-viper\-\(agkistrodon\-acutus\);
+眾議員 > member\-of\-the\-us\-house\-of\-representatives;
+邁科裡 > \(mike\)\-mccurry\-\(white\-house\-spokesperson\);
+報告會 > public\-lecture\-\(with\-guest\-speakers\,\-etc\);
+利伯曼 > \(connecticut\-senator\-joseph\-i\.\)\-lieberman;
+麥科裡 > \(mike\)\-mccurry\-\(white\-house\-spokesperson\);
+神女峰 > name\-of\-a\-peak\-by\-changjiang\-three\-gorges;
+白曉燕 > pai\-hsiao\-yen\-\(daughter\-of\-pai\-ping\-ping\);
+金日成 > kim\-il\-sung\-\(former\-north\-korean\-leader\);
+太極劍 > a\-kind\-of\-traditional\-chinese\-sword\-play;
+司法部 > justice\-deparment\-\(of\-the\-us\-government\);
+庫納南 > \(andrew\)\-cunanan\-\(alleged\-serial\-killer\);
+黃建南 > john\-huang\-\(democratic\-party\-fundraiser\);
+黃岩島 > huangyan\-island\-\(in\-the\-south\-china\-sea\);
+機關報 > official\-\(government\-operated\)\-newspaper;
+入學率 > percentage\-of\-children\-who\-enter\-school;
+茅臺酒 > maotai\-or\-maitai\-\(chinese\-strong\-drink\);
+王羲之 > name\-of\-a\-person\,\-a\-famous\-calligrapher;
+邊角科 > leftover\-bits\-and\-pieces\-\(of\-industrial;
+阿昌族 > the\-achang\-nationality\-living\-in\-yunnan;
+佩洛西 > \(nancy\)\-pelosi\-\(member\-of\-us\-congress\);
+吐魯番 > the\-turfan\-basin\,\-in\-xinjiang\-province;
+半脫產 > partly\-released\-from\-productive\-labour;
+總書記 > general\-secretary\-\(of\-communist\-party\);
+沈國放 > chinese\-foreign\-ministry\-spokesperson;
+穆桂英 > mu\-gui\-ying\-\(name\-of\-a\-woman\-warrior\);
+孫女兒 > granddaughter\-\(daughter\-of\-one''s\-son\);
+尚慕杰 > james\-sasser\-\(us\-ambassador\-to\-china\);
+塞爾南 > \(eugene\)\-cernan\-\(apollo\-17\-astronaut\);
+年畫兒 > new\-year\-\(or\-spring\-festival\)\-picture;
+鐵飯碗 > \"iron\-rice\-bowl\"\-\-\-\-secure\-employment;
+胡志明 > ho\-chi\-minh\-\(vietnamese\-leader\,\-city\);
+徐悲鴻 > name\-of\-a\-famous\-painter\,\-xu\-beihong;
+花木蘭 > hua\-mu\-lan\-\(name\-of\-a\-woman\-warrior\);
+打不過 > not\-to\-be\-able\-to\-beat\-or\-defeat\-sb\.;
+發了言 > \(\"past\-tense\"\-of\-\:發言\)\-spoke\-publicly;
+不自量 > not\-take\-a\-proper\-measure\-of\-oneself;
+抄後路 > to\-outflank\-and\-attack\-from\-the\-rear;
+編年體 > annalistic\-style\-\(in\-historiography\);
+家鄉雞 > ''home\-town\-chicken''\-\(a\-type\-of\-dish\);
+章孝嚴 > john\-chang\-\(taiwan\-foreign\-minister\);
+來不及 > there''s\-not\-enough\-time\-\(to\-do\-sth\.\);
+死不了 > portulaca\-sundial\-\(a\-type\-of\-plant\);
+迎春花 > winter\-jasmine\,\-jasminum\-nudiflorum;
+主人翁 > master\-\(of\-one''s\-own\-destiny\,\-etc\.\);
+哈密瓜 > hami\-melon\-\(a\-variety\-of\-muskmelon\);
+貿易額 > volume\-of\-trade\-\(between\-countries\);
+總動員 > general\-mobilization\-\(for\-war\,\-etc\);
+崩龍族 > the\-benglong\-\(penglung\)\-nationality;
+霸王鞭 > a\-rattle\-stick\-used\-in\-folk\-dancing;
+白殭蠶 > the\-larva\-of\-silkworm\-with\-batrytis;
+不失為 > can\-still\-be\-considered\-\(to\-be\.\.\.\);
+最惠國 > most\-favored\-nation\-\(trade\-status\);
+基金會 > a\-foundation\-\(ie\,\-an\-organization\);
+打錯了 > \"you\-have\-dialed\-the\-wrong\-number\";
+病包兒 > a\-person\-who\-is\-always\-falling\-ill;
+拉莫斯 > \(philippine\-president\-fidel\)\-ramos;
+胡志強 > jason\-hu\-\(taiwan\-foreign\-minister\);
+幫倒忙 > be\-more\-of\-a\-hindrance\-than\-a\-help;
+俱樂部 > club\-\(ie\,\-a\-group\-or\-organization\);
+勞動節 > international\-labor\-day\-\(may\-day\);
+抱粗腿 > latch\-on\-to\-the\-rich\-and\-powerful;
+金正日 > kim\-jong\-il\-\(north\-korean\-leader\);
+不摸頭 > not\-acquainted\-with\-the\-situation;
+魏京生 > wei\-jingsheng\-\(chinese\-dissident\);
+吃不上 > be\-unable\-to\-get\-something\-to\-eat;
+檢察官 > the\-prosecution\-\(in\-a\-court\-case\);
+垃圾車 > garbage\-truck\-\(or\-other\-vehicle\);
+布法羅 > buffalo\-\(city\-in\-new\-york\-state\);
+八會穴 > the\-eight\-strategic\-nerve\-points;
+開普敦 > cape\-town\-\(city\-in\-south\-africa\);
+見不得 > may\-not\-be\-seen\-by\-or\-exposed\-to;
+創辦人 > founder\-\(of\-an\-institution\,\-etc\);
+逼供信 > obtain\-confessions\-by\-compulsion;
+負責人 > person\-in\-charge\-\(of\-something\);
+十三經 > the\-thirteen\-confucian\-classics;
+病蟲害 > plant\-diseases\-and\-insect\-pests;
+吃不服 > not\-be\-accustomed\-to\-eating\-sth;
+馬尼拉 > manila\-\(capital\-of\-philippines\);
+應該說 > it\-should\-be\-mentioned\-that\-\.\.\.;
+不得不 > have\-no\-choice\-or\-option\-but\-to;
+北伐軍 > the\-northern\-expeditionary\-army;
+可移植 > portable\-\(programming\-language\);
+經濟學 > economics\-\(as\-a\-field\-of\-study\);
+愛面子 > be\-concerned\-about\-face\-saving;
+墨爾缽 > melbourne\-\(an\-australian\-city\);
+索杰納 > sojourner\-\(martian\-land\-rover\);
+談得來 > able\-to\-talk\-to\-or\-get\-on\-with;
+班主任 > a\-teacher\-in\-charge\-of\-a\-class;
+導航員 > navigator\-\(on\-a\-plane\-or\-boat\);
+眾議院 > house\-of\-representatives\-\(usa\);
+當事人 > persons\-involved\-or\-implicated;
+紅綠燈 > \(red\-and\-green\)\-traffic\-light;
+重複節 > repeated\-segment\-\(networking\);
+兵工廠 > munitions\-or\-ordnance\-factory;
+半身像 > half\-length\-photo\-or\-portrait;
+發電量 > \(generated\)\-electrical\-energy;
+保安族 > the\-baoan\-\(paoan\)\-nationality;
+江澤民 > jiang\-zemin\-\(chinese\-premier\);
+年夜飯 > new\-year''s\-eve\-family\-dinner;
+李登輝 > lee\-teng\-hui\-\(taiwan\-leader\);
+大自然 > nature\-\(as\-in\-mother\-nature\);
+立方米 > cubic\-meter\-\(unit\-of\-volume\);
+吃不消 > be\-unable\-to\-stand\-\(exertion;
+投票站 > polling\-station\-\(for\-a\-vote\);
+得票率 > percentage\-of\-votes\-obtained;
+吃不住 > be\-unable\-to\-bear\-or\-support;
+自治區 > autonomous\-region\-\(in\-china\);
+張純如 > \(american\-author\)\-iris\-chang;
+班務會 > a\-routine\-meeting\-of\-a\-squad;
+新德裡 > new\-delhi\-\(capital\-of\-india\);
+反對黨 > opposition\-\(political\)\-party;
+說明書 > synopsis\-\(of\-a\-play\-or\-film\);
+叛亂罪 > the\-crime\-of\-armed\-rebellion;
+差得多 > fall\-short\-by\-a\-large\-amount;
+台灣話 > taiwanese\-chinese\-\(language\);
+葉利欽 > \(russian\-president\)\-yeltsin;
+黃浦江 > huangpu\-river\-\(in\-shanghai\);
+背包袱 > have\-a\-weight\-on\-one''s\-mind;
+報戶口 > apply\-for\-a\-resident\-permit;
+國際級 > \(at\-an\)\-international\-level;
+吃不來 > not\-be\-fond\-of\-certain\-food;
+據報導 > according\-to\-\(news\)\-reports;
+病毒學 > virology\-\(study\-of\-viruses\);
+而不需 > without\-needing\-\(to\-so\-sth\);
+交換機 > switch\-\(telecommunications\);
+大陸話 > mainland\-chinese\-\(language\);
+交換器 > \(telecom\-or\-network\)\-switch;
+通訊社 > a\-news\-service\-\(eg\,\-xinhua\);
+愛好者 > lover\-\(of\-art\,\-sports\,\-etc\);
+公安部 > ministry\-of\-public\-security;
+抱不平 > be\-outraged\-by\-an\-injustice;
+男子漢 > man\-\(i\.e\.\-manly\,\-masculine\);
+巴兒狗 > pekingese\-\(a\-breed\-of\-dog\);
+存車處 > parking\-lot\-\(for\-bicycles\);
+鼻牛兒 > hardened\-mucus\-in\-nostrils;
+桃花運 > luck\-with\-the\-opposite\-sex;
+弗塞奇 > versace\-\(fashion\-designer\);
+普通話 > mandarin\-\(common\-language\);
+幾年來 > for\-the\-past\-several\-years;
+頤和園 > summer\-palace\-\(in\-beijing\);
+馬來人 > malaysian\-person\-or\-people;
+底特律 > detroit\-\(a\-city\-in\-the\-us\);
+情況下 > under\-\(this\)\-circumstances;
+溫哥華 > vancouver\-\(city\-in\-canada\);
+白頭翁 > root\-of\-chinese\-pulsatilla;
+中文版 > chinese\-\(language\)\-version;
+高中生 > senior\-high\-school\-student;
+板羽球 > battledore\-and\-shuttlecock;
+參兩院 > both\-houses\-of\-us\-congress;
+癟螺痧 > cholera\-\(with\-dehydration\);
+透通性 > transparency\-\(networking\);
+營業額 > sum\-or\-volume\-of\-business;
+矮個兒 > a\-person\-of\-short\-stature;
+核大國 > a\-nuclear\-power\-\(country\);
+希臘語 > \(modern\)\-greek\-\(language\);
+時間內 > within\-\(a\-period\-of\-time\);
+下工夫 > to\-put\-in\-time\-and\-energy;
+日本人 > japanese\-person\-or\-people;
+無限期 > unlimited\-\(time\)\-duration;
+帕蘭卡 > palanka\-\(a\-personal\-name\);
+人民幣 > chinese\-unit\-of\-currency;
+流氓罪 > the\-crime\-of\-hooliganism;
+錄音機 > \(tape\)\-recording\-machine;
+代之以 > \(has\-been\)\-replaced\-with;
+變戲法 > perform\-conjuring\-tricks;
+發行額 > \(periodical\)\-circulation;
+十三日 > thirtieth\-day\-of\-a\-month;
+下半身 > lower\-half\-of\-one''s\-body;
+印歐語 > indo\-european\-\(language\);
+內政部 > ministry\-of\-the\-interior;
+印歐文 > indo\-european\-\(language\);
+無黨派 > politically\-unaffiliated;
+變電站 > \(transformer\)\-substation;
+木乃伊 > mummy\-\(preserved\-corpse\);
+外交部 > foreign\-affairs\-ministry;
+遲浩田 > chinese\-defense\-minister;
+北溫帶 > the\-north\-temperate\-zone;
+打電話 > to\-make\-a\-telephone\-call;
+止痛法 > method\-of\-relieving\-pain;
+北半球 > the\-northern\-hemisphere;
+雙絞線 > unshielded\-twisted\-pait;
+包承制 > responsible\-crew\-system;
+播放機 > player\-\(e\.g\.\-cd\-player\);
+據統計 > according\-to\-statistics;
+留學生 > student\-studying\-abroad;
+多年來 > for\-the\-past\-many\-years;
+中秋節 > the\-mid\-autumn\-festival;
+馬路口 > intersection\-\(of\-roads\);
+戴維斯 > davis\-\(english\-surname\);
+紅樓夢 > a\-dream\-of\-red\-mansions;
+過不去 > make\-life\-difficult\-for;
+情報處 > source\-\(of\-information\);
+腐敗罪 > the\-crime\-of\-corruption;
+白蛇傳 > tale\-of\-the\-white\-snake;
+半成品 > semi\-manufactured\-goods;
+奔頭兒 > something\-to\-strive\-for;
+中轉站 > hub\-\(network\-equipment\);
+香港人 > hong\-kong\-person\|people;
+慕道友 > religious\-investigator;
+剝採比 > stripping\-to\-ore\-ratio;
+目的地 > destination\-\(location\);
+國務院 > state\-department\-\(usa\);
+十五億 > one\-and\-a\-half\-billion;
+紅燒肉 > red\-cooked\-\(pork\)\-meat;
+公安局 > public\-security\-bureau;
+發病率 > incidence\-of\-a\-disease;
+疑問句 > interrogative\-sentance;
+此一時 > that\-was\-one\-situation;
+不好惹 > not\-to\-be\-trifled\-with;
+不得已 > act\-against\-one''s\-will;
+上半年 > first\-half\-\(of\-a\-year\);
+不要臉 > have\-no\-sense\-of\-shame;
+背地風 > behind\-somebody''s\-back;
+近年來 > for\-the\-past\-few\-years;
+其自身 > one''s\-own\-\(respective\);
+火焰山 > the\-mountain\-of\-flames;
+工作站 > \(computer\)\-workstation;
+印歐人 > indo\-european\-\(person\);
+坦克車 > tank\-\(armored\-vehicle\);
+不像樣 > in\-no\-shape\-to\-be\-seen;
+變分法 > calculus\-of\-variations;
+西遊記 > pilgrimage\-to\-the\-west;
+畢業生 > graduate\-\(of\-a\-school\);
+背黑鍋 > to\-be\-made\-a\-scapegoat;
+靈敏度 > \(level\-of\)\-sensitivity;
+彼一時 > that\-was\-one\-situation;
+軟硬件 > software\-and\-hardware;
+熱門貨 > goods\-in\-great\-demand;
+通信量 > communications\-volume;
+祝賀詞 > congratulatory\-speech;
+幾十年 > several\-tens\-of\-years;
+比方說 > to\-make\-an\-analogy\.\.\.;
+麥芽糖 > maltose\-\(sweet\-syrup\);
+美聯社 > associated\-press\-\(ap\);
+推薦信 > recommendation\-letter;
+幾天來 > for\-the\-past\-few\-days;
+投了票 > past\-tense\-of\-to\-vote;
+肯尼迪 > kennedy\-\(proper\-name\);
+保護區 > conservation\-district;
+奧德賽 > the\-odyssey\,\-by\-homer;
+越南語 > vietnamese\-\(language\);
+四年前 > four\-years\-previously;
+製造商 > manufacturing\-company;
+反革命 > counter\-revolutionary;
+老兩口 > an\-old\-married\-couple;
+拜把子 > become\-sworn\-brothers;
+北寒帶 > the\-north\-frigid\-zone;
+八路軍 > the\-eighth\-route\-army;
+南北極 > south\-and\-north\-poles;
+董事長 > chairman\-of\-the\-board;
+不行了 > on\-the\-point\-of\-death;
+卡西尼 > cassini\-\(proper\-name\);
+光磁碟 > magneto\-optical\-disk;
+博覽會 > \(international\)\-fair;
+一般性 > \(in\)\-general\-\(terms\);
+逋逃藪 > refuge\-for\-fugitives;
+白眼珠 > the\-white\-of\-the\-eye;
+捕蟲葉 > insect\-catching\-leaf;
+不雅觀 > offensive\-to\-the\-eye;
+陳述句 > declarative\-sentence;
+這個月 > this\-\(current\)\-month;
+一清早 > early\-in\-the\-morning;
+倍頻器 > frequency\-multiplier;
+領導權 > leadership\-authority;
+紀念日 > day\-of\-commemoration;
+白棉紙 > stencil\-tissue\-paper;
+挪窩兒 > to\-move\-\(to\-a\-house\);
+德國人 > german\-person\|people;
+大清早 > early\-in\-the\-morning;
+百事通 > knowledgeable\-person;
+不死心 > unwilling\-to\-give\-up;
+礦泉水 > mineral\-spring\-water;
+吃不下 > not\-feel\-like\-eating;
+萬維網 > world\-wide\-web\-\(www\);
+實體層 > physical\-layer\-\(osi\);
+現階段 > at\-the\-present\-stage;
+叛國罪 > the\-crime\-of\-treason;
+錦標賽 > championship\-contest;
+競爭力 > competitive\-strength;
+運動會 > a\-sports\-competition;
+跑龍套 > to\-play\-a\-small\-role;
+德雷爾 > \(june\-teufel\)\-dreyer;
+財政部 > ministry\-of\-finance;
+廣告商 > advertising\-company;
+慰安婦 > comfort\-woman\|women;
+折射率 > index\-of\-refraction;
+年代初 > beginning\-of\-an\-age;
+防禦性 > defensive\-\(weapons\);
+打橫炮 > speak\-unwarrantedly;
+發言權 > the\-right\-of\-speech;
+年之久 > period\-of\-\.\.\.\-years;
+不中意 > not\-to\-one''s\-liking;
+百分制 > hundred\-mark\-system;
+分析家 > \(political\)\-analyst;
+立法會 > legislative\-council;
+引力場 > gravitational\-field;
+消耗量 > rate\-of\-consumption;
+核電站 > nuclear\-power\-plant;
+表面化 > come\-to\-the\-surface;
+電話機 > telephone\-equipment;
+總統府 > presidential\-palace;
+橋接器 > bridge\-\(networking\);
+馬來文 > malasian\-\(language\);
+不得了 > desperately\-serious;
+板梁橋 > plate\-girder\-bridge;
+栽跟頭 > to\-suffer\-a\-setback;
+核工程 > nuclear\-engineering;
+安理會 > un\-security\-council;
+擺門面 > keep\-up\-appearances;
+路透社 > reuters\-news\-agency;
+科學院 > academy\-of\-sciences;
+步進制 > step\-by\-step\-system;
+前蘇聯 > former\-soviet\-union;
+不在意 > pay\-no\-attention\-to;
+外孫女 > daughter''s\-daughter;
+冰醋酸 > glacial\-acetic\-acid;
+消炎藥 > antibiotic\-medicine;
+委員長 > head\-of\-a\-committee;
+情報局 > intelligence\-agency;
+包身工 > indentured\-labourer;
+決議案 > \(pass\-a\)\-resolution;
+北京人 > person\-from\-beijing;
+負責任 > responsibility\-for;
+中山裝 > chinese\-tunic\-suit;
+緬甸語 > burmese\-\(language\);
+政治犯 > political\-prisoner;
+年以來 > since\-the\-year\-\.\.\.;
+新華社 > xinhua\-news\-agency;
+不中用 > unfit\-for\-anything;
+進一步 > \(one\-step\)\-further;
+提供商 > provider\-\(company\);
+原蘇聯 > fomer\-soviet\-union;
+天安門 > tiananmen\-\(square\);
+不受理 > reject\-a\-complaint;
+發達國 > developing\-country;
+跑警報 > to\-run\-for\-shelter;
+白開水 > plain\-boiled\-water;
+招待會 > \(press\)\-conference;
+懷俄明 > wyoming\-\(us\-state\);
+卡拉奇 > karachi\-\(pakistan\);
+半規管 > semicircular\-canal;
+馬來語 > malaysian\-language;
+比不上 > can''t\-compare\-with;
+國防部 > defense\-department;
+趕不上 > can''t\-keep\-up\-with;
+拿主意 > to\-make\-a\-decision;
+常委會 > standing\-committee;
+大學生 > university\-student;
+瀏覽器 > browser\-\(software\);
+世紀末 > end\-of\-the\-century;
+擁護者 > supporter\-\(person\);
+國務卿 > secretary\-of\-state;
+半輩子 > half\-of\-a\-lifetime;
+站管理 > station\-management;
+芬蘭語 > finnish\-\(language\);
+變法兒 > try\-different\-ways;
+海空軍 > navy\-and\-air\-force;
+細菌戰 > biological\-warfare;
+瑞典語 > swedish\-\(language\);
+涉嫌人 > \(criminal\)\-suspect;
+併捲機 > ribbon\-lap\-machine;
+別動隊 > special\-detachment;
+研究所 > research\-institute;
+年輕化 > make\-more\-youthful;
+加速器 > accelerator\-\(comp\);
+不等號 > sign\-of\-inequality;
+西半球 > western\-hemisphere;
+核技術 > nuclear\-technology;
+報務員 > telegraph\-operator;
+光波長 > optical\-wavelength;
+喉擦音 > guttural\-fricative;
+八級工 > eight\-grade\-worker;
+佛蒙特 > vermont\-\[us\-state\];
+管理站 > management\-station;
+說不定 > can''t\-say\-for\-sure;
+波斯語 > bosnian\-\(language\);
+儘可能 > as\-far\-as\-possible;
+包承組 > \(responsible\)\-crew;
+百葉箱 > thermometer\-screen;
+避雷器 > lightning\-arrester;
+戰鬥機 > fighter\-\(aircraft\);
+顯示器 > monitor\-\(computer\);
+必修課 > a\-required\-course;
+僅次于 > second\-only\-to\.\.\.;
+朝鮮語 > korean\-\(language\);
+建築業 > building\-industry;
+麥克維 > \(timothy\)\-mcveigh;
+應用層 > application\-layer;
+桌別林 > \(charlie\)\-chaplin;
+蓋爾語 > gaelic\-\(language\);
+無所謂 > to\-be\-indifferent;
+機器人 > mechanical\-person;
+廣域網 > wide\-area\-network;
+維持費 > maintenance\-costs;
+板擦兒 > blackboard\-eraser;
+同性戀 > homosexual\-\(love\);
+電話網 > telephone\-network;
+性騷擾 > sexual\-harassment;
+橫斷物 > transverse\-object;
+白屈菜 > greater\-celandine;
+傳輸率 > transmission\-rate;
+伺服器 > server\-\(computer\);
+服務器 > server\-\(computer\);
+國際法 > international\-law;
+侵截者 > \(computer\)\-hacker;
+初學者 > beginning\-student;
+西王母 > name\-of\-a\-goddess;
+在頭版 > on\-the\-front\-page;
+波蘭語 > polish\-\(language\);
+轟炸機 > bomber\-\(aircraft\);
+醫學家 > medical\-scientist;
+華盛頓 > washington\-\(d\.c\.\);
+丟飯碗 > to\-lose\-one''s\-job;
+比較新 > comparatively\-new;
+電信號 > electrical\-signal;
+秘書長 > secretary\-general;
+歐洲人 > european\-\(person\);
+衛生部 > health\-department;
+太平洋 > the\-pacific\-ocean;
+原因是 > the\-reason\-is\-\.\.\.;
+一年半 > a\-year\-and\-a\-half;
+不甘心 > not\-reconciled\-to;
+客戶機 > client\-\(computer\);
+失業率 > unemployment\-rate;
+警察局 > police\-department;
+歸心者 > religious\-convert;
+沒關係 > it\-doesn''t\-matter;
+包園兒 > buy\-the\-whole\-lot;
+一身汗 > sweating\-all\-over;
+白細胞 > white\-blood\-cell;
+性關係 > sexual\-relations;
+殯儀館 > the\-undertaker''s;
+研討會 > discussion\-forum;
+資料量 > quantity\-of\-data;
+編輯室 > editorial\-office;
+拉丁語 > latin\-\(language\);
+適配層 > adaptation\-layer;
+出風頭 > to\-create\-a\-stir;
+越野車 > off\-road\-vehical;
+適配器 > adapter\-\(device\);
+副主席 > vice\-chairperson;
+捷克語 > czech\-\(language\);
+筆底下 > ability\-to\-write;
+核原料 > nuclear\-material;
+白血球 > white\-blood\-cell;
+不爭氣 > be\-disappointing;
+北冰洋 > the\-arctic\-ocean;
+又來了 > here\-we\-go\-again;
+十多億 > over\-one\-billion;
+一下子 > in\-a\-short\-while;
+核設施 > nuclear\-facility;
+非政府 > non\-governmental;
+主幹線 > backbone\-\(cable\);
+電視機 > television\-\(set\);
+流行病 > epidemic\-disease;
+信用證 > letter\-of\-credit;
+學術界 > academic\-circles;
+衛星城 > \"satellite\"\-town;
+的一種 > is\-one\-\(kind\-of\);
+曼德拉 > \(nelson\)\-mandela;
+印地語 > hindi\-\(language\);
+工業化 > to\-industrialize;
+記者會 > press\-conference;
+出版社 > publishing\-house;
+沖繩島 > okinawa\-\(island\);
+民主黨 > democratic\-party;
+電視劇 > tv\-drama\-program;
+輻射波 > radiation\-\(wave\);
+商業化 > to\-commercialize;
+電腦網 > computer\-network;
+高性能 > high\-performance;
+開幕式 > opening\-ceremony;
+實習生 > intern\-\(student\);
+國賓館 > state\-guesthouse;
+不至於 > cannot\-go\-so\-far;
+百分點 > percentage\-point;
+功能集 > function\-library;
+化學戰 > chemical\-warfare;
+大多數 > \(great\)\-majority;
+菏蘭語 > dutch\-\(language\);
+一年多 > more\-than\-a\-year;
+共和黨 > republican\-party;
+脖頸兒 > back\-of\-the\-neck;
+大無畏 > utterly\-fearless;
+超高速 > ultra\-high\-speed;
+性接觸 > sexual\-encounter;
+拿手菜 > specialty\-\(dish\);
+鼠標器 > mouse\-\(computer\);
+互操性 > interoperability;
+功能群 > functional\-group;
+一輩子 > \(for\)\-a\-lifetime;
+高效率 > high\-efficiency;
+前不久 > not\-long\-before;
+生產隊 > production\-team;
+用戶線 > subscriber\-line;
+美國人 > american\-person;
+看上去 > it\-would\-appear;
+幾十億 > several\-billion;
+不待說 > needless\-to\-say;
+創記錄 > to\-set\-a\-record;
+不名數 > abstract\-number;
+數十億 > several\-billion;
+總經理 > general\-manager;
+數百萬 > several\-million;
+拼起來 > to\-put\-together;
+米粉肉 > rice\-flour\-meat;
+高技術 > high\-technology;
+閉音節 > closed\-syllable;
+虛電路 > virtual\-circuit;
+從去年 > since\-last\-year;
+菲律賓 > the\-philippines;
+本族語 > native\-language;
+絆腳石 > stumbling\-block;
+感染者 > infected\-person;
+多樣化 > diversification;
+網管員 > network\-manager;
+不干涉 > noninterference;
+核武庫 > nuclear\-arsenal;
+中美洲 > central\-america;
+天主教 > catholic\-church;
+金裡奇 > \(newt\)\-gingrich;
+注意看 > watch\-carefully;
+共產黨 > communist\-party;
+不見得 > not\-necessarily;
+賀年片 > new\-year''s\-card;
+標準化 > standardization;
+使滿意 > to\-make\-content;
+不鏽鋼 > stainless\-steel;
+印度人 > indian\-\(person\);
+奧運村 > olympic\-village;
+暗適應 > dark\-adaptation;
+老百姓 > ordinary\-people;
+夫妻店 > family\-run\-shop;
+數字網 > digital\-network;
+兒化韻 > retroflex\-final;
+有聯繫 > to\-be\-connected;
+審判長 > presiding\-judge;
+高效能 > high\-efficiency;
+盜版者 > software\-pirate;
+大部份 > \(in\)\-large\-part;
+冷氣機 > air\-conditioner;
+伊甸園 > garden\-of\-eden;
+成員國 > member\-country;
+釣魚臺 > diaoyu\-islands;
+複韻母 > compound\-final;
+幀太長 > oversize\-frame;
+伴生氣 > associated\-gas;
+物理層 > physical\-layer;
+聯合國 > united\-nations;
+英國人 > british\-person;
+白熱化 > turn\-white\-hot;
+十一月 > eleventh\-month;
+原子核 > atomic\-nucleus;
+把兄弟 > sworn\-brothers;
+北斗星 > the\-big\-dipper;
+開玩笑 > to\-play\-a\-joke;
+審判席 > judgement\-seat;
+白粉病 > powdery\-mildew;
+釣魚島 > diaoyu\-islands;
+古希臘 > ancient\-greece;
+中國人 > chinese\-person;
+監督人 > superintendent;
+順序數 > ordinal\-number;
+電話線 > telephone\-line;
+就是說 > in\-other\-words;
+教育界 > academic\-world;
+不敢當 > you\-flatter\-me;
+副總統 > vice\-president;
+甚至於 > so\-much\-\(that\);
+不平衡 > disequilibrium;
+東南亞 > southeast\-asia;
+採收率 > recovery\-ratio;
+自由化 > liberalization;
+不適用 > not\-applicable;
+簡單化 > simplification;
+鹽湖城 > salt\-lake\-city;
+血製品 > blood\-products;
+凹面鏡 > concave\-mirror;
+開心果 > pistachio\-nuts;
+世界語 > world\-language;
+行星際 > interplanetary;
+中心語 > qualified\-word;
+參謀長 > chief\-of\-staff;
+錄像機 > video\-recorder;
+光信號 > optical\-signal;
+核武器 > nuclear\-weapon;
+達不到 > cannot\-achieve;
+克林頓 > \(bill\)\-clinton;
+聖誕節 > christmas\-time;
+白令海 > the\-bering\-sea;
+摩門經 > book\-of\-mormon;
+尋開心 > to\-make\-fun\-of;
+犯不著 > not\-worthwhile;
+不用謝 > you''re\-welcome;
+半自動 > semi\-automatic;
+內蒙古 > inner\-mongolia;
+退休金 > retirement\-pay;
+留言簿 > visitor''s\-book;
+死亡率 > mortality\-rate;
+哈該書 > book\-of\-haggai;
+擺攤子 > set\-up\-a\-stall;
+瑞士人 > swiss\-\(person\);
+差不多 > almost\,\-nearly;
+括弧裡 > in\-parentheses;
+信號臺 > signal\-station;
+世界上 > \(of\-the\)\-world;
+圓珠筆 > ball\-point\-pen;
+跑腿兒 > to\-run\-errands;
+波狀熱 > undulant\-fever;
+知識庫 > knowledge\-base;
+電信局 > central\-office;
+西南亞 > southwest\-asia;
+撥號盤 > telephone\-dial;
+後兩者 > the\-latter\-two;
+廠禮拜 > day\-off\-\(work\);
+兩百億 > twenty\-billion;
+無連接 > connectionless;
+猜謎兒 > guess\-a\-riddle;
+半以上 > more\-than\-half;
+不客氣 > you''re\-welcome;
+美差事 > a\-terrific\-job;
+諾貝爾 > nobel\-\(prize\);
+保證金 > earnest\-money;
+掛號證 > register\-card;
+原子能 > atomic\-energy;
+紀念館 > memorial\-hall;
+單韻母 > simple\-finals;
+有可能 > it''s\-possible;
+未提及 > not\-mentioned;
+本生燈 > bunsen\-burner;
+心臟病 > heart\-disease;
+十五年 > fifteen\-years;
+鄧小平 > deng\-xiaoping;
+那鴻書 > book\-of\-nahum;
+網絡層 > network\-layer;
+審判欄 > judgement\-bar;
+白花花 > shining\-white;
+建築學 > architectural;
+中國式 > chinese\-style;
+半失業 > semi\-employed;
+表決權 > right\-to\-vote;
+空間站 > space\-station;
+大公司 > large\-company;
+大容量 > high\-capacity;
+楊百翰 > brigham\-young;
+大問題 > great\-problem;
+光功率 > optical\-power;
+權威性 > authoritative;
+女朋友 > female\-friend;
+不周延 > undistributed;
+摁釦兒 > snap\-fastener;
+白皮松 > lacebark\-pine;
+存儲器 > memory\-\(unit\);
+彌迦書 > book\-of\-micah;
+現代化 > modernization;
+主禱文 > lord''s\-prayer;
+好幾年 > several\-years;
+售票處 > ticket\-office;
+六點半 > half\-past\-six;
+無意識 > unconsciously;
+推動力 > driving\-force;
+避風處 > lee\,\-windstop;
+使用量 > volume\-of\-use;
+半導體 > semiconductor;
+駁殼槍 > mauser\-pistol;
+不方便 > inconvenience;
+沒經驗 > inexperienced;
+主日學 > sunday\-school;
+有助于 > contribute\-to;
+有權威 > authoritative;
+三十億 > three\-billion;
+不凍港 > ice\-free\-port;
+步話機 > walkie\-talkie;
+集線器 > hub\-\(network\);
+不舒適 > uncomfortable;
+兩千年 > the\-year\-2000;
+標本蟲 > spider\-beetle;
+進出口 > import\|export;
+向西南 > southwestward;
+售票員 > ticket\-seller;
+售票口 > ticket\-window;
+安定化 > stabilization;
+交換端 > switched\-port;
+不相干 > be\-irrelevant;
+天曉得 > heaven\-knows\!;
+報話機 > walkie\-talkie;
+同盟國 > confederation;
+奧運會 > olympic\-games;
+在未來 > in\-the\-future;
+南美洲 > south\-america;
+七百萬 > seven\-million;
+有良心 > conscientious;
+鼻飼法 > nasal\-feeding;
+約拿書 > book\-of\-jonah;
+步行蟲 > ground\-beetle;
+便步走 > march\-at\-ease;
+連接至 > to\-connect\-to;
+鳶尾花 > iris\-\(flower\);
+半官方 > semi\-official;
+兼容性 > compatibility;
+解壓縮 > to\-decompress;
+採棉機 > cotton\-picker;
+芭蕉扇 > palm\-leaf\-fan;
+公元前 > before\-christ;
+波美度 > baume\-degrees;
+半復賽 > eighth\-finals;
+邊界線 > boundary\-line;
+北美洲 > north\-america;
+核能源 > nuclear\-power;
+支持率 > support\-level;
+試一試 > to\-have\-a\-try;
+越來越 > more\-and\-more;
+下至上 > bottom\-to\-top;
+找不到 > couldn''t\-find;
+很遺憾 > unfortunately;
+萬事達 > master\(card\);
+約珥書 > book\-of\-joel;
+賠償金 > compensation;
+示威者 > demonstrator;
+毛主席 > chairman\-mao;
+建築物 > \(a\)\-building;
+閱覽室 > reading\-room;
+不名譽 > disreputable;
+機械碼 > machine\-code;
+不成功 > unsuccessful;
+水滸傳 > water\-margin;
+不重視 > indifference;
+十九歲 > 19\-years\-old;
+半文盲 > semiliterate;
+丙烯酸 > acrylic\-acid;
+半熟練 > semi\-skilled;
+吃不開 > be\-unpopular;
+不合理 > unreasonable;
+不愉快 > disagreeable;
+養雞場 > chicken\-farm;
+膝上型 > laptop\-\(adj\);
+實際性 > practicality;
+十一年 > eleven\-years;
+相似性 > ressemblance;
+非同步 > asynchronous;
+傳道書 > ecclesiastes;
+發言人 > spokesperson;
+集中器 > concentrator;
+感嘆詞 > interjection;
+足球迷 > football\-fan;
+那樣的 > that\-kind\-of;
+半邊天 > half\-the\-sky;
+葡萄酒 > \(grape\)\-wine;
+農作物 > \(farm\)\-crops;
+四十多 > more\-than\-40;
+證實禮 > confirmation;
+宇航局 > space\-agency;
+去國外 > to\-go\-abroad;
+第二位 > second\-place;
+同時代 > contemporary;
+副總理 > vice\-premier;
+路得記 > book\-of\-ruth;
+多工化 > to\-multiplex;
+三合一 > three\-in\-one;
+四百萬 > four\-million;
+高質量 > high\-quality;
+夢游症 > to\-sleepwalk;
+不結盟 > nonalignment;
+八級風 > force\-8\-wind;
+幼兒園 > kindergarten;
+桔子水 > orange\-juice;
+創造性 > creativeness;
+研究者 > investigator;
+周總理 > premier\-zhou;
+執政黨 > ruling\-party;
+母親節 > mother''s\-day;
+一下兒 > a\-little\-bit;
+不像話 > unreasonable;
+複製品 > reproduction;
+司法權 > jurisdiction;
+佔便宜 > adventageous;
+鼻中隔 > nasal\-septum;
+新聞處 > news\-service;
+運動鞋 > sports\-shoes;
+核轟炸 > nuclear\-bomb;
+轉賬卡 > a\-debit\-card;
+面對面 > face\-to\-face;
+複寫紙 > carbon\-paper;
+不相容 > incompatible;
+打孔器 > hole\-puncher;
+什麼是 > what\-is\-\.\.\.\?;
+凹透鏡 > concave\-lens;
+古羅馬 > ancient\-rome;
+二十萬 > 200\-thousand;
+年輕人 > young\-people;
+乒乓球 > table\-tennis;
+階級式 > hierarchical;
+聽說過 > to\-hear\-said;
+闌尾炎 > appendicitis;
+大一些 > a\-bit\-bigger;
+生物戰 > germ\-warfare;
+建設性 > constructive;
+喉塞音 > glottal\-stop;
+大都會 > metropolitan;
+最低點 > lowest\-point;
+基督教 > christianity;
+安眠酮 > methaqualone;
+試驗性 > experimental;
+貴族化 > aristocratic;
+五百萬 > five\-million;
+冰洲石 > iceland\-spar;
+核軍備 > nuclear\-arms;
+速記員 > stenographer;
+白水泥 > white\-cement;
+象聲詞 > onomatopoeia;
+幀格式 > frame\-format;
+衛生紙 > toilet\-paper;
+當時的 > of\-that\-time;
+消防栓 > fire\-hydrant;
+透明度 > transparency;
+壓倒性 > overwhelming;
+二十七 > twenty\-seven;
+大規模 > large\-scale;
+度量衡 > measurement;
+航空術 > aeronautics;
+訪問者 > interviewer;
+好朋友 > good\-friend;
+四面體 > tetrahedron;
+拔釘錘 > claw\-hammer;
+申命記 > deuteronomy;
+才外流 > brain\-drain;
+創作力 > originality;
+白矮星 > white\-dwarf;
+不贊成 > disapproval;
+半月刊 > semimonthly;
+備用環 > backup\-ring;
+滴答聲 > tick\-\(tock\);
+溫度計 > thermograph;
+不重要 > unimportant;
+有影響 > influential;
+發電廠 > power\-plant;
+柏林牆 > berlin\-wall;
+巡邏艇 > patrol\-boat;
+不含糊 > unambiguous;
+本土化 > to\-localize;
+安全燈 > safety\-lamp;
+有意思 > interesting;
+窗玻璃 > window\-pane;
+新西蘭 > new\-zealand;
+敗血症 > septicaemia;
+分佈式 > distrubuted;
+有些人 > some\-people;
+不吐氣 > unaspirated;
+有經驗 > experienced;
+男朋友 > male\-friend;
+白皮書 > white\-paper;
+翻譯者 > interpreter;
+不注意 > thoughtless;
+保不住 > most\-likely;
+巴哈馬 > the\-bahamas;
+發送器 > transmitter;
+第一章 > chapter\-one;
+連環圖 > comic\-strip;
+在地下 > underground;
+傳真機 > fax\-machine;
+裝甲車 > armored\-car;
+獲益者 > beneficiary;
+半透明 > translucent;
+第一流 > first\-class;
+謀殺案 > murder\-case;
+獎學金 > scholarship;
+不動產 > real\-estate;
+啟示錄 > revelations;
+第三方 > third\-party;
+表蒙子 > watch\-glass;
+擺架子 > put\-on\-airs;
+不確定 > uncertainty;
+古典派 > classicists;
+可行性 > feasibility;
+合法化 > to\-legalize;
+探照燈 > searchlight;
+安寧片 > meprobamate;
+是不是 > is\-or\-isn''t;
+多工器 > multiplexer;
+勞動力 > labor\-force;
+語言學 > linguistics;
+幸運兒 > a\-lucky\-guy;
+本質上 > essentially;
+地下水 > groundwater;
+申請書 > application;
+教育性 > instructive;
+繼承權 > inheritance;
+製片人 > moviemaking;
+不要緊 > unimportant;
+敗家子 > spendthrift;
+局限性 > limitations;
+售貨員 > salesperson;
+可尊敬 > respectable;
+非數字 > non\-numeric;
+爆米花 > puffed\-rice;
+三十天 > thirty\-days;
+茅屋頂 > thatch\-roof;
+三十四 > thirty\-four;
+不送氣 > unaspirated;
+性伴侶 > sex\-partner;
+乳白色 > milky\-white;
+殺人案 > murder\-case;
+蓋然性 > probability;
+可能性 > possibility;
+房地產 > real\-estate;
+登山家 > mountaineer;
+哲學家 > philosopher;
+分散式 > distributed;
+系列片 > film\-series;
+阿富汗 > afghanistan;
+洛杉磯 > los\-angeles;
+陰涼處 > shady\-place;
+伸縮性 > flexibility;
+閉元音 > close\-vowel;
+最大化 > to\-maximize;
+第十七 > seventeenth;
+哲學上 > philosophic;
+否有效 > inefficient;
+北朝鮮 > north\-korea;
+靈活性 > flexibility;
+使信服 > to\-convince;
+口香糖 > chewing\-gum;
+西乃山 > mount\-sinai;
+金屬板 > metal\-plate;
+不做聲 > keep\-silent;
+兩百萬 > two\-million;
+修理廠 > repair\-shop;
+機動性 > flexibility;
+增長率 > growth\-rate;
+介系詞 > preposition;
+主機板 > motherboard;
+他們都 > all\-of\-them;
+類似點 > resemblance;
+雙人房 > double\-room;
+美術館 > art\-gallery;
+連接詞 > conjunction;
+約伯記 > book\-of\-job;
+悲喜劇 > tragicomedy;
+軟磁碟 > floppy\-disk;
+半封建 > semi\-feudal;
+實質性 > substantive;
+軟磁盤 > floppy\-disk;
+變壓器 > transformer;
+蘋果汁 > apple\-juice;
+暗記兒 > secret\-mark;
+配送者 > distributor;
+金銀花 > honeysuckle;
+元老院 > upper\-house;
+可想像 > conceivable;
+證明書 > certificate;
+信用卡 > credit\-card;
+女管家 > housekeeper;
+工程學 > engineering;
+有害的 > destructive;
+天然氣 > natural\-gas;
+供血者 > blood\-donor;
+營養品 > nourishment;
+適應性 > suitability;
+天文台 > observatory;
+鑿石場 > rock\-quarry;
+小汽車 > compact\-car;
+螺絲刀 > screwdriver;
+副作用 > side\-effect;
+二十億 > two\-billion;
+移植性 > portability;
+二十五 > twenty\-five;
+沒問題 > no\-problem;
+第五類 > category\-5;
+非官方 > unofficial;
+國民黨 > kuomintang;
+白色體 > leucoplast;
+不耐煩 > impatience;
+百分率 > percentage;
+令牌環 > token\-ring;
+自白書 > confession;
+展覽會 > exhibition;
+高速率 > high\-speed;
+大城市 > major\-city;
+喬治敦 > georgetown;
+百分比 > percentage;
+傳道者 > missionary;
+不可能 > impossible;
+錄音帶 > audio\-tape;
+錫安山 > mount\-zion;
+硬磁盤 > hard\-drive;
+百分數 > percentage;
+歷史上 > historical;
+記帳員 > bookkeeper;
+使失望 > disappoint;
+承包人 > contractor;
+物質上 > materially;
+半公開 > semi\-overt;
+使免除 > get\-rid\-of;
+更衣室 > changeroom;
+超媒體 > hypermedia;
+不明確 > indefinite;
+不景氣 > depression;
+資本家 > capitalist;
+二手貨 > secondhand;
+傳教士 > missionary;
+易接近 > accessible;
+想像力 > conception;
+有決心 > determined;
+橄欖樹 > olive\-tree;
+爭論點 > contention;
+複雜性 > complexity;
+奶牛場 > dairy\-farm;
+字節數 > byte\-count;
+出生地 > birthplace;
+不下于 > as\-many\-as;
+大媒體 > macromedia;
+備忘錄 > memorandum;
+挨個兒 > one\-by\-one;
+兄弟會 > fraternity;
+留聲機 > gramophone;
+黑莓子 > blackberry;
+統計學 > statistics;
+在下面 > underneath;
+不變化 > invariably;
+陌生人 > a\-stranger;
+不適當 > inadequate;
+電視臺 > tv\-station;
+主力艦 > battleship;
+行不通 > won''t\-work;
+競爭者 > competitor;
+有系統 > systematic;
+短時間 > short\-term;
+沒人住 > unoccupied;
+動物學 > zoological;
+盧森堡 > luxembourg;
+第七十 > seventieth;
+冰凝器 > cryophorus;
+心理學 > psychology;
+氣喘喘 > breathless;
+第一例 > first\-case;
+摩天摟 > skyscraper;
+不透水 > waterproof;
+得不到 > cannot\-get;
+重要性 > importance;
+技術員 > technician;
+非正式 > unofficial;
+周恩來 > zhou\-enlai;
+有興趣 > interested;
+不經意 > carelessly;
+打字機 > typewriter;
+倍增器 > multiplier;
+金屬線 > metal\-wire;
+有膽量 > courageous;
+識別號 > identifier;
+生有權 > birthright;
+持卡人 > cardholder;
+刺繡品 > embroidery;
+毛澤東 > mao\-zedong;
+六十五 > sixty\-five;
+多媒體 > multimedia;
+不平常 > remarkable;
+抵抗力 > resistance;
+大主教 > archbishop;
+試算表 > speadsheet;
+白口鐵 > white\-iron;
+第十八 > eighteenth;
+實驗室 > laboratory;
+第十九 > nineteenth;
+第十三 > thirteenth;
+機關車 > locomotive;
+保潔箱 > litter\-bin;
+老年人 > old\-people;
+發聲法 > intonation;
+識別碼 > identifier;
+不平凡 > marvellous;
+崑崙山 > mt\.\-kunlun;
+代表團 > delegation;
+影像檔 > image\-file;
+居住者 > inhabitant;
+傳染病 > pestilence;
+符記環 > token\-ring;
+四百億 > 40\-billion;
+盧浮宮 > the\-louvre;
+否決權 > veto\-power;
+崇拜者 > worshipper;
+戲劇化 > theatrical;
+啄木鳥 > woodpecker;
+非盈利 > non\-profit;
+使容易 > facilitate;
+研究員 > researcher;
+目擊者 > eyewitness;
+專門化 > specialize;
+摩托車 > motorcycle;
+按手禮 > ordination;
+訂購者 > subscriber;
+顯微鏡 > microscope;
+原生質 > protoplasm;
+多方面 > many\-sided;
+會長團 > presidency;
+新聞學 > journalism;
+不定詞 > infinitive;
+大氣層 > atmosphere;
+不簡單 > not\-simple;
+受傷害 > be\-injured;
+端系統 > end\-system;
+代替者 > substitute;
+三百億 > 30\-billion;
+非對稱 > asymmetric;
+無煙煤 > anthracite;
+半決賽 > semifinals;
+莫須有 > groundless;
+不買賬 > not\-buy\-it;
+女學生 > schoolgirl;
+不自在 > uneasiness;
+下個月 > next\-month;
+鏈路層 > link\-layer;
+不由得 > can''t\-help;
+溫和性 > tenderness;
+所有者 > proprietor;
+上個月 > last\-month;
+半空中 > in\-mid\-air;
+不等式 > inequality;
+暗間兒 > inner\-room;
+自動化 > automation;
+單方面 > unilateral;
+運動場 > playground;
+附加物 > complement;
+佛教徒 > a\-buddhist;
+操舵室 > pilothouse;
+電唱機 > phonograph;
+流程圖 > flow\-chart;
+監督者 > supervisor;
+所有物 > belongings;
+二十一 > twenty\-one;
+穩定性 > stability;
+連接器 > connector;
+形容辭 > adjective;
+可得到 > available;
+科學家 > scientist;
+志願者 > volunteer;
+擦邊球 > edge\-ball;
+怎麼樣 > how\-about;
+所有權 > ownership;
+白報紙 > newsprint;
+討論會 > symposium;
+接受者 > recipient;
+形容詞 > adjective;
+每個人 > everybody;
+不育性 > sterility;
+檢查員 > inspector;
+表現型 > phenotype;
+皮鞋匠 > shoemaker;
+保護者 > protector;
+偽君子 > hypocryte;
+聲明書 > statement;
+馬蹄鐵 > horseshoe;
+擔架床 > stretcher;
+不完善 > imperfect;
+晴雨表 > barometer;
+千禧年 > millenium;
+使蔓延 > to\-spread;
+接班人 > successor;
+剪貼簿 > scrapbook;
+偉晶岩 > pegmatite;
+指示符 > indicator;
+保惠師 > comforter;
+建築師 > architect;
+委員會 > committee;
+航海者 > navigator;
+小吃店 > snack\-bar;
+維士卡 > visa\-card;
+好奇心 > curiosity;
+政治性 > political;
+滑鼠墊 > mouse\-pad;
+拜物教 > fetishism;
+低速率 > low\-speed;
+政治局 > politburo;
+零售商 > tradesman;
+政治家 > statesman;
+安全帶 > seat\-belt;
+登廣告 > advertise;
+有活力 > energetic;
+香檳酒 > champagne;
+綜合性 > synthesis;
+摁釘兒 > thumbtack;
+文具商 > stationer;
+新加坡 > singapore;
+領事館 > consulate;
+超聯結 > hyperlink;
+保皇黨 > royalists;
+東北方 > northeast;
+好萊塢 > hollywood;
+持久性 > constancy;
+白血病 > leukaemia;
+全世界 > worldwide;
+繼承者 > successor;
+抗議者 > protester;
+衣帽間 > cloakroom;
+一匹馬 > one\-horse;
+有時候 > sometimes;
+候選人 > candidate;
+向北地 > northward;
+下決心 > determine;
+保證人 > guarantor;
+上星期 > last\-week;
+第二十 > twentieth;
+睡過頭 > oversleep;
+利未記 > leviticus;
+童子軍 > boy\-scout;
+四十六 > forty\-six;
+第九十 > ninetieth;
+車前燈 > headlight;
+宇航員 > astronaut;
+使困窘 > embarrass;
+巧克力 > chocolate;
+有雄心 > ambitious;
+處理器 > processor;
+知更鳥 > redbreast;
+啟示者 > revelator;
+第三十 > thirtieth;
+白鎢礦 > scheelite;
+手提包 > \(hand\)bag;
+技術性 > technical;
+不誠實 > dishonest;
+豌豆粥 > pea\-gruel;
+變流器 > converter;
+潛水艇 > submarine;
+扳道員 > pointsman;
+繼任者 > successor;
+兩星期 > fortnight;
+格式化 > to\-format;
+採石場 > stone\-pit;
+加勒比 > caribbean;
+電報機 > telegraph;
+工作表 > worksheet;
+暴風雪 > snowstorm;
+暴風雨 > rainstorm;
+文字檔 > text\-file;
+貿易戰 > trade\-war;
+保証人 > guarantor;
+奉承者 > flatterer;
+指揮者 > conductor;
+參考書 > reference;
+針對性 > direction;
+半衰期 > half\-life;
+拉斐特 > lafayette;
+要不然 > otherwise;
+不結果 > fruitless;
+申請人 > applicant;
+出版者 > publisher;
+本星期 > this\-week;
+怪不得 > no\-wonder;
+創造力 > ingenuity;
+可容忍 > tolerable;
+基本上 > basically;
+稻草人 > scarecrow;
+多用戶 > multiuser;
+羽毛球 > badminton;
+救護車 > ambulance;
+第十六 > sixteenth;
+使生氣 > displease;
+不公正 > injustice;
+光射線 > light\-ray;
+外國人 > foreigner;
+第十五 > fifteenth;
+阿根廷 > argentina;
+偽善者 > hypocrite;
+螺旋槳 > propeller;
+貯水處 > reservoir;
+半流體 > semifluid;
+征服者 > conqueror;
+捕鼠器 > mousetrap;
+變色龍 > chameleon;
+對抗者 > adversary;
+薄油層 > oil\-sheet;
+無知覺 > senseless;
+氣壓計 > barometer;
+白云母 > muscovite;
+彫刻品 > sculpture;
+新聞界 > the\-press;
+一千噸 > 1000\-tons;
+不規則 > irregular;
+波狀雲 > undulatus;
+擴音器 > megaphone;
+不見了 > disappear;
+九月份 > september;
+超文本 > hypertext;
+讀書人 > a\-scholar;
+指揮官 > commander;
+引用句 > quotation;
+千赫茲 > kilohertz;
+八倍體 > octoploid;
+被禁止 > forbidden;
+不自然 > unnatural;
+高科技 > high\-tech;
+怪物似 > monstrous;
+冰棍兒 > ice\-lolly;
+白班兒 > day\-shift;
+星期三 > wednesday;
+野蠻人 > barbarian;
+十字軍 > crusaders;
+法國人 > frenchman;
+五千噸 > 5000\-tons;
+遇難船 > shipwreck;
+出席者 > attendant;
+羊皮紙 > parchment;
+反艦艇 > anti\-ship;
+內衣褲 > underwear;
+必需品 > necessity;
+冰淇淋 > ice\-cream;
+石灰石 > limestone;
+修道院 > monastery;
+西北方 > northwest;
+望遠鏡 > telescope;
+超文件 > hypertext;
+擺設兒 > ornaments;
+太好了 > very\-good;
+本年度 > this\-year;
+心靈上 > spiritual;
+天文學 > astronomy;
+巴比妥 > barbitone;
+實質上 > virtually;
+有節制 > temperate;
+有意識 > conscious;
+受害者 > casulties;
+不完美 > defective;
+情緒化 > emotional;
+支持者 > supporter;
+數不盡 > countless;
+借書單 > book\-slip;
+有禮貌 > courteous;
+第八十 > eightieth;
+里程碑 > milestone;
+不情願 > unwilling;
+下定義 > to\-define;
+對不起 > i''m\-sorry;
+假象牙 > celluloid;
+降落傘 > parachute;
+不育症 > sterility;
+必要性 > necessity;
+數不清 > countless;
+購買者 > purchaser;
+大教堂 > cathedral;
+組織者 > organizer;
+聖迭哥 > san\-diego;
+長方形 > rectangle;
+生殖力 > fertility;
+灰獵犬 > greyhound;
+習慣性 > customary;
+白內障 > cataract;
+大篷車 > schooner;
+監護人 > guardian;
+不合適 > improper;
+觀察者 > observer;
+藥劑士 > druggist;
+不信任 > mistrust;
+因特網 > internet;
+對稱性 > symmetry;
+檢測器 > detector;
+魔術師 > magician;
+不朽的 > immortal;
+歷史性 > historic;
+檸檬水 > lemonade;
+以太網 > ethernet;
+負重擔 > burdened;
+探測器 > detector;
+十二月 > december;
+擦網球 > net\-ball;
+聖保羅 > st\.\-paul;
+西裡爾 > cyrillic;
+女孩兒 > daughter;
+有德行 > virtuous;
+可擦寫 > erasable;
+牧羊者 > shepherd;
+最喜愛 > favorite;
+筆記本 > notebook;
+薰衣草 > lavender;
+不必要 > needless;
+請願書 > petition;
+投資者 > investor;
+寄生物 > parasite;
+肯塔基 > kentucky;
+柬埔寨 > cambodia;
+一小時 > one\-hour;
+人行道 > sidewalk;
+安全性 > security;
+再保証 > reassure;
+政治學 > politics;
+觀察家 > observer;
+雞尾酒 > cocktail;
+橄欖球 > football;
+平底鍋 > saucepan;
+紀念碑 > monument;
+侵入者 > intruder;
+改革者 > reformer;
+手提箱 > suitcase;
+不同意 > disagree;
+共和國 > republic;
+棒磨機 > rod\-mill;
+比目魚 > flatfish;
+大屠殺 > massacre;
+小夜曲 > serenade;
+小標題 > subtitle;
+有機體 > organism;
+死衚衕 > dead\-end;
+交響曲 > symphony;
+時間表 > schedule;
+頭向前 > headlong;
+探險者 > explorer;
+受難者 > sufferer;
+巴拉圭 > paraguay;
+第一步 > step\-one;
+調味汁 > dressing;
+數據庫 > database;
+債權人 > creditor;
+弟兄們 > brethren;
+小說家 > novelist;
+第五十 > fiftieth;
+三明治 > sandwich;
+催化劑 > catalyst;
+消費者 > consumer;
+牧羊人 > shepherd;
+有彈性 > flexible;
+經陸路 > overland;
+在戶外 > outdoors;
+擦棒球 > foul\-tip;
+中世紀 > medieval;
+傾聽者 > listener;
+接收器 > receiver;
+資料庫 > database;
+殺人犯 > murderer;
+葡萄牙 > portugal;
+不正常 > abnormal;
+內部網 > intranet;
+不透氣 > airtight;
+暖氣機 > radiator;
+阿肯色 > arkansas;
+教科書 > textbook;
+鼓吹者 > advocate;
+地下室 > basement;
+大肚子 > pregnant;
+不過意 > be\-sorry;
+冒犯者 > offender;
+保真度 > fidelity;
+不體面 > shameful;
+小衝突 > skirmish;
+排水渠 > drainage;
+麻醉劑 > narcotic;
+被侵害 > stricken;
+計算機 > computer;
+白木耳 > tremella;
+獨裁者 > dictator;
+記錄員 > recorder;
+蘇格蘭 > scotland;
+葡萄園 > vineyard;
+使興奮 > exciting;
+第十一 > eleventh;
+方程式 > equation;
+無線電 > wireless;
+彫刻家 > sculptor;
+工商界 > industry;
+阿托品 > atropine;
+地區性 > regional;
+裝飾物 > ornament;
+三角形 > triangle;
+誘拐者 > abductor;
+戲劇性 > dramatic;
+懲罰性 > punitive;
+八角楓 > alangium;
+北海道 > hokkaido;
+低成本 > low\-cost;
+明信片 > postcard;
+救贖主 > redeemer;
+生命力 > vitality;
+所在地 > location;
+產量多 > fruitful;
+看守者 > watchman;
+佔領者 > occupant;
+暗地裡 > secretly;
+低費用 > low\-cost;
+使吃驚 > astonish;
+幸存者 > survivor;
+使駭怕 > frighten;
+櫻花草 > primrose;
+星期四 > thursday;
+決定性 > decisive;
+日耳曼 > germanic;
+幾何學 > geometry;
+傾向於 > prone\-to;
+生還者 > survivor;
+星期六 > saturday;
+防守者 > defender;
+有價值 > valuable;
+刺激物 > stimulus;
+不信用 > distrust;
+提供諸 > provider;
+工程師 > engineer;
+中繼器 > repeater;
+洋琵琶 > mandolin;
+惡作劇 > mischief;
+子午線 > meridian;
+製作者 > producer;
+不在乎 > not\-mind;
+音樂家 > musician;
+使麻痺 > paralyze;
+千字節 > kilobyte;
+變阻器 > theostat;
+女房東 > landlady;
+不值得 > unworthy;
+提供者 > supplier;
+堅固性 > firmness;
+白化病 > albinism;
+第六十 > sixtieth;
+文明化 > civilize;
+外交官 > diplomat;
+白雲石 > dolomite;
+使習慣 > accustom;
+冰晶石 > cryolite;
+不小心 > heedless;
+富色彩 > colorful;
+納稅人 > taxpayer;
+再出現 > reappear;
+靠背椅 > armchair;
+操作者 > operator;
+全國性 > national;
+絲狀物 > filament;
+發明家 > inventor;
+藥劑師 > druggist;
+不怎麼 > not\-very;
+大西洋 > atlantic;
+看得見 > visible;
+有資格 > entitle;
+圓石頭 > boulder;
+奧地利 > austria;
+傳道部 > mission;
+創世紀 > genesis;
+千位元 > kilobit;
+揚聲器 > speaker;
+管理員 > manager;
+老資格 > veteran;
+金銀塊 > bullion;
+沙丁魚 > sardine;
+出納員 > cashier;
+愛遊玩 > playful;
+鋼琴家 > pianist;
+計數者 > counter;
+解剖學 > anatomy;
+有學問 > learned;
+半吊子 > dabbler;
+天花板 > ceiling;
+大盤子 > platter;
+不能不 > have\-to;
+出入口 > gateway;
+起皺紋 > shrivel;
+油光漆 > varnish;
+托兒所 > nursery;
+艷紅色 > crimson;
+特許狀 > charter;
+拖曳機 > tractor;
+預言家 > prophet;
+背叛者 > traitor;
+大使館 > embassy;
+大草原 > prairie;
+物理學 > physics;
+不聽命 > disobey;
+索馬裡 > somalia;
+廣播網 > network;
+巴格達 > baghdad;
+銀行業 > banking;
+手推車 > trolley;
+勞動者 > laborer;
+美洲豹 > panther;
+花崗石 > granite;
+在其中 > therein;
+不合法 > illegal;
+梵帝岡 > vatican;
+同義字 > synonym;
+愛國者 > patriot;
+女主人 > hostess;
+白榴石 > leucite;
+你自己 > thyself;
+自由派 > liberal;
+螢火蟲 > firefly;
+百分之 > percent;
+鬆緊帶 > elastic;
+寄宿生 > boarder;
+受歡迎 > popular;
+飛機場 > airport;
+計數器 > counter;
+實際上 > in\-fact;
+反應堆 > reactor;
+異教徒 > heathen;
+外邦人 > gentile;
+移民者 > migrant;
+不吉利 > ominous;
+創造者 > creator;
+熔礦爐 > furnace;
+女英雄 > heroine;
+內羅畢 > nairobi;
+叛逆者 > traitor;
+使高貴 > dignify;
+地質學 > geology;
+關鍵詞 > keyword;
+巴松管 > bassoon;
+布隆迪 > burundi;
+充電器 > charger;
+蒙大拿 > montana;
+炭疽病 > anthrax;
+史密特 > schmitt;
+富士通 > fujitsu;
+烹調術 > cookery;
+印刷者 > printer;
+混合物 > mixture;
+阿克倫 > acheron;
+無神論 > atheism;
+不動搖 > unmoved;
+隱藏處 > shelter;
+押沙龍 > absalom;
+催眠曲 > lullaby;
+牛頭犬 > bulldog;
+使魔法 > conjure;
+吹口哨 > whistle;
+安乃近 > analgin;
+蛋白質 > protein;
+芝加哥 > chicago;
+八帶魚 > octopus;
+洗衣店 > laundry;
+不得勁 > awkward;
+半瓶醋 > dabbler;
+長頸鹿 > giraffe;
+女高音 > soprano;
+比利時 > belgium;
+不調和 > discord;
+有陰影 > shadowy;
+指關節 > knuckle;
+平常日 > weekday;
+儲藏室 > storage;
+匈牙利 > hungary;
+墓誌銘 > epitaph;
+一會兒 > a\-while;
+不道德 > immoral;
+烏克蘭 > ukraine;
+在室內 > indoors;
+不離兒 > not\-bad;
+白蛋白 > albumin;
+主席臺 > rostrum;
+類固醇 > steroid;
+評議會 > council;
+有希望 > hopeful;
+傷寒症 > typhoid;
+到那裡 > thither;
+養老金 > pension;
+睡眠者 > sleeper;
+喘吁吁 > to\-blow;
+小冊子 > booklet;
+未武裝 > unarmed;
+帶紅色 > reddish;
+合夥人 > partner;
+有幫助 > helpful;
+阿拉伯 > arabian;
+阿拉丁 > aladdin;
+不覺察 > unaware;
+甘藍菜 > cabbage;
+女修道 > convent;
+發現物 > finding;
+在下方 > beneath;
+蒸汽機 > steamer;
+小瀑布 > cascade;
+第十二 > twelfth;
+巴不得 > anxious;
+未決定 > pending;
+旅遊者 > tourist;
+受託人 > trustee;
+見證人 > witness;
+石南屬 > heather;
+圖書館 > library;
+薄烤餅 > pancake;
+毒草名 > hemlock;
+地平線 > horizon;
+她自己 > herself;
+使孤立 > isolate;
+矮壯素 > cycocel;
+向何處 > whither;
+籃板球 > rebound;
+聽得見 > audible;
+做禱告 > to\-pray;
+百慕大 > bermuda;
+有條紋 > striped;
+安息日 > sabbath;
+不倒翁 > tumbler;
+裁紙機 > trimmer;
+一部分 > portion;
+懷敵意 > hostile;
+創立者 > founder;
+維他命 > vitamin;
+裝置物 > fixture;
+參議員 > senator;
+印表機 > printer;
+星期二 > tuesday;
+音樂會 > concert;
+體育場 > stadium;
+愛爾蘭 > ireland;
+逃亡者 > runaway;
+咯咯笑 > chuckle;
+生物學 > biology;
+戰鬥者 > fighter;
+使憤慨 > outrage;
+居住於 > inhabit;
+打印機 > printer;
+使憤怒 > provoke;
+彌賽亞 > messiah;
+沒甚麼 > nothing;
+煙灰缸 > ashtray;
+深紅色 > scarlet;
+不在了 > be\-dead;
+紡織品 > textile;
+代名詞 > pronoun;
+不濟事 > no\-good;
+開拓者 > pioneer;
+不人道 > inhuman;
+被沒收 > forfeit;
+路西弗 > lucifer;
+化學家 > chemist;
+訓練者 > trainer;
+清潔器 > cleaner;
+愛德玲 > adeline;
+迫切性 > urgency;
+女演員 > actress;
+桌上型 > desktop;
+巴比倫 > babylon;
+嬰兒期 > infancy;
+百葉窗 > shutter;
+避彈坑 > foxhole;
+有才幹 > capable;
+脫衣服 > undress;
+觀光客 > tourist;
+運動家 > athlete;
+業餘者 > amateur;
+金字塔 > pyramid;
+他自己 > himself;
+定居者 > settler;
+二十多 > over\-20;
+收留所 > barrack;
+毛毛雨 > drizzle;
+運動員 > athlete;
+燕麥粥 > oatmeal;
+標語牌 > placard;
+自行車 > bicycle;
+民數記 > numbers;
+小斑點 > speckle;
+使厭煩 > disgust;
+艾迪生 > addison;
+士師記 > judges;
+護送者 > escort;
+發電機 > dynamo;
+穆斯林 > muslim;
+開車人 > driver;
+嘶啞聲 > hoarse;
+拔尖兒 > tiptop;
+管理人 > keeper;
+黃鼠狼 > weasel;
+有人情 > humane;
+西紅柿 > tomato;
+電影院 > cinema;
+小妖精 > goblin;
+金絲雀 > canary;
+動名詞 > gerund;
+競賽者 > player;
+編年史 > annals;
+缺氧症 > anoxia;
+大地洞 > cavern;
+滑翔機 > glider;
+殘餘物 > litter;
+有責任 > liable;
+孩子氣 > boyish;
+小牝牛 > heifer;
+跑步者 > runner;
+吐綬雞 > turkey;
+跨接器 > jumper;
+負擔者 > bearer;
+合唱團 > chorus;
+領導者 > leader;
+曲棍球 > hockey;
+路由器 > router;
+父母親 > parent;
+化妝品 > makeup;
+急促聲 > patter;
+使硬化 > harden;
+交易者 > dealer;
+日內瓦 > geneva;
+銀行家 > banker;
+植物學 > botany;
+紀念獎 > trophy;
+偽造的 > forged;
+第二次 > second;
+鵝卵石 > pebble;
+有氣派 > lordly;
+債務人 > debtor;
+畫眉鳥 > thrush;
+小碟子 > saucer;
+舞蹈家 > dancer;
+叮噹聲 > tinkle;
+使濕透 > drench;
+批評家 > critic;
+在深處 > deeply;
+勝利者 > victor;
+蹺蹺板 > seesaw;
+磨坊主 > miller;
+有關連 > relate;
+多樹木 > wooded;
+吱吱聲 > squeak;
+未完成 > undone;
+魔賽克 > mosaic;
+強有力 > strong;
+烏干達 > uganda;
+不確實 > untrue;
+辦公室 > office;
+羅馬書 > romans;
+服務員 > waiter;
+蜘蛛網 > cobweb;
+阿米巴 > amoeba;
+修補匠 > tinker;
+大理石 > marble;
+持有人 > holder;
+撒哈拉 > sahara;
+大鐮刀 > scythe;
+濾波器 > filter;
+娛樂場 > resort;
+使高興 > please;
+最年長 > eldest;
+醃黃瓜 > pickle;
+收割者 > reaper;
+杜鵑鳥 > cuckoo;
+打噴嚏 > sneeze;
+螺旋鉗 > wrench;
+參議院 > senate;
+領導人 > leader;
+變形蟲 > amoeba;
+任何人 > anyone;
+有道德 > chaste;
+藝術家 > artist;
+頂樑柱 > pillar;
+使膨脹 > dilate;
+小提琴 > fiddle;
+懶洋洋 > lazily;
+馬戲團 > circus;
+高腳杯 > goblet;
+馬鈴薯 > potato;
+使轉向 > divert;
+沒有人 > nobody;
+博物館 > museum;
+使困擾 > harass;
+禮拜堂 > chapel;
+不透明 > opaque;
+它本身 > itself;
+扁桃體 > tonsil;
+排水溝 > gutter;
+正方形 > square;
+可信任 > trusty;
+文學家 > writer;
+移動式 > mobile;
+到此處 > hither;
+殖民地 > colony;
+墨西哥 > mexico;
+清真寺 > mosque;
+辦事處 > office;
+安哥拉 > angola;
+以色列 > israel;
+釘書針 > staple;
+照相機 > camera;
+紡織者 > weaver;
+斯拉夫 > slavic;
+俄羅斯 > russia;
+裁縫師 > tailor;
+弓箭手 > archer;
+塞爾特 > celtic;
+女舍監 > matron;
+打字員 > typist;
+星期日 > sunday;
+葡萄乾 > raisin;
+我自己 > myself;
+大步走 > stride;
+不公平 > unfair;
+芭蕾舞 > ballet;
+評論家 > critic;
+伯利茲 > belize;
+螺旋形 > spiral;
+比較少 > lesser;
+在此處 > herein;
+被害人 > victim;
+阿波羅 > apollo;
+使耳聾 > deafen;
+義賣會 > bazaar;
+星期天 > sunday;
+工作室 > studio;
+門外漢 > layman;
+在附近 > nearby;
+塗油於 > anoint;
+雜貨商 > grocer;
+維吾爾 > uighur;
+英雄式 > heroic;
+理髮師 > barber;
+起泡沫 > seethe;
+星期五 > friday;
+星期一 > monday;
+巴爾干 > balkan;
+格格笑 > giggle;
+孟加拉 > bengal;
+土耳其 > turkey;
+白蘭地 > brandy;
+愛德華 > edward;
+半中腰 > middle;
+白乾兒 > spirit;
+典獄長 > warden;
+看不見 > unseen;
+使作嘔 > sicken;
+恐水病 > rabies;
+加﹍於 > impose;
+橡皮搽 > eraser;
+波士頓 > boston;
+經紀人 > broker;
+紅蘿蔔 > carrot;
+悄悄地 > gently;
+避難所 > refuge;
+白麵兒 > heroin;
+飼養者 > feeder;
+巴斯克 > basque;
+莫斯科 > moscow;
+月桂樹 > laurel;
+門診室 > clinic;
+微薄的 > meagre;
+小淘氣 > rascal;
+攝影機 > camera;
+起訴者 > suitor;
+巴拿馬 > panama;
+捕鯨船 > whaler;
+演說者 > orator;
+擺樣子 > do\-sth;
+幾乎不 > hardly;
+加拿大 > canada;
+醫務所 > clinic;
+十字架 > cross;
+代理人 > agent;
+驅動器 > drive;
+獨木舟 > canoe;
+條板箱 > crate;
+陳列臺 > stall;
+講解員 > guide;
+泥水匠 > mason;
+植物群 > flora;
+在高處 > aloft;
+撐竿跳 > vault;
+頭蓋骨 > skull;
+敘利亞 > syria;
+紫丁香 > lilac;
+不新鮮 > stale;
+大農場 > ranch;
+多水分 > juicy;
+呼叫器 > pager;
+下水道 > sewer;
+從來不 > never;
+二極管 > diode;
+競技場 > arena;
+麥阿密 > miami;
+休息室 > lobby;
+球狀物 > globe;
+對敵者 > rival;
+冬青樹 > holly;
+果子凍 > jelly;
+大地圖 > atlas;
+成年者 > adult;
+雅各書 > james;
+英代爾 > intel;
+毛茸茸 > hairy;
+使煩惱 > worry;
+尼日爾 > niger;
+收音機 > radio;
+第三次 > third;
+招待員 > usher;
+第一次 > first;
+意大利 > italy;
+水平面 > plane;
+亞麻布 > linen;
+溜冰鞋 > skate;
+作哼聲 > snort;
+製造者 > maker;
+無生命 > inert;
+酪農業 > dairy;
+水蒸氣 > vapor;
+像片簿 > album;
+贈與者 > giver;
+板條箱 > crate;
+天藍色 > azure;
+飛行員 > pilot;
+捐贈者 > donor;
+西班牙 > spain;
+提多書 > titus;
+生麵糰 > dough;
+阿拉摩 > alamo;
+男高音 > tenor;
+一點兒 > a\-bit;
+英特爾 > intel;
+小樹林 > grove;
+布萊爾 > blair;
+撥火棍 > poker;
+在旁邊 > aside;
+營業員 > clerk;
+使固定 > rivet;
+警報器 > siren;
+三角洲 > delta;
+威爾士 > wales;
+肯尼亞 > kenya;
+麵包皮 > crust;
+石南樹 > heath;
+螺絲釘 > screw;
+西洋棋 > chess;
+唱詩班 > choir;
+西洋杉 > cedar;
+使溺死 > drown;
+再一次 > again;
+地方性 > local;
+發牢騷 > whine;
+長頸瓶 > flask;
+皺眉頭 > scowl;
+駕駛員 > pilot;
+來福槍 > rifle;
+吵鬧聲 > noise;
+楔形物 > wedge;
+流浪者 > rover;
+毛嗶嘰 > serge;
+灌木叢 > scrub;
+起重機 > crane;
+碎布條 > shred;
+內在的 > inner;
+鬱金香 > tulip;
+雪茄煙 > cigar;
+烤麵包 > toast;
+吹笛者 > piper;
+一巴掌 > spank;
+統治者 > ruler;
+呼叫聲 > whoop;
+座右銘 > motto;
+三稜鏡 > prism;
+矮墩墩 > pudgy;
+阿爾法 > alpha;
+比例尺 > scale;
+反抗者 > rebel;
+哪一個 > which;
+合股線 > twine;
+邁阿密 > miami;
+輿論界 > media;
+瑞典人 > swede;
+使羞愧 > abash;
+男子氣 > manly;
+使娛樂 > amuse;
+媳婦兒 > wife;
+伊拉克 > iraq;
+有能力 > able;
+埃米爾 > emir;
+咖啡館 > cafe;
+一定要 > must;
+通行稅 > toll;
+玉蜀黍 > corn;
+小毛蟲 > slug;
+最主要 > main;
+猶他州 > utah;
+使受傷 > hurt;
+立方體 > cube;
+白骨頂 > coot;
+護城河 > moat;
+洋娃娃 > doll;
+感覺到 > feel;
+下一次 > next;
+淺黃色 > buff;
+大袋子 > sack;
+圈狀物 > hoop;
+不及格 > fail;
+出租車 > taxi;
+保險絲 > fuse;
+先見者 > seer;
+手拉車 > cart;
+爵士舞 > jazz;
+咖啡店 > cafe;
+艾滋病 > aids;
+八哥兒 > myna;
+電燈泡 > bulb;
+猶大書 > jude;
+大頭釘 > tack;
+愛滋病 > aids;
+赤裸裸 > bare;
+圓屋頂 > dome;
+雙胞胎 > twin;
+一塊麵 > loaf;
+使用者 > user;
+外小腿 > shin;
+蛋白石 > opal;
+一分錢 > cent;
+圓錐體 > cone;
+百合花 > lily;
+計程車 > taxi;
+蜂蜜酒 > mead;
+非常多 > much;
+在之上 > over;
+眨眼睛 > wink;
+貴婦人 > dame;
+紅寶石 > ruby;
+軟木塞 > cork;
+粉紅色 > pink;
+呼呼聲 > whir;
+快步跑 > trot;
+說謊者 > liar;
+陪審團 > jury;
+繼乘人 > heir;
+光禿禿 > bald;
+果餡餅 > tart;
+嘶嘶聲 > hiss;
+擦黑兒 > dusk;
+水果酒 > wine;
+癩哈蟆 > toad;
+織布機 > loom;
+橢圓形 > oval;
+空白點 > gap;
+為甚麼 > why;
+男孩子 > boy;
+浸一下 > dip;
+在眼前 > now;
+無花果 > fig;
+男孩兒 > boy;
+貓叫聲 > mew;
+細頸瓶 > jug;
+常春藤 > ivy;
+為什麼 > why;
+無尾猿 > ape;
+小精靈 > elf;
+老天爺 > god;
+零點六 > 0\.6;
+墨水兒 > ink;
+六點六 > 6\.6;
+用油炸 > fry;
+體育館 > gym;
+七點五 > 7\.5;
+七點二 > 7\.2;
+動物園 > zoo;
+猶太人 > jew;
+黃褐色 > tan;
+筆桿子 > pen;
+九七年 > ''97;
+計乘車 > cab;
+小伙子 > lad;
+貓頭鷹 > owl;
+向上地 > up;
+變文 > a\-popular\-form\-of\-narrative\-literature\-flourishing\-in\-the\-tang\-dynasty\-\(618\-907\)\-with\-alternate\-prose\-and\-rhymed\-parts\-for\-recitation\-and\-singing\-\(often\-on\-buddhistic\-themes\);
+邊幣 > border\-region\-currency\-\(consisting\-of\-the\-currency\-notes\-issued\-by\-the\-border\-region\-governments\-during\-the\-war\-of\-resistance\-against\-japan\-and\-the\-war\-of\-liberation\);
+同期 > the\-corresponding\-time\-period\-\(eg\,\-compare\-inflation\-now\-with\-the\-rate\-during\-the\-same\-month\-last\-year\);
+偏偏 > \(indicates\-that\-sth\.\-turns\-out\-just\-the\-opposite\-of\-what\-one\-would\-expect\-or\-what\-would\-be\-normal\);
+敬祝 > to\-respectfully\-offer\-\(written\-at\-the\-end\-of\-letter\-from\-someone\-of\-lower\-status\-to\-higher\-status\);
+卜辭 > oracle\-inscriptions\-of\-the\-shang\-dynasty\-\(16th\-11th\-century\-bc\)\-on\-tortoiseshells\-or\-animal\-bones;
+洛德 > \(winston\)\-lord\-\(former\-assistant\-secretary\-of\-state\-for\-east\-asia\-and\-pacific\-affairs\);
+彷徨 > name\-of\-a\-collection\-of\-short\-stories\,\-pang\-huang\,\-\"wandering\-about\"\,\-by\-lu3\-xun4\-魯迅;
+陳毅 > chen\-yi\,\-former\-mayor\-of\-shanghai\-and\-highest\-ranking\-military\-commander\-in\-china;
+包工 > undertake\-to\-perform\-work\-within\-a\-time\-limit\-and\-according\-to\-specifications;
+部首 > radicals\-by\-which\-characters\-are\-arranged\-in\-traditional\-chinese\-dictionaries;
+霸主 > a\-powerful\-chief\-of\-the\-princes\-of\-the\-spring\-and\-autumn\-period\-\(770\-476\-bc\);
+在於 > \(the\-problem\-or\-explanation\-or\-advantage\-etc\.\)\-lies\-in\-\(the\-fact\-that\.\.\.\);
+教訓 > \(teach\-someone\-or\-learn\-a\)\-lesson\-\(ie\,\-obtain\-wisdom\-from\-an\-experience\);
+駁岸 > a\-low\-stone\-wall\-built\-along\-the\-water''s\-edge\-to\-protect\-an\-embankment;
+補法 > treatment\-involving\-the\-use\-of\-tonics\-to\-restore\-the\-patient''s\-health;
+三不 > \"the\-three\-no''s\"\-\(an\-example\-of\-an\-abbreviated\-slogan\-or\-catchphrase\);
+白朮 > the\-rhizome\-of\-large\-headed\-atractylodes\-\(atractylodes\-macrocephaia\);
+宣判 > pronounce\-a\-\(judicial\)\-sentence\-\(after\-a\-verdict\-in\-a\-court\-of\-law\);
+病友 > a\-friend\-made\-in\-hospital\-or\-people\-who\-become\-friends\-in\-hospital;
+就是 > \(emphasizes\-that\-something\-is\-precisely\-or\-exactly\-what\-is\-stated\);
+大禹 > da\-yu\,\-name\-of\-an\-ancient\-hero\-who\-successfully\-controlled\-floods;
+表證 > illness\-that\-has\-not\-attacked\-the\-vital\-organs\-of\-the\-human\-body;
+幫閑 > hang\-on\-to\-and\-serve\-the\-rich\-and\-powerful\-by\-literary\-hack\-work;
+描紅 > to\-trace\-over\-red\-characters\-\(as\-a\-method\-of\-learning\-to\-write\);
+抗戰 > war\-of\-resistance\,\-especially\-the\-war\-against\-japan\-\(1937\-1945\);
+今音 > modern\-\(i\.e\.\-not\-ancient\)\-pronunciation\-of\-a\-chinese\-character;
+惋惜 > to\-feel\-sorry\-for\-a\-person\-over\-sth\-that\-should\-have\-happened;
+睥睨 > look\-at\-somebody\-disdainfully\-out\-of\-the\-corner\-of\-one''s\-eye;
+胡適 > hu\-shi\-\(1891\-1962\)\,\-original\-proponent\-of\-bai2\-hua4\-wen2\-白話文;
+軍委 > military\-commission\-of\-the\-communist\-party\-central\-committee;
+燈節 > the\-lantern\-festival\-\(15th\-of\-first\-month\-of\-lunar\-calendar\);
+北洋 > the\-qing\-dynasty\-name\-for\-the\-coastal\-provinces\-of\-liaoning;
+八旗 > the\-\"eight\-banners\"\-\(military\-organisation\-in\-qing\-dynasty\);
+藤野 > name\-of\-a\-person\,\-teng\-ye\,\-a\-japanese\-friend\-of\-lu3\-xun4\-魯迅;
+華表 > marble\-pillar\-\(ornamental\-column\-in\-front\-of\-places\,\-tombs\);
+待業 > to\-await\-job\-assignment\-\(term\-used\-only\-in\-mainland\-china\);
+扮相 > the\-appearance\-of\-an\-actor\-or\-actress\-in\-costume\-or\-makeup;
+武術 > wushu\,\-martial\-arts\-such\-as\-shadow\-boxing\,\-swordplay\,\-etc\.;
+中共 > \(abbreviation\-for\)\-chinese\-communist\-\(party\,\-regime\,\-etc\.\);
+政協 > cppcc\-\(chinese\-people''s\-political\-consultative\-committee\);
+採取 > adopt\-or\-carry\-out\-\(measures\,\-policies\,\-course\-of\-action\);
+癟三 > a\-wretched\-looking\-tramp\-who\-lives\-by\-begging\-or\-stealing;
+表兄 > male\-cousin\-with\-a\-different\-surname\-\(older\-than\-oneself\);
+仙草 > a\-kind\-of\-plant\-used\-as\-a\-medicinal\-herb\-in\-ancient\-times;
+板胡 > a\-bowed\-stringed\-instrument\-with\-a\-thin\-wooden\-soundboard;
+補養 > take\-a\-tonic\-or\-nourishing\-food\-to\-build\-up\-one''s\-health;
+拼命 > to\-be\-ready\-to\-risk\-one''s\-life\-\(in\-fighting\,\-work\,\-etc\.\);
+遷怒 > to\-take\-one''s\-anger\-out\-on\-sb\-\(who\-does\-not\-deserve\-it\);
+掛好 > to\-hang\-up\-properly\-\(telephone\,\-picture\,\-clothes\,\-etc\.\);
+拔毒 > draw\-out\-pus\-by\-applying\-a\-plaster\-to\-the\-affected\-area;
+畜力 > animal\-powered\-\(as\-opposed\-to\-human\-or\-machine\-powered\);
+幫腔 > vocal\-accompaniment\-in\-some\-traditional\-chinese\-operas;
+奔喪 > hasten\-home\-for\-the\-funeral\-of\-a\-parent\-or\-grandparent;
+白芍 > \(peeled\)\-root\-of\-herbaceous\-peony\-\(paeonia\-lactiflora\);
+興趣 > interest\-\(directed\-towards\,\-not\-inherent\-in\-something\);
+標兵 > parade\-guards\-\(usually\-spaced\-out\-along\-parade\-routes\);
+法海 > name\-of\-a\-buddhist\-monk\,\-fahai\,\-from\-madam\-white\-snake;
+彈琴 > to\-play\-or\-strum\-a\-lute\-or\-other\-stringed\-instrument;
+白陶 > white\-pottery\-\(of\-shang\-dynastry\-16\-11th\-century\-bc\);
+包干 > be\-responsible\-for\-a\-task\-unit\-until\-it\-is\-completed;
+平方 > square\-\(as\-in\-square\-foot\,\-square\-mile\,\-square\-root\);
+拉貝 > \(john\)\-rabe\-\(german\-eyewitness\-to\-nanjing\-massacre\);
+巫山 > mt\.\-wu\,\-on\-the\-changjiang\-river\-by\-the\-three\-gorges;
+捕俘 > capture\-enemy\-personnel\-\(for\-intelligence\-purposes\);
+鏢客 > armed\-escort\-\(of\-travellers\-or\-merchants''\-caravans\);
+貝母 > the\-bulb\-of\-the\-fritillary\-\(fritillaria\-thunbergii\);
+名勝 > a\-place\-famous\-for\-its\-scenery\-or\-historical\-relics;
+民樂 > music\,\-esp\.\-folk\-music\,\-for\-traditional\-instruments;
+陝西 > shaanxi\-province\,\-china\-\(capitol\-city\-is\-xi''an\-西安\);
+日方 > the\-japanese\-side\-or\-party\-\(in\-negotiations\,\-etc\.\);
+橫折 > \(horizontal\-starting\-right\-angle\-character\-stroke\);
+西安 > xi''an\-\(city\)\,\-the\-capitol\-city\-of\-shaanxi\-province;
+小青 > name\-of\-a\-person\,\-xiaoqing\,\-from\-madam\-white\-snake;
+臨摹 > to\-copy\-\(a\-model\-of\-calligraphy\-or\-painting\,\-etc\.\);
+備取 > be\-on\-the\-waiting\-list\-\(for\-admission\-to\-a\-school\);
+本末 > the\-whole\-course\-of\-an\-event\-from\-beginning\-to\-end;
+頓挫 > with\-syncopated\-cadence\-\(brush\-stroke\-in\-painting\);
+版畫 > a\-picture\-printed\-from\-an\-engraved\-or\-etched\-plate;
+避諱 > taboo\-against\-using\-the\-personal\-names\-of\-emperors;
+武松 > wusong\,\-name\-of\-a\-person\,\-a\-hero\-in\-shui\-hu\-zhuan;
+許仙 > name\-of\-a\-person\,\-xu\-xian\,\-from\-madam\-white\-snake;
+儐相 > attendant\-of\-the\-bride\-or\-bridegroom\-at\-a\-wedding;
+補瀉 > reinforcing\-and\-reducing\-methods\-\(in\-acupuncture\);
+幹事 > administrative\-secretary\-\(in\-charge\-of\-something\);
+巫峽 > wuxia\-gorge\,\-in\-the\-changjiang\-river\-three\-gorges;
+折筆 > against\-the\-bristles\-\(brush\-movement\-in\-painting\);
+專線 > special\-purpose\-phone\-line\-or\-communications\-link;
+圖克 > \(gary\-l\.\)\-tooker\-\(motorola\-chairman\-of\-the\-board\);
+斜鉤 > \(downwards\-right\-concave\-hooked\-character\-stroke\);
+豎折 > \(downwards\-starting\-right\-angle\-character\-stroke\);
+老兄 > ''old\-chap''\-\(form\-of\-address\-between\-male\-friends\);
+橫筆 > bristles\-lying\-down\-\(brush\-movement\-in\-painting\);
+採購 > make\-purchases\-for\-an\-organization\-or\-enterprise;
+正在 > in\-the\-process\-of\-\(doing\-something\-or\-happening\);
+報國 > dedicate\-oneself\-to\-the\-service\-of\-one''s\-country;
+筆觸 > brush\-stroke\-in\-chinese\-painting\-and\-calligraphy;
+便人 > somebody\-who\-happens\-to\-be\-on\-hand\-for\-an\-errand;
+謝辛 > chea\-sim\-\(cambodian\-national\-assembly\-president\);
+外電 > reports\-from\-foreign\-\(non\-chinese\)\-news\-agancies;
+罷了 > a\-modal\-particle\-indicating\-\(don''t\-mind\-it\,\-ok\);
+靜山 > cheng\-san\-\(electoral\-constituency\-in\-singapore\);
+抓飯 > a\-kind\-of\-food\-popular\-among\-believers\-in\-islam;
+白描 > line\-drawing\-in\-traditional\-ink\-and\-brush\-style;
+唐山 > tang\-shan\-\(a\-chinese\-city\-in\-hebei\-河北\-province\);
+避嫌 > avoid\-doing\-anything\-that\-may\-arouse\-suspicion;
+報幕 > announce\-the\-items\-on\-a\-\(theatrical\)\-programme;
+親家 > parents\-of\-one''s\-daughter\-in\-law\-or\-son\-in\-law;
+喜糖 > sweet\-given\-on\-a\-happy\-occasion\-\(esp\.\-wedding\);
+拜壽 > congratulate\-an\-elderly\-person\-on\-his\-birthday;
+並行 > in\-parallel\-\[development\,\-implementation\,\-etc\];
+伯杰 > \(samuel\)\-berger\-\(us\-national\-security\-advisor\);
+東盟 > asean\-\(association\-of\-southeast\-asian\-nations\);
+曾經 > \(refers\-to\-something\-that\-happened\-previously\);
+可見 > it\-can\-clearly\-be\-seen\-\(that\-this\-is\-the\-case\);
+慰問 > express\-sympathy\,\-greetings\,\-consolation\,\-etc\.;
+海德 > hyde\-\(eg\,\-house\-judiciary\-chairman\-henry\-hyde\);
+羅斯 > roth\-\(eg\,\-hrw\-executive\-director\-kenneth\-roth\);
+旁聽 > be\-a\-visitor\-\(at\-a\-meeting\,\-class\,\-trial\,\-etc\);
+推辭 > to\-decline\-\(an\-appointment\,\-invitation\,\-etc\.\);
+白痢 > dysentery\-characterized\-by\-white\-mucous\-stool;
+華佗 > name\-of\-a\-famous\-doctor\-in\-old\-times\,\-hua\-tuo;
+棒槌 > wooden\-club\-\(used\-to\-beat\-clothes\-in\-washing\);
+吞吐 > to\-take\-in\-and\-send\-out\-\(in\-large\-quantities\);
+斷橋 > the\-broken\-bridge\-\(at\-west\-lake\-in\-hangzhou\);
+氣功 > qigong\,\-a\-system\-of\-deep\-breathing\-exercises;
+省級 > provincial\-level\-\(eg\,\-provincial\-government\);
+武打 > acrobatic\-fighting\-in\-chinese\-opera\-or\-dance;
+報失 > report\-the\-loss\-to\-the\-authorities\-concerned;
+保養 > take\-good\-care\-of\-\(or\-conserve\)\-one''s\-health;
+平信 > ordinary\-mail\-\(as\-opposed\-to\-air\-mail\,\-etc\.\);
+分享 > obtain\-one''s\-share\-\(of\-wealth\,\-rights\,\-etc\.\);
+紅堡 > red\-fort\-\(historic\-building\-in\-delhi\,\-india\);
+元宵 > sweet\-dumplings\-made\-of\-glutinous\-rice\-flour;
+臨寫 > to\-copy\-\(a\-model\-of\-calligraphy\-or\-painting\);
+月餅 > moon\-cake\-\(esp\.\-for\-the\-mid\-autumn\-festival\);
+抄家 > to\-search\-a\-house\-and\-confiscate\-possessions;
+會見 > to\-meet\-with\-\(someone\-who\-is\-paying\-a\-visit\);
+大舉 > carry\-out\-a\-large\-scale\-\(military\)\-operation;
+日漸 > \(keep\-increasing\,\-changing\,\-etc\.\)\-day\-by\-day;
+議席 > seat\-in\-a\-parliament\-or\-legislative\-assembly;
+通緝 > wanted\-by\-the\-police\-\(fugitive\-or\-criminal\);
+真納 > \(mohammad\-ali\)\-jinnah\-\(founder\-of\-pakistan\);
+魯賓 > rubin\-\(eg\,\-treasury\-secretary\-robert\-rubin\);
+力寶 > lippo\-\(group\)\-\(indonesian\-business\-concern\);
+側鋒 > oblique\-attack\-\(brush\-movement\-in\-painting\);
+崇禎 > chongzhen\,\-last\-emperor\-of\-the\-ming\-dynasty;
+白字 > wrongly\-written\-and\-mispronounced\-character;
+對策 > countermeasure\-for\-dealing\-with\-a\-situation;
+筆力 > vigour\-of\-strokes\-in\-calligraphy\-or\-drawing;
+罰酒 > to\-drink\-as\-the\-result\-of\-having\-lost\-a\-bet;
+星體 > celestial\-body\-\(eg\,\-planet\,\-satellite\,\-etc\);
+主管 > \(be\)\-person\-in\-charge\-of\-\(a\-position\,\-etc\.\);
+步韻 > to\-write\-a\-poem\-using\-another\-poem''s\-rhymes;
+口氣 > \(friendly\-or\-unfriendly\)\-tone\-\(of\-comments\);
+正鋒 > frontal\-attack\-\(brush\-movement\-in\-painting\);
+星球 > celestial\-body\-\(eg\,\-planet\,\-satellite\,\-etc\);
+下來 > \(verb\-suffix\-indicating\-continuation\,\-etc\.\);
+幹部 > a\-cadre\-\(ie\,\-manager\,\-staff\,\-officer\,\-etc\.\);
+接納 > admit\-\(into\-membership\-of\-an\-organization\);
+把風 > keep\-watch\-\(during\-a\-clandestine\-activity\);
+備耕 > make\-preparations\-for\-ploughing\-and\-sowing;
+撥冗 > find\-time\-in\-the\-midst\-of\-pressing\-affairs;
+栽贓 > to\-frame\-someone\-\(by\-planting\-sth\-on\-them\);
+換取 > give\-something\-and\-get\-something\-in\-return;
+偽書 > \(forged\,\-dubious\,\-misclassified\)\-old\-books;
+簿冊 > books\-for\-taking\-notes\-or\-keeping\-accounts;
+上車 > to\-get\-on\-or\-into\-\(a\-bus\,\-train\,\-car\-etc\.\);
+筆下 > the\-wording\-and\-purport\-of\-what\-one\-writes;
+便函 > an\-informal\-letter\-sent\-by\-an\-organization;
+首席 > chief\-\(representative\,\-correspondent\,\-etc\);
+贅婿 > son\-in\-law\-living\-at\-wife''s\-parent''s\-house;
+處於 > be\-\(in\-some\-state\,\-position\,\-or\-condition\);
+敗筆 > a\-faulty\-stroke\-in\-calligraphy\-or\-painting;
+出路 > a\-way\-out\-\(of\-a\-difficult\-situation\,\-etc\);
+度日 > scratch\-out\-a\-difficult\,\-meager\-existence;
+報案 > report\-a\-case\-to\-the\-security\-authorities;
+兵源 > manpower\-resources\-\(for\-military\-service\);
+有電 > \(of\-a\-dwelling\)\-supplied\-with\-electricity;
+賁臨 > \(of\-distinguished\-guests\)\-honour\-my\-house;
+松下 > matsushita\-\(japanese\-electronics\-company\);
+不妙 > \(of\-a\-turn\-of\-events\)\-not\-too\-encouraging;
+勉強 > manage\-\(to\-do\-something\)\-with\-difficulty;
+別無 > have\-no\-other\-\(choice\,\-alternative\,\-etc\);
+公約 > convention\-\(ie\,\-international\-agreement\);
+年度 > year\-\(eg\,\-school\-year\,\-fiscal\-year\,\-etc\);
+筆順 > order\-of\-strokes\-observed\-in\-calligraphy;
+扎針 > to\-give\-or\-have\-an\-acupuncture\-treatment;
+製劑 > \(chemical\-or\-pharmaceutical\)\-preparation;
+體會 > know\-\(through\-learning\-or\-by\-experience\);
+偽托 > faking\-a\-modern\-object\-as\-an\-ancient\-one;
+海關 > customs\-\(ie\,\-border\-crossing\-inspection\);
+碑記 > a\-record\-of\-events\-inscribed\-on\-a\-tablet;
+包辦 > take\-care\-of\-everything\-concerning\-a\-job;
+出面 > act\-in\-a\-\(official\-or\-personal\)\-capacity;
+相隔 > be\-separated\-by\-\(distance\-or\-time\,\-etc\);
+時報 > \"times\"\-\(newspaper\,\-eg\,\-new\-york\-times\);
+通航 > connected\-by\-air\|sea\-traffic\-or\-service;
+遷居 > to\-move\-\(from\-one\-residence\-to\-another\);
+年代 > a\-decade\-of\-a\-century\-\(eg\,\-the\-sixties\);
+喬石 > qiao\-shi\-\(chinese\-leadership\-contender\);
+豎鉤 > \(straight\-down\-hooked\-character\-stroke\);
+成本 > \(manufacturing\,\-production\,\-etc\.\)\-costs;
+代理 > acting\-\(temporarily\-filling\-a\-position\);
+客廳 > drawing\-room\-\(room\-for\-arriving\-guests\);
+蓮霧 > wax\-apple\-\(a\-reddish\-pear\-shaped\-fruit\);
+題簽 > to\-write\-the\-title\-of\-a\-book\-on\-a\-label;
+老二 > the\-second\-child\-or\-brother\-\(or\-sister\);
+中南 > \(abbreviation\-for\)\-china\-\-\-south\-africa;
+版次 > the\-order\-in\-which\-editions\-are\-printed;
+受傷 > suffer\-injuries\-\(in\-an\-accident\,\-etc\.\);
+訂立 > agree\-to\-\(treaty\,\-contract\,\-agreement\);
+夏曆 > the\-traditional\-chinese\-lunar\-calendar;
+師範 > normal\-\(eg\,\-beijing\-normal\-university\);
+廣場 > a\-public\-square\-\(eg\,\-tiananmen\-square\);
+補票 > buy\-one''s\-ticket\-after\-the\-normal\-time;
+發燒 > have\-a\-high\-temperature\-\(from\-illness\);
+盆地 > basin\-\(low\-lying\-geographical\-feature\);
+手跡 > sb\.''s\-original\-handwriting\-or\-painting;
+璧還 > return\-\(a\-borrowed\-object\)\-with\-thanks;
+表妹 > female\-cousin\-with\-a\-different\-surname;
+拆散 > to\-break\-up\-\(a\-marriage\,\-family\,\-etc\.\);
+備品 > machine\-parts\-or\-tools\-kept\-in\-reserve;
+首任 > first\-person\-to\-be\-appointed\-to\-a\-post;
+部長 > head\-of\-a\-\(government\,\-etc\)\-department;
+比量 > take\-rough\-measurements\-\(with\-the\-hand;
+博愛 > universal\-fraternity\-\(or\-brotherhood\);
+敗火 > relieve\-inflammation\-or\-internal\-heat;
+經營 > engage\-in\-\(a\-business\-activity\,\-etc\.\);
+集成 > integrated\-\(as\-in\-integrated\-circuit\);
+政委 > political\-commissar\-\(within\-the\-army\);
+編導 > write\-and\-direct\-\(a\-play\,\-film\,\-etc\.\);
+行駛 > \(vehicles\,\-etc\.\)\-travel\-along\-a\-route;
+兵種 > \(military\)\-branch\-of\-the\-armed\-forces;
+逼宮 > force\-the\-king\-or\-emperor\-to\-abdicate;
+航行 > sail\-or\-fly\-\(in\-air\,\-water\,\-or\-space\);
+相信 > be\-convinced\-\(that\-something\-is\-true\);
+拔秧 > pull\-up\-seedlings\-\(for\-transplanting\);
+手裡 > \(a\-situation\-is\)\-in\-\(someone''s\)\-hands;
+捕撈 > fish\-for\-\(aquatic\-animals\-and\-plants\);
+簽名 > to\-sign\-\(one''s\-name\-with\-a\-pen\,\-etc\.\);
+濟南 > ji''nan\-\(capital\-of\-shandong\-province\);
+屏條 > set\-of\-\(usually\-four\)\-hanging\-scrolls;
+究竟 > after\-all\-\(when\-all\-is\-said\-and\-done\);
+鎮江 > zhenjiang\-\(city\)\,\-in\-jiangsu\-province;
+主科 > required\-courses\-in\-the\-major\-subject;
+班底 > ordinary\-members\-of\-theatrical\-troupe;
+金缽 > \(gold\)\-alms\-bowl\-\(of\-a\-buddhist\-monk\);
+聯名 > jointly\-\(signed\,\-declared\,\-sponsored\);
+下榻 > stay\-at\-\(a\-hotel\,\-etc\.\-during\-a\-trip\);
+記述 > make\-a\-descriptive\-record\-\(of\-events\);
+暗傷 > internal\-\(invisible\)\-injury\-\(damage\);
+太湖 > tai\-hu\-lake\,\-a\-big\-lake\-by\-wuxi\-city;
+橫鉤 > \(horizontal\-hooked\-character\-stroke\);
+北宋 > the\-northern\-song\-dynasty\-\(960\-1127\);
+鄉下 > country\-\(as\-opposed\-to\-town\-or\-city\);
+簽訂 > to\-agree\-to\-and\-sign\-\(a\-treaty\,\-etc\);
+增值 > appreciation\-\(of\-a\-car\,\-house\,\-etc\.\);
+兵家 > military\-strategist\-in\-ancient\-china;
+英尺 > \(english\)\-foot\-\(unit\-of\-measurement\);
+淪陷 > \(territory\)\-fall\-to\-enemy\-occupation;
+人選 > person\(s\)\-selected\-\(for\-a\-job\,\-etc\.\);
+會長 > president\-of\-a\-club\,\-committee\,\-etc\.;
+寫成 > to\-compile\-\(fashion\-through\-writing\);
+吞金 > to\-commit\-suicide\-by\-swallowing\-gold;
+板眼 > measure\-in\-traditional\-chinese\-music;
+首府 > capital\-city\-of\-an\-autonomous\-region;
+班次 > order\-of\-classes\-or\-grades\-at\-school;
+貴州 > name\-of\-a\-province\-in\-china\,\-guizhou;
+蓋茨 > \(bill\)\-gates\-\(chairman\-of\-microsoft\);
+吸引 > attract\-\(interest\,\-investment\,\-etc\.\);
+暗娼 > unlicensed\-\(unregistered\)\-prostitute;
+霸王 > xiang4yu3\-\(232\-202\-bc\)\-the\-conqueror;
+壽禮 > birthday\-present\-\(for\-an\-old\-person\);
+萬縣 > wanxian\-county\,\-in\-sichuan\-province;
+兵部 > the\-ministry\-of\-war\-in\-feudal\-china;
+北周 > the\-northern\-zhou\-dynasty\-\(557\-581\);
+北京 > beijing\-\(capital\-of\-mainland\-china\);
+草案 > draft\-\(legislation\,\-proposal\,\-etc\.\);
+親愛 > dear\-\.\.\.\-\(way\-of\-starting\-a\-letter\);
+補白 > filler\-\(in\-a\-newspaper\-or\-magazine\);
+舉行 > to\-hold\-\(a\-meeting\,\-ceremony\,\-etc\.\);
+保送 > recommend\-\(for\-admission\-to\-school\);
+轉帳 > transfer\-money\-from\|into\-an\-account;
+席位 > parliamentary\-or\-congressional\-seat;
+布什 > \(george\)\-bush\-\(former\-us\-president\);
+審訊 > a\-\(judicial\)\-trial\-\(in\-a\-courtroom\);
+筆桿 > the\-shaft\-of\-a\-pen\-or\-writing\-brush;
+病勢 > degree\-of\-seriousness\-of\-an\-illness;
+主辦 > host\-\(a\-conference\-or\-sports\-event\);
+本草 > a\-book\-on\-chinese\-\(herbal\)\-medicine;
+人物 > characters\-\(in\-a\-play\,\-novel\,\-etc\.\);
+議長 > speaker\-\(of\-a\-legislative\-assembly\);
+安南 > \[kofi\]\-annan\-\[un\-secretary\-general\];
+包飯 > get\-or\-supply\-meals\-at\-a\-fixed\-rate;
+有水 > \(of\-a\-dwelling\)\-supplied\-with\-water;
+話題 > subject\-\(of\-a\-talk\-or\-conversation\);
+事務 > \(political\,\-economic\,\-etc\.\)\-affairs;
+咱們 > we\-\(including\-the\-person\-spoken\-to\);
+率先 > take\-the\-lead\-\(showing\-inititative\);
+包租 > rent\-land\-or\-a\-house\-for\-subletting;
+明文 > \(laws\,\-rules\,\-etc\)\-state\-in\-writing;
+透視 > to\-examine\-by\-fluoroscope\-or\-x\-ray;
+報警 > report\-\(an\-incident\)\-to\-the\-police;
+碑帖 > a\-rubbing\-from\-a\-stone\-inscription;
+牛年 > year\-of\-the\-ox\-\(in\-chinese\-zodiac\);
+包廂 > box\-\(in\-a\-theatre\-or\-concert\-hall\);
+轉讓 > transfer\-\(technology\,\-goods\,\-etc\.\);
+盜版 > pirate\-version\-\(of\-software\,\-e\.g\.\);
+緣份 > fate\-\(which\-brings\-people\-together;
+平壤 > pyongyang\-\(capital\-of\-north\-korea\);
+擔任 > hold\-a\-governmental\-office\-or\-post;
+克服 > \(try\-to\)\-overcome\-\(hardships\,\-etc\);
+抄送 > to\-make\-a\-copy\-\(and\-send\-it\-to\-sb\);
+案驗 > investigate\-the\-evidence\-of\-a\-case;
+托運 > to\-book\-or\-check\-through\-\(baggage\);
+戶部 > feudal\-chinese\-ministry\-of\-revenue;
+推動 > to\-push\-\(for\-acceptance\-of\-a\-plan\);
+亞軍 > second\-place\-\(in\-a\-sports\-contest\);
+顏體 > yan\-style\-\(in\-chinese\-calligraphy\);
+久違 > \(haven''t\-done\-sth\)\-for\-a\-long\-time;
+香山 > fragrance\-hill\-\(a\-park\-in\-beijing\);
+銷毀 > to\-destroy\-\(by\-melting\-or\-burning\);
+北魏 > the\-northern\-wei\-dynasty\-\(386\-534\);
+暴病 > sudden\-attack\-of\-a\-serious\-illness;
+人大 > \(china\)\-national\-people''s\-congress;
+熱鬧 > bustling\-with\-noise\-and\-excitement;
+呈文 > petition\-\(submitted\-to\-a\-superior\);
+春節 > spring\-festival\-\(chinese\-new\-year\);
+𠼻 > a\-particle\-used\-in\-transliteration;
+新疆 > xinjiang\-\(uygur\-autonomous\-region\);
+網絡 > \(computer\,\-telecom\,\-etc\.\)\-network;
+壁毯 > tapestry\-\(used\-as\-a\-wall\-hanging\);
+擦澡 > rub\-oneself\-down\-with\-a\-wet\-towel;
+認定 > maintain\-\(that\-something\-is\-true\);
+分歧 > difference\-\(of\-opinion\,\-position\);
+連戰 > lien\-chan\-\(taiwan\-vice\-president\);
+制度 > \(political\)\-system\-or\-institution;
+補習 > take\-lessons\-after\-school\-or\-work;
+建交 > to\-establish\-diplomatic\-relations;
+火災 > fire\-\(that\-burns\-buildings\,\-etc\.\);
+備課 > \(of\-a\-teacher\)\-to\-prepare\-lessons;
+開演 > \(of\-a\-play\,\-movie\,\-etc\.\)\-to\-begin;
+備荒 > prepare\-against\-natural\-disasters;
+全會 > plenary\-session\-\(at\-a\-conference\);
+便難 > retort\-with\-challenging\-questions;
+答辯 > to\-reply\-\(to\-an\-accusation\,\-e\.g\.\);
+圖書 > books\-\(in\-a\-library\-or\-bookstore\);
+家長 > the\-parent\-or\-guardian\-of\-a\-child;
+回歸 > to\-return\-\(to\-previous\-condition\);
+骨法 > bone\-\(property\-of\-a\-brush\-stroke\);
+科隆 > cologne\,\-germany\-or\-colon\,\-panama;
+打消 > dispel\-\(doubts\,\-misgivings\,\-etc\.\);
+找到 > find\-\(what\-one\-was\-searching\-for\);
+召開 > convene\-\(a\-conference\-or\-meeting\);
+呼籲 > call\-on\-\(someone\-to\-do\-something\);
+科爾 > \(helmut\)\-kohl\-\(german\-chancellor\);
+齋月 > ramadan\-\(muslim\-month\-of\-fasting\);
+起來 > beginning\-or\-continuing\-an\-action;
+北齊 > the\-northern\-qi\-dynasty\-\(550\-557\);
+吐穗 > to\-have\-the\-ears\-of\-grain\-come\-up;
+請願 > petition\-\(for\-action\-to\-be\-taken\);
+享受 > to\-enjoy\-\(rights\,\-benefits\,\-etc\.\);
+三峽 > the\-three\-changjiang\-river\-gorges;
+取暖 > to\-warm\-oneself\-\(by\-a\-fire\,\-etc\.\);
+院長 > president\-\(of\-a\-university\,\-etc\.\);
+言論 > expression\-of\-\(political\)\-opinion;
+政界 > political\-and\-government\-circles;
+性別 > distinguishing\-between\-the\-sexes;
+違禁 > to\-violate\-a\-prohibtition\-or\-ban;
+酬和 > to\-respond\-to\-a\-poem\-with\-a\-poem;
+報考 > enter\-oneself\-for\-an\-examination;
+北國 > the\-northern\-part\-of\-the\-country;
+外孫 > grandson\-\(son\-of\-one''s\-daughter\);
+大國 > a\-power\-\(ie\,\-a\-dominant\-country\);
+探親 > to\-go\-home\-to\-visit\-one''s\-family;
+難以 > hard\-to\-\(predict\,\-imagine\,\-etc\.\);
+報效 > render\-service\-to\-repay\-kindness;
+親戚 > \(a\)\-relative\-\(ie\,\-family\-member\);
+為期 > \(to\-be\-done\)\-by\-\(a\-certain\-date\);
+農曆 > the\-traditional\-chinese\-calendar;
+按說 > in\-the\-ordinary\-course\-of\-events;
+連任 > continue\-in\-\(a\-political\)\-office;
+臉譜 > types\-of\-facial\-makeup\-in\-operas;
+開庭 > begin\-a\-\(judicial\)\-court\-session;
+公審 > public\-trial\-\(in\-a\-court\-of\-law\);
+但願 > if\-only\-\(it\-were\-possible\-to\.\.\.\);
+捨得 > to\-be\-willing\-to\-part\-with\-\(sth\);
+持有 > hold\-\(eg\,\-passport\,\-views\,\-etc\.\);
+抗爭 > make\-a\-stand\-and\-fight\-\(against\);
+篦子 > a\-double\-edged\-fine\-toothed\-comb;
+投機 > be\-a\-speculator\-\(profit\-seeking\);
+挪借 > to\-borrow\-money\-for\-a\-short\-time;
+宰相 > prime\-minister\-\(in\-feudal\-china\);
+虛腕 > empty\-wrist\-\(method\-of\-painting\);
+不論 > no\-matter\-\(what\,\-who\,\-how\,\-etc\.\);
+保修 > guarantee\-to\-keep\-in\-good\-repair;
+金邊 > phnom\-penh\-\(capital\-of\-cambodia\);
+侵佔 > to\-invade\-and\-occupy\-\(territory\);
+柯密 > kermit\-\(communications\-protocol\);
+享有 > enjoy\-\(rights\,\-privileges\,\-etc\.\);
+禮炮 > a\-gun\-salute\-\(eg\,\-21\-gun\-salute\);
+突厥 > turkic\-\(minority\-group\-in\-china\);
+安保 > \(abbreviation\)\-maintain\-security;
+壽麵 > birthday\-noodles\-\(for\-longevity\);
+浴室 > bathroom\-\(room\-used\-for\-bathing\);
+令人 > cause\-someone\-to\-\(be\,\-feel\,\-etc\);
+除非 > only\-if\-\(\.\.\.\,\-or\-otherwise\,\-\.\.\.\);
+歧視 > discrimination\-\(against\-someone\);
+敗落 > decline\-\(in\-wealth\-and\-position\);
+無錫 > wuxi\-\(city\)\,\-in\-jiangsu\-province;
+暗合 > agree\-without\-prior\-consultation;
+姐夫 > brother\-in\-law\-\(husband''s\-side\);
+特區 > special\-\(administrative\)\-region;
+日圓 > japanese\-yen\-\(unit\-of\-currency\);
+壁櫥 > a\-built\-in\-wardrobe\-or\-cupboard;
+避暑 > be\-away\-for\-the\-summer\-holidays;
+步搖 > dangling\-ornament\-worn\-by\-women;
+邦交 > relations\-between\-two\-countries;
+提煉 > to\-extract\-\(ore\,\-minerals\,\-etc\);
+橋接 > bridging\-\(in\-computer\-networks\);
+八方 > the\-eight\-points\-of\-the\-compass;
+內政 > internal\-affairs\-\(of\-a\-country\);
+迫使 > force\-\(someone\-to\-do\-something\);
+長廊 > the\-long\-corridor\-at\-yi\-he\-yuan;
+元帥 > a\-marshal\-\(in\-the\-armed\-forces\);
+校長 > \(college\,\-university\)\-president;
+開刀 > to\-perform\-or\-have\-an\-operation;
+輩分 > seniority\-in\-the\-family\-or\-clan;
+尾牙 > a\-year\-end\-dinner\-for\-employees;
+班輪 > regular\-passenger\-or\-cargo\-ship;
+抨擊 > attack\-\(verbally\-or\-in\-writing\);
+舞台 > \(theatrical\-or\-political\)\-stage;
+猛跌 > drop\-sharply\-\(eg\,\-stock\-prices\);
+信件 > a\-letter\-\(ie\,\-sent\-in\-the\-mail\);
+使命 > a\-\(diplomatic\-or\-other\)\-mission;
+丹皮 > the\-root\-bark\-of\-the\-peony\-tree;
+定做 > to\-have\-something\-made\-to\-order;
+重用 > to\-put\-in\-an\-important\-position;
+比賽 > \[athletic\-or\-other\]\-competition;
+敘述 > relate\-\(a\-story\-or\-information\);
+加重 > become\|make\-more\-serious\|graver;
+蔚為 > to\-afford\-\(a\-view\-of\-sth\,\-e\.g\.\);
+電臺 > radio\-\(or\-broadcasting\)\-station;
+碑林 > the\-forest\-of\-steles\-\(in\-xi''an\);
+外灘 > waitan\-\(the\-bund\)\,\-in\-shanghai;
+證實 > confirm\-\(something\-to\-be\-true\);
+議員 > member\-\(of\-a\-legislative\-body\);
+報表 > forms\-for\-reporting\-statistics;
+明報 > ming\-pao\-newspaper\-\(hong\-kong\);
+前程 > future\-\(career\,\-etc\)\-prospects;
+登門 > pay\-a\-visit\-to\-someone''s\-house;
+邊民 > people\-living\-on\-the\-frontiers;
+那末 > if\-that''s\-the\-case\,\-then\-\(\.\.\.\);
+效應 > effect\-\(eg\,\-greenhouse\-effect\);
+歹徒 > evil\-person\-who\-commits\-crimes;
+收復 > recover\-\(lost\-territory\,\-etc\.\);
+傲骨 > lofty\-and\-unyielding\-character;
+斷交 > break\-off\-diplomatic\-relations;
+帳戶 > \(bank\,\-computer\,\-etc\.\)\-account;
+固然 > admittedly\-\(it''s\-true\-that\.\.\.\);
+臺獨 > taiwan\-independence\-\(movement\);
+保苗 > keep\-a\-full\-stand\-of\-seedlings;
+路由 > routing\-\(in\-computer\-networks\);
+對美 > \(policy\,\-etc\.\)\-towards\-america;
+指數 > \(numerical\,\-statistical\)\-index;
+筆畫 > strokes\-of\-a\-chinese\-character;
+空襲 > \(military\)\-attack\-from\-the\-air;
+表報 > statistical\-tables\-and\-reports;
+拘押 > \(arrest\-and\)\-take\-into\-custody;
+尚書 > high\-official\-in\-ancient\-china;
+聳立 > to\-tower\-above\-\(on\-top\-of\-sth\);
+班組 > teams\-and\-groups\-\(in\-factories;
+伯母 > wife\-of\-father''s\-elder\-brother;
+中藥 > \(traditional\)\-chinese\-medicine;
+暗袋 > camera\-bag\-\(for\-changing\-film\);
+處決 > execute\-\(a\-condemned\-criminal\);
+新鮮 > fresh\-\(experience\,\-food\,\-etc\.\);
+叫聲 > yelling\-\(sound\-made\-by\-person\);
+班師 > withdraw\-troops\-from\-the\-front;
+哀悼 > grieve\-\(mourn\)\-over\-sb''s\-death;
+科恩 > cohen\-\(u\.s\.\-defence\-secretary\);
+敗陣 > be\-defeated\-on\-the\-battlefield;
+包賠 > guarantee\-to\-pay\-compensations;
+名次 > position\-in\-a\-ranking\-of\-names;
+嫂嫂 > sister\-in\-law\-\(husband''s\-side\);
+奉行 > to\-pursue\-\(a\-course\,\-a\-policy\);
+呼喚 > call\-out\-\(someone''s\-name\,\-etc\);
+𠀁 > the\-original\-form\-for\-七\-u\+4e03;
+𠀀 > the\-sound\-made\-by\-breathing\-in;
+示威 > hold\-a\-\(protest\)\-demonstration;
+吃刀 > penetration\-of\-a\-cutting\-tool;
+各位 > everybody\-\(a\-term\-of\-address\);
+韓圓 > korean\-won\-\(unit\-of\-currency\);
+報社 > general\-office\-of\-a\-newspaper;
+發跡 > to\-rise\-to\-power\-and\-position;
+支援 > provide\-assistance\-or\-backing;
+觀測 > \(scientific\,\-etc\)\-observation;
+違心 > against\-ones\-will\-or\-feelings;
+拼音 > pinyin\-\(chinese\-romanization\);
+境外 > outside\-\(a\-country''s\)\-borders;
+拌面 > noodles\-served\-with\-soy\-sauce;
+直接 > direct\-\(opposite\-of\-indirect\);
+鏡頭 > camera\-shot\-\(in\-a\-movie\,\-etc\);
+莫不 > there\-is\-no\-one\-\(who\-doesn''t\);
+送人 > to\-see\-\(or\-walk\)\-someone\-home;
+白文 > the\-text\-of\-an\-annotated\-book;
+將領 > high\-ranking\-military\-officer;
+掌權 > wield\-\(political\,\-etc\.\)\-power;
+促進 > to\-promote\-\(an\-idea\-or\-cause\);
+公安 > \(ministry\-of\)\-public\-security;
+病根 > an\-incompletely\-cured\-illness;
+補報 > make\-a\-report\-after\-the\-event;
+對臺 > \(policy\,\-etc\.\)\-towards\-taiwan;
+板鼓 > a\-small\-drum\-for\-marking\-time;
+贅述 > to\-say\-more\-than\-is\-necessary;
+實肘 > full\-arm\-\(method\-of\-painting\);
+淘金 > panning\-\(for\-precious\-metals\);
+戈爾 > \(al\)\-gore\-\(us\-vice\-president\);
+亂說 > to\-make\-irresponsible\-remarks;
+不軌 > against\-the\-law\-or\-discipline;
+保商 > preservation\-of\-soil\-moisture;
+作戰 > conduct\-\(military\-operations\);
+世行 > \[abbreviation\-for\]\-world\-bank;
+中華 > china\-\(alternate\-formal\-name\);
+侵入 > to\-make\-\(military\)\-incursions;
+球檯 > table\-\(for\-games\-using\-balls\);
+下臺 > step\-down\-\(from\-office\,\-etc\.\);
+貪污 > \(political\,\-moral\)\-corruption;
+中級 > middle\-level\-\(in\-a\-hierarchy\);
+有的 > \(there\-are\)\-some\-\(who\-are\.\.\.\);
+蓋飯 > rice\-with\-meat\-and\-vegitables;
+下班 > to\-come\-or\-go\-or\-get\-off\-work;
+包銷 > have\-exclusive\-selling\-rights;
+讓球 > to\-concede\-points\-\(in\-a\-game\);
+書房 > study\-\(i\.e\.\-the\-kind\-of\-room\);
+認識 > be\-acquainted\-with\-\(a\-person\);
+卻病 > to\-prevent\-or\-treat\-a\-disease;
+遲遲 > \(be\)\-late\-\(with\-a\-task\,\-etc\.\);
+𠀅 > an\-alternate\-form\-of\-u\+4ea5\-亥;
+德班 > durban\-\(city\-in\-south\-africa\);
+擺輪 > balance\-\(of\-a\-watch\-or\-clock\);
+擺設 > furnish\-and\-decorate\-\(a\-room\);
+熱線 > hotline\-\(communications\-link\);
+法制 > legal\-system\-and\-institutions;
+水平 > level\-\(of\-achievement\,\-etc\.\);
+夫權 > authority\-over\-the\-household;
+印尼 > \(abbreviation\-for\)\-indonesia;
+變價 > appraise\-at\-the\-current\-rate;
+妹夫 > brother\-in\-law\-\(wife''s\-side\);
+進而 > and\-then\-\(what\-follows\-next\);
+陣線 > a\-front\-\(ie\,\-militant\-group\);
+歲月 > the\-years\-of\-a\-person''s\-life;
+歸屬 > be\-under\-the\-jurisdiction\-of;
+在野 > be\-out\-of\-\(political\)\-office;
+廠房 > a\-building\-used\-as\-a\-factory;
+判決 > judgment\-\(by\-a\-court\-of\-law\);
+困難 > \(financial\,\-etc\.\)\-difficulty;
+掛號 > to\-register\-\(a\-letter\,\-etc\.\);
+補苗 > fill\-the\-gaps\-with\-seedlings;
+武力 > \(make\-use\-of\)\-military\-force;
+放假 > to\-have\-a\-holidy\-or\-vacation;
+舉重 > \(the\-sport\-of\)\-weightlifting;
+嚴詞 > \(criticize\,\-etc\.\)\-forcefully;
+境內 > within\-\(a\-country''s\)\-borders;
+華人 > ethnic\-chinese\-person\|people;
+橋本 > \(japanese\-surname\)\-hashimoto;
+地皮 > lot\,\-section\-of\-land\,\-ground;
+轉機 > \(take\-a\)\-turn\-for\-the\-better;
+常委 > member\-of\-standing\-committee;
+起飛 > to\-take\-off\-\(in\-an\-airplane\);
+開幕 > to\-open\-\(a\-conference\,\-e\.g\.\);
+打針 > to\-give\-or\-have\-an\-injection;
+璧謝 > decline\-\(a\-gift\)\-with\-thanks;
+對華 > \(policy\,\-etc\.\)\-towards\-china;
+儀器 > \(scientific\,\-etc\)\-instrument;
+究辦 > to\-investigate\-and\-deal\-with;
+定罪 > convict\-\(someone\-of\-a\-crime\);
+本題 > the\-subject\-under\-discussion;
+背簍 > a\-basket\-carried\-on\-the\-back;
+有關 > to\-have\-something\-to\-do\-with;
+來源 > source\-\(of\-information\,\-etc\);
+獲釋 > obtain\-release\-\(from\-prison\);
+對日 > \(policy\,\-etc\.\)\-towards\-japan;
+憋氣 > feel\-suffocated\-or\-oppressed;
+同胞 > fellow\-citizen\-or\-countryman;
+匾額 > a\-horizontal\-inscribed\-board;
+確診 > to\-make\-a\-definite\-diagnosis;
+它們 > they\-\(for\-inanimate\-objects\);
+現場 > scene\-\(of\-event\-or\-incident\);
+愛情 > love\-\(between\-man\-and\-woman\);
+變節 > make\-a\-political\-recantation;
+涉嫌 > to\-be\-a\-suspect\-\(in\-a\-crime\);
+失足 > to\-take\-a\-wrong\-step\-in\-life;
+犧牲 > sacrifice\-\(one''s\-life\,\-etc\.\);
+亞伯 > abe\-\(short\-form\-for\-abraham\);
+猜忌 > be\-suspicious\-and\-jealous\-of;
+黨內 > within\-the\-\(communist\)\-party;
+動蕩 > \(social\-or\-political\)\-unrest;
+王丹 > wang\-dan\-\(chinese\-dissident\);
+決定 > to\-decide\-\(to\-do\-something\);
+姊妹 > \(older\-and\-younger\)\-sisters;
+逼肖 > bear\-a\-close\-resemblance\-to;
+復審 > reexamine\-\(a\-judicial\-case\);
+入門 > introduction\-\(to\-a\-subject\);
+白露 > white\-dew\-\(15th\-solar\-term\);
+補體 > complement\-\(in\-blood\-serum\);
+評比 > to\-evaluate\-\(by\-comparison\);
+轉身 > \(of\-a\-person\)\-to\-turn\-round;
+爪哇 > java\-\(programming\-language\);
+效忠 > vow\-loyalty\-and\-devotion\-to;
+採辦 > buy\-on\-a\-considerable\-scale;
+弟妹 > sister\-in\-law\-\(wife''s\-side\);
+陷於 > caught\-in\-\(a\-bad\-situation\);
+外匯 > foreign\-\(currency\)\-exchange;
+摘由 > high\-points\-\(of\-a\-document\);
+側躺 > to\-lie\-down\-\(on\-one''s\-side\);
+搜捕 > hunt\-and\-arrest\-\(fugitives\);
+揹書 > recite\-a\-lesson\-from\-memory;
+幸免 > narrowly\-and\-luckily\-escape;
+國標 > guobiao\-\(encoding\-standard\);
+便血 > having\-blood\-in\-one''s\-stool;
+病機 > interpretation\-of\-the\-cause;
+才華 > literary\-or\-artistic\-talent;
+指法 > finger\-method\-\(in\-painting\);
+寶藏 > precious\-\(mineral\)\-deposits;
+提前 > to\-shift\-to\-an\-earlier\-date;
+輩出 > come\-forth\-in\-large\-numbers;
+板鴨 > pressed\-\(dried\)\-salted\-duck;
+拔海 > elevation\-\(above\-sea\-level\);
+倫敦 > london\-\(capital\-of\-england\);
+條款 > clause\-\(of\-contract\-or\-law\);
+病例 > \[medical\]\-case\-\[of\-illness\];
+器官 > organ\-\(part\-of\-body\-tissue\);
+班級 > classes\-or\-grades\-in\-school;
+憲法 > constitution\-\(of\-a\-country\);
+不諱 > without\-concealing\-anything;
+安插 > place\-in\-a\-certain\-position;
+古蹟 > places\-of\-historic\-interest;
+氣體 > gas\-\(ie\,\-gaseous\-substance\);
+孫子 > grandson\-\(son\-of\-one''s\-son\);
+奔騰 > \(of\-waves\)\-to\-surge\-forward;
+郵電 > post\-and\-telecommunications;
+問候 > give\-someone\-one''s\-respects;
+祖父 > grandfather\-\(father''s\-side\);
+決策 > \(make\-a\)\-strategic\-decision;
+祖母 > grandmother\-\(father''s\-side\);
+針灸 > acupuncture\-and\-moxibustion;
+一旦 > in\-case\-\(something\-happens\);
+壽辰 > birthday\-\(of\-an\-old\-person\);
+復甦 > recovery\-\(health\,\-economic\);
+時期 > a\-period\-in\-time\-or\-history;
+各地 > in\-all\-parts\-of\-\(a\-country\);
+碑文 > an\-inscription\-on\-a\-tablet;
+台北 > taipei\-\(capital\-of\-taiwan\);
+河內 > hanoi\-\(capital\-of\-vietnam\);
+量力 > to\-estimate\-one''s\-strength;
+斡旋 > mediate\-\(a\-conflict\,\-etc\.\);
+牌匾 > board\-\(attached\-to\-a\-wall\);
+動手 > to\-hit\-with\-hands\-or\-fists;
+步月 > to\-stroll\-beneath\-the\-moon;
+誓師 > to\-vow\-before\-one''s\-troops;
+部委 > ministries\-and\-commissions;
+難怪 > \(it''s\)\-no\-wonder\-\(that\.\.\.\);
+凍結 > \(loan\,\-wage\,\-price\)\-freeze;
+施加 > exert\-\(effort\-or\-pressure\);
+視窗 > windows\-\(operating\-system\);
+巨著 > monumental\-\(literary\)\-work;
+募化 > to\-collect\-alms\-\(buddhism\);
+部下 > troops\-under\-one''s\-command;
+全程 > \(during\-an\)\-entire\-journey;
+長篇 > lengthy\-\(report\-or\-speech\);
+西湖 > the\-west\-lake\,\-in\-hangzhou;
+撥弄 > move\-to\-and\-fro\-\(with\-hand;
+表記 > something\-given\-as\-a\-token;
+表裡 > the\-outside\-and\-the\-inside;
+逼債 > press\-for\-payment\-of\-debts;
+筆鋒 > the\-tip\-of\-a\-writing\-brush;
+報刊 > newspapers\-and\-periodicals;
+演講 > \(give\)\-a\-speech\-or\-lecture;
+國父 > father\|founder\-of\-a\-nation;
+依靠 > rely\-on\-\(for\-support\,\-etc\);
+所長 > head\-of\-an\-institute\,\-etc\.;
+若干 > a\-certain\-number\|amount\-of;
+競選 > run\-for\-\(electoral\)\-office;
+搶先 > to\-rush\-\(to\-do\-sth\-urgent\);
+停留 > stay\-somewhere\-temporarily;
+病株 > diseased\-or\-infected\-plant;
+俗稱 > be\-commonly\-referred\-to\-as;
+行將 > be\-about\-to\-\(do\-something\);
+足球 > football\-\(british\-english\);
+背脊 > the\-back\-of\-the\-human\-body;
+抗擊 > resist\-\(a\-military\-attack\);
+尋機 > to\-look\-for\-an\-opportunity;
+實況 > what\-is\-actually\-happening;
+丁雲 > ding\-yun\-\(a\-personal\-name\);
+案板 > kneading\-or\-chopping\-board;
+保守 > \(politically\)\-conservative;
+不送 > don''t\-bother\-to\-see\-me\-out;
+神道 > shinto\-\(japanese\-religion\);
+將就 > accept\-\(a\-bit\-reluctantly\);
+懷抱 > \(within\-someone''s\)\-embrace;
+右邊 > right\-\(as\-opposed\-to\-left\);
+社論 > editorial\-\(in\-a\-newspaper\);
+家常 > the\-daily\-life\-of\-a\-family;
+書聖 > a\-great\-calligraphy\-master;
+資本 > capital\-\(as\-in\-capitalism\);
+風琴 > organ\-\(musical\-instrument\);
+字帖 > copybook\-\(for\-calligraphy\);
+安分 > not\-go\-beyond\-one''s\-bounds;
+暗笑 > laugh\-in\-\(up\)\-one''s\-sleeve;
+美玲 > mei\-ling\-\(a\-person''s\-name\);
+碧血 > blood\-shed\-in\-a\-just\-cause;
+洪森 > hun\-sen\-\(cambodian\-leader\);
+稟告 > report\-\(to\-one''s\-superior\);
+遺體 > remains\-\(of\-a\-dead\-person\);
+避風 > take\-shelter\-from\-the\-wind;
+福建 > fujian\-\(province\-of\-china\);
+勘誤 > to\-correct\-printing\-errors;
+升級 > to\-escalate\-\(in\-intensity\);
+強調 > to\-emphasize\-\(a\-statement\);
+而且 > not\-only\-\.\.\.\-but\-also\-\.\.\.\.;
+遷都 > to\-move\-the\-capitol\-\(city\);
+不但 > not\-only\-\(\.\.\.\-but\-also\.\.\.\);
+包產 > make\-a\-production\-contract;
+北朝 > the\-northern\-dynasties\-\(a;
+包攬 > undertake\-the\-whole\-thing;
+勞教 > reeducation\-through\-labor;
+半場 > half\-of\-a\-game\-or\-contest;
+發達 > developed\-\(country\,\-etc\.\);
+瀉露 > to\-leak\-out\-\(information\);
+歲數 > age\-\(number\-of\-years\-old\);
+開設 > offer\-\(goods\-or\-services\);
+廣東 > guangdong\-province\,\-china;
+放心 > to\-set\-one''s\-mind\-at\-rest;
+魯迅 > name\-of\-an\-author\,\-lu\-xun;
+遙望 > to\-look\-into\-the\-distance;
+補足 > bring\-up\-to\-full\-strength;
+熬夜 > stay\-up\-late\-or\-all\-night;
+體驗 > to\-experience\-for\-oneself;
+撕毀 > tear\-up\-\(a\-contract\,\-etc\);
+傾銷 > to\-dump\-\(goods\,\-products\);
+看法 > way\-of\-looking\-at\-a\-thing;
+關注 > follow\-\(an\-issue\)\-closely;
+剝啄 > tap\-\(on\-a\-door\-or\-window\);
+辨析 > differentiate\-and\-analyse;
+國產 > made\-in\-one''s\-own\-country;
+白族 > the\-bai\-\(pai\)\-nationality;
+病癒 > recover\-\(from\-an\-illness\);
+寬限 > extend\-\(a\-deadline\,\-etc\.\);
+表態 > make\-known\-one''s\-position;
+宣誓 > swear\-an\-oath\-\(of\-office\);
+拜望 > call\-to\-pay\-one''s\-respect;
+篇幅 > \(take\-up\-or\-devote\)\-space;
+首相 > \(japanese\)\-prime\-minister;
+把式 > person\-skilled\-in\-a\-trade;
+淘籮 > basket\-\(for\-washing\-rice\);
+甥女 > niece\-\(sister''s\-daughter\);
+漢人 > han\-chinese\-person\|people;
+伺機 > to\-watch\-for\-one''s\-chance;
+頸部 > the\-neck\-area\-of\-the\-body;
+背影 > a\-view\-of\-somebody''s\-back;
+狡賴 > to\-deny\-\(through\-sophism\);
+變賣 > sell\-off\-\(one''s\-property\);
+決賽 > finals\-\(of\-a\-competition\);
+板書 > writing\-on\-the\-blackboard;
+珀斯 > perth\-\(city\-in\-australia\);
+愛憐 > show\-tender\-affection\-for;
+暴漲 > rise\-suddenly\-and\-sharply;
+錄共 > to\-take\-down\-a\-confession;
+本家 > a\-member\-of\-the\-same\-clan;
+面臨 > be\-faced\-with\-\(a\-problem\);
+池湯 > large\-pool\-in\-a\-bathhouse;
+獎勵 > reward\-\(as\-encouragement\);
+順差 > \(trade\-or\-budget\)\-surplus;
+初選 > \(us\)\-primaries\-\(election\);
+報銷 > submit\-an\-expense\-account;
+叔叔 > father''s\-younger\-brother;
+城關 > area\-outside\-a\-city\-gate;
+運算 > \(mathematical\)\-operation;
+州長 > governor\-\(of\-a\-us\-state\);
+部屬 > affiliated\-to\-a\-ministry;
+引擎 > engine\-\(transliteration\);
+登記 > to\-register\-\(one''s\-name\);
+機組 > flight\-crew\-\(on\-a\-plane\);
+遼寧 > liaoning\-province\,\-china;
+照常 > \(business\,\-etc\)\-as\-usual;
+撫摸 > gently\-caress\-and\-stroke;
+切斷 > cut\-off\-\(a\-supply\,\-etc\.\);
+建制 > organizational\-structure;
+退役 > retire\-from\-the\-military;
+違反 > to\-violate\-\(a\-law\,\-e\.g\.\);
+幫廚 > help\-in\-the\-mess\-kitchen;
+補稅 > pay\-a\-tax\-one\-has\-evaded;
+襲擊 > \(make\-a\)\-surprise\-attack;
+白淨 > \(of\-skin\)\-fair\-and\-clear;
+巡查 > to\-go\-around\-and\-inspect;
+兵書 > a\-book\-on\-the\-art\-of\-war;
+產銷 > production\-and\-marketing;
+闌尾 > appendix\-\(in\-human\-body\);
+幅員 > a\-country''s\-surface\-area;
+撥付 > appropriate\-sum\-of\-money;
+國營 > state\-run\-\(company\,\-etc\);
+損失 > a\-\(financial\,\-etc\.\)\-loss;
+辦公 > handle\-official\-business;
+余震 > \(earthquake\)\-aftershocks;
+畚箕 > a\-bamboo\-or\-wicker\-scoop;
+突顯 > make\-something\-stand\-out;
+握力 > \(strength\-of\-one''s\)\-grip;
+馬裡 > mali\-\(name\-of\-a\-country\);
+病態 > morbid\-or\-abnormal\-state;
+控制 > to\-\(have\)\-control\-\(over\);
+佳能 > canon\-\(japanese\-company\);
+病家 > a\-patient\-and\-his\-family;
+疑惑 > \(a\-sense\-of\)\-uncertainty;
+打牌 > to\-play\-mahjong\-or\-cards;
+做客 > to\-be\-a\-guest\-or\-visitor;
+行使 > exercise\-\(a\-right\,\-etc\.\);
+筆挺 > \(standing\)\-very\-straight;
+安神 > calm\-\(soothe\)\-the\-nerves;
+聳肩 > to\-shrug\-one''s\-shoulders;
+深空 > deep\-space\-\(outer\-space\);
+唐納 > tanner\-\(english\-surname\);
+呈請 > to\-submit\-\(to\-superiors\);
+上訴 > appeal\-\(a\-judicial\-case\);
+懷念 > to\-cherish\-the\-memory\-of;
+特點 > characteristic\-\(feature\);
+字母 > letter\-\(of\-the\-alphabet\);
+同謀 > to\-conspire\-with\-someone;
+桃園 > taoyuan\-\(city\-in\-taiwan\);
+江面 > the\-surface\-of\-the\-river;
+碑額 > the\-top\-part\-of\-a\-tablet;
+伴奏 > to\-accompany\-\(musically\);
+右翼 > \(politically\)\-right\-wing;
+浙江 > zhejiang\-province\,\-china;
+識見 > knowledge\-and\-experience;
+買帳 > to\-show\-respect\-\(for\-sb\);
+暗箭 > attack\-by\-a\-hidden\-enemy;
+深圳 > shenzhen\-\(city\-in\-china\);
+程度 > degree\-\(level\-or\-extent\);
+大關 > \(reach\-a\)\-critical\-point;
+頭版 > \(newspaper''s\)\-front\-page;
+春聯 > spring\-festivel\-couplets;
+以來 > since\-\(a\-previous\-event\);
+蓮花 > lotus\-\(computer\-company\);
+不日 > within\-the\-next\-few\-days;
+諒解 > \(reach\)\-an\-understanding;
+蓋章 > to\-affix\-a\-seal\-\(to\-sth\);
+觸電 > to\-get\-an\-electric\-shock;
+主動 > \(to\-take\-the\)\-initiative;
+訴說 > tell\-\(to\-another\-person\);
+總統 > president\-\(of\-a\-country\);
+報頭 > masthead\-\(of\-a\-newspaper;
+南沙 > nansha\-\(spratly\)\-islands;
+通道 > \(communications\)\-channel;
+政績 > \(political\)\-achievements;
+忌恨 > hate\-\(due\-to\-envy\,\-etc\);
+雹災 > disaster\-caused\-by\-hail;
+出訪 > visit\-a\-foreign\-country;
+斑斑 > full\-of\-stains\-or\-spots;
+西裝 > \(western\-style\)\-clothes;
+加油 > to\-make\-an\-extra\-effort;
+募捐 > to\-solict\-contributions;
+皴裂 > chap\-\(lips\,\-skin\,\-etc\.\);
+見聞 > what\-one\-sees\-and\-hears;
+南京 > nanjing\-\(city\-in\-china\);
+規約 > terms\-\(of\-an\-agreement\);
+歸心 > converted\-to\-\(religion\);
+逼死 > hound\-somebody\-to\-death;
+統治 > \(political\)\-rule\-\(over\);
+補課 > make\-up\-a\-missed\-lesson;
+這樣 > this\-\(kind\-of\,\-sort\-of\);
+達成 > to\-reach\-\(an\-agreement\);
+百般 > in\-hundred\-and\-one\-ways;
+授計 > to\-confide\-a\-plan\-to\-sb;
+報曉 > herald\-the\-break\-of\-day;
+利市 > \"lai\-see\"\-\(lucky\-money\);
+側重 > place\-extra\-emphasis\-on;
+報恩 > pay\-a\-debt\-of\-gratitude;
+幫子 > outer\-\(of\-cabbage\,\-etc\);
+自豪 > \(feel\-a\-sense\-of\)\-pride;
+防務 > \(pertaining\-to\)\-defense;
+業績 > outstanding\-achievement;
+留言 > to\-leave\-one''s\-comments;
+年來 > over\-the\-last\-\.\.\.\-years;
+開拍 > begin\-shooting\-\(a\-film\);
+分之 > \(indicating\-a\-fraction\);
+答謝 > to\-express\-one''s\-thanks;
+筆談 > conversation\-by\-writing;
+瑪麗 > mali\-\(a\-person''s''\-name\);
+症狀 > symptom\-\(of\-an\-illness\);
+佔領 > to\-occupy\-\(a\-territory\);
+備料 > get\-the\-materials\-ready;
+坦克 > tank\-\(military\-vehicle\);
+四川 > sichuan\-province\,\-china;
+販運 > to\-transport\-\(for\-sale\);
+今譯 > modern\-language\-version;
+投放 > to\-put\-in\-\(circulation\);
+病倒 > be\-down\-with\-an\-illness;
+拷問 > to\-question\-via\-torture;
+患難 > trials\-and\-tribulations;
+鍛煉 > to\-do\-physical\-training;
+蛙泳 > \(swimming\)\-breaststroke;
+怎麼 > \(interrogative\-pronoun\);
+駐守 > \(man\-a\-post\-and\)\-defend;
+溫和 > moderate\-\(policy\,\-etc\.\);
+否認 > to\-declare\-to\-be\-untrue;
+江西 > jiangxi\-province\,\-china;
+愛撫 > to\-show\-tender\-care\-for;
+參與 > to\-participate\-\(in\-sth\);
+港人 > hong\-kong\-person\|people;
+黃河 > yellow\-river\-\(huang\-he\);
+江蘇 > jiangsu\-province\,\-china;
+任命 > to\-appoint\-and\-nominate;
+餅子 > maize\-or\-millet\-pancake;
+期攷 > end\-of\-term\-examination;
+總額 > total\-\(amount\-or\-value\);
+謂語 > \(grammatical\)\-predicate;
+中旬 > middle\-third\-of\-a\-month;
+下旬 > last\-third\-of\-the\-month;
+貝克 > baker\-\(english\-surname\);
+亂吃 > to\-eat\-indiscriminantly;
+恩怨 > \(feeling\-of\)\-resentment;
+不外 > not\-beyond\-the\-scope\-of;
+服刑 > serve\-a\-prison\-sentence;
+莫非 > can\-it\-be\-possible\-that;
+廣西 > guangxi\-province\,\-china;
+奔瀉 > \(of\-torrents\)\-rush\-down;
+遺留 > \(leave\-or\-be\-a\)\-legacy;
+常規 > conventional\-\(weapons\);
+證券 > \(financial\)\-securities;
+往常 > habitually\-in\-the\-past;
+妖冶 > pretty\-and\-flirtatious;
+革命 > \(political\)\-revolution;
+論壇 > forum\-\(for\-discussion\);
+壟斷 > enjoy\-market\-dominance;
+牡丹 > peony\-\(type\-of\-flower\);
+報稅 > declare\-dutiable\-goods;
+公認 > publicly\-known\-\(to\-be\);
+發表 > to\-issue\-\(a\-statement\);
+電器 > \(electrical\)\-appliance;
+殷勤 > politely\,\-solicitously;
+到期 > become\-due\-\(eg\,\-loans\);
+病院 > a\-specialized\-hospital;
+病象 > symptom\-\(of\-a\-disease\);
+欺凌 > to\-bully\-and\-humiliate;
+遍及 > to\-extend\-\(everywhere\);
+簽署 > to\-sign\-\(an\-agreement\);
+報導 > to\-cover\-\(report\)\-news;
+布朗 > english\-surname\,\-brown;
+標準 > \(an\-official\)\-standard;
+退休 > retirement\-\(from\-work\);
+趨附 > to\-ingratiation\-onself;
+筆跡 > a\-person''s\-handwriting;
+盡力 > do\-one''s\-best\-\(effort\);
+筆記 > take\-down\-\(in\-writing\);
+褥子 > cotton\-padded\-mattress;
+病狀 > symptom\-\(of\-a\-disease\);
+儘快 > as\-quickly\-as\-possible;
+激昂 > aroused\-to\-indignation;
+童話 > children''s\-fairy\-tales;
+提交 > submit\-\(a\-report\,\-etc\);
+供職 > hold\-an\-office\-or\-post;
+來自 > to\-come\-from\-\(a\-place\);
+病征 > symptom\-\(of\-a\-disease\);
+定語 > attributive\-\(modifier\);
+漂流 > carried\-by\-the\-current;
+棄權 > to\-abstain\-from\-voting;
+捏合 > to\-act\-as\-a\-go\-between;
+甲板 > deck\-\(of\-a\-boat\,\-etc\.\);
+捏估 > to\-act\-as\-a\-go\-between;
+梅派 > the\-mei\-lanfang\-school;
+涉過 > ford\-\(a\-stream\,\-river\);
+體內 > internal\-\(to\-the\-body\);
+任職 > hold\-an\-office\-or\-post;
+脊椎 > back\-\(of\-a\-vertibrate\);
+伯父 > father''s\-elder\-brother;
+保安 > ensure\-public\-security;
+上身 > upper\-part\-of\-the\-body;
+字段 > \(numeric\,\-datda\)\-field;
+並舉 > develop\-simultaneously;
+一號 > first\-day\-of\-the\-month;
+審判 > put\-\(someone\)\-to\-trial;
+吐蕃 > ancient\-name\-for\-tibet;
+測定 > to\-survey\-and\-evaluate;
+泰羅 > \(english\-surname\)\-tylo;
+吞聲 > to\-swallow\-one''s\-cries;
+財會 > finance\-and\-accounting;
+交易 > \(business\)\-transaction;
+現役 > \(military\)\-active\-duty;
+民選 > democratically\-elected;
+伯伯 > father''s\-elder\-brother;
+海拔 > height\-above\-sea\-level;
+科技 > science\-and\-technology;
+任免 > to\-appoint\-and\-dismiss;
+亂寫 > to\-write\-without\-basis;
+妖艷 > pretty\-and\-flirtatious;
+零錢 > change\-\(said\-of\-money\);
+不服 > not\-accept\-\(something\);
+鼻兒 > a\-hole\-in\-an\-implement;
+感嘆 > to\-sigh\-\(with\-feeling\);
+化裝 > \(of\-actors\)\-to\-make\-up;
+云南 > yunnan\-province\,\-china;
+服完 > serve\-out\-\(a\-sentence\);
+黃山 > mt\.\-huang\-\(huang\-shan\);
+古波 > gubo\-\(a\-personal\-name\);
+猜拳 > a\-finger\-guessing\-game;
+助詞 > particle\-\(grammatical\);
+讓坐 > to\-give\-up\-one''s\-seat;
+油價 > oil\-\(petroleum\)\-price;
+巨額 > a\-huge\-sum\-\(of\-money\);
+奔放 > bold\-and\-unrestrained;
+得意 > \(be\)\-proud\-of\-oneself;
+奔忙 > be\-busy\-rushing\-about;
+剛直 > upright\-and\-outspoken;
+巡邏 > be\-on\-\(police\)\-patrol;
+降福 > blessings\-from\-heaven;
+炸藥 > explosive\-\(substance\);
+夢想 > to\-dream\-of\-\(in\-vain\);
+防空 > anti\-aircraft\-defense;
+先進 > advanced\-\(technology\);
+奔命 > rush\-about\-on\-errands;
+解決 > to\-settle\-\(a\-dispute\);
+防治 > \(prevention\-and\)\-cure;
+分機 > \(telephone\)\-extension;
+眾望 > people''s\-expectations;
+白糖 > \(refined\)\-white\-sugar;
+擁戴 > to\-support\-\(a\-person\);
+表達 > to\-voice\-\(an\-opinion\);
+報時 > give\-the\-correct\-time;
+隨和 > amiable\-\(disposition\);
+函授 > correspondence\-course;
+迷戀 > to\-be\-infatuated\-with;
+拗陷 > geological\-depression;
+免疫 > immunity\-\(to\-disease\);
+公然 > \(do\-something\)\-openly;
+堅持 > to\-continue\-upholding;
+出差 > be\-on\-a\-business\-trip;
+漸進 > progress\-step\-by\-step;
+限制 > \(impose\)\-restrictions;
+年初 > beginning\-of\-the\-year;
+筆錄 > put\-down\-\(in\-writing\);
+按脈 > feel\-\(take\)\-the\-pulse;
+招聘 > take\-job\-applications;
+光州 > kwangju\-\(south\-korea\);
+工商 > industry\-and\-commerce;
+澳洲 > australia\-\(continent\);
+皮兒 > \(dough\,\-etc\.\)wrappers;
+甘肅 > gansu\-province\,\-china;
+安閒 > peaceful\-and\-carefree;
+艱巨 > very\-difficult\-\(task\);
+蠻橫 > rude\-and\-unreasonable;
+簽字 > to\-sign\-\(a\-signature\);
+安適 > quiet\-and\-comfortable;
+測良 > to\-survey\-and\-measure;
+班車 > regular\-bus\-\(service\);
+案由 > main\-points\-of\-a\-case;
+貶謫 > banish\-from\-the\-court;
+黃魚 > yellow\-croaker\-\(fish\);
+身世 > one''s\-life\-experience;
+抱恨 > have\-a\-gnawing\-regret;
+自古 > \(since\)\-ancient\-times;
+笆斗 > round\-bottomed\-basket;
+二號 > 2\-nd\-day\-of\-the\-month;
+財經 > finance\-and\-economics;
+主語 > \(grammatical\)\-subject;
+嘖嘖 > to\-click\-one''s\-tongue;
+鼻祖 > the\-earliest\-ancestor;
+戀愛 > to\-have\-a\-love\-affair;
+暴跌 > steep\-fall\-\(in\-price\);
+讓開 > to\-get\-out\-of\-the\-way;
+就便 > at\-\(your\)\-convenience;
+可身 > to\-fit\-well\-\(clothes\);
+科研 > \(scientific\)\-research;
+可謂 > it\-could\-even\-be\-said;
+讓路 > to\-make\-way\-\(for\-sth\);
+戶主 > head\-of\-the\-household;
+頒行 > issue\-for\-enforcement;
+湖南 > hunan\-province\,\-china;
+餘數 > \(numerical\)\-remainder;
+不管 > no\-matter\-\(what\,\-how\);
+版面 > space\-of\-a\-whole\-page;
+不禁 > can''t\-help\-\(doing\-sth;
+昏迷 > to\-lose\-consciousness;
+吐絮 > the\-opening\-of\-a\-boll;
+鋪平 > spread\-out\-\(material\);
+不理 > refuse\-to\-acknowledge;
+變臉 > suddenly\-turn\-hostile;
+海斯 > hayes\-\(microcomputer\);
+東德 > \(former\)\-east\-germany;
+暗礁 > submerged\-reef\-\(rock\);
+買好 > to\-ingratiate\-oneself;
+暗疾 > unmentionable\-disease;
+聳動 > to\-create\-a\-sensation;
+板凳 > wooden\-bench\-or\-stool;
+不暇 > have\-no\-time\-\(for\-sth;
+悲憤 > grief\-and\-indignation;
+特產 > special\-local\-product;
+蕭條 > \(economic\)\-depression;
+殯葬 > funeral\-and\-interment;
+命令 > \(an\)\-order\-or\-command;
+流亡 > to\-\(force\-into\)\-exile;
+卑污 > despicable\-and\-filthy;
+暴卒 > die\-of\-sudden\-illness;
+逼視 > look\-at\-from\-close\-up;
+旺月 > busy\-\(business\)\-month;
+列車 > train\-\(railway\-term\);
+友好 > friendly\-\(relations\);
+櫃邊 > to\-lie\-on\-one''s\-side;
+制裁 > \(economic\)\-sanctions;
+社交 > \(social\)\-interaction;
+操行 > \(student''s\)\-behavior;
+姥姥 > maternal\-grandmother;
+編組 > organize\-into\-groups;
+親近 > get\-close\-to\-someone;
+結論 > \(reach\-a\)\-conclusion;
+闡述 > expound\-\(a\-position\);
+心寒 > be\-very\-disappointed;
+組裝 > assemble\-and\-install;
+誓死 > to\-pledge\-one''s\-life;
+城鄉 > city\-and\-countryside;
+協定 > \(reach\-an\)\-agreement;
+水域 > \(territorial\)\-waters;
+勻整 > neat\-and\-well\-spaced;
+內閣 > \(government\)\-cabinet;
+廠牌 > brand\-\(of\-a\-product\);
+奶奶 > paternal\-grandmother;
+編次 > order\-of\-arrangement;
+教授 > university\-professor;
+勢必 > is\-bound\-to\-\(happen\);
+墨汁 > prepared\-chinese\-ink;
+大將 > a\-general\-or\-admiral;
+氣人 > to\-get\-someone\-angry;
+包場 > book\-a\-whole\-theatre;
+六號 > 6th\-day\-of\-the\-month;
+詞彙 > \(list\-of\)\-vocabulary;
+攝影 > to\-take\-a\-photograph;
+辯白 > offer\-an\-explanation;
+採訪 > cover\-\(a\-news\-story\);
+兵站 > army\-service\-station;
+軍費 > military\-expenditure;
+據悉 > according\-to\-reports;
+前年 > the\-year\-before\-last;
+補色 > complementary\-colour;
+攻勢 > \(military\)\-offensive;
+分擔 > share\-responsibility;
+開發 > exploit\-\(a\-resource\);
+歷代 > successive\-dynasties;
+近日 > in\-the\-past\-few\-days;
+回訪 > \(pay\-a\)\-return\-visit;
+病變 > pathological\-changes;
+凌晨 > early\-in\-the\-morning;
+籠統 > \(in\)\-general\-\(terms\);
+槳狀 > certificate\-of\-merit;
+倚重 > to\-rely\-heavily\-upon;
+把酒 > raise\-one''s\-wine\-cup;
+軍用 > \(for\)\-military\-\(use\);
+保重 > take\-care\-of\-oneself;
+報仇 > to\-revenge\-\(oneself\);
+抄身 > to\-search\-\(a\-person\);
+棉襖 > cotton\-padded\-jacket;
+儘早 > as\-early\-as\-possible;
+培修 > to\-repair\-earthworks;
+尊重 > to\-value\-\(something\);
+病灶 > focus\-\(of\-infection\);
+侵襲 > to\-invade\-and\-attack;
+簡朴 > simple\-and\-unadorned;
+駁運 > transport\-by\-lighter;
+例言 > introductory\-remarks;
+備查 > for\-future\-reference;
+安逸 > easy\-and\-comfortable;
+病房 > ward\-\(of\-a\-hospital\);
+表彰 > cite\-\(in\-dispatches\);
+拜會 > pay\-an\-official\-call;
+專程 > special\-purpose\-trip;
+偽幣 > counterfeit\-currency;
+才略 > ability\-and\-sagacity;
+層次 > arrangement\-of\-ideas;
+筆法 > technique\-of\-writing;
+交通 > \(automobile\)\-traffic;
+啟程 > set\-out\-on\-a\-journey;
+畫報 > pictorial\-\(magazine\);
+侵擾 > to\-invade\-and\-harass;
+屏幕 > \(tv\-or\-movie\)\-screen;
+球網 > net\-\(for\-ball\-games\);
+漢化 > chinese\-localization;
+對峙 > mutual\-confrontation;
+美軍 > us\-army\|armed\-forces;
+位於 > be\-situated\-\(in\,\-at\);
+變頻 > frequency\-conversion;
+單字 > individual\-character;
+清早 > early\-in\-the\-morning;
+背心 > a\-sleeveless\-garment;
+戶口 > registered\-residence;
+本科 > undergraduate\-course;
+便中 > at\-one''s\-convenience;
+寶劍 > a\-double\-edged\-sword;
+醞釀 > mull\-over\-\(an\-issue\);
+暗號 > secret\-signal\-\(sign\);
+老爺 > maternal\-grandfather;
+班期 > schedule\-\(for\-flight;
+買方 > buyer\-\(in\-contracts\);
+安娜 > anna\-\(person''s\-name\);
+責成 > give\-somebody\-a\-task;
+多麼 > how\-\(wonderful\,\-etc\);
+酬謝 > to\-thank\-with\-a\-gift;
+往返 > to\-go\-back\-and\-forth;
+包金 > cover\-with\-gold\-leaf;
+暑熱 > hot\-\(summer\)\-weather;
+不曾 > never\-\(have\-done\-sth;
+總部 > general\-headquarters;
+貶值 > to\-become\-devaluated;
+遺骸 > \(dead\)\-human\-remains;
+遺骨 > \(dead\)\-human\-remains;
+酬答 > to\-thank\-with\-a\-gift;
+類推 > to\-reason\-by\-analogy;
+和好 > to\-become\-reconciled;
+本土 > one''s\-native\-country;
+亞倫 > aaron\-\(a\-man''s\-name\);
+羞恥 > \(a\-feeling\-of\)\-shame;
+哈佛 > harvard\-\(university\);
+暑期 > summer\-vacation\-time;
+呼喊 > shout\-\(slogans\,\-etc\);
+繽紛 > in\-riotous\-profusion;
+呈報 > to\-\(submit\-a\)\-report;
+半白 > fifty\-\(years\-of\-age\);
+𠁥 > the\-horns\-of\-a\-sheep;
+昂然 > upright\-and\-unafraid;
+還說 > to\-add\-\(in\-speaking\);
+更加 > more\-\(than\-sth\-else\);
+爺爺 > paternal\-grandfather;
+不勝 > cannot\-bear\-or\-stand;
+敗胃 > spoil\-one''s\-appetite;
+變心 > cease\-to\-be\-faithful;
+上個 > first\-\(of\-two\-parts\);
+奔流 > flow\-at\-great\-speed;
+日文 > japanese\-\(language\);
+撞見 > to\-meet\-by\-accident;
+差額 > balance\-\(financial\);
+半截 > half\-\(of\-a\-section\);
+剛纔 > \(just\)\-a\-moment\-ago;
+廠礦 > factories\-and\-mines;
+熱烈 > warm\-\(welcome\,\-etc\);
+辯護 > speak\-in\-defence\-of;
+大批 > large\-quantities\-of;
+綁票 > kidnap\-\(for\-ransom\);
+白銅 > copper\-nickel\-alloy;
+統稱 > collectively\-called;
+廢氣 > waste\-\(exhaust\)\-gas;
+包子 > steamed\-stuffed\-bun;
+紅葉 > red\-autumnal\-leaves;
+百貨 > general\-merchandise;
+鬢髮 > hair\-on\-the\-temples;
+儘量 > as\-much\-as\-possible;
+身高 > \(a\-person''s\)\-height;
+教學 > teacher\-and\-student;
+鄙人 > your\-humble\-servant;
+故宮 > the\-imperial\-palace;
+政局 > political\-situation;
+睿智 > wise\-and\-farsighted;
+補角 > supplementary\-angle;
+進攻 > attack\-\(militarily\);
+擺弄 > move\-back\-and\-forth;
+遍布 > be\-found\-everywhere;
+改名 > to\-change\-ones\-name;
+補考 > make\-up\-examination;
+播弄 > order\-subject\-about;
+年底 > the\-end\-of\-the\-year;
+約櫃 > ark\-of\-the\-covenant;
+幫工 > help\-with\-farm\-work;
+報廢 > report\-as\-worthless;
+抬頭 > to\-raise\-one''s\-head;
+執掌 > wield\-\(power\,\-etc\.\);
+兵權 > military\-leadership;
+逼供 > extort\-a\-confession;
+開放 > lift\-\(restrictions\);
+登月 > go\-\(up\)\-to\-the\-moon;
+幣值 > value\-of\-a\-currency;
+冰場 > skating\-or\-ice\-rink;
+目前 > at\-the\-present\-time;
+筆譯 > written\-translation;
+筆試 > written\-examination;
+關切 > be\-deeply\-concerned;
+走開 > get\-out\-of\-the\-way\!;
+覆亡 > fall\-\(of\-an\-empire\);
+裁斷 > consider\-and\-decide;
+紀元 > beginning\-of\-an\-era;
+兵團 > large\-military\-unit;
+辦事 > to\-handle\-\(affairs\);
+糾偏 > to\-correct\-an\-error;
+才識 > ability\-and\-insight;
+按理 > according\-to\-reason;
+輔幣 > fractional\-currency;
+搭伴 > travel\-with\-another;
+國旗 > flag\-\(of\-a\-country\);
+軍政 > army\-and\-government;
+病況 > state\-of\-an\-illness;
+轉向 > change\-of\-direction;
+白卷 > blank\-examine\-paper;
+八仙 > the\-eight\-immortals;
+較大 > comparatively\-large;
+筆算 > do\-a\-sum\-in\-writing;
+裁奪 > consider\-and\-decide;
+提出 > to\-raise\-\(an\-issue\);
+白人 > white\-man\-and\-woman;
+做法 > way\-of\-doing\-things;
+抽煙 > smoke\-\(a\-cigarette\);
+表情 > \(facial\)\-expression;
+補助 > \(financial\)\-subsidy;
+膠片 > \(photographic\)\-film;
+病情 > state\-of\-an\-illness;
+柔道 > \(the\-sport\-of\)\-judo;
+採制 > collect\-and\-process;
+抄獲 > to\-search\-and\-seize;
+表姐 > older\-female\-cousin;
+軟件 > \(computer\)\-software;
+招待 > to\-receive\-\(guests\);
+拜年 > pay\-a\-new\-year\-call;
+互通 > to\-intercommunicate;
+篡位 > to\-seize\-the\-throne;
+罷黜 > dismiss\-from\-office;
+屬實 > turn\-out\-to\-be\-true;
+派遣 > send\-\(on\-a\-mission\);
+並重 > lay\-equal\-stress\-on;
+才學 > talent\-and\-learning;
+耕耘 > plowing\-and\-weeding;
+慈祥 > \(a\)\-kindly\-\(person\);
+安樂 > peace\-and\-happiness;
+騙取 > to\-gain\-by\-cheating;
+涼爽 > cool\-and\-refreshing;
+黨組 > leading\-party\-group;
+例外 > \(make\-an\)\-exception;
+議題 > topic\-of\-discussion;
+資源 > \(natural\)\-resources;
+商會 > chamber\-of\-commerce;
+赤字 > \(financial\)\-deficit;
+並聯 > parallel\-connection;
+財源 > financial\-resources;
+量變 > quantitative\-change;
+耐煩 > patient\-\(adjective\);
+丙綸 > polypropylene\-fibre;
+決議 > \(pass\-a\)\-resolution;
+錯字 > incorrect\-character;
+伴唱 > vocal\-accompaniment;
+識貨 > to\-know\-what''s\-what;
+官員 > government\-official;
+稟性 > natural\-disposition;
+預習 > to\-prepare\-a\-lesson;
+流派 > school\-\(of\-thought\);
+哀憐 > feel\-compassion\-for;
+財寶 > money\-and\-valuables;
+耐心 > patient\-\(adjective\);
+日語 > japanese\-\(language\);
+事宜 > \(make\)\-arrangements;
+敗類 > scum\-of\-a\-community;
+旗袍 > chinese\-style\-dress;
+徐行 > walk\-slowly\,\-stroll;
+財力 > financial\-resources;
+藏族 > tibetan\-nationality;
+照顧 > take\-\(good\)\-care\-of;
+讓步 > \(make\-a\)\-concession;
+邊遠 > far\-from\-the\-center;
+擺闊 > parade\-one''s\-wealth;
+晴朗 > sunny\-and\-cloudless;
+悲壯 > solemn\-and\-stirring;
+罷市 > shopkeeper''s\-strike;
+不妨 > there\-is\-no\-harm\-in;
+大腸 > the\-large\-intestine;
+丹參 > salvia\-miltiorrhiza;
+零落 > withered\-and\-fallen;
+得知 > \(find\-out\-and\)\-know;
+罷官 > dismiss\-from\-office;
+變故 > an\-unforeseen\-event;
+恐怕 > \(i''m\)\-afraid\-\(that\);
+不問 > pay\-no\-attention\-to;
+廠規 > factory\-regulations;
+預定 > schedule\-in\-advance;
+不凡 > out\-of\-the\-ordinary;
+敗績 > be\-utterly\-defeated;
+暴利 > sudden\-huge\-profits;
+罪名 > a\-\(criminal\)\-charge;
+不乏 > there\-is\-no\-lack\-of;
+合同 > \(business\)\-contract;
+幫辦 > assist\-in\-managing;
+酬應 > social\-interaction;
+無論 > no\-matter\-what\|how;
+原定 > originally\-planned;
+通行 > licence\-\(computer\);
+司令 > commanding\-officer;
+糾集 > to\-gather\-together;
+送行 > to\-see\-someone\-off;
+違約 > to\-break\-a\-promise;
+危局 > perilous\-situation;
+撥號 > dial\-\(a\-telephone\);
+變修 > become\-revisionist;
+違章 > to\-break\-the\-rules;
+網管 > network\-management;
+蒙文 > mongolian\-language;
+性交 > sexual\-intercourse;
+物價 > \(commodity\)\-prices;
+後天 > day\-after\-tomorrow;
+太平 > peace\-and\-security;
+矚望 > to\-look\-forward\-to;
+協助 > provide\-assistance;
+採風 > collect\-folk\-songs;
+描金 > to\-outline\-in\-gold;
+助教 > teaching\-assistant;
+夫婦 > a\-\(married\)\-couple;
+英語 > english\-\(language\);
+運氣 > luck\-\(good\-or\-bad\);
+採錄 > collect\-and\-record;
+熊掌 > bear\-paw\-\(as\-food\);
+新兵 > new\-\(army\)\-recruit;
+斃命 > meet\-violent\-death;
+失事 > \(have\-an\)\-accident;
+電信 > telecommunications;
+捨身 > to\-give\-one''s\-life;
+芝蘭 > irises\-and\-orchids;
+改口 > to\-correct\-oneself;
+政務 > government\-affairs;
+內科 > medical\-department;
+元素 > \(chemical\)\-element;
+加入 > to\-become\-a\-member;
+選區 > electoral\-district;
+土著 > native\,\-aboriginal;
+操守 > personal\-integrity;
+傲視 > turn\-up\-one''s\-nose;
+莫如 > it\-would\-be\-better;
+結帳 > to\-settle\-accounts;
+四處 > all\-over\-the\-place;
+違例 > to\-break\-the\-rules;
+坦率 > frank\-\(discussion\);
+運作 > thread\-\(computing\);
+週刊 > weekly\-publication;
+保駕 > escort\-the\-emperor;
+共有 > to\-have\-altogether;
+報喜 > announce\-good\-news;
+跑電 > electrical\-leakage;
+撥刺 > splash\-\(of\-a\-fish\);
+拜見 > pay\-a\-formal\-visit;
+英文 > english\-\(language\);
+初中 > junior\-high\-school;
+抄道 > to\-take\-a\-shortcut;
+演說 > \(deliver\-a\)\-speech;
+要地 > strategic\-location;
+辦報 > to\-run\-a\-newspaper;
+出任 > start\-in\-a\-new\-job;
+內情 > inside\-information;
+開展 > \(begin\-to\)\-develop;
+俄語 > russian\-\(language\);
+山腳 > foot\-of\-a\-mountain;
+公司 > \(business\)\-company;
+拉票 > campaign\-for\-votes;
+手術 > surgical\-operation;
+八卦 > the\-eight\-diagrams;
+體溫 > \(body\)\-temperature;
+漂移 > drift\-\(electrical\);
+停滯 > be\-at\-a\-standstill;
+官邸 > official\-residence;
+拜渴 > pay\-a\-formal\-visit;
+軍官 > \(military\)\-officer;
+筆直 > perfectly\-straight;
+產生 > to\-come\-into\-being;
+駐華 > stationed\-in\-china;
+授受 > to\-give\-and\-accept;
+疫情 > epidemic\-situation;
+深造 > advanced\-\(studies\);
+捨命 > to\-risk\-one''s\-life;
+裁並 > cut\-down\-and\-merge;
+使節 > \(diplomatic\)\-envoy;
+至少 > \(to\-say\-the\)\-least;
+買賣 > buying\-and\-selling;
+測繪 > to\-survey\-and\-draw;
+背約 > break\-an\-agreement;
+路徑 > route\-\(networking\);
+舉例 > to\-give\-an\-example;
+俄文 > russian\-\(language\);
+才智 > ability\-and\-wisdom;
+打拳 > to\-do\-shadowboxing;
+脈欂 > beating\-\(of\-heart\);
+自主 > to\-act\-for\-oneself;
+期貨 > futures\-\(on\-goods\);
+侵截 > to\-hack\-\(computer\);
+頭髮 > hair\-\(on\-the\-head\);
+質疑 > call\-into\-question;
+首次 > for\-the\-first\-time;
+梆子 > watchman''s\-clapper;
+油餅 > deep\-fried\-pancake;
+泄露 > leak\-\(information\);
+投入 > put\-into\-operation;
+析疑 > to\-resolve\-a\-doubt;
+藏語 > tibetan\-\(language\);
+木耳 > edible\-tree\-fungus;
+喘息 > to\-gasp\-for\-breath;
+棄世 > to\-leave\-this\-word;
+愛稱 > term\-of\-endearment;
+專員 > assistant\-director;
+頓足 > stamp\-\(one''s\-feet\);
+現有 > currently\-existing;
+鼻樑 > bridge\-of\-the\-nose;
+參贊 > diplomatic\-officer;
+並立 > exist\-side\-by\-side;
+貿易 > \(commercial\)\-trade;
+酬酢 > to\-exchange\-toasts;
+浪涌 > \(electrical\)\-surge;
+佔先 > to\-take\-precedence;
+背光 > be\-in\-a\-poor\-light;
+深夜 > very\-late\-at\-night;
+露面 > appear\-\(in\-public\);
+商務 > commercial\-affairs;
+猜疑 > harbour\-suspicions;
+貴姓 > what\-is\-your\-name\?;
+猙獰 > mean\-and\-ferocious;
+液壓 > hydraulic\-pressure;
+鼻塞 > have\-a\-stuffy\-nose;
+點心 > light\-refreshments;
+期待 > to\-look\-forward\-to;
+海域 > territorial\-waters;
+比試 > have\-a\-competition;
+外資 > foreign\-investment;
+電路 > \(electric\)\-circuit;
+中將 > lieutenant\-general;
+文藝 > literature\-and\-art;
+版稅 > royalty\-\(on\-books\);
+情報 > \(spy\)\-intelligence;
+編遣 > reorganize\-\(troops;
+泰山 > taishan\-\(mountain\);
+悉尼 > sydney\-\(australia\);
+薄情 > inconstant\-in\-love;
+民用 > \(for\)\-civilian\-use;
+編譯 > translate\-and\-edit;
+福利 > \(material\)\-welfare;
+同學 > \(fellow\)\-classmate;
+並列 > stand\-side\-by\-side;
+不和 > not\-get\-along\-well;
+不厭 > not\-mind\-doing\-sth;
+反感 > \(strongly\)\-dislike;
+針對 > in\-connection\-with;
+另寄 > to\-mail\-separately;
+變幻 > change\-irregularly;
+報關 > declare\-at\-customs;
+署名 > sign\-\(a\-signature\);
+遊覽 > to\-go\-sight\-seeing;
+外界 > the\-outside\-world;
+變天 > change\-of\-weather;
+比濕 > specific\-humidity;
+德文 > german\-\(language\);
+卑怯 > mean\-and\-cowardly;
+兵馬 > troops\-and\-horses;
+碩士 > master''s\-\(degree\);
+白骨 > bones\-of\-the\-dead;
+照相 > take\-a\-photograph;
+白飯 > plain\-cooked\-rice;
+日子 > a\-\(calendar\)\-date;
+教材 > teaching\-material;
+鄰國 > bordering\-country;
+機製 > machine\-processed;
+長達 > extend\-as\-long\-as;
+化妝 > to\-put\-on\-make\-up;
+難捱 > trying\,\-difficult;
+大局 > general\-situation;
+敏感 > sensitive\-\(issue\);
+紡織 > spinning\-\(thread\);
+大多 > for\-the\-most\-part;
+徒刑 > \(prison\)\-sentence;
+支持 > to\-be\-in\-favor\-of;
+紛紛 > one\-after\-another;
+外國 > foreign\-\(country\);
+捕食 > catch\-and\-feed\-on;
+輔課 > subsidiary\-course;
+八股 > eight\-\-part\-essay;
+平民 > \(ordinary\)\-people;
+郊區 > suburban\-district;
+兩者 > both\-sides\|things;
+部份 > part\-\(of\-a\-whole\);
+白肉 > plain\-boiled\-pork;
+邊塞 > frontier\-fortress;
+石刻 > stone\-inscription;
+緊密 > inseparably\-close;
+邊卡 > border\-checkpoint;
+緩和 > to\-ease\-\(tension\);
+編印 > compile\-and\-print;
+凱旋 > return\-triumphant;
+瀉肚 > to\-have\-diarrhoea;
+白眼 > supercilious\-look;
+眼尖 > to\-have\-good\-eyes;
+報帳 > render\-an\-account;
+補發 > supply\-again\-\(sth;
+把頭 > labour\-contractor;
+屏障 > protective\-screen;
+火星 > mars\-\(the\-planet\);
+騎馬 > ride\-on\-horseback;
+抄錄 > to\-make\-a\-copy\-of;
+揭曉 > announce\-publicly;
+病程 > course\-of\-disease;
+申訴 > to\-appeal\-\(to\-sb\);
+供需 > supply\-and\-demand;
+地殼 > the\-earth''s\-crust;
+閉幕 > the\-curtain\-falls;
+盛名 > famous\-reputation;
+工委 > working\-committee;
+筆調 > \(of\-writing\)\-tone;
+展覽 > to\-put\-on\-display;
+白布 > plain\-white\-cloth;
+工地 > construction\-site;
+棕色 > brown\-\(the\-color\);
+篇目 > table\-of\-contents;
+住院 > to\-be\-in\-hospital;
+搏動 > beat\-rhythmically;
+接待 > receive\-\(a\-visit\);
+兵力 > military\-strength;
+公務 > official\-business;
+拘留 > detain\-\(prisoner\);
+挨次 > one\-after\-another;
+公佈 > publicly\-announce;
+內亂 > internal\-disorder;
+衛星 > \(space\)\-satellite;
+拍照 > to\-take\-a\-picture;
+病故 > die\-of\-an\-illness;
+衝擊 > \(be\-under\)\-attack;
+長久 > \(for\-a\)\-long\-time;
+錄音 > \(sound\)\-recording;
+保祐 > bless\-and\-protect;
+捷報 > report\-of\-success;
+團圓 > to\-have\-a\-reunion;
+授勛 > to\-award\-an\-honor;
+哀鳴 > a\-plaintive\-whine;
+懂行 > to\-know\-the\-ropes;
+軍區 > a\-military\-region;
+保爾 > \(a\-personal\-name\);
+財閥 > financial\-magnate;
+拍攝 > \(shoot\-a\)\-picture;
+考驗 > \(put\-to\-the\)\-test;
+保溫 > heat\-preservation;
+屏氣 > hold\-one''s\-breath;
+稟賦 > natural\-endowment;
+病危 > be\-critically\-ill;
+併發 > be\-complicated\-by;
+財貿 > finance\-and\-trade;
+漢字 > chinese\-character;
+安穩 > smooth\-and\-steady;
+專業 > specialized\-field;
+屏息 > hold\-one''s\-breath;
+趨時 > to\-follow\-fashion;
+仍舊 > still\-\(remaining\);
+拗口 > hard\-to\-pronounce;
+喘氣 > to\-breathe\-deeply;
+拜倒 > prostrate\-oneself;
+才思 > imaginative\-power;
+波音 > boeing\-\(aircraft\);
+作業 > school\-assignment;
+鼓舞 > heartening\-\(news\);
+案情 > details\-of\-a\-case;
+財神 > the\-god\-of\-wealth;
+展出 > to\-put\-on\-display;
+現狀 > current\-situation;
+小報 > tabloid\-newspaper;
+朝聖 > make\-a\-pilgrimage;
+保健 > health\-protection;
+淫水 > sexual\-secretions;
+尋味 > to\-think\-sth\-over;
+板煙 > plug\-\(of\-tobacco\);
+注視 > watch\-attentively;
+法語 > french\-\(language\);
+獨立 > to\-be\-independent;
+走出 > to\-move\-away\-from;
+聲援 > support\-\(a\-cause\);
+礦藏 > mineral\-resources;
+寫信 > to\-write\-a\-letter;
+三維 > three\-dimensional;
+穴居 > to\-live\-in\-a\-cave;
+狀語 > adverbial\-adjunct;
+酬金 > \(monetary\)\-reward;
+財政 > finances\-\(public\);
+安危 > safety\-and\-danger;
+名稱 > name\-\(of\-a\-thing\);
+物質 > \(physical\)\-matter;
+吃穿 > food\-and\-clothing;
+穴位 > acupuncture\-point;
+學位 > educational\-level;
+德語 > german\-\(language\);
+各界 > all\-walks\-of\-life;
+耳子 > handle\-\(on\-a\-pot\);
+思維 > \(line\-of\)\-thought;
+以免 > in\-order\-to\-avoid;
+事實 > \(the\)\-fact\-\(that\);
+本性 > natural\-instincts;
+難題 > difficult\-problem;
+變相 > in\-disguised\-form;
+財務 > financial\-affairs;
+服役 > serve\-in\-the\-army;
+醫療 > medical\-treatment;
+敬重 > to\-respect\-deeply;
+暗河 > underground\-river;
+頸椎 > cervical\-vertibra;
+網點 > node\-in\-a\-network;
+黑客 > hacker\-\(computer\);
+纖芯 > core\-\(of\-a\-fiber\);
+編隊 > form\-into\-columns;
+敗退 > retreat\-in\-defeat;
+本國 > one''s\-own\-country;
+法文 > french\-\(language\);
+語言 > \(spoken\)\-language;
+不屑 > disdain\-to\-do\-sth;
+半票 > half\-price\-ticket;
+獨唱 > \(in\-singing\)\-solo;
+私人 > private\-\(citizen\);
+獲准 > obtain\-permission;
+權鑰 > keys\-of\-authority;
+爆管 > cartridge\-igniter;
+礦床 > \(mineral\)\-deposit;
+止血 > stanch\-\(bleeding\);
+名字 > \(a\-person''s\)\-name;
+台幣 > new\-taiwan\-dollar;
+顧及 > take\-into\-account;
+下去 > go\-down\-\(descend\);
+勻稱 > well\-proportioned;
+不力 > not\-do\-one''s\-best;
+道謝 > to\-express\-thanks;
+硝煙 > smoke\-\(from\-guns\);
+藝人 > performing\-artist;
+教練 > \(athlete''s\)\-coach;
+出院 > to\-leave\-hospital;
+阿里 > ali\-\(proper\-name\);
+附近 > \(in\-the\)\-vicinity;
+牌樓 > decorated\-archway;
+父母 > father\-and\-mother;
+磨子 > mill\,\-millstones;
+后人 > later\-generation;
+識字 > to\-learn\-to\-read;
+心得 > knowledge\-gained;
+求婚 > propose\-marriage;
+編目 > make\-a\-catalogue;
+電流 > electric\-current;
+城鎮 > cities\-and\-towns;
+委員 > committee\-member;
+壁畫 > mural\-\(painting\);
+姓名 > name\-and\-surname;
+是否 > whether\-\(or\-not\);
+總機 > central\-exchange;
+過程 > course\-of\-events;
+熊猴 > assamese\-macaque;
+大會 > general\-assembly;
+基調 > \(speech\)\-keynote;
+誤會 > to\-misunderstand;
+訂票 > to\-issue\-tickets;
+壽桃 > birthday\-peaches;
+巴豆 > \(purging\)\-croton;
+壽星 > god\-of\-longevity;
+入迷 > to\-be\-fascinated;
+明代 > the\-ming\-dynasty;
+退票 > bounce\-\(a\-check\);
+繃子 > embroidery\-frame;
+得出 > obtain\-\(results\);
+免費 > free\-\(of\-charge\);
+遲暮 > past\-one''s\-prime;
+網橋 > \(network\)\-bridge;
+列為 > be\-classified\-as;
+國防 > national\-defence;
+故居 > former\-residence;
+剽悍 > swift\-and\-fierce;
+武官 > military\-attache;
+違憲 > unconstitutional;
+勞動 > \(physical\)\-labor;
+為生 > to\-make\-a\-living;
+公羊 > ram\-\(male\-sheep\);
+船隊 > fleet\-\(of\-ships\);
+廣州 > guangzhou\-\(city\);
+電力 > electrical\-power;
+補血 > enrich\-the\-blood;
+燈光 > \(stage\)\-lighting;
+透支 > \(bank\)\-overdraft;
+迴旋 > maneuvering\-room;
+白磷 > white\-phosphorus;
+報捷 > report\-a\-success;
+訪問 > pay\-a\-visit\-\(to\);
+除夕 > \(new\-year''s\)\-eve;
+辦案 > to\-handle\-a\-case;
+訂單 > \(purchase\)\-order;
+華僑 > overseas\-chinese;
+滑鼠 > mouse\-\(computer\);
+病菌 > harmful\-bacteria;
+進修 > advanced\-studies;
+長江 > changjiang\-river;
+筆頭 > ability\-to\-write;
+幾千 > several\-thousand;
+到了 > in\-\(a\-past\-time\);
+報名 > enter\-one''s\-name;
+出名 > well\-known\-\(for\);
+授獎 > to\-award\-a\-prize;
+體育 > physical\-culture;
+漢語 > chinese\-language;
+兵役 > military\-service;
+畢肖 > resemble\-closely;
+崩漏 > uterine\-bleeding;
+冗員 > excess\-personnel;
+兵士 > ordinary\-soldier;
+要人 > important\-person;
+採擇 > select\-and\-adopt;
+踩線 > step\-on\-the\-line;
+癱子 > paralyzed\-person;
+巨匠 > master\-craftsman;
+閱兵 > to\-review\-troops;
+傲氣 > air\-of\-arrogance;
+便衣 > civilian\-clothes;
+尋訪 > to\-inquire\-after;
+寶貝 > treasured\-object;
+閱世 > to\-see\-the\-world;
+簡明 > simple\-and\-clear;
+安頓 > find\-a\-place\-for;
+公公 > husband''s\-father;
+例語 > example\-sentance;
+閃亮 > brilliant\,\-shiny;
+均勢 > balance\-of\-power;
+保留 > continue\-to\-have;
+人頭 > number\-of\-people;
+接人 > to\-meet\-a\-person;
+國力 > a\-nation''s\-power;
+扮演 > play\-the\-part\-of;
+病因 > cause\-of\-disease;
+軍事 > military\-affairs;
+佔線 > busy\-\(telephone\);
+山村 > mountain\-village;
+屬於 > be\-classified\-as;
+拐彎 > to\-turn\-a\-corner;
+病原 > cause\-of\-disease;
+聚變 > \(nuclear\)\-fusion;
+表冊 > statistical\-form;
+審理 > to\-hear\-\(a\-case\);
+抄本 > handwritten\-copy;
+安置 > find\-a\-place\-for;
+舔吮 > to\-lick\-and\-suck;
+便橋 > temporary\-bridge;
+筆戰 > written\-polemics;
+便服 > everyday\-clothes;
+感謝 > \(express\)\-thanks;
+下馬 > dismount\-a\-horse;
+安眠 > sleep\-peacefully;
+層層 > layer\-upon\-layer;
+筆帽 > the\-cap\-of\-a\-pen;
+貶義 > derogatory\-sense;
+作法 > course\-of\-action;
+演員 > actor\-or\-actress;
+鑒別 > to\-differentiate;
+保密 > maintain\-secrecy;
+筆套 > the\-cap\-of\-a\-pen;
+借助 > to\-get\-help\-from;
+甘地 > \(mahatma\)\-gandhi;
+注重 > pay\-attention\-to;
+懸掛 > \(car\)\-suspension;
+不謝 > don''t\-mention\-it;
+本義 > original\-meaning;
+伴星 > companion\-\(star\);
+保全 > save\-from\-damage;
+抄件 > duplicate\-\(copy\);
+罷課 > student''s\-strike;
+重重 > layer\-upon\-layer;
+應戰 > face\-a\-challenge;
+核威 > nuclear\-strength;
+虜獲 > capture\-\(people\);
+本票 > cashier''s\-cheque;
+例句 > example\-sentance;
+安徽 > anhui\-\(province\);
+蓖麻 > castor\-oil\-plant;
+站台 > railway\-platform;
+理會 > pay\-attention\-to;
+獲益 > obtain\-a\-benefit;
+今昔 > past\-and\-present;
+板栗 > chinese\-chestnut;
+吸管 > \(drinking\)\-straw;
+人數 > number\-of\-people;
+家務 > household\-duties;
+民間 > among\-the\-people;
+婚禮 > wedding\-ceremony;
+警衛 > \(security\)\-guard;
+乾杯 > to\-drink\-a\-toast;
+猿猴 > apes\-and\-monkeys;
+並激 > shunt\-excitation;
+量綱 > dimension\-\(unit\);
+質問 > \(ask\-a\)\-question;
+蒐集 > to\-gather\-\(data\);
+暑瘟 > tropical\-disease;
+博覽 > read\-extensively;
+深入 > penetrate\-deeply;
+丹桂 > orange\-osmanthus;
+板壁 > wooden\-partition;
+某人 > a\-certain\-person;
+月曆 > monthly\-calendar;
+治病 > treat\-an\-illness;
+十誡 > ten\-commandments;
+外長 > foreign\-minister;
+配藥 > dispense\-\(drugs\);
+字串 > character\-string;
+中文 > chinese\-language;
+大選 > general\-election;
+唐代 > the\-tang\-dynasty;
+性病 > venereal\-disease;
+君權 > monarchial\-power;
+藏文 > tibetan\-language;
+讀物 > reading\-material;
+邊防 > frontier\-defence;
+向東 > towards\-the\-east;
+集錦 > best\-of\-the\-best;
+罷教 > teacher''s\-strike;
+外語 > foreign\-language;
+課表 > school\-timetable;
+誤解 > misunderstanding;
+同時 > at\-the\-same\-time;
+不忙 > there''s\-no\-hurry;
+集郵 > stamp\-collecting;
+廠長 > factory\-director;
+變法 > political\-reform;
+波折 > twists\-and\-turns;
+群島 > group\-of\-islands;
+犯法 > to\-break\-the\-law;
+不少 > not\-\(just\)\-a\-few;
+年齡 > \(a\-person''s\)\-age;
+比翼 > fly\-wing\-to\-wing;
+神奇 > magical\-mystical;
+禁品 > contraband\-goods;
+最先 > \(the\)\-very\-first;
+婆家 > husband''s\-family;
+明淨 > bright\-and\-clean;
+重慶 > chongqing\-\(city\);
+婆婆 > husband''s\-mother;
+吃完 > to\-finish\-eating;
+逼近 > press\-on\-towards;
+報館 > newspaper\-office;
+電纜 > \(electric\)\-cable;
+狀態 > state\-of\-affairs;
+中介 > agent\-\(computer\);
+不光 > not\-the\-only\-one;
+暑天 > hot\-\(summer\)\-day;
+華語 > chinese\-language;
+不僅 > not\-the\-only\-one;
+反對 > to\-fight\-against;
+不久 > not\-long\-\(after\);
+天父 > heavenly\-father;
+特徵 > characteristics;
+暑假 > summer\-vacation;
+擺脫 > break\-away\-from;
+半數 > half\-the\-number;
+冰霜 > moral\-integrity;
+勻溜 > even\-and\-smooth;
+原委 > the\-whole\-story;
+特寫 > feature\-article;
+春天 > spring\-\(season\);
+止痛 > to\-relieve\-pain;
+叛亂 > armed\-rebellion;
+文檔 > \(computer\)\-file;
+緬甸 > myanmar\-\(burma\);
+失望 > be\-disappointed;
+網站 > network\-station;
+開門 > open\-\(the\)\-door;
+經管 > be\-in\-charge\-of;
+半天 > half\-of\-the\-day;
+語族 > language\-branch;
+往年 > in\-former\-years;
+日報 > daily\-newspaper;
+光電 > opto\-electrical;
+語支 > language\-branch;
+白鐵 > galvanized\-iron;
+雅歌 > song\-of\-solomon;
+彼岸 > the\-other\-shore;
+配合 > coordinate\-with;
+報系 > newspaper\-chain;
+標量 > scalar\-quantity;
+南北 > north\-and\-south;
+比容 > specific\-volume;
+盈虧 > profit\-and\-loss;
+勸導 > try\-to\-convince;
+陣營 > group\-of\-people;
+幾百 > several\-hundred;
+大寫 > capital\-letters;
+過活 > live\-one''s\-life;
+牌位 > memorial\-tablet;
+早些 > \(a\-bit\)\-earlier;
+課外 > extracurricular;
+收拾 > to\-put\-in\-order;
+網段 > network\-segment;
+弟弟 > younger\-brother;
+遲早 > sooner\-or\-later;
+矮小 > short\-and\-small;
+比價 > price\-relations;
+新任 > newly\-appointed;
+霸佔 > forcibly\-occupy;
+病魔 > serious\-illness;
+常用 > in\-common\-usage;
+冰磚 > ice\-cream\-brick;
+白菜 > chinese\-cabbage;
+強加 > impose\-by\-force;
+外事 > foreign\-affairs;
+邊地 > border\-district;
+舌面 > blade\-of\-tongue;
+著作 > a\-literary\-work;
+白米 > \(polished\)\-rice;
+瀕臨 > on\-the\-verge\-of;
+損益 > profit\-and\-loss;
+選單 > \(software\)\-menu;
+執法 > law\-enforcement;
+進展 > to\-make\-headway;
+為此 > for\-this\-reason;
+廠史 > factory\-history;
+光磁 > magneto\-optical;
+隘口 > \(mountain\)\-pass;
+網址 > \(internet\)\-site;
+畫面 > \(picture\)\-frame;
+菜地 > vegetable\-field;
+畜類 > domestic\-animal;
+抱養 > adopt\-\(a\-child\);
+城樓 > city\-gate\-tower;
+採種 > seed\-collecting;
+花白 > grizzled\-\(hair\);
+屍體 > \(lifeless\)\-body;
+圖簽 > \(computer\)\-icon;
+巴望 > look\-forward\-to;
+層雲 > stratus\-\(cloud\);
+籌碼 > bargaining\-chip;
+降價 > price\-reduction;
+標樁 > \(marking\)\-stake;
+閉會 > close\-a\-meeting;
+純屬 > pure\-and\-simple;
+光榮 > honor\-and\-glory;
+辦學 > to\-run\-a\-school;
+標杆 > surveyor''s\-pole;
+幣制 > currency\-system;
+報到 > report\-for\-duty;
+年份 > particular\-year;
+基地 > \(military\)\-base;
+光明 > bright\-\(future\);
+保釋 > release\-on\-bail;
+射頻 > radio\-frequency;
+鬥爭 > struggle\-\(with\);
+裡根 > \(ronald\)\-reagan;
+抗衡 > contend\-against;
+級別 > \(military\)\-rank;
+筆誤 > a\-slip\-of\-a\-pen;
+八寶 > eight\-treasures;
+百年 > a\-hundred\-years;
+摘借 > to\-borrow\-money;
+圖標 > \(computer\)\-icon;
+長官 > senior\-official;
+入境 > enter\-a\-country;
+兒媳 > daughter\-in\-law;
+臂紗 > \(black\)\-armband;
+軍校 > military\-school;
+把舵 > hold\-the\-rudder;
+被捕 > be\-under\-arrest;
+首長 > senior\-official;
+百十 > a\-hundred\-or\-so;
+坐好 > to\-sit\-properly;
+畜生 > domestic\-animal;
+錦雞 > golden\-pheasant;
+自殺 > to\-kill\-oneself;
+高昂 > in\-high\-spirits;
+穿過 > to\-pass\-through;
+備戰 > prepare\-for\-war;
+安身 > make\-one''s\-home;
+游說 > drum\-up\-support;
+至於 > go\-so\-far\-as\-to;
+生物 > living\-creature;
+戶籍 > census\-register;
+校舍 > school\-building;
+善良 > good\-and\-honest;
+軍備 > \(military\)\-arms;
+首腦 > head\-\(of\-state\);
+安葬 > bury\-\(the\-dead\);
+極力 > do\-at\-all\-costs;
+跑步 > to\-walk\-quickly;
+貶詞 > derogatory\-term;
+互連 > interconnection;
+悲鳴 > utter\-sad\-calls;
+滿意 > to\-be\-satisfied;
+海運 > shipping\-by\-sea;
+留學 > to\-study\-abroad;
+便條 > \(informal\)\-note;
+甚或 > so\-much\-so\-that;
+山峰 > \(mountain\)\-peak;
+溫柔 > gentle\-and\-soft;
+高中 > high\-and\-middle;
+胃病 > stomach\-trouble;
+同齡 > of\-the\-same\-age;
+吸音 > sound\-absorbing;
+麻醉 > to\-anaesthetize;
+投奔 > to\-seek\-shelter;
+例會 > regular\-meeting;
+餅肥 > cake\-fertilizer;
+暴雨 > torrential\-rain;
+便宴 > informal\-dinner;
+上述 > above\-mentioned;
+實彈 > live\-ammunition;
+產值 > value\-of\-output;
+祝賀 > to\-congratulate;
+以為 > consider\-\(that\);
+核彈 > nuclear\-warhead;
+上課 > to\-attend\-class;
+符合 > in\-keeping\-with;
+技倆 > tricky\-maneuver;
+泰語 > thai\-\(language\);
+寵壞 > spoil\-\(a\-child\);
+交界 > common\-boundary;
+三萬 > thirty\-thousand;
+貨源 > supply\-of\-goods;
+窗帘 > window\-curtains;
+期票 > promissory\-note;
+口語 > spoken\-language;
+私營 > privately\-owned;
+寒假 > winter\-vacation;
+哀歌 > a\-mournful\-song;
+牽連 > \(be\)\-implicated;
+性行 > sexual\-activity;
+學士 > bachelor\-degree;
+負擔 > \(bear\-a\)\-burden;
+一秘 > first\-secretary;
+藥瓶 > medicine\-bottle;
+慚愧 > \(to\-be\)\-ashamed;
+人才 > talented\-person;
+不甘 > unreconciled\-to;
+班子 > organized\-group;
+每隔 > at\-intervals\-of;
+愛戴 > love\-and\-esteem;
+愛戀 > be\-in\-love\-with;
+杭州 > hangzhou\-\(city\);
+問世 > to\-be\-published;
+悲泣 > weep\-with\-grief;
+法理 > legal\-principle;
+秩序 > order\-\(orderly\);
+政黨 > political\-party;
+名片 > \(business\)\-card;
+旅費 > travel\-expenses;
+財團 > financial\-group;
+沙石 > sand\-and\-stones;
+禁果 > forbidden\-fruit;
+郵遞 > to\-send\-by\-mail;
+析出 > to\-seperate\-out;
+奔襲 > long\-range\-raid;
+板刷 > scrubbing\-brush;
+服從 > obey\-\(an\-order\);
+施行 > to\-put\-in\-place;
+罰款 > \(impose\-a\)\-fine;
+雌雄 > male\-and\-female;
+邊音 > lateral\-\(sound\);
+母語 > native\-language;
+母親 > mother\-\(formal\);
+泰文 > thai\-\(language\);
+磁盤 > \(computer\)\-disk;
+媳婦 > daughter\-in\-law;
+礦業 > mining\-industry;
+流失 > be\-drained\-away;
+引起 > to\-give\-rise\-to;
+𣎴 > stump\-of\-a\-tree;
+證物 > exhibit\-\(legal\);
+縫補 > darn\-\(clothing\);
+編選 > select\-and\-edit;
+上學 > to\-go\-to\-school;
+頻帶 > frequency\-range;
+庭長 > presiding\-judge;
+政見 > political\-views;
+悲嘆 > sigh\-mournfully;
+頻寬 > frequency\-range;
+半生 > half\-a\-lifetime;
+博物 > natural\-science;
+郵票 > \(postage\)\-stamp;
+恰好 > as\-it\-turns\-out;
+氣溫 > air\-temperature;
+矮胖 > short\-and\-stout;
+語系 > language\-system;
+變形 > be\-out\-of\-shape;
+南海 > south\-china\-sea;
+美元 > american\-dollar;
+世人 > \(common\)\-people;
+名單 > list\-\(of\-names\);
+電磁 > electromagnetic;
+民權 > civil\-liberties;
+據說 > it\-is\-said\-that;
+原性 > original\-nature;
+數百 > several\-hundred;
+操課 > military\-drill;
+協會 > an\-association;
+文物 > cultural\-relic;
+通訊 > communications;
+危房 > decrepit\-house;
+特工 > secret\-service;
+電燈 > electric\-light;
+北極 > the\-north\-pole;
+預付 > pay\-in\-advance;
+殺氣 > murderous\-look;
+磁場 > magnetic\-field;
+牙床 > alveolar\-ridge;
+參加 > to\-participate;
+民意 > public\-opinion;
+妹妹 > younger\-sister;
+往日 > in\-former\-days;
+勘測 > to\-investigate;
+冰釋 > \(of\-misgivings;
+大樓 > large\-building;
+怪人 > strange\-person;
+營業 > to\-do\-business;
+塑膠 > plastic\-cement;
+晚上 > in\-the\-evening;
+散步 > to\-take\-a\-walk;
+識別 > to\-distinguish;
+失控 > out\-of\-control;
+數月 > several\-months;
+往復 > to\-reciprocate;
+靶場 > shooting\-range;
+糖醋 > sweet\-and\-sour;
+帳號 > account\-number;
+爪子 > \(animal''s\)\-paw;
+別管 > no\-matter\-\(who;
+刨程 > planing\-length;
+素菜 > vegetable\-dish;
+開車 > to\-drive\-a\-car;
+煙火 > smoke\-and\-fire;
+轉運 > transportation;
+巡警 > police\-officer;
+放映 > show\-\(a\-movie\);
+製造 > to\-manufacture;
+利率 > interest\-rates;
+輿論 > public\-opinion;
+弱小 > small\-and\-weak;
+敝屣 > worn\-out\-shoes;
+矮子 > a\-short\-person;
+速決 > quick\-decision;
+關稅 > \(customs\)\-duty;
+白蘇 > common\-perilla;
+比值 > specific\-value;
+基督 > jesus\-\(christ\);
+探路 > to\-find\-a\-path;
+遙控 > remote\-control;
+遙感 > remote\-sensing;
+白色 > white\-\(colour\);
+撥款 > allocate\-funds;
+廠工 > factory\-worker;
+正好 > just\-\(in\-time\);
+探視 > pay\-a\-visit\-to;
+判明 > to\-distinguish;
+引咎 > take\-the\-blame;
+壁報 > wall\-newspaper;
+改善 > to\-make\-better;
+造成 > to\-bring\-about;
+幫會 > secret\-society;
+操心 > to\-worry\-about;
+白種 > the\-white\-race;
+補缺 > fill\-a\-vacancy;
+西歐 > western\-europe;
+逕庭 > very\-different;
+補綴 > mend\-\(clothes\);
+集中 > to\-concentrate;
+遲到 > to\-arrive\-late;
+報復 > make\-reprisals;
+真情 > real\-situation;
+巨流 > strong\-current;
+退學 > to\-quit\-school;
+廉價 > cheaply\-priced;
+病號 > sick\-personnel;
+團結 > \(hold\-a\)\-rally;
+圍繞 > revolve\-around;
+近年 > recent\-year\(s\);
+倒閉 > to\-go\-bankrupt;
+冷戰 > \(the\)\-cold\-war;
+價目 > \(marked\)\-price;
+病脈 > abnormal\-pulse;
+漸變 > gradual\-change;
+通信 > to\-communicate;
+紀念 > to\-commemorate;
+開會 > have\-a\-meeting;
+全景 > panoramic\-view;
+刀叉 > knife\-and\-fork;
+布帛 > cloth\-and\-silk;
+找錢 > to\-give\-change;
+補液 > fluid\-infusion;
+起點 > starting\-point;
+報分 > call\-the\-score;
+挺立 > to\-stand\-erect;
+八成 > eighty\-percent;
+兩手 > double\-tactics;
+採油 > oil\-extraction;
+跨越 > to\-step\-across;
+跑道 > athletic\-track;
+握拳 > to\-make\-a\-fist;
+握手 > to\-shake\-hands;
+精干 > crack\-\(troops\);
+長征 > the\-long\-march;
+病痛 > slight\-illness;
+英寸 > \(english\)\-inch;
+標尺 > surveyor''s\-rod;
+將軍 > \(army\)\-general;
+兩國 > both\-countries;
+全國 > entire\-country;
+輩子 > all\-one''s\-life;
+長城 > the\-great\-wall;
+表決 > decide\-by\-vote;
+成都 > chengdu\-\(city\);
+鬥智 > battle\-of\-wits;
+八千 > eight\-thousand;
+病歷 > medical\-record;
+伸開 > to\-stretch\-out;
+演示 > to\-demonstrate;
+畢生 > all\-one''s\-life;
+握別 > to\-shake\-hands;
+傳播 > to\-disseminate;
+入伍 > enter\-the\-army;
+首都 > capital\-\(city\);
+潔淨 > cleanse\-\(sins\);
+舌根 > back\-of\-tongue;
+傍晚 > in\-the\-evening;
+行政 > administration;
+小聲 > in\-a\-low\-voice;
+篡改 > to\-tamper\-with;
+截至 > up\-to\-\(a\-time\);
+起草 > draft\-\(a\-bill\);
+挨打 > take\-a\-beating;
+層理 > stratification;
+球鞋 > athletic\-shoes;
+鍋貼 > fried\-dumpling;
+授命 > to\-give\-orders;
+核能 > nuclear\-energy;
+浮點 > floating\-point;
+生火 > to\-make\-a\-fire;
+自從 > since\-\(a\-time\);
+寶石 > precious\-stone;
+棄櫻 > abandoned\-baby;
+產權 > property\-right;
+齒輪 > \(machine\)\-gear;
+侵犯 > to\-infringe\-on;
+血壓 > blood\-pressure;
+病員 > sick\-personnel;
+減肥 > to\-lose\-weight;
+代表 > representative;
+畫展 > art\-exhibition;
+生效 > to\-take\-effect;
+才氣 > liteary\-talent;
+期間 > period\-of\-time;
+專欄 > special\-column;
+學籍 > school\-roll\(s\);
+禁食 > fast\-\(not\-eat\);
+某種 > some\-kind\-\(of\);
+將會 > will\,\-going\-to;
+豎起 > hold\-up\-\(high\);
+寶書 > treasured\-book;
+吃驚 > to\-be\-startled;
+導彈 > guided\-missile;
+清爽 > fresh\-and\-cool;
+互聯 > interconnected;
+唱片 > \(vinyl\)\-record;
+二者 > both\-\[of\-them\];
+才子 > gifted\-scholar;
+侵害 > to\-encroach\-on;
+寶庫 > treasure\-house;
+保單 > guarantee\-slip;
+小學 > primary\-school;
+仔畜 > newborn\-animal;
+本色 > natural\-colour;
+來往 > to\-come\-and\-go;
+題跋 > short\-comments;
+不解 > not\-understand;
+懮慮 > \(feel\)\-anxiety;
+余悸 > lingering\-fear;
+成就 > accomplishment;
+容忍 > to\-put\-up\-with;
+罷論 > abandoned\-idea;
+患處 > afflicted\-part;
+架構 > infrastructure;
+穴播 > bunch\-planting;
+懷孕 > to\-be\-pregnant;
+職業 > job\-occupation;
+任期 > term\-of\-office;
+不興 > out\-of\-fashion;
+球棒 > \(baseball\)\-bat;
+資格 > qualifications;
+東海 > east\-china\-sea;
+東歐 > eastern\-europe;
+任憑 > no\-matter\-what;
+今朝 > at\-the\-present;
+作品 > works\-\(of\-art\);
+憋悶 > feel\-oppressed;
+飼槽 > feeding\-trough;
+警車 > police\-vehicle;
+寒冷 > cold\-\(climate\);
+安好 > safe\-and\-sound;
+液晶 > liquid\-crystal;
+參觀 > to\-look\-around;
+可能 > might\-\(happen\);
+首先 > first\-\(of\-all\);
+液態 > liquid\-\(state\);
+孕婦 > pregnant\-woman;
+乘法 > multiplication;
+定價 > to\-set\-a\-price;
+暗箱 > camera\-bellows;
+減刑 > reduce\-penalty;
+一生 > all\-one''s\-life;
+中歐 > central\-europe;
+犯罪 > \(commit\)\-crime;
+份兒 > degree\,\-extent;
+特色 > characteristic;
+中斷 > to\-discontinue;
+秕子 > blighted\-grain;
+現任 > at\-the\-present;
+有待 > not\-yet\-\(done\);
+題材 > subject\-matter;
+礦泉 > mineral\-spring;
+毛衣 > \(wool\)\-sweater;
+責任 > responsibility;
+半職 > part\-time\-work;
+顯得 > appear\-\(to\-be\);
+研製 > to\-manufacture;
+不忍 > cannot\-bear\-to;
+媽咪 > mummy\-\(mother\);
+波恩 > bonn\-\(germany\);
+敗訴 > lose\-a\-lawsuit;
+壽衣 > burial\-clothes;
+擺鐘 > pendulum\-clock;
+北緯 > north\-latitude;
+及格 > to\-pass\-a\-test;
+法庭 > court\-\(of\-law\);
+這類 > this\-kind\-\(of\);
+主修 > \(school\)\-major;
+變成 > to\-change\-into;
+不合 > not\-conform\-to;
+斑竹 > mottled\-bamboo;
+不及 > not\-as\-good\-as;
+分類 > classification;
+重建 > reconstruction;
+請看 > please\-see\-\.\.\.;
+類別 > classification;
+氫氣 > hydrogen\-\(gas\);
+數種 > numerous\-types;
+破產 > to\-go\-bankrupt;
+冰點 > freezing\-point;
+華裔 > ethnic\-chinese;
+不仁 > not\-benevolent;
+收聽 > to\-listen\-\(to\);
+菲菲 > very\-fragrant;
+昂揚 > high\-spirited;
+早晨 > early\-morning;
+磁帶 > magnetic\-tape;
+解調 > to\-demodulate;
+北海 > the\-north\-sea;
+薄利 > small\-profits;
+晚報 > evening\-paper;
+星座 > constellation;
+冰鞋 > skating\-boots;
+廠絲 > filature\-silk;
+矛盾 > contradictory;
+出賣 > to\-sell\-\(off\);
+到處 > in\-all\-places;
+古代 > ancient\-times;
+新月 > crescent\-moon;
+即將 > on\-the\-eve\-of;
+卑微 > petty\-and\-low;
+危害 > to\-jeopardize;
+刨花 > wood\-shavings;
+莨菪 > black\-henbane;
+調查 > investigation;
+綁腿 > leg\-wrappings;
+列舉 > \(make\-a\)\-list;
+適用 > be\-applicable;
+摘記 > to\-take\-notes;
+元首 > head\-of\-state;
+方式 > way\-\(of\-life\);
+日夜 > day\-and\-night;
+芝麻 > sesame\-\(seed\);
+牌坊 > memorial\-arch;
+前生 > pre\-existence;
+昇值 > rise\-in\-value;
+米飯 > \(cooked\)\-rice;
+轉道 > make\-a\-detour;
+長途 > long\-distance;
+日前 > the\-other\-day;
+墜毀 > \(plane\)\-crash;
+雙手 > pair\-of\-hands;
+南亞 > southern\-asia;
+刊登 > carry\-a\-story;
+誇張 > to\-exaggerate;
+難忘 > unforgettable;
+早上 > early\-morning;
+太太 > married\-woman;
+撥用 > appropriation;
+境況 > circumstances;
+民事 > civil\-matters;
+女佣 > \(female\)\-maid;
+勘察 > reconnaisance;
+籌集 > collect\-money;
+操演 > demonstration;
+幻燈 > latern\-slides;
+加快 > to\-accelerate;
+冰糖 > crystal\-sugar;
+國際 > international;
+鬥雞 > cock\-fighting;
+形勢 > circumstances;
+過時 > old\-fashioned;
+隨意 > as\-one\-wishes;
+失利 > suffer\-defeat;
+損耗 > wear\-and\-tear;
+相當 > equivalent\-to;
+逐步 > progressively;
+幾次 > several\-times;
+巨細 > big\-and\-small;
+幾樣 > several\-kinds;
+大使 > an\-ambassador;
+編審 > read\-and\-edit;
+強化 > to\-strengthen;
+避孕 > contraception;
+大事 > a\-major\-event;
+教友 > church\-member;
+速效 > quick\-results;
+利於 > be\-beneficial;
+敗北 > suffer\-defeat;
+初期 > initial\-stage;
+詢問 > inquire\-about;
+死刑 > death\-penalty;
+兵痞 > army\-riffraff;
+體重 > \(body\)\-weight;
+白砒 > white\-arsenic;
+相架 > picture\-frame;
+垂直 > perpendicular;
+境地 > circumstances;
+兵營 > military\-camp;
+市民 > city\-resident;
+隨便 > as\-one\-wishes;
+庭園 > flower\-garden;
+轟炸 > \(drop\-a\)\-bomb;
+過去 > \(in\-the\)\-past;
+艦艇 > naval\-vessels;
+冰期 > glacial\-epoch;
+關於 > pertaining\-to;
+剛剛 > just\-recently;
+廠主 > factory\-owner;
+再次 > one\-more\-time;
+權力 > \(wield\)\-power;
+連同 > together\-with;
+簿籍 > account\-books;
+橫掃 > to\-sweep\-away;
+度假 > go\-on\-holiday;
+異質 > heterogeneous;
+車站 > \(bus\)\-station;
+備至 > to\-the\-utmost;
+跑鞋 > running\-shoes;
+報單 > taxation\-form;
+鑒賞 > to\-appreciate;
+這位 > this\-\(person\);
+困窘 > embarrassment;
+降世 > come\-to\-earth;
+便飯 > a\-simple\-meal;
+輻條 > \(wheel\)\-spoke;
+打開 > to\-break\-open;
+發揮 > bring\-to\-bear;
+開心 > to\-feel\-happy;
+實驗 > to\-experiment;
+轉彎 > turn\-\(around\);
+案頭 > on\-one''s\-desk;
+辨別 > differentiate;
+抄襲 > to\-plagiarize;
+辦到 > to\-accomplish;
+先後 > in\-succession;
+畜肥 > animal\-manure;
+拉美 > latin\-america;
+核電 > nuclear\-power;
+越野 > cross\-country;
+駁雜 > heterogeneous;
+公園 > a\-public\-park;
+百姓 > common\-people;
+災區 > disaster\-area;
+構成 > to\-constitute;
+保藏 > keep\-in\-store;
+瑞香 > winter\-daphne;
+拌種 > seed\-dressing;
+籌措 > raise\-\(money\);
+棄置 > to\-throw\-away;
+賣點 > selling\-point;
+開列 > \(make\-a\)\-list;
+瘦弱 > thin\-and\-weak;
+白匪 > white\-bandits;
+肉體 > physical\-body;
+備案 > put\-on\-record;
+鬥志 > will\-to\-fight;
+扁荳 > hyacinth\-bean;
+百倍 > a\-hundredfold;
+筆筒 > pen\-container;
+寶藍 > sapphire\-blue;
+滲碳 > carburization;
+渡過 > to\-cross\-over;
+字集 > character\-set;
+空運 > air\-transport;
+表層 > surface\-layer;
+圓周 > circumference;
+病害 > plant\-disease;
+售貨 > to\-sell\-goods;
+舌尖 > tip\-of\-tongue;
+案稱 > counter\-scale;
+消防 > fire\-fighting;
+喉結 > adam''s''\-apple;
+島國 > island\-nation;
+鬧事 > cause\-trouble;
+京都 > kyoto\-\(japan\);
+四千 > four\-thousand;
+當年 > in\-those\-days;
+財迷 > money\-grubber;
+理解 > to\-comprehend;
+密碼 > \(secret\)\-code;
+築城 > fortification;
+衛兵 > \(body\)\-guard\);
+疑問 > interrogation;
+喉痧 > scarlet\-fever;
+個性 > individuality;
+啟示 > enlightenment;
+致函 > send\-a\-letter;
+意識 > consciousness;
+聯絡 > communication;
+拜別 > take\-leave\-of;
+扁擔 > carrying\-pole;
+哀號 > cry\-piteously;
+桂林 > guilin\-\(city\);
+金黃 > golden\-yellow;
+跨國 > transnational;
+演出 > \(acting\)\-play;
+吃飯 > to\-eat\-a\-meal;
+不通 > be\-obstructed;
+戒指 > \(finger\)\-ring;
+少將 > major\-general;
+杜絕 > put\-an\-end\-to;
+暗鎖 > built\-in\-lock;
+懲戒 > to\-discipline;
+下課 > class\-is\-over;
+不詳 > not\-in\-detail;
+反響 > repercussions;
+宿怨 > an\-old\-grudge;
+單子 > list\-of\-items;
+貢獻 > to\-contribute;
+叫醒 > to\-call\-awake;
+美術 > the\-fine\-arts;
+能夠 > be\-capable\-of;
+家屬 > family\-member;
+鼻淵 > nasosinusitis;
+懂得 > to\-understand;
+半點 > the\-least\-bit;
+鉛筆 > \(lead\)\-pencil;
+單向 > undirectional;
+受賄 > accept\-bribes;
+例假 > legal\-holiday;
+水面 > water\-surface;
+移殖 > to\-transplant;
+起伏 > ups\-and\-downs;
+變調 > modified\-tone;
+友誼 > companionship;
+移植 > to\-transplant;
+哀樂 > funeral\-music;
+富于 > to\-be\-full\-of;
+聲帶 > vocal\-cord\(s\);
+不知 > unknowing\(ly\);
+孫女 > granddaughter;
+涼快 > nice\-and\-cold;
+三百 > three\-hundred;
+京戲 > beijing\-opera;
+低于 > be\-lower\-than;
+南部 > southern\-part;
+清單 > list\-of\-items;
+變色 > change\-colour;
+北面 > northern\-side;
+上班 > to\-go\-to\-work;
+各種 > every\-kind\-of;
+貝彫 > shell\-carving;
+日軍 > japanese\-army;
+南越 > south\-vietnam;
+情況 > circumstances;
+愛憎 > love\-and\-hate;
+職員 > office\-worker;
+洋溢 > brimming\-with;
+協調 > to\-coordinate;
+大阪 > osaka\-\(japan\);
+考慮 > to\-think\-over;
+北部 > northern\-part;
+本意 > original\-idea;
+獨攬 > to\-monopolize;
+吸毒 > to\-take\-drugs;
+泳池 > swimming\-pond;
+一步 > \(single\)\-step;
+北越 > north\-vietnam;
+雜項 > miscellaneous;
+哥哥 > older\-brother;
+外部 > external\-part;
+聞人 > famous\-person;
+京劇 > beijing\-opera;
+和尚 > buddhist\-monk;
+蘇州 > suzhou\-\(city\);
+礦水 > mineral\-water;
+暑氣 > \(summer\)\-heat;
+哀告 > beg\-piteously;
+情形 > circumstances;
+中式 > chinese\-style;
+外貿 > foreign\-trade;
+避難 > \[take\]\-refuge;
+包袱 > cloth\-wrapper;
+感冒 > to\-catch\-cold;
+彩蚌 > painted\-shell;
+禮堂 > assembly\-hall;
+不恭 > disrespectful;
+總計 > \(grand\)\-total;
+娛樂 > entertainment;
+中學 > middle\-school;
+五一 > 5\-1\-\(may\-1st\);
+磁片 > magnetic\-disk;
+會場 > meeting\-place;
+媾和 > to\-make\-peace;
+不巧 > unfortunately;
+上市 > on\-the\-market;
+私利 > personal\-gain;
+遲鈍 > slow\-\(witted\);
+北美 > north\-america;
+經驗 > to\-experience;
+汲水 > to\-draw\-water;
+獲勝 > be\-victorious;
+觀點 > point\-of\-view;
+水牛 > water\-buffalo;
+同年 > the\-same\-year;
+變星 > variable\-star;
+毛筆 > writing\-brush;
+蘇俄 > soviet\-russia;
+步行 > to\-go\-on\-foot;
+別離 > take\-leave\-of;
+擅長 > to\-be\-good\-at;
+不啻 > not\-less\-than;
+大約 > approximately;
+牌照 > license\-plate;
+暗害 > kill\-secretly;
+勃興 > rise\-suddenly;
+前進 > to\-go\-forward;
+變態 > metamorphosis;
+性慾 > sexual\-desire;
+匯率 > exchange\-rate;
+治安 > law\-and\-order;
+欣賞 > to\-appreciate;
+雌花 > female\-flower;
+邦聯 > confederation;
+多種 > many\-kinds\-of;
+吸入 > to\-breathe\-in;
+變工 > exchange\-work;
+受害 > to\-be\-injured;
+決心 > determination;
+下令 > give\-an\-order;
+莫逆 > very\-friendly;
+比熱 > specific\-heat;
+昂昂 > high\-spirited;
+分配 > to\-distribute;
+加緊 > to\-intensify;
+睡覺 > to\-go\-to\-bed;
+早期 > early\-period;
+相關 > interrelated;
+火龍 > fiery\-dragon;
+合作 > to\-cooperate;
+智力 > intelligence;
+忌憚 > be\-afraid\-of;
+昔年 > former\-years;
+礦井 > mine\-\(shaft\);
+熟知 > acquaintance;
+支票 > \(bank\)\-check;
+姐姐 > older\-sister;
+警報 > \(fire\)\-alarm;
+後果 > consequences;
+姊姊 > older\-sister;
+收盤 > market\-close;
+城防 > city\-defence;
+頂住 > to\-withstand;
+西部 > western\-part;
+好感 > good\-opinion;
+失業 > unemployment;
+擅自 > unauthorized;
+逕自 > on\-one''s\-own;
+索賠 > compensation;
+近視 > shortsighted;
+步犁 > walking\-plow;
+相識 > acquaintance;
+開關 > power\-switch;
+去世 > to\-pass\-away;
+培訓 > to\-cultivate;
+多方 > in\-many\-ways;
+搶購 > panic\-buying;
+巡迴 > to\-go\-around;
+這種 > this\-kind\-of;
+大意 > general\-idea;
+別稱 > another\-name;
+步步 > step\-by\-step;
+協商 > consult\-with;
+矮星 > dwarf\-\(star\);
+那時 > at\-that\-time;
+大師 > great\-master;
+組織 > organization;
+通用 > common\-\(use\);
+多工 > to\-multiplex;
+糾葛 > entanglement;
+試探 > to\-sound\-out;
+夫妻 > man\-and\-wife;
+道歉 > to\-apologize;
+故意 > deliberately;
+請問 > may\-i\-ask\.\.\.;
+出發 > to\-start\-out;
+縮寫 > abbreviation;
+壁掛 > wall\-hanging;
+熟悉 > to\-know\-well;
+熟思 > deliberation;
+整天 > all\-day\-long;
+鱉甲 > turtle\-shell;
+身體 > \(human\)\-body;
+糾纏 > be\-entangled;
+複製 > to\-duplicate;
+隊旗 > team\-pennant;
+加強 > to\-reinforce;
+出獄 > leave\-prison;
+談判 > to\-negotiate;
+看病 > see\-a\-doctor;
+很不 > very\-un\-\.\.\.\.;
+毅力 > perseverance;
+落實 > to\-implement;
+支店 > branch\-store;
+白薯 > sweet\-potato;
+綵旗 > colored\-flag;
+回顧 > to\-look\-back;
+殭化 > become\-rigid;
+瀏覽 > to\-skim\-over;
+課余 > after\-school;
+車道 > traffic\-lane;
+正如 > be\-just\-like;
+紙牌 > playing\-card;
+發紅 > flush\-\(face\);
+集合 > congregation;
+速成 > crash\-course;
+光線 > optical\-line;
+努力 > great\-effort;
+引入 > to\-draw\-into;
+廠址 > factory\-site;
+隨同 > accompanying;
+熒光 > flourescence;
+廣告 > to\-advertise;
+挨近 > get\-close\-to;
+編劇 > write\-a\-play;
+壓倒 > overwhelming;
+採脂 > tree\-tapping;
+熟人 > acquaintance;
+培植 > to\-cultivate;
+速寫 > quick\-sketch;
+週圍 > surroundings;
+濾紙 > filter\-paper;
+機構 > organization;
+訪俄 > visit\-russia;
+拔錨 > weigh\-anchor;
+標燈 > beacon\-light;
+冰晶 > ice\-crystals;
+幾天 > several\-days;
+授精 > insemination;
+髒話 > bad\-language;
+凹岸 > concave\-bank;
+過來 > to\-come\-over;
+操勞 > to\-work\-hard;
+別名 > another\-name;
+光源 > light\-source;
+速凍 > quick\-freeze;
+坐牢 > imprisonment;
+補牙 > fill\-a\-tooth;
+刨刀 > planing\-tool;
+把關 > guard\-a\-pass;
+自衛 > self\-defense;
+陛下 > your\-majesty;
+八月 > eighth\-month;
+備考 > \(an\-appendix;
+年前 > \.\.\.years\-ago;
+簡稱 > abbreviation;
+別人 > other\-people;
+開支 > expenditures;
+捏積 > chiropractic;
+報價 > quoted\-price;
+迷信 > superstition;
+轉換 > to\-transform;
+搬家 > move\-\(house\);
+戶頭 > bank\-account;
+親信 > trusted\-aide;
+行程 > travel\-route;
+嚴竣 > tight\.strict;
+看作 > look\-upon\-as;
+寧願 > would\-rather;
+接枝 > \(tree\)\-graft;
+授權 > to\-authorize;
+開學 > school\-opens;
+保證 > to\-guarantee;
+批評 > to\-criticize;
+拔絲 > wire\-drawing;
+嘆詞 > interjection;
+打賭 > \(make\-a\)\-bet;
+優惠 > preferential;
+公報 > announcement;
+密集 > concentrated;
+授時 > time\-service;
+在旁 > by\-\(a\-place\);
+拼盤 > cold\-platter;
+捐款 > donate\-money;
+國有 > nationalized;
+依賴 > to\-depend\-on;
+系上 > to\-buckle\-up;
+背離 > deviate\-from;
+按照 > according\-to;
+偶然 > incidentally;
+喉鏡 > laryngoscope;
+背陰 > in\-the\-shade;
+演算 > to\-calculate;
+兩千 > two\-thousand;
+插圖 > illustration;
+審議 > deliberation;
+管理 > to\-supervise;
+梅花 > plum\-blossom;
+當然 > only\-natural;
+標價 > mark\-a\-price;
+棒硫 > roll\-sulphur;
+孝順 > filial\-piety;
+饅頭 > steamed\-roll;
+保管 > take\-care\-of;
+垂下 > to\-hang\-down;
+裁員 > to\-cut\-staff;
+清醒 > clear\-headed;
+異步 > asynchronous;
+補充 > to\-replenish;
+便秘 > constipation;
+病床 > hospital\-bed;
+枘鑿 > incompatible;
+嚮往 > to\-yearn\-for;
+自拔 > free\-oneself;
+航天 > space\-flight;
+捲入 > to\-draw\-into;
+高密 > high\-density;
+表土 > surface\-soil;
+賞識 > appreciation;
+慶賀 > congratulate;
+消除 > to\-eliminate;
+街坊 > neighborhood;
+瑞色 > lovely\-color;
+聽說 > to\-hear\-told;
+當心 > to\-take\-care;
+異性 > heterosexual;
+交鋒 > cross\-swords;
+興奮 > \(be\)\-excited;
+宇航 > space\-flight;
+禽類 > bird\-species;
+偽善 > hypocritical;
+抱愧 > feel\-ashamed;
+負責 > in\-charge\-of;
+現行 > be\-in\-effect;
+屈服 > to\-surrender;
+減緩 > to\-slow\-down;
+下齒 > bottom\-teeth;
+媒體 > \(news\)\-media;
+竟然 > unexpectedly;
+驚愕 > astonishment;
+當場 > at\-the\-scene;
+婚齡 > marrying\-age;
+抱屈 > feel\-wronged;
+食譜 > cookery\-book;
+並非 > really\-isn''t;
+突破 > breakthrough;
+侵晨 > towards\-dawn;
+漢城 > seoul\,\-korea;
+少數 > small\-number;
+當初 > at\-that\-time;
+拌和 > mix\-and\-stir;
+流通 > to\-circulate;
+咨詢 > consultative;
+扒拉 > push\-lightly;
+專政 > dictatorship;
+飼草 > forage\-grass;
+鼻腔 > nasal\-cavity;
+浴血 > blood\-soaked;
+依據 > according\-to;
+屬國 > vassal\-state;
+鋼筆 > fountain\-pen;
+偉人 > great\-person;
+安營 > pitch\-a\-camp;
+和解 > conciliatory;
+實施 > to\-implement;
+條子 > a\-short\-note;
+根本 > \(not\)\-at\-all;
+種種 > all\-kinds\-of;
+手帕 > handkerchief;
+法院 > court\-of\-law;
+根據 > according\-to;
+河馬 > hippopotamus;
+生命 > life\-\(force\);
+主角 > leading\-role;
+淫猥 > abominations;
+產卵 > lay\-\(an\-egg\);
+果皮 > \(fruit\)\-peel;
+獨裁 > dictatorship;
+不足 > insufficient;
+家政 > housekeeping;
+不貲 > immeasurable;
+晚餐 > evening\-meal;
+作愛 > to\-make\-love;
+蘇聯 > soviet\-union;
+害怕 > to\-be\-afraid;
+晚間 > evening\-time;
+五百 > five\-hundred;
+和約 > peace\-treaty;
+證驗 > real\-results;
+懊悔 > feel\-remorse;
+扣上 > to\-buckle\-up;
+俄中 > russia\-china;
+一萬 > ten\-thousand;
+變速 > speed\-change;
+安心 > feel\-at\-ease;
+人民 > \(the\)\-people;
+將來 > \(the\)\-future;
+題花 > title\-design;
+可觀 > considerable;
+人權 > human\-rights;
+趕上 > keep\-up\-with;
+股市 > stock\-market;
+移民 > to\-immigrate;
+深愛 > affectionate;
+今晨 > this\-morning;
+密友 > close\-friend;
+存心 > deliberately;
+南非 > south\-africa;
+不符 > inconsistent;
+告示 > announcement;
+丹田 > pubic\-region;
+半響 > half\-the\-day;
+主環 > primary\-ring;
+你們 > you\-\(plural\);
+一直 > continuously;
+姿色 > good\-looking;
+暗算 > plot\-against;
+稍微 > a\-little\-bit;
+亮度 > illumination;
+參考 > consultation;
+人家 > other\-people;
+壯麗 > magnificence;
+黨政 > party\-policy;
+虐待 > mistreatment;
+感恩 > thanksgiving;
+罰球 > penalty\-shot;
+費城 > philadelphia;
+油畫 > oil\-painting;
+美洲 > the\-americas;
+貧困 > impoverished;
+亞太 > asia\-pacific;
+大量 > great\-amount;
+頂用 > to\-be\-of\-use;
+費力 > great\-effort;
+暗灘 > hidden\-shoal;
+藥方 > prescription;
+主持 > preside\-over;
+銀幕 > movie\-screen;
+老家 > native\-place;
+暗潮 > undercurrent;
+買價 > buying\-price;
+多邊 > multilateral;
+現代 > modern\-times;
+他人 > other\-person;
+之後 > after\(wards\);
+慣例 > conventional;
+並排 > side\-by\-side;
+耕地 > ariable\-land;
+暗流 > undercurrent;
+浴場 > bathing\-spot;
+不料 > unexpectedly;
+蓋菜 > leaf\-mustard;
+識破 > to\-penetrate;
+不拘 > not\-stick\-to;
+鼓勵 > to\-encourage;
+鞭砲 > firecrackers;
+感動 > to\-move\-\(sb\);
+意味 > significance;
+不愧 > be\-worthy\-of;
+不意 > unexpectedly;
+靶紙 > target\-sheet;
+愈加 > all\-the\-more;
+遠離 > removed\-from;
+和善 > good\-natured;
+認證 > authenticate;
+刨齒 > gear\-shaping;
+注意 > take\-note\-of;
+𦉆 > to\-break\-off;
+風味 > local\-flavor;
+繡花 > to\-embroider;
+知識 > intellectual;
+暗探 > secret\-agent;
+暴怒 > violent\-rage;
+不容 > not\-tolerate;
+不宜 > not\-suitable;
+犯毒 > illegal\-drug;
+大致 > more\-or\-less;
+好看 > good\-looking;
+不如 > not\-equal\-to;
+得票 > vote\-getting;
+派別 > denomination;
+線軸 > thread\-spool;
+有利 > advantageous;
+訂閱 > subscription;
+恢復 > to\-reinstate;
+這項 > this\-\(thing\);
+可惜 > it\-is\-a\-pity;
+婚外 > extramarital;
+不單 > not\-the\-only;
+運送 > to\-transport;
+之一 > one\-of\-\(sth\);
+境遇 > circumstance;
+野心 > wild\-schemes;
+敗興 > disappointed;
+卻步 > to\-step\-back;
+中俄 > china\-russia;
+危殆 > grave\-danger;
+中亞 > central\-asia;
+變性 > denaturation;
+原料 > raw\-material;
+不利 > unfavourable;
+一千 > one\-thousand;
+爆發 > to\-break\-out;
+多站 > multistation;
+氧氣 > oxygen\-\(gas\);
+念日 > memorial\-day;
+各國 > each\-country;
+不便 > inconvenient;
+時態 > \(verb\)\-tense;
+羅列 > to\-spead\-out;
+一億 > 1\-00\-million;
+復活 > resurrection;
+暴動 > insurrection;
+靶機 > target\-drone;
+運行 > be\-in\-motion;
+編舞 > choreography;
+比照 > according\-to;
+壓縮 > to\-compress;
+訪華 > visit\-china;
+認知 > acknowledge;
+叫喊 > exclamation;
+連詞 > conjunction;
+弊端 > malpractice;
+非核 > non\-nuclear;
+收穫 > acquisition;
+民族 > nationality;
+暗井 > blind\-shaft;
+暗中 > in\-the\-dark;
+矚目 > to\-focus\-on;
+布鞋 > cloth\-shoes;
+埋頭 > steamed\-bun;
+判處 > to\-sentance;
+刻苦 > hardworking;
+標點 > punctuation;
+白麵 > wheat\-flour;
+冒險 > take\-a\-risk;
+白鶴 > white\-crane;
+往昔 > in\-the\-past;
+邊疆 > border\-area;
+讓位 > to\-abdicate;
+怪僻 > peculiarity;
+征收 > levy\-\(fine\);
+母板 > motherboard;
+需求 > requirement;
+大業 > great\-cause;
+旺季 > busy\-season;
+必定 > be\-bound\-to;
+半年 > half\-a\-year;
+課桌 > school\-desk;
+間隔 > compartment;
+遲疑 > to\-hesitate;
+靈感 > inspiration;
+失敗 > be\-defeated;
+說服 > to\-persuade;
+制約 > to\-restrict;
+鞏固 > consolidate;
+包括 > to\-comprise;
+妥善 > appropriate;
+辯証 > dialectical;
+瀉鹽 > epsom\-salts;
+複雜 > complicated;
+即刻 > immediately;
+勘探 > exploration;
+博取 > try\-to\-gain;
+放棄 > to\-renounce;
+冰蛋 > frozen\-eggs;
+阻礙 > to\-obstruct;
+追究 > investigate;
+郵局 > post\-office;
+雙數 > even\-number;
+蒐尋 > to\-look\-for;
+白道 > moon''s\-path;
+動態 > development;
+永久 > everlasting;
+發送 > to\-transmit;
+配備 > to\-allocate;
+謀取 > try\-to\-gain;
+比如 > for\-example;
+多山 > mountainous;
+電工 > electrician;
+紅色 > red\-\(color\);
+描述 > to\-describe;
+十億 > one\-billion;
+兵蟻 > soldier\-ant;
+毀壞 > destruction;
+削減 > to\-cut\-down;
+日中 > japan\-china;
+隨時 > at\-any\-time;
+証書 > certificate;
+長談 > a\-long\-talk;
+大型 > large\-scale;
+補選 > by\-election;
+落後 > fall\-behind;
+推遲 > to\-postpone;
+操法 > drill\-rules;
+軍隊 > army\-troops;
+樹葉 > tree\-leaves;
+剛架 > rigid\-frame;
+談到 > to\-refer\-to;
+再者 > furthermore;
+調制 > to\-modulate;
+基石 > cornerstone;
+往事 > past\-events;
+大功 > great\-merit;
+裁軍 > disarmament;
+誡命 > commandment;
+內臣 > chamberlain;
+坦蕩 > magnanimous;
+探討 > investigate;
+增強 > to\-increase;
+遵守 > comply\-with;
+限於 > restrict\-at;
+閉經 > amenorrhoea;
+認出 > recognition;
+免職 > degradation;
+工程 > engineering;
+記得 > to\-remember;
+擺布 > order\-about;
+透明 > transparent;
+力圖 > try\-hard\-to;
+追查 > investigate;
+典禮 > celebration;
+刑期 > prison\-term;
+精簡 > to\-simplify;
+花茶 > scented\-tea;
+散佈 > disseminate;
+覆滅 > destruction;
+簿記 > bookkeeping;
+觸怒 > provocation;
+攪和 > to\-mix\-\(up\);
+描繪 > to\-describe;
+週年 > anniversary;
+絕望 > desperation;
+敗仗 > lost\-battle;
+增多 > to\-increase;
+結束 > termination;
+無意 > inadvertant;
+邊區 > border\-area;
+相比 > compared\-to;
+覆沒 > annihilated;
+眉梢 > tip\-of\-brow;
+切換 > to\-cut\-over;
+兩百 > two\-hundred;
+評價 > to\-evaluate;
+崩裂 > burst\-apart;
+加以 > in\-addition;
+按鈕 > push\-button;
+農業 > agriculture;
+報應 > retribution;
+幾年 > a\-few\-years;
+盼望 > to\-hope\-for;
+隊員 > team\-member;
+行蹤 > whereabouts;
+支付 > pay\-\(money\);
+表語 > predicative;
+註冊 > to\-register;
+附屬 > subordinate;
+偽軍 > puppet\-army;
+優秀 > outstanding;
+體貼 > considerate;
+執政 > be\-in\-power;
+魚竿 > fishing\-rod;
+希望 > ro\-wish\-for;
+約會 > appointment;
+體認 > realization;
+幸好 > fortunately;
+授粉 > pollination;
+製片 > moviemaking;
+機會 > opportunity;
+關押 > put\-in\-jail;
+記住 > to\-remember;
+灌溉 > to\-irrigate;
+通告 > to\-announce;
+驕陽 > blazing\-sun;
+濃縮 > concentrate;
+國籍 > nationality;
+前任 > predecessor;
+軟碟 > floppy\-disk;
+軟盤 > floppy\-disk;
+屏門 > screen\-door;
+拜訪 > pay\-a\-visit;
+退出 > to\-withdraw;
+採煤 > coal\-mining;
+平凡 > commonplace;
+括號 > parenthesis;
+便鞋 > cloth\-shoes;
+滲透 > to\-permeate;
+偷聽 > to\-evesdrop;
+出兵 > send\-troops;
+培土 > to\-earth\-up;
+開戰 > start\-a\-war;
+分佈 > distributed;
+迷人 > fascinating;
+出來 > to\-come\-out;
+信道 > signal\-path;
+魔法 > enchantment;
+申請 > apply\-\(for\);
+跑車 > racing\-bike;
+描摹 > to\-describe;
+八年 > eight\-years;
+籌款 > fundraising;
+域名 > domain\-name;
+八字 > character\-8;
+相似 > to\-resemble;
+挪用 > to\-embezzle;
+發展 > development;
+裝扮 > dress\-up\-as;
+城區 > city\-proper;
+溝通 > communicate;
+為了 > in\-order\-to;
+白宮 > white\-house;
+冠冕 > royal\-crown;
+像樣 > presentable;
+巧合 > coincidence;
+戰車 > war\-chariot;
+白夜 > white\-night;
+花店 > flower\-shop;
+描寫 > to\-describe;
+便覽 > brief\-guide;
+舊版 > old\-version;
+因此 > that\-is\-why;
+實踐 > to\-practice;
+尋覓 > to\-look\-for;
+瑞雪 > timely\-snow;
+公元 > \(year\)\-a\.d\.;
+色情 > pornography;
+來訪 > pay\-a\-visit;
+白刃 > naked\-sword;
+發出 > to\-send\-out;
+就職 > take\-office;
+拔營 > strike\-camp;
+把穩 > trustworthy;
+容貌 > countenance;
+舒服 > comfortable;
+手續 > formalities;
+按期 > on\-schedule;
+踩水 > tread\-water;
+宣言 > declaration;
+仿造 > counterfeit;
+實習 > to\-practice;
+偷懶 > to\-goof\-off;
+鼻音 > nasal\-sound;
+查證 > investigate;
+環繞 > to\-surround;
+困境 > predicament;
+滲濾 > percolation;
+病容 > sickly\-look;
+成績 > performance;
+人間 > man''s\-world;
+端站 > end\-station;
+衍射 > diffraction;
+回報 > \(in\)\-return;
+棗樹 > jujube\-tree;
+或稱 > also\-called;
+括弧 > parenthesis;
+高壓 > high\-handed;
+仲裁 > arbitration;
+值得 > to\-be\-worth;
+異常 > exceptional;
+蚱蜢 > grasshopper;
+鑽孔 > bore\-a\-hole;
+當局 > authorities;
+高唱 > sing\-loudly;
+介詞 > preposition;
+舞劇 > dance\-drama;
+傑出 > illustrious;
+疆場 > battlefield;
+信服 > to\-convince;
+脾氣 > temperament;
+上齒 > upper\-teeth;
+慰藉 > consolation;
+板規 > plate\-gauge;
+病人 > sick\-person;
+鑒定 > to\-appraise;
+備件 > spare\-parts;
+生成 > be\-produced;
+便桶 > chamber\-pot;
+脫氧 > deoxidation;
+情願 > willingness;
+生態 > way\-of\-life;
+指出 > to\-indicate;
+扁桃 > almond\-tree;
+跋扈 > domineering;
+修復 > restoration;
+筆心 > pencil\-lead;
+信息 > information;
+不顧 > in\-spite\-of;
+立法 > legislation;
+對方 > counterpart;
+空白 > blank\-space;
+男女 > male\-female;
+當做 > to\-treat\-as;
+跛子 > lame\-person;
+五萬 > 50\-thousand;
+有趣 > interesting;
+保存 > to\-conserve;
+淘神 > troublesome;
+筆墨 > pen\-and\-ink;
+薑餅 > gingerbread;
+溫度 > temperature;
+跑壘 > baserunning;
+蜜桃 > honey\-peach;
+鑒于 > in\-light\-of;
+可驚 > astonishing;
+便宜 > inexpensive;
+不迭 > cannot\-cope;
+手寫 > handwriting;
+下載 > to\-download;
+踏上 > set\-foot\-on;
+作文 > composition;
+滲入 > to\-permeate;
+環形 > ring\-shaped;
+佈景 > \(stage\)\-set;
+戒律 > commandment;
+驚人 > astonishing;
+騷動 > disturbance;
+悲觀 > pessimistic;
+屬下 > subordinate;
+美貌 > goodlooking;
+用以 > in\-order\-to;
+麻藥 > anaesthetic;
+小型 > small\-scale;
+戰場 > battlefield;
+題詞 > inscription;
+例如 > for\-example;
+趣味 > to\-interest;
+信仰 > firm\-belief;
+股東 > stockholder;
+鎮壓 > suppression;
+板牙 > front\-tooth;
+泳褲 > swim\-trunks;
+條例 > regulations;
+同質 > homogeneous;
+環境 > environment;
+顯著 > outstanding;
+二百 > two\-hundred;
+就任 > take\-office;
+果汁 > fruit\-juice;
+耕畜 > farm\-animal;
+重返 > return\-\(to\);
+下落 > whereabouts;
+丟臉 > humiliation;
+法規 > legislation;
+我國 > our\-country;
+佈局 > arrangement;
+變通 > be\-flexible;
+鼻涕 > nasal\-mucus;
+貸款 > \(bank\)\-loan;
+準備 > preparation;
+安康 > good\-health;
+預計 > to\-forecast;
+聰明 > intelligent;
+量詞 > meaure\-word;
+立即 > immediately;
+名著 > masterpiece;
+任意 > arbitrarily;
+安家 > settle\-down;
+饒恕 > forgiveness;
+宇宙 > outer\-space;
+瑞士 > switzerland;
+喇叭 > loudspeaker;
+成份 > composition;
+駁倒 > demolish\-sb;
+浴池 > public\-bath;
+以往 > in\-the\-past;
+顯目 > outstanding;
+奔馳 > run\-quickly;
+現年 > current\-age;
+鈔票 > paper\-money;
+示範 > demonstrate;
+智能 > intelligent;
+交換 > to\-exchange;
+風波 > disturbance;
+藥物 > medicaments;
+鄙陋 > superficial;
+考查 > investigate;
+夜鶯 > nightingale;
+餐廳 > dining\-hall;
+北韓 > north\-korea;
+互換 > to\-exchange;
+威脅 > to\-threaten;
+空前 > unprecedent;
+預約 > reservation;
+碰見 > to\-run\-into;
+查出 > to\-find\-out;
+半邊 > half\-of\-sth;
+暗示 > drop\-a\-hint;
+交往 > association;
+氣質 > temperament;
+書法 > calligraphy;
+卓越 > distinction;
+股價 > stock\-price;
+九月 > ninth\-month;
+主權 > sovereignty;
+多餘 > superfluous;
+恰當 > appropriate;
+聽取 > hear\-\(news\);
+感性 > sensibility;
+商人 > businessman;
+禁止 > to\-prohibit;
+秉承 > take\-orders;
+售價 > to\-sell\-for;
+嬌媚 > flirtatious;
+頁碼 > page\-number;
+交媾 > to\-have\-sex;
+上流 > upper\-class;
+霸道 > overbearing;
+波瀾 > great\-waves;
+波濤 > great\-waves;
+不止 > incessantly;
+爭議 > controversy;
+中東 > middle\-east;
+丹方 > folk\-remedy;
+重疊 > overlapping;
+中日 > china\-japan;
+吞沒 > to\-embezzle;
+重現 > to\-reappear;
+食堂 > dining\-hall;
+曲折 > complicated;
+靶船 > target\-ship;
+千萬 > ten\-million;
+一月 > first\-month;
+犯病 > to\-fall\-ill;
+同步 > synchronous;
+哺乳 > breast\-feed;
+調變 > to\-modulate;
+主張 > to\-advocate;
+婚期 > wedding\-day;
+暗殺 > assassinate;
+毛蟲 > caterpillar;
+主席 > chairperson;
+邊陲 > border\-area;
+危篤 > deathly\-ill;
+互動 > interactive;
+妖精 > evil\-spirit;
+中年 > middle\-aged;
+貝丘 > shell\-mound;
+意向 > disposition;
+沈澱 > precipitate;
+取決 > depend\-upon;
+繁複 > complicated;
+隔離 > to\-separate;
+三年 > three\-years;
+隔開 > to\-separate;
+𡽱 > a\-high\-hill;
+下屬 > subordinate;
+上層 > upper\-layer;
+繼續 > to\-continue;
+壯觀 > spectacular;
+政變 > coup\-d''etat;
+神學 > theological;
+繁華 > flourishing;
+題字 > inscription;
+合影 > joint\-photo;
+如畫 > picturesque;
+不堪 > cannot\-bear;
+藥品 > medicaments;
+順應 > comply\-with;
+終點 > destination;
+爆竹 > firecracker;
+得病 > to\-fall\-ill;
+透露 > to\-leak\-out;
+阻隔 > to\-separate;
+特權 > prerogative;
+太空 > outer\-space;
+分離 > to\-seperate;
+禁令 > prohibition;
+不免 > unavoidable;
+誓約 > honor\-bound;
+證書 > credentials;
+沈思 > contemplate;
+解釋 > explanation;
+分開 > to\-separate;
+礁島 > reef\-island;
+通過 > by\-means\-of;
+迎風 > in\-the\-wind;
+上任 > take\-office;
+如此 > in\-this\-way;
+論爭 > controversy;
+悠久 > established;
+上下 > up\-and\-down;
+恐嚇 > to\-threaten;
+素食 > vegetables;
+縮短 > to\-curtail;
+改組 > reorganize;
+擁護 > to\-endorse;
+進行 > to\-advance;
+奔波 > rush\-about;
+後母 > stepmother;
+散發 > distribute;
+失火 > catch\-fire;
+誕生 > to\-be\-born;
+多爾 > \(bob\)\-dole;
+彼此 > each\-other;
+預先 > beforehand;
+關門 > close\-down;
+違背 > to\-violate;
+統計 > statistics;
+函購 > mail\-order;
+預備 > to\-prepare;
+壁立 > \(of\-cliffs;
+春季 > springtime;
+摘錄 > to\-extract;
+頒佈 > promulgate;
+每次 > every\-time;
+編程 > to\-program;
+分詞 > participle;
+後期 > late\-stage;
+效用 > usefulness;
+糧食 > foodstuffs;
+荒野 > wilderness;
+撒謊 > tell\-a\-lie;
+燃燒 > combustion;
+弄直 > straighten;
+遷移 > to\-migrate;
+大氣 > atmosphere;
+認為 > to\-believe;
+降落 > to\-descend;
+前者 > the\-former;
+效率 > efficiency;
+靶心 > bull''s\-eye;
+勃然 > agitatedly;
+碟子 > small\-dish;
+講師 > instructor;
+取代 > substitute;
+新教 > protestant;
+多次 > many\-times;
+奇數 > odd\-number;
+必將 > inevitably;
+陰精 > sex\-fluids;
+妖嬈 > enchanting;
+狂亂 > hysterical;
+繁榮 > prosperous;
+繼承 > to\-inherit;
+操縱 > to\-operate;
+全面 > all\-around;
+厘升 > centiliter;
+調整 > adjustment;
+妓女 > prostitute;
+荒謬 > ridiculous;
+白頭 > hoary\-head;
+決不 > not\-at\-all;
+說明 > to\-explain;
+出色 > remarkable;
+女婿 > son\-in\-law;
+特別 > especially;
+免除 > to\-prevent;
+妥協 > compromise;
+巨輪 > large\-ship;
+熄滅 > extinguish;
+照片 > photograph;
+附筆 > postscript;
+親自 > personally;
+改正 > to\-correct;
+半圓 > semicircle;
+違犯 > to\-violate;
+爭奪 > fight\-over;
+短期 > short\-term;
+每年 > every\-year;
+敵手 > antagonist;
+印像 > impression;
+精通 > proficient;
+很大 > tremendous;
+白酒 > spirit\-usu;
+明亮 > brightness;
+草莓 > strawberry;
+報章 > newspapers;
+多年 > many\-years;
+語彙 > vocabulary;
+早先 > previously;
+牌價 > list\-price;
+巫術 > witchcraft;
+過渡 > transition;
+探險 > to\-explore;
+大學 > university;
+無理 > irrational;
+半價 > half\-price;
+區別 > difference;
+文學 > literature;
+從前 > previously;
+關聯 > be\-related;
+地震 > earthquake;
+觀眾 > spectators;
+排隊 > to\-line\-up;
+分發 > distribute;
+攪擾 > to\-disturb;
+數學 > mathematic;
+熱心 > enthusiasm;
+電子 > electronic;
+白話 > vernacular;
+炸糕 > fried\-cake;
+堆積 > accumulate;
+散射 > scattering;
+蓋世 > unrivelled;
+編排 > to\-arrange;
+捕魚 > catch\-fish;
+出生 > to\-be\-born;
+允諾 > to\-promise;
+調和 > harmonious;
+後來 > afterwards;
+大喜 > exultation;
+政府 > government;
+設施 > facilities;
+方便 > convenient;
+接通 > to\-connect;
+此後 > after\-this;
+座標 > coordinate;
+經歷 > experience;
+樂觀 > optimistic;
+太古 > immemorial;
+離婚 > to\-divorce;
+燈塔 > lighthouse;
+出版 > to\-publish;
+誇大 > exaggerate;
+兵船 > man\-of\-war;
+加州 > california;
+傷風 > catch\-cold;
+放射 > to\-radiate;
+比例 > proportion;
+遷徙 > to\-migrate;
+隨後 > soon\-after;
+前景 > foreground;
+遷延 > long\-delay;
+補語 > complement;
+加密 > to\-encrypt;
+整合 > to\-conform;
+違抗 > to\-disobey;
+監督 > to\-control;
+文具 > stationery;
+每人 > per\-person;
+阻止 > to\-prevent;
+防水 > waterproof;
+防止 > to\-prevent;
+退步 > degenerate;
+適度 > moderately;
+遠征 > expedition;
+白臉 > white\-face;
+總共 > altogether;
+解析 > to\-analyze;
+試圖 > to\-attempt;
+艦載 > ship\-based;
+知名 > well\-known;
+多事 > meddlesome;
+冰球 > ice\-hockey;
+解放 > liberation;
+偽頂 > false\-roof;
+高階 > high\-level;
+捏造 > to\-make\-up;
+分析 > to\-analyze;
+擁抱 > to\-embrace;
+零下 > below\-zero;
+差異 > difference;
+放出 > to\-let\-off;
+公石 > hectoliter;
+攻克 > to\-capture;
+報數 > number\-off;
+收入 > to\-take\-in;
+詞典 > dictionary;
+設在 > located\-at;
+限度 > limitation;
+裱糊 > wall\-paper;
+檢查 > inspection;
+瀆職 > wrongdoing;
+庇廕 > \(of\-a\-tree;
+陰天 > cloudy\-day;
+終於 > eventually;
+訂婚 > engagement;
+陸基 > land\-based;
+廚司 > cook\,\-chef;
+傳說 > it\-is\-said;
+高速 > high\-speed;
+制定 > to\-draw\-up;
+速射 > rapid\-fire;
+遺傳 > hereditary;
+舉辦 > to\-conduct;
+利害 > formidable;
+攪亂 > to\-confuse;
+入獄 > go\-to\-jail;
+米粉 > rice\-flour;
+糾正 > to\-correct;
+親手 > personally;
+農村 > rural\-area;
+副刊 > supplement;
+操場 > playground;
+基於 > because\-of;
+衍變 > to\-develop;
+全然 > completely;
+團聚 > to\-reunite;
+白狐 > arctic\-fox;
+擁塞 > congestion;
+討厭 > disgusting;
+違傲 > to\-disobey;
+白熾 > white\-heat;
+白熱 > white\-heat;
+白熊 > polar\-bear;
+白煤 > anthracite;
+倚靠 > to\-lean\-on;
+幼女 > young\-girl;
+觀察 > to\-observe;
+兵法 > art\-of\-war;
+當選 > be\-elected;
+摘抄 > to\-extract;
+監控 > to\-monitor;
+堤岸 > embankment;
+結局 > conclusion;
+欠佳 > suboptimal;
+週到 > thoughtful;
+規律 > discipline;
+管轄 > administer;
+常常 > frequently;
+樹樁 > tree\-stump;
+襯托 > to\-set\-off;
+操典 > drill\-book;
+跑馬 > horse\-race;
+檢察 > to\-inspect;
+巨星 > giant\-star;
+附加 > additional;
+操作 > to\-operate;
+相對 > relatively;
+無價 > invaluable;
+屏除 > get\-rid\-of;
+搏斗 > to\-wrestle;
+拜託 > request\-sb;
+排球 > volleyball;
+紀律 > discipline;
+店主 > shop\-owner;
+瓶頸 > bottleneck;
+幫助 > assistance;
+幫凶 > accomplice;
+分別 > difference;
+公撮 > milliliter;
+結合 > to\-combine;
+籃球 > basketball;
+抱負 > aspiration;
+算術 > arithmetic;
+推測 > conjecture;
+要塞 > stronghold;
+白旗 > white\-flag;
+演變 > to\-develop;
+滿足 > to\-satisfy;
+驅逐 > banishment;
+表示 > to\-express;
+農園 > plantation;
+高級 > high\-level;
+投資 > investment;
+看到 > see\-\(that\);
+提昇 > to\-promote;
+兌換 > to\-convert;
+公引 > hectometer;
+駕馭 > to\-control;
+專門 > specialist;
+看來 > apparently;
+臉色 > complexion;
+草叢 > underbrush;
+兼容 > compatible;
+軍港 > naval\-port;
+按立 > ordination;
+生計 > livelihood;
+掌櫃 > shopkeeper;
+表現 > expression;
+兩岸 > bilaterial;
+共存 > to\-coexist;
+囚犯 > a\-prisoner;
+偉績 > great\-acts;
+相互 > each\-other;
+衍生 > derviative;
+冰刀 > ice\-skates;
+接收 > to\-receive;
+用處 > usefulness;
+技術 > technology;
+花托 > receptacle;
+宿題 > assignment;
+魚排 > fish\-steak;
+指甲 > fingernail;
+學齡 > school\-age;
+捨棄 > to\-give\-up;
+差別 > difference;
+使醉 > intoxicate;
+拘禁 > constraint;
+國會 > parliament;
+超越 > to\-surpass;
+推廣 > popularize;
+佣金 > commission;
+白喉 > diphtheria;
+授意 > to\-inspire;
+公分 > centimeter;
+筆者 > the\-author;
+保育 > child\-care;
+白區 > white\-area;
+揹債 > be\-in\-debt;
+漫畫 > caricature;
+停火 > cease\-fire;
+良心 > conscience;
+單調 > monotonous;
+表明 > make\-known;
+投稿 > contribute;
+模仿 > to\-imitate;
+發佈 > to\-release;
+條約 > treatypact;
+導航 > navigation;
+排外 > xenophobic;
+導致 > to\-lead\-to;
+展示 > to\-open\-up;
+尋舋 > to\-provoke;
+先例 > antecedent;
+滅絕 > extinguish;
+賓館 > guesthouse;
+樓下 > downstairs;
+提倡 > to\-promote;
+打結 > tie\-a\-knot;
+臆測 > assumption;
+興旺 > prosperous;
+岸標 > lighthouse;
+拔河 > tug\-of\-war;
+生產 > to\-produce;
+補償 > compensate;
+人體 > human\-body;
+推出 > to\-release;
+胞衣 > afterbirth;
+挖掘 > excavation;
+四年 > four\-years;
+餐館 > restaurant;
+指揮 > to\-conduct;
+聖靈 > holy\-ghost;
+指控 > accusation;
+手稿 > manuscript;
+抹油 > to\-annoint;
+表尺 > rear\-sight;
+畢業 > graduation;
+固執 > persistent;
+查詢 > to\-inquire;
+飯館 > restaurant;
+疑慮 > hesitation;
+喉舌 > mouthpiece;
+便當 > convenient;
+聯通 > connection;
+駐紮 > to\-station;
+簽出 > to\-log\-off;
+高層 > high\-level;
+餅鐺 > baking\-pan;
+屢次 > repeatedly;
+鎗管 > gun\-barrel;
+鐵板 > iron\-panel;
+鏈環 > chain\-link;
+捉取 > to\-capture;
+竭盡 > exhaustion;
+軍人 > serviceman;
+意願 > aspiration;
+老頭 > old\-fellow;
+現象 > appearance;
+鎮痛 > analgesiac;
+自尊 > self\-pride;
+定義 > definition;
+競爭 > to\-compete;
+實現 > to\-achieve;
+傷亡 > casualties;
+截然 > completely;
+業余 > spare\-time;
+行列 > procession;
+病假 > sick\-leave;
+期限 > time\-limit;
+把戲 > acrobatics;
+消費 > to\-consume;
+行人 > pedestrian;
+書面 > in\-writing;
+筷子 > chopsticks;
+節制 > temperance;
+腐敗 > corruption;
+獸醫 > veterinary;
+做出 > to\-put\-out;
+作為 > accomplish;
+折射 > refraction;
+喉炎 > laryngitis;
+了解 > understand;
+信心 > confidence;
+聯繫 > connection;
+珍藏 > collection;
+自信 > confidence;
+聖職 > priesthood;
+錶盤 > dial\-plate;
+桃樹 > peach\-tree;
+單模 > singlemode;
+想象 > to\-imagine;
+下降 > to\-decline;
+審查 > to\-examine;
+層壓 > lamination;
+周速 > cycle\-time;
+暴風 > storm\-wind;
+屬地 > dependency;
+漲價 > appreciate;
+聖經 > holy\-bible;
+仿真 > to\-emulate;
+和諧 > harmonious;
+介紹 > to\-present;
+頻頻 > repeatedly;
+缺點 > weak\-point;
+本行 > one''s\-line;
+滲坑 > sewage\-pit;
+競技 > tournament;
+抵制 > resistance;
+鐵匠 > blacksmith;
+任用 > to\-appoint;
+單數 > odd\-number;
+板紙 > paperboard;
+呈遞 > to\-present;
+波長 > wavelength;
+專心 > absorption;
+個別 > individual;
+會計 > accountant;
+流血 > shed\-blood;
+肉片 > meat\-slice;
+溫室 > greenhouse;
+倚仗 > to\-lean\-on;
+抑制 > to\-inhibit;
+作料 > condiments;
+便壺 > bed\-urinal;
+趨奉 > to\-fawn\-on;
+使怒 > exasperate;
+依屬 > dependence;
+預防 > to\-prevent;
+個人 > individual;
+等到 > wait\-until;
+小姐 > young\-lady;
+桌布 > tablecloth;
+背景 > background;
+不變 > unchanging;
+一貫 > consistent;
+批准 > to\-approve;
+科系 > department;
+愁緒 > melancholy;
+神話 > fairy\-tale;
+住所 > habitation;
+顛覆 > subversion;
+案子 > long\-table;
+互相 > each\-other;
+便利 > convenient;
+河邊 > river\-bank;
+不虞 > unexpected;
+尤其 > especially;
+淘汰 > to\-die\-out;
+肥料 > fertilizer;
+安排 > to\-arrange;
+議院 > parliament;
+狡辯 > to\-quibble;
+第二 > number\-two;
+格外 > especially;
+暴行 > savage\-act;
+實在 > in\-reality;
+超升 > exaltation;
+叛軍 > rebel\-army;
+獸穴 > animal\-den;
+孝敬 > to\-respect;
+警鐘 > alarm\-bell;
+胖子 > fat\-person;
+存放 > to\-deposit;
+餓死 > starvation;
+併吞 > swallow\-up;
+學徒 > apprentice;
+感激 > appreciate;
+板樁 > sheet\-pile;
+成分 > ingredient;
+容器 > receptacle;
+重視 > importance;
+悔罪 > conviction;
+能力 > capability;
+必須 > to\-have\-to;
+肯定 > to\-be\-sure;
+任性 > capricious;
+王牌 > trump\-card;
+南面 > south\-side;
+薄荷 > field\-mint;
+馬力 > horsepower;
+月球 > \(the\)\-moon;
+婚約 > engagement;
+現成 > ready\-made;
+頻繁 > frequently;
+議論 > to\-comment;
+交替 > to\-replace;
+神秘 > mysterious;
+風濕 > rheumatism;
+群眾 > the\-masses;
+神祕 > mysterious;
+寄予 > to\-express;
+仁慈 > benevolent;
+今後 > henceforth;
+虛擬 > fictitious;
+顯現 > appearance;
+多黨 > multiparty;
+不當 > unsuitable;
+沈落 > sink\,\-fall;
+講述 > talk\-about;
+宣佈 > to\-declare;
+鼓掌 > to\-applaud;
+以外 > apart\-from;
+爆音 > sonic\-boom;
+似乎 > apparently;
+大體 > in\-general;
+空兒 > spare\-time;
+食指 > forefinger;
+牴觸 > contradict;
+程序 > procedures;
+弱點 > weak\-point;
+明言 > pronounced;
+本月 > this\-month;
+哲學 > philosophy;
+丹毒 > erysipelas;
+氣象 > meteorolgy;
+互惠 > reciprocal;
+總體 > completely;
+蔬菜 > vegetables;
+飯店 > restaurant;
+含燐 > phosphoric;
+更正 > correction;
+黑板 > blackboard;
+彙集 > to\-collect;
+講解 > to\-explain;
+預知 > anticipate;
+部門 > department;
+以及 > as\-well\-as;
+聯合 > to\-combine;
+主格 > nominative;
+錄取 > to\-recruit;
+新郎 > bridegroom;
+而後 > after\-that;
+字典 > dictionary;
+悲歌 > sad\-melody;
+罪狀 > accusation;
+比重 > proportion;
+賠償 > compensate;
+流放 > banishment;
+人均 > per\-capita;
+可疑 > suspicious;
+聞名 > well\-known;
+而已 > that''s\-all;
+浴巾 > bath\-towel;
+吊燈 > chandelier;
+聲價 > reputation;
+薄片 > thin\-slice;
+更新 > up\-to\-date;
+顫栗 > to\-tremble;
+本底 > background;
+集體 > collective;
+敗露 > \(of\-a\-plot;
+試驗 > experiment;
+人口 > population;
+厘米 > centimeter;
+歸順 > submission;
+失蹤 > be\-missing;
+飽和 > saturation;
+歡騰 > jubilation;
+後裔 > descendant;
+氣色 > complexion;
+金牌 > gold\-medal;
+不會 > improbable;
+上月 > last\-month;
+吵架 > to\-quarrel;
+意外 > unexpected;
+碧綠 > dark\-green;
+不時 > frequently;
+老套 > old\-things;
+並把 > to\-include;
+談論 > to\-discuss;
+及物 > transitive;
+電車 > trolleybus;
+欺騙 > to\-deceive;
+顧慮 > misgivings;
+可比 > comparable;
+事先 > in\-advance;
+警犬 > police\-dog;
+剛體 > rigid\-body;
+景氣 > prosperity;
+卜筮 > divination;
+不快 > be\-unhappy;
+昌盛 > prosperous;
+改過 > to\-correct;
+改進 > to\-improve;
+不幸 > misfortune;
+電視 > television;
+後者 > the\-latter;
+纏繞 > intertwine;
+加速 > accelerate;
+諳練 > conversant;
+一度 > for\-a\-time;
+歡迎 > to\-welcome;
+化肥 > fertilizer;
+墨鏡 > sunglasses;
+剝離 > \(of\-tissue;
+不屈 > unyielding;
+彈藥 > ammunition;
+預料 > anticipate;
+頂替 > to\-replace;
+不定 > indefinite;
+不安 > intranquil;
+老人 > old\-people;
+期刊 > periodical;
+知覺 > perception;
+同情 > compassion;
+適配 > adaptation;
+合意 > acceptable;
+大臣 > chancellor;
+同性 > homosexual;
+日益 > day\-by\-day;
+大膽 > courageous;
+本份 > one''s\-duty;
+不妥 > not\-proper;
+會友 > membership;
+繳納 > contribute;
+不夠 > not\-enough;
+私下 > in\-private;
+波峰 > wave\-crest;
+三天 > three\-days;
+𠀍 > generation;
+面目 > appearance;
+反日 > anti\-japan;
+建議 > to\-propose;
+波導 > wave\-guide;
+婢女 > slave\-girl;
+沒收 > confiscate;
+快活 > gay\,\-happy;
+可悲 > lamentable;
+評註 > commentary;
+婊子 > prostitute;
+必然 > inevitable;
+半球 > hemisphere;
+響應 > respond\-to;
+彙編 > collection;
+議會 > parliament;
+大綱 > main\-point;
+撞騙 > to\-swindle;
+烤鴨 > roast\-duck;
+歌詞 > song\-lyric;
+並入 > merge\-into;
+記載 > write\-down;
+弱脈 > weak\-pulse;
+顫動 > to\-tremble;
+原本 > originally;
+吸吮 > to\-suck\-in;
+爆破 > to\-blow\-up;
+道賀 > compliment;
+取得 > to\-acquire;
+上半 > first\-half;
+教育 > to\-educate;
+不動 > motionless;
+吞噬 > to\-swallow;
+要點 > main\-point;
+反復 > repeatedly;
+西點 > west\-point;
+並不 > not\-at\-all;
+斗眼 > cross\-eyed;
+氣氛 > atmosphere;
+眼鏡 > spectacles;
+不備 > unprepared;
+檢驗 > to\-inspect;
+一再 > repeatedly;
+恫嚇 > intimidate;
+一共 > altogether;
+奉獻 > consecrate;
+不依 > not\-comply;
+不住 > repeatedly;
+只好 > to\-have\-to;
+討論 > to\-discuss;
+文盲 > illiterate;
+明智 > not\-unwise;
+另外 > additional;
+撞針 > firing\-pin;
+南極 > south\-pole;
+一代 > generation;
+收縮 > pull\-back;
+多疑 > skeptical;
+合力 > cooperate;
+爆炸 > explosion;
+割草 > mow\-grass;
+變奏 > variation;
+領受 > to\-accept;
+動盪 > commotion;
+可哀 > miserably;
+菠蘿 > pineapple;
+厚度 > thickness;
+速記 > shorthand;
+徐步 > to\-stroll;
+西面 > west\-side;
+摘除 > to\-excise;
+警官 > constable;
+同伴 > companion;
+名人 > personage;
+蔓延 > to\-extend;
+同事 > colleague;
+半旗 > half\-mast;
+金匠 > goldsmith;
+同一 > identical;
+碰巧 > by\-chance;
+普及 > widespead;
+設置 > to\-set\-up;
+燒燬 > burn\-down;
+明年 > next\-year;
+古典 > classical;
+叫做 > be\-called;
+綠茶 > green\-tea;
+別處 > elsewhere;
+述語 > predicate;
+防衛 > to\-defend;
+昨天 > yesterday;
+教父 > godfather;
+受僱 > mercenary;
+於是 > thereupon;
+語源 > etymology;
+說法 > statement;
+城門 > city\-gate;
+靈敏 > sensitive;
+助理 > assistant;
+設立 > to\-set\-up;
+論斷 > inference;
+受事 > recepient;
+熬煎 > suffering;
+分號 > semicolon;
+原告 > complaint;
+白魚 > whitefish;
+多樣 > diversity;
+多模 > multimode;
+開頭 > beginning;
+無能 > inability;
+白體 > lean\-type;
+標高 > elevation;
+妖媚 > seductive;
+無聲 > noiseless;
+刺繡 > embroider;
+十年 > ten\-years;
+半島 > peninsula;
+連續 > continous;
+原則 > principle;
+鄭州 > zhengzhou;
+計策 > stratagem;
+底線 > underline;
+閃電 > lightning;
+引渡 > extradite;
+教母 > godmother;
+壁爐 > fireplace;
+文明 > civilized;
+直覺 > intuition;
+壁燈 > wall\-lamp;
+發音 > pronounce;
+厘克 > centigram;
+無籟 > scoundrel;
+加深 > to\-deepen;
+執行 > implement;
+雹暴 > hailstorm;
+確信 > confident;
+奠定 > establish;
+那樣 > that\-kind;
+公里 > kilometer;
+誠摯 > sincerely;
+差距 > disparity;
+襯裙 > petticoat;
+鰾膠 > isinglass;
+證件 > paperwork;
+細菌 > bacterial;
+芬香 > fragrance;
+占卜 > to\-divine;
+蒼天 > firmament;
+緩沖 > to\-buffer;
+選派 > set\-apart;
+散播 > to\-spread;
+大志 > high\-aims;
+輔音 > consonant;
+張揚 > publicize;
+解碼 > to\-decode;
+播種 > sow\-seeds;
+化學 > chemistry;
+報紙 > newspaper;
+無知 > ignorance;
+接駁 > to\-access;
+很多 > very\-many;
+誠意 > sincerity;
+廣泛 > extensive;
+鳳梨 > pineapple;
+雙方 > bilateral;
+長遠 > long\-term;
+千周 > kilohertz;
+過濾 > to\-filter;
+奇妙 > fantastic;
+冰蓋 > ice\-sheet;
+遙測 > telemetry;
+農舍 > farmhouse;
+紅蓮 > red\-lotus;
+共識 > consensus;
+輸送 > transport;
+大小 > dimension;
+大家 > authority;
+爭取 > fight\-for;
+每天 > every\-day;
+攻擊 > to\-attack;
+紅茶 > black\-tea;
+文字 > character;
+常綠 > evergreen;
+殘廢 > deformity;
+隱晦 > obscurity;
+照樣 > as\-before;
+方向 > direction;
+焰火 > fireworks;
+救恩 > salvation;
+天天 > every\-day;
+後勤 > logistics;
+助手 > assistant;
+內褲 > underwear;
+辦罪 > to\-punish;
+要緊 > important;
+民主 > democracy;
+務實 > pragmatic;
+推銷 > to\-market;
+彙報 > to\-report;
+要素 > essential;
+夢境 > dreamland;
+課堂 > classroom;
+選擇 > to\-select;
+報界 > the\-press;
+發言 > statement;
+十七 > seventeen;
+火藥 > gunpowder;
+診斷 > diagnosis;
+毫克 > milligram;
+副本 > duplicate;
+艱難 > difficult;
+廣播 > broadcast;
+敗局 > lost\-game;
+郊外 > outskirts;
+教室 > classroom;
+白蠟 > white\-wax;
+出現 > to\-appear;
+逐漸 > gradually;
+冰糕 > ice\-cream;
+允許 > to\-permit;
+後代 > posterity;
+艦長 > commander;
+構造 > structure;
+勾劃 > to\-sketch;
+增援 > reinforce;
+無比 > matchless;
+教士 > churchman;
+次數 > frequency;
+大力 > energetic;
+壯大 > to\-expand;
+權柄 > authority;
+遵循 > to\-follow;
+適意 > agreeable;
+調停 > reconcile;
+干涉 > interfere;
+勤勉 > diligence;
+款待 > entertain;
+發芽 > germinate;
+大便 > excrement;
+撥正 > set\-right;
+壽命 > life\-span;
+經文 > scripture;
+敲入 > to\-key\-in;
+隊形 > formation;
+天上 > celestial;
+辦理 > to\-handle;
+註定 > be\-doomed;
+無數 > countless;
+收回 > to\-regain;
+外交 > diplomacy;
+過度 > exceeding;
+判斷 > to\-decide;
+操持 > to\-manage;
+檢測 > to\-detect;
+矮凳 > low\-stool;
+階層 > hierarchy;
+至高 > paramount;
+推薦 > recommend;
+排行 > seniority;
+前往 > leave\-for;
+教儀 > ordinance;
+結構 > structure;
+墳墓 > sepulcher;
+播放 > broadcast;
+公秉 > kiloliter;
+阻撓 > to\-thwart;
+傳送 > to\-convey;
+遺囑 > testament;
+歡呼 > cheer\-for;
+傳輸 > transport;
+干擾 > interfere;
+推荐 > recommend;
+遊客 > traveller;
+城牆 > city\-wall;
+內碼 > to\-encode;
+摧殘 > to\-ravage;
+撞擊 > to\-strike;
+加劇 > aggravate;
+阻抗 > impedance;
+捐贈 > to\-donate;
+自願 > voluntary;
+樹皮 > tree\-bark;
+經度 > longitude;
+隨員 > attendant;
+光筆 > light\-pen;
+報攤 > newsstand;
+出於 > be\-due\-to;
+救世 > salvation;
+擴大 > to\-expand;
+過多 > excessive;
+無形 > invisible;
+裝置 > equipment;
+故事 > narrative;
+共產 > communist;
+篩選 > to\-filter;
+推翻 > overthrow;
+院子 > courtyard;
+園藝 > gardening;
+廣博 > extensive;
+權威 > authority;
+劃分 > to\-divide;
+傳記 > biography;
+迷惑 > to\-puzzle;
+加上 > to\-put\-in;
+延伸 > to\-extend;
+通宵 > overnight;
+艱苦 > difficult;
+廣傳 > propagate;
+發生 > to\-happen;
+癱瘓 > paralysis;
+組成 > component;
+隊列 > formation;
+接管 > take\-over;
+設備 > equipment;
+隆冬 > midwinter;
+凹度 > concavity;
+漫長 > very\-long;
+界面 > interface;
+創作 > to\-create;
+陪同 > accompany;
+擴充 > to\-expand;
+指責 > criticize;
+綜合 > composite;
+披露 > to\-reveal;
+看待 > look\-upon;
+陷入 > sink\-into;
+衰落 > decompose;
+剛健 > energetic;
+撥奏 > pizzicato;
+逆境 > adversity;
+迫害 > persecute;
+進化 > evolution;
+辯才 > eloquence;
+自負 > conceited;
+市政 > municipal;
+儼然 > just\-like;
+絕妙 > exquisite;
+投降 > surrender;
+簽章 > signature;
+陪伴 > accompany;
+綁匪 > kidnapper;
+無力 > powerless;
+擔保 > guarantee;
+推理 > reasoning;
+因而 > therefore;
+逆向 > backwards;
+跟隨 > to\-follow;
+按蚊 > anopheles;
+樣機 > prototype;
+刨冰 > water\-ice;
+帶寬 > bandwidth;
+異議 > objection;
+規定 > provision;
+展開 > to\-unfold;
+輪流 > alternate;
+傳統 > tradition;
+偏見 > prejudice;
+地理 > geography;
+地球 > the\-earth;
+降低 > to\-reduce;
+保險 > insurance;
+保障 > to\-ensure;
+場合 > situation;
+報告 > to\-inform;
+紳士 > gentleman;
+公斗 > decaliter;
+逝世 > pass\-away;
+返回 > return\-to;
+附件 > enclosure;
+分割 > to\-cut\-up;
+長期 > long\-term;
+扁骨 > flat\-bone;
+保鏢 > bodyguard;
+跑錶 > stopwatch;
+紙夾 > paperclip;
+發明 > to\-invent;
+模擬 > imitation;
+激發 > to\-arouse;
+再度 > once\-more;
+糾察 > to\-picket;
+拷花 > to\-emboss;
+潛艇 > submarine;
+迷住 > fascinate;
+艾炷 > moxa\-cone;
+囚禁 > captivity;
+內戰 > civil\-war;
+便門 > side\-door;
+裁減 > to\-reduce;
+迷亂 > confusion;
+圍牆 > enclosure;
+相同 > identical;
+規勸 > to\-advise;
+表皮 > epidermis;
+表白 > vindicate;
+戶限 > threshold;
+看做 > regard\-as;
+捐獻 > to\-donate;
+兇手 > assailant;
+蟑螂 > cockroach;
+寬頻 > broadband;
+西南 > southwest;
+使館 > consulate;
+西北 > northwest;
+棉被 > comforter;
+精巧 > elaborate;
+嶄新 > brand\-new;
+打進 > to\-breach;
+公寸 > decimeter;
+承認 > recognize;
+公寓 > apartment;
+常任 > permanent;
+光彩 > honorable;
+保護 > to\-defend;
+指示 > point\-out;
+病理 > pathology;
+辛勞 > laborious;
+損壞 > to\-damage;
+保証 > guarantee;
+嘉許 > favorable;
+八天 > eight\-day;
+拒絕 > to\-refuse;
+要不 > otherwise;
+標定 > demarcate;
+膨脹 > to\-expand;
+輻射 > radiation;
+排放 > discharge;
+體現 > to\-embody;
+衰減 > to\-weaken;
+籃板 > backboard;
+馬鞭 > horsewhip;
+苦境 > grievance;
+畢竟 > after\-all;
+低階 > low\-level;
+所謂 > so\-called;
+潰爛 > to\-fester;
+儲存 > stockpile;
+膀臂 > upper\-arm;
+瀑布 > waterfall;
+掛念 > concerned;
+全同 > identical;
+轟動 > sensation;
+臺燈 > desk\-lamp;
+蝴蝶 > butterfly;
+甜美 > sweetness;
+伴隨 > to\-follow;
+實質 > substance;
+公兩 > hectogram;
+植物 > botanical;
+空防 > air\-force;
+入侵 > to\-invade;
+克制 > restraint;
+公丈 > decameter;
+輸出 > to\-export;
+折磨 > persecute;
+輸入 > to\-import;
+實行 > implement;
+等等 > et\-cetera;
+清除 > eliminate;
+打聽 > ask\-about;
+表揚 > to\-praise;
+激怒 > infuriate;
+打翻 > overthrow;
+停泊 > anchorage;
+蜻蜓 > dragonfly;
+漸漸 > gradually;
+子音 > consonant;
+漲潮 > high\-tide;
+家譜 > genealogy;
+驚異 > amazement;
+輔助 > to\-assist;
+提供 > to\-supply;
+穿透 > penetrate;
+接口 > interface;
+接受 > to\-accept;
+體操 > gymnastic;
+便箋 > notepaper;
+空軍 > air\-force;
+超聯 > hyperlink;
+聖餐 > sacrament;
+裝備 > equipment;
+批發 > wholesale;
+漸次 > gradually;
+趕緊 > hurriedly;
+骨架 > framework;
+介面 > interface;
+偵探 > detective;
+臨時 > temporary;
+挑戰 > challenge;
+被告 > defendant;
+排出 > discharge;
+拔染 > discharge;
+貝類 > shellfish;
+在內 > including;
+拿手 > expert\-in;
+竊聽 > eavesdrop;
+宿舍 > dormitory;
+山水 > landscape;
+四天 > four\-days;
+挺好 > very\-good;
+簽入 > to\-log\-on;
+馬背 > horseback;
+驕氣 > arrogance;
+疑心 > suspicion;
+渺茫 > uncertain;
+激勵 > encourage;
+激動 > to\-excite;
+成立 > establish;
+添補 > fill\-\(up\);
+修正 > to\-revise;
+某處 > somewhere;
+賓詞 > predicate;
+稱讚 > to\-praise;
+低級 > low\-level;
+貨輪 > freighter;
+體團 > community;
+極其 > extremely;
+抵抗 > to\-resist;
+颱風 > hurricane;
+伸縮 > to\-extend;
+蚯蚓 > earthworm;
+贖罪 > atonement;
+寵物 > house\-pet;
+聖誕 > christmas;
+假定 > to\-assume;
+行動 > operation;
+主體 > main\-part;
+手法 > technique;
+消遣 > amusement;
+極了 > extremely;
+就業 > get\-a\-job;
+疆域 > territory;
+桌燈 > desk\-lamp;
+疆土 > territory;
+承擔 > undertake;
+膽小 > cowardice;
+屬性 > attribute;
+高價 > expensive;
+主頁 > home\-page;
+美麗 > beautiful;
+會面 > meet\-with;
+成為 > to\-become;
+交誼 > communion;
+錦繡 > beautiful;
+潛力 > potential;
+居所 > residence;
+學童 > schoolboy;
+自動 > automatic;
+蠕動 > to\-wiggle;
+打敗 > to\-defeat;
+豪豬 > porcupine;
+啟發 > enlighten;
+流量 > flow\-rate;
+賜給 > to\-bestow;
+招募 > to\-recuit;
+完畢 > to\-finish;
+對於 > regarding;
+至今 > until\-now;
+翻譯 > translate;
+上面 > on\-top\-of;
+五號 > the\-fifth;
+信差 > messenger;
+膀子 > upper\-arm;
+拆卸 > to\-unload;
+蛋白 > egg\-white;
+吞食 > to\-devour;
+框架 > framework;
+胃炎 > gastritis;
+對抗 > withstand;
+器具 > implement;
+脫掉 > strip\-off;
+香港 > hong\-kong;
+實時 > real\-time;
+肺炎 > pneumonia;
+慶祝 > celebrate;
+宰殺 > slaughter;
+浪蕩 > to\-loiter;
+豪華 > luxurious;
+某物 > something;
+津貼 > allowance;
+肝炎 > hepatitis;
+消耗 > to\-use\-up;
+上載 > to\-upload;
+蘭花 > cymbidium;
+書記 > secretary;
+浪船 > swingboat;
+小寫 > lowercase;
+用具 > appliance;
+古風 > antiquity;
+安歇 > go\-to\-bed;
+家族 > household;
+何故 > wherefore;
+腳印 > footprint;
+瓷器 > chinaware;
+童年 > childhood;
+佔據 > to\-occupy;
+起床 > to\-get\-up;
+寬帶 > broadband;
+來年 > next\-year;
+今生 > this\-life;
+頻道 > frequency;
+本職 > one''s\-job;
+局勢 > situation;
+背斜 > anticline;
+暴躁 > irascible;
+池鹽 > lake\-salt;
+不許 > not\-allow;
+商標 > trademark;
+飯碗 > rice\-bowl;
+晤面 > interview;
+桔子 > tangerine;
+重開 > to\-reopen;
+變革 > transform;
+截奪 > intercept;
+深水 > deepwater;
+趨向 > direction;
+起始 > originate;
+祇讀 > read\-only;
+學會 > institute;
+懸崖 > precipice;
+條件 > condition;
+鷓鴣 > partridge;
+末端 > extremity;
+瓜分 > partition;
+處理 > to\-handle;
+涌現 > spring\-up;
+禮節 > etiquette;
+普遍 > universal;
+變醜 > disfigure;
+並肩 > alongside;
+蜂巢 > honeycomb;
+中美 > china\-usa;
+暗語 > code\-word;
+端口 > interface;
+低層 > low\-level;
+重蹈 > to\-repeat;
+住宅 > residence;
+休戰 > armistice;
+所以 > therefore;
+讚賞 > to\-admire;
+減弱 > to\-weaken;
+叛賣 > to\-betray;
+嫌疑 > suspicion;
+伸展 > extension;
+一致 > unanimous;
+聲明 > statement;
+養殖 > cultivate;
+柿子 > persimmon;
+老牌 > old\-brand;
+妖風 > evil\-wind;
+錶帶 > watchband;
+重要 > important;
+減少 > to\-lessen;
+有益 > wholesome;
+重複 > to\-repeat;
+立刻 > forthwith;
+深思 > to\-ponder;
+早餐 > breakfast;
+野蠻 > barbarous;
+早飯 > breakfast;
+必需 > essential;
+財東 > shopowner;
+虛構 > imaginary;
+聯想 > associate;
+浸沒 > immersion;
+板斧 > broad\-axe;
+含糊 > obscurity;
+淒慘 > miserable;
+一篇 > one\-sided;
+鍵入 > to\-key\-in;
+旋風 > whirlwind;
+祝福 > blessings;
+期滿 > to\-expire;
+警覺 > vigilance;
+原諒 > to\-excuse;
+家俱 > furniture;
+感染 > infection;
+孔子 > confucius;
+子孫 > offspring;
+家人 > household;
+家事 > housework;
+宣傳 > publicize;
+今年 > this\-year;
+呈現 > to\-appear;
+一百 > a\-hundred;
+貫徹 > implement;
+仲夏 > midsummer;
+證詞 > testimony;
+秘書 > secretary;
+突出 > prominent;
+惡毒 > malicious;
+伴侶 > companion;
+昂貴 > expensive;
+露韓 > to\-expose;
+影響 > influence;
+夢魘 > nightmare;
+好運 > good\-luck;
+暴發 > break\-out;
+應付 > deal\-with;
+有毒 > poisonous;
+弱鹼 > weak\-base;
+汽船 > steamboat;
+可笑 > laughable;
+半載 > half\-load;
+微軟 > microsoft;
+仙境 > fairyland;
+旨趣 > objective;
+日趨 > gradually;
+事態 > situation;
+大類 > main\-type;
+本文 > this\-text;
+營養 > nutrition;
+頻率 > frequency;
+協議 > agreement;
+不滿 > resentful;
+那麼 > so\-\(much\);
+必要 > necessary;
+大陸 > continent;
+碧藍 > dark\-blue;
+待遇 > treatment;
+合理 > rationale;
+玩弄 > resort\-to;
+有時 > sometimes;
+旁路 > to\-bypass;
+夜間 > nighttime;
+比鄰 > neighbour;
+非議 > criticize;
+書架 > bookshelf;
+混亂 > confusion;
+有效 > effective;
+缽盂 > alms\-bowl;
+資助 > subsidize;
+上次 > last\-time;
+牌號 > trademark;
+五天 > five\-days;
+消失 > disappear;
+旁觀 > spectator;
+磨石 > millstone;
+介入 > intervene;
+以上 > more\-than;
+矛頭 > spearhead;
+夢遺 > wet\-dream;
+變異 > variation;
+波段 > wave\-band;
+離開 > to\-depart;
+獲得 > to\-obtain;
+吐氣 > aspirated;
+東南 > southeast;
+東北 > northeast;
+不明 > not\-clear;
+奇觀 > spectacle;
+改革 > to\-reform;
+愛國 > patriotic;
+不斷 > unceasing;
+今世 > this\-life;
+未婚 > unmarried;
+弱酸 > weak\-acid;
+收集 > to\-gather;
+乘客 > passenger;
+一時 > temporary;
+助長 > encourage;
+交出 > hand\-over;
+食品 > foodstuff;
+配置 > to\-deploy;
+失調 > imbalance;
+消去 > eliminate;
+本壘 > home\-base;
+人事 > personnel;
+悲慘 > miserable;
+識相 > sensitive;
+書店 > bookstore;
+邊門 > side\-door;
+中庭 > courtyard;
+司機 > chauffeur;
+獨家 > exclusive;
+東亞 > east\-asia;
+復習 > to\-revise;
+合格 > qualified;
+暫時 > temporary;
+雙邊 > bilateral;
+耐力 > endurance;
+明確 > clear\-cut;
+不惜 > not\-stint;
+惡夢 > nightmare;
+原理 > principle;
+主婦 > housewife;
+玩具 > plaything;
+電話 > telephone;
+施肥 > fertilize;
+改造 > to\-change;
+狀況 > condition;
+不平 > injustice;
+這麼 > so\-\(much\);
+不已 > endlessly;
+雜貨 > groceries;
+木匠 > carpenter;
+評選 > to\-choose;
+醬油 > soy\-sauce;
+建造 > construct;
+觸鬚 > tentacles;
+擦音 > fricative;
+周圍 > encompass;
+不對 > incorrect;
+心目 > mentality;
+可敬 > venerable;
+受格 > objective;
+大荳 > soya\-bean;
+𢥞 > same\-as\-忡;
+契約 > agreement;
+鱷魚 > alligator;
+波幅 > amplitude;
+改變 > to\-change;
+庭院 > courtyard;
+禮儀 > etiquette;
+右手 > righthand;
+創造 > to\-create;
+流入 > flow\-into;
+注射 > injection;
+硬盤 > hard\-disk;
+功課 > classwork;
+週長 > perimeter;
+月光 > moonlight;
+失縱 > disappear;
+婚姻 > matrimony;
+口才 > eloquence;
+不在 > not\-be\-in;
+鞭毛 > flagellum;
+撫養 > to\-foster;
+派任 > set\-apart;
+刪除 > to\-delete;
+遠足 > excursion;
+無限 > unlimited;
+頑強 > tenacious;
+無關 > unrelated;
+蒸發 > evaporate;
+古怪 > eccentric;
+得當 > expedient;
+油布 > tarpaulin;
+下唇 > lower\-lip;
+義務 > volunteer;
+上唇 > upper\-lip;
+頁心 > type\-page;
+不吝 > not\-stint;
+不同 > different;
+污染 > pollution;
+前途 > prospects;
+熊蜂 > bumblebee;
+總結 > summarize;
+美味 > delicious;
+吸取 > to\-absorb;
+下午 > afternoon;
+週邊 > periphery;
+年限 > age\-limit;
+下列 > following;
+不准 > not\-allow;
+題名 > autograph;
+多端 > multiport;
+效能 > efficient;
+不停 > incessant;
+大砲 > artillery;
+不值 > not\-worth;
+沙岩 > sandstone;
+波及 > spread\-to;
+微波 > microwave;
+不休 > endlessly;
+無辜 > innocence;
+次要 > secondary;
+不予 > not\-grant;
+去年 > last\-year;
+不了 > unable\-to;
+領土 > territory;
+韌性 > toughness;
+社區 > community;
+版權 > copyright;
+向南 > southward;
+民歌 > folk\-song;
+即時 > immediate;
+播送 > broadcast;
+幸運 > fortunate;
+美中 > usa\-china;
+隕落 > fall\-down;
+熟練 > practiced;
+改編 > to\-adapt;
+磁性 > magnetic;
+壓緊 > compress;
+醫學 > medicine;
+吞併 > to\-annex;
+靈活 > flexible;
+文獻 > document;
+外用 > external;
+邊線 > sideline;
+正統 > orthodox;
+延續 > continue;
+頻仍 > frequent;
+緯線 > latitude;
+無誤 > verified;
+日曆 > calendar;
+剝落 > peel\-off;
+預卜 > foretell;
+幻象 > illusion;
+謹慎 > cautious;
+特性 > property;
+茶館 > teahouse;
+鳥籠 > birdcage;
+微明 > twilight;
+建築 > building;
+友善 > friendly;
+建立 > creation;
+順利 > smoothly;
+心手 > new\-hand;
+冰隙 > crevasse;
+霸權 > hegemony;
+危急 > critical;
+隙縫 > aperture;
+親身 > personal;
+確定 > definite;
+終身 > lifelong;
+記者 > reporter;
+規避 > to\-evade;
+牧師 > chaplain;
+收益 > earnings;
+具體 > concrete;
+平行 > parallel;
+忠實 > faithful;
+步發 > footwork;
+分裂 > split\-up;
+新書 > new\-book;
+口交 > oral\-sex;
+創立 > to\-found;
+煤箱 > coal\-box;
+缺乏 > shortage;
+日後 > sometime;
+邊界 > boundary;
+災難 > disaster;
+徹底 > thorough;
+鱉裙 > calipash;
+警句 > aphorism;
+早已 > long\-ago;
+雖然 > although;
+破曉 > daybreak;
+雨滴 > raindrop;
+明天 > tomorrow;
+妖孽 > evildoer;
+電氣 > electric;
+酬報 > to\-repay;
+遺產 > heritage;
+硬度 > hardness;
+無聊 > nonsense;
+橫過 > traverse;
+征戰 > campaign;
+課本 > textbook;
+凋謝 > languish;
+計算 > to\-count;
+開除 > to\-expel;
+適當 > suitable;
+纖巧 > delicate;
+平臺 > platform;
+大方 > generous;
+無縫 > seamless;
+冠軍 > champion;
+准許 > to\-allow;
+鄰居 > neighbor;
+電梯 > elevator;
+蓋層 > cap\-rock;
+面對 > confront;
+無線 > wireless;
+確切 > definite;
+通紅 > very\-red;
+包抄 > outflank;
+辨認 > identify;
+原來 > original;
+多數 > majority;
+物品 > articles;
+政治 > politics;
+半夜 > midnight;
+午夜 > midnight;
+新年 > new\-year;
+旅客 > traveler;
+逼真 > lifelike;
+步法 > footwork;
+公釐 > decigram;
+殺戮 > massacre;
+力氣 > strength;
+內部 > interior;
+覆蓋 > to\-cover;
+繡帷 > tapestry;
+太忙 > too\-busy;
+睡眠 > sleeping;
+裝飾 > decorate;
+十四 > fourteen;
+平等 > equality;
+白金 > platinum;
+包層 > cladding;
+轉送 > transfer;
+再見 > good\-bye;
+夢幻 > illusion;
+逕直 > straight;
+危亡 > at\-stake;
+草草 > careless;
+巧計 > maneuver;
+著手 > commence;
+料子 > material;
+盲腸 > appendix;
+支柱 > mainstay;
+形容 > describe;
+無疑 > no\-doubt;
+強悍 > valliant;
+粗野 > insolent;
+袋鼠 > kangaroo;
+妖人 > magician;
+軟體 > software;
+新型 > new\-type;
+培育 > to\-train;
+煤油 > kerosene;
+加時 > overtime;
+光輝 > radiance;
+復元 > recovery;
+強度 > strength;
+十八 > eighteen;
+女兒 > daughter;
+多少 > how\-much;
+十克 > decagram;
+地雷 > landmine;
+如今 > nowadays;
+邪惡 > sinister;
+觀看 > to\-watch;
+得分 > to\-score;
+包圍 > surround;
+比喻 > metaphor;
+規範 > standard;
+軀體 > the\-body;
+硬件 > hardware;
+天堂 > paradise;
+十九 > nineteen;
+光譜 > spectrum;
+補遺 > addendum;
+遠東 > far\-east;
+十三 > thirteen;
+機能 > function;
+蒙古 > mongolia;
+遠景 > prospect;
+紐約 > new\-york;
+教導 > instruct;
+提議 > proposal;
+優越 > superior;
+進步 > progress;
+遮掩 > to\-cover;
+電報 > telegram;
+摹畫 > describe;
+車間 > workshop;
+往來 > dealings;
+調動 > transfer;
+引導 > to\-guide;
+裝貨 > shipping;
+力度 > dynamism;
+過於 > too\-much;
+監禁 > imprison;
+冰窖 > icehouse;
+堂皇 > imposing;
+崇高 > majestic;
+省略 > omission;
+母係 > maternal;
+採買 > purchase;
+輕視 > contempt;
+精致 > delicacy;
+遲延 > to\-delay;
+攜帶 > to\-carry;
+延展 > to\-scale;
+農田 > farmland;
+部位 > position;
+創建 > to\-found;
+內置 > internal;
+限期 > deadline;
+緊張 > critical;
+記憶 > memories;
+遷就 > to\-yield;
+精美 > delicate;
+強勁 > powerful;
+文件 > document;
+殺人 > homicide;
+邊境 > frontier;
+外來 > external;
+剛性 > rigidity;
+勃勃 > thriving;
+適宜 > suitable;
+擁擠 > to\-crowd;
+授課 > to\-teach;
+解散 > dissolve;
+陰性 > feminine;
+動作 > movement;
+敦促 > to\-press;
+雇員 > employee;
+瀉藥 > laxative;
+換置 > displace;
+雨傘 > umbrella;
+圖謀 > conspire;
+董事 > director;
+動人 > touching;
+阻擊 > to\-check;
+補花 > applique;
+塗抹 > to\-smear;
+骨骼 > skeleton;
+裝船 > shipment;
+欺壓 > to\-bully;
+荒涼 > desolate;
+凹板 > intaglio;
+劣勢 > inferior;
+分數 > fraction;
+盎然 > abundant;
+壓力 > pressure;
+連忙 > promptly;
+那個 > that\-one;
+無情 > pitiless;
+擦寫 > to\-erase;
+壓制 > suppress;
+精確 > accurate;
+優美 > graceful;
+航運 > shipping;
+函數 > function;
+經常 > everyday;
+步兵 > infantry;
+平房 > bungalow;
+冰涼 > ice\-cold;
+幻想 > delusion;
+序幕 > prologue;
+刻寫 > inscribe;
+墓地 > cemetery;
+避免 > to\-avert;
+規格 > standard;
+場所 > location;
+追悼 > mourning;
+雇主 > employer;
+揭發 > disclose;
+許可 > to\-allow;
+傳訊 > subpoena;
+評估 > evaluate;
+拖鞋 > slippers;
+偽造 > to\-forge;
+火牆 > firewall;
+凶手 > murderer;
+無害 > harmless;
+軟膏 > ointment;
+掌聲 > applause;
+表觀 > apparent;
+埋沒 > oblivion;
+平常 > ordinary;
+拔除 > pull\-out;
+增加 > to\-raise;
+軌范 > standard;
+摩擦 > friction;
+覺得 > to\-think;
+高貴 > grandeur;
+剪刀 > scissors;
+充當 > serve\-as;
+為時 > timewise;
+達到 > to\-reach;
+西方 > the\-west;
+運動 > movement;
+欺侮 > to\-bully;
+通報 > bulletin;
+撥子 > plectrum;
+床墊 > mattress;
+抗體 > antibody;
+臨近 > close\-to;
+莫大 > greatest;
+約束 > restrict;
+切實 > feasible;
+界限 > boundary;
+陽光 > sunshine;
+分子 > molecule;
+相應 > relevant;
+眾多 > numerous;
+阻塞 > to\-block;
+絕對 > absolute;
+分娩 > delivery;
+管道 > pipeline;
+遊伴 > playmate;
+工業 > industry;
+冰排 > ice\-raft;
+進入 > to\-enter;
+路面 > pavement;
+直徑 > diameter;
+無名 > nameless;
+結婚 > to\-marry;
+堵塞 > blockage;
+撤回 > withdraw;
+睾丸 > testicle;
+經典 > classics;
+騰騰 > steaming;
+逼人 > pressing;
+輝煌 > splendid;
+無助 > helpless;
+採用 > to\-adopt;
+已故 > the\-late;
+序列 > sequence;
+發汗 > to\-sweat;
+國立 > national;
+箴言 > proverbs;
+補爐 > fettling;
+距離 > distance;
+自製 > homemade;
+阻力 > obstacle;
+瘟疫 > epidemic;
+蠕蠕 > wiggling;
+送別 > farewell;
+無人 > unmanned;
+公斤 > kilogram;
+公文 > document;
+抽象 > abstract;
+出口 > to\-speak;
+親善 > goodwill;
+興致 > interest;
+途中 > en\-route;
+間接 > indirect;
+鐵路 > railroad;
+搬弄 > move\-sth;
+標本 > specimen;
+退位 > abdicate;
+組合 > assemble;
+塌下 > collapse;
+逃亡 > fugitive;
+戰鬥 > to\-fight;
+統一 > to\-unify;
+刑事 > criminal;
+提案 > proposal;
+衝突 > conflict;
+追上 > overtake;
+航空 > aviation;
+修辭 > rhetoric;
+濾液 > filtrate;
+對面 > opposite;
+函件 > letteres;
+相反 > opposite;
+持續 > continue;
+馴鹿 > reindeer;
+手鐲 > bracelet;
+脫離 > separate;
+驚訝 > confound;
+脊骨 > backbone;
+捕獲 > to\-catch;
+駕駛 > to\-drive;
+採樣 > sampling;
+純品 > sterling;
+門徒 > disciple;
+近來 > recently;
+寺院 > cloister;
+答話 > to\-reply;
+業界 > industry;
+火山 > volcanic;
+其實 > actually;
+生詞 > new\-word;
+近乎 > close\-to;
+梵語 > sanskrit;
+便道 > shortcut;
+褲子 > trousers;
+寧靜 > tranquil;
+省份 > province;
+封鎖 > blockade;
+俯視 > overlook;
+崩潰 > collapse;
+載攜 > to\-carry;
+濕氣 > moisture;
+精密 > accuracy;
+茶匙 > teaspoon;
+國民 > national;
+兄弟 > brothers;
+校驗 > to\-check;
+粗心 > careless;
+冰冷 > ice\-cold;
+興盛 > flourish;
+倘若 > provided;
+關係 > relation;
+發射 > to\-shoot;
+手足 > movement;
+機動 > flexible;
+採掘 > excavate;
+越過 > to\-cross;
+裁撤 > dissolve;
+兵器 > weaponry;
+拔節 > jointing;
+演習 > exercise;
+紊亂 > disorder;
+跳舞 > to\-dance;
+範疇 > category;
+兵員 > soldiers;
+溶解 > dissolve;
+掙扎 > struggle;
+滲色 > bleeding;
+蛋黃 > egg\-yolk;
+共和 > republic;
+軍方 > military;
+構想 > conceive;
+背面 > the\-back;
+輔導 > to\-coach;
+寶貴 > valuable;
+入口 > entrance;
+驕縱 > arrogant;
+開創 > initiate;
+侵蝕 > to\-erode;
+儀式 > ceremony;
+扁蟲 > flatworm;
+兼併 > to\-annex;
+樂園 > paradise;
+容量 > capacity;
+描圖 > to\-trace;
+赤足 > barefoot;
+屁股 > buttocks;
+發動 > to\-start;
+製品 > products;
+共享 > to\-share;
+英俊 > handsome;
+捷徑 > shortcut;
+行業 > industry;
+馬車 > carriage;
+公主 > princess;
+提名 > nominate;
+四方 > four\-way;
+粗厲 > abrasive;
+車廂 > carriage;
+自治 > autonomy;
+高架 > overhead;
+困惑 > bewilder;
+笑聲 > laughter;
+松鼠 > squirrel;
+優勢 > superior;
+簿子 > notebook;
+傲慢 > arrogant;
+先令 > shilling;
+渠道 > channels;
+校訂 > revision;
+棒球 > baseball;
+優先 > priority;
+噴泉 > fountain;
+軍士 > sergeant;
+來臨 > approach;
+衣廚 > wardrobe;
+份量 > quantity;
+僱員 > employee;
+應該 > ought\-to;
+採光 > lighting;
+聚集 > assemble;
+按捺 > restrain;
+裁判 > judgment;
+人類 > humanity;
+估計 > estimate;
+坐下 > sit\-down;
+安謐 > tranquil;
+回家 > homeward;
+使者 > emissary;
+崩塌 > collapse;
+打破 > to\-break;
+對稱 > symmetry;
+假期 > vacation;
+飼養 > to\-raise;
+衣子 > covering;
+購買 > purchase;
+軼事 > anecdote;
+稀飯 > porridge;
+抱歉 > be\-sorry;
+漂浮 > to\-float;
+極好 > fabulous;
+極大 > enormous;
+界標 > landmark;
+地位 > position;
+稱重 > to\-weigh;
+節慶 > festival;
+蠻干 > reckless;
+鬧區 > downtown;
+準確 > accurate;
+侵略 > invasion;
+併紗 > doubling;
+病夫 > sick\-man;
+授予 > to\-award;
+學術 > learning;
+國內 > domestic;
+貴重 > precious;
+屠殺 > massacre;
+拔掉 > to\-pluck;
+簡化 > simplify;
+驕橫 > arrogant;
+買進 > purchase;
+買通 > to\-bribe;
+慎重 > cautious;
+滑溜 > slippery;
+指導 > to\-guide;
+位置 > position;
+篡奪 > to\-usurp;
+臨床 > clinical;
+栽種 > to\-plant;
+戰略 > strategy;
+園丁 > gardener;
+本體 > noumenon;
+骨幹 > backbone;
+人道 > humanity;
+身分 > position;
+人造 > man\-made;
+產業 > industry;
+居民 > resident;
+腳步 > footstep;
+拼字 > spelling;
+東部 > the\-east;
+高地 > highland;
+固件 > firmware;
+人身 > personal;
+鑲嵌 > to\-inlay;
+業務 > business;
+察看 > to\-watch;
+倍數 > multiple;
+對照 > contrast;
+抵押 > mortgage;
+肩膀 > shoulder;
+箱子 > suitcase;
+身份 > identity;
+低等 > inferior;
+就此 > and\-thus;
+筆架 > pen\-rack;
+寶物 > treasure;
+生日 > birthday;
+鐘擺 > pendulum;
+驅散 > disperse;
+抱怨 > complain;
+等於 > equal\-to;
+學習 > to\-learn;
+折扣 > discount;
+懸疑 > suspense;
+珍貴 > precious;
+懷疑 > to\-doubt;
+當天 > that\-day;
+鍵盤 > keyboard;
+指南 > to\-guide;
+家用 > home\-use;
+生意 > business;
+耗費 > to\-waste;
+致力 > work\-for;
+些許 > trifling;
+五角 > pentagon;
+等待 > wait\-for;
+房東 > landlord;
+修建 > to\-build;
+浪費 > to\-waste;
+突發 > outburst;
+信徒 > believer;
+打掃 > to\-clean;
+技工 > mechanic;
+持久 > duration;
+答對 > to\-reply;
+風車 > windmill;
+手提 > portable;
+飛行 > aviation;
+不靈 > not\-work;
+安生 > peaceful;
+打扮 > dress\-up;
+倒塌 > collapse;
+生存 > to\-exist;
+賦稅 > taxation;
+孔穴 > aperture;
+浴衣 > bathrobe;
+一面 > one\-side;
+恐龍 > dinosaur;
+山坡 > hillside;
+鐵器 > hardware;
+畫像 > portrait;
+當作 > treat\-as;
+禮貌 > courtesy;
+栽植 > to\-plant;
+信封 > envelope;
+聲稱 > to\-claim;
+對手 > opponent;
+信守 > abide\-by;
+聖約 > covenant;
+校正 > regulate;
+重點 > emphasis;
+聽眾 > audience;
+騎師 > horseman;
+秧苗 > seedling;
+恭順 > deferent;
+鍵槽 > key\-slot;
+購物 > shopping;
+單據 > receipts;
+會變 > variable;
+少年 > juvenile;
+騙子 > swindler;
+聯盟 > alliance;
+路口 > crossing;
+處罰 > penalize;
+金魚 > goldfish;
+媚詞 > flattery;
+含量 > contents;
+用功 > diligent;
+筆名 > pen\-name;
+佛教 > buddhism;
+可靠 > reliable;
+資產 > property;
+驅動 > to\-drive;
+驕傲 > arrogant;
+寓所 > dwelling;
+由余 > owing\-to;
+蘑菰 > mushroom;
+頁面 > web\-page;
+一起 > together;
+渴望 > desirous;
+走廊 > corridor;
+本能 > instinct;
+嗜好 > fondness;
+對外 > external;
+缺陷 > a\-defect;
+蛋殼 > eggshell;
+吃醋 > jealousy;
+合適 > suitable;
+官方 > official;
+滑冰 > to\-skate;
+商業 > business;
+財產 > property;
+宗教 > religion;
+韌體 > firmware;
+命脈 > lifeline;
+乃至 > and\-even;
+租稅 > land\-tax;
+項鍊 > necklace;
+恥辱 > disgrace;
+不行 > won''t\-do;
+守時 > punctual;
+暗轉 > blackout;
+打印 > to\-print;
+完整 > complete;
+侵吞 > to\-annex;
+波譜 > spectrum;
+栽子 > seedling;
+貂皮 > mink\-fur;
+醫院 > hospital;
+財物 > property;
+泳衣 > swimsuit;
+淚水 > teardrop;
+肉桂 > cinnamon;
+減掉 > subtract;
+鼻炎 > rhinitis;
+某時 > sometime;
+藥膏 > ointment;
+完成 > complete;
+溢出 > overflow;
+向西 > westward;
+變量 > variable;
+叛逆 > to\-rebel;
+戰區 > war\-zone;
+叱責 > reproach;
+立場 > position;
+貞潔 > chastity;
+栗子 > chestnut;
+中繼 > to\-relay;
+翳眼 > cataract;
+鎮區 > township;
+板油 > leaf\-fat;
+懸垂 > overhang;
+酒鬼 > drunkard;
+不肖 > unworthy;
+班機 > airliner;
+預言 > prophecy;
+窗子 > casement;
+實力 > strength;
+應對 > response;
+羚羊 > antelope;
+交流 > exchange;
+叛變 > renegade;
+戰事 > fighting;
+可行 > feasible;
+憔悴 > languish;
+危難 > calamity;
+安寧 > peaceful;
+丹砂 > cinnabar;
+核准 > sanction;
+譴責 > denounce;
+案件 > law\-case;
+姻親 > affinity;
+浪漫 > romantic;
+村民 > villager;
+慷慨 > vehement;
+論點 > argument;
+木炭 > charcoal;
+黃瓜 > cucumber;
+不端 > improper;
+暗自 > inwardly;
+懊喪 > dejected;
+稀有 > uncommon;
+飛機 > airplane;
+室友 > roommate;
+貶抑 > belittle;
+薄膜 > membrane;
+東方 > the\-east;
+稅收 > taxation;
+風潮 > campaign;
+背包 > knapsack;
+黨派 > partisan;
+子層 > sublayer;
+飲料 > beverage;
+人手 > manpower;
+二月 > february;
+沒落 > downfall;
+含碳 > carbonic;
+最為 > the\-most;
+醫藥 > medicine;
+深奧 > profound;
+啟動 > to\-start;
+學問 > learning;
+不用 > need\-not;
+風水 > fengshui;
+愚昧 > ignorant;
+材料 > material;
+水路 > waterway;
+子女 > children;
+事故 > accident;
+采聲 > applause;
+完全 > complete;
+碰觸 > to\-touch;
+不獨 > not\-only;
+定位 > position;
+存在 > to\-exist;
+貨幣 > currency;
+下獄 > imprison;
+孵化 > breeding;
+蚊子 > mosquito;
+不特 > not\-only;
+鞭蟲 > whipworm;
+不爽 > not\-well;
+性能 > function;
+洪流 > cataract;
+懂事 > sensible;
+食慾 > appetite;
+部類 > category;
+同盟 > alliance;
+震驚 > to\-shock;
+吸煙 > to\-smoke;
+謝謝 > to\-thank;
+不濟 > not\-good;
+頭痛 > headache;
+伙伴 > partisan;
+暗盒 > magazine;
+肖像 > portrait;
+中止 > to\-cease;
+講話 > a\-speech;
+林地 > woodland;
+深刻 > profound;
+亭子 > pavilion;
+音節 > syllable;
+架勢 > attitude;
+不測 > accident;
+太長 > oversize;
+勢頭 > momentum;
+大門 > entrance;
+愚弄 > derision;
+往還 > contacts;
+治療 > to\-treat;
+礦產 > minerals;
+上海 > shanghai;
+罪犯 > criminal;
+爐邊 > fireside;
+愉快 > cheerful;
+變種 > mutation;
+論述 > treatise;
+募集 > to\-raise;
+海峽 > straight;
+爭論 > to\-argue;
+聖化 > sanctify;
+明膫 > manifest;
+重申 > reaffirm;
+暴洪 > a\-sudden;
+替換 > exchange;
+餡兒 > stuffing;
+有所 > somewhat;
+斥責 > denounce;
+重獲 > recovery;
+不朽 > immortal;
+海外 > overseas;
+王家 > princely;
+哨兵 > sentinel;
+貶低 > belittle;
+雉雞 > pheasant;
+想家 > homesick;
+哥兒 > brothers;
+華麗 > gorgeous;
+買主 > customer;
+慘事 > disaster;
+預測 > forecast;
+美日 > us\-japan;
+負債 > indebted;
+雨量 > rainfall;
+司法 > judicial;
+誕辰 > birthday;
+咳嗽 > to\-cough;
+悲慟 > mournful;
+加長 > lengthen;
+吐棄 > to\-spurn;
+勸說 > persuade;
+處分 > disposal;
+日美 > japan\-us;
+增高 > heighten;
+遲頓 > inactive;
+財主 > rich\-man;
+不成 > won''t\-do;
+夢話 > daydream;
+不懈 > untiring;
+大要 > abstract;
+最少 > smallest;
+護照 > passport;
+主宰 > dominate;
+夢見 > to\-dream;
+不惟 > not\-only;
+事兒 > business;
+大衣 > overcoat;
+移交 > transfer;
+書寫 > to\-write;
+不怕 > fearless;
+不必 > need\-not;
+沖洗 > to\-rinse;
+不得 > must\-not;
+不很 > not\-very;
+暗暗 > secretly;
+剷除 > root\-out;
+𨺹 > mournful;
+神性 > divinity;
+總裁 > chairman;
+外表 > external;
+沉浸 > permeate;
+支配 > dominate;
+美德 > a\-virtue;
+雄辯 > eloquent;
+點名 > rollcall;
+忽然 > suddenly;
+日程 > schedule;
+姦淫 > adultery;
+豪俠 > cavalier;
+旺盛 > vigorous;
+外號 > nickname;
+奇聞 > anecdote;
+前額 > forehead;
+海上 > maritime;
+雜誌 > magazine;
+網際 > internet;
+熱誠 > devotion;
+合成 > compound;
+呼叫 > to\-shout;
+天花 > smallpox;
+雨衣 > raincoat;
+同意 > to\-agree;
+本來 > original;
+本位 > standard;
+向後 > backward;
+服務 > to\-serve;
+民眾 > populace;
+威望 > prestige;
+活動 > activity;
+叛教 > apostacy;
+不大 > not\-very;
+大能 > almighty;
+有力 > powerful;
+時機 > occasion;
+否定 > negative;
+藥商 > druggist;
+反映 > reaction;
+遺贈 > bequeath;
+文職 > civilian;
+婚嫁 > marriage;
+緊迫 > pressing;
+變數 > variable;
+議案 > proposal;
+君子 > nobleman;
+建設 > to\-build;
+特派 > dispatch;
+電腦 > computer;
+同屋 > roommate;
+藥劑 > medicine;
+一團 > regiment;
+磨擦 > friction;
+播音 > transmit;
+台座 > pedestal;
+欺負 > to\-bully;
+過載 > overload;
+遲誤 > to\-delay;
+祖國 > homeland;
+順從 > obedient;
+主任 > director;
+泰國 > thailand;
+解開 > to\-untie;
+暗室 > darkroom;
+奶牛 > milk\-cow;
+反應 > reaction;
+悲切 > mournful;
+不只 > not\-only;
+年青 > youthful;
+順序 > sequence;
+中保 > advocate;
+平靜 > tranquil;
+姿態 > attitude;
+告別 > to\-leave;
+一周 > one\-week;
+欺詐 > to\-cheat;
+一向 > all\-long;
+曝光 > exposure;
+氮氣 > nitrogen;
+附錄 > appendix;
+一匙 > spoonful;
+碗櫃 > cupboard;
+研究 > research;
+怠惰 > idleness;
+包皮 > wrapping;
+犯愁 > to\-worry;
+到達 > to\-reach;
+句子 > sentence;
+奉現 > offering;
+不倦 > tireless;
+每當 > whenever;
+訂購 > to\-order;
+斑白 > grizzled;
+證據 > evidence;
+祖先 > ancestor;
+常駐 > resident;
+暴力 > violence;
+集聚 > assemble;
+昔日 > formerly;
+功能 > function;
+警惕 > vigilant;
+波動 > undulate;
+預報 > forecast;
+奇特 > peculiar;
+忠於 > loyal\-to;
+明日 > tomorrow;
+詳細 > detailed;
+暴光 > exposure;
+頑固 > stubborn;
+選舉 > to\-elect;
+退避 > withdraw;
+練習 > exercise;
+培養 > to\-train;
+韌帶 > ligament;
+撤退 > retreat;
+牽扯 > involve;
+婚事 > wedding;
+檢閱 > inspect;
+訴苦 > grumble;
+暫停 > suspend;
+觸角 > antenna;
+彪炳 > shining;
+罷休 > give\-up;
+細長 > slender;
+認真 > earnest;
+時尚 > fashion;
+版本 > version;
+迴轉 > revolve;
+庇護 > shelter;
+酸性 > acidity;
+編纂 > compile;
+君主 > monarch;
+總理 > premier;
+天然 > natural;
+睡衣 > pajamas;
+整理 > arrange;
+煙草 > tobacco;
+燦爛 > glitter;
+可動 > movable;
+水手 > mariner;
+各個 > various;
+口吃 > stammer;
+菏蘭 > holland;
+領先 > to\-lead;
+菠菜 > spinach;
+十月 > october;
+讚同 > approve;
+毛毯 > blanket;
+陽臺 > balcony;
+近郊 > suburbs;
+狂喜 > ecstasy;
+永恆 > eternal;
+請求 > request;
+鄙棄 > disdain;
+出走 > to\-flee;
+效益 > benefit;
+重力 > gravity;
+碼字 > numeral;
+紡錘 > spindle;
+弄碎 > crumble;
+姐妹 > sisters;
+目錄 > catalog;
+正確 > correct;
+心愛 > beloved;
+弄短 > shorten;
+無處 > nowhere;
+變厚 > thicken;
+妖怪 > monster;
+緊緊 > closely;
+隱私 > privacy;
+關鍵 > crucial;
+姿勢 > posture;
+妒忌 > jealous;
+強烈 > intense;
+好戰 > warlike;
+平衡 > balance;
+特定 > special;
+弄皺 > crumple;
+相連 > to\-link;
+文法 > grammar;
+古來 > oldtime;
+天氣 > weather;
+正直 > upright;
+酒廠 > brewery;
+征服 > conquer;
+索道 > ropeway;
+陸續 > in\-turn;
+隱瞞 > to\-hide;
+外流 > outflow;
+工頭 > foreman;
+另一 > another;
+遠端 > far\-end;
+皮革 > leather;
+加甜 > sweeten;
+音信 > message;
+熱燙 > to\-burn;
+障礙 > barrier;
+語法 > grammar;
+警告 > to\-warn;
+然而 > however;
+大概 > roughly;
+電池 > battery;
+好幾 > several;
+比方 > analogy;
+退落 > subside;
+變亂 > turmoil;
+請教 > consult;
+熱潮 > upsurge;
+欺瞞 > to\-fool;
+比擬 > compare;
+議價 > bargain;
+纖弱 > fragile;
+博學 > learned;
+見證 > witness;
+加熱 > heating;
+城郊 > suburbs;
+牧場 > pasture;
+非常 > unusual;
+勇氣 > courage;
+失效 > to\-fail;
+先驅 > pioneer;
+鮑魚 > abalone;
+犯人 > convict;
+荷蘭 > holland;
+難民 > refugee;
+連結 > connect;
+很快 > quickly;
+遺物 > remnant;
+毒打 > beat\-up;
+醜事 > scandal;
+降級 > degrade;
+焦糖 > caramel;
+摘要 > summary;
+進程 > process;
+辯解 > explain;
+摔角 > wrestle;
+包扎 > wrap\-up;
+廢物 > rubbish;
+奇怪 > strange;
+委任 > appoint;
+櫃臺 > counter;
+殘株 > stubble;
+好奇 > curious;
+登陸 > to\-land;
+毆打 > beat\-up;
+監視 > oversee;
+形成 > to\-form;
+總數 > a\-total;
+特制 > special;
+強暴 > violent;
+德國 > germany;
+統統 > totally;
+無窮 > endless;
+矮林 > coppice;
+境界 > boundry;
+弄歪 > distort;
+冰袋 > ice\-bag;
+證人 > witness;
+閱讀 > to\-read;
+郵差 > postman;
+面嚮 > to\-face;
+觸發 > trigger;
+爭執 > dispute;
+瀝青 > asphalt;
+即便 > even\-if;
+大廈 > edifice;
+發酵 > ferment;
+即使 > even\-if;
+閱覽 > to\-read;
+幸福 > blessed;
+無益 > no\-good;
+利益 > benefit;
+防禦 > defense;
+歷時 > to\-last;
+版刻 > carving;
+經理 > manager;
+配偶 > consort;
+歪曲 > distort;
+救援 > to\-save;
+日出 > sunrise;
+氣候 > climate;
+繃帶 > bandage;
+無用 > useless;
+逗留 > stay\-at;
+利用 > exploit;
+區區 > trivial;
+爭吵 > dispute;
+微光 > glimmer;
+每夜 > nightly;
+違法 > illegal;
+出租 > to\-rent;
+雀斑 > freckle;
+收據 > receipt;
+十六 > sixteen;
+繪圖 > to\-draw;
+坦途 > highway;
+知悉 > to\-know;
+支撐 > prop\-up;
+熱情 > cordial;
+排除 > exclude;
+十倍 > tenfold;
+剛毛 > bristle;
+橫臥 > recline;
+刺激 > provoke;
+經濟 > economy;
+細節 > details;
+精製 > refined;
+教師 > teacher;
+樂趣 > delight;
+收成 > harvest;
+十五 > fifteen;
+多大 > how\-big;
+共處 > coexist;
+攪拌 > to\-stir;
+輕輕 > lightly;
+利潤 > profits;
+裝載 > to\-load;
+包含 > contain;
+擯棄 > abandon;
+發行 > publish;
+白蟻 > termite;
+選手 > athlete;
+失去 > to\-lose;
+輪詢 > to\-poll;
+彫刻 > engrave;
+花費 > expense;
+葉子 > foliage;
+草稿 > outline;
+武庫 > arsenal;
+弄平 > flatten;
+制止 > to\-curb;
+糾紛 > dispute;
+茅舍 > cottage;
+照搬 > to\-copy;
+兵艦 > warship;
+補貼 > subsidy;
+正常 > regular;
+廚房 > kitchen;
+文化 > culture;
+崩陷 > fall\-in;
+這次 > present;
+已經 > already;
+巴結 > fawn\-on;
+皺紋 > wrinkle;
+權杖 > scepter;
+匆促 > hastily;
+欄柵 > barrier;
+百萬 > million;
+多半 > chiefly;
+目的 > purpose;
+週末 > weekend;
+初步 > initial;
+欄杆 > railing;
+煩惱 > agonize;
+彈劾 > impeach;
+煩悶 > anguish;
+幫派 > faction;
+表面 > surface;
+糟糕 > too\-bad;
+總則 > profile;
+險峻 > arduous;
+制服 > uniform;
+像銀 > silvery;
+前提 > premise;
+編寫 > compile;
+維持 > to\-keep;
+接觸 > contact;
+勝利 > victory;
+夥伴 > partner;
+教員 > teacher;
+髕骨 > kneecap;
+擁有 > to\-have;
+此外 > besides;
+強制 > enforce;
+車輛 > vehicle;
+霍亂 > cholera;
+芬蘭 > finland;
+數位 > digital;
+輕蔑 > disdain;
+絲柏 > cypress;
+執照 > license;
+櫃檯 > counter;
+無效 > in\-vain;
+壁壘 > rampart;
+連接 > to\-link;
+訊息 > message;
+紙煙 > cigaret;
+歷史 > history;
+眺望 > lookout;
+關照 > concern;
+冰片 > borneol;
+劇場 > theater;
+熱切 > fervent;
+動亂 > turmoil;
+掩蓋 > conceal;
+阻攔 > to\-stop;
+弟兄 > brother;
+阻擋 > to\-stop;
+眉毛 > eyebrow;
+士兵 > soldier;
+被褥 > bedding;
+擺子 > malaria;
+衰退 > decline;
+引出 > extract;
+擔心 > anxious;
+公社 > commune;
+結果 > outcome;
+摧毀 > destroy;
+歲入 > revenue;
+分散 > scatter;
+墊子 > cushion;
+焦急 > anxiety;
+收到 > receive;
+監測 > monitor;
+鬢角 > temples;
+揭示 > to\-show;
+要求 > request;
+痕跡 > vestige;
+剝奪 > deprive;
+農民 > peasant;
+廠商 > company;
+到底 > finally;
+冒煙 > smoking;
+簡要 > concise;
+放任 > indulge;
+通常 > regular;
+真摯 > sincere;
+紅海 > red\-sea;
+冰河 > glacial;
+純正 > genuine;
+刨工 > planing;
+煙囪 > chimney;
+幻影 > phantom;
+拔頂 > topping;
+白白 > in\-vain;
+先知 > prophet;
+疾走 > scamper;
+已滅 > extinct;
+籠罩 > envelop;
+統帥 > command;
+陶器 > pottery;
+附寄 > enclose;
+絨布 > flannel;
+迎接 > to\-meet;
+儘管 > despite;
+阻尼 > damping;
+甜點 > dessert;
+軍艦 > warship;
+發現 > to\-find;
+閃爍 > flicker;
+衣裝 > garment;
+備註 > remarks;
+攔住 > to\-stop;
+裂紋 > crackle;
+挑起 > stir\-up;
+闡明 > clarify;
+到場 > show\-up;
+過剩 > surplus;
+蹣跚 > stagger;
+盛會 > pageant;
+剝削 > exploit;
+描畫 > to\-draw;
+裨益 > benefit;
+遇到 > to\-meet;
+偽證 > perjury;
+機械 > machine;
+照亮 > lighten;
+陳列 > display;
+停車 > to\-stop;
+陽傘 > parasol;
+山頂 > hilltop;
+掌管 > control;
+補益 > benefit;
+拷貝 > to\-copy;
+擠入 > intrude;
+權利 > a\-power;
+花環 > garland;
+公民 > citizen;
+巴林 > bahrain;
+偽裝 > to\-fake;
+堅強 > staunch;
+平均 > average;
+刺刀 > bayonet;
+簸箕 > dustpan;
+充滿 > full\-of;
+帳帘 > drapery;
+接生 > deliver;
+激素 > hormone;
+解剖 > dissect;
+振興 > promote;
+除了 > besides;
+瘧疾 > malaria;
+莊嚴 > stately;
+粗淺 > shallow;
+棲身 > stay\-at;
+平台 > terrace;
+拍賣 > auction;
+滋養 > nourish;
+解僱 > to\-fire;
+到來 > arrival;
+閒暇 > leisure;
+床側 > bedside;
+標槍 > javelin;
+疫苗 > vaccine;
+超齡 > too\-old;
+出售 > to\-sell;
+因素 > element;
+冰川 > glacier;
+闊度 > breadth;
+踐踏 > trample;
+業經 > already;
+轟擊 > bombard;
+幾個 > several;
+冰島 > iceland;
+挑舋 > provoke;
+圖畫 > drawing;
+冰山 > iceberg;
+極端 > extreme;
+農夫 > peasant;
+白晝 > daytime;
+兵戈 > weapons;
+跳躍 > to\-jump;
+療法 > therapy;
+尖頂 > steeple;
+腹部 > abdomen;
+發放 > provide;
+瘋狂 > madness;
+痲疹 > measles;
+親切 > amiable;
+工廠 > factory;
+插曲 > episode;
+血統 > lineage;
+濡濕 > moisten;
+抗議 > protest;
+絆倒 > stumble;
+糊弄 > to\-fool;
+帶動 > to\-spur;
+公式 > formula;
+災害 > scourge;
+花束 > bouquet;
+已婚 > married;
+扭轉 > reverse;
+戲院 > theater;
+痒痒 > to\-itch;
+例題 > example;
+茅屋 > cottage;
+優於 > surpass;
+機場 > airport;
+終于 > at\-last;
+模形 > pattern;
+蟋蟀 > cricket;
+信賴 > confide;
+芥末 > mustard;
+激烈 > intense;
+病症 > disease;
+冷卻 > cooling;
+桌面 > desktop;
+履行 > fulfill;
+皇帝 > emperor;
+表率 > example;
+揭幕 > opening;
+篇章 > writing;
+接替 > replace;
+機器 > machine;
+疾病 > disease;
+備用 > reserve;
+寬闊 > expanse;
+措施 > measure;
+內容 > content;
+採暖 > heating;
+相仿 > similar;
+傲然 > loftily;
+因為 > because;
+樵夫 > woodman;
+自私 > selfish;
+典型 > typical;
+茶具 > tea\-set;
+輪廓 > outline;
+糊塗 > muddled;
+榜樣 > example;
+閉塞 > stop\-up;
+表演 > perform;
+超過 > surpass;
+節目 > program;
+鑽石 > diamond;
+園林 > gardens;
+生菜 > lettuce;
+小販 > peddler;
+軌枕 > sleeper;
+白天 > daytime;
+英國 > england;
+首飾 > jewelry;
+工匠 > artisan;
+盈余 > surplus;
+俘虜 > captive;
+臂章 > armband;
+自由 > freedom;
+布丁 > pudding;
+圍攻 > besiege;
+喝采 > acclaim;
+生育 > to\-bear;
+赤道 > equator;
+高漲 > upsurge;
+門口 > doorway;
+損傷 > to\-harm;
+身材 > stature;
+英勇 > bravery;
+例證 > example;
+問題 > problem;
+寄送 > to\-send;
+傾斜 > incline;
+困擾 > perplex;
+複合 > complex;
+抄網 > dip\-net;
+百分 > percent;
+嚴正 > sternly;
+衣服 > clothes;
+或許 > perhaps;
+成語 > proverb;
+榮幸 > honored;
+漂礫 > boulder;
+馬蹬 > stirrup;
+模倣 > imitate;
+例行 > routine;
+商隊 > caravan;
+學院 > college;
+僵局 > impasse;
+捕手 > catcher;
+投票 > to\-vote;
+行李 > luggage;
+提到 > mention;
+驕矜 > haughty;
+信箱 > mailbox;
+密談 > commune;
+用盡 > exhaust;
+概念 > concept;
+停止 > to\-stop;
+元件 > element;
+地址 > address;
+國家 > country;
+孔雀 > peacock;
+鍵詞 > keyword;
+滑稽 > comical;
+商量 > consult;
+低調 > low\-key;
+按時 > on\-time;
+裝入 > to\-load;
+打算 > to\-plan;
+小結 > summary;
+小組 > a\-group;
+按摩 > massage;
+偉業 > exploit;
+質量 > quality;
+節日 > holiday;
+裁剪 > cut\-out;
+產物 > product;
+供給 > furnish;
+舞弄 > to\-wave;
+打碎 > shatter;
+拯救 > to\-save;
+在前 > forward;
+李鵬 > li\-peng;
+安設 > install;
+責難 > censure;
+島嶼 > islands;
+查調 > inquiry;
+拋棄 > discard;
+便盆 > bed\-pan;
+蠱惑 > enchant;
+假日 > holiday;
+安裝 > install;
+滲漏 > seepage;
+艦只 > warship;
+拷打 > to\-beat;
+聯邦 > federal;
+漂泊 > drifter;
+噸數 > tonnage;
+商討 > discuss;
+售賣 > to\-sell;
+香菜 > parsley;
+海鮮 > seafood;
+臥房 > bedroom;
+章節 > chapter;
+滴流 > trickle;
+疏忽 > neglect;
+僥倖 > luckily;
+懲罰 > penalty;
+傳單 > leaflet;
+香腸 > sausage;
+走私 > smuggle;
+專用 > special;
+龍蝦 > lobster;
+指定 > appoint;
+僕人 > servant;
+容納 > contain;
+侯爵 > marquis;
+椰子 > coconut;
+鑒戒 > warning;
+代詞 > pronoun;
+丹麥 > denmark;
+簡介 > summary;
+畫廊 > gallery;
+臥室 > bedroom;
+扳機 > trigger;
+衝力 > impulse;
+完美 > perfect;
+展望 > outlook;
+竊盜 > burglar;
+瑣細 > trivial;
+挪動 > to\-move;
+家禽 > poultry;
+空缺 > vacancy;
+最高 > highest;
+高原 > plateau;
+畫家 > painter;
+屈曲 > crooked;
+學者 > scholar;
+疲勞 > fatigue;
+滿手 > handful;
+不齒 > despise;
+投手 > pitcher;
+海邊 > seaside;
+把持 > control;
+噁心 > to\-hate;
+尋求 > to\-seek;
+本錢 > capital;
+膽子 > courage;
+耳語 > whisper;
+噴墨 > ink\-jet;
+之間 > between;
+有限 > limited;
+托架 > bracket;
+品質 > quality;
+本金 > capital;
+錦緞 > brocade;
+麻雀 > sparrow;
+扶持 > to\-help;
+虔誠 > sincere;
+保持 > to\-keep;
+扶手 > railing;
+最長 > longest;
+扳手 > spanner;
+便於 > easy\-to;
+海豚 > dolphin;
+愛護 > cherish;
+節儉 > thrifty;
+神體 > godhead;
+打擾 > disturb;
+中間 > betwixt;
+來歷 > history;
+感覺 > to\-feel;
+範例 > example;
+孤立 > isolate;
+當前 > current;
+層子 > stratum;
+本質 > essence;
+用字 > diction;
+聯網 > network;
+潛伏 > to\-hide;
+聯結 > to\-bind;
+管制 > control;
+促成 > procure;
+尊敬 > respect;
+安瓿 > ampoule;
+至上 > supreme;
+一項 > an\-item;
+抄寫 > to\-copy;
+贅瘤 > useless;
+清真 > islamic;
+畫兒 > picture;
+喜歡 > to\-like;
+仔細 > careful;
+屠夫 > butcher;
+上門 > drop\-in;
+學生 > student;
+獎金 > premium;
+人群 > a\-crowd;
+當今 > current;
+假使 > suppose;
+更遠 > farther;
+尋找 > to\-seek;
+併條 > drawing;
+也許 > perhaps;
+驚嚇 > horrify;
+扳子 > spanner;
+抽出 > extract;
+尷尬 > awkward;
+不錯 > correct;
+核查 > examine;
+丙酮 > acetone;
+才干 > ability;
+香水 > perfume;
+香氣 > incense;
+小心 > careful;
+成文 > written;
+吐露 > to\-tell;
+趕快 > at\-once;
+會議 > meeting;
+飛船 > airship;
+曼谷 > bangkok;
+呈送 > present;
+主詞 > subject;
+沉默 > silence;
+打字 > to\-type;
+沈默 > silence;
+跳動 > to\-beat;
+流行 > popular;
+佔有 > to\-have;
+宴會 > banquet;
+背棄 > abandon;
+領隊 > captain;
+月蝕 > eclipse;
+承受 > to\-bear;
+倉促 > hurried;
+抓傷 > scratch;
+不賴 > not\-bad;
+肥沃 > fertile;
+意義 > meaning;
+召集 > convene;
+神跡 > miracle;
+使徒 > apostle;
+清洗 > to\-wash;
+告訴 > to\-tell;
+脹大 > swollen;
+喜愛 > to\-like;
+寶寶 > darling;
+等候 > waiting;
+跌到 > to\-fall;
+懺悔 > confess;
+戶外 > outdoor;
+寬容 > lenient;
+能幹 > capable;
+不見 > not\-see;
+住房 > housing;
+耕種 > to\-till;
+戰士 > fighter;
+翡翠 > emerald;
+尊嚴 > dignity;
+密度 > density;
+尖叫 > screech;
+企業 > company;
+安撫 > placate;
+頂針 > thimble;
+核子 > nuclear;
+休會 > adjourn;
+貢物 > tribute;
+淘河 > pelican;
+飛盤 > frisbee;
+淘氣 > naughty;
+騎兵 > cavalry;
+懊惱 > annoyed;
+第七 > seventh;
+打倒 > flatten;
+促使 > spur\-on;
+風箱 > bellows;
+浴盆 > bathtub;
+群花 > blossom;
+托付 > entrust;
+栽培 > to\-grow;
+科目 > subject;
+馬子 > commode;
+越南 > vietnam;
+安慰 > comfort;
+空戰 > air\-war;
+成圈 > wreathe;
+應得 > deserve;
+戰勝 > prevail;
+不苟 > not\-lax;
+住宿 > lodging;
+贊成 > approve;
+變遷 > changes;
+未知 > unknown;
+情緒 > feeling;
+封入 > inclose;
+野貓 > wildcat;
+代替 > instead;
+案卷 > records;
+患者 > patient;
+來到 > to\-come;
+代數 > algebra;
+木瓦 > shingle;
+成功 > success;
+中立 > neutral;
+現時 > current;
+世紀 > century;
+低地 > lowland;
+海澡 > seaweed;
+含義 > meaning;
+今晚 > tonight;
+金融 > banking;
+哀求 > entreat;
+洗禮 > baptism;
+學家 > scholar;
+妓院 > brothel;
+不等 > to\-vary;
+顯示 > to\-show;
+博雅 > learned;
+青魚 > herring;
+馬具 > harness;
+名義 > titular;
+不祥 > ominous;
+消極 > passive;
+水銀 > mercury;
+暈船 > seasick;
+職工 > workers;
+日間 > daytime;
+孟子 > mencius;
+神祖 > godhead;
+曉示 > to\-tell;
+蒸餾 > distill;
+完善 > perfect;
+悲痛 > grieved;
+官司 > lawsuit;
+非難 > reproof;
+永遠 > forever;
+酬載 > payload;
+聽寫 > dictate;
+委託 > entrust;
+虧損 > deficit;
+麻煩 > trouble;
+馬上 > at\-once;
+景色 > scenery;
+祈禱 > to\-pray;
+忽視 > neglect;
+譏誚 > cynical;
+確認 > confirm;
+王權 > royalty;
+方面 > respect;
+古老 > ancient;
+企圖 > attempt;
+題目 > subject;
+污衊 > slander;
+羅盤 > compass;
+現實 > reality;
+質地 > texture;
+乾旱 > drought;
+珍愛 > cherish;
+贊助 > sponsor;
+忠誠 > devoted;
+斑駮 > mottled;
+鄭重 > serious;
+升遷 > promote;
+半途 > halfway;
+反而 > instead;
+好轉 > improve;
+王朝 > dynasty;
+惡棍 > villain;
+半路 > halfway;
+整體 > overall;
+羽毛 > feather;
+感情 > feeling;
+鼻孔 > nostril;
+哀思 > pensive;
+任務 > mission;
+愛惜 > cherish;
+猖獗 > rampant;
+果園 > orchard;
+旁邊 > lateral;
+風景 > scenery;
+鴕鳥 > ostrich;
+醜聞 > scandal;
+飽學 > learned;
+殘骸 > remains;
+文雅 > elegant;
+飛彈 > missile;
+聽力 > hearing;
+仿傚 > to\-copy;
+日誌 > journal;
+外面 > outside;
+頑皮 > naughty;
+暴烈 > violent;
+雄黃 > realgar;
+會期 > session;
+不法 > lawless;
+周末 > weekend;
+淡光 > shimmer;
+類比 > analogy;
+諺語 > proverb;
+大錯 > blunder;
+老年 > elderly;
+丟棄 > discard;
+老師 > teacher;
+變硬 > stiffen;
+海岸 > coastal;
+日蝕 > eclipse;
+礦物 > mineral;
+豹子 > leopard;
+奇蹟 > miracle;
+比較 > compare;
+奇跡 > miracle;
+以便 > so\-that;
+著陸 > landing;
+張開 > stretch;
+大都 > general;
+好處 > benefit;
+科學 > science;
+愛好 > to\-like;
+液化 > liquify;
+鄙視 > despise;
+更換 > replace;
+方言 > dialect;
+古物 > antique;
+日落 > sundown;
+神格 > godhead;
+本屆 > current;
+郵費 > postage;
+曖昧 > illicit;
+如花 > flowery;
+鞭策 > spur\-on;
+情感 > feeling;
+丹心 > loyalty;
+雄雞 > rooster;
+沿海 > coastal;
+放開 > unleash;
+繪製 > to\-draw;
+中性 > neutral;
+鄙薄 > despise;
+誹謗 > slander;
+怪物 > monster;
+復興 > restore;
+涉及 > involve;
+羨慕 > envious;
+包裹 > wrap\-up;
+著述 > writing;
+外貌 > profile;
+餅乾 > biscuit;
+有害 > harmful;
+酒精 > alcohol;
+社會 > society;
+羞愧 > ashamed;
+主導 > to\-lead;
+暴政 > tyranny;
+感到 > to\-feel;
+王國 > kingdom;
+易碎 > brittle;
+釘死 > crucify;
+顧忌 > scruple;
+愈合 > to\-heal;
+哀傷 > grieved;
+數詞 > numeral;
+詳述 > recount;
+剩餘 > surplus;
+願意 > to\-wish;
+包藏 > contain;
+玩兒 > to\-play;
+中子 > neutron;
+金橘 > kumquat;
+需要 > to\-need;
+悔恨 > remorse;
+含意 > meaning;
+最大 > biggest;
+最多 > at\-most;
+曉得 > to\-know;
+耕作 > farming;
+急流 > torrent;
+罷手 > give\-up;
+老兵 > veteran;
+老公 > husband;
+壓迫 > oppress;
+猜想 > suppose;
+中央 > central;
+隊長 > captain;
+砲臺 > battery;
+乏味 > tedious;
+𡜱 > to\-envy;
+擯除 > discard;
+編造 > compile;
+上將 > general;
+呼吸 > breathe;
+𢘸 > to\-hate;
+猜度 > surmise;
+呻吟 > to\-moan;
+物理 > physics;
+遴選 > to\-pick;
+爭端 > dispute;
+女神 > goddess;
+想像 > imagine;
+引言 > forward;
+同志 > comrade;
+包羅 > include;
+不好 > no\-good;
+讌會 > banquet;
+旅程 > journey;
+本事 > ability;
+釋放 > release;
+沒有 > haven''t;
+南瓜 > pumpkin;
+變暖 > warming;
+氣球 > balloon;
+狂暴 > frantic;
+丈夫 > husband;
+神女 > goddess;
+吊床 > hammock;
+及時 > in\-time;
+妖物 > monster;
+部署 > dispose;
+也不 > neither;
+可憐 > pitiful;
+女皇 > empress;
+增進 > promote;
+遙遠 > distant;
+遙遙 > distant;
+評論 > comment;
+一天 > one\-day;
+可愛 > amiable;
+改裝 > remodel;
+牽涉 > involve;
+阿飛 > hoodlum;
+可恨 > hateful;
+悲哀 > grieved;
+顧問 > adviser;
+天線 > antenna;
+勳績 > exploit;
+法官 > a\-judge;
+美國 > america;
+最佳 > optimum;
+幽靈 > specter;
+運轉 > to\-work;
+雷聲 > thunder;
+運輸 > transit;
+特殊 > special;
+悲劇 > tragedy;
+石膏 > plaster;
+書信 > epistle;
+度量 > measure;
+經銷 > to\-sell;
+劍術 > fencing;
+叛徒 > traitor;
+註解 > comment;
+網路 > network;
+上午 > morning;
+緒言 > preface;
+訴訟 > lawsuit;
+誇耀 > proudly;
+文章 > article;
+缺席 > absence;
+一口 > readily;
+吮吸 > to\-suck;
+七十 > seventy;
+狂怒 > furious;
+新生 > newborn;
+隱藏 > to\-hide;
+經過 > to\-pass;
+不再 > no\-more;
+隱蔽 > conceal;
+世俗 > profane;
+思想 > thought;
+年鑑 > almanac;
+改良 > improve;
+急忙 > hastily;
+繪畫 > drawing;
+比畫 > gesture;
+燈籠 > lantern;
+編著 > compile;
+警戒 > to\-warn;
+維護 > defense;
+量子 > quantum;
+猿人 > ape\-man;
+叫好 > applaud;
+類似 > similar;
+逐退 > repulse;
+碰撞 > collide;
+注入 > pour\-in;
+頂多 > at\-most;
+前言 > preface;
+非法 > illegal;
+水晶 > crystal;
+正義 > justice;
+晚宴 > banquet;
+向前 > forward;
+辯駁 > dispute;
+從此 > thence;
+鳥羽 > pinion;
+報酬 > reward;
+編者 > editor;
+誤用 > misuse;
+外甥 > nephew;
+重回 > return;
+強盜 > bandit;
+詩篇 > psalms;
+方法 > method;
+政策 > policy;
+逃走 > escape;
+警察 > police;
+法令 > decree;
+危懼 > afraid;
+罪人 > sinner;
+大炮 > cannon;
+大災 > plague;
+勃發 > thrive;
+吉他 > guitar;
+包涵 > excuse;
+毀滅 > perish;
+帶釦 > buckle;
+確實 > indeed;
+動物 > animal;
+緊縮 > reduce;
+燒焦 > scorch;
+領事 > consul;
+大浪 > billow;
+睡著 > asleep;
+變化 > change;
+氣息 > breath;
+擱置 > shelve;
+變動 > change;
+整潔 > neatly;
+旨意 > decree;
+弊病 > malady;
+選票 > a\-vote;
+剽竊 > pirate;
+編碼 > coding;
+鄉村 > rustic;
+巨頭 > tycoon;
+頂事 > useful;
+撕裂 > mangle;
+附著 > adhere;
+正當 > timely;
+怒吼 > bellow;
+奇景 > marvel;
+版式 > format;
+遠程 > remote;
+縮減 > to\-cut;
+半徑 > radius;
+磨光 > polish;
+鮭魚 > salmon;
+降臨 > befall;
+課業 > lesson;
+醜化 > defame;
+角落 > corner;
+狂人 > madman;
+時刻 > moment;
+大桶 > barrel;
+看見 > to\-see;
+緣由 > reason;
+解脫 > relief;
+破敗 > beaten;
+旗幟 > ensign;
+水壺 > kettle;
+殖民 > colony;
+旋律 > melody;
+郵政 > postal;
+靶子 > target;
+後悔 > regret;
+動機 > motive;
+厭倦 > dreary;
+徐徐 > slowly;
+內陸 > inland;
+工錢 > salary;
+公開 > public;
+原先 > former;
+八開 > octavo;
+熊熊 > raging;
+辯論 > debate;
+短歌 > ballad;
+博士 > doctor;
+奶子 > breast;
+忠告 > advice;
+砲手 > gunner;
+多星 > starry;
+律師 > lawyer;
+微妙 > subtle;
+好好 > nicely;
+總是 > always;
+開鎖 > unlock;
+步測 > pacing;
+營救 > rescue;
+敬服 > admire;
+酬勞 > reward;
+得宜 > proper;
+初級 > junior;
+輕鬆 > gentle;
+爐床 > hearth;
+謊報 > to\-lie;
+確保 > ensure;
+運用 > to\-use;
+天才 > talent;
+絲絨 > velvet;
+道理 > reason;
+攪混 > to\-mix;
+壽材 > coffin;
+解答 > answer;
+版圖 > domain;
+政權 > regime;
+很少 > seldom;
+爵士 > knight;
+襯裡 > lining;
+謙和 > meekly;
+網球 > tennis;
+荒蕪 > barren;
+包庇 > shield;
+分給 > divide;
+天性 > inborn;
+歐洲 > europe;
+勾引 > seduce;
+白銀 > silver;
+熱望 > aspire;
+精選 > chosen;
+效果 > result;
+誘拐 > abduct;
+誠懇 > hearty;
+通知 > notify;
+刺痛 > tingle;
+徵召 > enlist;
+歡樂 > gaiety;
+紫色 > purple;
+裡面 > inside;
+先鋒 > herald;
+平穩 > smooth;
+敵意 > enmity;
+巴西 > brazil;
+物件 > object;
+卸下 > unload;
+包容 > pardon;
+誘惑 > entice;
+牧人 > pastor;
+增添 > add\-to;
+外形 > figure;
+集會 > gather;
+隨機 > random;
+兵變 > mutiny;
+敏捷 > nimble;
+牛仔 > cowboy;
+提醒 > remind;
+觸犯 > offend;
+奪取 > snatch;
+夫子 > pedant;
+太子 > prince;
+採集 > gather;
+真空 > vacu\:m;
+殺害 > murder;
+殘忍 > bloody;
+閒話 > gossip;
+眼皮 > eyelid;
+細線 > string;
+辭職 > resign;
+鄙吝 > vulgar;
+線條 > streak;
+鴿子 > pigeon;
+徒勞 > futile;
+得到 > to\-get;
+轉變 > change;
+細粉 > powder;
+誠實 > honest;
+希臘 > greece;
+難得 > seldom;
+大夫 > doctor;
+數字 > number;
+濺開 > splash;
+攻打 > attack;
+遊歷 > travel;
+剛正 > honest;
+復仇 > avenge;
+階梯 > ladder;
+壓扁 > squash;
+詩意 > poetic;
+緣故 > reason;
+攝政 > regent;
+從來 > always;
+標語 > slogan;
+縮小 > reduce;
+發誓 > to\-vow;
+橡膠 > rubber;
+地鐵 > subway;
+雌性 > female;
+十一 > eleven;
+從事 > go\-for;
+熱帶 > tropic;
+雜工 > porter;
+出產 > output;
+奢侈 > luxury;
+蒙受 > suffer;
+掛鉤 > couple;
+純粹 > purely;
+夏天 > summer;
+鄙俚 > vulgar;
+鄙俗 > vulgar;
+露出 > expose;
+攀昇 > rising;
+煩擾 > bother;
+解渴 > quench;
+遺憾 > regret;
+歌手 > singer;
+巡航 > cruise;
+布線 > wiring;
+正式 > formal;
+冰箱 > icebox;
+系統 > system;
+無法 > unable;
+逕流 > runoff;
+夾克 > jacket;
+大吃 > gobble;
+毫不 > hardly;
+道教 > taoism;
+診所 > clinic;
+遺恨 > grudge;
+擴散 > spread;
+鬆餅 > muffin;
+擯斥 > reject;
+加崙 > gallon;
+奇事 > marvel;
+教堂 > church;
+詞尾 > suffix;
+週期 > period;
+零售 > retail;
+櫻桃 > cherry;
+在車 > aboard;
+茶碗 > teacup;
+緞帶 > ribbon;
+分派 > assign;
+疾馳 > gallop;
+緊急 > urgent;
+廁所 > toilet;
+度數 > degree;
+阻橈 > thwart;
+控訴 > accuse;
+搖籃 > cradle;
+著名 > famous;
+強勢 > mighty;
+紮營 > encamp;
+綁架 > kidnap;
+凹洞 > cavity;
+弱化 > weaken;
+陰戶 > vagina;
+擊敗 > defeat;
+進接 > access;
+短句 > clause;
+絕氣 > expire;
+証實 > verify;
+連擊 > batter;
+教區 > parish;
+逮捕 > arrest;
+監獄 > prison;
+火箭 > rocket;
+隱士 > hermit;
+芹菜 > celery;
+短劍 > dagger;
+芭蕉 > banana;
+強健 > sturdy;
+武器 > weapon;
+舌頭 > tongue;
+煤屑 > cinder;
+平板 > tablet;
+凹槽 > socket;
+記帳 > charge;
+刮掉 > scrape;
+陰影 > shadow;
+高雅 > dainty;
+歡喜 > joyful;
+分枝 > branch;
+削弱 > weaken;
+步哨 > sentry;
+搪瓷 > enamel;
+傳達 > convey;
+擴展 > extend;
+分會 > branch;
+激起 > arouse;
+衡量 > weight;
+骨髓 > marrow;
+搔癢 > tickle;
+雕像 > statue;
+正午 > midday;
+撫抱 > caress;
+公眾 > public;
+救主 > savior;
+粘粘 > sticky;
+歷來 > always;
+攪動 > to\-mix;
+街道 > street;
+巴爾 > baltic;
+的確 > really;
+過失 > defect;
+長短 > length;
+幫手 > helper;
+正值 > honest;
+公用 > public;
+遭受 > suffer;
+附庸 > vassal;
+目標 > target;
+適合 > to\-fit;
+高達 > attain;
+補給 > supply;
+花粉 > pollen;
+全球 > entire;
+挑選 > choose;
+遭到 > suffer;
+白痴 > idiocy;
+峽谷 > canyon;
+噪音 > rumble;
+捍衛 > defend;
+表親 > cousin;
+觀念 > notion;
+裁縫 > tailor;
+採納 > accept;
+補種 > reseed;
+允當 > proper;
+冰柱 > icicle;
+閱歷 > to\-see;
+坦白 > honest;
+防守 > defend;
+阿姨 > auntie;
+草料 > fodder;
+線上 > online;
+出席 > attend;
+驚駭 > fright;
+素描 > sketch;
+兇猛 > fierce;
+閒混 > loiter;
+摟抱 > to\-hug;
+自身 > itself;
+進口 > import;
+採礦 > mining;
+擾亂 > infest;
+結尾 > ending;
+閣樓 > garret;
+花生 > peanut;
+過份 > unduly;
+驟雨 > shower;
+幃幕 > screen;
+搶救 > rescue;
+光澤 > luster;
+搜查 > search;
+逝去 > elapse;
+光漆 > enamel;
+搭救 > rescue;
+光滑 > glossy;
+逕向 > radial;
+屏風 > screen;
+逼仄 > narrow;
+相差 > differ;
+關心 > caring;
+搖晃 > falter;
+抵達 > arrive;
+地產 > estate;
+細嫩 > tender;
+局面 > aspect;
+澱粉 > starch;
+標榜 > flaunt;
+白楊 > poplar;
+源點 > source;
+滑雪 > to\-ski;
+回絕 > rebuff;
+襪帶 > garter;
+綁住 > fasten;
+眼光 > vision;
+樣本 > sample;
+烈士 > martyr;
+精明 > astute;
+腳鐐 > fetter;
+產量 > output;
+白果 > ginkgo;
+帆布 > canvas;
+布幕 > screen;
+跳進 > plunge;
+嚴肅 > solemn;
+附上 > attach;
+抬起 > uplift;
+幾乎 > almost;
+迫切 > urgent;
+瀉湖 > lagoon;
+約定 > engage;
+簡直 > simply;
+跟進 > follow;
+光是 > solely;
+給予 > accord;
+山谷 > valley;
+報信 > notify;
+簡略 > simple;
+複數 > plural;
+白搭 > no\-use;
+巡弋 > cruise;
+機密 > secret;
+航程 > flight;
+冬天 > winter;
+援手 > succor;
+體系 > system;
+帝國 > empire;
+茶壺 > teapot;
+盟國 > allies;
+橘子 > orange;
+裁決 > ruling;
+視力 > vision;
+實體 > entity;
+發抖 > shiver;
+索取 > to\-ask;
+席卷 > engulf;
+地毯 > carpet;
+八度 > octave;
+用語 > syntax;
+市場 > market;
+城堡 > castle;
+節約 > frugal;
+甲蟲 > beetle;
+承諾 > effort;
+衛生 > health;
+長度 > length;
+補救 > remedy;
+修訂 > revise;
+師傅 > master;
+迄今 > so\-far;
+實際 > actual;
+嘗試 > to\-try;
+垂幕 > canopy;
+蠟筆 > crayon;
+冰凍 > freeze;
+侮辱 > insult;
+樣子 > manner;
+疫病 > plague;
+執事 > deacon;
+成長 > mature;
+溝道 > groove;
+農人 > farmer;
+插座 > socket;
+滾落 > tumble;
+將近 > almost;
+系列 > series;
+盈利 > profit;
+排斥 > reject;
+扮裝 > makeup;
+拉緊 > strain;
+保衛 > defend;
+融解 > molten;
+圖案 > design;
+腔調 > accent;
+走錯 > astray;
+喉頭 > throat;
+節省 > saving;
+輕微 > slight;
+圓柱 > column;
+棉花 > cotton;
+屏蔽 > screen;
+內地 > inland;
+信號 > signal;
+小貓 > kitten;
+行為 > action;
+對象 > target;
+共同 > common;
+埋伏 > ambush;
+疆界 > border;
+對話 > dialog;
+符號 > symbol;
+胸針 > brooch;
+搭乘 > embark;
+脅迫 > coerce;
+喚醒 > arouse;
+八十 > eighty;
+樣品 > sample;
+簸揚 > winnow;
+棒糖 > sucker;
+算盤 > abacus;
+簡易 > simple;
+蠟燭 > candle;
+精力 > energy;
+公共 > public;
+傳染 > infect;
+工人 > worker;
+在後 > behind;
+自然 > nature;
+滾筒 > roller;
+潤滑 > smooth;
+起訴 > to\-sue;
+蝗蟲 > locust;
+岸然 > solemn;
+傳教 > preach;
+裁定 > ruling;
+等級 > degree;
+較好 > better;
+花園 > garden;
+花圈 > wreath;
+腎臟 > kidney;
+捕拿 > arrest;
+路程 > course;
+先前 > before;
+憂鬱 > sullen;
+馬路 > street;
+穗飾 > tassel;
+倫理 > ethics;
+瑞金 > ruijin;
+抱病 > be\-ill;
+傳授 > impart;
+車庫 > garage;
+測量 > survey;
+字首 > prefix;
+魚夫 > fisher;
+粗劣 > coarse;
+花哨 > garish;
+才能 > talent;
+輕咬 > nibble;
+條紋 > stripe;
+致死 > deadly;
+嚴格 > strict;
+插入 > insert;
+漂白 > bleach;
+挫敗 > thwart;
+贖金 > ransom;
+籃子 > basket;
+行星 > planet;
+回憶 > recall;
+光亮 > bright;
+濾器 > filter;
+粗俗 > vulgar;
+穀類 > cereal;
+偵查 > detect;
+傷心 > grieve;
+容許 > permit;
+控告 > accuse;
+袖子 > sleeve;
+低語 > mutter;
+花兒 > flower;
+蜥蜴 > lizard;
+漣漪 > ripple;
+固守 > adhere;
+國外 > abroad;
+液體 > liquid;
+背誦 > recite;
+枕頭 > pillow;
+蜘蛛 > spider;
+崎嶇 > rugged;
+餑餑 > pastry;
+疲憊 > beaten;
+侍者 > waiter;
+餐飲 > repast;
+傷害 > injure;
+修理 > repair;
+何處 > whence;
+漫步 > ramble;
+信用 > credit;
+涼鞋 > sandal;
+海龜 > turtle;
+因子 > factor;
+拳擊 > boxing;
+軟化 > soften;
+安詳 > serene;
+土匪 > bandit;
+拔根 > uproot;
+扣留 > detain;
+松雞 > grouse;
+香蕉 > banana;
+高度 > height;
+構件 > member;
+商談 > confer;
+異教 > heresy;
+簡單 > simple;
+棺材 > coffin;
+地主 > a\-host;
+高山 > alpine;
+僱佣 > employ;
+飢餓 > hunger;
+生涯 > career;
+森林 > forest;
+作者 > author;
+挪威 > norway;
+尋的 > homing;
+嚴密 > strict;
+拘捕 > arrest;
+健康 > health;
+表哥 > cousin;
+朋黨 > clique;
+混血 > hybrid;
+跋涉 > trudge;
+僅僅 > barely;
+回去 > return;
+漏斗 > funnel;
+賓語 > object;
+乳頭 > nipple;
+滿期 > expire;
+理論 > theory;
+介質 > medium;
+答案 > answer;
+鑿子 > chisel;
+由於 > due\-to;
+把柄 > handle;
+和風 > breeze;
+使用 > to\-use;
+聘請 > engage;
+扶植 > foster;
+環球 > global;
+崗位 > a\-post;
+便池 > urinal;
+回來 > return;
+拓展 > expand;
+溪流 > stream;
+嚴厲 > severe;
+潛在 > hidden;
+船上 > aboard;
+宣稱 > assert;
+哀辭 > lament;
+手段 > method;
+乾酪 > cheese;
+更高 > higher;
+偌大 > so\-big;
+宣示 > to\-vow;
+小氣 > stingy;
+體制 > system;
+成熟 > mature;
+肌肉 > muscle;
+作用 > action;
+抽屜 > drawer;
+驚恐 > appall;
+把手 > handle;
+手槍 > pistol;
+家畜 > cattle;
+福音 > gospel;
+起源 > origin;
+群體 > colony;
+亂跳 > bounce;
+男巫 > wizard;
+膽大 > daring;
+安祥 > serene;
+答復 > answer;
+跟從 > follow;
+健全 > robust;
+根源 > origin;
+能源 > energy;
+本身 > itself;
+拌嘴 > bicker;
+打擊 > to\-hit;
+應當 > should;
+扣押 > detain;
+笨拙 > clumsy;
+個子 > height;
+應用 > to\-use;
+瑕疵 > stigma;
+曝露 > expose;
+海裡 > marine;
+味道 > flavor;
+手指 > finger;
+把子 > handle;
+私語 > murmur;
+養育 > foster;
+最近 > recent;
+清瘦 > meager;
+活躍 > active;
+岸上 > ashore;
+成果 > result;
+中途 > midway;
+頂點 > summit;
+暴露 > expose;
+突然 > sudden;
+木製 > wooden;
+安然 > safely;
+飢荒 > famine;
+趾尖 > tiptoe;
+束腰 > girdle;
+宮殿 > palace;
+板結 > harden;
+供應 > supply;
+信奉 > belief;
+成效 > effect;
+瓶子 > bottle;
+三重 > treble;
+客氣 > polite;
+浮著 > afloat;
+媒質 > medium;
+變黑 > darken;
+孤獨 > lonely;
+渠溝 > trench;
+胡椒 > pepper;
+浮華 > vanity;
+駁斥 > refute;
+不適 > unwell;
+羞辱 > baffle;
+留下 > remain;
+上邊 > upside;
+鏡子 > mirror;
+胡桃 > walnut;
+鏟子 > shovel;
+封建 > feudal;
+果真 > really;
+和藹 > kindly;
+鸚鵡 > parrot;
+穿洞 > pierce;
+寺廟 > temple;
+理由 > reason;
+足夠 > enough;
+蕁麻 > nettle;
+客棧 > tavern;
+寶座 > throne;
+叩頭 > kowtow;
+房客 > tenant;
+第四 > fourth;
+野餐 > picnic;
+專家 > expert;
+柳樹 > willow;
+由來 > origin;
+使得 > usable;
+漂亮 > pretty;
+嗓子 > throat;
+蜃景 > mirage;
+重音 > accent;
+反駁 > retort;
+少女 > maiden;
+由于 > due\-to;
+海綿 > sponge;
+球狀 > sphere;
+用于 > use\-in;
+應有 > proper;
+貧瘠 > barren;
+號碼 > number;
+晚飯 > supper;
+賭注 > stakes;
+神諭 > oracle;
+愚笨 > stupid;
+果然 > really;
+不要 > don''t\!;
+材積 > volume;
+扁圓 > oblate;
+黃色 > yellow;
+叮鈴 > jingle;
+第八 > eighth;
+居住 > reside;
+學校 > school;
+上衫 > blouse;
+波谷 > trough;
+上衣 > jacket;
+寶塔 > pagoda;
+客戶 > client;
+窗戶 > window;
+家庭 > family;
+重量 > weight;
+柏林 > berlin;
+有罪 > guilty;
+鍵帽 > keycap;
+小包 > packet;
+亨特 > hunter;
+積極 > active;
+打傷 > bruise;
+頁邊 > margin;
+手冊 > manual;
+寂寞 > lonely;
+海盜 > pirate;
+背後 > behind;
+牙齒 > dental;
+作家 > author;
+名言 > saying;
+普通 > common;
+耀眼 > dazzle;
+主編 > editor;
+港彎 > harbor;
+背帶 > braces;
+犯錯 > to\-err;
+聖殿 > temple;
+暴虐 > brutal;
+波蘭 > poland;
+駁回 > reject;
+成員 > member;
+想睡 > drowsy;
+星雲 > nebula;
+變軟 > soften;
+不能 > cannot;
+海狸 > beaver;
+依偎 > nestle;
+憤慨 > resent;
+懦夫 > coward;
+休惜 > recess;
+蓬鬆 > fluffy;
+可親 > kindly;
+磁鐵 > magnet;
+領袖 > leader;
+不羈 > unruly;
+校園 > campus;
+成勣 > result;
+神聖 > divine;
+中等 > medium;
+變質 > go\-bad;
+羊肉 > mutton;
+消滅 > perish;
+喉嚨 > throat;
+性質 > nature;
+吊著 > dangle;
+柱子 > pillar;
+清廉 > honest;
+危險 > danger;
+安定 > stable;
+憎惡 > loathe;
+口袋 > pocket;
+憎恨 > detest;
+喜劇 > comedy;
+寒冬 > wintry;
+貶斥 > demote;
+奮鬥 > strive;
+單位 > a\-unit;
+有用 > useful;
+球拍 > racket;
+句號 > period;
+口號 > slogan;
+穩定 > stable;
+單一 > single;
+子彈 > bullet;
+安培 > ampere;
+硬領 > collar;
+顆粒 > kernel;
+食槽 > manger;
+媒界 > medium;
+本源 > origin;
+宰割 > invade;
+背叛 > betray;
+贖回 > redeem;
+波紋 > ripple;
+窗口 > window;
+獨特 > unique;
+字尾 > suffix;
+神社 > shrine;
+蕪菁 > turnip;
+油脂 > grease;
+靛青 > indigo;
+鞠躬 > to\-bow;
+金色 > golden;
+卷軸 > scroll;
+大麥 > barley;
+鵓鴿 > pigeon;
+室內 > indoor;
+何以 > whence;
+受苦 > suffer;
+伸出 > extend;
+一瞥 > glance;
+伯勞 > shrike;
+活潑 > lively;
+斬首 > behead;
+賓客 > guests;
+匕首 > dagger;
+瑞典 > sweden;
+講道 > preach;
+鼻息 > breath;
+謙遜 > humble;
+貪心 > greedy;
+贊同 > assent;
+薄紙 > tissue;
+悶熱 > sultry;
+頒給 > confer;
+讚美 > admire;
+現存 > extant;
+餐巾 > napkin;
+以太 > ether\-;
+態度 > manner;
+奶酪 > cheese;
+狹窄 > narrow;
+瑣事 > trifle;
+老是 > always;
+蕃茄 > tomato;
+財帛 > wealth;
+預算 > budget;
+青銅 > bronze;
+忘記 > forget;
+頑童 > urchin;
+混合 > to\-mix;
+會死 > mortal;
+不然 > not\-so;
+讀者 > reader;
+洪水 > deluge;
+感慨 > lament;
+賭博 > gamble;
+事情 > affair;
+存取 > access;
+木料 > lumber;
+財富 > wealth;
+深化 > deepen;
+方針 > policy;
+頂端 > summit;
+妖言 > heresy;
+現在 > modern;
+變紅 > redden;
+名產 > staple;
+昆蟲 > insect;
+後邊 > behind;
+猖狂 > savage;
+孤兒 > orphan;
+淨化 > purify;
+後退 > recoil;
+牡蠣 > oyster;
+人士 > person;
+職務 > a\-post;
+片語 > phrase;
+民謠 > ballad;
+猛烈 > fierce;
+流星 > meteor;
+悲歎 > bewail;
+存儲 > memory;
+以前 > before;
+象徵 > emblem;
+不毛 > barren;
+不比 > unlike;
+象征 > symbol;
+毗連 > adjoin;
+大錘 > sledge;
+最新 > latest;
+治理 > govern;
+主教 > bishop;
+謙虛 > modest;
+父親 > father;
+處女 > virgin;
+賣主 > seller;
+羊毛 > fleece;
+放鬆 > loosen;
+含水 > watery;
+秘密 > secret;
+處境 > plight;
+議程 > agenda;
+狡猾 > crafty;
+王座 > throne;
+惡意 > malice;
+弄髒 > defile;
+本州 > honshu;
+嬰兒 > infant;
+薪水 > salary;
+獸性 > brutal;
+數量 > amount;
+斷言 > affirm;
+旅行 > travel;
+浪子 > loafer;
+有意 > intend;
+秋季 > autumn;
+名流 > gentry;
+台灣 > taiwan;
+不智 > unwise;
+如草 > grassy;
+故障 > glitch;
+願望 > desire;
+合法 > lawful;
+名氣 > repute;
+大路 > avenue;
+海報 > poster;
+詞頭 > prefix;
+亦即 > namely;
+哀嘆 > lament;
+王子 > prince;
+縫針 > needle;
+殯車 > hearse;
+醫生 > doctor;
+秋天 > autumn;
+人們 > people;
+暖氣 > heater;
+移動 > mobile;
+吸收 > absorb;
+意圖 > intent;
+強迫 > compel;
+顫抖 > quiver;
+緣飾 > fringe;
+中心 > center;
+悔改 > repent;
+周年 > annual;
+口渴 > thirst;
+針法 > stitch;
+消化 > digest;
+正門 > portal;
+海員 > sailor;
+二十 > twenty;
+吐根 > ipecac;
+雙重 > double;
+青苔 > lichen;
+多變 > fickle;
+沙漠 > desert;
+鉋床 > planer;
+延長 > extend;
+名望 > renown;
+取消 > cancel;
+妨礙 > hinder;
+交互 > mutual;
+那邊 > yonder;
+歸還 > return;
+劈開 > cleave;
+酒窩 > dimple;
+咖啡 > coffee;
+瞬間 > moment;
+動議 > motion;
+陰鬱 > gloomy;
+放逐 > banish;
+配稱 > worthy;
+活塞 > piston;
+未可 > cannot;
+外行 > layman;
+𥜌 > a\-coat;
+杏仁 > almond;
+碎石 > gravel;
+預期 > expect;
+更好 > better;
+愛人 > spouse;
+隆隆 > rumble;
+秉公 > justly;
+禱告 > prayer;
+更大 > bigger;
+朝向 > toward;
+九十 > ninety;
+破舊 > shabby;
+一帶 > region;
+顧客 > client;
+叢林 > jungle;
+碧玉 > jasper;
+𥥅 > a\-hole;
+只是 > merely;
+猴子 > monkey;
+𢦏 > to\-cut;
+隧道 > tunnel;
+惡化 > worsen;
+木偶 > puppet;
+會員 > member;
+一局 > inning;
+有名 > famous;
+朋友 > friend;
+菌類 > fungus;
+一對 > couple;
+硫磺 > sulfur;
+未來 > future;
+一定 > surely;
+遭遇 > befall;
+之前 > before;
+罷工 > strike;
+鄉紳 > squire;
+詭計 > deceit;
+豁免 > exempt;
+流利 > fluent;
+性格 > nature;
+活力 > energy;
+變更 > change;
+心理 > mental;
+變暗 > darken;
+牢牢 > firmly;
+風俗 > custom;
+緣起 > origin;
+記錄 > record;
+𠀉 > a\-hill;
+創辦 > launch;
+暗影 > shadow;
+隊部 > office;
+讚揚 > praise;
+乞丐 > beggar;
+過量 > excess;
+熔解 > fusion;
+隘路 > defile;
+邀請 > invite;
+循環 > circle;
+智慧 > wisdom;
+獵人 > hunter;
+恐怖 > terror;
+斑紋 > stripe;
+石英 > quartz;
+包管 > assure;
+酵母 > leaven;
+解除 > remove;
+動脈 > artery;
+最低 > lowest;
+祭司 > priest;
+特此 > hereby;
+雌蕊 > pistil;
+天篷 > canopy;
+干預 > meddle;
+化石 > fossil;
+不可 > cannot;
+水泥 > cement;
+水泡 > bubble;
+警方 > police;
+爸爸 > father;
+蓋爾 > gaelic;
+前輩 > senior;
+記起 > recall;
+三十 > thirty;
+繃簧 > spring;
+撤除 > remove;
+釦子 > button;
+彈簧 > spring;
+副詞 > adverb;
+牛油 > butter;
+課程 > course;
+年長 > senior;
+性情 > nature;
+編號 > number;
+氣泡 > bubble;
+危機 > crisis;
+不公 > unjust;
+底部 > bottom;
+不克 > cannot;
+法國 > france;
+沉思 > ponder;
+暗堡 > bunker;
+狗屋 > kennel;
+暴君 > tyrant;
+凹陷 > hollow;
+三倍 > triple;
+大眾 > people;
+霜白 > frosty;
+否則 > if\-not;
+分鐘 > minute;
+領域 > domain;
+葬禮 > burial;
+水桶 > bucket;
+撤銷 > repeal;
+合唱 > chorus;
+醫師 > doctor;
+反射 > reflex;
+不丹 > bhutan;
+敬禮 > salute;
+非洲 > africa;
+通路 > access;
+美人 > beauty;
+謀殺 > murder;
+罷免 > recall;
+言語 > speech;
+剝蝕 > denude;
+退還 > return;
+數目 > amount;
+召回 > recall;
+破爛 > ragged;
+一串 > strand;
+纖毛 > cilium;
+性子 > temper;
+追逐 > chase;
+逕賽 > track;
+靜止 > still;
+巴黎 > paris;
+年輕 > young;
+迴避 > avoid;
+蒸汽 > steam;
+權衡 > weigh;
+遊蕩 > stray;
+弄糟 > spoil;
+恩典 > grace;
+大爺 > uncle;
+日本 > japan;
+可可 > cocoa;
+可口 > tasty;
+延緩 > defer;
+編織 > weave;
+南方 > south;
+置于 > place;
+姪女 > niece;
+陷落 > slump;
+牛排 > steak;
+隱約 > vague;
+鯨魚 > whale;
+合併 > annex;
+護士 > nurse;
+泊位 > berth;
+遊艇 > barge;
+關閉 > close;
+陰莖 > penis;
+智利 > chile;
+線索 > trail;
+壓碎 > crush;
+原始 > first;
+每每 > often;
+反叛 > rebel;
+韓國 > korea;
+雙生 > twins;
+相配 > match;
+印度 > india;
+石狀 > stony;
+迅速 > rapid;
+幼蟲 > larva;
+鯊魚 > shark;
+別號 > alias;
+綠色 > green;
+引用 > quote;
+相近 > close;
+市長 > mayor;
+爐架 > grate;
+機關 > organ;
+權能 > power;
+原因 > cause;
+急劇 > rapid;
+大權 > power;
+鴉片 > opium;
+訓練 > drill;
+北方 > north;
+論文 > paper;
+放牧 > graze;
+功率 > power;
+每日 > daily;
+套房 > suite;
+違礙 > taboo;
+優點 > merit;
+徘徊 > hover;
+視覺 > sight;
+操練 > drill;
+強權 > power;
+刀葉 > blade;
+摩西 > moses;
+警備 > guard;
+課時 > class;
+彗星 > comet;
+搬運 > carry;
+青年 > youth;
+標題 > title;
+提高 > raise;
+氨基 > amino;
+夜晚 > night;
+熱氣 > steam;
+機軸 > arbor;
+醒來 > waken;
+女子 > woman;
+門閂 > latch;
+往往 > often;
+蓋子 > cover;
+靈巧 > handy;
+元音 > vowel;
+克隆 > clone;
+整整 > whole;
+匯寄 > remit;
+剁碎 > mince;
+調情 > flirt;
+地點 > place;
+敲擊 > pound;
+匆忙 > hasty;
+毛巾 > towel;
+芳香 > balmy;
+年級 > grade;
+式樣 > style;
+襯衫 > shirt;
+襯衣 > shirt;
+印刷 > print;
+散文 > prose;
+試樣 > style;
+全部 > whole;
+短暫 > short;
+西藏 > tibet;
+動搖 > waver;
+燃放 > light;
+火車 > train;
+工資 > wages;
+勇敢 > brave;
+死板 > rigid;
+矛柄 > shaft;
+長釘 > spike;
+步槍 > rifle;
+刻痕 > notch;
+優雅 > grace;
+選民 > voter;
+魔鬼 > devil;
+新娘 > bride;
+夾子 > cramp;
+謠傳 > rumor;
+新奇 > novel;
+報答 > repay;
+煤渣 > slack;
+邊框 > frame;
+花開 > bloom;
+物主 > owner;
+彈弓 > sling;
+報窩 > brood;
+擺渡 > ferry;
+電影 > movie;
+摸索 > grope;
+鬼魂 > ghost;
+速率 > speed;
+破壞 > wreck;
+約莫 > about;
+壁架 > ledge;
+階段 > stage;
+夢寐 > dream;
+延期 > delay;
+十分 > fully;
+勞工 > labor;
+團體 > group;
+地面 > floor;
+諷刺 > irony;
+白費 > waste;
+運河 > canal;
+八角 > anise;
+陰涼 > shady;
+擦洗 > scour;
+熱忱 > ardor;
+阿片 > opium;
+焙燒 > roast;
+女人 > woman;
+綠洲 > oasis;
+証明 > prove;
+相等 > equal;
+償還 > repay;
+毒品 > drugs;
+固體 > solid;
+規程 > rules;
+直立 > erect;
+僧院 > abbey;
+証據 > proof;
+推選 > elect;
+毛刷 > brush;
+鬍鬚 > beard;
+推進 > impel;
+關節 > joint;
+價錢 > price;
+切片 > slice;
+艦隊 > fleet;
+強大 > large;
+真理 > truth;
+比分 > score;
+擱板 > shelf;
+剛果 > congo;
+剪斷 > shear;
+火花 > spark;
+影像 > image;
+盜竊 > steal;
+標號 > grade;
+迷濛 > misty;
+睡椅 > couch;
+加寬 > widen;
+震動 > shake;
+說出 > utter;
+計數 > count;
+澳門 > aomen;
+推論 > infer;
+糢糊 > foggy;
+每一 > every;
+勢力 > power;
+緞布 > satin;
+動向 > trend;
+天使 > angel;
+褐色 > brown;
+鬆開 > loose;
+櫸木 > beech;
+部件 > parts;
+烘烤 > roast;
+軌道 > orbit;
+閃耀 > glint;
+臭鼬 > skunk;
+儲藏 > store;
+擦拭 > clean;
+疾風 > blast;
+攤子 > booth;
+大人 > adult;
+功夫 > skill;
+動力 > power;
+相片 > image;
+髒髒 > dirty;
+燙傷 > scald;
+均衡 > equal;
+出沒 > haunt;
+道德 > moral;
+觸摸 > touch;
+發聲 > vocal;
+長老 > elder;
+樹籬 > hedge;
+典範 > model;
+集團 > group;
+整個 > whole;
+帝王 > regal;
+強光 > glare;
+盔甲 > armor;
+軌跡 > locus;
+軌距 > gauge;
+補藥 > tonic;
+歸咎 > blame;
+敵人 > enemy;
+幽暗 > gloom;
+擔懮 > worry;
+榮譽 > honor;
+魔術 > magic;
+照射 > shine;
+搗碎 > smash;
+檸檬 > lemon;
+開端 > start;
+模糊 > vague;
+雞冠 > crest;
+光纖 > light;
+雕刻 > carve;
+骯髒 > dirty;
+切望 > crave;
+詛咒 > curse;
+標籤 > label;
+然後 > after;
+那兒 > there;
+長笛 > flute;
+精神 > vigor;
+圖表 > chart;
+轉移 > shift;
+兒童 > child;
+圍裙 > apron;
+推舉 > elect;
+停頓 > pause;
+粗糙 > crude;
+剪報 > scrap;
+髮辮 > braid;
+死亡 > death;
+規模 > scale;
+速度 > speed;
+那些 > those;
+箭頭 > arrow;
+雄偉 > grand;
+辦法 > means;
+為止 > until;
+嚴重 > grave;
+船貨 > cargo;
+長矛 > lance;
+歌劇 > opera;
+高遠 > lofty;
+凡是 > every;
+烏木 > ebony;
+舞蹈 > dance;
+粉筆 > chalk;
+絕技 > stunt;
+臉頰 > cheek;
+白癡 > idiot;
+授與 > grant;
+角度 > angle;
+發病 > onset;
+基本 > basic;
+火焰 > blaze;
+判定 > judge;
+探索 > quest;
+裂縫 > crack;
+火炬 > torch;
+填塞 > stuff;
+撰寫 > write;
+糖漿 > syrup;
+粉碎 > crash;
+陽台 > porch;
+擺動 > swing;
+押韻 > rhyme;
+型狀 > shape;
+舉起 > heave;
+割傷 > slash;
+這天 > today;
+籬笆 > fence;
+榮耀 > honor;
+遏制 > check;
+發狂 > crazy;
+別墅 > villa;
+岸邊 > shore;
+尼龍 > nylon;
+隊伍 > ranks;
+刀子 > knife;
+幅度 > width;
+橡木 > oaken;
+精液 > semen;
+床單 > sheet;
+花瓣 > petal;
+剃刀 > razor;
+凳子 > stool;
+膽量 > nerve;
+造反 > rebel;
+訓令 > order;
+再會 > adieu;
+檳子 > binzi;
+踴躍 > eager;
+兩次 > twice;
+修飾 > adorn;
+揣測 > guess;
+索引 > index;
+僵硬 > stark;
+傳聞 > rumor;
+自誇 > boast;
+摘引 > quote;
+工會 > union;
+糖果 > candy;
+裂痕 > chasm;
+火柴 > match;
+細小 > petty;
+欄位 > fence;
+驅除 > repel;
+樹林 > woods;
+小麥 > wheat;
+潛行 > sneak;
+垂死 > dying;
+樺木 > birch;
+逐出 > expel;
+巨擘 > thumb;
+紗布 > gauze;
+平原 > field;
+公會 > guild;
+田野 > field;
+濫用 > abuse;
+長椅 > bench;
+高興 > happy;
+搓揉 > knead;
+長條 > strip;
+這些 > these;
+庇佑 > bless;
+假裝 > feign;
+辮子 > plait;
+降下 > lower;
+樓梯 > stair;
+高聳 > erect;
+高聲 > aloud;
+尊魚 > trout;
+血肉 > flesh;
+盛宴 > feast;
+回答 > reply;
+簡短 > brief;
+囤積 > hoard;
+駿馬 > steed;
+榮獲 > prize;
+襪子 > socks;
+蝙魚 > bream;
+報償 > repay;
+傳神 > vivid;
+色狼 > satyr;
+探測 > probe;
+轉播 > relay;
+批量 > batch;
+駱駝 > camel;
+圖片 > image;
+冠子 > crest;
+腰部 > waist;
+皮帶 > strap;
+粗暴 > rough;
+撒但 > satan;
+小雞 > chick;
+冰塔 > serac;
+笨重 > heavy;
+輕染 > tinge;
+內心 > heart;
+腳踝 > ankle;
+排水 > drain;
+招致 > incur;
+栗鼠 > bunny;
+扒釘 > cramp;
+直到 > until;
+巫婆 > witch;
+援引 > quote;
+答詞 > reply;
+尖銳 > sharp;
+門廊 > stoop;
+偷竊 > steal;
+槓桿 > lever;
+其它 > other;
+答覆 > reply;
+烘乾 > parch;
+公尺 > meter;
+噪聲 > noise;
+盎司 > ounce;
+騎車 > cycle;
+價格 > price;
+精子 > sperm;
+地板 > floor;
+凌亂 > chaos;
+俚語 > slang;
+紅利 > bonus;
+開始 > begin;
+採摘 > pluck;
+埃及 > egypt;
+寂靜 > quiet;
+符記 > token;
+喪鐘 > knell;
+脹起 > bulge;
+背骨 > spine;
+左右 > about;
+公噸 > tonne;
+掌握 > grasp;
+生苔 > mossy;
+搖動 > shake;
+輪子 > wheel;
+騙術 > trick;
+打製 > forge;
+小說 > novel;
+腐蝕 > rusty;
+閉合 > close;
+駕車 > drive;
+滑落 > slide;
+六十 > sixty;
+公升 > liter;
+似雪 > snowy;
+胸部 > chest;
+病毒 > virus;
+技能 > skill;
+推崇 > value;
+小袋 > pouch;
+火兒 > angry;
+街段 > block;
+路線 > route;
+巨人 > giant;
+裙子 > skirt;
+抓緊 > grasp;
+血液 > blood;
+安靜 > quiet;
+手藝 > craft;
+馬達 > motor;
+閃光 > flash;
+其他 > other;
+四月 > april;
+其中 > among;
+楓樹 > maple;
+竊賊 > thief;
+滑翔 > glide;
+掃帚 > broom;
+衰敗 > decay;
+苛刻 > harsh;
+鐵砧 > anvil;
+捕捉 > catch;
+空間 > space;
+發光 > shine;
+掠奪 > harry;
+察覺 > aware;
+屋簷 > eaves;
+格言 > maxim;
+瓣膜 > valve;
+採場 > slope;
+舞會 > dance;
+圍巾 > scarf;
+寓言 > fable;
+手腕 > skill;
+被子 > quilt;
+小舌 > uvula;
+就緒 > ready;
+軀幹 > trunk;
+軀干 > trunk;
+發亮 > shine;
+手肘 > elbow;
+補品 > tonic;
+客車 > coach;
+艾姬 > aggie;
+在外 > outer;
+崇拜 > adore;
+充份 > ample;
+高明 > smart;
+漲滿 > swell;
+痛恨 > abhor;
+聲音 > voice;
+痛快 > jolly;
+接合 > joint;
+土堆 > mound;
+戲耍 > tease;
+種類 > class;
+男爵 > baron;
+固定 > fixed;
+尖細 > taper;
+均分 > split;
+花俏 > fancy;
+赫茲 > hertz;
+箭桿 > shaft;
+圍城 > siege;
+傲岸 > proud;
+致敬 > greet;
+軍團 > corps;
+鬍子 > beard;
+排列 > array;
+俏皮 > saucy;
+舞弊 > fraud;
+餅餌 > cakes;
+補丁 > patch;
+駁船 > barge;
+蜂蜜 > honey;
+漿果 > berry;
+魅力 > charm;
+胸膛 > chest;
+漂游 > drift;
+價值 > value;
+潑掉 > spill;
+興建 > build;
+資金 > funds;
+滲溝 > sewer;
+胭脂 > rouge;
+自我 > self\-;
+錯誤 > error;
+果酒 > cider;
+捷克 > czech;
+用法 > usage;
+篩子 > sieve;
+圖像 > image;
+存貨 > stock;
+高尚 > nobly;
+在下 > under;
+拍擊 > smack;
+嚮導 > guide;
+傾向 > trend;
+生氣 > angry;
+偏愛 > favor;
+害羞 > blush;
+蝸牛 > snail;
+商號 > store;
+錢袋 > purse;
+激光 > laser;
+安華 > anwar;
+峭壁 > cliff;
+捐助 > offer;
+拇指 > thumb;
+拂掃 > whisk;
+船只 > ships;
+臺子 > table;
+朝鮮 > korea;
+四十 > forty;
+抽打 > strap;
+惡魔 > demon;
+本領 > skill;
+棲息 > perch;
+流體 > fluid;
+依然 > still;
+肝臟 > liver;
+範圍 > range;
+單獨 > alone;
+修改 > amend;
+椅子 > chair;
+有風 > windy;
+把握 > grasp;
+小河 > brook;
+業主 > owner;
+驚慌 > panic;
+偉大 > great;
+主題 > theme;
+哪裡 > where;
+答應 > reply;
+一點 > a\-bit;
+學級 > class;
+當地 > local;
+稻草 > straw;
+東西 > thing;
+倉庫 > depot;
+伊索 > aesop;
+山崖 > cliff;
+笑林 > humor;
+嘴巴 > mouth;
+鐳射 > laser;
+棚子 > shack;
+吵鬧 > noisy;
+男子 > a\-man;
+股票 > share;
+棒子 > stick;
+指令 > order;
+肥碩 > stout;
+黃銅 > brass;
+棍子 > stick;
+致使 > cause;
+技巧 > skill;
+秘訣 > trick;
+拴住 > hitch;
+下面 > below;
+蠢事 > folly;
+愚蠢 > silly;
+把守 > guard;
+下雨 > rainy;
+驚奇 > amaze;
+臥位 > berth;
+噴出 > spout;
+風趣 > humor;
+尺度 > scale;
+射擊 > shoot;
+賄絡 > bribe;
+屋子 > house;
+責罵 > scold;
+腱子 > sinew;
+更遲 > later;
+黑貂 > sable;
+當中 > among;
+喬木 > arbor;
+老虎 > tiger;
+沙龍 > salon;
+保姆 > nanny;
+小徑 > alley;
+騙局 > fraud;
+對待 > treat;
+拉丁 > latin;
+琥珀 > amber;
+會談 > talks;
+脈搏 > pulse;
+產品 > goods;
+尋常 > usual;
+服裝 > dress;
+金髮 > blond;
+戲弄 > caper;
+浪花 > spray;
+小屋 > cabin;
+清潔 > clean;
+房屋 > house;
+嘎嘎 > quack;
+生動 > vivid;
+下跪 > kneel;
+小孩 > child;
+清湯 > broth;
+便士 > penny;
+房子 > house;
+耶穌 > jesus;
+鋼琴 > piano;
+騎士 > rider;
+鏈子 > chain;
+手套 > glove;
+男人 > a\-man;
+跟前 > front;
+修剪 > prune;
+寬度 > width;
+香料 > spice;
+伺服 > servo;
+滋味 > taste;
+租約 > lease;
+尖塔 > spire;
+嗶嘰 > serge;
+污點 > stain;
+法郎 > franc;
+活著 > alive;
+喜悅 > happy;
+成年 > adult;
+肅清 > purge;
+翱翔 > hover;
+孟浪 > hasty;
+黑色 > black;
+淹沒 > flush;
+秕糠 > chaff;
+第十 > tenth;
+品種 > breed;
+時髦 > vogue;
+打呼 > snore;
+桌子 > table;
+仍然 > still;
+清楚 > clear;
+餘燼 > ember;
+第六 > sixth;
+錦標 > prize;
+獨自 > alone;
+羽莖 > quill;
+桃子 > peach;
+封地 > manor;
+信任 > trust;
+作弊 > fraud;
+題解 > notes;
+保佑 > bless;
+貨物 > goods;
+寡婦 > widow;
+飲用 > drink;
+一行 > party;
+趨勢 > trend;
+狹路 > gorge;
+小吃 > snack;
+珊瑚 > coral;
+珍珠 > pearl;
+懸岩 > cliff;
+鼻煙 > snuff;
+洋蔥 > onion;
+趣劇 > farce;
+低廉 > cheap;
+哀痛 > grief;
+第五 > fifth;
+第九 > ninth;
+第三 > third;
+第一 > first;
+玻璃 > glass;
+窒息 > choke;
+有線 > wired;
+板滯 > stiff;
+打仗 > fight;
+戲劇 > drama;
+沉重 > heavy;
+沈重 > heavy;
+最終 > final;
+罪行 > crime;
+罩衫 > smock;
+你好 > hello;
+位子 > place;
+波蕩 > heave;
+走向 > trend;
+麵粉 > flour;
+妖魔 > demon;
+率直 > frank;
+明顯 > clear;
+顏色 > color;
+小丑 > clown;
+景象 > scene;
+狡詐 > craft;
+憤怒 > angry;
+貝殼 > shell;
+侍候 > serve;
+象牙 > ivory;
+商店 > store;
+喝叱 > chide;
+海灘 > beach;
+琴弦 > chord;
+獎章 > medal;
+子房 > ovary;
+蒼鷺 > heron;
+赦免 > remit;
+今日 > today;
+木版 > plank;
+神經 > nerve;
+怪誕 > freak;
+站住 > stand;
+沿著 > along;
+乾淨 > clean;
+密切 > close;
+深度 > depth;
+午餐 > lunch;
+成人 > adult;
+午飯 > lunch;
+海洋 > ocean;
+肚子 > belly;
+獵犬 > hound;
+理想 > ideal;
+鵪鶉 > quail;
+以後 > after;
+孩子 > child;
+耽擱 > tarry;
+事業 > cause;
+孢子 > spore;
+旅館 > hotel;
+奴隸 > slave;
+吊繩 > sling;
+馬來 > malay;
+馬伕 > groom;
+大鹿 > moose;
+聖徒 > saint;
+世界 > world;
+渡口 > ferry;
+減去 > minus;
+人性 > human;
+慈悲 > mercy;
+響聲 > noise;
+論題 > topic;
+卡車 > truck;
+客人 > guest;
+罌粟 > poppy;
+顯然 > clear;
+斑馬 > zebra;
+母音 > vowel;
+仙女 > fairy;
+稠密 > dense;
+套鐘 > chime;
+守候 > abide;
+洗澡 > bathe;
+板岩 > slate;
+謬誤 > error;
+風格 > style;
+洗滌 > rinse;
+一片 > piece;
+錢包 > purse;
+頭皮 > scalp;
+板子 > board;
+卑賤 > lowly;
+今天 > today;
+愛慕 > adore;
+思考 > think;
+風暴 > storm;
+升起 > hoist;
+蘋果 > apple;
+貝寧 > benin;
+謠言 > rumor;
+旋轉 > whirl;
+取笑 > tease;
+水蛭 > leech;
+語音 > voice;
+夾鉗 > tongs;
+日記 > diary;
+頒發 > issue;
+乃是 > to\-be;
+新近 > newly;
+嫌惡 > abhor;
+壁龕 > niche;
+吸氣 > sniff;
+誘陷 > snare;
+石頭 > stone;
+猜測 > guess;
+代價 > price;
+杓子 > scoop;
+感官 > sense;
+三次 > third;
+本影 > umbra;
+人員 > staff;
+一次 > first;
+續訂 > renew;
+更改 > alter;
+磨碎 > grind;
+警笛 > siren;
+習慣 > habit;
+今兒 > today;
+以下 > below;
+野獸 > beast;
+和平 > peace;
+收養 > adopt;
+怪異 > weird;
+貓咪 > kitty;
+心臟 > heart;
+沼澤 > glade;
+污穢 > nasty;
+三月 > march;
+磅秤 > scale;
+哪兒 > where;
+交叉 > cross;
+責備 > blame;
+電郵 > email;
+丟掉 > throw;
+聖人 > saint;
+勝過 > excel;
+殘酷 > cruel;
+叔父 > uncle;
+證章 > badge;
+海地 > haiti;
+最後 > final;
+正面 > front;
+雷達 > radar;
+品味 > taste;
+主幹 > trunk;
+失誤 > lapse;
+爆裂 > burst;
+邊際 > limit;
+顏料 > paint;
+狂熱 > craze;
+五十 > fifty;
+破裂 > burst;
+河流 > river;
+悲悼 > mourn;
+青草 > grass;
+木塊 > block;
+乙太 > ether;
+銳利 > sharp;
+虛偽 > false;
+本地 > local;
+東京 > tokyo;
+毒蛇 > viper;
+頌歌 > carol;
+咕嚕 > grunt;
+款項 > funds;
+一打 > dozen;
+試金 > assay;
+頭暈 > dizzy;
+徽章 > badge;
+力量 > power;
+焦點 > focus;
+鉋子 > plane;
+明白 > clear;
+王后 > queen;
+纖維 > fiber;
+事件 > event;
+逗點 > comma;
+麥子 > wheat;
+一張 > sheet;
+咆哮 > growl;
+微笑 > smile;
+碧瓦 > green;
+水盆 > basin;
+煙霧 > smoke;
+邏輯 > logic;
+音樂 > music;
+更壞 > worse;
+部落 > tribe;
+延遲 > delay;
+幽默 > humor;
+王冠 > crown;
+陷阱 > snare;
+斷絕 > sever;
+中國 > china;
+多葉 > leafy;
+一層 > layer;
+燻肉 > bacon;
+引証 > quote;
+擢陞 > exalt;
+重新 > again;
+大腿 > thigh;
+大腦 > brain;
+本人 > i\-\(me;
+祭壇 > altar;
+韻文 > verse;
+遺跡 > trace;
+那裡 > there;
+熊貓 > panda;
+斑羚 > goral;
+隆重 > grand;
+彎腰 > stoop;
+婦女 > woman;
+葡萄 > grape;
+美好 > happy;
+讀書 > study;
+獎品 > award;
+最初 > first;
+恐慌 > panic;
+麵包 > bread;
+額外 > extra;
+黏住 > cling;
+一塊 > piece;
+可怕 > awful;
+過道 > aisle;
+汁液 > juice;
+礦工 > miner;
+歌謠 > chant;
+沙拉 > salad;
+麵兒 > cover;
+斗篷 > cloak;
+之下 > under;
+月份 > month;
+水準 > level;
+女王 > queen;
+雛菊 > daisy;
+編製 > weave;
+包穀 > maize;
+快樂 > happy;
+逼迫 > force;
+如火 > fiery;
+泥土 > earth;
+媒介 > media;
+一同 > along;
+場面 > scene;
+壁虎 > gecko;
+教義 > creed;
+毛病 > fault;
+頁岩 > shale;
+金屬 > metal;
+證明 > proof;
+厭惡 > loath;
+昏暗 > dusky;
+比率 > ratio;
+奶油 > cream;
+霎眼 > blink;
+水果 > fruit;
+短簡 > brief;
+姿容 > looks;
+經費 > funds;
+視頻 > video;
+遊行 > march;
+晴天 > sunny;
+重大 > great;
+帶領 > guide;
+逕跡 > track;
+爐灶 > stove;
+時常 > often;
+強硬 > tough;
+帶露 > dewy;
+形狀 > form;
+薄命 > \(usu;
+功績 > feat;
+記號 > seal;
+見面 > meet;
+邊緣 > edge;
+暴亂 > riot;
+爛泥 > ooze;
+日期 > date;
+姨媽 > aunt;
+幽谷 > dell;
+冷靜 > calm;
+教皇 > pope;
+徵收 > levy;
+向下 > down;
+速行 > rush;
+這裡 > here;
+缺口 > nick;
+遲緩 > slow;
+氏族 > clan;
+原子 > atom;
+毛氈 > felt;
+冰雹 > hail;
+預兆 > omen;
+姑媽 > aunt;
+池子 > pond;
+姑娘 > girl;
+勻淨 > even;
+方案 > plan;
+狂吠 > howl;
+心情 > mood;
+野兔 > hare;
+鞭子 > whip;
+基金 > fund;
+妻子 > wife;
+半拉 > half;
+鯉魚 > carp;
+石片 > slab;
+必得 > must;
+冰鎮 > iced;
+池塘 > pool;
+熾熱 > glow;
+石灰 > lime;
+皮鞭 > lash;
+冷酷 > grim;
+契據 > deed;
+硬幣 > coin;
+凝視 > gaze;
+教派 > sect;
+公雞 > cock;
+角色 > role;
+纖度 > size;
+牌子 > sign;
+牛奶 > milk;
+奉承 > fawn;
+時候 > time;
+英雄 > hero;
+開闊 > wide;
+彎曲 > bend;
+課文 > text;
+長靴 > boot;
+牢固 > firm;
+百靈 > lark;
+旗子 > flag;
+女孩 > girl;
+纖小 > fine;
+年老 > aged;
+左邊 > left;
+牆壁 > wall;
+透紅 > rosy;
+數據 > data;
+詩歌 > poem;
+煮熟 > boil;
+石板 > slab;
+女士 > lady;
+忍受 > bear;
+微型 > tiny;
+邊沿 > edge;
+英里 > mile;
+樂隊 > band;
+氣味 > odor;
+無禮 > rude;
+都市 > city;
+區域 > area;
+計畫 > plan;
+燃料 > fuel;
+形式 > form;
+西薄 > cake;
+擘畫 > plan;
+煤灰 > soot;
+開辦 > open;
+敲打 > beat;
+雪撬 > sled;
+很好 > well;
+遨游 > roam;
+如同 > like;
+大廳 > hall;
+毒害 > bane;
+繩子 > cord;
+繁忙 > busy;
+細胞 > cell;
+卑劣 > base;
+復原 > heal;
+別的 > else;
+公豬 > boar;
+調子 > tune;
+勻實 > even;
+徵兆 > omen;
+揹負 > bear;
+閒談 > chat;
+眼看 > soon;
+辛苦 > hard;
+癱軟 > limp;
+面具 > mask;
+撕破 > tear;
+埋葬 > bury;
+大娘 > aunt;
+歌曲 > song;
+弧形 > arch;
+輪軸 > axle;
+帆船 > sail;
+卑下 > base;
+標識 > mark;
+帳篷 > tent;
+瘦長 > slim;
+花邊 > lace;
+填滿 > cram;
+塊狀 > lump;
+標誌 > sign;
+雹子 > hail;
+諾亞 > noah;
+規章 > rule;
+標記 > sign;
+外套 > coat;
+長襪 > hose;
+團隊 > team;
+從中 > from;
+長袍 > gown;
+雄性 > male;
+睫毛 > lash;
+強姦 > rape;
+照料 > tend;
+採邑 > fief;
+接近 > near;
+皮膚 > skin;
+掠過 > flit;
+緩慢 > slow;
+基礎 > base;
+網架 > rack;
+規矩 > rule;
+灰色 > gray;
+細看 > peer;
+遲慢 > slow;
+褪色 > fade;
+適應 > suit;
+敗壞 > ruin;
+部分 > part;
+眼淚 > tear;
+苔蘚 > moss;
+形像 > form;
+剝掉 > pare;
+郵件 > mail;
+步子 > step;
+追求 > seek;
+表露 > show;
+瞑想 > muse;
+擦掉 > wipe;
+遊戲 > game;
+節點 > node;
+夫人 > lady;
+廚師 > cook;
+捲軸 > reel;
+高飛 > soar;
+散出 > shed;
+巢穴 > lair;
+阿曼 > oman;
+廠子 > yard;
+索然 > dull;
+剛強 > firm;
+真正 > real;
+躲避 > shun;
+廚子 > cook;
+熱力 > heat;
+廣大 > vast;
+鳥嘴 > beak;
+基準 > data;
+簽証 > visa;
+鳴叫 > hoot;
+堅決 > firm;
+許多 > many;
+灰白 > grey;
+收割 > reap;
+網孔 > mesh;
+拳頭 > fist;
+歌唱 > sing;
+雜亂 > mess;
+冷淡 > cold;
+骨頭 > bone;
+剛好 > just;
+壁助 > help;
+掉落 > flop;
+詩人 > bard;
+落下 > fall;
+表象 > idea;
+陵墓 > tomb;
+舒適 > cozy;
+英畝 > acre;
+步伐 > pace;
+檔案 > file;
+簸蕩 > roll;
+帶有 > have;
+歌兒 > song;
+接縫 > seam;
+幫忙 > help;
+結成 > form;
+行走 > walk;
+冰橇 > sled;
+公牛 > bull;
+城池 > city;
+粗砂 > grit;
+公爵 > duke;
+要有 > need;
+膳食 > meal;
+躲藏 > hide;
+菜單 > menu;
+橫樑 > beam;
+術語 > term;
+遲了 > late;
+剛勁 > bold;
+衚衕 > lane;
+艾絨 > moxa;
+計劃 > plan;
+按語 > note;
+真實 > true;
+痛苦 > pain;
+花瓶 > vase;
+其次 > next;
+機智 > tact;
+傾聽 > hark;
+棕閭 > palm;
+公正 > just;
+平坦 > flat;
+臀部 > butt;
+鐘頭 > hour;
+操切 > rash;
+坦然 > calm;
+要得 > good;
+炸彈 > bomb;
+座位 > seat;
+芯片 > chip;
+回聲 > echo;
+鐵銹 > rust;
+屋頂 > roof;
+堡壘 > fort;
+具有 > have;
+這兒 > here;
+解凍 > thaw;
+生長 > grow;
+堅定 > firm;
+巴掌 > palm;
+瘢痕 > scar;
+帶子 > band;
+長槍 > pike;
+六月 > june;
+這個 > this;
+門栓 > bolt;
+蠕蟲 > worm;
+僱用 > hire;
+圓盤 > disk;
+地獄 > hell;
+阿們 > amen;
+蠕虫 > worm;
+盤子 > tray;
+筆錢 > fund;
+路邊 > curb;
+灌木 > bush;
+視圖 > view;
+撇去 > skim;
+農奴 > serf;
+城市 > city;
+堅固 > firm;
+小馬 > colt;
+兵戎 > arms;
+光束 > beam;
+標明 > mark;
+複本 > copy;
+蟾蜍 > toad;
+農場 > farm;
+盒子 > case;
+國王 > king;
+帳單 > bill;
+草坪 > lawn;
+草地 > lawn;
+搶奪 > snap;
+血管 > vein;
+軍火 > arms;
+跛足 > lame;
+房間 > room;
+規劃 > plan;
+腳跟 > heel;
+跡象 > mark;
+規則 > rule;
+公平 > fair;
+鎮靜 > calm;
+價款 > cost;
+樣式 > type;
+損害 > harm;
+模式 > mode;
+盟友 > ally;
+兜帽 > hood;
+巨大 > huge;
+工夫 > work;
+疼痛 > ache;
+跳蚤 > flea;
+樓廂 > loft;
+膝蓋 > knee;
+修補 > mend;
+屁話 > shit;
+灰塵 > dust;
+偷看 > peep;
+模子 > mold;
+疤痕 > scar;
+地方 > area;
+兔子 > hare;
+小路 > lane;
+鏈路 > link;
+甘蔗 > cane;
+掌擊 > slap;
+差勁 > poor;
+低音 > bass;
+溜走 > slip;
+甜菜 > beet;
+捲曲 > curl;
+測驗 > test;
+用膳 > dine;
+笑話 > joke;
+山羊 > goat;
+競賽 > race;
+笨蛋 > fool;
+岩石 > rock;
+公告 > post;
+工具 > tool;
+甚至 > even;
+略碼 > code;
+跌落 > fall;
+潮濕 > damp;
+較少 > less;
+百合 > lily;
+腰肉 > loin;
+地帶 > zone;
+表格 > form;
+閣下 > sire;
+龍骨 > keel;
+轉動 > turn;
+其余 > rest;
+潮流 > tide;
+保羅 > paul;
+色彩 > tint;
+嘲笑 > jeer;
+潮汐 > tide;
+捲帶 > tape;
+啤酒 > beer;
+潛水 > dive;
+鍍金 > gild;
+小船 > boat;
+什麼 > what;
+指標 > norm;
+衝撞 > dash;
+岩漿 > lava;
+握住 > grip;
+地域 > area;
+鼴鼠 > mole;
+製作 > make;
+土壤 > soil;
+小羊 > lamb;
+接吻 > kiss;
+良好 > good;
+策略 > plot;
+衰弱 > weak;
+漩渦 > eddy;
+土地 > land;
+亞麻 > flax;
+哺養 > feed;
+圈套 > trap;
+籃圈 > ring;
+鏈結 > link;
+膽汁 > gall;
+地區 > area;
+柔軟 > soft;
+漏洞 > hole;
+採伐 > fell;
+當時 > then;
+借款 > loan;
+袖口 > cuff;
+招收 > hire;
+現金 > cash;
+香草 > herb;
+嚴峻 > grim;
+疹子 > rash;
+秘魯 > peru;
+稅關 > pike;
+生活 > life;
+僧侶 > monk;
+打獵 > hunt;
+拖拉 > haul;
+拱形 > arch;
+抱有 > have;
+圍住 > gird;
+棍棒 > club;
+聲譽 > fame;
+自己 > self;
+拍打 > flap;
+拍手 > clap;
+債務 > debt;
+聽見 > hear;
+飾釘 > stud;
+小牛 > calf;
+血塊 > gore;
+浪頭 > wave;
+偏差 > bias;
+傾倒 > pour;
+骰子 > dice;
+負載 > load;
+折斷 > snap;
+老闆 > boss;
+聖詩 > hymn;
+催促 > urge;
+鋪設 > pave;
+租金 > rent;
+打死 > kill;
+風險 > risk;
+枯萎 > wilt;
+用戶 > user;
+浸透 > soak;
+疲倦 > tire;
+膠帶 > tape;
+賢能 > sage;
+海軍 > navy;
+臭味 > fume;
+偶像 > idol;
+手杖 > cane;
+海豹 > seal;
+跨度 > span;
+溫暖 > warm;
+季節 > time;
+果肉 > pulp;
+小時 > hour;
+投射 > dart;
+黃金 > gold;
+命運 > fate;
+字節 > byte;
+海角 > cape;
+嘆息 > sigh;
+唧筒 > pump;
+略去 > omit;
+哺育 > feed;
+羅馬 > rome;
+考試 > exam;
+手掌 > palm;
+肥皂 > soap;
+意見 > view;
+倍塔 > beta;
+尾巴 > tail;
+贅疣 > wart;
+悠閒 > ease;
+伯爵 > earl;
+周遊 > tour;
+梨子 > pear;
+尺寸 > size;
+頸項 > neck;
+琵琶 > lute;
+案文 > text;
+膠卷 > film;
+銀行 > bank;
+游泳 > swim;
+虧缺 > wane;
+借出 > lend;
+富有 > rich;
+係小 > tiny;
+品脫 > pint;
+宗派 > sect;
+不遜 > rude;
+馴服 > tame;
+不過 > only;
+不遂 > fail;
+尖峰 > peak;
+滾動 > roll;
+貧窮 > poor;
+小島 > isle;
+主要 > main;
+束縛 > bind;
+束緊 > gird;
+薄霧 > mist;
+清澈 > fair;
+策劃 > plot;
+豬肉 > pork;
+何時 > when;
+容易 > easy;
+下跌 > fall;
+黃蜂 > wasp;
+口頭 > oral;
+罰金 > fine;
+令狀 > writ;
+蕨類 > fern;
+費用 > cost;
+告誡 > warn;
+蘆葦 > reed;
+抓住 > grab;
+板皮 > slab;
+脆弱 > weak;
+核心 > core;
+頭部 > head;
+格式 > form;
+深深 > deep;
+決鬥 > duel;
+豆腐 > tofu;
+懶惰 > idle;
+滴下 > drip;
+扁坯 > slab;
+例子 > case;
+咒罵 > damn;
+脖子 > neck;
+同輩 > peer;
+玩笑 > joke;
+藤蔓 > vine;
+侍女 > maid;
+蜂房 > hive;
+戒子 > ring;
+滑倒 > slip;
+溶化 > melt;
+游戲 > game;
+學期 > term;
+馬廄 > barn;
+亞當 > adam;
+翅膀 > wing;
+伊朗 > iran;
+主義 > \-ism;
+麥芽 > malt;
+密室 > cell;
+狹谷 > glen;
+窩巢 > nest;
+牡鹿 > hart;
+風箏 > kite;
+名詞 > noun;
+存根 > stub;
+時間 > time;
+派系 > sect;
+現款 > cash;
+碼頭 > dock;
+釀造 > brew;
+藍色 > blue;
+安息 > rest;
+聖歌 > hymn;
+飽滿 > full;
+哭泣 > weep;
+食物 > food;
+慾望 > lust;
+史詩 > epic;
+一般 > same;
+小丘 > hill;
+情節 > plot;
+穿帶 > wear;
+休息 > rest;
+須要 > must;
+松樹 > pine;
+薔薇 > rose;
+亞洲 > asia;
+家園 > home;
+憐憫 > pity;
+暗藏 > hide;
+牛飲 > gulp;
+賺得 > earn;
+資料 > data;
+豎琴 > harp;
+一群 > gang;
+果斷 > firm;
+種族 > race;
+黑痣 > mole;
+音調 > tone;
+洞穴 > cave;
+板條 > lath;
+上絃 > wind;
+哀泣 > wail;
+貴族 > lord;
+哈欠 > yawn;
+浪潮 > wave;
+禮物 > gift;
+各自 > each;
+豬油 > lard;
+錫安 > zion;
+獵物 > prey;
+快速 > fast;
+靈魂 > soul;
+犯規 > foul;
+宰制 > rule;
+乃爾 > thus;
+飼料 > feed;
+油膏 > balm;
+班房 > jail;
+龐大 > huge;
+港口 > port;
+斑點 > spot;
+一碗 > bowl;
+大麻 > hemp;
+浮標 > buoy;
+想法 > idea;
+家伙 > chap;
+交接 > join;
+後面 > rear;
+天鵝 > swan;
+會漏 > leak;
+整齊 > tidy;
+昇起 > rise;
+商品 > good;
+卑鄙 > base;
+犄角 > horn;
+母馬 > mare;
+字型 > font;
+安全 > safe;
+種子 > seed;
+孤單 > lone;
+程式 > form;
+木桶 > cask;
+羹湯 > soup;
+印證 > seal;
+木板 > slab;
+吹牛 > brag;
+木材 > wood;
+飾帶 > sash;
+老撾 > laos;
+朦朧 > blur;
+靠近 > near;
+虛弱 > weak;
+消息 > news;
+課題 > task;
+期望 > hope;
+深厚 > deep;
+主機 > core;
+鼻子 > nose;
+珠子 > bead;
+旅遊 > trip;
+穩健 > firm;
+部隊 > army;
+上漲 > rise;
+泰然 > calm;
+齧咬 > gnaw;
+稀少 > rare;
+黑暗 > dark;
+波特 > baud;
+野禽 > fowl;
+暈眩 > daze;
+奔逃 > flee;
+黎明 > dawn;
+治癒 > cure;
+意思 > idea;
+某些 > some;
+意念 > idea;
+繁雜 > many;
+意志 > will;
+稱呼 > call;
+書桌 > desk;
+強風 > gale;
+雄鹿 > buck;
+麻木 > numb;
+會晤 > meet;
+黃昏 > dusk;
+項目 > item;
+韁繩 > rein;
+唯一 > only;
+雲雀 > lark;
+燒開 > boil;
+穀倉 > barn;
+李子 > plum;
+職位 > post;
+野生 > wild;
+否決 > veto;
+沙發 > sofa;
+波浪 > wave;
+一樣 > same;
+他們 > they;
+泡沫 > foam;
+步驟 > step;
+老婆 > wife;
+主意 > plan;
+青蛙 > frog;
+本子 > book;
+牛肉 > beef;
+豐富 > rich;
+七月 > july;
+銷售 > sell;
+上昇 > rise;
+哎呀 > damn;
+鞭笞 > flog;
+一服 > dose;
+天賦 > gift;
+談話 > talk;
+豆子 > bean;
+媽媽 > mama;
+同樣 > same;
+磚瓦 > tile;
+敏銳 > keen;
+油油 > oily;
+波束 > beam;
+包裝 > pack;
+法案 > bill;
+污痕 > blot;
+鉤子 > hook;
+印章 > seal;
+靜脈 > vein;
+知道 > know;
+猛撞 > slam;
+遼闊 > vast;
+故鄉 > home;
+面罩 > veil;
+從而 > thus;
+忙碌 > busy;
+鞭痕 > welt;
+邊鋒 > wing;
+酸痛 > ache;
+廣闊 > wide;
+神情 > look;
+亞丁 > aden;
+獨奏 > solo;
+沐浴 > bath;
+最好 > best;
+猖披 > wild;
+咀嚼 > chew;
+外袍 > robe;
+誓詞 > oath;
+動詞 > verb;
+玩偶 > doll;
+誓言 > oath;
+薄暮 > dusk;
+纖細 > fine;
+下巴 > chin;
+新聞 > news;
+獅子 > lion;
+更多 > more;
+增長 > grow;
+只有 > only;
+呆子 > fool;
+暴徒 > thug;
+汽水 > soda;
+面積 > area;
+命名 > name;
+段落 > part;
+短襪 > sock;
+引證 > cite;
+鈕帶 > bond;
+前面 > fore;
+陣風 > gust;
+編輯 > edit;
+死記 > cram;
+惡劣 > vile;
+流動 > flow;
+會合 > meet;
+毛線 > yarn;
+北約 > nato;
+重擊 > bang;
+派出 > send;
+𠱃 > thin;
+池沼 > pool;
+步調 > gait;
+繩索 > rope;
+通風 > airy;
+恐懼 > fear;
+碎片 > chip;
+線路 > line;
+一套 > suit;
+卡片 > card;
+類型 > type;
+包紮 > bind;
+中午 > noon;
+武裝 > arms;
+薄弱 > weak;
+一堆 > pile;
+變換 > vary;
+蒼白 > pale;
+水滴 > drop;
+緩解 > ease;
+有些 > some;
+月亮 > moon;
+年頭 > year;
+礦山 > mine;
+道路 > road;
+洗刷 > wash;
+陸軍 > army;
+收藏 > keep;
+擠進 > tuck;
+上司 > boss;
+領導 > lead;
+水池 > pond;
+電線 > wire;
+一吹 > puff;
+毛皮 > pelt;
+烏鴉 > crow;
+勞累 > toil;
+運費 > fare;
+壁虱 > tick;
+撥開 > poke;
+設計 > plan;
+迷陣 > maze;
+吝嗇 > mean;
+一半 > half;
+頂峰 > peak;
+藥丸 > pill;
+星期 > week;
+水槽 > sink;
+缺少 > lack;
+世仇 > feud;
+撞鎖 > lock;
+鞭撻 > lash;
+陰謀 > plot;
+厭恨 > hate;
+遇見 > meet;
+明星 > star;
+不一 > vary;
+謀求 > seek;
+露營 > camp;
+毒物 > pest;
+暖和 > warm;
+一些 > some;
+鞭打 > whip;
+叫囂 > hoot;
+為首 > head;
+求愛 > woo;
+同位 > par;
+露水 > dew;
+受到 > get;
+可以 > can;
+酒廊 > bar;
+博得 > win;
+及其 > and;
+石油 > oil;
+時代 > age;
+毯子 > rug;
+年紀 > age;
+套子 > cap;
+破布 > rag;
+魚鰭 > fin;
+強拉 > tug;
+經由 > via;
+墨水 > ink;
+設法 > try;
+間諜 > spy;
+眼睛 > eye;
+此時 > now;
+如何 > how;
+終端 > end;
+眼界 > ken;
+幼獸 > cub;
+離子 > ion;
+焦油 > tar;
+退潮 > ebb;
+火腿 > ham;
+陰暗 > dim;
+緊抱 > hug;
+總和 > sum;
+規率 > law;
+隱密 > sly;
+砍伐 > hew;
+刺探 > pry;
+芸芸 > all;
+色調 > hue;
+假髮 > wig;
+途徑 > way;
+前夕 > eve;
+堅果 > nut;
+先生 > sir;
+欄圈 > pen;
+橡樹 > oak;
+茶杯 > cup;
+親屬 > kin;
+拖車 > tow;
+填充 > pad;
+帽子 > hat;
+搖擺 > wag;
+眼前 > now;
+刀口 > cut;
+樅樹 > fir;
+用途 > use;
+甜酒 > rum;
+眼下 > now;
+出價 > bid;
+襯墊 > pad;
+傳真 > fax;
+苦惱 > ail;
+腳趾 > toe;
+拖船 > tow;
+骨罈 > urn;
+發怒 > mad;
+軟毛 > fur;
+臂膀 > arm;
+輕打 > tap;
+搶劫 > rob;
+兒子 > son;
+扯裂 > rip;
+小費 > tip;
+榆樹 > elm;
+啜飲 > sip;
+工作 > job;
+援助 > aid;
+肋骨 > rib;
+蝙蝠 > bat;
+龍頭 > tap;
+手臂 > arm;
+混雜 > mix;
+地圖 > map;
+鬆弛 > sag;
+生病 > ill;
+袋子 > bag;
+餡餅 > pie;
+射線 > ray;
+鋤頭 > hoe;
+鋸開 > saw;
+老鼠 > rat;
+果醬 > jam;
+衣夾 > peg;
+圍兜 > bib;
+拖把 > mop;
+么點 > ace;
+小狗 > pup;
+貨車 > van;
+戰爭 > war;
+點頭 > nod;
+肥胖 > fat;
+對準 > aim;
+噴射 > jet;
+傢伙 > guy;
+舉動 > act;
+麋鹿 > elk;
+木釘 > peg;
+瓦斯 > gas;
+驢子 > ass;
+男孩 > boy;
+所有 > all;
+鑰匙 > key;
+哼聲 > hum;
+久遠 > old;
+飛蟲 > bug;
+筆尖 > nib;
+麥酒 > ale;
+修女 > nun;
+便帽 > cap;
+會費 > due;
+尼姑 > nun;
+乾草 > hay;
+借債 > owe;
+懇求 > beg;
+屢加 > ply;
+飛翔 > fly;
+扇子 > fan;
+腐壞 > rot;
+空氣 > air;
+但是 > but;
+藝術 > art;
+安放 > lay;
+嗚咽 > sob;
+染料 > dye;
+付款 > pay;
+不良 > bad;
+贏得 > win;
+頌詞 > ode;
+乾燥 > dry;
+告終 > end;
+汽車 > car;
+海灣 > bay;
+耳朵 > ear;
+位元 > bit;
+五月 > may;
+何人 > who;
+燕麥 > oat;
+氣車 > bus;
+末期 > end;
+母雞 > hen;
+哀愁 > sad;
+礦石 > ore;
+哀怨 > sad;
+太陽 > sun;
+怕羞 > coy;
+杯子 > cup;
+謊話 > lie;
+謊言 > lie;
+零頭 > odd;
+任何 > any;
+淨值 > net;
+奔跑 > run;
+奔走 > run;
+流感 > flu;
+哎喲 > hey;
+現今 > now;
+暗淡 > dim;
+是的 > yes;
+一排 > row;
+方舟 > ark;
+新興 > new;
+上帝 > god;
+而今 > now;
+可是 > but;
+汽油 > gas;
+爆聲 > pop;
+罪惡 > sin;
+收費 > fee;
+母羊 > ewe;
+法律 > law;
+怎樣 > how;
+雞蛋 > egg;
+不善 > bad;
+鰻魚 > eel;
+天空 > sky;
+悲傷 > sad;
+床鋪 > bed;
+並且 > and;
+別針 > pin;
+縫紉 > sew;
+一切 > all;
+通通 > all;
+平鍋 > pan;
+放置 > put;
+年邁 > old;
+母牛 > cow;
+如果 > if;
+還是 > or;
+的話 > if;
+光碟 > cd;
+要是 > if;
+若是 > if;
+嚇聲 > ho;
+或者 > or;
+我的 > my;
+假如 > if;
+我們 > we;
+啊呀 > oh;
+斧頭 > ax;
+一但 > if;
+一個 > a;
+㡎 > the\-long\-bands\-or\-ribbons\-attrached\-to\-flags\-and\-banners\-the\-feather\-decorected\-carriages\-or\-dresses;
+郯 > name\-of\-a\-small\-ancient\-principality\-which\-was\-situated\-in\-what\-is\-now\-part\-of\-shantung\-and\-kiangsu;
+䐞 > the\-thin\-membrane\-between\-skin\-and\-flesh\-that\-protects\-internal\-organs\-or\-tissues\-in\-the\-human\-body;
+珪 > a\-jade\-table\-conferred\-upon\-feudal\-princes\-by\-the\-emperor\-as\-a\-symbol\-of\-dignity\-and\-authority;
+㺺 > a\-very\-precious\-piece\-of\-jade\-worn\-by\-ancient\-emperors\-to\-match\-tables\-borne\-by\-the\-nobles;
+䀘 > to\-cover\-the\-line\-of\-vision\-or\-sight\-\-\-the\-straight\-line\-between\-an\-object\-and\-one''s\-eyes;
+㨧 > wooden\-stick\-or\-bamboo\-cane\-used\-to\-support\-the\-covering\-of\-a\-carriage\-in\-ancient\-times;
+㔣 > in\-ancient\-times\-to\-fight\-against\-the\-enemy\-by\-pushing\-down\-the\-big\-rocks\-from\-up\-high;
+䚫 > ornamental\-articles\-made\-of\-horns\-used\-to\-decorate\-the\-top\-of\-a\-stick\-or\-horsewhip;
+笐 > bamboos\-placed\-across\-wooden\-frames\-on\-which\-grain\-may\-be\-stored\-in\-damp\-climates;
+䣞 > name\-of\-an\-ancient\-state\-which\-occupied\-the\-site\-of\-the\-present\-province\-of\-hubei;
+䇶 > a\-small\-rafters\-made\-of\-bamboo\-which\-project\-form\-the\-eaves\-and\-support\-the\-tiles;
+賨 > tribute\-paid\-in\-cloth\-by\-the\-tribes\-in\-szechwan\-and\-yunnan\-under\-the\-han\-dynasty;
+禫 > sacrifice\-offered\-at\-the\-end\-of\-the\-three\-years''\-mourning\-the\-death\-of\-a\-parent;
+䂩 > an\-in\-slab\-or\-ink\-stone\-sound\-of\-pebbles\-or\-stones\-rubbing\-or\-knocking\-together;
+䂍 > a\-kind\-of\-weapon\-carried\-by\-the\-honor\-guard\-before\-the\-emperor\-in\-ancient\-times;
+衈 > the\-blood\-of\-a\-sacrificial\-fowl\-which\-was\-sprinkled\-on\-the\-doors\-and\-vessels;
+㯩 > to\-put\-the\-growing\-up\-silkworms\-in\-different\-frames\-according\-to\-their\-sizes;
+㚳 > a\-lady\-teacher\-to\-teach\-the\-proper\-rules\-of\-female\-behavior\-in\-ancient\-times;
+絥 > to\-harness\-a\-horse\-a\-board\-in\-front\-of\-a\-carriage\-for\-the\-driver\-to\-lean\-on;
+䋭 > to\-weave\-silk\-fabrics\-with\-green\-color\-for\-longitude\-and\-white\-for\-latitude;
+㭼 > a\-rectangle\-shaped\-peg\-or\-short\-post\-between\-the\-beans\-and\-the\-roof\-timbers;
+瑄 > a\-ornamental\-piece\-of\-jade\-several\-inches\-across\-with\-a\-hole\-in\-the\-center;
+䬤 > to\-put\-the\-thick\-soup\-or\-broth\-on\-top\-of\-the\-rice\-thick\-congee\-or\-porridge;
+䥯 > a\-farm\-tool\-to\-crush\-the\-clod\-of\-earth\-into\-pieces\-and\-make\-the\-land\-flat;
+䍖 > a\-kind\-of\-net\-equipted\-with\-tricky\-machine\-used\-to\-catch\-birds\-and\-beasts;
+䎭 > a\-kind\-of\-farm\-tool\-made\-of\-twisted\-thron\-strips\-used\-to\-flaten\-the\-land;
+筓 > a\-hairpin\-on\-which\-the\-hair\-is\-bound\-at\-the\-back\-of\-the\-head\.\-15\-of\-age;
+㮲 > a\-small\-ring\-or\-a\-small\-piece\-of\-board\-attached\-to\-the\-muzzle\-of\-an\-ox;
+䵻 > a\-small\-tripod\-of\-bronze\-with\-two\-ears\-tripod\-of\-bronze\-with\-two\-ears;
+玠 > large\-jade\-tablet\-used\-by\-officials\-at\-court\-to\-indicate\-their\-ranks;
+䂜 > rocky\-fine\-stone\-which\-is\-little\-less\-valuable\-than\-jade\-to\-collapse;
+㡆 > an\-artisan\-to\-soften\-raw\-silk\-by\-boiling\-and\-to\-dye\-the\-dressed\-silk;
+㡃 > an\-artisan\-to\-soften\-raw\-silk\-by\-boiling\-and\-to\-dye\-the\-dressed\-silk;
+裎 > to\-take\-off\-the\-clothes\-and\-expose\-the\-body\.\-to\-carry\-in\-the\-girdle;
+鎋 > the\-linch\-pin\-of\-a\-wheel\-to\-govern\-or\-control\-the\-noise\-of\-a\-barrow;
+䪐 > something\-made\-of\-bamboo\-put\-in\-the\-bow\-case\-to\-pretect\-from\-damage;
+䇭 > containers\-made\-of\-thin\-and\-long\-strip\-of\-bamboo\-or\-willow\-branches;
+㟬 > a\-mountain\-in\-today''s\-shandong\-province\-southwest\-of\-mengyin\-county;
+㚥 > to\-become\-associated\-with\-each\-other\-in\-good\-manners\-and\-politeness;
+䤞 > a\-kind\-of\-weapons\-held\-by\-the\-officials\-in\-attendance\-in\-old\-times;
+㹫 > a\-kind\-of\-animal\-generally\-called\-for\-minority\-groups\-in\-old\-china;
+㳻 > a\-bank\-of\-earth\-or\-an\-embankment\-to\-block\-the\-current\-of\-the\-water;
+㯢 > a\-piece\-of\-cross\-wise\-board\-used\-for\-frame\-on\-which\-silkworms\-spin;
+䃘 > simple\-and\-crude\-the\-sound\-of\-pebbles\-or\-stones\-knocking\-together;
+㰱 > to\-smear\-the\-mouth\-with\-the\-blood\-of\-a\-victim\-when\-taking\-an\-oath;
+獯 > a\-tribe\-of\-scythians\-which\-invaded\-china\-during\-the\-hsia\-dynasty;
+鞔 > sides\-or\-uppers\-of\-shoes\-to\-stretch\-a\-skin\-on\-a\-frame\-for\-a\-drum;
+䕽 > the\-rhododendron\-\-\-\-it\-is\-said\-to\-cause\-sheep\-to\-stagger\-and\-die;
+郜 > name\-of\-fief\-in\-shantong\-bestowed\-on\-the\-eldest\-son\-of\-wen\-wang;
+䍿 > a\-kind\-of\-dance\-accompanied\-by\-music\-performed\-in\-ancient\-times;
+䌞 > a\-knot\-to\-hang\-the\-apparatus\-made\-of\-reed\-for\-raising\-silkworms;
+䇉 > capacity\-unit\-in\-france\-equal\-to\-one\-hundred\-times\-of\-one\-litre;
+㽈 > a\-large\-earthenware\-jar\-with\-a\-small\-mouth\-and\-two\-or\-four\-ears;
+㹐 > to\-tow\-a\-boat\-against\-the\-current\-in\-swift\-stream\-from\-the\-bank;
+沅 > name\-of\-a\-river\-in\-western\-hunan\-that\-flows\-into\-dongting\-lake;
+簋 > a\-square\-basket\-of\-bamboo\-for\-holding\-grain\-used\-at\-sacrifices;
+鷴 > silver\-pheasant\-badge\-worn\-by\-civil\-officials\-of\-the\-5th\-grade;
+蟕 > a\-species\-of\-tortoise\-found\-near\-the\-mouth\-of\-the\-yellow\-river;
+㬆 > posthumous\-title\-conferred\-upon\-emperors\-and\-eminent\-officials;
+㔳 > a\-square\-basket\-of\-bamboo\-for\-holding\-grain\-used\-at\-sacrifices;
+鞝 > the\-piece\-of\-leather\-used\-for\-soles\-on\-chinese\-shoes\.\-a\-patch;
+蔛 > a\-small\-orchid\-like\-plant\-it\-bears\-white\-flowers\-a\-dendrobium;
+䰙 > an\-ancient\-unit\-of\-capacity\-with\-three\-feet\-and\-a\-big\-opening;
+䔹 > a\-fungus\-which\-grows\-on\-rotten\-plants\-and\-is\-eaten\-when\-fresh;
+㯣 > a\-kind\-of\-fragrant\-tree\-used\-to\-produce\-perfume\-by\-burning\-it;
+㯡 > to\-lacquer\-some\-kind\-of\-ashes\-on\-wooden\-articals\-or\-furniture;
+峋 > ranges\-of\-hills\-stretching\-on\-beyond\-another\-irregular\-peaks;
+歃 > smear\-one''s\-mouth\-with\-blood\-of\-a\-victim\-when\-taking\-an\-oath;
+羗 > tribes\-in\-west\-china\-strong\.\-educated\.\-obstinate\.\-a\-particle;
+丣 > ancient\-form\-of\-the\-tenth\-of\-the\-twelve\-terrestrial\-branches;
+䡅 > something\-used\-to\-bind\-the\-frame\-work\-in\-a\-cart\-of\-old\-times;
+䚨 > a\-string\-fastened\-to\-an\-arrow\-to\-draw\-it\-back\-after\-shooting;
+䎠 > to\-twist\-or\-to\-crumple\-between\-hands\-and\-make\-something\-turn;
+㟹 > the\-appearance\-of\-a\-mountain\-is\-lofty\-and\-steep\-and\-profound;
+㝸 > a\-conical\-cap\-worn\-on\-ceremonious\-occasions\-in\-ancient\-times;
+㙨 > the\-royal\-domains\-set\-apart\-in\-ancient\-times\-for\-the\-emperor;
+衩 > the\-open\-seam\-of\-a\-garment\-which\-allows\-freedom\-of\-movement;
+屺 > a\-hill\-with\-trees\-or\-grass\-\-\-some\-give\-the\-opposite\-meaning;
+䶦 > upper\-and\-lower\-teeth\-in\-order\-and\-corresponding\-each\-other;
+䧂 > to\-turn\-over\-the\-clod\-of\-the\-earth\-with\-a\-shovel\-or\-a\-spade;
+噞 > the\-movement\-of\-a\-fish''s\-mouth\-at\-the\-surface\-of\-the\-water;
+唵 > used\-in\-buddhist\-texts\-to\-transliterate\-non\-chinese\-sounds;
+䠂 > name\-of\-a\-powerful\-feudal\-state\-which\-existed\-740\-330\-b\.c\.;
+䖶 > to\-raise\-up\-the\-nose\-in\-order\-to\-get\-the\-bugs\-in\-the\-earth;
+䄛 > service\-or\-rites\-of\-offering\-sacrifices\-for\-drink\-and\-food;
+㼰 > an\-earthenware\-jar\-with\-a\-small\-mouth\-and\-two\-or\-four\-ears;
+㸖 > hide\-or\-to\-keep\-in\-store\-the\-vegetable\-in\-cold\-winter\-days;
+㷟 > to\-scald\-the\-bristles\-off\-a\-pig\-or\-the\-feathers\-off\-a\-bird;
+㰇 > the\-square\-peck\-shaped\-box\-half\-way\-up\-a\-chinese\-flagstaff;
+㮞 > the\-square\-peck\-shaped\-box\-half\-way\-up\-a\-chinese\-flagstaff;
+㦼 > a\-wooden\-piles\-used\-as\-a\-cable\-to\-make\-immovable\-of\-a\-boat;
+㢧 > a\-book\-or\-painting\-which\-can\-be\-easily\-folded\-or\-rolled\-up;
+钲 > kind\-of\-gong\-used\-in\-ancient\-times\-by\-troops\-on\-the\-march;
+鉦 > kind\-of\-gong\-used\-in\-ancient\-times\-by\-troops\-on\-the\-march;
+䪳 > slanted\-face\-causing\-by\-the\-paralyzed\-of\-the\-facial\-nerve;
+䞋 > to\-do\-alms\-for\-the\-buddhist\-priests\-or\-monks\-in\-old\-times;
+䙆 > slits\-on\-the\-lower\-part\-of\-a\-gown\-for\-freedom\-of\-movement;
+䀏 > to\-move\-one''s\-eyes\-to\-express\-or\-indicate\-with\-eyes\-dizzy;
+㿄 > the\-groans\-or\-moans\-from\-a\-person\-in\-a\-critical\-condition;
+㶏 > an\-ancient\-name\-of\-a\-river\-in\-henan\-province\-dengfengxian;
+㳇 > name\-of\-a\-place\-in\-today''s\-jiangsu\-province\-yixing\-county;
+㫋 > a\-silken\-banner\-hanging\-from\-a\-staff\-bent\-over\-at\-the\-top;
+狽 > a\-legendary\-animal\-with\-short\-forelegs\-which\-rode\-a\-wolf;
+歐 > used\-in\-transliterating\-non\-chinese\-words\-such\-as\-europe;
+狈 > a\-legendary\-animal\-with\-short\-forelegs\-which\-rode\-a\-wolf;
+汨 > mi\-river\-in\-hunan\-province\-where\-qu\-yuan\-drowned\-himself;
+汜 > a\-stream\-which\-leaves\-the\-main\-branch\-then\-later\-returns;
+簈 > bamboo\-mat\-used\-to\-protect\-carriage\-passengers\-from\-dust;
+箳 > bamboo\-mat\-used\-to\-protect\-carriage\-passengers\-from\-dust;
+爼 > a\-small\-table\-or\-tiered\-stand\-filled\-with\-meat\-offerings;
+䳚 > a\-sort\-of\-nightingale\-which\-is\-said\-to\-sing\-for\-the\-dawn;
+䡂 > the\-long\-wooden\-bumper\-at\-the\-rear\-of\-a\-cart\-or\-carriage;
+䃾 > to\-offer\-small\-pig\-as\-sacrifice\-when\-warship\-god\-of\-life;
+㼪 > fragments\-of\-a\-tile\-haven''t\-t\-been\-kiln\-dried\-completely;
+㴖 > name\-of\-a\-stream\-in\-shandong\-province\-southwest\-of\-jinan;
+㝉 > space\-between\-the\-throne\-and\-the\-retiring\-room\-behind\-it;
+㖫 > used\-in\-names\-for\-minority\-ethnic\-group\-in\-ancient\-china;
+炝 > stir\-fry\-or\-boil\-in\-water\-or\-oil\-then\-cook\-with\-a\-sauce;
+熗 > stir\-fry\-or\-boil\-in\-water\-or\-oil\-then\-cook\-with\-a\-sauce;
+弮 > a\-crowwbow\-which\-discharged\-several\-bolts\-in\-succession;
+䪙 > leather\-wrapped\-collar\-for\-a\-draft\-animal\-of\-a\-carriage;
+䪖 > leather\-wrapped\-collar\-for\-a\-draft\-animal\-of\-a\-carriage;
+䧚 > the\-name\-of\-a\-place\-in\-the\-south\-west\-of\-hebei\-province;
+䡞 > leather\-that\-wind\-round\-on\-the\-shafts\-of\-a\-big\-carriage;
+䍜 > a\-basket\-or\-a\-cage\-used\-to\-keep\-wild\-and\-domestic\-fowls;
+䇆 > capacity\-unit\-in\-france\-equal\-to\-ten\-times\-of\-one\-litre;
+䂅 > to\-have\-insight\-or\-vision\-of\-a\-simple\-and\-honest\-person;
+㲽 > name\-of\-a\-river\-in\-today''s\-southwest\-of\-shanxi\-province;
+㮐 > a\-rack\-or\-a\-stand\-with\-three\-sticks\-to\-cross\-each\-other;
+㬸 > a\-kind\-of\-services\-or\-ceremonies\-of\-offering\-sacrifices;
+郌 > name\-of\-an\-ancient\-hsien\-in\-modern\-gansu\/shaanxi\-area\.;
+耰 > toothless\-rake\-for\-drawing\-earth\-over\-newly\-sown\-grain;
+琀 > gems\-of\-pearls\-formerly\-put\-into\-the\-mouth\-of\-a\-corpse;
+䪃 > wine\-container\-used\-by\-minority\-tribe\-in\-ancient\-times;
+䥷 > a\-hinged\-shear\-or\-long\-knife\-for\-cutting\-fodder\-or\-hay;
+䤩 > an\-ornament\-at\-the\-end\-of\-a\-belt\-used\-in\-ancient\-times;
+䝪 > to\-provide\-money\-or\-gift\-and\-to\-consult\-fortune\-teller;
+䙛 > ceremonial\-dress\-of\-the\-emperor\-or\-very\-high\-officials;
+䘦 > a\-kind\-of\-head\-dress\-wore\-in\-funeral\-rites\-in\-old\-days;
+䘟 > kind\-of\-silk\-woven\-with\-double\-threads\-and\-water\-proof;
+䔑 > a\-white\-colored\-cluster\-grown\-at\-the\-tip\-of\-cogongrass;
+䉲 > thin\-and\-flat\-slips\-of\-bamboo\-used\-for\-weaving\-purpose;
+㼽 > fragments\-of\-a\-tile\-haven''t\-been\-kiln\-dried\-completely;
+㶁 > after\-blocking\-the\-water\-flow\-takes\-different\-waterway;
+㯀 > bonds\-and\-fetters\-for\-falcons\-and\-dogs\-used\-in\-hunting;
+㒾 > a\-kind\-of\-wrapper\-used\-to\-cover\-over\-the\-face\-and\-head;
+蠲 > the\-millipede\-sometimes\-confounded\-with\-the\-grow\-worm;
+蘧 > a\-plant\-which\-resembles\-wheat\-but\-has\-no\-edible\-grain;
+䡴 > carriage\-used\-in\-ancient\-times\-to\-take\-enemy\-position;
+䟺 > walk\-slowly\-because\-of\-the\-wrong\-position\-of\-the\-feet;
+䉣 > slips\-of\-bamboo\-provided\-for\-writing\-in\-ancient\-times;
+䁹 > to\-look\-askance\-\-\-\-a\-expression\-of\-disdain\-or\-despise;
+㼌 > lot\-of\-melons\-growing\-but\-the\-root\-is\-weak\-and\-feeble;
+㻠 > jade\-hanging\-on\-the\-sides\-of\-the\-cap\-in\-ancient\-times;
+㮣 > a\-piece\-of\-wood\-used\-to\-strike\-off\-grain\-in\-a\-measure;
+㓤 > to\-strip\-the\-skin\-of\-the\-face\-\-\-\-an\-imminent\-calamity;
+砀 > brilliantly\-colored\-stone\-with\-veined\-patterns\-in\-it;
+虒 > an\-amphibious\-beast\-resembling\-a\-tiger\-with\-one\-horn;
+筁 > a\-bamboo\-frame\-on\-which\-silkworms\-spin\-their\-cocoons;
+碭 > brilliantly\-colored\-stone\-with\-veined\-patterns\-in\-it;
+冋 > a\-desert\-a\-border\-prairie\-the\-1st\-form\-is\-radical\-13;
+䴷 > use\-the\-whole\-piece\-of\-barley\-to\-ferment\-for\-brewing;
+䭞 > a\-kind\-of\-sacrifices\-offered\-to\-gods\-or\-the\-deceased;
+䧠 > name\-of\-a\-place\-in\-what\-is\-today''s\-shandong\-province;
+䑩 > a\-kind\-of\-inland\-rivers\-warship\-used\-in\-qing\-dynasty;
+䍸 > a\-legendary\-goat\-like\-animal\-with\-4\-ears\-and\-9\-tails;
+䍫 > a\-legendary\-goat\-like\-animal\-with\-4\-ears\-and\-9\-tails;
+䃫 > a\-silicate\-substance\-from\-the\-salt\-wells\-in\-szechwan;
+㸜 > to\-get\-through\-the\-space\-enclosed\-by\-a\-constellation;
+㷭 > a\-conical\-brick\-structure\-in\-which\-to\-light\-a\-beacon;
+㶻 > a\-conical\-brick\-structure\-in\-which\-to\-light\-a\-beacon;
+甾 > ground\-that\-has\-been\-under\-cultivation\-for\-one\-year;
+禡 > a\-sacrifice\-at\-the\-beginning\-of\-a\-military\-campaign;
+礮 > ancient\-ballista\-for\-throwing\-heavy\-stones\-a\-cannon;
+礟 > ancient\-ballista\-for\-throwing\-heavy\-stones\-a\-cannon;
+䯠 > the\-five\-lowest\-pieces\-of\-bone\-of\-the\-spinal\-column;
+䯙 > the\-five\-lowest\-pieces\-of\-bone\-of\-the\-spinal\-column;
+䬦 > food\-items\-merely\-arranged\-for\-display\-purpose\-only;
+䙑 > a\-piece\-of\-sackcloth\-worn\-on\-the\-breast\-in\-mourning;
+䈱 > an\-open\-bamboo\-basket\-used\-to\-feed\-domestic\-animals;
+㪵 > half\-of\-a\-unit\-of\-measurement\-used\-in\-ancient\-times;
+㡈 > the\-ropes\-attached\-to\-the\-bier\-and\-held\-by\-mourners;
+㚤 > a\-lady\-officer\-of\-the\-monarch''s\-palace\-in\-old\-times;
+呀 > particle\-used\-to\-express\-surprise\-or\-mild\-emphasis;
+靷 > the\-leather\-belt\-that\-connects\-a\-horse\-with\-a\-cart;
+譼 > to\-supervise\-to\-confine\-a\-government\-establishment;
+坫 > a\-stand\-on\-which\-to\-replace\-goblets\-after\-drinking;
+䴽 > a\-small\-round\-piece\-of\-distiller''s\-grains\-or\-yeast;
+䰎 > to\-twist\-the\-hair\-in\-a\-knot\-on\-the\-top\-of\-the\-head;
+䪝 > leather\-cord\-that\-winding\-on\-the\-handle\-of\-a\-knife;
+䡇 > the\-cross\-bar\-at\-the\-end\-of\-the\-pole\-of\-a\-carriage;
+䞀 > to\-desire\-for\-more\-money\-than\-one''s\-rightful\-share;
+䘭 > the\-pleates\-on\-the\-lapel\-of\-a\-garment\-of\-thin\-silk;
+䐈 > a\-piece\-of\-one\-foot\-two\-inches\-dried\-seasoned\-meat;
+䍅 > containers\-for\-water\-or\-wine\-used\-in\-ancient\-times;
+䋾 > cotton\-and\-silk\-to\-be\-laid\-and\-attached\-each\-other;
+䉐 > a\-thin\-and\-long\-strip\-of\-bamboo\-for\-making\-baskets;
+䈻 > a\-heavy\-mats\-of\-bamboo\-used\-for\-deep\-water\-fishing;
+䇠 > wrench\-to\-adjust\-the\-string\-on\-stringed\-instrument;
+䄌 > to\-perform\-rities\-in\-honor\-of\-the\-ancestral\-temple;
+䃦 > a\-flat\-and\-great\-rock\-people\-squat\-or\-crouch\-on\-it;
+㻀 > fine\-stone\-which\-is\-little\-less\-valuable\-than\-jade;
+㲬 > hair\-decorations\-on\-a\-helmet\-used\-in\-ancient\-times;
+㱯 > get\-the\-unborn\-baby\-goat\-by\-killng\-the\-mother\-goat;
+㮰 > the\-small\-beam\-supporting\-the\-rafters\-at\-the\-eaves;
+㪶 > a\-dry\-measure\-10\-or\-5\-times\-that\-of\-a\-chinese\-peck;
+㟗 > name\-of\-a\-small\-principality\-in\-what\-is\-now\-shanxi;
+伽 > transcription\-of\-sanskrit\-''gha''\-in\-buddhist\-texts;
+屣 > straw\-sandals\-or\-slippers\-that\-have\-no\-heel\-backs;
+漎 > a\-place\-where\-small\-streams\-flow\-into\-a\-large\-one;
+檾 > grassy\-plant\-with\-fibres\-from\-which\-cloth\-is\-made;
+䰌 > to\-bind\-the\-hair\-in\-a\-knot\-on\-the\-top\-of\-the\-head;
+䩵 > tanner\-who\-made\-the\-leather\-drum\-in\-ancient\-times;
+䚙 > a\-spoon\-for\-cooked\-rice\-made\-of\-horn\-of\-an\-animal;
+䌳 > a\-kind\-of\-unrefined\-or\-unpolished\-silken\-textiles;
+䌤 > a\-kind\-of\-unrefined\-or\-unpolished\-silken\-textiles;
+䊺 > an\-implement\-to\-draw\-or\-to\-collect\-ropes\-or\-cords;
+䉃 > sliped\-open\-bamboo\-with\-the\-joints\-used\-as\-an\-oar;
+䉀 > rectangular\-chest\-or\-box\-woven\-from\-bamboo\-strips;
+䄋 > to\-pray\-for\-preventing\-or\-forestalling\-calamities;
+䃮 > a\-stone\-build\-hydraulic\-measures\-in\-ancient\-times;
+㾿 > roar\-of\-asthma\-or\-expectorate\-from\-a\-dying\-person;
+㻨 > ine\-stone\-which\-is\-little\-less\-valuable\-than\-jade;
+㺐 > generally\-called\-for\-minority\-groups\-in\-old\-china;
+㯂 > pillar\-or\-post\-of\-a\-frame\-on\-which\-silkworms\-spin;
+㟋 > deep\-and\-level\-ground\-gully\-at\-the\-foot\-of\-a\-hill;
+㞪 > the\-appearance\-of\-the\-mountain\-is\-flat\-and\-smooth;
+衅 > consecrate\-sacrificial\-vessels\-by\-smearing\-blood;
+虢 > name\-of\-ancient\-feudal\-state\-in\-shenxi\-and\-hunan;
+齉 > stoppage\-of\-the\-nose\-to\-speak\-with\-a\-nasal\-twang;
+褯 > children''s\-garments\.\-a\-mat\-for\-wrapping\-garments;
+梠 > a\-small\-beam\-supporting\-the\-rafters\-at\-the\-eaves;
+摣 > a\-handful\.\-to\-pick\-up\-with\-the\-fingers\.\-to\-seize;
+堘 > a\-raised\-path\-between\-field\-which\-acts\-as\-a\-dyke;
+䶜 > the\-process\-to\-whiten\-the\-ivory\-or\-elephant\-tusk;
+䮉 > horses\-kept\-at\-a\-courier\-station\-in\-former\-times;
+䢵 > name\-of\-an\-old\-country\-in\-today''s\-hubei\-province;
+䡟 > a\-ring\-of\-the\-horizontal\-front\-bar\-on\-a\-carriage;
+䞛 > dancing\-of\-a\-eastern\-minority\-group\-in\-old\-china;
+䝌 > a\-pig\-seek\-for\-food\-through\-digging\-on\-the\-earth;
+䒁 > a\-small\-boat\-connected\-to\-the\-back\-of\-a\-big\-boat;
+䉋 > a\-variety\-of\-bamboo\-shoots\-that\-sprout\-in\-winter;
+䈔 > whistle\-made\-of\-reed\-without\-holes\-for\-fingering;
+㽙 > official\-in\-charge\-of\-farmlands\-in\-ancient\-times;
+㳎 > guide\-or\-lead\-to\-make\-the\-water\-flowing\-smoothly;
+㲪 > woolen\-blanket\-with\-decorative\-design\-or\-pattern;
+㲨 > a\-decorative\-fine\-blanket\-on\-the\-top\-of\-a\-saddle;
+㲣 > woolen\-blanket\-with\-decorative\-design\-or\-pattern;
+㲙 > woolen\-blanket\-with\-decorative\-design\-or\-pattern;
+㧋 > to\-lengthen\-and\-extenuate\-\-\-\-as\-in\-making\-noodle;
+㠜 > young\-kids\-smart\-and\-familiar\-with\-human\-affairs;
+㙱 > earthenware\-used\-to\-bake\-cakes\-in\-northern\-china;
+喁 > the\-mouth\-of\-a\-fish\-at\-the\-surface\-of\-the\-water;
+揎 > to\-pull\-up\-the\-sleeves\-and\-stretch\-out\-the\-arms;
+箬 > the\-cuticle\-of\-the\-bamboo\-a\-broad\-leaved\-bamboo;
+軾 > horizontal\-wooden\-bar\-in\-front\-of\-a\-sedan\-chair;
+萆 > the\-castor\-oil\-plant\-also\-used\-for\-other\-plants;
+簠 > an\-ancient\-vessel\-used\-for\-holding\-boiled\-grain;
+䲰 > a\-second\-name\-for\-the\-pigeon\-or\-the\-turtle\-dove;
+䝥 > to\-roar\-or\-howl\-frantic\-barks\-of\-dogs\-or\-wolves;
+䔤 > the\-lush\-and\-luxuriant\-of\-the\-grass\-and\-flowers;
+㯮 > a\-kind\-of\-tree\-with\-big\-leaves\-and\-in\-red\-color;
+㔍 > a\-hinged\-shear\-or\-long\-knife\-for\-cutting\-fodder;
+璜 > a\-semicircular\-jade\-ornament\-used\-as\-a\-pendant;
+諬 > to\-open\-to\-begin\-to\-explain\-to\-inform\-a\-letter;
+猹 > wild\-animal\-mentioned\-in\-short\-story\-by\-lu\-xun;
+犼 > a\-fierce\-mongolian\-wolf\-dragon''s\-head\-on\-roofs;
+湓 > an\-affluent\-of\-the\-river\-yangtze\-near\-kiukiang;
+歚 > used\-in\-name\-of\-famous\-korean\-painter\-ceng\-sen;
+䶛 > to\-separate\-the\-meat\-from\-the\-bones\-with\-teeth;
+䳜 > a\-kind\-of\-bird\-which\-shares\-its\-nest\-with\-rats;
+䳅 > a\-kind\-of\-bird\-which\-shares\-its\-nest\-with\-rats;
+䲍 > a\-perch\-like\-fish\-with\-white\-body\-and\-red\-tail;
+䩶 > saddle\-and\-rein\-etc\.\-for\-the\-imperial\-carriage;
+䗽 > a\-small\-gadfly\-that\-suck\-blood\-of\-horse\-or\-cow;
+䉴 > a\-bamboo\-ware\-to\-collect\-and\-keep\-something\-in;
+䉅 > small\-bamboo\-whose\-joints\-are\-three\-feet\-apart;
+䈛 > small\-bamboo\-whose\-joints\-are\-three\-feet\-apart;
+䄦 > to\-put\-forth\-ears\-and\-to\-blossom\-of\-the\-grains;
+㽩 > connected\-banks\-of\-earth\-or\-paths\-in\-the\-field;
+㹃 > two\-brindled\-cows\-to\-plough\-face\-to\-each\-other;
+㶟 > an\-ancient\-neme\-of\-a\-river\-in\-shanxi\-and\-hebei;
+㲈 > the\-name\-of\-the\-music\-of\-the\-legendary\-emperor;
+㬐 > a\-state\-during\-the\-period\-of\-spring\-and\-autumn;
+㡛 > name\-for\-a\-workman\-who\-apply\-color\-in\-painting;
+㟢 > the\-rocks\-on\-the\-hills\-are\-of\-different\-shapes;
+㜼 > children\-of\-one''s\-brother\-\-\-\-nephews\-or\-nieces;
+㔽 > a\-kind\-of\-wine\-pot\-or\-jar\-used\-in\-ancient\-time;
+㓃 > to\-sacrifice\-by\-pouring\-out\-a\-libation\-of\-wine;
+㑞 > a\-maid\-who\-accompanies\-a\-bride\-to\-her\-new\-home;
+畲 > to\-cultivate\-land\-by\-first\-setting\-fire\-to\-it;
+篚 > round\-or\-oval\-covered\-baskets\-with\-short\-legs;
+粔 > cakes\-made\-from\-rice\-flour\-twisted\-into\-rings;
+戤 > to\-infringe\-a\-trade\-mark\-to\-pledge\-an\-article;
+乤 > first\-character\-of\-korean\-place\-name\-''halpho'';
+䶨 > in\-the\-manner\-a\-toothless\-person\-chewing\-food;
+䮛 > extra\-horse\-harnessed\-by\-the\-side\-of\-the\-team;
+䣠 > name\-of\-a\-village\-in\-today''s\-sichuan\-province;
+䣟 > name\-of\-pavilion\-in\-today''s\-shandong\-province;
+䠒 > courtesy\-of\-a\-minority\-group\-in\-ancient\-times;
+䝰 > to\-store\-or\-to\-accumulate\-riches\-or\-valuables;
+䜱 > name\-of\-a\-pavilion\-in\-today''s\-shanxi\-province;
+䓝 > chinese\-pennisetum\)\-pennisetum\-alopecuroides\);
+䋉 > a\-numerary\-adjunct\-for\-practically\-everything;
+䊣 > light\-yellow\-dust\-like\-fungoid\-growth\-on\-wine;
+䇒 > numerary\-adjunct\-for\-periodic\-terms\-or\-events;
+㿗 > disease\-of\-the\-private\-part\-of\-the\-human\-body;
+㿉 > disease\-of\-the\-private\-part\-of\-the\-human\-body;
+㾫 > hemiplegia\-\-\-\-paralysis\-of\-half\-of\-one''s\-body;
+㻞 > flourishing\-and\-radiant\-of\-the\-colorful\-jades;
+㹱 > name\-of\-a\-dog\-in\-the\-period\-of\-warring\-states;
+㲥 > a\-kind\-of\-woolen\-textiles\-with\-curved\-pattern;
+㭹 > name\-of\-a\-county\-in\-today''s\-shandong\-province;
+㣯 > the\-dresses\-toss\-and\-flying\-about\-in\-the\-wind;
+㢯 > bows\-used\-by\-the\-son\-of\-heaven\-\-\-\-the\-emperor;
+㡊 > a\-kind\-of\-cap\-worn\-by\-an\-officer\-in\-old\-china;
+㙫 > a\-fountain\-or\-spring\-out\-from\-the\-underground;
+㙍 > name\-of\-a\-place\-in\-today''s\-guangdong\-province;
+钧 > unit\-of\-measure\-equivalent\-to\-thirty\-catties;
+妲 > concubine\-of\-last\-ruler\-of\-the\-shang\-dynasty;
+瓴 > concave\-channels\-of\-tiling\-a\-long\-necked\-jar;
+媵 > a\-maid\-who\-accompanies\-bride\-to\-her\-new\-home;
+胙 > meat\-offered\-in\-sacrifice\-to\-one''s\-ancestors;
+蟊 > a\-fly\-which\-is\-used\-similarly\-to\-cantharides;
+騲 > the\-female\-of\-certain\-animals\-such\-as\-horses;
+鈞 > unit\-of\-measure\-equivalent\-to\-thirty\-catties;
+蝥 > a\-fly\-which\-is\-used\-similarly\-to\-cantharides;
+珓 > two\-hemispherical\-objects\-used\-in\-divination;
+敧 > to\-pick\-up\-thing\-with\-chopsticks\-or\-pincers\.;
+扄 > large\-ring\-on\-a\-front\-door\-used\-as\-a\-knocker;
+嫏 > the\-place\-where\-the\-supreme\-stores\-his\-books;
+䱁 > a\-kind\-of\-medium\-sized\-fish\-grown\-in\-the\-sea;
+䰏 > sparse\-hair\-on\-a\-knot\-on\-the\-top\-of\-the\-head;
+䮆 > a\-horse\-with\-mixed\-color\-of\-yellow\-and\-white;
+䩛 > leather\-belt\-used\-to\-bind\-or\-restrain\-a\-cart;
+䦹 > name\-of\-a\-county\-in\-today''s\-sichuan\-province;
+䣔 > name\-of\-a\-pavilion\-in\-today''s\-henan\-province;
+䣑 > living\-space\-for\-one\-family\-in\-ancient\-times;
+䣄 > name\-of\-a\-place\-in\-today''s\-shandong\-province;
+䣁 > name\-of\-a\-pavilion\-in\-today''s\-henan\-province;
+䢹 > name\-of\-a\-pavilion\-in\-today''s\-hunan\-province;
+䢪 > a\-sledge\-for\-transportation\-over\-mud\-or\-snow;
+䟆 > to\-keep\-persons\-off\-the\-route\-of\-the\-emperor;
+䈐 > an\-arched\-frame\-made\-of\-bamboo\-of\-wood\-board;
+䅿 > luxuriant\-or\-exuberant\-of\-the\-grains\-flowery;
+䃈 > mountain\-rocks\-a\-black\-stone\-resembling\-jade;
+䂬 > big\-rocks\-on\-the\-riverside\-an\-arched\-opening;
+䁝 > deluding\-and\-causing\-disorder\-lights\-shining;
+㽟 > to\-till\-or\-to\-plough\-the\-fields\-an\-enclosure;
+㮄 > publicly\-posted\-roll\-of\-successful\-examinees;
+㭸 > the\-branches\-to\-spread\-out\-in\-all\-directions;
+㩉 > to\-take\-a\-rubbing\-of\-an\-inscription\-on\-stone;
+㣁 > to\-equipt\-a\-bow\-with\-silk\-and\-muscular\-fibre;
+㢆 > living\-space\-for\-one\-family\-in\-ancient\-times;
+㝙 > the\-third\-of\-the\-twelve\-terrestrial\-branches;
+㙻 > living\-space\-for\-one\-family\-in\-ancient\-times;
+乎 > interrogative\-or\-exclamatory\-final\-particle;
+澄 > purify\-water\-by\-allowing\-sediment\-to\-settle;
+歟 > a\-final\-particle\-used\-to\-express\-admiration;
+梢 > pointed\-tip\-of\-something\-long\-like\-a\-branch;
+哒 > a\-sound\-made\-to\-get\-a\-horse\-to\-move\-forward;
+琮 > octagonal\-piece\-of\-jade\-with\-hole\-in\-middle;
+欤 > a\-final\-particle\-used\-to\-express\-admiration;
+唼 > speaking\-evil\.\-gobbling\-sound\-made\-by\-ducks;
+邴 > name\-of\-a\-city\-in\-the\-ancient\-state\-of\-song;
+䶘 > the\-sound\-of\-chewing\-something\-dry\-and\-hard;
+䮲 > horse\-with\-mixed\-colors\-of\-yellow\-and\-white;
+䦼 > to\-dig\-a\-passage\-through\-a\-mountain\-or\-hill;
+䥑 > a\-kind\-of\-decoration\-on\-the\-head\-of\-a\-horse;
+䣯 > wine\-or\-any\-thick\-fluid\-of\-the\-best\-quality;
+䣚 > name\-of\-a\-village\-in\-today''s\-henan\-province;
+䣙 > name\-of\-a\-county\-in\-today''s\-shanxi\-province;
+䢺 > name\-of\-a\-place\-in\-today''s\-sichuan\-province;
+䢸 > name\-of\-a\-county\-in\-today''s\-shanxi\-province;
+䡿 > frames\-on\-the\-sides\-and\-front\-of\-a\-carriage;
+䡼 > frames\-on\-the\-sides\-and\-front\-of\-a\-carriage;
+䜯 > name\-of\-a\-valley\-in\-today''s\-shanxi\-province;
+䘿 > shirt\-or\-a\-jacket\-without\-any\-decorated\-hem;
+䖂 > an\-edib\-le\-water\-plant\-\-\-\-brasenia\-purpurca;
+䏮 > the\-sides\-of\-the\-trunk\-from\-armpits\-to\-ribs;
+䅍 > straight\-upward\-of\-the\-wheat\-and\-rice\-plant;
+䂸 > to\-smash\-or\-to\-knock\-to\-pieces\-of\-the\-stone;
+㾼 > to\-suffer\-a\-stroke\-of\-paralysis\-or\-apoplexy;
+㾯 > to\-suffer\-a\-stroke\-of\-paralysis\-or\-apoplexy;
+㽫 > seeds\-of\-the\-plant\-allied\-to\-the\-water\-lily;
+㸷 > a\-kind\-of\-cattle\-with\-two\-horns\-straight\-up;
+㶬 > bright\-lights\-and\-illuminations\-of\-the\-fire;
+㶡 > bright\-lights\-and\-illuminations\-of\-the\-fire;
+㶆 > name\-of\-a\-stream\-in\-hebei\-province\-hengshan;
+㮫 > a\-wooden\-artical\-to\-be\-used\-to\-adjust\-a\-bow;
+㫍 > the\-scallops\-along\-the\-lower\-edge\-of\-a\-flag;
+㧏 > to\-carry\-on\-the\-shouldersof\-two\-or\-more\-men;
+㛶 > do\-not\-care\-about\-appearance\-and\-deportment;
+㛧 > name\-of\-a\-county\-in\-today''s\-shanxi\-province;
+㚔 > instrument\-of\-torture\-used\-in\-ancient\-times;
+㙇 > the\-cattle\-and\-horses\-trampled\-on\-the\-field;
+娅 > mutual\-term\-of\-address\-used\-by\-sons\-in\-law;
+鮠 > a\-kind\-of\-shad\-with\-a\-head\-like\-a\-sturgeon;
+胑 > the\-limbs\.\-wings\-of\-birds\.\-legs\-of\-animals;
+筭 > an\-ancient\-device\-for\-working\-with\-numbers;
+滝 > onomatopoeic\-for\-the\-sound\-of\-falling\-rain;
+婭 > mutual\-term\-of\-address\-used\-by\-sons\-in\-law;
+䳵 > a\-kind\-of\-water\-bird\-with\-colorful\-feather;
+䳛 > a\-small\-brown\-speckled\-bird\-like\-the\-quail;
+䩑 > horizontal\-front\-bar\-on\-a\-cart\-or\-carriage;
+䦓 > to\-wait\-for\-something\-tohappen\-immediately;
+䣤 > name\-of\-village\-in\-today''s\-shanxi\-province;
+䣝 > name\-of\-a\-place\-in\-today''s\-shanxi\-province;
+䣂 > name\-of\-a\-county\-in\-today''s\-hunan\-province;
+䡩 > sound\-of\-carts\-or\-stones\-knocking\-together;
+䡏 > horizontal\-front\-bar\-on\-a\-cart\-or\-carriage;
+䡌 > horizontal\-front\-bar\-on\-a\-cart\-or\-carriage;
+䠀 > to\-sit\-cross\-legged\-like\-a\-buddhist\-priest;
+䜫 > name\-of\-a\-valley\-in\-today''s\-hobei\-province;
+䜚 > to\-speak\-recklessly\-or\-without\-forethought;
+䓥 > sound\-of\-the\-wriggled\-insects\-on\-the\-grass;
+䐄 > the\-unsatisfaction\-of\-hunger\-requires\-meat;
+䍴 > to\-squeeze\-and\-to\-crowd\-against\-each\-other;
+䍆 > container\-for\-grains\-used\-in\-ancient\-times;
+䇯 > a\-kind\-of\-bamboo\-with\-patterns\-on\-the\-head;
+㼱 > to\-manage\-or\-regulate\-the\-leather\-material;
+㯊 > even\-measuring\-board\-for\-pecks\-and\-bushels;
+㨐 > to\-slap\-lightly\-on\-the\-clothes\-or\-coverlet;
+㢥 > a\-big\-piece\-of\-log\-to\-join\-the\-thick\-ropes;
+珈 > an\-ornament\-attached\-to\-a\-woman''s\-hairpin;
+蜃 > marine\-monster\-which\-can\-change\-its\-shape;
+斛 > dry\-measure\-equal\-to\-some\-five\-or\-ten\-dou;
+鄯 > district\-in\-gansu\-during\-the\-tang\-dynasty;
+庹 > the\-length\-of\-one''s\-two\-outstretched\-arms;
+揲 > to\-sort\-out\-the\-stalks\-used\-in\-divination;
+韍 > a\-leather\-knee\-pad\-worn\-during\-sacrifices;
+鏞 > a\-large\-bell\-used\-as\-a\-musical\-instrument;
+軎 > a\-brass\-parts\-for\-a\-cart\-in\-ancient\-china;
+虋 > asparagus\-a\-variety\-of\-red\-stalked\-millet;
+廞 > to\-prepare\-horses\-and\-chariots\-for\-battle;
+婗 > a\-new\-born\-child\-the\-whimper\-of\-an\-infant;
+妺 > wife\-of\-the\-last\-ruler\-of\-the\-xia\-dynasty;
+噠 > sound\-made\-to\-get\-a\-horse\-to\-move\-forward;
+丂 > obstruction\-of\-breath\-as\-it\-seeks\-release;
+䰿 > a\-kind\-of\-small\-fish\-grown\-in\-fresh\-water;
+䢿 > name\-of\-a\-place\-in\-today''s\-hobei\-province;
+䡈 > the\-cross\-bar\-at\-the\-sides\-of\-a\-carritage;
+䔉 > scattered\-or\-dispersed\-of\-grass\-and\-trees;
+䑒 > a\-kind\-of\-farm\-tool\-used\-in\-ancient\-times;
+䐣 > soup\-made\-of\-cutted\-meat\-mixed\-with\-blood;
+䌮 > silk\-fabrics\-with\-the\-color\-of\-new\-leaves;
+䄨 > grains\-producing\-neither\-flower\-nor\-fruit;
+䄝 > show\-no\-respect\-to\-the\-service\-of\-worship;
+㼭 > to\-steady\-by\-putting\-something\-underneath;
+㻲 > a\-rite\-or\-service\-for\-beginning\-of\-autumn;
+㪪 > to\-use\-a\-wooden\-pole\-to\-support\-something;
+㢦 > wooden\-post\-or\-pile\-for\-tethering\-animals;
+㜢 > a\-bad\-term\-by\-which\-one\-addresses\-a\-woman;
+㚒 > concealed\-the\-stolen\-goods\-in\-one''s\-dress;
+踣 > to\-stumble\-and\-fall\-prone\-stiff\-in\-death;
+黼 > embroidered\-official\-or\-sacrificial\-robe;
+峄 > a\-range\-of\-peaks\-in\-shandong\-and\-jiangsu;
+闗 > a\-frontier\-pass\-or\-gate\-to\-shut\-or\-close;
+邾 > a\-feudal\-state\-which\-existed\-b\.c\.700\-469;
+薩 > transliteration\-of\-''sat''\-in\-''bodhisattva;
+膰 > to\-cook\-meat\-for\-a\-sacrifice\-or\-offering;
+瑌 > a\-white\-opaque\-quartz\-used\-for\-ornaments;
+潟 > land\-impregnated\-with\-salt\-from\-the\-tide;
+嶧 > a\-range\-of\-peaks\-in\-shandong\-and\-jiangsu;
+䵞 > ancient\-punishment\-of\-tattooing\-the\-face;
+䱹 > a\-condiment\-made\-from\-minced\-fish\-salted;
+䰼 > a\-condiment\-made\-from\-minced\-fish\-salted;
+䯰 > use\-a\-hair\-pin\-to\-set\-and\-dress\-the\-hair;
+䬯 > to\-have\-congee\-with\-friends\-in\-old\-times;
+䡋 > decoration\-on\-the\-nave\-or\-hub\-of\-a\-wheel;
+䞃 > to\-relieve\-or\-give\-aid\-to\-the\-distressed;
+䝩 > to\-relieve\-or\-give\-aid\-to\-the\-distressed;
+䘯 > the\-lapel\-or\-collar\-of\-a\-garment\-or\-robe;
+䘤 > a\-sword\-covering\-to\-protect\-the\-scabbard;
+䑌 > lwhat\-is\-left\-over\-of\-the\-food\-\-overripe;
+䋧 > ornamennts\-for\-the\-frontal\-part\-of\-shoes;
+䋣 > decorations\-put\-on\-the\-mane\-or\-horsehair;
+䊿 > the\-lapel\-or\-collar\-of\-a\-garment\-or\-robe;
+䈕 > the\-metal\-tongue\-in\-the\-reed\-instruments;
+䃴 > a\-whetstone\-used\-to\-grind\-precious\-stone;
+䁼 > to\-look\-but\-see\-nothing\-\-\-\-absent\-minded;
+㿆 > damage\-by\-the\-pests\-to\-the\-rice\-seedling;
+㻶 > a\-jade\-tube\-with\-white\-and\-nature\-colors;
+㻰 > decorated\-jade\-or\-ornament\-on\-a\-scabbard;
+㻡 > a\-jade\-ring\-with\-a\-small\-segment\-cut\-off;
+㮆 > eaves\-sprouting\-from\-the\-stump\-of\-a\-tree;
+㫔 > one\-of\-the\-eight\-diagrams\-for\-divination;
+㪻 > a\-kind\-of\-utensil\-used\-to\-ladle\-out\-wine;
+㩊 > to\-pull\-up\-the\-sleeves\-and\-show\-the\-arms;
+㧭 > to\-get\-something\-with\-both\-raising\-hands;
+㧚 > the\-gesture\-of\-using\-an\-indented\-contain;
+㧆 > to\-cover\-something\-with\-a\-piece\-of\-cloth;
+㡋 > a\-kind\-of\-headdress\-for\-man\-in\-old\-china;
+㠸 > the\-lapel\-or\-collor\-of\-a\-garment\-or\-robe;
+㜚 > a\-local\-government\-post\-in\-ancient\-times;
+㙟 > low\-lying\-on\-the\-side\-of\-a\-river\-or\-lake;
+喏 > respectful\-reply\-of\-assent\-to\-superiors;
+笏 > tablet\-held\-by\-someone\-having\-authority;
+趼 > callous\-skin\-on\-hands\-or\-feet\.\-blisters;
+饝 > to\-feed\-an\-infant\-by\-hand\-steamed\-bread;
+裍 > a\-border\-or\-band\-on\-the\-edge\-of\-a\-dress;
+籪 > a\-weir\-of\-bamboo\-to\-catch\-fish\-or\-crabs;
+瘲 > spasms\-or\-convulsions\-in\-young\-children;
+瑲 > tinkling\-sound\-tinkling\-of\-pendant\-gems;
+弝 > the\-part\-of\-a\-bow\-grasped\-when\-shooting;
+䥜 > protective\-metal\-on\-the\-axis\-of\-a\-wheel;
+䙖 > a\-cloth\-to\-carry\-an\-iinfant\-on\-the\-back;
+䙀 > a\-cloth\-to\-carry\-an\-iinfant\-on\-the\-back;
+䏫 > in\-between\-of\-the\-abdomen\-and\-the\-spine;
+䍉 > traces\-or\-marks\-of\-incomplete\-or\-damage;
+䌸 > fine\-silk\-fabric\-of\-bright\-white\-colour;
+䋿 > a\-decorative\-knot\-made\-of\-colorful\-silk;
+䈜 > a\-thread\-used\-by\-carpenters\-for\-marking;
+䈆 > a\-shallow\-and\-long\-shaped\-bamboo\-basket;
+㿹 > jutting\-on\-the\-epidermis\-or\-the\-cuticle;
+㼫 > earthenware\-or\-pottery\-with\-big\-opening;
+㵻 > to\-perspire\-from\-embarrassment\-or\-shame;
+㭩 > a\-kind\-of\-tree\-can\-be\-used\-as\-dye\-stuff;
+㣙 > to\-walk\-in\-an\-easy\-and\-leisurely\-manner;
+㢪 > to\-draw\-a\-full\-bow\-to\-aim\-at\-the\-target;
+㘊 > the\-abrupt\-and\-hasty\-sound\-of\-the\-crowd;
+㖮 > an\-interjection\-used\-in\-poems\-and\-songs;
+㔮 > a\-kind\-of\-animal\-which\-looks\-like\-a\-rat;
+啧 > interjection\-of\-approval\-or\-admiration;
+捺 > to\-press\-down\-heavily\-with\-the\-fingers;
+傣 > the\-dai\-minority\-living\-in\-south\-china;
+鸩 > a\-bird\-resembling\-the\-secretary\-falcon;
+淝 > name\-of\-an\-affluent\-of\-the\-poyang\-lake;
+郅 > to\-go\-up\-to\.\-flourishing\-a\-superlative;
+轫 > a\-block\-that\-keeps\-a\-wheel\-from\-moving;
+嶷 > a\-range\-of\-mountains\-in\-hunan\-province;
+鬲 > type\-of\-caldron\-with\-three\-hollow\-legs;
+刖 > cutting\-off\-feet\-as\-form\-of\-punishment;
+穸 > the\-gloom\-of\-the\-grave\-a\-tomb\-or\-grave;
+蘅 > a\-fragrant\-plant\-the\-root\-is\-medicinal;
+鴆 > a\-bird\-resembling\-the\-secretary\-falcon;
+驆 > used\-in\-transliterating\-buddhist\-books;
+駏 > offspring\-of\-a\-stallion\-and\-a\-she\-mule;
+鉌 > the\-bells\-on\-the\-cart\-in\-ancient\-china;
+軔 > a\-block\-that\-keeps\-a\-wheel\-from\-moving;
+詧 > to\-examine\-into\-judicially\-to\-find\-out;
+綳 > a\-cloth\-to\-carry\-an\-infant\-on\-the\-back;
+綖 > the\-hanging\-flap\-in\-the\-front\-of\-a\-hat;
+祫 > triennial\-sacrifice\-to\-one''s\-ancestors;
+磻 > a\-tributary\-of\-the\-wei\-river\-in\-shanxi;
+斴 > the\-sound\-of\-water\-flowing\-among\-rocks;
+崑 > kunlun\-mountains\-in\-jiang\-su\-province\.;
+嘖 > interjection\-of\-approval\-or\-admiration;
+䰘 > to\-kill\-by\-hanging\-or\-to\-strangulation;
+䮗 > white\-from\-forehead\-to\-lips\-of\-a\-horse;
+䪲 > ancient\-punishment\-of\-shaving\-the\-head;
+䩸 > fine\-woolen\-blanket\-on\-top\-of\-a\-saddle;
+䩫 > a\-unit\-to\-count\-shoes\-in\-ancient\-times;
+䦅 > a\-kind\-of\-weapon\-used\-in\-ancient\-times;
+䥐 > cooking\-utensils\-used\-in\-ancient\-times;
+䢇 > a\-son\-who\-is\-not\-so\-good\-as\-his\-father;
+䛗 > to\-pry\-into\-or\-expose\-another''s\-secret;
+䚅 > to\-look\-after\-home\-or\-domestic\-affairs;
+䘨 > short\-leggings\-drawn\-over\-the\-trousers;
+䖿 > a\-kind\-of\-clam\-with\-thick\-white\-shells;
+䖽 > a\-kind\-of\-clam\-with\-thick\-white\-shells;
+䕰 > a\-second\-name\-for\-rhizome\-of\-wind\-weed;
+䓭 > weed\-or\-grass\-with\-narrow\-thick\-glades;
+䍻 > young\-goat\-of\-sheep\-under\-one\-year\-old;
+䍦 > a\-kind\-of\-turban\-used\-in\-ancient\-times;
+䌹 > a\-garment\-of\-one\-colour\-with\-no\-lining;
+䄪 > hanging\-down\-of\-the\-ears\-of\-the\-grains;
+䄍 > year\-end\-sacrifice\-of\-the\-zhou\-dynasty;
+㽠 > connection\-of\-the\-ditches\-or\-waterways;
+㼮 > to\-rub\-out\-the\-filth\-with\-broken\-tiles;
+㫩 > the\-first\-of\-the\-four\-season\-\-\-\-spring;
+磻 > a\-tributary\-of\-the\-wei\-river\-in\-shanxi;
+㤝 > palpitation\-or\-fluttering\-of\-the\-heart;
+㤑 > palpitation\-or\-fluttering\-of\-the\-heart;
+㟌 > a\-mountain\-in\-today''s\-sichuan\-province;
+㔯 > a\-large\-basket\-for\-holding\-cooked\-rice;
+笙 > small\-gourd\-shaped\-musical\-instrument;
+滕 > an\-ancient\-state\-in\-shandong\-province;
+镛 > large\-bell\-used\-as\-musical\-instrument;
+讵 > an\-interjection\-used\-express\-surprise;
+泔 > water\-from\-washing\-rice\-to\-boil\-thick;
+瘐 > to\-die\-in\-prison\-from\-cold\-and\-hunger;
+棼 > beams\-in\-the\-roof\-of\-a\-house\-confused;
+麅 > a\-small\-spotted\-deer\-found\-in\-n\.china;
+阼 > the\-steps\-leading\-to\-the\-eastern\-door;
+輗 > a\-cross\-bar\-at\-end\-of\-a\-carriage\-pole;
+詎 > interjection\-used\-to\-express\-surprise;
+缌 > coarse\-cotton\-cloth\-used\-for\-mourning;
+緦 > coarse\-cotton\-cloth\-used\-for\-mourning;
+硜 > the\-sound\-of\-stones\-knocking\-together;
+犉 > an\-ox\-with\-yellow\-hair\-and\-black\-lips;
+煝 > twisted\-paper\-for\-lighting\-cigarettes;
+帬 > the\-skirt\-of\-a\-lady''s\-dress\-petticoat;
+嵠 > a\-valley\-with\-a\-stream\-in\-it\.\-a\-gorge;
+䱗 > a\-long\-narrow\-fish\-trichiurus\-armatus;
+䱔 > a\-long\-narrow\-and\-silver\-colored\-fish;
+䪓 > a\-metal\-ornament\-on\-some\-kind\-of\-belt;
+䨙 > to\-rain\-cats\-and\-dogs\-for\-a\-long\-time;
+䦊 > an\-appliance\-for\-walking\-on\-the\-sands;
+䥂 > the\-sharp\-edge\-of\-a\-shovel\-or\-a\-spade;
+䡕 > the\-rear\-platform\-of\-a\-light\-carriage;
+䜔 > to\-speak\-on\-the\-ideas\-of\-someone\-else;
+䖠 > a\-kind\-of\-lizard\-found\-in\-damp\-places;
+䖜 > the\-fighting\-sound\-made\-by\-two\-tigers;
+䎒 > flying\-quickly\-and\-to\-attack\-suddenly;
+䋊 > decorations\-of\-the\-emperor''s\-carriage;
+䀛 > to\-look\-far\-with\-the\-eyes\-half\-closed;
+㼨 > a\-water\-jar\-with\-ears\-for\-carrying\-it;
+㻎 > a\-large\-horizontal\-musical\-instrument;
+㺪 > an\-uncarved\-of\-unpolished\-jade\-or\-gem;
+㵿 > endlessly\-long\-or\-vast\-water\-currents;
+㴩 > name\-of\-a\-stream\-in\-shandong\-province;
+㯘 > a\-small\-wooden\-stand\-having\-four\-legs;
+㤍 > never\-reveal\-one''s\-feeling\-or\-emotion;
+㣠 > a\-rope\-decorated\-with\-bronze\-ornament;
+㡑 > ancient\-mourning\-turban\-worn\-by\-women;
+㠑 > high\-mountain\-steep\-rugged\-and\-uneven;
+㠄 > name\-of\-a\-mountain\-in\-yunnan\-province;
+㠁 > irregular\-outline\-of\-a\-range\-of\-hills;
+㟚 > name\-of\-a\-mountain\-in\-shanxi\-province;
+㞿 > name\-of\-a\-mountain\-in\-shanxi\-province;
+㞹 > name\-of\-a\-mountain\-in\-shanxi\-province;
+㚶 > wife\-of\-one''s\-husband''s\-elder\-brother;
+㘈 > able\-to\-take\-a\-correct\-view\-of\-things;
+㗰 > the\-character\-used\-in\-transliteration;
+㒿 > a\-kind\-of\-turban\-used\-in\-ancient\-time;
+弁 > conical\-cap\-worn\-during\-zhou\-dynasty;
+酉 > tenth\-of\-the\-twelve\-earthly\-branches;
+旌 > banner\-or\-flag\-adorned\-with\-feathers;
+衮 > ceremonial\-dress\-worn\-by\-the\-emperor;
+溧 > river\-in\-anhui\-and\-jiangsu\-provinces;
+糍 > food\-made\-of\-crushed\-and\-cooked\-rice;
+殛 > to\-put\-to\-death\-to\-imprison\-for\-life;
+狍 > species\-of\-deer\-found\-in\-north\-china;
+绂 > ribbon\-or\-cord\-used\-attach\-ornaments;
+磉 > the\-stone\-base\-or\-plinth\-of\-a\-pillar;
+蕹 > ipomoea\-aquatica\-used\-as\-a\-vegetable;
+齈 > cold\-in\-the\-head\-catarrh\-of\-the\-nose;
+鹻 > impure\-carbonate\-of\-sodium\-of\-natron;
+鶢 > a\-bird\-which\-frequents\-the\-sea\-shore;
+郪 > name\-of\-a\-stream\-in\-sichuan\-province;
+轞 > a\-vehicle\-for\-transporting\-prisoners;
+輹 > two\-pieces\-of\-wood\-underneath\-a\-cart;
+袞 > ceremonial\-dress\-worn\-by\-the\-emperor;
+芿 > grass\-which\-has\-been\-cut\-and\-regrown;
+胬 > a\-disease''s\-name\-in\-chinese\-medicine;
+紱 > ribbon\-or\-cord\-used\-attach\-ornaments;
+禊 > semi\-annual\-ceremony\-of\-purification;
+戥 > a\-small\-steelyard\-for\-weighing\-money;
+寍 > used\-as\-a\-term\-of\-comparison\:\-rather;
+咗 > verbal\-particle\-of\-perfective\-aspect;
+丱 > child''s\-hairstyle\-bound\-in\-two\-tufts;
+䮤 > one\-of\-the\-36\-gardens\-in\-han\-dynasty;
+䬭 > name\-of\-a\-legendary\-ferocious\-animal;
+䪔 > cross\-bar\-of\-wood\-under\-the\-carriage;
+䧤 > name\-of\-a\-river\-in\-shandong\-province;
+䤌 > a\-kind\-of\-wine\-be\-brewed\-from\-grains;
+䠷 > the\-appearance\-of\-height\-in\-a\-person;
+䠅 > hands\-and\-feet\-chapped\-from\-the\-cold;
+䝤 > a\-primitive\-tribe\-in\-southwest\-china;
+䝟 > a\-fierce\-man\-eating\-animal\-in\-legend;
+䝝 > an\-exclamation\-indicating\-admiration;
+䛓 > an\-official\-position\-in\-former\-times;
+䚘 > the\-long\-and\-upright\-horns\-of\-cattle;
+䖒 > earthenware\-with\-the\-shape\-of\-a\-bean;
+䕎 > name\-of\-a\-variety\-of\-grass\-perennial;
+䓑 > name\-of\-a\-variety\-of\-grass\-duckweeds;
+䑗 > to\-pound\-in\-order\-to\-remove\-the\-husk;
+䑔 > to\-pound\-in\-order\-to\-remove\-the\-husk;
+䐱 > to\-pick\-the\-meat\-in\-between\-of\-bones;
+䏁 > unable\-to\-hear\-distinctly\-or\-clearly;
+䊠 > to\-give\-a\-supply\-f\-grain\-for\-rations;
+䉟 > a\-bamboo\-basket\-used\-to\-catch\-fishes;
+䈰 > a\-brush\-for\-washing\-kitchen\-utensils;
+䇼 > a\-bamboo\-vessel\-used\-to\-catch\-fishes;
+䄫 > a\-kind\-of\-sorghum\-with\-white\-sprouts;
+䄈 > sacrifice\-to\-happiness\-and\-good\-luck;
+䃤 > black\-colored\-grindstone\-or\-whestone;
+䃎 > name\-of\-a\-place\-\-small\-piece\-of\-coal;
+䂿 > to\-pound\-in\-order\-to\-remove\-the\-husk;
+䂹 > sound\-of\-the\-falling\-pieces\-of\-rocks;
+䁶 > to\-look\-at\-something\-without\-winking;
+䁵 > newborn\-baby\-with\-the\-eyelids\-closed;
+㽅 > vessel\-for\-ceremony\-in\-ancient\-times;
+㸹 > cattle\-with\-white\-stripe\-on\-the\-back;
+㸗 > not\-a\-real\-father\-or\-a\-nature\-father;
+㳘 > a\-fountain\-or\-spring\-flows\-downwards;
+㮯 > whole\-piece\-of\-or\-unbroken\-firewoods;
+㮜 > a\-blocks\-engraved\-for\-holding\-things;
+㫪 > to\-pound\-in\-order\-to\-remove\-the\-husk;
+㟼 > name\-of\-a\-place\-in\-shandong\-province;
+㞔 > the\-upright\-bar\-for\-fastening\-a\-door;
+㝞 > pretend\-to\-be\-delicate\-and\-beautiful;
+㜹 > name\-of\-a\-folk\-song\-in\-ancient\-times;
+㚁 > the\-long\-tail\-feathers\-which\-curl\-up;
+阮 > ancient\-musical\-instrument\:\-surname;
+喔 > descriptive\-of\-crying\-or\-of\-crowing;
+琏 > vessel\-used\-to\-hold\-grain\-offerings;
+邕 > former\-or\-literary\-name\-for\-nanning;
+魑 > a\-mountain\-demon\-resembling\-a\-tiger;
+昶 > a\-long\-day\.\-bright\.\-extended\.\-clear;
+缧 > a\-chain\-or\-rope\-used\-bind\-criminals;
+螭 > a\-dragon\-whose\-horns\-have\-not\-grown;
+龀 > lose\-baby\-teeth\-and\-get\-adult\-teeth;
+肜 > to\-sacrifice\-on\-two\-successive\-days;
+邗 > an\-ancient\-place\-in\-the\-state\-of\-wu;
+龆 > lose\-baby\-teeth\-and\-get\-adult\-teeth;
+齠 > lose\-baby\-teeth\-and\-get\-adult\-teeth;
+齔 > lose\-baby\-teeth\-and\-get\-adult\-teeth;
+鐤 > huge\-tripod\-of\-bronze\-with\-two\-ears;
+觭 > one\-turning\-up\-and\-one\-turning\-down;
+褱 > to\-carry\-in\-the\-bosom\-or\-the\-sleeve;
+褢 > to\-carry\-in\-the\-bosom\-or\-the\-sleeve;
+艜 > a\-long\-narrow\-vessel\-with\-two\-masts;
+臿 > to\-separate\-the\-grain\-from\-the\-husk;
+縲 > a\-chain\-or\-rope\-used\-bind\-criminals;
+絰 > white\-hempen\-cloth\-worn\-by\-mourners;
+碪 > stone\-slab\-used\-for\-washing\-clothes;
+盇 > why\-not\?\-would\-it\-not\-be\-better\-to\?;
+滫 > water\-in\-which\-rice\-has\-been\-boiled;
+檑 > logs\-rolled\-down\-in\-defense\-of\-city;
+棳 > small\-pillars\-that\-support\-the\-roof;
+帗 > a\-multicolored\-prop\-used\-in\-dancing;
+嘠 > the\-chirping\-of\-birds\-loud\-laughter;
+唄 > final\-particle\-of\-assertion\-pathaka;
+倻 > phonetic\-used\-in\-korean\-place\-names;
+䵺 > boundary\-between\-agricultural\-lands;
+䵹 > insects\-that\-are\-injurious\-to\-crops;
+䭍 > to\-live\-with\-another\-at\-his\-expense;
+䬥 > cooked\-food\-which\-has\-become\-mouldy;
+䬙 > to\-dance\-and\-toss\-about\-in\-the\-wind;
+䠫 > to\-succumb\-to\-the\-effect\-of\-alcohol;
+䝦 > a\-kind\-of\-animal\-looks\-like\-leopard;
+䜠 > language\-of\-the\-savage\-or\-barbarian;
+䖺 > a\-legendary\-animal\-in\-ancient\-times;
+䖥 > insects\-that\-are\-injurious\-to\-crops;
+䒼 > a\-bamboo\-tray\-for\-raising\-silkworms;
+䑳 > a\-horizontal\-bar\-in\-front\-of\-a\-boat;
+䐧 > to\-reward\-or\-cheer\-troops\-with\-food;
+䎰 > name\-of\-a\-place\-in\-sichuan\-province;
+䍟 > a\-kind\-of\-fish\-net\-with\-fine\-meshes;
+䇨 > a\-bamboo\-basket\-for\-food\-containers;
+䆎 > grass\-and\-grains\-producing\-no\-fruit;
+䄻 > a\-second\-time\-growing\-of\-rice\-plant;
+䀚 > to\-lift\-up\-the\-eyes\-and\-look\-around;
+㿖 > carbuncle\-used\-in\-naming\-of\-a\-place;
+㺛 > name\-of\-a\-village\-in\-henan\-province;
+㷈 > embers\-kept\-for\-starting\-a\-new\-fire;
+㵁 > vast\-and\-boundless\-of\-flowing\-water;
+㳕 > water\-in\-which\-rice\-has\-been\-washed;
+㯪 > carved\-or\-patterned\-window\-railings;
+㫀 > huge\-tripod\-of\-bronze\-with\-two\-ears;
+璉 > vessel\-used\-to\-hold\-grain\-offerings;
+㠙 > a\-mountain\-paths\-name\-of\-a\-mountain;
+㓭 > to\-make\-ready\-the\-leather\-for\-shoes;
+㐷 > a\-kind\-of\-punishment\-in\-han\-dynasty;
+袱 > a\-piece\-of\-cloth\-used\-wrap\-bundles;
+挲 > to\-feel\-or\-fondle\-with\-the\-fingers;
+篑 > a\-bamboo\-basket\-for\-carrying\-earth;
+肓 > region\-between\-heart\-and\-diaphragm;
+滦 > river\-and\-county\-in\-hebei\-province;
+郗 > city\-under\-the\-chou\-dyn\.\-a\-surname;
+珏 > two\-pieces\-of\-jade\-joined\-together;
+綦 > dark\-grey\.\-variegated\.\-superlative;
+麇 > general\-name\-for\-the\-hornless\-deer;
+璎 > a\-necklace\-made\-of\-precious\-stones;
+掾 > a\-general\-designation\-of\-officials;
+郇 > an\-ancient\-feudal\-state\-in\-shaanxi;
+龘 > the\-appearance\-of\-a\-dragon\-walking;
+鴽 > a\-species\-of\-bird\-resembling\-quail;
+鄫 > state\-in\-today''s\-shandong\-province;
+鄇 > a\-name\-of\-a\-town\-in\-henan\-province;
+迿 > to\-be\-the\-first\-to\-begin\-a\-quarrel;
+轕 > great\-array\-of\-spears\-and\-chariots;
+輵 > great\-array\-of\-spears\-and\-chariots;
+輠 > grease\-pot\-hung\-under\-axle\-of\-cart;
+膲 > the\-three\-divisions\-of\-the\-viscera;
+紖 > a\-rope\-for\-leading\-cattle\-or\-horse;
+簣 > a\-bamboo\-basket\-for\-carrying\-earth;
+笮 > boards\-which\-support\-tiles\-on\-roof;
+砅 > cross\-stream\-by\-stepping\-on\-stones;
+瓔 > a\-necklace\-made\-of\-precious\-stones;
+璉 > a\-vessel\-used\-hold\-grain\-offerings;
+珱 > a\-necklace\-made\-of\-precious\-stones;
+玨 > two\-pieces\-of\-jade\-joined\-together;
+灤 > river\-and\-county\-in\-hebei\-province;
+梡 > tray\-for\-carrying\-sacrificial\-meat;
+挱 > to\-feel\-or\-fondle\-with\-the\-fingers;
+幵 > even\-level\.\-to\-raise\-in\-both\-hands;
+嫄 > an\-ancient\-emperor''s\-mother''s\-name;
+囷 > round\-shaped\-storage\-bin\-for\-grain;
+䴙 > a\-kind\-of\-bird\-resembling\-the\-duck;
+䲃 > a\-carp\-like\-fish\-with\-chicken\-feet;
+䩗 > to\-rule\-by\-might\-rather\-than\-right;
+䢕 > a\-group\-of\-people\-walking\-together;
+䚡 > bones\-in\-a\-horn\-of\-cattle\-and\-goat;
+䙬 > plaits\-on\-the\-sides\-of\-a\-petticoat;
+䐀 > to\-dismember\-body\-of\-the\-livestock;
+䎎 > to\-glide\-or\-to\-hover\-up\-in\-the\-air;
+䍊 > clay\-made\-blowing\-wind\-instruments;
+䈿 > belt\-of\-the\-canvas\-top\-on\-vehicles;
+䇮 > a\-bamboo\-mat\-used\-in\-ancient\-times;
+䅚 > closely\-growing\-of\-the\-rice\-plants;
+䄶 > rice\-plant\-growing\-the\-second\-time;
+䁾 > red\-and\-swelling\-of\-the\-eye\-socket;
+䁨 > to\-open\-the\-eyes\-with\-astonishment;
+㽛 > narrow\-trail\-of\-path\-in\-the\-fields;
+㺑 > dogs\-wormed\-through\-a\-narrow\-place;
+㹢 > a\-large\-ape\-found\-in\-western\-china;
+㹜 > two\-dogs\-are\-barking\-to\-each\-other;
+㹉 > a\-legendary\-animal\-with\-three\-feet;
+㷦 > to\-open\-the\-eyes\-with\-astonishment;
+㶀 > deep\-and\-vast\-of\-the\-flowing\-water;
+㰶 > to\-wrinkle\-the\-nose\-with\-sorrowful;
+㭲 > a\-wooden\-frame\-for\-carrying\-things;
+㡡 > screen\-to\-make\-a\-temporary\-kitchen;
+㠿 > a\-kind\-of\-delicate\-and\-fine\-fabric;
+㜺 > nice\-white\-color\-and\-looks\-so\-good;
+㜵 > with\-a\-charming\-sprightly\-carriage;
+㚩 > with\-a\-charming\-sprightly\-carriage;
+㙈 > name\-of\-a\-place\-in\-shanxi\-province;
+㖡 > the\-birds\-singing\-during\-the\-night;
+㕺 > looks\-big\-outside\-but\-empty\-inside;
+㕄 > to\-apply\-knowledge\-to\-final\-causes;
+社 > god\-of\-the\-soil\-and\-altars\-to\-him;
+瑟 > large\-stringed\-musical\-instrument;
+楞 > used\-for\-ceylon\-in\-buddhist\-texts;
+喽 > used\-in\-onomatopoetic\-expressions;
+嚅 > talk\-indistinctly\-and\-falteringly;
+裱 > to\-mount\-maps\-or\-scrolls\-to\-paste;
+猢 > a\-kind\-of\-monkey\-found\-in\-w\.china;
+蜮 > a\-fabulous\-creature\-like\-a\-turtle;
+呖 > used\-in\-onomatopoetic\-expressions;
+碡 > stone\-roller\-used\-to\-level\-fields;
+鄣 > name\-of\-ancient\-city\-in\-n\.jiangsu;
+粢 > grain\-offered\-in\-ritual\-sacrifice;
+簦 > large\-umbrella\-with\-a\-long\-handle;
+螓 > a\-small\-cicada\-with\-a\-square\-head;
+魊 > a\-mythical\-creature\-said\-hurl\-san;
+韐 > knee\-pad\-made\-of\-red\-dyed\-leather;
+軏 > cross\-bar\-at\-end\-of\-poles\-of\-cart;
+薀 > the\-hippuris\-or\-mare''s\-tail\-plant;
+蕰 > the\-hippuris\-or\-mare''s\-tail\-plant;
+聝 > to\-cut\-the\-left\-ears\-of\-the\-slain;
+耔 > to\-hoe\-up\-the\-earth\-around\-plants;
+簫 > musical\-instrument\-like\-pan\-pipes;
+簨 > a\-beam\-for\-hanging\-bells\-or\-drums;
+簘 > musical\-instrument\-like\-pan\-pipes;
+箾 > musical\-instrument\-like\-pan\-pipes;
+礳 > name\-of\-place\-in\-shan\-xi\-province;
+碫 > coarse\-stone\-\(used\-for\-whetstone\);
+璯 > jade\-ornament\-in\-the\-seams\-of\-cap;
+琯 > a\-jade\-tube\-used\-as\-an\-instrument;
+玁 > a\-dog\-with\-a\-long\-snout\-or\-muzzle;
+棟 > the\-main\-beams\-supporting\-a\-house;
+戠 > a\-sword\.\-potter''s\-clay\.\-to\-gather;
+嚦 > used\-in\-onomatopoetic\-expressions;
+嘍 > used\-in\-onomatopoetic\-expressions;
+呭 > final\-particle\-expressing\-consent;
+呡 > the\-corners\-of\-the\-mouth\-the\-lips;
+䶬 > hard\-fins\-on\-the\-back\-of\-a\-dragon;
+䶅 > a\-marmot\-like\-rat\-with\-a\-big\-head;
+䴓 > general\-term\-for\-small\-bird\-group;
+䬗 > blown\-or\-tossed\-about\-by\-the\-wind;
+䧉 > name\-of\-a\-pavilion\-in\-han\-dynasty;
+䥶 > cooking\-utensil\-used\-in\-old\-times;
+䥬 > a\-musical\-instrument\-in\-old\-times;
+䣜 > name\-of\-a\-county\-in\-ancient\-times;
+䣖 > name\-of\-a\-county\-in\-ancient\-times;
+䣕 > name\-of\-a\-county\-in\-ancient\-times;
+䣌 > residence\-of\-a\-prince\-or\-nobility;
+䡝 > a\-rear\-covering\-of\-a\-big\-carriage;
+䡊 > the\-protruded\-sides\-of\-a\-carriage;
+䠚 > to\-step\-on\-the\-ground\-with\-a\-bang;
+䖃 > the\-water\-is\-waving\-in\-the\-breeze;
+䕤 > name\-of\-a\-county\-in\-ancient\-times;
+䒧 > a\-vessel\-or\-utensil\-made\-of\-straw;
+䍲 > a\-kind\-of\-sheep\-with\-curled\-hairs;
+䋸 > back\-center\-suture\-of\-the\-clothes;
+䋛 > the\-clustered\-embroidery\-patterns;
+䊖 > to\-eat\-rice\-gruel\-mixed\-with\-meat;
+䆅 > to\-accumulate\-or\-to\-store\-up\-rice;
+䂧 > rocks\-clustered\-pile\-up\-togethers;
+䀿 > to\-have\-a\-casual\-and\-short\-glance;
+䀸 > to\-have\-a\-casual\-and\-short\-glance;
+㹗 > cattle\-and\-sheep\-have\-no\-children;
+㶲 > measuring\-unit\-for\-thermodynamics;
+㵺 > name\-of\-a\-stream\-in\-ancient\-times;
+㵐 > name\-of\-a\-river\-in\-hubei\-province;
+㵋 > name\-of\-a\-river\-in\-hunan\-province;
+㱒 > to\-scold\-or\-blame\-in\-a\-loud\-voice;
+㮾 > a\-place\-in\-today''s\-hunan\-province;
+㬈 > the\-sun\-was\-shining\-and\-it''s\-warm;
+㪊 > infested\-with\-bandits\-and\-robbers;
+㨘 > to\-blow\-the\-nose\-with\-the\-fingers;
+㟾 > name\-of\-a\-mountain\-in\-county\-jian;
+㟸 > name\-of\-pavilion\-in\-ancient\-china;
+㟉 > name\-of\-pavilion\-in\-ancient\-china;
+㟂 > name\-of\-cape\-in\-shandong\-province;
+㚪 > to\-make\-a\-deceptive\-show\-of\-power;
+㒍 > utterly\-weary\-in\-body\-and\-spirits;
+㐌 > a\-tribe\-of\-savages\-in\-south\-china;
+捻 > to\-twist\-or\-nip\-with\-the\-fingers;
+戌 > eleventh\-of\-terrestrial\-branches;
+搓 > to\-rub\-or\-roll\-between\-the\-hands;
+尧 > a\-legendary\-ancient\-emperor\-sage;
+婶 > wife\-of\-father''s\-younger\-brother;
+掬 > to\-grasp\-or\-hold\-with\-both\-hands;
+幛 > scroll\-of\-silk\-or\-cloth\-presente;
+棂 > carved\-or\-patterned\-window\-sills;
+氲 > life\-giving\-influences\-of\-nature;
+蚝 > hairy\-and\-poisonous\-caterpillars;
+澧 > river\-in\-northern\-hunan\-province;
+筮 > divination\-with\-stalks\-of\-plants;
+笪 > a\-coarse\-mat\-of\-rushes\-or\-bamboo;
+馓 > fried\-round\-cakes\-of\-wheat\-flour;
+箐 > to\-draw\-a\-bamboo\-bow\-or\-crossbow;
+扃 > a\-door\-bar\-placed\-outside\-a\-door;
+仉 > surname\-of\-the\-mother\-of\-mencius;
+骾 > any\-object\-that\-sticks\-in\-throat;
+饊 > fried\-round\-cakes\-of\-wheat\-flour;
+醼 > offer\-food\-and\-wine\-one''s\-guests;
+輧 > curtained\-carriage\-used\-by\-women;
+軿 > curtained\-carriage\-used\-by\-women;
+軙 > a\-chinese\-family\-name\-to\-arrange;
+贁 > to\-defeat\-to\-spoil\-or\-be\-spoiled;
+賏 > pearls\-or\-shells\-strung\-together;
+諊 > to\-make\-a\-judicial\-investigation;
+螆 > hairy\-and\-poisonous\-caterpillars;
+纙 > string\-on\-which\-coins\-are\-strung;
+糤 > fried\-round\-cakes\-of\-wheat\-flour;
+筴 > type\-of\-grass\-used\-in\-divination;
+琇 > coarse\-variety\-of\-jasper\-or\-jade;
+氳 > life\-giving\-influences\-of\-nature;
+櫺 > carved\-or\-patterned\-window\-sills;
+棫 > thorny\-shrub\-with\-yellow\-flowers;
+旓 > serrated\-edges\-on\-a\-chinese\-flag;
+嶲 > a\-name\-of\-an\-old\-town\-in\-sichuan;
+尭 > a\-legendary\-ancient\-emperor\-sage;
+嬸 > wife\-of\-father''s\-younger\-brother;
+塱 > place\-name\-in\-guangdong\-province;
+堯 > a\-legendary\-ancient\-emperor\-sage;
+剨 > sound\-of\-something\-being\-smashed;
+䵬 > black\-sound\-of\-the\-flowing\-water;
+䴍 > a\-kind\-of\-strange\-and\-weird\-bird;
+䴉 > general\-term\-for\-a\-group\-of\-bird;
+䳰 > a\-bird\-resembling\-the\-wild\-goose;
+䳈 > a\-bird\-resembling\-the\-wild\-goose;
+䱙 > a\-small\-kind\-of\-tuna\-or\-sturgeon;
+䰔 > dressed\-hair\-in\-a\-horizontal\-way;
+䰉 > dressed\-hair\-in\-a\-horizontal\-way;
+䪬 > sound\-of\-pressing\-something\-down;
+䩬 > an\-ornamental\-item\-on\-a\-scabbard;
+䧵 > a\-bird\-like\-the\-secretary\-falcon;
+䦎 > a\-mechanical\-device\-for\-lead\-ore;
+䥾 > to\-melt\-or\-cast\-by\-using\-a\-mould;
+䥱 > to\-melt\-or\-cast\-by\-using\-a\-mould;
+䥙 > a\-speculum\-used\-in\-ancient\-times;
+䤷 > a\-lance\-with\-three\-or\-two\-points;
+䣢 > name\-of\-a\-place\-in\-ancient\-times;
+䣛 > name\-of\-a\-place\-in\-ancient\-times;
+䝁 > a\-kind\-of\-wild\-leguminous\-plants;
+䛶 > writings\-eulogizing\-adead\-person;
+䗤 > a\-kind\-of\-worm\-produced\-in\-water;
+䍰 > a\-plague\-or\-a\-pestilence\-of\-goat;
+䊊 > well\-boiled\-congee\-or\-rice\-gruel;
+䉈 > a\-kind\-of\-bamboo\-with\-a\-red\-skin;
+䈓 > a\-kind\-of\-bamboo\-with\-a\-red\-skin;
+䇈 > to\-put\-into\-a\-cupboard\-or\-closet;
+䇀 > ornaments\-of\-fine\-feather\-or\-fur;
+䅹 > a\-kind\-of\-drill\-for\-sowing\-grain;
+䅩 > crooked\-and\-winding\-of\-the\-grass;
+䄼 > name\-of\-a\-place\-in\-ancient\-times;
+䄷 > a\-measurement\-equal\-to\-120\-catty;
+䃪 > a\-platform\-for\-sacrificial\-rites;
+䂞 > a\-thorny\-tree\-about\-15\-feet\-high;
+㺜 > fierce\-dog\-with\-long\-shaggy\-hair;
+㺉 > a\-fierce\-animal\-of\-the\-dog\-tribe;
+㹡 > a\-rush\-and\-impatient\-disposition;
+㸡 > board\-to\-block\-the\-water\-current;
+㸚 > scattered\-or\-dispersed\-and\-clear;
+㴭 > immeasurable\-depth\-or\-profundity;
+㳆 > name\-of\-a\-place\-in\-ancient\-times;
+㱨 > to\-prepare\-a\-body\-for\-the\-coffin;
+㬇 > name\-of\-a\-state\-in\-ancient\-china;
+㩽 > branches\-to\-be\-a\-parasite\-a\-tree;
+㨒 > to\-cut\-open\-and\-clean\-\-\-\-as\-fish;
+㢲 > the\-5th\-of\-the\-eight\-diagrams\-八卦;
+㟨 > a\-fountain\-in\-the\-side\-of\-a\-hill;
+㛍 > to\-have\-one''s\-ambition\-fulfilled;
+㚡 > standing\-without\-a\-straight\-back;
+㚉 > to\-make\-a\-profit\-on\-sell\-and\-buy;
+㙰 > name\-of\-a\-place\-in\-ancient\-times;
+㕣 > a\-marsh\-at\-the\-foot\-of\-the\-hills;
+们 > adjunct\-pronoun\-indicate\-plural;
+呢 > interrogative\-or\-emphatic\-final;
+楼 > building\-of\-two\-or\-more\-stories;
+药 > leaf\-of\-dahurian\-angelica\-plant;
+齎 > take\-in\-both\-hands\-and\-offer\-to;
+丈 > unit\-of\-length\-equal\-3\.3\-meters;
+挑 > a\-load\-carried\-on\-the\-shoulders;
+樓 > building\-of\-two\-or\-more\-stories;
+祝 > pray\-for\-happiness\-or\-blessings;
+杉 > various\-species\-of\-pine\-and\-fir;
+朧 > condition\-or\-appearance\-of\-moon;
+朦 > condition\-or\-appearance\-of\-moon;
+霸 > rule\-by\-might\-rather\-than\-right;
+箪 > small\-bamboo\-basket\-for\-holding;
+醤 > any\-jam\-like\-or\-paste\-like\-food;
+酱 > any\-jam\-like\-or\-paste\-like\-food;
+胧 > condition\-or\-appearance\-of\-moon;
+炕 > the\-brick\-bed\-in\-northern\-china;
+亥 > last\-of\-twelve\-earthly\-branches;
+粤 > guangdong\-and\-guangxi\-provinces;
+粽 > dumpling\-made\-of\-glutinous\-rice;
+陇 > mountain\-located\-between\-shanxi;
+闾 > village\-of\-twenty\-five\-families;
+郦 > place\-in\-today''s\-henan\-province;
+鞅 > leather\-strap\-over\-horse''s\-neck;
+邺 > place\-in\-today''s\-henan\-province;
+铡 > sickle\-for\-cutting\-grass\-or\-hay;
+骧 > gallop\-about\-with\-head\-uplifted;
+骢 > horse\-with\-a\-bluish\-white\-color;
+蛳 > kind\-of\-snail\-with\-spiral\-shell;
+邳 > a\-department\-in\-the\-state\-of\-lu;
+郢 > state\-in\-today''s\-hubei\-province;
+骖 > two\-outside\-ones\-in\-three\-horse;
+轸 > cross\-board\-at\-rear\-of\-carriage;
+箜 > ancient\-string\-music\-instrument;
+郐 > state\-in\-today''s\-henan\-province;
+轹 > run\-over\-something\-with\-vehicle;
+栝 > a\-builder''s\-frame\-for\-measuring;
+獍 > an\-animal\-which\-eats\-its\-mother;
+鼗 > small\-revolving\-drum\-with\-knobs;
+鼒 > large\-tripod\-caldron\-with\-small;
+鶖 > large\-waterfowl\-with\-naked\-head;
+驤 > gallop\-about\-with\-head\-uplifted;
+驄 > horse\-with\-a\-bluish\-white\-color;
+驂 > two\-outside\-ones\-in\-three\-horse;
+騄 > name\-of\-a\-legendary\-swift\-horse;
+駬 > name\-of\-a\-legendary\-swift\-horse;
+餖 > food\-item\-set\-out\-for\-show\-only;
+頣 > to\-view\-others\-with\-raised\-eyes;
+隴 > mountain\-located\-between\-shanxi;
+閭 > village\-of\-twenty\-five\-families;
+鍘 > sickle\-for\-cutting\-grass\-or\-hay;
+鋐 > state\-in\-today''s\-hubei\-province;
+醬 > any\-jam\-like\-or\-paste\-like\-food;
+酈 > place\-in\-today''s\-henan\-province;
+鄶 > state\-in\-today''s\-henan\-province;
+鄴 > place\-in\-today''s\-honan\-province;
+鄚 > place\-in\-today''s\-hebei\-province;
+郔 > place\-name\-in\-shandong\-province;
+邽 > name\-of\-a\-county\-in\-han\-dynasty;
+邶 > place\-in\-today''s\-henan\-province;
+轢 > run\-over\-something\-with\-vehicle;
+軫 > cross\-board\-at\-rear\-of\-carriage;
+軨 > lattice\-work\-on\-front\-and\-sides;
+踋 > the\-foot\-or\-feet\-cast\-of\-a\-play;
+覇 > rule\-by\-might\-rather\-than\-right;
+襭 > tuck\-up\-hem\-of\-garment\-and\-wrap;
+裋 > cotton\-clothes\-of\-a\-boy\-servant;
+衺 > slit\-in\-garment\-to\-aid\-movement;
+蠨 > a\-kind\-of\-spider\-with\-long\-legs;
+螣 > mythological\-wingless\-dragon\-of;
+螄 > kind\-of\-snail\-with\-spiral\-shell;
+苤 > brassica\-campestris\-subsp\.\-rapa;
+艕 > two\-boats\-fastened\-side\-by\-side;
+膫 > the\-fat\-covering\-the\-intestines;
+縗 > sackcloth\-worn\-on\-breast\-during;
+糉 > dumpling\-made\-of\-glutinous\-rice;
+粵 > guangdong\-and\-guangxi\-provinces;
+簞 > small\-bamboo\-basket\-for\-holding;
+篪 > a\-bamboo\-flute\-with\-seven\-holes;
+瞖 > a\-cataract\-or\-film\-over\-the\-eye;
+畤 > place\-for\-worshipping\-the\-haven;
+甗 > earthenware\-vessel\-in\-two\-parts;
+烳 > to\-travel\-by\-the\-light\-of\-torch;
+灕 > short\-name\-for\-guangxi\-province;
+沴 > foul\-and\-poisonous\-in\-confusion;
+樐 > a\-lookout\-turret\-on\-a\-city\-wall;
+棻 > kind\-of\-wood\-from\-which\-perfume;
+枌 > variety\-of\-elm\-with\-small\-seeds;
+垟 > clay\-sheep\-buried\-with\-the\-dead;
+咠 > to\-whisper\.\-to\-blame\-to\-slander;
+叧 > to\-cut\-meat\-off\-away\-from\-bones;
+冔 > cap\-worn\-during\-the\-yin\-dynasty;
+們 > adjunct\-pronoun\-indicate\-plural;
+亼 > to\-assemble\.\-to\-gather\-together;
+乄 > shime\:\-to\-find\-a\-place\-to\-dwell;
+䶵 > a\-bamboo\-flute\-with\-seven\-holes;
+䵸 > the\-toad\-that\-lives\-in\-the\-moon;
+䳡 > a\-kind\-of\-bird\-in\-ancient\-books;
+䲞 > a\-second\-general\-name\-for\-perch;
+䱌 > a\-second\-name\-for\-the\-globefish;
+䰝 > a\-large\-earthen\-pot\-for\-cooking;
+䰀 > dressed\-hair\-of\-a\-chinese\-woman;
+䮸 > to\-move\-slowly\-and\-then\-swiftly;
+䬻 > to\-entertain\-a\-departing\-friend;
+䪾 > to\-deal\-with\-affairs\-cautiously;
+䪍 > a\-container\-for\-bows\-and\-arrows;
+䨣 > leather\-to\-be\-moistened\-by\-rain;
+䦇 > dressed\-hair\-of\-a\-chinese\-woman;
+䣣 > name\-of\-a\-place\-name\-of\-a\-place;
+䟚 > to\-sit\-with\-the\-legs\-spread\-out;
+䜷 > fermented\-and\-seasoned\-soybeans;
+䜪 > name\-of\-a\-pavilion\-in\-old\-times;
+䛀 > reasonable\-authority\-statements;
+䘅 > a\-small\-gadflies\-and\-mosquitoes;
+䐃 > fat\-in\-the\-abdomen\-or\-intestine;
+䍛 > a\-kind\-of\-tool\-used\-to\-get\-fish;
+䊤 > vegetable\-mixed\-with\-thick\-soup;
+䂲 > standard\-weights\-used\-in\-scales;
+䁰 > to\-look\-in\-a\-evil\-or\-wicked\-way;
+㼖 > gourd\-used\-as\-a\-ladle\-or\-dipper;
+㻫 > a\-gem\-or\-ornament\-on\-a\-scabbard;
+㯭 > a\-lookout\-turret\-on\-a\-city\-wall;
+㮇 > a\-builder''s\-frame\-for\-measuring;
+㬹 > tendons\-of\-the\-heel\-of\-the\-foot;
+㬁 > the\-sun\-is\-shining\-on\-the\-water;
+㧽 > name\-of\-a\-county\-in\-han\-dynasty;
+轢 > run\-over\-something\-with\-vehicle;
+閭 > village\-of\-twenty\-five\-families;
+樓 > building\-of\-two\-or\-more\-stories;
+㥆 > indulgent\-and\-without\-restraint;
+㗘 > to\-bite\-the\-hard\-and\-solid\-food;
+㓢 > to\-cut\-the\-flesh\-from\-the\-bones;
+㓔 > faded\-and\-fallen\-\-\-\-as\-blossoms;
+㒻 > to\-go\-forward\-with\-eyes\-covered;
+幹 > trunk\-of\-tree\-or\-of\-human\-body;
+尺 > chinese\-measure\-approx\.\-''foot'';
+米 > hulled\-or\-husked\-uncooked\-rice;
+鹏 > fabulous\-bird\-of\-enormous\-size;
+喂 > interjection\-to\-call\-attention;
+潇 > sound\-of\-beating\-wind\-and\-rain;
+禹 > legendary\-hsia\-dynasty\-founder;
+斟 > to\-pour\-wine\-or\-tea\-into\-a\-cup;
+萼 > the\-stem\-and\-calyx\-of\-a\-flower;
+阀 > powerful\-and\-influential\-group;
+楷 > model\-style\-of\-chinese\-writing;
+辄 > sides\-of\-chariot\-where\-weapons;
+俑 > wooden\-figure\-buried\-with\-dead;
+嘹 > used\-describe\-clarity\-of\-voice;
+轼 > horizontal\-wooden\-bar\-in\-front;
+馑 > time\-of\-famine\-or\-crop\-failure;
+伥 > ghost\-of\-one\-devoured\-by\-tiger;
+绶 > silk\-ribbon\-attached\-as\-a\-seal;
+鬈 > fine\-growth\-of\-hair\-curly\-hair;
+磔 > downward\-stroke\-slanting\-right;
+裢 > folding\-purse\-inserted\-in\-belt;
+枸 > kind\-of\-aspen\-found\-in\-sichuan;
+芊 > exuberant\-and\-vigorous\-foliage;
+鄄 > name\-of\-a\-district\-in\-shandong;
+鼹 > a\-kind\-of\-insectivorous\-rodent;
+莼 > an\-edible\-water\-plant\-brasenia;
+圬 > plaster\-over\-with\-layer\-of\-mud;
+莩 > membrane\-lining\-inside\-of\-reed;
+诶 > an\-exclamation\-of\-confirmation;
+褙 > paper\-or\-cloth\-pasted\-together;
+茌 > name\-of\-a\-district\-in\-shandong;
+鼴 > a\-kind\-of\-insectivorous\-rodent;
+鶋 > a\-sea\-bird\-with\-a\-white\-breast;
+鵬 > fabulous\-bird\-of\-enormous\-size;
+鯏 > a\-dialect\.\.\.\.\.\.\.\.\-name\-of\-fish;
+饉 > time\-of\-famine\-or\-crop\-failure;
+饁 > carry\-meal\-to\-workers\-in\-field;
+閥 > powerful\-and\-influential\-group;
+鎫 > ornament\-over\-the\-horse''s\-head;
+輒 > sides\-of\-chariot\-where\-weapons;
+赙 > gift\-of\-money\-help\-pay\-funeral;
+賻 > gift\-of\-money\-help\-pay\-funeral;
+誒 > an\-exclamation\-of\-confirmation;
+詤 > to\-make\-wild\-statements\-to\-lie;
+褳 > folding\-purse\-inserted\-in\-belt;
+蘴 > young\-shoots\-of\-the\-rapeturnip;
+莝 > to\-chop\-straw\-fine\-for\-animals;
+腠 > between\-the\-skin\-and\-the\-flesh;
+翿 > streamer\-adorned\-with\-feathers;
+綬 > silk\-ribbon\-attached\-as\-a\-seal;
+筥 > round\-shaped\-bamboo\-basket\-for;
+痄 > scrofulous\-swellings\-and\-sores;
+玤 > a\-kind\-of\-gem\-inferior\-to\-jade;
+煠 > to\-fry\-in\-fat\-or\-oil\.\-to\-scald;
+瀟 > sound\-of\-beating\-wind\-and\-rain;
+潏 > fareshare\-reclaimed\-from\-river;
+漼 > having\-the\-appearance\-of\-depth;
+欞 > the\-lattice\-of\-a\-window\-a\-sill;
+曚 > twilight\-just\-before\-sun\-rises;
+斚 > a\-small\-cup\-of\-stone\-with\-ears;
+扊 > upright\-bar\-for\-fastening\-door;
+慜 > name\-of\-a\-monk\-in\-tang\-dynasty;
+崠 > place\-name\-in\-guangxi\-province;
+岽 > place\-name\-in\-guangxi\-province;
+岝 > name\-of\-a\-mountain\-in\-shandong;
+堭 > a\-dry\-moat\-outside\-a\-city\-wall;
+堎 > character\-used\-for\-place\-names;
+嚹 > a\-particle\-implying\-completion;
+匳 > ladies\-toilet\-case\-with\-mirror;
+刵 > punishment\-by\-cutting\-off\-ears;
+䲁 > general\-term\-of\-a\-kind\-of\-fish;
+䰚 > the\-top\-part\-of\-the\-rice\-gruel;
+䯵 > hair\-style\-for\-little\-children;
+䯤 > boneware\-used\-to\-comb\-the\-hair;
+䯒 > the\-upper\-part\-of\-the\-shinbone;
+䮔 > a\-young\-and\-fleet\-footed\-horse;
+䭺 > a\-horse\-to\-raise\-its\-head\-high;
+䫮 > to\-bend\-or\-lower\-of\-one''s\-head;
+䫆 > the\-front\-and\-back\-of\-the\-neck;
+䧒 > steps\-leading\-up\-to\-a\-building;
+䤛 > component\-parts\-of\-a\-cross\-bow;
+䣹 > to\-brew\-10\-percent\-of\-the\-wine;
+䣵 > to\-brew\-the\-wine\-a\-second\-time;
+䣬 > the\-shiny\-colorful\-of\-the\-wine;
+䢾 > name\-of\-an\-ancient\-small\-state;
+䡃 > a\-tool\-for\-brushing\-the\-thread;
+䜲 > name\-of\-a\-village\-in\-old\-china;
+䘓 > thick\-blood\-of\-cattle\-and\-goat;
+䓿 > a\-second\-name\-for\-lotus\-flower;
+䓹 > to\-stuff\-full\-and\-to\-gulp\-down;
+䍁 > the\-hem\-or\-border\-of\-a\-garment;
+䋴 > silk\-fabrics\-with\-mixed\-colors;
+䋳 > cloth\-or\-paper\-pasted\-together;
+䉤 > a\-bamboo\-ware\-for\-washing\-rice;
+䉛 > bamboo\-basket\-for\-washing\-rice;
+䉓 > mattress\-made\-of\-bamboo\-strips;
+䈹 > a\-bamboo\-ware\-for\-washing\-rice;
+䇬 > thin\-bamboo\-laths\-knitted\-sail;
+䇧 > to\-fill\-an\-opening\-with\-bamboo;
+䄡 > northern\-minority\-ethnic\-group;
+䃶 > rugged\-and\-uneven\-of\-the\-rocks;
+䃚 > rugged\-land\-of\-sand\-and\-pebble;
+䃂 > dull\-sound\-of\-the\-tolling\-bell;
+㼡 > a\-small\-jar\-with\-a\-small\-mouth;
+㵷 > turbulent\-flowing\-of\-the\-water;
+㵏 > having\-the\-appearance\-of\-depth;
+㲹 > the\-dry\-soil\-on\-the\-river\-side;
+㲝 > fine\-hair\-of\-birds\-and\-animals;
+㯅 > the\-branches\-growing\-downwards;
+㮂 > an\-appliance\-used\-to\-lift\-food;
+㬤 > wet\-clothes\-not\-completely\-dry;
+㪾 > to\-cut\-the\-flesh\-from\-the\-bone;
+㨙 > to\-clasp\-or\-hold\-under\-the\-arm;
+㦲 > a\-particle\-expressing\-surprise;
+㥋 > sound\-of\-the\-anguish\-of\-sorrow;
+㤯 > clever\-or\-smart\-in\-a\-small\-way;
+㤔 > to\-concede\-or\-submit\-willingly;
+㣇 > a\-kind\-of\-beast\-with\-long\-hair;
+㡞 > a\-sack\-used\-to\-feed\-the\-horses;
+㠣 > a\-mountain\-in\-jiangxi\-province;
+㞯 > the\-turning\-area\-of\-a\-mountain;
+㜆 > commonly\-known\-as\-mother\-in\-wu;
+㙚 > red\-colored\-hard\-and\-solid\-mud;
+㘞 > yelling\-sound\-of\-towing\-a\-boat;
+㔩 > hair\-ornments\-used\-in\-old\-time;
+㔀 > to\-brand\-criminals\-on\-the\-face;
+迦 > character\-for\-transliteration;
+庵 > buddhist\-monastery\-or\-nunnery;
+庚 > seventh\-of\-ten\-cyclical\-stems;
+趣 > what\-attracts\-one''s\-attention;
+畔 > boundary\-path\-dividing\-fields;
+夾 > be\-wedged\-or\-inserted\-between;
+辆 > numerary\-adjunct\-for\-vehicles;
+夹 > be\-wedged\-or\-inserted\-between;
+怔 > a\-disease\-resembling\-neurosis;
+陌 > foot\-path\-between\-rice\-fields;
+骆 > a\-white\-horse\-with\-black\-mane;
+楣 > crossbeam\-above\-or\-under\-gate;
+璧 > piece\-of\-jade\-with\-hole\-in\-it;
+膻 > rank\-odor\-\(of\-sheep\-or\-goats\);
+玑 > pearl\-that\-is\-not\-quite\-round;
+唢 > flute\-like\-musical\-instrument;
+楂 > a\-raft\.\-to\-hew\.\-to\-fell\-trees;
+犒 > entertain\-victorious\-soldiers;
+矍 > look\-about\-in\-fright\-or\-alarm;
+擤 > to\-blow\-the\-nose\-with\-fingers;
+芡 > plant\-allied\-to\-the\-waterlily;
+籼 > non\-glutinous\-long\-grain\-rice;
+桡 > bent\-or\-twisted\-piece\-of\-wood;
+黻 > special\-pattern\-of\-embroidery;
+嵝 > goulou\-mountain\-peak\-in\-hunan;
+垭 > character\-used\-in\-place\-names;
+硖 > \<arch\>\-town\-in\-hebei\-province;
+邡 > name\-of\-a\-district\-in\-sichuan;
+讠 > simplified\-kangxi\-radical\-149;
+噻 > character\-used\-in\-translation;
+疬 > scrofulous\-lumps\-or\-swellings;
+蔟 > frame\-on\-which\-silkworms\-spin;
+垧 > variable\-unit\-of\-land\-measure;
+鬏 > a\-coiffure\-on\-top\-of\-the\-head;
+筘 > \(a\-measure\-of\-width\-of\-cloth\);
+缑 > cord\-binding\-on\-hilt\-of\-sword;
+簖 > bamboo\-trap\-for\-catching\-fish;
+庋 > a\-cupboard\-or\-pantry\-to\-store;
+甍 > rafters\-supporting\-roof\-tiles;
+駹 > black\-horse\-with\-a\-white\-face;
+駱 > a\-white\-horse\-with\-black\-mane;
+饎 > wine\-and\-food\-eaten\-with\-wine;
+釄 > wine\-brew\-for\-the\-second\-time;
+釁 > smear\-with\-blood\-in\-sacrifice;
+迧 > a\-chinese\-family\-name\-arrange;
+轘 > tear\-asunder\-between\-chariots;
+輛 > numerary\-adjunct\-for\-vehicles;
+輙 > sides\-of\-chariot\-were\-weapons;
+輌 > numerary\-adjunct\-for\-vehicles;
+詀 > garrulous\-to\-whisper\.\-to\-joke;
+訹 > to\-beguile\-with\-false\-stories;
+藊 > a\-kind\-of\-bean\-with\-flat\-pods;
+舠 > long\-narrow\-knife\-shaped\-boat;
+翣 > feathers\-used\-decorate\-coffin;
+縓 > orange\-or\-reddish\-yellow\-silk;
+緱 > cord\-binding\-on\-hilt\-of\-sword;
+糏 > rice\-grits\-left\-after\-hulling;
+篘 > a\-utensil\-used\-to\-filter\-wine;
+秈 > non\-glutinous\-long\-grain\-rice;
+硤 > \<arch\>\-town\-in\-hebei\-province;
+矰 > arrow\-with\-attached\-silk\-cord;
+癧 > scrofulous\-lumps\-or\-swellings;
+璣 > pearl\-that\-is\-not\-quite\-round;
+玃 > a\-large\-ape\-found\-in\-w\.\-china;
+猇 > the\-scream\-or\-roar\-of\-a\-tiger;
+牸 > the\-female\-of\-certain\-animals;
+滙 > waters\-converging\-to\-one\-spot;
+滘 > character\-used\-in\-place\-names;
+橈 > bent\-or\-twisted\-piece\-of\-wood;
+椊 > to\-fit\-a\-handle\-into\-a\-socket;
+暐 > the\-bright\-shining\-of\-the\-sun;
+昳 > the\-declining\-sun\-in\-the\-west;
+捬 > press\-down\-heavily\-with\-hands;
+抔 > take\-or\-hold\-up\-in\-both\-hands;
+嶁 > goulou\-mountain\-peak\-in\-hunan;
+崾 > place\-name\-in\-shanxi\-province;
+峫 > mountain\-in\-shandong\-province;
+姅 > woman\-at\-time\-of\-menstruation;
+壼 > palace\-corridor\-or\-passageway;
+壍 > moat\-around\-a\-city\.\-a\-channel;
+埡 > character\-used\-in\-place\-names;
+嗪 > character\-used\-in\-translation;
+嗩 > flute\-like\-musical\-instrument;
+啩 > particle\-implying\-probability;
+叐 > to\-prick\-a\-dog\-to\-make\-him\-go;
+卐 > swastika\-fourth\-of\-auspicious;
+卍 > swastika\-fourth\-of\-auspicious;
+䶕 > irregular\-and\-prominent\-teeth;
+䵘 > dosen''t\-t\-stick\-to\-each\-other;
+䲵 > a\-general\-name\-of\-small\-birds;
+䯆 > small\-and\-thin\-piece\-of\-bones;
+䫲 > thin\-and\-sickly\-in\-appearance;
+䫤 > between\-the\-eyebrows\-and\-eyes;
+䫡 > a\-long\-shape\-of\-head\-and\-face;
+䫋 > female\-attendants\-or\-servants;
+䧐 > a\-mountain\-in\-shanxi\-province;
+䥣 > an\-instrument\-for\-boring\-wood;
+䥉 > the\-curved\-iron\-part\-of\-a\-hoe;
+䤒 > wine\-made\-from\-glutinous\-rice;
+䤍 > rotten\-paste\-or\-soybean\-sauce;
+䠽 > height\-or\-stature\-of\-a\-person;
+䠱 > to\-walk\-slowly\-and\-cautiously;
+䟧 > sound\-of\-treading\-or\-stepping;
+䞇 > gifts\-to\-superiors\-or\-friends;
+䝽 > name\-of\-a\-person\-in\-old\-china;
+䝙 > a\-kind\-of\-animal\-like\-a\-tiger;
+䝗 > a\-kind\-of\-animal\-like\-a\-tiger;
+䜈 > to\-speak\-on\-behalf\-of\-another;
+䘳 > a\-garment\-of\-single\-thickness;
+䏼 > what\-is\-left\-over\-of\-the\-food;
+䎢 > to\-measure\-by\-pints\-and\-pecks;
+䎑 > flying\-over\-the\-water\-surface;
+䍮 > young\-goat\-under\-one\-year\-old;
+䍂 > tools\-to\-draw\-water\-or\-liquid;
+䌿 > the\-breadth\-of\-cloth\-or\-paper;
+䌗 > the\-left\-over\-of\-drawing\-silk;
+䌈 > to\-get\-something\-with\-a\-lasso;
+䉥 > a\-small\-basket\-for\-chopsticks;
+䆺 > whirling\-of\-the\-flowing\-water;
+䅢 > mature\-or\-ripen\-of\-the\-grains;
+㿶 > the\-sides\-of\-a\-shoe\-or\-gutter;
+㽰 > carved\-window\-frame\-on\-a\-door;
+㹯 > a\-kind\-of\-animal\-like\-a\-tiger;
+㹂 > untamed\-and\-indocility\-cattle;
+㴄 > the\-water\-flowing\-in\-a\-turned;
+㰉 > the\-hazel\-nut\-or\-filbert\-tree;
+㭟 > torture\-used\-in\-ancient\-times;
+㫐 > distant\-and\-indistinguishable;
+㡻 > name\-of\-a\-small\-ancient\-state;
+㛐 > wife\-of\-one''s\-elder''s\-brother;
+㚆 > to\-do\-something\-in\-an\-old\-way;
+㖟 > to\-deliver\-over\-to\-personally;
+件 > numerary\-adjunct\-for\-article;
+吗 > final\-interrogative\-particle;
+麽 > interrogative\-final\-particle;
+矣 > particle\-of\-completed\-action;
+乒 > used\-with\-pong\-for\-ping\-pong;
+乓 > used\-with\-ping\-for\-ping\-pong;
+咚 > used\-as\-description\-of\-sound;
+琅 > a\-variety\-of\-white\-carnelian;
+孰 > who\?\-which\?\-what\?\-which\-one\?;
+戊 > fifth\-of\-ten\-celestial\-stems;
+渲 > add\-repeated\-washes\-of\-color;
+咫 > foot\-measure\-of\-zhou\-dynasty;
+饷 > rations\-and\-pay\-for\-soldiers;
+汶 > a\-river\-in\-shandong\-province;
+叁 > bank\-form\-of\-numeral\-''three'';
+壬 > ninth\-of\-ten\-celestial\-stems;
+柩 > coffin\-which\-contains\-corpse;
+桠 > the\-forking\-branch\-of\-a\-tree;
+甏 > a\-squat\-jar\-for\-holding\-wine;
+笞 > bamboo\-rod\-used\-for\-beatings;
+阗 > a\-place\-in\-xinjiang\-province;
+铉 > device\-for\-carrying\-a\-tripod;
+觥 > a\-cup\-made\-of\-horn\-obstinate;
+裣 > draw\-one''s\-hands\-into\-sleeve;
+崃 > mountain\-in\-sichuan\-province;
+罘 > screen\-used\-in\-ancient\-times;
+氇 > thick\-rough\-serge\-from\-tibet;
+埴 > soil\-with\-large\-clay\-content;
+昴 > one\-of\-the\-28\-constellations;
+菹 > salted\-or\-pickled\-vegetables;
+麼 > interrogative\-final\-particle;
+鵭 > a\-small\-bird\-with\-black\-neck;
+饟 > rations\-and\-pay\-for\-soldiers;
+餉 > rations\-and\-pay\-for\-soldiers;
+隒 > the\-appearance\-of\-a\-mountain;
+闐 > a\-place\-in\-xinjiang\-province;
+鉉 > device\-for\-carrying\-a\-tripod;
+醁 > a\-kind\-of\-green\-colored\-wine;
+邿 > a\-state\-in\-shandong\-province;
+轖 > framework\-of\-lattice\-on\-cart;
+觵 > a\-cup\-made\-of\-corn\-obstinate;
+襝 > draw\-one''s\-hands\-into\-sleeve;
+耇 > wrinkled\-face\-of\-the\-elderly;
+羴 > rank\-odour\-of\-sheep\-or\-goats;
+絃 > string\-on\-musical\-instrument;
+筻 > place\-name\-in\-hunan\-province;
+竚 > stand\-and\-wait\-for\-long\-time;
+睙 > to\-roll\-the\-eyeballs\-to\-look;
+瑂 > \(stone\-which\-resembles\-jade\);
+燺 > the\-dry\-at\-the\-fire\-to\-roast;
+灉 > a\-river\-in\-shandong\-province;
+瀔 > river\-name\-in\-henan\-province;
+汧 > name\-of\-a\-river\-in\-shangdong;
+氌 > thick\-rough\-serge\-from\-tibet;
+橵 > wood\-placed\-under\-roof\-tiles;
+椏 > the\-forking\-branch\-of\-a\-tree;
+曈 > twilight\-just\-before\-sunrise;
+旟 > an\-military\-flag\-oa\-standard;
+扨 > pick\-up\-with\-fork\-or\-pincers;
+扠 > pick\-up\-with\-fork\-or\-pincers;
+幰 > curtain\-at\-front\-of\-carriage;
+崍 > mountain\-in\-sichuan\-province;
+崀 > place\-name\-in\-hunan\-province;
+娀 > name\-of\-a\-concubine\-of\-di\-ku;
+埄 > whirling\-of\-dust\-in\-the\-wind;
+嗎 > final\-interrogative\-particle;
+䵠 > rushes\-used\-form\-making\-mats;
+䳍 > a\-kind\-of\-pheasant\-like\-bird;
+䱱 > a\-kind\-of\-slippery\-long\-fish;
+䮇 > black\-horse\-with\-white\-thigh;
+䬠 > the\-falling\-of\-snow\-and\-rain;
+䪭 > a\-kind\-of\-musical\-instrument;
+䪉 > metal\-decoration\-on\-a\-halter;
+䩡 > a\-kind\-of\-boots\-in\-old\-times;
+䦜 > name\-of\-a\-state\-in\-old\-times;
+䥺 > name\-of\-a\-double\-edged\-sword;
+䥕 > the\-blade\-or\-edge\-of\-a\-spade;
+䤉 > emptied\-the\-drink\-completely;
+䣡 > name\-of\-a\-place\-in\-old\-times;
+䣏 > name\-of\-a\-state\-in\-old\-times;
+䢼 > name\-of\-a\-state\-in\-old\-times;
+䡑 > the\-rim\-or\-felloe\-of\-a\-wheel;
+䠴 > with\-a\-symmetric\-well\-formed;
+䝵 > to\-thank\-with\-money\-or\-gifts;
+䙗 > a\-swaddling\-cloth\-for\-infant;
+䘻 > curtain\-on\-a\-carriage\-or\-car;
+䘺 > a\-seam\-which\-has\-come\-unsewn;
+䘵 > hissing\-sound\-of\-the\-clothes;
+䔛 > fibrous\-plant\-of\-which\-cloth;
+䓜 > salted\-or\-pickled\-vegetables;
+䑹 > a\-numerary\-adjunct\-for\-ships;
+䍠 > turban\-used\-in\-ancient\-times;
+䌋 > a\-herchief\-hung\-at\-the\-waist;
+䋩 > pretty\-and\-fine\-silk\-fabrics;
+䋏 > thick\-and\-big\-ropes\-or\-cords;
+䋋 > a\-kind\-of\-spring\-fishing\-net;
+䆶 > noise\-of\-a\-mouse\-in\-the\-cave;
+䅳 > stalk\-of\-the\-panicled\-millet;
+䅭 > a\-variety\-of\-panicled\-millet;
+䅣 > a\-variety\-of\-panicled\-millet;
+䅌 > stalk\-of\-wheat\-or\-rice\-plant;
+䃋 > a\-fine\-stone\-resembling\-jade;
+䂵 > sound\-of\-bumping\-or\-striking;
+䂯 > a\-fine\-stone\-resembling\-jade;
+䂫 > noise\-of\-stones\-rolling\-down;
+䂥 > a\-fine\-stone\-resembling\-jade;
+䀳 > not\-to\-look\-straight\-forward;
+㾴 > the\-erythema\-of\-acne\-rosacea;
+㹥 > a\-yellow\-dog\-with\-black\-head;
+㹁 > generally\-called\-the\-animals;
+㵵 > swift\-currents\-of\-the\-stream;
+㵎 > a\-mountain\-stream\-or\-torrent;
+㴚 > the\-small\-ditch\-in\-the\-field;
+㰆 > an\-instrument\-to\-blow\-a\-fire;
+㰁 > a\-tree\-with\-slanted\-branches;
+㯳 > a\-kind\-of\-tool\-to\-adjust\-bow;
+㮴 > a\-numerary\-adjunct\-for\-ships;
+㥜 > unsuccessful\-in\-one''s\-career;
+㡱 > to\-cauterize\-by\-burning\-moxa;
+㠱 > to\-set\-with\-the\-legs\-clossed;
+㜌 > a\-different\-name\-for\-breasts;
+㙾 > hills\-with\-lots\-of\-big\-rocks;
+㙛 > a\-person''s\-name\-in\-old\-times;
+㗾 > to\-give\-vent\-to\-the\-feelings;
+㗆 > sound\-of\-the\-ringed\-pheasant;
+㓳 > use\-knife\-to\-split\-something;
+㑟 > insincere\-and\-cunning\-person;
+啦 > final\-particle\-of\-assertion;
+综 > arrange\-threads\-for\-weaving;
+拭 > wipe\-away\-stains\-with\-cloth;
+叮 > exhort\-or\-enjoin\-repeatedly;
+戟 > halberd\-with\-crescent\-blade;
+凛 > to\-shiver\-with\-cold\-or\-fear;
+栋 > main\-beams\-supporting\-house;
+髦 > flowing\-hair\-of\-young\-child;
+筝 > stringed\-musical\-instrument;
+丙 > third\-of\-the\-heavenly\-stems;
+沂 > river\-in\-southeast\-shandong;
+笈 > bamboo\-box\-used\-carry\-books;
+瓢 > ladle\-made\-from\-dried\-gourd;
+呗 > final\-particle\-of\-assertion;
+簧 > reed\-of\-woodwind\-instrument;
+蛟 > scaly\-dragon\-with\-four\-legs;
+敕 > an\-imperial\-order\-or\-decree;
+裟 > a\-cassock\-or\-robe\-of\-a\-monk;
+碴 > chipped\-edge\-of\-a\-container;
+瘴 > malaria\-pestilential\-vapors;
+纶 > green\-silk\-thread\-or\-tassel;
+罡 > the\-name\-of\-a\-certain\-stars;
+癸 > last\-of\-ten\-celestial\-stems;
+橇 > a\-sledge\-for\-transportation;
+皋 > the\-high\-land\-along\-a\-river;
+潍 > county\-in\-shandong\-province;
+洙 > name\-of\-a\-river\-in\-shandong;
+獠 > to\-hunt\-at\-night\-by\-torches;
+麒 > legendary\-auspicious\-animal;
+珩 > the\-top\-gem\-of\-the\-pendants;
+谥 > to\-confer\-posthumous\-titles;
+秫 > glutinous\-variety\-of\-millet;
+竽 > ancient\-woodwind\-instrument;
+崮 > \(element\-in\-mountain\-names\);
+愀 > to\-change\-one''s\-countenance;
+鄢 > name\-of\-a\-district\-in\-honan;
+癍 > unhealthy\-marks\-on\-the\-skin;
+鄞 > county\-in\-zhejiang\-province;
+雒 > black\-horse\-with\-white\-mane;
+旒 > fringes\-of\-pearls\-on\-crowns;
+琊 > a\-place\-in\-eastern\-shandong;
+蚨 > a\-kind\-of\-water\-beetle\-cash;
+毳 > fine\-hair\-or\-fur\-on\-animals;
+瘥 > to\-recover\-from\-any\-disease;
+渑 > name\-of\-a\-river\-in\-shandong;
+浈 > river\-in\-guangdong\-province;
+嘧 > \(phonetic\)\-as\-in\-pyrimidine;
+鵾 > a\-bird\-resembling\-the\-crane;
+鮨 > epinephelus\-septemfasciatus;
+飦 > well\-boiled\-congee\-or\-gruel;
+雊 > the\-crow\-of\-a\-male\-pheasant;
+隺 > a\-bird\-flying\-high\-ambition;
+醱 > to\-brew\-for\-the\-second\-time;
+醗 > to\-brew\-for\-the\-second\-time;
+酖 > wine\-with\-bird\-poison\-added;
+鄿 > county\-in\-xinjiang\-province;
+鄩 > county\-in\-shandong\-province;
+鄍 > a\-town\-in\-shandong\-province;
+蹚 > tread\-through\-mud\-and\-water;
+謚 > to\-confer\-posthumous\-titles;
+褘 > ceremonial\-gowns\-of\-a\-queen;
+蟰 > small\-spider\-with\-long\-legs;
+蛕 > the\-common\-intestinal\-worms;
+肷 > area\-between\-waist\-and\-hips;
+綸 > green\-silk\-thread\-or\-tassel;
+綜 > arrange\-threads\-for\-weaving;
+籄 > a\-basket\-for\-carrying\-earth;
+箏 > stringed\-musical\-instrument;
+箎 > ancient\-woodwind\-instrument;
+筎 > thin\-outside\-skin\-of\-bamboo;
+瞤 > to\-blink\-or\-twitch\-the\-eyes;
+皐 > the\-high\-land\-along\-a\-river;
+濰 > county\-in\-shandong\-province;
+澠 > name\-of\-a\-river\-in\-shandong;
+湞 > river\-in\-guangdong\-province;
+淠 > luxuriant\-\(of\-water\-plants\);
+浰 > attend\-\(official\-functions\);
+泑 > the\-vitreous\-glaze\-on\-china;
+殨 > to\-open\-as\-an\-ulcer\-or\-sore;
+枏 > a\-variety\-of\-evergreen\-tree;
+旈 > fringes\-of\-pearls\-on\-crowns;
+搇 > to\-press\-down\-with\-the\-hand;
+弸 > a\-bow\-stretched\-to\-the\-full;
+巠 > streams\-running\-underground;
+嵛 > county\-in\-shandong\-province;
+崳 > county\-in\-shandong\-province;
+崙 > kunlun\-mountains\-in\-jiangsu;
+崘 > kunlun\-mountains\-in\-jiangsu;
+崐 > kunlun\-mountains\-in\-jiangsu;
+堳 > land\-allotment\-feudal\-noble;
+噕 > to\-speak\-falsely\-or\-wrongly;
+噅 > to\-speak\-falsely\-or\-wrongly;
+丩 > to\-join\-or\-connect\-the\-vine;
+丒 > the\-period\-from\-1\-to\-3\-a\.m\.;
+䵅 > to\-extract\-by\-applying\-heat;
+䴳 > distiller''s\-grains\-or\-yeast;
+䴭 > distiller''s\-grains\-or\-yeast;
+䳞 > birds\-flying\-all\-directions;
+䳊 > a\-wild\-duck\-like\-water\-bird;
+䳃 > a\-kind\-of\-phoenix\-like\-bird;
+䳁 > a\-wild\-duck\-like\-water\-bird;
+䪷 > to\-toil\-or\-labor\-sedulously;
+䪇 > cushioned\-seat\-on\-a\-vehicle;
+䩿 > a\-big\-drum\-used\-in\-the\-army;
+䧘 > a\-low\-wall\-on\-the\-road\-side;
+䦲 > eaves\-of\-a\-ancestral\-temple;
+䤻 > heavy\-iron\-part\-of\-a\-plough;
+䣲 > to\-heat\-the\-wine\-over\-night;
+䢯 > to\-choose\-or\-select\-careful;
+䠋 > bell\-shaped\-with\-large\-base;
+䟮 > to\-crawl\-on\-hands\-and\-knees;
+䜸 > small\-pieces\-of\-bean\-stalks;
+䜇 > to\-speak\-not\-in\-a\-clear\-way;
+䚣 > crooked\-horns\-of\-the\-animal;
+䚜 > cattle\-with\-crosswise\-horns;
+䙣 > ragged\-garments\-or\-clothing;
+䙕 > clothes\-that\-have\-no\-lining;
+䙔 > clothes\-made\-of\-poor\-fabric;
+䙓 > the\-lower\-part\-of\-a\-garment;
+䘹 > clothes\-that\-have\-no\-lining;
+䘥 > the\-front\-of\-a\-chinese\-gown;
+䘣 > clothes\-that\-have\-no\-lining;
+䘁 > a\-blue\-green\-colored\-cicada;
+䗵 > a\-disease\-attacked\-silkworm;
+䕮 > flower\-of\-the\-chrysanthemum;
+䕦 > flower\-of\-the\-chrysanthemum;
+䔥 > common\-variety\-of\-artemisia;
+䔟 > shake\-and\-wave\-of\-the\-grass;
+䐼 > thin\-membrane\-of\-the\-throat;
+䐯 > ugly\-appearance\-of\-a\-person;
+䐑 > thin\-cut\-of\-the\-sliced\-meat;
+䍺 > a\-legendary\-goat\-like\-beast;
+䌼 > a\-kind\-of\-fine\-silk\-fabrics;
+䌄 > a\-rope\-for\-drawing\-up\-water;
+䋁 > a\-rope\-for\-drawing\-up\-water;
+䊞 > to\-roll\-round\-with\-the\-hand;
+䊕 > well\-boiled\-congee\-or\-gruel;
+䊈 > distiller''s\-grains\-or\-yeast;
+䉺 > deteriorated\-and\-become\-red;
+䉹 > name\-of\-a\-variety\-of\-bamboo;
+䉸 > slips\-of\-bamboo\-for\-writing;
+䉳 > name\-of\-a\-variety\-of\-bamboo;
+䉭 > name\-of\-a\-variety\-of\-bamboo;
+䉫 > name\-of\-a\-variety\-of\-bamboo;
+䉦 > name\-of\-a\-variety\-of\-bamboo;
+䉡 > name\-of\-a\-variety\-of\-bamboo;
+䉠 > name\-of\-a\-variety\-of\-bamboo;
+䉚 > name\-of\-a\-variety\-of\-bamboo;
+䉙 > name\-of\-a\-variety\-of\-bamboo;
+䉏 > name\-of\-a\-variety\-of\-bamboo;
+䉆 > name\-of\-a\-variety\-of\-bamboo;
+䉄 > name\-of\-a\-variety\-of\-bamboo;
+䉁 > name\-of\-a\-variety\-of\-bamboo;
+䈽 > name\-of\-a\-variety\-of\-bamboo;
+䈼 > name\-of\-a\-variety\-of\-bamboo;
+䈲 > a\-bamboo\-basket\-for\-fishing;
+䈯 > name\-of\-a\-variety\-of\-bamboo;
+䈭 > name\-of\-a\-variety\-of\-bamboo;
+䈣 > name\-of\-a\-variety\-of\-bamboo;
+䈢 > name\-of\-a\-variety\-of\-bamboo;
+䈡 > name\-of\-a\-variety\-of\-bamboo;
+䈝 > name\-of\-a\-variety\-of\-bamboo;
+䈘 > name\-of\-a\-variety\-of\-bamboo;
+䈗 > name\-of\-a\-variety\-of\-bamboo;
+䈖 > name\-of\-a\-variety\-of\-bamboo;
+䈏 > name\-of\-a\-variety\-of\-bamboo;
+䈍 > name\-of\-a\-variety\-of\-bamboo;
+䈌 > name\-of\-a\-variety\-of\-bamboo;
+䈋 > name\-of\-a\-variety\-of\-bamboo;
+䈊 > name\-of\-a\-variety\-of\-bamboo;
+䇺 > beans\-and\-peas\-collectively;
+䇵 > one\-of\-the\-wind\-instruments;
+䇪 > name\-of\-a\-variety\-of\-bamboo;
+䇞 > name\-of\-a\-variety\-of\-bamboo;
+䇛 > name\-of\-a\-variety\-of\-bamboo;
+䇙 > name\-of\-a\-variety\-of\-bamboo;
+䅪 > disease\-of\-the\-private\-part;
+䄰 > forty\-bundles\-of\-rice\-plant;
+䃇 > ink\-for\-imprinting\-of\-seals;
+䀑 > to\-gouge\-out\-an\-eye\-or\-eyes;
+㿀 > unhealthy\-marks\-on\-the\-skin;
+㽎 > the\-profundity\-of\-the\-harem;
+㼠 > a\-crock\-with\-narrow\-opening;
+㺬 > a\-large\-piece\-of\-jade\-stone;
+㺒 > barking\-of\-a\-frightened\-dog;
+㹖 > to\-feed\-animals\-with\-grains;
+㸒 > to\-absurd\-pursuit\-or\-desire;
+㮀 > tool\-to\-clear\-out\-the\-water;
+㭕 > a\-board\-for\-carrying\-things;
+㩛 > to\-roll\-round\-with\-the\-hand;
+㩆 > to\-be\-in\-full\-possession\-of;
+㨫 > to\-be\-in\-full\-possession\-of;
+崙 > kunlun\-mountains\-in\-jiangsu;
+㧕 > to\-feel\-or\-touch\-with\-hands;
+㧂 > a\-cave\-a\-hold\-in\-the\-ground;
+㦐 > a\-straightforward\-character;
+㥴 > do\-not\-care\-about\-something;
+駱 > white\-horse\-with\-black\-mane;
+㢬 > a\-bow\-stretched\-to\-the\-full;
+㡵 > roof\-of\-the\-house\-connected;
+㠟 > a\-mountain\-in\-ancient\-times;
+㛽 > to\-walk\-slowly\-like\-a\-woman;
+㛮 > wife\-of\-one''s\-elder\-brother;
+㓈 > sound\-of\-flying\-or\-speeding;
+㒫 > choked\-and\-unable\-to\-breath;
+㒖 > the\-root\-stock\-of\-the\-lotus;
+畦 > sections\-in\-vegetable\-farm;
+町 > raised\-path\-between\-fields;
+囁 > move\-lips\-as\-when\-speaking;
+伦 > normal\-human\-relationships;
+嘛 > final\-exclamatory\-particle;
+萨 > buddhist\-gods\-or\-immortals;
+桐 > name\-applied\-various\-trees;
+蒂 > peduncle\-or\-stem\-of\-plants;
+紺 > dark\-blue\-or\-reddish\-color;
+棵 > numerary\-adjunct\-for\-trees;
+株 > numerary\-adjunct\-for\-trees;
+哉 > final\-exclamatory\-particle;
+憋 > to\-suppress\-inner\-feelings;
+孜 > be\-as\-diligent\-as\-possible;
+粱 > better\-varieties\-of\-millet;
+峒 > mountain\-in\-gansu\-province;
+榨 > to\-press\-or\-extract\-juices;
+嗫 > move\-lips\-as\-when\-speaking;
+鄱 > county\-and\-lake\-in\-jiangxi;
+菠 > spinach\-and\-similar\-greens;
+淞 > name\-of\-a\-river\-in\-jiangsu;
+淄 > river\-in\-shandong\-province;
+菏 > river\-in\-shandong\-province;
+悱 > to\-be\-desirous\-of\-speaking;
+漯 > river\-in\-northern\-shandong;
+蕙 > species\-of\-fragrant\-orchid;
+滁 > district\-in\-anhui\-province;
+狁 > a\-tribe\-of\-scythian\-nomads;
+酢 > toast\-one''s\-host\-with\-wine;
+衿 > collar\-or\-lapel\-of\-garment;
+嶝 > path\-leading\-up\-a\-mountain;
+旃 > silk\-banner\-with\-bent\-pole;
+齑 > break\-or\-smash\-into\-pieces;
+绀 > dark\-blue\-or\-reddish\-color;
+脘 > internal\-cavity\-of\-stomach;
+镒 > measure\-of\-weight\-for\-gold;
+眭 > evil\-look\-of\-deep\-set\-eyes;
+锖 > the\-color\-of\-the\-a\-mineral;
+邙 > mountain\-in\-henan\-province;
+塍 > raised\-path\-between\-fields;
+敫 > ancient\-musical\-instrument;
+泺 > river\-in\-shandong\-province;
+萑 > grass\-used\-for\-making\-mats;
+觯 > wine\-goblet\-made\-from\-horn;
+舣 > to\-moor\-a\-boat\-to\-the\-bank;
+齏 > break\-or\-smash\-into\-pieces;
+馵 > horse\-with\-white\-back\-legs;
+飣 > display\-food\-for\-show\-only;
+韲 > break\-or\-smash\-into\-pieces;
+闒 > upper\-story\-door\-or\-window;
+鎰 > measure\-of\-weight\-for\-gold;
+銁 > a\-weight\-of\-thirty\-cattics;
+醊 > to\-pour\-wine\-in\-a\-libation;
+郿 > county\-in\-shaanxi\-province;
+郳 > state\-in\-shandong\-province;
+郠 > place\-in\-shandong\-province;
+郚 > towns\-in\-shandong\-province;
+郕 > state\-in\-shandong\-province;
+郈 > place\-in\-shandong\-province;
+邠 > county\-in\-shaanxi\-province;
+輤 > a\-pall\-to\-cover\-the\-hearse;
+踒 > to\-slip\-and\-sprain\-a\-blimb;
+觶 > wine\-goblet\-made\-from\-horn;
+覐 > a\-sleep\-to\-realize\-to\-feel;
+虡 > support\-structure\-for\-bell;
+薾 > luxuriant\-growth\-of\-flower;
+蔕 > peduncle\-or\-stem\-of\-plants;
+茈 > a\-plant\-yielding\-a\-red\-dye;
+艤 > to\-moor\-a\-boat\-to\-the\-bank;
+膆 > the\-corp\-of\-a\-bird\-or\-fowl;
+罭 > drag\-net\-made\-of\-fine\-mesh;
+罏 > earthen\-stand\-for\-wine\-jug;
+罍 > large\-earthenware\-wine\-jar;
+繸 > hem\-or\-border\-of\-a\-garment;
+篟 > luxuriant\-growth\-of\-bamboo;
+窆 > to\-put\-a\-coffin\-in\-a\-grave;
+祲 > ominous\-or\-sinister\-spirit;
+癕 > loss\-of\-the\-sense\-of\-smell;
+畷 > raised\-path\-between\-fields;
+甼 > raised\-path\-between\-fields;
+璈 > ancient\-musical\-instrument;
+珛 > quickly\-deteriorating\-jade;
+濼 > river\-in\-shandong\-province;
+澷 > water\-overflowing\-diffused;
+渮 > river\-in\-shandong\-province;
+毩 > a\-leather\-ball\-for\-kicking;
+榃 > raised\-path\-between\-fields;
+揹 > carry\-things\-on\-one''s\-back;
+揁 > sound\-of\-setting\-up\-a\-koto;
+峝 > mountain\-in\-gansu\-province;
+媧 > mythological\-snail\-goddess;
+囉 > exclamatory\-final\-particle;
+嘷 > the\-roaring\-of\-wild\-beasts;
+嘐 > final\-exclamatory\-particle;
+剞 > carving\-or\-engraving\-knife;
+冏 > abutilon\-avicennae\-\(plant\);
+倫 > normal\-human\-relationships;
+乫 > used\-in\-korean\-place\-names;
+䵆 > grains\-from\-the\-distillery;
+䴿 > grains\-from\-the\-distillery;
+䲯 > a\-kind\-of\-black\-small\-bird;
+䯓 > the\-head\-bone\-of\-livestock;
+䮶 > flock\-of\-horses\-stampeding;
+䮣 > a\-yellow\-with\-a\-white\-tail;
+䬱 > coarse\-grains\-such\-as\-corn;
+䩲 > a\-tool\-used\-to\-cut\-leather;
+䩚 > to\-mend\-the\-soles\-of\-shoes;
+䩘 > to\-mend\-the\-soles\-of\-shoes;
+䡦 > the\-empty\-space\-of\-a\-wheel;
+䠉 > to\-run\-away\-or\-escape\-from;
+䞑 > a\-red\-swelling\-of\-the\-skin;
+䛯 > the\-reasonable\-of\-speeking;
+䖅 > name\-of\-a\-variety\-of\-grass;
+䕿 > name\-of\-a\-variety\-of\-grass;
+䕼 > name\-of\-a\-variety\-of\-grass;
+䕶 > name\-of\-a\-variety\-of\-grass;
+䕵 > name\-of\-a\-variety\-of\-grass;
+䕳 > name\-of\-a\-variety\-of\-grass;
+䕱 > name\-of\-a\-variety\-of\-grass;
+䕭 > name\-of\-a\-variety\-of\-grass;
+䕛 > name\-of\-a\-variety\-of\-grass;
+䕗 > name\-of\-a\-variety\-of\-grass;
+䕕 > name\-of\-a\-variety\-of\-grass;
+䕔 > name\-of\-a\-variety\-of\-grass;
+䕓 > name\-of\-a\-variety\-of\-grass;
+䕒 > name\-of\-a\-variety\-of\-grass;
+䕍 > name\-of\-a\-variety\-of\-grass;
+䕊 > name\-of\-a\-variety\-of\-grass;
+䕈 > name\-of\-a\-variety\-of\-grass;
+䕇 > name\-of\-a\-variety\-of\-grass;
+䕅 > name\-of\-a\-variety\-of\-grass;
+䕀 > name\-of\-a\-variety\-of\-grass;
+䔻 > name\-of\-a\-variety\-of\-grass;
+䔸 > name\-of\-a\-variety\-of\-grass;
+䔶 > name\-of\-a\-variety\-of\-grass;
+䔴 > name\-of\-a\-variety\-of\-grass;
+䔲 > name\-of\-a\-variety\-of\-grass;
+䔱 > name\-of\-a\-variety\-of\-grass;
+䔰 > name\-of\-a\-variety\-of\-grass;
+䔮 > name\-of\-a\-variety\-of\-grass;
+䔭 > name\-of\-a\-variety\-of\-grass;
+䔪 > name\-of\-a\-variety\-of\-grass;
+䔡 > name\-of\-a\-variety\-of\-grass;
+䔝 > name\-of\-a\-variety\-of\-grass;
+䔙 > name\-of\-a\-variety\-of\-grass;
+䔔 > name\-of\-a\-variety\-of\-grass;
+䔒 > name\-of\-a\-variety\-of\-grass;
+䔎 > name\-of\-a\-variety\-of\-grass;
+䔌 > name\-of\-a\-variety\-of\-grass;
+䔅 > name\-of\-a\-variety\-of\-trees;
+䔄 > name\-of\-a\-variety\-of\-grass;
+䔁 > name\-of\-a\-variety\-of\-grass;
+䓽 > name\-of\-a\-variety\-of\-grass;
+䓼 > name\-of\-a\-variety\-of\-grass;
+䓺 > name\-of\-a\-variety\-of\-grass;
+䓳 > name\-of\-a\-variety\-of\-grass;
+䓣 > name\-of\-a\-variety\-of\-grass;
+䓢 > name\-of\-a\-variety\-of\-grass;
+䓟 > name\-of\-a\-variety\-of\-grass;
+䓓 > name\-of\-a\-variety\-of\-grass;
+䓐 > name\-of\-a\-variety\-of\-grass;
+䓎 > name\-of\-a\-variety\-of\-grass;
+䓊 > name\-of\-a\-variety\-of\-grass;
+䓉 > name\-of\-a\-variety\-of\-grass;
+䓂 > name\-of\-a\-variety\-of\-grass;
+䒵 > name\-of\-a\-variety\-of\-grass;
+䒴 > name\-of\-a\-variety\-of\-grass;
+䒱 > twigs\-of\-hemp\-used\-fo\-fuel;
+䒪 > name\-of\-a\-variety\-of\-grass;
+䒩 > name\-of\-a\-variety\-of\-grass;
+䒤 > name\-of\-a\-variety\-of\-grass;
+䒡 > name\-of\-a\-variety\-of\-grass;
+䒟 > name\-of\-a\-variety\-of\-grass;
+䒞 > name\-of\-a\-variety\-of\-grass;
+䒜 > name\-of\-a\-variety\-of\-grass;
+䒛 > name\-of\-a\-variety\-of\-grass;
+䒚 > name\-of\-a\-variety\-of\-grass;
+䒔 > name\-of\-a\-variety\-of\-grass;
+䎷 > an\-old\-man\-with\-white\-hair;
+䌠 > hold\-on\-to\-one''s\-own\-views;
+䋀 > shoes\-made\-of\-hemp\-or\-hair;
+䊮 > name\-of\-a\-variety\-of\-grain;
+䊬 > name\-of\-a\-variety\-of\-grain;
+䉂 > a\-basket\-for\-earth\-or\-soil;
+䇖 > rope\-made\-of\-bamboo\-strips;
+䆀 > to\-corrupt\-or\-be\-corrupted;
+䅾 > starting\-to\-put\-forth\-ears;
+䅬 > small\-bundle\-of\-rice\-plant;
+䁎 > to\-make\-a\-close\-inspection;
+䀊 > a\-kind\-of\-water\-containers;
+㼩 > concave\-channels\-of\-tiling;
+㺠 > a\-black\-ape\-with\-long\-tail;
+㺕 > the\-fighting\-sound\-of\-dogs;
+㹚 > sound\-of\-calling\-to\-a\-calf;
+㹙 > sound\-of\-calling\-to\-a\-calf;
+㷶 > to\-dry\-or\-warm\-near\-a\-fire;
+㷃 > fire\-burns\-for\-a\-long\-time;
+㴔 > the\-noise\-of\-flowing\-water;
+㴋 > deep\-and\-clear\-\-to\-urinate;
+㳧 > the\-water\-flowing\-from\-\.\.\.;
+㱽 > to\-hit\-or\-to\-strikeheavily;
+㱻 > diseases\-of\-dumb\-creatures;
+㱡 > the\-soul\-out\-of\-one''s\-body;
+㱔 > a\-small\-quantity\-or\-number;
+㯟 > foot\-of\-a\-hill\-or\-mountain;
+㭮 > a\-kind\-of\-liquor\-container;
+兀 > duplicate\-of\-big\-five\-a461;
+倫 > normal\-human\-relationships;
+阮 > ancient\-musical\-instrument;
+㦃 > perfect\-personal\-character;
+㥱 > to\-be\-desirous\-of\-speaking;
+㥍 > to\-bear\-jealous\-hatred\-for;
+㤬 > full\-of\-anger\-and\-vexation;
+㤎 > a\-model\-or\-typical\-example;
+㤄 > raging\-animosity\-or\-hatred;
+㣧 > the\-succession\-in\-a\-family;
+㣣 > to\-walk\-in\-an\-unsteady\-way;
+㢸 > device\-for\-regulating\-bows;
+㢶 > device\-for\-regulating\-bows;
+㢒 > an\-almost\-collapsing\-house;
+㜪 > name\-of\-a\-family\-or\-a\-clan;
+㜕 > relatives\-through\-marriage;
+㛲 > the\-hair\-on\-the\-human\-head;
+㚿 > a\-goddess''s\-name\-in\-legend;
+㙡 > a\-kind\-of\-eatable\-mushroom;
+㘹 > to\-spread\-soil\-on\-the\-road;
+㘤 > circle\-of\-the\-moving\-water;
+㖨 > indistinct\-nasal\-utterance;
+㒽 > a\-kind\-of\-cap\-for\-children;
+㐖 > a\-translated\-name\-of\-india;
+届 > numerary\-adjunct\-for\-time;
+屆 > numerary\-adjunct\-for\-time;
+谁 > who\?\-whom\?\-whose\?\-anyone\?;
+誰 > who\?\-whom\?\-whose\?\-anyone\?;
+阿 > prefix\-for\-people''s\-names;
+莢 > pods\-of\-leguminous\-plants;
+狄 > tribe\-from\-northern\-china;
+繰 > to\-reel\-silk\-from\-cocoons;
+漓 > river\-in\-guangxi\-province;
+咋 > question\-forming\-particle;
+麟 > female\-of\-chinese\-unicorn;
+渭 > name\-of\-a\-river\-in\-shanxi;
+芜 > luxurious\-growth\-of\-weeds;
+绎 > to\-unravel\-or\-unreel\-silk;
+璐 > beautiful\-variety\-of\-jade;
+韶 > music\-of\-the\-emperor\-shun;
+鬟 > dress\-hair\-in\-coiled\-knot;
+罂 > long\-necked\-jar\-or\-bottle;
+靳 > strap\-on\-a\-horse''s\-breast;
+淦 > river\-in\-jiangxi\-province;
+搡 > to\-push\-over\-or\-push\-back;
+艮 > seventh\-of\-eight\-diagrams;
+湟 > river\-in\-qinghai\-province;
+泸 > river\-in\-jiangxi\-province;
+荚 > pods\-of\-leguminous\-plants;
+猱 > a\-monkey\-with\-yellow\-hair;
+涪 > river\-in\-sichuan\-province;
+亳 > name\-of\-district\-in\-anhui;
+蔺 > rush\-used\-for\-making\-mats;
+琬 > the\-virtue\-of\-a\-gentleman;
+沩 > name\-of\-a\-river\-in\-shanxi;
+猗 > exclamation\-of\-admiration;
+鼙 > drum\-carried\-on\-horseback;
+蕲 > variety\-of\-artemisia\-seek;
+瓞 > young\-melons\-just\-forming;
+辁 > cart\-wheel\-with\-no\-spokes;
+酆 > name\-of\-zhou\-period\-state;
+麐 > female\-of\-chinese\-unicorn;
+鰼 > the\-weather\-or\-dojo\-loach;
+韔 > a\-wrapper\-or\-case\-for\-bow;
+陗 > a\-steep\-hill\.\-precipitous;
+鏾 > the\-trigger\-of\-a\-crossbow;
+鄠 > county\-in\-shanxi\-province;
+鄜 > county\-in\-shanxi\-province;
+鄎 > a\-place\-in\-henan\-province;
+郃 > county\-in\-shanxi\-province;
+輇 > cart\-wheel\-with\-no\-spokes;
+觷 > to\-process\-or\-carve\-horns;
+蝰 > vipera\-russelii\-siamensis;
+蘄 > variety\-of\-artemisia\-seek;
+蕪 > luxurious\-growth\-of\-weeds;
+葶 > draba\-nemerosa\-bebe\-carpa;
+芔 > a\-general\-term\-for\-plants;
+膥 > eggs\-of\-birds\-or\-reptiles;
+罌 > long\-necked\-jar\-or\-bottle;
+罃 > long\-necked\-jar\-or\-bottle;
+纑 > to\-soften\-hemp\-by\-boiling;
+繹 > to\-unravel\-or\-unreel\-silk;
+籩 > bamboo\-container\-for\-food;
+籝 > a\-tube\-to\-hold\-chopsticks;
+笾 > bamboo\-container\-for\-food;
+笎 > bamboo\-with\-black\-patches;
+禘 > imperial\-ancestor\-worship;
+礄 > place\-in\-sichuan\-province;
+璪 > pearl\-pendants\-on\-coronet;
+瑽 > tinkling\-of\-jade\-pendants;
+猲 > smoke\-or\-flames\-from\-fire;
+瀘 > river\-in\-jiangxi\-province;
+溎 > river\-in\-guangxi\-province;
+溈 > name\-of\-a\-river\-in\-shanxi;
+泜 > a\-river\-in\-hebei\-province;
+泒 > a\-river\-in\-hubei\-province;
+汭 > confluence\-of\-two\-streams;
+櫽 > shape\-wood\-by\-use\-of\-heat;
+晬 > first\-birthday\-of\-a\-child;
+悊 > wise\.\-to\-know\-intuitively;
+彍 > to\-draw\-a\-bow\-to\-the\-full;
+庅 > an\-interrogative\-particle;
+嬀 > name\-of\-a\-river\-in\-shanxi;
+䵵 > yellowish\-black\-and\-white;
+䵫 > light\-red\-yellowish\-black;
+䴛 > to\-make\-decoction\-of\-salt;
+䳷 > a\-second\-name\-for\-chicken;
+䳆 > a\-kind\-of\-species\-of\-myna;
+䰂 > a\-coiffure\-with\-a\-topknot;
+䯿 > a\-coiffure\-with\-a\-topknot;
+䯼 > a\-coiffure\-with\-a\-topknot;
+䯴 > a\-coiffure\-with\-a\-topknot;
+䯲 > a\-coiffure\-with\-a\-topknot;
+䮕 > horse\-with\-white\-forehead;
+䭨 > wine\-poured\-in\-a\-libation;
+䬽 > wine\-poured\-in\-a\-libation;
+䫀 > the\-lower\-end\-of\-the\-jaws;
+䩨 > a\-wrapper\-or\-case\-for\-bow;
+䩝 > to\-tan\-and\-soften\-leather;
+䤂 > a\-second\-name\-for\-vinegar;
+䣴 > to\-lose\-temper\-when\-drunk;
+䣆 > name\-of\-a\-county\-in\-gaomi;
+䢲 > to\-go\-all\-the\-way\-forward;
+䢮 > rapid\-marching\-or\-running;
+䢡 > to\-stamp\-the\-foot\-forward;
+䡹 > the\-low\-rear\-of\-a\-chariot;
+䡯 > sound\-of\-moving\-carriages;
+䡫 > sound\-of\-moving\-carriages;
+䡡 > to\-get\-up\-into\-a\-carriage;
+䡘 > sound\-of\-moving\-carriages;
+䡒 > sound\-of\-moving\-carriages;
+䠕 > rapid\-marching\-or\-running;
+䘸 > the\-lower\-front\-of\-a\-robe;
+䘒 > boy''s\-reproductive\-organs;
+䕄 > meat\-in\-the\-form\-of\-paste;
+䓋 > elm\-seeds\-\-\-\-used\-as\-food;
+䑢 > a\-knife\-shaped\-small\-boat;
+䑈 > meat\-to\-offer\-for\-worship;
+䍯 > gaot\-with\-different\-horns;
+䍢 > netted\-veined\-window\-sill;
+䋟 > the\-weight\-on\-a\-steelyard;
+䊶 > a\-rope\-for\-leading\-cattle;
+䉗 > a\-receptacle\-or\-container;
+䄸 > grains\-producing\-no\-fruit;
+䄒 > ripening\-of\-paddy\-or\-rice;
+䃁 > uneven\-or\-rugged\-terrains;
+䁔 > big\-eyes\-protuberant\-eyes;
+㿰 > durable\-and\-solid\-leather;
+㿂 > obstraction\-of\-the\-bowels;
+㾵 > a\-dark\-colored\-birth\-mark;
+㾜 > weak\-breath\-of\-a\-sick\-man;
+㽾 > a\-kind\-of\-woman''s\-disease;
+㻏 > tinkling\-of\-jade\-pendants;
+㺀 > a\-monkey\-with\-yellow\-hair;
+㸲 > a\-kind\-of\-mountain\-cattle;
+㷯 > smoke\-and\-dust\-everywhere;
+㶺 > the\-light\-or\-glow\-of\-fire;
+㶚 > name\-of\-a\-river\-in\-shanxi;
+㵽 > the\-strength\-of\-a\-current;
+㱥 > the\-evil\-spirits\-come\-out;
+㰦 > to\-breath\-with\-mouth\-open;
+㰔 > a\-kind\-of\-edible\-mushroom;
+㰎 > a\-wooden\-pestle\-or\-rammer;
+㭛 > a\-kind\-of\-climbing\-plants;
+㩠 > a\-fierce\-or\-bloody\-battle;
+麟 > female\-of\-chinese\-unicorn;
+㦛 > to\-walk\-in\-a\-composed\-way;
+㠝 > lofty\-and\-steep\-mountains;
+㠐 > high\-and\-pointed\-mountain;
+㞚 > to\-pile\-up\-layer\-by\-layer;
+㜯 > a\-word\-to\-designate\-woman;
+㜮 > to\-go\-beyond\-normal\-limit;
+㚓 > tie\-beams\-of\-a\-small\-boat;
+㘌 > to\-laugh\-without\-stopping;
+㗦 > a\-loud\-and\-confused\-noise;
+㗚 > vexingly\-verbose\-or\-wordy;
+㗕 > the\-crowing\-of\-a\-pheasant;
+㖄 > sound\-of\-calling\-chickens;
+㕚 > claws\-of\-birds\-or\-animals;
+㐳 > high\-and\-level\-on\-the\-top;
+蜀 > name\-of\-an\-ancient\-state;
+洛 > river\-in\-shanxi\-province;
+叔 > father''s\-younger\-brother;
+絹 > kind\-of\-thick\-stiff\-silk;
+罩 > basket\-for\-catching\-fish;
+夷 > ancient\-barbarian\-tribes;
+砰 > sound\-of\-crashing\-stones;
+哎 > interjection\-of\-surprise;
+朔 > first\-day\-of\-lunar\-month;
+揣 > put\-things\-under\-clothes;
+嵋 > omei\-mountain\-in\-sichuan;
+邹 > name\-of\-an\-ancient\-state;
+缉 > to\-sew\-in\-close\-stitches;
+绢 > kind\-of\-thick\-stiff\-silk;
+噶 > used\-in\-transliterations;
+汕 > basket\-for\-catching\-fish;
+掰 > to\-break\-with\-both\-hands;
+霆 > a\-sudden\-peal\-of\-thunder;
+漳 > name\-of\-a\-river\-in\-henan;
+汾 > river\-in\-shanxi\-province;
+巳 > sixth\-of\-twelve\-branches;
+汴 > name\-of\-a\-river\-in\-henan;
+嗝 > cackling\-of\-fowls\-to\-gag;
+姘 > illicit\-sexual\-relations;
+霏 > falling\-of\-snow\-and\-rain;
+郸 > county\-in\-hebei\-province;
+呦 > the\-bleating\-of\-the\-deer;
+掮 > to\-bear\-on\-the\-shoulders;
+莆 > a\-kind\-of\-legendary\-tree;
+阡 > footpaths\-between\-fields;
+鸪 > species\-of\-taiwan\-pigeon;
+哔 > used\-in\-transliterations;
+氐 > name\-of\-an\-ancient\-tribe;
+呤 > purine\-in\-chem\.\-compound;
+嬗 > succession\-to\-the\-throne;
+沣 > river\-in\-shanxi\-province;
+觏 > meet\-or\-see\-unexpectedly;
+濮 > county\-in\-henan\-province;
+郴 > county\-in\-hunan\-province;
+轾 > low\-rear\-portion\-of\-cart;
+稞 > grain\-ready\-for\-grinding;
+灞 > river\-in\-shanxi\-province;
+郧 > county\-in\-hubei\-province;
+蹼 > webbed\-feet\-of\-waterfowl;
+甑 > boiler\-for\-steaming\-rice;
+妗 > wife\-of\-mother''s\-brother;
+浠 > name\-of\-a\-river\-in\-hubei;
+鳔 > swimming\-bladder\-of\-fish;
+篌 > ancient\-music\-instrument;
+秕 > empty\-grain\-or\-rice\-husk;
+琚 > ornamental\-gems\-for\-belt;
+鲵 > cryptobranchus\-japonicus;
+艨 > long\-and\-narrow\-war\-boat;
+涑 > river\-in\-shansi\-province;
+郏 > county\-in\-henan\-province;
+雩 > offer\-sacrifice\-for\-rain;
+佾 > a\-row\-or\-file\-of\-dancers;
+缂 > the\-woof\-of\-a\-woven\-item;
+艴 > the\-countenance\-changing;
+滏 > name\-of\-a\-river\-in\-hebei;
+郾 > county\-in\-henan\-province;
+鷞 > the\-turquoise\-kingfisher;
+鵁 > mycticorax\-prasinosceles;
+鴣 > species\-of\-taiwan\-pigeon;
+鰾 > swimming\-bladder\-of\-fish;
+鯢 > cryptobranchus\-japonicus;
+鮰 > a\-small\-kind\-of\-sturgeon;
+髠 > shave\-head\-as\-punishment;
+騕 > name\-of\-a\-fabulous\-horse;
+韂 > a\-saddle\-flap\.\-trappings;
+陴 > a\-parapet\-on\-a\-city\-wall;
+闤 > wall\-around\-market\-place;
+鄲 > county\-in\-hebei\-province;
+鄗 > county\-in\-hebei\-province;
+鄖 > county\-in\-hubei\-province;
+鄒 > name\-of\-an\-ancient\-state;
+郟 > county\-in\-henan\-province;
+輊 > low\-rear\-portion\-of\-cart;
+贑 > \<abbrv\>\-jiangxi\-province;
+訡 > to\-chant\-to\-moan\-to\-sigh;
+覯 > meet\-or\-see\-unexpectedly;
+蛁 > pomponia\-maculatiocollis;
+蘀 > falling\-leaves\-and\-barks;
+藺 > rush\-used\-in\-making\-mats;
+菴 > small\-buddhist\-monastery;
+莔 > fritillaria\-verticillata;
+茼 > chrysanthemum\-coronarium;
+艥 > an\-oar\-or\-paddle\.\-to\-row;
+膙 > callous\-skin\-on\-the\-feet;
+腜 > quickening\-of\-the\-foetus;
+肳 > the\-corners\-of\-the\-mouth;
+翛 > look\-of\-rumpled\-feathers;
+罝 > net\-for\-catching\-rabbits;
+緝 > to\-sew\-in\-close\-stitches;
+緙 > the\-woof\-of\-a\-woven\-item;
+緌 > tassels\-hanging\-from\-hat;
+筸 > name\-of\-a\-place\-in\-honan;
+稙 > grain\-ready\-for\-grinding;
+璠 > a\-piece\-of\-precious\-jade;
+玶 > name\-of\-one\-kind\-of\-jade;
+獞 > name\-of\-a\-variety\-of\-dog;
+猔 > name\-of\-an\-ancient\-tribe;
+灨 > the\-river\-gan\-in\-jiangxi;
+灃 > river\-in\-shanxi\-province;
+濲 > name\-of\-a\-river\-in\-hunan;
+湋 > river\-in\-shanxi\-province;
+洧 > name\-of\-a\-river\-in\-honan;
+樧 > zanthoxylum\-ailanthoides;
+榤 > perch\-for\-fowls\-roost\-on;
+栂 > a\-kind\-of\-evergreen\-tree;
+旡 > choke\-on\-something\-eaten;
+撋 > to\-rub\-between\-the\-hands;
+惌 > to\-bear\-a\-grudge\-against;
+崶 > name\-of\-a\-legendary\-hill;
+崁 > a\-place\-in\-taiwan\-tainan;
+尞 > fuel\-used\-for\-sacrifices;
+姺 > name\-of\-an\-ancient\-state;
+奞 > the\-stride\-made\-by\-a\-man;
+夗 > to\-turn\-over\-when\-asleep;
+嗶 > used\-in\-transliterations;
+凜 > shiver\-with\-cold\-or\-fear;
+僰 > ancient\-aboriginal\-tribe;
+亃 > name\-of\-a\-kind\-of\-animal;
+乺 > painting\-tool\-place\-name;
+乶 > korean\-place\-name\-pholha;
+䵂 > to\-grind\-wheat\-to\-powder;
+䲳 > birds\-flying\-up\-and\-down;
+䲛 > an\-ancient\-name\-for\-tuna;
+䲄 > a\-kind\-of\-fiish\-in\-ocean;
+䰍 > a\-kind\-of\-dark\-red\-paint;
+䰆 > beautiful\-and\-hairy\-mane;
+䯖 > the\-muscles\-of\-the\-thigh;
+䬳 > cakes\-made\-of\-rice\-flour;
+䫯 > to\-take\-a\-casual\-look\-at;
+䪀 > known\-together\-as\-saddle;
+䩪 > known\-together\-as\-saddle;
+䨒 > sound\-of\-the\-water\-drops;
+䦨 > a\-door\-curtain\-or\-screen;
+䤯 > container\-for\-thick\-soup;
+䣍 > name\-of\-an\-ancient\-state;
+䣅 > name\-of\-an\-ancient\-state;
+䡍 > the\-linch\-pin\-of\-a\-sheel;
+䟗 > to\-stand\-for\-a\-long\-time;
+䟃 > to\-move\-or\-march\-swiftly;
+䚶 > to\-scold\-in\-a\-loud\-voice;
+䙜 > legendary\-mountain\-deity;
+䙈 > a\-loose\-garment\-or\-cloak;
+䙇 > clothes\-of\-coarse\-fabric;
+䗂 > diemyctylus\-pyrrhogaster;
+䔣 > a\-tribe\-in\-ancient\-times;
+䓴 > edible\-fungus\-from\-trees;
+䑎 > soup\-of\-pig''s\-intestines;
+䐻 > big\-pieces\-of\-dried\-meat;
+䐹 > perserved\-and\-dried\-meat;
+䐰 > to\-offer\-food\-as\-tribute;
+䐂 > fat\-of\-animals\-or\-plants;
+䏦 > fat\-of\-animals\-or\-plants;
+䎵 > to\-look\-straight\-forward;
+䊱 > cakes\-made\-of\-rice\-flour;
+䊐 > fluffy\-stuffed\-dumplings;
+䊍 > thick\-congee\-or\-porridge;
+䇏 > to\-pile\-one\-upon\-another;
+䄜 > happiness\-and\-well\-being;
+䄖 > used\-in\-name\-of\-a\-person;
+䃢 > name\-of\-a\-mountain\-lofty;
+䁇 > to\-look\-for\-a\-short\-time;
+䀴 > to\-look\-straight\-forward;
+䀫 > narrow\-and\-dim\-eye\-sight;
+䀪 > birds\-flying\-up\-and\-down;
+㿺 > jutting\-on\-the\-epidermis;
+㽒 > the\-children\-of\-a\-sister;
+㼿 > the\-brick\-wall\-of\-a\-well;
+㼛 > long\-necked\-wine\-vessels;
+㻪 > a\-kind\-of\-jade\-fine\-jade;
+㶅 > dried\-up\-mountain\-creeks;
+㵢 > a\-marsh\-in\-ancient\-times;
+㴰 > a\-river\-in\-ancient\-times;
+㴬 > a\-river\-in\-ancient\-times;
+㳥 > a\-river\-in\-ancient\-times;
+㳝 > a\-river\-in\-ancient\-times;
+㳏 > a\-river\-in\-ancient\-times;
+㳍 > a\-place\-in\-ancient\-times;
+㳋 > a\-river\-in\-ancient\-times;
+㳊 > the\-flowing\-of\-the\-water;
+㳀 > a\-river\-in\-ancient\-times;
+㲊 > to\-understand\-thoroughly;
+㰾 > songs\-of\-the\-people\-of\-楚;
+㰽 > to\-exert\-oneself\-to\-yell;
+㯫 > a\-wattle\-or\-bamboo\-fence;
+㮦 > branches\-growing\-upwards;
+㪛 > to\-pound\-rocks\-to\-pieces;
+㪙 > to\-go\-to\-the\-very\-source;
+㩭 > to\-disturb\-or\-to\-agitate;
+藺 > rush\-used\-in\-making\-mats;
+凜 > shiver\-with\-cold\-or\-fear;
+洛 > river\-in\-shanxi\-province;
+㡪 > the\-varnish\-on\-the\-floor;
+㡧 > to\-stretch\-open\-painting;
+㠇 > name\-of\-a\-mountain\-ridge;
+㜿 > name\-of\-a\-fish\-in\-legend;
+㚝 > the\-stride\-made\-by\-a\-man;
+㗩 > sound\-of\-endure\-coldness;
+㗧 > to\-scold\-with\-loud\-voice;
+㗌 > to\-scold\-with\-loud\-voice;
+㗀 > the\-bleating\-of\-the\-deer;
+㓡 > the\-middle\-part\-of\-a\-bow;
+㐨 > a\-kind\-of\-fish\-in\-legend;
+瞥 > take\-fleeting\-glance\-at;
+州 > administrative\-division;
+吧 > emphatic\-final\-particle;
+某 > certain\-thing\-or\-person;
+票 > slip\-of\-paper\-or\-bamboo;
+耶 > used\-in\-transliteration;
+厘 > thousandth\-part\-of\-tael;
+彭 > name\-of\-ancient\-country;
+肴 > cooked\-or\-prepared\-meat;
+俎 > chopping\-board\-or\-block;
+淮 > river\-in\-anhui\-province;
+郡 > administrative\-division;
+哦 > oh\?\-really\?\-is\-that\-so\?;
+锤 > balance\-weight\-on\-scale;
+仞 > ancient\-unit\-of\-measure;
+芭 > plantain\-or\-banana\-palm;
+磊 > pile\-of\-rocks\-or\-stones;
+呸 > expression\-of\-reprimand;
+拷 > torture\-and\-interrogate;
+抿 > pucker\-up\-lips\-in\-smile;
+卉 > general\-term\-for\-plants;
+髻 > hair\-rolled\-up\-in\-a\-bun;
+裆 > crotch\-or\-seat\-of\-pants;
+蘑 > type\-of\-edible\-mushroom;
+咿 > descriptive\-of\-creaking;
+篾 > bamboo\-splints\-or\-slats;
+淇 > river\-in\-henan\-province;
+蓑 > rain\-coat\-made\-of\-straw;
+檬 > type\-of\-locust\-oracacia;
+淙 > gurgling\-sound\-of\-water;
+殓 > dress\-corpse\-for\-burial;
+琥 > jewel\-in\-shape\-of\-tiger;
+潞 > river\-in\-northern\-china;
+醍 > essential\-oil\-of\-butter;
+妯 > wives\-of\-one''s\-brothers;
+帏 > curtain\-that\-forms\-wall;
+瓒 > ceremonial\-libation\-cup;
+洹 > river\-in\-henan\-province;
+瑗 > large\-ring\-of\-fine\-jade;
+涞 > river\-in\-hebei\-province;
+爻 > diagrams\-for\-divination;
+锟 > ancient\-treasured\-sword;
+芗 > fragrant\-smell\-of\-grain;
+楦 > a\-last\-for\-making\-shoes;
+舁 > carry\-on\-one''s\-shoulder;
+滠 > river\-in\-hubei\-province;
+鼏 > cover\-of\-tripod\-caldron;
+黰 > young\-girl''s\-hair\-style;
+鬂 > the\-hair\-on\-the\-temples;
+駮 > a\-kind\-of\-fierce\-animal;
+錘 > balance\-weight\-on\-scale;
+錕 > ancient\-treasured\-sword;
+鄾 > place\-in\-hubei\-province;
+鄬 > place\-in\-henan\-province;
+鄤 > place\-in\-henan\-province;
+鄘 > state\-in\-henan\-province;
+鄏 > place\-in\-henan\-province;
+鄀 > state\-in\-henan\-province;
+郰 > birthplace\-of\-confucius;
+邧 > town\-in\-shanxi\-province;
+邘 > state\-in\-henan\-province;
+襠 > crotch\-or\-seat\-of\-pants;
+蚻 > small\-species\-of\-cicada;
+薌 > fragrant\-smell\-of\-grain;
+蒱 > gambling\-game\-with\-dice;
+葧 > heleocharis\-plantaginea;
+舲 > small\-boat\-with\-windows;
+羫 > the\-skeleton\-of\-a\-sheep;
+罽 > a\-kind\-of\-woolen\-fabric;
+粺 > polished\-rice\-or\-millet;
+篧 > creel\-for\-trapping\-fish;
+篛 > cuticle\-of\-bamboo\-plant;
+祔 > worship\-one''s\-ancestors;
+睖 > to\-stare\-straight\-ahead;
+眢 > eyes\-without\-brightness;
+畾 > fields\-divided\-by\-dikes;
+瓚 > ceremonial\-libation\-cup;
+璲 > pendant\-girdle\-ornament;
+瑿 > a\-black\-stone\-like\-jade;
+瑯 > kind\-of\-white\-cornelian;
+瑢 > gem\-ornaments\-for\-belts;
+珶 > white\-jade\-worn\-on\-belt;
+玕 > inferior\-variety\-of\-gem;
+猈 > dog\-with\-short\-shinbone;
+灄 > river\-in\-hubei\-province;
+瀼 > river\-in\-henan\-province;
+瀍 > river\-in\-henan\-province;
+濜 > river\-in\-hubei\-province;
+澴 > river\-in\-hubei\-province;
+澉 > to\-wash\-name\-of\-a\-place;
+潖 > name\-of\-a\-certain\-river;
+漷 > river\-in\-hebei\-province;
+漊 > river\-in\-hubei\-province;
+溮 > river\-in\-henan\-province;
+溠 > river\-in\-hubei\-province;
+淶 > river\-in\-hebei\-province;
+涖 > river\-in\-hebei\-province;
+浭 > river\-in\-hebei\-province;
+洺 > river\-in\-hebei\-province;
+洨 > river\-in\-hebei\-province;
+殮 > dress\-corpse\-for\-burial;
+殙 > to\-die\-by\-taking\-poison;
+歁 > unsatisfied\-\(of\-eating\);
+欨 > to\-blow\-or\-breathe\-upon;
+欏 > tree\-the\-horse\-chestnut;
+檇 > wooden\-rammer\-or\-pestle;
+橔 > a\-wooden\-chopping\-block;
+楥 > a\-last\-for\-making\-shoes;
+暼 > take\-fleeting\-glance\-at;
+怸 > cns\-2\-2a40\-is\-different;
+幃 > curtain\-that\-forms\-wall;
+墄 > the\-steps\-of\-a\-stairway;
+啫 > interjection\-of\-warning;
+吚 > used\-to\-represent\-sound;
+匁 > japanese\-unit\-of\-weight;
+仾 > to\-hang\-or\-bow\-the\-head;
+仭 > ancient\-unit\-of\-measure;
+䶝 > growing\-irregular\-teeth;
+䵈 > unsmelted\-hemp\-and\-silk;
+䵀 > coarse\-crumbs\-of\-barley;
+䴑 > a\-legendary\-weired\-bird;
+䴇 > a\-second\-name\-for\-crane;
+䴁 > a\-kind\-of\-rat\-like\-bird;
+䳲 > a\-swarm\-of\-flying\-birds;
+䲴 > a\-kind\-of\-venomous\-bird;
+䱾 > a\-carp\-like\-savory\-fish;
+䰫 > nimble\-and\-active\-ghost;
+䭇 > to\-be\-chocked\-with\-food;
+䭆 > small\-children\-eat\-less;
+䬲 > to\-eat\-to\-the\-half\-full;
+䬪 > a\-kind\-of\-cooked\-noodle;
+䬛 > the\-roaring\-of\-the\-wind;
+䨗 > excessive\-rain\-and\-snow;
+䨅 > small\-birds\-\-\-\-the\-wren;
+䥖 > silver\-of\-gold\-filagree;
+䥏 > unfitted\-for\-each\-other;
+䤥 > agricultural\-implements;
+䢜 > the\-marriage\-of\-a\-woman;
+䡽 > the\-shafts\-of\-a\-vehicle;
+䡺 > the\-end\-of\-an\-axle\-tree;
+䡣 > a\-piece\-of\-curved\-board;
+䠣 > net\-to\-trap\-the\-animals;
+䝈 > a\-big\-and\-strenuous\-pig;
+䚐 > getting\-red\-in\-the\-eyes;
+䚊 > to\-look\-from\-a\-distance;
+䙐 > furs\-and\-linen\-garments;
+䘆 > a\-second\-form\-earthworm;
+䗠 > the\-larva\-of\-mosquitoes;
+䗔 > a\-house\-lizard\-or\-gecko;
+䖱 > large\-shrimp\-in\-the\-sea;
+䔾 > a\-kind\-of\-fragrant\-herb;
+䓱 > a\-kind\-of\-herb\-medicine;
+䒖 > a\-kind\-of\-herb\-medicine;
+䒕 > a\-kind\-of\-herb\-medicine;
+䐤 > dried\-and\-seasoned\-meat;
+䐐 > curved\-part\-of\-the\-knee;
+䏙 > brine\-from\-pickled\-meat;
+䏕 > to\-cook\-food\-thoroughly;
+䎧 > agricultural\-implements;
+䍹 > odor\-of\-a\-sheep\-or\-goat;
+䍙 > nets\-for\-catching\-birds;
+䍘 > a\-general\-term\-for\-nets;
+䍓 > net\-for\-catching\-rabbit;
+䋫 > to\-wind\-round\-the\-ropes;
+䋨 > to\-set\-in\-order\-the\-old;
+䊴 > food\-made\-of\-rice\-flour;
+䊪 > coarse\-rice\-\-\-\-unhulled;
+䉜 > young\-and\-tender\-bamboo;
+䉖 > framework\-of\-a\-carriage;
+䇗 > bamboo\-with\-long\-joints;
+䇑 > a\-standing\-short\-person;
+䆊 > unhusked\-glutinous\-rice;
+䆉 > the\-swing\-of\-rice\-plant;
+䃉 > a\-stone\-resembling\-jade;
+䁌 > to\-see\-for\-a\-short\-time;
+㾀 > to\-be\-weaked\-by\-disease;
+㽺 > to\-be\-weaked\-by\-disease;
+㽸 > diseases\-of\-the\-abdomen;
+㽚 > agricultural\-implements;
+㼧 > tiles\-in\-cylinder\-shape;
+㹲 > a\-frightened\-pig\-or\-dog;
+㹮 > a\-kind\-of\-animal\-\-tapir;
+㹝 > a\-legendary\-wild\-animal;
+㹑 > a\-four\-years\-old\-cattle;
+㹊 > a\-cattle\-of\-white\-color;
+㹆 > the\-coulter\-of\-a\-plough;
+㸋 > meats\-used\-in\-sacrifice;
+㷮 > scorched\-or\-burned\-wood;
+㷫 > fire\-causing\-by\-dryness;
+㶵 > to\-cook\-food\-thoroughly;
+㶒 > the\-current\-of\-a\-stream;
+㴲 > a\-river\-in\-ancient\-time;
+㴑 > to\-trace\-up\-to\-a\-source;
+㴏 > the\-pond\-water\-is\-still;
+㲿 > extensive\-body\-of\-water;
+㲄 > unburnt\-bricks\-or\-tiles;
+㱬 > cannot\-recognize\-people;
+㱕 > the\-marriage\-of\-a\-woman;
+㯙 > the\-buckthorn\-or\-jujube;
+㭾 > to\-cut\-the\-timber\-apart;
+㭃 > the\-large\-rope\-of\-a\-net;
+㭂 > height\-of\-the\-end\-point;
+㬻 > in\-between\-of\-the\-flesh;
+㧯 > a\-bucket\-made\-of\-willow;
+㧥 > to\-nip\-with\-the\-fingers;
+㦽 > with\-elegant\-appearance;
+㦺 > a\-lance\-with\-two\-points;
+㦸 > a\-lance\-with\-two\-points;
+殮 > dress\-corpse\-for\-burial;
+㦇 > a\-peaceful\-or\-easy\-mood;
+磊 > pile\-of\-rocks\-or\-stones;
+㥅 > used\-in\-a\-person''s\-name;
+㤌 > to\-have\-one''s\-heart\-own;
+㣻 > to\-remedy\-by\-punishment;
+㣪 > to\-walk\-with\-slow\-steps;
+㣆 > to\-loose\-the\-bow\-string;
+㢾 > the\-curved\-end\-of\-a\-bow;
+㢵 > powerful\-and\-strong\-bow;
+㡹 > to\-rely\-upon\-each\-other;
+㡒 > a\-calico\-sack\-for\-grain;
+㡏 > to\-cut\-a\-strip\-of\-cloth;
+㞼 > to\-respectfully\-receive;
+㚬 > a\-lady\-start\-to\-doll\-up;
+㚖 > to\-come\-out\-to\-the\-open;
+㙊 > an\-area\-of\-level\-ground;
+㕸 > sound\-of\-rolling\-a\-boat;
+㕧 > used\-to\-represent\-sound;
+㔤 > to\-exert\-one''s\-strength;
+㓧 > agricultural\-implements;
+㒤 > to\-have\-one''s\-heart\-won;
+㒙 > to\-hand\-or\-bow\-the\-head;
+么 > interrogative\-particle;
+被 > passive\-indicator\-''by'';
+申 > to\-state\-to\-a\-superior;
+岡 > ridge\-or\-crest\-of\-hill;
+琴 > chinese\-lute\-or\-guitar;
+嬌 > seductive\-and\-loveable;
+罗 > net\-for\-catching\-birds;
+摸 > gently\-touch\-with\-hand;
+仰 > raise\-the\-head\-to\-look;
+臍 > abdominal\-area\-of\-crab;
+郑 > state\-in\-today''s\-henan;
+羅 > net\-for\-catching\-birds;
+贯 > a\-string\-of\-1000\-coins;
+娇 > seductive\-and\-loveable;
+竭 > put\-forth\-great\-effort;
+秒 > beard\-of\-grain\-or\-corn;
+奚 > where\?\-what\?\-how\?\-why\?;
+冈 > ridge\-or\-crest\-of\-hill;
+盏 > small\-cup\-or\-container;
+萝 > type\-of\-creeping\-plant;
+梧 > sterculia\-platanifolia;
+咦 > expression\-of\-surprise;
+筐 > bamboo\-basket\-or\-chest;
+谍 > an\-intelligence\-report;
+篱 > bamboo\-or\-wooden\-fence;
+琶 > guitar\-like\-instrument;
+琵 > guitar\-like\-instrument;
+潺 > sound\-of\-flowing\-water;
+坳 > a\-hollow\-in\-the\-ground;
+脐 > abdominal\-area\-of\-crab;
+埂 > ditches\-for\-irrigation;
+倌 > assistant\-in\-wine\-shop;
+霁 > to\-clear\-up\-after\-rain;
+邯 > city\-in\-hebei\-province;
+粑 > tsamba\-\(food\-in\-tibet\);
+蛀 > insects\-that\-eat\-books;
+嫦 > name\-of\-a\-moon\-goddess;
+赊 > buy\-and\-sell\-on\-credit;
+弑 > to\-kill\-one''s\-superior;
+摁 > to\-press\-with\-the\-hand;
+畹 > a\-field\-of\-20\-or\-30\-mu;
+觐 > have\-imperial\-audience;
+讦 > expose\-other''s\-secrets;
+旄 > a\-kind\-of\-ancient\-flag;
+趵 > noise\-of\-tramping\-feet;
+酹 > to\-pour\-out\-a\-libation;
+孳 > breed\-in\-large\-numbers;
+塄 > elevated\-bank\-in\-field;
+螈 > diemyelilus\-pyrogaster;
+窬 > a\-small\-door\-or\-window;
+笱 > a\-basket\-trap\-for\-fish;
+牿 > shed\-or\-pen\-for\-cattle;
+蛘 > a\-weevil\-found\-in\-rice;
+畎 > a\-drain\-between\-fields;
+齯 > teeth\-grown\-in\-old\-age;
+鹣 > fabulous\-mythical\-bird;
+鶼 > fabulous\-mythical\-bird;
+鰆 > scomberomorus\-sinensis;
+鯙 > scomberomorus\-sinensis;
+鮓 > minced\-and\-salted\-fish;
+驌 > name\-of\-a\-famous\-horse;
+韹 > music\-of\-bell\-and\-drum;
+霽 > to\-clear\-up\-after\-rain;
+雘 > dye\-made\-from\-red\-soil;
+阇 > a\-buddhist\-high\-priest;
+鑐 > bolt\-of\-a\-chinese\-lock;
+錆 > the\-color\-of\-a\-mineral;
+鄭 > state\-in\-today''s\-henan;
+鄐 > town\-in\-henan\-province;
+遰 > grunting\-sound\-of\-pigs;
+辥 > variety\-of\-marsh\-grass;
+賒 > buy\-and\-sell\-on\-credit;
+貫 > a\-string\-of\-1000\-coins;
+谂 > consult\-carefully\-with;
+諜 > an\-intelligence\-report;
+諗 > consult\-carefully\-with;
+詪 > difficulty\-in\-speaking;
+訐 > expose\-other''s\-secrets;
+觿 > a\-bodkin\-made\-of\-ivory;
+覲 > have\-imperial\-audience;
+覀 > variant\-of\-radical\-146;
+褟 > inner\-shirt\-or\-singlet;
+衭 > the\-lapel\-of\-a\-garment;
+衦 > smooth\-out\-the\-clothes;
+蘿 > type\-of\-creeping\-plant;
+蕕 > caryopteris\-divaricata;
+蔯 > a\-variety\-of\-artemisia;
+萴 > medicinal\-poison\-plant;
+菶 > species\-of\-water\-plant;
+莸 > caryopteris\-divaricata;
+莙 > species\-of\-water\-plant;
+脤 > raw\-meat\-for\-sacrifice;
+耬 > drill\-for\-sowing\-grain;
+耧 > drill\-for\-sowing\-grain;
+耂 > variant\-of\-radical\-125;
+繦 > string\-of\-copper\-coins;
+繈 > string\-of\-copper\-coins;
+緅 > silk\-of\-purplish\-color;
+籬 > bamboo\-or\-wooden\-fence;
+篢 > the\-name\-of\-bamboo\-hat;
+筺 > bamboo\-basket\-or\-chest;
+盞 > small\-cup\-or\-container;
+癊 > a\-disease\-of\-the\-heart;
+瑱 > a\-gem\-used\-as\-ear\-plug;
+琠 > a\-gem\-used\-as\-ear\-plug;
+珣 > name\-of\-a\-kind\-of\-jade;
+玼 > beautiful\-color\-of\-gem;
+牷 > cow\-or\-ox\-of\-one\-color;
+焄 > rising\-flames\-or\-fumes;
+烖 > calamities\-from\-heaven;
+殢 > be\-in\-great\-difficulty;
+槱 > firewood\-for\-sacrifice;
+朏 > light\-of\-crescent\-moon;
+旐 > an\-embroidered\-pennant;
+攙 > to\-give\-a\-helping\-hand;
+摰 > to\-seize\-with\-the\-hand;
+摀 > to\-cover\-with\-the\-hand;
+搾 > to\-crush\-with\-the\-hand;
+怹 > a\-polite\-version\-of\-he;
+弒 > to\-kill\-one''s\-superior;
+庈 > used\-in\-person''s\-names;
+嵶 > low\-part\-of\-a\-mountain;
+孒 > larvae\-of\-the\-mosquito;
+壖 > open\-space\-along\-water;
+噀 > spirt\-out\-of\-the\-mouth;
+叝 > to\-respectfully\-inform;
+伮 > to\-make\-a\-great\-effort;
+䶥 > unevenly\-fitting\-teeth;
+䶤 > sound\-of\-chewing\-bones;
+䶂 > a\-squirrel\-like\-animal;
+䳮 > to\-look\-at\-in\-surprise;
+䲚 > a\-second\-name\-for\-shad;
+䰵 > looks\-like\-common\-carp;
+䰰 > dreary\-cries\-of\-ghosts;
+䰭 > dreary\-cries\-of\-ghosts;
+䮺 > luxuriant\-of\-the\-grass;
+䮭 > to\-look\-at\-in\-surprise;
+䮪 > to\-geld\-a\-horse\-or\-ass;
+䩼 > stitches\-on\-a\-coverlet;
+䩍 > to\-look\-pale\-or\-pallid;
+䨵 > rained\-for\-a\-long\-time;
+䨬 > rained\-for\-a\-long\-time;
+䨡 > rained\-for\-a\-long\-time;
+䦈 > to\-sigh\-in\-lamentation;
+䥟 > a\-metal\-marking\-\-stake;
+䢎 > indicating\-exclamation;
+䡵 > decoration\-on\-carriage;
+䡰 > strong\-and\-durable\-hub;
+䡬 > covering\-of\-a\-carriage;
+䡁 > not\-well\-formed\-figure;
+䟽 > scattered\-or\-dispersed;
+䞘 > to\-go\-straight\-forward;
+䝢 > an\-animal\-in\-old\-times;
+䝡 > an\-animal\-in\-old\-times;
+䝓 > long\-beard\-or\-whiskers;
+䜺 > husking\-beans\-for\-cake;
+䜡 > to\-smell\-the\-fragrants;
+䛙 > to\-smell\-the\-fragrance;
+䚞 > the\-middle\-of\-the\-horn;
+䙄 > clothes\-with\-thick\-hem;
+䘽 > clothing\-and\-ornaments;
+䗐 > a\-weevil\-found\-in\-rice;
+䕴 > a\-second\-for\-monkshood;
+䔠 > thin\-root\-of\-the\-lotus;
+䏩 > to\-shrug\-the\-shoulders;
+䍱 > the\-wild\-goat\-or\-sheep;
+䋪 > fine\-and\-delicate\-silk;
+䋍 > fine\-and\-delicate\-silk;
+䊏 > mixing\-rice\-with\-broth;
+䊃 > mixing\-rice\-with\-broth;
+䈄 > a\-kind\-of\-solid\-bamboo;
+䇣 > bamboo\-with\-white\-bark;
+䄠 > to\-sacrifice\-to\-heaven;
+䃧 > sound\-of\-falling\-rocks;
+䃔 > sound\-of\-falling\-rocks;
+䂢 > sound\-of\-falling\-rocks;
+䂠 > sound\-of\-falling\-rocks;
+䀄 > container\-full\-of\-food;
+㿋 > a\-kind\-of\-skin\-disease;
+㼞 > jar\-with\-a\-small\-mouth;
+㺞 > to\-sign\-in\-lamentation;
+㸯 > a\-fine\-breed\-of\-cattle;
+㵯 > sound\-of\-water\-flowing;
+㳯 > goddess\-of\-an\-ink\-slab;
+㲱 > long\-beard\-or\-whiskers;
+㱆 > to\-smile\-at\-each\-other;
+㰿 > to\-sigh\-in\-lamentation;
+㰨 > to\-take\-breath\-or\-rest;
+㮑 > sound\-of\-broken\-sticks;
+㭯 > tree\-with\-small\-leaves;
+㫊 > fluttering\-of\-the\-flag;
+㪣 > a\-place\-in\-han\-dynasty;
+㪟 > to\-regard\-as\-important;
+㪞 > to\-be\-held\-by\-the\-hand;
+㩺 > a\-crack\-on\-the\-utensil;
+㩜 > to\-be\-in\-possession\-of;
+㩎 > to\-press\-with\-a\-finger;
+㧶 > the\-jingling\-of\-metals;
+㧙 > to\-give\-a\-playful\-blow;
+㧃 > to\-receive\-what\-is\-due;
+㦣 > to\-talk\-in\-one''s\-sleep;
+㦄 > hard\-to\-say\-or\-predict;
+蘿 > type\-of\-creeping\-plant;
+羅 > net\-for\-catching\-birds;
+㤊 > cheerful\-and\-exuberant;
+㣚 > to\-go\-straight\-forward;
+㢉 > a\-room\-with\-open\-space;
+㠔 > shapes\-of\-the\-mountain;
+㟻 > the\-moat\-around\-a\-city;
+㛳 > an\-abnomal\-unborn\-baby;
+㚷 > the\-breasts\-of\-a\-woman;
+㙳 > ruggedness\-of\-the\-road;
+㙤 > a\-crack\-in\-earthenware;
+㙘 > used\-in\-naming\-a\-place;
+㘭 > a\-hollow\-in\-the\-ground;
+㘬 > a\-hollow\-in\-the\-ground;
+㗂 > to\-keep\-the\-mouth\-shut;
+㖐 > sound\-of\-calling\-ducks;
+㔴 > agricultural\-implement;
+㓹 > a\-sharp\-pointed\-weapon;
+㓦 > to\-deliberate\-and\-plan;
+㓘 > jade\-with\-some\-defects;
+觉 > to\-wake\-up\-from\-sleep;
+環 > jade\-ring\-or\-bracelet;
+覺 > to\-wake\-up\-from\-sleep;
+覚 > to\-wake\-up\-from\-sleep;
+划 > to\-row\-or\-paddle\-boat;
+堪 > adequately\-capable\-of;
+环 > jade\-ring\-or\-bracelet;
+吴 > name\-of\-warring\-state;
+鳴 > cry\-of\-bird\-or\-animal;
+呉 > one\-of\-warring\-states;
+馳 > go\-quickly\-or\-swiftly;
+榎 > small\-evergreen\-shrub;
+鸣 > cry\-of\-bird\-or\-animal;
+驰 > go\-quickly\-or\-swiftly;
+姻 > relatives\-by\-marriage;
+筒 > thick\-piece\-of\-bamboo;
+帘 > flag\-sign\-of\-a\-tavern;
+稻 > rice\-growing\-in\-field;
+稲 > rice\-growing\-in\-field;
+禰 > one''s\-deceased\-father;
+剂 > medicinal\-preparation;
+珂 > inferior\-kind\-of\-jade;
+嘟 > sound\-of\-horn\-tooting;
+瑜 > flawless\-gem\-or\-jewel;
+珑 > a\-gem\-cut\-like\-dragon;
+诬 > make\-false\-accusation;
+嫖 > patronize\-prostitutes;
+飒 > the\-sound\-of\-the\-wind;
+锢 > run\-metal\-into\-cracks;
+掖 > support\-with\-the\-arms;
+棣 > kerria\-japonica\-plant;
+菁 > flower\-of\-leek\-family;
+咩 > the\-bleating\-of\-sheep;
+珉 > stone\-resembling\-jade;
+钎 > tool\-for\-boring\-holes;
+抟 > roll\-around\-with\-hand;
+趸 > sell\-or\-buy\-wholesale;
+妣 > one''s\-deceased\-mother;
+嵊 > district\-in\-shaohsing;
+笸 > flat\-basket\-for\-grain;
+祢 > one''s\-deceased\-father;
+肫 > the\-gizzard\-of\-a\-fowl;
+苫 > rush\-or\-straw\-matting;
+峤 > high\-pointed\-mountain;
+秭 > one\-thousand\-millions;
+姒 > wife\-of\-elder\-brother;
+蓰 > to\-increase\-five\-fold;
+蒌 > artemisia\-stelleriana;
+酃 > the\-spirit\-of\-a\-being;
+糗 > parched\-wheat\-or\-rice;
+辋 > exterior\-rim\-of\-wheel;
+髫 > children''s\-hair\-style;
+虺 > large\-poisonous\-snake;
+醵 > contribute\-for\-drinks;
+蚬 > a\-variety\-of\-bivalves;
+裼 > to\-take\-off\-one''s\-top;
+眵 > eyes\-diseased\-and\-dim;
+枵 > hollo\-stump\-of\-a\-tree;
+蘩 > artemisia\-stellariana;
+鼃 > the\-edible\-water\-frog;
+鷀 > the\-fishing\-cormorant;
+鴠 > a\-kind\-of\-nightingale;
+鰤 > seriola\-qinqueradiata;
+鯄 > lepidotrigla\-strauchi;
+髈 > defined\-as\-the\-pelvis;
+颸 > cool\-breeze\-of\-autumn;
+颯 > the\-sound\-of\-the\-wind;
+錮 > run\-metal\-into\-cracks;
+釺 > tool\-for\-boring\-holes;
+酎 > double\-fermented\-wine;
+輮 > exterior\-rim\-of\-wheel;
+輞 > exterior\-rim\-of\-wheel;
+躉 > sell\-or\-buy\-wholesale;
+谺 > the\-mouth\-of\-a\-valley;
+誣 > make\-false\-accusation;
+蠸 > aulacophora\-femoralis;
+螒 > aulacophora\-femoralis;
+蜺 > reflection\-of\-rainbow;
+蜆 > a\-variety\-of\-bivalves;
+蘘 > a\-kind\-of\-wild\-ginger;
+蕚 > the\-calyx\-of\-a\-flower;
+蔞 > artemisia\-stelleriana;
+葹 > kind\-of\-chrysanthemum;
+萻 > small\-buddhist\-temple;
+舚 > to\-put\-out\-the\-tongue;
+翏 > the\-sound\-of\-the\-wind;
+繴 > a\-kind\-of\-fishing\-net;
+竼 > bamboo\-cover\-for\-boat;
+禨 > pray\-for\-good\-fortune;
+癥 > obstruction\-of\-bowels;
+痏 > a\-bruise\-or\-contusion;
+瓏 > a\-gem\-cut\-like\-dragon;
+璡 > jade\-look\-alike\-stone;
+瑨 > jade\-look\-alike\-stone;
+瑀 > stone\-resembling\-jade;
+澂 > clear\-and\-still\-water;
+淜 > roar\-of\-dashing\-waves;
+沇 > flowing\-and\-engulfing;
+檟 > small\-evergreen\-shrub;
+暎 > sun\-beginning\-decline;
+摶 > roll\-around\-with\-hand;
+嶠 > high\-pointed\-mountain;
+嵼 > winding\-mountain\-path;
+埵 > hardened\-dirt\-or\-clay;
+嗻 > to\-screen\.\-loquacious;
+吳 > one\-of\-warring\-states;
+匟 > divan\-for\-two\-persons;
+劑 > medicinal\-preparation;
+剾 > to\-pick\-up\-with\-knife;
+剤 > medicinal\-preparation;
+䵗 > to\-clean\-the\-withered;
+䵄 > to\-boil\-or\-stew\-wheat;
+䴶 > to\-boil\-or\-stew\-wheat;
+䴔 > the\-fishing\-cormorant;
+䳹 > a\-kind\-dove\-like\-bird;
+䳝 > a\-kind\-of\-small\-birds;
+䱟 > a\-kind\-of\-silver\-fish;
+䯯 > hang\-down\-of\-the\-hair;
+䯭 > of\-nice\-and\-good\-hair;
+䮄 > an\-one\-year\-old\-horse;
+䭴 > an\-one\-year\-old\-horse;
+䫹 > the\-sound\-of\-the\-wind;
+䪥 > shallots\-or\-scallions;
+䩩 > a\-measure\-of\-capacity;
+䦽 > an\-east\-and\-west\-wall;
+䦚 > wide\-open\-of\-the\-door;
+䦌 > the\-door\-is\-wide\-open;
+䥈 > the\-symbol\-for\-cobalt;
+䤗 > taste\-of\-strong\-drink;
+䢩 > to\-forbid\-to\-prohibit;
+䡶 > vehicles\-and\-garments;
+䞚 > to\-hang\-on\-a\-big\-tree;
+䝖 > reptiles\-without\-feet;
+䛱 > to\-talk\-unremittingly;
+䛊 > cheerful\-all\-the\-time;
+䛃 > used\-in\-person''s\-name;
+䘐 > the\-bleed\-at\-the\-nose;
+䗊 > to\-put\-out\-the\-tongue;
+䗉 > a\-small\-solitary\-wasp;
+䖔 > a\-kind\-of\-white\-tiger;
+䖍 > to\-act\-with\-reverence;
+䔵 > fragrant\-thoroughwort;
+䔊 > dense\-growth\-of\-grass;
+䓒 > scirpus\-cyperinus\-var;
+䒦 > grass\-floats\-on\-water;
+䒄 > fully\-laden\-of\-a\-boat;
+䑝 > a\-small\-cup\-with\-ears;
+䏤 > top\-of\-the\-human\-head;
+䎶 > offering\-blood\-to\-god;
+䎚 > the\-end\-of\-bird\-wings;
+䎖 > soaring\-up\-in\-the\-sky;
+䎁 > used\-in\-person''s\-name;
+䌧 > a\-kind\-of\-silk\-fabric;
+䌟 > to\-weave\-silk\-ribbons;
+䋂 > dresses\-for\-the\-bride;
+䈧 > skin\-of\-bamboo\-shoots;
+䈞 > ancient\-name\-of\-india;
+䇾 > a\-flute\-with\-23\-tubes;
+䇰 > a\-bamboo\-binded\-torch;
+䇡 > the\-shuttle\-of\-a\-loom;
+䆠 > a\-government\-official;
+䆛 > something\-in\-the\-cave;
+䅗 > four\-bundle\-of\-grains;
+䅑 > four\-bundle\-of\-grains;
+䁭 > to\-give\-an\-angry\-look;
+䁚 > a\-kind\-of\-eye\-disease;
+䀽 > to\-look\-at\-each\-other;
+䀠 > a\-chinese\-family\-name;
+䀓 > to\-turn\-one''s\-eyes\-to;
+㿴 > wide\-piece\-of\-leather;
+㿯 > wide\-piece\-of\-leather;
+㿫 > to\-split\-tangled\-hemp;
+㿏 > paralysis\-of\-the\-body;
+㾾 > disease\-of\-the\-throat;
+㾤 > disease\-of\-the\-throat;
+㼲 > sound\-of\-broken\-tiles;
+㼐 > a\-kind\-of\-white\-melon;
+㹶 > a\-kind\-of\-wild\-animal;
+㹦 > dog\-with\-a\-short\-tail;
+㹔 > cattle\-with\-long\-back;
+㷗 > used\-in\-person''s\-name;
+㷏 > used\-in\-person''s\-name;
+㵬 > used\-in\-person''s\-name;
+㵨 > a\-dry\-land\-in\-a\-river;
+㳈 > a\-great\-flow\-of\-water;
+㱟 > to\-rip\-open\-the\-flesh;
+㰄 > a\-small\-chestnut\-tree;
+㯥 > a\-chinese\-family\-name;
+㮗 > the\-handle\-of\-a\-spear;
+㭍 > capital\-form\-of\-seven;
+㬠 > to\-expose\-to\-sunlight;
+㬓 > to\-expose\-to\-sunlight;
+㬂 > used\-in\-person''s\-name;
+㩟 > to\-sew\-some\-ornaments;
+㨌 > to\-milk\-a\-cow\-or\-goat;
+㣝 > a\-chinese\-family\-name;
+㠋 > a\-lofty\-mountain\-peak;
+㟞 > precipitous\-and\-lofty;
+㟝 > to\-bank\-up\-with\-earth;
+㟜 > shape\-of\-the\-mountain;
+㟙 > shape\-of\-the\-mountain;
+㟖 > a\-dialect\-of\-minority;
+㟎 > a\-long\-mountain\-ridge;
+㞁 > can\-not\-walk\-normally;
+㝾 > can\-not\-walk\-normally;
+㘰 > name\-of\-a\-old\-country;
+㘡 > a\-pen\-for\-wild\-beasts;
+㘖 > to\-make\-a\-disturbance;
+㗁 > the\-roof\-of\-the\-mouth;
+㖗 > high\-ridges\-of\-cliffs;
+㕢 > profound\-significance;
+㒆 > to\-gather\-the\-harvest;
+什 > file\-of\-ten\-soldiers;
+責 > one''s\-responsibility;
+爵 > feudal\-title\-or\-rank;
+责 > one''s\-responsibility;
+啊 > exclamatory\-particle;
+楚 > name\-of\-feudal\-state;
+托 > to\-hold\-up\-with\-palm;
+汲 > draw\-water\-from\-well;
+魅 > kind\-of\-forest\-demon;
+伊 > third\-person\-pronoun;
+鸿 > species\-of\-wild\-swan;
+姥 > maternal\-grandmother;
+捧 > hold\-up\-in\-two\-hands;
+乙 > second\-heaven''s\-stem;
+吁 > interjection\-''alas\!'';
+姨 > mother\/wife''s\-sister;
+亩 > chinese\-land\-measure;
+僵 > stiff\-and\-motionless;
+拱 > fold\-hands\-on\-breast;
+禾 > grain\-still\-on\-stalk;
+嗡 > sound\-of\-flying\-bees;
+兮 > exclamatory\-particle;
+猩 > species\-of\-orangutan;
+狞 > ferocious\-appearance;
+拈 > pick\-up\-with\-fingers;
+陛 > steps\-leading\-throne;
+鸯 > female\-mandarin\-duck;
+卯 > th\-of\-earth\-branches;
+熠 > bright\-and\-sparkling;
+阂 > blocked\-or\-separated;
+淅 > water\-used\-wash\-rice;
+佚 > indulge\-in\-pleasures;
+辚 > rumbling\-of\-vehicles;
+巽 > th\-of\-the\-8\-trigrams;
+訇 > the\-sound\-of\-a\-crash;
+狺 > the\-snarling\-of\-dogs;
+浔 > steep\-bank\-by\-stream;
+蓊 > luxuriant\-vegetation;
+蓠 > gracilaria\-verrucosa;
+菀 > luxuriance\-of\-growth;
+胗 > pustules\-of\-any\-kind;
+颃 > fly\-down\-or\-downward;
+垆 > black\-clods\-of\-earth;
+樗 > ailanthus\-glandulosa;
+蚧 > a\-red\-spotted\-lizard;
+缶 > earthen\-crock\-or\-jar;
+豳 > a\-zhou\-dynasty\-state;
+轺 > small\-light\-carriage;
+逯 > leave\-without\-reason;
+齞 > to\-display\-the\-teeth;
+鼈 > a\-fresh\-water\-turtle;
+鼂 > a\-kind\-of\-sea\-turtle;
+鸇 > kind\-of\-bird\-of\-prey;
+鸂 > a\-kind\-of\-water\-bird;
+鷫 > turquoise\-kingfisher;
+鷁 > fishhawk\-bow\-or\-prow;
+鴻 > species\-of\-wild\-swan;
+鴦 > female\-mandarin\-duck;
+鰜 > big\-mouthed\-flounder;
+髺 > the\-hair\-dishevelled;
+骣 > horse\-without\-saddle;
+驏 > horse\-without\-saddle;
+餽 > make\-present\-of\-food;
+頏 > fly\-down\-or\-downward;
+韱 > wild\-onions\-or\-leeks;
+韯 > wild\-onions\-or\-leeks;
+霃 > long\-continued\-rains;
+闍 > tower\-over\-city\-gate;
+閡 > blocked\-or\-separated;
+鍱 > thin\-plates\-of\-metal;
+鉶 > sacrificial\-cauldron;
+醰 > bitter\-taste\-in\-wine;
+轔 > rumbling\-of\-vehicles;
+軺 > small\-light\-carriage;
+趂 > to\-take\-advantage\-of;
+襬 > lower\-part\-of\-a\-robe;
+袳 > spread\-one''s\-clothes;
+蜛 > hydrophilus\-cognatus;
+蛚 > cyrtoxiphus\-ritsemae;
+蘺 > gracilaria\-verrucosa;
+薢 > woody\-climbing\-plant;
+茀 > overgrown\-with\-grass;
+芄 > metaplexis\-stauntoni;
+舺 > place\-name\-in\-taiwan;
+脡 > strips\-of\-dried\-meat;
+粃 > empty\-husks\-of\-grain;
+窣 > to\-rush\-out\-of\-a\-den;
+穇 > panicum\-frumentaceum;
+磒 > to\-fall\-from\-or\-into;
+矑 > the\-pupil\-of\-the\-eye;
+睍 > to\-look\-at\-fearfully;
+畝 > chinese\-land\-measure;
+畒 > chinese\-land\-measure;
+畆 > chinese\-land\-measure;
+甽 > drain\-between\-fields;
+甃 > brick\-wall\-of\-a\-well;
+琖 > carved\-jade\-wine\-cup;
+玦 > broken\-piece\-of\-jade;
+獰 > ferocious\-appearance;
+瀳 > to\-arrive\-\(of\-water\);
+澬 > to\-rain\-continuously;
+潯 > steep\-bank\-by\-stream;
+洤 > a\-fountain\-or\-spring;
+槾 > paste\-wall\-with\-dirt;
+棨 > tally\-or\-wooden\-pass;
+桬 > pear\-and\-other\-trees;
+敳 > to\-govern\-forcefully;
+敁 > to\-weigh\-in\-the\-hand;
+搎 > to\-rub\-with\-the\-hand;
+戼 > th\-of\-earth\-branches;
+巺 > th\-of\-the\-8\-trigrams;
+嵏 > a\-mountain\-in\-shenxi;
+孭 > to\-carry\-on\-the\-back;
+嫋 > slender\-and\-delicate;
+婣 > marriage\-connections;
+夘 > th\-of\-earth\-branches;
+壚 > black\-clods\-of\-earth;
+囬 > to\-return\-to\-or\-from;
+劂 > chisel\-for\-engraving;
+䶙 > swelling\-of\-the\-gums;
+䶊 > to\-bleed\-at\-the\-nose;
+䴟 > an\-one\-year\-old\-deer;
+䴖 > a\-kind\-of\-water\-bird;
+䴌 > a\-kind\-of\-water\-bird;
+䴋 > a\-kind\-of\-water\-bird;
+䴈 > a\-kind\-of\-water\-bird;
+䴂 > a\-kind\-of\-water\-bird;
+䴀 > a\-kind\-of\-water\-bird;
+䳶 > a\-kind\-of\-water\-bird;
+䳳 > a\-kind\-of\-small\-bird;
+䳓 > a\-kind\-of\-water\-bird;
+䳑 > a\-pheasant\-like\-bird;
+䳋 > a\-pheasant\-like\-bird;
+䳉 > a\-kind\-of\-water\-bird;
+䳄 > a\-kind\-of\-water\-bird;
+䳂 > a\-kind\-of\-small\-bird;
+䲱 > a\-kind\-of\-black\-bird;
+䲕 > the\-yangtze\-porpoise;
+䱐 > a\-kind\-of\-black\-fish;
+䱀 > a\-kind\-of\-small\-fish;
+䯺 > the\-hair\-dishevelled;
+䮡 > a\-supernatural\-horse;
+䮂 > horse\-with\-long\-hair;
+䭾 > to\-carry\-on\-the\-back;
+䭷 > horse\-with\-long\-mane;
+䬩 > to\-abstain\-from\-meat;
+䬣 > a\-sacrificial\-victim;
+䫠 > short\-hair\-and\-beard;
+䩽 > a\-quiver\-one\-a\-horse;
+䩂 > to\-come\-to\-the\-front;
+䧗 > mountains\-collapsing;
+䦦 > a\-musical\-instrument;
+䥤 > the\-neck\-of\-a\-pestle;
+䥡 > thin\-plates\-of\-metal;
+䥆 > a\-musical\-instrument;
+䥅 > a\-musical\-instrument;
+䥄 > to\-plaster\-with\-gold;
+䤸 > short\-spear\-or\-lance;
+䠑 > between\-the\-buttocks;
+䠈 > hard\-to\-move\-forward;
+䟩 > hard\-of\-walk\-forward;
+䞙 > to\-walk\-in\-hurriedly;
+䝑 > a\-local\-produced\-pig;
+䜧 > to\-insult\-with\-words;
+䜓 > a\-slip\-of\-the\-tongue;
+䜀 > to\-insult\-with\-words;
+䛌 > to\-provoke\-or\-arouse;
+䙮 > strip\-of\-the\-clothes;
+䘾 > legs\-of\-the\-trousers;
+䕫 > a\-one\-legged\-monster;
+䔈 > lush\-growth\-of\-grass;
+䑠 > long\-and\-narrow\-boat;
+䐸 > the\-back\-of\-the\-knee;
+䏿 > the\-calf\-of\-the\-legs;
+䏡 > uncooked\-or\-raw\-meat;
+䊳 > to\-break\-into\-pieces;
+䊲 > to\-hull\-rice\-roughly;
+䊂 > poor\-quality\-of\-rice;
+䉑 > black\-skinned\-bamboo;
+䈦 > a\-curved\-bamboo\-whip;
+䈑 > tools\-to\-unreel\-silk;
+䈅 > tools\-to\-unreel\-silk;
+䈁 > tools\-used\-on\-a\-boat;
+䇘 > tool\-to\-collect\-rope;
+䆣 > abode\-of\-the\-emperor;
+䆏 > a\-kind\-of\-rice\-plant;
+䆃 > a\-kind\-of\-rice\-plant;
+䅮 > a\-full\-head\-of\-grain;
+䅓 > curved\-piece\-of\-wood;
+䅏 > rice\-boiled\-to\-gruel;
+䅉 > a\-kind\-of\-rice\-plant;
+䄿 > a\-kind\-of\-rice\-plant;
+䄯 > ten\-handle\-of\-grains;
+䄂 > to\-pray\-and\-to\-curse;
+䃰 > brick\-or\-stone\-steps;
+䂒 > short\-to\-curry\-favor;
+䂂 > to\-gaze\-at\-in\-terror;
+䁬 > to\-act\-pretentiously;
+䀷 > to\-have\-quick\-glance;
+䀲 > diseases\-in\-the\-eyes;
+㿸 > to\-cast\-off\-the\-skin;
+㿞 > an\-old\-man\-of\-eighty;
+㽤 > a\-small\-plot\-of\-land;
+㽢 > to\-plough\-the\-fields;
+㽕 > new\-branches\-growing;
+㽃 > a\-big\-piece\-of\-brick;
+㼢 > bricks\-an\-eathen\-jar;
+㼉 > green\-colored\-melons;
+㻮 > bright\-and\-brilliant;
+㺮 > fine\-stone\-like\-jade;
+㺨 > fine\-stone\-like\-jade;
+㺂 > big\-and\-strong\-sheep;
+㹘 > shinbone\-of\-a\-cattle;
+㸪 > an\-ox\-walking\-slowly;
+㷙 > to\-fry\-in\-fat\-or\-oil;
+㶔 > swift\-and\-torrential;
+㶎 > swift\-and\-torrential;
+㵡 > swift\-and\-torrential;
+㵞 > bellied\-in\-water\-gas;
+㳼 > bubbling\-of\-fountain;
+㳚 > flowing\-of\-the\-water;
+㳔 > to\-soak\-or\-be\-soaked;
+㳐 > flowing\-of\-the\-water;
+㲫 > hair\-knots\-in\-a\-mess;
+㲢 > hair\-knots\-in\-a\-mess;
+㰋 > a\-kind\-of\-fruit\-tree;
+㯌 > to\-operate\-or\-manage;
+㭞 > a\-kind\-inferior\-wood;
+㭒 > a\-farming\-instrument;
+㪰 > to\-abstain\-from\-meat;
+㩻 > rugged\-mountain\-path;
+㩔 > a\-tool\-to\-make\-a\-bow;
+什 > file\-of\-ten\-soldiers;
+㧹 > to\-strike\-with\-fists;
+㡙 > curtain\-for\-carriage;
+㠗 > deep\-in\-the\-mountain;
+㞥 > deep\-in\-the\-mountain;
+㞟 > savings\-and\-reserves;
+㜒 > maternal\-grandmother;
+㙣 > to\-pile\-a\-sand\-hills;
+㙑 > the\-canopy\-of\-heaven;
+㘎 > the\-roars\-of\-a\-tiger;
+㘅 > to\-hold\-in\-the\-mouth;
+㕡 > the\-bed\-of\-a\-torrent;
+㕌 > to\-raise\-the\-curtain;
+㔋 > cut\-into\-thin\-slices;
+㒅 > to\-unbind\-the\-collar;
+㑉 > cannot\-straighten\-up;
+幾 > how\-many\?\-how\-much\?;
+奏 > memorialize\-emperor;
+您 > honorific\-for\-''you'';
+吏 > government\-official;
+兀 > to\-cut\-off\-the\-feet;
+胴 > the\-large\-intestine;
+秦 > feudal\-state\-of\-qin;
+桁 > cross\-beams\-of\-roof;
+莎 > kind\-of\-sedge\-grass;
+薛 > kind\-of\-marsh\-grass;
+絣 > to\-baste\-for\-sewing;
+悖 > be\-contradictory\-to;
+芒 > miscanthus\-sinensis;
+嘶 > neighing\-of\-a\-horse;
+叽 > sigh\-in\-disapproval;
+厥 > personal\-pronoun\-he;
+圭 > jade\-pointed\-at\-top;
+徘 > walk\-back\-and\-forth;
+晤 > have\-interview\-with;
+舷 > the\-sides\-of\-a\-boat;
+邬 > various\-place\-names;
+褐 > coarse\-woolen\-cloth;
+馈 > offer\-food\-superior;
+唧 > chirping\-of\-insects;
+咔 > used\-in\-translation;
+灸 > cauterize\-with\-moxa;
+驷 > team\-of\-four\-horses;
+粼 > clear\-\(as\-of\-water\);
+羚 > species\-of\-antelope;
+呓 > talk\-in\-one''s\-sleep;
+篙 > pole\-used\-punt\-boat;
+湍 > rapid\-water\-current;
+脍 > minced\-meat\-or\-fish;
+鏖 > to\-fight\-to\-the\-end;
+肽 > a\-chemical\-compound;
+卟 > a\-chemical\-compound;
+銮 > bells\-hung\-on\-horse;
+笳 > a\-reed\-leaf\-whistle;
+薏 > seed\-of\-job''s\-tears;
+悝 > to\-laugh\-at\-to\-pity;
+豇 > a\-small\-kidney\-bean;
+桉 > eucalyptus\-globulus;
+蹁 > to\-walk\-with\-a\-limp;
+腈 > an\-organic\-compound;
+螟 > kind\-of\-caterpillar;
+泮 > zhou\-dynasty\-school;
+鲳 > the\-silvery\-pomfret;
+霪 > long\-and\-heavy\-rain;
+枘 > the\-handle\-of\-tools;
+滹 > the\-bank\-of\-a\-steam;
+彳 > step\-with\-left\-foot;
+亍 > to\-take\-small\-steps;
+砘 > a\-kind\-of\-farm\-tool;
+栎 > chestnut\-leaved\-oak;
+鹇 > the\-silver\-pheasant;
+苌 > averrhora\-carambola;
+郛 > outer\-walls\-of\-city;
+醢 > minced\-pickled\-meat;
+眚 > disease\-of\-the\-eyes;
+耱 > a\-kind\-of\-farm\-tool;
+裉 > s\-seam\-in\-a\-garment;
+崦 > a\-mountain\-in\-kansu;
+兕 > a\-female\-rhinoceros;
+鸒 > the\-eastern\-jackdaw;
+鷳 > the\-silver\-pheasant;
+鶲 > siberian\-flycatcher;
+鰶 > konosirus\-punctatus;
+鯧 > the\-silvery\-pomfret;
+鯥 > pomatomus\-saltatrix;
+鯕 > coryphaena\-hippurus;
+鮶 > sebastodes\-guntheri;
+駟 > team\-of\-four\-horses;
+饋 > offer\-food\-superior;
+飂 > wind\-in\-high\-places;
+颾 > blowing\-of\-the\-wind;
+頖 > zhou\-dynasty\-school;
+頍 > to\-raise\-one''s\-head;
+韘 > archer''s\-thumb\-ring;
+鞬 > a\-quiver\-on\-a\-horse;
+霶 > downpouring\-of\-rain;
+霮 > denseness\-of\-clouds;
+鑾 > bells\-hung\-on\-horse;
+鑴 > to\-engrave\-or\-carve;
+鎄 > iridium\-einsteinium;
+鋑 > to\-engrave\-or\-carve;
+鈃 > ancient\-wine\-vessel;
+酧 > to\-pledge\-with\-wine;
+鄔 > various\-place\-names;
+襴 > a\-one\-piece\-garment;
+褃 > a\-seam\-in\-a\-garment;
+蠰 > cerambyx\-rugicollis;
+蟨 > the\-siberian\-jerboa;
+蝝 > the\-larva\-of\-locust;
+蔊 > nasturtium\-montanum;
+蓇 > follicles\-of\-plants;
+蒈 > an\-organic\-compound;
+葇 > elsholtria\-paltrini;
+萇 > averrhora\-carambola;
+莕 > nymphoides\-peltatum;
+茳 > cyperus\-malaccensis;
+茚 > an\-organic\-compound;
+苳 > petasites\-japonicus;
+苊 > an\-organic\-compound;
+艫 > bow\-or\-prow\-of\-boat;
+舻 > bow\-or\-prow\-of\-boat;
+舮 > bow\-or\-prow\-of\-boat;
+膾 > minced\-meat\-or\-fish;
+腙 > an\-organic\-compound;
+脎 > an\-organic\-compound;
+胩 > an\-organic\-compound;
+肼 > an\-organic\-compound;
+肟 > an\-organic\-compound;
+耢 > a\-kind\-of\-farm\-tool;
+羢 > fine\-woolen\-fabrics;
+羑 > a\-guide\-to\-goodness;
+繲 > to\-work\-as\-a\-tailor;
+綀 > a\-kind\-of\-sackcloth;
+竑 > be\-vast\-and\-endless;
+禓 > to\-drive\-out\-demons;
+祐 > divine\-intervention;
+砜 > an\-organic\-compound;
+矔 > brilliant\-\(of\-eyes\);
+瞕 > cataract\-in\-the\-eye;
+櫟 > chestnut\-leaved\-oak;
+檪 > chestnut\-leaved\-oak;
+桪 > mythical\-giant\-tree;
+柮 > flat\-pieces\-of\-wood;
+暵 > dry\-by\-exposing\-sun;
+斝 > small\-jade\-wine\-cup;
+敄 > to\-put\-forth\-effort;
+撍 > to\-hold\-in\-the\-hand;
+揝 > to\-hold\-in\-the\-hand;
+揕 > roll\-up\-the\-sleeves;
+尗 > younger\-of\-brothers;
+壐 > the\-imperial\-signet;
+垕 > used\-in\-place\-names;
+圛 > used\-in\-place\-names;
+囈 > talk\-in\-one''s\-sleep;
+嘰 > sigh\-in\-disapproval;
+喞 > chirping\-of\-insects;
+唚 > vomiting\-of\-animals;
+哌 > used\-in\-translation;
+呺 > voice\-of\-anger\-vast;
+吖 > used\-in\-translation;
+偘 > ancient\-family\-name;
+䶯 > used\-in\-girl''s\-name;
+䶒 > outstanding\-ability;
+䶌 > a\-pustule\-or\-pimple;
+䶄 > striped\-mottled\-rat;
+䵱 > red\-and\-black\-color;
+䵮 > red\-and\-black\-color;
+䵔 > to\-turn\-on\-the\-heel;
+䴪 > a\-fabulous\-creature;
+䴠 > a\-young\-tailed\-deer;
+䱧 > a\-kind\-of\-fish\-eels;
+䰜 > a\-large\-earthen\-pot;
+䰛 > a\-large\-earthen\-pot;
+䮷 > movement\-of\-a\-horse;
+䮃 > to\-go\-before\-others;
+䭹 > movement\-of\-a\-horse;
+䫱 > a\-part\-of\-the\-skull;
+䫩 > to\-shake\-one''s\-head;
+䫅 > to\-shake\-one''s\-head;
+䪿 > the\-top\-of\-the\-head;
+䪽 > hoary\-haired\-person;
+䩷 > the\-sides\-of\-a\-shoe;
+䩧 > to\-tie\-up\-hurriedly;
+䩌 > to\-have\-a\-worn\-look;
+䧔 > to\-meet\-at\-the\-bank;
+䦙 > a\-government\-agency;
+䥴 > to\-engrave\-or\-carve;
+䥧 > a\-fine\-kind\-of\-jade;
+䤆 > a\-kind\-of\-rice\-wine;
+䤁 > cooked\-or\-well\-done;
+䣭 > an\-organic\-compound;
+䢋 > a\-marshal\-or\-herald;
+䠊 > to\-cut\-off\-the\-feet;
+䟣 > an\-animal\-in\-legend;
+䞳 > to\-stumble\-and\-fall;
+䝠 > a\-kind\-of\-wild\-boar;
+䜶 > a\-small\-kidney\-bean;
+䜁 > to\-abuse\-and\-insult;
+䙒 > to\-store\-or\-save\-up;
+䙏 > short\-sleeves\-shirt;
+䙁 > children''s\-garments;
+䘪 > clothes\-without\-hem;
+䖢 > first\-born\-silkworm;
+䖖 > to\-show\-familiarity;
+䕾 > a\-kind\-of\-vegetable;
+䕟 > a\-kind\-of\-vegetable;
+䕘 > a\-variety\-of\-fungus;
+䕃 > the\-shade\-of\-a\-tree;
+䔗 > a\-kind\-of\-vegetable;
+䓷 > nymphoides\-peltalum;
+䓚 > a\-kind\-of\-vegetable;
+䓍 > cruciferous\-flowers;
+䒨 > a\-kind\-of\-vegetable;
+䒈 > side\-beam\-of\-a\-boat;
+䒀 > short\-and\-deep\-boat;
+䑇 > medicine\-for\-a\-sore;
+䐭 > a\-discharge\-or\-flux;
+䏹 > to\-watch\-stealthily;
+䏷 > medicine\-for\-a\-sore;
+䏨 > to\-swell\-up\-greatly;
+䏆 > buzzing\-in\-the\-ears;
+䎿 > buzzing\-in\-the\-ears;
+䍷 > to\-chase\-each\-other;
+䍀 > clothes\-without\-hem;
+䌎 > to\-baste\-for\-sewing;
+䋹 > breadth\-of\-material;
+䋰 > to\-bind\-or\-restrain;
+䊙 > cooked\-or\-well\-done;
+䇽 > a\-coarse\-bamboo\-mat;
+䆯 > a\-short\-shaped\-face;
+䅯 > a\-variety\-of\-millet;
+䅟 > varieties\-of\-millet;
+䅕 > a\-variety\-of\-millet;
+䅒 > a\-sharp\-edged\-grass;
+䁋 > with\-one\-eye\-closed;
+䁃 > to\-look\-attentively;
+䀤 > insight\-of\-jealousy;
+䀣 > to\-look\-steadily\-at;
+㿓 > disease\-of\-the\-hoof;
+㾻 > not\-any\-progressive;
+㾶 > disease\-of\-the\-knee;
+㾢 > a\-malignant\-disease;
+㽭 > vacant\-lot\-or\-space;
+㽌 > the\-ridge\-of\-a\-roof;
+㽂 > a\-cracked\-container;
+㽁 > a\-large\-earthen\-pot;
+㼙 > brickwork\-of\-a\-well;
+㼒 > a\-kind\-of\-big\-melon;
+㸶 > color\-of\-the\-oxtail;
+㸵 > the\-lowing\-of\-an\-ox;
+㸥 > household\-registers;
+㸢 > cross\-beam\-of\-a\-bed;
+㸞 > blocks\-for\-printing;
+㸓 > to\-have\-disappeared;
+㸏 > cooked\-or\-well\-done;
+㸀 > blackened\-with\-soot;
+㷤 > rosy\-clouds\-of\-dawn;
+㲇 > the\-rattle\-of\-drums;
+㱾 > a\-kind\-of\-ornaments;
+㱼 > a\-kind\-of\-ornaments;
+㱹 > to\-die\-from\-disease;
+㱫 > destroyed\-or\-ruined;
+㱪 > stupid\-and\-confused;
+㱊 > asthmatic\-breathing;
+㱉 > moving\-of\-the\-mouth;
+㰴 > to\-grate\-on\-the\-ear;
+㰰 > asthmatic\-breathing;
+㰯 > the\-way\-of\-speaking;
+㯁 > household\-registers;
+㫯 > in\-contravention\-of;
+㩦 > to\-lead\-by\-the\-hand;
+㩘 > to\-moor\-to\-the\-bank;
+㩗 > to\-lead\-by\-the\-hand;
+㨝 > the\-very\-hard\-stuff;
+㨀 > to\-hold\-in\-the\-hand;
+吏 > government\-official;
+㧅 > to\-turn\-upside\-down;
+羚 > species\-of\-antelope;
+㦓 > difficult\-intention;
+㥝 > to\-arouse\-to\-action;
+㢊 > to\-set\-side\-by\-side;
+㢂 > of\-highly\-strategic;
+㟱 > shape\-of\-a\-mountain;
+㟓 > lofty\-and\-dangerous;
+㟒 > mountains\-adjoining;
+㝟 > in\-contravention\-of;
+㜱 > used\-in\-girl''s\-name;
+㜦 > used\-in\-girl''s\-name;
+㜡 > used\-in\-girl''s\-name;
+㜠 > used\-in\-girl''s\-name;
+㜙 > used\-in\-girl''s\-name;
+㜐 > used\-in\-girl''s\-name;
+㜍 > used\-in\-girl''s\-name;
+㜋 > used\-in\-girl''s\-name;
+㜂 > used\-in\-girl''s\-name;
+㛸 > used\-in\-girl''s\-name;
+㛷 > used\-in\-girl''s\-name;
+㛵 > used\-in\-girl''s\-name;
+㛭 > used\-in\-girl''s\-name;
+㛬 > used\-in\-girl''s\-name;
+㛫 > used\-in\-girl''s\-name;
+㛞 > used\-in\-girl''s\-name;
+㛝 > used\-in\-girl''s\-name;
+㛜 > used\-in\-girl''s\-name;
+㛙 > used\-in\-girl''s\-name;
+㛘 > used\-in\-girl''s\-name;
+㛖 > used\-in\-girl''s\-name;
+㛓 > used\-in\-girl''s\-name;
+㛏 > used\-in\-girl''s\-name;
+㛅 > used\-in\-girl''s\-name;
+㛄 > used\-in\-girl''s\-name;
+㚽 > used\-in\-girl''s\-name;
+㚸 > used\-in\-girl''s\-name;
+㚵 > used\-in\-girl''s\-name;
+㚱 > used\-in\-girl''s\-name;
+㚭 > used\-in\-girl''s\-name;
+㚫 > used\-in\-girl''s\-name;
+㚨 > used\-in\-girl''s\-name;
+㘫 > to\-fall\-into\-a\-well;
+㗶 > to\-expel\-the\-breath;
+㖪 > sound\-of\-surprising;
+㔹 > a\-surplus\-or\-excess;
+㔇 > a\-kind\-of\-farm\-tool;
+㓽 > a\-kind\-of\-farm\-tool;
+㓷 > to\-cut\-off\-the\-nose;
+㒔 > to\-shake\-one''s\-head;
+㒄 > brittle\-and\-friable;
+㒃 > capital\-form\-of\-two;
+㑛 > to\-shake\-one''s\-head;
+玖 > black\-colored\-jade;
+哪 > which\?\-where\?\-how\?;
+牲 > sacrificial\-animal;
+漢 > the\-chinese\-people;
+漕 > transport\-by\-water;
+阴 > ''female''\-principle;
+仙 > taoist\-super\-being;
+驻 > to\-be\-stationed\-at;
+駐 > to\-be\-stationed\-at;
+腮 > lower\-part\-of\-face;
+拒 > ward\-off\-with\-hand;
+桂 > cassia\-or\-cinnamon;
+朵 > cluster\-of\-flowers;
+曹 > ministry\-officials;
+罎 > an\-earthenware\-jar;
+陰 > ''female''\-principle;
+丸 > small\-round\-object;
+矩 > carpenter''s\-square;
+腊 > year\-end\-sacrifice;
+龟 > turtle\-or\-tortoise;
+邸 > official\-residence;
+侃 > upright\-and\-strong;
+邂 > unexpected\-meeting;
+怯 > lacking\-in\-courage;
+甸 > suburbs\-of\-capital;
+捞 > scoop\-out\-of\-water;
+扛 > carry\-on\-shoulders;
+虔 > act\-with\-reverence;
+霖 > long\-spell\-of\-rain;
+韧 > strong\-and\-pliable;
+瑾 > brilliance\-of\-gems;
+桔 > chinese\-bellflower;
+鸳 > male\-mandarin\-duck;
+钗 > ornamental\-hairpin;
+巅 > summit\-of\-mountain;
+樨 > osmanthus\-fragrans;
+蠡 > wood\-boring\-insect;
+蹂 > trample\-under\-foot;
+骥 > thoroughbred\-horse;
+唁 > express\-condolence;
+骅 > an\-excellent\-horse;
+碉 > room\-made\-of\-stone;
+疟 > intermittent\-fever;
+纣 > name\-of\-an\-emperor;
+磬 > musical\-instrument;
+爿 > half\-of\-tree\-trunk;
+旎 > fluttering\-of\-flag;
+夔 > one\-legged\-monster;
+殍 > to\-starve\-to\-death;
+骊 > a\-pure\-black\-horse;
+湎 > flushed\-with\-drink;
+喵 > the\-mew\-of\-the\-cat;
+焙 > dry\-over\-slow\-fire;
+绾 > to\-string\-together;
+眦 > corner\-of\-the\-eyes;
+瑁 > fine\-piece\-of\-jade;
+榘 > carpenter''s\-square;
+粳 > non\-glutinous\-rice;
+餮 > a\-legendary\-animal;
+汊 > a\-branching\-stream;
+缃 > light\-yellow\-color;
+檩 > the\-bole\-of\-a\-tree;
+奁 > lady''s\-vanity\-case;
+楸 > mallotus\-japonicus;
+骺 > tip\-of\-a\-long\-bone;
+藿 > lophanthus\-rugosus;
+樾 > the\-shade\-of\-trees;
+酤 > to\-deal\-in\-spirits;
+臌 > dropsical\-swelling;
+跫 > sound\-of\-footsteps;
+綮 > embroidered\-banner;
+觳 > an\-ancient\-measure;
+杌 > the\-stump\-f\-a\-tree;
+嵫 > a\-hill\-in\-shantung;
+擗 > to\-beat\-the\-breast;
+脔 > small\-lump\-of\-meat;
+醅 > unstrained\-spirits;
+羰 > carbonyl\-\(radical\);
+蛸 > long\-legged\-spider;
+瞀 > to\-look\-at\-closely;
+殳 > name\-of\-old\-weapon;
+崞 > mountain\-in\-shanxi;
+垲 > high\-and\-dry\-place;
+虿 > a\-kind\-of\-scorpion;
+疳 > childhood\-diseases;
+罾 > a\-large\-square\-net;
+獬 > a\-fabulous\-monster;
+龜 > turtle\-or\-tortoise;
+龖 > flight\-of\-a\-dragon;
+鸜 > a\-species\-of\-mynah;
+鷽 > oriental\-bullfinch;
+鴛 > male\-mandarin\-duck;
+鴗 > alcedo\-bengalensis;
+鱵 > hyporhampus\-sajuri;
+鬠 > to\-make\-a\-top\-knot;
+驪 > a\-pure\-black\-horse;
+驥 > thoroughbred\-horse;
+驊 > an\-excellent\-horse;
+餼 > sacrificial\-victim;
+顋 > lower\-part\-of\-face;
+頔 > good\-and\-beautiful;
+韌 > strong\-and\-pliable;
+靱 > strong\-and\-pliable;
+靭 > strong\-and\-pliable;
+靫 > strong\-and\-pliable;
+釵 > ornamental\-hairpin;
+釒 > kangxi\-radical\-167;
+鄮 > ancient\-place\-name;
+轙 > rings\-on\-the\-yokes;
+軰 > a\-row\-of\-carriages;
+谽 > a\-mouth\-or\-opening;
+訁 > kangxi\-radical\-149;
+襵 > a\-pleat\-in\-a\-skirt;
+褰 > lift\-up\-the\-skirts;
+蠆 > a\-kind\-of\-scorpion;
+蚹 > eulota\-peliomphala;
+蘷 > one\-legged\-monster;
+薷 > elshotria\-paltrini;
+蕺 > houttuynia\-cordata;
+蓴 > edible\-water\-plant;
+葴 > physalis\-alkekengi;
+荅 > answer\:\-small\-bean;
+茖 > allium\-victorialis;
+芣 > medicinal\-plantago;
+臠 > small\-lump\-of\-meat;
+臘 > year\-end\-sacrifice;
+臈 > year\-end\-sacrifice;
+翯 > glistening\-plumage;
+翖 > ksc\-extension\-3108;
+羧 > carboxyl\-\(radical\);
+罈 > an\-earthenware\-jar;
+緗 > light\-yellow\-color;
+綰 > to\-string\-together;
+紂 > name\-of\-an\-emperor;
+糒 > food\-for\-a\-journey;
+稉 > non\-glutinous\-rice;
+秔 > non\-glutinous\-rice;
+碞 > room\-made\-of\-stone;
+皪 > luster\-\(of\-pearls\);
+瘧 > intermittent\-fever;
+痜 > a\-scabby\-bald\-head;
+甿 > farming\-population;
+甋 > a\-jar\-without\-ears;
+琤 > jade\-of\-jade\-being;
+玘 > court\-dress\-jewels;
+獳 > fierce\-dog\-looking;
+煍 > to\-colour\-by\-smoke;
+灥 > a\-group\-of\-springs;
+泲 > kind\-of\-white\-wine;
+氍 > fine\-woollen\-cloth;
+檁 > the\-bole\-of\-a\-tree;
+柺 > an\-old\-man''s\-staff;
+杻 > ligustrum\-sinenese;
+杙 > a\-tiny\-wooden\-post;
+朶 > cluster\-of\-flowers;
+昷 > to\-feed\-a\-prisoner;
+旼 > gentle\-and\-affable;
+擭 > trap\-catch\-animals;
+撈 > scoop\-out\-of\-water;
+彄 > nock\-at\-end\-of\-bow;
+巔 > summit\-of\-mountain;
+巓 > summit\-of\-mountain;
+嶨 > big\-rocky\-mountain;
+嵖 > name\-of\-a\-mountain;
+峹 > name\-of\-a\-mountain;
+峱 > name\-of\-a\-mountain;
+岢 > name\-of\-a\-mountain;
+岍 > name\-of\-a\-mountain;
+奩 > lady''s\-vanity\-case;
+壜 > earthen\-jar\-or\-jug;
+墰 > an\-earthenware\-jar;
+墐 > to\-build\-with\-soil;
+塏 > high\-and\-dry\-place;
+噋 > to\-swallow\-hastily;
+哰 > incoherent\-chatter;
+僊 > taoist\-super\-being;
+佷 > to\-act\-contrary\-to;
+亀 > turtle\-or\-tortoise;
+乑 > stand\-side\-by\-side;
+丬 > half\-of\-tree\-trunk;
+䶣 > to\-grind\-the\-teeth;
+䶟 > to\-gnash\-the\-teeth;
+䵕 > a\-varietyof\-millet;
+䴱 > cakes\-and\-biscuits;
+䴦 > a\-legendary\-animal;
+䳨 > the\-female\-phoenix;
+䳔 > a\-pigeon\-like\-bird;
+䳎 > a\-pigeon\-like\-bird;
+䱳 > a\-kind\-of\-sturgeon;
+䱣 > a\-long\-narrow\-fish;
+䰪 > mischievous\-spirit;
+䰨 > mischievous\-spirit;
+䯱 > the\-hair\-stands\-up;
+䯏 > the\-shoulder\-blade;
+䯋 > the\-shoulder\-blade;
+䮥 > color\-of\-the\-horse;
+䮝 > a\-legendary\-animal;
+䭰 > strong\-sweet\-smell;
+䭯 > strong\-sweet\-smell;
+䭋 > to\-eat\-to\-the\-full;
+䭃 > to\-eat\-to\-the\-fool;
+䬾 > cakes\-and\-biscuits;
+䬴 > fodder\-for\-animals;
+䬬 > to\-eat\-to\-the\-full;
+䬨 > to\-eat\-to\-the\-full;
+䬧 > round\-shaped\-cakes;
+䫐 > to\-bend\-one''s\-head;
+䪌 > cushion\-for\-saddle;
+䨆 > a\-kind\-of\-pheasant;
+䧼 > the\-the\-snow\-goose;
+䧦 > name\-of\-a\-hillside;
+䧇 > name\-of\-a\-hillside;
+䦮 > door\-of\-the\-center;
+䦒 > the\-door\-is\-closed;
+䦐 > the\-bolt\-of\-a\-door;
+䥳 > a\-chemical\-element;
+䥲 > a\-chemical\-element;
+䥞 > to\-cut\-with\-shears;
+䥝 > desperate\-fighting;
+䤄 > flushed\-with\-drink;
+䣺 > filtrated\-the\-wine;
+䣀 > name\-of\-a\-mountain;
+䡠 > strong\-and\-durable;
+䡛 > name\-of\-a\-carriage;
+䠧 > hard\-to\-go\-forward;
+䠡 > sound\-of\-footsteps;
+䟝 > to\-walk\-right\-into;
+䝞 > name\-of\-a\-immortal;
+䛉 > to\-induce\-by\-words;
+䚧 > curved\-with\-angles;
+䙃 > sleeveless\-clothes;
+䘍 > a\-kind\-of\-scorpion;
+䗻 > a\-kind\-of\-sea\-crab;
+䗨 > lepsima\-saccharina;
+䗣 > insect\-of\-mulberry;
+䗍 > wood\-boring\-insect;
+䖧 > a\-poisonous\-insect;
+䖓 > of\-a\-walking\-tiger;
+䕪 > the\-water\-plantain;
+䔼 > sound\-of\-the\-grass;
+䔃 > cordate\-houttuynia;
+䓫 > name\-of\-a\-mountain;
+䓨 > long\-necked\-bottle;
+䓠 > the\-water\-plantain;
+䓖 > cnidium\-officinale;
+䓃 > melancholy\-and\-sad;
+䒝 > root\-of\-the\-thatch;
+䑙 > put\-out\-the\-tongue;
+䑆 > feel\-like\-vomiting;
+䐔 > muscle\-of\-the\-calf;
+䎾 > big\-and\-round\-eyes;
+䎴 > a\-legendary\-spirit;
+䎪 > the\-stalk\-of\-grain;
+䎔 > fine\-and\-soft\-hair;
+䎏 > young\-birds\-flying;
+䎍 > fine\-and\-soft\-hair;
+䍩 > to\-offer\-provision;
+䍣 > a\-kind\-of\-fish\-net;
+䌍 > fine\-woven\-pattern;
+䌉 > the\-large\-of\-a\-net;
+䋗 > strong\-and\-durable;
+䋈 > to\-bind\-loose\-hemp;
+䉬 > coarse\-bamboo\-mats;
+䈮 > a\-woven\-instrument;
+䇳 > a\-memoradum\-tablet;
+䆪 > color\-of\-the\-light;
+䆥 > to\-pierce\-throughj;
+䆤 > to\-pierce\-throughj;
+䆑 > a\-little\-protruded;
+䅽 > fragrance\-or\-aroma;
+䅱 > to\-eat\-to\-the\-full;
+䅧 > fine\-rice\-seedling;
+䅝 > the\-stalk\-of\-grain;
+䅜 > to\-store\-up\-grains;
+䅀 > the\-stalk\-of\-grain;
+䄚 > to\-worship\-the\-god;
+䃽 > name\-of\-a\-mountain;
+䃜 > a\-fine\-black\-stone;
+䁊 > dark\-and\-deep\-eyed;
+䀞 > with\-heavy\-eyelids;
+䀗 > to\-look\-askance\-at;
+㿌 > lump\-in\-the\-throat;
+㼣 > bricks\-of\-the\-well;
+㼇 > fine\-jade\-or\-agate;
+㻗 > a\-string\-of\-pearls;
+㻊 > a\-red\-colored\-jade;
+㻅 > jade\-decorated\-cap;
+㺧 > a\-white\-yellow\-dog;
+㹤 > lacking\-in\-courage;
+㸽 > a\-two\-years\-old\-ox;
+㸬 > a\-two\-years\-old\-ox;
+㸈 > scorched\-or\-burned;
+㷳 > color\-of\-the\-flame;
+㷢 > bundle\-of\-charcoal;
+㷠 > a\-will\-o''\-the\-wisp;
+㶶 > scorched\-or\-burned;
+㵓 > the\-water\-is\-clear;
+㴾 > swelling\-or\-rising;
+㳂 > to\-follow\-a\-course;
+㲡 > thick\-coat\-of\-hair;
+㲗 > to\-smooth\-the\-hair;
+㯶 > the\-coir\-palm\-tree;
+㯲 > a\-wooden\-framework;
+㯛 > gourd\-shaped\-dates;
+㮻 > to\-scratch\-lightly;
+㮍 > amemorandum\-tablet;
+㭨 > the\-cocoa\-nut\-palm;
+㭡 > name\-of\-a\-mountain;
+㭝 > name\-of\-a\-pavilion;
+㬴 > the\-moon\-is\-dimmed;
+㬒 > the\-sun\-are\-dimmed;
+㬎 > motes\-in\-a\-sunbeam;
+㫦 > of\-look\-of\-the\-sun;
+㫞 > of\-look\-of\-the\-sun;
+㪸 > to\-fill\-a\-cup\-with;
+㩃 > to\-take\-or\-capture;
+㨽 > to\-cut\-or\-rip\-open;
+㨡 > to\-push\-with\-hands;
+㨜 > to\-help\-each\-other;
+杻 > ligustrum\-sinenese;
+㧀 > the\-bolt\-of\-a\-door;
+㦾 > the\-bolt\-of\-a\-door;
+驪 > a\-pure\-black\-horse;
+㥸 > to\-sympathize\-with;
+㥨 > unhappy\-displeased;
+㤪 > to\-find\-fault\-with;
+臘 > year\-end\-sacrifice;
+龜 > turtle\-or\-tortoise;
+龜 > turtle\-or\-tortoise;
+㣌 > to\-join\-two\-things;
+㡯 > wall\-of\-a\-building;
+㠦 > name\-of\-a\-mountain;
+㠠 > name\-of\-a\-mountain;
+㠓 > name\-of\-a\-mountain;
+㠏 > name\-of\-a\-mountain;
+㠆 > name\-of\-a\-mountain;
+㟳 > name\-of\-a\-mountain;
+㟰 > name\-of\-a\-mountain;
+㟪 > name\-of\-a\-mountain;
+㟦 > name\-of\-a\-mountain;
+㟘 > name\-of\-a\-mountain;
+㟍 > name\-of\-a\-mountain;
+㟊 > name\-of\-a\-mountain;
+㟈 > name\-of\-a\-mountain;
+㟆 > name\-of\-a\-mountain;
+㟄 > name\-of\-a\-mountain;
+㟀 > name\-of\-a\-mountain;
+㞻 > name\-of\-a\-mountain;
+㞴 > name\-of\-a\-mountain;
+㞳 > name\-of\-a\-mountain;
+㞲 > name\-of\-a\-mountain;
+㞰 > name\-of\-a\-mountain;
+㞨 > name\-of\-a\-mountain;
+㞦 > name\-of\-a\-mountain;
+㘳 > a\-hillock\-or\-mound;
+㘱 > to\-fall\-into\-ruins;
+㘜 > a\-kind\-of\-silkworm;
+㖅 > sound\-of\-a\-whistle;
+㖃 > to\-roar\-of\-animals;
+㔢 > to\-break\-something;
+皿 > shallow\-container;
+屓 > gigantic\-strength;
+派 > school\-of\-thought;
+姓 > one''s\-family\-name;
+煎 > fry\-in\-fat\-or\-oil;
+襁 > swaddling\-clothes;
+哈 > sound\-of\-laughter;
+鸚 > species\-of\-parrot;
+欧 > translit\.\:\-europe;
+鵡 > species\-of\-parrot;
+订 > draw\-up\-agreement;
+偏 > inclined\-one\-side;
+歔 > blow\-through\-nose;
+培 > bank\-up\-with\-dirt;
+漫 > overflow\-of\-water;
+侠 > chivalrous\-person;
+姆 > child''s\-governess;
+盒 > small\-box\-or\-case;
+儒 > confucian\-scholar;
+阪 > hillside\-farmland;
+迈 > take\-a\-big\-stride;
+捏 > pick\-with\-fingers;
+浙 > zhejiang\-province;
+筧 > bamboo\-water\-pipe;
+艘 > counter\-for\-ships;
+趁 > take\-advantage\-of;
+鉢 > earthenware\-basin;
+蓬 > type\-of\-raspberry;
+辖 > linchpin\-of\-wheel;
+逅 > meet\-unexpectedly;
+嘎 > sound\-of\-laughter;
+酣 > enjoy\-intoxicants;
+饺 > stuffed\-dumplings;
+咏 > sing\-song\-or\-poem;
+钵 > earthenware\-basin;
+搀 > give\-helping\-hand;
+捶 > strike\-with\-stick;
+刨 > carpenter''s\-plane;
+蠕 > eumenes\-polifomis;
+饨 > stuffed\-dumplings;
+崆 > kongtong\-mountain;
+盅 > small\-cup\-or\-bowl;
+梆 > watchman''s\-rattle;
+嵇 > mountain\-in\-henan;
+耷 > ears\-hanging\-down;
+羌 > qiang\-nationality;
+苞 > a\-variety\-of\-rush;
+鹦 > species\-of\-parrot;
+藜 > chenopodium\-album;
+艄 > stern\-of\-a\-vessel;
+鹉 > species\-of\-parrot;
+峁 > yellow\-dirt\-mount;
+镔 > high\-quality\-iron;
+鲫 > carassius\-auratus;
+龇 > to\-show\-the\-teeth;
+沭 > river\-in\-shantung;
+榫 > mortise\-and\-tenon;
+萋 > luxuriant\-foliage;
+醮 > religious\-service;
+牝 > female\-of\-species;
+曷 > why\?\-what\?\-where\?;
+瑷 > fine\-quality\-jade;
+耦 > plow\-side\-by\-side;
+鸶 > the\-eastern\-egret;
+篦 > fine\-toothed\-comb;
+妁 > act\-as\-go\-between;
+荥 > a\-county\-in\-henan;
+戽 > to\-bale\-out\-water;
+枳 > trifoliate\-orange;
+椐 > zelkowa\-acuminata;
+崤 > mountain\-in\-henan;
+魉 > a\-kind\-of\-monster;
+颞 > the\-temporal\-bone;
+锴 > high\-quality\-iron;
+笕 > bamboo\-water\-pipe;
+耩 > to\-plough\.\-to\-sow;
+廨 > government\-office;
+蟮 > type\-of\-earthworm;
+蛱 > kind\-of\-butterfly;
+禳 > pray\-or\-sacrifice;
+瞢 > eyesight\-obscured;
+蔸 > counter\-for\-plant;
+螅 > \(intestinal\-worm\);
+祧 > an\-ancestral\-hall;
+柝 > watchman''s\-rattle;
+蠃 > the\-solitary\-wasp;
+蜾 > the\-solitary\-wasp;
+聃 > ears\-without\-rims;
+耜 > spade\-shaped\-tool;
+慝 > do\-evil\-in\-secret;
+庳 > a\-low\-built\-house;
+鼢 > a\-variety\-of\-mole;
+蚺 > a\-boa\-constrictor;
+颥 > the\-temporal\-bone;
+硇 > a\-kind\-of\-mineral;
+硭 > a\-crude\-saltpetre;
+胨 > a\-kind\-of\-protein;
+齜 > to\-show\-the\-teeth;
+齄 > red\-sores\-on\-nose;
+黟 > black\-and\-shining;
+鹁 > species\-of\-pigeon;
+鵵 > scops\-semitorques;
+鵓 > species\-of\-pigeon;
+鯽 > carassius\-auratus;
+鮸 > sciaena\-albiflora;
+魫 > the\-young\-of\-fish;
+魎 > a\-kind\-of\-monster;
+髽 > to\-dress\-the\-hair;
+饩 > sacrficial\-victim;
+餃 > stuffed\-dumplings;
+餂 > to\-obtain\-by\-hook;
+飩 > stuffed\-dumplings;
+顳 > the\-temporal\-bone;
+顬 > the\-temporal\-bone;
+鞸 > leather\-arm\-guard;
+鞲 > leather\-arm\-guard;
+靿 > the\-leg\-of\-a\-boot;
+隸 > be\-subservient\-to;
+隷 > be\-subservient\-to;
+閪 > to\-lose\-lost\-item;
+鑤 > carpenter''s\-plane;
+鑌 > high\-quality\-iron;
+鍇 > high\-quality\-iron;
+銠 > rhodium\-ruthenium;
+鉕 > promethium\-bronze;
+鉋 > carpenter''s\-plane;
+鈳 > columbium\-niobium;
+醭 > moulds\-on\-liquids;
+醑 > to\-strain\-spirits;
+酺 > drink\-with\-others;
+邁 > take\-a\-big\-stride;
+轄 > linchpin\-of\-wheel;
+貍 > a\-fox\-like\-animal;
+豋 > ceremonial\-vessel;
+訂 > draw\-up\-agreement;
+覼 > explain\-in\-detail;
+覙 > explain\-in\-detail;
+蝡 > eumenes\-polifomis;
+蜔 > inlaid\-shell\-work;
+蛺 > kind\-of\-butterfly;
+蚦 > a\-boa\-constrictor;
+蘵 > physalis\-angulata;
+藨 > kind\-of\-raspberry;
+蕸 > water\-lily''s\-leaf;
+蕑 > valeriana\-villosa;
+葎 > humulus\-japonicus;
+菣 > artemisia\-apiacea;
+莛 > stalks\-of\-grasses;
+茍 > to\-be\-circumspect;
+罛 > large\-fishing\-net;
+缽 > earthenware\-basin;
+縰 > band\-for\-the\-hair;
+綎 > silk\-braided\-cord;
+紬 > kind\-of\-thin\-silk;
+籸 > powdery\-substance;
+籓 > big\-winnow\-basket;
+篨 > coarse\-bamboo\-mat;
+箆 > fine\-toothed\-comb;
+祊 > river\-in\-shandong;
+瘵 > a\-wasting\-disease;
+璫 > pendant\-ornaments;
+璦 > fine\-quality\-jade;
+玞 > an\-inferior\-agate;
+熀 > the\-blaze\-of\-fire;
+灎 > movement\-of\-water;
+湑 > to\-strain\-spirits;
+渰 > forming\-or\-rising;
+洶 > the\-rush\-of\-water;
+朠 > color\-of\-the\-moon;
+暔 > name\-of\-a\-country;
+攰 > totally\-exhausted;
+掫 > be\-on\-night\-watch;
+捥 > to\-bend\-the\-wrist;
+抌 > to\-bale\-out\-water;
+愰 > clearness\-of\-mind;
+弖 > phonetic\-for\-''te'';
+嵆 > mountain\-in\-henan;
+屭 > gigantic\-strength;
+尨 > shaggy\-haired\-dog;
+夊 > kangxi\-radical\-35;
+喿 > chirping\-of\-birds;
+喼 > used\-phonetically;
+喹 > chemical\-compound;
+哵 > the\-cry\-of\-a\-bird;
+哴 > crying\-of\-infants;
+吢 > vomiting\-of\-a\-dog;
+倈 > to\-induce\-to\-come;
+俠 > chivalrous\-person;
+俈 > to\-inform\-quickly;
+仂 > surplus\-or\-excess;
+乪 > a\-bend\-in\-a\-river;
+䶰 > feather\-ornaments;
+䶖 > disease\-of\-tongue;
+䵜 > to\-plough\-and\-sow;
+䴊 > the\-crow\-pheasant;
+䳤 > a\-kind\-of\-strange;
+䳙 > a\-egret\-like\-bird;
+䯥 > with\-a\-high\-skull;
+䯢 > partial\-paralysis;
+䮫 > a\-big\-mule\-an\-ass;
+䮚 > diseases\-of\-horse;
+䮐 > in\-good\-condition;
+䭔 > steamed\-dumplings;
+䬰 > light\-refreshment;
+䬕 > sound\-of\-the\-wind;
+䬍 > the\-sound\-of\-wind;
+䬆 > a\-blustering\-gale;
+䬃 > the\-sound\-of\-wind;
+䬀 > sound\-of\-the\-wind;
+䫦 > the\-lower\-jawbone;
+䫟 > facial\-complexion;
+䫍 > to\-bow\-one''s\-head;
+䫉 > facial\-appearance;
+䨕 > pouring\-with\-rain;
+䧺 > the\-male\-of\-birds;
+䦪 > sound\-of\-the\-door;
+䦝 > sound\-of\-the\-door;
+䦖 > sound\-of\-the\-door;
+䦃 > to\-dig\-with\-a\-hoe;
+䣻 > color\-of\-the\-wine;
+䣪 > color\-of\-the\-wine;
+䢝 > the\-next\-in\-order;
+䡷 > noise\-of\-vehicles;
+䡪 > fan\-of\-a\-carriage;
+䡙 > an\-armed\-carriage;
+䞕 > color\-of\-the\-fire;
+䞂 > fairly\-prosperous;
+䝺 > to\-pierce\-through;
+䝹 > fairly\-prosperous;
+䝳 > to\-kill\-for\-money;
+䝲 > farewell\-presents;
+䜢 > cruel\-and\-violent;
+䚠 > unbroken\-firewood;
+䚝 > new\-growing\-horns;
+䚚 > horn\-of\-an\-animal;
+䚑 > to\-steal\-a\-glance;
+䚀 > to\-see\-stealthily;
+䙴 > to\-soar\-as\-a\-bird;
+䙪 > a\-loop\-for\-button;
+䘎 > name\-of\-an\-insect;
+䗹 > hairy\-caterpillar;
+䗥 > the\-solitary\-wasp;
+䕧 > zizania\-latifolia;
+䕠 > coarse\-bamboo\-mat;
+䕆 > round\-straw\-quilt;
+䓛 > molecular\-formula;
+䒽 > illicium\-anisatum;
+䒐 > disturbed\-in\-mind;
+䒏 > disturbed\-in\-mind;
+䑼 > ocean\-going\-liner;
+䐠 > between\-the\-flesh;
+䐘 > to\-laugh\-heartily;
+䐖 > to\-laugh\-heartily;
+䏰 > a\-kind\-of\-insects;
+䏛 > a\-kind\-of\-insects;
+䎨 > to\-plough\-and\-sow;
+䍭 > a\-ewe\-or\-she\-goat;
+䍧 > a\-ewe\-or\-she\-goat;
+䍇 > flat\-bottom\-crock;
+䌨 > thin\-silk\-fabrics;
+䋻 > to\-spin\-and\-weave;
+䋺 > a\-swing\-a\-crupper;
+䋘 > to\-hand\-by\-a\-rope;
+䊯 > grains\-with\-beard;
+䊚 > steamed\-dumplings;
+䉌 > crude\-bamboo\-mats;
+䈠 > books\-and\-volumes;
+䆕 > to\-pierce\-through;
+䆔 > to\-pierce\-through;
+䄉 > a\-rite\-or\-service;
+䃿 > a\-rite\-or\-service;
+䂣 > a\-kind\-of\-mineral;
+䁽 > eyesight\-obscured;
+䁸 > eyesight\-obscured;
+䁄 > to\-close\-the\-eyes;
+䀹 > to\-wink\-eyelashes;
+㿃 > an\-ox\-headed\-boil;
+㾱 > incurable\-disease;
+㽍 > an\-earthen\-vessel;
+㼴 > an\-earthen\-vessel;
+㺿 > a\-jade\-like\-stone;
+㶿 > the\-smoke\-went\-up;
+㶴 > a\-very\-great\-fire;
+㵫 > water\-gushing\-out;
+㵍 > filled\-with\-water;
+㵄 > name\-of\-a\-dynasty;
+㳜 > the\-flowing\-water;
+㲲 > fine\-cotton\-cloth;
+㲘 > fine\-woolen\-cloth;
+㲋 > a\-kind\-of\-animals;
+㲃 > smooth\-and\-curved;
+㰩 > sound\-of\-laughter;
+㯿 > handle\-of\-a\-ladle;
+㯦 > the\-game\-of\-chess;
+㮵 > common\-sandalwood;
+㮨 > codium\-macronatum;
+㮚 > the\-chestnut\-tree;
+㬛 > to\-dry\-in\-the\-sun;
+㩮 > to\-lift\-up\-or\-off;
+㩩 > to\-come\-to\-an\-end;
+㩙 > a\-cork\-or\-stopper;
+㨢 > to\-rip\-open\-flesh;
+隸 > be\-subservient\-to;
+㣢 > to\-rest\-from\-work;
+㣓 > literary\-in\-taste;
+㣍 > a\-raised\-platform;
+㢮 > to\-unstring\-a\-bow;
+㢑 > a\-collapsed\-house;
+㢈 > a\-collapsed\-house;
+㢄 > a\-kind\-of\-utensil;
+㡟 > bed\-mats\-for\-baby;
+㠷 > a\-vessel\-for\-rice;
+㠥 > rugged\-and\-uneven;
+㠢 > rugged\-and\-uneven;
+㟴 > lump\-on\-the\-hills;
+㟤 > zhuang\-in\-guangxi;
+㟃 > to\-have\-charge\-of;
+㞭 > name\-of\-an\-island;
+㝌 > prolonged\-illness;
+㛴 > to\-anger\-to\-annoy;
+㚅 > to\-worship\-of\-god;
+㙩 > an\-enclosing\-wall;
+㘦 > wall\-made\-of\-soil;
+㘚 > angry\-air\-of\-look;
+㗼 > eating\-or\-talking;
+㗥 > sound\-of\-striking;
+㖸 > to\-laugh\-heartily;
+㖧 > can\-not\-see\-clear;
+㔝 > strong\-resistance;
+㓾 > to\-wound\-the\-skin;
+㑝 > to\-make\-a\-fool\-of;
+㑏 > to\-stand\-and\-wait;
+㑊 > a\-kind\-of\-disease;
+㐲 > name\-of\-an\-island;
+个 > numerary\-adjunct;
+里 > unit\-of\-distance;
+阳 > ''male''\-principle;
+訝 > express\-surprise;
+黍 > glutinous\-millet;
+剧 > theatrical\-plays;
+蘂 > stamen\-or\-pistil;
+挺 > to\-stand\-upright;
+础 > foundation\-stone;
+劇 > theatrical\-plays;
+舅 > mother''s\-brother;
+萧 > common\-artemisia;
+個 > numerary\-adjunct;
+俺 > personal\-pronoun;
+玲 > tinkling\-of\-jade;
+陽 > ''male''\-principle;
+箇 > numerary\-adjunct;
+捩 > twist\-with\-hands;
+讶 > express\-surprise;
+黛 > blacken\-eyebrows;
+妆 > to\-adorn\-oneself;
+幢 > carriage\-curtain;
+梭 > weaver''s\-shuttle;
+漪 > ripples\-on\-water;
+眷 > take\-interest\-in;
+勋 > meritorious\-deed;
+甭 > there\-is\-no\-need;
+祠 > ancestral\-temple;
+舔 > lick\-with\-tongue;
+蕊 > unopened\-flowers;
+赣 > jiangxi\-province;
+跷 > raise\-one''s\-foot;
+剁 > chop\-by\-pounding;
+薰 > a\-medicinal\-herb;
+叼 > holding\-in\-mouth;
+荼 > bitter\-vegetable;
+徙 > move\-one''s\-abode;
+涔 > river\-in\-shaanxi;
+潢 > expanse\-of\-water;
+秸 > stalks\-of\-millet;
+袈 > buddhist\-cassock;
+珞 > kind\-of\-necklace;
+啾 > wailing\-of\-child;
+亻 > radical\-number\-9;
+舐 > lick\-with\-tongue;
+夙 > early\-in\-morning;
+鹘 > a\-kind\-of\-pigeon;
+娩 > give\-birth\-child;
+姝 > a\-beautiful\-girl;
+懑 > be\-sick\-at\-heart;
+锉 > carpenter''s\-file;
+洱 > a\-lake\-in\-yunnan;
+蝈 > small\-green\-frog;
+帼 > women''s\-headgear;
+狎 > be\-familiar\-with;
+胪 > arrange\-in\-order;
+豢 > domestic\-animals;
+眇 > blind\-in\-one\-eye;
+羿 > legendary\-archer;
+芩 > salt\-marsh\-plant;
+茭 > an\-aquatic\-grass;
+蓖 > castor\-oil\-plant;
+傧 > entertain\-guests;
+薜 > evergreen\-shrubs;
+趺 > sit\-cross\-legged;
+椹 > a\-chopping\-board;
+霈 > torrential\-rains;
+跏 > sit\-cross\-legged;
+曩 > in\-ancient\-times;
+栌 > supporting\-block;
+哚 > chemical\-element;
+筌 > bamboo\-fish\-trap;
+浍 > irrigation\-ditch;
+猁 > a\-kind\-of\-monkey;
+啶 > \-d\-\+\-ine\-\(chem\.\);
+鬯 > sacrificial\-wine;
+鲷 > pagrosomus\-major;
+聱 > bent\-and\-twisted;
+劢 > put\-forth\-effort;
+蟪 > a\-kind\-of\-cicada;
+螗 > a\-kind\-of\-cicada;
+赆 > farewell\-present;
+埯 > cover\-with\-earth;
+鲔 > kind\-of\-sturgeon;
+罨 > medical\-compress;
+嫜 > husband''s\-parent;
+漤 > marinate\-in\-salt;
+嚆 > give\-forth\-sound;
+薹 > cyperus\-rotundus;
+茆 > species\-of\-grass;
+齙 > projecting\-teeth;
+鹶 > salty\-and\-bitter;
+鶻 > a\-kind\-of\-pigeon;
+鯛 > pagrosomus\-major;
+鯆 > the\-skate\-or\-ray;
+鮪 > kind\-of\-sturgeon;
+魬 > sole\-or\-flounder;
+骴 > a\-putrid\-carcase;
+馘 > cut\-off\-left\-ear;
+飀 > soughing\-of\-wind;
+韝 > leather\-arm\-band;
+韊 > a\-case\-for\-a\-bow;
+鞶 > big\-leather\-belt;
+雗 > a\-white\-pheasant;
+隤 > to\-fall\-in\-ruins;
+闠 > gate\-of\-a\-market;
+銼 > carpenter''s\-file;
+銻 > antimony\-stibium;
+銧 > point\-of\-a\-sword;
+鉀 > potassium\-kalium;
+躷 > of\-short\-stature;
+蹺 > raise\-one''s\-foot;
+蹱 > to\-stagger\-along;
+蹐 > take\-short\-steps;
+贛 > jiangxi\-province;
+贐 > farewell\-present;
+賙 > give\-for\-charity;
+豏 > half\-grown\-beans;
+誕 > to\-bear\-children;
+覂 > to\-throw\-a\-rider;
+襱 > legs\-of\-trousers;
+裛 > to\-wrap\-and\-bind;
+袗 > unlined\-garments;
+衎 > to\-give\-pleasure;
+蟿 > acrida\-chinensis;
+蟈 > small\-green\-frog;
+螋 > spider\-millipede;
+蝻 > immature\-locusts;
+虥 > striped\-wild\-cat;
+藦 > edible\-mushrooms;
+藋 > sambucu\-javinica;
+薫 > a\-medicinal\-herb;
+薃 > cyperus\-amuricus;
+蕭 > common\-artemisia;
+蕋 > unopened\-flowers;
+蔇 > luxuriant\-growth;
+葙 > celosia\-argentea;
+菉 > the\-green\-bamboo;
+芘 > malva\-sylvestris;
+芃 > luxuriant\-growth;
+臚 > arrange\-in\-order;
+耼 > ears\-without\-rim;
+綵 > varicolored\-silk;
+紽 > a\-strand\-of\-silk;
+糵 > fermenting\-grain;
+糱 > fermenting\-grain;
+糈 > sacrificial\-rice;
+籧 > crude\-bamboo\-mat;
+箯 > bamboo\-palanquin;
+箊 > bamboo\-with\-thin;
+秷 > sound\-of\-reaping;
+礎 > foundation\-stone;
+磥 > a\-heap\-of\-stones;
+砫 > ancestral\-tablet;
+瞘 > deeply\-sunk\-eyes;
+瞋 > glare\-with\-anger;
+睜 > to\-open\-the\-eyes;
+盦 > lid\-of\-a\-caldron;
+癉 > to\-hate\-bitterly;
+瘅 > to\-hate\-bitterly;
+瓟 > the\-bottle\-gourd;
+猸 > a\-kind\-of\-animal;
+狻 > a\-fabulous\-beast;
+烜 > light\-of\-the\-sun;
+灠 > marinate\-in\-salt;
+澮 > irrigation\-ditch;
+澦 > place\-in\-sichuan;
+澥 > a\-blocked\-stream;
+澔 > radiance\-of\-gems;
+渫 > beating\-of\-ocean;
+浤 > beating\-of\-ocean;
+毮 > to\-pull\-out\-hair;
+毪 > serge\-from\-tibet;
+櫨 > supporting\-block;
+樛 > bending\-branches;
+枲 > male\-nettle\-hemp;
+枒 > the\-coconut\-tree;
+晅 > light\-of\-the\-sun;
+斵 > to\-cut\-to\-pieces;
+斞 > a\-stack\-of\-grain;
+撚 > twirl\-in\-fingers;
+挷 > to\-propel\-a\-boat;
+懣 > be\-sick\-at\-heart;
+弳 > circular\-measure;
+弪 > circular\-measure;
+廵 > to\-go\-on\-circuit;
+幗 > women''s\-headgear;
+嬎 > to\-bear\-multiple;
+媤 > husband''s\-family;
+妝 > to\-adorn\-oneself;
+墤 > to\-fall\-in\-ruins;
+囍 > double\-happiness;
+嚳 > mythical\-emperor;
+嘅 > sound\-of\-sighing;
+嗞 > to\-consult\-about;
+嗁 > give\-forth\-sound;
+喺 > to\-be\-located\-at;
+勳 > meritorious\-deed;
+勲 > meritorious\-deed;
+勱 > put\-forth\-effort;
+勛 > meritorious\-deed;
+刴 > chop\-by\-pounding;
+冓 > a\-secluded\-place;
+儐 > entertain\-guests;
+儊 > rough\-and\-rugged;
+傜 > a\-minority\-tribe;
+䶱 > a\-kind\-of\-turtle;
+䵤 > to\-crack\-or\-chap;
+䵣 > white\-with\-black;
+䵡 > to\-crack\-or\-chap;
+䵃 > a\-kind\-of\-barley;
+䴬 > crumbs\-of\-barley;
+䴤 > a\-kind\-of\-animal;
+䴣 > a\-kind\-of\-animal;
+䴅 > a\-legendary\-bird;
+䳢 > small\-wild\-goose;
+䳟 > a\-legendary\-bird;
+䳐 > an\-owl\-like\-bird;
+䲲 > a\-hawk\-like\-bird;
+䲦 > a\-legendary\-bird;
+䰃 > dishevelled\-hair;
+䯳 > loosely\-arranged;
+䯮 > dishevelled\-hair;
+䯇 > to\-exert\-oneself;
+䮴 > unstable\-walking;
+䮳 > to\-give\-birth\-to;
+䮩 > a\-kind\-of\-animal;
+䮠 > a\-kind\-of\-animal;
+䮁 > a\-pair\-of\-horses;
+䮀 > a\-kind\-of\-animal;
+䫌 > bowed\-one''s\-head;
+䪎 > strings\-of\-a\-cap;
+䩥 > a\-belt\-for\-horse;
+䨻 > roar\-of\-thunders;
+䨴 > gathering\-clouds;
+䨳 > the\-rain\-stopped;
+䨏 > sound\-of\-raining;
+䨊 > a\-flock\-of\-birds;
+䧸 > a\-kind\-of\-pigeon;
+䧡 > a\-fortified\-wall;
+䧄 > name\-of\-a\-person;
+䦕 > bang\-of\-the\-door;
+䦂 > chemical\-element;
+䥛 > a\-kind\-of\-sickle;
+䥇 > chemical\-element;
+䤲 > chemical\-element;
+䤠 > chemical\-element;
+䣮 > smell\-of\-alcohol;
+䣫 > soured\-bean\-curd;
+䢞 > rows\-and\-columns;
+䡮 > trace\-of\-a\-wheel;
+䡢 > a\-small\-carriage;
+䠿 > name\-of\-a\-person;
+䠻 > to\-bend\-the\-body;
+䟋 > to\-press\-forward;
+䞖 > name\-of\-a\-person;
+䞌 > to\-lose\-in\-trade;
+䝣 > a\-kind\-of\-animal;
+䝚 > a\-kind\-of\-animal;
+䝋 > a\-little\-of\-pigs;
+䝇 > grunting\-of\-pigs;
+䛏 > to\-call\-somebody;
+䛎 > to\-shout\-in\-rage;
+䛂 > to\-separate\-from;
+䚿 > to\-shout\-in\-rage;
+䚔 > to\-look\-suddenly;
+䚒 > eyesight\-blurred;
+䚎 > eyesight\-blurred;
+䚋 > eyesight\-blurred;
+䚃 > to\-realize\-fully;
+䙭 > to\-lift\-or\-raise;
+䘋 > a\-kind\-of\-insect;
+䘂 > a\-kind\-of\-insect;
+䗿 > a\-kind\-of\-insect;
+䗼 > a\-kind\-of\-insect;
+䗸 > a\-kind\-of\-insect;
+䗱 > a\-kind\-of\-insect;
+䗯 > a\-kind\-of\-insect;
+䗮 > a\-kind\-of\-insect;
+䗡 > a\-kind\-of\-insect;
+䗟 > a\-kind\-of\-insect;
+䗛 > a\-kind\-of\-insect;
+䗏 > name\-of\-a\-insect;
+䗎 > a\-kind\-of\-insect;
+䗆 > a\-kind\-of\-insect;
+䗄 > a\-kind\-of\-insect;
+䗁 > a\-kind\-of\-cicada;
+䖷 > a\-kind\-of\-insect;
+䖴 > a\-kind\-of\-insect;
+䖲 > a\-kind\-of\-insect;
+䖯 > poisonous\-insect;
+䖐 > sound\-of\-a\-tiger;
+䔷 > cyperus\-rotundus;
+䒣 > lush\-or\-delicate;
+䑸 > a\-group\-of\-boats;
+䑅 > dizzy\-and\-sleepy;
+䐨 > back\-of\-the\-foot;
+䏒 > half\-of\-the\-body;
+䏏 > signs\-and\-groans;
+䎼 > a\-kind\-of\-insect;
+䎯 > winter\-ploughing;
+䎂 > colorful\-feather;
+䌽 > varicolored\-silk;
+䌂 > in\-ancient\-times;
+䋤 > plain\-white\-silk;
+䋔 > to\-band\-together;
+䊋 > to\-adorn\-oneself;
+䉷 > a\-feather\-screen;
+䉉 > a\-writing\-tablet;
+䈙 > bamboo\-to\-wither;
+䈈 > a\-kind\-of\-bamboo;
+䈃 > a\-kind\-of\-bamboo;
+䈂 > a\-kind\-of\-bamboo;
+䇻 > a\-kind\-of\-bamboo;
+䇹 > a\-kind\-of\-bamboo;
+䇷 > in\-ancient\-times;
+䇦 > a\-kind\-of\-bamboo;
+䆿 > to\-talk\-in\-sleep;
+䆲 > a\-spacious\-house;
+䆈 > young\-and\-tender;
+䅼 > a\-kind\-of\-grains;
+䅺 > grain\-in\-the\-ear;
+䅊 > a\-spacious\-house;
+䄺 > young\-and\-tender;
+䂪 > hard\-barren\-land;
+䀃 > a\-kind\-of\-vessel;
+㾦 > scab\-over\-a\-sore;
+㾁 > walking\-like\-mad;
+㽮 > a\-point\-of\-light;
+㽊 > cracking\-of\-tile;
+㻒 > red\-colored\-jade;
+㻁 > a\-kind\-of\-jasper;
+㺵 > black\-jade\-stone;
+㺴 > name\-of\-a\-spirit;
+㺦 > a\-running\-animal;
+㺣 > a\-kind\-of\-animal;
+㺢 > a\-kind\-of\-animal;
+㺝 > sound\-of\-a\-tiger;
+㺘 > a\-kind\-of\-animal;
+㹼 > a\-kind\-of\-animal;
+㹺 > dog\-to\-take\-food;
+㹴 > a\-kind\-of\-animal;
+㹭 > a\-kind\-of\-monkey;
+㹬 > a\-kind\-of\-animal;
+㹨 > a\-kind\-of\-animal;
+㹟 > a\-kind\-of\-animal;
+㹓 > a\-kind\-of\-animal;
+㹇 > a\-kind\-of\-cattle;
+㹄 > a\-kind\-of\-cattle;
+㸻 > a\-kind\-of\-cattle;
+㸳 > a\-kind\-of\-cattle;
+㸣 > in\-ancient\-china;
+㶾 > tough\-and\-honest;
+㶍 > name\-of\-a\-stream;
+㶌 > name\-of\-a\-stream;
+㵰 > name\-of\-a\-stream;
+㵆 > radiance\-of\-gems;
+㵃 > name\-of\-a\-stream;
+㴧 > of\-flowing\-water;
+㳽 > a\-watery\-expanse;
+㱶 > a\-swellen\-corpse;
+㱭 > an\-infertile\-egg;
+㱈 > name\-of\-a\-person;
+㰤 > to\-laugh\-hertily;
+㰛 > name\-of\-a\-county;
+㰅 > eaves\-of\-a\-house;
+㯕 > sticks\-or\-frames;
+㯃 > the\-varnish\-tree;
+㮓 > an\-extreme\-limit;
+㭺 > the\-cherry\-apple;
+㪭 > to\-draw\-together;
+㪘 > to\-draw\-together;
+㪖 > sound\-of\-beating;
+㨼 > to\-take\-by\-force;
+㧺 > a\-finger\-wrapper;
+里 > unit\-of\-distance;
+玲 > tinkling\-of\-jade;
+㦜 > to\-move\-the\-mind;
+撚 > twirl\-in\-fingers;
+㥔 > to\-move\-the\-mind;
+菉 > the\-green\-bamboo;
+㤴 > to\-move\-the\-mind;
+㤢 > to\-move\-the\-mind;
+珞 > kind\-of\-necklace;
+㣈 > a\-kind\-of\-animal;
+㢰 > to\-stretch\-a\-bow;
+㡽 > depraved\-talking;
+㡉 > a\-kind\-of\-fabric;
+㠧 > a\-little\-slanted;
+㠎 > a\-lofty\-mountain;
+㝫 > shape\-of\-the\-sky;
+㝪 > a\-slanting\-house;
+㝩 > spaciously\-rooms;
+㝗 > spaciously\-rooms;
+㜴 > dark\-and\-obscure;
+㜝 > to\-cherish\-anger;
+㜈 > a\-beaugiful\-face;
+㚟 > a\-kind\-of\-animal;
+㚜 > with\-great\-power;
+㚗 > with\-a\-big\-mouth;
+㚇 > draw\-the\-feet\-up;
+㙞 > a\-small\-mountain;
+㙎 > breach\-of\-a\-tank;
+㙅 > a\-walled\-viliage;
+㙀 > a\-vegetable\-plot;
+㗻 > baby''s\-answering;
+㗙 > to\-shout\-or\-bawl;
+㕭 > to\-bark\-as\-a\-dog;
+㕩 > sound\-of\-tapping;
+㕇 > rocks\-collapsing;
+㔵 > a\-kind\-of\-vessel;
+㔱 > a\-stack\-of\-grain;
+㔨 > name\-of\-a\-person;
+㔚 > to\-exert\-oneself;
+㔑 > an\-incised\-wound;
+㓼 > an\-incised\-wound;
+㓸 > to\-cut\-to\-pieces;
+㒭 > an\-elder\-brother;
+㒡 > name\-of\-a\-person;
+㒁 > of\-great\-stature;
+㑱 > a\-kind\-of\-monkey;
+㐻 > name\-of\-a\-person;
+㐀 > hillock\-or\-mound;
+睨 > look\-askance\-at;
+怎 > what\?\-why\?\-how\?;
+收 > gather\-together;
+党 > political\-party;
+版 > printing\-blocks;
+季 > quarter\-of\-year;
+牡 > male\-of\-animals;
+診 > examine\-patient;
+姑 > father''s\-sister;
+褓 > swaddling\-cloth;
+馆 > public\-building;
+漿 > any\-thick\-fluid;
+雄 > male\-of\-species;
+亿 > hundred\-million;
+固 > to\-become\-solid;
+黨 > political\-party;
+溪 > mountain\-stream;
+虞 > concerned\-about;
+嗚 > sound\-of\-crying;
+薇 > osmunda\-regalis;
+戏 > theatrical\-play;
+召 > imperial\-decree;
+収 > gather\-together;
+瑞 > felicitous\-omen;
+鬢 > hair\-on\-temples;
+僧 > buddhist\-priest;
+檜 > chinese\-cypress;
+檎 > small\-red\-apple;
+驅 > spur\-a\-horse\-on;
+臟 > internal\-organs;
+駈 > spur\-a\-horse\-on;
+駆 > spur\-a\-horse\-on;
+館 > public\-building;
+億 > hundred\-million;
+桧 > chinese\-cypress;
+脏 > internal\-organs;
+驱 > spur\-a\-horse\-on;
+圳 > furrow\-in\-field;
+繻 > fine\-silk\-guaze;
+孟 > first\-in\-series;
+縋 > climb\-down\-rope;
+閤 > small\-side\-door;
+斎 > vegetarian\-diet;
+盯 > rivet\-gaze\-upon;
+粟 > unhusked\-millet;
+籐 > climbing\-plants;
+掻 > scratch\-lightly;
+俘 > prisoner\-of\-war;
+挾 > clasp\-under\-arm;
+诊 > examine\-patient;
+媳 > daughter\-in\-law;
+宙 > time\-as\-concept;
+呜 > sound\-of\-crying;
+卜 > fortune\-telling;
+戲 > theatrical\-play;
+戯 > theatrical\-play;
+帖 > invitation\-card;
+逞 > indulge\-oneself;
+揪 > grasp\-with\-hand;
+仑 > logical\-reasons;
+浆 > any\-thick\-fluid;
+挟 > clasp\-under\-arm;
+煞 > malignant\-deity;
+斋 > vegetarian\-diet;
+鳌 > huge\-sea\-turtle;
+卦 > fortune\-telling;
+瞩 > watch\-carefully;
+疚 > chronic\-disease;
+蔓 > creeping\-plants;
+骏 > excellent\-horse;
+闽 > fujian\-province;
+袅 > curling\-upwards;
+辐 > spokes\-of\-wheel;
+琉 > sparkling\-stone;
+舜 > legendary\-ruler;
+轧 > crush\-by\-weight;
+滇 > yunnan\-province;
+鬓 > hair\-on\-temples;
+桓 > variety\-of\-tree;
+棠 > crab\-apple\-tree;
+吮 > suck\-with\-mouth;
+蜷 > creep\-like\-worm;
+枷 > cangue\-scaffold;
+羲 > ancient\-emperor;
+孚 > brood\-over\-eggs;
+骁 > excellent\-horse;
+皑 > brilliant\-white;
+缥 > light\-blue\-silk;
+诌 > play\-with\-words;
+泾 > name\-of\-a\-river;
+恣 > indulge\-oneself;
+觎 > desire\-strongly;
+玺 > imperial\-signet;
+卞 > to\-be\-impatient;
+辔 > bridle\-of\-horse;
+趔 > not\-progressing;
+徜 > walking\-and\-fro;
+荠 > water\-chestnuts;
+汞 > element\-mercury;
+畿 > imperial\-domain;
+舂 > grind\-in\-mortar;
+籴 > purchase\-grains;
+穰 > stalks\-of\-grain;
+缒 > climb\-down\-rope;
+嗄 > hoarse\-of\-voice;
+睥 > look\-askance\-at;
+渚 > small\-sand\-bank;
+砝 > balance\-weights;
+杼 > shuttle\-of\-loom;
+龃 > irregular\-teeth;
+勐 > imperial\-degree;
+矸 > a\-rock\-or\-cliff;
+痼 > chronic\-disease;
+蕨 > pteris\-aquilina;
+豉 > fermented\-beans;
+徭 > conscript\-labor;
+麈 > species\-of\-deer;
+蕤 > drooping\-leaves;
+麂 > species\-of\-deer;
+绡 > raw\-silk\-fabric;
+芨 > name\-of\-a\-plant;
+苣 > kind\-of\-lettuce;
+碛 > sand\-and\-gravel;
+莒 > hemp\-like\-plant;
+濉 > name\-of\-a\-river;
+萁 > kind\-of\-grasses;
+眄 > to\-look\-askance;
+囟 > top\-of\-the\-head;
+岣 > a\-hill\-in\-hunan;
+嗾 > to\-set\-a\-dog\-on;
+荜 > species\-of\-bean;
+糁 > a\-grain\-of\-rice;
+粝 > unpolished\-rice;
+裰 > to\-mend\-clothes;
+柰 > crab\-apple\-tree;
+薨 > death\-of\-prince;
+茑 > the\-convovulvus;
+翮 > stem\-of\-feather;
+艟 > ancient\-warship;
+鼯 > flying\-squirrel;
+砩 > name\-of\-a\-stone;
+炻 > a\-kind\-of\-china;
+檫 > sassafras\-tzumu;
+狴 > a\-kind\-of\-tapir;
+龑 > high\-and\-bright;
+齟 > irregular\-teeth;
+齋 > vegetarian\-diet;
+鼕 > rattle\-of\-drums;
+鼇 > huge\-sea\-turtle;
+鸓 > flying\-squirrel;
+鴒 > species\-of\-lark;
+鴂 > the\-tailor\-bird;
+鳻 > the\-wild\-pigeon;
+鳓 > chinese\-herring;
+鱡 > the\-cuttle\-fish;
+鱅 > a\-kind\-of\-tench;
+鰳 > chinese\-herring;
+鰲 > huge\-sea\-turtle;
+魰 > the\-flying\-fish;
+髾 > tail\-of\-a\-comet;
+髴 > disheveled\-hair;
+驵 > excellent\-horse;
+驍 > excellent\-horse;
+騘 > a\-piebald\-horse;
+駿 > excellent\-horse;
+駔 > excellent\-horse;
+饇 > to\-eat\-too\-much;
+颻 > floating\-in\-air;
+颮 > storm\-whirlwind;
+顖 > top\-of\-the\-head;
+韞 > an\-orange\-color;
+鞴 > saddle\-up\-horse;
+靸 > a\-child''s\-shoes;
+雱 > snowing\-heavily;
+閩 > fujian\-province;
+鎤 > sound\-of\-a\-bell;
+銾 > element\-mercury;
+醾 > unfiltered\-wine;
+鄹 > name\-of\-a\-state;
+轡 > bridle\-of\-horse;
+輻 > spokes\-of\-wheel;
+軋 > crush\-by\-weight;
+躀 > to\-stumble\-over;
+趮 > easily\-provoked;
+謅 > play\-with\-words;
+諡 > posthumous\-name;
+訒 > hesitate\-to\-say;
+覦 > desire\-strongly;
+襼 > ''kimono''\-sleeve;
+襌 > unlined\-garment;
+褧 > unlined\-clothes;
+褝 > unlined\-garment;
+裊 > curling\-upwards;
+螚 > eristalis\-tenax;
+藶 > a\-kind\-of\-plant;
+薺 > water\-chestnuts;
+蕢 > edible\-amaranth;
+蕍 > alisma\-plantags;
+蔾 > kind\-of\-bramble;
+蔦 > the\-convovulvus;
+蓽 > species\-of\-bean;
+蒨 > lush\-vegetation;
+蒓 > an\-edible\-water;
+蒉 > edible\-amaranth;
+葑 > the\-rape\-turnip;
+萕 > water\-chestnuts;
+苈 > a\-kind\-of\-plant;
+艅 > a\-despatch\-boat;
+臓 > internal\-organs;
+腢 > the\-collar\-bone;
+罿 > net\-catch\-birds;
+縹 > light\-blue\-silk;
+綃 > raw\-silk\-fabric;
+絍 > to\-lay\-the\-warp;
+絅 > unlined\-garment;
+糴 > purchase\-grains;
+糲 > unpolished\-rice;
+籘 > climbing\-plants;
+簔 > a\-coat\-raincoat;
+簑 > a\-coat\-raincoat;
+篰 > a\-bamboo\-basket;
+穣 > stalks\-of\-grain;
+穄 > panicled\-millet;
+禋 > offer\-sacrifice;
+磪 > a\-high\-mountain;
+磧 > sand\-and\-gravel;
+磎 > mountain\-stream;
+矚 > watch\-carefully;
+皚 > brilliant\-white;
+瘈 > prolonged\-fever;
+瘃 > sores\-from\-cold;
+痾 > chronic\-illness;
+痵 > a\-heart\-symptom;
+痮 > a\-swelled\-belly;
+痠 > aching\-of\-limbs;
+痁 > chronic\-malaria;
+疢 > aching\-of\-limbs;
+畬 > reclaimed\-field;
+甤 > drooping\-leaves;
+璽 > imperial\-signet;
+琭 > jade\-like\-stone;
+珧 > mother\-of\-pearl;
+珇 > carving\-on\-jade;
+玟 > streaks\-in\-jade;
+獱 > a\-kind\-of\-otter;
+狫 > name\-of\-a\-tribe;
+牄 > to\-walk\-rapidly;
+熓 > the\-bank\-a\-fire;
+焵 > to\-temper\-steel;
+瀵 > name\-of\-a\-river;
+瀞 > pool\-in\-a\-river;
+潙 > river\-in\-shanxi;
+漵 > name\-of\-a\-river;
+滎 > county\-in\-henan;
+溤 > name\-of\-a\-river;
+渓 > mountain\-stream;
+淓 > name\-of\-a\-river;
+涇 > name\-of\-a\-river;
+泩 > rising\-of\-water;
+沚 > islet\-in\-stream;
+沘 > name\-of\-a\-river;
+榡 > quercus\-dentata;
+椺 > beam\-of\-a\-house;
+柎 > calyx\-of\-flower;
+柁 > large\-tie\-beams;
+枬 > an\-even\-grained;
+朣 > the\-rising\-moon;
+摻 > a\-delicate\-hand;
+揫 > grasp\-with\-hand;
+戱 > theatrical\-play;
+戄 > to\-be\-in\-awe\-of;
+忓 > concerned\-about;
+徬 > to\-wander\-about;
+弴 > red\-lacquer\-bow;
+巹 > nuptial\-winecup;
+嵎 > mountain\-recess;
+峞 > high\-and\-uneven;
+夲 > advance\-quickly;
+坴 > a\-clod\-of\-earth;
+喣 > to\-breathe\-upon;
+唲 > forced\-laughter;
+厜 > a\-mountain\-peak;
+匉 > noise\-of\-waters;
+匄 > to\-beg\-for\-alms;
+勅 > imperial\-degree;
+劘 > make\-into\-mince;
+劖 > make\-into\-mince;
+傽 > terror\-stricken;
+侖 > logical\-reasons;
+佔 > occupy\-by\-force;
+乸 > feminine\-suffix;
+䶡 > sound\-of\-biting;
+䶎 > sound\-of\-breath;
+䵛 > panicled\-millet;
+䵖 > panicled\-millet;
+䴾 > to\-grind\-barley;
+䴮 > cakes\-pf\-leaven;
+䴎 > flying\-squirrel;
+䲾 > the\-tailor\-bird;
+䯄 > a\-piebalk\-horse;
+䮽 > bit\-for\-a\-horse;
+䮵 > name\-of\-a\-horse;
+䮱 > a\-kind\-of\-beast;
+䮰 > a\-kind\-of\-beast;
+䮬 > name\-of\-a\-horse;
+䮨 > a\-piebald\-horse;
+䮧 > long\-hair\-horse;
+䮢 > a\-walking\-horse;
+䮞 > a\-piebald\-horse;
+䮙 > name\-of\-a\-horse;
+䮖 > name\-of\-a\-horse;
+䮓 > a\-walking\-horse;
+䮒 > name\-of\-a\-horse;
+䮏 > name\-of\-a\-horse;
+䮎 > a\-running\-horse;
+䮋 > name\-of\-a\-horse;
+䮊 > name\-of\-a\-horse;
+䭼 > dark\-blue\-horse;
+䭶 > dark\-blue\-horse;
+䬫 > clarfied\-butter;
+䬁 > a\-light\-cyclone;
+䪮 > beautiful\-sound;
+䪕 > to\-wrap\-or\-band;
+䩹 > to\-repair\-shoes;
+䩒 > dressed\-leather;
+䩄 > to\-face\-to\-face;
+䨦 > snowing\-heavily;
+䨢 > a\-passing\-cloud;
+䨖 > to\-stop\-raining;
+䨑 > to\-stop\-raining;
+䨀 > to\-lay\-in\-grain;
+䧯 > name\-of\-a\-place;
+䧮 > name\-of\-a\-place;
+䧝 > name\-of\-a\-place;
+䧌 > name\-of\-a\-place;
+䧋 > name\-of\-a\-place;
+䧃 > name\-of\-a\-place;
+䦻 > name\-of\-a\-place;
+䦫 > inside\-the\-door;
+䦠 > name\-of\-a\-river;
+䥗 > a\-branding\-iron;
+䤱 > a\-solemn\-pledge;
+䣶 > unstrained\-wine;
+䣳 > unstrained\-wine;
+䣓 > name\-of\-a\-state;
+䣐 > name\-of\-a\-place;
+䣋 > name\-of\-a\-place;
+䣊 > name\-of\-a\-place;
+䣇 > name\-of\-a\-place;
+䢻 > name\-of\-a\-place;
+䢴 > name\-of\-a\-place;
+䢳 > name\-of\-a\-place;
+䢦 > to\-lead\-the\-way;
+䢖 > to\-be\-scattered;
+䢁 > tire\-of\-a\-wheel;
+䡻 > shake\-of\-a\-cart;
+䡨 > connected\-carts;
+䡓 > shake\-of\-a\-cart;
+䡐 > to\-move\-swiftly;
+䠵 > to\-wear\-clothes;
+䠨 > walking\-rapidly;
+䟛 > walking\-rapidly;
+䟑 > walking\-rapidly;
+䞷 > walking\-rapidly;
+䞶 > walking\-rapidly;
+䞰 > walking\-rapidly;
+䞭 > walking\-rapidly;
+䞬 > to\-pass\-through;
+䞪 > walking\-rapidly;
+䝯 > to\-change\-hands;
+䝐 > a\-castrated\-hog;
+䜾 > fermented\-beans;
+䜻 > fermented\-beans;
+䜵 > fermented\-beans;
+䜄 > slow\-on\-talking;
+䛵 > to\-teach\-orally;
+䛟 > wild\-statements;
+䛔 > to\-hold\-in\-hand;
+䚦 > slanted\-corners;
+䚥 > to\-adjust\-a\-bow;
+䙻 > to\-steal\-a\-look;
+䙨 > to\-wrap\-or\-bind;
+䙝 > under\-garrments;
+䗾 > corbicula\-leana;
+䖼 > the\-dung\-beetle;
+䖙 > a\-resting\-tiger;
+䖉 > to\-roar\-or\-howl;
+䕷 > a\-kind\-of\-plant;
+䕙 > to\-set\-in\-order;
+䕉 > a\-kind\-of\-plant;
+䔧 > a\-kind\-of\-plant;
+䔇 > a\-kind\-of\-plant;
+䓶 > a\-kind\-of\-plant;
+䓞 > a\-kind\-of\-plant;
+䓘 > a\-kind\-of\-plant;
+䓈 > a\-kind\-of\-plant;
+䒷 > a\-kind\-of\-plant;
+䒒 > name\-of\-a\-plant;
+䒌 > dark\-blue\-color;
+䐜 > a\-swelled\-belly;
+䏲 > protruded\-bones;
+䎳 > lose\-of\-the\-ear;
+䎉 > to\-walk\-swiftly;
+䌾 > to\-lay\-the\-warp;
+䋷 > a\-kind\-of\-thick;
+䋕 > to\-lay\-the\-warp;
+䊵 > young\-and\-small;
+䊗 > a\-kind\-of\-grain;
+䊉 > preserved\-fruit;
+䉧 > sound\-of\-bamboo;
+䆂 > a\-kind\-of\-grain;
+䅷 > an\-ear\-of\-grain;
+䅰 > a\-kind\-of\-grass;
+䅡 > a\-kind\-of\-grass;
+䅠 > a\-kind\-of\-grass;
+䅞 > stalks\-of\-grain;
+䅋 > a\-kind\-of\-grain;
+䅂 > a\-kind\-of\-grain;
+䄱 > a\-kind\-of\-grain;
+䄮 > dark\-rice\-plant;
+䄧 > a\-kind\-of\-grain;
+䄕 > god\-of\-the\-land;
+䃷 > a\-kind\-of\-stone;
+䃵 > a\-kind\-of\-stone;
+䃞 > a\-kind\-of\-stone;
+䃒 > poor\-and\-barren;
+䂭 > name\-of\-a\-place;
+䂚 > a\-kind\-of\-stone;
+䁴 > keep\-on\-looking;
+䁳 > to\-lose\-one\-eye;
+䀩 > to\-look\-askance;
+䀎 > to\-look\-askance;
+䀉 > food\-containers;
+㿱 > dry\-and\-decayed;
+㾩 > malignant\-boils;
+㽽 > chronic\-disease;
+㽧 > name\-of\-a\-place;
+㼕 > pulp\-of\-a\-melon;
+㼔 > a\-kind\-of\-melon;
+㼑 > pulp\-of\-a\-melon;
+㼍 > pulp\-of\-a\-melon;
+㼊 > a\-kind\-of\-melon;
+㼂 > a\-crack\-in\-jade;
+㻸 > jade\-like\-stone;
+㻷 > name\-of\-a\-place;
+㻍 > name\-of\-a\-sword;
+㺤 > a\-kind\-of\-beast;
+㺡 > a\-kind\-of\-beast;
+㺟 > a\-kind\-of\-beast;
+㺔 > a\-kind\-of\-beast;
+㺍 > a\-kind\-of\-otter;
+㺌 > endless\-barking;
+㺄 > a\-kind\-of\-beast;
+㺁 > a\-kind\-of\-beast;
+㹧 > fox\-like\-animal;
+㸱 > hornless\-cattle;
+㸰 > hornless\-cattle;
+㸩 > to\-desist\-an\-ox;
+㸑 > a\-cooking\-stove;
+㷍 > a\-chemical\-term;
+㶛 > name\-of\-a\-river;
+㵲 > name\-of\-a\-river;
+㵧 > name\-of\-a\-river;
+㵑 > name\-of\-a\-river;
+㵂 > name\-of\-a\-river;
+㴪 > name\-of\-a\-river;
+㳿 > rolling\-billows;
+㳾 > name\-of\-a\-river;
+㳸 > name\-of\-a\-river;
+㳷 > dark\-blue\-color;
+㳶 > name\-of\-a\-river;
+㳵 > name\-of\-a\-river;
+㳡 > name\-of\-a\-river;
+㳗 > bank\-of\-a\-river;
+㳖 > name\-of\-a\-river;
+㲼 > name\-of\-a\-river;
+㲔 > woolen\-textiles;
+㲎 > woolen\-textiles;
+㲍 > woolen\-textiles;
+㱎 > cannot\-be\-known;
+㰬 > shortwindedness;
+㰗 > a\-kind\-of\-maple;
+㰈 > nice\-and\-pretty;
+㯱 > an\-enlarged\-bag;
+㯤 > the\-jujube\-tree;
+㯔 > to\-hull\-heavily;
+㮡 > to\-light\-a\-fire;
+㭤 > the\-convolvulus;
+㫠 > a\-kind\-of\-water;
+㪫 > wise\-and\-clever;
+館 > public\-building;
+輻 > spokes\-of\-wheel;
+㧎 > forked\-branches;
+琉 > sparkling\-stone;
+㥞 > to\-think\-deeply;
+㥛 > with\-expedition;
+㢞 > rooms\-connected;
+㢍 > a\-long\-verabdah;
+㡲 > tiles\-on\-a\-roof;
+㡀 > ragged\-clothing;
+㠈 > name\-of\-a\-place;
+㠂 > name\-of\-a\-place;
+㟔 > steep\-and\-lofty;
+㟏 > steep\-and\-lofty;
+㝥 > have\-a\-nighmare;
+㝅 > to\-give\-suck\-to;
+㜲 > to\-have\-surplus;
+㛰 > to\-marry\-a\-wife;
+㚦 > a\-charming\-girl;
+㙼 > a\-military\-wall;
+㙸 > a\-clod\-of\-earth;
+㙗 > a\-lump\-of\-earth;
+㘺 > cultivated\-land;
+㘵 > name\-of\-a\-place;
+㗿 > to\-laugh\-loudly;
+㕲 > to\-gag\-or\-bribe;
+㕘 > to\-take\-part\-in;
+㒟 > with\-a\-charming;
+㐽 > name\-of\-a\-place;
+躅 > walk\-carefully;
+巴 > greatly\-desire;
+期 > period\-of\-time;
+司 > take\-charge\-of;
+甥 > sister''s\-child;
+屏 > folding\-screen;
+狐 > species\-of\-fox;
+汉 > chinese\-people;
+妹 > younger\-sister;
+企 > plan\-a\-project;
+襖 > outer\-garments;
+壁 > partition\-wall;
+韦 > tanned\-leather;
+潰 > flooding\-river;
+珠 > precious\-stone;
+锋 > point\-of\-spear;
+俗 > social\-customs;
+檐 > eaves\-of\-house;
+骑 > ride\-horseback;
+函 > correspondence;
+魏 > kingdom\-of\-wei;
+枚 > stalk\-of\-shrub;
+仲 > middle\-brother;
+琳 > beautiful\-jade;
+凑 > piece\-together;
+郁 > sweet\-smelling;
+芯 > pith\-from\-rush;
+縞 > white\-raw\-silk;
+旬 > ten\-day\-period;
+綺 > fine\-thin\-silk;
+妨 > interfere\-with;
+骄 > spirited\-horse;
+簷 > eaves\-of\-house;
+掴 > box\-one''s\-ears;
+嗯 > final\-particle;
+岭 > mountain\-ridge;
+湘 > hunan\-province;
+銃 > ancient\-weapon;
+溃 > flooding\-river;
+铮 > clanging\-sound;
+莹 > luster\-of\-gems;
+僻 > out\-of\-the\-way;
+绮 > fine\-thin\-silk;
+渺 > endlessly\-long;
+佣 > commission\-fee;
+咯 > final\-particle;
+呛 > choke\-by\-smoke;
+凰 > female\-phoenix;
+闺 > small\-entrance;
+缀 > patch\-together;
+袄 > outer\-garments;
+璋 > jade\-plaything;
+拴 > bind\-with\-rope;
+秧 > rice\-seedlings;
+蕃 > foreign\-things;
+鄂 > hubei\-province;
+棱 > squared\-timber;
+梗 > stem\-of\-flower;
+菱 > water\-chestnut;
+镑 > pound\-sterling;
+栩 > species\-of\-oak;
+唷 > final\-particle;
+璞 > unpolished\-gem;
+雯 > cloud\-patterns;
+讷 > slow\-of\-speech;
+璇 > beautiful\-jade;
+狰 > fierce\-looking;
+峦 > mountain\-range;
+湃 > sound\-of\-waves;
+娣 > younger\-sister;
+蝗 > kind\-of\-locust;
+皖 > anhui\-province;
+酋 > chief\-of\-tribe;
+壑 > bed\-of\-torrent;
+糯 > glutinous\-rice;
+稷 > god\-of\-cereals;
+塾 > village\-school;
+狩 > winter\-hunting;
+戍 > defend\-borders;
+璀 > lustre\-of\-gems;
+牍 > writing\-tablet;
+镌 > engraving\-tool;
+饯 > farewell\-party;
+鹂 > chinese\-oriole;
+囡 > one''s\-daughter;
+溟 > drizzling\-rain;
+锏 > kind\-of\-rapier;
+屙 > to\-ease\-nature;
+琨 > beautiful\-jade;
+玳 > tortoise\-shell;
+瑭 > a\-kind\-of\-jade;
+杈 > fork\-of\-a\-tree;
+匐 > fall\-prostrate;
+砣 > a\-stone\-roller;
+铢 > unit\-of\-weight;
+骈 > team\-of\-horses;
+噱 > laugh\-heartily;
+铳 > ancient\-weapon;
+盱 > wide\-open\-eyes;
+耄 > elderly\-person;
+榔 > betel\-nut\-tree;
+诤 > to\-expostulate;
+蝮 > venomous\-snake;
+颍 > river\-in\-anhui;
+楝 > melia\-japonica;
+蝼 > a\-mole\-cricket;
+荪 > aromatic\-grass;
+娌 > brother''s\-wife;
+缟 > white\-raw\-silk;
+晷 > shadows\-of\-sun;
+嗵 > used\-for\-sound;
+踅 > to\-walk\-around;
+揆 > prime\-minister;
+猕 > macacus\-monkey;
+厝 > cut\-or\-engrave;
+葚 > mulberry\-fruit;
+耒 > handle\-of\-plow;
+嘞 > final\-particle;
+錾 > engraving\-tool;
+珙 > precious\-stone;
+荸 > water\-chestnut;
+俅 > ornamental\-cap;
+菽 > beans\-and\-peas;
+鞯 > saddle\-blanket;
+鼐 > incense\-tripod;
+谰 > accuse\-falsely;
+骱 > joint\-of\-bones;
+謦 > t\-speak\-softly;
+磴 > steps\-on\-ledge;
+婺 > name\-of\-a\-star;
+堍 > side\-of\-bridge;
+桫 > horse\-chestnut;
+漶 > indecipherable;
+孥 > one''s\-children;
+溱 > river\-in\-henan;
+庠 > village\-school;
+黥 > tattooing\-face;
+躐 > to\-stride\-over;
+蹯 > paws\-of\-animal;
+盍 > what\?\-why\-not\?;
+溆 > river\-in\-hunan;
+磲 > tridacna\-gigas;
+昝 > a\-dual\-pronoun;
+柽 > type\-of\-willow;
+缬 > patterned\-silk;
+驺 > mounted\-escort;
+阊 > gate\-of\-heaven;
+荩 > a\-kind\-of\-weed;
+芎 > a\-kind\-of\-herb;
+鋈 > silver\-plating;
+龅 > teeth\-protrude;
+晡 > late\-afternoon;
+檠 > stand\-for\-lamp;
+逭 > to\-escape\-from;
+鸝 > chinese\-oriole;
+鸎 > the\-mango\-bird;
+鶗 > a\-kind\-of\-hawk;
+鮧 > the\-sheat\-fish;
+鬘 > beautiful\-hair;
+鬗 > head\-ornaments;
+髆 > shoulder\-blade;
+驕 > spirited\-horse;
+騶 > mounted\-escort;
+騎 > ride\-horseback;
+騌 > a\-horse''s\-mane;
+騈 > team\-of\-horses;
+駢 > team\-of\-horses;
+餡 > pastry\-filling;
+餞 > farewell\-party;
+餗 > food\-in\-tripod;
+韋 > tanned\-leather;
+韉 > saddle\-blanket;
+霡 > drizzling\-rain;
+閶 > gate\-of\-heaven;
+閨 > small\-entrance;
+锪 > a\-kind\-of\-tool;
+鐫 > engraving\-tool;
+鐧 > kind\-of\-rapier;
+鏴 > to\-plug\-a\-hole;
+鏨 > engraving\-tool;
+鎩 > moult\-samarium;
+鎊 > pound\-sterling;
+鍆 > md\-mendelevium;
+錚 > clanging\-sound;
+鋩 > point\-of\-sword;
+鋒 > point\-of\-spear;
+鋃 > lock\-lanthanum;
+銖 > unit\-of\-weight;
+釯 > point\-of\-sword;
+逩 > to\-run\-quickly;
+輶 > light\-carriage;
+蹜 > walk\-carefully;
+趹 > kick\-with\-hoof;
+豣 > pig\-of\-3\-years;
+豜 > pig\-of\-3\-years;
+豖 > a\-shackled\-pig;
+讕 > accuse\-falsely;
+讅 > know\-in\-detail;
+諍 > to\-expostulate;
+詨 > kind\-of\-cicada;
+訥 > slow\-of\-speech;
+褉 > short\-garments;
+衂 > to\-be\-defeated;
+蠂 > podisma\-mikado;
+蟳 > a\-kind\-of\-crab;
+蟭 > very\-small\-bug;
+螿 > kind\-of\-cicada;
+螻 > a\-mole\-cricket;
+螬 > grubs\-in\-fruit;
+蜎 > mosquito\-larva;
+虀 > minced\-pickles;
+藎 > a\-kind\-of\-weed;
+薳 > name\-of\-a\-herb;
+薘 > plantago\-major;
+蔆 > water\-chestnut;
+蓯 > medicinal\-herb;
+蓏 > fruit\-of\-plant;
+蓀 > aromatic\-grass;
+葥 > rubus\-palmatus;
+菎 > beautiful\-jade;
+茞 > fragrant\-plant;
+苁 > medicinal\-herb;
+芈 > bleat\-of\-sheep;
+脦 > used\-in\-''lede'';
+羋 > bleat\-of\-sheep;
+纈 > patterned\-silk;
+綴 > patch\-together;
+絜 > a\-marking\-line;
+紾 > turns\-or\-twist;
+糺 > to\-collaborate;
+籫 > bamboo\-utensil;
+筬 > reed\-of\-a\-loom;
+稭 > stalk\-of\-grain;
+稌 > glutinous\-rice;
+稈 > stalk\-of\-grain;
+砢 > pile\-of\-stones;
+矉 > an\-angry\-glare;
+睱 > to\-gaze\-slowly;
+睯 > to\-be\-agonized;
+眣 > prominent\-eyes;
+璸 > jade''s\-streaks;
+璵 > beautiful\-jade;
+璥 > a\-kind\-of\-jade;
+璢 > precious\-stone;
+璘 > luster\-of\-jade;
+璆 > beautiful\-jade;
+瑩 > lustre\-of\-gems;
+瑠 > precious\-stone;
+瑇 > tortoise\-shell;
+琁 > beautiful\-jade;
+珺 > beautiful\-jade;
+珦 > a\-kind\-of\-jade;
+珢 > precious\-stone;
+玥 > mysterious\-gem;
+獼 > macacus\-monkey;
+猙 > fierce\-looking;
+狨 > hapale\-jacchus;
+犨 > panting\-of\-cow;
+牘 > writing\-tablet;
+燉 > heat\-with\-fire;
+燀 > to\-make\-a\-fire;
+熉 > \(yellow\-color\);
+潕 > river\-in\-henan;
+潁 > river\-in\-anhui;
+溛 > to\-form\-hollow;
+湱 > sound\-of\-water;
+湊 > piece\-together;
+渢 > pleasant\-sound;
+涬 > watery\-expanse;
+洿 > stagnant\-water;
+泃 > river\-in\-henan;
+泂 > clear\-and\-deep;
+沷 > to\-remove\-evil;
+殭 > a\-stiff\-corpse;
+檖 > wild\-pear\-tree;
+檉 > type\-of\-willow;
+橿 > quercus\-glauca;
+榾 > pieces\-of\-wood;
+榠 > chinese\-quince;
+榖 > paper\-mulberry;
+椪 > machilus\-nanmu;
+棐 > species\-of\-yew;
+梊 > squeeze\-out\-of;
+柾 > straight\-grain;
+柟 > machilus\-nanmu;
+柃 > eurya\-japonica;
+曏 > once\-upon\-time;
+晥 > anhui\-province;
+晢 > light\-of\-stars;
+昰 > var\-of\-''to\-be'';
+攂 > to\-beat\-a\-drum;
+摴 > to\-stretch\-out;
+摑 > box\-one''s\-ears;
+幱 > official\-dress;
+巟 > a\-watery\-waste;
+巒 > mountain\-range;
+嶺 > mountain\-ridge;
+嵴 > mountain\-ridge;
+岺 > mountain\-ridge;
+屛 > folding\-screen;
+墚 > mountain\-range;
+塕 > a\-gust\-of\-wind;
+埇 > name\-of\-bridge;
+圅 > correspondence;
+噹 > sound\-of\-bells;
+嘓 > gurgling\-sound;
+嗆 > choke\-by\-smoke;
+喒 > a\-dual\-pronoun;
+啌 > animal\-disease;
+厃 > to\-look\-upward;
+卭 > high\.\-to\-raise;
+卂 > to\-fly\-rapidly;
+凾 > correspondence;
+伕 > common\-laborer;
+亇 > kwukyel\-hammer;
+䶔 > prominent\-gums;
+䶐 > to\-take\-breath;
+䶀 > sound\-of\-drums;
+䵾 > sound\-of\-drums;
+䵽 > sound\-of\-drums;
+䵶 > a\-kind\-of\-frog;
+䵌 > reddish\-yellow;
+䴴 > a\-kind\-of\-cake;
+䴯 > a\-kind\-of\-cake;
+䴩 > a\-kind\-of\-deer;
+䴢 > a\-kind\-of\-deer;
+䴘 > a\-kind\-of\-bird;
+䴐 > a\-kind\-of\-bird;
+䴆 > a\-kind\-of\-bird;
+䴄 > a\-kind\-of\-bird;
+䳿 > a\-kind\-of\-bird;
+䳸 > the\-wild\-goose;
+䳴 > a\-kind\-of\-bird;
+䳯 > a\-kind\-of\-bird;
+䳬 > a\-kind\-of\-bird;
+䳫 > a\-small\-pigeon;
+䳪 > a\-kind\-of\-bird;
+䳩 > a\-kind\-of\-bird;
+䳒 > a\-kind\-of\-bird;
+䲽 > a\-kind\-of\-bird;
+䲼 > a\-kind\-of\-bird;
+䲸 > a\-kind\-of\-bird;
+䲮 > a\-kind\-of\-bird;
+䲪 > a\-kind\-of\-bird;
+䲢 > a\-kind\-of\-fish;
+䲠 > a\-kind\-of\-fish;
+䲟 > a\-kind\-of\-fish;
+䲙 > a\-kind\-of\-fish;
+䲘 > a\-kind\-of\-fish;
+䲗 > a\-kind\-of\-fish;
+䲓 > a\-kind\-of\-fish;
+䲐 > a\-kind\-of\-fish;
+䲏 > a\-kind\-of\-fish;
+䲋 > a\-kind\-of\-fish;
+䲉 > a\-kind\-of\-fish;
+䲂 > a\-kind\-of\-fish;
+䲀 > a\-kind\-of\-fish;
+䱿 > a\-kind\-of\-fish;
+䱼 > a\-kind\-of\-fish;
+䱻 > a\-kind\-of\-fish;
+䱵 > a\-kind\-of\-fish;
+䱲 > a\-kind\-of\-fish;
+䱰 > a\-kind\-of\-fish;
+䱯 > a\-kind\-of\-fish;
+䱮 > a\-kind\-of\-fish;
+䱬 > a\-kind\-of\-fish;
+䱫 > a\-kind\-of\-fish;
+䱨 > a\-kind\-of\-fish;
+䱥 > a\-kind\-of\-fish;
+䱤 > a\-kind\-of\-fish;
+䱢 > a\-kind\-of\-fish;
+䱠 > a\-kind\-of\-fish;
+䱞 > a\-kind\-of\-fish;
+䱛 > a\-kind\-of\-fish;
+䱚 > a\-kind\-of\-fish;
+䱓 > a\-kind\-of\-fish;
+䰾 > a\-kind\-of\-fish;
+䰹 > the\-cuttlefish;
+䰴 > a\-wafting\-fish;
+䰲 > the\-sheat\-fish;
+䰡 > a\-fierce\-ghost;
+䯛 > the\-knee\-bones;
+䮹 > an\-angry\-horse;
+䮮 > a\-kind\-of\-mule;
+䭻 > a\-swifty\-horse;
+䭳 > a\-kind\-of\-herb;
+䭲 > sweet\-smelling;
+䭭 > the\-eldest\-son;
+䭩 > to\-feed\-a\-baby;
+䭧 > to\-feed\-a\-baby;
+䭁 > stinking\-smell;
+䬺 > same\-as\-u\+4b50;
+䬘 > the\-wind\-blows;
+䬒 > to\-blow\-chilly;
+䬌 > the\-wind\-blows;
+䫫 > human\-skeleton;
+䪼 > the\-cheek\-bone;
+䪈 > a\-leather\-belt;
+䩐 > tie\-it\-tightly;
+䨫 > drizzling\-rain;
+䨥 > a\-pouring\-rain;
+䨜 > a\-pouring\-rain;
+䧾 > a\-kind\-of\-bird;
+䧷 > a\-kind\-of\-bird;
+䧧 > high\-mountains;
+䦺 > name\-of\-a\-hill;
+䦤 > seed\-of\-grains;
+䦑 > without\-a\-door;
+䦏 > wing\-of\-a\-door;
+䥢 > sound\-of\-drums;
+䤖 > a\-kind\-of\-wine;
+䣥 > a\-kind\-of\-wine;
+䣎 > name\-of\-county;
+䢨 > to\-walk\-slowly;
+䡾 > high\-cartloads;
+䡲 > rim\-of\-a\-wheel;
+䡗 > rim\-of\-a\-wheel;
+䡉 > a\-kind\-of\-cart;
+䟓 > to\-walk\-slowly;
+䝸 > a\-kind\-of\-tool;
+䜽 > a\-kind\-of\-bean;
+䜼 > a\-kind\-of\-bean;
+䜜 > words\-of\-anger;
+䛠 > unable\-to\-talk;
+䚖 > mountain\-deity;
+䚄 > to\-make\-fun\-of;
+䙳 > spiting\-flames;
+䙦 > upper\-garments;
+䘢 > old\-and\-shabby;
+䘃 > a\-kind\-of\-crab;
+䗷 > a\-kind\-of\-wasp;
+䗪 > a\-kind\-of\-worm;
+䗜 > a\-mole\-cricket;
+䗚 > eggs\-of\-mantis;
+䗒 > a\-kind\-of\-clam;
+䗀 > a\-kind\-of\-clam;
+䖰 > a\-kind\-of\-gnat;
+䖆 > medicinal\-herb;
+䕚 > a\-straw\-basket;
+䔕 > chicken\-breast;
+䔋 > a\-kind\-of\-tree;
+䔆 > a\-kind\-of\-bean;
+䔂 > vegetable\-soup;
+䓡 > a\-medical\-herb;
+䒻 > a\-medical\-herb;
+䒲 > a\-medical\-herb;
+䒓 > to\-do\-violence;
+䒇 > name\-of\-a\-ship;
+䒆 > name\-of\-a\-ship;
+䒅 > beautiful\-eyes;
+䑶 > sprightly\-boat;
+䑫 > tools\-for\-boat;
+䑣 > a\-sailing\-boat;
+䑜 > to\-eat\-heavily;
+䐕 > oil\-and\-grease;
+䐍 > excellent\-food;
+䍡 > small\-fish\-net;
+䍑 > a\-net\-or\-snare;
+䍐 > a\-net\-or\-snare;
+䍍 > unburnt\-bricks;
+䌵 > lapel\-and\-belt;
+䌰 > connected\-silk;
+䌥 > to\-sew\-clothes;
+䌡 > to\-wind\-around;
+䋽 > hempen\-sandals;
+䋯 > crucial\-points;
+䋢 > to\-twist\-ropes;
+䋜 > crucial\-points;
+䊼 > measuring\-unit;
+䊨 > storing\-grains;
+䈷 > a\-bamboo\-fence;
+䈚 > a\-bamboo\-shoot;
+䇫 > bamboo\-splints;
+䇅 > to\-stand\-still;
+䅥 > ripening\-crops;
+䅖 > sweet\-smelling;
+䃹 > jade\-and\-stone;
+䃸 > electric\-light;
+䃱 > electric\-light;
+䃡 > a\-small\-pebble;
+䃏 > a\-kind\-of\-rock;
+䃌 > rocky\-mountain;
+䂛 > a\-kind\-of\-rock;
+䂌 > a\-short\-weapon;
+䁤 > moistened\-eyes;
+䁏 > farsightedness;
+䀺 > squinting\-eyes;
+䀥 > beautiful\-eyes;
+㽦 > reclaimed\-land;
+㽥 > fertile\-fields;
+㽋 > a\-kind\-of\-tile;
+㽄 > an\-earthen\-jar;
+㻿 > a\-kind\-of\-jade;
+㻺 > a\-kind\-of\-jade;
+㻵 > a\-kind\-of\-jade;
+㻯 > a\-kind\-of\-jade;
+㻬 > a\-kind\-of\-jade;
+㻧 > a\-kind\-of\-jade;
+㻟 > a\-kind\-of\-jade;
+㻝 > a\-kind\-of\-jade;
+㻖 > a\-kind\-of\-jade;
+㻕 > a\-kind\-of\-jade;
+㻔 > a\-kind\-of\-jade;
+㻑 > a\-kind\-of\-jade;
+㻋 > a\-kind\-of\-jade;
+㻂 > a\-kind\-of\-jade;
+㺹 > a\-kind\-of\-jade;
+㺸 > a\-kind\-of\-jade;
+㺷 > a\-kind\-of\-jade;
+㺱 > a\-kind\-of\-jade;
+㺰 > a\-kind\-of\-jade;
+㺭 > a\-kind\-of\-jade;
+㺫 > a\-kind\-of\-jade;
+㸫 > castrated\-bull;
+㸤 > broken\-leather;
+㸊 > fierce\-of\-fire;
+㶠 > water\-currents;
+㶞 > water\-currents;
+㵥 > water\-currents;
+㵘 > great\-currents;
+㴸 > swift\-currents;
+㴙 > water\-dripping;
+㳃 > to\-temper\-iron;
+㲏 > flying\-feather;
+㱧 > stinking\-smell;
+㱏 > the\-right\-side;
+㰚 > a\-bamboo\-fence;
+㰘 > a\-kind\-of\-tree;
+㰊 > a\-kind\-of\-tree;
+㰂 > a\-kind\-of\-tree;
+㰀 > a\-kind\-of\-tree;
+㯞 > a\-kind\-of\-tree;
+㯚 > a\-kind\-of\-tree;
+㯗 > a\-kind\-of\-tree;
+㮋 > a\-kind\-of\-tree;
+㮅 > a\-kind\-of\-tree;
+㭻 > the\-crab\-apple;
+㭭 > a\-kind\-of\-tree;
+㭜 > a\-kind\-of\-tree;
+㭚 > a\-kind\-of\-tree;
+㭔 > a\-kind\-of\-tree;
+㭑 > a\-kind\-of\-tree;
+㭏 > a\-kind\-of\-wood;
+㭇 > a\-kind\-of\-tree;
+㭄 > a\-king\-of\-tree;
+㭁 > a\-kind\-of\-tree;
+㬋 > name\-of\-a\-star;
+㫏 > a\-kind\-of\-flag;
+㫂 > to\-chop\-or\-cut;
+㪇 > to\-disseminate;
+㨇 > to\-sweep\-clean;
+璘 > luster\-of\-jade;
+瑩 > lustre\-of\-gems;
+嶺 > mountain\-ridge;
+㦍 > to\-be\-startled;
+㥺 > to\-blow\-a\-fire;
+菱 > water\-chestnut;
+㥉 > a\-little\-angry;
+㥇 > to\-be\-perverse;
+㤾 > not\-doing\-well;
+㤖 > to\-have\-wisdom;
+㣦 > a\-winding\-path;
+㢟 > to\-walk\-slowly;
+㡜 > ragged\-clothes;
+㠨 > misty\-mountain;
+㠡 > high\-and\-lofty;
+㠚 > high\-and\-lofty;
+㟿 > high\-and\-steep;
+㟛 > high\-and\-steep;
+㞩 > mountain\-vapor;
+㞜 > hempen\-sandals;
+㞗 > the\-male\-organ;
+㞌 > to\-be\-pregnant;
+㞊 > unable\-to\-walk;
+㝰 > unable\-to\-meet;
+㝛 > ahalting\-place;
+㜤 > fooling\-around;
+㜑 > an\-older\-woman;
+㛩 > sisters\-in\-law;
+㛂 > weak\-and\-small;
+㚺 > to\-be\-pregnant;
+㚲 > small\-and\-weak;
+㚃 > to\-take\-a\-hint;
+㙷 > low\-lying\-area;
+㗊 > public\-opinion;
+㖾 > to\-beat\-a\-drum;
+㖢 > to\-reject\-food;
+㕬 > public\-opinion;
+㕤 > a\-proud\-temper;
+㔙 > great\-strength;
+㔁 > a\-kind\-of\-tool;
+㒛 > to\-stand\-alone;
+㒀 > do\-not\-fear\-to;
+经 > classic\-works;
+弟 > young\-brother;
+廻 > circle\-around;
+关 > frontier\-pass;
+帝 > supreme\-ruler;
+番 > to\-take\-turns;
+略 > approximately;
+共 > together\-with;
+义 > right\-conduct;
+嫂 > sister\-in\-law;
+哥 > elder\-brother;
+婦 > married\-women;
+訣 > take\-leave\-of;
+族 > a\-family\-clan;
+奪 > take\-by\-force;
+兄 > elder\-brother;
+笔 > writing\-brush;
+袷 > lined\-garment;
+瀬 > swift\-current;
+妇 > married\-women;
+伯 > older\-brother;
+漲 > rise\-in\-price;
+礼 > social\-custom;
+嘩 > rushing\-sound;
+啣 > hold\-in\-mouth;
+泊 > anchor\-vessel;
+沿 > follow\-course;
+咄 > noise\-of\-rage;
+含 > hold\-in\-mouth;
+夺 > take\-by\-force;
+菊 > chrysanthemum;
+岳 > mountain\-peak;
+匹 > bolt\-of\-cloth;
+颇 > lean\-one\-side;
+劫 > take\-by\-force;
+晨 > early\-morning;
+撞 > knock\-against;
+愈 > more\-and\-more;
+槇 > tip\-of\-a\-tree;
+駅 > relay\-station;
+饅 > steamed\-bread;
+炸 > to\-fry\-in\-oil;
+脈 > blood\-vessels;
+绪 > end\-of\-thread;
+飼 > raise\-animals;
+梓 > catalpa\-ovata;
+肌 > muscle\-tissue;
+佩 > belt\-ornament;
+署 > public\-office;
+搭 > join\-together;
+頗 > lean\-one\-side;
+栗 > chestnut\-tree;
+桑 > mulberry\-tree;
+脉 > blood\-vessels;
+義 > right\-conduct;
+鞄 > to\-work\-hides;
+杓 > handle\-of\-cup;
+佃 > tenant\-farmer;
+昆 > elder\-brother;
+贡 > offer\-tribute;
+拼 > join\-together;
+曇 > become\-cloudy;
+亙 > extend\-across;
+亘 > extend\-across;
+诞 > bear\-children;
+晴 > clear\-weather;
+涨 > rise\-in\-price;
+關 > frontier\-pass;
+緒 > end\-of\-thread;
+関 > frontier\-pass;
+塑 > model\-in\-clay;
+經 > classic\-works;
+経 > classic\-works;
+浦 > bank\-of\-river;
+翰 > writing\-brush;
+籔 > bamboo\-basket;
+辰 > early\-morning;
+慎 > act\-with\-care;
+莉 > white\-jasmine;
+捗 > make\-progress;
+筆 > writing\-brush;
+哗 > rushing\-sound;
+塌 > fall\-in\-ruins;
+竖 > perpendicular;
+禮 > social\-custom;
+陕 > mountain\-pass;
+惚 > absent\-minded;
+诀 > take\-leave\-of;
+淀 > shallow\-water;
+淘 > wash\-in\-sieve;
+瑰 > extraordinary;
+垫 > advance\-money;
+灶 > kitchen\-range;
+毓 > give\-birth\-to;
+咧 > stretch\-mouth;
+奎 > stride\-of\-man;
+洽 > to\-blend\-with;
+瑶 > precious\-jade;
+钰 > rare\-treasure;
+瑛 > luster\-of\-gem;
+馒 > steamed\-bread;
+饲 > raise\-animals;
+殉 > die\-for\-cause;
+衙 > public\-office;
+唬 > to\-intimidate;
+瘪 > shrivelled\-up;
+唆 > make\-mischief;
+岚 > mountain\-mist;
+桦 > type\-of\-birch;
+涟 > flowing\-water;
+唔 > hold\-in\-mouth;
+飕 > sound\-of\-wind;
+坷 > clod\-of\-earth;
+鑫 > used\-in\-names;
+笋 > bamboo\-shoots;
+荃 > aromatic\-herb;
+篓 > bamboo\-basket;
+馄 > dumpling\-soup;
+穹 > high\-and\-vast;
+弈 > chinese\-chess;
+聿 > writing\-brush;
+驮 > carry\-on\-back;
+箩 > bamboo\-basket;
+芥 > mustard\-plant;
+驿 > relay\-station;
+炜 > brilliant\-red;
+岜 > rock\-mountain;
+纫 > thread\-needle;
+桀 > chicken\-roost;
+噙 > hold\-in\-mouth;
+篝 > bamboo\-basket;
+拮 > laboring\-hard;
+茉 > white\-jasmine;
+纥 > inferior\-silk;
+昙 > become\-cloudy;
+忤 > insubordinate;
+鸾 > fabulous\-bird;
+嘁 > to\-be\-grieved;
+辎 > a\-supply\-cart;
+芫 > daphne\-genkwa;
+伧 > vulgar\-person;
+泠 > nice\-and\-cool;
+縻 > halter\-for\-ox;
+踽 > to\-walk\-alone;
+赭 > reddish\-brown;
+颀 > tall\-and\-slim;
+柘 > a\-thorny\-tree;
+谔 > honest\-speech;
+骓 > piebald\-horse;
+岫 > mountain\-peak;
+崧 > high\-mountain;
+酚 > carbolic\-acid;
+夤 > distant\-place;
+暌 > in\-opposition;
+濑 > swift\-current;
+怍 > to\-be\-ashamed;
+贽 > gift\-superior;
+毖 > guard\-against;
+迓 > to\-go\-to\-meet;
+毵 > long\-feathers;
+睚 > corner\-of\-eye;
+毽 > a\-shuttlecock;
+僳 > minority\-name;
+骐 > piebald\-horse;
+辏 > hubs\-of\-wheel;
+旆 > flag\-ornament;
+荇 > a\-water\-plant;
+卮 > measuring\-cup;
+髡 > to\-shear\-tree;
+鳜 > mandarin\-fish;
+鼍 > large\-reptile;
+笫 > planks\-of\-bed;
+缡 > a\-bridal\-veil;
+绨 > coarse\-pongee;
+芰 > water\-caltrop;
+魃 > drought\-demon;
+舳 > stern\-of\-ship;
+屦 > straw\-sandals;
+蓐 > straw\-bed\-mat;
+銎 > eye\-of\-an\-axe;
+醣 > carbohydrates;
+蛑 > a\-marine\-crab;
+椠 > wooden\-tablet;
+媸 > an\-ugly\-woman;
+馇 > stir\-and\-cook;
+甙 > sugar\-product;
+薤 > allium\-bakeri;
+塥 > dry\-clay\-lump;
+鼉 > large\-reptile;
+鸞 > fabulous\-bird;
+鵩 > owl\-like\-bird;
+鱖 > mandarin\-fish;
+髃 > shoulder\-bone;
+骪 > crooked\-bones;
+驛 > relay\-station;
+騏 > piebald\-horse;
+騅 > piebald\-horse;
+馱 > carry\-on\-back;
+馣 > fragrant\-odor;
+餧 > steamed\-bread;
+餛 > dumpling\-soup;
+餚 > prepared\-meat;
+颼 > sound\-of\-wind;
+頎 > tall\-and\-slim;
+鞮 > leather\-shoes;
+霝 > drops\-of\-rain;
+陝 > mountain\-pass;
+铖 > person''s\-name;
+錡 > a\-kind\-of\-pen;
+鋮 > person''s\-name;
+鈺 > rare\-treasure;
+鈄 > a\-wine\-flagon;
+釭 > tire\-of\-wheel;
+醨 > dregs\-of\-wine;
+辡 > recrimination;
+轏 > sleeping\-cart;
+輳 > hubs\-of\-wheel;
+輜 > a\-supply\-cart;
+跮 > hasty\-walking;
+贉 > earnest\-money;
+贄 > gift\-superior;
+賮 > farewell\-gift;
+貢 > offer\-tribute;
+讍 > honest\-speech;
+讆 > to\-exaggerate;
+謍 > humming\-sound;
+諤 > honest\-speech;
+諕 > to\-intimidate;
+覶 > to\-look\-about;
+覔 > to\-search\-for;
+襚 > grave\-clothes;
+裌 > lined\-garment;
+衇 > blood\-vessels;
+蠵 > large\-turtles;
+螾 > the\-earthworm;
+螥 > the\-house\-fly;
+螙 > grubs\-in\-wood;
+蛅 > a\-caterpillar;
+蚠 > person''s\-name;
+蘯 > to\-toss\-about;
+蔎 > thea\-sinensis;
+蓧 > bamboo\-basket;
+葽 > type\-of\-grain;
+菼 > rush\-or\-sedge;
+菺 > althaea\-rosea;
+菑 > to\-weed\-grass;
+莧 > edible\-greens;
+荈 > thea\-sinensis;
+茥 > rubus\-tokkura;
+苘 > indian\-mallow;
+脥 > pelvic\-cavity;
+胲 > hydroxylamine;
+罳 > wooden\-screen;
+缇 > reddish\-color;
+縭 > a\-bridal\-veil;
+緹 > reddish\-color;
+緖 > end\-of\-thread;
+綈 > coarse\-pongee;
+紉 > thread\-needle;
+紇 > inferior\-silk;
+糭 > rice\-dumpling;
+籾 > unhulled\-rice;
+籮 > bamboo\-basket;
+籜 > bamboo\-sheath;
+簍 > bamboo\-basket;
+箨 > bamboo\-sheath;
+笵 > a\-bamboo\-form;
+笭 > bamboo\-screen;
+竪 > perpendicular;
+砞 > to\-smash\-rock;
+矞 > bore\-with\-awl;
+盪 > to\-toss\-about;
+癟 > shrivelled\-up;
+畧 > approximately;
+瓌 > extraordinary;
+璟 > luster\-of\-gem;
+璂 > jade\-ornament;
+瑳 > luster\-of\-gem;
+瑤 > precious\-jade;
+琕 > type\-of\-pearl;
+珮 > jade\-ornament;
+獙 > die\-violently;
+牁 > mooring\-stake;
+熰 > great\-drought;
+煒 > brilliant\-red;
+瀨 > swift\-current;
+漣 > flowing\-water;
+浬 > nautical\-mile;
+洊 > flowing\-water;
+毿 > long\-feathers;
+欵 > to\-treat\-well;
+欓 > a\-cross\-piece;
+櫌 > a\-kind\-of\-hoe;
+檮 > block\-of\-wood;
+樺 > type\-of\-birch;
+槧 > wooden\-tablet;
+榌 > wooden\-ladder;
+楙 > name\-of\-plant;
+椛 > type\-of\-birch;
+梼 > block\-of\-wood;
+梹 > the\-areca\-nut;
+梎 > sickle\-handle;
+栰 > a\-bamboo\-raft;
+杮 > wood\-shavings;
+朩 > kwukyel\:\-rank;
+搢 > to\-stick\-into;
+掭 > to\-manipulate;
+挶 > hold\-in\-hands;
+拕 > to\-drag\-after;
+抃 > to\-clap\-hands;
+戺 > stone\-boarder;
+戹 > in\-difficulty;
+愼 > act\-with\-care;
+愪 > to\-be\-grieved;
+愡 > absent\-minded;
+怾 > mountain\-name;
+彽 > go\-to\-and\-fro;
+彲 > yellow\-dragon;
+彔 > to\-carve\-wood;
+巵 > measuring\-cup;
+巰 > an\-atom\-group;
+巯 > an\-atom\-group;
+巪 > person''s\-name;
+嶽 > mountain\-peak;
+嵐 > mountain\-mist;
+崌 > mountain\-name;
+峠 > mountain\-pass;
+峂 > name\-of\-place;
+峀 > mountain\-peak;
+岾 > mountain\-pass;
+屩 > straw\-sandals;
+屨 > straw\-sandals;
+寀 > feudal\-estate;
+媢 > be\-jealous\-of;
+墊 > advance\-money;
+塐 > model\-in\-clay;
+堺 > person''s\-name;
+垻 > an\-embankment;
+嚚 > argumentative;
+咡 > side\-of\-mouth;
+凟 > to\-be\-rude\-to;
+儹 > to\-accumulate;
+儲 > to\-save\-money;
+儛 > to\-skip\-about;
+傖 > vulgar\-person;
+傒 > personal\-name;
+偊 > to\-walk\-alone;
+侂 > to\-commission;
+乨 > the\-beginning;
+䶚 > decayed\-tooth;
+䶈 > a\-kind\-of\-rat;
+䶃 > a\-kind\-of\-rat;
+䵿 > a\-silent\-drum;
+䵁 > decayed\-dough;
+䴰 > a\-family\-name;
+䲺 > birds\-singing;
+䲅 > the\-globefish;
+䱸 > a\-family\-name;
+䱦 > the\-globefish;
+䱡 > the\-globefish;
+䰽 > the\-globefish;
+䰻 > to\-catch\-fish;
+䰱 > name\-of\-a\-god;
+䯅 > a\-swift\-horse;
+䯀 > a\-swift\-horse;
+䮈 > to\-go\-swiftly;
+䭿 > a\-swift\-horse;
+䭵 > a\-swift\-horse;
+䬟 > sound\-of\-wind;
+䫿 > a\-cool\-breeze;
+䫴 > weak\-and\-dull;
+䫁 > the\-first\-son;
+䪫 > ancient\-music;
+䪧 > ancient\-music;
+䪒 > leather\-pants;
+䩾 > herb\-medicine;
+䩤 > to\-lead\-an\-ox;
+䩣 > shoe\-cushions;
+䩞 > a\-saddle\-flap;
+䨎 > deep\-and\-dark;
+䧜 > an\-embankment;
+䧖 > a\-small\-mound;
+䦴 > open\-the\-door;
+䦳 > between\-steps;
+䦱 > open\-the\-door;
+䦣 > open\-the\-door;
+䦡 > a\-door\-keeper;
+䥩 > hooks\-to\-hang;
+䥚 > the\-beginning;
+䤵 > a\-tiny\-needle;
+䤔 > dregs\-of\-wine;
+䤎 > soybean\-sauce;
+䤃 > drunken\-sound;
+䣰 > to\-pool\-money;
+䢧 > to\-go\-forward;
+䢚 > a\-narrow\-path;
+䢃 > to\-administer;
+䡥 > a\-moving\-cart;
+䡆 > a\-moving\-cart;
+䟘 > to\-straighten;
+䟊 > short\-strides;
+䞁 > corresponding;
+䝶 > to\-levy\-taxes;
+䝬 > a\-wealthy\-man;
+䜕 > to\-exaggerate;
+䛾 > familiar\-with;
+䛐 > an\-expression;
+䚕 > to\-search\-out;
+䙹 > to\-vomit\-milk;
+䙥 > shiny\-dresses;
+䙢 > short\-t\-shirt;
+䙠 > short\-clothes;
+䙟 > heavy\-clothes;
+䙞 > woolen\-string;
+䙅 > the\-waistline;
+䗗 > the\-millipede;
+䗋 > a\-marine\-crab;
+䗃 > the\-millipede;
+䖩 > a\-kind\-of\-bee;
+䖑 > a\-white\-tiger;
+䖇 > fragrant\-herb;
+䕥 > herb\-medicine;
+䕖 > fragrant\-herb;
+䔞 > the\-beginning;
+䔜 > herb\-medicine;
+䔚 > herb\-medicine;
+䔖 > water\-caltrop;
+䔓 > herb\-medicine;
+䒥 > corresponding;
+䒗 > fragrant\-herb;
+䒎 > without\-color;
+䒍 > without\-color;
+䑲 > to\-row\-a\-boat;
+䑥 > a\-moving\-boat;
+䐲 > half\-raw\-meat;
+䐙 > the\-diaphragm;
+䏘 > a\-big\-abdomen;
+䏄 > not\-to\-listen;
+䍽 > a\-fierce\-goat;
+䍼 > salted\-mutton;
+䍪 > castrated\-ram;
+䍤 > to\-strain\-out;
+䌣 > to\-accumulate;
+䌙 > hank\-of\-ropes;
+䌅 > a\-thick\-ropes;
+䋦 > ravelled\-silk;
+䋝 > a\-throat\-band;
+䊽 > a\-fine\-thread;
+䊡 > steamed\-bread;
+䊔 > polished\-rice;
+䊄 > polished\-rice;
+䉰 > bamboo\-shoots;
+䉩 > a\-bamboo\-ware;
+䉨 > bamboo\-joints;
+䈾 > move\-a\-little;
+䈳 > a\-window\-leaf;
+䇋 > name\-of\-a\-god;
+䆞 > deep\-and\-dark;
+䆚 > to\-go\-through;
+䆗 > deep\-and\-dark;
+䅛 > husks\-of\-rice;
+䄔 > a\-family\-name;
+䄇 > a\-family\-name;
+䃻 > an\-embankment;
+䃳 > falling\-stone;
+䂶 > the\-crustacea;
+䂗 > to\-be\-careful;
+䂎 > a\-short\-spear;
+䂁 > an\-angry\-look;
+䁙 > eloquent\-eyes;
+䀮 > sight\-blurred;
+䀭 > with\-big\-eyes;
+䀧 > sight\-blurred;
+䀟 > sight\-blurred;
+䀖 > to\-look\-up\-to;
+䀕 > angry\-glances;
+㿬 > nasal\-disease;
+㿜 > shrivelled\-up;
+㾽 > swelling\-feet;
+㽲 > griping\-colic;
+㽱 > griping\-colic;
+㽇 > unburnt\-tiles;
+㼵 > a\-small\-basin;
+㼟 > a\-tiled\-house;
+㼎 > a\-small\-melon;
+㻾 > jade\-articles;
+㺩 > jade\-articles;
+㺈 > to\-go\-hunting;
+㹹 > a\-kind\-of\-dog;
+㹵 > a\-hunting\-dog;
+㹳 > a\-kind\-of\-ape;
+㹣 > a\-kind\-of\-dog;
+㸄 > a\-raging\-fire;
+㷾 > blaze\-of\-fire;
+㷸 > blaze\-of\-fire;
+㷖 > to\-shine\-upon;
+㷕 > hearing\-sound;
+㷒 > to\-cook\-meals;
+㶘 > full\-of\-water;
+㵳 > crystal\-clear;
+㵱 > flowing\-water;
+㵠 > to\-gush\-forth;
+㴽 > water\-current;
+㴵 > water\-current;
+㴯 > water\-current;
+㴮 > water\-current;
+㴫 > great\-flowing;
+㴨 > water\-current;
+㴦 > to\-wash\-hands;
+㴥 > great\-billows;
+㴒 > water\-current;
+㴐 > great\-current;
+㴂 > great\-billows;
+㳩 > great\-billows;
+㲛 > hairy\-animals;
+㰻 > asses\-braying;
+㰳 > asses\-braying;
+㰏 > a\-bamboo\-pole;
+㰌 > to\-monopolize;
+㯽 > the\-areca\-nut;
+㭿 > oblique\-angle;
+㭓 > a\-pillar\-arch;
+㬬 > a\-family\-name;
+㬥 > to\-sun\-to\-air;
+㬄 > warm\-and\-damp;
+㫟 > day\-after\-day;
+㫚 > early\-morning;
+㩥 > delicate\-hand;
+飼 > raise\-animals;
+㨞 > to\-feel\-about;
+礼 > social\-custom;
+晴 > clear\-weather;
+㧼 > to\-distribute;
+㧷 > to\-wipe\-tears;
+栗 > chestnut\-tree;
+㧘 > to\-accumulate;
+禮 > social\-custom;
+㦫 > lax\-and\-crude;
+漣 > flowing\-water;
+㦌 > keen\-or\-sharp;
+㦆 > to\-exaggerate;
+㥼 > to\-be\-near\-to;
+略 > approximately;
+辰 > early\-morning;
+㥥 > absent\-minded;
+㤰 > to\-be\-ashamed;
+嵐 > mountain\-mist;
+鸞 > fabulous\-bird;
+㣿 > painfully\-sad;
+㣱 > common\-people;
+㣤 > to\-tread\-upon;
+㣔 > to\-walk\-alone;
+㢻 > to\-draw\-a\-bow;
+㢖 > a\-store\-house;
+㡷 > a\-family\-name;
+㠺 > a\-fine\-thread;
+㠴 > a\-pillow\-case;
+㠛 > name\-a\-county;
+㟶 > mountain\-peak;
+㟲 > mountain\-peak;
+㟭 > the\-min\-river;
+㟩 > the\-min\-river;
+㞶 > the\-min\-river;
+㞬 > close\-or\-near;
+㞋 > soft\-and\-meek;
+㝻 > barely\-enough;
+㝦 > to\-accumulate;
+㝓 > corresponding;
+㝃 > to\-bear\-a\-son;
+㛒 > can\-not\-speak;
+㛎 > an\-ugly\-woman;
+㚴 > a\-pretty\-girl;
+㘛 > a\-deep\-valley;
+㘓 > prolix\-speech;
+㘉 > to\-make\-sound;
+㗴 > dogs\-fighting;
+㕰 > sound\-angrily;
+㕪 > birds''\-chirps;
+㕙 > a\-wily\-rabbit;
+㕉 > to\-dig\-a\-hole;
+㔥 > full\-of\-anger;
+㓴 > to\-cut\-in\-two;
+㓖 > bitterly\-cold;
+㓏 > bitterly\-cold;
+㓌 > bitterly\-cold;
+㒇 > to\-skip\-about;
+㑼 > name\-of\-a\-god;
+㑥 > disrespectful;
+㐰 > to\-believe\-in;
+瞳 > pupil\-of\-eye;
+万 > ten\-thousand;
+布 > cotton\-cloth;
+通 > pass\-through;
+提 > hold\-in\-hand;
+京 > capital\-city;
+甚 > great\-extent;
+周 > zhou\-dynasty;
+尻 > end\-of\-spine;
+宴 > to\-entertain;
+宰 > to\-slaughter;
+犯 > commit\-crime;
+婢 > servant\-girl;
+参 > take\-part\-in;
+掌 > palm\-of\-hand;
+姿 > one''s\-manner;
+姉 > elder\-sister;
+斗 > chinese\-peck;
+呼 > breathe\-sigh;
+姐 > elder\-sister;
+衝 > rush\-against;
+執 > hold\-in\-hand;
+螺 > spiral\-shell;
+坊 > neighborhood;
+尼 > buddhist\-nun;
+鼾 > snore\-loudly;
+叶 > to\-harmonize;
+野 > open\-country;
+移 > change\-place;
+唐 > tang\-dynasty;
+秀 > ear\-of\-grain;
+执 > hold\-in\-hand;
+蒲 > type\-of\-rush;
+庆 > congratulate;
+蒟 > betel\-pepper;
+汗 > perspiration;
+萬 > ten\-thousand;
+拜 > do\-obeisance;
+參 > take\-part\-in;
+虑 > be\-concerned;
+宋 > song\-dynasty;
+胆 > gall\-bladder;
+剖 > split\-in\-two;
+凤 > male\-phoenix;
+询 > inquire\-into;
+膽 > gall\-bladder;
+筑 > ancient\-lute;
+偶 > accidentally;
+飽 > eat\-heartily;
+胎 > unborn\-child;
+悟 > to\-apprehend;
+肅 > pay\-respects;
+肃 > pay\-respects;
+姊 > elder\-sister;
+侘 > disappointed;
+祭 > sacrifice\-to;
+贺 > congratulate;
+饱 > eat\-heartily;
+宪 > constitution;
+碑 > stone\-tablet;
+昌 > light\-of\-sun;
+携 > lead\-by\-hand;
+厦 > big\-building;
+仆 > fall\-forward;
+妥 > satisfactory;
+杭 > cross\-stream;
+赠 > give\-present;
+腔 > chest\-cavity;
+孝 > filial\-piety;
+笹 > small\-bamboo;
+笛 > bamboo\-flute;
+歧 > fork\-of\-road;
+拝 > do\-obeisance;
+鉛 > lead\-plumbum;
+穗 > ear\-of\-grain;
+穂 > ear\-of\-grain;
+喃 > keep\-talking;
+舱 > hold\-of\-ship;
+醜 > ugly\-looking;
+慮 > be\-concerned;
+裘 > fur\-garments;
+栽 > to\-cultivate;
+诧 > be\-surprised;
+阎 > village\-gate;
+愣 > be\-in\-a\-daze;
+琪 > type\-of\-jade;
+箫 > bamboo\-flute;
+娥 > be\-beautiful;
+咪 > sound\-of\-cat;
+渗 > soak\-through;
+葫 > bottle\-gourd;
+坪 > level\-ground;
+坞 > entrenchment;
+怅 > disappointed;
+橡 > chestnut\-oak;
+絮 > waste\-cotton;
+跄 > walk\-rapidly;
+屹 > to\-rise\-high;
+惘 > disconcerted;
+眸 > pupil\-of\-eye;
+揩 > rub\-and\-wipe;
+楠 > name\-of\-tree;
+麓 > foot\-of\-hill;
+玮 > type\-of\-jade;
+恻 > feel\-anguish;
+桅 > mast\-of\-ship;
+骋 > gallop\-horse;
+闫 > village\-gate;
+蹒 > to\-jump\-over;
+祀 > to\-sacrifice;
+籁 > bamboo\-flute;
+寰 > great\-domain;
+斓 > multicolored;
+伫 > look\-towards;
+躏 > trample\-down;
+沽 > buy\-and\-sell;
+珥 > ear\-ornament;
+笆 > bamboo\-fence;
+虬 > young\-dragon;
+惬 > be\-satisfied;
+缨 > a\-chin\-strap;
+劾 > examine\-into;
+嘤 > seek\-friends;
+诃 > scold\-loudly;
+冽 > cold\-and\-raw;
+飨 > host\-banquet;
+怏 > discontented;
+冢 > burial\-mound;
+婀 > be\-beautiful;
+嗳 > interjection;
+碣 > stone\-tablet;
+宕 > stone\-quarry;
+耆 > man\-of\-sixty;
+靓 > make\-up\-face;
+蛰 > to\-hibernate;
+掼 > throw\-ground;
+囤 > grain\-basket;
+筱 > dwarf\-bamboo;
+樟 > camphor\-tree;
+鲥 > reeves''\-shad;
+逵 > thoroughfare;
+岷 > min\-mountain;
+枰 > smooth\-board;
+屐 > wooden\-shoes;
+胛 > the\-shoulder;
+鹞 > sparrow\-hawk;
+犄 > animal\-horns;
+跹 > wander\-about;
+昱 > bright\-light;
+栾 > name\-of\-tree;
+湄 > water''s\-edge;
+菅 > coarse\-grass;
+绻 > affectionate;
+篁 > bamboo\-grove;
+赅 > prepared\-for;
+椁 > outer\-coffin;
+纰 > spoiled\-silk;
+鼋 > large\-turtle;
+醐 > purest\-cream;
+龉 > uneven\-teeth;
+苻 > kind\-of\-herb;
+鬣 > horse''s\-mane;
+缗 > fishing\-line;
+湫 > a\-small\-pond;
+仟 > one\-thousand;
+蚶 > kind\-of\-clam;
+瓠 > bottle\-gourd;
+蛄 > mole\-cricket;
+毂 > hub\-of\-wheel;
+畚 > straw\-basket;
+洄 > a\-back\-water;
+飧 > evening\-meal;
+醪 > unclear\-wine;
+骝 > famous\-horse;
+骒 > mother\-horse;
+懔 > be\-afraid\-of;
+劓 > cut\-off\-nose;
+踔 > to\-get\-ahead;
+颡 > the\-forehead;
+潲 > driving\-rain;
+缯 > silk\-fabrics;
+惝 > disappointed;
+甓 > glazed\-tiles;
+荬 > a\-plant\-name;
+柒 > number\-seven;
+瘳 > to\-be\-healed;
+谇 > speak\-ill\-of;
+乇 > to\-depend\-on;
+龤 > to\-harmonize;
+齬 > uneven\-teeth;
+齆 > stuffed\-noze;
+齁 > snore\-loudly;
+鼽 > clogged\-nose;
+黿 > large\-turtle;
+麕 > muntjac\-deer;
+鷂 > sparrow\-hawk;
+鳳 > male\-phoenix;
+鳯 > male\-phoenix;
+鳐 > the\-nautilus;
+鱑 > the\-sturgeon;
+鱂 > name\-of\-fish;
+鰩 > the\-nautilus;
+鰣 > reeves''\-shad;
+鰃 > name\-of\-fish;
+鰁 > name\-of\-fish;
+魦 > shark\-family;
+魢 > name\-of\-fish;
+魟 > the\-nautilus;
+鬵 > big\-iron\-pot;
+鬐 > horse''s\-mane;
+鬅 > unkempt\-hair;
+驈 > black\-horses;
+騮 > famous\-horse;
+騍 > mother\-horse;
+騆 > divine\-horse;
+騁 > gallop\-horse;
+駜 > strong\-horse;
+駗 > chatter\-mark;
+饗 > host\-banquet;
+餀 > tainted\-food;
+飱 > evening\-meal;
+颭 > sway\-in\-wind;
+顙 > the\-forehead;
+頟 > the\-forehead;
+鞦 > leather\-stap;
+靚 > make\-up\-face;
+霑 > be\-moistened;
+隖 > entrenchment;
+陁 > a\-steep\-bank;
+闑 > the\-doorsill;
+閻 > village\-gate;
+閆 > village\-gate;
+镨 > praseodymium;
+鐠 > praseodymium;
+鏷 > protactinium;
+鍊 > smelt\-metals;
+錬 > smelt\-metals;
+錈 > to\-bend\-iron;
+釪 > an\-alms\-bowl;
+醽 > kind\-of\-wine;
+郙 > to\-be\-exiled;
+邲 > good\-looking;
+迣 > to\-leap\-over;
+轂 > hub\-of\-wheel;
+躪 > trample\-down;
+躚 > wander\-about;
+躙 > trample\-down;
+蹣 > to\-jump\-over;
+蹌 > walk\-rapidly;
+踼 > to\-fall\-flat;
+踤 > butt\-against;
+贈 > give\-present;
+賉 > to\-give\-alms;
+賅 > prepared\-for;
+賀 > congratulate;
+貆 > small\-badger;
+豶 > castrate\-pig;
+誾 > speak\-gently;
+誶 > speak\-ill\-of;
+詢 > inquire\-into;
+訶 > scold\-loudly;
+襛 > fine\-clothes;
+襆 > hood\-or\-cowl;
+蟄 > to\-hibernate;
+虯 > young\-dragon;
+葜 > smilax\-china;
+萩 > scandent\-hop;
+萘 > naphthanlene;
+菝 > smilax\-china;
+莦 > jungle\-grass;
+芧 > chestnut\-oak;
+芚 > green\-sprout;
+芑 > white\-millet;
+艙 > hold\-of\-ship;
+膗 > ugly\-and\-fat;
+肙 > a\-small\-worm;
+羀 > fishing\-trap;
+罶 > fishing\-trap;
+纓 > a\-chin\-strap;
+纁 > shade\-of\-red;
+繙 > to\-interpret;
+繒 > silk\-fabrics;
+縕 > tangled\-hemp;
+緡 > fishing\-line;
+綣 > affectionate;
+紕 > spoiled\-silk;
+粛 > pay\-respects;
+籯 > bamboo\-chest;
+籟 > bamboo\-flute;
+篴 > bamboo\-flute;
+篠 > dwarf\-bamboo;
+筤 > young\-bamboo;
+筍 > bamboo\-shoot;
+筅 > bamboo\-brush;
+穟 > ear\-of\-grain;
+秬 > black\-millet;
+祘 > to\-calculate;
+磠 > sal\-ammoniac;
+碶 > a\-flood\-gate;
+砟 > stone\-tablet;
+矼 > stone\-bridge;
+睒 > to\-glance\-at;
+皦 > bright\-white;
+瘺 > anal\-fistula;
+疿 > prickly\-heat;
+瑋 > type\-of\-jade;
+珹 > type\-of\-jade;
+玍 > ill\-tempered;
+狆 > pekinese\-dog;
+牂 > female\-sheep;
+燷 > disappointed;
+燣 > disappointed;
+滲 > soak\-through;
+滊 > a\-river\-name;
+泖 > still\-waters;
+毈 > fertile\-eggs;
+殜 > half\-sitting;
+欿 > discontented;
+欒 > name\-of\-tree;
+橒 > wood\-streaks;
+槻 > zelkova\-tree;
+槨 > outer\-coffin;
+槔 > water\-pulley;
+楀 > name\-of\-tree;
+枟 > wood\-streaks;
+斕 > multicolored;
+攜 > lead\-by\-hand;
+摜 > throw\-ground;
+摙 > to\-transport;
+揑 > to\-fabricate;
+戉 > a\-battle\-axe;
+懍 > be\-afraid\-of;
+憲 > constitution;
+慶 > congratulate;
+愜 > be\-satisfied;
+惻 > feel\-anguish;
+悵 > disappointed;
+廹 > to\-persecute;
+廈 > big\-building;
+帨 > handkerchief;
+嶢 > high\-or\-tall;
+屧 > wooden\-shoes;
+屘 > the\-youngest;
+嫲 > grand\-mother;
+壈 > disappointed;
+塢 > entrenchment;
+埜 > open\-country;
+嚶 > seek\-friends;
+噯 > interjection;
+喭 > condole\-with;
+咥 > sound\-of\-cat;
+呹 > to\-eat\-grass;
+叄 > take\-part\-in;
+厷 > the\-fore\-arm;
+厤 > to\-calculate;
+勣 > achievements;
+剷 > to\-level\-off;
+剗 > to\-level\-off;
+儗 > compare\-with;
+佭 > unsubmissive;
+亰 > capital\-city;
+丼 > bowl\-of\-food;
+䴼 > to\-extirpate;
+䴕 > a\-woodpecker;
+䳖 > flying\-birds;
+䲜 > lots\-of\-fish;
+䱊 > roe\-or\-spawn;
+䰸 > the\-nautilus;
+䯶 > fair\-of\-hair;
+䯬 > to\-hang\-down;
+䯧 > a\-small\-hall;
+䮟 > big\-and\-tall;
+䮑 > a\-gray\-horse;
+䭘 > well\-stacked;
+䭗 > well\-stacked;
+䭖 > animal\-feeds;
+䭊 > well\-stacked;
+䭉 > mashed\-beans;
+䬜 > evil\-spirits;
+䬚 > to\-move\-fast;
+䬋 > violent\-wind;
+䫨 > tall\-and\-big;
+䫚 > short\-headed;
+䫙 > the\-forehead;
+䫕 > small\-headed;
+䫇 > the\-whiskers;
+䪹 > a\-large\-face;
+䪰 > interjection;
+䪡 > to\-fall\-down;
+䪋 > silk\-cordage;
+䩏 > a\-small\-face;
+䩋 > a\-green\-face;
+䩊 > good\-looking;
+䩇 > a\-small\-head;
+䨶 > thunderstorm;
+䨲 > a\-small\-hare;
+䨪 > a\-dust\-storm;
+䨝 > a\-pure\-woman;
+䨈 > a\-small\-bird;
+䧬 > water''s\-edge;
+䧢 > a\-rough\-road;
+䧙 > a\-high\-mound;
+䥃 > a\-big\-hammer;
+䤬 > a\-small\-gong;
+䤦 > a\-battle\-axe;
+䤣 > a\-metal\-ring;
+䤋 > yellow\-faced;
+䣿 > to\-entertain;
+䣾 > cheese\-dregs;
+䣼 > mixed\-starch;
+䠔 > far\-and\-deep;
+䟿 > to\-reverence;
+䟹 > to\-hop\-about;
+䟕 > to\-step\-upon;
+䞱 > to\-fall\-over;
+䞧 > hard\-to\-walk;
+䜩 > to\-entertain;
+䚪 > curved\-horns;
+䘄 > cicada\-famiy;
+䘀 > grasshoppers;
+䗰 > spiral\-shell;
+䗧 > libellulidae;
+䖞 > a\-sea\-insect;
+䕻 > to\-adhere\-to;
+䕺 > dense\-growth;
+䕝 > medical\-herb;
+䕋 > of\-elm\-group;
+䓯 > water\-pepper;
+䑽 > a\-large\-boat;
+䑵 > a\-small\-boat;
+䐅 > the\-buttocks;
+䐁 > the\-buttocks;
+䏗 > unexpectedly;
+䏐 > the\-buttocks;
+䏍 > a\-small\-worm;
+䏀 > inharmonious;
+䎘 > birds\-flying;
+䎕 > flying\-birds;
+䍄 > an\-indenture;
+䌶 > \)\-black\-silk;
+䌇 > a\-thick\-rope;
+䌆 > silk\-fabrics;
+䊅 > to\-soak\-rice;
+䉯 > dried\-bamboo;
+䉕 > a\-bamboo\-hat;
+䉔 > bamboo\-slips;
+䈟 > broken\-sound;
+䇸 > a\-bamboo\-mat;
+䇝 > to\-break\-off;
+䇜 > small\-bamboo;
+䆬 > to\-fall\-down;
+䆢 > to\-penetrate;
+䆟 > coresponding;
+䆍 > cutted\-crops;
+䅁 > to\-husk\-rice;
+䃲 > a\-great\-rock;
+䃯 > small\-stones;
+䃝 > rugged\-rocks;
+䃍 > to\-fall\-down;
+䂐 > short\-stupid;
+䁧 > to\-open\-wide;
+䁠 > to\-hang\-down;
+䀁 > a\-small\-bowl;
+㿽 > a\-small\-bowl;
+㿵 > soft\-leather;
+㿲 > a\-fierce\-dog;
+㿪 > skin\-disease;
+㿨 > small\-stones;
+㿊 > very\-painful;
+㾔 > long\-illness;
+㼋 > the\-cucumber;
+㺖 > dogs\-barking;
+㺎 > fierce\-beast;
+㹿 > a\-fierce\-dog;
+㹪 > a\-fierce\-dog;
+㸾 > to\-filled\-up;
+㸭 > the\-opposite;
+㸘 > ten\-thousand;
+㷹 > intense\-heat;
+㶕 > to\-wash\-rice;
+㵊 > moving\-image;
+㴕 > to\-boil\-away;
+㴓 > to\-wash\-rice;
+㳞 > deep\-and\-far;
+㳑 > to\-flow\-over;
+㰷 > resurrection;
+㯬 > achievements;
+㯠 > a\-cross\-beam;
+㯜 > decayed\-wood;
+㮮 > a\-well\-sweep;
+㮬 > a\-fruit\-tree;
+㮪 > a\-small\-boat;
+㮏 > a\-fruit\-tree;
+㭫 > a\-fruit\-tree;
+㬵 > the\-shinbone;
+㫒 > hands\-joined;
+㫃 > flags\-flying;
+㫁 > to\-cut\-apart;
+㨭 > unreasonable;
+㧴 > to\-rub\-hands;
+㧢 > to\-depend\-on;
+㦰 > to\-break\-off;
+㦦 > apprehensive;
+鍊 > smelt\-metals;
+㦎 > cantankerous;
+㥵 > to\-dishonour;
+參 > take\-part\-in;
+㥠 > intelligence;
+㤳 > to\-depend\-on;
+㤧 > conciliation;
+㤞 > disappointed;
+螺 > spiral\-shell;
+㣒 > hair\-raising;
+㣑 > double\-image;
+㢗 > a\-high\-house;
+㡔 > oiled\-calico;
+㡅 > storage\-room;
+㠾 > a\-dish\-cloth;
+㠽 > a\-dish\-cloth;
+㠒 > mountain\-top;
+㟽 > mountain\-top;
+㟺 > mountain\-top;
+㟐 > big\-and\-high;
+㟇 > a\-land\-slide;
+㞢 > to\-arrive\-at;
+㞛 > red\-slippers;
+㞓 > the\-buttocks;
+㞅 > not\-straight;
+㜗 > covetousness;
+㛼 > to\-interrupt;
+㛥 > to\-prostrate;
+㛊 > to\-speculate;
+㛆 > to\-speculate;
+㘢 > a\-round\-cave;
+㘍 > sound\-of\-rat;
+㗒 > interjection;
+㖷 > bird\-singing;
+㖠 > an\-auxiliary;
+㕯 > slow\-tongued;
+㕒 > a\-lofty\-peak;
+㕃 > to\-fall\-over;
+㔬 > to\-establish;
+㔦 > to\-encourage;
+㔕 > with\-purpose;
+㔎 > to\-cut\-apart;
+㔃 > to\-cut\-short;
+㓣 > to\-sink\-into;
+㑪 > a\-generation;
+㑤 > good\-looking;
+㑔 > all\-together;
+㐸 > to\-own\-money;
+㐴 > to\-drag\-down;
+以 > by\-means\-of;
+農 > agriculture;
+径 > narrow\-path;
+几 > small\-table;
+便 > convenience;
+电 > electricity;
+百 > one\-hundred;
+跣 > bare\-footed;
+贅 > unnecessary;
+功 > achievement;
+江 > large\-river;
+注 > concentrate;
+牧 > tend\-cattle;
+婚 > get\-married;
+刊 > publication;
+农 > agriculture;
+熟 > well\-cooked;
+饭 > cooked\-rice;
+奢 > extravagant;
+查 > investigate;
+章 > composition;
+按 > put\-hand\-on;
+蝠 > kind\-of\-bat;
+蝕 > nibble\-away;
+困 > to\-surround;
+险 > narrow\-pass;
+练 > to\-practice;
+溯 > go\-upstream;
+渉 > ford\-stream;
+败 > be\-defeated;
+纷 > in\-disorder;
+缺 > be\-short\-of;
+遭 > come\-across;
+戴 > wear\-on\-top;
+勤 > industrious;
+勘 > investigate;
+髄 > bone\-marrow;
+効 > efficacious;
+貌 > countenance;
+繁 > complicated;
+柳 > willow\-tree;
+凄 > bitter\-cold;
+涉 > ford\-stream;
+霞 > rosy\-clouds;
+飴 > sweet\-meats;
+飯 > cooked\-rice;
+聪 > intelligent;
+倦 > be\-tired\-of;
+摔 > fall\-ground;
+醉 > intoxicated;
+査 > investigate;
+涛 > large\-waves;
+锅 > cooking\-pot;
+仔 > small\-thing;
+會 > to\-assemble;
+電 > electricity;
+拆 > to\-break\-up;
+翠 > color\-green;
+險 > narrow\-pass;
+晕 > halo\-in\-sky;
+険 > narrow\-pass;
+纠 > investigate;
+夸 > extravagant;
+辨 > distinguish;
+葛 > edible\-bean;
+轿 > sedan\-chair;
+敗 > be\-defeated;
+攫 > snatch\-away;
+紛 > in\-disorder;
+鍛 > forge\-metal;
+厕 > mingle\-with;
+鍋 > cooking\-pot;
+竿 > bamboo\-pole;
+券 > certificate;
+穉 > young\-grain;
+驳 > varicolored;
+憔 > be\-worn\-out;
+粞 > ground\-rice;
+酔 > intoxicated;
+遂 > comply\-with;
+隶 > subservient;
+缸 > earthen\-jug;
+肢 > human\-limbs;
+尴 > embarrassed;
+呐 > raise\-voice;
+颖 > rice\-tassel;
+砥 > a\-whetstone;
+孕 > be\-pregnant;
+钞 > paper\-money;
+垮 > be\-defeated;
+琢 > polish\-jade;
+绽 > ripped\-seam;
+奠 > pay\-respect;
+澜 > overflowing;
+惕 > be\-cautious;
+锻 > forge\-metal;
+蚀 > nibble\-away;
+趴 > lying\-prone;
+窘 > embarrassed;
+隋 > sui\-dynasty;
+瞄 > take\-aim\-at;
+祟 > evil\-spirit;
+嗔 > be\-angry\-at;
+奕 > in\-sequence;
+榴 > pomegranate;
+棘 > jujube\-tree;
+峙 > stand\-erect;
+砌 > stone\-steps;
+槐 > locust\-tree;
+鳞 > fish\-scales;
+惺 > intelligent;
+髓 > bone\-marrow;
+炽 > burning\-hot;
+迂 > doctrinaire;
+缪 > wind\-around;
+凋 > be\-withered;
+缤 > flourishing;
+雳 > thunderclap;
+赘 > unnecessary;
+驸 > extra\-horse;
+嗷 > loud\-clamor;
+炖 > stew\-slowly;
+谏 > remonstrate;
+篆 > seal\-script;
+宦 > officialdom;
+瓮 > earthen\-jar;
+朕 > pronoun\-''i'';
+阑 > door\-screen;
+卤 > saline\-soil;
+唏 > weep\-or\-sob;
+汩 > run\-swiftly;
+榕 > banyan\-tree;
+闰 > intercalary;
+昊 > summer\-time;
+玷 > flaw\-in\-gem;
+阙 > watch\-tower;
+瑕 > flaw\-in\-gem;
+泌 > to\-seep\-out;
+烽 > signal\-fire;
+孵 > sit\-on\-eggs;
+椭 > oval\-shaped;
+痉 > convulsions;
+匝 > full\-circle;
+饪 > cooked\-food;
+嶙 > precipitous;
+颧 > cheek\-bones;
+镗 > boring\-tool;
+揶 > make\-fun\-of;
+炷 > candle\-wick;
+贲 > forge\-ahead;
+蚱 > grasshopper;
+痨 > consumption;
+濂 > a\-waterfall;
+汐 > night\-tides;
+筠 > bamboo\-skin;
+氤 > hanging\-fog;
+痔 > hemorrhoids;
+趿 > to\-tread\-on;
+觞 > wine\-vessel;
+挹 > to\-bale\-out;
+膑 > the\-kneecap;
+徇 > comply\-with;
+唳 > cry\-of\-bird;
+礅 > stone\-block;
+箔 > reed\-screen;
+豸 > radical\-153;
+滟 > overflowing;
+烃 > hydrocarbon;
+砭 > stone\-probe;
+澍 > timely\-rain;
+龋 > tooth\-decay;
+缱 > attached\-to;
+奂 > be\-numerous;
+黩 > to\-dishonor;
+饴 > sweet\-meats;
+壅 > to\-obstruct;
+澶 > still\-water;
+餍 > be\-satiated;
+枥 > type\-of\-oak;
+蜢 > grasshopper;
+煅 > forge\-metal;
+桕 > tallow\-tree;
+鲢 > silver\-carp;
+趱 > go\-in\-hurry;
+妫 > family\-name;
+暾 > morning\-sun;
+荦 > brindled\-ox;
+邛 > in\-distress;
+戢 > to\-put\-away;
+榧 > type\-of\-yew;
+堇 > yellow\-loam;
+劬 > be\-diligent;
+魈 > mischevious;
+鍪 > an\-iron\-pan;
+蜣 > dung\-beetle;
+痦 > \(flat\)\-mole;
+戬 > exterminate;
+嗉 > bird''s\-crop;
+儋 > a\-small\-jar;
+蚜 > plant\-louse;
+粜 > sell\-grains;
+攮 > to\-fend\-off;
+苎 > china\-grass;
+埕 > earthen\-jar;
+坩 > earthenware;
+榉 > type\-of\-elm;
+玢 > porphyrites;
+绁 > to\-contract;
+潆 > tiny\-stream;
+髹 > red\-lacquer;
+觖 > to\-long\-for;
+螵 > a\-chrysalis;
+杪 > tip\-of\-twig;
+幂 > cover\-cloth;
+硗 > barren\-land;
+脞 > minced\-meat;
+轵 > end\-of\-axle;
+楗 > bar\-of\-door;
+桄 > a\-coir\-palm;
+堠 > battlements;
+俜 > to\-trust\-to;
+齲 > tooth\-decay;
+黷 > to\-dishonor;
+麀 > female\-deer;
+鹵 > saline\-soil;
+鸏 > tropic\-bird;
+鴺 > the\-pelican;
+鱠 > minced\-fish;
+鱗 > fish\-scales;
+鰱 > silver\-carp;
+鬙 > matted\-hair;
+驔 > black\-horse;
+驇 > heavy\-horse;
+騺 > heavy\-horse;
+駙 > extra\-horse;
+駁 > varicolored;
+饜 > be\-satiated;
+餁 > cooked\-food;
+飪 > cooked\-food;
+顴 > cheek\-bones;
+顦 > be\-worn\-out;
+顇 > be\-worn\-out;
+頴 > rice\-tassel;
+頋 > to\-care\-for;
+鞫 > interrogate;
+靂 > thunderclap;
+隉 > in\-disorder;
+阨 > in\-distress;
+闕 > watch\-tower;
+闌 > door\-screen;
+閠 > intercalary;
+閏 > intercalary;
+鐦 > californium;
+鏻 > phosphonium;
+鏜 > boring\-tool;
+鎐 > family\-name;
+鍐 > a\-headstall;
+鈔 > paper\-money;
+釆 > distinguish;
+醹 > strong\-wine;
+醲 > strong\-wine;
+醓 > salted\-meat;
+酏 > millet\-wine;
+遹 > comply\-with;
+遡 > go\-upstream;
+迊 > to\-go\-round;
+轎 > sedan\-chair;
+轇 > complicated;
+輦 > a\-hand\-cart;
+軹 > end\-of\-axle;
+蹹 > to\-tread\-on;
+蹵 > to\-tread\-on;
+趲 > go\-in\-hurry;
+贗 > counterfeit;
+賁 > forge\-ahead;
+貘 > the\-panther;
+豦 > a\-wild\-boar;
+豘 > a\-small\-pig;
+諫 > remonstrate;
+諌 > remonstrate;
+觴 > wine\-vessel;
+觱 > tartar\-horn;
+覈 > investigate;
+褵 > bridal\-veil;
+蠜 > grasshopper;
+蠋 > caterpillar;
+蟛 > a\-land\-crab;
+蝛 > the\-sow\-bug;
+蝍 > a\-centipede;
+蛓 > caterpillar;
+藚 > water\-plant;
+藄 > edible\-fern;
+蓪 > paper\-plant;
+蓂 > lucky\-place;
+蒭 > to\-cutgrass;
+萐 > lucky\-plant;
+菢 > to\-incubate;
+苧 > china\-grass;
+艗 > bow\-of\-junk;
+臏 > the\-kneecap;
+胾 > minced\-meat;
+胔 > rotten\-meat;
+肈 > to\-commence;
+聰 > intelligent;
+聦 > the\-hearing;
+聡 > intelligent;
+耑 > specialized;
+翆 > color\-green;
+羖 > a\-black\-ram;
+羃 > cover\-cloth;
+罱 > fishing\-net;
+罠 > animal\-trap;
+罒 > radical\-122;
+罋 > earthen\-jar;
+繾 > attached\-to;
+繽 > flourishing;
+繆 > wind\-around;
+綻 > ripped\-seam;
+糾 > investigate;
+糶 > sell\-grains;
+糢 > rice\-snacks;
+簹 > tall\-bamboo;
+簵 > fine\-bamboo;
+簰 > bamboo\-raft;
+篔 > tall\-bamboo;
+箘 > fine\-bamboo;
+筩 > bamboo\-pipe;
+筊 > bamboo\-rope;
+筇 > bamboo\-name;
+笯 > a\-bird\-cage;
+窸 > faint\-sound;
+穵 > deep\-hollow;
+穎 > rice\-tassel;
+磽 > barren\-land;
+磹 > stone\-wedge;
+碔 > \/2\-pr\-stone;
+砆 > \/2\-pr\-stone;
+砃 > white\-stone;
+瞵 > to\-stare\-at;
+睠 > to\-care\-for;
+睎 > to\-long\-for;
+眥 > eye\-sockets;
+眑 > sunken\-eyes;
+眊 > dim\-sighted;
+皃 > countenance;
+癆 > consumption;
+瘚 > to\-hiccough;
+痳 > pock\-marked;
+痲 > pock\-marked;
+痭 > menorrhagia;
+痙 > convulsions;
+痃 > indigestion;
+甕 > earthen\-jar;
+珽 > jade\-tablet;
+玗 > \/2\-pr\-stone;
+獏 > the\-panther;
+狢 > animal\-name;
+犖 > brindled\-ox;
+燖 > reheat\-food;
+熾 > burning\-hot;
+煟 > bright\-room;
+煏 > dry\-by\-fire;
+煆 > raging\-fire;
+烴 > hydrocarbon;
+灩 > overflowing;
+灧 > overflowing;
+瀾 > overflowing;
+瀠 > tiny\-stream;
+濤 > large\-waves;
+澰 > overflowing;
+潿 > still\-water;
+潾 > clear\-water;
+潠 > to\-blow\-out;
+滷 > thick\-gravy;
+湜 > transparent;
+渟 > not\-flowing;
+淒 > bitter\-cold;
+涠 > still\-water;
+浡 > burst\-forth;
+泝 > go\-upstream;
+沰 > to\-let\-drop;
+殰 > an\-abortion;
+欮 > to\-hiccough;
+櫸 > type\-of\-elm;
+櫪 > type\-of\-oak;
+橢 > oval\-shaped;
+槲 > type\-of\-oak;
+槢 > a\-hard\-wood;
+楕 > oval\-shaped;
+棯 > jujube\-tree;
+梘 > bamboo\-tube;
+梖 > a\-palm\-tree;
+梄 > a\-soft\-wood;
+栞 > publication;
+栃 > type\-of\-oak;
+枧 > bamboo\-tube;
+杤 > type\-of\-oak;
+暈 > halo\-in\-sky;
+昜 > to\-open\-out;
+昉 > bright\-dawn;
+旽 > morning\-sun;
+旉 > to\-state\-to;
+摡 > to\-irrigate;
+摎 > to\-strangle;
+挓 > to\-open\-out;
+戩 > exterminate;
+慉 > to\-bring\-up;
+愔 > comfortable;
+忲 > extravagant;
+徻 > a\-wide\-room;
+徑 > narrow\-path;
+弰 > ends\-of\-bow;
+幎 > cover\-cloth;
+帀 > to\-go\-round;
+崪 > rocky\-peaks;
+崒 > rocky\-peaks;
+屰 > disobedient;
+屝 > straw\-shoes;
+尷 > embarrassed;
+尶 > embarrassed;
+尜 > a\-child\-toy;
+尃 > to\-state\-to;
+嬔 > baby\-rabbit;
+媯 > family\-name;
+奓 > extravagant;
+奐 > be\-numerous;
+塿 > small\-mound;
+堊 > white\-earth;
+堈 > earthen\-jug;
+垞 > small\-mound;
+垝 > dilapidated;
+垔 > to\-restrain;
+坵 > earthenware;
+嗱 > exclamation;
+喎 > a\-wry\-mouth;
+唹 > to\-smile\-at;
+咅 > to\-spit\-out;
+吶 > raise\-voice;
+叻 > place\-names;
+厾 > lightly\-tap;
+厠 > mingle\-with;
+匯 > a\-concourse;
+勽 > to\-incubate;
+勠 > join\-forces;
+劼 > be\-discreet;
+劵 > certificate;
+剦 > to\-castrate;
+刋 > publication;
+凩 > wintry\-wind;
+冪 > cover\-cloth;
+兦 > destruction;
+儁 > outstanding;
+傏 > to\-ward\-off;
+偢 > to\-stare\-at;
+俛 > make\-effort;
+佹 > depend\-upon;
+佡 > make\-effort;
+䶪 > sharp\-teeth;
+䵴 > black\-color;
+䵳 > light\-black;
+䵰 > black\-color;
+䵩 > dark\-yellow;
+䵢 > light\-black;
+䵎 > dark\-yellow;
+䲻 > the\-swallow;
+䱽 > the\-pomfret;
+䱺 > a\-male\-crab;
+䱶 > a\-male\-crab;
+䱒 > salted\-fish;
+䯣 > the\-kneecap;
+䯘 > the\-kneecap;
+䮘 > young\-horse;
+䫳 > human\-skull;
+䫰 > sparse\-hair;
+䫭 > bald\-headed;
+䫜 > sunken\-eyes;
+䫄 > better\-than;
+䪴 > the\-occiput;
+䪄 > great\-blaze;
+䩻 > to\-be\-chief;
+䩜 > descendants;
+䨱 > spilt\-water;
+䧶 > to\-care\-for;
+䧨 > precipitous;
+䧞 > to\-increase;
+䧓 > a\-big\-mound;
+䧊 > a\-big\-mound;
+䦷 > to\-struggle;
+䦶 > to\-struggle;
+䦟 > to\-struggle;
+䦛 > to\-struggle;
+䦘 > a\-threshold;
+䥀 > to\-pull\-out;
+䤭 > to\-ornament;
+䤅 > southerwood;
+䢉 > agriculture;
+䠝 > to\-stand\-up;
+䠍 > at\-the\-feet;
+䟵 > to\-tread\-on;
+䟯 > to\-tread\-on;
+䟅 > to\-go\-ahead;
+䟁 > a\-foot\-race;
+䞽 > to\-lie\-flat;
+䞨 > half\-a\-pace;
+䞦 > to\-lie\-flat;
+䞊 > to\-increase;
+䞄 > to\-disperse;
+䝍 > a\-wild\-boar;
+䝀 > garden\-peas;
+䜰 > deep\-valley;
+䜮 > deep\-valley;
+䜗 > angry\-words;
+䜏 > to\-withdraw;
+䜆 > hasty\-words;
+䛘 > to\-think\-of;
+䚾 > to\-think\-of;
+䚳 > do\-not\-know;
+䚲 > to\-laugh\-at;
+䙾 > to\-wait\-for;
+䙱 > a\-long\-coat;
+䙰 > new\-feather;
+䙂 > short\-pants;
+䘴 > short\-pants;
+䗖 > the\-rainbow;
+䕸 > wheat\-straw;
+䕣 > water\-plant;
+䕌 > young\-grain;
+䔿 > lush\-growth;
+䓮 > lush\-growth;
+䓏 > flourishing;
+䒋 > air\-current;
+䐚 > good\-graces;
+䏶 > the\-stomach;
+䏔 > to\-eat\-meat;
+䏓 > the\-stomach;
+䍨 > to\-castrate;
+䌺 > flourishing;
+䌪 > to\-continue;
+䌦 > green\-color;
+䊭 > to\-overturn;
+䊫 > coarse\-rice;
+䊢 > thick\-fluid;
+䊓 > to\-paste\-up;
+䉝 > bamboo\-ware;
+䉊 > bamboo\-ware;
+䈸 > a\-big\-chest;
+䈀 > bamboo\-ware;
+䇕 > to\-wait\-for;
+䇓 > to\-wait\-for;
+䇃 > to\-wait\-for;
+䆳 > far\-distant;
+䆘 > acupuncture;
+䆖 > a\-big\-house;
+䅻 > measurement;
+䅄 > long\-grains;
+䄽 > common\-rice;
+䄄 > achievement;
+䃭 > a\-stone\-box;
+䂱 > to\-wear\-out;
+䂤 > white\-stone;
+䂡 > a\-whetstone;
+䂓 > regulations;
+䁻 > pretty\-eyes;
+䁷 > bright\-eyes;
+䁱 > hollow\-eyed;
+䁑 > pretty\-eyes;
+䀦 > to\-stare\-at;
+䀂 > a\-big\-basin;
+㿣 > white\-color;
+㿘 > to\-get\-sick;
+㾺 > eye\-disease;
+㾝 > to\-leak\-out;
+㾗 > eye\-disease;
+㾈 > hunchbacked;
+㾃 > hump\-backed;
+㽪 > paddy\-field;
+㽆 > earthenware;
+㽀 > earthenware;
+㼻 > earthenware;
+㼸 > earthenware;
+㼶 > earthenware;
+㼳 > earthenware;
+㼯 > earthenware;
+㼬 > earthenware;
+㼦 > earthenware;
+㼤 > earthenware;
+㼘 > of\-mountain;
+㼓 > melon\-seeds;
+㻓 > a\-fine\-jade;
+㹠 > a\-small\-big;
+㸠 > thick\-stick;
+㶑 > overflowing;
+㵮 > clear\-water;
+㵤 > to\-overflow;
+㵕 > to\-permeate;
+㴘 > to\-ooze\-out;
+㲰 > a\-hairy\-dog;
+㲒 > to\-incubate;
+㱩 > an\-abortion;
+㰲 > to\-blow\-off;
+㰮 > to\-laugh\-at;
+㰞 > to\-laugh\-at;
+㯈 > small\-trees;
+㮟 > a\-whetstone;
+㮝 > angle\-steel;
+㭴 > the\-oscines;
+㭎 > a\-tall\-tree;
+㬲 > to\-increase;
+㬩 > a\-tiny\-star;
+㫵 > white\-color;
+㫘 > disappeared;
+㪺 > to\-bale\-out;
+㩈 > to\-restrain;
+㩅 > to\-draw\-out;
+㨺 > to\-ornament;
+㨵 > to\-cut\-away;
+㨴 > to\-turnover;
+飯 > cooked\-rice;
+㨕 > to\-shoulder;
+鱗 > fish\-scales;
+㧔 > to\-disturbe;
+柳 > willow\-tree;
+暈 > halo\-in\-sky;
+㦟 > intelligent;
+輦 > a\-hand\-cart;
+㦒 > to\-deceived;
+泌 > to\-seep\-out;
+便 > convenience;
+㤡 > to\-surprise;
+㤛 > to\-remember;
+㤕 > melancholoy;
+㤁 > to\-disgrace;
+㣾 > do\-not\-care;
+㣵 > to\-run\-away;
+㣥 > to\-store\-up;
+㢳 > black\-color;
+㢓 > to\-separate;
+㡾 > a\-threshold;
+㠖 > precipitous;
+㞘 > a\-small\-pig;
+㝴 > a\-round\-off;
+㝔 > deep\-bottom;
+㜣 > a\-last\-name;
+㜎 > slave\-girls;
+㛑 > three\-women;
+㚾 > to\-have\-fun;
+㙧 > earthenware;
+㘶 > a\-hen\-roost;
+㘥 > to\-inveigle;
+㘆 > to\-laugh\-at;
+㗗 > to\-separate;
+㖽 > to\-call\-out;
+㖣 > to\-spit\-out;
+㖞 > a\-wry\-mouth;
+㖖 > to\-spit\-out;
+㖕 > to\-spit\-out;
+㖑 > to\-shout\-at;
+㔼 > to\-fit\-into;
+㔶 > a\-small\-cup;
+㔏 > to\-cut\-open;
+㓬 > to\-cut\-open;
+㓩 > horned\-hair;
+㒨 > an\-immortal;
+㒥 > an\-immortal;
+㑽 > to\-ward\-off;
+的 > possessive;
+込 > crowd\-into;
+辻 > crossroads;
+能 > to\-be\-able;
+都 > metropolis;
+文 > literature;
+轍 > wagon\-ruts;
+輩 > generation;
+眩 > to\-confuse;
+眠 > close\-eyes;
+輝 > brightness;
+弐 > number\-two;
+者 > that\-which;
+业 > profession;
+府 > prefecture;
+政 > government;
+世 > generation;
+产 > give\-birth;
+场 > open\-space;
+比 > to\-compare;
+疲 > feel\-tired;
+画 > a\-painting;
+産 > give\-birth;
+望 > to\-look\-at;
+賺 > make\-money;
+六 > number\-six;
+屡 > frequently;
+尤 > especially;
+專 > monopolize;
+基 > foundation;
+双 > set\-of\-two;
+孫 > grandchild;
+专 > monopolize;
+嬪 > court\-lady;
+离 > rare\-beast;
+媒 > go\-between;
+誌 > write\-down;
+誇 > exaggerate;
+响 > make\-sound;
+婿 > son\-in\-law;
+爭 > to\-dispute;
+器 > receptacle;
+營 > encampment;
+妙 > mysterious;
+胡 > recklessly;
+妓 > prostitute;
+襦 > short\-coat;
+奧 > mysterious;
+奥 > mysterious;
+壻 > son\-in\-law;
+壱 > number\-one;
+孙 > grandchild;
+营 > encampment;
+場 > open\-space;
+郭 > outer\-part;
+讨 > to\-discuss;
+滅 > extinguish;
+虜 > to\-capture;
+积 > accumulate;
+菜 > vegetables;
+嗣 > to\-connect;
+嗜 > be\-fond\-of;
+介 > forerunner;
+索 > large\-rope;
+丁 > male\-adult;
+遍 > everywhere;
+辈 > generation;
+蒔 > transplant;
+懂 > understand;
+释 > interprete;
+纵 > indulge\-in;
+灭 > extinguish;
+歴 > take\-place;
+仁 > humaneness;
+檀 > sandalwood;
+削 > scrape\-off;
+刑 > punishment;
+岂 > how\?\-what\?;
+隆 > prosperous;
+辉 > brightness;
+刃 > edged\-tool;
+析 > split\-wood;
+腸 > intestines;
+業 > profession;
+楓 > maple\-tree;
+餅 > rice\-cakes;
+枫 > maple\-tree;
+傍 > by\-side\-of;
+耽 > indulge\-in;
+頻 > frequently;
+栓 > wooden\-peg;
+響 > make\-sound;
+凯 > triumphant;
+恭 > respectful;
+祸 > misfortune;
+频 > frequently;
+禅 > meditation;
+柯 > axe\-handle;
+捐 > contribute;
+踪 > footprints;
+屁 > break\-wind;
+谊 > friendship;
+储 > save\-money;
+雁 > wild\-goose;
+摊 > spread\-out;
+吨 > metric\-ton;
+乍 > first\-time;
+陀 > steep\-bank;
+縱 > indulge\-in;
+縦 > indulge\-in;
+肠 > intestines;
+赚 > make\-money;
+綿 > cotton\-wad;
+綱 > heavy\-rope;
+绵 > cotton\-wad;
+抑 > press\-down;
+饼 > rice\-cakes;
+彬 > cultivated;
+撮 > little\-bit;
+粥 > rice\-gruel;
+蛮 > barbarians;
+箸 > chopsticks;
+筵 > bamboo\-mat;
+艇 > small\-boat;
+捌 > break\-open;
+笠 > bamboo\-hat;
+庞 > disorderly;
+鋪 > spread\-out;
+竝 > to\-combine;
+積 > accumulate;
+扉 > door\-panel;
+纲 > heavy\-rope;
+釋 > interprete;
+釈 > interprete;
+坝 > embankment;
+憧 > irresolute;
+甩 > throw\-away;
+祕 > mysterious;
+酌 > serve\-wine;
+磐 > large\-rock;
+辅 > cheek\-bone;
+捡 > to\-pick\-up;
+筷 > chopsticks;
+蹈 > stamp\-feet;
+晒 > dry\-in\-sun;
+歼 > annihilate;
+涩 > astringent;
+霎 > light\-rain;
+擅 > monopolize;
+蔬 > vegetables;
+绸 > silk\-cloth;
+眯 > be\-blinded;
+寅 > to\-respect;
+虏 > to\-capture;
+眶 > eye\-socket;
+碟 > small\-dish;
+蕴 > to\-collect;
+迭 > repeatedly;
+旭 > rising\-sun;
+悍 > courageous;
+枢 > door\-hinge;
+跋 > go\-by\-foot;
+圪 > \(phonetic\);
+搔 > to\-scratch;
+嚎 > cry\-loudly;
+辙 > wagon\-ruts;
+汛 > high\-water;
+脯 > dried\-meat;
+嗒 > to\-despair;
+墟 > high\-mound;
+馋 > gluttonous;
+娼 > prostitute;
+蹭 > to\-shuffle;
+澈 > thoroughly;
+缭 > wind\-round;
+喳 > whispering;
+弧 > wooden\-bow;
+跺 > stamp\-feet;
+惆 > distressed;
+撵 > drive\-away;
+殃 > misfortune;
+恪 > respectful;
+轶 > rush\-forth;
+腆 > prosperous;
+窿 > mine\-shaft;
+樵 > woodcutter;
+犀 > rhinoceros;
+绚 > variegated;
+藕 > lotus\-root;
+摞 > to\-pile\-up;
+滤 > strain\-out;
+缈 > indistinct;
+肪 > animal\-fat;
+甄 > to\-examine;
+铛 > frying\-pan;
+嫡 > legal\-wife;
+瘁 > feel\-tired;
+磷 > phosphorus;
+翡 > kingfisher;
+瞑 > close\-eyes;
+霭 > cloudy\-sky;
+舫 > fancy\-boat;
+纨 > white\-silk;
+榷 > footbridge;
+糜 > rice\-gruel;
+壹 > number\-one;
+蔗 > sugar\-cane;
+彗 > broomstick;
+喟 > heave\-sigh;
+喑 > to\-be\-dumb;
+鱿 > cuttlefish;
+倜 > raise\-high;
+侩 > go\-between;
+滂 > torrential;
+贰 > number\-two;
+忻 > delightful;
+燧 > flintstone;
+稔 > ripe\-grain;
+嫔 > court\-lady;
+颉 > fly\-upward;
+舸 > large\-boat;
+眙 > to\-gaze\-at;
+瘀 > a\-hematoma;
+夯 > heavy\-load;
+饕 > gluttonous;
+鲠 > fish\-bones;
+茏 > tall\-grass;
+茯 > china\-root;
+鲧 > giant\-fish;
+逦 > meandering;
+骜 > wild\-horse;
+欹 > fierce\-dog;
+缛 > decorative;
+苕 > rush\-plant;
+顸 > large\-face;
+尕 > \(phonetic\);
+缦 > plain\-silk;
+帙 > book\-cover;
+鳃 > fish\-gills;
+醴 > sweet\-wine;
+辊 > turn\-round;
+岘 > steep\-hill;
+倬 > noticeable;
+鲞 > dried\-fish;
+簟 > bamboo\-mat;
+稹 > accumulate;
+缁 > black\-silk;
+箧 > rattan\-box;
+墁 > to\-plaster;
+罴 > brown\-bear;
+爰 > lead\-on\-to;
+杲 > bright\-sun;
+癔 > hysterical;
+枋 > sandalwood;
+莜 > avena\-nuda;
+埙 > instrument;
+獾 > the\-badger;
+莳 > transplant;
+郫 > place\-name;
+蛏 > razor\-clam;
+橥 > wooden\-peg;
+帑 > a\-treasury;
+揠 > to\-pull\-up;
+趑 > can''t\-move;
+阍 > gatekeeper;
+掊 > to\-extract;
+镝 > dysprosium;
+砗 > giant\-clam;
+嫫 > ugly\-woman;
+蔌 > vegetables;
+跗 > the\-instep;
+浼 > to\-request;
+嗌 > the\-throat;
+唑 > \(phonetic\);
+汆 > to\-parboil;
+刭 > cut\-throat;
+髂 > the\-pelvis;
+艋 > small\-boat;
+钼 > molybdenum;
+憝 > to\-dislike;
+炅 > brilliance;
+隳 > to\-destroy;
+茛 > ranunculus;
+糇 > dried\-rice;
+钆 > gadolinium;
+澌 > to\-exhaust;
+庀 > to\-prepare;
+犴 > a\-wild\-dog;
+埏 > a\-boundary;
+凵 > receptacle;
+谮 > to\-slander;
+龢 > in\-harmony;
+龐 > disorderly;
+龎 > disorderly;
+鼧 > the\-marmot;
+鼄 > the\-spider;
+黹 > embroidery;
+黲 > grey\-black;
+黪 > grey\-black;
+黤 > blue\-black;
+鸺 > horned\-owl;
+鵒 > mynah\-bird;
+鵂 > horned\-owl;
+鴷 > woodpecker;
+鴈 > wild\-goose;
+鳲 > turtledove;
+鳫 > wild\-goose;
+鲰 > small\-fish;
+鱐 > dried\-fish;
+鱇 > anglerfish;
+鰓 > fish\-gills;
+鰂 > cuttlefish;
+鯫 > small\-fish;
+鯗 > dried\-fish;
+鯁 > fish\-bones;
+鯀 > giant\-fish;
+鮿 > dried\-fish;
+鮟 > anglerfish;
+鮝 > dried\-fish;
+鮁 > the\-bonito;
+魷 > cuttlefish;
+魛 > the\-mullet;
+鬨 > boisterous;
+鬜 > to\-go\-bald;
+髣 > similar\-to;
+髁 > thigh\-bone;
+驁 > wild\-horse;
+騗 > to\-swindle;
+騋 > tall\-horse;
+騉 > fine\-horse;
+駰 > grey\-horse;
+馹 > post\-horse;
+饞 > gluttonous;
+餠 > rice\-cakes;
+頡 > fly\-upward;
+頇 > large\-face;
+鞡 > leg\-warmer;
+靰 > leg\-warmer;
+靝 > the\-heaven;
+靉 > cloudy\-sky;
+靆 > cloudy\-sky;
+靄 > cloudy\-sky;
+雰 > atmosphere;
+雙 > set\-of\-two;
+隮 > ti\-rise\-up;
+陻 > small\-hill;
+陑 > place\-name;
+阯 > foundation;
+闟 > peacefully;
+閽 > gatekeeper;
+閧 > boisterous;
+镚 > small\-coin;
+锬 > long\-spear;
+钷 > promethium;
+鐺 > frying\-pan;
+鐶 > metal\-ring;
+鐚 > soft\-steel;
+鐒 > lawrencium;
+鐀 > a\-cupboard;
+鏑 > dysprosium;
+鎪 > to\-engrave;
+鎛 > large\-bell;
+鍀 > technetium;
+錟 > long\-spear;
+錞 > instrument;
+錏 > soft\-steel;
+鉬 > molybdenum;
+鈊 > cadolinium;
+釓 > gadolinium;
+醡 > wine\-press;
+醝 > white\-wine;
+酅 > raise\-feet;
+郹 > place\-name;
+邐 > meandering;
+逬 > to\-scatter;
+輥 > turn\-round;
+輔 > cheek\-bone;
+軼 > rush\-forth;
+躩 > take\-quick;
+躛 > exaggerate;
+躗 > exaggerate;
+蹤 > footprints;
+踧 > uneasiness;
+踜 > to\-stumble;
+踖 > trample\-on;
+跥 > stamp\-feet;
+跐 > to\-trample;
+跁 > trample\-on;
+趦 > can''t\-move;
+貳 > number\-two;
+貮 > number\-two;
+豈 > how\?\-what\?;
+豀 > to\-quarrel;
+譭 > to\-slander;
+譛 > to\-slander;
+譖 > to\-slander;
+譒 > promulgate;
+謪 > to\-consult;
+諴 > in\-harmony;
+諟 > to\-examine;
+誼 > friendship;
+誩 > to\-quarrel;
+討 > to\-discuss;
+觃 > place\-name;
+覸 > steal\-look;
+覵 > steal\-look;
+襡 > short\-coat;
+裪 > the\-sleeve;
+袲 > place\-name;
+袠 > book\-cover;
+袟 > book\-cover;
+蠻 > barbarians;
+蟶 > razor\-clam;
+蟫 > silverfish;
+蟣 > louse\-eggs;
+蟁 > a\-mosquito;
+蛜 > wood\-louse;
+蘢 > tall\-grass;
+薧 > dried\-food;
+蕡 > hemp\-seeds;
+蓷 > motherwort;
+蒽 > anthracene;
+蒦 > to\-measure;
+蒖 > plant\-name;
+葯 > orris\-root;
+莚 > bamboo\-mat;
+荵 > polemonium;
+艬 > large\-ship;
+艑 > small\-boat;
+舴 > small\-boat;
+膓 > intestines;
+脪 > erysipelas;
+脩 > dried\-meat;
+脗 > coinciding;
+肸 > spread\-out;
+肦 > large\-head;
+聟 > son\-in\-law;
+翀 > fly\-upward;
+羆 > brown\-bear;
+绋 > large\-rope;
+繚 > wind\-round;
+繐 > fine\-cloth;
+縵 > plain\-silk;
+縟 > decorative;
+縇 > decoration;
+緲 > indistinct;
+緜 > cotton\-wad;
+緇 > black\-silk;
+綢 > silk\-cloth;
+絺 > fine\-linen;
+絢 > variegated;
+絛 > silk\-braid;
+絖 > fine\-silks;
+絓 > obstructed;
+紼 > large\-rope;
+紈 > white\-silk;
+粻 > provisions;
+粦 > phosphorus;
+簥 > large\-pipe;
+篹 > to\-collect;
+篲 > broomstick;
+篋 > ratton\-box;
+箠 > horse\-whip;
+箚 > brief\-note;
+筯 > chopsticks;
+竰 > centiliter;
+竡 > hectoliter;
+竓 > milliliter;
+窰 > brick\-kiln;
+穭 > wild\-grain;
+稆 > wild\-grain;
+禪 > meditation;
+禚 > place\-name;
+禍 > misfortune;
+祅 > calamities;
+磑 > stone\-mill;
+硨 > giant\-clam;
+硙 > stone\-mill;
+硃 > a\-red\-mole;
+矁 > to\-look\-at;
+睟 > clear\-eyed;
+眆 > indistinct;
+疕 > head\-sores;
+畓 > rice\-field;
+畁 > to\-give\-to;
+產 > give\-birth;
+玔 > green\-jade;
+玅 > mysterious;
+猘 > fierce\-dog;
+犛 > a\-black\-ox;
+牏 > privy\-hole;
+牋 > memorandum;
+爫 > radical\-87;
+燐 > phosphorus;
+熅 > smooth\-out;
+烕 > to\-destroy;
+灺 > candle\-end;
+灒 > to\-spatter;
+濾 > strain\-out;
+濙 > to\-revolve;
+濇 > astringent;
+濆 > river\-bank;
+澁 > astringent;
+澀 > astringent;
+溾 > light\-rain;
+渋 > astringent;
+涘 > river\-bank;
+泆 > licentious;
+殲 > annihilate;
+殱 > annihilate;
+歷 > take\-place;
+欃 > sandalwood;
+櫾 > the\-pomelo;
+櫫 > wooden\-peg;
+檼 > ridge\-pole;
+橴 > place\-name;
+樞 > door\-hinge;
+榼 > wine\-glass;
+榦 > tree\-trunk;
+楪 > small\-dish;
+椵 > pompelmous;
+椳 > the\-pivots;
+椌 > instrument;
+栴 > sandalwood;
+栛 > the\-lichee;
+栘 > fruit\-tree;
+柷 > instrument;
+杢 > woodworker;
+朌 > distribute;
+曬 > dry\-in\-sun;
+暘 > rising\-sun;
+旕 > place\-name;
+旀 > place\-name;
+斢 > to\-plunder;
+斒 > variegated;
+攤 > spread\-out;
+攆 > drive\-away;
+擪 > to\-tuck\-in;
+擥 > drive\-away;
+撿 > to\-pick\-up;
+撱 > to\-shorten;
+掱 > pickpocket;
+掎 > drag\-aside;
+挭 > fish\-bones;
+抅 > to\-collect;
+扡 > drag\-along;
+憸 > to\-flatter;
+憍 > be\-haughty;
+憀 > to\-rely\-on;
+愮 > distressed;
+愓 > profligate;
+惏 > avaricious;
+恛 > disordered;
+怲 > be\-anxious;
+忋 > to\-rely\-on;
+徧 > everywhere;
+彿 > resembling;
+弍 > number\-two;
+弌 > number\-one;
+弇 > cover\-over;
+廱 > harmonious;
+廀 > to\-conceal;
+庴 > place\-name;
+巼 > place\-name;
+巂 > place\-name;
+嵙 > place\-name;
+峴 > steep\-hill;
+峓 > place\-name;
+屢 > frequently;
+屄 > the\-vagina;
+専 > monopolize;
+宼 > tyrannical;
+孼 > misfortune;
+媟 > lust\-after;
+夅 > to\-descend;
+壩 > embankment;
+壎 > instrument;
+塲 > open\-space;
+塤 > instrument;
+堮 > a\-boundary;
+堃 > compliance;
+坒 > to\-compare;
+圦 > water\-gate;
+囌 > loquacious;
+嚵 > gluttonous;
+嚲 > read\-aloud;
+噸 > metric\-ton;
+噐 > receptacle;
+嘂 > cry\-loudly;
+嗭 > place\-name;
+喸 > place\-name;
+営 > encampment;
+唽 > to\-twitter;
+唟 > place\-name;
+呴 > breathe\-on;
+叆 > cloudy\-sky;
+卝 > hair\-style;
+劏 > to\-butcher;
+劄 > brief\-note;
+剳 > brief\-note;
+剄 > cut\-throat;
+刼 > to\-plunder;
+刄 > edged\-tool;
+凴 > to\-rely\-on;
+凱 > triumphant;
+凂 > to\-request;
+冘 > to\-move\-on;
+兟 > to\-advance;
+儈 > go\-between;
+僩 > courageous;
+偭 > transgress;
+偝 > not\-facing;
+倀 > bewildered;
+俻 > to\-prepare;
+伷 > descendent;
+仛 > young\-girl;
+亯 > to\-receive;
+丨 > number\-one;
+䶫 > fine\-teeth;
+䶉 > guinea\-pig;
+䵪 > pure\-black;
+䵝 > dark\-black;
+䵇 > to\-dislike;
+䳕 > the\-pigeon;
+䳌 > the\-cuckoo;
+䳀 > the\-cuckoo;
+䲫 > the\-pigeon;
+䲩 > the\-cuckoo;
+䲥 > the\-pigeon;
+䱝 > black\-carp;
+䱆 > small\-fish;
+䱅 > the\-mullet;
+䱄 > a\-flatfish;
+䰺 > a\-flatfish;
+䰬 > wild\-ghost;
+䰄 > short\-hair;
+䯔 > to\-incline;
+䯑 > the\-pelvis;
+䯌 > the\-sacrum;
+䯊 > the\-pelvis;
+䯈 > the\-pelvis;
+䮯 > fine\-horse;
+䮍 > curling\-up;
+䮌 > fine\-horse;
+䭸 > a\-stallion;
+䭣 > rice\-cakes;
+䭄 > gluttonous;
+䬷 > well\-feed\.;
+䬢 > gluttonous;
+䫥 > a\-wry\-neck;
+䫣 > a\-wry\-neck;
+䫞 > large\-head;
+䫓 > large\-head;
+䪺 > teethridge;
+䪠 > pulverized;
+䩱 > a\-scabbard;
+䩰 > a\-scabbard;
+䩢 > a\-scabbard;
+䩙 > a\-scabbard;
+䩃 > appearance;
+䩁 > thin\-hairs;
+䨽 > to\-resolve;
+䨩 > the\-spirit;
+䨠 > cloudy\-sky;
+䧿 > the\-magpie;
+䧲 > the\-magpie;
+䧱 > the\-pigeon;
+䧣 > to\-stop\-up;
+䦯 > very\-dense;
+䦧 > to\-quarrel;
+䦍 > to\-include;
+䥎 > instrument;
+䤾 > to\-contain;
+䤽 > farm\-tools;
+䤼 > metal\-wire;
+䤹 > to\-engrave;
+䤇 > white\-wine;
+䢥 > in\-harmony;
+䡧 > a\-carriage;
+䡤 > a\-carriage;
+䡚 > implements;
+䡎 > a\-windlass;
+䠸 > obsequious;
+䠶 > to\-project;
+䠪 > footprints;
+䠩 > to\-urinate;
+䠦 > to\-stumble;
+䠟 > to\-trip\-up;
+䠘 > one\-legged;
+䟼 > footprints;
+䟪 > repeatedly;
+䟡 > to\-trample;
+䟙 > to\-stagger;
+䟄 > in\-a\-hurry;
+䞅 > to\-give\-to;
+䝿 > honourabel;
+䝷 > securities;
+䝴 > to\-present;
+䝱 > to\-trouble;
+䝔 > the\-badger;
+䜛 > to\-slander;
+䜙 > not\-clever;
+䜒 > expression;
+䜑 > to\-slander;
+䜋 > to\-suspend;
+䛽 > loquacious;
+䛼 > to\-slander;
+䛲 > to\-deceive;
+䛮 > to\-destroy;
+䛫 > to\-deceive;
+䛩 > to\-slander;
+䛦 > litigation;
+䛖 > loquacious;
+䛕 > to\-flatter;
+䛍 > loquacious;
+䛅 > loquacious;
+䛄 > to\-console;
+䚹 > to\-prepare;
+䚰 > to\-prepare;
+䚓 > to\-observe;
+䚍 > to\-look\-at;
+䚇 > to\-observe;
+䙺 > to\-observe;
+䙚 > curling\-up;
+䘡 > the\-sleeve;
+䘕 > prostitute;
+䖳 > jelly\-fish;
+䕡 > compositae;
+䔘 > fish\-paste;
+䓵 > to\-blossom;
+䓤 > vegetation;
+䓆 > to\-cut\-the;
+䒢 > sweet\-flag;
+䑿 > small\-boat;
+䑰 > small\-boat;
+䑭 > war\-vessel;
+䑡 > small\-boat;
+䑍 > to\-swallow;
+䐢 > to\-wrinkle;
+䏭 > the\-cheeks;
+䏌 > to\-vibrate;
+䏋 > respectful;
+䎟 > to\-fawn\-on;
+䍵 > young\-goat;
+䍞 > a\-drag\-net;
+䍗 > to\-hang\-up;
+䍔 > a\-full\-net;
+䌀 > to\-arrange;
+䋶 > to\-stumble;
+䋱 > a\-wild\-yak;
+䊷 > black\-silk;
+䊩 > rice\-gravy;
+䉍 > to\-observe;
+䇎 > to\-startle;
+䇇 > the\-people;
+䆒 > to\-examine;
+䆋 > the\-autumn;
+䅔 > dead\-crops;
+䄟 > to\-worship;
+䄓 > to\-worship;
+䄑 > to\-worship;
+䄐 > to\-worship;
+䄆 > to\-worship;
+䄅 > to\-worship;
+䄃 > misfortune;
+䄁 > to\-worship;
+䂄 > to\-startle;
+䁺 > to\-look\-at;
+䁯 > to\-look\-at;
+䁞 > a\-province;
+䁘 > to\-look\-at;
+䁕 > to\-look\-at;
+䁓 > to\-look\-at;
+䁉 > to\-examine;
+䁈 > to\-examine;
+䁁 > strabismus;
+䀶 > strabismus;
+䀱 > to\-examine;
+䀯 > to\-look\-at;
+䀙 > to\-look\-at;
+䀆 > to\-exhaust;
+㾙 > erysipelas;
+㽨 > fragmented;
+㽣 > a\-frontier;
+㽘 > borderland;
+㼹 > eartenware;
+㺳 > black\-mica;
+㺓 > footprints;
+㺏 > the\-badger;
+㺅 > the\-monkey;
+㹈 > a\-black\-ox;
+㸨 > a\-big\-bull;
+㸌 > to\-twinkle;
+㷷 > thick\-soup;
+㷡 > to\-startle;
+㶭 > almost\-dry;
+㶜 > deep\-water;
+㵟 > light\-rain;
+㵀 > water\-flow;
+㴜 > everywhere;
+㳁 > water\-flow;
+㲯 > long\-hairy;
+㲞 > short\-hair;
+㲕 > variegated;
+㲌 > dog''s\-hair;
+㲉 > egg\-shells;
+㱸 > to\-exhaust;
+㱰 > to\-destroy;
+㱦 > to\-discard;
+㱤 > to\-exhaust;
+㱜 > pestilence;
+㱛 > to\-destroy;
+㱚 > to\-destroy;
+㰸 > to\-collect;
+㰑 > fruit\-tree;
+㯇 > a\-stockade;
+㭘 > a\-scabbard;
+㭉 > farm\-tools;
+㬱 > to\-replace;
+㬪 > to\-fold\-up;
+㬜 > to\-advance;
+㫤 > a\-long\-day;
+㪴 > to\-measure;
+㪜 > to\-measure;
+㪚 > to\-scatter;
+㪔 > to\-scatter;
+㪌 > to\-lead\-on;
+㪉 > to\-combine;
+㩹 > to\-pile\-on;
+㩸 > to\-pile\-on;
+㩪 > to\-collect;
+㩞 > to\-back\-up;
+㩝 > to\-compare;
+㩚 > to\-collect;
+㩖 > to\-back\-up;
+㩍 > to\-back\-up;
+㩀 > to\-receive;
+㨿 > to\-receive;
+㨳 > a\-cupboard;
+㨲 > to\-back\-up;
+㨯 > to\-enlarge;
+㨮 > to\-lift\-up;
+都 > metropolis;
+㨊 > to\-discard;
+笠 > bamboo\-hat;
+燐 > phosphorus;
+隆 > prosperous;
+六 > number\-six;
+醴 > sweet\-wine;
+㦶 > repeatedly;
+㦩 > melancholy;
+㦚 > melancholy;
+歷 > take\-place;
+濾 > strain\-out;
+㦂 > constantly;
+㥶 > to\-fill\-up;
+索 > large\-rope;
+㥣 > to\-benefit;
+㥚 > melancholy;
+屢 > frequently;
+㤷 > to\-debauch;
+㤩 > to\-respect;
+㤐 > disharmony;
+豈 > how\?\-what\?;
+㣽 > to\-forgive;
+㣅 > bow\-string;
+㣀 > to\-rebound;
+㢭 > a\-bow\-case;
+㢚 > a\-corridor;
+㢏 > a\-cesspool;
+㡥 > to\-curl\-up;
+㞠 > male\-organ;
+㞎 > body\-waste;
+㞆 > one\-legged;
+㝯 > to\-sojourn;
+㜅 > to\-fawn\-on;
+㛪 > to\-slander;
+㚠 > full\-grown;
+㚏 > to\-scatter;
+㙺 > cross\-road;
+㙴 > to\-conceal;
+㙲 > to\-stop\-up;
+㙉 > prosperous;
+㘿 > to\-fill\-up;
+㘻 > to\-stop\-up;
+㘧 > precedence;
+㘝 > to\-take\-in;
+㗬 > thick\-lips;
+㗫 > to\-whisper;
+㗢 > loquacious;
+㗋 > the\-throat;
+㗇 > to\-swallow;
+㗄 > to\-deceive;
+㖶 > to\-swallow;
+㖘 > to\-startle;
+㖆 > to\-condemn;
+㕫 > to\-imitate;
+㕍 > to\-heap\-up;
+㕆 > fine\-stone;
+㔷 > to\-secrete;
+㔘 > to\-degrade;
+㔓 > to\-stammer;
+㔌 > to\-cut\-off;
+㓺 > castration;
+㓮 > to\-engrave;
+㓞 > to\-engrave;
+㓂 > tyrannical;
+㒷 > to\-prosper;
+㒝 > to\-deceive;
+㒜 > respectful;
+㒊 > loquacious;
+㑜 > to\-engrave;
+㑂 > to\-imitate;
+㐤 > to\-implore;
+了 > to\-finish;
+子 > offspring;
+徹 > penetrate;
+要 > necessary;
+辱 > humiliate;
+着 > make\-move;
+成 > completed;
+督 > supervise;
+輯 > gather\-up;
+弥 > extensive;
+監 > supervise;
+美 > beautiful;
+廂 > side\-room;
+问 > ask\-about;
+庭 > courtyard;
+療 > be\-healed;
+痺 > paralysis;
+差 > to\-differ;
+难 > difficult;
+超 > jump\-over;
+異 > different;
+亲 > relatives;
+畫 > delineate;
+畜 > livestock;
+畑 > dry\-field;
+甘 > sweetness;
+认 > recognize;
+貴 > expensive;
+貝 > sea\-shell;
+院 > courtyard;
+达 > arrive\-at;
+众 > multitude;
+识 > recognize;
+倒 > fall\-over;
+玩 > play\-with;
+像 > a\-picture;
+宅 > residence;
+据 > to\-occupy;
+譯 > translate;
+譫 > talkative;
+識 > recognize;
+造 > construct;
+媼 > old\-woman;
+犠 > sacrifice;
+認 > recognize;
+牒 > documents;
+牌 > signboard;
+婆 > old\-woman;
+訳 > translate;
+爐 > fireplace;
+久 > long\-time;
+妾 > concubine;
+初 > beginning;
+親 > relatives;
+除 > eliminate;
+况 > condition;
+乱 > confusion;
+创 > establish;
+福 > happiness;
+辑 > gather\-up;
+假 > falsehood;
+穿 > penetrate;
+衆 > multitude;
+顾 > look\-back;
+蠶 > silkworms;
+丽 > beautiful;
+渐 > gradually;
+异 > different;
+瞧 > glance\-at;
+埒 > enclosure;
+埃 > fine\-dust;
+螢 > glow\-worm;
+退 > step\-back;
+蜻 > dragonfly;
+漸 > gradually;
+翻 > flip\-over;
+圏 > to\-circle;
+普 > universal;
+蛹 > chrysalis;
+临 > draw\-near;
+蛉 > dragonfly;
+协 > be\-united;
+麗 > beautiful;
+蚕 > silkworms;
+湯 > hot\-water;
+例 > precedent;
+贵 > expensive;
+洲 > continent;
+松 > pine\-tree;
+伙 > companion;
+毫 > fine\-hair;
+蕎 > buckwheat;
+输 > transport;
+況 > condition;
+监 > supervise;
+折 > break\-off;
+汰 > excessive;
+君 > sovereign;
+危 > dangerous;
+概 > generally;
+透 > penetrate;
+圈 > to\-circle;
+殊 > different;
+殆 > dangerous;
+厄 > adversity;
+汇 > concourse;
+厉 > whetstone;
+附 > adhere\-to;
+肩 > shoulders;
+魘 > nightmare;
+協 > be\-united;
+荒 > wasteland;
+鬱 > luxuriant;
+译 > translate;
+匠 > craftsman;
+欝 > luxuriant;
+伴 > companion;
+匂 > fragrance;
+勸 > recommend;
+勧 > recommend;
+飘 > whirlwind;
+艶 > beautiful;
+創 > establish;
+炮 > large\-gun;
+贝 > sea\-shell;
+郎 > gentleman;
+陪 > accompany;
+臨 > draw\-near;
+凝 > coagulate;
+冗 > excessive;
+劝 > recommend;
+剩 > leftovers;
+饒 > bountiful;
+疗 > be\-healed;
+汤 > hot\-water;
+彻 > penetrate;
+飜 > flip\-over;
+僚 > companion;
+肘 > the\-elbow;
+肖 > look\-like;
+昨 > yesterday;
+暂 > temporary;
+递 > hand\-over;
+顧 > look\-back;
+祥 > good\-luck;
+倹 > temperate;
+艰 > difficult;
+仗 > rely\-upon;
+柿 > persimmon;
+键 > door\-bolt;
+枯 > dried\-out;
+莱 > goosefoot;
+赔 > indemnify;
+逢 > come\-upon;
+睁 > open\-eyes;
+嘿 > be\-silent;
+仮 > falsehood;
+難 > difficult;
+贪 > be\-greedy;
+暫 > temporary;
+逝 > pass\-away;
+亂 > confusion;
+艾 > artemisia;
+芬 > fragrance;
+袍 > long\-gown;
+冤 > grievance;
+饶 > bountiful;
+炉 > fireplace;
+迪 > enlighten;
+嘉 > excellent;
+閾 > threshold;
+綾 > thin\-silk;
+艳 > beautiful;
+膀 > upper\-arm;
+牺 > sacrifice;
+顽 > obstinate;
+歉 > deficient;
+帅 > commander;
+憾 > to\-regret;
+劈 > cut\-apart;
+拂 > shake\-off;
+鍵 > door\-bolt;
+筈 > arrow\-end;
+拠 > to\-occupy;
+厢 > side\-room;
+熬 > cook\-down;
+払 > shake\-off;
+寓 > residence;
+稼 > sow\-grain;
+恍 > seemingly;
+绣 > embroider;
+懃 > courteous;
+衬 > underwear;
+慊 > to\-resent;
+膊 > shoulders;
+潭 > deep\-pool;
+旷 > extensive;
+硝 > saltpeter;
+達 > arrive\-at;
+逹 > arrive\-at;
+骤 > procedure;
+苹 > artemisia;
+忿 > get\-angry;
+坠 > fall\-down;
+蝶 > butterfly;
+焉 > thereupon;
+禀 > report\-to;
+挫 > push\-down;
+鳄 > alligator;
+谐 > harmonize;
+屎 > excrement;
+叨 > talkative;
+葱 > scallions;
+枣 > date\-tree;
+侣 > companion;
+谴 > reprimand;
+汹 > turbulent;
+瘫 > paralysis;
+蔚 > luxuriant;
+泻 > drain\-off;
+俭 > temperate;
+瀑 > waterfall;
+蝴 > butterfly;
+樊 > a\-railing;
+敛 > draw\-back;
+禧 > happiness;
+茵 > a\-cushion;
+棕 > hemp\-palm;
+娟 > beautiful;
+倩 > beautiful;
+辗 > turn\-over;
+恤 > show\-pity;
+侈 > luxurious;
+夥 > companion;
+沁 > soak\-into;
+槛 > threshold;
+匣 > small\-box;
+捎 > to\-select;
+痪 > paralysis;
+痞 > dyspepsia;
+睐 > squint\-at;
+垦 > cultivate;
+浒 > riverbank;
+葵 > sunflower;
+睫 > eyelashes;
+痊 > be\-healed;
+哺 > chew\-food;
+竣 > terminate;
+囔 > muttering;
+藐 > disregard;
+忒 > excessive;
+埠 > port\-city;
+荤 > meat\-diet;
+祺 > good\-luck;
+蜒 > millipede;
+菇 > mushrooms;
+豚 > small\-pig;
+沓 > connected;
+弩 > cross\-bow;
+殇 > die\-young;
+萤 > glow\-worm;
+栈 > warehouse;
+醺 > get\-drunk;
+蜈 > centipede;
+佼 > beautiful;
+蚣 > centipede;
+愫 > guileless;
+谙 > versed\-in;
+熹 > dim\-light;
+怂 > instigate;
+馥 > fragrance;
+恿 > instigate;
+遛 > take\-walk;
+痹 > paralysis;
+麾 > a\-pennant;
+媲 > marry\-off;
+蜓 > dragonfly;
+镁 > magnesium;
+椰 > palm\-tree;
+砺 > whetstone;
+痢 > dysentery;
+嗑 > eat\-seeds;
+蚯 > earthworm;
+蜚 > cockroach;
+蚓 > earthworm;
+魇 > nightmare;
+阆 > high\-door;
+妪 > old\-woman;
+擀 > roll\-flat;
+妍 > beautiful;
+姣 > beautiful;
+袤 > longitude;
+麝 > musk\-deer;
+荟 > luxuriant;
+佻 > frivolous;
+钾 > potassium;
+飙 > whirlwind;
+孑 > remaining;
+檄 > call\-arms;
+隍 > dry\-ditch;
+诿 > pass\-buck;
+绫 > thin\-silk;
+逄 > a\-surname;
+梏 > handcuffs;
+祉 > happiness;
+蟑 > cockroach;
+钺 > broad\-axe;
+荞 > buckwheat;
+柑 > tangerine;
+婵 > beautiful;
+娉 > beautiful;
+讧 > confusion;
+乜 > to\-squint;
+俦 > companion;
+燮 > harmonize;
+飚 > whirlwind;
+姹 > beautiful;
+愎 > obstinate;
+娲 > a\-goddess;
+忝 > disgraced;
+葳 > luxuriant;
+诮 > criticize;
+鳏 > huge\-fish;
+蜇 > jellyfish;
+劭 > encourage;
+兖 > establish;
+呶 > talkative;
+癣 > ringworms;
+绦 > silk\-cord;
+钸 > plutonium;
+馗 > cheekbone;
+锰 > manganese;
+侪 > a\-company;
+凫 > wild\-duck;
+痱 > heat\-rash;
+痈 > carbuncle;
+悌 > brotherly;
+冼 > \(surname\);
+鹧 > partridge;
+悒 > sorrowful;
+怃 > regretful;
+墒 > wet\-tilth;
+訾 > bad\-mouth;
+圮 > destroyed;
+鲈 > sea\-perch;
+钚 > plutonium;
+痿 > paralysis;
+攉 > to\-beckon;
+鲇 > sheatfish;
+膈 > diaphragm;
+犍 > a\-bullock;
+妤 > beautiful;
+锗 > germanium;
+鎏 > pure\-gold;
+镅 > americium;
+辂 > a\-chariot;
+媪 > old\-woman;
+孓 > beautiful;
+跸 > clear\-way;
+疔 > carbuncle;
+煳 > be\-burned;
+牾 > to\-oppose;
+昀 > sun\-light;
+乩 > to\-divine;
+羟 > hydroxide;
+荽 > coriander;
+谵 > talkative;
+绠 > well\-rope;
+哓 > garrulous;
+脬 > a\-bladder;
+戡 > subjugate;
+辇 > hand\-cart;
+阈 > threshold;
+鹚 > cormorant;
+镞 > arrowhead;
+菰 > wild\-rice;
+蠖 > inch\-worm;
+铫 > large\-hoe;
+氘 > deuterium;
+黾 > to\-strive;
+镧 > lanthanum;
+垡 > plow\-soil;
+炔 > acetylene;
+鸬 > cormorant;
+镱 > ytterbium;
+钕 > neodymium;
+忭 > delighted;
+莪 > artemisia;
+苴 > sackcloth;
+谳 > to\-decide;
+钯 > palladium;
+碲 > tellurium;
+璩 > jade\-ring;
+阃 > threshold;
+饫 > surfeited;
+撙 > economize;
+蓼 > smartweed;
+饔 > breakfast;
+锶 > strontium;
+硎 > whetstone;
+昃 > afternoon;
+唪 > to\-recite;
+蕈 > mushrooms;
+儇 > ingenious;
+鲴 > fish\-guts;
+鲅 > fish\-name;
+蠊 > cockroach;
+蚰 > millipede;
+铍 > beryllium;
+熳 > to\-spread;
+胍 > guanidine;
+迕 > obstinate;
+鲐 > globefish;
+酐 > anhydride;
+衄 > epistaxis;
+矧 > much\-more;
+悫 > sincerity;
+膦 > phosphine;
+缣 > fine\-silk;
+宄 > a\-traitor;
+阌 > wen\-xiang;
+哿 > excellent;
+阽 > dangerous;
+匦 > small\-box;
+酞 > phthalein;
+齳 > toothless;
+齭 > toothache;
+黽 > to\-strive;
+鸕 > cormorant;
+鷾 > a\-swallow;
+鷭 > water\-hen;
+鷧 > cormorant;
+鷥 > the\-egret;
+鷓 > partridge;
+鷏 > bird\-name;
+鷆 > bird\-name;
+鶿 > cormorant;
+鶡 > crossbill;
+鵷 > co\-worker;
+鳬 > wild\-duck;
+鳧 > wild\-duck;
+鳢 > snakehead;
+鲎 > king\-crab;
+鱸 > sea\-perch;
+鱷 > crocodile;
+鱧 > snakehead;
+鱟 > king\-crab;
+鱛 > fish\-name;
+鰥 > huge\-fish;
+鰐 > alligator;
+鯠 > to\-confer;
+鯝 > fish\-guts;
+鮦 > snakefish;
+鮎 > sheatfish;
+鮀 > snakefish;
+魲 > fish\-name;
+魞 > fish\-trap;
+鬰 > luxuriant;
+鬖 > wild\-hair;
+髧 > long\-hair;
+髗 > the\-skull;
+骭 > shin\-bone;
+驟 > procedure;
+騧 > tan\-horse;
+騐 > to\-verity;
+駸 > galloping;
+馝 > fragrance;
+馛 > fragrance;
+馂 > leftovers;
+饠 > rice\-cake;
+餺 > rice\-cake;
+餱 > dry\-goods;
+餕 > leftovers;
+餈 > rice\-cake;
+飫 > surfeited;
+飥 > rice\-cake;
+飈 > whirlwind;
+飇 > whirlwind;
+飆 > whirlwind;
+飄 > whirlwind;
+飃 > whirlwind;
+颷 > whirlwind;
+颴 > whirlwind;
+頯 > cheekbone;
+頑 > obstinate;
+頄 > cheekbone;
+靪 > to\-cobble;
+靧 > wash\-face;
+靀 > drizzling;
+霂 > fine\-rain;
+隃 > to\-exceed;
+閿 > wen\-xiang;
+閺 > look\-down;
+閬 > high\-door;
+閫 > threshold;
+锫 > berkelium;
+锆 > zirconium;
+钶 > columbium;
+钌 > ruthenium;
+钁 > a\-mattock;
+鑭 > lanthanum;
+鑪 > fireplace;
+鐿 > ytterbium;
+鐻 > drumstick;
+鏛 > to\-polish;
+鏐 > pure\-gold;
+鏃 > arrowhead;
+鎿 > neptunium;
+鎞 > plowshare;
+鎇 > americium;
+鎂 > magnesium;
+鍺 > germanium;
+鍶 > strontium;
+錳 > manganese;
+錇 > berkelium;
+鋯 > zirconium;
+鋍 > beryllium;
+銤 > americium;
+銚 > large\-hoe;
+鉞 > broad\-axe;
+鈽 > plutonium;
+鈹 > beryllium;
+鈩 > fireplace;
+鈌 > to\-pierce;
+鈈 > plutonium;
+鈀 > palladium;
+釹 > neodymium;
+釕 > ruthenium;
+郞 > gentleman;
+遞 > hand\-over;
+逓 > hand\-over;
+輾 > turn\-over;
+輸 > transport;
+輘 > a\-car\-rut;
+輅 > a\-chariot;
+軷 > sacrifice;
+軄 > to\-govern;
+躔 > follow\-in;
+蹕 > clear\-way;
+蹔 > temporary;
+跩 > to\-waddle;
+趝 > to\-pursue;
+赿 > late\-slow;
+賸 > leftovers;
+賠 > indemnify;
+豵 > young\-pig;
+豓 > beautiful;
+讞 > to\-decide;
+譴 > reprimand;
+譊 > wrangling;
+譅 > wriggling;
+諳 > versed\-in;
+諧 > harmonize;
+諝 > knowledge;
+諉 > pass\-buck;
+誚 > criticize;
+誖 > obstinate;
+訠 > much\-more;
+訌 > confusion;
+襯 > underwear;
+裲 > waistcoat;
+蟺 > earthworm;
+螌 > a\-striped;
+蜨 > butterfly;
+蛵 > dragonfly;
+蛍 > glow\-worm;
+蚿 > millipede;
+蘞 > wild\-vine;
+薈 > luxuriant;
+蕗 > leucacene;
+蔹 > wild\-vine;
+蔥 > scallions;
+蓆 > straw\-mat;
+蒢 > hedysarum;
+葷 > meat\-diet;
+葓 > vegetable;
+萊 > goosefoot;
+菻 > artemisia;
+荍 > buckwheat;
+苠 > multitude;
+苙 > a\-pig\-sty;
+芼 > to\-choose;
+艷 > beautiful;
+艱 > difficult;
+艣 > stern\-oar;
+艎 > fast\-boat;
+舝 > linch\-pin;
+舘 > a\-mansion;
+臯 > to\-praise;
+胦 > the\-navel;
+耥 > farm\-tool;
+羶 > rank\-odor;
+羥 > hydroxide;
+罁 > a\-cistern;
+繣 > obstinate;
+繡 > embroider;
+繍 > embroider;
+縑 > fine\-silk;
+縃 > fine\-silk;
+緥 > swaddling;
+綉 > embroider;
+綆 > well\-rope;
+糰 > rice\-ball;
+糝 > scattered;
+粿 > rice\-cake;
+籨 > trousseau;
+簃 > side\-room;
+竕 > deciliter;
+竏 > kiloliter;
+竍 > decaliter;
+竆 > exhausted;
+窴 > glance\-at;
+窋 > in\-a\-hole;
+穪 > to\-praise;
+稬 > glutinous;
+稟 > report\-to;
+禴 > sacrifice;
+禤 > \(surname\);
+禜 > sacrifice;
+禖 > sacrifice;
+禕 > excellent;
+禔 > happiness;
+祦 > happiness;
+祎 > excellent;
+礿 > sacrifice;
+礽 > blessings;
+礪 > whetstone;
+礞 > \(mineral\);
+碬 > whetstone;
+碆 > arrow\-tip;
+硻 > obstinate;
+砮 > arrow\-tip;
+砬 > big\-stone;
+睞 > squint\-at;
+眕 > restraint;
+盵 > \(surname\);
+盚 > \(surname\);
+癱 > paralysis;
+癰 > carbuncle;
+癬 > ringworms;
+瘭 > a\-whitlow;
+瘜 > a\-polypus;
+瘓 > paralysis;
+痡 > a\-disease;
+痐 > whirlwind;
+疶 > dysentery;
+畵 > delineate;
+畱 > to\-detain;
+畋 > till\-land;
+甴 > cockroach;
+甪 > \(surname\);
+甦 > be\-reborn;
+甅 > centigram;
+瓸 > hectogram;
+瓱 > milligram;
+璿 > fine\-jade;
+瑴 > twin\-gems;
+瑣 > fragments;
+獀 > to\-gather;
+狳 > armadillo;
+犰 > armadillo;
+犧 > sacrifice;
+燶 > to\-scorch;
+燬 > burn\-down;
+燊 > luxuriant;
+熿 > brilliant;
+熺 > dim\-light;
+炘 > brilliant;
+瀉 > drain\-off;
+濩 > pour\-down;
+濛 > drizzling;
+滸 > riverbank;
+湼 > black\-mud;
+湏 > wash\-face;
+湅 > boil\-silk;
+淩 > pass\-over;
+涷 > rainstorm;
+洑 > whirlpool;
+沺 > turbulent;
+殤 > die\-young;
+殈 > infertile;
+殀 > die\-young;
+歛 > draw\-back;
+欕 > tree\-name;
+檻 > threshold;
+橚 > tall\-tree;
+樳 > tall\-tree;
+樋 > tree\-name;
+槪 > generally;
+槩 > generally;
+榪 > headboard;
+椶 > palm\-tree;
+棧 > warehouse;
+棥 > a\-railing;
+棗 > date\-tree;
+棖 > door\-stop;
+梜 > chopstick;
+梍 > tree\-name;
+栱 > large\-peg;
+栭 > king\-post;
+栟 > hemp\-palm;
+栒 > cross\-bar;
+柹 > persimmon;
+柈 > container;
+枾 > persimmon;
+枹 > drumstick;
+枩 > pine\-tree;
+枨 > door\-stop;
+枙 > tree\-knot;
+杩 > headboard;
+朞 > full\-year;
+朓 > sacrifice;
+曱 > cockroach;
+曠 > extensive;
+暍 > sunstroke;
+昿 > extensive;
+昪 > delighted;
+旪 > united\-in;
+旛 > a\-pennant;
+旙 > a\-pennant;
+斂 > draw\-back;
+敋 > to\-strike;
+攋 > to\-clutch;
+攃 > preceding;
+擿 > to\-select;
+據 > to\-occupy;
+擐 > to\-put\-on;
+擉 > to\-pierce;
+摽 > throw\-out;
+摮 > to\-rattle;
+摛 > to\-spread;
+搙 > to\-handle;
+搕 > to\-strike;
+揦 > to\-clutch;
+揥 > scratcher;
+掙 > to\-strive;
+扻 > to\-strike;
+扤 > to\-thrust;
+戜 > to\-scrape;
+憯 > sorrowful;
+憮 > regretful;
+慽 > sorrowful;
+慼 > sorrowful;
+慤 > sincerity;
+慆 > excessive;
+愨 > sincerity;
+悽 > sorrowful;
+悁 > irritable;
+恑 > to\-change;
+恊 > be\-united;
+怺 > to\-endure;
+怞 > to\-grieve;
+怗 > observant;
+忀 > to\-stroll;
+彌 > extensive;
+廾 > two\-hands;
+廸 > enlighten;
+庉 > a\-village;
+幩 > trappings;
+幙 > a\-curtain;
+帥 > commander;
+嶎 > luxuriant;
+寽 > a\-handful;
+寘 > put\-aside;
+寗 > a\-surname;
+寖 > gradually;
+寃 > grievance;
+宂 > scattered;
+嬋 > beautiful;
+嫽 > play\-with;
+嫛 > compliant;
+嫗 > old\-woman;
+嫕 > compliant;
+媺 > beautiful;
+媬 > governess;
+媕 > undecided;
+媄 > beautiful;
+婥 > beautiful;
+姸 > beautiful;
+姱 > beautiful;
+姢 > beautiful;
+姞 > concubine;
+夻 > fish\-name;
+夌 > to\-dawdle;
+墾 > cultivate;
+墜 > fall\-down;
+塝 > flat\-bank;
+埓 > enclosure;
+垗 > sacrifice;
+圊 > rest\-room;
+嚜 > be\-silent;
+噁 > nastiness;
+嘵 > garrulous;
+嘑 > to\-menace;
+喦 > talkative;
+啎 > obstinate;
+哫 > to\-cajole;
+咵 > to\-revile;
+呧 > to\-rebuke;
+叅 > to\-counel;
+厲 > whetstone;
+厓 > precipice;
+匭 > small\-box;
+匘 > the\-brain;
+勯 > exhausted;
+勩 > work\-hard;
+剰 > leftovers;
+剙 > establish;
+剏 > establish;
+刱 > establish;
+刡 > to\-scrape;
+刔 > scoop\-out;
+刅 > to\-create;
+凷 > dirt\-clod;
+凙 > an\-icicle;
+兗 > establish;
+兇 > atrocious;
+儳 > obstinate;
+儭 > to\-assist;
+儕 > a\-company;
+儔 > companion;
+儉 > temperate;
+僝 > to\-revile;
+僇 > humiliate;
+傺 > to\-hinder;
+倢 > beautiful;
+侶 > companion;
+侎 > to\-soothe;
+佫 > \(surname\);
+伻 > messenger;
+伋 > deceptive;
+仈 > \(surname\);
+乆 > long\-time;
+䶳 > to\-lookup;
+䶑 > to\-sneeze;
+䶍 > to\-sneeze;
+䵯 > a\-village;
+䴡 > beautiful;
+䴏 > a\-swallow;
+䳺 > the\-quail;
+䲿 > cormorant;
+䲨 > wild\-swan;
+䱈 > fish\-pulp;
+䰥 > a\-cyclone;
+䰖 > fine\-hair;
+䰐 > long\-hair;
+䰈 > fine\-hair;
+䯽 > fine\-hair;
+䯷 > fine\-hair;
+䯦 > tiny\-bone;
+䮜 > to\-gallop;
+䭬 > to\-kowtow;
+䭫 > to\-kowtow;
+䭛 > tasteless;
+䭙 > exquisite;
+䭕 > tasteless;
+䭑 > incorrupt;
+䬶 > to\-strave;
+䬔 > hurricane;
+䬓 > hurricane;
+䫻 > a\-typhoon;
+䫺 > a\-typhoon;
+䫝 > fragrance;
+䫔 > a\-servant;
+䩦 > the\-reins;
+䨭 > the\-skies;
+䨐 > to\-spread;
+䨍 > deep\-pond;
+䧅 > dangerous;
+䦵 > incapable;
+䦬 > a\-vacancy;
+䦆 > a\-big\-hoe;
+䥽 > farm\-tool;
+䤤 > implement;
+䤏 > destroyed;
+䣸 > tasteless;
+䣩 > beautiful;
+䢱 > to\-slight;
+䢫 > to\-follow;
+䢟 > to\-travel;
+䢍 > to\-hasten;
+䢊 > to\-travel;
+䡔 > to\-hinder;
+䠲 > to\-listen;
+䠯 > to\-ascend;
+䠮 > to\-prance;
+䠆 > to\-kowtow;
+䟻 > bare\-feet;
+䟥 > luxuriant;
+䟞 > to\-falter;
+䟌 > diverging;
+䞾 > frivolous;
+䞼 > to\-escape;
+䞣 > to\-resist;
+䞗 > suspicion;
+䞒 > red\-color;
+䞐 > plentiful;
+䞍 > to\-bestow;
+䞉 > a\-surplus;
+䝾 > to\-bestow;
+䝼 > to\-bestow;
+䜭 > to\-dredge;
+䜟 > to\-verify;
+䜝 > uncertain;
+䜅 > to\-follow;
+䛻 > to\-induce;
+䛹 > to\-accuse;
+䛸 > garrulous;
+䛳 > to\-malign;
+䛬 > baby\-talk;
+䛪 > loquacity;
+䛞 > loquacity;
+䛚 > to\-praise;
+䛋 > to\-scheme;
+䛁 > to\-murmur;
+䚵 > to\-induce;
+䙸 > to\-obtain;
+䙷 > to\-obtain;
+䙯 > exquisite;
+䙧 > red\-color;
+䙘 > exquisite;
+䘼 > stockings;
+䘚 > a\-servant;
+䘗 > beautiful;
+䘑 > the\-pulse;
+䗙 > earthworm;
+䗓 > dragonfly;
+䗌 > dragonfly;
+䗅 > millipede;
+䖡 > millipede;
+䕹 > a\-curtain;
+䕲 > artemisia;
+䕩 > dry\-fruit;
+䕏 > artemisia;
+䔳 > chickling;
+䓰 > absinthin;
+䓗 > scallions;
+䓇 > luxuriant;
+䒰 > to\-follow;
+䒠 > luxuriant;
+䒊 > a\-patient;
+䑪 > a\-sailing;
+䑟 > luxuriant;
+䑓 > a\-lookout;
+䑑 > a\-servant;
+䑉 > excrement;
+䑀 > the\-navel;
+䐺 > delicious;
+䐡 > the\-navel;
+䐛 > to\-loosen;
+䐌 > luxuriant;
+䐆 > big\-belly;
+䏽 > meat\-pulp;
+䏬 > the\-spine;
+䏠 > meat\-soup;
+䏞 > the\-belly;
+䎡 > to\-shrink;
+䎃 > fine\-down;
+䍎 > a\-spindle;
+䌲 > light\-red;
+䌛 > entourage;
+䌖 > to\-gather;
+䌊 > entourage;
+䋠 > to\-repair;
+䊰 > foodstuff;
+䊜 > dumplings;
+䉽 > rice\-cake;
+䉼 > materials;
+䉘 > to\-pierce;
+䈵 > luxuriant;
+䇐 > to\-arrive;
+䆐 > a\-country;
+䅎 > different;
+䅅 > farm\-tool;
+䅃 > late\-crop;
+䄬 > to\-change;
+䄙 > happiness;
+䃩 > a\-mineral;
+䃕 > stoneware;
+䃓 > to\-punish;
+䃀 > millstone;
+䂾 > to\-polish;
+䂈 > to\-pierce;
+䂇 > to\-pierce;
+䁢 > exquisite;
+䁐 > deep\-eyed;
+䀰 > open\-eyes;
+䀬 > to\-glance;
+䀢 > to\-glance;
+䀡 > to\-spy\-on;
+䀐 > to\-regard;
+㿿 > wine\-cups;
+㿟 > he\-bright;
+㿛 > carbuncle;
+㿇 > paralysis;
+㾭 > to\-shrink;
+㾥 > bellyache;
+㾣 > to\-shiver;
+㾋 > dysentery;
+㽬 > to\-assist;
+㽞 > to\-remain;
+㽑 > delicious;
+㽉 > a\-big\-jar;
+㼺 > porcelain;
+㼚 > earthware;
+㻽 > fine\-jade;
+㻱 > to\-circle;
+㻌 > fine\-jade;
+㻉 > fine\-jade;
+㷼 > a\-swallow;
+㷎 > sunstroke;
+㵗 > turbulent;
+㵔 > not\-clear;
+㴁 > to\-add\-to;
+㳨 > to\-splash;
+㲵 > the\-skies;
+㲦 > long\-hair;
+㲤 > long\-hair;
+㲚 > long\-hair;
+㱘 > nightmare;
+㰖 > the\-olive;
+㯺 > a\-cabinet;
+㯯 > small\-cup;
+㯝 > paulownia;
+㯄 > luxuriant;
+㮙 > a\-pitfall;
+㮔 > vegetable;
+㮃 > farm\-tool;
+㭢 > mechanics;
+㬿 > moonlight;
+㬫 > clear\-sky;
+㬣 > luxuriant;
+㬞 > sunstroke;
+㪬 > to\-pierce;
+㪩 > to\-strike;
+㪤 > to\-finish;
+㪑 > to\-follow;
+㪎 > uncertain;
+㪋 > to\-resist;
+㪈 > to\-let\-go;
+㪅 > to\-change;
+㩱 > to\-select;
+㩧 > to\-strike;
+㩒 > to\-arrest;
+㩌 > to\-strike;
+㩇 > the\-thumb;
+㩄 > to\-strike;
+㨶 > to\-thresh;
+福 > happiness;
+祥 > good\-luck;
+㨚 > to\-select;
+㨍 > to\-defend;
+㨉 > to\-smooth;
+宅 > residence;
+㨄 > to\-pierce;
+㧾 > to\-strike;
+識 > recognize;
+臨 > draw\-near;
+㧰 > to\-strike;
+㧩 > to\-dispel;
+痢 > dysentery;
+㧦 > to\-strike;
+㧗 > to\-clatch;
+㧖 > to\-clutch;
+㧌 > to\-select;
+蓼 > smartweed;
+療 > be\-healed;
+僚 > officials;
+了 > to\-finish;
+㦻 > to\-put\-on;
+例 > precedent;
+㦴 > to\-arrest;
+㦯 > a\-certain;
+㦪 > complaint;
+㦝 > beautiful;
+㦖 > resentful;
+麗 > beautiful;
+礪 > whetstone;
+㥾 > mortified;
+㥳 > to\-survey;
+㥮 > obstinate;
+㥧 > to\-follow;
+㥦 > satisfied;
+異 > different;
+綾 > thin\-silk;
+㥖 > red\-color;
+㥎 > to\-resent;
+㥀 > exclusive;
+㤵 > copassion;
+爐 > fireplace;
+郎 > gentleman;
+㤥 > sorrowful;
+亂 > confusion;
+㤘 > obstinate;
+㤒 > knowledge;
+㤋 > confusion;
+㤇 > terrified;
+㤆 > nauseated;
+㣼 > to\-endure;
+㣺 > the\-heart;
+㣐 > to\-change;
+㢨 > to\-defend;
+㢡 > to\-exhort;
+㢀 > side\-room;
+㡿 > to\-accuse;
+㡼 > a\-granary;
+㡺 > a\-cottage;
+㡢 > a\-curtain;
+㡠 > a\-picture;
+㡗 > red\-paper;
+㠮 > to\-expand;
+㠘 > an\-island;
+㞵 > frivolous;
+㞣 > fragrance;
+㝎 > to\-decide;
+㜻 > to\-admire;
+㜰 > exquisite;
+㜨 > beautiful;
+㜞 > beautiful;
+㜘 > delicated;
+㜖 > exquisite;
+㜏 > last\-name;
+㜊 > exquisite;
+㜄 > last\-name;
+㛾 > not\-clean;
+㛺 > not\-clean;
+㛱 > exquisite;
+㛗 > frivolous;
+㛔 > exquisite;
+㚰 > an\-embryo;
+㚯 > last\-name;
+㚛 > corpulent;
+㚘 > a\-partner;
+㙵 > a\-lookout;
+㙜 > a\-lookout;
+㘣 > compasses;
+㗳 > forgetful;
+㗣 > to\-sneeze;
+㖼 > to\-scheme;
+㖦 > loquacity;
+㖂 > loquacity;
+㕻 > to\-refuse;
+㕹 > a\-buckler;
+㕗 > to\-induce;
+㕕 > deception;
+㕑 > a\-kitchen;
+㕏 > a\-kitchen;
+㕋 > rock\-land;
+㕈 > to\-linger;
+㔾 > last\-name;
+㔧 > to\-incite;
+㓯 > to\-divide;
+㓨 > to\-pierce;
+㓋 > to\-freeze;
+㓄 > to\-plough;
+㒗 > a\-servant;
+㒓 > to\-escape;
+㒋 > a\-servant;
+㒈 > dangerous;
+㒂 > to\-bestow;
+㑯 > last\-name;
+㑮 > last\-name;
+㑧 > perturbed;
+㑙 > frivolous;
+㑘 > a\-servant;
+㑎 > last\-name;
+㑄 > to\-insult;
+㐯 > to\-employ;
+㐭 > a\-granary;
+㐩 > wine\-cups;
+㐆 > to\-follow;
+念 > think\-of;
+会 > assemble;
+学 > learning;
+徒 > disciple;
+睦 > friendly;
+无 > negative;
+方 > a\-square;
+前 > in\-front;
+眉 > eyebrows;
+省 > province;
+直 > straight;
+廢 > abrogate;
+盛 > abundant;
+軒 > carriage;
+全 > maintain;
+廊 > corridor;
+廃 > abrogate;
+皺 > wrinkles;
+康 > peaceful;
+间 > midpoint;
+躊 > hesitate;
+躇 > hesitate;
+第 > sequence;
+幻 > illusion;
+癇 > epilepsy;
+山 > mountain;
+踟 > hesitate;
+巾 > kerchief;
+巧 > skillful;
+安 > peaceful;
+距 > distance;
+界 > boundary;
+任 > trust\-to;
+台 > platform;
+象 > elephant;
+题 > forehead;
+賢 > virtuous;
+資 > property;
+貼 > paste\-to;
+費 > expenses;
+貞 > virtuous;
+资 > property;
+履 > footwear;
+豐 > abundant;
+豊 > abundant;
+武 > military;
+琲 > necklace;
+尠 > very\-few;
+完 > complete;
+即 > promptly;
+寵 > favorite;
+语 > language;
+珍 > precious;
+富 > abundant;
+商 > commerce;
+宝 > treasure;
+千 > thousand;
+宜 > suitable;
+官 > official;
+站 > stand\-up;
+學 > learning;
+譬 > metaphor;
+香 > fragrant;
+似 > resemble;
+嬢 > troubled;
+虽 > although;
+集 > assemble;
+且 > moreover;
+调 > transfer;
+嫉 > jealousy;
+狃 > to\-covet;
+嫁 > to\-marry;
+調 > transfer;
+語 > language;
+媚 > charming;
+誘 > persuade;
+费 > expenses;
+誄 > eulogize;
+詳 > detailed;
+詰 > question;
+惊 > frighten;
+支 > disperse;
+突 > suddenly;
+評 > appraise;
+娠 > pregnant;
+句 > sentence;
+显 > manifest;
+增 > increase;
+料 > consider;
+著 > manifest;
+妊 > conceive;
+境 > boundary;
+续 > continue;
+無 > negative;
+裕 > abundant;
+炭 > charcoal;
+围 > surround;
+増 > increase;
+災 > calamity;
+塚 > cemetery;
+忽 > suddenly;
+瀕 > approach;
+维 > maintain;
+濺 > sprinkle;
+濯 > wash\-out;
+垣 > low\-wall;
+习 > practice;
+垂 > let\-down;
+坂 > hillside;
+祖 > ancestor;
+评 > appraise;
+圍 > surround;
+继 > continue;
+囲 > surround;
+优 > superior;
+滯 > block\-up;
+限 > boundary;
+溢 > overflow;
+温 > lukewarm;
+蚊 > mosquito;
+鹸 > alkaline;
+噪 > be\-noisy;
+嘲 > ridicule;
+減 > decrease;
+嘔 > to\-vomit;
+恩 > kindness;
+脱 > take\-off;
+涸 > dried\-up;
+喪 > mourning;
+奔 > run\-fast;
+涌 > surge\-up;
+禁 > restrict;
+浮 > to\-float;
+互 > mutually;
+洒 > sprinkle;
+搞 > to\-clear;
+朱 > cinnabar;
+域 > district;
+材 > material;
+额 > forehead;
+偷 > to\-steal;
+丹 > cinnabar;
+蓉 > hibiscus;
+抽 > draw\-out;
+仪 > ceremony;
+绍 > continue;
+丰 > abundant;
+卸 > lay\-down;
+忆 > remember;
+隔 > separate;
+减 > decrease;
+卓 > profound;
+灾 > calamity;
+聚 > assemble;
+损 > diminish;
+茄 > eggplant;
+勿 > must\-not;
+髭 > mustache;
+遥 > far\-away;
+櫛 > comb\-out;
+币 > currency;
+勉 > endeavor;
+骸 > skeleton;
+芳 > fragrant;
+努 > to\-exert;
+贴 > paste\-to;
+驚 > frighten;
+別 > separate;
+萍 > duckweed;
+樅 > fir\-tree;
+缩 > contract;
+臥 > lie\-down;
+慕 > long\-for;
+臣 > minister;
+挡 > obstruct;
+膜 > membrane;
+榛 > hazelnut;
+俊 > talented;
+枝 > branches;
+陷 > submerge;
+丧 > mourning;
+勒 > strangle;
+躺 > lie\-down;
+優 > superior;
+聊 > somewhat;
+飾 > decorate;
+儀 > ceremony;
+斜 > slanting;
+斐 > graceful;
+废 > abrogate;
+详 > detailed;
+搬 > transfer;
+梟 > owl\-thus;
+傘 > umbrella;
+顯 > manifest;
+亭 > pavilion;
+顕 > manifest;
+泛 > to\-drift;
+額 > forehead;
+題 > forehead;
+符 > i\.d\.\-tag;
+允 > to\-grant;
+菲 > fragrant;
+跨 > straddle;
+掩 > to\-cover;
+頃 > a\-moment;
+障 > separate;
+柴 > firewood;
+俯 > bow\-down;
+俥 > rickshaw;
+邻 > neighbor;
+習 > practice;
+驾 > to\-drive;
+侭 > complete;
+羞 > disgrace;
+裤 > trousers;
+估 > merchant;
+鞘 > scabbard;
+勃 > suddenly;
+咐 > instruct;
+恒 > constant;
+糟 > sediment;
+扮 > dress\-up;
+贤 > virtuous;
+饰 > decorate;
+曜 > glorious;
+雖 > although;
+仕 > official;
+卧 > lie\-down;
+仄 > slanting;
+隣 > neighbor;
+碍 > obstruct;
+暢 > smoothly;
+拦 > obstruct;
+押 > mortgage;
+戚 > relative;
+續 > continue;
+繼 > continue;
+穆 > majestic;
+疆 > boundary;
+陥 > submerge;
+皱 > wrinkles;
+畅 > smoothly;
+嘻 > mirthful;
+縮 > contract;
+並 > equal\-to;
+昔 > formerly;
+練 > practice;
+闘 > struggle;
+瞪 > stare\-at;
+斥 > to\-scold;
+剪 > scissors;
+姚 > handsome;
+掏 > take\-out;
+維 > maintain;
+诱 > persuade;
+続 > continue;
+継 > continue;
+間 > interval;
+紹 > continue;
+芙 > hibiscus;
+惹 > irritate;
+簿 > register;
+損 > diminish;
+芷 > angelica;
+磁 > magnetic;
+毅 > resolute;
+笥 > a\-hamper;
+拘 > restrain;
+伐 > cut\-down;
+竊 > secretly;
+銘 > inscribe;
+愉 > pleasant;
+窜 > run\-away;
+寨 > stockade;
+戻 > perverse;
+沪 > shanghai;
+釜 > cauldron;
+嗤 > laugh\-at;
+娱 > pleasure;
+嫣 > charming;
+宠 > favorite;
+憶 > remember;
+铭 > inscribe;
+馨 > fragrant;
+渊 > surge\-up;
+禄 > blessing;
+窃 > secretly;
+顷 > a\-moment;
+礙 > obstruct;
+愕 > startled;
+啡 > morphine;
+贞 > virtuous;
+囚 > prisoner;
+账 > accounts;
+遙 > far\-away;
+喻 > metaphor;
+瓷 > crockery;
+蓦 > suddenly;
+滞 > block\-up;
+贬 > decrease;
+伞 > umbrella;
+腥 > raw\-meat;
+滔 > overflow;
+溅 > sprinkle;
+咸 > together;
+疫 > epidemic;
+啪 > syllable;
+沛 > abundant;
+膨 > to\-swell;
+吱 > chirping;
+轩 > carriage;
+讥 > ridicule;
+菌 > mushroom;
+衍 > overflow;
+亨 > smoothly;
+琐 > trifling;
+绰 > graceful;
+苟 > careless;
+崛 > towering;
+凸 > protrude;
+嚣 > be\-noisy;
+琛 > treasure;
+嘀 > backbite;
+铐 > shackles;
+踌 > hesitate;
+谕 > proclaim;
+迸 > gush\-out;
+剔 > pick\-out;
+冀 > hope\-for;
+砚 > inkstone;
+捍 > ward\-off;
+臀 > buttocks;
+倔 > stubborn;
+奄 > ere\-long;
+侥 > be\-lucky;
+梵 > buddhist;
+褥 > mattress;
+晖 > sunshine;
+漾 > overflow;
+畴 > farmland;
+瞟 > glare\-at;
+瘸 > lameness;
+澎 > splatter;
+潦 > to\-flood;
+濒 > approach;
+偎 > cling\-to;
+蝎 > scorpion;
+簸 > winnower;
+瘟 > epidemic;
+庶 > numerous;
+惦 > think\-of;
+撂 > put\-down;
+诘 > question;
+晗 > pre\-dawn;
+蹊 > footpath;
+碱 > alkaline;
+阉 > castrate;
+淆 > confused;
+萦 > entangle;
+榆 > elm\-tree;
+猝 > abruptly;
+赓 > continue;
+枭 > owl\-thus;
+曦 > sunlight;
+钊 > endeavor;
+撅 > protrude;
+渤 > swelling;
+辘 > windlass;
+铝 > aluminum;
+捋 > to\-pluck;
+矗 > straight;
+虻 > horsefly;
+瞌 > doze\-off;
+亟 > urgently;
+搪 > ward\-off;
+徨 > doubtful;
+啐 > to\-taste;
+镯 > bracelet;
+刽 > amputate;
+藻 > splendid;
+惰 > indolent;
+燔 > to\-roast;
+涝 > inundate;
+偕 > together;
+骷 > skeleton;
+绛 > deep\-red;
+紊 > confused;
+邃 > profound;
+氯 > chlorine;
+坍 > collapse;
+妩 > charming;
+嘭 > syllable;
+忐 > timorous;
+殡 > encoffin;
+昵 > intimate;
+纭 > confused;
+俟 > wait\-for;
+桢 > hardwood;
+黏 > stick\-to;
+晏 > peaceful;
+隽 > superior;
+禺 > district;
+痘 > smallpox;
+槟 > betelnut;
+韭 > scallion;
+戾 > perverse;
+蔫 > withered;
+膂 > backbone;
+垠 > boundary;
+镬 > cauldron;
+胫 > shinbone;
+哐 > syllable;
+硷 > alkaline;
+臃 > swell\-up;
+岌 > perilous;
+犟 > stubborn;
+玎 > jingling;
+遢 > careless;
+噔 > syllable;
+滓 > sediment;
+隼 > aquiline;
+翦 > scissors;
+陲 > frontier;
+谶 > prophecy;
+偻 > humpback;
+铂 > platinum;
+纛 > a\-banner;
+懿 > virtuous;
+铬 > chromium;
+娆 > graceful;
+慵 > indolent;
+胰 > pancreas;
+覃 > reach\-to;
+遽 > suddenly;
+睾 > testicle;
+缜 > detailed;
+倨 > arrogant;
+讣 > obituary;
+钛 > titanium;
+浃 > saturate;
+旖 > romantic;
+缙 > red\-silk;
+嘣 > syllable;
+懋 > splendid;
+衾 > coverlet;
+宸 > imperial;
+佞 > flattery;
+蛔 > tapeworm;
+祜 > blessing;
+氅 > overcoat;
+氟 > fluorine;
+氰 > cyanogen;
+鲟 > sturgeon;
+婕 > handsome;
+硒 > selenium;
+舨 > a\-sampan;
+烊 > to\-smelt;
+萱 > day\-lily;
+疸 > jaundice;
+铊 > thallium;
+诂 > exegesis;
+雉 > pheasant;
+颢 > luminous;
+钏 > bracelet;
+栀 > gardenia;
+绔 > trousers;
+缵 > continue;
+溘 > abruptly;
+诒 > bequeath;
+氦 > fluorine;
+颟 > dawdling;
+痫 > epilepsy;
+苋 > amaranth;
+瀣 > sea\-mist;
+箝 > tweezers;
+蹰 > hesitate;
+赀 > property;
+楮 > mulberry;
+镊 > tweezers;
+遄 > to\-hurry;
+钒 > vanadium;
+苷 > licorice;
+勰 > peaceful;
+氽 > to\-float;
+钨 > tungsten;
+愦 > confused;
+埸 > a\-border;
+髀 > buttocks;
+嫒 > daughter;
+伛 > humpback;
+癜 > erythema;
+砦 > stockade;
+鸹 > the\-crow;
+曛 > twilight;
+槿 > hibiscus;
+骘 > stallion;
+庑 > corridor;
+坻 > an\-islet;
+觫 > to\-start;
+铵 > ammonium;
+氩 > argonium;
+嬖 > favorite;
+卣 > wine\-pot;
+锑 > antimony;
+醛 > aldehyde;
+钽 > tantalum;
+砼 > concrete;
+熘 > to\-steam;
+蓁 > abundant;
+诔 > eulogize;
+窨 > a\-cellar;
+栲 > mangrove;
+仳 > separate;
+鲣 > skipjack;
+瘿 > swelling;
+铷 > rubidium;
+铕 > europium;
+钋 > polonium;
+砑 > to\-grind;
+枞 > fir\-tree;
+洫 > to\-ditch;
+揞 > to\-cover;
+埚 > crucible;
+垤 > ant\-hill;
+卺 > winecups;
+嘏 > felicity;
+鲽 > flatfish;
+鲭 > mackerel;
+钪 > scandium;
+钫 > francium;
+钐 > samarium;
+祓 > exorcise;
+栳 > a\-basket;
+徼 > frontier;
+吲 > smile\-at;
+莰 > camphane;
+芴 > fluorene;
+仝 > together;
+赜 > abstruse;
+龓 > a\-halter;
+鼚 > drumming;
+麮 > porridge;
+鹼 > alkaline;
+鷩 > pheasant;
+鷊 > pheasant;
+鵫 > pheasant;
+鵙 > a\-shrike;
+鴰 > the\-crow;
+鳮 > chickens;
+鳇 > sturgeon;
+鲺 > cat\-fish;
+鱣 > sturgeon;
+鱘 > sturgeon;
+鰹 > skipjack;
+鰉 > sturgeon;
+鰈 > flatfish;
+鯺 > blowfish;
+鯸 > blowfish;
+鯖 > mackerel;
+鮐 > blowfish;
+魨 > blowfish;
+鬭 > struggle;
+鬬 > struggle;
+鬪 > struggle;
+鬦 > struggle;
+鬥 > struggle;
+鬋 > forelock;
+鬀 > to\-shave;
+髵 > whiskers;
+髎 > hip\-bone;
+驀 > suddenly;
+騭 > stallion;
+駾 > run\-away;
+駦 > to\-mount;
+駕 > to\-drive;
+馩 > aromatic;
+馟 > fragrant;
+馚 > aromatic;
+餬 > porridge;
+餫 > dumpling;
+餩 > hiccough;
+餟 > libation;
+餙 > to\-adorn;
+颱 > taiphoon;
+顥 > luminous;
+顢 > dawdling;
+頲 > straight;
+韮 > scallion;
+韡 > gorgeous;
+韠 > knee\-pad;
+靺 > stocking;
+霨 > clouding;
+雞 > chickens;
+雋 > superior;
+隲 > stallion;
+隩 > profound;
+阸 > distress;
+閹 > castrate;
+閒 > peaceful;
+镥 > lutetium;
+鑷 > tweezers;
+鑥 > lutetium;
+鑕 > tungsten;
+鑊 > cauldron;
+鐲 > bracelet;
+鐇 > vanadium;
+鎢 > tungsten;
+鎉 > thallium;
+鍩 > nobelium;
+鍚 > frontlet;
+錒 > actinium;
+鋁 > aluminum;
+銬 > shackles;
+銪 > europium;
+銨 > ammonium;
+銣 > rubidium;
+銍 > a\-sickle;
+鉻 > chromium;
+鉭 > tantalum;
+鉑 > platinum;
+鉈 > thallium;
+鉆 > treasure;
+鈪 > bracelet;
+鈧 > scandium;
+鈦 > titanium;
+鈁 > francium;
+釩 > vanadium;
+釧 > bracelet;
+釤 > samarium;
+釡 > cauldron;
+釙 > polonium;
+釗 > endeavor;
+醩 > sediment;
+醆 > wine\-cup;
+醃 > marinate;
+酲 > hangover;
+鄰 > neighbor;
+鄈 > slippers;
+邅 > hesitant;
+迻 > to\-shift;
+轊 > axle\-tip;
+轆 > windlass;
+輭 > flexible;
+輬 > a\-hearse;
+軝 > axle\-tip;
+躭 > to\-delay;
+躕 > hesitate;
+蹾 > to\-squat;
+蹧 > to\-spoil;
+踦 > the\-shin;
+跅 > careless;
+跂 > creeping;
+赬 > deep\-red;
+贒 > virtuous;
+賾 > abstruse;
+賬 > accounts;
+賡 > continue;
+貶 > decrease;
+貲 > property;
+豎 > vertical;
+讖 > prophecy;
+譹 > to\-shout;
+譜 > register;
+譔 > eulogize;
+譏 > ridicule;
+謿 > ridicule;
+謼 > to\-shout;
+諭 > proclaim;
+諆 > to\-cheat;
+詒 > bequeath;
+詋 > to\-curse;
+詊 > pleasing;
+詁 > exegesis;
+訃 > obituary;
+襶 > ignorant;
+襫 > raincoat;
+襏 > raincoat;
+褲 > trousers;
+褌 > trousers;
+裯 > coverlet;
+蠍 > scorpion;
+蝱 > horsefly;
+蝟 > hedgehog;
+蝏 > \(insect\);
+蜱 > \(insect\);
+蜖 > tapeworm;
+蚳 > ant\-eggs;
+蚘 > tapeworm;
+蚔 > ant\-eggs;
+薸 > duckweed;
+薆 > to\-cover;
+蕣 > hibiscus;
+蔉 > earth\-up;
+葖 > follicle;
+苐 > sequence;
+艩 > tholepin;
+艌 > to\-caulk;
+膵 > pancreas;
+脰 > the\-neck;
+脫 > take\-off;
+脛 > shinbone;
+胮 > to\-swell;
+肨 > to\-swell;
+肏 > copulate;
+耏 > whiskers;
+翬 > pheasant;
+翫 > careless;
+罇 > a\-goblet;
+缷 > lay\-down;
+纘 > continue;
+繖 > umbrella;
+縿 > streamer;
+縴 > tow\-line;
+縝 > detailed;
+縉 > red\-silk;
+縈 > entangle;
+緻 > delicate;
+綽 > graceful;
+綯 > to\-braid;
+綪 > dark\-red;
+絻 > mourning;
+絳 > deep\-red;
+絝 > trousers;
+紞 > a\-fringe;
+紜 > confused;
+籣 > bow\-case;
+簬 > \(bamboo\);
+箂 > \(bamboo\);
+竢 > wait\-for;
+竄 > run\-away;
+秏 > to\-waste;
+祿 > blessing;
+祼 > libation;
+磟 > mediocre;
+碏 > coloured;
+硯 > inkstone;
+砹 > astatine;
+砵 > syllable;
+矋 > to\-stare;
+瞓 > to\-sleep;
+睏 > be\-tired;
+睅 > big\-eyed;
+盬 > salt\-pit;
+盙 > a\-basket;
+皝 > luminous;
+癭 > swelling;
+癒 > get\-well;
+癎 > epilepsy;
+癈 > abrogate;
+癃 > weakness;
+癀 > jaundice;
+瘼 > sickness;
+瘶 > to\-cough;
+瘰 > scrofula;
+瘉 > get\-well;
+疇 > farmland;
+畺 > boundary;
+甯 > peaceful;
+甡 > abundant;
+瓩 > kilowatt;
+瓧 > decagram;
+璚 > splendid;
+琫 > ornament;
+珷 > \/2\-pr\-st;
+珤 > treasure;
+珎 > precious;
+珌 > ornament;
+獘 > collapse;
+犵 > resolute;
+犫 > protrude;
+犎 > the\-zebu;
+犇 > run\-fast;
+牳 > \(bovine\);
+熤 > \(person\);
+煐 > \(person\);
+焌 > to\-light;
+炤 > illumine;
+灑 > sprinkle;
+瀰 > overflow;
+瀡 > slippery;
+澾 > slippery;
+澱 > sediment;
+澇 > inundate;
+潗 > friendly;
+潎 > rippling;
+滬 > shanghai;
+滃 > swelling;
+溫 > lukewarm;
+湢 > bathroom;
+渕 > surge\-up;
+浹 > saturate;
+泐 > to\-write;
+沍 > freezing;
+氾 > overflow;
+氬 > argonium;
+氉 > restless;
+毾 > a\-coarse;
+毻 > to\-moult;
+毷 > restless;
+殽 > mixed\-up;
+殯 > encoffin;
+殗 > sickness;
+欛 > a\-handle;
+櫃 > cupboard;
+檿 > mulberry;
+檳 > betelnut;
+樚 > a\-pulley;
+楨 > hardwood;
+楡 > elm\-tree;
+椄 > to\-graft;
+梱 > doorsill;
+梔 > gardenia;
+柤 > hawthorn;
+柅 > flourish;
+枻 > long\-oar;
+曆 > calendar;
+暱 > intimate;
+暦 > calendar;
+暠 > daybreak;
+暉 > sunshine;
+晧 > daybreak;
+晛 > sunlight;
+昤 > sunshine;
+昡 > long\-day;
+旘 > a\-pennon;
+斾 > a\-pennon;
+斈 > learning;
+敪 > to\-weigh;
+敠 > to\-weigh;
+攩 > obstruct;
+攞 > to\-split;
+攔 > obstruct;
+擩 > to\-stain;
+擋 > obstruct;
+撏 > pull\-out;
+摷 > to\-knock;
+搵 > wipe\-off;
+搲 > to\-seize;
+搯 > take\-out;
+搋 > to\-thump;
+揾 > wipe\-off;
+揰 > poke\-out;
+揢 > to\-seize;
+揜 > cover\-up;
+揌 > to\-shake;
+掹 > to\-pluck;
+捦 > to\-seize;
+拑 > to\-clamp;
+扞 > ward\-off;
+扅 > gate\-bar;
+懕 > satiated;
+憪 > composed;
+憖 > cautious;
+憒 > confused;
+慭 > cautious;
+慫 > to\-alarm;
+慅 > agitated;
+慁 > dishonor;
+惽 > confused;
+惸 > troubled;
+惛 > confused;
+惔 > cheerful;
+惄 > long\-for;
+悤 > agitated;
+恝 > carefree;
+恔 > cheerful;
+恌 > to\-worry;
+恆 > constant;
+忮 > stubborn;
+徯 > wait\-for;
+彸 > restless;
+彊 > stubborn;
+弢 > bow\-case;
+廤 > to\-place;
+廡 > corridor;
+庻 > numerous;
+庬 > abundant;
+幬 > cover\-up;
+幣 > currency;
+帵 > remnants;
+帱 > cover\-up;
+嶭 > elevated;
+嶒 > towering;
+峿 > mountain;
+岊 > foothill;
+屼 > mountain;
+寶 > treasure;
+寳 > treasure;
+寚 > precious;
+宬 > archives;
+孃 > troubled;
+嬬 > mistress;
+嬡 > daughter;
+嬝 > delicate;
+嬈 > graceful;
+嫿 > tranquil;
+嫵 > charming;
+媮 > handsome;
+婾 > handsome;
+娯 > pleasure;
+娛 > pleasure;
+姦 > adultery;
+姙 > conceive;
+奡 > arrogant;
+堝 > crucible;
+埼 > headland;
+埀 > let\-down;
+坮 > platform;
+圥 > mushroom;
+囮 > inveigle;
+囂 > be\-noisy;
+嚻 > be\-noisy;
+嘥 > to\-waste;
+嗃 > to\-flute;
+喩 > metaphor;
+喓 > chirping;
+喌 > syllable;
+啽 > to\-speak;
+啇 > to\-stalk;
+唥 > a\-bundle;
+哢 > syllable;
+咺 > majestic;
+咜 > to\-scold;
+咇 > fragrant;
+呠 > to\-spurt;
+叒 > obedient;
+厵 > a\-spring;
+卽 > promptly;
+卼 > unsteady;
+卹 > sympathy;
+勔 > endeavor;
+勌 > to\-labor;
+劻 > flurried;
+劙 > a\-divide;
+劊 > amputate;
+剟 > to\-prick;
+刧 > disaster;
+凥 > to\-dwell;
+凅 > dried\-up;
+冴 > freezing;
+冱 > freezing;
+冨 > abundant;
+冝 > suitable;
+冇 > have\-not;
+兣 > decigram;
+兛 > kilogram;
+兙 > decagram;
+儩 > complete;
+僥 > be\-lucky;
+僃 > prepared;
+僂 > humpback;
+傴 > humpback;
+傢 > stubborn;
+傞 > unsteady;
+傌 > to\-curse;
+偸 > to\-steal;
+偲 > talented;
+偫 > wait\-for;
+偟 > agitated;
+俓 > straight;
+侫 > flattery;
+佴 > a\-second;
+佪 > hesitate;
+佋 > continue;
+佀 > resemble;
+伃 > handsome;
+亹 > progress;
+乵 > to\-enter;
+䶲 > the\-edge;
+䵲 > raw\-hemp;
+䵦 > to\-stain;
+䵚 > kaoliang;
+䵓 > the\-mole;
+䵉 > abutilon;
+䴻 > dry\-food;
+䴫 > antelope;
+䴚 > saltpond;
+䴗 > a\-shrike;
+䳻 > an\-eagle;
+䳧 > an\-eagle;
+䲖 > big\-fish;
+䲎 > to\-spoil;
+䰧 > sinister;
+䰟 > the\-soul;
+䯪 > big\-head;
+䯚 > the\-ribs;
+䯗 > buttocks;
+䯐 > shinbone;
+䯎 > shinbone;
+䯉 > to\-choke;
+䯂 > numerous;
+䭱 > a\-little;
+䬼 > satiated;
+䬹 > a\-sickle;
+䬉 > hot\-wind;
+䫷 > the\-jowl;
+䫛 > reckless;
+䫗 > reckless;
+䫃 > the\-lips;
+䪶 > the\-chin;
+䪩 > to\-chant;
+䪜 > a\-shield;
+䪑 > to\-stick;
+䪊 > a\-halter;
+䪅 > a\-quiver;
+䪁 > a\-halter;
+䩴 > a\-quiver;
+䩮 > a\-quiver;
+䩠 > a\-girdle;
+䩉 > the\-face;
+䩈 > a\-plumpy;
+䨼 > dyestuff;
+䧫 > a\-trench;
+䧕 > boundary;
+䧁 > to\-leave;
+䦥 > to\-learn;
+䥸 > a\-sickle;
+䥭 > evidence;
+䥥 > a\-sickle;
+䥌 > evidence;
+䥋 > to\-smelt;
+䤿 > to\-carve;
+䤶 > a\-hammer;
+䤳 > a\-mirrow;
+䤰 > to\-smelt;
+䤫 > a\-chisel;
+䤨 > to\-split;
+䤝 > bracelet;
+䤐 > to\-drink;
+䢭 > to\-cover;
+䢐 > to\-go\-to;
+䢅 > daybreak;
+䡭 > a\-hearse;
+䠾 > to\-dodge;
+䠹 > shinbone;
+䠬 > insomnia;
+䠞 > wrinkled;
+䠐 > to\-squat;
+䠃 > to\-squat;
+䠁 > to\-go\-up;
+䟸 > the\-calf;
+䟶 > to\-squat;
+䟴 > to\-shake;
+䟔 > to\-go\-to;
+䞸 > to\-reach;
+䞮 > to\-crawl;
+䞟 > to\-press;
+䞜 > to\-reach;
+䞔 > deep\-red;
+䞓 > deep\-red;
+䝨 > virtuous;
+䝂 > to\-erect;
+䜬 > a\-cavern;
+䜘 > to\-guard;
+䜐 > to\-libel;
+䜃 > to\-blame;
+䛤 > urgently;
+䛒 > to\-argue;
+䛇 > to\-laugh;
+䛆 > to\-curse;
+䚷 > to\-treat;
+䚯 > to\-quell;
+䚛 > regulate;
+䘫 > old\-rags;
+䘜 > a\-napkin;
+䘙 > to\-guard;
+䘘 > to\-drive;
+䘔 > to\-vomit;
+䘏 > sympathy;
+䘉 > silkworm;
+䘇 > mosquito;
+䗺 > creeping;
+䗞 > silkworm;
+䗝 > silkworm;
+䗘 > a\-weevil;
+䗈 > a\-gadfly;
+䗇 > the\-toad;
+䖻 > ephemera;
+䖦 > scorpion;
+䖤 > to\-creep;
+䖟 > a\-gadfly;
+䖛 > of\-tiger;
+䖏 > to\-dwell;
+䖌 > of\-tiger;
+䖊 > of\-tiger;
+䖀 > angelica;
+䕯 > duckweed;
+䕁 > suddenly;
+䔽 > to\-cover;
+䔐 > delicate;
+䓙 > slanting;
+䓕 > polygala;
+䓌 > polygala;
+䒳 > a\-flower;
+䒃 > to\-build;
+䑻 > covering;
+䑘 > to\-pound;
+䑃 > dim\-moon;
+䐒 > not\-fine;
+䏾 > to\-swell;
+䏺 > to\-swell;
+䏟 > fat\-meat;
+䏉 > to\-waver;
+䏈 > to\-unite;
+䎺 > to\-learn;
+䎲 > ear\-lobe;
+䎮 > to\-plant;
+䎫 > to\-plant;
+䎣 > a\-plough;
+䌷 > a\-thread;
+䌯 > a\-truban;
+䌭 > raw\-hemp;
+䌬 > straight;
+䌫 > a\-hawser;
+䌚 > wrinkles;
+䌃 > raw\-silk;
+䋡 > to\-relax;
+䋓 > wrinkled;
+䋒 > to\-relax;
+䋃 > stinging;
+䊸 > to\-twist;
+䊝 > to\-exile;
+䊁 > leavings;
+䉻 > red\-rice;
+䉱 > a\-cradle;
+䉮 > to\-plant;
+䉪 > to\-grind;
+䉒 > a\-winnow;
+䈶 > an\-arrow;
+䈫 > a\-hawser;
+䇱 > a\-hawser;
+䇌 > to\-stand;
+䆸 > spacious;
+䆄 > a\-bundle;
+䅲 > to\-plant;
+䅨 > fragrant;
+䅤 > to\-plant;
+䅐 > a\-bundle;
+䄀 > calamity;
+䃺 > to\-grind;
+䃑 > speckles;
+䃅 > dyestuff;
+䂻 > to\-block;
+䁥 > to\-blink;
+䁜 > big\-eyes;
+䁂 > big\-eyes;
+䀵 > to\-blink;
+䀈 > a\-vessel;
+㿢 > to\-shine;
+㿡 > a\-helmet;
+㿚 > sickness;
+㿈 > an\-ulcer;
+㿅 > ringworm;
+㾸 > a\-scabby;
+㾮 > jaundice;
+㾎 > sickness;
+㾍 > diseases;
+㾌 > ringworm;
+㾄 > to\-libel;
+㽻 > diseases;
+㽹 > to\-faint;
+㽐 > fragrant;
+㻄 > treasure;
+㺚 > an\-otter;
+㺇 > a\-warden;
+㹸 > the\-lion;
+㹕 > inferior;
+㸼 > the\-zebu;
+㸦 > mutually;
+㸟 > to\-cover;
+㸝 > a\-shovel;
+㸕 > to\-seize;
+㸉 > to\-adapt;
+㷆 > thriving;
+㷀 > solitary;
+㶼 > very\-hot;
+㶄 > to\-stain;
+㵭 > an\-islet;
+㵦 > slippery;
+㴶 > to\-water;
+㴳 > to\-smear;
+㴊 > an\-abyss;
+㴈 > sediment;
+㳫 > repeated;
+㳠 > slippery;
+㳒 > statutes;
+㲸 > dried\-up;
+㲷 > nitrogen;
+㲶 > chlorine;
+㲳 > to\-touch;
+㱿 > the\-husk;
+㱺 > the\-skin;
+㱲 > withered;
+㱢 > the\-dead;
+㱠 > withered;
+㱗 > a\-breath;
+㱅 > virtuous;
+㱃 > to\-drink;
+㰺 > to\-drink;
+㰹 > to\-laugh;
+㰭 > pleasure;
+㰧 > to\-drink;
+㰣 > to\-vomit;
+㰠 > to\-covet;
+㰝 > to\-cough;
+㯰 > to\-plant;
+㮭 > a\-casket;
+㮁 > gardenia;
+㭙 > a\-hammer;
+㭊 > to\-split;
+㬰 > a\-moment;
+㬧 > a\-collar;
+㬢 > sunshine;
+㬡 > sunshine;
+㬙 > sunshine;
+㬗 > sunshine;
+㬌 > sunshine;
+㫽 > darkness;
+㫻 > sunlight;
+㪿 > to\-break;
+㪡 > to\-quell;
+㪓 > disaster;
+㪐 > unstable;
+㪍 > suddenly;
+㪃 > to\-thump;
+㪂 > unstable;
+㪀 > to\-enter;
+㩿 > unstable;
+㩴 > to\-seize;
+㩨 > to\-crack;
+㩓 > to\-wound;
+㩁 > to\-knock;
+㨹 > to\-crack;
+㨱 > to\-shake;
+㨪 > to\-shake;
+㨠 > to\-smear;
+㨟 > to\-touch;
+㨔 > to\-shake;
+㨓 > to\-close;
+塚 > cemetery;
+㨑 > to\-count;
+㨈 > to\-crowd;
+㨁 > to\-throw;
+㧵 > to\-exact;
+隣 > neighbor;
+㧲 > to\-shake;
+㧱 > to\-bring;
+㧬 > to\-raise;
+履 > footwear;
+㧁 > to\-close;
+料 > consider;
+㦿 > a\-window;
+捻 > to\-twist;
+㦥 > talented;
+念 > think\-of;
+㦤 > virtuous;
+練 > practice;
+㦗 > diligent;
+曆 > calendar;
+㦉 > virtuous;
+㥰 > mournful;
+省 > province;
+㥪 > diligent;
+丹 > cinnabar;
+勒 > strangle;
+㥃 > mournful;
+㥁 > morality;
+祿 > blessing;
+㤲 > to\-think;
+㤮 > an\-error;
+廊 > corridor;
+㤦 > mournful;
+㤤 > mournful;
+㤏 > grievous;
+句 > sentence;
+㣰 > to\-shake;
+㣫 > the\-heel;
+㣞 > to\-walki;
+㣋 > cinnabar;
+㣄 > powerful;
+㢴 > the\-west;
+㢩 > to\-shoot;
+㢅 > a\-shield;
+㡳 > mountain;
+㡩 > a\-girdle;
+㡝 > a\-napkin;
+㡖 > to\-cover;
+㠹 > a\-turban;
+㠵 > a\-turban;
+㠊 > a\-rugged;
+㠉 > mountain;
+㠅 > to\-cover;
+㟑 > mountain;
+㞽 > mountain;
+㞷 > luxuiant;
+㞑 > the\-tail;
+㞉 > big\-foot;
+㞈 > big\-foot;
+㝲 > to\-sleep;
+㝮 > to\-exile;
+㝭 > to\-awake;
+㝘 > harmonoy;
+㝒 > to\-dwell;
+㝍 > to\-write;
+㝊 > to\-guide;
+㜶 > a\-couple;
+㜳 > peaceful;
+㛛 > pregnant;
+㚣 > handsome;
+㙢 > a\-trowel;
+㙙 > to\-smear;
+㙃 > a\-cavity;
+㘪 > to\-waste;
+㘠 > to\-close;
+㘙 > to\-groan;
+㘑 > to\-curse;
+㘀 > to\-sound;
+㗪 > mouthful;
+㗨 > to\-laugh;
+㗜 > to\-smell;
+㗛 > to\-laugh;
+㗓 > mouthful;
+㗉 > incisive;
+㖹 > to\-spurt;
+㖩 > not\-pure;
+㖓 > to\-shout;
+㖇 > the\-lips;
+㕼 > to\-brawl;
+㕛 > a\-friend;
+㕐 > inclined;
+㕊 > to\-slant;
+㔰 > constant;
+㔪 > to\-crawl;
+㔠 > industry;
+㔞 > vigorous;
+㓶 > to\-carve;
+㓚 > a\-sickle;
+㓓 > thin\-ice;
+㒹 > to\-upset;
+㑺 > superior;
+㑴 > to\-usurp;
+㑰 > distress;
+㑍 > inferior;
+㐜 > an\-enemy;
+迷 > bewitch;
+述 > narrate;
+迥 > distant;
+中 > central;
+志 > purpose;
+迎 > receive;
+忌 > jealous;
+和 > harmony;
+辯 > dispute;
+去 > go\-away;
+对 > correct;
+瞠 > look\-at;
+律 > statute;
+役 > service;
+眺 > look\-at;
+張 > stretch;
+已 > already;
+弘 > enlarge;
+引 > to\-pull;
+弔 > condole;
+較 > compare;
+意 > thought;
+进 > advance;
+盡 > exhaust;
+廉 > upright;
+情 > feeling;
+皰 > pimples;
+庖 > kitchen;
+躓 > stumble;
+庄 > village;
+并 > combine;
+蹠 > step\-on;
+癖 > craving;
+幕 > curtain;
+代 > replace;
+師 > teacher;
+总 > collect;
+踏 > step\-on;
+师 > teacher;
+痴 > foolish;
+华 > flowery;
+张 > stretch;
+症 > disease;
+病 > illness;
+疾 > illness;
+反 > reverse;
+合 > combine;
+疎 > neglect;
+受 > receive;
+务 > affairs;
+接 > receive;
+崩 > rupture;
+特 > special;
+服 > clothes;
+賽 > compete;
+賑 > relieve;
+科 > section;
+远 > distant;
+豫 > relaxed;
+联 > connect;
+保 > protect;
+尽 > exhaust;
+革 > leather;
+對 > correct;
+尊 > respect;
+品 > article;
+尉 > officer;
+士 > scholar;
+量 > measure;
+対 > correct;
+程 > journey;
+審 > examine;
+察 > examine;
+极 > extreme;
+令 > command;
+未 > not\-yet;
+持 > sustain;
+历 > history;
+宣 > declare;
+史 > history;
+宗 > lineage;
+议 > consult;
+率 > to\-lead;
+委 > appoint;
+護 > protect;
+議 > consult;
+兵 > soldier;
+孔 > opening;
+争 > dispute;
+究 > examine;
+謹 > prudent;
+视 > look\-at;
+講 > explain;
+格 > pattern;
+諸 > several;
+讲 > explain;
+諦 > careful;
+怕 > to\-fear;
+狡 > cunning;
+曾 > already;
+准 > approve;
+段 > section;
+精 > essence;
+竟 > finally;
+誠 > sincere;
+詮 > explain;
+整 > orderly;
+婉 > amiable;
+备 > prepare;
+另 > another;
+陈 > exhibit;
+故 > ancient;
+訛 > swindle;
+託 > entrust;
+衣 > clothes;
+訊 > inquire;
+爆 > crackle;
+批 > comment;
+送 > see\-off;
+愿 > sincere;
+奇 > strange;
+燕 > swallow;
+燈 > lantern;
+覽 > look\-at;
+妬 > jealous;
+游 > to\-swim;
+覧 > look\-at;
+份 > portion;
+敢 > to\-dare;
+視 > look\-at;
+妖 > strange;
+煽 > stir\-up;
+考 > examine;
+村 > village;
+朝 > dynasty;
+育 > produce;
+护 > protect;
+图 > diagram;
+刘 > surname;
+夕 > evening;
+承 > inherit;
+裳 > clothes;
+乡 > country;
+裁 > cut\-out;
+既 > already;
+演 > perform;
+怪 > strange;
+袂 > sleeves;
+采 > collect;
+衰 > decline;
+赛 > compete;
+灯 > lantern;
+较 > compare;
+衡 > measure;
+塞 > stop\-up;
+景 > scenery;
+蠢 > wriggle;
+依 > rely\-on;
+瀝 > trickle;
+胜 > victory;
+濡 > immerse;
+濟 > to\-help;
+蟋 > cricket;
+蟀 > cricket;
+型 > pattern;
+圖 > diagram;
+漆 > varnish;
+漁 > to\-fish;
+図 > diagram;
+散 > scatter;
+蛆 > maggots;
+曲 > crooked;
+溶 > to\-melt;
+厂 > factory;
+肯 > willing;
+抓 > scratch;
+虫 > insects;
+湧 > well\-up;
+范 > surname;
+靠 > lean\-on;
+測 > measure;
+授 > give\-to;
+渇 > thirsty;
+扬 > scatter;
+淺 > shallow;
+淫 > obscene;
+邓 > surname;
+鷄 > chicken;
+嗇 > miserly;
+抱 > embrace;
+预 > prepare;
+睛 > eyeball;
+括 > include;
+降 > descend;
+鶏 > chicken;
+讯 > inquire;
+赵 > surname;
+浅 > shallow;
+私 > private;
+蔑 > disdain;
+审 > examine;
+泡 > bubbles;
+闹 > quarrel;
+敬 > respect;
+醒 > wake\-up;
+沌 > chaotic;
+暴 > violent;
+鲁 > foolish;
+抢 > plunder;
+呑 > swallow;
+篇 > chapter;
+鱈 > codfish;
+呂 > surname;
+拥 > embrace;
+吊 > condole;
+诸 > various;
+華 > flowery;
+叭 > trumpet;
+测 > measure;
+阅 > examine;
+叙 > express;
+猛 > violent;
+厭 > dislike;
+厨 > kitchen;
+雅 > elegant;
+雷 > thunder;
+魯 > foolish;
+鸡 > chicken;
+诚 > sincere;
+竞 > contend;
+操 > conduct;
+卒 > soldier;
+诺 > promise;
+匆 > hastily;
+欅 > zelkova;
+苺 > berries;
+勝 > victory;
+凭 > lean\-on;
+務 > affairs;
+苗 > sprouts;
+碰 > collide;
+苑 > pasture;
+仿 > imitate;
+機 > machine;
+栏 > railing;
+騙 > swindle;
+刈 > cut\-off;
+狠 > vicious;
+映 > project;
+截 > cut\-off;
+忠 > loyalty;
+扎 > pull\-up;
+腹 > stomach;
+極 > extreme;
+舒 > open\-up;
+骗 > swindle;
+凶 > culprit;
+慰 > comfort;
+餘 > surplus;
+撒 > release;
+愁 > anxiety;
+斤 > a\-catty;
+僑 > sojourn;
+扶 > support;
+毁 > destroy;
+辩 > dispute;
+胃 > stomach;
+械 > weapons;
+蒋 > surname;
+備 > prepare;
+违 > disobey;
+丢 > discard;
+肆 > indulge;
+傻 > foolish;
+绕 > entwine;
+聳 > urge\-on;
+涂 > surname;
+舰 > warship;
+恼 > angered;
+辣 > peppery;
+倚 > rely\-on;
+預 > prepare;
+旋 > revolve;
+倉 > granary;
+辽 > distant;
+罚 > penalty;
+拾 > pick\-up;
+恢 > restore;
+翁 > old\-man;
+羽 > feather;
+抖 > tremble;
+览 > look\-at;
+侯 > marquis;
+惑 > confuse;
+併 > combine;
+罰 > penalty;
+雕 > engrave;
+厌 > dislike;
+寿 > old\-age;
+跌 > stumble;
+锦 > brocade;
+杏 > apricot;
+黎 > surname;
+慌 > nervous;
+屠 > butcher;
+柏 > cypress;
+霍 > quickly;
+陶 > pottery;
+摄 > take\-in;
+旨 > purpose;
+闯 > rush\-in;
+冯 > surname;
+扰 > disturb;
+雀 > sparrow;
+娜 > elegant;
+暮 > evening;
+阁 > chamber;
+卢 > cottage;
+吞 > swallow;
+柜 > cabinet;
+暇 > leisure;
+愧 > ashamed;
+晶 > crystal;
+繞 > entwine;
+晝 > daytime;
+筋 > muscles;
+總 > collect;
+昼 > daytime;
+咨 > inquire;
+撑 > prop\-up;
+逆 > disobey;
+填 > fill\-in;
+旺 > prosper;
+緬 > distant;
+谨 > prudent;
+渴 > thirsty;
+疏 > neglect;
+耗 > consume;
+総 > collect;
+閲 > examine;
+钦 > respect;
+閣 > chamber;
+晋 > advance;
+悦 > pleased;
+斑 > mottled;
+践 > trample;
+贾 > surname;
+渔 > to\-fish;
+蔡 > surname;
+惶 > fearful;
+簾 > a\-blind;
+贩 > peddler;
+戈 > halberd;
+鐐 > fetters;
+揚 > scatter;
+虹 > rainbow;
+範 > pattern;
+寡 > widowed;
+吕 > surname;
+郊 > suburbs;
+徽 > a\-badge;
+谭 > surname;
+捨 > discard;
+鲍 > abalone;
+仓 > granary;
+錦 > brocade;
+笄 > hairpin;
+沾 > moisten;
+競 > contend;
+俞 > surname;
+瞒 > deceive;
+竃 > furnace;
+侨 > sojourn;
+恳 > sincere;
+抒 > express;
+姜 > surname;
+扱 > collect;
+稽 > examine;
+裔 > progeny;
+睹 > look\-at;
+匪 > bandits;
+潘 > surname;
+憑 > lean\-on;
+榜 > placard;
+枉 > useless;
+缅 > distant;
+慥 > sincere;
+骇 > terrify;
+慇 > careful;
+笨 > foolish;
+耸 > urge\-on;
+踩 > step\-on;
+郷 > country;
+惱 > angered;
+悸 > fearful;
+撰 > compose;
+惭 > ashamed;
+垃 > garbage;
+驼 > a\-camel;
+遠 > distant;
+違 > disobey;
+遑 > leisure;
+圾 > garbage;
+豹 > leopard;
+缴 > deliver;
+哨 > whistle;
+進 > advance;
+嚼 > prattle;
+昧 > obscure;
+拢 > collect;
+旱 > drought;
+诡 > deceive;
+搅 > disturb;
+聂 > whisper;
+莽 > thicket;
+馀 > surplus;
+怡 > harmony;
+厮 > servant;
+茨 > caltrop;
+粘 > viscous;
+摧 > destroy;
+朽 > decayed;
+娴 > elegant;
+焕 > shining;
+豁 > open\-up;
+詹 > surname;
+熄 > put\-out;
+逾 > go\-over;
+妒 > jealous;
+邱 > surname;
+醋 > vinegar;
+斌 > refined;
+寇 > bandits;
+屯 > village;
+恕 > forgive;
+沦 > be\-lost;
+岱 > daishan;
+撇 > discard;
+讳 > conceal;
+淌 > trickle;
+岔 > diverge;
+倏 > hastily;
+霓 > rainbow;
+垒 > rampart;
+邵 > surname;
+兢 > fearful;
+赦 > forgive;
+彦 > elegant;
+翘 > turn\-up;
+挚 > sincere;
+郝 > surname;
+觑 > peep\-at;
+拎 > to\-haul;
+噜 > verbose;
+阐 > explain;
+扒 > scratch;
+凹 > concave;
+撩 > lift\-up;
+挠 > scratch;
+崽 > a\-child;
+廖 > surname;
+矫 > correct;
+涅 > blacken;
+橱 > cabinet;
+哆 > tremble;
+蹬 > step\-on;
+恃 > rely\-on;
+拗 > to\-pull;
+剿 > destroy;
+簌 > falling;
+诛 > execute;
+掳 > capture;
+幌 > curtain;
+窒 > stop\-up;
+雍 > harmony;
+馅 > filling;
+瞿 > surname;
+硅 > silicon;
+瘩 > pimples;
+渥 > moisten;
+邢 > surname;
+蹋 > step\-on;
+抨 > impeach;
+擎 > lift\-up;
+憨 > foolish;
+肾 > kidneys;
+锭 > spindle;
+窦 > surname;
+谛 > careful;
+恙 > illness;
+茬 > harvest;
+蛐 > cricket;
+镣 > fetters;
+沥 > trickle;
+谤 > slander;
+钳 > pincers;
+睽 > staring;
+阱 > pitfall;
+姗 > slander;
+跤 > stumble;
+汀 > sandbar;
+秤 > balance;
+晾 > air\-dry;
+霹 > thunder;
+跚 > stagger;
+踹 > trample;
+莞 > smiling;
+鸥 > seagull;
+葆 > reserve;
+氢 > ammonia;
+帧 > picture;
+泯 > destroy;
+匡 > correct;
+佯 > pretend;
+暧 > obscure;
+烬 > cinders;
+蚌 > oysters;
+贻 > give\-to;
+谆 > patient;
+哝 > whisper;
+裴 > surname;
+诽 > slander;
+癞 > leprosy;
+啄 > to\-peck;
+拄 > lean\-on;
+翎 > feather;
+燎 > to\-burn;
+迳 > pass\-by;
+斡 > revolve;
+恸 > sadness;
+啬 > miserly;
+忑 > fearful;
+咂 > to\-suck;
+盹 > to\-doze;
+俾 > so\-that;
+簪 > hairpin;
+赈 > relieve;
+诠 > explain;
+谚 > proverb;
+掸 > to\-dust;
+匮 > to\-lack;
+幡 > pennant;
+讹 > swindle;
+囱 > chimney;
+崂 > laoshan;
+娄 > surname;
+叟 > old\-man;
+蝌 > tadpole;
+蚪 > tadpole;
+氨 > ammonia;
+铀 > uranium;
+挛 > tangled;
+诋 > slander;
+绯 > scarlet;
+攸 > distant;
+鸨 > bustard;
+蜗 > a\-snail;
+谩 > deceive;
+恫 > in\-pain;
+谀 > flatter;
+踮 > tip\-toe;
+馊 > spoiled;
+睇 > look\-at;
+钙 > calcium;
+捱 > put\-off;
+蒿 > mugwort;
+酶 > enzymes;
+涣 > scatter;
+杳 > obscure;
+衢 > highway;
+赡 > support;
+磺 > sulphur;
+蹶 > stumble;
+谄 > flatter;
+蹩 > to\-limp;
+翟 > surname;
+浣 > to\-wash;
+疹 > measles;
+窈 > obscure;
+幔 > curtain;
+靥 > dimples;
+掇 > collect;
+愆 > a\-fault;
+鸵 > ostrich;
+祗 > respect;
+佘 > surname;
+窕 > slender;
+迩 > be\-near;
+佰 > hundred;
+邰 > surname;
+邝 > surname;
+钹 > cymbals;
+伉 > compare;
+靼 > tartars;
+煲 > to\-heat;
+獐 > roebuck;
+佝 > rickets;
+蓟 > circium;
+黜 > dismiss;
+谲 > cunning;
+摈 > exclude;
+飓 > cyclone;
+谗 > slander;
+胱 > bladder;
+饽 > ferrule;
+诳 > deceive;
+馏 > distill;
+苯 > benzene;
+淼 > a\-flood;
+桎 > fetters;
+罄 > exhaust;
+荀 > surname;
+铱 > iridium;
+葩 > flowers;
+逡 > retreat;
+逶 > winding;
+宥 > forgive;
+萸 > dogwood;
+挝 > to\-beat;
+钿 > hairpin;
+熵 > entropy;
+煨 > to\-stew;
+砒 > arsenic;
+晁 > morning;
+谘 > consult;
+凇 > dewdrop;
+噘 > pouting;
+唣 > chatter;
+骠 > charger;
+撷 > pick\-up;
+怄 > annoyed;
+锂 > lithium;
+疥 > scabies;
+稗 > darnels;
+洮 > cleanse;
+悭 > miserly;
+酮 > ketones;
+腚 > buttock;
+逑 > collect;
+腱 > tendons;
+馔 > to\-feed;
+搠 > to\-daub;
+茱 > dogwood;
+砷 > arsenic;
+酡 > flushed;
+疴 > illness;
+戗 > support;
+呒 > unclear;
+谌 > sincere;
+痧 > cholera;
+恂 > careful;
+笤 > a\-broom;
+韫 > secrete;
+怛 > grieved;
+怙 > rely\-on;
+皴 > chapped;
+衤 > clothes;
+廪 > granary;
+庾 > granary;
+挢 > correct;
+睢 > gaze\-at;
+塬 > plateau;
+螯 > nippers;
+獒 > mastiff;
+沆 > a\-ferry;
+帔 > a\-skirt;
+擢 > pull\-up;
+薅 > to\-weed;
+莴 > lettuce;
+羼 > confuse;
+捭 > to\-open;
+葭 > bulrush;
+倥 > boorish;
+溴 > bromine;
+廛 > a\-store;
+揸 > handful;
+仵 > similar;
+髋 > hipbone;
+肱 > forearm;
+厶 > private;
+蚍 > mussels;
+哙 > swallow;
+镓 > gallium;
+铋 > bismuth;
+胝 > callous;
+悃 > sincere;
+矽 > silicon;
+赍 > present;
+翥 > to\-soar;
+蜞 > grapsus;
+蛩 > cricket;
+谠 > counsel;
+鳕 > codfish;
+跆 > trample;
+矬 > a\-dwarf;
+歙 > to\-suck;
+顼 > grieved;
+溲 > urinate;
+蕻 > budding;
+刳 > cut\-out;
+鹈 > pelican;
+铙 > cymbals;
+椟 > cabinet;
+镉 > cadmium;
+嫘 > surname;
+謇 > stutter;
+憷 > painful;
+摭 > pick\-up;
+谡 > rise\-up;
+褊 > cramped;
+鹕 > pelican;
+镲 > cymbals;
+钍 > thorium;
+氪 > krypton;
+迮 > to\-rise;
+忉 > grieved;
+蓍 > milfoil;
+踬 > stumble;
+醯 > vinegar;
+螽 > katydid;
+荑 > sprouts;
+郓 > surname;
+剀 > sharpen;
+蹀 > to\-skip;
+锎 > caesium;
+钇 > yttrium;
+氚 > tritium;
+犸 > mammoth;
+菸 > to\-fade;
+厍 > surname;
+鲱 > herring;
+貊 > leopard;
+躞 > to\-walk;
+蛴 > maggots;
+锾 > measure;
+铌 > niobium;
+畀 > to\-give;
+遘 > to\-meet;
+泷 > raining;
+蒡 > burdock;
+诼 > slander;
+髌 > kneecap;
+鳙 > bighead;
+鳘 > codfish;
+鳆 > abalone;
+絷 > confine;
+箦 > bed\-mat;
+瘘 > fistula;
+鸸 > swallow;
+镄 > fermium;
+恧 > ashamed;
+祆 > ormazda;
+嫠 > a\-widow;
+搴 > extract;
+廒 > granary;
+郄 > surname;
+诜 > inquire;
+僦 > to\-heir;
+龡 > to\-blow;
+齰 > to\-bite;
+齩 > to\-chew;
+齚 > to\-chew;
+鼷 > a\-mouse;
+麞 > roebuck;
+鸑 > a\-large;
+鷟 > phoenix;
+鷗 > seagull;
+鷖 > seagull;
+鶺 > wagtail;
+鶹 > the\-owl;
+鶦 > pelican;
+鶘 > pelican;
+鵮 > to\-peck;
+鵜 > pelican;
+鴯 > swallow;
+鴫 > a\-snipe;
+鴕 > ostrich;
+鴎 > seagull;
+鴇 > bustard;
+鳦 > swallow;
+鲚 > anchovy;
+鱭 > anchovy;
+鱨 > codfish;
+鱄 > anchovy;
+鰽 > herring;
+鰵 > codfish;
+鰮 > sardine;
+鰛 > sardine;
+鰒 > abalone;
+鯷 > anchovy;
+鯡 > herring;
+鮑 > abalone;
+魜 > mermaid;
+鬧 > quarrel;
+髖 > hipbone;
+髕 > kneecap;
+骫 > be\-bent;
+骉 > running;
+驙 > \(horse\);
+驒 > dappled;
+驃 > charger;
+騨 > dappled;
+駭 > terrify;
+駝 > a\-camel;
+駋 > \(horse\);
+馮 > surname;
+饐 > spoiled;
+餿 > spoiled;
+餾 > distill;
+餵 > to\-feed;
+餲 > spoiled;
+餑 > ferrule;
+飤 > to\-feed;
+颶 > cyclone;
+颳 > to\-blow;
+颫 > a\-storm;
+頙 > correct;
+頊 > grieved;
+韣 > bow\-bag;
+韅 > harness;
+靨 > dimples;
+霅 > thunder;
+雟 > sparrow;
+雚 > a\-heron;
+陾 > in\-file;
+陳 > exhibit;
+陞 > promote;
+阧 > sloping;
+闡 > explain;
+闖 > rush\-in;
+閱 > examine;
+閙 > quarrel;
+閈 > village;
+镦 > ferrule;
+铽 > terbium;
+铼 > rhenium;
+铪 > hafnium;
+铥 > thulium;
+铑 > rhodium;
+钬 > holmium;
+鐨 > fermium;
+鐓 > ferrule;
+鐃 > cymbals;
+鎵 > gallium;
+鎘 > cadmium;
+鍰 > measure;
+錸 > rhenium;
+錶 > a\-watch;
+錠 > spindle;
+錀 > \(metal\);
+鋱 > terbium;
+鋰 > lithium;
+鋕 > engrave;
+鋊 > a\-poker;
+鋂 > bit\-cup;
+銩 > thulium;
+銥 > iridium;
+鉿 > hafnium;
+鉷 > trigger;
+鉲 > cadmium;
+鉗 > pincers;
+鉍 > bismuth;
+鈿 > hairpin;
+鈾 > uranium;
+鈸 > cymbals;
+鈮 > niobium;
+鈥 > holmium;
+鈣 > calcium;
+釸 > silicon;
+釷 > thorium;
+釱 > fetters;
+釔 > yttrium;
+酇 > collect;
+鄺 > surname;
+鄧 > surname;
+鄕 > country;
+鄉 > country;
+鄆 > surname;
+郉 > surname;
+邨 > village;
+邇 > be\-near;
+遼 > distant;
+遶 > entwine;
+遯 > deceive;
+逺 > distant;
+逷 > distant;
+逕 > pass\-by;
+逈 > distant;
+迴 > revolve;
+轷 > surname;
+轒 > chariot;
+輽 > vehicle;
+軲 > a\-wheel;
+軘 > war\-car;
+躦 > to\-jump;
+躠 > to\-limp;
+躝 > to\-pass;
+躘 > to\-walk;
+躄 > cripple;
+躂 > stumble;
+蹡 > to\-limp;
+踫 > collide;
+踐 > trample;
+踈 > neglect;
+跴 > step\-on;
+跬 > to\-step;
+跕 > shuffle;
+趷 > to\-jolt;
+趙 > surname;
+趒 > to\-jump;
+贍 > support;
+贇 > affable;
+贃 > to\-earn;
+賫 > present;
+賝 > preious;
+賈 > surname;
+貽 > give\-to;
+販 > peddler;
+豗 > clamour;
+谫 > shallow;
+诹 > consult;
+讟 > slander;
+讜 > counsel;
+讒 > slander;
+讌 > a\-feast;
+讇 > flatter;
+譾 > shallow;
+譸 > deceive;
+譚 > surname;
+譎 > cunning;
+譈 > dislike;
+謾 > deceive;
+謷 > slander;
+謳 > to\-sing;
+謭 > shallow;
+謟 > flatter;
+謗 > slander;
+謖 > rise\-up;
+謌 > slander;
+謆 > beguile;
+諾 > promise;
+諺 > proverb;
+諶 > sincere;
+諱 > conceal;
+諮 > consult;
+諛 > flatter;
+諚 > command;
+諑 > slander;
+諏 > consult;
+諄 > patient;
+諂 > flatter;
+誹 > slander;
+誑 > deceive;
+誅 > execute;
+詾 > noisily;
+詵 > inquire;
+詭 > deceive;
+詫 > to\-brag;
+詆 > slander;
+詅 > to\-sell;
+註 > explain;
+訬 > clamour;
+訩 > noisily;
+訦 > sincere;
+訢 > pleased;
+訑 > deceive;
+觡 > antlers;
+覷 > peep\-at;
+覥 > ashamed;
+覜 > mission;
+襜 > flutter;
+襃 > commend;
+褽 > cushion;
+褔 > complex;
+裵 > surname;
+裒 > collect;
+袽 > clothes;
+袺 > hold\-up;
+袪 > sleeves;
+衵 > chemise;
+蠐 > maggots;
+螮 > rainbow;
+蝸 > a\-snail;
+蝃 > rainbow;
+蝀 > rainbow;
+蜫 > insects;
+蚫 > abalone;
+蚑 > tip\-toe;
+虆 > entwine;
+蘊 > collect;
+藴 > collect;
+藙 > dogwood;
+薽 > \(grass\);
+薶 > to\-bury;
+薓 > ginseng;
+薐 > spinach;
+薊 > circium;
+蕝 > handful;
+蔿 > surname;
+蔣 > surname;
+蔘 > ginseng;
+蓌 > pretend;
+蒐 > collect;
+葠 > ginseng;
+葊 > cottage;
+萵 > lettuce;
+菪 > henbane;
+菧 > stibene;
+莊 > village;
+莀 > to\-farm;
+荘 > village;
+茷 > flutter;
+茠 > to\-weed;
+苽 > bulrush;
+苅 > cut\-off;
+艦 > warship;
+舓 > to\-lick;
+臝 > be\-bare;
+腖 > peptone;
+腎 > kidneys;
+脝 > distend;
+聶 > whisper;
+聯 > connect;
+聮 > connect;
+聫 > connect;
+聨 > connect;
+耉 > old\-age;
+耈 > old\-age;
+翹 > turn\-up;
+翪 > flutter;
+羐 > to\-lead;
+罸 > penalty;
+罖 > kwukyel;
+缻 > pottery;
+缲 > to\-reel;
+繳 > deliver;
+縶 > confine;
+縂 > collect;
+緋 > scarlet;
+緁 > to\-join;
+絪 > matting;
+粂 > surname;
+籛 > surname;
+籑 > to\-feed;
+簀 > bed\-mat;
+笰 > curtain;
+笓 > to\-comb;
+竸 > contend;
+竒 > strange;
+竈 > furnace;
+竇 > surname;
+窀 > to\-bury;
+穫 > harvest;
+稊 > darnels;
+稇 > to\-bind;
+秐 > to\-weed;
+禢 > surname;
+禂 > to\-pray;
+礵 > arsenic;
+磇 > arsenic;
+碃 > \(stone\);
+矱 > measure;
+矯 > correct;
+矟 > ''\-lance;
+瞯 > to\-peep;
+瞞 > deceive;
+眽 > to\-gaze;
+眴 > dazzled;
+眎 > look\-at;
+盧 > cottage;
+癩 > leprosy;
+癨 > quickly;
+瘻 > fistula;
+瘝 > illness;
+畐 > to\-fill;
+甔 > big\-jar;
+瓛 > scaptre;
+璺 > a\-crack;
+璊 > reddish;
+琱 > engrave;
+玧 > reddish;
+獹 > a\-hound;
+獚 > spaniel;
+狉 > fox\-cub;
+犆 > special;
+牮 > prop\-up;
+燼 > cinders;
+熻 > to\-heat;
+熸 > put\-out;
+熯 > by\-fire;
+煻 > to\-warm;
+煥 > shining;
+烉 > shining;
+灴 > to\-bake;
+瀹 > to\-boil;
+瀧 > raining;
+澣 > cleanse;
+澐 > billows;
+潬 > a\-rapid;
+溦 > drizzle;
+渼 > ripples;
+渧 > to\-drop;
+渙 > scatter;
+淪 > be\-lost;
+涶 > to\-spit;
+涒 > meander;
+洸 > sparkle;
+沄 > billows;
+汋 > to\-pour;
+氼 > to\-sink;
+氕 > protium;
+毚 > cunning;
+毀 > destroy;
+歺 > vicious;
+歜 > furious;
+欽 > respect;
+欄 > railing;
+櫥 > cabinet;
+櫝 > cabinet;
+橆 > without;
+榢 > a\-frame;
+椗 > \(plant\);
+棸 > surname;
+栢 > cypress;
+枼 > a\-table;
+枓 > capital;
+杸 > to\-kill;
+杶 > varnish;
+朾 > to\-bump;
+朰 > kwukyel;
+朢 > look\-at;
+朊 > protein;
+曽 > already;
+曖 > obscure;
+晉 > advance;
+旣 > already;
+斿 > to\-swim;
+斮 > cut\-off;
+斠 > measure;
+斁 > dislike;
+敾 > to\-rule;
+敯 > to\-defy;
+敭 > scatter;
+敜 > fill\-up;
+敘 > express;
+敍 > express;
+攷 > examine;
+攪 > disturb;
+攣 > tangled;
+攝 > take\-in;
+攏 > collect;
+擾 > disturb;
+擸 > to\-hold;
+擷 > pick\-up;
+擯 > exclude;
+擝 > to\-pull;
+擄 > capture;
+擁 > embrace;
+撾 > to\-beat;
+撹 > disturb;
+撴 > to\-jolt;
+撣 > to\-dust;
+撢 > to\-dust;
+撟 > correct;
+撓 > scratch;
+撐 > prop\-up;
+摯 > sincere;
+摠 > general;
+摂 > take\-in;
+搷 > to\-beat;
+搶 > plunder;
+掽 > collide;
+掯 > oppress;
+挍 > collate;
+拫 > to\-pull;
+抈 > to\-bend;
+扽 > to\-move;
+戧 > support;
+懰 > be\-glad;
+懫 > enraged;
+懤 > grieved;
+懛 > alarmed;
+懇 > sincere;
+懆 > anxious;
+懅 > bashful;
+憃 > foolish;
+慳 > miserly;
+慪 > annoyed;
+慟 > sadness;
+慚 > ashamed;
+慙 > ashamed;
+愐 > bashful;
+愊 > sincere;
+惷 > wriggle;
+惣 > overall;
+惖 > respect;
+惓 > careful;
+惇 > be\-kind;
+悩 > angered;
+悜 > obscure;
+悐 > respect;
+悅 > pleased;
+恠 > strange;
+恉 > meaning;
+怱 > hastily;
+彧 > refined;
+彥 > elegant;
+彚 > collect;
+彙 > collect;
+彆 > awkward;
+廩 > granary;
+廠 > factory;
+廝 > servant;
+廚 > kitchen;
+廌 > unicorn;
+廋 > conceal;
+庤 > prepare;
+幷 > combine;
+幫 > to\-help;
+幨 > curtain;
+幀 > picture;
+帿 > marquis;
+帲 > shelter;
+帡 > shelter;
+巿 > revolve;
+巇 > a\-crack;
+嶗 > laoshan;
+崋 > flowery;
+尟 > surname;
+寪 > surname;
+孅 > slender;
+嫻 > elegant;
+嫺 > refined;
+媿 > ashamed;
+媻 > to\-move;
+媞 > at\-ease;
+婬 > obscene;
+婁 > surname;
+姍 > slander;
+奛 > opening;
+夣 > a\-dream;
+壽 > old\-age;
+壭 > kwukyel;
+壝 > a\-mound;
+壘 > rampart;
+壔 > a\-mound;
+塽 > plateau;
+塡 > fill\-in;
+塓 > plaster;
+塁 > rampart;
+堄 > parapet;
+埗 > a\-wharf;
+圗 > diagram;
+圕 > library;
+圂 > pig\-sty;
+囪 > chimney;
+嚥 > swallow;
+嚕 > verbose;
+嚊 > to\-pant;
+噲 > swallow;
+噥 > whisper;
+嘸 > unclear;
+嗹 > chatter;
+喾 > emperor;
+喥 > a\-place;
+啱 > correct;
+唞 > to\-gasp;
+唅 > a\-sound;
+咾 > a\-noise;
+咊 > harmony;
+咉 > an\-echo;
+呿 > to\-yawn;
+呬 > to\-rest;
+呫 > whisper;
+呌 > to\-call;
+叜 > old\-man;
+厼 > kwukyel;
+厰 > factory;
+厫 > granary;
+厙 > surname;
+卲 > eminent;
+卪 > kwukyel;
+卆 > soldier;
+匽 > to\-hide;
+匱 > to\-lack;
+匧 > a\-trunk;
+匋 > pottery;
+匊 > handful;
+勦 > destroy;
+劐 > destroy;
+劉 > surname;
+剴 > sharpen;
+凊 > surname;
+冦 > bandits;
+兯 > kwukyel;
+兪 > surname;
+兂 > hairpin;
+儶 > valiant;
+儦 > milling;
+儤 > on\-duty;
+儓 > servant;
+儍 > foolish;
+僯 > ashamed;
+僤 > sincere;
+僎 > collect;
+傼 > surname;
+傚 > imitate;
+傔 > servant;
+傁 > old\-man;
+偹 > prepare;
+倣 > imitate;
+倝 > sunrise;
+倐 > hastily;
+倂 > combine;
+侴 > surname;
+侇 > a\-class;
+侅 > to\-give;
+佉 > surname;
+伈 > nervous;
+伀 > excited;
+仒 > kwukyel;
+亽 > kwukyel;
+亷 > upright;
+亶 > sincere;
+亪 > kwukyel;
+亗 > harvest;
+乿 > to\-cure;
+乬 > to\-hang;
+乥 > kwukyel;
+乛 > kwukyel;
+乊 > kwukyel;
+乀 > stretch;
+丷 > kwukyel;
+丟 > discard;
+丏 > parapet;
+丆 > kwukyel;
+䶴 > to\-blow;
+䶩 > to\-gnaw;
+䶧 > to\-gnaw;
+䶢 > to\-gnaw;
+䶠 > to\-gnaw;
+䶞 > to\-gnaw;
+䶗 > to\-bite;
+䵼 > to\-boil;
+䴧 > venison;
+䴒 > wagtail;
+䳭 > wagtail;
+䲬 > chicken;
+䲣 > to\-fish;
+䲝 > pomfret;
+䲔 > a\-whale;
+䱷 > to\-fish;
+䱉 > the\-eel;
+䱇 > the\-eel;
+䰯 > to\-fear;
+䰞 > to\-cook;
+䰁 > to\-meet;
+䮼 > piebald;
+䮻 > to\-pray;
+䮦 > untamed;
+䭮 > jewelry;
+䭤 > to\-chew;
+䭠 > a\-snack;
+䬡 > to\-soar;
+䬝 > a\-storm;
+䬖 > a\-storm;
+䬎 > hot\-air;
+䫸 > to\-blow;
+䫘 > healthy;
+䫒 > disease;
+䪣 > smashed;
+䪢 > smashed;
+䩳 > tanning;
+䩟 > leather;
+䩔 > the\-hem;
+䨨 > thunder;
+䨞 > to\-rain;
+䨛 > to\-rain;
+䨚 > to\-rain;
+䨓 > thunder;
+䨂 > a\-chick;
+䧰 > a\-mound;
+䧟 > to\-skin;
+䧍 > a\-crack;
+䦭 > to\-open;
+䦋 > to\-grow;
+䥰 > to\-melt;
+䥮 > to\-beat;
+䥊 > refined;
+䤟 > a\-spade;
+䤘 > vinegar;
+䤕 > vinegar;
+䤈 > vinegar;
+䣷 > to\-pour;
+䢶 > a\-state;
+䢰 > to\-jump;
+䢬 > to\-move;
+䢣 > distant;
+䢢 > to\-pass;
+䢠 > to\-send;
+䢙 > to\-ruin;
+䢒 > to\-meet;
+䢌 > to\-walk;
+䠼 > to\-wear;
+䠳 > to\-walk;
+䠥 > to\-limp;
+䠜 > to\-walk;
+䠛 > to\-jump;
+䠓 > to\-walk;
+䠄 > to\-walk;
+䟾 > to\-jump;
+䟷 > to\-jump;
+䟰 > to\-walk;
+䟭 > to\-jump;
+䟬 > to\-walk;
+䟦 > to\-walk;
+䟐 > to\-walk;
+䟏 > to\-jump;
+䟍 > to\-walk;
+䟉 > to\-walk;
+䟈 > to\-walk;
+䟇 > to\-walk;
+䟀 > to\-walk;
+䞻 > to\-walk;
+䞺 > to\-walk;
+䞹 > to\-walk;
+䞵 > to\-jump;
+䞴 > to\-jump;
+䞯 > to\-walk;
+䞫 > to\-walk;
+䞥 > to\-walk;
+䞤 > to\-walk;
+䞢 > to\-walk;
+䞡 > to\-walk;
+䞠 > to\-walk;
+䞞 > to\-walk;
+䝻 > to\-sell;
+䝮 > to\-brag;
+䝧 > capital;
+䜖 > to\-talk;
+䜉 > to\-jest;
+䛿 > cunning;
+䛺 > to\-warn;
+䛷 > to\-obey;
+䛰 > sketchy;
+䛢 > cunning;
+䛝 > to\-like;
+䛛 > courage;
+䚼 > ashamed;
+䚻 > to\-sing;
+䚱 > honesty;
+䚮 > thicker;
+䚗 > to\-lift;
+䚏 > to\-love;
+䙲 > to\-move;
+䙩 > clothes;
+䙙 > clothes;
+䙎 > sleeves;
+䙉 > clothes;
+䘷 > sleeves;
+䘶 > sleeves;
+䘱 > wealthy;
+䘮 > to\-lose;
+䘠 > greaves;
+䘝 > a\-shirt;
+䗲 > firefly;
+䗑 > firefly;
+䖵 > insects;
+䖝 > insects;
+䖚 > a\-tiger;
+䖘 > a\-tiger;
+䖕 > a\-tiger;
+䖄 > to\-burn;
+䕞 > henbane;
+䕑 > parsley;
+䔺 > heading;
+䔀 > parsley;
+䒶 > the\-sky;
+䒘 > parsley;
+䑧 > a\-short;
+䑛 > to\-lick;
+䐿 > gizzard;
+䐷 > paunchy;
+䐶 > to\-cook;
+䐴 > lumbago;
+䐫 > obesity;
+䐊 > insects;
+䏝 > sincere;
+䏖 > a\-wound;
+䏑 > to\-burn;
+䏇 > to\-hear;
+䏅 > to\-hear;
+䏃 > to\-hear;
+䎽 > to\-hear;
+䎻 > to\-hear;
+䎹 > to\-hear;
+䎸 > to\-hear;
+䎩 > to\-till;
+䎦 > to\-till;
+䎤 > to\-till;
+䎝 > to\-soar;
+䎌 > feather;
+䍶 > unicorn;
+䍳 > disease;
+䌘 > to\-knit;
+䌔 > to\-soak;
+䌁 > a\-pleat;
+䋎 > to\-mend;
+䊟 > adorned;
+䊘 > a\-grain;
+䊒 > refined;
+䊇 > to\-feed;
+䉵 > to\-feed;
+䉢 > a\-sieve;
+䉎 > a\-cover;
+䈬 > a\-small;
+䈪 > a\-small;
+䈥 > tendons;
+䈤 > pincers;
+䈒 > fragile;
+䈇 > a\-cover;
+䇔 > atrophy;
+䇍 > to\-wait;
+䆵 > an\-echo;
+䆨 > the\-sky;
+䅸 > a\-grain;
+䄤 > to\-sink;
+䄏 > bizarre;
+䃣 > to\-ruin;
+䂊 > weapons;
+䂉 > weapons;
+䂆 > weapons;
+䂀 > to\-wink;
+䁲 > to\-peep;
+䁪 > to\-wink;
+䁣 > to\-wink;
+䁛 > to\-look;
+䁒 > to\-wink;
+䀻 > to\-look;
+䀨 > to\-look;
+䀔 > to\-look;
+㿦 > to\-tell;
+㿒 > illness;
+㿑 > illness;
+㿍 > scabies;
+㾷 > to\-ache;
+㾬 > malaria;
+㾠 > a\-fever;
+㾟 > relapse;
+㾞 > illness;
+㾘 > ailment;
+㾖 > grieved;
+㾕 > a\-chill;
+㾓 > fatigue;
+㾒 > illness;
+㾏 > illness;
+㾇 > illness;
+㾆 > ecdysis;
+㾅 > defects;
+㾂 > illness;
+㽴 > illness;
+㽳 > illness;
+㽝 > to\-sink;
+㽖 > a\-human;
+㼼 > a\-ladle;
+㼷 > a\-basin;
+㼜 > a\-basin;
+㼗 > a\-brick;
+㻹 > a\-crack;
+㻃 > crooked;
+㺲 > buttons;
+㺗 > to\-bite;
+㺊 > a\-beast;
+㹾 > cunning;
+㹽 > to\-bite;
+㹞 > to\-bark;
+㹛 > a\-tamed;
+㸧 > to\-bite;
+㸐 > to\-burn;
+㸍 > to\-burn;
+㷻 > without;
+㷓 > a\-torch;
+㷊 > to\-burn;
+㷉 > to\-iron;
+㷅 > to\-cook;
+㶮 > to\-burn;
+㶫 > to\-burn;
+㶣 > to\-burn;
+㶗 > well\-up;
+㶓 > to\-sink;
+㶇 > a\-ferry;
+㵸 > to\-boil;
+㵴 > to\-sink;
+㵣 > thirsty;
+㵒 > boiling;
+㵌 > to\-flow;
+㵅 > a\-river;
+㴿 > boiling;
+㴉 > various;
+㴇 > to\-wade;
+㴅 > to\-melt;
+㳺 > to\-swim;
+㳭 > spittle;
+㳬 > an\-eddy;
+㳪 > a\-river;
+㳦 > a\-river;
+㳙 > a\-brook;
+㳅 > to\-flow;
+㳄 > spittle;
+㲺 > to\-wash;
+㲅 > to\-bind;
+㲂 > to\-push;
+㲁 > to\-beat;
+㲀 > to\-beat;
+㱮 > to\-open;
+㱖 > to\-stay;
+㱌 > to\-take;
+㱄 > to\-spit;
+㱀 > to\-bite;
+㰵 > to\-suck;
+㰕 > a\-ladle;
+㯻 > to\-bind;
+㯹 > to\-show;
+㯸 > a\-basin;
+㯓 > a\-couch;
+㯐 > tubular;
+㯋 > a\-chest;
+㮸 > to\-send;
+㮛 > a\-spoon;
+㭰 > to\-know;
+㭬 > to\-beat;
+㭪 > a\-shrub;
+㭌 > a\-basin;
+㭈 > a\-basin;
+㬼 > to\-have;
+㬝 > obscure;
+㬔 > to\-defy;
+㬃 > sunrise;
+㫴 > to\-roar;
+㫳 > morning;
+㫧 > violent;
+㫝 > the\-sun;
+㫙 > the\-sun;
+㫑 > purpose;
+㪼 > to\-pull;
+㪱 > elegant;
+㪯 > to\-lift;
+㪮 > to\-beat;
+㪨 > to\-mend;
+㪧 > to\-beat;
+㪦 > to\-beat;
+㪥 > to\-take;
+㪢 > to\-beat;
+㪠 > to\-peck;
+㪝 > to\-beat;
+㪗 > to\-open;
+㪕 > to\-beat;
+㪒 > to\-ruin;
+㪏 > to\-ruin;
+㪁 > to\-hold;
+㩶 > to\-hold;
+㩵 > to\-beat;
+㩳 > to\-hold;
+㩰 > to\-stab;
+㩯 > to\-move;
+㩬 > to\-beat;
+㩤 > to\-open;
+㩣 > to\-move;
+㩢 > to\-beat;
+㩕 > to\-haul;
+㩋 > to\-beat;
+㨷 > to\-wipe;
+㨰 > to\-turn;
+㨦 > to\-hold;
+㨤 > to\-wipe;
+諸 > several;
+羽 > feather;
+精 > essence;
+㨖 > to\-stab;
+㨏 > to\-beat;
+㨋 > to\-beat;
+降 > descend;
+暴 > violent;
+㨆 > to\-kill;
+㨂 > to\-beat;
+㧿 > to\-bump;
+㧻 > a\-thorn;
+㧫 > to\-hold;
+㧪 > to\-ruin;
+㧤 > to\-jump;
+㧣 > to\-stop;
+㧡 > to\-move;
+㧟 > to\-wipe;
+㧝 > to\-take;
+率 > to\-lead;
+㧜 > to\-hold;
+律 > statute;
+淪 > be\-lost;
+㧓 > to\-lead;
+㧒 > to\-beat;
+㧑 > to\-wave;
+㧐 > to\-hold;
+㧊 > to\-push;
+劉 > surname;
+㧈 > to\-pull;
+㧇 > to\-hold;
+遼 > distant;
+㧄 > to\-take;
+燎 > to\-burn;
+㦹 > a\-spear;
+㦵 > to\-kill;
+㦭 > to\-pity;
+㦬 > ashamed;
+令 > command;
+簾 > a\-blind;
+廉 > upright;
+㦞 > grieved;
+聯 > connect;
+㦕 > thought;
+黎 > surname;
+呂 > surname;
+量 > measure;
+㥽 > feeling;
+㥹 > to\-move;
+拾 > pick\-up;
+㥯 > careful;
+塞 > stop\-up;
+㥤 > to\-pity;
+率 > to\-lead;
+諾 > promise;
+㥕 > to\-pity;
+㥒 > corrupt;
+㥏 > bashful;
+㥌 > prudent;
+壘 > rampart;
+雷 > thunder;
+㥄 > to\-pity;
+㤿 > to\-love;
+㤽 > grieved;
+魯 > foolish;
+㤺 > blurred;
+虜 > capture;
+㤶 > confuse;
+盧 > cottage;
+擄 > capture;
+㤭 > untamed;
+㤠 > grieved;
+欄 > railing;
+癩 > leprosy;
+㤅 > to\-love;
+賈 > surname;
+㤃 > jealous;
+㤂 > anxious;
+㣷 > walking;
+㣶 > to\-walk;
+㣬 > to\-walk;
+㣜 > to\-walk;
+㣛 > walking;
+㣃 > to\-sell;
+㣂 > to\-bind;
+㢼 > awkward;
+㢣 > to\-lift;
+㢝 > cottage;
+㢕 > harmony;
+㡸 > a\-house;
+㡰 > a\-house;
+㡫 > anxious;
+㡨 > a\-label;
+㡘 > screens;
+㡓 > drawers;
+㡂 > remains;
+㠭 > to\-open;
+㟧 > a\-cliff;
+㞺 > a\-tribe;
+㞫 > to\-walk;
+㞧 > to\-meet;
+㞤 > to\-help;
+㞡 > to\-open;
+㞀 > to\-bump;
+㝼 > crooked;
+㝱 > a\-dream;
+㝢 > a\-house;
+㝀 > to\-like;
+㜾 > a\-child;
+㜩 > jealous;
+㜓 > womanly;
+㜉 > womanly;
+㜇 > unhappy;
+㛿 > cunning;
+㛻 > womanly;
+㛯 > to\-soar;
+㛕 > womanly;
+㚢 > a\-slave;
+㙔 > a\-fence;
+㙐 > to\-move;
+㙏 > caverns;
+㘸 > to\-bury;
+㘷 > mugwort;
+㘩 > to\-mate;
+㘗 > whisper;
+㘕 > to\-call;
+㘂 > ashamed;
+㘁 > to\-call;
+㗽 > an\-echo;
+㗲 > to\-call;
+㗱 > to\-suck;
+㗭 > a\-sound;
+㗤 > ashamed;
+㗍 > to\-gnaw;
+㗃 > the\-lip;
+㖿 > a\-sound;
+㖻 > whisper;
+㖺 > to\-blow;
+㖭 > to\-lick;
+㖥 > to\-spit;
+㕷 > to\-call;
+㕱 > to\-bark;
+㕮 > to\-chew;
+㕟 > to\-sign;
+㕞 > a\-brush;
+㕜 > history;
+㔿 > a\-tally;
+㔭 > a\-spoon;
+㔡 > greatly;
+㔂 > to\-pare;
+㓲 > to\-pare;
+㓰 > to\-rive;
+㓥 > to\-kill;
+㓟 > to\-peel;
+㓐 > to\-rain;
+㒼 > average;
+㒸 > to\-obey;
+㒴 > to\-come;
+㒦 > puppets;
+㒞 > valiant;
+㒕 > unyield;
+㒒 > a\-slave;
+㒑 > grow\-up;
+㒉 > alarmed;
+㑹 > to\-meet;
+㑐 > to\-move;
+㑅 > to\-make;
+㑃 > to\-pull;
+㐼 > to\-save;
+㐮 > to\-help;
+㐁 > to\-lick;
+是 > indeed;
+迫 > coerce;
+応 > should;
+忘 > forget;
+国 > nation;
+返 > return;
+忍 > endure;
+迄 > extend;
+必 > surely;
+出 > go\-out;
+辿 > follow;
+瞼 > eyelid;
+得 > obtain;
+辷 > smooth;
+徴 > summon;
+徳 > virtue;
+瞭 > bright;
+復 > return;
+辛 > bitter;
+徐 > slowly;
+後 > behind;
+徊 > linger;
+影 > shadow;
+事 > affair;
+轟 > rumble;
+彈 > pellet;
+主 > master;
+強 > strong;
+弛 > loosen;
+民 > people;
+県 > county;
+现 > appear;
+分 > divide;
+些 > little;
+相 > mutual;
+回 > return;
+理 > reason;
+明 > bright;
+益 > profit;
+话 > speech;
+向 > toward;
+定 > decide;
+庫 > armory;
+度 > degree;
+底 > bottom;
+打 > strike;
+位 > throne;
+序 > series;
+幼 > infant;
+干 > oppose;
+内 > inside;
+癪 > spasms;
+加 > add\-to;
+化 > change;
+癌 > cancer;
+常 > common;
+踰 > exceed;
+市 > market;
+帰 > return;
+才 > talent;
+住 > reside;
+员 > member;
+巻 > scroll;
+性 > nature;
+报 > report;
+神 > spirit;
+数 > number;
+跡 > search;
+原 > source;
+巡 > patrol;
+川 > stream;
+应 > should;
+越 > exceed;
+疊 > repeat;
+系 > system;
+畳 > repeat;
+赫 > bright;
+及 > extend;
+制 > system;
+畠 > garden;
+解 > loosen;
+记 > record;
+林 > forest;
+贔 > strong;
+统 > govern;
+字 > letter;
+島 > island;
+質 > matter;
+论 > debate;
+貰 > borrow;
+指 > finger;
+財 > wealth;
+花 > flower;
+層 > storey;
+条 > clause;
+变 > change;
+该 > should;
+屍 > corpse;
+传 > summon;
+治 > govern;
+决 > decide;
+局 > bureau;
+办 > manage;
+谷 > valley;
+城 > castle;
+父 > father;
+强 > strong;
+導 > direct;
+封 > letter;
+現 > appear;
+寧 > repose;
+黄 > yellow;
+德 > ethics;
+害 > injure;
+宮 > palace;
+找 > search;
+友 > friend;
+變 > change;
+改 > change;
+守 > defend;
+讃 > praise;
+际 > border;
+单 > single;
+导 > direct;
+獲 > obtain;
+孤 > orphan;
+校 > school;
+獄 > prison;
+猾 > crafty;
+謙 > humble;
+謎 > riddle;
+随 > follow;
+狹 > narrow;
+狭 > narrow;
+母 > mother;
+狙 > an\-ape;
+論 > debate;
+团 > sphere;
+狂 > insane;
+課 > lesson;
+苦 > bitter;
+招 > beckon;
+兴 > thrive;
+該 > should;
+约 > treaty;
+話 > speech;
+詩 > poetry;
+牢 > prison;
+绝 > to\-cut;
+选 > choose;
+复 > return;
+星 > a\-star;
+爺 > father;
+訴 > accuse;
+訟 > accuse;
+妈 > mother;
+爛 > rotten;
+記 > record;
+消 > vanish;
+娘 > mother;
+燭 > candle;
+姫 > beauty;
+杨 > willow;
+易 > change;
+严 > strict;
+熊 > a\-bear;
+妄 > absurd;
+纪 > record;
+苏 > revive;
+答 > answer;
+奮 > strive;
+煩 > bother;
+襤 > ragged;
+击 > strike;
+朋 > friend;
+供 > supply;
+央 > center;
+列 > a\-line;
+焦 > burned;
+爷 > father;
+龙 > dragon;
+褒 > praise;
+夏 > summer;
+変 > change;
+春 > spring;
+複 > repeat;
+灵 > spirit;
+裡 > inside;
+诉 > accuse;
+态 > manner;
+裏 > inside;
+质 > matter;
+袖 > sleeve;
+园 > garden;
+袋 > pocket;
+副 > assist;
+够 > enough;
+获 > obtain;
+诗 > poetry;
+街 > street;
+報 > report;
+激 > arouse;
+银 > silver;
+阵 > column;
+层 > storey;
+亮 > bright;
+简 > simple;
+毒 > poison;
+归 > return;
+换 > change;
+湖 > a\-lake;
+蝉 > cicada;
+追 > pursue;
+鼬 > weasel;
+络 > enmesh;
+漠 > desert;
+蜘 > spider;
+團 > sphere;
+占 > divine;
+圓 > circle;
+園 > garden;
+赶 > pursue;
+兰 > orchid;
+國 > nation;
+圃 > garden;
+源 > spring;
+団 > sphere;
+阶 > stairs;
+蛛 > spider;
+黙 > silent;
+伸 > extend;
+默 > silent;
+佛 > buddha;
+嚴 > strict;
+挥 > direct;
+效 > result;
+攻 > attack;
+策 > scheme;
+防 > defend;
+股 > thighs;
+蘭 > orchid;
+莫 > do\-not;
+嘘 > exhale;
+县 > county;
+蘇 > revive;
+窗 > window;
+添 > append;
+混 > to\-mix;
+鷲 > condor;
+博 > gamble;
+弹 > pellet;
+藤 > rattan;
+坏 > rotten;
+智 > wisdom;
+岛 > island;
+抗 > resist;
+喰 > to\-eat;
+單 > single;
+爹 > father;
+喧 > lively;
+喉 > throat;
+爸 > father;
+浚 > dredge;
+逃 > escape;
+骂 > accuse;
+唸 > recite;
+靖 > pacify;
+秘 > secret;
+财 > wealth;
+欲 > desire;
+征 > invade;
+秋 > autumn;
+吸 > inhale;
+鳩 > pigeon;
+員 > member;
+悲 > sorrow;
+泉 > spring;
+桥 > bridge;
+劲 > strong;
+咽 > throat;
+蒻 > rushes;
+库 > armory;
+借 > borrow;
+決 > decide;
+董 > direct;
+葡 > grapes;
+汚 > filthy;
+控 > accuse;
+胸 > breast;
+课 > lesson;
+邮 > postal;
+吝 > stingy;
+横 > across;
+健 > strong;
+萎 > wither;
+萄 > grapes;
+圆 > circle;
+卷 > scroll;
+菫 > celery;
+择 > select;
+恨 > hatred;
+竹 > bamboo;
+菓 > fruits;
+宫 > palace;
+旗 > banner;
+殻 > casing;
+厳 > strict;
+殘 > injure;
+残 > injure;
+歸 > return;
+稳 > stable;
+迹 > traces;
+针 > needle;
+替 > change;
+卑 > humble;
+悄 > silent;
+奋 > strive;
+櫻 > cherry;
+弃 > reject;
+烦 > bother;
+抵 > resist;
+码 > number;
+励 > strive;
+紫 > purple;
+拔 > uproot;
+芝 > sesame;
+梁 > bridge;
+赏 > reward;
+劃 > divide;
+插 > insert;
+驢 > donkey;
+冬 > winter;
+扩 > expand;
+橘 > orange;
+橋 > bridge;
+逼 > compel;
+騷 > harass;
+刹 > temple;
+镜 > mirror;
+污 > filthy;
+標 > a\-mark;
+狱 > prison;
+騒 > harass;
+舌 > tongue;
+森 > forest;
+興 > thrive;
+槽 > trough;
+怨 > hatred;
+臼 > mortar;
+伏 > crouch;
+愤 > resent;
+俄 > sudden;
+凍 > freeze;
+槌 > hammer;
+稍 > little;
+籍 > record;
+侵 > invade;
+阻 > impede;
+慧 > bright;
+饑 > starve;
+晃 > bright;
+腑 > bowels;
+烂 > rotten;
+兎 > rabbit;
+腋 > armpit;
+尸 > corpse;
+椿 > father;
+儘 > utmost;
+崇 > esteem;
+餓 > hungry;
+椎 > hammer;
+棺 > coffin;
+粉 > powder;
+盾 > shield;
+飢 > hunger;
+轰 > rumble;
+奸 > crafty;
+邦 > nation;
+棄 > reject;
+饿 > hungry;
+捕 > arrest;
+傳 > summon;
+梯 > ladder;
+挣 > strive;
+聘 > engage;
+條 > clause;
+耐 > endure;
+梃 > a\-club;
+顫 > shiver;
+桜 > cherry;
+闷 > gloomy;
+願 > desire;
+悔 > repent;
+邀 > invite;
+颤 > shiver;
+頬 > cheeks;
+頤 > cheeks;
+患 > suffer;
+丐 > beggar;
+柱 > pillar;
+柚 > pomelo;
+翌 > bright;
+柄 > handle;
+侮 > insult;
+铜 > copper;
+枕 > pillow;
+罹 > sorrow;
+罵 > accuse;
+杵 > pestle;
+敲 > strike;
+靡 > divide;
+扯 > rip\-up;
+鉴 > mirror;
+趋 > hasten;
+佐 > assist;
+逊 > humble;
+靈 > spirit;
+朴 > simple;
+札 > letter;
+伝 > summon;
+伎 > talent;
+串 > string;
+霊 > spirit;
+雲 > clouds;
+熙 > bright;
+庙 > temple;
+仏 > buddha;
+雌 > female;
+雇 > employ;
+隨 > follow;
+際 > border;
+階 > stairs;
+隅 > corner;
+酷 > strong;
+乳 > breast;
+稣 > revive;
+陣 > column;
+繕 > repair;
+昭 > bright;
+棉 > cotton;
+搜 > search;
+縛 > to\-tie;
+谅 > excuse;
+烛 > candle;
+呈 > submit;
+線 > thread;
+拓 > expand;
+敦 > esteem;
+數 > number;
+敷 > spread;
+統 > govern;
+脾 > spleen;
+絡 > enmesh;
+紳 > girdle;
+鹰 > falcon;
+約 > treaty;
+紀 > record;
+愚 > stupid;
+糞 > manure;
+粧 > toilet;
+撃 > strike;
+饥 > hunger;
+鑒 > mirror;
+逻 > patrol;
+簡 > simple;
+鏡 > mirror;
+換 > change;
+採 > gather;
+帕 > turban;
+冻 > freeze;
+谦 > humble;
+捜 > search;
+丫 > forked;
+煌 > bright;
+挿 > insert;
+拐 > kidnap;
+荐 > repeat;
+倪 > feeble;
+錐 > gimlet;
+骚 > harass;
+寞 > silent;
+篮 > basket;
+侄 > nephew;
+拙 > stupid;
+叉 > crotch;
+怖 > terror;
+抜 > uproot;
+窓 > window;
+抉 > choose;
+銅 > copper;
+銀 > silver;
+谜 > riddle;
+颁 > confer;
+颊 > cheeks;
+咕 > mumble;
+舵 > rudder;
+惩 > punish;
+咖 > coffee;
+針 > needle;
+應 > should;
+尹 > govern;
+憤 > resent;
+淳 > honest;
+猴 > monkey;
+弦 > string;
+缚 > to\-tie;
+態 > manner;
+慄 > shiver;
+陋 > narrow;
+郵 > postal;
+窄 > narrow;
+驴 > donkey;
+壳 > casing;
+霉 > mildew;
+芦 > rushes;
+胳 > armpit;
+悼 > grieve;
+悶 > gloomy;
+逍 > ramble;
+悴 > suffer;
+耍 > frolic;
+粪 > manure;
+捆 > tie\-up;
+選 > choose;
+遜 > humble;
+兔 > rabbit;
+遊 > wander;
+逛 > ramble;
+匈 > breast;
+讽 > recite;
+拣 > choose;
+耿 > bright;
+廿 > twenty;
+诵 > recite;
+腻 > greasy;
+缆 > hawser;
+鞑 > tatars;
+氓 > people;
+慷 > ardent;
+篷 > awning;
+荆 > thorns;
+膏 > grease;
+鞍 > saddle;
+鸠 > pigeon;
+缕 > thread;
+睬 > notice;
+绥 > soothe;
+氧 > oxygen;
+婷 > pretty;
+姬 > beauty;
+吭 > throat;
+凿 > chisel;
+捂 > resist;
+巫 > wizard;
+虾 > shrimp;
+绅 > girdle;
+镶 > insert;
+颐 > cheeks;
+删 > to\-cut;
+讼 > accuse;
+伶 > lonely;
+炯 > bright;
+鸽 > pigeon;
+渝 > change;
+椒 > pepper;
+揖 > salute;
+冉 > tender;
+咙 > throat;
+踱 > stroll;
+猬 > vulgar;
+屿 > island;
+俐 > smooth;
+褂 > jacket;
+糙 > coarse;
+闸 > sluice;
+颓 > ruined;
+屉 > drawer;
+芹 > celery;
+锥 > gimlet;
+刁 > tricky;
+曙 > bright;
+洼 > hollow;
+皓 > bright;
+蒜 > garlic;
+炳 > bright;
+渣 > refuse;
+慑 > afraid;
+樱 > cherry;
+忏 > regret;
+碾 > roller;
+疙 > pimple;
+漉 > filter;
+隧 > tunnel;
+酥 > butter;
+钮 > button;
+隘 > narrow;
+漱 > gargle;
+盔 > helmet;
+磋 > polish;
+惴 > afraid;
+蕉 > banana;
+惋 > regret;
+痰 > phlegm;
+羁 > halter;
+诏 > decree;
+靶 > target;
+酝 > liquor;
+柬 > letter;
+亵 > slight;
+貂 > marten;
+聆 > listen;
+毋 > do\-not;
+韬 > sheath;
+鹊 > magpie;
+敖 > ramble;
+膺 > breast;
+悚 > afraid;
+卅 > thirty;
+徵 > summon;
+碳 > carbon;
+懵 > stupid;
+鹫 > condor;
+硫 > sulfur;
+踞 > crouch;
+镰 > sickle;
+涎 > saliva;
+壕 > trench;
+锚 > anchor;
+钠 > sodium;
+睿 > shrewd;
+莺 > oriole;
+蛊 > poison;
+烨 > bright;
+胯 > pelvis;
+跻 > ascend;
+鳖 > turtle;
+腼 > modest;
+橙 > orange;
+丞 > assist;
+娓 > comply;
+刎 > behead;
+蹙 > urgent;
+胚 > embryo;
+荔 > lichee;
+铿 > strike;
+锵 > tinkle;
+茧 > cocoon;
+蟒 > python;
+褴 > ragged;
+鹃 > cuckoo;
+猥 > vulgar;
+獗 > unruly;
+蒯 > a\-rush;
+沏 > infuse;
+峪 > valley;
+嚏 > sneeze;
+砾 > gravel;
+馁 > hungry;
+佟 > a\-name;
+茜 > madder;
+扈 > escort;
+咛 > enjoin;
+泗 > mucous;
+胄 > helmet;
+锹 > shovel;
+鹗 > osprey;
+儡 > puppet;
+皈 > follow;
+螂 > mantis;
+苓 > fungus;
+媛 > beauty;
+箴 > needle;
+叵 > cannot;
+仃 > lonely;
+杞 > willow;
+寮 > shanty;
+缮 > repair;
+犷 > fierce;
+沱 > rivers;
+厩 > stable;
+疡 > ulcers;
+垓 > border;
+徕 > induce;
+槁 > wither;
+遴 > select;
+圻 > border;
+龊 > narrow;
+龌 > narrow;
+遨 > ramble;
+骛 > gallop;
+徉 > wonder;
+谪 > charge;
+俚 > rustic;
+锨 > shovel;
+锃 > polish;
+俪 > spouse;
+锲 > sickle;
+祚 > throne;
+臾 > moment;
+遒 > strong;
+囹 > prison;
+嬴 > to\-win;
+烩 > ragout;
+圄 > prison;
+螫 > poison;
+铤 > ingots;
+螳 > mantis;
+茁 > sprout;
+舢 > sampan;
+芾 > flower;
+狲 > monkey;
+碜 > gritty;
+僭 > assume;
+碘 > iodine;
+烯 > alkene;
+囿 > pen\-up;
+囫 > entire;
+褡 > girdle;
+镍 > nickel;
+煜 > bright;
+橐 > a\-sack;
+杷 > loquat;
+恹 > feeble;
+彀 > enough;
+聒 > clamor;
+羯 > wether;
+粲 > polish;
+枇 > loquat;
+秣 > fodder;
+樽 > goblet;
+楹 > column;
+焖 > simmer;
+睑 > eyelid;
+轳 > pulley;
+殚 > utmost;
+镭 > radium;
+殄 > to\-end;
+诰 > inform;
+鹄 > target;
+莅 > attend;
+谟 > scheme;
+讫 > finish;
+珲 > bright;
+淬 > temper;
+嘬 > to\-lap;
+佶 > strong;
+晔 > bright;
+舛 > oppose;
+烷 > alkane;
+蛎 > oyster;
+焱 > flames;
+蜥 > lizard;
+圜 > circle;
+蜴 > lizard;
+葺 > thatch;
+戆 > stupid;
+嬷 > mother;
+恽 > devise;
+蓿 > clover;
+瘌 > severe;
+喱 > gramme;
+钴 > cobalt;
+岙 > island;
+貉 > badger;
+繇 > reason;
+蜉 > mayfly;
+疖 > pimple;
+纾 > loosen;
+鲑 > salmon;
+娈 > lovely;
+荨 > nettle;
+竦 > revere;
+狒 > baboon;
+撄 > oppose;
+蘼 > millet;
+茴 > fennel;
+鲦 > minnow;
+渌 > strain;
+阚 > glance;
+苜 > clover;
+偬 > urgent;
+珐 > enamel;
+靛 > indigo;
+黧 > a\-dark;
+碇 > anchor;
+蠓 > midges;
+橼 > citrus;
+蕞 > little;
+圯 > bridge;
+魍 > demons;
+翊 > flying;
+镏 > distil;
+碓 > pestle;
+胼 > callus;
+挈 > assist;
+犏 > yak\-ox;
+悛 > repent;
+勖 > enjoin;
+籀 > recite;
+碚 > suburb;
+腭 > palate;
+鳟 > barbel;
+雎 > osprey;
+殂 > to\-die;
+筚 > wicker;
+疝 > hernia;
+骀 > an\-old;
+蒗 > \(herb\);
+葸 > afraid;
+菟 > dodder;
+陉 > defile;
+筲 > basket;
+疠 > a\-sore;
+畛 > border;
+旰 > sunset;
+芪 > celery;
+谖 > forget;
+敉 > pacify;
+聍 > earwax;
+锇 > osmium;
+烀 > simmer;
+婧 > modest;
+菘 > celery;
+钡 > barium;
+蝣 > mayfly;
+蚵 > oyster;
+襻 > a\-loop;
+铒 > erbium;
+铈 > cerium;
+椴 > poplar;
+嬲 > frolic;
+苡 > barley;
+舄 > a\-shoe;
+蝾 > lizard;
+蜩 > cicada;
+鸫 > thrush;
+锔 > curium;
+铟 > indium;
+眍 > sunken;
+牖 > window;
+榇 > coffin;
+桷 > rafter;
+幞 > turban;
+帻 > turban;
+圉 > stable;
+摅 > spread;
+苄 > benzyl;
+陔 > a\-step;
+刿 > to\-cut;
+骶 > coccyx;
+鲻 > mullet;
+螨 > insect;
+虼 > a\-flea;
+瘕 > asthma;
+镘 > trowel;
+磙 > roller;
+胂 > arsine;
+觋 > wizard;
+蓥 > polish;
+菔 > turnip;
+仡 > strong;
+龞 > turtle;
+龝 > autumn;
+龍 > dragon;
+齷 > narrow;
+齶 > palate;
+齵 > uneven;
+齪 > narrow;
+鼫 > marmot;
+鼪 > weasel;
+鼔 > a\-drum;
+鼅 > spider;
+黌 > school;
+黉 > school;
+黈 > yellow;
+黃 > yellow;
+麰 > barley;
+麄 > coarse;
+鹨 > anthus;
+鷚 > anthus;
+鷇 > chicks;
+鶽 > a\-hawk;
+鶸 > siskin;
+鶯 > oriole;
+鶬 > oriole;
+鶫 > thrush;
+鶚 > osprey;
+鶊 > oriole;
+鶇 > thrush;
+鵻 > pigeon;
+鵲 > magpie;
+鵠 > target;
+鵑 > cuckoo;
+鵀 > hoopoe;
+鴿 > pigeon;
+鴬 > oriole;
+鴢 > \(duck\);
+鴃 > shrike;
+鱒 > barbel;
+鱎 > \(fish\);
+鱉 > turtle;
+鱆 > poulpe;
+鰷 > minnow;
+鰕 > shrimp;
+鯔 > mullet;
+鮭 > salmon;
+魵 > shrimp;
+驫 > horses;
+騤 > lively;
+騖 > gallop;
+騃 > stupid;
+駡 > accuse;
+駘 > an\-old;
+駓 > gallop;
+駃 > gallop;
+馿 > an\-ass;
+餤 > incite;
+餒 > hungry;
+顜 > honest;
+顒 > solemn;
+顑 > yellow;
+頽 > ruined;
+頹 > ruined;
+頰 > cheeks;
+頞 > bridge;
+頒 > confer;
+頉 > cheeks;
+韜 > sheath;
+韃 > tatars;
+鞞 > sheath;
+鞚 > bridle;
+靮 > bridle;
+雂 > \(bird\);
+隻 > single;
+陬 > corner;
+陜 > narrow;
+陘 > defile;
+闞 > glance;
+闉 > curved;
+閘 > sluice;
+镡 > dagger;
+铯 > cesium;
+鑿 > chisel;
+鑲 > insert;
+鑞 > solder;
+鑑 > mirror;
+鑀 > ionium;
+鐳 > radium;
+鐮 > sickle;
+鐝 > a\-pick;
+鐔 > dagger;
+鏝 > trowel;
+鏘 > tinkle;
+鏗 > strike;
+鎳 > nickel;
+鎦 > distil;
+鎣 > polish;
+鎚 > hammer;
+鎒 > to\-hoe;
+鎌 > sickle;
+鎅 > to\-saw;
+鍼 > needle;
+鍬 > shovel;
+鍫 > shovel;
+鍥 > sickle;
+鍠 > weapon;
+錩 > vessel;
+錨 > anchor;
+鋨 > osmium;
+鋦 > curium;
+鋙 > misfit;
+鋌 > ingots;
+鋇 > barium;
+鋅 > zincum;
+銶 > chisel;
+銲 > solder;
+銫 > cesium;
+銦 > indium;
+鉺 > erbium;
+鉥 > needle;
+鈷 > cobalt;
+鈰 > cerium;
+鈕 > button;
+鈉 > sodium;
+釬 > solder;
+釦 > button;
+釐 > manage;
+釃 > strain;
+醞 > liquor;
+醖 > liquor;
+酾 > strain;
+酴 > leaven;
+鄋 > county;
+邏 > patrol;
+逰 > wander;
+逥 > return;
+逎 > strong;
+逌 > please;
+迯 > escape;
+迍 > falter;
+迋 > travel;
+辧 > manage;
+辦 > manage;
+辢 > bitter;
+轤 > pulley;
+轜 > hearse;
+轀 > hearse;
+輀 > hearse;
+軣 > rumble;
+躧 > sandal;
+躋 > ascend;
+蹻 > strong;
+蹝 > sandal;
+蹓 > stroll;
+踡 > curled;
+跧 > crouch;
+趫 > nimble;
+趨 > hasten;
+趕 > pursue;
+贳 > borrow;
+賞 > reward;
+貭 > matter;
+貪 > greedy;
+貟 > member;
+貛 > badger;
+豻 > prison;
+谿 > valley;
+讚 > praise;
+讁 > punish;
+譟 > clamor;
+譍 > answer;
+譆 > scream;
+謫 > charge;
+謨 > scheme;
+諼 > forget;
+諷 > recite;
+諵 > mutter;
+諒 > excuse;
+誦 > recite;
+誥 > inform;
+詻 > orders;
+詗 > to\-spy;
+詔 > decree;
+訖 > finish;
+觼 > buckle;
+觩 > strong;
+觧 > loosen;
+觕 > coarse;
+覰 > to\-spy;
+覡 > wizard;
+覊 > halter;
+襮 > collar;
+襋 > collar;
+褦 > stupid;
+褏 > sleeve;
+褎 > sleeve;
+袚 > greave;
+蠱 > poison;
+蠩 > a\-toad;
+蠣 > oyster;
+蠙 > oyster;
+蠔 > oyster;
+蠑 > lizard;
+蠎 > python;
+蠁 > larvae;
+蟷 > mantis;
+蟬 > cicada;
+蟜 > insect;
+蝦 > shrimp;
+蜋 > mantis;
+蛯 > shrimp;
+蛣 > beetle;
+蛌 > cricke;
+虩 > fright;
+虖 > to\-cry;
+蘤 > flower;
+蘆 > rushes;
+藘 > madder;
+薿 > flower;
+薗 > garden;
+薑 > ginger;
+蕆 > finish;
+蕂 > sesame;
+蕁 > nettle;
+蔙 > \(herb\);
+蔔 > radish;
+蔂 > basket;
+蔀 > screen;
+蓚 > oxalic;
+蒎 > pinane;
+蒇 > finish;
+葁 > ginger;
+萅 > spring;
+菆 > jungle;
+莵 > dodder;
+荊 > thorns;
+荁 > celery;
+茦 > thorns;
+茢 > sedges;
+苪 > bright;
+苢 > barley;
+芤 > hollow;
+艢 > a\-mast;
+舦 > rudder;
+舃 > a\-shoe;
+臄 > palate;
+膩 > greasy;
+膣 > vagina;
+膕 > hollow;
+腯 > strong;
+腟 > vagina;
+腁 > callus;
+脷 > tongue;
+脵 > thighs;
+脧 > reduce;
+胹 > cooked;
+胷 > breast;
+肧 > embryo;
+肐 > armpit;
+聹 > earwax;
+耤 > plough;
+羵 > spirit;
+羈 > halter;
+罫 > hinder;
+罥 > impete;
+罣 > hinder;
+纩 > cotton;
+纜 > hawser;
+纔 > talent;
+纊 > cotton;
+繭 > cocoon;
+繫 > attach;
+繨 > a\-knot;
+繋 > attach;
+縷 > thread;
+縣 > county;
+縡 > matter;
+縆 > a\-rope;
+緪 > a\-rope;
+綏 > soothe;
+綅 > thread;
+絿 > urgent;
+絚 > a\-rope;
+紲 > bridle;
+紩 > to\-sew;
+紟 > a\-sash;
+紘 > string;
+紓 > loosen;
+紃 > a\-cord;
+糨 > starch;
+糡 > starch;
+籲 > appeal;
+籚 > bamboo;
+籃 > basket;
+簜 > bamboo;
+簉 > deputy;
+篳 > wicker;
+篥 > bulgle;
+篜 > bamboo;
+箙 > quiver;
+笲 > basket;
+竜 > dragon;
+竉 > a\-hole;
+窪 > hollow;
+窔 > corner;
+穩 > stable;
+穨 > ruined;
+穌 > revive;
+穈 > millet;
+稜 > corner;
+秠 > millet;
+禦 > defend;
+祏 > shrine;
+礫 > gravel;
+磣 > gritty;
+碼 > number;
+硾 > weight;
+硍 > strike;
+矴 > anchor;
+矇 > stupid;
+瞷 > to\-spy;
+睪 > spy\-on;
+睆 > bright;
+眾 > masses;
+盩 > callus;
+皥 > bright;
+皡 > bright;
+皞 > bright;
+皀 > kernel;
+癤 > pimple;
+癘 > a\-sore;
+瘍 > ulcers;
+痻 > suffer;
+痚 > asthma;
+疉 > repeat;
+疃 > hamlet;
+疂 > repeat;
+畽 > ground;
+畯 > rustic;
+畟 > plough;
+琿 > bright;
+琺 > enamel;
+珔 > \(jade\);
+玓 > pearly;
+獷 > fierce;
+獉 > jungle;
+猻 > monkey;
+猺 > jackal;
+猓 > monkey;
+狥 > follow;
+犺 > animal;
+牕 > window;
+牓 > tablet;
+牐 > sluice;
+爥 > simmer;
+爚 > bright;
+燴 > ragout;
+燡 > bright;
+燜 > simmer;
+燋 > scorch;
+燁 > bright;
+熲 > bright;
+熈 > bright;
+煕 > bright;
+煃 > remove;
+煁 > hearth;
+焻 > breath;
+焴 > bright;
+焠 > temper;
+烺 > bright;
+烱 > bright;
+炁 > breath;
+瀒 > coarse;
+瀌 > plenty;
+濵 > a\-bank;
+濬 > dredge;
+澼 > bleach;
+潨 > gather;
+潀 > gather;
+漦 > saliva;
+渨 > a\-cove;
+淥 > strain;
+淟 > turbid;
+洟 > snivel;
+泭 > a\-raft;
+汙 > filthy;
+氿 > spring;
+氫 > amonia;
+殼 > casing;
+殫 > utmost;
+欻 > sudden;
+欑 > gather;
+櫬 > coffin;
+櫞 > citrus;
+櫜 > quiver;
+橰 > a\-spar;
+橫 > across;
+橤 > stamen;
+橜 > a\-post;
+橕 > a\-prop;
+樿 > coffin;
+樸 > simple;
+樲 > jujube;
+樑 > bridge;
+槥 > coffin;
+榲 > pillar;
+榱 > rafter;
+榥 > screen;
+榅 > pillar;
+楯 > shield;
+楬 > tablet;
+楢 > tinder;
+楛 > coarse;
+楊 > willow;
+椧 > gutter;
+椓 > strike;
+棜 > branch;
+棅 > handle;
+棃 > a\-pear;
+桲 > quince;
+柲 > handle;
+杴 > shovel;
+杇 > loquat;
+朙 > bright;
+曡 > repeat;
+曍 > bright;
+曅 > bright;
+曄 > bright;
+曀 > stormy;
+暻 > bright;
+暸 > bright;
+暲 > bright;
+暋 > strong;
+晜 > insect;
+晄 > bright;
+昺 > bright;
+昞 > bright;
+昑 > bright;
+旻 > heaven;
+旝 > banner;
+敹 > to\-sew;
+敡 > rebuke;
+敃 > strong;
+敂 > deduct;
+攖 > oppose;
+攄 > spread;
+擽 > tickle;
+擴 > expand;
+擖 > scrape;
+擓 > to\-rub;
+擊 > strike;
+擇 > select;
+撦 > rip\-up;
+撊 > fierce;
+搿 > to\-hug;
+揷 > insert;
+揮 > direct;
+揗 > strike;
+揀 > choose;
+掤 > quiver;
+掔 > sturdy;
+捽 > clutch;
+捼 > to\-rub;
+捓 > strive;
+捃 > gather;
+拡 > expand;
+択 > select;
+扐 > divine;
+扆 > screen;
+戝 > pirate;
+戇 > stupid;
+懾 > afraid;
+懺 > regret;
+懴 > regret;
+懲 > punish;
+懨 > feeble;
+憦 > regret;
+愽 > gamble;
+愬 > accuse;
+惲 > devise;
+惪 > ethics;
+惎 > injure;
+悳 > ethics;
+悧 > smooth;
+悞 > impede;
+悋 > stingy;
+恡 > stingy;
+恟 > scared;
+忰 > suffer;
+徠 > induce;
+彴 > bridge;
+弣 > middle;
+廽 > return;
+廟 > temple;
+廐 > stable;
+廏 > stable;
+廆 > a\-room;
+廄 > stable;
+廁 > toilet;
+幘 > turban;
+巤 > a\-mane;
+巘 > summit;
+嶼 > island;
+嶴 > island;
+嶓 > boshan;
+嶌 > island;
+嶋 > island;
+嵾 > uneven;
+崿 > cliffs;
+崟 > cliffs;
+岨 > uneven;
+岀 > go\-out;
+屮 > sprout;
+屜 > drawer;
+尅 > subdue;
+尀 > cannot;
+寜 > repose;
+寕 > repose;
+寎 > drowsy;
+宧 > corner;
+孾 > a\-baby;
+孌 > lovely;
+嬿 > lovely;
+嬤 > mother;
+嬃 > sister;
+嫪 > hanker;
+嫐 > frolic;
+媽 > mother;
+媖 > beauty;
+婼 > person;
+婤 > lovely;
+娬 > lovely;
+娒 > matron;
+姁 > beauty;
+妸 > person;
+夬 > parted;
+夠 > enough;
+夆 > resist;
+壿 > goblet;
+墠 > smooth;
+堧 > adjoin;
+堦 > stairs;
+堉 > ground;
+圞 > entire;
+圝 > entire;
+圎 > circle;
+圀 > nation;
+囘 > return;
+嚿 > a\-lump;
+嚨 > throat;
+嚔 > sneeze;
+嚃 > gobble;
+嚀 > enjoin;
+噚 > fathom;
+噓 > exhale;
+噏 > inhale;
+嗿 > gobble;
+喆 > a\-sage;
+啉 > stupid;
+唫 > to\-hum;
+唈 > to\-sob;
+哤 > jargon;
+哋 > plural;
+咈 > oppose;
+呮 > to\-sit;
+呏 > gallon;
+叡 > astute;
+叓 > affair;
+厎 > settle;
+卄 > twenty;
+匃 > beggar;
+勷 > urgent;
+勵 > strive;
+勗 > enjoin;
+勑 > reward;
+勍 > strong;
+勄 > active;
+勁 > strong;
+劤 > strong;
+劌 > to\-cut;
+劆 > sickle;
+剎 > temple;
+剋 > subdue;
+刪 > to\-cut;
+凞 > bright;
+凓 > shiver;
+冑 > helmet;
+冄 > tender;
+兲 > heaven;
+內 > inside;
+儸 > bandit;
+儷 > spouse;
+僱 > employ;
+僬 > clever;
+僣 > assume;
+傯 > urgent;
+傮 > finish;
+傎 > topple;
+偪 > compel;
+偩 > follow;
+偨 > uneven;
+偖 > rip\-up;
+倆 > clever;
+倅 > deputy;
+倃 > damage;
+俵 > divide;
+侷 > narrow;
+佈 > spread;
+伾 > mighty;
+伜 > deputy;
+仚 > to\-fly;
+亊 > affair;
+亄 > greedy;
+乚 > hidden;
+乂 > govern;
+丗 > thirty;
+䶮 > clever;
+䶁 > noises;
+䵧 > to\-dye;
+䵙 > sticky;
+䵐 > yellow;
+䵏 > yellow;
+䵍 > yellow;
+䵋 > yellow;
+䵊 > yellow;
+䴥 > a\-stag;
+䳾 > an\-owl;
+䳏 > cuckoo;
+䳇 > parrot;
+䲹 > ospery;
+䲧 > cuckoo;
+䲌 > a\-fish;
+䱕 > labrus;
+䱑 > a\-fish;
+䱏 > a\-fish;
+䱃 > a\-fish;
+䱂 > a\-fish;
+䰷 > a\-fish;
+䰣 > an\-elf;
+䯫 > bright;
+䯨 > to\-rap;
+䯝 > marrow;
+䯜 > marrow;
+䯃 > saddle;
+䯁 > a\-mule;
+䭪 > grains;
+䭥 > a\-bait;
+䭝 > to\-eat;
+䭚 > to\-eat;
+䭒 > breath;
+䭌 > congee;
+䭈 > congee;
+䬸 > a\-meal;
+䬑 > a\-gale;
+䬐 > breeze;
+䬊 > a\-gale;
+䬈 > breeze;
+䬇 > breeze;
+䬅 > a\-gale;
+䬄 > breeze;
+䬂 > breeze;
+䫾 > breeze;
+䫽 > breeze;
+䫼 > breeze;
+䫬 > to\-bow;
+䪸 > strong;
+䪤 > garlic;
+䩯 > urgent;
+䩭 > halter;
+䨾 > hidden;
+䨺 > cloudy;
+䨸 > cloudy;
+䨯 > cloudy;
+䨟 > puddle;
+䨉 > parrot;
+䨇 > a\-pair;
+䧴 > a\-bird;
+䧳 > female;
+䧥 > border;
+䧛 > beside;
+䧑 > a\-dike;
+䥪 > to\-cup;
+䥨 > a\-file;
+䥠 > needle;
+䥍 > a\-whip;
+䣦 > to\-cut;
+䣘 > a\-hall;
+䣈 > a\-lane;
+䢽 > a\-lane;
+䠰 > coiled;
+䠤 > toddle;
+䠙 > urgent;
+䠎 > narrow;
+䠇 > strong;
+䟱 > traces;
+䟟 > urgent;
+䟒 > coiled;
+䝜 > a\-lion;
+䝄 > cowpea;
+䜞 > a\-dose;
+䛧 > riddle;
+䛥 > speech;
+䛣 > speech;
+䛜 > to\-ask;
+䛑 > silent;
+䛈 > to\-vow;
+䚺 > ballad;
+䚈 > to\-see;
+䚆 > to\-see;
+䚂 > to\-see;
+䚁 > to\-see;
+䙿 > to\-see;
+䙽 > to\-see;
+䙼 > to\-see;
+䙵 > rustic;
+䙡 > a\-knot;
+䙌 > a\-knot;
+䘰 > a\-hood;
+䘬 > armour;
+䘩 > collar;
+䘌 > gadfly;
+䘈 > oyster;
+䗫 > a\-frog;
+䖹 > weevil;
+䖮 > larvae;
+䖫 > oyster;
+䖨 > mantis;
+䖗 > strong;
+䖁 > number;
+䕬 > ginger;
+䕨 > rattan;
+䔯 > salted;
+䔢 > cathay;
+䔏 > a\-lush;
+䓧 > urgent;
+䓦 > a\-rule;
+䓅 > celery;
+䓄 > grassy;
+䒹 > grassy;
+䒫 > grassy;
+䒉 > a\-long;
+䒂 > an\-oar;
+䑺 > a\-sail;
+䑴 > a\-boat;
+䑱 > a\-boat;
+䑯 > a\-boat;
+䑨 > rudder;
+䑦 > a\-boat;
+䑤 > a\-boat;
+䑐 > bright;
+䐦 > sleepy;
+䐥 > stinky;
+䏪 > tendon;
+䏣 > maggot;
+䏂 > clever;
+䎱 > a\-drag;
+䎬 > a\-drag;
+䎙 > flying;
+䎗 > flying;
+䎓 > flying;
+䎊 > flying;
+䎈 > flying;
+䎆 > flying;
+䎅 > flying;
+䎀 > flying;
+䍾 > flying;
+䍬 > to\-use;
+䍋 > bottle;
+䍈 > bottle;
+䍃 > a\-vase;
+䌴 > uneven;
+䌱 > uneven;
+䌜 > to\-sew;
+䌕 > to\-tie;
+䋲 > a\-rope;
+䋑 > to\-tie;
+䋐 > fabric;
+䋌 > strong;
+䊧 > a\-fart;
+䊥 > congee;
+䊛 > shreds;
+䊎 > powder;
+䊆 > cooked;
+䉶 > a\-sail;
+䈺 > bamboo;
+䈴 > a\-cage;
+䈎 > a\-leaf;
+䇥 > narrow;
+䇢 > bamboo;
+䇟 > tendon;
+䇚 > to\-tap;
+䇁 > a\-cave;
+䆽 > a\-hole;
+䆼 > a\-nest;
+䆻 > a\-hole;
+䆷 > a\-hole;
+䆰 > a\-cave;
+䆮 > to\-dip;
+䆫 > window;
+䆧 > a\-cave;
+䆡 > a\-cave;
+䆝 > a\-cave;
+䆙 > a\-kiln;
+䆓 > a\-hole;
+䅶 > to\-hoe;
+䅴 > grains;
+䅦 > feeble;
+䅇 > grains;
+䄹 > a\-year;
+䄲 > inside;
+䄭 > a\-year;
+䄘 > a\-rite;
+䄎 > pretty;
+䃥 > stones;
+䃖 > a\-bank;
+䃊 > to\-rub;
+䂷 > broken;
+䂴 > to\-rub;
+䂳 > gravel;
+䂝 > to\-rap;
+䂘 > pebble;
+䁿 > sleepy;
+䁦 > to\-see;
+䁖 > to\-see;
+䀒 > gloomy;
+䀍 > vessel;
+䀅 > vessel;
+㿾 > vessel;
+㿼 > a\-bowl;
+㿻 > a\-tray;
+㿭 > cracks;
+㿧 > fields;
+㿔 > a\-wart;
+㽷 > dropsy;
+㽵 > solemn;
+㼾 > bricks;
+㼥 > bottle;
+㼝 > a\-bowl;
+㼄 > pearls;
+㹌 > cattle;
+㸿 > a\-calf;
+㸙 > father;
+㷰 > flames;
+㷩 > bright;
+㷋 > embers;
+㷂 > bright;
+㶤 > to\-fry;
+㶈 > creeks;
+㵪 > saliva;
+㵝 > moving;
+㴞 > fluent;
+㴆 > to\-dip;
+㳌 > marshy;
+㱵 > to\-die;
+㱳 > lonely;
+㱱 > uneven;
+㱣 > uneven;
+㱞 > danger;
+㱙 > rotten;
+㱍 > to\-owe;
+㱂 > hungry;
+㱁 > to\-ask;
+㰍 > a\-cage;
+㰃 > a\-tree;
+㯾 > a\-tree;
+㯖 > a\-tree;
+㯏 > grains;
+㯎 > stupid;
+㯍 > an\-oar;
+㯉 > a\-tree;
+㯆 > a\-tree;
+㮿 > a\-tree;
+㮹 > a\-tree;
+㮷 > a\-tree;
+㮶 > a\-tree;
+㮳 > a\-tree;
+㮩 > a\-tree;
+㮧 > a\-tree;
+㮘 > a\-tree;
+㮖 > to\-lay;
+㮌 > cotton;
+㭱 > a\-case;
+㭋 > a\-club;
+㬯 > sunset;
+㬮 > gentle;
+㬍 > fierce;
+㫺 > bygone;
+㫸 > sunset;
+㫷 > behind;
+㫡 > winter;
+㫅 > a\-flag;
+㪹 > to\-rob;
+㪆 > hidden;
+㪄 > broken;
+㩾 > uneven;
+㩲 > a\-fist;
+㨾 > a\-type;
+㨻 > to\-cut;
+㨸 > to\-hit;
+㨩 > to\-win;
+㨥 > to\-hit;
+靖 > pacify;
+神 > spirit;
+益 > profit;
+凞 > bright;
+㨎 > to\-dye;
+㨅 > inside;
+拓 > expand;
+度 > degree;
+㧸 > to\-hit;
+林 > forest;
+㧳 > to\-mix;
+吝 > stingy;
+裡 > inside;
+裏 > inside;
+罹 > sorrow;
+㧧 > a\-comb;
+理 > reason;
+易 > change;
+慄 > shiver;
+硫 > sulfur;
+㧉 > to\-rub;
+龍 > dragon;
+寮 > shanty;
+靈 > spirit;
+聆 > listen;
+寧 > repose;
+囹 > prison;
+咽 > throat;
+列 > a\-line;
+㦔 > silkly;
+㦋 > absurd;
+㦊 > lavish;
+㦅 > uneasy;
+㦁 > to\-sob;
+勵 > strive;
+諒 > excuse;
+梁 > bridge;
+亮 > bright;
+㥭 > luxury;
+㥫 > honest;
+數 > number;
+復 > return;
+寧 > repose;
+㥟 > enmity;
+稜 > corner;
+陋 > narrow;
+縷 > thread;
+㥐 > hatred;
+㥈 > afraid;
+牢 > prison;
+論 > debate;
+㤻 > stupid;
+㤹 > hatred;
+㤸 > uneasy;
+蘆 > rushes;
+㤨 > scared;
+襤 > ragged;
+蘭 > orchid;
+爛 > rotten;
+邏 > patrol;
+㤓 > stupid;
+串 > string;
+㣭 > number;
+㣘 > spasms;
+㢽 > a\-bait;
+㢺 > string;
+㡮 > danger;
+㡣 > dragon;
+㡚 > armour;
+㡁 > a\-robe;
+㠶 > a\-sail;
+㠲 > ripped;
+㠀 > island;
+㟷 > a\-wart;
+㟫 > spring;
+㟥 > uneven;
+㟟 > a\-lane;
+㞸 > a\-year;
+㞇 > ulcers;
+㞂 > ulcers;
+㝹 > a\-hare;
+㝶 > to\-get;
+㝵 > to\-get;
+㝧 > stable;
+㝂 > locust;
+㝁 > lonely;
+㜫 > pretty;
+㜥 > crafty;
+㛹 > pretty;
+㚼 > a\-girl;
+㚻 > sodomy;
+㚹 > pretty;
+㚞 > terror;
+㚐 > a\-case;
+㚌 > a\-band;
+㙹 > a\-damp;
+㙶 > a\-hall;
+㙬 > a\-bank;
+㙝 > a\-dike;
+㙕 > a\-lump;
+㘴 > to\-sit;
+㘲 > a\-cove;
+㗷 > to\-eat;
+㗵 > breath;
+㗖 > to\-eat;
+㖒 > to\-cry;
+㖁 > stingy;
+㕠 > a\-pair;
+㕔 > a\-hall;
+㕂 > to\-hum;
+㔺 > an\-age;
+㔸 > a\-tray;
+㔜 > sudden;
+㔗 > strong;
+㔒 > to\-cut;
+㔐 > to\-cut;
+㔊 > to\-cut;
+㔉 > to\-dig;
+㔆 > to\-cut;
+㔅 > to\-cut;
+㓵 > swords;
+㓱 > to\-cut;
+㓪 > bright;
+㓠 > a\-flaw;
+㓅 > frozen;
+㒶 > public;
+㒵 > manner;
+㒲 > wealth;
+㒧 > a\-pair;
+㒠 > narrow;
+㑻 > strong;
+㑷 > manner;
+㑳 > clever;
+㑣 > stupid;
+㑇 > clever;
+㐹 > strong;
+石 > stone;
+短 > short;
+快 > rapid;
+在 > be\-at;
+他 > other;
+矢 > arrow;
+到 > go\-to;
+说 > speak;
+迅 > quick;
+地 > earth;
+心 > heart;
+下 > under;
+辭 > words;
+微 > small;
+家 > house;
+御 > drive;
+辞 > words;
+后 > queen;
+小 > small;
+待 > treat;
+还 > still;
+发 > issue;
+彫 > carve;
+想 > think;
+睡 > sleep;
+轉 > shift;
+所 > place;
+輪 > wheel;
+三 > three;
+輕 > light;
+式 > style;
+样 > shape;
+軽 > light;
+建 > build;
+延 > delay;
+盲 > blind;
+転 > shift;
+廣 > broad;
+声 > sound;
+工 > labor;
+盆 > basin;
+盃 > glass;
+正 > right;
+庸 > usual;
+女 > woman;
+力 > power;
+躑 > waver;
+因 > cause;
+重 > heavy;
+皇 > royal;
+庇 > cover;
+次 > order;
+広 > broad;
+口 > mouth;
+使 > cause;
+白 > white;
+幽 > quiet;
+教 > teach;
+發 > issue;
+再 > again;
+発 > issue;
+气 > steam;
+信 > trust;
+北 > north;
+蹲 > squat;
+蹟 > trace;
+由 > cause;
+却 > still;
+幅 > piece;
+入 > enter;
+先 > first;
+水 > water;
+处 > place;
+巷 > alley;
+笑 > smile;
+立 > stand;
+跪 > kneel;
+马 > horse;
+巨 > large;
+疑 > doubt;
+利 > gains;
+赴 > go\-to;
+光 > light;
+果 > fruit;
+赧 > blush;
+至 > reach;
+清 > clear;
+物 > thing;
+嵌 > inlay;
+甲 > armor;
+田 > field;
+许 > allow;
+八 > eight;
+崖 > cliff;
+崎 > rough;
+南 > south;
+色 > color;
+让 > allow;
+瓜 > melon;
+算 > count;
+賊 > thief;
+元 > first;
+貯 > store;
+思 > think;
+貨 > goods;
+岩 > cliff;
+每 > every;
+屬 > class;
+豪 > brave;
+属 > class;
+言 > words;
+权 > power;
+屋 > house;
+豆 > beans;
+七 > seven;
+尚 > still;
+尖 > sharp;
+转 > shift;
+射 > shoot;
+空 > empty;
+技 > skill;
+轻 > light;
+寺 > court;
+寫 > write;
+英 > petal;
+寢 > sleep;
+写 > write;
+寝 > sleep;
+寐 > sleep;
+密 > dense;
+寂 > still;
+钱 > money;
+容 > looks;
+宵 > night;
+设 > build;
+始 > begin;
+客 > guest;
+片 > slice;
+研 > grind;
+宇 > house;
+早 > early;
+房 > house;
+音 > sound;
+獻 > offer;
+獺 > otter;
+獸 > beast;
+譲 > allow;
+獨 > alone;
+警 > guard;
+獣 > beast;
+存 > exist;
+證 > proof;
+组 > class;
+謝 > thank;
+猜 > guess;
+嬉 > enjoy;
+黑 > black;
+謁 > visit;
+剑 > sword;
+独 > alone;
+乐 > happy;
+级 > level;
+説 > speak;
+举 > raise;
+证 > prove;
+照 > shine;
+誓 > swear;
+群 > group;
+晚 > night;
+誂 > tempt;
+詞 > words;
+伤 > wound;
+类 > class;
+欢 > happy;
+爽 > happy;
+势 > power;
+証 > prove;
+刻 > carve;
+断 > sever;
+夜 > night;
+許 > allow;
+設 > build;
+价 > price;
+脑 > brain;
+訪 > visit;
+规 > rules;
+娑 > dance;
+破 > break;
+泽 > marsh;
+燻 > smoke;
+紧 > tense;
+觸 > touch;
+装 > dress;
+急 > quick;
+河 > river;
+血 > blood;
+投 > throw;
+覆 > cover;
+右 > right;
+奴 > slave;
+刀 > knife;
+襟 > lapel;
+煙 > smoke;
+奉 > offer;
+喝 > drink;
+褸 > lapel;
+褪 > strip;
+卫 > guard;
+夢 > dream;
+错 > error;
+裾 > lapel;
+案 > table;
+烟 > smoke;
+裝 > dress;
+印 > print;
+壓 > press;
+烈 > fiery;
+壇 > altar;
+块 > piece;
+裂 > split;
+袴 > pants;
+墓 > grave;
+静 > quiet;
+炎 > flame;
+衷 > heart;
+灰 > ashes;
+衞 > guard;
+衛 > guard;
+速 > quick;
+塗 > smear;
+敌 > enemy;
+塔 > tower;
+谢 > thank;
+塊 > piece;
+怀 > bosom;
+养 > raise;
+罪 > crime;
+濶 > broad;
+蟲 > worms;
+濱 > beach;
+摘 > pluck;
+施 > grant;
+模 > model;
+草 > grass;
+濃 > thick;
+值 > price;
+濁 > muddy;
+班 > class;
+修 > study;
+味 > taste;
+澤 > marsh;
+织 > weave;
+龕 > niche;
+蝿 > flies;
+免 > spare;
+波 > waves;
+潔 > clean;
+洋 > ocean;
+劳 > labor;
+均 > equal;
+压 > press;
+奖 > prize;
+顿 > pause;
+漂 > float;
+判 > judge;
+素 > white;
+嘴 > mouth;
+担 > carry;
+板 > plank;
+钟 > clock;
+访 > visit;
+黒 > black;
+黐 > stick;
+蛇 > snake;
+构 > frame;
+溺 > drown;
+麦 > wheat;
+麥 > wheat;
+溝 > ditch;
+溜 > slide;
+肉 > flesh;
+纸 > paper;
+梦 > dream;
+虚 > false;
+蒙 > cover;
+處 > place;
+虎 > tiger;
+噌 > scold;
+杂 > mixed;
+怒 > anger;
+稿 > draft;
+渦 > swirl;
+渡 > cross;
+渠 > ditch;
+嘗 > taste;
+罢 > cease;
+鷺 > heron;
+鷹 > eagle;
+淹 > drown;
+藩 > fence;
+藥 > drugs;
+鲜 > fresh;
+置 > place;
+嗅 > smell;
+藁 > straw;
+鶴 > crane;
+枪 > spear;
+涯 > shore;
+薮 > marsh;
+薬 > drugs;
+薦 > offer;
+涜 > ditch;
+涙 > tears;
+配 > match;
+浴 > bathe;
+升 > arise;
+浜 > creek;
+蔽 > cover;
+词 > words;
+泪 > tears;
+蔭 > shade;
+津 > ferry;
+鬼 > ghost;
+舞 > dance;
+蓮 > lotus;
+避 > avoid;
+桌 > table;
+蓋 > cover;
+亡 > death;
+蓄 > store;
+闪 > flash;
+蒸 > steam;
+震 > shake;
+咳 > cough;
+咲 > smile;
+沢 > marsh;
+绿 > green;
+咎 > fault;
+纳 > admit;
+汽 > steam;
+货 > goods;
+呪 > curse;
+童 > child;
+伟 > great;
+汁 > juice;
+荣 > glory;
+献 > offer;
+吐 > vomit;
+厚 > thick;
+鰌 > loach;
+喊 > shout;
+轮 > wheel;
+吉 > lucky;
+训 > teach;
+叱 > scold;
+逐 > chase;
+盖 > cover;
+叩 > knock;
+舍 > house;
+毎 > every;
+检 > check;
+握 > grasp;
+牙 > tooth;
+鮮 > fresh;
+宽 > broad;
+殖 > breed;
+卿 > noble;
+荷 > lotus;
+歯 > teeth;
+歪 > slant;
+歡 > happy;
+棋 > chess;
+魔 > demon;
+腰 > waist;
+梅 > plums;
+钢 > steel;
+茹 > roots;
+仇 > enemy;
+欺 > cheat;
+鬚 > beard;
+匙 > spoon;
+净 > clean;
+匍 > crawl;
+權 > power;
+茅 > reeds;
+累 > tired;
+享 > enjoy;
+茂 > thick;
+勇 > brave;
+末 > final;
+糊 > paste;
+税 > taxes;
+勢 > power;
+勞 > labor;
+苛 > small;
+惯 > habit;
+倾 > upset;
+労 > labor;
+韩 > fence;
+贸 > trade;
+檢 > check;
+劍 > sword;
+扫 > sweep;
+艸 > grass;
+剣 > sword;
+吓 > scare;
+剃 > shave;
+闲 > fence;
+舶 > large;
+刷 > brush;
+羊 > sheep;
+権 > power;
+樣 > shape;
+扑 > pound;
+舎 > house;
+碎 > break;
+樂 > happy;
+磨 > grind;
+臺 > tower;
+臭 > smell;
+処 > place;
+様 > shape;
+倍 > times;
+粗 > rough;
+構 > frame;
+冶 > smelt;
+膳 > meals;
+馭 > drive;
+朗 > clear;
+馬 > horse;
+兼 > unite;
+鞋 > shoes;
+欣 > happy;
+挤 > crowd;
+楽 > happy;
+洁 > clean;
+颗 > grain;
+惠 > favor;
+振 > raise;
+腦 > brain;
+爬 > crawl;
+腕 > wrist;
+桃 > peach;
+措 > place;
+泰 > great;
+坡 > slope;
+脳 > brain;
+坛 > altar;
+償 > repay;
+検 > check;
+彪 > tiger;
+饮 > drink;
+植 > plant;
+養 > raise;
+脊 > spine;
+椅 > chair;
+矛 > spear;
+宾 > guest;
+肚 > belly;
+價 > price;
+贼 > thief;
+飲 > drink;
+棲 > perch;
+飮 > drink;
+僞 > false;
+僕 > slave;
+棒 > stick;
+働 > labor;
+傾 > upset;
+傷 > wound;
+催 > press;
+肝 > liver;
+盟 > swear;
+偽 > false;
+箭 > arrow;
+聲 > sound;
+類 > class;
+耀 > shine;
+顆 > grain;
+偉 > great;
+疯 > crazy;
+耻 > shame;
+侍 > serve;
+値 > price;
+衫 > shirt;
+頓 > pause;
+揭 > raise;
+莲 > lotus;
+钻 > drill;
+栄 > glory;
+峡 > gorge;
+韻 > rhyme;
+柵 > fence;
+丑 > clown;
+翳 > shade;
+浓 > thick;
+捉 > grasp;
+澳 > inlet;
+疼 > aches;
+档 > shelf;
+抛 > throw;
+価 > price;
+阔 > broad;
+玛 > agate;
+靴 > boots;
+尝 > taste;
+扣 > knock;
+靜 > quiet;
+傲 > proud;
+伺 > serve;
+锐 > sharp;
+霜 > frost;
+吵 > argue;
+沟 > ditch;
+浑 > muddy;
+邪 > wrong;
+脆 > crisp;
+偿 > repay;
+拟 > draft;
+曳 > trail;
+離 > leave;
+雜 > mixed;
+叛 > rebel;
+炼 > smelt;
+雑 > mixed;
+翼 > wings;
+呵 > scold;
+甜 > sweet;
+抹 > smear;
+隙 > crack;
+扔 > throw;
+廷 > court;
+掷 > throw;
+傅 > tutor;
+晩 > night;
+織 > weave;
+喷 > spurt;
+浩 > great;
+吩 > order;
+伪 > false;
+瞎 > blind;
+矮 > short;
+齿 > teeth;
+緑 > green;
+娶 > marry;
+緊 > tense;
+闇 > close;
+璃 > glass;
+斷 > sever;
+糖 > sugar;
+珊 > coral;
+棍 > stick;
+閑 > fence;
+玻 > glass;
+砸 > smash;
+嚷 > shout;
+閃 > flash;
+敵 > enemy;
+絞 > twist;
+坟 > grave;
+鹤 > crane;
+組 > class;
+乖 > rebel;
+級 > level;
+紙 > paper;
+納 > admit;
+轨 > track;
+擱 > place;
+擬 > draft;
+硕 > great;
+擧 > raise;
+擡 > carry;
+擔 > carry;
+撲 > pound;
+兽 > beast;
+籖 > tally;
+鐘 > clock;
+遮 > cover;
+擒 > catch;
+築 > build;
+揃 > shear;
+箒 > broom;
+鼎 > large;
+掃 > sweep;
+鍮 > brass;
+嗓 > voice;
+粒 > grain;
+錯 > error;
+啥 > what\?;
+錢 > money;
+蜜 > honey;
+挙 > raise;
+鋼 > steel;
+拶 > press;
+鋭 > sharp;
+搁 > place;
+鋏 > tongs;
+肿 > swell;
+銭 > money;
+裙 > skirt;
+胀 > swell;
+辜 > crime;
+哇 > vomit;
+尿 > urine;
+逮 > seize;
+刮 > shave;
+嘱 > order;
+倡 > guide;
+搏 > seize;
+兜 > pouch;
+魄 > vigor;
+晰 > clear;
+糕 > cakes;
+秩 > order;
+稚 > young;
+鈍 > blunt;
+懷 > bosom;
+滨 > beach;
+懐 > bosom;
+躁 > tense;
+甫 > begin;
+禽 > birds;
+憺 > peace;
+链 > chain;
+憬 > rouse;
+沐 > bathe;
+凳 > bench;
+酬 > toast;
+慣 > habit;
+灿 > vivid;
+韵 > rhyme;
+攀 > climb;
+咒 > curse;
+沫 > froth;
+碌 > rough;
+坤 > earth;
+焰 > flame;
+逗 > tempt;
+還 > still;
+魁 > chief;
+滥 > flood;
+適 > match;
+恥 > shame;
+框 > frame;
+喀 > vomit;
+砕 > break;
+翅 > wings;
+戳 > prick;
+桩 > stake;
+肺 > lungs;
+纱 > gauze;
+陡 > steep;
+烫 > scald;
+匕 > spoon;
+鹅 > goose;
+敞 > roomy;
+浏 > clear;
+烁 > shine;
+诈 > cheat;
+峨 > lofty;
+虐 > cruel;
+辫 > braid;
+嗽 > cough;
+怦 > eager;
+浇 > spray;
+膛 > chest;
+闵 > mourn;
+萃 > dense;
+袜 > socks;
+揽 > grasp;
+荫 > shade;
+贿 > bribe;
+敝 > break;
+熏 > smoke;
+匀 > equal;
+沃 > water;
+蝇 > flies;
+绞 > twist;
+呕 > vomit;
+墅 > villa;
+秽 > dirty;
+谬 > error;
+垄 > grave;
+呻 > groan;
+拧 > pinch;
+彰 > clear;
+栖 > perch;
+扼 > grasp;
+浊 > muddy;
+杠 > lever;
+惫 > tired;
+攘 > seize;
+缎 > satin;
+惮 > dread;
+噗 > burst;
+矶 > jetty;
+瓣 > petal;
+黝 > black;
+簇 > swarm;
+懊 > vexed;
+勺 > spoon;
+夭 > young;
+拇 > thumb;
+铲 > spade;
+肮 > dirty;
+哽 > choke;
+诣 > reach;
+炫 > shine;
+钝 > blunt;
+栅 > fence;
+冕 > crown;
+廓 > broad;
+峭 > steep;
+磅 > pound;
+疮 > tumor;
+赃 > booty;
+瘤 > tumor;
+婊 > whore;
+锯 > a\-saw;
+秉 > grasp;
+臻 > reach;
+嘈 > noisy;
+诅 > curse;
+缰 > reins;
+讪 > abuse;
+忡 > a\-sad;
+涡 > swirl;
+馍 > bread;
+颅 > skull;
+祯 > lucky;
+忖 > guess;
+烙 > brand;
+埔 > plain;
+泓 > clear;
+噎 > choke;
+阜 > mound;
+俨 > grave;
+炬 > torch;
+贮 > store;
+渎 > ditch;
+癫 > crazy;
+炙 > roast;
+肇 > begin;
+帚 > broom;
+恬 > quiet;
+婪 > covet;
+蹑 > tread;
+竺 > india;
+剌 > slash;
+荧 > shine;
+赂 > bribe;
+诲 > teach;
+筛 > sieve;
+篡 > usurp;
+鲸 > whale;
+抡 > swing;
+涮 > rinse;
+挎 > carry;
+酵 > yeast;
+橄 > olive;
+榄 > olive;
+稠 > dense;
+悻 > anger;
+雏 > chick;
+摹 > trace;
+涧 > brook;
+腺 > gland;
+哮 > cough;
+袒 > strip;
+抠 > raise;
+忱 > truth;
+噤 > close;
+髯 > beard;
+蜿 > creep;
+镀 > plate;
+胭 > rouge;
+髅 > skull;
+焘 > shine;
+佗 > other;
+赳 > grand;
+糠 > chaff;
+帛 > silks;
+侏 > small;
+丕 > great;
+鲨 > shark;
+踝 > ankle;
+驭 > drive;
+眈 > gloat;
+倭 > dwarf;
+镐 > stove;
+臆 > chest;
+孺 > child;
+虱 > louse;
+瑙 > agate;
+褛 > lapel;
+恺 > enjoy;
+擞 > shake;
+箕 > sieve;
+涓 > brook;
+噼 > sound;
+搐 > cramp;
+戛 > lance;
+黔 > black;
+阖 > close;
+呃 > belch;
+溉 > water;
+炀 > roast;
+皎 > white;
+榭 > kiosk;
+酪 > cream;
+傀 > great;
+孀 > widow;
+孪 > twins;
+泱 > great;
+岖 > steep;
+忸 > blush;
+瞰 > watch;
+谒 > visit;
+觊 > covet;
+氮 > xenon;
+痣 > spots;
+摒 > expel;
+俸 > wages;
+愠 > angry;
+岑 > steep;
+搽 > smear;
+扪 > stoke;
+瑚 > coral;
+皙 > white;
+绉 > crepe;
+忾 > anger;
+盂 > basin;
+珀 > amber;
+偈 > brave;
+沔 > flood;
+诩 > boast;
+芍 > peony;
+褶 > pleat;
+酗 > drunk;
+咤 > scold;
+柠 > lemon;
+诙 > tease;
+偃 > cease;
+绺 > skein;
+揿 > press;
+釉 > glaze;
+鹭 > heron;
+宓 > quiet;
+孛 > comet;
+噫 > belch;
+弋 > catch;
+龛 > niche;
+忪 > quiet;
+镂 > carve;
+骞 > raise;
+颌 > mouth;
+铠 > armor;
+鳅 > loach;
+秆 > straw;
+嶂 > cliff;
+椽 > beams;
+颦 > frown;
+淖 > slush;
+恚 > anger;
+莠 > weeds;
+橛 > a\-peg;
+阕 > close;
+咻 > shout;
+祛 > expel;
+蒺 > furze;
+衽 > lapel;
+翕 > agree;
+霾 > misty;
+砧 > anvil;
+蹉 > error;
+哂 > smile;
+胺 > amine;
+蛭 > leech;
+韪 > right;
+诨 > jokes;
+赝 > false;
+岿 > grand;
+怫 > sorry;
+荏 > beans;
+楔 > wedge;
+擘 > thumb;
+轱 > wheel;
+媾 > marry;
+痍 > wound;
+獭 > otter;
+黢 > black;
+铧 > spade;
+吒 > shout;
+疽 > ulcer;
+诟 > abuse;
+茔 > grave;
+桤 > alder;
+铆 > rivet;
+酩 > drunk;
+氵 > water;
+撺 > hurry;
+奘 > large;
+肄 > learn;
+踯 > waver;
+孢 > spore;
+鲲 > spawn;
+酊 > drunk;
+铨 > weigh;
+酽 > thick;
+阒 > alone;
+饬 > order;
+豕 > a\-pig;
+笊 > ladle;
+罅 > crack;
+钜 > steel;
+畈 > field;
+囗 > erect;
+庥 > shade;
+瓤 > flesh;
+铩 > moult;
+渖 > juice;
+忄 > heart;
+诓 > cheat;
+鹑 > quail;
+茕 > alone;
+垅 > mound;
+蟥 > leech;
+鹳 > crane;
+鹌 > quail;
+晟 > clear;
+啁 > chirp;
+醚 > ether;
+琰 > jewel;
+迨 > until;
+褫 > strip;
+鹬 > snipe;
+瞽 > blind;
+傈 > tribe;
+驽 > tired;
+谯 > tower;
+铰 > hinge;
+洌 > clear;
+堞 > plate;
+硼 > borax;
+詈 > scold;
+酯 > ester;
+镪 > coins;
+锸 > spade;
+戋 > small;
+扦 > probe;
+溷 > privy;
+俳 > actor;
+雠 > enemy;
+砻 > grind;
+蘖 > stump;
+墀 > porch;
+麴 > yeast;
+窳 > dirty;
+潋 > waves;
+洎 > until;
+饧 > sugar;
+喈 > music;
+吡 > blame;
+陟 > climb;
+鲛 > shark;
+皲 > crack;
+瘊 > warts;
+馕 > bread;
+搦 > grasp;
+垴 > small;
+阝 > place;
+厣 > shell;
+糅 > blend;
+铗 > tongs;
+阏 > block;
+剡 > sharp;
+鲂 > bream;
+溽 > moist;
+怿 > enjoy;
+艹 > grass;
+髑 > skull;
+跽 > kneel;
+簏 > a\-box;
+裥 > folds;
+钣 > plate;
+槊 > spear;
+椋 > fruit;
+缳 > noose;
+绐 > cheat;
+滢 > clear;
+龠 > flute;
+蝤 > larva;
+氆 > thick;
+埭 > a\-dam;
+埽 > broom;
+坼 > split;
+诖 > error;
+鲶 > sheat;
+貅 > brave;
+皤 > white;
+稂 > grass;
+镆 > sword;
+锞 > ingot;
+爝 > torch;
+氡 > radon;
+槭 > maple;
+彘 > swine;
+彖 > a\-hog;
+滗 > drain;
+廑 > a\-hut;
+匏 > gourd;
+蕖 > lotus;
+侔 > equal;
+鳊 > bream;
+篼 > sedan;
+蛞 > snail;
+蛲 > worms;
+虍 > tiger;
+氙 > xenon;
+赇 > bribe;
+璁 > \(gem\);
+绗 > baste;
+萏 > lotus;
+埘 > roost;
+齒 > teeth;
+齅 > smell;
+黮 > black;
+黓 > black;
+麺 > flour;
+麹 > yeast;
+麵 > flour;
+麯 > yeast;
+麫 > flour;
+麪 > flour;
+麤 > rough;
+麘 > scent;
+麁 > rough;
+鹾 > salty;
+鹺 > salty;
+鹹 > salty;
+鸲 > mynah;
+鸛 > crane;
+鸘 > eagle;
+鷸 > snipe;
+鷃 > quail;
+鶵 > chick;
+鶉 > quail;
+鵰 > eagle;
+鵪 > quail;
+鵞 > goose;
+鵝 > goose;
+鴳 > quail;
+鴪 > swoop;
+鴥 > swoop;
+鴝 > mynah;
+鱻 > fresh;
+鱮 > bream;
+鰞 > squid;
+鰍 > loach;
+鰋 > sheat;
+鯿 > bream;
+鯰 > sheat;
+鯨 > whale;
+鯤 > spawn;
+鯋 > shark;
+鯊 > shark;
+鮫 > shark;
+鮉 > bream;
+魴 > bream;
+魆 > black;
+鬒 > black;
+鬎 > favus;
+鬍 > beard;
+鬁 > favus;
+髳 > state;
+髲 > a\-wig;
+髥 > beard;
+髒 > dirty;
+髏 > skull;
+骯 > dirty;
+驩 > happy;
+驦 > horse;
+驖 > black;
+騻 > horse;
+騫 > raise;
+騠 > horse;
+騑 > horse;
+駪 > crowd;
+駞 > camel;
+駑 > tired;
+馡 > scent;
+饢 > bread;
+饘 > gruel;
+饍 > meals;
+饃 > bread;
+餻 > cakes;
+餹 > sugar;
+餳 > sugar;
+餪 > feast;
+餦 > candy;
+餜 > cakes;
+飶 > odour;
+飭 > order;
+飑 > storm;
+颽 > balmy;
+顱 > skull;
+顰 > frown;
+顣 > frown;
+顗 > quiet;
+頾 > beard;
+頠 > quiet;
+頜 > mouth;
+頀 > music;
+韺 > music;
+韤 > socks;
+韙 > right;
+韓 > fence;
+韈 > socks;
+韆 > swing;
+韁 > reins;
+鞾 > boots;
+鞵 > shoes;
+鞨 > tribe;
+鞗 > reins;
+鞃 > board;
+靦 > timid;
+靁 > thick;
+霱 > cloud;
+霙 > sleet;
+雝 > marsh;
+雛 > chick;
+隂 > shady;
+陼 > islet;
+阹 > a\-pen;
+闚 > flash;
+闔 > close;
+闋 > close;
+闊 > broad;
+闃 > alone;
+閼 > block;
+閴 > quiet;
+閦 > crowd;
+閔 > mourn;
+镟 > lathe;
+锼 > carve;
+锓 > carve;
+铘 > sword;
+钃 > metal;
+鑽 > drill;
+鑱 > spade;
+鑚 > drill;
+鑓 > spear;
+鏹 > coins;
+鏵 > spade;
+鏦 > spear;
+鏤 > carve;
+鏟 > spade;
+鏌 > sword;
+鏈 > chain;
+鏇 > lathe;
+鎬 > stove;
+鎧 > armor;
+鎗 > rifle;
+鎍 > chain;
+鍹 > spade;
+鍭 > arrow;
+鍤 > spade;
+鍏 > spade;
+鍍 > plate;
+鍉 > spoon;
+錁 > ingot;
+鋹 > sharp;
+鋸 > a\-saw;
+鋲 > rivet;
+鋟 > carve;
+鋘 > sword;
+銳 > sharp;
+銛 > sharp;
+銓 > weigh;
+鉾 > spear;
+鉼 > plate;
+鉸 > hinge;
+鉚 > rivet;
+鉅 > steel;
+鈒 > spear;
+鈑 > plate;
+鈇 > an\-ax;
+釼 > sword;
+釖 > knife;
+釅 > thick;
+釂 > drain;
+鄻 > spoil;
+郤 > crack;
+遫 > speed;
+遝 > mixed;
+逴 > argue;
+辮 > braid;
+辤 > words;
+辠 > crime;
+輓 > mourn;
+輏 > light;
+輈 > shaft;
+軱 > wheel;
+軜 > reins;
+軌 > track;
+躡 > tread;
+踆 > squat;
+趡 > place;
+贜 > booty;
+贓 > booty;
+贋 > false;
+賕 > bribe;
+賔 > guest;
+賓 > guest;
+賍 > booty;
+賄 > bribe;
+賂 > bribe;
+貿 > trade;
+貤 > steps;
+豔 > plump;
+讙 > cheer;
+讓 > allow;
+讐 > enemy;
+讎 > enemy;
+譙 > tower;
+譌 > false;
+譁 > noise;
+謬 > error;
+謑 > shame;
+謏 > scold;
+諢 > jokes;
+諠 > noisy;
+諐 > fault;
+說 > speak;
+誨 > teach;
+誆 > cheat;
+詿 > error;
+詼 > tease;
+詬 > abuse;
+詣 > reach;
+詡 > boast;
+詛 > curse;
+詖 > argue;
+詑 > cheat;
+詐 > cheat;
+訽 > blame;
+訧 > fault;
+訕 > abuse;
+訓 > teach;
+訏 > boast;
+觔 > catty;
+覬 > covet;
+規 > rules;
+襾 > cover;
+襪 > socks;
+襢 > strip;
+襍 > mixed;
+褻 > dirty;
+褺 > dirty;
+褕 > shirt;
+袵 > lapel;
+衕 > alley;
+衊 > smear;
+衁 > blood;
+蠛 > flies;
+蠗 > \(ape\);
+蠅 > flies;
+蟯 > worms;
+蟢 > caulk;
+蝨 > louse;
+蝘 > gecko;
+蝓 > snail;
+蚴 > larva;
+虣 > cruel;
+虛 > false;
+蘗 > stump;
+蘓 > thyme;
+蘋 > apple;
+藾 > shade;
+藪 > marsh;
+薖 > empty;
+薉 > dirty;
+蒞 > reach;
+葢 > cover;
+葍 > plant;
+萹 > grass;
+莿 > thorn;
+荳 > beans;
+荮 > grass;
+荄 > roots;
+茇 > grass;
+苾 > smell;
+苶 > weary;
+舗 > store;
+舖 > store;
+舋 > split;
+舉 > raise;
+臽 > a\-pit;
+臲 > jumpy;
+臢 > dirty;
+臛 > broth;
+臙 > rouge;
+臐 > broth;
+膶 > liver;
+膇 > swell;
+腫 > swell;
+腡 > lines;
+脹 > swell;
+脶 > lines;
+脢 > flesh;
+脃 > gland;
+肵 > table;
+肕 > tough;
+耞 > flail;
+翽 > whirr;
+翄 > winds;
+羱 > sheep;
+羣 > group;
+罷 > cease;
+罉 > a\-pot;
+纻 > ramie;
+繯 > noose;
+繮 > reins;
+縠 > crepe;
+縐 > crepe;
+縏 > purse;
+緞 > satin;
+綹 > skein;
+綠 > green;
+綌 > cloth;
+絎 > baste;
+絁 > rough;
+紿 > cheat;
+紵 > ramie;
+紝 > weave;
+紗 > gauze;
+紑 > fresh;
+糔 > juice;
+糓 > grain;
+粎 > metre;
+籤 > tally;
+簻 > empty;
+簛 > sieve;
+簒 > usurp;
+簁 > sieve;
+篩 > sieve;
+篏 > inlay;
+箛 > bugle;
+筳 > feast;
+筰 > cable;
+筦 > a\-key;
+竾 > flute;
+竔 > litre;
+窽 > empty;
+穧 > sheaf;
+穢 > dirty;
+穠 > thick;
+穅 > chaff;
+稾 > draft;
+稅 > taxes;
+秇 > skill;
+禠 > happy;
+禎 > lucky;
+祙 > demon;
+礶 > a\-jug;
+礱 > grind;
+磵 > brook;
+磯 > jetty;
+磡 > cliff;
+磛 > cliff;
+磈 > rocky;
+碻 > solid;
+碯 > agate;
+碩 > great;
+碁 > chess;
+硏 > grind;
+砳 > rocky;
+砠 > rocky;
+矓 > faint;
+矈 > dense;
+瞏 > round;
+瞍 > blind;
+瞇 > close;
+睘 > round;
+眹 > pupil;
+眅 > inlay;
+盻 > glare;
+盭 > cruel;
+皽 > scurf;
+皹 > crack;
+皸 > crack;
+皭 > white;
+皫 > white;
+皜 > white;
+皁 > black;
+癲 > crazy;
+癡 > silly;
+瘡 > tumor;
+瘋 > crazy;
+甞 > taste;
+甛 > sweet;
+甖 > a\-pot;
+甎 > brick;
+瓖 > inlay;
+瓈 > glass;
+瑪 > agate;
+瑔 > \(jade;
+瑑 > carve;
+珖 > carat;
+玈 > black;
+獝 > devil;
+獎 > prize;
+狵 > blend;
+牜 > an\-ox;
+牔 > gable;
+爓 > flame;
+爍 > shine;
+燿 > shine;
+燾 > shine;
+燦 > vivid;
+燙 > scald;
+燏 > blaze;
+燄 > flame;
+燂 > smoke;
+熛 > blaze;
+熒 > shine;
+煬 > roast;
+煢 > alone;
+煉 > smelt;
+焔 > flame;
+烓 > stove;
+烋 > boast;
+炰 > roast;
+炧 > ashes;
+灣 > a\-bay;
+灢 > muddy;
+灔 > waves;
+瀺 > sound;
+瀲 > waves;
+瀏 > clear;
+瀋 > juice;
+瀆 > ditch;
+瀅 > clear;
+瀁 > waves;
+濫 > flood;
+澨 > shore;
+澗 > brook;
+澑 > slide;
+澆 > spray;
+潷 > drain;
+潝 > agree;
+漑 > water;
+漈 > shore;
+湩 > muddy;
+湣 > mixed;
+渾 > muddy;
+淸 > clear;
+淢 > ditch;
+淚 > tears;
+淊 > drown;
+浥 > moist;
+洴 > sound;
+洚 > flood;
+洏 > tears;
+泚 > clear;
+沲 > float;
+汳 > henan;
+汎 > float;
+氹 > ditch;
+氥 > xenon;
+氜 > clear;
+殑 > swoon;
+歾 > drown;
+歕 > spurt;
+歓 > happy;
+歈 > songs;
+欼 > drink;
+欸 > sighs;
+欬 > cough;
+欙 > sedan;
+欖 > olive;
+櫱 > yeast;
+櫈 > bench;
+檸 > lemon;
+檯 > table;
+檨 > mango;
+檔 > shelf;
+樴 > stake;
+樕 > shrub;
+樏 > sedan;
+樁 > stake;
+槼 > rules;
+槓 > lever;
+槍 > spear;
+榿 > alder;
+榮 > glory;
+楳 > plums;
+楅 > buard;
+楄 > block;
+椈 > cedar;
+棊 > chess;
+棁 > joist;
+梲 > joist;
+梐 > fence;
+桯 > table;
+桭 > eaves;
+桚 > press;
+栵 > hedge;
+栫 > fence;
+栔 > carve;
+栍 > a\-lot;
+柶 > ladle;
+杧 > mango;
+杕 > alone;
+朮 > skill;
+朖 > clear;
+朅 > brave;
+曵 > trail;
+曨 > vague;
+斆 > teach;
+斅 > teach;
+敺 > expel;
+敔 > gavel;
+敎 > teach;
+攬 > grasp;
+攛 > hurry;
+擻 > shake;
+擲 > throw;
+擰 > pinch;
+擠 > crowd;
+撳 > press;
+摳 > raise;
+摏 > pound;
+搤 > seize;
+搊 > pluck;
+搉 > knock;
+揵 > carry;
+揅 > grind;
+掄 > swing;
+捿 > perch;
+捫 > stoke;
+挌 > fight;
+拋 > throw;
+拃 > grope;
+扢 > caper;
+戭 > spear;
+戣 > lance;
+戞 > lance;
+戔 > small;
+懽 > happy;
+懥 > angry;
+懠 > angry;
+懌 > enjoy;
+憭 > clear;
+憚 > dread;
+憊 > tired;
+慬 > brave;
+慍 > angry;
+愾 > anger;
+愷 > enjoy;
+愞 > timid;
+愃 > relax;
+悾 > naive;
+悰 > enjoy;
+悆 > happy;
+恵 > favor;
+恓 > vexed;
+彑 > snout;
+彐 > snout;
+彂 > issue;
+弉 > large;
+廕 > shade;
+幭 > cover;
+幪 > cover;
+幦 > cover;
+幠 > cover;
+帒 > a\-bag;
+帋 > paper;
+巭 > study;
+巛 > river;
+巖 > cliff;
+巌 > cliff;
+巋 > grand;
+巉 > steep;
+巃 > lofty;
+嶰 > gorge;
+嶡 > table;
+嶞 > ridge;
+嶔 > lofty;
+嶇 > steep;
+嵜 > rough;
+嵒 > cliff;
+嵂 > lofty;
+崱 > lofty;
+崚 > hilly;
+崕 > cliff;
+峽 > gorge;
+峩 > lofty;
+屶 > lofty;
+屴 > lofty;
+屪 > penis;
+屌 > penis;
+尰 > swell;
+尙 > still;
+寬 > broad;
+寛 > broad;
+寁 > quick;
+宻 > dense;
+宍 > flesh;
+孿 > twins;
+孖 > twins;
+嫚 > scorn;
+姪 > niece;
+奰 > anger;
+奬 > prize;
+奨 > prize;
+奝 > large;
+壠 > mound;
+壟 > grave;
+壆 > stiff;
+墺 > walls;
+墳 > grave;
+墝 > stony;
+墍 > paint;
+墈 > cliff;
+塼 > brick;
+塜 > dusty;
+塙 > truly;
+塒 > roost;
+塋 > grave;
+塈 > paint;
+堿 > salty;
+堽 > mound;
+堖 > small;
+埳 > a\-pit;
+埌 > waste;
+埆 > stony;
+垚 > mound;
+坿 > mound;
+坰 > wilds;
+圌 > fence;
+囑 > order;
+囅 > smile;
+嚮 > guide;
+嚭 > mound;
+嚬 > frown;
+嚡 > rough;
+嚐 > taste;
+嚇 > scare;
+噺 > story;
+噴 > spurt;
+噭 > shout;
+噦 > belch;
+嘢 > thing;
+嘒 > sharp;
+嗛 > pouch;
+嗙 > boast;
+嗐 > alas\!;
+喴 > hello;
+啲 > a\-few;
+啢 > ounce;
+啍 > creak;
+唡 > ounce;
+唎 > sound;
+哶 > bleat;
+哕 > belch;
+咢 > sound;
+咍 > laugh;
+吰 > clang;
+吣 > vomit;
+叚 > false;
+厺 > to\-go;
+厹 > spear;
+厴 > shell;
+厪 > a\-hut;
+厖 > bulky;
+卻 > still;
+卬 > lofty;
+匜 > basin;
+勻 > equal;
+劔 > sword;
+劒 > sword;
+劎 > sword;
+剱 > sword;
+剠 > brand;
+刂 > knife;
+凼 > ditch;
+凈 > clean;
+冩 > write;
+冧 > a\-bud;
+冚 > cover;
+冖 > cover;
+冁 > smile;
+儼 > grave;
+儎 > carry;
+儌 > lucky;
+僿 > small;
+僄 > light;
+傫 > tired;
+偐 > false;
+偁 > state;
+倖 > lucky;
+俶 > start;
+侐 > quiet;
+侁 > crowd;
+佺 > fairy;
+佌 > small;
+伩 > trust;
+仫 > tribe;
+亾 > death;
+亱 > night;
+乕 > tiger;
+丵 > thick;
+丯 > dense;
+丮 > catch;
+丌 > table;
+丅 > under;
+丄 > above;
+䶓 > ramie;
+䶏 > tears;
+䶋 > sound;
+䶇 > a\-rat;
+䶆 > a\-rat;
+䵭 > black;
+䵥 > black;
+䵟 > black;
+䴺 > cakes;
+䴹 > cakes;
+䴵 > cakes;
+䴲 > flour;
+䴞 > salty;
+䳽 > crane;
+䳱 > ducks;
+䳘 > goose;
+䳗 > goose;
+䲡 > loach;
+䲑 > spawn;
+䱜 > shark;
+䱖 > shark;
+䱋 > spawn;
+䰢 > ghost;
+䰗 > a\-lot;
+䰒 > vague;
+䰑 > beard;
+䰅 > beard;
+䯾 > hairy;
+䯸 > a\-wig;
+䯍 > bones;
+䭽 > group;
+䭦 > cakes;
+䭟 > cakes;
+䭐 > cakes;
+䭎 > cakes;
+䭅 > cakes;
+䬿 > small;
+䬵 > syrup;
+䬮 > syrup;
+䫵 > twins;
+䫖 > timid;
+䫎 > short;
+䪻 > a\-cap;
+䪱 > cheek;
+䪯 > sound;
+䪛 > group;
+䪘 > right;
+䪗 > shoes;
+䪂 > reins;
+䩺 > boots;
+䩖 > shoes;
+䩕 > clogs;
+䩓 > boots;
+䩅 > broad;
+䨹 > swift;
+䨷 > sleet;
+䨘 > sleet;
+䨋 > cruel;
+䨄 > quail;
+䨁 > ducks;
+䧽 > small;
+䧪 > sissy;
+䧎 > a\-pit;
+䧆 > a\-pit;
+䦾 > lofty;
+䦢 > broad;
+䦞 > extra;
+䦗 > quiet;
+䦔 > a\-peg;
+䥵 > lines;
+䥘 > wrong;
+䥓 > a\-hoe;
+䥁 > armor;
+䤺 > an\-ax;
+䤴 > armor;
+䤪 > short;
+䤢 > metal;
+䤜 > blunt;
+䤚 > plums;
+䤙 > dregs;
+䣱 > drunk;
+䣧 > black;
+䢔 > mixed;
+䢑 > angry;
+䡖 > still;
+䠢 > weary;
+䠠 > to\-go;
+䟠 > swift;
+䟜 > break;
+䞈 > money;
+䝭 > wages;
+䝫 > money;
+䝒 > a\-sow;
+䝏 > a\-sow;
+䝎 > a\-pig;
+䝊 > a\-sow;
+䝅 > a\-pig;
+䝃 > beans;
+䜴 > brave;
+䜎 > sound;
+䜍 > sweet;
+䜌 > chaos;
+䜊 > noise;
+䛭 > angry;
+䛡 > words;
+䚴 > anger;
+䚟 > horns;
+䚉 > o\-see;
+䘊 > flies;
+䗕 > bends;
+䖎 > tiger;
+䖋 > cruel;
+䖈 > cruel;
+䒸 > grass;
+䒑 > grass;
+䑚 > sweet;
+䑕 > a\-rat;
+䑁 > fatty;
+䐬 > crisp;
+䐝 > thick;
+䐗 > a\-pig;
+䐇 > clear;
+䏵 > plump;
+䏳 > olein;
+䏯 > moles;
+䏧 > fatty;
+䏚 > small;
+䎐 > hairy;
+䎇 > quick;
+䎄 > hairy;
+䍥 > smoky;
+䍌 > a\-jar;
+䌻 > wings;
+䌑 > tight;
+䌐 > ropes;
+䋵 > quick;
+䋥 > lines;
+䋚 > wings;
+䋙 > reins;
+䊾 > ropes;
+䊻 > silky;
+䊹 > small;
+䊀 > paste;
+䉿 > paste;
+䉞 > a\-box;
+䈉 > a\-fan;
+䇲 > tongs;
+䇤 > sharp;
+䇂 > fault;
+䆹 > empty;
+䆜 > empty;
+䆁 > syrup;
+䅵 > chaff;
+䅙 > grass;
+䅘 > wheat;
+䅆 > dense;
+䄾 > thick;
+䄥 > a\-god;
+䄢 > pious;
+䃬 > rocky;
+䃛 > chain;
+䃙 > rocks;
+䃗 > rocks;
+䂽 > rocks;
+䂼 > rocks;
+䂺 > rocks;
+䂰 > rocks;
+䂮 > stone;
+䂦 > tired;
+䂟 > rocks;
+䂖 > rocks;
+䂕 > short;
+䂔 > short;
+䂑 > short;
+䂏 > short;
+䁫 > muddy;
+䁟 > wrong;
+䁗 > light;
+䁍 > blind;
+䀼 > angry;
+䀇 > a\-pot;
+㿷 > rough;
+㿮 > green;
+㿩 > light;
+㿥 > shine;
+㿤 > white;
+㿝 > sweet;
+㿕 > ulcer;
+㾰 > choke;
+㾧 > favus;
+㾡 > ulcer;
+㾚 > itchy;
+㾐 > ulcer;
+㽿 > ulcer;
+㽡 > field;
+㼏 > a\-bad;
+㻭 > clear;
+㺃 > a\-dog;
+㹻 > puppy;
+㹷 > swine;
+㹋 > a\-cow;
+㹀 > a\-cow;
+㸺 > a\-cow;
+㸅 > ashes;
+㸃 > a\-dot;
+㷿 > flame;
+㷥 > steam;
+㷔 > flame;
+㷑 > smoke;
+㷇 > great;
+㶳 > ashes;
+㶰 > flame;
+㶦 > ashes;
+㶖 > rapid;
+㵹 > waves;
+㴃 > tears;
+㳹 > flood;
+㳰 > ditch;
+㳮 > urine;
+㳛 > dirty;
+㲧 > hairy;
+㲆 > noise;
+㰼 > greed;
+㰪 > sound;
+㰥 > laugh;
+㰢 > cough;
+㯷 > dates;
+㮥 > sails;
+㮢 > fruit;
+㮕 > fruit;
+㬶 > flesh;
+㬳 > light;
+㬦 > brave;
+㬚 > light;
+㬕 > light;
+㬏 > light;
+㬊 > light;
+㫼 > clear;
+㫹 > light;
+㫶 > light;
+㫰 > light;
+㫫 > clear;
+㫜 > light;
+㫛 > light;
+㫗 > thick;
+㫕 > light;
+㩡 > shake;
+鶴 > crane;
+㨛 > swift;
+㨗 > alert;
+嗀 > vomit;
+廓 > broad;
+糖 > sugar;
+㨃 > a\-row;
+炙 > roast;
+粒 > grain;
+立 > stand;
+溺 > drown;
+離 > leave;
+利 > gains;
+㧛 > thick;
+輪 > wheel;
+類 > class;
+㧍 > alike;
+溜 > slide;
+樂 > happy;
+尿 > urine;
+㦷 > brave;
+㦮 > money;
+說 > speak;
+裂 > split;
+㦡 > happy;
+烈 > fiery;
+蓮 > lotus;
+㦘 > swift;
+煉 > smelt;
+㦑 > anger;
+力 > power;
+女 > woman;
+㥿 > proud;
+㥷 > quiet;
+㥲 > anger;
+說 > speak;
+北 > north;
+怒 > anger;
+樂 > happy;
+㥓 > happy;
+累 > tired;
+淚 > tears;
+㥊 > angry;
+賂 > bribe;
+壟 > grave;
+㥂 > quick;
+綠 > green;
+碌 > rough;
+鷺 > heron;
+㤱 > anger;
+勞 > labor;
+朗 > clear;
+濫 > flood;
+㤣 > noble;
+㤜 > crazy;
+酪 > cream;
+㤙 > grace;
+烙 > brand;
+樂 > happy;
+㣲 > small;
+㣟 > to\-go;
+㣏 > still;
+㣉 > labor;
+㢛 > small;
+㢙 > a\-hut;
+㡶 > dwell;
+㡴 > sound;
+㡕 > sharp;
+㡐 > flags;
+㡌 > a\-hat;
+㡇 > colar;
+㡄 > colar;
+㠪 > great;
+㠕 > lofty;
+㠍 > lofty;
+㟵 > ridge;
+㟮 > lofty;
+㟠 > ridge;
+㟅 > lofty;
+㟁 > shore;
+㞾 > a\-nun;
+㞙 > urine;
+㞕 > chips;
+㞒 > lusty;
+㞏 > small;
+㞃 > tired;
+㝽 > short;
+㝺 > small;
+㝤 > night;
+㝣 > still;
+㝜 > night;
+㝖 > right;
+㝕 > peace;
+㝏 > alone;
+㝇 > quail;
+㜽 > child;
+㜧 > plump;
+㜜 > proud;
+㛨 > chaos;
+㛚 > equal;
+㛃 > clean;
+㛁 > quick;
+㚮 > happy;
+㚕 > great;
+㚀 > lofty;
+㙯 > skill;
+㙥 > muddy;
+㙓 > earth;
+㙄 > below;
+㘋 > sound;
+㗅 > angry;
+㖤 > wrath;
+㖔 > silly;
+㖏 > angry;
+㖀 > sound;
+㕳 > noisy;
+㕖 > plain;
+㕎 > caves;
+㕁 > still;
+㔻 > great;
+㓻 > tough;
+㓝 > a\-law;
+㓜 > young;
+㓛 > merit;
+㓙 > cruel;
+㓗 > clean;
+㓁 > a\-net;
+㒩 > naked;
+㒌 > along;
+㑶 > anger;
+㑩 > smart;
+㑨 > great;
+㑦 > anger;
+㑗 > a\-god;
+㑋 > small;
+㑁 > short;
+㐱 > bushy;
+㐫 > cruel;
+有 > have;
+知 > know;
+这 > this;
+矜 > pity;
+忙 > busy;
+来 > come;
+近 > near;
+道 > path;
+也 > also;
+时 > time;
+年 > year;
+瞻 > look;
+辺 > edge;
+就 > just;
+那 > that;
+生 > life;
+自 > self;
+瞬 > wink;
+过 > pass;
+循 > obey;
+從 > from;
+従 > from;
+多 > much;
+好 > good;
+彼 > that;
+起 > rise;
+只 > only;
+作 > make;
+当 > bear;
+形 > form;
+看 > look;
+开 > open;
+手 > hand;
+弱 > weak;
+本 > root;
+头 > head;
+真 > real;
+面 > face;
+公 > fair;
+同 > same;
+眞 > real;
+从 > from;
+动 > move;
+长 > long;
+載 > load;
+将 > will;
+但 > only;
+身 > body;
+高 > high;
+把 > hold;
+此 > this;
+实 > real;
+盥 > wash;
+月 > moon;
+种 > seed;
+軍 > army;
+車 > cart;
+己 > self;
+部 > part;
+名 > name;
+皮 > skin;
+机 > desk;
+给 > give;
+等 > rank;
+座 > seat;
+很 > very;
+最 > most;
+店 > shop;
+躍 > skip;
+走 > walk;
+四 > four;
+门 > gate;
+东 > east;
+庁 > hall;
+西 > west;
+平 > flat;
+登 > rise;
+听 > hear;
+幸 > luck;
+蹴 > kick;
+军 > army;
+五 > five;
+帷 > tent;
+太 > very;
+帶 > belt;
+帳 > tent;
+帯 > belt;
+体 > body;
+席 > seat;
+希 > rare;
+踊 > leap;
+书 > book;
+九 > nine;
+跳 > jump;
+路 > road;
+命 > life;
+痩 > thin;
+活 > live;
+左 > left;
+巣 > nest;
+表 > show;
+跟 > heel;
+车 > cart;
+痛 > pain;
+痕 > scar;
+痒 > itch;
+感 > feel;
+足 > foot;
+金 > gold;
+何 > what;
+嶮 > high;
+更 > more;
+疋 > roll;
+做 > work;
+计 > plan;
+當 > bear;
+王 > king;
+各 > each;
+留 > stop;
+畏 > fear;
+边 > edge;
+男 > male;
+风 > wind;
+崗 > post;
+毛 > hair;
+峰 > peak;
+爱 > love;
+瓦 > tile;
+賣 > sell;
+賃 > rent;
+貸 > lend;
+岸 > bank;
+结 > knot;
+岬 > cape;
+流 > flow;
+貧 > poor;
+青 > blue;
+管 > pipe;
+負 > load;
+连 > join;
+队 > team;
+带 > belt;
+展 > open;
+屑 > bits;
+领 > neck;
+屈 > bend;
+居 > live;
+尾 > tail;
+半 > half;
+候 > wait;
+步 > step;
+深 > deep;
+区 > area;
+尋 > seek;
+求 > seek;
+球 > ball;
+告 > tell;
+寸 > inch;
+實 > real;
+满 > fill;
+李 > plum;
+息 > rest;
+寒 > cold;
+寄 > send;
+脸 > face;
+宿 > stop;
+取 > take;
+室 > room;
+実 > real;
+宛 > seem;
+孩 > baby;
+广 > wide;
+玉 > jade;
+玄 > deep;
+火 > fire;
+讀 > read;
+譽 > fame;
+则 > rule;
+首 > head;
+失 > lose;
+拿 > take;
+斯 > this;
+读 > read;
+包 > wrap;
+猶 > like;
+落 > fall;
+济 > help;
+喜 > like;
+謡 > sing;
+编 > knit;
+谈 > talk;
+拉 > pull;
+謀 > plan;
+狼 > wolf;
+杀 > kill;
+根 > root;
+嫌 > hate;
+談 > talk;
+克 > gram;
+状 > form;
+示 > show;
+冲 > soar;
+読 > read;
+誉 > fame;
+推 > push;
+称 > call;
+試 > test;
+号 > mark;
+亚 > asia;
+港 > port;
+般 > sort;
+爪 > claw;
+刚 > hard;
+陆 > land;
+确 > sure;
+計 > plan;
+具 > tool;
+威 > pomp;
+帮 > help;
+线 > line;
+触 > butt;
+角 > horn;
+燒 > burn;
+节 > knot;
+燃 > burn;
+岁 > year;
+妻 > wife;
+需 > need;
+酒 > wine;
+铁 > iron;
+覗 > peek;
+闻 > hear;
+标 > mark;
+医 > cure;
+襲 > raid;
+煮 > cook;
+土 > soil;
+软 > soft;
+煤 > coal;
+仅 > only;
+套 > case;
+户 > door;
+焼 > burn;
+项 > neck;
+背 > back;
+焚 > burn;
+暗 > dark;
+须 > must;
+製 > make;
+裸 > bare;
+売 > sell;
+树 > tree;
+沉 > sink;
+职 > duty;
+细 > fine;
+補 > mend;
+停 > stop;
+助 > help;
+冷 > cold;
+墮 > fall;
+致 > send;
+木 > tree;
+袢 > robe;
+旁 > side;
+炊 > cook;
+灼 > burn;
+塵 > dust;
+塩 > salt;
+歌 > song;
+堂 > hall;
+试 > test;
+灌 > pour;
+验 > test;
+塀 > wall;
+止 > stop;
+堵 > wall;
+堤 > dike;
+堕 > fall;
+恶 > evil;
+堆 > heap;
+慢 > slow;
+堅 > hard;
+堀 > cave;
+蟻 > ants;
+藏 > hide;
+负 > load;
+埋 > bury;
+澹 > calm;
+垢 > dirt;
+融 > melt;
+潮 > tide;
+坦 > flat;
+潜 > hide;
+救 > save;
+丝 > silk;
+齊 > even;
+鼻 > nose;
+漬 > soak;
+鼓 > drum;
+永 > long;
+漏 > leak;
+录 > copy;
+遇 > meet;
+滿 > fill;
+船 > ship;
+黴 > mold;
+滴 > drip;
+雨 > rain;
+蛙 > frog;
+滑 > slip;
+麻 > hemp;
+蚤 > flea;
+齐 > even;
+準 > rule;
+溌 > pour;
+充 > fill;
+鹿 > deer;
+寻 > seek;
+宁 > calm;
+鹽 > salt;
+沙 > sand;
+卖 > sell;
+顺 > obey;
+號 > mark;
+善 > good;
+噛 > bite;
+良 > good;
+坚 > hard;
+噂 > meet;
+拍 > clap;
+掉 > turn;
+済 > help;
+哭 > weep;
+嘆 > sigh;
+午 > noon;
+卡 > card;
+雪 > snow;
+淵 > gulf;
+淡 > weak;
+嗟 > sigh;
+淑 > good;
+藍 > blue;
+淋 > drip;
+涼 > cool;
+载 > load;
+刺 > stab;
+薪 > fuel;
+销 > melt;
+鱼 > fish;
+喚 > call;
+喘 > pant;
+盘 > tray;
+薔 > rose;
+喇 > horn;
+薄 > thin;
+啼 > weep;
+架 > rack;
+浸 > soak;
+款 > item;
+浪 > wave;
+蕩 > pond;
+洪 > vast;
+镇 > town;
+浄 > pure;
+旅 > trip;
+唾 > spit;
+唱 > sing;
+蔵 > hide;
+唯 > only;
+洩 > leak;
+洞 > cave;
+骨 > bone;
+洗 > wash;
+唖 > dumb;
+鴉 > crow;
+唇 > lips;
+泳 > dive;
+哲 > wise;
+哩 > mile;
+墙 > wall;
+圣 > holy;
+鳥 > bird;
+跃 > skip;
+晓 > dawn;
+泄 > leak;
+隐 > hide;
+蒼 > blue;
+恐 > fear;
+沼 > lake;
+付 > give;
+厅 > hall;
+咬 > bite;
+腿 > legs;
+沖 > pour;
+硬 > hard;
+沈 > sink;
+售 > sell;
+遗 > lose;
+探 > find;
+葬 > bury;
+缓 > slow;
+葦 > reed;
+池 > pool;
+烧 > burn;
+葉 > leaf;
+束 > bind;
+呆 > dull;
+吻 > kiss;
+吹 > blow;
+休 > rest;
+叹 > sigh;
+氏 > clan;
+签 > sign;
+氈 > felt;
+奶 > milk;
+毬 > ball;
+菩 > herb;
+叢 > bush;
+挂 > hang;
+航 > sail;
+毘 > help;
+拳 > fist;
+乘 > ride;
+袁 > robe;
+址 > site;
+毆 > beat;
+殿 > hall;
+殺 > kill;
+核 > seed;
+补 > mend;
+赞 > help;
+亦 > also;
+歳 > year;
+柔 > soft;
+歩 > step;
+惜 > pity;
+魚 > fish;
+歎 > sigh;
+魂 > soul;
+乔 > tall;
+粮 > food;
+茫 > vast;
+谋 > plan;
+敏 > fast;
+茎 > stem;
+零 > zero;
+荡 > pond;
+勾 > hook;
+犹 > like;
+髮 > hair;
+髪 > hair;
+乃 > then;
+抬 > lift;
+體 > body;
+苔 > moss;
+動 > move;
+启 > open;
+冒 > risk;
+穷 > poor;
+檣 > mast;
+侧 > side;
+旦 > dawn;
+纯 > pure;
+闭 > shut;
+凉 > cool;
+碗 > bowl;
+剥 > peel;
+滚 > turn;
+润 > soft;
+剛 > hard;
+驗 > test;
+則 > rule;
+蓝 > blue;
+樹 > tree;
+蛋 > eggs;
+促 > urge;
+颜 > face;
+贫 > poor;
+杰 > hero;
+舟 > boat;
+験 > test;
+恋 > love;
+迟 > late;
+穴 > cave;
+赖 > rely;
+駛 > sail;
+駒 > colt;
+凌 > pure;
+乌 > crow;
+岗 > post;
+铺 > shop;
+馴 > tame;
+伍 > five;
+躲 > hide;
+箱 > case;
+帐 > tent;
+膝 > knee;
+膚 > skin;
+悉 > know;
+册 > book;
+冊 > book;
+盈 > fill;
+拖 > drag;
+昏 > dusk;
+戒 > warn;
+页 > page;
+尘 > dust;
+脣 > lips;
+井 > well;
+汪 > vast;
+脇 > ribs;
+脅 > ribs;
+恰 > just;
+椀 > bowl;
+描 > copy;
+乏 > lack;
+胞 > womb;
+棚 > tent;
+怜 > pity;
+佳 > good;
+鸟 > bird;
+僅 > only;
+風 > wind;
+梨 > pear;
+弯 > bend;
+亏 > lose;
+傑 > hero;
+酸 > tart;
+聽 > hear;
+職 > duty;
+桶 > pail;
+聴 > hear;
+瘦 > thin;
+側 > side;
+绩 > spin;
+聞 > hear;
+聖 > holy;
+顔 > face;
+顏 > face;
+牵 > drag;
+頼 > rely;
+租 > rent;
+頸 > neck;
+扭 > turn;
+頭 > head;
+擦 > wipe;
+殷 > many;
+頚 > neck;
+領 > neck;
+盼 > look;
+吟 > sing;
+耕 > plow;
+苍 > blue;
+順 > obey;
+項 > neck;
+宏 > wide;
+頁 > page;
+娃 > baby;
+暖 > warm;
+锁 > lock;
+砍 > hack;
+係 > bind;
+挨 > near;
+慈 > kind;
+羹 > soup;
+羮 > soup;
+鞭 > whip;
+羨 > envy;
+窝 > nest;
+杜 > stop;
+撤 > omit;
+來 > come;
+東 > east;
+筹 > chip;
+稀 > rare;
+杖 > cane;
+拨 > move;
+踢 > kick;
+迁 > move;
+佇 > wait;
+袭 > raid;
+驶 > sail;
+霰 > hail;
+惧 > fear;
+纽 > knot;
+丛 > bush;
+悠 > long;
+曼 > long;
+書 > book;
+缠 > wrap;
+滋 > grow;
+碧 > jade;
+唤 > call;
+胁 > ribs;
+谱 > list;
+隱 > hide;
+丘 > hill;
+亞 > asia;
+纒 > wrap;
+杆 > pole;
+纏 > wrap;
+隊 > team;
+悬 > hang;
+隈 > cove;
+崔 > high;
+纂 > edit;
+唉 > alas;
+暁 > dawn;
+笼 > cage;
+陸 > land;
+繪 > draw;
+繩 > rope;
+慨 > sigh;
+乗 > ride;
+绳 > rope;
+時 > time;
+矿 > mine;
+遣 > send;
+镖 > dart;
+遵 > obey;
+兆 > omen;
+钓 > fish;
+披 > wear;
+昇 > rise;
+縄 > rope;
+昂 > rise;
+緩 > slow;
+編 > knit;
+抄 > copy;
+债 > debt;
+肤 > skin;
+歇 > rest;
+開 > open;
+閉 > shut;
+斉 > even;
+斃 > kill;
+罕 > rare;
+門 > gate;
+長 > long;
+贷 > lend;
+絵 > draw;
+颈 > neck;
+絲 > silk;
+脖 > neck;
+堡 > fort;
+絨 > silk;
+給 > give;
+赐 > give;
+颂 > laud;
+結 > knot;
+砖 > tile;
+絆 > loop;
+哑 > dumb;
+細 > fine;
+滩 > bank;
+钉 > nail;
+哄 > coax;
+铃 > bell;
+純 > pure;
+紐 > knot;
+紋 > line;
+拚 > risk;
+糸 > silk;
+糧 > food;
+契 > deed;
+懒 > lazy;
+猎 > hunt;
+嵩 > high;
+盐 > salt;
+摺 > fold;
+籠 > cage;
+陵 > hill;
+裹 > wrap;
+绘 > draw;
+鐵 > iron;
+鐡 > iron;
+篭 > cage;
+篤 > deep;
+挽 > pull;
+粹 > pure;
+節 > knot;
+掣 > drag;
+掛 > hang;
+鎖 > lock;
+箋 > note;
+捲 > curl;
+泼 > pour;
+秃 > bald;
+録 > copy;
+绑 > bind;
+鸭 > duck;
+掀 > lift;
+纹 > line;
+趟 > time;
+吼 > roar;
+窺 > peep;
+窶 > poor;
+叠 > pile;
+啸 > roar;
+窮 > poor;
+銑 > mill;
+婴 > baby;
+躬 > body;
+毙 > kill;
+逸 > flee;
+琼 > jade;
+鉄 > iron;
+挪 > move;
+晌 > noon;
+戸 > door;
+鈴 > bell;
+稱 > call;
+贱 > mean;
+種 > seed;
+钩 > hook;
+戀 > love;
+懼 > fear;
+懸 > hang;
+釣 > fish;
+釘 > nail;
+鸦 > crow;
+狮 > lion;
+妮 > maid;
+禿 > bald;
+窑 > kiln;
+塘 > pond;
+纤 > fine;
+醫 > cure;
+憩 > rest;
+憐 > pity;
+憎 > hate;
+羡 > envy;
+慾 > lust;
+祷 > pray;
+舆 > cart;
+祈 > pray;
+嫩 > soft;
+蹄 > hoof;
+愛 > love;
+鄙 > mean;
+惡 > evil;
+沧 > blue;
+確 > sure;
+悪 > evil;
+帆 > sail;
+涵 > soak;
+邊 > edge;
+澡 > wash;
+遺 > lose;
+遲 > late;
+烤 > bake;
+峻 > high;
+過 > pass;
+運 > luck;
+尬 > limp;
+遅 > late;
+遁 > hide;
+週 > week;
+佑 > help;
+連 > join;
+怠 > idle;
+這 > this;
+砂 > sand;
+胶 > glue;
+谣 > sing;
+梳 > comb;
+祁 > pray;
+啤 > beer;
+铸 > melt;
+躯 > body;
+酿 > brew;
+捣 > hull;
+玫 > rose;
+噢 > moan;
+纺 > spin;
+窟 > hole;
+兑 > cash;
+冥 > dark;
+觅 > seek;
+沸 > boil;
+扁 > flat;
+眨 > wink;
+瘾 > rash;
+黯 > dark;
+妞 > girl;
+俏 > like;
+孽 > evil;
+弊 > evil;
+妃 > wife;
+壤 > soil;
+翔 > soar;
+巩 > bind;
+帜 > flag;
+蕾 > buds;
+铅 > lead;
+绒 > silk;
+窥 > peep;
+锣 > gong;
+撼 > move;
+嗦 > suck;
+轴 > axle;
+涕 > tear;
+笃 > deep;
+窍 > hole;
+扳 > pull;
+遏 > stop;
+吆 > bawl;
+熔 > melt;
+聋 > deaf;
+募 > levy;
+疤 > scar;
+蚁 > ants;
+悯 > pity;
+烘 > bake;
+牟 > make;
+崭 > high;
+巢 > nest;
+沮 > stop;
+湛 > deep;
+晦 > dark;
+驹 > colt;
+诫 > warn;
+墩 > heap;
+巍 > high;
+攒 > save;
+绊 > loop;
+懈 > idle;
+殴 > beat;
+皂 > soap;
+蟹 > crab;
+绷 > bind;
+匿 > hide;
+唠 > chat;
+苇 > reed;
+拽 > drag;
+烹 > boil;
+啃 > gnaw;
+羔 > lamb;
+锈 > rust;
+亢 > high;
+肋 > ribs;
+衲 > mend;
+掐 > hold;
+懦 > weak;
+腓 > calf;
+彷 > like;
+骡 > mule;
+醇 > rich;
+驯 > tame;
+纬 > woof;
+犁 > plow;
+拯 > help;
+龚 > give;
+蛤 > clam;
+戮 > kill;
+毡 > felt;
+咀 > suck;
+呱 > wail;
+戎 > arms;
+蔼 > lush;
+茸 > soft;
+礁 > reef;
+闩 > bolt;
+涤 > wash;
+渍 > soak;
+跛 > lame;
+蟆 > frog;
+偌 > thus;
+邑 > area;
+匾 > flat;
+笺 > note;
+箍 > hoop;
+噬 > bite;
+蟠 > coil;
+赁 > rent;
+腌 > salt;
+掂 > heft;
+遐 > afar;
+甬 > path;
+僮 > page;
+垛 > heap;
+吠 > bark;
+踵 > heel;
+蛾 > moth;
+耘 > weed;
+暄 > warm;
+螃 > crab;
+啕 > wail;
+蟾 > toad;
+筏 > raft;
+籽 > seed;
+犊 > calf;
+煦 > kind;
+臊 > rank;
+撬 > lift;
+毗 > help;
+蹿 > leap;
+咆 > roar;
+鲤 > carp;
+辕 > axle;
+瀚 > vast;
+芋 > taro;
+雹 > hail;
+鹪 > wren;
+骼 > bone;
+莘 > long;
+谧 > calm;
+蜕 > molt;
+焊 > weld;
+耙 > rake;
+缄 > seal;
+漩 > eddy;
+饵 > bait;
+辍 > stop;
+谑 > jeer;
+恁 > that;
+傩 > rich;
+瘠 > thin;
+嵘 > high;
+峥 > high;
+钅 > gold;
+湮 > bury;
+颏 > chin;
+铎 > bell;
+蔷 > rose;
+豺 > wolf;
+熨 > iron;
+呷 > suck;
+闳 > gate;
+芮 > tiny;
+陨 > fall;
+璨 > gems;
+泵 > pump;
+翱 > soar;
+戕 > kill;
+莓 > moss;
+豌 > peas;
+堑 > moat;
+潼 > high;
+疵 > flaw;
+迤 > wind;
+怵 > fear;
+榈 > palm;
+儆 > warn;
+嗥 > roar;
+礴 > fill;
+鬃 > mane;
+岐 > high;
+啻 > only;
+咝 > hiss;
+揄 > lift;
+潸 > weep;
+讴 > sing;
+趄 > weak;
+邋 > rags;
+胤 > heir;
+栉 > comb;
+粕 > lees;
+颔 > chin;
+啮 > bite;
+轲 > axle;
+孱 > weak;
+挞 > flog;
+镫 > lamp;
+臧 > good;
+鹜 > duck;
+昕 > dawn;
+锷 > high;
+铄 > melt;
+辶 > walk;
+阄 > lots;
+锌 > zinc;
+荻 > reed;
+喙 > beak;
+蜍 > toad;
+缢 > hang;
+柢 > root;
+窠 > nest;
+肛 > anus;
+誊 > copy;
+跎 > slip;
+聩 > deaf;
+痂 > scab;
+鸢 > kite;
+抻 > pull;
+沤 > soak;
+涿 > drip;
+牦 > tail;
+猷 > plan;
+墉 > wall;
+暹 > rise;
+闱 > gate;
+轭 > yoke;
+弭 > stop;
+洵 > true;
+瓯 > bowl;
+濠 > moat;
+圩 > dike;
+羸 > weak;
+癯 > thin;
+瘢 > scar;
+幄 > tent;
+泅 > swim;
+矾 > alum;
+蚩 > worm;
+鸷 > hawk;
+蹇 > lame;
+耋 > aged;
+苒 > lush;
+逋 > flee;
+藓 > moss;
+鬻 > sell;
+泫 > weep;
+啭 > sing;
+坨 > lump;
+蠹 > moth;
+疱 > acne;
+锒 > lock;
+暝 > dark;
+煊 > warm;
+爨 > oven;
+囝 > baby;
+垩 > holy;
+怼 > hate;
+崴 > high;
+拊 > slap;
+扌 > hand;
+钤 > lock;
+樯 > mast;
+骟 > geld;
+燹 > fire;
+馐 > food;
+圹 > tomb;
+龈 > gums;
+蜊 > clam;
+痖 > dumb;
+歆 > like;
+赉 > give;
+铣 > mill;
+灏 > vast;
+瘙 > itch;
+闼 > door;
+坌 > dust;
+椤 > tree;
+阋 > feud;
+嵯 > high;
+酰 > acyl;
+瘗 > bury;
+疣 > wart;
+穑 > farm;
+槎 > raft;
+桴 > raft;
+溏 > pool;
+礻 > cult;
+棰 > flog;
+狷 > rash;
+蒹 > reed;
+佤 > kawa;
+麸 > bran;
+鸱 > kite;
+缫 > draw;
+纡 > bend;
+嵬 > high;
+菖 > iris;
+愍 > pity;
+嫱 > lady;
+莨 > herb;
+谝 > brag;
+氖 > neon;
+颛 > good;
+燠 > warm;
+潴 > pond;
+堙 > bury;
+隗 > high;
+丿 > line;
+鲮 > carp;
+跖 > sole;
+蚋 > gnat;
+汔 > near;
+痤 > acne;
+贶 > give;
+纟 > silk;
+侑 > help;
+耪 > plow;
+觜 > beak;
+筢 > rake;
+朐 > warm;
+觇 > peek;
+檗 > tree;
+菡 > buds;
+偾 > ruin;
+隹 > bird;
+舡 > boat;
+疒 > sick;
+噍 > chew;
+埝 > bank;
+鲩 > carp;
+鲒 > clam;
+襞 > fold;
+灬 > fire;
+脒 > open;
+柙 > cage;
+湔 > wash;
+洳 > damp;
+尢 > weak;
+髟 > hair;
+鳎 > sole;
+艚 > ship;
+鹩 > wren;
+炱 > soot;
+膪 > pork;
+栊 > cage;
+绲 > cord;
+宀 > roof;
+闶 > door;
+猊 > lion;
+岵 > hill;
+卩 > seal;
+诎 > bend;
+倮 > bare;
+龔 > give;
+齮 > bite;
+齧 > bite;
+齦 > gums;
+齗 > gums;
+齕 > gnaw;
+鼛 > drum;
+鼖 > drum;
+黶 > mole;
+麩 > bran;
+麛 > fawn;
+麚 > buck;
+麑 > fawn;
+麌 > stag;
+麃 > till;
+鹎 > bird;
+鹆 > myna;
+鷯 > wren;
+鷦 > wren;
+鷙 > hawk;
+鷕 > call;
+鶱 > soar;
+鶩 > duck;
+鶃 > hawk;
+鶂 > hawk;
+鵯 > bird;
+鵄 > kite;
+鴨 > duck;
+鴟 > kite;
+鴄 > duck;
+鳷 > bird;
+鳶 > kite;
+鳋 > carp;
+鲼 > fish;
+鲋 > carp;
+鲆 > sole;
+鰨 > sole;
+鯪 > carp;
+鯉 > carp;
+鯈 > fish;
+鯇 > carp;
+鮚 > clam;
+鮒 > carp;
+鮆 > fish;
+魋 > bear;
+鬮 > lots;
+鬩 > feud;
+鬑 > long;
+髞 > high;
+驘 > mule;
+騾 > mule;
+騸 > geld;
+騯 > loud;
+騣 > mane;
+駽 > grey;
+駴 > drum;
+饌 > feed;
+饈 > food;
+餌 > bait;
+餇 > food;
+飡 > meal;
+飌 > wind;
+颿 > sail;
+颺 > soar;
+顓 > good;
+頷 > chin;
+頮 > wash;
+頦 > chin;
+頌 > laud;
+須 > must;
+鞹 > skin;
+鞟 > skin;
+鞙 > fine;
+鞏 > bind;
+鞉 > drum;
+鞀 > drum;
+靑 > blue;
+霤 > drip;
+霣 > fall;
+霢 > dust;
+隕 > fall;
+隄 > dike;
+阤 > hill;
+阞 > vein;
+闥 > door;
+闢 > open;
+闓 > open;
+闈 > gate;
+闆 > boss;
+閟 > hide;
+閎 > gate;
+閌 > door;
+閇 > shut;
+閂 > bolt;
+镸 > long;
+镩 > pick;
+镕 > fuse;
+铴 > gong;
+鑼 > gong;
+鑢 > file;
+鑠 > melt;
+鑛 > mine;
+鑄 > melt;
+鐸 > bell;
+鐩 > lens;
+鐙 > lamp;
+鐋 > gong;
+鐄 > bell;
+鏽 > rust;
+鏰 > coin;
+鏥 > rust;
+鏢 > dart;
+鎻 > lock;
+鎮 > town;
+鎭 > town;
+鎔 > fuse;
+鍔 > high;
+錄 > copy;
+鋳 > melt;
+鋚 > iron;
+鋆 > gold;
+銹 > rust;
+銷 > melt;
+銕 > iron;
+鉱 > mine;
+鉤 > hook;
+鈬 > bell;
+鈐 > lock;
+鈎 > hook;
+鈆 > lead;
+釀 > brew;
+醸 > brew;
+鄑 > kick;
+邉 > edge;
+遻 > meet;
+遷 > move;
+遟 > late;
+迺 > then;
+迚 > very;
+迆 > wind;
+辵 > walk;
+轝 > envy;
+轗 > fail;
+轌 > sled;
+轅 > axle;
+輿 > cart;
+輴 > sled;
+輟 > stop;
+軻 > axle;
+軸 > axle;
+軥 > yoke;
+軟 > soft;
+軛 > yoke;
+軆 > body;
+軀 > body;
+躿 > tall;
+躶 > bare;
+躴 > tall;
+躳 > body;
+躱 > hide;
+躰 > body;
+躥 > leap;
+躒 > walk;
+蹢 > hoof;
+蹏 > hoof;
+踴 > leap;
+踭 > heel;
+踘 > ball;
+跼 > bent;
+跲 > hood;
+跱 > stop;
+跞 > walk;
+跙 > weak;
+趯 > jump;
+赱 > walk;
+赕 > fine;
+贊 > help;
+賵 > gift;
+賴 > rely;
+賧 > fine;
+賤 > mean;
+賜 > give;
+賛 > help;
+賚 > give;
+賎 > mean;
+貺 > give;
+貎 > lion;
+豭 > boar;
+讋 > fear;
+謠 > sing;
+謔 > jeer;
+謐 > calm;
+謄 > copy;
+諞 > brag;
+誧 > huge;
+誡 > warn;
+誃 > part;
+詠 > sing;
+詟 > fear;
+詘 > bend;
+觝 > gore;
+覘 > peek;
+覓 > seek;
+袿 > gown;
+衹 > only;
+衚 > lane;
+衖 > lane;
+衒 > brag;
+蠭 > bees;
+蠧 > moth;
+蠏 > crab;
+蟇 > frog;
+螉 > wasp;
+蜹 > gnat;
+蜅 > crab;
+蛻 > molt;
+蚡 > mole;
+虷 > worm;
+虧 > lose;
+虓 > roar;
+蘚 > moss;
+蘒 > \:143;
+藹 > lush;
+藟 > vine;
+藇 > fine;
+薟 > vine;
+薙 > weed;
+薁 > vine;
+蕘 > fuel;
+蔴 > hemp;
+蓫 > dock;
+葒 > herb;
+萜 > c5h8;
+菾 > beet;
+莻 > late;
+莶 > vine;
+莖 > stem;
+荭 > herb;
+荛 > fuel;
+艭 > ship;
+艖 > raft;
+舩 > boat;
+臑 > soft;
+臉 > face;
+臁 > calf;
+膷 > soup;
+膴 > fine;
+膠 > glue;
+腶 > meat;
+腳 > foot;
+腒 > game;
+腍 > soft;
+脲 > urea;
+胠 > open;
+胏 > meat;
+胊 > yoke;
+肬 > wart;
+聾 > deaf;
+聼 > hear;
+聵 > deaf;
+耭 > plow;
+耠 > till;
+耎 > weak;
+翺 > soar;
+羭 > good;
+羜 > lamb;
+缋 > draw;
+纚 > long;
+纖 > fine;
+纕 > belt;
+纎 > fine;
+纍 > bind;
+纇 > knot;
+纆 > cord;
+繤 > edit;
+繢 > draw;
+繠 > hang;
+繘 > rope;
+繊 > fine;
+繅 > draw;
+繃 > bind;
+績 > spin;
+縳 > wrap;
+縯 > long;
+縢 > bind;
+縚 > band;
+縊 > hang;
+緯 > woof;
+緤 > cord;
+緘 > seal;
+緎 > seam;
+緄 > cord;
+綫 > line;
+綑 > coil;
+綍 > rope;
+綁 > bind;
+絏 > rope;
+紡 > spin;
+紆 > bend;
+糹 > silk;
+粋 > pure;
+籹 > cake;
+籙 > book;
+籏 > flag;
+籌 > chip;
+籊 > long;
+簽 > sign;
+簆 > reed;
+竅 > hole;
+竁 > bore;
+窾 > hole;
+窵 > deep;
+窯 > kiln;
+窭 > poor;
+窩 > nest;
+穽 > hole;
+穮 > weed;
+穡 > farm;
+穜 > rice;
+穐 > fall;
+穋 > rice;
+穀 > corn;
+稛 > bind;
+稑 > rice;
+秪 > only;
+秊 > year;
+禸 > rump;
+禱 > pray;
+祇 > only;
+礬 > alum;
+礧 > roll;
+礦 > mine;
+礡 > fill;
+磚 > tile;
+砿 > mine;
+矻 > toil;
+矙 > view;
+瞫 > look;
+盤 > tray;
+盝 > drip;
+盌 > bowl;
+皷 > drum;
+癶 > legs;
+癮 > rash;
+癢 > itch;
+癠 > sick;
+瘯 > itch;
+瘞 > bury;
+瘖 > dumb;
+瘂 > dumb;
+痯 > sick;
+痌 > ache;
+疧 > sick;
+疘 > anus;
+疐 > fall;
+畊 > plow;
+畇 > land;
+畄 > stop;
+甌 > bowl;
+瓘 > jade;
+瓊 > jade;
+獵 > hunt;
+獮 > hunt;
+獧 > rash;
+獋 > roar;
+獅 > lion;
+獃 > dull;
+猟 > hunt;
+猋 > wind;
+狘 > jump;
+狀 > form;
+犲 > wolf;
+犢 > calf;
+犂 > plow;
+牽 > drag;
+牴 > gore;
+牣 > fill;
+牆 > wall;
+爟 > fire;
+爖 > fire;
+爇 > burn;
+燨 > fire;
+熇 > bake;
+煚 > fire;
+煖 > warm;
+煑 > cook;
+煇 > weld;
+焮 > heat;
+焜 > fire;
+烝 > rise;
+烔 > heat;
+烏 > crow;
+灝 > vast;
+灘 > bank;
+瀦 > pond;
+濳 > hide;
+濔 > many;
+濊 > vast;
+濈 > many;
+澒 > vast;
+潤 > soft;
+潛 > hide;
+潑 > pour;
+潅 > pour;
+漰 > roar;
+漭 > vast;
+漚 > soak;
+漙 > dewy;
+漘 > bank;
+滾 > turn;
+滺 > flow;
+滮 > flow;
+滌 > wash;
+滉 > deep;
+滄 > blue;
+溼 > damp;
+湻 > pure;
+湲 > flow;
+湝 > flow;
+淰 > fish;
+淨 > pure;
+涴 > daub;
+涊 > dirt;
+泙 > roar;
+沬 > dusk;
+沕 > deep;
+汍 > weep;
+氝 > neon;
+氊 > felt;
+氄 > down;
+氂 > tail;
+歲 > year;
+歗 > roar;
+歊 > sigh;
+欐 > beam;
+櫳 > cage;
+櫚 > palm;
+檴 > tree;
+檍 > ilex;
+橦 > tree;
+橁 > tree;
+槹 > spar;
+槃 > tray;
+楰 > tree;
+楩 > tree;
+楟 > tree;
+楘 > band;
+椸 > rack;
+椑 > oval;
+棬 > bowl;
+棪 > tree;
+棑 > raft;
+梴 > long;
+桿 > pole;
+桹 > palm;
+桋 > tree;
+栻 > tree;
+柣 > sill;
+柂 > helm;
+枴 > cane;
+杝 > tree;
+杗 > beam;
+朿 > stab;
+朳 > tree;
+朘 > wane;
+曉 > dawn;
+晳 > fair;
+昻 > rise;
+昬 > dusk;
+昫 > warm;
+旹 > time;
+旴 > dawn;
+旜 > flag;
+旂 > flag;
+敿 > bind;
+敽 > bind;
+敻 > long;
+攢 > save;
+攅 > save;
+擫 > tuck;
+擣 > hull;
+撻 > flog;
+撥 > move;
+撝 > wave;
+摲 > raze;
+摦 > wide;
+搥 > beat;
+搘 > prop;
+搗 > hull;
+搒 > pole;
+搌 > bind;
+搆 > pull;
+掞 > easy;
+掗 > take;
+捘 > push;
+捄 > long;
+挐 > drag;
+拏 > take;
+抶 > beat;
+抆 > wipe;
+戶 > door;
+戁 > fear;
+懶 > lazy;
+懮 > calm;
+懟 > hate;
+懜 > dull;
+憰 > wily;
+憫 > pity;
+憙 > like;
+憘 > like;
+憇 > rest;
+慴 > fear;
+慂 > urge;
+愒 > rest;
+恇 > fear;
+怳 > wild;
+怭 > rude;
+怚 > dull;
+彡 > hair;
+彎 > bend;
+廼 > then;
+廳 > hall;
+廰 > hall;
+廧 > wall;
+廎 > room;
+幯 > wipe;
+幤 > evil;
+幟 > flag;
+幚 > help;
+幋 > belt;
+幇 > help;
+帟 > tent;
+嶸 > high;
+嶄 > high;
+嵳 > high;
+崢 > high;
+峯 > peak;
+峇 > cave;
+岧 > peak;
+屇 > cave;
+尲 > limp;
+尫 > lame;
+尪 > lame;
+尩 > weak;
+尣 > lame;
+將 > will;
+寠 > poor;
+寔 > real;
+孻 > last;
+嬾 > lazy;
+嬰 > baby;
+嬭 > milk;
+嬙 > lady;
+嫈 > lady;
+媊 > star;
+婞 > hate;
+婐 > maid;
+娸 > ugly;
+娵 > star;
+姽 > good;
+姮 > lady;
+姤 > mate;
+夛 > much;
+夐 > long;
+壙 > tomb;
+壒 > dust;
+壌 > soil;
+墻 > wall;
+墦 > tomb;
+塹 > moat;
+堲 > hate;
+堨 > daub;
+堋 > bury;
+埰 > fief;
+埈 > high;
+垜 > heap;
+坱 > dust;
+坋 > dust;
+囥 > hide;
+囓 > gnaw;
+囀 > sing;
+嚤 > slow;
+嚙 > bite;
+嚄 > roar;
+噳 > many;
+噝 > hiss;
+噉 > bite;
+嘽 > pant;
+嘯 > roar;
+嘮 > chat;
+嘨 > roar;
+嘜 > mark;
+嗰 > that;
+嗊 > sing;
+喬 > tall;
+喨 > wail;
+啟 > open;
+啞 > dumb;
+啙 > poor;
+啓 > open;
+啀 > gnaw;
+唶 > sigh;
+唛 > mark;
+咼 > chat;
+咷 > howl;
+咮 > beak;
+呙 > chat;
+呎 > foot;
+呇 > star;
+吿 > tell;
+吽 > ''om'';
+吪 > move;
+吋 > inch;
+厔 > stop;
+區 > area;
+匵 > case;
+勹 > wrap;
+剺 > mark;
+剝 > peel;
+剚 > stab;
+刾 > stab;
+刜 > chop;
+刓 > trim;
+凮 > wind;
+凪 > calm;
+凨 > wind;
+凧 > kite;
+凚 > cold;
+凖 > rule;
+凔 > cold;
+冐 > risk;
+冂 > wide;
+兌 > cash;
+儾 > slow;
+儽 > lazy;
+儺 > rich;
+儱 > rude;
+儜 > weak;
+儅 > stop;
+僾 > like;
+僨 > ruin;
+債 > debt;
+傭 > hire;
+偄 > weak;
+倽 > what;
+俴 > thin;
+俔 > like;
+侢 > load;
+侜 > lies;
+侚 > fast;
+侀 > form;
+佸 > meet;
+伹 > dull;
+伱 > thou;
+仸 > bent;
+亠 > head;
+亝 > even;
+亜 > asia;
+亖 > four;
+亅 > hook;
+乼 > rope;
+乭 > rock;
+丳 > spit;
+丠 > hill;
+䵷 > frog;
+䵨 > dark;
+䵒 > glue;
+䵑 > glue;
+䴸 > bran;
+䴝 > salt;
+䴜 > salt;
+䴃 > wren;
+䳼 > gull;
+䳦 > wren;
+䳣 > kite;
+䲭 > kite;
+䲒 > crab;
+䱴 > tuna;
+䱭 > tuna;
+䱎 > tuna;
+䱍 > tuna;
+䰩 > ugly;
+䰦 > ugly;
+䰤 > ugly;
+䰕 > mane;
+䰓 > hair;
+䰋 > hair;
+䰊 > hair;
+䰇 > mane;
+䯹 > hair;
+䯟 > bone;
+䯞 > bone;
+䯕 > bony;
+䮿 > lame;
+䮾 > huge;
+䭢 > rich;
+䭡 > food;
+䭓 > food;
+䭂 > damp;
+䭀 > food;
+䬞 > wind;
+䬏 > wind;
+䫶 > ugly;
+䫪 > ugly;
+䫢 > good;
+䫑 > good;
+䫏 > ugly;
+䫊 > chin;
+䫈 > ugly;
+䫂 > ugly;
+䪦 > loud;
+䪏 > weak;
+䪆 > soft;
+䨰 > rain;
+䨮 > snow;
+䨤 > rain;
+䨔 > hail;
+䨌 > hail;
+䧻 > dove;
+䧹 > hawk;
+䦰 > lots;
+䥫 > iron;
+䥔 > gold;
+䥒 > lead;
+䤮 > iron;
+䤡 > iron;
+䤑 > wine;
+䤊 > wine;
+䣽 > wine;
+䣨 > rich;
+䡳 > cart;
+䡀 > nude;
+䠭 > lame;
+䠗 > lame;
+䠏 > feet;
+䟨 > lame;
+䟂 > slow;
+䞿 > lame;
+䞩 > lame;
+䞝 > lame;
+䞆 > bone;
+䝘 > firm;
+䝕 > good;
+䛴 > joke;
+䚽 > news;
+䚸 > good;
+䚩 > high;
+䚢 > horn;
+䙤 > good;
+䙊 > arid;
+䗩 > toad;
+䗢 > flea;
+䖸 > moth;
+䖭 > grub;
+䖪 > grub;
+䖣 > flea;
+䕢 > weak;
+䔬 > hemp;
+䓾 > lush;
+䓸 > weed;
+䓲 > fine;
+䒺 > clay;
+䒭 > rank;
+䑬 > boat;
+䑞 > shun;
+䑏 > ugly;
+䑄 > rich;
+䐳 > fish;
+䐮 > skin;
+䐓 > soft;
+䐋 > sick;
+䏸 > fish;
+䏱 > body;
+䏢 > meat;
+䏎 > milk;
+䏊 > deaf;
+䎜 > aged;
+䍚 > vast;
+䌩 > fine;
+䌝 > silk;
+䌓 > many;
+䌒 > pure;
+䌌 > lace;
+䋼 > slow;
+䋖 > long;
+䊦 > food;
+䇩 > long;
+䆭 > cave;
+䆩 > dark;
+䆦 > deep;
+䄩 > bran;
+䂃 > dark;
+䁩 > fish;
+䁆 > eyes;
+䁅 > rage;
+䀾 > many;
+䀜 > down;
+䀋 > salt;
+䀀 > cups;
+㿙 > full;
+㿎 > sick;
+㾹 > lean;
+㾪 > lean;
+㾨 > weak;
+㾛 > ugly;
+㾊 > thin;
+㾉 > thin;
+㺥 > bark;
+㹒 > bull;
+㹏 > good;
+㹎 > bull;
+㹍 > bull;
+㸸 > calf;
+㸮 > bull;
+㸎 > warm;
+㷵 > fire;
+㷴 > fire;
+㷬 > fire;
+㷘 > coal;
+㷐 > fire;
+㷄 > fire;
+㶹 > fire;
+㶯 > fire;
+㶨 > fire;
+㶧 > warm;
+㵾 > cold;
+㵶 > full;
+㵩 > many;
+㵙 > pure;
+㵖 > damp;
+㴴 > sink;
+㴱 > deep;
+㴝 > many;
+㴛 > damp;
+㴗 > deep;
+㴀 > deep;
+㳤 > good;
+㲾 > rain;
+㲻 > sunk;
+㲴 > mind;
+㲟 > hair;
+㲜 > rugs;
+㲓 > fine;
+㱴 > sick;
+㱋 > high;
+㱇 > fear;
+㰫 > glad;
+㰡 > rash;
+㰟 > hope;
+㰙 > weak;
+㰐 > oval;
+㮺 > stem;
+㮤 > pine;
+㮒 > wood;
+㭽 > root;
+㬘 > arid;
+㬉 > warm;
+㬅 > long;
+㫲 > dark;
+㫱 > mild;
+㫥 > dark;
+㫎 > mark;
+㫄 > side;
+㩼 > many;
+逸 > flee;
+洞 > cave;
+刺 > stab;
+狀 > form;
+淋 > drip;
+㧮 > high;
+匿 > hide;
+㧨 > slow;
+梨 > pear;
+李 > plum;
+陸 > land;
+戮 > kill;
+紐 > knot;
+留 > stop;
+流 > flow;
+惡 > evil;
+領 > neck;
+零 > zero;
+鈴 > bell;
+怜 > pity;
+獵 > hunt;
+㦨 > lazy;
+㦢 > pure;
+連 > join;
+秊 > year;
+戀 > love;
+憐 > pity;
+年 > year;
+㦏 > weak;
+旅 > trip;
+良 > good;
+糧 > food;
+凉 > cool;
+沈 > sink;
+殺 > kill;
+葉 > leaf;
+㥬 > fear;
+㥩 > idle;
+㥡 > idle;
+拏 > take;
+讀 > read;
+陵 > hill;
+凌 > pure;
+肋 > ribs;
+漏 > leak;
+聾 > deaf;
+籠 > cage;
+鹿 > deer;
+錄 > copy;
+路 > road;
+冷 > cold;
+來 > come;
+狼 > wolf;
+浪 > wave;
+拉 > pull;
+藍 > blue;
+㤟 > fear;
+落 > fall;
+裸 > bare;
+懶 > lazy;
+喇 > horn;
+金 > gold;
+契 > deed;
+㤉 > fear;
+滑 > slip;
+車 > cart;
+更 > more;
+㣎 > fine;
+㢜 > vast;
+㢘 > pure;
+㢔 > many;
+㢎 > hide;
+㢋 > vast;
+㢃 > high;
+㢁 > vast;
+㡦 > mess;
+㠻 > rare;
+㠩 > vast;
+㠌 > high;
+㞱 > dusk;
+㞖 > this;
+㞄 > lame;
+㝿 > lame;
+㝡 > very;
+㝠 > dark;
+㝝 > deep;
+㝑 > side;
+㝐 > face;
+㝈 > twin;
+㝄 > pure;
+㜷 > milk;
+㜛 > soft;
+㜃 > from;
+㛦 > good;
+㚧 > agil;
+㚍 > much;
+㚋 > much;
+㚊 > much;
+㚂 > dust;
+㙪 > dark;
+㙠 > dust;
+㙒 > wild;
+㙂 > wall;
+㙁 > dust;
+㘨 > deep;
+㘐 > loud;
+㗈 > long;
+㕦 > loud;
+㔄 > thin;
+㓑 > cold;
+㓎 > cold;
+㓊 > cold;
+㒚 > firm;
+㒎 > evil;
+㑿 > long;
+㑵 > envy;
+㑚 > that;
+㑌 > weak;
+㑈 > rude;
+㐡 > weak;
+㐅 > five;
+一 > one;
+人 > man;
+我 > our;
+大 > big;
+上 > top;
+你 > you;
+可 > may;
+她 > she;
+天 > sky;
+而 > and;
+然 > yes;
+没 > not;
+日 > sun;
+彩 > hue;
+十 > ten;
+用 > use;
+眼 > eye;
+又 > and;
+见 > see;
+老 > old;
+两 > two;
+外 > out;
+与 > and;
+法 > law;
+目 > eye;
+二 > two;
+点 > dot;
+盜 > rob;
+其 > his;
+盗 > rob;
+儿 > son;
+新 > new;
+床 > bed;
+皆 > all;
+海 > sea;
+少 > few;
+帽 > hat;
+叫 > cry;
+死 > die;
+放 > put;
+今 > now;
+赤 > red;
+畢 > end;
+战 > war;
+購 > buy;
+瓶 > jug;
+请 > ask;
+交 > mix;
+吃 > eat;
+買 > buy;
+非 > not;
+夫 > man;
+红 > red;
+运 > run;
+寥 > few;
+网 > net;
+飞 > fly;
+观 > see;
+猿 > ape;
+猫 > cat;
+猪 > pig;
+坐 > sit;
+謂 > say;
+狗 > dog;
+請 > ask;
+终 > end;
+切 > cut;
+犬 > dog;
+誤 > err;
+尔 > you;
+热 > hot;
+古 > old;
+牛 > cow;
+牀 > bed;
+觀 > see;
+低 > low;
+観 > see;
+熱 > hot;
+仍 > yet;
+見 > see;
+脚 > leg;
+云 > say;
+买 > buy;
+奈 > but;
+排 > row;
+壯 > big;
+壞 > bad;
+壊 > bad;
+湾 > bay;
+墨 > ink;
+否 > not;
+食 > eat;
+術 > art;
+濘 > mud;
+濕 > wet;
+露 > dew;
+齢 > age;
+齡 > age;
+蝙 > bat;
+蝋 > wax;
+鼠 > rat;
+跑 > run;
+蜂 > bee;
+艺 > art;
+點 > dot;
+摇 > wag;
+顶 > top;
+湿 > wet;
+端 > end;
+旧 > old;
+油 > oil;
+藝 > art;
+毕 > end;
+藉 > mat;
+液 > sap;
+薯 > yam;
+耳 > ear;
+喋 > nag;
+啜 > sip;
+問 > ask;
+泥 > mud;
+泣 > cry;
+哀 > sad;
+冰 > ice;
+误 > err;
+凡 > all;
+汝 > you;
+谓 > say;
+杯 > cup;
+氷 > ice;
+氣 > air;
+気 > air;
+萌 > bud;
+购 > buy;
+途 > way;
+摆 > put;
+典 > law;
+茶 > tea;
+卵 > egg;
+播 > sow;
+臂 > arm;
+欷 > sob;
+匚 > box;
+摩 > rub;
+餐 > eat;
+冠 > cap;
+芽 > bud;
+芸 > rue;
+劣 > bad;
+剽 > rob;
+割 > cut;
+缘 > hem;
+俩 > two;
+壮 > big;
+忧 > sad;
+舊 > old;
+與 > and;
+龄 > age;
+惨 > sad;
+腾 > fly;
+染 > dye;
+膿 > pus;
+榻 > cot;
+円 > yen;
+兩 > two;
+兒 > son;
+腐 > rot;
+児 > son;
+脂 > fat;
+飛 > fly;
+肥 > fat;
+援 > aid;
+胖 > fat;
+哼 > hum;
+偵 > spy;
+顛 > top;
+顎 > jaw;
+倶 > all;
+頂 > top;
+罐 > jar;
+捷 > win;
+霧 > fog;
+乾 > dry;
+俱 > all;
+赢 > win;
+缝 > sew;
+抚 > pat;
+挖 > dig;
+曝 > sun;
+雾 > fog;
+暑 > hot;
+颠 > top;
+扇 > fan;
+曰 > say;
+乞 > beg;
+赌 > bet;
+縫 > sew;
+両 > two;
+欠 > owe;
+氛 > gas;
+縁 > hem;
+締 > tie;
+弗 > not;
+網 > net;
+斬 > cut;
+絶 > cut;
+辟 > law;
+終 > end;
+襄 > aid;
+炒 > fry;
+锡 > tin;
+紅 > red;
+撫 > pat;
+鑵 > jar;
+坑 > pit;
+搖 > wag;
+揺 > wag;
+撕 > rip;
+揉 > rub;
+磕 > hit;
+斩 > cut;
+掠 > rob;
+掘 > dig;
+谎 > lie;
+銜 > bit;
+赋 > tax;
+囊 > bag;
+戰 > war;
+戦 > war;
+憂 > sad;
+搂 > hug;
+慘 > sad;
+侦 > spy;
+壶 > jar;
+弓 > bow;
+蜡 > wax;
+庐 > hut;
+歹 > bad;
+惟 > but;
+衔 > bit;
+坎 > pit;
+兹 > now;
+毯 > rug;
+钥 > key;
+斧 > axe;
+赎 > buy;
+彤 > red;
+燥 > dry;
+佬 > man;
+瞅 > see;
+蹦 > hop;
+霄 > sky;
+翩 > fly;
+暨 > and;
+迢 > far;
+缔 > tie;
+褚 > bag;
+蚂 > ant;
+揍 > hit;
+擂 > rub;
+锄 > hoe;
+捅 > jab;
+鞠 > bow;
+骰 > die;
+踉 > hop;
+桨 > oar;
+拌 > mix;
+狸 > fox;
+瀛 > sea;
+噩 > bad;
+蓓 > bud;
+窖 > pit;
+掺 > mix;
+猖 > mad;
+趾 > toe;
+蘸 > dip;
+淤 > mud;
+琦 > gem;
+脓 > pus;
+畸 > odd;
+盎 > cup;
+茗 > tea;
+胥 > all;
+怆 > sad;
+泞 > mud;
+剐 > cut;
+舀 > dip;
+坯 > dam;
+堰 > dam;
+幺 > one;
+牯 > cow;
+弼 > aid;
+鳝 > eel;
+斫 > cut;
+怩 > shy;
+溥 > big;
+橹 > oar;
+黠 > sly;
+绌 > sew;
+剜 > cut;
+罔 > net;
+颚 > jaw;
+唿 > sad;
+耨 > hoe;
+膘 > fat;
+镳 > bit;
+腴 > fat;
+狯 > sly;
+镢 > hoe;
+裨 > aid;
+锛 > adz;
+囵 > all;
+邈 > far;
+殒 > die;
+啖 > eat;
+麋 > elk;
+鳍 > fin;
+刍 > mow;
+侗 > big;
+楫 > oar;
+猡 > pig;
+柞 > oak;
+佥 > all;
+鳗 > eel;
+鞣 > tan;
+棹 > oar;
+陂 > dam;
+殁 > die;
+觚 > jug;
+臬 > law;
+猃 > dog;
+寤 > few;
+僖 > joy;
+犭 > dog;
+羝 > ram;
+貔 > fox;
+觌 > see;
+槠 > oak;
+溻 > wet;
+芟 > mow;
+俣 > big;
+瓿 > jar;
+逖 > far;
+哜 > sip;
+隰 > low;
+鲡 > eel;
+毹 > rug;
+殪 > die;
+缏 > hem;
+饣 > eat;
+埤 > add;
+坭 > mud;
+龥 > beg;
+齣 > act;
+鼡 > rat;
+黕 > red;
+鹋 > emu;
+鴞 > owl;
+鲕 > roe;
+鱺 > eel;
+鱔 > eel;
+鱓 > eel;
+鰻 > eel;
+鰭 > fin;
+鮞 > roe;
+鬷 > pot;
+鬴 > pot;
+鬆 > lax;
+髢 > wig;
+骽 > leg;
+騵 > bay;
+騳 > run;
+騰 > fly;
+騢 > bay;
+騂 > red;
+駉 > big;
+餔 > eat;
+飠 > eat;
+顚 > top;
+頳 > red;
+頫 > bow;
+韖 > tan;
+韎 > red;
+阬 > pit;
+鑰 > key;
+鑯 > awl;
+鑣 > bit;
+鐏 > cap;
+鏚 > axe;
+鎡 > hoe;
+鍾 > cup;
+錫 > tin;
+錤 > hoe;
+錛 > adz;
+錔 > cap;
+鋤 > hoe;
+鉏 > hoe;
+遉 > spy;
+轑 > rut;
+踶 > paw;
+跦 > hop;
+贖 > buy;
+贏 > win;
+賭 > bet;
+賦 > tax;
+貜 > ape;
+貓 > cat;
+豼 > fox;
+豷 > man;
+豬 > pig;
+豨 > pig;
+豝 > sow;
+謊 > lie;
+覿 > see;
+覩 > see;
+覌 > see;
+裀 > mat;
+衜 > way;
+蠮 > bee;
+蠟 > wax;
+螞 > ant;
+螘 > ant;
+蝯 > ape;
+蜑 > egg;
+藷 > yam;
+蕷 > yam;
+蕓 > rue;
+蔋 > dry;
+蓺 > art;
+蓣 > yam;
+蒴 > pod;
+葄 > mat;
+萠 > bud;
+茲 > now;
+芻 > mow;
+艪 > oar;
+臕 > fat;
+臇 > fat;
+膟 > fat;
+膋 > fat;
+膃 > fat;
+肭 > fat;
+肀 > pen;
+耡 > hoe;
+翾 > fly;
+翃 > fly;
+羘 > ram;
+羇 > inn;
+罻 > net;
+罦 > net;
+罟 > net;
+罆 > jar;
+缾 > jar;
+緶 > hem;
+緵 > net;
+緰 > net;
+緣 > hem;
+絕 > cut;
+絀 > sew;
+紮 > tie;
+籥 > key;
+箑 > fan;
+窞 > pit;
+窌 > pit;
+窊 > pit;
+窅 > far;
+砲 > gun;
+瞶 > dim;
+睊 > see;
+眛 > dim;
+癙 > ill;
+瘨 > mad;
+瘏 > ill;
+痗 > ill;
+甒 > jar;
+甇 > jar;
+甁 > jug;
+甀 > jar;
+瓻 > jar;
+瓀 > gem;
+璅 > gem;
+玆 > now;
+玀 > pig;
+獫 > dog;
+獪 > sly;
+獢 > dog;
+猭 > ape;
+猨 > ape;
+牼 > man;
+爾 > you;
+焞 > dim;
+灋 > law;
+澝 > mud;
+潚 > gay;
+沒 > not;
+毧 > fur;
+殣 > die;
+殞 > die;
+歿 > die;
+歠 > sip;
+櫧 > oak;
+櫓 > oar;
+櫂 > oar;
+檝 > oar;
+橧 > hut;
+樠 > elm;
+槳 > oar;
+楎 > peg;
+椷 > box;
+棓 > hit;
+梶 > oar;
+梩 > hod;
+桮 > cup;
+柸 > cup;
+杅 > tub;
+曁 > and;
+晞 > dry;
+昄 > big;
+斸 > cut;
+斲 > cut;
+斨 > axe;
+攵 > rap;
+攴 > rap;
+擺 > put;
+摟 > hug;
+搰 > dig;
+搨 > rub;
+搧 > fan;
+搃 > all;
+挼 > rub;
+慱 > sad;
+愴 > sad;
+惙 > sad;
+弨 > bow;
+弤 > bow;
+廬 > hut;
+帣 > bag;
+尓 > you;
+尒 > you;
+寙 > bad;
+嬛 > apt;
+妵 > man;
+妳 > you;
+奭 > red;
+奜 > big;
+奌 > dot;
+壺 > jar;
+壷 > jar;
+墫 > cup;
+堌 > dam;
+埶 > art;
+埧 > dam;
+圇 > all;
+嚢 > bag;
+嚌 > sip;
+喫 > eat;
+啗 > eat;
+匸 > box;
+劚 > cut;
+剸 > cut;
+剮 > cut;
+剉 > cut;
+刲 > cut;
+凣 > all;
+凢 > all;
+凃 > mud;
+冫 > ice;
+冞 > far;
+僉 > all;
+偯 > sob;
+倞 > far;
+俁 > big;
+侊 > big;
+佽 > aid;
+亓 > his;
+亁 > dry;
+乢 > lid;
+丶 > dot;
+䳠 > owl;
+䲊 > fry;
+䰠 > god;
+䪞 > bad;
+䪚 > hot;
+䩆 > old;
+䨿 > bad;
+䢛 > far;
+䢓 > bed;
+䡜 > car;
+䝆 > hog;
+䜣 > joy;
+䗶 > wax;
+䗬 > bee;
+䗦 > bee;
+䒬 > not;
+䑋 > fat;
+䑊 > fat;
+䑂 > fat;
+䐾 > fat;
+䐵 > fat;
+䐪 > fat;
+䐩 > fat;
+䐟 > fat;
+䐏 > fat;
+䐎 > fat;
+䐉 > fat;
+䏻 > can;
+䏴 > dim;
+䏥 > dry;
+䏜 > fat;
+䎋 > fly;
+䍝 > net;
+䍕 > net;
+䍒 > net;
+䌢 > raw;
+䋬 > rug;
+䋞 > web;
+䋄 > web;
+䊑 > pay;
+䉾 > bad;
+䆾 > big;
+䆱 > big;
+䁮 > sad;
+㾑 > fat;
+㺋 > pig;
+㹅 > all;
+㸁 > dry;
+㷪 > fat;
+㷣 > red;
+㴼 > wet;
+㴷 > wet;
+㳴 > mud;
+㲭 > rug;
+㲖 > fur;
+㮎 > cup;
+㮈 > but;
+㫓 > air;
+猪 > pig;
+見 > see;
+切 > cut;
+茶 > tea;
+泥 > mud;
+㦧 > sad;
+劣 > bad;
+廬 > hut;
+㦀 > joy;
+兩 > two;
+掠 > rob;
+㥢 > bad;
+㥑 > sad;
+露 > dew;
+老 > old;
+櫓 > oar;
+蠟 > wax;
+卵 > egg;
+㤚 > joy;
+奈 > but;
+㤈 > sad;
+㢠 > far;
+㜸 > sin;
+㚚 > big;
+㘔 > eat;
+㗔 > joy;
+㕅 > big;
+㓉 > ice;
+㒳 > two;
+㒪 > tin;
+㑾 > joy;
+㐺 > all;
+不 > no;
+为 > do;
+之 > ''s;
+徃 > go;
+往 > go;
+于 > in;
+行 > go;
+如 > if;
+弄 > do;
+或 > or;
+它 > it;
+若 > if;
+爲 > do;
+咱 > us;
+為 > do;
+适 > go;
+倘 > if;
+於 > in;
+哟 > ah;
+嗨 > hi;
+彝 > yi;
+傥 > if;
+锱 > oz;
+徂 > go;
+钔 > md;
+伲 > we;
+镤 > pa;
+镎 > np;
+铹 > lr;
+夂 > go;
+锿 > es;
+锝 > tc;
+锘 > no;
+锕 > ac;
+锊 > oz;
+鎝 > tc;
+錼 > np;
+錙 > oz;
+鋝 > oz;
+迬 > go;
+繄 > be;
+糎 > mm;
+粨 > hm;
+粍 > mm;
+粁 > km;
+籵 > dm;
+祂 > he;
+牠 > it;
+朁 > if;
+攲 > up;
+扵 > in;
+彞 > yi;
+彜 > yi;
+彛 > yi;
+廴 > go;
+嗈 > oh;
+喲 > ah;
+喤 > ah;
+咁 > so;
+兡 > hg;
+兞 > mg;
+兝 > dg;
+儻 > if;
+偺 > us;
+佢 > he;
+行 > go;
+若 > if;
+不 > no;
+弄 > do;
+余 > i;
+吾 > i;
+予 > i;
+侬 > i;
+麿 > i;
+樶 > c;
+儂 > i;
+。 <> '.';
+:: fullwidth-halfwidth ();
diff --git a/src/com/ibm/icu/impl/data/Transliterator_Han_Latin_EDICT.txt b/src/com/ibm/icu/impl/data/Transliterator_Han_Latin_EDICT.txt
new file mode 100644
index 0000000..38c0026
--- /dev/null
+++ b/src/com/ibm/icu/impl/data/Transliterator_Han_Latin_EDICT.txt
@@ -0,0 +1,116016 @@
+﻿#--------------------------------------------------------------------
+# Copyright (c) 1999-2004, International Business Machines
+# Corporation and others. All Rights Reserved.
+#--------------------------------------------------------------------
+
+# Convert CJK characters
+# Note: adds space between them and letters.
+:: (halfwidth-fullwidth);
+:: (katakana-latin);
+:: (hiragana-latin);
+
+$terminalPunct = [\.\,\:\;\?\!．，：？！。、；[:Pe:][:Pf:]];
+$terminalPunct { } [:L:] > ' ';
+[:L:] { } [[:Han:][:Ps:][:Pi:]]> ' ';
+
+$kata = [[ﾞﾟｰー][:katakana:]];
+$kata { } [[:L:]-$kata]> ' ';
+[[:L:]-$kata] { } $kata > ' ';
+
+[:hiragana:] { } [[:L:]-[:hiragana:]] > ' ';
+[[:L:]-[:hiragana:]] { } [:hiragana:]> ' ';
+
+# Start RAW data for converting CJK characters
+法学系大学院共通入学試験 < hougakukeidaigakuinkyoutsuunyuugakushiken\ ;
+米国大学入学共通試験 < beikokudaigakunyuugakukyoutsuushiken\ ;
+朝鮮民主主義人民共和国 < chousenminshushugijinminkyouwakoku\ ;
+自動車損害賠償責任保険 < jidoushasongaibaishousekininhoken\ ;
+臨兵闘者皆陣裂在前 < rinpyoutoushakaijinretsuzaizen\ ;
+日本労働組合総評議会 < nihonroudoukumiaisouhyougikai\ ;
+太平洋機械翻訳協会 < taiheiyoukikaihon''yakukyoukai\ ;
+勤労者財産形成促進 < kinroushazaisankeiseisokushin\ ;
+超超大規模集積回路 < chouchoudaikiboshuusekikairo\ ;
+経済協力開発機構 < keizaikyouryokukaihatsukikou\ ;
+北海道開発庁長官 < hokkaidoukaihatsuchouchoukan\ ;
+拘束名簿式比例代表制 < kousokumeibohireidaihyousei\ ;
+知識集約型産業 < chishikishuuyakugatasangyou\ ;
+外国人登録証明書 < gaikokujintourokushoumeisho\ ;
+太平洋安全保障条約 < taiheiyouanzenhoshoujouyaku\ ;
+操縦席音声記録装置 < soujuusekionseikirokusouchi\ ;
+戦略兵器削減条約 < senryakuheikisakugenjouyaku\ ;
+航空宇宙技術研究所 < koukuuuchuugijutsukenkyuujo\ ;
+国際機械翻訳協会 < kokusaikikaihon''yakukyoukai\ ;
+自律神経失調症 < jiritsushinkeishitchoushou\ ;
+国際電気通信連合 < kokusaidenkitsuushinrengou\ ;
+沖縄開発庁長官 < okinawakaihatsuchouchoukan\ ;
+海外経済協力基金 < kaigaikeizaikyouryokukikin\ ;
+日米安全保障条約 < nichibeianzenhoshoujouyaku\ ;
+浮動小数点演算機構 < fudoushousuuten''enzankikou\ ;
+現金自動預金支払機 < genkinjidouyokinshiharaiki\ ;
+弁証法的唯物論 < benshouhoutekiyuibutsuron\ ;
+戦没者追悼記念日 < senbotsushatsuitoukinenbi\ ;
+国際協力事業団 < kokusaikyouryokujigyoudan\ ;
+戦術航空統制本部 < senjutsukoukuutouseihonbu\ ;
+工業高等専門学校 < kougyoukoutousenmongakkou\ ;
+北大西洋条約機構 < kitataiseiyoujouyakukikou\ ;
+超大規模集積回路 < choudaikiboshuusekikairo\ ;
+宗教的独立性 < shuukyoutekidokuritsusei\ ;
+化学兵器禁止条約 < kagakuheikikinshijouyaku\ ;
+関税貿易一般協定 < kanzeibouekiippankyoutei\ ;
+主辞駆動句構造文法 < shujikudoukukouzoubunpou\ ;
+直接照準射撃 < chokusetsushoujunshageki\ ;
+総合的品質管理 < sougoutekihinshitsukanri\ ;
+疑似直接目的語 < gijichokusetsumokutekigo\ ;
+在留期間更新許可 < zairyuukikankoushinkyoka\ ;
+特殊取扱郵便 < tokushutoriatsukaiyuubin\ ;
+乾湿球湿度計 < kanshitsukyuushitsudokei\ ;
+万国著作権条約 < bankokuchosakukenjouyaku\ ;
+万国国際音標文字 < bankokukokusaionpyoumoji\ ;
+言語学的実在論 < gengogakutekijitsuzairon\ ;
+冠状動脈血栓症 < kanjoudoumyakukessenshou\ ;
+科学技術庁長官 < kagakugijutsuchouchoukan\ ;
+海洋投棄規制条約 < kaiyoutoukikiseijouyaku\ ;
+圧密降伏応力 < atsumitsukoufukuouryoku\ ;
+公認卸売業者 < kounin''oroshiurigyousha\ ;
+赤血球沈降速度 < sekkekkyuuchinkousokudo\ ;
+石油輸出国機構 < sekiyuyushutsukokukikou\ ;
+公共職業安定所 < koukyoushokugyouanteijo\ ;
+戦術航空統制班 < senjutsukoukuutouseihan\ ;
+野生動物保護団体 < yaseidoubutsuhogodantai\ ;
+自動列車制御装置 < jidouresshaseigyosouchi\ ;
+自動金銭出入機 < jidoukinsenshutsunyuuki\ ;
+天然資源保護論者 < ten''nenshigenhogoronsha\ ;
+地震雷火事親父 < jishinkaminarikajioyaji\ ;
+非常事態対処計画 < hijoujitaitaishokeikaku\ ;
+核分裂生成物 < kakubunretsuseiseibutsu\ ;
+多肢選択式試問 < tashisentakushikishimon\ ;
+新関西国際空港 < shinkansaikokusaikuukou\ ;
+職業別電話帳 < shokugyoubetsudenwachou\ ;
+自動列車停止装置 < jidouresshateishisouchi\ ;
+言語学的観念論 < gengogakutekikan''nenron\ ;
+後発発展途上国 < kouhatsuhattentojoukoku\ ;
+抹消登録証明書 < mashoutourokushoumeisho\ ;
+経済企画庁長官 < keizaikikakuchouchoukan\ ;
+再生不良性貧血 < saiseifuryouseihinketsu\ ;
+火力支援調整線 < karyokushienchouseisen\ ;
+入学共通試験 < nyuugakukyoutsuushiken\ ;
+破壊活動防止法 < hakaikatsudouboushihou\ ;
+室内管弦楽団 < shitsunaikangengakudan\ ;
+東京株式市場 < toukyoukabushikishijou\ ;
+確率密度関数 < kakuritsumitsudokansuu\ ;
+原子力発電所 < genshiryokuhatsudensho\ ;
+代表取締役 < daihyoutorishimariyaku\ ;
+取扱説明書 < toriatsukaisetsumeisho\ ;
+赤十字国際委員会 < sekijuujikokusaiiinkai\ ;
+勧善懲悪小説 < kanzenchouakushousetsu\ ;
+国際返信切手券 < kokusaihenshinkitteken\ ;
+談話表示構造理論 < danwahyoujikouzouriron\ ;
+共産党中央委員会 < kyousantouchuuouiinkai\ ;
+杭周面摩擦力 < kuishuumenmasatsuryoku\ ;
+中華人民共和国 < chuukajinminkyouwakoku\ ;
+東海道五十三次 < toukaidougojuusantsugi\ ;
+宇宙開発事業団 < uchuukaihatsujigyoudan\ ;
+民主党全国委員会 < minshutouzenkokuiinkai\ ;
+英語基礎能力試験 < eigokisonouryokushiken\ ;
+間接照準射撃 < kansetsushoujunshageki\ ;
+三軸圧縮試験機 < sanjikuasshukushikenki\ ;
+視聴者参加番組 < shichoushasankabangumi\ ;
+州際通商委員会 < shuusaitsuushouiinkai\ ;
+新規株式公開 < shinkikabushikikoukai\ ;
+周波数変換装置 < shuuhasuuhenkansouchi\ ;
+学習指導要領 < gakushuushidouyouryou\ ;
+慢性疲労症候群 < manseihiroushoukougun\ ;
+公害対策基本法 < kougaitaisakukihonhou\ ;
+早発性痴呆症 < souhatsuseichihoushou\ ;
+経済団体連合会 < keizaidantairengoukai\ ;
+戦闘電子戦情報 < sentoudenshisenjouhou\ ;
+信用協同組合 < shin''youkyoudoukumiai\ ;
+現金自動支払機 < genkinjidoushiharaiki\ ;
+弦楽四重奏曲 < gengakushijuusoukyoku\ ;
+演繹的説明法 < en''ekitekisetsumeihou\ ;
+最高経営責任者 < saikoukeieisekininsha\ ;
+深在性真菌症 < shinzaiseishinkinshou\ ;
+装甲人員運搬車 < soukoujin''in''unpansha\ ;
+一般命令演算機構 < ippanmeireienzankikou\ ;
+統率束縛理論 < tousotsusokubakuriron\ ;
+本態性高血圧 < hontaiseikouketsuatsu\ ;
+日本語能力試験 < nihongonouryokushiken\ ;
+陸上端局装置 < rikujoutankyokusouchi\ ;
+音節主音的子音 < onsetsushuontekishiin\ ;
+日米貿易摩擦 < nichibeibouekimasatsu\ ;
+証券取引委員会 < shoukentorihikiiinkai\ ;
+通商産業大臣 < tsuushousangyoudaijin\ ;
+最高財務責任者 < saikouzaimusekininsha\ ;
+短距離離着陸機 < tankyoririchakurikuki\ ;
+通商航海条約 < tsuushoukoukaijouyaku\ ;
+機能単一化文法 < kinoutan''itsukabunpou\ ;
+知能情報研究部 < chinoujouhoukenkyuubu\ ;
+加圧水型原子炉 < kaatsusuigatagenshiro\ ;
+環太平洋地震帯 < kantaiheiyoujishintai\ ;
+軟判定識別器 < nanhanteishikibetsuki\ ;
+国立博物館 < kokuritsuhakubutsukan\ ;
+空想科学小説 < kuusoukagakushousetsu\ ;
+人種差別主義者 < jinshusabetsushugisha\ ;
+新入社員教育 < shin''nyuushainkyouiku\ ;
+推奨文献目録 < suishoubunkenmokuroku\ ;
+集中治療室 < shuuchuuchiryoushitsu\ ;
+徳川三代家光 < tokugawasandaiiemitsu\ ;
+自然環境保全法 < shizenkankyouhozenhou\ ;
+生活協同組合 < seikatsukyoudoukumiai\ ;
+環太平洋造山帯 < kantaiheiyouzouzantai\ ;
+行動主義心理学 < koudoushugishinrigaku\ ;
+料金別納郵便 < ryoukinbetsunouyuubin\ ;
+中距離核戦力 < chuukyorikakusenryoku\ ;
+第一次世界大戦 < daiichijisekaitaisen\ ;
+農業協同組合 < nougyoukyoudoukumiai\ ;
+大陸横断鉄道 < tairikuoudantetsudou\ ;
+直轄植民地 < chokkatsushokuminchi\ ;
+変動為替相場制 < hendoukawasesoubasei\ ;
+木造建築物 < mokuzoukenchikubutsu\ ;
+高分子吸収体 < koubunshikyuushuutai\ ;
+歯内療法専門医 < shikaryouhousenmon''i\ ;
+日米構造協議 < nichibeikouzoukyougi\ ;
+機械翻訳協会 < kikaihon''yakukyoukai\ ;
+植物性蛋白 < shokubutsuseitanpaku\ ;
+信用取引先 < shin''youtorihikisaki\ ;
+中央行政官庁 < chuuougyouseikanchou\ ;
+北大西洋条約 < kitataiseiyoujouyaku\ ;
+常務取締役 < joumutorishimariyaku\ ;
+環太平洋火山帯 < kantaiheiyoukazantai\ ;
+電気通信大学 < denkitsuushindaigaku\ ;
+芳香族化合物 < houkouzokukagoubutsu\ ;
+七星天道虫 < nanahoshitentoumushi\ ;
+内閣官房長官 < naikakukanbouchoukan\ ;
+実情調査委員会 < jitsujouchousaiinkai\ ;
+弦楽五重奏曲 < gengakugojuusoukyoku\ ;
+民族大虐殺 < minzokudaigyakusatsu\ ;
+科学基礎研究所 < kagakukisokenkyuusho\ ;
+越年生植物 < etsunenseishokubutsu\ ;
+変形生成統語論 < henkeiseiseitougoron\ ;
+構成素統御 < kouseisokouzoutougyo\ ;
+宇宙開発計画 < uchuukaihatsukeikaku\ ;
+米連邦航空局 < beirenpoukuukoukyoku\ ;
+大規模集積回路 < daikiboshuusekikairo\ ;
+南無妙法蓮華経 < namumyouhourengekyou\ ;
+外国人登録法 < gaikokujintourokuhou\ ;
+共産党政治局 < kyousantouseijikyoku\ ;
+未確認飛行物体 < mikakuninhikoubuttai\ ;
+一酸化炭素中毒 < issankatansochuudoku\ ;
+束縛継承原理 < sokubakukeishougenri\ ;
+直接目的語 < chokusetsumokutekigo\ ;
+専務取締役 < senmutorishimariyaku\ ;
+一年生植物 < ichinenseishokubutsu\ ;
+麻薬取締班 < mayakutorishimarihan\ ;
+三軸圧縮試験 < sanjikuasshukushiken\ ;
+麻薬取締法 < mayakutorishimarihou\ ;
+空軍連絡将校 < kuugunrenrakushoukou\ ;
+卸売物価指数 < oroshiuribukkashisuu\ ;
+写真判定決勝 < shashinhanteikesshou\ ;
+前立腺肥大症 < zenritsusenhidaishou\ ;
+公正取引委員会 < kouseitorihikiiinkai\ ;
+説明的妥当性 < setsumeitekidatousei\ ;
+中心的役割 < chuushintekiyakuwari\ ;
+税引前当期利益 < zeibikimaetoukirieki\ ;
+連邦取引委員会 < renpoutorihikiiinkai\ ;
+共通一次試験 < kyoutsuuichijishiken\ ;
+第三種郵便物 < daisanshuyuubinbutsu\ ;
+友好通商航海 < yuukoutsuushoukoukai\ ;
+無担保貸付金 < mutanpokashitsukekin\ ;
+流行性耳下腺炎 < ryuukouseijikasen''en\ ;
+必要十分条件 < hitsuyoujuubunjouken\ ;
+精神的指導者 < seishintekishidousha\ ;
+原子物理学者 < genshibutsurigakusha\ ;
+精密機械工業 < seimitsukikaikougyou\ ;
+再入国許可書 < sainyuukokukyoukasho\ ;
+定形外郵便物 < teikeigaiyuubinbutsu\ ;
+超並列計算機 < chouheiretsukeisanki\ ;
+中枢神経系統 < chuusuushinkeikeitou\ ;
+伝送制御拡張 < densouseigyokakuchou\ ;
+収縮期血圧 < shuushukukiketsuatsu\ ;
+日中友好協会 < nitchuuyuukoukyoukai\ ;
+総理府総務長官 < sourifusoumuchoukan\ ;
+国民金融公庫 < kokuminkin''yuukouko\ ;
+単子葉植物 < tanshiyoushokubutsu\ ;
+口辺単純疱疹 < kouhentanjunhoushin\ ;
+連立方程式 < renritsuhouteishiki\ ;
+集団安全保障 < shuudan''anzenhoshou\ ;
+名神高速道路 < meishinkousokudouro\ ;
+放射性降下物 < houshaseikoukabutsu\ ;
+環境保護主義者 < kankyouhogoshugisha\ ;
+劣性遺伝形質 < resseiidenkeishitsu\ ;
+日本陸上自衛隊 < nihonrikujoujieitai\ ;
+通商産業省 < tsuushousangyoushou\ ;
+初期選択項目 < shokisentakukoumoku\ ;
+全国津津浦浦 < zenkokutsutsuuraura\ ;
+信任統治制度 < shin''nintouchiseido\ ;
+主要部終端型 < shuyoubushuutangata\ ;
+合成化学工業 < gouseikagakukougyou\ ;
+原子力発電 < genshiryokuhatsuden\ ;
+国民体育大会 < kokumintaiikutaikai\ ;
+国際電信電話 < kokusaidenshindenwa\ ;
+電子資金振替 < denshishikinfurikae\ ;
+直接民主制 < chokusetsuminshusei\ ;
+進出制限線 < shinshutsuseigensen\ ;
+株式取引所 < kabushikitorihikijo\ ;
+弦楽四重奏団 < gengakushijuusoudan\ ;
+航空交通管制 < koukuukoutsuukansei\ ;
+財政均衡計画 < zaiseikinkoukeikaku\ ;
+直接教授法 < chokusetsukyoujuhou\ ;
+日本規格協会 < nipponkikakukyoukai\ ;
+動物愛護協会 < doubutsuaigokyoukai\ ;
+双子葉植物 < soushiyoushokubutsu\ ;
+米航空宇宙局 < beikoukuuuchuukyoku\ ;
+日本学術会議 < nihongakujutsukaigi\ ;
+芥川龍之介 < akutagawaryuunosuke\ ;
+貸借対照表 < taishakutaishouhyou\ ;
+公定割引率 < kouteiwaribikiritsu\ ;
+人間環境宣言 < ningenkankyousengen\ ;
+強迫神経症 < kyouhakushinkeishou\ ;
+家宅捜索令状 < katakusousakureijou\ ;
+商業信用状 < shougyoushin''youjou\ ;
+安土桃山時代 < azuchimomoyamajidai\ ;
+生理的食塩水 < seiritekishokuensui\ ;
+環太平洋諸国 < kantaiheiyoushokoku\ ;
+火力支援計画 < karyokushienkeikaku\ ;
+輸出信用状 < yushutsushin''youjou\ ;
+金地金本位制度 < kinjiganehon''iseido\ ;
+著作権所有者 < chosakukenshoyuusha\ ;
+数学的帰納法 < suugakutekikinouhou\ ;
+旧新約全書 < kyuushin''yakuzensho\ ;
+日本国特許庁 < nihonkokutokkyochou\ ;
+出入国管理 < shutsunyuukokukanri\ ;
+食糧管理制度 < shokuryoukanriseido\ ;
+生物化学兵器 < seibutsukagakuheiki\ ;
+障害物競走 < shougaibutsukyousou\ ;
+昼光色電球 < chuukoushokudenkyuu\ ;
+長日植物 < choujitsushokubutsu\ ;
+女権拡張論者 < jokenkakuchouronsha\ ;
+重要無形文化財 < juuyoumukeibunkazai\ ;
+経済社会理事会 < keizaishakairijikai\ ;
+統合幕僚会議 < tougoubakuryoukaigi\ ;
+律令格式 < ritsuryoukyakushiki\ ;
+天然色写真 < ten''nenshokushashin\ ;
+射撃禁止地域 < shagekikinshichiiki\ ;
+食肉植物 < shokunikushokubutsu\ ;
+主語助動詞倒置 < shugojodoushitouchi\ ;
+特命全権公使 < tokumeizenkenkoushi\ ;
+水力発電所 < suiryokuhatsudensho\ ;
+素出力条件 < soshutsuryokujouken\ ;
+国民総支出 < kokuminsoushishutsu\ ;
+植物性脂肪 < shokubutsuseishibou\ ;
+新聞倫理綱領 < shinbunrinrikouryou\ ;
+記述的妥当性 < kijutsutekidatousei\ ;
+旧新約聖書 < kyuushin''yakuseisho\ ;
+万国郵便連合 < bankokuyuubinrengou\ ;
+長期貸付金 < choukikashitsukekin\ ;
+直接接続 < chokusetsusetsuzoku\ ;
+住宅金融公庫 < juutakukin''yuukouko\ ;
+単位体積重量 < tan''itaisekijuuryou\ ;
+統一地方選挙 < touitsuchihousenkyo\ ;
+公開市場政策 < koukaishijouseisaku\ ;
+地球観測衛星 < chikyuukansokueisei\ ;
+生物物理学 < seibutsubutsurigaku\ ;
+平家物語抄 < heikemonogatarishou\ ;
+合同技術委員会 < goudougijutsuiinkai\ ;
+重量拳闘選手 < juuryoukentousenshu\ ;
+人工気胸療法 < jinkoukikyouryouhou\ ;
+地方公共団体 < chihoukoukyoudantai\ ;
+手根管症候群 < shukonkanshoukougun\ ;
+高分子化合物 < koubunshikagoubutsu\ ;
+食虫植物 < shokuchuushokubutsu\ ;
+陸上作戦本部 < rikujousakusenhonbu\ ;
+観察的研究 < kansatsutekikenkyuu\ ;
+放射性廃棄物 < houshaseihaikibutsu\ ;
+逆転分布係数 < gyakutenbunpukeisuu\ ;
+蜘蛛膜下出血 < kumomakukashukketsu\ ;
+自動方向探知機 < jidouhoukoutanchiki\ ;
+共同救済基金 < kyoudoukyuusaikikin\ ;
+賃貸借契約 < chintaishakukeiyaku\ ;
+徳川公爵邸 < tokugawakoushakutei\ ;
+帰還不能限界点 < kikanfunougenkaiten\ ;
+保険金受取人 < hokenkin''uketorinin\ ;
+陸軍士官学校 < rikugunshikangakkou\ ;
+漁業専管水域 < gyogyousenkansuiiki\ ;
+精神分裂症 < seishinbunretsushou\ ;
+芸術至上主義 < geijutsushijoushugi\ ;
+特命全権大使 < tokumeizenkentaishi\ ;
+近接航空支援 < kinsetsukoukuushien\ ;
+太陽熱発電 < taiyounetsuhatsuden\ ;
+海外留学熱 < kaigairyuugakunetsu\ ;
+有機水銀中毒 < yuukisuiginchuudoku\ ;
+妊娠中毒症 < ninshinchuudokushou\ ;
+環太平洋構想 < kantaiheiyoukousou\ ;
+独立採算制 < dokuritsusaisansei\ ;
+市場占有率 < shijousen''yuuritsu\ ;
+公的不法妨害 < koutekifuhoubougai\ ;
+視聴覚教材 < shichoukakukyouzai\ ;
+内閣法制局 < naikakuhouseikyoku\ ;
+国家公安委員長 < kokkakouan''iinchou\ ;
+戦闘支援計画 < sentoushienkeikaku\ ;
+中小企業庁 < chuushoukigyouchou\ ;
+回線制御規則 < kaisenseigyokisoku\ ;
+書簡体小説 < shokantaishousetsu\ ;
+社会生物学 < shakaiseibutsugaku\ ;
+一日一日 < ichinichiichinichi\ ;
+軍隊行進曲 < guntaikoushinkyoku\ ;
+葬送行進曲 < sousoukoushinkyoku\ ;
+港湾運送事業 < kouwan''unsoujigyou\ ;
+物理的現象 < butsuritekigenshou\ ;
+心臓弁膜症 < shinzoubenmakushou\ ;
+膝蓋腱反射 < shitsugaikenhansha\ ;
+門戸開放政策 < monkokaihouseisaku\ ;
+俸給生活者 < houkyuuseikatsusha\ ;
+東名高速道路 < toumeikousokudouro\ ;
+内閣総理大臣 < naikakusouridaijin\ ;
+日本放送協会 < nihonhousoukyoukai\ ;
+航空宇宙工業 < koukuuuchuukougyou\ ;
+生物情報学 < seibutsujouhougaku\ ;
+多年生植物 < tanenseishokubutsu\ ;
+量子物理学 < ryoushibutsurigaku\ ;
+北米合衆国 < hokubeigasshuukoku\ ;
+来客芳名録 < raikyakuhoumeiroku\ ;
+地方検察庁 < chihoukensatsuchou\ ;
+短日植物 < tanjitsushokubutsu\ ;
+標準出力 < hyoujunshutsuryoku\ ;
+専門的知識 < senmontekichishiki\ ;
+結婚行進曲 < kekkonkoushinkyoku\ ;
+安全保障条約 < anzenhoshoujouyaku\ ;
+株式配当金 < kabushikihaitoukin\ ;
+特別配当金 < tokubetsuhaitoukin\ ;
+主働土圧係数 < shudoudoatsukeisuu\ ;
+反射的半順序 < hanshatekihanjunjo\ ;
+経済成長率 < keizaiseichouritsu\ ;
+産業別組合 < sangyoubetsukumiai\ ;
+国際通貨基金 < kokusaitsuukakikin\ ;
+優等卒業生 < yuutousotsugyousei\ ;
+短期集中講座 < tankishuuchuukouza\ ;
+入国管理局 < nyuukokukanrikyoku\ ;
+信賞必罰 < shinshouhitsubatsu\ ;
+日本農林規格 < nihon''nourinkikaku\ ;
+航空宇宙産業 < koukuuuchuusangyou\ ;
+品質保持期限 < hinshitsuhojikigen\ ;
+日本工業規格 < nihonkougyoukikaku\ ;
+間接撮影法 < kansetsusatsueihou\ ;
+実物大模型 < jitsubutsudaimokei\ ;
+軍事的侵略 < gunjitekishinryaku\ ;
+中距離核兵器 < chuukyorikakuheiki\ ;
+酸化還元反応 < sankakangenhan''nou\ ;
+特徴抽出 < tokuchouchuushutsu\ ;
+寿教室 < kotobukikyoushitsu\ ;
+公務執行妨害 < koumushikkoubougai\ ;
+積分方程式 < sekibunhouteishiki\ ;
+高等専門学校 < koutousenmongakkou\ ;
+積算電力計 < sekisandenryokukei\ ;
+二年生植物 < ninenseishokubutsu\ ;
+国会対策委員会 < kokkaitaisakuinkai\ ;
+第二次世界大戦 < dainijisekaitaisen\ ;
+歩兵戦闘車両 < hoheisentousharyou\ ;
+千九百年代 < senkyuuhyakunendai\ ;
+共同記者会見 < kyoudoukishakaiken\ ;
+科学博物館 < kagakuhakubutsukan\ ;
+中国共産党 < chuugokukyousantou\ ;
+高分子物質 < koubunshibusshitsu\ ;
+発達心理学 < hattatsushinrigaku\ ;
+精神薄弱者 < seishinhakujakusha\ ;
+太陽熱温水器 < taiyounetsuonsuiki\ ;
+特別行政区 < tokubetsugyouseiku\ ;
+静止土圧係数 < seishidoatsukeisuu\ ;
+三色印刷法 < sanshokuinsatsuhou\ ;
+排卵誘発剤 < hairan''yuuhatsuzai\ ;
+生活必需品 < seikatsuhitsujuhin\ ;
+少年鑑別所 < shounenkanbetsusho\ ;
+人口動態統計 < jinkoudoutaitoukei\ ;
+座骨神経痛 < zakotsushinkeitsuu\ ;
+植民地政策 < shokuminchiseisaku\ ;
+証券取引法 < shoukentorihikihou\ ;
+私小説 < watakushishousetsu\ ;
+商品回転率 < shouhinkaitenritsu\ ;
+国連事務総長 < kokurenjimusouchou\ ;
+節足動物門 < sessokudoubutsumon\ ;
+着生植物 < chakuseishokubutsu\ ;
+不動産取得税 < fudousanshutokuzei\ ;
+年次有給休暇 < nenjiyuukyuukyuuka\ ;
+実物取引 < jitsubutsutorihiki\ ;
+十二指腸潰瘍 < juunishichoukaiyou\ ;
+計算生物学 < keisanseibutsugaku\ ;
+就職情報誌 < shuushokujouhoushi\ ;
+建設的関係 < kensetsutekikankei\ ;
+客室乗務員 < kyakushitsujoumuin\ ;
+支持力定式 < shijiryokuteishiki\ ;
+動物行動学 < doubutsukoudougaku\ ;
+戦争犯罪法廷 < sensouhanzaihoutei\ ;
+職能代表制 < shokunoudaihyousei\ ;
+最高検察庁 < saikoukensatsuchou\ ;
+心神耗弱者 < shinshinmoujakusha\ ;
+年功序列制度 < nenkoujoretsuseido\ ;
+亜米利加合衆国 < amerikagasshuukoku\ ;
+無脊椎動物 < musekitsuidoubutsu\ ;
+農林水産大臣 < nourinsuisandaijin\ ;
+直接接触 < chokusetsusesshoku\ ;
+家宅侵入罪 < katakushin''nyuuzai\ ;
+分子生物学 < bunshiseibutsugaku\ ;
+主要部先導型 < shuyoubusendougata\ ;
+天体写真術 < tentaishashinjutsu\ ;
+秘密漏洩罪 < himitsurousetsuzai\ ;
+貸付信託 < kashitsukeshintaku\ ;
+間接目的語 < kansetsumokutekigo\ ;
+粘液分泌腺 < nen''ekibunpitsusen\ ;
+瞬間接着剤 < shunkansetchakuzai\ ;
+人口密集率 < jinkoumisshuuritsu\ ;
+国民健康保険 < kokuminkenkouhoken\ ;
+原色写真版 < genshokushashinban\ ;
+不定計量空間 < futeikeiryoukuukan\ ;
+量子色力学 < ryoushiirorikigaku\ ;
+在日米陸軍 < zainichibeirikugun\ ;
+食品添加物 < shokuhintenkabutsu\ ;
+反帝国主義者 < hanteikokushugisha\ ;
+動物性蛋白 < doubutsuseitanpaku\ ;
+特定郵便局 < tokuteiyuubinkyoku\ ;
+日本航空自衛隊 < nihonkoukuujieitai\ ;
+火力発電所 < karyokuhatsudensho\ ;
+多角式農業 < takakushikinougyou\ ;
+電荷結合素子 < denkaketsugousoshi\ ;
+永世中立国 < eiseichuuritsukoku\ ;
+符号化文字集合 < fugoukamojishuugou\ ;
+唯物弁証法 < yuibutsubenshouhou\ ;
+日本海上自衛隊 < nihonkaijoujieitai\ ;
+史的唯物論 < shitekiyuibutsuron\ ;
+宣誓供述書 < senseikyoujutsusho\ ;
+熱膨張係数 < netsubouchoukeisuu\ ;
+有限状態文法 < yuugenjoutaibunpou\ ;
+即日速達 < sokujitsusokutatsu\ ;
+植物性繊維 < shokubutsuseisen''i\ ;
+過失傷害罪 < kashitsushougaizai\ ;
+修正資本主義 < shuuseishihonshugi\ ;
+一卵性双生児 < ichiranseisouseiji\ ;
+共同創設者 < kyoudousousetsusha\ ;
+地中海性気候 < chichuukaiseikikou\ ;
+投資有価証券 < toushiyuukashouken\ ;
+上級副社長 < joukyuufukushachou\ ;
+戦略的提携 < senryakutekiteikei\ ;
+前方再補給点 < zenpousaihokyuuten\ ;
+百発百中 < hyappatsuhyakuchuu\ ;
+環境庁長官 < kankyouchouchoukan\ ;
+取締役会 < torishimariyakukai\ ;
+圧力調整器 < atsuryokuchouseiki\ ;
+生鮮食料品 < seisenshokuryouhin\ ;
+放射性物質 < houshaseibusshitsu\ ;
+地球物理学 < chikyuubutsurigaku\ ;
+反宗教改革 < hanshuukyoukaikaku\ ;
+学識経験者 < gakushikikeikensha\ ;
+立憲君主政体 < rikkenkunshuseitai\ ;
+放送禁止用語 < housoukinshiyougo\ ;
+赤面恐怖症 < sekimenkyoufushou\ ;
+食品衛生法 < shokuhin''eiseihou\ ;
+教職員組合 < kyoushokuinkumiai\ ;
+十一面観世音 < juuichimenkanzeon\ ;
+毛沢東主席 < moutakutoushuseki\ ;
+別途積立金 < bettotsumitatekin\ ;
+返信料葉書 < henshinryouhagaki\ ;
+諸車通行止 < shoshatsuukoudome\ ;
+形状記憶合金 < keijoukiokugoukin\ ;
+国土庁長官 < kokudochouchoukan\ ;
+出力装置 < shutsuryokusouchi\ ;
+複雑骨折 < fukuzatsukossetsu\ ;
+下位範疇化素性 < kaihanchuukasosei\ ;
+勧善懲悪劇 < kanzenchouakugeki\ ;
+医学生物学 < igakuseibutsugaku\ ;
+非標準拡張 < hihyoujunkakuchou\ ;
+行動発起時刻 < koudouhakkijikoku\ ;
+十部門分類法 < juubumonbunruihou\ ;
+太陽光発電 < taiyoukouhatsuden\ ;
+世界一周旅行 < sekaiisshuuryokou\ ;
+返信用葉書 < henshin''youhagaki\ ;
+世界人権宣言 < sekaijinkensengen\ ;
+公的医療機関 < koutekiiryoukikan\ ;
+物的流通 < butsutekiryuutsuu\ ;
+十年一昔 < juunenhitomukashi\ ;
+祥月命日 < shoutsukimeinichi\ ;
+真珠養殖場 < shinjuyoushokujou\ ;
+戦略物質 < senryakubusshitsu\ ;
+肋間神経痛 < rokkanshinkeitsuu\ ;
+海洋物理学 < kaiyoubutsurigaku\ ;
+精神的苦痛 < seishintekikutsuu\ ;
+交流発電機 < kouryuuhatsudenki\ ;
+就職活動 < shuushokukatsudou\ ;
+受働土圧係数 < judoudoatsukeisuu\ ;
+狩猟採集民 < shuryousaishuumin\ ;
+不確定性原理 < fukakuteiseigenri\ ;
+戦闘正面幅 < sentoushoumenhaba\ ;
+不信任投票 < fushin''nintouhyou\ ;
+送金受取人 < soukin''uketorinin\ ;
+弱肉強食 < jakunikukyoushoku\ ;
+伸縮税率 < shinshukuzeiritsu\ ;
+二等辺三角形 < nitouhensankakkei\ ;
+ＤＲＳ理論 < di\ ̄a\ ̄ruesuriron\ ;
+食糧管理法 < shokuryoukanrihou\ ;
+盲腸炎手術 < mouchouenshujutsu\ ;
+神出鬼没 < shinshutsukibotsu\ ;
+第一級殺人 < daiikkyuusatsujin\ ;
+戦略核兵器 < senryakukakuheiki\ ;
+七七日 < shichishichinichi\ ;
+紫露草 < murasakitsuyukusa\ ;
+凍結防止剤 < touketsuboushizai\ ;
+中間配当額 < chuukanhaitougaku\ ;
+政令指定都市 < seireishiteitoshi\ ;
+吸血動物 < kyuuketsudoubutsu\ ;
+高速増殖炉 < kousokuzoushokuro\ ;
+返信料封筒 < henshinryoufuutou\ ;
+衛星地球局 < eiseichikyuukyoku\ ;
+在留外国人 < zairyuugaikokujin\ ;
+熱力学的 < netsurikigakuteki\ ;
+植物採集 < shokubutsusaishuu\ ;
+出力端子 < shutsuryokutanshi\ ;
+標準入力 < hyoujun''nyuuryoku\ ;
+産業廃棄物 < sangyouhaikibutsu\ ;
+無担保借入金 < mutanpokariirekin\ ;
+観葉植物 < kan''youshokubutsu\ ;
+天然記念物 < ten''nenkinenbutsu\ ;
+単位労働組合 < tan''iroudoukumiai\ ;
+中央処理装置 < chuuoushorisouchi\ ;
+出生証明書 < shusseishoumeisho\ ;
+選挙管理委員会 < senkyokanriiinkai\ ;
+上級管理職 < joukyuukanrishoku\ ;
+税関申告書 < zeikanshinkokusho\ ;
+七生報国 < shichishouhoukoku\ ;
+返信用封筒 < henshin''youfuutou\ ;
+熱狂的信者 < nekkyoutekishinja\ ;
+企業間信用 < kigyoukanshin''you\ ;
+欧州通貨単位 < oushuutsuukatan''i\ ;
+開拓者精神 < kaitakushaseishin\ ;
+実物描写 < jitsubutsubyousha\ ;
+深在性真菌 < shinzaiseishinkin\ ;
+自由貿易帯域 < jiyuubouekitaiiki\ ;
+村落共同体 < sonrakukyoudoutai\ ;
+上陸用舟艇 < jourikuyoushuutei\ ;
+古生物学者 < koseibutsugakusha\ ;
+殺真菌薬 < satsushinkin''yaku\ ;
+開発途上国 < kaihatsutojoukoku\ ;
+血圧降下剤 < ketsuatsukoukazai\ ;
+無差別爆撃 < musabetsubakugeki\ ;
+平和的解決 < heiwatekikaisetsu\ ;
+下位範疇化原理 < kaihanchuukagenri\ ;
+食品加工業 < shokuhinkakougyou\ ;
+恋愛至上主義 < ren''aishijoushugi\ ;
+高級住宅地 < koukyuujuutakuchi\ ;
+自動車保険料 < jidoushahokenryou\ ;
+過失致死罪 < kashitsuchishizai\ ;
+高額所得者 < kougakushotokusha\ ;
+十一面観音 < juuichimenkan''non\ ;
+耳鼻咽喉専門医 < jibiinkousenmon''i\ ;
+月経困難症 < gekkeikon''nanshou\ ;
+国際見本市 < kokusaimihon''ichi\ ;
+緑地化計画 < ryokuchikakeikaku\ ;
+標本抽出 < hyouhonchuushutsu\ ;
+戦場航空阻止 < senjoukoukuusoshi\ ;
+中枢神経系 < chuusuushinkeikei\ ;
+統合参謀本部 < tougousanbouhonbu\ ;
+総括質問 < soukatsushitsumon\ ;
+実験的研究 < jikkentekikenkyuu\ ;
+専用駐車場 < sen''youchuushajou\ ;
+潮力発電 < chouryokuhatsuden\ ;
+無過失責任 < mukashitsusekinin\ ;
+一次方程式 < ichijihouteishiki\ ;
+就業時間中 < shuugyoujikanchuu\ ;
+国民休暇村 < kokuminkyuukamura\ ;
+子宮外妊娠 < shikyuugaininshin\ ;
+無担保貸付 < mutanpokashitsuke\ ;
+一粒子既約 < ichiryuushikiyaku\ ;
+企業別組合 < kigyoubetsukumiai\ ;
+不法侵入者 < fuhoushin''nyuusha\ ;
+直接購入 < chokusetsukounyuu\ ;
+収穫感謝祭 < shuukakukanshasai\ ;
+指向性爆薬 < shikouseibakuyaku\ ;
+心因性反応 < shin''inseihan''nou\ ;
+最長不倒距離 < saichoufutoukyori\ ;
+亜熱帯植物 < anettaishokubutsu\ ;
+窮極目的 < kyuukyokumokuteki\ ;
+内閣総辞職 < naikakusoujishoku\ ;
+天照大神 < amaterasuoomikami\ ;
+印象主義音楽 < inshoushugiongaku\ ;
+近代五種競技 < kindaigoshukyougi\ ;
+質実剛健 < shitsujitsugouken\ ;
+証券取引所 < shoukentorihikijo\ ;
+屈折望遠鏡 < kussetsubouenkyou\ ;
+局外中立 < kyokugaichuuritsu\ ;
+後方地域警備 < kouhouchiikikeibi\ ;
+歯牙矯正術 < shigakyouseijutsu\ ;
+単細胞生物 < tansaibouseibutsu\ ;
+日本薬局方 < nihon''yakkyokuhou\ ;
+自動操縦装置 < jidousoujuusouchi\ ;
+深層心理学 < shinsoushinrigaku\ ;
+都市対抗野球 < toshitaikouyakyuu\ ;
+金剛夜叉妙王 < kongouyashamyouou\ ;
+精神薄弱児 < seishinhakujakuji\ ;
+色彩調節 < shikisaichousetsu\ ;
+薬用植物 < yakuyoushokubutsu\ ;
+化学方程式 < kagakuhouteishiki\ ;
+急降下爆撃 < kyuukoukabakugeki\ ;
+水上生活者 < suijouseikatsusha\ ;
+在学証明書 < zaigakushoumeisho\ ;
+植民地統治 < shokuminchitouchi\ ;
+関数方程式 < kansuuhouteishiki\ ;
+秋霜烈日 < shuusouretsujitsu\ ;
+直接請求 < chokusetsuseikyuu\ ;
+推進研究所 < suishinkenkyuusho\ ;
+宗教哲学 < shuukyoutetsugaku\ ;
+戦術核兵器 < senjutsukakuheiki\ ;
+高速演算機構 < kousokuenzankikou\ ;
+発展的解消 < hattentekikaishou\ ;
+飛行禁止空域 < hikoukinshikuuiki\ ;
+国立図書館 < kokuritsutoshokan\ ;
+三行広告欄 < sangyoukoukokuran\ ;
+勧業博覧会 < kangyouhakurankai\ ;
+薬物中毒 < yakubutsuchuudoku\ ;
+分析心理学 < bunsekishinrigaku\ ;
+教育心理学 < kyouikushinrigaku\ ;
+業務上過失 < gyoumujoukashitsu\ ;
+環境保護論者 < kankyouhogoronsha\ ;
+成績証明書 < seisekishoumeisho\ ;
+週間天気予報 < shuukantenkiyohou\ ;
+放射線感受性 < houshasenkanjusei\ ;
+社会民主主義 < shakaiminshushugi\ ;
+小心翼翼 < shoushin''yokuyoku\ ;
+特別幕僚 < tokubetsubakuryou\ ;
+入学志願者 < nyuugakushigansha\ ;
+部分情報構造 < bubunjouhoukouzou\ ;
+一挙手一投足 < ikkyoshuittousoku\ ;
+分裂物質 < bunretsubusshitsu\ ;
+有形固定資産 < yuukeikoteishisan\ ;
+中央放送局 < chuuouhousoukyoku\ ;
+直接照明 < chokusetsushoumei\ ;
+飛行記録装置 < hikoukirokusouchi\ ;
+被担保債権額 < hitanposaikengaku\ ;
+共同相続人 < kyoudousouzokunin\ ;
+嘱託殺人 < shokutakusatsujin\ ;
+研究発表会 < kenkyuuhappyoukai\ ;
+二交替制労働 < nikoutaiseiroudou\ ;
+湿生植物 < shisseishokubutsu\ ;
+七十人訳 < shichijuunin''yaku\ ;
+保守系無所属 < hoshukeimushozoku\ ;
+天体分光術 < tentaibunkoujutsu\ ;
+球面三角法 < kyuumensankakuhou\ ;
+計量経済学 < keiryoukeizaigaku\ ;
+反転分布係数 < hantenbunpukeisuu\ ;
+著作権侵害 < chosakukenshingai\ ;
+特別弁護人 < tokubetsubengonin\ ;
+富国強兵策 < fukokukyouheisaku\ ;
+空挺降下地域 < kuuteikoukachiiki\ ;
+予想収穫高 < yosoushuukakudaka\ ;
+火力支援部隊 < karyokushienbutai\ ;
+血友病患者 < ketsuyuubyoukanja\ ;
+発癌物質 < hatsuganbusshitsu\ ;
+直角三角形 < chokkakusankakkei\ ;
+白長須鯨 < shironagasukujira\ ;
+闇価格協定 < yamikakakukyoutei\ ;
+観賞植物 < kanshoushokubutsu\ ;
+赤外線写真 < sekigaisenshashin\ ;
+心神喪失 < shinshinsoushitsu\ ;
+通俗小説 < tsuuzokushousetsu\ ;
+歌舞伎十八番 < kabukijuuhachiban\ ;
+百戦百勝 < hyakusenhyakushou\ ;
+天皇機関説 < ten''noukikansetsu\ ;
+公証人役場 < koushounin''yakuba\ ;
+超現実主義 < chougenjitsushugi\ ;
+二極真空管 < nikyokushinkuukan\ ;
+提灯行列 < chouchingyouretsu\ ;
+阪神大震災 < hanshindaishinsai\ ;
+失業対策 < shitsugyoutaisaku\ ;
+法定得票数 < houteitokuhyousuu\ ;
+設立趣意書 < setsuritsushuisho\ ;
+外国人登録 < gaikokujintouroku\ ;
+身体障害者 < shintaishougaisha\ ;
+大量破壊兵器 < tairyouhakaiheiki\ ;
+消費者信用 < shouhishashin''you\ ;
+反射係数線図 < hanshakeisuusenzu\ ;
+鈍角三角形 < donkakusankakukei\ ;
+海難審判庁 < kainanshinpanchou\ ;
+犯罪発生率 < hanzaihasseiritsu\ ;
+微生物学者 < biseibutsugakusha\ ;
+七色唐辛子 < nanairotougarashi\ ;
+素粒子加速器 < soryuushikasokuki\ ;
+公職選挙法 < koushokusenkyohou\ ;
+定形郵便物 < teikeiyuubinbutsu\ ;
+自由貿易地域 < jiyuubouekichiiki\ ;
+対中国関係 < taichuugokukankei\ ;
+公開市場操作 < koukaishijousousa\ ;
+科学技術庁 < kagakugijutsuchou\ ;
+左側通行 < hidarigawatsuukou\ ;
+大英博物館 < daieihakubutsukan\ ;
+動脈硬化症 < doumyakukoukashou\ ;
+帝王神権説 < teioushinkensetsu\ ;
+救出作戦 < kyuushutsusakusen\ ;
+宇宙大爆発 < uchuudaibakuhatsu\ ;
+首相兼外相 < shushoukengaishou\ ;
+生物地理学 < seibutsuchirigaku\ ;
+人身保護令状 < jinshinhogoreijou\ ;
+原子物理学 < genshibutsurigaku\ ;
+母子健康手帳 < boshikenkoutechou\ ;
+略取誘拐罪 < ryakushuyuukaizai\ ;
+室内装飾 < shitsunaisoushoku\ ;
+厚生年金保険 < kouseinenkinhoken\ ;
+直接競争 < chokusetsukyousou\ ;
+天体物理学 < tentaibutsurigaku\ ;
+降圧変圧器 < kouatsuhen''atsuki\ ;
+東印度会社 < higashiindogaisha\ ;
+物質主義者 < busshitsushugisha\ ;
+国際的貿易 < kokusaitekiboueki\ ;
+中性子爆弾 < chuuseishibakudan\ ;
+代数方程式 < daisuuhouteishiki\ ;
+平均太陽日 < heikintaiyoujitsu\ ;
+性行為感染症 < seikouikansenshou\ ;
+旭日昇天 < kyokujitsushouten\ ;
+乳児死亡率 < nyuujishibouritsu\ ;
+万国博覧会 < bankokuhakurankai\ ;
+防衛施設庁 < boueishisetsuchou\ ;
+有料駐車場 < yuuryouchuushajou\ ;
+臨床心理学 < rinshoushinrigaku\ ;
+生命保険会社 < seimeihokengaisha\ ;
+写真週刊誌 < shashinshuukanshi\ ;
+私有財産制度 < shiyuuzaisanseido\ ;
+巨石記念物 < kyosekikinenbutsu\ ;
+二元方程式 < nigenhouteishiki\ ;
+蘚苔植物 < sentaishokubutsu\ ;
+道義的責任 < dougitekisekinin\ ;
+獅子唐辛子 < shishitougarashi\ ;
+研究室棟 < kenkyuushitsutou\ ;
+気象観測船 < kishoukansokusen\ ;
+軽口話 < karukuchibanashi\ ;
+人猿同祖説 < jin''endousosetsu\ ;
+団体交渉権 < dantaikoushouken\ ;
+対人恐怖症 < taijinkyoufushou\ ;
+脳脊髄膜炎 < nousekizuimakuen\ ;
+要注意人物 < youchuuijinbutsu\ ;
+学校教育法 < gakkoukyouikuhou\ ;
+西側諸国 < nishigawashokoku\ ;
+王権神授説 < oukenshinjusetsu\ ;
+真部分集合 < shinbubunshuugou\ ;
+独占禁止法 < dokusenkinshihou\ ;
+脊椎動物 < sekitsuidoubutsu\ ;
+居間兼寝室 < imakenshinshitsu\ ;
+桑原桑原 < kuwabarakuwabara\ ;
+公称資本金 < koushoushihonkin\ ;
+電動発動機 < dendouhatsudouki\ ;
+応用物理学 < ouyoubutsurigaku\ ;
+享楽生活 < kyourakuseikatsu\ ;
+入力電流 < nyuuryokudenryuu\ ;
+三十八度線 < sanjuuhachidosen\ ;
+十年一日 < juunen''ichijitsu\ ;
+認知心理学 < ninchishinrigaku\ ;
+風俗小説 < fuuzokushousetsu\ ;
+低血圧症 < teiketsuatsushou\ ;
+工業所有権 < kougyoushoyuuken\ ;
+多変量解析 < tahenryoukaiseki\ ;
+虚々実々 < kyokyojitsujitsu\ ;
+清涼飲料水 < seiryouinryousui\ ;
+技術協力 < gijutsukyouryoku\ ;
+空中衝突 < kuuchuushoutotsu\ ;
+一国一党主義 < ikkokuittoushugi\ ;
+日本道路公団 < nihondourokoudan\ ;
+金利生活者 < kinriseikatsusha\ ;
+千篇一律 < senpen''ichiritsu\ ;
+料理教室 < ryourikyoushitsu\ ;
+遺言執行者 < yuigonshikkousha\ ;
+本格小説 < honkakushousetsu\ ;
+貿易外収支 < bouekigaishuushi\ ;
+国立劇場 < kokuritsugekijou\ ;
+実践理性批判 < jissenriseihihan\ ;
+染色体地図 < senshokutaichizu\ ;
+主席研究員 < shusekikenkyuuin\ ;
+高速度写真 < kousokudoshashin\ ;
+草食動物 < soushokudoubutsu\ ;
+高次方程式 < koujihouteishiki\ ;
+微分方程式 < bibunhouteishiki\ ;
+直接選挙 < chokusetsusenkyo\ ;
+郵便私書箱 < yuubinshishobako\ ;
+斜格性統御 < shakakuseitougyo\ ;
+経口避妊薬 < keikouhinin''yaku\ ;
+人材開発部 < jinzaikaihatsubu\ ;
+多重名前空間 < tajuunamaekuukan\ ;
+生者必滅 < shoujahitsumetsu\ ;
+熱帯植物 < nettaishokubutsu\ ;
+万国標準時 < bankokuhyoujunji\ ;
+松下電工 < matsushitadenkou\ ;
+防衛庁長官 < boueichouchoukan\ ;
+含水化合物 < gansuikagoubutsu\ ;
+関東大震災 < kantoudaishinsai\ ;
+商業算術 < shougyousanjutsu\ ;
+装甲回収車 < soukoukaishuusha\ ;
+地方行財政 < chihougyouzaisei\ ;
+性表現情報 < seihyougenjouhou\ ;
+戦戦栗栗 < sensenritsuritsu\ ;
+希望的観測 < kiboutekikansoku\ ;
+反射減衰量 < hanshagensuiryou\ ;
+揮発物質 < kihatsubusshitsu\ ;
+変態心理学 < hentaishinrigaku\ ;
+発光植物 < hakkoushokubutsu\ ;
+欧州共同体 < oushuukyoudoutai\ ;
+紫外線療法 < shigaisenryouhou\ ;
+非武装中立 < hibusouchuuritsu\ ;
+主席外交官 < shusekigaikoukan\ ;
+細胞質遺伝 < saiboushitsuiden\ ;
+共産党宣言 < kyousantousengen\ ;
+電力供給 < denryokukyoukyuu\ ;
+巡回診療所 < junkaishinryoujo\ ;
+源泉所得税 < gensenshotokuzei\ ;
+組職労働者 < soshokuroudousha\ ;
+労働者階級 < roudoushakaikyuu\ ;
+戦略爆撃 < senryakubakugeki\ ;
+妊娠中絶 < ninshinchuuzetsu\ ;
+拡大再生産 < kakudaisaiseisan\ ;
+平和維持活動 < heiwaijikatsudou\ ;
+上級裁判所 < joukyuusaibansho\ ;
+禁欲主義者 < kin''yokushugisha\ ;
+特殊潜航艇 < tokushusenkoutei\ ;
+最恵国待遇 < saikeikokutaiguu\ ;
+共産主義国 < kyousanshugikoku\ ;
+原告対被告 < genkokutaihikoku\ ;
+受託収賄罪 < jutakushuuwaizai\ ;
+流行性感冒 < ryuukouseikanbou\ ;
+国民総生産 < kokuminsouseisan\ ;
+中距離競走 < chuukyorikyousou\ ;
+全国的範囲 < zenkokutekihan''i\ ;
+連邦共和国 < renpoukyouwakoku\ ;
+普遍的法則 < fuhentekihousoku\ ;
+大統領選挙 < daitouryousenkyo\ ;
+二卵性双生児 < niranseisouseiji\ ;
+日猶同祖論 < nichiyuudousoron\ ;
+両替手数料 < ryougaetesuuryou\ ;
+資本利益率 < shihonriekiritsu\ ;
+議院運営委員会 < giin''un''eiiinkai\ ;
+戦車揚陸艦 < senshayourikukan\ ;
+主辞素性規約 < shujisoseikiyaku\ ;
+女性解放運動 < joseikaihouundou\ ;
+売春防止法 < baishunboushihou\ ;
+光化学反応 < koukagakuhan''nou\ ;
+直接会談 < chokusetsukaidan\ ;
+割増賃金 < warimashichingin\ ;
+軍事当局者 < gunjitoukyokusha\ ;
+肉体労働者 < nikutairoudousha\ ;
+自主流通米 < jishuryuutsuumai\ ;
+作付面積 < sakudzukemenseki\ ;
+日独協会 < nichidokukyoukai\ ;
+日常生活 < nichijouseikatsu\ ;
+第一次産業 < daiichijisangyou\ ;
+実存主義者 < jitsuzonshugisha\ ;
+歳入歳出 < sainyuusaishutsu\ ;
+特別急行 < tokubetsukyuukou\ ;
+現実主義者 < genjitsushugisha\ ;
+反政府勢力 < hanseifuseiryoku\ ;
+免疫不全症 < men''ekifuzenshou\ ;
+転出証明 < tenshutsushoumei\ ;
+十進分類法 < jisshinbunruihou\ ;
+偶像教徒的 < guuzoukyoutoteki\ ;
+紅白歌合戦 < kouhakuutagassen\ ;
+経済研究所 < keizaikenkyuusho\ ;
+軍事通信員 < gunjitsuushin''in\ ;
+基準内賃金 < kijun''naichingin\ ;
+県庁所在地 < kenchoushozaichi\ ;
+救荒作物 < kyuukousakumotsu\ ;
+真宗大谷派 < shinshuuootaniha\ ;
+地熱発電 < chinetsuhatsuden\ ;
+薬物療法 < yakubutsuryouhou\ ;
+再入国許可 < sainyuukokukyoka\ ;
+英国国教会 < eikokukokkyoukai\ ;
+食糧配給 < shokuryouhaikyuu\ ;
+炭酸同化作用 < tansandoukasayou\ ;
+清教徒革命 < seikyoutokakumei\ ;
+太陽神経叢 < taiyoushinkeisou\ ;
+直系血族 < chokkeiketsuzoku\ ;
+質問用紙 < shitsumon''youshi\ ;
+経営学修士 < keieigakushuushi\ ;
+健康証明書 < kenkoushoumeisho\ ;
+社会心理学 < shakaishinrigaku\ ;
+二大政党主義 < nidaiseitoushugi\ ;
+独身生活 < dokushinseikatsu\ ;
+警察当局 < keisatsutoukyoku\ ;
+公共企業体 < koukyoukigyoutai\ ;
+直接伝染 < chokusetsudensen\ ;
+都市再開発 < toshisaikaihatsu\ ;
+青空教室 < aozorakyoushitsu\ ;
+放射線療法 < houshasenryouhou\ ;
+国連分担金 < kokurenbuntankin\ ;
+非嫡出子 < hichakushutsushi\ ;
+生活様式 < seikatsuyoushiki\ ;
+定期刊行物 < teikikankoubutsu\ ;
+攻撃開始線 < kougekikaishisen\ ;
+平面三角法 < heimensankakuhou\ ;
+法定伝染病 < houteidensenbyou\ ;
+片道料金 < katamichiryoukin\ ;
+原油流出 < gen''yuryuushutsu\ ;
+略式命令 < ryakushikimeirei\ ;
+芸術活動 < geijutsukatsudou\ ;
+三叉神経痛 < sansashinkeitsuu\ ;
+歴史哲学 < rekishitetsugaku\ ;
+優勝決定戦 < yuushouketteisen\ ;
+下町言葉 < shitamachikotoba\ ;
+最低生活費 < saiteiseikatsuhi\ ;
+不純異性交遊 < fujun''iseikouyuu\ ;
+骨皮筋右衛門 < honekawasujiemon\ ;
+府県別人口 < fukenbetsujinkou\ ;
+緊急着陸 < kinkyuuchakuriku\ ;
+推定相続人 < suiteisouzokunin\ ;
+冷血動物 < reiketsudoubutsu\ ;
+多国籍企業 < takokusekikigyou\ ;
+取扱注意 < toriatsukaichuui\ ;
+浅間山荘事件 < asamasansoujiken\ ;
+晴一時小雨 < hareichijikosame\ ;
+割増料金 < warimashiryoukin\ ;
+季節労働者 < kisetsuroudousha\ ;
+中小諸国家 < choushoushokokka\ ;
+不平等条約 < fubyoudoujouyaku\ ;
+直截簡明 < chokusetsukanmei\ ;
+黄道吉日 < koudoukichinichi\ ;
+最低賃金制 < saiteichinginsei\ ;
+帝国主義的 < teikokushugiteki\ ;
+一触即発 < isshokusokuhatsu\ ;
+即日開票 < sokujitsukaihyou\ ;
+植物質 < shokubutsushitsu\ ;
+納税通知書 < nouzeitsuuchisho\ ;
+関税割当制 < kanzeiwariatesei\ ;
+実質賃金 < jisshitsuchingin\ ;
+居住証明書 < kyojuushoumeisho\ ;
+大使級会談 < taishikyuukaidan\ ;
+教養小説 < kyouyoushousetsu\ ;
+民主活動家 < minshukatsudouka\ ;
+客員研究員 < kyakuinkenkyuuin\ ;
+抽象芸術 < chuushougeijutsu\ ;
+直接支配 < chokusetsushihai\ ;
+環境保護主義 < kankyouhogoshugi\ ;
+世界貿易機関 < sekaibouekikikan\ ;
+支持力係数 < shijiryokukeisuu\ ;
+直下型地震 < chokkagatajishin\ ;
+未解決問題 < mikaiketsumondai\ ;
+建築基準法 < kenchikukijunhou\ ;
+無形固定資産 < mukeikoteishisan\ ;
+知的所有権 < chitekishoyuuken\ ;
+職業安定所 < shokugyouanteijo\ ;
+共産党細胞 < kyousantousaibou\ ;
+一年生草本 < ichinenseisouhon\ ;
+条約加盟国 < jouyakukameikoku\ ;
+立正佼成会 < risshoukouseikai\ ;
+集団就職 < shuudanshuushoku\ ;
+共観福音書 < kyoukanfukuinsho\ ;
+水生植物 < suiseishokubutsu\ ;
+宿直室 < shukuchokushitsu\ ;
+高所恐怖症 < koushokyoufushou\ ;
+新聞販売店 < shinbunhanbaiten\ ;
+農林水産省 < nourinsuisanshou\ ;
+二者選一法 < nishasen''itsuhou\ ;
+境界値問題 < kyoukaichimondai\ ;
+社会人野球 < shakaijin''yakyuu\ ;
+職務質問 < shokumushitsumon\ ;
+乾生植物 < kanseishokubutsu\ ;
+菜食主義者 < saishokushugisha\ ;
+宿泊設備 < shukuhakusetsubi\ ;
+国立大学 < kokuritsudaigaku\ ;
+一言二言 < hitokotofutakoto\ ;
+軍産複合体 < gunsanfukugoutai\ ;
+精神医学者 < seishin''igakusha\ ;
+経済企画庁 < keizaikikakuchou\ ;
+先端支持力 < sentanshijiryoku\ ;
+保健物理学 < hokenbutsurigaku\ ;
+正面衝突 < shoumenshoutotsu\ ;
+分解蒸溜法 < bunkaijouryuuhou\ ;
+計量言語学 < keiryougengogaku\ ;
+地域振興券 < chiikishinkouken\ ;
+急進主義者 < kyuushinshugisha\ ;
+一日千秋 < ichinichisenshuu\ ;
+交通運輸業 < koutsuuun''yugyou\ ;
+商業目的 < shougyoumokuteki\ ;
+無制限供給 < museigenkyoukyuu\ ;
+給与所得者 < kyuuyoshotokusha\ ;
+戦闘爆撃機 < sentoubakugekiki\ ;
+複式学級 < fukushikigakkyuu\ ;
+林業試験場 < ringyoushikenjou\ ;
+卒業証書 < sotsugyoushousho\ ;
+擲弾発射筒 < tekidanhasshatou\ ;
+産軍複合体 < sangunfukugoutai\ ;
+最大公約数 < saidaikouyakusuu\ ;
+国内消費税 < kokunaishouhizei\ ;
+少年審判所 < shounenshinpanjo\ ;
+焼肉定食 < yakinikuteishoku\ ;
+流行性肝炎 < ryuukouseikan''en\ ;
+表面張力 < hyoumenchouryoku\ ;
+準準決勝戦 < junjunkesshousen\ ;
+不完全燃焼 < fukanzen''nenshou\ ;
+原子力時代 < genshiryokujidai\ ;
+農業試験場 < nougyoushikenjou\ ;
+高速度撮影 < kousokudosatsuei\ ;
+特別番組 < tokubetsubangumi\ ;
+学習能力 < gakushuunouryoku\ ;
+好気性生物 < koukiseiseibutsu\ ;
+家庭内暴力 < kateinaibouryoku\ ;
+信用取引 < shin''youtorihiki\ ;
+音声多重放送 < onseitajuuhousou\ ;
+高血圧症 < kouketsuatsushou\ ;
+在籍専従者 < zaisekisenjuusha\ ;
+一口話 < hitokuchibanashi\ ;
+官費留学生 < kanpiryuugakusei\ ;
+南北朝時代 < nanbokuchoujidai\ ;
+死亡診断書 < shiboushindansho\ ;
+弦楽四重奏 < gengakushijuusou\ ;
+仲裁裁判所 < chuusaisaibansho\ ;
+理論物理学 < rironbutsurigaku\ ;
+全般前哨線 < zenpanzenshousen\ ;
+筍生活 < takenokoseikatsu\ ;
+十二指腸虫 < juunishichouchuu\ ;
+中心人物 < chuushinjinbutsu\ ;
+土木工学者 < dobokukougakusha\ ;
+食料品商 < shokuryouhinshou\ ;
+日中韓統合 < nitchuukantougou\ ;
+拡張倍精度 < kakuchoubaiseido\ ;
+労働収容所 < roudoushuuyousho\ ;
+超現実的 < chougenjitsuteki\ ;
+即身成仏 < sokushinjoubutsu\ ;
+国外脱出 < kokugaidasshutsu\ ;
+無着陸飛行 < muchakurikuhikou\ ;
+日付変更線 < hidzukehenkousen\ ;
+直接回答 < chokusetsukaitou\ ;
+当事者能力 < toujishanouryoku\ ;
+脳性小児麻痺 < nouseishounimahi\ ;
+先物取引 < sakimonotorihiki\ ;
+大東亜共栄圏 < daitouakyoueiken\ ;
+歴史小説 < rekishishousetsu\ ;
+煮沸消毒 < shafutsushoudoku\ ;
+海外進出 < kaigaishinshutsu\ ;
+水力発電 < suiryokuhatsuden\ ;
+損益計算書 < son''ekikeisansho\ ;
+小売物価指数 < kouribukkashisuu\ ;
+急行停車駅 < kyuukouteishaeki\ ;
+反植民主義 < hanshokuminshugi\ ;
+極低温科学 < kyokuteionkagaku\ ;
+自由主義経済 < jiyuushugikeizai\ ;
+写真望遠鏡 < shashinbouenkyou\ ;
+形質導入 < keishitsudounyuu\ ;
+妙法蓮華経 < myouhourengekyou\ ;
+実用主義者 < jitsuyoushugisha\ ;
+後方連絡線 < kouhourenrakusen\ ;
+実験心理学 < jikkenshinrigaku\ ;
+夜間預金々庫 < yakan''yokinkinko\ ;
+直接関係 < chokusetsukankei\ ;
+振替休日 < furikaekyuujitsu\ ;
+連邦準備制度 < renpoujunbiseido\ ;
+郵便小包 < yuubinkodzutsumi\ ;
+不法入国者 < fuhounyuukokusha\ ;
+単一神教 < tan''itsushinkyou\ ;
+虚弱体質 < kyojakutaishitsu\ ;
+多元方程式 < tagenhouteishiki\ ;
+国内総生産 < kokunaisouseisan\ ;
+脊索動物 < sekisakudoubutsu\ ;
+武力衝突 < buryokushoutotsu\ ;
+熱核反応 < netsukakuhan''nou\ ;
+鉄道公安官 < tetsudoukouankan\ ;
+種子植物 < shushishokubutsu\ ;
+平台型貨車 < hiradaigatakasha\ ;
+人称代名詞 < ninshoudaimeishi\ ;
+実業之日本 < jitsugyounonihon\ ;
+積層乾電池 < sekisoukandenchi\ ;
+行政管理庁 < gyouseikanrichou\ ;
+赤十字条約 < sekijuujijouyaku\ ;
+光学顕微鏡 < kougakukenbikyou\ ;
+超過勤務手当 < choukakinmuteate\ ;
+予備士官学校 < yobishikangakkou\ ;
+強制収容所 < kyouseishuuyoujo\ ;
+犯罪心理学 < hanzaishinrigaku\ ;
+連邦捜査局 < renpousousakyoku\ ;
+大陸移動説 < tairikuidousetsu\ ;
+直接行動 < chokusetsukoudou\ ;
+企業内教育 < kigyounaikyouiku\ ;
+求職広告 < kyuushokukoukoku\ ;
+実証哲学 < jisshoutetsugaku\ ;
+花嫁花婿 < hanayomehanamuko\ ;
+画像処理装置 < gazoushorisouchi\ ;
+窒素酸化物 < chissosankabutsu\ ;
+帝王切開術 < teiousekkaijutsu\ ;
+六十四分音符 < rokujuushibuonpu\ ;
+春機発動期 < shunkihatsudouki\ ;
+大名行列 < daimyougyouretsu\ ;
+高山植物 < kouzanshokubutsu\ ;
+放射性同位体 < houshaseidouitai\ ;
+天幕製造人 < tenmakuseizounin\ ;
+最優秀選手 < saiyuushuusenshu\ ;
+特別料金 < tokubetsuryoukin\ ;
+勝利又勝利 < shourimatashouri\ ;
+女流文学者 < joryuubungakusha\ ;
+中間小説 < chuukanshousetsu\ ;
+耐久消費財 < taikyuushouhizai\ ;
+非公式協議 < hikoushikikyougi\ ;
+生物濃縮 < seibutsunoushuku\ ;
+入力信号 < nyuuryokushingou\ ;
+空港使用料 < kuukoushiyouryou\ ;
+彫刻室座 < choukokushitsuza\ ;
+確率標本 < kakuritsuhyouhon\ ;
+無重力状態 < mujuuryokujoutai\ ;
+天照皇大神 < tenshoukoudaijin\ ;
+州立大学 < shuuritsudaigaku\ ;
+精神安定剤 < seishin''anteizai\ ;
+酸性酸化物 < sanseisankabutsu\ ;
+写実主義者 < shajitsushugisha\ ;
+冷戦型思考 < reisengatashikou\ ;
+亜熱帯高気圧 < anettaikoukiatsu\ ;
+多肉植物 < tanikushokubutsu\ ;
+電子工業会 < denshikougyoukai\ ;
+電子工学者 < denshikougakusha\ ;
+譲渡人 < yuzuriwatashinin\ ;
+熱伝導率 < netsudendouritsu\ ;
+民主共和国 < minshukyouwakoku\ ;
+磁気共鳴画像 < jikikyoumeigazou\ ;
+独立記念日 < dokuritsukinenbi\ ;
+化学調味料 < kagakuchoumiryou\ ;
+植物人間 < shokubutsuningen\ ;
+鳥獣保護区域 < choujuuhogokuiki\ ;
+終身雇用制 < shuushinkoyousei\ ;
+不定方程式 < futeihouteishiki\ ;
+物物交換 < butsubutsukoukan\ ;
+実力行使 < jitsuryokukoushi\ ;
+型式証明 < katashikishoumei\ ;
+連勝複式 < renshoufukushiki\ ;
+大修道院長 < daishuudouinchou\ ;
+直接協議 < chokusetsukyougi\ ;
+罪障消滅 < zaishoushoumetsu\ ;
+晩生植物 < banseishokubutsu\ ;
+潜在失業 < senzaishitsugyou\ ;
+港湾運送業 < kouwan''unsougyou\ ;
+周波数変調 < shuuhasuuhenchou\ ;
+乾燥地農業 < kansouchinougyou\ ;
+環境配慮書 < kankyouhairyosho\ ;
+直接比較 < chokusetsuhikaku\ ;
+固体物理学 < kotaibutsurigaku\ ;
+核抑止力 < kakuyokushiryoku\ ;
+国際援助機関 < kokusaienjokikan\ ;
+組織労働者 < soshikiroudousha\ ;
+営業報告書 < eigyouhoukokusho\ ;
+万物流転 < banbutsuryuuten\ ;
+軟式庭球 < nanshikiteikyuu\ ;
+広告代理店 < koukokudairiten\ ;
+修道生活 < shuudouseikatsu\ ;
+戦時国際法 < senjikokusaihou\ ;
+秘密警察 < himitsukeisatsu\ ;
+法人株主 < houjinkabunushi\ ;
+内幕話 < uchimakubanashi\ ;
+間接照明 < kansetsushoumei\ ;
+紛骨砕身 < funkotsusaishin\ ;
+両棲動物 < ryouseidoubutsu\ ;
+多額納税者 < tagakunouzeisha\ ;
+太元帥妙王 < daigensuimyouou\ ;
+集約農業 < shuuyakunougyou\ ;
+廃疾条件 < haishitsujouken\ ;
+能率賃金 < nouritsuchingin\ ;
+中部太平洋 < chuubutaiheiyou\ ;
+企業内組合 < kigyounaikumiai\ ;
+単刀直入 < tantouchokunyuu\ ;
+太平洋戦争 < taiheiyousensou\ ;
+三文小説 < sanmonshousetsu\ ;
+筋肉注射 < kin''nikuchuusha\ ;
+四通八達 < shitsuuhattatsu\ ;
+連帯保証人 < rentaihoshounin\ ;
+軍国主義者 < gunkokushugisha\ ;
+割増運賃 < warimashiunchin\ ;
+南極観測 < nankyokukansoku\ ;
+一目瞭然 < ichimokuryouzen\ ;
+素人下宿 < shiroutogeshuku\ ;
+学校給食 < gakkoukyuushoku\ ;
+反帝国主義 < hanteikokushugi\ ;
+間接撮影 < kansetsusatsuei\ ;
+会社更生法 < kaishakouseihou\ ;
+国選弁護人 < kokusenbengonin\ ;
+白川夜船 < shirakawayofune\ ;
+自然地理学 < shizenchirigaku\ ;
+地域的分布 < chiikitekibunpu\ ;
+無政府主義者 < museifushugisha\ ;
+剪断安定性 < sendan''anteisei\ ;
+特筆大書 < tokuhitsutaisho\ ;
+高分子化学 < koubunshikagaku\ ;
+情報公開法 < jouhoukoukaihou\ ;
+反射望遠鏡 < hanshabouenkyou\ ;
+食品工業 < shokuhinkougyou\ ;
+棘皮動物 < kyokuhidoubutsu\ ;
+怪力乱神 < kairyokuranshin\ ;
+人生哲学 < jinseitetsugaku\ ;
+特別委員会 < tokubetsuiinkai\ ;
+内需主導型 < naijushudougata\ ;
+晴天乱気流 < seitenrankiryuu\ ;
+新婚生活 < shinkonseikatsu\ ;
+２０００年問題 < nisen''nenmondai\ ;
+公開入札 < koukainyuusatsu\ ;
+基本的人権 < kihontekijinken\ ;
+株式市場 < kabushikishijou\ ;
+学業成績 < gakugyouseiseki\ ;
+戦争犯罪人 < sensouhanzainin\ ;
+物質名詞 < busshitsumeishi\ ;
+反対貿易風 < hantaibouekifuu\ ;
+短編小説 < tanpenshousetsu\ ;
+道路交通法 < dourokoutsuuhou\ ;
+共産国家郡 < kyousankokkagun\ ;
+商業数学 < shougyousuugaku\ ;
+仮装巡洋艦 < kasoujun''youkan\ ;
+教育基本法 < kyouikukihonhou\ ;
+生産者価格 < seisanshakakaku\ ;
+最小二乗法 < saishounijouhou\ ;
+脱出速度 < dasshutsusokudo\ ;
+特別総会 < tokubetsusoukai\ ;
+第一楽章 < daiichigakushou\ ;
+主幹研究員 < shukankenkyuuin\ ;
+官僚主義者 < kanryoushugisha\ ;
+小選挙区制 < shousenkyokusei\ ;
+索条鉄道 < sakujoutetsudou\ ;
+軍記物語 < gunkimonogatari\ ;
+厳正中立 < genseichuuritsu\ ;
+一日一夜 < ichinichiichiya\ ;
+陰陰滅滅 < in''inmetsumetsu\ ;
+就職浪人 < shuushokurounin\ ;
+自転車操業 < jitenshasougyou\ ;
+純潔教育 < junketsukyouiku\ ;
+世界新記録 < sekaishinkiroku\ ;
+宗教改革 < shuukyoukaikaku\ ;
+商工会議所 < shoukoukaigisho\ ;
+弾劾裁判所 < dangaisaibansho\ ;
+支離滅裂 < shirimetsuretsu\ ;
+国民宿舎 < kokuminshukusha\ ;
+保護関税率 < hogokanzeiritsu\ ;
+独立宣言 < dokuritsusengen\ ;
+副腎皮質 < fukujinhishitsu\ ;
+国民生活 < kokuminseikatsu\ ;
+積載能力 < sekisainouryoku\ ;
+収容能力 < shuuyounouryoku\ ;
+腰高障子 < koshidakashouji\ ;
+年頃日頃 < toshigorohigoro\ ;
+集札係 < shuusatsugakari\ ;
+準禁治産者 < junkinchisansha\ ;
+議院内閣制 < giin''naikakusei\ ;
+通俗文学 < tsuuzokubungaku\ ;
+金槌頭 < kanadzuchiatama\ ;
+優先株主 < yuusenkabunushi\ ;
+写真測量 < shashinsokuryou\ ;
+企業体質 < kigyoutaishitsu\ ;
+生活保護法 < seikatsuhogohou\ ;
+猪突猛進 < chototsumoushin\ ;
+共産主義者 < kyousanshugisha\ ;
+正安息香酸 < seiansokukousan\ ;
+公害病患者 < kougaibyoukanja\ ;
+世界保健機関 < sekaihokenkikan\ ;
+学生割引 < gakuseiwaribiki\ ;
+財政投融資 < zaiseitouyuushi\ ;
+価格圧力 < kakakuatsuryoku\ ;
+港湾労働者 < kouwanroudousha\ ;
+内陸性気候 < nairikuseikikou\ ;
+中央標準時 < chuuouhyoujunji\ ;
+表現形式 < hyougenkeishiki\ ;
+投光照明器 < toukoushoumeiki\ ;
+出願書類 < shutsuganshorui\ ;
+総同盟罷業 < soudoumeihigyou\ ;
+宗教教育 < shuukyoukyouiku\ ;
+余裕綽綽 < yoyuushakushaku\ ;
+知的能力 < chitekinouryoku\ ;
+反骨精神 < hankotsuseishin\ ;
+正確爆撃 < seikakubakugeki\ ;
+日英通訳 < nichieitsuuyaku\ ;
+最高裁判所 < saikousaibansho\ ;
+食物繊維 < shokumotsusen''i\ ;
+算術級数 < sanjutsukyuusuu\ ;
+入力装置 < nyuuryokusouchi\ ;
+職業訓練 < shokugyoukunren\ ;
+探偵小説 < tanteishousetsu\ ;
+生活反応 < seikatsuhan''nou\ ;
+営団地下鉄 < eidanchikatetsu\ ;
+松下電器 < matsushitadenki\ ;
+知識階級 < chishikikaikyuu\ ;
+株式会社 < kabushikigaisha\ ;
+一時預所 < ichijiazukarijo\ ;
+飽和化合物 < houwakagoubutsu\ ;
+拡大解釈 < kakudaikaishaku\ ;
+金属探知機 < kinzokutanchiki\ ;
+浮動小数点 < fudoushousuuten\ ;
+品質保証 < hinshitsuhoshou\ ;
+言語心理学 < gengoshinrigaku\ ;
+信仰告白 < shinkoukokuhaku\ ;
+格物致知 < kakubutsuchichi\ ;
+一姫二太郎 < ichihimenitarou\ ;
+界面活性剤 < kaimenkasseizai\ ;
+米穀通帳 < beikokutsuuchou\ ;
+人生案内欄 < jinseian''nairan\ ;
+実用新案 < jitsuyoushin''an\ ;
+心身障害 < shinshinshougai\ ;
+一分二十秒 < ippun''nijuubyou\ ;
+速戦即決 < sokusensokketsu\ ;
+化学吸着 < kagakukyuuchaku\ ;
+四方山話 < yomoyamabanashi\ ;
+皇室典範 < koushitsutenpan\ ;
+南阿共和国 < nan''akyouwakoku\ ;
+二十四時間制 < nijuuyojikansei\ ;
+特別国会 < tokubetsukokkai\ ;
+一坪本社 < hitotsubohonsha\ ;
+早口言葉 < hayakuchikotoba\ ;
+深山幽谷 < shinzan''yuukoku\ ;
+通商産業 < tsuushousangyou\ ;
+主戦闘戦車 < shusentousensha\ ;
+建築面積 < kenchikumenseki\ ;
+比較言語学 < hikakugengogaku\ ;
+盤根錯節 < bankonsakusetsu\ ;
+内的生活 < naitekiseikatsu\ ;
+内政不干渉 < naiseifukanshou\ ;
+秘密漏洩 < himitsurousetsu\ ;
+高等裁判所 < koutousaibansho\ ;
+出札掛 < shussatsugakari\ ;
+玉石混淆 < gyokusekikonkou\ ;
+雛鑑別者 < hinakanbetsusha\ ;
+終身年金 < shuushin''nenkin\ ;
+人物寸描 < jinbutsusunbyou\ ;
+商品目録 < shouhinmokuroku\ ;
+外食産業 < gaishokusangyou\ ;
+資源節約 < shigensetsuyaku\ ;
+球面幾何学 < kyuumenkikagaku\ ;
+静脈注射 < joumyakuchuusha\ ;
+冒険小説 < boukenshousetsu\ ;
+熱硬化物 < netsukoukabutsu\ ;
+電子顕微鏡 < denshikenbikyou\ ;
+国有鉄道 < kokuyuutetsudou\ ;
+確率変数 < kakuritsuhensuu\ ;
+開発計画 < kaihatsukeikaku\ ;
+労働生産性 < roudouseisansei\ ;
+有害物質 < yuugaibusshitsu\ ;
+情状酌量 < joujoushakuryou\ ;
+侵略戦争 < shinryakusensou\ ;
+平行四辺形 < heikoushihenkei\ ;
+冒頭陳述 < boutouchinjutsu\ ;
+焼身自殺 < shoushinjisatsu\ ;
+感傷主義者 < kanshoushugisha\ ;
+学生自治会 < gakuseijichikai\ ;
+大安吉日 < taiankichinichi\ ;
+矯正視力 < kyouseishiryoku\ ;
+年金受給者 < nenkinjukyuusha\ ;
+研究開発 < kenkyuukaihatsu\ ;
+三指鴎 < mitsuyubikamome\ ;
+談合入札 < dangounyuusatsu\ ;
+非同期通信 < hidoukitsuushin\ ;
+三十年戦争 < sanjuunensensou\ ;
+閉所恐怖症 < heijokyoufushou\ ;
+司法研修所 < shihoukenshuujo\ ;
+陸生動物 < rikuseidoubutsu\ ;
+低金利政策 < teikinriseisaku\ ;
+看護婦養成所 < kangofuyouseijo\ ;
+南太平洋 < minamitaiheiyou\ ;
+麻薬常用者 < mayakujouyousha\ ;
+学生生活 < gakuseiseikatsu\ ;
+長距離列車 < choukyoriressha\ ;
+懲罰委員会 < choubatsuiinkai\ ;
+１１９番 < hyakujuukyuuban\ ;
+有機化合物 < yuukikagoubutsu\ ;
+結合組織 < ketsugousoshiki\ ;
+不当労働行為 < futouroudoukoui\ ;
+彫心鏤骨 < choushinrukotsu\ ;
+縁日商人 < en''nichishounin\ ;
+心神耗弱 < shinshinmoujaku\ ;
+短期貸付 < tankikashitsuke\ ;
+楽天主義者 < rakutenshugisha\ ;
+左中括弧 < hidarichuukakko\ ;
+無条件降伏 < mujoukenkoufuku\ ;
+運転免許証 < untenmenkyoshou\ ;
+格闘戦部隊 < kakutousenbutai\ ;
+黒色人種 < kokushokujinshu\ ;
+公式発表 < koushikihappyou\ ;
+展示即売会 < tenjisokubaikai\ ;
+軍事境界線 < gunjikyoukaisen\ ;
+軟骨組織 < nankotsusoshiki\ ;
+腰赤燕 < koshiakatsubame\ ;
+消費者団体 < shouhishadantai\ ;
+全体主義国 < zentaishugikoku\ ;
+星間物質 < seikanbusshitsu\ ;
+不可侵条約 < fukashinjouyaku\ ;
+生涯学習 < shougaigakushuu\ ;
+知識表現 < chishikihyougen\ ;
+源氏物語 < genjimonogatari\ ;
+七転八倒 < shichitenbattou\ ;
+座席指定券 < zasekishiteiken\ ;
+白色人種 < hakushokujinshu\ ;
+平家物語 < heikemonogatari\ ;
+拒絶反応 < kyozetsuhan''nou\ ;
+帰国子女枠 < kikokushijowaku\ ;
+特別待遇 < tokubetsutaiguu\ ;
+青天白日 < seitenhakujitsu\ ;
+天罰覿面 < tenbatsutekimen\ ;
+血族結婚 < ketsuzokukekkon\ ;
+発色現像 < hasshokugenshou\ ;
+入札価格 < nyuusatsukakaku\ ;
+連立内閣 < renritsunaikaku\ ;
+腹式呼吸 < fukushikikokyuu\ ;
+遺言補足書 < yuigonhosokusho\ ;
+低開発国 < teikaihatsukoku\ ;
+軽妙洒脱 < keimyoushadatsu\ ;
+鋼索鉄道 < kousakutetsudou\ ;
+炭鉱労働者 < tankouroudousha\ ;
+解析幾何学 < kaisekikikagaku\ ;
+現有勢力 < gen''yuuseiryoku\ ;
+経済性向上 < keizaiseikoujou\ ;
+遊休施設 < yuukyuushisetsu\ ;
+跳躍振動 < chouyakushindou\ ;
+地下核実験 < chikakakujikken\ ;
+比例代表制 < hireidaihyousei\ ;
+立憲君主政 < rikkenkunshusei\ ;
+魚雷発射管 < gyoraihasshakan\ ;
+損益分岐点 < son''ekibunkiten\ ;
+社会保険庁 < shakaihokenchou\ ;
+超然内閣 < chouzen''naikaku\ ;
+歩行者天国 < hokoushatengoku\ ;
+実業学校 < jitsugyougakkou\ ;
+私立大学 < shiritsudaigaku\ ;
+最低血圧 < saiteiketsuatsu\ ;
+尊属殺人 < sonzokusatsujin\ ;
+国民皆保険 < kokuminkaihoken\ ;
+診察室 < shinsatsushitsu\ ;
+中立地帯 < chuuritsuchitai\ ;
+両極地方 < ryoukyokuchihou\ ;
+連続殺人 < renzokusatsujin\ ;
+垂直分業 < suichokubungyou\ ;
+洗濯石鹸 < sentakusetsuken\ ;
+闘病生活 < toubyouseikatsu\ ;
+同文通達 < doubuntsuutatsu\ ;
+円転滑脱 < entenkatsudatsu\ ;
+単純再生産 < tanjunsaiseisan\ ;
+被選挙資格 < hisenkyoshikaku\ ;
+生物工学 < seibutsukougaku\ ;
+基準外賃金 < kijungaichingin\ ;
+一律減反 < ichiritsugentan\ ;
+人員縮少 < jin''inshukushou\ ;
+識別力 < shikibetsuryoku\ ;
+熱帯低気圧 < nettaiteikiatsu\ ;
+独立変数 < dokuritsuhensuu\ ;
+人定質問 < jinteishitsumon\ ;
+新約聖書 < shin''yakuseisho\ ;
+生殺与奪 < seisatsuyodatsu\ ;
+私自身 < watakushijishin\ ;
+平清盛 < tairanokiyomori\ ;
+殿様仕事 < tonosamashigoto\ ;
+台所用品 < daidokoroyouhin\ ;
+貴金属卸 < kikinzokuoroshi\ ;
+上方贅六 < kamigatazeiroku\ ;
+血族関係 < ketsuzokukankei\ ;
+子宮後屈 < shikyuukoukutsu\ ;
+南征北伐 < nanseihokubatsu\ ;
+現在完了時 < genzaikanryouji\ ;
+真実一路 < shinjitsuichiro\ ;
+特別運賃 < tokubetsuunchin\ ;
+等辺三角形 < touhensankakkei\ ;
+日常茶飯事 < nichijousahanji\ ;
+通常戦力 < tsuujousenryoku\ ;
+連鎖状球菌 < rensajoukyuukin\ ;
+利害得失 < rigaitokushitsu\ ;
+浅酌低唱 < senshakuteishou\ ;
+裸子植物 < rashishokubutsu\ ;
+借用証書 < shakuyoushousho\ ;
+共有結合 < kyouyuuketsugou\ ;
+原爆犠牲者 < genbakugiseisha\ ;
+回折領域 < kaisetsuryouiki\ ;
+職業意識 < shokugyouishiki\ ;
+外国投資家 < gaikokutoushika\ ;
+単式学級 < tanshikigakkyuu\ ;
+学術雑誌 < gakujutsuzasshi\ ;
+入出力 < nyuushutsuryoku\ ;
+紛失届 < funshitsutodoke\ ;
+電波天文学 < denpatenmongaku\ ;
+卒業試験 < sotsugyoushiken\ ;
+優性形質 < yuuseikeishitsu\ ;
+成長曲線 < seichoukyokusen\ ;
+百八十度 < hyakuhachijuudo\ ;
+大和撫子 < yamatonadeshiko\ ;
+好色文学 < koushokubungaku\ ;
+霊魂消滅 < reikonshoumetsu\ ;
+特別配当 < tokubetsuhaitou\ ;
+構造言語学 < kouzougengogaku\ ;
+風力階級 < fuuryokukaikyuu\ ;
+地域冷暖房 < chiikireidanbou\ ;
+流体力学 < ryuutairikigaku\ ;
+人工呼吸法 < jinkoukokyuuhou\ ;
+劣弱意識 < retsujakuishiki\ ;
+実証主義者 < jisshoushugisha\ ;
+求職係 < kyuushokugakari\ ;
+二股膏薬 < futamatakouyaku\ ;
+支持力理論 < shijiryokuriron\ ;
+物質代謝 < busshitsutaisha\ ;
+管轄官庁 < kankatsukanchou\ ;
+公開討論会 < koukaitouronkai\ ;
+修正申告 < shuuseishinkoku\ ;
+心理小説 < shinrishousetsu\ ;
+着陸地点 < chakurikuchiten\ ;
+文部科学省 < monbukagakushou\ ;
+特許明細書 < tokkyomeisaisho\ ;
+実験小説 < jikkenshousetsu\ ;
+原子爆発 < genshibakuhatsu\ ;
+税制調査会 < zeiseichousakai\ ;
+入力情報 < nyuuryokujouhou\ ;
+量子力学 < ryoushirikigaku\ ;
+奪三振王 < datsusanshin''ou\ ;
+発展途上国 < hattentojoukoku\ ;
+公共図書館 < koukyoutoshokan\ ;
+年末調整 < nenmatsuchousei\ ;
+学術論文 < gakujutsuronbun\ ;
+生物学者 < seibutsugakusha\ ;
+六百六号 < roppyakurokugou\ ;
+思弁哲学 < shibentetsugaku\ ;
+国内規格化 < kokunaikikakuka\ ;
+創立記念日 < souritsukinenbi\ ;
+金銭登録器 < kinsentourokuki\ ;
+抗生物質 < kouseibusshitsu\ ;
+労働組合法 < roudoukumiaihou\ ;
+素形材産業 < sokeizaisangyou\ ;
+活動写真 < katsudoushashin\ ;
+交換貿易制 < koukanbouekisei\ ;
+現地駐在員 < genchichuuzaiin\ ;
+最小自乗法 < saishoujijouhou\ ;
+小型乗用車 < kogatajouyousha\ ;
+属性値行列 < zokusegyouretsu\ ;
+海軍兵学校 < kaigunheigakkou\ ;
+精神薄弱 < seishinhakujaku\ ;
+強迫観念 < kyouhakukan''nen\ ;
+黄道十二宮 < koudoujuunikyuu\ ;
+苦情処理機関 < kujoushorikikan\ ;
+軍縮協定 < gunshukukyoutei\ ;
+着陸地帯 < chakurikuchitai\ ;
+炭塵爆発 < tanjinbakuhatsu\ ;
+補助記憶装置 < hojokiokusouchi\ ;
+生活環境 < seikatsukankyou\ ;
+出来高仕事 < dekidakashigoto\ ;
+技術革新 < gijutsukakushin\ ;
+資産負債表 < shisanfusaihyou\ ;
+粟粒結核 < zokuryuukekkaku\ ;
+版権所有者 < hankenshoyuusha\ ;
+信徒伝動者 < shintodendousha\ ;
+仮受取証 < kariuketorishou\ ;
+新聞配達 < shinbunhaitatsu\ ;
+卒業論文 < sotsugyouronbun\ ;
+登録商標 < tourokushouhyou\ ;
+信用銘柄 < shin''youmeigara\ ;
+操浄瑠璃 < ayatsurijoururi\ ;
+共同生活 < kyoudouseikatsu\ ;
+官能主義者 < kan''noushugisha\ ;
+伝達特性 < dentatsutokusei\ ;
+金壺眼 < kanatsubomanako\ ;
+信仰生活 < shinkouseikatsu\ ;
+郷土小説 < kyoudoshousetsu\ ;
+集団生活 < shuudanseikatsu\ ;
+聖霊降臨祭 < seireikourinsai\ ;
+駐日大使 < chuunichitaishi\ ;
+島国根性 < shimagunikonjou\ ;
+流行性脳炎 < ryuukouseinouen\ ;
+記念論文集 < kinenronbunshuu\ ;
+自動連結機 < jidourenketsuki\ ;
+大陸性気候 < tairikuseikikou\ ;
+左小括弧 < hidarishoukakko\ ;
+核兵器実験 < kakuheikijikken\ ;
+民族宗教 < minzokushuukyou\ ;
+日中韓越 < nitchuukan''etsu\ ;
+誇大妄想狂 < kodaimousoukyou\ ;
+黒色火薬 < kokushokukayaku\ ;
+万有神教 < ban''yuushinkyou\ ;
+頭脳流出 < zunouryuushutsu\ ;
+直接話法 < chokusetsuwahou\ ;
+身分証明書 < mibunshoumeisho\ ;
+文字多重放送 < mojitajuuhousou\ ;
+医師国家試験 < ishikokkashiken\ ;
+文化人類学 < bunkajinruigaku\ ;
+形質転換 < keishitsutenkan\ ;
+第三次産業 < daisanjisangyou\ ;
+正真正銘 < shoushinshoumei\ ;
+爆弾発言 < bakudanhatsugen\ ;
+文化大革命 < bunkadaikakumei\ ;
+直立不動 < chokuritsufudou\ ;
+商業道徳 < shougyoudoutoku\ ;
+陳列室 < chinretsushitsu\ ;
+特設会場 < tokusetsukaijou\ ;
+非局所分岐 < hikyokushobunki\ ;
+核物理学 < kakubutsurigaku\ ;
+肢体不自由児 < shitaifujiyuuji\ ;
+仮名漢字変換 < kanakanjihenkan\ ;
+直立猿人 < chokuritsuenjin\ ;
+関係代名詞 < kankeidaimeishi\ ;
+多国籍言語 < takokusekigengo\ ;
+超連結子 < chourenketsushi\ ;
+水銀気圧計 < suiginkiatsukei\ ;
+甲論乙駁 < kouron''otsubaku\ ;
+児童心理学 < jidoushinrigaku\ ;
+物的資源 < butsutekishigen\ ;
+直接支援 < chokusetsushien\ ;
+空洞化現象 < kuudoukagenshou\ ;
+無理方程式 < murihouteishiki\ ;
+新制中学 < shinseichuugaku\ ;
+圧力団体 < atsuryokudantai\ ;
+温血動物 < onketsudoubutsu\ ;
+交差対称性 < kousataishousei\ ;
+中立労連 < chuuritsurouren\ ;
+特別室 < tokubetsushitsu\ ;
+研究活動 < kenkyuukatsudou\ ;
+自然哲学 < shizentetsugaku\ ;
+株主総会 < kabunushisoukai\ ;
+性格判別 < seikakuhanbetsu\ ;
+喧嘩両成敗 < kenkaryouseibai\ ;
+過失傷害 < kashitsushougai\ ;
+通信工学 < tsuushinkougaku\ ;
+同一人物 < douitsujinbutsu\ ;
+国家公務員法 < kokkakoumuinhou\ ;
+商学博士 < shougakuhakushi\ ;
+心頭滅却 < shintoumekkyaku\ ;
+強行採決 < kyoukousaiketsu\ ;
+視聴覚機器 < shichoukakukiki\ ;
+就任演説 < shuunin''enzetsu\ ;
+染色体異常 < senshokutaiijou\ ;
+名論卓説 < meirontakusetsu\ ;
+注入教育 < chuunyuukyouiku\ ;
+向精神薬 < kouseishin''yaku\ ;
+結婚適齢期 < kekkontekireiki\ ;
+漸近的自由 < zenkintekijiyuu\ ;
+分列行進 < bunretsukoushin\ ;
+食料品店 < shokuryouhinten\ ;
+意志決定機関 < ishiketteikikan\ ;
+主辞素性原理 < shujisoseigenri\ ;
+潮汐摩擦 < chousekimasatsu\ ;
+節足動物 < sessokudoubutsu\ ;
+食物連鎖 < shokumotsurensa\ ;
+中肉中背 < chuunikuchuuzei\ ;
+社会民主党 < shakaiminshutou\ ;
+集中攻撃 < shuuchuukougeki\ ;
+確定判決 < kakuteihanketsu\ ;
+少女小説 < shoujoshousetsu\ ;
+私設応援団 < shisetsuouendan\ ;
+博学力行 < hakugakuryokkou\ ;
+経済同友会 < keizaidouyuukai\ ;
+反証可能性 < hanshoukanousei\ ;
+傍系血族 < boukeiketsuzoku\ ;
+中間内閣 < chuukan''naikaku\ ;
+単独供給 < tandokukyoukyuu\ ;
+搬送周波数 < hansoushuuhasuu\ ;
+失業保険 < shitsugyouhoken\ ;
+特別会計 < tokubetsukaikei\ ;
+振幅変調 < shinpukuhenchou\ ;
+広告収入 < koukokushuunyuu\ ;
+中国大陸 < chuugokutairiku\ ;
+最高指導者 < saikoushidousha\ ;
+放出物資 < houshutsubusshi\ ;
+配達証明 < haitatsushoumei\ ;
+最終目的 < saishuumokuteki\ ;
+葡萄状球菌 < budoujoukyuukin\ ;
+全翼飛行機 < zen''yokuhikouki\ ;
+一蓮托生 < ichirentakushou\ ;
+速効性肥料 < sokkouseihiryou\ ;
+三角測量 < sankakusokuryou\ ;
+動物学者 < doubutsugakusha\ ;
+化学物質 < kagakubusshitsu\ ;
+遅効性肥料 < chikouseihiryou\ ;
+国粋主義者 < kokusuishugisha\ ;
+熱原子核 < netsugenshikaku\ ;
+地質調査 < chishitsuchousa\ ;
+断弾性係数 < dandanseikeisuu\ ;
+歯列矯正 < shiretsukyousei\ ;
+四十七士 < shijuushichishi\ ;
+二次方程式 < nijihouteishiki\ ;
+十月革命 < juugatsukakumei\ ;
+応用心理学 < ouyoushinrigaku\ ;
+文質彬彬 < bunshitsuhinpin\ ;
+精神異常者 < seishin''ijousha\ ;
+紫水晶 < murasakizuishou\ ;
+信託契約 < shintakukeiyaku\ ;
+出生年月日 < shusseinengappi\ ;
+独立戦争 < dokuritsusensou\ ;
+火力発電 < karyokuhatsuden\ ;
+速達郵便 < sokutatsuyuubin\ ;
+弁護士事務所 < bengoshijimusho\ ;
+四百四病 < shihyakushibyou\ ;
+動詞状名詞 < doushijoumeishi\ ;
+元帳残高 < motochouzandaka\ ;
+自由裁量権 < jiyuusairyouken\ ;
+中央集権化 < chuuoushuukenka\ ;
+無利息証券 < murisokushouken\ ;
+抽象美術 < chuushoubijutsu\ ;
+物質文明 < busshitsubunmei\ ;
+超物理学 < choubutsurigaku\ ;
+仁義礼智信 < jingireichishin\ ;
+更年期障害 < kounenkishougai\ ;
+国語審議会 < kokugoshingikai\ ;
+地方裁判所 < chihousaibansho\ ;
+食糧不足 < shokuryoubusoku\ ;
+公共施設 < koukyoushisetsu\ ;
+自動改札機 < jidoukaisatsuki\ ;
+南極条約 < nankyokujouyaku\ ;
+未就学児童 < mishuugakujidou\ ;
+兵力削減 < heiryokusakugen\ ;
+取締役 < torishimariyaku\ ;
+公職追放 < koushokutsuihou\ ;
+学術団体 < gakujutsudantai\ ;
+実時間処理 < jitsujikanshori\ ;
+共生生物 < kyouseiseibutsu\ ;
+被子植物 < hishishokubutsu\ ;
+有畜農業 < yuuchikunougyou\ ;
+寄生植物 < kiseishokubutsu\ ;
+預金準備率 < yokinjunbiritsu\ ;
+天体望遠鏡 < tentaibouenkyou\ ;
+社会諸科学 < shakaishokagaku\ ;
+武侠小説 < bukyoushousetsu\ ;
+木質繊維 < mokushitsusen''i\ ;
+直通列車 < chokutsuuressha\ ;
+転置行列 < tenchigyouretsu\ ;
+法律事務所 < houritsujimusho\ ;
+出動命令 < shutsudoumeirei\ ;
+舌先三寸 < shitasakisanzun\ ;
+大衆食堂 < taishuushokudou\ ;
+実利主義者 < jitsurishugisha\ ;
+内閣閣僚 < naikakukakuryou\ ;
+未確認情報 < mikakuninjouhou\ ;
+老人性痴呆 < roujinseichihou\ ;
+在外研究員 < zaigaikenkyuuin\ ;
+人口爆発 < jinkoubakuhatsu\ ;
+客観主義者 < kyakkanshugisha\ ;
+片口鰯 < katakuchiiwashi\ ;
+圧縮効率 < asshukukouritsu\ ;
+国立銀行 < kokuritsuginkou\ ;
+一病息災 < ichibyousokusai\ ;
+選手権大会 < senshukentaikai\ ;
+正金取引 < shoukintorihiki\ ;
+流通革命 < ryuutsuukakumei\ ;
+芸術作品 < geijutsusakuhin\ ;
+下級裁判所 < kakyuusaibansho\ ;
+逓降変圧器 < teikouhenatsuki\ ;
+限界顕微鏡 < genkaikenbikyou\ ;
+新興宗教 < shinkoushuukyou\ ;
+知識工学 < chishikikougaku\ ;
+体質改善 < taishitsukaizen\ ;
+片側通行 < katagawatsuukou\ ;
+南極大陸 < nankyokutairiku\ ;
+艶笑小話 < enshoukobanashi\ ;
+要撃戦闘機 < yougekisentouki\ ;
+商業美術 < shougyoubijutsu\ ;
+神色自若 < shinshokujijaku\ ;
+水際作戦 < mizugiwasakusen\ ;
+不公平競争 < fukouheikyousou\ ;
+物的証拠 < butsutekishouko\ ;
+公認会計士 < kouninkaikeishi\ ;
+操業短縮 < sougyoutanshuku\ ;
+不倒翁 < okiagarikoboshi\ ;
+内股膏薬 < uchimatagouyaku\ ;
+犯行声明文 < hankouseimeibun\ ;
+消費者価格 < shouhishakakaku\ ;
+音楽評論家 < ongakuhyouronka\ ;
+色彩感覚 < shikisaikankaku\ ;
+公安調査庁 < kouanchousachou\ ;
+乗降車優先 < joukoushayuusen\ ;
+人工甘味料 < jinkoukanmiryou\ ;
+在郷軍人会 < zaigougunjinkai\ ;
+自記湿度計 < jikishitsudokei\ ;
+大統一理論 < daitouitsuriron\ ;
+超能力者 < chounouryokusha\ ;
+検定教科書 < kenteikyoukasho\ ;
+医学技術士 < igakugijutsushi\ ;
+天皇誕生日 < ten''noutanjoubi\ ;
+太平洋地域 < taiheiyouchiiki\ ;
+木食上人 < mokujikishounin\ ;
+自由主義国家 < jiyuushugikokka\ ;
+連載小説 < rensaishousetsu\ ;
+資産再評価 < shisansaihyouka\ ;
+情緒障害児 < jouchoshougaiji\ ;
+日本国憲法 < nihonkokukenpou\ ;
+人民解放軍 < jinminkaihougun\ ;
+焦熱地獄 < shounetsujigoku\ ;
+骨粗鬆症 < kotsusoshoushou\ ;
+流通証券 < ryuutsuushouken\ ;
+差引勘定 < sashihikikanjou\ ;
+開腹手術 < kaifukushujutsu\ ;
+即日出荷 < sokujitsushukka\ ;
+絶対君主制 < zettaikunshusei\ ;
+株式配当 < kabushikihaitou\ ;
+蛍光物質 < keikoubusshitsu\ ;
+聴覚神経 < choukakushinkei\ ;
+懲戒免職 < choukaimenshoku\ ;
+芸術愛好家 < geijutsuaikouka\ ;
+確定申告 < kakuteishinkoku\ ;
+職業軍人 < shokugyougunjin\ ;
+私生児出産 < shiseijishussan\ ;
+生命維持装置 < seimeiijisouchi\ ;
+株式公開 < kabushikikoukai\ ;
+廃仏毀釈 < haibutsukishaku\ ;
+両院協議会 < ryouinkyougikai\ ;
+小田原提灯 < odawaradjouchin\ ;
+眼底出血 < ganteishukketsu\ ;
+信任投票 < shin''nintouhyou\ ;
+関連質問 < kanrenshitsumon\ ;
+建築業者 < kenchikugyousha\ ;
+哲学史要 < tetsugakushiyou\ ;
+知識産業 < chishikisangyou\ ;
+貨物自動車 < kamotsujidousha\ ;
+片手間仕事 < katatemashigoto\ ;
+神経回路網 < shinkeikairomou\ ;
+浚渫作業 < shunsetsusagyou\ ;
+卸売市場 < oroshiurishijou\ ;
+通信教育 < tsuushinkyouiku\ ;
+北斗七星 < hokutoshichisei\ ;
+正式発表 < seishikihappyou\ ;
+炭素化合物 < tansokagoubutsu\ ;
+暴力革命 < bouryokukakumei\ ;
+気管支喘息 < kikanshizensoku\ ;
+共産中国 < kyousanchuugoku\ ;
+森林鉄道 < shinrintetsudou\ ;
+経済協力 < keizaikyouryoku\ ;
+物的損害 < butsutekisongai\ ;
+不肖私 < fushouwatakushi\ ;
+空中爆撃 < kuuchuubakugeki\ ;
+不動産業者 < fudousangyousha\ ;
+海洋気象台 < kaiyoukishoudai\ ;
+失業率 < shitsugyouritsu\ ;
+年中失言 < nenjuushitsugen\ ;
+抽出物 < chuushutsubutsu\ ;
+正方行列 < seihougyouretsu\ ;
+自動翻訳機 < jidouhon''yakuki\ ;
+老若男女 < rounyakunan''nyo\ ;
+縄文式土器 < joumonshikidoki\ ;
+修了証書 < shuuryoushousho\ ;
+下等植物 < katoushokubutsu\ ;
+輸入課徴金 < yunyuukachoukin\ ;
+顕花植物 < kenkashokubutsu\ ;
+重商主義者 < juushoushugisha\ ;
+地元警察 < jimotokeisatsu\ ;
+中国地方 < chuugokuchihou\ ;
+女友達 < on''natomodachi\ ;
+三校終了 < sankoushuuryou\ ;
+人工血液 < jinkouketsueki\ ;
+有性生殖 < yuuseiseishoku\ ;
+錬金術師 < renkinjutsushi\ ;
+遺産相続税 < isansouzokuzei\ ;
+対日感情 < tainichikanjou\ ;
+毘廬遮那仏 < birushanabutsu\ ;
+猥褻文書 < waisetsubunsho\ ;
+百日咳 < hyakunichizeki\ ;
+仮装行列 < kasougyouretsu\ ;
+正弦曲線 < seigenkyokusen\ ;
+没個性的 < botsukoseiteki\ ;
+独立運動 < dokuritsuundou\ ;
+関税自主権 < kanzeijishuken\ ;
+脱脂粉乳 < dasshifun''nyuu\ ;
+基本周波数 < kihonshuuhasuu\ ;
+原子力船 < genshiryokusen\ ;
+四輪駆動車 < yonrinkudousha\ ;
+三球三振 < sankyuusanshin\ ;
+面白半分 < omoshirohanbun\ ;
+商船大学 < shousendaigaku\ ;
+天地万物 < tenchibanbutsu\ ;
+行列式 < gyouretsushiki\ ;
+耐熱合金 < tainetsugoukin\ ;
+静電気防止 < seidenkiboushi\ ;
+政略結婚 < seiryakukekkon\ ;
+特高警察 < tokkoukeisatsu\ ;
+煙突掃除夫 < entotsusoujifu\ ;
+商慣習法 < shoukanshuuhou\ ;
+昆虫採集 < konchuusaishuu\ ;
+中国拳法 < chuugokukenpou\ ;
+美術監督 < bijutsukantoku\ ;
+取扱人 < toriatsukainin\ ;
+副大統領 < fukudaitouryou\ ;
+休戦記念日 < kyuusenkinenbi\ ;
+焦性硫酸 < shouseiryuusan\ ;
+学校群制度 < gakkougunseido\ ;
+周旋業者 < shuusengyousha\ ;
+南回帰線 < minamikaikisen\ ;
+放射線技師 < houshasengishi\ ;
+胎生動物 < taiseidoubutsu\ ;
+全国中継 < zenkokuchuukei\ ;
+牛歩戦術 < gyuuhosenjutsu\ ;
+突撃隊員 < totsugekitaiin\ ;
+約百万円 < yakuhyakumanen\ ;
+人海戦術 < jinkaisenjutsu\ ;
+出入国 < shutsunyuukoku\ ;
+家庭裁判所 < kateisaibansho\ ;
+天文学的 < tenmongakuteki\ ;
+思案投首 < shian''nagekubi\ ;
+長距離打者 < choukyoridasha\ ;
+裏口営業 < uraguchieigyou\ ;
+伝奇小説 < denkishousetsu\ ;
+中立主義 < chuuritsushugi\ ;
+才槌頭 < saidzuchiatama\ ;
+研究資料 < kenkyuushiryou\ ;
+古生物学 < koseibutsugaku\ ;
+更生施設 < kouseishisetsu\ ;
+片道切符 < katamichikippu\ ;
+日本標準時 < nihonhyoujunji\ ;
+接続助詞 < setsuzokujoshi\ ;
+誘導電動機 < yuudoudendouki\ ;
+逆説的 < gyakusetsuteki\ ;
+英仏海峡 < eifutsukaikyou\ ;
+稔実不良 < nenjitsufuryou\ ;
+建国記念日 < kenkokukinenbi\ ;
+公衆浴場 < koushuuyokujou\ ;
+副食物 < fukushokubutsu\ ;
+端末装置 < tanmatsusouchi\ ;
+文字符号化法 < mojifugoukahou\ ;
+伝統主義者 < dentoushugisha\ ;
+駐車料金 < chuusharyoukin\ ;
+資本取引 < shihontorihiki\ ;
+株式相場 < kabushikisouba\ ;
+登記番号欄 < toukibangouran\ ;
+歩行者優先 < hokoushayuusen\ ;
+無人宇宙船 < mujin''uchuusen\ ;
+免疫反応 < men''ekihan''nou\ ;
+建設会社 < kensetsugaisha\ ;
+本末顛倒 < honmatsutentou\ ;
+初志貫徹 < shoshikantetsu\ ;
+羅萄日辞典 < raponichijiten\ ;
+産業革命 < sangyoukakumei\ ;
+定年退職 < teinentaishoku\ ;
+国際親善 < kokusaishinzen\ ;
+性格診断 < seikakushindan\ ;
+全身衰弱 < zenshinsuijaku\ ;
+問題解決 < mondaikaiketsu\ ;
+温暖化現象 < ondankagenshou\ ;
+哺乳動物 < honyuudoubutsu\ ;
+資本注入 < shihonchuunyuu\ ;
+修業年限 < shuugyounengen\ ;
+婦人参政権 < fujinsanseiken\ ;
+自由民主党 < jiyuuminshutou\ ;
+緑綬褒章 < ryokujuhoushou\ ;
+研究題目 < kenkyuudaimoku\ ;
+病床日誌 < byoushounisshi\ ;
+算術計算 < sanjutsukeisan\ ;
+帰化植物 < kikashokubutsu\ ;
+金融恐慌 < kin''yuukyoukou\ ;
+個体発生論 < kotaihasseiron\ ;
+大威徳妙王 < daiitokumyouou\ ;
+特別措置 < tokubetsusochi\ ;
+弛張振動 < shichoushindou\ ;
+戦戦兢兢 < sensenkyoukyou\ ;
+大韓航空機 < taikankoukuuki\ ;
+観光施設 < kankoushisetsu\ ;
+善男善女 < zen''nanzen''nyo\ ;
+信用販売 < shin''youhanbai\ ;
+末梢神経 < masshoushinkei\ ;
+骨髄移植 < kotsuzuiishoku\ ;
+道徳教育 < doutokukyouiku\ ;
+金殿玉楼 < kindengyokurou\ ;
+不特定多数 < futokuteitasuu\ ;
+瓢箪鯰 < hyoutan''namazu\ ;
+東半球 < higashihankyuu\ ;
+動物質 < doubutsushitsu\ ;
+点滴注射 < tentekichuusha\ ;
+工学修士 < kougakushuushi\ ;
+門外不出 < mongaifushutsu\ ;
+主情主義者 < shujoushugisha\ ;
+法定代理人 < houteidairinin\ ;
+通信装置 < tsuushinsouchi\ ;
+作戦計画 < sakusenkeikaku\ ;
+公開図書館 < koukaitoshokan\ ;
+場外取引 < jougaitorihiki\ ;
+信託銀行 < shintakuginkou\ ;
+一時間以内 < ichijikan''inai\ ;
+境界調整 < kyoukaichousei\ ;
+主力艦隊 < shuryokukantai\ ;
+数理言語学 < suurigengogaku\ ;
+職場環境 < shokubakankyou\ ;
+越中褌 < etchuufundoshi\ ;
+割引価格 < waribikikakaku\ ;
+整形手術 < seikeishujutsu\ ;
+酸性食品 < sanseishokuhin\ ;
+原子力学 < genshirikigaku\ ;
+水中翼船 < suichuuyokusen\ ;
+遺産相続人 < isansouzokunin\ ;
+発達段階 < hattatsudankai\ ;
+方向探知器 < houkoutanchiki\ ;
+諸説紛紛 < shosetsufunpun\ ;
+乳酸飲料 < nyuusan''inryou\ ;
+個々別別 < kokobetsubetsu\ ;
+口不調法 < kuchibuchouhou\ ;
+超自然的 < choushizenteki\ ;
+熱可塑樹脂 < netsukasojushi\ ;
+国防長官 < kokubouchoukan\ ;
+正統信教 < seitoushinkyou\ ;
+強化合宿 < kyoukagasshuku\ ;
+朝鮮人参 < chousen''ninjin\ ;
+印半纏 < shirushibanten\ ;
+束縛変項 < sokubakuhenkou\ ;
+神経組織 < shinkeisoshiki\ ;
+超越関数 < chouetsukansuu\ ;
+効率向上 < kouritsukoujou\ ;
+無機化合物 < mukikagoubutsu\ ;
+仕方話 < shikatabanashi\ ;
+大脳皮質 < dainouhishitsu\ ;
+改札係 < kaisatsugakari\ ;
+生体力学 < seitairikigaku\ ;
+重要文化財 < juuyoubunkazai\ ;
+山下公園 < yamashitakouen\ ;
+居間兼食堂 < imakenshokudou\ ;
+口述試験 < koujutsushiken\ ;
+一日片時 < ichinichihenji\ ;
+社会生活 < shakaiseikatsu\ ;
+出版目録 < shupanmokuroku\ ;
+別途支出 < bettoshishutsu\ ;
+申告納税 < shinkokunouzei\ ;
+剃刀触 < kamisorikabure\ ;
+売渡証 < uriwatashishou\ ;
+即決裁判 < sokketsusaiban\ ;
+異方導電膜 < ihoudoudenmaku\ ;
+独立自尊 < dokuritsujison\ ;
+婚約指輪 < kon''yakuyubiwa\ ;
+血液凝固 < ketsuekigyouko\ ;
+出処進退 < shusshoshintai\ ;
+弓矢八幡 < yumiyahachiman\ ;
+警察手帳 < keisatsutechou\ ;
+職業婦人 < shokugyoufujin\ ;
+指示代名詞 < shijidaimeishi\ ;
+回復不可能 < kaifukufukanou\ ;
+至福千年 < shifukusen''nen\ ;
+天地開闢 < tenchikaibyaku\ ;
+冷凍食品 < reitoushokuhin\ ;
+補足説明 < hosokusetsumei\ ;
+信用状態 < shin''youjoutai\ ;
+絶対湿度 < zettaishitsudo\ ;
+明明白白 < meimeihakuhaku\ ;
+拝金主義者 < haikinshugisha\ ;
+軍備縮小 < gunbishukushou\ ;
+南無阿弥陀仏 < namuamidabutsu\ ;
+暴力団員 < bouryokudan''in\ ;
+大学教育 < daigakukyouiku\ ;
+第三人称 < daisan''ninshou\ ;
+人道主義者 < jindoushugisha\ ;
+永世中立 < eiseichuuritsu\ ;
+研究領域 < kenkyuuryouiki\ ;
+教育勅語 < kyouikuchokugo\ ;
+告別式 < kokubetsushiki\ ;
+精神障害 < seishinshougai\ ;
+天空海濶 < tenkuukaikatsu\ ;
+食餌療法 < shokujiryouhou\ ;
+中央分離帯 < chuuoubunritai\ ;
+温帯低気圧 < ontaiteikiatsu\ ;
+超国家主義 < choukokkashugi\ ;
+作者不知 < sakushashirazu\ ;
+生活水準 < seikatsusuijun\ ;
+卵生動物 < ranseidoubutsu\ ;
+筋肉労働 < kin''nikuroudou\ ;
+南支那海 < minamishinakai\ ;
+学術用語 < gakujutsuyougo\ ;
+自然食品 < shizenshokuhin\ ;
+商業組合 < shougyoukumiai\ ;
+語彙機能文法 < goikinoubunpou\ ;
+職権乱用 < shokkenran''you\ ;
+伴食大臣 < banshokudaijin\ ;
+夾雑物 < kyouzatsubutsu\ ;
+利害関係者 < rigaikankeisha\ ;
+衆議員議長 < shuugiingichou\ ;
+岡目八目 < okamehachimoku\ ;
+導波管定数 < douhakanteisuu\ ;
+斬新奇抜 < zanshinkibatsu\ ;
+直情径行 < chokujoukeikou\ ;
+私立学校 < shiritsugakkou\ ;
+中日辞典 < chuunichijiten\ ;
+丁字形定規 < teijigatajougi\ ;
+簡易裁判所 < kan''isaibansho\ ;
+分類目録 < bunruimokuroku\ ;
+内分泌腺 < naibunpitsusen\ ;
+反動主義者 < handoushugisha\ ;
+活路開拓 < katsurokaitaku\ ;
+平板測量 < heibansokuryou\ ;
+源泉徴収 < gensenchoushuu\ ;
+通信衛星 < tsuushin''eisei\ ;
+清算取引 < seisantorihiki\ ;
+特殊学級 < tokushugakkyuu\ ;
+信用調査 < shin''youchousa\ ;
+先物売買 < sakimonobaibai\ ;
+七難八苦 < shichinanhakku\ ;
+角膜移植 < kakumakuishoku\ ;
+音楽図書館 < ongakutoshokan\ ;
+救急病院 < kyuukyuubyouin\ ;
+接触感染 < sesshokukansen\ ;
+税金申告 < zeikinshinkoku\ ;
+絨毯爆撃 < juutanbakugeki\ ;
+七転八起 < shichitenhakki\ ;
+乗用自動車 < jouyoujidousha\ ;
+水銀中毒 < suiginchuudoku\ ;
+露出不足 < roshutsubusoku\ ;
+平上去入 < hyoujoukyonyuu\ ;
+国立公園 < kokuritsukouen\ ;
+公立学校 < kouritsugakkou\ ;
+通信圏外 < tsuushinkengai\ ;
+約束手形 < yakusokutegata\ ;
+召集令状 < shoushuureijou\ ;
+圧倒的多数 < attoutekitasuu\ ;
+新入社員 < shin''nyuushain\ ;
+日南海岸 < nichinankaigan\ ;
+非政府組織 < hiseifusoshiki\ ;
+汎整数式 < hanseisuushiki\ ;
+自由労働者 < jiyuuroudousha\ ;
+古物商人 < kobutsushounin\ ;
+緑白色 < ryokuhakushoku\ ;
+膝関節 < shitsukansetsu\ ;
+武力干渉 < buryokukanshou\ ;
+公衆道徳 < koushuudoutoku\ ;
+怪奇小説 < kaikishousetsu\ ;
+博愛主義者 < hakuaishugisha\ ;
+秘密投票 < himitsutouhyou\ ;
+圧力容器 < atsuryokuyouki\ ;
+求婚広告 < kyuukonkoukoku\ ;
+心因反応 < shin''inhan''nou\ ;
+定期乗車券 < teikijoushaken\ ;
+電気洗濯機 < denkisentakuki\ ;
+麦藁帽子 < mugiwaraboushi\ ;
+納税申告 < nouzeishinkoku\ ;
+反対称的 < hantaishouteki\ ;
+終戦記念日 < shuusenkinenbi\ ;
+住友銀行 < sumitomoginkou\ ;
+就業人口 < shuugyoujinkou\ ;
+全勝優勝 < zenshouyuushou\ ;
+建設大臣 < kensetsudaijin\ ;
+非良心的 < hiryoushinteki\ ;
+絶対必要 < zettaihitsuyou\ ;
+社会主義者 < shakaishugisha\ ;
+蛸足配線 < takoashihaisen\ ;
+工業大学 < kougyoudaigaku\ ;
+金壱万円 < kin''ichiman''en\ ;
+旅客列車 < ryokyakuressha\ ;
+小型自動車 < kogatajidousha\ ;
+立会演説 < tachiaienzetsu\ ;
+奨学資金 < shougakushikin\ ;
+民事訴訟法 < minjisoshouhou\ ;
+現金収入 < genkinshuunyuu\ ;
+第二量子化 < dainiryoushika\ ;
+二原子分子 < nigenshibunshi\ ;
+学術会議 < gakujutsukaigi\ ;
+法律問題 < houritsumondai\ ;
+直通電話 < chokutsuudenwa\ ;
+台所道具 < daidokorodougu\ ;
+電源供給 < dengenkyoukyuu\ ;
+常任指揮者 < jouninshikisha\ ;
+水陸両用 < suirikuryouyou\ ;
+通信手段 < tsuushinshudan\ ;
+下請会社 < shitaukegaisha\ ;
+第一人称 < daiichininshou\ ;
+学歴社会 < gakurekishakai\ ;
+農事試験場 < noujishikenjou\ ;
+情報化社会 < jouhoukashakai\ ;
+演奏曲目 < ensoukyokumoku\ ;
+思想警察 < shisoukeisatsu\ ;
+公益質屋 < kouekishichiya\ ;
+接続口 < setsuzokuguchi\ ;
+偕老同穴 < kairoudouketsu\ ;
+主観主義者 < shukanshugisha\ ;
+無教会主義 < mukyoukaishugi\ ;
+米価審議会 < beikashingikai\ ;
+健康食品 < kenkoushokuhin\ ;
+抽象名詞 < chuushoumeishi\ ;
+小乗仏教 < shoujoubukkyou\ ;
+時間外労働 < jikangairoudou\ ;
+合目的性 < goumokutekisei\ ;
+電力会社 < denryokugaisha\ ;
+百科全書派 < hyakkazenshoha\ ;
+二百二十日 < nihyakuhatsuka\ ;
+海洋開発 < kaiyoukaihatsu\ ;
+細胞分裂 < saiboubunretsu\ ;
+急行料金 < kyuukouryoukin\ ;
+丁丁発止 < chouchouhasshi\ ;
+教職課程 < kyoushokukatei\ ;
+二重価格制 < nijuukakakusei\ ;
+刑事訴訟法 < keijisoshouhou\ ;
+凝着力 < gyouchakuryoku\ ;
+懐勘定 < futokorokanjou\ ;
+出版業者 < shuppangyousha\ ;
+就職運動 < shuushokuundou\ ;
+略奪行為 < ryakudatsukoui\ ;
+理非曲直 < rihikyokuchoku\ ;
+提出物 < teishutsubutsu\ ;
+別冊付録 < bessatsufuroku\ ;
+三権分立 < sankenbunritsu\ ;
+出札口 < shussatsuguchi\ ;
+販売代理店 < hanbaidairiten\ ;
+共同研究 < kyoudoukenkyuu\ ;
+新刊紹介 < shinkanshoukai\ ;
+棟割長屋 < munewarinagaya\ ;
+修好条約 < shuukoujouyaku\ ;
+冠状動脈 < kanjoudoumyaku\ ;
+空空漠漠 < kuukuubakubaku\ ;
+悪性貧血 < akuseihinketsu\ ;
+休戦協定 < kyuusenkyoutei\ ;
+神経衰弱 < shinkeisuijaku\ ;
+回折格子 < kaisetsukoushi\ ;
+先決問題 < senketsumondai\ ;
+東亜諸民族 < touashominzoku\ ;
+就業日数 < shuugyounissuu\ ;
+実験動物 < jikkendoubutsu\ ;
+単葉飛行機 < tan''youhikouki\ ;
+忠君愛国 < chuukun''aikoku\ ;
+求人広告 < kyuujinkoukoku\ ;
+独立独歩 < dokuritsudoppo\ ;
+有害食品 < yuugaishokuhin\ ;
+国会議事録 < kokkaigijiroku\ ;
+麻薬中毒 < mayakuchuudoku\ ;
+金属工業 < kinzokukougyou\ ;
+卸売物価 < oroshiuribukka\ ;
+共同出資 < kyoudoushusshi\ ;
+狭軌鉄道 < kyoukitetsudou\ ;
+商業手形 < shougyoutegata\ ;
+郵便配達 < yuubinhaitatsu\ ;
+港湾当局 < kouwantoukyoku\ ;
+商業銀行 < shougyouginkou\ ;
+省略記号 < shouryakukigou\ ;
+天日瓦 < tenjitsugawara\ ;
+中間報告 < chuukanhoukoku\ ;
+夢物語 < yumemonogatari\ ;
+中心思想 < chuushinshisou\ ;
+五月人形 < gogatsuningyou\ ;
+伝承文学 < denshoubungaku\ ;
+政府保証債 < seifuhoshousai\ ;
+軟体動物 < nantaidoubutsu\ ;
+一昔前 < hitomukashimae\ ;
+強制収容 < kyouseishuuyou\ ;
+便乗主義者 < binjoushugisha\ ;
+一陽来腹 < ichiyouraifuku\ ;
+漁業協定 < gyogyoukyoutei\ ;
+水生動物 < suiseidoubutsu\ ;
+楔形文字 < kusabigatamoji\ ;
+百卒長 < hyakusotsuchou\ ;
+信用組合 < shin''youkumiai\ ;
+研究報告 < kenkyuuhoukoku\ ;
+逆行列 < gyakugyouretsu\ ;
+二大政党制 < nidaiseitousei\ ;
+水天彷彿 < suitenhoufutsu\ ;
+住宅産業 < juutakusangyou\ ;
+泡沫会社 < houmatsugaisha\ ;
+無利息公債 < murisokukousai\ ;
+談論風発 < danronfuuhatsu\ ;
+足素性原理 < ashisujougenri\ ;
+資本主義者 < shihonshugisha\ ;
+先発投手 < senpatsutoushu\ ;
+推理小説 < suirishousetsu\ ;
+紳士協定 < shinshikyoutei\ ;
+大名屋敷 < daimyouyashiki\ ;
+特異体質 < tokuitaishitsu\ ;
+中間搾取 < chuukansakushu\ ;
+文化地理学 < bunkachirigaku\ ;
+協調作業 < kyouchousagyou\ ;
+指圧療法 < shiatsuryouhou\ ;
+公認候補者 < kouninkouhosha\ ;
+工業技術 < kougyougijutsu\ ;
+総合芸術 < sougougeijutsu\ ;
+旭日章 < kyokujitsushou\ ;
+世界選手権 < sekaisenshuken\ ;
+中産階級 < chuusankaikyuu\ ;
+南十字星 < minamijuujisei\ ;
+新石器時代 < shinsekkijidai\ ;
+心霊手術 < shinreitejutsu\ ;
+成長産業 < seichousangyou\ ;
+受験参考書 < jukensankousho\ ;
+国際収支 < kokusaishuushi\ ;
+静止画放送 < seishigahousou\ ;
+上陸作戦 < jourikusakusen\ ;
+動力資源 < douryokushigen\ ;
+必要条件 < hitsuyoujouken\ ;
+少年感化院 < shounenkankain\ ;
+中流意識 < chuuryuuishiki\ ;
+長距離輸送 < choukyoriyusou\ ;
+再帰代名詞 < saikidaimeishi\ ;
+出漁区域 < shutsugyokuiki\ ;
+財形貯蓄 < zaikeichochiku\ ;
+職人気質 < shokuninkatagi\ ;
+控訴裁判所 < kousohaibansho\ ;
+単位行列 < tan''igyouretsu\ ;
+文化功労者 < bunkakourousha\ ;
+国連憲章 < kokurenkenshou\ ;
+水先案内 < mizusakian''nai\ ;
+真空掃除機 < shinkuusoujiki\ ;
+収容設備 < shuuyousetsubi\ ;
+深海漁業 < shinkaigyogyou\ ;
+人形浄瑠璃 < ningyoujoururi\ ;
+直往邁進 < chokuoumaishin\ ;
+天体力学 < tentairikigaku\ ;
+昔話 < mukashibanashi\ ;
+政治評論家 < seijihyouronka\ ;
+伝承叙事詩 < denshoujojishi\ ;
+有視界飛行 < yuushikaihikou\ ;
+幼友達 < osanatomodachi\ ;
+真空電球 < shinkuudenkyuu\ ;
+降三世妙王 < gouzanzemyouou\ ;
+等高線地図 < toukousenchizu\ ;
+上層建築 < jousoukenchiku\ ;
+役職手当 < yakushokuteate\ ;
+高圧電流 < kouatsudenryuu\ ;
+尻軽女 < shirigaruon''na\ ;
+亥年 < inoshishidoshi\ ;
+白鉢巻 < shirohachimaki\ ;
+交通道徳 < koutsuudoutoku\ ;
+水準測量 < suijunsokuryou\ ;
+製造年月日 < seizounengappi\ ;
+弁証法的 < benshouhouteki\ ;
+松茸御飯 < matsutakegohan\ ;
+関税障壁 < kanzeishouheki\ ;
+統括部長 < toukatsubuchou\ ;
+地方交付税 < chihoukoufuzei\ ;
+薄紫色 < usumurasakiiro\ ;
+損失補填 < sonshitsuhoten\ ;
+日本語教本 < nihongokyouhon\ ;
+出塁率 < shutsuruiritsu\ ;
+事事物物 < jijibutsubutsu\ ;
+連続写真 < renzokushashin\ ;
+俘虜収容所 < furyoshuuyoujo\ ;
+空気圧縮機 < kuukiasshukuki\ ;
+四百余州 < shihyakuyoshuu\ ;
+国連記念日 < kokurenkinenbi\ ;
+心筋梗塞 < shinkinkousoku\ ;
+宗教裁判 < shuukyousaiban\ ;
+電信柱 < denshinbashira\ ;
+写真石版 < shashinsekiban\ ;
+隠花植物 < inkashokubutsu\ ;
+無記名投票 < mukimeitouhyou\ ;
+微生物学 < biseibutsugaku\ ;
+戦略空軍 < senryakukuugun\ ;
+恭賀新年 < kyougashin''nen\ ;
+国際協定 < kokusaikyoutei\ ;
+自然主義者 < shizenshugisha\ ;
+色即是空 < shikisokuzekuu\ ;
+頭寒足熱 < zukansokunetsu\ ;
+区検察庁 < kukensatsuchou\ ;
+核防衛力 < kakuboueiryoku\ ;
+完全燃焼 < kanzen''nenshou\ ;
+重量感覚 < juuryoukankaku\ ;
+雌雄鑑別 < shiyuukanbetsu\ ;
+管区気象台 < kankukishoudai\ ;
+原生動物 < genseidoubutsu\ ;
+目的意識 < mokutekiishiki\ ;
+法定準備金 < houteijunbikin\ ;
+海生動物 < kaiseidoubutsu\ ;
+攻撃精神 < kougekiseishin\ ;
+作成技術 < sakuseigijutsu\ ;
+金銭信託 < kinsenshintaku\ ;
+吸収合併 < kyuushuugappei\ ;
+換骨奪胎 < kankotsudattai\ ;
+硬質陶器 < koushitsutouki\ ;
+寝台料金 < shindairyoukin\ ;
+購入注文 < kounyuuchuumon\ ;
+焦土戦術 < shoudosenjutsu\ ;
+有職故実 < yuusokukojitsu\ ;
+話話 < hanashibanashi\ ;
+無償信託 < mushoushintaku\ ;
+消費生活 < shouhiseikatsu\ ;
+室内遊戯 < shitsunaiyuugi\ ;
+宗教団体 < shuukyoudantai\ ;
+進行状況 < shinkoujoukyou\ ;
+高等動物 < koutoudoubutsu\ ;
+一膳飯屋 < ichizenmeshiya\ ;
+時代小説 < jidaishousetsu\ ;
+内証話 < naishoubanashi\ ;
+海洋性気候 < kaiyouseikikou\ ;
+曲線座標 < kyokusenzahyou\ ;
+当該人物 < tougaijinbutsu\ ;
+外貨準備高 < gaikajunbidaka\ ;
+要求送信 < youkyuusoushin\ ;
+百人一首 < hyakunin''isshu\ ;
+集団検診 < shuudankenshin\ ;
+旅行代理店 < ryokoudairiten\ ;
+安寧秩序 < an''neichitsujo\ ;
+下唇 < shitakuchibiru\ ;
+極楽鳥花 < gokurakuchouka\ ;
+中越紛争 < chuuetsufunsou\ ;
+一括購入 < ikkatsukounyuu\ ;
+民族自決 < minzokujiketsu\ ;
+倶梨伽羅紋紋 < kurikaramonmon\ ;
+正面攻撃 < shoumenkougeki\ ;
+教育産業 < kyouikusangyou\ ;
+空調設備 < kuuchousetsubi\ ;
+単独内閣 < tandokunaikaku\ ;
+緑玉石 < ryokugyokuseki\ ;
+教育実習 < kyouikujisshuu\ ;
+就業規則 < shuugyoukisoku\ ;
+教養番組 < kyouyoubangumi\ ;
+凍結資産 < touketsushisan\ ;
+集団農場 < shuudan''noujou\ ;
+昔昔 < mukashimukashi\ ;
+周辺諸国 < shuuhenshokoku\ ;
+国籍条項 < kokusekijoukou\ ;
+現物給与 < genbutsukyuuyo\ ;
+予選通過者 < yosentsuukasha\ ;
+豪雪地帯 < gousetsuchitai\ ;
+海千山千 < umisen''yamasen\ ;
+革新政党 < kakushinseitou\ ;
+少数民族 < shousuuminzoku\ ;
+労働協約 < roudoukyouyaku\ ;
+電撃作戦 < dengekisakusen\ ;
+膝蓋骨 < shitsugaikotsu\ ;
+女性解放論 < joseikaihouron\ ;
+脊髄神経 < sekizuishinkei\ ;
+美術大学 < bijutsudaigaku\ ;
+遺伝子治療 < idenshichiryou\ ;
+選択項目 < sentakukoumoku\ ;
+間接選挙 < kansetsusenkyo\ ;
+貝殻追放 < kaigaratsuihou\ ;
+群発地震 < gunpatsujishin\ ;
+絶対主義者 < zettaishugisha\ ;
+緊褌一番 < kinkon''ichiban\ ;
+共同炊事場 < kyoudousuijiba\ ;
+独身貴族 < dokushinkizoku\ ;
+福祉事務所 < fukushijimusho\ ;
+科学知識 < kagakuchishiki\ ;
+石部金吉 < ishibekinkichi\ ;
+花鳥風月 < kachoufuugetsu\ ;
+提出期限 < teishutsukigen\ ;
+三角系異常 < sankakukeiijou\ ;
+天長地久 < tenchouchikyuu\ ;
+百万長者 < hyakumanchouja\ ;
+対症療法 < taishouryouhou\ ;
+水産試験所 < suisanshikenjo\ ;
+中枢神経 < chuusuushinkei\ ;
+商工業者 < shoukougyousha\ ;
+開票速報 < kaihyousokuhou\ ;
+性的衝動 < seitekishoudou\ ;
+軍事裁判所 < gunjisaibansho\ ;
+特殊撮影 < tokushusatsuei\ ;
+輸出手形 < yushutsutegata\ ;
+史料館学 < shiryoukangaku\ ;
+空中楼閣 < kuuchuuroukaku\ ;
+隠退蔵物資 < intaizoubusshi\ ;
+少年文学 < shounenbungaku\ ;
+調整攻撃 < chouseikougeki\ ;
+精神年齢 < seishin''nenrei\ ;
+居中調停 < kyochuuchoutei\ ;
+税別価格 < zeibetsukakaku\ ;
+軍人生活 < gunjinseikatsu\ ;
+皇宮警察 < kouguukeisatsu\ ;
+粒々辛苦 < ryuuryuushinku\ ;
+東京大学 < toukyoudaigaku\ ;
+参考図書館 < sankoutoshokan\ ;
+興味津津 < kyoumishinshin\ ;
+無線周波数 < musenshuuhasuu\ ;
+千客万来 < senkyakubanrai\ ;
+選抜試験 < senbatsushiken\ ;
+航路標識 < kourohyoushiki\ ;
+緊急発進 < kinkyuuhasshin\ ;
+空中写真 < kuuchuushashin\ ;
+営業活動 < eigyoukatsudou\ ;
+救援活動 < kyuuenkatsudou\ ;
+天然硝子 < ten''nenshoushi\ ;
+信託資金 < shintakushikin\ ;
+市民生活 < shiminseikatsu\ ;
+重農主義者 < juunoushugisha\ ;
+乗合自動車 < noriaijidousha\ ;
+絶対権力 < zettaikenryoku\ ;
+周章狼狽 < shuushouroubai\ ;
+民族学者 < minzokugakusha\ ;
+膠着状態 < kouchakujoutai\ ;
+細胞遺伝学 < saibouidengaku\ ;
+面接試験 < mensetsushiken\ ;
+政策協定 < seisakukyoutei\ ;
+販売戦略 < hanbaisenryaku\ ;
+公設市場 < kousetsuichiba\ ;
+人物経済 < jinbutsukeizai\ ;
+心的状態 < shintekijoutai\ ;
+丘陵地帯 < kyuuryouchitai\ ;
+超音波洗浄 < chouonpasenjou\ ;
+刑事被告人 < keijihikokunin\ ;
+仮出獄 < karishutsugoku\ ;
+特別職 < tokubetsushoku\ ;
+群伝搬時間 < gundenpanjikan\ ;
+生涯教育 < shougaikyouiku\ ;
+旧約全書 < kyuuyakuzensho\ ;
+大根役者 < daikon''yakusha\ ;
+万年新造 < man''nenshinzou\ ;
+健康保険法 < kenkouhokenhou\ ;
+常任理事国 < jouninrijikoku\ ;
+座骨神経 < zakotsushinkei\ ;
+非金属元素 < hikinzokugenso\ ;
+長老教会 < chouroukyoukai\ ;
+陸上自衛隊 < rikujoujieitai\ ;
+貯蓄債券 < chochikusaiken\ ;
+武力介入 < buryokukainyuu\ ;
+保険勧誘員 < hokenkan''yuuin\ ;
+精密科学 < seimitsukagaku\ ;
+私鉄総連 < shitetsusouren\ ;
+伝送終了 < densoushuuryou\ ;
+窒素固定法 < chissokoteihou\ ;
+薫蒸消毒 < kunjoushoudoku\ ;
+法律相談 < houritsusoudan\ ;
+地域開発 < chiikikaihatsu\ ;
+国内産業 < kokunaisangyou\ ;
+一打逆転 < ichidagyakuten\ ;
+水生生物 < suiseiseibutsu\ ;
+有線通信 < yuusentsuushin\ ;
+相対性原理 < soutaiseigenri\ ;
+美術愛好家 < bijutsuaikouka\ ;
+起承転結 < kishoutenketsu\ ;
+物質主義 < busshitsushugi\ ;
+信託会社 < shintakugaisha\ ;
+中石器時代 < chuusekkijidai\ ;
+主知主義者 < shuchishugisha\ ;
+蚕糸試験所 < sanshishikenjo\ ;
+中間商人 < chuukanshounin\ ;
+静電容量 < seiden''youryou\ ;
+中流社会 < chuuryuushakai\ ;
+私立探偵 < shiritsutantei\ ;
+命辛辛 < inochigaragara\ ;
+国民投票 < kokumintouhyou\ ;
+有罪判決 < yuuzaihanketsu\ ;
+強化食品 < kyoukashokuhin\ ;
+伸縮自在 < shinshukujizai\ ;
+陸軍大学 < rikugundaigaku\ ;
+通信速度 < tsuushinsokudo\ ;
+黒金剛石 < kurokongouseki\ ;
+立体幾何学 < rittaikikagaku\ ;
+中国人街 < chuugokujingai\ ;
+学芸大学 < gakugeidaigaku\ ;
+大河小説 < taigashousetsu\ ;
+鉄道会社 < tetsudougaisha\ ;
+音楽形式 < ongakukeishiki\ ;
+性格分析 < seikakubunseki\ ;
+転入届 < ten''nyuutodoke\ ;
+不動産鑑定 < fudousankantei\ ;
+受付係 < uketsukegakari\ ;
+就職率 < shuushokuritsu\ ;
+現金書留 < genkinkakitome\ ;
+休戦条約 < kyuusenjouyaku\ ;
+二足動物 < nisokudoubutsu\ ;
+心理学的 < shinrigakuteki\ ;
+侃々諤諤 < kankangakugaku\ ;
+直線運動 < chokusen''undou\ ;
+悪徳新聞 < akutokushinbun\ ;
+未決拘留 < miketsukouryuu\ ;
+定量分析 < teiryoubunseki\ ;
+給料袋 < kyuuryoubukuro\ ;
+紙屑同然 < kamikuzudouzen\ ;
+温室栽培 < onshitsusaibai\ ;
+針小棒大 < shinshouboudai\ ;
+植物学 < shokubutsugaku\ ;
+太刀二腰 < tachifutakoshi\ ;
+認識不足 < ninshikibusoku\ ;
+団体協約 < dantaikyouyaku\ ;
+信頼回復 < shinraikaifuku\ ;
+修学旅行 < shuugakuryokou\ ;
+長距離飛行 < choukyorihikou\ ;
+第二次性徴 < dainijiseichou\ ;
+電源開発 < dengenkaihatsu\ ;
+模式標本 < moshikihyouhon\ ;
+追跡調査 < tsuisekichousa\ ;
+割引手形 < waribikitegata\ ;
+句構造文法 < kukouzoubunpou\ ;
+直流回路 < chokuryuukairo\ ;
+興行成績 < kougyouseiseki\ ;
+北洋漁業 < hokuyougyogyou\ ;
+国文学史 < kokubungakushi\ ;
+永久脱毛 < eikyuudatsumou\ ;
+排出基準 < haishutsukijun\ ;
+組職改革 < soshokukaikaku\ ;
+過失致死 < kashitsuchishi\ ;
+交通信号 < koutsuushingou\ ;
+動物実験 < doubutsujikken\ ;
+水上警察 < suijoukeisatsu\ ;
+労作教育 < rousakukyouiku\ ;
+核廃棄物 < kakuhaikibutsu\ ;
+鎮魂曲歌 < chinkonkyokuka\ ;
+非鉄金属 < hitetsukinzoku\ ;
+士官候補生 < shikankouhosei\ ;
+巡回図書館 < junkaitoshokan\ ;
+三百代言 < sanbyakudaigen\ ;
+徴兵忌避者 < chouheikihisha\ ;
+出訴期限法 < shussokigenhou\ ;
+中国伝来 < chuugokudenrai\ ;
+筋無力症 < kinmuryokushou\ ;
+流通資本 < ryuutsuushihon\ ;
+空即是色 < kuusokuzeshiki\ ;
+教育改革 < kyouikukaikaku\ ;
+切開手術 < sekkaishujutsu\ ;
+大和魂 < yamatodamashii\ ;
+下台所 < shimodaidokoro\ ;
+救護活動 < kyuugokatsudou\ ;
+軍用輸送機 < gun''youyusouki\ ;
+宣伝活動 < sendenkatsudou\ ;
+財産目録 < zaisanmokuroku\ ;
+言語地理学 < gengochirigaku\ ;
+正常終了 < seijoushuuryou\ ;
+前方後円墳 < zenpoukouenfun\ ;
+虫様突起炎 < chuuyoutokkien\ ;
+亡命生活 < boumeiseikatsu\ ;
+優越複合 < yuuetsufukugou\ ;
+純日本式 < jun''nihonshiki\ ;
+有形文化財 < yuukeibunkazai\ ;
+旧石器時代 < kyuusekkijidai\ ;
+手形割引 < tegatawaribiki\ ;
+動物崇拝 < doubutsusuuhai\ ;
+自由民権論 < jiyuuminkenron\ ;
+共同住宅 < kyoudoujuutaku\ ;
+有袋動物 < yuutaidoubutsu\ ;
+三十二分音符 < sanjuunibuonpu\ ;
+破産裁判所 < hasansaibansho\ ;
+人身保護法 < jinshinhogohou\ ;
+袋小路文 < fukurokoujibun\ ;
+放射性元素 < houshaseigenso\ ;
+白砂青松 < hakushaseishou\ ;
+花嫁御寮 < hanayomegoryou\ ;
+新陳代謝 < shinchintaisha\ ;
+一六銀行 < ichirokuginkou\ ;
+就職斡旋 < shuushokuassen\ ;
+鞭毛虫症 < benmouchuushou\ ;
+絶体絶命 < zettaizetsumei\ ;
+精神分析 < seishinbunseki\ ;
+系列会社 < keiretsugaisha\ ;
+分子間力 < bunshikanryoku\ ;
+企業戦略 < kigyousenryaku\ ;
+国民所得 < kokuminshotoku\ ;
+輸出制限 < yushutsuseigen\ ;
+特定銘柄 < tokuteimeigara\ ;
+財務体質 < zaimutaishitsu\ ;
+警察学校 < keisatsugakkou\ ;
+不法侵入 < fuhoushin''nyuu\ ;
+就職口 < shuushokuguchi\ ;
+生活設計 < seikatsusekkei\ ;
+捕虜収容所 < horyoshuuyoujo\ ;
+軽薄短小 < keihakutanshou\ ;
+算術平均 < sanjutsuheikin\ ;
+即席料理 < sokusekiryouri\ ;
+物理療法 < butsuriryouhou\ ;
+生計費指数 < seikeihishisuu\ ;
+青酸中毒 < seisanchuudoku\ ;
+宗教法人 < shuukyouhoujin\ ;
+写真植字 < shashinshokuji\ ;
+緊縮財政 < kinshukuzaisei\ ;
+単性生殖 < tanseiseishoku\ ;
+国会図書館 < kokkaitoshokan\ ;
+高等生物 < koutouseibutsu\ ;
+高等弁務官 < koutoubenmukan\ ;
+時間順序積 < jikanjunjoseki\ ;
+保証牛乳 < hoshougyuunyuu\ ;
+筋肉質 < kin''nikushitsu\ ;
+力仕事 < chikarashigoto\ ;
+受胎調節 < jutaichousetsu\ ;
+地球温暖化 < chikyuuondanka\ ;
+透析療法 < tousekiryouhou\ ;
+非常勤講師 < hijoukinkoushi\ ;
+嫡出子 < chakushutsushi\ ;
+感覚神経 < kankakushinkei\ ;
+自動車学校 < jidoushagakkou\ ;
+税金避難地 < zeikinhinanchi\ ;
+人道的援助 < jindoutekienjo\ ;
+専門知識 < senmonchishiki\ ;
+軍拡競争 < gunkakukyousou\ ;
+片袖机 < katasodedzukue\ ;
+登場人物 < toujoujinbutsu\ ;
+消費者運動 < shouhishaundou\ ;
+非現実的 < higenjitsuteki\ ;
+逆性石鹸 < gyakuseisekken\ ;
+労働基準法 < roudoukijunhou\ ;
+幽門狭窄 < yuumonkyousaku\ ;
+連邦当局 < renpoutoukyoku\ ;
+直射日光 < chokushanikkou\ ;
+先任将校 < sen''ninshoukou\ ;
+謹厳実直 < kingenjitchoku\ ;
+漢字制限論 < kanjiseigenron\ ;
+店頭取引 < tentoutorihiki\ ;
+卒業式 < sotsugyoushiki\ ;
+発売禁止 < hatsubaikinshi\ ;
+品質管理 < hinshitsukanri\ ;
+編入試験 < hen''nyuushiken\ ;
+伝達関数 < dentatsukansuu\ ;
+尽忠報国 < jinchuuhoukoku\ ;
+労使協調 < roushikyouchou\ ;
+周波数偏移 < shuuhasuuhen''i\ ;
+百色眼鏡 < hyakuiromegane\ ;
+中性子束 < chuuseishisoku\ ;
+無制限貿易 < museigenboueki\ ;
+緊急対策 < kinkyuutaisaku\ ;
+印刷技術 < insatsugijutsu\ ;
+次元正則化 < jigenseisokuka\ ;
+心的表示 < shintekihyouji\ ;
+光通信 < hikaritsuushin\ ;
+名所旧跡 < meishokyuuseki\ ;
+投資信託 < toushishintaku\ ;
+人名用漢字 < jinmeiyoukanji\ ;
+新韓国党 < shinkankokutou\ ;
+国際条約 < kokusaijouyaku\ ;
+七堂伽藍 < shichidougaran\ ;
+親族関係 < shinzokukankei\ ;
+征夷大将軍 < seiitaishougun\ ;
+傘形碍子 < kasagatagaishi\ ;
+産業予備軍 < sangyouyobigun\ ;
+悪漢小説 < akkanshousetsu\ ;
+利子平衡税 < rishiheikouzei\ ;
+無任所大臣 < muninshodaijin\ ;
+公敵一号 < koutekiichigou\ ;
+水質汚濁 < suishitsuodaku\ ;
+精神療法 < seishinryouhou\ ;
+取締法 < torishimarihou\ ;
+茫然自失 < bouzenjishitsu\ ;
+地質時代 < chishitsujidai\ ;
+立入禁止 < tachiirikinshi\ ;
+大同団結 < daidoudanketsu\ ;
+二重盲検法 < nijuumoukenhou\ ;
+貯金通帳 < chokintsuuchou\ ;
+斎戒沐浴 < saikaimokuyoku\ ;
+新制大学 < shinseidaigaku\ ;
+共同責任 < kyoudousekinin\ ;
+新聞発表 < shinbunhappyou\ ;
+車内改札 < shanaikaisatsu\ ;
+自賠責保険 < jibaisekihoken\ ;
+昆虫学者 < konchuugakusha\ ;
+退職年金 < taishokunenkin\ ;
+分割統治 < bunkatsutouchi\ ;
+確率過程 < kakuritsukatei\ ;
+重炭酸曹達 < juutansansouda\ ;
+研究発表 < kenkyuuhappyou\ ;
+旧約聖書 < kyuuyakuseisho\ ;
+手術室 < shujutsushitsu\ ;
+蒲鉾兵舎 < kamabokoheisha\ ;
+経費節約 < keihisetsuyaku\ ;
+筋萎縮症 < kin''ishukushou\ ;
+優生手術 < yuuseishujutsu\ ;
+公共料金 < koukyouryoukin\ ;
+強制中断 < kyouseichuudan\ ;
+万有引力 < ban''yuuinryoku\ ;
+立太子式 < rittaishishiki\ ;
+日内周期 < nichinaishuuki\ ;
+憲法解釈 < kenpoukaishaku\ ;
+長距離電話 < choukyoridenwa\ ;
+美的生活 < bitekiseikatsu\ ;
+団体割引 < dantaiwaribiki\ ;
+国際交流 < kokusaikouryuu\ ;
+試着室 < shichakushitsu\ ;
+冠状静脈 < kanjoujoumyaku\ ;
+逆三角形 < gyakusankakkei\ ;
+複雑怪奇 < fukuzatsukaiki\ ;
+遺伝子工学 < idenshikougaku\ ;
+高層建築 < kousougenchiku\ ;
+不可能選択 < fukanousentaku\ ;
+真珠養殖 < shinjuyoushoku\ ;
+申告用紙 < shinkokuyoushi\ ;
+局地戦争 < kyokuchisensou\ ;
+爆発物 < bakuhatsubutsu\ ;
+重要人物 < juuyoujinbutsu\ ;
+活版印刷 < kappan''insatsu\ ;
+連日連夜 < renjitsuren''ya\ ;
+三者対立 < sanshatairitsu\ ;
+求妻広告 < kyuusaikoukoku\ ;
+狂言自殺 < kyougenjisatsu\ ;
+猪武者 < inoshishimusha\ ;
+性染色体 < seisenshokutai\ ;
+凸版印刷 < toppan''insatsu\ ;
+刺身包丁 < sashimibouchou\ ;
+日米貿易 < nichibeiboueki\ ;
+句構造規則 < kukouzoukisoku\ ;
+手形交換所 < tegatakoukanjo\ ;
+軍事協力 < gunjikyouryoku\ ;
+大黒柱 < daikokubashira\ ;
+極限状態 < kyokugenjoutai\ ;
+物理現象 < butsurigenshou\ ;
+地方自治体 < chihoujichitai\ ;
+人身攻撃 < jinshinkougeki\ ;
+記憶喪失 < kiokusoushitsu\ ;
+不規則動詞 < fukisokudoushi\ ;
+社会秩序 < shakaichitsujo\ ;
+完全主義者 < kanzenshugisha\ ;
+減価償却 < genkashoukyaku\ ;
+鎖帷子 < kusarikatabira\ ;
+空中査察 < kuuchuusasatsu\ ;
+素人芝居 < shiroutoshibai\ ;
+一六勝負 < ichirokushoubu\ ;
+交響楽団 < koukyougakudan\ ;
+血液銀行 < ketsuekiginkou\ ;
+商品在高 < shouhinzaidaka\ ;
+物理学者 < butsurigakusha\ ;
+不躾者 < bushitsukemono\ ;
+年百年中 < nenbyakunenjuu\ ;
+枝葉末節 < shiyoumassetsu\ ;
+軍隊生活 < guntaiseikatsu\ ;
+比較的小 < hikakutekishou\ ;
+構成素構造 < kouseisokouzou\ ;
+潜在能力 < senzainouryoku\ ;
+工学博士 < kougakuhakushi\ ;
+有償契約 < yuushoukeiyaku\ ;
+新聞広告 < shinbunkoukoku\ ;
+上級曹長 < joukyuusouchou\ ;
+乱診乱療 < ranshinranryou\ ;
+載貨吃水線 < saikakissuisen\ ;
+集合住宅 < shuugoujuutaku\ ;
+御食事処 < oshokujidokoro\ ;
+養殖真珠 < youshokushinju\ ;
+内部告発 < naibukokuhatsu\ ;
+名目賃金 < meimokuchingin\ ;
+三色菫 < sanshokusumire\ ;
+相対湿度 < soutaishitsudo\ ;
+学校生活 < gakkouseikatsu\ ;
+入国査証 < nyuukokusashou\ ;
+自律神経 < jiritsushinkei\ ;
+水銀温度計 < suigin''ondokei\ ;
+姉様人形 < anesamaningyou\ ;
+衝撃関数 < shougekikansuu\ ;
+巧言令色 < kougenreishoku\ ;
+変温動物 < hen''ondoubutsu\ ;
+数理論理学 < suurironrigaku\ ;
+原始動物 < genshidoubutsu\ ;
+空間芸術 < kuukangeijutsu\ ;
+皇太子殿下 < koutaishidenka\ ;
+出力線 < shutsuryokusen\ ;
+開店休業 < kaitenkyuugyou\ ;
+娯楽施設 < gorakushisetsu\ ;
+半永久的 < han''eikyuuteki\ ;
+私立 < watakushiritsu\ ;
+戦争未亡人 < sensoumiboujin\ ;
+食糧事情 < shokuryoujijou\ ;
+可逆反応 < kagyakuhan''nou\ ;
+破産管財人 < hasankanzainin\ ;
+特別会員 < tokubetsukaiin\ ;
+死活問題 < shikatsumondai\ ;
+系統神学 < keitoushingaku\ ;
+軟骨魚類 < nankotsugyorui\ ;
+各人各様 < kakujinkakuyou\ ;
+通信事業 < tsuushinjigyou\ ;
+協定世界時 < kyouteisekaiji\ ;
+貿易障壁 < bouekishouheki\ ;
+単一通貨 < tan''itsutsuuka\ ;
+千両役者 < senryouyakusha\ ;
+到着時刻 < touchakujikoku\ ;
+海上保安庁 < kaijouhoanchou\ ;
+概算要求 < gaisan''youkyuu\ ;
+爆発力 < bakuhatsuryoku\ ;
+国民年金 < kokumin''nenkin\ ;
+泥水稼業 < doromizukagyou\ ;
+特異値分解 < tokuichibunkai\ ;
+在日米軍 < zainichibeigun\ ;
+越境入学 < ekkyounyuugaku\ ;
+民営化企業 < min''eikakigyou\ ;
+数理哲学 < suuritetsugaku\ ;
+唯物史観 < yuibutsushikan\ ;
+商業学校 < shougyougakkou\ ;
+左大括弧 < hidaridaikakko\ ;
+民族精神 < minzokuseishin\ ;
+実力行為 < jitsuryokukoui\ ;
+大西洋横断 < taiseiyououdan\ ;
+海綿動物 < kaimendoubutsu\ ;
+米軍兵力 < beigunheiryoku\ ;
+着信局 < chakushinkyoku\ ;
+人工避妊法 < jinkouhininhou\ ;
+就学年齢 < shuugakunenrei\ ;
+鉱物資源 < koubutsushigen\ ;
+軟式野球 < nanshikiyakyuu\ ;
+信託統治 < shintakutouchi\ ;
+経済活動 < keizaikatsudou\ ;
+兵式体操 < heishikitaisou\ ;
+魚群探知機 < gyoguntanchiki\ ;
+生殖細胞 < seishokusaibou\ ;
+地形測量 < chikeisokuryou\ ;
+商業資本 < shougyoushihon\ ;
+遊離基反応 < yuurikihan''nou\ ;
+小田原評定 < odawarahyoujou\ ;
+数値目標 < suuchimokuhyou\ ;
+騒音防止法 < souonboushihou\ ;
+一得一失 < ittokuisshitsu\ ;
+通信販売 < tsuushinhanbai\ ;
+強制執行 < kyouseishikkou\ ;
+幻覚症状 < genkakushoujou\ ;
+懐刀 < futokorogatana\ ;
+疑問代名詞 < gimondaimeishi\ ;
+北陸地方 < hokurikuchihou\ ;
+割引発行 < waribikihakkou\ ;
+広報活動 < kouhoukatsudou\ ;
+山高帽子 < yamatakaboushi\ ;
+染色工場 < senshokukoujou\ ;
+公式訪問 < koushikihoumon\ ;
+排出物 < haishutsubutsu\ ;
+総合開発 < sougoukaihatsu\ ;
+連立政権 < renritsuseiken\ ;
+差別表現 < sabetsuhyougen\ ;
+権力闘争 < kenryokutousou\ ;
+相対性理論 < soutaiseiriron\ ;
+製品戦略 < seihinsenryaku\ ;
+分水山脈 < bunsuisanmyaku\ ;
+酸化防止剤 < sankaboushizai\ ;
+第二次産業 < dainijisangyou\ ;
+鉱物質 < koubutsushitsu\ ;
+有機塩溶媒 < yuukien''youbai\ ;
+誘電正接 < yuudenseisetsu\ ;
+知覚神経 < chikakushinkei\ ;
+逐条審議 < chikujoushingi\ ;
+千島列島 < chishimarettou\ ;
+輸出超過 < yushutsuchouka\ ;
+電子計算機 < denshikeisanki\ ;
+尊王討幕 < son''noutoubaku\ ;
+戦闘犠牲者 < sentougiseisha\ ;
+情報通信 < jouhoutsuushin\ ;
+振出局 < furidashikyoku\ ;
+民間航空機 < minkankoukuuki\ ;
+超越交代 < chouetsukoutai\ ;
+反戦主義者 < hansenshugisha\ ;
+生活空間 < seikatsukuukan\ ;
+前立腺炎 < zenritsusen''en\ ;
+執務室 < shitsumushitsu\ ;
+行政改革 < gyouseikaikaku\ ;
+律令国家 < ritsuryoukokka\ ;
+心霊現象 < shinreigenshou\ ;
+生誕百年 < seitanhyakunen\ ;
+自動着信 < jidouchakushin\ ;
+発熱量 < hatsunetsuryou\ ;
+第三勢力 < daisanseiryoku\ ;
+大八車 < daihachiguruma\ ;
+書留郵便 < kakitomeyuubin\ ;
+観光案内所 < kankouan''naijo\ ;
+知識体系 < chishikitaikei\ ;
+集合記述 < shuugoukijutsu\ ;
+三百諸侯 < sanbyakushokou\ ;
+高齢化社会 < koureikashakai\ ;
+記号論理学 < kigouronrigaku\ ;
+大衆文学 < taishuubungaku\ ;
+中等教育 < chuutoukyouiku\ ;
+教育行政 < kyouikugyousei\ ;
+直接的 < chokusetsuteki\ ;
+武装中立 < busouchuuritsu\ ;
+平和協力 < heiwakyouryoku\ ;
+指名手配人 < shimeitehaijin\ ;
+電鉄会社 < dentetsugaisha\ ;
+自転車旅行 < jitensharyokou\ ;
+出席日数 < shussekinissuu\ ;
+県立病院 < kenritsubyouin\ ;
+平均太陽時 < heikintaiyouji\ ;
+偏旁冠脚 < henboukankyaku\ ;
+好気性細菌 < koukiseisaikin\ ;
+販売促進 < hanbaisokushin\ ;
+信託投資 < shintakutoushi\ ;
+電波望遠鏡 < denpabouenkyou\ ;
+中小企業 < chuushoukigyou\ ;
+三行広告 < sangyoukoukoku\ ;
+血液循環 < ketsuekijunkan\ ;
+連結決算 < renketsukessan\ ;
+θ理論 < shi\ ̄ta\ ̄riron\ ;
+改札鋏 < kaisatsuhasami\ ;
+骨軟化症 < kotsunankashou\ ;
+労働運動者 < roudouundousha\ ;
+政治哲学 < seijitetsugaku\ ;
+商業放送 < shougyouhousou\ ;
+国防総省 < kokubousoushou\ ;
+生活指導 < seikatsushidou\ ;
+炎熱地獄 < en''netsujigoku\ ;
+八面玲瓏 < hachimenreirou\ ;
+面会謝絶 < menkaishazetsu\ ;
+道路標識 < dourohyoushiki\ ;
+国営通信 < kokueitsuushin\ ;
+震災記念日 < shinsaikinenbi\ ;
+適材適所 < tekizaitekisho\ ;
+劇症肝炎 < gekishoukan''en\ ;
+物情騒然 < butsujousouzen\ ;
+忝涙 < katajikenamida\ ;
+公民生活 < kouminseikatsu\ ;
+入学試験 < nyuugakushiken\ ;
+悪徳政治家 < akutokuseijika\ ;
+情報主要素 < jouhoushuyouso\ ;
+合唱隊長 < gasshoutaichou\ ;
+乾燥牛乳 < kansougyuunyuu\ ;
+直系尊属 < chokkeisonzoku\ ;
+入学願書 < nyuugakugansho\ ;
+出発時間 < shuppatsujikan\ ;
+主要人物 < shuyoujinbutsu\ ;
+公武合体論 < koubugattairon\ ;
+不束者 < futsutsukamono\ ;
+燕千鳥 < tsubamechidori\ ;
+文学作品 < bungakusakuhin\ ;
+電光掲示板 < denkoukeijiban\ ;
+軽便鉄道 < keibentetsudou\ ;
+割引市場 < waribikishijou\ ;
+失踪宣告 < shissousenkoku\ ;
+化学結合 < kagakuketsugou\ ;
+保険料率 < hokenryouritsu\ ;
+価電子状態 < kadenshijoutai\ ;
+信越本線 < shinetsuhonsen\ ;
+神経中枢 < shinkeichuusuu\ ;
+発光動物 < hakkoudoubutsu\ ;
+水産加工品 < suisankakouhin\ ;
+平面幾何学 < heimenkikagaku\ ;
+複式火山 < fukushikikazan\ ;
+堅忍不抜 < ken''ninfubatsu\ ;
+耐乏生活 < taibouseikatsu\ ;
+社会通念 < shakaitsuunen\ ;
+接客態度 < sekkyakutaido\ ;
+軽爆撃機 < keibakugekiki\ ;
+南東 < minamihigashi\ ;
+署名捺印 < shomeinatsuin\ ;
+休憩室 < kyuukeishitsu\ ;
+胸部疾患 < kyoubushikkan\ ;
+象牙取引 < zougetorihiki\ ;
+日曜大工 < nichiyoudaiku\ ;
+目玉商品 < medamashouhin\ ;
+製薬会社 < seiyakugaisha\ ;
+投光照明 < toukoushoumei\ ;
+清廉潔白 < seirenkeppaku\ ;
+自転車置場 < jitenshaokiba\ ;
+敵前逃亡 < tekizentoubou\ ;
+日刊新聞 < nikkanshinbun\ ;
+抱腹絶倒 < houfukuzettou\ ;
+日没前 < nichibotsuzen\ ;
+教育委員会 < kyouikuiinkai\ ;
+悪虐無道 < akugyakumudou\ ;
+水上飛行機 < suijouhikouki\ ;
+厭世悲観者 < enseihikansha\ ;
+国家権力 < kokkakenryoku\ ;
+南洋諸島 < nan''youshotou\ ;
+後期印象派 < koukiinshouha\ ;
+囚人労働 < shuujinroudou\ ;
+狐格子 < kitsunegoushi\ ;
+劣等観念 < rettoukan''nen\ ;
+関係官庁 < kankeikanchou\ ;
+農民文学 < nouminbungaku\ ;
+自然現象 < shizengenshou\ ;
+腎臓結石 < jinzoukesseki\ ;
+古兵 < furutsuwamono\ ;
+施政方針 < shiseihoushin\ ;
+閲覧室 < etsuranshitsu\ ;
+天竺浪人 < tenjikurounin\ ;
+建築物 < kenchikubutsu\ ;
+霊魂不滅 < reikonfumetsu\ ;
+公共組合 < koukyoukumiai\ ;
+有線電信 < yuusendenshin\ ;
+血行障害 < kekkoushougai\ ;
+人的資源 < jintekishigen\ ;
+地方行政 < chihougyousei\ ;
+震天動地 < shintendouchi\ ;
+第三帝国 < daisanteikoku\ ;
+大規模戦争 < daikibosensou\ ;
+実質的 < jisshitsuteki\ ;
+天文学者 < tenmongakusha\ ;
+深夜放送 < shin''yahousou\ ;
+音声形式 < onseikeishiki\ ;
+交通問題 < koutsuumondai\ ;
+公共投資 < koukyoutoushi\ ;
+劃時代的 < kakujidaiteki\ ;
+同族会社 < douzokugaisha\ ;
+心理描写 < shinribyousha\ ;
+技術水準 < gijutsusuijun\ ;
+無担保社債 < mutanposhasai\ ;
+理学博士 < rigakuhakushi\ ;
+局所麻酔 < kyokushomasui\ ;
+産別会議 < sanbetsukaigi\ ;
+翌々日 < yokuyokujitsu\ ;
+就学児童 < shuugakujidou\ ;
+空中給油 < kuuchuukyuuyu\ ;
+国際規格 < kokusaikikaku\ ;
+学校新聞 < gakkoushinbun\ ;
+試聴室 < shichoushitsu\ ;
+情報産業 < jouhousangyou\ ;
+登録番号 < tourokubangou\ ;
+土木工学 < dobokukougaku\ ;
+生体反応 < seitaihan''nou\ ;
+狸囃子 < tanukibayashi\ ;
+象徴主義 < shouchoushugi\ ;
+音楽教育 < ongakukyouiku\ ;
+観測地点 < kansokuchiten\ ;
+遠心分離機 < enshinbunriki\ ;
+植毛術 < shokumoujutsu\ ;
+技術同士 < gijutsudoushi\ ;
+応急攻撃 < oukyuukougeki\ ;
+同仁教会 < doujinkyoukai\ ;
+実働時間 < jitsudoujikan\ ;
+青空駐車 < aozorachuusha\ ;
+電力輸送 < denryokuyusou\ ;
+軍隊教育 < guntaikyouiku\ ;
+遠洋漁業 < en''yougyogyou\ ;
+旧正月 < kyuushougatsu\ ;
+保障占領 < hoshousenryou\ ;
+交換法則 < koukanhousoku\ ;
+牽引療法 < ken''inryouhou\ ;
+駅伝競走 < ekidenkyousou\ ;
+切歯扼腕 < sesshiyakuwan\ ;
+丸鼻蜂 < maruhanabachi\ ;
+団体交渉 < dantaikoushou\ ;
+脚色者 < kyakushokusha\ ;
+亭主関白 < teishukanpaku\ ;
+一段動詞 < ichidandoushi\ ;
+一般幕僚 < ippanbakuryou\ ;
+寝台列車 < shindairessha\ ;
+投擲競技 < toutekikyougi\ ;
+東海岸 < higashikaigan\ ;
+気象通報 < kishoutsuuhou\ ;
+開析台地 < kaisekidaichi\ ;
+内踝 < uchikurubushi\ ;
+実用主義 < jitsuyoushugi\ ;
+直立茎 < chokuritsukei\ ;
+白雪姫 < shirayukihime\ ;
+工場実習 < koujoujisshuu\ ;
+中継貿易 < chuukeiboueki\ ;
+性能特性 < seinoutokusei\ ;
+電気冷蔵庫 < denkireizouko\ ;
+最後通牒 < saigotsuuchou\ ;
+最低温度計 < saiteiondokei\ ;
+国際結婚 < kokusaikekkon\ ;
+造本技術 < zouhongijutsu\ ;
+妨害工作 < bougaikousaku\ ;
+断熱的 < dan''netsuteki\ ;
+民族意識 < minzokuishiki\ ;
+泥縄式 < doronawashiki\ ;
+贅沢三昧 < zeitakuzanmai\ ;
+写真製版 < shashinseihan\ ;
+観閲式 < kan''etsushiki\ ;
+学校教育 < gakkoukyouiku\ ;
+霧中信号 < muchuushingou\ ;
+精神状態 < seishinjoutai\ ;
+商科大学 < shoukadaigaku\ ;
+吸湿性 < kyuushitsusei\ ;
+消極的 < shoukyokuteki\ ;
+顧問弁護士 < komonbengoshi\ ;
+写真結婚 < shashinkekkon\ ;
+共同戦線 < kyoudousensen\ ;
+火山活動 < kazankatsudou\ ;
+麦稈細工 < mugiwarazaiku\ ;
+我利我利亡者 < garigarimouja\ ;
+勤労所得 < kinroushotoku\ ;
+首相官邸 < shushoukantei\ ;
+読書三昧 < dokushozanmai\ ;
+中等教員 < chuutoukyouin\ ;
+一次電流 < ichijidenryuu\ ;
+台中関係 < taichuukankei\ ;
+秘密結社 < himitsukessha\ ;
+東方拡大 < touhoukakudai\ ;
+漂流物 < hyouryuubutsu\ ;
+近隣諸国 < kinrinshokoku\ ;
+労働階級 < roudoukaikyuu\ ;
+貞操観念 < teisoukan''nen\ ;
+民間伝承 < minkandenshou\ ;
+膀胱結石 < boukoukesseki\ ;
+転居通知 < tenkyotsuuchi\ ;
+純正数学 < junseisuugaku\ ;
+男爵夫人 < danshakufujin\ ;
+下二桁 < shimofutaketa\ ;
+二硫化炭素 < niryuukatanso\ ;
+塩蔵食品 < enzoushokuhin\ ;
+一致団結 < itchidanketsu\ ;
+警察国家 < keisatsukokka\ ;
+経済白書 < keizaihakusho\ ;
+穀倉地帯 < kokusouchitai\ ;
+憂鬱質 < yuuutsushitsu\ ;
+早期警戒機 < soukikeikaiki\ ;
+環境事業 < kankyoujigyou\ ;
+総合商社 < sougoushousha\ ;
+俄成金 < niwakanarikin\ ;
+少年労働 < shounenroudou\ ;
+一挙両得 < ikkyoryoutoku\ ;
+測定装置 < sokuteisouchi\ ;
+前衛美術 < zen''eibijutsu\ ;
+構造遺伝子 < kouzouidenshi\ ;
+皆既月食 < kaikigesshoku\ ;
+公団住宅 < koudanjuutaku\ ;
+設備投資 < setsubitoushi\ ;
+日常茶飯 < nichijousahan\ ;
+群集心理 < gunshuushinri\ ;
+百戦練磨 < hyakusenrenma\ ;
+即興詩人 < sokkyoushijin\ ;
+善隣政策 < zenrinseisaku\ ;
+前受収益 < maeukeshuueki\ ;
+青銅器時代 < seidoukijidai\ ;
+国民皆兵 < kokuminkaihei\ ;
+骨相学者 < kossougakusha\ ;
+戸別訪問 < kobetsuhoumon\ ;
+爆弾声明 < bakudanseimei\ ;
+道楽息子 < dourakumusuko\ ;
+舌鼓 < shitatsudzumi\ ;
+収穫物 < shuukakubutsu\ ;
+貸付金 < kashitsukekin\ ;
+癒傷組織 < yushousoshiki\ ;
+男子学生 < danshigakusei\ ;
+動物達 < doubutsutachi\ ;
+貫通銃創 < kantsuujuusou\ ;
+食糧庁 < shokuryouchou\ ;
+会計検査院 < kaikeikensain\ ;
+新郎新婦 < shinroushinpu\ ;
+空挺作戦 < kuuteisakusen\ ;
+配管工業 < haikankougyou\ ;
+宇宙通信 < uchuutsuushin\ ;
+腺病質 < senbyoushitsu\ ;
+等比数列 < touhisuuretsu\ ;
+床上浸水 < yukaueshinsui\ ;
+自然環境 < shizenkankyou\ ;
+日中戦争 < nitchuusensou\ ;
+民約説 < min''yakusetsu\ ;
+吸湿剤 < kyuushitsuzai\ ;
+二筋道 < futasujimichi\ ;
+半長靴 < han''nagagutsu\ ;
+標題音楽 < hyoudaiongaku\ ;
+校長室 < kouchoushitsu\ ;
+劣等複合 < rettoufukugou\ ;
+眼球銀行 < gankyuuginkou\ ;
+決断力 < ketsudanryoku\ ;
+市場分析 < shijoubunseki\ ;
+中間試験 < chuukanshiken\ ;
+証券会社 < shoukengaisha\ ;
+漏話結合 < rouwagetsugou\ ;
+国際紛争 < kokusaifunsou\ ;
+集団行動 < shuudankoudou\ ;
+車両縦隊 < sharyoujuutai\ ;
+交代操業 < koutaisougyou\ ;
+作者未詳 < sakushamishou\ ;
+西本願寺 < nishihonganji\ ;
+永代借地 < eitaishakuchi\ ;
+差出人 < sashidashinin\ ;
+七曜表 < shichiyouhyou\ ;
+子宮筋腫 < shikyuukinshu\ ;
+切手蒐集 < kitteshuushuu\ ;
+首位攻防戦 < shuikoubousen\ ;
+全方位外交 < zenhouigaikou\ ;
+官費留学 < kanpiryuugaku\ ;
+編集主幹 < henshuushukan\ ;
+生産技術 < seisangijutsu\ ;
+水平応力 < suiheiouryoku\ ;
+先端技術 < sentangijutsu\ ;
+神宮球場 < jinguukyuujou\ ;
+灰緑色 < kairyokushoku\ ;
+本質的 < honshitsuteki\ ;
+無人化工場 < mujinkakoujou\ ;
+音楽大学 < ongakudaigaku\ ;
+侵略行為 < shinryakukoui\ ;
+入射光線 < nyuushakousen\ ;
+三角函数 < sankakukansuu\ ;
+立体写真 < rittaishashin\ ;
+国際関係 < kokusaikankei\ ;
+浄土真宗 < joudoshinshuu\ ;
+三国同盟 < sangokudoumei\ ;
+火事場泥棒 < kajibadorobou\ ;
+驚天動地 < kyoutendouchi\ ;
+空中滑走 < kuuchuukassou\ ;
+国際問題 < kokusaimondai\ ;
+求心力 < kyuushinryoku\ ;
+社外発信 < shagaihasshin\ ;
+跳梁跋扈 < chouryoubakko\ ;
+集中砲火 < shuuchuuhouka\ ;
+人工栄養児 < jinkoueiyouji\ ;
+人間工学 < ningenkougaku\ ;
+身元確認 < mimotokakunin\ ;
+結団式 < ketsudanshiki\ ;
+差別待遇 < sabetsutaiguu\ ;
+千鳥格子 < chidorigoushi\ ;
+仏像二体 < butsuzounitai\ ;
+全景写真 < zenkeishashin\ ;
+公共団体 < koukyoudantai\ ;
+改札口 < kaisatsuguchi\ ;
+堆積輪廻 < taisekirin''ne\ ;
+一般生活 < ippanseikatsu\ ;
+欧米諸言語 < oubeishogengo\ ;
+横河電機 < yokogawadenki\ ;
+中継放送 < chuukeihousou\ ;
+禁止条約 < kinshijouyaku\ ;
+全国放送 < zenkokuhousou\ ;
+人工孵化法 < jinkoufukahou\ ;
+党利党略 < touritouryaku\ ;
+繁殖力 < hanshokuryoku\ ;
+外交交渉 < gaikoukoushou\ ;
+学士院賞 < gakushiinshou\ ;
+行動計画 < koudoukeikaku\ ;
+共有財産 < kyouyuuzaisan\ ;
+逸失利益 < isshitsurieki\ ;
+農地改革 < nouchikaikaku\ ;
+囃子詞 < hayashikotoba\ ;
+交通渋滞 < koutsuujuutai\ ;
+神経細胞 < shinkeisaibou\ ;
+人差指 < hitosashiyubi\ ;
+七面鳥 < shichimenchou\ ;
+業界団体 < gyoukaidantai\ ;
+勧善懲悪 < kanzenchouaku\ ;
+共産陣営 < kyousanjin''ei\ ;
+欠席裁判 < kessekisaiban\ ;
+半革装丁 < hankawasoutei\ ;
+競争市場 < kyousoushijou\ ;
+発言力 < hatsugenryoku\ ;
+知的財産 < chitekizaisan\ ;
+南北問題 < nanbokumondai\ ;
+軍事顧問団 < gunjikomondan\ ;
+高層天気図 < kousoutenkizu\ ;
+突然変異 < totsuzenhen''i\ ;
+適応障害 < tekioushougai\ ;
+出世頭 < shussegashira\ ;
+混載貨物 < konsaikamotsu\ ;
+集中力 < shuuchuuryoku\ ;
+耐障害性 < taishougaisei\ ;
+近親相姦 < kinshinsoukan\ ;
+屈辱的 < kutsujokuteki\ ;
+大道商人 < daidoushounin\ ;
+不信任案 < fushin''nin''an\ ;
+仮面舞踏会 < kamenbutoukai\ ;
+宮廷音楽 < kyuuteiongaku\ ;
+商売敵 < shoubaigataki\ ;
+出生届 < shusseitodoke\ ;
+緩衝地帯 < kanshouchitai\ ;
+血清注射 < kesseichuusha\ ;
+脱獄囚 < datsugokushuu\ ;
+加糖粉乳 < katoufun''nyuu\ ;
+土産話 < miyagebanashi\ ;
+信販会社 < shinpangaisha\ ;
+十一献金 < juuichikenkin\ ;
+福祉事業 < fukushijigyou\ ;
+暖衣飽食 < dan''ihoushoku\ ;
+準決勝戦 < junkesshousen\ ;
+野生動物 < yaseidoubutsu\ ;
+社会現象 < shakaigenshou\ ;
+北欧諸国 < hokuoushokoku\ ;
+自然休会 < shizenkyuukai\ ;
+良二千石 < ryounisenseki\ ;
+文学青年 < bungakuseinen\ ;
+白装束 < shiroshouzoku\ ;
+作業部会案 < sagyoubukaian\ ;
+修道誓願 < shuudouseigan\ ;
+食糧援助 < shokuryouenjo\ ;
+衆議一決 < shuugiikketsu\ ;
+酸素吸入 < sansokyuunyuu\ ;
+生臭坊主 < namagusabouzu\ ;
+軍事施設 < gunjishisetsu\ ;
+映画評論家 < eigahyouronka\ ;
+郵便振替 < yuubinfurikae\ ;
+方針決定 < houshinkettei\ ;
+就業時間 < shuugyoujikan\ ;
+人口抑制 < jinkouyokusei\ ;
+軍人恩給 < gunjin''onkyuu\ ;
+人工流産 < jinkouryuuzan\ ;
+真剣勝負 < shinkenshoubu\ ;
+隠退生活 < intaiseikatsu\ ;
+守秘義務違反 < shuhigimuihan\ ;
+腰巾着 < koshiginchaku\ ;
+役員報酬 < yakuinhoushuu\ ;
+割引時間 < waribikijikan\ ;
+白葡萄酒 < shirobudoushu\ ;
+半熟卵 < hanjukutamago\ ;
+制服制帽 < seifukuseibou\ ;
+古色蒼然 < koshokusouzen\ ;
+留置郵便 < tomeokiyuubin\ ;
+計画倒産 < keikakutousan\ ;
+皆既日食 < kaikinisshoku\ ;
+没常識 < botsujoushiki\ ;
+集塵袋 < shuujinbukuro\ ;
+連戦連勝 < rensenrenshou\ ;
+享楽主義 < kyourakushugi\ ;
+三下奴 < sanshitayakko\ ;
+広告媒体 < koukokubaitai\ ;
+国民審査 < kokuminshinsa\ ;
+健者 < shitatakamono\ ;
+混声合唱 < konseigasshou\ ;
+神道信者 < shintoushinja\ ;
+実況放送 < jikkyouhousou\ ;
+分光分析 < bunkoubunseki\ ;
+産業組合 < sangyoukumiai\ ;
+取捨選択 < shushasentaku\ ;
+地震学者 < jishingakusha\ ;
+大阪大学 < oosakadaigaku\ ;
+第二次大戦 < dainijitaisen\ ;
+研究方法 < kenkyuuhouhou\ ;
+地質学 < chishitsugaku\ ;
+断郊競走 < dankoukyousou\ ;
+楽屋話 < gakuyabanashi\ ;
+比較文学 < hikakubungaku\ ;
+士農工商 < shinoukoushou\ ;
+乾坤一擲 < kenkon''itteki\ ;
+停止信号 < teishishingou\ ;
+建築現場 < kenchikugenba\ ;
+国連大使 < kokurentaishi\ ;
+眉目秀麗 < bimokushuurei\ ;
+情緒障害 < joushoshougai\ ;
+謹賀新年 < kingashin''nen\ ;
+練習問題 < renshuumondai\ ;
+人畜無害 < jinchikumugai\ ;
+上流社会 < jouryuushakai\ ;
+強奪物 < goudatsubutsu\ ;
+閑日月 < kanjitsugetsu\ ;
+陸海空軍 < rikukaikuugun\ ;
+野次馬根性 < yajiumakonjou\ ;
+真相調査 < shinsouchousa\ ;
+表敬訪問 < hyoukeihoumon\ ;
+普通教育 < futsuukyouiku\ ;
+公民教育 < kouminkyouiku\ ;
+挑発的 < chouhatsuteki\ ;
+水害対策 < suigaitaisaku\ ;
+将来展望 < shouraitenbou\ ;
+尋問調書 < jinmonchousho\ ;
+着弾距離 < chakudankyori\ ;
+天真爛漫 < tenshinranman\ ;
+反射神経 < hanshashinkei\ ;
+青色申告 < aoiroshinkoku\ ;
+造形美術 < zoukeibijutsu\ ;
+史的現在 < shitekigenzai\ ;
+祝祭日 < shukusaijitsu\ ;
+内部生活 < naibuseikatsu\ ;
+構造記述 < kouzoukijutsu\ ;
+共存共栄 < kyouzonkyouei\ ;
+帯状疱疹 < taijouhoushin\ ;
+現実主義 < genjitsushugi\ ;
+年々歳々 < nen''nensaisai\ ;
+研究論文 < kenkyuuronbun\ ;
+最終編成 < saishuuhensei\ ;
+専修学校 < senshuugakkou\ ;
+彫刻術 < choukokujutsu\ ;
+右中括弧 < migichuukakko\ ;
+修道院長 < shuudouinchou\ ;
+家督相続 < katokusouzoku\ ;
+宿命論者 < shukumeironja\ ;
+温度調節 < ondochousetsu\ ;
+英会話学校 < eikaiwagakkou\ ;
+言語能力 < gengonouryoku\ ;
+利潤追求 < rijuntsuikyuu\ ;
+統率理論 < tousotsuriron\ ;
+中立国 < chuuritsukoku\ ;
+喫煙室 < kitsuenshitsu\ ;
+良風美俗 < ryoufuubizoku\ ;
+国民学校 < kokumingakkou\ ;
+単為生殖 < tan''iseishoku\ ;
+前方不注意 < zenpoufuchuui\ ;
+二十日鼠 < hatsukanezumi\ ;
+貿易収支 < bouekishuushi\ ;
+人工心臓 < jinkoushinzou\ ;
+天津日嗣 < amatsuhitsugi\ ;
+一両日 < ichiryoujitsu\ ;
+群雄割拠 < gun''yuukakkyo\ ;
+先天梅毒 < sentenbaidoku\ ;
+人工心肺 < jinkoushinbai\ ;
+呼吸中枢 < kokyuuchuusuu\ ;
+駐留部隊 < chuuryuubutai\ ;
+殺生禁断 < sesshoukindan\ ;
+無銭遊興 < musen''yuukyou\ ;
+主席全権 < shusekizenken\ ;
+地方公務員 < chihoukoumuin\ ;
+甲乙丙丁 < kouotsuheitei\ ;
+補欠選挙 < hoketsusenkyo\ ;
+橋脚舟 < kyoukyakushuu\ ;
+微量分析 < biryoubunseki\ ;
+自動販売機 < jidouhanbaiki\ ;
+地域代表 < chiikidaihyou\ ;
+画一主義 < kakuitsushugi\ ;
+京都大学 < kyoutodaigaku\ ;
+漬物石 < tsukemonoishi\ ;
+外出中 < gaishutsuchuu\ ;
+鉄染色 < tetsusenshoku\ ;
+生体工学 < seitaikougaku\ ;
+独立心 < dokuritsushin\ ;
+泡沫候補 < houmatsukouho\ ;
+相続財産 < souzokuzaisan\ ;
+対戦成績 < taisenseiseki\ ;
+国際空港 < kokusaikuukou\ ;
+国連総会 < kokurensoukai\ ;
+今月末 < kongetsumatsu\ ;
+専門教育 < senmonkyouiku\ ;
+営業報告 < eigyouhoukoku\ ;
+血液検査 < ketsuekikensa\ ;
+革新主義 < kakushinshugi\ ;
+露出時間 < roshutsujikan\ ;
+電磁調理器 < denjichouriki\ ;
+投票用紙 < touhyouyoushi\ ;
+実物大 < jitsubutsudai\ ;
+薬用石鹸 < yakuyousekken\ ;
+単独行動 < tandokukoudou\ ;
+航空自衛隊 < koukuujieitai\ ;
+夫婦生活 < fuufuseikatsu\ ;
+肉体関係 < nikutaikankei\ ;
+軍事警察 < gunjikeisatsu\ ;
+新婚旅行 < shinkonryokou\ ;
+陽性反応 < youseihan''nou\ ;
+軸差応力 < jikusaouryoku\ ;
+人類学者 < jinruigakusha\ ;
+拾得物 < shuutokubutsu\ ;
+武士気質 < bushikishitsu\ ;
+第一人者 < daiichininsha\ ;
+倉敷料 < kurashikiryou\ ;
+資料室 < shiryoushitsu\ ;
+機関投資家 < kikantoushika\ ;
+家庭生活 < kateiseikatsu\ ;
+危険人物 < kikenjinbutsu\ ;
+大学教授 < daigakukyouju\ ;
+前進運動 < zenshin''undou\ ;
+活動成果 < katsudouseika\ ;
+総合収支 < sougoushuushi\ ;
+買物袋 < kaimonobukuro\ ;
+吸収力 < kyuushuuryoku\ ;
+各駅停車 < kakuekiteisha\ ;
+独立国 < dokuritsukoku\ ;
+触媒作用 < shokubaisayou\ ;
+科学技術 < kagakugijutsu\ ;
+印刷用紙 < insatsuyoushi\ ;
+回路遮断機 < kairoshadanki\ ;
+人的証拠 < jintekishouko\ ;
+抗議活動 < kougikatsudou\ ;
+先取得点 < senshutokuten\ ;
+桜祭 < sakuramatsuri\ ;
+複合企業 < fukugoukigyou\ ;
+無差別級 < musabetsukyuu\ ;
+多国籍軍 < takokusekigun\ ;
+競争価格 < kyousoukakaku\ ;
+社会人枠 < shakaijinwaku\ ;
+商業地区 < shougyouchiku\ ;
+表層構造 < hyousoukouzou\ ;
+精神衛生 < seishin''eisei\ ;
+血尿症 < ketsunyoushou\ ;
+航空写真 < koukuushashin\ ;
+上昇気流 < joushoukiryuu\ ;
+北大西洋 < kitataiseiyou\ ;
+行政指導 < gyouseishidou\ ;
+定置漁業 < teichigyogyou\ ;
+最高級品 < saikoukyuuhin\ ;
+彫刻物 < choukokubutsu\ ;
+出頭命令 < shuttoumeirei\ ;
+堪忍袋 < kan''ninbukuro\ ;
+出血過多 < shukketsukata\ ;
+電子出版 < denshishuppan\ ;
+社長室 < shachoushitsu\ ;
+色素細胞 < shikisosaibou\ ;
+聖路加病院 < seirokabyouin\ ;
+花嫁衣裳 < hanayomeishou\ ;
+小口現金 < koguchigenkin\ ;
+分離主義者 < bunrishugisha\ ;
+博学多才 < hakugakutasai\ ;
+外様大名 < tozamadaimyou\ ;
+国民主権 < kokuminshuken\ ;
+公金横領 < koukin''ouryou\ ;
+憲法記念日 < kenpoukinenbi\ ;
+近郊農業 < kinkounougyou\ ;
+全国大会 < zenkokutaikai\ ;
+吟遊詩人 < gin''yuushijin\ ;
+冷水摩擦 < reisuimasatsu\ ;
+曲学阿世 < kyokugakuasei\ ;
+価格競争 < kakakukyousou\ ;
+加減抵抗器 < kagenteikouki\ ;
+禁断症状 < kindanshoujou\ ;
+竜攘虎搏 < ryuujoukohaku\ ;
+正味重量 < shoumijuuryou\ ;
+公証役場 < koushouyakuba\ ;
+清涼飲料 < seiryouinryou\ ;
+丼勘定 < donburikanjou\ ;
+毛管現象 < moukangenshou\ ;
+作戦地域 < sakusenchiiki\ ;
+玉子丼 < tamagodonburi\ ;
+出張旅費 < shutchouryohi\ ;
+放送番組 < housoubangumi\ ;
+無免許運転 < mumenkyounten\ ;
+縮刷版 < shukusatsuban\ ;
+永久磁石 < eikyuujishaku\ ;
+売掛勘定 < urikakekanjou\ ;
+今日的 < kon''nichiteki\ ;
+間宮海峡 < mamiyakaikyou\ ;
+獄中日記 < gokuchuunikki\ ;
+沈思黙考 < chinshimokkou\ ;
+超国家的 < choukokkateki\ ;
+洞察力 < dousatsuryoku\ ;
+防火建築 < boukakenchiku\ ;
+金融市場 < kin''yuushijou\ ;
+集団心理 < shuudanshinri\ ;
+入社試験 < nyuushashiken\ ;
+選択値群 < sentakuchigun\ ;
+不可視光線 < fukashikousen\ ;
+確率誤差 < kakuritsugosa\ ;
+貿易自由化 < bouekijiyuuka\ ;
+第四階級 < daiyonkaikyuu\ ;
+空気制動機 < kuukiseidouki\ ;
+逍遥学派 < shouyougakuha\ ;
+黒点周期 < kokutenshuuki\ ;
+美術学校 < bijutsugakkou\ ;
+半死半生 < hanshihanshou\ ;
+快速電車 < kaisokudensha\ ;
+南北戦争 < nanbokusensou\ ;
+小児喘息 < shounizensoku\ ;
+内政干渉 < naiseikanshou\ ;
+公平政策 < kouheiseisaku\ ;
+工業規格 < kougyoukikaku\ ;
+四角四面 < shikakushimen\ ;
+少年少女 < shounenshoujo\ ;
+再販業者 < saihangyousha\ ;
+超高速度 < choukousokudo\ ;
+調査報告 < chousahoukoku\ ;
+海難審判 < kainanshinpan\ ;
+理学修士 < rigakushuushi\ ;
+外的根拠 < gaitekikonkyo\ ;
+松食虫 < matsukuimushi\ ;
+生命工学 < seimeikougaku\ ;
+天佑神助 < ten''yuushinjo\ ;
+外国旅行 < gaikokuryokou\ ;
+共同水栓 < kyoudousuisen\ ;
+拡大均衡 < kakudaikinkou\ ;
+芋蔓式 < imodzurushiki\ ;
+五十歩百歩 < gojuppohyappo\ ;
+質量数 < shitsuryousuu\ ;
+凱旋将軍 < gaisenshougun\ ;
+原理主義者 < genrishugisha\ ;
+集積回路 < shuusekikairo\ ;
+裾野産業 < susonosangyou\ ;
+鎮魂帰神 < chinkonkishin\ ;
+合格者名 < goukakushamei\ ;
+有資格者 < yuushikakusha\ ;
+化学反応 < kagakuhan''nou\ ;
+需要供給 < juyoukyoukyuu\ ;
+別配達 < betsuhaitatsu\ ;
+召喚令状 < shoukanreijou\ ;
+試験勉強 < shikenbenkyou\ ;
+温室効果 < onshitsukouka\ ;
+今日様 < kon''nichisama\ ;
+有鉤条虫 < yuukoujouchuu\ ;
+内的根拠 < naitekikonkyo\ ;
+近海漁業 < kinkaigyogyou\ ;
+冠大会 < kanmuritaikai\ ;
+決戦投票 < kessentouhyou\ ;
+共同社会 < kyoudoushakai\ ;
+追複曲 < tsuifukukyoku\ ;
+唐草模様 < karakusamoyou\ ;
+包皮切断 < houhisetsudan\ ;
+定期取引 < teikitorihiki\ ;
+乾燥洗濯 < kansousentaku\ ;
+集合名詞 < shuugoumeishi\ ;
+小型新聞 < kogatashinbun\ ;
+多元文化論 < tagenbunkaron\ ;
+譲渡性預金 < joutoseiyokin\ ;
+医療施設 < iryoushisetsu\ ;
+動物油脂 < doubutsuyushi\ ;
+反面教師 < hanmenkyoushi\ ;
+組合頭 < kumiaigashira\ ;
+日常会話 < nichijoukaiwa\ ;
+輸入業者 < yunyuugyousha\ ;
+標準価格 < hyoujunkakaku\ ;
+不妊手術 < funinshujutsu\ ;
+山猫争議 < yamanekosougi\ ;
+出世間的 < shussekenteki\ ;
+年中行事 < nenchuugyouji\ ;
+鎌倉時代 < kamakurajidai\ ;
+散歩旁 < sanpokatagata\ ;
+供託物 < kyoutakubutsu\ ;
+炎症病巣 < enshoubyousou\ ;
+注意人物 < chuuijinbutsu\ ;
+国家主義者 < kokkashugisha\ ;
+日洪親善 < nikkoushinzen\ ;
+追加注文 < tsuikachuumon\ ;
+筆写略字 < hissharyakuji\ ;
+献血運動 < kenketsuundou\ ;
+舞台芸術 < butaigeijutsu\ ;
+出願人 < shutsugan''nin\ ;
+試験監督 < shikenkantoku\ ;
+撤頭徹尾 < tettoutetsubi\ ;
+疾風迅雷 < shippuujinrai\ ;
+市場環境 < shijoukankyou\ ;
+原成岩石 < genseiganseki\ ;
+前大統領 < zendaitouryou\ ;
+強制送還 < kyouseisoukan\ ;
+同業組合 < dougyoukumiai\ ;
+電気剃刀 < denkikamisori\ ;
+事務局長 < jimukyokuchou\ ;
+経済改革 < keizaikaikaku\ ;
+沿岸警備隊 < engankeibitai\ ;
+民俗芸能 < minzokugeinou\ ;
+粘着力 < nenchakuryoku\ ;
+個人主義者 < kojinshugisha\ ;
+収穫予想 < shuukakuyosou\ ;
+塩辛蜻蛉 < shiokaratonbo\ ;
+宿泊料 < shukuhakuryou\ ;
+紆余曲折 < uyokyokusetsu\ ;
+極超短波 < gokuchoutanpa\ ;
+乳窄 < chichishibori\ ;
+主権侵犯 < shukenshinpan\ ;
+中性洗剤 < chuuseisenzai\ ;
+貨物列車 < kamotsuressha\ ;
+血清療法 < kesseiryouhou\ ;
+新案特許 < shin''antokkyo\ ;
+是是非非主義 < zezehihishugi\ ;
+死後硬直 < shigokouchoku\ ;
+唯物主義 < yuibutsushugi\ ;
+日露戦争 < nichirosensou\ ;
+同盟条約 < doumeijouyaku\ ;
+一攫千金 < ikkakkusenkin\ ;
+階級闘争 < kaikyuutousou\ ;
+熱硬化剤 < netsukoukazai\ ;
+専用回線 < sen''youkaisen\ ;
+交換学生 < koukangakusei\ ;
+動線計画 < dousenkeikaku\ ;
+外交委員長 < gaikouiinchou\ ;
+民政長官 < minseichoukan\ ;
+判断中止 < handanchuushi\ ;
+枝垂桜 < shidarezakura\ ;
+古代紫 < kodaimurasaki\ ;
+局所分岐 < kyokushobunki\ ;
+通常国会 < tsuujoukokkai\ ;
+枝垂柳 < shidareyanagi\ ;
+深緑色 < fukamidoriiro\ ;
+数値解析 < suuchikaiseki\ ;
+無抵抗主義 < muteikoushugi\ ;
+軍備拡張 < gunbikakuchou\ ;
+適者生存 < tekishaseizon\ ;
+精神鑑定 < seishinkantei\ ;
+積雪量 < sekisetsuryou\ ;
+鉄道輸送 < tetsudouyusou\ ;
+研究室 < kenkyuushitsu\ ;
+第三階級 < daisankaikyuu\ ;
+千態万様 < sentaiban''you\ ;
+電子工学 < denshikougaku\ ;
+経済状況 < keizaijoukyou\ ;
+社会教育 < shakaikyouiku\ ;
+農耕民族 < noukouminzoku\ ;
+全身全霊 < zenshinzenrei\ ;
+公称資本 < koushoushihon\ ;
+大字片山 < ooazakatayama\ ;
+薬師如来 < yakushinyorai\ ;
+放射能汚染 < houshanouosen\ ;
+電気自動車 < denkijidousha\ ;
+賢所 < kashikodokoro\ ;
+同盟休校 < doumeikyuukou\ ;
+工作室 < kousakushitsu\ ;
+中央計画 < chuuoukeikaku\ ;
+中央集権 < chuuoushuuken\ ;
+三角貿易 < sankakuboueki\ ;
+分析化学 < bunsekikagaku\ ;
+少壮士官 < shousoushikan\ ;
+法的根拠 < houtekikonkyo\ ;
+殺害事件 < satsugaijiken\ ;
+面魂 < tsuradamashii\ ;
+自然増収 < shizenzoushuu\ ;
+良性腫瘍 < ryouseishuyou\ ;
+作劇術 < sakugekijutsu\ ;
+短日月 < tanjitsugetsu\ ;
+車掌室 < shashoushitsu\ ;
+通勤電車 < tsuukindensha\ ;
+少年犯罪 < shounenhanzai\ ;
+水酸化物 < suisankabutsu\ ;
+親戚知己 < shinsekichiki\ ;
+単独決算 < tandokukessan\ ;
+国際情勢 < kokusaijousei\ ;
+街頭演説 < gaitouenzetsu\ ;
+欣喜雀躍 < kinkijakuyaku\ ;
+品種改良 < hinshukairyou\ ;
+公称馬力 < koushoubariki\ ;
+四六時中 < shirokujichuu\ ;
+交通遮断 < koutsuushadan\ ;
+大学紛争 < daigakufunsou\ ;
+財政収支 < zaiseishuushi\ ;
+衆参両院 < shuusanryouin\ ;
+耐火建築 < taikakenchiku\ ;
+視力検査 < shiryokukensa\ ;
+小刀細工 < kogatanazaiku\ ;
+質疑応答 < shitsugioutou\ ;
+捜査当局 < sousatoukyoku\ ;
+診察料 < shinsatsuryou\ ;
+俸給袋 < houkyuubukuro\ ;
+照葉狂言 < terihakyougen\ ;
+出征軍人 < shusseigunjin\ ;
+優生保護法 < yuuseihogohou\ ;
+消失点 < shoushitsuten\ ;
+放射能雲 < houshanougumo\ ;
+社会政策 < shakaiseisaku\ ;
+電極電位 < denkyokuden''i\ ;
+人工透析 < jinkoutouseki\ ;
+複合媒体 < fukugoubaitai\ ;
+住民投票 < juumintouhyou\ ;
+工業地帯 < kougyouchitai\ ;
+呼吸困難 < kokyuukon''nan\ ;
+読書室 < dokushoshitsu\ ;
+養護施設 < yougoshisetsu\ ;
+輸出規制 < yushutsukisei\ ;
+地方事務所 < chihoujimusho\ ;
+戦力組成 < senryokusosei\ ;
+統一見解 < touitsukenkai\ ;
+催眠療法 < saiminryouhou\ ;
+工業製品 < kougyouseihin\ ;
+役人根性 < yakuninkonjou\ ;
+独房監禁 < dokuboukankin\ ;
+宿泊先 < shukuhakusaki\ ;
+導通抵抗 < doutsuuteikou\ ;
+協調主義 < kyouchoushugi\ ;
+会計報告 < kaikeihoukoku\ ;
+台湾海峡 < taiwankaikyou\ ;
+日清戦争 < nisshinsensou\ ;
+宣言発表 < sengenhappyou\ ;
+天体写真 < tentaishashin\ ;
+輸入自由化 < yunyuujiyuuka\ ;
+重量噸数 < juuryoutonsuu\ ;
+識別子 < shikibetsushi\ ;
+南半球 < minamihankyuu\ ;
+明鏡止水 < meikyoushisui\ ;
+年間計画 < nenkankeikaku\ ;
+無利息債務 < murisokusaimu\ ;
+口述筆記 < koujutsuhikki\ ;
+国際通貨 < kokusaitsuuka\ ;
+職員室 < shokuinshitsu\ ;
+硫黄酸化物 < iousankabutsu\ ;
+健康診断 < kenkoushindan\ ;
+桃山時代 < momoyamajidai\ ;
+職場結婚 < shokubakekkon\ ;
+環境問題 < kankyoumondai\ ;
+証人喚問 < shouninkanmon\ ;
+信玄袋 < shingenbukuro\ ;
+攻撃方向 < kougekihoukou\ ;
+競争売買 < kyousoubaibai\ ;
+著作権法 < chosakukenhou\ ;
+国際社会 < kokusaishakai\ ;
+新制高校 < shinseikoukou\ ;
+寄生虫症 < kiseichuushou\ ;
+中折帽子 < nakaoreboushi\ ;
+公開練習 < koukairenshuu\ ;
+経済政策 < keizaiseisaku\ ;
+合成写真 < gouseishashin\ ;
+新進作家 < shinshinsakka\ ;
+恋物語 < koimonogatari\ ;
+酸素供給 < sansokyoukyuu\ ;
+交通公社 < koutsuukousha\ ;
+活殺自在 < kassatsujizai\ ;
+電送写真 < densoushashin\ ;
+全知全能 < zenchizen''nou\ ;
+一粒種 < hitotsubudane\ ;
+国勢調査 < kokuseichousa\ ;
+流通機構 < ryuutsuukikou\ ;
+兵器輸出 < heikiyushutsu\ ;
+天皇崇拝 < ten''nousuuhai\ ;
+保証人要 < hoshounin''you\ ;
+浮遊生物 < fuyuuseibutsu\ ;
+終身保険 < shuushinhoken\ ;
+緑柱石 < ryokuchuuseki\ ;
+懸賞論文 < kenshouronbun\ ;
+道路掃除人 < dourosoujijin\ ;
+市場改革 < shijoukaikaku\ ;
+電力需要 < denryokujuyou\ ;
+臨床尋問 < rinshoujinmon\ ;
+陰極線管 < inkyokusenkan\ ;
+旋光分析 < senkoubunseki\ ;
+化石燃料 < kasekinenryou\ ;
+電信為替 < denshinkawase\ ;
+仏作 < hotokedzukuru\ ;
+懐中電灯 < kaichuudentou\ ;
+才色兼備 < saishokukenbi\ ;
+東南 < higashiminami\ ;
+指導要領 < shidouyouryou\ ;
+郵便年金 < yuubin''nenkin\ ;
+関連商品 < kanrenshouhin\ ;
+限界状況 < genkaijoukyou\ ;
+仁輪加狂言 < niwakakyougen\ ;
+現在完了 < genzaikanryou\ ;
+制約伝搬 < seiyakudenpan\ ;
+丸一週間 < maruisshuukan\ ;
+工業団地 < kougyoudanchi\ ;
+極楽浄土 < gokurakujoudo\ ;
+自自公３党 < jijikousantou\ ;
+気管支肺炎 < kikanshihaien\ ;
+多重債務者 < tajuusaimusha\ ;
+化学分析 < kagakubunseki\ ;
+諮問委員会 < shimon''iinkai\ ;
+同点決勝 < doutenkesshou\ ;
+体外離脱 < taigairidatsu\ ;
+生物兵器 < seibutsuheiki\ ;
+単音節語 < tan''onsetsugo\ ;
+攻撃隊形 < kougekitaikei\ ;
+法人所得 < houjinshotoku\ ;
+大逆事件 < taigyakujiken\ ;
+原始教会 < genshikyoukai\ ;
+価格協定 < kakakukyoutei\ ;
+寓意小説 < guuishousetsu\ ;
+昔気質 < mukashikatagi\ ;
+専門技術 < senmongijutsu\ ;
+拡張可能 < kakuchoukanou\ ;
+俄勉強 < niwakabenkyou\ ;
+急進主義 < kyuushinshugi\ ;
+記念式典 < kinenshikiten\ ;
+競合脱線 < kyougoudassen\ ;
+暑中休暇 < shochuukyuuka\ ;
+繁文縟礼 < hanbunjokurei\ ;
+目標管理 < mokuhyoukanri\ ;
+方向観念 < houkoukan''nen\ ;
+海底電信 < kaiteidenshin\ ;
+業界動向 < gyoukaidoukou\ ;
+必要経費 < hitsuyoukeihi\ ;
+水玉模様 < mizutamamoyou\ ;
+進学率 < shingakuritsu\ ;
+出征家族 < shusseikazoku\ ;
+経常収支 < keijoushuushi\ ;
+地球科学 < chikyuukagaku\ ;
+情報技術 < jouhougijutsu\ ;
+殿様蛙 < tonosamagaeru\ ;
+高高度飛行 < koukoudohikou\ ;
+空中分解 < kuuchuubunkai\ ;
+強制労働 < kyouseiroudou\ ;
+階級意識 < kaikyuuishiki\ ;
+博士論文 < hakushironbun\ ;
+人格形成 < jinkakukeisei\ ;
+絹糸紡績 < kenshibouseki\ ;
+職場闘争 < shokubatousou\ ;
+静脈血 < joumyakuketsu\ ;
+教育学部 < kyouikugakubu\ ;
+変速装置 < hensokusouchi\ ;
+真円真珠 < shin''enshinju\ ;
+国民経済 < kokuminkeizai\ ;
+一筋道 < hitosujimichi\ ;
+内面描写 < naimenbyousha\ ;
+媒体終端 < baitaishuutan\ ;
+心理療法 < shinriryouhou\ ;
+性的関係 < seitekikankei\ ;
+無銭飲食 < musen''inshoku\ ;
+就業率 < shuugyouritsu\ ;
+範疇文法 < hanchuubunpou\ ;
+内緒話 < naishobanashi\ ;
+長期借款 < choukishakkan\ ;
+全体集合 < zentaishuugou\ ;
+右小括弧 < migishoukakko\ ;
+仮想敵国 < kasoutekikoku\ ;
+躁鬱質 < souutsushitsu\ ;
+極楽往生 < gokurakuoujou\ ;
+初等教育 < shotoukyouiku\ ;
+行政命令 < gyouseimeirei\ ;
+対地攻撃 < taichikougeki\ ;
+自然描写 < shizenbyousha\ ;
+金融資本 < kin''yuushihon\ ;
+無能力者 < munouryokusha\ ;
+化学工業 < kagakukougyou\ ;
+行政区画 < gyouseikukaku\ ;
+学習辞典 < gakushuujiten\ ;
+国会議事堂 < kokkaigijidou\ ;
+閨閥政治 < keibatsuseiji\ ;
+二十四節気 < nijuushisekki\ ;
+事業拡充 < jigyoukakujuu\ ;
+農村工業 < nousonkougyou\ ;
+秋雨前線 < akisamezensen\ ;
+無形文化財 < mukeibunkazai\ ;
+共同農場 < kyoudounoujou\ ;
+女権拡張 < jokenkakuchou\ ;
+講習会場 < koushuukaijou\ ;
+汚染物質 < osenbusshitsu\ ;
+状況判断 < joukyouhandan\ ;
+当該官庁 < tougaikanchou\ ;
+仲介貿易 < chuukaiboueki\ ;
+国内市場 < kokunaishijou\ ;
+一枚看板 < ichimaikanban\ ;
+市場自由化 < shijoujiyuuka\ ;
+経営多角化 < keieitakakuka\ ;
+無線通信 < musentsuushin\ ;
+経済大国 < keizaitaikoku\ ;
+主我主義者 < shugashugisha\ ;
+暗号化手法 < angoukashuhou\ ;
+反社会的 < hanshakaiteki\ ;
+一利一害 < ichiriichigai\ ;
+二律背反 < niritsuhaihan\ ;
+復元作業 < fukugensagyou\ ;
+人間爆弾 < ningenbakudan\ ;
+季節労働 < kisetsuroudou\ ;
+陸軍大臣 < rikugundaijin\ ;
+断抵抗角 < danteikoukaku\ ;
+熱効率 < netsukouritsu\ ;
+不見転芸者 < mizutengeisha\ ;
+目的物 < mokutekibutsu\ ;
+通信機関 < tsuushinkikan\ ;
+反発力 < hanpatsuryoku\ ;
+写真凸版 < shashintoppan\ ;
+植物誌 < shokubutsushi\ ;
+化学療法 < kagakuryouhou\ ;
+功利主義者 < kourishugisha\ ;
+綱紀粛正 < koukishukusei\ ;
+税制改革 < zeiseikaikaku\ ;
+調停裁判 < chouteisaiban\ ;
+無罪判決 < muzaihanketsu\ ;
+天牛 < kamikirimushi\ ;
+軍事戦略 < gunjisenryaku\ ;
+警察力 < keisatsuryoku\ ;
+臨床試験 < rinshoushiken\ ;
+防止指針 < boushishishin\ ;
+気象観測 < kishoukansoku\ ;
+舞台生活 < butaiseikatsu\ ;
+大名旅行 < daimyouryokou\ ;
+作業療法 < sagyouryouhou\ ;
+外国為替 < gaikokukawase\ ;
+都立高校 < toritsukoukou\ ;
+形式主義 < keishikishugi\ ;
+化学工学 < kagakukougaku\ ;
+角運動量 < kakuundouryou\ ;
+完全無欠 < kanzenmuketsu\ ;
+政策決定 < seisakukettei\ ;
+貨物室 < kamotsushitsu\ ;
+循環小数 < junkanshousuu\ ;
+大韓民国 < daikanminkoku\ ;
+懐中鏡 < kaichuukagami\ ;
+適用業務 < tekiyougyoumu\ ;
+戦争文学 < sensoubungaku\ ;
+九天直下 < kyuutenchokka\ ;
+淡緑色 < tanryokushoku\ ;
+面従腹背 < menjuufukuhai\ ;
+確保失敗 < kakuhoshippai\ ;
+共通言語 < kyoutsuugengo\ ;
+自動車保険 < jidoushahoken\ ;
+強制処分 < kyouseishobun\ ;
+断崖絶壁 < dangaizeppeki\ ;
+産業社会 < sangyoushakai\ ;
+各種学校 < kakushugakkou\ ;
+分解写真 < bunkaishashin\ ;
+印刷媒体 < insatsubaitai\ ;
+研究所報 < kenkyuushohou\ ;
+乱射乱撃 < ransharangeki\ ;
+特許侵害 < tokkyoshingai\ ;
+定額貯金 < teigakuchokin\ ;
+公衆伝動 < koushuudendou\ ;
+天竺鼠 < tenjikunezumi\ ;
+鉄道馬車 < tetsudoubasha\ ;
+内国為替 < naikokukawase\ ;
+種種様様 < shujusamazama\ ;
+喜色満面 < kishokumanmen\ ;
+弁別素性 < benbetsusosei\ ;
+作戦命令 < sakusenmeirei\ ;
+議長職権 < gichoushokken\ ;
+統率力 < touritsuryoku\ ;
+実録物 < jitsurokumono\ ;
+啓蒙思潮 < keimoushichou\ ;
+公娼全廃 < koushouzenpai\ ;
+対面交通 < taimenkoutsuu\ ;
+自己顕示欲 < jikokenjiyoku\ ;
+密入国 < mitsunyuugoku\ ;
+一問一答 < ichimon''ittou\ ;
+直輸出 < chokuyushutsu\ ;
+無配当保険 < muhaitouhoken\ ;
+電子密度 < denshimitsudo\ ;
+超低価格 < chouteikakaku\ ;
+一括売買 < ikkatsubaibai\ ;
+惚気話 < norokebanashi\ ;
+制約条件 < seiyakujouken\ ;
+休戦会談 < kyuusenkaidan\ ;
+休養室 < kyuuyoushitsu\ ;
+版権侵害 < hankenshingai\ ;
+陳列窓 < chinretsumado\ ;
+百分率 < hyakubunritsu\ ;
+隔離病棟 < kakuribyoutou\ ;
+生鮮料品 < seisenryouhin\ ;
+出血症 < shukketsushou\ ;
+上昇傾向 < joushoukeikou\ ;
+不法入国 < fuhounyuugoku\ ;
+教養学部 < kyouyougakubu\ ;
+高信頼性 < koushinraisei\ ;
+果樹栽培者 < kajusaibaisha\ ;
+家宅捜索 < katakusousaku\ ;
+計画経済 < keikakukeizai\ ;
+三軸試験 < sanjikushiken\ ;
+最終段階 < saishuudankai\ ;
+収入印紙 < shuunyuuinshi\ ;
+半熟練工 < hanjukurenkou\ ;
+写真判定 < shashinhantei\ ;
+経済観念 < keizaikan''nen\ ;
+賃金水準 < chinginsuijun\ ;
+営業収支 < eigyoushuushi\ ;
+三相交流 < sansoukouryuu\ ;
+経営戦略 < keieisenryaku\ ;
+春夏秋冬 < shunkashuutou\ ;
+焦点深度 < shoutenshindo\ ;
+一時所得 < ichijishotoku\ ;
+杉花粉症 < sugikafunshou\ ;
+人民投票 < jinmintouhyou\ ;
+密輸出 < mitsuyushutsu\ ;
+合従連衡 < gasshourenkou\ ;
+烏野豌豆 < karasunoendou\ ;
+無芸大食 < mugeitaishoku\ ;
+国際連合 < kokusairengou\ ;
+判別式 < hanbetsushiki\ ;
+熱交換器 < netsukoukanki\ ;
+宇宙開発 < uchuukaihatsu\ ;
+漢文訓読 < kanbunkundoku\ ;
+空間感覚 < kuukankankaku\ ;
+二人三脚 < nininsankyaku\ ;
+権力主義 < kenryokushugi\ ;
+植物界 < shokubutsukai\ ;
+募集広告 < boshuukoukoku\ ;
+学習理論 < gakushuuriron\ ;
+駐車禁止 < chuushakinshi\ ;
+共同宣言 < kyoudousengen\ ;
+裁判官忌避 < saibankankihi\ ;
+天地神明 < tenchishinmei\ ;
+夢幻 < yumemaboroshi\ ;
+詳細情報 < shousaijouhou\ ;
+牛飲馬食 < gyuuinbashoku\ ;
+非武装地帯 < hibusouchitai\ ;
+金城鉄壁 < kinjouteppeki\ ;
+集中講義 < shuuchuukougi\ ;
+変形虫類 < henkeichuurui\ ;
+公的年金 < koutekinenkin\ ;
+週刊雑誌 < shuukanzasshi\ ;
+紡績工場 < bousekikoujou\ ;
+初等数学 < shotousuugaku\ ;
+残存日数 < zanson''nissuu\ ;
+空気清浄機 < kuukiseijouki\ ;
+国際展開 < kokusaitenkai\ ;
+年功序列 < nenkoujoretsu\ ;
+熱力学 < netsurikigaku\ ;
+商業都市 < shougyoutoshi\ ;
+中途退学 < chuutotaigaku\ ;
+共同会見 < kyoudoukaiken\ ;
+憲法学者 < kenpougakusha\ ;
+一事不再議 < ichijifusaigi\ ;
+創建記念日 < soukenkinenbi\ ;
+普遍妥当性 < fuhendatousei\ ;
+原子爆弾 < genshibakudan\ ;
+原子破壊機 < genshihakaiki\ ;
+登山鉄道 < tozantetsudou\ ;
+新正月 < shinshougatsu\ ;
+物理化学 < butsurikagaku\ ;
+給水制限 < kyuusuiseigen\ ;
+朝鮮戦争 < chousensensou\ ;
+嫌気生物 < kenkiseibutsu\ ;
+選択状態 < sentakujoutai\ ;
+主食物 < shushokubutsu\ ;
+高峰八座 < kouhouhachiza\ ;
+不消化物 < fushoukabutsu\ ;
+法的文書 < houtekibunsho\ ;
+秘密選挙 < himitsusenkyo\ ;
+陳列棚 < chinretsudana\ ;
+新熱帯区 < shin''nettaiku\ ;
+結婚指輪 < kekkon''yubiwa\ ;
+善隣友好 < zenrin''yuukou\ ;
+受取手形 < uketoritegata\ ;
+決算報告 < kessanhoukoku\ ;
+心理学者 < shinrigakusha\ ;
+雑収入 < zatsushuunyuu\ ;
+論理形式 < ronrikeishiki\ ;
+低頭平身 < teitouheishin\ ;
+混合農業 < kongounougyou\ ;
+文芸作品 < bungeisakuhin\ ;
+有閑階級 < yuukankaikyuu\ ;
+友好条約 < yuukoujouyaku\ ;
+則天去私 < sokutenkyoshi\ ;
+写実主義 < shajitsushugi\ ;
+国際市場 < kokusaishijou\ ;
+二重生活 < nijuuseikatsu\ ;
+臨機目標 < rinkimokuhyou\ ;
+商業登記 < shougyoutouki\ ;
+黄色人種 < oushokujinshu\ ;
+周波変調 < shuuhahenchou\ ;
+欠陥商品 < kekkanshouhin\ ;
+従属変数 < juuzokuhensuu\ ;
+既約表現 < kiyakuhyougen\ ;
+話半分 < hanashihanbun\ ;
+不良少年 < furyoushounen\ ;
+測量技師 < sokuryougishi\ ;
+森羅万象 < shinrabanshou\ ;
+産業構造 < sangyoukouzou\ ;
+欧州諸国 < oushuushokoku\ ;
+通勤地獄 < tsuukinjigoku\ ;
+昼間人口 < chuukanjinkou\ ;
+力不足 < chikarabusoku\ ;
+性格判断 < seikakuhandan\ ;
+信頼関係 < shinraikankei\ ;
+就学率 < shuugakuritsu\ ;
+同期通信 < doukitsuushin\ ;
+三重焦点 < sanjuushouten\ ;
+投票総数 < touhyousousuu\ ;
+大幅刷新 < oohabasasshin\ ;
+水上町 < minakamimachi\ ;
+結婚記念日 < kekkonkinenbi\ ;
+大雨注意報 < ooamechuuihou\ ;
+切断患者 < setsudankanja\ ;
+袖手傍観 < shuushuboukan\ ;
+拍手喝采 < hakushukassai\ ;
+作業仮説 < sagyoukasetsu\ ;
+経済成長 < keizaiseichou\ ;
+米東部時間 < beitoubujikan\ ;
+合成宝石 < gouseihouseki\ ;
+結締組織 < ketteisoshiki\ ;
+親切心 < shinsetsushin\ ;
+円錐曲線 < ensuikyokusen\ ;
+聖体拝領 < seitaihairyou\ ;
+庶民金融 < shominkin''yuu\ ;
+体積抵抗 < taisekiteikou\ ;
+協同組合 < kyoudoukumiai\ ;
+先住民族 < senjuuminzoku\ ;
+統一戦線 < touitsusensen\ ;
+同時通訳 < doujitsuuyaku\ ;
+周知徹底 < shuuchitettei\ ;
+艱難辛苦 < kan''nanshinku\ ;
+政党内閣 < seitounaikaku\ ;
+制作室 < seisakushitsu\ ;
+即物的 < sokubutsuteki\ ;
+現地報告 < genchihoukoku\ ;
+懸賞問題 < kenshoumondai\ ;
+劣性遺伝子 < resseiidenshi\ ;
+汲取口 < kumitoriguchi\ ;
+傭船契約 < yousenkeiyaku\ ;
+今上天皇 < kinjouten''nou\ ;
+他覚症状 < takakushoujou\ ;
+欠食児童 < kesshokujidou\ ;
+娯楽番組 < gorakubangumi\ ;
+精神医学 < seishin''igaku\ ;
+内容証明 < naiyoushoumei\ ;
+出港停止 < shukkouteishi\ ;
+夫婦約束 < fuufuyakusoku\ ;
+旅行業者 < ryokougyousha\ ;
+使徒信経 < shitoshinkyou\ ;
+外資導入 < gaishidounyuu\ ;
+無価値資産 < mukachishisan\ ;
+健康保険医 < kenkouhoken''i\ ;
+常任委員会 < jounin''iinkai\ ;
+成人教育 < seijinkyouiku\ ;
+公式主義 < koushikishugi\ ;
+複数業務 < fukusuugyoumu\ ;
+禁欲主義 < kin''yokushugi\ ;
+空襲警報 < kuushuukeihou\ ;
+産業再生 < sangyousaisei\ ;
+賃貸価格 < chintaikakaku\ ;
+戦闘前哨 < sentouzenshou\ ;
+一言一行 < ichigen''ikkou\ ;
+軖 < tsumugikuruma\ ;
+吹奏楽団 < suisougakudan\ ;
+直線距離 < chokusenkyori\ ;
+近親結婚 < kinshinkekkon\ ;
+米英仏蘭 < beieibutsuran\ ;
+自由主義者 < jiyuushugisha\ ;
+短波受信機 < tanpajushinki\ ;
+共同作業 < kyoudousagyou\ ;
+減反政策 < gentanseisaku\ ;
+心理作戦 < shinrisakusen\ ;
+総領娘 < souryoumusume\ ;
+七福神 < shichifukujin\ ;
+心臓移植 < shinzouishoku\ ;
+有限責任 < yuugensekinin\ ;
+組織再編 < soshikisaihen\ ;
+福音教会 < fukuinkyoukai\ ;
+関係副詞 < kankeifukushi\ ;
+史料編纂 < shiryouhensan\ ;
+特別席 < tokubetsuseki\ ;
+猟官運動 < ryoukan''undou\ ;
+肉体労働 < nikutairoudou\ ;
+破壊主義者 < hakaishugisha\ ;
+参照文献 < sanshoubunken\ ;
+音楽監督 < ongakukantoku\ ;
+平身低頭 < heishinteitou\ ;
+共産分子 < kyousanbunshi\ ;
+予約出版 < yoyakushuppan\ ;
+炭水化物 < tansuikabutsu\ ;
+御都合主義 < gotsugoushugi\ ;
+多血質 < taketsushitsu\ ;
+近代文学 < kindaibungaku\ ;
+二十日大根 < hatsukadaikon\ ;
+地方官庁 < chihoukanchou\ ;
+四分五裂 < shibungoretsu\ ;
+経済回復 < keizaikaifuku\ ;
+実存主義 < jitsuzonshugi\ ;
+恒温動物 < kouondoubutsu\ ;
+野菜一皿 < yasaihitosara\ ;
+形式論理 < keishikironri\ ;
+大学浪人 < daigakurounin\ ;
+暫定協定 < zanteikyoutei\ ;
+落下傘部隊 < rakkasanbutai\ ;
+放送大学 < housoudaigaku\ ;
+法律制度 < houritsuseido\ ;
+長距離依存 < choukyoriizon\ ;
+信用金庫 < shin''youkinko\ ;
+有名無実 < yuumeimujitsu\ ;
+終身会員 < shuushinkaiin\ ;
+笑止千万 < shoushisenban\ ;
+文学博士 < bungakuhakase\ ;
+庭先相場 < niwasakisouba\ ;
+消費者側 < shouhishagawa\ ;
+精神構造 < seishinkouzou\ ;
+鉄骨工事 < tekkotsukouji\ ;
+国利民福 < kokuriminpuku\ ;
+軽佻浮薄 < keichoufuhaku\ ;
+沖積平野 < chuusekiheiya\ ;
+酪農製品 < rakunouseihin\ ;
+謝罪広告 < shazaikoukoku\ ;
+富国強兵 < fukokukyouhei\ ;
+外郭団体 < gaikakudantai\ ;
+共同企業 < kyoudoukigyou\ ;
+階級社会 < kaikyuushakai\ ;
+対外政策 < taigaiseisaku\ ;
+精霊信仰 < seireishinkou\ ;
+ＧＢ理論 < ji\ ̄bi\ ̄riron\ ;
+春風駘蕩 < shunpuutaitou\ ;
+死刑執行 < shikeishikkou\ ;
+二者択一 < nishatakuitsu\ ;
+酸性反応 < sanseihan''nou\ ;
+核爆発 < kakubakuhatsu\ ;
+水道料金 < suidouryoukin\ ;
+空気力学 < kuukirikigaku\ ;
+商売気質 < shoubaikatagi\ ;
+記録文学 < kirokubungaku\ ;
+符号変換器 < fugouhenkanki\ ;
+彼方此方 < achirakochira\ ;
+立身出世 < risshinshusse\ ;
+正金銀行 < shoukinginkou\ ;
+共済事業 < kyousaijigyou\ ;
+先行技術 < senkougijutsu\ ;
+図書目録 < toshomokuroku\ ;
+証拠隠滅 < shoukoinmetsu\ ;
+送金小切手 < soukinkogitte\ ;
+競争関係 < kyousoukankei\ ;
+得票率 < tokuhyouritsu\ ;
+表彰式 < hyoushoushiki\ ;
+入学式 < nyuugakushiki\ ;
+事前検閲 < jizenken''etsu\ ;
+行政処分 < gyouseishobun\ ;
+全面広告 < zenmenkoukoku\ ;
+糎 < senchimeitoru\ ;
+国務長官 < kokumuchoukan\ ;
+粨 < hekutomeetoru\ ;
+精神病院 < seishinbyouin\ ;
+四十九日 < shijuukunichi\ ;
+杓子定規 < shakushijougi\ ;
+可塑物質 < kasobusshitsu\ ;
+灰白質 < kaihakushitsu\ ;
+半農半漁 < han''nouhangyo\ ;
+食用油 < shokuyouabura\ ;
+職業的 < shokugyouteki\ ;
+食生活 < shokuseikatsu\ ;
+暴飲暴食 < bouinboushoku\ ;
+研究分野 < kenkyuubun''ya\ ;
+人口密度 < jinkoumitsudo\ ;
+人身売買 < jinshinbaibai\ ;
+殺人未遂 < satsujinmisui\ ;
+丸一月 < maruhitotsuki\ ;
+足利時代 < ashikagajidai\ ;
+弾着距離 < danchakukyori\ ;
+職業病 < shokugyoubyou\ ;
+動物検査 < doubutsukensa\ ;
+薬餌療法 < yakujiryouhou\ ;
+人間国宝 < ningenkokuhou\ ;
+丸一日 < maruichinichi\ ;
+緊要地形 < kin''youchikei\ ;
+市場成長 < shijouseichou\ ;
+指名投票 < shimeitouhyou\ ;
+呉越同舟 < goetsudoushuu\ ;
+宅地造成 < takuchizousei\ ;
+精神労働 < seishinroudou\ ;
+家族計画 < kazokukeikaku\ ;
+開口一番 < kaikouichiban\ ;
+直系卑属 < chokkeihizoku\ ;
+割賦方式 < kappuhoushiki\ ;
+毒物学 < dokubutsugaku\ ;
+勤労大衆 < kinroutaishuu\ ;
+未収入金 < mishuunyuukin\ ;
+風俗営業 < fuuzokueigyou\ ;
+民俗音楽 < minzokuongaku\ ;
+海水浴場 < kaisuiyokujou\ ;
+連合作戦 < rengousakusen\ ;
+両蓋時計 < ryoubutadokei\ ;
+主客転倒 < shukakutentou\ ;
+就職先 < shuushokusaki\ ;
+損益勘定 < son''ekikanjou\ ;
+動力降下 < douryokukouka\ ;
+三角闘争 < sankakutousou\ ;
+退学処分 < taigakushobun\ ;
+実験材料 < jikkenzairyou\ ;
+口約束 < kuchiyakusoku\ ;
+対戦車火器 < taisenshakaki\ ;
+弗化水素酸 < fukkasuisosan\ ;
+重要産業 < juuyousangyou\ ;
+液体燃料 < ekitainenryou\ ;
+伝道集会 < dendoushuukai\ ;
+八面六臂 < hachimenroppi\ ;
+実力者 < jitsuryokusha\ ;
+才気煥発 < saikikanpatsu\ ;
+感情表現 < kanjouhyougen\ ;
+湧出量 < yuushutsuryou\ ;
+人種差別 < jinshusabetsu\ ;
+英国発音 < eikokuhatsuon\ ;
+無限数列 < mugensuuretsu\ ;
+熟慮断行 < jukuryodankou\ ;
+筒井筒 < tsutsuidzutsu\ ;
+直交座標 < chokkouzahyou\ ;
+北太平洋 < kitataiheiyou\ ;
+男声合唱 < danseigasshou\ ;
+胃腸病学 < ichoubyougaku\ ;
+三角関係 < sankakukankei\ ;
+相補性原理 < souhoseigenri\ ;
+蒸気機関車 < joukikikansha\ ;
+単独会見 < tandokukaiken\ ;
+会堂司 < kaidoudzukasa\ ;
+間歇熱 < kanketsunetsu\ ;
+財産相続 < zaisansouzoku\ ;
+上智大学 < jouchidaigaku\ ;
+文化事業部 < bunkajigyoubu\ ;
+無記名社債 < mukimeishasai\ ;
+僧庵生活 < souanseikatsu\ ;
+法律用語 < houritsuyougo\ ;
+雌雄選択 < shiyuusentaku\ ;
+百花繚乱 < hyakkaryouran\ ;
+音楽療法 < ongakuryouhou\ ;
+住民登録 < juumintouroku\ ;
+断層写真 < dansoushashin\ ;
+占領地帯 < senryouchitai\ ;
+薬品会社 < yakuhingaisha\ ;
+出口調査 < deguchichousa\ ;
+合同慰霊祭 < goudouireisai\ ;
+能動免疫 < noudoumen''eki\ ;
+在留邦人 < zairyuuhoujin\ ;
+麦藁細工 < mugiwarasaiku\ ;
+哲学的 < tetsugakuteki\ ;
+工芸美術 < kougeibijutsu\ ;
+読唇術 < dokushinjutsu\ ;
+航空攻撃 < koukuukougeki\ ;
+裸電球 < hadakadenkyuu\ ;
+重量選手 < juuryousenshu\ ;
+赤立羽蝶 < akatatehachou\ ;
+火災報知機 < kasaihouchiki\ ;
+蛋白質 < tanpakushitsu\ ;
+愛鳥週間 < aichoushuukan\ ;
+工業化学 < kougyoukagaku\ ;
+技術提携 < gijutsuteikei\ ;
+中性子星 < chuuseishisei\ ;
+排泄物 < haisetsubutsu\ ;
+食肉目 < shokunikumoku\ ;
+公共事業 < koukyoujigyou\ ;
+上越本線 < jouetsuhonsen\ ;
+活動力 < katsudouryoku\ ;
+無償契約 < mushoukeiyaku\ ;
+電波探知機 < denpatanchiki\ ;
+閃光電球 < senkoudenkyuu\ ;
+国籍言語 < kokusekigengo\ ;
+定温動物 < teiondoubutsu\ ;
+空前絶後 < kuuzenzetsugo\ ;
+侵略的 < shinryakuteki\ ;
+武力外交 < buryokugaikou\ ;
+凝集力 < gyoushuuryoku\ ;
+戸籍抄本 < kosekishouhon\ ;
+朝鮮半島 < chousenhantou\ ;
+可変抵抗器 < kahenteikouki\ ;
+非常召集 < hijoushoushuu\ ;
+全般前哨 < zenpanzenshou\ ;
+大乗仏教 < daijoubukkyou\ ;
+分析試験 < bunsekishiken\ ;
+公務員試験 < koumuinshiken\ ;
+幽霊屋敷 < yuureiyashiki\ ;
+有産階級 < yuusankaikyuu\ ;
+権力政治 < kenryokuseiji\ ;
+脅迫電話 < kyouhakudenwa\ ;
+船荷証券 < funanishouken\ ;
+手旗信号 < tebatashingou\ ;
+栄養失調 < eiyoushitchou\ ;
+作況指数 < sakkyoushisuu\ ;
+相互通信 < sougotsuushin\ ;
+表層雪崩 < hyousounadare\ ;
+災害対策 < saigaitaisaku\ ;
+事実調査 < jijitsuchousa\ ;
+日経新聞 < nikkeishinbun\ ;
+中間選挙 < chuukansenkyo\ ;
+市長選挙 < shichousenkyo\ ;
+沈降海岸 < chinkoukaigan\ ;
+獅子頭 < shishigashira\ ;
+宇宙飛行士 < uchuuhikoushi\ ;
+社会福祉 < shakaifukushi\ ;
+論功行賞 < ronkoukoushou\ ;
+実践躬行 < jissenkyuukou\ ;
+観察力 < kansatsuryoku\ ;
+正副二通 < seifukunitsuu\ ;
+交感神経 < koukanshinkei\ ;
+消費革命 < shouhikakumei\ ;
+脱力感 < datsuryokukan\ ;
+専任講師 < sen''ninkoushi\ ;
+支出額 < shishutsugaku\ ;
+大量生産 < tairyouseisan\ ;
+最高機密 < saikoukimitsu\ ;
+管弦楽法 < kangengakuhou\ ;
+新品同様 < shinpindouyou\ ;
+大虐殺 < daigyakusatsu\ ;
+前渡金 < maewatashikin\ ;
+看護婦学院 < kangofugakuin\ ;
+備荒貯蓄 < bikouchochiku\ ;
+薄志弱行 < hakushijakkou\ ;
+勤労階級 < kinroukaikyuu\ ;
+乳白色 < nyuuhakushoku\ ;
+日印関係 < nichiinkankei\ ;
+終業式 < shuugyoushiki\ ;
+長期計画 < choukikeikaku\ ;
+爆発的 < bakuhatsuteki\ ;
+不時着陸 < fujichakuriku\ ;
+排泄器官 < haisetsukikan\ ;
+英文解釈 < eibunkaishaku\ ;
+免責条項 < mensekijoukou\ ;
+鉄道線路 < tetsudousenro\ ;
+十字軍騎士 < juujigunkishi\ ;
+攻撃態勢 < kougekitaisei\ ;
+定期昇給 < teikishoukyuu\ ;
+記述文法 < kijutsubunpou\ ;
+臣籍降下 < shinsekikouka\ ;
+炭酸飲料 < tansan''inryou\ ;
+市場拡大 < shijoukakudai\ ;
+精密機械 < seimitsukikai\ ;
+無機高分子 < mukikoubunshi\ ;
+機動警察 < kidoukeisatsu\ ;
+清元節 < kiyomotobushi\ ;
+年間収益 < nenkanshuueki\ ;
+仲裁裁定 < chuusaisaitei\ ;
+雷親父 < kaminarioyaji\ ;
+偵察要員 < teisatsuyouin\ ;
+神経質 < shinkeishitsu\ ;
+文藝春秋 < bungeishunjuu\ ;
+人形芝居 < ningyoushibai\ ;
+水中眼鏡 < suichuumegane\ ;
+公序良俗 < koujoryouzoku\ ;
+接着力 < setchakuryoku\ ;
+五月幟 < satsukinobori\ ;
+婚前交渉 < konzenkoushou\ ;
+太陽黒点 < taiyoukokuten\ ;
+上御一人 < kamigoichinin\ ;
+主要工業 < shuyoukougyou\ ;
+下等動物 < katoudoubutsu\ ;
+逆輸出 < gyakuyushutsu\ ;
+的中率 < tekichuuritsu\ ;
+建設費 < kensetsuhiyou\ ;
+臥薪嘗胆 < gashinshoutan\ ;
+指揮所演習 < shikijoenshuu\ ;
+診療支援 < shinryoushien\ ;
+転地療養 < tenchiryouyou\ ;
+万能選手 < ban''nousenshu\ ;
+教会音楽 < kyoukaiongaku\ ;
+千載一遇 < senzaiichiguu\ ;
+屈折率 < kussetsuritsu\ ;
+売買契約 < baibaikeiyaku\ ;
+住宅地帯 < juutakuchitai\ ;
+減速装置 < gensokusouchi\ ;
+住宅問題 < juutakumondai\ ;
+船長室 < senchoushitsu\ ;
+免疫血清 < men''ekikessei\ ;
+核反応炉 < kakuhan''nouro\ ;
+主教室 < shukyoushitsu\ ;
+放射線学 < houshasengaku\ ;
+流通経路 < ryuutsuukeiro\ ;
+二酸化窒素 < nisankachisso\ ;
+尋常一様 < jinjouichiyou\ ;
+国有財産 < kokuyuuzaisan\ ;
+市民階級 < shiminkaikyuu\ ;
+言語知識 < gengochishiki\ ;
+公共放送 < koukyouhousou\ ;
+室内楽 < shitsunaigaku\ ;
+斑状組織 < hanjousoshiki\ ;
+人情話 < ninjoubanashi\ ;
+重爆撃機 < juubakugekiki\ ;
+婚外交渉 < kongaikoushou\ ;
+仲裁裁判 < chuusaisaiban\ ;
+侯爵夫人 < koushakufujin\ ;
+濃緑色 < nouryokushoku\ ;
+有色野菜 < yuushokuyasai\ ;
+集団訴訟 < shuudansoshou\ ;
+一次産業 < ichijisangyou\ ;
+練習不足 < renshuubusoku\ ;
+商船学校 < shousengakkou\ ;
+麦藁蜻蛉 < mugiwaratonbo\ ;
+自動車電話 < jidoushadenwa\ ;
+有限集合 < yuugenshuugou\ ;
+追加料金 < tsuikaryoukin\ ;
+Π中間子 < paichuukanshi\ ;
+遠隔教育 < enkakukyouiku\ ;
+脳脊髄液 < nousekizuieki\ ;
+情報可視化 < jouhoukashika\ ;
+東西南北 < touzainanboku\ ;
+許容線量 < kyoyousenryou\ ;
+正札値段 < shoufudanedan\ ;
+応接室 < ousetsushitsu\ ;
+差別関税 < sabetsukanzei\ ;
+中等学校 < chuutougakkou\ ;
+管弦楽団 < kangengakudan\ ;
+侵略国 < shinryakukoku\ ;
+寄生生物 < kiseiseibutsu\ ;
+主権回復 < shukenkaifuku\ ;
+両部神道 < ryoubushintou\ ;
+侍気質 < samuraikatagi\ ;
+申込書 < moushikomisho\ ;
+絹布一巻 < kenpuhitomaki\ ;
+過圧密比 < kaatsumitsuhi\ ;
+摂氏２０度 < sesshinijuudo\ ;
+自然選択 < shizensentaku\ ;
+直説法 < chokusetsuhou\ ;
+下町風 < shitamachifuu\ ;
+反応速度 < han''nousokudo\ ;
+小型赤家蚊 < kogataakaieka\ ;
+偵察衛星 < teisatsueisei\ ;
+食中毒 < shokuchuudoku\ ;
+正副議長 < seifukugichou\ ;
+産出高 < sanshutsudaka\ ;
+神前結婚 < shinzenkekkon\ ;
+法的手段 < houtekishudan\ ;
+作業領域 < sagyouryouiki\ ;
+年金証書 < nenkinshousho\ ;
+交通妨害 < koutsuubougai\ ;
+町村合併 < chousongappei\ ;
+教会旋法 < kyoukaisenpou\ ;
+幕藩体制 < bakuhantaisei\ ;
+第一印象 < daiichiinshou\ ;
+真空包装 < shinkuuhousou\ ;
+監査証跡 < kansashouseki\ ;
+誘導電流 < yuudoudenryuu\ ;
+復旧作業 < fukkyuusagyou\ ;
+供出米 < kyoushutsumai\ ;
+損害賠償 < songaibaishou\ ;
+想像妊娠 < souzouninshin\ ;
+虚心坦懐 < kyoshintankai\ ;
+耐震構造 < taishinkouzou\ ;
+有限級数 < yuugenkyuusuu\ ;
+増設率 < zousetsuritsu\ ;
+国土計画 < kokudokeikaku\ ;
+生存競争 < seizonkyousou\ ;
+結婚披露宴 < kekkonhirouen\ ;
+市民革命 < shiminkakumei\ ;
+圧力鍋 < atsuryokunabe\ ;
+大統領選 < daitouryousen\ ;
+補習教育 < hoshuukyouiku\ ;
+司令長官 < shireichoukan\ ;
+賃金体系 < chingintaikei\ ;
+海上自衛隊 < kaijoujieitai\ ;
+全人教育 < zenjinkyouiku\ ;
+官房長官 < kanbouchoukan\ ;
+企業秘密 < kigyouhimitsu\ ;
+殺人事件 < satsujinjiken\ ;
+団栗眼 < dongurimanako\ ;
+圧力釜 < atsuryokugama\ ;
+凶悪犯罪 < kyouakuhanzai\ ;
+天然資源 < ten''nenshigen\ ;
+百姓一揆 < hyakushouikki\ ;
+原案委員会 < gen''an''iinkai\ ;
+気密室 < kimitsushitsu\ ;
+総合大学 < sougoudaigaku\ ;
+仏頂尊勝 < buchousonshou\ ;
+千差万別 < sensabanbetsu\ ;
+選手権試合 < senshukenjiai\ ;
+網状組織 < moujousoshiki\ ;
+第一部長 < daiichibuchou\ ;
+準準決勝 < junjunkesshou\ ;
+大和民族 < yamatominzoku\ ;
+応接係 < ousetsugakari\ ;
+地殻変動 < chikakuhendou\ ;
+財政改革 < zaiseikaikaku\ ;
+共同計算 < kyoudoukeisan\ ;
+女房詞 < nyouboukotoba\ ;
+写真電送 < shashindensou\ ;
+分列式 < bunretsushiki\ ;
+不良診断 < furyoushindan\ ;
+水産大学 < suisandaigaku\ ;
+単式火山 < tanshikikazan\ ;
+一分一厘 < ichibuichirin\ ;
+実地検証 < jitchikenshou\ ;
+北清事変 < hokushinjihen\ ;
+人面獣心 < ninmenjuushin\ ;
+親任式 < shin''ninshiki\ ;
+計画段階 < keikakudankai\ ;
+生活力 < seikatsuryoku\ ;
+社員食堂 < shainshokudou\ ;
+郵便料金 < yuubinryoukin\ ;
+五十三次 < gojuusantsugi\ ;
+優勝劣敗 < yuushoureppai\ ;
+快速列車 < kaisokuressha\ ;
+難民条約 < nanminjouyaku\ ;
+国際放送 < kokusaihousou\ ;
+六十余州 < rokujuuyoshuu\ ;
+急行列車 < kyuukouressha\ ;
+日和見主義 < hiyorimishugi\ ;
+森林地帯 < shinrinchitai\ ;
+鎖国政策 < sakokuseisaku\ ;
+具象美術 < gushoubijutsu\ ;
+懐石料理 < kaisekiryouri\ ;
+簡易食堂 < kan''ishokudou\ ;
+暗黒大陸 < ankokutairiku\ ;
+駅長室 < ekichoushitsu\ ;
+反動革命 < handoukakumei\ ;
+六根清浄 < rokkonshoujou\ ;
+商業主義 < shougyoushugi\ ;
+仮装舞踏会 < kasoubutoukai\ ;
+信頼醸成 < shinraijousei\ ;
+共同声明 < kyoudouseimei\ ;
+遮光器土偶 < shakoukidoguu\ ;
+割引切符 < waribikikippu\ ;
+下水処理場 < gesuishorijou\ ;
+冷却期間 < reikyakukikan\ ;
+恙虫 < tsutsugamushi\ ;
+九死一生 < kyuushiisshou\ ;
+中華民国 < chuukaminkoku\ ;
+合理主義者 < gourishugisha\ ;
+拡声装置 < kakuseisouchi\ ;
+道路建設 < dourokensetsu\ ;
+人造宝石 < jinzouhouseki\ ;
+輸出保険 < yushutsuhoken\ ;
+必修科目 < hisshuukamoku\ ;
+給与所得 < kyuuyoshotoku\ ;
+歴史学派 < rekishigakuha\ ;
+等差数列 < tousasuuretsu\ ;
+君子豹変 < kunshihyouhen\ ;
+下表参照 < kahyousanshou\ ;
+勢力範囲 < seiryokuhan''i\ ;
+通貨政策 < tsuukaseisaku\ ;
+独占企業 < dokusenkigyou\ ;
+特権階級 < tokkenkaikyuu\ ;
+正規曲線 < seikikyokusen\ ;
+傍聴無料 < bouchoumuryou\ ;
+産業資本 < sangyoushihon\ ;
+楽器演奏者 < gakkiensousha\ ;
+立石電機 < tateishidenki\ ;
+夜間中学 < yakanchuugaku\ ;
+貿易摩擦 < bouekimasatsu\ ;
+年輪史学 < nenrinshigaku\ ;
+家付娘 < ietsukimusume\ ;
+機械翻訳 < kikaihon''yaku\ ;
+金科玉条 < kinkagyokujou\ ;
+民間療法 < minkanryouhou\ ;
+情況証拠 < joukyoushouko\ ;
+古典主義者 < kotenshugisha\ ;
+心悸亢進 < shinkikoushin\ ;
+国土地理院 < kokudochiriin\ ;
+定性分析 < teiseibunseki\ ;
+市街化区域 < shigaikakuiki\ ;
+特許技術 < tokkyogijutsu\ ;
+報道写真 < houdoushashin\ ;
+最低賃金 < saiteichingin\ ;
+百日草 < hyakunichisou\ ;
+瞬間電断 < shunkandendan\ ;
+年頭教書 < nentoukyousho\ ;
+東洋段通 < touyoudantsuu\ ;
+独占資本 < dokusenshihon\ ;
+東方教会 < touhoukyoukai\ ;
+電気機関車 < denkikikansha\ ;
+自覚症状 < jikakushoujou\ ;
+天体観測 < tentaikansoku\ ;
+群集行動 < gunshuukoudou\ ;
+衆人環視 < shuujinkanshi\ ;
+迷走神経 < meisoushinkei\ ;
+戦略兵器 < senryakuheiki\ ;
+先制攻撃 < senseikougeki\ ;
+有給休暇 < yuukyuukyuuka\ ;
+見学旅行 < kengakuryokou\ ;
+国内経済 < kokunaikeizai\ ;
+対空射撃 < taikuushageki\ ;
+比較対照 < hikakutaishou\ ;
+市中銀行 < shichuuginkou\ ;
+定点観測 < teitenkansoku\ ;
+促成栽培 < sokuseisaibai\ ;
+両三日 < ryousan''nichi\ ;
+賃金格差 < chinginkakusa\ ;
+支配階級 < shihaikaikyuu\ ;
+二重露出 < nijuuroshutsu\ ;
+動脈硬化 < doumyakukouka\ ;
+隣接部隊 < rinsetsubutai\ ;
+建設機械 < kensetsukikai\ ;
+上層階級 < jousoukaikyuu\ ;
+三拝九拝 < sanpaikyuuhai\ ;
+開校記念日 < kaikoukinenbi\ ;
+不可知論者 < fukachironsha\ ;
+旗行列 < hatagyouretsu\ ;
+特殊法人 < tokushuhoujin\ ;
+士魂商才 < shikonshousai\ ;
+傷病捕虜 < shoubyouhoryo\ ;
+無性生殖 < museiseishoku\ ;
+眉唾物 < mayutsubamono\ ;
+財政政策 < zaiseiseisaku\ ;
+陸上競技 < rikujoukyougi\ ;
+博覧強記 < hakurankyouki\ ;
+人権侵害 < jinkenshingai\ ;
+総領息子 < souryoumusuko\ ;
+進行係 < shinkougakari\ ;
+菜食主義 < saishokushugi\ ;
+無記名債権 < mukimeisaiken\ ;
+赤外発散 < sekigaihassan\ ;
+衛星通信 < eiseitsuushin\ ;
+人員削減 < jin''insakugen\ ;
+動植物 < doushokubutsu\ ;
+率先躬行 < sossenkyuukou\ ;
+免税所得 < menzeishotoku\ ;
+防縮加工 < boushukukakou\ ;
+複式簿記 < fukushikiboki\ ;
+責任分担 < sekininbuntan\ ;
+武力行使 < buryokukoushi\ ;
+番組編成 < bangumihensei\ ;
+全波受信機 < zenpajushinki\ ;
+必要物 < hitsuyoubutsu\ ;
+休息時間 < kyuusokujikan\ ;
+三軸室 < sanjikushitsu\ ;
+二重関節 < nijuukansetsu\ ;
+待合室 < machiaishitsu\ ;
+博物学 < hakubutsugaku\ ;
+観光産業 < kankousangyou\ ;
+結紮術 < kessatsujutsu\ ;
+博引旁証 < hakuinboushou\ ;
+混入物 < kon''nyuubutsu\ ;
+共販会社 < kyouhangaisha\ ;
+揚陸艦艇 < yourikukantei\ ;
+公害対策 < kougaitaisaku\ ;
+陽動作戦 < youdousakusen\ ;
+平和主義者 < heiwashugisha\ ;
+誘拐犯人 < yuukaihan''nin\ ;
+内臓疾患 < naizoushikkan\ ;
+修士論文 < shuushironbun\ ;
+高等教育 < koutoukyouiku\ ;
+測量機械 < sokuryoukikai\ ;
+霊感商法 < reikanshouhou\ ;
+呪物崇拝 < jubutsusuuhai\ ;
+文人墨客 < bunjinbokkaku\ ;
+承知之助 < shouchinosuke\ ;
+越年草本 < etsunensouhon\ ;
+青天井予算 < aotenjouyosan\ ;
+状況意味論 < joukyouimiron\ ;
+通勤列車 < tsuukinressha\ ;
+出席率 < shussekiritsu\ ;
+精進料理 < shoujinryouri\ ;
+主力部隊 < shuryokubutai\ ;
+漢字文化圏 < kanjibunkaken\ ;
+郷土文学 < kyoudobungaku\ ;
+直接税 < chokusetsuzei\ ;
+失業者 < shitsugyousha\ ;
+歯科技工士 < shikagikoushi\ ;
+期末試験 < kimatsushiken\ ;
+連邦首相 < renpoushushou\ ;
+情報工学 < jouhoukougaku\ ;
+牧畜業 < bokuchikugyou\ ;
+七分三分 < shichibusanbu\ ;
+参考資料 < sankoushiryou\ ;
+海上輸送路 < kaijouyusouro\ ;
+独断専行 < dokudansenkou\ ;
+入学考査 < nyuugakukousa\ ;
+遭難信号 < sounanshingou\ ;
+流動資産 < ryuudoushisan\ ;
+構築物 < kouchikubutsu\ ;
+下四半期 < shimoshihanki\ ;
+選択科目 < sentakukamoku\ ;
+設立者 < setsuritsusha\ ;
+情報検索 < jouhoukensaku\ ;
+頂上会談 < choujoukaidan\ ;
+共済組合 < kyousaikumiai\ ;
+参考書目 < sankoushomoku\ ;
+治安警察 < chiankeisatsu\ ;
+興業銀行 < kougyouginkou\ ;
+調停委員会 < chouteiiinkai\ ;
+行政書士 < gyouseishoshi\ ;
+関連項目 < kanrenkoumoku\ ;
+難行苦行 < nangyoukugyou\ ;
+行方不明者 < yukuefumeisha\ ;
+預金通帳 < yokintsuuchou\ ;
+網膜剥離 < moumakuhakuri\ ;
+輸出検査 < yushutsukensa\ ;
+私共 < watakushidomo\ ;
+指定銘柄 < shiteimeigara\ ;
+酒池肉林 < shuchinikurin\ ;
+優等賞状 < yuutoushoujou\ ;
+黄金分割 < ougonbunkatsu\ ;
+修繕工場 < shuuzenkoujou\ ;
+足長蜂 < ashinagabachi\ ;
+二者選一 < nishasen''itsu\ ;
+粘液質 < nen''ekishitsu\ ;
+私事 < watakushigoto\ ;
+菌類学者 < kinruigakusha\ ;
+外国郵便 < gaikokuyuubin\ ;
+交通地獄 < koutsuujigoku\ ;
+集団結婚 < shuudankekkon\ ;
+愛玩動物 < aigandoubutsu\ ;
+間接話法 < kansetsuwahou\ ;
+学生部長 < gakuseibuchou\ ;
+雲形定規 < kumogatajougi\ ;
+個人的意見 < kojintekiiken\ ;
+屋外広告 < okugaikoukoku\ ;
+亡命文学 < boumeibungaku\ ;
+北国赤海老 < hokkokuakaebi\ ;
+連続関数 < renzokukansuu\ ;
+幽霊話 < yuureibanashi\ ;
+筆跡鑑定 < hissekikantei\ ;
+同質的 < doushitsuteki\ ;
+廃物利用 < haibutsuriyou\ ;
+車両会社 < sharyougaisha\ ;
+麻薬常習 < mayakujoushuu\ ;
+不得要領 < futokuyouryou\ ;
+山岳地帯 < sangakuchitai\ ;
+問題領域 < mondairyouiki\ ;
+執着心 < shuuchakushin\ ;
+個別販売 < kobetsuhanbai\ ;
+平衡感覚 < heikoukankaku\ ;
+内国郵便 < naikokuyuubin\ ;
+力関係 < chikarakankei\ ;
+報道番組 < houdoubangumi\ ;
+紙上計画 < shijoukeikaku\ ;
+二重国籍 < nijuukokuseki\ ;
+行政訴訟 < gyouseisoshou\ ;
+絶縁抵抗 < zetsuenteikou\ ;
+匿名批評 < tokumeihihyou\ ;
+長期国債 < choukikokusai\ ;
+光線療法 < kousenryouhou\ ;
+流動資本 < ryuudoushihon\ ;
+証券市場 < shoukenshijou\ ;
+烏芻沙摩妙王 < ususamamyouou\ ;
+建設工事 < kensetsukouji\ ;
+変態性欲 < hentaiseiyoku\ ;
+空中細菌 < kuuchuusaikin\ ;
+代金引換 < daikinhikikae\ ;
+茶番狂言 < chabankyougen\ ;
+交通規則 < koutsuukisoku\ ;
+物質的 < busshitsuteki\ ;
+現物相場 < genbutsusouba\ ;
+束縛理論 < sokubakuriron\ ;
+公正証書 < kouseishousho\ ;
+同盟怠業 < doumeitaigyou\ ;
+行動方針 < koudouhoushin\ ;
+適正価格 < tekiseikakaku\ ;
+人種改良 < jinshukairyou\ ;
+使途不明金 < shitofumeikin\ ;
+半流動体 < hanryuudoutai\ ;
+普仏戦争 < fufutsusensou\ ;
+蒸発熱 < jouhatsunetsu\ ;
+二重結合 < nijuuketsugou\ ;
+免責特権 < mensekitokken\ ;
+懲戒処分 < choukaishobun\ ;
+不心得者 < fukokoroemono\ ;
+豪放磊落 < gouhourairaku\ ;
+艦砲射撃 < kanpoushageki\ ;
+関数解析 < kansuukaiseki\ ;
+民主化運動 < minshukaundou\ ;
+天気相談所 < tenkisoudanjo\ ;
+通信講座 < tsuushinkouza\ ;
+外貨獲得 < gaikakakutoku\ ;
+参加希望者 < sankakibousha\ ;
+懐疑主義者 < kaigishugisha\ ;
+電気溶接 < denkiyousetsu\ ;
+吮癰舐痔 < sen''youshiji\ ;
+労働条件 < roudoujouken\ ;
+外国航路 < gaikokukouro\ ;
+伝送速度 < densousokudo\ ;
+一本調子 < ippondjoushi\ ;
+墜落事故 < tsuirakujiko\ ;
+薩摩閥 < satsumabatsu\ ;
+視聴率 < shichouritsu\ ;
+線香花火 < senkouhanabi\ ;
+東京都政 < toukyoutosei\ ;
+軍事産業 < gunjisangyou\ ;
+代理牧師 < dairibokushi\ ;
+三十三所 < sanjuusansho\ ;
+一次線輪 < ichijisenrin\ ;
+畳水練 < tatamisuiren\ ;
+価格変動 < kakakuhendou\ ;
+悠悠自適 < yuuyuujiteki\ ;
+山紫水明 < sanshisuimei\ ;
+幕僚長 < bakuryouchou\ ;
+空輸貨物 < kuuyukamotsu\ ;
+観光資源 < kankoushigen\ ;
+視覚言語 < shikakugengo\ ;
+麻薬常用 < mayakujouyou\ ;
+日朝辞典 < nitchoujiten\ ;
+店頭債券 < tentousaiken\ ;
+版権所有 < hankenshoyuu\ ;
+一泊行軍 < ippakukougun\ ;
+青空市場 < aozorashijou\ ;
+開票結果 < kaihyoukekka\ ;
+単独講和 < tandokukouwa\ ;
+近代科学 < kindaikagaku\ ;
+無神論者 < mushinronsha\ ;
+市議会議員 < shigikaigiin\ ;
+現実的 < genjitsuteki\ ;
+画一的 < kakuitsuteki\ ;
+有形財産 < yuukeizaisan\ ;
+河岸段丘 < kagandankyuu\ ;
+太陽光線 < taiyoukousen\ ;
+卸酒販 < oroshishuhan\ ;
+億万長者 < okumanchouja\ ;
+化粧石鹸 < keshousekken\ ;
+言語療法 < gengoryouhou\ ;
+安定成長 < anteiseichou\ ;
+神権政治 < shinkenseiji\ ;
+親日家 < shin''nichika\ ;
+至上命令 < shijoumeirei\ ;
+内出血 < naishukketsu\ ;
+中央委員会 < chuuouiinkai\ ;
+潤筆料 < junpitsuryou\ ;
+音楽美学 < ongakubigaku\ ;
+労働大臣 < roudoudaijin\ ;
+田舎侍 < inakazamurai\ ;
+降格人事 < koukakujinji\ ;
+金釘流 < kanakugiryuu\ ;
+窒素肥料 < chissohiryou\ ;
+軍部独裁 < gunbudokusai\ ;
+公務疾病 < koumushippei\ ;
+花火大会 < hanabitaikai\ ;
+創作力 < sousakuryoku\ ;
+即戦力 < sokusenryoku\ ;
+行雲流水 < kouunryuusui\ ;
+反対訊問 < hantaijinmon\ ;
+方向転換 < houkoutenkan\ ;
+無線技術 < musengijutsu\ ;
+艮下艮上 < gonkagonshou\ ;
+括約筋 < katsuyakukin\ ;
+未来完了 < miraikanryou\ ;
+前進部隊 < zenshinbutai\ ;
+既約分数 < kiyakubunsuu\ ;
+説得力 < settokuryoku\ ;
+公営住宅 < koueijuutaku\ ;
+監査報告 < kansahoukoku\ ;
+鐘撞堂 < kanetsukidou\ ;
+月経周期 < gekkeishuuki\ ;
+科学雑誌 < kagakuzasshi\ ;
+通貨統合 < tsuukatougou\ ;
+対地速度 < taichisokudo\ ;
+官僚主義 < kanryoushugi\ ;
+旧形式 < kyuukeishiki\ ;
+黄玉石 < kougyokuseki\ ;
+御調子者 < ochoushimono\ ;
+実験室 < jikkenshitsu\ ;
+二足三文 < nisokusanmon\ ;
+酸性肥料 < sanseihiryou\ ;
+言文一致 < genbun''itchi\ ;
+密漁者 < mitsuryousha\ ;
+共同管理 < kyoudoukanri\ ;
+胃酸過多症 < isankatashou\ ;
+海外旅行 < kaigairyokou\ ;
+不審尋問 < fushinjinmon\ ;
+責任転嫁 < sekinintenka\ ;
+長期手形 < choukitegata\ ;
+潮汐表 < chousekihyou\ ;
+給与水準 < kyuuyosuijun\ ;
+白熱戦 < hakunetsusen\ ;
+従属節 < juuzokusetsu\ ;
+少数精鋭 < shousuuseiei\ ;
+転換社債 < tenkanshasai\ ;
+沿岸漁業 < engangyogyou\ ;
+押切帳 < oshikirichou\ ;
+鉱物学 < koubutsugaku\ ;
+交際社会 < kousaishakai\ ;
+制限事項 < seigenjikoku\ ;
+左心室 < sashinshitsu\ ;
+刑事責任 < keijisekinin\ ;
+混合火薬 < kongoukayaku\ ;
+極彩色 < gokusaishiki\ ;
+双務契約 < soumukeiyaku\ ;
+肝心要 < kanjinkaname\ ;
+古典学者 < kotengakusha\ ;
+生活扶助 < seikatsufujo\ ;
+建築業 < kenchikugyou\ ;
+拒食症 < kyoshokushou\ ;
+用益物権 < youekibukken\ ;
+熱電対 < netsudentsui\ ;
+出勤時間 < shukkinjikan\ ;
+鎖伝動 < kusaridendou\ ;
+拡大率 < kakudairitsu\ ;
+相関係数 < soukankeisuu\ ;
+都忘 < miyakowasure\ ;
+社会保障 < shakaihoshou\ ;
+協同動作 < kyoudoudousa\ ;
+情緒纒綿 < jouchotenmen\ ;
+立憲君主 < rikkenkunshu\ ;
+狂信的 < kyoushinteki\ ;
+表現力 < hyougenryoku\ ;
+中立面 < chuuritsumen\ ;
+旅券査証 < ryokensashou\ ;
+貝殻虫 < kaigaramushi\ ;
+落花狼藉 < rakkarouzeki\ ;
+一番星 < ichibanboshi\ ;
+化学製品 < kagakuseihin\ ;
+適性検査 < tekiseikensa\ ;
+賃借人 < chinshakunin\ ;
+生命科学 < seimeikagaku\ ;
+工作機械 < kousakukikai\ ;
+図書館学 < toshokangaku\ ;
+人口問題 < jinkoumondai\ ;
+御用学者 < goyougakusha\ ;
+気圧配置 < kiatsuhaichi\ ;
+時限爆弾 < jigenbakudan\ ;
+自然対数 < shizentaisuu\ ;
+夜間撮影 < yakansatsuei\ ;
+神経繊維 < shinkeisen''i\ ;
+流動負債 < ryuudoufusai\ ;
+最高記録 < saikoukiroku\ ;
+新規事業 < shinkijigyou\ ;
+姓名判断 < seimeihandan\ ;
+装飾的 < soushokuteki\ ;
+反対給付 < hantaikyuufu\ ;
+澱粉質 < denpunshitsu\ ;
+敗戦投手 < haisentoushu\ ;
+武漢三鎮 < bukansanchin\ ;
+電気陰性度 < denkiinseido\ ;
+一朝一夕 < itchouisseki\ ;
+無記名預金 < mukimeiyokin\ ;
+家内工業 < kanaikougyou\ ;
+千日草 < sen''nichisou\ ;
+浅学菲才 < sengakuhisai\ ;
+混合経済 < kongoukeizai\ ;
+市民団体 < shimindantai\ ;
+企業連合 < kigyourengou\ ;
+時代感覚 < jidaikankaku\ ;
+七五調 < shichigochou\ ;
+利己主義者 < rikoshugisha\ ;
+共同因子 < kyoudouinshi\ ;
+一意専心 < ichiisenshin\ ;
+欧米諸国 < oubeishokoku\ ;
+革命運動 < kakumeiundou\ ;
+純粋培養 < junsuibaiyou\ ;
+再三再四 < saisansaishi\ ;
+中国服 < chuugokufuku\ ;
+形而上学 < keijijougaku\ ;
+地方団体 < chihoudantai\ ;
+公民学校 < koumingakkou\ ;
+価格統制 < kakakutousei\ ;
+意匠登録 < ishoutouroku\ ;
+高天原 < takamagahara\ ;
+受動喫煙 < judoukitsuen\ ;
+製缶工場 < seikankoujou\ ;
+固形燃料 < kokeinenryou\ ;
+郵便為替 < yuubinkawase\ ;
+勘定係 < kanjougakari\ ;
+口頭弁論 < koutoubenron\ ;
+立体化学 < rittaikagaku\ ;
+拘束力 < kousokuryoku\ ;
+品行方正 < hinkouhousei\ ;
+沈澱物 < chindenbutsu\ ;
+道標 < michishirube\ ;
+器質的 < kishitsuteki\ ;
+販売価格 < hanbaikakaku\ ;
+恋愛結婚 < ren''aikekkon\ ;
+北米土人 < hokubeidojin\ ;
+千日紅 < sen''nichikou\ ;
+臨海学校 < rinkaigakkou\ ;
+一語一語 < ichigoichigo\ ;
+国家公務員 < kokkakoumuin\ ;
+半官半民 < hankanhanmin\ ;
+建築学 < kenchikugaku\ ;
+敗血症 < haiketsushou\ ;
+大国主義 < taikokushugi\ ;
+洋服箪笥 < youfukudansu\ ;
+一方通行 < ippoutsuukou\ ;
+参考文献 < sankoubunken\ ;
+信仰箇条 < shinkoukajou\ ;
+辻社 < tsujiyashiro\ ;
+十一月 < juuichigatsu\ ;
+袋戸棚 < fukurotodana\ ;
+拝物教 < haibutsukyou\ ;
+民間資本 < minkanshihon\ ;
+復讐心 < fukushuushin\ ;
+一汁一菜 < ichijuuissai\ ;
+十種競技 < jisshukyougi\ ;
+旧年末 < kyuunenmatsu\ ;
+失職者 < shisshokusha\ ;
+内割引 < uchiwaribiki\ ;
+希土類元素 < kidoruigenso\ ;
+平和共存 < heiwakyouzon\ ;
+単線運転 < tansen''unten\ ;
+事後承諾 < jigoshoudaku\ ;
+出産率 < shussanritsu\ ;
+写実的 < shajitsuteki\ ;
+映像信号 < eizoushingou\ ;
+安全対策 < anzentaisaku\ ;
+生産組合 < seisankumiai\ ;
+接続駅 < setsuzokueki\ ;
+居住水準 < kyojuusuijun\ ;
+製鉄業 < seitetsugyou\ ;
+算用数字 < san''yousuuji\ ;
+出生率 < shusseiritsu\ ;
+姉妹会社 < shimaigaisha\ ;
+選挙公報 < senkyokouhou\ ;
+仏像二座 < butsuzouniza\ ;
+観光旅行 < kankouryokou\ ;
+研究課題 < kenkyuukadai\ ;
+金拾万円 < kinjuuman''en\ ;
+屎尿処理 < shinyoushori\ ;
+着物姿 < kimonosugata\ ;
+商事会社 < shoujigaisha\ ;
+積極策 < sekkyokusaku\ ;
+集合場所 < shuugoubasho\ ;
+形容詞幹 < keiyoushikan\ ;
+条件反射 < joukenhansha\ ;
+小文節 < shoubunsetsu\ ;
+組織力 < soshikiryoku\ ;
+信徒伝動 < shintodendou\ ;
+有料道路 < yuuryoudouro\ ;
+業務妨害 < gyoumubougai\ ;
+阿片中毒 < ahenchuudoku\ ;
+細胞融合 < saibouyuugou\ ;
+断熱材 < dan''netsuzai\ ;
+名人気質 < meijinkatagi\ ;
+郵政大臣 < yuuseidaijin\ ;
+電気掃除機 < denkisoujiki\ ;
+人権擁護 < jinken''yougo\ ;
+兄弟喧嘩 < kyoudaigenka\ ;
+著作物 < chosakubutsu\ ;
+盲滅法 < mekurameppou\ ;
+巡航速度 < junkousokudo\ ;
+一夜大臣 < ichiyadaijin\ ;
+附着力 < fuchakuryoku\ ;
+獅子奮迅 < shishifunjin\ ;
+漂流木 < hyouryuuboku\ ;
+紳士靴 < shinshigutsu\ ;
+閨秀作家 < keishuusakka\ ;
+浚渫船 < shunsetsusen\ ;
+深山烏 < miyamagarasu\ ;
+専門学校 < senmongakkou\ ;
+改革過程 < kaikakukatei\ ;
+緊急措置 < kinkyuusochi\ ;
+画竜天睛 < garyoutensei\ ;
+一進一退 < isshin''ittai\ ;
+生臭物 < namagusamono\ ;
+定常状態 < teijoujoutai\ ;
+審判役 < shinpan''yaku\ ;
+指数関数 < shisuukansuu\ ;
+積極的 < sekkyokuteki\ ;
+試験科目 < shikenkamoku\ ;
+災害救助 < saigaikyuujo\ ;
+発売元 < hatsubaimoto\ ;
+冶金学者 < yakingakusha\ ;
+地方銀行 < chihouginkou\ ;
+仏頂面 < butchoudzura\ ;
+経済発展 < keizaihatten\ ;
+特殊兵器 < tokushuheiki\ ;
+海中公園 < kaichuukouen\ ;
+団体旅行 < dantairyokou\ ;
+三叉神経 < sansashinkei\ ;
+欲求不満 < yokkyuufuman\ ;
+若紫 < wakamurasaki\ ;
+終夜営業 < shuuyaeigyou\ ;
+地下組織 < chikasoshiki\ ;
+耐震家屋 < taishinkaoku\ ;
+正三角形 < seisankakkei\ ;
+走行車線 < soukoushasen\ ;
+空気調整 < kuukichousei\ ;
+運動神経 < undoushinkei\ ;
+受胎告知 < jutaikokuchi\ ;
+取引高 < torihikidaka\ ;
+解答用紙 < kaitouyoushi\ ;
+不所存者 < fushozonmono\ ;
+畳鰯 < tatamiiwashi\ ;
+闖入者 < chin''nyuusha\ ;
+毬栗頭 < igaguriatama\ ;
+建築中 < kenchikuchuu\ ;
+弱小国 < jakushoukoku\ ;
+加工産業 < kakousangyou\ ;
+発売中 < hatsubaichuu\ ;
+規格原案 < kikakugen''an\ ;
+和魂洋才 < wakon''yousai\ ;
+反戦運動 < hansen''undou\ ;
+諸行無常 < shogyoumujou\ ;
+契約期間 < keiyakukikan\ ;
+人文科学 < jinbunkagaku\ ;
+一人一人 < hitoribitori\ ;
+励振素子 < reishinsoshi\ ;
+復讐劇 < fukushuugeki\ ;
+宇宙工学 < uchuukougaku\ ;
+事前日付 < jizenhidzuke\ ;
+自家撞着 < jikadouchaku\ ;
+石灰肥料 < sekkaihiryou\ ;
+公益優先 < kouekiyuusen\ ;
+下仕事 < shitashigoto\ ;
+薔薇十字団 < barajuujidan\ ;
+日豊本線 < nippouhonsen\ ;
+石油化学 < sekiyukagaku\ ;
+消極性 < shoukyokusei\ ;
+相対速度 < soutaisokudo\ ;
+黒字倒産 < kurojitousan\ ;
+金欠病 < kinketsubyou\ ;
+聴視率 < choushiritsu\ ;
+内憂外患 < naiyuugaikan\ ;
+関数空間 < kansuukuukan\ ;
+付属病院 < fuzokubyouin\ ;
+臨床医学 < rinshouigaku\ ;
+米海兵隊 < beikaiheitai\ ;
+深山桜 < miyamazakura\ ;
+拱手傍観 < koushuboukan\ ;
+順法闘争 < junpoutousou\ ;
+質問者 < shitsumonsha\ ;
+戦闘陣地 < sentoujinchi\ ;
+一挙一動 < ikkyoichidou\ ;
+威嚇射撃 < ikakushageki\ ;
+実地試験 < jitchishiken\ ;
+中間景気 < chuukankeiki\ ;
+司教権座 < shikyoukenza\ ;
+空約束 < karayakusoku\ ;
+変更履歴 < henkourireki\ ;
+連戦連敗 < rensenrenpai\ ;
+歯槽膿漏 < shisounourou\ ;
+素粒子論 < soryuushiron\ ;
+衛星中継 < eiseichuukei\ ;
+接続詞 < setsuzokushi\ ;
+圧延工場 < atsuenkoujou\ ;
+分娩臥床 < bunbengashou\ ;
+人造絹糸 < jinzoukenshi\ ;
+痕跡器官 < konsekikikan\ ;
+抹香鯨 < makkoukujira\ ;
+蛍光塗料 < keikoutoryou\ ;
+公判調査 < kouhanchousa\ ;
+連絡会議 < renrakukaigi\ ;
+公教要理 < koukyouyouri\ ;
+花盗人 < hananusubito\ ;
+乾燥室 < kansoushitsu\ ;
+骨董品店 < kottouhinten\ ;
+十二指腸 < juunishichou\ ;
+盲暦 < mekuragoyomi\ ;
+財政問題 < zaiseimondai\ ;
+言語学者 < gengogakusha\ ;
+尿毒症 < nyoudokushou\ ;
+金融機関 < kin''yuukikan\ ;
+田園詩人 < den''enshijin\ ;
+等比級数 < touhikyuusuu\ ;
+腹鼓 < haratsudzumi\ ;
+道化役者 < doukeyakusha\ ;
+癇癪玉 < kanshakudama\ ;
+津津浦浦 < tsudzuuraura\ ;
+乾燥地帯 < kansouchitai\ ;
+音節主音 < onsetsushuon\ ;
+航海日誌 < koukainisshi\ ;
+半封建性 < hanhoukensei\ ;
+恋愛関係 < ren''aikankei\ ;
+成長過程 < seichoukatei\ ;
+連帯保証 < rentaihoshou\ ;
+心臓肥大 < shinzouhidai\ ;
+一人物 < ichijinbutsu\ ;
+協約国 < kyouyakukoku\ ;
+天壌無窮 < tenjoumukyuu\ ;
+全身麻酔 < zenshinmasui\ ;
+末代物 < matsudaimono\ ;
+回線交換 < kaisenkoukan\ ;
+輸入制限 < yunyuuseigen\ ;
+剃刀負 < kamisorimake\ ;
+一足先 < hitoashisaki\ ;
+果物籠 < kudamonokago\ ;
+世間話 < sekenbanashi\ ;
+行楽客 < kourakukyaku\ ;
+構造不況 < kouzoufukyou\ ;
+紋白蝶 < monshirochou\ ;
+入湯客 < nyuutoukyaku\ ;
+自己共役 < jikokyouyaku\ ;
+富士火山帯 < fujikazantai\ ;
+闇取引 < yamitorihiki\ ;
+構成分子 < kouseibunshi\ ;
+星座投影機 < seizatoueiki\ ;
+市場展開 < shijoutenkai\ ;
+店頭販売 < tentouhanbai\ ;
+進水式 < shinsuishiki\ ;
+仮払金 < karibaraikin\ ;
+紙屑籠 < kamikuzukago\ ;
+乾燥卵 < kansoutamago\ ;
+合唱隊員 < gasshoutaiin\ ;
+経費削減 < keihisakugen\ ;
+文芸復興 < bungeifukkou\ ;
+環太平洋 < kantaiheiyou\ ;
+名義書換 < meigikakikae\ ;
+緑内障 < ryokunaishou\ ;
+重大問題 < juudaimondai\ ;
+非科学的 < hikagakuteki\ ;
+限定戦争 < genteisensou\ ;
+極楽鳥 < gokurakuchou\ ;
+欧州委員会 < oushuuiinkai\ ;
+不在証明 < fuzaishoumei\ ;
+賃貸借 < chintaishaku\ ;
+医学博士 < igakuhakushi\ ;
+案内書呈 < an''naishotei\ ;
+専制君主 < senseikunshu\ ;
+勤務実績 < kinmujisseki\ ;
+機密事項 < kimitsujikou\ ;
+早期診断 < soukishindan\ ;
+告発者 < kokuhatsusha\ ;
+停止価格 < teishikakaku\ ;
+記憶容量 < kiokuyouryou\ ;
+出生過剰 < shusseikajou\ ;
+引退興行 < intaikougyou\ ;
+三味線弾 < shamisenhiki\ ;
+試験段階 < shikendankai\ ;
+白血病 < hakketsubyou\ ;
+軍事介入 < gunjikainyuu\ ;
+政治道徳 < seijidoutoku\ ;
+国営企業 < kokueikigyou\ ;
+帰巣本能 < kisouhon''nou\ ;
+両性具有 < ryouseiguyuu\ ;
+黄金万能 < ougonban''nou\ ;
+真珠質 < shinjushitsu\ ;
+担当課長 < tantoukachou\ ;
+混成競技 < konseikyougi\ ;
+労働攻勢 < roudoukousei\ ;
+片山里 < katayamazato\ ;
+独立祭 < dokuritsusai\ ;
+閑話休題 < kanwakyuudai\ ;
+内懐 < uchibutokoro\ ;
+予約係 < yoyakugakari\ ;
+役務賠償 < ekimubaishou\ ;
+平和産業 < heiwasangyou\ ;
+印象批評 < inshouhihyou\ ;
+停滞前線 < teitaizensen\ ;
+民間放送 < minkanhousou\ ;
+属地主義 < zokuchishugi\ ;
+上位互換性 < jouigokansei\ ;
+出版部数 < shuppanbusuu\ ;
+自動人形 < jidouningyou\ ;
+意志薄弱 < ishihakujaku\ ;
+心理戦争 < shinrisensou\ ;
+課税所得 < kazeishotoku\ ;
+流行作家 < ryuukousakka\ ;
+根気仕事 < konkishigoto\ ;
+黄緑色 < ouryokushoku\ ;
+軽犯罪法 < keihanzaihou\ ;
+揣摩憶測 < shimaokusoku\ ;
+改修工事 < kaishuukouji\ ;
+対抗意識 < taikouishiki\ ;
+前進力 < zenshinryoku\ ;
+道路交通 < dourokoutsuu\ ;
+法廷侮辱 < houteibujoku\ ;
+光学機械 < kougakukikai\ ;
+脱字記号 < datsujikigou\ ;
+確率論 < kakuritsuron\ ;
+独立班 < dokuritsuhan\ ;
+公有水面 < kouyuusuimen\ ;
+等圧式 < touatsushiki\ ;
+陰性反応 < inseihan''nou\ ;
+素人筋 < shiroutosuji\ ;
+美人局 < tsutsumotase\ ;
+借地料 < shakuchiryou\ ;
+黄熱病 < kounetsubyou\ ;
+均衡経済 < kinkoukeizai\ ;
+投票率 < touhyouritsu\ ;
+鰻丼 < unagidonburi\ ;
+蘭栽培法 < ransaibaihou\ ;
+武装集団 < busoushuudan\ ;
+脅迫的 < kyouhakuteki\ ;
+印鑑証明 < inkanshoumei\ ;
+域内貿易 < ikinaiboueki\ ;
+使徒行伝 < shitogyouden\ ;
+佳人薄命 < kajinhakumei\ ;
+放射線科医 < houshasenkai\ ;
+有体資産 < yuutaishisan\ ;
+対泰関係 < taitaikankei\ ;
+欧州連合 < oushuurengou\ ;
+女子学生 < joshigakusei\ ;
+団結心 < danketsushin\ ;
+単純平均 < tanjunheikin\ ;
+質問書 < shitsumonsho\ ;
+再度確認 < saidokakunin\ ;
+鬼面伝心 < kimendenshin\ ;
+貿易黒字 < bouekikuroji\ ;
+組合員証 < kumiaiinshou\ ;
+熟柿主義 < jukushishugi\ ;
+中立性 < chuuritsusei\ ;
+冷房装置 < reibousouchi\ ;
+現地生産 < genchiseisan\ ;
+新聞記者 < shinbunkisha\ ;
+告発状 < kokuhatsujou\ ;
+大山鳴動 < taizanmeidou\ ;
+波状攻撃 < hajoukougeki\ ;
+単記投票 < tankitouhyou\ ;
+一次関数 < ichijikansuu\ ;
+幼形進化 < youkeishinka\ ;
+反復説 < hanpukusetsu\ ;
+印刷術 < insatsujutsu\ ;
+能力給 < nouryokukyuu\ ;
+青物市場 < aomonoichiba\ ;
+学生運動 < gakuseiundou\ ;
+報復措置 < houfukusochi\ ;
+回復可能 < kaifukukanou\ ;
+正角定木 < seikakujougi\ ;
+歴史地理 < rekishichiri\ ;
+練習曲 < renshuukyoku\ ;
+年中無休 < nenjuumukyuu\ ;
+代数的和 < daisuutekiwa\ ;
+超能力 < chounouryoku\ ;
+左右相称 < sayuusoushou\ ;
+核分裂 < kakubunretsu\ ;
+帝国主義 < teikokushugi\ ;
+西洋松露 < seiyoushouro\ ;
+回転勘定 < kaitenkanjou\ ;
+依託射撃 < itakushageki\ ;
+正規表現 < seikihyougen\ ;
+独立権 < dokuritsuken\ ;
+総領事館 < souryoujikan\ ;
+待宵草 < matsuyoigusa\ ;
+一人娘 < hitorimusume\ ;
+盗難防止 < tounanboushi\ ;
+滅私奉公 < messhihoukou\ ;
+国税局 < kokuzeikyoku\ ;
+総合科学 < sougoukagaku\ ;
+拘束時間 < kousokujikan\ ;
+四方八方 < shihouhappou\ ;
+主要諸元 < shuyoushogen\ ;
+十分条件 < juubunjouken\ ;
+時代思潮 < jidaishichou\ ;
+代理投票 < dairitouhyou\ ;
+古典音楽 < koten''ongaku\ ;
+銀行強盗 < ginkougoutou\ ;
+一面識 < ichimenshiki\ ;
+出願者 < shutsugansha\ ;
+起爆装置 < kibakusouchi\ ;
+逮捕許諾 < taihokyodaku\ ;
+躾方 < shitsukekata\ ;
+歯牙疾患 < shigashikkan\ ;
+勿忘草 < wasurenagusa\ ;
+強綿薬 < kyoumen''yaku\ ;
+共同祖界 < kyoudousokai\ ;
+油断大敵 < yudantaiteki\ ;
+僻心 < higamigokoro\ ;
+専業農家 < sengyounouka\ ;
+熱可塑性 < netsukasosei\ ;
+梶木鮪 < kajikimaguro\ ;
+市有財産 < shiyuuzaisan\ ;
+国家賠償 < kokkabaishou\ ;
+失明者 < shitsumeisha\ ;
+静態総計 < seitaisoukei\ ;
+専門雑誌 < senmonzasshi\ ;
+弾丸列車 < danganressha\ ;
+女道楽 < on''nadouraku\ ;
+大正時代 < taishoujidai\ ;
+設計変更 < sekkeihenkou\ ;
+了解事項 < ryoukaijikou\ ;
+実験段階 < jikkendankai\ ;
+成長率 < seichouritsu\ ;
+確実性 < kakujitsusei\ ;
+官僚政治 < kanryouseiji\ ;
+人種問題 < jinshumondai\ ;
+演習問題 < enshuumondai\ ;
+労働組合 < roudoukumiai\ ;
+火炎放射器 < kaenhoushaki\ ;
+合同委員会 < goudouiinkai\ ;
+醇風美俗 < junpuubizoku\ ;
+椿油 < tsubakiabura\ ;
+黒装束 < kuroshouzoku\ ;
+柏餅 < kashiwamochi\ ;
+造反有理 < zouhan''yuuri\ ;
+消費性向 < shouhiseikou\ ;
+御用新聞 < goyoushinbun\ ;
+公定価格 < kouteikakaku\ ;
+堆積作用 < taisekisayou\ ;
+攻守同盟 < koushudoumei\ ;
+工科大学 < koukadaigaku\ ;
+社公連合 < shakourengou\ ;
+軍事教練 < gunjikyouren\ ;
+平和条約 < heiwajouyaku\ ;
+無資格者 < mushikakusha\ ;
+熱拡散 < netsukakusan\ ;
+相殺関税 < sousaikanzei\ ;
+即時停戦 < sokujiteisen\ ;
+柄頭 < tsukagashira\ ;
+測地衛星 < sokuchieisei\ ;
+空中浮遊 < kuuchuufuyuu\ ;
+忠臣蔵 < chuushingura\ ;
+動物学 < doubutsugaku\ ;
+一枚下 < ichimaishita\ ;
+信用詐欺 < shin''yousagi\ ;
+至東京 < itarutoukyou\ ;
+独立性 < dokuritsusei\ ;
+明眸皓歯 < meiboukoushi\ ;
+上等兵曹 < joutouheisou\ ;
+金利政策 < kinriseisaku\ ;
+草根木皮 < soukonmokuhi\ ;
+雨後雪 < amenochiyuki\ ;
+労働災害 < roudousaigai\ ;
+推定年齢 < suiteinenrei\ ;
+遺産管理人 < isankanrinin\ ;
+貿易依存度 < bouekiizondo\ ;
+日本文学 < nihonbungaku\ ;
+八目鰻 < yatsumeunagi\ ;
+実験科学 < jikkenkagaku\ ;
+労働委員会 < roudouiinkai\ ;
+天狗話 < tengubanashi\ ;
+案内係 < an''naigakari\ ;
+危険信号 < kikenshingou\ ;
+流行色 < ryuukoushoku\ ;
+鍾乳石 < shounyuuseki\ ;
+西欧諸国 < seioushokoku\ ;
+接続性 < setsuzokusei\ ;
+夜間営業 < yakan''eigyou\ ;
+模型飛行機 < mokeihikouki\ ;
+真実性 < shinjitsusei\ ;
+使徒承伝 < shitoshouden\ ;
+国家主席 < kokkashuseki\ ;
+雪見灯籠 < yukimidourou\ ;
+主席判事 < shusekihanji\ ;
+骨肉腫 < kotsunikushu\ ;
+犬畜生 < inuchikushou\ ;
+官製葉書 < kanseihagaki\ ;
+伝記文学 < denkibungaku\ ;
+制動放射 < seidouhousha\ ;
+領収証 < ryoushuushou\ ;
+法律行為 < houritsukoui\ ;
+共産国家 < kyousankokka\ ;
+教育機関 < kyouikukikan\ ;
+非常信号 < hijoushingou\ ;
+雪見障子 < yukimishouji\ ;
+機構改革 < kikoukaikaku\ ;
+昼光色 < chuukoushoku\ ;
+御玉杓子 < otamajakushi\ ;
+最終結果 < saishuukekka\ ;
+特恵関税 < tokkeikanzei\ ;
+地震予知 < jishin''yochi\ ;
+共同募金 < kyoudoubokin\ ;
+事務当局 < jimutoukyoku\ ;
+三号雑誌 < sangouzasshi\ ;
+漏洩電流 < roueidenryuu\ ;
+宣戦布告 < sensenfukoku\ ;
+共産地区 < kyousanchiku\ ;
+代用教員 < daiyoukyouin\ ;
+北極熊 < hokkyokuguma\ ;
+三角定規 < sankakujougi\ ;
+西洋将棋 < seiyoushougi\ ;
+信号無視 < shingoumushi\ ;
+土地改革 < tochikaikaku\ ;
+瀬戸物市 < setomonoichi\ ;
+司令室 < shireishitsu\ ;
+安倍川餅 < abekawamochi\ ;
+東欧諸国 < tououshokoku\ ;
+跡目相続 < atomesouzoku\ ;
+人工呼吸 < jinkoukokyuu\ ;
+俄盲 < niwakamekura\ ;
+航空郵便 < koukuuyuubin\ ;
+並行輸入 < heikouyunyuu\ ;
+経済格差 < keizaikakusa\ ;
+社会資本 < shakaishihon\ ;
+外交特権 < gaikoutokken\ ;
+印刷物 < insatsubutsu\ ;
+業務提携 < gyoumuteikei\ ;
+潜在意識 < senzaiishiki\ ;
+抽象的 < chuushouteki\ ;
+制御装置 < seigyosouchi\ ;
+白拍子 < shirabyoushi\ ;
+提出者 < teishutsusha\ ;
+所所方方 < shoshohoubou\ ;
+耐圧力 < taiatsuryoku\ ;
+凸面鏡 < totsumenkyou\ ;
+高血圧 < kouketsuatsu\ ;
+柱時計 < hashiradokei\ ;
+固体燃料 < kotainenryou\ ;
+傘歯車 < kasahaguruma\ ;
+鼻元思案 < hanamotojian\ ;
+右折禁止 < usetsukinshi\ ;
+軍国色 < gunkokushoku\ ;
+八郎潟 < hachirougata\ ;
+千思万考 < senshibankou\ ;
+依願退職 < igantaishoku\ ;
+三部合唱 < sanbugasshou\ ;
+言語中枢 < gengochuusuu\ ;
+現代文明 < gendaibunmei\ ;
+養護学級 < yougogakkyuu\ ;
+宿命的 < shukumeiteki\ ;
+回転運動 < kaiten''undou\ ;
+運輸業者 < un''yugyousha\ ;
+中心角 < chuushinkaku\ ;
+長須鯨 < nagasukujira\ ;
+石油公団 < sekiyukoudan\ ;
+局部麻酔 < kyokubumasui\ ;
+義太夫節 < gidayuubushi\ ;
+金属加工 < kinzokukakou\ ;
+悪性腫瘍 < akuseishuyou\ ;
+修了証 < shuuryoushou\ ;
+馬鹿正直 < bakashoujiki\ ;
+合弁会社 < goubengaisha\ ;
+段々畠 < dandanbatake\ ;
+公益事業 < kouekijigyou\ ;
+信号電波 < shingoudenpa\ ;
+多肉質 < tanikushitsu\ ;
+進入灯 < shin''nyuutou\ ;
+集約的 < shuuyakuteki\ ;
+兵六玉 < hyourokudama\ ;
+摩擦熱 < masatsunetsu\ ;
+内輪同志 < uchiwadoushi\ ;
+社会事業 < shakaijigyou\ ;
+技術力 < gijutsuryoku\ ;
+零細企業 < reisaikigyou\ ;
+仮溶接 < kariyousetsu\ ;
+国定公園 < kokuteikouen\ ;
+応力径路 < ouryokukeiro\ ;
+下位範疇化 < kaihanchuuka\ ;
+控訴棄却 < kousokikyaku\ ;
+通勤定期 < tsuukinteiki\ ;
+高品質 < kouhinshitsu\ ;
+歴史地図 < rekishichizu\ ;
+電子郵便 < denshiyuubin\ ;
+晒木綿 < sarashimomen\ ;
+伸縮法 < shinshukuhou\ ;
+人工知能 < jinkouchinou\ ;
+空中投下 < kuuchuutouka\ ;
+楽天主義 < rakutenshugi\ ;
+六連発 < rokurenpatsu\ ;
+海外投資 < kaigaitoushi\ ;
+併発症 < heihatsushou\ ;
+暗証番号 < anshoubangou\ ;
+欠乏症 < ketsuboushou\ ;
+枕詞 < makurakotoba\ ;
+関節技 < kansetsuwaza\ ;
+沈没船 < chinbotsusen\ ;
+候所 < souroutokoro\ ;
+容積率 < yousekiritsu\ ;
+桂男 < katsuraotoko\ ;
+主力株 < shuryokukabu\ ;
+年齢制限 < nenreiseigen\ ;
+価格戦争 < kakakusensou\ ;
+高速度鋼 < kousokudokou\ ;
+山懐 < yamafutokoro\ ;
+乾湿計 < kanshitsukei\ ;
+非営利団体 < hieiridantai\ ;
+火力支援 < karyokushien\ ;
+高速道路 < kousokudouro\ ;
+使用禁止 < shiyoukinshi\ ;
+冠婚葬祭 < kankonsousai\ ;
+水平尾翼 < suiheibiyoku\ ;
+丼飯 < donburimeshi\ ;
+決議機関 < ketsugikikan\ ;
+九星術 < kyuuseijutsu\ ;
+口八丁 < kuchihatchou\ ;
+連鎖反応 < rensahan''nou\ ;
+市民社会 < shiminshakai\ ;
+検察庁 < kensatsuchou\ ;
+表表紙 < omotebyoushi\ ;
+部分集合 < bubunshuugou\ ;
+四捨五入 < shishagonyuu\ ;
+受託会社 < jutakugaisha\ ;
+問題意識 < mondaiishiki\ ;
+金融公庫 < kin''yuukouko\ ;
+直取引 < jikitorihiki\ ;
+友達甲斐 < tomodachigai\ ;
+大学卒 < daigakusotsu\ ;
+一般教養 < ippankyouyou\ ;
+失語症 < shitsugoshou\ ;
+降雪量 < kousetsuryou\ ;
+安定恐慌 < anteikyoukou\ ;
+水素化物 < suisokabutsu\ ;
+環境変化 < kankyouhenka\ ;
+体格検査 < taikakukensa\ ;
+漁師町 < ryoushimachi\ ;
+化学合成 < kagakugousei\ ;
+平平凡凡 < heiheibonbon\ ;
+市場価格 < shijoukakaku\ ;
+物見櫓 < monomiyagura\ ;
+善隣関係 < zenrinkankei\ ;
+合成洗剤 < gouseisenzai\ ;
+観念主義 < kan''nenshugi\ ;
+通勤時間 < tsuukinjikan\ ;
+経済体制 < keizaitaisei\ ;
+住所氏名 < juushoshimei\ ;
+疾風怒濤 < shippuudotou\ ;
+医療材料 < iryouzairyou\ ;
+有機農業 < yuukinougyou\ ;
+妨害放送 < bougaihousou\ ;
+金属元素 < kinzokugenso\ ;
+取次店 < toritsugiten\ ;
+歯内療法 < shikaryouhou\ ;
+悪戯小僧 < itazurakozou\ ;
+全権大使 < zenkentaishi\ ;
+危急存亡 < kikyuusonbou\ ;
+宇宙中継 < uchuuchuukei\ ;
+非人間的 < hiningenteki\ ;
+受信装置 < jushinsouchi\ ;
+数値計算 < suuchikeisan\ ;
+片言隻語 < hengensekigo\ ;
+懐中時計 < kaichuudokei\ ;
+朧月夜 < oborodzukiyo\ ;
+競輪選手 < keirinsenshu\ ;
+享楽的 < kyourakuteki\ ;
+暗号解読 < angoukaidoku\ ;
+反動思想 < handoushisou\ ;
+実証主義 < jisshoushugi\ ;
+標準偏差 < hyoujunhensa\ ;
+資源問題 < shigenmondai\ ;
+運送業者 < unsougyousha\ ;
+行動地帯 < koudouchitai\ ;
+水力学 < suiryokugaku\ ;
+平等主義 < byoudoushugi\ ;
+取引先 < torihikisaki\ ;
+交代投手 < koutaitoushu\ ;
+丼鉢 < donburibachi\ ;
+入力線 < nyuuryokusen\ ;
+低血圧 < teiketsuatsu\ ;
+国家独占 < kokkadokusen\ ;
+土地改良 < tochikairyou\ ;
+環境基準 < kankyoukijun\ ;
+外交文書 < gaikoubunsho\ ;
+軽挙妄動 < keikyomoudou\ ;
+防虫加工 < bouchuukakou\ ;
+不在投票 < fuzaitouhyou\ ;
+伸縮性 < shinshukusei\ ;
+律令制 < ritsuryousei\ ;
+嫌煙運動 < ken''en''undou\ ;
+封緘葉書 < fuukanhagaki\ ;
+形式的 < keishikiteki\ ;
+泰然自若 < taizenjijaku\ ;
+敗北主義 < haibokushugi\ ;
+価格性能 < kakakuseinou\ ;
+書類送検 < shoruisouken\ ;
+人権問題 < jinkenmondai\ ;
+仲立人 < nakadachinin\ ;
+昇降口 < shoukouguchi\ ;
+一死報国 < isshihoukoku\ ;
+記録係 < kirokugakari\ ;
+工作物 < kousakubutsu\ ;
+練馬大根 < nerimadaikon\ ;
+一糸一毫 < isshiichigou\ ;
+特殊事情 < tokushujijou\ ;
+正直者 < shoujikimono\ ;
+老少不定 < roushoufutei\ ;
+中心的 < chuushinteki\ ;
+自習室 < jishuushitsu\ ;
+今明日 < konmyounichi\ ;
+相乗平均 < soujouheikin\ ;
+万年候補 < man''nenkouho\ ;
+安全教育 < anzenkyouiku\ ;
+無賃乗車 < muchinjousha\ ;
+片務契約 < henmukeiyaku\ ;
+一般大衆 < ippantaishuu\ ;
+古典文学 < kotenbungaku\ ;
+高校野球 < koukouyakyuu\ ;
+間接的 < kansetsuteki\ ;
+中華料理 < chuukaryouri\ ;
+出版物 < shuppanbutsu\ ;
+健康状態 < kenkoujoutai\ ;
+核軍縮 < kakugunshuku\ ;
+鹿児島県 < kagoshimaken\ ;
+準備状況 < junbijoukyou\ ;
+選外佳作 < sengaikasaku\ ;
+言語教育 < gengokyouiku\ ;
+同文同種 < doubundoushu\ ;
+給与体系 < kyuuyotaikei\ ;
+麻薬犯罪 < mayakuhanzai\ ;
+朝令暮改 < choureibokai\ ;
+一見識 < ichikenshiki\ ;
+攻撃力 < kougekiryoku\ ;
+互恵条約 < gokeijouyaku\ ;
+一国一票 < ikkokuippyou\ ;
+砲艦外交 < houkangaikou\ ;
+整髪料 < seihatsuryou\ ;
+流行言葉 < hayarikotoba\ ;
+交通機関 < koutsuukikan\ ;
+水銀電池 < suigindenchi\ ;
+倒事 < sakasamagoto\ ;
+追善供養 < tsuizenkuyou\ ;
+他力本願 < tarikihongan\ ;
+符号解読 < fugoukaidoku\ ;
+知能指数 < chinoushisuu\ ;
+亜熱帯気候 < anettaikikou\ ;
+当営業所 < toueigyousho\ ;
+職員会議 < shokuinkaigi\ ;
+言語特有 < gengotokuyuu\ ;
+最小限度 < saishougendo\ ;
+染井吉野 < someiyoshino\ ;
+完全犯罪 < kanzenhanzai\ ;
+暁闇 < akatsukiyami\ ;
+教育制度 < kyouikuseido\ ;
+戦国時代 < sengokujidai\ ;
+前駆症状 < zenkushoujou\ ;
+七面倒 < shichimendou\ ;
+耐湿性 < taishitsusei\ ;
+紫綬褒賞 < shijuhoushou\ ;
+一言半句 < ichigonhanku\ ;
+不法占有 < fuhousen''yuu\ ;
+仏文学 < futsubungaku\ ;
+家庭環境 < kateikankyou\ ;
+畑水練 < hatakesuiren\ ;
+勅撰集 < chokusenshuu\ ;
+七面体 < shichimentai\ ;
+舞台監督 < butaikantoku\ ;
+合成皮革 < gouseihikaku\ ;
+在宅勤務 < zaitakukinmu\ ;
+無政府主義 < museifushugi\ ;
+不在地主 < fuzaijinushi\ ;
+一宿一飯 < isshukuippan\ ;
+老人病院 < roujinbyouin\ ;
+片肺飛行 < katahaihikou\ ;
+対潜水艦 < taisensuikan\ ;
+警戒警報 < keikaikeihou\ ;
+効率的 < kouritsuteki\ ;
+累積赤字 < ruisekiakaji\ ;
+家族構成 < kazokukousei\ ;
+内柔外剛 < naijuugaigou\ ;
+属人主義 < zokujinshugi\ ;
+熱量計 < netsuryoukei\ ;
+硬軟両派 < kounanryouha\ ;
+座席番号 < zasekibangou\ ;
+空中浮揚 < kuuchuufuyou\ ;
+丁稚奉公 < detchiboukou\ ;
+一方交通 < ippoukoutsuu\ ;
+三日月形 < mikadzukikei\ ;
+移動図書館 < idoutoshokan\ ;
+検事総長 < kenjisouchou\ ;
+注釈者 < chuushakusha\ ;
+狭心症 < kyoushinshou\ ;
+新規投資 < shinkitoushi\ ;
+単語検索 < tangokensaku\ ;
+弥猛心 < yatakegokoro\ ;
+隠匿物資 < intokubusshi\ ;
+女人禁制 < nyoninkinsei\ ;
+大修道院 < daishuudouin\ ;
+森林公園 < shinrinkouen\ ;
+総花式 < soubanashiki\ ;
+協商国 < kyoushoukoku\ ;
+受験資格 < jukenshikaku\ ;
+七絃琴 < shichigenkin\ ;
+大和言葉 < yamatokotoba\ ;
+儀式主義 < gishikishugi\ ;
+造山運動 < zouzan''undou\ ;
+一般教育 < ippankyouiku\ ;
+爆裂弾 < bakuretsudan\ ;
+立体音響 < rittaionkyou\ ;
+宗教心 < shuukyoushin\ ;
+特集記事 < tokushuukiji\ ;
+付帯決議 < futaiketsugi\ ;
+製紙工場 < seishikoujou\ ;
+公共物 < koukyoubutsu\ ;
+救急箱 < kyuukyuubako\ ;
+救援投手 < kyuuentoushu\ ;
+財団法人 < zaidanhoujin\ ;
+民俗舞踊 < minzokubuyou\ ;
+戦争犯罪 < sensouhanzai\ ;
+難燃加工 < nan''nenkakou\ ;
+南船北馬 < nansenhokuba\ ;
+機能障害 < kinoushougai\ ;
+実行委員会 < jikkouiinkai\ ;
+狂詩曲 < kyoushikyoku\ ;
+日本国民 < nihonkokumin\ ;
+俄分限 < niwakabungen\ ;
+舞踏教師 < butoukyoushi\ ;
+林間学校 < rinkangakkou\ ;
+松毬 < matsupokkuri\ ;
+花魁道中 < oirandouchuu\ ;
+滑降競技 < kakkoukyougi\ ;
+在外公館 < zaigaikoukan\ ;
+宗教学 < shuukyougaku\ ;
+頭虱 < atamashirami\ ;
+一日中 < ichinichijuu\ ;
+地方選挙 < chihousenkyo\ ;
+求職者 < kyuushokusha\ ;
+畜殺場 < chikusatsuba\ ;
+合成化学 < gouseikagaku\ ;
+私製葉書 < shiseihagaki\ ;
+学年末 < gakunenmatsu\ ;
+不定積分 < futeisekibun\ ;
+正々堂々 < seiseidoudou\ ;
+半信半疑 < hanshinhangi\ ;
+穀象虫 < kokuzoumushi\ ;
+輸入超過 < yunyuuchouka\ ;
+無響室 < mukyoushitsu\ ;
+筍医者 < takenokoisha\ ;
+四元速度 < shigensokudo\ ;
+付属学校 < fuzokugakkou\ ;
+人工真珠 < jinkoushinju\ ;
+潛心力 < senshinryoku\ ;
+興行主 < kougyounushi\ ;
+人権団体 < jinkendantai\ ;
+本文批評 < honmonhihyou\ ;
+乾地農法 < kanchinouhou\ ;
+喧喧囂囂 < kenkengougou\ ;
+松林 < matsubayashi\ ;
+人定尋問 < jinteijinmon\ ;
+任期満了 < ninkimanryou\ ;
+競馬新聞 < keibashinbun\ ;
+修飾子 < shuushokushi\ ;
+収益率 < shuuekiritsu\ ;
+祝儀袋 < shuugibukuro\ ;
+電気工学 < denkikougaku\ ;
+婚姻届 < kon''intodoke\ ;
+供給過多 < kyoukyuukata\ ;
+口頭審理 < koutoushinri\ ;
+障害物 < shougaibutsu\ ;
+平和教育 < heiwakyouiku\ ;
+黒銹病 < kurosabibyou\ ;
+人物評 < jinbutsuhyou\ ;
+総合病院 < sougoubyouin\ ;
+上層気流 < jousoukiryuu\ ;
+老齢年金 < roureinenkin\ ;
+雑所得 < zatsushotoku\ ;
+剥製術 < hakuseijutsu\ ;
+演奏練習 < ensourenshuu\ ;
+独占欲 < dokusen''yoku\ ;
+仕掛地雷 < shikakejirai\ ;
+束柱 < tsukabashira\ ;
+回転資金 < kaitenshikin\ ;
+絶望的 < zetsubouteki\ ;
+暗中模索 < anchuumosaku\ ;
+天然色 < ten''nenshoku\ ;
+唯我独尊 < yuigadokuson\ ;
+集散主義 < shuusanshugi\ ;
+土産物屋 < miyagemonoya\ ;
+自給自足 < jikyuujisoku\ ;
+脂肪質 < shiboushitsu\ ;
+宗教劇 < shuukyougeki\ ;
+和平協定 < waheikyoutei\ ;
+仏心 < hotokegokoro\ ;
+出場者 < shutsujousha\ ;
+地方分権 < chihoubunken\ ;
+乾漆像 < kanshitsuzou\ ;
+市内観光 < shinaikankou\ ;
+放射能雨 < houshanouame\ ;
+内罰的 < naibatsuteki\ ;
+七角形 < shichikakkei\ ;
+諜報機関 < chouhoukikan\ ;
+即興曲 < sokkyoukyoku\ ;
+就学義務 < shuugakugimu\ ;
+航空優勢 < koukuuyuusei\ ;
+人才登用 < jinzaitouyou\ ;
+散発的 < sanpatsuteki\ ;
+複本位制 < fukuhon''isei\ ;
+生活保護 < seikatsuhogo\ ;
+集中豪雨 < shuuchuugouu\ ;
+徴兵免除 < chouheimenjo\ ;
+公害問題 < kougaimondai\ ;
+単身赴任 < tanshinfunin\ ;
+広口瓶 < hirokuchibin\ ;
+差別用語 < sabetsuyougo\ ;
+人口動態 < jinkoudoutai\ ;
+宇宙物理 < uchuubutsuri\ ;
+全面戦争 < zenmensensou\ ;
+経済状態 < keizaijoutai\ ;
+委託研究 < itakukenkyuu\ ;
+千辛万苦 < senshinbanku\ ;
+医療報酬 < iryouhoushuu\ ;
+水晶時計 < suishoudokei\ ;
+三文文士 < sanmonbunshi\ ;
+回転木馬 < kaitenmokuba\ ;
+不戦条約 < fusenjouyaku\ ;
+一生懸命 < isshoukenmei\ ;
+圧縮率 < asshukuritsu\ ;
+日進月歩 < nisshingeppo\ ;
+受託販売 < jutakuhanbai\ ;
+文化勲章 < bunkakunshou\ ;
+悠悠閑閑 < yuuyuukankan\ ;
+仏英辞典 < futsueijiten\ ;
+宿泊人 < shukuhakunin\ ;
+留守番電話 < rusubandenwa\ ;
+衛生工学 < eiseikougaku\ ;
+政見放送 < seikenhousou\ ;
+水性塗料 < suiseitoryou\ ;
+猩紅熱 < shoukounetsu\ ;
+先進兵器 < senshinheiki\ ;
+自己中心 < jikochuushin\ ;
+協力鋼 < kyouryokukou\ ;
+同和教育 < douwakyouiku\ ;
+学齢児童 < gakureijidou\ ;
+聖地巡礼 < seichijunrei\ ;
+社団法人 < shadanhoujin\ ;
+所番地 < tokorobanchi\ ;
+注釈書 < chuushakusho\ ;
+貨物輸送 < kamotsuyusou\ ;
+特徴量 < tokuchouryou\ ;
+正多角形 < seitakakukei\ ;
+懐工合 < futokoroguai\ ;
+電気容量 < denkiyouryou\ ;
+準禁治産 < junkinchisan\ ;
+描写力 < byousharyoku\ ;
+化学構造 < kagakukouzou\ ;
+生物学 < seibutsugaku\ ;
+一党独裁 < ittoudokusai\ ;
+無限小数 < mugenshousuu\ ;
+渾然一体 < konzen''ittai\ ;
+海底地震 < kaiteijishin\ ;
+博士課程 < hakushikatei\ ;
+平均寿命 < heikinjumyou\ ;
+市民運動 < shimin''undou\ ;
+記念出版 < kinenshuppan\ ;
+装置制御 < souchiseigyo\ ;
+原裁判所 < gensaibansho\ ;
+検討委員会 < kentouiinkai\ ;
+厚生大臣 < kouseidaijin\ ;
+油脂工業 < yushikougyou\ ;
+総支配人 < soushihainin\ ;
+読書力 < dokushoryoku\ ;
+日照時間 < nisshoujikan\ ;
+一般教書 < ippankyousho\ ;
+一部始終 < ichibushijuu\ ;
+関数原型 < kansuugenkei\ ;
+知識欲 < chishikiyoku\ ;
+三重宝冠 < sanjuuhoukan\ ;
+全速力 < zensokuryoku\ ;
+歓送迎会 < kansougeikai\ ;
+緊急避難 < kinkyuuhinan\ ;
+刹那主義 < setsunashugi\ ;
+工業地区 < kougyouchiku\ ;
+我楽多市 < garakutaichi\ ;
+衆議院議員 < shuugiingiin\ ;
+転写捺染 < tenshanassen\ ;
+自然災害 < shizensaigai\ ;
+深紅色 < shinkoushoku\ ;
+天井棧敷 < tenjousajiki\ ;
+先行条件 < senkoujouken\ ;
+月下氷人 < gekkahyoujin\ ;
+未年 < hitsujidoshi\ ;
+谷懐 < tanibutokoro\ ;
+選考委員会 < senkouiinkai\ ;
+医薬分業 < iyakubungyou\ ;
+雁骨 < kariganebone\ ;
+身元保証 < mimotohoshou\ ;
+軟着陸 < nanchakuriku\ ;
+純正科学 < junseikagaku\ ;
+二重道徳 < nijuudoutoku\ ;
+悲喜交交 < hikikomogomo\ ;
+緊急動議 < kinkyuudougi\ ;
+太陽電池 < taiyoudenchi\ ;
+街頭録音 < gaitourokuon\ ;
+国際機関 < kokusaikikan\ ;
+東口 < higashiguchi\ ;
+前傾姿勢 < zenkeishisei\ ;
+帰属意識 < kizokuishiki\ ;
+公衆便所 < koushuubenjo\ ;
+日本国内 < nihonkokunai\ ;
+色情狂 < shikijoukyou\ ;
+郵便袋 < yuubinbukuro\ ;
+選民思想 < senminshisou\ ;
+咀嚼運動 < soshakuundou\ ;
+記念写真 < kinenshashin\ ;
+診察台 < shinsatsudai\ ;
+泡沫的 < houmatsuteki\ ;
+火燵布団 < kotatsubuton\ ;
+仮釈放 < karishakuhou\ ;
+全面禁止 < zenmenkinshi\ ;
+北回帰線 < kitakaikisen\ ;
+連合艦隊 < rengoukantai\ ;
+急進的 < kyuushinteki\ ;
+人命救助 < jinmeikyuujo\ ;
+戦争状態 < sensoujoutai\ ;
+女子大学 < joshidaigaku\ ;
+国士無双 < kokushimusou\ ;
+平均余命 < heikin''yomei\ ;
+事例研究 < jireikenkyuu\ ;
+分散投資 < bunsantoushi\ ;
+診察券 < shinsatsuken\ ;
+極小値 < kyokushouchi\ ;
+偶像礼拝 < guuzoureihai\ ;
+効果覿面 < koukatekimen\ ;
+緊張緩和 < kinchoukanwa\ ;
+不許複製 < fukyofukusei\ ;
+北欧神話 < hokuoushinwa\ ;
+人事行政 < jinjigyousei\ ;
+昭和年間 < shouwanenkan\ ;
+国字問題 < kokujimondai\ ;
+供血者 < kyouketsusha\ ;
+国務大臣 < kokumudaijin\ ;
+杯事 < sakazukigoto\ ;
+言語障害 < gengoshougai\ ;
+再販価格 < saihankakaku\ ;
+平均株価 < heikinkabuka\ ;
+安息香酸 < ansokukousan\ ;
+譜代大名 < fudaidaimyou\ ;
+収入役 < shuunyuuyaku\ ;
+節用集 < setsuyoushuu\ ;
+配達料 < haitatsuryou\ ;
+類義語辞典 < ruigigojiten\ ;
+道路計画 < dourokeikaku\ ;
+古自動車 < furujidousha\ ;
+独枕 < hitorimakura\ ;
+容姿端麗 < youshitanrei\ ;
+新卒者 < shinsotsusha\ ;
+請負業者 < ukeoigyousha\ ;
+通常口語 < tsuujoukougo\ ;
+在外邦人 < zaigaihoujin\ ;
+収監力 < shuukanryoku\ ;
+開放経済 < kaihoukeizai\ ;
+百葉箱 < hyakuyoubako\ ;
+体操競技 < taisoukyougi\ ;
+労働同盟 < roudoudoumei\ ;
+国際都市 < kokusaitoshi\ ;
+有刺鉄線 < yuushitessen\ ;
+団体行動 < dantaikoudou\ ;
+応用数学 < ouyousuugaku\ ;
+協力者 < kyouryokusha\ ;
+交通巡査 < koutsuujunsa\ ;
+速達便 < sokutatsubin\ ;
+無敵艦隊 < mutekikantai\ ;
+航空会社 < koukuugaisha\ ;
+銀白色 < ginhakushoku\ ;
+大政奉還 < taiseihoukan\ ;
+不撓不屈 < futoufukutsu\ ;
+相関関係 < soukankankei\ ;
+同盟罷業 < doumeihigyou\ ;
+夾竹桃 < kyouchikutou\ ;
+軍備競争 < gunbikyousou\ ;
+形容動詞 < keiyoudoushi\ ;
+補給幹線 < hokyuukansen\ ;
+畜生道 < chikushoudou\ ;
+雪辱戦 < setsujokusen\ ;
+為替裁定 < kawasesaitei\ ;
+表現主義 < hyougenshugi\ ;
+東京着 < toukyouchaku\ ;
+電信局 < denshinkyoku\ ;
+文教地区 < bunkyouchiku\ ;
+青色症 < seishokushou\ ;
+広告主 < koukokunushi\ ;
+金属疲労 < kinzokuhirou\ ;
+右方高麗楽 < uhoukomagaku\ ;
+強制疎開 < kyouseisokai\ ;
+東京発 < toukyouhatsu\ ;
+警視総監 < keishisoukan\ ;
+代表社員 < daihyoushain\ ;
+借屋住居 < shakuyazumai\ ;
+徴兵制度 < chouheiseido\ ;
+短期大学 < tankidaigaku\ ;
+立体放送 < rittaihousou\ ;
+全身浴 < zenshin''yoku\ ;
+圧迫包帯 < appakuhoutai\ ;
+変質者 < henshitsusha\ ;
+通用期間 < tsuuyoukikan\ ;
+勉強時間 < benkyoujikan\ ;
+戸籍謄本 < kosekitouhon\ ;
+家庭教育 < kateikyouiku\ ;
+地震探鉱 < jishintankou\ ;
+避難梯子 < hinanbashigo\ ;
+夏木立 < natsukodachi\ ;
+社会奉仕 < shakaihoushi\ ;
+婚外性交 < kongaiseikou\ ;
+不可抗力 < fukakouryoku\ ;
+一塊 < hitokatamari\ ;
+警察庁 < keisatsuchou\ ;
+業界初 < gyoukaihatsu\ ;
+執行機関 < shikkoukikan\ ;
+勤務評定 < kinmuhyoutei\ ;
+天長節 < tenchousetsu\ ;
+常用対数 < jouyoutaisuu\ ;
+娘心 < musumegokoro\ ;
+大道芸人 < daidougeinin\ ;
+黒風白雨 < kokufuuhakuu\ ;
+肥厚性鼻炎 < hikouseibien\ ;
+銀行業務 < ginkougyoumu\ ;
+現地調査 < genchichousa\ ;
+遠洋航海 < en''youkoukai\ ;
+外交関係 < gaikoukankei\ ;
+私学助成 < shigakujosei\ ;
+産褥熱 < sanjokunetsu\ ;
+無痛分娩 < mutsuubunben\ ;
+不良債権 < furyousaiken\ ;
+地域時刻 < chiikijikoku\ ;
+凹版印刷 < ouhaninsatsu\ ;
+基幹産業 < kikansangyou\ ;
+路上駐車 < rojouchuusha\ ;
+単勝式 < tanshoushiki\ ;
+亜酸化窒素 < asankachisso\ ;
+首脳会談 < shunoukaidan\ ;
+独裁政治 < dokusaiseiji\ ;
+外交問題 < gaikoumondai\ ;
+頭頂骨 < touchoukotsu\ ;
+破産申請 < hasanshinsei\ ;
+郷土芸能 < kyoudogeinou\ ;
+後方地域 < kouhouchiiki\ ;
+太陽放射 < taiyouhousha\ ;
+壊血病 < kaiketsubyou\ ;
+西洋文明 < seiyoubunmei\ ;
+振替輸送 < furikaeyusou\ ;
+交換条件 < koukanjouken\ ;
+発行市場 < hakkoushijou\ ;
+一昨昨年 < sakiototoshi\ ;
+製菓業者 < seikagyousha\ ;
+看板娘 < kanbanmusume\ ;
+愛国団体 < aikokudantai\ ;
+変形規則 < henkeikisoku\ ;
+人気投票 < ninkitouhyou\ ;
+男女平等 < danjobyoudou\ ;
+郵便葉書 < yuubinhagaki\ ;
+編集局 < henshuukyoku\ ;
+晴後雨 < harenochiame\ ;
+市場撤退 < shijoutettai\ ;
+安定同位体 < anteidouitai\ ;
+定期検診 < teikikenshin\ ;
+流動食 < ryuudoushoku\ ;
+夏祭 < natsumatsuri\ ;
+団体競技 < dantaikyougi\ ;
+食道楽 < shokudouraku\ ;
+民間団体 < minkandantai\ ;
+封建思想 < houkenshisou\ ;
+航続距離 < kouzokukyori\ ;
+双峰駱駝 < souhourakuda\ ;
+百科全書 < hyakkazensho\ ;
+試行錯誤 < shikousakugo\ ;
+工場地帯 < koujouchitai\ ;
+毛織錦 < keorinishiki\ ;
+政治改革 < seijikaikaku\ ;
+市民会館 < shiminkaikan\ ;
+求人口 < kyuujinguchi\ ;
+有限会社 < yuugengaisha\ ;
+重商主義 < juushoushugi\ ;
+駅前広場 < ekimaehiroba\ ;
+終着駅 < shuuchakueki\ ;
+政治責任 < seijisekinin\ ;
+黒水熱 < kokusuinetsu\ ;
+仮進級 < karishinkyuu\ ;
+専業主婦 < sengyoushufu\ ;
+現場監督 < genbakantoku\ ;
+公転周期 < koutenshuuki\ ;
+口三味線 < kuchijamisen\ ;
+配達先 < haitatsusaki\ ;
+寝物語 < nemonogatari\ ;
+一昨昨夜 < issakusakuya\ ;
+若殿原 < wakatonobara\ ;
+血清肝炎 < kesseikan''en\ ;
+人跡未踏 < jinsekimitou\ ;
+強制保険 < kyouseihoken\ ;
+一望千里 < ichibousenri\ ;
+冷蔵室 < reizoushitsu\ ;
+刑務所長 < keimushochou\ ;
+場内放送 < jounaihousou\ ;
+朝三暮四 < chousanboshi\ ;
+福祉国家 < fukushikokka\ ;
+没交渉 < botsukoushou\ ;
+長刀一枝 < choutouisshi\ ;
+静脈瘤 < joumyakuryuu\ ;
+無線工学 < musenkougaku\ ;
+勝利投手 < shouritoushu\ ;
+天気概況 < tenkigaikyou\ ;
+骨組織 < kotsusoshiki\ ;
+千卒長 < sensotsuchou\ ;
+無常迅速 < mujoujinsoku\ ;
+行動科学 < koudoukagaku\ ;
+直轄地 < chokkatsuchi\ ;
+予防注射 < yobouchuusha\ ;
+昔式 < mukashishiki\ ;
+極秘情報 < gokuhijouhou\ ;
+封建社会 < houkenshakai\ ;
+一筋繩 < hitosujinawa\ ;
+労使紛争 < roushifunsou\ ;
+自学自習 < jigakujishuu\ ;
+不連続線 < furenzokusen\ ;
+治外法権 < chigaihouken\ ;
+経済外交 < keizaigaikou\ ;
+刃物三昧 < hamonozanmai\ ;
+光学繊維 < kougakusen''i\ ;
+就職難 < shuushokunan\ ;
+全休止符 < zenkyuushifu\ ;
+和洋折衷 < wayousetchuu\ ;
+清算会社 < seisangaisha\ ;
+廃藩置県 < haihanchiken\ ;
+臨床講義 < rinshoukougi\ ;
+説経節 < sekkyoubushi\ ;
+純日本風 < jun''nihonfuu\ ;
+文字符号系 < mojifugoukei\ ;
+挙国一致 < kyokokuitchi\ ;
+大衆運動 < taishuuundou\ ;
+心身症 < shinshinshou\ ;
+市場調査 < shijouchousa\ ;
+公開外交 < koukaigaikou\ ;
+面会室 < menkaishitsu\ ;
+独創力 < dokusouryoku\ ;
+妹娘 < imoutomusume\ ;
+大蔵大臣 < ookuradaijin\ ;
+修正予算 < shuuseiyosan\ ;
+始業式 < shigyoushiki\ ;
+行政機関 < gyouseikikan\ ;
+医療輸送機 < iryouyusouki\ ;
+来客筋 < raikyakusuji\ ;
+進学塾 < shingakujuku\ ;
+目的格 < mokutekikaku\ ;
+政教分離 < seikyoubunri\ ;
+搭乗案内 < toujouan''nai\ ;
+五人囃子 < goninbayashi\ ;
+独善主義 < dokuzenshugi\ ;
+航空書簡 < koukuushokan\ ;
+賛否同票 < sanpidouhyou\ ;
+人文学派 < jinbungakuha\ ;
+援用生産 < en''youseisan\ ;
+不耕作地 < fukousakuchi\ ;
+大使公邸 < taishikoutei\ ;
+決議事項 < ketsugijikou\ ;
+校正係 < kouseigakari\ ;
+力自慢 < chikarajiman\ ;
+過酸化水素 < kasankasuiso\ ;
+屋敷町 < yashikimachi\ ;
+温泉療法 < onsenryouhou\ ;
+一顰一笑 < ippin''isshou\ ;
+電気信号 < denkishingou\ ;
+霜柱 < shimobashira\ ;
+服飾品 < fukushokuhin\ ;
+膨張率 < bouchouritsu\ ;
+専管水域 < senkansuiiki\ ;
+天体崇拝 < tentaisuuhai\ ;
+良心的 < ryoushinteki\ ;
+相互参照 < sougosanshou\ ;
+割烹料理 < kappouryouri\ ;
+空念仏 < soranenbutsu\ ;
+郊外電車 < kougaidensha\ ;
+皆皆様 < minaminasama\ ;
+修正主義 < shuuseishugi\ ;
+能率給 < nouritsukyuu\ ;
+補強証拠 < hokyoushouko\ ;
+星印 < hoshijirushi\ ;
+堆積物 < taisekibutsu\ ;
+人材銀行 < jinzaiginkou\ ;
+近代音楽 < kindaiongaku\ ;
+裏面工作 < rimenkousaku\ ;
+法治社会 < houchishakai\ ;
+出納係 < suitougakari\ ;
+大盤振舞 < oobanburumai\ ;
+三岐代表 < sangidaihyou\ ;
+蓄積管 < chikusekikan\ ;
+独身者 < dokushinmono\ ;
+教員組合 < kyouinkumiai\ ;
+海難救助 < kainankyuujo\ ;
+録音放送 < rokuonhousou\ ;
+三者凡退 < sanshabontai\ ;
+石竹色 < sekichikuiro\ ;
+直腸癌 < chokuchougan\ ;
+突発的 < toppatsuteki\ ;
+日本海流 < nihonkairyuu\ ;
+史上最大 < shijousaidai\ ;
+芸術的 < geijutsuteki\ ;
+非晶質 < hishoushitsu\ ;
+記憶障害 < kiokushougai\ ;
+不労所得 < furoushotoku\ ;
+老荘思想 < rousoushisou\ ;
+玉蜀黍 < toumorokoshi\ ;
+軍需工業 < gunjukougyou\ ;
+小心者 < shoushinmono\ ;
+離合集散 < rigoushuusan\ ;
+良妻賢母 < ryousaikenbo\ ;
+軍司令官 < gunshireikan\ ;
+黒水引 < kuromizuhiki\ ;
+貿易会社 < bouekigaisha\ ;
+燐酸肥料 < rinsanhiryou\ ;
+感熱剤 < kan''netsuzai\ ;
+無限責任 < mugensekinin\ ;
+娯楽室 < gorakushitsu\ ;
+鎮痛薬 < chintsuuyaku\ ;
+科学思想 < kagakushisou\ ;
+四海同胞 < shikaidouhou\ ;
+代理委任状 < dairiininjou\ ;
+健康問題 < kenkoumondai\ ;
+感傷主義 < kanshoushugi\ ;
+馬頭観音 < batoukan''non\ ;
+天頂距離 < tenchoukyori\ ;
+能率的 < nouritsuteki\ ;
+調査部長 < chousabuchou\ ;
+合唱曲 < gasshoukyoku\ ;
+丹頂鶴 < tanchoudzuru\ ;
+行動命令 < koudoumeirei\ ;
+為替手形 < kawasetegata\ ;
+赤道気団 < sekidoukidan\ ;
+空中落下 < kuuchuurakka\ ;
+革新的 < kakushinteki\ ;
+定格荷重 < teikakukajuu\ ;
+為替銀行 < kawaseginkou\ ;
+官能主義 < kan''noushugi\ ;
+家庭教師 < kateikyoushi\ ;
+昼夜兼行 < chuuyakenkou\ ;
+客商売 < kyakushoubai\ ;
+一括式 < ikkatsushiki\ ;
+畜産業 < chikusangyou\ ;
+会社営業 < kaishaeigyou\ ;
+袋鼠 < fukuronezumi\ ;
+啓蒙思想 < keimoushisou\ ;
+非循環的 < hijunkanteki\ ;
+文民統制 < bunmintousei\ ;
+過酸化物 < kasankabutsu\ ;
+一念発起 < ichinenhokki\ ;
+出血死 < shukketsushi\ ;
+育成栽培 < ikuseisaibai\ ;
+現場検証 < genbakenshou\ ;
+時代考証 < jidaikoushou\ ;
+感度良好 < kandoryoukou\ ;
+白髪頭 < shiragaatama\ ;
+透明人間 < toumeiningen\ ;
+新形式 < shinkeishiki\ ;
+常套手段 < joutoushudan\ ;
+共有物 < kyouyuubutsu\ ;
+和平工作 < waheikousaku\ ;
+申告箱 < shinkokubako\ ;
+暗中飛躍 < anchuuhiyaku\ ;
+亜寒帯気候 < akantaikikou\ ;
+書留料 < kakitomeryou\ ;
+高音部記号 < kouonbukigou\ ;
+人民裁判 < jinminsaiban\ ;
+施行規則 < shikoukisoku\ ;
+半身不随 < hanshinfuzui\ ;
+希釈熱 < kishakunetsu\ ;
+普通名詞 < futsuumeishi\ ;
+山口県 < yamaguchiken\ ;
+執筆者 < shippitsusha\ ;
+対象範囲 < taishouhan''i\ ;
+人民戦線 < jinminsensen\ ;
+簡明強固 < kanmeikyouko\ ;
+可能選択 < kanousentaku\ ;
+屋内競技 < okunaikyougi\ ;
+多情仏心 < tajoubusshin\ ;
+単純計算 < tanjunkeisan\ ;
+公衆電話 < koushuudenwa\ ;
+商取引 < shoutorihiki\ ;
+花自動車 < hanajidousha\ ;
+位相幾何学 < isoukikagaku\ ;
+植物油 < shokubutsuyu\ ;
+放蕩息子 < houtoumusuko\ ;
+出血斑 < shukketsuhan\ ;
+企画室 < kikakushitsu\ ;
+侵入軍 < shin''nyuugun\ ;
+写真機店 < shashinkiten\ ;
+漁獲物 < gyokakubutsu\ ;
+三等軍曹 < santougunsou\ ;
+緊急逮捕 < kinkyuutaiho\ ;
+力学的 < rikigakuteki\ ;
+貞操蹂躪 < teisoujuurin\ ;
+心肺機能 < shinpaikinou\ ;
+約束事 < yakusokugoto\ ;
+雌雄同株 < shiyuudoushu\ ;
+順風満帆 < junpuumanpan\ ;
+学校法人 < gakkouhoujin\ ;
+変位電流 < hen''idenryuu\ ;
+前哨勤務 < zenshoukinmu\ ;
+経帷子 < kyoukatabira\ ;
+海洋科学 < kaiyoukagaku\ ;
+農民運動 < noumin''undou\ ;
+火消壷 < hikeshitsubo\ ;
+責任範囲 < sekininhan''i\ ;
+発光塗料 < hakkoutoryou\ ;
+感応作用 < kan''nousayou\ ;
+利休鼠 < rikyuunezumi\ ;
+子持昆布 < komochikonbu\ ;
+市営住宅 < shieijuutaku\ ;
+順応力 < jun''nouryoku\ ;
+事業部長 < jigyoubuchou\ ;
+大胆不敵 < daitanfuteki\ ;
+伊勢大神宮 < isedaijinguu\ ;
+天地創造 < tenchisouzou\ ;
+市場経済 < shijoukeizai\ ;
+続柄 < tsudzukigara\ ;
+予定期日 < yoteikijitsu\ ;
+医療技術 < iryougijutsu\ ;
+下半身 < shimohanshin\ ;
+表決権 < hyouketsuken\ ;
+択一的 < takuitsuteki\ ;
+使役動詞 < shiekidoushi\ ;
+流動物 < ryuudoubutsu\ ;
+陳述書 < chinjutsusho\ ;
+徴兵検査 < chouheikensa\ ;
+自家発電 < jikahatsuden\ ;
+追悼式 < tsuitoushiki\ ;
+同語反復 < dougohanpuku\ ;
+弁論大会 < benrontaikai\ ;
+一般投票 < ippantouhyou\ ;
+一人息子 < hitorimusuko\ ;
+飲食物 < inshokubutsu\ ;
+退役軍人 < taiekigunjin\ ;
+人生最悪 < jinseisaiaku\ ;
+印加電圧 < inkaden''atsu\ ;
+液性限界 < ekiseigenkai\ ;
+二酸化炭素 < nisankatanso\ ;
+栄養学者 < eiyougakusha\ ;
+昼食会 < chuushokukai\ ;
+都市交通 < toshikoutsuu\ ;
+畜産学 < chikusangaku\ ;
+交換教授 < koukankyouju\ ;
+学生時代 < gakuseijidai\ ;
+識字率 < shikijiritsu\ ;
+愛社精神 < aishaseishin\ ;
+老化現象 < roukagenshou\ ;
+鼻高高 < hanatakadaka\ ;
+社会問題 < shakaimondai\ ;
+盲管銃創 < moukanjuusou\ ;
+特別法 < tokubetsuhou\ ;
+東海地方 < toukaichihou\ ;
+出漁権 < shutsugyoken\ ;
+発行会社 < hakkougaisha\ ;
+近所合壁 < kinjogappeki\ ;
+音声圧縮 < onseiasshuku\ ;
+民族主義 < minzokushugi\ ;
+専門科目 < senmonkamoku\ ;
+減量経営 < genryoukeiei\ ;
+睡眠不足 < suiminbusoku\ ;
+運送契約 < unsoukeiyaku\ ;
+舞台中継 < butaichuukei\ ;
+下層階級 < kasoukaikyuu\ ;
+鳶職人 < tobishokunin\ ;
+経済闘争 < keizaitousou\ ;
+不良少女 < furyoushoujo\ ;
+応援演説 < ouen''enzetsu\ ;
+鎮魂曲 < chinkonkyoku\ ;
+行動半径 < koudouhankei\ ;
+出演料 < shutsuenryou\ ;
+地震地帯 < jishinchitai\ ;
+通過貿易 < tsuukaboueki\ ;
+統計年鑑 < toukeinenkan\ ;
+人手不足 < hitodebusoku\ ;
+通俗的 < tsuuzokuteki\ ;
+十中八九 < jitchuuhakku\ ;
+滋強飲料 < jikyouinryou\ ;
+四角号碼 < shikakugouma\ ;
+固定観念 < koteikan''nen\ ;
+低音部記号 < teionbukigou\ ;
+経験科学 < keikenkagagu\ ;
+荷電粒子 < kadenryuushi\ ;
+人工生命 < jinkouseimei\ ;
+電気料金 < denkiryoukin\ ;
+往復葉書 < oufukuhagaki\ ;
+人造石油 < jinzousekiyu\ ;
+土蛍 < tsuchibotaru\ ;
+天竺牡丹 < tenjikubotan\ ;
+御馳走様 < gochisousama\ ;
+侵入者 < shin''nyuusha\ ;
+天路歴程 < tenrorekitei\ ;
+共同便所 < kyoudoubenjo\ ;
+暗殺未遂 < ansatsumisui\ ;
+未払費用 < miharaihiyou\ ;
+空出張 < karashutchou\ ;
+相互配属 < sougohaizoku\ ;
+破顔一笑 < hagan''isshou\ ;
+血圧計 < ketsuatsukei\ ;
+胆汁質 < tanjuushitsu\ ;
+治療効果 < chiryoukouka\ ;
+猟官制度 < ryoukanseido\ ;
+収容患者 < shuuyoukanja\ ;
+武陵桃源 < buryoutougen\ ;
+人民所有 < jinminshoyuu\ ;
+反射係数 < hanshakeisuu\ ;
+工業意匠 < kougyouishou\ ;
+相対評価 < soutaihyouka\ ;
+経済問題 < keizaimondai\ ;
+黄碧玉 < kouhekigyoku\ ;
+隔月刊 < kakugetsukan\ ;
+三十六計 < sanjuurokkei\ ;
+残業手当 < zangyouteate\ ;
+投球動作 < toukyuudousa\ ;
+防災訓練 < bousaikunren\ ;
+耐用年数 < taiyounensuu\ ;
+民定憲法 < minteikenpou\ ;
+福利厚生 < fukurikousei\ ;
+消耗品費 < shoumouhinhi\ ;
+学級閉鎖 < gakkyuuheisa\ ;
+人生記録 < jinseikiroku\ ;
+実利主義 < jitsurishugi\ ;
+復原力 < fukugenryoku\ ;
+竣工式 < shunkoushiki\ ;
+公使館員 < koushikan''in\ ;
+競争率 < kyousouritsu\ ;
+積立金 < tsumitatekin\ ;
+植物園 < shokubutsuen\ ;
+進化論者 < shinkaronsha\ ;
+空中機動 < kuuchuukidou\ ;
+投票結果 < touhyoukekka\ ;
+前提条件 < zenteijouken\ ;
+外人選手 < gaijinsenshu\ ;
+巨大分子 < kyodaibunshi\ ;
+贋造紙幣 < ganzoushihei\ ;
+独身寮 < dokushinryou\ ;
+検定試験 < kenteishiken\ ;
+藍綬褒章 < ranjuhoushou\ ;
+司法試験 < shihoushiken\ ;
+柔軟体操 < juunantaisou\ ;
+不良導体 < furyoudoutai\ ;
+対戦車砲 < taisenshahou\ ;
+入札者 < nyuusatsusha\ ;
+死体解剖 < shitaikaibou\ ;
+兼業農家 < kengyounouka\ ;
+新入生 < shin''nyuusei\ ;
+公開録音 < koukairokuon\ ;
+海軍大臣 < kaigundaijin\ ;
+南京花火 < nankinhanabi\ ;
+神謡集 < shin''youshuu\ ;
+扁桃腺炎 < hentousen''en\ ;
+中央銀行 < chuuouginkou\ ;
+両極端 < ryoukyokutan\ ;
+圧縮空気 < asshukukuuki\ ;
+帳面面 < choumendzura\ ;
+見積書 < mitsumorisho\ ;
+研削代 < kensakushiro\ ;
+決済手段 < kessaishudan\ ;
+代理業者 < dairigyousha\ ;
+配置転換 < haichitenkan\ ;
+禁治産者 < kinchisansha\ ;
+活動的 < katsudouteki\ ;
+全身不随 < zenshinfuzui\ ;
+愛他主義者 < aitashugisha\ ;
+全能力 < zen''nouryoku\ ;
+運転技術 < untengijutsu\ ;
+電子音楽 < denshiongaku\ ;
+千万無量 < senmanmuryou\ ;
+自殺幇助 < jisatsuhoujo\ ;
+代数関数 < daisuukansuu\ ;
+音響設計 < onkyousekkei\ ;
+乳様突起 < nyuuyoutokki\ ;
+事前割当 < jizenwariate\ ;
+兵役免状 < heiekimenjou\ ;
+天涯孤独 < tengaikodoku\ ;
+不承不承 < fushoubushou\ ;
+無所属現 < mushozokugen\ ;
+木造家屋 < mokuzoukaoku\ ;
+養老年金 < yourounenkin\ ;
+事前研修 < jizenkenshuu\ ;
+食肉類 < shokunikurui\ ;
+体系文法 < taikeibunpou\ ;
+肺活量 < haikatsuryou\ ;
+雌雄同体 < shiyuudoutai\ ;
+開票率 < kaihyouritsu\ ;
+常識的 < joushikiteki\ ;
+構造汚職 < kouzouoshoku\ ;
+基礎知識 < kisochishiki\ ;
+収容力 < shuuyouryoku\ ;
+地域紛争 < chiikifunsou\ ;
+単峰駱駝 < tanpourakuda\ ;
+象徴的 < shouchouteki\ ;
+人気商売 < ninkishoubai\ ;
+千姿万態 < senshibantai\ ;
+公有財産 < kouyuuzaisan\ ;
+自慢話 < jimanbanashi\ ;
+招待客 < shoutaikyaku\ ;
+先行投資 < senkoutoushi\ ;
+製造工程 < seizoukoutei\ ;
+自由競争 < jiyuukyousou\ ;
+川魚料理 < kawauoryouri\ ;
+交響曲 < koukyoukyoku\ ;
+電解質 < denkaishitsu\ ;
+現代科学 < gendaikagaku\ ;
+平底船 < hirasokobune\ ;
+産業機械 < sangyoukikai\ ;
+不合格者 < fugoukakusha\ ;
+暑中見舞 < shochuumimai\ ;
+誘導尋問 < yuudoujinmon\ ;
+就任式 < shuuninshiki\ ;
+冷凍室 < reitoushitsu\ ;
+瑠璃唐草 < rurikarakusa\ ;
+定形動詞 < teikeidoushi\ ;
+配膳室 < haizenshitsu\ ;
+人間関係 < ningenkankei\ ;
+赤十字社 < sekijuujisha\ ;
+広島県 < hiroshimaken\ ;
+暦改正 < koyomikaisei\ ;
+無産階級 < musankaikyuu\ ;
+徳川方 < tokugawagata\ ;
+六法全書 < roppouzensho\ ;
+集権排除 < shuukenhaijo\ ;
+国際会議 < kokusaikaigi\ ;
+児童文学 < jidoubungaku\ ;
+軍事秘密 < gunjihimitsu\ ;
+仮入学 < karinyuugaku\ ;
+任意出頭 < nin''ishuttou\ ;
+付随現象 < fuzuigenshou\ ;
+原形質 < genkeishitsu\ ;
+唇歯輔車 < shinshihosha\ ;
+原因調査 < gen''inchousa\ ;
+担当部長 < tantoubuchou\ ;
+主任教授 < shuninkyouju\ ;
+軍備削減 < gunbisakugen\ ;
+公開裁判 < koukaisaiban\ ;
+分解修理 < bunkaishuuri\ ;
+百花斉放 < hyakkaseihou\ ;
+黒色腫 < kokushokushu\ ;
+人造真珠 < jinzoushinju\ ;
+卒業生 < sotsugyousei\ ;
+神経過敏 < shinkeikabin\ ;
+送金為替 < soukinkawase\ ;
+回復力 < kaifukuryoku\ ;
+厳正科学 < genseikagaku\ ;
+入会式 < nyuukaishiki\ ;
+司法書士 < shihoushoshi\ ;
+在外資産 < zaigaishisan\ ;
+法律違反 < houritsuihan\ ;
+向心力 < koushinryoku\ ;
+玉虫色 < tamamushiiro\ ;
+特別号 < tokubetsugou\ ;
+進路指導 < shinroshidou\ ;
+予備協約 < yobikyouyaku\ ;
+脱毛症 < datsumoushou\ ;
+始球式 < shikyuushiki\ ;
+教育玩具 < kyouikugangu\ ;
+文法規則 < bunpoukisoku\ ;
+何色搨 < nanshokuzuri\ ;
+完了時制 < kanryoujisei\ ;
+信託業 < shintakugyou\ ;
+事実誤認 < jijitsugonin\ ;
+軍需産業 < gunjusangyou\ ;
+土煙 < tsuchikemuri\ ;
+僻根性 < higamikonjou\ ;
+奪三振 < datsusanshin\ ;
+鉄火丼 < tekkadonburi\ ;
+自然科学 < shizenkagaku\ ;
+大福餅 < daifukumochi\ ;
+武者修行 < mushashugyou\ ;
+侵略軍 < shinryakugun\ ;
+生成文法 < seiseibunpou\ ;
+反物質 < hanbusshitsu\ ;
+司法大臣 < shihoudaijin\ ;
+主意主義者 < shuishugisha\ ;
+制球力 < seikyuuryoku\ ;
+御用商人 < goyoushounin\ ;
+使徒信条 < shitoshinjou\ ;
+証拠物件 < shoukobukken\ ;
+陸産物 < rikusanbutsu\ ;
+予備知識 < yobichishiki\ ;
+合名会社 < goumeigaisha\ ;
+共同一致 < kyoudouitchi\ ;
+武力政治 < buryokuseiji\ ;
+軌道修正 < kidoushuusei\ ;
+農作物 < nousakubutsu\ ;
+湾岸戦争 < wangansensou\ ;
+合格祈願 < goukakukigan\ ;
+化学肥料 < kagakuhiryou\ ;
+竜舌蘭 < ryuuzetsuran\ ;
+独裁国家 < dokusaikokka\ ;
+低利金融 < teirikin''yuu\ ;
+営業畑 < eigyoubatake\ ;
+土類金属 < doruikinzoku\ ;
+肉食獣 < nikushokujuu\ ;
+共和政体 < kyouwaseitai\ ;
+法律学 < houritsugaku\ ;
+法廷闘争 < houteitousou\ ;
+再生装置 < saiseisouchi\ ;
+新発明 < shinhatsumei\ ;
+北方領土 < hoppouryoudo\ ;
+逗留客 < touryuukyaku\ ;
+全廃論者 < zenpaironsha\ ;
+累進課税 < ruishinkazei\ ;
+国防会議 < kokuboukaigi\ ;
+徳島県 < tokushimaken\ ;
+二百十日 < nihyakutooka\ ;
+事前通報 < jizentsuuhou\ ;
+社会意識 < shakaiishiki\ ;
+援助凍結 < enjotouketsu\ ;
+清水寺 < kiyomizudera\ ;
+安全第一 < anzendaiichi\ ;
+個人攻撃 < kojinkougeki\ ;
+悪戯坊主 < itazurabouzu\ ;
+遊動円木 < yuudouenboku\ ;
+円形劇場 < enkeigekijou\ ;
+熱容量 < netsuyouryou\ ;
+文筆業 < bunpitsugyou\ ;
+芭蕉梶木 < bashoukajiki\ ;
+脳出血 < noushukketsu\ ;
+露出症 < roshutsushou\ ;
+高足蟹 < takaashigani\ ;
+情報科学 < jouhoukagaku\ ;
+私娼窟 < shishoukutsu\ ;
+傷害保険 < shougaihoken\ ;
+破産宣告 < hasansenkoku\ ;
+癩病患者 < raibyoukanja\ ;
+黒色癌 < kokushokugan\ ;
+因子分析 < inshibunseki\ ;
+貧血症 < hinketsushou\ ;
+認識票 < ninshikihyou\ ;
+待合政治 < machiaiseiji\ ;
+末法思想 < mappoushisou\ ;
+航続時間 < kouzokujikan\ ;
+専売特許 < senbaitokkyo\ ;
+同種同文 < doushudoubun\ ;
+鉄道事故 < tetsudoujiko\ ;
+真理関数 < shinrikansuu\ ;
+疫病神 < yakubyougami\ ;
+露出狂 < roshutsukyou\ ;
+子子孫孫 < shishisonson\ ;
+八丈島 < hachijoujima\ ;
+降神術 < koushinjutsu\ ;
+英国石油 < eikokusekiyu\ ;
+保護観察 < hogokansatsu\ ;
+秘密兵器 < himitsuheiki\ ;
+郵便貯金 < yuubinchokin\ ;
+哲学者 < tetsugakusha\ ;
+二重人格 < nijuujinkaku\ ;
+白衣明妃 < byakuemyouhi\ ;
+生体解剖 < seitaikaibou\ ;
+爫 < tsumekanmuri\ ;
+力一杯 < chikaraippai\ ;
+出品物 < shuppinbutsu\ ;
+立太子礼 < rittaishirei\ ;
+実際問題 < jissaimondai\ ;
+公転速度 < koutensokudo\ ;
+一石二鳥 < issekinichou\ ;
+教育課程 < kyouikukatei\ ;
+人代名詞 < jindaimeishi\ ;
+次酸化炭素 < jisankatanso\ ;
+灰白色 < kaihakushoku\ ;
+独居室 < dokkyoshitsu\ ;
+優生結婚 < yuuseikekkon\ ;
+口頭試問 < koutoushimon\ ;
+交通安全 < koutsuuanzen\ ;
+接待係 < settaigakari\ ;
+万年雪 < man''nen''yuki\ ;
+狂想曲 < kyousoukyoku\ ;
+和文英訳 < wabun''eiyaku\ ;
+本家本元 < honkehonmoto\ ;
+盲目飛行 < moumokuhikou\ ;
+滞空記録 < taikuukiroku\ ;
+立体裁断 < rittaisaidan\ ;
+国内事情 < kokunaijijou\ ;
+侵略者 < shinryakusha\ ;
+接触事故 < sesshokujiko\ ;
+町役人 < machiyakunin\ ;
+乾燥腐朽 < kansoufukyuu\ ;
+蚰蜒眉 < gejigejimayu\ ;
+合資会社 < goushigaisha\ ;
+彫刻具座 < choukokuguza\ ;
+治安維持法 < chian''ijihou\ ;
+学習塾 < gakushuujuku\ ;
+戸外撮影 < kogaisatsuei\ ;
+応急修理 < oukyuushuuri\ ;
+麻酔注射 < masuichuusha\ ;
+末端価格 < mattankakaku\ ;
+偶像崇拝 < guuzousuuhai\ ;
+普通列車 < futsuuressha\ ;
+新発売 < shinhatsubai\ ;
+和平交渉 < waheikoushou\ ;
+競争力 < kyousouryoku\ ;
+循環論法 < junkanronpou\ ;
+失名氏 < shitsumeishi\ ;
+表座敷 < omotezashiki\ ;
+飽食暖衣 < houshokudani\ ;
+機械工業 < kikaikougyou\ ;
+無限集合 < mugenshuugou\ ;
+徴発令 < chouhatsurei\ ;
+有価証券 < yuukashouken\ ;
+懐銭 < futokorozeni\ ;
+井戸端会議 < idobatakaigi\ ;
+副収入 < fukushuunyuu\ ;
+恐喝罪 < kyoukatsuzai\ ;
+屈折軸 < kussetsujiku\ ;
+合切袋 < gassaibukuro\ ;
+消息通 < shousokutsuu\ ;
+総統選挙 < soutousenkyo\ ;
+株主権 < kabunushiken\ ;
+人気役者 < ninkiyakusha\ ;
+市内通話 < shinaitsuuwa\ ;
+占有率 < sen''yuuritsu\ ;
+南京袋 < nankinbukuro\ ;
+高高指 < takatakayubi\ ;
+白色光 < hakushokukou\ ;
+一等陸士 < ittourikushi\ ;
+講和条約 < kouwajouyaku\ ;
+工業都市 < kougyoutoshi\ ;
+卓上電話 < takujoudenwa\ ;
+客観主義 < kyakkanshugi\ ;
+共同謀議 < kyoudoubougi\ ;
+購買組合 < koubaikumiai\ ;
+請負仕事 < ukeoishigoto\ ;
+鋸鮫 < nokogirizame\ ;
+雇用契約 < koyoukeiyaku\ ;
+当意即妙 < touisokumyou\ ;
+日米協 < nichibeikyou\ ;
+労働市場 < roudoushijou\ ;
+士官学校 < shikangakkou\ ;
+名誉会長 < meiyokaichou\ ;
+度数分布図 < dosuubunpuzu\ ;
+屈折角 < kussetsukaku\ ;
+殺人的 < satsujinteki\ ;
+平均給与 < heikinkyuuyo\ ;
+左団扇 < hidariuchiwa\ ;
+防塵室 < boujinshitsu\ ;
+小便小僧 < shoubenkozou\ ;
+土埃 < tsuchibokori\ ;
+人権蹂躪 < jinkenjuurin\ ;
+圧縮酸素 < asshukusanso\ ;
+含有率 < gan''yuuritsu\ ;
+年次報告 < nenjihoukoku\ ;
+脈搏数 < myakuhakusuu\ ;
+郵便番号 < yuubinbangou\ ;
+推進力 < suishinryoku\ ;
+聾桟敷 < tsunbosajiki\ ;
+計算問題 < keisanmondai\ ;
+総合雑誌 < sougouzasshi\ ;
+縮緬皺 < chirimenjiwa\ ;
+土地収用 < tochishuuyou\ ;
+広告効果 < koukokukouka\ ;
+殺人狂 < satsujinkyou\ ;
+輸出入 < yushutsunyuu\ ;
+幼児教育 < youjikyouiku\ ;
+近所迷惑 < kinjomeiwaku\ ;
+観客席 < kankyakuseki\ ;
+無限級数 < mugenkyuusuu\ ;
+一刻千金 < ikkokusenkin\ ;
+陪審制度 < baishinseido\ ;
+編集機能 < henshuukinou\ ;
+先取特権 < senshutokken\ ;
+専門分野 < senmonbun''ya\ ;
+忄 < ritsushinben\ ;
+命冥加 < inochimyouga\ ;
+担子菌類 < tanshikinrui\ ;
+関係強化 < kankeikyouka\ ;
+森林浴 < shinrin''yoku\ ;
+攻撃部隊 < kougekibutai\ ;
+秘密会議 < himitsukaigi\ ;
+自動車事故 < jidoushajiko\ ;
+消音装置 < shouonsouchi\ ;
+満州事変 < manshuujihen\ ;
+爆発管 < bakuhatsukan\ ;
+資産評価 < shisanhyouka\ ;
+出版許可 < shuppankyoka\ ;
+黒八丈 < kurohachijou\ ;
+国内需要 < kokunaijuyou\ ;
+半身浴 < hanshin''yoku\ ;
+千万長者 < senbanchouja\ ;
+化学試験 < kagakushiken\ ;
+細胞培養 < saiboubaiyou\ ;
+音韻組織 < on''insoshiki\ ;
+座標変換 < zahyouhenkan\ ;
+機械工学 < kikaikougaku\ ;
+第三部長 < daisanbuchou\ ;
+奇岩怪石 < kigankaiseki\ ;
+耐風構造 < taifuukouzou\ ;
+暗緑色 < anryokushoku\ ;
+石鹸工場 < sekkenkoujou\ ;
+在郷軍人 < zaigougunjin\ ;
+幽霊会社 < yuureigaisha\ ;
+環境破壊 < kankyouhakai\ ;
+国際主義 < kokusaishugi\ ;
+御節料理 < osechiryouri\ ;
+筋肉痛 < kin''nikutsuu\ ;
+修理工場 < shuurikoujou\ ;
+職能給 < shokunoukyuu\ ;
+新生物 < shinseibutsu\ ;
+凌霄花 < nouzenkazura\ ;
+黒色尉 < kokushikijou\ ;
+蛍袋 < hotarubukuro\ ;
+偶発的 < guuhatsuteki\ ;
+拒否反応 < kyohihan''nou\ ;
+特産物 < tokusanbutsu\ ;
+一言一句 < ichigon''ikku\ ;
+単独飛行 < tandokuhikou\ ;
+主権在民 < shukenzaimin\ ;
+化粧室 < keshoushitsu\ ;
+総支出 < soushishutsu\ ;
+人格主義 < jinkakushugi\ ;
+自殺未遂 < jisatsumisui\ ;
+出家遁世 < shukketonsei\ ;
+哲学書 < tetsugakusho\ ;
+博物館 < hakubutsukan\ ;
+紐革饂飩 < himokawaudon\ ;
+愚民政策 < guminseisaku\ ;
+単科大学 < tankadaigaku\ ;
+適正利潤 < tekiseirijun\ ;
+発音記号 < hatsuonkigou\ ;
+軍事協定 < gunjikyoutei\ ;
+農地委員会 < nouchiiinkai\ ;
+仲介物 < chuukaibutsu\ ;
+西高東低 < seikoutoutei\ ;
+損耗人員 < sonmoujin''in\ ;
+白頭鷲 < hakutouwashi\ ;
+実勢価格 < jisseikakaku\ ;
+援用設計 < en''yousekkei\ ;
+現場中継 < genbachuukei\ ;
+最新式 < saishinshiki\ ;
+山躑躅 < yamatsutsuji\ ;
+感知装置 < kanchisouchi\ ;
+議決機関 < giketsukikan\ ;
+省電力 < shoudenryoku\ ;
+安心立命 < anjinryoumei\ ;
+合同事業 < goudoujigyou\ ;
+同期信号 < doukishingou\ ;
+仲間意識 < nakamaishiki\ ;
+媒介変数 < baikaihensuu\ ;
+寒中水泳 < kanchuusuiei\ ;
+一匹狼 < ippikiookami\ ;
+被保険物 < hihokenbutsu\ ;
+消息筋 < shousokusuji\ ;
+懐紙 < futokorogami\ ;
+暗殺事件 < ansatsujiken\ ;
+折衷主義 < setchuushugi\ ;
+単式簿記 < tanshikiboki\ ;
+教養課程 < kyouyoukatei\ ;
+万年筆 < man''nenhitsu\ ;
+三者会談 < sanshakaidan\ ;
+連記投票 < renkitouhyou\ ;
+心理状態 < shinrijoutai\ ;
+仇同氏 < katakidoushi\ ;
+海外市場 < kaigaishijou\ ;
+既成事実 < kiseijijitsu\ ;
+事務総局 < jimusoukyoku\ ;
+前進基地 < zenshinkichi\ ;
+同工異曲 < doukouikyoku\ ;
+命題関数 < meidaikansuu\ ;
+北西航路 < hokuseikouro\ ;
+局地的 < kyokuchiteki\ ;
+合同会合 < goudoukaigou\ ;
+立地条件 < ritchijouken\ ;
+革手袋 < kawatebukuro\ ;
+地理学者 < chirigakusha\ ;
+大所高所 < taishokousho\ ;
+重複保険 < juufukuhoken\ ;
+通常兵器 < tsuujouheiki\ ;
+外国部隊 < gaikokubutai\ ;
+文化交流 < bunkakouryuu\ ;
+七分袖 < shichibusode\ ;
+市外通話 < shigaitsuuwa\ ;
+毛細血管 < mousaikekkan\ ;
+動態統計 < doutaitoukei\ ;
+社内情報 < shanaijouhou\ ;
+中公文庫 < chuukoubunko\ ;
+圧電効果 < atsudenkouka\ ;
+魑魅魍魎 < chimimouryou\ ;
+循環系統 < junkankeitou\ ;
+私達 < watashitachi\ ;
+対人関係 < taijinkankei\ ;
+普通選挙 < futsuusenkyo\ ;
+心霊術 < shinreijutsu\ ;
+条件闘争 < joukentousou\ ;
+松竹梅 < shouchikubai\ ;
+千状万態 < senjoubantai\ ;
+核開発 < kakukaihatsu\ ;
+化成工業 < kaseikougyou\ ;
+経済原論 < keizaigenron\ ;
+権謀術数 < kenboujussuu\ ;
+不揮発性 < fukihatsusei\ ;
+高等学校 < koutougakkou\ ;
+連合王国 < rengououkoku\ ;
+国際色 < kokusaishoku\ ;
+郵便書簡 < yuubinshokan\ ;
+子供心 < kodomogokoro\ ;
+精神力 < seishinryoku\ ;
+深謀遠慮 < shinbouenryo\ ;
+住民運動 < juumin''undou\ ;
+法文学部 < houbungakubu\ ;
+普通郵便 < futsuuyuubin\ ;
+再突入 < saitotsunyuu\ ;
+君主政体 < kunshuseitai\ ;
+発信局 < hasshinkyoku\ ;
+大和心 < yamatogokoro\ ;
+捲土重来 < kendochourai\ ;
+女声合唱 < joseigasshou\ ;
+米西戦争 < beiseisensou\ ;
+高度成長 < koudoseichou\ ;
+調律師 < chouritsushi\ ;
+乾布摩擦 < kanpumasatsu\ ;
+中華思想 < chuukashisou\ ;
+辞職願 < jishokunegai\ ;
+贈与証書 < zouyoshousho\ ;
+債務不履行 < saimufurikou\ ;
+公衆衛生 < koushuueisei\ ;
+所所 < tokorodokoro\ ;
+社会科学 < shakaikagaku\ ;
+農芸化学 < nougeikagaku\ ;
+交通整理 < koutsuuseiri\ ;
+親密感 < shinmitsukan\ ;
+特殊部隊 < tokushubutai\ ;
+窓際族 < madogiwazoku\ ;
+事実無根 < jijitsumukon\ ;
+写真術 < shashinjutsu\ ;
+孔雀妙王 < kujakumyouou\ ;
+財産分与 < zaisanbun''yo\ ;
+邦字新聞 < houjishinbun\ ;
+機動計画 < kidoukeikaku\ ;
+輻射熱 < fukushanetsu\ ;
+孤立主義 < koritsushugi\ ;
+供述者 < kyoujutsusha\ ;
+明治天皇 < meijiten''nou\ ;
+焦点距離 < shoutenkyori\ ;
+集合時間 < shuugoujikan\ ;
+住宅地区 < juutakuchiku\ ;
+多角貿易 < takakuboueki\ ;
+非喫煙者 < hikitsuensha\ ;
+消化不良 < shoukafuryou\ ;
+神経節 < shinkeisetsu\ ;
+舞台照明 < butaishoumei\ ;
+不生産的 < fuseisanteki\ ;
+爆発性 < bakuhatsusei\ ;
+非生産的 < hiseisanteki\ ;
+募集人員 < boshuujin''in\ ;
+原稿用紙 < genkouyoushi\ ;
+無意識的 < muishikiteki\ ;
+総司令官 < soushireikan\ ;
+譲渡所得 < joutoshotoku\ ;
+学童保育 < gakudouhoiku\ ;
+最終兵器 < saishuuheiki\ ;
+滑走車輪 < kassousharin\ ;
+月刊雑誌 < gekkanzasshi\ ;
+傍若無人 < boujakubujin\ ;
+全日制 < zen''nichisei\ ;
+勤労奉仕 < kinrouhoushi\ ;
+性腺摘除 < seisentekijo\ ;
+消毒薬 < shoudokuyaku\ ;
+憲法改正 < kenpoukaisei\ ;
+行路病者 < kourobyousha\ ;
+一人芝居 < hitorishibai\ ;
+共同防衛 < kyoudoubouei\ ;
+闘志満満 < toushimanman\ ;
+市勢調査 < shiseichousa\ ;
+会厭軟骨 < een''nankotsu\ ;
+軍用地図 < gun''youchizu\ ;
+東奔西走 < touhonseisou\ ;
+道徳律 < doutokuritsu\ ;
+交代作業 < koutaisagyou\ ;
+国防色 < kokuboushoku\ ;
+日記文学 < nikkibungaku\ ;
+終末論 < shuumatsuron\ ;
+日系米人 < nikkeibeijin\ ;
+将軍職 < shougunshoku\ ;
+至公至平 < shikoushihei\ ;
+関連会社 < kanrengaisha\ ;
+人権宣言 < jinkensengen\ ;
+人造人間 < jinzouningen\ ;
+傾斜家賃 < keishayachin\ ;
+自民党則 < jimintousoku\ ;
+反復記号 < hanpukukigou\ ;
+日本航空 < nipponkoukuu\ ;
+英才教育 < eisaikyouiku\ ;
+草月流 < sougetsuryuu\ ;
+排水条件 < haisuijouken\ ;
+英国航空 < eikokukoukuu\ ;
+明赤色 < meisekishoku\ ;
+解決策 < kaiketsusaku\ ;
+口唇裂 < koushinretsu\ ;
+七草粥 < nanakusagayu\ ;
+前哨騎兵 < zenshoukihei\ ;
+水素爆弾 < suisobakudan\ ;
+潅漑用水 < kangaiyousui\ ;
+商業学 < shougyougaku\ ;
+建設省 < kensetsushou\ ;
+分別心 < funbetsushin\ ;
+建設的 < kensetsuteki\ ;
+金鋸 < kanenokogiri\ ;
+二翻役 < ryanfan''yaku\ ;
+一斉射撃 < isseishageki\ ;
+一酸化炭素 < issankatanso\ ;
+基軸通貨 < kijikutsuuka\ ;
+傾斜生産 < keishaseisan\ ;
+境界理論 < kyoukairiron\ ;
+天皇陛下 < ten''nouheika\ ;
+天然果汁 < ten''nenkajuu\ ;
+口拍子 < kuchibyoushi\ ;
+霊肉一致 < reinikuitchi\ ;
+付加価値税 < fukakachizei\ ;
+経済復興 < keizaifukkou\ ;
+人口統計 < jinkoutoukei\ ;
+戦時産業 < senjisangyou\ ;
+古銭学者 < kosengakusha\ ;
+対弾道弾 < taidandoudan\ ;
+認証式 < ninshoushiki\ ;
+製造番号 < seizoubangou\ ;
+総括的 < soukatsuteki\ ;
+多重人格 < tajuujinkaku\ ;
+一刀両断 < ittouryoudan\ ;
+托鉢僧 < takuhatsuzou\ ;
+共産主義 < kyousanshugi\ ;
+記名投票 < kimeitouhyou\ ;
+商業国 < shougyoukoku\ ;
+仲人口 < nakoudoguchi\ ;
+桜前線 < sakurazensen\ ;
+休憩時間 < kyuukeijikan\ ;
+丸太足場 < marutaashiba\ ;
+桃色遊戯 < momoiroyuugi\ ;
+武士階級 < bushikaikyuu\ ;
+常置委員会 < jouchiiinkai\ ;
+国際電話 < kokusaidenwa\ ;
+人工地震 < jinkoujishin\ ;
+潜在主権 < senzaishuken\ ;
+過小評価 < kashouhyouka\ ;
+範疇部門 < hanchuubumon\ ;
+修道制度 < shuudouseido\ ;
+統語範疇 < tougohanchuu\ ;
+衛生設備 < eiseisetsubi\ ;
+一次産品 < ichijisanpin\ ;
+強制力 < kyouseiryoku\ ;
+公明正大 < koumeiseidai\ ;
+必読書 < hitsudokusho\ ;
+花火線香 < hanabisenkou\ ;
+圧力計 < atsuryokukei\ ;
+舶用機関 < hakuyoukikan\ ;
+随筆集 < zuihitsushuu\ ;
+公民権法 < kouminkenhou\ ;
+猫目石 < nekomokuseki\ ;
+勉強机 < benkyouzukue\ ;
+昏睡状態 < konsuijoutai\ ;
+対向車線 < taikoushasen\ ;
+鉄拳制裁 < tekkenseisai\ ;
+桂冠詩人 < keikanshijin\ ;
+人口調査 < jinkouchousa\ ;
+司法解剖 < shihoukaibou\ ;
+人口静態 < jinkouseitai\ ;
+有体動産 < yuutaidousan\ ;
+採用試験 < saiyoushiken\ ;
+白玉楼 < hakugyokurou\ ;
+気象情報 < kishoujouhou\ ;
+有線放送 < yuusenhousou\ ;
+開通式 < kaitsuushiki\ ;
+戯事 < tawamuregoto\ ;
+喀痰検査 < kakutankensa\ ;
+郷土料理 < kyoudoryouri\ ;
+三段論法 < sandanronpou\ ;
+西半球 < nishihankyuu\ ;
+時代精神 < jidaiseishin\ ;
+誇大広告 < kodaikoukoku\ ;
+都市計画 < toshikeikaku\ ;
+関東一円 < kantouichien\ ;
+自然発生 < shizenhassei\ ;
+啄木鳥 < takubokuchou\ ;
+単一形 < tan''ichigata\ ;
+欽定憲法 < kinteikenpou\ ;
+必然的 < hitsuzenteki\ ;
+数値制御 < suuchiseigyo\ ;
+武者人形 < mushaningyou\ ;
+分周回路 < bunshuukairo\ ;
+市民大会 < shimintaikai\ ;
+赤字国債 < akajikokusai\ ;
+使用方法 < shiyouhouhou\ ;
+水蟷螂 < mizukamakiri\ ;
+小春日和 < koharubiyori\ ;
+星月夜 < hoshidzukuyo\ ;
+縞織物 < shimaorimono\ ;
+公式試合 < koushikijiai\ ;
+照射処理 < shoushashori\ ;
+建設業 < kensetsugyou\ ;
+参勤交替 < sankinkoutai\ ;
+羊頭狗肉 < youtoukuniku\ ;
+斡旋業者 < assengyousha\ ;
+会社概要 < kaishagaiyou\ ;
+商人街 < shouninmachi\ ;
+一幕物 < hitomakumono\ ;
+民主政体 < minshuseitai\ ;
+粗放農業 < sohounougyou\ ;
+財務諸表 < zaimushohyou\ ;
+蚊取線香 < katorisenkou\ ;
+広報情報 < kouhoujouhou\ ;
+緊急事態 < kinkyuujitai\ ;
+均衡価格 < kinkoukakaku\ ;
+公安委員会 < kouan''iinkai\ ;
+季節変異 < kisetsuhen''i\ ;
+有感地震 < yuukanjishin\ ;
+緩和振動 < kanwashindou\ ;
+幽霊人口 < yuureijinkou\ ;
+統語指標 < tougoshihyou\ ;
+最高価格 < saikoukakaku\ ;
+百人力 < hyakuninriki\ ;
+酸性白土 < sanseihakudo\ ;
+民族衣装 < minzokuishou\ ;
+供述書 < kyoujutsusho\ ;
+非営利事業 < hieirijigyou\ ;
+実業界 < jitsugyoukai\ ;
+修士課程 < shuushikatei\ ;
+行平鍋 < yukihiranabe\ ;
+公益法人 < kouekihoujin\ ;
+歴史主義 < rekishishugi\ ;
+弁慶格子 < benkeigoushi\ ;
+第二人称 < dainininshou\ ;
+下流社会 < karyuushakai\ ;
+快楽主義 < kairakushugi\ ;
+落成式 < rakuseishiki\ ;
+柳川鍋 < yanagawanabe\ ;
+航続力 < kouzokuryoku\ ;
+制限速度 < seigensokudo\ ;
+文武両道 < bunburyoudou\ ;
+上昇限度 < joushougendo\ ;
+作用積分 < sayousekibun\ ;
+直接費 < chokusetsuhi\ ;
+腹筋運動 < fukkin''undou\ ;
+公認記録 < kouninkiroku\ ;
+山梨県 < yamanashiken\ ;
+一網打尽 < ichimoudajin\ ;
+棗椰子 < natsumeyashi\ ;
+学校用品 < gakkouyouhin\ ;
+住宅手当 < juutakuteate\ ;
+認知科学 < ninchikagaku\ ;
+商売道具 < shoubaidougu\ ;
+刺激物 < shigekibutsu\ ;
+原子戦争 < genshisensou\ ;
+漫遊客 < man''yuukyaku\ ;
+二重焦点 < nijuushouten\ ;
+瓦煎餅 < kawarasenbei\ ;
+図書館長 < toshokanchou\ ;
+在庫調整 < zaikochousei\ ;
+対数関数 < taisuukansuu\ ;
+親子丼 < oyakodonburi\ ;
+政教一致 < seikyouitchi\ ;
+文芸批評 < bungeihihyou\ ;
+線形代数 < senkeidaisuu\ ;
+連合政権 < rengouseiken\ ;
+頼母子講 < tanomoshikou\ ;
+在韓米軍 < zaikanbeigun\ ;
+著述業 < chojutsugyou\ ;
+一夜乞食 < ichiyakojiki\ ;
+異常終了 < ijoushuuryou\ ;
+品形 < shinakatachi\ ;
+試験地獄 < shikenjigoku\ ;
+社員教育 < shainkyouiku\ ;
+蒼白色 < souhakushoku\ ;
+企業年金 < kigyounenkin\ ;
+乞食根性 < kojikikonjou\ ;
+企業合同 < kigyougoudou\ ;
+自主指針 < jishushishin\ ;
+感慨無量 < kangaimuryou\ ;
+七辺形 < shichihenkei\ ;
+敵性国家 < tekiseikokka\ ;
+等差級数 < tousakyuusuu\ ;
+年末迄 < nenmatsumade\ ;
+師範学校 < shihangakkou\ ;
+経済社会 < keizaishakai\ ;
+改良主義 < kairyoushugi\ ;
+経済制裁 < keizaiseisai\ ;
+主戦投手 < shusentoushu\ ;
+売春宿 < baishun''yado\ ;
+遊撃隊員 < yuugekitaiin\ ;
+一時帰休 < ichijikikyuu\ ;
+質点系 < shitsutenkei\ ;
+受益証券 < juekishouken\ ;
+御伽話 < otogibanashi\ ;
+拙速主義 < sessokushugi\ ;
+未開拓地 < mikaitakuchi\ ;
+全権公使 < zenkenkoushi\ ;
+統制経済 < touseikeizai\ ;
+田園風景 < den''enfuukei\ ;
+旅行日程 < ryokounittei\ ;
+操業率 < sougyouritsu\ ;
+無量大数 < muryoudaisuu\ ;
+割引歩合 < waribikibuai\ ;
+反核運動 < hankakuundou\ ;
+枕屏風 < makurabyoubu\ ;
+血液学 < ketsuekigaku\ ;
+香港返還 < honkonhenkan\ ;
+企業合併 < kigyougappei\ ;
+非行少年 < hikoushounen\ ;
+基督教 < kirisutokyou\ ;
+野外撮影 < yagaisatsuei\ ;
+鼠花火 < nezumihanabi\ ;
+千手観音 < senjukan''non\ ;
+精神主義 < seishinshugi\ ;
+終始一貫 < shuushiikkan\ ;
+捕物帳 < torimonochou\ ;
+県民会館 < kenminkaikan\ ;
+教条主義 < kyoujoushugi\ ;
+更生会社 < kouseigaisha\ ;
+繊維工業 < sen''ikougyou\ ;
+人間同士 < ningendoushi\ ;
+貯蔵室 < chozoushitsu\ ;
+勘合貿易 < kangouboueki\ ;
+百家争鳴 < hyakkasoumei\ ;
+世界政策 < sekaiseisaku\ ;
+弔問客 < choumonkyaku\ ;
+家屋台帳 < kaokudaichou\ ;
+東海道線 < toukaidousen\ ;
+遺失物 < ishitsubutsu\ ;
+動脈血 < doumyakketsu\ ;
+過当競争 < katoukyousou\ ;
+液体窒素 < ekitaichisso\ ;
+平和協定 < heiwakyoutei\ ;
+無線電信 < musendenshin\ ;
+入場式 < nyuujoushiki\ ;
+細胞質 < saiboushitsu\ ;
+専門用語 < senmon''yougo\ ;
+人造肥料 < jinzouhiryou\ ;
+大砲三門 < taihousanmon\ ;
+実験装置 < jikkensouchi\ ;
+血液型 < ketsuekigata\ ;
+中央労働 < chuuouroudou\ ;
+内線番号 < naisenbangou\ ;
+伝記作者 < denkisakusha\ ;
+人民公社 < jinminkousha\ ;
+連絡切符 < renrakukippu\ ;
+標識灯 < hyoushikitou\ ;
+経営合理化 < keieigourika\ ;
+共同墓地 < kyoudoubochi\ ;
+実態調査 < jittaichousa\ ;
+総務長官 < soumuchoukan\ ;
+混乱状態 < konranjoutai\ ;
+勢車 < hazumiguruma\ ;
+哀哉 < kanashiikana\ ;
+包括的 < houkatsuteki\ ;
+劇中劇 < gekichuugeki\ ;
+家族意識 < kazokuishiki\ ;
+外柔内剛 < gaijuunaigou\ ;
+訪問販売 < houmonhanbai\ ;
+実用的 < jitsuyouteki\ ;
+侍八騎 < samuraihakki\ ;
+中間色 < chuukanshoku\ ;
+排斥運動 < haisekiundou\ ;
+開腹術 < kaifukujutsu\ ;
+原子弾頭 < genshidantou\ ;
+直撃弾 < chokugekidan\ ;
+営業案内 < eigyouan''nai\ ;
+天文航法 < tenmonkouhou\ ;
+非実際的 < hijissaiteki\ ;
+裏書譲渡 < uragakijouto\ ;
+副産物 < fukusanbutsu\ ;
+命中率 < meichuuritsu\ ;
+血友病 < ketsuyuubyou\ ;
+関係書類 < kankeishorui\ ;
+免許皆伝 < menkyokaiden\ ;
+回転競技 < kaitenkyougi\ ;
+経済水域 < keizaisuiiki\ ;
+無欲恬淡 < muyokutentan\ ;
+自我実現 < jigajitsugen\ ;
+執行猶予 < shikkouyuuyo\ ;
+融通手形 < yuuzuutegata\ ;
+厚生年金 < kouseinenkin\ ;
+院内感染 < in''naikansen\ ;
+悪性水腫 < akuseisuishu\ ;
+団十郎丈 < danjuuroujou\ ;
+精白率 < seihakuritsu\ ;
+以心伝心 < ishindenshin\ ;
+一字千金 < ichijisenkin\ ;
+業績悪化 < gyousekiakka\ ;
+兵器拡散 < heikikakusan\ ;
+交友関係 < kouyuukankei\ ;
+国際政治 < kokusaiseiji\ ;
+均質性 < kinshitsusei\ ;
+書面審理 < shomenshinri\ ;
+人間社会 < ningenshakai\ ;
+軍国主義 < gunkokushugi\ ;
+水上競技 < suijoukyougi\ ;
+河原乞食 < kawarakojiki\ ;
+戸籍係 < kosekigakari\ ;
+二重撮影 < nijuusatsuei\ ;
+絶対評価 < zettaihyouka\ ;
+在米邦人 < zaibeihoujin\ ;
+四月馬鹿 < shigatsubaka\ ;
+新進気鋭 < shinshinkiei\ ;
+所得控除 < shotokukoujo\ ;
+関係会社 < kankeigaisha\ ;
+自信満満 < jishinmanman\ ;
+日本学者 < nihongakusha\ ;
+接客業 < sekkyakugyou\ ;
+春日大社 < kasugataisha\ ;
+水盃 < mizusakazuki\ ;
+文明社会 < bunmeishakai\ ;
+蓄膿症 < chikunoushou\ ;
+同人雑誌 < doujinzasshi\ ;
+花形株 < hanagatakabu\ ;
+司法裁判 < shihousaiban\ ;
+人体実験 < jintaijikken\ ;
+亡命政権 < boumeiseiken\ ;
+振出人 < furidashinin\ ;
+仲間同士 < nakamadoushi\ ;
+経営工学 < keieikougaku\ ;
+弁護依頼人 < bengoirainin\ ;
+賛否両論 < sanpiryouron\ ;
+不法集会 < fuhoushuukai\ ;
+眼高手低 < gankoushutei\ ;
+禁欲的 < kin''yokuteki\ ;
+自動小銃 < jidoushoujuu\ ;
+地域社会 < chiikishakai\ ;
+交流人事 < kouryuujinji\ ;
+特殊効果 < tokushukouka\ ;
+一分別 < hitofunbetsu\ ;
+自家中毒 < jikachuudoku\ ;
+人気番組 < ninkibangumi\ ;
+敵本主義 < tekihonshugi\ ;
+口内性交 < kounaiseikou\ ;
+脳軟化症 < nounankashou\ ;
+半独立 < handokuritsu\ ;
+現地法人 < genchihoujin\ ;
+自動車泥 < jidoushadoro\ ;
+一時停止 < ichijiteishi\ ;
+学園紛争 < gakuenfunsou\ ;
+最高学府 < saikougakufu\ ;
+保険契約 < hokenkeiyaku\ ;
+女性差別 < joseisabetsu\ ;
+児童福祉 < jidoufukushi\ ;
+執務中 < shitsumuchuu\ ;
+試験問題 < shikenmondai\ ;
+漸進主義 < zenshinshugi\ ;
+音信不通 < onshinfutsuu\ ;
+勇往邁進 < yuuoumaishin\ ;
+静止状態 < seishijoutai\ ;
+北支事変 < hokushijihen\ ;
+寸借詐欺 < sunshakusagi\ ;
+指名通話 < shimeitsuuwa\ ;
+苦心惨憺 < kushinsantan\ ;
+牽強付会 < kenkyoufukai\ ;
+寒冷前線 < kanreizensen\ ;
+利他主義者 < ritashugisha\ ;
+親日派 < shin''nichiha\ ;
+速度制限 < sokudoseigen\ ;
+四部合唱 < shibugasshou\ ;
+電電公社 < dendenkousha\ ;
+福島県 < fukushimaken\ ;
+調色板 < choushokuban\ ;
+優勝候補 < yuushoukouho\ ;
+友好関係 < yuukoukankei\ ;
+救援物資 < kyuuenbusshi\ ;
+剪定鋏 < senteibasami\ ;
+緑黄色 < ryokuoushoku\ ;
+包紙 < tsutsumigami\ ;
+下屋敷 < shimoyashiki\ ;
+神社仏閣 < jinjabukkaku\ ;
+車用品 < kurumayouhin\ ;
+耐久力 < taikyuuryoku\ ;
+水平思考 < suiheishikou\ ;
+音感教育 < onkankyouiku\ ;
+寝台虫 < shindaimushi\ ;
+嗜虐的 < shigyakuteki\ ;
+滞納処分 < tainoushobun\ ;
+中継局 < chuukeikyoku\ ;
+共同経営 < kyoudoukeiei\ ;
+長広舌 < choukouzetsu\ ;
+二六時中 < nirokujichuu\ ;
+一時賜金 < ichijishikin\ ;
+自然崇拝 < shizensuuhai\ ;
+審議未了 < shingimiryou\ ;
+養子縁組 < youshiengumi\ ;
+日没後 < nichibotsugo\ ;
+氏族制度 < shizokuseido\ ;
+動脈瘤 < doumyakuryuu\ ;
+一輪挿 < ichirinzashi\ ;
+軍陣医学 < gunjin''igaku\ ;
+蒸発皿 < jouhatsuzara\ ;
+正四面体 < seishimentai\ ;
+定格請負 < teikakuukeoi\ ;
+賃借権 < chinshakuken\ ;
+卸問屋 < oroshidon''ya\ ;
+防湿剤 < boushitsuzai\ ;
+収穫高 < shuukakudaka\ ;
+再出発 < saishuppatsu\ ;
+待遇改善 < taiguukaizen\ ;
+繊維光学 < sen''ikougaku\ ;
+黒人霊歌 < kokujinreika\ ;
+周極星 < shuukyokusei\ ;
+零行列 < reigyouretsu\ ;
+特殊機能 < tokushukinou\ ;
+経路積分 < keirosekibun\ ;
+国営農場 < kokueinoujou\ ;
+国粋主義 < kokusuishugi\ ;
+出発点 < shuppatsuten\ ;
+甲状腺炎 < koujousen''en\ ;
+合格率 < goukakuritsu\ ;
+資産合計 < shisangoukei\ ;
+鯨飲馬食 < geiinbashoku\ ;
+心臓発作 < shinzouhossa\ ;
+新人歌手 < shinjinkashu\ ;
+輸入手形 < yunyuutegata\ ;
+圧着端子 < atsugitanshi\ ;
+未改心者 < mikaishinsha\ ;
+無効投票 < mukoutouhyou\ ;
+行進曲 < koushinkyoku\ ;
+難攻不落 < nankoufuraku\ ;
+一心同体 < isshindoutai\ ;
+宥和政策 < yuuwaseisaku\ ;
+限界効用 < genkaikouyou\ ;
+十万億土 < juuman''okudo\ ;
+変態心理 < hentaishinri\ ;
+白熱灯 < hakunetsutou\ ;
+拍子記号 < hyoushikigou\ ;
+公会問答 < koukaimondou\ ;
+考古学者 < koukogakusha\ ;
+食料品 < shokuryouhin\ ;
+野球選手 < yakyuusenshu\ ;
+操車係 < soushagakari\ ;
+夢遊病者 < muyuubyousha\ ;
+要所要所 < youshoyousho\ ;
+湿電池 < shitsudenchi\ ;
+観掌術 < kanshoujutsu\ ;
+使徒継承 < shitokeishou\ ;
+励磁電流 < reijidenryuu\ ;
+志 < kokorozashi\ ;
+政 < matsurigoto\ ;
+社会制度 < shakaiseido\ ;
+代理領事 < dairiryouji\ ;
+点数切符 < tensuukippu\ ;
+化成肥料 < kaseihiryou\ ;
+未成年者 < miseinensha\ ;
+真骨頂 < shinkotchou\ ;
+必要品 < hitsuyouhin\ ;
+画世的 < kakuseiteki\ ;
+一天万乗 < ittenbanjou\ ;
+熨斗袋 < noshibukuro\ ;
+測地学 < sokuchigaku\ ;
+親子関係 < oyakokankei\ ;
+雁木鑢 < gangiyasuri\ ;
+再割引 < saiwaribiki\ ;
+恐怖政治 < kyoufuseiji\ ;
+奉献式 < houkenshiki\ ;
+虚数単位 < kyosuutan''i\ ;
+選挙制度 < senkyoseido\ ;
+初誕生 < hatsutanjou\ ;
+三本足 < sanbon''ashi\ ;
+判断力 < handanryoku\ ;
+大願成就 < daiganjouju\ ;
+協調性 < kyouchousei\ ;
+円卓会議 < entakukaigi\ ;
+天道乾 < tentouboshi\ ;
+大宮御所 < oomiyagosho\ ;
+白日夢 < hakujitsumu\ ;
+分析表 < bunsekihyou\ ;
+上下関係 < jougekankei\ ;
+承諾書 < shoudakusho\ ;
+少食家 < shoushokuka\ ;
+仮執行 < karishikkou\ ;
+握力計 < akuryokukei\ ;
+公営企業 < koueikigyou\ ;
+重液分離 < juuekibunri\ ;
+不足勝 < fusokugachi\ ;
+実践理性 < jissenrisei\ ;
+帯鋸 < obinokogiri\ ;
+後進国 < koushinkoku\ ;
+行住坐臥 < gyoujuuzaga\ ;
+言行一致 < genkouitchi\ ;
+洗眼薬 < sengan''yaku\ ;
+復習文 < fukushuubun\ ;
+広大無辺 < koudaimuhen\ ;
+優先事項 < yuusenjikou\ ;
+携帯電話 < keitaidenwa\ ;
+止血帯 < shiketsutai\ ;
+下宿料 < geshukuryou\ ;
+時代錯誤 < jidaisakugo\ ;
+人工衛星 < jinkoueisei\ ;
+重量級 < juuryoukyuu\ ;
+線形順序 < senkeijunjo\ ;
+召使 < meshitsukai\ ;
+前進軸 < zenshinjiku\ ;
+鉄石心 < tessekishin\ ;
+甘茶蔓 < amachadzuru\ ;
+外交官補 < gaikoukanho\ ;
+署名式 < shomeishiki\ ;
+人心地 < hitogokochi\ ;
+囚人服 < shuujinfuku\ ;
+律儀者 < richigimono\ ;
+力石 < chikaraishi\ ;
+住居手当 < juukyoteate\ ;
+雁木車 < gangiguruma\ ;
+道路標示 < dourohyouji\ ;
+白鼠 < shironezumi\ ;
+予備将校 < yobishoukou\ ;
+憂欝症 < yuuutsushou\ ;
+民間飛行 < minkanhikou\ ;
+実験式 < jikkenshiki\ ;
+永子作権 < eikosakuken\ ;
+社会運動 < shakaiundou\ ;
+移行計画 < ikoukeikaku\ ;
+狂信者 < kyoushinsha\ ;
+接近経路 < sekkinkeiro\ ;
+世界経済 < sekaikeizai\ ;
+浮世草子 < ukiyozoushi\ ;
+民族的 < minzokuteki\ ;
+定数是正 < teisuuzesei\ ;
+発言者 < hatsugensha\ ;
+力瘤 < chikarakobu\ ;
+単縦列 < tanjuuretsu\ ;
+安保条約 < anpojouyaku\ ;
+販売値段 < hanbainedan\ ;
+基底構造 < kiteikouzou\ ;
+必須条件 < hissujouken\ ;
+三人組 < san''ningumi\ ;
+黒斑病 < kokuhanbyou\ ;
+区裁判所 < kusaibansho\ ;
+予行演習 < yokouenshuu\ ;
+選挙運動 < senkyoundou\ ;
+国際規模 < kokusaikibo\ ;
+悪悪戯 < waruitazura\ ;
+運転免許 < untenmenkyo\ ;
+線形論理 < senkeironri\ ;
+実用品 < jitsuyouhin\ ;
+大腿骨 < daitaikotsu\ ;
+年賀郵便 < nengayuubin\ ;
+温風暖房 < onpuudanbou\ ;
+内部構造 < naibukouzou\ ;
+水蜜桃 < suimitsutou\ ;
+不定型詩 < futeikeishi\ ;
+漂流船 < hyouryuusen\ ;
+黄金崇拝 < ougonsuuhai\ ;
+世話女房 < sewanyoubou\ ;
+犬儒学派 < kenjugakuha\ ;
+頸動脈 < keidoumyaku\ ;
+一品料理 < ippinryouri\ ;
+亜硫酸塩 < aryuusan''en\ ;
+生兵法 < namabyouhou\ ;
+烏羽色 < karasubairo\ ;
+弟弟子 < otoutodeshi\ ;
+劇文学 < gekibungaku\ ;
+加薬飯 < kayakumeshi\ ;
+北半球 < kitahankyuu\ ;
+集中線 < shuuchuusen\ ;
+有声子音 < yuuseishiin\ ;
+得業士 < tokugyoushi\ ;
+皆兵制度 < kaiheiseido\ ;
+前進角 < zenshinkaku\ ;
+未経験者 < mikeikensha\ ;
+養殖池 < youshokuchi\ ;
+嗜虐性 < shigyakusei\ ;
+尊皇王攘夷 < son''noujoui\ ;
+上意下達 < jouikatatsu\ ;
+車間距離 < shakankyori\ ;
+氷河時代 < hyougajidai\ ;
+三人称 < san''ninshou\ ;
+情報理論 < jouhouriron\ ;
+御多忙中 < gotabouchuu\ ;
+中級品 < chuukyuuhin\ ;
+漂流者 < hyouryuusha\ ;
+愛染明王 < aizenmyouou\ ;
+誘惑物 < yuuwakumono\ ;
+頭蓋骨 < tougaikotsu\ ;
+発明品 < hatsumeihin\ ;
+平面交差 < heimenkousa\ ;
+失格者 < shikkakusha\ ;
+成績表 < seisekihyou\ ;
+経験主義 < keikenshugi\ ;
+弁護士会 < bengoshikai\ ;
+注文先 < chuumonsaki\ ;
+純情可憐 < junjoukaren\ ;
+載貨吃水 < saikakissui\ ;
+既決囚 < kiketsushuu\ ;
+半濁音符 < handakuonfu\ ;
+閨秀画家 < keishuugaka\ ;
+摂動論 < setsudouron\ ;
+伏流水 < fukuryuusui\ ;
+独裁的 < dokusaiteki\ ;
+高調子 < takachoushi\ ;
+立脚地 < rikkyakuchi\ ;
+三半規管 < sanhankikan\ ;
+封建時代 < houkenjidai\ ;
+越冬資金 < ettoushikin\ ;
+再構築 < saikouchiku\ ;
+所帯道具 < shotaidougu\ ;
+傲岸無礼 < gouganburei\ ;
+社会保険 < shakaihoken\ ;
+櫓太鼓 < yaguradaiko\ ;
+止血剤 < shiketsuzai\ ;
+較優位論 < kakuyuuiron\ ;
+世論調査 < yoronchousa\ ;
+冬期休暇 < toukikyuuka\ ;
+両方共 < ryouhoutomo\ ;
+上部構造 < joubukouzou\ ;
+松葉杖 < matsubadzue\ ;
+象形文字 < shoukeimoji\ ;
+力水 < chikaramizu\ ;
+沖積統 < chuusekitou\ ;
+仕事箱 < shigotobako\ ;
+氷醋酸 < hyousakusan\ ;
+農本主義 < nouhonshugi\ ;
+書籍商 < shosekishou\ ;
+一切衆生 < issaishujou\ ;
+旧態依然 < kyuutaiizen\ ;
+整理番号 < seiribangou\ ;
+仮綴本 < karitojihon\ ;
+発電所 < hatsudensho\ ;
+当座資産 < touzashisan\ ;
+官能的 < kan''nouteki\ ;
+残品整理 < zanpinseiri\ ;
+末梢的 < masshouteki\ ;
+中間国 < chuukankoku\ ;
+宇宙速度 < uchuusokudo\ ;
+思索的 < shisakuteki\ ;
+南口 < minamiguchi\ ;
+加水分解 < kasuibunkai\ ;
+出身校 < shusshinkou\ ;
+灰青色 < haiseishoku\ ;
+航海術 < koukaijutsu\ ;
+小東京 < shoutoukyou\ ;
+宣伝価値 < sendenkachi\ ;
+年季奉公 < nenkiboukou\ ;
+千人力 < sen''ninriki\ ;
+人工芝 < jinkoushiba\ ;
+軽量級 < keiryoukyuu\ ;
+力業 < chikarawaza\ ;
+貨幣経済 < kaheikeizai\ ;
+無期懲役 < mukichoueki\ ;
+拘束圧 < kousokuatsu\ ;
+戦闘力 < sentouryoku\ ;
+市場区分 < shijoukubun\ ;
+球面鏡 < kyuumenkyou\ ;
+初期設定 < shokisettei\ ;
+人造繊維 < jinzousen''i\ ;
+普通預金 < futsuuyokin\ ;
+低利資金 < teirishikin\ ;
+人形劇 < ningyougeki\ ;
+無骨者 < bukotsumono\ ;
+真珠細工 < shinjuzaiku\ ;
+主知主義 < shuchishugi\ ;
+逆睫 < sakamatsuge\ ;
+町奉行 < machibugyou\ ;
+空証文 < karashoumon\ ;
+二項係数 < nikoukeisuu\ ;
+素性構造 < soseikouzou\ ;
+愛国主義 < aikokushugi\ ;
+戦闘支援 < sentoushien\ ;
+人名辞書 < jinmeijisho\ ;
+前輪駆動 < zenrinkudou\ ;
+価格操作 < kakakusousa\ ;
+放物線 < houbutsusen\ ;
+形而下学 < keijikagaku\ ;
+一期一会 < ichigoichie\ ;
+調子者 < choushimono\ ;
+現実感 < genjitsukan\ ;
+鰹節 < katsuobushi\ ;
+積分学 < sekibungaku\ ;
+土木工事 < dobokukouji\ ;
+女子高生 < joshikousei\ ;
+現実性 < genjitsusei\ ;
+高電圧 < kouden''atsu\ ;
+学問的 < gakumonteki\ ;
+王道楽土 < oudourakudo\ ;
+悪戦苦闘 < akusenkutou\ ;
+神経外科 < shinkeigeka\ ;
+学究的 < gakkyuuteki\ ;
+非開示合意 < hikaijigoui\ ;
+収穫祭 < shuukakusai\ ;
+物理学 < butsurigaku\ ;
+不眠不休 < fuminfukyuu\ ;
+垂直線 < suichokusen\ ;
+名誉教授 < meiyokyouju\ ;
+図書館員 < toshokan''in\ ;
+歴史学 < rekishigaku\ ;
+潤滑剤 < junkatsuzai\ ;
+組織学 < soshikigaku\ ;
+高歌放吟 < koukahougin\ ;
+発電子 < hatsudenshi\ ;
+三尊仏 < sanzonbutsu\ ;
+引取人 < hikitorinin\ ;
+構成単位 < kouseitan''i\ ;
+外人記者 < gaijinkisha\ ;
+漂泊者 < hyouhakusha\ ;
+例外処理 < reigaishori\ ;
+夫婦茶碗 < meotodjawan\ ;
+真田虫 < sanadamushi\ ;
+闇商人 < yamishounin\ ;
+入漁料 < nyuugyoryou\ ;
+全面講和 < zenmenkouwa\ ;
+七宝焼 < shippouyaki\ ;
+鋼鉄板 < koutetsuban\ ;
+優良株 < yuuryoukabu\ ;
+本格的 < honkakuteki\ ;
+復讐戦 < fukushuusen\ ;
+暴力団 < bouryokudan\ ;
+初診料 < shoshinryou\ ;
+義務教育 < gimukyouiku\ ;
+口達者 < kuchidassha\ ;
+耐熱性 < tainetsusei\ ;
+増血剤 < zouketsuzai\ ;
+悲観論者 < hikanronsha\ ;
+個人情報 < kojinjouhou\ ;
+北北東 < hokuhokutou\ ;
+発言権 < hatsugenken\ ;
+町段畝歩 < choutansebu\ ;
+急成長 < kyuuseichou\ ;
+代理大使 < dairitaishi\ ;
+構造主義 < kouzoushugi\ ;
+出資額 < shusshigaku\ ;
+内分泌 < naibunpitsu\ ;
+兜虫 < kabutomushi\ ;
+内線電話 < naisendenwa\ ;
+公示価格 < koujikakaku\ ;
+液体酸素 < ekitaisanso\ ;
+四旬節 < shijunsetsu\ ;
+沃度丁幾 < youdochinki\ ;
+九官鳥 < kyuukanchou\ ;
+刑事訴訟 < keijisoshou\ ;
+老人力 < roujinryoku\ ;
+稼働人口 < kadoujinkou\ ;
+軽機関銃 < keikikanjuu\ ;
+機密保護 < kimitsuhogo\ ;
+建築士 < kenchikushi\ ;
+太極拳 < taikyokuken\ ;
+生番組 < namabangumi\ ;
+養殖場 < youshokujou\ ;
+予備交渉 < yobikoushou\ ;
+虚脱感 < kyodatsukan\ ;
+象牙質 < zougeshitsu\ ;
+隆鼻術 < ryuubijutsu\ ;
+表面積 < hyoumenseki\ ;
+透視図法 < toushizuhou\ ;
+練習試合 < renshuujiai\ ;
+努力賞 < doryokushou\ ;
+十人並 < juunin''nami\ ;
+薬鑵頭 < yakan''atama\ ;
+可視光線 < kashikousen\ ;
+筆記試験 < hikkishiken\ ;
+公定相場 < kouteisouba\ ;
+価格規制 < kakakukisei\ ;
+加重平均 < kajuuheikin\ ;
+武装警官 < busoukeikan\ ;
+商売筋 < shoubaisuji\ ;
+水子供養 < mizugokuyou\ ;
+港湾局 < kouwankyoku\ ;
+千変万化 < senpenbanka\ ;
+水商売 < mizushoubai\ ;
+鉄道便 < tetsudoubin\ ;
+査定価格 < sateikakaku\ ;
+民族学 < minzokugaku\ ;
+歴史劇 < rekishigeki\ ;
+溝形鋼 < mizogatakou\ ;
+明晰夢 < meisekiyume\ ;
+形体 < narikatachi\ ;
+下層社会 < kasoushakai\ ;
+断続的 < danzokuteki\ ;
+式部省 < shikibushou\ ;
+極道者 < gokudoumono\ ;
+開校式 < kaikoushiki\ ;
+民約論 < min''yakuron\ ;
+防御率 < bougyoritsu\ ;
+表面的 < hyoumenteki\ ;
+計時係 < keijigakari\ ;
+後発品 < kouhatsuhin\ ;
+自然主義 < shizenshugi\ ;
+薩摩焼 < satsumayaki\ ;
+床柱 < tokobashira\ ;
+興味本位 < kyoumihon''i\ ;
+出身地 < shusshinchi\ ;
+無体資産 < mutaishisan\ ;
+護身術 < goshinjutsu\ ;
+経済封鎖 < keizaifuusa\ ;
+競争相手 < kyousouaite\ ;
+出没 < shutsubotsu\ ;
+与太話 < yotabanashi\ ;
+左端 < hidarihashi\ ;
+再入学 < sainyuugaku\ ;
+五輪大会 < gorintaikai\ ;
+協約書 < kyouyakusho\ ;
+日本三景 < nihonsankei\ ;
+三羽烏 < sanbagarasu\ ;
+訪問客 < houmonkyaku\ ;
+油性塗料 < yuseitoryou\ ;
+治験薬 < chiken''yaku\ ;
+性善説 < seizensetsu\ ;
+仕事柄 < shigotogara\ ;
+大根足 < daikon''ashi\ ;
+改訂増補 < kaiteizouho\ ;
+一般概念 < ippangainen\ ;
+光瀬龍 < mitsuseryuu\ ;
+狼藉者 < rouzekimono\ ;
+心拍数 < shinpakusuu\ ;
+小一時間 < koichijikan\ ;
+三脚椅子 < sankyakuisu\ ;
+動物誌 < doubutsushi\ ;
+返却値 < henkyakuchi\ ;
+皮膚感覚 < hifukankaku\ ;
+無駄話 < mudabanashi\ ;
+分子式 < bunshishiki\ ;
+降車口 < koushaguchi\ ;
+検出器 < kenshutsuki\ ;
+権利行使 < kenrikoushi\ ;
+落葉松 < rakuyoushou\ ;
+極前線 < kyokuzensen\ ;
+超越点 < chouetsuten\ ;
+黒猩々 < kuroshoujou\ ;
+漢字変換 < kanjihenkan\ ;
+国慶節 < kokkeisetsu\ ;
+無体財産 < mutaizaisan\ ;
+巴瓦 < tomoegawara\ ;
+天産物 < tensanbutsu\ ;
+紳士録 < shinshiroku\ ;
+再入国 < sainyuukoku\ ;
+全体会議 < zentaikaigi\ ;
+二重抵当 < nijuuteitou\ ;
+切日 < shimekiribi\ ;
+機械文明 < kikaibunmei\ ;
+簡潔性 < kanketsusei\ ;
+天津乙女 < amatsuotome\ ;
+切断面 < setsudanmen\ ;
+引込線 < hikikomisen\ ;
+利害関係 < rigaikankei\ ;
+多角経営 < takakukeiei\ ;
+夫婦別姓 < fuufubessei\ ;
+粗忽者 < sokotsumono\ ;
+開会式 < kaikaishiki\ ;
+日本語訳 < nihongoyaku\ ;
+交換機能 < koukankinou\ ;
+産卵場所 < sanranbasho\ ;
+感傷的 < kanshouteki\ ;
+市有物 < shiyuubutsu\ ;
+走行距離 < soukoukyori\ ;
+無尽組合 < mujinkumiai\ ;
+再生利用 < saiseiriyou\ ;
+聖職者 < seishokusha\ ;
+航空母艦 < koukuubokan\ ;
+中衣嚢 < nakagakushi\ ;
+独立語 < dokuritsugo\ ;
+人名辞典 < jinmeijiten\ ;
+昨非今是 < sakuhikonze\ ;
+育児室 < ikujishitsu\ ;
+新古典派 < shinkotenha\ ;
+繁殖地 < hanshokuchi\ ;
+一人称 < ichininshou\ ;
+長崎県 < nagasakiken\ ;
+経営資源 < keieishigen\ ;
+幼心 < osanagokoro\ ;
+被害妄想 < higaimousou\ ;
+電力計 < denryokukei\ ;
+製氷皿 < seihyouzara\ ;
+細菌兵器 < saikinheiki\ ;
+飽和溶液 < houwayoueki\ ;
+一般会計 < ippankaikei\ ;
+準備資金 < junbishikin\ ;
+主税局 < shuzeikyoku\ ;
+政党政治 < seitouseiji\ ;
+母子年金 < boshinenkin\ ;
+接続語 < setsuzokugo\ ;
+特集号 < tokushuugou\ ;
+黒褐色 < kokkasshoku\ ;
+美容整形 < biyouseikei\ ;
+中国人 < chuugokujin\ ;
+花筵 < hanamushiro\ ;
+初期投資 < shokitoushi\ ;
+最短距離 < saitankyori\ ;
+周辺機器 < shuuhenkiki\ ;
+制限時間 < seigenjikan\ ;
+勤労意欲 < kinrouiyoku\ ;
+従属国 < juuzokukoku\ ;
+口返答 < kuchihentou\ ;
+倉庫会社 < soukogaisha\ ;
+男鰥 < otokoyamome\ ;
+未開社会 < mikaishakai\ ;
+減衰率 < gensuiritsu\ ;
+導電率 < doudenritsu\ ;
+一了簡 < ichiryoukan\ ;
+過大評価 < kadaihyouka\ ;
+花祭 < hanamatsuri\ ;
+再輸出 < saiyushutsu\ ;
+青銅色 < seidoushoku\ ;
+破廉恥罪 < harenchizai\ ;
+隊商宿 < taishouyado\ ;
+時限装置 < jigensouchi\ ;
+景気変動 < keikihendou\ ;
+式次第 < shikishidai\ ;
+一次記憶 < ichijikioku\ ;
+生産物 < seisanbutsu\ ;
+衝動行為 < shoudoukoui\ ;
+許容範囲 < kyoyouhan''i\ ;
+幻覚症 < genkakushou\ ;
+生産管理 < seisankanri\ ;
+投手力 < toushuryoku\ ;
+閉会式 < heikaishiki\ ;
+沖積層 < chuusekisou\ ;
+医療伝道 < iryoudendou\ ;
+催眠術 < saiminjutsu\ ;
+蝙蝠傘 < koumorigasa\ ;
+突貫工事 < tokkankouji\ ;
+向日性 < kounichisei\ ;
+初姿 < hatsusugata\ ;
+吸取紙 < suitorigami\ ;
+選考基準 < senkoukijun\ ;
+高話 < takabanashi\ ;
+高圧的 < kouatsuteki\ ;
+有力者 < yuuryokusha\ ;
+別問題 < betsumondai\ ;
+代数式 < daisuushiki\ ;
+入港料 < nyuukouryou\ ;
+膝頭 < hizagashira\ ;
+無宿者 < mushukumono\ ;
+都市銀行 < toshiginkou\ ;
+原子力 < genshiryoku\ ;
+成文律 < seibunritsu\ ;
+男一匹 < otokoippiki\ ;
+塞栓症 < sokusenshou\ ;
+商売柄 < shoubaigara\ ;
+腹足類 < fukusokurui\ ;
+東印度 < higashiindo\ ;
+資本力 < shihonryoku\ ;
+巻柱 < makibashira\ ;
+祇園祭 < gionmatsuri\ ;
+上京中 < joukyouchuu\ ;
+催眠薬 < saimin''yaku\ ;
+宣伝映画 < senden''eiga\ ;
+慈善事業 < jizenjigyou\ ;
+現象学 < genshougaku\ ;
+秋津島 < akitsushima\ ;
+羊小屋 < hitsujigoya\ ;
+装飾品 < soushokuhin\ ;
+千日手 < sen''nichite\ ;
+加速度計 < kasokudokei\ ;
+傲慢不遜 < goumanfuson\ ;
+刑務作業 < keimusagyou\ ;
+地球規模 < chikyuukibo\ ;
+植民地 < shokuminchi\ ;
+途中計時 < tochuukeiji\ ;
+外分泌 < gaibunpitsu\ ;
+隣近所 < tonarikinjo\ ;
+対頂角 < taichoukaku\ ;
+高射特科 < koushatokka\ ;
+肩甲骨 < kenkoukotsu\ ;
+三面六臂 < sanmenroppi\ ;
+微分断面 < bibundanmen\ ;
+分娩作用 < bunbensayou\ ;
+腰弁当 < koshibentou\ ;
+口巧者 < kuchigousha\ ;
+保健体育 < hokentaiiku\ ;
+暴走運転 < bousouunten\ ;
+底力 < sokodjikara\ ;
+不世出 < fuseishutsu\ ;
+諮問機関 < shimonkikan\ ;
+先日付 < sakihidzuke\ ;
+透視力 < toushiryoku\ ;
+創設者 < sousetsusha\ ;
+田舎芝居 < inakashibai\ ;
+金魚鉢 < kingyobachi\ ;
+癌遺伝子 < gan''idenshi\ ;
+百鬼夜行 < hyakkiyakou\ ;
+無死満塁 < mushimanrui\ ;
+二番抵当 < nibanteitou\ ;
+衒学的 < gengakuteki\ ;
+総務部長 < soumubuchou\ ;
+金石学 < kinsekigaku\ ;
+野菜畑 < yasaibatake\ ;
+自由貿易 < jiyuuboueki\ ;
+平和条項 < heiwajoukou\ ;
+直感的 < chokkanteki\ ;
+動物相 < doubutsusou\ ;
+気分転換 < kibuntenkan\ ;
+賃仕事 < chinshigoto\ ;
+特許主 < tokkyonushi\ ;
+儒教主義 < jukyoushugi\ ;
+奉納物 < hounoubutsu\ ;
+女歌舞伎 < on''nakabuki\ ;
+保釈中 < hoshakuchuu\ ;
+飛行機雲 < hikoukigumo\ ;
+青藍色 < seiranshoku\ ;
+脅迫者 < kyouhakusha\ ;
+動物界 < doubutsukai\ ;
+路面電車 < romendensha\ ;
+通行上 < tsuukoudome\ ;
+強奪者 < goudatsusha\ ;
+脅迫罪 < kyouhakuzai\ ;
+単独行為 < tandokukoui\ ;
+団結権 < danketsuken\ ;
+誠心誠意 < seishinseii\ ;
+約半年 < yakuhan''nen\ ;
+日本料理 < nihonryouri\ ;
+投票箱 < touhyoubako\ ;
+素人芸 < shiroutogei\ ;
+積極性 < sekkyokusei\ ;
+極座標 < kyokuzahyou\ ;
+寝正月 < neshougatsu\ ;
+浚渫機 < shunsetsuki\ ;
+翼面積 < yokumenseki\ ;
+畳表 < tatamiomote\ ;
+総目録 < soumokuroku\ ;
+核反応 < kakuhan''nou\ ;
+制酸薬 < seisan''yaku\ ;
+超人的 < choujinteki\ ;
+第一流 < daiichiryuu\ ;
+故事来歴 < kojiraireki\ ;
+内輪喧嘩 < uchiwagenka\ ;
+足拍子 < ashibyoushi\ ;
+弱材料 < yowazairyou\ ;
+接触線 < sesshokusen\ ;
+亜硝酸塩 < ashousan''en\ ;
+一角獣座 < ikkakujuuza\ ;
+出力 < shutsuryoku\ ;
+役力士 < yakurikishi\ ;
+統轄者 < toukatsusha\ ;
+反体制派 < hantaiseiha\ ;
+区劃整理 < kukakuseiri\ ;
+仕事中 < shigotochuu\ ;
+土百姓 < dobyakushou\ ;
+文学賞 < bungakushou\ ;
+招請国 < shouseikoku\ ;
+総収入 < soushuunyuu\ ;
+測量船 < sokuryousen\ ;
+放任主義 < houninshugi\ ;
+遺族給付 < izokukyuufu\ ;
+変位制御 < hen''iseigyo\ ;
+借地権 < shakuchiken\ ;
+文部大臣 < monbudaijin\ ;
+女権論者 < jokenronsha\ ;
+下士官兵 < kashikanhei\ ;
+沖積世 < chuusekisei\ ;
+中禅寺湖 < chuuzenjiko\ ;
+口述書 < koujutsusho\ ;
+殉職者 < junshokusha\ ;
+製品原価 < seihingenka\ ;
+人民主義 < jinminshugi\ ;
+勉強部屋 < benkyoubeya\ ;
+病虫害 < byouchuugai\ ;
+神宮外苑 < jinguugaien\ ;
+桜餅 < sakuramochi\ ;
+桜飯 < sakurameshi\ ;
+技術的 < gijutsuteki\ ;
+小説家 < shousetsuka\ ;
+特約店 < tokuyakuten\ ;
+交通量 < koutsuuryou\ ;
+全般支援 < zenpanshien\ ;
+少壮有為 < shousouyuui\ ;
+経口投与 < keikoutouyo\ ;
+道案内 < michian''nai\ ;
+換気装置 < kankisouchi\ ;
+共和制度 < kyouwaseido\ ;
+道普請 < michibushin\ ;
+好色者 < koushokusha\ ;
+二課勉強 < nikabenkyou\ ;
+消臭剤 < shoushuuzai\ ;
+予防接種 < yobousesshu\ ;
+独善的 < dokuzenteki\ ;
+異国情緒 < ikokujoucho\ ;
+解像力 < kaizouryoku\ ;
+運転停止 < untenteishi\ ;
+悪口雑言 < akkouzougon\ ;
+軍法会議 < gunpoukaigi\ ;
+直出 < chokushutsu\ ;
+浸透圧 < shintouatsu\ ;
+熱血漢 < nekketsukan\ ;
+天地無用 < tenchimuyou\ ;
+畳職 < tatamishoku\ ;
+異常性欲 < ijouseiyoku\ ;
+岩石学 < gansekigaku\ ;
+蜜柑畑 < mikanbatake\ ;
+烏天狗 < karasutengu\ ;
+紳士的 < shinshiteki\ ;
+人工受胎 < jinkoujutai\ ;
+日本文法 < nihonbunpou\ ;
+窒息死 < chissokushi\ ;
+上下水道 < jougesuidou\ ;
+三大節 < sandaisetsu\ ;
+活断層 < katsudansou\ ;
+銀行口座 < ginkoukouza\ ;
+目鼻立 < mehanadachi\ ;
+周期律 < shuukiritsu\ ;
+草冠 < kusakanmuri\ ;
+退紅色 < taikoushoku\ ;
+夏期大学 < kakidaigaku\ ;
+連邦議会 < renpougikai\ ;
+撮像管 < satsuzoukan\ ;
+腹八分 < harahachibu\ ;
+末期症状 < makkijoutai\ ;
+五段動詞 < godandoushi\ ;
+立法機関 < rippoukikan\ ;
+因循姑息 < injunkosoku\ ;
+進入路 < shin''nyuuro\ ;
+大山椒魚 < oosanshouuo\ ;
+虎視眈眈 < koshitantan\ ;
+背日性 < haijitsusei\ ;
+背面飛行 < haimenhikou\ ;
+弾丸道路 < dangandouro\ ;
+間奏曲 < kansoukyoku\ ;
+優先外貨 < yuusengaika\ ;
+当用漢字 < touyoukanji\ ;
+指南役 < shinan''yaku\ ;
+脅迫状 < kyouhakujou\ ;
+民本主義 < minponshugi\ ;
+功名心 < koumyoushin\ ;
+回教国 < kaikyoukoku\ ;
+骨膜炎 < kotsumakuen\ ;
+人工受紛 < jinkoujufun\ ;
+主要物価 < shuyoubukka\ ;
+沢庵漬 < takuandzuke\ ;
+根切虫 < nekirimushi\ ;
+人工受精 < jinkoujusei\ ;
+送料共 < souryoutomo\ ;
+張本人 < chouhon''nin\ ;
+登山電車 < tozandensha\ ;
+暫定政府 < zanteiseifu\ ;
+乗車口 < joushaguchi\ ;
+乗合馬車 < noriaibasha\ ;
+一日路 < ichinichiji\ ;
+地質図 < chishitsuzu\ ;
+期成同盟 < kiseidoumei\ ;
+立明戦 < ritsumeisen\ ;
+抽象論 < chuushouron\ ;
+散光星雲 < sankouseiun\ ;
+仕訳表 < shiwakehyou\ ;
+飢餓療法 < kigaryouhou\ ;
+国税庁 < kokuzeichou\ ;
+糸偏景気 < itohenkeiki\ ;
+物価変動 < bukkahendou\ ;
+性悪説 < seiakusetsu\ ;
+近郊都市 < kinkoutoshi\ ;
+懐郷病 < kaikyoubyou\ ;
+公開期間 < koukaikikan\ ;
+前後不覚 < zengofukaku\ ;
+準備体操 < junbitaisou\ ;
+母系家族 < bokeikazoku\ ;
+歯科医術 < shikaijutsu\ ;
+金管楽器 < kinkangakki\ ;
+切磋琢磨 < sessatakuma\ ;
+一時解雇 < ichijikaiko\ ;
+柑橘類 < kankitsurui\ ;
+運転資金 < untenshikin\ ;
+塑性限界 < soseigenkai\ ;
+金権政治 < kinkenseiji\ ;
+防御部隊 < bougyobutai\ ;
+静止衛星 < seishieisei\ ;
+一音節 < ichionsetsu\ ;
+再度協議 < saidokyougi\ ;
+脱炭酸 < datsutansan\ ;
+新技術 < shingijutsu\ ;
+逆探知 < gyakutanchi\ ;
+一切合財 < issaigassai\ ;
+遺産相続 < isansouzoku\ ;
+拾得者 < shuutokusha\ ;
+宝物殿 < houmotsuden\ ;
+喫煙席 < kitsuenseki\ ;
+冷血漢 < reiketsukan\ ;
+塑性変形 < soseihenkei\ ;
+見様見真似 < miyoumimane\ ;
+主力艦 < shuryokukan\ ;
+一天四海 < ittenshikai\ ;
+車大工 < kurumadaiku\ ;
+過食症 < kashokushou\ ;
+音響効果 < onkyoukouka\ ;
+宿命論 < shukumeiron\ ;
+入金票 < nyuukinhyou\ ;
+単本位性 < tanhon''isei\ ;
+雲散霧消 < unsanmushou\ ;
+全体主義 < zentaishugi\ ;
+花屋敷 < hanayashiki\ ;
+共白髪 < tomoshiraga\ ;
+停止時間 < teishijikan\ ;
+低空飛行 < teikuuhikou\ ;
+口座係 < kouzakakari\ ;
+瓢虫 < tentoumushi\ ;
+生存率 < seizonritsu\ ;
+支度部屋 < shitakubeya\ ;
+熊本県 < kumamotoken\ ;
+直銭形 < chokusenkei\ ;
+動物性 < doubutsusei\ ;
+原爆症 < genbakushou\ ;
+加工貿易 < kakouboueki\ ;
+衛星放送 < eiseihousou\ ;
+電気分解 < denkibunkai\ ;
+左下 < hidarishita\ ;
+風致地区 < fuuchichiku\ ;
+密閉容器 < mippeiyouki\ ;
+連帯債務 < rentaisaimu\ ;
+金剛薩堕 < kongousatta\ ;
+一人天下 < hitoridenka\ ;
+電動式 < dendoushiki\ ;
+時間反転 < jikanhanten\ ;
+生産力 < seisanryoku\ ;
+副牧師 < fukubokushi\ ;
+聖餐式 < seisanshiki\ ;
+逆関数 < gyakukansuu\ ;
+七五三 < shichigosan\ ;
+駐留軍 < chuuryuugun\ ;
+唯物論 < yuibutsuron\ ;
+旅商人 < tabishounin\ ;
+西欧文明 < seioubunmei\ ;
+下部組織 < kabusoshiki\ ;
+相乗効果 < soujoukouka\ ;
+水平距離 < suiheikyori\ ;
+百出 < hyakushutsu\ ;
+技術料 < gijutsuryou\ ;
+軍備撤廃 < gunbiteppai\ ;
+固有名詞 < koyuumeishi\ ;
+練習帳 < renshuuchou\ ;
+造石高 < zoukokudaka\ ;
+軍隊式 < guntaishiki\ ;
+翻訳者 < hon''yakusha\ ;
+潤目鰯 < urumeiwashi\ ;
+人間疎外 < ningensogai\ ;
+茶褐色 < chakasshoku\ ;
+確実度 < kakujitsudo\ ;
+有機化学 < yuukikagaku\ ;
+総力戦 < souryokusen\ ;
+仲間値段 < nakamanedan\ ;
+好色漢 < koushokukan\ ;
+温故知新 < onkochishin\ ;
+初投稿 < hatsutoukou\ ;
+万万一 < manman''ichi\ ;
+暗視装置 < anshisouchi\ ;
+国家試験 < kokkashiken\ ;
+青果市場 < seikaichiba\ ;
+若侍 < wakazamurai\ ;
+紳士服 < shinshifuku\ ;
+民事裁判 < minjisaiban\ ;
+原子兵器 < genshiheiki\ ;
+一仕事 < hitoshigoto\ ;
+嗅神経 < kyuushinkei\ ;
+肯定応答 < kouteioutou\ ;
+変更不能 < henkoufunou\ ;
+継続的 < keizokuteki\ ;
+文学的 < bungakuteki\ ;
+紀勢本線 < kiseihonsen\ ;
+候由 < sourouyoshi\ ;
+麻裏草履 < asaurazouri\ ;
+六重唱 < rokujuushou\ ;
+台湾坊主 < taiwanbouzu\ ;
+季刊雑誌 < kikanzasshi\ ;
+南阿戦争 < nan''asensou\ ;
+無線周波 < musenshuuha\ ;
+玄人筋 < kuroutosuji\ ;
+長期金利 < choukikinri\ ;
+囃子方 < hayashikata\ ;
+大人物 < daijinbutsu\ ;
+飛行機等 < hikoukinado\ ;
+傀儡政府 < kairaiseifu\ ;
+同系色 < doukeishoku\ ;
+紅白粉 < benioshiroi\ ;
+宣誓式 < senseishiki\ ;
+市外電話 < shigaidenwa\ ;
+連邦政府 < renpouseifu\ ;
+放歌高吟 < houkakougin\ ;
+中和熱 < chuuwanetsu\ ;
+微量元素 < biryougenso\ ;
+英字新聞 < eijishinbun\ ;
+満身創痍 < manshinsoui\ ;
+第二組合 < dainikumiai\ ;
+消耗的 < shoukouteki\ ;
+攻撃的 < kougekiteki\ ;
+埋蔵物 < maizoubutsu\ ;
+副読本 < fukudokuhon\ ;
+麝香鼠 < jakounezumi\ ;
+木賃宿 < kichin''yado\ ;
+四角柱 < shikakuchuu\ ;
+中空壁 < chuukuukabe\ ;
+婦人警官 < fujinkeikan\ ;
+考証学 < koushougaku\ ;
+第三世界 < daisansekai\ ;
+毘沙門天 < bishamonten\ ;
+社会主義 < shakaishugi\ ;
+学位論文 < gakuironbun\ ;
+実証的 < jisshouteki\ ;
+救済策 < kyuusaisaku\ ;
+軍国調 < gunkokuchou\ ;
+白蝋病 < hakuroubyou\ ;
+社交辞令 < shakoujirei\ ;
+徴兵忌避 < chouheikihi\ ;
+狂犬病 < kyoukenbyou\ ;
+民衆的 < minshuuteki\ ;
+機会均等 < kikaikintou\ ;
+暫定措置 < zanteisochi\ ;
+方向音痴 < houkouonchi\ ;
+一両年 < ichiryounen\ ;
+世界銀行 < sekaiginkou\ ;
+大仏殿 < daibutsuden\ ;
+刹那的 < setsunateki\ ;
+全権委任 < zenken''inin\ ;
+伽話 < togibanashi\ ;
+自然言語 < shizengengo\ ;
+勅任官 < chokuninkan\ ;
+誇大妄想 < kodaimousou\ ;
+双十節 < soujuusetsu\ ;
+好色本 < koushokubon\ ;
+化粧道具 < keshoudougu\ ;
+不変資本 < fuhenshihon\ ;
+窒化物 < chikkabutsu\ ;
+松飾 < matsukazari\ ;
+三角翼 < sankakuyoku\ ;
+賞味期限 < shoumikigen\ ;
+成長株 < seichoukabu\ ;
+石材商 < sekizaishou\ ;
+供託金 < kyoutakukin\ ;
+心臓外科 < shinzougeka\ ;
+猫額大 < byougakudai\ ;
+地方色 < chihoushoku\ ;
+幾何級数 < kikakyuusuu\ ;
+三部合奏 < sanbugassou\ ;
+生中継 < namachuukei\ ;
+吸収剤 < kyuushuuzai\ ;
+蒙古人種 < moukojinshu\ ;
+電気化学 < denkikagaku\ ;
+東風 < higashikaze\ ;
+建蔽率 < kenpeiritsu\ ;
+客観的 < kyakkanteki\ ;
+豆腐一丁 < toufuitchou\ ;
+消費都市 < shouhitoshi\ ;
+下級職 < kakyuushoku\ ;
+一一〇番 < hyakutooban\ ;
+修飾語 < shuushokugo\ ;
+家族制度 < kazokuseido\ ;
+生存期間 < seizonkikan\ ;
+大食漢 < taishokukan\ ;
+冷笑的 < reishouteki\ ;
+支給額 < shikyuugaku\ ;
+不均質 < fukinshitsu\ ;
+代表的 < daihyouteki\ ;
+入道雲 < nyuudougumo\ ;
+野良仕事 < norashigoto\ ;
+共通点 < kyoutsuuten\ ;
+日伊辞典 < nichiijiten\ ;
+公徳心 < koutokushin\ ;
+不正乗車 < fuseijousha\ ;
+調査結果 < chousakekka\ ;
+形式論 < keishikiron\ ;
+不当廉売 < futourenbai\ ;
+金環食 < kinkanshoku\ ;
+出札所 < shussatsujo\ ;
+滅多矢鱈 < mettayatara\ ;
+北極海 < hokkyokukai\ ;
+前人未踏 < zenjinmitou\ ;
+行官庁 < gyoukanchou\ ;
+不当利得 < futouritoku\ ;
+回教寺院 < kaikyoujiin\ ;
+保身術 < hoshinjutsu\ ;
+鑑識眼 < kanshikigan\ ;
+北極洋 < hokkyokuyou\ ;
+赤紫 < akamurasaki\ ;
+軍事訓練 < gunjikunren\ ;
+彫刻界 < choukokukai\ ;
+馬鹿話 < bakabanashi\ ;
+総合口座 < sougoukouza\ ;
+物納税 < butsunouzei\ ;
+郡県制度 < gunkenseido\ ;
+使用可能 < shiyoukanou\ ;
+下女中 < shimojochuu\ ;
+内部留保 < naiburyuuho\ ;
+地下室 < chikashitsu\ ;
+再販制度 < saihanseido\ ;
+被選挙権 < hisenkyoken\ ;
+貸本屋 < kashihon''ya\ ;
+物価統制 < bukkatousei\ ;
+阿呆陀羅経 < ahodarakyou\ ;
+因数分解 < insuubunkai\ ;
+鍾乳洞 < shounyuudou\ ;
+職員録 < shokuinroku\ ;
+生生流転 < seiseiruten\ ;
+無知蒙昧 < muchimoumai\ ;
+梯子酒 < hashigozake\ ;
+滞在客 < taizaikyaku\ ;
+蓄電池 < chikudenchi\ ;
+試掘者 < shikutsusha\ ;
+大学寮 < daigakuryou\ ;
+姫小松 < himekomatsu\ ;
+真実味 < shinjitsumi\ ;
+旅役者 < tabiyakusha\ ;
+国民的 < kokuminteki\ ;
+戦没者 < senbotsusha\ ;
+流行病 < ryuukoubyou\ ;
+彫刻版 < choukokuban\ ;
+堕落坊主 < darakubouzu\ ;
+舞台度胸 < butaidokyou\ ;
+周旋業 < shuusengyou\ ;
+団扇虫 < uchiwamushi\ ;
+泰西名画 < taiseimeiga\ ;
+柳腰 < yanagigoshi\ ;
+口小言 < kuchikogoto\ ;
+法治国家 < houchikokka\ ;
+優先順位 < yuusenjun''i\ ;
+任命式 < ninmeishiki\ ;
+電力債 < denryokusai\ ;
+単位組合 < tan''ikumiai\ ;
+力動的 < rikidouteki\ ;
+夏帽子 < natsuboushi\ ;
+睡眠薬 < suimin''yaku\ ;
+卸相場 < oroshisouba\ ;
+印刷業 < insatsugyou\ ;
+管理情報 < kanrijouhou\ ;
+伝導率 < dendouritsu\ ;
+蛸入道 < takonyuudou\ ;
+談話室 < danwashitsu\ ;
+完全主義 < kanzenshugi\ ;
+安月給 < yasugekkyuu\ ;
+北極星 < hokkyokusei\ ;
+御霊代 < mitamashiro\ ;
+七不思議 < nanafushigi\ ;
+測量士 < sokuryoushi\ ;
+出願時 < shutsuganji\ ;
+報復行為 < houfukukoui\ ;
+三角琴 < sankakugoto\ ;
+鉄条網 < tetsujoumou\ ;
+宣伝文句 < sendenmonku\ ;
+二成文系 < niseibunkei\ ;
+体内時計 < tainaidokei\ ;
+翻訳権 < hon''yakuken\ ;
+玉杓子 < tamajakushi\ ;
+工業国 < kougyoukoku\ ;
+終夜運転 < shuuyaunten\ ;
+周旋料 < shuusenryou\ ;
+追撃戦 < tsuigekisen\ ;
+加速運動 < kasokuundou\ ;
+傷病兵 < shoubyouhei\ ;
+彼岸桜 < higanzakura\ ;
+対抗部隊 < taikoubutai\ ;
+結婚費用 < kekkonhiyou\ ;
+一時払 < ichijibarai\ ;
+内容物 < naiyoubutsu\ ;
+軍事政権 < gunjiseiken\ ;
+有機農法 < yuukinouhou\ ;
+防衛部長 < boueibuchou\ ;
+運営資金 < un''eishikin\ ;
+月見蕎麦 < tsukimisoba\ ;
+人生航路 < jinseikouro\ ;
+無一物 < muichimotsu\ ;
+生命保険 < seimeihoken\ ;
+労働力 < roudouryoku\ ;
+応急手当 < oukyuuteate\ ;
+有形無形 < yuukeimukei\ ;
+若竹亭 < wakataketei\ ;
+翻訳書 < hon''yakusho\ ;
+到着駅 < touchakueki\ ;
+男心 < otokogokoro\ ;
+少国民 < shoukokumin\ ;
+受信回路 < jushinkairo\ ;
+参考図書 < sankoutosho\ ;
+生学問 < namagakumon\ ;
+英雄崇拝 < eiyuusuuhai\ ;
+今月分 < kongetsubun\ ;
+分数式 < bunsuushiki\ ;
+受験番号 < jukenbangou\ ;
+重農主義 < juunoushugi\ ;
+授賞式 < jushoushiki\ ;
+掌中本 < shouchuubon\ ;
+省力化 < shouryokuka\ ;
+代表格 < daihyoukaku\ ;
+護国神社 < gokokujinja\ ;
+昼興行 < hirukougyou\ ;
+黙示録 < mokushiroku\ ;
+明治神宮 < meijijinguu\ ;
+少数意見 < shousuuiken\ ;
+人虱 < hitoshirami\ ;
+比翼連理 < hiyokurenri\ ;
+検察官 < kensatsukan\ ;
+供託者 < kyoutakusha\ ;
+海産物 < kaisanbutsu\ ;
+有期年金 < yuukinenkin\ ;
+返信用 < henshin''you\ ;
+二元放送 < nigenhousou\ ;
+自信過剰 < jishinkajou\ ;
+遁走曲 < tonsoukyoku\ ;
+奉納相撲 < hounouzumou\ ;
+辻強盗 < tsujigoutou\ ;
+人身御供 < hitomigokuu\ ;
+公式戦 < koushikisen\ ;
+保護検束 < hogokensoku\ ;
+分県地図 < bunkenchizu\ ;
+靴一足 < kutsuissoku\ ;
+阿諛追従 < ayutsuishou\ ;
+電光石火 < denkousekka\ ;
+波瀾万丈 < haranbanjou\ ;
+相互関係 < sougokankei\ ;
+浪花節 < naniwabushi\ ;
+内部仕様 < naibushiyou\ ;
+各大学 < kakudaigaku\ ;
+総退却 < soutaikyaku\ ;
+皮下注射 < hikachuusha\ ;
+乾燥野菜 < kansouyasai\ ;
+短機関銃 < tankikanjuu\ ;
+現地時間 < genchijikan\ ;
+国民服 < kokuminfuku\ ;
+一等軍曹 < ittougunsou\ ;
+実在論 < jitsuzairon\ ;
+救急車 < kyuukyuusha\ ;
+間接税 < kansetsuzei\ ;
+獣道 < kemonomichi\ ;
+家庭用品 < kateiyouhin\ ;
+乱開発 < rankaihatsu\ ;
+所帯主 < shotainushi\ ;
+鉱山技師 < kouzangishi\ ;
+防寒靴 < boukangutsu\ ;
+一子相伝 < isshisouden\ ;
+三角柱 < sankakuchuu\ ;
+一雫 < hitoshizuku\ ;
+仕訳帳 < shiwakechou\ ;
+粘着性 < nenchakusei\ ;
+時限立法 < jigenrippou\ ;
+羊雲 < hitsujigumo\ ;
+愛別離苦 < aibetsuriku\ ;
+密造酒 < mitsuzoushu\ ;
+固定資産 < koteishisan\ ;
+一夜漬 < ichiyadzuke\ ;
+和独辞典 < wadokujiten\ ;
+登校拒否 < toukoukyohi\ ;
+斜角柱 < shakakuchuu\ ;
+演奏旅行 < ensouryokou\ ;
+書画骨董 < shogakottou\ ;
+対照的 < taishouteki\ ;
+役人風 < yakuninkaze\ ;
+船舶業 < senpakugyou\ ;
+運動選手 < undousenshu\ ;
+学園都市 < gakuentoshi\ ;
+水道局 < suidoukyoku\ ;
+始発駅 < shihatsueki\ ;
+東洋主義 < touyoushugi\ ;
+北極圏 < hokkyokuken\ ;
+日用品 < nichiyouhin\ ;
+反逆者 < hangyakusha\ ;
+大風呂敷 < ooburoshiki\ ;
+有蓋貨車 < yuugaikasha\ ;
+政治資金 < seijishikin\ ;
+登録済 < tourokuzumi\ ;
+専売局 < senbaikyoku\ ;
+権力者 < kenryokusha\ ;
+言論機関 < genronkikan\ ;
+養護学校 < yougogakkou\ ;
+恒久的 < koukyuuteki\ ;
+走行時間 < soukoujikan\ ;
+反逆罪 < hangyakuzai\ ;
+評価基準 < hyoukakijun\ ;
+特等席 < tokutouseki\ ;
+内服薬 < naifukuyaku\ ;
+臆病風 < okubyoukaze\ ;
+供給者 < kyoukyuusha\ ;
+彫刻師 < choukokushi\ ;
+新聞記事 < shinbunkiji\ ;
+夫唱婦随 < fushoufuzui\ ;
+電子辞書 < denshijisho\ ;
+求人難 < kyuujin''nan\ ;
+猿轡 < sarugutsuwa\ ;
+試掘権 < shikutsuken\ ;
+同時録音 < doujirokuon\ ;
+管理社会 < kanrishakai\ ;
+一視同仁 < isshidoujin\ ;
+構造変化 < kouzouhenka\ ;
+在京中 < zaikyouchuu\ ;
+方程式 < houteishiki\ ;
+静力学 < seirikigaku\ ;
+女流作家 < joryuusakka\ ;
+一覧表 < ichiranhyou\ ;
+北朝鮮 < kitachousen\ ;
+司法制度 < shihouseido\ ;
+脈所 < myakudokoro\ ;
+百千鳥 < momochidori\ ;
+勤務交代 < kinmukoutai\ ;
+短編映画 < tanpen''eiga\ ;
+銃剣術 < juukenjutsu\ ;
+会員規約 < kaiinkiyaku\ ;
+納骨堂 < noukotsudou\ ;
+耳小骨 < jishoukotsu\ ;
+大静脈 < daijoumyaku\ ;
+経済力 < keizairyoku\ ;
+学協会 < gakukyoukai\ ;
+中心点 < chuushinten\ ;
+二点先取 < nitensenshu\ ;
+反戦主義 < hansenshugi\ ;
+暴虎馮河 < boukohyouga\ ;
+北極光 < hokkyokukou\ ;
+食品店 < shokuhinten\ ;
+領収書 < ryoushuusho\ ;
+左腕投手 < sawantoushu\ ;
+但書 < tadashigaki\ ;
+前期試験 < zenkishiken\ ;
+通知表 < tsuuchihyou\ ;
+連発銃 < renpatsujuu\ ;
+攻撃側 < kougekigawa\ ;
+大中小 < daichuushou\ ;
+平均律 < heikinritsu\ ;
+赤棟蛇 < yamakagashi\ ;
+被選挙人 < hisenkyonin\ ;
+観念的 < kan''nenteki\ ;
+専門職 < senmonshoku\ ;
+共進会 < kyoushinkai\ ;
+信用状 < shin''youjou\ ;
+織物業 < orimonogyou\ ;
+背後関係 < haigokankei\ ;
+腰刀 < koshigatana\ ;
+超特急 < choutokkyuu\ ;
+返信料 < henshinryou\ ;
+壁新聞 < kabeshinbun\ ;
+餓鬼大将 < gakidaishou\ ;
+番号記号 < bangoukigou\ ;
+融解熱 < yuukainetsu\ ;
+節博士 < fushihakase\ ;
+見物人 < kenbutsunin\ ;
+登録料 < tourokuryou\ ;
+周旋人 < shuusen''nin\ ;
+刑事補償 < keijihoshou\ ;
+高麗芝 < kouraishiba\ ;
+不親切 < fushinsetsu\ ;
+親告罪 < shinkokuzai\ ;
+蔦紅葉 < tsutamomiji\ ;
+五目鮨 < gomokuzushi\ ;
+編集長 < henshuuchou\ ;
+出版業 < shuppangyou\ ;
+調教師 < choukyoushi\ ;
+進駐軍 < shinchuugun\ ;
+別動隊 < betsudoutai\ ;
+逆噴射 < gyakufunsha\ ;
+一体全体 < ittaizentai\ ;
+二口目 < futakuchime\ ;
+海運同盟 < kaiundoumei\ ;
+専守防衛 < senshubouei\ ;
+南阿連邦 < nan''arenpou\ ;
+逆命題 < gyakumeidai\ ;
+発行部数 < hakkoubusuu\ ;
+刑事裁判 < keijisaiban\ ;
+公平無私 < kouheimushi\ ;
+物価指数 < bukkashisuu\ ;
+粘着剤 < nenchakuzai\ ;
+刑事被告 < keijihikoku\ ;
+生物界 < seibutsukai\ ;
+記者会見 < kishakaiken\ ;
+従軍記者 < juugunkisha\ ;
+空気抵抗 < kuukiteikou\ ;
+五目飯 < gomokumeshi\ ;
+貢物 < mitsugimono\ ;
+現金正価 < genkinseika\ ;
+採掘権 < saikutsuken\ ;
+大同小異 < daidoushoui\ ;
+生命倫理 < seimeirinri\ ;
+全幅的 < zenpukuteki\ ;
+駆動装置 < kudousouchi\ ;
+彫刻刀 < choukokutou\ ;
+千軍万馬 < sengunbanba\ ;
+変幻自在 < hengenjizai\ ;
+研究心 < kenkyuushin\ ;
+相対主義 < soutaishugi\ ;
+独占的 < dokusenteki\ ;
+酸中毒 < sanchuudoku\ ;
+軍医学校 < gun''igakkou\ ;
+超新星 < choushinsei\ ;
+都民会館 < tominkaikan\ ;
+市場価値 < shijoukachi\ ;
+頂戴物 < choudaimono\ ;
+平和論者 < heiwaronsha\ ;
+宿泊所 < shukuhakujo\ ;
+尿素樹脂 < nyousojushi\ ;
+売却益 < baikyakueki\ ;
+掃除当番 < soujitouban\ ;
+構造式 < kouzoushiki\ ;
+代理戦争 < dairisensou\ ;
+代表作 < daihyousaku\ ;
+地盤沈下 < jibanchinka\ ;
+構成主義 < kouseishugi\ ;
+正多面体 < seitamentai\ ;
+過失犯 < kashitsuhan\ ;
+紙一枚 < kamiichimai\ ;
+保税地域 < hozeichiiki\ ;
+再認識 < saininshiki\ ;
+人員整理 < jin''inseiri\ ;
+風物詩 < fuubutsushi\ ;
+人間以前 < ningen''izen\ ;
+実関数 < jitsukansuu\ ;
+大好物 < daikoubutsu\ ;
+乳濁液 < nyuudakueki\ ;
+水冷式 < suireishiki\ ;
+平面図形 < heimenzukei\ ;
+心配性 < shinpaishou\ ;
+客室 < kyakushitsu\ ;
+宇宙旅行 < uchuuryokou\ ;
+後始末 < atoshimatsu\ ;
+全勢力 < zenseiryoku\ ;
+荘園制度 < shouenseido\ ;
+離心率 < rishinritsu\ ;
+供給源 < kyoukyuugen\ ;
+自社製品 < jishaseihin\ ;
+初期段階 < shokidankai\ ;
+前途遼遠 < zentoryouen\ ;
+大文節 < daibunsetsu\ ;
+一夜妻 < hitoyodzuma\ ;
+結合子 < ketsugoushi\ ;
+死亡率 < shibouritsu\ ;
+時局柄 < jikyokugara\ ;
+赤葡萄酒 < akabudoushu\ ;
+原始時代 < genshijidai\ ;
+配当率 < haitouritsu\ ;
+整骨師 < seikotsushi\ ;
+参謀本部 < sanbouhonbu\ ;
+女子大生 < joshidaisei\ ;
+関税率 < kanzeiritsu\ ;
+排外運動 < haigaiundou\ ;
+中毒死 < chuudokushi\ ;
+水平飛行 < suiheihikou\ ;
+最前列 < saizenretsu\ ;
+低回趣味 < teikaishumi\ ;
+互恵貿易 < gokeiboueki\ ;
+人間以上 < ningen''ijou\ ;
+御所車 < goshoguruma\ ;
+傲慢無礼 < goumanburei\ ;
+人柱 < hitobashira\ ;
+法務委員会 < houmuiinkai\ ;
+内曲球 < naikyokkyuu\ ;
+徒手空拳 < toshukuuken\ ;
+亜炭化物 < atankabutsu\ ;
+水泳大会 < suieitaikai\ ;
+解散説 < kaisansetsu\ ;
+男女同権 < danjodouken\ ;
+年金制度 < nenkinseido\ ;
+空軍基地 < kuugunkichi\ ;
+大和時代 < yamatojidai\ ;
+建造物 < kenzoubutsu\ ;
+帝王切開 < teiousekkai\ ;
+献血車 < kenketsusha\ ;
+小品集 < shouhinshuu\ ;
+霊安室 < reianshitsu\ ;
+反政府党 < hanseifutou\ ;
+離着陸 < richakuriku\ ;
+脊黄青鸚哥 < sekiseiinko\ ;
+歯科病院 < shikabyouin\ ;
+高野聖 < kouyahijiri\ ;
+載貨屯数 < saikatonsuu\ ;
+整髪剤 < seihatsuzai\ ;
+処世術 < shoseijutsu\ ;
+論説委員 < ronsetsuiin\ ;
+勝手次第 < katteshidai\ ;
+空挺隊員 < kuuteitaiin\ ;
+自由経済 < jiyuukeizai\ ;
+旗頭 < hatagashira\ ;
+子年 < nezumidoshi\ ;
+八幡宮 < hachimanguu\ ;
+財政破綻 < zaiseihatan\ ;
+歌唱力 < kashouryoku\ ;
+回折損 < kaisetsuson\ ;
+政治献金 < seijikenkin\ ;
+骨仕事 < honeshigoto\ ;
+臆病者 < okubyoumono\ ;
+旋風 < tsumujikaze\ ;
+手間仕事 < temashigoto\ ;
+一本勝負 < ipponshoubu\ ;
+朝飯前 < asameshimae\ ;
+質実 < shitsujitsu\ ;
+刊行物 < kankoubutsu\ ;
+眼鏡橋 < meganebashi\ ;
+購入先 < kounyuusaki\ ;
+中途半端 < chuutohanpa\ ;
+通過儀礼 < tsuukagirei\ ;
+丼物 < donburimono\ ;
+弘仁格 < kouninkyaku\ ;
+英字集合 < eijishuugou\ ;
+署名運動 < shomeiundou\ ;
+塑性指数 < soseishisuu\ ;
+合同労組 < goudourouso\ ;
+杖柱 < tsuehashira\ ;
+旧大陸 < kyuutairiku\ ;
+主管機関 < shukankikan\ ;
+天気都合 < tenkitsugou\ ;
+兵器工場 < heikikoujou\ ;
+下瞼 < shitamabuta\ ;
+診察日 < shinsatsubi\ ;
+平民主義 < heiminshugi\ ;
+家族会議 < kazokukaigi\ ;
+東宮職 < touguushoku\ ;
+減債基金 < gensaikikin\ ;
+警察署 < keisatsusho\ ;
+冗談口 < joudanguchi\ ;
+織物商 < orimonoshou\ ;
+祖先崇拝 < sosensuuhai\ ;
+八辺形 < hachihenkei\ ;
+針仕事 < harishigoto\ ;
+事大思想 < jidaishisou\ ;
+好人物 < koujinbutsu\ ;
+地場産業 < jibasangyou\ ;
+征服欲 < seifukuyoku\ ;
+連邦国家 < renpoukokka\ ;
+立憲主義 < rikkenshugi\ ;
+杉林 < sugibayashi\ ;
+解説者 < kaisetsusha\ ;
+広告業 < koukokugyou\ ;
+八方美人 < happoubijin\ ;
+創立者 < souritsusha\ ;
+解熱薬 < genetsuyaku\ ;
+日曜版 < nichiyouban\ ;
+新快速 < shinkaisoku\ ;
+屋根裏部屋 < yaneurabeya\ ;
+世界情勢 < sekaijousei\ ;
+不快指数 < fukaishisuu\ ;
+遠洋航路 < en''youkouro\ ;
+中年者 < chuunenmono\ ;
+国家経済 < kokkakeizai\ ;
+戴冠式 < taikanshiki\ ;
+臨時増刊 < rinjizoukan\ ;
+軽業師 < karuwazashi\ ;
+中心地 < chuushinchi\ ;
+商慣習 < shoukanshuu\ ;
+生物戦 < seibutsusen\ ;
+救急法 < kyuukyuuhou\ ;
+食前酒 < shokuzenshu\ ;
+公武合体 < koubugattai\ ;
+深夜族 < shin''yazoku\ ;
+予讚本線 < yosanhonsen\ ;
+根本主義 < konponshugi\ ;
+迫撃砲 < hakugekihou\ ;
+非常警戒 < hijoukeikai\ ;
+中央政府 < chuuouseifu\ ;
+進軍中 < shingunchuu\ ;
+媒酌人 < baishakunin\ ;
+両性的 < ryouseiteki\ ;
+刺状突起 < shijoutokki\ ;
+潜勢力 < senseiryoku\ ;
+公的扶助 < koutekifujo\ ;
+合成樹脂 < gouseijushi\ ;
+割賦購買 < kappukoubai\ ;
+保健室 < hokenshitsu\ ;
+広告料 < koukokuryou\ ;
+速力度 < sokuryokudo\ ;
+盆提灯 < bondjouchin\ ;
+未来指向 < miraishikou\ ;
+自由放任 < jiyuuhounin\ ;
+自転周期 < jitenshuuki\ ;
+聴神経 < choushinkei\ ;
+超大国 < choutaikoku\ ;
+出版元 < shuppanmoto\ ;
+馬鹿力 < bakadjikara\ ;
+自己主張 < jikoshuchou\ ;
+晒者 < sarashimono\ ;
+陸半球 < rikuhankyuu\ ;
+千言万語 < sengenbango\ ;
+統率者 < tousotsusha\ ;
+公共心 < koukyoushin\ ;
+徒歩競走 < tohokyousou\ ;
+親善試合 < shinzenjiai\ ;
+窒素固定 < chissokotei\ ;
+中共軍 < chuukyougun\ ;
+漂白剤 < hyouhakuzai\ ;
+収入源 < shuunyuugen\ ;
+海上保険 < kaijouhoken\ ;
+殿様風 < tonosamafuu\ ;
+心配事 < shinpaigoto\ ;
+飛行甲板 < hikoukouban\ ;
+指導主事 < shidoushuji\ ;
+相互銀行 < sougoginkou\ ;
+軍司令部 < gunshireibu\ ;
+諸事万端 < shojibantan\ ;
+労災保険 < rousaihoken\ ;
+太陽熱 < taiyounetsu\ ;
+判決文 < hanketsubun\ ;
+時輪金剛 < jirinkongou\ ;
+意気銷沈 < ikishouchin\ ;
+信仰的 < shinkouteki\ ;
+膝拍子 < hizabyoushi\ ;
+関税回避 < kanzeikaihi\ ;
+盲目的 < moumokuteki\ ;
+神通力 < jintsuuriki\ ;
+共和主義 < kyouwashugi\ ;
+恐妻病 < kyousaibyou\ ;
+阿多福風邪 < otafukukaze\ ;
+予防戦争 < yobousensou\ ;
+酸性土壌 < sanseidojou\ ;
+忠実度 < chuujitsudo\ ;
+信任状 < shin''ninjou\ ;
+人身保護 < jinshinhogo\ ;
+中柱 < nakabashira\ ;
+新参者 < shinzanmono\ ;
+年金保険 < nenkinhoken\ ;
+指向言語 < shikougengo\ ;
+巡査部長 < junsabuchou\ ;
+真犯人 < shinhan''nin\ ;
+狸爺 < tanukijijii\ ;
+保証期間 < hoshoukikan\ ;
+不法監禁 < fuhoukankin\ ;
+御苦労様 < gokurousama\ ;
+警察犬 < keisatsuken\ ;
+自治大臣 < jichidaijin\ ;
+立体交差 < rittaikousa\ ;
+竜頭蛇尾 < ryuutoudabi\ ;
+充電期間 < juudenkikan\ ;
+叢時雨 < murashigure\ ;
+海食洞 < kaishokudou\ ;
+記憶媒体 < kiokubaitai\ ;
+嫡室 < chakushitsu\ ;
+参列者 < sanretsusha\ ;
+養護教諭 < yougokyouyu\ ;
+人本主義 < jinponshugi\ ;
+海洋投棄 < kaiyoutouki\ ;
+生物圏 < seibutsuken\ ;
+供給地 < kyoukyuuchi\ ;
+干渉縞 < kanshoujima\ ;
+独創的 < dokusouteki\ ;
+不随意運動 < fuzuiiundou\ ;
+和歌山県 < wakayamaken\ ;
+太陽電波 < taiyoudenpa\ ;
+理科大学 < rikadaigaku\ ;
+染色体 < senshokutai\ ;
+座頭鯨 < zatoukujira\ ;
+近衛師団 < konoeshidan\ ;
+一衣帯水 < ichiitaisui\ ;
+資本主義 < shihonshugi\ ;
+狐猿 < kitsunezaru\ ;
+自由結婚 < jiyuukekkon\ ;
+必須科目 < hissukamoku\ ;
+近代主義 < kindaishugi\ ;
+東北 < higashikita\ ;
+守護天使 < shugotenshi\ ;
+日本語文字 < nihongomoji\ ;
+作業部会 < sagyoubukai\ ;
+都市再生 < toshisaisei\ ;
+目的論 < mokutekiron\ ;
+省略時 < shouryakuji\ ;
+七月 < shichigatsu\ ;
+幼生器官 < youseikikan\ ;
+御用組合 < goyoukumiai\ ;
+軍事演習 < gunjienshuu\ ;
+石炭殻 < sekitangara\ ;
+分裂性 < bunretsusei\ ;
+短縮形 < tanshukukei\ ;
+人道主義 < jindoushugi\ ;
+前史時代 < zenshijidai\ ;
+海上封鎖 < kaijoufuusa\ ;
+有職者 < yuushokusha\ ;
+意味深長 < imishinchou\ ;
+一昔 < hitomukashi\ ;
+親和力 < shinwaryoku\ ;
+交通違反 < koutsuuihan\ ;
+先々月 < sensengetsu\ ;
+四十八手 < yonjuuhatte\ ;
+手巻寿司 < temakizushi\ ;
+有体物 < yuutaibutsu\ ;
+東側 < higashigawa\ ;
+短絡的 < tanrakuteki\ ;
+公開講座 < koukaikouza\ ;
+片言隻句 < hengensekku\ ;
+魅力的 < miryokuteki\ ;
+化学式 < kagakushiki\ ;
+一撮 < hitotsumami\ ;
+太陽日 < taiyoujitsu\ ;
+高関税化 < koukanzeika\ ;
+運送会社 < unsougaisha\ ;
+東宮御所 < touguugosho\ ;
+延滞利息 < entairisoku\ ;
+野球熱 < yakyuunetsu\ ;
+火災警報 < kasaikeihou\ ;
+飾付 < kazaritsuke\ ;
+総指揮官 < soushikikan\ ;
+放送時間 < housoujikan\ ;
+熱気球 < netsukikyuu\ ;
+空想力 < kuusouryoku\ ;
+有害無益 < yuugaimueki\ ;
+静岡県 < shizuokaken\ ;
+婦人問題 < fujinmondai\ ;
+晴耕雨読 < seikouudoku\ ;
+反逆人 < hangyakunin\ ;
+染髪剤 < senpatsuzai\ ;
+全身病 < zenshinbyou\ ;
+不文憲法 < fubunkenpou\ ;
+腹話術 < fukuwajutsu\ ;
+一寸法師 < issunboushi\ ;
+可能動詞 < kanoudoushi\ ;
+流量計 < ryuuryoukei\ ;
+完全雇用 < kanzenkoyou\ ;
+線織面 < senshikimen\ ;
+完結編 < kanketsuhen\ ;
+副鼻腔炎 < fukubikuuen\ ;
+学生証 < gakuseishou\ ;
+造幣局 < zouheikyoku\ ;
+説明書 < setsumeisho\ ;
+自給率 < jikyuuritsu\ ;
+多元放送 < tagenhousou\ ;
+打物師 < uchimonoshi\ ;
+気息奄奄 < kisokuen''en\ ;
+惨殺者 < zansatsusha\ ;
+磯巾着 < isoginchaku\ ;
+釈迦如来 < shakanyorai\ ;
+予約名簿 < yoyakumeibo\ ;
+証人席 < shouninseki\ ;
+嫡出 < chakushutsu\ ;
+不買同盟 < fubaidoumei\ ;
+下心 < shitagokoro\ ;
+若白髪 < wakashiraga\ ;
+非買同盟 < hibaidoumei\ ;
+数学的 < suugakuteki\ ;
+直円柱 < chokuenchuu\ ;
+説明文 < setsumeibun\ ;
+相対敬語 < soutaikeigo\ ;
+経済特区 < keizaitokku\ ;
+任意団体 < nin''idantai\ ;
+水産物 < suisanbutsu\ ;
+接敵移動 < settekiidou\ ;
+教則本 < kyousokubon\ ;
+鰥寡孤独 < kankakodoku\ ;
+乙女心 < otomegokoro\ ;
+相対売買 < aitaibaibai\ ;
+無人工場 < mujinkoujou\ ;
+戦勝国 < senshoukoku\ ;
+南北朝 < nanbokuchou\ ;
+夏衣 < natsugoromo\ ;
+幻想曲 < gensoukyoku\ ;
+不換紙幣 < fukanshihei\ ;
+旅興行 < tabikougyou\ ;
+相乗作用 < soujousayou\ ;
+予算不足 < yosanfusoku\ ;
+豆電球 < mamedenkyuu\ ;
+解説書 < kaisetsusho\ ;
+薬理作用 < yakurisayou\ ;
+翼手目 < yokushumoku\ ;
+婚約者 < kon''yakusha\ ;
+為替管理 < kawasekanri\ ;
+郡役所 < gun''yakusho\ ;
+知識層 < chishikisou\ ;
+事前協議 < jisenkyougi\ ;
+厚顔無恥 < kouganmuchi\ ;
+撞木鮫 < shumokuzame\ ;
+硼酸末 < housanmatsu\ ;
+安全装置 < anzensouchi\ ;
+妖術者 < youjutsusha\ ;
+余白頁 < yohakupeeji\ ;
+統一的 < touitsuteki\ ;
+空気感染 < kuukikansen\ ;
+水道工事 < suidoukouji\ ;
+一紙半銭 < isshihansen\ ;
+反射運動 < hanshaundou\ ;
+身障者 < shinshousha\ ;
+食卓塩 < shokutakuen\ ;
+八字髭 < hachijihige\ ;
+復活祭 < fukkatsusai\ ;
+主産物 < shusanbutsu\ ;
+美術的 < bijutsuteki\ ;
+塩類溶液 < enruiyoueki\ ;
+珍現象 < chingenshou\ ;
+三稜鏡 < sanryoukyou\ ;
+外人部隊 < gaijinbutai\ ;
+拝金主義 < haikinshugi\ ;
+大陸棚 < tairikudana\ ;
+殿様芸 < tonosamagei\ ;
+海食崖 < kaishokugai\ ;
+元禄袖 < genrokusode\ ;
+異体同心 < itaidoushin\ ;
+乗数効果 < jousuukouka\ ;
+全盛時代 < zenseijidai\ ;
+文教族 < bunkyouzoku\ ;
+面向不背 < menkoufuhai\ ;
+平和維持軍 < heiwaijigun\ ;
+湿度計 < shitsudokei\ ;
+召集者 < shoushuusha\ ;
+空理空論 < kuurikuuron\ ;
+八極拳 < hakkyokuken\ ;
+信仰心 < shinkoushin\ ;
+人一倍 < hitoichibai\ ;
+合衆国 < gasshuukoku\ ;
+機関室 < kikanshitsu\ ;
+非常階段 < hijoukaidan\ ;
+傷痍軍人 < shouigunjin\ ;
+冷却液 < reikyakueki\ ;
+漁獲高 < gyokakudaka\ ;
+公用物 < kouyoubutsu\ ;
+単発銃 < tanpatsujuu\ ;
+不嗜 < butashinami\ ;
+月賦販売 < geppuhanbai\ ;
+万世一系 < banseiikkei\ ;
+第二部長 < dainibuchou\ ;
+雀蜂 < suzumebachi\ ;
+行儀作法 < gyougisahou\ ;
+重加算税 < juukasanzei\ ;
+冷却水 < reikyakusui\ ;
+献立表 < kondatehyou\ ;
+一心不乱 < isshinfuran\ ;
+軍事裁判 < gunjisaiban\ ;
+若草色 < wakakusairo\ ;
+照明器具 < shoumeikigu\ ;
+三国一 < sangokuichi\ ;
+督促状 < tokusokujou\ ;
+屍陀林王 < shidarin''ou\ ;
+仮受取 < kariuketori\ ;
+過去完了 < kakokanryou\ ;
+戦後欧州 < sengooushuu\ ;
+袋小路 < fukurokouji\ ;
+警察官 < keisatsukan\ ;
+首脳会議 < shunoukaigi\ ;
+家庭料理 < kateiryouri\ ;
+日本銀行 < nihonginkou\ ;
+自然律 < shizenritsu\ ;
+職務給 < shokumukyuu\ ;
+遠交近攻 < enkoukinkou\ ;
+旋回運動 < senkaiundou\ ;
+療養中 < ryouyouchuu\ ;
+合成物 < gouseibutsu\ ;
+帰国子女 < kikokushijo\ ;
+三行半 < mikudarihan\ ;
+行政学 < gyouseigaku\ ;
+実行力 < jikkouryoku\ ;
+長火鉢 < nagahibachi\ ;
+雌雄淘汰 < shiyuutouta\ ;
+海食台 < kaishokudai\ ;
+郵便物 < yuubinbutsu\ ;
+銀本位制 < ginhon''isei\ ;
+空気枕 < kuukimakura\ ;
+奨学金 < shougakukin\ ;
+組頭 < kumigashira\ ;
+自業自得 < jigoujitoku\ ;
+公生活 < kouseikatsu\ ;
+遮蔽物 < shaheibutsu\ ;
+主格補語 < shukakuhogo\ ;
+絹織物 < kinuorimono\ ;
+芸術論 < geijutsuron\ ;
+傘形器官 < sankeikikan\ ;
+薬効物 < yakkoubutsu\ ;
+緑虫 < midorimushi\ ;
+電化製品 < denkaseihin\ ;
+庭仕事 < niwashigoto\ ;
+資産価値 < shisankachi\ ;
+悪質化 < akushitsuka\ ;
+中央競馬 < chuuoukeiba\ ;
+知識人 < chishikijin\ ;
+赤字財政 < akajizaisei\ ;
+白内障 < hakunaishou\ ;
+政治亡命 < seijiboumei\ ;
+五十年祭 < gojuunensai\ ;
+遺族年金 < izokunenkin\ ;
+人工栄養 < jinkoueiyou\ ;
+擬古典的 < gikotenteki\ ;
+楽天的 < rakutenteki\ ;
+電気会社 < denkigaisha\ ;
+気随気儘 < kizuikimama\ ;
+別勘定 < betsukanjou\ ;
+金杓子 < kanajakushi\ ;
+長大息 < choutaisoku\ ;
+聴取料 < choushuryou\ ;
+無反動銃 < muhandoujuu\ ;
+遠心分離 < enshinbunri\ ;
+場外馬券 < jougaibaken\ ;
+青年時代 < seinenjidai\ ;
+頸静脈 < keijoumyaku\ ;
+漁獲量 < gyokakuryou\ ;
+語学力 < gogakuryoku\ ;
+準備室 < junbishitsu\ ;
+中年増 < chuudoshima\ ;
+自由問題 < jiyuumondai\ ;
+漫画雑誌 < mangazasshi\ ;
+亜鉛中毒 < aenchuudoku\ ;
+背筋力 < haikinryoku\ ;
+所有物 < shoyuubutsu\ ;
+祖先伝来 < sosendenrai\ ;
+産土神 < ubusunagami\ ;
+雪礫 < yukitsubute\ ;
+暗赤色 < ansekishoku\ ;
+仕立物 < shitatemono\ ;
+一党支配 < ittoushihai\ ;
+旗標 < hatajirushi\ ;
+夢現 < yumeutsutsu\ ;
+七回忌 < shichikaiki\ ;
+主観主義 < shukanshugi\ ;
+溶解熱 < youkainetsu\ ;
+米十粒 < komejuuryuu\ ;
+呼吸器系 < kokyuukikei\ ;
+特注品 < tokuchuuhin\ ;
+雛祭 < hinamatsuri\ ;
+為替投機 < kawasetouki\ ;
+一知半解 < itchihankai\ ;
+不定冠詞 < futeikanshi\ ;
+代議政体 < daigiseitai\ ;
+平和攻勢 < heiwakousei\ ;
+低価格化 < teikakakuka\ ;
+古新聞 < furushinbun\ ;
+配達人 < haitatsunin\ ;
+京人形 < kyouningyou\ ;
+肘掛椅子 < hijikakeisu\ ;
+公務災害 < koumusaigai\ ;
+景気循環 < keikijunkan\ ;
+関係法規 < kankeihouki\ ;
+賀詞交換 < gashikoukan\ ;
+耕地整理 < kouchiseiri\ ;
+完結文 < kanketsubun\ ;
+表裏一体 < hyouriittai\ ;
+反対色 < hantaishoku\ ;
+商品学 < shouhingaku\ ;
+奴隷解放 < doreikaihou\ ;
+入射角 < nyuushakaku\ ;
+消防庁 < shoubouchou\ ;
+阿多福豆 < otafukumame\ ;
+奇麗所 < kireidokoro\ ;
+女旱 < on''nahideri\ ;
+山吹色 < yamabukiiro\ ;
+企業整備 < kigyouseibi\ ;
+軍事行動 < gunjikoudou\ ;
+打撃率 < dagekiritsu\ ;
+地方自治 < chihoujichi\ ;
+請求額 < seikyuugaku\ ;
+百年祭 < hyakunensai\ ;
+世俗主義 < sezokushugi\ ;
+高炭素鋼 < koutansokou\ ;
+抑留者 < yokuryuusha\ ;
+食連星 < shokurensei\ ;
+落札値 < rakusatsune\ ;
+自然力 < shizenryoku\ ;
+有機肥料 < yuukihiryou\ ;
+秘書室 < hishoshitsu\ ;
+千秋楽 < senshuuraku\ ;
+比例配分 < hireihaibun\ ;
+探究心 < tankyuushin\ ;
+反対運動 < hantaiundou\ ;
+添付書類 < tenpushorui\ ;
+恋愛遊戯 < ren''aiyuugi\ ;
+副社長 < fukushachou\ ;
+投射原理 < toushagenri\ ;
+大言壮語 < taigensougo\ ;
+月例会 < getsureikai\ ;
+数日間 < suujitsukan\ ;
+命名式 < meimeishiki\ ;
+指導力 < shidouryoku\ ;
+感覚的 < kankakuteki\ ;
+金本位制 < kinhon''isei\ ;
+造語成分 < zougoseibun\ ;
+再開発 < saikaihatsu\ ;
+入学難 < nyuugakunan\ ;
+分折学 < bunsekigaku\ ;
+百科辞典 < hyakkajiten\ ;
+若輩者 < jakuhaimono\ ;
+万代不易 < bandaifueki\ ;
+幅変調 < habahenchou\ ;
+危険角度 < kikenkakudo\ ;
+化学兵器 < kagakuheiki\ ;
+女心 < on''nagokoro\ ;
+小惑星 < shouwakusei\ ;
+漢字制限 < kanjiseigen\ ;
+年功制度 < nenkouseido\ ;
+人物像 < jinbutsuzou\ ;
+躁鬱病 < souutsubyou\ ;
+直輸入 < chokuyunyuu\ ;
+促進剤 < sokushinzai\ ;
+海底火山 < kaiteikazan\ ;
+隔靴掻痒 < kakkasouyou\ ;
+握鮨 < nigirizushi\ ;
+鼻出血 < bishukketsu\ ;
+静心 < shizugokoro\ ;
+非戦論者 < hisenronsha\ ;
+急進党 < kyuushintou\ ;
+万世不易 < banseifueki\ ;
+再生繊維 < saiseisen''i\ ;
+運転系統 < untenkeitou\ ;
+任意同行 < nin''idoukou\ ;
+隣町 < tonarimachi\ ;
+臨時国会 < rinjikokkai\ ;
+試験期間 < shikenkikan\ ;
+金婚式 < kinkonshiki\ ;
+満艦飾 < mankanshoku\ ;
+年功加俸 < nenkoukahou\ ;
+応援団長 < ouendanchou\ ;
+大晦 < ootsugomori\ ;
+傍迷惑 < hatameiwaku\ ;
+軍医総監 < gun''isoukan\ ;
+昼食時 < chuushokuji\ ;
+芸術祭 < geijutsusai\ ;
+慈善団体 < jizendantai\ ;
+自習時間 < jishuujikan\ ;
+握飯 < nigirimeshi\ ;
+国家補償 < kokkahoshou\ ;
+盛者必衰 < seijahissui\ ;
+学生服 < gakuseifuku\ ;
+人文主義 < jinbunshugi\ ;
+電話番号 < denwabangou\ ;
+就業地 < shuugyouchi\ ;
+表示物 < hyoujibutsu\ ;
+転入生 < ten''nyuusei\ ;
+理論体系 < rirontaikei\ ;
+入学金 < nyuugakukin\ ;
+日本海溝 < nihonkaikou\ ;
+経常利益 < keijourieki\ ;
+革新系 < kakushinkei\ ;
+引責辞任 < insekijinin\ ;
+陽極線 < youkyokusen\ ;
+出演者 < shutsuensha\ ;
+会議室 < kaigishitsu\ ;
+処女航海 < shojokoukai\ ;
+陸運局 < rikuunkyoku\ ;
+追徴金 < tsuichoukin\ ;
+殺菌力 < sakkinryoku\ ;
+投宿者 < toushukusha\ ;
+新庁舎 < shinchousha\ ;
+冷却剤 < reikyakuzai\ ;
+一軒一軒 < ikken''ikken\ ;
+遊覧客 < yuurankyaku\ ;
+黄金虫 < koganemushi\ ;
+問答無用 < mondoumuyou\ ;
+運命論者 < unmeironsha\ ;
+黒死病 < kokushibyou\ ;
+郵便局 < yuubinkyoku\ ;
+菜種梅雨 < natanedzuyu\ ;
+課外授業 < kagaijugyou\ ;
+反射率 < hansharitsu\ ;
+難民帰還 < nanminkikan\ ;
+偶像破壊 < guuzouhakai\ ;
+教皇庁 < kyoukouchou\ ;
+若鳥丼 < wakadoridon\ ;
+指示装置 < shijisouchi\ ;
+安全地帯 < anzenchitai\ ;
+自己複製 < jikofukusei\ ;
+美術商 < bijutsushou\ ;
+他人行儀 < taningyougi\ ;
+判官贔屓 < houganbiiki\ ;
+滴定量 < tekiteiryou\ ;
+圧搾空気 < assakukuuki\ ;
+神学者 < shingakusha\ ;
+密輸入 < mitsuyunyuu\ ;
+健康管理 < kenkoukanri\ ;
+踏切番 < fumikiriban\ ;
+試験飛行 < shikenhikou\ ;
+生産過剰 < seisankajou\ ;
+前奏曲 < zensoukyoku\ ;
+耳鼻咽喉科 < jibiinkouka\ ;
+生理休暇 < seirikyuuka\ ;
+交際場裏 < kousaijouri\ ;
+裸一貫 < hadakaikkan\ ;
+奏鳴曲 < soumeikyoku\ ;
+豊肥本線 < houhihonsen\ ;
+私生活 < shiseikatsu\ ;
+紫色 < murasakiiro\ ;
+判断規準 < handankijun\ ;
+甲鉄艦 < koutetsukan\ ;
+心臓病 < shinzoubyou\ ;
+錬金術 < renkinjutsu\ ;
+黒内障 < kokunaishou\ ;
+有識者 < yuushikisha\ ;
+山津波 < yamatsunami\ ;
+袖珍本 < shuuchinbon\ ;
+天資英邁 < tenshieimai\ ;
+先着順 < senchakujun\ ;
+抵抗運動 < teikouundou\ ;
+郵便切手 < yuubinkitte\ ;
+実名詞 < jitsumeishi\ ;
+防食剤 < boushokuzai\ ;
+対称軸 < taishoujiku\ ;
+近日点 < kinjitsuten\ ;
+田園都市 < den''entoshi\ ;
+衣料品店 < iryouhinten\ ;
+二部合唱 < nibugasshou\ ;
+藍晶石 < ranshouseki\ ;
+女子供 < on''nakodomo\ ;
+没食子 < mosshokushi\ ;
+電子頭脳 < denshizunou\ ;
+修繕中 < shuuzenchuu\ ;
+割賦販売 < kappuhanbai\ ;
+耳学問 < mimigakumon\ ;
+骨董趣味 < kottoushumi\ ;
+軍備制限 < gunbiseigen\ ;
+長粒米 < chouryuumai\ ;
+運動不足 < undoubusoku\ ;
+制限漢字 < seigenkanji\ ;
+神信心 < kamishinjin\ ;
+無反動砲 < muhandouhou\ ;
+奨学生 < shougakusei\ ;
+原因不明 < gen''infumei\ ;
+観兵式 < kanpeishiki\ ;
+若年型 < jakunengata\ ;
+軽自動車 < keijidousha\ ;
+鼠海豚 < nezumiiruka\ ;
+狐疑逡巡 < kogishunjun\ ;
+集積場 < shuusekijou\ ;
+指人形 < yubiningyou\ ;
+程度問題 < teidomondai\ ;
+規定打席 < kiteidaseki\ ;
+曲芸師 < kyokugeishi\ ;
+麦粒腫 < bakuryuushu\ ;
+目的地 < mokutekichi\ ;
+風紀紊乱 < fuukibinran\ ;
+学生寮 < gakuseiryou\ ;
+合成力 < gouseiryoku\ ;
+市参事会 < shisanjikai\ ;
+記憶装置 < kiokusouchi\ ;
+提供側 < teikyougawa\ ;
+雪庇 < yukibisashi\ ;
+電気伝導 < denkidendou\ ;
+海外派兵 < kaigaihahei\ ;
+天賦人権 < tenpujinken\ ;
+懸垂運動 < kensuiundou\ ;
+神秘主義 < shinpishugi\ ;
+乗降客 < joukoukyaku\ ;
+内親王 < naishin''nou\ ;
+遠慮会釈 < enryoeshaku\ ;
+糞勉強 < kusobenkyou\ ;
+暗号手法 < angoushuhou\ ;
+矢継早 < yatsugibaya\ ;
+長話 < nagabanashi\ ;
+運輸大臣 < un''yudaijin\ ;
+非論理的 < hironriteki\ ;
+変曲点 < henkyokuten\ ;
+右翼団体 < uyokudantai\ ;
+長四角 < nagashikaku\ ;
+親切気 < shinsetsugi\ ;
+保健衛生 < hoken''eisei\ ;
+盗品故買 < touhinkobai\ ;
+副神経 < fukushinkei\ ;
+葉緑体 < youryokutai\ ;
+静止軌道 < seishikidou\ ;
+慶應義塾 < keiougijuku\ ;
+快刀乱麻 < kaitouranma\ ;
+菊人形 < kikuningyou\ ;
+玩弄物 < ganroubutsu\ ;
+口言葉 < kuchikotoba\ ;
+集合的 < shuugouteki\ ;
+至近距離 < shikinkyori\ ;
+割当額 < wariategaku\ ;
+常習的 < joushuuteki\ ;
+損害保険 < songaihoken\ ;
+構成要素 < kouseiyouso\ ;
+感圧紙 < kan''atsushi\ ;
+協議事項 < kyougijikou\ ;
+紅猿子 < benimashiko\ ;
+弾性率 < danseiritsu\ ;
+舞台俳優 < butaihaiyuu\ ;
+危機一髪 < kikiippatsu\ ;
+医学雑誌 < igakuzasshi\ ;
+淡紅色 < tankoushoku\ ;
+柳行李 < yanagigouri\ ;
+物価水準 < bukkasuijun\ ;
+赤十字附 < sekijuujifu\ ;
+扶養家族 < fuyoukazoku\ ;
+流動的 < ryuudouteki\ ;
+環境庁 < kankyouchou\ ;
+立憲政治 < rikkenseiji\ ;
+昆虫学 < konchuugaku\ ;
+常日頃 < tsunehigoro\ ;
+比翼塚 < hiyokudzuka\ ;
+混成物 < konseibutsu\ ;
+人工臓器 < jinkouzouki\ ;
+溶解力 < youkairyoku\ ;
+紙礫 < kamitsubute\ ;
+教育長 < kyouikuchou\ ;
+焼却炉 < shoukyakuro\ ;
+祭政一致 < saiseiitchi\ ;
+白檀油 < byakudan''yu\ ;
+牽引力 < ken''inryoku\ ;
+観光局 < kankoukyoku\ ;
+不言実行 < fugenjikkou\ ;
+入学者 < nyuugakusha\ ;
+国学者 < kokugakusha\ ;
+仕事部屋 < shigotobeya\ ;
+活動誌 < katsudoushi\ ;
+出土品 < shutsudohin\ ;
+紙表紙 < kamibyoushi\ ;
+観光客 < kankoukyaku\ ;
+成人映画 < seijin''eiga\ ;
+自由営業 < jiyuueigyou\ ;
+共学制 < kyougakusei\ ;
+鶎 < kikuitadaki\ ;
+標準誤差 < hyoujungosa\ ;
+羞恥心 < shuuchishin\ ;
+参議院議員 < sangiingiin\ ;
+虫眼鏡 < mushimegane\ ;
+言葉質 < kotobajichi\ ;
+学者膚 < gakushahada\ ;
+通信網 < tsuushinmou\ ;
+普及率 < fukyuuritsu\ ;
+乳児脚気 < nyuujikakke\ ;
+千鳥足 < chidoriashi\ ;
+軍需工場 < gunjukoujou\ ;
+相加平均 < soukaheikin\ ;
+粗製乱造 < soseiranzou\ ;
+御名御璽 < gyomeigyoji\ ;
+裸虫 < hadakamushi\ ;
+転轍手 < tentetsushu\ ;
+購買力 < koubairyoku\ ;
+入賞者 < nyuushousha\ ;
+陸軍省 < rikugunshou\ ;
+仮出所 < karishussho\ ;
+文治主義 < bunchishugi\ ;
+古物商 < kobutsushou\ ;
+自然淘汰 < shizentouta\ ;
+家宅捜査 < katakusousa\ ;
+既成概念 < kiseigainen\ ;
+整備工場 < seibikoujou\ ;
+対空砲火 < taikuuhouka\ ;
+滞空時間 < taikuujikan\ ;
+象徴詩 < shouchoushi\ ;
+下協議 < shitakyougi\ ;
+召集令 < shoushuurei\ ;
+貿易赤字 < bouekiakaji\ ;
+一言居士 < ichigenkoji\ ;
+照会先 < shoukaisaki\ ;
+屋上庭園 < okujouteien\ ;
+堆積学 < taisekigaku\ ;
+読解力 < dokkairyoku\ ;
+音声表記 < onseihyouki\ ;
+腸結核 < choukekkaku\ ;
+年恰好 < toshikakkou\ ;
+審美主義 < shinbishugi\ ;
+通産省 < tsuusanshou\ ;
+応用問題 < ouyoumondai\ ;
+互恵関税 < gokeikanzei\ ;
+督学官 < tokugakukan\ ;
+懐中物 < kaichuumono\ ;
+通信社 < tsuushinsha\ ;
+軟性下疳 < nanseigekan\ ;
+国語辞典 < kokugojiten\ ;
+公認候補 < kouninkouho\ ;
+生年月日 < seinengappi\ ;
+奇策縦横 < kisakujuuou\ ;
+光学文字 < kougakumoji\ ;
+千石船 < sengokubune\ ;
+停車時間 < teishajikan\ ;
+金牛宮 < kingyuukyuu\ ;
+接合子 < setsugoushi\ ;
+皇室費 < koushitsuhi\ ;
+共和政治 < kyouwaseiji\ ;
+国庫債権 < kokkosaiken\ ;
+追徴税 < tsuichouzei\ ;
+声帯模写 < seitaimosha\ ;
+最大限度 < saidaigendo\ ;
+局外者 < kyokugaisha\ ;
+八分音符 < hachibuonpu\ ;
+翌翌年 < yokuyokunen\ ;
+特別機 < tokubetsuki\ ;
+淡褐色 < tankasshoku\ ;
+偏執病 < henshuubyou\ ;
+仮想空間 < kasoukuukan\ ;
+学習者 < gakushuusha\ ;
+防音室 < bouonshitsu\ ;
+平成時代 < heiseijidai\ ;
+利益社会 < riekishakai\ ;
+肉体的 < nikutaiteki\ ;
+家庭訪問 < kateihoumon\ ;
+料金表 < ryoukinhyou\ ;
+内陸国 < nairikukoku\ ;
+包容力 < houyouryoku\ ;
+出漁期 < shutsugyoki\ ;
+薄利多売 < hakuritabai\ ;
+主人役 < shujin''yaku\ ;
+民主主義 < minshushugi\ ;
+女性名詞 < joseimeishi\ ;
+愛憎併存 < aizouheison\ ;
+成功率 < seikouritsu\ ;
+公有物 < kouyuubutsu\ ;
+観艦式 < kankanshiki\ ;
+反射作用 < hanshasayou\ ;
+月夜茸 < tsukiyotake\ ;
+有事立法 < yuujirippou\ ;
+入学生 < nyuugakusei\ ;
+明後日 < myougonichi\ ;
+活動者 < katsudousha\ ;
+三原色 < sangenshoku\ ;
+発声器官 < hasseikikan\ ;
+偏執狂 < henshuukyou\ ;
+婚礼衣装 < konreiishou\ ;
+中央突破 < chuuoutoppa\ ;
+三頭政治 < santouseiji\ ;
+危険地帯 < kikenchitai\ ;
+化学作用 < kagakusayou\ ;
+無間地獄 < mugenjigoku\ ;
+話中 < hanashichuu\ ;
+往復切符 < oufukukippu\ ;
+蒋介石 < shoukaiseki\ ;
+申告書 < shinkokusho\ ;
+存在理由 < sonzairiyuu\ ;
+編笠茸 < amigasatake\ ;
+小半日 < kohan''nichi\ ;
+非社交的 < hijakouteki\ ;
+表彰状 < hyoushoujou\ ;
+内証事 < naishougoto\ ;
+封建制度 < houkenseido\ ;
+診断学 < shindangaku\ ;
+南極点 < nankyokuten\ ;
+人身事故 < jinshinjiko\ ;
+曲射砲 < kyokushahou\ ;
+公開捜査 < koukaisousa\ ;
+我田引水 < gaden''insui\ ;
+動作記録 < dousakiroku\ ;
+先発隊 < senpatsutai\ ;
+成層火山 < seisoukazan\ ;
+性生活 < seiseikatsu\ ;
+検閲官 < ken''etsukan\ ;
+流通税 < ryuutsuuzei\ ;
+利益配当 < riekihaitou\ ;
+洗濯糊 < sentakunori\ ;
+半直線 < hanchokusen\ ;
+洗濯籠 < sentakukago\ ;
+接合剤 < setsugouzai\ ;
+一所懸命 < isshokenmei\ ;
+農産物 < nousanbutsu\ ;
+源泉課税 < gensenkazei\ ;
+政治結社 < seijikessha\ ;
+塵埃 < chirihokori\ ;
+騎馬民族 < kibaminzoku\ ;
+隔世遺伝 < kakuseiiden\ ;
+古道具屋 < furudouguya\ ;
+吹奏楽器 < suisougakki\ ;
+機銃掃射 < kijuusousha\ ;
+接受国 < setsujukoku\ ;
+武家屋敷 < bukeyashiki\ ;
+南極海 < nankyokukai\ ;
+睡眠時間 < suiminjikan\ ;
+結膜炎 < ketsumakuen\ ;
+親睦会 < shinbokukai\ ;
+硫化物 < ryuukabutsu\ ;
+想像力 < souzouryoku\ ;
+芸術品 < geijutsuhin\ ;
+無記名株 < mukimeikabu\ ;
+南極洋 < nankyokuyou\ ;
+事務総長 < jimusouchou\ ;
+再測量 < saisokuryou\ ;
+主治効能 < shujikounou\ ;
+天津御祖 < amatsumioya\ ;
+気象衛星 < kishoueisei\ ;
+有効期限 < yuukoukigen\ ;
+農奴解放 < noudokaihou\ ;
+露出計 < roshutsukei\ ;
+心臓麻痺 < shinzoumahi\ ;
+酔生夢死 < suiseimushi\ ;
+無法地帯 < muhouchitai\ ;
+街頭募金 < gaitoubokin\ ;
+留学生 < ryuugakusei\ ;
+水仕事 < mizushigoto\ ;
+学習用 < gakushuuyou\ ;
+荒唐無稽 < koutoumukei\ ;
+注射針 < chuushabari\ ;
+観察者 < kansatsusha\ ;
+栄養不足 < eiyoufusoku\ ;
+通信欄 < tsuushinran\ ;
+名誉市民 < meiyoshimin\ ;
+軍事同盟 < gunjidoumei\ ;
+有効作用 < yuukousayou\ ;
+五月闇 < satsukiyami\ ;
+発着場 < hatchakujou\ ;
+先遣部隊 < senkenbutai\ ;
+嘉言善行 < kagenzenkou\ ;
+輸出税 < yushutsuzei\ ;
+合同会議 < goudoukaigi\ ;
+起死回生 < kishikaisei\ ;
+透視画法 < toushigahou\ ;
+無銭旅行 < musenryokou\ ;
+就職時 < shuushokuji\ ;
+保安設備 < hoansetsubi\ ;
+着眼点 < chakuganten\ ;
+空冷式 < kuureishiki\ ;
+溶接工 < yousetsukou\ ;
+丸木橋 < marukibashi\ ;
+内部闘争 < naibutousou\ ;
+不正融資 < fuseiyuushi\ ;
+山形県 < yamagataken\ ;
+交霊術 < koureijutsu\ ;
+漢英辞典 < kan''eijiten\ ;
+創造説 < souzousetsu\ ;
+領土保全 < ryoudohozen\ ;
+招待席 < shoutaiseki\ ;
+無事息災 < bujisokusai\ ;
+雪上車 < setsujousha\ ;
+交響楽 < koukyougaku\ ;
+農業国 < nougyoukoku\ ;
+卓越風 < takuetsufuu\ ;
+指名手配 < shimeitehai\ ;
+鎮痛性 < chintsuusei\ ;
+遊覧飛行 < yuuranhikou\ ;
+認識論 < ninshikiron\ ;
+受験地獄 < jukenjigoku\ ;
+警備強化 < keibikyouka\ ;
+就寝前 < shuushinzen\ ;
+心理主義 < shinrishugi\ ;
+双曲線 < soukyokusen\ ;
+離婚訴訟 < rikonsoshou\ ;
+夏時刻 < natsujikoku\ ;
+夏大根 < natsudaikon\ ;
+音訓索引 < onkunsakuin\ ;
+危険因子 < kiken''inshi\ ;
+村八分 < murahachibu\ ;
+超過勤務 < choukakinmu\ ;
+傘伐林 < sanbatsurin\ ;
+常設館 < jousetsukan\ ;
+南極星 < nankyokusei\ ;
+神学士 < shingakushi\ ;
+進歩主義 < shinposhugi\ ;
+上告審 < joukokushin\ ;
+先入観 < sen''nyuukan\ ;
+先入見 < sen''nyuuken\ ;
+保全会社 < hozenkaisha\ ;
+洗濯物 < sentakumono\ ;
+万葉集 < man''youshuu\ ;
+自己紹介 < jikoshoukai\ ;
+人道支援 < jindoushien\ ;
+満州国 < manshuukoku\ ;
+希少価値 < kishoukachi\ ;
+表忠塔 < hyouchuutou\ ;
+三重殺 < sanjuusatsu\ ;
+婦人科学 < fujinkagaku\ ;
+支援団体 < shiendantai\ ;
+分泌液 < bunpitsueki\ ;
+宇宙空間 < uchuukuukan\ ;
+隣接県 < rinsetsuken\ ;
+嘘八百 < usohappyaku\ ;
+舞踏室 < butoushitsu\ ;
+当局者 < toukyokusha\ ;
+化粧煉瓦 < keshourenga\ ;
+緩衝国 < kanshoukoku\ ;
+早期発見 < soukihakken\ ;
+自然治癒 < shizenchiyu\ ;
+不可知的 < fukachiteki\ ;
+訴訟費用 < soshouhiyou\ ;
+藁人形 < waraningyou\ ;
+影響力 < eikyouryoku\ ;
+災害保険 < saigaihoken\ ;
+大器晩成 < taikibansei\ ;
+文節数 < bunsetsusuu\ ;
+数珠一連 < juzuichiren\ ;
+文明開化 < bunmeikaika\ ;
+悪推量 < waruzuiryou\ ;
+含有量 < gan''yuuryou\ ;
+誘電率 < yuudenritsu\ ;
+反動主義 < handoushugi\ ;
+観察眼 < kansatsugan\ ;
+政府高官 < seifukoukan\ ;
+鏡餅 < kagamimochi\ ;
+裏切者 < uragirimono\ ;
+京都府警 < kyoutofukei\ ;
+防雪林 < bousetsurin\ ;
+天神髭 < tenshinhige\ ;
+殺害者 < satsugaisha\ ;
+勤王攘夷 < kin''noujoui\ ;
+空挺部隊 < kuuteibutai\ ;
+教育省 < kyouikushou\ ;
+離乳食 < rinyuushoku\ ;
+教育的 < kyouikuteki\ ;
+多士済済 < tashiseisei\ ;
+不器用者 < bukiyoumono\ ;
+兵站基地 < heitankichi\ ;
+有理関数 < yuurikansuu\ ;
+人工頭脳 < jinkouzunou\ ;
+特別区 < tokubetsuku\ ;
+財政力 < zaiseiryoku\ ;
+十六音符 < juurokuonpu\ ;
+強硬策 < kyoukousaku\ ;
+新年号 < shin''nengou\ ;
+磯馴松 < sonarematsu\ ;
+奇想天外 < kisoutengai\ ;
+内容見本 < naiyoumihon\ ;
+入館料 < nyuukanryou\ ;
+物相飯 < mossoumeshi\ ;
+製革業 < seikakugyou\ ;
+中学生 < chuugakusei\ ;
+輸出港 < yushutsukou\ ;
+南極帯 < nankyokutai\ ;
+料理道具 < ryouridougu\ ;
+大圏航路 < taikenkouro\ ;
+溶接剤 < yousetsuzai\ ;
+急病人 < kyuubyounin\ ;
+寄宿料 < kishukuryou\ ;
+高島田 < takashimada\ ;
+小正月 < koshougatsu\ ;
+動力計 < douryokukei\ ;
+極大値 < kyokudaichi\ ;
+準備管制 < junbikansei\ ;
+烏口 < karasuguchi\ ;
+出金額 < shukkingaku\ ;
+申告制 < shinkokusei\ ;
+粍 < mirimeitoru\ ;
+陣頭指揮 < jintoushiki\ ;
+粁 < kiromeitoru\ ;
+籵 < dekameetoru\ ;
+臓器移植 < zoukiishoku\ ;
+基本概念 < kihongainen\ ;
+子供達 < kodomotachi\ ;
+会議日程 < kaiginittei\ ;
+公定地価 < kouteichika\ ;
+基礎研究 < kisokenkyuu\ ;
+環境汚染 < kankyouosen\ ;
+媒介物 < baikaibutsu\ ;
+疑心暗鬼 < gishin''anki\ ;
+黄道色 < koudoushoku\ ;
+三葉虫 < san''youchuu\ ;
+全質化 < zenshitsuka\ ;
+生活難 < seikatsunan\ ;
+細動脈 < saidoumyaku\ ;
+江戸前寿司 < edomaezushi\ ;
+総理大臣 < souridaijin\ ;
+複雑化 < fukuzatsuka\ ;
+自己満足 < jikomanzoku\ ;
+勢力圏 < seiryokuken\ ;
+絶対主義 < zettaishugi\ ;
+竰 < senchiritto\ ;
+正味値段 < shouminedan\ ;
+竡 < hekutoritto\ ;
+竓 < miririttoru\ ;
+竏 < kirorittoru\ ;
+個人教授 < kojinkyouju\ ;
+複複線 < fukufukusen\ ;
+少壮気鋭 < shousoukiei\ ;
+新年会 < shin''nenkai\ ;
+不確実 < fukakujitsu\ ;
+東亜諸国 < touashokoku\ ;
+喇叭水仙 < rappazuisen\ ;
+鎮痛剤 < chintsuuzai\ ;
+怪人物 < kaijinbutsu\ ;
+通学生 < tsuugakusei\ ;
+爆心地 < bakushinchi\ ;
+実行可能 < jikkoukanou\ ;
+事前運動 < jizen''undou\ ;
+始末書 < shimatsusho\ ;
+外来患者 < gairaikanja\ ;
+競争心 < kyousoushin\ ;
+避難訓練 < hinankunren\ ;
+剽軽者 < hyoukinmono\ ;
+腸閉塞 < chouheisoku\ ;
+販売部門 < hanbaibumon\ ;
+軍当局 < guntoukyoku\ ;
+労働運動 < roudouundou\ ;
+準備銀行 < junbiginkou\ ;
+幹線道路 < kansendouro\ ;
+不透明性 < futoumeisei\ ;
+白子鳩 < shirakobato\ ;
+町役場 < machiyakuba\ ;
+加圧水炉 < kaatsusuiro\ ;
+不忠実 < fuchuujitsu\ ;
+表音文字 < hyouonmonji\ ;
+指名打者 < shimeidasha\ ;
+総司令部 < soushireibu\ ;
+博学者 < hakugakusha\ ;
+伝統主義 < dentoushugi\ ;
+戦略上 < senryakujou\ ;
+主要都市 < shuyoutoshi\ ;
+南極圏 < nankyokuken\ ;
+両脚規 < ryoukyakuki\ ;
+低温殺菌 < teionsakkin\ ;
+共訳者 < kyouyakusha\ ;
+夫婦関係 < fuufukankei\ ;
+忍耐力 < nintairyoku\ ;
+作業時間 < sagyoujikan\ ;
+集金人 < shuukin''nin\ ;
+非常手段 < hijoushudan\ ;
+十八金 < juuhachikin\ ;
+専制政治 < senseiseiji\ ;
+映画監督 < eigakantoku\ ;
+借用者 < shakuyousha\ ;
+瓰 < deshiguramu\ ;
+濃淡画像 < noutangazou\ ;
+端金 < hashitagane\ ;
+灯火管制 < toukakansei\ ;
+重要事項 < juuyoujikou\ ;
+非常呼集 < hijoukoshuu\ ;
+持久力 < jikyuuryoku\ ;
+局地風 < kyokuchifuu\ ;
+発癌性 < hatsugansei\ ;
+揚陸料 < yourikuryou\ ;
+密貿易 < mitsuboueki\ ;
+通信員 < tsuushin''in\ ;
+立候補者 < rikkouhosha\ ;
+冠動脈 < kandoumyaku\ ;
+変奏曲 < hensoukyoku\ ;
+浄化装置 < joukasouchi\ ;
+御生憎様 < oainikusama\ ;
+表彰台 < hyoushoudai\ ;
+人員淘汰 < jin''intouta\ ;
+葬送曲 < sousoukyoku\ ;
+交通事故 < koutsuujiko\ ;
+千分率 < senbunritsu\ ;
+四輪駆動 < yonrinkudou\ ;
+丸一年 < maruichinen\ ;
+代理公使 < dairikoushi\ ;
+外務大臣 < gaimudaijin\ ;
+老廃物 < rouhaibutsu\ ;
+南極光 < nankyokukou\ ;
+皮算用 < kawazan''you\ ;
+野戦砲兵 < yasenhouhei\ ;
+追分節 < oiwakebushi\ ;
+徳川勢 < tokugawazei\ ;
+地名辞典 < chimeijiten\ ;
+不動産屋 < fudousan''ya\ ;
+創造物 < souzoubutsu\ ;
+初航海 < hatsukoukai\ ;
+購読料 < koudokuryou\ ;
+得票数 < tokuhyousuu\ ;
+体感温度 < taikan''ondo\ ;
+雪景色 < yukigeshiki\ ;
+観光都市 < kankoutoshi\ ;
+同性愛者 < douseiaisha\ ;
+部隊撤退 < butaitettai\ ;
+精神的 < seishinteki\ ;
+協議会員 < kyougikaiin\ ;
+啓蒙運動 < keimouundou\ ;
+徳川公 < tokugawakou\ ;
+自立心 < jiritsushin\ ;
+亀甲模様 < kikkoumoyou\ ;
+衛生状態 < eiseijoutai\ ;
+漸進的 < zenshinteki\ ;
+教会暦 < kyoukaireki\ ;
+殺人者 < satsujinsha\ ;
+鎖国主義 < sakokushugi\ ;
+精神病 < seishinbyou\ ;
+殺人罪 < satsujinzai\ ;
+成年式 < seinenshiki\ ;
+器用貧乏 < kiyoubinbou\ ;
+脱石油 < datsusekiyu\ ;
+先進国 < senshinkoku\ ;
+眼精疲労 < ganseihirou\ ;
+宣伝機関 < sendenkikan\ ;
+土団子 < tsuchidango\ ;
+何時何時 < itsunandoki\ ;
+控室 < hikaeshitsu\ ;
+民権主義 < minkenshugi\ ;
+年次総会 < nenjisoukai\ ;
+混合物 < kongoubutsu\ ;
+軍楽長 < gungakuchou\ ;
+法律上 < houritsujou\ ;
+畜犬税 < chikukenzei\ ;
+無償交付 < mushoukoufu\ ;
+短期手形 < tankitegata\ ;
+内務大臣 < naimudaijin\ ;
+一世一代 < isseichidai\ ;
+事項索引 < jikousakuin\ ;
+放射線科 < houshasenka\ ;
+皇太子妃 < koutaishihi\ ;
+梁山泊 < ryouzanpaku\ ;
+彫塑術 < chousojutsu\ ;
+代用食 < daiyoushoku\ ;
+妖怪変化 < youkaihenge\ ;
+並木道 < namikimichi\ ;
+宝石箱 < housekibako\ ;
+卒業後 < sotsugyougo\ ;
+口角力 < kuchidzumou\ ;
+事業主 < jigyounushi\ ;
+自虐的 < jigyakuteki\ ;
+下相談 < shitasoudan\ ;
+変形部門 < henkeibumon\ ;
+野戦病院 < yasenbyouin\ ;
+禿頭病 < tokutoubyou\ ;
+戦災地区 < sensaichiku\ ;
+弾着点 < danchakuten\ ;
+特務機関 < tokumukikan\ ;
+五月病 < gogatsubyou\ ;
+砂糖大根 < satoudaikon\ ;
+弾力性 < danryokusei\ ;
+核爆弾 < kakubakudan\ ;
+商業街 < shougyougai\ ;
+頭文字 < kashiramoji\ ;
+半加工品 < hankakouhin\ ;
+自記温度計 < jikiondokei\ ;
+縮緬紙 < chirimenshi\ ;
+二等分線 < nitoubunsen\ ;
+授業時間 < jugyoujikan\ ;
+天神地祇 < tenjinchigi\ ;
+追加予算 < tsuikayosan\ ;
+非合理的 < higouriteki\ ;
+労農政府 < rounouseifu\ ;
+南京虫 < nankinmushi\ ;
+裁決書 < saiketsusho\ ;
+下意上達 < kaijoutatsu\ ;
+核燃料 < kakunenryou\ ;
+乗車拒否 < joushakyohi\ ;
+逐字訳 < chikujiyaku\ ;
+水洗便所 < suisenbenjo\ ;
+収納家具 < shuunoukagu\ ;
+未開墾地 < mikaikonchi\ ;
+正当防衛 < seitoubouei\ ;
+一徹者 < ittetsumono\ ;
+御協力 < gokyouryoku\ ;
+学科試験 < gakkashiken\ ;
+係属中 < keizokuchuu\ ;
+潜水母艦 < sensuibokan\ ;
+米印 < komejirushi\ ;
+病中吟 < byouchuugin\ ;
+使用価値 < shiyoukachi\ ;
+極限値 < kyokugenchi\ ;
+教育学 < kyouikugaku\ ;
+電話室 < denwashitsu\ ;
+遠心力 < enshinryoku\ ;
+官尊民卑 < kansonminpi\ ;
+宮崎県 < miyazakiken\ ;
+商工業 < shoukougyou\ ;
+衝動的 < shoudouteki\ ;
+胆石症 < tansekishou\ ;
+輸出品 < yushutsuhin\ ;
+普遍文法 < fuhenbunpou\ ;
+過剰人口 < kajoujinkou\ ;
+三眠蚕 < sanminkaiko\ ;
+間欠泉 < kanketsusen\ ;
+出先機関 < desakikikan\ ;
+準備委員会 < junbiiinkai\ ;
+天龍川 < tenryuukawa\ ;
+教習生 < kyoushuusei\ ;
+隣接地 < rinsetsuchi\ ;
+発生率 < hasseiritsu\ ;
+葡萄畑 < budoubatake\ ;
+境界標 < kyoukaihyou\ ;
+空軍力 < kuugunryoku\ ;
+交声曲 < kouseikyoku\ ;
+現内閣 < gen''naikaku\ ;
+占星術 < senseijutsu\ ;
+香辛料 < koushinryou\ ;
+町道場 < machidoujou\ ;
+宣伝効果 < sendenkouka\ ;
+時々刻々 < jijikokkoku\ ;
+近似計算 < kinjikeisan\ ;
+動力源 < douryokugen\ ;
+恒等式 < koutoushiki\ ;
+討伐軍 < toubatsugun\ ;
+表看板 < omotekanban\ ;
+護憲運動 < goken''undou\ ;
+濃青色 < nouseishoku\ ;
+殺人犯 < satsujinhan\ ;
+残念賞 < zan''nenshou\ ;
+原因結果 < gen''inkekka\ ;
+友軍部隊 < yuugunbutai\ ;
+脳充血 < noujuuketsu\ ;
+食人種 < shokujinshu\ ;
+赤褐色 < sekkasshoku\ ;
+無尽会社 < mujingaisha\ ;
+興信録 < koushinroku\ ;
+電熱器 < den''netsuki\ ;
+作曲者 < sakkyokusha\ ;
+古今東西 < kokontouzai\ ;
+唐錦 < karanishiki\ ;
+看護婦長 < kangofuchou\ ;
+商標権 < shouhyouken\ ;
+悲憤慷慨 < hifunkougai\ ;
+常識人 < joushikijin\ ;
+古代文明 < kodaibunmei\ ;
+観客層 < kankyakusou\ ;
+無産政党 < musanseitou\ ;
+一重桜 < hitoezakura\ ;
+選挙準備 < senkyojunbi\ ;
+地動説 < chidousetsu\ ;
+意識不明 < ishikifumei\ ;
+白亜質 < hakuashitsu\ ;
+膠着剤 < kouchakuzai\ ;
+一段落 < ichidanraku\ ;
+組合主義 < kumiaishugi\ ;
+軍用鳩 < gun''youbato\ ;
+俗文学 < zokubungaku\ ;
+個体発生 < kotaihassei\ ;
+電圧計 < den''atsukei\ ;
+薬局方 < yakkyokuhou\ ;
+法制局 < houseikyoku\ ;
+薬学者 < yakugakusha\ ;
+係争物 < keisoubutsu\ ;
+四分音符 < shibun''onpu\ ;
+使徒書簡 < shitoshokan\ ;
+優柔不断 < yuujuufudan\ ;
+脱毛剤 < datsumouzai\ ;
+煎餅蒲団 < senbeibuton\ ;
+管轄権 < kankatsuken\ ;
+借用書 < shakuyousho\ ;
+予定調和 < yoteichouwa\ ;
+奉公口 < houkouguchi\ ;
+先祖伝来 < senzodenrai\ ;
+放送局 < housoukyoku\ ;
+事業部制 < jigyoubusei\ ;
+黄白色 < kohakushoku\ ;
+臨時列車 < rinjiressha\ ;
+定期試験 < teikishiken\ ;
+羽織袴 < haorihakama\ ;
+総合課税 < sougoukazei\ ;
+遠隔講義 < enkakukougi\ ;
+除幕式 < jomakushiki\ ;
+海底油田 < kaiteiyuden\ ;
+真一文字 < maichimonji\ ;
+蝸牛 < dendenmushi\ ;
+電話調査 < denwachousa\ ;
+技術援助 < gijutsuenjo\ ;
+強制的 < kyouseiteki\ ;
+強心剤 < kyoushinzai\ ;
+生活環 < seikatsukan\ ;
+春一番 < haruichiban\ ;
+十八番 < juuhachiban\ ;
+黒鶫 < kurotsugumi\ ;
+偏向回路 < henkoukairo\ ;
+予定納税 < yoteinouzei\ ;
+皇后陛下 < kougouheika\ ;
+連邦制度 < renpouseido\ ;
+錦蛇 < nishikihebi\ ;
+終身官 < shuushinkan\ ;
+国侍 < kunizamurai\ ;
+電気電子 < denkidenshi\ ;
+代行機関 < daikoukikan\ ;
+疲労困憊 < hiroukonpai\ ;
+盗難保険 < tounanhoken\ ;
+純真無垢 < junshinmuku\ ;
+月長石 < getchouseki\ ;
+教職員 < kyoushokuin\ ;
+下位互換性 < kaigokansei\ ;
+法務大臣 < houmudaijin\ ;
+送別会 < soubetsukai\ ;
+出品国 < shuppinkoku\ ;
+刑事処分 < keijishobun\ ;
+駐車違反 < chuushaihan\ ;
+南京町 < nankinmachi\ ;
+時機尚早 < jikishousou\ ;
+道徳的 < doutokuteki\ ;
+商業界 < shougyoukai\ ;
+収納額 < shuunougaku\ ;
+鼎立戦 < teiritsusen\ ;
+原則的 < gensokuteki\ ;
+年金基金 < nenkinkikin\ ;
+傍聴料 < bouchouryou\ ;
+千円札 < sen''ensatsu\ ;
+定収入 < teishuunyuu\ ;
+適法行為 < tekihoukoui\ ;
+物見遊山 < monomiyusan\ ;
+得意満面 < tokuimanmen\ ;
+時差出勤 < jisashukkin\ ;
+政治問題 < seijimondai\ ;
+絶対敬語 < zettaikeigo\ ;
+鍵盤楽器 < kenbangakki\ ;
+訴訟事件 < soshoujiken\ ;
+意味役割 < imiyakuwari\ ;
+六大州 < rokudaishuu\ ;
+割引券 < waribikiken\ ;
+住生活 < juuseikatsu\ ;
+価格安定 < kakakuantei\ ;
+今上陛下 < kinjouheika\ ;
+電気系統 < denkikeitou\ ;
+前立腺 < zenritsusen\ ;
+兌換銀行 < dakanginkou\ ;
+写真集 < shashinshuu\ ;
+全会一致 < zenkaiitchi\ ;
+百万遍 < hyakumanben\ ;
+蝉時雨 < semishigure\ ;
+麻薬患者 < mayakukanja\ ;
+割引債 < waribikisai\ ;
+心機一転 < shinkiitten\ ;
+無名戦士 < mumeisenshi\ ;
+唯一無二 < yuiitsumuni\ ;
+接着剤 < setchakuzai\ ;
+手術台 < shujutsudai\ ;
+防火扉 < boukatobira\ ;
+乱入者 < ran''nyuusha\ ;
+計画的 < keikakuteki\ ;
+財政安定 < zaiseiantei\ ;
+調印式 < chouinshiki\ ;
+看護学校 < kangogakkou\ ;
+逆転層 < gyakutensou\ ;
+生活法 < seikatsuhou\ ;
+粘土質 < nendoshitsu\ ;
+分類基準 < bunruikijun\ ;
+逆輸入 < gyakuyunyuu\ ;
+文書偽造 < bunshogizou\ ;
+孤軍奮闘 < kogunfuntou\ ;
+新興国 < shinkoukoku\ ;
+数次旅券 < suujiryoken\ ;
+合目的 < goumokuteki\ ;
+合成繊維 < gouseisen''i\ ;
+新人賞 < shinjinshou\ ;
+電報局 < denpoukyoku\ ;
+貴族政治 < kizokuseiji\ ;
+博愛主義 < hakuaishugi\ ;
+一斉検挙 < isseikenkyo\ ;
+亜鉛華軟膏 < aenkanankou\ ;
+三幕物 < sanmakumono\ ;
+白木蓮 < hakumokuren\ ;
+商業港 < shougyoukou\ ;
+一里塚 < ichiridzuka\ ;
+終身刑 < shuushinkei\ ;
+低温輸送 < teion''yusou\ ;
+風光明媚 < fuukoumeibi\ ;
+後部座席 < koubuzaseki\ ;
+動力学 < dourikigaku\ ;
+節料理 < sechiryouri\ ;
+出品人 < shuppin''nin\ ;
+傍聴席 < bouchouseki\ ;
+不適切 < futekisetsu\ ;
+個人投資 < kojintoushi\ ;
+学際的 < gakusaiteki\ ;
+竜骨座 < ryuukotsuza\ ;
+保険会社 < hokengaisha\ ;
+硫化水素 < ryuukasuiso\ ;
+仮条約 < karijouyaku\ ;
+日本列島 < nihonrettou\ ;
+階級章 < kaikyuushou\ ;
+戦時公債 < senjikousai\ ;
+抵抗力 < teikouryoku\ ;
+森林学 < shinringaku\ ;
+海員組合 < kaiinkumiai\ ;
+百万言 < hyakumangen\ ;
+修辞疑問 < shuujigimon\ ;
+港町 < minatomachi\ ;
+法定貨幣 < houteikahei\ ;
+体内受精 < tainaijusei\ ;
+化粧下 < keshoushita\ ;
+虫薬 < mushigusuri\ ;
+楽観主義 < rakkanshugi\ ;
+赤提灯 < akachouchin\ ;
+入院患者 < nyuuinkanja\ ;
+創造主 < souzounushi\ ;
+関連事項 < kanrenjikou\ ;
+原価計算 < genkakeisan\ ;
+電子回路 < denshikairo\ ;
+候孝賢 < houshaushen\ ;
+重点主義 < juutenshugi\ ;
+価電子帯 < kadenshitai\ ;
+有効需要 < yuukoujuyou\ ;
+事業年度 < jigyounendo\ ;
+相反定理 < souhanteiri\ ;
+六分儀座 < rokubungiza\ ;
+冬将軍 < fuyushougun\ ;
+安定状態 < anteijoutai\ ;
+民主政治 < minshuseiji\ ;
+独習書 < dokushuusho\ ;
+公証料 < koushouryou\ ;
+唐紅 < karakurenai\ ;
+綿織物 < men''orimono\ ;
+化学繊維 < kagakusen''i\ ;
+絶対音感 < zettaionkan\ ;
+先入主 < sen''nyuushu\ ;
+最終的 < saishuuteki\ ;
+本建築 < honkenchiku\ ;
+自然破壊 < shizenhakai\ ;
+報道機関 < houdoukikan\ ;
+捕虜交換 < horyokoukan\ ;
+狗尾草 < enokorogusa\ ;
+亜米利加杉 < amerikasugi\ ;
+価値判断 < kachihandan\ ;
+行商人 < gyoushounin\ ;
+切分法 < setsubunhou\ ;
+手練手管 < terentekuda\ ;
+器械体操 < kikaitaisou\ ;
+養老保険 < yourouhoken\ ;
+小百姓 < kobyakushou\ ;
+心丈夫 < kokorojoubu\ ;
+鳥類学 < chouruigaku\ ;
+弱年者 < jakunenmono\ ;
+中隊長 < chuutaichou\ ;
+不当表示 < futouhyouji\ ;
+安全運転 < anzen''unten\ ;
+相談役 < soudan''yaku\ ;
+交際範囲 < kousaihan''i\ ;
+応用科学 < ouyoukagaku\ ;
+食事時 < shokujidoki\ ;
+八面体 < hachimentai\ ;
+不整合人 < fuseigoujin\ ;
+原判決 < genhanketsu\ ;
+単元制度 < tangenseido\ ;
+一歩前進 < ippozenshin\ ;
+国王陛下 < kokuouheika\ ;
+極地圏 < kyokuchiken\ ;
+放送衛星 < housoueisei\ ;
+寂光浄土 < jakkoujoudo\ ;
+監察官 < kansatsukan\ ;
+後生大事 < goshoudaiji\ ;
+三民主義 < sanminshugi\ ;
+白玉粉 < shiratamako\ ;
+商業文 < shougyoubun\ ;
+気管切開 < kikansekkai\ ;
+天動説 < tendousetsu\ ;
+傲岸不遜 < gouganfuson\ ;
+辻説法 < tsujiseppou\ ;
+家父長制 < kafuchousei\ ;
+暗黒星雲 < ankokuseiun\ ;
+近代国家 < kindaikokka\ ;
+煉丹術 < rentanjutsu\ ;
+西海岸 < nishikaigan\ ;
+前途有望 < zentoyuubou\ ;
+急上昇 < kyuujoushou\ ;
+宝石商 < housekishou\ ;
+換算率 < kansanritsu\ ;
+建設者 < kensetsusha\ ;
+北々西 < hokuhokusei\ ;
+音楽理論 < ongakuriron\ ;
+委託販売 < itakuhanbai\ ;
+銀婚式 < ginkonshiki\ ;
+三寒四温 < sankanshion\ ;
+貧乏所帯 < binboujotai\ ;
+御伽草子 < otogizoushi\ ;
+神奈川県 < kanagawaken\ ;
+電気装置 < denkisouchi\ ;
+地方議会 < chihougikai\ ;
+原動力 < gendouryoku\ ;
+俄景気 < niwakageiki\ ;
+装甲部隊 < soukoubutai\ ;
+不可入性 < fukanyuusei\ ;
+悪戯者 < itazuramono\ ;
+大福帳 < daifukuchou\ ;
+時節柄 < jisetsugara\ ;
+南京木綿 < nankinmomen\ ;
+磯鵯 < isohiyodori\ ;
+印象主義 < inshoushugi\ ;
+吸血鬼 < kyuuketsuki\ ;
+糖尿病 < tounyoubyou\ ;
+一張一弛 < itchouisshi\ ;
+区間列車 < kukanressha\ ;
+転任先 < ten''ninsaki\ ;
+支配力 < shihairyoku\ ;
+相思相愛 < soushisouai\ ;
+航空基地 < koukuukichi\ ;
+監査記録 < kansakiroku\ ;
+技術移転 < gijutsuiten\ ;
+産児制限 < sanjiseigen\ ;
+単音節 < tan''onsetsu\ ;
+新聞種 < shinbundane\ ;
+飽和状態 < houwajoutai\ ;
+低丘陵 < teikyuuryou\ ;
+国際的 < kokusaiteki\ ;
+郷土色 < kyoudoshoku\ ;
+竜田姫 < tatsutahime\ ;
+小学館 < shougakukan\ ;
+知能検査 < chinoukensa\ ;
+使節団 < shisetsudan\ ;
+消息文 < shousokubun\ ;
+緋衣草 < higoromosou\ ;
+主計局 < shukeikyoku\ ;
+道徳心 < doutokushin\ ;
+未決囚 < miketsushuu\ ;
+愛唱曲 < aishoukyoku\ ;
+孤影悄然 < koeishouzen\ ;
+五種競技 < goshukyougi\ ;
+偵察隊 < teisatsutai\ ;
+団体保険 < dantaihoken\ ;
+発信側 < hasshingawa\ ;
+姉妹都市 < shimaitoshi\ ;
+遠山里 < tooyamazato\ ;
+神経痛 < shinkeitsuu\ ;
+不通箇所 < futsuukasho\ ;
+神経症 < shinkeishou\ ;
+神経病 < shinkeibyou\ ;
+破邪顕正 < hajakenshou\ ;
+政治団体 < seijidantai\ ;
+一喜一憂 < ikkiichiyuu\ ;
+定着液 < teichakueki\ ;
+弁証学 < benshougaku\ ;
+準備命令 < junbimeirei\ ;
+受験科目 < jukenkamoku\ ;
+木管楽器 < mokkangakki\ ;
+発信人 < hasshin''nin\ ;
+中高音部 < chuukouonbu\ ;
+友愛結婚 < yuuaikekkon\ ;
+緑地帯 < ryokuchitai\ ;
+海軍基地 < kaigunkichi\ ;
+生活圏 < seikatsuken\ ;
+電子素子 < denshisoshi\ ;
+熱伝導 < netsudendou\ ;
+道徳学 < doutokugaku\ ;
+愛国運動 < aikokuundou\ ;
+適格者 < tekikakusha\ ;
+図書室 < toshoshitsu\ ;
+観音様 < kan''nonsama\ ;
+結婚式 < kekkonshiki\ ;
+西洋式 < seiyoushiki\ ;
+人文地理 < jinmonchiri\ ;
+労働争議 < roudousougi\ ;
+情報処理 < jouhoushori\ ;
+可変資本 < kahenshihon\ ;
+為替差益 < kawasesaeki\ ;
+誘拐事件 < yuukaijiken\ ;
+三大都市 < sandaitoshi\ ;
+男冥利 < otokomyouri\ ;
+所要時間 < shoyoujikan\ ;
+女権運動 < joken''undou\ ;
+分散処理 < bunsanshori\ ;
+走行可能 < soukoukanou\ ;
+命綱 < inochidzuna\ ;
+流言飛語 < ryuugenhigo\ ;
+一新紀元 < isshinkigen\ ;
+徒手体操 < toshutaisou\ ;
+上腕骨 < jouwankotsu\ ;
+生命力 < seimeiryoku\ ;
+硬骨漢 < koukotsukan\ ;
+商業地 < shougyouchi\ ;
+金轡 < kanagutsuwa\ ;
+万年床 < man''nendoko\ ;
+口車 < kuchiguruma\ ;
+講釈師 < koushakushi\ ;
+三幅対 < sanpukutsui\ ;
+蛋白尿 < tanpakunyou\ ;
+刺激臭 < shigekishuu\ ;
+草鞋虫 < warajimushi\ ;
+金融業 < kin''yuugyou\ ;
+封建主義 < houkenshugi\ ;
+菜種油 < nataneabura\ ;
+受験戦争 < jukensensou\ ;
+出雲大社 < izumotaisha\ ;
+雛人形 < hinaningyou\ ;
+権門勢家 < kenmonseika\ ;
+無着陸 < muchakuriku\ ;
+上分別 < joufunbetsu\ ;
+大動脈 < daidoumyaku\ ;
+無線操縦 < musensoujuu\ ;
+神無月 < kan''nadzuki\ ;
+幼馴染 < osananajimi\ ;
+円周率 < enshuuritsu\ ;
+借家争議 < shakkasougi\ ;
+宇宙科学 < uchuukagaku\ ;
+商業史 < shougyoushi\ ;
+古典芸能 < kotengeinou\ ;
+山岳病 < sangakubyou\ ;
+親任官 < shin''ninkan\ ;
+追跡者 < tsuisekisha\ ;
+豪華絢爛 < goukakenran\ ;
+発会式 < hakkaishiki\ ;
+婦人運動 < fujin''undou\ ;
+床面積 < yukamenseki\ ;
+不動明王 < fudoumyouou\ ;
+体外受精 < taigaijusei\ ;
+狸親父 < tanukioyaji\ ;
+木石漢 < bokusekikan\ ;
+国防省 < kokuboushou\ ;
+勤務年限 < kinmunengen\ ;
+国文学 < kokubungaku\ ;
+生殖腺 < seishokusen\ ;
+満場一致 < manjouitchi\ ;
+前世生存 < zenseseizon\ ;
+自殺的 < jisatsuteki\ ;
+会計年度 < kaikeinendo\ ;
+造物主 < zoubutsushu\ ;
+万葉仮名 < man''yougana\ ;
+傍聴随意 < bouchouzuii\ ;
+用兵術 < youheijutsu\ ;
+絶対多数 < zettaitasuu\ ;
+取調 < torishirabe\ ;
+退職金 < taishokukin\ ;
+紅白試合 < kouhakujiai\ ;
+会計監査 < kaikeikansa\ ;
+彎月状 < wangetsujou\ ;
+八紘一宇 < hakkouichiu\ ;
+舞台装置 < butaisouchi\ ;
+生没年 < seibotsunen\ ;
+単一性 < tan''itsusei\ ;
+鼻柱 < hanabashira\ ;
+持続力 < jizokuryoku\ ;
+事務長官 < jimuchoukan\ ;
+一般社会 < ippanshakai\ ;
+日帝時代 < nitteijidai\ ;
+新聞業 < shinbungyou\ ;
+登坂車線 < tohanshasen\ ;
+神経核 < shinkeikaku\ ;
+世界最大 < sekaisaidai\ ;
+指導原理 < shidougenri\ ;
+枢軸国 < suujikukoku\ ;
+造次顛沛 < zoujitenpai\ ;
+航空管理 < koukuukanri\ ;
+三色版 < sanshokuban\ ;
+窯印 < kamajirushi\ ;
+中間駅 < chuukan''eki\ ;
+能装束 < noushouzoku\ ;
+結晶学 < kesshougaku\ ;
+感染経路 < kansenkeiro\ ;
+解決法 < kaiketsuhou\ ;
+警戒色 < keikaishoku\ ;
+二等軍曹 < nitougunsou\ ;
+一毛作 < ichimousaku\ ;
+温熱性 < on''netsusei\ ;
+防火塗料 < boukatoryou\ ;
+自縄自縛 < jijoujibaku\ ;
+途中下車 < tochuugesha\ ;
+環境保護 < kankyouhogo\ ;
+嘘発見器 < usohakkenki\ ;
+面会時間 < menkaijikan\ ;
+重機関銃 < juukikanjuu\ ;
+内反脚 < naihankyaku\ ;
+法案審議 < houanshingi\ ;
+延縄漁 < haenawaryou\ ;
+直方体 < chokuhoutai\ ;
+自動制御 < jidouseigyo\ ;
+家族達 < kazokutachi\ ;
+刺激的 < shigekiteki\ ;
+個人指導 < kojinshidou\ ;
+自然発火 < shizenhakka\ ;
+主務大臣 < shumudaijin\ ;
+短期決戦 < tankikessen\ ;
+言語運用 < gengoun''you\ ;
+交換局 < koukankyoku\ ;
+危険思想 < kikenshisou\ ;
+空域管理 < kuuikikanri\ ;
+御殿女中 < gotenjochuu\ ;
+七年忌 < shichinenki\ ;
+隣保事業 < rinpojigyou\ ;
+悪戯書 < itazuragaki\ ;
+千人針 < sen''ninbari\ ;
+合意心中 < gouishinjuu\ ;
+世界記録 < sekaikiroku\ ;
+基本条件 < kihonjouken\ ;
+農民一揆 < noumin''ikki\ ;
+前代未聞 < zendaimimon\ ;
+消毒液 < shoudokueki\ ;
+複合汚染 < fukugouosen\ ;
+絶対零度 < zettaireido\ ;
+構成可能 < kouseikanou\ ;
+一人舞台 < hitoributai\ ;
+皮下組織 < hikasoshiki\ ;
+油砥石 < aburatoishi\ ;
+地下資源 < chikashigen\ ;
+狐饂飩 < kitsuneudon\ ;
+濃褐色 < noukasshoku\ ;
+材木商 < zaimokushou\ ;
+白化個体 < hakukakotai\ ;
+電話回線 < denwakaisen\ ;
+不正咬合 < fuseikougou\ ;
+摩訶不思議 < makafushigi\ ;
+原色版 < genshokuban\ ;
+美容体操 < biyoutaisou\ ;
+協議離婚 < kyougirikon\ ;
+蔦蘿 < tsutakazura\ ;
+温暖前線 < ondanzensen\ ;
+単項式 < tankoushiki\ ;
+新規保管 < shinkihokan\ ;
+土気色 < tsuchikeiro\ ;
+取締 < torishimari\ ;
+付属節 < fuzokusetsu\ ;
+一貫番号 < ikkanbangou\ ;
+現行法規 < genkouhouki\ ;
+一番鶏 < ichibandori\ ;
+紋章学 < monshougaku\ ;
+真只中 < mattadanaka\ ;
+祖国復帰 < sokokufukki\ ;
+含水炭素 < gansuitanso\ ;
+労働時間 < roudoujikan\ ;
+出席者 < shussekisha\ ;
+為替相場 < kawasesouba\ ;
+世界一周 < sekaiisshuu\ ;
+医療法人 < iryouhoujin\ ;
+門前町 < monzenmachi\ ;
+氷袋 < kooribukuro\ ;
+鼓舞激励 < kobugekirei\ ;
+教訓的 < kyoukunteki\ ;
+貯金局 < chokinkyoku\ ;
+官僚臭 < kanryoushuu\ ;
+蹄鉄工 < teitetsukou\ ;
+粒度分布 < ryuudobunpu\ ;
+神経学 < shinkeigaku\ ;
+投下資本 < toukashihon\ ;
+用意周到 < youishuutou\ ;
+表玄関 < omotegenkan\ ;
+内燃機関 < nainenkikan\ ;
+出張店 < shutchouten\ ;
+旅行鞄 < ryokoukaban\ ;
+減塩食 < gen''enshoku\ ;
+団体客 < dantaikyaku\ ;
+防水加工 < bousuikakou\ ;
+心霊学 < shinreigaku\ ;
+個人消費 < kojinshouhi\ ;
+仮性近視 < kaseikinshi\ ;
+大正琴 < taishougoto\ ;
+欠勤率 < kekkinritsu\ ;
+定着剤 < teichakuzai\ ;
+南西 < minaminishi\ ;
+入場料 < nyuujouryou\ ;
+逐語訳 < chikugoyaku\ ;
+思考力 < shikouryoku\ ;
+乳用牛 < nyuuyougyuu\ ;
+正覚坊 < shougakubou\ ;
+緑藻類 < ryokusourui\ ;
+目撃者 < mokugekisha\ ;
+黒曜石 < kokuyouseki\ ;
+空気伝染 < kuukidensen\ ;
+満一年 < man''ichinen\ ;
+没我的 < botsugateki\ ;
+含塵率 < ganjinritsu\ ;
+幼年時代 < younenjidai\ ;
+退職者 < taishokusha\ ;
+蔵屋敷 < kurayashiki\ ;
+社会復帰 < shakaifukki\ ;
+電気製品 < denkiseihin\ ;
+包金 < tsutsumikin\ ;
+再建築 < saikenchiku\ ;
+産婦人科医 < sanfujinkai\ ;
+一貫作業 < ikkansagyou\ ;
+滞在期間 < taizaikikan\ ;
+献身的 < kenshinteki\ ;
+無形財産 < mukeizaisan\ ;
+妨害物 < bougaibutsu\ ;
+点眼薬 < tengan''yaku\ ;
+元首相 < motoshushou\ ;
+無断転載 < mudantensai\ ;
+恐水病 < kyousuibyou\ ;
+均衡予算 < kinkouyosan\ ;
+密売品 < mitsubaihin\ ;
+石川県 < ishikawaken\ ;
+付帯条件 < futaijouken\ ;
+副会長 < fukukaichou\ ;
+発明者 < hatsumeisha\ ;
+軍事工場 < gunjikoujou\ ;
+有効数字 < yuukousuuji\ ;
+創作的 < sousakuteki\ ;
+臍下丹田 < seikatanden\ ;
+大逆罪 < taigyakuzai\ ;
+試用期間 < shiyoukikan\ ;
+一元的 < ichigenteki\ ;
+化学変化 < kagakuhenka\ ;
+自動車税 < jidoushazei\ ;
+言語道断 < gongodoudan\ ;
+百面相 < hyakumensou\ ;
+不侵略 < fushinryaku\ ;
+古狐 < furugitsune\ ;
+付属物 < fuzokubutsu\ ;
+担保物権 < tanpobukken\ ;
+営業時間 < eigyoujikan\ ;
+勉強中 < benkyouchuu\ ;
+写真帳 < shashinchou\ ;
+一目散 < ichimokusan\ ;
+風力計 < fuuryokukei\ ;
+活用形 < katsuyoukei\ ;
+自動扉 < jidoutobira\ ;
+愛妻弁当 < aisaibentou\ ;
+会社立 < kaisharitsu\ ;
+美的嫌悪 < bitekiken''o\ ;
+見目形 < mimekatachi\ ;
+三千世界 < sanzensekai\ ;
+鑑別所 < kanbetsusho\ ;
+多重放送 < tajuuhousou\ ;
+二重外交 < nijuugaikou\ ;
+仮契約 < karikeiyaku\ ;
+核拡散 < kakukakusan\ ;
+周辺国 < shuuhenkoku\ ;
+予備工作 < yobikousaku\ ;
+短波放送 < tanpahousou\ ;
+風光絶佳 < fuukouzekka\ ;
+必然性 < hitsuzensei\ ;
+主情主義 < shujoushugi\ ;
+両替商 < ryougaeshou\ ;
+行動主義 < koudoushugi\ ;
+自分自身 < jibunjishin\ ;
+脱色剤 < dasshokuzai\ ;
+夜光塗料 < yakoutoryou\ ;
+右心室 < ushinshitsu\ ;
+力革 < chikaragawa\ ;
+中央口 < chuuouguchi\ ;
+真菌症 < shinkinshou\ ;
+圧力波 < atsuryokuha\ ;
+帰無仮説 < kimukasetsu\ ;
+市場原理 < shijougenri\ ;
+全国的 < zenkokuteki\ ;
+京滋地方 < keijichihou\ ;
+縄梯子 < nawabashigo\ ;
+大義名分 < taigimeibun\ ;
+呼吸運動 < kokyuuundou\ ;
+螺旋階段 < rasenkaidan\ ;
+英語教育 < eigokyouiku\ ;
+象牙海岸 < zougekaigan\ ;
+我物顔 < wagamonogao\ ;
+日本脳炎 < nihon''nouen\ ;
+食堂車 < shokudousha\ ;
+運営委員会 < un''eiiinkai\ ;
+善知識 < zenchishiki\ ;
+和魂漢才 < wakonkansai\ ;
+経営再建 < keieisaiken\ ;
+脳下垂体 < noukasuitai\ ;
+一円札 < ichiensatsu\ ;
+視聴覚 < shichoukaku\ ;
+募金運動 < bokin''undou\ ;
+耐熱鋼 < tainetsukou\ ;
+刻苦勉励 < kokkubenrei\ ;
+既婚男性 < kikondansei\ ;
+革命的 < kakumeiteki\ ;
+治水工事 < chisuikouji\ ;
+小休止 < shoukyuushi\ ;
+日本人論 < nihonjinron\ ;
+好取組 < koutorikumi\ ;
+博奕宿 < bakuchiyado\ ;
+軍事公債 < gunjikousai\ ;
+十人十色 < juunintoiro\ ;
+無配会社 < muhaigaisha\ ;
+脳貧血 < nouhinketsu\ ;
+家族手当 < kazokuteate\ ;
+洗礼式 < senreishiki\ ;
+甲骨文 < koukotsubun\ ;
+日銀券 < nichiginken\ ;
+羅針盤座 < rashinbanza\ ;
+福祉機器 < fukushikiki\ ;
+貧民窟 < hinminkutsu\ ;
+奉献物 < houkenbutsu\ ;
+実業家 < jitsugyouka\ ;
+胸算用 < munezan''you\ ;
+暫定予算 < zanteiyosan\ ;
+自費出版 < jihishuppan\ ;
+冬木立 < fuyukodachi\ ;
+常用漢字 < jouyoukanji\ ;
+結紮糸 < kessatsushi\ ;
+王侯貴族 < oukoukizoku\ ;
+逆宣伝 < gyakusenden\ ;
+人体模型 < jintaimokei\ ;
+鮮紅色 < senkoushoku\ ;
+入国税 < nyuukokuzei\ ;
+日西辞典 < nisseijiten\ ;
+私儀 < watakushigi\ ;
+感情移入 < kanjouinyuu\ ;
+拡大鏡 < kakudaikyou\ ;
+地方競馬 < chihoukeiba\ ;
+道楽者 < dourakumono\ ;
+女房役 < nyoubouyaku\ ;
+条約国 < jouyakukoku\ ;
+力足 < chikaraashi\ ;
+経済効果 < keizaikouka\ ;
+代替物 < daitaibutsu\ ;
+混凝土 < konkurizeto\ ;
+民事訴訟 < minjisoshou\ ;
+化学記号 < kagakukigou\ ;
+私供 < watashidomo\ ;
+参加意識 < sankaishiki\ ;
+戦時体制 < senjitaisei\ ;
+自由市場 < jiyuushijou\ ;
+冷房完備 < reiboukanbi\ ;
+自己双対 < jikosoutsui\ ;
+消毒剤 < shoudokuzai\ ;
+力負 < chikaramake\ ;
+火燵掛布 < kotatsugake\ ;
+万能薬 < man''nouyaku\ ;
+信憑性 < shinpyousei\ ;
+希望価格 < kiboukakaku\ ;
+列伝体 < retsudentai\ ;
+口可笑 < kuchiokashi\ ;
+選対本部 < sentaihonbu\ ;
+先頭打者 < sentoudasha\ ;
+実生活 < jisseikatsu\ ;
+名前空間 < namaekuukan\ ;
+百姓家 < hyakushouya\ ;
+浅草海苔 < asakusanori\ ;
+事業本部 < jigyouhonbu\ ;
+理論闘争 < rirontousou\ ;
+人口増加 < jinkouzouka\ ;
+外交辞令 < gaikoujirei\ ;
+同音異義語 < douon''igigo\ ;
+氏姓制度 < shiseiseido\ ;
+一局部 < ichikyokubu\ ;
+縄文時代 < joumonjidai\ ;
+間一髪 < kan''ippatsu\ ;
+世界大戦 < sekaitaisen\ ;
+機動演習 < kidouenshuu\ ;
+自警団員 < jikeidan''in\ ;
+電気抵抗 < denkiteikou\ ;
+鎧一具 < yoroiichigu\ ;
+町人物 < chouninmono\ ;
+通訳官 < tsuuyakukan\ ;
+必要悪 < hitsuyouaku\ ;
+鉄道網 < tetsudoumou\ ;
+原産物 < gensanbutsu\ ;
+器楽曲 < kigakukyoku\ ;
+必要性 < hitsuyousei\ ;
+防音装置 < bouonsouchi\ ;
+半面識 < hanmenshiki\ ;
+水澄 < mizusumashi\ ;
+取扱 < toriatsukai\ ;
+夢心地 < yumegokochi\ ;
+負債合計 < fusaigoukei\ ;
+今週中 < konshuuchuu\ ;
+話下手 < hanashibeta\ ;
+遊軍記者 < yuugunkisha\ ;
+価値体系 < kachitaikei\ ;
+二重結婚 < nijuukekkon\ ;
+一長一短 < itchouittan\ ;
+護送船団 < gosousendan\ ;
+犯行現場 < hankougenba\ ;
+意見広告 < ikenkoukoku\ ;
+小乗的 < shoujouteki\ ;
+善因善果 < zen''inzenka\ ;
+立脚点 < rikkyakuten\ ;
+鉄兜 < tetsukabuto\ ;
+無人地帯 < mujinchitai\ ;
+経営転換 < keieitenkan\ ;
+不信実 < fushinjitsu\ ;
+販売機会 < hanbaikikai\ ;
+争奪戦 < soudatsusen\ ;
+商学士 < shougakushi\ ;
+上屋敷 < kamiyashiki\ ;
+若大将 < wakadaishou\ ;
+遠隔操作 < enkakusousa\ ;
+操舵室 < soudashitsu\ ;
+成人式 < seijinshiki\ ;
+慣用語句 < kan''yougoku\ ;
+液体空気 < ekitaikuuki\ ;
+新面目 < shinmenmoku\ ;
+注文服 < chuumonfuku\ ;
+上棟式 < joutoushiki\ ;
+赤銅色 < shakudouiro\ ;
+出刃包丁 < debabouchou\ ;
+向学心 < kougakushin\ ;
+渇望者 < katsubousha\ ;
+土讚本線 < dosanhonsen\ ;
+財政支援 < zaiseishien\ ;
+宮廷画家 < kyuuteigaka\ ;
+執達吏 < shittatsuri\ ;
+最後列車 < saigoressha\ ;
+理工学部 < rikougakubu\ ;
+保管会社 < hokangaisha\ ;
+乗心地 < norigokochi\ ;
+配合禁忌 < haigoukinki\ ;
+弔祭料 < chousairyou\ ;
+過剰投資 < kajoutoushi\ ;
+家長制度 < kachouseido\ ;
+可聴距離 < kachoukyori\ ;
+下検分 < shitakenbun\ ;
+親類縁者 < shinruienja\ ;
+開催式 < kaisaishiki\ ;
+田舎娘 < inakamusume\ ;
+箱火鉢 < hakohibachi\ ;
+無理心中 < murishinjuu\ ;
+副首相 < fukushushou\ ;
+年賀葉書 < nengahagaki\ ;
+敵愾心 < tekigaishin\ ;
+釈空海 < shakukuukai\ ;
+連邦予算 < renpouyosan\ ;
+組織票 < soshikihyou\ ;
+出身者 < shusshinsha\ ;
+創価学会 < soukagakkai\ ;
+仕事量 < shigotoryou\ ;
+半月形 < hangetsukei\ ;
+分子説 < bunshisetsu\ ;
+半月弁 < hangetsuben\ ;
+正答率 < seitouritsu\ ;
+利子補給 < rishihokyuu\ ;
+季節的 < kisetsuteki\ ;
+氷枕 < koorimakura\ ;
+水柱 < mizubashira\ ;
+根本原理 < konpongenri\ ;
+安全保障 < anzenhoshou\ ;
+原子説 < genshisetsu\ ;
+健康保険 < kenkouhoken\ ;
+暗黒時代 < ankokujidai\ ;
+世代交代 < sedaikoutai\ ;
+神嘗祭 < kan''namesai\ ;
+桧舞台 < hinokibutai\ ;
+転送電話 < tensoudenwa\ ;
+対局者 < taikyokusha\ ;
+貝殻骨 < kaigarabone\ ;
+千両箱 < senryoubako\ ;
+昭和時代 < shouwajidai\ ;
+純収入 < junshuunyuu\ ;
+物理的 < butsuriteki\ ;
+林産物 < rinsanbutsu\ ;
+突然死 < totsuzenshi\ ;
+使用許可 < shiyoukyoka\ ;
+証取法 < shoutorihou\ ;
+歴史的 < rekishiteki\ ;
+組織的 < soshikiteki\ ;
+贈呈式 < zouteishiki\ ;
+積載量 < sekisairyou\ ;
+自発的 < jihatsuteki\ ;
+己 < tsuchinoto\ ;
+屡 < shibashiba\ ;
+謀 < hakarigoto\ ;
+熟 < tsukudzuku\ ;
+嘴 < kuchibashi\ ;
+々 < kurikaeshi\ ;
+土石流 < dosekiryuu\ ;
+市町村 < shichouson\ ;
+音楽映画 < ongakueiga\ ;
+食塩水 < shokuensui\ ;
+潤滑油 < junkatsuyu\ ;
+流星群 < ryuuseigun\ ;
+契約金 < keiyakukin\ ;
+決議文 < ketsugibun\ ;
+蒸留酒 < jouryuushu\ ;
+針葉樹 < shin''youju\ ;
+猛勉強 < moubenkyou\ ;
+宇宙遊泳 < uchuuyuuei\ ;
+深刻化 < shinkokuka\ ;
+切通 < kiridooshi\ ;
+所得顔 < tokoroegao\ ;
+御客様 < okyakusama\ ;
+蔵書票 < zoushohyou\ ;
+人工雪 < jinkouyuki\ ;
+同腹仔 < doufukushi\ ;
+射倖心 < shakoushin\ ;
+保健制度 < hokenseido\ ;
+準備運動 < junbiundou\ ;
+代議制度 < daigiseido\ ;
+博士号 < hakushigou\ ;
+入漁者 < nyuugyosha\ ;
+別除権 < betsujoken\ ;
+戦闘服 < sentoufuku\ ;
+模型地図 < mokeichizu\ ;
+養鶏業 < youkeigyou\ ;
+議決権 < giketsuken\ ;
+入園料 < nyuuenryou\ ;
+優先的 < yuusenteki\ ;
+無茶苦茶 < muchakucha\ ;
+同一視 < douitsushi\ ;
+古往今来 < kooukonrai\ ;
+難行道 < nangyoudou\ ;
+遺失品 < ishitsuhin\ ;
+食文化 < shokubunka\ ;
+鯰髭 < namazuhige\ ;
+民主国 < minshukoku\ ;
+再帰熱 < saikinetsu\ ;
+炭化物 < tankabutsu\ ;
+断片的 < danpenteki\ ;
+溺死体 < dekishitai\ ;
+海洋学 < kaiyougaku\ ;
+歯神経 < shishinkei\ ;
+口口 < kuchiguchi\ ;
+反抗的 < hankouteki\ ;
+開催国 < kaisaikoku\ ;
+御両親 < goryoushin\ ;
+摩利支天 < marishiten\ ;
+修正液 < shuuseieki\ ;
+初詣 < hatsumoude\ ;
+石畳 < ishidatami\ ;
+人為淘汰 < jin''itouta\ ;
+厚生省 < kouseishou\ ;
+逆説 < gyakusetsu\ ;
+高級車 < koukyuusha\ ;
+軟文学 < nanbungaku\ ;
+稼働時間 < kadoujikan\ ;
+試作品 < shisakuhin\ ;
+観覧料 < kanranryou\ ;
+不信任 < fushin''nin\ ;
+茸雲 < kinokogumo\ ;
+近道 < chikamichi\ ;
+三脚架 < sankyakuka\ ;
+変態的 < hentaiteki\ ;
+医療制度 < iryouseido\ ;
+近近 < chikadjika\ ;
+乞高評 < koukouhyou\ ;
+水心 < mizugokoro\ ;
+毛氈苔 < mousengoke\ ;
+面罵罵倒 < menbabatou\ ;
+三尺帯 < sanjakuobi\ ;
+応急策 < oukyuusaku\ ;
+砂煙 < sunakemuri\ ;
+人道的 < jindouteki\ ;
+海酸漿 < umihoozuki\ ;
+承認状 < shouninjou\ ;
+随筆家 < zuihitsuka\ ;
+核融合 < kakuyuugou\ ;
+抽選券 < chuusenken\ ;
+川魚 < kawazakana\ ;
+免許証 < menkyoshou\ ;
+美容術 < biyoujutsu\ ;
+裏貸屋 < uragashiya\ ;
+防毒面 < boudokumen\ ;
+弁慶蟹 < benkeigani\ ;
+卯年 < usagidoshi\ ;
+二線式 < nisenshiki\ ;
+必要事 < hitsuyouji\ ;
+発明家 < hatsumeika\ ;
+独裁者 < dokusaisha\ ;
+眺望権 < choubouken\ ;
+内通者 < naitsuusha\ ;
+中長期 < chuuchouki\ ;
+選挙違反 < senkyoihan\ ;
+現象論 < genshouron\ ;
+魔術師 < majutsushi\ ;
+国土庁 < kokudochou\ ;
+積分法 < sekibunhou\ ;
+信号灯 < shingoutou\ ;
+半陰陽 < han''in''you\ ;
+日本時間 < nihonjikan\ ;
+辻辻 < tsujitsuji\ ;
+平面鏡 < heimenkyou\ ;
+北枕 < kitamakura\ ;
+宅配便 < takuhaibin\ ;
+萎縮症 < ishukushou\ ;
+天目山 < tenmokuzan\ ;
+偏平足 < henpeisoku\ ;
+法学士 < hougakushi\ ;
+奴隷制度 < doreiseido\ ;
+構造保持 < kouzouhoji\ ;
+確執 < kakushitsu\ ;
+氷室 < hyoushitsu\ ;
+発煙筒 < hatsuentou\ ;
+側頭葉 < sokutouyou\ ;
+天皇杯 < ten''nouhai\ ;
+細胞核 < saiboukaku\ ;
+自動車化 < jidoushaka\ ;
+独擅場 < dokusenjou\ ;
+日本書紀 < nihonshoki\ ;
+製鋼業 < seikougyou\ ;
+光熱費 < kounetsuhi\ ;
+愛郷心 < aikyoushin\ ;
+決別 < ketsubetsu\ ;
+生産高 < seisandaka\ ;
+海水浴 < kaisuiyoku\ ;
+仮繃帯 < karihoutai\ ;
+及第者 < kyuudaisha\ ;
+後技 < ushirowaza\ ;
+卍巴 < manjidomoe\ ;
+米陸軍 < beirikugun\ ;
+心室 < shinshitsu\ ;
+注文品 < chuumonhin\ ;
+恒常的 < koujouteki\ ;
+人形師 < ningyoushi\ ;
+榴散弾 < ryuusandan\ ;
+発電機 < hatsudenki\ ;
+不空成就 < fukuujouju\ ;
+旧市街 < kyuushigai\ ;
+観覧席 < kanranseki\ ;
+実用化 < jitsuyouka\ ;
+考現学 < kougengaku\ ;
+平和運動 < heiwaundou\ ;
+公定歩合 < kouteibuai\ ;
+天衣無縫 < ten''imuhou\ ;
+開催中 < kaisaichuu\ ;
+理路整然 < riroseizen\ ;
+着色 < chakushoku\ ;
+南京繻子 < nankinjusu\ ;
+円鏡 < marukagami\ ;
+産業界 < sangyoukai\ ;
+遣直 < yarinaoshi\ ;
+虚無主義 < kyomushugi\ ;
+庶民劇 < shomingeki\ ;
+不仕末 < fushimatsu\ ;
+呆気者 < utsukemono\ ;
+解剖学 < kaibougaku\ ;
+仮埋葬 < karimaisou\ ;
+釣道具 < tsuridougu\ ;
+生産額 < seisangaku\ ;
+悲劇的 < higekiteki\ ;
+着脱 < chakudatsu\ ;
+北氷洋 < hoppyouyou\ ;
+十二月 < juunigatsu\ ;
+同学年 < dougakunen\ ;
+彗星 < houkiboshi\ ;
+現代的 < gendaiteki\ ;
+夢判断 < yumehandan\ ;
+岳友会 < gakuyuukai\ ;
+勘定尻 < kanjoujiri\ ;
+円鉋 < marugan''na\ ;
+後後 < nochinochi\ ;
+合宿所 < gasshukujo\ ;
+蠱惑的 < kowakuteki\ ;
+空間軸 < kuukanjiku\ ;
+中間層 < chuukansou\ ;
+特級酒 < tokkyuushu\ ;
+権威主義 < ken''ishugi\ ;
+卸商 < oroshishou\ ;
+署名国 < shomeikoku\ ;
+辻褄 < tsujitsuma\ ;
+気炎万丈 < kienbanjou\ ;
+演劇的 < engekiteki\ ;
+交戦国 < kousenkoku\ ;
+外形的 < gaikeiteki\ ;
+中間子 < chuukanshi\ ;
+花鰹 < hanagatsuo\ ;
+整流子 < seiryuushi\ ;
+優先株 < yuusenkabu\ ;
+短兵急 < tanpeikyuu\ ;
+弁慶縞 < benkeijima\ ;
+牡丹雪 < botan''yuki\ ;
+斜格性 < shakakusei\ ;
+鶴嘴 < tsuruhashi\ ;
+高角砲 < koukakuhou\ ;
+歴年齢 < rekinenrei\ ;
+無分別 < mufunbetsu\ ;
+刺戟性 < shigekisei\ ;
+先隣 < sakidonari\ ;
+通行税 < tsuukouzei\ ;
+超自然 < choushizen\ ;
+削氷機 < sakuhyouki\ ;
+契約者 < keiyakusha\ ;
+夜盗虫 < yotoumushi\ ;
+三三九度 < sansankudo\ ;
+安全率 < anzenritsu\ ;
+原子症 < genshishou\ ;
+原子病 < genshibyou\ ;
+計算機間 < keisankima\ ;
+季節感 < kisetsukan\ ;
+旧勘定 < kyuukanjou\ ;
+仮調印 < karichouin\ ;
+礼儀作法 < reigisahou\ ;
+滅茶苦茶 < mechakucha\ ;
+乗車賃 < joushachin\ ;
+左足 < hidariashi\ ;
+防虫剤 < bouchuuzai\ ;
+得失 < tokushitsu\ ;
+核戦争 < kakusensou\ ;
+発売日 < hatsubaibi\ ;
+耳下腺炎 < jikasen''en\ ;
+定足数 < teisokusuu\ ;
+石油危機 < sekiyukiki\ ;
+里神楽 < satokagura\ ;
+咄々 < totsutotsu\ ;
+薩摩芋 < satsumaimo\ ;
+姦通罪 < kantsuuzai\ ;
+山林学 < sanringaku\ ;
+副議長 < fukugichou\ ;
+刑事事件 < keijijiken\ ;
+航空病 < koukuubyou\ ;
+漢越音 < kan''etsuon\ ;
+出入口 < deiriguchi\ ;
+利用価値 < riyoukachi\ ;
+酒処 < sakedokoro\ ;
+仮納税 < karinouzei\ ;
+総合的 < sougouteki\ ;
+仲裁者 < chuusaisha\ ;
+出展者 < shuttensha\ ;
+活字体 < katsujitai\ ;
+肘鉄砲 < hijideppou\ ;
+対蹠地 < taisekichi\ ;
+回線負荷 < kaisenfuka\ ;
+廻漕業 < kaisougyou\ ;
+低障碍 < teishougai\ ;
+歳月 < toshitsuki\ ;
+残余額 < zan''yogaku\ ;
+横車 < yokoguruma\ ;
+治療法 < chiryouhou\ ;
+機械油 < kikaiabura\ ;
+自発性 < jihatsusei\ ;
+信号手 < shingoushu\ ;
+首尾一貫 < shubiikkan\ ;
+医療保険 < iryouhoken\ ;
+栃木県 < tochigiken\ ;
+調査票 < chousahyou\ ;
+武装解除 < busoukaijo\ ;
+編年史 < hen''nenshi\ ;
+土着民 < dochakumin\ ;
+卓出 < takushutsu\ ;
+進呈本 < shinteibon\ ;
+瑞宝章 < zuihoushou\ ;
+表意文字 < hyouimonji\ ;
+落選者 < rakusensha\ ;
+内勘定 < uchikanjou\ ;
+奉納額 < hounougaku\ ;
+式日 < shikijitsu\ ;
+細胞学 < saibougaku\ ;
+都市国家 < toshikokka\ ;
+果実店 < kajitsuten\ ;
+無為徒食 < muitoshoku\ ;
+映画音楽 < eigaongaku\ ;
+実時間 < jitsujikan\ ;
+入漁権 < nyuugyoken\ ;
+入質 < nyuushichi\ ;
+著作者 < chosakusha\ ;
+着着 < chakuchaku\ ;
+南側 < minamigawa\ ;
+脱脂乳 < dasshinyuu\ ;
+前後左右 < zengosayuu\ ;
+祭祀料 < saishiryou\ ;
+野戦特科 < yasentokka\ ;
+不羈奔放 < fukihonpou\ ;
+内弁慶 < uchibenkei\ ;
+向上心 < koujoushin\ ;
+一手販売 < ittehanbai\ ;
+牧羊者 < bokuyousha\ ;
+参観人 < sankan''nin\ ;
+皮衣 < kawagoromo\ ;
+均一化 < kin''itsuka\ ;
+共同者 < kyoudousha\ ;
+明朝体 < minchoutai\ ;
+塩胡椒 < shiokoshou\ ;
+耐震性 < taishinsei\ ;
+新西蘭 < nyūjīrando\ ;
+区区 < machimachi\ ;
+着発 < chakuhatsu\ ;
+一枚貝 < ichimaigai\ ;
+乱暴者 < ranboumono\ ;
+各一部 < kakuichibu\ ;
+陰日向 < kagehinata\ ;
+紫宸殿 < shishinden\ ;
+幽霊株 < yuureikabu\ ;
+所得者 < shotokusha\ ;
+軍事力 < gunjiryoku\ ;
+勝負事 < shoubugoto\ ;
+当座預金 < touzayokin\ ;
+花鋏 < hanabasami\ ;
+給水車 < kyuusuisha\ ;
+細胞壁 < saibouheki\ ;
+庭漆 < niwaurushi\ ;
+桜花爛漫 < oukaranman\ ;
+可逆性 < kagyakusei\ ;
+自由自在 < jiyuujizai\ ;
+乾燥無味 < kansoumumi\ ;
+二項定理 < nikouteiri\ ;
+懸賞金 < kenshoukin\ ;
+砂嵐 < sunaarashi\ ;
+含嗽薬 < gansouyaku\ ;
+見学者 < kengakusha\ ;
+優先席 < yuusenseki\ ;
+少数者 < shousuusha\ ;
+共同線 < kyoudousen\ ;
+年男 < toshiotoko\ ;
+及第点 < kyuudaiten\ ;
+活性汚泥 < kasseiodei\ ;
+分類表 < bunruihyou\ ;
+近眼鏡 < kingankyou\ ;
+関数族 < kansuuzoku\ ;
+町村制 < chousonsei\ ;
+極悪人 < gokuakunin\ ;
+引受人 < hikiukenin\ ;
+編年体 < hen''nentai\ ;
+代願人 < daigan''nin\ ;
+有力馬 < yuuryokuba\ ;
+次次 < tsugitsugi\ ;
+三三五五 < sansangogo\ ;
+除雪車 < josetsusha\ ;
+大審院 < daishin''in\ ;
+税関長 < zeikanchou\ ;
+中間体 < chuukantai\ ;
+滋養物 < jiyoubutsu\ ;
+九工大 < kyuukoudai\ ;
+刀疵 < katanakizu\ ;
+加湿器 < kashitsuki\ ;
+新訂版 < shinteiban\ ;
+違棚 < chigaidana\ ;
+十人力 < juuninriki\ ;
+下宿人 < geshukunin\ ;
+大業物 < oowazamono\ ;
+直筆 < chokuhitsu\ ;
+側面観 < sokumenkan\ ;
+弐心 < futagokoro\ ;
+現象界 < genshoukai\ ;
+追試験 < tsuishiken\ ;
+先天的 < sententeki\ ;
+建築家 < kenchikuka\ ;
+水量計 < suiryoukei\ ;
+直立 < chokuritsu\ ;
+兜蟹 < kabutogani\ ;
+親衛隊 < shin''eitai\ ;
+盲窓 < mekuramado\ ;
+先天病 < sentenbyou\ ;
+繁殖期 < hanshokuki\ ;
+船幽霊 < funayuurei\ ;
+民族性 < minzokusei\ ;
+御了承 < goryoushou\ ;
+水蛇座 < mizuhebiza\ ;
+拝外的 < haigaiteki\ ;
+刺戟剤 < shigekizai\ ;
+所得税 < shotokuzei\ ;
+棉実油 < menjitsuyu\ ;
+出獄 < shutsugoku\ ;
+出猟 < shutsuryou\ ;
+勤続者 < kinzokusha\ ;
+天皇制 < ten''nousei\ ;
+喫煙車 < kitsuensha\ ;
+実習生 < jisshuusei\ ;
+体系的 < taikeiteki\ ;
+遊興税 < yuukyouzei\ ;
+修道士 < shuudoushi\ ;
+新教徒 < shinkyouto\ ;
+砂埃 < sunabokori\ ;
+博覧会 < hakurankai\ ;
+前登録 < zentouroku\ ;
+東洋学 < touyougaku\ ;
+大将軍 < daishougun\ ;
+在庫管理 < zaikokanri\ ;
+原子核 < genshikaku\ ;
+大公国 < taikoukoku\ ;
+休息所 < kyuusokujo\ ;
+左耳 < hidarimimi\ ;
+高障害 < koushougai\ ;
+力帯 < chikaraobi\ ;
+求道者 < kyuudousha\ ;
+天守閣 < tenshukaku\ ;
+砂嚢 < sunabukuro\ ;
+乾物屋 < kanbutsuya\ ;
+水鉄砲 < mizudeppou\ ;
+千三屋 < senmitsuya\ ;
+入港税 < nyuukouzei\ ;
+銀行業 < ginkougyou\ ;
+火災保険 < kasaihoken\ ;
+休泊所 < kyuuhakujo\ ;
+人工的 < jinkouteki\ ;
+罵詈雑言 < barizougon\ ;
+光蘚 < hikarigoke\ ;
+聴視者 < choushisha\ ;
+両国語 < ryoukokugo\ ;
+道路封鎖 < dourofuusa\ ;
+花詞 < hanakotoba\ ;
+高瀬舟 < takasebune\ ;
+組織名 < soshikimei\ ;
+初氷 < hatsugoori\ ;
+同期式 < doukishiki\ ;
+大腸菌 < daichoukin\ ;
+半狂乱 < hankyouran\ ;
+贅沢品 < zeitakuhin\ ;
+小委員会 < shouiinkai\ ;
+一本道 < ipponmichi\ ;
+利潤率 < rijunritsu\ ;
+迫害者 < hakugaisha\ ;
+大極殿 < daigokuden\ ;
+重量感 < juuryoukan\ ;
+美学的 < bigakuteki\ ;
+写生帳 < shaseichou\ ;
+交渉委員 < koushouiin\ ;
+廃棄物 < haikibutsu\ ;
+電磁石 < denjishaku\ ;
+造営物 < zoueibutsu\ ;
+技術面 < gijutsumen\ ;
+仕置者 < shiokimono\ ;
+苦艾 < nigayomogi\ ;
+時刻表 < jikokuhyou\ ;
+合同行為 < goudoukoui\ ;
+炉辺談話 < rohendanwa\ ;
+毒科学 < dokukagaku\ ;
+直行便 < chokkoubin\ ;
+手内職 < tenaishoku\ ;
+旅行先 < ryokousaki\ ;
+核弾頭 < kakudantou\ ;
+過去分詞 < kakobunshi\ ;
+空集合 < kuushuugou\ ;
+皿秤 < sarabakari\ ;
+特許料 < tokkyoryou\ ;
+主情的 < shujouteki\ ;
+営利会社 < eirigaisha\ ;
+更衣室 < kouishitsu\ ;
+殺伐 < satsubatsu\ ;
+会席膳 < kaisekizen\ ;
+千一夜 < sen''ichiya\ ;
+真田紐 < sanadahimo\ ;
+道学者 < dougakusha\ ;
+揮発性 < kihatsusei\ ;
+沸々 < futsufutsu\ ;
+出資金 < shusshikin\ ;
+牧羊犬 < bokuyouken\ ;
+人事不省 < jinjifusei\ ;
+蒸留水 < jouryuusui\ ;
+異性関係 < iseikankei\ ;
+等圧線 < touatsusen\ ;
+毒味役 < dokumiyaku\ ;
+兎脣 < mitsukuchi\ ;
+事故原因 < jikogen''in\ ;
+優良店 < yuuryouten\ ;
+内芸者 < uchigeisha\ ;
+悪達者 < warudassha\ ;
+三面鏡 < sanmenkyou\ ;
+狸蕎麦 < tanukisoba\ ;
+裏書人 < uragakinin\ ;
+特大号 < tokudaigou\ ;
+組織体 < soshikitai\ ;
+現実化 < genjitsuka\ ;
+多目的 < tamokuteki\ ;
+将来性 < shouraisei\ ;
+一人腹 < hitoribara\ ;
+座技 < suwariwaza\ ;
+画一化 < kakuitsuka\ ;
+重金属 < juukinzoku\ ;
+良質 < ryoushitsu\ ;
+槍衾 < yaribusuma\ ;
+家出少女 < iedeshoujo\ ;
+立会人 < tachiainin\ ;
+古典主義 < kotenshugi\ ;
+不法投棄 < fuhoutouki\ ;
+逐日 < chikujitsu\ ;
+歴史上 < rekishijou\ ;
+製鉄所 < seitetsujo\ ;
+若緑 < wakamidori\ ;
+一人者 < hitorimono\ ;
+車賃 < kurumachin\ ;
+二重螺旋 < nijuurasen\ ;
+遮断壁 < shadanpeki\ ;
+特売場 < tokubaijou\ ;
+告知板 < kokuchiban\ ;
+沖積期 < chuusekiki\ ;
+仮記入 < karikinyuu\ ;
+修道会 < shuudoukai\ ;
+位相速度 < isousokudo\ ;
+桟梯子 < sanbashigo\ ;
+番号札 < bangoufuda\ ;
+少数点 < shousuuten\ ;
+山猫座 < yamanekoza\ ;
+寝台券 < shindaiken\ ;
+水銀柱 < suiginchuu\ ;
+赤海亀 < akaumigame\ ;
+骨相学 < kossougaku\ ;
+音韻部門 < on''inbumon\ ;
+機能主義 < kinoushugi\ ;
+大臼歯 < daikyuushi\ ;
+機械警備 < kikaikeibi\ ;
+民族史 < minzokushi\ ;
+五稜郭 < goryoukaku\ ;
+契約書 < keiyakusho\ ;
+影法師 < kageboushi\ ;
+金剛石 < kongouseki\ ;
+畑鼠 < hatanezumi\ ;
+特許庁 < tokkyochou\ ;
+基礎試験 < kisoshiken\ ;
+家庭菜園 < kateisaien\ ;
+特売品 < tokubaihin\ ;
+道路工事 < dourokouji\ ;
+下請負 < shitaukeoi\ ;
+収穫期 < shuukakuki\ ;
+亜爾然丁 < aruzenchin\ ;
+四苦八苦 < shikuhakku\ ;
+着払 < chakubarai\ ;
+陸戦隊 < rikusentai\ ;
+給水管 < kyuusuikan\ ;
+委細面談 < isaimendan\ ;
+神秘的 < shinpiteki\ ;
+重量噸 < juuryouton\ ;
+対校試合 < taikoujiai\ ;
+収穫時 < shuukakuji\ ;
+高圧縮 < kouasshuku\ ;
+著作権 < chosakuken\ ;
+人気作家 < ninkisakka\ ;
+代執行 < daishikkou\ ;
+限定的 < genteiteki\ ;
+高圧線 < kouatsusen\ ;
+仮採用 < karisaiyou\ ;
+暖冬異変 < dantouihen\ ;
+出撃 < shutsugeki\ ;
+改革者 < kaikakusha\ ;
+地下鉄 < chikatetsu\ ;
+尊王党 < son''noutou\ ;
+土俵際 < dohyougiwa\ ;
+大山猫 < ooyamaneko\ ;
+航空学 < koukuugaku\ ;
+原材料 < genzairyou\ ;
+出産数 < shussansuu\ ;
+欄参照 < ransanshou\ ;
+出生数 < shusseisuu\ ;
+守備率 < shubiritsu\ ;
+文芸学 < bungeigaku\ ;
+女性一般 < joseiippan\ ;
+紅冠鳥 < koukanchou\ ;
+初場所 < hatsubasho\ ;
+乳状液 < nyuujoueki\ ;
+単坐式 < tanzashiki\ ;
+在留民 < zairyuumin\ ;
+美顔術 < biganjutsu\ ;
+煮沸器 < shafutsuki\ ;
+優良品 < yuuryouhin\ ;
+怪獣映画 < kaijuueiga\ ;
+多種多様 < tashutayou\ ;
+峠道 < tougemichi\ ;
+二部教授 < nibukyouju\ ;
+戦術家 < senjutsuka\ ;
+速度違反 < sokudoihan\ ;
+仕事師 < shigotoshi\ ;
+年強 < toshidzuyo\ ;
+横断歩道 < oudanhodou\ ;
+無生物 < museibutsu\ ;
+雑文家 < zatsubunka\ ;
+同調者 < douchousha\ ;
+予約席 < yoyakuseki\ ;
+金石文 < kinsekibun\ ;
+練習船 < renshuusen\ ;
+舗装道路 < hosoudouro\ ;
+測深機 < sokushinki\ ;
+艶艶 < tsuyatsuya\ ;
+発見料 < hakkenryou\ ;
+衒学者 < gengakusha\ ;
+引出物 < hikidemono\ ;
+開架式 < kaikashiki\ ;
+包含的 < houganteki\ ;
+合奏調 < gassouchou\ ;
+田鵑 < hototogisu\ ;
+共和国 < kyouwakoku\ ;
+審判員 < shinpan''in\ ;
+無線技師 < musengishi\ ;
+清朝体 < seichoutai\ ;
+飛鳥時代 < asukajidai\ ;
+表日本 < omotenihon\ ;
+現代劇 < gendaigeki\ ;
+山鯨 < yamakujira\ ;
+即効薬 < sokkouyaku\ ;
+日運動 < nichiundou\ ;
+草枕 < kusamakura\ ;
+職階制 < shokkaisei\ ;
+前車軸 < zenshajiku\ ;
+回路基板 < kairokiban\ ;
+上昇線 < joushousen\ ;
+機密性 < kimitsusei\ ;
+明細表 < meisaihyou\ ;
+形成外科 < keiseigeka\ ;
+修辞学 < shuujigaku\ ;
+名誉職 < meiyoshoku\ ;
+宇宙兵器 < uchuuheiki\ ;
+四天王 < shiten''nou\ ;
+異常気象 < ijoukishou\ ;
+人相学 < ninsougaku\ ;
+着実 < chakujitsu\ ;
+授業料 < jugyouryou\ ;
+鉛中毒 < enchuudoku\ ;
+無機化学 < mukikagaku\ ;
+自由主義 < jiyuushugi\ ;
+治療代 < chiryoudai\ ;
+傷薬 < kizugusuri\ ;
+位記追贈 < ikitsuisou\ ;
+帯黄色 < taioushoku\ ;
+茶柱 < chabashira\ ;
+直接 < chokusetsu\ ;
+底土 < sokotsuchi\ ;
+実写映画 < jisshaeiga\ ;
+起工式 < kikoushiki\ ;
+自由時間 < jiyuujikan\ ;
+畳針 < tatamihari\ ;
+発熱 < hatsunetsu\ ;
+切実 < setsujitsu\ ;
+取得者 < shutokusha\ ;
+御礼奉公 < oreiboukou\ ;
+山颪 < yamaoroshi\ ;
+悪平等 < akubyoudou\ ;
+光物 < hikarimono\ ;
+剔出 < tekishutsu\ ;
+生魚 < namazakana\ ;
+朱子学 < shushigaku\ ;
+軽金属 < keikinzoku\ ;
+健脚家 < kenkyakuka\ ;
+先覚者 < senkakusha\ ;
+不整脈 < fuseimyaku\ ;
+仲間内 < nakamauchi\ ;
+将来像 < shouraizou\ ;
+低教会 < teikyoukai\ ;
+性衝動 < seishoudou\ ;
+園芸用具 < engeiyougu\ ;
+紙芝居 < kamishibai\ ;
+偏辺 < katahorori\ ;
+作成者 < sakuseisha\ ;
+回春剤 < kaishunzai\ ;
+消費量 < shouhiryou\ ;
+並製品 < namiseihin\ ;
+花畑 < hanabatake\ ;
+破茶目茶 < hachamecha\ ;
+専有権 < sen''yuuken\ ;
+乗馬靴 < joubagutsu\ ;
+候間 < sourouaida\ ;
+不穏文書 < fuonbunsho\ ;
+出資者 < shusshisha\ ;
+化石学 < kasekigaku\ ;
+漢字文化 < kanjibunka\ ;
+聴診器 < choushinki\ ;
+進出 < shinshutsu\ ;
+猩猩蠅 < shoujoubae\ ;
+乱数表 < ransuuhyou\ ;
+予備試験 < yobishiken\ ;
+労務管理 < roumukanri\ ;
+店卸 < tanaoroshi\ ;
+埋立地 < umetatechi\ ;
+共同性 < kyoudousei\ ;
+熟練者 < jukurensha\ ;
+東北東 < touhokutou\ ;
+平和会議 < heiwakaigi\ ;
+略述 < ryakujutsu\ ;
+生体膜 < seitaimaku\ ;
+任務部隊 < ninmubutai\ ;
+民衆駅 < minshuueki\ ;
+宇宙食 < uchuushoku\ ;
+常常 < tsunedzune\ ;
+日光浴 < nikkouyoku\ ;
+代数学 < daisuugaku\ ;
+小間物屋 < komamonoya\ ;
+能役者 < nouyakusha\ ;
+沖積土 < chuusekido\ ;
+引力圏 < inryokuken\ ;
+別口 < betsukuchi\ ;
+中折帽 < nakaorebou\ ;
+非活動 < hikatsudou\ ;
+縦横無尽 < juuoumujin\ ;
+八橋 < yatsuhashi\ ;
+国家主義 < kokkashugi\ ;
+過剰投与 < kajoutouyo\ ;
+論理回路 < ronrikairo\ ;
+有功章 < yuukoushou\ ;
+投票者 < touhyousha\ ;
+攻撃隊 < kougekitai\ ;
+報告者 < houkokusha\ ;
+発表者 < happyousha\ ;
+惣管領 < soukanryou\ ;
+自壊作用 < jikaisayou\ ;
+選択肢 < sentakushi\ ;
+技術者 < gijutsusha\ ;
+進歩的 < shinpoteki\ ;
+埋蔵量 < maizouryou\ ;
+仕事台 < shigotodai\ ;
+性成熟 < seiseijuku\ ;
+永年間 < naganenkan\ ;
+背教者 < haikyousha\ ;
+辰年 < tatsudoshi\ ;
+手工業 < shukougyou\ ;
+準備期間 < junbikikan\ ;
+別別 < betsubetsu\ ;
+尻餠 < shirimochi\ ;
+申請者 < shinseisha\ ;
+演出家 < enshutsuka\ ;
+一安心 < hitoanshin\ ;
+天下無双 < tenkamusou\ ;
+行楽地 < kourakuchi\ ;
+食管法 < shokkanhou\ ;
+観測船 < kansokusen\ ;
+競合者 < kyougousha\ ;
+健脳剤 < ken''nouzai\ ;
+一瀉千里 < isshasenri\ ;
+白樺 < shirakanba\ ;
+金剛杖 < kongoudzue\ ;
+横行闊歩 < oukoukappo\ ;
+謝肉祭 < shanikusai\ ;
+複写紙 < fukushashi\ ;
+週刊誌 < shuukanshi\ ;
+収税所 < shuuzeisho\ ;
+剰余価値 < jouyokachi\ ;
+八月 < hachigatsu\ ;
+通行人 < tsuukounin\ ;
+鑑定料 < kanteiryou\ ;
+踏車 < fumiguruma\ ;
+文化国家 < bunkakokka\ ;
+舞台稽古 < butaigeiko\ ;
+同一人 < douitsunin\ ;
+高潮線 < kouchousen\ ;
+浸透性 < shintousei\ ;
+血色素 < kesshikiso\ ;
+脳震盪 < noushintou\ ;
+伊勢大廟 < isetaibyou\ ;
+賃貸人 < chintainin\ ;
+出生地 < shusseichi\ ;
+略説 < ryakusetsu\ ;
+練習生 < renshuusei\ ;
+座席表 < zasekihyou\ ;
+観測者 < kansokusha\ ;
+相互支援 < sougoshien\ ;
+地獄耳 < jigokumimi\ ;
+高級品 < koukyuuhin\ ;
+遠日点 < enjitsuten\ ;
+漢学者 < kangakusha\ ;
+牧場鳥 < makibatori\ ;
+申込 < moushikomi\ ;
+切切 < setsusetsu\ ;
+死刑囚 < shikeishuu\ ;
+氷砂糖 < koorizatou\ ;
+普遍原理 < fuhengenri\ ;
+共著者 < kyouchosha\ ;
+骨髄炎 < kotsuzuien\ ;
+不即不離 < fusokufuri\ ;
+放牧地 < houbokuchi\ ;
+悪因悪果 < akuin''akka\ ;
+白血球 < hakkekkyuu\ ;
+盲壁 < mekurakabe\ ;
+溶岩流 < youganryuu\ ;
+死傷者 < shishousha\ ;
+式部官 < shikibukan\ ;
+脆弱性 < zeijakusei\ ;
+給水栓 < kyuusuisen\ ;
+鯨幕 < kujiramaku\ ;
+観測網 < kansokumou\ ;
+急行券 < kyuukouken\ ;
+白星 < shiroboshi\ ;
+百日 < hyakunichi\ ;
+附和雷同 < fuwaraidou\ ;
+御鞭撻 < gobentatsu\ ;
+緑十字 < ryokujuuji\ ;
+化粧部屋 < keshoubeya\ ;
+流線形 < ryuusenkei\ ;
+膜質 < makushitsu\ ;
+原始的 < genshiteki\ ;
+牧羊地 < bokuyouchi\ ;
+出入 < shutsunyuu\ ;
+磨製石器 < maseisekki\ ;
+父子家庭 < fushikatei\ ;
+埼玉県 < saitamaken\ ;
+余韻嫋嫋 < yoinjoujou\ ;
+攻撃軍 < kougekigun\ ;
+敵艦隊 < tekikantai\ ;
+年下 < toshishita\ ;
+食器棚 < shokkidana\ ;
+伝送先 < densousaki\ ;
+稲荷鮨 < inarizushi\ ;
+係長 < kakarichou\ ;
+復調器 < fukuchouki\ ;
+大病人 < daibyounin\ ;
+共労者 < kyourousha\ ;
+候調 < sourouchou\ ;
+病原菌 < byougenkin\ ;
+朝鮮人 < chousenjin\ ;
+縄文土器 < joumondoki\ ;
+優越権 < yuuetsuken\ ;
+鯨尺 < kujirajaku\ ;
+一人旅 < hitoritabi\ ;
+文学論 < bungakuron\ ;
+肉感的 < nikkanteki\ ;
+急行便 < kyuukoubin\ ;
+甲乙丙 < kouotsuhei\ ;
+中波長 < chuuhachou\ ;
+無職者 < mushokusha\ ;
+収税官 < shuuzeikan\ ;
+学部長 < gakubuchou\ ;
+財務管理 < zaimukanri\ ;
+超格子 < choukoushi\ ;
+穂状花序 < suijoukajo\ ;
+闊葉樹 < katsuyouju\ ;
+盛土 < moritsuchi\ ;
+共鳴者 < kyoumeisha\ ;
+無体物 < mutaibutsu\ ;
+浮気女 < uwakion''na\ ;
+登竜門 < touryuumon\ ;
+一義的 < ichigiteki\ ;
+第一条 < daiichijou\ ;
+辞書部門 < jishobumon\ ;
+内用薬 < naiyouyaku\ ;
+機動部隊 < kidoubutai\ ;
+保安処分 < hoanshobun\ ;
+花暦 < hanagoyomi\ ;
+座標軸 < zahyoujiku\ ;
+策源地 < sakugenchi\ ;
+直列 < chokuretsu\ ;
+優生学 < yuuseigaku\ ;
+意思表示 < ishihyouji\ ;
+分隊長 < buntaichou\ ;
+営利事業 < eirijigyou\ ;
+前借金 < zenshakkin\ ;
+皮膚移植 < hifuishoku\ ;
+仲裁人 < chuusainin\ ;
+赤道祭 < sekidousai\ ;
+東北大 < touhokudai\ ;
+実証論 < jisshouron\ ;
+不燃物 < funenbutsu\ ;
+全強風 < zenkyoufuu\ ;
+議事妨害 < gijibougai\ ;
+小天地 < shoutenchi\ ;
+酢酸塩 < sakusan''en\ ;
+超音速 < chouonsoku\ ;
+密告者 < mikkokusha\ ;
+分類学 < bunruigaku\ ;
+彫金師 < choukinshi\ ;
+一騎当千 < ikkitousen\ ;
+阿鼻叫喚 < abikyoukan\ ;
+絶対温度 < zettaiondo\ ;
+黄金世界 < ougonsekai\ ;
+共通語 < kyoutsuugo\ ;
+冽冽 < retsuretsu\ ;
+神秘学 < shinhigaku\ ;
+一本橋 < ipponbashi\ ;
+第五列 < daigoretsu\ ;
+紳士用 < shinshiyou\ ;
+一枚岩 < ichimaiiwa\ ;
+一本槍 < ippon''yari\ ;
+困窮者 < konkyuusha\ ;
+入室 < nyuushitsu\ ;
+棒温度計 < bouondokei\ ;
+冬支度 < fuyujitaku\ ;
+共同体 < kyoudoutai\ ;
+少数党 < shousuutou\ ;
+全民衆 < zenminshuu\ ;
+相反的 < souhanteki\ ;
+浮遊物 < fuyuubutsu\ ;
+労働省 < roudoushou\ ;
+孫息子 < magomusuko\ ;
+反対意見 < hantaiiken\ ;
+供養塚 < kuyoudzuka\ ;
+駆逐艦 < kuchikukan\ ;
+素人目 < shiroutome\ ;
+精肉店 < seinikuten\ ;
+双殻類 < soukakurui\ ;
+欣求浄土 < gongujoudo\ ;
+金貨準備 < kinkajunbi\ ;
+奨励金 < shoureikin\ ;
+不精髭 < bushouhige\ ;
+論理素子 < ronrisoshi\ ;
+能動的 < noudouteki\ ;
+約半分 < yakuhanbun\ ;
+山荒 < yamaarashi\ ;
+網漁業 < amigyogyou\ ;
+授業中 < jugyouchuu\ ;
+岩石圏 < gansekiken\ ;
+露地栽培 < rojisaibai\ ;
+役目柄 < yakumegara\ ;
+古墳時代 < kofunjidai\ ;
+一本松 < ipponmatsu\ ;
+塩煎餅 < shiosenbei\ ;
+南々西 < nan''nansei\ ;
+在学生 < zaigakusei\ ;
+剃刀砥 < kamisorido\ ;
+多発性 < tahatsusei\ ;
+無煙火薬 < muenkayaku\ ;
+優越感 < yuuetsukan\ ;
+特級品 < tokkyuuhin\ ;
+三角錐 < sankakusui\ ;
+傑物 < ketsubutsu\ ;
+必治薬 < hitchiyaku\ ;
+単振動 < tanshindou\ ;
+主張者 < shuchousha\ ;
+排他律 < haitaritsu\ ;
+政治機構 < seijikikou\ ;
+意志決定 < ishikettei\ ;
+優越性 < yuuetsusei\ ;
+形態学 < keitaigaku\ ;
+工業界 < kougyoukai\ ;
+工業用 < kougyouyou\ ;
+積乱雲 < sekiran''un\ ;
+拝観料 < haikanryou\ ;
+領海線 < ryoukaisen\ ;
+角分散 < kakubunsan\ ;
+不見識 < fukenshiki\ ;
+大学生 < daigakusei\ ;
+最北端 < saihokutan\ ;
+表面上 < hyoumenjou\ ;
+濃硫酸 < nouryuusan\ ;
+略筆 < ryakuhitsu\ ;
+水化物 < suikabutsu\ ;
+超伝導 < choudendou\ ;
+文学者 < bungakusha\ ;
+粗目雪 < zarameyuki\ ;
+史学者 < shigakusha\ ;
+国民軍 < kokumingun\ ;
+咀嚼筋 < soshakukin\ ;
+住所録 < juushoroku\ ;
+駐停車 < chuuteisha\ ;
+植樹祭 < shokujusai\ ;
+負荷分散 < fukabunsan\ ;
+角速度 < kakusokudo\ ;
+左利 < hidarikiki\ ;
+大赤斑 < daisekihan\ ;
+地中海 < chichuukai\ ;
+伸餅 < noshimochi\ ;
+不偏不党 < fuhenfutou\ ;
+内冑 < uchikabuto\ ;
+商売人 < shoubainin\ ;
+同床異夢 < doushouimu\ ;
+受取人 < uketorinin\ ;
+見本市 < mihon''ichi\ ;
+無限軌道 < mugenkidou\ ;
+投票権 < touhyouken\ ;
+探照灯 < tanshoutou\ ;
+全勝軍 < zenshougun\ ;
+給水塔 < kyuusuitou\ ;
+潮干狩 < shiohigari\ ;
+軍事顧問 < gunjikomon\ ;
+牡羊座 < ohitsujiza\ ;
+耽美主義 < tanbishugi\ ;
+収税人 < shuuzeinin\ ;
+喜劇映画 < kigekieiga\ ;
+左側 < hidarigawa\ ;
+選択権 < sentakuken\ ;
+採点表 < saitenhyou\ ;
+工工四 < kunkunshii\ ;
+入口 < hairiguchi\ ;
+記録的 < kirokuteki\ ;
+豆板銀 < mameitagin\ ;
+絶対量 < zettairyou\ ;
+東北人 < touhokujin\ ;
+海軍省 < kaigunshou\ ;
+金剛力 < kongouriki\ ;
+真暗闇 < makurayami\ ;
+検疫官 < ken''ekikan\ ;
+室長 < shitsuchou\ ;
+対象外 < taishougai\ ;
+新潟県 < niigataken\ ;
+闇再販 < yamisaihan\ ;
+動物愛 < doubutsuai\ ;
+曼珠沙華 < manjushage\ ;
+使用量 < shiyouryou\ ;
+優姿 < yasasugata\ ;
+藁半紙 < warabanshi\ ;
+模擬試験 < mogishiken\ ;
+新開地 < shinkaichi\ ;
+非常識 < hijoushiki\ ;
+一面観 < ichimenkan\ ;
+管絃楽 < kangengaku\ ;
+規則違反 < kisokuihan\ ;
+最恵国 < saikeikoku\ ;
+慢性的 < manseiteki\ ;
+夏炉冬扇 < karotousen\ ;
+推計学 < suikeigaku\ ;
+副領事 < fukuryouji\ ;
+印刷者 < insatsusha\ ;
+耐火力 < taikaryoku\ ;
+友禅染 < yuuzenzome\ ;
+報告書 < houkokusho\ ;
+骨格筋 < kokkakukin\ ;
+雨天決行 < utenkekkou\ ;
+藻塩草 < moshiogusa\ ;
+集大成 < shuutaisei\ ;
+慢性病 < manseibyou\ ;
+宣言的 < sengenteki\ ;
+六重奏 < rokujuusou\ ;
+音響学 < onkyougaku\ ;
+申立 < moushitate\ ;
+工業港 < kougyoukou\ ;
+総辞職 < soujishoku\ ;
+軍団長 < gundanchou\ ;
+意見交換 < ikenkoukan\ ;
+年長者 < nenchousha\ ;
+総務局 < soumukyoku\ ;
+不乾性油 < fukanseiyu\ ;
+面相筆 < mensoufude\ ;
+散歩道 < sanpomichi\ ;
+示圧計 < shiatsukei\ ;
+世紀末 < seikimatsu\ ;
+第三国 < daisangoku\ ;
+投票数 < touhyousuu\ ;
+何箇月 < nankagetsu\ ;
+申請書 < shinseisho\ ;
+植物 < shokubutsu\ ;
+腹膜炎 < fukumakuen\ ;
+温泉町 < onsenmachi\ ;
+主動的 < shudouteki\ ;
+泌尿器科 < hinyoukika\ ;
+不文律 < fubunritsu\ ;
+弁当箱 < bentoubako\ ;
+岩燕 < iwatsubame\ ;
+天体学 < tentaigaku\ ;
+印刷紙 < insatsushi\ ;
+低成長 < teiseichou\ ;
+俯仰角 < fugyoukaku\ ;
+帷幄上奏 < iakujousou\ ;
+放熱器 < hounetsuki\ ;
+純良品 < junryouhin\ ;
+備後表 < bingoomote\ ;
+暗殺者 < ansatsusha\ ;
+平教員 < hirakyouin\ ;
+不覚者 < fukakumono\ ;
+成長点 < seichouten\ ;
+東横線 < touyokosen\ ;
+救済者 < kyuusaisha\ ;
+知能的 < chinouteki\ ;
+儲口 < moukeguchi\ ;
+全権委員 < zenken''iin\ ;
+幻覚剤 < genkakuzai\ ;
+果物屋 < kudamonoya\ ;
+演算機構 < enzankikou\ ;
+人格者 < jinkakusha\ ;
+無蓋貨車 < mugaikasha\ ;
+金属間 < kinzokukan\ ;
+花柳病 < karyuubyou\ ;
+棟瓦 < munagawara\ ;
+高枕 < takamakura\ ;
+老大国 < routaikoku\ ;
+代言人 < daigen''nin\ ;
+心得顔 < kokoroegao\ ;
+代表者 < daihyousha\ ;
+主知的 < shuchiteki\ ;
+文学界 < bungakukai\ ;
+切断機 < setsudanki\ ;
+一時的 < ichijiteki\ ;
+交通網 < koutsuumou\ ;
+二十世紀 < nijisseiki\ ;
+保護処分 < hogoshobun\ ;
+地球人 < chikyuujin\ ;
+脹脛 < fukurahagi\ ;
+高曇 < takagumori\ ;
+皮膚科学 < hifukagaku\ ;
+地球上 < chikyuujou\ ;
+逆提案 < gyakuteian\ ;
+対数表 < taisuuhyou\ ;
+衆愚政治 < shuguseiji\ ;
+敗戦国 < haisenkoku\ ;
+侍従武官 < jijuubukan\ ;
+新製品 < shinseihin\ ;
+控訴期間 < kousokikan\ ;
+上位構造 < jouikouzou\ ;
+極距離 < kyokukyori\ ;
+常任委員 < jounin''iin\ ;
+芝居小屋 < shibaigoya\ ;
+桜花 < sakurabana\ ;
+公租公課 < kousokouka\ ;
+熟練工 < jukurenkou\ ;
+色素体 < shikisotai\ ;
+丸砥石 < marutoishi\ ;
+同族会 < douzokukai\ ;
+経済的 < keizaiteki\ ;
+易感染性 < ikansensei\ ;
+牛乳屋 < gyuunyuuya\ ;
+練習場 < renshuujou\ ;
+紀伊國屋 < kinokuniya\ ;
+桑苺 < kuwaichigo\ ;
+夜鷹蕎麦 < yotakasoba\ ;
+特製品 < tokuseihin\ ;
+勤務時間 < kinmujikan\ ;
+厭世主義 < enseishugi\ ;
+単位記号 < tan''ikigou\ ;
+脚色 < kyakushoku\ ;
+不誠実 < fuseijitsu\ ;
+従来型 < juuraigata\ ;
+対象体 < taishoutai\ ;
+粉石鹸 < konasekken\ ;
+夜尿症 < yanyoushou\ ;
+超文面 < choubunmen\ ;
+排他主義 < haitashugi\ ;
+動物園 < doubutsuen\ ;
+総監督 < soukantoku\ ;
+実際的 < jissaiteki\ ;
+頼信紙 < raishinshi\ ;
+宇宙飛行 < uchuuhikou\ ;
+宣教師 < senkyoushi\ ;
+桜肉 < sakuraniku\ ;
+責任者 < sekininsha\ ;
+関節炎 < kansetsuen\ ;
+肩車 < kataguruma\ ;
+共鳴板 < kyoumeiban\ ;
+宗主国 < soushukoku\ ;
+仮名草紙 < kanazoushi\ ;
+旧軍人 < kyuugunjin\ ;
+半濁点 < handakuten\ ;
+坑内事故 < kounaijiko\ ;
+半長形 < hanchoukei\ ;
+中水道 < chuusuidou\ ;
+選手村 < senshumura\ ;
+論理演算 < ronrienzan\ ;
+質量 < shitsuryou\ ;
+印刷用 < insatsuyou\ ;
+霊柩車 < reikyuusha\ ;
+海岸端 < kaiganbata\ ;
+外用薬 < gaiyouyaku\ ;
+紫斑病 < shihanbyou\ ;
+蛸配当 < takohaitou\ ;
+高所病 < koushobyou\ ;
+畜殺 < chikusatsu\ ;
+大小便 < daishouben\ ;
+電気毛布 < denkimoufu\ ;
+米国民 < beikokumin\ ;
+吸水性 < kyuusuisei\ ;
+雲鬢花顔 < unbinkagan\ ;
+念五日 < nengonichi\ ;
+出来心 < dekigokoro\ ;
+中心部 < chuushinbu\ ;
+御前会議 < gozenkaigi\ ;
+脈脈 < myakumyaku\ ;
+生体学 < seitaigaku\ ;
+楔形 < kusabigata\ ;
+予備調査 < yobichousa\ ;
+平和主義 < heiwashugi\ ;
+肯定的 < kouteiteki\ ;
+桜紙 < sakuragami\ ;
+注意事項 < chuuijikou\ ;
+動物化 < doubutsuka\ ;
+水平翼 < suiheiyoku\ ;
+貿易業 < bouekigyou\ ;
+腰布団 < koshibuton\ ;
+爆撃機 < bakugekiki\ ;
+言行録 < genkouroku\ ;
+団地族 < danchizoku\ ;
+乱調子 < ranchoushi\ ;
+備蓄米 < bichikumai\ ;
+大乗的 < daijouteki\ ;
+無能力 < munouryoku\ ;
+酪農場 < rakunoujou\ ;
+胸部外科 < kyoubugeka\ ;
+貨客船 < kakyakusen\ ;
+感染症 < kansenshou\ ;
+真理教 < shinrikyou\ ;
+慈善鍋 < jizen''nabe\ ;
+病室 < byoushitsu\ ;
+技術士 < gijutsushi\ ;
+芋侍 < imozamurai\ ;
+哨戒艇 < shoukaitei\ ;
+酒石酸 < shusekisan\ ;
+敷布団 < shikibuton\ ;
+非可換群 < hikakangun\ ;
+反則金 < hansokukin\ ;
+遺伝情報 < idenjouhou\ ;
+有機物 < yuukibutsu\ ;
+肉質 < nikushitsu\ ;
+寄生火山 < kiseikazan\ ;
+抽象画 < chuushouga\ ;
+租借権 < soshakuken\ ;
+内申書 < naishinsho\ ;
+同級生 < doukyuusei\ ;
+向米的 < koubeiteki\ ;
+親衛兵 < shin''eihei\ ;
+仏文科 < futsubunka\ ;
+二部授業 < nibujugyou\ ;
+取引所 < torihikijo\ ;
+電車賃 < denshachin\ ;
+集散地 < shuusanchi\ ;
+綺想曲 < kisoukyoku\ ;
+上調子 < uwachoushi\ ;
+内臓弓 < naizoukyuu\ ;
+半開国 < hankaikoku\ ;
+製造業 < seizougyou\ ;
+追撃機 < tsuigekiki\ ;
+三角筋 < sankakukin\ ;
+非営利的 < hieiriteki\ ;
+等深線 < toushinsen\ ;
+駆動力 < kudouryoku\ ;
+河川工事 < kasenkouji\ ;
+重工業 < juukougyou\ ;
+麻織物 < asaorimono\ ;
+日射病 < nisshabyou\ ;
+熱血児 < nekketsuji\ ;
+金属製 < kinzokusei\ ;
+本契約 < honkeiyaku\ ;
+相手次第 < aiteshidai\ ;
+黄褐色 < oukasshoku\ ;
+購入者 < kounyuusha\ ;
+不精者 < bushoumono\ ;
+主応力 < shuouryoku\ ;
+便宜主義 < bengishugi\ ;
+埼玉勢 < saitamazei\ ;
+宝船 < takarabune\ ;
+重傷者 < juushousha\ ;
+皮膚呼吸 < hifukokyuu\ ;
+山桜 < yamazakura\ ;
+亜成層圏 < aseisouken\ ;
+傷害罪 < shougaizai\ ;
+作戦上 < sakusenjou\ ;
+側室 < sokushitsu\ ;
+膝枕 < hizamakura\ ;
+潜水病 < sensuibyou\ ;
+中性紙 < chuuseishi\ ;
+乳首 < chichikubi\ ;
+診療所 < shinryoujo\ ;
+空軍大尉 < kuuguntaii\ ;
+日本食 < nihonshoku\ ;
+稼働率 < kadouritsu\ ;
+連合国 < rengoukoku\ ;
+公民学 < koumingaku\ ;
+研究者 < kenkyuusha\ ;
+静水圧 < seisuiatsu\ ;
+登録者 < tourokusha\ ;
+準決勝 < junkesshou\ ;
+極力 < kyokuryoku\ ;
+梯子車 < hashigosha\ ;
+三親等 < sanshintou\ ;
+不純物 < fujunbutsu\ ;
+上女中 < kamijochuu\ ;
+鳥取県 < tottoriken\ ;
+桑畑 < kuwabatake\ ;
+貧乏鬮 < binboukuji\ ;
+唯一度 < tadaichido\ ;
+梵和辞典 < bonwajiten\ ;
+好色家 < koushokuka\ ;
+毛皮商 < kegawashou\ ;
+比較級 < hikakukyuu\ ;
+現在高 < genzaidaka\ ;
+略式 < ryakushiki\ ;
+陸海空 < rikukaikuu\ ;
+双眼鏡 < sougankyou\ ;
+控訴理由 < kousoriyuu\ ;
+駐輪場 < chuurinjou\ ;
+部隊区分 < butaikubun\ ;
+枕許 < makuramoto\ ;
+白鉄鉱 < hakutekkou\ ;
+大宮人 < oomiyabito\ ;
+悪魔主義 < akumashugi\ ;
+雪合戦 < yukigassen\ ;
+片栗粉 < katakuriko\ ;
+発表会 < happyoukai\ ;
+宝籤 < takarakuji\ ;
+吐瀉物 < toshabutsu\ ;
+護岸工事 < gogankouji\ ;
+裏表紙 < urabyoushi\ ;
+切断図 < setsudanzu\ ;
+思惑買 < omowakugai\ ;
+観念論 < kan''nenron\ ;
+玉音盤 < gyokuonban\ ;
+宝箱 < takarabako\ ;
+反動的 < handouteki\ ;
+質草 < shichigusa\ ;
+救命艇 < kyuumeitei\ ;
+絶対的 < zettaiteki\ ;
+骨壷 < kotsutsubo\ ;
+測量図 < sokuryouzu\ ;
+三大国 < sandaikoku\ ;
+地方病 < chihoubyou\ ;
+宿直 < shukuchoku\ ;
+出版者 < shuppansha\ ;
+供給路 < kyoukyuuro\ ;
+竜涎香 < ryuuzenkou\ ;
+射爆場 < shabakujou\ ;
+測量器 < sokuryouki\ ;
+土俗学 < dozokugaku\ ;
+美女桜 < bijozakura\ ;
+南々東 < nan''nantou\ ;
+人格権 < jinkakuken\ ;
+分解的 < bunkaiteki\ ;
+田夫野人 < denpuyajin\ ;
+他覚的 < takakuteki\ ;
+天主教 < tenshukyou\ ;
+雪化粧 < yukigeshou\ ;
+形式美 < keishikibi\ ;
+奇奇怪怪 < kikikaikai\ ;
+電通大 < dentsuudai\ ;
+三角点 < sankakuten\ ;
+伝書鳩 < denshobato\ ;
+他覚症 < takakushou\ ;
+消耗戦 < shoumousen\ ;
+仕訳書 < shiwakesho\ ;
+遊休地 < yuukyuuchi\ ;
+備付 < sonaetsuke\ ;
+反応性 < han''nousei\ ;
+暴走族 < bousouzoku\ ;
+紀元節 < kigensetsu\ ;
+温泉宿 < onsen''yado\ ;
+唐辛子 < tougarashi\ ;
+日中韓 < nitchuukan\ ;
+理解力 < rikairyoku\ ;
+略奪 < ryakudatsu\ ;
+公共財 < koukyouzai\ ;
+検定料 < kenteiryou\ ;
+市長選 < shichousen\ ;
+安普請 < yasubushin\ ;
+神代文字 < jindaimoji\ ;
+古典時代 < kotenjidai\ ;
+市会議員 < shikaigiin\ ;
+水道料 < suidouryou\ ;
+両成敗 < ryouseibai\ ;
+危険負担 < kikenfutan\ ;
+初節句 < hatsuzekku\ ;
+比較的 < hikakuteki\ ;
+国連軍 < kokurengun\ ;
+上級生 < joukyuusei\ ;
+無頓着 < mutonchaku\ ;
+再来月 < saraigetsu\ ;
+後日談 < gojitsudan\ ;
+備荒食 < bikoushoku\ ;
+健康不安 < kenkoufuan\ ;
+松虫 < matsumushi\ ;
+不行跡 < fugyouseki\ ;
+斜陽族 < shayouzoku\ ;
+青化物 < seikabutsu\ ;
+応急渡河 < oukyuutoka\ ;
+天王山 < ten''nouzan\ ;
+二重否定 < nijuuhitei\ ;
+厄介者 < yakkaimono\ ;
+勇猛心 < yuumoushin\ ;
+武力戦 < buryokusen\ ;
+三角法 < sankakuhou\ ;
+意気衝天 < ikishouten\ ;
+宗教画 < shuukyouga\ ;
+研究生 < kenkyuusei\ ;
+出奔者 < shupponsha\ ;
+収益金 < shuuekikin\ ;
+氷菓子 < koorigashi\ ;
+医学用語 < igakuyougo\ ;
+舞台効果 < butaikouka\ ;
+軽工業 < keikougyou\ ;
+記憶力 < kiokuryoku\ ;
+即興詩 < sokkyoushi\ ;
+古生物 < koseibutsu\ ;
+熱愛者 < netsuaisha\ ;
+天頂点 < tenchouten\ ;
+無資力 < mushiryoku\ ;
+興行権 < kougyouken\ ;
+松根油 < shoukon''yu\ ;
+両隣 < ryoudonari\ ;
+百済楽 < kudaragaku\ ;
+在任中 < zaininchuu\ ;
+滞在中 < taizaichuu\ ;
+製茶業 < seichagyou\ ;
+貿易商 < bouekishou\ ;
+国務省 < kokumushou\ ;
+中南米 < chuunanbei\ ;
+群雀 < murasuzume\ ;
+桐一葉 < kirihitoha\ ;
+電位差計 < den''isakei\ ;
+入選者 < nyuusensha\ ;
+縦社会 < tateshakai\ ;
+度数分布 < dosuubunpu\ ;
+操縦席 < soujuuseki\ ;
+周旋屋 < shuusen''ya\ ;
+文学士 < bungakushi\ ;
+運送保険 < unsouhoken\ ;
+工学者 < kougakusha\ ;
+古伝説 < kodensetsu\ ;
+印刷工 < insatsukou\ ;
+潜水服 < sensuifuku\ ;
+木質 < mokushitsu\ ;
+大主教 < daishukyou\ ;
+上場株 < joujoukabu\ ;
+類型的 < ruikeiteki\ ;
+実物 < jitsubutsu\ ;
+下露 < shitatsuyu\ ;
+吹出物 < fukidemono\ ;
+抗真菌 < koushinkin\ ;
+難波潟 < naniwagata\ ;
+租借地 < soshakuchi\ ;
+加農砲 < kan''nonhou\ ;
+造石税 < zoukokuzei\ ;
+駐車場 < chuushajou\ ;
+試算表 < shisanhyou\ ;
+経済学 < keizaigaku\ ;
+急勾配 < kyuukoubai\ ;
+儀式用 < gishikiyou\ ;
+高手小手 < takatekote\ ;
+血栓症 < kessenshou\ ;
+伊達姿 < datesugata\ ;
+病原体 < byougentai\ ;
+無味乾燥 < mumikansou\ ;
+下院議長 < kaingichou\ ;
+八分目 < hachibunme\ ;
+解析性 < kaisekisei\ ;
+軍備管理 < gunbikanri\ ;
+客観性 < kyakkansei\ ;
+畜力 < chikuryoku\ ;
+超媒体 < choubaitai\ ;
+水芭蕉 < mizubashou\ ;
+長期的 < choukiteki\ ;
+眼鏡蛇 < meganehebi\ ;
+樹脂加工 < jushikakou\ ;
+出版界 < shuppankai\ ;
+弁償金 < benshoukin\ ;
+未熟者 < mijukumono\ ;
+分散型 < bunsangata\ ;
+短編集 < tanpenshuu\ ;
+寒椿 < kantsubaki\ ;
+利水工事 < risuikouji\ ;
+淡路島 < awajishima\ ;
+増殖炉 < zoushokuro\ ;
+下見板 < shitamiita\ ;
+分教場 < bunkyoujou\ ;
+非常事態 < hijoujitai\ ;
+武装蜂起 < busouhouki\ ;
+史料館 < shiryoukan\ ;
+有声音化 < yuuseionka\ ;
+血小板 < kesshouban\ ;
+質的 < shitsuteki\ ;
+金色堂 < konjikidou\ ;
+漢方薬 < kanpouyaku\ ;
+価値基準 < kachikijun\ ;
+調理器具 < chourikigu\ ;
+砲煙弾雨 < houendan''u\ ;
+翻訳家 < hon''yakuka\ ;
+平等観 < byoudoukan\ ;
+検査官 < kenshoukan\ ;
+変分学 < henbungaku\ ;
+前栽物 < senzaimono\ ;
+強壮剤 < kyousouzai\ ;
+海産業 < kaisangyou\ ;
+馬耳東風 < bajitoufuu\ ;
+献納者 < ken''nousha\ ;
+六連星 < rokurensei\ ;
+梔子 < kuchinashi\ ;
+勅願寺 < chokuganji\ ;
+伝染病 < densenbyou\ ;
+驀地 < masshigura\ ;
+中華鍋 < chuukanabe\ ;
+天上川 < tenjougawa\ ;
+洋芥子 < yougarashi\ ;
+皆勤賞 < kaikinshou\ ;
+金属片 < kinzokuhen\ ;
+奇術師 < kijutsushi\ ;
+増加率 < zoukaritsu\ ;
+標準型 < hyoujunkei\ ;
+金赤色 < kin''akairo\ ;
+責任感 < sekininkan\ ;
+淋巴節 < rinpasetsu\ ;
+供物台 < kumotsudai\ ;
+米国人 < beikokujin\ ;
+等温式 < touonshiki\ ;
+前任者 < zen''ninsha\ ;
+製造元 < seizoumoto\ ;
+情報量 < jouhouryou\ ;
+平行移動 < heikouidou\ ;
+消耗品 < shoumouhin\ ;
+両手利 < ryoutekiki\ ;
+蓄電器 < chikudenki\ ;
+対角線 < taikakusen\ ;
+山刀 < yamagatana\ ;
+一晩中 < hitobanjuu\ ;
+下道 < shitamichi\ ;
+暗剣殺 < ankensatsu\ ;
+頭足類 < tousokurui\ ;
+在東京 < zaitoukyou\ ;
+棄言葉 < sutekotoba\ ;
+免税表 < menzeihyou\ ;
+国民性 < kokuminsei\ ;
+補助動詞 < hojodoushi\ ;
+彫刻家 < choukokuka\ ;
+不躾 < bushitsuke\ ;
+生卵 < namatamago\ ;
+読書界 < dokushokai\ ;
+風薬 < kazegusuri\ ;
+曲説 < kyokusetsu\ ;
+居留民 < kyoryuumin\ ;
+丸裸 < maruhadaka\ ;
+旋光角 < senkoukaku\ ;
+飯粒 < meshitsubu\ ;
+小間使 < komadzukai\ ;
+角膜炎 < kakumakuen\ ;
+猫車 < nekoguruma\ ;
+鰭脚類 < kikyakurui\ ;
+鑑識家 < kanshikika\ ;
+興行師 < kougyoushi\ ;
+三越 < mitsukoshi\ ;
+嬶天下 < kakaadenka\ ;
+固形物 < kokeibutsu\ ;
+紡績糸 < bousekiito\ ;
+否定応答 < hiteioutou\ ;
+吝嗇家 < rinshokuka\ ;
+為替尻 < kawasejiri\ ;
+読者欄 < dokusharan\ ;
+出世作 < shussesaku\ ;
+動摩擦 < doumasatsu\ ;
+部分食 < bubunshoku\ ;
+出版法 < shuppanhou\ ;
+課題曲 < kadaikyoku\ ;
+客月 < kyakugetsu\ ;
+殺虫剤 < satchuuzai\ ;
+薄雪草 < usuyukisou\ ;
+人体学 < jintaigaku\ ;
+平城京 < heijoukyou\ ;
+三角帽 < sankakubou\ ;
+衝撃波 < shougekiha\ ;
+自己資本 < jikoshihon\ ;
+郵送料 < yuusouryou\ ;
+石炭酸 < sekitansan\ ;
+征服者 < seifukusha\ ;
+顔貌 < kaokatachi\ ;
+黄金時代 < ougonjidai\ ;
+命令一下 < meireiikka\ ;
+強行軍 < kyoukougun\ ;
+納付期限 < noufukigen\ ;
+代表団 < daihyoudan\ ;
+小児麻痺 < shounimahi\ ;
+脚本家 < kyakuhonka\ ;
+菓子鉢 < kashibachi\ ;
+直円錐 < chokuensui\ ;
+宣伝記事 < sendenkiji\ ;
+出版権 < shuppanken\ ;
+再服役 < saifukueki\ ;
+生放送 < namahousou\ ;
+計算尺 < keisanjaku\ ;
+夏季休暇 < kakikyuuka\ ;
+通勤者 < tsuukinsha\ ;
+一塁線 < ichiruisen\ ;
+臨時政府 < rinjiseifu\ ;
+尺八 < shakuhachi\ ;
+液量計 < ekiryoukei\ ;
+三日三晩 < mikkamiban\ ;
+切支丹 < kirishitan\ ;
+闇市場 < yamishijou\ ;
+東男 < azumaotoko\ ;
+障害者 < shougaisha\ ;
+貴族的 < kizokuteki\ ;
+印刷人 < insatsunin\ ;
+海賊船 < kaizokusen\ ;
+抽象化 < chuushouka\ ;
+講習会 < koushuukai\ ;
+愛玩物 < aiganbutsu\ ;
+麻雀屋 < mazejan''ya\ ;
+伝染毒 < densendoku\ ;
+無理難題 < murinandai\ ;
+他国者 < takokumono\ ;
+予備装置 < yobisouchi\ ;
+果樹栽培 < kajusaibai\ ;
+重層的 < juusouteki\ ;
+質樸 < shitsuboku\ ;
+五重塔 < gojuunotou\ ;
+下級審 < kakyuushin\ ;
+肘枕 < hijimakura\ ;
+粗衣粗食 < soisoshoku\ ;
+低所得 < teishotoku\ ;
+仏滅 < butsumetsu\ ;
+専門章 < senmonshou\ ;
+鋳造所 < chuuzousho\ ;
+短時日 < tanjijitsu\ ;
+休業日 < kyuugyoubi\ ;
+先端的 < sentanteki\ ;
+人民委員 < jinmin''iin\ ;
+喧嘩腰 < kenkagoshi\ ;
+草双紙 < kusazoushi\ ;
+空想的 < kuusouteki\ ;
+飽和蒸気 < houwajouki\ ;
+雪達磨 < yukidaruma\ ;
+匹夫匹婦 < hippuhippu\ ;
+内交渉 < naikoushou\ ;
+広告社 < koukokusha\ ;
+小包 < kodzutsumi\ ;
+密密 < mitsumitsu\ ;
+二分音符 < nibun''onpu\ ;
+貨物駅 < kamotsueki\ ;
+千波万波 < senpabanpa\ ;
+貧乏籤 < binbouguji\ ;
+対話式 < taiwashiki\ ;
+就中 < nakandzuku\ ;
+共産軍 < kyousangun\ ;
+上蓆 < uwamushiro\ ;
+不承諾 < fushoudaku\ ;
+求人誌 < kyuujinshi\ ;
+鞭毛虫 < benmouchuu\ ;
+簡単服 < kantanfuku\ ;
+黒穂病 < kurohobyou\ ;
+脱力 < datsuryoku\ ;
+質札 < shichifuda\ ;
+分担額 < buntangaku\ ;
+異常発生 < ijouhassei\ ;
+治安部隊 < chianbutai\ ;
+太陽虫 < taiyouchuu\ ;
+暫定的 < zanteiteki\ ;
+代表例 < daihyourei\ ;
+三菱 < mitsubishi\ ;
+刃傷沙汰 < ninjouzata\ ;
+同国民 < doukokumin\ ;
+記念物 < kinenbutsu\ ;
+旧体制 < kyuutaisei\ ;
+仮枕 < karimakura\ ;
+南洋材 < nan''youzai\ ;
+非常口 < hijouguchi\ ;
+上表紙 < uwabyoushi\ ;
+面白味 < omoshiromi\ ;
+保存食 < hozonshoku\ ;
+不活性化 < fukasseika\ ;
+半意識 < han''ishiki\ ;
+供出 < kyoushutsu\ ;
+宮室 < kyuushitsu\ ;
+本調子 < honchoushi\ ;
+織女星 < shokujosei\ ;
+春霞 < harugasumi\ ;
+専門的 < senmonteki\ ;
+食物 < shokumotsu\ ;
+報償金 < houshoukin\ ;
+擲弾筒 < tekidantou\ ;
+貧乏神 < binbougami\ ;
+昔風 < mukashifuu\ ;
+大統領 < daitouryou\ ;
+量子論 < ryoushiron\ ;
+中力粉 < chuurikiko\ ;
+宝島 < takarajima\ ;
+工事現場 < koujigenba\ ;
+眼鏡猿 < meganezaru\ ;
+仏様 < hotokesama\ ;
+脚力 < kyakuryoku\ ;
+業界紙 < gyoukaishi\ ;
+非公式 < hikoushiki\ ;
+水兵服 < suiheifuku\ ;
+貯木場 < chobokujou\ ;
+梯子段 < hashigodan\ ;
+当歳駒 < tousaigoma\ ;
+宗教家 < shuukyouka\ ;
+研究官 < kenkyuukan\ ;
+殉教者 < junkyousha\ ;
+殉難者 < jun''nansha\ ;
+壁訴訟 < kabezoshou\ ;
+下職 < shitashoku\ ;
+自己宣伝 < jikosenden\ ;
+玉整理 < gyokuseiri\ ;
+茨城県 < ibarakiken\ ;
+屈曲部 < kukkyokubu\ ;
+消防隊 < shouboutai\ ;
+朧昆布 < oborokonbu\ ;
+気管支炎 < kikanshien\ ;
+看病人 < kanbyounin\ ;
+花電車 < hanadensha\ ;
+地文学 < chimongaku\ ;
+口供書 < koukyousho\ ;
+曲筆 < kyokuhitsu\ ;
+手前勝手 < temaegatte\ ;
+保守主義 < hoshushugi\ ;
+草野球 < kusayakyuu\ ;
+検事局 < kenjikyoku\ ;
+木端微塵 < koppamijin\ ;
+六辺形 < rokuhenkei\ ;
+死亡記事 < shiboukiji\ ;
+読者層 < dokushasou\ ;
+催促状 < saisokujou\ ;
+傾斜角 < keishakaku\ ;
+過剰利益 < kajourieki\ ;
+収監状 < shuukanjou\ ;
+地震学 < jishingaku\ ;
+在世中 < zaiseichuu\ ;
+奥座敷 < okuzashiki\ ;
+一纏 < hitomatome\ ;
+美術館 < bijutsukan\ ;
+許容量 < kyoyouryou\ ;
+女尊男卑 < josondanpi\ ;
+射撃場 < shagekijou\ ;
+後天的 < koutenteki\ ;
+駐屯地 < chuutonchi\ ;
+飯櫃 < meshibitsu\ ;
+脳溢血 < nouikketsu\ ;
+存命中 < zonmeichuu\ ;
+系列化 < keiretsuka\ ;
+出版屋 < shuppan''ya\ ;
+審美的 < shinbiteki\ ;
+恒久性 < koukyuusei\ ;
+貝柱 < kaibashira\ ;
+片貿易 < kataboueki\ ;
+文献学 < bunkengaku\ ;
+十二単衣 < juunihitoe\ ;
+時代色 < jidaishoku\ ;
+分離課税 < bunrikazei\ ;
+大大的 < daidaiteki\ ;
+二重橋 < nijuubashi\ ;
+地誌学 < chishigaku\ ;
+化学的 < kagakuteki\ ;
+曲直 < kyokuchoku\ ;
+肉弾戦 < nikudansen\ ;
+一絃琴 < ichigenkin\ ;
+遊牧民 < yuubokumin\ ;
+丸瓦 < marugawara\ ;
+核実験 < kakujikken\ ;
+貨物車 < kamotsusha\ ;
+任意捜査 < nin''isousa\ ;
+求人者 < kyuujinsha\ ;
+七竈 < nanakamado\ ;
+地震国 < jishinkoku\ ;
+居留地 < kyoryuuchi\ ;
+上位概念 < jouigainen\ ;
+障子紙 < shoujigami\ ;
+舞台道具 < butaidougu\ ;
+潜函病 < senkanbyou\ ;
+一穴 < hitotsuana\ ;
+引率者 < insotsusha\ ;
+上映時間 < joueijikan\ ;
+孫娘 < magomusume\ ;
+海賊版 < kaizokuban\ ;
+信仰者 < shinkousha\ ;
+消防車 < shoubousha\ ;
+三等賞 < santoushou\ ;
+無警察 < mukeisatsu\ ;
+仏性 < hotokeshou\ ;
+静静 < shizushizu\ ;
+彩色画 < saishokuga\ ;
+勧告者 < kankokusha\ ;
+計器飛行 < keikihikou\ ;
+実力 < jitsuryoku\ ;
+曲率 < kyokuritsu\ ;
+大鼓 < ootsudzumi\ ;
+広告欄 < koukokuran\ ;
+賞金王 < shoukin''ou\ ;
+戦災孤児 < sensaikoji\ ;
+通知状 < tsuuchijou\ ;
+工作品 < kousakuhin\ ;
+地政学 < chiseigaku\ ;
+太陽神 < taiyoushin\ ;
+継承者 < keishousha\ ;
+基本原理 < kihongenri\ ;
+乳製品 < nyuuseihin\ ;
+狐色 < kitsuneiro\ ;
+遊撃隊 < yuugekitai\ ;
+卑怯者 < hikyoumono\ ;
+再教育 < saikyouiku\ ;
+国内線 < kokunaisen\ ;
+噛煙草 < kamitabako\ ;
+一睡 < hitonemuri\ ;
+慈善市 < jizen''ichi\ ;
+回想録 < kaisouroku\ ;
+外交的 < gaikouteki\ ;
+情意投合 < jouitougou\ ;
+下町 < shitamachi\ ;
+管理機能 < kanrikinou\ ;
+人心 < hitogokoro\ ;
+修理中 < shuurichuu\ ;
+臨時記号 < rinjikigou\ ;
+三等親 < santoushin\ ;
+地表面 < chihyoumen\ ;
+干渉計 < kanshoukei\ ;
+研究会 < kenkyuukai\ ;
+肖像権 < shouzouken\ ;
+七生 < shichishou\ ;
+兵役忌避 < heiekikihi\ ;
+燕麦 < karasumugi\ ;
+役不足 < yakubusoku\ ;
+一番 < hitotsugai\ ;
+注意力 < chuuiryoku\ ;
+腹上死 < fukujoushi\ ;
+編集者 < henshuusha\ ;
+広告板 < koukokuban\ ;
+渉禽類 < shoukinrui\ ;
+倒錯者 < tousakusha\ ;
+水疱瘡 < mizubousou\ ;
+平等権 < byoudouken\ ;
+大震災 < daishinsai\ ;
+重症例 < juushourei\ ;
+地域的 < chiikiteki\ ;
+共産系 < kyousankei\ ;
+開閉橋 < kaiheikyou\ ;
+戦争映画 < sensoueiga\ ;
+陳情書 < chinjousho\ ;
+財政危機 < zaiseikiki\ ;
+投機熱 < toukinetsu\ ;
+有限花序 < yuugenkajo\ ;
+物語 < monogatari\ ;
+冗談事 < joudankoto\ ;
+最高級 < saikoukyuu\ ;
+思惑師 < omowakushi\ ;
+女達 < on''natachi\ ;
+西日本 < nishinihon\ ;
+近代的 < kindaiteki\ ;
+超大型 < chouoogata\ ;
+砕氷船 < saihyousen\ ;
+漁業法 < gyogyouhou\ ;
+朧月 < oborodzuki\ ;
+未解決 < mikaiketsu\ ;
+片跛 < katachinba\ ;
+軍事基地 < gunjikichi\ ;
+巨人国 < kyojinkoku\ ;
+最小限 < saishougen\ ;
+末日 < matsujitsu\ ;
+公共性 < koukyousei\ ;
+不正事件 < fuseijiken\ ;
+出来次第 < dekishidai\ ;
+工学士 < kougakushi\ ;
+酒造業 < shuzougyou\ ;
+変体仮名 < hentaigana\ ;
+色鉛筆 < iroenpitsu\ ;
+望月 < mochidzuki\ ;
+英雄主義 < eiyuushugi\ ;
+火打石 < hiuchiishi\ ;
+醸造業 < jouzougyou\ ;
+大隼 < oohayabusa\ ;
+単眼鏡 < tangankyou\ ;
+痴話喧嘩 < chiwagenka\ ;
+漁業権 < gyogyouken\ ;
+石灯籠 < ishidourou\ ;
+南氷洋 < nanpyouyou\ ;
+鱈場蟹 < tarabagani\ ;
+岡山県 < okayamaken\ ;
+烏有先生 < uyuusensei\ ;
+紡績工 < bousekikou\ ;
+起爆薬 < kibakuyaku\ ;
+確認書 < kakuninsho\ ;
+憲法違反 < kenpouihan\ ;
+回転椅子 < kaiten''isu\ ;
+誕生石 < tanjouseki\ ;
+防臭剤 < boushuuzai\ ;
+錫製品 < suzuseihin\ ;
+月月 < tsukidzuki\ ;
+貨物船 < kamotsusen\ ;
+一塁手 < ichiruishu\ ;
+脚線美 < kyakusenbi\ ;
+能登半島 < notohantou\ ;
+劣性遺伝 < resseiiden\ ;
+有価物 < yuukabutsu\ ;
+請負制度 < ukeoiseido\ ;
+植生図 < shokuseizu\ ;
+一渡 < hitowatari\ ;
+発情期 < hatsujouki\ ;
+白水社 < hakusuisha\ ;
+水車小屋 < suishagoya\ ;
+採算株 < saisankabu\ ;
+褐毛和種 < akagewashu\ ;
+長丁場 < nagachouba\ ;
+妾腹 < mekakebara\ ;
+有孔虫 < yuukouchuu\ ;
+固定負債 < koteifusai\ ;
+天然痘 < ten''nentou\ ;
+依願免官 < iganmenkan\ ;
+四拍子 < yonbyoushi\ ;
+冗長系 < jouchoukei\ ;
+日本式 < nihonshiki\ ;
+満年齢 < man''nenrei\ ;
+消防艇 < shouboutei\ ;
+小液胞 < shouekihou\ ;
+首唱者 < shushousha\ ;
+雲霞 < kumokasumi\ ;
+日本平 < nihondaira\ ;
+革袋 < kawabukuro\ ;
+鉄面皮 < tetsumenpi\ ;
+主権国 < shukenkoku\ ;
+買掛金 < kaikakekin\ ;
+石灰石 < sekkaiseki\ ;
+米問屋 < komedon''ya\ ;
+思想劇 < shisougeki\ ;
+万国民 < bankokumin\ ;
+勧告状 < kankokujou\ ;
+敗北感 < haibokukan\ ;
+密輸船 < mitsuyusen\ ;
+出来不出来 < dekifudeki\ ;
+可変翼 < kahen''yoku\ ;
+政府機関 < seifukikan\ ;
+偏頭痛 < hentoutsuu\ ;
+年齢給 < nenreikyuu\ ;
+透磁率 < toujiritsu\ ;
+事件記者 < jikenkisha\ ;
+平安後期 < heiankouki\ ;
+厄介事 < yakkaigoto\ ;
+伏射濠 < fukushagou\ ;
+析出 < sekishutsu\ ;
+懸壅垂 < ken''yousui\ ;
+界磁極 < kaijikyoku\ ;
+応用力 < ouyouryoku\ ;
+日曜日 < nichiyoubi\ ;
+消防署 < shoubousho\ ;
+雇用保険 < koyouhoken\ ;
+貧乏性 < binboushou\ ;
+核崩壊 < kakuhoukai\ ;
+不潔感 < fuketsukan\ ;
+数学者 < suugakusha\ ;
+聴取者 < choushusha\ ;
+読書人 < dokushojin\ ;
+保護貿易 < hogoboueki\ ;
+前任地 < zen''ninchi\ ;
+漁色家 < gyoshokuka\ ;
+世界制覇 < sekaiseiha\ ;
+製作者 < seisakusha\ ;
+不束 < futsutsuka\ ;
+没個性 < botsukosei\ ;
+無機肥料 < mukihiryou\ ;
+全店中 < zentenchuu\ ;
+高野豆腐 < kouyadoufu\ ;
+官給品 < kankyuuhin\ ;
+白金族 < hakkinzoku\ ;
+天文学 < tenmongaku\ ;
+兵学者 < heigakusha\ ;
+合唱隊 < gasshoutai\ ;
+代議政治 < daigiseiji\ ;
+不成立 < fuseiritsu\ ;
+猫柳 < nekoyanagi\ ;
+献納品 < ken''nouhin\ ;
+細粒分 < sairyuubun\ ;
+意馬心猿 < ibashin''en\ ;
+猛練習 < mourenshuu\ ;
+交通遺児 < koutsuuiji\ ;
+例外的 < reigaiteki\ ;
+効率化 < kouritsuka\ ;
+除虫菊 < jochuugiku\ ;
+紅生姜 < benishouga\ ;
+干拓地 < kantakuchi\ ;
+凍傷者 < toushousha\ ;
+同国人 < doukokujin\ ;
+目的語 < mokutekigo\ ;
+貸付 < kashitsuke\ ;
+三国志 < sangokushi\ ;
+人物画 < jinbutsuga\ ;
+吸入器 < kyuunyuuki\ ;
+防寒服 < boukanfuku\ ;
+修院長 < shuuinchou\ ;
+国内法 < kokunaihou\ ;
+探究者 < tankyuusha\ ;
+初心者 < shoshinsha\ ;
+狸汁 < tanukijiru\ ;
+未開発 < mikaihatsu\ ;
+広告塔 < koukokutou\ ;
+開拓者 < kaitakusha\ ;
+人類学 < jinruigaku\ ;
+知日派 < chinichiha\ ;
+最高潮 < saikouchou\ ;
+天然港 < ten''nenkou\ ;
+反逆児 < hangyakuji\ ;
+一国者 < ikkokumono\ ;
+好材料 < kouzairyou\ ;
+太陽暦 < taiyoureki\ ;
+常用癖 < jouyouheki\ ;
+早教育 < soukyouiku\ ;
+格子縞 < koushijima\ ;
+反軍的 < hangunteki\ ;
+薬包紙 < yakuhoushi\ ;
+兵曹長 < heisouchou\ ;
+漢文学 < kanbungaku\ ;
+急先鋒 < kyuusenpou\ ;
+不抱 < kakawarazu\ ;
+口奇麗 < kuchigirei\ ;
+行政法 < gyouseihou\ ;
+送金額 < soukingaku\ ;
+求婚者 < kyuukonsha\ ;
+再調整 < saichousei\ ;
+風見鶏 < kazamidori\ ;
+執政官 < shisseikan\ ;
+能楽堂 < nougakudou\ ;
+好下物 < koukabutsu\ ;
+双発機 < souhatsuki\ ;
+遺棄貨物 < ikikamotsu\ ;
+公共債 < koukyousai\ ;
+昨年来 < sakunenrai\ ;
+提供者 < teikyousha\ ;
+醸造学 < jouzougaku\ ;
+一所 < hitotokoro\ ;
+得点圏 < tokutenken\ ;
+炭化水素 < tankasuiso\ ;
+審美学 < shinbigaku\ ;
+女便所 < on''nabenjo\ ;
+呉服物 < gofukumono\ ;
+症候群 < shoukougun\ ;
+囲碁三級 < igosankyuu\ ;
+産婦人科 < sanfujinka\ ;
+曲尺 < kyokushaku\ ;
+格子窓 < koushimado\ ;
+文明国 < bunmeikoku\ ;
+行政権 < gyouseiken\ ;
+金木犀 < kinmokusei\ ;
+理想主義 < risoushugi\ ;
+十字砲火 < juujihouka\ ;
+雪質 < yukishitsu\ ;
+都道府県 < todoufuken\ ;
+麝香豌豆 < jakouendou\ ;
+手札型 < tefudagata\ ;
+全般的 < zenpanteki\ ;
+特殊鋼 < tokushukou\ ;
+圧縮性 < asshukusei\ ;
+盲唖学校 < mouagakkou\ ;
+保安条例 < hoanjourei\ ;
+石器時代 < sekkijidai\ ;
+似非理屈 < eserikutsu\ ;
+官房長 < kanbouchou\ ;
+記念切手 < kinenkitte\ ;
+白砂糖 < shirozatou\ ;
+個人個人 < kojinkojin\ ;
+春分点 < shunbunten\ ;
+旧主人 < kyuushujin\ ;
+犇犇 < hishihishi\ ;
+雛豆 < hiyokomame\ ;
+延滞利子 < entairishi\ ;
+葉緑素 < youryokuso\ ;
+網頭 < amigashira\ ;
+分派主義 < bunpashugi\ ;
+内面的 < naimenteki\ ;
+毀誉褒貶 < kiyohouhen\ ;
+肺結核 < haikekkaku\ ;
+唯美主義 < yuibishugi\ ;
+塩魚 < shiozakana\ ;
+回収金 < kaishuukin\ ;
+綿帽子 < wataboushi\ ;
+中執 < chuushitsu\ ;
+夏虫 < natsumushi\ ;
+急進派 < kyuushinha\ ;
+軍事衛星 < gunjieisei\ ;
+芸術院 < geijutsuin\ ;
+榴弾砲 < ryuudanpou\ ;
+冒険心 < boukenshin\ ;
+可燃物 < kanenbutsu\ ;
+日本一 < nihon''ichi\ ;
+修練者 < shuurensha\ ;
+反射鏡 < hanshakyou\ ;
+二直角 < nichokkaku\ ;
+無我夢中 < mugamuchuu\ ;
+型変換 < katahenkan\ ;
+去勢牛 < kyoseiushi\ ;
+予定期限 < yoteikigen\ ;
+犯罪学 < hanzaigaku\ ;
+原籍地 < gensekichi\ ;
+綾錦 < ayanishiki\ ;
+性道徳 < seidoutoku\ ;
+平滑化 < heikatsuka\ ;
+立体映画 < rittaieiga\ ;
+郵便箱 < yuubinbako\ ;
+受信料 < jushinryou\ ;
+再組織 < saisoshiki\ ;
+美術界 < bijutsukai\ ;
+天気模様 < tenkimoyou\ ;
+不等式 < fudoushiki\ ;
+火口原湖 < kakougenko\ ;
+月別 < tsukibetsu\ ;
+表音字母 < hyouonjibo\ ;
+約定書 < yakujousho\ ;
+三箇日 < sanganichi\ ;
+音声言語 < onseigengo\ ;
+発祥地 < hasshouchi\ ;
+一昨昨日 < sakiototoi\ ;
+勝手口 < katteguchi\ ;
+夕食後 < yuushokugo\ ;
+搬入日 < han''nyuubi\ ;
+豪商層 < goushousou\ ;
+奴豆腐 < yakkodoufu\ ;
+脱法行為 < dappoukoui\ ;
+感覚論 < kankakuron\ ;
+国産車 < kokusansha\ ;
+不流通 < furyuutsuu\ ;
+橋頭堡 < kyoutouhou\ ;
+個人主義 < kojinshugi\ ;
+夏時間 < natsujikan\ ;
+石炭層 < sekitansou\ ;
+絹一匹 < kinuippiki\ ;
+建白書 < kenpakusho\ ;
+消防法 < shoubouhou\ ;
+中近東 < chuukintou\ ;
+不正規軍 < fuseikigun\ ;
+奪略 < datsuryaku\ ;
+証人台 < shounindai\ ;
+水産業 < suisangyou\ ;
+比例式 < hireishiki\ ;
+男所帯 < otokojotai\ ;
+修整版 < shuuseihan\ ;
+准看護婦 < junkangofu\ ;
+冷水浴 < reisuiyoku\ ;
+夏羽織 < natsubaori\ ;
+褒言葉 < homekotoba\ ;
+繁繁 < shigeshige\ ;
+事務机 < jimudzukue\ ;
+主催国 < shusaikoku\ ;
+大外刈 < oosotogari\ ;
+清算人 < seisan''nin\ ;
+住民票 < juuminhyou\ ;
+母子家庭 < boshikatei\ ;
+無線局 < musenkyoku\ ;
+悪材料 < akuzairyou\ ;
+日照計 < nisshoukei\ ;
+支持率 < shijiritsu\ ;
+二連発 < nirenpatsu\ ;
+同名異人 < doumeiijin\ ;
+具象的 < gushouteki\ ;
+副抵当 < fukuteitou\ ;
+育児時間 < ikujijikan\ ;
+時価発行 < jikahakkou\ ;
+胸膜炎 < kyoumakuen\ ;
+除湿器 < joshitsuki\ ;
+乗換駅 < norikaeeki\ ;
+一周 < hitomeguri\ ;
+古本屋 < furuhon''ya\ ;
+巨大症 < kyodaishou\ ;
+会議事項 < kaigijikou\ ;
+知日家 < chinichika\ ;
+白眼視 < hakuganshi\ ;
+照射法 < shoushahou\ ;
+仮想記憶 < kasoukioku\ ;
+烏鳩 < karasubato\ ;
+赤信号 < akashingou\ ;
+長方形 < chouhoukei\ ;
+万国史 < bankokushi\ ;
+造兵廠 < zouheishou\ ;
+東京湾 < toukyouwan\ ;
+独創性 < dokusousei\ ;
+部分麻酔 < bubunmasui\ ;
+検事控訴 < kenjikouso\ ;
+放浪癖 < hourouheki\ ;
+行政官 < gyouseikan\ ;
+没趣味 < botsushumi\ ;
+陶酔境 < tousuikyou\ ;
+反射角 < hanshakaku\ ;
+旅烏 < tabigarasu\ ;
+七光 < nanahikari\ ;
+特効薬 < tokkouyaku\ ;
+娘婿 < musumemuko\ ;
+日没 < nichibotsu\ ;
+多項式 < takoushiki\ ;
+表情筋 < hyoujoukin\ ;
+経営管理 < keieikanri\ ;
+利益率 < riekiritsu\ ;
+三拍子 < sanbyoushi\ ;
+量販店 < ryouhanten\ ;
+編集子 < henshuushi\ ;
+冗長性 < jouchousei\ ;
+鼻眼鏡 < hanamegane\ ;
+内視鏡 < naishikyou\ ;
+赤翡翠 < akashoubin\ ;
+飛行時間 < hikoujikan\ ;
+熱機関 < netsukikan\ ;
+摂護腺 < setsugosen\ ;
+対抗策 < taikousaku\ ;
+近代劇 < kindaigeki\ ;
+徹底的 < tetteiteki\ ;
+四字熟語 < yojijukugo\ ;
+歴代史 < rekidaishi\ ;
+早見表 < hayamihyou\ ;
+臨機応変 < rinkiouhen\ ;
+投射角 < toushakaku\ ;
+定期保険 < teikihoken\ ;
+監督者 < kantokusha\ ;
+共産圏 < kyousanken\ ;
+実行中 < jikkouchuu\ ;
+猛攻撃 < moukougeki\ ;
+電子殻 < denshikaku\ ;
+造言飛語 < zougenhigo\ ;
+村役場 < murayakuba\ ;
+細雪 < sasameyuki\ ;
+陸軟風 < rikunanpuu\ ;
+政治色 < seijishoku\ ;
+母子草 < hahakogusa\ ;
+特待生 < tokutaisei\ ;
+頭分 < kashirabun\ ;
+中盤戦 < chuubansen\ ;
+事務用品 < jimuyouhin\ ;
+舞踏靴 < butougutsu\ ;
+言語地理 < gengochiri\ ;
+大陪審 < daibaishin\ ;
+無縁仏 < muenbotoke\ ;
+斑牛 < madaraushi\ ;
+緑色 < ryokushoku\ ;
+認定証 < ninteishou\ ;
+美術書 < bijutsusho\ ;
+計量法 < keiryouhou\ ;
+原振動 < genshindou\ ;
+学芸会 < gakugeikai\ ;
+脂肪心 < shiboushin\ ;
+狸饂飩 < tanukiudon\ ;
+水産庁 < suisanchou\ ;
+合憲的 < goukenteki\ ;
+主体的 < shutaiteki\ ;
+犯罪行為 < hanzaikoui\ ;
+日月 < nichigetsu\ ;
+窃盗狂 < settoukyou\ ;
+女一般 < on''naippan\ ;
+決勝線 < kesshousen\ ;
+旭日 < kyokujitsu\ ;
+輸送機関 < yusoukikan\ ;
+口上手 < kuchijouzu\ ;
+工場長 < koujouchou\ ;
+旗二流 < hataniryuu\ ;
+補助艦艇 < hojokantei\ ;
+即位式 < sokuishiki\ ;
+五里霧中 < gorimuchuu\ ;
+懐柔策 < kaijuusaku\ ;
+三日天下 < mikkatenka\ ;
+幻想劇 < gensougeki\ ;
+基本単位 < kihontan''i\ ;
+事務室 < jimushitsu\ ;
+超規則 < choukisoku\ ;
+核家族 < kakukazoku\ ;
+夕月夜 < yuudzukeyo\ ;
+猶予期間 < yuuyokikan\ ;
+大衆車 < daishuusha\ ;
+無籍者 < musekimono\ ;
+日独伊 < nichidokui\ ;
+隣組 < tonarigumi\ ;
+悪習慣 < akushuukan\ ;
+硫酸銅 < ryuusandou\ ;
+水産学 < suisangaku\ ;
+烏金 < karasugane\ ;
+幸福感 < koufukukan\ ;
+賠償金 < baishoukin\ ;
+請負工事 < ukeoikouji\ ;
+隼科 < hayabusaka\ ;
+共産党 < kyousantou\ ;
+物心 < monogokoro\ ;
+旅枕 < tabimakura\ ;
+紅雀 < benisuzume\ ;
+父方 < chichikata\ ;
+後退文字 < koutaimoji\ ;
+船板塀 < funaitabei\ ;
+全学連 < zengakuren\ ;
+直走路 < chokusouro\ ;
+男尊女卑 < dansonjohi\ ;
+氷豆腐 < kooridoufu\ ;
+入居者 < nyuukyosha\ ;
+日陰者 < hikagemono\ ;
+絶縁線 < zetsuensen\ ;
+大慈大悲 < daijidaihi\ ;
+塵芥 < chiriakuta\ ;
+品評会 < hinpyoukai\ ;
+水瓶座 < mizugameza\ ;
+各団体 < kakudantai\ ;
+来来週 < rairaishuu\ ;
+四十雀 < shijuukara\ ;
+如何様師 < ikasamashi\ ;
+通用門 < tsuuyoumon\ ;
+爪楊枝 < tsumayouji\ ;
+散髪屋 < sanpatsuya\ ;
+校正刷 < kouseizuri\ ;
+黒眼鏡 < kuromegane\ ;
+臨界事故 < rinkaijiko\ ;
+雨燕 < amatsubame\ ;
+妹婿 < imoutomuko\ ;
+造船業 < zousengyou\ ;
+観劇会 < kangekikai\ ;
+雪煙 < yukikemuri\ ;
+公害病 < kougaibyou\ ;
+受信側 < jushingawa\ ;
+企業心 < kigyoushin\ ;
+因果関係 < ingakankei\ ;
+修繕工 < shuuzenkou\ ;
+単身銃 < tanshinjuu\ ;
+角蛙 < tsunogaeru\ ;
+異種交配 < ishukouhai\ ;
+夜間勤務 < yakankinmu\ ;
+百年目 < hyakunenme\ ;
+没理想 < botsurisou\ ;
+静脈炎 < joumyakuen\ ;
+御国自慢 < okunijiman\ ;
+全能者 < zen''nousha\ ;
+呉服商 < gofukushou\ ;
+省資源 < shoushigen\ ;
+集合論 < shuugouron\ ;
+禁煙席 < kin''enseki\ ;
+失業 < shitsugyou\ ;
+設立 < setsuritsu\ ;
+長方体 < chouhoutai\ ;
+受信人 < jushin''nin\ ;
+急停車 < kyuuteisha\ ;
+雑物 < zatsubutsu\ ;
+神経科医 < shinkeikai\ ;
+糞度胸 < kusodokyou\ ;
+消防士 < shouboushi\ ;
+有理式 < yuurishiki\ ;
+終列車 < shuuressha\ ;
+所有格 < shoyuukaku\ ;
+知覚知 < chikakuchi\ ;
+遊撃手 < yuugekishu\ ;
+解熱剤 < genetsuzai\ ;
+店屋物 < ten''yamono\ ;
+熱烈 < netsuretsu\ ;
+遊撃戦 < yuugekisen\ ;
+山水閣 < sansuikaku\ ;
+説教師 < sekkyoushi\ ;
+島帝国 < touteikoku\ ;
+卑劣漢 < hiretsukan\ ;
+随神 < kan''nagara\ ;
+裸麦 < hadakamugi\ ;
+全生涯 < zenshougai\ ;
+全会衆 < zenkaishuu\ ;
+収容者 < shuuyousha\ ;
+解集合 < kaishuugou\ ;
+相対的 < soutaiteki\ ;
+石灰乳 < sekkainyuu\ ;
+共有者 < kyouyuusha\ ;
+指定席 < shiteiseki\ ;
+商品名 < shouhinmei\ ;
+根本的 < konponteki\ ;
+美術展 < bijutsuten\ ;
+縞模様 < shimamoyou\ ;
+消防団 < shouboudan\ ;
+乾葡萄 < hoshibudou\ ;
+霜月 < shimotsuki\ ;
+羽根車 < haneguruma\ ;
+完全試合 < kanzenjiai\ ;
+発動機 < hatsudouki\ ;
+闘牛士 < tougyuushi\ ;
+同情票 < doujouhyou\ ;
+入会金 < nyuukaikin\ ;
+熱硬化 < netsukouka\ ;
+夢枕 < yumemakura\ ;
+旅心 < tabigokoro\ ;
+闘牛場 < tougyuujou\ ;
+反対票 < hantaihyou\ ;
+犬侍 < inuzamurai\ ;
+冷却器 < reikyakuki\ ;
+借入金 < kariirekin\ ;
+商品券 < shouhinken\ ;
+公示地価 < koujichika\ ;
+歓楽街 < kanrakugai\ ;
+研削盤 < kensakuban\ ;
+一字一句 < ichijiikku\ ;
+識別 < shikibetsu\ ;
+原理主義 < genrishugi\ ;
+本籍地 < honsekichi\ ;
+気欝症 < kiutsushou\ ;
+恋女房 < koinyoubou\ ;
+脳神経 < noushinkei\ ;
+膠原病 < kougenbyou\ ;
+牽制球 < kenseikyuu\ ;
+新造船 < shinzousen\ ;
+感覚点 < kankakuten\ ;
+偽君子 < nisekunshi\ ;
+決勝点 < kesshouten\ ;
+多数決 < tasuuketsu\ ;
+意識的 < ishikiteki\ ;
+反射的 < hanshateki\ ;
+不活発 < fukappatsu\ ;
+受領証 < juryoushou\ ;
+純文学 < junbungaku\ ;
+特急券 < tokkyuuken\ ;
+妾出 < shoushutsu\ ;
+黄金術 < ougonjutsu\ ;
+仮勘定 < karikanjou\ ;
+緑玉 < ryokugyoku\ ;
+烏蛇 < karasuhebi\ ;
+霊長類 < reichourui\ ;
+全身像 < zenshinzou\ ;
+密輸品 < mitsuyuhin\ ;
+既設線 < kisetsusen\ ;
+二連式 < nirenshiki\ ;
+童話作家 < douwasakka\ ;
+減速材 < gensokuzai\ ;
+光磁気 < hikarijiki\ ;
+証明書 < shoumeisho\ ;
+開拓地 < kaitakuchi\ ;
+仮免許 < karimenkyo\ ;
+特出 < tokushutsu\ ;
+紙袋 < kamibukuro\ ;
+印象的 < inshouteki\ ;
+旧教徒 < kyuukyouto\ ;
+貨物便 < kamotsubin\ ;
+妨害行為 < bougaikoui\ ;
+雪柳 < yukiyanagi\ ;
+有望株 < yuuboukabu\ ;
+慣例的 < kanreiteki\ ;
+観相学 < kansougaku\ ;
+肉用種 < nikuyoushu\ ;
+運営経費 < un''eikeihi\ ;
+春休 < haruyasumi\ ;
+基地局 < kichikyoku\ ;
+適応症 < tekioushou\ ;
+中高生 < chuukousei\ ;
+下準備 < shitajunbi\ ;
+信頼感 < shinraikan\ ;
+発酵乳 < hakkounyuu\ ;
+旅芸人 < tabigeinin\ ;
+人雪崩 < hitonadare\ ;
+主信号 < shushingou\ ;
+二部合奏 < nibugassou\ ;
+信奉者 < shinpousha\ ;
+名誉毀損 < meiyokison\ ;
+尺貫法 < shakkanhou\ ;
+美術品 < bijutsuhin\ ;
+記録映画 < kirokueiga\ ;
+通信費 < tsuushinhi\ ;
+信頼性 < shinraisei\ ;
+感覚毛 < kankakumou\ ;
+順応性 < jun''nousei\ ;
+常習者 < joushuusha\ ;
+美術史 < bijutsushi\ ;
+檀那寺 < dan''nadera\ ;
+千歳飴 < chitoseame\ ;
+製材業 < seizaigyou\ ;
+新機軸 < shinkijiku\ ;
+肉饅頭 < nikumanjuu\ ;
+水資源 < mizushigen\ ;
+白鳥座 < hakuchouza\ ;
+百分比 < hyakubunhi\ ;
+試金石 < shikinseki\ ;
+運搬管理 < unpankanri\ ;
+優等賞 < yuutoushou\ ;
+医科大学 < ikadaigaku\ ;
+大衆紙 < taishuushi\ ;
+花見時 < hanamidoki\ ;
+加減乗除 < kagenjoujo\ ;
+塗擦剤 < tosatsuzai\ ;
+阿片戦争 < ahensensou\ ;
+木製品 < mokuseihin\ ;
+内角球 < naikakkyuu\ ;
+饒舌家 < jouzetsuka\ ;
+熱処理 < netsushori\ ;
+触発 < shokuhatsu\ ;
+新幹線 < shinkansen\ ;
+動向表 < doukouhyou\ ;
+交響詩 < koukyoushi\ ;
+挨拶状 < aisatsujou\ ;
+陥没湖 < kanbotsuko\ ;
+唯唯諾諾 < iidakudaku\ ;
+信天翁 < shinten''ou\ ;
+起電力 < kidenryoku\ ;
+鎮魂祭 < chinkonsai\ ;
+舶来品 < hakuraihin\ ;
+手塩皿 < teshiozara\ ;
+黒底翳 < kurosokohi\ ;
+学生帽 < gakuseibou\ ;
+継父 < mamachichi\ ;
+水栽培 < mizusaibai\ ;
+営造物 < eizoubutsu\ ;
+日照権 < nisshouken\ ;
+相対誤差 < soutaigosa\ ;
+光量子 < kouryoushi\ ;
+万愚節 < bangusetsu\ ;
+能狂言 < noukyougen\ ;
+飲酒運転 < inshuunten\ ;
+烏紙 < karasugami\ ;
+支持力 < shijiryoku\ ;
+統計表 < toukeihyou\ ;
+先史学 < senshigaku\ ;
+指名試合 < shimeijiai\ ;
+日仏 < nichifutsu\ ;
+硫酸紙 < ryuusanshi\ ;
+性差別 < seisabetsu\ ;
+靴下 < kutsushita\ ;
+本国人 < hongokujin\ ;
+巨視的 < kyoshiteki\ ;
+転轍機 < tentetsuki\ ;
+表忠碑 < hyouchuuhi\ ;
+収賄罪 < shuuwaizai\ ;
+薬剤師 < yakuzaishi\ ;
+後見人 < kouken''nin\ ;
+連用形 < ren''youkei\ ;
+余白注 < yohakuchuu\ ;
+伝統的 < dentouteki\ ;
+縮尺 < shukushaku\ ;
+徒弟制度 < toteiseido\ ;
+親権者 < shinkensha\ ;
+紋羽二重 < monhabutae\ ;
+円天井 < marutenjou\ ;
+女主 < on''naaruji\ ;
+少年院 < shounen''in\ ;
+歴青炭 < rekiseitan\ ;
+貨幣制度 < kaheiseido\ ;
+蠏工船 < kanikousen\ ;
+目八分 < mehachibun\ ;
+四十肩 < shijuukata\ ;
+楽観的 < rakkanteki\ ;
+心停止 < shinteishi\ ;
+速射砲 < sokushahou\ ;
+敵失 < tekishitsu\ ;
+日和下駄 < hiyorigeta\ ;
+新建材 < shinkenzai\ ;
+不必要 < fuhitsuyou\ ;
+扁青石 < henseiseki\ ;
+双球菌 < soukyuukin\ ;
+世界平和 < sekaiheiwa\ ;
+水羊羮 < mizuyoukan\ ;
+抜本的 < bapponteki\ ;
+教室 < kyoushitsu\ ;
+単発機 < tanpatsuki\ ;
+無理関数 < murikansuu\ ;
+転送先 < tensousaki\ ;
+入会者 < nyuukaisha\ ;
+丸木船 < marukibune\ ;
+音吐朗朗 < ontorourou\ ;
+希釈液 < kishakueki\ ;
+梅雨前線 < baiuzensen\ ;
+月曜日 < getsuyoubi\ ;
+最賃法 < saichinhou\ ;
+電気時計 < denkidokei\ ;
+革新派 < kakushinha\ ;
+絶滅 < zetsumetsu\ ;
+二十四日 < nijuuyokka\ ;
+戦病死 < senbyoushi\ ;
+男性的 < danseiteki\ ;
+乳酸菌 < nyuusankin\ ;
+前照灯 < zenshoutou\ ;
+悲歌慷慨 < hikakougai\ ;
+腸捻転 < chounenten\ ;
+親分株 < oyabunkabu\ ;
+学用品 < gakuyouhin\ ;
+特殊性 < tokushusei\ ;
+単色画 < tanshokuga\ ;
+仕立券 < shitateken\ ;
+予防医学 < yobouigaku\ ;
+当期利益 < toukirieki\ ;
+要石 < kanameishi\ ;
+皮下脂肪 < hikashibou\ ;
+陰弁慶 < kagebenkei\ ;
+混血児 < konketsuji\ ;
+販売元 < hanbaimoto\ ;
+常習犯 < joushuuhan\ ;
+陶磁器店 < toujikiten\ ;
+清涼剤 < seiryouzai\ ;
+最小値 < saishouchi\ ;
+切符売場 < kippuuriba\ ;
+裸体主義 < rataishugi\ ;
+水族館 < suizokukan\ ;
+共犯者 < kyouhansha\ ;
+寿司飯 < sushimeshi\ ;
+急転換 < kyuutenkan\ ;
+招待状 < shoutaijou\ ;
+打撲傷 < dabokushou\ ;
+音標文字 < onpyoumoji\ ;
+特待券 < tokutaiken\ ;
+毒人参 < dokuninjin\ ;
+不正規戦 < fuseikisen\ ;
+天竺葵 < tenjikuaoi\ ;
+女世帯 < on''najotai\ ;
+人間的 < ningenteki\ ;
+診断書 < shindansho\ ;
+蘚苔学 < sentaigaku\ ;
+絶対位置 < zettaiichi\ ;
+原稿料 < genkouryou\ ;
+監督官 < kantokukan\ ;
+商務省 < shoumushou\ ;
+宣告書 < senkokusho\ ;
+夜夜中 < yoruyonaka\ ;
+裏話 < urabanashi\ ;
+通信簿 < tsuushinbo\ ;
+堆積岩 < taisekigan\ ;
+抑留所 < yokuryuujo\ ;
+撞木杖 < shumokuzue\ ;
+黄金率 < ougonritsu\ ;
+堆積層 < taisekisou\ ;
+合唱団 < gasshoudan\ ;
+好敵手 < koutekishu\ ;
+簡易保険 < kan''ihoken\ ;
+粉薬 < konagusuri\ ;
+文章題 < bunshoudai\ ;
+寡頭政治 < katouseiji\ ;
+金物屋 < kanamonoya\ ;
+団菊祭 < dangikusai\ ;
+緩衝液 < kanshoueki\ ;
+寄宿舎 < kishukusha\ ;
+縮刷 < shukusatsu\ ;
+潜望鏡 < senboukyou\ ;
+新左翼 < shinsayoku\ ;
+遡及的 < sokyuuteki\ ;
+同情心 < doujoushin\ ;
+下稽古 < shitageiko\ ;
+競争者 < kyousousha\ ;
+商店街 < shoutengai\ ;
+玉手箱 < tamatebako\ ;
+土豚 < tsuchibuta\ ;
+上半身 < jouhanshin\ ;
+下水処理 < gesuishori\ ;
+測定法 < sokuteihou\ ;
+降圧剤 < kouatsuzai\ ;
+急傾斜 < kyuukeisha\ ;
+両棲類 < ryouseirui\ ;
+最上級 < saijoukyuu\ ;
+偃月刀 < engetsutou\ ;
+看護卒 < kangosotsu\ ;
+記憶素子 < kiokusoshi\ ;
+音声記号 < onseikigou\ ;
+和平会議 < waheikaigi\ ;
+罫線表 < keisenhyou\ ;
+破壊主義 < hakaishugi\ ;
+針土竜 < harimogura\ ;
+宇宙基地 < uchuukichi\ ;
+灯台守 < toudaimori\ ;
+仮免状 < karimenjou\ ;
+弾薬庫 < dan''yakuko\ ;
+合法的 < gouhouteki\ ;
+不可知論 < fukachiron\ ;
+自衛手段 < jieishudan\ ;
+挫折感 < zasetsukan\ ;
+小売値段 < kourinedan\ ;
+救出 < kyuushutsu\ ;
+壁土 < kabetsuchi\ ;
+赤新聞 < akashinbun\ ;
+膠着語 < kouchakugo\ ;
+終止形 < shuushikei\ ;
+出港船 < shukkousen\ ;
+輸入額 < yunyuugaku\ ;
+甲殻類 < koukakurui\ ;
+市場規模 < shijoukibo\ ;
+議員立法 < giinrippou\ ;
+障壁画 < shouhekiga\ ;
+溶接機 < yousetsuki\ ;
+乗組員 < norikumiin\ ;
+腎臓病 < jinzoubyou\ ;
+可搬式 < kahanshiki\ ;
+健筆家 < kenpitsuka\ ;
+正中線 < seichuusen\ ;
+千年間 < sen''nenkan\ ;
+棒磁石 < boujishaku\ ;
+観賞魚 < kanshougyo\ ;
+神学校 < shingakkou\ ;
+作業服 < sagyoufuku\ ;
+発着所 < hatchakujo\ ;
+親近感 < shinkinkan\ ;
+乱泥流 < randeiryuu\ ;
+当直員 < touchokuin\ ;
+学級委員 < gakkyuuiin\ ;
+統計的 < toukeiteki\ ;
+結末 < ketsumatsu\ ;
+芸術家 < geijutsuka\ ;
+玄関先 < genkansaki\ ;
+親柱 < oyabashira\ ;
+深海魚 < shinkaigyo\ ;
+同志的 < doushiteki\ ;
+粛粛 < shukushuku\ ;
+価千金 < ataisenkin\ ;
+議会主義 < gikaishugi\ ;
+九回戦 < kyuukaisen\ ;
+基礎科学 < kisokagaku\ ;
+国訛 < kuninamari\ ;
+捜査本部 < sousahonbu\ ;
+半永久 < han''eikyuu\ ;
+雑役婦 < zatsuekifu\ ;
+冷凍業 < reitougyou\ ;
+綿埃 < watabokori\ ;
+宇宙探査 < uchuutansa\ ;
+儒教的 < jukyouteki\ ;
+親日 < shin''nichi\ ;
+酛 < sakenomoto\ ;
+揚陸艦 < yourikukan\ ;
+重謹慎 < juukinshin\ ;
+凍豆腐 < shimidoufu\ ;
+永谷園 < nagatanien\ ;
+二槽式 < nisoushiki\ ;
+相乗積 < soujouseki\ ;
+菌類学 < kinruigaku\ ;
+新刊書 < shinkansho\ ;
+青少年 < seishounen\ ;
+推進者 < suishinsha\ ;
+灼熱 < shakunetsu\ ;
+列席者 < ressekisha\ ;
+国産品 < kokusanhin\ ;
+懐旧談 < kaikyuudan\ ;
+枯草熱 < kosounetsu\ ;
+雇主 < yatoinushi\ ;
+中甲板 < chuukanpan\ ;
+埋伏歯 < maifukushi\ ;
+内緒事 < naishogoto\ ;
+一等卒 < ittousotsu\ ;
+亜麻織物 < amaorimono\ ;
+神代杉 < jindaisugi\ ;
+値嵩株 < negasakabu\ ;
+政治力 < seijiryoku\ ;
+答申書 < toushinsho\ ;
+順序不同 < junjofudou\ ;
+継娘 < mamamusume\ ;
+乱心者 < ranshinsha\ ;
+経済援助 < keizaienjo\ ;
+焼失 < shoushitsu\ ;
+人間業 < ningenwaza\ ;
+累算温度 < ruisanondo\ ;
+共謀者 < kyoubousha\ ;
+来賓席 < raihinseki\ ;
+舞踏曲 < butoukyoku\ ;
+修行者 < shugyousha\ ;
+島根県 < shimaneken\ ;
+強硬論 < kyoukouron\ ;
+法治国 < houchikoku\ ;
+不得策 < futokusaku\ ;
+訳出 < yakushutsu\ ;
+烈日 < retsujitsu\ ;
+在米中 < zaibeichuu\ ;
+匿名性 < tokumeisei\ ;
+登山靴 < tozangutsu\ ;
+浪漫主義 < romanshugi\ ;
+座敷牢 < zashikirou\ ;
+神格化 < shinkakuka\ ;
+赤外線 < sekigaisen\ ;
+薬用酒 < yakuyoushu\ ;
+結核菌 < kekkakukin\ ;
+締付 < shimetsuke\ ;
+草履虫 < zourimushi\ ;
+武装都市 < busoutoshi\ ;
+大衆性 < taishuusei\ ;
+寄宿生 < kishukusei\ ;
+昇汞水 < shoukousui\ ;
+武者慄 < mushaburui\ ;
+文章論 < bunshouron\ ;
+特選品 < tokusenhin\ ;
+近親者 < kinshinsha\ ;
+複数形 < fukusuukei\ ;
+幽邃境 < yuusuikyou\ ;
+再投票 < saitouhyou\ ;
+不活動 < fukatsudou\ ;
+全寮制 < zenryousei\ ;
+平和国家 < heiwakokka\ ;
+追悼会 < tsuitoukai\ ;
+道路地図 < dourochizu\ ;
+筒鳥 < tsutsudori\ ;
+白兵戦 < hakuheisen\ ;
+請求権 < seikyuuken\ ;
+忠霊塔 < chuureitou\ ;
+隙間風 < sukimakaze\ ;
+共有地 < kyouyuuchi\ ;
+片為替 < katagawase\ ;
+緩衝弁 < kanshouben\ ;
+宿根草 < shukkonsou\ ;
+大立者 < oodatemono\ ;
+泰山木 < taisanboku\ ;
+糸状虫 < shijouchuu\ ;
+絶縁体 < zetsuentai\ ;
+里言葉 < satokotoba\ ;
+御朱印船 < goshuinsen\ ;
+購読者 < koudokusha\ ;
+売買高 < baibaidaka\ ;
+挺進隊 < teishintai\ ;
+詔 < mikotonori\ ;
+脱水症 < dassuishou\ ;
+勧進帳 < kanjinchou\ ;
+拡張化 < kakuchouka\ ;
+殺人鬼 < satsujinki\ ;
+流動性 < ryuudousei\ ;
+四重唱 < shijuushou\ ;
+教育者 < kyouikusha\ ;
+反対側 < hantaigawa\ ;
+琴一張 < kotoitchou\ ;
+内在的 < naizaiteki\ ;
+三段跳 < sandantobi\ ;
+飛躍的 < hiyakuteki\ ;
+手長猿 < tenagazaru\ ;
+老眼鏡 < rougankyou\ ;
+仮処分 < karishobun\ ;
+袋耳 < fukuromimi\ ;
+全人格 < zenjinkaku\ ;
+分泌物 < bunpibutsu\ ;
+請求書 < seikyuusho\ ;
+結実 < ketsujitsu\ ;
+不決断 < fuketsudan\ ;
+先先週 < sensenshuu\ ;
+致命的 < chimeiteki\ ;
+乳石英 < nyuusekiei\ ;
+財政学 < zaiseigaku\ ;
+続出 < zokushutsu\ ;
+夜郎自大 < yaroujidai\ ;
+飲食店 < inshokuten\ ;
+部分否定 < bubunhitei\ ;
+紙製品 < kamiseihin\ ;
+蝟 < harinezumi\ ;
+講和会議 < kouwakaigi\ ;
+編組機械 < hensokikai\ ;
+法律案 < houritsuan\ ;
+半盲症 < hanmoushou\ ;
+硝酸銀 < shousangin\ ;
+医療器械 < iryoukikai\ ;
+防総省 < bousoushou\ ;
+正規分布 < seikibunpu\ ;
+逆比例 < gyakuhirei\ ;
+投書箱 < toushobako\ ;
+会員名簿 < kaiinmeibo\ ;
+濃紫 < komurasaki\ ;
+城下町 < joukamachi\ ;
+特別委 < tokubetsui\ ;
+村芝居 < murashibai\ ;
+継息子 < mamamusuko\ ;
+発信音 < hasshin''on\ ;
+天変地異 < tenpenchii\ ;
+有史以来 < yuushiirai\ ;
+四死球 < shishikyuu\ ;
+献金箱 < kenkinbako\ ;
+戦略家 < senryakuka\ ;
+公聴会 < kouchoukai\ ;
+溝鼠 < dobunezumi\ ;
+萙 < kutabireru\ ;
+複数回 < fukusuukai\ ;
+会計学 < kaikeigaku\ ;
+簡略化 < kanryakuka\ ;
+給電線 < kyuudensen\ ;
+吉祥天 < kisshouten\ ;
+保護関税 < hogokanzei\ ;
+未帰還者 < mikikansha\ ;
+御影石 < mikageishi\ ;
+内国産 < naikokusan\ ;
+三日坊主 < mikkabouzu\ ;
+雪月花 < setsugekka\ ;
+私書箱 < shishobako\ ;
+直映館 < chokueikan\ ;
+病理学 < byourigaku\ ;
+復刻版 < fukkokuban\ ;
+退廃的 < taihaiteki\ ;
+確固不動 < kakkofudou\ ;
+人間学 < ningengaku\ ;
+下着類 < shitagirui\ ;
+唐変木 < touhenboku\ ;
+線撮影 < sensatsuei\ ;
+文房具屋 < bunbouguya\ ;
+新生面 < shinseimen\ ;
+康煕字典 < koukijiten\ ;
+血脈 < ketsumyaku\ ;
+数日後 < suujitsugo\ ;
+未来永劫 < miraieigou\ ;
+超合金 < chougoukin\ ;
+多国籍 < takokuseki\ ;
+積算法 < sekisanhou\ ;
+無理算段 < murisandan\ ;
+外為法 < gaitamehou\ ;
+出品者 < shuppinsha\ ;
+覚醒剤 < kakuseizai\ ;
+高山蝶 < kouzanchou\ ;
+近縁属 < kin''enzoku\ ;
+上達部 < kandachime\ ;
+可鍛鉄 < katantetsu\ ;
+心理的 < shinriteki\ ;
+乗換券 < norikaeken\ ;
+教育界 < kyouikukai\ ;
+陰極線 < inkyokusen\ ;
+半艇身 < hanteishin\ ;
+親兄弟 < oyakyoudai\ ;
+旅館業 < ryokangyou\ ;
+学期末 < gakkimatsu\ ;
+虞美人草 < gubijinsou\ ;
+到来物 < touraimono\ ;
+象牙細工 < zougezaiku\ ;
+沖仲仕 < okinakashi\ ;
+外国製 < gaikokusei\ ;
+終盤戦 < shuubansen\ ;
+逆光線 < gyakkousen\ ;
+象徴派 < shouchouha\ ;
+勧進元 < kanjinmoto\ ;
+魚類学 < gyoruigaku\ ;
+鎌鼬 < kamaitachi\ ;
+縞瑪瑙 < shimamenou\ ;
+真空管 < shinkuukan\ ;
+舎利別 < sharibetsu\ ;
+京阪神 < keihanshin\ ;
+慣習法 < kanshuuhou\ ;
+滅茶滅茶 < mechamecha\ ;
+頭陀袋 < zudabukuro\ ;
+陰極管 < inkyokukan\ ;
+混和物 < konwabutsu\ ;
+刀鍛冶 < katanakaji\ ;
+潜伏性 < senpukusei\ ;
+風車小屋 < fuushagoya\ ;
+招待券 < shoutaiken\ ;
+子供部屋 < kodomobeya\ ;
+求愛誇示 < kyuuaikoji\ ;
+受難節 < junansetsu\ ;
+測定値 < sokuteichi\ ;
+化粧紙 < keshougami\ ;
+大憲章 < daikenshou\ ;
+王政復古 < ouseifukko\ ;
+単色光 < tanshokkou\ ;
+袋物 < fukuromono\ ;
+甲殻綱 < koukakukou\ ;
+集合体 < shuugoutai\ ;
+一人部屋 < hitoribeya\ ;
+立往生 < tachioujou\ ;
+竕 < deshiritto\ ;
+不買運動 < fubaiundou\ ;
+子宮頸 < shikyuukei\ ;
+吝嗇吝嗇 < kechikechi\ ;
+経験的 < keikenteki\ ;
+化粧箱 < keshoubako\ ;
+二番星 < nibanboshi\ ;
+西口 < nishiguchi\ ;
+法律家 < houritsuka\ ;
+定期預金 < teikiyokin\ ;
+一定期間 < itteikikan\ ;
+洗濯板 < sentakuita\ ;
+滑沢剤 < kattakuzai\ ;
+対称性 < taishousei\ ;
+少年法 < shounenhou\ ;
+徳川家 < tokugawake\ ;
+地下運動 < chikaundou\ ;
+流動体 < ryuudoutai\ ;
+終刊号 < shuukangou\ ;
+監修者 < kanshuusha\ ;
+共編者 < kyouhensha\ ;
+懐疑主義 < kaigishugi\ ;
+融通無碍 < yuuzuumuge\ ;
+保安要員 < hoan''youin\ ;
+統計学 < toukeigaku\ ;
+輪郭線 < rinkakusen\ ;
+軍艦鳥 < gunkandori\ ;
+商船隊 < shousentai\ ;
+超満員 < chouman''in\ ;
+片手鍋 < katatenabe\ ;
+股関節 < kokansetsu\ ;
+節節 < fushibushi\ ;
+調味料 < choumiryou\ ;
+又小作 < matakosaku\ ;
+筒袖 < tsutsusode\ ;
+不正直 < fushoujiki\ ;
+洪積層 < kousekisou\ ;
+検圧器 < ken''atsuki\ ;
+主我主義 < shugashugi\ ;
+染物屋 < somemonoya\ ;
+配膳人 < haizen''nin\ ;
+境界線 < kyoukaisen\ ;
+静物画 < seibutsuga\ ;
+教育法 < kyouikuhou\ ;
+収集魔 < shuushuuma\ ;
+離職者 < rishokusha\ ;
+牧師館 < bokushikan\ ;
+占領軍 < senryougun\ ;
+糸印 < itojirushi\ ;
+中生代 < chuuseidai\ ;
+為人 < hitotonari\ ;
+下半期 < shimohanki\ ;
+教会法 < kyoukaihou\ ;
+原水爆 < gensuibaku\ ;
+甅 < senchigura\ ;
+瓸 < hekutogura\ ;
+炭俵 < sumidawara\ ;
+瓱 < miriguramu\ ;
+瓩 < kiroguramu\ ;
+瓧 < dekaguramu\ ;
+刺繍糸 < shishuuito\ ;
+不作為犯 < fusakuihan\ ;
+搭乗橋 < toujoukyou\ ;
+石鹸箱 < sekkenbako\ ;
+回転軸 < kaitenjiku\ ;
+刻一刻 < kokuikkoku\ ;
+創造的 < souzouteki\ ;
+痴呆症 < chihoushou\ ;
+米所 < komedokoro\ ;
+排水量 < haisuiryou\ ;
+各情報 < kakujouhou\ ;
+舗装煉瓦 < hosourenga\ ;
+投影図法 < toueizuhou\ ;
+核文法 < kakubunpou\ ;
+売上高 < uriagedaka\ ;
+深成岩 < shinseigan\ ;
+胸三寸 < munesanzun\ ;
+得意客 < tokuikyaku\ ;
+徴兵制 < chouheisei\ ;
+端近 < hashidjika\ ;
+鎖鎌 < kusarigama\ ;
+性本能 < seihon''nou\ ;
+滅裂 < metsuretsu\ ;
+休診日 < kyuushinbi\ ;
+執金鋼 < shikkongou\ ;
+総状花序 < soujoukajo\ ;
+竜皮巻 < ryuuhimaki\ ;
+回帰熱 < kaikinetsu\ ;
+祝賀会 < shukugakai\ ;
+生活費 < seikatsuhi\ ;
+法務局 < houmukyoku\ ;
+中学校 < chuugakkou\ ;
+月見草 < tsukimisou\ ;
+清浄無垢 < seijoumuku\ ;
+通俗化 < tsuuzokuka\ ;
+直交性 < chokkousei\ ;
+稲熱病 < imochibyou\ ;
+三面記事 < sanmenkiji\ ;
+高踏的 < koutouteki\ ;
+給料日 < kyuuryoubi\ ;
+才気縦横 < saikijuuou\ ;
+万年青 < man''nensei\ ;
+小前提 < shouzentei\ ;
+六三制 < rokusansei\ ;
+造林学 < zouringaku\ ;
+本位貨幣 < hon''ikahei\ ;
+全責任 < zensekinin\ ;
+馬鹿丁寧 < bakateinei\ ;
+照明弾 < shoumeidan\ ;
+愛国心 < aikokushin\ ;
+潮煙 < shiokemuri\ ;
+石鹸皿 < sekkenzara\ ;
+予定説 < yoteisetsu\ ;
+筆舌 < hitsuzetsu\ ;
+日葡辞書 < nippojisho\ ;
+脳硬塞 < noukousoku\ ;
+総大将 < soudaishou\ ;
+始末屋 < shimatsuya\ ;
+国有林 < kokuyuurin\ ;
+薬学部 < yakugakubu\ ;
+批判力 < hihanryoku\ ;
+等身大 < toushindai\ ;
+位相空間 < isoukuukan\ ;
+海事衛星 < kaijieisei\ ;
+空気機械 < kuukikikai\ ;
+総攻撃 < soukougeki\ ;
+高山病 < kouzanbyou\ ;
+五月祭 < gogatsusai\ ;
+共同井戸 < kyoudouido\ ;
+軍楽隊 < gungakutai\ ;
+三重唱 < sanjuushou\ ;
+南京豆 < nankinmame\ ;
+曲馬師 < kyokubashi\ ;
+副司令 < fukushirei\ ;
+錦鯉 < nishikigoi\ ;
+昼日中 < hiruhinaka\ ;
+合理主義 < gourishugi\ ;
+常識家 < joushikika\ ;
+滑脱 < katsudatsu\ ;
+天津御姉 < amatsumiko\ ;
+天手古舞 < tentekomai\ ;
+言葉尻 < kotobajiri\ ;
+肺浸潤 < haishinjun\ ;
+夜光時計 < yakoudokei\ ;
+耕作者 < kousakusha\ ;
+同心円 < doushin''en\ ;
+致死量 < chishiryou\ ;
+弁証論 < benshouron\ ;
+新登場 < shintoujou\ ;
+自転車屋 < jitenshaya\ ;
+強力粉 < kyourikiko\ ;
+予備室 < yobishitsu\ ;
+店頭株 < tentoukabu\ ;
+発射薬 < hasshayaku\ ;
+自家用車 < jikayousha\ ;
+単位制度 < tan''iseido\ ;
+化粧水 < keshoumizu\ ;
+十進法 < jisshinhou\ ;
+文字情報 < mojijouhou\ ;
+文筆家 < bunpitsuka\ ;
+従量税 < juuryouzei\ ;
+瓦屋根 < kawarayane\ ;
+関係調 < kankeichou\ ;
+唯心論 < yuishinron\ ;
+励振管 < reishinkan\ ;
+全日空 < zen''nikkuu\ ;
+二枚腰 < nimaigoshi\ ;
+流刑地 < ryuukeichi\ ;
+洪積世 < kousekisei\ ;
+震災地 < shinsaichi\ ;
+筆筒 < fudedzutsu\ ;
+規制解除 < kiseikaijo\ ;
+描出 < byoushutsu\ ;
+眼軟膏 < gan''nankou\ ;
+水晶体 < suishoutai\ ;
+点滅器 < tenmetsuki\ ;
+兄弟分 < kyoudaibun\ ;
+金門橋 < kinmonkyou\ ;
+景勝地 < keishouchi\ ;
+内接円 < naisetsuen\ ;
+生活苦 < seikatsuku\ ;
+東照宮 < toushouguu\ ;
+受難曲 < junankyoku\ ;
+対流圏 < tairyuuken\ ;
+下水工事 < gesuikouji\ ;
+危険物 < kikenbutsu\ ;
+研修生 < kenshuusei\ ;
+近親婚 < kinshinkon\ ;
+交読文 < koudokubun\ ;
+脳卒中 < nousotchuu\ ;
+焼死体 < shoushitai\ ;
+一神教 < isshinkyou\ ;
+派出所 < hashutsujo\ ;
+振動計 < shindoukei\ ;
+屈折語 < kussetsugo\ ;
+曲馬団 < kyokubadan\ ;
+注射液 < chuushaeki\ ;
+合意情死 < gouijoushi\ ;
+福禄寿 < fukurokuju\ ;
+紙吹雪 < kamifubuki\ ;
+仲介者 < chuukaisha\ ;
+集配人 < shuuhainin\ ;
+定礎式 < teisoshiki\ ;
+裁判長 < saibanchou\ ;
+電話局 < denwakyoku\ ;
+俸祿米 < hourokumai\ ;
+花吹雪 < hanafubuki\ ;
+土壁 < tsuchikabe\ ;
+兵糧米 < hyouroumai\ ;
+角細工 < tsunozaiku\ ;
+輸送力 < yusouryoku\ ;
+林野庁 < rin''yachou\ ;
+支配的 < shihaiteki\ ;
+太鼓橋 < taikobashi\ ;
+箔力粉 < hakurikiko\ ;
+獅子鼻 < shishibana\ ;
+連隊長 < rentaichou\ ;
+端末機 < tanmatsuki\ ;
+吹奏楽 < suisougaku\ ;
+熱射病 < nesshabyou\ ;
+擅 < hoshiimama\ ;
+武装平和 < busouheiwa\ ;
+徳用瓶 < tokuyoubin\ ;
+手続 < tetsudzuki\ ;
+天津神 < amatsukami\ ;
+降水量 < kousuiryou\ ;
+出金者 < shukkinsha\ ;
+典型的 < tenkeiteki\ ;
+螢石 < hotaruishi\ ;
+中枢性 < chuusuusei\ ;
+迷彩服 < meisaifuku\ ;
+住宅難 < juutakunan\ ;
+付帯事項 < futaijikou\ ;
+化粧料 < keshouryou\ ;
+心理学 < shinrigaku\ ;
+芳名録 < houmeiroku\ ;
+動力炉 < douryokuro\ ;
+小児病 < shounibyou\ ;
+少年団 < shounendan\ ;
+全面的 < zenmenteki\ ;
+行方不明 < yukuefumei\ ;
+小市民 < shoushimin\ ;
+蜜蜂 < mitsubachi\ ;
+天気予報 < tenkiyohou\ ;
+不平不満 < fuheifuman\ ;
+被保険者 < hihokensha\ ;
+副次的 < fukujiteki\ ;
+椎間板 < tsuikanban\ ;
+親子電話 < oyakodenwa\ ;
+課税率 < kazeiritsu\ ;
+郵政省 < yuuseishou\ ;
+夏場所 < natsubasho\ ;
+多情多恨 < tajoutakon\ ;
+箱柳 < hakoyanagi\ ;
+経営破綻 < keieihatan\ ;
+厚化粧 < atsugeshou\ ;
+賛助会員 < sanjokaiin\ ;
+二人組 < futarigumi\ ;
+致命傷 < chimeishou\ ;
+箱枕 < hakomakura\ ;
+副都心 < fukutoshin\ ;
+米俵 < komedawara\ ;
+発案者 < hatsuansha\ ;
+強力犯 < gourikihan\ ;
+下部構造 < kabukouzou\ ;
+洗濯代 < sentakudai\ ;
+遊泳術 < yuueijutsu\ ;
+毎土曜日 < maidoyoubi\ ;
+製陶業 < seitougyou\ ;
+球座標 < kyuuzahyou\ ;
+沈丁花 < chinchouge\ ;
+蜂蜜 < hachimitsu\ ;
+予算措置 < yosansochi\ ;
+葡萄牙 < porutogaru\ ;
+不穏分子 < fuonbunshi\ ;
+教会堂 < kyoukaidou\ ;
+支店長 < shitenchou\ ;
+喜怒哀楽 < kidoairaku\ ;
+御年玉 < otoshidama\ ;
+西洋葱 < seiyounegi\ ;
+瓜実顔 < urizanegao\ ;
+真空帯 < shinkuutai\ ;
+竹筒 < takedzutsu\ ;
+追送検 < tsuisouken\ ;
+未決監 < miketsukan\ ;
+漢和辞典 < kanwajiten\ ;
+普通株 < futsuukabu\ ;
+友誼国家 < yuugikokka\ ;
+相互保険 < sougohoken\ ;
+商店主 < shoutenshu\ ;
+採石場 < saisekijou\ ;
+牢名主 < rounanushi\ ;
+累進税 < ruishinzei\ ;
+大競争 < daikyousou\ ;
+森林法 < shinrinhou\ ;
+同郷人 < doukyoujin\ ;
+派出婦 < hashutsufu\ ;
+事大主義 < jidaishugi\ ;
+内国債 < naikokusai\ ;
+五輪会議 < gorinkaigi\ ;
+支度金 < shitakukin\ ;
+端端 < hashibashi\ ;
+再浸礼 < saishinrei\ ;
+国有地 < kokuyuuchi\ ;
+親展書 < shintensho\ ;
+語形変化 < gokeihenka\ ;
+廉恥心 < renchishin\ ;
+皆既食 < kaikishoku\ ;
+非戦闘員 < hisentouin\ ;
+転居先 < tenkyosaki\ ;
+連絡駅 < renrakueki\ ;
+電話口 < denwaguchi\ ;
+無念無想 < munenmusou\ ;
+精勤賞 < seikinshou\ ;
+健忘症 < kenboushou\ ;
+蝶番 < choutsugai\ ;
+演算手順 < enzantejun\ ;
+教会史 < kyoukaishi\ ;
+少年会 < shounenkai\ ;
+贋手紙 < nisetegami\ ;
+出征軍 < shusseigun\ ;
+武断主義 < budanshugi\ ;
+計画者 < keikakusha\ ;
+散文的 < sanbunteki\ ;
+世話人間 < sewaningen\ ;
+幾何平均 < kikaheikin\ ;
+拠所 < yoridokoro\ ;
+人工降雨 < jinkoukouu\ ;
+黒鼠 < kuronezumi\ ;
+友好的 < yuukouteki\ ;
+自問自答 < jimonjitou\ ;
+召喚状 < shoukanjou\ ;
+認証者 < ninshousha\ ;
+年産額 < nensangaku\ ;
+換算表 < kanzanhyou\ ;
+沖縄県 < okinawaken\ ;
+救世軍 < kyuuseigun\ ;
+満足感 < manzokukan\ ;
+奉公先 < houkousaki\ ;
+電報料 < denpouryou\ ;
+荒事師 < aragotoshi\ ;
+桃源郷 < tougenkyou\ ;
+蓮月尼 < rengetsuni\ ;
+皇紀年度 < koukinendo\ ;
+羽斑蚊 < hamadaraka\ ;
+朴念仁 < bokunenjin\ ;
+子宮癌 < shikyuugan\ ;
+表口 < omoteguchi\ ;
+磁力計 < jiryokukei\ ;
+根粒菌 < konryuukin\ ;
+縦旋盤 < tatesenban\ ;
+市役所 < shiyakusho\ ;
+検流計 < kenryuukei\ ;
+即売会 < sokubaikai\ ;
+延人員 < nobejin''in\ ;
+口腔外科 < koukougeka\ ;
+調合剤 < chougouzai\ ;
+要確認 < youkakunin\ ;
+常緑樹 < jouryokuju\ ;
+竈神 < kamadogami\ ;
+選球眼 < senkyuugan\ ;
+石合戦 < ishigassen\ ;
+封建的 < houkenteki\ ;
+駐在所 < chuuzaisho\ ;
+世帯主 < setainushi\ ;
+平常心 < heijoushin\ ;
+黒鮪 < kuromaguro\ ;
+脳性麻痺 < nouseimahi\ ;
+五十音順 < gojuuonjun\ ;
+豆台風 < mametaifuu\ ;
+演算精度 < enzanseido\ ;
+鉱山業 < kouzangyou\ ;
+十字架状 < juujikajou\ ;
+表出 < hyoushutsu\ ;
+構文木 < koubunmoku\ ;
+参謀長 < sanbouchou\ ;
+不老不死 < furoufushi\ ;
+世界主義 < sekaishugi\ ;
+写真館 < shashinkan\ ;
+戦時色 < senjishoku\ ;
+螺鈿細工 < radenzaiku\ ;
+記載事項 < kisaijikou\ ;
+住宅街 < juutakugai\ ;
+頓珍漢 < tonchinkan\ ;
+弱酸性 < jakusansei\ ;
+中仕切 < nakajikiri\ ;
+炭素繊維 < tansosen''i\ ;
+唐衣 < karakoromo\ ;
+初舞台 < hatsubutai\ ;
+写真顔 < shashingao\ ;
+無線電話 < musendenwa\ ;
+南京玉 < nankindama\ ;
+船籍港 < sensekikou\ ;
+燐灰石 < rinkaiseki\ ;
+一年間 < ichinenkan\ ;
+非接触 < hisesshoku\ ;
+持続的 < jizokuteki\ ;
+温情主義 < onjoushugi\ ;
+営業中 < eigyouchuu\ ;
+超過額 < choukagaku\ ;
+預貸率 < yotairitsu\ ;
+代用肉 < daiyouniku\ ;
+個人経営 < kojinkeiei\ ;
+時系列 < jikeiretsu\ ;
+筆旁 < fudezukuri\ ;
+奔放不羈 < honpoufuki\ ;
+子供服 < kodomofuku\ ;
+警視庁 < keishichou\ ;
+免疫性 < men''ekisei\ ;
+系統的 < keitouteki\ ;
+軍用金 < gun''youkin\ ;
+荒仕事 < arashigoto\ ;
+登山客 < tozankyaku\ ;
+低賃金 < teichingin\ ;
+侵害者 < shingaisha\ ;
+売上票 < uriagepyou\ ;
+鉄器時代 < tekkijidai\ ;
+放送劇 < housougeki\ ;
+日程表 < nitteihyou\ ;
+副葬品 < fukusouhin\ ;
+齣落 < komaotoshi\ ;
+挿入文 < sounyuubun\ ;
+初学者 < shogakusha\ ;
+教習所 < kyoushuujo\ ;
+入場門 < nyuujoumon\ ;
+官庁街 < kanchougai\ ;
+物価騰貴 < bukkatouki\ ;
+規則的 < kisokuteki\ ;
+小冊子 < shousasshi\ ;
+輻射線 < fukushasen\ ;
+倩 < tsuratsura\ ;
+十進制 < jisshinsei\ ;
+複製品 < fukuseihin\ ;
+森林帯 < shinrintai\ ;
+結晶系 < kesshoukei\ ;
+無秩序 < muchitsujo\ ;
+日本舞踊 < nihonbuyou\ ;
+聾唖学校 < rouagakkou\ ;
+錨綱 < ikaridzuna\ ;
+主観的 < shukanteki\ ;
+破壊力 < hakairyoku\ ;
+三毛作 < sanmousaku\ ;
+桧皮葺 < hiwadabuki\ ;
+力織機 < rikishokki\ ;
+六面体 < rokumentai\ ;
+現代英語 < gendaieigo\ ;
+白人種 < hakujinshu\ ;
+汎神論 < hanshinron\ ;
+仮定款 < kariteikan\ ;
+納税額 < nouzeigaku\ ;
+諸外国 < shogaikoku\ ;
+外接円 < gaisetsuen\ ;
+十二使徒 < juunishito\ ;
+製紙業 < seishigyou\ ;
+鉛直線 < enchokusen\ ;
+心電計 < shindenkei\ ;
+福利表 < fukurihyou\ ;
+筒形 < tsutsugata\ ;
+微生物 < biseibutsu\ ;
+宝石店 < housekiten\ ;
+創業者 < sougyousha\ ;
+日本庭園 < nihonteien\ ;
+革製品 < kawaseihin\ ;
+平年作 < heinensaku\ ;
+深緑 < fukamidori\ ;
+遺伝暗号 < iden''angou\ ;
+猿芝居 < sarushibai\ ;
+場外株 < jougaikabu\ ;
+鼻薬 < hanagusuri\ ;
+弁証法 < benshouhou\ ;
+協定書 < kyouteisho\ ;
+軍事輸送 < gunjiyusou\ ;
+五旬節 < gojunsetsu\ ;
+伴性遺伝 < hanseiiden\ ;
+所柄 < tokorogara\ ;
+初任給 < shoninkyuu\ ;
+陸曹等 < rikusoutou\ ;
+経営参加 < keieisanka\ ;
+好成績 < kouseiseki\ ;
+通有性 < tsuuyuusei\ ;
+聴導犬 < choudouken\ ;
+予備選挙 < yobisenkyo\ ;
+御高祖頭巾 < okosozukin\ ;
+予備艦隊 < yobikantai\ ;
+磁力線 < jiryokusen\ ;
+離婚率 < rikonritsu\ ;
+硝酸塩 < shousan''en\ ;
+予備選手 < yobisenshu\ ;
+再確認 < saikakunin\ ;
+発案権 < hatsuanken\ ;
+酪製品 < rakuseihin\ ;
+土性骨 < doshoubone\ ;
+避妊薬 < hinin''yaku\ ;
+不倶戴天 < fugutaiten\ ;
+持主 < mochinushi\ ;
+発生学 < hasseigaku\ ;
+人種的 < jinshuteki\ ;
+磁石盤 < jishakuban\ ;
+大蔵経 < daizoukyou\ ;
+河原鶸 < kawarahiwa\ ;
+拙劣 < setsuretsu\ ;
+留置場 < ryuuchijou\ ;
+通風孔 < tsuufuukou\ ;
+要求者 < youkyuusha\ ;
+知恵袋 < chiebukuro\ ;
+紙鉄砲 < kamideppou\ ;
+初飛行 < hatsuhikou\ ;
+登山口 < tozanguchi\ ;
+貯水量 < chosuiryou\ ;
+社会鍋 < shakainabe\ ;
+平和部隊 < heiwabutai\ ;
+殊勲賞 < shukunshou\ ;
+運動靴 < undougutsu\ ;
+交際国 < kousaikoku\ ;
+八文字 < hachimonji\ ;
+裁判沙汰 < saibanzata\ ;
+開発部 < kaihatsubu\ ;
+調印国 < chouinkoku\ ;
+相続税 < souzokuzei\ ;
+蝋人形 < rouningyou\ ;
+人名録 < jinmeiroku\ ;
+営利法人 < eirihoujin\ ;
+落第生 < rakudaisei\ ;
+凝灰岩 < gyoukaigan\ ;
+利付債 < ritsukisai\ ;
+議会政治 < gikaiseiji\ ;
+雨天順延 < utenjun''en\ ;
+体腔壁 < taikouheki\ ;
+指掌紋 < shishoumon\ ;
+付帯費用 < futaihiyou\ ;
+奇跡的 < kisekiteki\ ;
+代議員団 < daigiindan\ ;
+蛋白源 < tanpakugen\ ;
+断末魔 < danmatsuma\ ;
+詳伝社 < shoudensha\ ;
+葬儀式 < sougishiki\ ;
+損害額 < songaigaku\ ;
+鉄鋼業 < tekkougyou\ ;
+暗紫色 < anshishoku\ ;
+先任順 < sen''ninjun\ ;
+好戦的 < kousenteki\ ;
+防長官 < bouchoukan\ ;
+水圧計 < suiatsukei\ ;
+外国勢 < gaikokuzei\ ;
+韓国人 < kankokujin\ ;
+敢闘賞 < kantoushou\ ;
+流質 < ryuushichi\ ;
+機内食 < kinaishoku\ ;
+裏番組 < urabangumi\ ;
+国防論 < kokubouron\ ;
+二重課税 < nijuukazei\ ;
+扶養控除 < fuyoukoujo\ ;
+国際線 < kokusaisen\ ;
+衛星都市 < eiseitoshi\ ;
+電気回路 < denkikairo\ ;
+貸金庫 < kashikinko\ ;
+速記術 < sokkijutsu\ ;
+国言葉 < kunikotoba\ ;
+抽出 < chuushutsu\ ;
+匐行疹 < fukkoushin\ ;
+町工場 < machikouba\ ;
+地下二階 < chikanikai\ ;
+至急便 < shikyuubin\ ;
+宝冠章 < houkanshou\ ;
+若旦那 < wakadan''na\ ;
+挑戦者 < chousensha\ ;
+鉄鉱石 < tekkouseki\ ;
+横隔膜 < oukakumaku\ ;
+預金口座 < yokinkouza\ ;
+同業者 < dougyousha\ ;
+活用語 < katsuyougo\ ;
+深呼吸 < shinkokyuu\ ;
+三番鶏 < sanbandori\ ;
+判任官 < han''ninkan\ ;
+外国債 < gaikokusai\ ;
+連絡船 < renrakusen\ ;
+落第点 < rakudaiten\ ;
+進行相 < shinkousou\ ;
+色恋沙汰 < irokoizata\ ;
+決定的 < ketteiteki\ ;
+肉料理 < nikuryouri\ ;
+文法的 < bunpouteki\ ;
+国文法 < kokubunpou\ ;
+超弩級 < choudokyuu\ ;
+大蔵省 < ookurashou\ ;
+感情的 < kanjouteki\ ;
+乗合船 < noriaibune\ ;
+徳用品 < tokuyouhin\ ;
+燃料棒 < nenryoubou\ ;
+二日酔 < futsukayoi\ ;
+神経系 < shinkeikei\ ;
+仮議長 < karigichou\ ;
+貨幣価値 < kaheikachi\ ;
+独断論 < dokudanron\ ;
+外国人 < gaikokujin\ ;
+珍糞漢 < chinpunkan\ ;
+振動板 < shindouban\ ;
+残務整理 < zanmuseiri\ ;
+主教冠 < shukyoukan\ ;
+正教師 < seikyoushi\ ;
+細菌学 < saikingaku\ ;
+蜜月 < mitsugetsu\ ;
+耕作地 < kousakuchi\ ;
+改進党 < kaishintou\ ;
+三分搗 < sanbutsuki\ ;
+休閑地 < kyuukanchi\ ;
+軍用艦 < gun''youkan\ ;
+新聞紙 < shinbunshi\ ;
+輻射点 < fukushaten\ ;
+公営保険 < koueihoken\ ;
+世俗的 < sezokuteki\ ;
+重圧感 < juuatsukan\ ;
+豆鉄砲 < mamedeppou\ ;
+優秀品 < yuushuuhin\ ;
+空涙 < soranamida\ ;
+金融界 < kin''yuukai\ ;
+傍聴券 < bouchouken\ ;
+貯金箱 < chokinbako\ ;
+国境線 < kokkyousen\ ;
+譲渡担保 < joutotanpo\ ;
+蚕糸業 < sanshigyou\ ;
+一年草 < ichinensou\ ;
+高密度 < koumitsudo\ ;
+免疫体 < men''ekitai\ ;
+磁気嵐 < jikiarashi\ ;
+振動数 < shindousuu\ ;
+大礼服 < taireifuku\ ;
+改良種 < kairyoushu\ ;
+北国人 < hokkokujin\ ;
+牢役人 < rouyakunin\ ;
+渋渋 < shibushibu\ ;
+内祝言 < naishuugen\ ;
+一家団欒 < ikkadanran\ ;
+代議員会 < daigiinkai\ ;
+半身像 < hanshinzou\ ;
+大黒天 < daikokuten\ ;
+福袋 < fukubukuro\ ;
+補正予算 < hoseiyosan\ ;
+不分割 < fubunkatsu\ ;
+西北西 < seihokusei\ ;
+過剰防衛 < kajoubouei\ ;
+筒先 < tsutsusaki\ ;
+筆力 < hitsuryoku\ ;
+怒髪天 < dohatsuten\ ;
+我心 < wagakokoro\ ;
+予備座席 < yobizaseki\ ;
+反革命 < hankakumei\ ;
+衛生基準 < eiseikijun\ ;
+新聞社 < shinbunsha\ ;
+一機軸 < ichikijiku\ ;
+保護団体 < hogodantai\ ;
+集魚灯 < shuugyotou\ ;
+雪見酒 < yukimizake\ ;
+儀装馬車 < gisoubasha\ ;
+坊主頭 < bouzuatama\ ;
+先験的 < senkenteki\ ;
+闇給与 < yamikyuuyo\ ;
+時事問題 < jijimondai\ ;
+傍聴人 < bouchounin\ ;
+事実上 < jijitsujou\ ;
+義侠心 < gikyoushin\ ;
+用水堀 < yousuibori\ ;
+黒苺 < kuroichigo\ ;
+仮普請 < karibushin\ ;
+占領地 < senryouchi\ ;
+寝装品 < shinsouhin\ ;
+町内会 < chounaikai\ ;
+同盟国 < doumeikoku\ ;
+発育期 < hatsuikuki\ ;
+誓約書 < seiyakusho\ ;
+発展中 < hattenchuu\ ;
+茶番的 < chabanteki\ ;
+特産品 < tokusanhin\ ;
+夫婦喧嘩 < fuufugenka\ ;
+製粉業 < seifungyou\ ;
+消去法 < shoukyohou\ ;
+肛門学 < koumongaku\ ;
+秩禄 < chitsuroku\ ;
+大司教 < daishikyou\ ;
+妄想症 < mousoushou\ ;
+御用達 < goyoudatsu\ ;
+展示物 < tenjibutsu\ ;
+自殺者 < jisatsusha\ ;
+作曲家 < sakkyokuka\ ;
+公教会 < koukyoukai\ ;
+又隣 < matadonari\ ;
+計画性 < keikakusei\ ;
+切迫感 < seppakukan\ ;
+枢密院 < suumitsuin\ ;
+四六判 < shirokuban\ ;
+追体験 < tsuitaiken\ ;
+入場者 < nyuujousha\ ;
+半病人 < hanbyounin\ ;
+金鋏 < kanabasami\ ;
+断固抗議 < dankokougi\ ;
+捜索隊 < sousakutai\ ;
+友好国 < yuukoukoku\ ;
+殿上人 < tenjoubito\ ;
+無水物 < musuibutsu\ ;
+健康的 < kenkouteki\ ;
+新体操 < shintaisou\ ;
+懐手 < futokorode\ ;
+空中線 < kuuchuusen\ ;
+田舎道 < inakamichi\ ;
+波乃花 < naminohana\ ;
+偶像教 < guuzoukyou\ ;
+神話学 < shinwagaku\ ;
+相続権 < souzokuken\ ;
+性教育 < seikyouiku\ ;
+前哨線 < zenshousen\ ;
+五輪聖火 < gorinseika\ ;
+独奏者 < dokusousha\ ;
+自分勝手 < jibunkatte\ ;
+赤血球 < sekkekkyuu\ ;
+天台宗 < tendaishuu\ ;
+軍楽手 < gungakushu\ ;
+軍需景気 < gunjukeiki\ ;
+軍艦巻 < gunkanmaki\ ;
+黒緑 < kuromidori\ ;
+暗褐色 < ankasshoku\ ;
+逆作用 < gyakusayou\ ;
+挑戦状 < chousenjou\ ;
+検量線 < kenryousen\ ;
+網杓子 < amijakushi\ ;
+再注文 < saichuumon\ ;
+内反足 < naihansoku\ ;
+年少者 < nenshousha\ ;
+新生代 < shinseidai\ ;
+保管物 < hokanbutsu\ ;
+基底部門 < kiteibumon\ ;
+優勝者 < yuushousha\ ;
+改良点 < kairyouten\ ;
+丸太小屋 < marutagoya\ ;
+慄烈 < ritsuretsu\ ;
+給排水 < kyuuhaisui\ ;
+天眼鏡 < tengankyou\ ;
+三連勝 < sanrenshou\ ;
+不発弾 < fuhatsudan\ ;
+半官的 < hankanteki\ ;
+振動子 < shindoushi\ ;
+鋸歯 < nokogiriba\ ;
+活発化 < kappatsuka\ ;
+予想利益 < yosourieki\ ;
+収集家 < shuushuuka\ ;
+酸化鉄 < sankatetsu\ ;
+新人王 < shinjin''ou\ ;
+延日数 < nobenissuu\ ;
+奉献頌 < houkenshou\ ;
+貸店舗 < kashitenpo\ ;
+五音音階 < goon''onkai\ ;
+二人共 < futaritomo\ ;
+収斂剤 < shuurenzai\ ;
+国際法 < kokusaihou\ ;
+高学年 < kougakunen\ ;
+核災害 < kakusaigai\ ;
+伽草子 < togizoushi\ ;
+煽情的 < senjouteki\ ;
+認証官 < ninshoukan\ ;
+養蚕業 < yousangyou\ ;
+火山脈 < kazanmyaku\ ;
+菜種殻 < natanegara\ ;
+避暑客 < hishokyaku\ ;
+火気厳禁 < kakigenkin\ ;
+書評欄 < shohyouran\ ;
+入場税 < nyuujouzei\ ;
+溌剌 < hatsuratsu\ ;
+試作車 < shisakusha\ ;
+獄中記 < gokuchuuki\ ;
+乳兄弟 < chikyoudai\ ;
+十字架像 < juujikazou\ ;
+二七日 < futananoka\ ;
+正教会 < seikyoukai\ ;
+先生方 < senseigata\ ;
+草雲雀 < kusahibari\ ;
+侍従職 < jijuushoku\ ;
+処理過程 < shorikatei\ ;
+地形学 < chikeigaku\ ;
+一定不変 < itteifuhen\ ;
+月下美人 < gekkabijin\ ;
+一直線 < itchokusen\ ;
+天眼通 < tengantsuu\ ;
+仲買人 < nakagainin\ ;
+薬理学 < yakurigaku\ ;
+瀬戸内海 < setonaikai\ ;
+老政治家 < rouseijika\ ;
+国文専 < kokubunsen\ ;
+一年生 < ichinensei\ ;
+定式化 < teishikika\ ;
+商業化 < shougyouka\ ;
+一輪車 < ichirinsha\ ;
+功利主義 < kourishugi\ ;
+滲炭鋼 < shintankou\ ;
+軍用犬 < gun''youken\ ;
+六角堂 < rokkakudou\ ;
+床暖房 < yukadanbou\ ;
+筆不精 < fudebushou\ ;
+海燕 < umitsubame\ ;
+公証人 < koushounin\ ;
+規制緩和 < kiseikanwa\ ;
+牧草地 < bokusouchi\ ;
+属性値 < zokuseichi\ ;
+解毒薬 < gedokuyaku\ ;
+満期日 < mankijitsu\ ;
+名作選 < meisakusen\ ;
+如是我聞 < nyozegamon\ ;
+明治時代 < meijijidai\ ;
+商用文 < shouyoubun\ ;
+同化作用 < doukasayou\ ;
+国語学 < kokugogaku\ ;
+可及的 < kakyuuteki\ ;
+別途預金 < bettoyokin\ ;
+金袋 < kanabukuro\ ;
+写真班 < shashinhan\ ;
+油虫 < aburamushi\ ;
+一元論 < ichigenron\ ;
+下種根性 < gesukonjou\ ;
+調剤師 < chouzaishi\ ;
+単三形 < tansangata\ ;
+甲冑師 < katchuushi\ ;
+先任者 < sen''ninsha\ ;
+曲線美 < kyokusenbi\ ;
+銀狐 < gingitsune\ ;
+南風 < minamikaze\ ;
+公約数 < kouyakusuu\ ;
+熱狂者 < nekkyousha\ ;
+水紋学 < suimongaku\ ;
+人種学 < jinshugaku\ ;
+残忍性 < zan''ninsei\ ;
+援助交際 < enjokousai\ ;
+虐殺 < gyakusatsu\ ;
+相関的 < soukanteki\ ;
+写真版 < shashinban\ ;
+生息地 < seisokuchi\ ;
+国会議員 < kokkaigiin\ ;
+土地利用 < tochiriyou\ ;
+知性的 < chiseiteki\ ;
+栄枯盛衰 < eikoseisui\ ;
+未発達 < mihattatsu\ ;
+開幕戦 < kaimakusen\ ;
+相互作用 < sougosayou\ ;
+水鏡 < mizukagami\ ;
+舞台衣装 < butaiishou\ ;
+後配株 < kouhaikabu\ ;
+停泊地 < teihakuchi\ ;
+罹患率 < rikanritsu\ ;
+進行形 < shinkoukei\ ;
+道徳上 < doutokujou\ ;
+社会的 < shakaiteki\ ;
+震源地 < shingenchi\ ;
+星雲説 < seiunsetsu\ ;
+河原者 < kawaramono\ ;
+溺死者 < dekishisha\ ;
+海商法 < kaishouhou\ ;
+理髪店 < rihatsuten\ ;
+革命軍 < kakumeigun\ ;
+活物 < katsubutsu\ ;
+卵酒 < tamagozake\ ;
+合議制度 < gougiseido\ ;
+書誌学 < shoshigaku\ ;
+二酸化硫黄 < nisankaiou\ ;
+理髪師 < rihatsushi\ ;
+世俗心 < sezokushin\ ;
+適任者 < tekininsha\ ;
+変圧所 < hen''atsujo\ ;
+漢民族 < kanminzoku\ ;
+適用性 < tekiyousei\ ;
+都鳥 < miyakodori\ ;
+決裂 < ketsuretsu\ ;
+薬箱 < kusuribako\ ;
+麦畑 < mugibatake\ ;
+雌雄異株 < shiyuuishu\ ;
+直談判 < jikadanpan\ ;
+背信者 < haishinsha\ ;
+筆耕料 < hikkouryou\ ;
+伝法肌 < denbouhada\ ;
+繊毛虫 < senmouchuu\ ;
+競売人 < kyoubainin\ ;
+作詞者 < sakushisha\ ;
+黒漆 < kokushitsu\ ;
+安死術 < anshijutsu\ ;
+喉仏 < nodobotoke\ ;
+反射誤差 < hanshagosa\ ;
+塩素酸塩 < ensosan''en\ ;
+機動力 < kidouryoku\ ;
+絶対誤差 < zettaigosa\ ;
+最終回 < saishuukai\ ;
+主要国 < shuyoukoku\ ;
+反陽子 < han''youshi\ ;
+内向的 < naikouteki\ ;
+防潮堤 < bouchoutei\ ;
+物損事故 < bussonjiko\ ;
+液晶盤 < ekishouban\ ;
+神経戦 < shinkeisen\ ;
+黄八丈 < kihachijou\ ;
+表二階 < omotenikai\ ;
+試験的 < shikenteki\ ;
+屠殺場 < tosatsujou\ ;
+旅支度 < tabijitaku\ ;
+全部保険 < zenbuhoken\ ;
+金聾 < kanatsunbo\ ;
+書簡集 < shokanshuu\ ;
+営林局 < eirinkyoku\ ;
+無重力 < mujuuryoku\ ;
+遺失者 < ishitsusha\ ;
+悪巫山戯 < warufuzake\ ;
+整形外科 < seikeigeka\ ;
+生得権 < seitokuken\ ;
+米騒動 < komesoudou\ ;
+新体制 < shintaisei\ ;
+血清学 < kesseigaku\ ;
+部長閲 < buchouetsu\ ;
+夜想曲 < yasoukyoku\ ;
+武家政権 < bukeseiken\ ;
+概念的 < gainenteki\ ;
+空中権 < kuuchuuken\ ;
+二項分布 < nikoubunpu\ ;
+周遊券 < shuuyuuken\ ;
+創作者 < sousakusha\ ;
+含糖量 < gantouryou\ ;
+倹約家 < ken''yakuka\ ;
+出張所 < shutchoujo\ ;
+映画会社 < eigagaisha\ ;
+管理職 < kanrishoku\ ;
+鉄砲百合 < teppouyuri\ ;
+恐怖症 < kyoufushou\ ;
+政略家 < seiryakuka\ ;
+公衆網 < koushuumou\ ;
+入場権 < nyuujouken\ ;
+名誉会員 < meiyokaiin\ ;
+督戦隊 < tokusentai\ ;
+千羽鶴 < senbadzuru\ ;
+住宅地 < juutakuchi\ ;
+応募用紙 < ouboyoushi\ ;
+内惑星 < naiwakusei\ ;
+真正直 < mashoujiki\ ;
+季節風 < kisetsufuu\ ;
+低学年 < teigakunen\ ;
+学籍簿 < gakusekibo\ ;
+立体鏡 < rittaikyou\ ;
+二項式 < nikoushiki\ ;
+百日紅 < sarusuberi\ ;
+軍略家 < gunryakuka\ ;
+自浄作用 < jijousayou\ ;
+民譚集 < mindanshuu\ ;
+慰問袋 < imonbukuro\ ;
+消石灰 < shousekkai\ ;
+単一化 < tan''itsuka\ ;
+専用車 < sen''yousha\ ;
+仕舞物 < shimaimono\ ;
+大白鳥 < oohakuchou\ ;
+緩徐曲 < kanjokyoku\ ;
+刀剣商 < toukenshou\ ;
+伽芝居 < togishibai\ ;
+外貨預金 < gaikayokin\ ;
+気象庁 < kishouchou\ ;
+一円玉 < ichiendama\ ;
+恐怖映画 < kyoufueiga\ ;
+課税控除 < kazeikoujo\ ;
+巡洋艦 < jun''youkan\ ;
+必需品 < hitsujuhin\ ;
+不信用 < fushin''you\ ;
+測地線 < sokuchisen\ ;
+高木層 < koubokusou\ ;
+許容誤差 < kyoyougosa\ ;
+表層性 < hyousousei\ ;
+水薬 < mizugusuri\ ;
+出席簿 < shussekibo\ ;
+親王妃 < shin''nouhi\ ;
+配給系 < haikyuukei\ ;
+変圧器 < hen''atsuki\ ;
+実体鏡 < jittaikyou\ ;
+優勝杯 < yuushouhai\ ;
+適不適 < tekifuteki\ ;
+不定期刑 < futeikikei\ ;
+社交的 < shakouteki\ ;
+配給米 < haikyuumai\ ;
+書記局 < shokikyoku\ ;
+贈収賄 < zoushuuwai\ ;
+凸凹紙 < totsuoushi\ ;
+裁判人 < saiban''nin\ ;
+今道心 < imadoushin\ ;
+明治維新 < meijiishin\ ;
+紹介者 < shoukaisha\ ;
+言語機能 < gengokinou\ ;
+保税倉庫 < hozeisouko\ ;
+気象学 < kishougaku\ ;
+相続人 < souzokunin\ ;
+被告席 < hikokuseki\ ;
+乳脂肪 < nyuushibou\ ;
+農牧地 < noubokuchi\ ;
+医療機関 < iryoukikan\ ;
+悪戯子 < itazurakko\ ;
+射的場 < shatekijou\ ;
+泉熱 < izuminetsu\ ;
+法学者 < hougakusha\ ;
+全国紙 < zenkokushi\ ;
+救難船 < kyuunansen\ ;
+金融債 < kin''yuusai\ ;
+石井聰互 < ishiisougo\ ;
+軍事封鎖 < gunjifuusa\ ;
+上載圧 < jousaiatsu\ ;
+口喧嘩 < kuchigenka\ ;
+成人病 < seijinbyou\ ;
+花水木 < hanamizuki\ ;
+造園術 < zouenjutsu\ ;
+乳腺炎 < nyuusen''en\ ;
+位階勲等 < ikaikuntou\ ;
+浴室 < yokushitsu\ ;
+海流瓶 < kairyuubin\ ;
+分光学 < bunkougaku\ ;
+民主的 < minshuteki\ ;
+精白糖 < seihakutou\ ;
+無機質 < mukishitsu\ ;
+愛娘 < manamusume\ ;
+通話料 < tsuuwaryou\ ;
+耐火煉瓦 < taikarenga\ ;
+改良品 < kairyouhin\ ;
+精白米 < seihakumai\ ;
+快削鋼 < kaisakukou\ ;
+日向水 < hinatamizu\ ;
+古狸 < furudanuki\ ;
+陪審員 < baishin''in\ ;
+古今無類 < kokonmurui\ ;
+師団長 < shidanchou\ ;
+組職体 < soshokutai\ ;
+果実酒 < kajitsushu\ ;
+婿養子 < mukoyoushi\ ;
+写真師 < shashinshi\ ;
+電波管理 < denpakanri\ ;
+河烏 < kawagarasu\ ;
+下検査 < shitakensa\ ;
+優勝戦 < yuushousen\ ;
+私宛 < watashiate\ ;
+連続体 < renzokutai\ ;
+天刑病 < tenkeibyou\ ;
+民事事件 < minjijiken\ ;
+半翅目 < hanshimoku\ ;
+茶番劇 < chabangeki\ ;
+自然保護 < shizenhogo\ ;
+写真屋 < shashin''ya\ ;
+画像処理 < gazoushori\ ;
+良導体 < ryoudoutai\ ;
+救世主 < kyuuseishu\ ;
+未着手 < michakushu\ ;
+作詩法 < sakushihou\ ;
+真魚鰹 < managatsuo\ ;
+出張員 < shutchouin\ ;
+人力車 < jinrikisha\ ;
+種種雑多 < shujuzatta\ ;
+必罰 < hitsubatsu\ ;
+祝日 < shukujitsu\ ;
+国際人 < kokusaijin\ ;
+測長機 < sokuchouki\ ;
+小主観 < shoushukan\ ;
+映画俳優 < eigahaiyuu\ ;
+実践的 < jissenteki\ ;
+連結器 < renketsuki\ ;
+耐久性 < taikyuusei\ ;
+杉並木 < suginamiki\ ;
+終了後 < shuuryougo\ ;
+天道様 < tentousama\ ;
+吊橋 < tsuribashi\ ;
+撮影隊 < satsueitai\ ;
+花菖蒲 < hanashoubu\ ;
+検眼鏡 < kengankyou\ ;
+形許 < katabakari\ ;
+酸化物 < sankabutsu\ ;
+波枕 < namimakura\ ;
+小作料 < kosakuryou\ ;
+庶民的 < shominteki\ ;
+輪舞曲 < rinbukyoku\ ;
+磁気録音 < jikirokuon\ ;
+不協和音 < fukyouwaon\ ;
+凍結器 < touketsuki\ ;
+夏蜜柑 < natsumikan\ ;
+本位記号 < hon''ikigou\ ;
+等方的 < touhouteki\ ;
+衛生管理 < eiseikanri\ ;
+岩清水 < iwashimizu\ ;
+立案者 < ritsuansha\ ;
+相互主義 < sougoshugi\ ;
+著述家 < chojutsuka\ ;
+脳梅毒 < noubaidoku\ ;
+軍用品 < gun''youhin\ ;
+応募資金 < ouboshikin\ ;
+僕仲間 < bokunakama\ ;
+難視聴 < nanshichou\ ;
+復古主義 < fukkoshugi\ ;
+徳義心 < tokugishin\ ;
+近海物 < kinkaimono\ ;
+東洋通 < touyoutsuu\ ;
+次亜硫酸 < jiaryuusan\ ;
+平安時代 < heianjidai\ ;
+鉄砲玉 < teppoudama\ ;
+水秤 < mizubakari\ ;
+流失 < ryuushitsu\ ;
+価格表 < kakakuhyou\ ;
+調停者 < chouteisha\ ;
+歴史観 < rekishikan\ ;
+建築費 < kenchikuhi\ ;
+鉋屑 < kan''nakuzu\ ;
+人情劇 < ninjougeki\ ;
+菱餅 < hishimochi\ ;
+多神教 < tashinkyou\ ;
+情報機器 < jouhoukiki\ ;
+前哨地 < zenshouchi\ ;
+三位一体 < sanmiittai\ ;
+政務次官 < seimujikan\ ;
+吉日 < kichinichi\ ;
+一度丈 < ichidodake\ ;
+薬指 < kusuriyubi\ ;
+連絡会 < renrakukai\ ;
+一般職 < ippanshoku\ ;
+雌雄異体 < shiyuuitai\ ;
+社会学 < shakaigaku\ ;
+偵察機 < teisatsuki\ ;
+寝台車 < shindaisha\ ;
+年代物 < nendaimono\ ;
+両替人 < ryougaenin\ ;
+各方 < onoonogata\ ;
+武断政治 < budanseiji\ ;
+合格者 < goukakusha\ ;
+金槌 < kanadzuchi\ ;
+専用線 < sen''yousen\ ;
+帯域幅 < taiikihaba\ ;
+初一念 < shoichinen\ ;
+紹介状 < shoukaijou\ ;
+消毒器 < shoudokuki\ ;
+旦那衆 < dan''nashuu\ ;
+堅信礼 < kenshinrei\ ;
+官公庁 < kankouchou\ ;
+聴聞僧 < choumonsou\ ;
+太平楽 < taiheiraku\ ;
+両天秤 < ryoutenbin\ ;
+孔雀石 < kujakuseki\ ;
+創作権 < sousakuken\ ;
+色事師 < irogotoshi\ ;
+酸化炭素 < sankatanso\ ;
+水彩画家 < suisaigaka\ ;
+降魔術 < koumajutsu\ ;
+少資本 < shoushihon\ ;
+資産株 < shisankabu\ ;
+基礎代謝 < kisotaisha\ ;
+恐怖心 < kyoufushin\ ;
+実験的 < jikkenteki\ ;
+使徒達 < shitotachi\ ;
+前頭 < maegashira\ ;
+安酒場 < yasusakaba\ ;
+聴聞会 < choumonkai\ ;
+育児食 < ikujishoku\ ;
+男便所 < otokobenjo\ ;
+首実検 < kubijikken\ ;
+細胞膜 < saiboumaku\ ;
+名人肌 < meijinhada\ ;
+小学校 < shougakkou\ ;
+一杯機嫌 < ippaikigen\ ;
+旧藩主 < kyuuhanshu\ ;
+民有林 < min''yuurin\ ;
+赤鉄鉱 < sekitekkou\ ;
+本草学 < honzougaku\ ;
+修正者 < shuuseisha\ ;
+風速計 < fuusokukei\ ;
+道路輸送 < douroyusou\ ;
+潜在的 < senzaiteki\ ;
+変拍子 < henbyoushi\ ;
+旧思想 < kyuushisou\ ;
+亜熱帯林 < anettairin\ ;
+雑木林 < zoubokurin\ ;
+戦闘的 < sentouteki\ ;
+青息吐息 < aoikitoiki\ ;
+終電車 < shuudensha\ ;
+背美鯨 < semikujira\ ;
+慇懃無礼 < inginburei\ ;
+穴杓子 < anajakushi\ ;
+一年中 < ichinenjuu\ ;
+鉄砲水 < teppoumizu\ ;
+全国民 < zenkokumin\ ;
+人口学 < jinkougaku\ ;
+流出 < ryuushutsu\ ;
+活力 < katsuryoku\ ;
+直滑降 < chokkakkou\ ;
+糞真面目 < kusomajime\ ;
+上申書 < joushinsho\ ;
+卵焼 < tamagoyaki\ ;
+針千本 < harisenbon\ ;
+自主規制 < jishukisei\ ;
+三業地 < sangyouchi\ ;
+並大抵 < namitaitei\ ;
+白雲石 < hakuunseki\ ;
+水煙 < mizukemuri\ ;
+欠席者 < kessekisha\ ;
+引当金 < hikiatekin\ ;
+装飾音 < soushokuon\ ;
+視聴者 < shichousha\ ;
+乳臭児 < nyuushuuji\ ;
+手沢本 < shutakubon\ ;
+警戒心 < keikaishin\ ;
+弥生時代 < yayoijidai\ ;
+中国語 < chuugokugo\ ;
+入手難 < nyuushunan\ ;
+電流計 < denryuukei\ ;
+道道 < michimichi\ ;
+予備会談 < yobikaidan\ ;
+君主国 < kunshukoku\ ;
+音楽学 < ongakugaku\ ;
+錯字症 < sakujishou\ ;
+等位構造 < touikouzou\ ;
+大盤石 < daibanjaku\ ;
+分子量 < bunshiryou\ ;
+一番茶 < ichibancha\ ;
+他流試合 < taryuujiai\ ;
+安定操作 < anteisousa\ ;
+無償行為 < mushoukoui\ ;
+遅刻者 < chikokusha\ ;
+再発足 < saihossoku\ ;
+対蹠的 < taishoteki\ ;
+夏期学校 < kakigakkou\ ;
+槍術家 < soujutsuka\ ;
+歌謡曲 < kayoukyoku\ ;
+活人画 < katsujinga\ ;
+二言目 < futakotome\ ;
+原子量 < genshiryou\ ;
+強腰 < tsuyogoshi\ ;
+大幅物 < oohabamono\ ;
+独奏会 < dokusoukai\ ;
+初霜 < hatsushimo\ ;
+宇宙医学 < uchuuigaku\ ;
+名誉除隊 < meiyojotai\ ;
+五臓六腑 < gozouroppu\ ;
+右左 < migihidari\ ;
+脱臭剤 < dasshuuzai\ ;
+快速船 < kaisokusen\ ;
+生殖器 < seishokuki\ ;
+車中談 < shachuudan\ ;
+鎮静剤 < chinseizai\ ;
+合併症 < gappeishou\ ;
+懇親会 < konshinkai\ ;
+着雪 < chakusetsu\ ;
+必滅 < hitsumetsu\ ;
+牽牛星 < kengyuusei\ ;
+執行委員 < shikkouiin\ ;
+里心 < satogokoro\ ;
+四面楚歌 < shimensoka\ ;
+茶柄杓 < chabishaku\ ;
+有神論 < yuushinron\ ;
+命中数 < meichuusuu\ ;
+方解石 < houkaiseki\ ;
+売掛金 < urikakekin\ ;
+超巨星 < choukyosei\ ;
+立体的 < rittaiteki\ ;
+白昼夢 < hakuchuumu\ ;
+新記録 < shinkiroku\ ;
+保釈金 < hoshakukin\ ;
+反粒子 < hanryuushi\ ;
+下足料 < gesokuryou\ ;
+注文書 < chuumonsho\ ;
+威風堂堂 < ifuudoudou\ ;
+化合物 < kagoubutsu\ ;
+屋形船 < yakatabune\ ;
+軍事会議 < gunjikaigi\ ;
+跛行景気 < hakoukeiki\ ;
+運動力 < undouryoku\ ;
+銘銘皿 < meimeizara\ ;
+黒曜岩 < kokuyougan\ ;
+原作者 < gensakusha\ ;
+兵站学 < heitangaku\ ;
+細密画 < saimitsuga\ ;
+饂飩粉病 < udonkobyou\ ;
+一番線 < ichibansen\ ;
+半人前 < han''ninmae\ ;
+劇場街 < gekijougai\ ;
+天下一品 < tenkaippin\ ;
+決議権 < ketsugiken\ ;
+基地閉鎖 < kichiheisa\ ;
+葵祭 < aoimatsuri\ ;
+一槽式 < issoushiki\ ;
+宅急便 < takkyuubin\ ;
+油壷 < aburatsubo\ ;
+老人病 < roujinbyou\ ;
+筆記用具 < hikkiyougu\ ;
+蒸気機関 < joukikikan\ ;
+合格点 < goukakuten\ ;
+刻足 < kizamiashi\ ;
+試供品 < shikyouhin\ ;
+中堅手 < chuukenshu\ ;
+葛饅頭 < kuzumanjuu\ ;
+接客婦 < sekkyakufu\ ;
+活字本 < katsujihon\ ;
+問題劇 < mondaigeki\ ;
+磁気抵抗 < jikiteikou\ ;
+聴講生 < choukousei\ ;
+水枕 < mizumakura\ ;
+賽銭箱 < saisenbako\ ;
+提唱者 < teishousha\ ;
+丁字定規 < teijijougi\ ;
+噴飯物 < funpanmono\ ;
+固定金利 < koteikinri\ ;
+分極化 < bunkyokuka\ ;
+管理局 < kanrikyoku\ ;
+角錐台 < kakusuidai\ ;
+福岡県 < fukuokaken\ ;
+独壇場 < dokudanjou\ ;
+仲間褒 < nakamabome\ ;
+随想録 < zuisouroku\ ;
+撮影者 < satsueisha\ ;
+如菩薩 < nyobosatsu\ ;
+命中弾 < meichuudan\ ;
+真分数 < shinbunsuu\ ;
+鰯雲 < iwashigumo\ ;
+雇用主 < koyounushi\ ;
+心柄 < kokorogara\ ;
+起動時間 < kidoujikan\ ;
+幻 < maboroshi\ ;
+屍 < shikabane\ ;
+孤 < minashigo\ ;
+猪 < inoshishi\ ;
+唇 < kuchibiru\ ;
+檣 < hobashira\ ;
+橘 < tachibana\ ;
+兵 < tsuwamono\ ;
+銀 < shirogane\ ;
+邪 < yokoshima\ ;
+屯田兵 < tondenhei\ ;
+敵部隊 < tekibutai\ ;
+抵当権 < teitouken\ ;
+村夫子 < sonpuushi\ ;
+自己欺瞞 < jikogiman\ ;
+慰安旅行 < ianryokou\ ;
+揚水車 < yousuisha\ ;
+救援軍 < kyuuengun\ ;
+育毛剤 < ikumouzai\ ;
+睦言 < mutsugoto\ ;
+収奪 < shuudatsu\ ;
+黒頭巾 < kurozukin\ ;
+解毒剤 < gedokuzai\ ;
+恐喝 < kyoukatsu\ ;
+高姿勢 < koushisei\ ;
+屋台店 < yataimise\ ;
+起磁力 < kijiryoku\ ;
+原生林 < genseirin\ ;
+歴史画 < rekishiga\ ;
+目頭 < megashira\ ;
+草餠 < kusamochi\ ;
+前半生 < zenhansei\ ;
+存在論 < sonzairon\ ;
+劇職 < gekishoku\ ;
+希望的 < kibouteki\ ;
+薬代 < kusuridai\ ;
+人工雷 < jinkourai\ ;
+専用機 < sen''youki\ ;
+強直 < kyouchoku\ ;
+度量衡 < doryoukou\ ;
+党大会 < toutaikai\ ;
+同乗者 < doujousha\ ;
+労動者 < roudousha\ ;
+単数型 < tansuukei\ ;
+従兄弟 < juukeitei\ ;
+齧歯類 < gesshirui\ ;
+各冊 < kakusatsu\ ;
+通説 < tsuusetsu\ ;
+冠木門 < kabukimon\ ;
+付属品 < fuzokuhin\ ;
+訪問者 < houmonsha\ ;
+河口 < kawaguchi\ ;
+逆賊 < gyakuzoku\ ;
+道草 < michikusa\ ;
+発頭人 < hottounin\ ;
+死神 < shinigami\ ;
+文選工 < bunsenkou\ ;
+適職 < tekishoku\ ;
+欠落 < ketsuraku\ ;
+巻鮨 < makizushi\ ;
+同居人 < doukyonin\ ;
+参詣人 < sankeinin\ ;
+役員会 < yakuinkai\ ;
+孤立語 < koritsugo\ ;
+生菓子 < namagashi\ ;
+電気器具 < denkikigu\ ;
+勝率 < shouritsu\ ;
+勘定書 < kanjousho\ ;
+開催地 < kaisaichi\ ;
+落後者 < rakugosha\ ;
+出軍 < shutsugun\ ;
+危機打者 < kikidasha\ ;
+半日 < han''nichi\ ;
+塩化水素 < enkasuiso\ ;
+厄年 < yakudoshi\ ;
+男子校 < danshikou\ ;
+剥脱 < hakudatsu\ ;
+一苦労 < hitokurou\ ;
+催涙弾 < sairuidan\ ;
+統治権 < touchiken\ ;
+徒桜 < adazakura\ ;
+千日 < sen''nichi\ ;
+禁転載 < kintensai\ ;
+人事異動 < jinjiidou\ ;
+港湾税 < kouwanzei\ ;
+不寛容 < fukan''you\ ;
+別行 < betsugyou\ ;
+不信仰 < fushinkou\ ;
+太公望 < taikoubou\ ;
+丸括弧 < marugakko\ ;
+外向性 < gaikousei\ ;
+落着 < rakuchaku\ ;
+不足前 < tarazumae\ ;
+二国間 < nikokukan\ ;
+亜鉛鉄板 < aenteppan\ ;
+会葬者 < kaisousha\ ;
+遮二無二 < shanimuni\ ;
+逆襲 < gyakushuu\ ;
+福寿草 < fukujusou\ ;
+毒殺 < dokusatsu\ ;
+確実 < kakujitsu\ ;
+法曹界 < housoukai\ ;
+重出 < juushutsu\ ;
+口先 < kuchisaki\ ;
+運輸省 < un''yushou\ ;
+口元 < kuchimoto\ ;
+式目 < shikimoku\ ;
+卓抜 < takubatsu\ ;
+乗車駅 < joushaeki\ ;
+朝鮮語 < chousengo\ ;
+革命家 < kakumeika\ ;
+機密費 < kimitsuhi\ ;
+人造米 < jinzoumai\ ;
+洋品店 < youhinten\ ;
+個人的 < kojinteki\ ;
+一元化 < ichigenka\ ;
+伝道船 < dendousen\ ;
+没入 < botsunyuu\ ;
+圧迫感 < appakukan\ ;
+予防策 < yobousaku\ ;
+若隠居 < wakainkyo\ ;
+定住者 < teijuusha\ ;
+右下 < migishita\ ;
+水溶性 < suiyousei\ ;
+強烈 < kyouretsu\ ;
+遺言書 < yuigonsho\ ;
+代燃車 < dainensha\ ;
+変成岩 < henseigan\ ;
+一定量 < itteiryou\ ;
+苦灰石 < kukaiseki\ ;
+左心房 < sashinbou\ ;
+輪番制 < rinbansei\ ;
+請願者 < seigansha\ ;
+逸脱 < itsudatsu\ ;
+白黒 < shirokuro\ ;
+直達 < jikitatsu\ ;
+圧迫性 < appakusei\ ;
+恋仇 < koigataki\ ;
+羅生門 < rashoumon\ ;
+直進 < chokushin\ ;
+個人用 < kojin''you\ ;
+享受者 < kyoujusha\ ;
+御足労 < gosokurou\ ;
+直通 < chokutsuu\ ;
+剽窃 < hyousetsu\ ;
+爬虫類 < hachuurui\ ;
+迷信家 < meishinka\ ;
+割箸 < waribashi\ ;
+書簡文 < shokanbun\ ;
+許可証 < kyokashou\ ;
+民主党 < minshutou\ ;
+免黜 < menchutsu\ ;
+金仏 < kanabutsu\ ;
+白鷺 < shirasagi\ ;
+醵出 < kyoshutsu\ ;
+直轄 < chokkatsu\ ;
+太刀先 < tachisaki\ ;
+占師 < uranaishi\ ;
+伝道者 < dendousha\ ;
+監視船 < kanshisen\ ;
+縄暖簾 < nawanoren\ ;
+綿製品 < menseihin\ ;
+皮靴 < kawagutsu\ ;
+出走馬 < shussouba\ ;
+急切 < kyuusetsu\ ;
+二階建 < nikaidate\ ;
+修正案 < shuuseian\ ;
+宣伝戦 < sendensen\ ;
+酉年 < toridoshi\ ;
+請負業 < ukeoigyou\ ;
+類人猿 < ruijin''en\ ;
+合理的 < gouriteki\ ;
+勝負師 < shoubushi\ ;
+糸蚯蚓 < itomimizu\ ;
+延長戦 < enchousen\ ;
+土建業 < dokengyou\ ;
+贈呈品 < zouteihin\ ;
+金鉱地 < kinkouchi\ ;
+真裸 < mappadaka\ ;
+昼御飯 < hirugohan\ ;
+蒙古襞 < moukohida\ ;
+半月刊 < hangekkan\ ;
+出血 < shukketsu\ ;
+白鱚 < shirogisu\ ;
+道筋 < michisuji\ ;
+県民税 < kenminzei\ ;
+扇動者 < sendousha\ ;
+集会所 < shuukaijo\ ;
+木工場 < mokkoujou\ ;
+洒落者 < sharemono\ ;
+戦闘帽 < sentoubou\ ;
+夕化粧 < yuugeshou\ ;
+道端 < michibata\ ;
+可動堰 < kadouzeki\ ;
+大年増 < ootoshima\ ;
+法理学 < hourigaku\ ;
+黄頷蛇 < aodaishou\ ;
+透明体 < toumeitai\ ;
+故障車 < koshousha\ ;
+監視者 < kanshisha\ ;
+卸売 < oroshiuri\ ;
+忘失 < boushitsu\ ;
+蔭口 < kageguchi\ ;
+卵大 < tamagodai\ ;
+弁慶草 < benkeisou\ ;
+初花 < hatsuhana\ ;
+道程 < michinori\ ;
+存在者 < sonzaisha\ ;
+全国区 < zenkokuku\ ;
+白髪 < hakuhatsu\ ;
+天皇旗 < ten''nouki\ ;
+官僚化 < kanryouka\ ;
+既得権 < kitokuken\ ;
+光線銃 < kousenjuu\ ;
+磔刑 < haritsuke\ ;
+仮面劇 < kamengeki\ ;
+機械的 < kikaiteki\ ;
+彦星 < hikoboshi\ ;
+遺伝地図 < idenchizu\ ;
+辛辣 < shinratsu\ ;
+正物 < shoubutsu\ ;
+品々 < shinajina\ ;
+熨斗紙 < noshigami\ ;
+写植機 < shashokki\ ;
+出藍 < shutsuran\ ;
+本体論 < hontairon\ ;
+発声法 < hasseihou\ ;
+給湯器 < kyuutouki\ ;
+年若 < toshiwaka\ ;
+遊興費 < yuukyouhi\ ;
+平安京 < heiankyou\ ;
+逆臣 < gyakushin\ ;
+生欠伸 < namaakubi\ ;
+送付先 < soufusaki\ ;
+外野席 < gaiyaseki\ ;
+平芝 < hirashiba\ ;
+横面 < yokotsura\ ;
+立体戦 < rittaisen\ ;
+直読 < chokudoku\ ;
+監視網 < kanshimou\ ;
+月水金 < gessuikin\ ;
+正投手 < seitoushu\ ;
+凝血 < gyouketsu\ ;
+遠赤外 < ensekigai\ ;
+指示薬 < shijiyaku\ ;
+逃腰 < nigegoshi\ ;
+心太 < tokoroten\ ;
+直訳 < chokuyaku\ ;
+初耳 < hatsumimi\ ;
+信号機 < shingouki\ ;
+井戸車 < idoguruma\ ;
+有名税 < yuumeizei\ ;
+立体感 < rittaikan\ ;
+優先権 < yuusenken\ ;
+実験場 < jikkenjou\ ;
+牡丹餅 < botamochi\ ;
+経団連 < keidanren\ ;
+不法行為 < fuhoukoui\ ;
+断頭台 < dantoudai\ ;
+予約者 < yoyakusha\ ;
+終夜灯 < shuuyatou\ ;
+暗黒面 < ankokumen\ ;
+宣伝屋 < senden''ya\ ;
+代替品 < daitaihin\ ;
+炭酸塩 < tansan''en\ ;
+下宿屋 < geshukuya\ ;
+補給線 < hokyuusen\ ;
+名人戦 < meijinsen\ ;
+一般席 < ippanseki\ ;
+遭難者 < sounansha\ ;
+白雪 < hakusetsu\ ;
+出色 < shusshoku\ ;
+原子砲 < genshihou\ ;
+倒置法 < touchihou\ ;
+廃疾 < haishitsu\ ;
+照準器 < shoujunki\ ;
+原住民 < genjuumin\ ;
+聖公会 < seikoukai\ ;
+劇烈 < gekiretsu\ ;
+原産地 < gensanchi\ ;
+革命児 < kakumeiji\ ;
+速筆 < sokuhitsu\ ;
+優駿馬 < yuushunba\ ;
+主情論 < shujouron\ ;
+骨董品 < kottouhin\ ;
+管財人 < kanzainin\ ;
+演劇界 < engekikai\ ;
+銀閣寺 < ginkakuji\ ;
+風鳥座 < fuuchouza\ ;
+挟瞼器 < kyoukenki\ ;
+教授法 < kyoujuhou\ ;
+電気釜 < denkigama\ ;
+電気量 < denkiryou\ ;
+水口 < mizuguchi\ ;
+死体遺棄 < shitaiiki\ ;
+点光源 < tenkougen\ ;
+日刊紙 < nikkanshi\ ;
+間狂言 < aikyougen\ ;
+殺戮 < satsuriku\ ;
+老人性 < roujinsei\ ;
+後室 < koushitsu\ ;
+計数管 < keisuukan\ ;
+金利鞘 < kinrishou\ ;
+蓄妾 < chikushou\ ;
+仮政府 < kariseifu\ ;
+現代版 < gendaiban\ ;
+低姿勢 < teishisei\ ;
+急降下 < kyuukouka\ ;
+童話劇 < douwageki\ ;
+実験台 < jikkendai\ ;
+水成岩 < suiseigan\ ;
+御寮人 < goryounin\ ;
+自身番 < jishinban\ ;
+砂時計 < sunadokei\ ;
+内野安打 < naiyaanda\ ;
+血達磨 < chidaruma\ ;
+養鶏場 < youkeijou\ ;
+進発 < shinpatsu\ ;
+脱走兵 < dassouhei\ ;
+茶袋 < chabukuro\ ;
+荘園制 < shouensei\ ;
+初空 < hatsuzora\ ;
+前半戦 < zenpansen\ ;
+訓詁学 < kunkogaku\ ;
+車井戸 < kurumaido\ ;
+外務省 < gaimushou\ ;
+新時代 < shinjidai\ ;
+渉外部 < shougaibu\ ;
+横道 < yokomichi\ ;
+感光紙 < kankoushi\ ;
+撮影機 < satsueiki\ ;
+一生涯 < isshougai\ ;
+水源地 < suigenchi\ ;
+整流器 < seiryuuki\ ;
+平穏無事 < heionbuji\ ;
+落札 < rakusatsu\ ;
+刮目 < katsumoku\ ;
+白酒 < shirozake\ ;
+銀行界 < ginkoukai\ ;
+現住所 < genjuusho\ ;
+勘所 < kandokoro\ ;
+前口上 < maekoujou\ ;
+地対空 < chitaikuu\ ;
+追突 < tsuitotsu\ ;
+第一集 < daiisshuu\ ;
+式服 < shikifuku\ ;
+天皇家 < ten''nouke\ ;
+協力 < kyouryoku\ ;
+給油船 < kyuuyusen\ ;
+代書人 < daishonin\ ;
+創始者 < soushisha\ ;
+価格帯 < kakakutai\ ;
+場所柄 < bashogara\ ;
+信号所 < shingoujo\ ;
+明明後日 < shiasatte\ ;
+石持 < ishimochi\ ;
+悪循環 < akujunkan\ ;
+落日 < rakujitsu\ ;
+一気呵成 < ikkikasei\ ;
+実験値 < jikkenchi\ ;
+逸物 < ichimotsu\ ;
+不風流 < bufuuryuu\ ;
+宣伝員 < senden''in\ ;
+除電針 < jodenbari\ ;
+衛生学 < eiseigaku\ ;
+直腸 < chokuchou\ ;
+武器貸与 < bukitaiyo\ ;
+発見者 < hakkensha\ ;
+法王庁 < hououchou\ ;
+歴日 < rekijitsu\ ;
+一番手 < ichibante\ ;
+一夫多妻 < ipputasai\ ;
+限界点 < genkaiten\ ;
+板目紙 < itamegami\ ;
+愁嘆場 < shuutanba\ ;
+進物 < shinmotsu\ ;
+花相撲 < hanazumou\ ;
+歯科学 < shikagaku\ ;
+仕事着 < shigotogi\ ;
+光文社 < koubunsha\ ;
+高燥地 < kousouchi\ ;
+農地法 < nouchihou\ ;
+葛根湯 < kakkontou\ ;
+出立 < shuttatsu\ ;
+真筆 < shinpitsu\ ;
+正月 < shougatsu\ ;
+凝縮 < gyoushuku\ ;
+光電管 < koudenkan\ ;
+身分柄 < mibungara\ ;
+観覧券 < kanranken\ ;
+禁制品 < kinseihin\ ;
+着目 < chakumoku\ ;
+当籤者 < tousensha\ ;
+進化論 < shinkaron\ ;
+再検討 < saikentou\ ;
+六識 < rokushiki\ ;
+半夏生 < hangeshou\ ;
+御飯時 < gohandoki\ ;
+愛弟子 < manadeshi\ ;
+手引書 < tebikisho\ ;
+揮発油 < kihatsuyu\ ;
+翰林院 < kanrin''in\ ;
+整合性 < seigousei\ ;
+料理番 < ryouriban\ ;
+十二宮 < juunikyuu\ ;
+生産財 < seisanzai\ ;
+一代記 < ichidaiki\ ;
+元始祭 < genshisai\ ;
+亡命者 < boumeisha\ ;
+有税品 < yuuzeihin\ ;
+眼疾 < ganshitsu\ ;
+大使館 < taishikan\ ;
+限定詞 < genteishi\ ;
+歌枕 < utamakura\ ;
+Ｘ線 < ekkususen\ ;
+無駄飯 < mudameshi\ ;
+総決算 < soukessan\ ;
+歴史家 < rekishika\ ;
+海水帽 < kaisuibou\ ;
+控除額 < koujogaku\ ;
+知悉 < chishitsu\ ;
+家政学 < kaseigaku\ ;
+内弟子 < uchideshi\ ;
+多忙中 < tabouchuu\ ;
+別物 < betsumono\ ;
+原寸大 < gensundai\ ;
+直結 < chokketsu\ ;
+機能的 < kinouteki\ ;
+女性的 < joseiteki\ ;
+滑翔機 < kasshouki\ ;
+年始状 < nenshijou\ ;
+子煩悩 < kobon''nou\ ;
+指南車 < shinansha\ ;
+凝立 < gyouritsu\ ;
+常節 < tokobushi\ ;
+写生文 < shaseibun\ ;
+標識 < hyoushiki\ ;
+内遊星 < naiyuusei\ ;
+後出 < koushutsu\ ;
+初物 < hatsumono\ ;
+苦行者 < kugyousha\ ;
+罪悪感 < zaiakukan\ ;
+無症状 < mushoujou\ ;
+花道 < hanamichi\ ;
+角砂糖 < kakuzatou\ ;
+生返事 < namahenji\ ;
+出発 < shuppatsu\ ;
+単純性 < tanjunsei\ ;
+北口 < kitaguchi\ ;
+大僧正 < daisoujou\ ;
+年玉 < toshidama\ ;
+一身上 < isshinjou\ ;
+修道尼 < shuudouni\ ;
+軍放送 < gunhousou\ ;
+登記料 < toukiryou\ ;
+英国人 < eikokujin\ ;
+偽証者 < gishousha\ ;
+道路橋 < dourokyou\ ;
+橙色 < daidaiiro\ ;
+矩差 < kanezashi\ ;
+千万 < chiyorozu\ ;
+撮影所 < satsueijo\ ;
+形態論 < keitairon\ ;
+偽証罪 < gishouzai\ ;
+首謀者 < shubousha\ ;
+複号化 < fukugouka\ ;
+弓弦 < yumidzuru\ ;
+始祖鳥 < shisochou\ ;
+特許法 < tokkyohou\ ;
+養毛剤 < youmouzai\ ;
+浮気者 < uwakimono\ ;
+盲穴 < mekuraana\ ;
+危機突破 < kikitoppa\ ;
+暗黒街 < ankokugai\ ;
+大元帥 < daigensui\ ;
+免許状 < menkyojou\ ;
+草箒 < kusabouki\ ;
+出現 < shutsugen\ ;
+夜光虫 < yakouchuu\ ;
+奇天烈 < kiteretsu\ ;
+匙加減 < sajikagen\ ;
+凝着 < gyouchaku\ ;
+劣弱 < retsujaku\ ;
+投手板 < toushuban\ ;
+従業員 < juugyouin\ ;
+批評眼 < hihyougan\ ;
+修道女 < shuudoujo\ ;
+圧痛点 < attsuuten\ ;
+海兵隊 < kaiheitai\ ;
+考課表 < koukahyou\ ;
+麦芽糖 < bakugatou\ ;
+真率 < shinsotsu\ ;
+苦虫 < nigamushi\ ;
+橋脚 < kyoukyaku\ ;
+左腕 < hidariude\ ;
+文芸欄 < bungeiran\ ;
+夜盲症 < yamoushou\ ;
+投稿者 < toukousha\ ;
+無差別 < musabetsu\ ;
+空挺隊 < kuuteitai\ ;
+微調整 < bichousei\ ;
+口忠実 < kuchimame\ ;
+花模様 < hanamoyou\ ;
+有名校 < yuumeikou\ ;
+特許権 < tokkyoken\ ;
+高鼾 < takaibiki\ ;
+構成子 < kouseishi\ ;
+真物 < shinbutsu\ ;
+弔客 < choukyaku\ ;
+請願書 < seigansho\ ;
+拡声機 < kakuseiki\ ;
+医療機器 < iryoukiki\ ;
+百薬 < hyakuyaku\ ;
+討論会 < touronkai\ ;
+茶筒 < chadzutsu\ ;
+弟娘 < otomusume\ ;
+省略 < shouryaku\ ;
+拘置所 < kouchisho\ ;
+交渉員 < koushouin\ ;
+労役場 < rouekijou\ ;
+長尾鶏 < nagaodori\ ;
+水銀灯 < suigintou\ ;
+主成分 < shuseibun\ ;
+修辞法 < shuujihou\ ;
+卓話会 < takuwakai\ ;
+逆流 < gyakuryuu\ ;
+歌心 < utagokoro\ ;
+手工芸 < shukougei\ ;
+料理法 < ryourihou\ ;
+承認図 < shouninzu\ ;
+本島人 < hontoujin\ ;
+恒常性 < koujousei\ ;
+週末 < shuumatsu\ ;
+着氷 < chakuhyou\ ;
+白菊 < shiragiku\ ;
+年波 < toshinami\ ;
+組織化 < soshikika\ ;
+御新造 < goshinzou\ ;
+正室 < seishitsu\ ;
+乾電池 < kandenchi\ ;
+自作農 < jisakunou\ ;
+菊月 < kikudzuki\ ;
+制空権 < seikuuken\ ;
+花椰菜 < hanayasai\ ;
+競技場 < kyougijou\ ;
+旧制度 < kyuuseido\ ;
+共和政 < kyouwasei\ ;
+天下無比 < tenkamuhi\ ;
+尊王家 < son''nouka\ ;
+年毎 < toshigoto\ ;
+週日 < shuujitsu\ ;
+遅進児 < chishinji\ ;
+花街 < hanamachi\ ;
+川縁 < kawabuchi\ ;
+形代 < katashiro\ ;
+栄養学 < eiyougaku\ ;
+掩護部隊 < engobutai\ ;
+白色 < hakushoku\ ;
+不介入 < fukainyuu\ ;
+投手戦 < toushusen\ ;
+犬張子 < inuhariko\ ;
+送電線 < soudensen\ ;
+卵黄嚢 < ran''ounou\ ;
+別棟 < betsumune\ ;
+気圧計 < kiatsukei\ ;
+駆虫剤 < kuchuuzai\ ;
+犬追物 < inuoumono\ ;
+三斑鶉 < mifuuzura\ ;
+冊立 < sakuritsu\ ;
+馬鹿野郎 < bakayarou\ ;
+島風 < shimakaze\ ;
+拍子木 < hyoushigi\ ;
+多毛作 < tamousaku\ ;
+手荷物 < tenimotsu\ ;
+弱卒 < jakusotsu\ ;
+几帳面 < kichoumen\ ;
+模範的 < mohanteki\ ;
+僕達 < bokutachi\ ;
+髭面 < higedzura\ ;
+筆記帳 < hikkichou\ ;
+張力 < chouryoku\ ;
+軟質 < nanshitsu\ ;
+長距離 < choukyori\ ;
+美少年 < bishounen\ ;
+乾燥材 < kansouzai\ ;
+生産者 < seisansha\ ;
+不服従 < fufukujuu\ ;
+本格派 < honkakuha\ ;
+菱形 < hishigata\ ;
+原子戦 < genshisen\ ;
+不変量 < fuhenryou\ ;
+顔馴染 < kaonajimi\ ;
+進捗 < shinchoku\ ;
+落葉樹 < rakuyouju\ ;
+三頭筋 < santoukin\ ;
+僻説 < hekisetsu\ ;
+口語英語 < kougoeigo\ ;
+代言者 < daigensha\ ;
+茶畑 < chabatake\ ;
+揮発度 < kihatsudo\ ;
+大自然 < daishizen\ ;
+不時着 < fujichaku\ ;
+統制線 < touseisen\ ;
+横綱 < yokodzuna\ ;
+兎耳 < usagimimi\ ;
+光電池 < koudenchi\ ;
+花供養 < hanakuyou\ ;
+難問題 < nanmondai\ ;
+継電鍵 < keidenken\ ;
+機械学 < kikaigaku\ ;
+島陰 < shimakage\ ;
+婦人病 < fujinbyou\ ;
+同好者 < doukousha\ ;
+偽妊娠 < gininshin\ ;
+矢印 < yajirushi\ ;
+着服 < chakufuku\ ;
+火縄銃 < hinawajuu\ ;
+建坪 < tatetsubo\ ;
+副尺 < fukushaku\ ;
+初春 < hatsuharu\ ;
+前勘定 < maekanjou\ ;
+既発表 < kihappyou\ ;
+共立 < kyouritsu\ ;
+花菱 < hanabishi\ ;
+甲状腺 < koujousen\ ;
+稽古事 < keikogoto\ ;
+成文法 < seibunhou\ ;
+延坪 < nobetsubo\ ;
+規格品 < kikakuhin\ ;
+仕事日 < shigotobi\ ;
+分与税 < bun''yozei\ ;
+白無垢 < shiromuku\ ;
+二等賞 < nitoushou\ ;
+極量 < kyokuryou\ ;
+定休日 < teikyuubi\ ;
+良識 < ryoushiki\ ;
+弟分 < otoutobun\ ;
+白灯油 < hakutouyu\ ;
+色調 < shikichou\ ;
+鉄火味噌 < tekkamiso\ ;
+運転席 < untenseki\ ;
+公民館 < kouminkan\ ;
+篤農家 < tokunouka\ ;
+茉莉花 < matsurika\ ;
+人工港 < jinkoukou\ ;
+鳶口 < tobiguchi\ ;
+高陵土 < kouryoudo\ ;
+感光板 < kankouban\ ;
+八福 < hachifuku\ ;
+色覚 < shikikaku\ ;
+三乗根 < sanjoukon\ ;
+石仏 < sekibutsu\ ;
+男風呂 < otokoburo\ ;
+女郎花 < ominaeshi\ ;
+滞納者 < tainousha\ ;
+歳出 < saishutsu\ ;
+伝道師 < dendoushi\ ;
+応召兵 < oushouhei\ ;
+複十字 < fukujuuji\ ;
+直流 < chokuryuu\ ;
+阿弥陀経 < amidakyou\ ;
+芍薬 < shakuyaku\ ;
+再構成 < saikousei\ ;
+有段者 < yuudansha\ ;
+単衣物 < hitoemono\ ;
+規格判 < kikakuban\ ;
+第三者 < daisansha\ ;
+出札 < shussatsu\ ;
+割増 < warimashi\ ;
+体操場 < taisoujou\ ;
+主流派 < shuryuuha\ ;
+芝草 < shibakusa\ ;
+広報官 < kouhoukan\ ;
+真東 < mahigashi\ ;
+人工池 < jinkouike\ ;
+口蓋垂 < kougaisui\ ;
+金剛砂 < kongousha\ ;
+十三夜 < juusan''ya\ ;
+大学院 < daigakuin\ ;
+乗用車 < jouyousha\ ;
+不明確 < fumeikaku\ ;
+阿弥陀籤 < amidakuji\ ;
+蜃気楼 < shinkirou\ ;
+複葉機 < fukuyouki\ ;
+二等親 < nitoushin\ ;
+草競馬 < kusakeiba\ ;
+樸直 < bokuchoku\ ;
+隠元豆 < ingenmame\ ;
+幕末 < bakumatsu\ ;
+累乗根 < ruijoukon\ ;
+椎骨 < tsuikotsu\ ;
+東洋人 < touyoujin\ ;
+競技会 < kyougikai\ ;
+勧誘員 < kan''yuuin\ ;
+老婆心 < roubashin\ ;
+債権者 < saikensha\ ;
+第一義 < daiichigi\ ;
+正出 < seishutsu\ ;
+圧倒的 < attouteki\ ;
+不明瞭 < fumeiryou\ ;
+放電管 < houdenkan\ ;
+凶日 < kyoujitsu\ ;
+前身頃 < maemigoro\ ;
+少数派 < shousuuha\ ;
+特捜部 < tokusoubu\ ;
+調馬師 < choubashi\ ;
+遊失 < yuushitsu\ ;
+理論的 < rironteki\ ;
+飲水量 < insuiryou\ ;
+調理法 < chourihou\ ;
+累犯者 < ruihansha\ ;
+車蝦 < kurumaebi\ ;
+好都合 < koutsugou\ ;
+安全域 < anzen''iki\ ;
+虚栄心 < kyoeishin\ ;
+定期的 < teikiteki\ ;
+初役 < hatsuyaku\ ;
+認可証 < ninkashou\ ;
+信心家 < shinjinka\ ;
+強姦罪 < goukanzai\ ;
+教授会 < kyoujukai\ ;
+連合軍 < rengougun\ ;
+選出 < senshutsu\ ;
+迫持 < serimochi\ ;
+重合体 < juugoutai\ ;
+加虐愛 < kagyakuai\ ;
+河川敷 < kasenjiki\ ;
+軍隊葬 < guntaisou\ ;
+数年間 < suunenkan\ ;
+軽気球 < keikikyuu\ ;
+青浮草 < aoukikusa\ ;
+存在意義 < sonzaiigi\ ;
+安楽死 < anrakushi\ ;
+金平糖 < konpeitou\ ;
+定住地 < teijuuchi\ ;
+金輪際 < konrinzai\ ;
+料理店 < ryouriten\ ;
+貿易風 < bouekifuu\ ;
+人工林 < jinkourin\ ;
+海運業 < kaiungyou\ ;
+衣食住 < ishokujuu\ ;
+着床 < chakushou\ ;
+寝具類 < shingurui\ ;
+年弱 < toshiyowa\ ;
+山鶉 < yamauzura\ ;
+東南東 < tounantou\ ;
+Ｗ杯 < daburuhai\ ;
+甲板員 < kouhan''in\ ;
+現代史 < gendaishi\ ;
+根菜類 < konsairui\ ;
+着席 < chakuseki\ ;
+定例会 < teireikai\ ;
+決闘状 < kettoujou\ ;
+蚕卵紙 < sanranshi\ ;
+外蒙古 < sotomouko\ ;
+辻札 < tsujifuda\ ;
+車両化 < sharyouka\ ;
+適切 < tekisetsu\ ;
+又従兄弟 < mataitoko\ ;
+発病 < hatsubyou\ ;
+感光性 < kankousei\ ;
+第一章 < daiisshou\ ;
+病識 < byoushiki\ ;
+創出 < soushutsu\ ;
+別室 < besshitsu\ ;
+臨界点 < rinkaiten\ ;
+商売気 < shoubaigi\ ;
+国憲法 < kokkenpou\ ;
+両陛下 < ryouheika\ ;
+限定版 < genteiban\ ;
+前車輪 < zensharin\ ;
+年嵩 < toshikasa\ ;
+羽毛布団 < umoufuton\ ;
+雄牛糞 < oushikuso\ ;
+不妊症 < funinshou\ ;
+変流器 < henryuuki\ ;
+初孫 < hatsumago\ ;
+出御 < shutsugyo\ ;
+針供養 < harikuyou\ ;
+微視的 < bishiteki\ ;
+監視塔 < kanshitou\ ;
+白玉 < shiratama\ ;
+占拠地 < senkyochi\ ;
+指向性 < shikousei\ ;
+一人用 < hitoriyou\ ;
+調馬場 < choubajou\ ;
+再輸入 < saiyunyuu\ ;
+綿津見 < watatsumi\ ;
+優良児 < yuuryouji\ ;
+浮動票 < fudouhyou\ ;
+先天性 < sentensei\ ;
+形成層 < keiseisou\ ;
+直撃 < chokugeki\ ;
+師範代 < shihandai\ ;
+年寄 < toshiyori\ ;
+休止符 < kyuushifu\ ;
+榎茸 < enokitake\ ;
+不面目 < fumenmoku\ ;
+船虫 < funamushi\ ;
+小糠雨 < konukaame\ ;
+本予算 < hon''yosan\ ;
+指南番 < shinanban\ ;
+自由業 < jiyuugyou\ ;
+禁輸品 < kin''yuhin\ ;
+司会者 < shikaisha\ ;
+投稿欄 < toukouran\ ;
+白熱 < hakunetsu\ ;
+極薄 < kyokuhaku\ ;
+白熊 < shirokuma\ ;
+挿話的 < souwateki\ ;
+割付 < waritsuke\ ;
+初夢 < hatsuyume\ ;
+道中記 < douchuuki\ ;
+半塩水 < han''ensui\ ;
+排他的 < haitateki\ ;
+大腸炎 < daichouen\ ;
+分室 < bunshitsu\ ;
+尼法師 < amahoushi\ ;
+定置網 < teichiami\ ;
+庶出 < shoshutsu\ ;
+入滅 < nyuumetsu\ ;
+芸能界 < geinoukai\ ;
+半濁音 < handakuon\ ;
+配管工 < haikankou\ ;
+割下 < warishita\ ;
+現代人 < gendaijin\ ;
+農漁民 < nougyomin\ ;
+市松 < ichimatsu\ ;
+女性学 < joseigaku\ ;
+乾燥地 < kansouchi\ ;
+分類法 < bunruihou\ ;
+利己主義 < rikoshugi\ ;
+石膏像 < sekkouzou\ ;
+影武者 < kagemusha\ ;
+活版本 < kappanbon\ ;
+仕事場 < shigotoba\ ;
+婦人服 < fujinfuku\ ;
+寝心地 < negokochi\ ;
+優男 < yasaotoko\ ;
+絵巻物 < emakimono\ ;
+不料簡 < furyouken\ ;
+化石層 < kasekisou\ ;
+晩餐会 < bansankai\ ;
+仕放題 < shihoudai\ ;
+案内状 < an''naijou\ ;
+多元的 < tagenteki\ ;
+制海権 < seikaiken\ ;
+交配種 < kouhaishu\ ;
+轢殺 < rekisatsu\ ;
+在住者 < zaijuusha\ ;
+成熟期 < seijukuki\ ;
+真実 < shinjitsu\ ;
+共和党 < kyouwatou\ ;
+平方根 < heihoukon\ ;
+諜報員 < chouhouin\ ;
+興奮剤 < koufunzai\ ;
+白滝 < shirataki\ ;
+先見者 < senkensha\ ;
+航空券 < koukuuken\ ;
+速口 < hayakuchi\ ;
+光電子 < koudenshi\ ;
+進入 < shin''nyuu\ ;
+儲物 < moukemono\ ;
+腰高 < koshidaka\ ;
+売国奴 < baikokudo\ ;
+繁分数 < hanbunsuu\ ;
+性行動 < seikoudou\ ;
+銀行券 < ginkouken\ ;
+橋桁 < hashigeta\ ;
+万万歳 < banbanzai\ ;
+骨質 < kosshitsu\ ;
+停船場 < teisenjou\ ;
+腰骨 < koshibone\ ;
+嘆願書 < tangansho\ ;
+再生産 < saiseisan\ ;
+地対地 < chitaichi\ ;
+修飾 < shuushoku\ ;
+文体論 < buntairon\ ;
+調査団 < chousadan\ ;
+白浪 < shiranami\ ;
+単行本 < tankoubon\ ;
+小夜曲 < sayokyoku\ ;
+出世間 < shusseken\ ;
+白浜 < shirahama\ ;
+艶種 < tsuyadane\ ;
+速力 < sokuryoku\ ;
+単行書 < tankousho\ ;
+一時間 < ichijikan\ ;
+温泉郷 < onsenkyou\ ;
+辻店 < tsujimise\ ;
+有名人 < yuumeijin\ ;
+後甲板 < koukanpan\ ;
+営利主義 < eirishugi\ ;
+弱体化 < jakutaika\ ;
+経済面 < keizaimen\ ;
+修験道 < shugendou\ ;
+茶所 < chadokoro\ ;
+往生際 < oujougiwa\ ;
+広口 < hirokuchi\ ;
+尺骨 < shakkotsu\ ;
+出塁 < shutsurui\ ;
+残存者 < zanzonsha\ ;
+航空便 < koukuubin\ ;
+核武装 < kakubusou\ ;
+目庇 < mabisashi\ ;
+白水 < shiromizu\ ;
+色神 < shikishin\ ;
+埋蔵金 < maizoukin\ ;
+孤立化 < koritsuka\ ;
+聖家族 < seikazoku\ ;
+泥炭地 < deitanchi\ ;
+外輪船 < gairinsen\ ;
+複利法 < fukurihou\ ;
+入植 < nyuushoku\ ;
+蒸留器 < jouryuuki\ ;
+鑑定書 < kanteisho\ ;
+製氷機 < seihyouki\ ;
+直属 < chokuzoku\ ;
+消費財 < shouhizai\ ;
+著作家 < chosakuka\ ;
+市販品 < shihanhin\ ;
+巻頭言 < kantougen\ ;
+凡失 < bonshitsu\ ;
+調理師 < chourishi\ ;
+六月 < rokugatsu\ ;
+真桑瓜 < makuwauri\ ;
+随従者 < zuijuusha\ ;
+一寸先 < issunsaki\ ;
+文学部 < bungakubu\ ;
+予約制 < yoyakusei\ ;
+線速度 < sensokudo\ ;
+平面形 < heimenkei\ ;
+複比例 < fukuhirei\ ;
+散水車 < sansuisha\ ;
+一時金 < ichijikin\ ;
+前年度 < zen''nendo\ ;
+無声映画 < museieiga\ ;
+入札 < nyuusatsu\ ;
+発行者 < hakkousha\ ;
+停留所 < teiryuujo\ ;
+宮城県 < miyagiken\ ;
+前前回 < zenzenkai\ ;
+燗徳利 < kandokuri\ ;
+死刑場 < shikeijou\ ;
+山道 < yamamichi\ ;
+巻子本 < kanshihon\ ;
+退出 < taishutsu\ ;
+楽節 < gakusetsu\ ;
+常夏 < tokonatsu\ ;
+町議会 < chougikai\ ;
+申達 < shintatsu\ ;
+人生観 < jinseikan\ ;
+真珠貝 < shinjugai\ ;
+若松 < wakamatsu\ ;
+局長 < kyokuchou\ ;
+鬼瓦 < onigawara\ ;
+帝室 < teishitsu\ ;
+京都市 < kyoutoshi\ ;
+雨台風 < ametaifuu\ ;
+自由形 < jiyuugata\ ;
+免許制 < menkyosei\ ;
+雑報欄 < zappouran\ ;
+愛党心 < aitoushin\ ;
+防止法 < boushihou\ ;
+補助漢字 < hojokanji\ ;
+床下 < yukashita\ ;
+選挙法 < senkyohou\ ;
+和英辞書 < waeijisho\ ;
+着信 < chakushin\ ;
+天井裏 < tenjouura\ ;
+半陰影 < han''in''ei\ ;
+最重点 < saijuuten\ ;
+一対一 < ittaiichi\ ;
+白札 < shirofuda\ ;
+切入 < setsunyuu\ ;
+標札 < hyousatsu\ ;
+出動 < shutsudou\ ;
+迫力 < hakuryoku\ ;
+屑鉄 < kuzutetsu\ ;
+髪綱 < kamidzuna\ ;
+選挙民 < senkyomin\ ;
+逐一 < chikuichi\ ;
+教唆者 < kyousasha\ ;
+料理人 < ryourinin\ ;
+自由席 < jiyuuseki\ ;
+月刊誌 < gekkanshi\ ;
+侵食 < shinshoku\ ;
+不熟練 < fujukuren\ ;
+古典的 < kotenteki\ ;
+花氷 < hanagoori\ ;
+俄雨 < niwakaame\ ;
+変死者 < henshisha\ ;
+本格化 < honkakuka\ ;
+仕上工 < shiagekou\ ;
+牡丹杏 < botankyou\ ;
+平方形 < heihoukei\ ;
+変化球 < henkakyuu\ ;
+遠隔視 < enkakushi\ ;
+茶室 < chashitsu\ ;
+雑記帳 < zakkichou\ ;
+在校生 < zaikousei\ ;
+白日 < hakujitsu\ ;
+侠骨 < kyoukotsu\ ;
+同位元素 < douigenso\ ;
+摩擦音 < masatsuon\ ;
+少食 < shoushoku\ ;
+巳年 < hebidoshi\ ;
+蛍烏賊 < hotaruika\ ;
+艶物 < tsuyamono\ ;
+再生法 < saiseihou\ ;
+多発機 < tahatsuki\ ;
+冷奴 < hiyayakko\ ;
+活版屋 < kappan''ya\ ;
+金剛手 < kongoushu\ ;
+被害額 < higaigaku\ ;
+再従兄弟 < futaitoko\ ;
+選挙権 < senkyoken\ ;
+基本給 < kihonkyuu\ ;
+非金属 < hikinzoku\ ;
+小頭 < kogashira\ ;
+猩猩緋 < shoujouhi\ ;
+回教徒 < kaikyouto\ ;
+指示先 < shijisaki\ ;
+備忘録 < bibouroku\ ;
+砂糖黍 < satoukibi\ ;
+案内書 < an''naisho\ ;
+功労金 < kouroukin\ ;
+被差別 < hisabetsu\ ;
+痘痕面 < abatazura\ ;
+朱文金 < shubunkin\ ;
+不謹慎 < fukinshin\ ;
+肝硬変 < kankouhen\ ;
+末期的 < makkiteki\ ;
+礼奉公 < reiboukou\ ;
+協技者 < kyougisha\ ;
+多足類 < tasokurui\ ;
+屈辱 < kutsujoku\ ;
+神秘性 < shinpisei\ ;
+沸騰点 < futtouten\ ;
+養魚池 < yougyochi\ ;
+魔法的 < mahouteki\ ;
+亜鉛凸版 < aentoppan\ ;
+製氷所 < seihyoujo\ ;
+関西弁 < kansaiben\ ;
+骨膜 < kotsumaku\ ;
+八千草 < yachigusa\ ;
+町角 < machikado\ ;
+辻君 < tsujigimi\ ;
+省力 < shouryoku\ ;
+鯉幟 < koinobori\ ;
+道交法 < doukouhou\ ;
+野菜汁 < yasaijiru\ ;
+斡旋料 < assenryou\ ;
+赤鰯 < akaiwashi\ ;
+航海士 < koukaishi\ ;
+浮動株 < fudoukabu\ ;
+骨肉 < kotsuniku\ ;
+内室 < naishitsu\ ;
+混交林 < konkourin\ ;
+模範囚 < mohanshuu\ ;
+川岸 < kawagishi\ ;
+講義録 < kougiroku\ ;
+幕下 < makushita\ ;
+目印 < mejirushi\ ;
+生存者 < seizonsha\ ;
+尻軽 < shirigaru\ ;
+不謬性 < fubyuusei\ ;
+導電性 < doudensei\ ;
+改革案 < kaikakuan\ ;
+磁気浮上 < jikifujou\ ;
+男衆 < otokoshuu\ ;
+法改正 < houkaisei\ ;
+生産性 < seisansei\ ;
+鰐口 < waniguchi\ ;
+上中下 < jouchuuge\ ;
+信越 < shin''etsu\ ;
+俊逸 < shun''itsu\ ;
+給水所 < kyuusuijo\ ;
+猜疑心 < saigishin\ ;
+不調法 < buchouhou\ ;
+属託 < shokutaku\ ;
+盲判 < mekuraban\ ;
+受動的 < judouteki\ ;
+調理台 < chouridai\ ;
+空閑地 < kuukanchi\ ;
+労働祭 < roudousai\ ;
+再来週 < saraishuu\ ;
+色沢 < shikitaku\ ;
+六尺 < rokushaku\ ;
+代表部 < daihyoubu\ ;
+僅少差 < kinshousa\ ;
+周期性 < shuukisei\ ;
+飛行服 < hikoufuku\ ;
+不特定 < futokutei\ ;
+表面化 < hyoumenka\ ;
+市有地 < shiyuuchi\ ;
+標準語 < hyoujungo\ ;
+辛口 < karakuchi\ ;
+水平面 < suiheimen\ ;
+交通路 < koutsuuro\ ;
+消費者 < shouhisha\ ;
+古道具 < furudougu\ ;
+基本的 < kihonteki\ ;
+草団子 < kusadango\ ;
+真珠色 < shinjuiro\ ;
+統帥権 < tousuiken\ ;
+色欲 < shikiyoku\ ;
+練習機 < renshuuki\ ;
+極熱 < gokunetsu\ ;
+跳虫 < tobimushi\ ;
+昇降舵 < shoukouda\ ;
+兵庫県 < hyougoken\ ;
+公海上 < koukaijou\ ;
+激戦区 < gekisenku\ ;
+儀礼的 < gireiteki\ ;
+有平糖 < aruheitou\ ;
+痛烈 < tsuuretsu\ ;
+交通費 < koutsuuhi\ ;
+臣節 < shinsetsu\ ;
+金魚草 < kingyosou\ ;
+着火点 < chakkaten\ ;
+選挙戦 < senkyosen\ ;
+骨箱 < kotsubako\ ;
+宗主権 < soushuken\ ;
+水酸根 < suisankon\ ;
+赤十字 < sekijuuji\ ;
+蓄音機 < chikuonki\ ;
+俗説 < zokusetsu\ ;
+自尊心 < jisonshin\ ;
+表記法 < hyoukihou\ ;
+露天商 < rotenshou\ ;
+休廷日 < kyuuteibi\ ;
+飲酒癖 < inshuheki\ ;
+一斉高 < isseidaka\ ;
+処刑台 < shokeidai\ ;
+冷房車 < reibousha\ ;
+検疫所 < ken''ekijo\ ;
+照度計 < shoudokei\ ;
+収税吏 < shuuzeiri\ ;
+喉自慢 < nodojiman\ ;
+金看板 < kinkanban\ ;
+散弾銃 < sandanjuu\ ;
+儲役 < moukeyaku\ ;
+培養液 < baiyoueki\ ;
+天狗風 < tengukaze\ ;
+一本杉 < ipponsugi\ ;
+測微計 < sokubikei\ ;
+風致林 < fuuchirin\ ;
+地理学 < chirigaku\ ;
+美食家 < bishokuka\ ;
+尿道炎 < nyoudouen\ ;
+螳螂拳 < tourouken\ ;
+調理人 < chourinin\ ;
+喫煙所 < kitsuenjo\ ;
+時分時 < jibundoki\ ;
+供述 < kyoujutsu\ ;
+八重桜 < yaezakura\ ;
+南蛮船 < nanbansen\ ;
+豌豆豆 < endoumame\ ;
+峻烈 < shunretsu\ ;
+男腹 < otokobara\ ;
+回数券 < kaisuuken\ ;
+製造者 < seizousha\ ;
+重役会 < juuyakkai\ ;
+北欧人 < hokuoujin\ ;
+一人子 < hitorikko\ ;
+極流 < kyokuryuu\ ;
+死生観 < shiseikan\ ;
+炭疽病 < tansobyou\ ;
+白地図 < hakuchizu\ ;
+略章 < ryakushou\ ;
+鼈甲色 < bekkouiro\ ;
+乗車券 < joushaken\ ;
+測程器 < sokuteiki\ ;
+円舞曲 < enbukyoku\ ;
+良日 < ryoujitsu\ ;
+消費税 < shouhizei\ ;
+壁一重 < kabehitoe\ ;
+四面体 < shimentai\ ;
+左前 < hidarimae\ ;
+在来線 < zairaisen\ ;
+大理石 < dairiseki\ ;
+生産地 < seisanchi\ ;
+対質 < taishitsu\ ;
+不法移民 < fuhouimin\ ;
+片田舎 < katainaka\ ;
+複写機 < fukushaki\ ;
+小説 < shousetsu\ ;
+風俗画 < fuuzokuga\ ;
+左党 < hidaritou\ ;
+脇道 < wakimichi\ ;
+側面図 < sokumenzu\ ;
+棹秤 < saobakari\ ;
+越権行為 < ekkenkoui\ ;
+言語学 < gengogaku\ ;
+巡航船 < junkousen\ ;
+原始林 < genshirin\ ;
+至上権 < shijouken\ ;
+小売商 < kourishou\ ;
+桜貝 < sakuragai\ ;
+統制品 < touseihin\ ;
+病没 < byoubotsu\ ;
+第一審 < daiisshin\ ;
+紅毛人 < koumoujin\ ;
+船橋 < funabashi\ ;
+謄写版 < toushaban\ ;
+控訴審 < kousoshin\ ;
+中古車 < chuukosha\ ;
+髪油 < kamiabura\ ;
+新紀元 < shinkigen\ ;
+練習所 < renshuujo\ ;
+立方根 < rippoukon\ ;
+短音階 < tan''onkai\ ;
+主意主義 < shuishugi\ ;
+宣誓書 < senseisho\ ;
+二拍子 < nibyoushi\ ;
+労農党 < rounoutou\ ;
+彼岸花 < higanbana\ ;
+忠魂碑 < chuukonhi\ ;
+有効性 < yuukousei\ ;
+三日月 < mikadzuki\ ;
+発振機 < hasshinki\ ;
+自己検査 < jikokensa\ ;
+総務庁 < soumuchou\ ;
+病欠 < byouketsu\ ;
+八切 < yatsugiri\ ;
+流行語 < ryuukougo\ ;
+内鮮人 < naisenjin\ ;
+入力 < nyuuryoku\ ;
+生理的 < seiriteki\ ;
+名誉慾 < meiyoyoku\ ;
+努力家 < doryokuka\ ;
+在来種 < zairaishu\ ;
+町筋 < machisuji\ ;
+多事多難 < tajitanan\ ;
+加硫法 < karyuuhou\ ;
+大家族 < daikazoku\ ;
+景教徒 < keikyouto\ ;
+ＡＢＣ順 < ēbīshījun\ ;
+脂足 < aburaashi\ ;
+町立 < chouritsu\ ;
+高積雲 < kousekiun\ ;
+意気揚揚 < ikiyouyou\ ;
+乗船券 < jousenken\ ;
+脚註 < kyakuchuu\ ;
+再審査 < saishinsa\ ;
+用語集 < yougoshuu\ ;
+極月 < gokugetsu\ ;
+負傷者 < fushousha\ ;
+脂質 < shishitsu\ ;
+労働法 < roudouhou\ ;
+汎用機 < han''youki\ ;
+舟橋 < funahashi\ ;
+供血 < kyouketsu\ ;
+名誉心 < meiyoshin\ ;
+鑑定人 < kanteinin\ ;
+川下 < kawashimo\ ;
+投票日 < touhyoubi\ ;
+先行詞 < senkoushi\ ;
+独演会 < dokuenkai\ ;
+音韻学 < on''ingaku\ ;
+功労者 < kourousha\ ;
+実録 < jitsuroku\ ;
+脳細胞 < nousaibou\ ;
+美文調 < bibunchou\ ;
+明細書 < meisaisho\ ;
+男文字 < otokomoji\ ;
+和英辞典 < waeijiten\ ;
+総勘定 < soukanjou\ ;
+色弱 < shikijaku\ ;
+回覧板 < kairanban\ ;
+任命状 < ninmeijou\ ;
+発出 < hasshutsu\ ;
+上納金 < jounoukin\ ;
+拷問台 < goumondai\ ;
+腰縄 < koshinawa\ ;
+生節 < namabushi\ ;
+上奏文 < jousoubun\ ;
+自責点 < jisekiten\ ;
+足腰 < ashikoshi\ ;
+助監督 < jokantoku\ ;
+入仏 < nyuubutsu\ ;
+処生訓 < shoseikun\ ;
+入交 < irimajiri\ ;
+腰紐 < koshihimo\ ;
+本試験 < honshiken\ ;
+外信部 < gaishinbu\ ;
+修築 < shuuchiku\ ;
+一人前 < hitorimae\ ;
+労働権 < roudouken\ ;
+肉食 < nikushoku\ ;
+地球儀 < chikyuugi\ ;
+地上権 < chijouken\ ;
+信約 < shin''yaku\ ;
+金屏風 < kinbyoubu\ ;
+導電体 < doudentai\ ;
+共益費 < kyouekihi\ ;
+脱落 < datsuraku\ ;
+不意試験 < fuishiken\ ;
+馬鹿面 < bakadzura\ ;
+土用波 < doyounami\ ;
+総選挙 < sousenkyo\ ;
+制御盤 < seigyoban\ ;
+心意気 < kokoroiki\ ;
+模範試合 < mohanjiai\ ;
+重労働 < juuroudou\ ;
+手榴弾 < teryuudan\ ;
+一枚上 < ichimaiue\ ;
+天井灯 < tenjoutou\ ;
+養魚場 < yougyojou\ ;
+投票所 < touhyoujo\ ;
+輩出 < haishutsu\ ;
+座標系 < zahyoukei\ ;
+円借款 < enshakkan\ ;
+絶対論 < zettairon\ ;
+捕虫網 < hochuuami\ ;
+出来星 < dekiboshi\ ;
+二重母音 < nijuuboin\ ;
+花柳界 < karyuukai\ ;
+公民権 < kouminken\ ;
+如何許 < ikabakari\ ;
+清教徒 < seikyouto\ ;
+紫外線 < shigaisen\ ;
+修祓 < shuufutsu\ ;
+同好会 < doukoukai\ ;
+洗車場 < senshajou\ ;
+展望車 < tenbousha\ ;
+学閥 < gakubatsu\ ;
+暗号帳 < angouchou\ ;
+位負 < kuraimake\ ;
+苗代 < nawashiro\ ;
+山男 < yamaotoko\ ;
+幌馬車 < horobasha\ ;
+大企業 < daikigyou\ ;
+売笑婦 < baishoufu\ ;
+採点者 < saitensha\ ;
+栄耀栄華 < eiyoueiga\ ;
+間隙比 < kangekihi\ ;
+壮行会 < soukoukai\ ;
+再生品 < saiseihin\ ;
+公社債 < koushasai\ ;
+桜草 < sakurasou\ ;
+客足 < kyakuashi\ ;
+属目 < shokumoku\ ;
+未来学 < miraigaku\ ;
+俗筆 < zokuhitsu\ ;
+末始終 < sueshijuu\ ;
+償却 < shoukyaku\ ;
+潜水艦 < sensuikan\ ;
+水道管 < suidoukan\ ;
+母語話者 < bogowasha\ ;
+天理教 < tenrikyou\ ;
+楽律 < gakuritsu\ ;
+桜色 < sakurairo\ ;
+予想高 < yosoudaka\ ;
+手柄顔 < tegaragao\ ;
+手芸品 < shugeihin\ ;
+平衡錘 < heikousui\ ;
+抗毒素 < koudokuso\ ;
+小羊 < kohitsuji\ ;
+大豆粕 < daizukasu\ ;
+研究費 < kenkyuuhi\ ;
+実質 < jisshitsu\ ;
+知能犯 < chinouhan\ ;
+選手権 < senshuken\ ;
+麝香鹿 < jakoujika\ ;
+海岸線 < kaigansen\ ;
+貿易港 < bouekikou\ ;
+暦年度 < rekinendo\ ;
+天宮図 < tenkyuuzu\ ;
+有権者 < yuukensha\ ;
+体裁上 < teisaijou\ ;
+伊達男 < dateotoko\ ;
+休刊日 < kyuukanbi\ ;
+肘鉄 < hijitetsu\ ;
+賃餅 < chinmochi\ ;
+古典学 < kotengaku\ ;
+宝貝 < takaragai\ ;
+軽口 < karukuchi\ ;
+改訂版 < kaiteiban\ ;
+生存権 < seizonken\ ;
+超脱 < choudatsu\ ;
+該問題 < gaimondai\ ;
+暗号学 < angougaku\ ;
+代行者 < daikousha\ ;
+男物 < otokomono\ ;
+八千歳 < yachitose\ ;
+口真似 < kuchimane\ ;
+出版部 < shuppanbu\ ;
+職長 < shokuchou\ ;
+観測所 < kansokujo\ ;
+経済界 < keizaikai\ ;
+不熱心 < funesshin\ ;
+公法人 < kouhoujin\ ;
+休眠期 < kyuuminki\ ;
+副総理 < fukusouri\ ;
+伴奏者 < bansousha\ ;
+対談者 < taidansha\ ;
+貿易法 < bouekihou\ ;
+園遊会 < en''yuukai\ ;
+賛成者 < sanseisha\ ;
+仏顔 < hotokegao\ ;
+芸能人 < geinoujin\ ;
+分譲地 < bunjouchi\ ;
+屈光性 < kukkousei\ ;
+真珠湾 < shinjuwan\ ;
+仏領 < futsuryou\ ;
+交通禍 < koutsuuka\ ;
+拝火教 < haikakyou\ ;
+箇条書 < kajougaki\ ;
+略歴 < ryakureki\ ;
+選挙人 < senkyonin\ ;
+酪農家 < rakunouka\ ;
+工芸品 < kougeihin\ ;
+未来型 < miraigata\ ;
+弁鰓類 < bensairui\ ;
+無資格 < mushikaku\ ;
+任命権 < ninmeiken\ ;
+虫垂炎 < chuusuien\ ;
+骨柄 < kotsugara\ ;
+木戸御免 < kidogomen\ ;
+破落戸 < gorotsuki\ ;
+緩下薬 < kangeyaku\ ;
+有機的 < yuukiteki\ ;
+赤色 < sekishoku\ ;
+正反対 < seihantai\ ;
+尻癖 < shirikuse\ ;
+青海原 < aounabara\ ;
+凹面鏡 < oumenkyou\ ;
+報道陣 < houdoujin\ ;
+極小 < kyokushou\ ;
+劣勢感 < resseikan\ ;
+自己疎外 < jikosogai\ ;
+俵物 < hyoumotsu\ ;
+御料地 < goryouchi\ ;
+生爪 < namadzume\ ;
+松風 < matsukaze\ ;
+計算者 < keisansha\ ;
+無駄口 < mudaguchi\ ;
+李承晩 < rishouban\ ;
+超絶 < chouzetsu\ ;
+船室 < senshitsu\ ;
+福音書 < fukuinsho\ ;
+八卦掌 < hakkeshou\ ;
+自主的 < jishuteki\ ;
+進歩党 < shinpotou\ ;
+相反性 < souhansei\ ;
+能動態 < noudoutai\ ;
+司令官 < shireikan\ ;
+地震計 < jishinkei\ ;
+紙一重 < kamihitoe\ ;
+水加減 < mizukagen\ ;
+出版費 < shuppanhi\ ;
+果報者 < kahoumono\ ;
+成長期 < seichouki\ ;
+腺熱 < sen''netsu\ ;
+浄土教 < joudokyou\ ;
+束髪 < sokuhatsu\ ;
+転出 < tenshutsu\ ;
+天井板 < tenjouita\ ;
+集塵機 < shuujinki\ ;
+凌波性 < ryouhasei\ ;
+快男子 < kaidanshi\ ;
+天狗茸 < tengutake\ ;
+狙撃兵 < sogekihei\ ;
+外輪山 < gairinzan\ ;
+昇降機 < shoukouki\ ;
+基礎控除 < kisokoujo\ ;
+島島 < shimajima\ ;
+放火狂 < houkakyou\ ;
+風馬牛 < fuubagyuu\ ;
+陶器商 < toukishou\ ;
+略服 < ryakufuku\ ;
+三塁線 < sanruisen\ ;
+島山 < shimayama\ ;
+道義心 < dougishin\ ;
+超時空 < choujikuu\ ;
+微粒子 < biryuushi\ ;
+水平線 < suiheisen\ ;
+再尋問 < saijinmon\ ;
+鬱勃 < utsubotsu\ ;
+東雲 < shinonome\ ;
+生滅 < shoumetsu\ ;
+清掃車 < seisousha\ ;
+俗物 < zokubutsu\ ;
+脱硫 < datsuryuu\ ;
+脈絡 < myakuraku\ ;
+一定温度 < itteiondo\ ;
+最前線 < saizensen\ ;
+絶対者 < zettaisha\ ;
+正確度 < seikakudo\ ;
+氷削機 < hyousakki\ ;
+分解能 < bunkainou\ ;
+四角形 < shikakkei\ ;
+宣言書 < sengensho\ ;
+司令塔 < shireitou\ ;
+学識 < gakushiki\ ;
+立太子 < rittaishi\ ;
+有蹄類 < yuuteirui\ ;
+使用者 < shiyousha\ ;
+侵略 < shinryaku\ ;
+天上界 < tenjoukai\ ;
+青海亀 < aoumigame\ ;
+来遊者 < raiyuusha\ ;
+巨人軍 < kyojingun\ ;
+学部生 < gakubusei\ ;
+工学部 < kougakubu\ ;
+教科書 < kyoukasho\ ;
+経済法 < keizaihou\ ;
+破傷風 < hashoufuu\ ;
+職責 < shokuseki\ ;
+持参人 < jisan''nin\ ;
+総督府 < soutokufu\ ;
+日本髪 < nihongami\ ;
+艶事 < tsuyagoto\ ;
+制御棒 < seigyobou\ ;
+検案書 < ken''ansho\ ;
+玉鴫 < tamashigi\ ;
+歩道橋 < hodoukyou\ ;
+地方紙 < chihoushi\ ;
+日傭取 < hiyoutori\ ;
+地獄変 < jigokuhen\ ;
+合奏団 < gassoudan\ ;
+瓦版 < kawaraban\ ;
+天井扇 < tenjousen\ ;
+傷口 < kizuguchi\ ;
+全反射 < zenhansha\ ;
+密約 < mitsuyaku\ ;
+変速機 < hensokuki\ ;
+無理式 < murishiki\ ;
+軽労働 < keiroudou\ ;
+学術 < gakujutsu\ ;
+正反合 < seihangou\ ;
+経済欄 < keizairan\ ;
+軒下 < nokishita\ ;
+車代 < kurumadai\ ;
+借料 < shakuryou\ ;
+生字引 < ikijibiki\ ;
+投票区 < touhyouku\ ;
+人達 < hitotachi\ ;
+木曜日 < mokuyoubi\ ;
+出木年 < dekidoshi\ ;
+候文 < souroubun\ ;
+碓氷峠 < usuitouge\ ;
+寺男 < teraotoko\ ;
+加入金 < kanyuukin\ ;
+民間人 < minkanjin\ ;
+公募株 < koubokabu\ ;
+極北 < kyokuhoku\ ;
+乗馬服 < joubafuku\ ;
+脱獄 < datsugoku\ ;
+日本領 < nihonryou\ ;
+著書名 < choshomei\ ;
+経営学 < keieigaku\ ;
+白鉛鉱 < hakuenkou\ ;
+町方 < machikata\ ;
+粗目糖 < zarametou\ ;
+手前味噌 < temaemiso\ ;
+内玄関 < naigenkan\ ;
+地方税 < chihouzei\ ;
+高坏 < takatsuki\ ;
+巡査長 < junsachou\ ;
+印刷機 < insatsuki\ ;
+凍死者 < toushisha\ ;
+白銅貨 < hakudouka\ ;
+貸賃 < kashichin\ ;
+原始人 < genshijin\ ;
+加工賃 < kakouchin\ ;
+允文允武 < inbuninbu\ ;
+竹輪麩 < chikuwafu\ ;
+一方的 < ippouteki\ ;
+出仕事 < deshigoto\ ;
+正念場 < shounenba\ ;
+倉敷 < kurashiki\ ;
+乞食 < kotsujiki\ ;
+柔道場 < juudoujou\ ;
+脊髄炎 < sekizuien\ ;
+二重釜 < nijuugama\ ;
+立方体 < rippoutai\ ;
+伸縮 < shinshuku\ ;
+遠隔性 < enkakusei\ ;
+軽歌劇 < keikageki\ ;
+制動灯 < seidoutou\ ;
+催眠剤 < saiminzai\ ;
+今一度 < imaichido\ ;
+攻防戦 < koubousen\ ;
+浄土宗 < joudoshuu\ ;
+操縦桿 < soujuukan\ ;
+文明館 < bunmeikan\ ;
+導関数 < doukansuu\ ;
+滞在地 < taizaichi\ ;
+人質 < hitojichi\ ;
+朝食 < choushoku\ ;
+上納米 < jounoumai\ ;
+宇宙服 < uchuufuku\ ;
+利口者 < rikoumono\ ;
+方法論 < houhouron\ ;
+蓋然性 < gaizensei\ ;
+半製品 < hanseihin\ ;
+峻別 < shunbetsu\ ;
+一場面 < ichibamen\ ;
+石版画 < sekibanga\ ;
+登録簿 < tourokubo\ ;
+自暴自棄 < jiboujiki\ ;
+一昨晩 < issakuban\ ;
+届書 < todokesho\ ;
+客筋 < kyakusuji\ ;
+多極化 < takyokuka\ ;
+大一番 < ooichiban\ ;
+衛星国 < eiseikoku\ ;
+相撲部屋 < sumoubeya\ ;
+服飾 < fukushoku\ ;
+傑出 < kesshutsu\ ;
+休職 < kyuushoku\ ;
+下級生 < kakyuusei\ ;
+標準時 < hyoujunji\ ;
+二道 < futamichi\ ;
+高齢者 < koureisha\ ;
+一丁前 < itchoumae\ ;
+船主 < funanushi\ ;
+食通 < shokutsuu\ ;
+横恋慕 < yokorenbo\ ;
+財産税 < zaisanzei\ ;
+自己保存 < jikohozon\ ;
+二重身 < nijuushin\ ;
+客種 < kyakudane\ ;
+賊虐 < zokugyaku\ ;
+生理学 < seirigaku\ ;
+熱器具 < netsukigu\ ;
+寒冷紗 < kanreisha\ ;
+水道栓 < suidousen\ ;
+探索木 < tansakugi\ ;
+研究科 < kenkyuuka\ ;
+乳鉢 < nyuubachi\ ;
+月額 < getsugaku\ ;
+実施例 < jisshirei\ ;
+長音階 < chouonkai\ ;
+不評判 < fuhyouban\ ;
+月頃 < tsukigoro\ ;
+選手団 < senshudan\ ;
+作男 < sakuotoko\ ;
+多事多端 < tajitatan\ ;
+功利的 < kouriteki\ ;
+天球儀 < tenkyuugi\ ;
+男役 < otokoyaku\ ;
+真珠層 < shinjusou\ ;
+平均点 < heikinten\ ;
+上鶲 < joubitaki\ ;
+腕枕 < udemakura\ ;
+連合会 < rengoukai\ ;
+工業化 < kougyouka\ ;
+赤道儀 < sekidougi\ ;
+赤熱 < sekinetsu\ ;
+文学座 < bungakuza\ ;
+曖昧模糊 < aimaimoko\ ;
+舌先 < shitasaki\ ;
+労働党 < roudoutou\ ;
+腹持 < haramochi\ ;
+経済戦 < keizaisen\ ;
+珍説 < chinsetsu\ ;
+米空軍 < beikuugun\ ;
+敷居置 < shikiichi\ ;
+付落 < tsukeochi\ ;
+配当金 < haitoukin\ ;
+腰掛 < koshikake\ ;
+久闊 < kyuukatsu\ ;
+飛蚊症 < hibunshou\ ;
+密猟 < mitsuryou\ ;
+赤痢菌 < sekirikin\ ;
+五十肩 < gojuukata\ ;
+高等官 < koutoukan\ ;
+地方版 < chihouban\ ;
+申年 < sarudoshi\ ;
+材質 < zaishitsu\ ;
+片脳油 < hen''nouyu\ ;
+松蝉 < matsuzemi\ ;
+事務次官 < jimujikan\ ;
+奉行所 < bugyousho\ ;
+肯定文 < kouteibun\ ;
+京表 < kyouomote\ ;
+芳香剤 < houkouzai\ ;
+火災流 < kasairyuu\ ;
+印刷所 < insatsujo\ ;
+梅暦 < umegoyomi\ ;
+大聖堂 < daiseidou\ ;
+経済性 < keizaisei\ ;
+蛇紋石 < jamonseki\ ;
+流行歌 < ryuukouka\ ;
+作物 < sakumotsu\ ;
+賞罰 < shoubatsu\ ;
+三角洲 < sankakusu\ ;
+室町 < muromachi\ ;
+三文判 < sanmonban\ ;
+三角波 < sankakuha\ ;
+実際性 < jissaisei\ ;
+竹矢来 < takeyarai\ ;
+平行線 < heikousen\ ;
+葱坊主 < negibouzu\ ;
+孫弟子 < magodeshi\ ;
+容積比 < yousekihi\ ;
+主眼点 < shuganten\ ;
+遠隔地 < enkakuchi\ ;
+三角比 < sankakuhi\ ;
+小曲 < shoukyoku\ ;
+長時間 < choujikan\ ;
+半端者 < hanpamono\ ;
+独禁法 < dokkinhou\ ;
+広告費 < koukokuhi\ ;
+検出 < kenshutsu\ ;
+最優遇 < saiyuuguu\ ;
+台風眼 < taifuugan\ ;
+未教育 < mikyouiku\ ;
+俊抜 < shunbatsu\ ;
+裁断師 < saidanshi\ ;
+肉筆 < nikuhitsu\ ;
+全単射 < zentansha\ ;
+腰弱 < koshiyowa\ ;
+効果的 < koukateki\ ;
+空手形 < kuutegata\ ;
+印刻師 < inkokushi\ ;
+胆玉 < kimottama\ ;
+青年輩 < seinenhai\ ;
+割烹店 < kappouten\ ;
+松茸 < matsutake\ ;
+貿易品 < bouekihin\ ;
+削岩機 < sakuganki\ ;
+桜桃 < sakuranbo\ ;
+寂滅 < jakumetsu\ ;
+本質 < honshitsu\ ;
+完了後 < kanryougo\ ;
+大上段 < daijoudan\ ;
+園芸学 < engeigaku\ ;
+指相撲 < yubizumou\ ;
+気宇広大 < kiukoudai\ ;
+肩甲帯 < kenkoutai\ ;
+正当性 < seitousei\ ;
+産室 < sanshitsu\ ;
+砂糖水 < satoumizu\ ;
+方錐形 < housuikei\ ;
+相当数 < soutousuu\ ;
+腰布 < koshinuno\ ;
+腰巻 < koshimaki\ ;
+佃煮 < tsukudani\ ;
+醸造酒 < jouzoushu\ ;
+左中間 < sachuukan\ ;
+伝令者 < denreisha\ ;
+木綿針 < momenbari\ ;
+桁橋 < ketabashi\ ;
+木版画 < mokuhanga\ ;
+検査役 < kensayaku\ ;
+忘年会 < bounenkai\ ;
+宇宙学 < uchuugaku\ ;
+朴訥 < bokutotsu\ ;
+食虫 < shokuchuu\ ;
+真理値 < shinrichi\ ;
+配水管 < haisuikan\ ;
+太陽風 < taiyoufuu\ ;
+松脂 < matsuyani\ ;
+七難 < shichinan\ ;
+使用法 < shiyouhou\ ;
+印刷屋 < insatsuya\ ;
+音声学 < onseigaku\ ;
+伊達女 < dateon''na\ ;
+男坂 < otokozaka\ ;
+宿泊 < shukuhaku\ ;
+伯爵 < hakushaku\ ;
+梓弓 < azusayumi\ ;
+副詞句 < fukushiku\ ;
+実数体 < jissuutai\ ;
+多数意見 < tasuuiken\ ;
+餅肌 < mochihada\ ;
+裏長屋 < uranagaya\ ;
+東工大 < toukoudai\ ;
+居室 < kyoshitsu\ ;
+額際 < hitaigiwa\ ;
+留別 < ryuubetsu\ ;
+歯科医師 < shikaishi\ ;
+花時計 < hanadokei\ ;
+製造品 < seizouhin\ ;
+計算書 < keisansho\ ;
+制動手 < seidoushu\ ;
+不規律 < fukiritsu\ ;
+口腔癌 < koukougan\ ;
+回答者 < kaitousha\ ;
+単従陣 < tanjuujin\ ;
+反英雄 < han''eiyuu\ ;
+主権者 < shukensha\ ;
+大本山 < daihonzan\ ;
+中和剤 < chuuwazai\ ;
+慈善箱 < jizenbako\ ;
+最左翼 < saisayoku\ ;
+三角旗 < sankakuki\ ;
+美化運動 < bikaundou\ ;
+加入者 < kanyuusha\ ;
+裾模様 < susomoyou\ ;
+一隻眼 < issekigan\ ;
+使用権 < shiyouken\ ;
+近体詩 < kintaishi\ ;
+天狼星 < tenrousei\ ;
+贈物 < okurimono\ ;
+再犯者 < saihansha\ ;
+哨戒機 < shoukaiki\ ;
+通過駅 < tsuukaeki\ ;
+大人共 < otonadomo\ ;
+駐日 < chuunichi\ ;
+苦心談 < kushindan\ ;
+操縦士 < soujuushi\ ;
+真珠光 < shinjukou\ ;
+柿渋 < kakishibu\ ;
+速度計 < sokudokei\ ;
+無責任 < musekinin\ ;
+播但線 < bantansen\ ;
+聖誕祭 < seitansai\ ;
+無一文 < muichimon\ ;
+常分数 < joubunsuu\ ;
+下金 < shitagane\ ;
+中越 < chuugoshi\ ;
+再考慮 < saikouryo\ ;
+儀典長 < gitenchou\ ;
+工学科 < kougakuka\ ;
+自己主義 < jikoshugi\ ;
+媒質 < baishitsu\ ;
+交歓会 < koukankai\ ;
+天象儀 < tenshougi\ ;
+乾草 < hoshigusa\ ;
+琴爪 < kotodzume\ ;
+腰垣 < koshigaki\ ;
+引用文 < in''youbun\ ;
+係官 < kakarikan\ ;
+荒法師 < arahoushi\ ;
+脈搏 < myakuhaku\ ;
+玉虫 < tamamushi\ ;
+生唾 < namatsuba\ ;
+実行委員 < jikkouiin\ ;
+療養費 < ryouyouhi\ ;
+機関長 < kikanchou\ ;
+向地性 < kouchisei\ ;
+凱旋門 < gaisenmon\ ;
+食肉 < shokuniku\ ;
+設備費 < setsubihi\ ;
+松笠 < matsukasa\ ;
+裁縫師 < saihoushi\ ;
+財産権 < zaisanken\ ;
+投石機 < tousekiki\ ;
+愛校心 < aikoushin\ ;
+伏魔殿 < fukumaden\ ;
+茶器組 < chakigumi\ ;
+三塁手 < sanruishu\ ;
+七道 < shichidou\ ;
+虚無的 < kyomuteki\ ;
+申入 < moushiire\ ;
+伝導性 < dendousei\ ;
+客様 < kyakusama\ ;
+文字列 < mojiretsu\ ;
+反芻類 < hansuurui\ ;
+定型詩 < teikeishi\ ;
+水菓子 < mizugashi\ ;
+借主 < karinushi\ ;
+黍団子 < kibidango\ ;
+軟口蓋 < nankougai\ ;
+乾肉 < hoshiniku\ ;
+闇相場 < yamisouba\ ;
+宿料 < shukuryou\ ;
+実業 < jitsugyou\ ;
+合気道家 < aikidouka\ ;
+宿敵 < shukuteki\ ;
+宇宙博 < uchuuhaku\ ;
+七輪 < shichirin\ ;
+産出 < sanshutsu\ ;
+芥子菜 < karashina\ ;
+珍道具 < chindougu\ ;
+何日 < nan''nichi\ ;
+質点 < shitsuten\ ;
+黄表紙 < kibyoushi\ ;
+脳室 < noushitsu\ ;
+従姉妹 < juushimai\ ;
+山伏 < yamabushi\ ;
+子福者 < kobukusha\ ;
+思想界 < shisoukai\ ;
+民衆化 < minshuuka\ ;
+鈍黄色 < nibukiiro\ ;
+実株 < jitsukabu\ ;
+三角形 < sankakkei\ ;
+侵奪 < shindatsu\ ;
+大本営 < daihon''ei\ ;
+猛特訓 < moutokkun\ ;
+町中 < machinaka\ ;
+町並 < machinami\ ;
+予告編 < yokokuhen\ ;
+冷湿布 < reishippu\ ;
+標準化 < hyoujunka\ ;
+上質 < joushitsu\ ;
+下貼 < shitabari\ ;
+食紅 < shokubeni\ ;
+南蛮人 < nanbanjin\ ;
+更衣 < koromogae\ ;
+食糧 < shokuryou\ ;
+田園詩 < den''enshi\ ;
+中表 < nakaomote\ ;
+三角座 < sankakuza\ ;
+小姑 < kojuutome\ ;
+再試験 < saishiken\ ;
+栃木 < tochinoki\ ;
+寒帯林 < kantairin\ ;
+脂性 < aburashou\ ;
+倉主 < kuranushi\ ;
+傾斜面 < keishamen\ ;
+死亡者 < shibousha\ ;
+七賢 < shichiken\ ;
+遺族扶助 < izokufujo\ ;
+娑羅双樹 < sarasouju\ ;
+三角帆 < sankakuho\ ;
+尻取 < shiritori\ ;
+婚姻法 < kon''inhou\ ;
+二重窓 < nijuumado\ ;
+自然類 < shizenrui\ ;
+専売品 < senbaihin\ ;
+格式 < kakushiki\ ;
+不統一 < futouitsu\ ;
+昼鳶 < hirutonbi\ ;
+夜会服 < yakaifuku\ ;
+亮直 < ryouchoku\ ;
+暢達 < choutatsu\ ;
+党派心 < touhashin\ ;
+思想犯 < shisouhan\ ;
+腰元 < koshimoto\ ;
+脇差 < wakizashi\ ;
+弁当代 < bentoudai\ ;
+杉箸 < sugibashi\ ;
+肝臓癌 < kanzougan\ ;
+付焼 < tsukeyaki\ ;
+経済人 < keizaijin\ ;
+仏教徒 < bukkyouto\ ;
+米海軍 < beikaigun\ ;
+含油層 < gan''yusou\ ;
+情報誌 < jouhoushi\ ;
+学殖 < gakushoku\ ;
+凱旋軍 < gaisengun\ ;
+融解点 < yuukaiten\ ;
+淋巴球 < rinpakyuu\ ;
+嫌煙権 < ken''enken\ ;
+夫婦仲 < fuufunaka\ ;
+感染原 < kansengen\ ;
+迎賓館 < geihinkan\ ;
+株式 < kabushiki\ ;
+評議会 < hyougikai\ ;
+好男子 < koudanshi\ ;
+早春賦 < soushunfu\ ;
+柏槙 < byakushin\ ;
+喉頭癌 < koutougan\ ;
+独酌 < dokushaku\ ;
+寝業師 < newazashi\ ;
+人格化 < jinkakuka\ ;
+寅年 < toradoshi\ ;
+綺麗事 < kireigoto\ ;
+記名株 < kimeikabu\ ;
+携帯品 < keitaihin\ ;
+駐屯所 < chuutonjo\ ;
+研究所 < kenkyuujo\ ;
+最先端 < saisentan\ ;
+居住者 < kyojuusha\ ;
+誇張法 < kochouhou\ ;
+小咄 < kobanashi\ ;
+丸腰 < marugoshi\ ;
+昼飯 < hirumeshi\ ;
+視覚化 < shikakuka\ ;
+伐木 < batsuboku\ ;
+俊傑 < shunketsu\ ;
+中華街 < chuukagai\ ;
+職歴 < shokureki\ ;
+連判状 < renbanjou\ ;
+麝香猫 < jakouneko\ ;
+変光星 < henkousei\ ;
+審査官 < shinsakan\ ;
+多用中 < tayouchuu\ ;
+早東戦 < soutousen\ ;
+黙秘権 < mokuhiken\ ;
+冒険談 < boukendan\ ;
+常備薬 < joubiyaku\ ;
+架橋 < kakehashi\ ;
+妊婦服 < ninpufuku\ ;
+柏木 < kashiwagi\ ;
+体重計 < taijuukei\ ;
+警官隊 < keikantai\ ;
+仮橋 < karibashi\ ;
+講談社 < koudansha\ ;
+豆粒 < mametsubu\ ;
+休日 < kyuujitsu\ ;
+上薬 < uwagusuri\ ;
+近代詩 < kindaishi\ ;
+煙草銭 < tabakosen\ ;
+間投詞 < kantoushi\ ;
+答弁者 < toubensha\ ;
+平行棒 < heikoubou\ ;
+蟻地獄 < arijigoku\ ;
+密室 < misshitsu\ ;
+扁桃腺 < hentousen\ ;
+公判廷 < kouhantei\ ;
+玉章 < gyokushou\ ;
+数億年 < suuokunen\ ;
+盆灯籠 < bondourou\ ;
+宿将 < shukushou\ ;
+終戦後 < shuusengo\ ;
+将卒 < shousotsu\ ;
+両舌 < ryouzetsu\ ;
+編集部 < henshuubu\ ;
+周囲長 < shuuichou\ ;
+公選制 < kousensei\ ;
+職業 < shokugyou\ ;
+修理工 < shuurikou\ ;
+最適化 < saitekika\ ;
+化学者 < kagakusha\ ;
+導出 < doushutsu\ ;
+贈賄罪 < zouwaizai\ ;
+宿学 < shukugaku\ ;
+不承認 < fushounin\ ;
+五重唱 < gojuushou\ ;
+小冊 < shousatsu\ ;
+自己顕示 < jikokenji\ ;
+年齢順 < nenreijun\ ;
+賭博場 < tobakujou\ ;
+両脚 < ryoukyaku\ ;
+看守者 < kanshusha\ ;
+脱出 < dasshutsu\ ;
+客席 < kyakuseki\ ;
+弱電器 < jakudenki\ ;
+下草 < shitakusa\ ;
+日本的 < nihonteki\ ;
+射出 < shashutsu\ ;
+開墾地 < kaikonchi\ ;
+暦術 < rekijutsu\ ;
+禁猟期 < kinryouki\ ;
+赤土 < akatsuchi\ ;
+前額部 < zengakubu\ ;
+評論家 < hyouronka\ ;
+自己負担 < jikofutan\ ;
+一斉安 < isseiyasu\ ;
+露天風呂 < rotenburo\ ;
+一親等 < isshintou\ ;
+再放送 < saihousou\ ;
+化学線 < kagakusen\ ;
+戦死者 < senshisha\ ;
+一文字 < ichimonji\ ;
+意気投合 < ikitougou\ ;
+文士連 < bunshiren\ ;
+木綿糸 < momen''ito\ ;
+焦電気 < shoudenki\ ;
+授与式 < juyoshiki\ ;
+目分量 < mebunryou\ ;
+天下一 < tenkaichi\ ;
+中古品 < chuukohin\ ;
+中絶 < chuuzetsu\ ;
+市場性 < shijousei\ ;
+中性塩 < chuuseien\ ;
+下腹 < shitabara\ ;
+脱俗 < datsuzoku\ ;
+文語調 < bungochou\ ;
+散兵線 < sanpeisen\ ;
+流行児 < ryuukouji\ ;
+腹時計 < haradokei\ ;
+布袋腹 < hoteibara\ ;
+無教育 < mukyouiku\ ;
+柏手 < kashiwade\ ;
+教区民 < kyoukumin\ ;
+地震帯 < jishintai\ ;
+長期戦 < choukisen\ ;
+通知簿 < tsuuchibo\ ;
+乾物 < hoshimono\ ;
+実学 < jitsugaku\ ;
+加工業 < kakougyou\ ;
+不行状 < fugyoujou\ ;
+桟俵 < sandawara\ ;
+胡麻油 < gomaabura\ ;
+日本猿 < nihonzaru\ ;
+猟色 < ryoushoku\ ;
+旧世界 < kyuusekai\ ;
+一脈 < ichimyaku\ ;
+水平動 < suiheidou\ ;
+赤口 < sekiguchi\ ;
+短大生 < tandaisei\ ;
+肖像画 < shouzouga\ ;
+一角獣 < ikkakujuu\ ;
+可変長 < kahenchou\ ;
+一要素 < ichiyouso\ ;
+児童劇 < jidougeki\ ;
+中立 < chuuritsu\ ;
+埋葬地 < maisouchi\ ;
+上製本 < jouseibon\ ;
+両性花 < ryouseika\ ;
+実行者 < jikkousha\ ;
+職掌 < shokushou\ ;
+傾斜計 < keishakei\ ;
+室外 < shitsugai\ ;
+犯罪者 < hanzaisha\ ;
+寒卵 < kantamago\ ;
+絶交状 < zekkoujou\ ;
+外来者 < gairaisha\ ;
+伝導体 < dendoutai\ ;
+質感 < shitsukan\ ;
+格別 < kakubetsu\ ;
+核力 < kakuryoku\ ;
+斜滑降 < shakakkou\ ;
+常平倉 < jouheisou\ ;
+主催者 < shusaisha\ ;
+柔軟性 < juunansei\ ;
+分担金 < buntankin\ ;
+冷蔵車 < reizousha\ ;
+最高裁 < saikousai\ ;
+両端 < ryouhashi\ ;
+加入権 < kanyuuken\ ;
+両立 < ryouritsu\ ;
+前住所 < zenjuusho\ ;
+展望塔 < tenboutou\ ;
+過敏症 < kabinshou\ ;
+人頭税 < nintouzei\ ;
+舞台劇 < butaigeki\ ;
+下紐 < shitahimo\ ;
+平均値 < heikinchi\ ;
+今日 < kon''nichi\ ;
+格子面 < koushimen\ ;
+早飯 < hayameshi\ ;
+水茶屋 < mizuchaya\ ;
+情報網 < jouhoumou\ ;
+巴旦杏 < hatankyou\ ;
+貸方 < kashikata\ ;
+審美眼 < shinbigan\ ;
+自然観 < shizenkan\ ;
+運否天賦 < unputenpu\ ;
+富栄養化 < fueiyouka\ ;
+脂肪酸 < shibousan\ ;
+門外漢 < mongaikan\ ;
+乾湿 < kanshitsu\ ;
+抗菌性 < koukinsei\ ;
+額縁 < gakubuchi\ ;
+伝染性 < densensei\ ;
+印度支那 < indoshina\ ;
+未組織 < misoshiki\ ;
+欧化主義 < oukashugi\ ;
+水様液 < suiyoueki\ ;
+救助隊 < kyuujotai\ ;
+無二無三 < munimuzan\ ;
+保存量 < hozonryou\ ;
+三日三夜 < mikkamiyo\ ;
+牡丹海老 < botan''ebi\ ;
+核兵器 < kakuheiki\ ;
+不満足 < fumanzoku\ ;
+長談議 < nagadangi\ ;
+冒険者 < boukensha\ ;
+一粒 < hitotsubu\ ;
+嫡流 < chakuryuu\ ;
+曲目 < kyokumoku\ ;
+食欲 < shokuyoku\ ;
+羽蒲団 < hanebuton\ ;
+柴垣 < shibagaki\ ;
+地方債 < chihousai\ ;
+亮月 < ryougetsu\ ;
+本場物 < honbamono\ ;
+語学者 < gogakusha\ ;
+下穿 < shitabaki\ ;
+再試行 < saishikou\ ;
+一節 < hitofushi\ ;
+居丈高 < itakedaka\ ;
+太陽系 < taiyoukei\ ;
+研究員 < kenkyuuin\ ;
+弥縫策 < bihousaku\ ;
+無報酬 < muhoushuu\ ;
+蘆溝橋 < rokoukyou\ ;
+絶対値 < zettaichi\ ;
+天頂儀 < tenchougi\ ;
+中略 < chuuryaku\ ;
+海賊王 < kaizokuou\ ;
+財界人 < zaikaijin\ ;
+風来坊 < fuuraibou\ ;
+状袋 < joubukuro\ ;
+寒冷地 < kanreichi\ ;
+前置詞 < zenchishi\ ;
+物量 < butsuryou\ ;
+加判人 < kahan''nin\ ;
+動滑車 < doukassha\ ;
+結氷期 < keppyouki\ ;
+電気機器 < denkikiki\ ;
+展望台 < tenboudai\ ;
+礼拝堂 < reihaidou\ ;
+高性能 < kouseinou\ ;
+乾海苔 < hoshinori\ ;
+使用例 < shiyourei\ ;
+有田焼 < aritayaki\ ;
+高周波 < koushuuha\ ;
+尿検査 < nyoukensa\ ;
+環状線 < kanjousen\ ;
+末流 < matsuryuu\ ;
+発想法 < hassouhou\ ;
+株主 < kabunushi\ ;
+下石 < shitaishi\ ;
+免税点 < menzeiten\ ;
+値段表 < nedanhyou\ ;
+飯時 < meshidoki\ ;
+直弟子 < jikideshi\ ;
+自己嫌悪 < jikoken''o\ ;
+連邦制 < renpousei\ ;
+使用人 < shiyounin\ ;
+植木鉢 < uekibachi\ ;
+照射野 < shoushaya\ ;
+作付 < sakudzuke\ ;
+慈善心 < jizenshin\ ;
+上瞼 < uwamabuta\ ;
+木煉瓦 < mokurenga\ ;
+木綿物 < momenmono\ ;
+六分儀 < rokubungi\ ;
+視地平 < shichihei\ ;
+工作員 < kousakuin\ ;
+伯叔 < hakushuku\ ;
+爪革 < tsumakawa\ ;
+室内 < shitsunai\ ;
+宿主 < yadonushi\ ;
+回漕店 < kaisouten\ ;
+石炭紀 < sekitanki\ ;
+投機的 < toukiteki\ ;
+猟犬座 < ryoukenza\ ;
+二月 < futatsuki\ ;
+日録 < nichiroku\ ;
+皮財布 < kawazaifu\ ;
+一瞥 < ichibetsu\ ;
+脳血栓 < noukessen\ ;
+正則化 < seisokuka\ ;
+大奥様 < oookusama\ ;
+令室 < reishitsu\ ;
+体中 < karadajuu\ ;
+欠陥車 < kekkansha\ ;
+一大事 < ichidaiji\ ;
+連分数 < renbunsuu\ ;
+修理代 < shuuridai\ ;
+仲好 < nakayoshi\ ;
+蕁麻疹 < jinmashin\ ;
+具申書 < gushinsho\ ;
+読書家 < dokushoka\ ;
+美術部 < bijutsubu\ ;
+感謝祭 < kanshasai\ ;
+貴方方 < anatagata\ ;
+調髪 < chouhatsu\ ;
+東京都 < toukyouto\ ;
+旧字体 < kyuujitai\ ;
+製作費 < seisakuhi\ ;
+二週間 < nishuukan\ ;
+部落民 < burakumin\ ;
+物質 < busshitsu\ ;
+早道 < hayamichi\ ;
+加盟国 < kameikoku\ ;
+一夜中 < hitoyajuu\ ;
+構造体 < kouzoutai\ ;
+中医学 < chuuigaku\ ;
+受信者 < jushinsha\ ;
+会議録 < kaigiroku\ ;
+禁煙車 < kin''ensha\ ;
+片道 < katamichi\ ;
+電子銃 < denshijuu\ ;
+具体策 < gutaisaku\ ;
+車掌区 < shashouku\ ;
+特設 < tokusetsu\ ;
+他国民 < takokumin\ ;
+儒学者 < jugakusha\ ;
+名探偵 < meitantei\ ;
+国連旗 < kokurenki\ ;
+鯣烏賊 < surumeika\ ;
+全市民 < zenshimin\ ;
+報道官 < houdoukan\ ;
+仏学 < butsugaku\ ;
+日本晴 < nihonbare\ ;
+布団皮 < futongawa\ ;
+修繕費 < shuuzenhi\ ;
+露霜 < tsuyujimo\ ;
+専門書 < senmonsho\ ;
+公用車 < kouyousha\ ;
+耐性菌 < taiseikin\ ;
+札束 < satsutaba\ ;
+同種類 < doushurui\ ;
+音域外 < on''ikigai\ ;
+夏鳥 < natsudori\ ;
+質問 < shitsumon\ ;
+親和性 < shinwasei\ ;
+前頭葉 < zentouyou\ ;
+珠暖簾 < tamanoren\ ;
+独立 < dokuritsu\ ;
+九星家 < kyuuseika\ ;
+通気孔 < tsuukikou\ ;
+月次 < tsukinami\ ;
+謬説 < byuusetsu\ ;
+隣人愛 < rinjin''ai\ ;
+不承知 < fushouchi\ ;
+死亡数 < shibousuu\ ;
+学卒 < gakusotsu\ ;
+居住権 < kyojuuken\ ;
+鉤括弧 < kagikakko\ ;
+倦怠感 < kentaikan\ ;
+冷蔵船 < reizousen\ ;
+奴輩 < yatsubara\ ;
+合成酒 < gouseishu\ ;
+味噌汁 < misoshiru\ ;
+指導者 < shidousha\ ;
+学力 < gakuryoku\ ;
+半可通 < hankatsuu\ ;
+無警告 < mukeikoku\ ;
+基本合意 < kihongoui\ ;
+大西郷 < daisaigou\ ;
+睡眠剤 < suiminzai\ ;
+旋盤工 < senbankou\ ;
+帯分数 < taibunsuu\ ;
+小児科医 < shounikai\ ;
+後継者 < koukeisha\ ;
+亮察 < ryousatsu\ ;
+天日塩 < tenpishio\ ;
+威圧的 < iatsuteki\ ;
+二重底 < nijuuzoko\ ;
+又弟子 < matadeshi\ ;
+救命具 < kyuumeigu\ ;
+中次 < nakatsugi\ ;
+禁猟区 < kinryouku\ ;
+弩級艦 < dokyuukan\ ;
+旧識 < kyuushiki\ ;
+人妻 < hitodzuma\ ;
+恒久化 < koukyuuka\ ;
+新釈 < shinshaku\ ;
+具体的 < gutaiteki\ ;
+腹一杯 < haraippai\ ;
+格理論 < kakuriron\ ;
+日諾 < nichidaku\ ;
+感謝状 < kanshajou\ ;
+股下 < matashita\ ;
+現行犯 < genkouhan\ ;
+珍客 < chinkyaku\ ;
+日付印 < hidzukein\ ;
+太陽灯 < taiyoutou\ ;
+我武者羅 < gamushara\ ;
+外面 < sotodzura\ ;
+情報源 < jouhougen\ ;
+春色 < shunshoku\ ;
+公使館 < koushikan\ ;
+翌月 < yokugetsu\ ;
+帆立貝 < hotategai\ ;
+若武者 < wakamusha\ ;
+京女 < kyouon''na\ ;
+清算書 < seisansho\ ;
+本街道 < honkaidou\ ;
+串柿 < kushigaki\ ;
+郵便車 < yuubinsha\ ;
+自己犠牲 < jikogisei\ ;
+翌日 < yokujitsu\ ;
+一点機 < ichitenki\ ;
+両極 < ryoukyoku\ ;
+夏風邪 < natsukaze\ ;
+仏名 < butsumyou\ ;
+特色 < tokushoku\ ;
+中道派 < chuudouha\ ;
+暴風域 < boufuuiki\ ;
+発禁本 < hakkinbon\ ;
+圧電気 < atsudenki\ ;
+巨人党 < kyojintou\ ;
+食客 < shokkyaku\ ;
+時代物 < jidaimono\ ;
+屏風岩 < byoubuiwa\ ;
+快記録 < kaikiroku\ ;
+父親 < chichioya\ ;
+暴風圏 < boufuuken\ ;
+仮住 < karizumai\ ;
+雪靴 < yukigutsu\ ;
+不成績 < fuseiseki\ ;
+現出 < genshutsu\ ;
+仏力 < butsuriki\ ;
+多音節 < taonsetsu\ ;
+連帯感 < rentaikan\ ;
+部分的 < bubunteki\ ;
+専門店 < senmonten\ ;
+慣用音 < kan''youon\ ;
+夜仕事 < yoshigoto\ ;
+演習林 < enshuurin\ ;
+下様 < shimozama\ ;
+某高校 < boukoukou\ ;
+繰越 < kurikoshi\ ;
+綿菓子 < watagashi\ ;
+跨線橋 < kosenkyou\ ;
+煙草盆 < tabakobon\ ;
+受験票 < jukenhyou\ ;
+内斜視 < naishashi\ ;
+電信機 < denshinki\ ;
+圧縮機 < asshukuki\ ;
+物腰 < monogoshi\ ;
+三椏 < mitsumata\ ;
+実行権 < jikkouken\ ;
+松原 < matsubara\ ;
+相互扶助 < sougofujo\ ;
+賃借 < chinshaku\ ;
+現行法 < genkouhou\ ;
+自然界 < shizenkai\ ;
+懸垂線 < kensuisen\ ;
+上手者 < jouzumono\ ;
+日本学 < nihongaku\ ;
+排障器 < haishouki\ ;
+真夏日 < manatsubi\ ;
+熟食 < jukushoku\ ;
+感無量 < kanmuryou\ ;
+給付金 < kyuufukin\ ;
+付人 < tsukebito\ ;
+代名詞 < daimeishi\ ;
+同音異義 < douon''igi\ ;
+救助船 < kyuujosen\ ;
+牽引車 < ken''insha\ ;
+居住性 < kyojuusei\ ;
+抗凝固 < kougyouko\ ;
+看護長 < kangochou\ ;
+低性能 < teiseinou\ ;
+無計画 < mukeikaku\ ;
+多面角 < tamenkaku\ ;
+低周波 < teishuuha\ ;
+理想郷 < risoukyou\ ;
+被爆者 < hibakusha\ ;
+精製糖 < seiseitou\ ;
+有用性 < yuuyousei\ ;
+娯楽街 < gorakugai\ ;
+後天性 < koutensei\ ;
+校友会 < kouyuukai\ ;
+単利表 < tanrihyou\ ;
+自己本位 < jikohon''i\ ;
+月影 < tsukikage\ ;
+療養所 < ryouyoujo\ ;
+保守的 < hoshuteki\ ;
+月形 < tsukigata\ ;
+皇民党 < koumintou\ ;
+二重唱 < nijuushou\ ;
+七曜 < shichiyou\ ;
+卵胎生 < rantaisei\ ;
+一月 < hitotsuki\ ;
+線香代 < senkoudai\ ;
+対角化 < taikakuka\ ;
+最高点 < saikouten\ ;
+天質 < tenshitsu\ ;
+下敷 < shitajiki\ ;
+最低限 < saiteigen\ ;
+七星 < shichisei\ ;
+歌合戦 < utagassen\ ;
+平和賞 < heiwashou\ ;
+数係数 < suukeisuu\ ;
+木炭画 < mokutanga\ ;
+再降臨 < saikourin\ ;
+星空 < hoshizora\ ;
+再調査 < saichousa\ ;
+高野槙 < kouyamaki\ ;
+定滑車 < teikassha\ ;
+似我蜂 < jigabachi\ ;
+旋光性 < senkousei\ ;
+名投手 < meitoushu\ ;
+特筆 < tokuhitsu\ ;
+一日 < tsuitachi\ ;
+採算性 < saisansei\ ;
+企業者 < kigyousha\ ;
+人伝 < hitodzute\ ;
+異常高温 < ijoukouon\ ;
+狐火 < kitsunebi\ ;
+銀砂子 < ginsunago\ ;
+爆裂 < bakuretsu\ ;
+特立 < tokuritsu\ ;
+人付 < hitodzuki\ ;
+国分寺 < kokubunji\ ;
+養豚場 < youtonjou\ ;
+非対称 < hitaishou\ ;
+不銹鋼 < fushuukou\ ;
+失言 < shitsugen\ ;
+一院制 < ichiinsei\ ;
+手仕事 < teshigoto\ ;
+胆嚢炎 < tan''nouen\ ;
+雪道 < yukimichi\ ;
+雑録 < zatsuroku\ ;
+強打者 < kyoudasha\ ;
+規範的 < kihanteki\ ;
+羅紗紙 < rashagami\ ;
+脱衣場 < datsuijou\ ;
+女腹 < on''nabara\ ;
+熱量 < netsuryou\ ;
+救助網 < kyuujomou\ ;
+雪辱 < setsujoku\ ;
+太陰暦 < taiinreki\ ;
+揚羽蝶 < agehachou\ ;
+頭株 < atamakabu\ ;
+士君子 < shikunshi\ ;
+腰羽目 < koshibame\ ;
+片一方 < kataippou\ ;
+阿片窟 < ahenkutsu\ ;
+失血 < shikketsu\ ;
+暦月 < rekigetsu\ ;
+吾木香 < waremokou\ ;
+変質 < henshitsu\ ;
+食出 < hamidashi\ ;
+大型車 < oogatasha\ ;
+夏季熱 < kakinetsu\ ;
+夜話 < yobanashi\ ;
+内陸霧 < nairikumu\ ;
+植字機 < shokujiki\ ;
+遊覧船 < yuuransen\ ;
+乳房炎 < nyuubouen\ ;
+脳挫傷 < nouzashou\ ;
+天袋 < tenbukuro\ ;
+学生課 < gakuseika\ ;
+靴紐 < kutsuhimo\ ;
+藁布団 < warabuton\ ;
+詳述 < shoujutsu\ ;
+投機心 < toukishin\ ;
+郵便船 < yuubinsen\ ;
+青年団 < seinendan\ ;
+勧告案 < kankokuan\ ;
+特発 < tokuhatsu\ ;
+軍事援助 < gunjienjo\ ;
+天文台 < tenmondai\ ;
+自然法 < shizenhou\ ;
+石灰洞 < sekkaidou\ ;
+弊衣破帽 < heiihabou\ ;
+靴篦 < kutsubera\ ;
+増刊号 < zoukangou\ ;
+下役 < shitayaku\ ;
+両岸 < ryougishi\ ;
+曲学 < kyokugaku\ ;
+内大臣 < naidaijin\ ;
+現在地 < genzaichi\ ;
+戦車隊 < senshatai\ ;
+熟達 < jukutatsu\ ;
+丑年 < ushidoshi\ ;
+二重丸 < nijuumaru\ ;
+露草 < tsuyukusa\ ;
+酒造場 < shuzoujou\ ;
+愛読者 < aidokusha\ ;
+七五三縄 < shimenawa\ ;
+文化遺産 < bunkaisan\ ;
+石灰水 < sekkaisui\ ;
+大地震 < daijishin\ ;
+評釈 < hyoushaku\ ;
+不拡大 < fukakudai\ ;
+主導者 < shudousha\ ;
+高蒔絵 < takamakie\ ;
+自然死 < shizenshi\ ;
+居住地 < kyojuuchi\ ;
+一律 < ichiritsu\ ;
+決死隊 < kesshitai\ ;
+主脳者 < shunousha\ ;
+舞楽面 < bugakumen\ ;
+魚介類 < gyokairui\ ;
+最高検 < saikouken\ ;
+熱汚染 < netsuosen\ ;
+恒星年 < kouseinen\ ;
+自在鉤 < jizaikagi\ ;
+競走馬 < kyousouba\ ;
+御手洗 < mitarashi\ ;
+増幅器 < zoufukuki\ ;
+日本側 < nihongawa\ ;
+人類史 < jinruishi\ ;
+苦労様 < kurousama\ ;
+禀請書 < rinseisho\ ;
+風口 < kazaguchi\ ;
+俳諧師 < haikaishi\ ;
+夏蝉 < natsuzemi\ ;
+自家受精 < jikajusei\ ;
+慣用語 < kan''yougo\ ;
+女学生 < jogakusei\ ;
+電子管 < denshikan\ ;
+梵天王 < bonten''ou\ ;
+霞草 < kasumisou\ ;
+合成紙 < gouseishi\ ;
+黄銅鉱 < koudoukou\ ;
+自家受粉 < jikajufun\ ;
+牧畜 < bokuchiku\ ;
+司教区 < shikyouku\ ;
+解散権 < kaisanken\ ;
+適齢期 < tekireiki\ ;
+威嚇的 < ikakuteki\ ;
+銃連射 < juurensha\ ;
+免税品 < menzeihin\ ;
+焼餅 < yakimochi\ ;
+高水準 < kousuijun\ ;
+太陽年 < taiyounen\ ;
+民生委員 < minseiiin\ ;
+石細工 < ishizaiku\ ;
+寝小便 < neshouben\ ;
+末僚 < batsuryou\ ;
+冷蔵法 < reizouhou\ ;
+配分法 < haibunhou\ ;
+耽美的 < tanbiteki\ ;
+註釈 < chuushaku\ ;
+潜航艇 < senkoutei\ ;
+同窓生 < dousousei\ ;
+放浪者 < hourousha\ ;
+種概念 < shugainen\ ;
+早明戦 < soumeisen\ ;
+微積分 < bisekibun\ ;
+鳥瞰図 < choukanzu\ ;
+女王蜂 < jooubachi\ ;
+新緑 < shinryoku\ ;
+失脚 < shikkyaku\ ;
+外交官 < gaikoukan\ ;
+歯肉炎 < shinikuen\ ;
+自然林 < shizenrin\ ;
+演習場 < enshuujou\ ;
+小麦色 < komugiiro\ ;
+復古調 < fukkochou\ ;
+反省会 < hanseikai\ ;
+熱帯魚 < nettaigyo\ ;
+失職 < shisshoku\ ;
+単葉機 < tan''youki\ ;
+愛他主義 < aitashugi\ ;
+所有者 < shoyuusha\ ;
+販売者 < hanbaisha\ ;
+主人顔 < shujingao\ ;
+滑稽者 < odokemono\ ;
+水飢饉 < mizukikin\ ;
+海上法 < kaijouhou\ ;
+熱可塑 < netsukaso\ ;
+夏菊 < natsugiku\ ;
+一党一派 < ittouippa\ ;
+化学品 < kagakuhin\ ;
+縞蛇 < shimahebi\ ;
+中哲 < chuutetsu\ ;
+子沢山 < kodakusan\ ;
+余水吐 < yosuihaki\ ;
+怪奇映画 < kaikieiga\ ;
+訳述 < yakujutsu\ ;
+新築 < shinchiku\ ;
+夏草 < natsugusa\ ;
+昨年度 < sakunendo\ ;
+玉串 < tamagushi\ ;
+自然数 < shizensuu\ ;
+再訂版 < saiteiban\ ;
+青年会 < seinenkai\ ;
+中口 < nakaguchi\ ;
+女癖 < on''naguse\ ;
+現地人 < genchijin\ ;
+懐疑心 < kaigishin\ ;
+姥桜 < ubazakura\ ;
+朝日影 < asahikage\ ;
+釈迦牟尼 < shakamuni\ ;
+誘導弾 < yuudoudan\ ;
+販売網 < hanbaimou\ ;
+中卒 < chuusotsu\ ;
+八百万 < yaoyorozu\ ;
+下坂 < shimosaka\ ;
+貧乏人 < binbounin\ ;
+工事中 < koujichuu\ ;
+窃盗罪 < settouzai\ ;
+風下 < kazashimo\ ;
+霞網 < kasumiami\ ;
+原裁判 < gensaiban\ ;
+点火薬 < tenkayaku\ ;
+海上権 < kaijouken\ ;
+化学剤 < kagakuzai\ ;
+精製法 < seiseihou\ ;
+両口 < ryouguchi\ ;
+方眼紙 < houganshi\ ;
+受賞者 < jushousha\ ;
+推薦者 < suisensha\ ;
+雪模様 < yukimoyou\ ;
+爆竹 < bakuchiku\ ;
+一級品 < ikkyuuhin\ ;
+格子点 < koushiten\ ;
+日独 < nichidoku\ ;
+購買者 < koubaisha\ ;
+一等賞 < ittoushou\ ;
+他国人 < takokujin\ ;
+空気浴 < kuukiyoku\ ;
+旧物 < kyuubutsu\ ;
+獣偏 < kemonohen\ ;
+外交団 < gaikoudan\ ;
+執行部 < shikkoubu\ ;
+露程 < tsuyuhodo\ ;
+調節 < chousetsu\ ;
+理神論 < rishinron\ ;
+受験料 < jukenryou\ ;
+頭字 < kashiraji\ ;
+勝手元 < kattemoto\ ;
+相対論 < soutairon\ ;
+刊行会 < kankoukai\ ;
+獄卒 < gokusotsu\ ;
+保育料 < hoikuryou\ ;
+総資産 < soushisan\ ;
+住民税 < juuminzei\ ;
+且又 < katsumata\ ;
+俸給日 < houkyuubi\ ;
+物流 < butsuryuu\ ;
+両凸 < ryoutotsu\ ;
+陳述 < chinjutsu\ ;
+行政府 < gyouseifu\ ;
+処女膜 < shojomaku\ ;
+随伴者 < zuihansha\ ;
+新着 < shinchaku\ ;
+女物 < on''namono\ ;
+不印 < fujirushi\ ;
+悪宣伝 < akusenden\ ;
+書付 < kakitsuke\ ;
+多面的 < tamenteki\ ;
+詰草 < tsumekusa\ ;
+対戦車 < taisensha\ ;
+中位 < chuugurai\ ;
+熊蜂 < kumabachi\ ;
+苦労性 < kuroushou\ ;
+恐妻家 < kyousaika\ ;
+半鹹水 < hankansui\ ;
+社会経済 < shakaikei\ ;
+結跏趺座 < kekkafuza\ ;
+密航者 < mikkousha\ ;
+一等親 < ittoushin\ ;
+教職 < kyoushoku\ ;
+失礼 < shitsurei\ ;
+補強筋 < hokyoukin\ ;
+看板屋 < kanban''ya\ ;
+社員寮 < shainryou\ ;
+呼吸法 < kokyuuhou\ ;
+物欲 < butsuyoku\ ;
+一口 < hitokuchi\ ;
+擂鉢 < suribachi\ ;
+体量器 < tairyouki\ ;
+化学上 < kagakujou\ ;
+伽藍鳥 < garanchou\ ;
+心臓部 < shinzoubu\ ;
+爆発 < bakuhatsu\ ;
+最高峰 < saikouhou\ ;
+競輪場 < keirinjou\ ;
+重婚者 < juukonsha\ ;
+要撃機 < yougekiki\ ;
+気化熱 < kikanetsu\ ;
+昨日 < sakujitsu\ ;
+日教組 < nikkyouso\ ;
+蓖麻子油 < himashiyu\ ;
+縮約 < shukuyaku\ ;
+三等星 < santousei\ ;
+命名法 < meimeihou\ ;
+参加国 < sankakoku\ ;
+未開拓 < mikaitaku\ ;
+再編成 < saihensei\ ;
+失着 < shitchaku\ ;
+透水性 < tousuisei\ ;
+一列 < ichiretsu\ ;
+反対論 < hantairon\ ;
+学芸員 < gakugeiin\ ;
+冷凍魚 < reitougyo\ ;
+敗残兵 < haizanhei\ ;
+下側 < shitagawa\ ;
+雀色 < suzumeiro\ ;
+書生論 < shoseiron\ ;
+財政難 < zaiseinan\ ;
+一儲 < hitomouke\ ;
+制癌剤 < seiganzai\ ;
+族滅 < zokumetsu\ ;
+発泡剤 < happouzai\ ;
+伝奇的 < denkiteki\ ;
+絆創膏 < bansoukou\ ;
+下作 < shitasaku\ ;
+石灰岩 < sekkaigan\ ;
+調略 < chouryaku\ ;
+兵学校 < heigakkou\ ;
+富山県 < toyamaken\ ;
+該当者 < gaitousha\ ;
+点数制 < tensuusei\ ;
+昔日 < sekijitsu\ ;
+高知県 < kouchiken\ ;
+口上書 < koujousho\ ;
+解放感 < kaihoukan\ ;
+平和的 < heiwateki\ ;
+自閉症 < jiheishou\ ;
+飲用水 < in''yousui\ ;
+太陽光 < taiyoukou\ ;
+橋頭保 < kyoutouho\ ;
+古書市 < koshoichi\ ;
+天然塩 < ten''nenen\ ;
+断熱 < dan''netsu\ ;
+明日 < myounichi\ ;
+下下 < shimojimo\ ;
+敷石 < shikiishi\ ;
+特撮 < tokusatsu\ ;
+公害罪 < kougaizai\ ;
+淫売宿 < inbaiyado\ ;
+起請文 < kishoumon\ ;
+願事 < negaigoto\ ;
+碁盤縞 < gobanjima\ ;
+頻出 < hinshutsu\ ;
+網袋 < amibukuro\ ;
+俗世間 < zokuseken\ ;
+甘納豆 < amanattou\ ;
+乾酪素 < kanrakuso\ ;
+冶金学 < yakingaku\ ;
+冗長度 < jouchoudo\ ;
+角逐 < kakuchiku\ ;
+私家集 < shikashuu\ ;
+七三 < shichisan\ ;
+細面 < hosoomote\ ;
+市街地 < shigaichi\ ;
+可読性 < kadokusei\ ;
+明示的 < meijiteki\ ;
+大回転 < daikaiten\ ;
+呉服店 < gofukuten\ ;
+中華丼 < chuukadon\ ;
+大西洋 < taiseiyou\ ;
+理想的 < risouteki\ ;
+妻帯者 < saitaisha\ ;
+八宝菜 < happousai\ ;
+双蹄獸 < souteijuu\ ;
+集結 < shuuketsu\ ;
+国全土 < kokuzendo\ ;
+二進法 < nishinhou\ ;
+西風 < nishikaze\ ;
+自然増 < shizenzou\ ;
+時代劇 < jidaigeki\ ;
+夏痩 < natsuyase\ ;
+混成酒 < konseishu\ ;
+公倍数 < koubaisuu\ ;
+処方箋 < shohousen\ ;
+癌細胞 < gansaibou\ ;
+累減税 < ruigenzei\ ;
+所作事 < shosagoto\ ;
+無限小 < mugenshou\ ;
+物指 < monosashi\ ;
+窃盗犯 < settouhan\ ;
+仕手株 < shitekabu\ ;
+口下手 < kuchibeta\ ;
+金曜日 < kin''youbi\ ;
+低水準 < teisuijun\ ;
+製作所 < seisakujo\ ;
+伝声管 < denseikan\ ;
+量子化 < ryoushika\ ;
+星影 < hoshikage\ ;
+独力 < dokuryoku\ ;
+好一対 < kouittsui\ ;
+触診 < shokushin\ ;
+事務局 < jimukyoku\ ;
+壺皿 < tsubozara\ ;
+副鼻腔 < fukubikuu\ ;
+浪費癖 < rouhiheki\ ;
+給費生 < kyuuhisei\ ;
+県人会 < kenjinkai\ ;
+主任者 < shuninsha\ ;
+公用文 < kouyoubun\ ;
+罪人 < tsumibito\ ;
+行政区 < gyouseiku\ ;
+推薦状 < suisenjou\ ;
+中距離 < chuukyori\ ;
+共産化 < kyousanka\ ;
+会期中 < kaikichuu\ ;
+野球場 < yakyuujou\ ;
+閑古鳥 < kankodori\ ;
+産褥期 < sanjokuki\ ;
+主導権 < shudouken\ ;
+募金箱 < bokinbako\ ;
+硬口蓋 < koukougai\ ;
+敷物 < shikimono\ ;
+史記抄 < shikishou\ ;
+年齢層 < nenreisou\ ;
+頭頂部 < touchoubu\ ;
+雪男 < yukiotoko\ ;
+早場米 < hayabamai\ ;
+口語訳 < kougoyaku\ ;
+油圧計 < yuatsukei\ ;
+夏物 < natsumono\ ;
+二毛作 < nimousaku\ ;
+検糖計 < kentoukei\ ;
+誘導体 < yuudoutai\ ;
+真四角 < mashikaku\ ;
+申命記 < shinmeiki\ ;
+脂肪層 < shibousou\ ;
+統計 < baratsuki\ ;
+物品税 < buppinzei\ ;
+鳳翅鐘 < houshitou\ ;
+女方 < on''nagata\ ;
+新橋 < shinbashi\ ;
+層積雲 < sousekiun\ ;
+秒時計 < byoudokei\ ;
+珊瑚礁 < sangoshou\ ;
+連体詞 < rentaishi\ ;
+熱病 < netsubyou\ ;
+電熱 < den''netsu\ ;
+星屑 < hoshikuzu\ ;
+天気具合 < tenkiguai\ ;
+屁理屈 < herikutsu\ ;
+志願者 < shigansha\ ;
+浪人生 < rouninsei\ ;
+不可逆 < fukagyaku\ ;
+隔絶 < kakuzetsu\ ;
+独仏 < dokufutsu\ ;
+大阪市 < oosakashi\ ;
+妻室 < saishitsu\ ;
+愛読書 < aidokusho\ ;
+可塑物 < kasobutsu\ ;
+新造語 < shinzougo\ ;
+物干 < monohoshi\ ;
+反対者 < hantaisha\ ;
+細道 < hosomichi\ ;
+黒砂糖 < kurozatou\ ;
+玄米茶 < genmaicha\ ;
+演繹法 < en''ekihou\ ;
+臨場感 < rinjoukan\ ;
+熱球 < netsukyuu\ ;
+偏西風 < henseifuu\ ;
+香味料 < koumiryou\ ;
+正甲板 < seikanpan\ ;
+審議会 < shingikai\ ;
+青森県 < aomoriken\ ;
+不感症 < fukanshou\ ;
+縞物 < shimamono\ ;
+禁衛隊 < kin''eitai\ ;
+新枕 < niimakura\ ;
+放水車 < housuisha\ ;
+耐水性 < taisuisei\ ;
+玄関番 < genkanban\ ;
+前夜祭 < zen''yasai\ ;
+月桂冠 < gekkeikan\ ;
+給血 < kyuuketsu\ ;
+二刀流 < nitouryuu\ ;
+新札 < shinsatsu\ ;
+所有権 < shoyuuken\ ;
+冷凍車 < reitousha\ ;
+新月 < shingetsu\ ;
+来会者 < raikaisha\ ;
+新曲 < shinkyoku\ ;
+一口同音 < ikkudouon\ ;
+上等品 < joutouhin\ ;
+荒療治 < araryouji\ ;
+楽観論 < rakkanron\ ;
+倶舎宗 < kushashuu\ ;
+無言劇 < mugongeki\ ;
+入苑券 < nyuuenken\ ;
+腱鞘炎 < kenshouen\ ;
+不可思議 < fukashigi\ ;
+高年者 < kounensha\ ;
+詰物 < tsumemono\ ;
+探海灯 < tankaitou\ ;
+無規律 < mukiritsu\ ;
+烏貝 < karasugai\ ;
+靴底 < kutsuzoko\ ;
+形容詞 < keiyoushi\ ;
+医事伝道 < ijidendou\ ;
+旧年 < furutoshi\ ;
+岩雲雀 < iwahibari\ ;
+星型 < hoshigata\ ;
+徒競走 < tokyousou\ ;
+不戦勝 < fusenshou\ ;
+自然人 < shizenjin\ ;
+家庭的 < kateiteki\ ;
+高気圧 < koukiatsu\ ;
+滑稽本 < kokkeibon\ ;
+女子寮 < joshiryou\ ;
+失望 < shitsubou\ ;
+政治的 < seijiteki\ ;
+上等兵 < joutouhei\ ;
+焼結 < shouketsu\ ;
+原稿紙 < genkoushi\ ;
+色眼鏡 < iromegane\ ;
+楽譜台 < gakufudai\ ;
+冷水塊 < reisuikai\ ;
+保護色 < hogoshoku\ ;
+塵紙 < chirigami\ ;
+色収差 < iroshuusa\ ;
+美術家 < bijutsuka\ ;
+再評価 < saihyouka\ ;
+失明 < shitsumei\ ;
+準備中 < junbichuu\ ;
+光合成 < kougousei\ ;
+悪条件 < akujouken\ ;
+三悪趣 < sanakushu\ ;
+主産地 < shusanchi\ ;
+音部記号 < onbukigou\ ;
+巻積雲 < kensekiun\ ;
+希硫酸 < kiryuusan\ ;
+文月 < fumidzuki\ ;
+脱穀機 < dakkokuki\ ;
+鼎談会 < teidankai\ ;
+複本位 < fukuhon''i\ ;
+俗趣味 < zokushumi\ ;
+終止符 < shuushifu\ ;
+炭質 < tanshitsu\ ;
+精製品 < seiseihin\ ;
+憲兵隊 < kenpeitai\ ;
+誅殺 < chuusatsu\ ;
+大昔 < oomukashi\ ;
+配偶者 < haiguusha\ ;
+充当金 < juutoukin\ ;
+消火栓 < shoukasen\ ;
+奈良時代 < narajidai\ ;
+寄留者 < kiryuusha\ ;
+灰神楽 < haikagura\ ;
+金一封 < kin''ippuu\ ;
+床運動 < yukaundou\ ;
+長靴 < nagagutsu\ ;
+寄生虫 < kiseichuu\ ;
+糸車 < itoguruma\ ;
+夜晒 < yozarashi\ ;
+三等分 < santoubun\ ;
+喫水線 < kissuisen\ ;
+夏服 < natsufuku\ ;
+悪玉化 < akudamaka\ ;
+超簡易 < choukan''i\ ;
+靴墨 < kutsuzumi\ ;
+裸馬 < hadakauma\ ;
+戯作者 < gesakusha\ ;
+妹分 < imoutobun\ ;
+日墨 < nichiboku\ ;
+新式 < shinshiki\ ;
+青瓢箪 < aobyoutan\ ;
+患者様 < kanjasama\ ;
+五寸釘 < gosunkugi\ ;
+仮登記 < karitouki\ ;
+合同軍 < goudougun\ ;
+夏時 < natsudoki\ ;
+炸裂 < sakuretsu\ ;
+特別 < tokubetsu\ ;
+複雑 < fukuzatsu\ ;
+靴型 < kutsugata\ ;
+粒食 < ryuushoku\ ;
+非現業 < higengyou\ ;
+勤労者 < kinrousha\ ;
+固定長 < koteichou\ ;
+殺菌剤 < sakkinzai\ ;
+結膜 < ketsumaku\ ;
+洋服屋 < youfukuya\ ;
+起爆剤 < kibakuzai\ ;
+表示灯 < hyoujitou\ ;
+便利帳 < benrichou\ ;
+取材班 < shuzaihan\ ;
+脂肪体 < shiboutai\ ;
+郵便屋 < yuubin''ya\ ;
+縞柄 < shimagara\ ;
+中辞典 < chuujiten\ ;
+洗面台 < senmendai\ ;
+失恋 < shitsuren\ ;
+内裏雛 < dairibina\ ;
+全二重 < zen''nijuu\ ;
+溶解性 < youkaisei\ ;
+失念 < shitsunen\ ;
+雨曇 < amagumori\ ;
+整数論 < seisuuron\ ;
+評決 < hyouketsu\ ;
+民社党 < minshatou\ ;
+企画書 < kikakusho\ ;
+生地獄 < ikijigoku\ ;
+純米酒 < junmaishu\ ;
+回遊魚 < kaiyuugyo\ ;
+無関心 < mukanshin\ ;
+耳鼻咽喉 < jibiinkou\ ;
+女坂 < on''nazaka\ ;
+続発 < zokuhatsu\ ;
+友人間 < yuujinkan\ ;
+有斐閣 < yuuhikaku\ ;
+販売店 < hanbaiten\ ;
+雑株 < zatsukabu\ ;
+志望校 < shiboukou\ ;
+奉迎門 < hougeimon\ ;
+牛刺 < gyuusashi\ ;
+執著 < shuuchaku\ ;
+面会人 < menkainin\ ;
+一箇月 < ikkagetsu\ ;
+送水管 < sousuikan\ ;
+糖質 < toushitsu\ ;
+冷凍船 < reitousen\ ;
+年配者 < nenpaisha\ ;
+手数料 < tesuuryou\ ;
+離魂病 < rikonbyou\ ;
+空気汚染 < kuukiosen\ ;
+片口 < katakuchi\ ;
+水中花 < suichuuka\ ;
+動名詞 < doumeishi\ ;
+細腰 < hosogoshi\ ;
+烏帽子貝 < eboshigai\ ;
+黄金色 < koganeiro\ ;
+二元的 < nigenteki\ ;
+縞栗鼠 < shimarisu\ ;
+娯楽場 < gorakujou\ ;
+遊覧地 < yuuranchi\ ;
+本因坊 < hon''inbou\ ;
+共栄圏 < kyoueiken\ ;
+相対死 < aitaijini\ ;
+国自慢 < kunijiman\ ;
+重大視 < juudaishi\ ;
+企業内 < kigyounai\ ;
+集札 < shuusatsu\ ;
+同窓会 < dousoukai\ ;
+法蓮草 < hourensou\ ;
+海外版 < kaigaiban\ ;
+扇状地 < senjouchi\ ;
+日出 < nisshutsu\ ;
+打撃戦 < dagekisen\ ;
+有象無象 < uzoumuzou\ ;
+透写紙 < toushashi\ ;
+人文史 < jinbunshi\ ;
+指定券 < shiteiken\ ;
+香水瓶 < kousuibin\ ;
+熱帯病 < netaibyou\ ;
+伝記物 < denkimono\ ;
+計量器 < keiryouki\ ;
+補償金 < hoshoukin\ ;
+軽犯罪 < keihanzai\ ;
+坪量 < tsuboryou\ ;
+合憲性 < goukensei\ ;
+地鎮祭 < jichinsai\ ;
+主体性 < shutaisei\ ;
+素粒子 < soryuushi\ ;
+蝿地獄 < haejigoku\ ;
+大災害 < daisaigai\ ;
+奴凧 < yakkodako\ ;
+楽天家 < rakutenka\ ;
+理性的 < riseiteki\ ;
+綿油 < wataabura\ ;
+然然 < shikajika\ ;
+鼓笛隊 < kotekitai\ ;
+起訴猶予 < kisoyuuyo\ ;
+寒暖計 < kandankei\ ;
+花粉症 < kafunshou\ ;
+人為的 < jin''iteki\ ;
+伊勢神宮 < isejinguu\ ;
+受領者 < juryousha\ ;
+企画性 < kikakusei\ ;
+内需型 < naijugata\ ;
+尸位素餐 < shiisosan\ ;
+焦熱 < shounetsu\ ;
+原成岩 < genseigan\ ;
+表示板 < hyoujiban\ ;
+夏山 < natsuyama\ ;
+爪切 < tsumekiri\ ;
+永久歯 < eikyuushi\ ;
+千社札 < senjafuda\ ;
+菩提心 < bodaishin\ ;
+政所 < mandokoro\ ;
+教式 < kyoushiki\ ;
+表示書 < hyoujisho\ ;
+放水管 < housuikan\ ;
+双子葉 < soushiyou\ ;
+性転換 < seitenkan\ ;
+輸送量 < yusouryou\ ;
+所有地 < shoyuuchi\ ;
+鼓手長 < koshuchou\ ;
+爪先 < tsumasaki\ ;
+総本店 < souhonten\ ;
+元気者 < genkimono\ ;
+代弁者 < daibensha\ ;
+野天風呂 < notenburo\ ;
+町医者 < machiisha\ ;
+製材所 < seizaisho\ ;
+塩漬 < shiodzuke\ ;
+反乱軍 < hanrangun\ ;
+総人口 < soujinkou\ ;
+店仕舞 < misejimai\ ;
+中保者 < chuuhosha\ ;
+奔出 < honshutsu\ ;
+立法者 < rippousha\ ;
+草相撲 < kusazumou\ ;
+予備錨 < yobiikari\ ;
+隔月 < kakugetsu\ ;
+歓送会 < kansoukai\ ;
+双翅類 < soushirui\ ;
+紙細工 < kamizaiku\ ;
+山水荘 < sansuisou\ ;
+表沙汰 < omotezata\ ;
+唐獅子 < karajishi\ ;
+平和国 < heiwakoku\ ;
+低気圧 < teikiatsu\ ;
+作業用 < sagyouyou\ ;
+撃発 < gekihatsu\ ;
+執筆 < shippitsu\ ;
+水害地 < suigaichi\ ;
+総本山 < souhonzan\ ;
+演説家 < enzetsuka\ ;
+盲腸炎 < mouchouen\ ;
+斥力 < sekiryoku\ ;
+終発 < shuuhatsu\ ;
+遣唐使 < kentoushi\ ;
+坂道 < sakamichi\ ;
+作業班 < sagyouhan\ ;
+活性炭 < kasseitan\ ;
+最小化 < saishouka\ ;
+乗降場 < joukoujou\ ;
+俗世界 < zokusekai\ ;
+毛織物 < keorimono\ ;
+志願書 < shigansho\ ;
+不死鳥 < fushichou\ ;
+悲観的 < hikanteki\ ;
+撲滅 < bokumetsu\ ;
+成功者 < seikousha\ ;
+看護学 < kangogaku\ ;
+上向線 < joukousen\ ;
+消炎剤 < shouenzai\ ;
+公休日 < koukyuubi\ ;
+総罷業 < souhigyou\ ;
+再投資 < saitoushi\ ;
+歌劇場 < kagekijou\ ;
+浄水場 < jousuijou\ ;
+雪女 < yukion''na\ ;
+詳密 < shoumitsu\ ;
+水耕法 < suikouhou\ ;
+大演習 < daienshuu\ ;
+無理無体 < murimutai\ ;
+実測図 < jissokuzu\ ;
+膨張度 < bouchoudo\ ;
+映写幕 < eishamaku\ ;
+上水道 < jousuidou\ ;
+全住民 < zenjuumin\ ;
+浄水地 < jousuichi\ ;
+雑学 < zatsugaku\ ;
+均質 < kinshitsu\ ;
+男性用 < danseiyou\ ;
+好奇心 < koukishin\ ;
+肉体美 < nikutaibi\ ;
+国家的 < kokkateki\ ;
+犠牲的 < giseiteki\ ;
+連子窓 < renjimado\ ;
+相対性 < soutaisei\ ;
+烏瓜 < karasuuri\ ;
+関心事 < kanshinji\ ;
+北斗星 < hokutosei\ ;
+本拠地 < honkyochi\ ;
+舞踏病 < butoubyou\ ;
+内外人 < naigaijin\ ;
+撲殺 < bokusatsu\ ;
+摘発 < tekihatsu\ ;
+下種女 < gesuon''na\ ;
+赤電車 < akadensha\ ;
+夏向 < natsumuki\ ;
+粘板岩 < nenbangan\ ;
+事業者 < jigyousha\ ;
+歓迎会 < kangeikai\ ;
+託児所 < takujisho\ ;
+水時計 < mizudokei\ ;
+捨鉢 < sutebachi\ ;
+盲導犬 < moudouken\ ;
+販売人 < hanbainin\ ;
+鯐 < subashiri\ ;
+人国記 < jinkokuki\ ;
+普及版 < fukyuuban\ ;
+鮗 < konoshiro\ ;
+半部族 < hanbuzoku\ ;
+飛道具 < tobidougu\ ;
+人間界 < ningenkai\ ;
+乳母車 < ubaguruma\ ;
+惨死体 < zanshitai\ ;
+堅物 < katabutsu\ ;
+運搬人 < unpan''nin\ ;
+抗生剤 < kouseizai\ ;
+国鉄 < kokutetsu\ ;
+角樽 < tsunodaru\ ;
+撃滅 < gekimetsu\ ;
+世迷言 < yomaigoto\ ;
+伝言板 < dengonban\ ;
+自立語 < jiritsugo\ ;
+糧秣 < ryoumatsu\ ;
+熱帯林 < nettairin\ ;
+永久性 < eikyuusei\ ;
+製本屋 < seihon''ya\ ;
+汽車賃 < kishachin\ ;
+隣室 < rinshitsu\ ;
+禁裏様 < kinrisama\ ;
+慣用句 < kan''youku\ ;
+観光地 < kankouchi\ ;
+会見者 < kaikensha\ ;
+東天紅 < toutenkou\ ;
+観光団 < kankoudan\ ;
+技巧的 < gikouteki\ ;
+楽隠居 < rakuinkyo\ ;
+高速度 < kousokudo\ ;
+私生子 < shiseishi\ ;
+日記帳 < nikkichou\ ;
+政治学 < seijigaku\ ;
+外付 < sotodzuke\ ;
+水理学 < suirigaku\ ;
+母子寮 < boshiryou\ ;
+着心地 < kigokochi\ ;
+夏作 < natsusaku\ ;
+戒厳令 < kaigenrei\ ;
+投与量 < touyoryou\ ;
+照尺 < shoushaku\ ;
+意気軒高 < ikikenkou\ ;
+雪兎 < yukiusagi\ ;
+哺乳類 < honyuurui\ ;
+大蝙蝠 < ookoumori\ ;
+無投票 < mutouhyou\ ;
+指了図 < shiryouzu\ ;
+適応性 < tekiousei\ ;
+襲爵 < shuushaku\ ;
+漫才師 < manzaishi\ ;
+事業税 < jigyouzei\ ;
+収容所 < shuuyoujo\ ;
+国璽書 < kokujisho\ ;
+感覚器 < kankakuki\ ;
+教育費 < kyouikuhi\ ;
+固定給 < koteikyuu\ ;
+展覧会 < tenrankai\ ;
+交代制 < koutaisei\ ;
+阝 < kozatohen\ ;
+覆滅 < fukumetsu\ ;
+巡視艇 < junshitei\ ;
+巡視船 < junshisen\ ;
+汎関数 < hankansuu\ ;
+全人生 < zenjinsei\ ;
+断強度 < dankyoudo\ ;
+処女作 < shojosaku\ ;
+個性的 < koseiteki\ ;
+墨壷 < sumitsubo\ ;
+全音階 < zen''onkai\ ;
+誅伐 < chuubatsu\ ;
+反乱者 < hanransha\ ;
+軽音楽 < keiongaku\ ;
+回復期 < kaifukuki\ ;
+不合格 < fugoukaku\ ;
+周波計 < shuuhakei\ ;
+不可欠 < fukaketsu\ ;
+放出 < houshutsu\ ;
+終極 < shuukyoku\ ;
+硬化症 < koukashou\ ;
+逆効果 < gyakkouka\ ;
+裸線 < hadakasen\ ;
+覆没 < fukubotsu\ ;
+一等国 < ittoukoku\ ;
+全封地 < zenhouchi\ ;
+分配金 < bunpaikin\ ;
+語尾変化 < gobihenka\ ;
+回遊船 < kaiyuusen\ ;
+公会堂 < koukaidou\ ;
+無表情 < muhyoujou\ ;
+煩型 < urusagata\ ;
+水餃子 < suigyouza\ ;
+詔勅 < shouchoku\ ;
+風土病 < fuudobyou\ ;
+支出 < shishutsu\ ;
+逃避的 < touhiteki\ ;
+古文学 < kobungaku\ ;
+優等生 < yuutousei\ ;
+綢密 < chuumitsu\ ;
+固定票 < koteihyou\ ;
+対向車 < taikousha\ ;
+組曲 < kumikyoku\ ;
+事業界 < jigyoukai\ ;
+批判的 < hihanteki\ ;
+天地人 < tenchijin\ ;
+血統書 < kettousho\ ;
+中二階 < chuunikai\ ;
+継室 < keishitsu\ ;
+国表 < kuniomote\ ;
+山葡萄 < yamabudou\ ;
+黄道面 < koudoumen\ ;
+受難週 < junanshuu\ ;
+尊厳死 < songenshi\ ;
+考古学 < koukogaku\ ;
+保険証 < hokenshou\ ;
+高分子 < koubunshi\ ;
+冥加金 < myougakin\ ;
+内地米 < naichimai\ ;
+枯葉剤 < karehazai\ ;
+締切 < shimekiri\ ;
+招待日 < shoutaibi\ ;
+誓願権 < seiganken\ ;
+愛国者 < aikokusha\ ;
+訴願人 < sogan''nin\ ;
+領事館 < ryoujikan\ ;
+主犯者 < shuhansha\ ;
+防護壁 < bougoheki\ ;
+資金源 < shikingen\ ;
+鼠咬症 < sokoushou\ ;
+三重盗 < sanjuutou\ ;
+連体形 < rentaikei\ ;
+土色 < tsuchiiro\ ;
+現段階 < gendankai\ ;
+成年者 < seinensha\ ;
+金解禁 < kinkaikin\ ;
+羽子突 < hanetsuki\ ;
+洗濯粉 < sentakuko\ ;
+光化学 < koukagaku\ ;
+農学部 < nougakubu\ ;
+主任制 < shuninsei\ ;
+舞踏服 < butoufuku\ ;
+経験論 < keikenron\ ;
+経験談 < keikendan\ ;
+接続 < setsuzoku\ ;
+擦過傷 < sakkashou\ ;
+米粒 < kometsubu\ ;
+糟漬 < kasudzuke\ ;
+四重奏 < shijuusou\ ;
+踝 < kurubushi\ ;
+相対値 < soutaichi\ ;
+母子共 < boshitomo\ ;
+鉄火巻 < tekkamaki\ ;
+英作文 < eisakubun\ ;
+戦車兵 < senshahei\ ;
+再投稿 < saitoukou\ ;
+教養部 < kyouyoubu\ ;
+立法権 < rippouken\ ;
+妥協点 < dakyouten\ ;
+雲仙岳 < unzendake\ ;
+受領書 < juryousho\ ;
+不活化 < fukatsuka\ ;
+文章語 < bunshougo\ ;
+青信号 < aoshingou\ ;
+時計皿 < tokeizara\ ;
+幽冥界 < yuumeikai\ ;
+執行吏 < shikkouri\ ;
+等高線 < toukousen\ ;
+絞首台 < koushudai\ ;
+破擦音 < hasatsuon\ ;
+送受信 < soujushin\ ;
+撫子 < nadeshiko\ ;
+一神論 < isshinron\ ;
+着道楽 < kidouraku\ ;
+明後年 < myougonen\ ;
+法務省 < houmushou\ ;
+酵素学 < kousogaku\ ;
+糠油 < nukaabura\ ;
+長物 < choubutsu\ ;
+図像学 < zuzougaku\ ;
+奉加帳 < hougachou\ ;
+感嘆詞 < kantanshi\ ;
+前売券 < maeuriken\ ;
+親心 < oyagokoro\ ;
+衆説 < shuusetsu\ ;
+志願兵 < shiganhei\ ;
+反射光 < hanshakou\ ;
+皮細工 < kawazaiku\ ;
+復水器 < fukusuiki\ ;
+関連性 < kanrensei\ ;
+統語学 < tougogaku\ ;
+絶妙 < zetsumyou\ ;
+講演料 < kouenryou\ ;
+敬老会 < keiroukai\ ;
+時間軸 < jikanjiku\ ;
+反対党 < hantaitou\ ;
+搭乗者 < toujousha\ ;
+九分九厘 < kubukurin\ ;
+糸桜 < itozakura\ ;
+社民党 < shamintou\ ;
+絞首刑 < koushukei\ ;
+創建者 < soukensha\ ;
+最大限 < saidaigen\ ;
+陳列 < chinretsu\ ;
+糸柳 < itoyanagi\ ;
+楓子香 < fuushikou\ ;
+混成岩 < konseigan\ ;
+執拗 < shitsuyou\ ;
+紙粘土 < kaminendo\ ;
+条件文 < joukenbun\ ;
+意識体 < ishikitai\ ;
+私企業 < shikigyou\ ;
+空模様 < soramoyou\ ;
+公有林 < kouyuurin\ ;
+山水楼 < sansuirou\ ;
+裃 < kamishimo\ ;
+寄留地 < kiryuuchi\ ;
+断剛性 < dangousei\ ;
+空元気 < karagenki\ ;
+衤 < koromohen\ ;
+打算的 < dasanteki\ ;
+退蔵品 < taizouhin\ ;
+親密 < shinmitsu\ ;
+影響圏 < eikyouken\ ;
+真善美 < shinzenbi\ ;
+手術衣 < shujutsui\ ;
+人間愛 < ningen''ai\ ;
+理知的 < richiteki\ ;
+筒音 < tsutsuoto\ ;
+琥珀色 < kohakuiro\ ;
+御蔭様 < okagesama\ ;
+毛細管 < mousaikan\ ;
+紋所 < mondokoro\ ;
+袋網 < fukuroami\ ;
+白胡麻 < shirogoma\ ;
+自己規制 < jikokisei\ ;
+主人公 < shujinkou\ ;
+同委員会 < douiinkai\ ;
+人間性 < ningensei\ ;
+単孔類 < tankourui\ ;
+同労者 < dourousha\ ;
+即時性 < sokujisei\ ;
+乳呑児 < chinomigo\ ;
+不徳漢 < futokukan\ ;
+遭遇戦 < souguusen\ ;
+言伝 < kotodzute\ ;
+又家来 < matagerai\ ;
+火柱 < hibashira\ ;
+一妻多夫 < issaitafu\ ;
+閥族 < batsuzoku\ ;
+正書法 < seishohou\ ;
+独自性 < dokujisei\ ;
+弁財天 < benzaiten\ ;
+勤務先 < kinmusaki\ ;
+角叉 < tsunomata\ ;
+持久戦 < jikyuusen\ ;
+重要視 < juuyoushi\ ;
+空梅雨 < karatsuyu\ ;
+混成団 < konseidan\ ;
+不正行為 < fuseikoui\ ;
+抜錨 < batsubyou\ ;
+火口壁 < kakouheki\ ;
+時間表 < jikanhyou\ ;
+砂利道 < jarimichi\ ;
+会計官 < kaikeikan\ ;
+賤業婦 < sengyoufu\ ;
+経験者 < keikensha\ ;
+韓国語 < hankokugo\ ;
+教材費 < kyouzaihi\ ;
+国立 < kokuritsu\ ;
+勝利者 < shourisha\ ;
+潜伏期 < senpukuki\ ;
+大団円 < daidan''en\ ;
+午前様 < gozensama\ ;
+海潮音 < kaichouon\ ;
+正犯者 < seihansha\ ;
+可圧性 < kaatsusei\ ;
+船大工 < funadaiku\ ;
+土地柄 < tochigara\ ;
+登舷礼 < tougenrei\ ;
+激突 < gekitotsu\ ;
+政府筋 < seifusuji\ ;
+活性剤 < kasseizai\ ;
+反体制 < hantaisei\ ;
+藻菌類 < soukinrui\ ;
+滑石粉 < kassekiko\ ;
+緩衝器 < kanshouki\ ;
+鳩羽色 < hatobairo\ ;
+顕微鏡 < kenbikyou\ ;
+名店街 < meitengai\ ;
+利休色 < rikyuuiro\ ;
+国事犯 < kokujihan\ ;
+門松 < kadomatsu\ ;
+混成品 < konseihin\ ;
+分配者 < bunpaisha\ ;
+半透明 < hantoumei\ ;
+分水線 < bunsuisen\ ;
+遊戯的 < yuugiteki\ ;
+近視眼 < kinshigan\ ;
+会計士 < kaikeishi\ ;
+抜道 < nukemichi\ ;
+初年兵 < shonenhei\ ;
+同年輩 < dounenpai\ ;
+珍無類 < chinmurui\ ;
+箝口令 < kankourei\ ;
+合法性 < gouhousei\ ;
+総領事 < souryouji\ ;
+州政府 < shuuseifu\ ;
+商務官 < shoumukan\ ;
+長月 < nagatsuki\ ;
+応接間 < ousetsuma\ ;
+血肉 < ketsuniku\ ;
+参会者 < sankaisha\ ;
+五人組 < goningumi\ ;
+黄水晶 < kizuishou\ ;
+内裏様 < dairisama\ ;
+大衆化 < taishuuka\ ;
+重大性 < juudaisei\ ;
+外国語 < gaikokugo\ ;
+現状維持 < genjouiji\ ;
+勢力家 < seiryokka\ ;
+声楽家 < seigakuka\ ;
+製靴業 < seikagyou\ ;
+紛失 < funshitsu\ ;
+箱馬車 < hakobasha\ ;
+宮内省 < kunaishou\ ;
+土牢 < tsuchirou\ ;
+事業所 < jigyousho\ ;
+穿山甲 < senzankou\ ;
+臨港線 < rinkousen\ ;
+唯名論 < yuimeiron\ ;
+米油 < komeabura\ ;
+改造車 < kaizousha\ ;
+黄金国 < ougonkoku\ ;
+芋羊羹 < imoyoukan\ ;
+更生品 < kouseihin\ ;
+広小路 < hirokouji\ ;
+筋道 < sujimichi\ ;
+空返事 < sorahenji\ ;
+篳篥 < hichiriki\ ;
+腐植土 < fushokudo\ ;
+次善策 < jizensaku\ ;
+美辞麗句 < bijireiku\ ;
+遠眼鏡 < toomegane\ ;
+創造者 < souzousha\ ;
+休電日 < kyuudenbi\ ;
+板門店 < hanmonten\ ;
+衝突 < shoutotsu\ ;
+導入部 < dounyuubu\ ;
+禅問答 < zenmondou\ ;
+複数個 < fukusuuko\ ;
+盲学校 < mougakkou\ ;
+研修課 < kenshuuka\ ;
+弾性体 < danseitai\ ;
+米櫃 < komebitsu\ ;
+献呈本 < kenteibon\ ;
+尾長鶏 < onagadori\ ;
+放送網 < housoumou\ ;
+麻酔薬 < masuiyaku\ ;
+千年紀 < sen''nenki\ ;
+僧帽弁 < soubouben\ ;
+太鼓腹 < taikobara\ ;
+不言不語 < fugenfugo\ ;
+前装砲 < zensouhou\ ;
+分遣隊 < bunkentai\ ;
+吹奏者 < suisousha\ ;
+竜骨 < ryuukotsu\ ;
+好角家 < koukakuka\ ;
+結了 < ketsuryou\ ;
+悪天候 < akutenkou\ ;
+推進機 < suishinki\ ;
+托鉢 < takuhatsu\ ;
+鉤十字 < kagijuuji\ ;
+乱気流 < rankiryuu\ ;
+冷凍剤 < reitouzai\ ;
+初対面 < shotaimen\ ;
+閏年 < uruudoshi\ ;
+竍 < dekaritto\ ;
+未収載 < mishuusai\ ;
+嗜好品 < shikouhin\ ;
+悪天使 < akutenshi\ ;
+強化米 < kyoukamai\ ;
+水雷艇 < suiraitei\ ;
+観楓会 < kanpuukai\ ;
+体験談 < taikendan\ ;
+無感覚 < mukankaku\ ;
+群速度 < gunsokudo\ ;
+電総研 < densouken\ ;
+不確定 < fukakutei\ ;
+白百合 < shirayuri\ ;
+舞踊劇 < buyougeki\ ;
+火口丘 < kakoukyuu\ ;
+不正確 < fuseikaku\ ;
+節約 < setsuyaku\ ;
+陽子線 < youshisen\ ;
+下部機関 < kabukikan\ ;
+個人誤差 < kojingosa\ ;
+時間給 < jikankyuu\ ;
+分水界 < bunsuikai\ ;
+乱反射 < ranhansha\ ;
+解答欄 < kaitouran\ ;
+魚雷艇 < gyoraitei\ ;
+公有地 < kouyuuchi\ ;
+欺瞞的 < gimanteki\ ;
+明瞭度 < meiryoudo\ ;
+会計係 < kaikeikei\ ;
+蟇蛙 < hikigaeru\ ;
+輸入税 < yunyuuzei\ ;
+蜀黍 < morokoshi\ ;
+不心得 < fukokoroe\ ;
+二業地 < nigyouchi\ ;
+単子論 < tanshiron\ ;
+証拠金 < shoukokin\ ;
+生演奏 < namaensou\ ;
+微分学 < bibungaku\ ;
+専従者 < senjuusha\ ;
+仙台侯 < sendaikou\ ;
+血眼 < chimanako\ ;
+箸箱 < hashibako\ ;
+複式 < fukushiki\ ;
+兄弟愛 < kyoudaiai\ ;
+万華鏡 < mangekyou\ ;
+西側 < nishigawa\ ;
+損失 < sonshitsu\ ;
+人間像 < ningenzou\ ;
+回帰的 < kaikiteki\ ;
+市民税 < shiminzei\ ;
+富士額 < fujibitai\ ;
+闖入 < chin''nyuu\ ;
+蜂鳥 < hachidori\ ;
+開票所 < kaihyoujo\ ;
+体育館 < taiikukan\ ;
+為体 < teitaraku\ ;
+変調波 < henchouha\ ;
+同盟軍 < doumeigun\ ;
+告訴人 < kokusonin\ ;
+学士院 < gakushiin\ ;
+倫理的 < rinriteki\ ;
+点鼻薬 < tenbiyaku\ ;
+投書欄 < toushoran\ ;
+訴訟法 < soshouhou\ ;
+溶質 < youshitsu\ ;
+四半分 < shihanbun\ ;
+吸音材 < kyuuonzai\ ;
+初体験 < shotaiken\ ;
+輸入盤 < yunyuuban\ ;
+不知火 < shiranuhi\ ;
+卵細胞 < ransaibou\ ;
+灰土 < haitsuchi\ ;
+二極化 < nikyokuka\ ;
+南京錠 < nankinjou\ ;
+鳩時計 < hatodokei\ ;
+哺乳瓶 < honyuubin\ ;
+西洋風 < seiyoufuu\ ;
+既製服 < kiseifuku\ ;
+自由意志 < jiyuuishi\ ;
+野外劇 < yagaigeki\ ;
+普遍的 < fuhenteki\ ;
+事業団 < jigyoudan\ ;
+小役人 < koyakunin\ ;
+鳥媒花 < choubaika\ ;
+自治領 < jichiryou\ ;
+裏扉 < uratobira\ ;
+破壊的 < hakaiteki\ ;
+搬出 < hanshutsu\ ;
+窮措大 < kyuusodai\ ;
+達磨船 < darumasen\ ;
+内在性 < naizaisei\ ;
+小荷物 < konimotsu\ ;
+日系人 < nikkeijin\ ;
+精神科 < seishinka\ ;
+一合目 < ichigoume\ ;
+住居跡 < juukyoato\ ;
+再抗弁 < saikouben\ ;
+農作業 < nousagyou\ ;
+螢光燈 < keikoutou\ ;
+付年表 < funenpyou\ ;
+正誤表 < seigohyou\ ;
+裏情 < uranasake\ ;
+四輪車 < yonrinsha\ ;
+蟇股 < kaerumata\ ;
+三重奏 < sanjuusou\ ;
+保証書 < hoshousho\ ;
+否定的 < hiteiteki\ ;
+不連続 < furenzoku\ ;
+武断的 < budanteki\ ;
+出穂期 < shussuiki\ ;
+上半期 < kamihanki\ ;
+単子葉 < tanshiyou\ ;
+微分商 < bibunshou\ ;
+血煙 < chikemuri\ ;
+義兄弟 < gikyoudai\ ;
+複素数 < fukusosuu\ ;
+転校生 < tenkousei\ ;
+昼夜帯 < chuuyaobi\ ;
+事件表 < jikenhyou\ ;
+強硬派 < kyoukouha\ ;
+排気量 < haikiryou\ ;
+二次記憶 < nijikioku\ ;
+女文字 < on''namoji\ ;
+無所属 < mushozoku\ ;
+周波数 < shuuhasuu\ ;
+猛禽類 < moukinrui\ ;
+生態系 < seitaikei\ ;
+滑落 < katsuraku\ ;
+持物 < mochimono\ ;
+散文詩 < sanbunshi\ ;
+栽培種 < saibaishu\ ;
+原著者 < genchosha\ ;
+電話料 < denwaryou\ ;
+技能賞 < ginoushou\ ;
+料金所 < ryoukinjo\ ;
+支配者 < shihaisha\ ;
+洗濯屋 < sentakuya\ ;
+側近者 < sokkinsha\ ;
+門口 < kadoguchi\ ;
+実社会 < jisshakai\ ;
+御連絡 < gorenraku\ ;
+香川県 < kagawaken\ ;
+点滴器 < tentekiki\ ;
+予定表 < yoteihyou\ ;
+弁護料 < bengoryou\ ;
+主要駅 < shuyoueki\ ;
+区会議員 < kukaigiin\ ;
+挟殺 < kyousatsu\ ;
+対応策 < taiousaku\ ;
+輸入港 < yunyuukou\ ;
+同志会 < doushikai\ ;
+迎撃機 < geigekiki\ ;
+人地名 < jinchimei\ ;
+保険料 < hokenryou\ ;
+大和芋 < yamatoimo\ ;
+高優先 < kouyuusen\ ;
+放送法 < housouhou\ ;
+示力図 < jiryokuzu\ ;
+古事記伝 < kojikiden\ ;
+雪女郎 < yukijorou\ ;
+表書 < omotegaki\ ;
+零細農 < reisainou\ ;
+糊代 < norishiro\ ;
+真清水 < mashimizu\ ;
+助太刀 < sukedachi\ ;
+克己心 < kokkishin\ ;
+設計者 < sekkeisha\ ;
+無神論 < mushinron\ ;
+無為無策 < muimusaku\ ;
+有袋類 < yuutairui\ ;
+一殺那 < issetsuna\ ;
+心理戦 < shinrisen\ ;
+御歴歴 < orekireki\ ;
+不平等 < fubyoudou\ ;
+利尿剤 < rinyouzai\ ;
+穴隙 < ketsugeki\ ;
+牧歌的 < bokkateki\ ;
+漸近線 < zenkinsen\ ;
+子安貝 < koyasukai\ ;
+旅日記 < tabinikki\ ;
+売上金 < uriagekin\ ;
+受給者 < jukyuusha\ ;
+明年度 < myounendo\ ;
+二枚舌 < nimaijita\ ;
+三重冠 < sanjuukan\ ;
+誘電子 < yuudenshi\ ;
+錯雑 < sakuzatsu\ ;
+圧密 < atsumitsu\ ;
+関係詞 < kankeishi\ ;
+紡錘形 < bousuikei\ ;
+奉幣使 < houheishi\ ;
+市民法 < shiminhou\ ;
+最敬礼 < saikeirei\ ;
+椴 < todomatsu\ ;
+苦学生 < kugakusei\ ;
+小生意気 < konamaiki\ ;
+得意先 < tokuisaki\ ;
+雨仕度 < amajitaku\ ;
+周波帯 < shuuhatai\ ;
+漬物 < tsukemono\ ;
+管制官 < kanseikan\ ;
+蜜豆 < mitsumame\ ;
+漂着 < hyouchaku\ ;
+燃料費 < nenryouhi\ ;
+量記号 < ryoukigou\ ;
+発光体 < hakkoutai\ ;
+半円形 < han''enkei\ ;
+汚染除去 < osenjokyo\ ;
+提出 < teishutsu\ ;
+円虫類 < enchuurui\ ;
+扶養義務 < fuyougimu\ ;
+懸想文 < kesoubumi\ ;
+検潮器 < kenchouki\ ;
+姉妹編 < shimaihen\ ;
+血糖値 < kettouchi\ ;
+深靴 < fukagutsu\ ;
+無重量 < mujuuryou\ ;
+電話帳 < denwachou\ ;
+午前中 < gozenchuu\ ;
+営業所 < eigyousho\ ;
+節欲 < setsuyoku\ ;
+米市場 < beiichiba\ ;
+不動心 < fudoushin\ ;
+袋帯 < fukuroobi\ ;
+小判形 < kobangata\ ;
+照明器 < shoumeiki\ ;
+徹甲弾 < tekkoudan\ ;
+宮内庁 < kunaichou\ ;
+擬古主義 < gikoshugi\ ;
+市民権 < shiminken\ ;
+穀食 < kokushoku\ ;
+半舷砲 < hangenhou\ ;
+権威筋 < ken''isuji\ ;
+変電所 < hendensho\ ;
+積雪 < sekisetsu\ ;
+電解液 < denkaieki\ ;
+雲上人 < unjoubito\ ;
+節榑 < fushikure\ ;
+一周年 < isshuunen\ ;
+血族 < ketsuzoku\ ;
+管制塔 < kanseitou\ ;
+華厳経 < kegonkyou\ ;
+対情報 < taijouhou\ ;
+格変化 < kakuhenka\ ;
+教育家 < kyouikuka\ ;
+安息香 < ansokukou\ ;
+石鹸水 < sekkensui\ ;
+不勉強 < fubenkyou\ ;
+塩化物 < enkabutsu\ ;
+九寸五分 < kusungobu\ ;
+両用機 < ryouyouki\ ;
+当世風 < touseifuu\ ;
+策略 < sakuryaku\ ;
+格天井 < goutenjou\ ;
+中耕機 < chuukouki\ ;
+不適格 < futekkaku\ ;
+遠心分 < enshinbun\ ;
+鍼術 < shinjutsu\ ;
+普通法 < futsuuhou\ ;
+媒染剤 < baisenzai\ ;
+破裂音 < haretsuon\ ;
+主観論 < shukanron\ ;
+二番作 < nibansaku\ ;
+生命線 < seimeisen\ ;
+空対空 < kuutaikuu\ ;
+猛吹雪 < moufubuki\ ;
+拓殖 < takushoku\ ;
+高射砲 < koushahou\ ;
+一歩銀 < ichibugin\ ;
+奈良漬 < naradzuke\ ;
+形象化 < keishouka\ ;
+内地人 < naichijin\ ;
+石南花 < shakunage\ ;
+傀儡師 < kairaishi\ ;
+一歩金 < ichibukin\ ;
+女郎蜘蛛 < jorougumo\ ;
+痩我慢 < yasegaman\ ;
+蛙跳 < kaerutobi\ ;
+悪因縁 < akuin''nen\ ;
+不眠症 < fuminshou\ ;
+電解槽 < denkaisou\ ;
+法華宗 < hokkeshuu\ ;
+一瞬間 < isshunkan\ ;
+正三位 < shousanmi\ ;
+弾道弾 < dandoudan\ ;
+混合林 < kongourin\ ;
+水墨画 < suibokuga\ ;
+交易会 < kouekikai\ ;
+高楊子 < takayouji\ ;
+権威的 < ken''iteki\ ;
+社用車 < shayousha\ ;
+分水嶺 < bunsuirei\ ;
+子供用 < kodomoyou\ ;
+親孝行 < oyakoukou\ ;
+発射筒 < hasshatou\ ;
+拾万円 < juuman''en\ ;
+勤皇家 < kin''nouka\ ;
+乳化剤 < nyuukazai\ ;
+近地点 < kinchiten\ ;
+圧力 < atsuryoku\ ;
+無競争 < mukyousou\ ;
+交際法 < kousaihou\ ;
+参与者 < san''yosha\ ;
+竹箒 < takebouki\ ;
+飲料水 < inryousui\ ;
+鼻面 < hanadzura\ ;
+秋日和 < akibiyori\ ;
+区役所 < kuyakusho\ ;
+立志伝 < risshiden\ ;
+天秤棒 < tenbinbou\ ;
+変調器 < henchouki\ ;
+関係者 < kankeisha\ ;
+不随意筋 < fuzuiikin\ ;
+大成功 < daiseikou\ ;
+二人称 < nininshou\ ;
+偶像視 < guuzoushi\ ;
+偶蹄類 < guuteirui\ ;
+来訪者 < raihousha\ ;
+騒乱罪 < souranzai\ ;
+完成品 < kanseihin\ ;
+移行期間 < ikoukikan\ ;
+袖口 < sodeguchi\ ;
+創造性 < souzousei\ ;
+捻出 < nenshutsu\ ;
+又請負 < mataukeoi\ ;
+金閣寺 < kinkakuji\ ;
+誘電体 < yuudentai\ ;
+南京米 < nankinmai\ ;
+無神経 < mushinkei\ ;
+銀交換 < ginkoukan\ ;
+嵙 < yamashina\ ;
+製塩業 < seiengyou\ ;
+教会員 < kyoukaiin\ ;
+啓蟄 < keichitsu\ ;
+搭乗券 < toujouken\ ;
+過硫酸 < karyuusan\ ;
+運命的 < unmeiteki\ ;
+観桜会 < kan''oukai\ ;
+涙雨 < namidaame\ ;
+無礼者 < bureimono\ ;
+構文法 < koubunpou\ ;
+篤実 < tokujitsu\ ;
+鎖糸 < kusariito\ ;
+禿鷲 < hagewashi\ ;
+血尿 < ketsunyou\ ;
+接近戦 < sekkinsen\ ;
+無法者 < muhoumono\ ;
+懲罰 < choubatsu\ ;
+不適当 < futekitou\ ;
+無水鍋 < musuinabe\ ;
+月給日 < gekkyuubi\ ;
+国力 < kokuryoku\ ;
+斥候隊 < sekkoutai\ ;
+創業費 < sougyouhi\ ;
+国別 < kunibetsu\ ;
+重要性 < juuyousei\ ;
+総売上 < souuriage\ ;
+十円玉 < juuendama\ ;
+抽斗 < hikidashi\ ;
+倫理学 < rinrigaku\ ;
+一週間 < isshuukan\ ;
+社内報 < shanaihou\ ;
+住宅費 < juutakuhi\ ;
+屈地性 < kutchisei\ ;
+付加価値 < fukakachi\ ;
+築山 < tsukiyama\ ;
+国有化 < kokuyuuka\ ;
+通風機 < tsuufuuki\ ;
+家屋敷 < ieyashiki\ ;
+山椒魚 < sanshouuo\ ;
+公文書 < koubunsho\ ;
+決定論 < ketteiron\ ;
+保証人 < hoshounin\ ;
+沿海州 < enkaishuu\ ;
+不道徳 < fudoutoku\ ;
+便乗者 < binjousha\ ;
+一升瓶 < isshoubin\ ;
+空腹時 < kuufukuji\ ;
+前衛戦 < zen''eisen\ ;
+袖付 < sodetsuke\ ;
+感情論 < kanjouron\ ;
+支配権 < shihaiken\ ;
+団子鼻 < dangobana\ ;
+全論点 < zenronten\ ;
+扼殺 < yakusatsu\ ;
+道化者 < doukemono\ ;
+西洋紙 < seiyoushi\ ;
+書記長 < shokichou\ ;
+土壌汚染 < dojouosen\ ;
+血塗 < chimidoro\ ;
+忌言葉 < imikotoba\ ;
+難事業 < nanjigyou\ ;
+付帯的 < futaiteki\ ;
+高飛車 < takabisha\ ;
+電話中 < denwachuu\ ;
+黄道帯 < koudoutai\ ;
+高校生 < koukousei\ ;
+麹黴 < koujikabi\ ;
+涙金 < namidakin\ ;
+肺水腫 < haisuishu\ ;
+商用語 < shouyougo\ ;
+略記法 < ryakkihou\ ;
+血圧 < ketsuatsu\ ;
+潮境 < shiozakai\ ;
+葡萄棚 < budoudana\ ;
+奉公人 < houkounin\ ;
+稟質 < hinshitsu\ ;
+湿田 < shitsuden\ ;
+仏法僧 < buppousou\ ;
+黒髪 < kokuhatsu\ ;
+体育祭 < taiikusai\ ;
+普通弾 < futsuudan\ ;
+戦中派 < senchuuha\ ;
+高山帯 < kouzantai\ ;
+性犯罪 < seihanzai\ ;
+民芸品 < mingeihin\ ;
+親会社 < oyagaisha\ ;
+打消 < uchikeshi\ ;
+参賀帳 < sangachou\ ;
+三輪車 < sanrinsha\ ;
+産科学 < sankagaku\ ;
+車内灯 < shanaitou\ ;
+医務室 < imushitsu\ ;
+永続性 < eizokusei\ ;
+表側 < omotegawa\ ;
+探検隊 < tankentai\ ;
+実務家 < jitsumuka\ ;
+必須格 < hissukaku\ ;
+大和歌 < yamatouta\ ;
+丸太材 < marutazai\ ;
+研修所 < kenshuujo\ ;
+公明党 < koumeitou\ ;
+絵空言 < esoragoto\ ;
+羅針盤 < rashinban\ ;
+上院議員 < jouingiin\ ;
+器量人 < kiryoujin\ ;
+国際語 < kokusaigo\ ;
+四辺形 < shihenkei\ ;
+発作的 < hossateki\ ;
+聾学校 < rougakkou\ ;
+鐘撞 < kanetsuki\ ;
+掃海艇 < soukaitei\ ;
+参考書 < sankousho\ ;
+化粧品 < keshouhin\ ;
+地平面 < chiheimen\ ;
+行列 < gyouretsu\ ;
+低能者 < teinousha\ ;
+先験論 < senkenron\ ;
+集英社 < shuueisha\ ;
+用水池 < yousuichi\ ;
+受難劇 < junangeki\ ;
+倉庫業 < soukogyou\ ;
+千六本 < senroppon\ ;
+輸入品 < yunyuuhin\ ;
+化粧台 < keshoudai\ ;
+塩加減 < shiokagen\ ;
+娘子軍 < joushigun\ ;
+自治省 < jichishou\ ;
+尾長猿 < onagazaru\ ;
+警防団 < keiboudan\ ;
+正解者 < seikaisha\ ;
+限度額 < gendogaku\ ;
+再洗礼 < saisenrei\ ;
+姉妹校 < shimaikou\ ;
+格闘技 < kakutougi\ ;
+青春期 < seishunki\ ;
+速記録 < sokkiroku\ ;
+優勝馬 < yuushouba\ ;
+凩 < kogarashi\ ;
+気候学 < kikougaku\ ;
+病院船 < byouinsen\ ;
+国文科 < kokubunka\ ;
+担当者 < tantousha\ ;
+来場者 < raijousha\ ;
+才槌 < saidzuchi\ ;
+排水溝 < haisuikou\ ;
+峻下剤 < shungezai\ ;
+外商部 < gaishoubu\ ;
+湿潤 < shitsujun\ ;
+鼻衝 < hanatsuki\ ;
+正方形 < seihoukei\ ;
+渋紙 < shibugami\ ;
+月経帯 < gekkeitai\ ;
+角行灯 < kakuandon\ ;
+課徴金 < kachoukin\ ;
+交換船 < koukansen\ ;
+保管証 < hokanshou\ ;
+添加物 < tenkamono\ ;
+鼠講 < nezumikou\ ;
+来観者 < raikansha\ ;
+御家騒動 < oiesoudou\ ;
+鏡板 < kagamiita\ ;
+綺羅星 < kiraboshi\ ;
+山岳部 < sangakubu\ ;
+発展性 < hattensei\ ;
+空穴 < karaketsu\ ;
+協定案 < kyouteian\ ;
+麦飯 < mugimeshi\ ;
+鋼色 < haganeiro\ ;
+注射器 < chuushaki\ ;
+払暁 < futsugyou\ ;
+司法権 < shihouken\ ;
+虫螻 < mushikera\ ;
+正攻法 < seikouhou\ ;
+手拍子 < tebyoushi\ ;
+社会面 < shakaimen\ ;
+象皮病 < zouhibyou\ ;
+禁反言 < kinhangen\ ;
+無双窓 < musoumado\ ;
+時間割 < jikanwari\ ;
+用心棒 < youjinbou\ ;
+再感染 < saikansen\ ;
+毛製品 < mouseihin\ ;
+二度三度 < nidosando\ ;
+高祖頭巾 < kosozukin\ ;
+格納庫 < kakunouko\ ;
+総索引 < sousakuin\ ;
+予審廷 < yoshintei\ ;
+茶屋酒 < chayazake\ ;
+四分円 < shibun''en\ ;
+佗住居 < wabizumai\ ;
+片手桶 < katateoke\ ;
+創刊号 < soukangou\ ;
+四分六 < shiburoku\ ;
+童歌 < warabeuta\ ;
+防潜網 < bousenmou\ ;
+打擲 < chouchaku\ ;
+名刺判 < meishiban\ ;
+河童巻 < kappamaki\ ;
+勲一等 < kun''ittou\ ;
+反物屋 < tanmonoya\ ;
+予備部品 < yobibuhin\ ;
+互譲的 < gojouteki\ ;
+世界的 < sekaiteki\ ;
+御迷惑 < gomeiwaku\ ;
+三部作 < sanbusaku\ ;
+活量 < katsuryou\ ;
+正面図 < shoumenzu\ ;
+表具師 < hyougushi\ ;
+不適任 < futekinin\ ;
+経企庁 < keikichou\ ;
+運動領 < undouryou\ ;
+先般来 < senpanrai\ ;
+定冠詞 < teikanshi\ ;
+自己批判 < jikohihan\ ;
+接尾辞 < setsubiji\ ;
+水無月 < minadzuki\ ;
+駐在員 < chuuzaiin\ ;
+噴出 < funshutsu\ ;
+渋皮 < shibukawa\ ;
+輸尿管 < yunyoukan\ ;
+藁靴 < waragutsu\ ;
+国防費 < kokubouhi\ ;
+侍従長 < jijuuchou\ ;
+鎖樋 < kusaritoi\ ;
+活軸 < katsujiku\ ;
+殺風景 < sappuukei\ ;
+中支那 < nakashina\ ;
+誤挿入 < gosounyuu\ ;
+正教授 < seikyouju\ ;
+休火山 < kyuukazan\ ;
+子守歌 < komoriuta\ ;
+決定稿 < ketteikou\ ;
+防火壁 < boukaheki\ ;
+湿板 < shitsuban\ ;
+浮袋 < ukibukuro\ ;
+台湾人 < taiwanjin\ ;
+活躍 < katsuyaku\ ;
+日章旗 < nisshouki\ ;
+部隊長 < butaichou\ ;
+御真影 < goshin''ei\ ;
+虫腹 < mushibara\ ;
+凝固点 < gyoukoten\ ;
+支店網 < shitenmou\ ;
+数表示 < suuhyouji\ ;
+風向計 < fuukoukei\ ;
+蛍光板 < keikouban\ ;
+新聞舗 < shinbunho\ ;
+西南西 < seinansei\ ;
+避雷針 < hiraishin\ ;
+獅子舞 < shishimai\ ;
+任期中 < ninkichuu\ ;
+方面隊 < houmentai\ ;
+風鈴草 < fuurinsou\ ;
+曲独楽 < kyokugoma\ ;
+真向法 < makkouhou\ ;
+商船旗 < shousenki\ ;
+鼠色 < nezumiiro\ ;
+泥靴 < dorogutsu\ ;
+研修員 < kenshuuin\ ;
+評判記 < hyoubanki\ ;
+普通便 < futsuubin\ ;
+副知事 < fukuchiji\ ;
+母集団 < boshuudan\ ;
+三冠王 < sankan''ou\ ;
+恋愛観 < ren''aikan\ ;
+筆墨 < hitsuboku\ ;
+針鰻 < hariunagi\ ;
+鼻綱 < hanadzuna\ ;
+地役権 < chiekiken\ ;
+筆塚 < fudedzuka\ ;
+普通人 < futsuujin\ ;
+滝壺 < takitsubo\ ;
+再協議 < saikyouki\ ;
+代赭色 < taishairo\ ;
+接尾語 < setsubigo\ ;
+劇作家 < gekisakka\ ;
+重戦車 < juusensha\ ;
+音楽隊 < ongakutai\ ;
+告達 < kokutatsu\ ;
+再禁止 < saikinshi\ ;
+燻蒸剤 < kunjouzai\ ;
+洋裁師 < yousaishi\ ;
+真正面 < mashoumen\ ;
+漏出 < roushutsu\ ;
+筆圧 < hitsuatsu\ ;
+月経前 < gekkeimae\ ;
+窮極 < kyuukyoku\ ;
+低山帯 < teizantai\ ;
+励振器 < reishinki\ ;
+金鯱 < kinshachi\ ;
+英雄的 < eiyuuteki\ ;
+記者席 < kishaseki\ ;
+健康者 < kenkousha\ ;
+肥満症 < himanshou\ ;
+最大値 < saidaichi\ ;
+計画案 < keikakuan\ ;
+華厳宗 < kegonshuu\ ;
+主要点 < shuyouten\ ;
+口髭 < kuchihige\ ;
+虫籠 < mushikago\ ;
+流血 < ryuuketsu\ ;
+憑物 < tsukimono\ ;
+積率 < sekiritsu\ ;
+会員証 < kaiinshou\ ;
+精薄児 < seihakuji\ ;
+挿入図 < sounyuuzu\ ;
+釜飯 < kamameshi\ ;
+丁年者 < teinensha\ ;
+深爪 < fukadzume\ ;
+竹帛 < chikuhaku\ ;
+監査役 < kansayaku\ ;
+薄化粧 < usugeshou\ ;
+出勤簿 < shukkinbo\ ;
+中央線 < chuuousen\ ;
+履歴書 < rirekisho\ ;
+泡銭 < abukuzeni\ ;
+養嗣子 < youshishi\ ;
+悪質 < akushitsu\ ;
+大海原 < oounabara\ ;
+低価格 < teikakaku\ ;
+交際上 < kousaijou\ ;
+麻袋 < asabukuro\ ;
+参考品 < sankouhin\ ;
+神経科 < shinkeika\ ;
+小作農 < kosakunou\ ;
+自画自賛 < jigajisan\ ;
+私文書 < shibunsho\ ;
+決定版 < ketteiban\ ;
+心不全 < shinfuzen\ ;
+乳幼児 < nyuuyouji\ ;
+規則書 < kisokusho\ ;
+滝口 < takiguchi\ ;
+加除式 < kajoshiki\ ;
+鼠算 < nezumizan\ ;
+湿式 < shisshiki\ ;
+司法官 < shihoukan\ ;
+穀物 < kokumotsu\ ;
+空対地 < kuutaichi\ ;
+正視眼 < seishigan\ ;
+早慶戦 < soukeisen\ ;
+泥道 < doromichi\ ;
+古靴 < furugutsu\ ;
+掘削機 < kussakuki\ ;
+未確定 < mikakutei\ ;
+高架橋 < koukakyou\ ;
+沈鬱 < chin''utsu\ ;
+個別化 < kobetsuka\ ;
+君達 < kimitachi\ ;
+挿入句 < sounyuuku\ ;
+鷲鼻 < washibana\ ;
+折伏 < shakubuku\ ;
+鼠穴 < nezumiana\ ;
+滑台 < suberidai\ ;
+政権党 < seikentou\ ;
+射利心 < sharishin\ ;
+竜巻 < tatsumaki\ ;
+釣鐘 < tsurigane\ ;
+監察医 < kansatsui\ ;
+道化方 < doukegata\ ;
+半二重 < han''nijuu\ ;
+禁治産 < kinchisan\ ;
+首位打者 < shuidasha\ ;
+単語集 < tangoshuu\ ;
+用水地 < yousuiike\ ;
+車高短 < shakoutan\ ;
+近海魚 < kinkaigyo\ ;
+木金土 < mokukindo\ ;
+持続性 < jizokusei\ ;
+名工大 < meikoudai\ ;
+支配人 < shihainin\ ;
+幹事長 < kanjichou\ ;
+長水路 < chousuiro\ ;
+平党員 < hiratouin\ ;
+循環線 < junkansen\ ;
+下剋上 < gekokujou\ ;
+満室 < manshitsu\ ;
+上層風 < jousoufuu\ ;
+圧延鋼 < atsuenkou\ ;
+因果応報 < ingaouhou\ ;
+準教員 < junkyouin\ ;
+鷦鷯 < misosazai\ ;
+凹眼鏡 < ougankyou\ ;
+物価高 < bukkadaka\ ;
+誘拐罪 < yuukaizai\ ;
+端女 < hashitame\ ;
+循環系 < junkankei\ ;
+釣針 < tsuribari\ ;
+派生的 < haseiteki\ ;
+素反応 < sohan''nou\ ;
+在郷者 < zaigousha\ ;
+金鎖 < kingusari\ ;
+北海道 < hokkaidou\ ;
+下女下男 < gejogenan\ ;
+林檎病 < ringobyou\ ;
+藤蔓 < fujidzuru\ ;
+薬事法 < yakujihou\ ;
+短毛種 < tanmoushu\ ;
+概念論 < gainenron\ ;
+鉛色 < namariiro\ ;
+道徳家 < doutokuka\ ;
+参与官 < san''yokan\ ;
+渋柿 < shibugaki\ ;
+最終案 < saishuuan\ ;
+世界新 < sekaishin\ ;
+参考人 < sankounin\ ;
+屋台骨 < yataibone\ ;
+大歓迎 < daikangei\ ;
+上層階 < jousoukai\ ;
+一切経 < issaikyou\ ;
+古鉄 < furutetsu\ ;
+再配置 < saihaichi\ ;
+肌襦袢 < hadajuban\ ;
+六角形 < rokkakkei\ ;
+新生児 < shinseiji\ ;
+鈴虫 < suzumushi\ ;
+醜業婦 < shugyoufu\ ;
+同質 < doushitsu\ ;
+裁判権 < saibanken\ ;
+大神宮 < daijinguu\ ;
+正教員 < seikyouin\ ;
+口金 < kuchigane\ ;
+突撃 < totsugeki\ ;
+悪戯着 < itazuragi\ ;
+昼行灯 < hiruandon\ ;
+地平線 < chiheisen\ ;
+安楽椅子 < anrakuisu\ ;
+配電線 < haidensen\ ;
+白頭翁 < hakutouou\ ;
+発射台 < hasshadai\ ;
+黒縁 < kurobuchi\ ;
+主陣地 < shujinchi\ ;
+感想文 < kansoubun\ ;
+消化系 < shoukakei\ ;
+鎮圧 < chin''atsu\ ;
+主観性 < shukansei\ ;
+大法廷 < daihoutei\ ;
+最終日 < saishuubi\ ;
+決定権 < ketteiken\ ;
+喪失 < soushitsu\ ;
+兎小屋 < usagigoya\ ;
+多神論 < tashinron\ ;
+委員付託 < iinfutaku\ ;
+後半生 < kouhansei\ ;
+種油 < taneabura\ ;
+増訂版 < zouteiban\ ;
+所在地 < shozaichi\ ;
+災害地 < saigaichi\ ;
+消化管 < shoukakan\ ;
+年代順 < nendaijun\ ;
+神経炎 < shinkeien\ ;
+奉仕者 < houshisha\ ;
+唐櫃 < karabitsu\ ;
+再受浸 < saijushin\ ;
+口軽 < kuchigaru\ ;
+窮屈 < kyuukutsu\ ;
+予備運動 < yobiundou\ ;
+二人前 < futarimae\ ;
+富士壺 < fujitsubo\ ;
+遺産管理 < isankanri\ ;
+百貨店 < hyakkaten\ ;
+横断幕 < oudanmaku\ ;
+二人分 < futaribun\ ;
+納税者 < nouzeisha\ ;
+酸性紙 < sanseishi\ ;
+左右軸 < sayuujiku\ ;
+天水桶 < tensuioke\ ;
+黒竹 < kurochiku\ ;
+友達 < tomodachi\ ;
+品物 < shinamono\ ;
+貴金属 < kikinzoku\ ;
+波羅蜜 < haramitsu\ ;
+狩猟期 < shuryouki\ ;
+文法書 < bunpousho\ ;
+竹光 < takemitsu\ ;
+藁苞 < waradzuto\ ;
+占領下 < senryouka\ ;
+燃焼炉 < nenshouro\ ;
+古筆家 < kohitsuka\ ;
+防衛庁 < boueichou\ ;
+大祭司 < daisaishi\ ;
+唐松 < karamatsu\ ;
+雛罌粟 < hinageshi\ ;
+全天候 < zentenkou\ ;
+超短波 < choutanpa\ ;
+放射能 < houshanou\ ;
+前科者 < zenkamono\ ;
+長野県 < naganoken\ ;
+知恵熱 < chienetsu\ ;
+包装紙 < housoushi\ ;
+争議行為 < sougikoui\ ;
+米産地 < beisanchi\ ;
+八角形 < hakkakkei\ ;
+五大洲 < godaishuu\ ;
+新学期 < shingakki\ ;
+麻婆豆腐 < mābodoufu\ ;
+配電盤 < haidenban\ ;
+英文学 < eibungaku\ ;
+蚊柱 < kabashira\ ;
+御兄弟 < gokyoudai\ ;
+裁判所 < saibansho\ ;
+参院選 < san''insen\ ;
+竹串 < takegushi\ ;
+軍人風 < gunjinfuu\ ;
+無得点 < mutokuten\ ;
+論理的 < ronriteki\ ;
+黒白 < kokubyaku\ ;
+劃期的 < kakkiteki\ ;
+神罰 < shinbatsu\ ;
+油蝉 < aburazemi\ ;
+三省堂 < sanseidou\ ;
+取説 < torisetsu\ ;
+虚弱児 < kyojakuji\ ;
+文化映画 < bunkaeiga\ ;
+当事国 < toujikoku\ ;
+論争者 < ronsousha\ ;
+放射線 < houshasen\ ;
+蛸壼 < takotsubo\ ;
+崇拝者 < suuhaisha\ ;
+健康法 < kenkouhou\ ;
+怪文書 < kaibunsho\ ;
+逮捕歴 < taihoreki\ ;
+筆頭者 < hittousha\ ;
+湧出 < youshutsu\ ;
+空室 < kuushitsu\ ;
+乾生姜 < kanshouga\ ;
+生残者 < seizansha\ ;
+淡水魚 < tansuigyo\ ;
+贈答品 < zoutouhin\ ;
+交換手 < koukanshu\ ;
+蛍光体 < keikoutai\ ;
+氷点下 < hyoutenka\ ;
+誘拐犯 < yuukaihan\ ;
+煎玉子 < iritamago\ ;
+興信所 < koushinjo\ ;
+甘味料 < kanmiryou\ ;
+試験紙 < shikenshi\ ;
+肉襦袢 < nikujuban\ ;
+監守人 < kanshunin\ ;
+増大号 < zoudaigou\ ;
+滑走輪 < kassourin\ ;
+再創造 < saisouzou\ ;
+戸籍法 < kosekihou\ ;
+錘形 < tsumugata\ ;
+荒物屋 < aramonoya\ ;
+中西部 < chuuseibu\ ;
+自動的 < jidouteki\ ;
+借家人 < shakkanin\ ;
+法学部 < hougakubu\ ;
+軍資金 < gunshikin\ ;
+文法性 < bunpousei\ ;
+農夫症 < noufushou\ ;
+材料費 < zairyouhi\ ;
+催涙銃 < sairuijuu\ ;
+変換子 < henkanshi\ ;
+材木屋 < zaimokuya\ ;
+貧窮化 < hinkyuuka\ ;
+早合点 < hayagaten\ ;
+車馬賃 < shabachin\ ;
+竜騎兵 < ryuukihei\ ;
+土台石 < dodaiishi\ ;
+試験管 < shikenkan\ ;
+大反対 < daihantai\ ;
+非国民 < hikokumin\ ;
+小豆鱒 < azukimasu\ ;
+莢豌豆 < sayaendou\ ;
+両替機 < ryougaeki\ ;
+綿火薬 < menkayaku\ ;
+人民軍 < jinmingun\ ;
+欠勤者 < kekkinsha\ ;
+小作米 < kosakumai\ ;
+泥板岩 < deibangan\ ;
+擬革紙 < gikakushi\ ;
+貴重品 < kichouhin\ ;
+火山礫 < kazanreki\ ;
+顔写真 < kaojashin\ ;
+共演者 < kyouensha\ ;
+救護班 < kyuugohan\ ;
+金蔓 < kanedzuru\ ;
+再循環 < saijunkan\ ;
+意味内容 < iminaiyou\ ;
+荻江節 < ogiebushi\ ;
+集光器 < shuukouki\ ;
+一部分 < ichibubun\ ;
+釣船 < tsuribune\ ;
+装甲車 < soukousha\ ;
+新世紀 < shinseiki\ ;
+予備判事 < yobihanji\ ;
+鉢物 < hachimono\ ;
+浚渫 < shunsetsu\ ;
+淑徳 < shukutoku\ ;
+祝福 < shukufuku\ ;
+裁判官 < saibankan\ ;
+出勤日 < shukkinbi\ ;
+送信機 < soushinki\ ;
+没落 < botsuraku\ ;
+窓口 < madoguchi\ ;
+雑居地 < zakkyochi\ ;
+英数国 < eisuukoku\ ;
+保管料 < hokanryou\ ;
+武家時代 < bukejidai\ ;
+半貴石 < hankiseki\ ;
+軍用機 < gun''youki\ ;
+品柄 < shinagara\ ;
+医療過誤 < iryoukago\ ;
+虎落笛 < mogaribue\ ;
+生還者 < seikansha\ ;
+懇談会 < kondankai\ ;
+未公表 < mikouhyou\ ;
+西洋人 < seiyoujin\ ;
+田舎者 < inakamono\ ;
+吸着 < kyuuchaku\ ;
+消化液 < shoukaeki\ ;
+武家政治 < bukeseiji\ ;
+女王陛下 < joouheika\ ;
+穴居人 < kekkyojin\ ;
+妨業員 < bougyouin\ ;
+風呂敷 < furoshiki\ ;
+口脇 < kuchiwaki\ ;
+何曜日 < nan''youbi\ ;
+警戒線 < keikaisen\ ;
+確説 < kakusetsu\ ;
+交換嬢 < koukanjou\ ;
+大道芸 < daidougei\ ;
+停止線 < teishisen\ ;
+薄緑 < usumidori\ ;
+品数 < shinakazu\ ;
+勉強家 < benkyouka\ ;
+浪漫的 < romanteki\ ;
+勧世縒 < kanzeyori\ ;
+竹細工 < takezaiku\ ;
+産卵口 < sanrankou\ ;
+感動詞 < kandoushi\ ;
+水圧機 < suiatsuki\ ;
+音楽祭 < ongakusai\ ;
+鹿皮 < shikagawa\ ;
+黙殺 < mokusatsu\ ;
+人情本 < ninjoubon\ ;
+皇霊殿 < koureiden\ ;
+恐縮 < kyoushuku\ ;
+使命者 < shimeisha\ ;
+突出 < tosshutsu\ ;
+代用品 < daiyouhin\ ;
+葉菜類 < yousairui\ ;
+都風 < miyakofuu\ ;
+油糟 < aburakasu\ ;
+写真機 < shashinki\ ;
+水質 < suishitsu\ ;
+男伊達 < otokodate\ ;
+兵站線 < heitansen\ ;
+帯電体 < taidentai\ ;
+突入 < totsunyuu\ ;
+文化的 < bunkateki\ ;
+未発表 < mihappyou\ ;
+先住民 < senjuumin\ ;
+途上国 < tojoukoku\ ;
+大気汚染 < taikiosen\ ;
+半音階 < han''onkai\ ;
+白木屋 < shirokiya\ ;
+仕様書 < shiyousho\ ;
+民事的 < minjiteki\ ;
+成層圏 < seisouken\ ;
+蒸気圧 < joukiatsu\ ;
+両替所 < ryougaejo\ ;
+稠密 < choumitsu\ ;
+黒樫 < kurogashi\ ;
+活歴 < katsureki\ ;
+後半戦 < kouhansen\ ;
+口紅 < kuchibeni\ ;
+右端 < migihashi\ ;
+幽寂味 < yuujakumi\ ;
+帝王学 < teiougaku\ ;
+貯水池 < chosuichi\ ;
+薬瓶 < kusuribin\ ;
+哲学 < tetsugaku\ ;
+新世界 < shinsekai\ ;
+命令法 < meireihou\ ;
+基礎工事 < kisokouji\ ;
+現像液 < genzoueki\ ;
+観覧車 < kanransha\ ;
+会社葬 < kaishasou\ ;
+鉄渋 < kanashibu\ ;
+禁酒法 < kinshuhou\ ;
+脳膜炎 < noumakuen\ ;
+収縮 < shuushuku\ ;
+台秤 < daibakari\ ;
+文部省 < monbushou\ ;
+軍事通 < gunjitsuu\ ;
+脳腫瘍 < noushuyou\ ;
+世界一 < sekaiichi\ ;
+必読 < hitsudoku\ ;
+博識 < hakushiki\ ;
+再分配 < saibunpai\ ;
+掛布団 < kakebuton\ ;
+外洋船 < gaiyousen\ ;
+黒松 < kuromatsu\ ;
+組職図 < soshokuzu\ ;
+無理往生 < murioujou\ ;
+交換品 < koukanhin\ ;
+火食鳥 < hikuidori\ ;
+貯水槽 < chosuisou\ ;
+海水魚 < kaisuigyo\ ;
+精進日 < shoujinbi\ ;
+卓識 < takushiki\ ;
+薬物 < yakubutsu\ ;
+三色旗 < sanshokki\ ;
+逃亡者 < toubousha\ ;
+道具箱 < dougubako\ ;
+出廷日 < shutteibi\ ;
+画学紙 < gagakushi\ ;
+氷蝕 < hyoushoku\ ;
+貯蔵所 < chozousho\ ;
+東海道 < toukaidou\ ;
+交換台 < koukandai\ ;
+戦時中 < senjichuu\ ;
+卓説 < takusetsu\ ;
+黒星 < kuroboshi\ ;
+混分数 < konbunsuu\ ;
+生石灰 < seisekkai\ ;
+不検束 < fukensoku\ ;
+小松菜 < komatsuna\ ;
+贈呈者 < zouteisha\ ;
+類概念 < ruigainen\ ;
+任天堂 < nintendou\ ;
+南方産 < nanpousan\ ;
+結納金 < yuinoukin\ ;
+秀抜 < shuubatsu\ ;
+心血 < shinketsu\ ;
+太刀筋 < tachisuji\ ;
+水虫 < mizumushi\ ;
+蔓草 < tsurukusa\ ;
+強飯 < kowameshi\ ;
+熟字訓 < jukujikun\ ;
+声明書 < seimeisho\ ;
+問題点 < mondaiten\ ;
+分工場 < bunkoujou\ ;
+定年制 < teinensei\ ;
+地元紙 < jimotoshi\ ;
+預託金 < yotakukin\ ;
+防空砲 < boukuuhou\ ;
+静圧比 < seiatsuhi\ ;
+葛餅 < kuzumochi\ ;
+回顧録 < kaikoroku\ ;
+鶉豆 < uzuramame\ ;
+両替屋 < ryougaeya\ ;
+人気者 < ninkimono\ ;
+不良品 < furyouhin\ ;
+小便所 < shoubenjo\ ;
+循環性 < junkansei\ ;
+商用化 < shouyouka\ ;
+交換円 < koukan''en\ ;
+試験法 < shikenhou\ ;
+学園祭 < gakuensai\ ;
+何時時分 < itsujibun\ ;
+金盥 < kanadarai\ ;
+口癖 < kuchiguse\ ;
+第六感 < dairokkan\ ;
+貧民街 < hinmingai\ ;
+命令書 < meireisho\ ;
+半導体 < handoutai\ ;
+石頭 < ishiatama\ ;
+鳥黐 < torimochi\ ;
+涙声 < namidagoe\ ;
+兵器廠 < heikishou\ ;
+落髪 < rakuhatsu\ ;
+裁判上 < saibanjou\ ;
+売春婦 < baishunpu\ ;
+勅額 < chokugaku\ ;
+配電所 < haidensho\ ;
+社交界 < shakoukai\ ;
+優勝旗 < yuushouki\ ;
+手品師 < tejinashi\ ;
+髄膜炎 < zuimakuen\ ;
+修道院 < shuudouin\ ;
+卵色 < tamagoiro\ ;
+海蛇座 < umihebiza\ ;
+稲光 < inabikari\ ;
+命令文 < meireibun\ ;
+東洋風 < touyoufuu\ ;
+弟息子 < otomusuko\ ;
+五大国 < godaikoku\ ;
+接骨医 < sekkotsui\ ;
+望遠鏡 < bouenkyou\ ;
+梅雨空 < tsuyuzora\ ;
+工員寮 < kouinryou\ ;
+無遊病 < muyuubyou\ ;
+殿達 < tonotachi\ ;
+国際化 < kokusaika\ ;
+驚異的 < kyouiteki\ ;
+落飾 < rakushoku\ ;
+関東弁 < kantouben\ ;
+相互依存 < sougoizon\ ;
+複合語 < fukugougo\ ;
+弘済会 < kousaikai\ ;
+至近弾 < shikindan\ ;
+本年度 < hon''nendo\ ;
+救護所 < kyuugosho\ ;
+沈着 < chinchaku\ ;
+呑気者 < nonkimono\ ;
+小作権 < kosakuken\ ;
+代理母 < dairihaha\ ;
+分界線 < bunkaisen\ ;
+端境期 < hazakaiki\ ;
+語源学 < gogengaku\ ;
+心電図 < shindenzu\ ;
+健康地 < kenkouchi\ ;
+語彙規則 < goikisoku\ ;
+氏子札 < ujikofuda\ ;
+諸問題 < shomondai\ ;
+口唇期 < koushinki\ ;
+将棋盤 < shougiban\ ;
+獅子唐 < shishitou\ ;
+平信徒 < heishinto\ ;
+祥月 < shoutsuki\ ;
+大気圧 < taikiatsu\ ;
+将軍家 < shougunke\ ;
+千代紙 < chiyogami\ ;
+主戦論 < shusenron\ ;
+劣等生 < rettousei\ ;
+新字体 < shinjitai\ ;
+収率 < shuuritsu\ ;
+納品書 < nouhinsho\ ;
+皇太子 < koutaishi\ ;
+確立 < kakuritsu\ ;
+騒擾罪 < soujouzai\ ;
+半官報 < hankanpou\ ;
+同伴者 < douhansha\ ;
+海鼠板 < namakoban\ ;
+准士官 < junshikan\ ;
+実験者 < jikkensha\ ;
+代理業 < dairigyou\ ;
+一次元 < ichijigen\ ;
+用益権 < youekiken\ ;
+上腕筋 < jouwankin\ ;
+参政権 < sanseiken\ ;
+巡礼者 < junreisha\ ;
+実験群 < jikkengun\ ;
+空景気 < karageiki\ ;
+占者 < uranaisha\ ;
+写真家 < shashinka\ ;
+車椅子 < kurumaisu\ ;
+揮毫料 < kigouryou\ ;
+自己弁護 < jikobengo\ ;
+警告音 < keikokuon\ ;
+教授陣 < kyoujujin\ ;
+初七日 < shonanoka\ ;
+安心感 < anshinkan\ ;
+忠節 < chuusetsu\ ;
+鉢巻 < hachimaki\ ;
+大入道 < oonyuudou\ ;
+社会悪 < shakaiaku\ ;
+咄家 < hanashika\ ;
+主製品 < shuseihin\ ;
+無気力 < mukiryoku\ ;
+社会性 < shakaisei\ ;
+脱脂綿 < dasshimen\ ;
+気象台 < kishoudai\ ;
+命令形 < meireikei\ ;
+論理学 < ronrigaku\ ;
+実体論 < jittairon\ ;
+小会派 < shoukaiha\ ;
+同値性 < douchisei\ ;
+酸性岩 < sanseigan\ ;
+矍鑠 < kakushaku\ ;
+下足番 < gesokuban\ ;
+五十音図 < gojuuonzu\ ;
+斥候兵 < sekkouhei\ ;
+好影響 < koueikyou\ ;
+生化学 < seikagaku\ ;
+試乗車 < shijousha\ ;
+圧制的 < asseiteki\ ;
+炭酸紙 < tansanshi\ ;
+利他主義 < ritashugi\ ;
+再従弟 < saijuutei\ ;
+余計者 < yokeimono\ ;
+毒虫 < dokumushi\ ;
+不寝番 < fushinban\ ;
+理屈屋 < rikutsuya\ ;
+保管人 < hokan''nin\ ;
+優良馬 < yuuryouba\ ;
+運輸量 < un''yuryou\ ;
+卓絶 < takuzetsu\ ;
+太平洋 < taiheiyou\ ;
+貯蔵品 < chozouhin\ ;
+単糖類 < tantourui\ ;
+取消 < torikeshi\ ;
+聚楽第 < jurakudai\ ;
+生半可 < namahanka\ ;
+周密 < shuumitsu\ ;
+蒟蒻 < kon''nyaku\ ;
+協議所 < kyougisho\ ;
+今年度 < kon''nendo\ ;
+各月 < kakutsuki\ ;
+段袋 < danbukuro\ ;
+社会層 < shakaisou\ ;
+思春期 < shishunki\ ;
+放射性 < houshasei\ ;
+虫媒花 < chuubaika\ ;
+加持祈祷 < kajikitou\ ;
+内向性 < naikousei\ ;
+優待券 < yuutaiken\ ;
+四人組 < yoningumi\ ;
+退嬰的 < taieiteki\ ;
+善後策 < zengosaku\ ;
+収没 < shuubotsu\ ;
+鉄屑 < tetsukuzu\ ;
+助手席 < joshuseki\ ;
+火木金 < kamokukin\ ;
+卓筆 < takuhitsu\ ;
+氏子帳 < ujikochou\ ;
+皇太后 < koutaigou\ ;
+取次 < toritsugi\ ;
+特攻隊 < tokkoutai\ ;
+卓立 < takuritsu\ ;
+遺言者 < yuigonsha\ ;
+郷土史 < kyoudoshi\ ;
+正道 < masamichi\ ;
+付属校 < fuzokukou\ ;
+沈没 < chinbotsu\ ;
+統治者 < touchisha\ ;
+名人芸 < meijingei\ ;
+凄文句 < sugomonku\ ;
+戦災者 < sensaisha\ ;
+試作機 < shisakuki\ ;
+黄枯茶 < kigaracha\ ;
+胃腸薬 < ichouyaku\ ;
+毒舌 < dokuzetsu\ ;
+陽電子 < youdenshi\ ;
+磨汁 < togishiru\ ;
+文殊様 < monjusama\ ;
+役職 < yakushoku\ ;
+付属書 < fuzokusho\ ;
+討論者 < touronsha\ ;
+多汗症 < takanshou\ ;
+碧玉 < hekigyoku\ ;
+投手陣 < toushujin\ ;
+中継所 < chuukeijo\ ;
+根拠地 < konkyochi\ ;
+法人税 < houjinzei\ ;
+地元民 < jimotomin\ ;
+年期者 < nenkimono\ ;
+酷熱 < kokunetsu\ ;
+花卉園芸 < kakiengei\ ;
+音楽性 < ongakusei\ ;
+被告人 < hikokunin\ ;
+文化庁 < bunkachou\ ;
+偏向板 < henkouban\ ;
+背任罪 < haininzai\ ;
+傍観者 < boukansha\ ;
+蔵浚 < kurazarae\ ;
+星状体 < seijoutai\ ;
+消化剤 < shoukazai\ ;
+欧州版 < oushuuban\ ;
+和製英語 < waseieigo\ ;
+口早 < kuchibaya\ ;
+小豆粥 < azukigayu\ ;
+汁物 < shirumono\ ;
+系図学 < keizugaku\ ;
+酷烈 < kokuretsu\ ;
+仮名手本 < kanadehon\ ;
+蓄積 < chikuseki\ ;
+書簡箋 < shokansen\ ;
+再配分 < saihaibun\ ;
+弱虫 < yowamushi\ ;
+協議官 < kyougikan\ ;
+同類項 < douruikou\ ;
+自転軸 < jitenjiku\ ;
+忠烈 < chuuretsu\ ;
+上甲板 < joukanpan\ ;
+惜別 < sekibetsu\ ;
+全地方 < zenchihou\ ;
+会社法 < kaishahou\ ;
+活劇 < katsugeki\ ;
+奉仕品 < houshihin\ ;
+截拳道 < sekkendou\ ;
+台所 < daidokoro\ ;
+仕舞屋 < shimotaya\ ;
+折衷案 < setchuuan\ ;
+航空隊 < koukuutai\ ;
+蝦蟇口 < gamaguchi\ ;
+禁止法 < kinshihou\ ;
+道具方 < dougukata\ ;
+後程 < nochihodo\ ;
+旦那芸 < dan''nagei\ ;
+扶養料 < fuyouryou\ ;
+弓術 < kyuujutsu\ ;
+不信心 < fushinjin\ ;
+遠近 < ochikochi\ ;
+力説 < rikisetsu\ ;
+平安朝 < heianchou\ ;
+内野席 < naiyaseki\ ;
+因果律 < ingaritsu\ ;
+英和辞典 < eiwajiten\ ;
+軽演劇 < keiengeki\ ;
+予備会議 < yobikaigi\ ;
+板金工 < bankinkou\ ;
+定価表 < teikahyou\ ;
+篤志家 < tokushika\ ;
+鴬色 < uguisuiro\ ;
+試験場 < shikenjou\ ;
+旅行者 < ryokousha\ ;
+歯齦炎 < shigin''en\ ;
+蛸坊主 < takobouzu\ ;
+博物 < hakubutsu\ ;
+参政官 < sanseikan\ ;
+軍事的 < gunjiteki\ ;
+古銭学 < kosengaku\ ;
+軍官憲 < gunkanken\ ;
+関数論 < kansuuron\ ;
+治療費 < chiryouhi\ ;
+毒筆 < dokuhitsu\ ;
+呑口 < nomiguchi\ ;
+命乞 < inochigoi\ ;
+板金屋 < bankin''ya\ ;
+操車場 < soushajou\ ;
+投融資 < touyuushi\ ;
+社交性 < shakousei\ ;
+擬爆弾 < gibakudan\ ;
+竹蜻蛉 < taketonbo\ ;
+恋心 < koigokoro\ ;
+超党派 < choutouha\ ;
+問題外 < mondaigai\ ;
+一般的 < ippanteki\ ;
+資本金 < shihonkin\ ;
+悪口 < waruguchi\ ;
+男子用 < danshiyou\ ;
+初雪 < hatsuyuki\ ;
+社会党 < shakaitou\ ;
+厭世的 < enseiteki\ ;
+弱腰 < yowagoshi\ ;
+訓練生 < kunrensei\ ;
+逆鞘 < gyakuzaya\ ;
+贈呈本 < zouteibon\ ;
+二院制度 < niinseido\ ;
+年頃 < toshigoro\ ;
+家族法 < kazokuhou\ ;
+人気株 < ninkikabu\ ;
+読後感 < dokugokan\ ;
+単細胞 < tansaibou\ ;
+鳴禽類 < meikinrui\ ;
+内部的 < naibuteki\ ;
+練兵場 < renpeijou\ ;
+夏期時間 < kakijikan\ ;
+大前提 < daizentei\ ;
+着陸 < chakuriku\ ;
+再従兄 < saijuukei\ ;
+告別 < kokubetsu\ ;
+可動橋 < kadoukyou\ ;
+水油 < mizuabura\ ;
+氷水 < koorimizu\ ;
+音楽堂 < ongakudou\ ;
+荒隠元 < sayaingen\ ;
+井戸屋形 < idoyakata\ ;
+洗礼名 < senreimei\ ;
+現業員 < gengyouin\ ;
+一工夫 < hitokufuu\ ;
+前輿 < sakigoshi\ ;
+号室 < goushitsu\ ;
+膝小僧 < hizakozou\ ;
+自己矛盾 < jikomujun\ ;
+作詞家 < sakushika\ ;
+作為的 < sakuiteki\ ;
+小宇宙 < shouuchuu\ ;
+風水害 < fuusuigai\ ;
+大車輪 < daisharin\ ;
+改定版 < kaiteihan\ ;
+社会人 < shakaijin\ ;
+悪影響 < akueikyou\ ;
+西部劇 < seibugeki\ ;
+雑貨商 < zakkashou\ ;
+劣等感 < rettoukan\ ;
+出願 < shutsugan\ ;
+透明性 < toumeisei\ ;
+出題 < shutsudai\ ;
+若夫婦 < wakafuufu\ ;
+鱗雲 < urokogumo\ ;
+鴃舌 < gekizetsu\ ;
+陰陽道 < onmyoudou\ ;
+休憩所 < kyuukeijo\ ;
+配給所 < haikyuujo\ ;
+装身具 < soushingu\ ;
+無欠席 < mukesseki\ ;
+自制心 < jiseishin\ ;
+通釈 < tsuushaku\ ;
+砂粒 < sunatsubu\ ;
+副作用 < fukusayou\ ;
+再選挙 < saisenkyo\ ;
+隠匿者 < intokusha\ ;
+同人種 < doujinshu\ ;
+運送業 < unsougyou\ ;
+内務省 < naimushou\ ;
+炭酸水 < tansansui\ ;
+衛生的 < eiseiteki\ ;
+再発行 < saihakkou\ ;
+遺言状 < yuigonjou\ ;
+速達 < sokutatsu\ ;
+点眼水 < tengansui\ ;
+軽合金 < keigoukin\ ;
+一発屋 < ippatsuya\ ;
+出陣 < shutsujin\ ;
+全製品 < zenseihin\ ;
+通達 < tsuutatsu\ ;
+応召者 < oushousha\ ;
+初釜 < hatsugama\ ;
+古印紙 < furuinshi\ ;
+資本財 < shihonzai\ ;
+回顧的 < kaikoteki\ ;
+二親等 < nishintou\ ;
+交戦権 < kousenken\ ;
+広報誌 < kouhoushi\ ;
+例年祭 < reinensai\ ;
+予防薬 < yobouyaku\ ;
+和声学 < waseigaku\ ;
+出門 < shutsumon\ ;
+音楽史 < ongakushi\ ;
+萎縮腎 < ishukujin\ ;
+盗聴器 < touchouki\ ;
+予約金 < yoyakukin\ ;
+釣堀 < tsuribori\ ;
+春場所 < harubasho\ ;
+租庸調 < soyouchou\ ;
+近頃 < chikagoro\ ;
+鳶職 < tobishoku\ ;
+原子論 < genshiron\ ;
+無機物 < mukibutsu\ ;
+決議案 < ketsugian\ ;
+創作家 < sousakuka\ ;
+爛熟期 < ranjukuki\ ;
+中間派 < chuukanha\ ;
+石筆 < sekihitsu\ ;
+里程標 < riteihyou\ ;
+資本論 < shihonron\ ;
+今様歌 < imayouuta\ ;
+石竹 < sekichiku\ ;
+引綱 < hikidzuna\ ;
+会津塗 < aidzunuri\ ;
+丸坊主 < marubouzu\ ;
+移植性 < ishokusei\ ;
+短筒 < tandzutsu\ ;
+別天地 < bettenchi\ ;
+毒物 < dokubutsu\ ;
+即日 < sokujitsu\ ;
+防空壕 < boukuugou\ ;
+逃道 < nigemichi\ ;
+運送料 < unsouryou\ ;
+神主 < kan''nushi\ ;
+幽霊船 < yuureisen\ ;
+伯備線 < hakubisen\ ;
+胃腸病 < ichoubyou\ ;
+危機管理 < kikikanri\ ;
+合印 < aijirushi\ ;
+基礎体温 < kisotaion\ ;
+卒業 < sotsugyou\ ;
+告示板 < kokujiban\ ;
+小作人 < kosakunin\ ;
+離間策 < rikansaku\ ;
+勝着 < shouchaku\ ;
+弱 < nayonayo\ ;
+蹲 < tsukubai\ ;
+姑 < shuutome\ ;
+塊 < katamari\ ;
+堤 < tsutsumi\ ;
+鼓 < tsudzumi\ ;
+源 < minamoto\ ;
+鶏 < niwatori\ ;
+叢 < kusamura\ ;
+印 < shirushi\ ;
+魂 < tamashii\ ;
+腸 < harawata\ ;
+杯 < sakazuki\ ;
+雷 < kaminari\ ;
+雁 < karigane\ ;
+暁 < akatsuki\ ;
+紫 < murasaki\ ;
+掌 < tenohira\ ;
+抑 < somosomo\ ;
+懐 < futokoro\ ;
+吐出 < toshutsu\ ;
+金型 < kanagata\ ;
+石神 < shakujin\ ;
+名刹 < meisatsu\ ;
+弾着 < danchaku\ ;
+落籍 < rakuseki\ ;
+矢筒 < yadzutsu\ ;
+心服 < shinpuku\ ;
+逆転 < gyakuten\ ;
+合力 < gouryoku\ ;
+薙刀 < naginata\ ;
+同列 < douretsu\ ;
+民数記 < minsuuki\ ;
+鉄砲座 < teppouza\ ;
+盂蘭盆会 < urabon''e\ ;
+文化人 < bunkajin\ ;
+木工所 < mokkoujo\ ;
+医科歯科 < ikashika\ ;
+直面 < chokumen\ ;
+一般法 < ippanhou\ ;
+復業 < fukugyou\ ;
+薄口 < usukuchi\ ;
+労務者 < roumusha\ ;
+草食 < soushoku\ ;
+文庫本 < bunkobon\ ;
+常闇 < tokoyami\ ;
+合冊 < gousatsu\ ;
+剥落 < hakuraku\ ;
+茶髪 < chapatsu\ ;
+速読 < sokudoku\ ;
+厳密 < genmitsu\ ;
+代理人 < dairinin\ ;
+海水着 < kaisuigi\ ;
+出郷 < shukkyou\ ;
+厚底 < atsuzoko\ ;
+自己流 < jikoryuu\ ;
+引窓 < hikimado\ ;
+丁寧語 < teineigo\ ;
+分轄 < bunkatsu\ ;
+音楽会 < ongakkai\ ;
+同胞愛 < douhouai\ ;
+通読 < tsuudoku\ ;
+毛唐人 < ketoujin\ ;
+民事上 < minjijou\ ;
+淡彩画 < tansaiga\ ;
+期待値 < kitaichi\ ;
+遜色 < sonshoku\ ;
+全裸体 < zenratai\ ;
+立体派 < rittaiha\ ;
+追跡 < tsuiseki\ ;
+勲爵 < kunshaku\ ;
+護送船 < gosousen\ ;
+通訳 < tsuuyaku\ ;
+野蛮人 < yabanjin\ ;
+只只 < tadatada\ ;
+友垣 < tomogaki\ ;
+女性軍 < joseigun\ ;
+同趣味 < doushumi\ ;
+半月 < hantsuki\ ;
+可動性 < kadousei\ ;
+不養生 < fuyoujou\ ;
+飽和点 < houwaten\ ;
+真迹 < shinseki\ ;
+既往症 < kioushou\ ;
+吉例 < kitsurei\ ;
+近鉄 < kintetsu\ ;
+茶飯 < chameshi\ ;
+別言 < betsugen\ ;
+殖産 < shokusan\ ;
+金口 < kinguchi\ ;
+造血 < zouketsu\ ;
+鳥籠 < torikago\ ;
+勃発 < boppatsu\ ;
+建築 < kenchiku\ ;
+一致点 < itchiten\ ;
+出身 < shusshin\ ;
+筆記者 < hikkisha\ ;
+十月 < juugatsu\ ;
+送風機 < soufuuki\ ;
+口占 < kuchiura\ ;
+姫御子 < himemiko\ ;
+手配書 < tehaisho\ ;
+正立 < seiritsu\ ;
+鯨骨 < geikotsu\ ;
+求心 < kyuushin\ ;
+相鎚 < aidzuchi\ ;
+眼識 < ganshiki\ ;
+脳珊瑚 < nousango\ ;
+上層土 < jousoudo\ ;
+心拍 < shinpaku\ ;
+予約語 < yoyakugo\ ;
+彼此 < karekore\ ;
+油槽船 < yusousen\ ;
+歯磨 < hamigaki\ ;
+帝闕 < teiketsu\ ;
+一寸見 < chottomi\ ;
+予防線 < yobousen\ ;
+勘定日 < kanjoubi\ ;
+内鰐 < uchiwani\ ;
+古創 < furukizu\ ;
+鴨猟 < kamoryou\ ;
+没却 < bokkyaku\ ;
+内帑金 < naidokin\ ;
+金力 < kinryoku\ ;
+右側 < migigawa\ ;
+出超 < shutchou\ ;
+口前 < kuchimae\ ;
+伝送路 < densouro\ ;
+刻薄 < kokuhaku\ ;
+銀細工 < ginzaiku\ ;
+人相見 < ninsoumi\ ;
+水性 < mizushou\ ;
+広袖 < hirosode\ ;
+重力 < juuryoku\ ;
+風刺画 < fuushiga\ ;
+相鉄 < soutetsu\ ;
+荷車 < niguruma\ ;
+動物 < doubutsu\ ;
+午餐会 < gosankai\ ;
+知略 < chiryaku\ ;
+目録 < mokuroku\ ;
+無欠勤 < mukekkin\ ;
+比重計 < hijuukei\ ;
+切論 < setsuron\ ;
+運送店 < unsouten\ ;
+凶賊 < kyouzoku\ ;
+操作盤 < sousaban\ ;
+着装 < chakusou\ ;
+在庫品 < zaikohin\ ;
+遅脈 < chimyaku\ ;
+水引 < mizuhiki\ ;
+橈骨 < toukotsu\ ;
+殲滅 < senmetsu\ ;
+冠雪 < kansetsu\ ;
+北極 < hokkyoku\ ;
+幻術 < genjutsu\ ;
+氷床 < hyoushou\ ;
+劃策 < kakusaku\ ;
+民主化 < minshuka\ ;
+即席 < sokuseki\ ;
+延滞金 < entaikin\ ;
+又又 < matamata\ ;
+水底 < minasoko\ ;
+唐破風 < karahafu\ ;
+直配 < chokuhai\ ;
+切言 < setsugen\ ;
+自公民 < jikoumin\ ;
+急告 < kyuukoku\ ;
+釈典 < shakuten\ ;
+賢夫人 < kenpujin\ ;
+毫末 < goumatsu\ ;
+半折 < hansetsu\ ;
+平袖 < hirasode\ ;
+二度手間 < nidodema\ ;
+鯛飯 < taimeshi\ ;
+運転者 < untensha\ ;
+切要 < setsuyou\ ;
+巻雲 < makigumo\ ;
+不格好 < bukakkou\ ;
+催淫剤 < saiinzai\ ;
+残物 < zanbutsu\ ;
+栄養短 < eiyoutan\ ;
+態々 < wazawaza\ ;
+劫略 < gouryaku\ ;
+反別 < tanbetsu\ ;
+正直 < shoujiki\ ;
+医学界 < igakukai\ ;
+効率 < kouritsu\ ;
+無常感 < mujoukan\ ;
+只事 < tadagoto\ ;
+碩学 < sekigaku\ ;
+背格好 < sekakkou\ ;
+山査子 < sanzashi\ ;
+医学生 < igakusei\ ;
+水嵩 < mizukasa\ ;
+開業医 < kaigyoui\ ;
+直送 < chokusou\ ;
+分裂 < bunretsu\ ;
+役柄 < yakugara\ ;
+凌辱 < ryoujoku\ ;
+律文 < ritsubun\ ;
+程々 < hodohodo\ ;
+収入 < shuunyuu\ ;
+便衣隊 < ben''itai\ ;
+若鶏 < wakadori\ ;
+沈勇 < chin''yuu\ ;
+双六 < sugoroku\ ;
+廃絶 < haizetsu\ ;
+幹事会 < kanjikai\ ;
+道糸 < michiito\ ;
+多原子 < tagenshi\ ;
+創立 < souritsu\ ;
+協心 < kyoushin\ ;
+北朝 < hokuchou\ ;
+勇烈 < yuuretsu\ ;
+性別 < seibetsu\ ;
+勃然 < botsuzen\ ;
+十字形 < juujikei\ ;
+単式 < tanshiki\ ;
+外野手 < gaiyashu\ ;
+健胃錠 < ken''ijou\ ;
+関西馬 < kansaiba\ ;
+指示詞 < shijishi\ ;
+参列 < sanretsu\ ;
+明日葉 < ashitaba\ ;
+気心 < kigokoro\ ;
+短距離 < tankyori\ ;
+一軒屋 < ikken''ya\ ;
+川風 < kawakaze\ ;
+芸備線 < geibisen\ ;
+刀術 < toujutsu\ ;
+匡救 < kyoukyuu\ ;
+死物 < shibutsu\ ;
+刳舟 < kuribune\ ;
+陣太鼓 < jindaiko\ ;
+真冬日 < mafuyubi\ ;
+四季報 < shikihou\ ;
+分蝕 < bunshoku\ ;
+白鳥 < hakuchou\ ;
+兵食 < heishoku\ ;
+殿様 < tonosama\ ;
+参入 < san''nyuu\ ;
+受付 < uketsuke\ ;
+単帯 < hitoeobi\ ;
+矯激 < kyougeki\ ;
+怪傑 < kaiketsu\ ;
+刺股 < sasumata\ ;
+汲取 < kumitori\ ;
+砂浜 < sunahama\ ;
+繁華街 < hankagai\ ;
+訓練所 < kunrenjo\ ;
+達筆 < tappitsu\ ;
+海水温 < kaisuion\ ;
+筋電図 < kindenzu\ ;
+割礼 < katsurei\ ;
+毎月 < maitsuki\ ;
+泌尿幾 < hinyouki\ ;
+升形 < masugata\ ;
+不安心 < fuanshin\ ;
+川霧 < kawagiri\ ;
+劇的 < gekiteki\ ;
+訪問着 < houmongi\ ;
+分蘖 < bunketsu\ ;
+会社員 < kaishain\ ;
+叔世 < shukusei\ ;
+兀鷹 < hagetaka\ ;
+法王権 < hououken\ ;
+勘決 < kanketsu\ ;
+不導体 < fudoutai\ ;
+単試合 < tanshiai\ ;
+即妙 < sokumyou\ ;
+剣突 < kentsuku\ ;
+必定 < hitsujou\ ;
+前約 < zen''yaku\ ;
+劇痛 < gekitsuu\ ;
+午年 < umadoshi\ ;
+平落 < hiraochi\ ;
+硬式 < koushiki\ ;
+写生画 < shaseiga\ ;
+常識 < joushiki\ ;
+管理人 < kanrinin\ ;
+心学 < shingaku\ ;
+毎日 < mainichi\ ;
+白骨 < hakkotsu\ ;
+一家言 < ikkagoto\ ;
+升席 < masuseki\ ;
+同期生 < doukisei\ ;
+横風 < yokokaze\ ;
+丁定規 < teijougi\ ;
+鰐足 < waniashi\ ;
+遅筆 < chihitsu\ ;
+母方 < hahakata\ ;
+守備隊 < shubitai\ ;
+氷壁 < hyouheki\ ;
+瞞着 < manchaku\ ;
+辛辛 < karagara\ ;
+相識 < soushiki\ ;
+菜箸 < saibashi\ ;
+併合罪 < heigozai\ ;
+週給 < shuukyuu\ ;
+八面 < hachimen\ ;
+博学 < hakugaku\ ;
+殖民 < shokumin\ ;
+進級 < shinkyuu\ ;
+気無精 < kibushou\ ;
+三枚目 < sanmaime\ ;
+前節 < zensetsu\ ;
+得心 < tokushin\ ;
+手配師 < tehaishi\ ;
+着船 < chakusen\ ;
+引潮 < hikishio\ ;
+常設 < jousetsu\ ;
+無自覚 < mujikaku\ ;
+得得 < tokutoku\ ;
+落潮 < rakuchou\ ;
+弱毒 < jakudoku\ ;
+厥冷 < ketsurei\ ;
+蔵元 < kuramoto\ ;
+建物 < tatemono\ ;
+死滅 < shimetsu\ ;
+勇決 < yuuketsu\ ;
+先高 < sakidaka\ ;
+発駅 < hatsueki\ ;
+火事泥 < kajidoro\ ;
+退色 < taishoku\ ;
+気室 < kishitsu\ ;
+人工語 < jinkougo\ ;
+既往歴 < kioureki\ ;
+円錐 < marugiri\ ;
+一般性 < ippansei\ ;
+勝楽 < shouraku\ ;
+年月日 < nengappi\ ;
+兎馬 < usagiuma\ ;
+当月 < tougetsu\ ;
+千島 < chishima\ ;
+横雲 < yokogumo\ ;
+変成器 < henseiki\ ;
+徐徐 < sorosoro\ ;
+元高 < motodaka\ ;
+未信者 < mishinja\ ;
+師説 < shisetsu\ ;
+包摂 < housetsu\ ;
+殿方 < tonogata\ ;
+民宿 < minshuku\ ;
+不案内 < fuan''nai\ ;
+自棄酒 < yakezake\ ;
+塑弾性 < sodansei\ ;
+武器倉 < bukigura\ ;
+連結 < renketsu\ ;
+聴音器 < chouonki\ ;
+直言 < chokugen\ ;
+平仮名 < hiragana\ ;
+彎月 < wangetsu\ ;
+感知器 < kanchiki\ ;
+巡錫 < junshaku\ ;
+彎曲 < wankyoku\ ;
+直角 < chokkaku\ ;
+廉直 < renchoku\ ;
+直視 < chokushi\ ;
+死活 < shikatsu\ ;
+心境 < shinkyou\ ;
+平脈 < heimyaku\ ;
+当日 < toujitsu\ ;
+前半期 < zenpanki\ ;
+復学 < fukugaku\ ;
+入閣 < nyuukaku\ ;
+空論家 < kuuronka\ ;
+恵比寿顔 < ebisugao\ ;
+横長 < yokonaga\ ;
+死没 < shibotsu\ ;
+包括 < houkatsu\ ;
+忠告 < chuukoku\ ;
+巻軸 < makijiku\ ;
+農閑期 < noukanki\ ;
+百雷 < hyakurai\ ;
+不賛成 < fusansei\ ;
+百難 < hyakunan\ ;
+養鶏家 < youkeika\ ;
+出芽 < shutsuga\ ;
+菅笠 < sugegasa\ ;
+剛直 < gouchoku\ ;
+十二支 < juunishi\ ;
+加湿 < kashitsu\ ;
+構成比 < kouseihi\ ;
+向日葵 < himawari\ ;
+発電 < hatsuden\ ;
+分脈 < bunmyaku\ ;
+監訳 < kan''yaku\ ;
+遅着 < chichaku\ ;
+機業家 < kigyouka\ ;
+党閥 < toubatsu\ ;
+別納 < betsunou\ ;
+刑罰 < keibatsu\ ;
+内達 < naitatsu\ ;
+水滸伝 < suikoden\ ;
+御嬢様 < ojousama\ ;
+心嚢 < shin''nou\ ;
+役得 < yakutoku\ ;
+臨床医 < rinshoui\ ;
+連立 < renritsu\ ;
+郷愁 < kyoushuu\ ;
+彷彿 < houfutsu\ ;
+庭石 < niwaishi\ ;
+切者 < kiremono\ ;
+遅発 < chihatsu\ ;
+栄養源 < eiyougen\ ;
+多年草 < tanensou\ ;
+荷厄介 < niyakkai\ ;
+元鞘 < motosaya\ ;
+励磁損 < reijison\ ;
+安全瓣 < anzenben\ ;
+重酸素 < juusanso\ ;
+忘却 < boukyaku\ ;
+歴歴 < rekireki\ ;
+二塁手 < niruishu\ ;
+確信 < kakushin\ ;
+石柱 < sekichuu\ ;
+木工具 < mokkougu\ ;
+欠番 < ketsuban\ ;
+彰徳 < shoutoku\ ;
+点眼器 < tenganki\ ;
+愚図愚図 < guzuguzu\ ;
+鱈腹 < tarafuku\ ;
+割物 < waremono\ ;
+幕臣 < bakushin\ ;
+入鋏 < nyuukyou\ ;
+莫大小 < meriyasu\ ;
+製鋼所 < seikoujo\ ;
+軽鴨 < karugamo\ ;
+隠蔽子 < inpeishi\ ;
+勘定場 < kanjouba\ ;
+羽団扇 < hauchiwa\ ;
+念仏 < nenbutsu\ ;
+破戒僧 < hakaisou\ ;
+瀬戸物 < setomono\ ;
+菊石 < kikuishi\ ;
+冷血 < reiketsu\ ;
+平絹 < hiraginu\ ;
+酒呑 < sakenomi\ ;
+葉桜 < hazakura\ ;
+着米 < chakubei\ ;
+大英断 < daieidan\ ;
+強敵 < kyouteki\ ;
+求償 < kyuushou\ ;
+通称 < tsuushou\ ;
+忠僕 < chuuboku\ ;
+水力 < suiryoku\ ;
+残月 < zangetsu\ ;
+勅書 < chokusho\ ;
+先議権 < sengiken\ ;
+共通 < kyoutsuu\ ;
+反抗期 < hankouki\ ;
+本会議 < honkaigi\ ;
+前略 < zenryaku\ ;
+殊更 < kotosara\ ;
+弦月 < gengetsu\ ;
+英米人 < eibeijin\ ;
+低順位 < teijun''i\ ;
+目薬 < megusuri\ ;
+不老泉 < furousen\ ;
+協商 < kyoushou\ ;
+百錬 < hyakuren\ ;
+公達 < koutatsu\ ;
+弱敵 < jakuteki\ ;
+逆算 < gyakusan\ ;
+黙々 < mokumoku\ ;
+八達 < hattatsu\ ;
+八道 < hachidou\ ;
+北山 < kitayama\ ;
+剿滅 < soumetsu\ ;
+名宛人 < naatenin\ ;
+和気藹藹 < wakiaiai\ ;
+自由詩 < jiyuushi\ ;
+廃物 < haibutsu\ ;
+公述 < koujutsu\ ;
+忠信 < chuushin\ ;
+皮質 < hishitsu\ ;
+石文 < ishibumi\ ;
+形式 < keishiki\ ;
+凋落 < chouraku\ ;
+意志的 < ishiteki\ ;
+卸値 < oroshine\ ;
+戦闘員 < sentouin\ ;
+原画像 < gengazou\ ;
+短日 < tanjitsu\ ;
+水先 < mizusaki\ ;
+巷説 < kousetsu\ ;
+大腿部 < daitaibu\ ;
+共軛 < kyouyaku\ ;
+黒々 < kuroguro\ ;
+剥焼 < sukiyaki\ ;
+滋賀県 < shigaken\ ;
+重水素 < juusuiso\ ;
+逢着 < houchaku\ ;
+廃熱 < hainetsu\ ;
+人造湖 < jinzouko\ ;
+役宅 < yakutaku\ ;
+到着 < touchaku\ ;
+請負師 < ukeoishi\ ;
+茹蛸 < yudedako\ ;
+水準器 < suijunki\ ;
+漫画本 < mangahon\ ;
+不真面目 < fumajime\ ;
+再説 < saisetsu\ ;
+連発 < renpatsu\ ;
+復唱 < fukushou\ ;
+知日 < chinichi\ ;
+徴収 < choushuu\ ;
+勅撰 < chokusen\ ;
+互換性 < gokansei\ ;
+分節 < bunsetsu\ ;
+配列 < hairetsu\ ;
+種種相 < shujusou\ ;
+処罰 < shobatsu\ ;
+予防法 < yobouhou\ ;
+安全灯 < anzentou\ ;
+歴朝 < rekichou\ ;
+劇毒 < gekidoku\ ;
+追究 < tsuikyuu\ ;
+歳末 < saimatsu\ ;
+横軸 < yokojiku\ ;
+分筆 < bunpitsu\ ;
+輯録 < shuuroku\ ;
+半口 < hankuchi\ ;
+運送人 < unsounin\ ;
+十哲 < juttetsu\ ;
+百選 < hyakusen\ ;
+上首尾 < joushubi\ ;
+仏舎利 < busshari\ ;
+與太者 < yotamono\ ;
+満天下 < mantenka\ ;
+得手勝手 < etekatte\ ;
+先金 < sakigane\ ;
+軽食 < keishoku\ ;
+分立 < bunritsu\ ;
+価格差 < kakakusa\ ;
+内訳 < uchiwake\ ;
+追福 < tsuifuku\ ;
+無花果 < ichijiku\ ;
+欲深 < yokubuka\ ;
+不人情 < funinjou\ ;
+土建屋 < doken''ya\ ;
+歪曲 < waikyoku\ ;
+入超 < nyuuchou\ ;
+割注 < warichuu\ ;
+民力 < minryoku\ ;
+遮断機 < shadanki\ ;
+乱杭歯 < ranguiba\ ;
+蝋細工 < rouzaiku\ ;
+北壁 < hokuheki\ ;
+糜爛性 < biransei\ ;
+貴公子 < kikoushi\ ;
+廃滅 < haimetsu\ ;
+水上 < minakami\ ;
+初盆 < hatsubon\ ;
+廉価版 < renkaban\ ;
+正札 < shoufuda\ ;
+入賞 < nyuushou\ ;
+先達 < sendatsu\ ;
+止木 < tomarigi\ ;
+着眼 < chakugan\ ;
+初発 < shohatsu\ ;
+原子炉 < genshiro\ ;
+転換炉 < tenkanro\ ;
+黎明期 < reimeiki\ ;
+軟骨 < nankotsu\ ;
+菖蒲湯 < shoubuyu\ ;
+無駄骨 < mudabone\ ;
+類似品 < ruijihin\ ;
+飛行隊 < hikoutai\ ;
+当局 < toukyoku\ ;
+殺害 < satsugai\ ;
+金鳳花 < kinpouge\ ;
+黒雲母 < kurounmo\ ;
+落掌 < rakushou\ ;
+相手方 < aitegata\ ;
+不完全 < fukanzen\ ;
+強弱 < kyoujaku\ ;
+心中 < shinchuu\ ;
+祖国愛 < sokokuai\ ;
+平皿 < hirazara\ ;
+募集費 < boshuuhi\ ;
+初産 < hatsuzan\ ;
+常緑 < jouryoku\ ;
+生産費 < seisanhi\ ;
+統合化 < tougouka\ ;
+旅行家 < ryokouka\ ;
+社外秘 < shagaihi\ ;
+南仏 < nanfutsu\ ;
+従価税 < juukazei\ ;
+十八 < juuhachi\ ;
+使徒書 < shitosho\ ;
+適業 < tekigyou\ ;
+鬱鬱 < utsuutsu\ ;
+追白 < tsuihaku\ ;
+従卒 < juusotsu\ ;
+御冠 < okanmuri\ ;
+律呂 < ritsuryo\ ;
+辣腕 < ratsuwan\ ;
+着用 < chakuyou\ ;
+逆用 < gyakuyou\ ;
+逆産 < gyakuzan\ ;
+六親 < rokushin\ ;
+後口 < atokuchi\ ;
+寝化粧 < negeshou\ ;
+創世期 < souseiki\ ;
+金目鯛 < kinmedai\ ;
+単一 < tan''itsu\ ;
+帯緑 < tairyoku\ ;
+石弓 < ishiyumi\ ;
+選曲 < senkyoku\ ;
+通牒 < tsuuchou\ ;
+上下線 < jougesen\ ;
+理事国 < rijikoku\ ;
+水準儀 < suijungi\ ;
+再保険 < saihoken\ ;
+県立 < kenritsu\ ;
+別状 < betsujou\ ;
+下馬先 < gebasaki\ ;
+凍結 < touketsu\ ;
+寄付行為 < kifukoui\ ;
+泉貨紙 < senkashi\ ;
+御令嬢 < goreijou\ ;
+川蝉 < kawasemi\ ;
+郷国 < kyoukoku\ ;
+追申 < tsuishin\ ;
+電気街 < denkigai\ ;
+砂山 < sunayama\ ;
+律動 < ritsudou\ ;
+正接 < seisetsu\ ;
+迫真 < hakushin\ ;
+軍政部 < gunseibu\ ;
+御題目 < odaimoku\ ;
+省筆 < seihitsu\ ;
+弟御 < otoutogo\ ;
+凄絶 < seizetsu\ ;
+後列 < kouretsu\ ;
+無保証 < muhoshou\ ;
+可分性 < kabunsei\ ;
+亜鉛鉄 < aentetsu\ ;
+動安定 < douantei\ ;
+年率 < nenritsu\ ;
+刑事上 < keijijou\ ;
+女性用 < joseiyou\ ;
+冗舌 < jouzetsu\ ;
+標註 < hyouchuu\ ;
+真白 < masshiro\ ;
+典薬 < ten''yaku\ ;
+乾燥炉 < kansouro\ ;
+弱少 < jakushou\ ;
+育児法 < ikujihou\ ;
+直答 < chokutou\ ;
+石山 < ishiyama\ ;
+茜色 < akaneiro\ ;
+発言 < hatsugen\ ;
+愛鳥家 < aichouka\ ;
+本舞台 < honbutai\ ;
+個人性 < kojinsei\ ;
+弓形 < yuminari\ ;
+副木 < fukuboku\ ;
+依存症 < izonshou\ ;
+真症 < shinshou\ ;
+劣情 < retsujou\ ;
+悪性度 < akuseido\ ;
+冥罰 < meibatsu\ ;
+神々 < kamigami\ ;
+劣悪 < retsuaku\ ;
+鮮血 < senketsu\ ;
+美男子 < binanshi\ ;
+役割 < yakuwari\ ;
+石室 < ishimuro\ ;
+若衆 < wakashuu\ ;
+母君 < hahagimi\ ;
+電波法 < denpahou\ ;
+軍事上 < gunjijou\ ;
+平熱 < heinetsu\ ;
+直税 < chokuzei\ ;
+近着 < kinchaku\ ;
+道板 < michiita\ ;
+烏犀角 < usaikaku\ ;
+矩尺 < kanejaku\ ;
+偏微分 < henbibun\ ;
+素寒貧 < sukanpin\ ;
+豚小屋 < butagoya\ ;
+延滞税 < entaizei\ ;
+選抜 < senbatsu\ ;
+冥王星 < meiousei\ ;
+円盤状 < enbanjou\ ;
+白蟻 < shiroari\ ;
+強奪 < goudatsu\ ;
+蔵書家 < zoushoka\ ;
+録音機 < rokuonki\ ;
+過般来 < kahanrai\ ;
+鑚孔機 < sankouki\ ;
+一般人 < ippanjin\ ;
+刺殺 < shisatsu\ ;
+凡百 < bonpyaku\ ;
+律令 < ritsurei\ ;
+相手役 < aiteyaku\ ;
+内腿 < uchimomo\ ;
+歩合給 < buaikyuu\ ;
+井戸綱 < idodzuna\ ;
+既知数 < kichisuu\ ;
+軍閥 < gunbatsu\ ;
+工務店 < koumuten\ ;
+幣物 < heimotsu\ ;
+逸楽 < itsuraku\ ;
+速決 < sokketsu\ ;
+北側 < hokusoku\ ;
+一朱銀 < isshugin\ ;
+彫刻 < choukoku\ ;
+逆潮 < sakashio\ ;
+砲列 < houretsu\ ;
+航空機 < koukuuki\ ;
+黒繻子 < kurojusu\ ;
+登記所 < toukisho\ ;
+正式 < seishiki\ ;
+適時打 < tekijida\ ;
+冠絶 < kanzetsu\ ;
+殿原 < tonobara\ ;
+凸状 < totsujou\ ;
+合理性 < gourisei\ ;
+達文 < tatsubun\ ;
+征伐 < seibatsu\ ;
+幻滅 < genmetsu\ ;
+弾圧 < dan''atsu\ ;
+軽軽 < karugaru\ ;
+陰電子 < indenshi\ ;
+充血 < juuketsu\ ;
+内職 < naishoku\ ;
+助動詞 < jodoushi\ ;
+慰藉料 < isharyou\ ;
+軟鉄 < nantetsu\ ;
+衛生兵 < eiseihei\ ;
+石墨 < sekiboku\ ;
+低物価 < teibukka\ ;
+個人展 < kojinten\ ;
+実体化 < jittaika\ ;
+判決 < hanketsu\ ;
+短夜 < mijikayo\ ;
+強圧 < kyouatsu\ ;
+邪魔者 < jamamono\ ;
+平滑 < heikatsu\ ;
+鬢長 < bin''naga\ ;
+米議会 < beigikai\ ;
+無尽蔵 < mujinzou\ ;
+円罐 < marugama\ ;
+直直 < jikijiki\ ;
+巻紙 < makigami\ ;
+兼職 < kenshoku\ ;
+転換期 < tenkanki\ ;
+欠文 < ketsubun\ ;
+代議士 < daigishi\ ;
+鼻濁音 < bidakuon\ ;
+冬空 < fuyuzora\ ;
+遅日 < chijitsu\ ;
+別殿 < betsuden\ ;
+別段 < betsudan\ ;
+逆浪 < sakanami\ ;
+白蓮 < byakuren\ ;
+石垣 < ishigaki\ ;
+高電位 < kouden''i\ ;
+持参金 < jisankin\ ;
+唯理論 < yuiriron\ ;
+軸足 < jikuashi\ ;
+名望家 < meibouka\ ;
+多元論 < tagenron\ ;
+目的 < mokuteki\ ;
+萩属 < hagizoku\ ;
+自棄糞 < yakekuso\ ;
+正符号 < seifugou\ ;
+無産者 < musansha\ ;
+速業 < hayawaza\ ;
+育児書 < ikujisho\ ;
+市立 < shiritsu\ ;
+若草 < wakakusa\ ;
+定期船 < teikisen\ ;
+着水 < chakusui\ ;
+手弁当 < tebentou\ ;
+乾燥機 < kansouki\ ;
+三日間 < mikkakan\ ;
+十二分 < juunibun\ ;
+稽古台 < keikodai\ ;
+転轍 < tentetsu\ ;
+鰐皮 < wanigawa\ ;
+止宿 < shishuku\ ;
+芸術 < geijutsu\ ;
+先頭伍 < sentougo\ ;
+正宗 < masamune\ ;
+横腹 < yokobara\ ;
+冗筆 < jouhitsu\ ;
+公職 < koushoku\ ;
+各々 < sorezore\ ;
+刃渡 < hawatari\ ;
+鳩尾 < mizoochi\ ;
+出来高 < dekidaka\ ;
+出演 < shutsuen\ ;
+適役 < tekiyaku\ ;
+身長 < shinchou\ ;
+三世相 < sanzesou\ ;
+力学 < rikigaku\ ;
+色道 < shikidou\ ;
+百芸 < hyakugei\ ;
+乎古止点 < okototen\ ;
+勢力 < seiryoku\ ;
+船霊 < funadama\ ;
+運根鈍 < unkondon\ ;
+砂原 < sunahara\ ;
+彎入 < wan''nyuu\ ;
+衛生上 < eiseijou\ ;
+制札 < seisatsu\ ;
+楽長 < gakuchou\ ;
+直球 < chokkyuu\ ;
+医学士 < igakushi\ ;
+請負人 < ukeoinin\ ;
+極限 < kyokugen\ ;
+鮫膚 < samehada\ ;
+断面図 < danmenzu\ ;
+発色 < hasshoku\ ;
+虚仮猿 < kokezaru\ ;
+未使用 < mishiyou\ ;
+電波星 < denpasei\ ;
+葬列 < souretsu\ ;
+勅問 < chokumon\ ;
+弾力 < danryoku\ ;
+式場 < shikijou\ ;
+高高 < takadaka\ ;
+音韻論 < on''inron\ ;
+割引 < waribiki\ ;
+機械工 < kikaikou\ ;
+欲心 < yokushin\ ;
+再封鎖 < saifuusa\ ;
+剔抉 < tekketsu\ ;
+防波堤 < bouhatei\ ;
+欲得 < yokutoku\ ;
+運転手 < untenshu\ ;
+鮮肉 < sen''niku\ ;
+逆様 < sakasama\ ;
+進撃 < shingeki\ ;
+争覇戦 < souhasen\ ;
+黒文字 < kuromoji\ ;
+無駄足 < mudaashi\ ;
+動力 < douryoku\ ;
+勅命 < chokumei\ ;
+着物地 < kimonoji\ ;
+外気圏 < gaikiken\ ;
+凛烈 < rinretsu\ ;
+開会日 < kaikaibi\ ;
+由来書 < yuraisho\ ;
+武士 < mononofu\ ;
+鵝口瘡 < gakousou\ ;
+殺人 < satsujin\ ;
+僭越 < sen''etsu\ ;
+連日 < renjitsu\ ;
+正夢 < masayume\ ;
+乾燥果 < kansouka\ ;
+刷数 < satsusuu\ ;
+軋轢 < atsureki\ ;
+安全性 < anzensei\ ;
+儲蓄 < chochiku\ ;
+富士五湖 < fujigoko\ ;
+円窓 < marumado\ ;
+若者 < wakamono\ ;
+車轄 < shakatsu\ ;
+恐々 < kowagowa\ ;
+通暁 < tsuugyou\ ;
+前払 < maebarai\ ;
+百聞 < hyakubun\ ;
+是是非非 < zezehihi\ ;
+発育 < hatsuiku\ ;
+逐条 < chikujou\ ;
+益益 < masumasu\ ;
+横縞 < yokojima\ ;
+達弁 < tatsuben\ ;
+栄養士 < eiyoushi\ ;
+台布巾 < daibukin\ ;
+巣窟 < soukutsu\ ;
+川筋 < kawasuji\ ;
+構成員 < kouseiin\ ;
+免職 < menshoku\ ;
+模範生 < mohansei\ ;
+駆動輪 < kudourin\ ;
+勇力 < yuuryoku\ ;
+川端 < kawabata\ ;
+勁卒 < keisotsu\ ;
+東洋史 < toyofumi\ ;
+内祝 < uchiiwai\ ;
+草物 < kusamono\ ;
+岳麓 < gakuroku\ ;
+分極 < bunkyoku\ ;
+槍術 < soujutsu\ ;
+連接 < rensetsu\ ;
+単精度 < tanseido\ ;
+火木土 < kamokudo\ ;
+代議制 < daigisei\ ;
+未定稿 < miteikou\ ;
+入籍 < nyuuseki\ ;
+世話物 < sewamono\ ;
+副審 < fukushin\ ;
+知力 < chiryoku\ ;
+割安 < wariyasu\ ;
+処決 < shoketsu\ ;
+年末 < nenmatsu\ ;
+幾日 < ikunichi\ ;
+年月 < nengetsu\ ;
+切株 < kirikabu\ ;
+効力 < kouryoku\ ;
+観戦記 < kansenki\ ;
+天瓜粉 < tenkafun\ ;
+骸骨 < gaikotsu\ ;
+形成期 < keiseiki\ ;
+放映権 < houeiken\ ;
+式台 < shikidai\ ;
+監視所 < kanshijo\ ;
+骨鱗 < kotsurin\ ;
+御本尊 < gohonzon\ ;
+単純化 < tanjunka\ ;
+個人名 < kojinmei\ ;
+検眼医 < kengan''i\ ;
+再発 < saihatsu\ ;
+死力 < shiryoku\ ;
+未踏峰 < mitouhou\ ;
+労力 < rouryoku\ ;
+横筋 < yokosuji\ ;
+断断固 < dandanko\ ;
+巌窟 < gankutsu\ ;
+冬物 < fuyumono\ ;
+逆数 < gyakusuu\ ;
+兎網 < usagiami\ ;
+暖房器 < danbouki\ ;
+白糸 < shiraito\ ;
+死別 < shibetsu\ ;
+切札 < kirifuda\ ;
+斡旋者 < assensha\ ;
+切望 < setsubou\ ;
+平日 < heijitsu\ ;
+左目 < hidarime\ ;
+軽蔑 < keibetsu\ ;
+仏生会 < busshoue\ ;
+剣客 < kenkyaku\ ;
+内発 < naihatsu\ ;
+規格化 < kikakuka\ ;
+司令部 < shireibu\ ;
+意匠権 < ishouken\ ;
+芋虫 < imomushi\ ;
+椋鳥 < mukudori\ ;
+平政 < hiramasa\ ;
+尊敬語 < sonkeigo\ ;
+骨髄 < kotsuzui\ ;
+形態素 < keitaiso\ ;
+目測 < mokusoku\ ;
+元締 < motojime\ ;
+我利我利 < garigari\ ;
+石亀 < ishigame\ ;
+先細 < sakiboso\ ;
+勅任 < chokunin\ ;
+矛先 < hokosaki\ ;
+美少女 < bishoujo\ ;
+度度 < tabitabi\ ;
+円運動 < en''undou\ ;
+勅令 < chokurei\ ;
+先約 < sen''yaku\ ;
+象牙色 < zougeiro\ ;
+萩原 < hagiwara\ ;
+入神 < nyuushin\ ;
+歯列 < shiretsu\ ;
+切断 < setsudan\ ;
+廃嫡 < haichaku\ ;
+歪力 < wairyoku\ ;
+式典 < shikiten\ ;
+許可書 < kyokasho\ ;
+追撃 < tsuigeki\ ;
+商議員 < shougiin\ ;
+御一新 < goisshin\ ;
+芋蔓 < imodzuru\ ;
+愉快犯 < yukaihan\ ;
+巻物 < makimono\ ;
+指示板 < shijiban\ ;
+相殺 < sousatsu\ ;
+冗物 < joubutsu\ ;
+鉄工所 < tekkoujo\ ;
+前屈 < zenkutsu\ ;
+刳形 < kurikata\ ;
+経営難 < keieinan\ ;
+正割 < seikatsu\ ;
+躍進 < yakushin\ ;
+弁別 < benbetsu\ ;
+陰陽師 < on''youji\ ;
+換気扇 < kankisen\ ;
+非合法 < higouhou\ ;
+飛行艇 < hikoutei\ ;
+着手 < chakushu\ ;
+飛行船 < hikousen\ ;
+経営陣 < keieijin\ ;
+御来光 < goraikou\ ;
+不断草 < fudansou\ ;
+茶漬 < chadzuke\ ;
+留鳥 < ryuuchou\ ;
+栄養剤 < eiyouzai\ ;
+船足 < funaashi\ ;
+連鎖店 < rensaten\ ;
+兵略 < heiryaku\ ;
+白票 < hakuhyou\ ;
+兵法家 < heihouka\ ;
+頻度数 < hindosuu\ ;
+資本家 < shihonka\ ;
+偏食 < henshoku\ ;
+最右翼 < saiuyoku\ ;
+栄養分 < eiyoubun\ ;
+歌合 < utaawase\ ;
+躑躅 < tsutsuji\ ;
+歌口 < utaguchi\ ;
+鰹木 < katsuogi\ ;
+迫撃 < hakugeki\ ;
+可処分 < kashobun\ ;
+汲々 < kyuukyuu\ ;
+蒙古斑 < moukohan\ ;
+初恋 < hatsukoi\ ;
+先程 < sakihodo\ ;
+船賃 < funachin\ ;
+茶渋 < chashibu\ ;
+透徹 < toutetsu\ ;
+病身 < byoushin\ ;
+寒稽古 < kangeiko\ ;
+第三紀 < daisanki\ ;
+概説 < gaisetsu\ ;
+床店 < tokomise\ ;
+砂風呂 < sunaburo\ ;
+運転士 < untenshi\ ;
+第一線 < daiissen\ ;
+良薬 < ryouyaku\ ;
+欠場 < ketsujou\ ;
+切戻 < setsurai\ ;
+標石 < hyouseki\ ;
+偽金 < nisegane\ ;
+目標 < mokuhyou\ ;
+銀行家 < ginkouka\ ;
+力倆 < rikiryou\ ;
+選別 < senbetsu\ ;
+刺客 < shikyaku\ ;
+三仙叉 < sansensa\ ;
+逐年 < chikunen\ ;
+鮫皮 < samegawa\ ;
+広広 < hirobiro\ ;
+再工事 < saikouji\ ;
+横町 < yokochou\ ;
+裏日本 < uranihon\ ;
+被傭者 < hiyousha\ ;
+近日 < kinjitsu\ ;
+広幅 < hirohaba\ ;
+力作 < rikisaku\ ;
+検閲 < ken''etsu\ ;
+瞬刻 < shunkoku\ ;
+発着 < hatchaku\ ;
+極論 < kyokuron\ ;
+着弾 < chakudan\ ;
+軽水炉 < keisuiro\ ;
+典物 < tenbutsu\ ;
+自由港 < jiyuukou\ ;
+御曹子 < onzoushi\ ;
+防水扉 < bousuihi\ ;
+白皙 < hakuseki\ ;
+居心地 < igokochi\ ;
+地下道 < chikadou\ ;
+白白 < hakuhaku\ ;
+切情 < setsujou\ ;
+刑律 < keiritsu\ ;
+標的 < hyouteki\ ;
+出所 < dedokoro\ ;
+無駄花 < mudabana\ ;
+追徴 < tsuichou\ ;
+着底 < chakutei\ ;
+党略 < touryaku\ ;
+無定見 < muteiken\ ;
+床山 < tokoyama\ ;
+痛覚 < tsuukaku\ ;
+年式 < nenshiki\ ;
+発癌 < hatsugan\ ;
+着帽 < chakubou\ ;
+内濠 < uchibori\ ;
+先着 < senchaku\ ;
+着帯 < chakutai\ ;
+常春 < tokoharu\ ;
+美容師 < biyoushi\ ;
+発火点 < hakkaten\ ;
+荷捌 < nisabaki\ ;
+平庭 < hiraniwa\ ;
+山鳩 < yamabato\ ;
+山鳥 < yamadori\ ;
+通学 < tsuugaku\ ;
+畜類 < chikurui\ ;
+平底 < hirazoko\ ;
+入獄 < nyuugoku\ ;
+公爵 < koushaku\ ;
+色艶 < irotsuya\ ;
+平幕 < hiramaku\ ;
+現代化 < gendaika\ ;
+先発 < senpatsu\ ;
+福井県 < fukuiken\ ;
+白瓜 < shirouri\ ;
+不敬虔 < fukeiken\ ;
+近接 < kinsetsu\ ;
+丁子油 < choujiyu\ ;
+転職 < tenshoku\ ;
+透察 < tousatsu\ ;
+劇作 < gekisaku\ ;
+財務官 < zaimukan\ ;
+料理屋 < ryouriya\ ;
+軸索 < jikusaku\ ;
+席料 < sekiryou\ ;
+欠号 < ketsugou\ ;
+停車場 < teishaba\ ;
+感光度 < kankoudo\ ;
+無能者 < munousha\ ;
+百獣 < hyakujuu\ ;
+僚船 < tomobune\ ;
+真心 < magokoro\ ;
+劇中 < gekichuu\ ;
+蹄鉄 < teitetsu\ ;
+交叉点 < kousaten\ ;
+氷河期 < hyougaki\ ;
+退屈 < taikutsu\ ;
+低電位 < teiden''i\ ;
+出世魚 < shusseuo\ ;
+運転台 < untendai\ ;
+前哲 < zentetsu\ ;
+出廬 < shutsuro\ ;
+適作 < tekisaku\ ;
+野心家 < yashinka\ ;
+内法 < uchinori\ ;
+出度 < shutsudo\ ;
+劃一 < kakuitsu\ ;
+自由権 < jiyuuken\ ;
+軸箱 < jikubako\ ;
+防水布 < bousuifu\ ;
+出席 < shusseki\ ;
+再臨派 < sairinha\ ;
+別売 < betsubai\ ;
+帝日 < teijitsu\ ;
+構築 < kouchiku\ ;
+目撃 < mokugeki\ ;
+軍職 < gunshoku\ ;
+名場面 < meibamen\ ;
+筆記体 < hikkitai\ ;
+弦楽器 < gengakki\ ;
+滞在費 < taizaihi\ ;
+規定値 < kiteichi\ ;
+一体感 < ittaikan\ ;
+冬服 < fuyufuku\ ;
+茶杓 < chashaku\ ;
+鮮烈 < senretsu\ ;
+赤砂糖 < akazatou\ ;
+牛小屋 < ushigoya\ ;
+廉価品 < renkahin\ ;
+民需品 < minjuhin\ ;
+真人間 < maningen\ ;
+写植 < shashoku\ ;
+金盞花 < kinsenka\ ;
+別堂 < betsudou\ ;
+分宿 < bunshuku\ ;
+全滅 < zenmetsu\ ;
+山風 < yamakaze\ ;
+草摺 < kusazuri\ ;
+江戸時代 < edojidai\ ;
+先物 < sakimono\ ;
+取沙汰 < torizata\ ;
+銀行員 < ginkouin\ ;
+層位学 < souigaku\ ;
+百点 < hyakuten\ ;
+逆夢 < sakayume\ ;
+透視図 < toushizu\ ;
+名義人 < meiginin\ ;
+給油所 < kyuuyujo\ ;
+光熱 < kounetsu\ ;
+自走砲 < jisouhou\ ;
+前列 < zenretsu\ ;
+寄稿者 < kikousha\ ;
+抒情詩 < jojoushi\ ;
+逆境 < gyakkyou\ ;
+円刃刀 < enjintou\ ;
+癇癪 < kanshaku\ ;
+軍縮 < gunshuku\ ;
+鮭漁 < sakeryou\ ;
+達人 < tatsujin\ ;
+色紙 < shikishi\ ;
+白濁 < hakudaku\ ;
+儁秀 < shunshuu\ ;
+幅広 < habahiro\ ;
+山霧 < yamagiri\ ;
+三七日 < minanoka\ ;
+逸出 < isshutsu\ ;
+入浴 < nyuuyoku\ ;
+欠便 < ketsubin\ ;
+軽石 < karuishi\ ;
+切妻 < kirizuma\ ;
+巻末 < kanmatsu\ ;
+寺小屋 < terakoya\ ;
+距骨 < kyokotsu\ ;
+田雲雀 < tahibari\ ;
+温湿布 < onshippu\ ;
+生首 < namakubi\ ;
+入洛 < nyuuraku\ ;
+直情 < chokujou\ ;
+凶宅 < kyoutaku\ ;
+山際 < yamagiwa\ ;
+庭先 < niwasaki\ ;
+御面相 < gomensou\ ;
+山陰 < yamakage\ ;
+剃刀 < kamisori\ ;
+横波 < yokonami\ ;
+着地 < chakuchi\ ;
+上景気 < joukeiki\ ;
+育英会 < ikueikai\ ;
+乗馬隊 < joubatai\ ;
+地下街 < chikagai\ ;
+盗掘 < toukutsu\ ;
+省庁 < shouchou\ ;
+留金 < tomegane\ ;
+橋梁 < kyouryou\ ;
+町長 < chouchou\ ;
+属領 < zokuryou\ ;
+通告 < tsuukoku\ ;
+前借 < zenshaku\ ;
+青懸巣 < aokakesu\ ;
+欠乏 < ketsubou\ ;
+極致 < kyokuchi\ ;
+不敬罪 < fukeizai\ ;
+原子価 < genshika\ ;
+別命 < betsumei\ ;
+良策 < ryousaku\ ;
+甘食 < amashoku\ ;
+内枠 < uchiwaku\ ;
+橋杭 < hashigui\ ;
+総武線 < soubusen\ ;
+不縹緻 < bukiryou\ ;
+別号 < betsugou\ ;
+借銭 < shakusen\ ;
+眉尻 < mayujiri\ ;
+真如 < shin''nyo\ ;
+解像度 < kaizoudo\ ;
+若水 < wakamizu\ ;
+控訴状 < kousojou\ ;
+通力 < tsuuriki\ ;
+店先 < misesaki\ ;
+畔道 < azemichi\ ;
+若殿 < wakatono\ ;
+再検査 < saikensa\ ;
+通則 < tsuusoku\ ;
+初口 < shokuchi\ ;
+樽柿 < tarugaki\ ;
+臭覚 < shuukaku\ ;
+複座機 < fukuzaki\ ;
+批評家 < hihyouka\ ;
+御中元 < ochuugen\ ;
+人真似 < hitomane\ ;
+横様 < yokozama\ ;
+横槍 < yokoyari\ ;
+冷徹 < reitetsu\ ;
+的地位 < tekichii\ ;
+督促 < tokusoku\ ;
+換気口 < kankikou\ ;
+調査員 < chousain\ ;
+世話役 < sewayaku\ ;
+判別 < hanbetsu\ ;
+常客 < joukyaku\ ;
+帳尻 < choujiri\ ;
+悪知恵 < warudjie\ ;
+苗水 < nawamizu\ ;
+短期間 < tankikan\ ;
+御主人 < goshujin\ ;
+山鉾 < yamaboko\ ;
+髄虫 < zuimushi\ ;
+皆様 < minasama\ ;
+別册 < bessatsu\ ;
+同時性 < doujisei\ ;
+帷子 < katabira\ ;
+草市 < kusaichi\ ;
+黄変米 < ouhenmai\ ;
+余所者 < yosomono\ ;
+白檀 < byakudan\ ;
+若様 < wakasama\ ;
+直射 < chokusha\ ;
+山里 < yamazato\ ;
+退却 < taikyaku\ ;
+滋養分 < jiyoubun\ ;
+槍玉 < yaridama\ ;
+棚牡丹 < tanabota\ ;
+甲鉄 < koutetsu\ ;
+銘酒屋 < meishuya\ ;
+塩類泉 < enruisen\ ;
+局面 < kyokumen\ ;
+保菌者 < hokinsha\ ;
+通信 < tsuushin\ ;
+極線 < kyokusen\ ;
+防砂林 < bousarin\ ;
+通俗 < tsuuzoku\ ;
+船縁 < funaberi\ ;
+皓月 < kougetsu\ ;
+色相 < shikisou\ ;
+色盲 < shikimou\ ;
+眉墨 < mayuzumi\ ;
+内接 < naisetsu\ ;
+閉世界 < heisekai\ ;
+巴戦 < tomoesen\ ;
+全曲 < zenkyoku\ ;
+軸物 < jikumono\ ;
+業績 < gyouseki\ ;
+地下茎 < chikakei\ ;
+多辺形 < tahenkei\ ;
+入木 < nyuuboku\ ;
+極細 < gokuboso\ ;
+不明朗 < fumeirou\ ;
+送別 < soubetsu\ ;
+足首 < ashikubi\ ;
+兼摂 < kensetsu\ ;
+別便 < betsubin\ ;
+年別 < nenbetsu\ ;
+泥火山 < deikazan\ ;
+生録 < namaroku\ ;
+京都府 < kyoutofu\ ;
+白梅 < shiraume\ ;
+臆説 < okusetsu\ ;
+令夫人 < reifujin\ ;
+先様 < sakisama\ ;
+全日 < zenjitsu\ ;
+布引 < nunobiki\ ;
+罷免権 < himenken\ ;
+丁字形 < teijikei\ ;
+監察 < kansatsu\ ;
+分力 < bunryoku\ ;
+候補者 < kouhosha\ ;
+傍耳 < katamimi\ ;
+略言 < ryakugen\ ;
+別人 < betsunin\ ;
+小魚 < kozakana\ ;
+左手 < hidarite\ ;
+色町 < iromachi\ ;
+色男 < irootoko\ ;
+楽章 < gakushou\ ;
+分別 < bunbetsu\ ;
+絵画館 < kaigakan\ ;
+鬱病 < utsubyou\ ;
+国営化 < kokueika\ ;
+逆修 < gyakushu\ ;
+物故者 < bukkosha\ ;
+前相撲 < maezumou\ ;
+研米機 < kenmaiki\ ;
+直売 < chokubai\ ;
+借貸 < shakutai\ ;
+暗黒期 < ankokuki\ ;
+借財 < shakuzai\ ;
+現時点 < genjiten\ ;
+隣保館 < rinpokan\ ;
+冬山 < fuyuyama\ ;
+分冊 < bunsatsu\ ;
+焼夷弾 < shouidan\ ;
+丁字帯 < teijitai\ ;
+軍略 < gunryaku\ ;
+加配米 < kahaimai\ ;
+用達 < youtatsu\ ;
+荒夷 < araebisu\ ;
+極端 < kyokutan\ ;
+真南 < maminami\ ;
+歯科医院 < shikaiin\ ;
+高精度 < kouseido\ ;
+略装 < ryakusou\ ;
+陰関数 < inkansuu\ ;
+水泳帽 < suieibou\ ;
+列伝 < retsuden\ ;
+貸費生 < taihisei\ ;
+船端 < funabata\ ;
+鯨座 < kujiraza\ ;
+着任 < chakunin\ ;
+増税案 < zouzeian\ ;
+辻堂 < tsujidou\ ;
+俺達 < oretachi\ ;
+餓鬼共 < gakidomo\ ;
+真勇 < shin''yuu\ ;
+傘紙 < kasagami\ ;
+許可制 < kyokasei\ ;
+白昼 < hakuchuu\ ;
+痼疾 < koshitsu\ ;
+偽者 < nisemono\ ;
+克服 < kokufuku\ ;
+女性像 < joseizou\ ;
+画質 < gashitsu\ ;
+跳躍 < chouyaku\ ;
+火星年 < kaseinen\ ;
+発明 < hatsumei\ ;
+亜硫酸 < aryuusan\ ;
+逆上 < gyakujou\ ;
+先月 < sengetsu\ ;
+平仄 < hyousoku\ ;
+円形 < marugata\ ;
+再軍備 < saigunbi\ ;
+板屋貝 < itayagai\ ;
+少額 < shougaku\ ;
+斡旋案 < assen''an\ ;
+花崗岩 < kakougan\ ;
+返却 < henkyaku\ ;
+凶兆 < kyouchou\ ;
+楓糖 < kaedetou\ ;
+幕内 < makuuchi\ ;
+未完成 < mikansei\ ;
+巻尺 < makijaku\ ;
+先日 < senjitsu\ ;
+無用心 < buyoujin\ ;
+成文化 < seibunka\ ;
+借覧 < shakuran\ ;
+粗悪品 < soakuhin\ ;
+控訴権 < kousoken\ ;
+駒鳥 < komadori\ ;
+調理場 < chouriba\ ;
+地下線 < chikasen\ ;
+幕僚 < bakuryou\ ;
+写実 < shajitsu\ ;
+亜硝酸 < ashousan\ ;
+元日 < ganjitsu\ ;
+白描 < hakubyou\ ;
+尻重 < shiriomo\ ;
+脛骨 < keikotsu\ ;
+体系化 < taikeika\ ;
+元方 < motokata\ ;
+発揚 < hatsuyou\ ;
+経営者 < keieisha\ ;
+茶壺 < chatsubo\ ;
+修身 < shuushin\ ;
+発掘 < hakkutsu\ ;
+川底 < kawazoko\ ;
+川床 < kawadoko\ ;
+凶作 < kyousaku\ ;
+概略 < gairyaku\ ;
+被写体 < hishatai\ ;
+川幅 < kawahaba\ ;
+傷病 < shoubyou\ ;
+椎茸 < shiitake\ ;
+州州 < shuushuu\ ;
+停職 < teishoku\ ;
+侑食 < yuushoku\ ;
+分娩期 < bunbenki\ ;
+後仕舞 < atojimai\ ;
+内局 < naikyoku\ ;
+男親 < otokooya\ ;
+裏面史 < rimenshi\ ;
+花柄 < hanagara\ ;
+見世物 < misemono\ ;
+山襞 < yamahida\ ;
+辻占 < tsujiura\ ;
+様様 < samazama\ ;
+真中 < man''naka\ ;
+内密 < naimitsu\ ;
+語彙力 < goiryoku\ ;
+花束 < hanataba\ ;
+内実 < naijitsu\ ;
+共布 < tomonuno\ ;
+山裾 < yamasuso\ ;
+高空 < takazora\ ;
+花札 < hanafuda\ ;
+魔法瓶 < mahoubin\ ;
+百態 < hyakutai\ ;
+分娩時 < bunbenji\ ;
+上下動 < jougedou\ ;
+平面図 < heimenzu\ ;
+耐火性 < taikasei\ ;
+痔疾 < jishitsu\ ;
+再定義 < saiteigi\ ;
+電気工 < denkikou\ ;
+反古籠 < hogukago\ ;
+八幡 < hachiman\ ;
+御降誕 < gokoutan\ ;
+巡察 < junsatsu\ ;
+軽業 < karuwaza\ ;
+川尻 < kawajiri\ ;
+明文化 < meibunka\ ;
+腹具合 < haraguai\ ;
+直前 < chokuzen\ ;
+選挙日 < senkyobi\ ;
+棒術 < boujutsu\ ;
+花時 < hanadoki\ ;
+入幕 < nyuumaku\ ;
+発情 < hatsujou\ ;
+俳謔 < haigyaku\ ;
+岩脈 < ganmyaku\ ;
+帳元 < choumoto\ ;
+病的 < byouteki\ ;
+横幅 < yokohaba\ ;
+輸精管 < yuseikan\ ;
+病癖 < byouheki\ ;
+小売店 < kouriten\ ;
+宇宙論 < uchuuron\ ;
+胸高 < munadaka\ ;
+鑑定家 < kanteika\ ;
+促進 < sokushin\ ;
+標徴 < hyouchou\ ;
+固溶体 < koyoutai\ ;
+案内所 < an''naijo\ ;
+病症 < byoushou\ ;
+自信家 < jishinka\ ;
+冷却 < reikyaku\ ;
+亜鉛末 < aenmatsu\ ;
+膏血 < kouketsu\ ;
+傷物 < kizumono\ ;
+導電度 < doudendo\ ;
+県知事 < kenchiji\ ;
+百弊 < hyakuhei\ ;
+凝乳 < gyounyuu\ ;
+畜舎 < chikusha\ ;
+意気阻喪 < ikisosou\ ;
+共学 < kyougaku\ ;
+宇宙観 < uchuukan\ ;
+電動機 < dendouki\ ;
+少量 < shouryou\ ;
+一丁目 < itchoume\ ;
+伊達衆 < dateshuu\ ;
+腋窩腺 < ekikasen\ ;
+不文法 < fubunpou\ ;
+百年 < hyakunen\ ;
+足軽 < ashigaru\ ;
+一貫性 < ikkansei\ ;
+口内炎 < kounaien\ ;
+健筆 < kenpitsu\ ;
+過不足 < kafusoku\ ;
+寒餅 < kanmochi\ ;
+寮長 < ryouchou\ ;
+愛用者 < aiyousha\ ;
+俊足 < shunsoku\ ;
+公民科 < kouminka\ ;
+入寂 < nyuujaku\ ;
+出格子 < degoushi\ ;
+信認 < shin''nin\ ;
+今世紀 < konseiki\ ;
+入学 < nyuugaku\ ;
+業物 < wazamono\ ;
+未婚者 < mikonsha\ ;
+赤靴 < akagutsu\ ;
+候補生 < kouhosei\ ;
+州境 < shuukyou\ ;
+東南亜 < tounan''a\ ;
+信託 < shintaku\ ;
+供養塔 < kuyoutou\ ;
+健胃剤 < ken''izai\ ;
+宿駅 < shukueki\ ;
+極点 < kyokuten\ ;
+俗調 < zokuchou\ ;
+舌癌 < zetsugan\ ;
+直中 < tadanaka\ ;
+花房 < hanafusa\ ;
+修験者 < shugenja\ ;
+疫病 < yakubyou\ ;
+若宮 < wakamiya\ ;
+元帳 < motochou\ ;
+寛闊 < kankatsu\ ;
+寸鉄 < suntetsu\ ;
+違犯行為 < ihankoui\ ;
+柔道着 < juudougi\ ;
+百害 < hyakugai\ ;
+微系数 < bikeisuu\ ;
+仕置場 < shiokiba\ ;
+偶発 < guuhatsu\ ;
+平方和 < heihouwa\ ;
+小身 < shoushin\ ;
+宿願 < shukugan\ ;
+伴奏部 < bansoubu\ ;
+生薬 < shouyaku\ ;
+宿題 < shukudai\ ;
+古写本 < koshahon\ ;
+瓶詰 < bindzume\ ;
+偏窟 < henkutsu\ ;
+先山 < sakiyama\ ;
+男色 < nanshoku\ ;
+脱輪 < datsurin\ ;
+出来物 < dekimono\ ;
+倹約 < ken''yaku\ ;
+草丈 < kusatake\ ;
+土饅頭 < domanjuu\ ;
+世話人 < sewabito\ ;
+入塾 < nyuujuku\ ;
+美顔水 < bigansui\ ;
+自由刑 < jiyuukei\ ;
+塩風呂 < shioburo\ ;
+充電器 < juudenki\ ;
+被験者 < hikensha\ ;
+小熊座 < kogumaza\ ;
+優形 < yasagata\ ;
+手信語 < teshingo\ ;
+先客 < senkyaku\ ;
+赤毛布 < akagetto\ ;
+俗衆 < zokushuu\ ;
+山膚 < yamahada\ ;
+榕樹 < gajumaru\ ;
+先安 < sakiyasu\ ;
+馬面 < umadzura\ ;
+水彩画 < suisaiga\ ;
+一人寝 < hitorine\ ;
+青味泥 < aomidoro\ ;
+百姓 < hyakusei\ ;
+自由党 < jiyuutou\ ;
+充実 < juujitsu\ ;
+芙蓉峰 < fuyouhou\ ;
+落花生 < rakkasei\ ;
+花形 < hanagata\ ;
+山間部 < sankanbu\ ;
+盗人 < nusubito\ ;
+同時代 < doujidai\ ;
+白妙 < shirotae\ ;
+山脈 < yamanami\ ;
+無宗派 < mushuuha\ ;
+花弁 < hanabira\ ;
+入国 < nyuukoku\ ;
+極洋 < kyokuyou\ ;
+軍政府 < gunseifu\ ;
+白壁 < hakuheki\ ;
+白墨 < hakuboku\ ;
+発売 < hatsubai\ ;
+内力 < nairyoku\ ;
+赤銅 < shakudou\ ;
+皮剥 < kawahagi\ ;
+婦人会 < fujinkai\ ;
+原繊維 < gensen''i\ ;
+巨刹 < kyosatsu\ ;
+骨盤 < kotsuban\ ;
+鯉口 < koiguchi\ ;
+生色 < seishoku\ ;
+継電気 < keidenki\ ;
+不文明 < fubunmei\ ;
+平土間 < hiradoma\ ;
+次男坊 < jinanbou\ ;
+先太 < sakibuto\ ;
+超越 < chouetsu\ ;
+膀胱炎 < boukouen\ ;
+有効打 < yuukouda\ ;
+雨量計 < uryoukei\ ;
+兵卒 < heisotsu\ ;
+宇宙船 < uchuusen\ ;
+減衰器 < gensuiki\ ;
+様式 < youshiki\ ;
+伴食 < banshoku\ ;
+多芸性 < tageisei\ ;
+兵力 < heiryoku\ ;
+赤切符 < akagippu\ ;
+楽楽 < rakuraku\ ;
+高潮 < takashio\ ;
+内側 < uchigawa\ ;
+脅迫 < kyouhaku\ ;
+腹膜 < fukumaku\ ;
+火星人 < kaseijin\ ;
+内倉 < uchigura\ ;
+日航機 < nikkouki\ ;
+今世界 < konsekai\ ;
+花守 < hanamori\ ;
+胸郭 < kyoukaku\ ;
+軍需品 < gunjuhin\ ;
+病毒 < byoudoku\ ;
+極楽 < gokuraku\ ;
+水蒸気 < suijouki\ ;
+極極 < gokugoku\ ;
+単漢字 < tankanji\ ;
+十文字 < juumonji\ ;
+守備兵 < shubihei\ ;
+病歴 < byoureki\ ;
+暗号文 < angoubun\ ;
+花嫁 < hanayome\ ;
+全力 < zenryoku\ ;
+共共 < tomodomo\ ;
+高等科 < koutouka\ ;
+花婿 < hanamuko\ ;
+贋首 < nisekubi\ ;
+若君 < wakagimi\ ;
+局舎 < kyokusha\ ;
+州俗 < shuuzoku\ ;
+添乗員 < tenjouin\ ;
+植生 < shokusei\ ;
+権力 < kenryoku\ ;
+優女 < yasaon''a\ ;
+宿酔 < shukusui\ ;
+赫赫 < kakukaku\ ;
+案内図 < an''naizu\ ;
+合言葉 < aikotoba\ ;
+密造 < mitsuzou\ ;
+楽曲 < gakkyoku\ ;
+高波 < takanami\ ;
+会食 < kaishoku\ ;
+定期券 < teikiken\ ;
+倒立 < touritsu\ ;
+色感 < shikikan\ ;
+左上 < hidariue\ ;
+予算案 < yosan''an\ ;
+多様性 < tayousei\ ;
+先哲 < sentetsu\ ;
+自賠法 < jibaihou\ ;
+極東 < kyokutou\ ;
+出不精 < debushou\ ;
+安山岩 < anzangan\ ;
+老大家 < routaika\ ;
+氏素性 < ujisujou\ ;
+上天気 < joutenki\ ;
+第一声 < daiissei\ ;
+導火線 < doukasen\ ;
+魚屋 < sakanaya\ ;
+依頼心 < iraishin\ ;
+跳箱 < tobibako\ ;
+軟式 < nanshiki\ ;
+負債者 < fusaisha\ ;
+高殿 < takadono\ ;
+後頭部 < koutoubu\ ;
+偏片 < katahara\ ;
+川上 < kawakami\ ;
+皮膚病 < hifubyou\ ;
+山程 < yamahodo\ ;
+発動 < hatsudou\ ;
+老夫婦 < roufuufu\ ;
+先口 < senkuchi\ ;
+地下水 < chikasui\ ;
+肋骨 < rokkotsu\ ;
+電気代 < denkidai\ ;
+定義域 < teigiiki\ ;
+畜産 < chikusan\ ;
+色彩 < shikisai\ ;
+良心 < ryoushin\ ;
+生米 < namagome\ ;
+用筆 < youhitsu\ ;
+放火罪 < houkazai\ ;
+雨合羽 < amagappa\ ;
+受刑者 < jukeisha\ ;
+臓物 < zoumotsu\ ;
+非公開 < hikoukai\ ;
+遙々 < harubaru\ ;
+骨灰 < kotsubai\ ;
+普請場 < fushinba\ ;
+多島海 < tatoukai\ ;
+船旅 < funatabi\ ;
+船方 < funakata\ ;
+労働歌 < roudouka\ ;
+寄港地 < kikouchi\ ;
+花園 < hanazono\ ;
+定期便 < teikibin\ ;
+軍律 < gunritsu\ ;
+軍役 < gun''yaku\ ;
+未来形 < miraikei\ ;
+百億 < hyakuoku\ ;
+屑籠 < kuzukago\ ;
+痛撃 < tsuugeki\ ;
+全乳 < zen''nyuu\ ;
+格調 < kakuchou\ ;
+輸出 < yushutsu\ ;
+飛行士 < hikoushi\ ;
+概括 < gaikatsu\ ;
+膠着 < kouchaku\ ;
+妊産婦 < ninsanpu\ ;
+短時間 < tanjikan\ ;
+併設 < heisetsu\ ;
+百倍 < hyakubai\ ;
+偏差値 < hensachi\ ;
+下降線 < kakousen\ ;
+洋菓子 < yougashi\ ;
+断裁機 < dansaiki\ ;
+車座 < kurumaza\ ;
+先入 < sen''nyuu\ ;
+飛行場 < hikoujou\ ;
+借用 < shakuyou\ ;
+宿賃 < yadochin\ ;
+畜犬 < chikuken\ ;
+恵比須講 < ebisukou\ ;
+傍杖 < sobadzue\ ;
+元元 < motomoto\ ;
+工具入 < kouguire\ ;
+体温計 < taionkei\ ;
+寝袋 < nebukuro\ ;
+発行日 < hakkoubi\ ;
+芝地 < shibachi\ ;
+拷問具 < goumongu\ ;
+的中 < tekichuu\ ;
+除外例 < jogairei\ ;
+就縛 < shuubaku\ ;
+寿老人 < juroujin\ ;
+密謀 < mitsubou\ ;
+公取委 < koutorii\ ;
+院外団 < ingaidan\ ;
+不変性 < fuhensei\ ;
+密談 < mitsudan\ ;
+多産系 < tasankei\ ;
+発令 < hatsurei\ ;
+小規模 < shoukibo\ ;
+合議制 < gougisei\ ;
+維管束 < ikansoku\ ;
+良将 < ryoushou\ ;
+客車 < kyakusha\ ;
+脱色 < dasshoku\ ;
+高温計 < kouonkei\ ;
+高札 < kousatsu\ ;
+初等科 < shotouka\ ;
+記憶法 < kiokuhou\ ;
+今朝方 < kesagata\ ;
+百万 < hyakuman\ ;
+破砕性 < hasaisei\ ;
+鹿野苑 < rokuyaon\ ;
+仙骨 < senkotsu\ ;
+安酒 < yasuzake\ ;
+僻境 < hekikyou\ ;
+車屋 < kurumaya\ ;
+舞台裏 < butaiura\ ;
+経営権 < keieiken\ ;
+身心 < shinshin\ ;
+痛惜 < tsuuseki\ ;
+不燃性 < funensei\ ;
+偽札 < nisefuda\ ;
+神祇官 < jingikan\ ;
+借物 < karimono\ ;
+赤蛙 < akagaeru\ ;
+被害者 < higaisha\ ;
+付馬 < tsukeuma\ ;
+水酸基 < suisanki\ ;
+天体図 < tentaizu\ ;
+近距離 < kinkyori\ ;
+準社員 < junshain\ ;
+赤虫 < akamushi\ ;
+佗言 < wabigoto\ ;
+人件費 < jinkenhi\ ;
+常得意 < joutokui\ ;
+生皮 < namakawa\ ;
+極性 < kyokusei\ ;
+色女 < iroon''na\ ;
+輪伐 < rinbatsu\ ;
+倍率 < bairitsu\ ;
+皮脂腺 < hishisen\ ;
+無定形 < muteikei\ ;
+可用性 < kayousei\ ;
+人生派 < jinseiha\ ;
+俗称 < zokushou\ ;
+山猿 < yamazaru\ ;
+山猫 < yamaneko\ ;
+伝達 < dentatsu\ ;
+発行所 < hakkoujo\ ;
+摩天楼 < matenrou\ ;
+寵臣 < choushin\ ;
+小間物 < komamono\ ;
+植毛 < shokumou\ ;
+御大層 < gotaisou\ ;
+警備隊 < keibitai\ ;
+割烹着 < kappougi\ ;
+協和音 < kyouwaon\ ;
+受動態 < judoutai\ ;
+総動員 < soudouin\ ;
+肉鍋 < nikunabe\ ;
+男爵 < danshaku\ ;
+花林糖 < karintou\ ;
+人魂 < hitodama\ ;
+腹痛 < fukutsuu\ ;
+船底 < funazoko\ ;
+船床 < funadoko\ ;
+駆落 < kakeochi\ ;
+極希 < gokumare\ ;
+人骨 < jinkotsu\ ;
+小結 < komusubi\ ;
+正社員 < seishain\ ;
+等温線 < touonsen\ ;
+実説 < jissetsu\ ;
+御霊屋 < mitamaya\ ;
+一夕話 < issekiwa\ ;
+小為替 < kogawase\ ;
+第一位 < daiichii\ ;
+履物 < hakimono\ ;
+病徴 < byouchou\ ;
+税関吏 < zeikanri\ ;
+養育費 < youikuhi\ ;
+定説 < teisetsu\ ;
+臨月 < ringetsu\ ;
+流鏑馬 < yabusame\ ;
+病弱 < byoujaku\ ;
+控訴人 < kousonin\ ;
+茶話会 < chawakai\ ;
+喫緊事 < kikkinji\ ;
+吸金剛 < kokongou\ ;
+骨材 < kotsuzai\ ;
+産物 < sanbutsu\ ;
+検札 < kensatsu\ ;
+貪食 < donshoku\ ;
+信用 < shin''you\ ;
+脇腹 < wakibara\ ;
+老練家 < rourenka\ ;
+不調和 < fuchouwa\ ;
+生物 < namamono\ ;
+局番 < kyokuban\ ;
+小策 < shousaku\ ;
+槍先 < yarisaki\ ;
+気管支 < kikanshi\ ;
+痰壺 < tantsubo\ ;
+髪床 < kamidoko\ ;
+水酸化 < suisanka\ ;
+大人気 < daininki\ ;
+寒色 < kanshoku\ ;
+青銅器 < seidouki\ ;
+植栽 < shokusai\ ;
+休足 < kyuusoku\ ;
+船宿 < funayado\ ;
+仏門 < butsumon\ ;
+飛行便 < hikoubin\ ;
+傍役 < wakiyaku\ ;
+肉迫 < nikuhaku\ ;
+可能法 < kanouhou\ ;
+真珠母 < shinjubo\ ;
+核膜 < kakumaku\ ;
+専攻科 < senkouka\ ;
+化膿菌 < kanoukin\ ;
+亡骸 < nakigara\ ;
+臘月 < rougetsu\ ;
+植林 < shokurin\ ;
+非常線 < hijousen\ ;
+精一杯 < seiippai\ ;
+遇不遇 < guufuguu\ ;
+胸膜 < kyoumaku\ ;
+飽食 < houshoku\ ;
+修熟 < shuujuku\ ;
+未耕地 < mikouchi\ ;
+門下生 < monkasei\ ;
+一風呂 < hitofuro\ ;
+宅診 < takushin\ ;
+小禄 < shouroku\ ;
+伝説 < densetsu\ ;
+足癖 < ashikuse\ ;
+脱税 < datsuzei\ ;
+京響 < kyoukyou\ ;
+培養基 < baiyouki\ ;
+転入 < ten''nyuu\ ;
+軍隊化 < guntaika\ ;
+演芸会 < engeikai\ ;
+対立 < tairitsu\ ;
+文人画 < bunjinga\ ;
+現時代 < genjidai\ ;
+腫物 < shumotsu\ ;
+広範囲 < kouhan''i\ ;
+極大 < kyokudai\ ;
+略書 < ryakusho\ ;
+宿舎 < shukusha\ ;
+軍卒 < gunsotsu\ ;
+円屋根 < maruyane\ ;
+峰峰 < minemine\ ;
+培養土 < baiyoudo\ ;
+寒気団 < kankidan\ ;
+容色 < youshoku\ ;
+粗利益 < ararieki\ ;
+介錯 < kaishaku\ ;
+予算外 < yosangai\ ;
+非民主 < himinshu\ ;
+嵌入 < kan''nyuu\ ;
+軒別 < kenbetsu\ ;
+側役 < sobayaku\ ;
+転借 < tenshaku\ ;
+受益者 < juekisha\ ;
+脊索 < sekisaku\ ;
+安定板 < anteiban\ ;
+記念館 < kinenkan\ ;
+一歩一歩 < ippoippo\ ;
+大宇宙 < daiuchuu\ ;
+財閥 < zaibatsu\ ;
+亜急性 < akyuusei\ ;
+木鼠 < kinezumi\ ;
+骨折 < kossetsu\ ;
+脚立 < kyatatsu\ ;
+僻事 < higagoto\ ;
+計算簿 < keisanbo\ ;
+略文 < ryakubun\ ;
+軒先 < nokisaki\ ;
+静止画 < seishiga\ ;
+不整合 < fuseigou\ ;
+二重顎 < nijuuago\ ;
+制御機 < seigyoki\ ;
+根絶 < konzetsu\ ;
+枝道 < edamichi\ ;
+二等分 < nitoubun\ ;
+宿老 < shukurou\ ;
+貸金 < kashikin\ ;
+平炉法 < heirohou\ ;
+高密 < koumitsu\ ;
+五稜堡 < goryouho\ ;
+未来像 < miraizou\ ;
+足温器 < sokuonki\ ;
+二等兵 < nitouhei\ ;
+貴族院 < kizokuin\ ;
+仏道 < butsudou\ ;
+何者 < nanimono\ ;
+良俗 < ryouzoku\ ;
+記号論 < kigouron\ ;
+住職 < juushoku\ ;
+柔術 < juujutsu\ ;
+生水 < namamizu\ ;
+名詞句 < meishiku\ ;
+胸糞 < munekuso\ ;
+客船 < kyakusen\ ;
+老骨 < roukotsu\ ;
+枕辺 < makurabe\ ;
+尤物 < yuubutsu\ ;
+伝馬船 < tenmasen\ ;
+乱髪 < ranpatsu\ ;
+銀河系 < gingakei\ ;
+体罰 < taibatsu\ ;
+人里 < hitozato\ ;
+客膳 < kyakuzen\ ;
+大宮司 < daiguuji\ ;
+肉親 < nikushin\ ;
+流行目 < hayarime\ ;
+遠視眼 < enshigan\ ;
+富籤 < tomikuji\ ;
+卵巣炎 < ransouen\ ;
+偵察 < teisatsu\ ;
+能筆 < nouhitsu\ ;
+乾風 < karakaze\ ;
+髪型 < kamigata\ ;
+未亡人 < miboujin\ ;
+引用符 < in''youfu\ ;
+良久 < ryoukyuu\ ;
+村雨 < murasame\ ;
+柔道家 < juudouka\ ;
+軒並 < nokinami\ ;
+不均衡 < fukinkou\ ;
+軒丈 < nokitake\ ;
+寒竹 < kanchiku\ ;
+月齢 < getsurei\ ;
+対話者 < taiwasha\ ;
+跳梁 < chouryou\ ;
+寒空 < samuzora\ ;
+訟務部 < shoumubu\ ;
+仰角 < gyoukaku\ ;
+御霊前 < goreizen\ ;
+兌換券 < dakanken\ ;
+不摂生 < fusessei\ ;
+楽劇 < gakugeki\ ;
+日本風 < nihonfuu\ ;
+飄飄 < hyouhyou\ ;
+木骨 < mokkotsu\ ;
+候補地 < kouhochi\ ;
+玉髄 < gyokuzui\ ;
+砂防林 < sabourin\ ;
+俗流 < zokuryuu\ ;
+下士官 < kashikan\ ;
+市議会 < shigikai\ ;
+一時期 < ichijiki\ ;
+健実 < kenjitsu\ ;
+自負心 < jifushin\ ;
+豪雪 < gousetsu\ ;
+相合傘 < aiaigasa\ ;
+聴覚 < choukaku\ ;
+謙譲語 < kenjougo\ ;
+珍重 < chinchou\ ;
+扶持米 < fuchimai\ ;
+再起動 < saikidou\ ;
+獣医学 < juuigaku\ ;
+非常用 < hijouyou\ ;
+破廉恥 < harenchi\ ;
+出放題 < dehoudai\ ;
+安定感 < anteikan\ ;
+側壁 < sokuheki\ ;
+検尿 < ken''nyou\ ;
+養老院 < yourouin\ ;
+乱雑 < ranzatsu\ ;
+属望 < shokubou\ ;
+野良猫 < noraneko\ ;
+中黒 < nakaguro\ ;
+未丁年 < miteinen\ ;
+人足 < hitoashi\ ;
+対物 < taibutsu\ ;
+安定性 < anteisei\ ;
+玉顔 < gyokugan\ ;
+颯颯 < sassatsu\ ;
+仏説 < bussetsu\ ;
+島台 < shimadai\ ;
+仇讎 < kyuushuu\ ;
+併発 < heihatsu\ ;
+駐留 < chuuryuu\ ;
+略帽 < ryakubou\ ;
+決算期 < kessanki\ ;
+朝飯 < asameshi\ ;
+自乗根 < jijoukon\ ;
+全荷重 < zenkajuu\ ;
+何程 < nanihodo\ ;
+奥御殿 < okugoten\ ;
+風食 < fuushoku\ ;
+畳屋 < tatamiya\ ;
+製造所 < seizoujo\ ;
+側圧 < sokuatsu\ ;
+贖罪 < shokuzai\ ;
+快男児 < kaidanji\ ;
+肩肘 < katahiji\ ;
+旺文社 < oubunsha\ ;
+染色 < senshoku\ ;
+超音波 < chouonpa\ ;
+守護霊 < shugorei\ ;
+無期延期 < mukienki\ ;
+木曾川 < kisogawa\ ;
+弱音器 < jakuonki\ ;
+村里 < murazato\ ;
+仙術 < senjutsu\ ;
+俗楽 < zokugaku\ ;
+首筋 < kubisuji\ ;
+佇立 < choritsu\ ;
+密着 < mitchaku\ ;
+決算日 < kessanbi\ ;
+腰板 < koshiita\ ;
+股肉 < momoniku\ ;
+脱漏 < datsurou\ ;
+自主権 < jishuken\ ;
+能弁家 < noubenka\ ;
+可能性 < kanousei\ ;
+大旦那 < oodan''na\ ;
+丸髷 < marumage\ ;
+印度教 < indokyou\ ;
+屈曲 < kukkyoku\ ;
+船人 < funabito\ ;
+骨太 < honebuto\ ;
+高卒 < kousotsu\ ;
+無人島 < mujintou\ ;
+就業 < shuugyou\ ;
+食道 < shokudou\ ;
+真似事 < manegoto\ ;
+谷風 < tanikaze\ ;
+謄写器 < toushaki\ ;
+仮葺 < karibuki\ ;
+風雪 < fuusetsu\ ;
+柔肌 < yawahada\ ;
+駐独 < chuudoku\ ;
+帰還者 < kikansha\ ;
+玉門 < gyokumon\ ;
+助産院 < josan''in\ ;
+月食 < gesshoku\ ;
+女店員 < joten''in\ ;
+栗石 < kuriishi\ ;
+小波 < sazanami\ ;
+蛸部屋 < takobeya\ ;
+予算上 < yosanjou\ ;
+定立 < teiritsu\ ;
+丸首 < marukubi\ ;
+中高 < nakadaka\ ;
+定時制 < teijisei\ ;
+官立 < kanritsu\ ;
+能率 < nouritsu\ ;
+正弦波 < seigenha\ ;
+余所事 < yosogoto\ ;
+足業 < ashiwaza\ ;
+木鐸 < bokutaku\ ;
+主食 < shushoku\ ;
+俗曲 < zokkyoku\ ;
+作病 < sakubyou\ ;
+何百 < nanbyaku\ ;
+仁術 < jinjutsu\ ;
+馬鹿者 < bakamono\ ;
+桜湯 < sakurayu\ ;
+検圧 < ken''atsu\ ;
+儀礼兵 < gireihei\ ;
+一齣 < hitokoma\ ;
+足械 < ashikase\ ;
+月面 < getsumen\ ;
+日本酒 < nihonshu\ ;
+尽日 < jinjitsu\ ;
+少欲 < shouyoku\ ;
+画引 < kakubiki\ ;
+早産児 < souzanji\ ;
+留学 < ryuugaku\ ;
+学習 < gakushuu\ ;
+跋文 < batsubun\ ;
+山彦 < yamabiko\ ;
+山形 < yamagata\ ;
+病中 < byouchuu\ ;
+採綿器 < saimenki\ ;
+偶力 < guuryoku\ ;
+英連邦 < eirenpou\ ;
+任職 < ninshoku\ ;
+脱毛 < datsumou\ ;
+早生児 < souseiji\ ;
+木鋏 < kibasami\ ;
+貧血 < hinketsu\ ;
+加盟者 < kameisha\ ;
+降雨量 < kouuryou\ ;
+耳許 < mimimoto\ ;
+傑人 < ketsujin\ ;
+対決 < taiketsu\ ;
+射殺 < shasatsu\ ;
+警備艇 < keibitei\ ;
+出来事 < dekigoto\ ;
+令色 < reishoku\ ;
+価電子 < kadenshi\ ;
+封殺 < fuusatsu\ ;
+古生界 < koseikai\ ;
+小槌 < kodzuchi\ ;
+学績 < gakuseki\ ;
+山川 < yamagawa\ ;
+高低 < takahiku\ ;
+中頃 < nakagoro\ ;
+職能 < shokunou\ ;
+屈折 < kussetsu\ ;
+実直 < jitchoku\ ;
+金魚屋 < kingyoya\ ;
+腰折 < koshiore\ ;
+木天蓼 < matatabi\ ;
+実益 < jitsueki\ ;
+半裸体 < hanratai\ ;
+定着 < teichaku\ ;
+梁木 < ryouboku\ ;
+日本軍 < nihongun\ ;
+日本車 < nihonsha\ ;
+偶偶 < tamatama\ ;
+修羅道 < shuradou\ ;
+足早 < ashibaya\ ;
+商行為 < shoukoui\ ;
+舌代 < zetsudai\ ;
+柱石 < chuuseki\ ;
+山山 < yamayama\ ;
+条里制 < jourisei\ ;
+中隔 < chuukaku\ ;
+局所 < kyokusho\ ;
+染筆 < senpitsu\ ;
+投影法 < toueihou\ ;
+信憑 < shinpyou\ ;
+桟橋 < sanbashi\ ;
+肉細 < nikuboso\ ;
+客用 < kyakuyou\ ;
+中限 < nakagiri\ ;
+有尾類 < yuubirui\ ;
+山寺 < yamadera\ ;
+欧羅巴 < youroppa\ ;
+万骨 < bankotsu\ ;
+世間体 < sekentei\ ;
+伊達巻 < datemaki\ ;
+修復 < shuufuku\ ;
+仏艦 < futsukan\ ;
+実用 < jitsuyou\ ;
+修得 < shuutoku\ ;
+胆略 < tanryaku\ ;
+水利権 < suiriken\ ;
+史学家 < shigakka\ ;
+丸鑿 < marunomi\ ;
+山守 < yamamori\ ;
+足摺 < ashizuri\ ;
+食言 < shokugen\ ;
+納付金 < noufukin\ ;
+蕎麦殻 < sobagara\ ;
+二言 < futakoto\ ;
+体熱 < tainetsu\ ;
+赤鳥赤腹 < akakokko\ ;
+方向舵 < houkouda\ ;
+仮綴 < karitoji\ ;
+夏至線 < geshisen\ ;
+不均等 < fukintou\ ;
+宇宙帽 < uchuubou\ ;
+無頼漢 < buraikan\ ;
+屈従 < kutsujuu\ ;
+実現 < jitsugen\ ;
+濃度計 < noudokei\ ;
+現職 < genshoku\ ;
+豁達 < kattatsu\ ;
+信念 < shin''nen\ ;
+顎骨 < gakkotsu\ ;
+一昨年 < ototoshi\ ;
+未経験 < mikeiken\ ;
+三食 < sanshoku\ ;
+朝寝坊 < asanebou\ ;
+了覚 < ryoukaku\ ;
+群雲 < murakumo\ ;
+月金 < getsukin\ ;
+赤沈 < sekichin\ ;
+下顎 < shitaago\ ;
+山姫 < yamahime\ ;
+脂汗 < aburaase\ ;
+腰弁 < koshiben\ ;
+宝玉 < hougyoku\ ;
+過大視 < kadaishi\ ;
+少敵 < shouteki\ ;
+翡翠色 < hisuiiro\ ;
+驍将 < gyoushou\ ;
+丘陵 < kyuuryou\ ;
+略名 < ryakumei\ ;
+土根性 < dokonjou\ ;
+略号 < ryakugou\ ;
+略史 < ryakushi\ ;
+番卒 < bansotsu\ ;
+総模様 < soumoyou\ ;
+略取 < ryakushu\ ;
+計算機 < keisanki\ ;
+弁当屋 < bentouya\ ;
+代打者 < daidasha\ ;
+実状 < jitsujou\ ;
+借地 < shakuchi\ ;
+併殺 < heisatsu\ ;
+腰帯 < koshiobi\ ;
+上靴 < uwagutsu\ ;
+膜壁 < makuheki\ ;
+風媒花 < fuubaika\ ;
+脱文 < datsubun\ ;
+存立 < sonritsu\ ;
+無試験 < mushiken\ ;
+宝物 < houmotsu\ ;
+醸造酢 < jouzousu\ ;
+俗形 < zokugyou\ ;
+反動派 < handouha\ ;
+経済家 < keizaika\ ;
+淋巴腺 < rinpasen\ ;
+人膚 < hitohada\ ;
+風足 < kazaashi\ ;
+乾裂 < kanretsu\ ;
+桎梏 < shikkoku\ ;
+一頃 < hitokoro\ ;
+自主性 < jishusei\ ;
+翌週 < yokushuu\ ;
+越天楽 < etenraku\ ;
+権利金 < kenrikin\ ;
+対日 < tainichi\ ;
+枠組 < wakugumi\ ;
+慢性化 < manseika\ ;
+翻訳 < hon''yaku\ ;
+人脈 < jinmyaku\ ;
+授乳期 < junyuuki\ ;
+専門語 < senmongo\ ;
+山城 < yamajiro\ ;
+前舞台 < maebutai\ ;
+天爾乎波 < teniwoha\ ;
+脚本 < kyakuhon\ ;
+選科生 < senkasei\ ;
+東芝 < toushiba\ ;
+赤樫 < akagashi\ ;
+脊椎 < sekitsui\ ;
+実際家 < jissaika\ ;
+柴犬 < shibainu\ ;
+修学 < shuugaku\ ;
+俊徳 < shuntoku\ ;
+一昼夜 < itchuuya\ ;
+月輪 < getsurin\ ;
+仲秋 < chuushuu\ ;
+主述 < shujutsu\ ;
+衆議院 < shuugiin\ ;
+人肉 < jin''niku\ ;
+媒酌 < baishaku\ ;
+日本製 < nihonsei\ ;
+例月 < reigetsu\ ;
+生娘 < kimusume\ ;
+印判師 < inbanshi\ ;
+代筆 < daihitsu\ ;
+密殺 < missatsu\ ;
+暴食 < boushoku\ ;
+山国 < yamaguni\ ;
+職種 < shokushu\ ;
+一際 < hitokiwa\ ;
+小火器 < shoukaki\ ;
+無風帯 < mufuutai\ ;
+一隅 < hitosumi\ ;
+就床 < shuushou\ ;
+丈長 < takenaga\ ;
+頭髪 < touhatsu\ ;
+猥雑 < waizatsu\ ;
+足形 < ashigata\ ;
+走査線 < sousasen\ ;
+安物 < yasumono\ ;
+空手家 < karateka\ ;
+天井値 < tenjoune\ ;
+寒極 < kankyoku\ ;
+足弱 < ashiyowa\ ;
+計算木 < keisangi\ ;
+候哉 < sourouya\ ;
+例日 < reijitsu\ ;
+中速 < chuusoku\ ;
+採炭所 < saitanjo\ ;
+弁務官 < benmukan\ ;
+受益権 < juekiken\ ;
+生壁 < namakabe\ ;
+加工紙 < kakoushi\ ;
+肉的 < nikuteki\ ;
+胸椎 < kyoutsui\ ;
+教務課 < kyoumuka\ ;
+桂月 < keigetsu\ ;
+室温 < shitsuon\ ;
+連動機 < rendouki\ ;
+仙窟 < senkutsu\ ;
+寧日 < neijitsu\ ;
+議事録 < gijiroku\ ;
+再来年 < sarainen\ ;
+一昨夜 < issakuya\ ;
+番付 < bandzuke\ ;
+宇宙塵 < uchuujin\ ;
+水道屋 < suidouya\ ;
+赤松 < akamatsu\ ;
+略体 < ryakutai\ ;
+梅干 < umeboshi\ ;
+腹壁 < fukuheki\ ;
+中軸 < chuujiku\ ;
+略伝 < ryakuden\ ;
+腸壁 < chouheki\ ;
+象虫 < zoumushi\ ;
+林立 < rinritsu\ ;
+重軌条 < juukijou\ ;
+質疑 < shitsugi\ ;
+山吹 < yamabuki\ ;
+踏切 < fumikiri\ ;
+違約金 < iyakukin\ ;
+杏茸 < anzutake\ ;
+生国 < shoukoku\ ;
+鸚鵡病 < oumubyou\ ;
+束脩 < sokushuu\ ;
+単性花 < tanseika\ ;
+宿業 < shukugou\ ;
+注意点 < chuuiten\ ;
+常備金 < joubikin\ ;
+申告 < shinkoku\ ;
+寒月 < kangetsu\ ;
+有識 < yuushiki\ ;
+転移性 < ten''isei\ ;
+餅網 < mochiami\ ;
+何様 < nanisama\ ;
+翁貝 < okinagai\ ;
+活火山 < kakkazan\ ;
+富札 < tomifuda\ ;
+局外 < kyokugai\ ;
+食膳 < shokuzen\ ;
+杉苔 < sugigoke\ ;
+密林 < mitsurin\ ;
+倉卒 < sousotsu\ ;
+客殿 < kyakuden\ ;
+並足 < namiashi\ ;
+加工税 < kakouzei\ ;
+畑作 < hatasaku\ ;
+瓦屋 < kawaraya\ ;
+客死 < kyakushi\ ;
+男前 < otokomae\ ;
+局報 < kyokuhou\ ;
+顰蹙 < hinshuku\ ;
+美粧院 < bishouin\ ;
+宮様 < miyasama\ ;
+作柄 < sakugara\ ;
+献酌 < kenshaku\ ;
+茶箪笥 < chadansu\ ;
+食育 < shokuiku\ ;
+噴火山 < funkazan\ ;
+地方時 < chihouji\ ;
+両足 < ryousoku\ ;
+悪餓鬼 < warugaki\ ;
+博愛家 < hakuaika\ ;
+二股 < futamata\ ;
+上達 < joutatsu\ ;
+情報部 < jouhoubu\ ;
+膝元 < hizamoto\ ;
+宿望 < shukubou\ ;
+日本茶 < nihoncha\ ;
+脱帽 < datsubou\ ;
+申出 < moushide\ ;
+柄物 < garamono\ ;
+上述 < joujutsu\ ;
+作曲 < sakkyoku\ ;
+耳糞 < mimikuso\ ;
+老若 < rounyaku\ ;
+光行差 < koukousa\ ;
+外耳道 < gaijidou\ ;
+肉牛 < nikugyuu\ ;
+山元 < yamamoto\ ;
+地震波 < jishinha\ ;
+三塁打 < sanruida\ ;
+束縛 < sokubaku\ ;
+勾引状 < kouinjou\ ;
+地雷源 < jiraigen\ ;
+電機子 < denkishi\ ;
+末葉 < matsuyou\ ;
+常備軍 < joubigun\ ;
+何月 < nangatsu\ ;
+豚草 < butakusa\ ;
+少少 < shoushou\ ;
+小型化 < kogataka\ ;
+刷毛先 < hakesaki\ ;
+暗闇 < kurayami\ ;
+玉葱 < tamanegi\ ;
+青内障 < aosokohi\ ;
+評議員 < hyougiin\ ;
+乳臭 < nyuushuu\ ;
+甘口 < amakuchi\ ;
+公分母 < koubunbo\ ;
+木菟 < mimizuku\ ;
+可聴度 < kachoudo\ ;
+無条件 < mujouken\ ;
+矢飛白 < yagasuri\ ;
+手腕家 < shuwanka\ ;
+産別 < sanbetsu\ ;
+検事正 < kenjisei\ ;
+便壺 < bentsubo\ ;
+一輛 < ichiryou\ ;
+賜物 < tamamono\ ;
+偽善者 < gizensha\ ;
+伝導度 < dendoudo\ ;
+公募債 < koubosai\ ;
+首枷 < kubikase\ ;
+子爵 < shishaku\ ;
+例式 < reishiki\ ;
+現生 < gen''nama\ ;
+木苺 < kiichigo\ ;
+機関銃 < kikanjuu\ ;
+犬鷲 < inuwashi\ ;
+本色 < honshoku\ ;
+乱脈 < ranmyaku\ ;
+密接 < missetsu\ ;
+一躍 < ichiyaku\ ;
+山人 < yamabito\ ;
+脇息 < kyousoku\ ;
+羽衣 < hagoromo\ ;
+服薬 < fukuyaku\ ;
+武勇伝 < buyuuden\ ;
+梵刹 < bonsetsu\ ;
+伏流 < fukuryuu\ ;
+制御下 < seigyoka\ ;
+対局 < taikyoku\ ;
+蓮華草 < rengesou\ ;
+報知機 < houchiki\ ;
+猫足 < nekoashi\ ;
+小娘 < komusume\ ;
+代物 < daibutsu\ ;
+姫鱒 < himemasu\ ;
+本腰 < hongoshi\ ;
+腹切 < harakiri\ ;
+晩飯 < banmeshi\ ;
+翼翼 < yokuyoku\ ;
+生傷 < namakizu\ ;
+豚肉 < butaniku\ ;
+夏至点 < geshiten\ ;
+頭金 < atamakin\ ;
+武芸者 < bugeisha\ ;
+美質 < bishitsu\ ;
+走馬灯 < soumatou\ ;
+届出 < todokede\ ;
+赤心 < sekishin\ ;
+状骨 < joukotsu\ ;
+翠色 < suishoku\ ;
+両袖 < ryousode\ ;
+丸薬 < gan''yaku\ ;
+宿所 < shukusho\ ;
+果物 < kudamono\ ;
+二重税 < nijuuzei\ ;
+現物 < genbutsu\ ;
+下請 < shitauke\ ;
+木耳 < kikurage\ ;
+尽力 < jinryoku\ ;
+正比例 < seihirei\ ;
+預金者 < yokinsha\ ;
+人畜 < jinchiku\ ;
+加速度 < kasokudo\ ;
+正当化 < seitouka\ ;
+手不足 < tebusoku\ ;
+側火山 < sokkazan\ ;
+過不及 < kafukyuu\ ;
+殺鼠剤 < sassozai\ ;
+記念祭 < kinensai\ ;
+係員 < kakariin\ ;
+不手際 < futegiwa\ ;
+不等辺 < futouhen\ ;
+被害地 < higaichi\ ;
+日本紙 < nihonshi\ ;
+一諾 < ichidaku\ ;
+潜水夫 < sensuifu\ ;
+御陀仏 < odabutsu\ ;
+学歴 < gakureki\ ;
+宿悪 < shukuaku\ ;
+胸座 < munagura\ ;
+一読 < ichidoku\ ;
+寥寥 < ryouryou\ ;
+来着 < raichaku\ ;
+休業 < kyuugyou\ ;
+夜学校 < yagakkou\ ;
+再上映 < saijouei\ ;
+修了 < shuuryou\ ;
+胸幅 < munehaba\ ;
+外来語 < gairaigo\ ;
+難破船 < nanpasen\ ;
+一言 < hitokoto\ ;
+宿志 < shukushi\ ;
+駒下駄 < komageta\ ;
+腕力 < wanryoku\ ;
+腹中 < fukuchuu\ ;
+一角 < hitokado\ ;
+肉欲 < nikuyoku\ ;
+注意書 < chuuisho\ ;
+珠玉 < shugyoku\ ;
+什物 < juumotsu\ ;
+五重奏 < gojuusou\ ;
+肩書 < katagaki\ ;
+漫談家 < mandanka\ ;
+倍精度 < baiseido\ ;
+納付者 < noufusha\ ;
+宿弊 < shukuhei\ ;
+噴火口 < funkakou\ ;
+介護人 < kaigonin\ ;
+乱筆 < ranpitsu\ ;
+人物 < jinbutsu\ ;
+俗信 < zokushin\ ;
+献血 < kenketsu\ ;
+格安 < kakuyasu\ ;
+両蓋 < ryoubuta\ ;
+学業 < gakugyou\ ;
+人爵 < jinshaku\ ;
+猥褻 < waisetsu\ ;
+道議会 < dougikai\ ;
+有機体 < yuukitai\ ;
+豚箱 < butabako\ ;
+仮殿 < karidono\ ;
+飛石 < tobiishi\ ;
+乱立 < ranritsu\ ;
+死産児 < shizanji\ ;
+宿帳 < yadochou\ ;
+寒寒 < samuzamu\ ;
+朱筆 < shuhitsu\ ;
+不規則 < fukisoku\ ;
+主脈 < shumyaku\ ;
+潜水器 < sensuiki\ ;
+付添 < tsukisoi\ ;
+本節 < honbushi\ ;
+曲芸 < kyokugei\ ;
+末節 < massetsu\ ;
+足元 < ashimoto\ ;
+財物 < zaibutsu\ ;
+小名 < shoumyou\ ;
+整備工 < seibikou\ ;
+乗組 < norikumi\ ;
+寝姿 < nesugata\ ;
+曳船 < hikibune\ ;
+末筆 < mappitsu\ ;
+荒武者 < aramusha\ ;
+遠地点 < enchiten\ ;
+昼頃 < hirugoro\ ;
+独身 < dokushin\ ;
+琴曲 < kinkyoku\ ;
+京物 < kyoumono\ ;
+某月 < bougetsu\ ;
+外字紙 < gaijishi\ ;
+今時分 < imajibun\ ;
+豆粕 < mamekasu\ ;
+中腹 < chuufuku\ ;
+反動家 < handouka\ ;
+順逆 < jungyaku\ ;
+大晦日 < oomisoka\ ;
+杉皮 < sugikawa\ ;
+将又 < hatamata\ ;
+不精巧 < fuseikou\ ;
+大丈夫 < daijoubu\ ;
+脱却 < dakkyaku\ ;
+寂寞 < sekibaku\ ;
+食用 < shokuyou\ ;
+某日 < boujitsu\ ;
+保全会 < hozenkai\ ;
+同素体 < dousotai\ ;
+晩酌 < banshaku\ ;
+中肉 < chuuniku\ ;
+依怙贔屓 < ekohiiki\ ;
+貞烈 < teiretsu\ ;
+再交付 < saikoufu\ ;
+飲物 < nomimono\ ;
+両膚 < ryouhada\ ;
+実弾 < jitsudan\ ;
+下萠 < shitamoe\ ;
+天日法 < tenpihou\ ;
+曲者 < kusemono\ ;
+守護神 < shugojin\ ;
+桃園 < momozono\ ;
+組合費 < kumiaihi\ ;
+首巻 < kubimaki\ ;
+仏気 < hotokegi\ ;
+春風 < harukaze\ ;
+荒蕪地 < koubuchi\ ;
+並肉 < naminiku\ ;
+愛媛県 < ehimeken\ ;
+未青年 < miseinen\ ;
+客年 < kyakunen\ ;
+越南 < betonamu\ ;
+両脇 < ryouwaki\ ;
+風窓 < kazamado\ ;
+人事欄 < jinjiran\ ;
+風穴 < fuuketsu\ ;
+仏殿 < butsuden\ ;
+胸壁 < kyouheki\ ;
+長音符 < chouonpu\ ;
+定式 < teishiki\ ;
+不均斉 < fukinsei\ ;
+両肘 < ryouhiji\ ;
+準備金 < junbikin\ ;
+嫡男 < chakunan\ ;
+乳白 < nyuuhaku\ ;
+淋巴液 < rinpaeki\ ;
+事務長 < jimuchou\ ;
+修理屋 < shuuriya\ ;
+低密 < teimitsu\ ;
+両耳 < ryoumimi\ ;
+懐疑論 < kaigiron\ ;
+喉頭炎 < koutouen\ ;
+暴虐 < bougyaku\ ;
+肘掛 < hijikake\ ;
+疎外感 < sogaikan\ ;
+両翼 < ryouyoku\ ;
+密売 < mitsubai\ ;
+木石 < bokuseki\ ;
+玉砕 < gyokusai\ ;
+七草 < nanakusa\ ;
+加速器 < kasokuki\ ;
+宮守 < miyamori\ ;
+玉石 < tamaishi\ ;
+庭下駄 < niwageta\ ;
+仲春 < chuushun\ ;
+桑原 < kuwabara\ ;
+識閾 < shikiiki\ ;
+人波 < hitonami\ ;
+春雨 < harusame\ ;
+翳目 < kasumime\ ;
+猿股 < sarumata\ ;
+休戚 < kyuuseki\ ;
+非常勤 < hijoukin\ ;
+野球部 < yakyuubu\ ;
+客層 < kyakusou\ ;
+前駆戦 < zenkusen\ ;
+春陽 < shun''you\ ;
+貞淑 < teishuku\ ;
+守役 < moriyaku\ ;
+主節 < shusetsu\ ;
+指導部 < shidoubu\ ;
+財産家 < zaisanka\ ;
+一花 < hitohana\ ;
+顔色 < ganshoku\ ;
+中細 < chuuboso\ ;
+中級 < chuukyuu\ ;
+居催促 < izaisoku\ ;
+率直 < sotchoku\ ;
+猫舌 < nekojita\ ;
+三脚 < sankyaku\ ;
+智識 < chishiki\ ;
+当歳馬 < tousaiba\ ;
+下肥 < shimogoe\ ;
+実害 < jitsugai\ ;
+小一 < shouichi\ ;
+貪欲 < don''yoku\ ;
+仁王力 < niouriki\ ;
+人欲 < jin''yoku\ ;
+多肉果 < tanikuka\ ;
+最盛期 < saiseiki\ ;
+実存 < jitsuzon\ ;
+反比例 < hanpirei\ ;
+領袖 < ryoushuu\ ;
+旱魃 < kanbatsu\ ;
+特集 < tokushuu\ ;
+末男 < batsunan\ ;
+音質 < onshitsu\ ;
+寸借 < sunshaku\ ;
+女子高 < joshikou\ ;
+開回路 < kaikairo\ ;
+超俗 < chouzoku\ ;
+曲管 < kyokukan\ ;
+審査員 < shinsain\ ;
+脈動 < myakudou\ ;
+肩幅 < katahaba\ ;
+事務機器 < jimukiki\ ;
+案出 < anshutsu\ ;
+麝香水 < jakousui\ ;
+日本犬 < nihonken\ ;
+事務量 < jimuryou\ ;
+股引 < momohiki\ ;
+丸禿 < maruhage\ ;
+引用句 < in''youku\ ;
+供人 < tomobito\ ;
+科学院 < kagakuin\ ;
+人様 < hitosama\ ;
+乳牛 < nyuugyuu\ ;
+専一 < sen''itsu\ ;
+前頭部 < zentoubu\ ;
+十四日 < juuyokka\ ;
+枕木 < makuragi\ ;
+股座 < matagura\ ;
+特長 < tokuchou\ ;
+狸藻 < tanukimo\ ;
+缶詰 < kandzume\ ;
+一翼 < ichiyoku\ ;
+実妹 < jitsumai\ ;
+中空 < nakazora\ ;
+飲水 < nomimizu\ ;
+中程 < nakahodo\ ;
+今月 < kongetsu\ ;
+貸本 < kashihon\ ;
+並立 < heiritsu\ ;
+安宿 < yasuyado\ ;
+自己暗示 < jikoanji\ ;
+能力 < nouryoku\ ;
+連歌師 < rengashi\ ;
+物陰 < monokage\ ;
+安安 < yasuyasu\ ;
+学徳 < gakutoku\ ;
+支援者 < shiensha\ ;
+習癖 < shuuheki\ ;
+梶木座 < kajikiza\ ;
+丸石 < maruishi\ ;
+地方区 < chihouku\ ;
+万緑 < banryoku\ ;
+宿命 < shukumei\ ;
+山火事 < yamakaji\ ;
+才未満 < saimiman\ ;
+仏文 < futsubun\ ;
+牛革 < gyuukawa\ ;
+聖日 < seijitsu\ ;
+人柄 < hitogara\ ;
+享楽 < kyouraku\ ;
+松柏 < shouhaku\ ;
+群竹 < muratake\ ;
+警蹕 < keihitsu\ ;
+乳濁 < nyuudaku\ ;
+翠玉 < suigyoku\ ;
+人類猿 < jinruien\ ;
+日食 < nisshoku\ ;
+仇敵 < kyuuteki\ ;
+靺鞨 < makkatsu\ ;
+姿見 < sugatami\ ;
+議定書 < giteisho\ ;
+実在 < jitsuzai\ ;
+月番 < tsukiban\ ;
+環七 < kan''nana\ ;
+胸先 < munasaki\ ;
+胸元 < munamoto\ ;
+一組 < hitokumi\ ;
+茶坊主 < chabouzu\ ;
+猫糞 < nekobaba\ ;
+加盟店 < kameiten\ ;
+靴音 < kutsuoto\ ;
+乗物 < norimono\ ;
+風物 < fuubutsu\ ;
+作劇 < sakugeki\ ;
+暖色 < danshoku\ ;
+何卒 < nanitozo\ ;
+緩下剤 < kangezai\ ;
+率然 < sotsuzen\ ;
+萌黄色 < moegiiro\ ;
+空気銃 < kuukijuu\ ;
+休学 < kyuugaku\ ;
+鹹水湖 < kansuiko\ ;
+三筆 < sanpitsu\ ;
+住友 < sumitomo\ ;
+海老腰 < ebigoshi\ ;
+松明 < taimatsu\ ;
+仮役 < kariyaku\ ;
+生計費 < seikeihi\ ;
+中皿 < chuuzara\ ;
+人数 < hitokazu\ ;
+婚約 < kon''yaku\ ;
+下穴 < shitaana\ ;
+宿六 < yadoroku\ ;
+参加者 < sankasha\ ;
+日本海 < nihonkai\ ;
+耳朶 < mimitabu\ ;
+書留 < kakitome\ ;
+一筋 < hitosuji\ ;
+学寮 < gakuryou\ ;
+一筆 < hitofude\ ;
+被乗数 < hijousuu\ ;
+片隅 < katasumi\ ;
+豁然 < katsuzen\ ;
+手風琴 < tefuukin\ ;
+片陰 < katakage\ ;
+亥月 < gaigetsu\ ;
+注意報 < chuuihou\ ;
+風景画 < fuukeiga\ ;
+質屋 < shichiya\ ;
+猪突 < chototsu\ ;
+京方 < kyougata\ ;
+電子音 < denshion\ ;
+牛鍋 < gyuunabe\ ;
+実名 < jitsumei\ ;
+転化糖 < tenkatou\ ;
+来月 < raigetsu\ ;
+胸中 < kyouchuu\ ;
+一種 < hitokusa\ ;
+閉経期 < heikeiki\ ;
+明達 < meitatsu\ ;
+宿便 < shukuben\ ;
+密令 < mitsurei\ ;
+一秒 < ichibyou\ ;
+互助的 < gojoteki\ ;
+乾所帯 < kanjotai\ ;
+大音声 < daionjou\ ;
+破産者 < hasansha\ ;
+閉回路 < heikairo\ ;
+主物 < shubutsu\ ;
+群発 < gunpatsu\ ;
+曲球 < kyokkyuu\ ;
+早鐘 < hayagane\ ;
+胡麻擂 < gomasuri\ ;
+機雷原 < kiraigen\ ;
+二桁 < futaketa\ ;
+来日 < rainichi\ ;
+爪音 < tsumaoto\ ;
+断髪 < danpatsu\ ;
+曲玉 < magatama\ ;
+多孔性 < takousei\ ;
+合成音 < gouseion\ ;
+破魔弓 < hamayumi\ ;
+客分 < kyakubun\ ;
+何何 < naninani\ ;
+造影剤 < zoueizai\ ;
+胆力 < tanryoku\ ;
+事柄 < kotogara\ ;
+仮宮 < karimiya\ ;
+書物 < shomotsu\ ;
+牛酪 < gyuuraku\ ;
+倦怠期 < kentaiki\ ;
+独習 < dokushuu\ ;
+仮宅 < karitaku\ ;
+子宝 < kodakara\ ;
+韮葱 < niranegi\ ;
+未納者 < minousha\ ;
+二重星 < nijuusei\ ;
+佗人 < wabibito\ ;
+仏式 < busshiki\ ;
+三直 < sanchoku\ ;
+何事 < nanigoto\ ;
+肉太 < nikubuto\ ;
+繁体字 < hantaiji\ ;
+三百 < sanbyaku\ ;
+特賞 < tokushou\ ;
+消音器 < shouonki\ ;
+顔着 < ganchaku\ ;
+多人数 < taninzuu\ ;
+赴任地 < funinchi\ ;
+古生代 < koseidai\ ;
+乳業 < nyuugyou\ ;
+日銀 < nichigin\ ;
+枕席 < chinseki\ ;
+賓客 < hinkyaku\ ;
+芝居気 < shibaige\ ;
+実像 < jitsuzou\ ;
+実働 < jitsudou\ ;
+横座標 < ouzahyou\ ;
+自警団 < jikeidan\ ;
+暫定案 < zanteian\ ;
+魚市場 < uoichiba\ ;
+宮人 < miyabito\ ;
+旧里 < furusato\ ;
+一皿 < hitosara\ ;
+一皮 < hitokawa\ ;
+二方 < futakata\ ;
+駅馬車 < ekibasha\ ;
+上略 < jouryaku\ ;
+貫徹 < kantetsu\ ;
+対話体 < taiwatai\ ;
+枢密 < suumitsu\ ;
+一癖 < hitokuse\ ;
+宮中 < kyuuchuu\ ;
+豆殻 < mamegara\ ;
+現尺 < genshaku\ ;
+人影 < hitokage\ ;
+客体 < kyakutai\ ;
+清掃夫 < seisoufu\ ;
+実例 < jitsurei\ ;
+高感度 < koukando\ ;
+木槌 < kidzuchi\ ;
+紀元前 < kigenzen\ ;
+磨研紙 < makenshi\ ;
+現実 < genjitsu\ ;
+客人 < kyakujin\ ;
+既婚者 < kikonsha\ ;
+霹靂 < hekireki\ ;
+搬送波 < hansouha\ ;
+譲葉 < yuzuriha\ ;
+疎開者 < sokaisha\ ;
+思想家 < shisouka\ ;
+谷水 < tanimizu\ ;
+豪日 < gounichi\ ;
+服毒 < fukudoku\ ;
+岩田帯 < iwataobi\ ;
+職域 < shokuiki\ ;
+暴発 < bouhatsu\ ;
+開閉機 < kaiheiki\ ;
+序破急 < johakyuu\ ;
+足忠実 < ashimame\ ;
+食指 < shokushi\ ;
+半減期 < hangenki\ ;
+日輪 < nichirin\ ;
+自然美 < shizenbi\ ;
+肩先 < katasaki\ ;
+外鰐 < sotowani\ ;
+頻発 < hinpatsu\ ;
+前世紀 < zenseiki\ ;
+本末 < honmatsu\ ;
+研磨紙 < kenmashi\ ;
+万物 < banmotsu\ ;
+玉杯 < gyokuhai\ ;
+献物 < kenmotsu\ ;
+人山 < hitoyama\ ;
+青写真 < aojashin\ ;
+早足 < hayaashi\ ;
+祈祷書 < kitousho\ ;
+霧雨 < kirisame\ ;
+帰還兵 < kikanhei\ ;
+閉経後 < heikeigo\ ;
+賢哲 < kentetsu\ ;
+片足 < kataashi\ ;
+一片 < hitohira\ ;
+多方面 < tahoumen\ ;
+燕尾服 < enbifuku\ ;
+禀議書 < ringisho\ ;
+本日 < honjitsu\ ;
+乾拭 < karabuki\ ;
+父兄会 < fukeikai\ ;
+高麗楽 < komagaku\ ;
+食感 < shokukan\ ;
+整髪 < seihatsu\ ;
+仏壇 < butsudan\ ;
+予想外 < yosougai\ ;
+扁桃油 < hentouyu\ ;
+学割 < gakuwari\ ;
+整骨 < seikotsu\ ;
+贋作 < nisesaku\ ;
+学則 < gakusoku\ ;
+曲水 < kyokusui\ ;
+青年期 < seinenki\ ;
+風月 < fuugetsu\ ;
+霜雪 < sousetsu\ ;
+均等化 < kintouka\ ;
+乱掘 < rankutsu\ ;
+受験者 < jukensha\ ;
+時代相 < jidaisou\ ;
+九日 < kokonoka\ ;
+日豪 < nichigou\ ;
+増加分 < zoukabun\ ;
+二連銃 < nirenjuu\ ;
+九族 < kyuuzoku\ ;
+読響 < yomikyou\ ;
+牛角 < gyuukaku\ ;
+大雪 < taisetsu\ ;
+外食 < gaishoku\ ;
+一回転 < ikkaiten\ ;
+夕飯 < yuumeshi\ ;
+職名 < shokumei\ ;
+晩節 < bansetsu\ ;
+二役 < futayaku\ ;
+主脳部 < shunoubu\ ;
+二形 < futanari\ ;
+春菊 < shungiku\ ;
+学僕 < gakuboku\ ;
+納付書 < noufusho\ ;
+豆料 < mameryou\ ;
+朝敵 < chouteki\ ;
+単弁花 < tanbenka\ ;
+流浪者 < rurousha\ ;
+散髪 < sanpatsu\ ;
+菓子盆 < kashibon\ ;
+謎謎 < nazonazo\ ;
+公用語 < kouyougo\ ;
+妄説 < mousetsu\ ;
+頓着 < tonchaku\ ;
+仏噸 < futsuton\ ;
+妖術 < youjutsu\ ;
+雛鳥 < hinadori\ ;
+電飾 < denshoku\ ;
+太陽炉 < taiyouro\ ;
+旧訳 < kyuuyaku\ ;
+月末 < tsukizue\ ;
+独白 < dokuhaku\ ;
+猛烈 < mouretsu\ ;
+受身形 < ukemikei\ ;
+民営化 < min''eika\ ;
+人望家 < jinbouka\ ;
+爪跡 < tsumeato\ ;
+仮初 < karisome\ ;
+来客 < raikyaku\ ;
+月曜 < getsuyou\ ;
+翌朝 < yokuchou\ ;
+総二階 < sounikai\ ;
+繁雑 < hanzatsu\ ;
+解雇者 < kaikosha\ ;
+漢時代 < kanjidai\ ;
+内外野 < naigaiya\ ;
+片仮名 < katakana\ ;
+脱衣所 < datsuijo\ ;
+職分 < shokubun\ ;
+乾式 < kanshiki\ ;
+面識 < menshiki\ ;
+人垣 < hitogaki\ ;
+贈与者 < zouyosha\ ;
+失錯 < shissaku\ ;
+久方 < hisakata\ ;
+月明 < getsumei\ ;
+声高 < kowadaka\ ;
+論述 < ronjutsu\ ;
+翌春 < yokushun\ ;
+保守系 < hoshukei\ ;
+諾諾 < dakudaku\ ;
+識者 < shikisha\ ;
+仕口 < shikuchi\ ;
+海馬回 < kaibakai\ ;
+自堕落 < jidaraku\ ;
+珍妙 < chinmyou\ ;
+貝塚 < kaidzuka\ ;
+本塁打 < honruida\ ;
+聖哲 < seitetsu\ ;
+愛餐会 < aisankai\ ;
+対抗馬 < taikouba\ ;
+面詰 < menkitsu\ ;
+縞馬 < shimauma\ ;
+仮名文 < kanabumi\ ;
+食尽 < shokujin\ ;
+賭事 < kakegoto\ ;
+一流 < ichiryuu\ ;
+中柄 < chuugara\ ;
+書札 < shosatsu\ ;
+妙薬 < myouyaku\ ;
+主日 < shujitsu\ ;
+諸諸 < moromoro\ ;
+胡麻塩 < gomashio\ ;
+加工品 < kakouhin\ ;
+権利書 < kenrisho\ ;
+諸説 < shosetsu\ ;
+廃要素 < haiyouso\ ;
+女親 < on''naoya\ ;
+更更 < sarasara\ ;
+杓子 < shakushi\ ;
+空想家 < kuusouka\ ;
+曲曲 < kumaguma\ ;
+明色 < meishoku\ ;
+販売部 < hanbaibu\ ;
+眼鏡屋 < meganeya\ ;
+他出 < tashutsu\ ;
+前世界 < zensekai\ ;
+本場所 < honbasho\ ;
+雨靴 < amagutsu\ ;
+虚無党 < kyomutou\ ;
+人類愛 < jinruiai\ ;
+二重奏 < nijuusou\ ;
+愛好者 < aikousha\ ;
+合成語 < gouseigo\ ;
+本式 < honshiki\ ;
+仏前 < butsuzen\ ;
+雪雲 < yukigumo\ ;
+雨霰 < amearare\ ;
+木彫 < mokuchou\ ;
+暑熱 < shonetsu\ ;
+石火矢 < ishibiya\ ;
+物色 < busshoku\ ;
+職人 < shokunin\ ;
+出納簿 < suitoubo\ ;
+諧謔 < kaigyaku\ ;
+独特 < dokutoku\ ;
+失速 < shissoku\ ;
+春繭 < harumayu\ ;
+熱願 < netsugan\ ;
+軍管区 < gunkanku\ ;
+末年 < matsunen\ ;
+嫡孫 < chakuson\ ;
+物臭 < monogusa\ ;
+嫡子 < chakushi\ ;
+諤諤 < gakugaku\ ;
+狡猾 < koukatsu\ ;
+雑食 < zasshoku\ ;
+主持 < shumochi\ ;
+嬰児 < midorigo\ ;
+秋田県 < akitaken\ ;
+縦長 < tatenaga\ ;
+儒学界 < jugakkai\ ;
+下手糞 < hetakuso\ ;
+争奪 < soudatsu\ ;
+仏像 < butsuzou\ ;
+未墾地 < mikonchi\ ;
+大多数 < daitasuu\ ;
+子午線 < shigosen\ ;
+老実 < roujitsu\ ;
+大逆 < daigyaku\ ;
+日蓮 < nichiren\ ;
+正常化 < seijouka\ ;
+発酵素 < hakkouso\ ;
+距離計 < kyorikei\ ;
+熱雷 < netsurai\ ;
+船小屋 < funagoya\ ;
+醸造所 < jouzoujo\ ;
+試食 < shishoku\ ;
+敷金 < shikikin\ ;
+嫡妻 < chakusai\ ;
+一棟 < hitomune\ ;
+大納言 < dainagon\ ;
+天文家 < tenmonka\ ;
+模造者 < mozousha\ ;
+失跡 < shisseki\ ;
+寝不足 < nebusoku\ ;
+人刺 < jinsashi\ ;
+電鉄 < dentetsu\ ;
+人別 < ninbetsu\ ;
+専門家 < senmonka\ ;
+論説 < ronsetsu\ ;
+未然形 < mizenkei\ ;
+本局 < honkyoku\ ;
+剪裁機 < sensaiki\ ;
+中指 < nakayubi\ ;
+購買部 < koubaibu\ ;
+貸借 < taishaku\ ;
+獲得 < kakutoku\ ;
+論詰 < ronkitsu\ ;
+慈善会 < jizenkai\ ;
+悪趣味 < akushumi\ ;
+一桁 < hitoketa\ ;
+施術 < shijutsu\ ;
+顛末 < tenmatsu\ ;
+贈与税 < zouyozei\ ;
+財力 < zairyoku\ ;
+語部 < kataribe\ ;
+保存系 < hozonkei\ ;
+三曲 < sankyoku\ ;
+気動車 < kidousha\ ;
+永住者 < eijuusha\ ;
+景物 < keibutsu\ ;
+方術 < houjutsu\ ;
+特約 < tokuyaku\ ;
+繰言 < kurigoto\ ;
+牛肉 < gyuuniku\ ;
+杉垣 < sugigaki\ ;
+王室 < oushitsu\ ;
+一束 < hitotaba\ ;
+牡羊 < ohitsuji\ ;
+谷底 < tanizoko\ ;
+未熟児 < mijukuji\ ;
+一木 < ichiboku\ ;
+人傑 < jinketsu\ ;
+記念品 < kinenhin\ ;
+破瓜病 < hakabyou\ ;
+昨秋 < sakushuu\ ;
+谷川 < tanigawa\ ;
+仄仄 < honobono\ ;
+破産法 < hasanhou\ ;
+停電日 < teidenbi\ ;
+買主 < kainushi\ ;
+受験生 < jukensei\ ;
+陸蒸気 < okajouki\ ;
+一時 < hitotoki\ ;
+昇給 < shoukyuu\ ;
+実行時 < jikkouji\ ;
+片膝 < katahiza\ ;
+飲助 < nomisuke\ ;
+曲悪 < kyokuaku\ ;
+模造紙 < mozoushi\ ;
+二原子 < nigenshi\ ;
+一旗 < hitohata\ ;
+一族 < ichizoku\ ;
+食品 < shokuhin\ ;
+物納 < butsunou\ ;
+失調 < shitchou\ ;
+煮魚 < nizakana\ ;
+失語 < shitsugo\ ;
+万国旗 < bankokki\ ;
+早耳 < hayamimi\ ;
+丸底 < maruzoko\ ;
+事務的 < jimuteki\ ;
+人人 < hitobito\ ;
+散逸 < san''itsu\ ;
+片肌 < katahada\ ;
+書式 < shoshiki\ ;
+人事 < hitogoto\ ;
+総髪 < souhatsu\ ;
+服属 < fukuzoku\ ;
+特種 < tokudane\ ;
+中形 < chuugata\ ;
+人中 < hitonaka\ ;
+推移的 < suiiteki\ ;
+一撃 < ichigeki\ ;
+空気穴 < kuukiana\ ;
+受容者 < juyousha\ ;
+糠味噌 < nukamiso\ ;
+方形波 < houkeiha\ ;
+戦前派 < senzenha\ ;
+処理場 < shorijou\ ;
+二弦琴 < nigenkin\ ;
+中庭 < nakaniwa\ ;
+始発 < shihatsu\ ;
+謝絶 < shazetsu\ ;
+乾咳 < karazeki\ ;
+酒造家 < shuzouka\ ;
+中幕 < nakamaku\ ;
+中幅 < chuuhaba\ ;
+掲示板 < keijiban\ ;
+内風呂 < uchiburo\ ;
+諸膝 < morohiza\ ;
+諸膚 < morohada\ ;
+中席 < nakaseki\ ;
+朝夕 < chouseki\ ;
+牧笛 < bokuteki\ ;
+両得 < ryoutoku\ ;
+縦軸 < tatejiku\ ;
+中労委 < chuuroui\ ;
+姦物 < kanbutsu\ ;
+食刻 < shokkoku\ ;
+玉垣 < tamagaki\ ;
+愛猫家 < aibyouka\ ;
+三回忌 < sankaiki\ ;
+総仕舞 < soujimai\ ;
+雲足 < kumoashi\ ;
+緑風 < ryokufuu\ ;
+物種 < monodane\ ;
+並幅 < namihaba\ ;
+妙策 < myousaku\ ;
+静脈 < joumyaku\ ;
+物税 < butsuzei\ ;
+主客 < shukyaku\ ;
+醸造家 < jouzouka\ ;
+交交 < komogomo\ ;
+爆薬 < bakuyaku\ ;
+中島 < nakajima\ ;
+交付金 < koufukin\ ;
+事共 < kotodomo\ ;
+扇風機 < senpuuki\ ;
+不悉 < fushitsu\ ;
+全候補 < zenkouho\ ;
+理想論 < risouron\ ;
+牧神 < bokushin\ ;
+緑青 < rokushou\ ;
+漢数字 < kansuuji\ ;
+輝煌帝 < kikoutei\ ;
+支持者 < shijisha\ ;
+方舟 < hakobune\ ;
+飯事 < mamagoto\ ;
+中小 < chuushou\ ;
+日米 < nichibei\ ;
+焼鳥 < yakitori\ ;
+大文字 < daimonji\ ;
+謹直 < kinchoku\ ;
+中学 < chuugaku\ ;
+練鉄 < rentetsu\ ;
+変説 < hensetsu\ ;
+敵襲 < tekishuu\ ;
+子午環 < shigokan\ ;
+放逐 < houchiku\ ;
+三役 < san''yaku\ ;
+認識 < ninshiki\ ;
+艶福家 < enpukuka\ ;
+専門医 < senmon''i\ ;
+更年期 < kounenki\ ;
+日本刀 < nihontou\ ;
+緑門 < ryokumon\ ;
+不行儀 < fugyougi\ ;
+帰巣性 < kisousei\ ;
+下手物 < getemono\ ;
+村人 < murabito\ ;
+提案者 < teiansha\ ;
+受信機 < jushinki\ ;
+下帯 < shitaobi\ ;
+一役 < hitoyaku\ ;
+豪傑 < gouketsu\ ;
+揚子江 < yousukou\ ;
+事事 < kotogoto\ ;
+綿雲 < watagumo\ ;
+乱入 < ran''nyuu\ ;
+綿雪 < watayuki\ ;
+経常費 < keijouhi\ ;
+予予 < kanegane\ ;
+世局 < seikyoku\ ;
+練達 < rentatsu\ ;
+暇暇 < himahima\ ;
+隆隆 < ryuuryuu\ ;
+海王星 < kaiousei\ ;
+一度 < hitotabi\ ;
+隅隅 < sumizumi\ ;
+幼稚園 < youchien\ ;
+一年 < hitotose\ ;
+静粛 < seishuku\ ;
+塩鮭 < shiozake\ ;
+族籍 < zokuseki\ ;
+大蒜 < nin''niku\ ;
+一幕 < hitomaku\ ;
+月桂樹 < gekkeiju\ ;
+未記入 < mikinyuu\ ;
+一巻 < hitomaki\ ;
+難詰 < nankitsu\ ;
+雀躍 < jakuyaku\ ;
+中塗 < nakanuri\ ;
+陪食 < baishoku\ ;
+研磨材 < kenmazai\ ;
+二年草 < ninensou\ ;
+頌春 < shoushun\ ;
+義勇軍 < giyuugun\ ;
+文語文 < bungobun\ ;
+誕生日 < tanjoubi\ ;
+伯剌西爾 < burajiru\ ;
+万屋 < yorozuya\ ;
+中垣 < nakagaki\ ;
+金時計 < kindokei\ ;
+風力 < fuuryoku\ ;
+空洞化 < kuudouka\ ;
+糞味噌 < kusomiso\ ;
+乱伐 < ranbatsu\ ;
+日本人 < nihonjin\ ;
+猫属 < nekozoku\ ;
+性遊戯 < seiyuugi\ ;
+中国 < chuugoku\ ;
+次点者 < jitensha\ ;
+頃日 < keijitsu\ ;
+防腐剤 < boufuzai\ ;
+詳註 < shouchuu\ ;
+日本中 < nihonjuu\ ;
+雑談 < zatsudan\ ;
+腕相撲 < udezumou\ ;
+地域差 < chiikisa\ ;
+保護鳥 < hogochou\ ;
+日直 < nitchoku\ ;
+緑酒 < ryokushu\ ;
+一室 < isshitsu\ ;
+太腿 < futomomo\ ;
+小手先 < kotesaki\ ;
+無降水 < mukousui\ ;
+断絶 < danzetsu\ ;
+一子 < hitorigo\ ;
+姫様 < himesama\ ;
+鼻呼吸 < bikokyuu\ ;
+電蓄 < denchiku\ ;
+重騎兵 < juukihei\ ;
+古代史 < kodaishi\ ;
+末代 < matsudai\ ;
+言霊 < kotodama\ ;
+両国 < ryougoku\ ;
+主取 < shuudori\ ;
+雨蛙 < amagaeru\ ;
+熟読 < jukudoku\ ;
+玉体 < gyokutai\ ;
+牧牛 < bokugyuu\ ;
+塾長 < jukuchou\ ;
+熱血 < nekketsu\ ;
+能舞台 < noubutai\ ;
+玉代 < gyokudai\ ;
+集註 < shuuchuu\ ;
+競馬馬 < keibauma\ ;
+隔週 < kakushuu\ ;
+免租地 < mensochi\ ;
+日用 < nichiyou\ ;
+書取 < kakitori\ ;
+二次的 < nijiteki\ ;
+演奏者 < ensousha\ ;
+主力 < shuryoku\ ;
+具体性 < gutaisei\ ;
+月内 < getsunai\ ;
+乞丐 < kotsugai\ ;
+七夕 < tanabata\ ;
+謡物 < utaimono\ ;
+頻尿 < hin''nyou\ ;
+天罰 < tenbatsu\ ;
+一等車 < ittousha\ ;
+面白 < omoshiro\ ;
+曲名 < kyokumei\ ;
+総轄 < soukatsu\ ;
+中古 < chuuburu\ ;
+不品行 < fuhinkou\ ;
+狼座 < ookamiza\ ;
+証跡 < shouseki\ ;
+特科兵 < tokkahei\ ;
+脂肪油 < shibouyu\ ;
+左大臣 < sadaijin\ ;
+金字塔 < kinjitou\ ;
+奮発 < funpatsu\ ;
+高野山 < kouyasan\ ;
+大熊座 < oogumaza\ ;
+明滅 < meimetsu\ ;
+陸釣 < okadzuri\ ;
+謀略 < bouryaku\ ;
+一塩 < hitoshio\ ;
+風上 < kazakami\ ;
+冒険家 < boukenka\ ;
+外股 < sotomata\ ;
+塩濃度 < en''noudo\ ;
+絶食 < zesshoku\ ;
+書初 < kakizome\ ;
+日乃丸 < hinomaru\ ;
+誦習 < shoushuu\ ;
+爆笑 < bakushou\ ;
+習作 < shuusaku\ ;
+特注 < tokuchuu\ ;
+暦学 < rekigaku\ ;
+丸傷 < tamakizu\ ;
+何処迄 < dokomade\ ;
+近似値 < kinjichi\ ;
+透磁性 < toujisei\ ;
+奉祝 < houshuku\ ;
+保護領 < hogoryou\ ;
+中共 < chuukyou\ ;
+特派員 < tokuhain\ ;
+並列 < heiretsu\ ;
+久久 < hisabisa\ ;
+唾液腺 < daekisen\ ;
+緑豆 < ryokutou\ ;
+好物 < koubutsu\ ;
+下院議員 < kaingiin\ ;
+庭木戸 < niwakido\ ;
+青畳 < aodatami\ ;
+雛菊 < hinagiku\ ;
+時時 < tokidoki\ ;
+後援者 < kouensha\ ;
+黄鉄鉱 < outekkou\ ;
+失笑 < shisshou\ ;
+敗色 < haishoku\ ;
+雪膚 < yukihada\ ;
+暗室 < anshitsu\ ;
+古代人 < kodaijin\ ;
+事務服 < jimufuku\ ;
+小麦粉 < komugiko\ ;
+下味 < shitaaji\ ;
+不溶性 < fuyousei\ ;
+結髪 < keppatsu\ ;
+顧問団 < komondan\ ;
+昼時 < hirudoki\ ;
+保有者 < hoyuusha\ ;
+避病院 < hibyouin\ ;
+前景気 < maegeiki\ ;
+丸事 < marugoto\ ;
+電気椅子 < denkiisu\ ;
+外交員 < gaikouin\ ;
+文箱 < fumibako\ ;
+大筒 < oodzutsu\ ;
+丸丸 < marumaru\ ;
+防雪 < bousetsu\ ;
+銅相場 < dousouba\ ;
+訳読 < yakudoku\ ;
+七味 < shichimi\ ;
+方略 < houryaku\ ;
+丸一 < maruichi\ ;
+中低 < nakabiku\ ;
+始末 < shimatsu\ ;
+大童 < oowarawa\ ;
+傾斜度 < keishado\ ;
+高度計 < koudokei\ ;
+青玉 < seigyoku\ ;
+近未来 < kinmirai\ ;
+捕鯨船 < hogeisen\ ;
+失神 < shisshin\ ;
+集落 < shuuraku\ ;
+静物 < seibutsu\ ;
+加害者 < kagaisha\ ;
+数珠玉 < juzudama\ ;
+一向 < hitasura\ ;
+独学 < dokugaku\ ;
+昨朝 < sakuchou\ ;
+一叢 < hitomura\ ;
+曲事 < kusegoto\ ;
+手羽先 < tebasaki\ ;
+補助翼 < hojoyoku\ ;
+中中 < nakanaka\ ;
+慈悲心 < jihishin\ ;
+類別 < ruibetsu\ ;
+外貨債 < gaikasai\ ;
+縮緬 < chirimen\ ;
+情報化 < jouhouka\ ;
+昨暁 < sakugyou\ ;
+総予算 < souyosan\ ;
+真夜中 < mayonaka\ ;
+結願 < kechigan\ ;
+昨春 < sakushun\ ;
+万別 < banbetsu\ ;
+頁岩 < ketsugan\ ;
+並並 < naminami\ ;
+縦縞 < tatejima\ ;
+覗魔 < nozokima\ ;
+増設 < zousetsu\ ;
+一割 < ichiwari\ ;
+夕立 < yuudachi\ ;
+塩辛 < shiokara\ ;
+旧流 < kyuuryuu\ ;
+下意識 < kaishiki\ ;
+代稽古 < daigeiko\ ;
+永住権 < eijuuken\ ;
+保有米 < hoyuumai\ ;
+自国語 < jikokugo\ ;
+反対語 < hantaigo\ ;
+変異体 < hen''itai\ ;
+絹針 < kinubari\ ;
+獄中 < gokuchuu\ ;
+利己的 < rikoteki\ ;
+一先 < hitomazu\ ;
+建具屋 < tateguya\ ;
+昇格 < shoukaku\ ;
+防寒具 < boukangu\ ;
+女学校 < jogakkou\ ;
+保守性 < hoshusei\ ;
+繭玉 < mayudama\ ;
+明月 < meigetsu\ ;
+鞭撻 < bentatsu\ ;
+雨粒 < ametsubu\ ;
+好景気 < koukeiki\ ;
+平和維持 < heiwaiji\ ;
+交付者 < koufusha\ ;
+可変数 < kahensuu\ ;
+花文字 < hanamoji\ ;
+暴力 < bouryoku\ ;
+面会日 < menkaibi\ ;
+観閲 < kan''etsu\ ;
+煙草屋 < tabakoya\ ;
+緑藻 < ryokusou\ ;
+壮絶 < souzetsu\ ;
+雨模様 < amemoyou\ ;
+教籍 < kyouseki\ ;
+明春 < myoushun\ ;
+万代 < yorozuyo\ ;
+支脈 < shimyaku\ ;
+揺籃期 < youranki\ ;
+突破口 < toppakou\ ;
+独国 < dokukoku\ ;
+近代化 < kindaika\ ;
+点火系 < tenkakei\ ;
+二年生 < ninensei\ ;
+星気体 < seikitai\ ;
+不等号 < fudougou\ ;
+有為転変 < uitenpen\ ;
+五辺形 < gohenkei\ ;
+二輪車 < nirinsha\ ;
+三下 < sanshita\ ;
+大略 < tairyaku\ ;
+用箪笥 < youdansu\ ;
+女気 < on''nakke\ ;
+塩豆 < shiomame\ ;
+冷蔵庫 < reizouko\ ;
+万一 < man''ichi\ ;
+雪空 < yukizora\ ;
+謀殺 < bousatsu\ ;
+組長 < kumichou\ ;
+言説 < gensetsu\ ;
+不所存 < fushozon\ ;
+角通 < kakutsuu\ ;
+投光器 < toukouki\ ;
+浜茄子 < hamanasu\ ;
+古書展 < koshoten\ ;
+二十代 < nijuudai\ ;
+一一 < itsuitsu\ ;
+統轄 < toukatsu\ ;
+謡曲 < youkyoku\ ;
+紅鱒 < benimasu\ ;
+市街図 < shigaizu\ ;
+独唱 < dokushou\ ;
+樹枝状 < jushijou\ ;
+緑茶 < ryokucha\ ;
+序盤戦 < jobansen\ ;
+昼席 < hiruseki\ ;
+火成岩 < kaseigan\ ;
+組合員 < kumiaiin\ ;
+亜脱臼 < adakkyuu\ ;
+紅鮭 < benizake\ ;
+納骨 < noukotsu\ ;
+鬱金色 < ukon''iro\ ;
+旧株 < kyuukabu\ ;
+姫宮 < himemiya\ ;
+墜落 < tsuiraku\ ;
+鬼武者 < onimusha\ ;
+斜投影 < shatouei\ ;
+数百 < suuhyaku\ ;
+集約 < shuuyaku\ ;
+誘発 < yuuhatsu\ ;
+滑空機 < kakkuuki\ ;
+片栗 < katakuri\ ;
+旬月 < jungetsu\ ;
+軽騎兵 < keikihei\ ;
+二元論 < nigenron\ ;
+手料理 < teryouri\ ;
+単利法 < tanrihou\ ;
+御神輿 < omikoshi\ ;
+先鋭化 < sen''eika\ ;
+電略 < denryaku\ ;
+撒布剤 < sappuzai\ ;
+文物 < bunbutsu\ ;
+呉服屋 < gofukuya\ ;
+改築 < kaichiku\ ;
+試筋 < tamesuji\ ;
+試筆 < shihitsu\ ;
+旧暦 < kyuureki\ ;
+旬日 < junjitsu\ ;
+雑税 < zatsuzei\ ;
+読物 < yomimono\ ;
+溶解炉 < youkairo\ ;
+雪盲 < setsumou\ ;
+可変性 < kahensei\ ;
+警察 < keisatsu\ ;
+年齢差 < nenreisa\ ;
+解説 < kaisetsu\ ;
+緩緩 < yuruyuru\ ;
+早早 < hayabaya\ ;
+角貝 < tsunogai\ ;
+刀圭家 < toukeika\ ;
+摂食 < sesshoku\ ;
+西陣 < nishijin\ ;
+鳳仙花 < housenka\ ;
+触角 < shokkaku\ ;
+壁紙 < kabegami\ ;
+導波管 < douhakan\ ;
+単比例 < tanpirei\ ;
+捕鯨砲 < hogeihou\ ;
+紐革 < himokawa\ ;
+直足袋 < jikatabi\ ;
+旧教 < kyuukyou\ ;
+集積 < shuuseki\ ;
+埋骨 < maikotsu\ ;
+旗本 < hatamoto\ ;
+外物 < gaibutsu\ ;
+悪太郎 < akutarou\ ;
+有理数 < yuurisuu\ ;
+部分品 < bubunhin\ ;
+可燃性 < kanensei\ ;
+不善感 < fuzenkan\ ;
+級長 < kyuuchou\ ;
+斬殺 < zansatsu\ ;
+洗面所 < senmenjo\ ;
+物情 < butsujou\ ;
+集票 < shuuhyou\ ;
+雨男 < ameotoko\ ;
+爆沈 < bakuchin\ ;
+夜烏 < yogarasu\ ;
+送油管 < souyukan\ ;
+格子戸 < koushido\ ;
+具体例 < gutairei\ ;
+姫垣 < himegaki\ ;
+支持杭 < shijikou\ ;
+熊笹 < kumazasa\ ;
+熱発 < neppatsu\ ;
+無限大 < mugendai\ ;
+順列 < junretsu\ ;
+墨繩 < suminawa\ ;
+精米所 < seimaijo\ ;
+謙抑 < ken''yoku\ ;
+撮要 < satsuyou\ ;
+変物 < henbutsu\ ;
+統語論 < tougoron\ ;
+未開墾 < mikaikon\ ;
+春宵 < shunshou\ ;
+作業費 < sagyouhi\ ;
+闇雲 < yamikumo\ ;
+大阪府 < oosakafu\ ;
+猊美渓 < geibikei\ ;
+打撃王 < dagekiou\ ;
+続落 < zokuraku\ ;
+雪玉 < yukidama\ ;
+摘録 < tekiroku\ ;
+広葉樹 < kouyouju\ ;
+緊縮 < kinshuku\ ;
+試着 < shichaku\ ;
+草創期 < sousouki\ ;
+侍衛長 < jieichou\ ;
+二進木 < nishingi\ ;
+外濠 < sotobori\ ;
+妾宅 < shoutaku\ ;
+顕在化 < kenzaika\ ;
+再試合 < saishiai\ ;
+伝音器 < den''onki\ ;
+義務的 < gimuteki\ ;
+輸卵管 < yurankan\ ;
+低利金 < teirikin\ ;
+戦利品 < senrihin\ ;
+文語体 < bungotai\ ;
+乾性油 < kanseiyu\ ;
+角袖 < kakusode\ ;
+擂粉木 < surikogi\ ;
+闇闇 < yamiyami\ ;
+指導員 < shidouin\ ;
+未開地 < mikaichi\ ;
+秘書官 < hishokan\ ;
+多湿 < tashitsu\ ;
+面接 < mensetsu\ ;
+雑用 < zatsuyou\ ;
+新株 < shinkabu\ ;
+摺足 < suriashi\ ;
+武家物 < bukemono\ ;
+整理券 < seiriken\ ;
+育雛器 < ikusuuki\ ;
+圧搾機 < assakuki\ ;
+旁旁 < katagata\ ;
+新柄 < shingara\ ;
+政略 < seiryaku\ ;
+見通 < mitooshi\ ;
+難物 < nanbutsu\ ;
+二分法 < nibunhou\ ;
+混成語 < konseigo\ ;
+珈琲苑 < kouhiien\ ;
+二部作 < nibusaku\ ;
+総会屋 < soukaiya\ ;
+見返 < mikaeshi\ ;
+仕手戦 < shitesen\ ;
+姫君 < himegimi\ ;
+攻略 < kouryaku\ ;
+結論 < ketsuron\ ;
+奏曲 < soukyoku\ ;
+好好爺 < koukouya\ ;
+税務署 < zeimusho\ ;
+販売機 < hanbaiki\ ;
+霽月 < seigetsu\ ;
+空気孔 < kuukikou\ ;
+疲労感 < hiroukan\ ;
+放水路 < housuiro\ ;
+新暦 < shinreki\ ;
+焼肉 < yakiniku\ ;
+結言 < ketsugen\ ;
+証票 < shouhyou\ ;
+随筆 < zuihitsu\ ;
+外法 < sotonori\ ;
+新春 < shinshun\ ;
+会議所 < kaigisho\ ;
+陸続 < rikuzoku\ ;
+熱熱 < atsuatsu\ ;
+増築 < zouchiku\ ;
+形容語 < keiyougo\ ;
+一回戦 < ikkaisen\ ;
+縮減 < shukugen\ ;
+繁殖 < hanshoku\ ;
+天極 < tenkyoku\ ;
+疑問詞 < gimonshi\ ;
+旧幕 < kyuubaku\ ;
+絹莢 < kinusaya\ ;
+苦労人 < kurounin\ ;
+失格 < shikkaku\ ;
+聖火台 < seikadai\ ;
+日常 < nichijou\ ;
+水位標 < suiihyou\ ;
+悲観論 < hikanron\ ;
+妄語戒 < mougokai\ ;
+雑然 < zatsuzen\ ;
+永小作 < eikosaku\ ;
+炭素鋼 < tansokou\ ;
+繊維束 < senisoku\ ;
+解放区 < kaihouku\ ;
+保守党 < hoshutou\ ;
+放熱 < hounetsu\ ;
+誘殺 < yuusatsu\ ;
+素質 < soshitsu\ ;
+紅一点 < kouitten\ ;
+垂髪 < taregami\ ;
+雁爪 < gandzume\ ;
+縦波 < tatenami\ ;
+診療 < shinryou\ ;
+続続 < zokuzoku\ ;
+爆撃 < bakugeki\ ;
+家庭用 < kateiyou\ ;
+見識 < kenshiki\ ;
+虚空蔵 < kokuuzou\ ;
+誰某 < daresore\ ;
+旋律 < senritsu\ ;
+会計課 < kaikeika\ ;
+熱源 < netsugen\ ;
+勤務者 < kinmusha\ ;
+夜桜 < yozakura\ ;
+文末 < bunmatsu\ ;
+距離感 < kyorikan\ ;
+旧宅 < kyuutaku\ ;
+調教 < choukyou\ ;
+時偶 < tokitama\ ;
+如実 < nyojitsu\ ;
+斎日 < saijitsu\ ;
+熱涙 < netsurui\ ;
+電極 < denkyoku\ ;
+塵箱 < gomibako\ ;
+敏活 < binkatsu\ ;
+開闢 < kaibyaku\ ;
+煥発 < kanpatsu\ ;
+看護法 < kangohou\ ;
+大日 < dainichi\ ;
+催事場 < saijijou\ ;
+鬼兵隊 < kiheitai\ ;
+女子大 < joshidai\ ;
+韓人 < karabito\ ;
+外枠 < sotowaku\ ;
+唯我論 < yuigaron\ ;
+未製品 < miseihin\ ;
+敷板 < shikiita\ ;
+説明 < setsumei\ ;
+無統制 < mutousei\ ;
+縦横 < tateyoko\ ;
+要訣 < youketsu\ ;
+増発 < zouhatsu\ ;
+造船所 < zousenjo\ ;
+身支度 < mijitaku\ ;
+明哲 < meitetsu\ ;
+夜昼 < yoruhiru\ ;
+金本位 < kinhon''i\ ;
+夕月 < yuudzuki\ ;
+多面性 < tamensei\ ;
+大型機 < oogataki\ ;
+方式 < houshiki\ ;
+未開人 < mikaijin\ ;
+門閥 < monbatsu\ ;
+藁屋根 < warayane\ ;
+月世界 < gessekai\ ;
+得意顔 < tokuigao\ ;
+手間隙 < temahima\ ;
+政治犯 < seijihan\ ;
+春先 < harusaki\ ;
+始値 < hajimene\ ;
+洗面器 < senmenki\ ;
+新形 < shingata\ ;
+人文字 < hitomoji\ ;
+模造品 < mozouhin\ ;
+陸相 < rikushou\ ;
+呼吸器 < kokyuuki\ ;
+絹綿 < kinuwata\ ;
+土地鑑 < tochikan\ ;
+牆壁 < shouheki\ ;
+壊滅 < kaimetsu\ ;
+際物 < kiwamono\ ;
+気送管 < kisoukan\ ;
+低金利 < teikinri\ ;
+夭折 < yousetsu\ ;
+英小文字 < eikomoji\ ;
+敵方 < tekigata\ ;
+長長 < naganaga\ ;
+帽子屋 < boushiya\ ;
+御成功 < goseikou\ ;
+珊瑚海 < sangokai\ ;
+約諾 < yakudaku\ ;
+数日 < suujitsu\ ;
+曳光弾 < eikoudan\ ;
+千里眼 < senrigan\ ;
+防縮 < boushuku\ ;
+落下傘 < rakkasan\ ;
+擁立 < youritsu\ ;
+渡航者 < tokousha\ ;
+数数 < kazukazu\ ;
+大所 < oodokoro\ ;
+地鼠 < jinezumi\ ;
+下手人 < geshunin\ ;
+処女林 < shojorin\ ;
+純血 < junketsu\ ;
+事業部 < jigyoubu\ ;
+富山房 < fuzanbou\ ;
+粉飾 < funshoku\ ;
+縦書 < tategaki\ ;
+擦疵 < surikizu\ ;
+塚穴 < tsukaana\ ;
+接待費 < settaihi\ ;
+繊維性 < sen''isei\ ;
+手話法 < shuwahou\ ;
+何処其処 < dokosoko\ ;
+保養地 < hoyouchi\ ;
+照焼 < teriyaki\ ;
+利己心 < rikoshin\ ;
+点火栓 < tenkasen\ ;
+絶筆 < zeppitsu\ ;
+難曲 < nankyoku\ ;
+計略 < keiryaku\ ;
+鎔鉱炉 < youkouro\ ;
+可換群 < kakangun\ ;
+会議場 < kaigijou\ ;
+人非人 < ninpinin\ ;
+見落 < miotoshi\ ;
+炸薬 < sakuyaku\ ;
+花粉管 < kafunkan\ ;
+埋設 < maisetsu\ ;
+過激派 < kagekiha\ ;
+接骨 < sekkotsu\ ;
+陽物 < youbutsu\ ;
+論客 < ronkyaku\ ;
+角笛 < tsunobue\ ;
+熱望 < netsubou\ ;
+溶解度 < youkaido\ ;
+閲読 < etsudoku\ ;
+句読点 < kutouten\ ;
+捜査陣 < sousajin\ ;
+誰彼 < tarekare\ ;
+米食 < beishoku\ ;
+索莫 < sakubaku\ ;
+営利的 < eiriteki\ ;
+被災者 < hisaisha\ ;
+不従順 < fujuujun\ ;
+反射炉 < hansharo\ ;
+雑曲 < zakkyoku\ ;
+佝僂病 < kurubyou\ ;
+太巻 < futomaki\ ;
+新妻 < niidzuma\ ;
+都会人 < tokaijin\ ;
+結紮 < kessatsu\ ;
+呪禁道 < jukondou\ ;
+古版本 < kohanbon\ ;
+測候所 < sokkoujo\ ;
+旧劇 < kyuugeki\ ;
+派遣隊 < hakentai\ ;
+摘芯 < tekishin\ ;
+歓迎宴 < kangeien\ ;
+物事 < monogoto\ ;
+成功裡 < seikouri\ ;
+訳注 < yakuchuu\ ;
+改札 < kaisatsu\ ;
+家庭欄 < kateiran\ ;
+煮沸 < shafutsu\ ;
+大嵐 < ooarashi\ ;
+多変数 < tahensuu\ ;
+男性美 < danseibi\ ;
+雑文 < zatsubun\ ;
+高機能 < koukinou\ ;
+紙花 < kamibana\ ;
+人間苦 < ningenku\ ;
+焼物 < yakimono\ ;
+結節 < kessetsu\ ;
+長軸 < choujiku\ ;
+外庭 < sotoniwa\ ;
+三味線 < shamisen\ ;
+組紐 < kumihimo\ ;
+粒銀 < tsubugin\ ;
+開豁 < kaikatsu\ ;
+縁日 < en''nichi\ ;
+同程度 < douteido\ ;
+夜嵐 < yoarashi\ ;
+数式 < suushiki\ ;
+好塩菌 < kouenkin\ ;
+送気管 < soukikan\ ;
+犠牲者 < giseisha\ ;
+花紋板 < kamonban\ ;
+電子化 < denshika\ ;
+牛乳 < gyuunyuu\ ;
+尽未来 < jinmirai\ ;
+句読法 < kutouhou\ ;
+好天気 < koutenki\ ;
+長足 < chousoku\ ;
+塩物 < shiomono\ ;
+片側 < katagawa\ ;
+浄化槽 < joukasou\ ;
+雀斑 < sobakasu\ ;
+有声音 < yuuseion\ ;
+雲形 < kumogata\ ;
+経穴 < keiketsu\ ;
+反作用 < hansayou\ ;
+撞着 < douchaku\ ;
+全自動 < zenjidou\ ;
+反対派 < hantaiha\ ;
+旧作 < kyuusaku\ ;
+紅花 < benibana\ ;
+処女性 < shojosei\ ;
+手間賃 < temachin\ ;
+陰湿 < inshitsu\ ;
+編曲 < henkyoku\ ;
+組立 < kumitate\ ;
+細細 < hosoboso\ ;
+試掘 < shikutsu\ ;
+塩焼 < shioyaki\ ;
+外局 < gaikyoku\ ;
+増殖 < zoushoku\ ;
+旧人 < furubito\ ;
+一回分 < ikkaibun\ ;
+罹災者 < risaisha\ ;
+訳業 < yakugyou\ ;
+排雪 < haisetsu\ ;
+粛軍 < shukugun\ ;
+熱感 < netsukan\ ;
+失墜 < shittsui\ ;
+国鳥 < kokuchou\ ;
+貯炭所 < chotanjo\ ;
+諸共 < morotomo\ ;
+有人化 < yuujinka\ ;
+外客 < gaikyaku\ ;
+印象派 < inshouha\ ;
+熱情 < netsujou\ ;
+外孫 < sotomago\ ;
+糖蜜 < toumitsu\ ;
+難役 < nan''yaku\ ;
+塗物 < nurimono\ ;
+版下 < hanshita\ ;
+槍騎兵 < soukihei\ ;
+除湿 < joshitsu\ ;
+逃避行 < touhikou\ ;
+内火艇 < naikatei\ ;
+統率 < tousotsu\ ;
+旅先 < tabisaki\ ;
+細筆 < saihitsu\ ;
+雪嶺 < setsurei\ ;
+絹物 < kinumono\ ;
+利権屋 < riken''ya\ ;
+訳柄 < wakegara\ ;
+襟腰 < erikoshi\ ;
+結着 < ketchaku\ ;
+緑林 < ryokurin\ ;
+閲兵台 < eppeidai\ ;
+結盟 < ketsumei\ ;
+混種語 < konshugo\ ;
+熱弁 < netsuben\ ;
+透過性 < toukasei\ ;
+会見記 < kaikenki\ ;
+雑念 < zatsunen\ ;
+討死 < uchijini\ ;
+相似点 < soujiten\ ;
+螺子釘 < nejikugi\ ;
+処女峰 < shojohou\ ;
+看護師 < kangoshi\ ;
+支払 < shiharai\ ;
+親睦 < shinboku\ ;
+堀端 < horibata\ ;
+陥没 < kanbotsu\ ;
+角牛 < kakugyuu\ ;
+雑役 < zatsueki\ ;
+雪山 < yukiyama\ ;
+有頂点 < uchouten\ ;
+諸人 < morobito\ ;
+一等星 < ittousei\ ;
+下水道 < gesuidou\ ;
+非人情 < hininjou\ ;
+陣没 < jinbotsu\ ;
+父上 < chichiue\ ;
+雪害 < setsugai\ ;
+長袖 < nagasode\ ;
+防熱 < bounetsu\ ;
+主義者 < shugisha\ ;
+縄張 < nawabari\ ;
+派遣軍 < hakengun\ ;
+再提案 < saiteian\ ;
+美意識 < biishiki\ ;
+裏道 < uramichi\ ;
+隣接 < rinsetsu\ ;
+継母 < mamahaha\ ;
+大喝 < daikatsu\ ;
+総本家 < souhonke\ ;
+度外視 < dogaishi\ ;
+出来具合 < dekiguai\ ;
+露出 < roshutsu\ ;
+訪日 < hounichi\ ;
+遠征隊 < enseitai\ ;
+塩水 < shiomizu\ ;
+理想型 < risoukei\ ;
+敷地 < shikichi\ ;
+仮分数 < kabunsuu\ ;
+隆昌 < ryuushou\ ;
+新修 < shinshuu\ ;
+助数詞 < josuushi\ ;
+精算所 < seisanjo\ ;
+大吉 < daikichi\ ;
+多面体 < tamentai\ ;
+新作 < shinsaku\ ;
+関脇 < sekiwake\ ;
+燭台 < shokudai\ ;
+炭窯 < sumigama\ ;
+電圧 < den''atsu\ ;
+雨女 < ameon''na\ ;
+激震 < gekishin\ ;
+変圧 < hen''atsu\ ;
+形骸化 < keigaika\ ;
+欧米人 < oubeijin\ ;
+大卒 < daisotsu\ ;
+経師屋 < kyoujiya\ ;
+誤変換 < gohenkan\ ;
+還付金 < kanpukin\ ;
+壁役 < kabeyaku\ ;
+掛軸 < kakejiku\ ;
+縄尻 < nawajiri\ ;
+裲襠 < uchikake\ ;
+基督 < kirisuto\ ;
+晩御飯 < bangohan\ ;
+腕自慢 < udejiman\ ;
+浄水器 < jousuiki\ ;
+助教諭 < jokyouyu\ ;
+大別 < taibetsu\ ;
+斉列 < seiretsu\ ;
+雪国 < yukiguni\ ;
+処女地 < shojochi\ ;
+大冊 < taisatsu\ ;
+緻密 < chimitsu\ ;
+変哲 < hentetsu\ ;
+糸竹 < shichiku\ ;
+開脚 < kaikyaku\ ;
+支局 < shikyoku\ ;
+失保 < shitsuho\ ;
+利用者 < riyousha\ ;
+終熄 < shuusoku\ ;
+無精卵 < museiran\ ;
+鱩 < hatahata\ ;
+無関係 < mukankei\ ;
+外力 < gairyoku\ ;
+調伏 < choubuku\ ;
+雛型 < hinagata\ ;
+正字法 < seijihou\ ;
+要略 < youryaku\ ;
+軍医監 < gun''ikan\ ;
+鯑 < kazunoko\ ;
+警世家 < keiseika\ ;
+来学期 < raigakki\ ;
+映画評 < eigahyou\ ;
+批判者 < hihansha\ ;
+門脈 < monmyaku\ ;
+平叙文 < heijobun\ ;
+褐色 < kasshoku\ ;
+三重苦 < sanjuuku\ ;
+魁 < sakigake\ ;
+模倣者 < mohousha\ ;
+鬣 < tategami\ ;
+電力 < denryoku\ ;
+予選会 < yosenkai\ ;
+演奏会 < ensoukai\ ;
+数列 < suuretsu\ ;
+放埒 < houratsu\ ;
+外側 < sotogawa\ ;
+表門 < omotemon\ ;
+数冊 < suusatsu\ ;
+雲助 < kumosuke\ ;
+雑嚢 < zatsunou\ ;
+不活性 < fukassei\ ;
+濁酒 < doburoku\ ;
+土質 < doshitsu\ ;
+開口部 < kaikoubu\ ;
+敵側 < tekigawa\ ;
+双胴機 < soudouki\ ;
+訥弁 < totsuben\ ;
+裏表 < uraomote\ ;
+読了 < dokuryou\ ;
+灰篩 < haifurui\ ;
+粥腹 < kayubara\ ;
+須弥山 < shumisen\ ;
+瀉血 < shaketsu\ ;
+偽造罪 < gizouzai\ ;
+堅炭 < katazumi\ ;
+綿弓 < watayumi\ ;
+餞 < hanamuke\ ;
+垂耳 < taremimi\ ;
+詰問 < kitsumon\ ;
+秀画家 < shuugaka\ ;
+交代員 < koutaiin\ ;
+売却 < baikyaku\ ;
+採血 < saiketsu\ ;
+縦列 < juuretsu\ ;
+赤電話 < akadenwa\ ;
+有期刑 < yuukikei\ ;
+口話法 < kouwahou\ ;
+戸主権 < koshuken\ ;
+絶望 < zetsubou\ ;
+公安官 < kouankan\ ;
+撃沈 < gekichin\ ;
+角柱 < kakuchuu\ ;
+国辱 < kokujoku\ ;
+歯牙状 < shigajou\ ;
+伝声器 < denseiki\ ;
+頑 < katakuna\ ;
+保険金 < hokenkin\ ;
+士卒 < shisotsu\ ;
+指数部 < shisuubu\ ;
+豪華船 < goukasen\ ;
+丸暗記 < maruanki\ ;
+地袋 < jibukuro\ ;
+売出 < uridashi\ ;
+緊密 < kinmitsu\ ;
+基準点 < kijunten\ ;
+揺篭 < yurikago\ ;
+雪像 < setsuzou\ ;
+紅玉 < kougyoku\ ;
+米蔵 < komegura\ ;
+後援会 < kouenkai\ ;
+潮風 < shiokaze\ ;
+型紙 < katagami\ ;
+県議会 < kengikai\ ;
+訪客 < houkyaku\ ;
+行在所 < anzaisho\ ;
+隼 < hayabusa\ ;
+許嫁 < iinazuke\ ;
+捏造 < netsuzou\ ;
+口語文 < kougobun\ ;
+寝煙草 < netabako\ ;
+断破壊 < danhakai\ ;
+陵 < misasagi\ ;
+磁鉄鉱 < jitekkou\ ;
+円為替 < engawase\ ;
+看護兵 < kangohei\ ;
+営業部 < eigyoubu\ ;
+閏秒 < uruubyou\ ;
+不消化 < fushouka\ ;
+潤飾 < junshoku\ ;
+拳骨 < genkotsu\ ;
+綿密 < menmitsu\ ;
+不徳義 < futokugi\ ;
+地吹雪 < jifubuki\ ;
+激越 < gekietsu\ ;
+須弥壇 < shumidan\ ;
+綿実 < menjitsu\ ;
+佐幕派 < sabakuha\ ;
+閊 < tsukaeru\ ;
+頓痴気 < tonchiki\ ;
+国賊 < kokuzoku\ ;
+多数党 < tasuutou\ ;
+点滅 < tenmetsu\ ;
+激賞 < gekishou\ ;
+採油権 < saiyuken\ ;
+来世紀 < raiseiki\ ;
+隔壁 < kakuheki\ ;
+山水画 < sansuiga\ ;
+掃除人 < soujinin\ ;
+意味部門 < imibumon\ ;
+一等地 < ittouchi\ ;
+税務官 < zeimukan\ ;
+看護人 < kangonin\ ;
+半切符 < hankippu\ ;
+圧瀘器 < atsuroki\ ;
+緑地 < ryokuchi\ ;
+基準法 < kijunhou\ ;
+節電 < setsuden\ ;
+受講者 < jukousha\ ;
+測距儀 < sokkyogi\ ;
+粘粘 < nebaneba\ ;
+冷凍機 < reitouki\ ;
+鋸 < nokogiri\ ;
+等距離 < toukyori\ ;
+炎熱 < en''netsu\ ;
+国許 < kunimoto\ ;
+不名数 < fumeisuu\ ;
+開発 < kaihatsu\ ;
+試運転 < shiunten\ ;
+義勇兵 < giyuuhei\ ;
+親画面 < oyagamen\ ;
+拒否権 < kyohiken\ ;
+二番線 < nibansen\ ;
+営業費 < eigyouhi\ ;
+相似形 < soujikei\ ;
+罹災民 < risaimin\ ;
+寄生木 < yadorigi\ ;
+親族 < shinzoku\ ;
+火薬庫 < kayakuko\ ;
+赤頭巾 < akazukin\ ;
+蜥蜴座 < tokageza\ ;
+警報音 < keihouon\ ;
+粉粉 < konagona\ ;
+大蜥蜴 < ootokage\ ;
+雇人 < yatoinin\ ;
+更生期 < kouseiki\ ;
+設問 < setsumon\ ;
+土左衛門 < dozaemon\ ;
+覚書 < oboegaki\ ;
+疑問文 < gimonbun\ ;
+荷為替 < nigawase\ ;
+編入 < hen''nyuu\ ;
+拒食 < kyoshoku\ ;
+腎臓炎 < jinzouen\ ;
+累月 < ruigetsu\ ;
+垂直 < suichoku\ ;
+寄贈者 < kizousha\ ;
+家庭内 < kateinai\ ;
+紅殻 < benigara\ ;
+落語家 < rakugoka\ ;
+無節操 < musessou\ ;
+角店 < kadomise\ ;
+練乳 < ren''nyuu\ ;
+容疑者 < yougisha\ ;
+米糠 < komenuka\ ;
+展開図 < tenkaizu\ ;
+私生児 < shiseiji\ ;
+躾 < shitsuke\ ;
+総力 < souryoku\ ;
+大手筋 < ootesuji\ ;
+累日 < ruijitsu\ ;
+公定価 < kouteika\ ;
+気分屋 < kibun''ya\ ;
+在職 < zaishoku\ ;
+埋没 < maibotsu\ ;
+一等兵 < ittouhei\ ;
+下水管 < gesuikan\ ;
+整数比 < seisuuhi\ ;
+粘着 < nenchaku\ ;
+糞溜 < kusodame\ ;
+築造 < chikuzou\ ;
+社務所 < shamusho\ ;
+触媒 < shokubai\ ;
+高層雲 < kousouun\ ;
+常套語 < joutougo\ ;
+船外機 < sengaiki\ ;
+隊列 < tairetsu\ ;
+双暗車 < souansha\ ;
+索敵 < sakuteki\ ;
+旅客機 < ryokakki\ ;
+増刷 < zousatsu\ ;
+緑便 < ryokuben\ ;
+潮足 < shioashi\ ;
+閲歴 < etsureki\ ;
+運営者 < un''eisha\ ;
+恣意的 < shiiteki\ ;
+納札 < nousatsu\ ;
+破天荒 < hatenkou\ ;
+熱帯夜 < nettaiya\ ;
+達成度 < tasseido\ ;
+多角形 < takakkei\ ;
+振袖 < furisode\ ;
+糟汁 < kasujiru\ ;
+入会権 < iriaiken\ ;
+千葉県 < chibaken\ ;
+五月雨 < samidare\ ;
+準会員 < junkaiin\ ;
+諺 < kotowaza\ ;
+約束 < yakusoku\ ;
+水曜日 < suiyoubi\ ;
+渇水期 < kassuiki\ ;
+抑鬱 < yokuutsu\ ;
+競馬場 < keibajou\ ;
+指貫 < yubinuki\ ;
+鳩小屋 < hatogoya\ ;
+激臭 < gekishuu\ ;
+不正視 < fuseishi\ ;
+見所 < midokoro\ ;
+四半期 < shihanki\ ;
+粗率 < araritsu\ ;
+作用点 < sayouten\ ;
+遊園地 < yuuenchi\ ;
+軌道船 < kidousen\ ;
+弁理士 < benrishi\ ;
+終幕 < shuumaku\ ;
+襲撃 < shuugeki\ ;
+麻酔銃 < masuijuu\ ;
+褌 < fundoshi\ ;
+木螺子 < mokuneji\ ;
+結局 < kekkyoku\ ;
+歩数計 < hosuukei\ ;
+主題歌 < shudaika\ ;
+筋骨 < sujibone\ ;
+正会員 < seikaiin\ ;
+微分法 < bibunhou\ ;
+動員令 < douinrei\ ;
+観客 < kankyaku\ ;
+接着 < setchaku\ ;
+青瓦台 < seigadai\ ;
+陣列 < jinretsu\ ;
+渡船場 < tosenjou\ ;
+土筆 < tsukushi\ ;
+粛然 < shukuzen\ ;
+意識下 < ishikika\ ;
+細引 < hosobiki\ ;
+親局 < oyakyoku\ ;
+保護国 < hogokoku\ ;
+同性愛 < douseiai\ ;
+油圧器 < yuatsuki\ ;
+燕青拳 < enseiken\ ;
+幼年期 < younenki\ ;
+豪華版 < goukaban\ ;
+表芸 < omotegei\ ;
+医原病 < igenbyou\ ;
+電話線 < denwasen\ ;
+冷凍庫 < reitouko\ ;
+還付税 < kanpuzei\ ;
+弁護者 < bengosha\ ;
+装着 < souchaku\ ;
+電話網 < denwamou\ ;
+登山道 < tozandou\ ;
+蛤 < hamaguri\ ;
+濃縮 < noushuku\ ;
+意味原理 < imigenri\ ;
+提灯 < chouchin\ ;
+阿房鳥 < ahoudori\ ;
+予備的 < yobiteki\ ;
+裏町 < uramachi\ ;
+土神 < uchigami\ ;
+扶助料 < fujoryou\ ;
+堀川 < horikawa\ ;
+猿知恵 < sarudjie\ ;
+地蔵顔 < jizougao\ ;
+絶命 < zetsumei\ ;
+陋劣 < rouretsu\ ;
+作業場 < sagyouba\ ;
+筆順 < hitsujun\ ;
+空相場 < kuusouba\ ;
+袴着 < hakamagi\ ;
+国籍 < kokuseki\ ;
+挽肉 < hikiniku\ ;
+混合語 < kongougo\ ;
+妥協案 < dakyouan\ ;
+細密 < saimitsu\ ;
+間柄 < aidagara\ ;
+無抵抗 < muteikou\ ;
+撃墜 < gekitsui\ ;
+葉節点 < hasetten\ ;
+他動詞 < tadoushi\ ;
+映画狂 < eigakyou\ ;
+国策 < kokusaku\ ;
+法華経 < hokekyou\ ;
+筆陣 < hitsujin\ ;
+酢料理 < suryouri\ ;
+政府米 < seifumai\ ;
+結団 < ketsudan\ ;
+螢雪 < keisetsu\ ;
+好結果 < koukekka\ ;
+活性化 < kasseika\ ;
+助言者 < jogonsha\ ;
+裏千家 < urasenke\ ;
+舎利塔 < sharitou\ ;
+蝶鮫 < chouzame\ ;
+搦手 < karamete\ ;
+不祝儀 < bushuugi\ ;
+団結 < danketsu\ ;
+過渡的 < katoteki\ ;
+陶芸家 < tougeika\ ;
+紙屑 < kamikuzu\ ;
+作業員 < sagyouin\ ;
+血色 < kesshoku\ ;
+多摩川 < tamagawa\ ;
+微苦笑 < bikushou\ ;
+欺瞞者 < gimansha\ ;
+門札 < monsatsu\ ;
+立法府 < rippoufu\ ;
+被災地 < hisaichi\ ;
+猛打者 < moudasha\ ;
+絶倫 < zetsurin\ ;
+型枠 < katawaku\ ;
+不祥事 < fushouji\ ;
+結果論 < kekkaron\ ;
+闇市 < yamiichi\ ;
+融雪 < yuusetsu\ ;
+簒立 < sanritsu\ ;
+下水溝 < gesuikou\ ;
+水風呂 < mizuburo\ ;
+方位角 < houikaku\ ;
+防塵着 < boujingi\ ;
+既視想 < kishikan\ ;
+地熱 < chinetsu\ ;
+聾 < mimishii\ ;
+口語体 < kougotai\ ;
+幹部会 < kanbukai\ ;
+交際費 < kousaihi\ ;
+筋金 < sujigane\ ;
+武士道 < bushidou\ ;
+魔方陣 < mahoujin\ ;
+算術 < sanjutsu\ ;
+葡萄酒 < budoushu\ ;
+長旅 < nagatabi\ ;
+双子座 < futagoza\ ;
+脱水機 < dassuiki\ ;
+火口原 < kakougen\ ;
+低次元 < teijigen\ ;
+防人 < sakimori\ ;
+厳冬期 < gentouki\ ;
+不退転 < futaiten\ ;
+蟻蜂 < aribachi\ ;
+手土産 < temiyage\ ;
+危険視 < kikenshi\ ;
+衝立 < tsuitate\ ;
+舞踊団 < butoudan\ ;
+不決定 < fukettei\ ;
+回帰線 < kaikisen\ ;
+綴 < tsudzuri\ ;
+区民税 < kuminzei\ ;
+何番目 < nanbanme\ ;
+簡略 < kanryaku\ ;
+脱気水 < dakkisui\ ;
+刑務所 < keimusho\ ;
+健啖家 < kentanka\ ;
+破壊者 < hakaisha\ ;
+自意識 < jiishiki\ ;
+七十路 < nanasoji\ ;
+観自在 < kanjizai\ ;
+遠心機 < enshinki\ ;
+捨猫 < suteneko\ ;
+朱印船 < shuinsen\ ;
+洗濯機 < sentakki\ ;
+不動産 < fudousan\ ;
+蟀谷 < komekami\ ;
+噴気孔 < funkikou\ ;
+蟯虫 < gyouchuu\ ;
+蝦夷松 < ezomatsu\ ;
+鬼刑事 < onikeiji\ ;
+感嘆符 < kantanfu\ ;
+法医学 < houigaku\ ;
+粉末 < funmatsu\ ;
+篁 < takamura\ ;
+埒外 < rachigai\ ;
+鳥小屋 < torigoya\ ;
+坪数 < tsubosuu\ ;
+筍 < takenoko\ ;
+自営業 < jieigyou\ ;
+糞尿 < fun''nyou\ ;
+表白 < hyouhaku\ ;
+精錬所 < seirenjo\ ;
+四百 < yonhyaku\ ;
+細別 < saibetsu\ ;
+手鏡 < tekagami\ ;
+黄菖蒲 < kishoubu\ ;
+亜大陸 < atairiku\ ;
+備考欄 < bikouran\ ;
+蠏股 < ganimata\ ;
+堀割 < horiwari\ ;
+片手間 < katatema\ ;
+人間味 < ningenmi\ ;
+関守 < sekimori\ ;
+無意識 < muishiki\ ;
+投資家 < toushika\ ;
+下水板 < gesuiita\ ;
+血税 < ketsuzei\ ;
+馬蹄形 < bateikei\ ;
+全音符 < zen''onpu\ ;
+執務 < shitsumu\ ;
+捕物 < torimono\ ;
+成香 < narikyou\ ;
+高輝度 < koukidou\ ;
+米松 < beimatsu\ ;
+節糸 < fushiito\ ;
+不可侵 < fukashin\ ;
+黄口児 < koukouji\ ;
+分科会 < bunkakai\ ;
+節米 < setsumai\ ;
+蜘蛛膜 < kumomaku\ ;
+事業家 < jigyouka\ ;
+承諾 < shoudaku\ ;
+入会地 < iriaichi\ ;
+筆談 < hitsudan\ ;
+図書館 < toshokan\ ;
+開局 < kaikyoku\ ;
+製版所 < seihanjo\ ;
+東大寺 < toudaiji\ ;
+鎌首 < kamakubi\ ;
+立食 < risshoku\ ;
+中位数 < chuuisuu\ ;
+衆目 < shuumoku\ ;
+筆触 < hisshoku\ ;
+参賀者 < sangasha\ ;
+批准書 < hijunsho\ ;
+垂幕 < taremaku\ ;
+立願 < ritsugan\ ;
+摂動 < setsudou\ ;
+舞踏会 < butoukai\ ;
+精密 < seimitsu\ ;
+理化学 < rikagaku\ ;
+節穴 < fushiana\ ;
+登山者 < tozansha\ ;
+助教授 < jokyouju\ ;
+刑務官 < keimukan\ ;
+癸 < mizunoto\ ;
+政務官 < seimukan\ ;
+節税 < setsuzei\ ;
+正義感 < seigikan\ ;
+糸口 < itoguchi\ ;
+医薬品 < iyakuhin\ ;
+化粧着 < keshougi\ ;
+手車 < teguruma\ ;
+火達磨 < hidaruma\ ;
+長尻 < nagajiri\ ;
+濁流 < dakuryuu\ ;
+素人 < shirouto\ ;
+不徹底 < futettei\ ;
+激流 < gekiryuu\ ;
+執事 < shitsuji\ ;
+留守宅 < rusutaku\ ;
+所轄 < shokatsu\ ;
+拒絶 < kyozetsu\ ;
+凡試合 < bonshiai\ ;
+万歩計 < manpokei\ ;
+二枚貝 < nimaigai\ ;
+排日 < hainichi\ ;
+用水路 < yousuiro\ ;
+系列 < keiretsu\ ;
+衰滅 < suimetsu\ ;
+時計店 < tokeiten\ ;
+固定子 < koteishi\ ;
+有煙炭 < yuuentan\ ;
+裏鬼門 < urakimon\ ;
+採掘 < saikutsu\ ;
+御母様 < okaasama\ ;
+埒内 < rachinai\ ;
+道祖神 < dousojin\ ;
+在日 < zainichi\ ;
+合法化 < gouhouka\ ;
+漁色 < gyoshoku\ ;
+拙筆 < seppitsu\ ;
+純一 < jun''itsu\ ;
+首都圏 < shutoken\ ;
+三毛猫 < mikeneko\ ;
+探知機 < tanchiki\ ;
+死火山 < shikazan\ ;
+色模様 < iromoyou\ ;
+糸電話 < itodenwa\ ;
+重大化 < juudaika\ ;
+搬入 < han''nyuu\ ;
+関取 < sekitori\ ;
+三段目 < sandanme\ ;
+祭壇座 < saidanza\ ;
+搾乳 < sakunyuu\ ;
+烏帽子名 < eboshina\ ;
+漫筆 < manpitsu\ ;
+兄弟子 < anideshi\ ;
+運命論 < unmeiron\ ;
+普通科 < futsuuka\ ;
+上古史 < joukoshi\ ;
+預貯金 < yochokin\ ;
+抜群 < batsugun\ ;
+妥当性 < datousei\ ;
+国柄 < kunigara\ ;
+葡萄色 < budouiro\ ;
+排水路 < haisuiro\ ;
+横断面 < oudanmen\ ;
+整経機 < seikeiki\ ;
+手袋 < tebukuro\ ;
+閣僚 < kakuryou\ ;
+簡体字 < kantaiji\ ;
+風邪気味 < kazegimi\ ;
+可溶片 < kayouhen\ ;
+儀仗兵 < gijouhei\ ;
+陸屋根 < rokuyane\ ;
+籤引 < kujibiki\ ;
+座談会 < zadankai\ ;
+帆前船 < homaesen\ ;
+指話法 < shiwahou\ ;
+偽造品 < gizouhin\ ;
+筋肉 < kin''niku\ ;
+世帯数 < setaisuu\ ;
+一周期 < isshuuki\ ;
+中耳炎 < chuujien\ ;
+窓際 < madogiwa\ ;
+富士通 < fujitsuu\ ;
+家屋税 < kaokuzei\ ;
+間八 < kanpachi\ ;
+笹舟 < sasabune\ ;
+機動隊 < kidoutai\ ;
+防火線 < boukasen\ ;
+教護院 < kyougoin\ ;
+接岸 < setsugan\ ;
+戯言 < tawagoto\ ;
+螺子山 < nejiyama\ ;
+乳児院 < nyuujiin\ ;
+血液 < ketsueki\ ;
+腕時計 < udedokei\ ;
+蠏玉 < kanitama\ ;
+血涙 < ketsurui\ ;
+戸袋 < tobukuro\ ;
+朱印状 < shuinjou\ ;
+推察 < suisatsu\ ;
+真意義 < shin''igi\ ;
+遊技場 < yuugijou\ ;
+勧工場 < kankouba\ ;
+接客 < sekkyaku\ ;
+三冠馬 < sankanba\ ;
+嗅覚 < kyuukaku\ ;
+天才児 < tensaiji\ ;
+逆茂木 < sakamogi\ ;
+折節 < orifushi\ ;
+補充兵 < hojuuhei\ ;
+建議者 < kengisha\ ;
+常夜灯 < jouyatou\ ;
+潤滑 < junkatsu\ ;
+鎌足 < kamaashi\ ;
+草屋根 < kusayane\ ;
+潮流 < chouryuu\ ;
+四月 < shigatsu\ ;
+嘲笑 < choushou\ ;
+権威者 < ken''isha\ ;
+窮追 < kyuutsui\ ;
+窮迫 < kyuuhaku\ ;
+握力 < akuryoku\ ;
+砕岩機 < saiganki\ ;
+葡萄糖 < budoutou\ ;
+白亜館 < hakuakan\ ;
+混和性 < konwasei\ ;
+左顧右眄 < sakouben\ ;
+化粧殿 < kewaiden\ ;
+鍛鉄 < tantetsu\ ;
+揚力 < youryoku\ ;
+千分比 < senbunhi\ ;
+竹薮 < takeyabu\ ;
+才色 < saishoku\ ;
+時計台 < tokeidai\ ;
+同母姉 < douboshi\ ;
+立論 < ritsuron\ ;
+米坪 < beitsubo\ ;
+楠 < kusunoki\ ;
+筆箱 < fudebako\ ;
+測量 < sokuryou\ ;
+等等 < nadonado\ ;
+立言 < ritsugen\ ;
+黄水仙 < kisuisen\ ;
+粛党 < shukutou\ ;
+弱味噌 < yowamiso\ ;
+裸出 < rashutsu\ ;
+鍋釜 < nabekama\ ;
+留守中 < rusuchuu\ ;
+衝撃 < shougeki\ ;
+混雑 < konzatsu\ ;
+小児科 < shounika\ ;
+長久 < choukyuu\ ;
+三十戸 < sanjikko\ ;
+電離層 < denrisou\ ;
+高踏派 < koutouha\ ;
+理工系 < rikoukei\ ;
+無礼講 < bureikou\ ;
+地境 < djizakai\ ;
+挿抜 < soubatsu\ ;
+仮名文字 < kanamoji\ ;
+不十分 < fujuubun\ ;
+哺乳期 < honyuuki\ ;
+石油王 < sekiyuou\ ;
+衣手 < koromode\ ;
+御利益 < goriyaku\ ;
+投書家 < toushoka\ ;
+遺留品 < iryuuhin\ ;
+蛸足 < takoashi\ ;
+遺伝病 < idenbyou\ ;
+揚炭機 < youtanki\ ;
+非変換 < hihenkan\ ;
+改正案 < kaiseian\ ;
+高高度 < koukoudo\ ;
+経産婦 < keisanpu\ ;
+接合 < setsugou\ ;
+裏口 < uraguchi\ ;
+抑留 < yokuryuu\ ;
+赤裸裸 < sekirara\ ;
+混合機 < kongouki\ ;
+潮時 < shiodoki\ ;
+寄贈品 < kizouhin\ ;
+濃密 < noumitsu\ ;
+夜行性 < yakousei\ ;
+前衛派 < zen''eiha\ ;
+未決算 < mikessan\ ;
+国学 < kokugaku\ ;
+漠漠 < bakubaku\ ;
+揉事 < momegoto\ ;
+主要部 < shuyoubu\ ;
+避寒地 < hikanchi\ ;
+水垢離 < mizugori\ ;
+委託生 < itakusei\ ;
+警報機 < keihouki\ ;
+温罨法 < on''anpou\ ;
+対応版 < taiouban\ ;
+喇嘛教 < ramakyou\ ;
+遺留分 < iryuubun\ ;
+昆布茶 < konbucha\ ;
+鼻髭 < hanahige\ ;
+乗算器 < jouzanki\ ;
+立葵 < tachiaoi\ ;
+粉乳 < fun''nyuu\ ;
+鼻高 < hanataka\ ;
+葬儀社 < sougisha\ ;
+判検事 < hankenji\ ;
+喀血 < kakketsu\ ;
+特異点 < tokuiten\ ;
+保険屋 < hoken''ya\ ;
+投物 < nagemono\ ;
+地卵 < jitamago\ ;
+不都合 < futsugou\ ;
+所持金 < shojikin\ ;
+虎河豚 < torafugu\ ;
+技能者 < ginousha\ ;
+抗議文 < kougibun\ ;
+袖垣 < sodegaki\ ;
+既製品 < kiseihin\ ;
+基礎的 < kisoteki\ ;
+深酒 < fukazake\ ;
+貝細工 < kaizaiku\ ;
+黒百合 < kuroyuri\ ;
+空豆 < soramame\ ;
+茶菓子 < chagashi\ ;
+鼻風 < hanakaze\ ;
+米仏 < beifutsu\ ;
+否定文 < hiteibun\ ;
+捕失 < hoshitsu\ ;
+抄物 < shoumono\ ;
+竹簡 < chikukan\ ;
+抹殺 < massatsu\ ;
+弁護士 < bengoshi\ ;
+手裏剣 < shuriken\ ;
+銀時計 < gindokei\ ;
+三連符 < sanrenpu\ ;
+裏付 < uradzuke\ ;
+唐鋤 < karasuki\ ;
+圧出 < asshutsu\ ;
+立脚 < rikkyaku\ ;
+竹箆 < takebera\ ;
+国国 < kuniguni\ ;
+簒奪 < sandatsu\ ;
+均一 < kin''itsu\ ;
+漏泄 < rousetsu\ ;
+鼻革 < hanagawa\ ;
+空説 < kuusetsu\ ;
+小切子 < kokiriko\ ;
+搭乗員 < toujouin\ ;
+世界観 < sekaikan\ ;
+圧入 < atsunyuu\ ;
+挙式 < kyoshiki\ ;
+空言 < soragoto\ ;
+唐金 < karakane\ ;
+倉庫番 < soukoban\ ;
+虎鬚 < torahige\ ;
+溶発 < youhatsu\ ;
+滴滴 < tekiteki\ ;
+漂流 < hyouryuu\ ;
+鏑矢 < kaburaya\ ;
+文科系 < bunkakei\ ;
+能文家 < noubunka\ ;
+弁護団 < bengodan\ ;
+巫 < kan''nagi\ ;
+銀世界 < ginsekai\ ;
+拙文 < setsubun\ ;
+螢火 < hotarubi\ ;
+匈牙利 < hangarii\ ;
+才略 < sairyaku\ ;
+銀鼠 < gin''nezu\ ;
+猿真似 < sarumane\ ;
+猪口才 < chokozai\ ;
+鋳物師 < imonoshi\ ;
+無鉄砲 < muteppou\ ;
+同分母 < doubunbo\ ;
+国原 < kunibara\ ;
+未消化 < mishouka\ ;
+蛞蝓 < namekuji\ ;
+空蝉 < utsusemi\ ;
+築庭 < chikutei\ ;
+篤学 < tokugaku\ ;
+広東語 < kantongo\ ;
+寿 < kotobuki\ ;
+一私人 < isshijin\ ;
+融熱 < yuunetsu\ ;
+漢蔵語 < kanzougo\ ;
+二人目 < futarime\ ;
+富士絹 < fujiginu\ ;
+肛門科 < koumonka\ ;
+静電気 < seidenki\ ;
+鍋蓋 < nabebuta\ ;
+原動機 < gendouki\ ;
+乾船渠 < kandokku\ ;
+鼓吹者 < kosuisha\ ;
+大和煮 < yamatoni\ ;
+筆洗 < fudearai\ ;
+茶道具 < chadougu\ ;
+困却 < konkyaku\ ;
+懸絶 < kenzetsu\ ;
+排気管 < haikikan\ ;
+黒黴 < kurokabi\ ;
+当事者 < toujisha\ ;
+墓誌銘 < boshimei\ ;
+黒麦 < kuromugi\ ;
+短水路 < tansuiro\ ;
+成程 < naruhodo\ ;
+喫茶店 < kissaten\ ;
+時間帯 < jikantai\ ;
+無水酸 < musuisan\ ;
+才物 < saibutsu\ ;
+黒鷺 < kurosagi\ ;
+鉤鼻 < kagibana\ ;
+破防法 < habouhou\ ;
+混血 < konketsu\ ;
+箱庭 < hakoniwa\ ;
+合歓木 < nemunoki\ ;
+拙悪 < setsuaku\ ;
+聖歌隊 < seikatai\ ;
+黒鴨 < kurogamo\ ;
+銀髪 < ginpatsu\ ;
+蛆虫 < ujimushi\ ;
+印紙税 < inshizei\ ;
+蠍座 < sasoriza\ ;
+袖丈 < sodetake\ ;
+戦略 < senryaku\ ;
+文房具 < bunbougu\ ;
+保管金 < hokankin\ ;
+回勅 < kaichoku\ ;
+最多数 < saitasuu\ ;
+不透明 < futoumei\ ;
+栽培所 < saibaijo\ ;
+林檎酒 < ringoshu\ ;
+国人 < kunibito\ ;
+母細胞 < bosaibou\ ;
+好打者 < koudasha\ ;
+円筒形 < entoukei\ ;
+摂関家 < sekkanke\ ;
+正規軍 < seikigun\ ;
+浜風 < hamakaze\ ;
+常套句 < joutouku\ ;
+竪琴 < tategoto\ ;
+渋茶 < shibucha\ ;
+未決済 < mikessai\ ;
+蚰蜒 < gejigeji\ ;
+納戸色 < nandoiro\ ;
+抗日 < kounichi\ ;
+非線形 < hisenkei\ ;
+風呂釜 < furogama\ ;
+弁護人 < bengonin\ ;
+渋色 < shibuiro\ ;
+鎮守府 < chinjufu\ ;
+一張羅 < itchoura\ ;
+子会社 < kogaisha\ ;
+不凍港 < futoukou\ ;
+活魚 < katsugyo\ ;
+卵塔場 < rantouba\ ;
+中央部 < chuuoubu\ ;
+不凍液 < futoueki\ ;
+天秤座 < tenbinza\ ;
+空耳 < soramimi\ ;
+危険性 < kikensei\ ;
+不凍海 < futoukai\ ;
+大真面目 < oomajime\ ;
+登山帽 < tozanbou\ ;
+銭金 < zenikane\ ;
+煎豆腐 < iridoufu\ ;
+券売機 < kenbaiki\ ;
+時間外 < jikangai\ ;
+拝察 < haisatsu\ ;
+気候帯 < kikoutai\ ;
+楽器店 < gakkiten\ ;
+承服 < shoufuku\ ;
+検非違使 < kebiishi\ ;
+截然 < setsuzen\ ;
+龍舟 < ryuushuu\ ;
+本金庫 < honkinko\ ;
+雄弁家 < yuubenka\ ;
+付帯犯 < futaihan\ ;
+西洋碁 < seiyougo\ ;
+戦争後 < sensougo\ ;
+敏腕家 < binwanka\ ;
+中以上 < chuuijou\ ;
+高下駄 < takageta\ ;
+非売品 < hibaihin\ ;
+混色 < konshoku\ ;
+何代目 < nandaime\ ;
+高架線 < koukasen\ ;
+水面下 < suimenka\ ;
+精油所 < seiyusho\ ;
+東西屋 < touzaiya\ ;
+溢流 < itsuryuu\ ;
+銅版画 < douhanga\ ;
+投技 < nagewaza\ ;
+炊飯器 < suihanki\ ;
+我物 < wagamono\ ;
+元帥府 < gensuifu\ ;
+鼻許 < hanamoto\ ;
+鳥之巣 < torinosu\ ;
+医療車 < iryousha\ ;
+特異性 < tokuisei\ ;
+溝泥 < dobudoro\ ;
+禄高 < rokudaka\ ;
+冬至線 < toujisen\ ;
+穿孔機 < senkouki\ ;
+無蓋車 < mugaisha\ ;
+溝水 < dobumizu\ ;
+空籤 < karakuji\ ;
+抵抗器 < teikouki\ ;
+蒸気船 < joukisen\ ;
+非許容 < hikyoyou\ ;
+遠近法 < enkinhou\ ;
+鉄骨 < tekkotsu\ ;
+湯煙 < yukemuri\ ;
+淡色 < tanshoku\ ;
+仮定法 < kateihou\ ;
+西洋画 < seiyouga\ ;
+私鉄 < shitetsu\ ;
+達磨忌 < darumaki\ ;
+秒速 < byousoku\ ;
+空箱 < karabako\ ;
+突立 < tottatsu\ ;
+畳成語 < jouseigo\ ;
+怪事件 < kaijiken\ ;
+所持者 < shojisha\ ;
+擬人法 < gijinhou\ ;
+唐草 < karakusa\ ;
+準大手 < jun''oote\ ;
+回転機 < kaitenki\ ;
+蟻塚 < aridzuka\ ;
+潮先 < shiosaki\ ;
+虚説 < kyosetsu\ ;
+血便 < ketsuben\ ;
+戦没 < senbotsu\ ;
+可哀相 < kawaisou\ ;
+指先 < yubisaki\ ;
+錦絵 < nishikie\ ;
+交際家 < kousaika\ ;
+離乳期 < rinyuuki\ ;
+磁性層 < jiseisou\ ;
+越冬隊 < ettoutai\ ;
+御無沙汰 < gobusata\ ;
+手枕 < temakura\ ;
+右顧左眄 < ukosaben\ ;
+譜面台 < fumendai\ ;
+秀逸 < shuuitsu\ ;
+仮小屋 < karigoya\ ;
+目論見 < mokuromi\ ;
+竹槍 < takeyari\ ;
+演算子 < enzanshi\ ;
+黒鉄 < kurogane\ ;
+有限個 < yuugenko\ ;
+戸障子 < toshouji\ ;
+可鍛性 < katansei\ ;
+太鼓判 < taikoban\ ;
+海坊主 < umibouzu\ ;
+等式 < toushiki\ ;
+藩閥 < hanbatsu\ ;
+流量 < ryuuryou\ ;
+黍魚子 < kibinago\ ;
+突発 < toppatsu\ ;
+鉤針 < kagibari\ ;
+投宿 < toushuku\ ;
+営林署 < eirinsho\ ;
+竹林 < chikurin\ ;
+固有値 < koyuuchi\ ;
+啓発 < keihatsu\ ;
+竹材 < chikuzai\ ;
+遺伝学 < idengaku\ ;
+育種所 < ikushujo\ ;
+空発 < kuuhatsu\ ;
+払拭 < fusshoku\ ;
+金鍍金 < kinmekki\ ;
+神風 < kamikaze\ ;
+流速 < ryuusoku\ ;
+流通 < ryuutsuu\ ;
+滝川 < takigawa\ ;
+参事官 < sanjikan\ ;
+相談所 < soudanjo\ ;
+無税品 < muzeihin\ ;
+穀粒 < kokuryuu\ ;
+端末 < tanmatsu\ ;
+唐紙 < karakami\ ;
+応答能 < outounou\ ;
+検問所 < kenmonjo\ ;
+岡場所 < okabasho\ ;
+地蔵尊 < jizouson\ ;
+空世辞 < karaseji\ ;
+表具屋 < hyouguya\ ;
+弔慰金 < chouikin\ ;
+初産婦 < shosanpu\ ;
+蛸焼 < takoyaki\ ;
+祝電 < shukuden\ ;
+恐龍 < kyouryuu\ ;
+暗記物 < ankimono\ ;
+麻酔剤 < masuizai\ ;
+藪医者 < yabuisha\ ;
+品薄 < shinausu\ ;
+拝借 < haishaku\ ;
+何時頃 < itsugoro\ ;
+種紙 < tanegami\ ;
+温熱 < on''netsu\ ;
+鉄鉢 < teppachi\ ;
+満月 < mangetsu\ ;
+鍋物 < nabemono\ ;
+二義的 < nigiteki\ ;
+雁皮紙 < ganpishi\ ;
+日和見 < hiyorimi\ ;
+波風 < namikaze\ ;
+社会部 < shakaibu\ ;
+鑑別 < kanbetsu\ ;
+黒豹 < kurohyou\ ;
+房房 < fusafusa\ ;
+黒豆 < kuromame\ ;
+別世界 < bessekai\ ;
+無名氏 < mumeishi\ ;
+雇傭者 < koyousha\ ;
+唐突 < toutotsu\ ;
+絢緞子 < ayadonsu\ ;
+渦状文 < kajoumon\ ;
+黙諾 < mokudaku\ ;
+自動車 < jidousha\ ;
+除草剤 < josouzai\ ;
+野鼠 < nonezumi\ ;
+不公正 < fukousei\ ;
+闘技場 < tougijou\ ;
+喬木 < kyouboku\ ;
+黙読 < mokudoku\ ;
+恥骨 < chikotsu\ ;
+主記憶 < shukioku\ ;
+手心 < tegokoro\ ;
+突然 < totsuzen\ ;
+鼻下長 < bikachou\ ;
+最大化 < saidaika\ ;
+押切 < oshikiri\ ;
+防炎剤 < bouenzai\ ;
+抑圧 < yokuatsu\ ;
+慶祝 < keishuku\ ;
+筆太 < fudebuto\ ;
+鉄道 < tetsudou\ ;
+何時間 < nanjikan\ ;
+系統樹 < keitouju\ ;
+御自身 < gojishin\ ;
+上菓子 < jougashi\ ;
+虚脱 < kyodatsu\ ;
+河鱒 < kawamasu\ ;
+被減数 < higensuu\ ;
+星条旗 < seijouki\ ;
+銭苔 < zenigoke\ ;
+立札 < tatefuda\ ;
+噛傷 < kamikizu\ ;
+野鶲 < nobitaki\ ;
+疎水性 < sosuisei\ ;
+自治権 < jichiken\ ;
+逮捕者 < taihosha\ ;
+演出 < enshutsu\ ;
+鼻紙 < hanagami\ ;
+温温 < nukunuku\ ;
+二頭筋 < nitoukin\ ;
+鼻糞 < hanakuso\ ;
+素浪人 < surounin\ ;
+秋場所 < akibasho\ ;
+船火事 < funakaji\ ;
+育種家 < ikushuka\ ;
+悪逆 < akugyaku\ ;
+正課外 < seikagai\ ;
+煉瓦塀 < rengabei\ ;
+悪辣 < akuratsu\ ;
+英文法 < eibunpou\ ;
+未決定 < mikettei\ ;
+黒表 < kokuhyou\ ;
+健康美 < kenkoubi\ ;
+両議院 < ryougiin\ ;
+愛唱歌 < aishouka\ ;
+二本棒 < nihonbou\ ;
+鼻筋 < hanasuji\ ;
+沈黙 < chinmoku\ ;
+青物屋 < aomonoya\ ;
+金髪 < kinpatsu\ ;
+仮定形 < kateikei\ ;
+鉈豆 < natamame\ ;
+磯鷸 < isoshigi\ ;
+溝川 < dobugawa\ ;
+自動詞 < jidoushi\ ;
+便宜上 < bengijou\ ;
+田舎風 < inakafuu\ ;
+鍵束 < kagitaba\ ;
+神速 < shinsoku\ ;
+朝御飯 < asagohan\ ;
+黒蛇 < kurohebi\ ;
+指揮権 < shikiken\ ;
+設計図 < sekkeizu\ ;
+満悦 < man''etsu\ ;
+我我 < wareware\ ;
+部外者 < bugaisha\ ;
+清潔 < seiketsu\ ;
+葬儀場 < sougijou\ ;
+磁性体 < jiseitai\ ;
+銀本位 < ginhon''i\ ;
+筆名 < hitsumei\ ;
+政党員 < seitouin\ ;
+対応値 < taiouchi\ ;
+軍艦旗 < gunkanki\ ;
+二乗根 < nijoukon\ ;
+種畜 < shuchiku\ ;
+指揮棒 < shikibou\ ;
+母国語 < bokokugo\ ;
+画用紙 < gayoushi\ ;
+銅色 < doushoku\ ;
+検温器 < ken''onki\ ;
+反骨 < hankotsu\ ;
+商況 < shoukyou\ ;
+駆潜艇 < kusentei\ ;
+堕胎罪 < dataizai\ ;
+湿度 < shitsudo\ ;
+磁気学 < jikigaku\ ;
+蟄伏 < chippuku\ ;
+浅葱 < asatsuki\ ;
+懐炉灰 < kairobai\ ;
+要注意 < youchuui\ ;
+初生児 < shoseiji\ ;
+戒律 < kairitsu\ ;
+不鮮明 < fusenmei\ ;
+竺学 < jikugaku\ ;
+天鵞絨 < biroudou\ ;
+吹貫 < fukinuki\ ;
+笹原 < sasahara\ ;
+窓枠 < madowaku\ ;
+唐物 < toumotsu\ ;
+製糖所 < seitoujo\ ;
+端局 < tankyoku\ ;
+択一 < takuitsu\ ;
+先駆者 < senkusha\ ;
+助成金 < joseikin\ ;
+渡来人 < toraijin\ ;
+筆先 < fudesaki\ ;
+速記者 < sokkisha\ ;
+銭箱 < zenibako\ ;
+錨泊 < byouhaku\ ;
+艦載機 < kansaiki\ ;
+混浴 < kon''yoku\ ;
+深深 < fukabuka\ ;
+藪蛇 < yabuhebi\ ;
+製粉機 < seifunki\ ;
+乱層雲 < ransouun\ ;
+参事会 < sanjikai\ ;
+種物 < tanemono\ ;
+種牛 < taneushi\ ;
+蛇毒 < hebidoku\ ;
+戌年 < inudoshi\ ;
+違法行為 < ihoukoui\ ;
+排気弁 < haikiben\ ;
+滑剤 < katsuzai\ ;
+黒船 < kurofune\ ;
+正統派 < seitouha\ ;
+銀翼 < gin''yoku\ ;
+泥足 < doroashi\ ;
+補佐役 < hosayaku\ ;
+鎌形 < kamagata\ ;
+未配当 < mihaitou\ ;
+滅却 < mekkyaku\ ;
+是非共 < zehitomo\ ;
+釣銭 < tsurisen\ ;
+未刊行 < mikankou\ ;
+枢機卿 < suukikei\ ;
+未遂罪 < misuizai\ ;
+文化財 < bunkazai\ ;
+武装船 < busousen\ ;
+記者団 < kishadan\ ;
+商業 < shougyou\ ;
+御用邸 < goyoutei\ ;
+御先棒 < osakibou\ ;
+鉱脈 < koumyaku\ ;
+蚊燻 < kaibushi\ ;
+吃逆 < shakkuri\ ;
+麹菌 < koujikin\ ;
+定比例 < teihirei\ ;
+命脈 < meimyaku\ ;
+富士川 < fujikawa\ ;
+黒肉 < kuroniku\ ;
+麦藁 < mugiwara\ ;
+産卵期 < sanranki\ ;
+竹垣 < takegaki\ ;
+分相機 < bunsouki\ ;
+鍛接 < tansetsu\ ;
+針金 < harigane\ ;
+会意文字 < kaiimoji\ ;
+銀縁 < ginbuchi\ ;
+上層雲 < jousouun\ ;
+金錆 < kanasabi\ ;
+税率 < zeiritsu\ ;
+立山 < tateyama\ ;
+三次元 < sanjigen\ ;
+群馬県 < gunmaken\ ;
+麦蒔 < mugimaki\ ;
+古金 < furugane\ ;
+啄木 < takuboku\ ;
+口重 < kuchiomo\ ;
+兵站部 < heitanbu\ ;
+不公平 < fukouhei\ ;
+渇望 < katsubou\ ;
+才力 < sairyoku\ ;
+古酒 < furuzake\ ;
+前鼻緒 < maehanao\ ;
+不凍剤 < futouzai\ ;
+鼻熊 < hanaguma\ ;
+錫杖 < shakujou\ ;
+空撮 < kuusatsu\ ;
+黙約 < mokuyaku\ ;
+物真似 < monomane\ ;
+遊歩道 < yuuhodou\ ;
+社説 < shasetsu\ ;
+浅緑 < senryoku\ ;
+手刀 < tegatana\ ;
+合縁奇縁 < aienkien\ ;
+無制限 < museigen\ ;
+積極 < sekkyoku\ ;
+打傷 < uchikizu\ ;
+鉄色 < tetsuiro\ ;
+体育家 < taiikuka\ ;
+分岐駅 < bunkieki\ ;
+福耳 < fukumimi\ ;
+滅亡 < metsubou\ ;
+医療用 < iryouyou\ ;
+慄然 < ritsuzen\ ;
+同説 < dousetsu\ ;
+窒息 < chissoku\ ;
+右足 < migiashi\ ;
+逮捕状 < taihojou\ ;
+沖釣 < okidzuri\ ;
+過去帳 < kakochou\ ;
+黒米 < kurogome\ ;
+機動性 < kidousei\ ;
+鉄腕 < tetsuwan\ ;
+叛逆 < hangyaku\ ;
+熱風炉 < neppuuro\ ;
+歩行者 < hokousha\ ;
+點穴 < tenketsu\ ;
+水鳥 < mizudori\ ;
+満喫 < mankitsu\ ;
+円錐形 < ensuikei\ ;
+我国 < wagakuni\ ;
+守銭奴 < shusendo\ ;
+道化師 < doukeshi\ ;
+悪舌 < akuzetsu\ ;
+虎猫 < toraneko\ ;
+下腹部 < kafukubu\ ;
+反政府 < hanseifu\ ;
+回転儀 < kaitengi\ ;
+上草履 < uwazouri\ ;
+米上院 < beijouin\ ;
+洒脱 < shadatsu\ ;
+麻綱 < asadzuna\ ;
+黐竿 < mochizao\ ;
+朝稽古 < asageiko\ ;
+含蓄 < ganchiku\ ;
+製粉所 < seifunjo\ ;
+被治者 < hichisha\ ;
+参酌 < sanshaku\ ;
+宮田家 < miyatake\ ;
+近衛兵 < konoehei\ ;
+岩手県 < iwateken\ ;
+連隊旗 < rentaiki\ ;
+管楽器 < kangakki\ ;
+謝恩会 < shaonkai\ ;
+養蜂家 < youhouka\ ;
+五線紙 < gosenshi\ ;
+各行 < kakugyou\ ;
+鍋底 < nabezoko\ ;
+平生着 < heizeigi\ ;
+機帆船 < kihansen\ ;
+悪者 < warumono\ ;
+鼻水 < hanamizu\ ;
+非排水 < hihaisui\ ;
+着番号 < kibangou\ ;
+不倫罪 < furinzai\ ;
+飴細工 < amezaiku\ ;
+偽似症 < gijishou\ ;
+大広間 < oohiroma\ ;
+避難者 < hinansha\ ;
+定常波 < teijouha\ ;
+付属語 < fuzokugo\ ;
+悶絶 < monzetsu\ ;
+年会費 < nenkaihi\ ;
+故買者 < kobaisha\ ;
+五大洋 < godaiyou\ ;
+立命 < ritsumei\ ;
+珪藻土 < keisoudo\ ;
+厳達 < gentatsu\ ;
+人名簿 < jinmeibo\ ;
+排気口 < haikikou\ ;
+避妊法 < hininhou\ ;
+特価品 < tokkahin\ ;
+重説 < juusetsu\ ;
+揚抗比 < youkouhi\ ;
+鍋尻 < nabejiri\ ;
+辞書類 < jishorui\ ;
+大往生 < daioujou\ ;
+追起訴 < tsuikiso\ ;
+氷震 < hyoushin\ ;
+過半数 < kahansuu\ ;
+鉄筆 < teppitsu\ ;
+安息日 < ansokubi\ ;
+再浮上 < saifujou\ ;
+活眼 < katsugan\ ;
+図書券 < toshoken\ ;
+発起人 < hokkinin\ ;
+洞窟 < doukutsu\ ;
+道具論 < douguron\ ;
+分相応 < bunsouou\ ;
+我儘 < wagamama\ ;
+立候補 < rikkouho\ ;
+避暑地 < hishochi\ ;
+水際 < mizugiwa\ ;
+接骨木 < niwatoko\ ;
+社会科 < shakaika\ ;
+重複 < choufuku\ ;
+活発 < kappatsu\ ;
+上機嫌 < joukigen\ ;
+交換所 < koukanjo\ ;
+喜歌劇 < kikageki\ ;
+添加剤 < tenkazai\ ;
+未復員 < mifukuin\ ;
+消沈 < shouchin\ ;
+謙遜語 < kensongo\ ;
+未処置 < mishochi\ ;
+悪筆 < akuhitsu\ ;
+地形図 < chikeizu\ ;
+未知数 < michisuu\ ;
+硬骨 < koukotsu\ ;
+八潮路 < yashioji\ ;
+沢蠏 < sawagani\ ;
+代理者 < dairisha\ ;
+憫察 < binsatsu\ ;
+麗筆 < reihitsu\ ;
+藁紙 < waragami\ ;
+軍令部 < gunreibu\ ;
+立像 < ritsuzou\ ;
+横文字 < yokomoji\ ;
+活用 < katsuyou\ ;
+消毒 < shoudoku\ ;
+太古代 < taikodai\ ;
+我人 < warehito\ ;
+鍋墨 < nabezumi\ ;
+黒猫 < kuroneko\ ;
+我事 < wagakoto\ ;
+幾何学 < kikagaku\ ;
+西洋化 < seiyouka\ ;
+刑余者 < keiyosha\ ;
+渡世人 < toseinin\ ;
+同胞 < harakara\ ;
+羅針儀 < rashingi\ ;
+子音群 < shiingun\ ;
+暗証化 < anshouka\ ;
+滑走路 < kassouro\ ;
+製図板 < seizuban\ ;
+皇統譜 < koutoufu\ ;
+理学部 < rigakubu\ ;
+空夢 < sorayume\ ;
+泥縄 < doronawa\ ;
+英語塾 < eigojuku\ ;
+酋長 < shuuchou\ ;
+悲喜劇 < hikigeki\ ;
+保管林 < hokanrin\ ;
+半靴 < hangutsu\ ;
+悶着 < monchaku\ ;
+再武装 < saibusou\ ;
+黒熊 < kuroguma\ ;
+蒲魚 < kamatoto\ ;
+喉元 < nodomoto\ ;
+空堀 < karabori\ ;
+赤蜻蛉 < akatonbo\ ;
+薄膜 < hakumaku\ ;
+窯元 < kamamoto\ ;
+減圧 < gen''atsu\ ;
+無辺際 < muhenzai\ ;
+不自然 < fushizen\ ;
+腎不全 < jinfuzen\ ;
+稚拙 < chisetsu\ ;
+祐筆 < yuuhitsu\ ;
+宴会場 < enkaijou\ ;
+古草 < furukusa\ ;
+不信者 < fushinja\ ;
+口荒 < kuchiara\ ;
+単本位 < tanhon''i\ ;
+円錐台 < ensuidai\ ;
+祝祭 < shukusai\ ;
+因果者 < ingamono\ ;
+不信義 < fushingi\ ;
+半長 < han''naga\ ;
+鉄瓶 < tetsubin\ ;
+水部 < mizunobu\ ;
+軍事面 < gunjimen\ ;
+恒河沙 < gougasha\ ;
+悪癖 < waruguse\ ;
+黒潮 < kuroshio\ ;
+蓄電 < chikuden\ ;
+母鳥 < hahadori\ ;
+自治体 < jichitai\ ;
+着尺地 < kijakuji\ ;
+後半期 < kouhanki\ ;
+口舌 < kouzetsu\ ;
+祝砲 < shukuhou\ ;
+毛髪 < mouhatsu\ ;
+自治会 < jichikai\ ;
+価値観 < kachikan\ ;
+西遊記 < seiyuuki\ ;
+監査委員 < kansaiin\ ;
+礼節 < reisetsu\ ;
+年代記 < nendaiki\ ;
+感情家 < kanjouka\ ;
+文化祭 < bunkasai\ ;
+及落 < kyuuraku\ ;
+銃殺 < juusatsu\ ;
+変換器 < henkanki\ ;
+情熱 < jounetsu\ ;
+世界史 < sekaishi\ ;
+受精卵 < juseiran\ ;
+金脈 < kinmyaku\ ;
+只者 < tadamono\ ;
+懇切 < konsetsu\ ;
+禁物 < kinmotsu\ ;
+年甲斐 < toshigai\ ;
+虐政 < gyakusei\ ;
+名筆 < meihitsu\ ;
+確証 < kakushou\ ;
+同筆 < douhitsu\ ;
+配達 < haitatsu\ ;
+泥仕合 < dorojiai\ ;
+清子音 < seishiin\ ;
+二期作 < nikisaku\ ;
+鋸屑 < nokokuzu\ ;
+横紋筋 < oumonkin\ ;
+淀川 < yodogawa\ ;
+運動界 < undoukai\ ;
+惑溺 < wakudeki\ ;
+未発見 < mihakken\ ;
+浅沓 < asagutsu\ ;
+同穴 < douketsu\ ;
+偶像化 < guuzouka\ ;
+補聴器 < hochouki\ ;
+英語劇 < eigogeki\ ;
+釣糸 < tsuriito\ ;
+電算機 < densanki\ ;
+洗熊 < araiguma\ ;
+再吟味 < saiginmi\ ;
+重罰 < juubatsu\ ;
+円錐体 < ensuitai\ ;
+流氷 < ryuuhyou\ ;
+注目 < chuumoku\ ;
+青天井 < aotenjou\ ;
+双脚 < soukyaku\ ;
+浪曲 < roukyoku\ ;
+非戦論 < hisenron\ ;
+未発行 < mihakkou\ ;
+相場師 < soubashi\ ;
+古戦場 < kosenjou\ ;
+三畳紀 < sanjouki\ ;
+好意的 < kouiteki\ ;
+御馳走 < gochisou\ ;
+金縁 < kinbuchi\ ;
+半道 < hanmichi\ ;
+北陸 < hokuriku\ ;
+扶養者 < fuyousha\ ;
+十字軍 < juujigun\ ;
+按手礼 < anshurei\ ;
+同位角 < douikaku\ ;
+原薬 < gen''yaku\ ;
+即諾 < sokudaku\ ;
+活殺 < kassatsu\ ;
+周流 < shuuryuu\ ;
+輪転機 < rintenki\ ;
+稲妻 < inadzuma\ ;
+厭人者 < enjinsha\ ;
+無配当 < muhaitou\ ;
+唐墨 < karasumi\ ;
+富裕税 < fuyuuzei\ ;
+異口同音 < ikudouon\ ;
+釣竿 < tsurizao\ ;
+過労死 < karoushi\ ;
+紅衛兵 < koueihei\ ;
+針箱 < haribako\ ;
+管理者 < kanrisha\ ;
+夜商人 < yoakindo\ ;
+舌下腺 < zekkasen\ ;
+所持品 < shojihin\ ;
+紀行文 < kikoubun\ ;
+火山灰 < kazanbai\ ;
+騎士道 < kishidou\ ;
+剰余金 < jouyokin\ ;
+卓越 < takuetsu\ ;
+豊水期 < housuiki\ ;
+低能児 < teinouji\ ;
+帰納法 < kinouhou\ ;
+獅子座 < shishiza\ ;
+交換器 < koukanki\ ;
+世界人 < sekaijin\ ;
+衛生隊 < eiseitai\ ;
+取組 < torikumi\ ;
+蒲鉾 < kamaboko\ ;
+海抜 < kaibatsu\ ;
+金箱 < kanebako\ ;
+理事長 < rijichou\ ;
+平屋根 < hirayane\ ;
+消息 < shousoku\ ;
+元老院 < genrouin\ ;
+棄権者 < kikensha\ ;
+世界中 < sekaijuu\ ;
+河口港 < kakoukou\ ;
+口笛 < kuchibue\ ;
+原茸 < haratake\ ;
+鴛鴦 < oshidori\ ;
+薬玉 < kusudama\ ;
+不体裁 < futeisai\ ;
+虐待 < gyakutai\ ;
+毒蜘蛛 < dokugumo\ ;
+単語篇 < tangohen\ ;
+黒枠 < kurowaku\ ;
+金穴 < kinketsu\ ;
+生徒数 < seitosuu\ ;
+黒服 < kurofuku\ ;
+羊皮紙 < youhishi\ ;
+勝馬 < kachiuma\ ;
+破鐘 < waregane\ ;
+必要 < hitsuyou\ ;
+混入 < kon''nyuu\ ;
+母系制 < bokeisei\ ;
+展示場 < tenjijou\ ;
+忍術 < ninjutsu\ ;
+厳罰 < genbatsu\ ;
+後遺症 < kouishou\ ;
+流木 < ryuuboku\ ;
+鈍物 < donbutsu\ ;
+引火温度 < inkaondo\ ;
+司直 < shichoku\ ;
+禁欲 < kin''yoku\ ;
+渇仰 < katsugou\ ;
+秩序 < chitsujo\ ;
+卒論 < sotsuron\ ;
+不定詞 < futeishi\ ;
+水蜜 < suimitsu\ ;
+加担者 < katansha\ ;
+石高 < kokudaka\ ;
+陽電気 < youdenki\ ;
+命日 < meinichi\ ;
+復讐 < fukushuu\ ;
+宣伝費 < sendenhi\ ;
+同率 < douritsu\ ;
+惜春 < sekishun\ ;
+劇映画 < gekieiga\ ;
+礼物 < reimotsu\ ;
+短髪 < tanpatsu\ ;
+虚実 < kyojitsu\ ;
+恋着 < renchaku\ ;
+阿古屋貝 < akoyagai\ ;
+遊蕩児 < yuutouji\ ;
+復調 < fukuchou\ ;
+金満家 < kinmanka\ ;
+錠前屋 < joumaeya\ ;
+知名度 < chimeido\ ;
+名物 < meibutsu\ ;
+北進 < hokushin\ ;
+出鱈目 < detarame\ ;
+黄昏 < tasogare\ ;
+懇話会 < konwakai\ ;
+避難民 < hinanmin\ ;
+史略 < shiryaku\ ;
+十字街 < juujigai\ ;
+主演者 < shuensha\ ;
+泥濘 < nukarumi\ ;
+藤棚 < fujidana\ ;
+世俗化 < sezokuka\ ;
+粗製品 < soseihin\ ;
+厳粛 < genshuku\ ;
+鉄棒 < tetsubou\ ;
+鳩麦 < hatomugi\ ;
+右心房 < ushinbou\ ;
+圧制者 < asseisha\ ;
+展示品 < tenjihin\ ;
+鉄梃 < kanateko\ ;
+落魄 < rakuhaku\ ;
+量的 < ryouteki\ ;
+忠良 < chuuryou\ ;
+書記官 < shokikan\ ;
+郷土愛 < kyoudoai\ ;
+貯蔵庫 < chozouko\ ;
+藩札 < hansatsu\ ;
+生真面目 < kimajime\ ;
+下馬評 < gebahyou\ ;
+不能者 < funousha\ ;
+勅願 < chokugan\ ;
+酒蔵 < sakagura\ ;
+勅題 < chokudai\ ;
+不良化 < furyouka\ ;
+薄荷糖 < hakkatou\ ;
+薄荷精 < hakkasei\ ;
+弱震 < jakushin\ ;
+比喩的 < hiyuteki\ ;
+禁札 < kinsatsu\ ;
+争議権 < sougiken\ ;
+重禁錮 < juukinko\ ;
+運動欄 < undouran\ ;
+種別 < shubetsu\ ;
+黒房 < kurobusa\ ;
+農繁期 < nouhanki\ ;
+悦楽 < etsuraku\ ;
+水草 < mizukusa\ ;
+愛子 < itoshigo\ ;
+鉄材 < tetsuzai\ ;
+弦音 < tsuruoto\ ;
+唐傘 < karakasa\ ;
+感受性 < kanjusei\ ;
+麦束 < mugitaba\ ;
+兵器工 < heikikou\ ;
+倪雲林 < geiunrin\ ;
+水茎 < mizuguki\ ;
+運送船 < unsousen\ ;
+憂事 < ureigoto\ ;
+短靴 < tangutsu\ ;
+水苔 < mizugoke\ ;
+遊冶郎 < yuuyarou\ ;
+画仙紙 < gasenshi\ ;
+洋梨 < younashi\ ;
+多段階 < tadankai\ ;
+試験機 < shikenki\ ;
+一般論 < ippanron\ ;
+加算税 < kasanzei\ ;
+残雪 < zansetsu\ ;
+厚紙 < atsugami\ ;
+浴客 < yokkyaku\ ;
+分岐線 < bunkisen\ ;
+喇叭手 < rappashu\ ;
+水船 < mizubune\ ;
+泥沼 < doronuma\ ;
+反発 < hanpatsu\ ;
+神様 < kamisama\ ;
+磨石 < togiishi\ ;
+弁髪 < benpatsu\ ;
+泥水 < doromizu\ ;
+泡沫 < houmatsu\ ;
+免罪符 < menzaifu\ ;
+犬黄楊 < inutsuge\ ;
+神業 < kamiwaza\ ;
+水腹 < mizubara\ ;
+参着 < sanchaku\ ;
+厭世観 < enseikan\ ;
+確約 < kakuyaku\ ;
+水脈 < suimyaku\ ;
+半世紀 < hanseiki\ ;
+酵母菌 < koubokin\ ;
+神棚 < kamidana\ ;
+冷罨法 < reianpou\ ;
+古物 < furumono\ ;
+愛蔵版 < aizouban\ ;
+快絶 < kaizetsu\ ;
+御偉方 < oeragata\ ;
+記数法 < kisuuhou\ ;
+空下手 < karaheta\ ;
+金物 < kanamono\ ;
+神格 < shinkaku\ ;
+禿山 < hageyama\ ;
+十薬 < dokudami\ ;
+不健康 < fukenkou\ ;
+沈痛 < chintsuu\ ;
+急病 < kyuubyou\ ;
+探検家 < tankenka\ ;
+石鏃 < sekizoku\ ;
+大気圏 < taikiken\ ;
+獅子吼 < shishiku\ ;
+税別 < zeibetsu\ ;
+代理権 < dairiken\ ;
+物件費 < bukkenhi\ ;
+黒幕 < kuromaku\ ;
+祝杯 < shukuhai\ ;
+悪擦 < waruzure\ ;
+正規兵 < seikihei\ ;
+再配布 < saihaifu\ ;
+鼻先 < hanasaki\ ;
+神月 < koudzuki\ ;
+民草 < tamigusa\ ;
+四畳半 < yojouhan\ ;
+活弁 < katsuben\ ;
+展示会 < tenjikai\ ;
+大都市 < daitoshi\ ;
+和室 < washitsu\ ;
+先学期 < sengakki\ ;
+悪洒落 < warujare\ ;
+釈然 < shakuzen\ ;
+自民党 < jimintou\ ;
+医療品 < iryouhin\ ;
+内沙汰 < uchizata\ ;
+哲人 < tetsujin\ ;
+福徳 < fukutoku\ ;
+黒山 < kuroyama\ ;
+勿論 < mochiron\ ;
+分光器 < bunkouki\ ;
+怪物 < kaibutsu\ ;
+親不孝 < oyafukou\ ;
+福引 < fukubiki\ ;
+卒者 < sotsusha\ ;
+縁起物 < engimono\ ;
+流星雨 < ryuuseiu\ ;
+原発 < genpatsu\ ;
+割高 < waridaka\ ;
+著述 < chojutsu\ ;
+年貢米 < nengumai\ ;
+厚皮 < atsukawa\ ;
+洗浄器 < senjouki\ ;
+毛虱 < kejirami\ ;
+循環器 < junkanki\ ;
+酒糟 < sakekasu\ ;
+無理矢理 < muriyari\ ;
+健康児 < kenkouji\ ;
+税理士 < zeirishi\ ;
+引金 < hikigane\ ;
+古河 < furukawa\ ;
+人情味 < ninjoumi\ ;
+等語線 < tougosen\ ;
+毒蛇 < dokuhebi\ ;
+十字線 < juujisen\ ;
+不使用 < fushiyou\ ;
+一生面 < isseimen\ ;
+旅行記 < ryokouki\ ;
+鉄床 < kanatoko\ ;
+個体群 < kotaigun\ ;
+名曲 < meikyoku\ ;
+口蓋音 < kougaion\ ;
+同月 < dougetsu\ ;
+圧延機 < atsuenki\ ;
+和声法 < waseihou\ ;
+占算 < urayasan\ ;
+高頻度 < kouhindo\ ;
+小豆色 < azukiiro\ ;
+毒薬 < dokuyaku\ ;
+厳美渓 < genbikei\ ;
+決然 < ketsuzen\ ;
+示威運動 < jiiundou\ ;
+火山弾 < kazandan\ ;
+半諧音 < hankaion\ ;
+情実 < joujitsu\ ;
+秋口 < akiguchi\ ;
+取決 < torikime\ ;
+同日 < doujitsu\ ;
+祭式 < saishiki\ ;
+虐使 < gyakushi\ ;
+沐浴 < mokuyoku\ ;
+鉄山 < tetsuzan\ ;
+求法者 < guhousha\ ;
+火山帯 < kazantai\ ;
+洞察 < dousatsu\ ;
+下駄箱 < getabako\ ;
+道順 < michijun\ ;
+神徳 < shintoku\ ;
+芝海老 < shibaebi\ ;
+大分県 < ooitaken\ ;
+復籍 < fukuseki\ ;
+山羊髭 < yagihige\ ;
+瀬戸際 < setogiwa\ ;
+毒茸 < dokutake\ ;
+延金 < nobegane\ ;
+碌碌 < rokuroku\ ;
+銭亀 < zenigame\ ;
+火山島 < kazantou\ ;
+一夫一婦 < ippuippu\ ;
+歯車 < haguruma\ ;
+不審火 < fushinbi\ ;
+奉仕女 < houshime\ ;
+火山岩 < kazangan\ ;
+引越 < hikkoshi\ ;
+剃髪 < teihatsu\ ;
+忽然 < kotsuzen\ ;
+玉砂利 < tamajari\ ;
+一分半 < ippunhan\ ;
+古株 < furukabu\ ;
+花鳥画 < kachouga\ ;
+無菌法 < mukinhou\ ;
+悄悄 < sugosugo\ ;
+無免許 < mumenkyo\ ;
+待避線 < taihisen\ ;
+硬筆 < kouhitsu\ ;
+年賀状 < nengajou\ ;
+古参者 < kosansha\ ;
+必着 < hitchaku\ ;
+五分五分 < gobugobu\ ;
+古服 < furufuku\ ;
+分岐点 < bunkiten\ ;
+侍従官 < jijuukan\ ;
+内野手 < naiyashu\ ;
+油送管 < yusoukan\ ;
+水瓶 < mizugame\ ;
+誘蛾灯 < yuugatou\ ;
+心的 < shinteki\ ;
+計理士 < keirishi\ ;
+雑貨店 < zakkaten\ ;
+座右銘 < zayuumei\ ;
+吾子 < wagimoko\ ;
+子音性 < shiinsei\ ;
+気短 < kimijika\ ;
+得策 < tokusaku\ ;
+勅裁 < chokusai\ ;
+期待感 < kitaikan\ ;
+適量 < tekiryou\ ;
+心痛 < shintsuu\ ;
+運動家 < undousha\ ;
+金星 < kinboshi\ ;
+愚連隊 < gurentai\ ;
+原子雲 < genshiun\ ;
+代理店 < dairiten\ ;
+弾薬 < dan''yaku\ ;
+水玉 < mizutama\ ;
+禁圧 < kin''atsu\ ;
+徳目 < tokumoku\ ;
+諸器械 < shokikai\ ;
+里方 < satokata\ ;
+法律 < houritsu\ ;
+釈明 < shakumei\ ;
+操舵手 < soudashu\ ;
+出歯亀 < debakame\ ;
+不健全 < fukenzen\ ;
+活動 < katsudou\ ;
+黒円 < kuromaru\ ;
+相補性 < souhosei\ ;
+水物 < mizumono\ ;
+得票 < tokuhyou\ ;
+初期値 < shokichi\ ;
+派出 < hashutsu\ ;
+釈放 < shakuhou\ ;
+接頭辞 < settouji\ ;
+生徒会 < seitokai\ ;
+流入 < ryuunyuu\ ;
+残虐 < zangyaku\ ;
+薬屋 < kusuriya\ ;
+薬局 < yakkyoku\ ;
+硬直 < kouchoku\ ;
+合式 < goushiki\ ;
+神妙 < shinmyou\ ;
+遠道 < toomichi\ ;
+預言者 < yogensha\ ;
+当職 < toushoku\ ;
+底革 < sokogawa\ ;
+薬学 < yakugaku\ ;
+福助 < fukusuke\ ;
+開催日 < kaisaibi\ ;
+胴間声 < doumagoe\ ;
+背番号 < sebangou\ ;
+浮浪者 < furousha\ ;
+会員券 < kaiinken\ ;
+会員制 < kaiinsei\ ;
+毛筆 < mouhitsu\ ;
+英米法 < eibeihou\ ;
+去月 < kyogetsu\ ;
+着駅 < chakueki\ ;
+合理論 < gouriron\ ;
+大部分 < daibubun\ ;
+恐悦 < kyouetsu\ ;
+蔭様 < kagesama\ ;
+神域 < shin''iki\ ;
+千生 < sen''nari\ ;
+薄弱 < hakujaku\ ;
+五角形 < gokakkei\ ;
+中規模 < chuukibo\ ;
+必然 < hitsuzen\ ;
+大都会 < daitokai\ ;
+護送車 < gosousha\ ;
+重手代 < omotedai\ ;
+同局 < doukyoku\ ;
+蒸着 < jouchaku\ ;
+広報部 < kouhoubu\ ;
+半玉 < hangyoku\ ;
+逆風 < gyakufuu\ ;
+分骨 < bunkotsu\ ;
+後鳥羽院 < gotobain\ ;
+幼顔 < osanagao\ ;
+同宿 < doushuku\ ;
+名実 < meijitsu\ ;
+止血 < shiketsu\ ;
+動脈 < doumyaku\ ;
+着順 < chakujun\ ;
+蒸発 < jouhatsu\ ;
+逆順 < gyakujun\ ;
+合宿 < gasshuku\ ;
+劇評 < gekihyou\ ;
+酸欠 < sanketsu\ ;
+後発 < kouhatsu\ ;
+三杯酢 < sanbaizu\ ;
+節炭器 < settanki\ ;
+鉄分 < tetsubun\ ;
+希望者 < kibousha\ ;
+外科学 < gekagaku\ ;
+刑事犯 < keijihan\ ;
+配線図 < haisenzu\ ;
+機械論 < kikairon\ ;
+着電 < chakuden\ ;
+川秋沙 < kawaaisa\ ;
+友成 < tomonari\ ;
+文化圏 < bunkaken\ ;
+接頭語 < settougo\ ;
+水洟 < mizubana\ ;
+事故歴 < jikoreki\ ;
+前述 < zenjutsu\ ;
+割譲 < katsujou\ ;
+山小屋 < yamagoya\ ;
+原曲 < genkyoku\ ;
+糸蜻蛉 < itotonbo\ ;
+十重二十重 < toehatae\ ;
+後産 < nochizan\ ;
+移転先 < itensaki\ ;
+落莫 < rakubaku\ ;
+適評 < tekihyou\ ;
+蓋物 < futamono\ ;
+出馬 < shutsuba\ ;
+水没 < suibotsu\ ;
+御物 < gyobutsu\ ;
+大勲位 < daikun''i\ ;
+当節 < tousetsu\ ;
+吸口 < suikuchi\ ;
+大目玉 < oomedama\ ;
+官公吏 < kankouri\ ;
+悋嗇 < rinshoku\ ;
+協議員 < kyougiin\ ;
+軍事犯 < gunjihan\ ;
+随行員 < zuikouin\ ;
+一辺倒 < ippentou\ ;
+針山 < hariyama\ ;
+取引 < torihiki\ ;
+没年 < botsunen\ ;
+史実 < shijitsu\ ;
+葉脈 < youmyaku\ ;
+台密 < taimitsu\ ;
+現代語 < gendaigo\ ;
+達識 < tasshiki\ ;
+麦作 < mugisaku\ ;
+不導性 < fudousei\ ;
+性悪 < shouwaru\ ;
+理容師 < riyoushi\ ;
+従物 < juubutsu\ ;
+乱高下 < rankouge\ ;
+役畜 < ekichiku\ ;
+凡骨 < bonkotsu\ ;
+金屑 < kanakuzu\ ;
+必殺 < hissatsu\ ;
+古寺 < furudera\ ;
+社交家 < shakouka\ ;
+洛中 < rakuchuu\ ;
+凸面 < totsumen\ ;
+文化史 < bunkashi\ ;
+吸入 < kyuunyuu\ ;
+不用品 < fuyouhin\ ;
+到達 < toutatsu\ ;
+口実 < koujitsu\ ;
+透明度 < toumeido\ ;
+不定法 < futeihou\ ;
+劇薬 < gekiyaku\ ;
+短縮 < tanshuku\ ;
+温排水 < onhaisui\ ;
+冷麦 < hiyamugi\ ;
+祝典 < shukuten\ ;
+出陳 < shutchin\ ;
+航空路 < koukuuro\ ;
+葛籠 < tsudzura\ ;
+資産家 < shisanka\ ;
+類似点 < ruijiten\ ;
+淡水湖 < tansuiko\ ;
+広報課 < kouhouka\ ;
+徳沢 < tokutaku\ ;
+釈尊 < shakuson\ ;
+平鍋 < hiranabe\ ;
+酒樽 < sakadaru\ ;
+弁舌 < benzetsu\ ;
+小人数 < koninzuu\ ;
+愛知県 < aichiken\ ;
+追録 < tsuiroku\ ;
+恋妻 < koidzuma\ ;
+復活 < fukkatsu\ ;
+人造藍 < jinzouai\ ;
+医学者 < igakusha\ ;
+悪感情 < akkanjou\ ;
+恫喝 < doukatsu\ ;
+未処分 < mishobun\ ;
+差配人 < sahainin\ ;
+低頻度 < teihindo\ ;
+作為犯 < sakuihan\ ;
+剣術 < kenjutsu\ ;
+厳律 < genritsu\ ;
+歯科用 < shikayou\ ;
+劫罰 < goubatsu\ ;
+彫琢 < choutaku\ ;
+化物 < bakemono\ ;
+薪割 < makiwari\ ;
+当直 < touchoku\ ;
+再処理 < saishori\ ;
+副虹 < fukuniji\ ;
+花茣蓙 < hanagoza\ ;
+北爆 < hokubaku\ ;
+玄武岩 < genbugan\ ;
+常食 < joushoku\ ;
+鰐鮫 < wanizame\ ;
+注入 < chuunyuu\ ;
+急峻 < kyuushun\ ;
+液状化 < ekijouka\ ;
+無利息 < murisoku\ ;
+陣羽織 < jinbaori\ ;
+鳩胸 < hatomune\ ;
+戦闘機 < sentouki\ ;
+有意的 < yuuiteki\ ;
+店賃 < tanachin\ ;
+問題児 < mondaiji\ ;
+心根 < kokorone\ ;
+冬鳥 < fuyudori\ ;
+協業 < kyougyou\ ;
+債務者 < saimusha\ ;
+凝集 < gyoushuu\ ;
+一騎討 < ikkiuchi\ ;
+補給路 < hokyuuro\ ;
+送達 < soutatsu\ ;
+彫物 < horimono\ ;
+底豆 < sokomame\ ;
+鳥肌 < torihada\ ;
+鳥肉 < toriniku\ ;
+母物 < hahamono\ ;
+形 < katachi\ ;
+轍 < wadachi\ ;
+巷 < chimata\ ;
+跣 < hadashi\ ;
+趣 < omomuki\ ;
+局 < tsubone\ ;
+寧 < mushiro\ ;
+獺 < kawauso\ ;
+狐 < kitsune\ ;
+嫂 < aniyome\ ;
+話 < hanashi\ ;
+燕 < tsubame\ ;
+滴 < shizuku\ ;
+湖 < mizuumi\ ;
+剣 < tsurugi\ ;
+凝 < shikori\ ;
+冠 < kanmuri\ ;
+椿 < tsubaki\ ;
+梟 < fukurou\ ;
+頂 < itadaki\ ;
+柱 < hashira\ ;
+俎 < manaita\ ;
+林 < hayashi\ ;
+侍 < samurai\ ;
+羊 < hitsuji\ ;
+東 < higashi\ ;
+昔 < mukashi\ ;
+経 < tateito\ ;
+錦 < nishiki\ ;
+私 < watashi\ ;
+祭 < matsuri\ ;
+社 < yashiro\ ;
+確 < tashika\ ;
+邸 < yashiki\ ;
+社共 < shakyou\ ;
+心材 < shinzai\ ;
+近間 < chikama\ ;
+去就 < kyoshuu\ ;
+前表 < zenpyou\ ;
+君側 < kunsoku\ ;
+追送 < tsuisou\ ;
+占有 < sen''yuu\ ;
+忌日 < kinichi\ ;
+占書 < urabumi\ ;
+帳面 < choumen\ ;
+直音 < chokuon\ ;
+功績 < kouseki\ ;
+民業 < mingyou\ ;
+薄命 < hakumei\ ;
+席順 < sekijun\ ;
+益鳥 < ekichou\ ;
+沖天 < chuuten\ ;
+下層土 < kasoudo\ ;
+応接 < ousetsu\ ;
+瞠若 < doujaku\ ;
+起動機 < kidouki\ ;
+後流 < kouryuu\ ;
+召喚 < shoukan\ ;
+引算 < hikizan\ ;
+帯革 < obikawa\ ;
+出金 < shukkin\ ;
+十字架 < juujika\ ;
+叫喚 < kyoukan\ ;
+吉凶 < kikkyou\ ;
+重圧 < juuatsu\ ;
+述部 < jutsubu\ ;
+鷲座 < washiza\ ;
+弓箭 < kyuusen\ ;
+分進 < bunshin\ ;
+菩薩 < bosatsu\ ;
+分速 < funsoku\ ;
+水撃 < suigeki\ ;
+沢地 < sawachi\ ;
+切迫 < seppaku\ ;
+南朝 < nanchou\ ;
+人工雨 < jinkouu\ ;
+念念 < nen''nen\ ;
+Ｎ響 < enukyou\ ;
+正続 < seizoku\ ;
+落第 < rakudai\ ;
+釣合 < tsuriai\ ;
+正絹 < shouken\ ;
+餓鬼道 < gakidou\ ;
+厳容 < gen''you\ ;
+進行 < shinkou\ ;
+吉兆 < kitchou\ ;
+不定期 < futeiki\ ;
+動的 < douteki\ ;
+同僚 < douryou\ ;
+正経 < seikyou\ ;
+北満 < hokuman\ ;
+半格 < hankaku\ ;
+通謀 < tsuubou\ ;
+模擬店 < mogiten\ ;
+召命 < shoumei\ ;
+通論 < tsuuron\ ;
+序説 < josetsu\ ;
+泥中 < deichuu\ ;
+底角 < teikaku\ ;
+割興 < warikou\ ;
+徳望 < tokubou\ ;
+急変 < kyuuhen\ ;
+口唇 < koushin\ ;
+鳥網 < toriami\ ;
+恭倹 < kyouken\ ;
+叫号 < kyougou\ ;
+古武道 < kobudou\ ;
+栄養素 < eiyouso\ ;
+刺衝 < shishou\ ;
+幽谷 < yuukoku\ ;
+鄙歌 < hinauta\ ;
+段物 < danmono\ ;
+同信 < doushin\ ;
+石盤 < sekiban\ ;
+死票 < shihyou\ ;
+割腹 < kappuku\ ;
+廐舎 < kyuusha\ ;
+通計 < tsuukei\ ;
+台北 < taihoku\ ;
+勤王 < kin''nou\ ;
+快復 < kaifuku\ ;
+民有 < min''yuu\ ;
+歴程 < rekitei\ ;
+破滅 < hametsu\ ;
+急増 < kyuuzou\ ;
+通解 < tsuukai\ ;
+判読 < handoku\ ;
+重唱 < juushou\ ;
+名作 < meisaku\ ;
+通観 < tsuukan\ ;
+弔祭 < chousai\ ;
+各停 < kakutei\ ;
+恩借 < onshaku\ ;
+史劇 < shigeki\ ;
+北洋 < hokuyou\ ;
+通覧 < tsuuran\ ;
+適者 < tekisha\ ;
+副腎 < fukujin\ ;
+社中 < shachuu\ ;
+追贈 < tsuizou\ ;
+急報 < kyuuhou\ ;
+師長 < shichou\ ;
+刀身 < toushin\ ;
+加筆 < kahitsu\ ;
+去声 < kyoshou\ ;
+名代 < myoudai\ ;
+匡正 < kyousei\ ;
+身勝手 < migatte\ ;
+合作 < gassaku\ ;
+無利子 < murishi\ ;
+従業 < juugyou\ ;
+半時 < hantoki\ ;
+落磐 < rakuban\ ;
+原審 < genshin\ ;
+毒液 < dokueki\ ;
+彼氏 < kareshi\ ;
+帝陵 < teiryou\ ;
+徳政 < tokusei\ ;
+民族 < minzoku\ ;
+遠耳 < toomimi\ ;
+瑠璃色 < ruriiro\ ;
+名主 < nanushi\ ;
+急坂 < kyuuhan\ ;
+初診 < shoshin\ ;
+広角 < koukaku\ ;
+吉事 < kitsuji\ ;
+氏族 < shizoku\ ;
+弔砲 < chouhou\ ;
+建策 < kensaku\ ;
+前葉 < zen''you\ ;
+通行 < tsuukou\ ;
+同一 < douitsu\ ;
+幾許 < ikubaku\ ;
+重厚 < choukou\ ;
+荷送 < niokuri\ ;
+復旧 < fukkyuu\ ;
+胃腸炎 < ichouen\ ;
+没収 < bosshuu\ ;
+廻章 < kaishou\ ;
+博捜 < hakusou\ ;
+知的 < chiteki\ ;
+各人 < kakujin\ ;
+残留 < zanryuu\ ;
+起動時 < kidouji\ ;
+幕軍 < bakugun\ ;
+建立 < konryuu\ ;
+沃地 < yokuchi\ ;
+遊興 < yuukyou\ ;
+復文 < fukubun\ ;
+合一 < gouitsu\ ;
+別表 < beppyou\ ;
+副署 < fukusho\ ;
+受取 < uketori\ ;
+心房 < shinbou\ ;
+古刹 < kosatsu\ ;
+労相 < roushou\ ;
+郭清 < kakusei\ ;
+出走 < shussou\ ;
+幻覚 < genkaku\ ;
+剛腹 < goufuku\ ;
+殺陣師 < tateshi\ ;
+類義語 < ruigigo\ ;
+歯石 < shiseki\ ;
+家計簿 < kakeibo\ ;
+恥丘 < chikyuu\ ;
+全麦 < zenbaku\ ;
+博打 < bakuchi\ ;
+追認 < tsuinin\ ;
+量刑 < ryoukei\ ;
+重刻 < juukoku\ ;
+確守 < kakushu\ ;
+登記簿 < toukibo\ ;
+追試 < tsuishi\ ;
+出資 < shusshi\ ;
+真贋 < shingan\ ;
+気持 < kimochi\ ;
+重母音 < juuboin\ ;
+平角 < heikaku\ ;
+正確 < seikaku\ ;
+追討 < tsuitou\ ;
+毬栗 < igaguri\ ;
+死病 < shibyou\ ;
+共鳴 < kyoumei\ ;
+反収 < tanshuu\ ;
+遅知恵 < osodjie\ ;
+忖度 < sontaku\ ;
+帯金 < obigane\ ;
+荘重 < souchou\ ;
+大過去 < daikako\ ;
+心情 < shinjou\ ;
+匹敵 < hitteki\ ;
+部活 < bukatsu\ ;
+野兎 < nousagi\ ;
+永年 < naganen\ ;
+加算器 < kasanki\ ;
+逆行 < gyakkou\ ;
+大相撲 < oozumou\ ;
+迅速 < jinsoku\ ;
+機能語 < kinougo\ ;
+後書 < atogaki\ ;
+前膊 < zenpaku\ ;
+金側 < kingawa\ ;
+心性 < shinsei\ ;
+述語 < jutsugo\ ;
+碧山 < hekizan\ ;
+沈吟 < chingin\ ;
+有気音 < yuukion\ ;
+前脳 < zen''nou\ ;
+年表 < nenpyou\ ;
+前脚 < maeashi\ ;
+歎称 < tanshou\ ;
+出講 < shukkou\ ;
+不条理 < fujouri\ ;
+刺草 < irakusa\ ;
+千振 < senburi\ ;
+心得 < kokoroe\ ;
+恒久 < koukyuu\ ;
+只今 < tadaima\ ;
+反則 < hansoku\ ;
+口供 < koukyou\ ;
+強火 < tsuyobi\ ;
+恋仲 < koinaka\ ;
+死球 < shikyuu\ ;
+助番 < sukeban\ ;
+後日 < gonichi\ ;
+配役 < haiyaku\ ;
+恋人 < koibito\ ;
+大道具 < oodougu\ ;
+定位置 < teiichi\ ;
+怪力 < kairiki\ ;
+征服 < seifuku\ ;
+母様 < kaasama\ ;
+真諦 < shintei\ ;
+弱点 < jakuten\ ;
+連荘 < renchan\ ;
+円顔 < marugao\ ;
+盲進 < moushin\ ;
+忠孝 < chuukou\ ;
+鳥瞰 < choukan\ ;
+幼虫 < youchuu\ ;
+落球 < rakkyuu\ ;
+巨額 < kyogaku\ ;
+割算 < warizan\ ;
+運送屋 < unsouya\ ;
+造営費 < zoueihi\ ;
+反共 < hankyou\ ;
+残照 < zanshou\ ;
+北東 < hokutou\ ;
+逸聞 < itsubun\ ;
+酒席 < shuseki\ ;
+石炭 < sekitan\ ;
+氷山 < hyouzan\ ;
+引率 < insotsu\ ;
+延着 < enchaku\ ;
+氷屋 < kooriya\ ;
+危局 < kikyoku\ ;
+蒙古語 < moukogo\ ;
+凸角 < tokkaku\ ;
+目送 < mokusou\ ;
+機械科 < kikaika\ ;
+直輸 < chokuyu\ ;
+砕氷 < saihyou\ ;
+真言 < shingon\ ;
+建白 < kenpaku\ ;
+武略 < buryaku\ ;
+性分 < shoubun\ ;
+冗長 < jouchou\ ;
+確報 < kakuhou\ ;
+座職 < zashoku\ ;
+口中 < kouchuu\ ;
+冷酷 < reikoku\ ;
+次年度 < jinendo\ ;
+殴殺 < ousatsu\ ;
+入魂 < nyuukon\ ;
+志学 < shigaku\ ;
+多重化 < tajuuka\ ;
+往日 < oujitsu\ ;
+求婚 < kyuukon\ ;
+延発 < enpatsu\ ;
+千代女 < chiyojo\ ;
+真西 < manishi\ ;
+古社寺 < koshaji\ ;
+弓状 < kyuujou\ ;
+醜名 < shuumei\ ;
+民心 < minshin\ ;
+権高 < kendaka\ ;
+一層目 < issoume\ ;
+民徳 < mintoku\ ;
+反俗 < hanzoku\ ;
+決勝 < kesshou\ ;
+内陸 < nairiku\ ;
+直路 < chokuro\ ;
+適確 < tekkaku\ ;
+茶釜 < chagama\ ;
+娑婆気 < shabake\ ;
+辛酸 < shinsan\ ;
+希釈 < kishaku\ ;
+凶行 < kyoukou\ ;
+毎朝 < maichou\ ;
+白鯨 < hakugei\ ;
+半弓 < hankyuu\ ;
+励磁機 < reijiki\ ;
+不首尾 < fushubi\ ;
+初荷 < hatsuni\ ;
+北支 < hokushi\ ;
+悪感化 < akkanka\ ;
+待避所 < taihijo\ ;
+内閲 < naietsu\ ;
+内閣 < naikaku\ ;
+配属 < haizoku\ ;
+蔵匿 < zoutoku\ ;
+師走 < shiwasu\ ;
+沈倫 < chinrin\ ;
+酒客 < shukaku\ ;
+比日 < hinichi\ ;
+原告 < genkoku\ ;
+四股名 < shikona\ ;
+白魚 < shirauo\ ;
+半年 < han''nen\ ;
+運筆 < unpitsu\ ;
+鷹匠 < takajou\ ;
+歴然 < rekizen\ ;
+不人気 < funinki\ ;
+公領 < kouryou\ ;
+近親 < kinshin\ ;
+急使 < kyuushi\ ;
+剽盗 < hyoutou\ ;
+幼若 < youjaku\ ;
+西欧化 < seiouka\ ;
+全額 < zengaku\ ;
+標高 < hyoukou\ ;
+即売 < sokubai\ ;
+二階屋 < nikaiya\ ;
+千度 < chitabi\ ;
+強気 < tsuyoki\ ;
+棒暗記 < bouanki\ ;
+庁舎 < chousha\ ;
+劇界 < gekikai\ ;
+千年 < chitose\ ;
+不一致 < fuitchi\ ;
+血反吐 < chihedo\ ;
+劇甚 < gekijin\ ;
+横顔 < yokogao\ ;
+曳火弾 < eikadan\ ;
+勧業 < kangyou\ ;
+凝視 < gyoushi\ ;
+刺繍 < shishuu\ ;
+瞠目 < doumoku\ ;
+再録 < sairoku\ ;
+真虫 < mamushi\ ;
+鳥獣 < choujuu\ ;
+徹宵 < tesshou\ ;
+卑屈 < hikutsu\ ;
+加熱 < kanetsu\ ;
+簡素化 < kansoka\ ;
+個体差 < kotaisa\ ;
+再鋳 < saichuu\ ;
+氷塊 < hyoukai\ ;
+同音語 < douongo\ ;
+卒寿 < sotsuju\ ;
+強欲 < gouyoku\ ;
+協定 < kyoutei\ ;
+兵長 < heichou\ ;
+酌婦 < shakufu\ ;
+砲撃 < hougeki\ ;
+気密 < kimitsu\ ;
+選球 < senkyuu\ ;
+原則 < gensoku\ ;
+共闘 < kyoutou\ ;
+乗務員 < joumuin\ ;
+直諫 < chokkan\ ;
+裏木戸 < urakido\ ;
+発馬 < hatsuba\ ;
+刺絡 < shiraku\ ;
+全集 < zenshuu\ ;
+卓子 < teiburu\ ;
+直談 < jikidan\ ;
+入電 < nyuuden\ ;
+前章 < zenshou\ ;
+石段 < ishidan\ ;
+武烈 < buretsu\ ;
+直話 < chokuwa\ ;
+磁力 < jiryoku\ ;
+水垢 < mizuaka\ ;
+平臼 < hirausu\ ;
+役所 < yakusho\ ;
+適用 < tekiyou\ ;
+連続 < renzoku\ ;
+卵嚢 < ran''nou\ ;
+氏寺 < ujidera\ ;
+入隊 < nyuutai\ ;
+心外 < shingai\ ;
+金毘羅 < konpira\ ;
+半宵 < hanshou\ ;
+連絡 < renraku\ ;
+制約 < seiyaku\ ;
+瞑目 < meimoku\ ;
+力点 < rikiten\ ;
+水圧 < suiatsu\ ;
+幻聴 < genchou\ ;
+標題 < hyoudai\ ;
+氷嚢 < hyounou\ ;
+念力 < nenriki\ ;
+無造作 < muzousa\ ;
+直覧 < jikiran\ ;
+千尋 < chihiro\ ;
+全長 < zenchou\ ;
+博大 < hakudai\ ;
+十二時 < juuniji\ ;
+落涙 < rakurui\ ;
+内金 < uchikin\ ;
+登頂 < touchou\ ;
+盗賊 < touzoku\ ;
+博士 < hakushi\ ;
+意想外 < isougai\ ;
+不安定 < fuantei\ ;
+発音 < hatsuon\ ;
+入門 < nyuumon\ ;
+毒手 < dokushu\ ;
+石橋 < sekkyou\ ;
+真菌 < shinkin\ ;
+白面 < hakumen\ ;
+徹夜 < tetsuya\ ;
+陰電気 < indenki\ ;
+石槨 < sekkaku\ ;
+切腹 < seppuku\ ;
+忠君 < chuukun\ ;
+薄馬鹿 < usubaka\ ;
+蔵人 < kuroudo\ ;
+年老 < toshioi\ ;
+苔類 < kokerui\ ;
+丁字路 < teijiro\ ;
+発露 < hatsuro\ ;
+兇類 < kyourui\ ;
+途絶 < tozetsu\ ;
+直行 < chokkou\ ;
+力漕 < rikisou\ ;
+占地 < shimeji\ ;
+心地 < kokochi\ ;
+提示部 < teijibu\ ;
+先頃 < senkoro\ ;
+死毒 < shidoku\ ;
+慰問品 < imonhin\ ;
+府立 < furitsu\ ;
+原作 < gensaku\ ;
+印哲 < intetsu\ ;
+冷評 < reihyou\ ;
+心因 < shin''in\ ;
+速算 < sokusan\ ;
+厄前 < yakumae\ ;
+残業 < zangyou\ ;
+荒行 < aragyou\ ;
+内通 < naitsuu\ ;
+親文字 < oyamoji\ ;
+勝景 < shoukei\ ;
+瞭然 < ryouzen\ ;
+従属 < juuzoku\ ;
+弦楽 < gengaku\ ;
+劃然 < kakuzen\ ;
+即吟 < sokugin\ ;
+千姫 < senhime\ ;
+忠勤 < chuukin\ ;
+忠勇 < chuuyuu\ ;
+理財家 < rizaika\ ;
+冷覚 < reikaku\ ;
+通算 < tsuusan\ ;
+逆縁 < gyakuen\ ;
+有耶無耶 < uyamuya\ ;
+稽古日 < keikobi\ ;
+初級 < shokyuu\ ;
+毒性 < dokusei\ ;
+巡遊 < jun''yuu\ ;
+従容 < shouyou\ ;
+南国 < nangoku\ ;
+二塁打 < niruida\ ;
+強暴 < kyoubou\ ;
+幕舎 < bakusha\ ;
+氷原 < hyougen\ ;
+平織 < hiraori\ ;
+応力 < ouryoku\ ;
+勝敗 < shouhai\ ;
+手相見 < tesoumi\ ;
+求刑 < kyuukei\ ;
+夜盗蛾 < yotouga\ ;
+巻貝 < makigai\ ;
+式次 < shikiji\ ;
+写象 < shashou\ ;
+女性美 < joseibi\ ;
+残柱 < zanchuu\ ;
+石材 < sekizai\ ;
+風邪声 < kazegoe\ ;
+厭世家 < enseika\ ;
+邦楽 < hougaku\ ;
+剣玉 < kendama\ ;
+北嶺 < hokurei\ ;
+年給 < nenkyuu\ ;
+全量 < zenryou\ ;
+後学 < kougaku\ ;
+還流 < kanryuu\ ;
+即刻 < sokkoku\ ;
+凶聞 < kyoubun\ ;
+民国 < minkoku\ ;
+入金 < nyuukin\ ;
+剛球 < goukyuu\ ;
+熨斗目 < noshime\ ;
+半国 < hangoku\ ;
+永別 < eibetsu\ ;
+酷使 < kokushi\ ;
+快作 < kaisaku\ ;
+印刷 < insatsu\ ;
+追納 < tsuinou\ ;
+氷刃 < hyoujin\ ;
+陰謀家 < inbouka\ ;
+六道 < rokudou\ ;
+北岸 < hokugan\ ;
+送籍 < souseki\ ;
+別称 < besshou\ ;
+随意筋 < zuiikin\ ;
+庭番 < niwaban\ ;
+農薬 < nouyaku\ ;
+遊猟 < yuuryou\ ;
+登録 < touroku\ ;
+占卜 < senboku\ ;
+手加減 < tekagen\ ;
+讚美歌 < sanbika\ ;
+葉月 < hadzuki\ ;
+巨賊 < kyozoku\ ;
+華燭 < kashoku\ ;
+当惑 < touwaku\ ;
+分納 < bun''nou\ ;
+初穂 < hatsuho\ ;
+必勝 < hisshou\ ;
+白銑 < hakusen\ ;
+全速 < zensoku\ ;
+入選 < nyuusen\ ;
+全通 < zentsuu\ ;
+白銅 < hakudou\ ;
+白銀 < hakugin\ ;
+入道 < nyuudou\ ;
+邪曲 < jakyoku\ ;
+卜占 < bokusen\ ;
+同位体 < douitai\ ;
+工賃 < kouchin\ ;
+氷像 < hyouzou\ ;
+類音語 < ruiongo\ ;
+遊牧 < yuuboku\ ;
+週番 < shuuban\ ;
+心労 < shinrou\ ;
+初秋 < shoshuu\ ;
+幾程 < ikuhodo\ ;
+残敵 < zanteki\ ;
+通研 < tsuuken\ ;
+協同 < kyoudou\ ;
+平等 < byoudou\ ;
+叉手網 < sadeami\ ;
+即値 < sokuchi\ ;
+通知 < tsuuchi\ ;
+療養 < ryouyou\ ;
+年端 < toshiha\ ;
+庭球 < teikyuu\ ;
+殉教 < junkyou\ ;
+歌沢 < utazawa\ ;
+勁敵 < keiteki\ ;
+再調 < saichou\ ;
+再読 < saidoku\ ;
+求人 < kyuujin\ ;
+功業 < kougyou\ ;
+色黒 < iroguro\ ;
+南北 < nanboku\ ;
+小綬鶏 < kojukei\ ;
+博労 < bakurou\ ;
+晴雨計 < seiukei\ ;
+文庫化 < bunkoka\ ;
+破局 < hakyoku\ ;
+正業 < seigyou\ ;
+野次馬 < yajiuma\ ;
+帯芯 < obishin\ ;
+半周 < hanshuu\ ;
+遡源 < sakugen\ ;
+全身 < zenshin\ ;
+毒害 < dokugai\ ;
+街路樹 < gairoju\ ;
+内諾 < naidaku\ ;
+幸福 < koufuku\ ;
+勤恪 < kinkaku\ ;
+出精 < shussei\ ;
+復命 < fukumei\ ;
+若造 < wakazou\ ;
+店番 < miseban\ ;
+魍魎 < mouryou\ ;
+控訴院 < kousoin\ ;
+適法 < tekihou\ ;
+優長 < yuuchou\ ;
+忙中 < bouchuu\ ;
+卑劣 < hiretsu\ ;
+利発 < rihatsu\ ;
+仙人掌 < saboten\ ;
+復号 < fukugou\ ;
+心像 < shinzou\ ;
+連用 < ren''you\ ;
+気力 < kiryoku\ ;
+段平 < danbira\ ;
+共販 < kyouhan\ ;
+内証 < naishou\ ;
+内診 < naishin\ ;
+削片 < sakuhen\ ;
+復原 < fukugen\ ;
+発進 < hasshin\ ;
+弔文 < choubun\ ;
+北天 < hokuten\ ;
+北大 < hokudai\ ;
+元金 < motokin\ ;
+若輩 < jakuhai\ ;
+益虫 < ekichuu\ ;
+徳利 < tokkuri\ ;
+勁捷 < keishou\ ;
+必修 < hisshuu\ ;
+盲腸 < mouchou\ ;
+徳分 < tokubun\ ;
+蒸器 < mushiki\ ;
+微力 < biryoku\ ;
+匿名 < tokumei\ ;
+庵点 < ioriten\ ;
+延棒 < nobebou\ ;
+常習 < joushuu\ ;
+制球 < seikyuu\ ;
+分秒 < funbyou\ ;
+歓楽 < kanraku\ ;
+水中 < suichuu\ ;
+部局 < bukyoku\ ;
+凍肉 < touniku\ ;
+通用 < tsuuyou\ ;
+草色 < kusairo\ ;
+北境 < hokkyou\ ;
+魂魄 < konpaku\ ;
+徴兵 < chouhei\ ;
+配信 < haishin\ ;
+逗留 < touryuu\ ;
+適正 < tekisei\ ;
+正朝 < seichou\ ;
+正朔 < seisaku\ ;
+凄腕 < sugoude\ ;
+光速 < kousoku\ ;
+勘忍 < kan''nin\ ;
+先進 < senshin\ ;
+先週 < senshuu\ ;
+入貢 < nyuukou\ ;
+酒代 < sakadai\ ;
+白身 < shiromi\ ;
+巫術 < fujutsu\ ;
+速球 < sokkyuu\ ;
+返納 < hen''nou\ ;
+復刻 < fukkoku\ ;
+軽震 < keishin\ ;
+荒肝 < aragimo\ ;
+出穂 < shussui\ ;
+引換 < hikikae\ ;
+輻輳 < fukusou\ ;
+欲求 < yokkyuu\ ;
+延板 < nobeita\ ;
+真空 < shinkuu\ ;
+眼目 < ganmoku\ ;
+引接 < insetsu\ ;
+色魔 < shikima\ ;
+必中 < hitchuu\ ;
+輪郭 < rinkaku\ ;
+義援金 < gienkin\ ;
+単作 < tansaku\ ;
+省線 < shousen\ ;
+弾幕 < danmaku\ ;
+年益 < nen''eki\ ;
+復党 < fukutou\ ;
+光軸 < koujiku\ ;
+廿日 < hatsuka\ ;
+弱志 < jakushi\ ;
+北国 < hokkoku\ ;
+強弁 < kyouben\ ;
+還暦 < kanreki\ ;
+励振 < reishin\ ;
+辞色 < jishoku\ ;
+出社 < shussha\ ;
+草肥 < kusagoe\ ;
+利率 < riritsu\ ;
+発足 < hossoku\ ;
+公評 < kouhyou\ ;
+公証 < koushou\ ;
+十六 < juuroku\ ;
+別珍 < betchin\ ;
+協会 < kyoukai\ ;
+俯瞰図 < fukanzu\ ;
+御新香 < oshinko\ ;
+亜米利加 < amerika\ ;
+区別 < kubetsu\ ;
+千億 < sen''oku\ ;
+気位 < kigurai\ ;
+御家人 < gokenin\ ;
+弱弟 < jakutei\ ;
+共襟 < tomoeri\ ;
+眼病 < ganbyou\ ;
+六角 < rokkaku\ ;
+卒伍 < sotsugo\ ;
+大寺院 < daijiin\ ;
+殯宮 < hinkyuu\ ;
+研学 < kengaku\ ;
+残念 < zan''nen\ ;
+荷積 < nidzumi\ ;
+南中 < nanchuu\ ;
+冷肉 < reiniku\ ;
+落手 < rakushu\ ;
+相続 < souzoku\ ;
+残忍 < zan''nin\ ;
+気付 < kidzuke\ ;
+入試 < nyuushi\ ;
+残心 < zanshin\ ;
+烏羽玉 < ubatama\ ;
+創業 < sougyou\ ;
+凡策 < bonsaku\ ;
+勉強 < benkyou\ ;
+共裏 < tomoura\ ;
+後厄 < atoyaku\ ;
+落成 < rakusei\ ;
+全角 < zenkaku\ ;
+弱年 < jakunen\ ;
+勧学 < kangaku\ ;
+半作 < hansaku\ ;
+庶流 < shoryuu\ ;
+性行為 < seikoui\ ;
+歴戦 < rekisen\ ;
+一般化 < ippanka\ ;
+川蝦 < kawaebi\ ;
+歌曲 < kakyoku\ ;
+待合 < machiai\ ;
+帰結 < kiketsu\ ;
+石庭 < sekitei\ ;
+卒中 < sotchuu\ ;
+卓上 < takujou\ ;
+充足 < juusoku\ ;
+茶腹 < chabara\ ;
+免責 < menseki\ ;
+荒縄 < aranawa\ ;
+僻隅 < hekiguu\ ;
+劇暑 < gekisho\ ;
+直経 < chokkei\ ;
+十五夜 < juugoya\ ;
+目縁 < mabuchi\ ;
+僻陬 < hekisuu\ ;
+遍歴 < henreki\ ;
+帯紙 < obigami\ ;
+干瓢 < kanpyou\ ;
+償金 < shoukin\ ;
+氏人 < ujihito\ ;
+知徳 < chitoku\ ;
+遊歴 < yuureki\ ;
+二院制 < niinsei\ ;
+公衆 < koushuu\ ;
+先負 < senmake\ ;
+眼球 < gankyuu\ ;
+帽章 < boushou\ ;
+近称 < kinshou\ ;
+発議 < hatsugi\ ;
+出監 < shukkan\ ;
+送球 < soukyuu\ ;
+家政婦 < kaseifu\ ;
+良風 < ryoufuu\ ;
+分留 < bunryuu\ ;
+勘審 < kanshin\ ;
+適材 < tekizai\ ;
+邀撃 < yougeki\ ;
+連濁 < rendaku\ ;
+第二義 < dainigi\ ;
+歿後 < botsugo\ ;
+円軌道 < enkidou\ ;
+真相 < shinsou\ ;
+真直 < massugu\ ;
+役名 < yakumei\ ;
+従僕 < juuboku\ ;
+道楽 < douraku\ ;
+瞬断 < shundan\ ;
+野葡萄 < nobudou\ ;
+発語 < hatsugo\ ;
+勧奨 < kanshou\ ;
+力投 < rikitou\ ;
+刑獄 < keigoku\ ;
+百計 < hyakkei\ ;
+千両 < senryou\ ;
+後先 < atosaki\ ;
+十九 < juukyuu\ ;
+発話 < hatsuwa\ ;
+北半 < hokuhan\ ;
+廃業 < haigyou\ ;
+発註 < hatchuu\ ;
+十両 < juuryou\ ;
+力戦 < rikisen\ ;
+十七 < juunana\ ;
+十一 < juuichi\ ;
+引当 < hikiate\ ;
+逸民 < itsumin\ ;
+律儀 < richigi\ ;
+応募者 < oubosha\ ;
+前歴 < zenreki\ ;
+副本 < fukuhon\ ;
+艱難 < kan''nan\ ;
+麻実油 < asamiyu\ ;
+茶飯事 < sahanji\ ;
+式微 < shikibi\ ;
+遊楽 < yuuraku\ ;
+軽量 < keiryou\ ;
+軽重 < keichou\ ;
+目算 < mokusan\ ;
+出産 < shussan\ ;
+発覚 < hakkaku\ ;
+進水 < shinsui\ ;
+八重雲 < yaeguma\ ;
+欲望 < yokubou\ ;
+勇将 < yuushou\ ;
+盟約 < meiyaku\ ;
+相称 < soushou\ ;
+彼処 < kashiko\ ;
+矮小 < waishou\ ;
+睫毛 < matsuge\ ;
+邸宅 < teitaku\ ;
+目端 < mehashi\ ;
+勉学 < bengaku\ ;
+鯨肉 < geiniku\ ;
+優越 < yuuetsu\ ;
+百行 < hyakkou\ ;
+近眼 < chikame\ ;
+菌毒 < kindoku\ ;
+歴年 < rekinen\ ;
+未踏査 < mitousa\ ;
+弓師 < yumishi\ ;
+先覚 < senkaku\ ;
+後作 < atosaku\ ;
+巨舶 < kyohaku\ ;
+底流 < teiryuu\ ;
+絵葉書 < ehagaki\ ;
+発表 < happyou\ ;
+選択 < sentaku\ ;
+欠格 < kekkaku\ ;
+共著 < kyoucho\ ;
+稽古場 < keikoba\ ;
+広漠 < koubaku\ ;
+草笛 < kusabue\ ;
+勝報 < shouhou\ ;
+初潮 < shochou\ ;
+助平 < sukebei\ ;
+安全期 < anzenki\ ;
+強大 < kyoudai\ ;
+反意語 < han''igo\ ;
+輪読 < rindoku\ ;
+知将 < chishou\ ;
+内膜 < naimaku\ ;
+強壮 < kyousou\ ;
+役僧 < yakusou\ ;
+個人差 < kojinsa\ ;
+劇戦 < gekisen\ ;
+総務部 < soumubu\ ;
+毒刃 < dokujin\ ;
+白蝋 < hakurou\ ;
+帆綱 < hodzuna\ ;
+軍長 < gunchou\ ;
+力役 < rikieki\ ;
+警部補 < keibuho\ ;
+冷笑 < reishou\ ;
+与太郎 < yotarou\ ;
+茶粥 < chagayu\ ;
+廻心 < kaishin\ ;
+看病 < kanbyou\ ;
+目礼 < mokurei\ ;
+輸血 < yuketsu\ ;
+位牌堂 < ihaidou\ ;
+勝地 < shouchi\ ;
+初湯 < hatsuyu\ ;
+義太夫 < gidayuu\ ;
+凶猛 < kyoumou\ ;
+三鞭酒 < shanpen\ ;
+艦長 < kanchou\ ;
+妃殿下 < hidenka\ ;
+凍石 < touseki\ ;
+制欲 < seiyoku\ ;
+出版 < shuppan\ ;
+弟嫁 < otoyome\ ;
+凶状 < kyoujou\ ;
+樺色 < kabairo\ ;
+退潮 < taichou\ ;
+砂地 < sunachi\ ;
+道教 < doukyou\ ;
+漫画家 < mangaka\ ;
+過日 < kajitsu\ ;
+転針 < tenshin\ ;
+茶箱 < chabako\ ;
+帰着 < kichaku\ ;
+適所 < tekisho\ ;
+僻邑 < hekiyuu\ ;
+不本意 < fuhon''i\ ;
+歎息 < tansoku\ ;
+苛虐 < kagyaku\ ;
+歩合算 < buaizan\ ;
+彫像 < chouzou\ ;
+語彙的 < goiteki\ ;
+石塔 < sekitou\ ;
+返球 < henkyuu\ ;
+石塀 < ishibei\ ;
+弟姫 < otohime\ ;
+利殖 < rishoku\ ;
+役人 < yakunin\ ;
+辱知 < jokuchi\ ;
+勧告 < kankoku\ ;
+盲目 < moumoku\ ;
+痛風 < tsuufuu\ ;
+逸材 < itsuzai\ ;
+第一課 < daiikka\ ;
+出炭 < shuttan\ ;
+弱国 < jakkoku\ ;
+荷物 < nimotsu\ ;
+北上 < hokujou\ ;
+井戸端 < idobata\ ;
+副手 < fukushu\ ;
+剽悍 < hyoukan\ ;
+色里 < irozato\ ;
+理事会 < rijikai\ ;
+盤石 < banjaku\ ;
+農相 < noushou\ ;
+遊撃 < yuugeki\ ;
+火曜日 < kayoubi\ ;
+入舎 < nyuusha\ ;
+御不浄 < gofujou\ ;
+逐次 < chikuji\ ;
+辺疆 < henkyou\ ;
+前方 < maekata\ ;
+白菜 < hakusai\ ;
+未定義 < miteigi\ ;
+割愛 < katsuai\ ;
+監督 < kantoku\ ;
+躁鬱 < souutsu\ ;
+楽隊 < gakutai\ ;
+殉国 < junkoku\ ;
+逆比 < gyakuhi\ ;
+対位法 < taiihou\ ;
+冥福 < meifuku\ ;
+睦月 < mutsuki\ ;
+刻本 < kokuhon\ ;
+正子 < shoushi\ ;
+幽欝 < yuuutsu\ ;
+殺傷 < sasshou\ ;
+浮浪児 < furouji\ ;
+婦人科 < fujinka\ ;
+内約 < naiyaku\ ;
+強味 < tsuyomi\ ;
+剣戟 < kengeki\ ;
+返照 < henshou\ ;
+艇長 < teichou\ ;
+他世界 < tasekai\ ;
+適当 < tekitou\ ;
+慰労金 < iroukin\ ;
+権能 < ken''nou\ ;
+正嫡 < seiteki\ ;
+欲情 < yokujou\ ;
+座敷 < zashiki\ ;
+楼閣 < roukaku\ ;
+分注 < bunchuu\ ;
+包丁 < houchou\ ;
+発芽 < hatsuga\ ;
+進数 < shinsuu\ ;
+理不尽 < rifujin\ ;
+百般 < hyappan\ ;
+出渠 < shukkyo\ ;
+単坐機 < tanzaki\ ;
+落城 < rakujou\ ;
+割当 < wariate\ ;
+欲念 < yokunen\ ;
+樟脳 < shounou\ ;
+不飽和 < fuhouwa\ ;
+近火 < chikabi\ ;
+別格 < bekkaku\ ;
+疾風 < shippuu\ ;
+落地 < rakuchi\ ;
+共編 < kyouhen\ ;
+此奴 < koyatsu\ ;
+盗癖 < touheki\ ;
+船長 < senchou\ ;
+代議員 < daigiin\ ;
+研修 < kenshuu\ ;
+刷新 < sasshin\ ;
+非合理 < higouri\ ;
+殿中 < denchuu\ ;
+強力 < gouriki\ ;
+序曲 < jokyoku\ ;
+総務課 < soumuka\ ;
+床板 < yukaita\ ;
+通有 < tsuuyuu\ ;
+兵糧 < hyourou\ ;
+盆石 < bonseki\ ;
+欣悦 < kinetsu\ ;
+典籍 < tenseki\ ;
+道徳 < doutoku\ ;
+病難 < byounan\ ;
+力士 < rikishi\ ;
+椰子油 < yashiyu\ ;
+車輛 < sharyou\ ;
+兵籍 < heiseki\ ;
+速断 < sokudan\ ;
+車軸 < shajiku\ ;
+内積 < naiseki\ ;
+剣形 < kengata\ ;
+荒物 < aramono\ ;
+盲爆 < moubaku\ ;
+僻論 < hekiron\ ;
+強兵 < kyouhei\ ;
+公約 < kouyaku\ ;
+段丘 < dankyuu\ ;
+農牧 < nouboku\ ;
+入綿 < irewata\ ;
+水泳着 < suieigi\ ;
+横線 < yokosen\ ;
+白羽 < shiraha\ ;
+峻険 < shunken\ ;
+巫祝 < fushuku\ ;
+軸装 < jikusou\ ;
+監獄 < kangoku\ ;
+別時 < betsuji\ ;
+弔問 < choumon\ ;
+全級 < zenkyuu\ ;
+内福 < naifuku\ ;
+写真 < shashin\ ;
+凝滞 < gyoutai\ ;
+道床 < doushou\ ;
+殊勝 < shushou\ ;
+軍足 < gunsoku\ ;
+僻言 < hekigen\ ;
+絵草紙 < ezoushi\ ;
+剣幕 < kenmaku\ ;
+凶歳 < kyousai\ ;
+剛強 < goukyou\ ;
+分業 < bungyou\ ;
+転調 < tenchou\ ;
+歌姫 < utahime\ ;
+遠山 < tooyama\ ;
+横糸 < yokoito\ ;
+次式 < jishiki\ ;
+遊弋 < yuuyoku\ ;
+遺失 < ishitsu\ ;
+選奨 < senshou\ ;
+僻見 < hekiken\ ;
+花葵 < hanaaoi\ ;
+落命 < rakumei\ ;
+遊廓 < yuukaku\ ;
+樹立 < juritsu\ ;
+魔術 < majutsu\ ;
+凡流 < bonryuu\ ;
+舌音 < zetsuon\ ;
+初日 < hatsuhi\ ;
+引受 < hikiuke\ ;
+劇変 < gekihen\ ;
+建国 < kenkoku\ ;
+短冊 < tanzaku\ ;
+石像 < sekizou\ ;
+督戦 < tokusen\ ;
+眺望 < choubou\ ;
+劇壇 < gekidan\ ;
+近況 < kinkyou\ ;
+欠席 < kesseki\ ;
+巨石 < kyoseki\ ;
+歴史 < rekishi\ ;
+平服 < heifuku\ ;
+転覆 < tenpuku\ ;
+機略 < kiryaku\ ;
+小犬座 < koinuza\ ;
+劇場 < gekijou\ ;
+身近 < midjika\ ;
+逆旅 < gekiryo\ ;
+身辺 < shinpen\ ;
+分析 < bunseki\ ;
+弱体 < jakutai\ ;
+横笛 < yokobue\ ;
+発給 < hakkyuu\ ;
+軽薄 < keihaku\ ;
+引力 < inryoku\ ;
+円盆 < marubon\ ;
+赤味噌 < akamiso\ ;
+著作 < chosaku\ ;
+痩身 < soushin\ ;
+花色 < hanairo\ ;
+速成 < sokusei\ ;
+左直 < sachoku\ ;
+前年 < zen''nen\ ;
+送料 < souryou\ ;
+鱗木 < rinboku\ ;
+白粉 < oshiroi\ ;
+内的 < naiteki\ ;
+苦節 < kusetsu\ ;
+白米 < hakumai\ ;
+短信 < tanshin\ ;
+横穴 < yokoana\ ;
+極道 < gokudou\ ;
+対義語 < taigigo\ ;
+眷族 < kenzoku\ ;
+道学 < dougaku\ ;
+側面 < sokumen\ ;
+幣束 < heisoku\ ;
+助勢 < sukezei\ ;
+功名 < koumyou\ ;
+艇身 < teishin\ ;
+汚染菌 < osenkin\ ;
+過密 < kamitsu\ ;
+三日路 < mikkaji\ ;
+努力 < doryoku\ ;
+居酒屋 < izakaya\ ;
+庭師 < niwashi\ ;
+骨骼 < kokkaku\ ;
+助力 < joryoku\ ;
+追放 < tsuihou\ ;
+自家製 < jikasei\ ;
+遊学 < yuugaku\ ;
+歳入 < sainyuu\ ;
+鳩合 < kyuugou\ ;
+欠字 < ketsuji\ ;
+塗布剤 < tofuzai\ ;
+正北 < seihoku\ ;
+傷跡 < kizuato\ ;
+武力 < buryoku\ ;
+適地 < tekichi\ ;
+功力 < kouriki\ ;
+古典語 < kotengo\ ;
+荒波 < aranami\ ;
+近業 < kingyou\ ;
+真書 < shinsho\ ;
+庵室 < anjitsu\ ;
+共益 < kyoueki\ ;
+通性 < tsuusei\ ;
+正則 < seisoku\ ;
+鬱血 < ukketsu\ ;
+兼用 < ken''you\ ;
+労作 < rousaku\ ;
+通念 < tsuunen\ ;
+凋残 < chouzan\ ;
+不景気 < fukeiki\ ;
+冷涼 < reiryou\ ;
+軽舟 < keishuu\ ;
+落体 < rakutai\ ;
+連年 < ren''nen\ ;
+切換 < kirikae\ ;
+痕跡 < konseki\ ;
+合理化 < gourika\ ;
+干拓 < kantaku\ ;
+死人 < shibito\ ;
+公的 < kouteki\ ;
+建前 < tatemae\ ;
+切掛 < kikkake\ ;
+進展 < shinten\ ;
+欠如 < ketsujo\ ;
+骨頂 < kotchou\ ;
+横着 < ouchaku\ ;
+分掌 < bunshou\ ;
+弁償 < benshou\ ;
+拉丁語 < ratengo\ ;
+刑戮 < keiriku\ ;
+通弊 < tsuuhei\ ;
+発祥 < hasshou\ ;
+通弁 < tsuuben\ ;
+歴伝 < rekiden\ ;
+幽愁 < yuushuu\ ;
+落人 < ochuudo\ ;
+入監 < nyuukan\ ;
+死中 < shichuu\ ;
+歴任 < rekinin\ ;
+別後 < betsugo\ ;
+電磁波 < denjiha\ ;
+歴代 < rekidai\ ;
+共用 < kyouyou\ ;
+極貧 < gokuhin\ ;
+共産 < kyousan\ ;
+権益 < ken''eki\ ;
+幻惑 < genwaku\ ;
+転落 < tenraku\ ;
+幕政 < bakusei\ ;
+県有 < ken''yuu\ ;
+追懐 < tsuikai\ ;
+魚腹 < gyofuku\ ;
+通常 < tsuujou\ ;
+追憶 < tsuioku\ ;
+躊躇 < chuucho\ ;
+鬼蓮 < onibasu\ ;
+真摯 < shinshi\ ;
+電磁気 < denjiki\ ;
+皆目 < kaimoku\ ;
+白砂 < hakusha\ ;
+概評 < gaihyou\ ;
+弋人 < yokujin\ ;
+凝望 < gyoubou\ ;
+傾角 < keikaku\ ;
+典獄 < tengoku\ ;
+鯛焼 < taiyaki\ ;
+適合 < tekigou\ ;
+劇剤 < gekizai\ ;
+別席 < besseki\ ;
+元禄 < genroku\ ;
+傾覆 < keifuku\ ;
+魚肉 < gyoniku\ ;
+入用 < nyuuyou\ ;
+白眼 < hakugan\ ;
+荒業 < arawaza\ ;
+刺子 < sashiko\ ;
+正体 < shoutai\ ;
+逆徒 < gyakuto\ ;
+山麓 < sanroku\ ;
+迎春 < geishun\ ;
+白目 < shirome\ ;
+列強 < rekkyou\ ;
+農業 < nougyou\ ;
+切愛 < setsuai\ ;
+候鳥 < kouchou\ ;
+栄養価 < eiyouka\ ;
+還俗 < genzoku\ ;
+速射 < sokusha\ ;
+迷惑 < meiwaku\ ;
+逼塞 < hissoku\ ;
+痛言 < tsuugen\ ;
+初巳 < hatsumi\ ;
+第二次 < dainiji\ ;
+疾走 < shissou\ ;
+列座 < retsuza\ ;
+着座 < chakuza\ ;
+茶殻 < chagara\ ;
+追従 < tsuijuu\ ;
+正中 < seichuu\ ;
+躬行 < kyuukou\ ;
+白痴 < hakuchi\ ;
+井戸水 < idomizu\ ;
+凶手 < kyoushu\ ;
+市況 < shikyou\ ;
+列席 < resseki\ ;
+帝業 < teigyou\ ;
+前垂 < maedare\ ;
+一個人 < ikkojin\ ;
+亡祖父 < bousofu\ ;
+御朱印 < goshuin\ ;
+着工 < chakkou\ ;
+割勘 < warikan\ ;
+異性体 < iseitai\ ;
+発疹 < hosshin\ ;
+鳥人 < choujin\ ;
+迎撃 < geigeki\ ;
+進塁 < shinrui\ ;
+剣呑 < ken''non\ ;
+冒涜 < boutoku\ ;
+検鏡 < kenkyou\ ;
+先皇 < sen''nou\ ;
+退席 < taiseki\ ;
+別宴 < betsuen\ ;
+週報 < shuuhou\ ;
+割前 < warimae\ ;
+円滑 < enkotsu\ ;
+別宅 < bettaku\ ;
+免疫 < men''eki\ ;
+割判 < warihan\ ;
+非同期 < hidouki\ ;
+軸線 < jikusen\ ;
+十露盤 < soroban\ ;
+側辺 < sokuhen\ ;
+欠員 < ketsuin\ ;
+棒鱈 < boudara\ ;
+入物 < iremono\ ;
+入牢 < nyuurou\ ;
+選任 < sen''nin\ ;
+凶悪 < kyouaku\ ;
+筆記具 < hikkigu\ ;
+番長 < banchou\ ;
+穏健派 < onkenha\ ;
+育児園 < ikujien\ ;
+幼少 < youshou\ ;
+電気炉 < denkiro\ ;
+草木 < soumoku\ ;
+目星 < meboshi\ ;
+依存性 < izonsei\ ;
+幽寂 < yuujaku\ ;
+僚艦 < ryoukan\ ;
+分巻 < bunmaki\ ;
+比叡山 < hieizan\ ;
+癩病 < raibyou\ ;
+通奏 < tsuusou\ ;
+疣足 < iboashi\ ;
+依頼者 < iraisha\ ;
+良能 < ryounou\ ;
+載積 < saiseki\ ;
+茶棚 < chadana\ ;
+幼子 < osanago\ ;
+適例 < tekirei\ ;
+検針 < kenshin\ ;
+出廷 < shuttei\ ;
+崩落 < houraku\ ;
+真影 < shin''ei\ ;
+年少 < nenshou\ ;
+幣帛 < heihaku\ ;
+凶弾 < kyoudan\ ;
+速報 < sokuhou\ ;
+甲高 < koudaka\ ;
+白状 < hakujou\ ;
+製油所 < seiyujo\ ;
+適任 < tekinin\ ;
+制圧 < seiatsu\ ;
+疾視 < shisshi\ ;
+苦熱 < kunetsu\ ;
+発狂 < hakkyou\ ;
+創作 < sousaku\ ;
+檄文 < gekibun\ ;
+内池 < uchiike\ ;
+目撥 < mebachi\ ;
+偏針 < henshin\ ;
+退学 < taigaku\ ;
+偏重 < henchou\ ;
+年子 < toshigo\ ;
+通報 < tsuuhou\ ;
+基本語 < kihongo\ ;
+剣先 < kensaki\ ;
+凶年 < kyounen\ ;
+真平 < mappira\ ;
+癒着 < yuchaku\ ;
+御三家 < gosanke\ ;
+副使 < fukushi\ ;
+莫大 < bakudai\ ;
+前厄 < maeyaku\ ;
+魚竜 < gyoryuu\ ;
+迷宮 < meikyuu\ ;
+遅刻 < chikoku\ ;
+幔幕 < manmaku\ ;
+五節句 < gosekku\ ;
+森閑 < shinkan\ ;
+辟易 < hekieki\ ;
+入漁 < nyuugyo\ ;
+直披 < chokuhi\ ;
+誤動作 < godousa\ ;
+発煙 < hatsuen\ ;
+舟行 < shuukou\ ;
+岸辺 < kishibe\ ;
+道俗 < douzoku\ ;
+進取 < shinshu\ ;
+膨隆 < bouryuu\ ;
+倍額 < baigaku\ ;
+目指 < mokushi\ ;
+影印本 < eiinhon\ ;
+魔窟 < makutsu\ ;
+凝念 < gyounen\ ;
+巡歴 < junreki\ ;
+山頂 < sanchou\ ;
+入湯 < nyuutou\ ;
+出展 < shutten\ ;
+入渠 < nyuukyo\ ;
+苛烈 < karetsu\ ;
+経営費 < keieihi\ ;
+迫害 < hakugai\ ;
+八洲 < yashima\ ;
+円相場 < ensouba\ ;
+轟沈 < gouchin\ ;
+県庁 < kenchou\ ;
+凡庸 < bon''you\ ;
+癇癖 < kanpeki\ ;
+色素 < shikiso\ ;
+近年 < kin''nen\ ;
+盆暮 < bonkure\ ;
+蹉跌 < satetsu\ ;
+年増 < toshima\ ;
+道主 < doushuu\ ;
+凋悴 < chousui\ ;
+道中 < douchuu\ ;
+山陽 < san''you\ ;
+山陵 < sanryou\ ;
+遊休 < yuukyuu\ ;
+痘苗 < toubyou\ ;
+週刊 < shuukan\ ;
+被疑者 < higisha\ ;
+庖厨 < houchuu\ ;
+倒閣 < toukaku\ ;
+列国 < rekkoku\ ;
+督励 < tokurei\ ;
+巡業 < jungyou\ ;
+標準 < hyoujun\ ;
+菊判 < kikuban\ ;
+産額 < sangaku\ ;
+週内 < shuunai\ ;
+鰻屋 < unagiya\ ;
+入水 < nyuusui\ ;
+制勝 < seishou\ ;
+刻刻 < kokkoku\ ;
+備蓄 < bichiku\ ;
+通名 < toorina\ ;
+軍籍 < gunseki\ ;
+船舶 < senpaku\ ;
+連勝 < renshou\ ;
+通史 < tsuushi\ ;
+直後 < chokugo\ ;
+直往 < chokuou\ ;
+放火魔 < houkama\ ;
+修養 < shuuyou\ ;
+不断着 < fudangi\ ;
+聖路加 < seiroka\ ;
+病菌 < byoukin\ ;
+出奔 < shuppon\ ;
+楽聖 < gakusei\ ;
+船腹 < senpuku\ ;
+下線部 < kasenbu\ ;
+白洲 < shirasu\ ;
+凡小 < bonshou\ ;
+前任 < zen''nin\ ;
+巨木 < kyoboku\ ;
+般若 < han''nya\ ;
+傷者 < shousha\ ;
+円曲 < enkyoku\ ;
+尾骨 < bikotsu\ ;
+広告 < koukoku\ ;
+芝生 < shibafu\ ;
+通勤 < tsuukin\ ;
+自説 < jisetsu\ ;
+充溢 < juuitsu\ ;
+看客 < kankaku\ ;
+茶托 < chataku\ ;
+真夏 < manatsu\ ;
+辺幅 < henpuku\ ;
+店内 < ten''nai\ ;
+多次元 < tajigen\ ;
+川柳 < senryuu\ ;
+業腹 < gouhara\ ;
+良種 < ryoushu\ ;
+借金 < shakkin\ ;
+削井 < sakusei\ ;
+似非者 < esemono\ ;
+序列 < joretsu\ ;
+倒錯 < tousaku\ ;
+帝徳 < teitoku\ ;
+脳外科 < nougeka\ ;
+通分 < tsuubun\ ;
+追善 < tsuizen\ ;
+凶報 < kyouhou\ ;
+御下問 < gokamon\ ;
+検認 < ken''nin\ ;
+荒巻 < aramaki\ ;
+病舎 < byousha\ ;
+舞茸 < maitake\ ;
+週令 < shuurei\ ;
+准州 < junshuu\ ;
+膃肭臍 < ottosei\ ;
+共栓 < tomosen\ ;
+女性器 < joseiki\ ;
+孵卵器 < furanki\ ;
+検証 < kenshou\ ;
+無理解 < murikai\ ;
+常宿 < jouyado\ ;
+信頼 < shinrai\ ;
+光沢 < koutaku\ ;
+帝廟 < teibyou\ ;
+凹地 < kubochi\ ;
+凸坊 < dekobou\ ;
+軍票 < gunpyou\ ;
+盛徳 < seitoku\ ;
+業者 < gyousha\ ;
+軍神 < gunshin\ ;
+蹈襲 < toushuu\ ;
+舟艇 < shuutei\ ;
+横棒 < yokobou\ ;
+年収 < nenshuu\ ;
+入梅 < nyuubai\ ;
+腓骨 < hikotsu\ ;
+共有 < kyouyuu\ ;
+鰤子 < burikko\ ;
+相客 < aikyaku\ ;
+父性愛 < fuseiai\ ;
+追号 < tsuigou\ ;
+連作 < rensaku\ ;
+兎欠 < toketsu\ ;
+兆民 < choumin\ ;
+別儀 < betsugi\ ;
+非武装 < hibusou\ ;
+良知 < ryouchi\ ;
+連休 < renkyuu\ ;
+切味 < kireaji\ ;
+造作 < zousaku\ ;
+六書 < rokusho\ ;
+着剣 < chakken\ ;
+分周 < bunshuu\ ;
+六曜 < rokuyou\ ;
+八朔 < hassaku\ ;
+刪修 < sanshuu\ ;
+准将 < junshou\ ;
+腕首 < udekubi\ ;
+眼力 < ganriki\ ;
+通例 < tsuurei\ ;
+標榜 < hyoubou\ ;
+入来 < nyuurai\ ;
+略譜 < ryakufu\ ;
+轢断 < rekidan\ ;
+転用 < ten''you\ ;
+皐月 < satsuki\ ;
+連中 < renchuu\ ;
+元歌 < motouta\ ;
+色白 < irojiro\ ;
+岩角 < iwakado\ ;
+同父母 < doufubo\ ;
+茶店 < chamise\ ;
+凝塊 < gyoukai\ ;
+出品 < shuppin\ ;
+農学 < nougaku\ ;
+通人 < tsuujin\ ;
+略語 < ryakugo\ ;
+僭用 < sen''you\ ;
+踊躍 < youyaku\ ;
+茶席 < chaseki\ ;
+追刊 < tsuikan\ ;
+用量 < youryou\ ;
+自虐 < jigyaku\ ;
+鬼畜 < kichiku\ ;
+腐食 < fushoku\ ;
+年内 < nen''nai\ ;
+傍聴 < bouchou\ ;
+左折 < sasetsu\ ;
+白桃 < hakutou\ ;
+女性化 < joseika\ ;
+若枝 < wakaeda\ ;
+近国 < kingoku\ ;
+船籍 < senseki\ ;
+元標 < genpyou\ ;
+出口 < deguchi\ ;
+切削 < sessaku\ ;
+略解 < ryakkai\ ;
+刀匠 < toushou\ ;
+発案 < hatsuan\ ;
+無期限 < mukigen\ ;
+軟球 < nankyuu\ ;
+修錬 < shuuren\ ;
+自家用 < jikayou\ ;
+直奏 < jikisou\ ;
+航続 < kouzoku\ ;
+良田 < ryouden\ ;
+足音 < ashioto\ ;
+先棒 < sakibou\ ;
+家系図 < kakeizu\ ;
+一世紀 < isseiki\ ;
+刈入 < kariire\ ;
+白木 < shiraki\ ;
+自由度 < jiyuudo\ ;
+標本 < hyouhon\ ;
+白書 < hakusho\ ;
+汚染源 < osengen\ ;
+軍用 < gun''you\ ;
+初乳 < shonyuu\ ;
+平信 < heishin\ ;
+荒壁 < arakabe\ ;
+八掛 < hakkake\ ;
+輪業 < ringyou\ ;
+茶寮 < charyou\ ;
+平作 < heisaku\ ;
+盲執 < moushuu\ ;
+甘酒 < amazake\ ;
+元栓 < motosen\ ;
+八挺 < hatchou\ ;
+真剣 < shinken\ ;
+依頼状 < iraijou\ ;
+凹凸 < outotsu\ ;
+辛子 < karashi\ ;
+凸凹 < totsuou\ ;
+百方 < hyappou\ ;
+側背 < sokuhai\ ;
+療法 < ryouhou\ ;
+入掛 < irekaku\ ;
+迷信 < meishin\ ;
+凶刃 < kyoujin\ ;
+第一歩 < daiippo\ ;
+出兵 < shuppei\ ;
+白斑 < hakuhan\ ;
+退京 < taikyou\ ;
+白文 < hakubun\ ;
+微塵子 < mijinko\ ;
+凸円 < totsuen\ ;
+山賊 < sanzoku\ ;
+眼中 < ganchuu\ ;
+贔屓目 < hiikime\ ;
+側聞 < sokubun\ ;
+業種 < gyoushu\ ;
+八手 < yatsude\ ;
+色物 < iromono\ ;
+痳病 < rinbyou\ ;
+元服 < genpuku\ ;
+修道 < shuudou\ ;
+克明 < kokumei\ ;
+年上 < toshiue\ ;
+保釈 < hoshaku\ ;
+入手 < nyuushu\ ;
+入所 < nyuusho\ ;
+述作 < jussaku\ ;
+電磁場 < denjiba\ ;
+直営 < chokuei\ ;
+小面 < shoumen\ ;
+尿酸 < nyousan\ ;
+辛夷 < kobushi\ ;
+六情 < rokujou\ ;
+一体化 < ittaika\ ;
+御日様 < ohisama\ ;
+音羽屋 < otowaya\ ;
+高粱 < kouryan\ ;
+小難 < shounan\ ;
+局部 < kyokubu\ ;
+医院長 < iinchou\ ;
+印欧語 < in''ougo\ ;
+帝国 < teikoku\ ;
+出会 < shukkai\ ;
+鬱然 < utsuzen\ ;
+傷痕 < shoukon\ ;
+再審 < saishin\ ;
+県内 < ken''nai\ ;
+尿道 < nyoudou\ ;
+側線 < sokusen\ ;
+公徳 < koutoku\ ;
+常勝 < joushou\ ;
+冥境 < meikyou\ ;
+真人 < shinjin\ ;
+冷嘲 < reichou\ ;
+馴鹿 < tonakai\ ;
+直参 < jikisan\ ;
+出来秋 < dekiaki\ ;
+飛行機 < hikouki\ ;
+入念 < nyuunen\ ;
+脊髄 < sekizui\ ;
+無作為 < musakui\ ;
+真下 < mashita\ ;
+円安 < en''yasu\ ;
+尊長 < sonchou\ ;
+偽筆 < gihitsu\ ;
+相剋 < soukoku\ ;
+膝行 < shikkou\ ;
+都市部 < toshibu\ ;
+転注 < tenchuu\ ;
+座蒲団 < zabuton\ ;
+入廷 < nyuutei\ ;
+俗輩 < zokuhai\ ;
+脚韻 < kyakuin\ ;
+凡俗 < bonzoku\ ;
+寒鮒 < kanbuna\ ;
+業病 < goubyou\ ;
+農博 < nouhaku\ ;
+農協 < noukyou\ ;
+全幅 < zenpuku\ ;
+放課後 < houkago\ ;
+全席 < zenseki\ ;
+高禄 < kouroku\ ;
+近作 < kinsaku\ ;
+荷主 < ninushi\ ;
+良港 < ryoukou\ ;
+寸隙 < sungeki\ ;
+一本気 < ippongi\ ;
+目前 < mokuzen\ ;
+岩肌 < iwahada\ ;
+凡人 < bon''nin\ ;
+信販 < shinpan\ ;
+電気屋 < denkiya\ ;
+俗趣 < zokushu\ ;
+修論 < shuuron\ ;
+兵学 < heigaku\ ;
+田螺 < tanishi\ ;
+産褥 < sanjoku\ ;
+小銃 < shoujuu\ ;
+便通 < bentsuu\ ;
+小鉢 < kobachi\ ;
+未来派 < miraiha\ ;
+赤飯 < sekihan\ ;
+帝劇 < teigeki\ ;
+共存 < kyouzon\ ;
+省令 < shourei\ ;
+自粛 < jishuku\ ;
+百度 < hyakudo\ ;
+栄誉礼 < eiyorei\ ;
+内壁 < naiheki\ ;
+疾病 < shippei\ ;
+元悪 < gen''aku\ ;
+糖衣錠 < touijou\ ;
+疼痛 < toutsuu\ ;
+害鳥 < gaichou\ ;
+傍白 < bouhaku\ ;
+良民 < ryoumin\ ;
+躁病 < soubyou\ ;
+理論家 < rironka\ ;
+田虫 < tamushi\ ;
+白帆 < shiraho\ ;
+高直 < koujiki\ ;
+打楽器 < dagakki\ ;
+生血 < namachi\ ;
+無作法 < busahou\ ;
+入定 < nyuujou\ ;
+転業 < tengyou\ ;
+屈託 < kuttaku\ ;
+直伝 < jikiden\ ;
+茶匙 < chasaji\ ;
+自筆 < jihitsu\ ;
+仁王門 < nioumon\ ;
+苗床 < naedoko\ ;
+赤面 < sekimen\ ;
+古典派 < kotenha\ ;
+内圧 < naiatsu\ ;
+痛点 < tsuuten\ ;
+素封家 < sohouka\ ;
+先年 < sen''nen\ ;
+疱疹 < houshin\ ;
+俗謡 < zokuyou\ ;
+小道 < komichi\ ;
+自立 < jiritsu\ ;
+修行 < shugyou\ ;
+内国 < naikoku\ ;
+俗諺 < zokugen\ ;
+至福 < shifuku\ ;
+寺銭 < terasen\ ;
+農作 < nousaku\ ;
+俗諦 < zokutai\ ;
+俊豪 < shungou\ ;
+俗論 < zokuron\ ;
+症状 < shoujou\ ;
+俗談 < zokudan\ ;
+導通 < doutsuu\ ;
+魚族 < gyozoku\ ;
+入婿 < irimuko\ ;
+僻村 < hekison\ ;
+鮨屋 < sushiya\ ;
+寄食 < kishoku\ ;
+白山 < hakusan\ ;
+病状 < byoujou\ ;
+元年 < gan''nen\ ;
+席上 < sekijou\ ;
+荒事 < aragoto\ ;
+監修 < kanshuu\ ;
+歩合制 < buaisei\ ;
+偸盗 < chuutou\ ;
+僻書 < hekisho\ ;
+留置 < ryuuchi\ ;
+辛党 < karatou\ ;
+格闘 < kakutou\ ;
+番組 < bangumi\ ;
+魂柱 < konchuu\ ;
+百官 < hyakkan\ ;
+作風 < sakufuu\ ;
+魚河岸 < uogashi\ ;
+馬食 < bashoku\ ;
+自由化 < jiyuuka\ ;
+艦橋 < kankyou\ ;
+標定 < hyoutei\ ;
+横奪 < oudatsu\ ;
+白子 < shiroko\ ;
+再告 < saikoku\ ;
+軍楽 < gungaku\ ;
+山芋 < yamaimo\ ;
+帝京 < teikyou\ ;
+輻射 < fukusha\ ;
+入声 < nisshou\ ;
+授産所 < jusanjo\ ;
+駆動機 < kudouki\ ;
+密雲 < mitsuun\ ;
+二箇所 < nikasho\ ;
+傾注 < keichuu\ ;
+入墨 < irezumi\ ;
+密集 < misshuu\ ;
+違犯者 < ihansha\ ;
+自画像 < jigazou\ ;
+色柄 < irogara\ ;
+形意拳 < keiiken\ ;
+背高 < seitaka\ ;
+将軍 < shougun\ ;
+概況 < gaikyou\ ;
+全域 < zen''iki\ ;
+母性愛 < boseiai\ ;
+井戸側 < idogawa\ ;
+山腹 < sanpuku\ ;
+先学 < sengaku\ ;
+脚部 < kyakubu\ ;
+胴長 < dounaga\ ;
+僧服 < soufuku\ ;
+再勝 < saishou\ ;
+腹蔵 < fukuzou\ ;
+良材 < ryouzai\ ;
+低額 < teigaku\ ;
+魚拓 < gyotaku\ ;
+輔弼 < hohitsu\ ;
+全国 < zengoku\ ;
+良書 < ryousho\ ;
+宰領 < sairyou\ ;
+白太 < shirata\ ;
+白夜 < byakuya\ ;
+蹴爪 < kedzume\ ;
+赤錆 < akasabi\ ;
+入団 < nyuudan\ ;
+工博 < kouhaku\ ;
+差別 < sabetsu\ ;
+冪乗 < bekijou\ ;
+軍服 < gunpuku\ ;
+甲胄 < katchuu\ ;
+自発 < jihatsu\ ;
+畢竟 < hikkyou\ ;
+校閲 < kouetsu\ ;
+疎略 < soryaku\ ;
+岩礁 < ganshou\ ;
+傷歎 < shoutan\ ;
+色文 < irobumi\ ;
+破砕機 < hasaiki\ ;
+首領 < shuryou\ ;
+違警罪 < ikeizai\ ;
+希土類 < kidorui\ ;
+赤金 < akagane\ ;
+驕肆 < kyoushi\ ;
+学齢 < gakurei\ ;
+宵闇 < yoiyami\ ;
+小論 < shouron\ ;
+亜鉛引 < aenbiki\ ;
+太宰府 < dazaifu\ ;
+岩石 < ganseki\ ;
+腹芸 < haragei\ ;
+白地 < shiroji\ ;
+核酸 < kakusan\ ;
+六合 < rikugou\ ;
+船歌 < funauta\ ;
+対象 < taishou\ ;
+騰落 < touraku\ ;
+偏癖 < henpeki\ ;
+典則 < tensoku\ ;
+棒縞 < boujima\ ;
+伊達者 < datesha\ ;
+六十 < rokujuu\ ;
+赤道 < sekidou\ ;
+生肉 < seiniku\ ;
+送話器 < souwaki\ ;
+植皮 < shokuhi\ ;
+実需 < jitsuju\ ;
+免囚 < menshuu\ ;
+伴天連 < bateren\ ;
+駆逐 < kuchiku\ ;
+亜麻布 < amanuno\ ;
+駐車 < chuusha\ ;
+株金 < kabukin\ ;
+自玉 < jigyoku\ ;
+女郎屋 < jorouya\ ;
+宿銭 < yadosen\ ;
+首長 < shuchou\ ;
+腹背 < fukuhai\ ;
+噴霧器 < funmuki\ ;
+病死 < byoushi\ ;
+射角 < shakaku\ ;
+英単語 < eitango\ ;
+客間 < kyakuma\ ;
+工作 < kousaku\ ;
+儀式 < gishiki\ ;
+田紳 < denshin\ ;
+対訳 < taiyaku\ ;
+赤軍 < sekigun\ ;
+脂身 < aburami\ ;
+峡湾 < kyouwan\ ;
+軍拡 < gunkaku\ ;
+百味 < hyakumi\ ;
+荷馬車 < nibasha\ ;
+擬態語 < gitaigo\ ;
+対角 < taikaku\ ;
+柱面 < chuumen\ ;
+巨乳 < kyonyuu\ ;
+異邦人 < ihoujin\ ;
+画筆 < gahitsu\ ;
+供覧 < kyouran\ ;
+怪我人 < keganin\ ;
+寸評 < sunpyou\ ;
+内中 < uchijuu\ ;
+効果音 < koukaon\ ;
+密通 < mittsuu\ ;
+倶発 < guhatsu\ ;
+公僕 < kouboku\ ;
+体量 < tairyou\ ;
+墓碑銘 < bohimei\ ;
+宗門 < shuumon\ ;
+臆病 < okubyou\ ;
+全優 < zen''yuu\ ;
+飛行家 < hikouka\ ;
+略画 < ryakuga\ ;
+俸給 < houkyuu\ ;
+宿運 < shukuun\ ;
+船板 < funaita\ ;
+俊英 < shun''ei\ ;
+芳墨 < houboku\ ;
+百匁 < hyakume\ ;
+生絹 < suzushi\ ;
+軟弱 < nanjaku\ ;
+休館 < kyuukan\ ;
+密輸 < mitsuyu\ ;
+党則 < tousoku\ ;
+修繕 < shuuzen\ ;
+休養 < kyuuyou\ ;
+榴弾 < ryuudan\ ;
+山積 < sanseki\ ;
+舶来 < hakurai\ ;
+赤貧 < sekihin\ ;
+英傑 < eiketsu\ ;
+極暑 < gokusho\ ;
+病棟 < byoutou\ ;
+火熨斗 < hinoshi\ ;
+肌骨 < kikotsu\ ;
+良性 < ryousei\ ;
+足芸 < ashigei\ ;
+腸線 < chousen\ ;
+輪唱 < rinshou\ ;
+偉物 < eramono\ ;
+白刃 < hakujin\ ;
+侮蔑 < bubetsu\ ;
+若党 < wakatou\ ;
+病根 < byoukon\ ;
+会集 < kaishuu\ ;
+屑糸 < kuzuito\ ;
+梟罪 < kyouzai\ ;
+白兵 < hakuhei\ ;
+低速 < teisoku\ ;
+入会 < nyuukai\ ;
+屑米 < kuzumai\ ;
+軽妙 < keimyou\ ;
+自滅 < jimetsu\ ;
+休電 < kyuuden\ ;
+島根 < shimane\ ;
+学風 < gakufuu\ ;
+僵屍 < kyonshi\ ;
+先刻 < senkoku\ ;
+優位性 < yuuisei\ ;
+肉饅 < nikuman\ ;
+併読 < heidoku\ ;
+馬跳 < umatobi\ ;
+転属 < tenzoku\ ;
+赤誠 < sekisei\ ;
+良師 < ryoushi\ ;
+会長 < kaichou\ ;
+格言 < kakugen\ ;
+駁論 < bakuron\ ;
+無趣味 < mushumi\ ;
+過現未 < kagenmi\ ;
+元凶 < genkyou\ ;
+肉類 < nikurui\ ;
+疼木 < hiiragi\ ;
+転宅 < tentaku\ ;
+栄達 < eitatsu\ ;
+転学 < tengaku\ ;
+自活 < jikatsu\ ;
+俸禄 < houroku\ ;
+若人 < wakoudo\ ;
+楽才 < gakusai\ ;
+密議 < mitsugi\ ;
+香車 < kyousha\ ;
+俗累 < zokurui\ ;
+長椅子 < nagaisu\ ;
+聾唖者 < rouasha\ ;
+停泊 < teihaku\ ;
+楊柳 < youryuu\ ;
+小舅 < kojuuto\ ;
+自決 < jiketsu\ ;
+百事 < hyakuji\ ;
+密語 < mitsugo\ ;
+胸襟 < kyoukin\ ;
+尿管 < nyoukan\ ;
+鬱屈 < ukkutsu\ ;
+軍属 < gunzoku\ ;
+文字盤 < mojiban\ ;
+痛憤 < tsuufun\ ;
+五十音 < gojuuon\ ;
+山番 < yamaban\ ;
+楽想 < gakusou\ ;
+自殺 < jisatsu\ ;
+脱臼 < dakkyuu\ ;
+首足 < shusoku\ ;
+脱臭 < dasshuu\ ;
+軍将 < gunshou\ ;
+傷悴 < shousui\ ;
+偏流 < henryuu\ ;
+脳膜 < noumaku\ ;
+現高 < gendaka\ ;
+臣民 < shinmin\ ;
+鬼婆 < onibaba\ ;
+作詩 < sakushi\ ;
+脱腸 < datchou\ ;
+宅配 < takuhai\ ;
+休錘 < kyuusui\ ;
+田畑 < denpata\ ;
+痛恨 < tsuukon\ ;
+至極 < shigoku\ ;
+極悪 < gokuaku\ ;
+安逸 < an''itsu\ ;
+天婦羅 < tenpura\ ;
+僻地 < hekichi\ ;
+僻在 < hekizai\ ;
+定跡 < jouseki\ ;
+輪作 < rinsaku\ ;
+岩波 < iwanami\ ;
+峻拒 < shunkyo\ ;
+良妻 < ryousai\ ;
+臆測 < okusoku\ ;
+産痛 < santsuu\ ;
+寝道具 < nedougu\ ;
+職階 < shokkai\ ;
+畝溝 < unemizo\ ;
+極微 < kyokubi\ ;
+異分子 < ibunshi\ ;
+膜状 < makujou\ ;
+甘皮 < amakawa\ ;
+赤蕪 < akakabu\ ;
+山犬 < yamainu\ ;
+俊童 < shundou\ ;
+楽師 < gakushi\ ;
+桑色 < kuwairo\ ;
+腕章 < wanshou\ ;
+馬術 < bajutsu\ ;
+病態 < byoutai\ ;
+腕立 < udetate\ ;
+腹癒 < haraise\ ;
+舞扇 < maiougi\ ;
+寮舎 < ryousha\ ;
+極度 < kyokudo\ ;
+偕楽 < kairaku\ ;
+球面 < kyuumen\ ;
+小編 < shouhen\ ;
+自販機 < jihanki\ ;
+病患 < byoukan\ ;
+客語 < kyakugo\ ;
+枕頭 < chintou\ ;
+極左 < kyokusa\ ;
+瓢箪 < hyoutan\ ;
+八重垣 < yaegaki\ ;
+芸事 < geigoto\ ;
+植樹 < shokuju\ ;
+実話 < jitsuwa\ ;
+疾患 < shikkan\ ;
+無価値 < mukachi\ ;
+桃色 < momoiro\ ;
+検校 < kengyou\ ;
+実証 < jisshou\ ;
+今頃 < imagoro\ ;
+腰痛 < youtsuu\ ;
+小粒 < kotsubu\ ;
+業師 < wazashi\ ;
+花代 < hanadai\ ;
+客観 < kyakkan\ ;
+俗眼 < zokugan\ ;
+使臣 < shishin\ ;
+寒菊 < kangiku\ ;
+人事院 < jinjiin\ ;
+休載 < kyuusai\ ;
+尻目 < shirime\ ;
+定評 < teihyou\ ;
+休転 < kyuuten\ ;
+病弊 < byouhei\ ;
+傷害 < shougai\ ;
+定訳 < teiyaku\ ;
+軍国 < gunkoku\ ;
+魔力 < maryoku\ ;
+検束 < kensoku\ ;
+不夜城 < fuyajou\ ;
+居留 < kyoryuu\ ;
+美丈夫 < bijoufu\ ;
+荏胡麻油 < egomayu\ ;
+岩棚 < iwadana\ ;
+仏陀 < butsuda\ ;
+害虫 < gaichuu\ ;
+就眠 < shuumin\ ;
+脇能 < wakinou\ ;
+億兆 < okuchou\ ;
+病巣 < byousou\ ;
+赤膚 < akahada\ ;
+小童 < kowappa\ ;
+仏閣 < bukkaku\ ;
+易損品 < isonhin\ ;
+仏間 < butsuma\ ;
+赤腹 < akahara\ ;
+尼僧院 < nisouin\ ;
+腎石 < jinseki\ ;
+良品 < ryouhin\ ;
+胃袋 < ibukuro\ ;
+無理数 < murisuu\ ;
+峻嶺 < shunrei\ ;
+儒仏 < jubutsu\ ;
+魅力 < miryoku\ ;
+貸間 < kashima\ ;
+胸臆 < kyouoku\ ;
+無韻詩 < muinshi\ ;
+魚信 < gyoshin\ ;
+腕白 < wanpaku\ ;
+多様化 < tayouka\ ;
+胸腺 < kyousen\ ;
+京風 < kyoufuu\ ;
+楽天 < rakuten\ ;
+良友 < ryouyuu\ ;
+脱穀 < dakkoku\ ;
+班長 < hanchou\ ;
+伝誦 < denshou\ ;
+尊称 < sonshou\ ;
+偃月 < engetsu\ ;
+対策 < taisaku\ ;
+借款 < shakkan\ ;
+楽壇 < gakudan\ ;
+便益 < ben''eki\ ;
+会読 < kaidoku\ ;
+棺桶 < kan''oke\ ;
+低落 < teiraku\ ;
+病害 < byougai\ ;
+偉方 < eragata\ ;
+皮膚科医 < hifukai\ ;
+界標 < kaihyou\ ;
+賃銭 < chinsen\ ;
+佞臣 < neishin\ ;
+余色 < yoshoku\ ;
+飲食 < inshoku\ ;
+屋根裏 < yaneura\ ;
+傾国 < keikoku\ ;
+暴風雨 < boufuuu\ ;
+係留 < keiryuu\ ;
+男気 < otokogi\ ;
+楓属 < fuuzoku\ ;
+胃薬 < igusuri\ ;
+仙郷 < senkyou\ ;
+栗色 < kuriiro\ ;
+購読 < koudoku\ ;
+生理日 < seiribi\ ;
+車力 < shariki\ ;
+分限者 < bugenja\ ;
+臥所 < fushido\ ;
+体臭 < taishuu\ ;
+馬脚 < bakyaku\ ;
+寸秒 < sunbyou\ ;
+人事部 < jinjibu\ ;
+起筆 < kihitsu\ ;
+駐米 < chuubei\ ;
+乾魚 < hoshiuo\ ;
+鸚鵡貝 < oumugai\ ;
+肝要 < kan''you\ ;
+森林 < shinrin\ ;
+赤組 < akagumi\ ;
+転任 < ten''nin\ ;
+格納 < kakunou\ ;
+小癪 < koshaku\ ;
+赤紙 < akagami\ ;
+驚歎 < kyoutan\ ;
+起立 < kiritsu\ ;
+一丁字 < itteiji\ ;
+作者 < sakusha\ ;
+食餌 < shokuji\ ;
+腸満 < chouman\ ;
+仲買 < nakagai\ ;
+分離派 < bunriha\ ;
+小細工 < kozaiku\ ;
+病変 < byouhen\ ;
+暗号化 < angouka\ ;
+僥倖 < gyoukou\ ;
+賠責 < baiseki\ ;
+賞賛 < shousan\ ;
+尊皇 < son''nou\ ;
+玄麦 < genbaku\ ;
+脈管 < myakkan\ ;
+枢軸 < suujiku\ ;
+舞姫 < maihime\ ;
+痛嘆 < tsuutan\ ;
+尨犬 < mukuinu\ ;
+棟梁 < touryou\ ;
+右往左往 < uousaou\ ;
+印度洋 < indoyou\ ;
+塩素酸 < ensosan\ ;
+屠殺 < tosatsu\ ;
+賊軍 < zokugun\ ;
+腸液 < choueki\ ;
+舎宅 < shataku\ ;
+身命 < shinmei\ ;
+依頼人 < irainin\ ;
+疫学 < ekigaku\ ;
+小町 < komachi\ ;
+小男 < kootoko\ ;
+腰湯 < koshiyu\ ;
+射的 < shateki\ ;
+脳病 < noubyou\ ;
+小生 < shousei\ ;
+父母会 < fubokai\ ;
+山椒 < sanshou\ ;
+佳節 < kasetsu\ ;
+今週 < konshuu\ ;
+聖週 < seishuu\ ;
+飲酒家 < inshuka\ ;
+不認可 < funinka\ ;
+低翼 < teiyoku\ ;
+色事 < irogoto\ ;
+柿色 < kakiiro\ ;
+田楽 < dengaku\ ;
+今迄 < imamade\ ;
+乾飯 < hoshiii\ ;
+良人 < ryoujin\ ;
+宿縁 < shukuen\ ;
+臣従 < shinjuu\ ;
+腹水 < fukusui\ ;
+跋渉 < basshou\ ;
+町村 < chouson\ ;
+倒木 < touboku\ ;
+慰労会 < iroukai\ ;
+臨席 < rinseki\ ;
+修正 < shuusei\ ;
+木魚 < mokugyo\ ;
+豆腐屋 < toufuya\ ;
+高声 < takagoe\ ;
+併称 < heishou\ ;
+分離機 < bunriki\ ;
+概則 < gaisoku\ ;
+耐震 < taishin\ ;
+栄職 < eishoku\ ;
+仏跡 < busseki\ ;
+火炎瓶 < kaenbin\ ;
+貫通 < kantsuu\ ;
+聖蹟 < seiseki\ ;
+島国 < tougoku\ ;
+産業 < sangyou\ ;
+腰気 < koshike\ ;
+傷創 < shousou\ ;
+食間 < shokkan\ ;
+御多分 < gotabun\ ;
+仮親 < karioya\ ;
+育苗 < ikubyou\ ;
+官能 < kan''nou\ ;
+賃貸 < chintai\ ;
+岡惚 < okabore\ ;
+枝豆 < edamame\ ;
+聴許 < choukyo\ ;
+生業 < nariwai\ ;
+代読 < daidoku\ ;
+現象 < genshou\ ;
+実習 < jisshuu\ ;
+仲裁 < chuusai\ ;
+小爪 < kodzume\ ;
+疎密 < somitsu\ ;
+聴解 < choukai\ ;
+貧農 < hin''nou\ ;
+臨時費 < rinjihi\ ;
+代診 < daishin\ ;
+聴視 < choushi\ ;
+属格 < zokkaku\ ;
+傷兵 < shouhei\ ;
+楽典 < gakuten\ ;
+画数 < kakusuu\ ;
+膺懲 < youchou\ ;
+倍旧 < baikyuu\ ;
+大太鼓 < oodaiko\ ;
+高圧 < kouatsu\ ;
+町政 < chousei\ ;
+極刑 < kyokkei\ ;
+如何程 < ikahodo\ ;
+牡牛座 < oushiza\ ;
+病名 < byoumei\ ;
+加工費 < kakouhi\ ;
+梶棒 < kajibou\ ;
+極冠 < kyokkan\ ;
+極内 < gokunai\ ;
+病友 < byouyuu\ ;
+骰子 < saikoro\ ;
+岡引 < okahiki\ ;
+傴僂 < semushi\ ;
+朱鞘 < shuzaya\ ;
+人事課 < jinjika\ ;
+実績 < jisseki\ ;
+病原 < byougen\ ;
+極光 < kyokkou\ ;
+亨通 < koutsuu\ ;
+本領 < honryou\ ;
+人跡 < hitoato\ ;
+付設 < fusetsu\ ;
+首級 < shukyuu\ ;
+供物 < kumotsu\ ;
+峻厳 < shungen\ ;
+象限 < shougen\ ;
+身体 < shintai\ ;
+至妙 < shimyou\ ;
+甘栗 < amaguri\ ;
+仕訳 < shiwake\ ;
+躍動 < yakudou\ ;
+代表 < daihyou\ ;
+野良犬 < norainu\ ;
+病勢 < byousei\ ;
+容積 < youseki\ ;
+仏語 < butsugo\ ;
+腰椎 < youtsui\ ;
+身代 < shindai\ ;
+日本間 < nihonma\ ;
+玉音 < gyokuon\ ;
+大豆油 < daizuyu\ ;
+寓目 < guumoku\ ;
+来週 < raishuu\ ;
+船側 < sensoku\ ;
+本震 < honshin\ ;
+木靴 < kigutsu\ ;
+香箱 < koubako\ ;
+朝風 < asakaze\ ;
+児童画 < jidouga\ ;
+演舞場 < enbujou\ ;
+岩山 < iwayama\ ;
+楽人 < gakujin\ ;
+豆類 < mamerui\ ;
+官給 < kankyuu\ ;
+玉露 < gyokuro\ ;
+船便 < funabin\ ;
+催促 < saisoku\ ;
+生新 < seishin\ ;
+超然 < chouzen\ ;
+伝習 < denshuu\ ;
+留年 < ryuunen\ ;
+贅肉 < zeiniku\ ;
+高台 < takadai\ ;
+岩室 < iwamuro\ ;
+俵数 < hyousuu\ ;
+学芸 < gakugei\ ;
+男手 < otokode\ ;
+似非事 < esegoto\ ;
+梅毒 < baidoku\ ;
+不結果 < fukekka\ ;
+朝靄 < asamoya\ ;
+屈服 < kuppuku\ ;
+朝霧 < asagiri\ ;
+肌色 < hadairo\ ;
+学舎 < gakusha\ ;
+極上 < gokujou\ ;
+症候 < shoukou\ ;
+船中 < senchuu\ ;
+肉色 < nikuiro\ ;
+修改 < shuukai\ ;
+岸壁 < ganpeki\ ;
+人証 < ninshou\ ;
+略字 < ryakuji\ ;
+修撰 < shuusen\ ;
+地下化 < chikaka\ ;
+伏罪 < fukuzai\ ;
+密画 < mitsuga\ ;
+八百長 < yaochou\ ;
+餡蜜 < anmitsu\ ;
+耽読 < tandoku\ ;
+肉腫 < nikushu\ ;
+俗書 < zokusho\ ;
+老醜 < roushuu\ ;
+驕慢 < kyouman\ ;
+倔強 < kukkyou\ ;
+病人 < byounin\ ;
+偏執 < henshuu\ ;
+過飽和 < kahouwa\ ;
+乳酸 < nyuusan\ ;
+佯狂 < youkyou\ ;
+曳馬 < hikiuma\ ;
+対流 < tairyuu\ ;
+顔黒 < ganguro\ ;
+伏縫 < fusenui\ ;
+曲馬 < kyokuba\ ;
+赤燐 < sekirin\ ;
+傑作 < kessaku\ ;
+瑞祥 < zuishou\ ;
+伏線 < fukusen\ ;
+傀儡 < kugutsu\ ;
+珍談 < chindan\ ;
+俗文 < zokubun\ ;
+倒幕 < toubaku\ ;
+家畜 < kachiku\ ;
+中飯 < chuuhan\ ;
+球菌 < kyuukin\ ;
+早少女 < saotome\ ;
+中風 < chuubuu\ ;
+風鎮 < fuuchin\ ;
+借屋 < shakuya\ ;
+島中 < touchuu\ ;
+宝石 < houseki\ ;
+胆石 < tanseki\ ;
+山師 < yamashi\ ;
+木金 < mokukin\ ;
+如何物 < ikamono\ ;
+属性 < zokusei\ ;
+来診 < raishin\ ;
+版画家 < hangaka\ ;
+便服 < benpuku\ ;
+亡親 < boushin\ ;
+仕草 < shigusa\ ;
+九重 < kokonoe\ ;
+俊敏 < shunbin\ ;
+踊字 < odoriji\ ;
+山峡 < yamakai\ ;
+赤潮 < akashio\ ;
+学級 < gakkyuu\ ;
+略図 < ryakuzu\ ;
+両頭 < ryoutou\ ;
+尚更 < naosara\ ;
+中隊 < chuutai\ ;
+木造 < mokuzou\ ;
+伝票 < denpyou\ ;
+朝酒 < asazake\ ;
+寂然 < sekizen\ ;
+専業 < sengyou\ ;
+跡形 < atokata\ ;
+偶作 < guusaku\ ;
+小柄 < kodzuka\ ;
+聴罪 < chouzai\ ;
+余熱 < yonetsu\ ;
+両面 < ryoumen\ ;
+信愛 < shin''ai\ ;
+俗才 < zokusai\ ;
+存続 < sonzoku\ ;
+望郷 < boukyou\ ;
+宝生 < houshou\ ;
+美髪 < bihatsu\ ;
+中間 < chuukan\ ;
+一髪 < ippatsu\ ;
+仲継 < chuukei\ ;
+安着 < anchaku\ ;
+季節 < kisetsu\ ;
+愛飲者 < aiinsha\ ;
+二親 < futaoya\ ;
+豚足 < tonsoku\ ;
+余烈 < yoretsu\ ;
+松葉 < matsuba\ ;
+安直 < anchoku\ ;
+風速 < fuusoku\ ;
+顎髭 < agohige\ ;
+翼賛 < yokusan\ ;
+属島 < zokutou\ ;
+肺病 < haibyou\ ;
+実理 < jitsuri\ ;
+学童 < gakudou\ ;
+安定器 < anteiki\ ;
+棋客 < kikyaku\ ;
+末路 < matsuro\ ;
+駄菓子 < dagashi\ ;
+将来 < shourai\ ;
+了解 < ryoukai\ ;
+畑地 < hatachi\ ;
+男娼 < danshou\ ;
+孤立 < koritsu\ ;
+唐胡麻 < tougoma\ ;
+腹帯 < fukutai\ ;
+俗情 < zokujou\ ;
+了見 < ryouken\ ;
+丸鋼 < marukou\ ;
+俊才 < shunsai\ ;
+停音符 < teionpu\ ;
+俗悪 < zokuaku\ ;
+職組 < shokuso\ ;
+群集 < gunshuu\ ;
+群雄 < gun''yuu\ ;
+山姥 < yamauba\ ;
+上顎 < jougaku\ ;
+寝殿 < shinden\ ;
+少数 < shousuu\ ;
+園芸家 < engeika\ ;
+小斎 < shousai\ ;
+投影機 < toueiki\ ;
+脂気 < aburake\ ;
+尽忠 < jinchuu\ ;
+英吉利 < igirisu\ ;
+条虫 < jouchuu\ ;
+略叙 < ryakujo\ ;
+美食 < bishoku\ ;
+山奥 < yamaoku\ ;
+珍蔵 < chinzou\ ;
+無声音 < museion\ ;
+俗念 < zokunen\ ;
+格段 < kakudan\ ;
+一食 < isshoku\ ;
+獄門 < gokumon\ ;
+唐茄子 < tounasu\ ;
+日本語 < nihongo\ ;
+乱調 < ranchou\ ;
+人臣 < jinshin\ ;
+一類 < ichirui\ ;
+乱読 < randoku\ ;
+亀裂 < kiretsu\ ;
+胸水 < kyousui\ ;
+枠線 < wakusen\ ;
+休眠 < kyuumin\ ;
+臨休 < rinkyuu\ ;
+従三位 < jusanmi\ ;
+婦女子 < fujoshi\ ;
+伏目 < fushime\ ;
+万難 < ban''nan\ ;
+屎尿 < shinyou\ ;
+上陸 < jouriku\ ;
+尺度 < shakudo\ ;
+万障 < banshou\ ;
+最適 < saiteki\ ;
+就役 < shuueki\ ;
+一面 < ichimen\ ;
+対敵 < taiteki\ ;
+工事費 < koujihi\ ;
+温度計 < ondokei\ ;
+仏縁 < butsuen\ ;
+仕組 < shikumi\ ;
+桐材 < kirizai\ ;
+射撃 < shageki\ ;
+安定化 < anteika\ ;
+一雨 < hitoame\ ;
+柱状 < chuujou\ ;
+作況 < sakkyou\ ;
+一難 < ichinan\ ;
+山地 < yamachi\ ;
+法螺貝 < horagai\ ;
+胴欲 < douyoku\ ;
+額面 < gakumen\ ;
+珍芸 < chingei\ ;
+森厳 < shingen\ ;
+男囚 < danshuu\ ;
+梯子 < hashigo\ ;
+枕絵 < makurae\ ;
+番傘 < bangasa\ ;
+非常時 < hijouji\ ;
+一陣 < ichijin\ ;
+仏経 < bukkyou\ ;
+頬髭 < hoohige\ ;
+未設 < misetsu\ ;
+略儀 < ryakugi\ ;
+主軸 < shujiku\ ;
+頬骨 < hoobone\ ;
+乱行 < rangyou\ ;
+肉眼 < nikugan\ ;
+中道 < chuudou\ ;
+客演 < kyakuen\ ;
+完熟 < kanjuku\ ;
+一門 < ichimon\ ;
+暗鬱 < an''utsu\ ;
+八千代 < yachiyo\ ;
+植付 < uetsuke\ ;
+理窟 < rikutsu\ ;
+実演 < jitsuen\ ;
+尼寺 < amadera\ ;
+中農 < chuunou\ ;
+村落 < sonraku\ ;
+末裔 < matsuei\ ;
+尺寸 < sekisun\ ;
+木製 < mokusei\ ;
+佗歌 < wabiuta\ ;
+修士 < shuushi\ ;
+風評 < fuuhyou\ ;
+番人 < ban''nin\ ;
+害毒 < gaidoku\ ;
+朗読 < roudoku\ ;
+実測 < jissoku\ ;
+生垣 < ikegaki\ ;
+属国 < zokkoku\ ;
+五色 < goshoku\ ;
+赤札 < akafuda\ ;
+不細工 < busaiku\ ;
+板締 < itajime\ ;
+珍聞 < chinbun\ ;
+余水路 < yosuiro\ ;
+町名 < choumei\ ;
+朝見 < chouken\ ;
+暮雪 < bosetsu\ ;
+佳月 < kagetsu\ ;
+肉界 < nikukai\ ;
+来聴 < raichou\ ;
+任用 < nin''you\ ;
+胸板 < munaita\ ;
+信奉 < shinpou\ ;
+板紙 < itagami\ ;
+二色 < nishoku\ ;
+駐支 < chuushi\ ;
+曲路 < kyokuro\ ;
+少弟 < shoutei\ ;
+相違点 < souiten\ ;
+両輪 < ryourin\ ;
+木蝋 < mokurou\ ;
+一錠 < ichijou\ ;
+実況 < jikkyou\ ;
+赤旗 < akahata\ ;
+係属 < keizoku\ ;
+両軍 < ryougun\ ;
+胎毒 < taidoku\ ;
+留任 < ryuunin\ ;
+朽葉 < kuchiba\ ;
+曼荼羅 < mandara\ ;
+山勘 < yamakan\ ;
+少年 < shounen\ ;
+今程 < imahodo\ ;
+駒損 < komason\ ;
+罪障 < zaishou\ ;
+小店 < shouten\ ;
+地雷火 < jiraika\ ;
+公務員 < koumuin\ ;
+宿根 < shukkon\ ;
+月評 < geppyou\ ;
+案山子 < kakashi\ ;
+下部 < shimobe\ ;
+束群 < sokugun\ ;
+実母 < jitsubo\ ;
+不達 < futatsu\ ;
+古代語 < kodaigo\ ;
+生一本 < kiippon\ ;
+下達 < katatsu\ ;
+飛脚 < hikyaku\ ;
+町内 < chounai\ ;
+月見 < tsukimi\ ;
+俗塵 < zokujin\ ;
+個別 < kobetsu\ ;
+属名 < zokumei\ ;
+付着 < fuchaku\ ;
+上進 < joushin\ ;
+猟銃 < ryoujuu\ ;
+交絡 < kouraku\ ;
+何某 < nanibou\ ;
+身贔屓 < mibiiki\ ;
+仕着 < shikise\ ;
+木蔦 < kidzuta\ ;
+肉片 < nikuhen\ ;
+男優 < dan''yuu\ ;
+木蓮 < mokuren\ ;
+未整理 < miseiri\ ;
+予科生 < yokasei\ ;
+曲譜 < kyokufu\ ;
+肥溜 < koedame\ ;
+賞玩 < shougan\ ;
+借人 < karinin\ ;
+俊士 < shunshi\ ;
+書評 < shohyou\ ;
+密教 < mikkyou\ ;
+一道 < ichidou\ ;
+一遇 < ichiguu\ ;
+書証 < shoshou\ ;
+貫禄 < kanroku\ ;
+未経過 < mikeika\ ;
+越年 < etsunen\ ;
+一連 < ichiren\ ;
+三軸 < sanjiku\ ;
+老臣 < roushin\ ;
+条約 < jouyaku\ ;
+豆蔵 < mamezou\ ;
+余日 < yojitsu\ ;
+球界 < kyuukai\ ;
+作文 < sakubun\ ;
+海松貝 < mirugai\ ;
+低木 < teiboku\ ;
+馬方 < umakata\ ;
+乱臣 < ranshin\ ;
+何時 < nandoki\ ;
+赤手 < sekishu\ ;
+倒伏 < toufuku\ ;
+曲解 < kyokkai\ ;
+一輪 < ichirin\ ;
+尊容 < son''you\ ;
+上足 < jousoku\ ;
+両論 < ryouron\ ;
+一軍 < ichigun\ ;
+町人 < chounin\ ;
+上越 < jouetsu\ ;
+局員 < kyokuin\ ;
+専属 < senzoku\ ;
+何故 < naniyue\ ;
+介病 < kaibyou\ ;
+仏画 < butsuga\ ;
+脱字 < datsuji\ ;
+猛追 < moutsui\ ;
+贅沢 < zeitaku\ ;
+信号 < shingou\ ;
+田作 < densaku\ ;
+兵児帯 < hekoobi\ ;
+山中 < sanchuu\ ;
+本腹 < honpuku\ ;
+五節 < gosetsu\ ;
+主虹 < shuniji\ ;
+並製 < namisei\ ;
+甚六 < jinroku\ ;
+赤恥 < akahaji\ ;
+身奇麗 < migirei\ ;
+朱肉 < shuniku\ ;
+余接 < yosetsu\ ;
+検査員 < kensain\ ;
+甲乙 < kouotsu\ ;
+井筒 < idzutsu\ ;
+本能 < hon''nou\ ;
+瑣末 < samatsu\ ;
+人皇 < nin''nou\ ;
+人的 < jinteki\ ;
+脆弱 < zeijaku\ ;
+饑渇 < kikatsu\ ;
+主薬 < shuyaku\ ;
+危機感 < kikikan\ ;
+赤茄子 < akanasu\ ;
+官有 < kan''yuu\ ;
+他物 < tabutsu\ ;
+羽虫 < hamushi\ ;
+産休 < sankyuu\ ;
+作戦 < sakusen\ ;
+伯林 < berurin\ ;
+背教 < haikyou\ ;
+豊胸 < houkyou\ ;
+柳条 < ryuujou\ ;
+端武者 < hamusha\ ;
+生乳 < seinyuu\ ;
+印度人 < indojin\ ;
+内安打 < naianda\ ;
+肉池 < nikuchi\ ;
+三角 < sankaku\ ;
+下見 < shitami\ ;
+伏樋 < fusedoi\ ;
+肉汁 < nikujuu\ ;
+屋根板 < yaneita\ ;
+無期刑 < mukikei\ ;
+玄翁 < gen''nou\ ;
+記念碑 < kinenhi\ ;
+一説 < issetsu\ ;
+駐屯 < chuuton\ ;
+就労 < shuurou\ ;
+買物 < kaimono\ ;
+都市化 < toshika\ ;
+居候 < isourou\ ;
+服膺 < fukuyou\ ;
+枯渇 < kokatsu\ ;
+風習 < fuushuu\ ;
+乗羃 < joubeki\ ;
+屈伸 < kusshin\ ;
+俗僧 < zokusou\ ;
+府知事 < fuchiji\ ;
+内耳炎 < naijien\ ;
+本給 < honkyuu\ ;
+中葉 < chuuyou\ ;
+罪跡 < zaiseki\ ;
+飛礫 < tsubute\ ;
+条目 < joumoku\ ;
+一覧 < ichiran\ ;
+密度 < mitsudo\ ;
+上表 < jouhyou\ ;
+北京語 < pekingo\ ;
+下血 < geketsu\ ;
+足労 < sokurou\ ;
+小善 < shouzen\ ;
+仮決 < kaketsu\ ;
+井目 < seimoku\ ;
+尚又 < naomata\ ;
+犬小屋 < inugoya\ ;
+暗躍 < an''yaku\ ;
+彼岸会 < higan''e\ ;
+貨物 < kamotsu\ ;
+実技 < jitsugi\ ;
+本籤 < honkuji\ ;
+脱営 < datsuei\ ;
+体得 < taitoku\ ;
+本籍 < honseki\ ;
+小品 < shouhin\ ;
+有職 < yuusoku\ ;
+佳客 < kakyaku\ ;
+美術 < bijutsu\ ;
+赤子 < sekishi\ ;
+害心 < gaishin\ ;
+昼餐 < chuusan\ ;
+二着 < nichaku\ ;
+相弟子 < aideshi\ ;
+俗伝 < zokuden\ ;
+核子 < kakushi\ ;
+本箱 < honbako\ ;
+二直 < nichoku\ ;
+馬市 < umaichi\ ;
+何年 < nan''nen\ ;
+小口 < koguchi\ ;
+松煤 < shoubai\ ;
+本筋 < honsuji\ ;
+東独 < toudoku\ ;
+獣肉 < juuniku\ ;
+二百 < nihyaku\ ;
+曲舞 < kusemai\ ;
+珍獣 < chinjuu\ ;
+本章 < honshou\ ;
+主翼 < shuyoku\ ;
+群落 < gunraku\ ;
+飴玉 < amedama\ ;
+耄碌 < mouroku\ ;
+宮廷 < kyuutei\ ;
+就任 < shuunin\ ;
+妙齢 < myourei\ ;
+時雨 < shigure\ ;
+木立 < kodachi\ ;
+王立 < ouritsu\ ;
+小勇 < shouyuu\ ;
+職権 < shokken\ ;
+寄宿 < kishuku\ ;
+鳳凰座 < hououza\ ;
+背徳 < haitoku\ ;
+格外 < kakugai\ ;
+咽頭炎 < intouen\ ;
+上蔟 < jouzoku\ ;
+中背 < chuuzei\ ;
+赤外 < sekigai\ ;
+両舷 < ryougen\ ;
+季末 < kimatsu\ ;
+松濤 < shoutou\ ;
+柄杓 < hishaku\ ;
+独走 < dokusou\ ;
+投影図 < toueizu\ ;
+玉稿 < gyokkou\ ;
+便侫 < ben''nei\ ;
+不衛生 < fueisei\ ;
+他殺 < tasatsu\ ;
+下葉 < shitaba\ ;
+足代 < ashidai\ ;
+中老 < chuurou\ ;
+月給 < gekkyuu\ ;
+駐在 < chuuzai\ ;
+両腕 < ryouude\ ;
+獄舎 < gokusha\ ;
+導入 < dounyuu\ ;
+整理部 < seiribu\ ;
+入母屋 < irimoya\ ;
+乙種 < otsushu\ ;
+牝鶏 < mendori\ ;
+多趣味 < tashumi\ ;
+孟春 < moushun\ ;
+供勢 < tomozei\ ;
+審問 < shinmon\ ;
+介殻 < kaikaku\ ;
+一葉 < ichiyou\ ;
+最終 < saishuu\ ;
+乳癌 < nyuugan\ ;
+耽溺 < tandeki\ ;
+住宅 < juutaku\ ;
+超勤 < choukin\ ;
+老病 < roubyou\ ;
+賓格 < hinkaku\ ;
+朝礼 < chourei\ ;
+音記号 < onkigou\ ;
+小便 < shonben\ ;
+封入 < fuunyuu\ ;
+春雷 < shunrai\ ;
+小坊主 < kobouzu\ ;
+中編 < chuuhen\ ;
+未着 < michaku\ ;
+書経 < shokyou\ ;
+寸刻 < sunkoku\ ;
+事物 < jibutsu\ ;
+仕業 < shiwaza\ ;
+日本画 < nihonga\ ;
+現業 < gengyou\ ;
+曳網 < hikiami\ ;
+尊信 < sonshin\ ;
+超凡 < choubon\ ;
+仲断 < chuudan\ ;
+小伝 < shouden\ ;
+鞦韆 < buranko\ ;
+紀元後 < kigengo\ ;
+乱用 < ran''you\ ;
+七色 < nanairo\ ;
+上膊 < jouhaku\ ;
+何奴 < doyatsu\ ;
+体温器 < taionki\ ;
+一芸 < ichigei\ ;
+犬釘 < inukugi\ ;
+未発 < mihatsu\ ;
+小人 < shounin\ ;
+佗声 < wabigoe\ ;
+一色 < hitoiro\ ;
+主筋 < shusuji\ ;
+中糸 < chuuito\ ;
+資格 < shikaku\ ;
+書籍 < shoseki\ ;
+宿場 < shukuba\ ;
+春闘 < shuntou\ ;
+暴落 < bouraku\ ;
+京洛 < keiraku\ ;
+万能 < man''nou\ ;
+三育 < san''iku\ ;
+三股 < sanmata\ ;
+一膳 < ichizen\ ;
+特電 < tokuden\ ;
+順調 < junchou\ ;
+羽箒 < habouki\ ;
+脚光 < kyakkou\ ;
+独裁 < dokusai\ ;
+羊膜 < youmaku\ ;
+末生 < suenari\ ;
+査察 < sasatsu\ ;
+上翼 < jouyoku\ ;
+休怠 < kyuutai\ ;
+乱獲 < rankaku\ ;
+義絶 < gizetsu\ ;
+昇順 < shoujun\ ;
+現有 < gen''yuu\ ;
+貝殼 < kaigara\ ;
+物音 < monooto\ ;
+微温湯 < biontou\ ;
+主神 < shushin\ ;
+玉璽 < gyokuji\ ;
+会席 < kaiseki\ ;
+狼藉 < rouzeki\ ;
+羊肉 < youniku\ ;
+預血 < yoketsu\ ;
+貴婦人 < kifujin\ ;
+風疹 < fuushin\ ;
+玉瑛 < gyokuei\ ;
+宿営 < shukuei\ ;
+他日 < tajitsu\ ;
+老熟 < roujuku\ ;
+資料 < shiryou\ ;
+駐兵 < chuuhei\ ;
+右大臣 < udaijin\ ;
+低圧 < teiatsu\ ;
+松楓 < shoufuu\ ;
+今朝 < konchou\ ;
+丹碧 < tanpeki\ ;
+暮色 < boshoku\ ;
+仕方 < shikata\ ;
+帰化人 < kikajin\ ;
+今更 < imasara\ ;
+密告 < mikkoku\ ;
+犯跡 < hanseki\ ;
+貴札 < kisatsu\ ;
+飄然 < hyouzen\ ;
+今暁 < kongyou\ ;
+早馬 < hayauma\ ;
+作品 < sakuhin\ ;
+負極 < fukyoku\ ;
+戦後派 < sengoha\ ;
+人格 < jinkaku\ ;
+本物 < honmono\ ;
+今時 < imadoki\ ;
+来歴 < raireki\ ;
+音訳 < on''yaku\ ;
+今春 < konshun\ ;
+貯木 < choboku\ ;
+買春 < baishun\ ;
+富力 < furyoku\ ;
+上級 < joukyuu\ ;
+上紙 < uwagami\ ;
+聚散 < shuusan\ ;
+上紐 < uwahimo\ ;
+今方 < imagata\ ;
+木版 < mokuhan\ ;
+木片 < mokuhen\ ;
+背圧 < haiatsu\ ;
+肉弾 < nikudan\ ;
+獄窓 < gokusou\ ;
+学年 < gakunen\ ;
+客土 < kyakudo\ ;
+譴責 < kenseki\ ;
+低唱 < teishou\ ;
+旧風 < kyuufuu\ ;
+存念 < zon''nen\ ;
+率爾 < sotsuji\ ;
+学帽 < gakubou\ ;
+本然 < hon''nen\ ;
+狂言 < kyougen\ ;
+仕掛 < shikake\ ;
+株券 < kabuken\ ;
+飛沫 < himatsu\ ;
+風狂 < fuukyou\ ;
+子息 < shisoku\ ;
+馬匹 < bahitsu\ ;
+書目 < shomoku\ ;
+上箱 < uwabako\ ;
+胸像 < kyouzou\ ;
+胴元 < doumoto\ ;
+暗色 < anshoku\ ;
+完壁 < kanbeki\ ;
+胆嚢 < tan''nou\ ;
+豊熟 < houjuku\ ;
+上策 < jousaku\ ;
+顎紐 < agohimo\ ;
+木炭 < mokutan\ ;
+余力 < yoryoku\ ;
+受像機 < juzouki\ ;
+中盤 < chuuban\ ;
+記念樹 < kinenju\ ;
+耳栓 < mimisen\ ;
+余割 < yokatsu\ ;
+万策 < bansaku\ ;
+令息 < reisoku\ ;
+粉微塵 < komijin\ ;
+片面 < katamen\ ;
+為政者 < iseisha\ ;
+特配 < tokuhai\ ;
+乳清 < nyuusei\ ;
+日露 < nichiro\ ;
+大犬座 < ooinuza\ ;
+日時計 < hidokei\ ;
+乳液 < nyuueki\ ;
+献立 < kondate\ ;
+両眼 < ryougan\ ;
+何処 < dokoira\ ;
+豆炭 < mametan\ ;
+実員 < jitsuin\ ;
+珍本 < chinpon\ ;
+代役 < daiyaku\ ;
+乱流 < ranryuu\ ;
+一端 < ippashi\ ;
+珍書 < chinsho\ ;
+何共 < nantomo\ ;
+寒中 < kanchuu\ ;
+時事論 < jijiron\ ;
+中瓶 < chuubin\ ;
+万福 < manpuku\ ;
+職工 < shokkou\ ;
+宅地 < takuchi\ ;
+乳汁 < nyuujuu\ ;
+校倉 < azekura\ ;
+翕然 < kyuuzen\ ;
+保養院 < hoyouin\ ;
+新鮮 < shinsen\ ;
+豊漁 < houryou\ ;
+譫言 < uwagoto\ ;
+朝潮 < asashio\ ;
+自然薯 < jinenjo\ ;
+保健所 < hokenjo\ ;
+風潮 < fuuchou\ ;
+胴中 < dounaka\ ;
+頚肉 < keiniku\ ;
+作例 < sakurei\ ;
+離弁花 < ribenka\ ;
+本流 < honryuu\ ;
+密事 < mitsuji\ ;
+仰山 < gyousan\ ;
+仏恩 < butsuon\ ;
+次世代 < jisedai\ ;
+他律 < taritsu\ ;
+来春 < raiharu\ ;
+不器用 < bukiyou\ ;
+現役 < gen''eki\ ;
+一礼 < ichirei\ ;
+順良 < junryou\ ;
+上石 < uwaishi\ ;
+実務 < jitsumu\ ;
+子局 < kokyoku\ ;
+手奇麗 < tegirei\ ;
+下着 < shitagi\ ;
+未決 < miketsu\ ;
+大黒 < daikoku\ ;
+塩基性 < enkisei\ ;
+仕度 < shitaku\ ;
+学外 < gakugai\ ;
+頬紅 < hoobeni\ ;
+面長 < omonaga\ ;
+識語 < shikigo\ ;
+低俗 < teizoku\ ;
+下目 < shitame\ ;
+杏林 < kyourin\ ;
+孑孑 < boufuri\ ;
+暗緑 < anryoku\ ;
+馬主 < banushi\ ;
+特赦 < tokusha\ ;
+不発 < fuhatsu\ ;
+何人 < nanpito\ ;
+記念日 < kinenbi\ ;
+高祖父 < kousofu\ ;
+今日中 < kyoujuu\ ;
+職安 < shokuan\ ;
+景色 < keshiki\ ;
+村有 < son''yuu\ ;
+材木 < zaimoku\ ;
+朧気 < oboroge\ ;
+万目 < banmoku\ ;
+露骨 < rokotsu\ ;
+仏座 < butsuza\ ;
+飛札 < hisatsu\ ;
+大鷺 < daisagi\ ;
+論駁 < ronbaku\ ;
+風流 < fuuryuu\ ;
+学報 < gakuhou\ ;
+肉声 < nikusei\ ;
+代将 < daishou\ ;
+豊沃 < houyoku\ ;
+萎黄病 < ioubyou\ ;
+聖廟 < seibyou\ ;
+家主 < yanushi\ ;
+一着 < itchaku\ ;
+一眼 < ichigan\ ;
+一眸 < ichibou\ ;
+識見 < shikken\ ;
+某国 < boukoku\ ;
+杉材 < sugizai\ ;
+一眠 < ichimin\ ;
+仁徳 < jintoku\ ;
+宛先 < atesaki\ ;
+擬古文 < gikobun\ ;
+新風 < shinpuu\ ;
+一直 < itchoku\ ;
+今年 < kon''nen\ ;
+胚乳 < hainyuu\ ;
+二日 < futsuka\ ;
+断食 < danjiki\ ;
+乳棒 < nyuubou\ ;
+下略 < geryaku\ ;
+瑞兆 < zuichou\ ;
+新顔 < shingao\ ;
+万病 < manbyou\ ;
+韻脚 < inkyaku\ ;
+地衣類 < chiirui\ ;
+翼棟 < yokutou\ ;
+三男 < san''nan\ ;
+材料 < zairyou\ ;
+婆羅門 < baramon\ ;
+官僚 < kanryou\ ;
+文鳥 < bunchou\ ;
+人徳 < nintoku\ ;
+仰天 < gyouten\ ;
+賊害 < zokugai\ ;
+題目 < daimoku\ ;
+人形 < ningyou\ ;
+牛車 < gyuusha\ ;
+賊子 < zokushi\ ;
+秘書課 < hishoka\ ;
+本業 < hongyou\ ;
+印画紙 < ingashi\ ;
+貧弱 < hinjaku\ ;
+爆風 < bakufuu\ ;
+老朽 < roukyuu\ ;
+早速 < sassoku\ ;
+旧道 < kyuudou\ ;
+老木 < rouboku\ ;
+特認 < tokunin\ ;
+本棚 < hondana\ ;
+妙趣 < myoushu\ ;
+物象 < busshou\ ;
+仏寺 < butsuji\ ;
+予想屋 < yosouya\ ;
+慈善家 < jizenka\ ;
+末梢 < masshou\ ;
+論難 < ron''nan\ ;
+土曜日 < doyoubi\ ;
+上玉 < joudama\ ;
+論集 < ronshuu\ ;
+林学 < ringaku\ ;
+学問 < gakumon\ ;
+豪族 < gouzoku\ ;
+職場 < shokuba\ ;
+本格 < honkaku\ ;
+会則 < kaisoku\ ;
+主流 < shuryuu\ ;
+既述 < kijutsu\ ;
+義烈 < giretsu\ ;
+降雨林 < kouurin\ ;
+物議 < butsugi\ ;
+貸家 < kashiya\ ;
+有毒 < yuudoku\ ;
+新開 < shinkai\ ;
+下物 < kabutsu\ ;
+仙女 < sen''nyo\ ;
+爆雷 < bakurai\ ;
+伏勢 < fusezei\ ;
+上物 < joumono\ ;
+朝風呂 < asaburo\ ;
+枠外 < wakugai\ ;
+本朝 < honchou\ ;
+特装 < tokusou\ ;
+領空 < ryoukuu\ ;
+学名 < gakumei\ ;
+旧蹟 < furuato\ ;
+末期 < matsugo\ ;
+木杯 < mokuhai\ ;
+再下付 < saikafu\ ;
+洋画家 < yougaka\ ;
+謬論 < byuuron\ ;
+木材 < mokuzai\ ;
+学友 < gakuyuu\ ;
+木本 < mokuhon\ ;
+下熱 < genetsu\ ;
+定規座 < jougiza\ ;
+来復 < raifuku\ ;
+木曜 < mokuyou\ ;
+曲浦 < kyokuho\ ;
+類焼 < ruishou\ ;
+風格 < fuukaku\ ;
+松屋 < matsuya\ ;
+頭目 < toumoku\ ;
+九月 < kugatsu\ ;
+伏兵 < fukuhei\ ;
+特融 < tokuyuu\ ;
+乱撃 < rangeki\ ;
+獣欲 < juuyoku\ ;
+天領 < tenryou\ ;
+需用家 < juyouka\ ;
+保健婦 < hokenfu\ ;
+豆板 < mameita\ ;
+購入 < kounyuu\ ;
+餅屋 < mochiya\ ;
+嫡披 < chakuhi\ ;
+朝来 < chourai\ ;
+謬見 < byuuken\ ;
+下火 < shitabi\ ;
+豆本 < mamehon\ ;
+高祖母 < kousobo\ ;
+妙計 < myoukei\ ;
+今夕 < kon''yuu\ ;
+九星 < kyuusei\ ;
+姿絵 < sugatae\ ;
+職員 < shokuin\ ;
+夜食 < yashoku\ ;
+球団 < kyuudan\ ;
+外耳炎 < gaijien\ ;
+多食 < tashoku\ ;
+肖像 < shouzou\ ;
+東屋 < azumaya\ ;
+天雲 < amagumo\ ;
+不潔 < fuketsu\ ;
+不裁可 < fusaika\ ;
+学内 < gakunai\ ;
+中正 < chuusei\ ;
+文革 < bunkaku\ ;
+束帯 < sokutai\ ;
+警備員 < keibiin\ ;
+期日 < kijitsu\ ;
+食後 < shokugo\ ;
+不滅 < fumetsu\ ;
+朝方 < asagata\ ;
+夕風 < yuukaze\ ;
+音節 < onsetsu\ ;
+大陸 < tairiku\ ;
+誤作動 < gosadou\ ;
+聴取 < choushu\ ;
+独眼 < dokugan\ ;
+下湯 < shimoyu\ ;
+夜露 < yotsuyu\ ;
+人声 < hitogoe\ ;
+珍宝 < chinpou\ ;
+妄評 < mouhyou\ ;
+職務 < shokumu\ ;
+飯屋 < meshiya\ ;
+板壁 < itakabe\ ;
+人境 < jinkyou\ ;
+乾徳 < kentoku\ ;
+仮名本 < kanahon\ ;
+書棚 < shodana\ ;
+夕靄 < yuumoya\ ;
+来宅 < raitaku\ ;
+置物 < okimono\ ;
+獄死 < gokushi\ ;
+末技 < matsugi\ ;
+札所 < fudasho\ ;
+夕霧 < yuugiri\ ;
+頒白 < hanpaku\ ;
+上海 < shanhai\ ;
+斤量 < kinryou\ ;
+新道 < shindou\ ;
+晩秋 < banshuu\ ;
+上流 < jouryuu\ ;
+乗換 < norikae\ ;
+三流 < sanryuu\ ;
+上洛 < jouraku\ ;
+末成 < uranari\ ;
+片親 < kataoya\ ;
+賠償 < baishou\ ;
+翌晩 < yokuban\ ;
+九拝 < kyuuhai\ ;
+仮免 < karimen\ ;
+丸材 < maruzai\ ;
+任侠 < ninkyou\ ;
+肉体 < nikutai\ ;
+月日 < tsukihi\ ;
+敵陣 < tekijin\ ;
+項目 < koumoku\ ;
+変革 < henkaku\ ;
+一浪 < ichirou\ ;
+料金 < ryoukin\ ;
+老弱 < roujaku\ ;
+夕闇 < yuuyami\ ;
+数隻 < suuseki\ ;
+新車 < shinsha\ ;
+中枢 < chuusuu\ ;
+事局 < jikyoku\ ;
+文鎮 < bunchin\ ;
+仮借 < kashaku\ ;
+代入 < dainyuu\ ;
+一泡 < hitoawa\ ;
+雨風 < amekaze\ ;
+豪州 < goushuu\ ;
+助産所 < josanjo\ ;
+革装 < kawasou\ ;
+仏印 < futsuin\ ;
+主教 < shukyou\ ;
+一決 < ikketsu\ ;
+事実 < jijitsu\ ;
+予察 < yosatsu\ ;
+一汗 < hitoase\ ;
+諸訳 < showake\ ;
+姦策 < kansaku\ ;
+仲仕 < nakashi\ ;
+仲介 < chuukai\ ;
+仲人 < nakoudo\ ;
+京地 < kyouchi\ ;
+買収 < baishuu\ ;
+一毫 < ichigou\ ;
+枠内 < wakunai\ ;
+一毛 < ichimou\ ;
+耳垢 < mimiaka\ ;
+牧草 < bokusou\ ;
+館内 < kan''nai\ ;
+中旬 < chuujun\ ;
+縦隔 < juukaku\ ;
+大時代 < oojidai\ ;
+枸櫞酸 < kuensan\ ;
+雑駁 < zappaku\ ;
+頓狂 < tonkyou\ ;
+虚無僧 < komusou\ ;
+失透 < shittou\ ;
+両替 < ryougae\ ;
+雪隠 < setchin\ ;
+嬰記号 < eikigou\ ;
+末座 < matsuza\ ;
+飴坊 < amenbou\ ;
+保健医 < hoken''i\ ;
+代作 < daisaku\ ;
+丸損 < maruzon\ ;
+林内 < rin''nai\ ;
+末広 < suehiro\ ;
+頭字語 < toujigo\ ;
+代休 < daikyuu\ ;
+牧舎 < bokusha\ ;
+仏具 < butsugu\ ;
+末席 < masseki\ ;
+謹聴 < kinchou\ ;
+諸行 < shogyou\ ;
+木太刀 < kidachi\ ;
+玉座 < gyokuza\ ;
+本州 < honshuu\ ;
+猛毒 < moudoku\ ;
+緘黙 < kanmoku\ ;
+介入 < kainyuu\ ;
+曝書 < bakusho\ ;
+豹変 < hyouhen\ ;
+救難 < kyuunan\ ;
+両断 < ryoudan\ ;
+奥行 < okuyuki\ ;
+朝廷 < choutei\ ;
+文通 < buntsuu\ ;
+食塩 < shokuen\ ;
+熱雲 < netsuun\ ;
+蓮華座 < rengeza\ ;
+教門 < kyoumon\ ;
+雑音 < zatsuon\ ;
+狛犬 < komainu\ ;
+珍問 < chinmon\ ;
+愛書家 < aishoka\ ;
+雁首 < gankubi\ ;
+暦法 < rekihou\ ;
+天軸 < tenjiku\ ;
+語釈 < goshaku\ ;
+人前 < hitomae\ ;
+馬刀貝 < mategai\ ;
+現任 < gen''nin\ ;
+夜道 < yomichi\ ;
+論調 < ronchou\ ;
+乙巡 < otsujun\ ;
+夏野 < natsuno\ ;
+外郭 < gaikaku\ ;
+珍品 < chinpin\ ;
+朝市 < asaichi\ ;
+奉読 < houdoku\ ;
+昼礼 < chuurei\ ;
+末尾 < matsubi\ ;
+下期 < shimoki\ ;
+数量 < suuryou\ ;
+燗酒 < kanzake\ ;
+仕事 < shigoto\ ;
+論評 < ronpyou\ ;
+上服 < uwafuku\ ;
+木履 < pokkuri\ ;
+末寺 < matsuji\ ;
+論証 < ronshou\ ;
+物置 < monooki\ ;
+服従 < fukujuu\ ;
+三月 < mitsuki\ ;
+趣意書 < shuisho\ ;
+服役 < fukueki\ ;
+両損 < ryouzon\ ;
+牛脂 < gyuushi\ ;
+牧羊 < bokuyou\ ;
+変量 < henryou\ ;
+万有 < ban''yuu\ ;
+本宅 < hontaku\ ;
+曲技 < kyokugi\ ;
+青蛙 < aogaeru\ ;
+有徳 < yuutoku\ ;
+特級 < tokkyuu\ ;
+献木 < kenboku\ ;
+飛地 < tobichi\ ;
+猫板 < nekoita\ ;
+日英 < nichiei\ ;
+請謁 < seietsu\ ;
+易経 < ekikyou\ ;
+貝割 < kaiwari\ ;
+不日 < fujitsu\ ;
+暖流 < danryuu\ ;
+青虫 < aomushi\ ;
+三春 < sanshun\ ;
+一札 < issatsu\ ;
+耐圧 < taiatsu\ ;
+縫針 < nuibari\ ;
+運搬費 < unpanhi\ ;
+頂点 < chouten\ ;
+一曲 < ikkyoku\ ;
+丹念 < tan''nen\ ;
+音物 < inmotsu\ ;
+日舞 < nichibu\ ;
+旧臘 < kyuurou\ ;
+獣心 < juushin\ ;
+請託 < seitaku\ ;
+老境 < roukyou\ ;
+攘夷論 < jouiron\ ;
+懐疑派 < kaigiha\ ;
+今一 < imaichi\ ;
+万斛 < bankoku\ ;
+無煙炭 < muentan\ ;
+三教 < sankyou\ ;
+一晩 < hitoban\ ;
+天象 < tenshou\ ;
+晩熟 < banjuku\ ;
+妥結 < daketsu\ ;
+春秋 < haruaki\ ;
+牛缶 < gyuukan\ ;
+安静時 < anseiji\ ;
+最強 < saikyou\ ;
+変速 < hensoku\ ;
+変通 < hentsuu\ ;
+暗殺 < ansatsu\ ;
+敵軍 < tekigun\ ;
+特等 < tokutou\ ;
+片腕 < kataude\ ;
+一旬 < ichijun\ ;
+女生徒 < joseito\ ;
+乞婿 < koimuko\ ;
+虎燕拳 < koenken\ ;
+頸椎 < keitsui\ ;
+責任 < sekinin\ ;
+顔料 < ganryou\ ;
+正常位 < seijoui\ ;
+末女 < matsujo\ ;
+朱墨 < shuboku\ ;
+丁数 < chousuu\ ;
+旗色 < hatairo\ ;
+補助金 < hojokin\ ;
+女色 < joshoku\ ;
+旧聞 < kyuubun\ ;
+阿婆擦 < abazure\ ;
+片肺 < katahai\ ;
+朱塗 < shunuri\ ;
+領水 < ryousui\ ;
+面舵 < omokaji\ ;
+丸帯 < maruobi\ ;
+琵琶行 < biwakou\ ;
+総高 < soudaka\ ;
+声量 < seiryou\ ;
+助産婦 < josanpu\ ;
+朧夜 < oboroyo\ ;
+壁面 < hekimen\ ;
+翰墨 < kanboku\ ;
+玄妙 < genmyou\ ;
+修羅場 < shuraba\ ;
+羸弱 < ruijaku\ ;
+九大 < kyuudai\ ;
+三振 < sanshin\ ;
+不抜 < fubatsu\ ;
+大詰 < oodzume\ ;
+豪商 < goushou\ ;
+手一杯 < teippai\ ;
+中年 < chuunen\ ;
+一握 < ichiaku\ ;
+曲庇 < kyokuhi\ ;
+説諭 < setsuyu\ ;
+無線機 < musenki\ ;
+中帽 < chuubou\ ;
+春眠 < shunmin\ ;
+頬桁 < hoogeta\ ;
+万灯会 < mandoue\ ;
+牧童 < bokudou\ ;
+東京 < toukyou\ ;
+本国 < hongoku\ ;
+説話 < setsuwa\ ;
+二列 < niretsu\ ;
+一括 < ikkatsu\ ;
+非職 < hishoku\ ;
+改鋳 < kaichuu\ ;
+猛撃 < mougeki\ ;
+敏速 < binsoku\ ;
+頬杖 < hoodzue\ ;
+新著 < shincho\ ;
+水位計 < suiikei\ ;
+羞恥 < shuuchi\ ;
+九地 < kyuuchi\ ;
+明確 < meikaku\ ;
+総額 < sougaku\ ;
+二八 < nihachi\ ;
+漢方医 < kanpoui\ ;
+景況 < keikyou\ ;
+日給 < nikkyuu\ ;
+羽目板 < hameita\ ;
+具体案 < gutaian\ ;
+集金 < shuukin\ ;
+雨足 < ameashi\ ;
+暦数 < rekisuu\ ;
+新茶 < shincha\ ;
+風圧 < fuuatsu\ ;
+総革 < sougawa\ ;
+中尊 < chuuzon\ ;
+明瞭 < meiryou\ ;
+縷説 < rusetsu\ ;
+集配 < shuuhai\ ;
+月央 < getsuou\ ;
+中宮 < chuuguu\ ;
+綿飴 < wataame\ ;
+月夜 < tsukiyo\ ;
+日本化 < nihonka\ ;
+三徳 < santoku\ ;
+陰鬱 < in''utsu\ ;
+緑陰 < ryokuin\ ;
+敵視 < tekishi\ ;
+放逸 < houitsu\ ;
+研磨機 < kenmaki\ ;
+上役 < uwayaku\ ;
+増額 < zougaku\ ;
+一息 < hitoiki\ ;
+乳剤 < nyuuzai\ ;
+明白 < meihaku\ ;
+大雑把 < oozappa\ ;
+下座 < shimoza\ ;
+古井戸 < furuido\ ;
+一念 < ichinen\ ;
+万引 < manbiki\ ;
+胃潰瘍 < ikaiyou\ ;
+特産 < tokusan\ ;
+木口 < kiguchi\ ;
+一徹 < ittetsu\ ;
+顔役 < kaoyaku\ ;
+翻刻 < honkoku\ ;
+三年 < san''nen\ ;
+日立 < hitachi\ ;
+救貧 < kyuuhin\ ;
+断腸 < danchou\ ;
+杏仁 < kyounin\ ;
+万年 < man''nen\ ;
+物的 < butteki\ ;
+陸風 < rikufuu\ ;
+多義性 < tagisei\ ;
+一式 < isshiki\ ;
+状況 < joukyou\ ;
+甘露煮 < kanroni\ ;
+新聞 < shinbun\ ;
+本則 < honsoku\ ;
+中外 < chuugai\ ;
+乙女座 < otomeza\ ;
+奴等 < yatsura\ ;
+独断 < dokudan\ ;
+詰責 < kisseki\ ;
+耐久 < taikyuu\ ;
+難読 < nandoku\ ;
+顧客 < kokyaku\ ;
+独文 < dokubun\ ;
+保守派 < hoshuha\ ;
+旗竿 < hatazao\ ;
+霊薬 < reiyaku\ ;
+教訓 < kyoukun\ ;
+不屈 < fukutsu\ ;
+木刀 < bokutou\ ;
+新羅 < shiragi\ ;
+増長 < zouchou\ ;
+暁星 < gyousei\ ;
+険難 < ken''nan\ ;
+叙事詩 < jojishi\ ;
+上履 < uwabaki\ ;
+本元 < honmoto\ ;
+大掃除 < oosouji\ ;
+烏龍茶 < ūroncha\ ;
+中堅 < chuuken\ ;
+夏蚕 < natsugo\ ;
+女王蟻 < joouari\ ;
+半母音 < hanboin\ ;
+三尺 < sanjaku\ ;
+天草 < tengusa\ ;
+月商 < gesshou\ ;
+無政府 < museifu\ ;
+下宿 < geshuku\ ;
+議決 < giketsu\ ;
+乱作 < ransaku\ ;
+下家 < shitaya\ ;
+牛痘 < gyuutou\ ;
+物理 < butsuri\ ;
+更地 < sarachi\ ;
+牛疫 < gyuueki\ ;
+義和団 < giwadan\ ;
+朝凪 < asanagi\ ;
+一尺 < isshaku\ ;
+独探 < dokutan\ ;
+緑野 < ryokuya\ ;
+七宝 < shippou\ ;
+旧盤 < kyuuban\ ;
+詳解 < shoukai\ ;
+契約 < keiyaku\ ;
+難行 < nangyou\ ;
+月収 < gesshuu\ ;
+雑話 < zatsuwa\ ;
+旧盆 < kyuubon\ ;
+一宿 < isshuku\ ;
+無骨 < bukotsu\ ;
+好事家 < kouzuka\ ;
+売行 < ureyuki\ ;
+頁数 < pējisuu\ ;
+断続 < danzoku\ ;
+音曲 < ongyoku\ ;
+一存 < ichizon\ ;
+夕菅 < yuusuge\ ;
+施策 < shisaku\ ;
+日白 < nippaku\ ;
+大腸 < daichou\ ;
+行為者 < kouisha\ ;
+牢獄 < rougoku\ ;
+犬橇 < inuzori\ ;
+与奪 < yodatsu\ ;
+本人 < hon''nin\ ;
+熟談 < jukudan\ ;
+機関庫 < kikanko\ ;
+機関座 < kikanza\ ;
+牡猫 < osuneko\ ;
+晩春 < banshun\ ;
+独房 < dokubou\ ;
+新米 < shinmai\ ;
+方策 < housaku\ ;
+犬槙 < inumaki\ ;
+木仏 < kibutsu\ ;
+早番 < hayaban\ ;
+本丸 < honmaru\ ;
+晩方 < bangata\ ;
+繭紬 < kenchuu\ ;
+青票 < seihyou\ ;
+猛将 < moushou\ ;
+同意見 < douiken\ ;
+丈夫 < masurao\ ;
+月利 < getsuri\ ;
+改訳 < kaiyaku\ ;
+増量 < zouryou\ ;
+零落 < reiraku\ ;
+丸十 < marujuu\ ;
+集計 < shuukei\ ;
+話術 < wajutsu\ ;
+牝犬 < mesuinu\ ;
+熟覧 < jukuran\ ;
+熟視 < jukushi\ ;
+面目 < menmoku\ ;
+煎鍋 < irinabe\ ;
+玄人 < kurouto\ ;
+断箱 < danbako\ ;
+議事堂 < gijidou\ ;
+填隙 < tengeki\ ;
+上塗 < uwanuri\ ;
+一如 < ichinyo\ ;
+不埒 < furachi\ ;
+緊迫 < kinpaku\ ;
+万境 < bankyou\ ;
+論策 < ronsaku\ ;
+訳載 < yakusai\ ;
+明澄 < meichou\ ;
+一大 < ichidai\ ;
+評論 < hyouron\ ;
+調練 < chouren\ ;
+中原 < chuugen\ ;
+誤脱 < godatsu\ ;
+読者 < dokusha\ ;
+売薬 < baiyaku\ ;
+豆乳 < tounyuu\ ;
+一声 < hitokoe\ ;
+天糸瓜 < hechima\ ;
+保安林 < hoanrin\ ;
+腐葉土 < fuyoudo\ ;
+下地 < shitaji\ ;
+増進 < zoushin\ ;
+面疔 < menchou\ ;
+頂戴 < choudai\ ;
+論究 < ronkyuu\ ;
+新税 < shinzei\ ;
+海豚座 < irukaza\ ;
+下図 < shitazu\ ;
+自衛隊 < jieitai\ ;
+改行 < kaigyou\ ;
+語脈 < gomyaku\ ;
+繊維素 < sen''iso\ ;
+三国 < sangoku\ ;
+両名 < ryoumei\ ;
+随身 < zuishin\ ;
+無雑 < muzatsu\ ;
+移行性 < ikousei\ ;
+中前 < chuuzen\ ;
+親鸞 < shinran\ ;
+電脳 < den''nou\ ;
+湯湯婆 < yutanpo\ ;
+中分 < chuubun\ ;
+絶頂 < zetchou\ ;
+頑強 < gankyou\ ;
+繋縛 < keibaku\ ;
+太糸 < futoito\ ;
+交尾期 < koubiki\ ;
+始業 < shigyou\ ;
+一団 < ichidan\ ;
+早熟 < soujuku\ ;
+誇色 < koshoku\ ;
+託送 < takusou\ ;
+雌蘂 < meshibe\ ;
+順応 < jun''nou\ ;
+陸送 < rikusou\ ;
+月事 < getsuji\ ;
+親鳥 < oyadori\ ;
+特段 < tokudan\ ;
+両前 < ryoumae\ ;
+大粒 < ootsubu\ ;
+訓迪 < kunteki\ ;
+陶磁器 < toujiki\ ;
+特殊 < tokushu\ ;
+境遇 < kyouguu\ ;
+試薬 < shiyaku\ ;
+重馬場 < omobaba\ ;
+詐術 < sajutsu\ ;
+両分 < ryoubun\ ;
+歳時記 < saijiki\ ;
+阿多福 < otafuku\ ;
+不吉 < fukitsu\ ;
+上告 < joukoku\ ;
+御節介 < osekkai\ ;
+陸軍 < rikugun\ ;
+亜麻仁油 < amaniyu\ ;
+新盤 < shinban\ ;
+韻律 < inritsu\ ;
+暴圧 < bouatsu\ ;
+許諾 < kyodaku\ ;
+爆砕 < bakusai\ ;
+両像 < ryouzou\ ;
+狂態 < kyoutai\ ;
+婿入 < mukoiri\ ;
+訳詩 < yakushi\ ;
+離脱 < ridatsu\ ;
+昇段 < shoudan\ ;
+牧民 < bokumin\ ;
+天窓 < tenmado\ ;
+一命 < ichimei\ ;
+教育 < kyouiku\ ;
+一味 < hitoaji\ ;
+失禁 < shikkin\ ;
+総評 < souhyou\ ;
+妙法 < myouhou\ ;
+親骨 < oyabone\ ;
+書中 < shochuu\ ;
+万博 < banpaku\ ;
+番小屋 < bangoya\ ;
+音律 < onritsu\ ;
+下劣 < geretsu\ ;
+愛犬家 < aikenka\ ;
+三助 < sansuke\ ;
+両便 < ryouben\ ;
+耽美派 < tanbiha\ ;
+春本 < shunpon\ ;
+七十 < nanajuu\ ;
+覿面 < tekimen\ ;
+万力 < manriki\ ;
+丁半 < chouhan\ ;
+大福 < daifuku\ ;
+天祐 < ten''yuu\ ;
+昨晩 < sakuban\ ;
+保育所 < hoikujo\ ;
+晩年 < ban''nen\ ;
+照覧 < shouran\ ;
+緊要 < kin''you\ ;
+妨業 < bougyou\ ;
+両人 < ryounin\ ;
+観音 < kan''non\ ;
+時折 < tokiori\ ;
+遊離基 < yuuriki\ ;
+撰録 < senroku\ ;
+互助会 < gojokai\ ;
+改良 < kairyou\ ;
+施物 < semotsu\ ;
+奮激 < fungeki\ ;
+両三 < ryousan\ ;
+電算 < densoro\ ;
+結露 < ketsuro\ ;
+教練 < kyouren\ ;
+上側 < uwagawa\ ;
+姦悪 < kan''aku\ ;
+補助線 < hojosen\ ;
+角錐 < kakusui\ ;
+結集 < kesshuu\ ;
+下値 < shitane\ ;
+女湯 < on''nayu\ ;
+一元 < ichigen\ ;
+羅列 < raretsu\ ;
+暖国 < dankoku\ ;
+事務所 < jimusho\ ;
+陳謝 < chinsha\ ;
+一億 < ichioku\ ;
+訓読 < kundoku\ ;
+爛熟 < ranjuku\ ;
+明朝 < minchou\ ;
+託言 < takugen\ ;
+領域 < ryouiki\ ;
+言責 < genseki\ ;
+保護金 < hogokin\ ;
+太白 < taihaku\ ;
+特旨 < tokushi\ ;
+天皇 < ten''nou\ ;
+数秒 < suubyou\ ;
+散策 < sansaku\ ;
+万作 < mansaku\ ;
+明晰 < meiseki\ ;
+晩学 < bangaku\ ;
+明晩 < myouban\ ;
+一倍 < ichibai\ ;
+終電 < shuuden\ ;
+日欧 < nichiou\ ;
+明星 < myoujou\ ;
+三人 < san''nin\ ;
+縦笛 < tatebue\ ;
+集群 < shuugun\ ;
+万人 < man''nin\ ;
+大病 < taibyou\ ;
+菓子器 < kashiki\ ;
+頭取 < toudori\ ;
+雨笠 < amagasa\ ;
+縦穴 < tateana\ ;
+一任 < ichinin\ ;
+大男 < oootoko\ ;
+罰則 < bassoku\ ;
+震盪 < shintou\ ;
+霊的 < reiteki\ ;
+愛妻家 < aisaika\ ;
+外相 < gaishou\ ;
+多発 < tahatsu\ ;
+雨空 < amazora\ ;
+然諾 < zendaku\ ;
+詮索 < sensaku\ ;
+散票 < sanpyou\ ;
+養父母 < youfubo\ ;
+練習 < renshuu\ ;
+評者 < hyousha\ ;
+熟練 < jukuren\ ;
+外的 < gaiteki\ ;
+障泥烏賊 < aoriika\ ;
+独善 < dokuzen\ ;
+夏着 < natsugi\ ;
+天球 < tenkyuu\ ;
+起電機 < kidenki\ ;
+妻戸 < tsumado\ ;
+二死後 < nishigo\ ;
+斑猫 < hanmyou\ ;
+晋山 < shinzan\ ;
+旋毛 < tsumuji\ ;
+報酬 < houshuu\ ;
+葉牡丹 < habotan\ ;
+已然形 < izenkei\ ;
+烈震 < resshin\ ;
+春情 < shunjou\ ;
+緬羊 < men''you\ ;
+縟礼 < jokurei\ ;
+大獄 < taigoku\ ;
+狂奔 < kyouhon\ ;
+墨色 < sumiiro\ ;
+総花 < soubana\ ;
+敦睦 < tonboku\ ;
+大規模 < daikibo\ ;
+独吟 < dokugin\ ;
+具体化 < gutaika\ ;
+覆面 < fukumen\ ;
+織物 < orimono\ ;
+保安官 < hoankan\ ;
+旧来 < kyuurai\ ;
+旧村 < kyuuson\ ;
+野獣派 < yajuuha\ ;
+独占 < dokusen\ ;
+電位差 < den''isa\ ;
+日朝 < nitchou\ ;
+如月 < nigatsu\ ;
+失点 < shitten\ ;
+雑穀 < zakkoku\ ;
+襟髪 < erigami\ ;
+親里 < oyazato\ ;
+照臨 < shourin\ ;
+早春 < soushun\ ;
+昨年 < sakunen\ ;
+天然 < ten''nen\ ;
+奥様 < okusama\ ;
+日時 < nichiji\ ;
+緑肥 < ryokuhi\ ;
+非対応 < hitaiou\ ;
+蓖麻子 < himashi\ ;
+裸体画 < rataiga\ ;
+領内 < ryounai\ ;
+事務官 < jimukan\ ;
+電球 < denkyuu\ ;
+片方 < katahou\ ;
+訳者 < yakusha\ ;
+特待 < tokutai\ ;
+起訴状 < kisojou\ ;
+襟首 < erikubi\ ;
+奪格 < dakkaku\ ;
+野暮用 < yaboyou\ ;
+敵状 < tekijou\ ;
+撃退 < gekitai\ ;
+無灯火 < mutouka\ ;
+難癖 < nankuse\ ;
+春嵐 < shunran\ ;
+襲雷 < shuurai\ ;
+妙所 < myousho\ ;
+明徳 < meitoku\ ;
+難症 < nanshou\ ;
+難病 < nanbyou\ ;
+無血 < muketsu\ ;
+無記名 < mukimei\ ;
+昔年 < sekinen\ ;
+炒飯 < chaahan\ ;
+誘爆 < yuubaku\ ;
+外為 < gaitame\ ;
+震災 < shinsai\ ;
+春寒 < shunkan\ ;
+爆死 < bakushi\ ;
+都議選 < togisen\ ;
+網膜 < moumaku\ ;
+熟知 < jukuchi\ ;
+明年 < myounen\ ;
+天減 < tenbiki\ ;
+保育園 < hoikuen\ ;
+姉婿 < anemuko\ ;
+終車 < shuusha\ ;
+精麦 < seibaku\ ;
+熟睡 < jukusui\ ;
+縫物 < nuimono\ ;
+緊縛 < kinbaku\ ;
+熟眠 < jukumin\ ;
+保育器 < hoikuki\ ;
+墨糸 < sumiito\ ;
+陰膳 < kagezen\ ;
+詩的 < shiteki\ ;
+星学 < seigaku\ ;
+愛好家 < aikouka\ ;
+青春 < seishun\ ;
+暇人 < himajin\ ;
+音力 < onryoku\ ;
+為銀 < tamegin\ ;
+訓育 < kun''iku\ ;
+奥方 < okugata\ ;
+狩人 < karyudo\ ;
+累進 < ruishin\ ;
+焼芋 < yakiimo\ ;
+委任状 < ininjou\ ;
+陪臣 < baishin\ ;
+牧師 < bokushi\ ;
+御披露目 < ohirome\ ;
+新案 < shin''an\ ;
+階級 < kaikyuu\ ;
+特定 < tokutei\ ;
+用器画 < youkiga\ ;
+昨夕 < sakuyuu\ ;
+隻眼 < sekigan\ ;
+保養所 < hoyoujo\ ;
+家庭科 < kateika\ ;
+増給 < zoukyuu\ ;
+不名誉 < fumeiyo\ ;
+旧悪 < kyuuaku\ ;
+数滴 < suuteki\ ;
+綾絹 < ayaginu\ ;
+索道 < sakudou\ ;
+結語 < ketsugo\ ;
+女手 < on''nade\ ;
+熱狂 < nekkyou\ ;
+女房 < nyoubou\ ;
+外海 < sotoumi\ ;
+大欲 < taiyoku\ ;
+結託 < kettaku\ ;
+外泊 < gaihaku\ ;
+覆輪 < fukurin\ ;
+整流 < seiryuu\ ;
+頂上 < choujou\ ;
+五輪旗 < gorinki\ ;
+熱燗 < atsukan\ ;
+日当 < hiatari\ ;
+糠雨 < nukaame\ ;
+旧弊 < kyuuhei\ ;
+特大 < tokudai\ ;
+親許 < oyamoto\ ;
+春坊 < harubou\ ;
+作業衣 < sagyoui\ ;
+詫状 < wabijou\ ;
+電流 < denryuu\ ;
+木戸銭 < kidosen\ ;
+特売 < tokubai\ ;
+耳下腺 < jikasen\ ;
+無色 < mushoku\ ;
+論敵 < ronteki\ ;
+家庭着 < kateigi\ ;
+雀球 < jankyuu\ ;
+文様 < mon''you\ ;
+大業 < taigyou\ ;
+旅所 < tabisho\ ;
+糸鋸 < itonoko\ ;
+外陰部 < gaiinbu\ ;
+特報 < tokuhou\ ;
+文楽 < bunraku\ ;
+無腰 < mugoshi\ ;
+面影 < omokage\ ;
+煙突 < entotsu\ ;
+墓穴 < boketsu\ ;
+和菓子 < wagashi\ ;
+調書 < chousho\ ;
+革帯 < kawaobi\ ;
+旅愁 < ryoshuu\ ;
+自在画 < jizaiga\ ;
+解脱 < gedatsu\ ;
+昼前 < hirumae\ ;
+続編 < zokuhen\ ;
+耕運機 < kouunki\ ;
+熱演 < netsuen\ ;
+雪洞 < bonbori\ ;
+総督 < soutoku\ ;
+一回忌 < ikkaiki\ ;
+間隙 < kangeki\ ;
+不可解 < fukakai\ ;
+靴屋 < kutsuya\ ;
+斎服 < saifuku\ ;
+旧居 < kyuukyo\ ;
+不可視 < fukashi\ ;
+大木 < taiboku\ ;
+城郭 < joukaku\ ;
+陸稲 < rikutou\ ;
+総理府 < sourifu\ ;
+失敬 < shikkei\ ;
+開陳 < kaichin\ ;
+失敗 < shippai\ ;
+奇抜 < kibatsu\ ;
+二分木 < nibungi\ ;
+失政 < shissei\ ;
+討究 < toukyuu\ ;
+霊柩 < reikyuu\ ;
+読本 < dokuhon\ ;
+防臭 < boushuu\ ;
+読書 < dokusho\ ;
+犯人 < han''nin\ ;
+奥庭 < okuniwa\ ;
+妊娠 < ninshin\ ;
+奥底 < okuzoko\ ;
+牧地 < bokuchi\ ;
+広辞苑 < koujien\ ;
+編物 < amimono\ ;
+天敵 < tenteki\ ;
+霊木 < reiboku\ ;
+夜曲 < yakyoku\ ;
+総画 < soukaku\ ;
+多数派 < tasuuha\ ;
+陣笠 < jingasa\ ;
+隆盛 < ryuusei\ ;
+評点 < hyouten\ ;
+保護者 < hogosha\ ;
+夜間部 < yakanbu\ ;
+文教 < bunkyou\ ;
+留守電 < rusuden\ ;
+変梃 < henteko\ ;
+米麦 < beibaku\ ;
+細螺 < kishago\ ;
+熱気 < netsuke\ ;
+昨冬 < sakutou\ ;
+春分 < shunbun\ ;
+長雨 < nagaame\ ;
+旧套 < kyuutou\ ;
+語末 < gomatsu\ ;
+糧道 < ryoudou\ ;
+掃除機 < soujiki\ ;
+襟足 < eriashi\ ;
+謹告 < kinkoku\ ;
+事務会 < jimukai\ ;
+断念 < dan''nen\ ;
+日夜 < nichiya\ ;
+日夕 < nisseki\ ;
+春光 < shunkou\ ;
+放流 < houryuu\ ;
+震旦 < shintan\ ;
+奥山 < okuyama\ ;
+静寂 < seijaku\ ;
+事前後 < jizengo\ ;
+菩提樹 < bodaiju\ ;
+火鉢 < hibachi\ ;
+絶縁 < zetsuen\ ;
+夕方 < yuugata\ ;
+粗食 < soshoku\ ;
+貝独楽 < baigoma\ ;
+境目 < sakaime\ ;
+無防備 < muboubi\ ;
+不思議 < fushigi\ ;
+旅客 < ryokaku\ ;
+不穏当 < fuontou\ ;
+昭代 < shoudai\ ;
+無筆 < muhitsu\ ;
+失態 < shittai\ ;
+結腸 < ketchou\ ;
+特典 < tokuten\ ;
+可塑材 < kasozai\ ;
+失意 < shitsui\ ;
+爆弾 < bakudan\ ;
+特免 < tokumen\ ;
+支流 < shiryuu\ ;
+揚陸 < youriku\ ;
+親船 < oyabune\ ;
+陸産 < rikusan\ ;
+陸生 < rikusei\ ;
+面壁 < menpeki\ ;
+探鳥 < tanchou\ ;
+約言 < yakugen\ ;
+梳綿機 < somenki\ ;
+粗雑 < sozatsu\ ;
+無手順 < mutejun\ ;
+電撃 < dengeki\ ;
+教書 < kyousho\ ;
+間近 < madjika\ ;
+新居 < shinkyo\ ;
+紺色 < kon''iro\ ;
+継目 < tsugime\ ;
+雷撃 < raigeki\ ;
+尾状花 < bijouka\ ;
+塾生 < jukusei\ ;
+調弦 < chougen\ ;
+燃料 < nenryou\ ;
+隠滅 < inmetsu\ ;
+大息 < taisoku\ ;
+集権 < shuuken\ ;
+便利屋 < benriya\ ;
+開通 < kaitsuu\ ;
+陣痛 < jintsuu\ ;
+外戚 < gaiseki\ ;
+網猟 < amiryou\ ;
+敵手 < tekishu\ ;
+大徳 < daitoku\ ;
+離日 < rinichi\ ;
+精進 < shoujin\ ;
+予知夢 < yochimu\ ;
+精通 < seitsuu\ ;
+煉獄 < rengoku\ ;
+御神籤 < omikuji\ ;
+諸国 < shokoku\ ;
+旧名 < kyuumei\ ;
+映写機 < eishaki\ ;
+難敵 < nanteki\ ;
+保護税 < hogozei\ ;
+瀝青 < rekisei\ ;
+叙事文 < jojibun\ ;
+旧友 < kyuuyuu\ ;
+結縁 < kechien\ ;
+袞龍 < konryou\ ;
+新婚 < shinkon\ ;
+英会話 < eikaiwa\ ;
+文弱 < bunjaku\ ;
+日収 < nisshuu\ ;
+不可能 < fukanou\ ;
+雑木 < zouboku\ ;
+説得 < settoku\ ;
+映画館 < eigakan\ ;
+靖国 < seikoku\ ;
+天幕 < tenmaku\ ;
+閲覧 < etsuran\ ;
+革命 < kakumei\ ;
+織布 < shokufu\ ;
+日印 < nichiin\ ;
+繊弱 < senjaku\ ;
+細腕 < hosoude\ ;
+零戦 < zerosen\ ;
+覚者 < kakusha\ ;
+組織 < soshiki\ ;
+謬伝 < byuuden\ ;
+誘惑 < yuuwaku\ ;
+牧人 < bokujin\ ;
+長辺 < chouhen\ ;
+霊廟 < reibyou\ ;
+詮方 < senkata\ ;
+片前 < katamae\ ;
+風雲児 < fuuunji\ ;
+垂迹 < suijaku\ ;
+墨汁 < bokujuu\ ;
+改暦 < kaireki\ ;
+阪神 < hanshin\ ;
+敵弾 < tekidan\ ;
+門跡 < monzeki\ ;
+粗金 < aragane\ ;
+親米 < shinbei\ ;
+敏捷 < binshou\ ;
+版元 < hanmoto\ ;
+楕円形 < daenkei\ ;
+見習 < minarai\ ;
+新地 < shinchi\ ;
+放擲 < houteki\ ;
+演奏家 < ensouka\ ;
+敷布 < shikifu\ ;
+牛丼 < gyuudon\ ;
+角盆 < kakubon\ ;
+詔書 < shousho\ ;
+大学 < daigaku\ ;
+可塑性 < kasosei\ ;
+壁板 < kabeita\ ;
+被除数 < hijosuu\ ;
+文学 < bungaku\ ;
+攻撃 < kougeki\ ;
+二次元 < nijigen\ ;
+緑樹 < ryokuju\ ;
+爪印 < tsumein\ ;
+手文庫 < tebunko\ ;
+旧例 < kyuurei\ ;
+糞蝿 < kusobae\ ;
+一箇所 < ikkasho\ ;
+予備隊 < yobitai\ ;
+疑問符 < gimonfu\ ;
+織姫 < orihime\ ;
+紅色 < beniiro\ ;
+陸海 < rikukai\ ;
+終端 < shuutan\ ;
+角番 < kadoban\ ;
+固定費 < koteihi\ ;
+精読 < seidoku\ ;
+織女 < shokujo\ ;
+日付 < hidzuke\ ;
+熱愛 < netsuai\ ;
+境涯 < kyougai\ ;
+霜夜 < shimoyo\ ;
+女傑 < joketsu\ ;
+天女 < ten''nyo\ ;
+角瓶 < kakubin\ ;
+紡績 < bouseki\ ;
+旧主 < kyuushu\ ;
+大女 < ooon''na\ ;
+敵対 < tekitai\ ;
+計測 < keisoku\ ;
+新品 < shinpin\ ;
+明治座 < meijiza\ ;
+理想家 < risouka\ ;
+無熱 < munetsu\ ;
+土壇場 < dotanba\ ;
+二次会 < nijikai\ ;
+総桐 < sougiri\ ;
+論告 < ronkoku\ ;
+熱心 < nesshin\ ;
+奉告 < houkoku\ ;
+失地 < shitchi\ ;
+義務感 < gimukan\ ;
+数学 < suugaku\ ;
+撃砕 < gekisai\ ;
+読売 < yomiuri\ ;
+掘鑿 < kussaku\ ;
+雹害 < hyougai\ ;
+総柄 < sougara\ ;
+霊妙 < reimyou\ ;
+三叉路 < sansaro\ ;
+変容 < hen''you\ ;
+旅僧 < tabisou\ ;
+熟慮 < jukuryo\ ;
+炎色 < enshoku\ ;
+訳本 < yakuhon\ ;
+墨書 < bokusho\ ;
+紛糾 < funkyuu\ ;
+推量 < suiryou\ ;
+撞球 < doukyuu\ ;
+夙夜 < shukuya\ ;
+熱度 < netsudo\ ;
+震央 < shin''ou\ ;
+波布茶 < habucha\ ;
+累積 < ruiseki\ ;
+裏釘 < urakugi\ ;
+裏金 < uragane\ ;
+攪拌 < kakuhan\ ;
+陸橋 < rikkyou\ ;
+証文 < shoumon\ ;
+赤啄木鳥 < akagera\ ;
+不愛想 < buaisou\ ;
+診断 < shindan\ ;
+大国 < taikoku\ ;
+註文 < chuumon\ ;
+紺碧 < konpeki\ ;
+一箇年 < ikkanen\ ;
+改悛 < kaishun\ ;
+絶無 < zetsumu\ ;
+外壁 < gaiheki\ ;
+塞源 < sokugen\ ;
+大嘴 < oohashi\ ;
+新兵 < shinpei\ ;
+訳文 < yakubun\ ;
+予備金 < yobikin\ ;
+掛金 < kakekin\ ;
+敗将 < haishou\ ;
+推進 < suishin\ ;
+雄心 < yuushin\ ;
+敵塁 < tekirui\ ;
+網棚 < amidana\ ;
+陸棚 < rikuhou\ ;
+不可知 < fukachi\ ;
+国風 < kokufuu\ ;
+隆替 < ryuutai\ ;
+線描 < senbyou\ ;
+調合 < chougou\ ;
+菩提寺 < bodaiji\ ;
+硫黄山 < iouyama\ ;
+陰極 < inkyoku\ ;
+夏場 < natsuba\ ;
+素因数 < soinsuu\ ;
+複製 < fukusei\ ;
+外圧 < gaiatsu\ ;
+仏蘭西 < furansu\ ;
+熟年 < jukunen\ ;
+結球 < kekkyuu\ ;
+外国 < gaikoku\ ;
+接辞 < setsuji\ ;
+不合理 < fugouri\ ;
+精薄 < seihaku\ ;
+掃除婦 < soujifu\ ;
+捕食 < hoshoku\ ;
+敵国 < tekkoku\ ;
+野暮天 < yaboten\ ;
+変域 < hen''iki\ ;
+保護委員 < hogoiin\ ;
+陽暦 < youreki\ ;
+家具等 < kagutou\ ;
+大名 < daimyou\ ;
+薔薇色 < barairo\ ;
+国電 < kokuden\ ;
+大口 < ooguchi\ ;
+不愉快 < fuyukai\ ;
+農機具 < noukigu\ ;
+国難 < kokunan\ ;
+輸送費 < yusouhi\ ;
+齲 < mushiba\ ;
+陽春 < youshun\ ;
+看護婦 < kangofu\ ;
+国際 < kokusai\ ;
+紋章 < monshou\ ;
+地道 < jimichi\ ;
+親玉 < oyadama\ ;
+御神火 < gojinka\ ;
+故実 < kojitsu\ ;
+国防 < kokubou\ ;
+放尿 < hounyou\ ;
+文博 < bunhaku\ ;
+予備軍 < yobigun\ ;
+擯斥 < hinseki\ ;
+縮図 < shukuzu\ ;
+間膜 < kanmaku\ ;
+大力 < dairiki\ ;
+推賞 < suishou\ ;
+激闘 < gekitou\ ;
+外周 < gaishuu\ ;
+古文書 < komonjo\ ;
+困難 < kon''nan\ ;
+縦坑 < tatekou\ ;
+給源 < kyuugen\ ;
+露仏 < rofutsu\ ;
+自衛権 < jieiken\ ;
+誡告 < kaikoku\ ;
+地軸 < chijiku\ ;
+大凶 < daikyou\ ;
+鶫 < tsugumi\ ;
+要目 < youmoku\ ;
+組版 < kumihan\ ;
+織元 < orimoto\ ;
+襟章 < erishou\ ;
+鵤 < ikaruga\ ;
+雛壇 < hinadan\ ;
+鵆 < chidori\ ;
+純真 < junshin\ ;
+隷属 < reizoku\ ;
+斜交 < hasukai\ ;
+繁劇 < hangeki\ ;
+煩悩 < bon''nou\ ;
+売国 < baikoku\ ;
+純益 < jun''eki\ ;
+料亭 < ryoutei\ ;
+緞帳 < donchou\ ;
+鰘 < muroaji\ ;
+敵勢 < tekizei\ ;
+表面 < hyoumen\ ;
+長芋 < nagaimo\ ;
+純白 < junpaku\ ;
+鯳 < sukesou\ ;
+防毒 < boudoku\ ;
+数匹 < suuhiki\ ;
+電卓 < dentaku\ ;
+終点 < shuuten\ ;
+緊急 < kinkyuu\ ;
+敵前 < tekizen\ ;
+夕凪 < yuunagi\ ;
+合氣道 < aikidou\ ;
+繚乱 < ryouran\ ;
+縄墨 < jouboku\ ;
+鬘 < katsura\ ;
+親潮 < oyashio\ ;
+点火器 < tenkaki\ ;
+補血 < hoketsu\ ;
+観測 < kansoku\ ;
+煮干 < niboshi\ ;
+綱手 < tsunade\ ;
+陸戦 < rikusen\ ;
+羽二重 < habutae\ ;
+集塵 < shuujin\ ;
+規準化 < kijunka\ ;
+隔年 < kakunen\ ;
+高度差 < koudosa\ ;
+無札 < musatsu\ ;
+無月 < mugetsu\ ;
+熱唱 < nesshou\ ;
+寄付金 < kifukin\ ;
+斉一 < seiitsu\ ;
+火口湖 < kakouko\ ;
+増強 < zoukyou\ ;
+険悪 < ken''aku\ ;
+長老 < chourou\ ;
+政治屋 < seijiya\ ;
+行頭 < gyoutou\ ;
+個々人 < kokojin\ ;
+隠密 < onmitsu\ ;
+霍乱 < kakuran\ ;
+国道 < kokudou\ ;
+結氷 < keppyou\ ;
+集団 < shuudan\ ;
+政治家 < seijika\ ;
+国連 < kokuren\ ;
+運営費 < un''eihi\ ;
+陳情 < chinjou\ ;
+火箸 < hibashi\ ;
+蝦夷菊 < ezogiku\ ;
+売卜 < baiboku\ ;
+敗北 < haiboku\ ;
+増幅 < zoufuku\ ;
+保護林 < hogorin\ ;
+潮騒 < shiosai\ ;
+木戸番 < kidoban\ ;
+索然 < sakuzen\ ;
+綾布 < ayanuno\ ;
+粘膜 < nenmaku\ ;
+摂理 < setsuri\ ;
+雪冤 < setsuen\ ;
+墨守 < bokushu\ ;
+粉茶 < konacha\ ;
+角材 < kakuzai\ ;
+経歴 < keireki\ ;
+離別 < ribetsu\ ;
+闘牛 < tougyuu\ ;
+摩滅 < mametsu\ ;
+国軍 < kokugun\ ;
+濫觴 < ranshou\ ;
+教典 < kyouten\ ;
+地表 < chihyou\ ;
+推薬 < suiyaku\ ;
+陳弁 < chinben\ ;
+炬燵 < kotatsu\ ;
+行間 < gyoukan\ ;
+開立 < kairyuu\ ;
+撞木 < shumoku\ ;
+浅知恵 < asadjie\ ;
+雑務 < zatsumu\ ;
+細流 < sairyuu\ ;
+集合 < shuugou\ ;
+地蜂 < jibachi\ ;
+青豌豆 < aoendou\ ;
+険峻 < kenshun\ ;
+街録 < gairoku\ ;
+女丈夫 < jojoubu\ ;
+円記号 < enkigou\ ;
+雑則 < zassoku\ ;
+装薬 < souyaku\ ;
+国賓 < kokuhin\ ;
+陸岸 < rikugan\ ;
+塗抹 < tomatsu\ ;
+陽射 < hizashi\ ;
+関白 < kanpaku\ ;
+焦慮 < shouryo\ ;
+亜寒帯 < akantai\ ;
+振鈴 < shinrei\ ;
+雑兵 < zouhyou\ ;
+隣国 < ringoku\ ;
+雀卓 < jantaku\ ;
+雪中 < setchuu\ ;
+墨堤 < bokutei\ ;
+託宣 < takusen\ ;
+損益 < son''eki\ ;
+陣幕 < jinmaku\ ;
+江戸川 < edogawa\ ;
+灰皿 < haizara\ ;
+結束 < kessoku\ ;
+灰白 < kaihaku\ ;
+親株 < oyakabu\ ;
+幼児語 < youjigo\ ;
+鎹 < kasugai\ ;
+国論 < kokuron\ ;
+緑土 < ryokudo\ ;
+激論 < gekiron\ ;
+暗暗裡 < an''anri\ ;
+不浄場 < fujouba\ ;
+要求 < youkyuu\ ;
+鋩 < kissaki\ ;
+熱中 < netchuu\ ;
+湯治場 < toujiba\ ;
+裏腹 < urahara\ ;
+評判 < hyouban\ ;
+納涼 < nouryou\ ;
+図説 < zusetsu\ ;
+間男 < maotoko\ ;
+摺本 < shouhon\ ;
+脳味噌 < noumiso\ ;
+雑事 < zatsuji\ ;
+子画面 < kogamen\ ;
+絶息 < zessoku\ ;
+陣容 < jin''you\ ;
+陸大 < rikudai\ ;
+褥瘡 < jokusou\ ;
+粗筋 < arasuji\ ;
+長短 < choutan\ ;
+親方 < oyakata\ ;
+可視化 < kashika\ ;
+設営 < setsuei\ ;
+絵心 < egokoro\ ;
+拝領 < hairyou\ ;
+絶後 < zetsugo\ ;
+不注意 < fuchuui\ ;
+粘稠 < nenchuu\ ;
+撮影 < satsuei\ ;
+護衛艦 < goeikan\ ;
+塩害 < shiogai\ ;
+補綴 < hotetsu\ ;
+篤農 < tokunou\ ;
+揮発 < kihatsu\ ;
+烏木 < kokutan\ ;
+次打者 < jidasha\ ;
+堆朱 < tsuishu\ ;
+陸地 < rikuchi\ ;
+境域 < kyouiki\ ;
+披露宴 < hirouen\ ;
+照合 < shougou\ ;
+評伝 < hyouden\ ;
+自衛官 < jieikan\ ;
+型番 < kataban\ ;
+焼売 < shuumai\ ;
+留守番 < rusuban\ ;
+複眼 < fukugan\ ;
+亜音速 < aonsoku\ ;
+無宿 < mushuku\ ;
+角帽 < kakubou\ ;
+長男 < chounan\ ;
+親指 < oyayubi\ ;
+角帯 < kakuobi\ ;
+無実 < mujitsu\ ;
+索条 < sakujou\ ;
+総則 < sousoku\ ;
+蹄 < hidzume\ ;
+増収 < zoushuu\ ;
+綾取 < ayatori\ ;
+続報 < zokuhou\ ;
+報徳 < houtoku\ ;
+摩擦 < masatsu\ ;
+報復 < houfuku\ ;
+御注意 < gochuui\ ;
+見料 < kenryou\ ;
+表装 < hyousou\ ;
+国葬 < kokusou\ ;
+西暦 < seireki\ ;
+籠絡 < rouraku\ ;
+医科学 < ikagaku\ ;
+粗皮 < arakawa\ ;
+炭柱 < tanchuu\ ;
+観念 < kan''nen\ ;
+純朴 < junboku\ ;
+訓告 < kunkoku\ ;
+西日 < nishibi\ ;
+米穀 < beikoku\ ;
+異方性 < ihousei\ ;
+擁壁 < youheki\ ;
+設備 < setsubi\ ;
+血豆 < chimame\ ;
+圧縮 < asshuku\ ;
+緒作 < shosaku\ ;
+無鑑査 < mukansa\ ;
+級数 < kyuusuu\ ;
+紋服 < monpuku\ ;
+裕福 < yuufuku\ ;
+掛算 < kakezan\ ;
+絵姿 < esugata\ ;
+謬 < ayamari\ ;
+地籍 < chiseki\ ;
+二番目 < nibanme\ ;
+探究 < tankyuu\ ;
+粒界 < ryuukai\ ;
+硬化油 < koukayu\ ;
+損流 < sonryuu\ ;
+誼 < yoshimi\ ;
+映画祭 < eigasai\ ;
+誮 < yasashi\ ;
+漆食 < shikkui\ ;
+映画社 < eigasha\ ;
+点描 < tenbyou\ ;
+不正規 < fuseiki\ ;
+荊棘線 < barasen\ ;
+拓銀 < takugin\ ;
+絶壁 < zeppeki\ ;
+慰霊祭 < ireisai\ ;
+学校医 < gakkoui\ ;
+陸兵 < rikuhei\ ;
+綱具 < tsunagu\ ;
+粗玉 < aratama\ ;
+網元 < amimoto\ ;
+言及 < genkyuu\ ;
+金文字 < kinmoji\ ;
+糸枠 < itowaku\ ;
+除却 < jokyaku\ ;
+漫録 < manroku\ ;
+随一 < zuiichi\ ;
+糸杉 < itosugi\ ;
+灰殻 < haigara\ ;
+摂政 < sesshou\ ;
+襅 < chihaya\ ;
+塩味 < shioaji\ ;
+結尾 < ketsubi\ ;
+約数 < yakusuu\ ;
+防壁 < bouheki\ ;
+御法度 < gohatto\ ;
+塁壁 < ruiheki\ ;
+結審 < kesshin\ ;
+拙速 < sessoku\ ;
+撮土 < satsudo\ ;
+気保養 < kihoyou\ ;
+蠎 < uwabami\ ;
+鉄火場 < tekkaba\ ;
+勤務員 < kinmuin\ ;
+角地 < kadochi\ ;
+経学 < keigaku\ ;
+粋狂 < suikyou\ ;
+裏白 < urajiro\ ;
+塵入 < gomiire\ ;
+異星人 < iseijin\ ;
+細帯 < hosoobi\ ;
+蜆 < shijimi\ ;
+無口 < mukuchi\ ;
+執念 < shuunen\ ;
+陸上 < rikujou\ ;
+映画界 < eigakai\ ;
+漫遊 < man''yuu\ ;
+絶唱 < zesshou\ ;
+虱 < shirami\ ;
+五畿内 < gokinai\ ;
+御破算 < gohasan\ ;
+地目 < chimoku\ ;
+否定語 < hiteigo\ ;
+無力 < muryoku\ ;
+蕾 < tsubomi\ ;
+抽選 < chuusen\ ;
+絶叫 < zekkyou\ ;
+違憲性 < ikensei\ ;
+塩化銀 < enkagin\ ;
+国粋 < kokusui\ ;
+閉業 < heigyou\ ;
+米独 < beidoku\ ;
+振舞 < furumai\ ;
+保護司 < hogoshi\ ;
+長歌 < nagauta\ ;
+納得 < nattoku\ ;
+土着 < dochaku\ ;
+国等 < kokutou\ ;
+堂守 < doumori\ ;
+拝謁 < haietsu\ ;
+得意気 < tokuige\ ;
+撤収 < tesshuu\ ;
+灯明 < toumyou\ ;
+拝読 < haidoku\ ;
+等閑 < naozari\ ;
+鏤骨 < rukotsu\ ;
+手細工 < tezaiku\ ;
+舎利塩 < sharien\ ;
+在留 < zairyuu\ ;
+損料 < sonryou\ ;
+圭璧 < keiheki\ ;
+描法 < byouhou\ ;
+親馬鹿 < oyabaka\ ;
+舞踊家 < butouka\ ;
+国税 < kokuzei\ ;
+奇形児 < kikeiji\ ;
+門柱 < monchuu\ ;
+午後中 < gogojuu\ ;
+艀 < hashike\ ;
+困窮 < konkyuu\ ;
+表紙 < hyoushi\ ;
+烈女 < retsujo\ ;
+詭弁家 < kibenka\ ;
+親善 < shinzen\ ;
+漫読 < mandoku\ ;
+関所 < sekisho\ ;
+糸底 < itozoko\ ;
+漫評 < manpyou\ ;
+見境 < misakai\ ;
+聢 < shikato\ ;
+胃洗浄 < isenjou\ ;
+折込 < orikomi\ ;
+不同化 < fudouka\ ;
+翼 < tsubasa\ ;
+異教徒 < ikyouto\ ;
+授爵 < jushaku\ ;
+鏡面 < kyoumen\ ;
+固着 < kochaku\ ;
+推測 < suisoku\ ;
+国益 < kokueki\ ;
+湯加減 < yukagen\ ;
+約定 < yakujou\ ;
+非課税 < hikazei\ ;
+和楽器 < wagakki\ ;
+統一 < touitsu\ ;
+開拓 < kaitaku\ ;
+補殺 < hosatsu\ ;
+糸屑 < itokuzu\ ;
+違法者 < ihousha\ ;
+撃剣 < gekiken\ ;
+扁額 < hengaku\ ;
+演説 < enzetsu\ ;
+所領 < shoryou\ ;
+竹馬 < chikuba\ ;
+国産 < kokusan\ ;
+血縁 < ketsuen\ ;
+複方 < fukuhou\ ;
+粗末 < somatsu\ ;
+鎮魂 < chingon\ ;
+複数 < fukusuu\ ;
+損得 < sontoku\ ;
+堕力 < daryoku\ ;
+輸送機 < yusouki\ ;
+与野党 < yoyatou\ ;
+血糊 < chinori\ ;
+引火点 < inkaten\ ;
+漸落 < zenraku\ ;
+粗方 < arakata\ ;
+糸姫 < itohime\ ;
+節義 < setsugi\ ;
+羽子板 < hagoita\ ;
+筆蹟 < hisseki\ ;
+音沙汰 < otosata\ ;
+禾本科 < kahonka\ ;
+不可分 < fukabun\ ;
+終値 < owarine\ ;
+血筋 < chisuji\ ;
+城壁 < jouheki\ ;
+鼠径部 < sokeibu\ ;
+地殻 < chikaku\ ;
+策謀 < sakubou\ ;
+融通 < yuudzuu\ ;
+開幕 < kaimaku\ ;
+喫驚 < bikkuri\ ;
+閉幕 < heimaku\ ;
+鎖骨 < sakotsu\ ;
+満額 < mangaku\ ;
+街着 < machigi\ ;
+圧殺 < assatsu\ ;
+鎮静 < chinsei\ ;
+無技巧 < mugikou\ ;
+蟋蟀 < koorogi\ ;
+拝聴 < haichou\ ;
+濁点 < dakuten\ ;
+蠏缶 < kanikan\ ;
+礎 < ishizue\ ;
+長径 < choukei\ ;
+都議会 < togikai\ ;
+推服 < suifuku\ ;
+閑寂 < kanjaku\ ;
+糾問 < kyuumon\ ;
+裏書 < uragaki\ ;
+予備校 < yobikou\ ;
+長幼 < chouyou\ ;
+搾取 < sakushu\ ;
+堅人 < katajin\ ;
+土橋 < dobashi\ ;
+観世音 < kanzeon\ ;
+手近 < tedjika\ ;
+裏方 < urakata\ ;
+半過去 < hankako\ ;
+不参加 < fusanka\ ;
+激減 < gekigen\ ;
+粗忽 < sokotsu\ ;
+納入 < nounyuu\ ;
+技術 < gijutsu\ ;
+投薬 < touyaku\ ;
+激浪 < gekirou\ ;
+恣意性 < shiisei\ ;
+国法 < kokuhou\ ;
+粒径 < ryuukei\ ;
+甦 < yomigae\ ;
+付加税 < fukazei\ ;
+国民 < kokumin\ ;
+精妙 < seimyou\ ;
+濁水 < dakusui\ ;
+時計座 < tokeiza\ ;
+排斥 < haiseki\ ;
+部屋代 < heyadai\ ;
+母音性 < boinsei\ ;
+行状 < gyoujou\ ;
+蝶貝 < chougai\ ;
+不得意 < futokui\ ;
+襟元 < erimoto\ ;
+電話機 < denwaki\ ;
+無担保 < mutanpo\ ;
+懸隔 < kenkaku\ ;
+裏技 < urawaza\ ;
+在方 < zaikata\ ;
+竹輪 < chikuwa\ ;
+排撃 < haigeki\ ;
+措辞法 < sojihou\ ;
+採択 < saitaku\ ;
+八九分 < hakkubu\ ;
+螟虫 < meichuu\ ;
+災厄 < saiyaku\ ;
+土日 < donichi\ ;
+根太板 < nedaita\ ;
+成銀 < narigin\ ;
+牜 < ushihen\ ;
+範疇 < hanchuu\ ;
+火加減 < hikagen\ ;
+亜燐酸 < arinsan\ ;
+時計屋 < tokeiya\ ;
+掌握 < shouaku\ ;
+成金 < narikin\ ;
+潔白 < keppaku\ ;
+青二才 < aonisai\ ;
+潔癖 < keppeki\ ;
+漢籍 < kanseki\ ;
+圧接 < assetsu\ ;
+野放図 < nohouzu\ ;
+粒子 < ryuushi\ ;
+才覚 < saikaku\ ;
+火口 < higuchi\ ;
+所謂 < iwayuru\ ;
+間口 < maguchi\ ;
+閣内 < kakunai\ ;
+幼児期 < youjiki\ ;
+満身 < manshin\ ;
+按摩膏 < anmakou\ ;
+気苦労 < kigurou\ ;
+裏庭 < uraniwa\ ;
+裏店 < uradana\ ;
+国有 < kokuyuu\ ;
+政府案 < seifuan\ ;
+国書 < kokusho\ ;
+火力 < karyoku\ ;
+竜車 < ryuusha\ ;
+予備役 < yobieki\ ;
+我輩 < wagahai\ ;
+満足 < manzoku\ ;
+血潮 < chishio\ ;
+漆絵 < urushie\ ;
+齷齪 < akuseku\ ;
+地心 < chishin\ ;
+空馬 < karauma\ ;
+国文 < kokubun\ ;
+国教 < kokkyou\ ;
+国政 < kokusei\ ;
+米審 < beishin\ ;
+坩堝 < rutsubo\ ;
+不道理 < fudouri\ ;
+金無垢 < kinmuku\ ;
+団栗 < donguri\ ;
+図星 < zuboshi\ ;
+裏山 < urayama\ ;
+折紙 < origami\ ;
+行水 < gyouzui\ ;
+粉壁 < funpeki\ ;
+偽造印 < gizouin\ ;
+立身 < risshin\ ;
+竹製 < takesei\ ;
+無批判 < muhihan\ ;
+血沈 < ketchin\ ;
+手蔓 < tedzuru\ ;
+毮 < mushiru\ ;
+図書費 < toshohi\ ;
+火付 < hitsuke\ ;
+幸運児 < kouunji\ ;
+唐黍 < toukibi\ ;
+地峡 < chikyou\ ;
+塩水湖 < ensuiko\ ;
+流布本 < rufubon\ ;
+築港 < chikkou\ ;
+空隙 < kuugeki\ ;
+抜穴 < nukeana\ ;
+山茶花 < sazanka\ ;
+移民法 < iminhou\ ;
+空陸 < kuuriku\ ;
+鬼百合 < oniyuri\ ;
+間中 < aidajuu\ ;
+排尿 < hainyou\ ;
+国手 < kokushu\ ;
+表明 < hyoumei\ ;
+奈良県 < naraken\ ;
+不勝手 < fukatte\ ;
+回教 < kaikyou\ ;
+地学 < chigaku\ ;
+漁礁 < gyoshou\ ;
+表敬 < hyoukei\ ;
+激憤 < gekifun\ ;
+潤沢 < juntaku\ ;
+振替 < furikae\ ;
+篦棒 < berabou\ ;
+投票 < touhyou\ ;
+国情 < kokujou\ ;
+在宅 < zaitaku\ ;
+不利益 < furieki\ ;
+在学 < zaigaku\ ;
+市吏員 < shiriin\ ;
+意見書 < ikensho\ ;
+慰霊塔 < ireitou\ ;
+立証 < risshou\ ;
+棗 < natsume\ ;
+掛声 < kakegoe\ ;
+梻 < shikimi\ ;
+我利勉 < gariben\ ;
+行末 < yukusue\ ;
+行書 < gyousho\ ;
+渾身 < konshin\ ;
+困惑 < konwaku\ ;
+衆望 < shuubou\ ;
+減量 < genryou\ ;
+曙 < akebono\ ;
+擬宝珠 < giboshi\ ;
+大和絵 < yamatoe\ ;
+行数 < gyousuu\ ;
+図式 < zushiki\ ;
+小切手 < kogitte\ ;
+漿液 < shoueki\ ;
+晒 < sarashi\ ;
+転路器 < tenroki\ ;
+穀類 < kokurui\ ;
+漠然 < bakuzen\ ;
+突進 < tosshin\ ;
+米収 < beishuu\ ;
+旁 < tsukuri\ ;
+判事補 < hanjiho\ ;
+屠蘇散 < tososan\ ;
+穿通 < sentsuu\ ;
+表情 < hyoujou\ ;
+噴流 < funryuu\ ;
+種馬 < taneuma\ ;
+淡雪 < awayuki\ ;
+参議院 < sangiin\ ;
+接受 < setsuju\ ;
+挨拶 < aisatsu\ ;
+挫折 < zasetsu\ ;
+接収 < sesshuu\ ;
+手綱 < tadzuna\ ;
+国対 < kokutai\ ;
+予備品 < yobihin\ ;
+漁獲 < gyokaku\ ;
+扉絵 < tobirae\ ;
+漁猟 < gyoryou\ ;
+国定 < kokutei\ ;
+理工科 < rikouka\ ;
+火葬場 < kasouba\ ;
+唇音 < shin''on\ ;
+寒垢離 < kangori\ ;
+行成 < ikinari\ ;
+滑石 < kasseki\ ;
+防衛費 < boueihi\ ;
+地口 < jiguchi\ ;
+手箒 < tebouki\ ;
+唐門 < karamon\ ;
+馬小屋 < umagoya\ ;
+竜脳 < ryuunou\ ;
+国大 < kokudai\ ;
+米俗 < beizoku\ ;
+国外 < kokugai\ ;
+裏側 < uragawa\ ;
+濁声 < damigoe\ ;
+米作 < beisaku\ ;
+予備兵 < yobihei\ ;
+唱道 < shoudou\ ;
+問責 < monseki\ ;
+空谷 < kuukoku\ ;
+激増 < gekizou\ ;
+小道具 < kodougu\ ;
+端綱 < hadzuna\ ;
+深遠 < shin''en\ ;
+裏作 < urasaku\ ;
+裂傷 < resshou\ ;
+蛮襟 < bankara\ ;
+希元素 < kigenso\ ;
+怺 < koraeru\ ;
+世界語 < sekaigo\ ;
+米中 < beichuu\ ;
+立腹 < rippuku\ ;
+税額 < zeigaku\ ;
+竿竹 < saodake\ ;
+淫逸 < in''itsu\ ;
+徤 < takeshi\ ;
+護衛兵 < goeihei\ ;
+空調 < kuuchou\ ;
+虫類 < chuurui\ ;
+形而下 < keijika\ ;
+捺印 < natsuin\ ;
+衆庶 < shuusho\ ;
+竹竿 < takezao\ ;
+青電話 < aodenwa\ ;
+二枚目 < nimaime\ ;
+問診 < monshin\ ;
+拓本 < takuhon\ ;
+積載 < sekisai\ ;
+空襲 < kuushuu\ ;
+他府県 < tafuken\ ;
+保線区 < hosenku\ ;
+巽 < tatsumi\ ;
+在俗 < zaizoku\ ;
+出稽古 < degeiko\ ;
+空行 < kuugyou\ ;
+地主 < jinushi\ ;
+不具者 < fugusha\ ;
+地中 < chichuu\ ;
+演算機 < enzanki\ ;
+遺伝法 < idenhou\ ;
+国号 < kokugou\ ;
+錯角 < sakkaku\ ;
+在京 < zaikyou\ ;
+拍数 < hakusuu\ ;
+遺家族 < ikazoku\ ;
+小利口 < korikou\ ;
+在中 < zaichuu\ ;
+表在 < hyouzai\ ;
+滴水 < tekisui\ ;
+打率 < daritsu\ ;
+鋳造 < chuuzou\ ;
+四国 < shikoku\ ;
+国労 < kokurou\ ;
+激動 < gekidou\ ;
+立米 < ryuubei\ ;
+筋注 < kinchuu\ ;
+激励 < gekirei\ ;
+抑止 < yokushi\ ;
+漢族 < kanzoku\ ;
+節度 < setsudo\ ;
+天気運 < tenkiun\ ;
+漁業 < gyogyou\ ;
+液量 < ekiryou\ ;
+府議会 < fugikai\ ;
+蛇蠍 < dakatsu\ ;
+国内 < kokunai\ ;
+国典 < kokuten\ ;
+蝋石 < rouseki\ ;
+竜神 < ryuujin\ ;
+消防 < shoubou\ ;
+流麗 < ryuurei\ ;
+端的 < tanteki\ ;
+温色 < onshoku\ ;
+準用 < jun''you\ ;
+穴蔵 < anagura\ ;
+拍手 < hakushu\ ;
+手燭 < teshoku\ ;
+壬 < mizunoe\ ;
+止音器 < shionki\ ;
+合気会 < aikikai\ ;
+醍醐味 < daigomi\ ;
+箱師 < hakoshi\ ;
+表号 < hyougou\ ;
+黄麻 < tsunaso\ ;
+虫酸 < mushizu\ ;
+満目 < manmoku\ ;
+拝復 < haifuku\ ;
+鐘楼 < shourou\ ;
+立秋 < risshuu\ ;
+秋風 < shuufuu\ ;
+押捺 < ounatsu\ ;
+意図的 < itoteki\ ;
+浦風 < urakaze\ ;
+空茶 < karacha\ ;
+竜眼 < ryuugan\ ;
+海陸 < kairiku\ ;
+地磁気 < chijiki\ ;
+税込 < zeikomi\ ;
+生意気 < namaiki\ ;
+黒鯛 < kurodai\ ;
+空色 < sorairo\ ;
+四次元 < yojigen\ ;
+挙国 < kyokoku\ ;
+衰兆 < suichou\ ;
+国中 < kunijuu\ ;
+秋霜 < shuusou\ ;
+喉笛 < nodobue\ ;
+秋霖 < shuurin\ ;
+御目玉 < omedama\ ;
+行啓 < gyoukei\ ;
+嚏 < kushami\ ;
+秋雨 < akisame\ ;
+空腹 < kuufuku\ ;
+挿入 < sounyuu\ ;
+和食 < washoku\ ;
+抜擢 < batteki\ ;
+鍵穴 < kagiana\ ;
+蟻巻 < arimaki\ ;
+指圧 < shiatsu\ ;
+投擲 < touteki\ ;
+公文所 < kumonjo\ ;
+指図 < sashizu\ ;
+御座所 < gozasho\ ;
+溺水 < dekisui\ ;
+大鋸屑 < ogakuzu\ ;
+築地 < tsukiji\ ;
+甘海苔 < amanori\ ;
+建議案 < kengian\ ;
+蝋燭 < rousoku\ ;
+溺死 < dekishi\ ;
+碁会所 < gokaijo\ ;
+拙宅 < settaku\ ;
+手沢 < shutaku\ ;
+抑揚 < yokuyou\ ;
+笊法 < zaruhou\ ;
+懇篤 < kontoku\ ;
+唐薯 < karaimo\ ;
+税調 < zeichou\ ;
+蘭鋳 < ranchuu\ ;
+拡大 < kakudai\ ;
+防火戸 < boukado\ ;
+銅鐸 < doutaku\ ;
+登山家 < tozanka\ ;
+炊事場 < suijiba\ ;
+成熟 < seijuku\ ;
+溜池 < tameike\ ;
+浦里 < urazato\ ;
+英文科 < eibunka\ ;
+湯熨 < yunoshi\ ;
+喫煙 < kitsuen\ ;
+満潮 < manchou\ ;
+嚇嚇 < kakkaku\ ;
+拓大 < takudai\ ;
+源流 < genryuu\ ;
+穎脱 < eidatsu\ ;
+突端 < toppana\ ;
+酸性雨 < sanseiu\ ;
+黄雀 < koujaku\ ;
+喀痰 < kakutan\ ;
+鼻血 < hanadji\ ;
+錯綜 < sakusou\ ;
+術中 < jutchuu\ ;
+派生語 < haseigo\ ;
+派閥 < habatsu\ ;
+遺伝性 < idensei\ ;
+医療費 < iryouhi\ ;
+大祖父 < daisofu\ ;
+麻雀 < mazejan\ ;
+篆刻 < tenkoku\ ;
+軍荼利 < gundari\ ;
+戯歌 < zareuta\ ;
+唐臼 < karausu\ ;
+満洲 < manshuu\ ;
+湾流 < wanryuu\ ;
+善玉 < zendama\ ;
+私通 < shitsuu\ ;
+種苗 < shubyou\ ;
+白亜紀 < hakuaki\ ;
+丼 < donburi\ ;
+海賊 < kaizoku\ ;
+種芋 < taneimo\ ;
+戦歴 < senreki\ ;
+騎馬戦 < kibasen\ ;
+目一杯 < meippai\ ;
+指値 < sashine\ ;
+記事文 < kijibun\ ;
+海象 < seiuchi\ ;
+押売 < oshiuri\ ;
+品評 < hinpyou\ ;
+惨酷 < zankoku\ ;
+和太鼓 < wadaiko\ ;
+悪食 < akujiki\ ;
+蛮的 < banteki\ ;
+予定案 < yoteian\ ;
+神髄 < shinzui\ ;
+蘇鉄 < sotetsu\ ;
+蟄居 < chikkyo\ ;
+愚説 < gusetsu\ ;
+懸濁 < kendaku\ ;
+溝板 < dobuita\ ;
+符号器 < fugouki\ ;
+嚢中 < nouchuu\ ;
+書記補 < shokiho\ ;
+秘訣 < hiketsu\ ;
+空白 < kuuhaku\ ;
+応援団 < ouendan\ ;
+遺伝子 < idenshi\ ;
+除草器 < josouki\ ;
+虹色 < nijiiro\ ;
+策定 < sakutei\ ;
+流連 < ryuuren\ ;
+積算 < sekisan\ ;
+予定日 < yoteibi\ ;
+悪阻 < tsuwari\ ;
+戯曲 < gikyoku\ ;
+保持者 < hojisha\ ;
+拡充 < kakujuu\ ;
+穀粉 < kokufun\ ;
+唐糸 < karaito\ ;
+鉄鎚 < tettsui\ ;
+空瓶 < karabin\ ;
+単位元 < tanigen\ ;
+意地悪 < ijiwaru\ ;
+満株 < mankabu\ ;
+秘術 < hijutsu\ ;
+蛋白 < tanpaku\ ;
+上出来 < joudeki\ ;
+周遊 < shuuyuu\ ;
+符号化 < fugouka\ ;
+滅度 < metsudo\ ;
+満更 < manzara\ ;
+周辺 < shuuhen\ ;
+成桂 < narikei\ ;
+海蛇 < umihebi\ ;
+活路 < katsuro\ ;
+黒貂 < kuroten\ ;
+不相応 < fusouou\ ;
+銭葵 < zeniaoi\ ;
+英語版 < eigoban\ ;
+重火器 < juukaki\ ;
+波音 < namioto\ ;
+摩利支 < marishi\ ;
+稜線 < ryousen\ ;
+異端視 < itanshi\ ;
+才徳 < saitoku\ ;
+立案 < ritsuan\ ;
+黙認 < mokunin\ ;
+空爆 < kuubaku\ ;
+各駅 < kakueki\ ;
+押入 < oshiire\ ;
+混用 < kon''you\ ;
+渦潮 < uzushio\ ;
+葬儀屋 < sougiya\ ;
+項位置 < kouichi\ ;
+釣魚 < chougyo\ ;
+我方 < wagahou\ ;
+穴熊 < anaguma\ ;
+所得 < shotoku\ ;
+医師法 < ishihou\ ;
+溜息 < tameiki\ ;
+恭順 < kyoujun\ ;
+漏刻 < roukoku\ ;
+葡萄園 < budouen\ ;
+薩長 < satchou\ ;
+流言 < ryuugen\ ;
+担任 < tan''nin\ ;
+立春 < risshun\ ;
+窯業 < yougyou\ ;
+抜去 < bakkyou\ ;
+温浴 < on''yoku\ ;
+禁足 < kinsoku\ ;
+準急 < junkyuu\ ;
+吃音 < kitsuon\ ;
+鉄路 < tetsuro\ ;
+五斗米 < gotobei\ ;
+社長 < shachou\ ;
+各面 < kakumen\ ;
+黒血 < kurochi\ ;
+消耗 < shoumou\ ;
+竣成 < shunsei\ ;
+黒蟻 < kuroari\ ;
+可愛気 < kawaige\ ;
+流行 < ryuukou\ ;
+窒死 < chisshi\ ;
+金高 < kindaka\ ;
+五線譜 < gosenfu\ ;
+各階 < kakukai\ ;
+秋草 < akikusa\ ;
+才学 < saigaku\ ;
+御府内 < gofunai\ ;
+子馬座 < koumaza\ ;
+愉色 < yushoku\ ;
+小芥子 < kokeshi\ ;
+清濁 < seidaku\ ;
+周覧 < shuuran\ ;
+恒温器 < kouonki\ ;
+所属 < shozoku\ ;
+戦役 < sen''eki\ ;
+知恵者 < chiesha\ ;
+薄雲 < usugumo\ ;
+薄雪 < usuyuki\ ;
+祝辞 < shukuji\ ;
+抑制 < yokusei\ ;
+恋風 < koikaze\ ;
+神輿 < mikoshi\ ;
+遺贈分 < izoubun\ ;
+鹿追 < shikaoi\ ;
+祖述 < sojutsu\ ;
+戊戌 < bojutsu\ ;
+薬酒 < yakushu\ ;
+呪術 < jujutsu\ ;
+古顔 < furugao\ ;
+太刀魚 < tachiuo\ ;
+手妻 < tedzuma\ ;
+混濁 < kondaku\ ;
+助演者 < joensha\ ;
+金額 < kingaku\ ;
+代理部 < dairibu\ ;
+惨落 < sanraku\ ;
+蘊蓄 < unchiku\ ;
+銀色 < gin''iro\ ;
+麦角 < bakkaku\ ;
+台閣 < daikaku\ ;
+満席 < manseki\ ;
+移動体 < idoutai\ ;
+運動費 < undouhi\ ;
+天鵝絨 < biroudo\ ;
+一酸化 < issanka\ ;
+祝賀 < shukuga\ ;
+悪評 < akuhyou\ ;
+悪訳 < akuyaku\ ;
+蕪雑 < buzatsu\ ;
+黒茶 < kurocha\ ;
+税目 < zeimoku\ ;
+遠距離 < enkyori\ ;
+佐賀県 < sagaken\ ;
+示達 < jitatsu\ ;
+虎穴 < koketsu\ ;
+高音部 < kouonbu\ ;
+鎮定 < chintei\ ;
+異端者 < itansha\ ;
+筒井 < tsutsui\ ;
+哲理 < tetsuri\ ;
+鈍足 < donsoku\ ;
+空桶 < karaoke\ ;
+薄鈍 < usunoro\ ;
+懲悪 < chouaku\ ;
+空株 < kuukabu\ ;
+蛮族 < banzoku\ ;
+笛吹 < fuefuki\ ;
+感化院 < kankain\ ;
+竜宮 < ryuuguu\ ;
+祝言 < shuugen\ ;
+恥辱 < chijoku\ ;
+不機嫌 < fukigen\ ;
+部外秘 < bugaihi\ ;
+善悪 < zen''aku\ ;
+重鎮 < juuchin\ ;
+薄遇 < hakuguu\ ;
+亜熱帯 < anettai\ ;
+手口 < teguchi\ ;
+沈降 < chinkou\ ;
+善徳 < zentoku\ ;
+淫欲 < in''yoku\ ;
+銀紙 < gingami\ ;
+富士山 < fujisan\ ;
+鈴蘭 < suzuran\ ;
+戦域 < sen''iki\ ;
+吟誦 < ginshou\ ;
+指揮所 < shikijo\ ;
+品目 < hinmoku\ ;
+醜類 < shuurui\ ;
+生醤油 < kijouyu\ ;
+銅箔 < douhaku\ ;
+戦国 < sengoku\ ;
+愛着 < aichaku\ ;
+浄瑠璃 < joururi\ ;
+補佐官 < hosakan\ ;
+鈍角 < donkaku\ ;
+麦茶 < mugicha\ ;
+黒線 < kokusen\ ;
+過去形 < kakokei\ ;
+草仮名 < sougana\ ;
+愚直 < guchoku\ ;
+銀箔 < ginpaku\ ;
+藤色 < fujiiro\ ;
+戸口 < toguchi\ ;
+空揚 < karaage\ ;
+銀笛 < ginteki\ ;
+御機嫌 < gokigen\ ;
+第一 < daiichi\ ;
+野道 < nomichi\ ;
+唐歌 < karauta\ ;
+同調 < douchou\ ;
+不履行 < furikou\ ;
+合調 < gouchou\ ;
+口輪 < kuchiwa\ ;
+忠魂 < chuukon\ ;
+各論 < kakuron\ ;
+合評 < gappyou\ ;
+叙述 < jojutsu\ ;
+立場 < tachiba\ ;
+唐様 < karayou\ ;
+阿弗利加 < afurika\ ;
+麻縄 < asanawa\ ;
+鶺鴒 < sekirei\ ;
+悪臭 < akushuu\ ;
+擬人化 < gijinka\ ;
+積木 < tsumiki\ ;
+準則 < junsoku\ ;
+鎮台 < chindai\ ;
+分度器 < bundoki\ ;
+沈酔 < chinsui\ ;
+黙祷 < mokutou\ ;
+金赤 < kin''aka\ ;
+立国 < rikkoku\ ;
+手中 < shuchuu\ ;
+手下 < teshita\ ;
+収載 < shuusai\ ;
+出目金 < demekin\ ;
+夜汽車 < yogisha\ ;
+満卓 < mantaku\ ;
+左派系 < sahakei\ ;
+渦巻 < uzumaki\ ;
+海猫 < umineko\ ;
+愚物 < gubutsu\ ;
+重責 < juuseki\ ;
+鼻汗 < hanaase\ ;
+急送 < kyuusou\ ;
+善女 < zen''nyo\ ;
+鉛筆 < enpitsu\ ;
+戒名 < kaimyou\ ;
+厄難 < yakunan\ ;
+海牛 < kaigyuu\ ;
+薬莢 < yakkyou\ ;
+鼻歌 < hanauta\ ;
+憑拠 < hyoukyo\ ;
+鉄索 < tessaku\ ;
+反越 < hanetsu\ ;
+吹聴 < fuichou\ ;
+湯口 < yuguchi\ ;
+古説 < kosetsu\ ;
+水飴 < mizuame\ ;
+即題 < sokudai\ ;
+口説 < kuzetsu\ ;
+詐欺罪 < sagizai\ ;
+種板 < taneita\ ;
+虫気 < mushike\ ;
+空席 < kuuseki\ ;
+測定 < sokutei\ ;
+饂飩屋 < udon''ya\ ;
+湾内 < wan''nai\ ;
+愕然 < gakuzen\ ;
+種本 < tanehon\ ;
+収賄 < shuuwai\ ;
+夢想家 < musouka\ ;
+記譜法 < kifuhou\ ;
+一死後 < isshigo\ ;
+重訳 < juuyaku\ ;
+鈍色 < nibiiro\ ;
+深慮 < shinryo\ ;
+非衛生 < hieisei\ ;
+種族 < shuzoku\ ;
+里親 < satooya\ ;
+黒痣 < kuroaza\ ;
+醋酸 < sakusan\ ;
+麦笛 < mugibue\ ;
+君臣 < kunshin\ ;
+洞穴 < horaana\ ;
+誤投下 < gotouka\ ;
+浸潤 < shinjun\ ;
+古血 < furuchi\ ;
+憂戚 < yuuseki\ ;
+含羞 < ganshuu\ ;
+空将 < kuushou\ ;
+水陸 < suiriku\ ;
+不自由 < fujiyuu\ ;
+流用 < ryuuyou\ ;
+満了 < manryou\ ;
+流産 < ryuuzan\ ;
+積悪 < sekiaku\ ;
+鉛直 < enchoku\ ;
+〃 < onajiku\ ;
+悪策 < akusaku\ ;
+麦秋 < mugiaki\ ;
+金融 < kin''yuu\ ;
+英数字 < eisuuji\ ;
+必需 < hitsuju\ ;
+神経 < shinkei\ ;
+反覆 < hanpuku\ ;
+突如 < totsujo\ ;
+液晶 < ekishou\ ;
+同腹 < doufuku\ ;
+積弊 < sekihei\ ;
+虚業 < kyogyou\ ;
+油菜 < aburana\ ;
+半額 < hangaku\ ;
+決議 < ketsugi\ ;
+鉄石 < tesseki\ ;
+快適 < kaiteki\ ;
+酷遇 < kokuguu\ ;
+黙然 < mokunen\ ;
+酪酸 < rakusan\ ;
+釉薬 < yuuyaku\ ;
+告知 < kokuchi\ ;
+知情意 < chijoui\ ;
+風呂桶 < furooke\ ;
+恋草 < koigusa\ ;
+浦波 < uranami\ ;
+薬籠 < yakurou\ ;
+英語圏 < eigoken\ ;
+空圧 < kuuatsu\ ;
+低音部 < teionbu\ ;
+秋水 < shuusui\ ;
+右腕 < migiude\ ;
+口茶 < kuchija\ ;
+徒食 < toshoku\ ;
+酪農 < rakunou\ ;
+薄肉 < usuniku\ ;
+北鮮 < hokusen\ ;
+黄熟 < koujuku\ ;
+二期制 < nikisei\ ;
+収蔵 < shuuzou\ ;
+浴槽 < yokusou\ ;
+金色 < konjiki\ ;
+擬声語 < giseigo\ ;
+原註 < genchuu\ ;
+悪症 < akushou\ ;
+悪病 < akubyou\ ;
+化骨 < kakotsu\ ;
+里芋 < satoimo\ ;
+反落 < hanraku\ ;
+心配 < shinpai\ ;
+氷輪 < hyourin\ ;
+感服 < kanpuku\ ;
+毒魚 < dokugyo\ ;
+私欲 < shiyoku\ ;
+鹿砦 < rokusai\ ;
+用務員 < youmuin\ ;
+窮乏 < kyuubou\ ;
+深夜 < shin''ya\ ;
+確認 < kakunin\ ;
+減収 < genshuu\ ;
+薬礼 < yakurei\ ;
+錨地 < byouchi\ ;
+薄縁 < usuberi\ ;
+御苦労 < gokurou\ ;
+未登記 < mitouki\ ;
+簡易化 < kan''ika\ ;
+薄絹 < usuginu\ ;
+快諾 < kaidaku\ ;
+北風 < hokufuu\ ;
+一過性 < ikkasei\ ;
+重聴 < juuchou\ ;
+銘柄 < meigara\ ;
+悪玉 < akudama\ ;
+秘曲 < hikyoku\ ;
+薄紙 < usugami\ ;
+薄紅 < usubeni\ ;
+運送費 < unsouhi\ ;
+渋味 < shibumi\ ;
+南進 < nanshin\ ;
+医師会 < ishikai\ ;
+銘木 < meiboku\ ;
+名称 < meishou\ ;
+流汗 < ryuukan\ ;
+北面 < hokumen\ ;
+悉皆 < shikkai\ ;
+流水 < ryuusui\ ;
+自叙伝 < jijoden\ ;
+突先 < tossaki\ ;
+活況 < kakkyou\ ;
+釈義 < shakugi\ ;
+天気屋 < tenkiya\ ;
+難易度 < nan''ido\ ;
+吉祥 < kisshou\ ;
+硫酸 < ryuusan\ ;
+弱齢 < jakurei\ ;
+泡盛 < awamori\ ;
+北限 < hokugen\ ;
+秋晴 < akibare\ ;
+穴凹 < anaboko\ ;
+金網 < kanaami\ ;
+号笛 < gouteki\ ;
+蛇口 < jaguchi\ ;
+淑女 < shukujo\ ;
+双翼 < souyoku\ ;
+仮数部 < kasuubu\ ;
+半農 < han''nou\ ;
+鈍痛 < dontsuu\ ;
+十字路 < juujiro\ ;
+北門 < kitamon\ ;
+吸物 < suimono\ ;
+十進 < jisshin\ ;
+薬用 < yakuyou\ ;
+銀杏 < gin''nan\ ;
+渡仏 < tofutsu\ ;
+磊落 < rairaku\ ;
+虚心 < kyoshin\ ;
+洗滌 < sendeki\ ;
+津波 < tsunami\ ;
+沖縄 < okinawa\ ;
+民踊 < min''you\ ;
+虚弱 < kyojaku\ ;
+古筆 < kohitsu\ ;
+後釜 < atogama\ ;
+重篤 < juutoku\ ;
+添削 < tensaku\ ;
+金筋 < kinsuji\ ;
+得道 < tokudou\ ;
+負符号 < fufugou\ ;
+重箱 < juubako\ ;
+各県 < kakuken\ ;
+可祝 < kashiku\ ;
+同病 < doubyou\ ;
+大御所 < oogosho\ ;
+収納 < shuunou\ ;
+空中 < kuuchuu\ ;
+黒板 < kokuban\ ;
+藁灰 < warabai\ ;
+分布図 < bunpuzu\ ;
+銃撃 < juugeki\ ;
+石鯛 < ishidai\ ;
+醜聞 < shuubun\ ;
+製図家 < seizuka\ ;
+後逸 < kouitsu\ ;
+台石 < daiishi\ ;
+卓論 < takuron\ ;
+殿閣 < denkaku\ ;
+薄皮 < usukawa\ ;
+戦時下 < senjika\ ;
+厚臼 < atsuusu\ ;
+博覧 < hakuran\ ;
+天気図 < tenkizu\ ;
+単角 < tankaku\ ;
+虎巻 < torakan\ ;
+当限 < tougiri\ ;
+積分 < sekibun\ ;
+錯乱 < sakuran\ ;
+黒斑 < kokuhan\ ;
+治療 < chiryou\ ;
+単複 < tanpuku\ ;
+残高 < zandaka\ ;
+鉄橋 < tekkyou\ ;
+軍事費 < gunjihi\ ;
+混作 < konsaku\ ;
+金石 < kinseki\ ;
+炎天下 < entenka\ ;
+今日明日 < kyouasu\ ;
+収税 < shuuzei\ ;
+惜敗 < sekihai\ ;
+稲叢 < inamura\ ;
+浮彫 < ukibori\ ;
+後足 < atoashi\ ;
+北辺 < hokuhen\ ;
+肥満児 < himanji\ ;
+釣瓶 < tsurube\ ;
+浪漫派 < romanha\ ;
+慟哭 < doukoku\ ;
+惑星 < wakusei\ ;
+半襟 < han''eri\ ;
+起重機 < kijuuki\ ;
+圧砕機 < assaiki\ ;
+死魄 < shihaku\ ;
+回路図 < kairozu\ ;
+確聞 < kakubun\ ;
+恋病 < koiyami\ ;
+金的 < kinteki\ ;
+半袖 < hansode\ ;
+吸殻 < suigara\ ;
+虫垂 < chuusui\ ;
+民衆 < minshuu\ ;
+兵器庫 < heikiko\ ;
+鉄柱 < tetchuu\ ;
+毎週 < maishuu\ ;
+残額 < zangaku\ ;
+息災 < sokusai\ ;
+岐阜県 < gifuken\ ;
+弱電 < jakuden\ ;
+蔵米 < kuramai\ ;
+海山 < umiyama\ ;
+残響 < zankyou\ ;
+洋楽 < yougaku\ ;
+重病 < juubyou\ ;
+薬液 < yakueki\ ;
+薄物 < usumono\ ;
+薄片 < hakuhen\ ;
+泥海 < doroumi\ ;
+庶務課 < shomuka\ ;
+御袋 < ofukuro\ ;
+水芸 < mizugei\ ;
+即興 < sokkyou\ ;
+秘密 < himitsu\ ;
+卵膜 < ranmaku\ ;
+反目 < hanmoku\ ;
+水色 < mizuiro\ ;
+離縁状 < rienjou\ ;
+蕃神 < banshin\ ;
+針状 < harijou\ ;
+殉難 < jun''nan\ ;
+律語 < ritsugo\ ;
+恋猫 < koineko\ ;
+和式 < washiki\ ;
+単葉 < tan''you\ ;
+黙従 < mokujuu\ ;
+金玉 < kintama\ ;
+銀幕 < ginmaku\ ;
+矢面 < yaomote\ ;
+税収 < zeishuu\ ;
+稲作 < inasaku\ ;
+洋服 < youfuku\ ;
+正規化 < seikika\ ;
+印肉 < in''niku\ ;
+性癖 < seiheki\ ;
+弁駁 < benpaku\ ;
+蘭学 < rangaku\ ;
+名流 < meiryuu\ ;
+恵沢 < keitaku\ ;
+形跡 < keiseki\ ;
+同流 < douryuu\ ;
+弔電 < chouden\ ;
+落雷 < rakurai\ ;
+双璧 < souheki\ ;
+悪方 < akugata\ ;
+合流 < gouryuu\ ;
+落雁 < rakugan\ ;
+社歴 < shareki\ ;
+落陽 < rakuyou\ ;
+重爆 < juubaku\ ;
+今出来 < imadeki\ ;
+黒帯 < kuroobi\ ;
+叙爵 < joshaku\ ;
+北西 < hokusei\ ;
+検波器 < kenpaki\ ;
+口火 < kuchibi\ ;
+叔父 < shukufu\ ;
+泥棒 < dorobou\ ;
+汁粉 < shiruko\ ;
+弱酸 < jakusan\ ;
+蔵相 < zoushou\ ;
+千草 < chigusa\ ;
+含有 < gan''yuu\ ;
+反物 < tanmono\ ;
+鳥類 < chourui\ ;
+弁難 < ben''nan\ ;
+即納 < sokunou\ ;
+社業 < shagyou\ ;
+気脈 < kimyaku\ ;
+礼楽 < reigaku\ ;
+母親 < hahaoya\ ;
+移出 < ishutsu\ ;
+徳育 < tokuiku\ ;
+磁石 < jishaku\ ;
+消去 < shoukyo\ ;
+醜男 < buotoko\ ;
+破裂 < haretsu\ ;
+消印 < keshiin\ ;
+同業 < dougyou\ ;
+私塾 < shijuku\ ;
+悪戯 < itazura\ ;
+動軸 < doujiku\ ;
+碧空 < hekikuu\ ;
+劈頭 < hekitou\ ;
+蘭国 < rankoku\ ;
+即答 < sokutou\ ;
+下付金 < kafukin\ ;
+鉄心 < tesshin\ ;
+毛虫 < kemushi\ ;
+避難所 < hinanjo\ ;
+恋河 < koikawa\ ;
+配給 < haikyuu\ ;
+同格 < doukaku\ ;
+片意地 < kataiji\ ;
+薬方 < yakuhou\ ;
+活字 < katsuji\ ;
+哀別 < aibetsu\ ;
+徒花 < adabana\ ;
+礼服 < reifuku\ ;
+恋水 < koimizu\ ;
+哀切 < aisetsu\ ;
+合格 < goukaku\ ;
+海原 < unabara\ ;
+麻屑 < asakuzu\ ;
+古池 < furuike\ ;
+愚劣 < guretsu\ ;
+短軸 < tanjiku\ ;
+醜状 < shuujou\ ;
+各校 < kakukou\ ;
+恋死 < koijini\ ;
+悪徳 < akutoku\ ;
+気絶 < kizetsu\ ;
+沈澱 < chinden\ ;
+劈開 < hekikai\ ;
+古歌 < furuuta\ ;
+落選 < rakusen\ ;
+副題 < fukudai\ ;
+式部 < shikibu\ ;
+卜筮 < bokuzei\ ;
+医学部 < igakubu\ ;
+呂律 < roretsu\ ;
+葉身 < youshin\ ;
+徐脈 < jomyaku\ ;
+碧眼 < hekigan\ ;
+後腹 < atobara\ ;
+歴遊 < rekiyuu\ ;
+予報音 < yohouon\ ;
+彬蔚 < hinutsu\ ;
+禅寺 < zendera\ ;
+風呂代 < furodai\ ;
+死軸 < shijiku\ ;
+流域 < ryuuiki\ ;
+後知恵 < atodjie\ ;
+鶴科 < tsuruka\ ;
+恭敬 < kyoukei\ ;
+汎用 < han''you\ ;
+差機関 < sakikan\ ;
+叔母 < shukubo\ ;
+秀吟 < shuugin\ ;
+前髪 < maegami\ ;
+咀嚼 < soshaku\ ;
+殺虫 < satchuu\ ;
+勤行 < gongyou\ ;
+詐欺師 < sagishi\ ;
+卵白 < ranpaku\ ;
+金棒 < kanabou\ ;
+座骨 < zakotsu\ ;
+徴税 < chouzei\ ;
+労賃 < rouchin\ ;
+合掌 < gasshou\ ;
+外祖父 < gaisofu\ ;
+勅許 < chokkyo\ ;
+短評 < tanpyou\ ;
+論理和 < ronriwa\ ;
+秘仏 < hibutsu\ ;
+野営地 < yaeichi\ ;
+海亀 < umigame\ ;
+邁進 < maishin\ ;
+雰囲気 < fun''iki\ ;
+因美線 < inbisen\ ;
+古本 < furubon\ ;
+反様 < kaisama\ ;
+民福 < minpuku\ ;
+気丈夫 < kijoubu\ ;
+初期化 < shokika\ ;
+遅霜 < osojimo\ ;
+洛外 < rakugai\ ;
+酒癖 < shuheki\ ;
+邪説 < jasetsu\ ;
+氏神 < ujigami\ ;
+段落 < danraku\ ;
+呻吟 < shingin\ ;
+鉄壁 < teppeki\ ;
+秋作 < akisaku\ ;
+区立 < kuritsu\ ;
+各所 < kakusho\ ;
+惨劇 < sangeki\ ;
+恋文 < koibumi\ ;
+法悦 < houetsu\ ;
+邦訳 < houyaku\ ;
+水球 < suikyuu\ ;
+浦人 < urabito\ ;
+銀側 < gingawa\ ;
+取替 < torikae\ ;
+歩行器 < hokouki\ ;
+前陳 < zenchin\ ;
+石蝋 < sekirou\ ;
+蓬生 < yomogiu\ ;
+流動 < ryuudou\ ;
+湯豆腐 < yudoufu\ ;
+裏背戸 < urasedo\ ;
+逆鱗 < gekirin\ ;
+知行 < chigyou\ ;
+同役 < douyaku\ ;
+酸漿 < hoozuki\ ;
+歴覧 < rekiran\ ;
+水牢 < mizurou\ ;
+水牛 < suigyuu\ ;
+放生会 < houjoue\ ;
+育児院 < ikujiin\ ;
+不作為 < fusakui\ ;
+鳥貝 < torigai\ ;
+水爆 < suibaku\ ;
+武装具 < busougu\ ;
+北米 < hokubei\ ;
+下駄番 < getaban\ ;
+卓用 < takuyou\ ;
+剽軽 < hyoukin\ ;
+咎人 < toganin\ ;
+葉蜂 < habachi\ ;
+徳用 < tokuyou\ ;
+十目 < juumoku\ ;
+同席 < douseki\ ;
+真黒 < makkuro\ ;
+自動化 < jidouka\ ;
+劣角 < rekkaku\ ;
+薬害 < yakugai\ ;
+禄命 < rokumei\ ;
+刻限 < kokugen\ ;
+君寵 < kunchou\ ;
+各店 < kakuten\ ;
+卓球 < takkyuu\ ;
+無遠慮 < buenryo\ ;
+運動場 < undouba\ ;
+家計費 < kakeihi\ ;
+禀告 < rinkoku\ ;
+周到 < shuutou\ ;
+汗水 < asemizu\ ;
+北端 < hokutan\ ;
+音楽家 < ongakka\ ;
+黒人 < kokujin\ ;
+彼程 < arehodo\ ;
+道辺 < michibe\ ;
+武術 < bujutsu\ ;
+外祖母 < gaisobo\ ;
+残菊 < zangiku\ ;
+没我 < botsuga\ ;
+流亡 < ryuubou\ ;
+労務課 < roumuka\ ;
+初音 < hatsune\ ;
+都立 < toritsu\ ;
+別離 < betsuri\ ;
+従的 < juuteki\ ;
+破竹 < hachiku\ ;
+蒼白 < souhaku\ ;
+水滴 < suiteki\ ;
+力行 < ryokkou\ ;
+無軌道 < mukidou\ ;
+選評 < senpyou\ ;
+礫岩 < rekigan\ ;
+各層 < kakusou\ ;
+別院 < betsuin\ ;
+劇詩 < gekishi\ ;
+鉄則 < tessoku\ ;
+遅速 < chisoku\ ;
+碧水 < hekisui\ ;
+石臼 < ishiusu\ ;
+年額 < nengaku\ ;
+別間 < betsuma\ ;
+汁気 < shiruke\ ;
+洛内 < rakunai\ ;
+毎秒 < maibyou\ ;
+微熱 < binetsu\ ;
+水浴 < suiyoku\ ;
+惑乱 < wakuran\ ;
+胃痙攣 < ikeiren\ ;
+古式 < koshiki\ ;
+運動員 < undouin\ ;
+機械語 < kikaigo\ ;
+半熟 < hanjuku\ ;
+水流 < suiryuu\ ;
+原木 < genboku\ ;
+勤続 < kinzoku\ ;
+逼迫 < hippaku\ ;
+厚板 < atsuita\ ;
+美容院 < biyouin\ ;
+弱者 < jakusha\ ;
+金平 < kinpira\ ;
+危気 < abunage\ ;
+急所 < kyuusho\ ;
+殻竿 < karasao\ ;
+一転機 < ittenki\ ;
+取得 < shutoku\ ;
+即死 < sokushi\ ;
+鴇色 < tokiiro\ ;
+台尻 < daijiri\ ;
+杓文字 < shamoji\ ;
+追随 < tsuizui\ ;
+勲章 < kunshou\ ;
+連量 < renryou\ ;
+探査機 < tansaki\ ;
+田舎家 < inakaya\ ;
+合壁 < gappeki\ ;
+出額 < debitai\ ;
+刹那 < setsuna\ ;
+年長 < nenchou\ ;
+出頭 < shuttou\ ;
+切除 < setsujo\ ;
+葭簀 < yoshizu\ ;
+運転費 < untenhi\ ;
+橙皮油 < touhiyu\ ;
+洋傘 < yougasa\ ;
+過年度 < kanendo\ ;
+研究 < kenkyuu\ ;
+進軍 < shingun\ ;
+酒毒 < shudoku\ ;
+薬品 < yakuhin\ ;
+沈思 < chinshi\ ;
+南洋 < nan''you\ ;
+死肉 < shiniku\ ;
+思惑 < omowaku\ ;
+鳶色 < tobiiro\ ;
+運動具 < undougu\ ;
+落胆 < rakutan\ ;
+鳥葬 < chousou\ ;
+沢山 < takusan\ ;
+御存知 < gozonji\ ;
+刺身 < sashimi\ ;
+各地 < kakuchi\ ;
+薄墨 < usuzumi\ ;
+家政科 < kaseika\ ;
+各国 < kakkoku\ ;
+葦笛 < ashibue\ ;
+小奇麗 < kogirei\ ;
+幕電 < makuden\ ;
+剥製 < hakusei\ ;
+醜態 < shuutai\ ;
+短絡 < tanraku\ ;
+移住者 < ijuusha\ ;
+民泊 < minpaku\ ;
+社告 < shakoku\ ;
+弁膜 < benmaku\ ;
+道具屋 < douguya\ ;
+醜悪 < shuuaku\ ;
+薬剤 < yakuzai\ ;
+比率 < hiritsu\ ;
+弊習 < heishuu\ ;
+役牛 < ekigyuu\ ;
+同義語 < dougigo\ ;
+沼地 < numachi\ ;
+莫連 < bakuren\ ;
+法名 < houmyou\ ;
+模擬戦 < mogisen\ ;
+初速 < shosoku\ ;
+名号 < myougou\ ;
+法博 < houhaku\ ;
+逆運 < gyakuun\ ;
+眉雪 < bisetsu\ ;
+凸鏡 < tokkyou\ ;
+合口 < aikuchi\ ;
+社則 < shasoku\ ;
+荒駒 < aragoma\ ;
+永日 < eijitsu\ ;
+分針 < funshin\ ;
+分量 < bunryou\ ;
+蒲公英 < tanpopo\ ;
+別路 < betsuro\ ;
+法力 < houriki\ ;
+比熱 < hinetsu\ ;
+法則 < housoku\ ;
+稽古着 < keikogi\ ;
+瞼 < mabuta\ ;
+辷 < suberu\ ;
+瞳 < hitomi\ ;
+輩 < yakara\ ;
+盲 < meshii\ ;
+車 < kuruma\ ;
+序 < tsuide\ ;
+皆 < min''na\ ;
+幕 < tobari\ ;
+帝 < mikado\ ;
+左 < hidari\ ;
+疾 < shitsu\ ;
+畳 < tatami\ ;
+畠 < hatake\ ;
+瓦 < kawara\ ;
+岬 < misaki\ ;
+届 < todoke\ ;
+尊 < mikoto\ ;
+宝 < takara\ ;
+獣 < kemono\ ;
+狼 < ookami\ ;
+独 < doitsu\ ;
+誠 < makoto\ ;
+証 < akashi\ ;
+父 < chichi\ ;
+訛 < namari\ ;
+娘 < musume\ ;
+姿 < sugata\ ;
+妾 < warawa\ ;
+妹 < imouto\ ;
+要 < kaname\ ;
+襷 < tasuki\ ;
+煙 < kemuri\ ;
+襖 < fusuma\ ;
+裸 < hadaka\ ;
+袴 < hakama\ ;
+袋 < fukuro\ ;
+衣 < koromo\ ;
+埃 < hokori\ ;
+蟀 < shutsu\ ;
+鼬 < itachi\ ;
+鼠 < nezumi\ ;
+土 < tsuchi\ ;
+漆 < urushi\ ;
+蛹 < sanagi\ ;
+蛙 < kawazu\ ;
+器 < utsuwa\ ;
+港 < minato\ ;
+薬 < kusuri\ ;
+薪 < takigi\ ;
+涙 < namida\ ;
+薇 < zenmai\ ;
+薄 < susuki\ ;
+鴉 < karasu\ ;
+厨 < kuriya\ ;
+卸 < oroshi\ ;
+卵 < tamago\ ;
+歪 < ibitsu\ ;
+魚 < sakana\ ;
+南 < minami\ ;
+匠 < takumi\ ;
+櫻 < sakura\ ;
+苺 < ichigo\ ;
+勢 < hazumi\ ;
+檜 < hinoki\ ;
+舅 < shuuto\ ;
+榊 < sakaki\ ;
+光 < hikari\ ;
+館 < yakata\ ;
+候 < sourou\ ;
+響 < hibiki\ ;
+柳 < yanagi\ ;
+俄 < niwaka\ ;
+係 < kakari\ ;
+便 < yosuga\ ;
+枕 < makura\ ;
+机 < tsukue\ ;
+仏 < hotoke\ ;
+曇 < kumori\ ;
+雀 < suzume\ ;
+京 < miyako\ ;
+隣 < tonari\ ;
+乙 < kinoto\ ;
+乍 < nagara\ ;
+万 < yorozu\ ;
+七 < shichi\ ;
+丁 < hinoto\ ;
+緑 < midori\ ;
+絣 < kasuri\ ;
+絆 < kizuna\ ;
+簾 < sudare\ ;
+鏡 < kagami\ ;
+鎖 < kusari\ ;
+筒 < tsutsu\ ;
+捌 < sabaki\ ;
+鋼 < hagane\ ;
+童 < warabe\ ;
+鋏 < hasami\ ;
+扉 < tobira\ ;
+所 < tokoro\ ;
+廃虚 < haikyo\ ;
+忿怒 < fun''nu\ ;
+送迎 < sougei\ ;
+迅雷 < jinrai\ ;
+志操 < shisou\ ;
+通貨 < tsuuka\ ;
+名刺 < meishi\ ;
+同前 < douzen\ ;
+礼典 < reiten\ ;
+前衛 < zen''ei\ ;
+矢筈 < yahazu\ ;
+金坑 < kinkou\ ;
+原形 < genkei\ ;
+復権 < fukken\ ;
+前行 < zenkou\ ;
+名分 < meibun\ ;
+形状 < keijou\ ;
+列車 < ressha\ ;
+名刀 < meitou\ ;
+廃藩 < haihan\ ;
+配本 < haihon\ ;
+厚志 < koushi\ ;
+薄味 < hakumi\ ;
+社僧 < shasou\ ;
+合剤 < gouzai\ ;
+同処 < dousho\ ;
+法典 < houten\ ;
+社債 < shasai\ ;
+年輪 < nenrin\ ;
+年輩 < nenpai\ ;
+磁心 < jishin\ ;
+分遣 < bunken\ ;
+友好 < yuukou\ ;
+勤番 < kinban\ ;
+石碑 < sekihi\ ;
+合切 < gassai\ ;
+退転 < taiten\ ;
+正編 < seihen\ ;
+反変 < hanpen\ ;
+叱咤 < shitta\ ;
+同党 < doutou\ ;
+幽趣 < yuushu\ ;
+加給 < kakyuu\ ;
+名優 < meiyuu\ ;
+厳封 < genpuu\ ;
+帯電 < taiden\ ;
+律法 < rippou\ ;
+凌雲 < ryouun\ ;
+快感 < kaikan\ ;
+選考 < senkou\ ;
+矢種 < yadane\ ;
+汎愛 < han''ai\ ;
+強盗 < goutou\ ;
+厳寒 < genkan\ ;
+量器 < ryouki\ ;
+名僧 < meisou\ ;
+正統 < seitou\ ;
+遊蕩 < yuutou\ ;
+決定 < kettei\ ;
+蒸民 < joumin\ ;
+弾痕 < dankon\ ;
+重噸 < juuton\ ;
+迂闊 < ukatsu\ ;
+造詣 < zoukei\ ;
+淡々 < tantan\ ;
+厳守 < genshu\ ;
+台名 < taimei\ ;
+厳存 < genson\ ;
+正系 < seikei\ ;
+邪神 < jashin\ ;
+辺陬 < hensuu\ ;
+造言 < zougen\ ;
+逃走 < tousou\ ;
+通語 < tsuugo\ ;
+分載 < bunsai\ ;
+酸性 < sansei\ ;
+相関 < soukan\ ;
+後段 < koudan\ ;
+社会 < shakai\ ;
+通話 < tsuuwa\ ;
+復校 < fukkou\ ;
+同値 < douchi\ ;
+切身 < kirimi\ ;
+君主 < kunshu\ ;
+草鞋 < waraji\ ;
+法例 < hourei\ ;
+制裁 < seisai\ ;
+南方 < nanpou\ ;
+北海 < hokkai\ ;
+忠愛 < chuuai\ ;
+金員 < kin''in\ ;
+単文 < tanbun\ ;
+確度 < kakudo\ ;
+民望 < minbou\ ;
+薄利 < hakuri\ ;
+社交 < shakou\ ;
+微服 < bifuku\ ;
+求愛 < kyuuai\ ;
+単数 < tansuu\ ;
+必携 < hikkei\ ;
+金品 < kinpin\ ;
+劣等 < rettou\ ;
+盤面 < banmen\ ;
+匠気 < shouki\ ;
+動産 < dousan\ ;
+延納 < en''nou\ ;
+砕片 < saihen\ ;
+真逆 < masaka\ ;
+同体 < doutai\ ;
+河北 < kahoku\ ;
+社主 < shashu\ ;
+南支 < nanshi\ ;
+口吻 < koufun\ ;
+弾琴 < dankin\ ;
+師門 < shimon\ ;
+気早 < kibaya\ ;
+急場 < kyuuba\ ;
+同伴 < douhan\ ;
+連衡 < renkou\ ;
+口吟 < kougin\ ;
+法人 < houjin\ ;
+冷静 < reisei\ ;
+返金 < henkin\ ;
+参堂 < sandou\ ;
+快弁 < kaiben\ ;
+忠恕 < chuujo\ ;
+召募 < shoubo\ ;
+合併 < gouhei\ ;
+吐乳 < tonyuu\ ;
+名人 < meijin\ ;
+合体 < gattai\ ;
+薄光 < hakkou\ ;
+蔓延 < man''en\ ;
+当然 < touzen\ ;
+反噬 < hanzei\ ;
+原寸 < gensun\ ;
+同仁 < doujin\ ;
+同人 < dounin\ ;
+典麗 < tenrei\ ;
+向上 < koujou\ ;
+巣鶏 < sudori\ ;
+十本 < juppon\ ;
+廃艦 < haikan\ ;
+江山 < kouzan\ ;
+座薬 < zayaku\ ;
+萎縮 < ishuku\ ;
+重合 < juugou\ ;
+広言 < kougen\ ;
+廃船 < haisen\ ;
+廐肥 < kyuuhi\ ;
+同乗 < doujou\ ;
+応急 < oukyuu\ ;
+遊芸 < yuugei\ ;
+残痕 < zankon\ ;
+前著 < zencho\ ;
+菖蒲 < shoubu\ ;
+野原 < nohara\ ;
+決壊 < kekkai\ ;
+原子 < genshi\ ;
+毛氈 < mousen\ ;
+占拠 < senkyo\ ;
+別製 < bessei\ ;
+弊社 < heisha\ ;
+比況 < hikyou\ ;
+透視 < toushi\ ;
+半数 < hansuu\ ;
+醜女 < shuujo\ ;
+効目 < kikime\ ;
+民政 < minsei\ ;
+鳴禽 < meikin\ ;
+民放 < minpou\ ;
+近郷 < kingou\ ;
+酒手 < sakate\ ;
+返還 < henkan\ ;
+弓矢 < yumiya\ ;
+前菜 < zensai\ ;
+反問 < hanmon\ ;
+処遇 < shoguu\ ;
+心技 < shingi\ ;
+初見 < shoken\ ;
+欠航 < kekkou\ ;
+盗電 < touden\ ;
+巨鯨 < kyogei\ ;
+沃土 < yokudo\ ;
+巻首 < kanshu\ ;
+出足 < deashi\ ;
+残生 < zansei\ ;
+北欧 < hokuou\ ;
+盗難 < tounan\ ;
+加禄 < karoku\ ;
+号俸 < gouhou\ ;
+危急 < kikyuu\ ;
+剛臆 < gouoku\ ;
+弾片 < danpen\ ;
+県道 < kendou\ ;
+即応 < sokuou\ ;
+武神 < bushin\ ;
+返送 < hensou\ ;
+復改 < fukkai\ ;
+金剛 < kongou\ ;
+幣貢 < heikou\ ;
+配所 < haisho\ ;
+卵形 < rankei\ ;
+金券 < kinken\ ;
+酔態 < suitai\ ;
+巨魁 < kyokai\ ;
+蕃地 < banchi\ ;
+十数 < juusuu\ ;
+汽圧 < kiatsu\ ;
+凡退 < bontai\ ;
+達者 < tassha\ ;
+従来 < juurai\ ;
+選管 < senkan\ ;
+分譲 < bunjou\ ;
+司会 < shikai\ ;
+御料 < goryou\ ;
+円高 < endaka\ ;
+近辺 < kinpen\ ;
+口内 < kounai\ ;
+出費 < shuppi\ ;
+金冠 < kinkan\ ;
+印形 < ingyou\ ;
+司令 < shirei\ ;
+重刑 < juukei\ ;
+追訴 < tsuiso\ ;
+号令 < gourei\ ;
+加硫 < karyuu\ ;
+剛胆 < goutan\ ;
+金具 < kanagu\ ;
+収受 < shuuju\ ;
+配慮 < hairyo\ ;
+迷論 < meiron\ ;
+毎毎 < maimai\ ;
+追記 < tsuiki\ ;
+睡蓮 < suiren\ ;
+心意 < shin''i\ ;
+割線 < kassen\ ;
+切諌 < sekkan\ ;
+忘年 < bounen\ ;
+即座 < sokuza\ ;
+巻頭 < kantou\ ;
+効用 < kouyou\ ;
+蒲柳 < horyuu\ ;
+恒例 < kourei\ ;
+史伝 < shiden\ ;
+忍従 < ninjuu\ ;
+酷寒 < kokkan\ ;
+勇猛 < yuumou\ ;
+毬果 < kyuuka\ ;
+荷足 < niashi\ ;
+常道 < joudou\ ;
+分詞 < bunshi\ ;
+治乱 < chiran\ ;
+卵巣 < ransou\ ;
+死産 < shizan\ ;
+死生 < shisei\ ;
+博愛 < hakuai\ ;
+常連 < jouren\ ;
+冒頭 < boutou\ ;
+性向 < seikou\ ;
+帰郷 < kikyou\ ;
+水平 < suihei\ ;
+治世 < chisei\ ;
+引用 < in''you\ ;
+鮮麗 < senrei\ ;
+目釘 < mekugi\ ;
+反動 < handou\ ;
+前腕 < maeude\ ;
+史乗 < shijou\ ;
+分解 < bunkai\ ;
+参向 < sankou\ ;
+右上 < migiue\ ;
+遣米 < kenbei\ ;
+古俗 < kozoku\ ;
+後景 < koukei\ ;
+厖大 < boudai\ ;
+退行 < taikou\ ;
+可也 < kanari\ ;
+座興 < zakyou\ ;
+正眼 < seigan\ ;
+待望 < taibou\ ;
+磁壁 < jiheki\ ;
+差額 < sagaku\ ;
+残片 < zanpen\ ;
+句作 < kusaku\ ;
+後昆 < koukon\ ;
+正目 < masame\ ;
+矢玉 < yadama\ ;
+十指 < jusshi\ ;
+単性 < tansei\ ;
+毛根 < moukon\ ;
+蒸散 < jousan\ ;
+後方 < kouhou\ ;
+配当 < haitou\ ;
+加療 < karyou\ ;
+律旋 < rissen\ ;
+口伝 < kouden\ ;
+酒店 < shuten\ ;
+師道 < shidou\ ;
+底荷 < sokoni\ ;
+刊行 < kankou\ ;
+出訴 < shusso\ ;
+博徒 < bakuto\ ;
+砂漠 < sabaku\ ;
+急募 < kyuubo\ ;
+弱火 < yowabi\ ;
+前者 < zensha\ ;
+急務 < kyuumu\ ;
+巨頭 < kyotou\ ;
+葉物 < hamono\ ;
+分袂 < bunbei\ ;
+円頂 < enchou\ ;
+気息 < kisoku\ ;
+後攻 < koukou\ ;
+鳩目 < hatome\ ;
+重体 < juutai\ ;
+厳命 < genmei\ ;
+下世話 < gesewa\ ;
+冒険 < bouken\ ;
+原因 < gen''in\ ;
+内項 < naikou\ ;
+前翅 < zenshi\ ;
+度胸 < dokyou\ ;
+看貫 < kankan\ ;
+博引 < hakuin\ ;
+機長 < kichou\ ;
+割符 < warifu\ ;
+気性 < kishou\ ;
+十戒 < jikkai\ ;
+受信 < jushin\ ;
+目途 < mokuto\ ;
+農道 < noudou\ ;
+石灰 < sekkai\ ;
+民情 < minjou\ ;
+厚地 < atsuji\ ;
+重任 < juunin\ ;
+迎賓 < geihin\ ;
+厳君 < genkun\ ;
+前置 < zenchi\ ;
+重代 < juudai\ ;
+列藩 < reppan\ ;
+鳥目 < torime\ ;
+単弁 < tanben\ ;
+段段 < dandan\ ;
+水屋 < mizuya\ ;
+往昔 < ouseki\ ;
+金主 < kinshu\ ;
+破格 < hakaku\ ;
+千慮 < senryo\ ;
+去勢 < kyosei\ ;
+当歳 < tousai\ ;
+皮革 < hikaku\ ;
+内面 < naimen\ ;
+巷間 < koukan\ ;
+冷酒 < reishu\ ;
+卵子 < ranshi\ ;
+怪光 < kaikou\ ;
+兼題 < kendai\ ;
+檀那 < dan''na\ ;
+野中 < nonaka\ ;
+造船 < zousen\ ;
+参内 < sandai\ ;
+水害 < suigai\ ;
+徹底 < tettei\ ;
+気弱 < kiyowa\ ;
+叛乱 < hanran\ ;
+御慶 < gyokei\ ;
+県警 < kenkei\ ;
+帝道 < teidou\ ;
+別荘 < bessou\ ;
+碁席 < goseki\ ;
+初葉 < shoyou\ ;
+彼方 < kanata\ ;
+盟邦 < meihou\ ;
+快報 < kaihou\ ;
+厭厭 < iyaiya\ ;
+水子 < mizugo\ ;
+再開 < saikai\ ;
+遠称 < enshou\ ;
+北方 < hoppou\ ;
+内陣 < naijin\ ;
+半径 < hankei\ ;
+葛湯 < kuzuyu\ ;
+鮮魚 < sengyo\ ;
+冷遇 < reiguu\ ;
+半影 < han''ei\ ;
+反例 < hanrei\ ;
+巣雛 < suhina\ ;
+迦楼羅 < karura\ ;
+微弱 < bijaku\ ;
+郷村 < gouson\ ;
+硬性 < kousei\ ;
+酒屋 < sakaya\ ;
+前編 < zenpen\ ;
+退蔵 < taizou\ ;
+凝議 < gyougi\ ;
+前線 < zensen\ ;
+川面 < kawamo\ ;
+原品 < genpin\ ;
+引照 < inshou\ ;
+全館 < zenkan\ ;
+近詠 < kin''ei\ ;
+蒙昧 < moumai\ ;
+残滓 < zanshi\ ;
+沙丘 < sakyuu\ ;
+死点 < shiten\ ;
+相貌 < soubou\ ;
+送葬 < sousou\ ;
+白魔 < hakuma\ ;
+卜居 < bokkyo\ ;
+碍子 < gaishi\ ;
+毎晩 < maiban\ ;
+厳冬 < gentou\ ;
+友人 < yuujin\ ;
+益金 < ekikin\ ;
+労災 < rousai\ ;
+南岸 < nangan\ ;
+手忠実 < temame\ ;
+着荷 < chakka\ ;
+葦毛 < ashige\ ;
+次第 < shidai\ ;
+厚味 < atsumi\ ;
+兵難 < heinan\ ;
+即夜 < sokuya\ ;
+形木 < katagi\ ;
+師資 < shishi\ ;
+南山 < nanzan\ ;
+看視 < kanshi\ ;
+近視 < kinshi\ ;
+巌頭 < gantou\ ;
+茶道 < chadou\ ;
+次章 < jishou\ ;
+具陳 < guchin\ ;
+怪人 < kaijin\ ;
+登高 < toukou\ ;
+盤踞 < bankyo\ ;
+兵隊 < heitai\ ;
+連署 < rensho\ ;
+駄洒落 < dajare\ ;
+正犯 < seihan\ ;
+単射 < tansha\ ;
+参会 < sankai\ ;
+劇画 < gekiga\ ;
+全音 < zen''on\ ;
+卵塔 < rantou\ ;
+党首 < toushu\ ;
+過称 < kashou\ ;
+十干 < jikkan\ ;
+英領 < eiryou\ ;
+卑屬 < hizoku\ ;
+巨鐘 < oogane\ ;
+横領 < ouryou\ ;
+石油 < sekiyu\ ;
+廻状 < kaijou\ ;
+下駄屋 < getaya\ ;
+達磨 < daruma\ ;
+原動 < gendou\ ;
+南宋 < nansou\ ;
+弱気 < yowaki\ ;
+全面 < zenmen\ ;
+御幸 < miyuki\ ;
+徘徊 < haikai\ ;
+郵政 < yuusei\ ;
+半島 < hantou\ ;
+卑小 < hishou\ ;
+白馬 < hakuba\ ;
+相談 < soudan\ ;
+欝積 < usseki\ ;
+征戦 < seisen\ ;
+割目 < wareme\ ;
+全霊 < zenrei\ ;
+連繋 < renkei\ ;
+当板 < ateita\ ;
+参与 < san''yo\ ;
+後悔 < koukai\ ;
+参上 < sanjou\ ;
+沈下 < chinka\ ;
+真薯 < shinjo\ ;
+函蓋 < kangai\ ;
+原初 < gensho\ ;
+前端 < zentan\ ;
+快哉 < kaisai\ ;
+気学 < kigaku\ ;
+水域 < suiiki\ ;
+微少 < bishou\ ;
+全隊 < zentai\ ;
+送致 < souchi\ ;
+連綿 < renmen\ ;
+創痕 < soukon\ ;
+欲目 < yokume\ ;
+得度 < tokudo\ ;
+従弟 < juutei\ ;
+部族 < buzoku\ ;
+蕃人 < banjin\ ;
+菜種 < natane\ ;
+直訴 < jikiso\ ;
+原典 < genten\ ;
+鱗茎 < rinkei\ ;
+入院 < nyuuin\ ;
+短毛 < tanmou\ ;
+荒誕 < koutan\ ;
+初老 < shorou\ ;
+酷吏 < kokuri\ ;
+連累 < renrui\ ;
+蕃主 < banshu\ ;
+師訓 < shikun\ ;
+権限 < kengen\ ;
+勘検 < kanken\ ;
+遺物 < ibutsu\ ;
+准許 < junkyo\ ;
+酒場 < sakaba\ ;
+全開 < zenkai\ ;
+殉死 < junshi\ ;
+原像 < genzou\ ;
+目許 < memoto\ ;
+水嚢 < suinou\ ;
+当方 < touhou\ ;
+出荷 < shukka\ ;
+真菰 < makomo\ ;
+南天 < nanten\ ;
+目角 < mekado\ ;
+再選 < saisen\ ;
+廃盤 < haiban\ ;
+硫安 < ryuuan\ ;
+機軸 < kijiku\ ;
+勢望 < seibou\ ;
+権門 < kenmon\ ;
+銘々 < meimei\ ;
+勘案 < kan''an\ ;
+後年 < kounen\ ;
+医局 < ikyoku\ ;
+再遊 < saiyuu\ ;
+砲手 < houshu\ ;
+白露 < hakuro\ ;
+花鳥 < kachou\ ;
+追肥 < tsuihi\ ;
+念写 < nensha\ ;
+知歯 < chishi\ ;
+帆走 < hansou\ ;
+往復 < oufuku\ ;
+石榴 < zakuro\ ;
+白雲 < hakuun\ ;
+再送 < saisou\ ;
+光頭 < koutou\ ;
+律師 < risshi\ ;
+愈々 < iyoiyo\ ;
+兵鋒 < heihou\ ;
+出花 < debana\ ;
+歩測 < hosoku\ ;
+先頭 < sentou\ ;
+広縁 < hiroen\ ;
+浪々 < rourou\ ;
+力演 < rikien\ ;
+邪欲 < jayoku\ ;
+駄法螺 < dabora\ ;
+心土 < shindo\ ;
+微妙 < bimyou\ ;
+径庭 < keitei\ ;
+別紙 < besshi\ ;
+応召 < oushou\ ;
+出船 < defune\ ;
+酷刑 < kokkei\ ;
+快刀 < kaitou\ ;
+先鞭 < senben\ ;
+巧遅 < kouchi\ ;
+座礁 < zashou\ ;
+選炭 < sentan\ ;
+弁済 < bensai\ ;
+半天 < hanten\ ;
+志向 < shikou\ ;
+出臍 < debeso\ ;
+彷徨 < houkou\ ;
+半夜 < han''ya\ ;
+制空 < seikuu\ ;
+原人 < genjin\ ;
+再転 < saiten\ ;
+形成 < keisei\ ;
+市販 < shihan\ ;
+硝安 < shouan\ ;
+初経 < shokei\ ;
+半壊 < hankai\ ;
+弔歌 < chouka\ ;
+近著 < kincho\ ;
+落款 < rakkan\ ;
+切羽 < kiriha\ ;
+硝子 < garasu\ ;
+幹線 < kansen\ ;
+都心 < toshin\ ;
+確保 < kakuho\ ;
+歳歳 < saisai\ ;
+充電 < juuden\ ;
+池亭 < chitei\ ;
+内輪 < uchiwa\ ;
+運用 < un''you\ ;
+盛観 < seikan\ ;
+千夜 < sen''ya\ ;
+序章 < joshou\ ;
+制禦 < seigyo\ ;
+分署 < bunsho\ ;
+形態 < keitai\ ;
+硬変 < kouhen\ ;
+先陣 < senjin\ ;
+公金 < koukin\ ;
+鳥渡 < chotto\ ;
+遅番 < osoban\ ;
+力泳 < rikiei\ ;
+正油 < shouyu\ ;
+印匣 < inbako\ ;
+即効 < sokkou\ ;
+荷船 < nibune\ ;
+広範 < kouhan\ ;
+石木 < ishiki\ ;
+碩儒 < sekiju\ ;
+著書 < chosho\ ;
+川辺 < kawabe\ ;
+鳩派 < hatoha\ ;
+母御 < hahago\ ;
+過保護 < kahogo\ ;
+鄭声 < teisei\ ;
+砲弾 < houdan\ ;
+当所 < tousho\ ;
+盛装 < seisou\ ;
+水勢 < suisei\ ;
+都庁 < tochou\ ;
+六部 < rokubu\ ;
+止水 < shisui\ ;
+鮮鋭 < sen''ei\ ;
+酒名 < shumei\ ;
+盛衰 < seisui\ ;
+民団 < mindan\ ;
+芸風 < geifuu\ ;
+弦材 < genzai\ ;
+初等 < shotou\ ;
+公邸 < koutei\ ;
+印刻 < inkoku\ ;
+割烹 < kappou\ ;
+蓮台 < rendai\ ;
+正殿 < seiden\ ;
+再販 < saihan\ ;
+切線 < sessen\ ;
+剣状 < kenjou\ ;
+卵円 < ran''en\ ;
+酷似 < kokuji\ ;
+別種 < besshu\ ;
+睥睨 < heigei\ ;
+葉柄 < youhei\ ;
+著明 < chomei\ ;
+従姉 < juushi\ ;
+殺意 < satsui\ ;
+辞表 < jihyou\ ;
+非営利 < hieiri\ ;
+公選 < kousen\ ;
+従妹 < juumai\ ;
+利福 < rifuku\ ;
+経緯儀 < keiigi\ ;
+占取 < senshu\ ;
+毎年 < mainen\ ;
+残暑 < zansho\ ;
+公道 < koudou\ ;
+正正 < seisei\ ;
+平米 < heibei\ ;
+配合 < haigou\ ;
+水分 < suibun\ ;
+真美 < shinbi\ ;
+幄舎 < akusha\ ;
+魚鱗 < gyorin\ ;
+矢柄 < yagara\ ;
+入部 < nyuubu\ ;
+石斧 < sekifu\ ;
+冗談 < joudan\ ;
+水冷 < suirei\ ;
+矮星 < waisei\ ;
+蒼天 < souten\ ;
+全道 < zendou\ ;
+幼童 < youdou\ ;
+轟轟 < gougou\ ;
+睡眠 < suimin\ ;
+巨資 < kyoshi\ ;
+葉書 < hagaki\ ;
+包帯 < houtai\ ;
+厄介 < yakkai\ ;
+民営 < min''ei\ ;
+勇断 < yuudan\ ;
+動揺 < douyou\ ;
+殿御 < tonogo\ ;
+十回 < jukkai\ ;
+十四 < juuyon\ ;
+巨財 < kyozai\ ;
+協和 < kyouwa\ ;
+幽窓 < yuusou\ ;
+川路 < kawaji\ ;
+勇敢 < yuukan\ ;
+巨象 < kyozou\ ;
+冗言 < jougen\ ;
+欠片 < kakera\ ;
+連盟 < renmei\ ;
+幼稚 < youchi\ ;
+後天 < kouten\ ;
+具足 < gusoku\ ;
+鱗粉 < rinpun\ ;
+化学 < kagaku\ ;
+遵法 < junpou\ ;
+白金 < hakkin\ ;
+適温 < tekion\ ;
+南半 < nanhan\ ;
+逸球 < ikkyuu\ ;
+配剤 < haizai\ ;
+歯根 < shikon\ ;
+卒去 < sokkyo\ ;
+再誕 < saitan\ ;
+選民 < senmin\ ;
+市街 < shigai\ ;
+嵩高 < suukou\ ;
+先鋒 < senpou\ ;
+真綿 < mawata\ ;
+欣然 < kinzen\ ;
+呑兵衛 < nonbee\ ;
+後塵 < koujin\ ;
+全軍 < zengun\ ;
+送稿 < soukou\ ;
+冷蔵 < reizou\ ;
+配分 < haibun\ ;
+復員 < fukuin\ ;
+出納 < suitou\ ;
+処置 < shochi\ ;
+再訪 < saihou\ ;
+草葉 < kusaba\ ;
+年税 < nenzei\ ;
+再訂 < saitei\ ;
+苛酷 < kakoku\ ;
+強打 < kyouda\ ;
+邪教 < jakyou\ ;
+矢文 < yabumi\ ;
+内談 < naidan\ ;
+氏名 < shimei\ ;
+具象 < gushou\ ;
+真紅 < shinku\ ;
+卓効 < takkou\ ;
+艦齢 < kanrei\ ;
+勤怠 < kintai\ ;
+即今 < sokkon\ ;
+連番 < renban\ ;
+徴募 < choubo\ ;
+邦文 < houbun\ ;
+当店 < touten\ ;
+欠点 < ketten\ ;
+弊村 < heison\ ;
+当年 < tounen\ ;
+年祭 < nensai\ ;
+彼女 < kanojo\ ;
+荷縄 < ninawa\ ;
+死文 < shibun\ ;
+荏苒 < jinzen\ ;
+歳晩 < saiban\ ;
+包容 < houyou\ ;
+農芸 < nougei\ ;
+年礼 < nenrei\ ;
+弔旗 < chouki\ ;
+退社 < taisha\ ;
+半半 < hanhan\ ;
+別盃 < beppai\ ;
+過激 < kageki\ ;
+内訓 < naikun\ ;
+皇軍 < kougun\ ;
+水仙 < suisen\ ;
+却下 < kyakka\ ;
+不義理 < fugiri\ ;
+再製 < saisei\ ;
+強慢 < gouman\ ;
+希薄 < kihaku\ ;
+単元 < tangen\ ;
+遠浅 < tooasa\ ;
+轆轤 < rokuro\ ;
+毒婦 < dokufu\ ;
+南光 < nankou\ ;
+配偶 < haiguu\ ;
+内観 < naikan\ ;
+発送 < hassou\ ;
+御告 < otsuge\ ;
+内覧 < nairan\ ;
+遠洋 < en''you\ ;
+弾性 < dansei\ ;
+内見 < naiken\ ;
+形容 < keiyou\ ;
+有意差 < yuuisa\ ;
+強情 < goujou\ ;
+千千 < chidji\ ;
+近縁 < kin''en\ ;
+真箇 < shinko\ ;
+魚類 < gyorui\ ;
+勇戦 < yuusen\ ;
+鶏口 < keikou\ ;
+常置 < jouchi\ ;
+卒先 < sossen\ ;
+遠沈 < enchin\ ;
+正本 < seihon\ ;
+正木 < masaki\ ;
+全貌 < zenbou\ ;
+部将 < bushou\ ;
+先遣 < senken\ ;
+硫化 < ryuuka\ ;
+遡求 < sokyuu\ ;
+眼瞼 < ganken\ ;
+半分 < hanpun\ ;
+分社 < bunsha\ ;
+正書 < seisho\ ;
+入費 < nyuuhi\ ;
+短所 < tansho\ ;
+午刻 < gokoku\ ;
+占住 < senjuu\ ;
+巡覧 < junran\ ;
+気儘 < kimama\ ;
+忌中 < kichuu\ ;
+内装 < naisou\ ;
+役場 < yakuba\ ;
+魔風 < makaze\ ;
+出窓 < demado\ ;
+目脂 < meyani\ ;
+助教 < jokyou\ ;
+酒仙 < shusen\ ;
+鶏卵 < keiran\ ;
+真竹 < madake\ ;
+看経 < kankin\ ;
+建材 < kenzai\ ;
+発車 < hassha\ ;
+民兵 < minpei\ ;
+復刊 < fukkan\ ;
+半円 < han''en\ ;
+勘当 < kandou\ ;
+弊政 < heisei\ ;
+匈奴 < kyoudo\ ;
+酒乱 < shuran\ ;
+盲者 < mousha\ ;
+廃液 < haieki\ ;
+左表 < sahyou\ ;
+遅滞 < chitai\ ;
+刀礼 < tourei\ ;
+弁明 < benmei\ ;
+心事 < shinji\ ;
+勘弁 < kanben\ ;
+欲気 < yokuke\ ;
+短慮 < tanryo\ ;
+千分 < senbun\ ;
+劣敗 < reppai\ ;
+毎夕 < maiyuu\ ;
+砲声 < housei\ ;
+光輪 < kourin\ ;
+卒倒 < sottou\ ;
+単体 < tantai\ ;
+百足 < mukade\ ;
+欧洲 < oushuu\ ;
+勅意 < chokui\ ;
+公論 < kouron\ ;
+十分 < juppun\ ;
+魚雷 < gyorai\ ;
+先輩 < senpai\ ;
+平目 < hirame\ ;
+郷士 < goushi\ ;
+此方 < konata\ ;
+剣法 < kenpou\ ;
+茶茶 < chacha\ ;
+正方 < seihou\ ;
+武教 < bukyou\ ;
+剪毛 < senmou\ ;
+配乗 < haijou\ ;
+矜持 < kyouji\ ;
+農耕 < noukou\ ;
+千円 < sen''en\ ;
+初生 < shosei\ ;
+公認 < kounin\ ;
+巡行 < junkou\ ;
+区劃 < kukaku\ ;
+正文 < seibun\ ;
+歌格 < kakaku\ ;
+幽界 < yuukai\ ;
+正数 < seisuu\ ;
+後味 < atoaji\ ;
+砲塔 < houtou\ ;
+硝化 < shouka\ ;
+兼行 < kenkou\ ;
+彫塑 < chouso\ ;
+十全 < juuzen\ ;
+公許 < koukyo\ ;
+南京 < nankin\ ;
+知慮 < chiryo\ ;
+死所 < shisho\ ;
+幼生 < yousei\ ;
+道民 < doumin\ ;
+半値 < han''ne\ ;
+悶々 < monmon\ ;
+返答 < hentou\ ;
+茶色 < chairo\ ;
+権謀 < kenbou\ ;
+鶏冠 < tosaka\ ;
+百貨 < hyakka\ ;
+廻文 < kaibun\ ;
+勁悍 < keikan\ ;
+元軍 < gengun\ ;
+十億 < juuoku\ ;
+引手 < hikite\ ;
+魔障 < mashou\ ;
+切目 < kireme\ ;
+引戸 < hikido\ ;
+軟風 < nanpuu\ ;
+眼界 < gankai\ ;
+茶臼 < chausu\ ;
+選書 < sensho\ ;
+英訳 < eiyaku\ ;
+転音 < ten''on\ ;
+残影 < zan''ei\ ;
+芳醇 < houjun\ ;
+年産 < nensan\ ;
+年生 < nensei\ ;
+千倍 < senbai\ ;
+廃残 < haizan\ ;
+良馬 < ryouba\ ;
+平生 < heizei\ ;
+遊民 < yuumin\ ;
+葛布 < kuzufu\ ;
+廃止 < haishi\ ;
+輪転 < rinten\ ;
+高緯度 < kouido\ ;
+帆船 < hobune\ ;
+十倍 < juubai\ ;
+剛毛 < goumou\ ;
+毎回 < maikai\ ;
+母国 < bokoku\ ;
+民人 < minjin\ ;
+真砂 < masago\ ;
+助手 < sukete\ ;
+止揚 < shiyou\ ;
+幽玄 < yuugen\ ;
+芸道 < geidou\ ;
+加振 < kashin\ ;
+盛者 < jousha\ ;
+役員 < yakuin\ ;
+微乳 < binyuu\ ;
+県税 < kenzei\ ;
+優遇 < yuuguu\ ;
+石工 < sekkou\ ;
+内蔵 < naizou\ ;
+民主 < minshu\ ;
+初犯 < shohan\ ;
+殿堂 < dendou\ ;
+庶民 < shomin\ ;
+瞬時 < shunji\ ;
+優退 < yuutai\ ;
+凹目 < kubome\ ;
+劣才 < ressai\ ;
+輪距 < rinkyo\ ;
+返礼 < henrei\ ;
+刀痕 < toukon\ ;
+鳴戸 < naruto\ ;
+勘定 < kanjou\ ;
+内蒙 < naimou\ ;
+目糞 < mekuso\ ;
+座浴 < zayoku\ ;
+標語 < hyougo\ ;
+白話 < hakuwa\ ;
+判然 < hanzen\ ;
+砂子 < sunago\ ;
+悠々 < yuuyuu\ ;
+労役 < roueki\ ;
+茗荷 < myouga\ ;
+目籠 < mekago\ ;
+着物 < kimono\ ;
+車風 < shafuu\ ;
+標記 < hyouki\ ;
+鬚髯 < shuzen\ ;
+前段 < zendan\ ;
+遮断 < shadan\ ;
+適時 < tekiji\ ;
+草紙 < soushi\ ;
+落後 < rakugo\ ;
+盲管 < moukan\ ;
+十三 < juusan\ ;
+十万 < juuman\ ;
+毒味 < dokumi\ ;
+葉巻 < hamaki\ ;
+張子 < hariko\ ;
+石屋 < ishiya\ ;
+御主 < onushi\ ;
+都合 < tsugou\ ;
+御中 < onchuu\ ;
+花輪 < hanawa\ ;
+弁慶 < benkei\ ;
+不貞寝 < futene\ ;
+免許 < menkyo\ ;
+干犯 < kanpan\ ;
+剪枝 < senshi\ ;
+花軸 < kajiku\ ;
+幽然 < yuuzen\ ;
+凹田 < kubota\ ;
+苦衷 < kuchuu\ ;
+発見 < hakken\ ;
+兎角 < tokaku\ ;
+当地 < touchi\ ;
+干物 < himono\ ;
+平版 < heihan\ ;
+苦行 < kugyou\ ;
+鯨脂 < geishi\ ;
+再興 < saikou\ ;
+落度 < ochido\ ;
+砲台 < houdai\ ;
+再臨 < sairin\ ;
+真田 < sanada\ ;
+助役 < joyaku\ ;
+毎号 < maigou\ ;
+劣性 < ressei\ ;
+目笊 < mezaru\ ;
+歯形 < hagata\ ;
+弾奏 < dansou\ ;
+包含 < hougan\ ;
+廃校 < haikou\ ;
+後便 < koubin\ ;
+匍匐 < hofuku\ ;
+郊外 < kougai\ ;
+強姦 < goukan\ ;
+白衣 < byakue\ ;
+巨艦 < kyokan\ ;
+進歩 < shinpo\ ;
+凡眼 < bongan\ ;
+僧門 < soumon\ ;
+返盃 < henpai\ ;
+工芸 < kougei\ ;
+軍隊 < guntai\ ;
+落差 < rakusa\ ;
+巨船 < kyosen\ ;
+鱗状 < rinjou\ ;
+軍陣 < gunjin\ ;
+輪講 < rinkou\ ;
+残存 < zanzon\ ;
+平然 < heizen\ ;
+切片 < seppen\ ;
+北光 < hokkou\ ;
+武徳 < butoku\ ;
+眉目 < bimoku\ ;
+眼点 < ganten\ ;
+動天 < douten\ ;
+功徳 < kudoku\ ;
+後件 < kouken\ ;
+艦隊 < kantai\ ;
+歯医者 < haisha\ ;
+苗裔 < byouei\ ;
+加役 < kayaku\ ;
+後代 < koudai\ ;
+鱗片 < rinpen\ ;
+弊店 < heiten\ ;
+真理 < shinri\ ;
+儕輩 < saihai\ ;
+皮膜 < himaku\ ;
+似顔絵 < nigaoe\ ;
+役儀 < yakugi\ ;
+真珠 < shinju\ ;
+剪断 < sendan\ ;
+公葬 < kousou\ ;
+砂場 < sunaba\ ;
+弁当 < bentou\ ;
+逓減 < teigen\ ;
+往信 < oushin\ ;
+軍門 < gunmon\ ;
+座標 < zahyou\ ;
+魚道 < gyodou\ ;
+艇首 < teishu\ ;
+邪宗 < jashuu\ ;
+正弦 < seigen\ ;
+勇姿 < yuushi\ ;
+分煙 < bun''en\ ;
+欠本 < keppon\ ;
+毎分 < maifun\ ;
+制止 < seishi\ ;
+郵券 < yuuken\ ;
+荒磯 < araiso\ ;
+軽輩 < keihai\ ;
+華族 < kazoku\ ;
+構造 < kouzou\ ;
+著大 < chodai\ ;
+出物 < demono\ ;
+茅舎 < bousha\ ;
+座業 < zagyou\ ;
+勝因 < shouin\ ;
+皮肉 < hiniku\ ;
+前栽 < senzai\ ;
+砲兵 < houhei\ ;
+内聞 < naibun\ ;
+分点 < bunten\ ;
+死守 < shishu\ ;
+底止 < teishi\ ;
+兵船 < heisen\ ;
+別法 < beppou\ ;
+凸版 < toppan\ ;
+通気 < tsuuki\ ;
+加州 < kashuu\ ;
+正常 < seijou\ ;
+廻廊 < kairou\ ;
+速歩 < sokuho\ ;
+干潟 < higata\ ;
+軽躁 < keisou\ ;
+遥拝 < youhai\ ;
+芸談 < geidan\ ;
+巧者 < kousha\ ;
+優諚 < yuujou\ ;
+鳩座 < hatoza\ ;
+短大 < tandai\ ;
+左翼 < sayoku\ ;
+茶筅 < chasen\ ;
+前板 < maeita\ ;
+僻遠 < hekien\ ;
+高麗 < kourai\ ;
+身頃 < migoro\ ;
+前条 < zenjou\ ;
+入荷 < nyuuka\ ;
+割拠 < kakkyo\ ;
+強固 < kyouko\ ;
+平準 < heijun\ ;
+弟妹 < teimai\ ;
+痛飲 < tsuuin\ ;
+劾奏 < gaisou\ ;
+干満 < kanman\ ;
+前書 < zensho\ ;
+延年 < en''nen\ ;
+病魔 < byouma\ ;
+利欲 < riyoku\ ;
+郭公 < kakkou\ ;
+庭木 < niwaki\ ;
+楽音 < gakuon\ ;
+残塁 < zanrui\ ;
+入苑 < nyuuen\ ;
+若葉 < wakaba\ ;
+准看 < junkan\ ;
+常用 < jouyou\ ;
+勲功 < kunkou\ ;
+弊害 < heigai\ ;
+此岸 < shigan\ ;
+平淡 < heitan\ ;
+火事場 < kajiba\ ;
+全般 < zenpan\ ;
+前景 < zenkei\ ;
+遠戚 < enseki\ ;
+殺到 < sattou\ ;
+目盛 < memori\ ;
+若菜 < wakana\ ;
+帆立 < hotate\ ;
+郡制 < gunsei\ ;
+郵便 < yuubin\ ;
+転送 < tensou\ ;
+目白 < mejiro\ ;
+盪盪 < toutou\ ;
+初段 < shodan\ ;
+船頭 < sendou\ ;
+当分 < toubun\ ;
+週期 < shuuki\ ;
+郎君 < roukun\ ;
+近状 < kinjou\ ;
+巨編 < kyohen\ ;
+花見 < hanami\ ;
+内線 < naisen\ ;
+欠損 < kesson\ ;
+内緒 < naisho\ ;
+刑法 < keihou\ ;
+鳴子 < naruko\ ;
+前文 < zenbun\ ;
+武学 < bugaku\ ;
+出潮 < deshio\ ;
+席画 < sekiga\ ;
+逆毛 < sakage\ ;
+適応 < tekiou\ ;
+魚貝 < gyobai\ ;
+若芽 < wakame\ ;
+転載 < tensai\ ;
+冷眼 < reigan\ ;
+勤勉 < kinben\ ;
+櫛比 < shippi\ ;
+送水 < sousui\ ;
+勤労 < kinrou\ ;
+市税 < shizei\ ;
+母乳 < bonyuu\ ;
+転転 < tenten\ ;
+達成 < tassei\ ;
+内紛 < naifun\ ;
+勿体 < mottai\ ;
+勘合 < kangou\ ;
+茶碗 < chawan\ ;
+軍配 < gunbai\ ;
+平水 < heisui\ ;
+鳥屋 < toriya\ ;
+平民 < heimin\ ;
+平氏 < heishi\ ;
+連枝 < renshi\ ;
+母上 < hahaue\ ;
+動向 < doukou\ ;
+疾駆 < shikku\ ;
+函渠 < kankyo\ ;
+農産 < nousan\ ;
+刑死 < keishi\ ;
+楼門 < roumon\ ;
+公署 < kousho\ ;
+年歯 < nenshi\ ;
+造林 < zourin\ ;
+船隊 < sentai\ ;
+遠心 < enshin\ ;
+苛苛 < iraira\ ;
+弱味 < yowami\ ;
+適度 < tekido\ ;
+削摩 < sakuma\ ;
+輪蔵 < rinzou\ ;
+弾劾 < dangai\ ;
+達意 < tatsui\ ;
+底本 < teihon\ ;
+到来 < tourai\ ;
+発艦 < hakkan\ ;
+刎死 < funshi\ ;
+軍道 < gundou\ ;
+創建 < souken\ ;
+前提 < zentei\ ;
+冬着 < fuyugi\ ;
+造本 < zouhon\ ;
+看点 < kanten\ ;
+欣懐 < kinkai\ ;
+薄々 < usuusu\ ;
+冬眠 < toumin\ ;
+豪雨禍 < gouuka\ ;
+勝利 < shouri\ ;
+登臨 < tourin\ ;
+車道 < shadou\ ;
+強化 < kyouka\ ;
+辛目 < karame\ ;
+動勢 < dousei\ ;
+痴鈍 < chidon\ ;
+残品 < zanpin\ ;
+庸才 < yousai\ ;
+動労 < dourou\ ;
+軒輊 < kenchi\ ;
+光芒 < koubou\ ;
+帯状 < obijou\ ;
+苦肉 < kuniku\ ;
+連星 < rensei\ ;
+目玉 < medama\ ;
+茶盆 < chabon\ ;
+郎党 < roudou\ ;
+布石 < fuseki\ ;
+臥龍 < garyou\ ;
+弁天 < benten\ ;
+切歯 < sesshi\ ;
+短命 < tanmei\ ;
+巣箱 < subako\ ;
+殿上 < tenjou\ ;
+舷門 < genmon\ ;
+選定 < sentei\ ;
+勇名 < yuumei\ ;
+正大 < seidai\ ;
+髑髏 < dokuro\ ;
+利札 < rifuda\ ;
+遷宮 < senguu\ ;
+転貸 < tentai\ ;
+弁士 < benshi\ ;
+亜麻製 < amasei\ ;
+道念 < dounen\ ;
+瞳子 < doushi\ ;
+当代 < toudai\ ;
+床机 < shougi\ ;
+先般 < senpan\ ;
+当人 < tounin\ ;
+遵守 < junshu\ ;
+車輪 < sharin\ ;
+初校 < shokou\ ;
+軍車 < gunsha\ ;
+連敗 < renpai\ ;
+底数 < teisuu\ ;
+出水 < demizu\ ;
+身銭 < mizeni\ ;
+艦載 < kansai\ ;
+広東 < kanton\ ;
+布目 < nunome\ ;
+典範 < tenpan\ ;
+病院 < byouin\ ;
+知命 < chimei\ ;
+盗用 < touyou\ ;
+剛性 < gousei\ ;
+当世 < tousei\ ;
+勉励 < benrei\ ;
+出殻 < degara\ ;
+兎肉 < toniku\ ;
+眠気 < nemuke\ ;
+茶番 < chaban\ ;
+真水 < mamizu\ ;
+左程 < sahodo\ ;
+高風 < koufuu\ ;
+幽林 < yuurin\ ;
+返済 < hensai\ ;
+冬瓜 < tougan\ ;
+殊勲 < shukun\ ;
+光背 < kouhai\ ;
+軌跡 < kiseki\ ;
+弱冠 < jakkan\ ;
+知友 < chiyuu\ ;
+加圧 < kaatsu\ ;
+茶瓶 < chabin\ ;
+利敵 < riteki\ ;
+判明 < hanmei\ ;
+適宜 < tekigi\ ;
+殊功 < shukou\ ;
+弥勒 < miroku\ ;
+冥界 < meikai\ ;
+芭蕉 < bashou\ ;
+運弓 < unkyuu\ ;
+剣帯 < kentai\ ;
+高音 < takane\ ;
+良貨 < ryouka\ ;
+短剣 < tanken\ ;
+先聖 < sensei\ ;
+全米 < zenbei\ ;
+盲点 < mouten\ ;
+判断 < handan\ ;
+歓声 < kansei\ ;
+欽定 < kintei\ ;
+透明 < toumei\ ;
+重々 < juujuu\ ;
+軟論 < nanron\ ;
+邸内 < teinai\ ;
+免罪 < menzai\ ;
+廃帝 < haitei\ ;
+短刀 < tantou\ ;
+公算 < kousan\ ;
+舌頭 < zettou\ ;
+選外 < sengai\ ;
+死去 < shikyo\ ;
+軍資 < gunshi\ ;
+引合 < hikiai\ ;
+幽景 < yuukei\ ;
+遊底 < yuutei\ ;
+矩則 < kusoku\ ;
+巡礼 < junrei\ ;
+年来 < nenrai\ ;
+初旬 < shojun\ ;
+平板 < heiban\ ;
+儀表 < gihyou\ ;
+兵種 < heishu\ ;
+巨砲 < kyohou\ ;
+皆納 < kainou\ ;
+残党 < zantou\ ;
+次席 < jiseki\ ;
+歌声 < utagoe\ ;
+模索 < mosaku\ ;
+残光 < zankou\ ;
+元老 < genrou\ ;
+芳草 < housou\ ;
+真横 < mayoko\ ;
+八端 < hattan\ ;
+分校 < bunkou\ ;
+連投 < rentou\ ;
+盗犯 < touhan\ ;
+弾丸 < dangan\ ;
+歌境 < kakyou\ ;
+写生 < shasei\ ;
+残像 < zanzou\ ;
+歩哨 < hoshou\ ;
+県民 < kenmin\ ;
+剣山 < kenzan\ ;
+労功 < roukou\ ;
+連戦 < rensen\ ;
+冷然 < reizen\ ;
+動乱 < douran\ ;
+制憲 < seiken\ ;
+弓勢 < yunzei\ ;
+内省 < naisei\ ;
+平明 < heimei\ ;
+死刑 < shikei\ ;
+眉毛 < mayuge\ ;
+造成 < zousei\ ;
+廃屋 < haioku\ ;
+切替 < settai\ ;
+逃散 < tousan\ ;
+身軽 < migaru\ ;
+矢先 < yasaki\ ;
+軍談 < gundan\ ;
+年数 < nensuu\ ;
+山羊座 < yagiza\ ;
+正味 < shoumi\ ;
+退散 < taisan\ ;
+芸能 < geinou\ ;
+連想 < rensou\ ;
+残余 < zan''yo\ ;
+遣外 < kengai\ ;
+弁口 < benkou\ ;
+皓礬 < kouban\ ;
+正号 < seigou\ ;
+苦笑 < kushou\ ;
+分明 < bunmei\ ;
+弓具 < kyuugu\ ;
+癌腫 < ganshu\ ;
+矮人 < waijin\ ;
+荒海 < araumi\ ;
+鳴動 < meidou\ ;
+内界 < naikai\ ;
+座席 < zaseki\ ;
+正南 < seinan\ ;
+芸者 < geisha\ ;
+正午 < shougo\ ;
+内用 < naiyou\ ;
+別懇 < bekkon\ ;
+分数 < bunsuu\ ;
+分散 < bunsan\ ;
+優者 < yuusha\ ;
+卒塔婆 < sotoba\ ;
+歯冠 < shikan\ ;
+再現 < saigen\ ;
+康寧 < kounei\ ;
+功労 < kourou\ ;
+欄干 < rankan\ ;
+列挙 < rekkyo\ ;
+前山 < zenzan\ ;
+弥久 < bikyuu\ ;
+発端 < hottan\ ;
+初戦 < shosen\ ;
+軍装 < gunsou\ ;
+別意 < betsui\ ;
+出時 < dedoki\ ;
+連弾 < rendan\ ;
+亜麻色 < amairo\ ;
+知人 < chijin\ ;
+茫然 < bouzen\ ;
+輔翼 < hoyoku\ ;
+農法 < nouhou\ ;
+利息 < risoku\ ;
+府庁 < fuchou\ ;
+庶子 < shoshi\ ;
+華奢 < kyasha\ ;
+至難 < shinan\ ;
+労使 < roushi\ ;
+廉売 < renbai\ ;
+死体 < shitai\ ;
+逢引 < aibiki\ ;
+停頓 < teiton\ ;
+遺告 < yuigou\ ;
+函数 < kansuu\ ;
+冷淡 < reitan\ ;
+真昼 < mahiru\ ;
+出方 < dekata\ ;
+剣士 < kenshi\ ;
+公益 < koueki\ ;
+船路 < funaji\ ;
+疎隔 < sokaku\ ;
+加入 < kanyuu\ ;
+農民 < noumin\ ;
+遠国 < ongoku\ ;
+具申 < gushin\ ;
+荷札 < nifuda\ ;
+席次 < sekiji\ ;
+利得 < ritoku\ ;
+全盲 < zenmou\ ;
+死亡 < shibou\ ;
+巨獣 < kyojuu\ ;
+正兵 < seihei\ ;
+全盛 < zensei\ ;
+蹈鞴 < tatara\ ;
+連帯 < rentai\ ;
+速度 < sokudo\ ;
+到底 < toutei\ ;
+免税 < menzei\ ;
+舌鋒 < zeppou\ ;
+造幣 < zouhei\ ;
+標示 < hyouji\ ;
+平手 < hirate\ ;
+停電 < teiden\ ;
+健闘 < kentou\ ;
+舟運 < shuuun\ ;
+横目 < yokome\ ;
+凱旋 < gaisen\ ;
+目次 < mokuji\ ;
+冷泉 < reisen\ ;
+全癒 < zen''yu\ ;
+白磁 < hakuji\ ;
+返本 < henpon\ ;
+別形 < bekkei\ ;
+幻想 < gensou\ ;
+看板 < kanban\ ;
+再燃 < sainen\ ;
+着意 < chakui\ ;
+内状 < naijou\ ;
+別当 < bettou\ ;
+近東 < kintou\ ;
+建具 < tategu\ ;
+近来 < kinrai\ ;
+返書 < hensho\ ;
+序幕 < jomaku\ ;
+側鎖 < sokusa\ ;
+概論 < gairon\ ;
+病躯 < byouku\ ;
+楽譜 < gakufu\ ;
+冷汗 < reikan\ ;
+分担 < buntan\ ;
+辣油 < razeyu\ ;
+劇化 < gekika\ ;
+冷水 < reisui\ ;
+還元 < kangen\ ;
+利幅 < rihaba\ ;
+凡書 < bonsho\ ;
+連峰 < renpou\ ;
+劇務 < gekimu\ ;
+切手 < kirete\ ;
+幻怪 < genkai\ ;
+追慕 < tsuibo\ ;
+発砲 < happou\ ;
+身許 < mimoto\ ;
+適否 < tekihi\ ;
+出掛 < degake\ ;
+円熟 < enjuku\ ;
+近景 < kinkei\ ;
+連山 < renzan\ ;
+高邁 < koumai\ ;
+前奏 < zensou\ ;
+店屋 < miseya\ ;
+処方 < shohou\ ;
+青海苔 < aonori\ ;
+遍在 < henzai\ ;
+別巻 < bekkan\ ;
+冗漫 < jouman\ ;
+概観 < gaikan\ ;
+前夜 < zen''ya\ ;
+建値 < tatene\ ;
+幻影 < gen''ei\ ;
+連射 < rensha\ ;
+前売 < maeuri\ ;
+概要 < gaiyou\ ;
+傍輩 < houbai\ ;
+白眉 < hakubi\ ;
+峡部 < kyoubu\ ;
+制定 < seitei\ ;
+軽罪 < keizai\ ;
+番頭 < bantou\ ;
+初年 < shonen\ ;
+辛気 < shinki\ ;
+割合 < wariai\ ;
+楼観 < roukan\ ;
+苦痛 < kutsuu\ ;
+幾年 < ikunen\ ;
+冬毛 < fuyuge\ ;
+先知 < senchi\ ;
+店子 < tanako\ ;
+魚群 < gyogun\ ;
+退役 < taieki\ ;
+幼年 < younen\ ;
+迂曲 < ukyoku\ ;
+割印 < wariin\ ;
+利尿 < rinyou\ ;
+似非親 < eseoya\ ;
+床屋 < tokoya\ ;
+退廷 < taitei\ ;
+権現 < gongen\ ;
+側部 < sokubu\ ;
+帰服 < kifuku\ ;
+眼底 < gantei\ ;
+退廃 < taihai\ ;
+別居 < bekkyo\ ;
+留飲 < ryuuin\ ;
+刪定 < santei\ ;
+欄外 < rangai\ ;
+冠水 < kansui\ ;
+別封 < beppuu\ ;
+眼帯 < gantai\ ;
+平年 < heinen\ ;
+平平 < heihei\ ;
+臆面 < okumen\ ;
+廃品 < haihin\ ;
+迷彩 < meisai\ ;
+市民 < shimin\ ;
+庄屋 < shouya\ ;
+色色 < iroiro\ ;
+冠毛 < kanmou\ ;
+常数 < jousuu\ ;
+農林 < nourin\ ;
+平常 < heijou\ ;
+苔癬 < taisen\ ;
+癲癇 < tenkan\ ;
+亜麻糸 < amaito\ ;
+判定 < hantei\ ;
+判官 < hangan\ ;
+川瀬 < kawase\ ;
+廷丁 < teitei\ ;
+発生 < hassei\ ;
+農村 < nouson\ ;
+側近 < sokkin\ ;
+盤根 < bankon\ ;
+魂胆 < kontan\ ;
+六十路 < musoji\ ;
+轟然 < gouzen\ ;
+別嬪 < beppin\ ;
+欠品 < keppin\ ;
+魚網 < gyomou\ ;
+内湯 < uchiyu\ ;
+亜温帯 < aontai\ ;
+生麩 < namafu\ ;
+幽居 < yuukyo\ ;
+連夜 < ren''ya\ ;
+巡演 < jun''en\ ;
+歌会 < utakai\ ;
+公然 < kouzen\ ;
+巻毛 < makige\ ;
+軍艦 < gunkan\ ;
+連声 < renjou\ ;
+余所見 < yosomi\ ;
+自重 < jichou\ ;
+内済 < naisai\ ;
+先番 < senban\ ;
+遊吟 < yuugin\ ;
+遊君 < yuukun\ ;
+軍船 < gunsen\ ;
+草本 < souhon\ ;
+盲断 < moudan\ ;
+着尺 < kijaku\ ;
+艨艟 < moudou\ ;
+偽足 < gisoku\ ;
+草書 < sousho\ ;
+全然 < zenzen\ ;
+列寧 < reenin\ ;
+魚精 < gyosei\ ;
+艦艇 < kantei\ ;
+目方 < mekata\ ;
+凡才 < bonsai\ ;
+凡手 < bonshu\ ;
+充用 < juuyou\ ;
+魚粉 < gyofun\ ;
+凡戦 < bonsen\ ;
+庸君 < youkun\ ;
+値頃 < negoro\ ;
+凶徒 < kyouto\ ;
+疎通 < sotsuu\ ;
+至近 < shikin\ ;
+幢幡 < douban\ ;
+平屋 < hiraya\ ;
+遅参 < chisan\ ;
+逆子 < sakago\ ;
+委員会 < iinkai\ ;
+白狐 < byakko\ ;
+値鞘 < nezaya\ ;
+出庫 < shukko\ ;
+追尾 < tsuibi\ ;
+出府 < shuppu\ ;
+初婚 < shokon\ ;
+出店 < demise\ ;
+内治 < naichi\ ;
+農政 < nousei\ ;
+剛勇 < gouyuu\ ;
+欠勤 < kekkin\ ;
+共演 < kyouen\ ;
+自適 < jiteki\ ;
+凡慮 < bonryo\ ;
+退官 < taikan\ ;
+眼孔 < gankou\ ;
+界面 < kaimen\ ;
+遯世 < tonsei\ ;
+平定 < heitei\ ;
+華冑 < kachuu\ ;
+輪番 < rinban\ ;
+依存度 < izondo\ ;
+出師 < suishi\ ;
+前名 < zenmei\ ;
+道元 < dougen\ ;
+前号 < zengou\ ;
+判士 < hanshi\ ;
+輪生 < rinsei\ ;
+内気 < uchiki\ ;
+傍訓 < boukun\ ;
+眸子 < boushi\ ;
+遅効 < chikou\ ;
+廃兵 < haihei\ ;
+免状 < menjou\ ;
+帆桁 < hogeta\ ;
+機業 < kigyou\ ;
+逓増 < teizou\ ;
+幕府 < bakufu\ ;
+席捲 < sekken\ ;
+荷役 < niyaku\ ;
+内殿 < naiden\ ;
+傍観 < boukan\ ;
+界隈 < kaiwai\ ;
+分封 < bunpou\ ;
+公準 < koujun\ ;
+傍視 < wakimi\ ;
+白煙 < hakuen\ ;
+苔状 < taijou\ ;
+魔笛 < mateki\ ;
+創世 < sousei\ ;
+跳馬 < chouba\ ;
+常態 < joutai\ ;
+広場 < hiroba\ ;
+山顛 < santen\ ;
+停車 < teisha\ ;
+高覧 < kouran\ ;
+甘鯛 < amadai\ ;
+広域 < kouiki\ ;
+横溢 < ouitsu\ ;
+冬日 < fuyubi\ ;
+高見 < takami\ ;
+僧綱 < sougou\ ;
+前前 < maemae\ ;
+座卓 < zataku\ ;
+冠木 < kabuki\ ;
+良縁 < ryouen\ ;
+剛健 < gouken\ ;
+偽証 < gishou\ ;
+市有 < shiyuu\ ;
+庭前 < teizen\ ;
+阿僧祇 < asougi\ ;
+検車 < kensha\ ;
+店員 < ten''in\ ;
+進化 < shinka\ ;
+樹氷 < juhyou\ ;
+庄園 < shouen\ ;
+自足 < jisoku\ ;
+骨身 < honemi\ ;
+六法 < roppou\ ;
+出家 < shukke\ ;
+高裁 < kousai\ ;
+画集 < gashuu\ ;
+分娩 < bunben\ ;
+色糸 < iroito\ ;
+画障 < gashou\ ;
+山霊 < sanrei\ ;
+写本 < shahon\ ;
+入海 < iriumi\ ;
+蹂躪 < juurin\ ;
+幕屋 < makuya\ ;
+刻印 < kokuin\ ;
+凡常 < bonjou\ ;
+迷妄 < meimou\ ;
+痛苦 < tsuuku\ ;
+盆景 < bonkei\ ;
+船荷 < funani\ ;
+連吟 < rengin\ ;
+初回 < shokai\ ;
+廃人 < haijin\ ;
+剛体 < goutai\ ;
+車線 < shasen\ ;
+連合 < rengou\ ;
+盲想 < mousou\ ;
+年報 < nenpou\ ;
+相性 < aishou\ ;
+若湯 < wakayu\ ;
+公民 < koumin\ ;
+市日 < ichibi\ ;
+様相 < yousou\ ;
+鱈子 < tarako\ ;
+分外 < bungai\ ;
+監房 < kanbou\ ;
+布教 < fukyou\ ;
+造反 < zouhan\ ;
+分売 < bunbai\ ;
+凄惨 < seisan\ ;
+盛挙 < seikyo\ ;
+軽目 < karume\ ;
+帰心 < kishin\ ;
+茘枝 < reishi\ ;
+相役 < aiyaku\ ;
+座元 < zamoto\ ;
+再来 < sairai\ ;
+兼業 < kengou\ ;
+盾座 < tateza\ ;
+冷房 < reibou\ ;
+制動 < seidou\ ;
+相当 < soutou\ ;
+巡検 < junken\ ;
+兵権 < heiken\ ;
+百済 < kudara\ ;
+至論 < shiron\ ;
+船艙 < sensou\ ;
+山間 < yamaai\ ;
+平均 < heikin\ ;
+山門 < sanmon\ ;
+傭船 < yousen\ ;
+円柱 < enchuu\ ;
+生類 < seirui\ ;
+平地 < heichi\ ;
+連動 < rendou\ ;
+前便 < zenbin\ ;
+庸人 < youjin\ ;
+年回 < nenkai\ ;
+退団 < taidan\ ;
+盲従 < moujuu\ ;
+冗文 < joubun\ ;
+全欧 < zen''ou\ ;
+睾丸 < kougan\ ;
+至言 < shigen\ ;
+連判 < renpan\ ;
+軒端 < nokiba\ ;
+師弟 < shitei\ ;
+前件 < zenken\ ;
+八十路 < yasoji\ ;
+屏風 < byoubu\ ;
+相席 < aiseki\ ;
+前代 < zendai\ ;
+生面 < seimen\ ;
+苦汁 < nigari\ ;
+伊勢蝦 < iseebi\ ;
+前人 < zenjin\ ;
+切地 < kireji\ ;
+凶夢 < kyoumu\ ;
+分地 < bunchi\ ;
+艶福 < enpuku\ ;
+若気 < wakage\ ;
+産院 < san''in\ ;
+分団 < bundan\ ;
+自註 < jichuu\ ;
+初号 < shogou\ ;
+逸事 < itsuji\ ;
+僻目 < higame\ ;
+刀圭 < toukei\ ;
+冊数 < sassuu\ ;
+画鋲 < gabyou\ ;
+出城 < dejiro\ ;
+幼名 < youmei\ ;
+小鼻 < kobana\ ;
+内旨 < naishi\ ;
+痛罵 < tsuuba\ ;
+自覚 < jikaku\ ;
+内方 < naihou\ ;
+偽薬 < giyaku\ ;
+病臥 < byouga\ ;
+共栄 < kyouei\ ;
+値遇 < chiguu\ ;
+并呑 < heidon\ ;
+幾千 < ikusen\ ;
+高著 < koucho\ ;
+小麦 < komugi\ ;
+分営 < bun''ei\ ;
+棒鋼 < boukou\ ;
+送呈 < soutei\ ;
+座中 < zachuu\ ;
+并合 < heigou\ ;
+修院 < shuuin\ ;
+底値 < sokone\ ;
+帰属 < kizoku\ ;
+工数 < kousuu\ ;
+兵曹 < heisou\ ;
+兵書 < heisho\ ;
+曾祖父 < hijiji\ ;
+刑名 < keimei\ ;
+軍礼 < gunrei\ ;
+樹木 < jumoku\ ;
+高菜 < takana\ ;
+相対 < soutai\ ;
+年号 < nengou\ ;
+見栄坊 < miebou\ ;
+花火 < hanabi\ ;
+展開 < tenkai\ ;
+相宿 < aiyado\ ;
+退去 < taikyo\ ;
+帯封 < obifuu\ ;
+亜鉛版 < aenban\ ;
+凍寒 < toukan\ ;
+平原 < heigen\ ;
+凍害 < tougai\ ;
+山野 < san''ya\ ;
+透写 < tousha\ ;
+制令 < seirei\ ;
+六本 < roppon\ ;
+苦楽 < kuraku\ ;
+帰宅 < kitaku\ ;
+疽腫 < soshou\ ;
+横根 < yokone\ ;
+幾分 < ikubun\ ;
+異説 < isetsu\ ;
+魔球 < makyuu\ ;
+凶器 < kyouki\ ;
+保革 < hokaku\ ;
+再挙 < saikyo\ ;
+俊馬 < shunme\ ;
+八本 < happon\ ;
+公有 < kouyuu\ ;
+偏見 < henken\ ;
+府中 < fuchuu\ ;
+目尻 < mejiri\ ;
+其方 < sonata\ ;
+盛年 < seinen\ ;
+小鴨 < kogamo\ ;
+退勢 < taisei\ ;
+返報 < henpou\ ;
+内探 < naitan\ ;
+権柄 < kenpei\ ;
+小鳥 < kotori\ ;
+年功 < nenkou\ ;
+田野 < den''ya\ ;
+兵数 < heisuu\ ;
+盪尽 < toujin\ ;
+眼前 < ganzen\ ;
+艦砲 < kanpou\ ;
+店主 < tenshu\ ;
+転生 < tensei\ ;
+足駄 < ashida\ ;
+八景 < hakkei\ ;
+登楼 < tourou\ ;
+目安 < meyasu\ ;
+概算 < gaisan\ ;
+分厘 < bunrin\ ;
+御猪口 < ochoko\ ;
+追加 < tsuika\ ;
+横木 < yokogi\ ;
+優渥 < yuuaku\ ;
+帆影 < hokage\ ;
+年初 < nensho\ ;
+腰間 < youkan\ ;
+草屋 < souoku\ ;
+公明 < koumei\ ;
+年刊 < nenkan\ ;
+年分 < nenbun\ ;
+幕営 < bakuei\ ;
+小鰭 < kohada\ ;
+平分 < heibun\ ;
+平凡 < heibon\ ;
+瘋癲 < fuuten\ ;
+追分 < oiwake\ ;
+鰥夫 < yamome\ ;
+用金 < youkin\ ;
+鮎並女 < ainame\ ;
+魔物 < mamono\ ;
+公文 < koubun\ ;
+茶巾 < chakin\ ;
+刑典 < keiten\ ;
+近在 < kinzai\ ;
+別件 < bekken\ ;
+山辺 < yamabe\ ;
+略記 < ryakki\ ;
+巧手 < koushu\ ;
+真味 < shinmi\ ;
+身空 < misora\ ;
+芋版 < imoban\ ;
+巡拝 < junpai\ ;
+産金 < sankin\ ;
+全数 < zensuu\ ;
+全敗 < zenpai\ ;
+真否 < shinpi\ ;
+若木 < wakagi\ ;
+列候 < rekkou\ ;
+追儺 < tsuina\ ;
+冷害 < reigai\ ;
+床上 < yukaue\ ;
+偽膜 < gimaku\ ;
+帆布 < honuno\ ;
+凝固 < gyouko\ ;
+途中 < tochuu\ ;
+内憂 < naiyuu\ ;
+俗間 < zokkan\ ;
+促音 < sokuon\ ;
+小骨 < kobone\ ;
+典拠 < tenkyo\ ;
+登板 < touban\ ;
+初代 < shodai\ ;
+刀剣 < touken\ ;
+幕吏 < bakuri\ ;
+魚灯 < gyotou\ ;
+膚身 < hadami\ ;
+癖毛 < kusege\ ;
+僭王 < sen''ou\ ;
+再思 < saishi\ ;
+県営 < ken''ei\ ;
+鮮明 < senmei\ ;
+生酒 < kizake\ ;
+分党 < buntou\ ;
+幾人 < ikunin\ ;
+脳髄 < nouzui\ ;
+真北 < makita\ ;
+巨悪 < kyoaku\ ;
+荊妻 < keisai\ ;
+全損 < zenson\ ;
+刃先 < hasaki\ ;
+山路 < yamaji\ ;
+帯域 < taiiki\ ;
+返品 < henpin\ ;
+小首 < kokubi\ ;
+年余 < nen''yo\ ;
+甘酸 < kansan\ ;
+騒霊 < sourei\ ;
+至芸 < shigei\ ;
+退会 < taikai\ ;
+寡黙 < kamoku\ ;
+刃傷 < ninjou\ ;
+再建 < saikon\ ;
+極秘 < gokuhi\ ;
+逃亡 < toubou\ ;
+退任 < tainin\ ;
+年代 < nendai\ ;
+傍線 < bousen\ ;
+省営 < shouei\ ;
+帰国 < kikoku\ ;
+着丈 < kitake\ ;
+農場 < noujou\ ;
+軽減 < keigen\ ;
+骨董 < kottou\ ;
+療治 < ryouji\ ;
+辺地 < henchi\ ;
+駝鳥 < dachou\ ;
+内径 < naikei\ ;
+腹部 < fukubu\ ;
+出先 < desaki\ ;
+元来 < ganrai\ ;
+真冬 < mafuyu\ ;
+輪栽 < rinsai\ ;
+巨弾 < kyodan\ ;
+元本 < genpon\ ;
+凶具 < kyougu\ ;
+自若 < jijaku\ ;
+年中 < nenjuu\ ;
+発散 < hassan\ ;
+師団 < shidan\ ;
+駱駝 < rakuda\ ;
+内廷 < naitei\ ;
+傍系 < boukei\ ;
+分体 < buntai\ ;
+平易化 < heiika\ ;
+迎合 < geigou\ ;
+安保理 < anpori\ ;
+修造 < shuzou\ ;
+草堂 < soudou\ ;
+干与 < kan''yo\ ;
+機屋 < hataya\ ;
+農地 < nouchi\ ;
+曾祖母 < hibaba\ ;
+航空 < koukuu\ ;
+市子 < ichiko\ ;
+尊顔 < songan\ ;
+軍犬 < genken\ ;
+修辞 < shuuji\ ;
+生身 < namami\ ;
+横手 < yokote\ ;
+停船 < teisen\ ;
+県勢 < kensei\ ;
+六感 < rokkan\ ;
+元旦 < gantan\ ;
+画調 < gachou\ ;
+冗官 < joukan\ ;
+処分 < shobun\ ;
+軽水 < keisui\ ;
+自腹 < jibara\ ;
+分与 < bun''yo\ ;
+処処 < shosho\ ;
+芒洋 < bouyou\ ;
+小雪 < koyuki\ ;
+小雨 < kosame\ ;
+導電 < douden\ ;
+兵役 < heieki\ ;
+小雀 < kogara\ ;
+籐椅子 < touisu\ ;
+函人 < kanjin\ ;
+盗塁 < tourui\ ;
+苦手 < nigate\ ;
+対顔 < taigan\ ;
+若手 < wakate\ ;
+冬場 < fuyuba\ ;
+催眠 < saimin\ ;
+優柔 < yuujuu\ ;
+小文字 < komoji\ ;
+芸林 < geirin\ ;
+相反 < souhan\ ;
+巨岩 < kyogan\ ;
+帯同 < taidou\ ;
+常勤 < joukin\ ;
+荘司 < shouji\ ;
+凍原 < tougen\ ;
+楽界 < gakkai\ ;
+荘厳 < sougon\ ;
+出世 < shusse\ ;
+凄味 < sugomi\ ;
+自習 < jishuu\ ;
+凡僧 < bonsou\ ;
+対面 < taimen\ ;
+番茶 < bancha\ ;
+異色 < ishoku\ ;
+円寂 < enjaku\ ;
+州崎 < susaki\ ;
+近傍 < kinbou\ ;
+入御 < nyuugo\ ;
+内宮 < naiguu\ ;
+市塵 < shijin\ ;
+践言 < sengen\ ;
+芳書 < housho\ ;
+用談 < youdan\ ;
+花木 < kaboku\ ;
+余所目 < yosome\ ;
+公平 < kouhei\ ;
+内孫 < naison\ ;
+保身 < hoshin\ ;
+発憤 < happun\ ;
+舌端 < zettan\ ;
+全店 < zenten\ ;
+対陣 < taijin\ ;
+例題 < reidai\ ;
+帯剣 < taiken\ ;
+帝命 < teimei\ ;
+軟泥 < nandei\ ;
+茅屋 < bouoku\ ;
+入庫 < nyuuko\ ;
+用言 < yougen\ ;
+発意 < hatsui\ ;
+入府 < nyuufu\ ;
+芸文 < geibun\ ;
+専門 < senmon\ ;
+帯刀 < taitou\ ;
+苦心 < kushin\ ;
+檀君 < dankun\ ;
+兼官 < kenkan\ ;
+尿路 < nyouro\ ;
+県会 < kenkai\ ;
+盤台 < bandai\ ;
+布地 < nunoji\ ;
+至純 < shijun\ ;
+草原 < sougen\ ;
+自縛 < jibaku\ ;
+梅酒 < umeshu\ ;
+元手 < motode\ ;
+下院議 < kaingi\ ;
+県令 < kenrei\ ;
+寝首 < nekubi\ ;
+生誕 < seitan\ ;
+軟水 < nansui\ ;
+近代 < kindai\ ;
+県人 < kenjin\ ;
+盆地 < bonchi\ ;
+孵化器 < fukaki\ ;
+軍港 < gunkou\ ;
+党弊 < touhei\ ;
+冷厳 < reigen\ ;
+臭素 < shuuso\ ;
+茄子 < nasubi\ ;
+盗品 < touhin\ ;
+舗石 < hoseki\ ;
+自給 < jikyuu\ ;
+返上 < henjou\ ;
+魚梯 < gyotei\ ;
+盛名 < seimei\ ;
+全島 < zentou\ ;
+赭顔 < shagan\ ;
+共寝 < tomone\ ;
+手真似 < temane\ ;
+小銭 < kozeni\ ;
+近世 < kinsei\ ;
+臨終 < rinjuu\ ;
+常例 < jourei\ ;
+全岸 < zengan\ ;
+巨大 < kyodai\ ;
+辛味 < karami\ ;
+内外 < naigai\ ;
+目先 < mesaki\ ;
+常住 < joujuu\ ;
+農兵 < nouhei\ ;
+傍目 < hatame\ ;
+展覧 < tenran\ ;
+常会 < joukai\ ;
+常任 < jounin\ ;
+俯角 < fukaku\ ;
+痴漢 < chikan\ ;
+軍法 < gunpou\ ;
+小金 < kogane\ ;
+冷剛 < reigou\ ;
+常人 < joujin\ ;
+魚板 < gyoban\ ;
+崩潰 < houkai\ ;
+不如意 < funyoi\ ;
+僧正 < soujou\ ;
+允恭 < inkyou\ ;
+軸木 < jikugi\ ;
+相伝 < souden\ ;
+帝冠 < teikan\ ;
+併音 < pin''in\ ;
+高目 < takame\ ;
+円域 < en''iki\ ;
+寒風 < kanpuu\ ;
+駅頭 < ekitou\ ;
+傾瀉 < keisha\ ;
+冷凍 < reitou\ ;
+軍民 < gunmin\ ;
+骨粉 < koppun\ ;
+病理 < byouri\ ;
+常世 < tokoyo\ ;
+膵臓 < suizou\ ;
+其奴 < soitsu\ ;
+充当 < juutou\ ;
+修補 < shuuho\ ;
+布告 < fukoku\ ;
+舎監 < shakan\ ;
+儒教 < jukyou\ ;
+俗議 < zokugi\ ;
+湯文字 < yumoji\ ;
+冷光 < reikou\ ;
+寝際 < negiwa\ ;
+的屋 < tekiya\ ;
+異機種 < ikishu\ ;
+益友 < ekiyuu\ ;
+内在 < naizai\ ;
+兵変 < heihen\ ;
+山葵 < wasabi\ ;
+偵知 < teichi\ ;
+疫癘 < ekirei\ ;
+盲人 < moujin\ ;
+皇宮 < kouguu\ ;
+能面 < noumen\ ;
+盛典 < seiten\ ;
+根雪 < neyuki\ ;
+茅場 < kayaba\ ;
+帰一 < kiitsu\ ;
+皇孫 < kouson\ ;
+侮辱 < bujoku\ ;
+番線 < bansen\ ;
+農会 < noukai\ ;
+俗語 < zokugo\ ;
+目今 < mokkon\ ;
+直下 < chokka\ ;
+山菜 < sansai\ ;
+転校 < tenkou\ ;
+俗話 < zokuwa\ ;
+疥癬 < kaisen\ ;
+苦学 < kugaku\ ;
+元帥 < gensui\ ;
+白寿 < hakuju\ ;
+冥利 < myouri\ ;
+発展 < hatten\ ;
+巡回 < junkai\ ;
+輪廻 < rin''ne\ ;
+典型 < tenkei\ ;
+山荘 < sansou\ ;
+公売 < koubai\ ;
+脱退 < dattai\ ;
+俗解 < zokkai\ ;
+背鰭 < sebire\ ;
+赤門 < akamon\ ;
+屍蝋 < shirou\ ;
+畝織 < uneori\ ;
+俗見 < zokken\ ;
+倉荷 < kurani\ ;
+芳情 < houjou\ ;
+首魁 < shukai\ ;
+生薑 < shouga\ ;
+兵団 < heidan\ ;
+対遇 < taiguu\ ;
+亜砒酸 < ahisan\ ;
+生蕃 < seiban\ ;
+免官 < menkan\ ;
+市内 < shinai\ ;
+軽挙 < keikyo\ ;
+良案 < ryouan\ ;
+容顔 < yougan\ ;
+円味 < marumi\ ;
+盛会 < seikai\ ;
+円周 < enshuu\ ;
+芸当 < geitou\ ;
+甘薯 < kansho\ ;
+内命 < naimei\ ;
+車検 < shaken\ ;
+芳志 < houshi\ ;
+小足 < koashi\ ;
+対辺 < taihen\ ;
+苗字 < myouji\ ;
+背骨 < sebone\ ;
+内含 < naigan\ ;
+馬革 < bakaku\ ;
+盟主 < meishu\ ;
+内合 < naigou\ ;
+巨口 < kyokou\ ;
+再勤 < saikin\ ;
+市債 < shisai\ ;
+岩穴 < iwaana\ ;
+元寇 < genkou\ ;
+余震 < yoshin\ ;
+冕冠 < benkan\ ;
+茶会 < chakai\ ;
+低頭 < teitou\ ;
+円卓 < entaku\ ;
+密閉 < mippei\ ;
+山背 < yamase\ ;
+様態 < youtai\ ;
+茶代 < chadai\ ;
+催涙 < sairui\ ;
+背馳 < haichi\ ;
+脱走 < dassou\ ;
+百夜 < momoyo\ ;
+苦境 < kukyou\ ;
+写像 < shazou\ ;
+実験 < jikken\ ;
+茶人 < chajin\ ;
+英国 < eikoku\ ;
+再刊 < saikan\ ;
+内勤 < naikin\ ;
+肺魚 < haigyo\ ;
+自白 < jihaku\ ;
+軍書 < gunsho\ ;
+傍点 < bouten\ ;
+便覧 < benran\ ;
+登壇 < toudan\ ;
+検眼 < kengan\ ;
+校門 < koumon\ ;
+首題 < shudai\ ;
+先妻 < sensai\ ;
+骨相 < kossou\ ;
+阿修羅 < ashura\ ;
+甘草 < kanzou\ ;
+甘茶 < amacha\ ;
+登場 < toujou\ ;
+寝酒 < nezake\ ;
+御雑煮 < ozouni\ ;
+兄妹 < keimai\ ;
+入営 < nyuuei\ ;
+兼勤 < kenkin\ ;
+軒数 < kensuu\ ;
+先天 < senten\ ;
+円内 < en''nai\ ;
+内内 < nainai\ ;
+軍旅 < gunryo\ ;
+内典 < naiten\ ;
+軽快 < keikai\ ;
+全員 < zen''in\ ;
+臨界 < rinkai\ ;
+高瀬 < takase\ ;
+全品 < zenpin\ ;
+検痰 < kentan\ ;
+入唐 < nittou\ ;
+小話 < shouwa\ ;
+背革 < segawa\ ;
+巨億 < kyooku\ ;
+背面 < haimen\ ;
+債権 < saiken\ ;
+輪姦 < rinkan\ ;
+疑獄 < gigoku\ ;
+皮膚科 < hifuka\ ;
+小言 < kogoto\ ;
+検番 < kenban\ ;
+充填 < juuten\ ;
+層群 < sougun\ ;
+花屋 < hanaya\ ;
+軟投 < nantou\ ;
+転戦 < tensen\ ;
+偶然 < guuzen\ ;
+生育 < seiiku\ ;
+岩盤 < ganban\ ;
+共助 < kyoujo\ ;
+較差 < kakusa\ ;
+兵刃 < heijin\ ;
+苗圃 < byouho\ ;
+再任 < sainin\ ;
+余録 < yoroku\ ;
+病気 < byouki\ ;
+駅逓 < ekitei\ ;
+実際 < jissai\ ;
+生者 < shouja\ ;
+由緒 < yuisho\ ;
+俳聖 < haisei\ ;
+山系 < sankei\ ;
+男系 < dankei\ ;
+対論 < tairon\ ;
+寮費 < ryouhi\ ;
+身柄 < migara\ ;
+倫社 < rinsha\ ;
+巨体 < kyotai\ ;
+内住 < naijuu\ ;
+皇后 < kougou\ ;
+小袖 < kosode\ ;
+対語 < tsuigo\ ;
+能辯 < nouben\ ;
+苦味 < nigami\ ;
+魅惑 < miwaku\ ;
+再三 < saisan\ ;
+巨人 < kyojin\ ;
+将補 < shouho\ ;
+芸大 < geidai\ ;
+舷梯 < gentei\ ;
+脱衣 < datsui\ ;
+円丘 < enkyuu\ ;
+芝居 < shibai\ ;
+軟性 < nansei\ ;
+皆勤 < kaikin\ ;
+巨万 < kyoman\ ;
+査閲 < saetsu\ ;
+寸言 < sungen\ ;
+密送 < missou\ ;
+用紙 < youshi\ ;
+体重 < taijuu\ ;
+棄約 < kiyaku\ ;
+侍読 < jidoku\ ;
+骨牌 < karuta\ ;
+骨片 < koppen\ ;
+儒学 < jugaku\ ;
+自然 < shizen\ ;
+赤赤 < akaaka\ ;
+色悪 < iroaku\ ;
+苦力 < kuurii\ ;
+身方 < mikata\ ;
+楷書 < kaisho\ ;
+宝鑑 < houkan\ ;
+弟小父 < otooji\ ;
+信者 < shinja\ ;
+膿瘍 < nouyou\ ;
+概数 < gaisuu\ ;
+芸域 < geiiki\ ;
+小虎 < kodora\ ;
+色恋 < irokoi\ ;
+肺門 < haimon\ ;
+畢生 < hissei\ ;
+生紙 < kigami\ ;
+先君 < senkun\ ;
+赤貝 < akagai\ ;
+例解 < reikai\ ;
+皆兵 < kaihei\ ;
+軍情 < gunjou\ ;
+高歯 < takaba\ ;
+兵乱 < heiran\ ;
+何遍 < nanben\ ;
+駄賃 < dachin\ ;
+尾翼 < biyoku\ ;
+髄液 < zuieki\ ;
+封蝋 < fuurou\ ;
+党内 < tounai\ ;
+公住 < koujuu\ ;
+生粋 < kissui\ ;
+俗耳 < zokuji\ ;
+宴遊 < en''yuu\ ;
+元号 < gengou\ ;
+骨炭 < kottan\ ;
+側泳 < sobaei\ ;
+英俊 < eishun\ ;
+脱藩 < dappan\ ;
+儀宸 < gishin\ ;
+係船 < keisen\ ;
+柔順 < juujun\ ;
+番犬 < banken\ ;
+馬身 < bashin\ ;
+痙攣 < keiren\ ;
+便船 < binsen\ ;
+腎臓 < jinzou\ ;
+馳走 < chisou\ ;
+主治医 < shujii\ ;
+腋臭 < wakiga\ ;
+不誠意 < fuseii\ ;
+停滞 < teitai\ ;
+英京 < eikyou\ ;
+寝言 < negoto\ ;
+偉烈 < iretsu\ ;
+魯国 < rokoku\ ;
+充分 < juubun\ ;
+皆伝 < kaiden\ ;
+痴情 < chijou\ ;
+崇敬 < suukei\ ;
+御詠歌 < goeika\ ;
+転寝 < gorone\ ;
+腐肉 < funiku\ ;
+輸入 < yunyuu\ ;
+先兵 < senpei\ ;
+軍帽 < gunbou\ ;
+俗縁 < zokuen\ ;
+腹筋 < fukkin\ ;
+自涜 < jitoku\ ;
+膚着 < hadagi\ ;
+容赦 < yousha\ ;
+尿素 < nyouso\ ;
+栄進 < eishin\ ;
+楓林 < fuurin\ ;
+余賊 < yozoku\ ;
+検温 < ken''on\ ;
+寓言 < guugen\ ;
+首輪 < kubiwa\ ;
+芸名 < geimei\ ;
+健気 < kenage\ ;
+栄辱 < eijoku\ ;
+胃下垂 < ikasui\ ;
+赤裸 < sekira\ ;
+小船 < kobune\ ;
+伍長 < gochou\ ;
+屈筋 < kukkin\ ;
+容貌 < youbou\ ;
+発会 < hakkai\ ;
+自沈 < jichin\ ;
+痛打 < tsuuda\ ;
+家賃 < yachin\ ;
+登仙 < tousen\ ;
+芳名 < houmei\ ;
+学院 < gakuin\ ;
+刷毛目 < hakeme\ ;
+魔境 < makyou\ ;
+甲烏賊 < kouika\ ;
+舌根 < zekkon\ ;
+崩御 < hougyo\ ;
+饅頭 < manjuu\ ;
+作譜 < sakufu\ ;
+先便 < senbin\ ;
+小膝 < kohiza\ ;
+岬湾 < kouwan\ ;
+小腹 < kobara\ ;
+元値 < motone\ ;
+骨法 < koppou\ ;
+良家 < ryouke\ ;
+光体 < koutai\ ;
+官辺 < kanpen\ ;
+実車 < jissha\ ;
+密計 < mikkei\ ;
+亜拉毘亜 < arabia\ ;
+介鱗 < kairin\ ;
+胸裏 < kyouri\ ;
+小脇 < kowaki\ ;
+伊達着 < dategi\ ;
+崇拝 < suuhai\ ;
+概念 < gainen\ ;
+用益 < youeki\ ;
+屯田 < tonden\ ;
+膾炙 < kaisha\ ;
+先代 < sendai\ ;
+小股 < komata\ ;
+転変 < tenpen\ ;
+転売 < tenbai\ ;
+御見舞 < omimai\ ;
+実践 < jissen\ ;
+官軍 < kangun\ ;
+背走 < haisou\ ;
+身形 < minari\ ;
+校訓 < koukun\ ;
+小耳 < komimi\ ;
+聴音 < chouon\ ;
+容認 < younin\ ;
+脱脂 < dasshi\ ;
+会釈 < eshaku\ ;
+孔雀 < kujaku\ ;
+小者 < komono\ ;
+代願 < daigan\ ;
+養鶏 < youkei\ ;
+背文字 < semoji\ ;
+係累 < keirui\ ;
+肝銘 < kanmei\ ;
+余角 < yokaku\ ;
+脱肛 < dakkou\ ;
+寝藁 < newara\ ;
+優曇華 < udonge\ ;
+偶有 < guuyuu\ ;
+密行 < mikkou\ ;
+元三 < ganzan\ ;
+体言 < taigen\ ;
+身幅 < mihaba\ ;
+仲間 < nakama\ ;
+伴走 < bansou\ ;
+転地 < tenchi\ ;
+良夜 < ryouya\ ;
+体要 < taiyou\ ;
+伝送 < densou\ ;
+贋造 < ganzou\ ;
+御襁褓 < omutsu\ ;
+臨検 < rinken\ ;
+対聯 < tairen\ ;
+首謀 < shubou\ ;
+僕婢 < bokuhi\ ;
+棒状 < boujou\ ;
+他領 < taryou\ ;
+寸胴 < zundou\ ;
+人魚 < ningyo\ ;
+体裁 < teisai\ ;
+偶数 < guusuu\ ;
+養魚 < yougyo\ ;
+導線 < dousen\ ;
+完走 < kansou\ ;
+馬蝿 < umabae\ ;
+令閨 < reikei\ ;
+対置 < taichi\ ;
+駐英 < chuuei\ ;
+西班牙 < supein\ ;
+肩身 < katami\ ;
+今風 < imafuu\ ;
+這々 < houhou\ ;
+芸人 < geinin\ ;
+柔道 < juudou\ ;
+脱線 < dassen\ ;
+根菜 < konsai\ ;
+胡蝶 < kochou\ ;
+小糠 < konuka\ ;
+検案 < ken''an\ ;
+定論 < teiron\ ;
+楽屋 < gakuya\ ;
+病後 < byougo\ ;
+膿汁 < noujuu\ ;
+傲岸 < gougan\ ;
+小米 < kogome\ ;
+学部 < gakubu\ ;
+臨書 < rinsho\ ;
+査読 < sadoku\ ;
+腫瘍 < shuyou\ ;
+楽寝 < rakune\ ;
+封緘 < fuukan\ ;
+根茎 < konkei\ ;
+膨満 < bouman\ ;
+修理 < shuuri\ ;
+脱糞 < dappun\ ;
+臘梅 < roubai\ ;
+査証 < sashou\ ;
+倒潰 < toukai\ ;
+舌戦 < zessen\ ;
+高慢 < kouman\ ;
+柔軟 < juunan\ ;
+小箱 < kobako\ ;
+尽瘁 < jinsui\ ;
+尊簡 < sonkan\ ;
+導管 < douken\ ;
+定見 < teiken\ ;
+瓦礫 < gareki\ ;
+実装 < jissou\ ;
+極寒 < gokkan\ ;
+駅舎 < ekisha\ ;
+来鮮 < raisen\ ;
+人類 < jinrui\ ;
+亡魂 < boukon\ ;
+贈賄 < zouwai\ ;
+使聘 < shihei\ ;
+人頭 < jintou\ ;
+走者 < sousha\ ;
+実行 < jikkou\ ;
+軍営 < gun''ei\ ;
+軽便 < keiben\ ;
+使者 < shisha\ ;
+偶成 < guusei\ ;
+転勤 < tenkin\ ;
+俗画 < zokuga\ ;
+対米 < taibei\ ;
+距爪 < kyosou\ ;
+人面 < jinmen\ ;
+老齢 < rourei\ ;
+良吏 < ryouri\ ;
+松露 < shouro\ ;
+封筒 < fuutou\ ;
+飛鳥 < hichou\ ;
+脚絆 < kyahan\ ;
+偶感 < guukan\ ;
+貝類 < kairui\ ;
+付録 < furoku\ ;
+偏旁 < henbou\ ;
+代金 < daikin\ ;
+偏斜 < hensha\ ;
+寒肥 < kangoe\ ;
+転写 < tensha\ ;
+会談 < kaidan\ ;
+舎弟 < shatei\ ;
+馴致 < junchi\ ;
+魚介 < gyokai\ ;
+傘屋 < kasaya\ ;
+伝言 < dengon\ ;
+車台 < shadai\ ;
+不見目 < mijime\ ;
+対空 < taikuu\ ;
+会計 < kaikei\ ;
+作興 < sakkou\ ;
+腸炎 < chouen\ ;
+人間 < ningen\ ;
+学費 < gakuhi\ ;
+東面 < toumen\ ;
+小破 < shouha\ ;
+飛魚 < tobiuo\ ;
+山水 < sansui\ ;
+余興 < yokyou\ ;
+山気 < yamake\ ;
+小石 < koishi\ ;
+蕎麦粉 < sobako\ ;
+軍勢 < gunzei\ ;
+余臭 < yoshuu\ ;
+会見 < kaiken\ ;
+封禅 < houzen\ ;
+贅言 < zeigen\ ;
+現金 < genkin\ ;
+居然 < kyozen\ ;
+億万 < okuman\ ;
+検挙 < kenkyo\ ;
+転倒 < tentou\ ;
+町歩 < choubu\ ;
+僧兵 < souhei\ ;
+疑惑 < giwaku\ ;
+代返 < daihen\ ;
+楽土 < rakudo\ ;
+臨戦 < rinsen\ ;
+宝蔵 < houzou\ ;
+楽園 < rakuen\ ;
+林野 < rin''ya\ ;
+京阪 < keihan\ ;
+赤線 < akasen\ ;
+他郷 < takyou\ ;
+軍刀 < guntou\ ;
+痴呆 < chihou\ ;
+条項 < joukou\ ;
+小目 < komoku\ ;
+栄落 < eiraku\ ;
+転住 < tenjuu\ ;
+用法 < youhou\ ;
+臆断 < okudan\ ;
+躍如 < yakujo\ ;
+小皿 < kozara\ ;
+小皺 < kojiwa\ ;
+亡霊 < bourei\ ;
+梭子魚 < kamasu\ ;
+船型 < senkei\ ;
+赤経 < sekkei\ ;
+佞者 < neisha\ ;
+馬肉 < baniku\ ;
+偕成 < kaisei\ ;
+軍兵 < gunpei\ ;
+来電 < raiden\ ;
+東門 < toumon\ ;
+用水 < yousui\ ;
+車内 < shanai\ ;
+馭者 < gyosha\ ;
+不随意 < fuzuii\ ;
+魅了 < miryou\ ;
+二食 < nijiki\ ;
+脂粉 < shifun\ ;
+至当 < shitou\ ;
+体育 < taiiku\ ;
+履歴 < rireki\ ;
+僧侶 < souryo\ ;
+林道 < rindou\ ;
+値札 < nefuda\ ;
+紫陽花 < ajisai\ ;
+低能 < teinou\ ;
+来阪 < raihan\ ;
+例祭 < reisai\ ;
+貴酬 < kishuu\ ;
+胚胎 < haitai\ ;
+僧伽 < sougya\ ;
+桧皮 < hiwada\ ;
+子豚 < kobuta\ ;
+貯金 < chokin\ ;
+代走 < daisou\ ;
+肺葉 < haiyou\ ;
+僭上 < senjou\ ;
+臨御 < ringyo\ ;
+貧鉱 < hinkou\ ;
+偏愛 < hen''ai\ ;
+偽学 < gigaku\ ;
+傑士 < kesshi\ ;
+野良着 < noragi\ ;
+首脳 < shunou\ ;
+生残 < seizan\ ;
+板金 < bankin\ ;
+棟木 < munagi\ ;
+番所 < bansho\ ;
+于蘭盆 < urabon\ ;
+路標 < rohyou\ ;
+車体 < shatai\ ;
+船員 < sen''in\ ;
+字訳 < jiyaku\ ;
+苦味素 < kumiso\ ;
+偏性 < hensei\ ;
+棍棒 < konbou\ ;
+停年 < teinen\ ;
+傘地 < kasaji\ ;
+官舎 < kansha\ ;
+騒然 < souzen\ ;
+山林 < sanrin\ ;
+極右 < kyokuu\ ;
+木魂 < kodama\ ;
+腎炎 < jin''en\ ;
+山村 < sanson\ ;
+人選 < jinsen\ ;
+小猫 < koneko\ ;
+仮託 < kataku\ ;
+棒杭 < bougui\ ;
+人道 < jindou\ ;
+馬糧 < baryou\ ;
+資財 < shizai\ ;
+馬糞 < maguso\ ;
+僅僅 < kinkin\ ;
+極印 < gokuin\ ;
+代講 < daikou\ ;
+会葬 < kaisou\ ;
+車上 < shajou\ ;
+至尊 < shison\ ;
+舅姑 < kyuuko\ ;
+肺臓 < haizou\ ;
+身内 < miuchi\ ;
+身共 < midomo\ ;
+至宝 < shihou\ ;
+体系 < taikei\ ;
+偏平 < henpei\ ;
+察知 < satchi\ ;
+末香 < makkou\ ;
+木馬 < mokuba\ ;
+側女 < sobame\ ;
+本館 < honkan\ ;
+代言 < daigen\ ;
+肺胞 < haihou\ ;
+人車 < jinsha\ ;
+朱顔 < shugan\ ;
+用材 < youzai\ ;
+足湯 < ashiyu\ ;
+傾倒 < keitou\ ;
+業務 < gyoumu\ ;
+倍数 < baisuu\ ;
+老雄 < rouyuu\ ;
+船出 < funade\ ;
+自宅 < jitaku\ ;
+脇目 < wakime\ ;
+本願 < hongan\ ;
+本題 < hondai\ ;
+乱雲 < ran''un\ ;
+疾呼 < shikko\ ;
+船具 < funagu\ ;
+家筋 < iesuji\ ;
+本音 < hon''ne\ ;
+付託 < futaku\ ;
+生来 < seirai\ ;
+倦憊 < kenpai\ ;
+枢要 < suuyou\ ;
+颱風 < taifuu\ ;
+寝癖 < neguse\ ;
+無事故 < mujiko\ ;
+臍帯 < seitai\ ;
+検定 < kentei\ ;
+来邸 < raitei\ ;
+腹案 < fukuan\ ;
+生木 < namaki\ ;
+余程 < yohodo\ ;
+傲倨 < goukyo\ ;
+骨子 < kosshi\ ;
+来遊 < raiyuu\ ;
+東軍 < tougun\ ;
+展望 < tenbou\ ;
+耳輪 < mimiwa\ ;
+小潮 < koshio\ ;
+梶木 < kajiki\ ;
+貧賤 < hinsen\ ;
+来迎 < raigou\ ;
+有髪 < uhatsu\ ;
+赤痢 < sekiri\ ;
+便法 < benpou\ ;
+低空 < teikuu\ ;
+伝聞 < denbun\ ;
+本隊 < hontai\ ;
+岩層 < gansou\ ;
+朝顔 < asagao\ ;
+身丈 < mitake\ ;
+本陣 < honjin\ ;
+本院 < hon''in\ ;
+尨毛 < mukuge\ ;
+定紋 < joumon\ ;
+養豚 < youton\ ;
+付表 < fuhyou\ ;
+朱門 < shumon\ ;
+併用 < heiyou\ ;
+木陰 < kokage\ ;
+債主 < saishu\ ;
+来車 < raisha\ ;
+背筋 < haikin\ ;
+山手 < yamate\ ;
+腋毛 < wakige\ ;
+便殿 < benden\ ;
+肝胆 < kantan\ ;
+朝露 < chouro\ ;
+屯所 < tonsho\ ;
+賀表 < gahyou\ ;
+宝算 < housan\ ;
+一昨日 < ototoi\ ;
+風霜 < fuusou\ ;
+起爆 < kibaku\ ;
+興味 < kyoumi\ ;
+肉芽 < nikuga\ ;
+孤舟 < koshuu\ ;
+二進 < nishin\ ;
+村道 < sondou\ ;
+偏好 < henkou\ ;
+二通 < nitsuu\ ;
+値幅 < nehaba\ ;
+風防 < fuubou\ ;
+枯葉 < kareha\ ;
+家督 < katoku\ ;
+偶吟 < guukin\ ;
+伝線 < densen\ ;
+自国 < jikoku\ ;
+臨在 < rinzai\ ;
+余白 < yohaku\ ;
+宿痾 < shukua\ ;
+密生 < missei\ ;
+寄留 < kiryuu\ ;
+来賓 < raihin\ ;
+伝統 < dentou\ ;
+画心 < gashin\ ;
+導水 < dousui\ ;
+来貢 < raikou\ ;
+脱法 < dappou\ ;
+値嵩 < negasa\ ;
+出来値 < dekine\ ;
+豪邸 < goutei\ ;
+余病 < yobyou\ ;
+老酒 < roushu\ ;
+低目 < hikume\ ;
+作画 < sakuga\ ;
+獣類 < juurui\ ;
+豪邁 < goumai\ ;
+射法 < shahou\ ;
+駄物 < damono\ ;
+脱水 < dassui\ ;
+飛躍 < hiyaku\ ;
+乱酔 < ransui\ ;
+乱酒 < ranshu\ ;
+舎兄 < shakei\ ;
+仰臥 < gyouga\ ;
+番外 < bangai\ ;
+岩塩 < gan''en\ ;
+何番 < nanban\ ;
+書風 < shofuu\ ;
+脳死 < noushi\ ;
+二足 < nisoku\ ;
+羽風 < hakaze\ ;
+豪農 < gounou\ ;
+画幅 < gafuku\ ;
+書類 < shorui\ ;
+生憎 < ainiku\ ;
+中飛 < chuuhi\ ;
+谷間 < tanima\ ;
+東西 < touzai\ ;
+臭味 < shuumi\ ;
+琴線 < kinsen\ ;
+胡瓜 < kyuuri\ ;
+飛越 < hietsu\ ;
+来談 < raidan\ ;
+倉廩 < sourin\ ;
+腐朽 < fukyuu\ ;
+安穏 < an''non\ ;
+値安 < neyasu\ ;
+代艦 < daikan\ ;
+寸法 < sunpou\ ;
+胎盤 < taiban\ ;
+老農 < rounou\ ;
+乱造 < ranzou\ ;
+傍人 < boujin\ ;
+屈指 < kusshi\ ;
+育種 < ikushu\ ;
+梅林 < bairin\ ;
+木釘 < kikugi\ ;
+男工 < dankou\ ;
+豼貅 < hikyuu\ ;
+月間 < gekkan\ ;
+仏葬 < bussou\ ;
+借家 < shakka\ ;
+書面 < shomen\ ;
+来訪 < raihou\ ;
+中音 < chuuon\ ;
+贈答 < zoutou\ ;
+老輩 < rouhai\ ;
+聾者 < rousha\ ;
+桑海 < soukai\ ;
+小楯 < kodate\ ;
+柱礎 < chuuso\ ;
+聚落 < juraku\ ;
+検品 < kenpin\ ;
+偶像 < guuzou\ ;
+存置 < sonchi\ ;
+本邸 < hontei\ ;
+本邦 < honpou\ ;
+来観 < raikan\ ;
+養蚕 < yousan\ ;
+本選 < honsen\ ;
+頽齢 < tairei\ ;
+環海 < kankai\ ;
+木部 < mokubu\ ;
+本道 < hondou\ ;
+居所 < kyosho\ ;
+路床 < roshou\ ;
+偽作 < gisaku\ ;
+乱軍 < rangun\ ;
+賞美 < shoubi\ ;
+貯蔵 < chozou\ ;
+倡婦 < shoufu\ ;
+朝野 < chouya\ ;
+胚珠 < haishu\ ;
+未進 < mishin\ ;
+休符 < kyuufu\ ;
+風采 < fuusai\ ;
+産廃 < sanpai\ ;
+令聞 < reibun\ ;
+自力 < jiriki\ ;
+係数 < keisuu\ ;
+中陰 < chuuin\ ;
+検印 < ken''in\ ;
+少林 < shorin\ ;
+健全 < kenzen\ ;
+寮母 < ryoubo\ ;
+画学 < gagaku\ ;
+互角 < gokaku\ ;
+質素 < shisso\ ;
+根源 < kongen\ ;
+柳眉 < ryuubi\ ;
+争論 < souron\ ;
+走法 < souhou\ ;
+上騰 < joutou\ ;
+山家 < yamaga\ ;
+実生 < mishou\ ;
+末輩 < mappai\ ;
+属差 < zokusa\ ;
+不馴 < funare\ ;
+椿事 < chinji\ ;
+首班 < shuhan\ ;
+定番 < teiban\ ;
+偶人 < guujin\ ;
+男子 < danshi\ ;
+代署 < daisho\ ;
+代置 < daichi\ ;
+伊勢丹 < isetan\ ;
+肺癌 < haigan\ ;
+饌米 < senmai\ ;
+趣旨 < shushi\ ;
+今般 < konpan\ ;
+尊来 < sonrai\ ;
+梯形 < teikei\ ;
+二見 < futami\ ;
+自儘 < jimama\ ;
+果肉 < kaniku\ ;
+検分 < kenbun\ ;
+両院 < ryouin\ ;
+甲子 < kasshi\ ;
+一驚 < ikkyou\ ;
+五行 < gogyou\ ;
+至便 < shiben\ ;
+尊書 < sonsho\ ;
+小昼 < kohiru\ ;
+曝露 < bakuro\ ;
+小春 < koharu\ ;
+余瀝 < yoreki\ ;
+献饌 < kensen\ ;
+信徒 < shinto\ ;
+番号 < bangou\ ;
+一駄 < ichida\ ;
+類題 < ruidai\ ;
+曜霊 < yourei\ ;
+根治 < konchi\ ;
+偉力 < iryoku\ ;
+寡欲 < kayoku\ ;
+有配 < yuuhai\ ;
+仕置 < shioki\ ;
+風車 < fuusha\ ;
+暗黙 < anmoku\ ;
+山女 < yamame\ ;
+暗黒 < ankoku\ ;
+封書 < fuusho\ ;
+仏者 < bussha\ ;
+棄子 < sutego\ ;
+倹吝 < kenrin\ ;
+自供 < jikyou\ ;
+三韓 < sankan\ ;
+予表 < yohyou\ ;
+万頃 < bankei\ ;
+一飛 < ichihi\ ;
+根毛 < konmou\ ;
+余滴 < yoteki\ ;
+倍大 < baidai\ ;
+自作 < jisaku\ ;
+育生 < ikusei\ ;
+画境 < gakyou\ ;
+木賊 < tokusa\ ;
+尊敬 < sonkei\ ;
+上面 < joumen\ ;
+居常 < kyojou\ ;
+代納 < dainou\ ;
+寒気 < samuke\ ;
+三面 < sanmen\ ;
+尊攘 < sonjou\ ;
+停会 < teikai\ ;
+倍増 < baizou\ ;
+検便 < kenben\ ;
+生存 < seizon\ ;
+屑屋 < kuzuya\ ;
+願面 < ganmen\ ;
+風趣 < fuushu\ ;
+胸毛 < munage\ ;
+山場 < yamaba\ ;
+屏居 < heikyo\ ;
+万雷 < banrai\ ;
+三階 < sangai\ ;
+寝様 < nezama\ ;
+此処等 < kokora\ ;
+番兵 < banpei\ ;
+朝賀 < chouga\ ;
+対数 < taisuu\ ;
+審査 < shinsa\ ;
+寝業 < newaza\ ;
+露西亜 < roshia\ ;
+本論 < honron\ ;
+借問 < shamon\ ;
+曾遊 < souyuu\ ;
+琢磨 < takuma\ ;
+腹子 < harako\ ;
+桟敷 < sajiki\ ;
+対支 < taishi\ ;
+養育 < youiku\ ;
+伯父 < hakufu\ ;
+本誌 < honshi\ ;
+子種 < kodane\ ;
+小指 < koyubi\ ;
+未読 < midoku\ ;
+目医者 < meisha\ ;
+一隻 < isseki\ ;
+寸断 < sundan\ ;
+老衰 < rousui\ ;
+腐心 < fushin\ ;
+暴風 < boufuu\ ;
+余沢 < yotaku\ ;
+定点 < teiten\ ;
+書道 < shodou\ ;
+中部 < chuubu\ ;
+偏人 < henjin\ ;
+倦厭 < ken''en\ ;
+学監 < gakkan\ ;
+養老 < yourou\ ;
+産声 < ubugoe\ ;
+飴色 < ameiro\ ;
+田地 < denchi\ ;
+朝議 < chougi\ ;
+田園 < den''en\ ;
+香港 < honkon\ ;
+桂林 < keirin\ ;
+一間 < hitoma\ ;
+存知 < zonchi\ ;
+中途 < chuuto\ ;
+琺瑯 < hourou\ ;
+頻頻 < hinpin\ ;
+尻尾 < shippo\ ;
+甚大 < jindai\ ;
+例数 < reisuu\ ;
+二葉 < futaba\ ;
+飼育 < shiiku\ ;
+俳壇 < haidan\ ;
+屯営 < ton''ei\ ;
+来臨 < rairin\ ;
+梵天 < bonten\ ;
+如何様 < ikayou\ ;
+寒梅 < kanbai\ ;
+根柢 < kontei\ ;
+何歳 < nansai\ ;
+栗毛 < kurige\ ;
+尊慮 < sonryo\ ;
+住民 < juumin\ ;
+少恩 < shouon\ ;
+産地 < sanchi\ ;
+企画 < kikaku\ ;
+甘塩 < amajio\ ;
+赤本 < akahon\ ;
+風解 < fuukai\ ;
+併有 < heiyuu\ ;
+屋外 < okugai\ ;
+馬橇 < basori\ ;
+中身 < nakami\ ;
+理神 < rishin\ ;
+根本 < nemoto\ ;
+人絹 < jinken\ ;
+主賓 < shuhin\ ;
+生地 < seichi\ ;
+風見 < kazami\ ;
+他称 < tashou\ ;
+香水 < kousui\ ;
+寒村 < kanson\ ;
+杉菜 < sugina\ ;
+留保 < ryuuho\ ;
+能書 < nousho\ ;
+作業 < sagyou\ ;
+倨傲 < kyogou\ ;
+根暗 < nekura\ ;
+跡地 < atochi\ ;
+人糞 < jinpun\ ;
+学理 < gakuri\ ;
+余業 < yogyou\ ;
+小形 < kogata\ ;
+月謝 < gessha\ ;
+密栓 < missen\ ;
+寒暖 < kandan\ ;
+風袋 < fuutai\ ;
+三重 < sanjuu\ ;
+財経 < zaikei\ ;
+存生 < zonjou\ ;
+万金 < mankin\ ;
+尊影 < son''ei\ ;
+根方 < nekata\ ;
+用品 < youhin\ ;
+仮病 < kebyou\ ;
+上酒 < joushu\ ;
+宗派 < shuuha\ ;
+定法 < jouhou\ ;
+家業 < kagyou\ ;
+胡椒 < koshou\ ;
+胆汁 < tanjuu\ ;
+琥珀 < kohaku\ ;
+能文 < noubun\ ;
+小幅 < kohaba\ ;
+孤独 < kodoku\ ;
+産品 < sanpin\ ;
+不適 < futeki\ ;
+密書 < missho\ ;
+股火 < matabi\ ;
+美醜 < bishuu\ ;
+一里 < ichiri\ ;
+寵愛 < chouai\ ;
+宝殿 < houden\ ;
+小差 < shousa\ ;
+珠算 < shuzan\ ;
+不通 < futsuu\ ;
+脳幹 < noukan\ ;
+供応 < kyouou\ ;
+玉藻 < tamamo\ ;
+肝炎 < kan''en\ ;
+三選 < sansen\ ;
+尋常 < jinjou\ ;
+修営 < shuuei\ ;
+胡桃 < kurumi\ ;
+万邦 < banpou\ ;
+老荘 < rousou\ ;
+官民 < kanmin\ ;
+破魔矢 < hamaya\ ;
+属吏 < zokuri\ ;
+枡目 < masume\ ;
+丁酉 < teiyuu\ ;
+越後 < echigo\ ;
+尚尚 < naonao\ ;
+三連 < sanren\ ;
+主計 < shukei\ ;
+校本 < kouhon\ ;
+暮鐘 < boshou\ ;
+封建 < houken\ ;
+倒像 < touzou\ ;
+羅針 < rashin\ ;
+梵唄 < bonbai\ ;
+上辺 < jouhen\ ;
+一郭 < ikkaku\ ;
+一部 < ichibu\ ;
+何枚 < nanmai\ ;
+寸志 < sunshi\ ;
+佞智 < neichi\ ;
+主観 < shukan\ ;
+家柄 < iegara\ ;
+小島 < kojima\ ;
+本葬 < honsou\ ;
+産卵 < sanran\ ;
+人種 < jinshu\ ;
+完治 < kanchi\ ;
+何条 < nanjou\ ;
+代用 < daiyou\ ;
+相部屋 < aibeya\ ;
+伯母 < hakubo\ ;
+俳名 < haimei\ ;
+孤児院 < kojiin\ ;
+義賊 < gizoku\ ;
+小山 < koyama\ ;
+尊崇 < sonsuu\ ;
+俳友 < haiyuu\ ;
+一週 < isshuu\ ;
+休演 < kyuuen\ ;
+一通 < ittsuu\ ;
+脇戸 < wakido\ ;
+尿器 < nyouki\ ;
+三軍 < sangun\ ;
+狭霧 < sagiri\ ;
+根拠 < konkyo\ ;
+井綱 < idzuna\ ;
+今日日 < kyoubi\ ;
+万軍 < bangun\ ;
+東端 < toutan\ ;
+本草 < honzou\ ;
+費目 < himoku\ ;
+仙界 < senkai\ ;
+産前 < sanzen\ ;
+玉菜 < tamana\ ;
+末茶 < matcha\ ;
+飯米 < hanmai\ ;
+順風 < junpuu\ ;
+朱色 < shuiro\ ;
+伝法 < denpou\ ;
+画伯 < gahaku\ ;
+狭隘 < kyouai\ ;
+獣行 < juukou\ ;
+不足 < fusoku\ ;
+資産 < shisan\ ;
+嫁菜 < yomena\ ;
+五経 < gokyou\ ;
+駅手 < ekishu\ ;
+生前 < seizen\ ;
+下足 < gesoku\ ;
+何方 < donata\ ;
+豚舎 < tonsha\ ;
+足場 < ashiba\ ;
+順順 < junjun\ ;
+荼枳尼 < dakini\ ;
+一身 < isshin\ ;
+肥沃 < hiyoku\ ;
+梱包 < konpou\ ;
+林産 < rinsan\ ;
+人知 < jinchi\ ;
+罰金 < bakkin\ ;
+令状 < reijou\ ;
+例年 < reinen\ ;
+狭間 < hazama\ ;
+脛巾 < habaki\ ;
+履修 < rishuu\ ;
+膝下 < shikka\ ;
+二級 < nikyuu\ ;
+海老錠 < ebijou\ ;
+本膳 < honzen\ ;
+一路 < ichiro\ ;
+脆性 < zeisei\ ;
+体操 < taisou\ ;
+使役 < shieki\ ;
+晩餐 < bansan\ ;
+肝油 < kan''yu\ ;
+群論 < gunron\ ;
+用便 < youben\ ;
+今生 < konjou\ ;
+少女 < shoujo\ ;
+人相 < ninsou\ ;
+予約 < yoyaku\ ;
+人目 < hitome\ ;
+甘党 < amatou\ ;
+貧相 < hinsou\ ;
+背景 < haikei\ ;
+駒座 < komaza\ ;
+安楽 < anraku\ ;
+世評 < sehyou\ ;
+班田 < handen\ ;
+有蓋 < yuugai\ ;
+用件 < youken\ ;
+乗船 < jousen\ ;
+実景 < jikkei\ ;
+屋内 < okunai\ ;
+学派 < gakuha\ ;
+風船 < fuusen\ ;
+柔毛 < juumou\ ;
+現状 < genjou\ ;
+音響 < onkyou\ ;
+木肌 < kihada\ ;
+尊大 < sondai\ ;
+脳天 < nouten\ ;
+媚薬 < biyaku\ ;
+風致 < fuuchi\ ;
+寝床 < nedoko\ ;
+世襲 < seshuu\ ;
+老練 < rouren\ ;
+不詳 < fushou\ ;
+実施 < jisshi\ ;
+万謝 < bansha\ ;
+三論 < sanron\ ;
+俗務 < zokumu\ ;
+駅弁 < ekiben\ ;
+本署 < honsho\ ;
+寝巻 < nemaki\ ;
+実数 < jissuu\ ;
+人生 < jinsei\ ;
+守株 < shushu\ ;
+蕎麦屋 < sobaya\ ;
+争端 < soutan\ ;
+一議 < ichigi\ ;
+伴星 < bansei\ ;
+飛竜 < hiryuu\ ;
+根幹 < konkan\ ;
+赤帽 < akabou\ ;
+養生 < youjou\ ;
+暴走 < bousou\ ;
+上計 < joukei\ ;
+宿意 < shukui\ ;
+完本 < kanpon\ ;
+耳目 < jimoku\ ;
+佞悪 < neiaku\ ;
+俯伏 < fufuku\ ;
+騙取 < henshu\ ;
+俯仰 < fugyou\ ;
+上覧 < jouran\ ;
+万言 < mangen\ ;
+対外 < taigai\ ;
+住所 < juusho\ ;
+財界 < zaikai\ ;
+風聞 < fuubun\ ;
+上覆 < uwaooi\ ;
+容態 < youdai\ ;
+財産 < zaisan\ ;
+雌捻子 < meneji\ ;
+両虎 < ryouko\ ;
+猥談 < waidan\ ;
+越境 < ekkyou\ ;
+上製 < jousei\ ;
+俗儒 < zokuju\ ;
+上裁 < jousai\ ;
+伝来 < denrai\ ;
+寝小 < neshou\ ;
+本絹 < honken\ ;
+飯盒 < hangou\ ;
+下表 < kahyou\ ;
+腕前 < udemae\ ;
+仮泊 < kahaku\ ;
+余徳 < yotoku\ ;
+佞弁 < neiben\ ;
+中華 < chuuka\ ;
+害悪 < gaiaku\ ;
+封地 < houchi\ ;
+完敗 < kanpai\ ;
+俚俗 < rizoku\ ;
+屋上 < okujou\ ;
+木組 < kigumi\ ;
+有能 < yuunou\ ;
+尚古 < shouko\ ;
+背戻 < hairei\ ;
+宣戦 < sensen\ ;
+五目 < gomoku\ ;
+寓居 < guukyo\ ;
+尋問 < jinmon\ ;
+暴論 < bouron\ ;
+条痕 < joukon\ ;
+併存 < heizon\ ;
+富岳 < fugaku\ ;
+胡弓 < kokyuu\ ;
+昼餉 < hiruge\ ;
+琴柱 < kotoji\ ;
+趨勢 < suusei\ ;
+頑迷 < ganmei\ ;
+宛所 < atesho\ ;
+某某 < boubou\ ;
+貯炭 < chotan\ ;
+二目 < futame\ ;
+暴言 < bougen\ ;
+俊偉 < shun''i\ ;
+尊命 < sonmei\ ;
+肥料 < hiryou\ ;
+実態 < jittai\ ;
+木箱 < kibako\ ;
+有罪 < yuuzai\ ;
+学校 < gakkou\ ;
+木管 < mokkan\ ;
+玄米 < genmai\ ;
+珈琲 < kouhii\ ;
+風紋 < fuumon\ ;
+株屋 < kabuya\ ;
+尊君 < sonkun\ ;
+実意 < jitsui\ ;
+低廉 < teiren\ ;
+飼犬 < kaiinu\ ;
+尊号 < songou\ ;
+他流 < taryuu\ ;
+末端 < mattan\ ;
+人災 < jinsai\ ;
+下薬 < geyaku\ ;
+密封 < mippuu\ ;
+小匙 < kosaji\ ;
+尊厳 < songen\ ;
+肉桂 < nikkei\ ;
+走塁 < sourui\ ;
+伝搬 < denpan\ ;
+寛大 < kandai\ ;
+古事記 < kojiki\ ;
+本稿 < honkou\ ;
+子様 < kosama\ ;
+宿屋 < yadoya\ ;
+寿命 < jumyou\ ;
+真面目 < majime\ ;
+三蔵 < sanzou\ ;
+音量 < onryou\ ;
+乗算 < jouzan\ ;
+根太 < nebuto\ ;
+議長 < gichou\ ;
+書翰 < shokan\ ;
+来状 < raijou\ ;
+仏法 < buppou\ ;
+安手 < yasude\ ;
+対句 < tsuiku\ ;
+中耳 < chuuji\ ;
+本社 < honsha\ ;
+下落 < geraku\ ;
+警防 < keibou\ ;
+寒夜 < kan''ya\ ;
+守成 < shusei\ ;
+特高 < tokkou\ ;
+末社 < massha\ ;
+佗寝 < wabine\ ;
+実弟 < jittei\ ;
+玲瓏 < reirou\ ;
+老眼 < rougan\ ;
+栽培 < saibai\ ;
+牡鶏 < ondori\ ;
+小兵 < kohyou\ ;
+月経 < gekkei\ ;
+背広 < sebiro\ ;
+季春 < kishun\ ;
+小児 < shouni\ ;
+豊稔 < hounen\ ;
+牝鷄 < hinkei\ ;
+象眼 < zougan\ ;
+玳瑁 < taimai\ ;
+暗誦 < anshou\ ;
+騒人 < soujin\ ;
+子株 < kokabu\ ;
+昼間 < hiruma\ ;
+低層 < teisou\ ;
+根城 < nejiro\ ;
+亀甲 < kikkou\ ;
+顕著 < kencho\ ;
+騒乱 < souran\ ;
+尊公 < sonkou\ ;
+宵宮 < yomiya\ ;
+住専 < juusen\ ;
+音速 < onsoku\ ;
+伐採 < bassai\ ;
+便乗 < binjou\ ;
+乾田 < kanden\ ;
+豆科 < mameka\ ;
+脱党 < dattou\ ;
+佞姦 < neikan\ ;
+住家 < sumika\ ;
+玲玲 < reirei\ ;
+侶伴 < ryohan\ ;
+賜杯 < shihai\ ;
+財源 < zaigen\ ;
+安息 < ansoku\ ;
+尊像 < sonzou\ ;
+不良 < furyou\ ;
+定常 < teijou\ ;
+献茶 < kencha\ ;
+一菊 < ikkiku\ ;
+宮家 < miyake\ ;
+風神 < fuujin\ ;
+対処 < taisho\ ;
+両義 < ryougi\ ;
+万芸 < bangei\ ;
+賢明 < kenmei\ ;
+貯水 < chosui\ ;
+枯木 < kareki\ ;
+一荘 < iichan\ ;
+寸前 < sunzen\ ;
+宏弁 < kouben\ ;
+対内 < tainai\ ;
+老生 < rousei\ ;
+獺祭 < dassai\ ;
+独語 < dokugo\ ;
+上臼 < uwausu\ ;
+小作 < kosaku\ ;
+本盗 < hontou\ ;
+飽満 < houman\ ;
+那由他 < nayuta\ ;
+寸分 < sunbun\ ;
+独話 < dokuwa\ ;
+万般 < banpan\ ;
+上臈 < jourou\ ;
+木目 < mokume\ ;
+宦官 < kangan\ ;
+更紗 < sarasa\ ;
+人気 < hitoke\ ;
+木皿 < kizara\ ;
+人民 < jinmin\ ;
+上腕 < jouwan\ ;
+尊体 < sontai\ ;
+木皮 < mokuhi\ ;
+代替 < daitai\ ;
+某所 < bousho\ ;
+子方 < kokata\ ;
+作場 < sakuba\ ;
+貧民 < hinmin\ ;
+今様 < imayou\ ;
+京浜 < keihin\ ;
+有税 < yuuzei\ ;
+脱会 < dakkai\ ;
+上背 < uwazei\ ;
+寵児 < chouji\ ;
+上肢 < joushi\ ;
+智謀 < chibou\ ;
+類聚 < ruijuu\ ;
+本番 < honban\ ;
+特需 < tokuju\ ;
+貴様 < kisama\ ;
+聰明 < soumei\ ;
+風眼 < fuugan\ ;
+老獪 < roukai\ ;
+家塾 < kajuku\ ;
+資本 < shihon\ ;
+作土 < sakudo\ ;
+会式 < eshiki\ ;
+羚羊 < reiyou\ ;
+三者 < sansha\ ;
+豪爽 < gousou\ ;
+作図 < sakuzu\ ;
+猫背 < nekoze\ ;
+飛火 < tobihi\ ;
+片鱗 < henrin\ ;
+駅名 < ekimei\ ;
+代数 < daisuu\ ;
+豐田 < toyota\ ;
+独行 < dokkou\ ;
+牛馬 < gyuuba\ ;
+丸秘 < maruhi\ ;
+飛瀑 < hibaku\ ;
+倶楽部 < kurabu\ ;
+頒行 < hankou\ ;
+東毎 < toumai\ ;
+胡国 < kokoku\ ;
+案内 < an''nai\ ;
+何回 < nankai\ ;
+護身 < goshin\ ;
+木琴 < mokkin\ ;
+仏書 < bussho\ ;
+類纂 < ruisan\ ;
+青黴 < aokabi\ ;
+木理 < mokuri\ ;
+供与 < kyouyo\ ;
+讒謗 < zanbou\ ;
+寝刃 < netaba\ ;
+一羽 < ichiwa\ ;
+肉感 < nikkan\ ;
+賢才 < kensai\ ;
+屋根屋 < yaneya\ ;
+安寧 < an''nei\ ;
+主砲 < shuhou\ ;
+寝具 < shingu\ ;
+貿易 < boueki\ ;
+現数 < gensuu\ ;
+音調 < onchou\ ;
+駅前 < ekimae\ ;
+守宮 < yamori\ ;
+音読 < ondoku\ ;
+枚数 < maisuu\ ;
+聡敏 < soubin\ ;
+貧棒 < binbou\ ;
+月相 < gessou\ ;
+青鷺 < aosagi\ ;
+学徒 < gakuto\ ;
+有益 < yuueki\ ;
+今晩 < konban\ ;
+寒剤 < kanzai\ ;
+賢慮 < kenryo\ ;
+下絵 < shitae\ ;
+讒言 < zangen\ ;
+赦免 < shamen\ ;
+予測 < yosoku\ ;
+風琴 < fuukin\ ;
+三組 < mikumi\ ;
+三絃 < sangen\ ;
+上納 < jounou\ ;
+王物 < oumono\ ;
+一縷 < ichiru\ ;
+二流 < niryuu\ ;
+海老茶 < ebicha\ ;
+聖断 < seidan\ ;
+佩剣 < haiken\ ;
+人材 < jinzai\ ;
+未熟 < mijuku\ ;
+上米 < joumai\ ;
+中破 < chuuha\ ;
+人望 < jinbou\ ;
+寡作 < kasaku\ ;
+中砥 < nakato\ ;
+颯爽 < sassou\ ;
+実地 < jitchi\ ;
+背嚢 < hainou\ ;
+賦役 < buyaku\ ;
+有用 < yuuyou\ ;
+有産 < yuusan\ ;
+月産 < gessan\ ;
+伏屋 < fuseya\ ;
+阿媽港 < amakou\ ;
+村民 < sonmin\ ;
+球技 < kyuugi\ ;
+枚挙 < maikyo\ ;
+日頃 < higoro\ ;
+下策 < gesaku\ ;
+青鮫 < aozame\ ;
+字引 < jibiki\ ;
+低吟 < teigin\ ;
+何千 < nanzen\ ;
+何十 < nanjuu\ ;
+馬力 < bariki\ ;
+存廃 < zonpai\ ;
+磁方位 < jihoui\ ;
+三等 < santou\ ;
+一籌 < itchuu\ ;
+子役 < koyaku\ ;
+伏字 < fuseji\ ;
+耐水 < taisui\ ;
+上端 < joutan\ ;
+駄作 < dasaku\ ;
+丹田 < tanden\ ;
+駅伝 < ekiden\ ;
+字幕 < jimaku\ ;
+万端 < bantan\ ;
+上空 < joukuu\ ;
+獰猛 < neimou\ ;
+片雲 < hen''un\ ;
+独英 < dokuei\ ;
+日雀 < higara\ ;
+題簽 < daisen\ ;
+密偵 < mittei\ ;
+頻繁 < hinpan\ ;
+一策 < issaku\ ;
+何分 < nanpun\ ;
+牽連 < kenren\ ;
+孫子 < magoko\ ;
+三種 < sanshu\ ;
+上程 < joutei\ ;
+日陰 < hikage\ ;
+馬克 < maruku\ ;
+官営 < kan''ei\ ;
+羽田 < haneda\ ;
+一笑 < isshou\ ;
+面頬 < menpoo\ ;
+日限 < higiri\ ;
+両目 < ryoume\ ;
+本源 < hongen\ ;
+肉屋 < nikuya\ ;
+姦計 < kankei\ ;
+静養 < seiyou\ ;
+財政 < zaisei\ ;
+孤客 < kokaku\ ;
+令弟 < reitei\ ;
+株価 < kabuka\ ;
+中生 < nakate\ ;
+独自 < dokuji\ ;
+代弁 < daiben\ ;
+密使 < misshi\ ;
+家元 < iemoto\ ;
+牧野 < bokuya\ ;
+面面 < menmen\ ;
+事業 < jigyou\ ;
+丁稚 < detchi\ ;
+来書 < raisho\ ;
+日長 < hinaga\ ;
+五桁 < goketa\ ;
+会堂 < kaidou\ ;
+密会 < mikkai\ ;
+賊徒 < zokuto\ ;
+猫科 < nekoka\ ;
+旅館 < ryokan\ ;
+任官 < ninkan\ ;
+孟子 < moushi\ ;
+群盲 < gunmou\ ;
+昏迷 < konmei\ ;
+乳母 < nyuubo\ ;
+他心 < tashin\ ;
+住僧 < juusou\ ;
+一票 < ippyou\ ;
+鍛冶屋 < kajiya\ ;
+査収 < sashuu\ ;
+二核 < nikaku\ ;
+実勢 < jissei\ ;
+仮屋 < kariya\ ;
+佞人 < neijin\ ;
+末法 < mappou\ ;
+来方 < kikata\ ;
+飲料 < inryou\ ;
+官印 < kan''in\ ;
+人手 < hitode\ ;
+書状 < shojou\ ;
+仮寝 < karine\ ;
+孔孟 < koumou\ ;
+仮家 < kariie\ ;
+仁愛 < jin''ai\ ;
+大麦 < oomugi\ ;
+狭義 < kyougi\ ;
+謝金 < shakin\ ;
+子守 < komori\ ;
+宿世 < sukuse\ ;
+奮闘 < funtou\ ;
+宗務 < shuumu\ ;
+婚礼 < konrei\ ;
+本殿 < honden\ ;
+猛禽 < moukin\ ;
+仁恵 < jinkei\ ;
+五日 < itsuka\ ;
+智能 < chinou\ ;
+一瞬 < isshun\ ;
+風洞 < fuudou\ ;
+斬首 < zanshu\ ;
+日銭 < hizeni\ ;
+本欄 < honran\ ;
+仏師 < busshi\ ;
+家並 < yanami\ ;
+豊水 < housui\ ;
+丁目 < choume\ ;
+令孫 < reison\ ;
+仏工 < bukkou\ ;
+塩基度 < enkido\ ;
+肉塊 < nikkai\ ;
+暮秋 < boshuu\ ;
+智者 < chisha\ ;
+方面 < houmen\ ;
+存外 < zongai\ ;
+美的 < biteki\ ;
+伶優 < reiyuu\ ;
+矢羽根 < yabane\ ;
+乗気 < noriki\ ;
+上番 < jouban\ ;
+風水 < fuusui\ ;
+付属 < fuzoku\ ;
+三番 < sanban\ ;
+学園 < gakuen\ ;
+謙遜 < kenson\ ;
+上田 < jouden\ ;
+夜鷹 < yotaka\ ;
+贈呈 < zoutei\ ;
+論題 < rondai\ ;
+会合 < kaigou\ ;
+理学 < rigaku\ ;
+旧都 < kyuuto\ ;
+贈号 < zougou\ ;
+中火 < chuubi\ ;
+伝単 < dentan\ ;
+宣伝 < senden\ ;
+贋印 < nisein\ ;
+背任 < hainin\ ;
+翻案 < hon''an\ ;
+王様 < ousama\ ;
+任地 < ninchi\ ;
+一疋 < ippiki\ ;
+老来 < rourai\ ;
+他宗 < tashuu\ ;
+老杉 < rousan\ ;
+完全 < kanzen\ ;
+断面 < danmen\ ;
+令妹 < reimai\ ;
+夜鳥 < yachou\ ;
+猛省 < mousei\ ;
+柔和 < nyuuwa\ ;
+定例 < teirei\ ;
+現存 < genzon\ ;
+乱杭 < rangui\ ;
+伴侶 < hanryo\ ;
+定住 < teijuu\ ;
+守兵 < shuhei\ ;
+背中 < senaka\ ;
+特許 < tokkyo\ ;
+存在 < sonzai\ ;
+背丈 < setake\ ;
+特訓 < tokkun\ ;
+爆音 < bakuon\ ;
+下獄 < gegoku\ ;
+今尚 < imanao\ ;
+人工 < jinkou\ ;
+乱暴 < ranbou\ ;
+望樓 < bourou\ ;
+三猿 < mizaru\ ;
+論陣 < ronjin\ ;
+伶人 < reijin\ ;
+謹言 < kingen\ ;
+朱書 < shusho\ ;
+館娃 < kan''ai\ ;
+片輪 < katawa\ ;
+安値 < yasune\ ;
+本来 < honrai\ ;
+明言 < meigen\ ;
+翰林 < kanrin\ ;
+令堂 < reidou\ ;
+万状 < banjou\ ;
+宗主 < soushu\ ;
+霊魂 < reikon\ ;
+本木 < motoki\ ;
+本望 < honmou\ ;
+罹病 < ribyou\ ;
+願状 < ganjou\ ;
+末末 < suezue\ ;
+百合根 < yurine\ ;
+子嚢 < shinou\ ;
+二手 < futate\ ;
+乱数 < ransuu\ ;
+春蚕 < harugo\ ;
+木末 < konure\ ;
+肌合 < hadaai\ ;
+王朝 < ouchou\ ;
+雷鳴 < raimei\ ;
+任命 < ninmei\ ;
+什宝 < juuhou\ ;
+人屋 < hitoya\ ;
+朦朧 < mourou\ ;
+朦朦 < moumou\ ;
+中洲 < nakasu\ ;
+賛嘆 < santan\ ;
+日足 < hiashi\ ;
+斜陽 < shayou\ ;
+大風 < ookaze\ ;
+奪還 < dakkan\ ;
+音締 < nejime\ ;
+天顔 < tengan\ ;
+物見 < monomi\ ;
+阿羅漢 < arakan\ ;
+学務 < gakumu\ ;
+替歌 < kaeuta\ ;
+存命 < zonmei\ ;
+奮迅 < funjin\ ;
+賭博 < tobaku\ ;
+杉戸 < sugido\ ;
+貧寒 < hinkan\ ;
+有様 < ariyou\ ;
+本文 < honmon\ ;
+来店 < raiten\ ;
+本数 < honsuu\ ;
+斧鑿 < fusaku\ ;
+来年 < rainen\ ;
+文題 < bundai\ ;
+王族 < ouzoku\ ;
+五徳 < gotoku\ ;
+万点 < manten\ ;
+今夜 < kon''ya\ ;
+中気 < chuuki\ ;
+伝令 < denrei\ ;
+仏塔 < buttou\ ;
+霜雰 < soufun\ ;
+頭痛 < zutsuu\ ;
+主権 < shuken\ ;
+雷魚 < raigyo\ ;
+万灯 < mandou\ ;
+財宝 < zaihou\ ;
+夜風 < yokaze\ ;
+貪婪 < donran\ ;
+伐倒 < battou\ ;
+野路子 < nojiko\ ;
+現地 < genchi\ ;
+猛犬 < mouken\ ;
+天雷 < tenrai\ ;
+朝晩 < asaban\ ;
+他国 < takoku\ ;
+仮名 < kemyou\ ;
+風景 < fuukei\ ;
+論鋒 < ronpou\ ;
+文面 < bunmen\ ;
+伎倆 < giryou\ ;
+餃子 < gyouza\ ;
+学兄 < gakkei\ ;
+犯罪 < hanzai\ ;
+大難 < tainan\ ;
+中欧 < chuuou\ ;
+伝世 < densei\ ;
+多額 < tagaku\ ;
+天険 < tenken\ ;
+会主 < kaishu\ ;
+東宮 < touguu\ ;
+聖域 < seiiki\ ;
+代品 < daihin\ ;
+頓知 < tonchi\ ;
+夕顔 < yuugao\ ;
+乱戦 < ransen\ ;
+考慮 < kouryo\ ;
+介在 < kaizai\ ;
+整風 < seifuu\ ;
+任免 < ninmen\ ;
+存分 < zonbun\ ;
+令名 < reimei\ ;
+飲屋 < nomiya\ ;
+人外 < ningai\ ;
+斧鉞 < fuetsu\ ;
+夜霧 < yogiri\ ;
+猛然 < mouzen\ ;
+人士 < jinshi\ ;
+面貌 < menbou\ ;
+販売 < hanbai\ ;
+主根 < shukon\ ;
+大関 < oozeki\ ;
+旧詠 < kyuuei\ ;
+今回 < konkai\ ;
+日誌 < nisshi\ ;
+早計 < soukei\ ;
+代参 < daisan\ ;
+大門 < daimon\ ;
+本拠 < honkyo\ ;
+有望 < yuubou\ ;
+整頓 < seiton\ ;
+旧記 < kyuuki\ ;
+妄言 < mougen\ ;
+旅路 < tabiji\ ;
+豪快 < goukai\ ;
+早見 < hayami\ ;
+電顕 < denken\ ;
+外電 < gaiden\ ;
+板塀 < itabei\ ;
+片言 < hengen\ ;
+罪状 < zaijou\ ;
+玩弄 < ganrou\ ;
+奉遷 < housen\ ;
+本懐 < honkai\ ;
+丹朱 < tanshu\ ;
+丸木 < maruki\ ;
+学事 < gakuji\ ;
+月旦 < gettan\ ;
+夜長 < yonaga\ ;
+面談 < mendan\ ;
+奉迎 < hougei\ ;
+有数 < yuusuu\ ;
+媒染 < baisen\ ;
+繁閑 < hankan\ ;
+仲値 < nakane\ ;
+上水 < jousui\ ;
+誘電 < yuuden\ ;
+晴着 < haregi\ ;
+罰点 < batten\ ;
+大鎌 < oogama\ ;
+亡妻 < bousai\ ;
+青豆 < aomame\ ;
+貧困 < hinkon\ ;
+仲保 < chuuho\ ;
+珍奇 < chinki\ ;
+大鍋 < oonabe\ ;
+最早 < mohaya\ ;
+万民 < banmin\ ;
+乗手 < norite\ ;
+仏参 < bussan\ ;
+一泊 < ippaku\ ;
+主文 < shubun\ ;
+現勢 < gensei\ ;
+老幼 < rouyou\ ;
+老年 < rounen\ ;
+三死 < sanshi\ ;
+他力 < tariki\ ;
+本性 < honsei\ ;
+翻弄 < honrou\ ;
+財団 < zaidan\ ;
+誌面 < shimen\ ;
+万死 < banshi\ ;
+万歳 < manzai\ ;
+子供 < kodomo\ ;
+存亡 < sonbou\ ;
+二子 < futago\ ;
+土下座 < dogeza\ ;
+順番 < junban\ ;
+雲集 < unshuu\ ;
+雲雀 < hibari\ ;
+現前 < genzen\ ;
+介卵 < kairan\ ;
+大鉈 < oonata\ ;
+難題 < nandai\ ;
+本影 < hon''ei\ ;
+並木 < namiki\ ;
+斜辺 < shahen\ ;
+賢主 < kenshu\ ;
+書斎 < shosai\ ;
+羊毛 < youmou\ ;
+大金 < taikin\ ;
+仁君 < jinkun\ ;
+不様 < buzama\ ;
+人員 < jin''in\ ;
+中日 < nakabi\ ;
+末弟 < mattei\ ;
+人品 < jinpin\ ;
+三権 < sanken\ ;
+一次 < ichiji\ ;
+熱風 < neppuu\ ;
+上様 < uezama\ ;
+大酒 < oozake\ ;
+人命 < jinmei\ ;
+縦陣 < juujin\ ;
+嫁御 < yomego\ ;
+賞与 < shouyo\ ;
+本店 < honten\ ;
+雲間 < kumoma\ ;
+始終 < shijuu\ ;
+論賛 < ronsan\ ;
+仏典 < butten\ ;
+三業 < sangou\ ;
+代任 < dainin\ ;
+羨望 < senbou\ ;
+試験 < shiken\ ;
+世柄 < yogara\ ;
+語録 < goroku\ ;
+天道 < tendou\ ;
+人参 < ninjin\ ;
+天運 < ten''un\ ;
+一樹 < ichiju\ ;
+今冬 < kontou\ ;
+大道 < daidou\ ;
+慰安者 < iansha\ ;
+離隔 < rikaku\ ;
+暴民 < boumin\ ;
+離陸 < ririku\ ;
+老害 < rougai\ ;
+文選 < bunsen\ ;
+木工 < mokkou\ ;
+乱射 < ransha\ ;
+天辺 < teppen\ ;
+責務 < sekimu\ ;
+文運 < bun''un\ ;
+旅装 < ryosou\ ;
+方言 < hougen\ ;
+三桁 < miketa\ ;
+老嬢 < roujou\ ;
+聖像 < seizou\ ;
+旅行 < ryokou\ ;
+難関 < nankan\ ;
+新語 < shingo\ ;
+大輪 < tairin\ ;
+本山 < honzan\ ;
+天軍 < tengun\ ;
+三枚 < sanmai\ ;
+板前 < itamae\ ;
+現代 < gendai\ ;
+頻死 < hinshi\ ;
+本屋 < hon''ya\ ;
+三板 < sanpan\ ;
+類本 < ruihon\ ;
+声門 < seimon\ ;
+現今 < genkon\ ;
+享受 < kyouju\ ;
+風師 < fuushi\ ;
+類書 < ruisho\ ;
+本尊 < honzon\ ;
+上期 < kamiki\ ;
+熱闘 < nettou\ ;
+珍味 < chinmi\ ;
+書房 < shobou\ ;
+一案 < ichian\ ;
+三本 < sanbon\ ;
+養分 < youbun\ ;
+豪奢 < gousha\ ;
+改題 < kaidai\ ;
+上書 < jousho\ ;
+木屑 < kikuzu\ ;
+仏会 < butsue\ ;
+亡命 < boumei\ ;
+断言 < dangen\ ;
+外遊 < gaiyuu\ ;
+玉屋 < tamaya\ ;
+仕上 < shiage\ ;
+願望 < ganmou\ ;
+爬虫 < hachuu\ ;
+献本 < kenpon\ ;
+最悪 < saiaku\ ;
+独演 < dokuen\ ;
+願書 < gansho\ ;
+末孫 < masson\ ;
+暗流 < anryuu\ ;
+末子 < masshi\ ;
+翠嵐 < suiran\ ;
+食器 < shokki\ ;
+大足 < ooashi\ ;
+亡友 < bouyuu\ ;
+今今 < imaima\ ;
+今人 < konjin\ ;
+聖人 < seijin\ ;
+獣性 < juusei\ ;
+雲量 < unryou\ ;
+上旬 < joujun\ ;
+一朝 < itchou\ ;
+夢路 < yumeji\ ;
+一服 < ippuku\ ;
+談論 < danron\ ;
+両拳 < janken\ ;
+飯台 < handai\ ;
+日航 < nikkou\ ;
+罷業 < higyou\ ;
+人偏 < ninben\ ;
+外輪 < gairin\ ;
+天賜 < tenshi\ ;
+三方 < sanpou\ ;
+青藍 < seiran\ ;
+韲物 < aemono\ ;
+主従 < shujuu\ ;
+断裁 < dansai\ ;
+人倫 < jinrin\ ;
+請訓 < seikun\ ;
+猥本 < waihon\ ;
+乾坤 < kenkon\ ;
+乱売 < ranbai\ ;
+変遷 < hensen\ ;
+題材 < daizai\ ;
+外車 < gaisha\ ;
+両手 < ryoute\ ;
+七日 < nanoka\ ;
+変造 < henzou\ ;
+願文 < ganmon\ ;
+奉行 < bugyou\ ;
+仁人 < jinjin\ ;
+本妻 < honsai\ ;
+風害 < fuugai\ ;
+嫉妬 < shitto\ ;
+謝罪 < shazai\ ;
+人体 < nintei\ ;
+文豪 < bungou\ ;
+施薬 < seyaku\ ;
+斜視 < shashi\ ;
+数軒 < suuken\ ;
+罪業 < zaigou\ ;
+電車 < densha\ ;
+類推 < ruisui\ ;
+変転 < henten\ ;
+一擲 < itteki\ ;
+猛暑 < mousho\ ;
+諸芸 < shogei\ ;
+予告 < yokoku\ ;
+書店 < shoten\ ;
+本塁 < honrui\ ;
+燻製 < kunsei\ ;
+離郷 < rikyou\ ;
+絵日記 < enikki\ ;
+青草 < aokusa\ ;
+外貌 < gaibou\ ;
+中座 < chuuza\ ;
+罰杯 < bappai\ ;
+頸木 < kubiki\ ;
+乙夜 < otsuya\ ;
+頓死 < tonshi\ ;
+春着 < harugi\ ;
+編隊 < hentai\ ;
+読誦 < dokuju\ ;
+京人 < keijin\ ;
+猛攻 < moukou\ ;
+二割 < niwari\ ;
+木型 < kigata\ ;
+望外 < bougai\ ;
+暮春 < boshun\ ;
+主導 < shudou\ ;
+娯楽 < goraku\ ;
+陀羅尼 < darani\ ;
+暴政 < bousei\ ;
+誤謬 < gobyuu\ ;
+亀卜 < kiboku\ ;
+読解 < dokkai\ ;
+主宰 < shusai\ ;
+王国 < oukoku\ ;
+多読 < tadoku\ ;
+乗場 < noriba\ ;
+夢見 < yumemi\ ;
+両度 < ryoudo\ ;
+頻数 < hinsuu\ ;
+誤読 < godoku\ ;
+晦渋 < kaijuu\ ;
+不惑 < fuwaku\ ;
+敗軍 < haigun\ ;
+来会 < raikai\ ;
+一手 < hitote\ ;
+羅方位 < rahoui\ ;
+来任 < rainin\ ;
+曾孫 < himago\ ;
+誤訳 < goyaku\ ;
+朗報 < rouhou\ ;
+多角 < takaku\ ;
+万感 < bankan\ ;
+奈落 < naraku\ ;
+夜襲 < yashuu\ ;
+犠牛 < gigyuu\ ;
+春画 < shunga\ ;
+条件 < jouken\ ;
+散財 < sanzai\ ;
+随順 < zuijun\ ;
+来世 < raisei\ ;
+縦貫 < juukan\ ;
+不徳 < futoku\ ;
+緑雨 < ryokuu\ ;
+外見 < sotomi\ ;
+昏睡 < konsui\ ;
+詩選 < shisen\ ;
+面繋 < omogai\ ;
+新芽 < shinme\ ;
+数詞 < suushi\ ;
+明眸 < meibou\ ;
+頭数 < tousuu\ ;
+暴挙 < boukyo\ ;
+隔離 < kakuri\ ;
+本命 < honmei\ ;
+類形 < ruikei\ ;
+中子 < nakago\ ;
+曳子 < hikiko\ ;
+天蚕 < tensan\ ;
+女給 < jokyuu\ ;
+電解 < denkai\ ;
+月報 < geppou\ ;
+最大 < saidai\ ;
+燻蒸 < kunjou\ ;
+云云 < un''nun\ ;
+隙間 < sukima\ ;
+最外 < saigai\ ;
+改造 < kaizou\ ;
+大虎 < oodora\ ;
+陵駕 < ryouga\ ;
+売買 < baibai\ ;
+丸太 < maruta\ ;
+村会 < sonkai\ ;
+美徳 < bitoku\ ;
+未収 < mishuu\ ;
+一応 < ichiou\ ;
+服地 < fukuji\ ;
+謝礼 < sharei\ ;
+木叢 < komura\ ;
+一徳 < ittoku\ ;
+二人 < futari\ ;
+老兵 < rouhei\ ;
+獄屋 < gokuya\ ;
+煎餅 < senbei\ ;
+上帯 < uwaobi\ ;
+雑踏 < zattou\ ;
+文藻 < bunsou\ ;
+熱賛 < nessan\ ;
+教護 < kyougo\ ;
+乳児 < nyuuji\ ;
+群居 < gunkyo\ ;
+纏綿 < tenmen\ ;
+異体字 < itaiji\ ;
+猛悪 < mouaku\ ;
+大蔵 < ookura\ ;
+万巻 < mangan\ ;
+日程 < nittei\ ;
+丁度 < choudo\ ;
+天蓋 < tengai\ ;
+教諭 < kyouyu\ ;
+一座 < ichiza\ ;
+乗合 < noriai\ ;
+音標 < onpyou\ ;
+乗号 < jougou\ ;
+暴悪 < bouaku\ ;
+風向 < fuukou\ ;
+本分 < honbun\ ;
+救護 < kyuugo\ ;
+縦覧 < juuran\ ;
+服喪 < fukumo\ ;
+木剣 < bokken\ ;
+大著 < taicho\ ;
+擬革 < gikaku\ ;
+論者 < ronsha\ ;
+論考 < ronkou\ ;
+音楽 < ongaku\ ;
+朗吟 < rougin\ ;
+雪見 < yukimi\ ;
+乱倫 < ranrin\ ;
+雲表 < unpyou\ ;
+牛皮 < gyuuhi\ ;
+上層 < jousou\ ;
+難訓 < nankun\ ;
+老体 < routai\ ;
+陸離 < rikuri\ ;
+断罪 < danzai\ ;
+訓電 < kunden\ ;
+牢番 < rouban\ ;
+時流 < jiryuu\ ;
+斬罪 < zanzai\ ;
+旅籠 < hatago\ ;
+晴朗 < seirou\ ;
+三封 < sanpuu\ ;
+熱誠 < nessei\ ;
+三寸 < sanzun\ ;
+老人 < roujin\ ;
+晴曇 < seidon\ ;
+風前 < fuuzen\ ;
+陣風 < jinpuu\ ;
+集貨 < shuuka\ ;
+隧道 < suidou\ ;
+最善 < saizen\ ;
+罪悪 < zaiaku\ ;
+暖房 < danbou\ ;
+敬虔 < keiken\ ;
+隣邦 < rinpou\ ;
+乱交 < rankou\ ;
+老中 < roujuu\ ;
+女神 < megami\ ;
+青筋 < aosuji\ ;
+諸種 < shoshu\ ;
+朋友 < houyuu\ ;
+文芸 < bungei\ ;
+陰陽 < on''you\ ;
+丁寧 < teinei\ ;
+一対 < ittsui\ ;
+義塾 < gijuku\ ;
+大船 < oobune\ ;
+青竹 < aodake\ ;
+革砥 < kawato\ ;
+雑誌 < zasshi\ ;
+片眼 < katame\ ;
+断線 < dansen\ ;
+乱世 < ransei\ ;
+熟議 < jukugi\ ;
+隠逸 < initsu\ ;
+大臣 < daijin\ ;
+美学 < bigaku\ ;
+政論 < seiron\ ;
+服務 < fukumu\ ;
+青空 < aozora\ ;
+有半 < yuuhan\ ;
+雑言 < zougon\ ;
+同意語 < douigo\ ;
+下姓 < geshou\ ;
+妙王 < myouou\ ;
+旅程 < ryotei\ ;
+奉納 < hounou\ ;
+熟語 < jukugo\ ;
+狙撃 < sogeki\ ;
+猶太 < yudaya\ ;
+夜船 < yofune\ ;
+大胆 < daitan\ ;
+上天 < jouten\ ;
+早産 < souzan\ ;
+大股 < oomata\ ;
+最南 < sainan\ ;
+天聞 < tenbun\ ;
+訴追 < sotsui\ ;
+詠誦 < eishou\ ;
+晦日 < misoka\ ;
+記録 < kiroku\ ;
+書名 < shomei\ ;
+万天 < banten\ ;
+中和 < chuuwa\ ;
+改訂 < kaitei\ ;
+日産 < nissan\ ;
+面相 < mensou\ ;
+評議 < hyougi\ ;
+大老 < tairou\ ;
+風体 < fuutei\ ;
+牝牛 < meushi\ ;
+増配 < zouhai\ ;
+一女 < ichijo\ ;
+上場 < joujou\ ;
+大群 < taigun\ ;
+院長 < inchou\ ;
+中句 < chuuku\ ;
+三塁 < sanrui\ ;
+隻語 < sekigo\ ;
+曇天 < donten\ ;
+月光 < gekkou\ ;
+霊能 < reinou\ ;
+姻族 < inzoku\ ;
+丹前 < tanzen\ ;
+丸剤 < ganzai\ ;
+一夢 < ichimu\ ;
+最初 < saisho\ ;
+一夜 < hitoyo\ ;
+万場 < manjou\ ;
+諸相 < shosou\ ;
+奇策 < kisaku\ ;
+婚姻 < kon''in\ ;
+与圧 < yoatsu\ ;
+熔解 < youkai\ ;
+多肉 < taniku\ ;
+暗幕 < anmaku\ ;
+隆運 < ryuuun\ ;
+韋駄天 < idaten\ ;
+誘致 < yuuchi\ ;
+暖帯 < dantai\ ;
+下国 < gekoku\ ;
+暫定 < zantei\ ;
+断種 < danshu\ ;
+独往 < dokuou\ ;
+三囲 < mitsui\ ;
+外聞 < gaibun\ ;
+特派 < tokuha\ ;
+主傘 < shusan\ ;
+為政家 < iseika\ ;
+天網 < tenmou\ ;
+陶酔 < tousui\ ;
+書写 < shosha\ ;
+二度目 < nidome\ ;
+獄吏 < gokuri\ ;
+独座 < dokuza\ ;
+一国 < ikkoku\ ;
+領布 < ryoufu\ ;
+片片 < henpen\ ;
+一因 < ichiin\ ;
+霧笛 < muteki\ ;
+陸運 < rikuun\ ;
+無闇 < muyami\ ;
+雄蜂 < obachi\ ;
+絹雲 < ken''un\ ;
+煮豆 < nimame\ ;
+熔融 < youyuu\ ;
+主体 < shutai\ ;
+訓連 < kunren\ ;
+万善 < manzen\ ;
+文系 < bunkei\ ;
+施療 < seryou\ ;
+主任 < shunin\ ;
+敬老 < keirou\ ;
+順当 < juntou\ ;
+陽転 < youten\ ;
+日焼 < hiyake\ ;
+上品 < joubon\ ;
+主人 < shujin\ ;
+雄蘂 < yuuzui\ ;
+難船 < nansen\ ;
+隆起 < ryuuki\ ;
+姻戚 < inseki\ ;
+類同 < ruidou\ ;
+誦経 < zukyou\ ;
+早瀬 < hayase\ ;
+書体 < shotai\ ;
+緒論 < choron\ ;
+主上 < shujou\ ;
+最中 < monaka\ ;
+雑菌 < zakkin\ ;
+文範 < bunpan\ ;
+新盆 < niibon\ ;
+増資 < zoushi\ ;
+最上 < mogami\ ;
+大筋 < oosuji\ ;
+媒体 < baitai\ ;
+爆破 < bakuha\ ;
+独居 < dokkyo\ ;
+特権 < tokken\ ;
+訳語 < yakugo\ ;
+中佐 < chuusa\ ;
+万口 < bankou\ ;
+雑草 < zassou\ ;
+上半 < jouhan\ ;
+陸路 < rikuro\ ;
+媒介 < baikai\ ;
+天空 < tenkuu\ ;
+緒言 < chogen\ ;
+需給 < jukyuu\ ;
+与力 < yoriki\ ;
+大空 < oozora\ ;
+外米 < gaimai\ ;
+天稟 < tenpin\ ;
+中二 < chuuni\ ;
+奇癖 < kiheki\ ;
+敏腕 < binwan\ ;
+天秤 < tenbin\ ;
+索麺 < soumen\ ;
+群像 < gunzou\ ;
+奮然 < funzen\ ;
+万劫 < mangou\ ;
+上前 < uwamae\ ;
+雌花 < mebana\ ;
+奇病 < kibyou\ ;
+青物 < aomono\ ;
+天神 < tenjin\ ;
+然迄 < samade\ ;
+題名 < daimei\ ;
+題号 < daigou\ ;
+大祭 < taisai\ ;
+三分 < sanpun\ ;
+義侠 < gikyou\ ;
+総裏 < souura\ ;
+物権 < bukken\ ;
+夜空 < yozora\ ;
+総裁 < sousai\ ;
+無量 < muryou\ ;
+雀荘 < jansou\ ;
+緊褌 < kinkon\ ;
+世俗 < sezoku\ ;
+牛歩 < gyuuho\ ;
+旧派 < kyuuha\ ;
+羅北 < rahoku\ ;
+細魚 < sayori\ ;
+下僕 < geboku\ ;
+大砲 < taihou\ ;
+数等 < suutou\ ;
+女滝 < medaki\ ;
+警手 < keishu\ ;
+随行 < zuikou\ ;
+如法 < nyohou\ ;
+一円 < ichien\ ;
+一具 < ichigu\ ;
+数寄屋 < sukiya\ ;
+編著 < hencho\ ;
+爛爛 < ranran\ ;
+暖地 < danchi\ ;
+綸言 < ringen\ ;
+放胆 < houtan\ ;
+訓諭 < kun''yu\ ;
+読破 < dokuha\ ;
+三倍 < sanbai\ ;
+猛勇 < mouyuu\ ;
+類例 < ruirei\ ;
+訓誡 < kunkai\ ;
+謹書 < kinsho\ ;
+明朗 < meirou\ ;
+天盃 < tenpai\ ;
+暴動 < boudou\ ;
+堤防 < teibou\ ;
+討論 < touron\ ;
+日毎 < higoto\ ;
+不仲 < funaka\ ;
+大皿 < oozara\ ;
+三体 < santai\ ;
+同意義 < douigi\ ;
+文盲 < monmou\ ;
+熱線 < nessen\ ;
+熟考 < jukkou\ ;
+猟具 < ryougu\ ;
+墓表 < bohyou\ ;
+昵懇 < jikkon\ ;
+女流 < joryuu\ ;
+霊知 < reichi\ ;
+上代 < joudai\ ;
+奇特 < kidoku\ ;
+美俗 < bizoku\ ;
+易断 < ekidan\ ;
+不乙 < fuitsu\ ;
+罪名 < zaimei\ ;
+昏昏 < konkon\ ;
+雑纂 < zassan\ ;
+妙案 < myouan\ ;
+女波 < menami\ ;
+離籍 < riseki\ ;
+明断 < meidan\ ;
+敬礼 < keirei\ ;
+雷神 < raijin\ ;
+調理 < chouri\ ;
+断然 < danzen\ ;
+明敏 < meibin\ ;
+版権 < hanken\ ;
+烈風 < reppuu\ ;
+万万 < manman\ ;
+言論 < genron\ ;
+陸行 < rikkou\ ;
+大生 < daisei\ ;
+雀羅 < jakura\ ;
+丁亥 < teigai\ ;
+議席 < giseki\ ;
+美事 < migoto\ ;
+姑息 < kosoku\ ;
+繁盛 < hanjou\ ;
+一人 < hitori\ ;
+放縦 < houjuu\ ;
+論点 < ronten\ ;
+詩編 < shihen\ ;
+日様 < hisama\ ;
+陪観 < baikan\ ;
+一二 < ichini\ ;
+素首 < sokubi\ ;
+爛漫 < ranman\ ;
+特措 < tokuso\ ;
+試練 < shiren\ ;
+言訳 < iiwake\ ;
+培養 < baiyou\ ;
+言言 < gengen\ ;
+総菜 < souzai\ ;
+多病 < tabyou\ ;
+撤退 < tettai\ ;
+改編 < kaihen\ ;
+無賃 < muchin\ ;
+雄編 < yuuhen\ ;
+縁組 < engumi\ ;
+特技 < tokugi\ ;
+教祖 < kyouso\ ;
+物損 < busson\ ;
+要項 < youkou\ ;
+罰俸 < bappou\ ;
+姉弟 < shimai\ ;
+離礁 < rishou\ ;
+音域 < on''iki\ ;
+報道 < houdou\ ;
+旭暉 < kyokki\ ;
+絶賛 < zessan\ ;
+如来 < nyorai\ ;
+大物 < oomono\ ;
+露滴 < roteki\ ;
+続行 < zokkou\ ;
+版本 < hanpon\ ;
+暖冬 < dantou\ ;
+電番 < denban\ ;
+大袈裟 < oogesa\ ;
+早晩 < souban\ ;
+霊獣 < reijuu\ ;
+編纂 < hensan\ ;
+新派 < shinpa\ ;
+雑種 < zasshu\ ;
+雪目 < yukime\ ;
+旧時 < kyuuji\ ;
+誕生 < tanjou\ ;
+昼寝 < hirune\ ;
+事務屋 < jimuya\ ;
+浮世絵 < ukiyoe\ ;
+特恵 < tokkei\ ;
+煙草 < tabako\ ;
+琵琶湖 < biwako\ ;
+謄本 < touhon\ ;
+改竄 < kaizan\ ;
+特快 < tokkai\ ;
+事務家 < jimuka\ ;
+日数 < hikazu\ ;
+断水 < dansui\ ;
+妙技 < myougi\ ;
+妻帯 < saitai\ ;
+威喝 < ikatsu\ ;
+煎茶 < sencha\ ;
+雷獣 < raijuu\ ;
+青桐 < aogiri\ ;
+大潮 < ooshio\ ;
+陶芸 < tougei\ ;
+旗日 < hatabi\ ;
+青柳 < aoyagi\ ;
+設置 < setchi\ ;
+物性 < bussei\ ;
+暗中 < anchuu\ ;
+昼夜 < chuuya\ ;
+言葉 < kotoba\ ;
+紡錘 < bousui\ ;
+外灯 < gaitou\ ;
+埼銀 < saigin\ ;
+不可避 < fukahi\ ;
+間鴨 < aigamo\ ;
+霧氷 < muhyou\ ;
+春季 < shunki\ ;
+増置 < zouchi\ ;
+綾羅 < ryoura\ ;
+狂句 < kyouku\ ;
+陳腐 < chinpu\ ;
+報謝 < housha\ ;
+煩累 < hanrui\ ;
+片手 < katate\ ;
+片戸 < katado\ ;
+斑気 < muraki\ ;
+敦煌 < tonkou\ ;
+大波 < oonami\ ;
+断案 < dan''an\ ;
+天水 < tensui\ ;
+外湯 < sotoyu\ ;
+晦冥 < kaimei\ ;
+教父 < kyoufu\ ;
+純銀 < jungin\ ;
+大水 < oomizu\ ;
+外港 < gaikou\ ;
+説法 < seppou\ ;
+見込 < mikomi\ ;
+訪米 < houbei\ ;
+細身 < hosomi\ ;
+文民 < bunmin\ ;
+炭鉱 < tankou\ ;
+旧恩 < kyuuon\ ;
+純金 < junkin\ ;
+事務器 < jimuki\ ;
+夜泊 < yahaku\ ;
+方方 < houbou\ ;
+綿糸 < menshi\ ;
+旨念 < shinen\ ;
+操船 < sousen\ ;
+綾糸 < ayaito\ ;
+電源 < dengen\ ;
+妄念 < mounen\ ;
+西遊 < seiyuu\ ;
+奮戦 < funsen\ ;
+炭酸 < tansan\ ;
+納金 < noukin\ ;
+納采 < nousai\ ;
+観覧 < kanran\ ;
+諸手 < morote\ ;
+音信 < onshin\ ;
+精魂 < seikon\ ;
+夜毎 < yogoto\ ;
+散漫 < sanman\ ;
+緩目 < yurume\ ;
+片影 < hen''ei\ ;
+妄弁 < bouben\ ;
+霊殿 < reiden\ ;
+既得 < kitoku\ ;
+論旨 < ronshi\ ;
+精髄 < seizui\ ;
+御洒落 < oshare\ ;
+事務員 < jimuin\ ;
+埴輪 < haniwa\ ;
+論断 < rondan\ ;
+論文 < ronbun\ ;
+煙管 < kiseru\ ;
+調査 < chousa\ ;
+植木屋 < uekiya\ ;
+無臭 < mushuu\ ;
+靱帯 < jintai\ ;
+明大 < meidai\ ;
+閉館 < heikan\ ;
+諸悪 < shoaku\ ;
+壁画 < hekiga\ ;
+素足 < suashi\ ;
+敵歩 < tekifu\ ;
+雄犬 < osuinu\ ;
+増税 < zouzei\ ;
+墾田 < konden\ ;
+改版 < kaihan\ ;
+父御 < tetego\ ;
+不可誤 < fukago\ ;
+関門 < kanmon\ ;
+大根 < daikon\ ;
+雑炊 < zousui\ ;
+夜業 < yagyou\ ;
+細論 < sairon\ ;
+牧夫 < bokufu\ ;
+文案 < bun''an\ ;
+旅情 < ryojou\ ;
+変死 < henshi\ ;
+外様 < tozama\ ;
+大柄 < oogara\ ;
+御釈迦 < oshaka\ ;
+諸彦 < shogen\ ;
+間際 < magiwa\ ;
+無聊 < buryou\ ;
+長駆 < chouku\ ;
+雲母 < kirara\ ;
+早寝 < hayane\ ;
+西貢 < saigon\ ;
+教派 < kyouha\ ;
+操縦 < soujuu\ ;
+大本 < taihon\ ;
+大望 < taimou\ ;
+論拠 < ronkyo\ ;
+日射 < nissha\ ;
+奉拝 < houhai\ ;
+牧場 < makiba\ ;
+計算 < keisan\ ;
+除籍 < joseki\ ;
+糸遊 < itoyuu\ ;
+難治 < nanchi\ ;
+墨痕 < bokkon\ ;
+印字機 < injiki\ ;
+論戦 < ronsen\ ;
+天明 < tenmei\ ;
+墓石 < boseki\ ;
+墨画 < bokuga\ ;
+難民 < nanmin\ ;
+素読 < sodoku\ ;
+要諦 < youtei\ ;
+天文 < tenmon\ ;
+大方 < ookata\ ;
+硫黄泉 < iousen\ ;
+開門 < kaimon\ ;
+練炭 < rentan\ ;
+閉門 < heimon\ ;
+増益 < zoueki\ ;
+外来 < gairai\ ;
+闇路 < yamiji\ ;
+外材 < gaizai\ ;
+門院 < mon''in\ ;
+納豆 < nattou\ ;
+門限 < mongen\ ;
+方形 < houkei\ ;
+文政 < bunsei\ ;
+女官 < nyokan\ ;
+無給 < mukyuu\ ;
+早大 < soudai\ ;
+要覧 < youran\ ;
+雛段 < suudan\ ;
+面子 < mentsu\ ;
+数枚 < suumai\ ;
+雨樋 < amadoi\ ;
+雄渾 < yuukon\ ;
+複音 < fukuon\ ;
+明君 < meikun\ ;
+険相 < kensou\ ;
+特務 < tokumu\ ;
+物品 < buppin\ ;
+増産 < zousan\ ;
+損金 < sonkin\ ;
+長閑 < nodoka\ ;
+語族 < gozoku\ ;
+偉丈夫 < ijoufu\ ;
+論弁 < ronben\ ;
+日報 < nippou\ ;
+門鑑 < monkan\ ;
+堕落 < daraku\ ;
+関連 < kanren\ ;
+煮物 < nimono\ ;
+旅寝 < tabine\ ;
+陳皮 < chinpi\ ;
+布海苔 < funori\ ;
+紫蘭 < shiran\ ;
+開銀 < kaigin\ ;
+無策 < musaku\ ;
+謦咳 < keigai\ ;
+妥協 < dakyou\ ;
+大技 < oowaza\ ;
+精錬 < seiren\ ;
+旧土 < kyuudo\ ;
+電断 < dendan\ ;
+霰弾 < sandan\ ;
+教案 < kyouan\ ;
+妙味 < myoumi\ ;
+明初 < meisho\ ;
+絞罪 < kouzai\ ;
+昨今 < sakkon\ ;
+絨緞 < juutan\ ;
+方寸 < housun\ ;
+変改 < henkai\ ;
+零敗 < reihai\ ;
+奥妙 < oumyou\ ;
+散文 < sanbun\ ;
+散散 < sanzan\ ;
+土龍 < mogura\ ;
+縦断 < juudan\ ;
+謚号 < shigou\ ;
+女囚 < joshuu\ ;
+断定 < dantei\ ;
+論定 < rontei\ ;
+塵界 < jinkai\ ;
+論孟 < ronmou\ ;
+日和 < hiyori\ ;
+網状 < moujou\ ;
+大形 < oogyou\ ;
+慰安会 < iankai\ ;
+難文 < nanbun\ ;
+披露目 < hirome\ ;
+米飯 < beihan\ ;
+網版 < amihan\ ;
+売文 < baibun\ ;
+日向 < hinata\ ;
+精農 < seinou\ ;
+新婦 < shinpu\ ;
+防空 < boukuu\ ;
+天底 < tentei\ ;
+太平 < taihei\ ;
+奥地 < okuchi\ ;
+大店 < oodana\ ;
+雑書 < zassho\ ;
+閣議 < kakugi\ ;
+灰貝 < haigai\ ;
+大幅 < oohaba\ ;
+大師 < daishi\ ;
+結納 < yuinou\ ;
+旅団 < ryodan\ ;
+繁忙 < hanbou\ ;
+地髪 < jigami\ ;
+防禦 < bougyo\ ;
+細胞 < saibou\ ;
+日勤 < nikkin\ ;
+点茶 < tencha\ ;
+長途 < chouto\ ;
+予備馬 < yobiba\ ;
+気化器 < kikaki\ ;
+摘芽 < tekiga\ ;
+雄松 < omatsu\ ;
+早出 < hayade\ ;
+奇妙 < kimyou\ ;
+外径 < gaikei\ ;
+外征 < gaisei\ ;
+接頭 < settou\ ;
+訓点 < kunten\ ;
+武者絵 < mushae\ ;
+論外 < rongai\ ;
+夜店 < yomise\ ;
+絃線 < gensen\ ;
+諾否 < dakuhi\ ;
+無痛 < mutsuu\ ;
+無病 < mubyou\ ;
+壟断 < roudan\ ;
+片刃 < kataha\ ;
+敵影 < tekiei\ ;
+絹目 < kinume\ ;
+煮汁 < nijiru\ ;
+裾野 < susono\ ;
+夜市 < yoichi\ ;
+大山 < taizan\ ;
+諸君 < shokun\ ;
+霜害 < sougai\ ;
+改易 < kaieki\ ;
+壮挙 < soukyo\ ;
+紅葉 < momiji\ ;
+斎宮 < saiguu\ ;
+難所 < nansho\ ;
+奪取 < dasshu\ ;
+太守 < taishu\ ;
+斉射 < seisha\ ;
+変形 < henkei\ ;
+素肌 < suhada\ ;
+太字 < futoji\ ;
+天孫 < tenson\ ;
+雑損 < zasson\ ;
+日傘 < higasa\ ;
+革具 < kawagu\ ;
+面前 < menzen\ ;
+霊峰 < reihou\ ;
+隷書 < reisho\ ;
+角皮 < kakuhi\ ;
+数年 < suunen\ ;
+奮励 < funrei\ ;
+非力 < hiriki\ ;
+諭告 < yukoku\ ;
+風土記 < fudoki\ ;
+文官 < bunkan\ ;
+旬余 < jun''yo\ ;
+紅茶 < koucha\ ;
+細緻 < saichi\ ;
+埋蔵 < maizou\ ;
+霊山 < reizan\ ;
+裏門 < uramon\ ;
+電工 < denkou\ ;
+斜塔 < shatou\ ;
+夜寒 < yozamu\ ;
+塩煮 < shioni\ ;
+諸刃 < moroha\ ;
+埋葬 < maisou\ ;
+綿毛 < watage\ ;
+結社 < kessha\ ;
+褒貶 < houhen\ ;
+累累 < ruirui\ ;
+地霊 < chirei\ ;
+夜学 < yagaku\ ;
+日伊 < nichii\ ;
+角界 < kakkai\ ;
+敏感 < binkan\ ;
+敷居 < shikii\ ;
+炭肺 < tanhai\ ;
+煙毒 < endoku\ ;
+熱意 < netsui\ ;
+地階 < chikai\ ;
+旅券 < ryoken\ ;
+隣村 < rinson\ ;
+面倒 < mendou\ ;
+日中 < hinaka\ ;
+契合 < keigou\ ;
+霊媒 < reibai\ ;
+米銭 < beisen\ ;
+語学 < gogaku\ ;
+誘導 < yuudou\ ;
+雑感 < zakkan\ ;
+斎場 < saijou\ ;
+女体 < nyotai\ ;
+面体 < mentei\ ;
+奉呈 < houtei\ ;
+撃破 < gekiha\ ;
+面会 < menkai\ ;
+売店 < baiten\ ;
+論叢 < ronsou\ ;
+電子 < denshi\ ;
+爵位 < shakui\ ;
+女人 < nyonin\ ;
+絶版 < zeppan\ ;
+雪崩 < nadare\ ;
+紛紛 < funpun\ ;
+壮年 < sounen\ ;
+大型 < oogata\ ;
+純綿 < junmen\ ;
+塩湯 < shioyu\ ;
+女中 < jochuu\ ;
+門衛 < mon''ei\ ;
+垂訓 < suikun\ ;
+防犯 < bouhan\ ;
+熱帯 < nettai\ ;
+焚火 < takibi\ ;
+改悪 < kaiaku\ ;
+純系 < junkei\ ;
+奥伝 < okuden\ ;
+塩浴 < enyoku\ ;
+談合 < dangou\ ;
+霊域 < reiiki\ ;
+論判 < ronpan\ ;
+煮方 < nikata\ ;
+熊手 < kumade\ ;
+純粋 < junsui\ ;
+読図 < dokuzu\ ;
+火蓋 < hibuta\ ;
+調和 < chouwa\ ;
+調味 < choumi\ ;
+旅人 < ryojin\ ;
+総数 < sousuu\ ;
+雑巾 < zoukin\ ;
+隅木 < sumiki\ ;
+親疎 < shinso\ ;
+方便 < houben\ ;
+離宮 < rikyuu\ ;
+絢爛 < kenran\ ;
+御河童 < okappa\ ;
+外地 < gaichi\ ;
+塩気 < shioke\ ;
+接近 < sekkin\ ;
+雄弁 < yuuben\ ;
+米軍 < beigun\ ;
+改廃 < kaihai\ ;
+階数 < kaisuu\ ;
+地金 < jigane\ ;
+調印 < chouin\ ;
+籤運 < kujiun\ ;
+濁音 < dakuon\ ;
+大和 < yamato\ ;
+談判 < danpan\ ;
+長蛇 < chouda\ ;
+方今 < houkon\ ;
+紅粉 < beniko\ ;
+地酒 < jizake\ ;
+隻影 < sekiei\ ;
+土鍋 < donabe\ ;
+灰色 < haiiro\ ;
+天台 < tendai\ ;
+大君 < taikun\ ;
+陰核 < inkaku\ ;
+細目 < hosome\ ;
+提要 < teiyou\ ;
+火花 < hibana\ ;
+雑居 < zakkyo\ ;
+埋線 < maisen\ ;
+数回 < suukai\ ;
+奕世 < ekisei\ ;
+齦 < haguki\ ;
+大半 < taihan\ ;
+鼈 < suppon\ ;
+褐藻 < kassou\ ;
+黜 < chutsu\ ;
+無毒 < mudoku\ ;
+大匙 < oosaji\ ;
+絶海 < zekkai\ ;
+雄峰 < yuuhou\ ;
+納税 < nouzei\ ;
+土釜 < dogama\ ;
+大勢 < taizei\ ;
+緒戦 < chosen\ ;
+麓 < fumoto\ ;
+大勇 < taiyuu\ ;
+裳裾 < mosuso\ ;
+除核 < jokaku\ ;
+解毒 < gedoku\ ;
+陰暦 < inreki\ ;
+無欲 < muyoku\ ;
+誣告 < bukoku\ ;
+大分 < daibun\ ;
+大刀 < daitou\ ;
+雑婚 < zakkon\ ;
+損耗 < sonmou\ ;
+圧迫 < appaku\ ;
+大凡 < ooyoso\ ;
+随所 < zuisho\ ;
+雅客 < gakaku\ ;
+天兵 < tenpei\ ;
+鵥 < kakesu\ ;
+隠忍 < in''nin\ ;
+除服 < jofuku\ ;
+鴬 < uguisu\ ;
+大全 < taizen\ ;
+鴎 < kamome\ ;
+電命 < denmei\ ;
+補註 < hochuu\ ;
+摸牌 < moupai\ ;
+愛煙家 < aienka\ ;
+部屋着 < heyagi\ ;
+霊剣 < reiken\ ;
+数名 < suumei\ ;
+表音 < hyouon\ ;
+予備費 < yobihi\ ;
+外勤 < gaikin\ ;
+随感 < zuikan\ ;
+鱸 < suzuki\ ;
+炯眼 < keigan\ ;
+鱰 < shiira\ ;
+夜凪 < yonagi\ ;
+随想 < zuisou\ ;
+鰹 < katsuo\ ;
+推論 < suiron\ ;
+鰯 < iwashi\ ;
+変名 < henmei\ ;
+給油 < kyuuyu\ ;
+鰚 < haraka\ ;
+終焉 < shuuen\ ;
+鰆 < sawara\ ;
+熱型 < nekkei\ ;
+雷同 < raidou\ ;
+霧中 < muchuu\ ;
+鯱 < shachi\ ;
+鯰 < namazu\ ;
+鯨 < kujira\ ;
+鯣 < surume\ ;
+数千 < suusen\ ;
+数十 < suujuu\ ;
+要用 < youyou\ ;
+続映 < zokuei\ ;
+埴生 < hanyuu\ ;
+外出 < sotode\ ;
+雲呑 < wantan\ ;
+鮪 < maguro\ ;
+結滞 < kettai\ ;
+鮖 < kajika\ ;
+炉端 < robata\ ;
+雑報 < zappou\ ;
+累犯 < ruihan\ ;
+推計 < suikei\ ;
+照応 < shouou\ ;
+縫合 < hougou\ ;
+四隣 < shirin\ ;
+外典 < gaiten\ ;
+瀘過器 < rokaki\ ;
+四隅 < yosumi\ ;
+堅牢 < kenrou\ ;
+火縄 < hinawa\ ;
+変動 < hendou\ ;
+随従 < zuijuu\ ;
+雄大 < yuudai\ ;
+文例 < bunrei\ ;
+難問 < nanmon\ ;
+教唆 < kyousa\ ;
+探訪 < tanbou\ ;
+捻転 < nenten\ ;
+教員 < kyouin\ ;
+図録 < zuroku\ ;
+大代 < daidai\ ;
+補助員 < hojoin\ ;
+裏襟 < uraeri\ ;
+土足 < dosoku\ ;
+外債 < gaisai\ ;
+授賞 < jushou\ ;
+見物 < mimono\ ;
+天丼 < tendon\ ;
+大乱 < tairan\ ;
+照度 < shoudo\ ;
+文人 < bunjin\ ;
+大乗 < daijou\ ;
+売品 < baihin\ ;
+天与 < ten''yo\ ;
+地謡 < jiutai\ ;
+製茶 < seicha\ ;
+夜伽 < yotogi\ ;
+多作 < tasaku\ ;
+長者 < chouja\ ;
+売名 < baimei\ ;
+塊根 < kaikon\ ;
+焚書 < funsho\ ;
+摂生 < sessei\ ;
+関空 < kankuu\ ;
+無明 < mumyou\ ;
+比丘尼 < bikuni\ ;
+国運 < kokuun\ ;
+閉経 < heikei\ ;
+血餅 < keppei\ ;
+電停 < dentei\ ;
+数値 < suuchi\ ;
+関税 < kanzei\ ;
+数倍 < suubai\ ;
+夜中 < yonaka\ ;
+散兵 < sanpei\ ;
+外人 < gaijin\ ;
+壇場 < danjou\ ;
+捨身 < sutemi\ ;
+塗料 < toryou\ ;
+素焼 < suyaki\ ;
+煙幕 < enmaku\ ;
+外乱 < gairan\ ;
+雑品 < zappin\ ;
+解散 < kaisan\ ;
+擱座 < kakuza\ ;
+精精 < seizei\ ;
+絶景 < zekkei\ ;
+許容 < kyoyou\ ;
+地裁 < chisai\ ;
+精粉 < seifun\ ;
+鞐 < kohaze\ ;
+捕逸 < hoitsu\ ;
+救助 < kyuujo\ ;
+精米 < seimai\ ;
+改善 < kaizen\ ;
+圧覚 < akkaku\ ;
+数人 < suunin\ ;
+陰徳 < intoku\ ;
+火種 < hidane\ ;
+霞 < kasumi\ ;
+霙 < mizore\ ;
+設定 < settei\ ;
+詩吟 < shigin\ ;
+雛 < hiyoko\ ;
+累減 < ruigen\ ;
+純然 < junzen\ ;
+数万 < suuman\ ;
+変乱 < henran\ ;
+波止場 < hatoba\ ;
+陪従 < baijuu\ ;
+衣鉢 < ihatsu\ ;
+被覆 < hifuku\ ;
+炯炯 < keikei\ ;
+炭火 < sumibi\ ;
+国費 < kokuhi\ ;
+地虫 < mimizu\ ;
+回遊 < kaiyuu\ ;
+観桜 < kan''ou\ ;
+易動度 < idoudo\ ;
+垂範 < suihan\ ;
+難件 < nanken\ ;
+訓導 < kundou\ ;
+鑢 < yasuri\ ;
+絵図面 < ezumen\ ;
+敗亡 < haibou\ ;
+売人 < bainin\ ;
+潮間 < shioma\ ;
+裸婦画 < rafuga\ ;
+離乳 < rinyuu\ ;
+裏芸 < uragei\ ;
+回転 < kaiten\ ;
+場数 < bakazu\ ;
+火皿 < hizara\ ;
+歩一歩 < hoippo\ ;
+増大 < zoudai\ ;
+縁先 < ensaki\ ;
+三十路 < misoji\ ;
+売上 < uriage\ ;
+雑俳 < zappai\ ;
+国語 < kokugo\ ;
+錺 < kazari\ ;
+経書 < keisho\ ;
+改元 < kaigen\ ;
+換算 < kanzan\ ;
+粗粗 < araara\ ;
+炊爨 < suisan\ ;
+激語 < gekigo\ ;
+紡毛 < boumou\ ;
+無心 < mushin\ ;
+紫檀 < shitan\ ;
+縁側 < engawa\ ;
+不沙汰 < busata\ ;
+銍 < chitsu\ ;
+補習 < hoshuu\ ;
+陣屋 < jin''ya\ ;
+雑件 < zakken\ ;
+鉋 < kan''na\ ;
+不死身 < fujimi\ ;
+雑人 < zounin\ ;
+練兵 < renpei\ ;
+墓場 < hakaba\ ;
+雅俗 < gazoku\ ;
+醪 < moromi\ ;
+放任 < hounin\ ;
+加奈陀 < kanada\ ;
+推考 < suikou\ ;
+純毛 < junmou\ ;
+紅涙 < kourui\ ;
+素樸 < soboku\ ;
+噴飯 < funpan\ ;
+継子 < mamako\ ;
+純正 < junsei\ ;
+覇業 < hagyou\ ;
+火玉 < hidama\ ;
+訪問 < houmon\ ;
+長目 < nagame\ ;
+統御 < tougyo\ ;
+遖 < appare\ ;
+蟻食 < arikui\ ;
+搾油 < sakuyu\ ;
+以遠権 < ienken\ ;
+衿裏 < eriura\ ;
+補給 < hokyuu\ ;
+施餓鬼 < segaki\ ;
+評価 < hyouka\ ;
+門番 < monban\ ;
+図表 < zuhyou\ ;
+迚 < totemo\ ;
+米綿 < beimen\ ;
+塹壕 < zangou\ ;
+三重県 < mieken\ ;
+緑化 < ryokka\ ;
+陋屋 < rouoku\ ;
+地肌 < jihada\ ;
+防弾 < boudan\ ;
+御沙汰 < gosata\ ;
+言外 < gengai\ ;
+総勢 < souzei\ ;
+回訓 < kaikun\ ;
+結成 < kessei\ ;
+軈 < yagate\ ;
+約款 < yakkan\ ;
+躻 < utsuke\ ;
+躮 < segare\ ;
+撤廃 < teppai\ ;
+因襲 < inshuu\ ;
+米粉 < beifun\ ;
+煩労 < hanrou\ ;
+墨刑 < bokkei\ ;
+無学 < mugaku\ ;
+毛繻子 < kejusu\ ;
+描破 < byouha\ ;
+摘果 < tekika\ ;
+陰嚢 < fuguri\ ;
+踵 < kakato\ ;
+不同意 < fudoui\ ;
+拳銃 < kenjuu\ ;
+節酒 < sesshu\ ;
+噴門 < funmon\ ;
+表裏 < hyouri\ ;
+随分 < zuibun\ ;
+絶対 < zettai\ ;
+粗目 < zarame\ ;
+漢音 < kan''on\ ;
+指輪 < yubiwa\ ;
+粉砕 < funsai\ ;
+陰唇 < inshin\ ;
+隣人 < rinjin\ ;
+米突 < mētoru\ ;
+素敵 < suteki\ ;
+増刊 < zoukan\ ;
+増分 < zoubun\ ;
+潮路 < shioji\ ;
+術計 < jukkei\ ;
+納杯 < nouhai\ ;
+衆議 < shuugi\ ;
+点数 < tensuu\ ;
+納本 < nouhon\ ;
+拳道 < kondou\ ;
+陣営 < jin''ei\ ;
+紙数 < shisuu\ ;
+紛擾 < funjou\ ;
+門灯 < montou\ ;
+拠金 < kyokin\ ;
+門火 < kadobi\ ;
+絶好 < zekkou\ ;
+素描 < sobyou\ ;
+袱紗 < fukusa\ ;
+随伴 < zuihan\ ;
+提琴 < teikin\ ;
+記入 < kinyuu\ ;
+在米 < zaibei\ ;
+覚悟 < kakugo\ ;
+増俸 < zouhou\ ;
+増便 < zoubin\ ;
+訁 < gonben\ ;
+漏電 < rouden\ ;
+予備科 < yobika\ ;
+褐炭 < kattan\ ;
+掻痒 < souyou\ ;
+炉棚 < rodana\ ;
+境内 < keidai\ ;
+推知 < suichi\ ;
+火水 < himizu\ ;
+要所 < yousho\ ;
+地税 < chizei\ ;
+絹地 < kinuji\ ;
+江戸前 < edomae\ ;
+精液 < seieki\ ;
+探知 < tanchi\ ;
+器量 < kiryou\ ;
+蠍 < sasori\ ;
+長湯 < nagayu\ ;
+漸近 < zenkin\ ;
+院内 < in''nai\ ;
+場外 < jougai\ ;
+垂準 < suijun\ ;
+無告 < mukoku\ ;
+訓令 < kunrei\ ;
+累年 < ruinen\ ;
+圧神 < asshin\ ;
+米産 < beisan\ ;
+結婚 < kekkon\ ;
+納所 < nassho\ ;
+蛍 < hotaru\ ;
+撤回 < tekkai\ ;
+籠目 < kagome\ ;
+純愛 < jun''ai\ ;
+手鼻 < tebana\ ;
+長波 < chouha\ ;
+垂涎 < zuizen\ ;
+索引 < sakuin\ ;
+純情 < junjou\ ;
+絶品 < zeppin\ ;
+探番 < tanban\ ;
+門歯 < monshi\ ;
+濃紺 < noukon\ ;
+約手 < yakute\ ;
+薺 < nazuna\ ;
+衰耗 < suimou\ ;
+筆頭 < hittou\ ;
+採用 < saiyou\ ;
+捕縛 < hobaku\ ;
+蕨 < warabi\ ;
+粉炭 < funtan\ ;
+陪乗 < baijou\ ;
+蔶 < sonoko\ ;
+圧着 < atsugi\ ;
+垣根 < kakine\ ;
+蓬 < yomogi\ ;
+解剖 < kaibou\ ;
+統合 < tougou\ ;
+土石 < doseki\ ;
+蒅 < sukumo\ ;
+地番 < chiban\ ;
+焚刑 < funkei\ ;
+細字 < hosoji\ ;
+無償 < mushou\ ;
+終夜 < shuuya\ ;
+言上 < gonjou\ ;
+保護区 < hogoku\ ;
+間服 < aifuku\ ;
+浅茅生 < asajiu\ ;
+無傷 < mukizu\ ;
+撤去 < tekkyo\ ;
+茸 < kinoko\ ;
+因縁 < in''nen\ ;
+嘆願 < tangan\ ;
+澱粉 < denpun\ ;
+要害 < yougai\ ;
+紙屋 < kamiya\ ;
+間数 < makazu\ ;
+国禁 < kokkin\ ;
+挿絵 < sashie\ ;
+地獄 < jigoku\ ;
+垂楊 < suiyou\ ;
+土産 < miyage\ ;
+解体 < kaitai\ ;
+接点 < setten\ ;
+国礎 < kokuso\ ;
+膠 < nikawa\ ;
+端麗 < tanrei\ ;
+血膿 < chiumi\ ;
+解任 < kainin\ ;
+紙子 < kamiko\ ;
+炭層 < tansou\ ;
+撤兵 < teppei\ ;
+累増 < ruizou\ ;
+行者 < gyouja\ ;
+烈士 < resshi\ ;
+漫談 < mandan\ ;
+手駒 < tegoma\ ;
+堅塁 < kenrui\ ;
+家具屋 < kaguya\ ;
+手首 < tekubi\ ;
+小気味 < kokimi\ ;
+炉心 < roshin\ ;
+筆鋒 < hippou\ ;
+堂堂 < doudou\ ;
+親和 < shinwa\ ;
+垂木 < taruki\ ;
+場内 < jounai\ ;
+按腹 < anpuku\ ;
+地点 < chiten\ ;
+闇屋 < yamiya\ ;
+絶世 < zessei\ ;
+組合 < kumiai\ ;
+手頃 < tegoro\ ;
+覆土 < fukudo\ ;
+培地 < baichi\ ;
+回礼 < kairei\ ;
+所願 < shogan\ ;
+結党 < kettou\ ;
+純増 < junzou\ ;
+縅 < odoshi\ ;
+製材 < seizai\ ;
+烙印 < rakuin\ ;
+手際 < tegiwa\ ;
+手隙 < tesuki\ ;
+親分 < oyabun\ ;
+等辺 < touhen\ ;
+点在 < tenzai\ ;
+給与 < kyuuyo\ ;
+炭塵 < tanjin\ ;
+粗服 < sofuku\ ;
+域外 < ikigai\ ;
+細君 < saikun\ ;
+天蚕糸 < tegusu\ ;
+糒 < hoshii\ ;
+拙著 < setcho\ ;
+手長 < tenaga\ ;
+闇夜 < yamiyo\ ;
+国王 < kokuou\ ;
+粉本 < funpon\ ;
+圏点 < kenten\ ;
+火床 < hidoko\ ;
+血管 < kekkan\ ;
+経伝 < keiden\ ;
+表皮 < hyouhi\ ;
+笂 < utsubo\ ;
+排水 < haisui\ ;
+国父 < kokufu\ ;
+細分 < saibun\ ;
+竈 < kamado\ ;
+持続 < jizoku\ ;
+握手 < akushu\ ;
+手鍋 < tenabe\ ;
+竜馬 < ryuume\ ;
+窮鼠 < kyuuso\ ;
+城塁 < jourui\ ;
+滑車 < kassha\ ;
+童顔 < dougan\ ;
+秤 < hakari\ ;
+門弟 < montei\ ;
+戦雲 < sen''un\ ;
+禊 < misogi\ ;
+手鉤 < tekagi\ ;
+湾頭 < wantou\ ;
+納品 < nouhin\ ;
+損害 < songai\ ;
+米材 < beizai\ ;
+異文化 < ibunka\ ;
+満面 < manmen\ ;
+竜頭 < ryuuzu\ ;
+喫飯 < kippan\ ;
+索具 < sakugu\ ;
+裏板 < uraita\ ;
+手酌 < tejaku\ ;
+拙者 < sessha\ ;
+砦 < toride\ ;
+長座 < chouza\ ;
+閉山 < heizan\ ;
+地検 < chiken\ ;
+開封 < kaifuu\ ;
+炭労 < tanrou\ ;
+純分 < junbun\ ;
+坦懐 < tankai\ ;
+満開 < mankai\ ;
+累乗 < ruijou\ ;
+推断 < suidan\ ;
+批評 < hihyou\ ;
+授業 < jugyou\ ;
+位相差 < isousa\ ;
+累世 < ruisei\ ;
+血相 < kessou\ ;
+複座 < fukuza\ ;
+濃淡 < noutan\ ;
+手軽 < tegaru\ ;
+在校 < zaikou\ ;
+褥婦 < jokufu\ ;
+長屋 < nagaya\ ;
+血痰 < kettan\ ;
+開始 < kaishi\ ;
+域内 < ikinai\ ;
+長寿 < chouju\ ;
+在来 < zairai\ ;
+裁断 < saidan\ ;
+瓼 < sarake\ ;
+抜萃 < bassui\ ;
+紛争 < funsou\ ;
+手足 < teashi\ ;
+圧服 < appuku\ ;
+紛乱 < funran\ ;
+潰瘍 < kaiyou\ ;
+推挙 < suikyo\ ;
+国母 < kokubo\ ;
+粒度 < ryuudo\ ;
+地文 < chimon\ ;
+薔薇園 < baraen\ ;
+游魚 < yuugyo\ ;
+土木 < doboku\ ;
+米懇 < beikon\ ;
+閣員 < kakuin\ ;
+門外 < mongai\ ;
+捺染 < nassen\ ;
+城兵 < jouhei\ ;
+漁船 < gyosen\ ;
+過渡期 < katoki\ ;
+闇値 < yamine\ ;
+狸 < tanuki\ ;
+持病 < jibyou\ ;
+長女 < choujo\ ;
+国権 < kokken\ ;
+紊乱 < bunran\ ;
+土方 < dokata\ ;
+打診 < dashin\ ;
+圧搾 < assaku\ ;
+演繹 < en''eki\ ;
+補強 < hokyou\ ;
+門地 < monchi\ ;
+立錐 < rissui\ ;
+善隣 < zenrin\ ;
+戦車 < sensha\ ;
+手許 < temoto\ ;
+衰残 < suizan\ ;
+粉屋 < konaya\ ;
+所論 < shoron\ ;
+団欒 < danran\ ;
+満載 < mansai\ ;
+居場所 < ibasho\ ;
+満車 < mansha\ ;
+在所 < zaisho\ ;
+米帝 < beitei\ ;
+喝采 < kassai\ ;
+蛮風 < banpuu\ ;
+懇願 < kongan\ ;
+筆致 < hitchi\ ;
+図柄 < zugara\ ;
+戊辰 < boshin\ ;
+国是 < kokuze\ ;
+糞便 < funben\ ;
+違和感 < iwakan\ ;
+潮瀬 < shiose\ ;
+童貞 < doutei\ ;
+突風 < toppuu\ ;
+火先 < hosaki\ ;
+米屋 < komeya\ ;
+火元 < himoto\ ;
+地形 < chikei\ ;
+渚 < nagisa\ ;
+精勤 < seikin\ ;
+抜糸 < basshi\ ;
+穴馬 < anauma\ ;
+火傷 < yakedo\ ;
+滅菌 < mekkin\ ;
+生蕎麦 < kisoba\ ;
+筆耕 < hikkou\ ;
+鎮護 < chingo\ ;
+蛮隷 < banrei\ ;
+涎 < yodare\ ;
+筆者 < hissha\ ;
+在役 < zaieki\ ;
+地平 < chihei\ ;
+推定 < suitei\ ;
+問題 < mondai\ ;
+門前 < monzen\ ;
+四桁 < yoketa\ ;
+行殊 < gyoujo\ ;
+空音 < sorane\ ;
+圧延 < atsuen\ ;
+門出 < kadode\ ;
+採寸 < saisun\ ;
+扶翼 < fuyoku\ ;
+汀 < migiwa\ ;
+氵 < sanzui\ ;
+籠居 < roukyo\ ;
+懸軍 < kengun\ ;
+空電 < kuuden\ ;
+製品 < seihin\ ;
+空際 < kuusai\ ;
+鍛錬 < tanren\ ;
+国技 < kokugi\ ;
+録音 < rokuon\ ;
+所蔵 < shozou\ ;
+開会 < kaikai\ ;
+潟湖 < sekiko\ ;
+不気味 < bukimi\ ;
+喉輪 < nodowa\ ;
+渋面 < juumen\ ;
+閉会 < heikai\ ;
+筆紙 < hisshi\ ;
+空閨 < kuukei\ ;
+演目 < enmoku\ ;
+空間 < kuukan\ ;
+樵 < kikori\ ;
+樮 < hokuso\ ;
+才芸 < saigei\ ;
+複利 < fukuri\ ;
+裏声 < uragoe\ ;
+滞納 < tainou\ ;
+拠点 < kyoten\ ;
+手芸 < shugei\ ;
+測鉛 < sokuen\ ;
+在官 < zaikan\ ;
+噴煙 < fun''en\ ;
+楔 < kusabi\ ;
+漂砂 < hyousa\ ;
+門人 < monjin\ ;
+椪 < kunugi\ ;
+筆算 < hissan\ ;
+国恩 < kokuon\ ;
+才腕 < saiwan\ ;
+困憊 < konpai\ ;
+節水 < sessui\ ;
+筆端 < hittan\ ;
+手腕 < shuwan\ ;
+潜水 < sensui\ ;
+激怒 < gekido\ ;
+才能 < sainou\ ;
+鍛造 < tanzou\ ;
+栞 < shiori\ ;
+地変 < chihen\ ;
+血栓 < kessen\ ;
+手職 < tejoku\ ;
+窓辺 < madobe\ ;
+術数 < jussuu\ ;
+李 < sumomo\ ;
+濁度 < dakudo\ ;
+在天 < zaiten\ ;
+在外 < zaigai\ ;
+血書 < kessho\ ;
+地域 < chiiki\ ;
+暦 < koyomi\ ;
+減配 < genpai\ ;
+積雲 < sekiun\ ;
+昴 < subaru\ ;
+満蒙 < manmou\ ;
+御歳暮 < oseibo\ ;
+漸減 < zengen\ ;
+滑空 < kakkuu\ ;
+深間 < fukama\ ;
+血斑 < keppan\ ;
+稚鰤 < warasa\ ;
+減退 < gentai\ ;
+端艇 < tantei\ ;
+接吻 < seppun\ ;
+拘泥 < koudei\ ;
+筋目 < sujime\ ;
+稚鮎 < chiayu\ ;
+予備員 < yobiin\ ;
+蜥蜴 < tokage\ ;
+拝殿 < haiden\ ;
+稚魚 < chigyo\ ;
+映画化 < eigaka\ ;
+噴水 < funsui\ ;
+手紙 < tegami\ ;
+篆書 < tensho\ ;
+種類 < shurui\ ;
+清酒 < seishu\ ;
+粉体 < funtai\ ;
+商運 < shouun\ ;
+空転 < kuuten\ ;
+欧印語 < ouingo\ ;
+均分 < kinbun\ ;
+滅私 < messhi\ ;
+空軍 < kuugun\ ;
+空車 < kuusha\ ;
+粋人 < suijin\ ;
+図案家 < zuanka\ ;
+手籠 < tekago\ ;
+満腔 < mankou\ ;
+披瀝 < hireki\ ;
+手箱 < tebako\ ;
+手管 < tekuda\ ;
+手筋 < tesuji\ ;
+手筈 < tehazu\ ;
+挙手 < kyoshu\ ;
+扖 < hameru\ ;
+突貫 < tokkan\ ;
+竹縁 < takeen\ ;
+排卵 < hairan\ ;
+湯花 < yubana\ ;
+懇請 < konsei\ ;
+懇談 < kondan\ ;
+捨場 < suteba\ ;
+湯船 < yubune\ ;
+衆愚 < shuugu\ ;
+憖 < namaji\ ;
+深部 < shinbu\ ;
+戸籍 < koseki\ ;
+節操 < sessou\ ;
+被告 < hikoku\ ;
+滅相 < messou\ ;
+端線 < tansen\ ;
+端緒 < tancho\ ;
+在勤 < zaikin\ ;
+潔斎 < kessai\ ;
+圧勝 < asshou\ ;
+海鼠 < namako\ ;
+接伴 < seppan\ ;
+竹簀 < takesu\ ;
+地元 < jimoto\ ;
+液面 < ekimen\ ;
+蛇足 < dasoku\ ;
+国土 < kokudo\ ;
+応援歌 < ouenka\ ;
+空論 < kuuron\ ;
+空談 < kuudan\ ;
+彠 < kuwaku\ ;
+漁港 < gyokou\ ;
+愛鳥 < aichou\ ;
+廓 < kuruwa\ ;
+蠱惑 < kowaku\ ;
+排便 < haiben\ ;
+国営 < kokuei\ ;
+幟 < nobori\ ;
+幉 < tazuna\ ;
+拮据 < kikkyo\ ;
+振子 < furiko\ ;
+噸数 < tonsuu\ ;
+漁法 < gyohou\ ;
+団塊 < dankai\ ;
+地代 < chidai\ ;
+喫緊 < kikkin\ ;
+手癖 < tekuse\ ;
+錯誤 < sakugo\ ;
+税関 < zeikan\ ;
+嵐 < arashi\ ;
+漁民 < gyomin\ ;
+在住 < zaijuu\ ;
+蚊鉤 < kabari\ ;
+在任 < zainin\ ;
+潮干 < shiohi\ ;
+海魚 < kaigyo\ ;
+算数 < sansuu\ ;
+土俵 < dohyou\ ;
+土俗 < dozoku\ ;
+打球 < dakyuu\ ;
+鼻鏡 < bikyou\ ;
+授乳 < junyuu\ ;
+海驢 < ashika\ ;
+漫文 < manbun\ ;
+表土 < hyoudo\ ;
+国務 < kokumu\ ;
+我等 < warera\ ;
+挽回 < bankai\ ;
+空虚 < kuukyo\ ;
+土中 < dochuu\ ;
+所産 < shosan\ ;
+嫟 < jiyuku\ ;
+融点 < yuuten\ ;
+漢文 < kanbun\ ;
+手玉 < tedama\ ;
+喪章 < moshou\ ;
+団員 < dan''in\ ;
+手狭 < tezema\ ;
+国光 < kokkou\ ;
+銀鱗 < ginrin\ ;
+阿蘭陀 < oranda\ ;
+啓蒙 < keimou\ ;
+衆多 < shuuta\ ;
+税金 < zeikin\ ;
+黒鵐 < kuroji\ ;
+蠏座 < kaniza\ ;
+漁村 < gyoson\ ;
+海難 < kainan\ ;
+空荷 < karani\ ;
+四千 < yonsen\ ;
+四十 < yonjuu\ ;
+国会 < kokkai\ ;
+圷 < akutsu\ ;
+図体 < zuutai\ ;
+箱屋 < hakoya\ ;
+滅法 < meppou\ ;
+抵抗 < teikou\ ;
+濁世 < dakuse\ ;
+無慈悲 < mujihi\ ;
+齲蝕 < ushoku\ ;
+表具 < hyougu\ ;
+漁撈 < gyorou\ ;
+減耗 < genmou\ ;
+行司 < gyouji\ ;
+受話器 < juwaki\ ;
+窒素 < chisso\ ;
+鋭角 < eikaku\ ;
+秘録 < hiroku\ ;
+翻車魚 < manbou\ ;
+不出来 < fudeki\ ;
+衰亡 < suibou\ ;
+竜王 < ryuuou\ ;
+噴射 < funsha\ ;
+后 < kisaki\ ;
+問罪 < monzai\ ;
+雑魚寝 < zakone\ ;
+厠 < kawaya\ ;
+蛇腹 < jabara\ ;
+伊太利 < itarii\ ;
+手水 < temizu\ ;
+愛郷 < aikyou\ ;
+饂飩粉 < udonko\ ;
+手毬 < temari\ ;
+折折 < oriori\ ;
+湯玉 < yudama\ ;
+挙動 < kyodou\ ;
+流音 < ryuuon\ ;
+手段 < shudan\ ;
+流露 < ryuuro\ ;
+把捉 < hasoku\ ;
+流離 < ryuuri\ ;
+鼠賊 < sozoku\ ;
+甘海老 < amaebi\ ;
+挙兵 < kyohei\ ;
+温突 < ondoru\ ;
+手機 < tebata\ ;
+兜 < kabuto\ ;
+拷問 < goumon\ ;
+融朗 < yuurou\ ;
+麺類 < menrui\ ;
+減算 < genzan\ ;
+手業 < tewaza\ ;
+漸増 < zenzou\ ;
+海軍 < kaigun\ ;
+消費 < shouhi\ ;
+浪速 < naniwa\ ;
+銀鉱 < ginkou\ ;
+問答 < mondou\ ;
+吹鳴 < suimei\ ;
+筆才 < hissai\ ;
+銀鈴 < ginrei\ ;
+清純 < seijun\ ;
+筆戦 < hissen\ ;
+小馬鹿 < kobaka\ ;
+虚誕 < kyotan\ ;
+淋菌 < rinkin\ ;
+減税 < genzei\ ;
+策応 < sakuou\ ;
+空空 < kuukuu\ ;
+競歩 < kyouho\ ;
+温石 < onjaku\ ;
+虚言 < kyogen\ ;
+手柄 < tegara\ ;
+手枷 < tekase\ ;
+混線 < konsen\ ;
+仇 < kataki\ ;
+筆意 < hitsui\ ;
+手札 < tefuda\ ;
+御菓子 < okashi\ ;
+答弁 < touben\ ;
+洗顔 < sengan\ ;
+浜辺 < hamabe\ ;
+黒鉛 < kokuen\ ;
+満水 < mansui\ ;
+戸棚 < todana\ ;
+鼎談 < teidan\ ;
+湿気 < shikke\ ;
+我流 < garyuu\ ;
+悪風 < akufuu\ ;
+洗面 < senmen\ ;
+洋風 < youfuu\ ;
+空砲 < kuuhou\ ;
+潜像 < senzou\ ;
+愛読 < aidoku\ ;
+所望 < shomou\ ;
+所有 < shoyuu\ ;
+黒酒 < kuroki\ ;
+打撲 < daboku\ ;
+禅門 < zenmon\ ;
+打撃 < dageki\ ;
+三知土 < tataki\ ;
+洞門 < doumon\ ;
+吸飲 < kyuuin\ ;
+空目 < sorame\ ;
+湯水 < yumizu\ ;
+悪霊 < akurei\ ;
+手摺 < tesuri\ ;
+節会 < sechie\ ;
+我欲 < gayoku\ ;
+湯殿 < yudono\ ;
+端株 < hakabu\ ;
+湧水 < yuusui\ ;
+営業 < eigyou\ ;
+減産 < gensan\ ;
+賓位語 < hinigo\ ;
+手拭 < tefuki\ ;
+吹雪 < fubuki\ ;
+溺愛 < dekiai\ ;
+筋子 < sujiko\ ;
+鉄鋼 < tekkou\ ;
+悌順 < teijun\ ;
+洗錬 < senren\ ;
+満杯 < manpai\ ;
+薬餌 < yakuji\ ;
+福運 < fukuun\ ;
+摩莫枳 < mamaki\ ;
+薫風 < kunpuu\ ;
+録画 < rokuga\ ;
+漆器 < shikki\ ;
+浄財 < jouzai\ ;
+虎落 < mogari\ ;
+温灸 < onkyuu\ ;
+悪銭 < akusen\ ;
+名香 < meikou\ ;
+和訳 < wayaku\ ;
+涙腺 < ruisen\ ;
+抱卵 < houran\ ;
+払底 < futtei\ ;
+洋銀 < yougin\ ;
+鎮撫 < chinbu\ ;
+喪服 < mofuku\ ;
+和親 < washin\ ;
+手役 < teyaku\ ;
+銀製 < ginsei\ ;
+黙許 < mokkyo\ ;
+手形 < tegata\ ;
+打席 < daseki\ ;
+薫陶 < kuntou\ ;
+手引 < tebiki\ ;
+渾沌 < konton\ ;
+演劇 < engeki\ ;
+禁輸 < kin''yu\ ;
+浮薄 < fuhaku\ ;
+同類 < dourui\ ;
+洋酒 < youshu\ ;
+手帳 < techou\ ;
+成敗 < seibai\ ;
+虚聞 < kyobun\ ;
+鈍間 < noroma\ ;
+針魚 < hariyo\ ;
+波間 < namima\ ;
+鼓膜 < komaku\ ;
+憫然 < binzen\ ;
+悪道 < akudou\ ;
+波長 < hachou\ ;
+鼓腹 < kofuku\ ;
+法難 < hounan\ ;
+沸騰 < futtou\ ;
+笠子 < kasago\ ;
+活計 < kakkei\ ;
+滞在 < taizai\ ;
+渡渉 < toshou\ ;
+金魚 < kingyo\ ;
+銘茶 < meicha\ ;
+私蔵 < shizou\ ;
+味覚 < mikaku\ ;
+龕灯 < gandou\ ;
+黴菌 < baikin\ ;
+抜剣 < bakken\ ;
+善根 < zenkon\ ;
+名門 < meimon\ ;
+空港 < kuukou\ ;
+錘状 < suijou\ ;
+溶媒 < youbai\ ;
+沿革 < enkaku\ ;
+小百合 < sayuri\ ;
+端役 < hayaku\ ;
+呉越 < goetsu\ ;
+混然 < konzen\ ;
+筋合 < sujiai\ ;
+減法 < genpou\ ;
+空洞 < kuudou\ ;
+源平 < genpei\ ;
+名鑑 < meikan\ ;
+野駒 < nogoma\ ;
+浮腫 < mukumi\ ;
+麻裏 < asaura\ ;
+種痘 < shutou\ ;
+鈍重 < donjuu\ ;
+所定 < shotei\ ;
+涙管 < ruikan\ ;
+所存 < shozon\ ;
+泥酔 < deisui\ ;
+減殺 < gensai\ ;
+減段 < gentan\ ;
+鎮座 < chinza\ ;
+合鍵 < aikagi\ ;
+立憲 < rikken\ ;
+礼金 < reikin\ ;
+満干 < mankan\ ;
+禽舎 < kinsha\ ;
+告諭 < kokuyu\ ;
+空欄 < kuuran\ ;
+没頭 < bottou\ ;
+句集 < kushuu\ ;
+手塩 < teshio\ ;
+湿布 < shippu\ ;
+端山 < hayama\ ;
+竜座 < ryuuza\ ;
+鉄製 < tessei\ ;
+受領 < juryou\ ;
+渇水 < kassui\ ;
+烏帽子 < eboshi\ ;
+合金 < goukin\ ;
+混淆 < konkou\ ;
+品等 < hintou\ ;
+悪言 < akugen\ ;
+喜悦 < kietsu\ ;
+鼓笛 < koteki\ ;
+麻薬 < mayaku\ ;
+端子 < tanshi\ ;
+虚礼 < kyorei\ ;
+融合 < yuugou\ ;
+同邦 < douhou\ ;
+懇書 < konsho\ ;
+湾岸 < wangan\ ;
+満山 < manzan\ ;
+才噸 < saiton\ ;
+稲熱 < imochi\ ;
+鎮守 < chinju\ ;
+品種 < hinshu\ ;
+黄菊 < kigiku\ ;
+愚策 < gusaku\ ;
+各部 < kakubu\ ;
+祖父母 < sofubo\ ;
+波路 < namiji\ ;
+反面 < hanmen\ ;
+十六夜 < izayoi\ ;
+所在 < shozai\ ;
+悪血 < oketsu\ ;
+慨然 < gaizen\ ;
+競売 < keibai\ ;
+藻草 < mogusa\ ;
+移着 < ichaku\ ;
+祝詞 < norito\ ;
+同輩 < douhai\ ;
+急須 < kyuusu\ ;
+秘策 < hisaku\ ;
+消磨 < shouma\ ;
+憎気 < nikuge\ ;
+同車 < dousha\ ;
+湖心 < koshin\ ;
+種火 < tanebi\ ;
+手品 < tejina\ ;
+我家 < wagaya\ ;
+空曹 < kuusou\ ;
+迂回路 < ukairo\ ;
+才名 < saimei\ ;
+社賓 < shahin\ ;
+液状 < ekijou\ ;
+襤褸家 < boroya\ ;
+恵贈 < keizou\ ;
+礼賛 < raisan\ ;
+穂波 < honami\ ;
+鏤刻 < rukoku\ ;
+金銀 < kingin\ ;
+銀経 < ginkei\ ;
+和綴 < watoji\ ;
+青紫蘇 < aojiso\ ;
+緑啄木鳥 < aogera\ ;
+銀糸 < ginshi\ ;
+淡水 < tansui\ ;
+空文 < kuubun\ ;
+吟詠 < gin''ei\ ;
+銀粉 < ginpun\ ;
+懦弱 < dajaku\ ;
+恭賀 < kyouga\ ;
+卵黄 < ran''ou\ ;
+満塁 < manrui\ ;
+恩賞 < onshou\ ;
+水黽 < amenbo\ ;
+哀痛 < aitsuu\ ;
+麦芽 < bakuga\ ;
+台車 < daisha\ ;
+品番 < hinban\ ;
+手写 < shusha\ ;
+法論 < houron\ ;
+手先 < tesaki\ ;
+恩讐 < onshuu\ ;
+原音 < gen''on\ ;
+空挺 < kuutei\ ;
+鈍行 < donkou\ ;
+手傷 < tekizu\ ;
+空拳 < kuuken\ ;
+針路 < shinro\ ;
+同訓 < doukun\ ;
+金輪 < kanawa\ ;
+沢辺 < sawabe\ ;
+鼈甲 < bekkou\ ;
+空手 < karate\ ;
+礼装 < reisou\ ;
+空所 < kuusho\ ;
+念願 < nengan\ ;
+合計 < goukei\ ;
+麻織 < asaori\ ;
+呪縛 < jubaku\ ;
+空戦 < kuusen\ ;
+慨歎 < gaitan\ ;
+念頭 < nentou\ ;
+科白 < serifu\ ;
+薮蚊 < yabuka\ ;
+満員 < man''in\ ;
+叛軍 < hangun\ ;
+黄粉 < kinako\ ;
+鎖国 < sakoku\ ;
+愁眉 < shuubi\ ;
+麻絲 < asaito\ ;
+才人 < saijin\ ;
+同衾 < doukin\ ;
+立地 < ritchi\ ;
+黒穂 < kurobo\ ;
+情緒 < joucho\ ;
+沃野 < yokuya\ ;
+愛猫 < aibyou\ ;
+醸造 < jouzou\ ;
+湾口 < wankou\ ;
+銃眼 < juugan\ ;
+章句 < shouku\ ;
+憶念 < okunen\ ;
+戦前 < senzen\ ;
+鸞輿 < ran''yo\ ;
+憧憬 < doukei\ ;
+液汁 < ekijuu\ ;
+憤懣 < funman\ ;
+可読 < kadoku\ ;
+懸垂 < kensui\ ;
+税法 < zeihou\ ;
+厳重 < genjuu\ ;
+銀盤 < ginban\ ;
+友軍 < yuugun\ ;
+和睦 < waboku\ ;
+銀盃 < ginpai\ ;
+憤慨 < fungai\ ;
+鉄線 < tessen\ ;
+鼻毛 < hanage\ ;
+口調 < kuchou\ ;
+端倪 < tangei\ ;
+金談 < kindan\ ;
+古註 < kochuu\ ;
+流石 < sasuga\ ;
+鉄粉 < teppun\ ;
+麦粉 < mugiko\ ;
+深手 < fukade\ ;
+黒目 < kurome\ ;
+憐憫 < renbin\ ;
+原野 < gen''ya\ ;
+受諾 < judaku\ ;
+気鬱 < kiutsu\ ;
+薬舗 < yakuho\ ;
+名著 < meicho\ ;
+鉄管 < tekkan\ ;
+重言 < juugon\ ;
+氷霧 < hyoumu\ ;
+金襴 < kinran\ ;
+水面 < minomo\ ;
+禍福 < kafuku\ ;
+氷雨 < hisame\ ;
+鉄筋 < tekkin\ ;
+酔顔 < suigan\ ;
+合著 < goucho\ ;
+禽獣 < kinjuu\ ;
+水雷 < suirai\ ;
+受註 < juchuu\ ;
+水難 < suinan\ ;
+君臨 < kunrin\ ;
+受託 < jutaku\ ;
+戦乱 < senran\ ;
+不具合 < fuguai\ ;
+問屋 < ton''ya\ ;
+鉄窓 < tessou\ ;
+慧敏 < keibin\ ;
+蛇座 < hebiza\ ;
+湯元 < yumoto\ ;
+鼻梁 < biryou\ ;
+反論 < hanron\ ;
+喜劇 < kigeki\ ;
+憂憤 < yuufun\ ;
+感涙 < kanrui\ ;
+穴居 < kekkyo\ ;
+立冬 < rittou\ ;
+憂慮 < yuuryo\ ;
+和独 < wadoku\ ;
+金蝿 < kinbae\ ;
+水門 < suimon\ ;
+善哉 < zenzai\ ;
+単音 < tan''on\ ;
+鉛白 < enpaku\ ;
+参謀 < sanbou\ ;
+憂悶 < yuumon\ ;
+鼻木 < hanagi\ ;
+和牛 < wagyuu\ ;
+薄葉 < usuyou\ ;
+唐戸 < karado\ ;
+合致 < gatchi\ ;
+南面 < nanmen\ ;
+海浜 < kaihin\ ;
+民風 < minpuu\ ;
+悪税 < akuzei\ ;
+吹管 < suikan\ ;
+鉄砲 < teppou\ ;
+各自 < kakuji\ ;
+麻疹 < mashin\ ;
+喧伝 < kenden\ ;
+薄茶 < usucha\ ;
+南隅 < nanguu\ ;
+悪神 < akujin\ ;
+立体 < rittai\ ;
+半音 < han''on\ ;
+南限 < nangen\ ;
+突堤 < tottei\ ;
+喪中 < mochuu\ ;
+減塩 < gen''en\ ;
+渥地 < akuchi\ ;
+淡彩 < tansai\ ;
+海水 < kaisui\ ;
+浮流 < furyuu\ ;
+金蔵 < kinzou\ ;
+愛欲 < aiyoku\ ;
+厳談 < gendan\ ;
+薄色 < usuiro\ ;
+祭礼 < sairei\ ;
+知恵歯 < chieba\ ;
+虚根 < kyokon\ ;
+微震 < bishin\ ;
+酩酊 < meitei\ ;
+同罪 < douzai\ ;
+浮沈 < fuchin\ ;
+水銀 < suigin\ ;
+御題 < gyodai\ ;
+哀楽 < airaku\ ;
+空域 < kuuiki\ ;
+銀漢 < ginkan\ ;
+深山 < miyama\ ;
+野蒜 < nobiru\ ;
+活版 < kappan\ ;
+気長 < kinaga\ ;
+空地 < akichi\ ;
+愛楽 < aigyou\ ;
+野菊 < nogiku\ ;
+民間 < minkan\ ;
+悪相 < akusou\ ;
+御霊 < mitama\ ;
+法網 < houmou\ ;
+悲痛 < hitsuu\ ;
+麦田 < mugita\ ;
+水郷 < suigou\ ;
+合繊 < gousen\ ;
+不起訴 < fukiso\ ;
+慢性 < mansei\ ;
+向米 < koubei\ ;
+銀泥 < gindei\ ;
+虚数 < kyosuu\ ;
+悪疫 < akueki\ ;
+水辺 < mizube\ ;
+稟性 < hinsei\ ;
+鍛冶 < tan''ya\ ;
+悪用 < akuyou\ ;
+愉楽 < yuraku\ ;
+無医村 < muison\ ;
+水車 < suisha\ ;
+虎斑 < torafu\ ;
+後難 < kounan\ ;
+空名 < kuumei\ ;
+錦地 < kinchi\ ;
+鼻息 < bisoku\ ;
+悪球 < akkyuu\ ;
+合算 < gassan\ ;
+海月 < kurage\ ;
+唐子 < karako\ ;
+流派 < ryuuha\ ;
+薄紗 < hakusa\ ;
+混在 < konzai\ ;
+同窓 < dousou\ ;
+銘板 < meiban\ ;
+油絵 < aburae\ ;
+半金 < hankin\ ;
+毛頭 < moutou\ ;
+同種 < doushu\ ;
+重罪 < juuzai\ ;
+酢豚 < subuta\ ;
+千鈞 < senkin\ ;
+空前 < kuuzen\ ;
+応諾 < oudaku\ ;
+減免 < genmen\ ;
+民選 < minsen\ ;
+空冷 < kuurei\ ;
+惚気 < noroke\ ;
+和楽 < waraku\ ;
+怪腕 < kaiwan\ ;
+合祭 < gousai\ ;
+商務 < shoumu\ ;
+悪熱 < anetsu\ ;
+黄水 < kimizu\ ;
+口絵 < kuchie\ ;
+御酌 < oshaku\ ;
+気軽 < kigaru\ ;
+果樹園 < kajuen\ ;
+海損 < kaison\ ;
+慮外 < ryogai\ ;
+酒豪 < shugou\ ;
+半輪 < hanrin\ ;
+金粉 < kinpun\ ;
+当駅 < toueki\ ;
+御遊 < gyoyuu\ ;
+法相 < hossou\ ;
+深味 < fukami\ ;
+原著 < gencho\ ;
+麦湯 < mugiyu\ ;
+同盟 < doumei\ ;
+洪水 < kouzui\ ;
+哀愁 < aishuu\ ;
+吉相 < kissou\ ;
+空似 < sorani\ ;
+和服 < wafuku\ ;
+御転婆 < otenba\ ;
+薬理 < yakuri\ ;
+後金 < atokin\ ;
+鹵獲 < rokaku\ ;
+命根 < meikon\ ;
+錠前 < joumae\ ;
+名産 < meisan\ ;
+愛息 < aisoku\ ;
+泥状 < deijou\ ;
+必見 < hikken\ ;
+反米 < hanbei\ ;
+破鏡 < hakyou\ ;
+重税 < juuzei\ ;
+酢蛸 < sudako\ ;
+叢祠 < hokora\ ;
+従軍 < juugun\ ;
+毛鈎 < kebari\ ;
+部長 < buchou\ ;
+惨敗 < zanpai\ ;
+悪法 < akuhou\ ;
+右目 < migime\ ;
+必衰 < hissui\ ;
+歯黒 < haguro\ ;
+民論 < minron\ ;
+参籠 < sanrou\ ;
+悪水 < akusui\ ;
+愉悦 < yuetsu\ ;
+針目 < harime\ ;
+北部 < hokubu\ ;
+悪気 < warugi\ ;
+矢鱈 < yatara\ ;
+礎石 < soseki\ ;
+浴後 < yokugo\ ;
+卓見 < takken\ ;
+命数 < meisuu\ ;
+残骸 < zangai\ ;
+風呂屋 < furoya\ ;
+泥炭 < deitan\ ;
+名状 < meijou\ ;
+葛餡 < kuzuan\ ;
+沼田 < numada\ ;
+祭殿 < saiden\ ;
+砲金 < houkin\ ;
+古着 < furugi\ ;
+銀扇 < ginsen\ ;
+重石 < omoshi\ ;
+強音 < kyouon\ ;
+汚職 < oshoku\ ;
+混乱 < konran\ ;
+金目 < kaneme\ ;
+意味論 < imiron\ ;
+研鑽 < kensan\ ;
+弱音 < yowane\ ;
+残飯 < zanpan\ ;
+水葬 < suisou\ ;
+半裁 < hansai\ ;
+唯一 < yuitsu\ ;
+無邪気 < mujaki\ ;
+御託 < gotaku\ ;
+微衷 < bichuu\ ;
+半衿 < haneri\ ;
+虚妄 < kyomou\ ;
+決算 < kessan\ ;
+化身 < keshin\ ;
+恬然 < tenzen\ ;
+薬湯 < yakuyu\ ;
+汽笛 < kiteki\ ;
+涼味 < ryoumi\ ;
+水菜 < mizuna\ ;
+海岸 < kaigan\ ;
+悪業 < akugou\ ;
+鉄板 < teppan\ ;
+蓴菜 < junsai\ ;
+含水 < gansui\ ;
+影身 < kagemi\ ;
+毛足 < keashi\ ;
+歯髄 < shizui\ ;
+落馬 < rakuba\ ;
+双眼 < sougan\ ;
+反省 < hansei\ ;
+注油 < chuuyu\ ;
+郷軍 < gougun\ ;
+沈砂 < chinsa\ ;
+勧銀 < kangin\ ;
+医術 < ijutsu\ ;
+風呂場 < furoba\ ;
+感奮 < kanpun\ ;
+涙嚢 < ruinou\ ;
+卵胞 < ranhou\ ;
+野球 < yakyuu\ ;
+呉服 < gofuku\ ;
+神楽 < kagura\ ;
+忠義 < chuugi\ ;
+水腫 < suishu\ ;
+藍染 < aizome\ ;
+悪書 < akusho\ ;
+洋本 < youhon\ ;
+君民 < kunmin\ ;
+葉陰 < hakage\ ;
+阿蘇山 < asosan\ ;
+沸点 < futten\ ;
+恬淡 < tentan\ ;
+黙座 < mokuza\ ;
+液剤 < ekizai\ ;
+殿軍 < dengun\ ;
+弊風 < heifuu\ ;
+金牌 < kinpai\ ;
+銅山 < douzan\ ;
+海外 < kaigai\ ;
+郵貯 < yuucho\ ;
+野牛 < yagyuu\ ;
+活性 < kassei\ ;
+社殿 < shaden\ ;
+重版 < juuhan\ ;
+悪文 < akubun\ ;
+御家芸 < oiegei\ ;
+配膳 < haizen\ ;
+銀山 < ginzan\ ;
+忍耐 < nintai\ ;
+悪政 < akusei\ ;
+祭文 < saimon\ ;
+各派 < kakuha\ ;
+遺骨 < ikotsu\ ;
+黒巾 < kurogo\ ;
+恩沢 < ontaku\ ;
+海域 < kaiiki\ ;
+愛国 < aikoku\ ;
+鉄拳 < tekken\ ;
+名残 < nagori\ ;
+虚名 < kyomei\ ;
+弾道 < dandou\ ;
+民芸 < mingei\ ;
+哺乳 < honyuu\ ;
+台湾 < taiwan\ ;
+永続 < eizoku\ ;
+正面 < matomo\ ;
+重灰 < juukai\ ;
+危絵 < abunae\ ;
+恥毛 < chimou\ ;
+助長 < jochou\ ;
+液体 < ekitai\ ;
+鈍根 < donkon\ ;
+情念 < jounen\ ;
+残金 < zankin\ ;
+毬藻 < marimo\ ;
+薫染 < kunsen\ ;
+毛蟹 < kegani\ ;
+品名 < hinmei\ ;
+悪投 < akutou\ ;
+原盤 < genban\ ;
+動輪 < dourin\ ;
+悪才 < akusai\ ;
+治水 < chisui\ ;
+黒子 < hokuro\ ;
+勇邁 < yuumai\ ;
+悲愁 < hishuu\ ;
+殊遇 < shuguu\ ;
+悪態 < akutai\ ;
+古流 < koryuu\ ;
+十能 < juunou\ ;
+銀塊 < ginkai\ ;
+藻屑 < mokuzu\ ;
+同根 < doukon\ ;
+黙契 < mokkei\ ;
+重液 < juueki\ ;
+毒蛾 < dokuga\ ;
+金泥 < kondei\ ;
+池畔 < chihan\ ;
+同村 < douson\ ;
+名札 < nafuda\ ;
+単純 < tanjun\ ;
+大部屋 < oobeya\ ;
+蘊奥 < un''nou\ ;
+快眠 < kaimin\ ;
+悪念 < akunen\ ;
+同朋 < doubou\ ;
+合板 < gouban\ ;
+金気 < kanake\ ;
+秘匿 < hitoku\ ;
+福寿 < fukuju\ ;
+合本 < gappon\ ;
+遭難 < sounan\ ;
+重水 < juusui\ ;
+水禽 < suikin\ ;
+虚伝 < kyoden\ ;
+南米 < nanbei\ ;
+鶏群 < keigun\ ;
+堕胎医 < dataii\ ;
+単簡 < tankan\ ;
+悪弊 < akuhei\ ;
+復縁 < fukuen\ ;
+黽勉 < binben\ ;
+禅尼 < zen''ni\ ;
+同断 < doudan\ ;
+取水 < shusui\ ;
+浄域 < jouiki\ ;
+酒税 < shuzei\ ;
+同文 < doubun\ ;
+勝訴 < shouso\ ;
+同数 < dousuu\ ;
+従者 < juusha\ ;
+合方 < aikata\ ;
+原版 < genpan\ ;
+薄板 < usuita\ ;
+南端 < nantan\ ;
+強談 < goudan\ ;
+秀句 < shuuku\ ;
+古楽 < kogaku\ ;
+鈍才 < donsai\ ;
+藻塩 < moshio\ ;
+反毛 < hanmou\ ;
+水着 < mizugi\ ;
+碑石 < hiseki\ ;
+加速 < kasoku\ ;
+汚物 < obutsu\ ;
+台本 < daihon\ ;
+鶏糞 < keifun\ ;
+水盤 < suiban\ ;
+千篇 < senpen\ ;
+鈍感 < donkan\ ;
+毛脛 < kezune\ ;
+鳳輦 < houren\ ;
+不用意 < fuyoui\ ;
+久慈目 < kujime\ ;
+建造 < kenzou\ ;
+刺魚 < togeuo\ ;
+部落 < buraku\ ;
+号数 < gousuu\ ;
+銃剣 < juuken\ ;
+参殿 < sanden\ ;
+水疱 < suihou\ ;
+右文 < yuubun\ ;
+古木 < koboku\ ;
+君恩 < kun''on\ ;
+大御代 < oomiyo\ ;
+微禄 < biroku\ ;
+碁石 < goishi\ ;
+水田 < suiden\ ;
+底魚 < sokouo\ ;
+秘中 < hichuu\ ;
+殺菌 < sakkin\ ;
+銘仙 < meisen\ ;
+弱行 < jakkou\ ;
+呼名 < yobina\ ;
+決水 < kessui\ ;
+同憂 < douyuu\ ;
+銅像 < douzou\ ;
+歓迎 < kangei\ ;
+鉄塔 < tettou\ ;
+同感 < doukan\ ;
+浪人 < rounin\ ;
+剔除 < tekijo\ ;
+没書 < bossho\ ;
+鷹派 < takaha\ ;
+前電 < zenden\ ;
+想像 < souzou\ ;
+取材 < shuzai\ ;
+蘭人 < ranjin\ ;
+菌類 < kinrui\ ;
+神宮 < jinguu\ ;
+卵状 < ranjou\ ;
+悪天 < akuten\ ;
+遭遇 < souguu\ ;
+削除 < sakujo\ ;
+半睡 < hansui\ ;
+吾妹 < wagimo\ ;
+右折 < usetsu\ ;
+原油 < gen''yu\ ;
+歳計 < saikei\ ;
+性根 < shoune\ ;
+葛藤 < kattou\ ;
+悪場 < waruba\ ;
+右手 < migite\ ;
+叉木 < matagi\ ;
+歩調 < hochou\ ;
+原民 < genmin\ ;
+名店 < meiten\ ;
+券面 < kenmen\ ;
+干鱈 < hidara\ ;
+合弁 < gouben\ ;
+弁論 < benron\ ;
+流儀 < ryuugi\ ;
+水煮 < mizuni\ ;
+座長 < zachou\ ;
+毒素 < dokuso\ ;
+底面 < teimen\ ;
+彼等 < karera\ ;
+厘毛 < rinmou\ ;
+去来 < kyorai\ ;
+弁解 < benkai\ ;
+運針 < unshin\ ;
+古手 < furute\ ;
+毛筋 < kesuji\ ;
+社屋 < shaoku\ ;
+可惜 < attara\ ;
+遊金 < yuukin\ ;
+君子 < kunshi\ ;
+利鞘 < rizaya\ ;
+怨敵 < onteki\ ;
+有意義 < yuuigi\ ;
+野薔薇 < nobara\ ;
+恋愛 < ren''ai\ ;
+欠配 < keppai\ ;
+命令 < meirei\ ;
+名山 < meizan\ ;
+真鴨 < magamo\ ;
+連関 < renkan\ ;
+汀渚 < teisho\ ;
+御目見得 < omemie\ ;
+同居 < doukyo\ ;
+遅配 < chihai\ ;
+梅雨期 < baiuki\ ;
+恵存 < keizon\ ;
+同封 < doufuu\ ;
+台形 < daikei\ ;
+恋恋 < renren\ ;
+遠足 < ensoku\ ;
+前金 < maekin\ ;
+剥身 < mukimi\ ;
+水源 < suigen\ ;
+送風 < soufuu\ ;
+遺言 < yuigon\ ;
+息子 < musuko\ ;
+悪名 < akumei\ ;
+原案 < gen''an\ ;
+祖国 < sokoku\ ;
+蔵書 < zousho\ ;
+悪友 < akuyuu\ ;
+幽霊 < yuurei\ ;
+悲劇 < higeki\ ;
+座金 < zagane\ ;
+反戦 < hansen\ ;
+度量 < doryou\ ;
+野心 < yashin\ ;
+勃興 < bokkou\ ;
+化石 < kaseki\ ;
+社外 < shagai\ ;
+古廟 < kobyou\ ;
+広間 < hiroma\ ;
+氷河 < hyouga\ ;
+平面 < heimen\ ;
+吻合 < fungou\ ;
+分類 < bunrui\ ;
+後生 < goshou\ ;
+快楽 < keraku\ ;
+薬園 < yakuen\ ;
+息女 < sokujo\ ;
+法外 < hougai\ ;
+鉄傘 < tessan\ ;
+幽閉 < yuuhei\ ;
+忍法 < ninpou\ ;
+同大 < doudai\ ;
+役目 < yakume\ ;
+著者 < chosha\ ;
+名声 < meisei\ ;
+古巣 < furusu\ ;
+水気 < mizuke\ ;
+年限 < nengen\ ;
+沢庵 < takuan\ ;
+毒矢 < dokuya\ ;
+合奏 < gassou\ ;
+毛皮 < kegawa\ ;
+南溟 < nanmei\ ;
+目鼻 < mehana\ ;
+都督 < totoku\ ;
+南満 < nanman\ ;
+運賃 < unchin\ ;
+原文 < genbun\ ;
+麦価 < bakuka\ ;
+禁令 < kinrei\ ;
+藩主 < hanshu\ ;
+知育 < chiiku\ ;
+効能 < kounou\ ;
+分際 < bunzai\ ;
+遁走 < tonsou\ ;
+吉報 < kippou\ ;
+怠慢 < taiman\ ;
+造酒 < zoushu\ ;
+分院 < bun''in\ ;
+分限 < bungen\ ;
+思慮 < shiryo\ ;
+凱風 < gaifuu\ ;
+怨念 < on''nen\ ;
+化生 < keshou\ ;
+金山 < kinzan\ ;
+悟入 < gonyuu\ ;
+逸足 < issoku\ ;
+砥石 < toishi\ ;
+古家 < furuie\ ;
+薬味 < yakumi\ ;
+眼鏡 < megane\ ;
+真青 < massao\ ;
+半減 < hangen\ ;
+号外 < gougai\ ;
+達観 < takkan\ ;
+出際 < degiwa\ ;
+収差 < shuusa\ ;
+決意 < ketsui\ ;
+底辺 < teihen\ ;
+君命 < kunmei\ ;
+野宿 < nojuku\ ;
+短編 < tanpen\ ;
+葛粉 < kuzuko\ ;
+通運 < tsuuun\ ;
+薄塩 < usujio\ ;
+悪人 < akunin\ ;
+連載 < rensai\ ;
+別邸 < bettei\ ;
+波及 < hakyuu\ ;
+原拠 < genkyo\ ;
+弩級 < dokyuu\ ;
+毛玉 < kedama\ ;
+里子 < satogo\ ;
+社命 < shamei\ ;
+歯肉 < haniku\ ;
+荷鞍 < nigura\ ;
+石粉 < ishiko\ ;
+悩乱 < nouran\ ;
+厄日 < yakubi\ ;
+南欧 < nan''ou\ ;
+耳鼻科 < jibika\ ;
+遊覧 < yuuran\ ;
+遮蔽 < shahei\ ;
+薬効 < yakkou\ ;
+名品 < meihin\ ;
+社友 < shayuu\ ;
+郡県 < gunken\ ;
+重婚 < juukon\ ;
+送金 < soukin\ ;
+厚手 < atsude\ ;
+幕間 < makuai\ ;
+年金 < nenkin\ ;
+反射 < hansha\ ;
+反対 < hantai\ ;
+名吟 < meigin\ ;
+目高 < medaka\ ;
+返電 < henden\ ;
+鈍刀 < dontou\ ;
+破獄 < hagoku\ ;
+油圧 < yuatsu\ ;
+卯月 < udzuki\ ;
+水木 < mizuki\ ;
+砂礫 < sareki\ ;
+怒張 < dochou\ ;
+画架座 < gakaza\ ;
+分銅 < fundou\ ;
+不安気 < fuange\ ;
+逸話 < itsuwa\ ;
+草魚 < sougyo\ ;
+即時 < sokuji\ ;
+弁者 < bensha\ ;
+通路 < tsuuro\ ;
+蓮根 < renkon\ ;
+合同 < goudou\ ;
+近隣 < kinrin\ ;
+大出来 < oodeki\ ;
+重変 < juuhen\ ;
+風邪気 < kazeke\ ;
+荒馬 < arauma\ ;
+快挙 < kaikyo\ ;
+分野 < bun''ya\ ;
+酒杯 < shuhai\ ;
+同勢 < douzei\ ;
+気楽 < kiraku\ ;
+民権 < minken\ ;
+刃針 < habari\ ;
+武器庫 < bukiko\ ;
+参宮 < sanguu\ ;
+分配 < bunpai\ ;
+遺脱 < idatsu\ ;
+述 < jutsu\ ;
+必 < hitsu\ ;
+辻 < tsuji\ ;
+徹 < tetsu\ ;
+瞥 < betsu\ ;
+後 < nochi\ ;
+律 < ritsu\ ;
+着 < chaku\ ;
+式 < shiki\ ;
+皺 < shiwa\ ;
+躅 < choku\ ;
+百 < hyaku\ ;
+白 < shiro\ ;
+發 < hotsu\ ;
+発 < hatsu\ ;
+幸 < sachi\ ;
+年 < toshi\ ;
+癪 < shaku\ ;
+巴 < tomoe\ ;
+病 < yamai\ ;
+略 < ryaku\ ;
+畜 < chiku\ ;
+町 < machi\ ;
+男 < otoko\ ;
+由 < yoshi\ ;
+島 < shima\ ;
+質 < tachi\ ;
+岸 < kishi\ ;
+屈 < kutsu\ ;
+尻 < shiri\ ;
+實 < jitsu\ ;
+察 < satsu\ ;
+密 < mitsu\ ;
+宴 < utage\ ;
+客 < kyaku\ ;
+猾 < katsu\ ;
+説 < setsu\ ;
+詰 < kitsu\ ;
+爺 < jijii\ ;
+爪 < tsume\ ;
+訣 < ketsu\ ;
+觸 < shoku\ ;
+角 < tsuno\ ;
+妻 < tsuma\ ;
+熱 < netsu\ ;
+西 < nishi\ ;
+奴 < yatsu\ ;
+奪 < datsu\ ;
+夏 < natsu\ ;
+烈 < retsu\ ;
+袷 < awase\ ;
+炎 < honoo\ ;
+境 < sakai\ ;
+塵 < chiri\ ;
+塚 < tsuka\ ;
+基 < motoi\ ;
+埒 < rachi\ ;
+齢 < yowai\ ;
+鼾 < ibiki\ ;
+蜂 < hachi\ ;
+黐 < mochi\ ;
+滅 < metsu\ ;
+蚕 < kaiko\ ;
+鹿 < shika\ ;
+虫 < mushi\ ;
+虞 < osore\ ;
+噂 < uwasa\ ;
+淵 < fuchi\ ;
+鷲 < washi\ ;
+淑 < shuku\ ;
+鶴 < tsuru\ ;
+喇 < ratsu\ ;
+唾 < tsuba\ ;
+泉 < izumi\ ;
+油 < abura\ ;
+没 < botsu\ ;
+咄 < totsu\ ;
+汁 < tsuyu\ ;
+鰌 < dojou\ ;
+吉 < kichi\ ;
+口 < kuchi\ ;
+単 < hitoe\ ;
+卒 < sotsu\ ;
+次 < tsugi\ ;
+櫛 < kushi\ ;
+芝 < shiba\ ;
+力 < ryoku\ ;
+艶 < tsuya\ ;
+橋 < hashi\ ;
+樫 < kashi\ ;
+舌 < shita\ ;
+刃 < yaiba\ ;
+腰 < koshi\ ;
+兎 < usagi\ ;
+兀 < kotsu\ ;
+脈 < myaku\ ;
+飯 < meshi\ ;
+梨 < nashi\ ;
+梢 < kozue\ ;
+梓 < azusa\ ;
+額 < hitai\ ;
+頁 < peiji\ ;
+翁 < okina\ ;
+鞭 < muchi\ ;
+鞄 < kaban\ ;
+松 < matsu\ ;
+罰 < batsu\ ;
+罪 < tsumi\ ;
+佛 < butsu\ ;
+位 < kurai\ ;
+伸 < noshi\ ;
+霰 < arare\ ;
+霜 < shimo\ ;
+月 < tsuki\ ;
+曲 < kyoku\ ;
+雜 < zatsu\ ;
+仙 < sento\ ;
+雇 < yatoi\ ;
+乾 < hoshi\ ;
+主 < nushi\ ;
+綱 < tsuna\ ;
+絶 < zetsu\ ;
+終 < owari\ ;
+操 < misao\ ;
+節 < bushi\ ;
+箒 < houki\ ;
+答 < kotae\ ;
+拂 < futsu\ ;
+戦 < ikusa\ ;
+道 < michi\ ;
+逹 < tatsu\ ;
+逆 < gyaku\ ;
+瞽者 < kosha\ ;
+名前 < namae\ ;
+帰順 < kijun\ ;
+座視 < zashi\ ;
+快打 < kaida\ ;
+送辞 < souji\ ;
+名利 < meiri\ ;
+眉間 < miken\ ;
+磁性 < jisei\ ;
+薬価 < yakka\ ;
+砲煙 < houen\ ;
+礼儀 < reigi\ ;
+法具 < hougu\ ;
+吏党 < ritou\ ;
+目顔 < megao\ ;
+碑文 < hibun\ ;
+連語 < rengo\ ;
+重囲 < choui\ ;
+沮喪 < sosou\ ;
+遺習 < ishuu\ ;
+選者 < senja\ ;
+歌聖 < kasei\ ;
+造語 < zougo\ ;
+砲火 < houka\ ;
+蒸気 < jouki\ ;
+怪奇 < kaiki\ ;
+連記 < renki\ ;
+重器 < juuki\ ;
+加糖 < katou\ ;
+恩典 < onten\ ;
+序論 < joron\ ;
+毅然 < kizen\ ;
+制覇 < seiha\ ;
+歎美 < tanbi\ ;
+退路 < tairo\ ;
+応手 < oushu\ ;
+速記 < sokki\ ;
+波乱 < haran\ ;
+応戦 < ousen\ ;
+連覇 < renpa\ ;
+怨声 < ensei\ ;
+油単 < yutan\ ;
+序詞 < joshi\ ;
+医業 < igyou\ ;
+序言 < jogen\ ;
+忘我 < bouga\ ;
+荷重 < kajuu\ ;
+区検 < kuken\ ;
+南斗 < nanto\ ;
+沽券 < koken\ ;
+半期 < hanki\ ;
+同価 < douka\ ;
+動画 < douga\ ;
+河南 < kanan\ ;
+薄刃 < usuba\ ;
+加算 < kasan\ ;
+年賦 < nenpu\ ;
+口味 < koumi\ ;
+迷路 < meiro\ ;
+油剤 < yuzai\ ;
+年賀 < nenga\ ;
+可動 < kadou\ ;
+年貢 < nengu\ ;
+御株 < okabu\ ;
+厨子 < zushi\ ;
+別記 < bekki\ ;
+吏人 < rijin\ ;
+各個 < kakko\ ;
+邪知 < jachi\ ;
+古参 < kosan\ ;
+法事 < houji\ ;
+蕃夷 < ban''i\ ;
+重味 < omomi\ ;
+樹齢 < jurei\ ;
+千木 < chigi\ ;
+恵与 < keiyo\ ;
+酸度 < sando\ ;
+励磁 < reiji\ ;
+剣舞 < kenbu\ ;
+法主 < hossu\ ;
+母港 < bokou\ ;
+野合 < yagou\ ;
+同事 < douji\ ;
+可分 < kabun\ ;
+野史 < yashi\ ;
+助祭 < josai\ ;
+各位 < kakui\ ;
+御札 < ofuda\ ;
+過般 < kahan\ ;
+分賦 < bunpu\ ;
+種々 < shuju\ ;
+忘恩 < bouon\ ;
+待機 < taiki\ ;
+恩人 < onjin\ ;
+忌憚 < kitan\ ;
+運航 < unkou\ ;
+河内 < hanoi\ ;
+恨事 < konji\ ;
+性器 < seiki\ ;
+怒声 < dosei\ ;
+機首 < kishu\ ;
+列記 < rekki\ ;
+古制 < kosei\ ;
+反哺 < hanpo\ ;
+十日 < tooka\ ;
+御昼 < ohiru\ ;
+都民 < tomin\ ;
+看過 < kanka\ ;
+古刀 < kotou\ ;
+弥生 < yayoi\ ;
+送話 < souwa\ ;
+平語 < heigo\ ;
+毒気 < dokke\ ;
+矛盾 < mujun\ ;
+破水 < hasui\ ;
+金利 < kinri\ ;
+泉下 < senka\ ;
+返辞 < henji\ ;
+鵞毛 < gamou\ ;
+叙勲 < jokun\ ;
+沖合 < okiai\ ;
+古典 < koten\ ;
+鯨飲 < geiin\ ;
+重利 < juuri\ ;
+印影 < in''ei\ ;
+単打 < tanda\ ;
+御数 < okazu\ ;
+受動 < judou\ ;
+道義 < dougi\ ;
+後架 < kouka\ ;
+遠縁 < tooen\ ;
+分課 < bunka\ ;
+邦画 < houga\ ;
+野党 < yatou\ ;
+着衣 < yakui\ ;
+受刑 < jukei\ ;
+毎次 < maiji\ ;
+後期 < kouki\ ;
+蕩児 < touji\ ;
+油井 < yusei\ ;
+建碑 < kenpi\ ;
+冥闇 < meian\ ;
+布陣 < fujin\ ;
+荒野 < kouya\ ;
+治下 < chika\ ;
+辺鄙 < henpi\ ;
+酒徒 < shuto\ ;
+機雷 < kirai\ ;
+歌稿 < kakou\ ;
+弧状 < kojou\ ;
+遷移 < sen''i\ ;
+帰還 < kikan\ ;
+歯痛 < haita\ ;
+民戸 < minko\ ;
+加盟 < kamei\ ;
+菊花 < kikka\ ;
+古例 < korei\ ;
+台下 < daika\ ;
+刻苦 < kokku\ ;
+母権 < boken\ ;
+古体 < kotai\ ;
+往来 < ourai\ ;
+受像 < juzou\ ;
+句会 < kukai\ ;
+古伝 < koden\ ;
+応対 < outai\ ;
+危峰 < kihou\ ;
+殺気 < sakki\ ;
+助産 < josan\ ;
+帰農 < kinou\ ;
+古代 < kodai\ ;
+古今 < kokon\ ;
+古人 < kojin\ ;
+違約 < iyaku\ ;
+原図 < genzu\ ;
+十手 < jitte\ ;
+民意 < min''i\ ;
+参加 < sanka\ ;
+冶金 < yakin\ ;
+石火 < sekka\ ;
+兵馬 < heiba\ ;
+御所 < gosho\ ;
+野人 < yajin\ ;
+弁疏 < benso\ ;
+原器 < genki\ ;
+造花 < zouka\ ;
+帝都 < teito\ ;
+英魂 < eikon\ ;
+厭味 < iyami\ ;
+危害 < kigai\ ;
+店舗 < tenpo\ ;
+配布 < haifu\ ;
+段歩 < tanbu\ ;
+単座 < tanza\ ;
+叙任 < jonin\ ;
+欧米 < oubei\ ;
+怒号 < dogou\ ;
+永存 < eizon\ ;
+工面 < kumen\ ;
+内需 < naiju\ ;
+受任 < junin\ ;
+後援 < kouen\ ;
+県議 < kengi\ ;
+勤求 < gongu\ ;
+看護 < kango\ ;
+円陣 < enjin\ ;
+酸基 < sanki\ ;
+帰趨 < kisuu\ ;
+当機 < touki\ ;
+弁理 < benri\ ;
+母材 < bozai\ ;
+徒手 < toshu\ ;
+盛運 < seiun\ ;
+歯牙 < shiga\ ;
+民度 < mindo\ ;
+運算 < unzan\ ;
+応変 < ouhen\ ;
+酒家 < shuka\ ;
+弥漫 < biman\ ;
+酒宴 < shuen\ ;
+鮟鱇 < ankou\ ;
+轟音 < gouon\ ;
+御念 < gonen\ ;
+得意 < tokui\ ;
+典雅 < tenga\ ;
+双互 < sougo\ ;
+勘気 < kanki\ ;
+辞退 < jitai\ ;
+原句 < genku\ ;
+遺留 < iryuu\ ;
+機銃 < kijuu\ ;
+都政 < tosei\ ;
+動気 < douki\ ;
+応報 < ouhou\ ;
+幼芽 < youga\ ;
+硬度 < koudo\ ;
+復帰 < fukki\ ;
+欺瞞 < giman\ ;
+遠矢 < tooya\ ;
+過程 < katei\ ;
+水夫 < suifu\ ;
+母斑 < bohan\ ;
+怜俐 < reiri\ ;
+市部 < shibu\ ;
+劫火 < gouka\ ;
+冥途 < meido\ ;
+参事 < sanji\ ;
+御幣 < gohei\ ;
+弾機 < danki\ ;
+遠眼 < engan\ ;
+破摧 < hasai\ ;
+近衛 < konoe\ ;
+短波 < tanpa\ ;
+遠目 < toome\ ;
+醇化 < junka\ ;
+判者 < hanja\ ;
+破損 < hason\ ;
+道破 < douha\ ;
+英霊 < eirei\ ;
+勇気 < yuuki\ ;
+気孔 < kikou\ ;
+加点 < katen\ ;
+酸味 < sanmi\ ;
+冠辞 < kanji\ ;
+英雄 < eiyuu\ ;
+快味 < kaimi\ ;
+平臥 < heiga\ ;
+厚利 < kouri\ ;
+徒弟 < totei\ ;
+短気 < tanki\ ;
+民家 < minka\ ;
+差金 < sakin\ ;
+部数 < busuu\ ;
+広義 < kougi\ ;
+勇武 < yuubu\ ;
+先駆 < senku\ ;
+邪法 < jahou\ ;
+忌垣 < igaki\ ;
+前科 < zenka\ ;
+氏子 < ujiko\ ;
+差配 < sahai\ ;
+短歌 < tanka\ ;
+内野 < naiya\ ;
+相補 < souho\ ;
+弦歌 < genka\ ;
+千家 < senke\ ;
+苦難 < kunan\ ;
+弘法 < guhou\ ;
+機転 < kiten\ ;
+破戒 < hakai\ ;
+毀損 < kison\ ;
+十字 < juuji\ ;
+差遣 < saken\ ;
+御宴 < gyoen\ ;
+勘査 < kansa\ ;
+矮樹 < waiju\ ;
+白雨 < hakuu\ ;
+御宅 < otaku\ ;
+内部 < naibu\ ;
+冷語 < reigo\ ;
+座禅 < zazen\ ;
+荷葉 < kayou\ ;
+苦闘 < kutou\ ;
+辞譲 < jijou\ ;
+医学 < igaku\ ;
+加減 < kagen\ ;
+座礼 < zarei\ ;
+酒器 < shuki\ ;
+左遷 < sasen\ ;
+登院 < touin\ ;
+先非 < senpi\ ;
+運痴 < unchi\ ;
+市費 < shihi\ ;
+往年 < ounen\ ;
+府税 < fuzei\ ;
+研摩 < kenma\ ;
+巡邏 < junra\ ;
+剣璽 < kenji\ ;
+免除 < menjo\ ;
+花魁 < oiran\ ;
+延滞 < entai\ ;
+左辺 < sahen\ ;
+微塵 < mijin\ ;
+部所 < busho\ ;
+匹婦 < hippu\ ;
+光陰 < kouin\ ;
+次男 < jinan\ ;
+加法 < kahou\ ;
+後尾 < koubi\ ;
+円転 < enten\ ;
+道理 < douri\ ;
+歳次 < saiji\ ;
+冗費 < jouhi\ ;
+別箇 < bekko\ ;
+茶話 < chawa\ ;
+母性 < bosei\ ;
+気圏 < kiken\ ;
+市議 < shigi\ ;
+気団 < kidan\ ;
+応分 < oubun\ ;
+御大 < ontai\ ;
+加水 < kasui\ ;
+毛布 < moufu\ ;
+再起 < saiki\ ;
+永劫 < eigou\ ;
+水化 < suika\ ;
+途端 < totan\ ;
+都度 < tsudo\ ;
+母形 < bokei\ ;
+平素 < heiso\ ;
+勿怪 < mokke\ ;
+写譜 < shafu\ ;
+正比 < seihi\ ;
+彼岸 < higan\ ;
+印判 < inpan\ ;
+毎度 < maido\ ;
+全都 < zento\ ;
+印刀 < intou\ ;
+全部 < zenbu\ ;
+水利 < suiri\ ;
+彩度 < saido\ ;
+形影 < keiei\ ;
+別科 < bekka\ ;
+遠火 < toobi\ ;
+葉末 < hazue\ ;
+快事 < kaiji\ ;
+府県 < fuken\ ;
+冗語 < jougo\ ;
+区域 < kuiki\ ;
+巨費 < kyohi\ ;
+御坊 < gobou\ ;
+矢来 < yarai\ ;
+化導 < kedou\ ;
+英邁 < eimai\ ;
+後妻 < gosai\ ;
+比島 < hitou\ ;
+単句 < tanku\ ;
+気品 < kihin\ ;
+再議 < saigi\ ;
+工費 < kouhi\ ;
+勝手 < katte\ ;
+眼窩 < ganka\ ;
+布袋 < hotei\ ;
+艶麗 < enrei\ ;
+優雅 < yuuga\ ;
+毛孔 < keana\ ;
+破屋 < haoku\ ;
+勤惰 < kinda\ ;
+内議 < naigi\ ;
+歔欷 < kyoki\ ;
+輸銀 < yugin\ ;
+全躯 < zenku\ ;
+平穏 < heion\ ;
+即位 < sokui\ ;
+序盤 < joban\ ;
+近習 < kinju\ ;
+模造 < mozou\ ;
+母屋 < omoya\ ;
+魑魅 < chimi\ ;
+永住 < eijuu\ ;
+目茶 < mecha\ ;
+公路 < kouro\ ;
+切符 < kippu\ ;
+横転 < outen\ ;
+年租 < nenso\ ;
+軍鼓 < gunko\ ;
+半可 < hanka\ ;
+半句 < hanku\ ;
+単利 < tanri\ ;
+徳化 < tokka\ ;
+利益 < rieki\ ;
+次点 < jiten\ ;
+当座 < touza\ ;
+従因 < juuin\ ;
+永代 < eitai\ ;
+気勢 < kisei\ ;
+歯朶 < shida\ ;
+歳暮 < seibo\ ;
+彼奴 < aitsu\ ;
+復古 < fukko\ ;
+凄艶 < seien\ ;
+母子 < boshi\ ;
+遠海 < enkai\ ;
+気前 < kimae\ ;
+千古 < senko\ ;
+冷菓 < reika\ ;
+引数 < insuu\ ;
+匪団 < hidan\ ;
+配備 < haibi\ ;
+微動 < bidou\ ;
+永世 < eisei\ ;
+段差 < dansa\ ;
+役夫 < ekifu\ ;
+気分 < kibun\ ;
+酒保 < shuho\ ;
+強意 < kyoui\ ;
+内規 < naiki\ ;
+遠泳 < en''ei\ ;
+草花 < souka\ ;
+酔余 < suiyo\ ;
+蒲団 < futon\ ;
+御台 < midai\ ;
+軍鶏 < shamo\ ;
+連理 < renri\ ;
+邪推 < jasui\ ;
+民利 < minri\ ;
+運漕 < unsou\ ;
+連珠 < renju\ ;
+利用 < riyou\ ;
+微分 < bibun\ ;
+午前 < gozen\ ;
+英資 < eishi\ ;
+内裏 < dairi\ ;
+輸送 < yusou\ ;
+先途 < sendo\ ;
+助攻 < jokou\ ;
+殿宇 < den''u\ ;
+芟除 < sanjo\ ;
+切磋 < sessa\ ;
+民具 < mingu\ ;
+鵄尾 < shibi\ ;
+医博 < ihaku\ ;
+茶菓 < chaka\ ;
+微光 < bikou\ ;
+歩数 < hosuu\ ;
+毎夜 < maiyo\ ;
+武断 < budan\ ;
+単位 < tan''i\ ;
+兼補 < kenpo\ ;
+加数 < kasuu\ ;
+当家 < touke\ ;
+強引 < gouin\ ;
+徒名 < adana\ ;
+御凸 < odeko\ ;
+当字 < ateji\ ;
+配下 < haika\ ;
+公訴 < kouso\ ;
+平癒 < heiyu\ ;
+発起 < hokki\ ;
+気体 < kitai\ ;
+邪慳 < jaken\ ;
+区分 < kubun\ ;
+避暑 < hisho\ ;
+遊泳 < yuuei\ ;
+区処 < kusho\ ;
+母堂 < bodou\ ;
+御免 < gomen\ ;
+御先 < osaki\ ;
+茶舗 < chaho\ ;
+勇往 < yuuou\ ;
+弓手 < yunde\ ;
+南下 < nanka\ ;
+区内 < kunai\ ;
+色香 < iroka\ ;
+徒労 < torou\ ;
+党議 < tougi\ ;
+邪悪 < jaaku\ ;
+年甫 < nenpo\ ;
+部外 < bugai\ ;
+歌書 < kasho\ ;
+剛気 < gouki\ ;
+弧形 < kokei\ ;
+勢家 < seika\ ;
+劃期 < kakki\ ;
+砂岩 < sagan\ ;
+邪恋 < jaren\ ;
+気丈 < kijou\ ;
+復位 < fukui\ ;
+徒刑 < tokei\ ;
+目線 < mesen\ ;
+萌木 < moegi\ ;
+冷罵 < reiba\ ;
+民事 < minji\ ;
+矩形 < kukei\ ;
+遺族 < izoku\ ;
+毛唐 < ketou\ ;
+全裸 < zenra\ ;
+邪念 < janen\ ;
+助成 < josei\ ;
+軍馬 < gunba\ ;
+創案 < souan\ ;
+模試 < moshi\ ;
+遊歩 < yuuho\ ;
+凹眼 < ougan\ ;
+当夜 < touya\ ;
+車馬 < shaba\ ;
+加担 < katan\ ;
+鴨居 < kamoi\ ;
+御供 < otomo\ ;
+徒党 < totou\ ;
+円蓋 < engai\ ;
+千代 < chiyo\ ;
+兄貴 < aniki\ ;
+苦言 < kugen\ ;
+御伽 < otogi\ ;
+化合 < kagou\ ;
+利点 < riten\ ;
+鬼面 < kimen\ ;
+輿論 < yoron\ ;
+十五 < juugo\ ;
+死後 < shigo\ ;
+十二 < juuni\ ;
+横行 < oukou\ ;
+御仁 < gojin\ ;
+後光 < gokou\ ;
+先議 < sengi\ ;
+遠来 < enrai\ ;
+前歯 < maeba\ ;
+遠望 < enbou\ ;
+出番 < deban\ ;
+知己 < chiki\ ;
+励弧 < reiko\ ;
+看破 < kanpa\ ;
+御上 < okami\ ;
+免訴 < menso\ ;
+役務 < ekimu\ ;
+蒙古 < mouko\ ;
+冠者 < kanja\ ;
+廃棄 < haiki\ ;
+利潤 < rijun\ ;
+僧院 < souin\ ;
+軍靴 < gunka\ ;
+冤罪 < enzai\ ;
+遠景 < enkei\ ;
+内苑 < naien\ ;
+廃案 < haian\ ;
+軍需 < gunju\ ;
+鬼門 < kimon\ ;
+遠方 < enpou\ ;
+左舷 < sagen\ ;
+允許 < inkyo\ ;
+帰社 < kisha\ ;
+劣弧 < rekko\ ;
+部品 < buhin\ ;
+砂塵 < sajin\ ;
+初演 < shoen\ ;
+歩廊 < horou\ ;
+歌手 < kashu\ ;
+後事 < kouji\ ;
+勇婦 < yuufu\ ;
+歪度 < waido\ ;
+平炉 < heiro\ ;
+農科 < nouka\ ;
+武弁 < buben\ ;
+都内 < tonai\ ;
+弟子 < deshi\ ;
+左脳 < sanou\ ;
+加年 < kanen\ ;
+近畿 < kinki\ ;
+弁座 < benza\ ;
+別派 < beppa\ ;
+正座 < seiza\ ;
+引導 < indou\ ;
+連歌 < renga\ ;
+魔道 < madou\ ;
+影像 < eizou\ ;
+巫者 < fusha\ ;
+凹版 < ouban\ ;
+内耳 < naiji\ ;
+当否 < touhi\ ;
+利水 < risui\ ;
+造次 < zouji\ ;
+六花 < rikka\ ;
+処理 < shori\ ;
+延引 < en''in\ ;
+睿智 < eichi\ ;
+八苦 < hakku\ ;
+比倫 < hirin\ ;
+過敏 < kabin\ ;
+延延 < en''en\ ;
+動因 < douin\ ;
+弊履 < heiri\ ;
+遺徳 < itoku\ ;
+破倫 < harin\ ;
+北京 < pekin\ ;
+砂嘴 < sashi\ ;
+前期 < zenki\ ;
+次数 < jisuu\ ;
+造機 < zouki\ ;
+比例 < hirei\ ;
+部分 < bubun\ ;
+再縁 < saien\ ;
+目眩 < memai\ ;
+樹脂 < jushi\ ;
+残基 < zanki\ ;
+逸書 < issho\ ;
+都会 < tokai\ ;
+欽慕 < kinbo\ ;
+部内 < bunai\ ;
+六腑 < roppu\ ;
+逓次 < teiji\ ;
+都人 < tojin\ ;
+運搬 < unpan\ ;
+前日 < maebi\ ;
+母体 < botai\ ;
+利権 < riken\ ;
+遷座 < senza\ ;
+加害 < kagai\ ;
+遠慮 < enryo\ ;
+勧化 < kange\ ;
+勇図 < yuuto\ ;
+菩提 < bodai\ ;
+僧都 < souzu\ ;
+武官 < bukan\ ;
+初歩 < shoho\ ;
+石器 < sekki\ ;
+退治 < taiji\ ;
+菲才 < hisai\ ;
+勤務 < kinmu\ ;
+正字 < seiji\ ;
+巨細 < kosai\ ;
+運指 < unshi\ ;
+鳥居 < torii\ ;
+平気 < heiki\ ;
+連架 < renka\ ;
+分派 < bunpa\ ;
+軍部 < gunbu\ ;
+出湯 < ideyu\ ;
+度数 < dosuu\ ;
+遊技 < yuugi\ ;
+退歩 < taiho\ ;
+邦土 < houdo\ ;
+避寒 < hikan\ ;
+部会 < bukai\ ;
+利根 < rikon\ ;
+崎陽 < kiyou\ ;
+年次 < nenji\ ;
+差等 < satou\ ;
+軌道 < kidou\ ;
+遺尿 < inyou\ ;
+死因 < shiin\ ;
+勲位 < kun''i\ ;
+葬具 < sougu\ ;
+円筒 < entou\ ;
+分母 < bunbo\ ;
+茶目 < chame\ ;
+店是 < tenze\ ;
+募兵 < bohei\ ;
+殿下 < denka\ ;
+欝憤 < uppun\ ;
+葬儀 < sougi\ ;
+違心 < ishin\ ;
+弱化 < jakka\ ;
+加増 < kazou\ ;
+遊惰 < yuuda\ ;
+募債 < bosai\ ;
+過怠 < katai\ ;
+出汁 < dashi\ ;
+監理 < kanri\ ;
+前戯 < zengi\ ;
+師父 < shifu\ ;
+庸愚 < yougu\ ;
+引喩 < in''yu\ ;
+帝王 < teiou\ ;
+避妊 < hinin\ ;
+内科 < naika\ ;
+序文 < jobun\ ;
+軍路 < gunro\ ;
+序数 < josuu\ ;
+残務 < zanmu\ ;
+初期 < shoki\ ;
+身重 < miomo\ ;
+座所 < zasho\ ;
+輪舞 < rinbu\ ;
+途方 < tohou\ ;
+儀装 < gisou\ ;
+幽暗 < yuuan\ ;
+英米 < eibei\ ;
+軍費 < gunpi\ ;
+魔街 < magai\ ;
+転訛 < tenka\ ;
+転記 < tenki\ ;
+凱歌 < gaika\ ;
+次年 < jinen\ ;
+遺墨 < iboku\ ;
+遅延 < chien\ ;
+幼時 < youji\ ;
+盆画 < bonga\ ;
+刑期 < keiki\ ;
+年期 < nenki\ ;
+動作 < dousa\ ;
+出様 < deyou\ ;
+芸苑 < geien\ ;
+弧光 < kokou\ ;
+歌壇 < kadan\ ;
+兵科 < heika\ ;
+助命 < jomei\ ;
+高雅 < kouga\ ;
+常温 < jouon\ ;
+前後 < zengo\ ;
+武問 < bumon\ ;
+労務 < roumu\ ;
+差益 < saeki\ ;
+連打 < renda\ ;
+優艶 < yuuen\ ;
+花茎 < kakei\ ;
+砂上 < sajou\ ;
+軍議 < gungi\ ;
+平時 < heiji\ ;
+伊呂波 < iroha\ ;
+円盤 < enban\ ;
+偽電 < giden\ ;
+皮相 < hisou\ ;
+返歌 < henka\ ;
+前座 < zenza\ ;
+痩躯 < souku\ ;
+分木 < bungi\ ;
+正員 < seiin\ ;
+内皮 < naihi\ ;
+模範 < mohan\ ;
+芽胞 < gahou\ ;
+刀架 < touka\ ;
+載荷 < saika\ ;
+皮癬 < hizen\ ;
+遊山 < yusan\ ;
+武名 < bumei\ ;
+亜鉛華 < aenka\ ;
+芙蓉 < fuyou\ ;
+死児 < shiji\ ;
+底意 < sokoi\ ;
+自首 < jishu\ ;
+軍記 < gunki\ ;
+劣化 < rekka\ ;
+遠大 < endai\ ;
+具眼 < gugan\ ;
+次官 < jikan\ ;
+次子 < jishi\ ;
+武勲 < bukun\ ;
+延命 < enmei\ ;
+元素 < genso\ ;
+武勇 < buyuu\ ;
+武功 < bukou\ ;
+廷吏 < teiri\ ;
+円環 < enkan\ ;
+岩魚 < iwana\ ;
+初手 < shote\ ;
+優美 < yuubi\ ;
+儒良 < jugon\ ;
+児童 < jidou\ ;
+歓呼 < kanko\ ;
+鳳凰 < houou\ ;
+知事 < chiji\ ;
+道央 < douou\ ;
+軍衣 < gun''i\ ;
+制度 < seido\ ;
+歩兵 < hohei\ ;
+停音 < teion\ ;
+引例 < inrei\ ;
+痴話 < chiwa\ ;
+加冠 < kakan\ ;
+連座 < renza\ ;
+遠地 < enchi\ ;
+白禍 < hakka\ ;
+過大 < kadai\ ;
+苛税 < kazei\ ;
+遊女 < yuujo\ ;
+輝線 < kisen\ ;
+入相 < iriai\ ;
+芋茎 < zuiki\ ;
+疎開 < sokai\ ;
+前婦 < zenpu\ ;
+偏頗 < henpa\ ;
+遷化 < senge\ ;
+維持費 < ijihi\ ;
+落下 < rakka\ ;
+具現 < gugen\ ;
+冷気 < reiki\ ;
+儒者 < jusha\ ;
+舗道 < hodou\ ;
+先祖 < senzo\ ;
+発破 < happa\ ;
+畳韻 < jouin\ ;
+相棒 < aibou\ ;
+廃園 < haien\ ;
+近時 < kinji\ ;
+魚肥 < gyohi\ ;
+躍起 < yakki\ ;
+花紋 < kamon\ ;
+元祖 < ganso\ ;
+盗汗 < nease\ ;
+武人 < bujin\ ;
+花粉 < kafun\ ;
+舞蹈 < butou\ ;
+幾度 < ikudo\ ;
+次回 < jikai\ ;
+鬱蒼 < ussou\ ;
+舞踊 < buyou\ ;
+輪禍 < rinka\ ;
+刑徒 < keito\ ;
+年後 < nengo\ ;
+連子 < renji\ ;
+相板 < aiban\ ;
+前場 < zenba\ ;
+田麩 < denbu\ ;
+凹所 < ousho\ ;
+偽造 < gizou\ ;
+苦界 < kugai\ ;
+常時 < jouji\ ;
+還付 < kanpu\ ;
+運営 < un''ei\ ;
+年度 < nendo\ ;
+逮夜 < taiya\ ;
+退座 < taiza\ ;
+利害 < rigai\ ;
+艱苦 < kanku\ ;
+次善 < jizen\ ;
+利子 < rishi\ ;
+別家 < bekke\ ;
+遺作 < isaku\ ;
+荒木 < araki\ ;
+岩間 < iwama\ ;
+庭園 < teien\ ;
+鯨波 < geiha\ ;
+年差 < nensa\ ;
+鯨油 < geiyu\ ;
+蹶起 < kekki\ ;
+円満 < enman\ ;
+農期 < nouki\ ;
+判子 < hanko\ ;
+華厳 < kegon\ ;
+遠出 < toode\ ;
+運命 < unmei\ ;
+道化 < douke\ ;
+歌仙 < kasen\ ;
+転義 < tengi\ ;
+次号 < jigou\ ;
+歌人 < kajin\ ;
+相撲 < sumou\ ;
+艶聞 < enbun\ ;
+序奏 < josou\ ;
+近所 < kinjo\ ;
+凡打 < bonda\ ;
+凹形 < oukei\ ;
+舎費 < shahi\ ;
+過勤 < kakin\ ;
+過労 < karou\ ;
+自邸 < jitei\ ;
+運勢 < unsei\ ;
+巨波 < kyoha\ ;
+運動 < undou\ ;
+辞柄 < jihei\ ;
+過剰 < kajou\ ;
+畝間 < unema\ ;
+自選 < jisen\ ;
+辞林 < jirin\ ;
+平家 < heike\ ;
+逸品 < ippin\ ;
+道具 < dougu\ ;
+平安 < heian\ ;
+皆無 < kaimu\ ;
+凡愚 < bongu\ ;
+分岐 < bunki\ ;
+前古 < zenko\ ;
+画餅 < gabei\ ;
+依估地 < ekoji\ ;
+辞書 < jisho\ ;
+造園 < zouen\ ;
+剰余 < jouyo\ ;
+庶務 < shomu\ ;
+画風 < gafuu\ ;
+儀範 < gihan\ ;
+芳眉 < houbi\ ;
+初夜 < shoya\ ;
+樹液 < jueki\ ;
+初夏 < shoka\ ;
+希望 < kibou\ ;
+巨歩 < kyoho\ ;
+幼女 < youjo\ ;
+画題 < gadai\ ;
+分家 < bunke\ ;
+希書 < kisho\ ;
+帰投 < kitou\ ;
+冤枉 < en''ou\ ;
+樹海 < jukai\ ;
+幾夜 < ikuyo\ ;
+幾多 < ikuta\ ;
+次兄 < jikei\ ;
+次元 < jigen\ ;
+迷子 < maigo\ ;
+機械 < kikai\ ;
+座右 < zayuu\ ;
+幻夢 < genmu\ ;
+先父 < senpu\ ;
+遡上 < sojou\ ;
+機根 < kikon\ ;
+偽誓 < gisei\ ;
+造営 < zouei\ ;
+舗装 < hosou\ ;
+異郷 < ikyou\ ;
+画面 < gamen\ ;
+倍音 < baion\ ;
+棋風 < kifuu\ ;
+偽計 < gikei\ ;
+相愛 < souai\ ;
+偽言 < gigen\ ;
+偶語 < guugo\ ;
+機材 < kizai\ ;
+次便 < jibin\ ;
+連呼 < renko\ ;
+左様 < sayou\ ;
+偶詠 < guuei\ ;
+魔神 < majin\ ;
+廊下 < rouka\ ;
+驟雨 < shuuu\ ;
+盲愛 < mouai\ ;
+再案 < saian\ ;
+意気地 < ikuji\ ;
+儀礼 < girei\ ;
+自賛 < jisan\ ;
+連句 < renku\ ;
+路頭 < rotou\ ;
+迷夢 < meimu\ ;
+英法 < eihou\ ;
+自販 < jihan\ ;
+苦渋 < kujuu\ ;
+相応 < souou\ ;
+次代 < jidai\ ;
+尾鰭 < obire\ ;
+師恩 < shion\ ;
+公武 < koubu\ ;
+転移 < ten''i\ ;
+路面 < romen\ ;
+岡辺 < okabe\ ;
+偉蹟 < iseki\ ;
+党派 < touha\ ;
+運上 < unjou\ ;
+業苦 < gouku\ ;
+層雲 < souun\ ;
+座像 < zazou\ ;
+帷幕 < ibaku\ ;
+帷帳 < ichou\ ;
+利口 < rikou\ ;
+機敏 < kibin\ ;
+入歯 < ireba\ ;
+庶事 < shoji\ ;
+魔睡 < masui\ ;
+横死 < oushi\ ;
+軌範 < kihan\ ;
+円本 < enpon\ ;
+儒生 < jusei\ ;
+巡査 < junsa\ ;
+再映 < saiei\ ;
+庵主 < anshu\ ;
+自認 < jinin\ ;
+花片 < kahen\ ;
+鬼神 < kijin\ ;
+輸液 < yueki\ ;
+甘露 < kanro\ ;
+檀徒 < danto\ ;
+異象 < ishou\ ;
+茂林 < morin\ ;
+保養 < hoyou\ ;
+光波 < kouha\ ;
+距離 < kyori\ ;
+左方 < sahou\ ;
+座乗 < zajou\ ;
+樹林 < jurin\ ;
+魔界 < makai\ ;
+平和 < heiwa\ ;
+具有 < guyuu\ ;
+公案 < kouan\ ;
+処女 < shojo\ ;
+帝座 < teiza\ ;
+刑吏 < keiri\ ;
+送受 < souju\ ;
+差損 < sason\ ;
+模様 < moyou\ ;
+機才 < kisai\ ;
+凡夫 < bonpu\ ;
+刻下 < kokka\ ;
+退化 < taika\ ;
+准尉 < jun''i\ ;
+冶工 < yakou\ ;
+横柄 < ouhei\ ;
+典故 < tenko\ ;
+色目 < irome\ ;
+利便 < riben\ ;
+画道 < gadou\ ;
+路銀 < rogin\ ;
+草履 < zouri\ ;
+保険 < hoken\ ;
+年利 < nenri\ ;
+英書 < eisho\ ;
+六日 < muika\ ;
+分区 < bunku\ ;
+八日 < youka\ ;
+公方 < kubou\ ;
+横暴 < oubou\ ;
+冥府 < meifu\ ;
+刑具 < keigu\ ;
+苦杯 < kuhai\ ;
+英明 < eimei\ ;
+檀家 < danka\ ;
+模本 < mohon\ ;
+入日 < irihi\ ;
+尾長 < onaga\ ;
+農婦 < noufu\ ;
+小鬢 < kobin\ ;
+判事 < hanji\ ;
+分利 < bunri\ ;
+英断 < eidan\ ;
+傅育 < fuiku\ ;
+横断 < oudan\ ;
+英文 < eibun\ ;
+凡器 < bonki\ ;
+英数 < eisuu\ ;
+冴寒 < gokan\ ;
+途上 < tojou\ ;
+布巾 < fukin\ ;
+相場 < souba\ ;
+騒音 < souon\ ;
+党是 < touze\ ;
+農奴 < noudo\ ;
+用途 < youto\ ;
+光栄 < kouei\ ;
+茶屋 < chaya\ ;
+輿望 < yobou\ ;
+自著 < jicho\ ;
+児曹 < jisou\ ;
+出前 < demae\ ;
+小馬 < kouma\ ;
+荷台 < nidai\ ;
+甘酢 < amazu\ ;
+苗木 < naegi\ ;
+駻馬 < kanba\ ;
+画賛 < gasan\ ;
+白旗 < hakki\ ;
+送付 < soufu\ ;
+内応 < naiou\ ;
+凍土 < toudo\ ;
+帯地 < obiji\ ;
+辺土 < hendo\ ;
+尾錠 < bijou\ ;
+刑事 < keiji\ ;
+円弾 < endan\ ;
+目垢 < meaka\ ;
+近古 < kinko\ ;
+軽浮 < keifu\ ;
+苛斂 < karen\ ;
+転炉 < tenro\ ;
+農園 < nouen\ ;
+巻尾 < kanbi\ ;
+秋刀魚 < sanma\ ;
+佳麗 < karei\ ;
+艶然 < enzen\ ;
+英才 < eisai\ ;
+腰部 < youbu\ ;
+軽油 < keiyu\ ;
+幇助 < houjo\ ;
+内帑 < naido\ ;
+画談 < gadan\ ;
+写字 < shaji\ ;
+供養 < kuyou\ ;
+倒語 < tougo\ ;
+鬼火 < onibi\ ;
+魚油 < gyoyu\ ;
+帝土 < teido\ ;
+機嫌 < kigen\ ;
+花梨 < karin\ ;
+兌換 < dakan\ ;
+魔法 < mahou\ ;
+苦戦 < kusen\ ;
+傷痍 < shoui\ ;
+候補 < kouho\ ;
+常務 < joumu\ ;
+帰参 < kisan\ ;
+円居 < madoi\ ;
+樹幹 < jukan\ ;
+苦慮 < kuryo\ ;
+馬齢 < barei\ ;
+余齢 < yorei\ ;
+痔瘻 < jirou\ ;
+巨富 < kyofu\ ;
+公庫 < kouko\ ;
+備砲 < bihou\ ;
+公序 < koujo\ ;
+苦情 < kujou\ ;
+茶園 < chaen\ ;
+苦悶 < kumon\ ;
+苦悩 < kunou\ ;
+用語 < yougo\ ;
+左官 < sakan\ ;
+槐樹 < kaiju\ ;
+冗多 < jouta\ ;
+軟派 < nanpa\ ;
+公布 < koufu\ ;
+異腹 < ifuku\ ;
+先手 < sente\ ;
+公差 < kousa\ ;
+茶器 < chaki\ ;
+臓腑 < zoufu\ ;
+鬱滞 < uttai\ ;
+桂馬 < keima\ ;
+返付 < henpu\ ;
+梅酢 < umezu\ ;
+農務 < noumu\ ;
+常備 < joubi\ ;
+苦役 < kueki\ ;
+舌禍 < zekka\ ;
+嵐気 < ranki\ ;
+梵語 < bongo\ ;
+県下 < kenka\ ;
+腕輪 < udewa\ ;
+起電 < kiden\ ;
+師儒 < shiju\ ;
+家鴨 < ahiru\ ;
+寝顔 < negao\ ;
+農具 < nougu\ ;
+市営 < shiei\ ;
+円墳 < enpun\ ;
+色気 < iroke\ ;
+辞去 < jikyo\ ;
+鬼歯 < oniba\ ;
+封鎖 < fuusa\ ;
+英屯 < eiton\ ;
+尖部 < senbu\ ;
+工場 < kouba\ ;
+発布 < happu\ ;
+帰任 < kinin\ ;
+兄後 < anigo\ ;
+八重歯 < yaeba\ ;
+倶者 < kusha\ ;
+俚諺 < rigen\ ;
+俎豆 < sotou\ ;
+生蝋 < kirou\ ;
+克己 < kokki\ ;
+内因 < naiin\ ;
+跛行 < hakou\ ;
+盲亀 < mouki\ ;
+苦寒 < kukan\ ;
+疫痢 < ekiri\ ;
+盛儀 < seigi\ ;
+市区 < shiku\ ;
+馬首 < bashu\ ;
+余香 < yokou\ ;
+登山 < tozan\ ;
+冗句 < jouku\ ;
+大伯父 < oooji\ ;
+農事 < nouji\ ;
+権威 < ken''i\ ;
+目下 < mokka\ ;
+嶮岨 < kenso\ ;
+自社 < jisha\ ;
+疣痔 < iboji\ ;
+余風 < yofuu\ ;
+余類 < yorui\ ;
+児孫 < jison\ ;
+馬頭 < batou\ ;
+甘藻 < amamo\ ;
+家風 < kafuu\ ;
+艶書 < ensho\ ;
+優弧 < yuuko\ ;
+辞令 < jirei\ ;
+棉花 < menka\ ;
+機内 < kinai\ ;
+公図 < kouzu\ ;
+兵営 < heiei\ ;
+田舎 < inaka\ ;
+左右 < sayuu\ ;
+全土 < zendo\ ;
+全図 < zenzu\ ;
+胯間 < kokan\ ;
+画聖 < gasei\ ;
+希代 < kidai\ ;
+小豆 < azuki\ ;
+兵員 < heiin\ ;
+案配 < anbai\ ;
+家電 < kaden\ ;
+内務 < naimu\ ;
+尊貴 < sonki\ ;
+差分 < sabun\ ;
+内助 < naijo\ ;
+瓦解 < gakai\ ;
+冠位 < kan''i\ ;
+梅見 < umemi\ ;
+工務 < koumu\ ;
+模型 < mokei\ ;
+栄養 < eiyou\ ;
+俘虜 < furyo\ ;
+魔手 < mashu\ ;
+低雲 < teiun\ ;
+布令 < furei\ ;
+白堊 < hakua\ ;
+兼務 < kenmu\ ;
+路肩 < roken\ ;
+似顔 < nigao\ ;
+甲羅 < koura\ ;
+自由 < jiyuu\ ;
+棄背 < kihai\ ;
+便衣 < ben''i\ ;
+円光 < enkou\ ;
+自用 < jiyou\ ;
+使途 < shito\ ;
+軽微 < keibi\ ;
+兵匪 < heihi\ ;
+工具 < kougu\ ;
+登坂 < tohan\ ;
+富鉱 < fukou\ ;
+侮言 < bugen\ ;
+輿地 < yochi\ ;
+芸子 < geiko\ ;
+背離 < hairi\ ;
+左傾 < sakei\ ;
+保菌 < hokin\ ;
+八卦 < hakke\ ;
+軽度 < keido\ ;
+巴人 < hajin\ ;
+画紙 < gashi\ ;
+公募 < koubo\ ;
+番目 < banme\ ;
+大伯母 < oooba\ ;
+兼備 < kenbi\ ;
+寄金 < kikin\ ;
+走路 < souro\ ;
+魔弾 < madan\ ;
+岡目 < okame\ ;
+官需 < kanju\ ;
+瑞雲 < zuiun\ ;
+高温 < kouon\ ;
+尾花 < obana\ ;
+対話 < taiwa\ ;
+伝馬 < tenma\ ;
+轍叉 < tessa\ ;
+依託 < itaku\ ;
+脳裡 < nouri\ ;
+権化 < gonge\ ;
+苦吟 < kugin\ ;
+芸妓 < geigi\ ;
+路線 < rosen\ ;
+赤身 < akami\ ;
+兵備 < heibi\ ;
+富農 < funou\ ;
+修羅 < shura\ ;
+芥子 < keshi\ ;
+疑点 < giten\ ;
+樽俎 < sonso\ ;
+侍講 < jikou\ ;
+軍手 < gunte\ ;
+権利 < kenri\ ;
+会飲 < kaiin\ ;
+典侍 < tenji\ ;
+安静 < ansei\ ;
+駅路 < ekiro\ ;
+入内 < judai\ ;
+党務 < toumu\ ;
+具体 < gutai\ ;
+発句 < hokku\ ;
+苦労 < kurou\ ;
+様子 < yousu\ ;
+保育 < hoiku\ ;
+画稿 < gakou\ ;
+例話 < reiwa\ ;
+全備 < zenbi\ ;
+党利 < touri\ ;
+自炊 < jisui\ ;
+佳賓 < kahin\ ;
+生糸 < kiito\ ;
+模写 < mosha\ ;
+僧徒 < souto\ ;
+疎漏 < sorou\ ;
+安閑 < ankan\ ;
+樹上 < jujou\ ;
+余輩 < yohai\ ;
+梅花 < baika\ ;
+儀容 < giyou\ ;
+田租 < denso\ ;
+馬車 < basha\ ;
+先務 < senmu\ ;
+俺等 < orera\ ;
+模倣 < mohou\ ;
+富豪 < fugou\ ;
+馬蹄 < batei\ ;
+践祚 < senso\ ;
+路程 < rotei\ ;
+紫雲英 < genge\ ;
+寄贈 < kizou\ ;
+体躯 < taiku\ ;
+痴愚 < chigu\ ;
+背部 < haibu\ ;
+保線 < hosen\ ;
+英主 < eishu\ ;
+元利 < genri\ ;
+倫理 < rinri\ ;
+車庫 < shako\ ;
+寓話 < guuwa\ ;
+疏水 < sosui\ ;
+余財 < yozai\ ;
+脾臟 < hizou\ ;
+僧尼 < souni\ ;
+発作 < hossa\ ;
+自治 < jichi\ ;
+癒合 < yugou\ ;
+充備 < juubi\ ;
+脾腫 < hishu\ ;
+尾籠 < birou\ ;
+痛手 < itade\ ;
+家財 < kazai\ ;
+転婆 < tenba\ ;
+鬼子 < onigo\ ;
+官途 < kanto\ ;
+自民 < jimin\ ;
+保管 < hokan\ ;
+栄転 < eiten\ ;
+検波 < kenpa\ ;
+字面 < jimen\ ;
+路盤 < roban\ ;
+舵手 < dashu\ ;
+余談 < yodan\ ;
+富裕 < fuyuu\ ;
+産着 < ubugi\ ;
+偏波 < henha\ ;
+偽本 < gihon\ ;
+艶姿 < enshi\ ;
+優利 < yuuri\ ;
+極意 < gokui\ ;
+仮面 < kamen\ ;
+偽書 < gisho\ ;
+岡湯 < okayu\ ;
+保税 < hozei\ ;
+余計 < yokei\ ;
+僅差 < kinsa\ ;
+俯瞰 < fukan\ ;
+臨機 < rinki\ ;
+未曾有 < mizou\ ;
+艇庫 < teiko\ ;
+尊者 < sonja\ ;
+跡目 < atome\ ;
+路用 < royou\ ;
+家訓 < kakun\ ;
+低語 < teigo\ ;
+実費 < jippi\ ;
+傾差 < keisa\ ;
+男猫 < oneko\ ;
+甦生 < sosei\ ;
+起草 < kisou\ ;
+余裕 < yoyuu\ ;
+嵩呼 < suuko\ ;
+官費 < kanpi\ ;
+養鯉 < youri\ ;
+軍夫 < gunpu\ ;
+疎林 < sorin\ ;
+家裁 < kasai\ ;
+俳画 < haiga\ ;
+他面 < tamen\ ;
+小紋 < komon\ ;
+生理 < seiri\ ;
+腋窩 < ekika\ ;
+付随 < fuzui\ ;
+家蝿 < iebae\ ;
+検査 < kensa\ ;
+備忘 < bibou\ ;
+小粋 < koiki\ ;
+実記 < jikki\ ;
+人馬 < jinba\ ;
+億劫 < okkuu\ ;
+自暴 < jibou\ ;
+便秘 < benpi\ ;
+官話 < kanwa\ ;
+伯父貴 < ojiki\ ;
+疎放 < sohou\ ;
+余薫 < yokun\ ;
+自明 < jimei\ ;
+臨時 < rinji\ ;
+餌食 < ejiki\ ;
+定規 < jougi\ ;
+船尾 < senbi\ ;
+今際 < imawa\ ;
+億円 < okuen\ ;
+儀刀 < gitou\ ;
+守護 < shugo\ ;
+会費 < kaihi\ ;
+岩根 < iwane\ ;
+男滝 < odaki\ ;
+瓜科 < urika\ ;
+軽侮 < keibu\ ;
+供米 < kumai\ ;
+栄螺 < sazae\ ;
+値段 < nedan\ ;
+孤軍 < kogun\ ;
+偽悪 < giaku\ ;
+亜麻仁 < amani\ ;
+疲弊 < hihei\ ;
+会議 < kaigi\ ;
+来駕 < raiga\ ;
+高座 < kouza\ ;
+良医 < ryoui\ ;
+伝記 < denki\ ;
+会話 < kaiwa\ ;
+余芳 < yohou\ ;
+乱麻 < ranma\ ;
+傘寿 < sanju\ ;
+山河 < sanga\ ;
+耳順 < jijun\ ;
+伽藍 < garan\ ;
+儀仗 < gijou\ ;
+守衛 < shuei\ ;
+軍務 < gunmu\ ;
+産湯 < ubuyu\ ;
+香華 < kouge\ ;
+尾燈 < bitou\ ;
+供祭 < gusai\ ;
+賓辞 < hinji\ ;
+五十路 < isoji\ ;
+舞子 < maiko\ ;
+自慢 < jiman\ ;
+楽器 < gakki\ ;
+疑念 < ginen\ ;
+余聞 < yobun\ ;
+学課 < gakka\ ;
+馬耕 < bakou\ ;
+踏査 < tousa\ ;
+画楼 < garou\ ;
+脱皮 < dappi\ ;
+来院 < raiin\ ;
+侍祭 < jisai\ ;
+軍備 < gunbi\ ;
+産気 < sanke\ ;
+産毛 < ubuge\ ;
+腐爛 < furan\ ;
+脱疽 < dasso\ ;
+岩戸 < iwato\ ;
+寿盃 < juhai\ ;
+自弁 < jiben\ ;
+番手 < bante\ ;
+偸安 < touan\ ;
+小琴 < ogoto\ ;
+俄然 < gazen\ ;
+画板 < gaban\ ;
+字訓 < jikun\ ;
+梳毛 < somou\ ;
+飛電 < hiden\ ;
+二階 < nikai\ ;
+画材 < gazai\ ;
+軍事 < gunji\ ;
+理財 < rizai\ ;
+画本 < gahon\ ;
+畸形 < kikei\ ;
+代議 < daigi\ ;
+走破 < souha\ ;
+債務 < saimu\ ;
+身分 < mibun\ ;
+賄賂 < wairo\ ;
+育英 < ikuei\ ;
+小犬 < koinu\ ;
+由来 < yurai\ ;
+伽羅 < kyara\ ;
+仏貨 < fukka\ ;
+東都 < touto\ ;
+東部 < toubu\ ;
+仮装 < kasou\ ;
+自尽 < jijin\ ;
+理論 < riron\ ;
+偏差 < hensa\ ;
+尊父 < sonpu\ ;
+偽報 < gihou\ ;
+定義 < teigi\ ;
+備品 < bihin\ ;
+貨車 < kasha\ ;
+俗気 < zokke\ ;
+自害 < jigai\ ;
+貸費 < taihi\ ;
+留意 < ryuui\ ;
+何箇 < nanko\ ;
+個数 < kosuu\ ;
+寝相 < nezou\ ;
+颶風 < gufuu\ ;
+桂皮 < keihi\ ;
+飲酒 < inshu\ ;
+亨運 < kouun\ ;
+理解 < rikai\ ;
+何等 < nanra\ ;
+販路 < hanro\ ;
+俗歌 < zokka\ ;
+乗馬 < jouba\ ;
+付言 < fugen\ ;
+赤目 < akame\ ;
+介護 < kaigo\ ;
+他言 < tagon\ ;
+五重 < gojuu\ ;
+舞台 < butai\ ;
+朝餉 < asage\ ;
+寡男 < yamoo\ ;
+他見 < taken\ ;
+舎営 < shaei\ ;
+伎芸 < gigei\ ;
+疎外 < sogai\ ;
+偶因 < guuin\ ;
+安置 < anchi\ ;
+傍受 < bouju\ ;
+岩屋 < iwaya\ ;
+二重 < futae\ ;
+肥育 < hiiku\ ;
+小滝 < otaki\ ;
+偽善 < gizen\ ;
+梧桐 < gotou\ ;
+画才 < gasai\ ;
+画手 < gashu\ ;
+風韻 < fuuin\ ;
+他行 < takou\ ;
+財貨 < zaika\ ;
+互選 < gosen\ ;
+風靡 < fuubi\ ;
+伎能 < ginou\ ;
+未開 < mikai\ ;
+貴覧 < kiran\ ;
+風雲 < fuuun\ ;
+乖離 < kairi\ ;
+疲労 < hirou\ ;
+偽名 < gimei\ ;
+人語 < jingo\ ;
+風雅 < fuuga\ ;
+五輪 < gorin\ ;
+偽史 < gishi\ ;
+予選 < yosen\ ;
+乗除 < joujo\ ;
+偏奇 < henki\ ;
+主馬 < shume\ ;
+保有 < hoyuu\ ;
+自在 < jizai\ ;
+二輪 < nirin\ ;
+朝間 < asama\ ;
+脳波 < nouha\ ;
+実科 < jikka\ ;
+屠所 < tosho\ ;
+疑問 < gimon\ ;
+舎利 < shari\ ;
+二軍 < nigun\ ;
+倒影 < touei\ ;
+他薦 < tazen\ ;
+駄犬 < daken\ ;
+飛車 < hisha\ ;
+屹度 < kitto\ ;
+倭寇 < wakou\ ;
+小歌 < kouta\ ;
+主音 < shuon\ ;
+容疑 < yougi\ ;
+余生 < yosei\ ;
+美麗 < birei\ ;
+定礎 < teiso\ ;
+岩場 < iwaba\ ;
+自問 < jimon\ ;
+偽兵 < gihei\ ;
+腕木 < udegi\ ;
+画帖 < gajou\ ;
+羽音 < haoto\ ;
+倉庫 < souko\ ;
+机辺 < kihen\ ;
+異国 < ikoku\ ;
+村費 < sonpi\ ;
+賢者 < kenja\ ;
+本部 < honbu\ ;
+互譲 < gojou\ ;
+対欧 < taiou\ ;
+老躯 < rouku\ ;
+産後 < sango\ ;
+用度 < youdo\ ;
+書院 < shoin\ ;
+桐油 < touyu\ ;
+未遂 < misui\ ;
+生徒 < seito\ ;
+生後 < seigo\ ;
+脚気 < kakke\ ;
+王道 < oudou\ ;
+賛美 < sanbi\ ;
+腐敗 < fuhai\ ;
+蹄叉 < teisa\ ;
+木通 < akebi\ ;
+仕舞 < jimai\ ;
+越権 < ekken\ ;
+跋扈 < bakko\ ;
+余燼 < yojin\ ;
+自前 < jimae\ ;
+胃痛 < itsuu\ ;
+小枝 < koeda\ ;
+胃病 < ibyou\ ;
+自分 < jibun\ ;
+起毛 < kimou\ ;
+瑪瑙 < menou\ ;
+風邪 < fuuja\ ;
+作為 < sakui\ ;
+安眠 < anmin\ ;
+自党 < jitou\ ;
+尿意 < nyoui\ ;
+望遠 < bouen\ ;
+予言 < yogen\ ;
+九輪 < kurin\ ;
+乱費 < ranpi\ ;
+他聞 < tabun\ ;
+未踏 < mitou\ ;
+対案 < taian\ ;
+予見 < yoken\ ;
+他者 < tasha\ ;
+仮納 < kanou\ ;
+猪首 < ikubi\ ;
+不順 < fujun\ ;
+一首 < isshu\ ;
+産屋 < ubuya\ ;
+仮粧 < kewai\ ;
+豪語 < gougo\ ;
+類韻 < ruiin\ ;
+類音 < ruion\ ;
+貧苦 < hinku\ ;
+男女 < danjo\ ;
+根気 < konki\ ;
+赤毛 < akage\ ;
+一飯 < ippan\ ;
+美風 < bifuu\ ;
+飛行 < hikou\ ;
+京華 < keika\ ;
+安産 < anzan\ ;
+一風 < ippuu\ ;
+美顔 < bigan\ ;
+実父 < jippu\ ;
+自伝 < jiden\ ;
+聖者 < seija\ ;
+便所 < benjo\ ;
+世間 < seken\ ;
+一頭 < ittou\ ;
+自今 < jikon\ ;
+主部 < shubu\ ;
+一項 < ikkou\ ;
+田夫 < denpu\ ;
+飛蝗 < batta\ ;
+理系 < rikei\ ;
+産婦 < sanpu\ ;
+寸暇 < sunka\ ;
+架空 < kakuu\ ;
+産婆 < sanba\ ;
+豌豆 < endou\ ;
+下阪 < gehan\ ;
+寸時 < sunji\ ;
+梵字 < bonji\ ;
+甘子 < amago\ ;
+体温 < taion\ ;
+仁義 < jingi\ ;
+主辞 < shuji\ ;
+暴飲 < bouin\ ;
+寝棺 < nekan\ ;
+走査 < sousa\ ;
+一階 < ikkai\ ;
+本訴 < honso\ ;
+一隊 < ittai\ ;
+曹達 < souda\ ;
+貧者 < hinja\ ;
+田圃 < denpo\ ;
+付箋 < fusen\ ;
+一閃 < issen\ ;
+侮慢 < buman\ ;
+作歌 < sakka\ ;
+木乃伊 < miira\ ;
+義金 < gikin\ ;
+保守 < hoshu\ ;
+風諭 < fuuyu\ ;
+世銀 < segin\ ;
+保存 < hozon\ ;
+甘夢 < kanmu\ ;
+尤度 < yuudo\ ;
+月賦 < geppu\ ;
+展墓 < tenbo\ ;
+珪素 < keiso\ ;
+核果 < kakka\ ;
+尊意 < son''i\ ;
+香油 < kouyu\ ;
+用器 < youki\ ;
+案文 < anmon\ ;
+朗詠 < rouei\ ;
+倒句 < touku\ ;
+倒叙 < toujo\ ;
+仮眠 < kamin\ ;
+五臓 < gozou\ ;
+背泳 < haiei\ ;
+亡者 < mouja\ ;
+万里 < banri\ ;
+理知 < richi\ ;
+仏祖 < busso\ ;
+駄文 < dabun\ ;
+義軍 < gigun\ ;
+倭人 < wajin\ ;
+七重 < nanae\ ;
+下郎 < gerou\ ;
+上部 < joubu\ ;
+頓馬 < tonma\ ;
+三部 < sanbu\ ;
+不遜 < fuson\ ;
+不遇 < fuguu\ ;
+便宜 < bengi\ ;
+不逞 < futei\ ;
+小川 < ogawa\ ;
+不退 < futai\ ;
+美酒 < bishu\ ;
+主訴 < shuso\ ;
+暗雲 < an''un\ ;
+二十重 < hatae\ ;
+男児 < danji\ ;
+二者 < nisha\ ;
+画像 < gazou\ ;
+俳味 < haimi\ ;
+用務 < youmu\ ;
+婦道 < fudou\ ;
+村翁 < sonou\ ;
+安泰 < antai\ ;
+肥満 < himan\ ;
+下輩 < gehai\ ;
+家来 < kerai\ ;
+値上 < neage\ ;
+甘味 < kanmi\ ;
+俳句 < haiku\ ;
+一遍 < ippen\ ;
+老舗 < rouho\ ;
+暗闘 < antou\ ;
+下車 < gesha\ ;
+甚句 < jinku\ ;
+些細 < sasai\ ;
+理由 < riyuu\ ;
+人祖 < jinso\ ;
+乱舞 < ranbu\ ;
+侍従 < jijuu\ ;
+娃鬟 < aikan\ ;
+会派 < kaiha\ ;
+他界 < takai\ ;
+五絃 < gogen\ ;
+小字 < koaza\ ;
+屋台 < yatai\ ;
+尊家 < sonka\ ;
+一転 < itten\ ;
+画人 < gajin\ ;
+題辞 < daiji\ ;
+一軒 < ikken\ ;
+実梅 < miume\ ;
+路傍 < robou\ ;
+本舗 < honpo\ ;
+不買 < fubai\ ;
+下賤 < gesen\ ;
+寝息 < neiki\ ;
+枯燥 < kosou\ ;
+木舞 < komai\ ;
+老翁 < rouou\ ;
+羽蟻 < haari\ ;
+寛恕 < kanjo\ ;
+費用 < hiyou\ ;
+代父 < daifu\ ;
+貫目 < kanme\ ;
+義訓 < gikun\ ;
+予納 < yonou\ ;
+万貨 < banka\ ;
+板目 < itame\ ;
+頭重 < zuomo\ ;
+梅園 < baien\ ;
+貴男 < takao\ ;
+定期 < teiki\ ;
+小声 < kogoe\ ;
+桂庵 < keian\ ;
+一貫 < ikkan\ ;
+生保 < seiho\ ;
+便器 < benki\ ;
+未聞 < mimon\ ;
+音韻 < on''in\ ;
+景雲 < keiun\ ;
+二等 < nitou\ ;
+上諭 < jouyu\ ;
+予算 < yosan\ ;
+類語 < ruigo\ ;
+路上 < rojou\ ;
+本義 < hongi\ ;
+豆腐 < toufu\ ;
+駄弁 < daben\ ;
+婦警 < fukei\ ;
+起居 < kikyo\ ;
+板画 < hanga\ ;
+体技 < taigi\ ;
+保冷 < horei\ ;
+余憤 < yofun\ ;
+上訴 < jouso\ ;
+保全 < hozen\ ;
+二種 < nishu\ ;
+果然 < kazen\ ;
+音階 < onkai\ ;
+美談 < bidan\ ;
+家憲 < kaken\ ;
+代演 < daien\ ;
+余情 < yojou\ ;
+寡居 < kakyo\ ;
+犬馬 < kenba\ ;
+尼僧 < nisou\ ;
+翡翠 < hisui\ ;
+枯淡 < kotan\ ;
+未練 < miren\ ;
+一計 < ikkei\ ;
+美観 < bikan\ ;
+預金 < yokin\ ;
+余念 < yonen\ ;
+題詠 < daiei\ ;
+木綿 < momen\ ;
+丹色 < niiro\ ;
+王統 < outou\ ;
+趣味 < shumi\ ;
+賢母 < kenbo\ ;
+暗転 < anten\ ;
+未納 < minou\ ;
+議題 < gidai\ ;
+余弊 < yohei\ ;
+赤字 < akaji\ ;
+養父 < youfu\ ;
+来由 < raiyu\ ;
+根子 < nekko\ ;
+寸土 < sundo\ ;
+何度 < nando\ ;
+胡座 < agura\ ;
+案外 < angai\ ;
+作務衣 < samue\ ;
+曳航 < eikou\ ;
+理法 < rihou\ ;
+風紀 < fuuki\ ;
+代母 < daibo\ ;
+人為 < jin''i\ ;
+伝播 < denpa\ ;
+罵言 < bagen\ ;
+騎兵 < kihei\ ;
+桑園 < souen\ ;
+互用 < goyou\ ;
+主義 < shugi\ ;
+条理 < jouri\ ;
+小勢 < kozei\ ;
+寄寓 < kiguu\ ;
+二番 < niban\ ;
+背後 < haigo\ ;
+牡鹿 < ojika\ ;
+本科 < honka\ ;
+馬屋 < umaya\ ;
+伝授 < denju\ ;
+小判 < koban\ ;
+羽翼 < uyoku\ ;
+枝毛 < edage\ ;
+寿司 < sushi\ ;
+首座 < shuza\ ;
+首府 < shufu\ ;
+亡父 < boufu\ ;
+普遍 < fuhen\ ;
+余寒 < yokan\ ;
+譜面 < fumen\ ;
+任期 < ninki\ ;
+赭土 < shado\ ;
+家屋 < kaoku\ ;
+聖油 < seiyu\ ;
+猟虎 < rakko\ ;
+寝坊 < nebou\ ;
+飴煮 < ameni\ ;
+枢機 < suuki\ ;
+住居 < sumai\ ;
+胃弱 < ijaku\ ;
+伝手 < tsute\ ;
+宵寝 < yoine\ ;
+足下 < sokka\ ;
+小僧 < kozou\ ;
+宝庫 < houko\ ;
+順路 < junro\ ;
+上荷 < uwani\ ;
+一葦 < ichii\ ;
+宮居 < miyai\ ;
+脱兎 < datto\ ;
+羽織 < haori\ ;
+暗視 < anshi\ ;
+林檎 < ringo\ ;
+代案 < daian\ ;
+首尾 < shubi\ ;
+越冬 < ettou\ ;
+安心 < anjin\ ;
+貪汚 < tan''o\ ;
+価値 < kachi\ ;
+妖魔 < youma\ ;
+一艘 < issou\ ;
+来演 < raien\ ;
+休意 < kyuui\ ;
+養母 < youbo\ ;
+一致 < itchi\ ;
+駅員 < ekiin\ ;
+会得 < etoku\ ;
+寝台 < nedai\ ;
+不老 < furou\ ;
+護送 < gosou\ ;
+他村 < tason\ ;
+杜漏 < zurou\ ;
+査定 < satei\ ;
+宗家 < souke\ ;
+牝馬 < hinba\ ;
+美育 < biiku\ ;
+案分 < anbun\ ;
+仏果 < bukka\ ;
+老爺 < rouya\ ;
+老父 < roufu\ ;
+頭蓋 < zugai\ ;
+理数 < risuu\ ;
+亜流 < aryuu\ ;
+象牙 < zouge\ ;
+警邏 < keira\ ;
+安居 < ankyo\ ;
+東欧 < touou\ ;
+駆動 < kudou\ ;
+贔屓 < hiiki\ ;
+寡兵 < kahei\ ;
+他方 < tahou\ ;
+任意 < nin''i\ ;
+類縁 < ruien\ ;
+余喘 < yozen\ ;
+讒誣 < zanbu\ ;
+亡母 < boubo\ ;
+居留守 < irusu\ ;
+安定 < antei\ ;
+下緒 < sageo\ ;
+宇宙 < uchuu\ ;
+讒訴 < zanso\ ;
+音詩 < onshi\ ;
+伎工 < gikou\ ;
+音訓 < onkun\ ;
+賢愚 < kengu\ ;
+胃壁 < iheki\ ;
+余命 < yomei\ ;
+不粋 < busui\ ;
+妖雲 < youun\ ;
+赴任 < funin\ ;
+賦性 < fusei\ ;
+代打 < daida\ ;
+案件 < anken\ ;
+獣皮 < juuhi\ ;
+五段 < godan\ ;
+賛意 < san''i\ ;
+板木 < hangi\ ;
+飢民 < kimin\ ;
+飛泉 < hisen\ ;
+未然 < mizen\ ;
+駐伊 < chuui\ ;
+映配 < eihai\ ;
+孤帆 < kohan\ ;
+作動 < sadou\ ;
+一糸 < isshi\ ;
+不等 < futou\ ;
+人時 < ninji\ ;
+頭脳 < zunou\ ;
+木灰 < kibai\ ;
+羅紗 < rasha\ ;
+奇麗 < kirei\ ;
+仕手 < shite\ ;
+馬券 < baken\ ;
+宮司 < guuji\ ;
+理想 < risou\ ;
+宥和 < yuuwa\ ;
+議論 < giron\ ;
+書画 < shoga\ ;
+獲物 < emono\ ;
+奮飛 < funpi\ ;
+肥大 < hidai\ ;
+余党 < yotou\ ;
+理性 < risei\ ;
+時論 < jiron\ ;
+警護 < keigo\ ;
+負数 < fusuu\ ;
+二様 < niyou\ ;
+義眼 < gigan\ ;
+査問 < samon\ ;
+理念 < rinen\ ;
+青馬 < aouma\ ;
+譫語 < sengo\ ;
+未満 < miman\ ;
+家内 < kanai\ ;
+世知 < sechi\ ;
+定員 < teiin\ ;
+買手 < kaite\ ;
+寝椅子 < neisu\ ;
+来期 < raiki\ ;
+井桁 < igeta\ ;
+暗翳 < an''ei\ ;
+未済 < misai\ ;
+姉貴 < aneki\ ;
+老母 < roubo\ ;
+他念 < tanen\ ;
+宛名 < atena\ ;
+女難 < jonan\ ;
+奴隷 < dorei\ ;
+世相 < sesou\ ;
+仲居 < nakai\ ;
+末派 < mappa\ ;
+非難 < hinan\ ;
+下知 < gedji\ ;
+太鼓 < taiko\ ;
+須臾 < shuyu\ ;
+朝湯 < asayu\ ;
+奔馬 < honba\ ;
+聖恩 < seion\ ;
+嫌気 < kenki\ ;
+不眠 < fumin\ ;
+亜族 < azoku\ ;
+仁慈 < jinji\ ;
+仮寓 < kaguu\ ;
+仏徒 < butto\ ;
+板戸 < itado\ ;
+人我 < jinga\ ;
+貧打 < hinda\ ;
+余人 < yonin\ ;
+他店 < taten\ ;
+大黄 < daiou\ ;
+上着 < uwagi\ ;
+大麻 < taima\ ;
+本気 < honki\ ;
+老樹 < rouju\ ;
+是認 < zenin\ ;
+負担 < futan\ ;
+暗線 < ansen\ ;
+上目 < uwame\ ;
+栄冠 < eikan\ ;
+低価 < teika\ ;
+王水 < ousui\ ;
+今後 < kongo\ ;
+世界 < sekai\ ;
+孟女 < moujo\ ;
+飛来 < hirai\ ;
+二更 < nikou\ ;
+馬上 < bajou\ ;
+家人 < kenin\ ;
+仁恕 < jinjo\ ;
+孟夏 < mouka\ ;
+斑鳩 < ikaru\ ;
+風波 < fuuha\ ;
+今度 < kondo\ ;
+下疳 < gekan\ ;
+音色 < neiro\ ;
+而来 < jirai\ ;
+杜撰 < zusan\ ;
+譎詐 < kissa\ ;
+下界 < gekai\ ;
+下男 < genan\ ;
+下田 < geden\ ;
+暖簾 < noren\ ;
+他山 < tazan\ ;
+子女 < shijo\ ;
+王権 < ouken\ ;
+飛散 < hisan\ ;
+嬌態 < shina\ ;
+美男 < binan\ ;
+美田 < biden\ ;
+一生 < issei\ ;
+安全 < anzen\ ;
+五指 < goshi\ ;
+仏家 < bukke\ ;
+特記 < tokki\ ;
+既遂 < kisui\ ;
+題画 < daiga\ ;
+聖寿 < seiju\ ;
+謹話 < kinwa\ ;
+不犯 < fubon\ ;
+今宵 < koyoi\ ;
+五戒 < gokai\ ;
+杞憂 < kiyuu\ ;
+面部 < menbu\ ;
+明記 < meiki\ ;
+他姓 < tasei\ ;
+女郎 < jorou\ ;
+財布 < saifu\ ;
+未来 < mirai\ ;
+不燃 < funen\ ;
+一献 < ikkon\ ;
+施錠 < sejou\ ;
+安住 < anjuu\ ;
+座椅子 < zaisu\ ;
+非道 < hidou\ ;
+霧雰 < mufun\ ;
+板屋 < itaya\ ;
+五悪 < goaku\ ;
+学区 < gakku\ ;
+人寿 < jinju\ ;
+与点 < yoten\ ;
+人家 < jinka\ ;
+未明 < mimei\ ;
+互恵 < gokei\ ;
+面輪 < omowa\ ;
+貧富 < hinpu\ ;
+現場 < genba\ ;
+貧家 < hinka\ ;
+類火 < ruika\ ;
+存否 < zonpi\ ;
+板子 < itago\ ;
+奠都 < tento\ ;
+聖夜 < seiya\ ;
+今夏 < konka\ ;
+予想 < yosou\ ;
+任務 < ninmu\ ;
+方里 < houri\ ;
+王政 < ousei\ ;
+美点 < biten\ ;
+二念 < ninen\ ;
+講話 < kouwa\ ;
+賛否 < sanpi\ ;
+大雨 < ooame\ ;
+夕餉 < yuuge\ ;
+太陰 < taiin\ ;
+朝日 < asahi\ ;
+代員 < daiin\ ;
+上演 < jouen\ ;
+文雅 < bunga\ ;
+不満 < fuman\ ;
+贈与 < zouyo\ ;
+乱打 < randa\ ;
+外題 < gedai\ ;
+牡蠣 < borei\ ;
+奮起 < funki\ ;
+人夫 < ninpu\ ;
+耶嬢 < yajou\ ;
+妄語 < mougo\ ;
+貞婦 < teifu\ ;
+義民 < gimin\ ;
+語類 < gorui\ ;
+方途 < houto\ ;
+仏器 < bukki\ ;
+日課 < nikka\ ;
+語順 < gojun\ ;
+主査 < shusa\ ;
+多難 < tanan\ ;
+不浄 < fujou\ ;
+日記 < nikki\ ;
+以北 < ihoku\ ;
+子分 < kobun\ ;
+外需 < gaiju\ ;
+学位 < gakui\ ;
+本手 < honte\ ;
+貞女 < teijo\ ;
+音程 < ontei\ ;
+翻意 < hon''i\ ;
+謀議 < bougi\ ;
+不法 < fuhou\ ;
+代務 < daimu\ ;
+羅漢 < rakan\ ;
+罹災 < risai\ ;
+未成 < misei\ ;
+最期 < saigo\ ;
+雪駄 < setta\ ;
+夕陽 < yuuhi\ ;
+夜間 < yakan\ ;
+老後 < rougo\ ;
+旅費 < ryohi\ ;
+井守 < imori\ ;
+青貝 < aogai\ ;
+下水 < gesui\ ;
+奈辺 < nahen\ ;
+整除 < seijo\ ;
+不毛 < fumou\ ;
+下民 < gemin\ ;
+嫌悪 < ken''o\ ;
+貧土 < hindo\ ;
+電離 < denri\ ;
+類比 < ruihi\ ;
+不死 < fushi\ ;
+下段 < gedan\ ;
+零露 < reiro\ ;
+二封 < nifuu\ ;
+雷雲 < raiun\ ;
+他動 < tadou\ ;
+上歯 < uwaba\ ;
+二宮 < niguu\ ;
+他励 < tarei\ ;
+班員 < hanin\ ;
+諷誦 < fuuju\ ;
+一水 < issui\ ;
+予定 < yotei\ ;
+貴君 < kikun\ ;
+断路 < danro\ ;
+狼煙 < rouen\ ;
+貴名 < kimei\ ;
+仮令 < tatoe\ ;
+一段 < ittan\ ;
+一歳 < issai\ ;
+来場 < raiba\ ;
+音盤 < onban\ ;
+介助 < kaijo\ ;
+万機 < banki\ ;
+雪花菜 < okara\ ;
+飯場 < hanba\ ;
+大部 < daibu\ ;
+時空 < jikuu\ ;
+音痴 < onchi\ ;
+文部 < monbu\ ;
+暗澹 < antan\ ;
+話題 < wadai\ ;
+多重 < tajuu\ ;
+話頭 < watou\ ;
+事変 < jihen\ ;
+晩生 < okute\ ;
+雨間 < amaai\ ;
+妖艶 < youen\ ;
+外野 < gaiya\ ;
+下校 < gekou\ ;
+論議 < rongi\ ;
+読過 < dokka\ ;
+明美 < meibi\ ;
+付会 < fukai\ ;
+請負 < ukeoi\ ;
+主我 < shuga\ ;
+飽和 < houwa\ ;
+二塁 < nirui\ ;
+誤配 < gohai\ ;
+離間 < rikan\ ;
+翻字 < honji\ ;
+飛報 < hihou\ ;
+他人 < tanin\ ;
+外部 < gaibu\ ;
+論語 < rongo\ ;
+曜日 < youbi\ ;
+外郎 < uirou\ ;
+青蝿 < aobae\ ;
+罨法 < anpou\ ;
+老婆 < rouba\ ;
+財務 < zaimu\ ;
+下書 < gesho\ ;
+施行 < sekou\ ;
+最愛 < saiai\ ;
+曖昧 < aimai\ ;
+早苗 < sanae\ ;
+万朶 < banda\ ;
+本家 < honke\ ;
+外道 < gedou\ ;
+媚態 < bitai\ ;
+時短 < jitan\ ;
+暗涙 < anrui\ ;
+有心 < ushin\ ;
+現世 < genze\ ;
+暢気 < nonki\ ;
+老妓 < rougi\ ;
+未定 < mitei\ ;
+不易 < fueki\ ;
+未完 < mikan\ ;
+不明 < fumei\ ;
+貼付 < tenpu\ ;
+末季 < makki\ ;
+老女 < roujo\ ;
+一杯 < ippai\ ;
+美本 < bihon\ ;
+上映 < jouei\ ;
+王孫 < ouson\ ;
+下旬 < gejun\ ;
+不断 < fudan\ ;
+一本 < ippon\ ;
+不文 < fubun\ ;
+材器 < zaiki\ ;
+八百屋 < yaoya\ ;
+三日 < mikka\ ;
+始祖 < shiso\ ;
+不敏 < fubin\ ;
+豊富 < houfu\ ;
+美景 < bikei\ ;
+義挙 < gikyo\ ;
+談話 < danwa\ ;
+敬遠 < keien\ ;
+未婚 < mikon\ ;
+朝寝 < asane\ ;
+貸与 < taiyo\ ;
+負債 < fusai\ ;
+乙子 < otogo\ ;
+大豆 < daizu\ ;
+雨量 < uryou\ ;
+義手 < gishu\ ;
+一方 < ippou\ ;
+一斤 < ikkin\ ;
+義戦 < gisen\ ;
+誹謗 < hibou\ ;
+緋鯉 < higoi\ ;
+羈旅 < kiryo\ ;
+義憤 < gifun\ ;
+二君 < nikun\ ;
+世才 < sesai\ ;
+二号 < nigou\ ;
+最左 < saisa\ ;
+亡児 < bouji\ ;
+書庫 < shoko\ ;
+電路 < denro\ ;
+乙女 < otome\ ;
+文語 < bungo\ ;
+世態 < setai\ ;
+玩味 < ganmi\ ;
+顧慮 < koryo\ ;
+夜警 < yakei\ ;
+隠顕 < inken\ ;
+王城 < oujou\ ;
+上手 < jouzu\ ;
+本土 < hondo\ ;
+美挙 < bikyo\ ;
+一挙 < ikkyo\ ;
+離農 < rinou\ ;
+万戸 < banko\ ;
+音源 < ongen\ ;
+二分 < nibun\ ;
+暫時 < zanji\ ;
+明示 < meiji\ ;
+隠面 < inmen\ ;
+訴願 < sogan\ ;
+義弟 < gitei\ ;
+率土 < sotto\ ;
+交互 < kougo\ ;
+誤認 < gonin\ ;
+面罵 < menba\ ;
+外語 < gaigo\ ;
+多言 < tagen\ ;
+五倍 < gobai\ ;
+順次 < junji\ ;
+願意 < gan''i\ ;
+風土 < fuudo\ ;
+難路 < nanro\ ;
+燃費 < nenpi\ ;
+五体 < gotai\ ;
+有夏 < yuuka\ ;
+二倍 < nibai\ ;
+下御 < gegyo\ ;
+玩具 < gangu\ ;
+詭辯 < kiben\ ;
+奥義 < okugi\ ;
+電話 < denwa\ ;
+猛打 < mouda\ ;
+需要 < juyou\ ;
+大蛇 < daija\ ;
+朱印 < shuin\ ;
+外被 < gaihi\ ;
+最多 < saita\ ;
+不平 < fuhei\ ;
+女系 < jokei\ ;
+谷地 < yachi\ ;
+上座 < jouza\ ;
+縁辺 < enpen\ ;
+事件 < jiken\ ;
+二乗 < nijou\ ;
+上布 < joufu\ ;
+本務 < honmu\ ;
+二世 < nisei\ ;
+二三 < nisan\ ;
+譲渡 < jouto\ ;
+風味 < fuumi\ ;
+護法 < gohou\ ;
+豚児 < tonji\ ;
+難語 < nango\ ;
+故買 < kobai\ ;
+雑費 < zappi\ ;
+雑貨 < zakka\ ;
+下山 < gezan\ ;
+敗訴 < haiso\ ;
+声誉 < seiyo\ ;
+上屋 < uwaya\ ;
+王冠 < oukan\ ;
+風化 < fuuka\ ;
+暴徒 < bouto\ ;
+義妹 < gimai\ ;
+万寿 < banju\ ;
+類字 < ruiji\ ;
+降魔 < gouma\ ;
+音栓 < onsen\ ;
+韻書 < insho\ ;
+施米 < semai\ ;
+譲歩 < jouho\ ;
+文苑 < bunen\ ;
+美容 < biyou\ ;
+談義 < dangi\ ;
+隠遁 < inton\ ;
+一定 < ittei\ ;
+頓挫 < tonza\ ;
+雑記 < zakki\ ;
+隠退 < intai\ ;
+靱皮 < jinpi\ ;
+風儀 < fuugi\ ;
+除霊 < jorei\ ;
+塩類 < enrui\ ;
+陰門 < inmon\ ;
+旧痾 < kyuua\ ;
+韻文 < inbun\ ;
+最古 < saiko\ ;
+繁茂 < hanmo\ ;
+多芸 < tagei\ ;
+除隊 < jotai\ ;
+外苑 < gaien\ ;
+末世 < masse\ ;
+万夫 < banpu\ ;
+主務 < shumu\ ;
+諭示 < yushi\ ;
+雅言 < gagen\ ;
+無風 < mufuu\ ;
+面皮 < menpi\ ;
+頭巾 < zukin\ ;
+無類 < murui\ ;
+美大 < bidai\ ;
+線路 < senro\ ;
+無題 < mudai\ ;
+無頼 < burai\ ;
+試補 < shiho\ ;
+美声 < bisei\ ;
+多能 < tanou\ ;
+下城 < gejou\ ;
+是正 < zesei\ ;
+散華 < sange\ ;
+夏至 < geshi\ ;
+総身 < soumi\ ;
+不在 < fuzai\ ;
+誤聞 < gobun\ ;
+面画 < menga\ ;
+無電 < muden\ ;
+無難 < bunan\ ;
+外耳 < gaiji\ ;
+非番 < hiban\ ;
+有余 < yuuyo\ ;
+無限 < mugen\ ;
+不善 < fuzen\ ;
+不問 < fumon\ ;
+有事 < yuuji\ ;
+硫黄華 < iouka\ ;
+義勇 < giyuu\ ;
+頒布 < hanpu\ ;
+論破 < ronpa\ ;
+罵声 < basei\ ;
+下品 < gehin\ ;
+月下 < gekka\ ;
+訓辞 < kunji\ ;
+夢精 < musei\ ;
+音感 < onkan\ ;
+不参 < fusan\ ;
+順序 < junjo\ ;
+類句 < ruiku\ ;
+上古 < jouko\ ;
+三叉 < sansa\ ;
+険路 < kenro\ ;
+防除 < boujo\ ;
+不勢 < buzei\ ;
+話芸 < wagei\ ;
+美名 < bimei\ ;
+塩酸 < ensan\ ;
+大穴 < ooana\ ;
+猪口 < choko\ ;
+斤目 < kinme\ ;
+牧歌 < bokka\ ;
+下剤 < gezai\ ;
+無銭 < musen\ ;
+場面 < bamen\ ;
+言辞 < genji\ ;
+無銘 < mumei\ ;
+誤算 < gosan\ ;
+爪牙 < souga\ ;
+太祖 < taiso\ ;
+暗夜 < an''ya\ ;
+天祖 < tenso\ ;
+護憲 < goken\ ;
+多端 < tatan\ ;
+詠草 < eisou\ ;
+壮美 < soubi\ ;
+多種 < tashu\ ;
+無配 < muhai\ ;
+犯意 < han''i\ ;
+下僧 < gesou\ ;
+義人 < gijin\ ;
+一分 < ippun\ ;
+奇瑞 < kizui\ ;
+論理 < ronri\ ;
+大破 < taiha\ ;
+雅致 < gachi\ ;
+不倫 < furin\ ;
+話者 < washa\ ;
+日波 < nippo\ ;
+世代 < sedai\ ;
+世人 < sejin\ ;
+故老 < korou\ ;
+上値 < uwane\ ;
+無道 < mudou\ ;
+不便 < fuben\ ;
+増補 < zouho\ ;
+織目 < orime\ ;
+訓話 < kunwa\ ;
+無辺 < muhen\ ;
+隠蔽 < inpei\ ;
+羅典 < raten\ ;
+陰謀 < inbou\ ;
+訓詁 < kunko\ ;
+妓楼 < girou\ ;
+文目 < ayame\ ;
+変移 < hen''i\ ;
+下人 < genin\ ;
+暴利 < bouri\ ;
+暗喩 < an''yu\ ;
+塑造 < sozou\ ;
+婚儀 < kongi\ ;
+紙魚 < shimi\ ;
+万事 < banji\ ;
+諸派 < shoha\ ;
+上下 < jouge\ ;
+三世 < sanze\ ;
+電磁 < denji\ ;
+頑固 < ganko\ ;
+美人 < bijin\ ;
+罷免 < himen\ ;
+大瓶 < oobin\ ;
+言語 < gengo\ ;
+夷狄 < iteki\ ;
+暗君 < ankun\ ;
+暗合 < angou\ ;
+護岸 < gogan\ ;
+御神酒 < omiki\ ;
+物故 < bukko\ ;
+天理 < tenri\ ;
+素養 < soyou\ ;
+姐御 < anego\ ;
+夜番 < yoban\ ;
+露点 < roten\ ;
+音大 < ondai\ ;
+音声 < onsei\ ;
+多用 < tayou\ ;
+多産 < tasan\ ;
+素顔 < sugao\ ;
+改組 < kaiso\ ;
+紫雲 < shiun\ ;
+編者 < henja\ ;
+女権 < joken\ ;
+天狗 < tengu\ ;
+奥歯 < okuba\ ;
+早期 < souki\ ;
+素面 < sumen\ ;
+縫目 < nuime\ ;
+無謀 < mubou\ ;
+旅次 < ryoji\ ;
+日本 < nihon\ ;
+無論 < muron\ ;
+非業 < higou\ ;
+旦暮 < tanbo\ ;
+糸魚 < itoyo\ ;
+雨着 < amagi\ ;
+威圧 < iatsu\ ;
+無言 < mugon\ ;
+如是 < nyoze\ ;
+威嚇 < ikaku\ ;
+数理 < suuri\ ;
+熱砂 < nessa\ ;
+天火 < tenpi\ ;
+猊下 < geika\ ;
+防護 < bougo\ ;
+頭上 < zujou\ ;
+青梅 < aoume\ ;
+塗装 < tosou\ ;
+故知 < kochi\ ;
+隠線 < insen\ ;
+視野 < shiya\ ;
+陰茎 < inkei\ ;
+燠火 < okibi\ ;
+音名 < onmei\ ;
+妥当 < datou\ ;
+時報 < jihou\ ;
+経路 < keiro\ ;
+塩蔵 < enzou\ ;
+映射 < eisha\ ;
+諺文 < onmon\ ;
+墨絵 < sumie\ ;
+細部 < saibu\ ;
+練磨 < renma\ ;
+謝恩 < shaon\ ;
+昆布 < konbu\ ;
+雲煙 < un''en\ ;
+好打 < kouda\ ;
+防衛 < bouei\ ;
+大河 < taiga\ ;
+雷火 < raika\ ;
+網羅 < moura\ ;
+訓義 < kungi\ ;
+昨夜 < yuube\ ;
+無蓋 < mugai\ ;
+覇道 < hadou\ ;
+西部 < seibu\ ;
+雇用 < koyou\ ;
+音像 < onzou\ ;
+伊佐木 < isaki\ ;
+妻女 < saijo\ ;
+大歌 < oouta\ ;
+文殊 < monju\ ;
+無菌 < mukin\ ;
+文武 < bunbu\ ;
+慰安婦 < ianfu\ ;
+無茶 < mucha\ ;
+音便 < onbin\ ;
+多毛 < tamou\ ;
+大樹 < taiju\ ;
+外気 < gaiki\ ;
+無芸 < mugei\ ;
+大様 < ooyou\ ;
+製麻 < seima\ ;
+総社 < souja\ ;
+警句 < keiku\ ;
+非情 < hijou\ ;
+時化 < shike\ ;
+雨滴 < uteki\ ;
+雲海 < unkai\ ;
+雑煮 < zouni\ ;
+星図 < seizu\ ;
+要路 < youro\ ;
+女御 < nyogo\ ;
+斡旋 < assen\ ;
+雲泥 < undei\ ;
+警務 < keimu\ ;
+無能 < munou\ ;
+犬儒 < kenju\ ;
+大見得 < oomie\ ;
+数次 < suuji\ ;
+敵機 < tekki\ ;
+雲水 < unsui\ ;
+妖婆 < youba\ ;
+青息 < aoiki\ ;
+閑雅 < kanga\ ;
+大枝 < ooeda\ ;
+売淫 < baiin\ ;
+霧散 < musan\ ;
+女帝 < jotei\ ;
+線画 < senga\ ;
+新手 < arate\ ;
+無罪 < muzai\ ;
+散歩 < sanpo\ ;
+雨氷 < uhyou\ ;
+文書 < monjo\ ;
+既定 < kitei\ ;
+紛議 < fungi\ ;
+除算 < jozan\ ;
+議会 < gikai\ ;
+射手座 < iteza\ ;
+試演 < shien\ ;
+撫育 < buiku\ ;
+語根 < gokon\ ;
+熱波 < neppa\ ;
+多望 < tabou\ ;
+女尊 < joson\ ;
+牢固 < rouko\ ;
+話法 < wahou\ ;
+炉辺 < rohen\ ;
+煩瑣 < hansa\ ;
+総理 < souri\ ;
+無糖 < mutou\ ;
+陽皮 < youhi\ ;
+大損 < oozon\ ;
+露悪 < roaku\ ;
+犀利 < sairi\ ;
+多数 < tasuu\ ;
+網目 < amime\ ;
+天授 < tenju\ ;
+外方 < soppo\ ;
+粗餐 < sosan\ ;
+粗飯 < sohan\ ;
+閉鎖 < heisa\ ;
+素行 < sokou\ ;
+絹絵 < kinue\ ;
+譜代 < fudai\ ;
+塩税 < enzei\ ;
+絵絹 < eginu\ ;
+隠然 < inzen\ ;
+語数 < gosuu\ ;
+映倫 < eirin\ ;
+精鋭 < seiei\ ;
+雲景 < unkei\ ;
+版図 < hanto\ ;
+奇巌 < kigan\ ;
+姉上 < aneue\ ;
+無稽 < mukei\ ;
+襲衣 < shuui\ ;
+間遠 < madoo\ ;
+無税 < muzei\ ;
+詠歎 < eitan\ ;
+大愚 < taigu\ ;
+雲散 < unsan\ ;
+離村 < rison\ ;
+夜戦 < yasen\ ;
+不意気 < buiki\ ;
+絵筆 < efude\ ;
+多才 < tasai\ ;
+文意 < bun''i\ ;
+襤褸 < ranru\ ;
+大悟 < daigo\ ;
+無礼 < burei\ ;
+繻子 < shusu\ ;
+開運 < kaiun\ ;
+大恩 < daion\ ;
+該案 < gaian\ ;
+夢想 < musou\ ;
+襦袢 < juban\ ;
+難易 < nan''i\ ;
+旨味 < umami\ ;
+話柄 < wahei\ ;
+奉安 < houan\ ;
+堕胎 < datai\ ;
+多感 < takan\ ;
+播種 < hashu\ ;
+課役 < kaeki\ ;
+院生 < insei\ ;
+補題 < hodai\ ;
+多情 < tajou\ ;
+離散 < risan\ ;
+試案 < shian\ ;
+多恨 < takon\ ;
+大度 < taido\ ;
+敵意 < tekii\ ;
+文庫 < bunko\ ;
+見舞 < mimai\ ;
+堕罪 < dazai\ ;
+塩田 < enden\ ;
+無益 < mueki\ ;
+大差 < taisa\ ;
+大工 < daiku\ ;
+多形 < takei\ ;
+敬慕 < keibo\ ;
+援軍 < engun\ ;
+敬愛 < keiai\ ;
+多弁 < taben\ ;
+非命 < himei\ ;
+謀叛 < muhon\ ;
+粗銅 < sodou\ ;
+摩耗 < mamou\ ;
+父君 < fukun\ ;
+放映 < houei\ ;
+紅蓮 < guren\ ;
+雁木 < gangi\ ;
+裏面 < rimen\ ;
+方図 < houzu\ ;
+雨戸 < amado\ ;
+無用 < muyou\ ;
+牡丹 < botan\ ;
+大尾 < taibi\ ;
+粗酒 < soshu\ ;
+売手 < urite\ ;
+増派 < zouha\ ;
+誘引 < yuuin\ ;
+大家 < taike\ ;
+雅文 < gabun\ ;
+覇者 < hasha\ ;
+数度 < suudo\ ;
+大字 < ooaza\ ;
+断固 < danko\ ;
+荏胡麻 < egoma\ ;
+文字 < monji\ ;
+燕巣 < ensou\ ;
+奥印 < okuin\ ;
+夫婦 < meoto\ ;
+多層 < tasou\ ;
+訴権 < soken\ ;
+零度 < reido\ ;
+点者 < tenja\ ;
+絵画 < kaiga\ ;
+非凡 < hibon\ ;
+女優 < joyuu\ ;
+誤射 < gosha\ ;
+外宮 < gekuu\ ;
+太夫 < tayuu\ ;
+大奥 < oooku\ ;
+排除 < haijo\ ;
+如上 < jojou\ ;
+大声 < oogoe\ ;
+擬毛 < gimou\ ;
+契印 < keiin\ ;
+要素 < youso\ ;
+雲居 < kumoi\ ;
+露命 < romei\ ;
+陰毛 < inmou\ ;
+織地 < oriji\ ;
+霊夢 < reimu\ ;
+多大 < tadai\ ;
+捕鯨 < hogei\ ;
+多売 < tabai\ ;
+露台 < rodai\ ;
+繁多 < hanta\ ;
+除法 < johou\ ;
+焜炉 < konro\ ;
+離岸 < rigan\ ;
+炭素 < tanso\ ;
+外場 < gaiba\ ;
+離山 < rizan\ ;
+大嘘 < oouso\ ;
+数多 < suuta\ ;
+随時 < zuiji\ ;
+霊園 < reien\ ;
+政府 < seifu\ ;
+阿漕 < akogi\ ;
+斗南 < tonan\ ;
+売子 < uriko\ ;
+電場 < denba\ ;
+外因 < gaiin\ ;
+防火 < bouka\ ;
+露光 < rokou\ ;
+大味 < ooaji\ ;
+施主 < seshu\ ;
+無法 < muhou\ ;
+故山 < kozan\ ;
+大台 < oodai\ ;
+在野 < zaiya\ ;
+火色 < hiiro\ ;
+文句 < monku\ ;
+鼿 < gotsu\ ;
+無水 < musui\ ;
+鼎 < kanae\ ;
+無毛 < mumou\ ;
+図面 < zumen\ ;
+放屁 < houhi\ ;
+売女 < baita\ ;
+天助 < tenjo\ ;
+米貨 < beika\ ;
+無残 < muzan\ ;
+開花 < kaika\ ;
+夜叉 < yasha\ ;
+基盤 < kiban\ ;
+鷩 < hetsu\ ;
+大判 < ooban\ ;
+素直 < sunao\ ;
+親爺 < oyaji\ ;
+需品 < juhin\ ;
+補講 < hokou\ ;
+難場 < nanba\ ;
+鶍 < isuka\ ;
+売場 < uriba\ ;
+鶉 < uzura\ ;
+院本 < inpon\ ;
+多勢 < tazei\ ;
+四顧 < shiko\ ;
+大儒 < daiju\ ;
+夜前 < yazen\ ;
+米語 < beigo\ ;
+阻止 < soshi\ ;
+外務 < gaimu\ ;
+雑多 < zatta\ ;
+夜分 < yabun\ ;
+敗因 < haiin\ ;
+米話 < beiwa\ ;
+鱗 < uroko\ ;
+鰻 < unagi\ ;
+斉備 < seibi\ ;
+絵文字 < emoji\ ;
+墓所 < bosho\ ;
+鰒 < awabi\ ;
+鰏 < hyoku\ ;
+語勢 < gosei\ ;
+鰍 < inada\ ;
+誤判 < gohan\ ;
+鰉 < higai\ ;
+鯏 < asari\ ;
+図鑑 < zukan\ ;
+鮭 < shake\ ;
+雲台 < undai\ ;
+認否 < ninpi\ ;
+無根 < mukon\ ;
+変化 < henge\ ;
+認可 < ninka\ ;
+髺 < gatsu\ ;
+網戸 < amido\ ;
+記憶 < kioku\ ;
+文事 < bunji\ ;
+擬態 < gitai\ ;
+粗茶 < socha\ ;
+夜会 < yakai\ ;
+純理 < junri\ ;
+離合 < rigou\ ;
+難句 < nanku\ ;
+緞子 < donsu\ ;
+離反 < rihan\ ;
+素片 < sohen\ ;
+誤伝 < goden\ ;
+糸目 < itome\ ;
+絵柄 < egara\ ;
+記念 < kinen\ ;
+無断 < mudan\ ;
+陰惨 < insan\ ;
+無数 < musuu\ ;
+絵札 < efuda\ ;
+数価 < suuka\ ;
+綿布 < menpu\ ;
+電位 < den''i\ ;
+精粗 < seiso\ ;
+雨具 < amagu\ ;
+靨 < ekubo\ ;
+掩蔽 < enpei\ ;
+難儀 < nangi\ ;
+隉 < getsu\ ;
+試合 < shiai\ ;
+隠士 < inshi\ ;
+墳墓 < funbo\ ;
+衰運 < suiun\ ;
+雅号 < gagou\ ;
+詠吟 < eigin\ ;
+政務 < seimu\ ;
+場末 < basue\ ;
+綾子 < rinzu\ ;
+無才 < musai\ ;
+炬火 < kyoka\ ;
+米英 < beiei\ ;
+隠坊 < onbou\ ;
+隻句 < sekku\ ;
+無慮 < muryo\ ;
+堀江 < horie\ ;
+離任 < rinin\ ;
+結果 < kekka\ ;
+衰躯 < suiku\ ;
+難事 < nanji\ ;
+地蔵 < jizou\ ;
+無情 < mujou\ ;
+鏉 < shyuu\ ;
+鎧 < yoroi\ ;
+詐取 < sashu\ ;
+雅兄 < gakei\ ;
+錨 < ikari\ ;
+錘 < tsumu\ ;
+無念 < munen\ ;
+回路 < kairo\ ;
+親木 < oyagi\ ;
+雑作 < zousa\ ;
+限度 < gendo\ ;
+鈺 < gyoku\ ;
+塁打 < ruida\ ;
+土蔵 < dozou\ ;
+見様 < miyou\ ;
+故主 < koshu\ ;
+西欧 < seiou\ ;
+覇権 < haken\ ;
+粗笨 < sohon\ ;
+紡機 < bouki\ ;
+図解 < zukai\ ;
+地色 < jiiro\ ;
+土葬 < dosou\ ;
+措置 < sochi\ ;
+墓地 < bochi\ ;
+在英 < zaiei\ ;
+糜爛 < biran\ ;
+場所 < basho\ ;
+街路 < gairo\ ;
+塗工 < tokou\ ;
+随員 < zuiin\ ;
+拗音 < youon\ ;
+見栄 < mibae\ ;
+絹布 < kenpu\ ;
+無尽 < mujin\ ;
+除外 < jogai\ ;
+増員 < zouin\ ;
+絵巻 < emaki\ ;
+見本 < mihon\ ;
+院外 < ingai\ ;
+総務 < soumu\ ;
+闊歩 < kappo\ ;
+躵 < nerau\ ;
+隠元 < ingen\ ;
+無官 < mukan\ ;
+基本 < kihon\ ;
+粗砥 < arato\ ;
+報恩 < houon\ ;
+素材 < sozai\ ;
+総出 < soude\ ;
+園芸 < engei\ ;
+跛 < bikko\ ;
+捕虜 < horyo\ ;
+隣保 < rinpo\ ;
+墓参 < bosan\ ;
+裸眼 < ragan\ ;
+絶家 < zekke\ ;
+記号 < kigou\ ;
+濾紙 < roshi\ ;
+摩損 < mason\ ;
+塔婆 < touba\ ;
+素数 < sosuu\ ;
+墓前 < bozen\ ;
+親御 < oyago\ ;
+点播 < tenpa\ ;
+訴人 < sonin\ ;
+街衢 < gaiku\ ;
+開演 < kaien\ ;
+紋日 < monbi\ ;
+除号 < jogou\ ;
+困苦 < konku\ ;
+除去 < jokyo\ ;
+院号 < ingou\ ;
+隊伍 < taigo\ ;
+蟻酸 < gisan\ ;
+地租 < chiso\ ;
+細微 < saibi\ ;
+拝辞 < haiji\ ;
+土管 < dokan\ ;
+塊土 < kaido\ ;
+裏目 < urame\ ;
+視度 < shido\ ;
+粗煮 < arani\ ;
+視差 < shisa\ ;
+素性 < sujou\ ;
+細工 < saiku\ ;
+陪侍 < baiji\ ;
+堰堤 < entei\ ;
+藜 < akaza\ ;
+圧砕 < assai\ ;
+無効 < mukou\ ;
+地盤 < jiban\ ;
+薊 < azami\ ;
+火桶 < hioke\ ;
+捕縄 < hojou\ ;
+絶句 < zekku\ ;
+簡素 < kanso\ ;
+蔦 < tsuta\ ;
+蔤 < bitsu\ ;
+押送 < ousou\ ;
+土砂 < dosha\ ;
+点差 < tensa\ ;
+堡塁 < horui\ ;
+純度 < jundo\ ;
+圧痕 < akkon\ ;
+茨 < ibara\ ;
+茜 < akane\ ;
+精査 < seisa\ ;
+茀 < hutsu\ ;
+苶 < detsu\ ;
+恵比寿 < ebisu\ ;
+場味 < baaji\ ;
+烈婦 < reppu\ ;
+授産 < jusan\ ;
+無体 < mutai\ ;
+行脚 < angya\ ;
+無住 < mujuu\ ;
+揺曳 < youei\ ;
+土用 < doyou\ ;
+螺鈿 < raden\ ;
+無人 < munin\ ;
+土瓶 < dobin\ ;
+防具 < bougu\ ;
+長柄 < nagae\ ;
+襟度 < kindo\ ;
+衣糧 < iryou\ ;
+防備 < boubi\ ;
+肭 < dotsu\ ;
+結句 < kekku\ ;
+肋 < abara\ ;
+打順 < dajun\ ;
+摂家 < sekke\ ;
+堅固 < kengo\ ;
+手順 < tejun\ ;
+打電 < daden\ ;
+提案 < teian\ ;
+圧点 < atten\ ;
+補正 < hosei\ ;
+握斧 < akufu\ ;
+打開 < dakai\ ;
+要図 < youzu\ ;
+要因 < youin\ ;
+競馬 < keiba\ ;
+漏話 < rouwa\ ;
+採油 < saiyu\ ;
+場代 < badai\ ;
+粗暴 < sobou\ ;
+地温 < chion\ ;
+裏毛 < urake\ ;
+門扉 < monpi\ ;
+門戸 < monko\ ;
+粒 < tsubu\ ;
+披見 < hiken\ ;
+篩 < furui\ ;
+炭団 < tadon\ ;
+回目 < kaime\ ;
+滅金 < mekki\ ;
+筏 < ikada\ ;
+地歩 < chiho\ ;
+手錠 < tejou\ ;
+地歌 < jiuta\ ;
+門徒 < monto\ ;
+秫 < jotsu\ ;
+図版 < zuhan\ ;
+火山 < kazan\ ;
+系図 < keizu\ ;
+圧死 < asshi\ ;
+手金 < tekin\ ;
+土民 < domin\ ;
+点前 < temae\ ;
+探査 < tansa\ ;
+納受 < nouju\ ;
+手配 < tehai\ ;
+授権 < juken\ ;
+筆記 < hikki\ ;
+粗悪 < soaku\ ;
+素体 < sotai\ ;
+糞土 < fundo\ ;
+留守居 < rusui\ ;
+長居 < nagai\ ;
+漫罵 < manba\ ;
+端銭 < hasen\ ;
+疙 < gitsu\ ;
+不得手 < fuete\ ;
+箪笥 < tansu\ ;
+図法 < zuhou\ ;
+潤目 < urume\ ;
+湖面 < komen\ ;
+揚屋 < ageya\ ;
+裏手 < urate\ ;
+螟蛾 < meiga\ ;
+圧政 < assei\ ;
+押絵 < oshie\ ;
+湯銭 < yusen\ ;
+閲兵 < eppei\ ;
+補弦 < hogen\ ;
+行灯 < andon\ ;
+手話 < shuwa\ ;
+圧排 < appai\ ;
+営農 < einou\ ;
+手製 < tesei\ ;
+城下 < jouka\ ;
+粗大 < sodai\ ;
+固有 < koyuu\ ;
+温顔 < ongan\ ;
+炊事 < suiji\ ;
+炎上 < enjou\ ;
+捻挫 < nenza\ ;
+演算 < enzan\ ;
+温順 < onjun\ ;
+突飛 < toppi\ ;
+無意義 < muigi\ ;
+米寿 < beiju\ ;
+投網 < toami\ ;
+損保 < sonpo\ ;
+裏屋 < uraya\ ;
+措定 < sotei\ ;
+戦記 < senki\ ;
+手薄 < teusu\ ;
+在庫 < zaiko\ ;
+童話 < douwa\ ;
+間代 < madai\ ;
+圧巻 < akkan\ ;
+漫画 < manga\ ;
+揚句 < ageku\ ;
+補填 < hoten\ ;
+粗品 < sohin\ ;
+土工 < dokou\ ;
+四日 < yokka\ ;
+手荒 < teara\ ;
+米塩 < beien\ ;
+掩壕 < engou\ ;
+在家 < zaike\ ;
+補回 < hokai\ ;
+楾 < hazou\ ;
+椣 < shide\ ;
+門下 < monka\ ;
+噴火 < funka\ ;
+粗利 < arari\ ;
+裏地 < uraji\ ;
+淫風 < inpuu\ ;
+打者 < dasha\ ;
+栃 < tochi\ ;
+地声 < jigoe\ ;
+国庫 < kokko\ ;
+杁 < eburi\ ;
+筆禍 < hikka\ ;
+蜻蛉 < tonbo\ ;
+行方 < yukue\ ;
+裸像 < razou\ ;
+図形 < zukei\ ;
+ＰＣ < pīshī\ ;
+打線 < dasen\ ;
+地図 < chizu\ ;
+表意 < hyoui\ ;
+技研 < giken\ ;
+手織 < teori\ ;
+裸体 < ratai\ ;
+図工 < zukou\ ;
+衰微 < suibi\ ;
+裏名 < urana\ ;
+土塊 < dokai\ ;
+手練 < teren\ ;
+土塁 < dorui\ ;
+土塀 < dobei\ ;
+唐音 < touon\ ;
+因循 < injun\ ;
+簿外 < bogai\ ;
+採否 < saihi\ ;
+撥 < bachi\ ;
+技監 < gikan\ ;
+空輸 < kuuyu\ ;
+補充 < hojuu\ ;
+坑儒 < kouju\ ;
+固定 < kotei\ ;
+挙措 < kyoso\ ;
+打算 < dasan\ ;
+掟 < okite\ ;
+土嚢 < donou\ ;
+漸次 < zenji\ ;
+空路 < kuuro\ ;
+国威 < kokui\ ;
+潜時 < senji\ ;
+懤 < chyuu\ ;
+補任 < honin\ ;
+漫歩 < manpo\ ;
+漁火 < gyoka\ ;
+懇話 < konwa\ ;
+空費 < kuuhi\ ;
+蛮語 < bango\ ;
+戯絵 < zaree\ ;
+団子 < dango\ ;
+土台 < dodai\ ;
+涼雨 < ryouu\ ;
+坊主 < bouzu\ ;
+営繕 < eizen\ ;
+移駐 < ichuu\ ;
+虎魚 < okoze\ ;
+算木 < sangi\ ;
+手相 < tesou\ ;
+圧倒 < attou\ ;
+海鰻 < anago\ ;
+嶍 < shihu\ ;
+憂身 < ukimi\ ;
+批点 < hiten\ ;
+土偶 < doguu\ ;
+行宮 < anguu\ ;
+峠 < touge\ ;
+岏 < guwan\ ;
+哀願 < aigan\ ;
+土人 < dojin\ ;
+孰 < izure\ ;
+愛餐 < aisan\ ;
+嬇 < kuwai\ ;
+蛇行 < dakou\ ;
+浅黄 < asagi\ ;
+慶賀 < keiga\ ;
+街図 < gaizu\ ;
+壷 < tsubo\ ;
+打点 < daten\ ;
+漏斗 < routo\ ;
+渡船 < tosen\ ;
+淫行 < inkou\ ;
+垔 < shyou\ ;
+垏 < rotsu\ ;
+囮 < otori\ ;
+温習 < sarai\ ;
+節婦 < seppu\ ;
+喝破 < kappa\ ;
+嗧 < garon\ ;
+嗖 < shuhu\ ;
+和風 < wafuu\ ;
+螺旋 < rasen\ ;
+稟議 < ringi\ ;
+憂虞 < yuugu\ ;
+打法 < dahou\ ;
+哘 < sasou\ ;
+扶桑 < fusou\ ;
+虚辞 < kyoji\ ;
+衛兵 < eihei\ ;
+愚鈍 < gudon\ ;
+鼠輩 < sohai\ ;
+吋 < inchi\ ;
+回付 < kaifu\ ;
+卍 < manji\ ;
+鼠蹊 < sokei\ ;
+匁 < monme\ ;
+把握 < haaku\ ;
+渡米 < tobei\ ;
+拳固 < genko\ ;
+投打 < touda\ ;
+麒麟 < kirin\ ;
+憂苦 < yuuku\ ;
+嗟歎 < satan\ ;
+儲 < mouke\ ;
+海辺 < umibe\ ;
+愛車 < aisha\ ;
+打棒 < dabou\ ;
+偟 < kuwau\ ;
+倌 < kuwan\ ;
+悪魔 < akuma\ ;
+湯灌 < yukan\ ;
+手桶 < teoke\ ;
+稲荷 < inari\ ;
+浦辺 < urabe\ ;
+和金 < wakin\ ;
+麝香 < jakou\ ;
+鈍麻 < donma\ ;
+悪馬 < akume\ ;
+手本 < tehon\ ;
+乄 < shime\ ;
+減磨 < genma\ ;
+突破 < toppa\ ;
+海豚 < iruka\ ;
+蛇管 < jakan\ ;
+哀詩 < aishi\ ;
+打数 < dasuu\ ;
+愚論 < guron\ ;
+手斧 < teono\ ;
+拝受 < haiju\ ;
+浪費 < rouhi\ ;
+手数 < tesuu\ ;
+戸板 < toita\ ;
+漢土 < kando\ ;
+愚計 < gukei\ ;
+鉛錘 < ensui\ ;
+立派 < rippa\ ;
+愚見 < guken\ ;
+惹起 < jakki\ ;
+味醂 < mirin\ ;
+命運 < meiun\ ;
+秘計 < hikei\ ;
+蘇連 < soren\ ;
+愚行 < gukou\ ;
+空疎 < kuuso\ ;
+漁夫 < gyofu\ ;
+拝具 < haigu\ ;
+銀貨 < ginka\ ;
+端本 < hahon\ ;
+流転 < ruten\ ;
+浴衣 < yokui\ ;
+漁場 < gyoba\ ;
+意表 < ihyou\ ;
+戯文 < gibun\ ;
+液肥 < ekihi\ ;
+空理 < kuuri\ ;
+満期 < manki\ ;
+湖水 < kosui\ ;
+和讚 < wasan\ ;
+端数 < hasuu\ ;
+嘘字 < usoji\ ;
+成案 < seian\ ;
+波頭 < hatou\ ;
+愛蔵 < aizou\ ;
+麦酒 < biiru\ ;
+名馬 < meiba\ ;
+和訓 < wakun\ ;
+和解 < wakai\ ;
+波面 < hamen\ ;
+手当 < teate\ ;
+稲穂 < inaho\ ;
+鼻緒 < hanao\ ;
+和製 < wasei\ ;
+鋤簾 < joren\ ;
+和装 < wasou\ ;
+担保 < tanpo\ ;
+和裁 < wasai\ ;
+憂目 < ukime\ ;
+温湯 < ontou\ ;
+同音 < douon\ ;
+憮然 < buzen\ ;
+悪運 < akuun\ ;
+懸架 < kenga\ ;
+患部 < kanbu\ ;
+銘菓 < meika\ ;
+黒衣 < kokue\ ;
+悟道 < godou\ ;
+味見 < ajimi\ ;
+無意味 < muimi\ ;
+温水 < onsui\ ;
+鼻端 < bitan\ ;
+渡洋 < toyou\ ;
+愛育 < aiiku\ ;
+滅多 < metta\ ;
+淫猥 < inwai\ ;
+漁具 < gyogu\ ;
+悪路 < akuro\ ;
+情話 < jouwa\ ;
+種皮 < shuhi\ ;
+愚者 < gusha\ ;
+扇子 < sensu\ ;
+野馬 < nouma\ ;
+禅話 < zenwa\ ;
+我慢 < gaman\ ;
+古風 < kofuu\ ;
+空気 < kuuki\ ;
+空母 < kuubo\ ;
+唾液 < daeki\ ;
+満座 < manza\ ;
+営庭 < eitei\ ;
+虚空 < kokuu\ ;
+淵源 < engen\ ;
+和船 < wasen\ ;
+社運 < shaun\ ;
+批判 < hihan\ ;
+手垢 < teaka\ ;
+悪計 < akkei\ ;
+批准 < hijun\ ;
+鼓童 < kodou\ ;
+吏道 < rodou\ ;
+投与 < touyo\ ;
+懸想 < kesou\ ;
+受難 < junan\ ;
+戸外 < kogai\ ;
+懺悔 < zange\ ;
+鋳物 < imono\ ;
+温暖 < ondan\ ;
+渡来 < torai\ ;
+恥部 < chibu\ ;
+懸念 < kenen\ ;
+悪行 < akkou\ ;
+淡湖 < tanko\ ;
+成就 < jouju\ ;
+租税 < sozei\ ;
+善意 < zen''i\ ;
+古銭 < kosen\ ;
+童女 < doujo\ ;
+鼠疫 < soeki\ ;
+流罪 < ruzai\ ;
+嗚咽 < oetsu\ ;
+恩赦 < onsha\ ;
+手勢 < tezei\ ;
+意固地 < ikoji\ ;
+淘汰 < touta\ ;
+洒落 < share\ ;
+海砂 < kaisa\ ;
+台輪 < daiwa\ ;
+湖岸 < kogan\ ;
+洵美 < junbi\ ;
+第二 < daini\ ;
+示談 < jidan\ ;
+野郎 < yarou\ ;
+法語 < hougo\ ;
+合議 < gougi\ ;
+懇意 < kon''i\ ;
+懊悩 < ounou\ ;
+名誉 < meiyo\ ;
+愚痴 < guchi\ ;
+水鶏 < kuina\ ;
+叉銃 < sajuu\ ;
+温情 < onjou\ ;
+愛用 < aiyou\ ;
+懈怠 < getai\ ;
+愚生 < gusei\ ;
+釈迦 < shaka\ ;
+湯垢 < yuaka\ ;
+恋路 < koiji\ ;
+派米 < habei\ ;
+法被 < happi\ ;
+藍色 < aiiro\ ;
+端午 < tango\ ;
+虚無 < kyomu\ ;
+手代 < tedai\ ;
+受身 < ukemi\ ;
+渡御 < togyo\ ;
+水魔 < suima\ ;
+野趣 < yashu\ ;
+快音 < kaion\ ;
+所作 < shosa\ ;
+古豪 < kogou\ ;
+金貨 < kinka\ ;
+愛犬 < aiken\ ;
+磯辺 < isobe\ ;
+鼻汁 < bijuu\ ;
+惰眠 < damin\ ;
+悪罵 < akuba\ ;
+成句 < seiku\ ;
+所与 < shoyo\ ;
+古諺 < kogen\ ;
+稲木 < inagi\ ;
+古訓 < kokun\ ;
+空巣 < akisu\ ;
+悪縁 < akuen\ ;
+温存 < onzon\ ;
+受講 < jukou\ ;
+叡覧 < eiran\ ;
+危難 < kinan\ ;
+御辞儀 < ojigi\ ;
+必須 < hissu\ ;
+反語 < hango\ ;
+鼻根 < bikon\ ;
+反訴 < hanso\ ;
+鋭敏 < eibin\ ;
+愛液 < aieki\ ;
+名舗 < meiho\ ;
+派生 < hasei\ ;
+喇叭 < rappa\ ;
+鍼医 < harii\ ;
+怪訝 < kegen\ ;
+野蛮 < yaban\ ;
+印鑑 < inkan\ ;
+汚辱 < ojoku\ ;
+銃火 < juuka\ ;
+愚民 < gumin\ ;
+喪主 < moshu\ ;
+南阿 < nan''a\ ;
+黄班 < ouhan\ ;
+名義 < meigi\ ;
+民需 < minju\ ;
+虚栄 < kyoei\ ;
+涅槃 < nehan\ ;
+添字 < soeji\ ;
+員数 < inzuu\ ;
+浮気 < uwaki\ ;
+波紋 < hamon\ ;
+禅画 < zenga\ ;
+穴場 < anaba\ ;
+和漢 < wakan\ ;
+意欲 < iyoku\ ;
+野菜 < yasai\ ;
+古茶 < kocha\ ;
+神社 < jinja\ ;
+黄燐 < ourin\ ;
+浅瀬 < asase\ ;
+御難 < gonan\ ;
+野草 < yasou\ ;
+御陰 < okage\ ;
+蚕座 < sanza\ ;
+温厚 < onkou\ ;
+銀波 < ginpa\ ;
+銀河 < ginga\ ;
+慕情 < bojou\ ;
+和洋 < wayou\ ;
+名簿 < meibo\ ;
+淋巴 < rinpa\ ;
+慇懃 < ingin\ ;
+念誦 < nenju\ ;
+愛書 < aisho\ ;
+沿線 < ensen\ ;
+金肥 < kinpi\ ;
+原被 < genpi\ ;
+蕗草 < rosou\ ;
+気重 < kiomo\ ;
+南部 < nanbu\ ;
+淫売 < inbai\ ;
+秘本 < hihon\ ;
+愚昧 < gumai\ ;
+流浪 < rurou\ ;
+水路 < suiro\ ;
+気配 < kehai\ ;
+薬研 < yagen\ ;
+受胎 < jutai\ ;
+微醺 < bikun\ ;
+半里 < hanri\ ;
+稲子 < inago\ ;
+比類 < hirui\ ;
+流民 < rumin\ ;
+千里 < senri\ ;
+同祖 < douso\ ;
+鉄火 < tekka\ ;
+破顔 < hagan\ ;
+卑近 < hikin\ ;
+御釜 < okama\ ;
+御金 < okane\ ;
+浦曲 < urawa\ ;
+重縁 < juuen\ ;
+部首 < bushu\ ;
+都電 < toden\ ;
+愚挙 < gukyo\ ;
+哀憫 < aibin\ ;
+哀憐 < airen\ ;
+彩雲 < saiun\ ;
+部類 < burui\ ;
+蔬菜 < sosai\ ;
+和本 < wahon\ ;
+液安 < ekian\ ;
+空佐 < kuusa\ ;
+受納 < junou\ ;
+哀情 < aijou\ ;
+哀悼 < aitou\ ;
+和書 < washo\ ;
+憂哭 < ukine\ ;
+受粉 < jufun\ ;
+部面 < bumen\ ;
+矮鶏 < chabo\ ;
+毫釐 < gouri\ ;
+愛想 < aisou\ ;
+黄楊 < tsuge\ ;
+鋳型 < igata\ ;
+微賤 < bisen\ ;
+和文 < wabun\ ;
+薄着 < usugi\ ;
+波状 < hajou\ ;
+薄目 < usume\ ;
+徒輩 < tohai\ ;
+里程 < ritei\ ;
+蛇体 < jatai\ ;
+稽古 < keiko\ ;
+愚弟 < gutei\ ;
+愚弄 < gurou\ ;
+薫煙 < kunen\ ;
+治癒 < chiyu\ ;
+悲歎 < hitan\ ;
+汚臭 < oshuu\ ;
+卑言 < higen\ ;
+民話 < minwa\ ;
+比重 < hijuu\ ;
+禍根 < kakon\ ;
+野砲 < yahou\ ;
+愉快 < yukai\ ;
+穏健 < onken\ ;
+原義 < gengi\ ;
+阿弥陀 < amida\ ;
+油田 < yuden\ ;
+弾雨 < dan''u\ ;
+都邑 < toyuu\ ;
+半裸 < hanra\ ;
+御詠 < gyoei\ ;
+重目 < omome\ ;
+砂防 < sabou\ ;
+呪文 < jumon\ ;
+御覧 < goran\ ;
+吐瀉 < tosha\ ;
+淫乱 < inran\ ;
+神武 < jinmu\ ;
+合点 < gaten\ ;
+愛孫 < aison\ ;
+浅手 < asade\ ;
+蚕具 < sangu\ ;
+惰性 < dasei\ ;
+居合道 < iadou\ ;
+油状 < yujou\ ;
+野生 < yasei\ ;
+波浪 < harou\ ;
+蓮華 < renge\ ;
+愛婿 < aisei\ ;
+忍苦 < ninku\ ;
+銃座 < juuza\ ;
+原簿 < genbo\ ;
+銀座 < ginza\ ;
+愛妻 < aisai\ ;
+税吏 < zeiri\ ;
+愛好 < aikou\ ;
+労音 < rouon\ ;
+野獣 < yajuu\ ;
+野猪 < yacho\ ;
+水肥 < suihi\ ;
+募金 < bokin\ ;
+酸素 < sanso\ ;
+野犬 < yaken\ ;
+延髄 < enzui\ ;
+税務 < zeimu\ ;
+悪日 < akubi\ ;
+稚児 < chigo\ ;
+忍者 < ninja\ ;
+鼻内 < binai\ ;
+句点 < kuten\ ;
+破談 < hadan\ ;
+和尚 < oshou\ ;
+当路 < touro\ ;
+情愛 < jouai\ ;
+部財 < buzai\ ;
+鉄扉 < teppi\ ;
+海図 < kaizu\ ;
+愚問 < gumon\ ;
+水素 < suiso\ ;
+哀号 < aigou\ ;
+悲憤 < hifun\ ;
+麻幹 < ogara\ ;
+印籠 < inrou\ ;
+移入 < inyuu\ ;
+泰斗 < taito\ ;
+愛吟 < aigin\ ;
+重湯 < omoyu\ ;
+欺騙 < gihen\ ;
+御腹 < onaka\ ;
+悲恋 < hiren\ ;
+句法 < kuhou\ ;
+微罪 < bizai\ ;
+原画 < genga\ ;
+古法 < kohou\ ;
+虚偽 < kyogi\ ;
+勲記 < kunki\ ;
+金波 < kinpa\ ;
+海参 < iriko\ ;
+秘史 < hishi\ ;
+邪道 < jadou\ ;
+厳父 < genpu\ ;
+銀地 < ginji\ ;
+社是 < shaze\ ;
+海区 < kaiku\ ;
+印税 < inzei\ ;
+重油 < juuyu\ ;
+矮躯 < waiku\ ;
+悪心 < oshin\ ;
+汗疹 < asemo\ ;
+悪徒 < akuto\ ;
+硼素 < houso\ ;
+受洗 < jusen\ ;
+銀器 < ginki\ ;
+快癒 < kaiyu\ ;
+金歯 < kinba\ ;
+短路 < tanro\ ;
+遠音 < toone\ ;
+微細 < bisai\ ;
+勃起 < bokki\ ;
+愚僧 < gusou\ ;
+禅家 < zenke\ ;
+加配 < kahai\ ;
+品位 < hin''i\ ;
+欧風 < oufuu\ ;
+浄土 < joudo\ ;
+未通女 < oboko\ ;
+怒濤 < dotou\ ;
+惹句 < jakku\ ;
+磨淬 < masai\ ;
+永眠 < eimin\ ;
+強訴 < gouso\ ;
+咄嗟 < tossa\ ;
+武道 < budou\ ;
+反比 < hanpi\ ;
+印相 < inzou\ ;
+次類 < jirui\ ;
+反歯 < soppa\ ;
+剪除 < senjo\ ;
+醸母 < joubo\ ;
+武辺 < buhen\ ;
+座高 < zakou\ ;
+和名 < wamei\ ;
+愛人 < aijin\ ;
+和合 < wagou\ ;
+半端 < hanpa\ ;
+薄日 < usubi\ ;
+愚人 < gujin\ ;
+応用 < ouyou\ ;
+否応 < iyaou\ ;
+母艦 < bokan\ ;
+油断 < yudan\ ;
+母船 < bosen\ ;
+古来 < korai\ ;
+古書 < kosho\ ;
+野末 < nozue\ ;
+野望 < yabou\ ;
+正路 < seiro\ ;
+鉱区 < kouku\ ;
+波形 < hakei\ ;
+前非 < zenpi\ ;
+汚濁 < odaku\ ;
+碁盤 < goban\ ;
+弘誓 < guzei\ ;
+浮世 < ukiyo\ ;
+座頭 < zatou\ ;
+吐息 < toiki\ ;
+悪女 < akujo\ ;
+毛織 < keori\ ;
+江湖 < gouko\ ;
+恩愛 < on''ai\ ;
+悪夢 < akumu\ ;
+北緯 < hokui\ ;
+薄手 < usude\ ;
+恩恵 < onkei\ ;
+永牢 < eirou\ ;
+午睡 < gosui\ ;
+流刑 < rukei\ ;
+銀位 < gin''i\ ;
+南画 < nanga\ ;
+囲炉裏 < irori\ ;
+弁護 < bengo\ ;
+勤苦 < kinku\ ;
+助言 < jogon\ ;
+法度 < hatto\ ;
+情味 < joumi\ ;
+否定 < hitei\ ;
+影絵 < kagee\ ;
+同座 < douza\ ;
+破綻 < hatan\ ;
+派兵 < hahei\ ;
+禅味 < zenmi\ ;
+悪因 < akuin\ ;
+蒔絵 < makie\ ;
+匕箸 < hicho\ ;
+半田 < handa\ ;
+恋慕 < renbo\ ;
+重手 < omode\ ;
+武装 < busou\ ;
+卑猥 < hiwai\ ;
+破算 < hasan\ ;
+呑吐 < donto\ ;
+油彩 < yusai\ ;
+叡慮 < eiryo\ ;
+流人 < runin\ ;
+御璽 < gyoji\ ;
+取手 < totte\ ;
+名宛 < naate\ ;
+着類 < kirui\ ;
+歌論 < karon\ ;
+重愛 < juuai\ ;
+台座 < daiza\ ;
+割賦 < wappu\ ;
+真鯉 < magoi\ ;
+残花 < zanka\ ;
+黄人 < oujin\ ;
+水温 < suion\ ;
+運輸 < un''yu\ ;
+藩儒 < hanju\ ;
+麗句 < reiku\ ;
+葉茶 < hadja\ ;
+御玉 < otama\ ;
+道路 < douro\ ;
+運転 < unten\ ;
+初陣 < uijin\ ;
+連鎖 < rensa\ ;
+遍路 < henro\ ;
+鉛丹 < entan\ ;
+水泳 < suiei\ ;
+泥土 < deido\ ;
+友愛 < yuuai\ ;
+同夜 < douya\ ;
+重度 < juudo\ ;
+前輪 < maewa\ ;
+治安 < chian\ ;
+鈍器 < donki\ ;
+性愛 < seiai\ ;
+砂絵 < sunae\ ;
+沙弥 < shami\ ;
+祭具 < saigu\ ;
+配流 < hairu\ ;
+刈除 < gaijo\ ;
+怨恨 < enkon\ ;
+遠見 < toomi\ ;
+荷馬 < niuma\ ;
+真顔 < magao\ ;
+利鈍 < ridon\ ;
+思慕 < shibo\ ;
+怠惰 < taida\ ;
+利金 < rikin\ ;
+酔歩 < suiho\ ;
+凹面 < oumen\ ;
+吟味 < ginmi\ ;
+武芸 < bugei\ ;
+徒然 < tozen\ ;
+金子 < kinsu\ ;
+単比 < tanpi\ ;
+過言 < kagon\ ;
+社員 < shain\ ;
+悪事 < akuji\ ;
+彩画 < saiga\ ;
+薫化 < kunka\ ;
+祖先 < sosen\ ;
+鈍化 < donka\ ;
+別途 < betto\ ;
+台場 < daiba\ ;
+薄地 < usuji\ ;
+印材 < inzai\ ;
+平野 < heiya\ ;
+息吹 < ibuki\ ;
+名句 < meiku\ ;
+武者 < musha\ ;
+社務 < shamu\ ;
+原意 < gen''i\ ;
+古墳 < kofun\ ;
+野天 < noten\ ;
+合否 < gouhi\ ;
+労組 < rouso\ ;
+野外 < yagai\ ;
+座談 < zadan\ ;
+弗素 < fusso\ ;
+法務 < houmu\ ;
+御世辞 < oseji\ ;
+破片 < hahen\ ;
+吐剤 < tozai\ ;
+御殿 < goten\ ;
+区民 < kumin\ ;
+石 < koku\ ;
+迫 < haku\ ;
+迄 < made\ ;
+心 < shin\ ;
+込 < komu\ ;
+徴 < chou\ ;
+徳 < toku\ ;
+辱 < joku\ ;
+瞭 < ryou\ ;
+瞬 < shun\ ;
+復 < fuku\ ;
+彼 < kare\ ;
+役 < yaku\ ;
+影 < kage\ ;
+睦 < boku\ ;
+弾 < tama\ ;
+強 < kyou\ ;
+輯 < shuu\ ;
+眉 < mayu\ ;
+較 < kaku\ ;
+直 < hita\ ;
+軒 < noki\ ;
+廂 < shou\ ;
+皿 < sara\ ;
+庵 < iori\ ;
+皮 < kawa\ ;
+庭 < niwa\ ;
+店 < mise\ ;
+底 < soko\ ;
+躑 < teki\ ;
+躊 < chuu\ ;
+床 < yuka\ ;
+的 < mato\ ;
+幹 < miki\ ;
+平 < hira\ ;
+蹠 < seki\ ;
+癖 < kuse\ ;
+幅 < haba\ ;
+常 < towa\ ;
+希 < mare\ ;
+布 < nuno\ ;
+巻 < maki\ ;
+足 < ashi\ ;
+越 < etsu\ ;
+留 < ryuu\ ;
+申 < saru\ ;
+生 < nama\ ;
+崖 < gake\ ;
+崎 < saki\ ;
+峰 < mine\ ;
+賊 < zoku\ ;
+賃 < chin\ ;
+山 < yama\ ;
+屑 < kuzu\ ;
+豆 < mame\ ;
+琴 < koto\ ;
+対 < tsui\ ;
+寺 < tera\ ;
+富 < tomi\ ;
+寂 < sabi\ ;
+宿 < yado\ ;
+宮 < miya\ ;
+室 < muro\ ;
+玖 < kyuu\ ;
+玉 < dama\ ;
+安 < yasu\ ;
+守 < mori\ ;
+宅 < taku\ ;
+學 < gaku\ ;
+孫 < mago\ ;
+獨 < doku\ ;
+獄 < goku\ ;
+猫 < neko\ ;
+謡 < utai\ ;
+謎 < nazo\ ;
+嫁 < yome\ ;
+誰 < dare\ ;
+婿 < muko\ ;
+物 < mono\ ;
+牛 < ushi\ ;
+評 < hyou\ ;
+婆 < baba\ ;
+訳 < wake\ ;
+爆 < baku\ ;
+姫 < hime\ ;
+妙 < myou\ ;
+熊 < kuma\ ;
+煤 < susu\ ;
+焼 < yaki\ ;
+夫 < otto\ ;
+夢 < yume\ ;
+夜 < yoru\ ;
+外 < hoka\ ;
+裾 < suso\ ;
+壱 < ichi\ ;
+壓 < atsu\ ;
+壁 < kabe\ ;
+為 < tame\ ;
+炭 < sumi\ ;
+袖 < sode\ ;
+墓 < haka\ ;
+塩 < shio\ ;
+塞 < soku\ ;
+術 < sube\ ;
+行 < gyou\ ;
+瀝 < reki\ ;
+堀 < hori\ ;
+濁 < daku\ ;
+激 < geki\ ;
+垣 < kaki\ ;
+型 < kata\ ;
+蝉 < semi\ ;
+坂 < saka\ ;
+鼻 < hana\ ;
+園 < sono\ ;
+国 < kuni\ ;
+黴 < kabi\ ;
+黙 < moku\ ;
+黒 < kuro\ ;
+黍 < kibi\ ;
+蛇 < hebi\ ;
+溺 < deki\ ;
+麦 < mugi\ ;
+蚤 < nomi\ ;
+溢 < itsu\ ;
+溝 < mizo\ ;
+虎 < tora\ ;
+鷹 < taka\ ;
+藤 < fuji\ ;
+藁 < wara\ ;
+喉 < nodo\ ;
+浴 < yoku\ ;
+浜 < hama\ ;
+唯 < tada\ ;
+洞 < hora\ ;
+洛 < raku\ ;
+唖 < oshi\ ;
+蓮 < hasu\ ;
+鳩 < hato\ ;
+鳥 < tori\ ;
+泥 < doro\ ;
+波 < nami\ ;
+蓋 < futa\ ;
+沼 < numa\ ;
+蒻 < jaku\ ;
+蒲 < gama\ ;
+沢 < sawa\ ;
+鱈 < tara\ ;
+落 < ochi\ ;
+水 < mizu\ ;
+民 < tami\ ;
+右 < migi\ ;
+古 < furu\ ;
+母 < haha\ ;
+菊 < kiku\ ;
+友 < tomo\ ;
+又 < mata\ ;
+殿 < dono\ ;
+殻 < kara\ ;
+莢 < saya\ ;
+原 < hara\ ;
+草 < kusa\ ;
+升 < masu\ ;
+鬱 < utsu\ ;
+鬚 < hige\ ;
+匙 < saji\ ;
+北 < hoku\ ;
+茎 < kuki\ ;
+茅 < kaya\ ;
+匂 < niou\ ;
+髷 < mage\ ;
+髪 < kami\ ;
+苔 < koke\ ;
+骨 < hone\ ;
+助 < suke\ ;
+割 < wari\ ;
+機 < hata\ ;
+削 < saku\ ;
+船 < fune\ ;
+刺 < toge\ ;
+横 < yoko\ ;
+刈 < kari\ ;
+樅 < momi\ ;
+駒 < koma\ ;
+臍 < heso\ ;
+冬 < fuyu\ ;
+膝 < hiza\ ;
+膜 < maku\ ;
+首 < kubi\ ;
+円 < maru\ ;
+内 < uchi\ ;
+共 < domo\ ;
+業 < waza\ ;
+六 < roku\ ;
+入 < nyuu\ ;
+元 < moto\ ;
+儘 < mama\ ;
+脇 < waki\ ;
+脂 < yani\ ;
+胸 < mune\ ;
+棚 < tana\ ;
+肝 < kimo\ ;
+肘 < hiji\ ;
+傘 < kasa\ ;
+肌 < hada\ ;
+肉 < niku\ ;
+梃 < teko\ ;
+偽 < nise\ ;
+桐 < kiri\ ;
+桃 < momo\ ;
+桁 < keta\ ;
+耳 < mimi\ ;
+頬 < hoho\ ;
+栗 < kuri\ ;
+頃 < goro\ ;
+柚 < yuzu\ ;
+価 < atai\ ;
+杖 < tsue\ ;
+村 < mura\ ;
+杏 < anzu\ ;
+杉 < sugi\ ;
+伽 < togi\ ;
+札 < fuda\ ;
+雲 < kumo\ ;
+仲 < naka\ ;
+雪 < yuki\ ;
+雌 < mesu\ ;
+人 < hito\ ;
+隙 < suki\ ;
+暇 < hima\ ;
+之 < kore\ ;
+時 < toki\ ;
+昼 < hiru\ ;
+縦 < tate\ ;
+春 < haru\ ;
+丈 < dake\ ;
+縄 < nawa\ ;
+闇 < yami\ ;
+旅 < tabi\ ;
+綿 < wata\ ;
+絹 < kinu\ ;
+組 < kumi\ ;
+紐 < himo\ ;
+紅 < beni\ ;
+粥 < kayu\ ;
+粉 < kona\ ;
+米 < kome\ ;
+籠 < kago\ ;
+鐘 < kane\ ;
+揺 < yuri\ ;
+描 < byou\ ;
+箱 < hako\ ;
+管 < kuda\ ;
+鍵 < kagi\ ;
+鍋 < nabe\ ;
+筋 < suji\ ;
+等 < nado\ ;
+筈 < hazu\ ;
+筆 < fude\ ;
+笹 < sasa\ ;
+指 < yubi\ ;
+竹 < take\ ;
+窓 < mado\ ;
+銑 < zuku\ ;
+空 < sora\ ;
+扇 < ougi\ ;
+房 < fusa\ ;
+鈴 < suzu\ ;
+種 < tane\ ;
+我 < ware\ ;
+稍 < yaya\ ;
+程 < hodo\ ;
+針 < hari\ ;
+釜 < kama\ ;
+釘 < kugi\ ;
+禿 < hage\ ;
+憩 < ikoi\ ;
+酒 < sake\ ;
+態 < zama\ ;
+惑 < waku\ ;
+悪 < waru\ ;
+碧 < heki\ ;
+恥 < haji\ ;
+通 < tsuu\ ;
+砂 < suna\ ;
+応援 < ouen\ ;
+古器 < koki\ ;
+凍雨 < touu\ ;
+徒歩 < toho\ ;
+可否 < kahi\ ;
+徐歩 < joho\ ;
+庇護 < higo\ ;
+野営 < yaei\ ;
+法会 < houe\ ;
+同位 < doui\ ;
+危懼 < kigu\ ;
+句句 < kuku\ ;
+口受 < kuju\ ;
+治具 < jigu\ ;
+冷雨 < reiu\ ;
+当為 < toui\ ;
+右党 < utou\ ;
+遺精 < isei\ ;
+野卑 < yahi\ ;
+右傾 < ukei\ ;
+医書 < isho\ ;
+違背 < ihai\ ;
+怨嗟 < ensa\ ;
+鸚哥 < inko\ ;
+破毀 < haki\ ;
+反吐 < hedo\ ;
+反古 < hogo\ ;
+古儀 < kogi\ ;
+印度 < indo\ ;
+遺稿 < ikou\ ;
+相違 < soui\ ;
+座臥 < zaga\ ;
+帰途 < kito\ ;
+円顱 < enro\ ;
+磁場 < jiba\ ;
+古事 < koji\ ;
+永寿 < eiju\ ;
+往時 < ouji\ ;
+磁土 < jido\ ;
+鴉片 < ahen\ ;
+印字 < inji\ ;
+違算 < isan\ ;
+叙事 < joji\ ;
+磁器 < jiki\ ;
+微微 < bibi\ ;
+帰路 < kiro\ ;
+御意 < gyoi\ ;
+砂洲 < sasu\ ;
+午後 < gogo\ ;
+毀棄 < kiki\ ;
+遠祖 < enso\ ;
+後手 < gote\ ;
+干葉 < hiba\ ;
+引火 < inka\ ;
+御影 < goei\ ;
+樹陰 < juin\ ;
+英音 < eion\ ;
+汚名 < omei\ ;
+磁区 < jiku\ ;
+邪淫 < jain\ ;
+迂言 < ugen\ ;
+磁化 < jika\ ;
+医師 < ishi\ ;
+彼我 < higa\ ;
+危坐 < kiza\ ;
+機運 < kiun\ ;
+助演 < joen\ ;
+邪気 < jaki\ ;
+弥次 < yaji\ ;
+往往 < ouou\ ;
+刀自 < toji\ ;
+御子 < miko\ ;
+医官 < ikan\ ;
+加温 < kaon\ ;
+過疎 < kaso\ ;
+応募 < oubo\ ;
+遺漏 < irou\ ;
+後家 < goke\ ;
+医大 < idai\ ;
+殴打 < ouda\ ;
+歩武 < hobu\ ;
+違犯 < ihan\ ;
+円貨 < enka\ ;
+気味 < gimi\ ;
+気合 < kiai\ ;
+布衍 < fuen\ ;
+魔魅 < mami\ ;
+後場 < goba\ ;
+破家 < baka\ ;
+気化 < kika\ ;
+征夷 < seii\ ;
+水位 < suii\ ;
+円規 < enki\ ;
+盈虧 < eiki\ ;
+御名 < mina\ ;
+部屋 < heya\ ;
+英貨 < eika\ ;
+過渡 < kato\ ;
+違法 < ihou\ ;
+殷富 < inpu\ ;
+茣蓙 < goza\ ;
+英語 < eigo\ ;
+運河 < unga\ ;
+知恵 < chie\ ;
+運気 < unki\ ;
+輸贏 < yuei\ ;
+勢子 < seko\ ;
+包囲 < houi\ ;
+往古 < ouko\ ;
+加持 < kaji\ ;
+弧度 < kodo\ ;
+都営 < toei\ ;
+比喩 < hiyu\ ;
+遺文 < ibun\ ;
+逢瀬 < ouse\ ;
+出目 < deme\ ;
+武技 < bugi\ ;
+座洲 < zasu\ ;
+御代 < miyo\ ;
+医会 < ikai\ ;
+得体 < etai\ ;
+影印 < eiin\ ;
+円舞 < enbu\ ;
+鵜匠 < ujou\ ;
+母印 < boin\ ;
+逸機 < ikki\ ;
+部員 < buin\ ;
+皮膚 < hifu\ ;
+刷毛 < hake\ ;
+武庫 < buko\ ;
+機縁 < kien\ ;
+砂土 < sado\ ;
+遺恨 < ikon\ ;
+花譜 < kafu\ ;
+比価 < hika\ ;
+武家 < buke\ ;
+横臥 < ouga\ ;
+鬱金 < ukon\ ;
+比丘 < biku\ ;
+都下 < toka\ ;
+矢場 < yaba\ ;
+違憲 < iken\ ;
+延寿 < enju\ ;
+百舌 < mozu\ ;
+武夫 < bufu\ ;
+砂利 < jari\ ;
+部下 < buka\ ;
+瞽女 < goze\ ;
+出歯 < deba\ ;
+過度 < kado\ ;
+武器 < buki\ ;
+運座 < unza\ ;
+次序 < jijo\ ;
+模糊 < moko\ ;
+花芽 < kaga\ ;
+平易 < heii\ ;
+歩合 < buai\ ;
+疎音 < soin\ ;
+樹皮 < juhi\ ;
+府庫 < fuko\ ;
+遺品 < ihin\ ;
+疑雲 < giun\ ;
+遺命 < imei\ ;
+此処 < koko\ ;
+武具 < bugu\ ;
+几案 < kian\ ;
+武備 < bubi\ ;
+追手 < otte\ ;
+異風 < ifuu\ ;
+異類 < irui\ ;
+利己 < riko\ ;
+武事 < buji\ ;
+荊棘 < bara\ ;
+魔羅 < mara\ ;
+遺体 < itai\ ;
+遺伝 < iden\ ;
+過去 < kako\ ;
+欧化 < ouka\ ;
+疎遠 < soen\ ;
+疑辞 < giji\ ;
+左派 < saha\ ;
+艶美 < enbi\ ;
+驢馬 < roba\ ;
+岐阜 < gifu\ ;
+座員 < zain\ ;
+永々 < eiei\ ;
+真帆 < maho\ ;
+相手 < aite\ ;
+度合 < doai\ ;
+違例 < irei\ ;
+利器 < riki\ ;
+色絵 < iroe\ ;
+廃位 < haii\ ;
+布施 < fuse\ ;
+自費 < jihi\ ;
+自負 < jifu\ ;
+入江 < irie\ ;
+騾馬 < raba\ ;
+花王 < kaou\ ;
+棋院 < kiin\ ;
+帷幄 < iaku\ ;
+英武 < eibu\ ;
+異趣 < ishu\ ;
+具案 < guan\ ;
+自衛 < jiei\ ;
+異論 < iron\ ;
+相子 < aiko\ ;
+府下 < fuka\ ;
+魔王 < maou\ ;
+利他 < rita\ ;
+騎馬 < kiba\ ;
+機影 < kiei\ ;
+発条 < bane\ ;
+内意 < naii\ ;
+機序 < kijo\ ;
+帝威 < teii\ ;
+迂回 < ukai\ ;
+退位 < taii\ ;
+梅雨 < baiu\ ;
+模擬 < mogi\ ;
+円弧 < enko\ ;
+痲痺 < mahi\ ;
+目地 < meji\ ;
+円座 < enza\ ;
+花樹 < kaju\ ;
+画譜 < gafu\ ;
+機宜 < kigi\ ;
+尾部 < bibu\ ;
+盲唖 < moua\ ;
+依願 < igan\ ;
+依頼 < irai\ ;
+疑義 < gigi\ ;
+真似 < mane\ ;
+棋譜 < kifu\ ;
+児戯 < jigi\ ;
+真上 < maue\ ;
+希土 < kido\ ;
+臙脂 < enji\ ;
+偃臥 < enga\ ;
+胡麻 < goma\ ;
+栗鼠 < risu\ ;
+寺院 < jiin\ ;
+目処 < medo\ ;
+駄馬 < daba\ ;
+公家 < kuge\ ;
+鬱気 < ukki\ ;
+軽易 < keii\ ;
+英字 < eiji\ ;
+俚語 < rigo\ ;
+屠蘇 < toso\ ;
+駆除 < kujo\ ;
+寝間 < nema\ ;
+目上 < meue\ ;
+輪差 < wasa\ ;
+余韻 < yoin\ ;
+異端 < itan\ ;
+工合 < guai\ ;
+花序 < kajo\ ;
+山羊 < yagi\ ;
+苦土 < kudo\ ;
+寿賀 < juga\ ;
+自画 < jiga\ ;
+石斑魚 < ugui\ ;
+英和 < eiwa\ ;
+画素 < gaso\ ;
+梨花 < rika\ ;
+由縁 < yuen\ ;
+魚座 < uoza\ ;
+具備 < gubi\ ;
+越訴 < esso\ ;
+儒家 < juka\ ;
+起訴 < kiso\ ;
+俚耳 < riji\ ;
+家運 < kaun\ ;
+異状 < ijou\ ;
+楚楚 < soso\ ;
+饑餓 < kiga\ ;
+皇位 < koui\ ;
+家路 < ieji\ ;
+魔女 < majo\ ;
+饂飩 < udon\ ;
+字音 < jion\ ;
+寄語 < kigo\ ;
+耳鼻 < jibi\ ;
+餓鬼 < gaki\ ;
+胤裔 < inei\ ;
+儲位 < choi\ ;
+自棄 < yake\ ;
+理非 < rihi\ ;
+優位 < yuui\ ;
+栄誉 < eiyo\ ;
+輔佐 < hosa\ ;
+伊達 < date\ ;
+異様 < iyou\ ;
+余蘊 < youn\ ;
+家蚊 < ieka\ ;
+尼甫 < jiho\ ;
+偉材 < izai\ ;
+異本 < ihon\ ;
+植木 < ueki\ ;
+胼胝 < tako\ ;
+航宇 < kouu\ ;
+疑懼 < giku\ ;
+異数 < isuu\ ;
+疑惧 < gigu\ ;
+魁偉 < kaii\ ;
+保無 < homu\ ;
+自愛 < jiai\ ;
+栄華 < eiga\ ;
+偉挙 < ikyo\ ;
+偉才 < isai\ ;
+理路 < riro\ ;
+賦詠 < fuei\ ;
+畏敬 < ikei\ ;
+保温 < hoon\ ;
+画架 < gaka\ ;
+二院 < niin\ ;
+自己 < jiko\ ;
+豪雨 < gouu\ ;
+付議 < fugi\ ;
+保母 < hobo\ ;
+安臥 < anga\ ;
+亜鈴 < arei\ ;
+付記 < fuki\ ;
+小火 < boya\ ;
+駄目 < dame\ ;
+屋根 < yane\ ;
+依然 < izen\ ;
+異存 < izon\ ;
+二部 < nibu\ ;
+風雨 < fuuu\ ;
+楕円 < daen\ ;
+偽印 < giin\ ;
+異変 < ihen\ ;
+留守 < rusu\ ;
+位相 < isou\ ;
+一鼓 < ikko\ ;
+用意 < youi\ ;
+耳語 < jigo\ ;
+異域 < iiki\ ;
+保持 < hoji\ ;
+興亜 < koua\ ;
+瓦斯 < gasu\ ;
+自利 < jiri\ ;
+余煙 < yoen\ ;
+下駄 < geta\ ;
+下馬 < geba\ ;
+假名 < kana\ ;
+異同 < idou\ ;
+耶蘇 < yaso\ ;
+瑠璃 < ruri\ ;
+偉勲 < ikun\ ;
+久遠 < kuon\ ;
+自余 < jiyo\ ;
+不離 < furi\ ;
+自他 < jita\ ;
+美音 < bion\ ;
+子等 < kora\ ;
+下院 < kain\ ;
+不間 < buma\ ;
+画因 < gain\ ;
+余波 < yoha\ ;
+畏友 < iyuu\ ;
+小手 < kote\ ;
+趣意 < shui\ ;
+偉人 < ijin\ ;
+保安 < hoan\ ;
+余殃 < yoou\ ;
+路地 < roji\ ;
+琵琶 < biwa\ ;
+暮雲 < boun\ ;
+胃液 < ieki\ ;
+亜聖 < asei\ ;
+下野 < geya\ ;
+上野 < ueno\ ;
+肌理 < kime\ ;
+馴染 < naji\ ;
+亜群 < agun\ ;
+世辞 < seji\ ;
+不運 < fuun\ ;
+余栄 < yoei\ ;
+梨園 < rien\ ;
+供御 < gugo\ ;
+路加 < ruka\ ;
+亜綱 < akou\ ;
+余暇 < yoka\ ;
+一過 < ikka\ ;
+小屋 < koya\ ;
+一途 < itto\ ;
+美辞 < biji\ ;
+安気 < anki\ ;
+栄枯 < eiko\ ;
+寓意 < guui\ ;
+世話 < sewa\ ;
+亜種 < ashu\ ;
+晴雨 < seiu\ ;
+小夜 < sayo\ ;
+飛簷 < hien\ ;
+音頭 < ondo\ ;
+余技 < yogi\ ;
+不語 < fugo\ ;
+余所 < yoso\ ;
+王者 < ouja\ ;
+暗部 < anbu\ ;
+供奉 < gubu\ ;
+害意 < gaii\ ;
+予示 < yoji\ ;
+安易 < an''i\ ;
+下衆 < gesu\ ;
+上衣 < joui\ ;
+字母 < jibo\ ;
+背戸 < sedo\ ;
+寄席 < yose\ ;
+佳宴 < kaen\ ;
+犠飛 < gihi\ ;
+不虞 < fugu\ ;
+腐儒 < fuju\ ;
+罵詈 < bari\ ;
+他派 < taha\ ;
+安打 < anda\ ;
+暗譜 < anpu\ ;
+是非 < zehi\ ;
+家家 < ieie\ ;
+枸杞 < kuko\ ;
+猿臂 < enpi\ ;
+云爾 < unji\ ;
+亜炭 < atan\ ;
+以東 < itou\ ;
+安座 < anza\ ;
+旗鼓 < kiko\ ;
+鞍馬 < anba\ ;
+一臂 < ippi\ ;
+木瓜 < boke\ ;
+肩巾 < hire\ ;
+時運 < jiun\ ;
+韻語 < ingo\ ;
+音譜 < onpu\ ;
+上絵 < uwae\ ;
+孤影 < koei\ ;
+案価 < anka\ ;
+猛者 < mosa\ ;
+羽目 < hame\ ;
+護謨 < gomu\ ;
+二次 < niji\ ;
+如露 < joro\ ;
+不穏 < fuon\ ;
+安堵 < ando\ ;
+馬具 < bagu\ ;
+他愛 < taai\ ;
+家出 < iede\ ;
+安固 < anko\ ;
+家具 < kagu\ ;
+不磨 < fuma\ ;
+日間 < hiai\ ;
+伎女 < gijo\ ;
+寄与 < kiyo\ ;
+青青 < aoao\ ;
+二期 < niki\ ;
+安否 < anpi\ ;
+胡乱 < uron\ ;
+予期 < yoki\ ;
+義理 < giri\ ;
+譏誹 < kihi\ ;
+下痢 < geri\ ;
+賭場 < toba\ ;
+賀宴 < gaen\ ;
+宇内 < udai\ ;
+以外 < igai\ ;
+夢魔 < muma\ ;
+来意 < raii\ ;
+暗示 < anji\ ;
+安保 < anpo\ ;
+非運 < hiun\ ;
+聾唖 < roua\ ;
+羽毛 < umou\ ;
+音素 < onso\ ;
+贈位 < zoui\ ;
+付図 < fuzu\ ;
+予後 < yogo\ ;
+二度 < nido\ ;
+義気 < giki\ ;
+義母 < gibo\ ;
+語音 < goon\ ;
+以南 < inan\ ;
+夜陰 < yain\ ;
+付和 < fuwa\ ;
+王手 < oute\ ;
+羽根 < hane\ ;
+非議 < higi\ ;
+以内 < inai\ ;
+一派 < ippa\ ;
+三毛 < mike\ ;
+雷雨 < raiu\ ;
+雑魚 < jako\ ;
+護符 < gofu\ ;
+雲霧 < unmu\ ;
+賦与 < fuyo\ ;
+大野 < oono\ ;
+一歩 < ippo\ ;
+斎部 < inbe\ ;
+代位 < daii\ ;
+王座 < ouza\ ;
+代代 < yoyo\ ;
+他事 < taji\ ;
+狒狒 < hihi\ ;
+狐狸 < kori\ ;
+露語 < rogo\ ;
+大路 < ooji\ ;
+王家 < ouke\ ;
+義援 < gien\ ;
+王妃 < ouhi\ ;
+王女 < oujo\ ;
+青葉 < aoba\ ;
+青菜 < aona\ ;
+互助 < gojo\ ;
+五分 < gobu\ ;
+事務 < jimu\ ;
+下手 < heta\ ;
+下戸 < geko\ ;
+東亞 < toua\ ;
+木地 < kiji\ ;
+王土 < oudo\ ;
+美技 < bigi\ ;
+誤記 < goki\ ;
+音波 < onpa\ ;
+韻母 < inbo\ ;
+予備 < yobi\ ;
+二価 < nika\ ;
+施肥 < sehi\ ;
+二佐 < nisa\ ;
+早稲 < wase\ ;
+煙霧 < enmu\ ;
+煙雨 < en''u\ ;
+風呂 < furo\ ;
+乾位 < keni\ ;
+擬音 < gion\ ;
+縁起 < engi\ ;
+九分 < kubu\ ;
+不安 < fuan\ ;
+父祖 < fuso\ ;
+一家 < ikke\ ;
+陰阜 < infu\ ;
+暗愚 < angu\ ;
+与太 < yota\ ;
+下女 < gejo\ ;
+無駄 < muda\ ;
+縁語 < engo\ ;
+雅語 < gago\ ;
+獣医 < juui\ ;
+美姫 < biki\ ;
+婦女 < fujo\ ;
+風位 < fuui\ ;
+美女 < bijo\ ;
+青砥 < aoto\ ;
+無音 < muon\ ;
+議案 < gian\ ;
+不図 < futo\ ;
+隘路 < airo\ ;
+猛威 < moui\ ;
+多義 < tagi\ ;
+暴威 < boui\ ;
+語義 < gogi\ ;
+陰部 < inbu\ ;
+女王 < joou\ ;
+非理 < hiri\ ;
+雲脂 < fuke\ ;
+義務 < gimu\ ;
+離苦 < riku\ ;
+青田 < aota\ ;
+不味 < fumi\ ;
+三味 < sami\ ;
+下句 < geku\ ;
+縷縷 < ruru\ ;
+壁蝨 < dani\ ;
+美味 < bimi\ ;
+下卑 < gebi\ ;
+護持 < goji\ ;
+一句 < ikku\ ;
+無鉛 < muen\ ;
+美化 < bika\ ;
+不備 < fubi\ ;
+犠打 < gida\ ;
+外科 < geka\ ;
+大目 < oome\ ;
+縁者 < enja\ ;
+日歩 < hibu\ ;
+音字 < onji\ ;
+院議 < ingi\ ;
+一佐 < issa\ ;
+父母 < fubo\ ;
+非毀 < hiki\ ;
+時差 < jisa\ ;
+細雨 < saiu\ ;
+霊異 < reii\ ;
+基音 < kion\ ;
+緯線 < isen\ ;
+隠者 < inja\ ;
+閻魔 < enma\ ;
+日日 < hibi\ ;
+数珠 < juzu\ ;
+陰萎 < in''i\ ;
+音吐 < onto\ ;
+音叉 < onsa\ ;
+青木 < aoki\ ;
+威厳 < igen\ ;
+謝意 < shai\ ;
+綺羅 < kira\ ;
+基部 < kibu\ ;
+如意 < nyoi\ ;
+好悪 < kouo\ ;
+音価 < onka\ ;
+既往 < kiou\ ;
+奥意 < okui\ ;
+墓碑 < bohi\ ;
+雨水 < usui\ ;
+夜暗 < yaan\ ;
+時事 < jiji\ ;
+委任 < inin\ ;
+奴婢 < nuhi\ ;
+大手 < oode\ ;
+露座 < roza\ ;
+陰画 < inga\ ;
+壊死 < eshi\ ;
+無碍 < muge\ ;
+詐欺 < sagi\ ;
+青地 < aoji\ ;
+青図 < aozu\ ;
+粗野 < soya\ ;
+大屋 < ooya\ ;
+誤差 < gosa\ ;
+無理 < muri\ ;
+夢寐 < mubi\ ;
+多岐 < taki\ ;
+煙波 < enpa\ ;
+旧事 < kuji\ ;
+語尾 < gobi\ ;
+露営 < roei\ ;
+陰気 < inki\ ;
+多多 < tata\ ;
+土間 < doma\ ;
+措辞 < soji\ ;
+無派 < muha\ ;
+濾過 < roka\ ;
+齱 < seku\ ;
+雨天 < uten\ ;
+雨声 < usei\ ;
+鼏 < beki\ ;
+無比 < muhi\ ;
+見目 < mime\ ;
+麿 < maro\ ;
+雨域 < uiki\ ;
+夜半 < yowa\ ;
+鶪 < keki\ ;
+無機 < muki\ ;
+鴨 < kamo\ ;
+隠微 < inbi\ ;
+補記 < hoki\ ;
+随意 < zuii\ ;
+鱧 < hamo\ ;
+鱚 < kisu\ ;
+鰤 < buri\ ;
+鰙 < haya\ ;
+鰐 < wani\ ;
+夜具 < yagu\ ;
+鯖 < saba\ ;
+鯔 < bora\ ;
+鯊 < haze\ ;
+鮴 < gori\ ;
+鮲 < mate\ ;
+鮫 < same\ ;
+鮒 < funa\ ;
+魹 < todo\ ;
+骭 < hagi\ ;
+骉 < hyuu\ ;
+粗菓 < soka\ ;
+火箭 < hiya\ ;
+絵本 < ehon\ ;
+韮 < nira\ ;
+鞠 < mari\ ;
+土語 < dogo\ ;
+靄 < moya\ ;
+地衣 < chii\ ;
+雇員 < koin\ ;
+雅味 < gami\ ;
+簿記 < boki\ ;
+閖 < yuru\ ;
+無手 < mute\ ;
+無我 < muga\ ;
+鑓 < yari\ ;
+鑃 < tyou\ ;
+阿房 < ahou\ ;
+鍬 < kuwa\ ;
+補肥 < hohi\ ;
+鉾 < hoko\ ;
+規模 < kibo\ ;
+袈裟 < kesa\ ;
+鄙 < hina\ ;
+塗布 < tofu\ ;
+逩 < kamu\ ;
+逧 < sako\ ;
+迍 < chun\ ;
+轌 < sori\ ;
+除夜 < joya\ ;
+火炉 < karo\ ;
+賭 < kake\ ;
+押韻 < ouin\ ;
+擬古 < giko\ ;
+豚 < buta\ ;
+無垢 < muku\ ;
+無地 < muji\ ;
+襞 < hida\ ;
+素手 < sude\ ;
+褱 < kaie\ ;
+裛 < youu\ ;
+袰 < horo\ ;
+蟹 < kani\ ;
+無味 < mumi\ ;
+蚋 < buyo\ ;
+虙 < huku\ ;
+藪 < yabu\ ;
+蕪 < kabu\ ;
+蔇 < kike\ ;
+蓼 < tade\ ;
+蓑 < mino\ ;
+葱 < negi\ ;
+院主 < inju\ ;
+堂宇 < douu\ ;
+阿兄 < akei\ ;
+苆 < susa\ ;
+芹 < seri\ ;
+無価 < muka\ ;
+芒 < nogi\ ;
+場合 < baai\ ;
+絵像 < ezou\ ;
+無二 < muni\ ;
+膃 < otsu\ ;
+脛 < sune\ ;
+衣紋 < emon\ ;
+納屋 < naya\ ;
+見場 < miba\ ;
+笑顔 < egao\ ;
+罠 < wana\ ;
+揶揄 < yayu\ ;
+綛 < kase\ ;
+粗朶 < soda\ ;
+糠 < nuka\ ;
+糊 < nori\ ;
+手間 < tema\ ;
+図画 < zuga\ ;
+粂 < kume\ ;
+簗 < yana\ ;
+箍 < taga\ ;
+箆 < hera\ ;
+笊 < zaru\ ;
+火屋 < hoya\ ;
+瀬戸 < seto\ ;
+螻蛄 < kera\ ;
+瘤 < kobu\ ;
+間夫 < mabu\ ;
+甕 < mika\ ;
+粗布 < sofu\ ;
+瑕 < kizu\ ;
+獶 < nyou\ ;
+蛙黽 < abou\ ;
+掏摸 < suri\ ;
+燸 < jiyu\ ;
+裸婦 < rafu\ ;
+図案 < zuan\ ;
+土手 < dote\ ;
+滓 < kasu\ ;
+温雅 < onga\ ;
+援助 < enjo\ ;
+齟齬 < sogo\ ;
+橳 < nude\ ;
+橲 < zusa\ ;
+四方 < yomo\ ;
+樽 < taru\ ;
+樺 < kaba\ ;
+楅 < hyku\ ;
+椨 < tafu\ ;
+椥 < nagi\ ;
+栂 < toga\ ;
+杣 < soma\ ;
+国府 < kofu\ ;
+捻子 < neji\ ;
+手羽 < teba\ ;
+淫雨 < in''u\ ;
+補助 < hojo\ ;
+湯葉 < yuba\ ;
+土器 < doki\ ;
+按摩 < anma\ ;
+扨 < sate\ ;
+授受 < juju\ ;
+打破 < daha\ ;
+拿捕 < daho\ ;
+土匪 < dohi\ ;
+彶 < kihu\ ;
+弶 < gyau\ ;
+弗 < doru\ ;
+弓 < yumi\ ;
+廧 < shau\ ;
+帤 < geyo\ ;
+帢 < kahu\ ;
+巤 < rehu\ ;
+嶯 < shiu\ ;
+嵀 < chiu\ ;
+在位 < zaii\ ;
+崨 < sehu\ ;
+峅 < kura\ ;
+浮塵子 < unka\ ;
+屶 < nata\ ;
+愛馬 < aiba\ ;
+宨 < tewa\ ;
+授与 < juyo\ ;
+四囲 < shii\ ;
+固化 < koka\ ;
+愛飲 < aiin\ ;
+嬼 < riwa\ ;
+哀音 < aion\ ;
+嬶 < kaka\ ;
+媃 < jyuu\ ;
+回向 < ekou\ ;
+戯画 < giga\ ;
+塾 < juku\ ;
+埖 < gomi\ ;
+慰謝 < isha\ ;
+圾 < gyuu\ ;
+嘸 < sazo\ ;
+嘁 < sahu\ ;
+嗽 < ugai\ ;
+喢 < tehu\ ;
+啦 < rahu\ ;
+和音 < waon\ ;
+咶 < kuui\ ;
+押忍 < ossu\ ;
+移転 < iten\ ;
+銅鑼 < dora\ ;
+劋 < syou\ ;
+凸 < deko\ ;
+愛輝 < aiki\ ;
+湯煮 < yuni\ ;
+悪鬼 < akki\ ;
+俇 < kyau\ ;
+侠 < kyan\ ;
+佗 < wabi\ ;
+亀 < kame\ ;
+也 < nari\ ;
+愛護 < aigo\ ;
+哀話 < aiwa\ ;
+哀訴 < aiso\ ;
+呉須 < gosu\ ;
+秘話 < hiwa\ ;
+湯気 < yuge\ ;
+黄身 < kimi\ ;
+和議 < wagi\ ;
+和語 < wago\ ;
+吐露 < toro\ ;
+恩顧 < onko\ ;
+恵雨 < keiu\ ;
+海芋 < kaiu\ ;
+浄衣 < joue\ ;
+蕎麦 < soba\ ;
+鸚鵡 < oumu\ ;
+合間 < aima\ ;
+右面 < umen\ ;
+鼻祖 < biso\ ;
+悪貨 < akka\ ;
+渡欧 < toou\ ;
+古音 < koon\ ;
+嘔吐 < outo\ ;
+和英 < waei\ ;
+古雅 < koga\ ;
+滋味 < jimi\ ;
+唖然 < azen\ ;
+蘇芳 < suou\ ;
+藍褸 < boro\ ;
+悪衣 < akui\ ;
+湯屋 < yuya\ ;
+唾棄 < daki\ ;
+右辺 < uhen\ ;
+喜寿 < kiju\ ;
+湯女 < yuna\ ;
+厭離 < onri\ ;
+鼻炎 < bien\ ;
+野辺 < nobe\ ;
+恩誼 < ongi\ ;
+野路 < noji\ ;
+呪符 < jufu\ ;
+古語 < kogo\ ;
+営利 < eiri\ ;
+応需 < ouju\ ;
+我利 < gari\ ;
+移民 < imin\ ;
+喇嘛 < rama\ ;
+憎悪 < zouo\ ;
+右葉 < uyou\ ;
+哀歌 < aika\ ;
+受蘊 < juun\ ;
+御顔 < okao\ ;
+鹵簿 < robo\ ;
+十雨 < juuu\ ;
+右脳 < unou\ ;
+温和 < onwa\ ;
+永遠 < eien\ ;
+野良 < nora\ ;
+海松 < miru\ ;
+和歌 < waka\ ;
+汚行 < okou\ ;
+破風 < hafu\ ;
+愛撫 < aibu\ ;
+黄泉 < yomi\ ;
+応訴 < ouso\ ;
+哀慕 < aibo\ ;
+合着 < aigi\ ;
+御身 < onmi\ ;
+慰問 < imon\ ;
+区費 < kuhi\ ;
+呆気 < akke\ ;
+邪魔 < jama\ ;
+都鄙 < tohi\ ;
+破邪 < haja\ ;
+往路 < ouro\ ;
+邪飛 < jahi\ ;
+祖母 < sobo\ ;
+派手 < hade\ ;
+弥陀 < mida\ ;
+野猿 < yaen\ ;
+受理 < juri\ ;
+呼応 < koou\ ;
+秘奥 < hiou\ ;
+汚穢 < owai\ ;
+愚図 < guzu\ ;
+流布 < rufu\ ;
+母語 < bogo\ ;
+野火 < nobi\ ;
+和字 < waji\ ;
+合歓 < nemu\ ;
+御茶 < ocha\ ;
+麻布 < mafu\ ;
+悪感 < okan\ ;
+移住 < ijuu\ ;
+虚位 < kyoi\ ;
+恵方 < ehou\ ;
+愛児 < aiji\ ;
+沙汰 < sata\ ;
+武運 < buun\ ;
+御簾 < misu\ ;
+味噌 < miso\ ;
+右方 < uhou\ ;
+亜細亜 < ajia\ ;
+廈門 < amoi\ ;
+汚点 < oten\ ;
+毛羽 < keba\ ;
+野暮 < yabo\ ;
+合意 < goui\ ;
+御礼 < orei\ ;
+波布 < habu\ ;
+御碗 < owan\ ;
+遺贈 < izou\ ;
+汚泥 < odei\ ;
+石蓴 < aosa\ ;
+御盆 < obon\ ;
+汚水 < osui\ ;
+南無 < namu\ ;
+追風 < oite\ ;
+砒素 < hiso\ ;
+怪我 < kega\ ;
+右岸 < ugan\ ;
+汚染 < osen\ ;
+恩威 < on''i\ ;
+荷駄 < nida\ ;
+合図 < aizu\ ;
+遺著 < icho\ ;
+幾重 < ikue\ ;
+汚損 < oson\ ;
+吏員 < riin\ ;
+厭悪 < en''o\ ;
+去年 < kozo\ ;
+名医 < meii\ ;
+吏務 < rimu\ ;
+迷 < mei\ ;
+念 < nen\ ;
+短 < tan\ ;
+快 < kai\ ;
+迥 < kei\ ;
+知 < chi\ ;
+矜 < kin\ ;
+忙 < bou\ ;
+返 < hen\ ;
+迎 < gei\ ;
+忍 < nin\ ;
+迅 < jin\ ;
+辿 < ten\ ;
+瞻 < sen\ ;
+農 < nou\ ;
+辯 < ben\ ;
+循 < jun\ ;
+瞠 < dou\ ;
+從 < juu\ ;
+待 < tai\ ;
+彩 < sai\ ;
+睡 < sui\ ;
+轟 < gou\ ;
+当 < tou\ ;
+彈 < dan\ ;
+眩 < gen\ ;
+眠 < min\ ;
+弟 < tei\ ;
+弛 < shi\ ;
+弘 < kou\ ;
+県 < ken\ ;
+看 < kan\ ;
+弄 < rou\ ;
+省 < sei\ ;
+相 < sou\ ;
+廢 < hai\ ;
+軍 < gun\ ;
+廉 < ren\ ;
+盆 < bon\ ;
+庸 < you\ ;
+皰 < hou\ ;
+躇 < cho\ ;
+幾 < iku\ ;
+幽 < yuu\ ;
+癌 < gan\ ;
+跡 < ato\ ;
+跟 < kon\ ;
+距 < kyo\ ;
+疊 < jou\ ;
+番 < ban\ ;
+畦 < aze\ ;
+畔 < han\ ;
+産 < san\ ;
+贅 < zei\ ;
+瓶 < bin\ ;
+賣 < bai\ ;
+瓜 < uri\ ;
+岩 < iwa\ ;
+財 < zai\ ;
+象 < zou\ ;
+屏 < hei\ ;
+尚 < nao\ ;
+射 < sha\ ;
+封 < fuu\ ;
+寸 < sun\ ;
+宵 < yoi\ ;
+害 < gai\ ;
+宛 < ate\ ;
+存 < son\ ;
+嬪 < hin\ ;
+諸 < sho\ ;
+論 < ron\ ;
+嫌 < iya\ ;
+犬 < inu\ ;
+誄 < rui\ ;
+牡 < osu\ ;
+牌 < pai\ ;
+爛 < ran\ ;
+燻 < kun\ ;
+姉 < ane\ ;
+親 < oya\ ;
+奮 < fun\ ;
+奥 < oku\ ;
+襟 < eri\ ;
+然 < zen\ ;
+声 < koe\ ;
+裏 < ura\ ;
+袂 < bei\ ;
+蟻 < ari\ ;
+濘 < nei\ ;
+埋 < mai\ ;
+垢 < aka\ ;
+蝿 < hae\ ;
+齡 < rei\ ;
+滿 < man\ ;
+蛛 < shu\ ;
+四 < yon\ ;
+麻 < asa\ ;
+湾 < wan\ ;
+虜 < ryo\ ;
+渦 < uzu\ ;
+嘘 < uso\ ;
+蘂 < zui\ ;
+淋 < rin\ ;
+液 < eki\ ;
+喰 < kuu\ ;
+海 < umi\ ;
+問 < mon\ ;
+泡 < awa\ ;
+蒙 < mou\ ;
+沖 < oki\ ;
+沌 < ton\ ;
+味 < aji\ ;
+池 < ike\ ;
+汗 < ase\ ;
+呑 < don\ ;
+氏 < uji\ ;
+台 < dai\ ;
+殘 < zan\ ;
+歌 < uta\ ;
+午 < uma\ ;
+十 < too\ ;
+鬼 < oni\ ;
+茶 < cha\ ;
+勤 < gon\ ;
+苗 < nae\ ;
+色 < iro\ ;
+前 < mae\ ;
+分 < bun\ ;
+臼 < usu\ ;
+馭 < gyo\ ;
+腕 < ude\ ;
+免 < men\ ;
+兄 < ani\ ;
+飴 < ame\ ;
+飜 < hon\ ;
+傳 < den\ ;
+梅 < ume\ ;
+桶 < oke\ ;
+偶 < guu\ ;
+顔 < kao\ ;
+顎 < ago\ ;
+頼 < rai\ ;
+俺 < ore\ ;
+枝 < eda\ ;
+板 < ita\ ;
+何 < nan\ ;
+隈 < wai\ ;
+織 < ori\ ;
+丘 < oka\ ;
+網 < ami\ ;
+長 < osa\ ;
+數 < suu\ ;
+故 < yue\ ;
+糸 < ito\ ;
+粗 < ara\ ;
+握 < aku\ ;
+笛 < fue\ ;
+竿 < sao\ ;
+稲 < ine\ ;
+或 < aru\ ;
+重 < omo\ ;
+秋 < aki\ ;
+禰 < dei\ ;
+息 < iki\ ;
+恋 < koi\ ;
+迂遠 < uen\ ;
+微意 < bii\ ;
+叙位 < joi\ ;
+迂路 < uro\ ;
+得手 < ete\ ;
+気宇 < kiu\ ;
+医家 < ika\ ;
+八重 < yae\ ;
+医員 < iin\ ;
+医務 < imu\ ;
+医事 < iji\ ;
+遺愛 < iai\ ;
+遺影 < iei\ ;
+部位 < bui\ ;
+遺孤 < iko\ ;
+異音 < ion\ ;
+希有 < keu\ ;
+迂愚 < ugu\ ;
+欧亜 < oua\ ;
+次位 < jii\ ;
+次亜 < jia\ ;
+眉宇 < biu\ ;
+異議 < igi\ ;
+居間 < ima\ ;
+帰依 < kie\ ;
+香魚 < ayu\ ;
+機位 < kii\ ;
+似非 < ese\ ;
+尾羽 < oha\ ;
+異父 < ifu\ ;
+会陰 < ein\ ;
+異母 < ibo\ ;
+亜麻 < ama\ ;
+以遠 < ien\ ;
+伊語 < igo\ ;
+亜鉛 < aen\ ;
+尾根 < one\ ;
+椅子 < isu\ ;
+依怙 < eko\ ;
+云為 < uni\ ;
+亜欧 < aou\ ;
+以往 < iou\ ;
+有無 < umu\ ;
+会厭 < een\ ;
+栄位 < eii\ ;
+井戸 < ido\ ;
+非違 < hii\ ;
+夜雨 < yau\ ;
+多雨 < tau\ ;
+二尉 < nii\ ;
+不意 < fui\ ;
+威武 < ibu\ ;
+有卦 < uke\ ;
+王位 < oui\ ;
+羅宇 < rao\ ;
+羽化 < uka\ ;
+絵馬 < ema\ ;
+壊疽 < eso\ ;
+雨気 < uki\ ;
+語意 < goi\ ;
+雨後 < ugo\ ;
+無為 < mui\ ;
+補遺 < hoi\ ;
+龒 < ryu\ ;
+黶 < aza\ ;
+阿比 < abi\ ;
+鳰 < nio\ ;
+鰕 < ebi\ ;
+鰓 < era\ ;
+餌 < esa\ ;
+鎊 < hau\ ;
+鍑 < huu\ ;
+錵 < nie\ ;
+鈖 < hun\ ;
+鄼 < sab\ ;
+鄞 < gin\ ;
+邾 < chu\ ;
+轑 < rau\ ;
+褜 < ena\ ;
+絵図 < ezu\ ;
+見得 < mie\ ;
+虻 < abu\ ;
+阿吽 < aun\ ;
+葵 < aoi\ ;
+荻 < ogi\ ;
+芋 < imo\ ;
+臑 < dau\ ;
+滋雨 < jiu\ ;
+稗 < hie\ ;
+瓴 < rii\ ;
+紆余 < uyo\ ;
+樋 < toi\ ;
+棰 < soi\ ;
+杭 < kui\ ;
+斧 < ono\ ;
+愰 < kau\ ;
+彯 < heu\ ;
+弨 < seu\ ;
+廇 < riu\ ;
+廅 < ahu\ ;
+庣 < teu\ ;
+嶆 < sau\ ;
+嵺 < reu\ ;
+嵶 < tao\ ;
+海髪 < ogo\ ;
+嬈 < deu\ ;
+嫹 < bau\ ;
+嫙 < seb\ ;
+意馬 < iba\ ;
+奡 < gau\ ;
+垚 < geu\ ;
+圦 < iri\ ;
+嚷 < jau\ ;
+図会 < zue\ ;
+嘫 < dam\ ;
+僠 < fan\ ;
+佂 < yai\ ;
+悪露 < oro\ ;
+蝦夷 < ezo\ ;
+穢多 < eta\ ;
+穢土 < edo\ ;
+慰安 < ian\ ;
+十重 < toe\ ;
+愚意 < gui\ ;
+右派 < uha\ ;
+意味 < imi\ ;
+萎靡 < ibi\ ;
+迦 < ka\ ;
+矢 < ya\ ;
+応 < ou\ ;
+忌 < ki\ ;
+辭 < ji\ ;
+微 < bi\ ;
+御 < go\ ;
+徒 < to\ ;
+徐 < jo\ ;
+眼 < me\ ;
+輪 < wa\ ;
+弥 < mi\ ;
+真 < ma\ ;
+引 < in\ ;
+弐 < ni\ ;
+延 < en\ ;
+庫 < ko\ ;
+座 < za\ ;
+度 < do\ ;
+府 < fu\ ;
+庇 < hi\ ;
+踰 < yu\ ;
+路 < ro\ ;
+差 < sa\ ;
+巣 < su\ ;
+痛 < ts\ ;
+疑 < gi\ ;
+疎 < so\ ;
+田 < ta\ ;
+甥 < oi\ ;
+豫 < yo\ ;
+履 < ri\ ;
+寝 < ne\ ;
+家 < ke\ ;
+訝 < ga\ ;
+營 < ei\ ;
+襦 < ju\ ;
+奈 < na\ ;
+無 < mu\ ;
+褞 < on\ ;
+褓 < ho\ ;
+裳 < mo\ ;
+墮 < da\ ;
+場 < ba\ ;
+瀬 < se\ ;
+螺 < ra\ ;
+図 < zu\ ;
+嗟 < aa\ ;
+藍 < ai\ ;
+鵡 < bu\ ;
+派 < ha\ ;
+莫 < bo\ ;
+苦 < ku\ ;
+出 < de\ ;
+具 < gu\ ;
+案 < an\ ;
+青 < ao\ ;
+云 < un\ ;
+乃 < no\ ;
+是 < ze\ ;
+手 < te\ ;
+惹 < ja\ ;
+伊井 < ii\ ;
+闞 < kn\ ;
+鈇 < hu\ ;
+讄 < ru\ ;
+曽 < zo\ ;
+搙 < nu\ ;
+庮 < iu\ ;
+嶴 < au\ ;
+岆 < eu\ ;
+屁 < he\ ;
+帷 < i\ ;
+尾 < o\ ;
+宇 < u\ ;
+江 < e\ ;
+亞 < a\ ;
+法学系大学院共通入学試験 > hougakukeidaigakuinkyoutsuunyuugakushiken\ ;
+朝鮮民主主義人民共和国 > chousenminshushugijinminkyouwakoku\ ;
+自動車損害賠償責任保険 > jidoushasongaibaishousekininhoken\ ;
+米国大学入学共通試験 > beikokudaigakunyuugakukyoutsuushiken\ ;
+日本労働組合総評議会 > nihonroudoukumiaisouhyougikai\ ;
+拘束名簿式比例代表制 > kousokumeibohireidaihyousei\ ;
+臨兵闘者皆陣裂在前 > rinpyoutoushakaijinretsuzaizen\ ;
+太平洋機械翻訳協会 > taiheiyoukikaihon''yakukyoukai\ ;
+勤労者財産形成促進 > kinroushazaisankeiseisokushin\ ;
+超超大規模集積回路 > chouchoudaikiboshuusekikairo\ ;
+超々大規模集積回路 > chouchoudaikiboshuusekikairo\ ;
+太平洋安全保障条約 > taiheiyouanzenhoshoujouyaku\ ;
+操縦席音声記録装置 > soujuusekionseikirokusouchi\ ;
+航空宇宙技術研究所 > koukuuuchuugijutsukenkyuujo\ ;
+浮動小数点演算機構 > fudoushousuuten''enzankikou\ ;
+現金自動預金支払機 > genkinjidouyokinshiharaiki\ ;
+主辞駆動句構造文法 > shujikudoukukouzoubunpou\ ;
+経済協力開発機構 > keizaikyouryokukaihatsukikou\ ;
+北海道開発庁長官 > hokkaidoukaihatsuchouchoukan\ ;
+外国人登録証明書 > gaikokujintourokushoumeisho\ ;
+戦略兵器削減条約 > senryakuheikisakugenjouyaku\ ;
+国際機械翻訳協会 > kokusaikikaihon''yakukyoukai\ ;
+国際電気通信連合 > kokusaidenkitsuushinrengou\ ;
+海外経済協力基金 > kaigaikeizaikyouryokukikin\ ;
+日米安全保障条約 > nichibeianzenhoshoujouyaku\ ;
+戦没者追悼記念日 > senbotsushatsuitoukinenbi\ ;
+戦術航空統制本部 > senjutsukoukuutouseihonbu\ ;
+工業高等専門学校 > kougyoukoutousenmongakkou\ ;
+北大西洋条約機構 > kitataiseiyoujouyakukikou\ ;
+超大規模集積回路 > choudaikiboshuusekikairo\ ;
+化学兵器禁止条約 > kagakuheikikinshijouyaku\ ;
+関税貿易一般協定 > kanzeibouekiippankyoutei\ ;
+在留期間更新許可 > zairyuukikankoushinkyoka\ ;
+万国国際音標文字 > bankokukokusaionpyoumoji\ ;
+海洋投棄規制条約 > kaiyoutoukikiseijouyaku\ ;
+野生動物保護団体 > yaseidoubutsuhogodantai\ ;
+自動列車制御装置 > jidouresshaseigyosouchi\ ;
+天然資源保護論者 > ten''nenshigenhogoronsha\ ;
+非常事態対処計画 > hijoujitaitaishokeikaku\ ;
+自動列車停止装置 > jidouresshateishisouchi\ ;
+赤十字国際委員会 > sekijuujikokusaiiinkai\ ;
+談話表示構造理論 > danwahyoujikouzouriron\ ;
+共産党中央委員会 > kyousantouchuuouiinkai\ ;
+民主党全国委員会 > minshutouzenkokuiinkai\ ;
+英語基礎能力試験 > eigokisonouryokushiken\ ;
+一般命令演算機構 > ippanmeireienzankikou\ ;
+知識集約型産業 > chishikishuuyakugatasangyou\ ;
+自律神経失調症 > jiritsushinkeishitchoushou\ ;
+沖縄開発庁長官 > okinawakaihatsuchouchoukan\ ;
+弁証法的唯物論 > benshouhoutekiyuibutsuron\ ;
+国際協力事業団 > kokusaikyouryokujigyoudan\ ;
+総合的品質管理 > sougoutekihinshitsukanri\ ;
+疑似直接目的語 > gijichokusetsumokutekigo\ ;
+万国著作権条約 > bankokuchosakukenjouyaku\ ;
+言語学的実在論 > gengogakutekijitsuzairon\ ;
+冠状動脈血栓症 > kanjoudoumyakukessenshou\ ;
+科学技術庁長官 > kagakugijutsuchouchoukan\ ;
+赤血球沈降速度 > sekkekkyuuchinkousokudo\ ;
+石油輸出国機構 > sekiyuyushutsukokukikou\ ;
+公共職業安定所 > koukyoushokugyouanteijo\ ;
+戦術航空統制班 > senjutsukoukuutouseihan\ ;
+自動金銭出入機 > jidoukinsenshutsunyuuki\ ;
+地震雷火事親父 > jishinkaminarikajioyaji\ ;
+多肢選択式試問 > tashisentakushikishimon\ ;
+新関西国際空港 > shinkansaikokusaikuukou\ ;
+言語学的観念論 > gengogakutekikan''nenron\ ;
+後発発展途上国 > kouhatsuhattentojoukoku\ ;
+抹消登録証明書 > mashoutourokushoumeisho\ ;
+経済企画庁長官 > keizaikikakuchouchoukan\ ;
+再生不良性貧血 > saiseifuryouseihinketsu\ ;
+火力支援調整線 > karyokushienchouseisen\ ;
+破壊活動防止法 > hakaikatsudouboushihou\ ;
+国際返信切手券 > kokusaihenshinkitteken\ ;
+中華人民共和国 > chuukajinminkyouwakoku\ ;
+東海道五十三次 > toukaidougojuusantsugi\ ;
+宇宙開発事業団 > uchuukaihatsujigyoudan\ ;
+三軸圧縮試験機 > sanjikuasshukushikenki\ ;
+視聴者参加番組 > shichoushasankabangumi\ ;
+州際通商委員会 > shuusaitsuushouiinkai\ ;
+周波数変換装置 > shuuhasuuhenkansouchi\ ;
+慢性疲労症候群 > manseihiroushoukougun\ ;
+公害対策基本法 > kougaitaisakukihonhou\ ;
+経済団体連合会 > keizaidantairengoukai\ ;
+戦闘電子戦情報 > sentoudenshisenjouhou\ ;
+現金自動支払機 > genkinjidoushiharaiki\ ;
+最高経営責任者 > saikoukeieisekininsha\ ;
+装甲人員運搬車 > soukoujin''in''unpansha\ ;
+日本語能力試験 > nihongonouryokushiken\ ;
+音節主音的子音 > onsetsushuontekishiin\ ;
+証券取引委員会 > shoukentorihikiiinkai\ ;
+最高財務責任者 > saikouzaimusekininsha\ ;
+短距離離着陸機 > tankyoririchakurikuki\ ;
+機能単一化文法 > kinoutan''itsukabunpou\ ;
+知能情報研究部 > chinoujouhoukenkyuubu\ ;
+加圧水型原子炉 > kaatsusuigatagenshiro\ ;
+環太平洋地震帯 > kantaiheiyoujishintai\ ;
+人種差別主義者 > jinshusabetsushugisha\ ;
+自然環境保全法 > shizenkankyouhozenhou\ ;
+環太平洋造山帯 > kantaiheiyouzouzantai\ ;
+行動主義心理学 > koudoushugishinrigaku\ ;
+第一次世界大戦 > daiichijisekaitaisen\ ;
+変動為替相場制 > hendoukawasesoubasei\ ;
+歯内療法専門医 > shikaryouhousenmon''i\ ;
+環太平洋火山帯 > kantaiheiyoukazantai\ ;
+実情調査委員会 > jitsujouchousaiinkai\ ;
+科学基礎研究所 > kagakukisokenkyuusho\ ;
+変形生成統語論 > henkeiseiseitougoron\ ;
+大規模集積回路 > daikiboshuusekikairo\ ;
+南無妙法蓮華経 > namumyouhourengekyou\ ;
+未確認飛行物体 > mikakuninhikoubuttai\ ;
+一酸化炭素中毒 > issankatansochuudoku\ ;
+公正取引委員会 > kouseitorihikiiinkai\ ;
+税引前当期利益 > zeibikimaetoukirieki\ ;
+連邦取引委員会 > renpoutorihikiiinkai\ ;
+流行性耳下腺炎 > ryuukouseijikasen''en\ ;
+総理府総務長官 > sourifusoumuchoukan\ ;
+環境保護主義者 > kankyouhogoshugisha\ ;
+日本陸上自衛隊 > nihonrikujoujieitai\ ;
+金地金本位制度 > kinjiganehon''iseido\ ;
+重要無形文化財 > juuyoumukeibunkazai\ ;
+経済社会理事会 > keizaishakairijikai\ ;
+主語助動詞倒置 > shugojodoushitouchi\ ;
+合同技術委員会 > goudougijutsuiinkai\ ;
+自動方向探知機 > jidouhoukoutanchiki\ ;
+帰還不能限界点 > kikanfunougenkaiten\ ;
+国家公安委員長 > kokkakouan''iinchou\ ;
+国会対策委員会 > kokkaitaisakuinkai\ ;
+第二次世界大戦 > dainijisekaitaisen\ ;
+亜米利加合衆国 > amerikagasshuukoku\ ;
+日本航空自衛隊 > nihonkoukuujieitai\ ;
+符号化文字集合 > fugoukamojishuugou\ ;
+日本海上自衛隊 > nihonkaijoujieitai\ ;
+下位範疇化素性 > kaihanchuukasosei\ ;
+選挙管理委員会 > senkyokanriiinkai\ ;
+下位範疇化原理 > kaihanchuukagenri\ ;
+耳鼻咽喉専門医 > jibiinkousenmon''i\ ;
+議院運営委員会 > giin''un''eiiinkai\ ;
+２０００年問題 > nisen''nenmondai\ ;
+宗教的独立性 > shuukyoutekidokuritsusei\ ;
+直接照準射撃 > chokusetsushoujunshageki\ ;
+特殊取扱郵便 > tokushutoriatsukaiyuubin\ ;
+乾湿球湿度計 > kanshitsukyuushitsudokei\ ;
+圧密降伏応力 > atsumitsukoufukuouryoku\ ;
+公認卸売業者 > kounin''oroshiurigyousha\ ;
+核分裂生成物 > kakubunretsuseiseibutsu\ ;
+職業別電話帳 > shokugyoubetsudenwachou\ ;
+入学共通試験 > nyuugakukyoutsuushiken\ ;
+室内管弦楽団 > shitsunaikangengakudan\ ;
+東京株式市場 > toukyoukabushikishijou\ ;
+確率密度関数 > kakuritsumitsudokansuu\ ;
+原子力発電所 > genshiryokuhatsudensho\ ;
+勧善懲悪小説 > kanzenchouakushousetsu\ ;
+杭周面摩擦力 > kuishuumenmasatsuryoku\ ;
+間接照準射撃 > kansetsushoujunshageki\ ;
+新規株式公開 > shinkikabushikikoukai\ ;
+学習指導要領 > gakushuushidouyouryou\ ;
+早発性痴呆症 > souhatsuseichihoushou\ ;
+信用協同組合 > shin''youkyoudoukumiai\ ;
+弦楽四重奏曲 > gengakushijuusoukyoku\ ;
+演繹的説明法 > en''ekitekisetsumeihou\ ;
+深在性真菌症 > shinzaiseishinkinshou\ ;
+統率束縛理論 > tousotsusokubakuriron\ ;
+本態性高血圧 > hontaiseikouketsuatsu\ ;
+陸上端局装置 > rikujoutankyokusouchi\ ;
+日米貿易摩擦 > nichibeibouekimasatsu\ ;
+通商産業大臣 > tsuushousangyoudaijin\ ;
+通商航海条約 > tsuushoukoukaijouyaku\ ;
+軟判定識別器 > nanhanteishikibetsuki\ ;
+空想科学小説 > kuusoukagakushousetsu\ ;
+新入社員教育 > shin''nyuushainkyouiku\ ;
+推奨文献目録 > suishoubunkenmokuroku\ ;
+徳川三代家光 > tokugawasandaiiemitsu\ ;
+生活協同組合 > seikatsukyoudoukumiai\ ;
+料金別納郵便 > ryoukinbetsunouyuubin\ ;
+中距離核戦力 > chuukyorikakusenryoku\ ;
+農業協同組合 > nougyoukyoudoukumiai\ ;
+大陸横断鉄道 > tairikuoudantetsudou\ ;
+高分子吸収体 > koubunshikyuushuutai\ ;
+日米構造協議 > nichibeikouzoukyougi\ ;
+機械翻訳協会 > kikaihon''yakukyoukai\ ;
+中央行政官庁 > chuuougyouseikanchou\ ;
+北大西洋条約 > kitataiseiyoujouyaku\ ;
+電気通信大学 > denkitsuushindaigaku\ ;
+芳香族化合物 > houkouzokukagoubutsu\ ;
+内閣官房長官 > naikakukanbouchoukan\ ;
+弦楽五重奏曲 > gengakugojuusoukyoku\ ;
+宇宙開発計画 > uchuukaihatsukeikaku\ ;
+米連邦航空局 > beirenpoukuukoukyoku\ ;
+外国人登録法 > gaikokujintourokuhou\ ;
+共産党政治局 > kyousantouseijikyoku\ ;
+束縛継承原理 > sokubakukeishougenri\ ;
+三軸圧縮試験 > sanjikuasshukushiken\ ;
+空軍連絡将校 > kuugunrenrakushoukou\ ;
+卸売物価指数 > oroshiuribukkashisuu\ ;
+写真判定決勝 > shashinhanteikesshou\ ;
+前立腺肥大症 > zenritsusenhidaishou\ ;
+説明的妥当性 > setsumeitekidatousei\ ;
+共通一次試験 > kyoutsuuichijishiken\ ;
+第三種郵便物 > daisanshuyuubinbutsu\ ;
+友好通商航海 > yuukoutsuushoukoukai\ ;
+無担保貸付金 > mutanpokashitsukekin\ ;
+必要十分条件 > hitsuyoujuubunjouken\ ;
+精神的指導者 > seishintekishidousha\ ;
+原子物理学者 > genshibutsurigakusha\ ;
+精密機械工業 > seimitsukikaikougyou\ ;
+再入国許可書 > sainyuukokukyoukasho\ ;
+定形外郵便物 > teikeigaiyuubinbutsu\ ;
+超並列計算機 > chouheiretsukeisanki\ ;
+中枢神経系統 > chuusuushinkeikeitou\ ;
+伝送制御拡張 > densouseigyokakuchou\ ;
+日中友好協会 > nitchuuyuukoukyoukai\ ;
+国民金融公庫 > kokuminkin''yuukouko\ ;
+口辺単純疱疹 > kouhentanjunhoushin\ ;
+集団安全保障 > shuudan''anzenhoshou\ ;
+名神高速道路 > meishinkousokudouro\ ;
+放射性降下物 > houshaseikoukabutsu\ ;
+劣性遺伝形質 > resseiidenkeishitsu\ ;
+初期選択項目 > shokisentakukoumoku\ ;
+全国津津浦浦 > zenkokutsutsuuraura\ ;
+信任統治制度 > shin''nintouchiseido\ ;
+主要部終端型 > shuyoubushuutangata\ ;
+合成化学工業 > gouseikagakukougyou\ ;
+国民体育大会 > kokumintaiikutaikai\ ;
+国際電信電話 > kokusaidenshindenwa\ ;
+電子資金振替 > denshishikinfurikae\ ;
+弦楽四重奏団 > gengakushijuusoudan\ ;
+航空交通管制 > koukuukoutsuukansei\ ;
+財政均衡計画 > zaiseikinkoukeikaku\ ;
+日本規格協会 > nipponkikakukyoukai\ ;
+動物愛護協会 > doubutsuaigokyoukai\ ;
+米航空宇宙局 > beikoukuuuchuukyoku\ ;
+全国津々浦々 > zenkokutsutsuuraura\ ;
+日本学術会議 > nihongakujutsukaigi\ ;
+人間環境宣言 > ningenkankyousengen\ ;
+家宅捜索令状 > katakusousakureijou\ ;
+安土桃山時代 > azuchimomoyamajidai\ ;
+生理的食塩水 > seiritekishokuensui\ ;
+環太平洋諸国 > kantaiheiyoushokoku\ ;
+火力支援計画 > karyokushienkeikaku\ ;
+著作権所有者 > chosakukenshoyuusha\ ;
+数学的帰納法 > suugakutekikinouhou\ ;
+日本国特許庁 > nihonkokutokkyochou\ ;
+食糧管理制度 > shokuryoukanriseido\ ;
+生物化学兵器 > seibutsukagakuheiki\ ;
+女権拡張論者 > jokenkakuchouronsha\ ;
+統合幕僚会議 > tougoubakuryoukaigi\ ;
+射撃禁止地域 > shagekikinshichiiki\ ;
+特命全権公使 > tokumeizenkenkoushi\ ;
+新聞倫理綱領 > shinbunrinrikouryou\ ;
+記述的妥当性 > kijutsutekidatousei\ ;
+万国郵便連合 > bankokuyuubinrengou\ ;
+住宅金融公庫 > juutakukin''yuukouko\ ;
+単位体積重量 > tan''itaisekijuuryou\ ;
+統一地方選挙 > touitsuchihousenkyo\ ;
+公開市場政策 > koukaishijouseisaku\ ;
+地球観測衛星 > chikyuukansokueisei\ ;
+重量拳闘選手 > juuryoukentousenshu\ ;
+人工気胸療法 > jinkoukikyouryouhou\ ;
+地方公共団体 > chihoukoukyoudantai\ ;
+手根管症候群 > shukonkanshoukougun\ ;
+高分子化合物 > koubunshikagoubutsu\ ;
+陸上作戦本部 > rikujousakusenhonbu\ ;
+放射性廃棄物 > houshaseihaikibutsu\ ;
+逆転分布係数 > gyakutenbunpukeisuu\ ;
+蜘蛛膜下出血 > kumomakukashukketsu\ ;
+共同救済基金 > kyoudoukyuusaikikin\ ;
+保険金受取人 > hokenkin''uketorinin\ ;
+陸軍士官学校 > rikugunshikangakkou\ ;
+漁業専管水域 > gyogyousenkansuiiki\ ;
+芸術至上主義 > geijutsushijoushugi\ ;
+特命全権大使 > tokumeizenkentaishi\ ;
+近接航空支援 > kinsetsukoukuushien\ ;
+有機水銀中毒 > yuukisuiginchuudoku\ ;
+環太平洋構想 > kantaiheiyoukousou\ ;
+公的不法妨害 > koutekifuhoubougai\ ;
+戦闘支援計画 > sentoushienkeikaku\ ;
+回線制御規則 > kaisenseigyokisoku\ ;
+港湾運送事業 > kouwan''unsoujigyou\ ;
+門戸開放政策 > monkokaihouseisaku\ ;
+東名高速道路 > toumeikousokudouro\ ;
+内閣総理大臣 > naikakusouridaijin\ ;
+日本放送協会 > nihonhousoukyoukai\ ;
+航空宇宙工業 > koukuuuchuukougyou\ ;
+安全保障条約 > anzenhoshoujouyaku\ ;
+主働土圧係数 > shudoudoatsukeisuu\ ;
+反射的半順序 > hanshatekihanjunjo\ ;
+国際通貨基金 > kokusaitsuukakikin\ ;
+短期集中講座 > tankishuuchuukouza\ ;
+日本農林規格 > nihon''nourinkikaku\ ;
+航空宇宙産業 > koukuuuchuusangyou\ ;
+品質保持期限 > hinshitsuhojikigen\ ;
+日本工業規格 > nihonkougyoukikaku\ ;
+中距離核兵器 > chuukyorikakuheiki\ ;
+酸化還元反応 > sankakangenhan''nou\ ;
+公務執行妨害 > koumushikkoubougai\ ;
+高等専門学校 > koutousenmongakkou\ ;
+歩兵戦闘車両 > hoheisentousharyou\ ;
+共同記者会見 > kyoudoukishakaiken\ ;
+太陽熱温水器 > taiyounetsuonsuiki\ ;
+静止土圧係数 > seishidoatsukeisuu\ ;
+人口動態統計 > jinkoudoutaitoukei\ ;
+国連事務総長 > kokurenjimusouchou\ ;
+不動産取得税 > fudousanshutokuzei\ ;
+年次有給休暇 > nenjiyuukyuukyuuka\ ;
+十二指腸潰瘍 > juunishichoukaiyou\ ;
+戦争犯罪法廷 > sensouhanzaihoutei\ ;
+年功序列制度 > nenkoujoretsuseido\ ;
+農林水産大臣 > nourinsuisandaijin\ ;
+主要部先導型 > shuyoubusendougata\ ;
+国民健康保険 > kokuminkenkouhoken\ ;
+不定計量空間 > futeikeiryoukuukan\ ;
+反帝国主義者 > hanteikokushugisha\ ;
+電荷結合素子 > denkaketsugousoshi\ ;
+有限状態文法 > yuugenjoutaibunpou\ ;
+修正資本主義 > shuuseishihonshugi\ ;
+一卵性双生児 > ichiranseisouseiji\ ;
+地中海性気候 > chichuukaiseikikou\ ;
+投資有価証券 > toushiyuukashouken\ ;
+前方再補給点 > zenpousaihokyuuten\ ;
+立憲君主政体 > rikkenkunshuseitai\ ;
+放送禁止用語 > housoukinshiyougo\ ;
+十一面観世音 > juuichimenkanzeon\ ;
+形状記憶合金 > keijoukiokugoukin\ ;
+行動発起時刻 > koudouhakkijikoku\ ;
+十部門分類法 > juubumonbunruihou\ ;
+世界一周旅行 > sekaiisshuuryokou\ ;
+世界人権宣言 > sekaijinkensengen\ ;
+公的医療機関 > koutekiiryoukikan\ ;
+受働土圧係数 > judoudoatsukeisuu\ ;
+不確定性原理 > fukakuteiseigenri\ ;
+二等辺三角形 > nitouhensankakkei\ ;
+政令指定都市 > seireishiteitoshi\ ;
+無担保借入金 > mutanpokariirekin\ ;
+単位労働組合 > tan''iroudoukumiai\ ;
+中央処理装置 > chuuoushorisouchi\ ;
+欧州通貨単位 > oushuutsuukatan''i\ ;
+自由貿易帯域 > jiyuubouekitaiiki\ ;
+恋愛至上主義 > ren''aishijoushugi\ ;
+自動車保険料 > jidoushahokenryou\ ;
+戦場航空阻止 > senjoukoukuusoshi\ ;
+統合参謀本部 > tougousanbouhonbu\ ;
+最長不倒距離 > saichoufutoukyori\ ;
+印象主義音楽 > inshoushugiongaku\ ;
+近代五種競技 > kindaigoshukyougi\ ;
+後方地域警備 > kouhouchiikikeibi\ ;
+自動操縦装置 > jidousoujuusouchi\ ;
+都市対抗野球 > toshitaikouyakyuu\ ;
+金剛夜叉妙王 > kongouyashamyouou\ ;
+高速演算機構 > kousokuenzankikou\ ;
+飛行禁止空域 > hikoukinshikuuiki\ ;
+環境保護論者 > kankyouhogoronsha\ ;
+週間天気予報 > shuukantenkiyohou\ ;
+放射線感受性 > houshasenkanjusei\ ;
+社会民主主義 > shakaiminshushugi\ ;
+部分情報構造 > bubunjouhoukouzou\ ;
+一挙手一投足 > ikkyoshuittousoku\ ;
+有形固定資産 > yuukeikoteishisan\ ;
+飛行記録装置 > hikoukirokusouchi\ ;
+被担保債権額 > hitanposaikengaku\ ;
+二交替制労働 > nikoutaiseiroudou\ ;
+保守系無所属 > hoshukeimushozoku\ ;
+反転分布係数 > hantenbunpukeisuu\ ;
+空挺降下地域 > kuuteikoukachiiki\ ;
+火力支援部隊 > karyokushienbutai\ ;
+歌舞伎十八番 > kabukijuuhachiban\ ;
+大量破壊兵器 > tairyouhakaiheiki\ ;
+反射係数線図 > hanshakeisuusenzu\ ;
+素粒子加速器 > soryuushikasokuki\ ;
+自由貿易地域 > jiyuubouekichiiki\ ;
+公開市場操作 > koukaishijousousa\ ;
+人身保護令状 > jinshinhogoreijou\ ;
+母子健康手帳 > boshikenkoutechou\ ;
+厚生年金保険 > kouseinenkinhoken\ ;
+性行為感染症 > seikouikansenshou\ ;
+生命保険会社 > seimeihokengaisha\ ;
+私有財産制度 > shiyuuzaisanseido\ ;
+一国一党主義 > ikkokuittoushugi\ ;
+日本道路公団 > nihondourokoudan\ ;
+実践理性批判 > jissenriseihihan\ ;
+多重名前空間 > tajuunamaekuukan\ ;
+平和維持活動 > heiwaijikatsudou\ ;
+二卵性双生児 > niranseisouseiji\ ;
+主辞素性規約 > shujisoseikiyaku\ ;
+女性解放運動 > joseikaihouundou\ ;
+炭酸同化作用 > tansandoukasayou\ ;
+二大政党主義 > nidaiseitoushugi\ ;
+不純異性交遊 > fujun''iseikouyuu\ ;
+骨皮筋右衛門 > honekawasujiemon\ ;
+浅間山荘事件 > asamasansoujiken\ ;
+環境保護主義 > kankyouhogoshugi\ ;
+世界貿易機関 > sekaibouekikikan\ ;
+無形固定資産 > mukeikoteishisan\ ;
+音声多重放送 > onseitajuuhousou\ ;
+脳性小児麻痺 > nouseishounimahi\ ;
+大東亜共栄圏 > daitouakyoueiken\ ;
+小売物価指数 > kouribukkashisuu\ ;
+自由主義経済 > jiyuushugikeizai\ ;
+夜間預金々庫 > yakan''yokinkinko\ ;
+連邦準備制度 > renpoujunbiseido\ ;
+超過勤務手当 > choukakinmuteate\ ;
+予備士官学校 > yobishikangakkou\ ;
+画像処理装置 > gazoushorisouchi\ ;
+六十四分音符 > rokujuushibuonpu\ ;
+放射性同位体 > houshaseidouitai\ ;
+夜間預金金庫 > yakan''yokinkinko\ ;
+亜熱帯高気圧 > anettaikoukiatsu\ ;
+磁気共鳴画像 > jikikyoumeigazou\ ;
+鳥獣保護区域 > choujuuhogokuiki\ ;
+国際援助機関 > kokusaienjokikan\ ;
+無政府主義者 > museifushugisha\ ;
+世界保健機関 > sekaihokenkikan\ ;
+二十四時間制 > nijuuyojikansei\ ;
+看護婦養成所 > kangofuyouseijo\ ;
+不当労働行為 > futouroudoukoui\ ;
+苦情処理機関 > kujoushorikikan\ ;
+補助記憶装置 > hojokiokusouchi\ ;
+文字多重放送 > mojitajuuhousou\ ;
+医師国家試験 > ishikokkashiken\ ;
+肢体不自由児 > shitaifujiyuuji\ ;
+仮名漢字変換 > kanakanjihenkan\ ;
+国家公務員法 > kokkakoumuinhou\ ;
+意志決定機関 > ishiketteikikan\ ;
+主辞素性原理 > shujisoseigenri\ ;
+弁護士事務所 > bengoshijimusho\ ;
+自由主義国家 > jiyuushugikokka\ ;
+生命維持装置 > seimeiijisouchi\ ;
+文字符号化法 > mojifugoukahou\ ;
+南無阿弥陀仏 > namuamidabutsu\ ;
+語彙機能文法 > goikinoubunpou\ ;
+倶梨伽羅紋紋 > kurikaramonmon\ ;
+三十二分音符 > sanjuunibuonpu\ ;
+我利我利亡者 > garigarimouja\ ;
+守秘義務違反 > shuhigimuihan\ ;
+是是非非主義 > zezehihishugi\ ;
+烏芻沙摩妙王 > ususamamyouou\ ;
+代表取締役 > daihyoutorishimariyaku\ ;
+取扱説明書 > toriatsukaisetsumeisho\ ;
+国立博物館 > kokuritsuhakubutsukan\ ;
+集中治療室 > shuuchuuchiryoushitsu\ ;
+直轄植民地 > chokkatsushokuminchi\ ;
+木造建築物 > mokuzoukenchikubutsu\ ;
+植物性蛋白 > shokubutsuseitanpaku\ ;
+信用取引先 > shin''youtorihikisaki\ ;
+常務取締役 > joumutorishimariyaku\ ;
+七星天道虫 > nanahoshitentoumushi\ ;
+民族大虐殺 > minzokudaigyakusatsu\ ;
+越年生植物 > etsunenseishokubutsu\ ;
+構成素統御 > kouseisokouzoutougyo\ ;
+直接目的語 > chokusetsumokutekigo\ ;
+専務取締役 > senmutorishimariyaku\ ;
+一年生植物 > ichinenseishokubutsu\ ;
+麻薬取締班 > mayakutorishimarihan\ ;
+麻薬取締法 > mayakutorishimarihou\ ;
+中心的役割 > chuushintekiyakuwari\ ;
+収縮期血圧 > shuushukukiketsuatsu\ ;
+単子葉植物 > tanshiyoushokubutsu\ ;
+連立方程式 > renritsuhouteishiki\ ;
+通商産業省 > tsuushousangyoushou\ ;
+原子力発電 > genshiryokuhatsuden\ ;
+直接民主制 > chokusetsuminshusei\ ;
+進出制限線 > shinshutsuseigensen\ ;
+株式取引所 > kabushikitorihikijo\ ;
+直接教授法 > chokusetsukyoujuhou\ ;
+双子葉植物 > soushiyoushokubutsu\ ;
+芥川龍之介 > akutagawaryuunosuke\ ;
+貸借対照表 > taishakutaishouhyou\ ;
+公定割引率 > kouteiwaribikiritsu\ ;
+強迫神経症 > kyouhakushinkeishou\ ;
+商業信用状 > shougyoushin''youjou\ ;
+輸出信用状 > yushutsushin''youjou\ ;
+旧新約全書 > kyuushin''yakuzensho\ ;
+出入国管理 > shutsunyuukokukanri\ ;
+障害物競走 > shougaibutsukyousou\ ;
+昼光色電球 > chuukoushokudenkyuu\ ;
+天然色写真 > ten''nenshokushashin\ ;
+水力発電所 > suiryokuhatsudensho\ ;
+素出力条件 > soshutsuryokujouken\ ;
+国民総支出 > kokuminsoushishutsu\ ;
+植物性脂肪 > shokubutsuseishibou\ ;
+旧新約聖書 > kyuushin''yakuseisho\ ;
+長期貸付金 > choukikashitsukekin\ ;
+生物物理学 > seibutsubutsurigaku\ ;
+平家物語抄 > heikemonogatarishou\ ;
+観察的研究 > kansatsutekikenkyuu\ ;
+賃貸借契約 > chintaishakukeiyaku\ ;
+徳川公爵邸 > tokugawakoushakutei\ ;
+精神分裂症 > seishinbunretsushou\ ;
+太陽熱発電 > taiyounetsuhatsuden\ ;
+海外留学熱 > kaigairyuugakunetsu\ ;
+妊娠中毒症 > ninshinchuudokushou\ ;
+独立採算制 > dokuritsusaisansei\ ;
+市場占有率 > shijousen''yuuritsu\ ;
+視聴覚教材 > shichoukakukyouzai\ ;
+内閣法制局 > naikakuhouseikyoku\ ;
+中小企業庁 > chuushoukigyouchou\ ;
+書簡体小説 > shokantaishousetsu\ ;
+社会生物学 > shakaiseibutsugaku\ ;
+軍隊行進曲 > guntaikoushinkyoku\ ;
+葬送行進曲 > sousoukoushinkyoku\ ;
+物理的現象 > butsuritekigenshou\ ;
+心臓弁膜症 > shinzoubenmakushou\ ;
+膝蓋腱反射 > shitsugaikenhansha\ ;
+俸給生活者 > houkyuuseikatsusha\ ;
+生物情報学 > seibutsujouhougaku\ ;
+多年生植物 > tanenseishokubutsu\ ;
+量子物理学 > ryoushibutsurigaku\ ;
+北米合衆国 > hokubeigasshuukoku\ ;
+来客芳名録 > raikyakuhoumeiroku\ ;
+地方検察庁 > chihoukensatsuchou\ ;
+専門的知識 > senmontekichishiki\ ;
+結婚行進曲 > kekkonkoushinkyoku\ ;
+株式配当金 > kabushikihaitoukin\ ;
+特別配当金 > tokubetsuhaitoukin\ ;
+経済成長率 > keizaiseichouritsu\ ;
+産業別組合 > sangyoubetsukumiai\ ;
+優等卒業生 > yuutousotsugyousei\ ;
+入国管理局 > nyuukokukanrikyoku\ ;
+間接撮影法 > kansetsusatsueihou\ ;
+実物大模型 > jitsubutsudaimokei\ ;
+軍事的侵略 > gunjitekishinryaku\ ;
+積分方程式 > sekibunhouteishiki\ ;
+積算電力計 > sekisandenryokukei\ ;
+二年生植物 > ninenseishokubutsu\ ;
+千九百年代 > senkyuuhyakunendai\ ;
+科学博物館 > kagakuhakubutsukan\ ;
+中国共産党 > chuugokukyousantou\ ;
+高分子物質 > koubunshibusshitsu\ ;
+発達心理学 > hattatsushinrigaku\ ;
+精神薄弱者 > seishinhakujakusha\ ;
+特別行政区 > tokubetsugyouseiku\ ;
+三色印刷法 > sanshokuinsatsuhou\ ;
+排卵誘発剤 > hairan''yuuhatsuzai\ ;
+生活必需品 > seikatsuhitsujuhin\ ;
+少年鑑別所 > shounenkanbetsusho\ ;
+座骨神経痛 > zakotsushinkeitsuu\ ;
+植民地政策 > shokuminchiseisaku\ ;
+証券取引法 > shoukentorihikihou\ ;
+商品回転率 > shouhinkaitenritsu\ ;
+節足動物門 > sessokudoubutsumon\ ;
+計算生物学 > keisanseibutsugaku\ ;
+就職情報誌 > shuushokujouhoushi\ ;
+建設的関係 > kensetsutekikankei\ ;
+客室乗務員 > kyakushitsujoumuin\ ;
+支持力定式 > shijiryokuteishiki\ ;
+動物行動学 > doubutsukoudougaku\ ;
+職能代表制 > shokunoudaihyousei\ ;
+最高検察庁 > saikoukensatsuchou\ ;
+心神耗弱者 > shinshinmoujakusha\ ;
+無脊椎動物 > musekitsuidoubutsu\ ;
+家宅侵入罪 > katakushin''nyuuzai\ ;
+分子生物学 > bunshiseibutsugaku\ ;
+天体写真術 > tentaishashinjutsu\ ;
+秘密漏洩罪 > himitsurousetsuzai\ ;
+間接目的語 > kansetsumokutekigo\ ;
+粘液分泌腺 > nen''ekibunpitsusen\ ;
+瞬間接着剤 > shunkansetchakuzai\ ;
+人口密集率 > jinkoumisshuuritsu\ ;
+原色写真版 > genshokushashinban\ ;
+量子色力学 > ryoushiirorikigaku\ ;
+在日米陸軍 > zainichibeirikugun\ ;
+食品添加物 > shokuhintenkabutsu\ ;
+動物性蛋白 > doubutsuseitanpaku\ ;
+特定郵便局 > tokuteiyuubinkyoku\ ;
+火力発電所 > karyokuhatsudensho\ ;
+多角式農業 > takakushikinougyou\ ;
+永世中立国 > eiseichuuritsukoku\ ;
+唯物弁証法 > yuibutsubenshouhou\ ;
+史的唯物論 > shitekiyuibutsuron\ ;
+宣誓供述書 > senseikyoujutsusho\ ;
+熱膨張係数 > netsubouchoukeisuu\ ;
+植物性繊維 > shokubutsuseisen''i\ ;
+過失傷害罪 > kashitsushougaizai\ ;
+共同創設者 > kyoudousousetsusha\ ;
+上級副社長 > joukyuufukushachou\ ;
+戦略的提携 > senryakutekiteikei\ ;
+環境庁長官 > kankyouchouchoukan\ ;
+圧力調整器 > atsuryokuchouseiki\ ;
+生鮮食料品 > seisenshokuryouhin\ ;
+放射性物質 > houshaseibusshitsu\ ;
+地球物理学 > chikyuubutsurigaku\ ;
+反宗教改革 > hanshuukyoukaikaku\ ;
+学識経験者 > gakushikikeikensha\ ;
+赤面恐怖症 > sekimenkyoufushou\ ;
+食品衛生法 > shokuhin''eiseihou\ ;
+教職員組合 > kyoushokuinkumiai\ ;
+毛沢東主席 > moutakutoushuseki\ ;
+別途積立金 > bettotsumitatekin\ ;
+返信料葉書 > henshinryouhagaki\ ;
+諸車通行止 > shoshatsuukoudome\ ;
+国土庁長官 > kokudochouchoukan\ ;
+勧善懲悪劇 > kanzenchouakugeki\ ;
+医学生物学 > igakuseibutsugaku\ ;
+非標準拡張 > hihyoujunkakuchou\ ;
+太陽光発電 > taiyoukouhatsuden\ ;
+返信用葉書 > henshin''youhagaki\ ;
+真珠養殖場 > shinjuyoushokujou\ ;
+肋間神経痛 > rokkanshinkeitsuu\ ;
+海洋物理学 > kaiyoubutsurigaku\ ;
+精神的苦痛 > seishintekikutsuu\ ;
+交流発電機 > kouryuuhatsudenki\ ;
+狩猟採集民 > shuryousaishuumin\ ;
+戦闘正面幅 > sentoushoumenhaba\ ;
+不信任投票 > fushin''nintouhyou\ ;
+送金受取人 > soukin''uketorinin\ ;
+ＤＲＳ理論 > di\ ̄a\ ̄ruesuriron\ ;
+食糧管理法 > shokuryoukanrihou\ ;
+盲腸炎手術 > mouchouenshujutsu\ ;
+第一級殺人 > daiikkyuusatsujin\ ;
+戦略核兵器 > senryakukakuheiki\ ;
+凍結防止剤 > touketsuboushizai\ ;
+中間配当額 > chuukanhaitougaku\ ;
+高速増殖炉 > kousokuzoushokuro\ ;
+返信料封筒 > henshinryoufuutou\ ;
+衛星地球局 > eiseichikyuukyoku\ ;
+在留外国人 > zairyuugaikokujin\ ;
+産業廃棄物 > sangyouhaikibutsu\ ;
+天然記念物 > ten''nenkinenbutsu\ ;
+出生証明書 > shusseishoumeisho\ ;
+上級管理職 > joukyuukanrishoku\ ;
+税関申告書 > zeikanshinkokusho\ ;
+返信用封筒 > henshin''youfuutou\ ;
+熱狂的信者 > nekkyoutekishinja\ ;
+企業間信用 > kigyoukanshin''you\ ;
+開拓者精神 > kaitakushaseishin\ ;
+深在性真菌 > shinzaiseishinkin\ ;
+村落共同体 > sonrakukyoudoutai\ ;
+上陸用舟艇 > jourikuyoushuutei\ ;
+古生物学者 > koseibutsugakusha\ ;
+開発途上国 > kaihatsutojoukoku\ ;
+血圧降下剤 > ketsuatsukoukazai\ ;
+無差別爆撃 > musabetsubakugeki\ ;
+平和的解決 > heiwatekikaisetsu\ ;
+食品加工業 > shokuhinkakougyou\ ;
+高級住宅地 > koukyuujuutakuchi\ ;
+過失致死罪 > kashitsuchishizai\ ;
+高額所得者 > kougakushotokusha\ ;
+十一面観音 > juuichimenkan''non\ ;
+月経困難症 > gekkeikon''nanshou\ ;
+国際見本市 > kokusaimihon''ichi\ ;
+緑地化計画 > ryokuchikakeikaku\ ;
+中枢神経系 > chuusuushinkeikei\ ;
+実験的研究 > jikkentekikenkyuu\ ;
+専用駐車場 > sen''youchuushajou\ ;
+無過失責任 > mukashitsusekinin\ ;
+一次方程式 > ichijihouteishiki\ ;
+就業時間中 > shuugyoujikanchuu\ ;
+国民休暇村 > kokuminkyuukamura\ ;
+子宮外妊娠 > shikyuugaininshin\ ;
+無担保貸付 > mutanpokashitsuke\ ;
+一粒子既約 > ichiryuushikiyaku\ ;
+企業別組合 > kigyoubetsukumiai\ ;
+不法侵入者 > fuhoushin''nyuusha\ ;
+収穫感謝祭 > shuukakukanshasai\ ;
+指向性爆薬 > shikouseibakuyaku\ ;
+心因性反応 > shin''inseihan''nou\ ;
+亜熱帯植物 > anettaishokubutsu\ ;
+内閣総辞職 > naikakusoujishoku\ ;
+証券取引所 > shoukentorihikijo\ ;
+屈折望遠鏡 > kussetsubouenkyou\ ;
+歯牙矯正術 > shigakyouseijutsu\ ;
+単細胞生物 > tansaibouseibutsu\ ;
+日本薬局方 > nihon''yakkyokuhou\ ;
+深層心理学 > shinsoushinrigaku\ ;
+精神薄弱児 > seishinhakujakuji\ ;
+化学方程式 > kagakuhouteishiki\ ;
+急降下爆撃 > kyuukoukabakugeki\ ;
+水上生活者 > suijouseikatsusha\ ;
+在学証明書 > zaigakushoumeisho\ ;
+植民地統治 > shokuminchitouchi\ ;
+関数方程式 > kansuuhouteishiki\ ;
+推進研究所 > suishinkenkyuusho\ ;
+戦術核兵器 > senjutsukakuheiki\ ;
+発展的解消 > hattentekikaishou\ ;
+国立図書館 > kokuritsutoshokan\ ;
+三行広告欄 > sangyoukoukokuran\ ;
+勧業博覧会 > kangyouhakurankai\ ;
+分析心理学 > bunsekishinrigaku\ ;
+教育心理学 > kyouikushinrigaku\ ;
+業務上過失 > gyoumujoukashitsu\ ;
+成績証明書 > seisekishoumeisho\ ;
+入学志願者 > nyuugakushigansha\ ;
+中央放送局 > chuuouhousoukyoku\ ;
+共同相続人 > kyoudousouzokunin\ ;
+研究発表会 > kenkyuuhappyoukai\ ;
+天体分光術 > tentaibunkoujutsu\ ;
+球面三角法 > kyuumensankakuhou\ ;
+計量経済学 > keiryoukeizaigaku\ ;
+著作権侵害 > chosakukenshingai\ ;
+特別弁護人 > tokubetsubengonin\ ;
+富国強兵策 > fukokukyouheisaku\ ;
+予想収穫高 > yosoushuukakudaka\ ;
+血友病患者 > ketsuyuubyoukanja\ ;
+直角三角形 > chokkakusankakkei\ ;
+闇価格協定 > yamikakakukyoutei\ ;
+赤外線写真 > sekigaisenshashin\ ;
+天皇機関説 > ten''noukikansetsu\ ;
+公証人役場 > koushounin''yakuba\ ;
+超現実主義 > chougenjitsushugi\ ;
+二極真空管 > nikyokushinkuukan\ ;
+阪神大震災 > hanshindaishinsai\ ;
+法定得票数 > houteitokuhyousuu\ ;
+設立趣意書 > setsuritsushuisho\ ;
+外国人登録 > gaikokujintouroku\ ;
+身体障害者 > shintaishougaisha\ ;
+消費者信用 > shouhishashin''you\ ;
+鈍角三角形 > donkakusankakukei\ ;
+海難審判庁 > kainanshinpanchou\ ;
+犯罪発生率 > hanzaihasseiritsu\ ;
+微生物学者 > biseibutsugakusha\ ;
+七色唐辛子 > nanairotougarashi\ ;
+公職選挙法 > koushokusenkyohou\ ;
+定形郵便物 > teikeiyuubinbutsu\ ;
+対中国関係 > taichuugokukankei\ ;
+科学技術庁 > kagakugijutsuchou\ ;
+大英博物館 > daieihakubutsukan\ ;
+動脈硬化症 > doumyakukoukashou\ ;
+帝王神権説 > teioushinkensetsu\ ;
+宇宙大爆発 > uchuudaibakuhatsu\ ;
+首相兼外相 > shushoukengaishou\ ;
+生物地理学 > seibutsuchirigaku\ ;
+原子物理学 > genshibutsurigaku\ ;
+略取誘拐罪 > ryakushuyuukaizai\ ;
+天体物理学 > tentaibutsurigaku\ ;
+降圧変圧器 > kouatsuhen''atsuki\ ;
+東印度会社 > higashiindogaisha\ ;
+物質主義者 > busshitsushugisha\ ;
+国際的貿易 > kokusaitekiboueki\ ;
+中性子爆弾 > chuuseishibakudan\ ;
+代数方程式 > daisuuhouteishiki\ ;
+平均太陽日 > heikintaiyoujitsu\ ;
+乳児死亡率 > nyuujishibouritsu\ ;
+万国博覧会 > bankokuhakurankai\ ;
+防衛施設庁 > boueishisetsuchou\ ;
+有料駐車場 > yuuryouchuushajou\ ;
+臨床心理学 > rinshoushinrigaku\ ;
+写真週刊誌 > shashinshuukanshi\ ;
+巨石記念物 > kyosekikinenbutsu\ ;
+二元方程式 > nigenhouteishiki\ ;
+道義的責任 > dougitekisekinin\ ;
+獅子唐辛子 > shishitougarashi\ ;
+気象観測船 > kishoukansokusen\ ;
+人猿同祖説 > jin''endousosetsu\ ;
+団体交渉権 > dantaikoushouken\ ;
+対人恐怖症 > taijinkyoufushou\ ;
+脳脊髄膜炎 > nousekizuimakuen\ ;
+要注意人物 > youchuuijinbutsu\ ;
+学校教育法 > gakkoukyouikuhou\ ;
+王権神授説 > oukenshinjusetsu\ ;
+真部分集合 > shinbubunshuugou\ ;
+独占禁止法 > dokusenkinshihou\ ;
+居間兼寝室 > imakenshinshitsu\ ;
+公称資本金 > koushoushihonkin\ ;
+電動発動機 > dendouhatsudouki\ ;
+応用物理学 > ouyoubutsurigaku\ ;
+三十八度線 > sanjuuhachidosen\ ;
+認知心理学 > ninchishinrigaku\ ;
+工業所有権 > kougyoushoyuuken\ ;
+多変量解析 > tahenryoukaiseki\ ;
+清涼飲料水 > seiryouinryousui\ ;
+金利生活者 > kinriseikatsusha\ ;
+遺言執行者 > yuigonshikkousha\ ;
+貿易外収支 > bouekigaishuushi\ ;
+染色体地図 > senshokutaichizu\ ;
+主席研究員 > shusekikenkyuuin\ ;
+高速度写真 > kousokudoshashin\ ;
+高次方程式 > koujihouteishiki\ ;
+微分方程式 > bibunhouteishiki\ ;
+郵便私書箱 > yuubinshishobako\ ;
+斜格性統御 > shakakuseitougyo\ ;
+経口避妊薬 > keikouhinin''yaku\ ;
+人材開発部 > jinzaikaihatsubu\ ;
+万国標準時 > bankokuhyoujunji\ ;
+防衛庁長官 > boueichouchoukan\ ;
+含水化合物 > gansuikagoubutsu\ ;
+関東大震災 > kantoudaishinsai\ ;
+装甲回収車 > soukoukaishuusha\ ;
+地方行財政 > chihougyouzaisei\ ;
+性表現情報 > seihyougenjouhou\ ;
+希望的観測 > kiboutekikansoku\ ;
+反射減衰量 > hanshagensuiryou\ ;
+変態心理学 > hentaishinrigaku\ ;
+欧州共同体 > oushuukyoudoutai\ ;
+紫外線療法 > shigaisenryouhou\ ;
+非武装中立 > hibusouchuuritsu\ ;
+主席外交官 > shusekigaikoukan\ ;
+細胞質遺伝 > saiboushitsuiden\ ;
+共産党宣言 > kyousantousengen\ ;
+巡回診療所 > junkaishinryoujo\ ;
+源泉所得税 > gensenshotokuzei\ ;
+組職労働者 > soshokuroudousha\ ;
+労働者階級 > roudoushakaikyuu\ ;
+拡大再生産 > kakudaisaiseisan\ ;
+上級裁判所 > joukyuusaibansho\ ;
+禁欲主義者 > kin''yokushugisha\ ;
+特殊潜航艇 > tokushusenkoutei\ ;
+最恵国待遇 > saikeikokutaiguu\ ;
+共産主義国 > kyousanshugikoku\ ;
+原告対被告 > genkokutaihikoku\ ;
+受託収賄罪 > jutakushuuwaizai\ ;
+流行性感冒 > ryuukouseikanbou\ ;
+国民総生産 > kokuminsouseisan\ ;
+中距離競走 > chuukyorikyousou\ ;
+全国的範囲 > zenkokutekihan''i\ ;
+連邦共和国 > renpoukyouwakoku\ ;
+普遍的法則 > fuhentekihousoku\ ;
+大統領選挙 > daitouryousenkyo\ ;
+日猶同祖論 > nichiyuudousoron\ ;
+両替手数料 > ryougaetesuuryou\ ;
+資本利益率 > shihonriekiritsu\ ;
+戦車揚陸艦 > senshayourikukan\ ;
+売春防止法 > baishunboushihou\ ;
+光化学反応 > koukagakuhan''nou\ ;
+軍事当局者 > gunjitoukyokusha\ ;
+肉体労働者 > nikutairoudousha\ ;
+自主流通米 > jishuryuutsuumai\ ;
+第一次産業 > daiichijisangyou\ ;
+実存主義者 > jitsuzonshugisha\ ;
+現実主義者 > genjitsushugisha\ ;
+反政府勢力 > hanseifuseiryoku\ ;
+免疫不全症 > men''ekifuzenshou\ ;
+十進分類法 > jisshinbunruihou\ ;
+偶像教徒的 > guuzoukyoutoteki\ ;
+紅白歌合戦 > kouhakuutagassen\ ;
+経済研究所 > keizaikenkyuusho\ ;
+軍事通信員 > gunjitsuushin''in\ ;
+基準内賃金 > kijun''naichingin\ ;
+県庁所在地 > kenchoushozaichi\ ;
+真宗大谷派 > shinshuuootaniha\ ;
+再入国許可 > sainyuukokukyoka\ ;
+英国国教会 > eikokukokkyoukai\ ;
+清教徒革命 > seikyoutokakumei\ ;
+太陽神経叢 > taiyoushinkeisou\ ;
+経営学修士 > keieigakushuushi\ ;
+健康証明書 > kenkoushoumeisho\ ;
+社会心理学 > shakaishinrigaku\ ;
+公共企業体 > koukyoukigyoutai\ ;
+都市再開発 > toshisaikaihatsu\ ;
+放射線療法 > houshasenryouhou\ ;
+国連分担金 > kokurenbuntankin\ ;
+定期刊行物 > teikikankoubutsu\ ;
+攻撃開始線 > kougekikaishisen\ ;
+平面三角法 > heimensankakuhou\ ;
+法定伝染病 > houteidensenbyou\ ;
+中距離競争 > chuukyorikyousou\ ;
+三叉神経痛 > sansashinkeitsuu\ ;
+優勝決定戦 > yuushouketteisen\ ;
+最低生活費 > saiteiseikatsuhi\ ;
+府県別人口 > fukenbetsujinkou\ ;
+推定相続人 > suiteisouzokunin\ ;
+多国籍企業 > takokusekikigyou\ ;
+晴一時小雨 > hareichijikosame\ ;
+季節労働者 > kisetsuroudousha\ ;
+中小諸国家 > choushoushokokka\ ;
+不平等条約 > fubyoudoujouyaku\ ;
+最低賃金制 > saiteichinginsei\ ;
+帝国主義的 > teikokushugiteki\ ;
+納税通知書 > nouzeitsuuchisho\ ;
+関税割当制 > kanzeiwariatesei\ ;
+居住証明書 > kyojuushoumeisho\ ;
+大使級会談 > taishikyuukaidan\ ;
+民主活動家 > minshukatsudouka\ ;
+客員研究員 > kyakuinkenkyuuin\ ;
+支持力係数 > shijiryokukeisuu\ ;
+直下型地震 > chokkagatajishin\ ;
+未解決問題 > mikaiketsumondai\ ;
+建築基準法 > kenchikukijunhou\ ;
+知的所有権 > chitekishoyuuken\ ;
+職業安定所 > shokugyouanteijo\ ;
+共産党細胞 > kyousantousaibou\ ;
+一年生草本 > ichinenseisouhon\ ;
+条約加盟国 > jouyakukameikoku\ ;
+立正佼成会 > risshoukouseikai\ ;
+共観福音書 > kyoukanfukuinsho\ ;
+高所恐怖症 > koushokyoufushou\ ;
+新聞販売店 > shinbunhanbaiten\ ;
+農林水産省 > nourinsuisanshou\ ;
+二者選一法 > nishasen''itsuhou\ ;
+境界値問題 > kyoukaichimondai\ ;
+社会人野球 > shakaijin''yakyuu\ ;
+菜食主義者 > saishokushugisha\ ;
+軍産複合体 > gunsanfukugoutai\ ;
+精神医学者 > seishin''igakusha\ ;
+経済企画庁 > keizaikikakuchou\ ;
+先端支持力 > sentanshijiryoku\ ;
+保健物理学 > hokenbutsurigaku\ ;
+分解蒸溜法 > bunkaijouryuuhou\ ;
+計量言語学 > keiryougengogaku\ ;
+地域振興券 > chiikishinkouken\ ;
+急進主義者 > kyuushinshugisha\ ;
+交通運輸業 > koutsuuun''yugyou\ ;
+無制限供給 > museigenkyoukyuu\ ;
+給与所得者 > kyuuyoshotokusha\ ;
+戦闘爆撃機 > sentoubakugekiki\ ;
+林業試験場 > ringyoushikenjou\ ;
+擲弾発射筒 > tekidanhasshatou\ ;
+産軍複合体 > sangunfukugoutai\ ;
+最大公約数 > saidaikouyakusuu\ ;
+国内消費税 > kokunaishouhizei\ ;
+少年審判所 > shounenshinpanjo\ ;
+流行性肝炎 > ryuukouseikan''en\ ;
+準準決勝戦 > junjunkesshousen\ ;
+不完全燃焼 > fukanzen''nenshou\ ;
+原子力時代 > genshiryokujidai\ ;
+農業試験場 > nougyoushikenjou\ ;
+高速度撮影 > kousokudosatsuei\ ;
+好気性生物 > koukiseiseibutsu\ ;
+家庭内暴力 > kateinaibouryoku\ ;
+在籍専従者 > zaisekisenjuusha\ ;
+官費留学生 > kanpiryuugakusei\ ;
+南北朝時代 > nanbokuchoujidai\ ;
+死亡診断書 > shiboushindansho\ ;
+弦楽四重奏 > gengakushijuusou\ ;
+仲裁裁判所 > chuusaisaibansho\ ;
+理論物理学 > rironbutsurigaku\ ;
+全般前哨線 > zenpanzenshousen\ ;
+十二指腸虫 > juunishichouchuu\ ;
+土木工学者 > dobokukougakusha\ ;
+日中韓統合 > nitchuukantougou\ ;
+拡張倍精度 > kakuchoubaiseido\ ;
+労働収容所 > roudoushuuyousho\ ;
+無着陸飛行 > muchakurikuhikou\ ;
+日付変更線 > hidzukehenkousen\ ;
+当事者能力 > toujishanouryoku\ ;
+損益計算書 > son''ekikeisansho\ ;
+急行停車駅 > kyuukouteishaeki\ ;
+反植民主義 > hanshokuminshugi\ ;
+極低温科学 > kyokuteionkagaku\ ;
+写真望遠鏡 > shashinbouenkyou\ ;
+妙法蓮華経 > myouhourengekyou\ ;
+実用主義者 > jitsuyoushugisha\ ;
+後方連絡線 > kouhourenrakusen\ ;
+実験心理学 > jikkenshinrigaku\ ;
+不法入国者 > fuhounyuukokusha\ ;
+多元方程式 > tagenhouteishiki\ ;
+国内総生産 > kokunaisouseisan\ ;
+鉄道公安官 > tetsudoukouankan\ ;
+平台型貨車 > hiradaigatakasha\ ;
+人称代名詞 > ninshoudaimeishi\ ;
+実業之日本 > jitsugyounonihon\ ;
+積層乾電池 > sekisoukandenchi\ ;
+行政管理庁 > gyouseikanrichou\ ;
+赤十字条約 > sekijuujijouyaku\ ;
+光学顕微鏡 > kougakukenbikyou\ ;
+強制収容所 > kyouseishuuyoujo\ ;
+犯罪心理学 > hanzaishinrigaku\ ;
+連邦捜査局 > renpousousakyoku\ ;
+大陸移動説 > tairikuidousetsu\ ;
+企業内教育 > kigyounaikyouiku\ ;
+窒素酸化物 > chissosankabutsu\ ;
+帝王切開術 > teiousekkaijutsu\ ;
+春機発動期 > shunkihatsudouki\ ;
+天幕製造人 > tenmakuseizounin\ ;
+最優秀選手 > saiyuushuusenshu\ ;
+勝利又勝利 > shourimatashouri\ ;
+女流文学者 > joryuubungakusha\ ;
+耐久消費財 > taikyuushouhizai\ ;
+非公式協議 > hikoushikikyougi\ ;
+空港使用料 > kuukoushiyouryou\ ;
+無重力状態 > mujuuryokujoutai\ ;
+天照皇大神 > tenshoukoudaijin\ ;
+精神安定剤 > seishin''anteizai\ ;
+酸性酸化物 > sanseisankabutsu\ ;
+写実主義者 > shajitsushugisha\ ;
+冷戦型思考 > reisengatashikou\ ;
+電子工業会 > denshikougyoukai\ ;
+電子工学者 > denshikougakusha\ ;
+民主共和国 > minshukyouwakoku\ ;
+独立記念日 > dokuritsukinenbi\ ;
+化学調味料 > kagakuchoumiryou\ ;
+終身雇用制 > shuushinkoyousei\ ;
+不定方程式 > futeihouteishiki\ ;
+大修道院長 > daishuudouinchou\ ;
+港湾運送業 > kouwan''unsougyou\ ;
+周波数変調 > shuuhasuuhenchou\ ;
+乾燥地農業 > kansouchinougyou\ ;
+環境配慮書 > kankyouhairyosho\ ;
+固体物理学 > kotaibutsurigaku\ ;
+組織労働者 > soshikiroudousha\ ;
+営業報告書 > eigyouhoukokusho\ ;
+広告代理店 > koukokudairiten\ ;
+戦時国際法 > senjikokusaihou\ ;
+多額納税者 > tagakunouzeisha\ ;
+太元帥妙王 > daigensuimyouou\ ;
+中部太平洋 > chuubutaiheiyou\ ;
+企業内組合 > kigyounaikumiai\ ;
+太平洋戦争 > taiheiyousensou\ ;
+連帯保証人 > rentaihoshounin\ ;
+軍国主義者 > gunkokushugisha\ ;
+反帝国主義 > hanteikokushugi\ ;
+会社更生法 > kaishakouseihou\ ;
+国選弁護人 > kokusenbengonin\ ;
+自然地理学 > shizenchirigaku\ ;
+地域的分布 > chiikitekibunpu\ ;
+剪断安定性 > sendan''anteisei\ ;
+高分子化学 > koubunshikagaku\ ;
+情報公開法 > jouhoukoukaihou\ ;
+反射望遠鏡 > hanshabouenkyou\ ;
+特別委員会 > tokubetsuiinkai\ ;
+内需主導型 > naijushudougata\ ;
+晴天乱気流 > seitenrankiryuu\ ;
+基本的人権 > kihontekijinken\ ;
+戦争犯罪人 > sensouhanzainin\ ;
+反対貿易風 > hantaibouekifuu\ ;
+道路交通法 > dourokoutsuuhou\ ;
+共産国家郡 > kyousankokkagun\ ;
+仮装巡洋艦 > kasoujun''youkan\ ;
+教育基本法 > kyouikukihonhou\ ;
+生産者価格 > seisanshakakaku\ ;
+最小二乗法 > saishounijouhou\ ;
+主幹研究員 > shukankenkyuuin\ ;
+官僚主義者 > kanryoushugisha\ ;
+小選挙区制 > shousenkyokusei\ ;
+自転車操業 > jitenshasougyou\ ;
+世界新記録 > sekaishinkiroku\ ;
+商工会議所 > shoukoukaigisho\ ;
+弾劾裁判所 > dangaisaibansho\ ;
+保護関税率 > hogokanzeiritsu\ ;
+準禁治産者 > junkinchisansha\ ;
+議院内閣制 > giin''naikakusei\ ;
+生活保護法 > seikatsuhogohou\ ;
+共産主義者 > kyousanshugisha\ ;
+正安息香酸 > seiansokukousan\ ;
+公害病患者 > kougaibyoukanja\ ;
+財政投融資 > zaiseitouyuushi\ ;
+港湾労働者 > kouwanroudousha\ ;
+内陸性気候 > nairikuseikikou\ ;
+中央標準時 > chuuouhyoujunji\ ;
+投光照明器 > toukoushoumeiki\ ;
+総同盟罷業 > soudoumeihigyou\ ;
+最高裁判所 > saikousaibansho\ ;
+営団地下鉄 > eidanchikatetsu\ ;
+飽和化合物 > houwakagoubutsu\ ;
+金属探知機 > kinzokutanchiki\ ;
+浮動小数点 > fudoushousuuten\ ;
+言語心理学 > gengoshinrigaku\ ;
+一姫二太郎 > ichihimenitarou\ ;
+界面活性剤 > kaimenkasseizai\ ;
+人生案内欄 > jinseian''nairan\ ;
+一分二十秒 > ippun''nijuubyou\ ;
+南阿共和国 > nan''akyouwakoku\ ;
+主戦闘戦車 > shusentousensha\ ;
+比較言語学 > hikakugengogaku\ ;
+内政不干渉 > naiseifukanshou\ ;
+高等裁判所 > koutousaibansho\ ;
+球面幾何学 > kyuumenkikagaku\ ;
+電子顕微鏡 > denshikenbikyou\ ;
+労働生産性 > roudouseisansei\ ;
+平行四辺形 > heikoushihenkei\ ;
+感傷主義者 > kanshoushugisha\ ;
+学生自治会 > gakuseijichikai\ ;
+年金受給者 > nenkinjukyuusha\ ;
+非同期通信 > hidoukitsuushin\ ;
+三十年戦争 > sanjuunensensou\ ;
+閉所恐怖症 > heijokyoufushou\ ;
+司法研修所 > shihoukenshuujo\ ;
+低金利政策 > teikinriseisaku\ ;
+麻薬常用者 > mayakujouyousha\ ;
+長距離列車 > choukyoriressha\ ;
+懲罰委員会 > choubatsuiinkai\ ;
+有機化合物 > yuukikagoubutsu\ ;
+楽天主義者 > rakutenshugisha\ ;
+無条件降伏 > mujoukenkoufuku\ ;
+運転免許証 > untenmenkyoshou\ ;
+格闘戦部隊 > kakutousenbutai\ ;
+展示即売会 > tenjisokubaikai\ ;
+軍事境界線 > gunjikyoukaisen\ ;
+消費者団体 > shouhishadantai\ ;
+全体主義国 > zentaishugikoku\ ;
+不可侵条約 > fukashinjouyaku\ ;
+座席指定券 > zasekishiteiken\ ;
+帰国子女枠 > kikokushijowaku\ ;
+遺言補足書 > yuigonhosokusho\ ;
+炭鉱労働者 > tankouroudousha\ ;
+解析幾何学 > kaisekikikagaku\ ;
+経済性向上 > keizaiseikoujou\ ;
+地下核実験 > chikakakujikken\ ;
+比例代表制 > hireidaihyousei\ ;
+立憲君主政 > rikkenkunshusei\ ;
+魚雷発射管 > gyoraihasshakan\ ;
+損益分岐点 > son''ekibunkiten\ ;
+社会保険庁 > shakaihokenchou\ ;
+歩行者天国 > hokoushatengoku\ ;
+国民皆保険 > kokuminkaihoken\ ;
+単純再生産 > tanjunsaiseisan\ ;
+被選挙資格 > hisenkyoshikaku\ ;
+基準外賃金 > kijungaichingin\ ;
+熱帯低気圧 > nettaiteikiatsu\ ;
+現在完了時 > genzaikanryouji\ ;
+等辺三角形 > touhensankakkei\ ;
+日常茶飯事 > nichijousahanji\ ;
+連鎖状球菌 > rensajoukyuukin\ ;
+原爆犠牲者 > genbakugiseisha\ ;
+外国投資家 > gaikokutoushika\ ;
+電波天文学 > denpatenmongaku\ ;
+構造言語学 > kouzougengogaku\ ;
+地域冷暖房 > chiikireidanbou\ ;
+人工呼吸法 > jinkoukokyuuhou\ ;
+実証主義者 > jisshoushugisha\ ;
+支持力理論 > shijiryokuriron\ ;
+公開討論会 > koukaitouronkai\ ;
+文部科学省 > monbukagakushou\ ;
+特許明細書 > tokkyomeisaisho\ ;
+税制調査会 > zeiseichousakai\ ;
+発展途上国 > hattentojoukoku\ ;
+公共図書館 > koukyoutoshokan\ ;
+国内規格化 > kokunaikikakuka\ ;
+創立記念日 > souritsukinenbi\ ;
+金銭登録器 > kinsentourokuki\ ;
+労働組合法 > roudoukumiaihou\ ;
+素形材産業 > sokeizaisangyou\ ;
+交換貿易制 > koukanbouekisei\ ;
+現地駐在員 > genchichuuzaiin\ ;
+最小自乗法 > saishoujijouhou\ ;
+小型乗用車 > kogatajouyousha\ ;
+属性値行列 > zokusegyouretsu\ ;
+海軍兵学校 > kaigunheigakkou\ ;
+黄道十二宮 > koudoujuunikyuu\ ;
+出来高仕事 > dekidakashigoto\ ;
+資産負債表 > shisanfusaihyou\ ;
+版権所有者 > hankenshoyuusha\ ;
+信徒伝動者 > shintodendousha\ ;
+官能主義者 > kan''noushugisha\ ;
+聖霊降臨祭 > seireikourinsai\ ;
+流行性脳炎 > ryuukouseinouen\ ;
+記念論文集 > kinenronbunshuu\ ;
+自動連結機 > jidourenketsuki\ ;
+大陸性気候 > tairikuseikikou\ ;
+核兵器実験 > kakuheikijikken\ ;
+誇大妄想狂 > kodaimousoukyou\ ;
+身分証明書 > mibunshoumeisho\ ;
+文化人類学 > bunkajinruigaku\ ;
+第三次産業 > daisanjisangyou\ ;
+文化大革命 > bunkadaikakumei\ ;
+非局所分岐 > hikyokushobunki\ ;
+関係代名詞 > kankeidaimeishi\ ;
+多国籍言語 > takokusekigengo\ ;
+水銀気圧計 > suiginkiatsukei\ ;
+児童心理学 > jidoushinrigaku\ ;
+空洞化現象 > kuudoukagenshou\ ;
+無理方程式 > murihouteishiki\ ;
+交差対称性 > kousataishousei\ ;
+喧嘩両成敗 > kenkaryouseibai\ ;
+視聴覚機器 > shichoukakukiki\ ;
+染色体異常 > senshokutaiijou\ ;
+結婚適齢期 > kekkontekireiki\ ;
+漸近的自由 > zenkintekijiyuu\ ;
+社会民主党 > shakaiminshutou\ ;
+私設応援団 > shisetsuouendan\ ;
+経済同友会 > keizaidouyuukai\ ;
+反証可能性 > hanshoukanousei\ ;
+搬送周波数 > hansoushuuhasuu\ ;
+最高指導者 > saikoushidousha\ ;
+葡萄状球菌 > budoujoukyuukin\ ;
+全翼飛行機 > zen''yokuhikouki\ ;
+速効性肥料 > sokkouseihiryou\ ;
+遅効性肥料 > chikouseihiryou\ ;
+国粋主義者 > kokusuishugisha\ ;
+断弾性係数 > dandanseikeisuu\ ;
+二次方程式 > nijihouteishiki\ ;
+応用心理学 > ouyoushinrigaku\ ;
+精神異常者 > seishin''ijousha\ ;
+出生年月日 > shusseinengappi\ ;
+動詞状名詞 > doushijoumeishi\ ;
+自由裁量権 > jiyuusairyouken\ ;
+中央集権化 > chuuoushuukenka\ ;
+無利息証券 > murisokushouken\ ;
+仁義礼智信 > jingireichishin\ ;
+更年期障害 > kounenkishougai\ ;
+国語審議会 > kokugoshingikai\ ;
+地方裁判所 > chihousaibansho\ ;
+自動改札機 > jidoukaisatsuki\ ;
+未就学児童 > mishuugakujidou\ ;
+実時間処理 > jitsujikanshori\ ;
+預金準備率 > yokinjunbiritsu\ ;
+天体望遠鏡 > tentaibouenkyou\ ;
+社会諸科学 > shakaishokagaku\ ;
+法律事務所 > houritsujimusho\ ;
+実利主義者 > jitsurishugisha\ ;
+未確認情報 > mikakuninjouhou\ ;
+老人性痴呆 > roujinseichihou\ ;
+在外研究員 > zaigaikenkyuuin\ ;
+客観主義者 > kyakkanshugisha\ ;
+選手権大会 > senshukentaikai\ ;
+下級裁判所 > kakyuusaibansho\ ;
+逓降変圧器 > teikouhenatsuki\ ;
+限界顕微鏡 > genkaikenbikyou\ ;
+要撃戦闘機 > yougekisentouki\ ;
+不公平競争 > fukouheikyousou\ ;
+公認会計士 > kouninkaikeishi\ ;
+犯行声明文 > hankouseimeibun\ ;
+消費者価格 > shouhishakakaku\ ;
+音楽評論家 > ongakuhyouronka\ ;
+公安調査庁 > kouanchousachou\ ;
+乗降車優先 > joukoushayuusen\ ;
+人工甘味料 > jinkoukanmiryou\ ;
+在郷軍人会 > zaigougunjinkai\ ;
+自記湿度計 > jikishitsudokei\ ;
+大統一理論 > daitouitsuriron\ ;
+検定教科書 > kenteikyoukasho\ ;
+医学技術士 > igakugijutsushi\ ;
+天皇誕生日 > ten''noutanjoubi\ ;
+太平洋地域 > taiheiyouchiiki\ ;
+資産再評価 > shisansaihyouka\ ;
+情緒障害児 > jouchoshougaiji\ ;
+日本国憲法 > nihonkokukenpou\ ;
+人民解放軍 > jinminkaihougun\ ;
+絶対君主制 > zettaikunshusei\ ;
+芸術愛好家 > geijutsuaikouka\ ;
+私生児出産 > shiseijishussan\ ;
+両院協議会 > ryouinkyougikai\ ;
+小田原提灯 > odawaradjouchin\ ;
+貨物自動車 > kamotsujidousha\ ;
+片手間仕事 > katatemashigoto\ ;
+神経回路網 > shinkeikairomou\ ;
+炭素化合物 > tansokagoubutsu\ ;
+気管支喘息 > kikanshizensoku\ ;
+不動産業者 > fudousangyousha\ ;
+海洋気象台 > kaiyoukishoudai\ ;
+自動翻訳機 > jidouhon''yakuki\ ;
+縄文式土器 > joumonshikidoki\ ;
+輸入課徴金 > yunyuukachoukin\ ;
+重商主義者 > juushoushugisha\ ;
+遺産相続税 > isansouzokuzei\ ;
+毘廬遮那仏 > birushanabutsu\ ;
+関税自主権 > kanzeijishuken\ ;
+基本周波数 > kihonshuuhasuu\ ;
+四輪駆動車 > yonrinkudousha\ ;
+静電気防止 > seidenkiboushi\ ;
+煙突掃除夫 > entotsusoujifu\ ;
+休戦記念日 > kyuusenkinenbi\ ;
+学校群制度 > gakkougunseido\ ;
+放射線技師 > houshasengishi\ ;
+家庭裁判所 > kateisaibansho\ ;
+長距離打者 > choukyoridasha\ ;
+日本標準時 > nihonhyoujunji\ ;
+誘導電動機 > yuudoudendouki\ ;
+建国記念日 > kenkokukinenbi\ ;
+伝統主義者 > dentoushugisha\ ;
+登記番号欄 > toukibangouran\ ;
+歩行者優先 > hokoushayuusen\ ;
+無人宇宙船 > mujin''uchuusen\ ;
+羅萄日辞典 > raponichijiten\ ;
+温暖化現象 > ondankagenshou\ ;
+婦人参政権 > fujinsanseiken\ ;
+自由民主党 > jiyuuminshutou\ ;
+個体発生論 > kotaihasseiron\ ;
+大威徳妙王 > daiitokumyouou\ ;
+大韓航空機 > taikankoukuuki\ ;
+不特定多数 > futokuteitasuu\ ;
+主情主義者 > shujoushugisha\ ;
+法定代理人 > houteidairinin\ ;
+公開図書館 > koukaitoshokan\ ;
+一時間以内 > ichijikan''inai\ ;
+数理言語学 > suurigengogaku\ ;
+遺産相続人 > isansouzokunin\ ;
+方向探知器 > houkoutanchiki\ ;
+熱可塑樹脂 > netsukasojushi\ ;
+無機化合物 > mukikagoubutsu\ ;
+重要文化財 > juuyoubunkazai\ ;
+居間兼食堂 > imakenshokudou\ ;
+異方導電膜 > ihoudoudenmaku\ ;
+指示代名詞 > shijidaimeishi\ ;
+回復不可能 > kaifukufukanou\ ;
+拝金主義者 > haikinshugisha\ ;
+人道主義者 > jindoushugisha\ ;
+中央分離帯 > chuuoubunritai\ ;
+温帯低気圧 > ontaiteikiatsu\ ;
+超国家主義 > choukokkashugi\ ;
+利害関係者 > rigaikankeisha\ ;
+衆議員議長 > shuugiingichou\ ;
+導波管定数 > douhakanteisuu\ ;
+丁字形定規 > teijigatajougi\ ;
+簡易裁判所 > kan''isaibansho\ ;
+反動主義者 > handoushugisha\ ;
+音楽図書館 > ongakutoshokan\ ;
+乗用自動車 > jouyoujidousha\ ;
+圧倒的多数 > attoutekitasuu\ ;
+非政府組織 > hiseifusoshiki\ ;
+自由労働者 > jiyuuroudousha\ ;
+博愛主義者 > hakuaishugisha\ ;
+定期乗車券 > teikijoushaken\ ;
+電気洗濯機 > denkisentakuki\ ;
+終戦記念日 > shuusenkinenbi\ ;
+社会主義者 > shakaishugisha\ ;
+小型自動車 > kogatajidousha\ ;
+民事訴訟法 > minjisoshouhou\ ;
+第二量子化 > dainiryoushika\ ;
+二原子分子 > nigenshibunshi\ ;
+常任指揮者 > jouninshikisha\ ;
+農事試験場 > noujishikenjou\ ;
+情報化社会 > jouhoukashakai\ ;
+主観主義者 > shukanshugisha\ ;
+無教会主義 > mukyoukaishugi\ ;
+米価審議会 > beikashingikai\ ;
+時間外労働 > jikangairoudou\ ;
+百科全書派 > hyakkazenshoha\ ;
+二百二十日 > nihyakuhatsuka\ ;
+二重価格制 > nijuukakakusei\ ;
+刑事訴訟法 > keijisoshouhou\ ;
+販売代理店 > hanbaidairiten\ ;
+東亜諸民族 > touashominzoku\ ;
+単葉飛行機 > tan''youhikouki\ ;
+国会議事録 > kokkaigijiroku\ ;
+政府保証債 > seifuhoshousai\ ;
+便乗主義者 > binjoushugisha\ ;
+二大政党制 > nidaiseitousei\ ;
+無利息公債 > murisokukousai\ ;
+足素性原理 > ashisujougenri\ ;
+資本主義者 > shihonshugisha\ ;
+文化地理学 > bunkachirigaku\ ;
+公認候補者 > kouninkouhosha\ ;
+世界選手権 > sekaisenshuken\ ;
+新石器時代 > shinsekkijidai\ ;
+受験参考書 > jukensankousho\ ;
+静止画放送 > seishigahousou\ ;
+少年感化院 > shounenkankain\ ;
+長距離輸送 > choukyoriyusou\ ;
+再帰代名詞 > saikidaimeishi\ ;
+控訴裁判所 > kousohaibansho\ ;
+文化功労者 > bunkakourousha\ ;
+真空掃除機 > shinkuusoujiki\ ;
+人形浄瑠璃 > ningyoujoururi\ ;
+政治評論家 > seijihyouronka\ ;
+伝承叙事詩 > denshoujojishi\ ;
+有視界飛行 > yuushikaihikou\ ;
+降三世妙王 > gouzanzemyouou\ ;
+等高線地図 > toukousenchizu\ ;
+製造年月日 > seizounengappi\ ;
+地方交付税 > chihoukoufuzei\ ;
+日本語教本 > nihongokyouhon\ ;
+俘虜収容所 > furyoshuuyoujo\ ;
+空気圧縮機 > kuukiasshukuki\ ;
+国連記念日 > kokurenkinenbi\ ;
+無記名投票 > mukimeitouhyou\ ;
+自然主義者 > shizenshugisha\ ;
+管区気象台 > kankukishoudai\ ;
+法定準備金 > houteijunbikin\ ;
+海洋性気候 > kaiyouseikikou\ ;
+外貨準備高 > gaikajunbidaka\ ;
+旅行代理店 > ryokoudairiten\ ;
+予選通過者 > yosentsuukasha\ ;
+女性解放論 > joseikaihouron\ ;
+遺伝子治療 > idenshichiryou\ ;
+絶対主義者 > zettaishugisha\ ;
+共同炊事場 > kyoudousuijiba\ ;
+福祉事務所 > fukushijimusho\ ;
+三角系異常 > sankakukeiijou\ ;
+水産試験所 > suisanshikenjo\ ;
+軍事裁判所 > gunjisaibansho\ ;
+隠退蔵物資 > intaizoubusshi\ ;
+参考図書館 > sankoutoshokan\ ;
+無線周波数 > musenshuuhasuu\ ;
+重農主義者 > juunoushugisha\ ;
+乗合自動車 > noriaijidousha\ ;
+細胞遺伝学 > saibouidengaku\ ;
+超音波洗浄 > chouonpasenjou\ ;
+刑事被告人 > keijihikokunin\ ;
+群伝搬時間 > gundenpanjikan\ ;
+健康保険法 > kenkouhokenhou\ ;
+常任理事国 > jouninrijikoku\ ;
+非金属元素 > hikinzokugenso\ ;
+陸上自衛隊 > rikujoujieitai\ ;
+保険勧誘員 > hokenkan''yuuin\ ;
+窒素固定法 > chissokoteihou\ ;
+相対性原理 > soutaiseigenri\ ;
+美術愛好家 > bijutsuaikouka\ ;
+中石器時代 > chuusekkijidai\ ;
+主知主義者 > shuchishugisha\ ;
+蚕糸試験所 > sanshishikenjo\ ;
+立体幾何学 > rittaikikagaku\ ;
+不動産鑑定 > fudousankantei\ ;
+長距離飛行 > choukyorihikou\ ;
+第二次性徴 > dainijiseichou\ ;
+句構造文法 > kukouzoubunpou\ ;
+士官候補生 > shikankouhosei\ ;
+巡回図書館 > junkaitoshokan\ ;
+徴兵忌避者 > chouheikihisha\ ;
+出訴期限法 > shussokigenhou\ ;
+軍用輸送機 > gun''youyusouki\ ;
+言語地理学 > gengochirigaku\ ;
+前方後円墳 > zenpoukouenfun\ ;
+虫様突起炎 > chuuyoutokkien\ ;
+有形文化財 > yuukeibunkazai\ ;
+旧石器時代 > kyuusekkijidai\ ;
+自由民権論 > jiyuuminkenron\ ;
+破産裁判所 > hasansaibansho\ ;
+人身保護法 > jinshinhogohou\ ;
+放射性元素 > houshaseigenso\ ;
+捕虜収容所 > horyoshuuyoujo\ ;
+生計費指数 > seikeihishisuu\ ;
+国会図書館 > kokkaitoshokan\ ;
+高等弁務官 > koutoubenmukan\ ;
+時間順序積 > jikanjunjoseki\ ;
+地球温暖化 > chikyuuondanka\ ;
+非常勤講師 > hijoukinkoushi\ ;
+自動車学校 > jidoushagakkou\ ;
+税金避難地 > zeikinhinanchi\ ;
+人道的援助 > jindoutekienjo\ ;
+消費者運動 > shouhishaundou\ ;
+労働基準法 > roudoukijunhou\ ;
+漢字制限論 > kanjiseigenron\ ;
+周波数偏移 > shuuhasuuhen''i\ ;
+無制限貿易 > museigenboueki\ ;
+次元正則化 > jigenseisokuka\ ;
+人名用漢字 > jinmeiyoukanji\ ;
+征夷大将軍 > seiitaishougun\ ;
+産業予備軍 > sangyouyobigun\ ;
+利子平衡税 > rishiheikouzei\ ;
+無任所大臣 > muninshodaijin\ ;
+二重盲検法 > nijuumoukenhou\ ;
+自賠責保険 > jibaisekihoken\ ;
+重炭酸曹達 > juutansansouda\ ;
+長距離電話 > choukyoridenwa\ ;
+遺伝子工学 > idenshikougaku\ ;
+不可能選択 > fukanousentaku\ ;
+句構造規則 > kukouzoukisoku\ ;
+手形交換所 > tegatakoukanjo\ ;
+地方自治体 > chihoujichitai\ ;
+不規則動詞 > fukisokudoushi\ ;
+完全主義者 > kanzenshugisha\ ;
+構成素構造 > kouseisokouzou\ ;
+載貨吃水線 > saikakissuisen\ ;
+水銀温度計 > suigin''ondokei\ ;
+数理論理学 > suurironrigaku\ ;
+皇太子殿下 > koutaishidenka\ ;
+戦争未亡人 > sensoumiboujin\ ;
+破産管財人 > hasankanzainin\ ;
+協定世界時 > kyouteisekaiji\ ;
+海上保安庁 > kaijouhoanchou\ ;
+特異値分解 > tokuichibunkai\ ;
+民営化企業 > min''eikakigyou\ ;
+大西洋横断 > taiseiyououdan\ ;
+人工避妊法 > jinkouhininhou\ ;
+魚群探知機 > gyoguntanchiki\ ;
+遊離基反応 > yuurikihan''nou\ ;
+小田原評定 > odawarahyoujou\ ;
+騒音防止法 > souonboushihou\ ;
+疑問代名詞 > gimondaimeishi\ ;
+相対性理論 > soutaiseiriron\ ;
+酸化防止剤 > sankaboushizai\ ;
+第二次産業 > dainijisangyou\ ;
+有機塩溶媒 > yuukien''youbai\ ;
+電子計算機 > denshikeisanki\ ;
+戦闘犠牲者 > sentougiseisha\ ;
+民間航空機 > minkankoukuuki\ ;
+反戦主義者 > hansenshugisha\ ;
+観光案内所 > kankouan''naijo\ ;
+高齢化社会 > koureikashakai\ ;
+記号論理学 > kigouronrigaku\ ;
+指名手配人 > shimeitehaijin\ ;
+自転車旅行 > jitensharyokou\ ;
+平均太陽時 > heikintaiyouji\ ;
+好気性細菌 > koukiseisaikin\ ;
+電波望遠鏡 > denpabouenkyou\ ;
+労働運動者 > roudouundousha\ ;
+震災記念日 > shinsaikinenbi\ ;
+悪徳政治家 > akutokuseijika\ ;
+情報主要素 > jouhoushuyouso\ ;
+公武合体論 > koubugattairon\ ;
+電光掲示板 > denkoukeijiban\ ;
+価電子状態 > kadenshijoutai\ ;
+水産加工品 > suisankakouhin\ ;
+平面幾何学 > heimenkikagaku\ ;
+自転車置場 > jitenshaokiba\ ;
+教育委員会 > kyouikuiinkai\ ;
+水上飛行機 > suijouhikouki\ ;
+厭世悲観者 > enseihikansha\ ;
+後期印象派 > koukiinshouha\ ;
+大規模戦争 > daikibosensou\ ;
+無担保社債 > mutanposhasai\ ;
+遠心分離機 > enshinbunriki\ ;
+電気冷蔵庫 > denkireizouko\ ;
+最低温度計 > saiteiondokei\ ;
+顧問弁護士 > komonbengoshi\ ;
+二硫化炭素 > niryuukatanso\ ;
+早期警戒機 > soukikeikaiki\ ;
+構造遺伝子 > kouzouidenshi\ ;
+青銅器時代 > seidoukijidai\ ;
+会計検査院 > kaikeikensain\ ;
+首位攻防戦 > shuikoubousen\ ;
+全方位外交 > zenhouigaikou\ ;
+無人化工場 > mujinkakoujou\ ;
+火事場泥棒 > kajibadorobou\ ;
+人工栄養児 > jinkoueiyouji\ ;
+欧米諸言語 > oubeishogengo\ ;
+人工孵化法 > jinkoufukahou\ ;
+軍事顧問団 > gunjikomondan\ ;
+高層天気図 > kousoutenkizu\ ;
+仮面舞踏会 > kamenbutoukai\ ;
+作業部会案 > sagyoubukaian\ ;
+映画評論家 > eigahyouronka\ ;
+第二次大戦 > dainijitaisen\ ;
+野次馬根性 > yajiumakonjou\ ;
+英会話学校 > eikaiwagakkou\ ;
+前方不注意 > zenpoufuchuui\ ;
+地方公務員 > chihoukoumuin\ ;
+自動販売機 > jidouhanbaiki\ ;
+電磁調理器 > denjichouriki\ ;
+航空自衛隊 > koukuujieitai\ ;
+機関投資家 > kikantoushika\ ;
+回路遮断機 > kairoshadanki\ ;
+聖路加病院 > seirokabyouin\ ;
+分離主義者 > bunrishugisha\ ;
+憲法記念日 > kenpoukinenbi\ ;
+加減抵抗器 > kagenteikouki\ ;
+自動販売器 > jidouhanbaiki\ ;
+無免許運転 > mumenkyounten\ ;
+不可視光線 > fukashikousen\ ;
+貿易自由化 > bouekijiyuuka\ ;
+空気制動機 > kuukiseidouki\ ;
+五十歩百歩 > gojuppohyappo\ ;
+原理主義者 > genrishugisha\ ;
+多元文化論 > tagenbunkaron\ ;
+譲渡性預金 > joutoseiyokin\ ;
+国家主義者 > kokkashugisha\ ;
+沿岸警備隊 > engankeibitai\ ;
+個人主義者 > kojinshugisha\ ;
+外交委員長 > gaikouiinchou\ ;
+無抵抗主義 > muteikoushugi\ ;
+放射能汚染 > houshanouosen\ ;
+電気自動車 > denkijidousha\ ;
+優生保護法 > yuuseihogohou\ ;
+地方事務所 > chihoujimusho\ ;
+輸入自由化 > yunyuujiyuuka\ ;
+無利息債務 > murisokusaimu\ ;
+硫黄酸化物 > iousankabutsu\ ;
+道路掃除人 > dourosoujijin\ ;
+仁輪加狂言 > niwakakyougen\ ;
+自自公３党 > jijikousantou\ ;
+気管支肺炎 > kikanshihaien\ ;
+多重債務者 > tajuusaimusha\ ;
+諮問委員会 > shimon''iinkai\ ;
+高高度飛行 > koukoudohikou\ ;
+国会議事堂 > kokkaigijidou\ ;
+二十四節気 > nijuushisekki\ ;
+無形文化財 > mukeibunkazai\ ;
+市場自由化 > shijoujiyuuka\ ;
+経営多角化 > keieitakakuka\ ;
+主我主義者 > shugashugisha\ ;
+暗号化手法 > angoukashuhou\ ;
+不見転芸者 > mizutengeisha\ ;
+功利主義者 > kourishugisha\ ;
+自動車保険 > jidoushahoken\ ;
+自己顕示欲 > jikokenjiyoku\ ;
+無配当保険 > muhaitouhoken\ ;
+果樹栽培者 > kajusaibaisha\ ;
+裁判官忌避 > saibankankihi\ ;
+非武装地帯 > hibusouchitai\ ;
+空気清浄機 > kuukiseijouki\ ;
+一事不再議 > ichijifusaigi\ ;
+創建記念日 > soukenkinenbi\ ;
+普遍妥当性 > fuhendatousei\ ;
+原子破壊機 > genshihakaiki\ ;
+結婚記念日 > kekkonkinenbi\ ;
+大雨注意報 > ooamechuuihou\ ;
+米東部時間 > beitoubujikan\ ;
+劣性遺伝子 > resseiidenshi\ ;
+無価値資産 > mukachishisan\ ;
+健康保険医 > kenkouhoken''i\ ;
+常任委員会 > jounin''iinkai\ ;
+自由主義者 > jiyuushugisha\ ;
+短波受信機 > tanpajushinki\ ;
+破壊主義者 > hakaishugisha\ ;
+御都合主義 > gotsugoushugi\ ;
+二十日大根 > hatsukadaikon\ ;
+落下傘部隊 > rakkasanbutai\ ;
+長距離依存 > choukyoriizon\ ;
+符号変換器 > fugouhenkanki\ ;
+送金小切手 > soukinkogitte\ ;
+対戦車火器 > taisenshakaki\ ;
+弗化水素酸 > fukkasuisosan\ ;
+相補性原理 > souhoseigenri\ ;
+蒸気機関車 > joukikikansha\ ;
+文化事業部 > bunkajigyoubu\ ;
+無記名社債 > mukimeishasai\ ;
+合同慰霊祭 > goudouireisai\ ;
+火災報知機 > kasaihouchiki\ ;
+電波探知機 > denpatanchiki\ ;
+可変抵抗器 > kahenteikouki\ ;
+公務員試験 > koumuinshiken\ ;
+宇宙飛行士 > uchuuhikoushi\ ;
+看護婦学院 > kangofugakuin\ ;
+十字軍騎士 > juujigunkishi\ ;
+無機高分子 > mukikoubunshi\ ;
+火災報知器 > kasaihouchiki\ ;
+電波探知器 > denpatanchiki\ ;
+指揮所演習 > shikijoenshuu\ ;
+二酸化窒素 > nisankachisso\ ;
+自動車電話 > jidoushadenwa\ ;
+情報可視化 > jouhoukashika\ ;
+摂氏２０度 > sesshinijuudo\ ;
+小型赤家蚊 > kogataakaieka\ ;
+結婚披露宴 > kekkonhirouen\ ;
+海上自衛隊 > kaijoujieitai\ ;
+原案委員会 > gen''an''iinkai\ ;
+選手権試合 > senshukenjiai\ ;
+日和見主義 > hiyorimishugi\ ;
+仮装舞踏会 > kasoubutoukai\ ;
+遮光器土偶 > shakoukidoguu\ ;
+下水処理場 > gesuishorijou\ ;
+合理主義者 > gourishugisha\ ;
+楽器演奏者 > gakkiensousha\ ;
+古典主義者 > kotenshugisha\ ;
+国土地理院 > kokudochiriin\ ;
+市街化区域 > shigaikakuiki\ ;
+電気機関車 > denkikikansha\ ;
+弥次馬根性 > yajiumakonjou\ ;
+開校記念日 > kaikoukinenbi\ ;
+不可知論者 > fukachironsha\ ;
+無記名債権 > mukimeisaiken\ ;
+全波受信機 > zenpajushinki\ ;
+平和主義者 > heiwashugisha\ ;
+青天井予算 > aotenjouyosan\ ;
+状況意味論 > joukyouimiron\ ;
+漢字文化圏 > kanjibunkaken\ ;
+歯科技工士 > shikagikoushi\ ;
+海上輸送路 > kaijouyusouro\ ;
+調停委員会 > chouteiiinkai\ ;
+行方不明者 > yukuefumeisha\ ;
+個人的意見 > kojintekiiken\ ;
+北国赤海老 > hokkokuakaebi\ ;
+使途不明金 > shitofumeikin\ ;
+民主化運動 > minshukaundou\ ;
+天気相談所 > tenkisoudanjo\ ;
+参加希望者 > sankakibousha\ ;
+懐疑主義者 > kaigishugisha\ ;
+市議会議員 > shigikaigiin\ ;
+中央委員会 > chuuouiinkai\ ;
+胃酸過多症 > isankatashou\ ;
+電気陰性度 > denkiinseido\ ;
+無記名預金 > mukimeiyokin\ ;
+利己主義者 > rikoshugisha\ ;
+国家公務員 > kokkakoumuin\ ;
+希土類元素 > kidoruigenso\ ;
+電気掃除機 > denkisoujiki\ ;
+薔薇十字団 > barajuujidan\ ;
+富士火山帯 > fujikazantai\ ;
+星座投影機 > seizatoueiki\ ;
+欧州委員会 > oushuuiinkai\ ;
+上位互換性 > jouigokansei\ ;
+放射線科医 > houshasenkai\ ;
+火炎放射器 > kaenhoushaki\ ;
+合同委員会 > goudouiinkai\ ;
+遺産管理人 > isankanrinin\ ;
+貿易依存度 > bouekiizondo\ ;
+労働委員会 > roudouiinkai\ ;
+模型飛行機 > mokeihikouki\ ;
+下位範疇化 > kaihanchuuka\ ;
+非営利団体 > hieiridantai\ ;
+亜熱帯気候 > anettaikikou\ ;
+無政府主義 > museifushugi\ ;
+移動図書館 > idoutoshokan\ ;
+実行委員会 > jikkouiinkai\ ;
+留守番電話 > rusubandenwa\ ;
+検討委員会 > kentouiinkai\ ;
+衆議院議員 > shuugiingiin\ ;
+選考委員会 > senkouiinkai\ ;
+類義語辞典 > ruigigojiten\ ;
+右方高麗楽 > uhoukomagaku\ ;
+肥厚性鼻炎 > hikouseibien\ ;
+亜酸化窒素 > asankachisso\ ;
+安定同位体 > anteidouitai\ ;
+文字符号系 > mojifugoukei\ ;
+医療輸送機 > iryouyusouki\ ;
+過酸化水素 > kasankasuiso\ ;
+代理委任状 > dairiininjou\ ;
+亜寒帯気候 > akantaikikou\ ;
+高音部記号 > kouonbukigou\ ;
+位相幾何学 > isoukikagaku\ ;
+伊勢大神宮 > isedaijinguu\ ;
+二酸化炭素 > nisankatanso\ ;
+低音部記号 > teionbukigou\ ;
+愛他主義者 > aitashugisha\ ;
+主意主義者 > shuishugisha\ ;
+次酸化炭素 > jisankatanso\ ;
+治安維持法 > chian''ijihou\ ;
+井戸端会議 > idobatakaigi\ ;
+度数分布図 > dosuubunpuzu\ ;
+自動車事故 > jidoushajiko\ ;
+農地委員会 > nouchiiinkai\ ;
+債務不履行 > saimufurikou\ ;
+一酸化炭素 > issankatanso\ ;
+付加価値税 > fukakachizei\ ;
+常置委員会 > jouchiiinkai\ ;
+公安委員会 > kouan''iinkai\ ;
+非営利事業 > hieirijigyou\ ;
+経営合理化 > keieigourika\ ;
+弁護依頼人 > bengoirainin\ ;
+利他主義者 > ritashugisha\ ;
+尊皇王攘夷 > son''noujoui\ ;
+非開示合意 > hikaijigoui\ ;
+見様見真似 > miyoumimane\ ;
+阿呆陀羅経 > ahodarakyou\ ;
+法務委員会 > houmuiinkai\ ;
+脊黄青鸚哥 > sekiseiinko\ ;
+屋根裏部屋 > yaneurabeya\ ;
+阿多福風邪 > otafukukaze\ ;
+不随意運動 > fuzuiiundou\ ;
+日本語文字 > nihongomoji\ ;
+平和維持軍 > heiwaijigun\ ;
+耳鼻咽喉科 > jibiinkouka\ ;
+参議院議員 > sangiingiin\ ;
+江戸前寿司 > edomaezushi\ ;
+自記温度計 > jikiondokei\ ;
+準備委員会 > junbiiinkai\ ;
+下位互換性 > kaigokansei\ ;
+亜鉛華軟膏 > aenkanankou\ ;
+亜米利加杉 > amerikasugi\ ;
+摩訶不思議 > makafushigi\ ;
+産婦人科医 > sanfujinkai\ ;
+運営委員会 > un''eiiinkai\ ;
+同音異義語 > douon''igigo\ ;
+出来不出来 > dekifudeki\ ;
+御高祖頭巾 > okosozukin\ ;
+二酸化硫黄 > nisankaiou\ ;
+十重二十重 > toehatae\ ;
+長日植物 > choujitsushokubutsu\ ;
+律令格式 > ritsuryoukyakushiki\ ;
+食肉植物 > shokunikushokubutsu\ ;
+直接接続 > chokusetsusetsuzoku\ ;
+食虫植物 > shokuchuushokubutsu\ ;
+一日一日 > ichinichiichinichi\ ;
+短日植物 > tanjitsushokubutsu\ ;
+標準出力 > hyoujunshutsuryoku\ ;
+信賞必罰 > shinshouhitsubatsu\ ;
+特徴抽出 > tokuchouchuushutsu\ ;
+着生植物 > chakuseishokubutsu\ ;
+実物取引 > jitsubutsutorihiki\ ;
+直接接触 > chokusetsusesshoku\ ;
+貸付信託 > kashitsukeshintaku\ ;
+即日速達 > sokujitsusokutatsu\ ;
+百発百中 > hyappatsuhyakuchuu\ ;
+取締役会 > torishimariyakukai\ ;
+出力装置 > shutsuryokusouchi\ ;
+複雑骨折 > fukuzatsukossetsu\ ;
+物的流通 > butsutekiryuutsuu\ ;
+十年一昔 > juunenhitomukashi\ ;
+祥月命日 > shoutsukimeinichi\ ;
+戦略物質 > senryakubusshitsu\ ;
+就職活動 > shuushokukatsudou\ ;
+弱肉強食 > jakunikukyoushoku\ ;
+伸縮税率 > shinshukuzeiritsu\ ;
+神出鬼没 > shinshutsukibotsu\ ;
+吸血動物 > kyuuketsudoubutsu\ ;
+熱力学的 > netsurikigakuteki\ ;
+植物採集 > shokubutsusaishuu\ ;
+出力端子 > shutsuryokutanshi\ ;
+標準入力 > hyoujun''nyuuryoku\ ;
+観葉植物 > kan''youshokubutsu\ ;
+七生報国 > shichishouhoukoku\ ;
+実物描写 > jitsubutsubyousha\ ;
+殺真菌薬 > satsushinkin''yaku\ ;
+標本抽出 > hyouhonchuushutsu\ ;
+総括質問 > soukatsushitsumon\ ;
+潮力発電 > chouryokuhatsuden\ ;
+直接購入 > chokusetsukounyuu\ ;
+窮極目的 > kyuukyokumokuteki\ ;
+天照大神 > amaterasuoomikami\ ;
+質実剛健 > shitsujitsugouken\ ;
+局外中立 > kyokugaichuuritsu\ ;
+色彩調節 > shikisaichousetsu\ ;
+薬用植物 > yakuyoushokubutsu\ ;
+秋霜烈日 > shuusouretsujitsu\ ;
+直接請求 > chokusetsuseikyuu\ ;
+宗教哲学 > shuukyoutetsugaku\ ;
+薬物中毒 > yakubutsuchuudoku\ ;
+小心翼翼 > shoushin''yokuyoku\ ;
+特別幕僚 > tokubetsubakuryou\ ;
+分裂物質 > bunretsubusshitsu\ ;
+直接照明 > chokusetsushoumei\ ;
+嘱託殺人 > shokutakusatsujin\ ;
+湿生植物 > shisseishokubutsu\ ;
+七十人訳 > shichijuunin''yaku\ ;
+発癌物質 > hatsuganbusshitsu\ ;
+白長須鯨 > shironagasukujira\ ;
+観賞植物 > kanshoushokubutsu\ ;
+心神喪失 > shinshinsoushitsu\ ;
+通俗小説 > tsuuzokushousetsu\ ;
+百戦百勝 > hyakusenhyakushou\ ;
+提灯行列 > chouchingyouretsu\ ;
+失業対策 > shitsugyoutaisaku\ ;
+小心翼々 > shoushin''yokuyoku\ ;
+左側通行 > hidarigawatsuukou\ ;
+救出作戦 > kyuushutsusakusen\ ;
+室内装飾 > shitsunaisoushoku\ ;
+直接競争 > chokusetsukyousou\ ;
+旭日昇天 > kyokujitsushouten\ ;
+蘚苔植物 > sentaishokubutsu\ ;
+研究室棟 > kenkyuushitsutou\ ;
+西側諸国 > nishigawashokoku\ ;
+脊椎動物 > sekitsuidoubutsu\ ;
+桑原桑原 > kuwabarakuwabara\ ;
+享楽生活 > kyourakuseikatsu\ ;
+入力電流 > nyuuryokudenryuu\ ;
+十年一日 > juunen''ichijitsu\ ;
+風俗小説 > fuuzokushousetsu\ ;
+低血圧症 > teiketsuatsushou\ ;
+虚々実々 > kyokyojitsujitsu\ ;
+技術協力 > gijutsukyouryoku\ ;
+空中衝突 > kuuchuushoutotsu\ ;
+千篇一律 > senpen''ichiritsu\ ;
+料理教室 > ryourikyoushitsu\ ;
+本格小説 > honkakushousetsu\ ;
+国立劇場 > kokuritsugekijou\ ;
+草食動物 > soushokudoubutsu\ ;
+直接選挙 > chokusetsusenkyo\ ;
+生者必滅 > shoujahitsumetsu\ ;
+熱帯植物 > nettaishokubutsu\ ;
+松下電工 > matsushitadenkou\ ;
+商業算術 > shougyousanjutsu\ ;
+戦戦栗栗 > sensenritsuritsu\ ;
+揮発物質 > kihatsubusshitsu\ ;
+発光植物 > hakkoushokubutsu\ ;
+電力供給 > denryokukyoukyuu\ ;
+戦略爆撃 > senryakubakugeki\ ;
+妊娠中絶 > ninshinchuuzetsu\ ;
+直接会談 > chokusetsukaidan\ ;
+割増賃金 > warimashichingin\ ;
+作付面積 > sakudzukemenseki\ ;
+日独協会 > nichidokukyoukai\ ;
+日常生活 > nichijouseikatsu\ ;
+歳入歳出 > sainyuusaishutsu\ ;
+特別急行 > tokubetsukyuukou\ ;
+転出証明 > tenshutsushoumei\ ;
+救荒作物 > kyuukousakumotsu\ ;
+地熱発電 > chinetsuhatsuden\ ;
+薬物療法 > yakubutsuryouhou\ ;
+食糧配給 > shokuryouhaikyuu\ ;
+直系血族 > chokkeiketsuzoku\ ;
+質問用紙 > shitsumon''youshi\ ;
+独身生活 > dokushinseikatsu\ ;
+警察当局 > keisatsutoukyoku\ ;
+直接伝染 > chokusetsudensen\ ;
+青空教室 > aozorakyoushitsu\ ;
+非嫡出子 > hichakushutsushi\ ;
+生活様式 > seikatsuyoushiki\ ;
+片道料金 > katamichiryoukin\ ;
+原油流出 > gen''yuryuushutsu\ ;
+略式命令 > ryakushikimeirei\ ;
+芸術活動 > geijutsukatsudou\ ;
+歴史哲学 > rekishitetsugaku\ ;
+下町言葉 > shitamachikotoba\ ;
+緊急着陸 > kinkyuuchakuriku\ ;
+冷血動物 > reiketsudoubutsu\ ;
+取扱注意 > toriatsukaichuui\ ;
+割増料金 > warimashiryoukin\ ;
+直截簡明 > chokusetsukanmei\ ;
+黄道吉日 > koudoukichinichi\ ;
+一触即発 > isshokusokuhatsu\ ;
+即日開票 > sokujitsukaihyou\ ;
+実質賃金 > jisshitsuchingin\ ;
+教養小説 > kyouyoushousetsu\ ;
+抽象芸術 > chuushougeijutsu\ ;
+直接支配 > chokusetsushihai\ ;
+集団就職 > shuudanshuushoku\ ;
+水生植物 > suiseishokubutsu\ ;
+職務質問 > shokumushitsumon\ ;
+乾生植物 > kanseishokubutsu\ ;
+宿泊設備 > shukuhakusetsubi\ ;
+国立大学 > kokuritsudaigaku\ ;
+一言二言 > hitokotofutakoto\ ;
+正面衝突 > shoumenshoutotsu\ ;
+一日千秋 > ichinichisenshuu\ ;
+商業目的 > shougyoumokuteki\ ;
+複式学級 > fukushikigakkyuu\ ;
+卒業証書 > sotsugyoushousho\ ;
+焼肉定食 > yakinikuteishoku\ ;
+表面張力 > hyoumenchouryoku\ ;
+特別番組 > tokubetsubangumi\ ;
+学習能力 > gakushuunouryoku\ ;
+信用取引 > shin''youtorihiki\ ;
+高血圧症 > kouketsuatsushou\ ;
+中心人物 > chuushinjinbutsu\ ;
+食料品商 > shokuryouhinshou\ ;
+超現実的 > chougenjitsuteki\ ;
+即身成仏 > sokushinjoubutsu\ ;
+国外脱出 > kokugaidasshutsu\ ;
+直接回答 > chokusetsukaitou\ ;
+先物取引 > sakimonotorihiki\ ;
+歴史小説 > rekishishousetsu\ ;
+煮沸消毒 > shafutsushoudoku\ ;
+海外進出 > kaigaishinshutsu\ ;
+水力発電 > suiryokuhatsuden\ ;
+形質導入 > keishitsudounyuu\ ;
+直接関係 > chokusetsukankei\ ;
+直接簡明 > chokusetsukanmei\ ;
+振替休日 > furikaekyuujitsu\ ;
+千編一律 > senpen''ichiritsu\ ;
+郵便小包 > yuubinkodzutsumi\ ;
+単一神教 > tan''itsushinkyou\ ;
+虚弱体質 > kyojakutaishitsu\ ;
+脊索動物 > sekisakudoubutsu\ ;
+武力衝突 > buryokushoutotsu\ ;
+熱核反応 > netsukakuhan''nou\ ;
+種子植物 > shushishokubutsu\ ;
+直接行動 > chokusetsukoudou\ ;
+求職広告 > kyuushokukoukoku\ ;
+実証哲学 > jisshoutetsugaku\ ;
+花嫁花婿 > hanayomehanamuko\ ;
+大名行列 > daimyougyouretsu\ ;
+高山植物 > kouzanshokubutsu\ ;
+特別料金 > tokubetsuryoukin\ ;
+中間小説 > chuukanshousetsu\ ;
+生物濃縮 > seibutsunoushuku\ ;
+入力信号 > nyuuryokushingou\ ;
+彫刻室座 > choukokushitsuza\ ;
+確率標本 > kakuritsuhyouhon\ ;
+州立大学 > shuuritsudaigaku\ ;
+多肉植物 > tanikushokubutsu\ ;
+熱伝導率 > netsudendouritsu\ ;
+植物人間 > shokubutsuningen\ ;
+虚虚実実 > kyokyojitsujitsu\ ;
+物物交換 > butsubutsukoukan\ ;
+実力行使 > jitsuryokukoushi\ ;
+型式証明 > katashikishoumei\ ;
+連勝複式 > renshoufukushiki\ ;
+直接協議 > chokusetsukyougi\ ;
+罪障消滅 > zaishoushoumetsu\ ;
+晩生植物 > banseishokubutsu\ ;
+潜在失業 > senzaishitsugyou\ ;
+直接比較 > chokusetsuhikaku\ ;
+核抑止力 > kakuyokushiryoku\ ;
+万物流転 > banbutsuryuuten\ ;
+軟式庭球 > nanshikiteikyuu\ ;
+修道生活 > shuudouseikatsu\ ;
+秘密警察 > himitsukeisatsu\ ;
+法人株主 > houjinkabunushi\ ;
+間接照明 > kansetsushoumei\ ;
+紛骨砕身 > funkotsusaishin\ ;
+両棲動物 > ryouseidoubutsu\ ;
+集約農業 > shuuyakunougyou\ ;
+廃疾条件 > haishitsujouken\ ;
+能率賃金 > nouritsuchingin\ ;
+単刀直入 > tantouchokunyuu\ ;
+三文小説 > sanmonshousetsu\ ;
+筋肉注射 > kin''nikuchuusha\ ;
+四通八達 > shitsuuhattatsu\ ;
+割増運賃 > warimashiunchin\ ;
+南極観測 > nankyokukansoku\ ;
+一目瞭然 > ichimokuryouzen\ ;
+素人下宿 > shiroutogeshuku\ ;
+学校給食 > gakkoukyuushoku\ ;
+間接撮影 > kansetsusatsuei\ ;
+白川夜船 > shirakawayofune\ ;
+特筆大書 > tokuhitsutaisho\ ;
+食品工業 > shokuhinkougyou\ ;
+棘皮動物 > kyokuhidoubutsu\ ;
+怪力乱神 > kairyokuranshin\ ;
+人生哲学 > jinseitetsugaku\ ;
+新婚生活 > shinkonseikatsu\ ;
+公開入札 > koukainyuusatsu\ ;
+株式市場 > kabushikishijou\ ;
+学業成績 > gakugyouseiseki\ ;
+物質名詞 > busshitsumeishi\ ;
+短編小説 > tanpenshousetsu\ ;
+商業数学 > shougyousuugaku\ ;
+脱出速度 > dasshutsusokudo\ ;
+特別総会 > tokubetsusoukai\ ;
+第一楽章 > daiichigakushou\ ;
+索条鉄道 > sakujoutetsudou\ ;
+軍記物語 > gunkimonogatari\ ;
+厳正中立 > genseichuuritsu\ ;
+一日一夜 > ichinichiichiya\ ;
+陰陰滅滅 > in''inmetsumetsu\ ;
+就職浪人 > shuushokurounin\ ;
+純潔教育 > junketsukyouiku\ ;
+宗教改革 > shuukyoukaikaku\ ;
+支離滅裂 > shirimetsuretsu\ ;
+国民宿舎 > kokuminshukusha\ ;
+独立宣言 > dokuritsusengen\ ;
+副腎皮質 > fukujinhishitsu\ ;
+国民生活 > kokuminseikatsu\ ;
+積載能力 > sekisainouryoku\ ;
+収容能力 > shuuyounouryoku\ ;
+腰高障子 > koshidakashouji\ ;
+年頃日頃 > toshigorohigoro\ ;
+通俗文学 > tsuuzokubungaku\ ;
+優先株主 > yuusenkabunushi\ ;
+写真測量 > shashinsokuryou\ ;
+企業体質 > kigyoutaishitsu\ ;
+猪突猛進 > chototsumoushin\ ;
+学生割引 > gakuseiwaribiki\ ;
+価格圧力 > kakakuatsuryoku\ ;
+表現形式 > hyougenkeishiki\ ;
+出願書類 > shutsuganshorui\ ;
+宗教教育 > shuukyoukyouiku\ ;
+余裕綽綽 > yoyuushakushaku\ ;
+知的能力 > chitekinouryoku\ ;
+反骨精神 > hankotsuseishin\ ;
+正確爆撃 > seikakubakugeki\ ;
+日英通訳 > nichieitsuuyaku\ ;
+食物繊維 > shokumotsusen''i\ ;
+算術級数 > sanjutsukyuusuu\ ;
+入力装置 > nyuuryokusouchi\ ;
+職業訓練 > shokugyoukunren\ ;
+探偵小説 > tanteishousetsu\ ;
+生活反応 > seikatsuhan''nou\ ;
+松下電器 > matsushitadenki\ ;
+知識階級 > chishikikaikyuu\ ;
+株式会社 > kabushikigaisha\ ;
+一時預所 > ichijiazukarijo\ ;
+拡大解釈 > kakudaikaishaku\ ;
+品質保証 > hinshitsuhoshou\ ;
+信仰告白 > shinkoukokuhaku\ ;
+格物致知 > kakubutsuchichi\ ;
+米穀通帳 > beikokutsuuchou\ ;
+実用新案 > jitsuyoushin''an\ ;
+心身障害 > shinshinshougai\ ;
+速戦即決 > sokusensokketsu\ ;
+化学吸着 > kagakukyuuchaku\ ;
+四方山話 > yomoyamabanashi\ ;
+皇室典範 > koushitsutenpan\ ;
+特別国会 > tokubetsukokkai\ ;
+一坪本社 > hitotsubohonsha\ ;
+早口言葉 > hayakuchikotoba\ ;
+深山幽谷 > shinzan''yuukoku\ ;
+通商産業 > tsuushousangyou\ ;
+建築面積 > kenchikumenseki\ ;
+盤根錯節 > bankonsakusetsu\ ;
+内的生活 > naitekiseikatsu\ ;
+秘密漏洩 > himitsurousetsu\ ;
+玉石混淆 > gyokusekikonkou\ ;
+雛鑑別者 > hinakanbetsusha\ ;
+終身年金 > shuushin''nenkin\ ;
+粉骨砕身 > funkotsusaishin\ ;
+人物寸描 > jinbutsusunbyou\ ;
+商品目録 > shouhinmokuroku\ ;
+外食産業 > gaishokusangyou\ ;
+資源節約 > shigensetsuyaku\ ;
+静脈注射 > joumyakuchuusha\ ;
+冒険小説 > boukenshousetsu\ ;
+熱硬化物 > netsukoukabutsu\ ;
+国有鉄道 > kokuyuutetsudou\ ;
+確率変数 > kakuritsuhensuu\ ;
+開発計画 > kaihatsukeikaku\ ;
+有害物質 > yuugaibusshitsu\ ;
+情状酌量 > joujoushakuryou\ ;
+侵略戦争 > shinryakusensou\ ;
+冒頭陳述 > boutouchinjutsu\ ;
+焼身自殺 > shoushinjisatsu\ ;
+大安吉日 > taiankichinichi\ ;
+矯正視力 > kyouseishiryoku\ ;
+研究開発 > kenkyuukaihatsu\ ;
+談合入札 > dangounyuusatsu\ ;
+陸生動物 > rikuseidoubutsu\ ;
+南太平洋 > minamitaiheiyou\ ;
+学生生活 > gakuseiseikatsu\ ;
+１１９番 > hyakujuukyuuban\ ;
+結合組織 > ketsugousoshiki\ ;
+彫心鏤骨 > choushinrukotsu\ ;
+縁日商人 > en''nichishounin\ ;
+心神耗弱 > shinshinmoujaku\ ;
+短期貸付 > tankikashitsuke\ ;
+玉石混交 > gyokusekikonkou\ ;
+左中括弧 > hidarichuukakko\ ;
+黒色人種 > kokushokujinshu\ ;
+公式発表 > koushikihappyou\ ;
+軟骨組織 > nankotsusoshiki\ ;
+星間物質 > seikanbusshitsu\ ;
+生涯学習 > shougaigakushuu\ ;
+知識表現 > chishikihyougen\ ;
+源氏物語 > genjimonogatari\ ;
+七転八倒 > shichitenbattou\ ;
+白色人種 > hakushokujinshu\ ;
+平家物語 > heikemonogatari\ ;
+余裕綽々 > yoyuushakushaku\ ;
+拒絶反応 > kyozetsuhan''nou\ ;
+特別待遇 > tokubetsutaiguu\ ;
+青天白日 > seitenhakujitsu\ ;
+天罰覿面 > tenbatsutekimen\ ;
+血族結婚 > ketsuzokukekkon\ ;
+発色現像 > hasshokugenshou\ ;
+入札価格 > nyuusatsukakaku\ ;
+連立内閣 > renritsunaikaku\ ;
+腹式呼吸 > fukushikikokyuu\ ;
+低開発国 > teikaihatsukoku\ ;
+軽妙洒脱 > keimyoushadatsu\ ;
+鋼索鉄道 > kousakutetsudou\ ;
+現有勢力 > gen''yuuseiryoku\ ;
+遊休施設 > yuukyuushisetsu\ ;
+跳躍振動 > chouyakushindou\ ;
+超然内閣 > chouzen''naikaku\ ;
+実業学校 > jitsugyougakkou\ ;
+私立大学 > shiritsudaigaku\ ;
+最低血圧 > saiteiketsuatsu\ ;
+尊属殺人 > sonzokusatsujin\ ;
+中立地帯 > chuuritsuchitai\ ;
+両極地方 > ryoukyokuchihou\ ;
+連続殺人 > renzokusatsujin\ ;
+垂直分業 > suichokubungyou\ ;
+洗濯石鹸 > sentakusetsuken\ ;
+闘病生活 > toubyouseikatsu\ ;
+同文通達 > doubuntsuutatsu\ ;
+円転滑脱 > entenkatsudatsu\ ;
+生物工学 > seibutsukougaku\ ;
+一律減反 > ichiritsugentan\ ;
+人員縮少 > jin''inshukushou\ ;
+独立変数 > dokuritsuhensuu\ ;
+人定質問 > jinteishitsumon\ ;
+新約聖書 > shin''yakuseisho\ ;
+生殺与奪 > seisatsuyodatsu\ ;
+殿様仕事 > tonosamashigoto\ ;
+台所用品 > daidokoroyouhin\ ;
+貴金属卸 > kikinzokuoroshi\ ;
+上方贅六 > kamigatazeiroku\ ;
+血族関係 > ketsuzokukankei\ ;
+子宮後屈 > shikyuukoukutsu\ ;
+南征北伐 > nanseihokubatsu\ ;
+真実一路 > shinjitsuichiro\ ;
+特別運賃 > tokubetsuunchin\ ;
+通常戦力 > tsuujousenryoku\ ;
+利害得失 > rigaitokushitsu\ ;
+浅酌低唱 > senshakuteishou\ ;
+裸子植物 > rashishokubutsu\ ;
+借用証書 > shakuyoushousho\ ;
+共有結合 > kyouyuuketsugou\ ;
+回折領域 > kaisetsuryouiki\ ;
+職業意識 > shokugyouishiki\ ;
+単式学級 > tanshikigakkyuu\ ;
+学術雑誌 > gakujutsuzasshi\ ;
+卒業試験 > sotsugyoushiken\ ;
+優性形質 > yuuseikeishitsu\ ;
+成長曲線 > seichoukyokusen\ ;
+百八十度 > hyakuhachijuudo\ ;
+大和撫子 > yamatonadeshiko\ ;
+好色文学 > koushokubungaku\ ;
+霊魂消滅 > reikonshoumetsu\ ;
+特別配当 > tokubetsuhaitou\ ;
+風力階級 > fuuryokukaikyuu\ ;
+流体力学 > ryuutairikigaku\ ;
+劣弱意識 > retsujakuishiki\ ;
+二股膏薬 > futamatakouyaku\ ;
+物質代謝 > busshitsutaisha\ ;
+管轄官庁 > kankatsukanchou\ ;
+修正申告 > shuuseishinkoku\ ;
+心理小説 > shinrishousetsu\ ;
+着陸地点 > chakurikuchiten\ ;
+実験小説 > jikkenshousetsu\ ;
+原子爆発 > genshibakuhatsu\ ;
+入力情報 > nyuuryokujouhou\ ;
+量子力学 > ryoushirikigaku\ ;
+奪三振王 > datsusanshin''ou\ ;
+年末調整 > nenmatsuchousei\ ;
+学術論文 > gakujutsuronbun\ ;
+生物学者 > seibutsugakusha\ ;
+六百六号 > roppyakurokugou\ ;
+思弁哲学 > shibentetsugaku\ ;
+抗生物質 > kouseibusshitsu\ ;
+活動写真 > katsudoushashin\ ;
+両生動物 > ryouseidoubutsu\ ;
+精神薄弱 > seishinhakujaku\ ;
+強迫観念 > kyouhakukan''nen\ ;
+軍縮協定 > gunshukukyoutei\ ;
+着陸地帯 > chakurikuchitai\ ;
+炭塵爆発 > tanjinbakuhatsu\ ;
+生活環境 > seikatsukankyou\ ;
+技術革新 > gijutsukakushin\ ;
+粟粒結核 > zokuryuukekkaku\ ;
+仮受取証 > kariuketorishou\ ;
+新聞配達 > shinbunhaitatsu\ ;
+卒業論文 > sotsugyouronbun\ ;
+登録商標 > tourokushouhyou\ ;
+信用銘柄 > shin''youmeigara\ ;
+操浄瑠璃 > ayatsurijoururi\ ;
+共同生活 > kyoudouseikatsu\ ;
+伝達特性 > dentatsutokusei\ ;
+信仰生活 > shinkouseikatsu\ ;
+郷土小説 > kyoudoshousetsu\ ;
+集団生活 > shuudanseikatsu\ ;
+駐日大使 > chuunichitaishi\ ;
+島国根性 > shimagunikonjou\ ;
+左小括弧 > hidarishoukakko\ ;
+民族宗教 > minzokushuukyou\ ;
+日中韓越 > nitchuukan''etsu\ ;
+黒色火薬 > kokushokukayaku\ ;
+万有神教 > ban''yuushinkyou\ ;
+頭脳流出 > zunouryuushutsu\ ;
+直接話法 > chokusetsuwahou\ ;
+形質転換 > keishitsutenkan\ ;
+正真正銘 > shoushinshoumei\ ;
+爆弾発言 > bakudanhatsugen\ ;
+直立不動 > chokuritsufudou\ ;
+商業道徳 > shougyoudoutoku\ ;
+特設会場 > tokusetsukaijou\ ;
+核物理学 > kakubutsurigaku\ ;
+直立猿人 > chokuritsuenjin\ ;
+超連結子 > chourenketsushi\ ;
+甲論乙駁 > kouron''otsubaku\ ;
+物的資源 > butsutekishigen\ ;
+直接支援 > chokusetsushien\ ;
+新制中学 > shinseichuugaku\ ;
+圧力団体 > atsuryokudantai\ ;
+温血動物 > onketsudoubutsu\ ;
+中立労連 > chuuritsurouren\ ;
+研究活動 > kenkyuukatsudou\ ;
+自然哲学 > shizentetsugaku\ ;
+株主総会 > kabunushisoukai\ ;
+性格判別 > seikakuhanbetsu\ ;
+過失傷害 > kashitsushougai\ ;
+通信工学 > tsuushinkougaku\ ;
+同一人物 > douitsujinbutsu\ ;
+商学博士 > shougakuhakushi\ ;
+心頭滅却 > shintoumekkyaku\ ;
+七顛八倒 > shichitenbattou\ ;
+強行採決 > kyoukousaiketsu\ ;
+就任演説 > shuunin''enzetsu\ ;
+名論卓説 > meirontakusetsu\ ;
+注入教育 > chuunyuukyouiku\ ;
+向精神薬 > kouseishin''yaku\ ;
+分列行進 > bunretsukoushin\ ;
+食料品店 > shokuryouhinten\ ;
+潮汐摩擦 > chousekimasatsu\ ;
+節足動物 > sessokudoubutsu\ ;
+食物連鎖 > shokumotsurensa\ ;
+中肉中背 > chuunikuchuuzei\ ;
+集中攻撃 > shuuchuukougeki\ ;
+確定判決 > kakuteihanketsu\ ;
+少女小説 > shoujoshousetsu\ ;
+博学力行 > hakugakuryokkou\ ;
+傍系血族 > boukeiketsuzoku\ ;
+中間内閣 > chuukan''naikaku\ ;
+単独供給 > tandokukyoukyuu\ ;
+失業保険 > shitsugyouhoken\ ;
+特別会計 > tokubetsukaikei\ ;
+振幅変調 > shinpukuhenchou\ ;
+広告収入 > koukokushuunyuu\ ;
+中国大陸 > chuugokutairiku\ ;
+放出物資 > houshutsubusshi\ ;
+配達証明 > haitatsushoumei\ ;
+最終目的 > saishuumokuteki\ ;
+一蓮托生 > ichirentakushou\ ;
+三角測量 > sankakusokuryou\ ;
+動物学者 > doubutsugakusha\ ;
+化学物質 > kagakubusshitsu\ ;
+熱原子核 > netsugenshikaku\ ;
+地質調査 > chishitsuchousa\ ;
+歯列矯正 > shiretsukyousei\ ;
+四十七士 > shijuushichishi\ ;
+十月革命 > juugatsukakumei\ ;
+文質彬彬 > bunshitsuhinpin\ ;
+信託契約 > shintakukeiyaku\ ;
+独立戦争 > dokuritsusensou\ ;
+火力発電 > karyokuhatsuden\ ;
+速達郵便 > sokutatsuyuubin\ ;
+四百四病 > shihyakushibyou\ ;
+元帳残高 > motochouzandaka\ ;
+抽象美術 > chuushoubijutsu\ ;
+物質文明 > busshitsubunmei\ ;
+超物理学 > choubutsurigaku\ ;
+食糧不足 > shokuryoubusoku\ ;
+公共施設 > koukyoushisetsu\ ;
+南極条約 > nankyokujouyaku\ ;
+兵力削減 > heiryokusakugen\ ;
+公職追放 > koushokutsuihou\ ;
+学術団体 > gakujutsudantai\ ;
+共生生物 > kyouseiseibutsu\ ;
+被子植物 > hishishokubutsu\ ;
+有畜農業 > yuuchikunougyou\ ;
+寄生植物 > kiseishokubutsu\ ;
+武侠小説 > bukyoushousetsu\ ;
+木質繊維 > mokushitsusen''i\ ;
+直通列車 > chokutsuuressha\ ;
+一一九番 > hyakujuukyuuban\ ;
+転置行列 > tenchigyouretsu\ ;
+出動命令 > shutsudoumeirei\ ;
+舌先三寸 > shitasakisanzun\ ;
+大衆食堂 > taishuushokudou\ ;
+内閣閣僚 > naikakukakuryou\ ;
+人口爆発 > jinkoubakuhatsu\ ;
+圧縮効率 > asshukukouritsu\ ;
+国立銀行 > kokuritsuginkou\ ;
+一病息災 > ichibyousokusai\ ;
+正金取引 > shoukintorihiki\ ;
+流通革命 > ryuutsuukakumei\ ;
+芸術作品 > geijutsusakuhin\ ;
+新興宗教 > shinkoushuukyou\ ;
+知識工学 > chishikikougaku\ ;
+体質改善 > taishitsukaizen\ ;
+片側通行 > katagawatsuukou\ ;
+南極大陸 > nankyokutairiku\ ;
+艶笑小話 > enshoukobanashi\ ;
+商業美術 > shougyoubijutsu\ ;
+神色自若 > shinshokujijaku\ ;
+水際作戦 > mizugiwasakusen\ ;
+物的証拠 > butsutekishouko\ ;
+操業短縮 > sougyoutanshuku\ ;
+内股膏薬 > uchimatagouyaku\ ;
+色彩感覚 > shikisaikankaku\ ;
+超能力者 > chounouryokusha\ ;
+木食上人 > mokujikishounin\ ;
+連載小説 > rensaishousetsu\ ;
+焦熱地獄 > shounetsujigoku\ ;
+骨粗鬆症 > kotsusoshoushou\ ;
+流通証券 > ryuutsuushouken\ ;
+差引勘定 > sashihikikanjou\ ;
+開腹手術 > kaifukushujutsu\ ;
+即日出荷 > sokujitsushukka\ ;
+株式配当 > kabushikihaitou\ ;
+蛍光物質 > keikoubusshitsu\ ;
+聴覚神経 > choukakushinkei\ ;
+懲戒免職 > choukaimenshoku\ ;
+確定申告 > kakuteishinkoku\ ;
+職業軍人 > shokugyougunjin\ ;
+白河夜船 > shirakawayofune\ ;
+株式公開 > kabushikikoukai\ ;
+廃仏毀釈 > haibutsukishaku\ ;
+眼底出血 > ganteishukketsu\ ;
+信任投票 > shin''nintouhyou\ ;
+関連質問 > kanrenshitsumon\ ;
+建築業者 > kenchikugyousha\ ;
+哲学史要 > tetsugakushiyou\ ;
+知識産業 > chishikisangyou\ ;
+浚渫作業 > shunsetsusagyou\ ;
+卸売市場 > oroshiurishijou\ ;
+通信教育 > tsuushinkyouiku\ ;
+北斗七星 > hokutoshichisei\ ;
+正式発表 > seishikihappyou\ ;
+暴力革命 > bouryokukakumei\ ;
+共産中国 > kyousanchuugoku\ ;
+森林鉄道 > shinrintetsudou\ ;
+経済協力 > keizaikyouryoku\ ;
+物的損害 > butsutekisongai\ ;
+空中爆撃 > kuuchuubakugeki\ ;
+年中失言 > nenjuushitsugen\ ;
+正方行列 > seihougyouretsu\ ;
+老若男女 > rounyakunan''nyo\ ;
+修了証書 > shuuryoushousho\ ;
+下等植物 > katoushokubutsu\ ;
+顕花植物 > kenkashokubutsu\ ;
+地元警察 > jimotokeisatsu\ ;
+中国地方 > chuugokuchihou\ ;
+三校終了 > sankoushuuryou\ ;
+人工血液 > jinkouketsueki\ ;
+有性生殖 > yuuseiseishoku\ ;
+錬金術師 > renkinjutsushi\ ;
+対日感情 > tainichikanjou\ ;
+猥褻文書 > waisetsubunsho\ ;
+仮装行列 > kasougyouretsu\ ;
+正弦曲線 > seigenkyokusen\ ;
+没個性的 > botsukoseiteki\ ;
+独立運動 > dokuritsuundou\ ;
+脱脂粉乳 > dasshifun''nyuu\ ;
+原子力船 > genshiryokusen\ ;
+三球三振 > sankyuusanshin\ ;
+面白半分 > omoshirohanbun\ ;
+商船大学 > shousendaigaku\ ;
+天地万物 > tenchibanbutsu\ ;
+耐熱合金 > tainetsugoukin\ ;
+政略結婚 > seiryakukekkon\ ;
+特高警察 > tokkoukeisatsu\ ;
+商慣習法 > shoukanshuuhou\ ;
+昆虫採集 > konchuusaishuu\ ;
+中国拳法 > chuugokukenpou\ ;
+美術監督 > bijutsukantoku\ ;
+副大統領 > fukudaitouryou\ ;
+焦性硫酸 > shouseiryuusan\ ;
+周旋業者 > shuusengyousha\ ;
+南回帰線 > minamikaikisen\ ;
+胎生動物 > taiseidoubutsu\ ;
+全国中継 > zenkokuchuukei\ ;
+牛歩戦術 > gyuuhosenjutsu\ ;
+突撃隊員 > totsugekitaiin\ ;
+約百万円 > yakuhyakumanen\ ;
+人海戦術 > jinkaisenjutsu\ ;
+天文学的 > tenmongakuteki\ ;
+思案投首 > shian''nagekubi\ ;
+裏口営業 > uraguchieigyou\ ;
+伝奇小説 > denkishousetsu\ ;
+中立主義 > chuuritsushugi\ ;
+研究資料 > kenkyuushiryou\ ;
+古生物学 > koseibutsugaku\ ;
+更生施設 > kouseishisetsu\ ;
+片道切符 > katamichikippu\ ;
+接続助詞 > setsuzokujoshi\ ;
+英仏海峡 > eifutsukaikyou\ ;
+稔実不良 > nenjitsufuryou\ ;
+公衆浴場 > koushuuyokujou\ ;
+端末装置 > tanmatsusouchi\ ;
+駐車料金 > chuusharyoukin\ ;
+資本取引 > shihontorihiki\ ;
+株式相場 > kabushikisouba\ ;
+免疫反応 > men''ekihan''nou\ ;
+建設会社 > kensetsugaisha\ ;
+本末顛倒 > honmatsutentou\ ;
+初志貫徹 > shoshikantetsu\ ;
+産業革命 > sangyoukakumei\ ;
+定年退職 > teinentaishoku\ ;
+国際親善 > kokusaishinzen\ ;
+性格診断 > seikakushindan\ ;
+全身衰弱 > zenshinsuijaku\ ;
+問題解決 > mondaikaiketsu\ ;
+哺乳動物 > honyuudoubutsu\ ;
+資本注入 > shihonchuunyuu\ ;
+修業年限 > shuugyounengen\ ;
+緑綬褒章 > ryokujuhoushou\ ;
+研究題目 > kenkyuudaimoku\ ;
+病床日誌 > byoushounisshi\ ;
+算術計算 > sanjutsukeisan\ ;
+帰化植物 > kikashokubutsu\ ;
+金融恐慌 > kin''yuukyoukou\ ;
+特別措置 > tokubetsusochi\ ;
+弛張振動 > shichoushindou\ ;
+戦戦兢兢 > sensenkyoukyou\ ;
+観光施設 > kankoushisetsu\ ;
+善男善女 > zen''nanzen''nyo\ ;
+信用販売 > shin''youhanbai\ ;
+末梢神経 > masshoushinkei\ ;
+骨髄移植 > kotsuzuiishoku\ ;
+道徳教育 > doutokukyouiku\ ;
+金殿玉楼 > kindengyokurou\ ;
+点滴注射 > tentekichuusha\ ;
+工学修士 > kougakushuushi\ ;
+門外不出 > mongaifushutsu\ ;
+通信装置 > tsuushinsouchi\ ;
+作戦計画 > sakusenkeikaku\ ;
+場外取引 > jougaitorihiki\ ;
+信託銀行 > shintakuginkou\ ;
+境界調整 > kyoukaichousei\ ;
+主力艦隊 > shuryokukantai\ ;
+職場環境 > shokubakankyou\ ;
+割引価格 > waribikikakaku\ ;
+整形手術 > seikeishujutsu\ ;
+酸性食品 > sanseishokuhin\ ;
+原子力学 > genshirikigaku\ ;
+水中翼船 > suichuuyokusen\ ;
+発達段階 > hattatsudankai\ ;
+諸説紛紛 > shosetsufunpun\ ;
+乳酸飲料 > nyuusan''inryou\ ;
+個々別別 > kokobetsubetsu\ ;
+口不調法 > kuchibuchouhou\ ;
+超自然的 > choushizenteki\ ;
+国防長官 > kokubouchoukan\ ;
+正統信教 > seitoushinkyou\ ;
+強化合宿 > kyoukagasshuku\ ;
+朝鮮人参 > chousen''ninjin\ ;
+束縛変項 > sokubakuhenkou\ ;
+神経組織 > shinkeisoshiki\ ;
+超越関数 > chouetsukansuu\ ;
+効率向上 > kouritsukoujou\ ;
+大脳皮質 > dainouhishitsu\ ;
+生体力学 > seitairikigaku\ ;
+山下公園 > yamashitakouen\ ;
+口述試験 > koujutsushiken\ ;
+一日片時 > ichinichihenji\ ;
+社会生活 > shakaiseikatsu\ ;
+出版目録 > shupanmokuroku\ ;
+別途支出 > bettoshishutsu\ ;
+申告納税 > shinkokunouzei\ ;
+即決裁判 > sokketsusaiban\ ;
+独立自尊 > dokuritsujison\ ;
+婚約指輪 > kon''yakuyubiwa\ ;
+血液凝固 > ketsuekigyouko\ ;
+出処進退 > shusshoshintai\ ;
+弓矢八幡 > yumiyahachiman\ ;
+警察手帳 > keisatsutechou\ ;
+職業婦人 > shokugyoufujin\ ;
+至福千年 > shifukusen''nen\ ;
+天地開闢 > tenchikaibyaku\ ;
+冷凍食品 > reitoushokuhin\ ;
+補足説明 > hosokusetsumei\ ;
+信用状態 > shin''youjoutai\ ;
+絶対湿度 > zettaishitsudo\ ;
+明明白白 > meimeihakuhaku\ ;
+軍備縮小 > gunbishukushou\ ;
+暴力団員 > bouryokudan''in\ ;
+大学教育 > daigakukyouiku\ ;
+第三人称 > daisan''ninshou\ ;
+永世中立 > eiseichuuritsu\ ;
+研究領域 > kenkyuuryouiki\ ;
+教育勅語 > kyouikuchokugo\ ;
+精神障害 > seishinshougai\ ;
+天空海濶 > tenkuukaikatsu\ ;
+食餌療法 > shokujiryouhou\ ;
+作者不知 > sakushashirazu\ ;
+生活水準 > seikatsusuijun\ ;
+卵生動物 > ranseidoubutsu\ ;
+筋肉労働 > kin''nikuroudou\ ;
+南支那海 > minamishinakai\ ;
+学術用語 > gakujutsuyougo\ ;
+自然食品 > shizenshokuhin\ ;
+商業組合 > shougyoukumiai\ ;
+職権乱用 > shokkenran''you\ ;
+伴食大臣 > banshokudaijin\ ;
+岡目八目 > okamehachimoku\ ;
+斬新奇抜 > zanshinkibatsu\ ;
+直情径行 > chokujoukeikou\ ;
+私立学校 > shiritsugakkou\ ;
+中日辞典 > chuunichijiten\ ;
+分類目録 > bunruimokuroku\ ;
+内分泌腺 > naibunpitsusen\ ;
+活路開拓 > katsurokaitaku\ ;
+平板測量 > heibansokuryou\ ;
+源泉徴収 > gensenchoushuu\ ;
+通信衛星 > tsuushin''eisei\ ;
+清算取引 > seisantorihiki\ ;
+特殊学級 > tokushugakkyuu\ ;
+信用調査 > shin''youchousa\ ;
+先物売買 > sakimonobaibai\ ;
+七難八苦 > shichinanhakku\ ;
+角膜移植 > kakumakuishoku\ ;
+救急病院 > kyuukyuubyouin\ ;
+接触感染 > sesshokukansen\ ;
+税金申告 > zeikinshinkoku\ ;
+絨毯爆撃 > juutanbakugeki\ ;
+七転八起 > shichitenhakki\ ;
+水銀中毒 > suiginchuudoku\ ;
+露出不足 > roshutsubusoku\ ;
+平上去入 > hyoujoukyonyuu\ ;
+国立公園 > kokuritsukouen\ ;
+公立学校 > kouritsugakkou\ ;
+通信圏外 > tsuushinkengai\ ;
+約束手形 > yakusokutegata\ ;
+召集令状 > shoushuureijou\ ;
+新入社員 > shin''nyuushain\ ;
+日南海岸 > nichinankaigan\ ;
+汎整数式 > hanseisuushiki\ ;
+古物商人 > kobutsushounin\ ;
+武力干渉 > buryokukanshou\ ;
+公衆道徳 > koushuudoutoku\ ;
+怪奇小説 > kaikishousetsu\ ;
+秘密投票 > himitsutouhyou\ ;
+圧力容器 > atsuryokuyouki\ ;
+傍目八目 > okamehachimoku\ ;
+求婚広告 > kyuukonkoukoku\ ;
+心因反応 > shin''inhan''nou\ ;
+麦藁帽子 > mugiwaraboushi\ ;
+納税申告 > nouzeishinkoku\ ;
+反対称的 > hantaishouteki\ ;
+住友銀行 > sumitomoginkou\ ;
+出所進退 > shusshoshintai\ ;
+就業人口 > shuugyoujinkou\ ;
+全勝優勝 > zenshouyuushou\ ;
+建設大臣 > kensetsudaijin\ ;
+非良心的 > hiryoushinteki\ ;
+絶対必要 > zettaihitsuyou\ ;
+蛸足配線 > takoashihaisen\ ;
+工業大学 > kougyoudaigaku\ ;
+金壱万円 > kin''ichiman''en\ ;
+旅客列車 > ryokyakuressha\ ;
+立会演説 > tachiaienzetsu\ ;
+奨学資金 > shougakushikin\ ;
+現金収入 > genkinshuunyuu\ ;
+学術会議 > gakujutsukaigi\ ;
+法律問題 > houritsumondai\ ;
+直通電話 > chokutsuudenwa\ ;
+台所道具 > daidokorodougu\ ;
+電源供給 > dengenkyoukyuu\ ;
+停年退職 > teinentaishoku\ ;
+水陸両用 > suirikuryouyou\ ;
+通信手段 > tsuushinshudan\ ;
+下請会社 > shitaukegaisha\ ;
+第一人称 > daiichininshou\ ;
+学歴社会 > gakurekishakai\ ;
+演奏曲目 > ensoukyokumoku\ ;
+思想警察 > shisoukeisatsu\ ;
+公益質屋 > kouekishichiya\ ;
+偕老同穴 > kairoudouketsu\ ;
+健康食品 > kenkoushokuhin\ ;
+抽象名詞 > chuushoumeishi\ ;
+小乗仏教 > shoujoubukkyou\ ;
+合目的性 > goumokutekisei\ ;
+電力会社 > denryokugaisha\ ;
+海洋開発 > kaiyoukaihatsu\ ;
+細胞分裂 > saiboubunretsu\ ;
+急行料金 > kyuukouryoukin\ ;
+丁丁発止 > chouchouhasshi\ ;
+教職課程 > kyoushokukatei\ ;
+出版業者 > shuppangyousha\ ;
+就職運動 > shuushokuundou\ ;
+略奪行為 > ryakudatsukoui\ ;
+理非曲直 > rihikyokuchoku\ ;
+別冊付録 > bessatsufuroku\ ;
+三権分立 > sankenbunritsu\ ;
+共同研究 > kyoudoukenkyuu\ ;
+新刊紹介 > shinkanshoukai\ ;
+棟割長屋 > munewarinagaya\ ;
+修好条約 > shuukoujouyaku\ ;
+冠状動脈 > kanjoudoumyaku\ ;
+空空漠漠 > kuukuubakubaku\ ;
+悪性貧血 > akuseihinketsu\ ;
+休戦協定 > kyuusenkyoutei\ ;
+神経衰弱 > shinkeisuijaku\ ;
+回折格子 > kaisetsukoushi\ ;
+先決問題 > senketsumondai\ ;
+就業日数 > shuugyounissuu\ ;
+実験動物 > jikkendoubutsu\ ;
+忠君愛国 > chuukun''aikoku\ ;
+求人広告 > kyuujinkoukoku\ ;
+独立独歩 > dokuritsudoppo\ ;
+諸説紛々 > shosetsufunpun\ ;
+有害食品 > yuugaishokuhin\ ;
+麻薬中毒 > mayakuchuudoku\ ;
+金属工業 > kinzokukougyou\ ;
+卸売物価 > oroshiuribukka\ ;
+共同出資 > kyoudoushusshi\ ;
+狭軌鉄道 > kyoukitetsudou\ ;
+商業手形 > shougyoutegata\ ;
+郵便配達 > yuubinhaitatsu\ ;
+港湾当局 > kouwantoukyoku\ ;
+商業銀行 > shougyouginkou\ ;
+省略記号 > shouryakukigou\ ;
+中間報告 > chuukanhoukoku\ ;
+中心思想 > chuushinshisou\ ;
+五月人形 > gogatsuningyou\ ;
+伝承文学 > denshoubungaku\ ;
+軟体動物 > nantaidoubutsu\ ;
+強制収容 > kyouseishuuyou\ ;
+一陽来腹 > ichiyouraifuku\ ;
+漁業協定 > gyogyoukyoutei\ ;
+水生動物 > suiseidoubutsu\ ;
+楔形文字 > kusabigatamoji\ ;
+信用組合 > shin''youkumiai\ ;
+研究報告 > kenkyuuhoukoku\ ;
+水天彷彿 > suitenhoufutsu\ ;
+住宅産業 > juutakusangyou\ ;
+泡沫会社 > houmatsugaisha\ ;
+談論風発 > danronfuuhatsu\ ;
+先発投手 > senpatsutoushu\ ;
+推理小説 > suirishousetsu\ ;
+紳士協定 > shinshikyoutei\ ;
+大名屋敷 > daimyouyashiki\ ;
+特異体質 > tokuitaishitsu\ ;
+中間搾取 > chuukansakushu\ ;
+協調作業 > kyouchousagyou\ ;
+指圧療法 > shiatsuryouhou\ ;
+工業技術 > kougyougijutsu\ ;
+総合芸術 > sougougeijutsu\ ;
+中産階級 > chuusankaikyuu\ ;
+南十字星 > minamijuujisei\ ;
+心霊手術 > shinreitejutsu\ ;
+成長産業 > seichousangyou\ ;
+国際収支 > kokusaishuushi\ ;
+厚生施設 > kouseishisetsu\ ;
+上陸作戦 > jourikusakusen\ ;
+動力資源 > douryokushigen\ ;
+必要条件 > hitsuyoujouken\ ;
+中流意識 > chuuryuuishiki\ ;
+出漁区域 > shutsugyokuiki\ ;
+財形貯蓄 > zaikeichochiku\ ;
+職人気質 > shokuninkatagi\ ;
+単位行列 > tan''igyouretsu\ ;
+国連憲章 > kokurenkenshou\ ;
+水先案内 > mizusakian''nai\ ;
+収容設備 > shuuyousetsubi\ ;
+深海漁業 > shinkaigyogyou\ ;
+直往邁進 > chokuoumaishin\ ;
+天体力学 > tentairikigaku\ ;
+真空電球 > shinkuudenkyuu\ ;
+上層建築 > jousoukenchiku\ ;
+役職手当 > yakushokuteate\ ;
+高圧電流 > kouatsudenryuu\ ;
+交通道徳 > koutsuudoutoku\ ;
+水準測量 > suijunsokuryou\ ;
+弁証法的 > benshouhouteki\ ;
+松茸御飯 > matsutakegohan\ ;
+関税障壁 > kanzeishouheki\ ;
+統括部長 > toukatsubuchou\ ;
+損失補填 > sonshitsuhoten\ ;
+事事物物 > jijibutsubutsu\ ;
+戦々恐々 > sensenkyoukyou\ ;
+連続写真 > renzokushashin\ ;
+四百余州 > shihyakuyoshuu\ ;
+一陽来復 > ichiyouraifuku\ ;
+心筋梗塞 > shinkinkousoku\ ;
+宗教裁判 > shuukyousaiban\ ;
+写真石版 > shashinsekiban\ ;
+隠花植物 > inkashokubutsu\ ;
+微生物学 > biseibutsugaku\ ;
+戦略空軍 > senryakukuugun\ ;
+恭賀新年 > kyougashin''nen\ ;
+国際協定 > kokusaikyoutei\ ;
+色即是空 > shikisokuzekuu\ ;
+頭寒足熱 > zukansokunetsu\ ;
+区検察庁 > kukensatsuchou\ ;
+核防衛力 > kakuboueiryoku\ ;
+完全燃焼 > kanzen''nenshou\ ;
+重量感覚 > juuryoukankaku\ ;
+雌雄鑑別 > shiyuukanbetsu\ ;
+原生動物 > genseidoubutsu\ ;
+目的意識 > mokutekiishiki\ ;
+海生動物 > kaiseidoubutsu\ ;
+攻撃精神 > kougekiseishin\ ;
+作成技術 > sakuseigijutsu\ ;
+金銭信託 > kinsenshintaku\ ;
+吸収合併 > kyuushuugappei\ ;
+換骨奪胎 > kankotsudattai\ ;
+硬質陶器 > koushitsutouki\ ;
+寝台料金 > shindairyoukin\ ;
+購入注文 > kounyuuchuumon\ ;
+焦土戦術 > shoudosenjutsu\ ;
+有職故実 > yuusokukojitsu\ ;
+無償信託 > mushoushintaku\ ;
+消費生活 > shouhiseikatsu\ ;
+室内遊戯 > shitsunaiyuugi\ ;
+宗教団体 > shuukyoudantai\ ;
+進行状況 > shinkoujoukyou\ ;
+高等動物 > koutoudoubutsu\ ;
+一膳飯屋 > ichizenmeshiya\ ;
+時代小説 > jidaishousetsu\ ;
+曲線座標 > kyokusenzahyou\ ;
+当該人物 > tougaijinbutsu\ ;
+要求送信 > youkyuusoushin\ ;
+百人一首 > hyakunin''isshu\ ;
+集団検診 > shuudankenshin\ ;
+安寧秩序 > an''neichitsujo\ ;
+極楽鳥花 > gokurakuchouka\ ;
+中越紛争 > chuuetsufunsou\ ;
+一括購入 > ikkatsukounyuu\ ;
+民族自決 > minzokujiketsu\ ;
+正面攻撃 > shoumenkougeki\ ;
+教育産業 > kyouikusangyou\ ;
+空調設備 > kuuchousetsubi\ ;
+単独内閣 > tandokunaikaku\ ;
+教育実習 > kyouikujisshuu\ ;
+就業規則 > shuugyoukisoku\ ;
+教養番組 > kyouyoubangumi\ ;
+凍結資産 > touketsushisan\ ;
+集団農場 > shuudan''noujou\ ;
+周辺諸国 > shuuhenshokoku\ ;
+国籍条項 > kokusekijoukou\ ;
+現物給与 > genbutsukyuuyo\ ;
+豪雪地帯 > gousetsuchitai\ ;
+海千山千 > umisen''yamasen\ ;
+革新政党 > kakushinseitou\ ;
+少数民族 > shousuuminzoku\ ;
+労働協約 > roudoukyouyaku\ ;
+電撃作戦 > dengekisakusen\ ;
+七顛八起 > shichitenhakki\ ;
+脊髄神経 > sekizuishinkei\ ;
+美術大学 > bijutsudaigaku\ ;
+選択項目 > sentakukoumoku\ ;
+間接選挙 > kansetsusenkyo\ ;
+貝殻追放 > kaigaratsuihou\ ;
+群発地震 > gunpatsujishin\ ;
+緊褌一番 > kinkon''ichiban\ ;
+独身貴族 > dokushinkizoku\ ;
+科学知識 > kagakuchishiki\ ;
+石部金吉 > ishibekinkichi\ ;
+花鳥風月 > kachoufuugetsu\ ;
+提出期限 > teishutsukigen\ ;
+天長地久 > tenchouchikyuu\ ;
+百万長者 > hyakumanchouja\ ;
+対症療法 > taishouryouhou\ ;
+中枢神経 > chuusuushinkei\ ;
+商工業者 > shoukougyousha\ ;
+開票速報 > kaihyousokuhou\ ;
+性的衝動 > seitekishoudou\ ;
+特殊撮影 > tokushusatsuei\ ;
+輸出手形 > yushutsutegata\ ;
+史料館学 > shiryoukangaku\ ;
+空中楼閣 > kuuchuuroukaku\ ;
+少年文学 > shounenbungaku\ ;
+調整攻撃 > chouseikougeki\ ;
+精神年齢 > seishin''nenrei\ ;
+居中調停 > kyochuuchoutei\ ;
+税別価格 > zeibetsukakaku\ ;
+軍人生活 > gunjinseikatsu\ ;
+皇宮警察 > kouguukeisatsu\ ;
+粒々辛苦 > ryuuryuushinku\ ;
+東京大学 > toukyoudaigaku\ ;
+興味津津 > kyoumishinshin\ ;
+千客万来 > senkyakubanrai\ ;
+選抜試験 > senbatsushiken\ ;
+航路標識 > kourohyoushiki\ ;
+緊急発進 > kinkyuuhasshin\ ;
+空中写真 > kuuchuushashin\ ;
+営業活動 > eigyoukatsudou\ ;
+救援活動 > kyuuenkatsudou\ ;
+天然硝子 > ten''nenshoushi\ ;
+信託資金 > shintakushikin\ ;
+市民生活 > shiminseikatsu\ ;
+絶対権力 > zettaikenryoku\ ;
+周章狼狽 > shuushouroubai\ ;
+民族学者 > minzokugakusha\ ;
+膠着状態 > kouchakujoutai\ ;
+面接試験 > mensetsushiken\ ;
+政策協定 > seisakukyoutei\ ;
+販売戦略 > hanbaisenryaku\ ;
+公設市場 > kousetsuichiba\ ;
+人物経済 > jinbutsukeizai\ ;
+心的状態 > shintekijoutai\ ;
+丘陵地帯 > kyuuryouchitai\ ;
+生涯教育 > shougaikyouiku\ ;
+旧約全書 > kyuuyakuzensho\ ;
+大根役者 > daikon''yakusha\ ;
+万年新造 > man''nenshinzou\ ;
+座骨神経 > zakotsushinkei\ ;
+長老教会 > chouroukyoukai\ ;
+貯蓄債券 > chochikusaiken\ ;
+武力介入 > buryokukainyuu\ ;
+精密科学 > seimitsukagaku\ ;
+私鉄総連 > shitetsusouren\ ;
+伝送終了 > densoushuuryou\ ;
+薫蒸消毒 > kunjoushoudoku\ ;
+麦稈帽子 > mugiwaraboushi\ ;
+法律相談 > houritsusoudan\ ;
+地域開発 > chiikikaihatsu\ ;
+国内産業 > kokunaisangyou\ ;
+一打逆転 > ichidagyakuten\ ;
+水生生物 > suiseiseibutsu\ ;
+有線通信 > yuusentsuushin\ ;
+起承転結 > kishoutenketsu\ ;
+物質主義 > busshitsushugi\ ;
+信託会社 > shintakugaisha\ ;
+中間商人 > chuukanshounin\ ;
+静電容量 > seiden''youryou\ ;
+中流社会 > chuuryuushakai\ ;
+私立探偵 > shiritsutantei\ ;
+国民投票 > kokumintouhyou\ ;
+有罪判決 > yuuzaihanketsu\ ;
+強化食品 > kyoukashokuhin\ ;
+伸縮自在 > shinshukujizai\ ;
+陸軍大学 > rikugundaigaku\ ;
+通信速度 > tsuushinsokudo\ ;
+黒金剛石 > kurokongouseki\ ;
+中国人街 > chuugokujingai\ ;
+学芸大学 > gakugeidaigaku\ ;
+大河小説 > taigashousetsu\ ;
+鉄道会社 > tetsudougaisha\ ;
+音楽形式 > ongakukeishiki\ ;
+性格分析 > seikakubunseki\ ;
+現金書留 > genkinkakitome\ ;
+休戦条約 > kyuusenjouyaku\ ;
+二足動物 > nisokudoubutsu\ ;
+心理学的 > shinrigakuteki\ ;
+侃々諤諤 > kankangakugaku\ ;
+直線運動 > chokusen''undou\ ;
+悪徳新聞 > akutokushinbun\ ;
+未決拘留 > miketsukouryuu\ ;
+定量分析 > teiryoubunseki\ ;
+紙屑同然 > kamikuzudouzen\ ;
+温室栽培 > onshitsusaibai\ ;
+針小棒大 > shinshouboudai\ ;
+太刀二腰 > tachifutakoshi\ ;
+認識不足 > ninshikibusoku\ ;
+団体協約 > dantaikyouyaku\ ;
+戦々兢々 > sensenkyoukyou\ ;
+信頼回復 > shinraikaifuku\ ;
+修学旅行 > shuugakuryokou\ ;
+電源開発 > dengenkaihatsu\ ;
+模式標本 > moshikihyouhon\ ;
+追跡調査 > tsuisekichousa\ ;
+割引手形 > waribikitegata\ ;
+直流回路 > chokuryuukairo\ ;
+興行成績 > kougyouseiseki\ ;
+北洋漁業 > hokuyougyogyou\ ;
+国文学史 > kokubungakushi\ ;
+永久脱毛 > eikyuudatsumou\ ;
+排出基準 > haishutsukijun\ ;
+組職改革 > soshokukaikaku\ ;
+過失致死 > kashitsuchishi\ ;
+交通信号 > koutsuushingou\ ;
+動物実験 > doubutsujikken\ ;
+水上警察 > suijoukeisatsu\ ;
+労作教育 > rousakukyouiku\ ;
+核廃棄物 > kakuhaikibutsu\ ;
+鎮魂曲歌 > chinkonkyokuka\ ;
+非鉄金属 > hitetsukinzoku\ ;
+三百代言 > sanbyakudaigen\ ;
+中国伝来 > chuugokudenrai\ ;
+筋無力症 > kinmuryokushou\ ;
+流通資本 > ryuutsuushihon\ ;
+空即是色 > kuusokuzeshiki\ ;
+教育改革 > kyouikukaikaku\ ;
+切開手術 > sekkaishujutsu\ ;
+救護活動 > kyuugokatsudou\ ;
+宣伝活動 > sendenkatsudou\ ;
+財産目録 > zaisanmokuroku\ ;
+正常終了 > seijoushuuryou\ ;
+亡命生活 > boumeiseikatsu\ ;
+優越複合 > yuuetsufukugou\ ;
+純日本式 > jun''nihonshiki\ ;
+手形割引 > tegatawaribiki\ ;
+動物崇拝 > doubutsusuuhai\ ;
+共同住宅 > kyoudoujuutaku\ ;
+有袋動物 > yuutaidoubutsu\ ;
+袋小路文 > fukurokoujibun\ ;
+白砂青松 > hakushaseishou\ ;
+花嫁御寮 > hanayomegoryou\ ;
+新陳代謝 > shinchintaisha\ ;
+一六銀行 > ichirokuginkou\ ;
+就職斡旋 > shuushokuassen\ ;
+鞭毛虫症 > benmouchuushou\ ;
+絶体絶命 > zettaizetsumei\ ;
+精神分析 > seishinbunseki\ ;
+系列会社 > keiretsugaisha\ ;
+分子間力 > bunshikanryoku\ ;
+企業戦略 > kigyousenryaku\ ;
+国民所得 > kokuminshotoku\ ;
+輸出制限 > yushutsuseigen\ ;
+特定銘柄 > tokuteimeigara\ ;
+財務体質 > zaimutaishitsu\ ;
+警察学校 > keisatsugakkou\ ;
+不法侵入 > fuhoushin''nyuu\ ;
+生活設計 > seikatsusekkei\ ;
+軽薄短小 > keihakutanshou\ ;
+算術平均 > sanjutsuheikin\ ;
+即席料理 > sokusekiryouri\ ;
+物理療法 > butsuriryouhou\ ;
+青酸中毒 > seisanchuudoku\ ;
+宗教法人 > shuukyouhoujin\ ;
+写真植字 > shashinshokuji\ ;
+緊縮財政 > kinshukuzaisei\ ;
+単性生殖 > tanseiseishoku\ ;
+高等生物 > koutouseibutsu\ ;
+興味津々 > kyoumishinshin\ ;
+保証牛乳 > hoshougyuunyuu\ ;
+受胎調節 > jutaichousetsu\ ;
+透析療法 > tousekiryouhou\ ;
+感覚神経 > kankakushinkei\ ;
+専門知識 > senmonchishiki\ ;
+軍拡競争 > gunkakukyousou\ ;
+登場人物 > toujoujinbutsu\ ;
+非現実的 > higenjitsuteki\ ;
+逆性石鹸 > gyakuseisekken\ ;
+幽門狭窄 > yuumonkyousaku\ ;
+連邦当局 > renpoutoukyoku\ ;
+直射日光 > chokushanikkou\ ;
+先任将校 > sen''ninshoukou\ ;
+謹厳実直 > kingenjitchoku\ ;
+店頭取引 > tentoutorihiki\ ;
+発売禁止 > hatsubaikinshi\ ;
+品質管理 > hinshitsukanri\ ;
+編入試験 > hen''nyuushiken\ ;
+伝達関数 > dentatsukansuu\ ;
+尽忠報国 > jinchuuhoukoku\ ;
+労使協調 > roushikyouchou\ ;
+百色眼鏡 > hyakuiromegane\ ;
+中性子束 > chuuseishisoku\ ;
+緊急対策 > kinkyuutaisaku\ ;
+印刷技術 > insatsugijutsu\ ;
+心的表示 > shintekihyouji\ ;
+名所旧跡 > meishokyuuseki\ ;
+投資信託 > toushishintaku\ ;
+新韓国党 > shinkankokutou\ ;
+国際条約 > kokusaijouyaku\ ;
+七堂伽藍 > shichidougaran\ ;
+親族関係 > shinzokukankei\ ;
+傘形碍子 > kasagatagaishi\ ;
+悪漢小説 > akkanshousetsu\ ;
+公敵一号 > koutekiichigou\ ;
+水質汚濁 > suishitsuodaku\ ;
+精神療法 > seishinryouhou\ ;
+茫然自失 > bouzenjishitsu\ ;
+地質時代 > chishitsujidai\ ;
+立入禁止 > tachiirikinshi\ ;
+大同団結 > daidoudanketsu\ ;
+貯金通帳 > chokintsuuchou\ ;
+斎戒沐浴 > saikaimokuyoku\ ;
+新制大学 > shinseidaigaku\ ;
+共同責任 > kyoudousekinin\ ;
+新聞発表 > shinbunhappyou\ ;
+車内改札 > shanaikaisatsu\ ;
+昆虫学者 > konchuugakusha\ ;
+退職年金 > taishokunenkin\ ;
+分割統治 > bunkatsutouchi\ ;
+確率過程 > kakuritsukatei\ ;
+研究発表 > kenkyuuhappyou\ ;
+旧約聖書 > kyuuyakuseisho\ ;
+蒲鉾兵舎 > kamabokoheisha\ ;
+経費節約 > keihisetsuyaku\ ;
+筋萎縮症 > kin''ishukushou\ ;
+優生手術 > yuuseishujutsu\ ;
+公共料金 > koukyouryoukin\ ;
+強制中断 > kyouseichuudan\ ;
+万有引力 > ban''yuuinryoku\ ;
+立太子式 > rittaishishiki\ ;
+日内周期 > nichinaishuuki\ ;
+憲法解釈 > kenpoukaishaku\ ;
+美的生活 > bitekiseikatsu\ ;
+団体割引 > dantaiwaribiki\ ;
+国際交流 > kokusaikouryuu\ ;
+冠状静脈 > kanjoujoumyaku\ ;
+逆三角形 > gyakusankakkei\ ;
+市立学校 > shiritsugakkou\ ;
+複雑怪奇 > fukuzatsukaiki\ ;
+高層建築 > kousougenchiku\ ;
+真珠養殖 > shinjuyoushoku\ ;
+申告用紙 > shinkokuyoushi\ ;
+局地戦争 > kyokuchisensou\ ;
+重要人物 > juuyoujinbutsu\ ;
+活版印刷 > kappan''insatsu\ ;
+連日連夜 > renjitsuren''ya\ ;
+三者対立 > sanshatairitsu\ ;
+求妻広告 > kyuusaikoukoku\ ;
+狂言自殺 > kyougenjisatsu\ ;
+性染色体 > seisenshokutai\ ;
+凸版印刷 > toppan''insatsu\ ;
+刺身包丁 > sashimibouchou\ ;
+日米貿易 > nichibeiboueki\ ;
+軍事協力 > gunjikyouryoku\ ;
+極限状態 > kyokugenjoutai\ ;
+物理現象 > butsurigenshou\ ;
+人身攻撃 > jinshinkougeki\ ;
+記憶喪失 > kiokusoushitsu\ ;
+社会秩序 > shakaichitsujo\ ;
+侃侃諤諤 > kankangakugaku\ ;
+減価償却 > genkashoukyaku\ ;
+空中査察 > kuuchuusasatsu\ ;
+素人芝居 > shiroutoshibai\ ;
+一六勝負 > ichirokushoubu\ ;
+交響楽団 > koukyougakudan\ ;
+血液銀行 > ketsuekiginkou\ ;
+商品在高 > shouhinzaidaka\ ;
+物理学者 > butsurigakusha\ ;
+年百年中 > nenbyakunenjuu\ ;
+枝葉末節 > shiyoumassetsu\ ;
+軍隊生活 > guntaiseikatsu\ ;
+比較的小 > hikakutekishou\ ;
+潜在能力 > senzainouryoku\ ;
+工学博士 > kougakuhakushi\ ;
+有償契約 > yuushoukeiyaku\ ;
+新聞広告 > shinbunkoukoku\ ;
+上級曹長 > joukyuusouchou\ ;
+乱診乱療 > ranshinranryou\ ;
+集合住宅 > shuugoujuutaku\ ;
+御食事処 > oshokujidokoro\ ;
+養殖真珠 > youshokushinju\ ;
+内部告発 > naibukokuhatsu\ ;
+名目賃金 > meimokuchingin\ ;
+相対湿度 > soutaishitsudo\ ;
+本末転倒 > honmatsutentou\ ;
+学校生活 > gakkouseikatsu\ ;
+入国査証 > nyuukokusashou\ ;
+自律神経 > jiritsushinkei\ ;
+姉様人形 > anesamaningyou\ ;
+戦戦恐恐 > sensenkyoukyou\ ;
+衝撃関数 > shougekikansuu\ ;
+巧言令色 > kougenreishoku\ ;
+変温動物 > hen''ondoubutsu\ ;
+原始動物 > genshidoubutsu\ ;
+空間芸術 > kuukangeijutsu\ ;
+侃々諤々 > kankangakugaku\ ;
+開店休業 > kaitenkyuugyou\ ;
+娯楽施設 > gorakushisetsu\ ;
+半永久的 > han''eikyuuteki\ ;
+食糧事情 > shokuryoujijou\ ;
+可逆反応 > kagyakuhan''nou\ ;
+特別会員 > tokubetsukaiin\ ;
+死活問題 > shikatsumondai\ ;
+系統神学 > keitoushingaku\ ;
+軟骨魚類 > nankotsugyorui\ ;
+各人各様 > kakujinkakuyou\ ;
+通信事業 > tsuushinjigyou\ ;
+貿易障壁 > bouekishouheki\ ;
+単一通貨 > tan''itsutsuuka\ ;
+千両役者 > senryouyakusha\ ;
+到着時刻 > touchakujikoku\ ;
+概算要求 > gaisan''youkyuu\ ;
+国民年金 > kokumin''nenkin\ ;
+泥水稼業 > doromizukagyou\ ;
+在日米軍 > zainichibeigun\ ;
+越境入学 > ekkyounyuugaku\ ;
+数理哲学 > suuritetsugaku\ ;
+唯物史観 > yuibutsushikan\ ;
+商業学校 > shougyougakkou\ ;
+左大括弧 > hidaridaikakko\ ;
+民族精神 > minzokuseishin\ ;
+実力行為 > jitsuryokukoui\ ;
+海綿動物 > kaimendoubutsu\ ;
+米軍兵力 > beigunheiryoku\ ;
+就学年齢 > shuugakunenrei\ ;
+鉱物資源 > koubutsushigen\ ;
+軟式野球 > nanshikiyakyuu\ ;
+信託統治 > shintakutouchi\ ;
+経済活動 > keizaikatsudou\ ;
+兵式体操 > heishikitaisou\ ;
+生殖細胞 > seishokusaibou\ ;
+地形測量 > chikeisokuryou\ ;
+商業資本 > shougyoushihon\ ;
+数値目標 > suuchimokuhyou\ ;
+一得一失 > ittokuisshitsu\ ;
+通信販売 > tsuushinhanbai\ ;
+強制執行 > kyouseishikkou\ ;
+幻覚症状 > genkakushoujou\ ;
+北陸地方 > hokurikuchihou\ ;
+割引発行 > waribikihakkou\ ;
+広報活動 > kouhoukatsudou\ ;
+山高帽子 > yamatakaboushi\ ;
+染色工場 > senshokukoujou\ ;
+公式訪問 > koushikihoumon\ ;
+総合開発 > sougoukaihatsu\ ;
+連立政権 > renritsuseiken\ ;
+差別表現 > sabetsuhyougen\ ;
+権力闘争 > kenryokutousou\ ;
+製品戦略 > seihinsenryaku\ ;
+分水山脈 > bunsuisanmyaku\ ;
+誘電正接 > yuudenseisetsu\ ;
+知覚神経 > chikakushinkei\ ;
+逐条審議 > chikujoushingi\ ;
+千島列島 > chishimarettou\ ;
+輸出超過 > yushutsuchouka\ ;
+尊王討幕 > son''noutoubaku\ ;
+情報通信 > jouhoutsuushin\ ;
+超越交代 > chouetsukoutai\ ;
+生活空間 > seikatsukuukan\ ;
+前立腺炎 > zenritsusen''en\ ;
+行政改革 > gyouseikaikaku\ ;
+律令国家 > ritsuryoukokka\ ;
+心霊現象 > shinreigenshou\ ;
+生誕百年 > seitanhyakunen\ ;
+自動着信 > jidouchakushin\ ;
+第三勢力 > daisanseiryoku\ ;
+書留郵便 > kakitomeyuubin\ ;
+知識体系 > chishikitaikei\ ;
+集合記述 > shuugoukijutsu\ ;
+三百諸侯 > sanbyakushokou\ ;
+大衆文学 > taishuubungaku\ ;
+中等教育 > chuutoukyouiku\ ;
+教育行政 > kyouikugyousei\ ;
+武装中立 > busouchuuritsu\ ;
+平和協力 > heiwakyouryoku\ ;
+電鉄会社 > dentetsugaisha\ ;
+出席日数 > shussekinissuu\ ;
+県立病院 > kenritsubyouin\ ;
+粒粒辛苦 > ryuuryuushinku\ ;
+偏旁冠脚 > henboukankyaku\ ;
+販売促進 > hanbaisokushin\ ;
+信託投資 > shintakutoushi\ ;
+中小企業 > chuushoukigyou\ ;
+三行広告 > sangyoukoukoku\ ;
+血液循環 > ketsuekijunkan\ ;
+連結決算 > renketsukessan\ ;
+骨軟化症 > kotsunankashou\ ;
+政治哲学 > seijitetsugaku\ ;
+商業放送 > shougyouhousou\ ;
+国防総省 > kokubousoushou\ ;
+生活指導 > seikatsushidou\ ;
+炎熱地獄 > en''netsujigoku\ ;
+八面玲瓏 > hachimenreirou\ ;
+面会謝絶 > menkaishazetsu\ ;
+道路標識 > dourohyoushiki\ ;
+国営通信 > kokueitsuushin\ ;
+適材適所 > tekizaitekisho\ ;
+劇症肝炎 > gekishoukan''en\ ;
+物情騒然 > butsujousouzen\ ;
+公民生活 > kouminseikatsu\ ;
+入学試験 > nyuugakushiken\ ;
+絶対絶命 > zettaizetsumei\ ;
+事々物々 > jijibutsubutsu\ ;
+個個別別 > kokobetsubetsu\ ;
+合唱隊長 > gasshoutaichou\ ;
+乾燥牛乳 > kansougyuunyuu\ ;
+直系尊属 > chokkeisonzoku\ ;
+入学願書 > nyuugakugansho\ ;
+出発時間 > shuppatsujikan\ ;
+主要人物 > shuyoujinbutsu\ ;
+文学作品 > bungakusakuhin\ ;
+軽便鉄道 > keibentetsudou\ ;
+割引市場 > waribikishijou\ ;
+失踪宣告 > shissousenkoku\ ;
+化学結合 > kagakuketsugou\ ;
+保険料率 > hokenryouritsu\ ;
+信越本線 > shinetsuhonsen\ ;
+神経中枢 > shinkeichuusuu\ ;
+発光動物 > hakkoudoubutsu\ ;
+複式火山 > fukushikikazan\ ;
+堅忍不抜 > ken''ninfubatsu\ ;
+耐乏生活 > taibouseikatsu\ ;
+社会通念 > shakaitsuunen\ ;
+接客態度 > sekkyakutaido\ ;
+軽爆撃機 > keibakugekiki\ ;
+署名捺印 > shomeinatsuin\ ;
+胸部疾患 > kyoubushikkan\ ;
+象牙取引 > zougetorihiki\ ;
+日曜大工 > nichiyoudaiku\ ;
+目玉商品 > medamashouhin\ ;
+製薬会社 > seiyakugaisha\ ;
+投光照明 > toukoushoumei\ ;
+清廉潔白 > seirenkeppaku\ ;
+敵前逃亡 > tekizentoubou\ ;
+日刊新聞 > nikkanshinbun\ ;
+抱腹絶倒 > houfukuzettou\ ;
+悪虐無道 > akugyakumudou\ ;
+国家権力 > kokkakenryoku\ ;
+南洋諸島 > nan''youshotou\ ;
+囚人労働 > shuujinroudou\ ;
+劣等観念 > rettoukan''nen\ ;
+関係官庁 > kankeikanchou\ ;
+農民文学 > nouminbungaku\ ;
+自然現象 > shizengenshou\ ;
+腎臓結石 > jinzoukesseki\ ;
+施政方針 > shiseihoushin\ ;
+天竺浪人 > tenjikurounin\ ;
+霊魂不滅 > reikonfumetsu\ ;
+公共組合 > koukyoukumiai\ ;
+有線電信 > yuusendenshin\ ;
+血行障害 > kekkoushougai\ ;
+人的資源 > jintekishigen\ ;
+地方行政 > chihougyousei\ ;
+震天動地 > shintendouchi\ ;
+第三帝国 > daisanteikoku\ ;
+天文学者 > tenmongakusha\ ;
+深夜放送 > shin''yahousou\ ;
+音声形式 > onseikeishiki\ ;
+交通問題 > koutsuumondai\ ;
+公共投資 > koukyoutoushi\ ;
+劃時代的 > kakujidaiteki\ ;
+同族会社 > douzokugaisha\ ;
+心理描写 > shinribyousha\ ;
+技術水準 > gijutsusuijun\ ;
+理学博士 > rigakuhakushi\ ;
+局所麻酔 > kyokushomasui\ ;
+産別会議 > sanbetsukaigi\ ;
+就学児童 > shuugakujidou\ ;
+空中給油 > kuuchuukyuuyu\ ;
+国際規格 > kokusaikikaku\ ;
+学校新聞 > gakkoushinbun\ ;
+情報産業 > jouhousangyou\ ;
+登録番号 > tourokubangou\ ;
+土木工学 > dobokukougaku\ ;
+生体反応 > seitaihan''nou\ ;
+象徴主義 > shouchoushugi\ ;
+音楽教育 > ongakukyouiku\ ;
+観測地点 > kansokuchiten\ ;
+技術同士 > gijutsudoushi\ ;
+応急攻撃 > oukyuukougeki\ ;
+同仁教会 > doujinkyoukai\ ;
+実働時間 > jitsudoujikan\ ;
+青空駐車 > aozorachuusha\ ;
+電力輸送 > denryokuyusou\ ;
+軍隊教育 > guntaikyouiku\ ;
+遠洋漁業 > en''yougyogyou\ ;
+保障占領 > hoshousenryou\ ;
+交換法則 > koukanhousoku\ ;
+牽引療法 > ken''inryouhou\ ;
+駅伝競走 > ekidenkyousou\ ;
+切歯扼腕 > sesshiyakuwan\ ;
+団体交渉 > dantaikoushou\ ;
+亭主関白 > teishukanpaku\ ;
+一段動詞 > ichidandoushi\ ;
+一般幕僚 > ippanbakuryou\ ;
+寝台列車 > shindairessha\ ;
+投擲競技 > toutekikyougi\ ;
+気象通報 > kishoutsuuhou\ ;
+開析台地 > kaisekidaichi\ ;
+実用主義 > jitsuyoushugi\ ;
+工場実習 > koujoujisshuu\ ;
+中継貿易 > chuukeiboueki\ ;
+性能特性 > seinoutokusei\ ;
+最後通牒 > saigotsuuchou\ ;
+国際結婚 > kokusaikekkon\ ;
+造本技術 > zouhongijutsu\ ;
+妨害工作 > bougaikousaku\ ;
+民族意識 > minzokuishiki\ ;
+贅沢三昧 > zeitakuzanmai\ ;
+写真製版 > shashinseihan\ ;
+学校教育 > gakkoukyouiku\ ;
+霧中信号 > muchuushingou\ ;
+精神状態 > seishinjoutai\ ;
+商科大学 > shoukadaigaku\ ;
+写真結婚 > shashinkekkon\ ;
+共同戦線 > kyoudousensen\ ;
+火山活動 > kazankatsudou\ ;
+麦稈細工 > mugiwarazaiku\ ;
+勤労所得 > kinroushotoku\ ;
+首相官邸 > shushoukantei\ ;
+読書三昧 > dokushozanmai\ ;
+中等教員 > chuutoukyouin\ ;
+一次電流 > ichijidenryuu\ ;
+台中関係 > taichuukankei\ ;
+秘密結社 > himitsukessha\ ;
+東方拡大 > touhoukakudai\ ;
+近隣諸国 > kinrinshokoku\ ;
+労働階級 > roudoukaikyuu\ ;
+貞操観念 > teisoukan''nen\ ;
+民間伝承 > minkandenshou\ ;
+膀胱結石 > boukoukesseki\ ;
+転居通知 > tenkyotsuuchi\ ;
+純正数学 > junseisuugaku\ ;
+男爵夫人 > danshakufujin\ ;
+塩蔵食品 > enzoushokuhin\ ;
+一致団結 > itchidanketsu\ ;
+警察国家 > keisatsukokka\ ;
+経済白書 > keizaihakusho\ ;
+穀倉地帯 > kokusouchitai\ ;
+環境事業 > kankyoujigyou\ ;
+総合商社 > sougoushousha\ ;
+少年労働 > shounenroudou\ ;
+一挙両得 > ikkyoryoutoku\ ;
+測定装置 > sokuteisouchi\ ;
+前衛美術 > zen''eibijutsu\ ;
+皆既月食 > kaikigesshoku\ ;
+公団住宅 > koudanjuutaku\ ;
+設備投資 > setsubitoushi\ ;
+日常茶飯 > nichijousahan\ ;
+群集心理 > gunshuushinri\ ;
+百戦練磨 > hyakusenrenma\ ;
+即興詩人 > sokkyoushijin\ ;
+善隣政策 > zenrinseisaku\ ;
+前受収益 > maeukeshuueki\ ;
+国民皆兵 > kokuminkaihei\ ;
+骨相学者 > kossougakusha\ ;
+戸別訪問 > kobetsuhoumon\ ;
+爆弾声明 > bakudanseimei\ ;
+道楽息子 > dourakumusuko\ ;
+癒傷組織 > yushousoshiki\ ;
+男子学生 > danshigakusei\ ;
+貫通銃創 > kantsuujuusou\ ;
+新郎新婦 > shinroushinpu\ ;
+空挺作戦 > kuuteisakusen\ ;
+配管工業 > haikankougyou\ ;
+宇宙通信 > uchuutsuushin\ ;
+等比数列 > touhisuuretsu\ ;
+床上浸水 > yukaueshinsui\ ;
+自然環境 > shizenkankyou\ ;
+日中戦争 > nitchuusensou\ ;
+標題音楽 > hyoudaiongaku\ ;
+劣等複合 > rettoufukugou\ ;
+眼球銀行 > gankyuuginkou\ ;
+市場分析 > shijoubunseki\ ;
+中間試験 > chuukanshiken\ ;
+証券会社 > shoukengaisha\ ;
+漏話結合 > rouwagetsugou\ ;
+国際紛争 > kokusaifunsou\ ;
+集団行動 > shuudankoudou\ ;
+車両縦隊 > sharyoujuutai\ ;
+交代操業 > koutaisougyou\ ;
+作者未詳 > sakushamishou\ ;
+西本願寺 > nishihonganji\ ;
+永代借地 > eitaishakuchi\ ;
+子宮筋腫 > shikyuukinshu\ ;
+切手蒐集 > kitteshuushuu\ ;
+官費留学 > kanpiryuugaku\ ;
+編集主幹 > henshuushukan\ ;
+生産技術 > seisangijutsu\ ;
+水平応力 > suiheiouryoku\ ;
+先端技術 > sentangijutsu\ ;
+神宮球場 > jinguukyuujou\ ;
+音楽大学 > ongakudaigaku\ ;
+侵略行為 > shinryakukoui\ ;
+入射光線 > nyuushakousen\ ;
+三角函数 > sankakukansuu\ ;
+立体写真 > rittaishashin\ ;
+国際関係 > kokusaikankei\ ;
+浄土真宗 > joudoshinshuu\ ;
+三国同盟 > sangokudoumei\ ;
+驚天動地 > kyoutendouchi\ ;
+空中滑走 > kuuchuukassou\ ;
+国際問題 > kokusaimondai\ ;
+社外発信 > shagaihasshin\ ;
+跳梁跋扈 > chouryoubakko\ ;
+集中砲火 > shuuchuuhouka\ ;
+人間工学 > ningenkougaku\ ;
+身元確認 > mimotokakunin\ ;
+差別待遇 > sabetsutaiguu\ ;
+千鳥格子 > chidorigoushi\ ;
+仏像二体 > butsuzounitai\ ;
+全景写真 > zenkeishashin\ ;
+公共団体 > koukyoudantai\ ;
+堆積輪廻 > taisekirin''ne\ ;
+一般生活 > ippanseikatsu\ ;
+横河電機 > yokogawadenki\ ;
+中継放送 > chuukeihousou\ ;
+禁止条約 > kinshijouyaku\ ;
+全国放送 > zenkokuhousou\ ;
+党利党略 > touritouryaku\ ;
+外交交渉 > gaikoukoushou\ ;
+学士院賞 > gakushiinshou\ ;
+行動計画 > koudoukeikaku\ ;
+共有財産 > kyouyuuzaisan\ ;
+逸失利益 > isshitsurieki\ ;
+農地改革 > nouchikaikaku\ ;
+交通渋滞 > koutsuujuutai\ ;
+神経細胞 > shinkeisaibou\ ;
+業界団体 > gyoukaidantai\ ;
+勧善懲悪 > kanzenchouaku\ ;
+共産陣営 > kyousanjin''ei\ ;
+欠席裁判 > kessekisaiban\ ;
+半革装丁 > hankawasoutei\ ;
+競争市場 > kyousoushijou\ ;
+知的財産 > chitekizaisan\ ;
+南北問題 > nanbokumondai\ ;
+突然変異 > totsuzenhen''i\ ;
+適応障害 > tekioushougai\ ;
+混載貨物 > konsaikamotsu\ ;
+耐障害性 > taishougaisei\ ;
+近親相姦 > kinshinsoukan\ ;
+大道商人 > daidoushounin\ ;
+不信任案 > fushin''nin''an\ ;
+宮廷音楽 > kyuuteiongaku\ ;
+緩衝地帯 > kanshouchitai\ ;
+血清注射 > kesseichuusha\ ;
+加糖粉乳 > katoufun''nyuu\ ;
+信販会社 > shinpangaisha\ ;
+十一献金 > juuichikenkin\ ;
+福祉事業 > fukushijigyou\ ;
+暖衣飽食 > dan''ihoushoku\ ;
+準決勝戦 > junkesshousen\ ;
+野生動物 > yaseidoubutsu\ ;
+社会現象 > shakaigenshou\ ;
+北欧諸国 > hokuoushokoku\ ;
+自然休会 > shizenkyuukai\ ;
+良二千石 > ryounisenseki\ ;
+文学青年 > bungakuseinen\ ;
+修道誓願 > shuudouseigan\ ;
+食糧援助 > shokuryouenjo\ ;
+衆議一決 > shuugiikketsu\ ;
+酸素吸入 > sansokyuunyuu\ ;
+生臭坊主 > namagusabouzu\ ;
+軍事施設 > gunjishisetsu\ ;
+郵便振替 > yuubinfurikae\ ;
+方針決定 > houshinkettei\ ;
+就業時間 > shuugyoujikan\ ;
+人口抑制 > jinkouyokusei\ ;
+軍人恩給 > gunjin''onkyuu\ ;
+人工流産 > jinkouryuuzan\ ;
+真剣勝負 > shinkenshoubu\ ;
+隠退生活 > intaiseikatsu\ ;
+役員報酬 > yakuinhoushuu\ ;
+割引時間 > waribikijikan\ ;
+白葡萄酒 > shirobudoushu\ ;
+制服制帽 > seifukuseibou\ ;
+古色蒼然 > koshokusouzen\ ;
+留置郵便 > tomeokiyuubin\ ;
+計画倒産 > keikakutousan\ ;
+皆既日食 > kaikinisshoku\ ;
+連戦連勝 > rensenrenshou\ ;
+享楽主義 > kyourakushugi\ ;
+広告媒体 > koukokubaitai\ ;
+国民審査 > kokuminshinsa\ ;
+混声合唱 > konseigasshou\ ;
+神道信者 > shintoushinja\ ;
+実況放送 > jikkyouhousou\ ;
+分光分析 > bunkoubunseki\ ;
+産業組合 > sangyoukumiai\ ;
+取捨選択 > shushasentaku\ ;
+地震学者 > jishingakusha\ ;
+大阪大学 > oosakadaigaku\ ;
+研究方法 > kenkyuuhouhou\ ;
+断郊競走 > dankoukyousou\ ;
+比較文学 > hikakubungaku\ ;
+士農工商 > shinoukoushou\ ;
+乾坤一擲 > kenkon''itteki\ ;
+停止信号 > teishishingou\ ;
+建築現場 > kenchikugenba\ ;
+国連大使 > kokurentaishi\ ;
+眉目秀麗 > bimokushuurei\ ;
+情緒障害 > joushoshougai\ ;
+謹賀新年 > kingashin''nen\ ;
+練習問題 > renshuumondai\ ;
+人畜無害 > jinchikumugai\ ;
+上流社会 > jouryuushakai\ ;
+陸海空軍 > rikukaikuugun\ ;
+真相調査 > shinsouchousa\ ;
+表敬訪問 > hyoukeihoumon\ ;
+普通教育 > futsuukyouiku\ ;
+公民教育 > kouminkyouiku\ ;
+水害対策 > suigaitaisaku\ ;
+将来展望 > shouraitenbou\ ;
+尋問調書 > jinmonchousho\ ;
+着弾距離 > chakudankyori\ ;
+天真爛漫 > tenshinranman\ ;
+反射神経 > hanshashinkei\ ;
+青色申告 > aoiroshinkoku\ ;
+造形美術 > zoukeibijutsu\ ;
+史的現在 > shitekigenzai\ ;
+内部生活 > naibuseikatsu\ ;
+構造記述 > kouzoukijutsu\ ;
+共存共栄 > kyouzonkyouei\ ;
+帯状疱疹 > taijouhoushin\ ;
+現実主義 > genjitsushugi\ ;
+年々歳々 > nen''nensaisai\ ;
+研究論文 > kenkyuuronbun\ ;
+最終編成 > saishuuhensei\ ;
+専修学校 > senshuugakkou\ ;
+右中括弧 > migichuukakko\ ;
+修道院長 > shuudouinchou\ ;
+家督相続 > katokusouzoku\ ;
+宿命論者 > shukumeironja\ ;
+温度調節 > ondochousetsu\ ;
+言語能力 > gengonouryoku\ ;
+利潤追求 > rijuntsuikyuu\ ;
+統率理論 > tousotsuriron\ ;
+良風美俗 > ryoufuubizoku\ ;
+国民学校 > kokumingakkou\ ;
+単為生殖 > tan''iseishoku\ ;
+二十日鼠 > hatsukanezumi\ ;
+貿易収支 > bouekishuushi\ ;
+人工心臓 > jinkoushinzou\ ;
+天津日嗣 > amatsuhitsugi\ ;
+群雄割拠 > gun''yuukakkyo\ ;
+先天梅毒 > sentenbaidoku\ ;
+人工心肺 > jinkoushinbai\ ;
+呼吸中枢 > kokyuuchuusuu\ ;
+駐留部隊 > chuuryuubutai\ ;
+殺生禁断 > sesshoukindan\ ;
+無銭遊興 > musen''yuukyou\ ;
+主席全権 > shusekizenken\ ;
+甲乙丙丁 > kouotsuheitei\ ;
+補欠選挙 > hoketsusenkyo\ ;
+微量分析 > biryoubunseki\ ;
+地域代表 > chiikidaihyou\ ;
+画一主義 > kakuitsushugi\ ;
+京都大学 > kyoutodaigaku\ ;
+生体工学 > seitaikougaku\ ;
+泡沫候補 > houmatsukouho\ ;
+相続財産 > souzokuzaisan\ ;
+対戦成績 > taisenseiseki\ ;
+国際空港 > kokusaikuukou\ ;
+国連総会 > kokurensoukai\ ;
+専門教育 > senmonkyouiku\ ;
+営業報告 > eigyouhoukoku\ ;
+血液検査 > ketsuekikensa\ ;
+革新主義 > kakushinshugi\ ;
+露出時間 > roshutsujikan\ ;
+投票用紙 > touhyouyoushi\ ;
+薬用石鹸 > yakuyousekken\ ;
+単独行動 > tandokukoudou\ ;
+夫婦生活 > fuufuseikatsu\ ;
+肉体関係 > nikutaikankei\ ;
+軍事警察 > gunjikeisatsu\ ;
+新婚旅行 > shinkonryokou\ ;
+陽性反応 > youseihan''nou\ ;
+軸差応力 > jikusaouryoku\ ;
+人類学者 > jinruigakusha\ ;
+武士気質 > bushikishitsu\ ;
+第一人者 > daiichininsha\ ;
+家庭生活 > kateiseikatsu\ ;
+危険人物 > kikenjinbutsu\ ;
+大学教授 > daigakukyouju\ ;
+前進運動 > zenshin''undou\ ;
+活動成果 > katsudouseika\ ;
+総合収支 > sougoushuushi\ ;
+各駅停車 > kakuekiteisha\ ;
+触媒作用 > shokubaisayou\ ;
+科学技術 > kagakugijutsu\ ;
+印刷用紙 > insatsuyoushi\ ;
+人的証拠 > jintekishouko\ ;
+抗議活動 > kougikatsudou\ ;
+先取得点 > senshutokuten\ ;
+複合企業 > fukugoukigyou\ ;
+無差別級 > musabetsukyuu\ ;
+多国籍軍 > takokusekigun\ ;
+競争価格 > kyousoukakaku\ ;
+社会人枠 > shakaijinwaku\ ;
+商業地区 > shougyouchiku\ ;
+表層構造 > hyousoukouzou\ ;
+精神衛生 > seishin''eisei\ ;
+航空写真 > koukuushashin\ ;
+上昇気流 > joushoukiryuu\ ;
+北大西洋 > kitataiseiyou\ ;
+行政指導 > gyouseishidou\ ;
+定置漁業 > teichigyogyou\ ;
+最高級品 > saikoukyuuhin\ ;
+出頭命令 > shuttoumeirei\ ;
+出血過多 > shukketsukata\ ;
+電子出版 > denshishuppan\ ;
+色素細胞 > shikisosaibou\ ;
+花嫁衣裳 > hanayomeishou\ ;
+小口現金 > koguchigenkin\ ;
+博学多才 > hakugakutasai\ ;
+外様大名 > tozamadaimyou\ ;
+国民主権 > kokuminshuken\ ;
+公金横領 > koukin''ouryou\ ;
+近郊農業 > kinkounougyou\ ;
+全国大会 > zenkokutaikai\ ;
+吟遊詩人 > gin''yuushijin\ ;
+冷水摩擦 > reisuimasatsu\ ;
+曲学阿世 > kyokugakuasei\ ;
+価格競争 > kakakukyousou\ ;
+禁断症状 > kindanshoujou\ ;
+竜攘虎搏 > ryuujoukohaku\ ;
+正味重量 > shoumijuuryou\ ;
+公証役場 > koushouyakuba\ ;
+清涼飲料 > seiryouinryou\ ;
+毛管現象 > moukangenshou\ ;
+作戦地域 > sakusenchiiki\ ;
+出張旅費 > shutchouryohi\ ;
+放送番組 > housoubangumi\ ;
+永久磁石 > eikyuujishaku\ ;
+売掛勘定 > urikakekanjou\ ;
+間宮海峡 > mamiyakaikyou\ ;
+獄中日記 > gokuchuunikki\ ;
+沈思黙考 > chinshimokkou\ ;
+超国家的 > choukokkateki\ ;
+防火建築 > boukakenchiku\ ;
+金融市場 > kin''yuushijou\ ;
+集団心理 > shuudanshinri\ ;
+入社試験 > nyuushashiken\ ;
+選択値群 > sentakuchigun\ ;
+確率誤差 > kakuritsugosa\ ;
+第四階級 > daiyonkaikyuu\ ;
+逍遥学派 > shouyougakuha\ ;
+黒点周期 > kokutenshuuki\ ;
+美術学校 > bijutsugakkou\ ;
+半死半生 > hanshihanshou\ ;
+快速電車 > kaisokudensha\ ;
+南北戦争 > nanbokusensou\ ;
+小児喘息 > shounizensoku\ ;
+内政干渉 > naiseikanshou\ ;
+公平政策 > kouheiseisaku\ ;
+工業規格 > kougyoukikaku\ ;
+四角四面 > shikakushimen\ ;
+少年少女 > shounenshoujo\ ;
+再販業者 > saihangyousha\ ;
+超高速度 > choukousokudo\ ;
+調査報告 > chousahoukoku\ ;
+海難審判 > kainanshinpan\ ;
+理学修士 > rigakushuushi\ ;
+外的根拠 > gaitekikonkyo\ ;
+生命工学 > seimeikougaku\ ;
+天佑神助 > ten''yuushinjo\ ;
+外国旅行 > gaikokuryokou\ ;
+共同水栓 > kyoudousuisen\ ;
+拡大均衡 > kakudaikinkou\ ;
+凱旋将軍 > gaisenshougun\ ;
+集積回路 > shuusekikairo\ ;
+裾野産業 > susonosangyou\ ;
+鎮魂帰神 > chinkonkishin\ ;
+合格者名 > goukakushamei\ ;
+有資格者 > yuushikakusha\ ;
+化学反応 > kagakuhan''nou\ ;
+需要供給 > juyoukyoukyuu\ ;
+召喚令状 > shoukanreijou\ ;
+試験勉強 > shikenbenkyou\ ;
+温室効果 > onshitsukouka\ ;
+有鉤条虫 > yuukoujouchuu\ ;
+内的根拠 > naitekikonkyo\ ;
+近海漁業 > kinkaigyogyou\ ;
+決戦投票 > kessentouhyou\ ;
+共同社会 > kyoudoushakai\ ;
+唐草模様 > karakusamoyou\ ;
+包皮切断 > houhisetsudan\ ;
+定期取引 > teikitorihiki\ ;
+乾燥洗濯 > kansousentaku\ ;
+集合名詞 > shuugoumeishi\ ;
+小型新聞 > kogatashinbun\ ;
+医療施設 > iryoushisetsu\ ;
+動物油脂 > doubutsuyushi\ ;
+反面教師 > hanmenkyoushi\ ;
+日常会話 > nichijoukaiwa\ ;
+輸入業者 > yunyuugyousha\ ;
+標準価格 > hyoujunkakaku\ ;
+不妊手術 > funinshujutsu\ ;
+山猫争議 > yamanekosougi\ ;
+出世間的 > shussekenteki\ ;
+年中行事 > nenchuugyouji\ ;
+鎌倉時代 > kamakurajidai\ ;
+炎症病巣 > enshoubyousou\ ;
+注意人物 > chuuijinbutsu\ ;
+日洪親善 > nikkoushinzen\ ;
+追加注文 > tsuikachuumon\ ;
+筆写略字 > hissharyakuji\ ;
+献血運動 > kenketsuundou\ ;
+舞台芸術 > butaigeijutsu\ ;
+試験監督 > shikenkantoku\ ;
+撤頭徹尾 > tettoutetsubi\ ;
+疾風迅雷 > shippuujinrai\ ;
+市場環境 > shijoukankyou\ ;
+原成岩石 > genseiganseki\ ;
+前大統領 > zendaitouryou\ ;
+強制送還 > kyouseisoukan\ ;
+同業組合 > dougyoukumiai\ ;
+電気剃刀 > denkikamisori\ ;
+事務局長 > jimukyokuchou\ ;
+経済改革 > keizaikaikaku\ ;
+民俗芸能 > minzokugeinou\ ;
+収穫予想 > shuukakuyosou\ ;
+塩辛蜻蛉 > shiokaratonbo\ ;
+紆余曲折 > uyokyokusetsu\ ;
+極超短波 > gokuchoutanpa\ ;
+主権侵犯 > shukenshinpan\ ;
+中性洗剤 > chuuseisenzai\ ;
+貨物列車 > kamotsuressha\ ;
+血清療法 > kesseiryouhou\ ;
+新案特許 > shin''antokkyo\ ;
+死後硬直 > shigokouchoku\ ;
+唯物主義 > yuibutsushugi\ ;
+日露戦争 > nichirosensou\ ;
+断郊競争 > dankoukyousou\ ;
+同盟条約 > doumeijouyaku\ ;
+一攫千金 > ikkakkusenkin\ ;
+階級闘争 > kaikyuutousou\ ;
+熱硬化剤 > netsukoukazai\ ;
+専用回線 > sen''youkaisen\ ;
+交換学生 > koukangakusei\ ;
+動線計画 > dousenkeikaku\ ;
+民政長官 > minseichoukan\ ;
+判断中止 > handanchuushi\ ;
+局所分岐 > kyokushobunki\ ;
+通常国会 > tsuujoukokkai\ ;
+数値解析 > suuchikaiseki\ ;
+軍備拡張 > gunbikakuchou\ ;
+適者生存 > tekishaseizon\ ;
+精神鑑定 > seishinkantei\ ;
+鉄道輸送 > tetsudouyusou\ ;
+第三階級 > daisankaikyuu\ ;
+千態万様 > sentaiban''you\ ;
+電子工学 > denshikougaku\ ;
+経済状況 > keizaijoukyou\ ;
+社会教育 > shakaikyouiku\ ;
+農耕民族 > noukouminzoku\ ;
+全身全霊 > zenshinzenrei\ ;
+公称資本 > koushoushihon\ ;
+大字片山 > ooazakatayama\ ;
+薬師如来 > yakushinyorai\ ;
+百戦錬磨 > hyakusenrenma\ ;
+同盟休校 > doumeikyuukou\ ;
+中央計画 > chuuoukeikaku\ ;
+中央集権 > chuuoushuuken\ ;
+三角貿易 > sankakuboueki\ ;
+分析化学 > bunsekikagaku\ ;
+少壮士官 > shousoushikan\ ;
+法的根拠 > houtekikonkyo\ ;
+殺害事件 > satsugaijiken\ ;
+自然増収 > shizenzoushuu\ ;
+良性腫瘍 > ryouseishuyou\ ;
+通勤電車 > tsuukindensha\ ;
+少年犯罪 > shounenhanzai\ ;
+水酸化物 > suisankabutsu\ ;
+親戚知己 > shinsekichiki\ ;
+単独決算 > tandokukessan\ ;
+国際情勢 > kokusaijousei\ ;
+街頭演説 > gaitouenzetsu\ ;
+欣喜雀躍 > kinkijakuyaku\ ;
+品種改良 > hinshukairyou\ ;
+公称馬力 > koushoubariki\ ;
+四六時中 > shirokujichuu\ ;
+交通遮断 > koutsuushadan\ ;
+大学紛争 > daigakufunsou\ ;
+財政収支 > zaiseishuushi\ ;
+衆参両院 > shuusanryouin\ ;
+耐火建築 > taikakenchiku\ ;
+視力検査 > shiryokukensa\ ;
+小刀細工 > kogatanazaiku\ ;
+質疑応答 > shitsugioutou\ ;
+捜査当局 > sousatoukyoku\ ;
+照葉狂言 > terihakyougen\ ;
+出征軍人 > shusseigunjin\ ;
+放射能雲 > houshanougumo\ ;
+社会政策 > shakaiseisaku\ ;
+電極電位 > denkyokuden''i\ ;
+人工透析 > jinkoutouseki\ ;
+複合媒体 > fukugoubaitai\ ;
+住民投票 > juumintouhyou\ ;
+工業地帯 > kougyouchitai\ ;
+呼吸困難 > kokyuukon''nan\ ;
+養護施設 > yougoshisetsu\ ;
+輸出規制 > yushutsukisei\ ;
+戦力組成 > senryokusosei\ ;
+決選投票 > kessentouhyou\ ;
+統一見解 > touitsukenkai\ ;
+催眠療法 > saiminryouhou\ ;
+工業製品 > kougyouseihin\ ;
+役人根性 > yakuninkonjou\ ;
+独房監禁 > dokuboukankin\ ;
+導通抵抗 > doutsuuteikou\ ;
+協調主義 > kyouchoushugi\ ;
+会計報告 > kaikeihoukoku\ ;
+台湾海峡 > taiwankaikyou\ ;
+日清戦争 > nisshinsensou\ ;
+宣言発表 > sengenhappyou\ ;
+天体写真 > tentaishashin\ ;
+重量噸数 > juuryoutonsuu\ ;
+明鏡止水 > meikyoushisui\ ;
+年間計画 > nenkankeikaku\ ;
+口述筆記 > koujutsuhikki\ ;
+国際通貨 > kokusaitsuuka\ ;
+健康診断 > kenkoushindan\ ;
+桃山時代 > momoyamajidai\ ;
+職場結婚 > shokubakekkon\ ;
+環境問題 > kankyoumondai\ ;
+証人喚問 > shouninkanmon\ ;
+攻撃方向 > kougekihoukou\ ;
+競争売買 > kyousoubaibai\ ;
+著作権法 > chosakukenhou\ ;
+国際社会 > kokusaishakai\ ;
+新制高校 > shinseikoukou\ ;
+寄生虫症 > kiseichuushou\ ;
+中折帽子 > nakaoreboushi\ ;
+公開練習 > koukairenshuu\ ;
+経済政策 > keizaiseisaku\ ;
+合成写真 > gouseishashin\ ;
+新進作家 > shinshinsakka\ ;
+酸素供給 > sansokyoukyuu\ ;
+交通公社 > koutsuukousha\ ;
+活殺自在 > kassatsujizai\ ;
+電送写真 > densoushashin\ ;
+全知全能 > zenchizen''nou\ ;
+国勢調査 > kokuseichousa\ ;
+流通機構 > ryuutsuukikou\ ;
+兵器輸出 > heikiyushutsu\ ;
+天皇崇拝 > ten''nousuuhai\ ;
+保証人要 > hoshounin''you\ ;
+浮遊生物 > fuyuuseibutsu\ ;
+終身保険 > shuushinhoken\ ;
+懸賞論文 > kenshouronbun\ ;
+市場改革 > shijoukaikaku\ ;
+電力需要 > denryokujuyou\ ;
+臨床尋問 > rinshoujinmon\ ;
+陰極線管 > inkyokusenkan\ ;
+旋光分析 > senkoubunseki\ ;
+化石燃料 > kasekinenryou\ ;
+電信為替 > denshinkawase\ ;
+懐中電灯 > kaichuudentou\ ;
+才色兼備 > saishokukenbi\ ;
+指導要領 > shidouyouryou\ ;
+郵便年金 > yuubin''nenkin\ ;
+関連商品 > kanrenshouhin\ ;
+限界状況 > genkaijoukyou\ ;
+現在完了 > genzaikanryou\ ;
+制約伝搬 > seiyakudenpan\ ;
+丸一週間 > maruisshuukan\ ;
+工業団地 > kougyoudanchi\ ;
+極楽浄土 > gokurakujoudo\ ;
+化学分析 > kagakubunseki\ ;
+同点決勝 > doutenkesshou\ ;
+体外離脱 > taigairidatsu\ ;
+生物兵器 > seibutsuheiki\ ;
+単音節語 > tan''onsetsugo\ ;
+攻撃隊形 > kougekitaikei\ ;
+法人所得 > houjinshotoku\ ;
+大逆事件 > taigyakujiken\ ;
+原始教会 > genshikyoukai\ ;
+価格協定 > kakakukyoutei\ ;
+寓意小説 > guuishousetsu\ ;
+専門技術 > senmongijutsu\ ;
+拡張可能 > kakuchoukanou\ ;
+急進主義 > kyuushinshugi\ ;
+記念式典 > kinenshikiten\ ;
+競合脱線 > kyougoudassen\ ;
+暑中休暇 > shochuukyuuka\ ;
+繁文縟礼 > hanbunjokurei\ ;
+目標管理 > mokuhyoukanri\ ;
+方向観念 > houkoukan''nen\ ;
+海底電信 > kaiteidenshin\ ;
+業界動向 > gyoukaidoukou\ ;
+必要経費 > hitsuyoukeihi\ ;
+水玉模様 > mizutamamoyou\ ;
+出征家族 > shusseikazoku\ ;
+経常収支 > keijoushuushi\ ;
+地球科学 > chikyuukagaku\ ;
+情報技術 > jouhougijutsu\ ;
+空中分解 > kuuchuubunkai\ ;
+強制労働 > kyouseiroudou\ ;
+階級意識 > kaikyuuishiki\ ;
+博士論文 > hakushironbun\ ;
+人格形成 > jinkakukeisei\ ;
+絹糸紡績 > kenshibouseki\ ;
+職場闘争 > shokubatousou\ ;
+教育学部 > kyouikugakubu\ ;
+変速装置 > hensokusouchi\ ;
+真円真珠 > shin''enshinju\ ;
+国民経済 > kokuminkeizai\ ;
+内面描写 > naimenbyousha\ ;
+媒体終端 > baitaishuutan\ ;
+心理療法 > shinriryouhou\ ;
+性的関係 > seitekikankei\ ;
+無銭飲食 > musen''inshoku\ ;
+範疇文法 > hanchuubunpou\ ;
+長期借款 > choukishakkan\ ;
+全体集合 > zentaishuugou\ ;
+右小括弧 > migishoukakko\ ;
+仮想敵国 > kasoutekikoku\ ;
+極楽往生 > gokurakuoujou\ ;
+初等教育 > shotoukyouiku\ ;
+行政命令 > gyouseimeirei\ ;
+対地攻撃 > taichikougeki\ ;
+自然描写 > shizenbyousha\ ;
+金融資本 > kin''yuushihon\ ;
+無能力者 > munouryokusha\ ;
+化学工業 > kagakukougyou\ ;
+行政区画 > gyouseikukaku\ ;
+学習辞典 > gakushuujiten\ ;
+閨閥政治 > keibatsuseiji\ ;
+事業拡充 > jigyoukakujuu\ ;
+農村工業 > nousonkougyou\ ;
+秋雨前線 > akisamezensen\ ;
+共同農場 > kyoudounoujou\ ;
+女権拡張 > jokenkakuchou\ ;
+講習会場 > koushuukaijou\ ;
+汚染物質 > osenbusshitsu\ ;
+状況判断 > joukyouhandan\ ;
+当該官庁 > tougaikanchou\ ;
+仲介貿易 > chuukaiboueki\ ;
+国内市場 > kokunaishijou\ ;
+一枚看板 > ichimaikanban\ ;
+無線通信 > musentsuushin\ ;
+経済大国 > keizaitaikoku\ ;
+反社会的 > hanshakaiteki\ ;
+一利一害 > ichiriichigai\ ;
+二律背反 > niritsuhaihan\ ;
+復元作業 > fukugensagyou\ ;
+人間爆弾 > ningenbakudan\ ;
+季節労働 > kisetsuroudou\ ;
+陸軍大臣 > rikugundaijin\ ;
+断抵抗角 > danteikoukaku\ ;
+通信機関 > tsuushinkikan\ ;
+写真凸版 > shashintoppan\ ;
+化学療法 > kagakuryouhou\ ;
+綱紀粛正 > koukishukusei\ ;
+税制改革 > zeiseikaikaku\ ;
+調停裁判 > chouteisaiban\ ;
+無罪判決 > muzaihanketsu\ ;
+軍事戦略 > gunjisenryaku\ ;
+臨床試験 > rinshoushiken\ ;
+防止指針 > boushishishin\ ;
+気象観測 > kishoukansoku\ ;
+舞台生活 > butaiseikatsu\ ;
+大名旅行 > daimyouryokou\ ;
+作業療法 > sagyouryouhou\ ;
+外国為替 > gaikokukawase\ ;
+都立高校 > toritsukoukou\ ;
+形式主義 > keishikishugi\ ;
+化学工学 > kagakukougaku\ ;
+角運動量 > kakuundouryou\ ;
+完全無欠 > kanzenmuketsu\ ;
+政策決定 > seisakukettei\ ;
+循環小数 > junkanshousuu\ ;
+大韓民国 > daikanminkoku\ ;
+適用業務 > tekiyougyoumu\ ;
+戦争文学 > sensoubungaku\ ;
+九天直下 > kyuutenchokka\ ;
+面従腹背 > menjuufukuhai\ ;
+確保失敗 > kakuhoshippai\ ;
+共通言語 > kyoutsuugengo\ ;
+強制処分 > kyouseishobun\ ;
+断崖絶壁 > dangaizeppeki\ ;
+産業社会 > sangyoushakai\ ;
+各種学校 > kakushugakkou\ ;
+分解写真 > bunkaishashin\ ;
+印刷媒体 > insatsubaitai\ ;
+研究所報 > kenkyuushohou\ ;
+乱射乱撃 > ransharangeki\ ;
+棒腹絶倒 > houfukuzettou\ ;
+特許侵害 > tokkyoshingai\ ;
+定額貯金 > teigakuchokin\ ;
+公衆伝動 > koushuudendou\ ;
+鉄道馬車 > tetsudoubasha\ ;
+内国為替 > naikokukawase\ ;
+種種様様 > shujusamazama\ ;
+喜色満面 > kishokumanmen\ ;
+弁別素性 > benbetsusosei\ ;
+作戦命令 > sakusenmeirei\ ;
+議長職権 > gichoushokken\ ;
+啓蒙思潮 > keimoushichou\ ;
+公娼全廃 > koushouzenpai\ ;
+対面交通 > taimenkoutsuu\ ;
+一問一答 > ichimon''ittou\ ;
+電子密度 > denshimitsudo\ ;
+超低価格 > chouteikakaku\ ;
+一括売買 > ikkatsubaibai\ ;
+制約条件 > seiyakujouken\ ;
+休戦会談 > kyuusenkaidan\ ;
+版権侵害 > hankenshingai\ ;
+隔離病棟 > kakuribyoutou\ ;
+生鮮料品 > seisenryouhin\ ;
+上昇傾向 > joushoukeikou\ ;
+不法入国 > fuhounyuugoku\ ;
+教養学部 > kyouyougakubu\ ;
+高信頼性 > koushinraisei\ ;
+家宅捜索 > katakusousaku\ ;
+計画経済 > keikakukeizai\ ;
+三軸試験 > sanjikushiken\ ;
+最終段階 > saishuudankai\ ;
+収入印紙 > shuunyuuinshi\ ;
+半熟練工 > hanjukurenkou\ ;
+写真判定 > shashinhantei\ ;
+経済観念 > keizaikan''nen\ ;
+賃金水準 > chinginsuijun\ ;
+営業収支 > eigyoushuushi\ ;
+三相交流 > sansoukouryuu\ ;
+経営戦略 > keieisenryaku\ ;
+春夏秋冬 > shunkashuutou\ ;
+焦点深度 > shoutenshindo\ ;
+一時所得 > ichijishotoku\ ;
+杉花粉症 > sugikafunshou\ ;
+人民投票 > jinmintouhyou\ ;
+合従連衡 > gasshourenkou\ ;
+烏野豌豆 > karasunoendou\ ;
+無芸大食 > mugeitaishoku\ ;
+国際連合 > kokusairengou\ ;
+熱交換器 > netsukoukanki\ ;
+宇宙開発 > uchuukaihatsu\ ;
+漢文訓読 > kanbunkundoku\ ;
+空間感覚 > kuukankankaku\ ;
+二人三脚 > nininsankyaku\ ;
+権力主義 > kenryokushugi\ ;
+募集広告 > boshuukoukoku\ ;
+学習理論 > gakushuuriron\ ;
+駐車禁止 > chuushakinshi\ ;
+共同宣言 > kyoudousengen\ ;
+天地神明 > tenchishinmei\ ;
+詳細情報 > shousaijouhou\ ;
+牛飲馬食 > gyuuinbashoku\ ;
+金城鉄壁 > kinjouteppeki\ ;
+集中講義 > shuuchuukougi\ ;
+変形虫類 > henkeichuurui\ ;
+公的年金 > koutekinenkin\ ;
+週刊雑誌 > shuukanzasshi\ ;
+紡績工場 > bousekikoujou\ ;
+初等数学 > shotousuugaku\ ;
+残存日数 > zanson''nissuu\ ;
+国際展開 > kokusaitenkai\ ;
+年功序列 > nenkoujoretsu\ ;
+商業都市 > shougyoutoshi\ ;
+中途退学 > chuutotaigaku\ ;
+共同会見 > kyoudoukaiken\ ;
+憲法学者 > kenpougakusha\ ;
+急転直下 > kyuutenchokka\ ;
+原子爆弾 > genshibakudan\ ;
+登山鉄道 > tozantetsudou\ ;
+物理化学 > butsurikagaku\ ;
+給水制限 > kyuusuiseigen\ ;
+朝鮮戦争 > chousensensou\ ;
+嫌気生物 > kenkiseibutsu\ ;
+選択状態 > sentakujoutai\ ;
+高峰八座 > kouhouhachiza\ ;
+不消化物 > fushoukabutsu\ ;
+法的文書 > houtekibunsho\ ;
+秘密選挙 > himitsusenkyo\ ;
+地球化学 > chikyuukagaku\ ;
+新熱帯区 > shin''nettaiku\ ;
+結婚指輪 > kekkon''yubiwa\ ;
+善隣友好 > zenrin''yuukou\ ;
+受取手形 > uketoritegata\ ;
+決算報告 > kessanhoukoku\ ;
+心理学者 > shinrigakusha\ ;
+論理形式 > ronrikeishiki\ ;
+低頭平身 > teitouheishin\ ;
+混合農業 > kongounougyou\ ;
+文芸作品 > bungeisakuhin\ ;
+有閑階級 > yuukankaikyuu\ ;
+友好条約 > yuukoujouyaku\ ;
+則天去私 > sokutenkyoshi\ ;
+写実主義 > shajitsushugi\ ;
+国際市場 > kokusaishijou\ ;
+二重生活 > nijuuseikatsu\ ;
+臨機目標 > rinkimokuhyou\ ;
+商業登記 > shougyoutouki\ ;
+黄色人種 > oushokujinshu\ ;
+周波変調 > shuuhahenchou\ ;
+欠陥商品 > kekkanshouhin\ ;
+従属変数 > juuzokuhensuu\ ;
+既約表現 > kiyakuhyougen\ ;
+不良少年 > furyoushounen\ ;
+測量技師 > sokuryougishi\ ;
+森羅万象 > shinrabanshou\ ;
+産業構造 > sangyoukouzou\ ;
+欧州諸国 > oushuushokoku\ ;
+通勤地獄 > tsuukinjigoku\ ;
+昼間人口 > chuukanjinkou\ ;
+性格判断 > seikakuhandan\ ;
+信頼関係 > shinraikankei\ ;
+同期通信 > doukitsuushin\ ;
+三重焦点 > sanjuushouten\ ;
+投票総数 > touhyousousuu\ ;
+大幅刷新 > oohabasasshin\ ;
+切断患者 > setsudankanja\ ;
+袖手傍観 > shuushuboukan\ ;
+拍手喝采 > hakushukassai\ ;
+作業仮説 > sagyoukasetsu\ ;
+経済成長 > keizaiseichou\ ;
+合成宝石 > gouseihouseki\ ;
+結締組織 > ketteisoshiki\ ;
+円錐曲線 > ensuikyokusen\ ;
+聖体拝領 > seitaihairyou\ ;
+庶民金融 > shominkin''yuu\ ;
+体積抵抗 > taisekiteikou\ ;
+協同組合 > kyoudoukumiai\ ;
+先住民族 > senjuuminzoku\ ;
+統一戦線 > touitsusensen\ ;
+同時通訳 > doujitsuuyaku\ ;
+周知徹底 > shuuchitettei\ ;
+艱難辛苦 > kan''nanshinku\ ;
+政党内閣 > seitounaikaku\ ;
+現地報告 > genchihoukoku\ ;
+懸賞問題 > kenshoumondai\ ;
+傭船契約 > yousenkeiyaku\ ;
+今上天皇 > kinjouten''nou\ ;
+他覚症状 > takakushoujou\ ;
+欠食児童 > kesshokujidou\ ;
+娯楽番組 > gorakubangumi\ ;
+精神医学 > seishin''igaku\ ;
+内容証明 > naiyoushoumei\ ;
+出港停止 > shukkouteishi\ ;
+夫婦約束 > fuufuyakusoku\ ;
+旅行業者 > ryokougyousha\ ;
+使徒信経 > shitoshinkyou\ ;
+外資導入 > gaishidounyuu\ ;
+成人教育 > seijinkyouiku\ ;
+公式主義 > koushikishugi\ ;
+一獲千金 > ikkakkusenkin\ ;
+複数業務 > fukusuugyoumu\ ;
+禁欲主義 > kin''yokushugi\ ;
+空襲警報 > kuushuukeihou\ ;
+産業再生 > sangyousaisei\ ;
+賃貸価格 > chintaikakaku\ ;
+戦闘前哨 > sentouzenshou\ ;
+一言一行 > ichigen''ikkou\ ;
+吹奏楽団 > suisougakudan\ ;
+直線距離 > chokusenkyori\ ;
+近親結婚 > kinshinkekkon\ ;
+米英仏蘭 > beieibutsuran\ ;
+共同作業 > kyoudousagyou\ ;
+減反政策 > gentanseisaku\ ;
+心理作戦 > shinrisakusen\ ;
+心臓移植 > shinzouishoku\ ;
+有限責任 > yuugensekinin\ ;
+組織再編 > soshikisaihen\ ;
+福音教会 > fukuinkyoukai\ ;
+関係副詞 > kankeifukushi\ ;
+史料編纂 > shiryouhensan\ ;
+猟官運動 > ryoukan''undou\ ;
+肉体労働 > nikutairoudou\ ;
+参照文献 > sanshoubunken\ ;
+音楽監督 > ongakukantoku\ ;
+平身低頭 > heishinteitou\ ;
+共産分子 > kyousanbunshi\ ;
+予約出版 > yoyakushuppan\ ;
+炭水化物 > tansuikabutsu\ ;
+近代文学 > kindaibungaku\ ;
+地方官庁 > chihoukanchou\ ;
+四分五裂 > shibungoretsu\ ;
+経済回復 > keizaikaifuku\ ;
+実存主義 > jitsuzonshugi\ ;
+恒温動物 > kouondoubutsu\ ;
+野菜一皿 > yasaihitosara\ ;
+形式論理 > keishikironri\ ;
+大学浪人 > daigakurounin\ ;
+暫定協定 > zanteikyoutei\ ;
+放送大学 > housoudaigaku\ ;
+法律制度 > houritsuseido\ ;
+信用金庫 > shin''youkinko\ ;
+有名無実 > yuumeimujitsu\ ;
+終身会員 > shuushinkaiin\ ;
+三角関数 > sankakukansuu\ ;
+笑止千万 > shoushisenban\ ;
+文学博士 > bungakuhakase\ ;
+庭先相場 > niwasakisouba\ ;
+消費者側 > shouhishagawa\ ;
+精神構造 > seishinkouzou\ ;
+鉄骨工事 > tekkotsukouji\ ;
+国利民福 > kokuriminpuku\ ;
+軽佻浮薄 > keichoufuhaku\ ;
+沖積平野 > chuusekiheiya\ ;
+酪農製品 > rakunouseihin\ ;
+謝罪広告 > shazaikoukoku\ ;
+富国強兵 > fukokukyouhei\ ;
+外郭団体 > gaikakudantai\ ;
+共同企業 > kyoudoukigyou\ ;
+階級社会 > kaikyuushakai\ ;
+対外政策 > taigaiseisaku\ ;
+精霊信仰 > seireishinkou\ ;
+ＧＢ理論 > ji\ ̄bi\ ̄riron\ ;
+春風駘蕩 > shunpuutaitou\ ;
+死刑執行 > shikeishikkou\ ;
+二者択一 > nishatakuitsu\ ;
+酸性反応 > sanseihan''nou\ ;
+水道料金 > suidouryoukin\ ;
+空気力学 > kuukirikigaku\ ;
+商売気質 > shoubaikatagi\ ;
+記録文学 > kirokubungaku\ ;
+彼方此方 > achirakochira\ ;
+立身出世 > risshinshusse\ ;
+正金銀行 > shoukinginkou\ ;
+共済事業 > kyousaijigyou\ ;
+先行技術 > senkougijutsu\ ;
+図書目録 > toshomokuroku\ ;
+証拠隠滅 > shoukoinmetsu\ ;
+競争関係 > kyousoukankei\ ;
+事前検閲 > jizenken''etsu\ ;
+行政処分 > gyouseishobun\ ;
+全面広告 > zenmenkoukoku\ ;
+国務長官 > kokumuchoukan\ ;
+精神病院 > seishinbyouin\ ;
+四十九日 > shijuukunichi\ ;
+杓子定規 > shakushijougi\ ;
+可塑物質 > kasobusshitsu\ ;
+半農半漁 > han''nouhangyo\ ;
+暴飲暴食 > bouinboushoku\ ;
+研究分野 > kenkyuubun''ya\ ;
+人口密度 > jinkoumitsudo\ ;
+人身売買 > jinshinbaibai\ ;
+殺人未遂 > satsujinmisui\ ;
+足利時代 > ashikagajidai\ ;
+弾着距離 > danchakukyori\ ;
+動物検査 > doubutsukensa\ ;
+薬餌療法 > yakujiryouhou\ ;
+人間国宝 > ningenkokuhou\ ;
+緊要地形 > kin''youchikei\ ;
+市場成長 > shijouseichou\ ;
+指名投票 > shimeitouhyou\ ;
+呉越同舟 > goetsudoushuu\ ;
+宅地造成 > takuchizousei\ ;
+精神労働 > seishinroudou\ ;
+家族計画 > kazokukeikaku\ ;
+開口一番 > kaikouichiban\ ;
+直系卑属 > chokkeihizoku\ ;
+割賦方式 > kappuhoushiki\ ;
+勤労大衆 > kinroutaishuu\ ;
+未収入金 > mishuunyuukin\ ;
+風俗営業 > fuuzokueigyou\ ;
+民俗音楽 > minzokuongaku\ ;
+海水浴場 > kaisuiyokujou\ ;
+連合作戦 > rengousakusen\ ;
+両蓋時計 > ryoubutadokei\ ;
+主客転倒 > shukakutentou\ ;
+損益勘定 > son''ekikanjou\ ;
+動力降下 > douryokukouka\ ;
+三角闘争 > sankakutousou\ ;
+退学処分 > taigakushobun\ ;
+実験材料 > jikkenzairyou\ ;
+重要産業 > juuyousangyou\ ;
+液体燃料 > ekitainenryou\ ;
+伝道集会 > dendoushuukai\ ;
+八面六臂 > hachimenroppi\ ;
+才気煥発 > saikikanpatsu\ ;
+感情表現 > kanjouhyougen\ ;
+人種差別 > jinshusabetsu\ ;
+英国発音 > eikokuhatsuon\ ;
+無限数列 > mugensuuretsu\ ;
+悪逆無道 > akugyakumudou\ ;
+熟慮断行 > jukuryodankou\ ;
+直交座標 > chokkouzahyou\ ;
+北太平洋 > kitataiheiyou\ ;
+男声合唱 > danseigasshou\ ;
+胃腸病学 > ichoubyougaku\ ;
+三角関係 > sankakukankei\ ;
+民族音楽 > minzokuongaku\ ;
+単独会見 > tandokukaiken\ ;
+財産相続 > zaisansouzoku\ ;
+上智大学 > jouchidaigaku\ ;
+僧庵生活 > souanseikatsu\ ;
+法律用語 > houritsuyougo\ ;
+雌雄選択 > shiyuusentaku\ ;
+百花繚乱 > hyakkaryouran\ ;
+音楽療法 > ongakuryouhou\ ;
+住民登録 > juumintouroku\ ;
+断層写真 > dansoushashin\ ;
+占領地帯 > senryouchitai\ ;
+薬品会社 > yakuhingaisha\ ;
+出口調査 > deguchichousa\ ;
+能動免疫 > noudoumen''eki\ ;
+在留邦人 > zairyuuhoujin\ ;
+麦藁細工 > mugiwarasaiku\ ;
+工芸美術 > kougeibijutsu\ ;
+航空攻撃 > koukuukougeki\ ;
+重量選手 > juuryousenshu\ ;
+赤立羽蝶 > akatatehachou\ ;
+愛鳥週間 > aichoushuukan\ ;
+工業化学 > kougyoukagaku\ ;
+技術提携 > gijutsuteikei\ ;
+中性子星 > chuuseishisei\ ;
+公共事業 > koukyoujigyou\ ;
+上越本線 > jouetsuhonsen\ ;
+無償契約 > mushoukeiyaku\ ;
+閃光電球 > senkoudenkyuu\ ;
+国籍言語 > kokusekigengo\ ;
+定温動物 > teiondoubutsu\ ;
+空前絶後 > kuuzenzetsugo\ ;
+武力外交 > buryokugaikou\ ;
+戸籍抄本 > kosekishouhon\ ;
+朝鮮半島 > chousenhantou\ ;
+非常召集 > hijoushoushuu\ ;
+全般前哨 > zenpanzenshou\ ;
+大乗仏教 > daijoubukkyou\ ;
+分析試験 > bunsekishiken\ ;
+幽霊屋敷 > yuureiyashiki\ ;
+有産階級 > yuusankaikyuu\ ;
+権力政治 > kenryokuseiji\ ;
+脅迫電話 > kyouhakudenwa\ ;
+船荷証券 > funanishouken\ ;
+手旗信号 > tebatashingou\ ;
+栄養失調 > eiyoushitchou\ ;
+作況指数 > sakkyoushisuu\ ;
+相互通信 > sougotsuushin\ ;
+表層雪崩 > hyousounadare\ ;
+災害対策 > saigaitaisaku\ ;
+事実調査 > jijitsuchousa\ ;
+日経新聞 > nikkeishinbun\ ;
+中間選挙 > chuukansenkyo\ ;
+市長選挙 > shichousenkyo\ ;
+沈降海岸 > chinkoukaigan\ ;
+社会福祉 > shakaifukushi\ ;
+論功行賞 > ronkoukoushou\ ;
+実践躬行 > jissenkyuukou\ ;
+正副二通 > seifukunitsuu\ ;
+交感神経 > koukanshinkei\ ;
+消費革命 > shouhikakumei\ ;
+専任講師 > sen''ninkoushi\ ;
+大量生産 > tairyouseisan\ ;
+最高機密 > saikoukimitsu\ ;
+管弦楽法 > kangengakuhou\ ;
+新品同様 > shinpindouyou\ ;
+備荒貯蓄 > bikouchochiku\ ;
+薄志弱行 > hakushijakkou\ ;
+勤労階級 > kinroukaikyuu\ ;
+日印関係 > nichiinkankei\ ;
+長期計画 > choukikeikaku\ ;
+不時着陸 > fujichakuriku\ ;
+排泄器官 > haisetsukikan\ ;
+英文解釈 > eibunkaishaku\ ;
+免責条項 > mensekijoukou\ ;
+鉄道線路 > tetsudousenro\ ;
+攻撃態勢 > kougekitaisei\ ;
+定期昇給 > teikishoukyuu\ ;
+記述文法 > kijutsubunpou\ ;
+臣籍降下 > shinsekikouka\ ;
+炭酸飲料 > tansan''inryou\ ;
+市場拡大 > shijoukakudai\ ;
+精密機械 > seimitsukikai\ ;
+機動警察 > kidoukeisatsu\ ;
+年間収益 > nenkanshuueki\ ;
+仲裁裁定 > chuusaisaitei\ ;
+偵察要員 > teisatsuyouin\ ;
+文藝春秋 > bungeishunjuu\ ;
+人形芝居 > ningyoushibai\ ;
+水中眼鏡 > suichuumegane\ ;
+公序良俗 > koujoryouzoku\ ;
+婚前交渉 > konzenkoushou\ ;
+太陽黒点 > taiyoukokuten\ ;
+上御一人 > kamigoichinin\ ;
+主要工業 > shuyoukougyou\ ;
+下等動物 > katoudoubutsu\ ;
+臥薪嘗胆 > gashinshoutan\ ;
+診療支援 > shinryoushien\ ;
+転地療養 > tenchiryouyou\ ;
+万能選手 > ban''nousenshu\ ;
+教会音楽 > kyoukaiongaku\ ;
+千載一遇 > senzaiichiguu\ ;
+売買契約 > baibaikeiyaku\ ;
+住宅地帯 > juutakuchitai\ ;
+減速装置 > gensokusouchi\ ;
+住宅問題 > juutakumondai\ ;
+免疫血清 > men''ekikessei\ ;
+核反応炉 > kakuhan''nouro\ ;
+放射線学 > houshasengaku\ ;
+流通経路 > ryuutsuukeiro\ ;
+尋常一様 > jinjouichiyou\ ;
+国有財産 > kokuyuuzaisan\ ;
+市民階級 > shiminkaikyuu\ ;
+言語知識 > gengochishiki\ ;
+公共放送 > koukyouhousou\ ;
+斑状組織 > hanjousoshiki\ ;
+重爆撃機 > juubakugekiki\ ;
+婚外交渉 > kongaikoushou\ ;
+仲裁裁判 > chuusaisaiban\ ;
+侯爵夫人 > koushakufujin\ ;
+有色野菜 > yuushokuyasai\ ;
+集団訴訟 > shuudansoshou\ ;
+一次産業 > ichijisangyou\ ;
+練習不足 > renshuubusoku\ ;
+商船学校 > shousengakkou\ ;
+麦藁蜻蛉 > mugiwaratonbo\ ;
+有限集合 > yuugenshuugou\ ;
+追加料金 > tsuikaryoukin\ ;
+Π中間子 > paichuukanshi\ ;
+遠隔教育 > enkakukyouiku\ ;
+脳脊髄液 > nousekizuieki\ ;
+東西南北 > touzainanboku\ ;
+許容線量 > kyoyousenryou\ ;
+正札値段 > shoufudanedan\ ;
+差別関税 > sabetsukanzei\ ;
+中等学校 > chuutougakkou\ ;
+管弦楽団 > kangengakudan\ ;
+寄生生物 > kiseiseibutsu\ ;
+主権回復 > shukenkaifuku\ ;
+両部神道 > ryoubushintou\ ;
+終業時間 > shuugyoujikan\ ;
+絹布一巻 > kenpuhitomaki\ ;
+過圧密比 > kaatsumitsuhi\ ;
+自然選択 > shizensentaku\ ;
+反応速度 > han''nousokudo\ ;
+偵察衛星 > teisatsueisei\ ;
+正副議長 > seifukugichou\ ;
+神前結婚 > shinzenkekkon\ ;
+法的手段 > houtekishudan\ ;
+作業領域 > sagyouryouiki\ ;
+年金証書 > nenkinshousho\ ;
+交通妨害 > koutsuubougai\ ;
+町村合併 > chousongappei\ ;
+教会旋法 > kyoukaisenpou\ ;
+幕藩体制 > bakuhantaisei\ ;
+第一印象 > daiichiinshou\ ;
+真空包装 > shinkuuhousou\ ;
+監査証跡 > kansashouseki\ ;
+誘導電流 > yuudoudenryuu\ ;
+復旧作業 > fukkyuusagyou\ ;
+損害賠償 > songaibaishou\ ;
+想像妊娠 > souzouninshin\ ;
+虚心坦懐 > kyoshintankai\ ;
+耐震構造 > taishinkouzou\ ;
+有限級数 > yuugenkyuusuu\ ;
+国土計画 > kokudokeikaku\ ;
+生存競争 > seizonkyousou\ ;
+市民革命 > shiminkakumei\ ;
+大統領選 > daitouryousen\ ;
+補習教育 > hoshuukyouiku\ ;
+司令長官 > shireichoukan\ ;
+賃金体系 > chingintaikei\ ;
+全人教育 > zenjinkyouiku\ ;
+官房長官 > kanbouchoukan\ ;
+企業秘密 > kigyouhimitsu\ ;
+殺人事件 > satsujinjiken\ ;
+凶悪犯罪 > kyouakuhanzai\ ;
+天然資源 > ten''nenshigen\ ;
+百姓一揆 > hyakushouikki\ ;
+総合大学 > sougoudaigaku\ ;
+仏頂尊勝 > buchousonshou\ ;
+千差万別 > sensabanbetsu\ ;
+網状組織 > moujousoshiki\ ;
+第一部長 > daiichibuchou\ ;
+準準決勝 > junjunkesshou\ ;
+大和民族 > yamatominzoku\ ;
+年年歳歳 > nen''nensaisai\ ;
+地殻変動 > chikakuhendou\ ;
+財政改革 > zaiseikaikaku\ ;
+共同計算 > kyoudoukeisan\ ;
+写真電送 > shashindensou\ ;
+不良診断 > furyoushindan\ ;
+水産大学 > suisandaigaku\ ;
+単式火山 > tanshikikazan\ ;
+一分一厘 > ichibuichirin\ ;
+実地検証 > jitchikenshou\ ;
+北清事変 > hokushinjihen\ ;
+人面獣心 > ninmenjuushin\ ;
+計画段階 > keikakudankai\ ;
+社員食堂 > shainshokudou\ ;
+捧腹絶倒 > houfukuzettou\ ;
+郵便料金 > yuubinryoukin\ ;
+五十三次 > gojuusantsugi\ ;
+優勝劣敗 > yuushoureppai\ ;
+快速列車 > kaisokuressha\ ;
+難民条約 > nanminjouyaku\ ;
+国際放送 > kokusaihousou\ ;
+六十余州 > rokujuuyoshuu\ ;
+急行列車 > kyuukouressha\ ;
+森林地帯 > shinrinchitai\ ;
+鎖国政策 > sakokuseisaku\ ;
+具象美術 > gushoubijutsu\ ;
+懐石料理 > kaisekiryouri\ ;
+簡易食堂 > kan''ishokudou\ ;
+暗黒大陸 > ankokutairiku\ ;
+反動革命 > handoukakumei\ ;
+六根清浄 > rokkonshoujou\ ;
+商業主義 > shougyoushugi\ ;
+信頼醸成 > shinraijousei\ ;
+共同声明 > kyoudouseimei\ ;
+割引切符 > waribikikippu\ ;
+冷却期間 > reikyakukikan\ ;
+九死一生 > kyuushiisshou\ ;
+中華民国 > chuukaminkoku\ ;
+拡声装置 > kakuseisouchi\ ;
+道路建設 > dourokensetsu\ ;
+人造宝石 > jinzouhouseki\ ;
+輸出保険 > yushutsuhoken\ ;
+必修科目 > hisshuukamoku\ ;
+給与所得 > kyuuyoshotoku\ ;
+歴史学派 > rekishigakuha\ ;
+等差数列 > tousasuuretsu\ ;
+君子豹変 > kunshihyouhen\ ;
+下表参照 > kahyousanshou\ ;
+勢力範囲 > seiryokuhan''i\ ;
+通貨政策 > tsuukaseisaku\ ;
+独占企業 > dokusenkigyou\ ;
+特権階級 > tokkenkaikyuu\ ;
+正規曲線 > seikikyokusen\ ;
+傍聴無料 > bouchoumuryou\ ;
+産業資本 > sangyoushihon\ ;
+立石電機 > tateishidenki\ ;
+夜間中学 > yakanchuugaku\ ;
+貿易摩擦 > bouekimasatsu\ ;
+年輪史学 > nenrinshigaku\ ;
+機械翻訳 > kikaihon''yaku\ ;
+徹頭徹尾 > tettoutetsubi\ ;
+金科玉条 > kinkagyokujou\ ;
+民間療法 > minkanryouhou\ ;
+情況証拠 > joukyoushouko\ ;
+心悸亢進 > shinkikoushin\ ;
+定性分析 > teiseibunseki\ ;
+囃子言葉 > hayashikotoba\ ;
+特許技術 > tokkyogijutsu\ ;
+報道写真 > houdoushashin\ ;
+最低賃金 > saiteichingin\ ;
+瞬間電断 > shunkandendan\ ;
+年頭教書 > nentoukyousho\ ;
+東洋段通 > touyoudantsuu\ ;
+独占資本 > dokusenshihon\ ;
+東方教会 > touhoukyoukai\ ;
+自覚症状 > jikakushoujou\ ;
+天体観測 > tentaikansoku\ ;
+群集行動 > gunshuukoudou\ ;
+衆人環視 > shuujinkanshi\ ;
+迷走神経 > meisoushinkei\ ;
+戦略兵器 > senryakuheiki\ ;
+先制攻撃 > senseikougeki\ ;
+有給休暇 > yuukyuukyuuka\ ;
+見学旅行 > kengakuryokou\ ;
+国内経済 > kokunaikeizai\ ;
+対空射撃 > taikuushageki\ ;
+比較対照 > hikakutaishou\ ;
+市中銀行 > shichuuginkou\ ;
+定点観測 > teitenkansoku\ ;
+促成栽培 > sokuseisaibai\ ;
+賃金格差 > chinginkakusa\ ;
+支配階級 > shihaikaikyuu\ ;
+二重露出 > nijuuroshutsu\ ;
+動脈硬化 > doumyakukouka\ ;
+隣接部隊 > rinsetsubutai\ ;
+建設機械 > kensetsukikai\ ;
+上層階級 > jousoukaikyuu\ ;
+三拝九拝 > sanpaikyuuhai\ ;
+特殊法人 > tokushuhoujin\ ;
+士魂商才 > shikonshousai\ ;
+虚心担懐 > kyoshintankai\ ;
+傷病捕虜 > shoubyouhoryo\ ;
+無性生殖 > museiseishoku\ ;
+財政政策 > zaiseiseisaku\ ;
+陸上競技 > rikujoukyougi\ ;
+博覧強記 > hakurankyouki\ ;
+人権侵害 > jinkenshingai\ ;
+総領息子 > souryoumusuko\ ;
+菜食主義 > saishokushugi\ ;
+赤外発散 > sekigaihassan\ ;
+衛星通信 > eiseitsuushin\ ;
+人員削減 > jin''insakugen\ ;
+率先躬行 > sossenkyuukou\ ;
+免税所得 > menzeishotoku\ ;
+防縮加工 > boushukukakou\ ;
+複式簿記 > fukushikiboki\ ;
+責任分担 > sekininbuntan\ ;
+武力行使 > buryokukoushi\ ;
+番組編成 > bangumihensei\ ;
+休息時間 > kyuusokujikan\ ;
+二重関節 > nijuukansetsu\ ;
+観光産業 > kankousangyou\ ;
+博引旁証 > hakuinboushou\ ;
+共販会社 > kyouhangaisha\ ;
+揚陸艦艇 > yourikukantei\ ;
+主客顛倒 > shukakutentou\ ;
+公害対策 > kougaitaisaku\ ;
+陽動作戦 > youdousakusen\ ;
+誘拐犯人 > yuukaihan''nin\ ;
+内臓疾患 > naizoushikkan\ ;
+修士論文 > shuushironbun\ ;
+高等教育 > koutoukyouiku\ ;
+測量機械 > sokuryoukikai\ ;
+霊感商法 > reikanshouhou\ ;
+呪物崇拝 > jubutsusuuhai\ ;
+文人墨客 > bunjinbokkaku\ ;
+承知之助 > shouchinosuke\ ;
+越年草本 > etsunensouhon\ ;
+通勤列車 > tsuukinressha\ ;
+精進料理 > shoujinryouri\ ;
+主力部隊 > shuryokubutai\ ;
+郷土文学 > kyoudobungaku\ ;
+期末試験 > kimatsushiken\ ;
+連邦首相 > renpoushushou\ ;
+情報工学 > jouhoukougaku\ ;
+七分三分 > shichibusanbu\ ;
+公爵夫人 > koushakufujin\ ;
+参考資料 > sankoushiryou\ ;
+独断専行 > dokudansenkou\ ;
+入学考査 > nyuugakukousa\ ;
+遭難信号 > sounanshingou\ ;
+流動資産 > ryuudoushisan\ ;
+下四半期 > shimoshihanki\ ;
+選択科目 > sentakukamoku\ ;
+情報検索 > jouhoukensaku\ ;
+頂上会談 > choujoukaidan\ ;
+共済組合 > kyousaikumiai\ ;
+参考書目 > sankoushomoku\ ;
+治安警察 > chiankeisatsu\ ;
+興業銀行 > kougyouginkou\ ;
+行政書士 > gyouseishoshi\ ;
+関連項目 > kanrenkoumoku\ ;
+難行苦行 > nangyoukugyou\ ;
+預金通帳 > yokintsuuchou\ ;
+網膜剥離 > moumakuhakuri\ ;
+輸出検査 > yushutsukensa\ ;
+指定銘柄 > shiteimeigara\ ;
+酒池肉林 > shuchinikurin\ ;
+優等賞状 > yuutoushoujou\ ;
+黄金分割 > ougonbunkatsu\ ;
+修繕工場 > shuuzenkoujou\ ;
+二者選一 > nishasen''itsu\ ;
+状況証拠 > joukyoushouko\ ;
+菌類学者 > kinruigakusha\ ;
+仲裁々判 > chuusaisaiban\ ;
+外国郵便 > gaikokuyuubin\ ;
+交通地獄 > koutsuujigoku\ ;
+集団結婚 > shuudankekkon\ ;
+愛玩動物 > aigandoubutsu\ ;
+間接話法 > kansetsuwahou\ ;
+学生部長 > gakuseibuchou\ ;
+雲形定規 > kumogatajougi\ ;
+屋外広告 > okugaikoukoku\ ;
+亡命文学 > boumeibungaku\ ;
+連続関数 > renzokukansuu\ ;
+筆跡鑑定 > hissekikantei\ ;
+廃物利用 > haibutsuriyou\ ;
+車両会社 > sharyougaisha\ ;
+麻薬常習 > mayakujoushuu\ ;
+不得要領 > futokuyouryou\ ;
+山岳地帯 > sangakuchitai\ ;
+問題領域 > mondairyouiki\ ;
+個別販売 > kobetsuhanbai\ ;
+平衡感覚 > heikoukankaku\ ;
+内国郵便 > naikokuyuubin\ ;
+報道番組 > houdoubangumi\ ;
+共同組合 > kyoudoukumiai\ ;
+紙上計画 > shijoukeikaku\ ;
+二重国籍 > nijuukokuseki\ ;
+行政訴訟 > gyouseisoshou\ ;
+絶縁抵抗 > zetsuenteikou\ ;
+匿名批評 > tokumeihihyou\ ;
+長期国債 > choukikokusai\ ;
+光線療法 > kousenryouhou\ ;
+流動資本 > ryuudoushihon\ ;
+証券市場 > shoukenshijou\ ;
+建設工事 > kensetsukouji\ ;
+変態性欲 > hentaiseiyoku\ ;
+空中細菌 > kuuchuusaikin\ ;
+代金引換 > daikinhikikae\ ;
+茶番狂言 > chabankyougen\ ;
+交通規則 > koutsuukisoku\ ;
+会席料理 > kaisekiryouri\ ;
+現物相場 > genbutsusouba\ ;
+束縛理論 > sokubakuriron\ ;
+公正証書 > kouseishousho\ ;
+同盟怠業 > doumeitaigyou\ ;
+行動方針 > koudouhoushin\ ;
+適正価格 > tekiseikakaku\ ;
+人種改良 > jinshukairyou\ ;
+半流動体 > hanryuudoutai\ ;
+普仏戦争 > fufutsusensou\ ;
+二重結合 > nijuuketsugou\ ;
+免責特権 > mensekitokken\ ;
+懲戒処分 > choukaishobun\ ;
+不心得者 > fukokoroemono\ ;
+豪放磊落 > gouhourairaku\ ;
+艦砲射撃 > kanpoushageki\ ;
+関数解析 > kansuukaiseki\ ;
+通信講座 > tsuushinkouza\ ;
+外貨獲得 > gaikakakutoku\ ;
+心悸昂進 > shinkikoushin\ ;
+電気溶接 > denkiyousetsu\ ;
+吮癰舐痔 > sen''youshiji\ ;
+労働条件 > roudoujouken\ ;
+外国航路 > gaikokukouro\ ;
+伝送速度 > densousokudo\ ;
+一本調子 > ippondjoushi\ ;
+墜落事故 > tsuirakujiko\ ;
+線香花火 > senkouhanabi\ ;
+東京都政 > toukyoutosei\ ;
+軍事産業 > gunjisangyou\ ;
+代理牧師 > dairibokushi\ ;
+三十三所 > sanjuusansho\ ;
+一次線輪 > ichijisenrin\ ;
+価格変動 > kakakuhendou\ ;
+悠悠自適 > yuuyuujiteki\ ;
+山紫水明 > sanshisuimei\ ;
+空輸貨物 > kuuyukamotsu\ ;
+観光資源 > kankoushigen\ ;
+視覚言語 > shikakugengo\ ;
+麻薬常用 > mayakujouyou\ ;
+日朝辞典 > nitchoujiten\ ;
+店頭債券 > tentousaiken\ ;
+版権所有 > hankenshoyuu\ ;
+一泊行軍 > ippakukougun\ ;
+青空市場 > aozorashijou\ ;
+開票結果 > kaihyoukekka\ ;
+単独講和 > tandokukouwa\ ;
+近代科学 > kindaikagaku\ ;
+無神論者 > mushinronsha\ ;
+有形財産 > yuukeizaisan\ ;
+河岸段丘 > kagandankyuu\ ;
+太陽光線 > taiyoukousen\ ;
+億万長者 > okumanchouja\ ;
+化粧石鹸 > keshousekken\ ;
+言語療法 > gengoryouhou\ ;
+安定成長 > anteiseichou\ ;
+神権政治 > shinkenseiji\ ;
+至上命令 > shijoumeirei\ ;
+音楽美学 > ongakubigaku\ ;
+労働大臣 > roudoudaijin\ ;
+降格人事 > koukakujinji\ ;
+窒素肥料 > chissohiryou\ ;
+軍部独裁 > gunbudokusai\ ;
+公務疾病 > koumushippei\ ;
+花火大会 > hanabitaikai\ ;
+行雲流水 > kouunryuusui\ ;
+反対訊問 > hantaijinmon\ ;
+方向転換 > houkoutenkan\ ;
+無線技術 > musengijutsu\ ;
+艮下艮上 > gonkagonshou\ ;
+未来完了 > miraikanryou\ ;
+前進部隊 > zenshinbutai\ ;
+既約分数 > kiyakubunsuu\ ;
+公営住宅 > koueijuutaku\ ;
+監査報告 > kansahoukoku\ ;
+月経周期 > gekkeishuuki\ ;
+科学雑誌 > kagakuzasshi\ ;
+通貨統合 > tsuukatougou\ ;
+対地速度 > taichisokudo\ ;
+官僚主義 > kanryoushugi\ ;
+御調子者 > ochoushimono\ ;
+二足三文 > nisokusanmon\ ;
+酸性肥料 > sanseihiryou\ ;
+言文一致 > genbun''itchi\ ;
+共同管理 > kyoudoukanri\ ;
+海外旅行 > kaigairyokou\ ;
+不審尋問 > fushinjinmon\ ;
+責任転嫁 > sekinintenka\ ;
+長期手形 > choukitegata\ ;
+給与水準 > kyuuyosuijun\ ;
+少数精鋭 > shousuuseiei\ ;
+転換社債 > tenkanshasai\ ;
+沿岸漁業 > engangyogyou\ ;
+交際社会 > kousaishakai\ ;
+制限事項 > seigenjikoku\ ;
+刑事責任 > keijisekinin\ ;
+混合火薬 > kongoukayaku\ ;
+双務契約 > soumukeiyaku\ ;
+古典学者 > kotengakusha\ ;
+生活扶助 > seikatsufujo\ ;
+用益物権 > youekibukken\ ;
+出勤時間 > shukkinjikan\ ;
+相関係数 > soukankeisuu\ ;
+社会保障 > shakaihoshou\ ;
+協同動作 > kyoudoudousa\ ;
+情緒纒綿 > jouchotenmen\ ;
+立憲君主 > rikkenkunshu\ ;
+旅券査証 > ryokensashou\ ;
+落花狼藉 > rakkarouzeki\ ;
+化学製品 > kagakuseihin\ ;
+適性検査 > tekiseikensa\ ;
+生命科学 > seimeikagaku\ ;
+工作機械 > kousakukikai\ ;
+図書館学 > toshokangaku\ ;
+人口問題 > jinkoumondai\ ;
+御用学者 > goyougakusha\ ;
+気圧配置 > kiatsuhaichi\ ;
+時限爆弾 > jigenbakudan\ ;
+自然対数 > shizentaisuu\ ;
+夜間撮影 > yakansatsuei\ ;
+神経繊維 > shinkeisen''i\ ;
+流動負債 > ryuudoufusai\ ;
+最高記録 > saikoukiroku\ ;
+新規事業 > shinkijigyou\ ;
+姓名判断 > seimeihandan\ ;
+反対給付 > hantaikyuufu\ ;
+敗戦投手 > haisentoushu\ ;
+武漢三鎮 > bukansanchin\ ;
+一朝一夕 > itchouisseki\ ;
+家内工業 > kanaikougyou\ ;
+浅学菲才 > sengakuhisai\ ;
+混合経済 > kongoukeizai\ ;
+市民団体 > shimindantai\ ;
+企業連合 > kigyourengou\ ;
+時代感覚 > jidaikankaku\ ;
+共同因子 > kyoudouinshi\ ;
+一意専心 > ichiisenshin\ ;
+欧米諸国 > oubeishokoku\ ;
+革命運動 > kakumeiundou\ ;
+純粋培養 > junsuibaiyou\ ;
+再三再四 > saisansaishi\ ;
+形而上学 > keijijougaku\ ;
+地方団体 > chihoudantai\ ;
+公民学校 > koumingakkou\ ;
+価格統制 > kakakutousei\ ;
+意匠登録 > ishoutouroku\ ;
+受動喫煙 > judoukitsuen\ ;
+製缶工場 > seikankoujou\ ;
+固形燃料 > kokeinenryou\ ;
+郵便為替 > yuubinkawase\ ;
+口頭弁論 > koutoubenron\ ;
+立体化学 > rittaikagaku\ ;
+品行方正 > hinkouhousei\ ;
+販売価格 > hanbaikakaku\ ;
+恋愛結婚 > ren''aikekkon\ ;
+北米土人 > hokubeidojin\ ;
+臨海学校 > rinkaigakkou\ ;
+一語一語 > ichigoichigo\ ;
+半官半民 > hankanhanmin\ ;
+大国主義 > taikokushugi\ ;
+洋服箪笥 > youfukudansu\ ;
+一方通行 > ippoutsuukou\ ;
+参考文献 > sankoubunken\ ;
+信仰箇条 > shinkoukajou\ ;
+民間資本 > minkanshihon\ ;
+一汁一菜 > ichijuuissai\ ;
+十種競技 > jisshukyougi\ ;
+平和共存 > heiwakyouzon\ ;
+単線運転 > tansen''unten\ ;
+事後承諾 > jigoshoudaku\ ;
+映像信号 > eizoushingou\ ;
+安全対策 > anzentaisaku\ ;
+生産組合 > seisankumiai\ ;
+居住水準 > kyojuusuijun\ ;
+算用数字 > san''yousuuji\ ;
+姉妹会社 > shimaigaisha\ ;
+選挙公報 > senkyokouhou\ ;
+仏像二座 > butsuzouniza\ ;
+観光旅行 > kankouryokou\ ;
+研究課題 > kenkyuukadai\ ;
+金拾万円 > kinjuuman''en\ ;
+屎尿処理 > shinyoushori\ ;
+商事会社 > shoujigaisha\ ;
+集合場所 > shuugoubasho\ ;
+形容詞幹 > keiyoushikan\ ;
+条件反射 > joukenhansha\ ;
+信徒伝動 > shintodendou\ ;
+有料道路 > yuuryoudouro\ ;
+業務妨害 > gyoumubougai\ ;
+阿片中毒 > ahenchuudoku\ ;
+細胞融合 > saibouyuugou\ ;
+名人気質 > meijinkatagi\ ;
+郵政大臣 > yuuseidaijin\ ;
+人権擁護 > jinken''yougo\ ;
+兄弟喧嘩 > kyoudaigenka\ ;
+巡航速度 > junkousokudo\ ;
+一夜大臣 > ichiyadaijin\ ;
+獅子奮迅 > shishifunjin\ ;
+閨秀作家 > keishuusakka\ ;
+専門学校 > senmongakkou\ ;
+改革過程 > kaikakukatei\ ;
+緊急措置 > kinkyuusochi\ ;
+画竜天睛 > garyoutensei\ ;
+一進一退 > isshin''ittai\ ;
+定常状態 > teijoujoutai\ ;
+指数関数 > shisuukansuu\ ;
+試験科目 > shikenkamoku\ ;
+災害救助 > saigaikyuujo\ ;
+冶金学者 > yakingakusha\ ;
+地方銀行 > chihouginkou\ ;
+経済発展 > keizaihatten\ ;
+特殊兵器 > tokushuheiki\ ;
+海中公園 > kaichuukouen\ ;
+団体旅行 > dantairyokou\ ;
+三叉神経 > sansashinkei\ ;
+欲求不満 > yokkyuufuman\ ;
+終夜営業 > shuuyaeigyou\ ;
+地下組織 > chikasoshiki\ ;
+耐震家屋 > taishinkaoku\ ;
+正三角形 > seisankakkei\ ;
+走行車線 > soukoushasen\ ;
+空気調整 > kuukichousei\ ;
+運動神経 > undoushinkei\ ;
+受胎告知 > jutaikokuchi\ ;
+解答用紙 > kaitouyoushi\ ;
+不所存者 > fushozonmono\ ;
+加工産業 > kakousangyou\ ;
+規格原案 > kikakugen''an\ ;
+和魂洋才 > wakon''yousai\ ;
+反戦運動 > hansen''undou\ ;
+諸行無常 > shogyoumujou\ ;
+契約期間 > keiyakukikan\ ;
+人文科学 > jinbunkagaku\ ;
+一人一人 > hitoribitori\ ;
+励振素子 > reishinsoshi\ ;
+宇宙工学 > uchuukougaku\ ;
+事前日付 > jizenhidzuke\ ;
+自家撞着 > jikadouchaku\ ;
+石灰肥料 > sekkaihiryou\ ;
+公益優先 > kouekiyuusen\ ;
+日豊本線 > nippouhonsen\ ;
+石油化学 > sekiyukagaku\ ;
+相対速度 > soutaisokudo\ ;
+黒字倒産 > kurojitousan\ ;
+内憂外患 > naiyuugaikan\ ;
+関数空間 > kansuukuukan\ ;
+付属病院 > fuzokubyouin\ ;
+臨床医学 > rinshouigaku\ ;
+米海兵隊 > beikaiheitai\ ;
+拱手傍観 > koushuboukan\ ;
+順法闘争 > junpoutousou\ ;
+戦闘陣地 > sentoujinchi\ ;
+一挙一動 > ikkyoichidou\ ;
+威嚇射撃 > ikakushageki\ ;
+実地試験 > jitchishiken\ ;
+中間景気 > chuukankeiki\ ;
+司教権座 > shikyoukenza\ ;
+変更履歴 > henkourireki\ ;
+連戦連敗 > rensenrenpai\ ;
+歯槽膿漏 > shisounourou\ ;
+素粒子論 > soryuushiron\ ;
+衛星中継 > eiseichuukei\ ;
+圧延工場 > atsuenkoujou\ ;
+分娩臥床 > bunbengashou\ ;
+人造絹糸 > jinzoukenshi\ ;
+痕跡器官 > konsekikikan\ ;
+蛍光塗料 > keikoutoryou\ ;
+公判調査 > kouhanchousa\ ;
+連絡会議 > renrakukaigi\ ;
+公教要理 > koukyouyouri\ ;
+骨董品店 > kottouhinten\ ;
+十二指腸 > juunishichou\ ;
+財政問題 > zaiseimondai\ ;
+言語学者 > gengogakusha\ ;
+金融機関 > kin''yuukikan\ ;
+田園詩人 > den''enshijin\ ;
+等比級数 > touhikyuusuu\ ;
+道化役者 > doukeyakusha\ ;
+津津浦浦 > tsudzuuraura\ ;
+乾燥地帯 > kansouchitai\ ;
+音節主音 > onsetsushuon\ ;
+航海日誌 > koukainisshi\ ;
+半封建性 > hanhoukensei\ ;
+恋愛関係 > ren''aikankei\ ;
+成長過程 > seichoukatei\ ;
+連帯保証 > rentaihoshou\ ;
+心臓肥大 > shinzouhidai\ ;
+天壌無窮 > tenjoumukyuu\ ;
+全身麻酔 > zenshinmasui\ ;
+回線交換 > kaisenkoukan\ ;
+輸入制限 > yunyuuseigen\ ;
+構造不況 > kouzoufukyou\ ;
+自己共役 > jikokyouyaku\ ;
+構成分子 > kouseibunshi\ ;
+市場展開 > shijoutenkai\ ;
+店頭販売 > tentouhanbai\ ;
+合唱隊員 > gasshoutaiin\ ;
+経費削減 > keihisakugen\ ;
+文芸復興 > bungeifukkou\ ;
+環太平洋 > kantaiheiyou\ ;
+名義書換 > meigikakikae\ ;
+重大問題 > juudaimondai\ ;
+非科学的 > hikagakuteki\ ;
+限定戦争 > genteisensou\ ;
+不在証明 > fuzaishoumei\ ;
+医学博士 > igakuhakushi\ ;
+案内書呈 > an''naishotei\ ;
+専制君主 > senseikunshu\ ;
+勤務実績 > kinmujisseki\ ;
+機密事項 > kimitsujikou\ ;
+早期診断 > soukishindan\ ;
+停止価格 > teishikakaku\ ;
+記憶容量 > kiokuyouryou\ ;
+出生過剰 > shusseikajou\ ;
+引退興行 > intaikougyou\ ;
+三味線弾 > shamisenhiki\ ;
+試験段階 > shikendankai\ ;
+軍事介入 > gunjikainyuu\ ;
+政治道徳 > seijidoutoku\ ;
+国営企業 > kokueikigyou\ ;
+帰巣本能 > kisouhon''nou\ ;
+両性具有 > ryouseiguyuu\ ;
+黄金万能 > ougonban''nou\ ;
+担当課長 > tantoukachou\ ;
+混成競技 > konseikyougi\ ;
+労働攻勢 > roudoukousei\ ;
+閑話休題 > kanwakyuudai\ ;
+役務賠償 > ekimubaishou\ ;
+平和産業 > heiwasangyou\ ;
+印象批評 > inshouhihyou\ ;
+停滞前線 > teitaizensen\ ;
+民間放送 > minkanhousou\ ;
+属地主義 > zokuchishugi\ ;
+出版部数 > shuppanbusuu\ ;
+自動人形 > jidouningyou\ ;
+意志薄弱 > ishihakujaku\ ;
+心理戦争 > shinrisensou\ ;
+課税所得 > kazeishotoku\ ;
+流行作家 > ryuukousakka\ ;
+根気仕事 > konkishigoto\ ;
+軽犯罪法 > keihanzaihou\ ;
+揣摩憶測 > shimaokusoku\ ;
+改修工事 > kaishuukouji\ ;
+対抗意識 > taikouishiki\ ;
+道路交通 > dourokoutsuu\ ;
+法廷侮辱 > houteibujoku\ ;
+光学機械 > kougakukikai\ ;
+脱字記号 > datsujikigou\ ;
+公有水面 > kouyuusuimen\ ;
+陰性反応 > inseihan''nou\ ;
+均衡経済 > kinkoukeizai\ ;
+蘭栽培法 > ransaibaihou\ ;
+武装集団 > busoushuudan\ ;
+印鑑証明 > inkanshoumei\ ;
+域内貿易 > ikinaiboueki\ ;
+使徒行伝 > shitogyouden\ ;
+佳人薄命 > kajinhakumei\ ;
+有体資産 > yuutaishisan\ ;
+対泰関係 > taitaikankei\ ;
+欧州連合 > oushuurengou\ ;
+女子学生 > joshigakusei\ ;
+単純平均 > tanjunheikin\ ;
+再度確認 > saidokakunin\ ;
+鬼面伝心 > kimendenshin\ ;
+貿易黒字 > bouekikuroji\ ;
+組合員証 > kumiaiinshou\ ;
+熟柿主義 > jukushishugi\ ;
+冷房装置 > reibousouchi\ ;
+現地生産 > genchiseisan\ ;
+新聞記者 > shinbunkisha\ ;
+大山鳴動 > taizanmeidou\ ;
+波状攻撃 > hajoukougeki\ ;
+単記投票 > tankitouhyou\ ;
+一次関数 > ichijikansuu\ ;
+幼形進化 > youkeishinka\ ;
+青物市場 > aomonoichiba\ ;
+学生運動 > gakuseiundou\ ;
+報復措置 > houfukusochi\ ;
+回復可能 > kaifukukanou\ ;
+正角定木 > seikakujougi\ ;
+歴史地理 > rekishichiri\ ;
+年中無休 > nenjuumukyuu\ ;
+画竜点睛 > garyoutensei\ ;
+代数的和 > daisuutekiwa\ ;
+左右相称 > sayuusoushou\ ;
+帝国主義 > teikokushugi\ ;
+西洋松露 > seiyoushouro\ ;
+回転勘定 > kaitenkanjou\ ;
+依託射撃 > itakushageki\ ;
+正規表現 > seikihyougen\ ;
+総領事館 > souryoujikan\ ;
+盗難防止 > tounanboushi\ ;
+滅私奉公 > messhihoukou\ ;
+総合科学 > sougoukagaku\ ;
+拘束時間 > kousokujikan\ ;
+四方八方 > shihouhappou\ ;
+主要諸元 > shuyoushogen\ ;
+十分条件 > juubunjouken\ ;
+時代思潮 > jidaishichou\ ;
+代理投票 > dairitouhyou\ ;
+古典音楽 > koten''ongaku\ ;
+銀行強盗 > ginkougoutou\ ;
+起爆装置 > kibakusouchi\ ;
+逮捕許諾 > taihokyodaku\ ;
+歯牙疾患 > shigashikkan\ ;
+共同祖界 > kyoudousokai\ ;
+油断大敵 > yudantaiteki\ ;
+専業農家 > sengyounouka\ ;
+熱可塑性 > netsukasosei\ ;
+市有財産 > shiyuuzaisan\ ;
+国家賠償 > kokkabaishou\ ;
+静態総計 > seitaisoukei\ ;
+専門雑誌 > senmonzasshi\ ;
+弾丸列車 > danganressha\ ;
+大正時代 > taishoujidai\ ;
+設計変更 > sekkeihenkou\ ;
+了解事項 > ryoukaijikou\ ;
+実験段階 > jikkendankai\ ;
+官僚政治 > kanryouseiji\ ;
+人種問題 > jinshumondai\ ;
+演習問題 > enshuumondai\ ;
+労働組合 > roudoukumiai\ ;
+醇風美俗 > junpuubizoku\ ;
+造反有理 > zouhan''yuuri\ ;
+消費性向 > shouhiseikou\ ;
+御用新聞 > goyoushinbun\ ;
+公定価格 > kouteikakaku\ ;
+堆積作用 > taisekisayou\ ;
+攻守同盟 > koushudoumei\ ;
+工科大学 > koukadaigaku\ ;
+社公連合 > shakourengou\ ;
+軍事教練 > gunjikyouren\ ;
+平和条約 > heiwajouyaku\ ;
+無資格者 > mushikakusha\ ;
+相殺関税 > sousaikanzei\ ;
+即時停戦 > sokujiteisen\ ;
+測地衛星 > sokuchieisei\ ;
+空中浮遊 > kuuchuufuyuu\ ;
+信用詐欺 > shin''yousagi\ ;
+明眸皓歯 > meiboukoushi\ ;
+上等兵曹 > joutouheisou\ ;
+金利政策 > kinriseisaku\ ;
+草根木皮 > soukonmokuhi\ ;
+労働災害 > roudousaigai\ ;
+推定年齢 > suiteinenrei\ ;
+日本文学 > nihonbungaku\ ;
+実験科学 > jikkenkagaku\ ;
+危険信号 > kikenshingou\ ;
+西欧諸国 > seioushokoku\ ;
+夜間営業 > yakan''eigyou\ ;
+使徒承伝 > shitoshouden\ ;
+国家主席 > kokkashuseki\ ;
+雪見灯籠 > yukimidourou\ ;
+主席判事 > shusekihanji\ ;
+官製葉書 > kanseihagaki\ ;
+伝記文学 > denkibungaku\ ;
+制動放射 > seidouhousha\ ;
+法律行為 > houritsukoui\ ;
+共産国家 > kyousankokka\ ;
+教育機関 > kyouikukikan\ ;
+非常信号 > hijoushingou\ ;
+雪見障子 > yukimishouji\ ;
+機構改革 > kikoukaikaku\ ;
+御玉杓子 > otamajakushi\ ;
+最終結果 > saishuukekka\ ;
+特恵関税 > tokkeikanzei\ ;
+地震予知 > jishin''yochi\ ;
+共同募金 > kyoudoubokin\ ;
+事務当局 > jimutoukyoku\ ;
+三号雑誌 > sangouzasshi\ ;
+漏洩電流 > roueidenryuu\ ;
+宣戦布告 > sensenfukoku\ ;
+共産地区 > kyousanchiku\ ;
+代用教員 > daiyoukyouin\ ;
+三角定規 > sankakujougi\ ;
+西洋将棋 > seiyoushougi\ ;
+信号無視 > shingoumushi\ ;
+土地改革 > tochikaikaku\ ;
+瀬戸物市 > setomonoichi\ ;
+安倍川餅 > abekawamochi\ ;
+東欧諸国 > tououshokoku\ ;
+跡目相続 > atomesouzoku\ ;
+人工呼吸 > jinkoukokyuu\ ;
+航空郵便 > koukuuyuubin\ ;
+並行輸入 > heikouyunyuu\ ;
+経済格差 > keizaikakusa\ ;
+社会資本 > shakaishihon\ ;
+外交特権 > gaikoutokken\ ;
+業務提携 > gyoumuteikei\ ;
+潜在意識 > senzaiishiki\ ;
+制御装置 > seigyosouchi\ ;
+所所方方 > shoshohoubou\ ;
+固体燃料 > kotainenryou\ ;
+鼻元思案 > hanamotojian\ ;
+右折禁止 > usetsukinshi\ ;
+千思万考 > senshibankou\ ;
+依願退職 > igantaishoku\ ;
+三部合唱 > sanbugasshou\ ;
+言語中枢 > gengochuusuu\ ;
+現代文明 > gendaibunmei\ ;
+養護学級 > yougogakkyuu\ ;
+回転運動 > kaiten''undou\ ;
+運輸業者 > un''yugyousha\ ;
+石油公団 > sekiyukoudan\ ;
+局部麻酔 > kyokubumasui\ ;
+義太夫節 > gidayuubushi\ ;
+金属加工 > kinzokukakou\ ;
+悪性腫瘍 > akuseishuyou\ ;
+馬鹿正直 > bakashoujiki\ ;
+合弁会社 > goubengaisha\ ;
+公益事業 > kouekijigyou\ ;
+信号電波 > shingoudenpa\ ;
+津々浦々 > tsudzuuraura\ ;
+内輪同志 > uchiwadoushi\ ;
+社会事業 > shakaijigyou\ ;
+零細企業 > reisaikigyou\ ;
+国定公園 > kokuteikouen\ ;
+応力径路 > ouryokukeiro\ ;
+控訴棄却 > kousokikyaku\ ;
+通勤定期 > tsuukinteiki\ ;
+歴史地図 > rekishichizu\ ;
+電子郵便 > denshiyuubin\ ;
+人工知能 > jinkouchinou\ ;
+空中投下 > kuuchuutouka\ ;
+楽天主義 > rakutenshugi\ ;
+海外投資 > kaigaitoushi\ ;
+暗証番号 > anshoubangou\ ;
+年齢制限 > nenreiseigen\ ;
+価格戦争 > kakakusensou\ ;
+高速度鋼 > kousokudokou\ ;
+火力支援 > karyokushien\ ;
+高速道路 > kousokudouro\ ;
+使用禁止 > shiyoukinshi\ ;
+冠婚葬祭 > kankonsousai\ ;
+水平尾翼 > suiheibiyoku\ ;
+決議機関 > ketsugikikan\ ;
+連鎖反応 > rensahan''nou\ ;
+市民社会 > shiminshakai\ ;
+部分集合 > bubunshuugou\ ;
+四捨五入 > shishagonyuu\ ;
+受託会社 > jutakugaisha\ ;
+問題意識 > mondaiishiki\ ;
+金融公庫 > kin''yuukouko\ ;
+友達甲斐 > tomodachigai\ ;
+一般教養 > ippankyouyou\ ;
+安定恐慌 > anteikyoukou\ ;
+水素化物 > suisokabutsu\ ;
+環境変化 > kankyouhenka\ ;
+体格検査 > taikakukensa\ ;
+化学合成 > kagakugousei\ ;
+平平凡凡 > heiheibonbon\ ;
+市場価格 > shijoukakaku\ ;
+善隣関係 > zenrinkankei\ ;
+合成洗剤 > gouseisenzai\ ;
+観念主義 > kan''nenshugi\ ;
+通勤時間 > tsuukinjikan\ ;
+経済体制 > keizaitaisei\ ;
+住所氏名 > juushoshimei\ ;
+疾風怒濤 > shippuudotou\ ;
+医療材料 > iryouzairyou\ ;
+有機農業 > yuukinougyou\ ;
+妨害放送 > bougaihousou\ ;
+金属元素 > kinzokugenso\ ;
+歯内療法 > shikaryouhou\ ;
+悪戯小僧 > itazurakozou\ ;
+全権大使 > zenkentaishi\ ;
+危急存亡 > kikyuusonbou\ ;
+宇宙中継 > uchuuchuukei\ ;
+非人間的 > hiningenteki\ ;
+受信装置 > jushinsouchi\ ;
+数値計算 > suuchikeisan\ ;
+片言隻語 > hengensekigo\ ;
+懐中時計 > kaichuudokei\ ;
+競輪選手 > keirinsenshu\ ;
+暗号解読 > angoukaidoku\ ;
+反動思想 > handoushisou\ ;
+実証主義 > jisshoushugi\ ;
+標準偏差 > hyoujunhensa\ ;
+資源問題 > shigenmondai\ ;
+運送業者 > unsougyousha\ ;
+行動地帯 > koudouchitai\ ;
+平等主義 > byoudoushugi\ ;
+交代投手 > koutaitoushu\ ;
+国家独占 > kokkadokusen\ ;
+土地改良 > tochikairyou\ ;
+環境基準 > kankyoukijun\ ;
+外交文書 > gaikoubunsho\ ;
+軽挙妄動 > keikyomoudou\ ;
+防虫加工 > bouchuukakou\ ;
+不在投票 > fuzaitouhyou\ ;
+嫌煙運動 > ken''en''undou\ ;
+封緘葉書 > fuukanhagaki\ ;
+泰然自若 > taizenjijaku\ ;
+敗北主義 > haibokushugi\ ;
+価格性能 > kakakuseinou\ ;
+書類送検 > shoruisouken\ ;
+人権問題 > jinkenmondai\ ;
+一死報国 > isshihoukoku\ ;
+練馬大根 > nerimadaikon\ ;
+一糸一毫 > isshiichigou\ ;
+特殊事情 > tokushujijou\ ;
+老少不定 > roushoufutei\ ;
+相乗平均 > soujouheikin\ ;
+万年候補 > man''nenkouho\ ;
+安全教育 > anzenkyouiku\ ;
+無賃乗車 > muchinjousha\ ;
+片務契約 > henmukeiyaku\ ;
+一般大衆 > ippantaishuu\ ;
+古典文学 > kotenbungaku\ ;
+高校野球 > koukouyakyuu\ ;
+不審訊問 > fushinjinmon\ ;
+中華料理 > chuukaryouri\ ;
+健康状態 > kenkoujoutai\ ;
+鹿児島県 > kagoshimaken\ ;
+準備状況 > junbijoukyou\ ;
+選外佳作 > sengaikasaku\ ;
+言語教育 > gengokyouiku\ ;
+同文同種 > doubundoushu\ ;
+給与体系 > kyuuyotaikei\ ;
+麻薬犯罪 > mayakuhanzai\ ;
+朝令暮改 > choureibokai\ ;
+互恵条約 > gokeijouyaku\ ;
+一国一票 > ikkokuippyou\ ;
+砲艦外交 > houkangaikou\ ;
+流行言葉 > hayarikotoba\ ;
+交通機関 > koutsuukikan\ ;
+水銀電池 > suigindenchi\ ;
+追善供養 > tsuizenkuyou\ ;
+他力本願 > tarikihongan\ ;
+符号解読 > fugoukaidoku\ ;
+知能指数 > chinoushisuu\ ;
+当営業所 > toueigyousho\ ;
+職員会議 > shokuinkaigi\ ;
+言語特有 > gengotokuyuu\ ;
+最小限度 > saishougendo\ ;
+染井吉野 > someiyoshino\ ;
+完全犯罪 > kanzenhanzai\ ;
+教育制度 > kyouikuseido\ ;
+戦国時代 > sengokujidai\ ;
+前駆症状 > zenkushoujou\ ;
+紫綬褒賞 > shijuhoushou\ ;
+一言半句 > ichigonhanku\ ;
+不法占有 > fuhousen''yuu\ ;
+家庭環境 > kateikankyou\ ;
+舞台監督 > butaikantoku\ ;
+合成皮革 > gouseihikaku\ ;
+在宅勤務 > zaitakukinmu\ ;
+不在地主 > fuzaijinushi\ ;
+一宿一飯 > isshukuippan\ ;
+老人病院 > roujinbyouin\ ;
+片肺飛行 > katahaihikou\ ;
+対潜水艦 > taisensuikan\ ;
+警戒警報 > keikaikeihou\ ;
+累積赤字 > ruisekiakaji\ ;
+家族構成 > kazokukousei\ ;
+内柔外剛 > naijuugaigou\ ;
+属人主義 > zokujinshugi\ ;
+硬軟両派 > kounanryouha\ ;
+座席番号 > zasekibangou\ ;
+空中浮揚 > kuuchuufuyou\ ;
+丁稚奉公 > detchiboukou\ ;
+一方交通 > ippoukoutsuu\ ;
+三日月形 > mikadzukikei\ ;
+検事総長 > kenjisouchou\ ;
+新規投資 > shinkitoushi\ ;
+単語検索 > tangokensaku\ ;
+隠匿物資 > intokubusshi\ ;
+女人禁制 > nyoninkinsei\ ;
+大修道院 > daishuudouin\ ;
+森林公園 > shinrinkouen\ ;
+受験資格 > jukenshikaku\ ;
+大和言葉 > yamatokotoba\ ;
+儀式主義 > gishikishugi\ ;
+造山運動 > zouzan''undou\ ;
+一般教育 > ippankyouiku\ ;
+立体音響 > rittaionkyou\ ;
+特集記事 > tokushuukiji\ ;
+付帯決議 > futaiketsugi\ ;
+製紙工場 > seishikoujou\ ;
+救援投手 > kyuuentoushu\ ;
+財団法人 > zaidanhoujin\ ;
+民俗舞踊 > minzokubuyou\ ;
+戦争犯罪 > sensouhanzai\ ;
+難燃加工 > nan''nenkakou\ ;
+南船北馬 > nansenhokuba\ ;
+機能障害 > kinoushougai\ ;
+日本国民 > nihonkokumin\ ;
+舞踏教師 > butoukyoushi\ ;
+林間学校 > rinkangakkou\ ;
+花魁道中 > oirandouchuu\ ;
+滑降競技 > kakkoukyougi\ ;
+在外公館 > zaigaikoukan\ ;
+地方選挙 > chihousenkyo\ ;
+合成化学 > gouseikagaku\ ;
+私製葉書 > shiseihagaki\ ;
+不定積分 > futeisekibun\ ;
+正々堂々 > seiseidoudou\ ;
+半信半疑 > hanshinhangi\ ;
+輸入超過 > yunyuuchouka\ ;
+四元速度 > shigensokudo\ ;
+付属学校 > fuzokugakkou\ ;
+人工真珠 > jinkoushinju\ ;
+人権団体 > jinkendantai\ ;
+本文批評 > honmonhihyou\ ;
+画龍点睛 > garyoutensei\ ;
+乾地農法 > kanchinouhou\ ;
+喧喧囂囂 > kenkengougou\ ;
+人定尋問 > jinteijinmon\ ;
+任期満了 > ninkimanryou\ ;
+競馬新聞 > keibashinbun\ ;
+電気工学 > denkikougaku\ ;
+供給過多 > kyoukyuukata\ ;
+口頭審理 > koutoushinri\ ;
+平和教育 > heiwakyouiku\ ;
+総合病院 > sougoubyouin\ ;
+上層気流 > jousoukiryuu\ ;
+老齢年金 > roureinenkin\ ;
+演奏練習 > ensourenshuu\ ;
+仕掛地雷 > shikakejirai\ ;
+回転資金 > kaitenshikin\ ;
+暗中模索 > anchuumosaku\ ;
+唯我独尊 > yuigadokuson\ ;
+集散主義 > shuusanshugi\ ;
+土産物屋 > miyagemonoya\ ;
+自給自足 > jikyuujisoku\ ;
+和平協定 > waheikyoutei\ ;
+地方分権 > chihoubunken\ ;
+市内観光 > shinaikankou\ ;
+放射能雨 > houshanouame\ ;
+諜報機関 > chouhoukikan\ ;
+就学義務 > shuugakugimu\ ;
+航空優勢 > koukuuyuusei\ ;
+人才登用 > jinzaitouyou\ ;
+複本位制 > fukuhon''isei\ ;
+生活保護 > seikatsuhogo\ ;
+集中豪雨 > shuuchuugouu\ ;
+徴兵免除 > chouheimenjo\ ;
+公害問題 > kougaimondai\ ;
+単身赴任 > tanshinfunin\ ;
+差別用語 > sabetsuyougo\ ;
+人口動態 > jinkoudoutai\ ;
+宇宙物理 > uchuubutsuri\ ;
+全面戦争 > zenmensensou\ ;
+経済状態 > keizaijoutai\ ;
+委託研究 > itakukenkyuu\ ;
+千辛万苦 > senshinbanku\ ;
+医療報酬 > iryouhoushuu\ ;
+水晶時計 > suishoudokei\ ;
+三文文士 > sanmonbunshi\ ;
+回転木馬 > kaitenmokuba\ ;
+不戦条約 > fusenjouyaku\ ;
+一生懸命 > isshoukenmei\ ;
+日進月歩 > nisshingeppo\ ;
+受託販売 > jutakuhanbai\ ;
+文化勲章 > bunkakunshou\ ;
+悠悠閑閑 > yuuyuukankan\ ;
+仏英辞典 > futsueijiten\ ;
+衛生工学 > eiseikougaku\ ;
+政見放送 > seikenhousou\ ;
+水性塗料 > suiseitoryou\ ;
+先進兵器 > senshinheiki\ ;
+自己中心 > jikochuushin\ ;
+同和教育 > douwakyouiku\ ;
+学齢児童 > gakureijidou\ ;
+聖地巡礼 > seichijunrei\ ;
+社団法人 > shadanhoujin\ ;
+貨物輸送 > kamotsuyusou\ ;
+正多角形 > seitakakukei\ ;
+電気容量 > denkiyouryou\ ;
+準禁治産 > junkinchisan\ ;
+化学構造 > kagakukouzou\ ;
+一党独裁 > ittoudokusai\ ;
+無限小数 > mugenshousuu\ ;
+渾然一体 > konzen''ittai\ ;
+海底地震 > kaiteijishin\ ;
+博士課程 > hakushikatei\ ;
+平均寿命 > heikinjumyou\ ;
+市民運動 > shimin''undou\ ;
+記念出版 > kinenshuppan\ ;
+装置制御 > souchiseigyo\ ;
+原裁判所 > gensaibansho\ ;
+厚生大臣 > kouseidaijin\ ;
+油脂工業 > yushikougyou\ ;
+総支配人 > soushihainin\ ;
+日照時間 > nisshoujikan\ ;
+一般教書 > ippankyousho\ ;
+一部始終 > ichibushijuu\ ;
+関数原型 > kansuugenkei\ ;
+三重宝冠 > sanjuuhoukan\ ;
+歓送迎会 > kansougeikai\ ;
+緊急避難 > kinkyuuhinan\ ;
+刹那主義 > setsunashugi\ ;
+工業地区 > kougyouchiku\ ;
+我楽多市 > garakutaichi\ ;
+転写捺染 > tenshanassen\ ;
+自然災害 > shizensaigai\ ;
+天井棧敷 > tenjousajiki\ ;
+先行条件 > senkoujouken\ ;
+月下氷人 > gekkahyoujin\ ;
+医薬分業 > iyakubungyou\ ;
+身元保証 > mimotohoshou\ ;
+純正科学 > junseikagaku\ ;
+二重道徳 > nijuudoutoku\ ;
+悲喜交交 > hikikomogomo\ ;
+緊急動議 > kinkyuudougi\ ;
+太陽電池 > taiyoudenchi\ ;
+街頭録音 > gaitourokuon\ ;
+国際機関 > kokusaikikan\ ;
+前傾姿勢 > zenkeishisei\ ;
+帰属意識 > kizokuishiki\ ;
+公衆便所 > koushuubenjo\ ;
+日本国内 > nihonkokunai\ ;
+選民思想 > senminshisou\ ;
+咀嚼運動 > soshakuundou\ ;
+共同疎開 > kyoudousokai\ ;
+記念写真 > kinenshashin\ ;
+火燵布団 > kotatsubuton\ ;
+全面禁止 > zenmenkinshi\ ;
+北回帰線 > kitakaikisen\ ;
+連合艦隊 > rengoukantai\ ;
+人命救助 > jinmeikyuujo\ ;
+戦争状態 > sensoujoutai\ ;
+女子大学 > joshidaigaku\ ;
+国士無双 > kokushimusou\ ;
+平均余命 > heikin''yomei\ ;
+事例研究 > jireikenkyuu\ ;
+分散投資 > bunsantoushi\ ;
+偶像礼拝 > guuzoureihai\ ;
+効果覿面 > koukatekimen\ ;
+緊張緩和 > kinchoukanwa\ ;
+不許複製 > fukyofukusei\ ;
+北欧神話 > hokuoushinwa\ ;
+人事行政 > jinjigyousei\ ;
+昭和年間 > shouwanenkan\ ;
+国字問題 > kokujimondai\ ;
+国務大臣 > kokumudaijin\ ;
+言語障害 > gengoshougai\ ;
+再販価格 > saihankakaku\ ;
+平均株価 > heikinkabuka\ ;
+安息香酸 > ansokukousan\ ;
+譜代大名 > fudaidaimyou\ ;
+道路計画 > dourokeikaku\ ;
+古自動車 > furujidousha\ ;
+容姿端麗 > youshitanrei\ ;
+請負業者 > ukeoigyousha\ ;
+通常口語 > tsuujoukougo\ ;
+在外邦人 > zaigaihoujin\ ;
+開放経済 > kaihoukeizai\ ;
+体操競技 > taisoukyougi\ ;
+労働同盟 > roudoudoumei\ ;
+国際都市 > kokusaitoshi\ ;
+有刺鉄線 > yuushitessen\ ;
+団体行動 > dantaikoudou\ ;
+応用数学 > ouyousuugaku\ ;
+交通巡査 > koutsuujunsa\ ;
+無敵艦隊 > mutekikantai\ ;
+航空会社 > koukuugaisha\ ;
+大政奉還 > taiseihoukan\ ;
+不撓不屈 > futoufukutsu\ ;
+相関関係 > soukankankei\ ;
+同盟罷業 > doumeihigyou\ ;
+軍備競争 > gunbikyousou\ ;
+形容動詞 > keiyoudoushi\ ;
+補給幹線 > hokyuukansen\ ;
+為替裁定 > kawasesaitei\ ;
+表現主義 > hyougenshugi\ ;
+文教地区 > bunkyouchiku\ ;
+金属疲労 > kinzokuhirou\ ;
+強制疎開 > kyouseisokai\ ;
+警視総監 > keishisoukan\ ;
+代表社員 > daihyoushain\ ;
+借屋住居 > shakuyazumai\ ;
+徴兵制度 > chouheiseido\ ;
+短期大学 > tankidaigaku\ ;
+立体放送 > rittaihousou\ ;
+天井桟敷 > tenjousajiki\ ;
+圧迫包帯 > appakuhoutai\ ;
+通用期間 > tsuuyoukikan\ ;
+勉強時間 > benkyoujikan\ ;
+戸籍謄本 > kosekitouhon\ ;
+家庭教育 > kateikyouiku\ ;
+地震探鉱 > jishintankou\ ;
+避難梯子 > hinanbashigo\ ;
+社会奉仕 > shakaihoushi\ ;
+婚外性交 > kongaiseikou\ ;
+不可抗力 > fukakouryoku\ ;
+執行機関 > shikkoukikan\ ;
+勤務評定 > kinmuhyoutei\ ;
+常用対数 > jouyoutaisuu\ ;
+大道芸人 > daidougeinin\ ;
+黒風白雨 > kokufuuhakuu\ ;
+銀行業務 > ginkougyoumu\ ;
+現地調査 > genchichousa\ ;
+遠洋航海 > en''youkoukai\ ;
+外交関係 > gaikoukankei\ ;
+私学助成 > shigakujosei\ ;
+無痛分娩 > mutsuubunben\ ;
+不良債権 > furyousaiken\ ;
+地域時刻 > chiikijikoku\ ;
+凹版印刷 > ouhaninsatsu\ ;
+基幹産業 > kikansangyou\ ;
+路上駐車 > rojouchuusha\ ;
+首脳会談 > shunoukaidan\ ;
+独裁政治 > dokusaiseiji\ ;
+外交問題 > gaikoumondai\ ;
+破産申請 > hasanshinsei\ ;
+郷土芸能 > kyoudogeinou\ ;
+後方地域 > kouhouchiiki\ ;
+太陽放射 > taiyouhousha\ ;
+西洋文明 > seiyoubunmei\ ;
+振替輸送 > furikaeyusou\ ;
+交換条件 > koukanjouken\ ;
+発行市場 > hakkoushijou\ ;
+一昨昨年 > sakiototoshi\ ;
+製菓業者 > seikagyousha\ ;
+愛国団体 > aikokudantai\ ;
+変形規則 > henkeikisoku\ ;
+人気投票 > ninkitouhyou\ ;
+男女平等 > danjobyoudou\ ;
+郵便葉書 > yuubinhagaki\ ;
+浅学非才 > sengakuhisai\ ;
+市場撤退 > shijoutettai\ ;
+定期検診 > teikikenshin\ ;
+団体競技 > dantaikyougi\ ;
+民間団体 > minkandantai\ ;
+封建思想 > houkenshisou\ ;
+航続距離 > kouzokukyori\ ;
+双峰駱駝 > souhourakuda\ ;
+百科全書 > hyakkazensho\ ;
+試行錯誤 > shikousakugo\ ;
+工場地帯 > koujouchitai\ ;
+政治改革 > seijikaikaku\ ;
+市民会館 > shiminkaikan\ ;
+有限会社 > yuugengaisha\ ;
+重商主義 > juushoushugi\ ;
+駅前広場 > ekimaehiroba\ ;
+政治責任 > seijisekinin\ ;
+専業主婦 > sengyoushufu\ ;
+現場監督 > genbakantoku\ ;
+公転周期 > koutenshuuki\ ;
+口三味線 > kuchijamisen\ ;
+一昨昨夜 > issakusakuya\ ;
+血清肝炎 > kesseikan''en\ ;
+人跡未踏 > jinsekimitou\ ;
+強制保険 > kyouseihoken\ ;
+一望千里 > ichibousenri\ ;
+刑務所長 > keimushochou\ ;
+場内放送 > jounaihousou\ ;
+朝三暮四 > chousanboshi\ ;
+福祉国家 > fukushikokka\ ;
+長刀一枝 > choutouisshi\ ;
+悲喜交々 > hikikomogomo\ ;
+無線工学 > musenkougaku\ ;
+勝利投手 > shouritoushu\ ;
+天気概況 > tenkigaikyou\ ;
+無常迅速 > mujoujinsoku\ ;
+行動科学 > koudoukagaku\ ;
+予防注射 > yobouchuusha\ ;
+極秘情報 > gokuhijouhou\ ;
+封建社会 > houkenshakai\ ;
+労使紛争 > roushifunsou\ ;
+自学自習 > jigakujishuu\ ;
+不連続線 > furenzokusen\ ;
+治外法権 > chigaihouken\ ;
+経済外交 > keizaigaikou\ ;
+刃物三昧 > hamonozanmai\ ;
+光学繊維 > kougakusen''i\ ;
+全休止符 > zenkyuushifu\ ;
+和洋折衷 > wayousetchuu\ ;
+清算会社 > seisangaisha\ ;
+廃藩置県 > haihanchiken\ ;
+臨床講義 > rinshoukougi\ ;
+純日本風 > jun''nihonfuu\ ;
+挙国一致 > kyokokuitchi\ ;
+大衆運動 > taishuuundou\ ;
+市場調査 > shijouchousa\ ;
+公開外交 > koukaigaikou\ ;
+大蔵大臣 > ookuradaijin\ ;
+修正予算 > shuuseiyosan\ ;
+行政機関 > gyouseikikan\ ;
+政教分離 > seikyoubunri\ ;
+搭乗案内 > toujouan''nai\ ;
+五人囃子 > goninbayashi\ ;
+独善主義 > dokuzenshugi\ ;
+航空書簡 > koukuushokan\ ;
+賛否同票 > sanpidouhyou\ ;
+人文学派 > jinbungakuha\ ;
+援用生産 > en''youseisan\ ;
+不耕作地 > fukousakuchi\ ;
+大使公邸 > taishikoutei\ ;
+決議事項 > ketsugijikou\ ;
+温泉療法 > onsenryouhou\ ;
+一顰一笑 > ippin''isshou\ ;
+電気信号 > denkishingou\ ;
+専管水域 > senkansuiiki\ ;
+天体崇拝 > tentaisuuhai\ ;
+相互参照 > sougosanshou\ ;
+割烹料理 > kappouryouri\ ;
+郊外電車 > kougaidensha\ ;
+修正主義 > shuuseishugi\ ;
+補強証拠 > hokyoushouko\ ;
+人材銀行 > jinzaiginkou\ ;
+近代音楽 > kindaiongaku\ ;
+裏面工作 > rimenkousaku\ ;
+法治社会 > houchishakai\ ;
+大盤振舞 > oobanburumai\ ;
+三岐代表 > sangidaihyou\ ;
+教員組合 > kyouinkumiai\ ;
+海難救助 > kainankyuujo\ ;
+録音放送 > rokuonhousou\ ;
+三者凡退 > sanshabontai\ ;
+日本海流 > nihonkairyuu\ ;
+史上最大 > shijousaidai\ ;
+記憶障害 > kiokushougai\ ;
+不労所得 > furoushotoku\ ;
+老荘思想 > rousoushisou\ ;
+軍需工業 > gunjukougyou\ ;
+離合集散 > rigoushuusan\ ;
+良妻賢母 > ryousaikenbo\ ;
+軍司令官 > gunshireikan\ ;
+貿易会社 > bouekigaisha\ ;
+燐酸肥料 > rinsanhiryou\ ;
+無限責任 > mugensekinin\ ;
+科学思想 > kagakushisou\ ;
+四海同胞 > shikaidouhou\ ;
+健康問題 > kenkoumondai\ ;
+感傷主義 > kanshoushugi\ ;
+馬頭観音 > batoukan''non\ ;
+天頂距離 > tenchoukyori\ ;
+調査部長 > chousabuchou\ ;
+千紫万紅 > senshibankou\ ;
+行動命令 > koudoumeirei\ ;
+為替手形 > kawasetegata\ ;
+赤道気団 > sekidoukidan\ ;
+空中落下 > kuuchuurakka\ ;
+定格荷重 > teikakukajuu\ ;
+為替銀行 > kawaseginkou\ ;
+官能主義 > kan''noushugi\ ;
+家庭教師 > kateikyoushi\ ;
+昼夜兼行 > chuuyakenkou\ ;
+会社営業 > kaishaeigyou\ ;
+啓蒙思想 > keimoushisou\ ;
+非循環的 > hijunkanteki\ ;
+文民統制 > bunmintousei\ ;
+過酸化物 > kasankabutsu\ ;
+一念発起 > ichinenhokki\ ;
+育成栽培 > ikuseisaibai\ ;
+現場検証 > genbakenshou\ ;
+時代考証 > jidaikoushou\ ;
+感度良好 > kandoryoukou\ ;
+透明人間 > toumeiningen\ ;
+常套手段 > joutoushudan\ ;
+和平工作 > waheikousaku\ ;
+暗中飛躍 > anchuuhiyaku\ ;
+人民裁判 > jinminsaiban\ ;
+施行規則 > shikoukisoku\ ;
+半身不随 > hanshinfuzui\ ;
+普通名詞 > futsuumeishi\ ;
+対象範囲 > taishouhan''i\ ;
+人民戦線 > jinminsensen\ ;
+簡明強固 > kanmeikyouko\ ;
+可能選択 > kanousentaku\ ;
+屋内競技 > okunaikyougi\ ;
+多情仏心 > tajoubusshin\ ;
+単純計算 > tanjunkeisan\ ;
+公衆電話 > koushuudenwa\ ;
+花自動車 > hanajidousha\ ;
+放蕩息子 > houtoumusuko\ ;
+写真機店 > shashinkiten\ ;
+三等軍曹 > santougunsou\ ;
+緊急逮捕 > kinkyuutaiho\ ;
+貞操蹂躪 > teisoujuurin\ ;
+心肺機能 > shinpaikinou\ ;
+雌雄同株 > shiyuudoushu\ ;
+順風満帆 > junpuumanpan\ ;
+学校法人 > gakkouhoujin\ ;
+変位電流 > hen''idenryuu\ ;
+前哨勤務 > zenshoukinmu\ ;
+海洋科学 > kaiyoukagaku\ ;
+農民運動 > noumin''undou\ ;
+責任範囲 > sekininhan''i\ ;
+発光塗料 > hakkoutoryou\ ;
+感応作用 > kan''nousayou\ ;
+子持昆布 > komochikonbu\ ;
+市営住宅 > shieijuutaku\ ;
+事業部長 > jigyoubuchou\ ;
+大胆不敵 > daitanfuteki\ ;
+天地創造 > tenchisouzou\ ;
+市場経済 > shijoukeizai\ ;
+予定期日 > yoteikijitsu\ ;
+医療技術 > iryougijutsu\ ;
+使役動詞 > shiekidoushi\ ;
+徴兵検査 > chouheikensa\ ;
+自家発電 > jikahatsuden\ ;
+同語反復 > dougohanpuku\ ;
+弁論大会 > benrontaikai\ ;
+一般投票 > ippantouhyou\ ;
+一人息子 > hitorimusuko\ ;
+退役軍人 > taiekigunjin\ ;
+人生最悪 > jinseisaiaku\ ;
+印加電圧 > inkaden''atsu\ ;
+液性限界 > ekiseigenkai\ ;
+栄養学者 > eiyougakusha\ ;
+都市交通 > toshikoutsuu\ ;
+交換教授 > koukankyouju\ ;
+学生時代 > gakuseijidai\ ;
+愛社精神 > aishaseishin\ ;
+老化現象 > roukagenshou\ ;
+社会問題 > shakaimondai\ ;
+盲管銃創 > moukanjuusou\ ;
+東海地方 > toukaichihou\ ;
+発行会社 > hakkougaisha\ ;
+近所合壁 > kinjogappeki\ ;
+音声圧縮 > onseiasshuku\ ;
+民族主義 > minzokushugi\ ;
+専門科目 > senmonkamoku\ ;
+減量経営 > genryoukeiei\ ;
+睡眠不足 > suiminbusoku\ ;
+兄妹喧嘩 > kyoudaigenka\ ;
+運送契約 > unsoukeiyaku\ ;
+舞台中継 > butaichuukei\ ;
+下層階級 > kasoukaikyuu\ ;
+経済闘争 > keizaitousou\ ;
+不良少女 > furyoushoujo\ ;
+応援演説 > ouen''enzetsu\ ;
+行動半径 > koudouhankei\ ;
+地震地帯 > jishinchitai\ ;
+通過貿易 > tsuukaboueki\ ;
+統計年鑑 > toukeinenkan\ ;
+人手不足 > hitodebusoku\ ;
+十中八九 > jitchuuhakku\ ;
+滋強飲料 > jikyouinryou\ ;
+四角号碼 > shikakugouma\ ;
+固定観念 > koteikan''nen\ ;
+経験科学 > keikenkagagu\ ;
+荷電粒子 > kadenryuushi\ ;
+人工生命 > jinkouseimei\ ;
+電気料金 > denkiryoukin\ ;
+往復葉書 > oufukuhagaki\ ;
+人造石油 > jinzousekiyu\ ;
+天竺牡丹 > tenjikubotan\ ;
+御馳走様 > gochisousama\ ;
+天路歴程 > tenrorekitei\ ;
+共同便所 > kyoudoubenjo\ ;
+暗殺未遂 > ansatsumisui\ ;
+未払費用 > miharaihiyou\ ;
+相互配属 > sougohaizoku\ ;
+破顔一笑 > hagan''isshou\ ;
+治療効果 > chiryoukouka\ ;
+猟官制度 > ryoukanseido\ ;
+収容患者 > shuuyoukanja\ ;
+武陵桃源 > buryoutougen\ ;
+人民所有 > jinminshoyuu\ ;
+反射係数 > hanshakeisuu\ ;
+工業意匠 > kougyouishou\ ;
+相対評価 > soutaihyouka\ ;
+経済問題 > keizaimondai\ ;
+三十六計 > sanjuurokkei\ ;
+残業手当 > zangyouteate\ ;
+投球動作 > toukyuudousa\ ;
+防災訓練 > bousaikunren\ ;
+耐用年数 > taiyounensuu\ ;
+民定憲法 > minteikenpou\ ;
+福利厚生 > fukurikousei\ ;
+消耗品費 > shoumouhinhi\ ;
+私有財産 > shiyuuzaisan\ ;
+学級閉鎖 > gakkyuuheisa\ ;
+人生記録 > jinseikiroku\ ;
+実利主義 > jitsurishugi\ ;
+公使館員 > koushikan''in\ ;
+進化論者 > shinkaronsha\ ;
+空中機動 > kuuchuukidou\ ;
+投票結果 > touhyoukekka\ ;
+前提条件 > zenteijouken\ ;
+外人選手 > gaijinsenshu\ ;
+巨大分子 > kyodaibunshi\ ;
+贋造紙幣 > ganzoushihei\ ;
+検定試験 > kenteishiken\ ;
+藍綬褒章 > ranjuhoushou\ ;
+司法試験 > shihoushiken\ ;
+柔軟体操 > juunantaisou\ ;
+不良導体 > furyoudoutai\ ;
+対戦車砲 > taisenshahou\ ;
+死体解剖 > shitaikaibou\ ;
+兼業農家 > kengyounouka\ ;
+公開録音 > koukairokuon\ ;
+海軍大臣 > kaigundaijin\ ;
+南京花火 > nankinhanabi\ ;
+扁桃腺炎 > hentousen''en\ ;
+中央銀行 > chuuouginkou\ ;
+圧縮空気 > asshukukuuki\ ;
+決済手段 > kessaishudan\ ;
+代理業者 > dairigyousha\ ;
+配置転換 > haichitenkan\ ;
+禁治産者 > kinchisansha\ ;
+全身不随 > zenshinfuzui\ ;
+運転技術 > untengijutsu\ ;
+電子音楽 > denshiongaku\ ;
+千万無量 > senmanmuryou\ ;
+自殺幇助 > jisatsuhoujo\ ;
+代数関数 > daisuukansuu\ ;
+音響設計 > onkyousekkei\ ;
+乳様突起 > nyuuyoutokki\ ;
+事前割当 > jizenwariate\ ;
+兵役免状 > heiekimenjou\ ;
+天涯孤独 > tengaikodoku\ ;
+不承不承 > fushoubushou\ ;
+無所属現 > mushozokugen\ ;
+木造家屋 > mokuzoukaoku\ ;
+養老年金 > yourounenkin\ ;
+悠々自適 > yuuyuujiteki\ ;
+事前研修 > jizenkenshuu\ ;
+体系文法 > taikeibunpou\ ;
+雌雄同体 > shiyuudoutai\ ;
+構造汚職 > kouzouoshoku\ ;
+基礎知識 > kisochishiki\ ;
+地域紛争 > chiikifunsou\ ;
+単峰駱駝 > tanpourakuda\ ;
+人気商売 > ninkishoubai\ ;
+姉妹喧嘩 > kyoudaigenka\ ;
+千姿万態 > senshibantai\ ;
+公有財産 > kouyuuzaisan\ ;
+先行投資 > senkoutoushi\ ;
+製造工程 > seizoukoutei\ ;
+自由競争 > jiyuukyousou\ ;
+川魚料理 > kawauoryouri\ ;
+現代科学 > gendaikagaku\ ;
+産業機械 > sangyoukikai\ ;
+不合格者 > fugoukakusha\ ;
+暑中見舞 > shochuumimai\ ;
+誘導尋問 > yuudoujinmon\ ;
+瑠璃唐草 > rurikarakusa\ ;
+定形動詞 > teikeidoushi\ ;
+喧々囂々 > kenkengougou\ ;
+人間関係 > ningenkankei\ ;
+赤十字社 > sekijuujisha\ ;
+無産階級 > musankaikyuu\ ;
+六法全書 > roppouzensho\ ;
+集権排除 > shuukenhaijo\ ;
+国際会議 > kokusaikaigi\ ;
+児童文学 > jidoubungaku\ ;
+軍事秘密 > gunjihimitsu\ ;
+任意出頭 > nin''ishuttou\ ;
+付随現象 > fuzuigenshou\ ;
+唇歯輔車 > shinshihosha\ ;
+原因調査 > gen''inchousa\ ;
+人跡未到 > jinsekimitou\ ;
+担当部長 > tantoubuchou\ ;
+主任教授 > shuninkyouju\ ;
+軍備削減 > gunbisakugen\ ;
+公開裁判 > koukaisaiban\ ;
+分解修理 > bunkaishuuri\ ;
+百花斉放 > hyakkaseihou\ ;
+人造真珠 > jinzoushinju\ ;
+神経過敏 > shinkeikabin\ ;
+送金為替 > soukinkawase\ ;
+厳正科学 > genseikagaku\ ;
+司法書士 > shihoushoshi\ ;
+在外資産 > zaigaishisan\ ;
+法律違反 > houritsuihan\ ;
+進路指導 > shinroshidou\ ;
+予備協約 > yobikyouyaku\ ;
+教育玩具 > kyouikugangu\ ;
+文法規則 > bunpoukisoku\ ;
+完了時制 > kanryoujisei\ ;
+事実誤認 > jijitsugonin\ ;
+軍需産業 > gunjusangyou\ ;
+自然科学 > shizenkagaku\ ;
+武者修行 > mushashugyou\ ;
+生成文法 > seiseibunpou\ ;
+司法大臣 > shihoudaijin\ ;
+主脳会談 > shunoukaidan\ ;
+御用商人 > goyoushounin\ ;
+使徒信条 > shitoshinjou\ ;
+証拠物件 > shoukobukken\ ;
+予備知識 > yobichishiki\ ;
+合名会社 > goumeigaisha\ ;
+共同一致 > kyoudouitchi\ ;
+武力政治 > buryokuseiji\ ;
+軌道修正 > kidoushuusei\ ;
+湾岸戦争 > wangansensou\ ;
+合格祈願 > goukakukigan\ ;
+化学肥料 > kagakuhiryou\ ;
+独裁国家 > dokusaikokka\ ;
+低利金融 > teirikin''yuu\ ;
+土類金属 > doruikinzoku\ ;
+共和政体 > kyouwaseitai\ ;
+法廷闘争 > houteitousou\ ;
+再生装置 > saiseisouchi\ ;
+北方領土 > hoppouryoudo\ ;
+全廃論者 > zenpaironsha\ ;
+累進課税 > ruishinkazei\ ;
+国防会議 > kokuboukaigi\ ;
+二百十日 > nihyakutooka\ ;
+事前通報 > jizentsuuhou\ ;
+社会意識 > shakaiishiki\ ;
+援助凍結 > enjotouketsu\ ;
+安全第一 > anzendaiichi\ ;
+個人攻撃 > kojinkougeki\ ;
+悪戯坊主 > itazurabouzu\ ;
+遊動円木 > yuudouenboku\ ;
+円形劇場 > enkeigekijou\ ;
+芭蕉梶木 > bashoukajiki\ ;
+情報科学 > jouhoukagaku\ ;
+傷害保険 > shougaihoken\ ;
+破産宣告 > hasansenkoku\ ;
+癩病患者 > raibyoukanja\ ;
+正正堂堂 > seiseidoudou\ ;
+因子分析 > inshibunseki\ ;
+待合政治 > machiaiseiji\ ;
+末法思想 > mappoushisou\ ;
+航続時間 > kouzokujikan\ ;
+専売特許 > senbaitokkyo\ ;
+同種同文 > doushudoubun\ ;
+鉄道事故 > tetsudoujiko\ ;
+真理関数 > shinrikansuu\ ;
+子子孫孫 > shishisonson\ ;
+英国石油 > eikokusekiyu\ ;
+保護観察 > hogokansatsu\ ;
+秘密兵器 > himitsuheiki\ ;
+郵便貯金 > yuubinchokin\ ;
+二重人格 > nijuujinkaku\ ;
+白衣明妃 > byakuemyouhi\ ;
+生体解剖 > seitaikaibou\ ;
+立太子礼 > rittaishirei\ ;
+実際問題 > jissaimondai\ ;
+公転速度 > koutensokudo\ ;
+一石二鳥 > issekinichou\ ;
+教育課程 > kyouikukatei\ ;
+人代名詞 > jindaimeishi\ ;
+優生結婚 > yuuseikekkon\ ;
+口頭試問 > koutoushimon\ ;
+交通安全 > koutsuuanzen\ ;
+和文英訳 > wabun''eiyaku\ ;
+本家本元 > honkehonmoto\ ;
+盲目飛行 > moumokuhikou\ ;
+滞空記録 > taikuukiroku\ ;
+立体裁断 > rittaisaidan\ ;
+国内事情 > kokunaijijou\ ;
+接触事故 > sesshokujiko\ ;
+乾燥腐朽 > kansoufukyuu\ ;
+合資会社 > goushigaisha\ ;
+彫刻具座 > choukokuguza\ ;
+戸外撮影 > kogaisatsuei\ ;
+応急修理 > oukyuushuuri\ ;
+麻酔注射 > masuichuusha\ ;
+末端価格 > mattankakaku\ ;
+偶像崇拝 > guuzousuuhai\ ;
+普通列車 > futsuuressha\ ;
+和平交渉 > waheikoushou\ ;
+循環論法 > junkanronpou\ ;
+飽食暖衣 > houshokudani\ ;
+機械工業 > kikaikougyou\ ;
+無限集合 > mugenshuugou\ ;
+有価証券 > yuukashouken\ ;
+総統選挙 > soutousenkyo\ ;
+人気役者 > ninkiyakusha\ ;
+市内通話 > shinaitsuuwa\ ;
+一等陸士 > ittourikushi\ ;
+講和条約 > kouwajouyaku\ ;
+工業都市 > kougyoutoshi\ ;
+卓上電話 > takujoudenwa\ ;
+客観主義 > kyakkanshugi\ ;
+共同謀議 > kyoudoubougi\ ;
+購買組合 > koubaikumiai\ ;
+請負仕事 > ukeoishigoto\ ;
+雇用契約 > koyoukeiyaku\ ;
+当意即妙 > touisokumyou\ ;
+労働市場 > roudoushijou\ ;
+反対尋問 > hantaijinmon\ ;
+士官学校 > shikangakkou\ ;
+名誉会長 > meiyokaichou\ ;
+平均給与 > heikinkyuuyo\ ;
+小便小僧 > shoubenkozou\ ;
+人権蹂躪 > jinkenjuurin\ ;
+圧縮酸素 > asshukusanso\ ;
+人権蹂躙 > jinkenjuurin\ ;
+年次報告 > nenjihoukoku\ ;
+郵便番号 > yuubinbangou\ ;
+計算問題 > keisanmondai\ ;
+総合雑誌 > sougouzasshi\ ;
+土地収用 > tochishuuyou\ ;
+広告効果 > koukokukouka\ ;
+幼児教育 > youjikyouiku\ ;
+近所迷惑 > kinjomeiwaku\ ;
+無限級数 > mugenkyuusuu\ ;
+一刻千金 > ikkokusenkin\ ;
+陪審制度 > baishinseido\ ;
+編集機能 > henshuukinou\ ;
+先取特権 > senshutokken\ ;
+専門分野 > senmonbun''ya\ ;
+担子菌類 > tanshikinrui\ ;
+関係強化 > kankeikyouka\ ;
+攻撃部隊 > kougekibutai\ ;
+秘密会議 > himitsukaigi\ ;
+武者修業 > mushashugyou\ ;
+消音装置 > shouonsouchi\ ;
+満州事変 > manshuujihen\ ;
+資産評価 > shisanhyouka\ ;
+出版許可 > shuppankyoka\ ;
+国内需要 > kokunaijuyou\ ;
+千万長者 > senbanchouja\ ;
+化学試験 > kagakushiken\ ;
+細胞培養 > saiboubaiyou\ ;
+音韻組織 > on''insoshiki\ ;
+処処方方 > shoshohoubou\ ;
+座標変換 > zahyouhenkan\ ;
+機械工学 > kikaikougaku\ ;
+第三部長 > daisanbuchou\ ;
+奇岩怪石 > kigankaiseki\ ;
+耐風構造 > taifuukouzou\ ;
+石鹸工場 > sekkenkoujou\ ;
+在郷軍人 > zaigougunjin\ ;
+幽霊会社 > yuureigaisha\ ;
+環境破壊 > kankyouhakai\ ;
+国際主義 > kokusaishugi\ ;
+御節料理 > osechiryouri\ ;
+修理工場 > shuurikoujou\ ;
+拒否反応 > kyohihan''nou\ ;
+一言一句 > ichigon''ikku\ ;
+単独飛行 > tandokuhikou\ ;
+主権在民 > shukenzaimin\ ;
+人格主義 > jinkakushugi\ ;
+自殺未遂 > jisatsumisui\ ;
+出家遁世 > shukketonsei\ ;
+紐革饂飩 > himokawaudon\ ;
+愚民政策 > guminseisaku\ ;
+単科大学 > tankadaigaku\ ;
+適正利潤 > tekiseirijun\ ;
+発音記号 > hatsuonkigou\ ;
+軍事協定 > gunjikyoutei\ ;
+西高東低 > seikoutoutei\ ;
+損耗人員 > sonmoujin''in\ ;
+実勢価格 > jisseikakaku\ ;
+援用設計 > en''yousekkei\ ;
+現場中継 > genbachuukei\ ;
+感知装置 > kanchisouchi\ ;
+議決機関 > giketsukikan\ ;
+安心立命 > anjinryoumei\ ;
+合同事業 > goudoujigyou\ ;
+同期信号 > doukishingou\ ;
+仲間意識 > nakamaishiki\ ;
+媒介変数 > baikaihensuu\ ;
+寒中水泳 > kanchuusuiei\ ;
+被保険物 > hihokenbutsu\ ;
+暗殺事件 > ansatsujiken\ ;
+折衷主義 > setchuushugi\ ;
+単式簿記 > tanshikiboki\ ;
+教養課程 > kyouyoukatei\ ;
+三者会談 > sanshakaidan\ ;
+連記投票 > renkitouhyou\ ;
+心理状態 > shinrijoutai\ ;
+海外市場 > kaigaishijou\ ;
+既成事実 > kiseijijitsu\ ;
+事務総局 > jimusoukyoku\ ;
+前進基地 > zenshinkichi\ ;
+同工異曲 > doukouikyoku\ ;
+命題関数 > meidaikansuu\ ;
+北西航路 > hokuseikouro\ ;
+合同会合 > goudoukaigou\ ;
+立地条件 > ritchijouken\ ;
+地理学者 > chirigakusha\ ;
+大所高所 > taishokousho\ ;
+重複保険 > juufukuhoken\ ;
+通常兵器 > tsuujouheiki\ ;
+外国部隊 > gaikokubutai\ ;
+文化交流 > bunkakouryuu\ ;
+市外通話 > shigaitsuuwa\ ;
+毛細血管 > mousaikekkan\ ;
+動態統計 > doutaitoukei\ ;
+社内情報 > shanaijouhou\ ;
+中公文庫 > chuukoubunko\ ;
+圧電効果 > atsudenkouka\ ;
+魑魅魍魎 > chimimouryou\ ;
+循環系統 > junkankeitou\ ;
+対人関係 > taijinkankei\ ;
+普通選挙 > futsuusenkyo\ ;
+条件闘争 > joukentousou\ ;
+千状万態 > senjoubantai\ ;
+化成工業 > kaseikougyou\ ;
+経済原論 > keizaigenron\ ;
+権謀術数 > kenboujussuu\ ;
+不揮発性 > fukihatsusei\ ;
+高等学校 > koutougakkou\ ;
+連合王国 > rengououkoku\ ;
+郵便書簡 > yuubinshokan\ ;
+深謀遠慮 > shinbouenryo\ ;
+住民運動 > juumin''undou\ ;
+法文学部 > houbungakubu\ ;
+普通郵便 > futsuuyuubin\ ;
+君主政体 > kunshuseitai\ ;
+捲土重来 > kendochourai\ ;
+女声合唱 > joseigasshou\ ;
+米西戦争 > beiseisensou\ ;
+高度成長 > koudoseichou\ ;
+乾布摩擦 > kanpumasatsu\ ;
+中華思想 > chuukashisou\ ;
+贈与証書 > zouyoshousho\ ;
+公衆衛生 > koushuueisei\ ;
+社会科学 > shakaikagaku\ ;
+農芸化学 > nougeikagaku\ ;
+交通整理 > koutsuuseiri\ ;
+特殊部隊 > tokushubutai\ ;
+事実無根 > jijitsumukon\ ;
+孔雀妙王 > kujakumyouou\ ;
+財産分与 > zaisanbun''yo\ ;
+邦字新聞 > houjishinbun\ ;
+機動計画 > kidoukeikaku\ ;
+孤立主義 > koritsushugi\ ;
+明治天皇 > meijiten''nou\ ;
+焦点距離 > shoutenkyori\ ;
+集合時間 > shuugoujikan\ ;
+住宅地区 > juutakuchiku\ ;
+多角貿易 > takakuboueki\ ;
+非喫煙者 > hikitsuensha\ ;
+消化不良 > shoukafuryou\ ;
+舞台照明 > butaishoumei\ ;
+不生産的 > fuseisanteki\ ;
+非生産的 > hiseisanteki\ ;
+募集人員 > boshuujin''in\ ;
+原稿用紙 > genkouyoushi\ ;
+無意識的 > muishikiteki\ ;
+総司令官 > soushireikan\ ;
+譲渡所得 > joutoshotoku\ ;
+学童保育 > gakudouhoiku\ ;
+最終兵器 > saishuuheiki\ ;
+滑走車輪 > kassousharin\ ;
+月刊雑誌 > gekkanzasshi\ ;
+傍若無人 > boujakubujin\ ;
+勤労奉仕 > kinrouhoushi\ ;
+性腺摘除 > seisentekijo\ ;
+憲法改正 > kenpoukaisei\ ;
+行路病者 > kourobyousha\ ;
+一人芝居 > hitorishibai\ ;
+共同防衛 > kyoudoubouei\ ;
+闘志満満 > toushimanman\ ;
+市勢調査 > shiseichousa\ ;
+会厭軟骨 > een''nankotsu\ ;
+軍用地図 > gun''youchizu\ ;
+東奔西走 > touhonseisou\ ;
+交代作業 > koutaisagyou\ ;
+日記文学 > nikkibungaku\ ;
+日系米人 > nikkeibeijin\ ;
+至公至平 > shikoushihei\ ;
+関連会社 > kanrengaisha\ ;
+人権宣言 > jinkensengen\ ;
+人造人間 > jinzouningen\ ;
+傾斜家賃 > keishayachin\ ;
+自民党則 > jimintousoku\ ;
+反復記号 > hanpukukigou\ ;
+日本航空 > nipponkoukuu\ ;
+英才教育 > eisaikyouiku\ ;
+排水条件 > haisuijouken\ ;
+英国航空 > eikokukoukuu\ ;
+暗中摸索 > anchuumosaku\ ;
+前哨騎兵 > zenshoukihei\ ;
+水素爆弾 > suisobakudan\ ;
+潅漑用水 > kangaiyousui\ ;
+一斉射撃 > isseishageki\ ;
+基軸通貨 > kijikutsuuka\ ;
+傾斜生産 > keishaseisan\ ;
+境界理論 > kyoukairiron\ ;
+天皇陛下 > ten''nouheika\ ;
+天然果汁 > ten''nenkajuu\ ;
+霊肉一致 > reinikuitchi\ ;
+経済復興 > keizaifukkou\ ;
+人口統計 > jinkoutoukei\ ;
+戦時産業 > senjisangyou\ ;
+古銭学者 > kosengakusha\ ;
+対弾道弾 > taidandoudan\ ;
+製造番号 > seizoubangou\ ;
+多重人格 > tajuujinkaku\ ;
+一刀両断 > ittouryoudan\ ;
+共産主義 > kyousanshugi\ ;
+記名投票 > kimeitouhyou\ ;
+休憩時間 > kyuukeijikan\ ;
+丸太足場 > marutaashiba\ ;
+桃色遊戯 > momoiroyuugi\ ;
+武士階級 > bushikaikyuu\ ;
+国際電話 > kokusaidenwa\ ;
+人工地震 > jinkoujishin\ ;
+潜在主権 > senzaishuken\ ;
+過小評価 > kashouhyouka\ ;
+範疇部門 > hanchuubumon\ ;
+修道制度 > shuudouseido\ ;
+統語範疇 > tougohanchuu\ ;
+衛生設備 > eiseisetsubi\ ;
+一次産品 > ichijisanpin\ ;
+公明正大 > koumeiseidai\ ;
+花火線香 > hanabisenkou\ ;
+舶用機関 > hakuyoukikan\ ;
+公民権法 > kouminkenhou\ ;
+昏睡状態 > konsuijoutai\ ;
+対向車線 > taikoushasen\ ;
+鉄拳制裁 > tekkenseisai\ ;
+桂冠詩人 > keikanshijin\ ;
+人口調査 > jinkouchousa\ ;
+司法解剖 > shihoukaibou\ ;
+人口静態 > jinkouseitai\ ;
+有体動産 > yuutaidousan\ ;
+採用試験 > saiyoushiken\ ;
+気象情報 > kishoujouhou\ ;
+有線放送 > yuusenhousou\ ;
+喀痰検査 > kakutankensa\ ;
+郷土料理 > kyoudoryouri\ ;
+三段論法 > sandanronpou\ ;
+時代精神 > jidaiseishin\ ;
+誇大広告 > kodaikoukoku\ ;
+一昨々夜 > issakusakuya\ ;
+都市計画 > toshikeikaku\ ;
+関東一円 > kantouichien\ ;
+自然発生 > shizenhassei\ ;
+欽定憲法 > kinteikenpou\ ;
+数値制御 > suuchiseigyo\ ;
+武者人形 > mushaningyou\ ;
+分周回路 > bunshuukairo\ ;
+臥龍点睛 > garyoutensei\ ;
+市民大会 > shimintaikai\ ;
+赤字国債 > akajikokusai\ ;
+使用方法 > shiyouhouhou\ ;
+小春日和 > koharubiyori\ ;
+公式試合 > koushikijiai\ ;
+照射処理 > shoushashori\ ;
+参勤交替 > sankinkoutai\ ;
+羊頭狗肉 > youtoukuniku\ ;
+斡旋業者 > assengyousha\ ;
+会社概要 > kaishagaiyou\ ;
+民主政体 > minshuseitai\ ;
+粗放農業 > sohounougyou\ ;
+財務諸表 > zaimushohyou\ ;
+蚊取線香 > katorisenkou\ ;
+広報情報 > kouhoujouhou\ ;
+緊急事態 > kinkyuujitai\ ;
+均衡価格 > kinkoukakaku\ ;
+季節変異 > kisetsuhen''i\ ;
+有感地震 > yuukanjishin\ ;
+緩和振動 > kanwashindou\ ;
+幽霊人口 > yuureijinkou\ ;
+統語指標 > tougoshihyou\ ;
+最高価格 > saikoukakaku\ ;
+酸性白土 > sanseihakudo\ ;
+民族衣装 > minzokuishou\ ;
+修士課程 > shuushikatei\ ;
+公益法人 > kouekihoujin\ ;
+歴史主義 > rekishishugi\ ;
+弁慶格子 > benkeigoushi\ ;
+第二人称 > dainininshou\ ;
+下流社会 > karyuushakai\ ;
+快楽主義 > kairakushugi\ ;
+不精不精 > fushoubushou\ ;
+制限速度 > seigensokudo\ ;
+文武両道 > bunburyoudou\ ;
+上昇限度 > joushougendo\ ;
+作用積分 > sayousekibun\ ;
+腹筋運動 > fukkin''undou\ ;
+公認記録 > kouninkiroku\ ;
+一網打尽 > ichimoudajin\ ;
+学校用品 > gakkouyouhin\ ;
+住宅手当 > juutakuteate\ ;
+認知科学 > ninchikagaku\ ;
+商売道具 > shoubaidougu\ ;
+原子戦争 > genshisensou\ ;
+二重焦点 > nijuushouten\ ;
+口答試問 > koutoushimon\ ;
+図書館長 > toshokanchou\ ;
+在庫調整 > zaikochousei\ ;
+対数関数 > taisuukansuu\ ;
+政教一致 > seikyouitchi\ ;
+文芸批評 > bungeihihyou\ ;
+線形代数 > senkeidaisuu\ ;
+連合政権 > rengouseiken\ ;
+頼母子講 > tanomoshikou\ ;
+在韓米軍 > zaikanbeigun\ ;
+一夜乞食 > ichiyakojiki\ ;
+異常終了 > ijoushuuryou\ ;
+試験地獄 > shikenjigoku\ ;
+社員教育 > shainkyouiku\ ;
+企業年金 > kigyounenkin\ ;
+乞食根性 > kojikikonjou\ ;
+企業合同 > kigyougoudou\ ;
+自主指針 > jishushishin\ ;
+感慨無量 > kangaimuryou\ ;
+敵性国家 > tekiseikokka\ ;
+等差級数 > tousakyuusuu\ ;
+師範学校 > shihangakkou\ ;
+経済社会 > keizaishakai\ ;
+改良主義 > kairyoushugi\ ;
+経済制裁 > keizaiseisai\ ;
+主戦投手 > shusentoushu\ ;
+遊撃隊員 > yuugekitaiin\ ;
+一時帰休 > ichijikikyuu\ ;
+受益証券 > juekishouken\ ;
+拙速主義 > sessokushugi\ ;
+未開拓地 > mikaitakuchi\ ;
+全権公使 > zenkenkoushi\ ;
+統制経済 > touseikeizai\ ;
+田園風景 > den''enfuukei\ ;
+旅行日程 > ryokounittei\ ;
+無量大数 > muryoudaisuu\ ;
+割引歩合 > waribikibuai\ ;
+反核運動 > hankakuundou\ ;
+香港返還 > honkonhenkan\ ;
+企業合併 > kigyougappei\ ;
+非行少年 > hikoushounen\ ;
+野外撮影 > yagaisatsuei\ ;
+千手観音 > senjukan''non\ ;
+精神主義 > seishinshugi\ ;
+終始一貫 > shuushiikkan\ ;
+県民会館 > kenminkaikan\ ;
+教条主義 > kyoujoushugi\ ;
+更生会社 > kouseigaisha\ ;
+繊維工業 > sen''ikougyou\ ;
+人間同士 > ningendoushi\ ;
+勘合貿易 > kangouboueki\ ;
+百家争鳴 > hyakkasoumei\ ;
+世界政策 > sekaiseisaku\ ;
+家屋台帳 > kaokudaichou\ ;
+東海道線 > toukaidousen\ ;
+過当競争 > katoukyousou\ ;
+液体窒素 > ekitaichisso\ ;
+平和協定 > heiwakyoutei\ ;
+無線電信 > musendenshin\ ;
+専門用語 > senmon''yougo\ ;
+人造肥料 > jinzouhiryou\ ;
+大砲三門 > taihousanmon\ ;
+実験装置 > jikkensouchi\ ;
+中央労働 > chuuouroudou\ ;
+内線番号 > naisenbangou\ ;
+伝記作者 > denkisakusha\ ;
+人民公社 > jinminkousha\ ;
+連絡切符 > renrakukippu\ ;
+共同墓地 > kyoudoubochi\ ;
+実態調査 > jittaichousa\ ;
+総務長官 > soumuchoukan\ ;
+混乱状態 > konranjoutai\ ;
+家族意識 > kazokuishiki\ ;
+外柔内剛 > gaijuunaigou\ ;
+訪問販売 > houmonhanbai\ ;
+排斥運動 > haisekiundou\ ;
+原子弾頭 > genshidantou\ ;
+営業案内 > eigyouan''nai\ ;
+天文航法 > tenmonkouhou\ ;
+非実際的 > hijissaiteki\ ;
+参勤交代 > sankinkoutai\ ;
+裏書譲渡 > uragakijouto\ ;
+関係書類 > kankeishorui\ ;
+免許皆伝 > menkyokaiden\ ;
+回転競技 > kaitenkyougi\ ;
+経済水域 > keizaisuiiki\ ;
+無欲恬淡 > muyokutentan\ ;
+自我実現 > jigajitsugen\ ;
+執行猶予 > shikkouyuuyo\ ;
+融通手形 > yuuzuutegata\ ;
+厚生年金 > kouseinenkin\ ;
+院内感染 > in''naikansen\ ;
+悪性水腫 > akuseisuishu\ ;
+団十郎丈 > danjuuroujou\ ;
+以心伝心 > ishindenshin\ ;
+一字千金 > ichijisenkin\ ;
+業績悪化 > gyousekiakka\ ;
+二束三文 > nisokusanmon\ ;
+兵器拡散 > heikikakusan\ ;
+交友関係 > kouyuukankei\ ;
+国際政治 > kokusaiseiji\ ;
+書面審理 > shomenshinri\ ;
+人間社会 > ningenshakai\ ;
+軍国主義 > gunkokushugi\ ;
+水上競技 > suijoukyougi\ ;
+河原乞食 > kawarakojiki\ ;
+二重撮影 > nijuusatsuei\ ;
+絶対評価 > zettaihyouka\ ;
+在米邦人 > zaibeihoujin\ ;
+四月馬鹿 > shigatsubaka\ ;
+新進気鋭 > shinshinkiei\ ;
+所得控除 > shotokukoujo\ ;
+関係会社 > kankeigaisha\ ;
+自信満満 > jishinmanman\ ;
+日本学者 > nihongakusha\ ;
+春日大社 > kasugataisha\ ;
+文明社会 > bunmeishakai\ ;
+同人雑誌 > doujinzasshi\ ;
+司法裁判 > shihousaiban\ ;
+人体実験 > jintaijikken\ ;
+亡命政権 > boumeiseiken\ ;
+仲間同士 > nakamadoushi\ ;
+経営工学 > keieikougaku\ ;
+賛否両論 > sanpiryouron\ ;
+不法集会 > fuhoushuukai\ ;
+眼高手低 > gankoushutei\ ;
+自動小銃 > jidoushoujuu\ ;
+地域社会 > chiikishakai\ ;
+交流人事 > kouryuujinji\ ;
+特殊効果 > tokushukouka\ ;
+自家中毒 > jikachuudoku\ ;
+盲貫銃創 > moukanjuusou\ ;
+人気番組 > ninkibangumi\ ;
+敵本主義 > tekihonshugi\ ;
+口内性交 > kounaiseikou\ ;
+脳軟化症 > nounankashou\ ;
+現地法人 > genchihoujin\ ;
+自動車泥 > jidoushadoro\ ;
+一時停止 > ichijiteishi\ ;
+学園紛争 > gakuenfunsou\ ;
+最高学府 > saikougakufu\ ;
+保険契約 > hokenkeiyaku\ ;
+女性差別 > joseisabetsu\ ;
+児童福祉 > jidoufukushi\ ;
+試験問題 > shikenmondai\ ;
+漸進主義 > zenshinshugi\ ;
+音信不通 > onshinfutsuu\ ;
+勇往邁進 > yuuoumaishin\ ;
+静止状態 > seishijoutai\ ;
+北支事変 > hokushijihen\ ;
+寸借詐欺 > sunshakusagi\ ;
+指名通話 > shimeitsuuwa\ ;
+苦心惨憺 > kushinsantan\ ;
+牽強付会 > kenkyoufukai\ ;
+寒冷前線 > kanreizensen\ ;
+速度制限 > sokudoseigen\ ;
+四部合唱 > shibugasshou\ ;
+電電公社 > dendenkousha\ ;
+優勝候補 > yuushoukouho\ ;
+友好関係 > yuukoukankei\ ;
+救援物資 > kyuuenbusshi\ ;
+神社仏閣 > jinjabukkaku\ ;
+水平思考 > suiheishikou\ ;
+音感教育 > onkankyouiku\ ;
+滞納処分 > tainoushobun\ ;
+共同経営 > kyoudoukeiei\ ;
+二六時中 > nirokujichuu\ ;
+一時賜金 > ichijishikin\ ;
+自然崇拝 > shizensuuhai\ ;
+審議未了 > shingimiryou\ ;
+養子縁組 > youshiengumi\ ;
+氏族制度 > shizokuseido\ ;
+軍陣医学 > gunjin''igaku\ ;
+正四面体 > seishimentai\ ;
+定格請負 > teikakuukeoi\ ;
+待遇改善 > taiguukaizen\ ;
+繊維光学 > sen''ikougaku\ ;
+黒人霊歌 > kokujinreika\ ;
+特殊機能 > tokushukinou\ ;
+経路積分 > keirosekibun\ ;
+国営農場 > kokueinoujou\ ;
+国粋主義 > kokusuishugi\ ;
+甲状腺炎 > koujousen''en\ ;
+資産合計 > shisangoukei\ ;
+鯨飲馬食 > geiinbashoku\ ;
+心臓発作 > shinzouhossa\ ;
+新人歌手 > shinjinkashu\ ;
+輸入手形 > yunyuutegata\ ;
+圧着端子 > atsugitanshi\ ;
+未改心者 > mikaishinsha\ ;
+無効投票 > mukoutouhyou\ ;
+難攻不落 > nankoufuraku\ ;
+一心同体 > isshindoutai\ ;
+宥和政策 > yuuwaseisaku\ ;
+限界効用 > genkaikouyou\ ;
+十万億土 > juuman''okudo\ ;
+変態心理 > hentaishinri\ ;
+拍子記号 > hyoushikigou\ ;
+公会問答 > koukaimondou\ ;
+考古学者 > koukogakusha\ ;
+野球選手 > yakyuusenshu\ ;
+夢遊病者 > muyuubyousha\ ;
+要所要所 > youshoyousho\ ;
+使徒継承 > shitokeishou\ ;
+励磁電流 > reijidenryuu\ ;
+社会制度 > shakaiseido\ ;
+代理領事 > dairiryouji\ ;
+点数切符 > tensuukippu\ ;
+化成肥料 > kaseihiryou\ ;
+未成年者 > miseinensha\ ;
+一天万乗 > ittenbanjou\ ;
+親子関係 > oyakokankei\ ;
+恐怖政治 > kyoufuseiji\ ;
+虚数単位 > kyosuutan''i\ ;
+選挙制度 > senkyoseido\ ;
+大願成就 > daiganjouju\ ;
+円卓会議 > entakukaigi\ ;
+大宮御所 > oomiyagosho\ ;
+上下関係 > jougekankei\ ;
+公営企業 > koueikigyou\ ;
+重液分離 > juuekibunri\ ;
+実践理性 > jissenrisei\ ;
+行住坐臥 > gyoujuuzaga\ ;
+言行一致 > genkouitchi\ ;
+広大無辺 > koudaimuhen\ ;
+優先事項 > yuusenjikou\ ;
+携帯電話 > keitaidenwa\ ;
+時代錯誤 > jidaisakugo\ ;
+人工衛星 > jinkoueisei\ ;
+線形順序 > senkeijunjo\ ;
+外交官補 > gaikoukanho\ ;
+住居手当 > juukyoteate\ ;
+道路標示 > dourohyouji\ ;
+予備将校 > yobishoukou\ ;
+民間飛行 > minkanhikou\ ;
+永子作権 > eikosakuken\ ;
+社会運動 > shakaiundou\ ;
+移行計画 > ikoukeikaku\ ;
+接近経路 > sekkinkeiro\ ;
+世界経済 > sekaikeizai\ ;
+浮世草子 > ukiyozoushi\ ;
+定数是正 > teisuuzesei\ ;
+安保条約 > anpojouyaku\ ;
+販売値段 > hanbainedan\ ;
+基底構造 > kiteikouzou\ ;
+必須条件 > hissujouken\ ;
+区裁判所 > kusaibansho\ ;
+予行演習 > yokouenshuu\ ;
+選挙運動 > senkyoundou\ ;
+国際規模 > kokusaikibo\ ;
+運転免許 > untenmenkyo\ ;
+線形論理 > senkeironri\ ;
+年賀郵便 > nengayuubin\ ;
+温風暖房 > onpuudanbou\ ;
+内部構造 > naibukouzou\ ;
+不定型詩 > futeikeishi\ ;
+黄金崇拝 > ougonsuuhai\ ;
+世話女房 > sewanyoubou\ ;
+犬儒学派 > kenjugakuha\ ;
+一品料理 > ippinryouri\ ;
+亜硫酸塩 > aryuusan''en\ ;
+有声子音 > yuuseishiin\ ;
+皆兵制度 > kaiheiseido\ ;
+未経験者 > mikeikensha\ ;
+上意下達 > jouikatatsu\ ;
+車間距離 > shakankyori\ ;
+氷河時代 > hyougajidai\ ;
+情報理論 > jouhouriron\ ;
+御多忙中 > gotabouchuu\ ;
+愛染明王 > aizenmyouou\ ;
+平面交差 > heimenkousa\ ;
+経験主義 > keikenshugi\ ;
+弁護士会 > bengoshikai\ ;
+純情可憐 > junjoukaren\ ;
+載貨吃水 > saikakissui\ ;
+半濁音符 > handakuonfu\ ;
+愛染妙王 > aizenmyouou\ ;
+閨秀画家 > keishuugaka\ ;
+三半規管 > sanhankikan\ ;
+封建時代 > houkenjidai\ ;
+越冬資金 > ettoushikin\ ;
+所帯道具 > shotaidougu\ ;
+傲岸無礼 > gouganburei\ ;
+社会保険 > shakaihoken\ ;
+較優位論 > kakuyuuiron\ ;
+世論調査 > yoronchousa\ ;
+冬期休暇 > toukikyuuka\ ;
+上部構造 > joubukouzou\ ;
+象形文字 > shoukeimoji\ ;
+農本主義 > nouhonshugi\ ;
+一切衆生 > issaishujou\ ;
+旧態依然 > kyuutaiizen\ ;
+整理番号 > seiribangou\ ;
+当座資産 > touzashisan\ ;
+残品整理 > zanpinseiri\ ;
+宇宙速度 > uchuusokudo\ ;
+加水分解 > kasuibunkai\ ;
+宣伝価値 > sendenkachi\ ;
+年季奉公 > nenkiboukou\ ;
+貨幣経済 > kaheikeizai\ ;
+無期懲役 > mukichoueki\ ;
+市場区分 > shijoukubun\ ;
+初期設定 > shokisettei\ ;
+人造繊維 > jinzousen''i\ ;
+普通預金 > futsuuyokin\ ;
+低利資金 > teirishikin\ ;
+真珠細工 > shinjuzaiku\ ;
+主知主義 > shuchishugi\ ;
+二項係数 > nikoukeisuu\ ;
+素性構造 > soseikouzou\ ;
+愛国主義 > aikokushugi\ ;
+戦闘支援 > sentoushien\ ;
+人名辞書 > jinmeijisho\ ;
+前輪駆動 > zenrinkudou\ ;
+価格操作 > kakakusousa\ ;
+形而下学 > keijikagaku\ ;
+一期一会 > ichigoichie\ ;
+土木工事 > dobokukouji\ ;
+女子高生 > joshikousei\ ;
+王道楽土 > oudourakudo\ ;
+悪戦苦闘 > akusenkutou\ ;
+神経外科 > shinkeigeka\ ;
+不眠不休 > fuminfukyuu\ ;
+名誉教授 > meiyokyouju\ ;
+図書館員 > toshokan''in\ ;
+高歌放吟 > koukahougin\ ;
+構成単位 > kouseitan''i\ ;
+外人記者 > gaijinkisha\ ;
+例外処理 > reigaishori\ ;
+夫婦茶碗 > meotodjawan\ ;
+全面講和 > zenmenkouwa\ ;
+義務教育 > gimukyouiku\ ;
+悲観論者 > hikanronsha\ ;
+個人情報 > kojinjouhou\ ;
+町段畝歩 > choutansebu\ ;
+代理大使 > dairitaishi\ ;
+構造主義 > kouzoushugi\ ;
+内線電話 > naisendenwa\ ;
+公示価格 > koujikakaku\ ;
+液体酸素 > ekitaisanso\ ;
+沃度丁幾 > youdochinki\ ;
+刑事訴訟 > keijisoshou\ ;
+稼働人口 > kadoujinkou\ ;
+軽機関銃 > keikikanjuu\ ;
+機密保護 > kimitsuhogo\ ;
+予備交渉 > yobikoushou\ ;
+透視図法 > toushizuhou\ ;
+練習試合 > renshuujiai\ ;
+可視光線 > kashikousen\ ;
+筆記試験 > hikkishiken\ ;
+公定相場 > kouteisouba\ ;
+価格規制 > kakakukisei\ ;
+加重平均 > kajuuheikin\ ;
+武装警官 > busoukeikan\ ;
+水子供養 > mizugokuyou\ ;
+千変万化 > senpenbanka\ ;
+査定価格 > sateikakaku\ ;
+下層社会 > kasoushakai\ ;
+自然主義 > shizenshugi\ ;
+興味本位 > kyoumihon''i\ ;
+無体資産 > mutaishisan\ ;
+経済封鎖 > keizaifuusa\ ;
+競争相手 > kyousouaite\ ;
+五輪大会 > gorintaikai\ ;
+日本三景 > nihonsankei\ ;
+油性塗料 > yuseitoryou\ ;
+改訂増補 > kaiteizouho\ ;
+一般概念 > ippangainen\ ;
+小一時間 > koichijikan\ ;
+三脚椅子 > sankyakuisu\ ;
+皮膚感覚 > hifukankaku\ ;
+権利行使 > kenrikoushi\ ;
+漢字変換 > kanjihenkan\ ;
+無体財産 > mutaizaisan\ ;
+全体会議 > zentaikaigi\ ;
+二重抵当 > nijuuteitou\ ;
+機械文明 > kikaibunmei\ ;
+天津乙女 > amatsuotome\ ;
+利害関係 > rigaikankei\ ;
+多角経営 > takakukeiei\ ;
+夫婦別姓 > fuufubessei\ ;
+日本語訳 > nihongoyaku\ ;
+交換機能 > koukankinou\ ;
+産卵場所 > sanranbasho\ ;
+走行距離 > soukoukyori\ ;
+無尽組合 > mujinkumiai\ ;
+再生利用 > saiseiriyou\ ;
+航空母艦 > koukuubokan\ ;
+人名辞典 > jinmeijiten\ ;
+昨非今是 > sakuhikonze\ ;
+新古典派 > shinkotenha\ ;
+経営資源 > keieishigen\ ;
+被害妄想 > higaimousou\ ;
+細菌兵器 > saikinheiki\ ;
+飽和溶液 > houwayoueki\ ;
+一般会計 > ippankaikei\ ;
+準備資金 > junbishikin\ ;
+政党政治 > seitouseiji\ ;
+母子年金 > boshinenkin\ ;
+美容整形 > biyouseikei\ ;
+初期投資 > shokitoushi\ ;
+最短距離 > saitankyori\ ;
+周辺機器 > shuuhenkiki\ ;
+制限時間 > seigenjikan\ ;
+勤労意欲 > kinrouiyoku\ ;
+倉庫会社 > soukogaisha\ ;
+未開社会 > mikaishakai\ ;
+過大評価 > kadaihyouka\ ;
+破廉恥罪 > harenchizai\ ;
+時限装置 > jigensouchi\ ;
+景気変動 > keikihendou\ ;
+一次記憶 > ichijikioku\ ;
+衝動行為 > shoudoukoui\ ;
+許容範囲 > kyoyouhan''i\ ;
+生産管理 > seisankanri\ ;
+医療伝道 > iryoudendou\ ;
+突貫工事 > tokkankouji\ ;
+選考基準 > senkoukijun\ ;
+都市銀行 > toshiginkou\ ;
+宣伝映画 > senden''eiga\ ;
+慈善事業 > jizenjigyou\ ;
+加速度計 > kasokudokei\ ;
+傲慢不遜 > goumanfuson\ ;
+刑務作業 > keimusagyou\ ;
+地球規模 > chikyuukibo\ ;
+途中計時 > tochuukeiji\ ;
+高射特科 > koushatokka\ ;
+三面六臂 > sanmenroppi\ ;
+微分断面 > bibundanmen\ ;
+分娩作用 > bunbensayou\ ;
+保健体育 > hokentaiiku\ ;
+暴走運転 > bousouunten\ ;
+諮問機関 > shimonkikan\ ;
+田舎芝居 > inakashibai\ ;
+癌遺伝子 > gan''idenshi\ ;
+百鬼夜行 > hyakkiyakou\ ;
+永小作権 > eikosakuken\ ;
+無死満塁 > mushimanrui\ ;
+二番抵当 > nibanteitou\ ;
+総務部長 > soumubuchou\ ;
+自由貿易 > jiyuuboueki\ ;
+平和条項 > heiwajoukou\ ;
+気分転換 > kibuntenkan\ ;
+儒教主義 > jukyoushugi\ ;
+女歌舞伎 > on''nakabuki\ ;
+飛行機雲 > hikoukigumo\ ;
+路面電車 > romendensha\ ;
+単独行為 > tandokukoui\ ;
+誠心誠意 > seishinseii\ ;
+日本料理 > nihonryouri\ ;
+故事来歴 > kojiraireki\ ;
+内輪喧嘩 > uchiwagenka\ ;
+亜硝酸塩 > ashousan''en\ ;
+一角獣座 > ikkakujuuza\ ;
+反体制派 > hantaiseiha\ ;
+区劃整理 > kukakuseiri\ ;
+放任主義 > houninshugi\ ;
+遺族給付 > izokukyuufu\ ;
+変位制御 > hen''iseigyo\ ;
+文部大臣 > monbudaijin\ ;
+女権論者 > jokenronsha\ ;
+下士官兵 > kashikanhei\ ;
+中禅寺湖 > chuuzenjiko\ ;
+製品原価 > seihingenka\ ;
+人民主義 > jinminshugi\ ;
+勉強部屋 > benkyoubeya\ ;
+神宮外苑 > jinguugaien\ ;
+全般支援 > zenpanshien\ ;
+少壮有為 > shousouyuui\ ;
+経口投与 > keikoutouyo\ ;
+換気装置 > kankisouchi\ ;
+共和制度 > kyouwaseido\ ;
+二課勉強 > nikabenkyou\ ;
+予防接種 > yobousesshu\ ;
+異国情緒 > ikokujoucho\ ;
+運転停止 > untenteishi\ ;
+悪口雑言 > akkouzougon\ ;
+軍法会議 > gunpoukaigi\ ;
+天地無用 > tenchimuyou\ ;
+異常性欲 > ijouseiyoku\ ;
+人工受胎 > jinkoujutai\ ;
+日本文法 > nihonbunpou\ ;
+上下水道 > jougesuidou\ ;
+銀行口座 > ginkoukouza\ ;
+夏期大学 > kakidaigaku\ ;
+連邦議会 > renpougikai\ ;
+末期症状 > makkijoutai\ ;
+五段動詞 > godandoushi\ ;
+立法機関 > rippoukikan\ ;
+因循姑息 > injunkosoku\ ;
+大山椒魚 > oosanshouuo\ ;
+虎視眈眈 > koshitantan\ ;
+背面飛行 > haimenhikou\ ;
+弾丸道路 > dangandouro\ ;
+優先外貨 > yuusengaika\ ;
+当用漢字 > touyoukanji\ ;
+民本主義 > minponshugi\ ;
+人工受紛 > jinkoujufun\ ;
+主要物価 > shuyoubukka\ ;
+人工受精 > jinkoujusei\ ;
+登山電車 > tozandensha\ ;
+暫定政府 > zanteiseifu\ ;
+乗合馬車 > noriaibasha\ ;
+期成同盟 > kiseidoumei\ ;
+散光星雲 > sankouseiun\ ;
+飢餓療法 > kigaryouhou\ ;
+糸偏景気 > itohenkeiki\ ;
+物価変動 > bukkahendou\ ;
+近郊都市 > kinkoutoshi\ ;
+公開期間 > koukaikikan\ ;
+前後不覚 > zengofukaku\ ;
+準備体操 > junbitaisou\ ;
+母系家族 > bokeikazoku\ ;
+歯科医術 > shikaijutsu\ ;
+金管楽器 > kinkangakki\ ;
+切磋琢磨 > sessatakuma\ ;
+一時解雇 > ichijikaiko\ ;
+運転資金 > untenshikin\ ;
+塑性限界 > soseigenkai\ ;
+金権政治 > kinkenseiji\ ;
+防御部隊 > bougyobutai\ ;
+静止衛星 > seishieisei\ ;
+再度協議 > saidokyougi\ ;
+一切合財 > issaigassai\ ;
+遺産相続 > isansouzoku\ ;
+塑性変形 > soseihenkei\ ;
+一天四海 > ittenshikai\ ;
+音響効果 > onkyoukouka\ ;
+単本位性 > tanhon''isei\ ;
+雲散霧消 > unsanmushou\ ;
+全体主義 > zentaishugi\ ;
+停止時間 > teishijikan\ ;
+低空飛行 > teikuuhikou\ ;
+支度部屋 > shitakubeya\ ;
+加工貿易 > kakouboueki\ ;
+衛星放送 > eiseihousou\ ;
+電気分解 > denkibunkai\ ;
+風致地区 > fuuchichiku\ ;
+密閉容器 > mippeiyouki\ ;
+連帯債務 > rentaisaimu\ ;
+金剛薩堕 > kongousatta\ ;
+一人天下 > hitoridenka\ ;
+時間反転 > jikanhanten\ ;
+西欧文明 > seioubunmei\ ;
+下部組織 > kabusoshiki\ ;
+相乗効果 > soujoukouka\ ;
+水平距離 > suiheikyori\ ;
+軍備撤廃 > gunbiteppai\ ;
+固有名詞 > koyuumeishi\ ;
+人間疎外 > ningensogai\ ;
+有機化学 > yuukikagaku\ ;
+仲間値段 > nakamanedan\ ;
+温故知新 > onkochishin\ ;
+暗視装置 > anshisouchi\ ;
+国家試験 > kokkashiken\ ;
+青果市場 > seikaichiba\ ;
+民事裁判 > minjisaiban\ ;
+原子兵器 > genshiheiki\ ;
+肯定応答 > kouteioutou\ ;
+変更不能 > henkoufunou\ ;
+紀勢本線 > kiseihonsen\ ;
+麻裏草履 > asaurazouri\ ;
+台湾坊主 > taiwanbouzu\ ;
+季刊雑誌 > kikanzasshi\ ;
+南阿戦争 > nan''asensou\ ;
+無線周波 > musenshuuha\ ;
+長期金利 > choukikinri\ ;
+飛行機等 > hikoukinado\ ;
+傀儡政府 > kairaiseifu\ ;
+市外電話 > shigaidenwa\ ;
+連邦政府 > renpouseifu\ ;
+放歌高吟 > houkakougin\ ;
+微量元素 > biryougenso\ ;
+英字新聞 > eijishinbun\ ;
+満身創痍 > manshinsoui\ ;
+第二組合 > dainikumiai\ ;
+婦人警官 > fujinkeikan\ ;
+第三世界 > daisansekai\ ;
+毘沙門天 > bishamonten\ ;
+社会主義 > shakaishugi\ ;
+学位論文 > gakuironbun\ ;
+社交辞令 > shakoujirei\ ;
+徴兵忌避 > chouheikihi\ ;
+機会均等 > kikaikintou\ ;
+暫定措置 > zanteisochi\ ;
+方向音痴 > houkouonchi\ ;
+世界銀行 > sekaiginkou\ ;
+全権委任 > zenken''inin\ ;
+自然言語 > shizengengo\ ;
+誇大妄想 > kodaimousou\ ;
+化粧道具 > keshoudougu\ ;
+不変資本 > fuhenshihon\ ;
+賞味期限 > shoumikigen\ ;
+心臓外科 > shinzougeka\ ;
+幾何級数 > kikakyuusuu\ ;
+三部合奏 > sanbugassou\ ;
+蒙古人種 > moukojinshu\ ;
+電気化学 > denkikagaku\ ;
+豆腐一丁 > toufuitchou\ ;
+消費都市 > shouhitoshi\ ;
+一一〇番 > hyakutooban\ ;
+家族制度 > kazokuseido\ ;
+生存期間 > seizonkikan\ ;
+野良仕事 > norashigoto\ ;
+日伊辞典 > nichiijiten\ ;
+不正乗車 > fuseijousha\ ;
+調査結果 > chousakekka\ ;
+不当廉売 > futourenbai\ ;
+滅多矢鱈 > mettayatara\ ;
+前人未踏 > zenjinmitou\ ;
+不当利得 > futouritoku\ ;
+回教寺院 > kaikyoujiin\ ;
+軍事訓練 > gunjikunren\ ;
+総合口座 > sougoukouza\ ;
+郡県制度 > gunkenseido\ ;
+使用可能 > shiyoukanou\ ;
+内部留保 > naiburyuuho\ ;
+再販制度 > saihanseido\ ;
+被選挙権 > hisenkyoken\ ;
+物価統制 > bukkatousei\ ;
+因数分解 > insuubunkai\ ;
+生生流転 > seiseiruten\ ;
+無知蒙昧 > muchimoumai\ ;
+堕落坊主 > darakubouzu\ ;
+舞台度胸 > butaidokyou\ ;
+泰西名画 > taiseimeiga\ ;
+法治国家 > houchikokka\ ;
+優先順位 > yuusenjun''i\ ;
+単位組合 > tan''ikumiai\ ;
+管理情報 > kanrijouhou\ ;
+完全主義 > kanzenshugi\ ;
+七不思議 > nanafushigi\ ;
+報復行為 > houfukukoui\ ;
+宣伝文句 > sendenmonku\ ;
+二成文系 > niseibunkei\ ;
+体内時計 > tainaidokei\ ;
+区画整理 > kukakuseiri\ ;
+終夜運転 > shuuyaunten\ ;
+加速運動 > kasokuundou\ ;
+対抗部隊 > taikoubutai\ ;
+結婚費用 > kekkonhiyou\ ;
+軍事政権 > gunjiseiken\ ;
+有機農法 > yuukinouhou\ ;
+防衛部長 > boueibuchou\ ;
+運営資金 > un''eishikin\ ;
+月見蕎麦 > tsukimisoba\ ;
+人生航路 > jinseikouro\ ;
+生命保険 > seimeihoken\ ;
+応急手当 > oukyuuteate\ ;
+有形無形 > yuukeimukei\ ;
+受信回路 > jushinkairo\ ;
+参考図書 > sankoutosho\ ;
+英雄崇拝 > eiyuusuuhai\ ;
+受験番号 > jukenbangou\ ;
+重農主義 > juunoushugi\ ;
+護国神社 > gokokujinja\ ;
+明治神宮 > meijijinguu\ ;
+少数意見 > shousuuiken\ ;
+比翼連理 > hiyokurenri\ ;
+有期年金 > yuukinenkin\ ;
+二元放送 > nigenhousou\ ;
+自信過剰 > jishinkajou\ ;
+奉納相撲 > hounouzumou\ ;
+人身御供 > hitomigokuu\ ;
+保護検束 > hogokensoku\ ;
+分県地図 > bunkenchizu\ ;
+阿諛追従 > ayutsuishou\ ;
+電光石火 > denkousekka\ ;
+波瀾万丈 > haranbanjou\ ;
+相互関係 > sougokankei\ ;
+内部仕様 > naibushiyou\ ;
+皮下注射 > hikachuusha\ ;
+乾燥野菜 > kansouyasai\ ;
+短機関銃 > tankikanjuu\ ;
+現地時間 > genchijikan\ ;
+一等軍曹 > ittougunsou\ ;
+家庭用品 > kateiyouhin\ ;
+鉱山技師 > kouzangishi\ ;
+一子相伝 > isshisouden\ ;
+時限立法 > jigenrippou\ ;
+愛別離苦 > aibetsuriku\ ;
+固定資産 > koteishisan\ ;
+和独辞典 > wadokujiten\ ;
+登校拒否 > toukoukyohi\ ;
+演奏旅行 > ensouryokou\ ;
+書画骨董 > shogakottou\ ;
+運動選手 > undousenshu\ ;
+学園都市 > gakuentoshi\ ;
+東洋主義 > touyoushugi\ ;
+大風呂敷 > ooburoshiki\ ;
+有蓋貨車 > yuugaikasha\ ;
+政治資金 > seijishikin\ ;
+言論機関 > genronkikan\ ;
+養護学校 > yougogakkou\ ;
+走行時間 > soukoujikan\ ;
+評価基準 > hyoukakijun\ ;
+新聞記事 > shinbunkiji\ ;
+夫唱婦随 > fushoufuzui\ ;
+電子辞書 > denshijisho\ ;
+同時録音 > doujirokuon\ ;
+管理社会 > kanrishakai\ ;
+一視同仁 > isshidoujin\ ;
+一視同人 > isshidoujin\ ;
+構造変化 > kouzouhenka\ ;
+女流作家 > joryuusakka\ ;
+１１０番 > hyakutooban\ ;
+司法制度 > shihouseido\ ;
+勤務交代 > kinmukoutai\ ;
+短編映画 > tanpen''eiga\ ;
+会員規約 > kaiinkiyaku\ ;
+二点先取 > nitensenshu\ ;
+反戦主義 > hansenshugi\ ;
+暴虎馮河 > boukohyouga\ ;
+左腕投手 > sawantoushu\ ;
+前期試験 > zenkishiken\ ;
+被選挙人 > hisenkyonin\ ;
+背後関係 > haigokankei\ ;
+餓鬼大将 > gakidaishou\ ;
+番号記号 > bangoukigou\ ;
+刑事補償 > keijihoshou\ ;
+一体全体 > ittaizentai\ ;
+海運同盟 > kaiundoumei\ ;
+専守防衛 > senshubouei\ ;
+南阿連邦 > nan''arenpou\ ;
+発行部数 > hakkoubusuu\ ;
+刑事裁判 > keijisaiban\ ;
+公平無私 > kouheimushi\ ;
+物価指数 > bukkashisuu\ ;
+刑事被告 > keijihikoku\ ;
+記者会見 > kishakaiken\ ;
+従軍記者 > juugunkisha\ ;
+空気抵抗 > kuukiteikou\ ;
+現金正価 > genkinseika\ ;
+大同小異 > daidoushoui\ ;
+生命倫理 > seimeirinri\ ;
+駆動装置 > kudousouchi\ ;
+千軍万馬 > sengunbanba\ ;
+変幻自在 > hengenjizai\ ;
+相対主義 > soutaishugi\ ;
+軍医学校 > gun''igakkou\ ;
+都民会館 > tominkaikan\ ;
+市場価値 > shijoukachi\ ;
+平和論者 > heiwaronsha\ ;
+尿素樹脂 > nyousojushi\ ;
+掃除当番 > soujitouban\ ;
+代理戦争 > dairisensou\ ;
+地盤沈下 > jibanchinka\ ;
+構成主義 > kouseishugi\ ;
+正多面体 > seitamentai\ ;
+一切合切 > issaigassai\ ;
+保税地域 > hozeichiiki\ ;
+人員整理 > jin''inseiri\ ;
+人間以前 > ningen''izen\ ;
+平面図形 > heimenzukei\ ;
+宇宙旅行 > uchuuryokou\ ;
+荘園制度 > shouenseido\ ;
+自社製品 > jishaseihin\ ;
+初期段階 > shokidankai\ ;
+前途遼遠 > zentoryouen\ ;
+赤葡萄酒 > akabudoushu\ ;
+原始時代 > genshijidai\ ;
+参謀本部 > sanbouhonbu\ ;
+女子大生 > joshidaisei\ ;
+排外運動 > haigaiundou\ ;
+水平飛行 > suiheihikou\ ;
+低回趣味 > teikaishumi\ ;
+互恵貿易 > gokeiboueki\ ;
+人間以上 > ningen''ijou\ ;
+傲慢無礼 > goumanburei\ ;
+徒手空拳 > toshukuuken\ ;
+亜炭化物 > atankabutsu\ ;
+水泳大会 > suieitaikai\ ;
+男女同権 > danjodouken\ ;
+年金制度 > nenkinseido\ ;
+空軍基地 > kuugunkichi\ ;
+大和時代 > yamatojidai\ ;
+帝王切開 > teiousekkai\ ;
+反政府党 > hanseifutou\ ;
+虎視眈々 > koshitantan\ ;
+歯科病院 > shikabyouin\ ;
+載貨屯数 > saikatonsuu\ ;
+論説委員 > ronsetsuiin\ ;
+勝手次第 > katteshidai\ ;
+空挺隊員 > kuuteitaiin\ ;
+自由経済 > jiyuukeizai\ ;
+財政破綻 > zaiseihatan\ ;
+政治献金 > seijikenkin\ ;
+手間仕事 > temashigoto\ ;
+一本勝負 > ipponshoubu\ ;
+中途半端 > chuutohanpa\ ;
+通過儀礼 > tsuukagirei\ ;
+英字集合 > eijishuugou\ ;
+署名運動 > shomeiundou\ ;
+塑性指数 > soseishisuu\ ;
+合同労組 > goudourouso\ ;
+主管機関 > shukankikan\ ;
+天気都合 > tenkitsugou\ ;
+兵器工場 > heikikoujou\ ;
+平民主義 > heiminshugi\ ;
+家族会議 > kazokukaigi\ ;
+減債基金 > gensaikikin\ ;
+祖先崇拝 > sosensuuhai\ ;
+事大思想 > jidaishisou\ ;
+地場産業 > jibasangyou\ ;
+連邦国家 > renpoukokka\ ;
+立憲主義 > rikkenshugi\ ;
+八方美人 > happoubijin\ ;
+世界情勢 > sekaijousei\ ;
+不快指数 > fukaishisuu\ ;
+遠洋航路 > en''youkouro\ ;
+国家経済 > kokkakeizai\ ;
+臨時増刊 > rinjizoukan\ ;
+公武合体 > koubugattai\ ;
+予讚本線 > yosanhonsen\ ;
+根本主義 > konponshugi\ ;
+非常警戒 > hijoukeikai\ ;
+中央政府 > chuuouseifu\ ;
+刺状突起 > shijoutokki\ ;
+公的扶助 > koutekifujo\ ;
+合成樹脂 > gouseijushi\ ;
+割賦購買 > kappukoubai\ ;
+未来指向 > miraishikou\ ;
+自由放任 > jiyuuhounin\ ;
+自転周期 > jitenshuuki\ ;
+自己主張 > jikoshuchou\ ;
+千言万語 > sengenbango\ ;
+徒歩競走 > tohokyousou\ ;
+親善試合 > shinzenjiai\ ;
+窒素固定 > chissokotei\ ;
+海上保険 > kaijouhoken\ ;
+飛行甲板 > hikoukouban\ ;
+指導主事 > shidoushuji\ ;
+相互銀行 > sougoginkou\ ;
+軍司令部 > gunshireibu\ ;
+諸事万端 > shojibantan\ ;
+労災保険 > rousaihoken\ ;
+時輪金剛 > jirinkongou\ ;
+意気銷沈 > ikishouchin\ ;
+関税回避 > kanzeikaihi\ ;
+意気消沈 > ikishouchin\ ;
+前人未到 > zenjinmitou\ ;
+共和主義 > kyouwashugi\ ;
+予防戦争 > yobousensou\ ;
+酸性土壌 > sanseidojou\ ;
+人身保護 > jinshinhogo\ ;
+年金保険 > nenkinhoken\ ;
+指向言語 > shikougengo\ ;
+巡査部長 > junsabuchou\ ;
+保証期間 > hoshoukikan\ ;
+不法監禁 > fuhoukankin\ ;
+御苦労様 > gokurousama\ ;
+行住座臥 > gyoujuuzaga\ ;
+自治大臣 > jichidaijin\ ;
+立体交差 > rittaikousa\ ;
+竜頭蛇尾 > ryuutoudabi\ ;
+充電期間 > juudenkikan\ ;
+記憶媒体 > kiokubaitai\ ;
+養護教諭 > yougokyouyu\ ;
+人本主義 > jinponshugi\ ;
+海洋投棄 > kaiyoutouki\ ;
+和歌山県 > wakayamaken\ ;
+太陽電波 > taiyoudenpa\ ;
+理科大学 > rikadaigaku\ ;
+近衛師団 > konoeshidan\ ;
+一衣帯水 > ichiitaisui\ ;
+資本主義 > shihonshugi\ ;
+自由結婚 > jiyuukekkon\ ;
+必須科目 > hissukamoku\ ;
+近代主義 > kindaishugi\ ;
+守護天使 > shugotenshi\ ;
+作業部会 > sagyoubukai\ ;
+都市再生 > toshisaisei\ ;
+幼生器官 > youseikikan\ ;
+御用組合 > goyoukumiai\ ;
+軍事演習 > gunjienshuu\ ;
+人道主義 > jindoushugi\ ;
+前史時代 > zenshijidai\ ;
+海上封鎖 > kaijoufuusa\ ;
+意味深長 > imishinchou\ ;
+交通違反 > koutsuuihan\ ;
+四十八手 > yonjuuhatte\ ;
+手巻寿司 > temakizushi\ ;
+公開講座 > koukaikouza\ ;
+片言隻句 > hengensekku\ ;
+高関税化 > koukanzeika\ ;
+運送会社 > unsougaisha\ ;
+東宮御所 > touguugosho\ ;
+延滞利息 > entairisoku\ ;
+火災警報 > kasaikeihou\ ;
+総指揮官 > soushikikan\ ;
+放送時間 > housoujikan\ ;
+有害無益 > yuugaimueki\ ;
+婦人問題 > fujinmondai\ ;
+晴耕雨読 > seikouudoku\ ;
+尊皇攘夷 > son''noujoui\ ;
+不文憲法 > fubunkenpou\ ;
+一寸法師 > issunboushi\ ;
+可能動詞 > kanoudoushi\ ;
+古事来歴 > kojiraireki\ ;
+完全雇用 > kanzenkoyou\ ;
+副鼻腔炎 > fukubikuuen\ ;
+多元放送 > tagenhousou\ ;
+気息奄奄 > kisokuen''en\ ;
+釈迦如来 > shakanyorai\ ;
+予約名簿 > yoyakumeibo\ ;
+不買同盟 > fubaidoumei\ ;
+非買同盟 > hibaidoumei\ ;
+相対敬語 > soutaikeigo\ ;
+経済特区 > keizaitokku\ ;
+任意団体 > nin''idantai\ ;
+接敵移動 > settekiidou\ ;
+鰥寡孤独 > kankakodoku\ ;
+相対売買 > aitaibaibai\ ;
+無人工場 > mujinkoujou\ ;
+不換紙幣 > fukanshihei\ ;
+相乗作用 > soujousayou\ ;
+予算不足 > yosanfusoku\ ;
+薬理作用 > yakurisayou\ ;
+為替管理 > kawasekanri\ ;
+事前協議 > jisenkyougi\ ;
+厚顔無恥 > kouganmuchi\ ;
+安全装置 > anzensouchi\ ;
+空気感染 > kuukikansen\ ;
+水道工事 > suidoukouji\ ;
+一紙半銭 > isshihansen\ ;
+反射運動 > hanshaundou\ ;
+塩類溶液 > enruiyoueki\ ;
+外人部隊 > gaijinbutai\ ;
+拝金主義 > haikinshugi\ ;
+異体同心 > itaidoushin\ ;
+乗数効果 > jousuukouka\ ;
+全盛時代 > zenseijidai\ ;
+面向不背 > menkoufuhai\ ;
+空理空論 > kuurikuuron\ ;
+非常階段 > hijoukaidan\ ;
+傷痍軍人 > shouigunjin\ ;
+月賦販売 > geppuhanbai\ ;
+万世一系 > banseiikkei\ ;
+第二部長 > dainibuchou\ ;
+行儀作法 > gyougisahou\ ;
+重加算税 > juukasanzei\ ;
+一心不乱 > isshinfuran\ ;
+軍事裁判 > gunjisaiban\ ;
+照明器具 > shoumeikigu\ ;
+屍陀林王 > shidarin''ou\ ;
+過去完了 > kakokanryou\ ;
+戦後欧州 > sengooushuu\ ;
+首脳会議 > shunoukaigi\ ;
+家庭料理 > kateiryouri\ ;
+日本銀行 > nihonginkou\ ;
+遠交近攻 > enkoukinkou\ ;
+旋回運動 > senkaiundou\ ;
+帰国子女 > kikokushijo\ ;
+雌雄淘汰 > shiyuutouta\ ;
+銀本位制 > ginhon''isei\ ;
+自業自得 > jigoujitoku\ ;
+主格補語 > shukakuhogo\ ;
+傘形器官 > sankeikikan\ ;
+電化製品 > denkaseihin\ ;
+資産価値 > shisankachi\ ;
+中央競馬 > chuuoukeiba\ ;
+赤字財政 > akajizaisei\ ;
+政治亡命 > seijiboumei\ ;
+五十年祭 > gojuunensai\ ;
+遺族年金 > izokunenkin\ ;
+人工栄養 > jinkoueiyou\ ;
+擬古典的 > gikotenteki\ ;
+電気会社 > denkigaisha\ ;
+気随気儘 > kizuikimama\ ;
+無反動銃 > muhandoujuu\ ;
+遠心分離 > enshinbunri\ ;
+場外馬券 > jougaibaken\ ;
+青年時代 > seinenjidai\ ;
+自由問題 > jiyuumondai\ ;
+漫画雑誌 > mangazasshi\ ;
+亜鉛中毒 > aenchuudoku\ ;
+祖先伝来 > sosendenrai\ ;
+一党支配 > ittoushihai\ ;
+主観主義 > shukanshugi\ ;
+呼吸器系 > kokyuukikei\ ;
+為替投機 > kawasetouki\ ;
+一知半解 > itchihankai\ ;
+不定冠詞 > futeikanshi\ ;
+代議政体 > daigiseitai\ ;
+平和攻勢 > heiwakousei\ ;
+低価格化 > teikakakuka\ ;
+肘掛椅子 > hijikakeisu\ ;
+公務災害 > koumusaigai\ ;
+景気循環 > keikijunkan\ ;
+関係法規 > kankeihouki\ ;
+賀詞交換 > gashikoukan\ ;
+耕地整理 > kouchiseiri\ ;
+表裏一体 > hyouriittai\ ;
+奴隷解放 > doreikaihou\ ;
+阿多福豆 > otafukumame\ ;
+企業整備 > kigyouseibi\ ;
+軍事行動 > gunjikoudou\ ;
+地方自治 > chihoujichi\ ;
+世俗主義 > sezokushugi\ ;
+高炭素鋼 > koutansokou\ ;
+有機肥料 > yuukihiryou\ ;
+比例配分 > hireihaibun\ ;
+反対運動 > hantaiundou\ ;
+添付書類 > tenpushorui\ ;
+恋愛遊戯 > ren''aiyuugi\ ;
+投射原理 > toushagenri\ ;
+大言壮語 > taigensougo\ ;
+金本位制 > kinhon''isei\ ;
+造語成分 > zougoseibun\ ;
+百科辞典 > hyakkajiten\ ;
+万代不易 > bandaifueki\ ;
+危険角度 > kikenkakudo\ ;
+化学兵器 > kagakuheiki\ ;
+漢字制限 > kanjiseigen\ ;
+年功制度 > nenkouseido\ ;
+海底火山 > kaiteikazan\ ;
+隔靴掻痒 > kakkasouyou\ ;
+非戦論者 > hisenronsha\ ;
+万世不易 > banseifueki\ ;
+再生繊維 > saiseisen''i\ ;
+運転系統 > untenkeitou\ ;
+任意同行 > nin''idoukou\ ;
+臨時国会 > rinjikokkai\ ;
+試験期間 > shikenkikan\ ;
+年功加俸 > nenkoukahou\ ;
+応援団長 > ouendanchou\ ;
+軍医総監 > gun''isoukan\ ;
+慈善団体 > jizendantai\ ;
+自習時間 > jishuujikan\ ;
+国家補償 > kokkahoshou\ ;
+盛者必衰 > seijahissui\ ;
+人文主義 > jinbunshugi\ ;
+電話番号 > denwabangou\ ;
+理論体系 > rirontaikei\ ;
+日本海溝 > nihonkaikou\ ;
+経常利益 > keijourieki\ ;
+引責辞任 > insekijinin\ ;
+処女航海 > shojokoukai\ ;
+一軒一軒 > ikken''ikken\ ;
+問答無用 > mondoumuyou\ ;
+運命論者 > unmeironsha\ ;
+菜種梅雨 > natanedzuyu\ ;
+課外授業 > kagaijugyou\ ;
+難民帰還 > nanminkikan\ ;
+偶像破壊 > guuzouhakai\ ;
+指示装置 > shijisouchi\ ;
+安全地帯 > anzenchitai\ ;
+自己複製 > jikofukusei\ ;
+他人行儀 > taningyougi\ ;
+判官贔屓 > houganbiiki\ ;
+圧搾空気 > assakukuuki\ ;
+健康管理 > kenkoukanri\ ;
+試験飛行 > shikenhikou\ ;
+生産過剰 > seisankajou\ ;
+生理休暇 > seirikyuuka\ ;
+交際場裏 > kousaijouri\ ;
+豊肥本線 > houhihonsen\ ;
+判断規準 > handankijun\ ;
+気息奄々 > kisokuen''en\ ;
+判断基準 > handankijun\ ;
+天資英邁 > tenshieimai\ ;
+抵抗運動 > teikouundou\ ;
+郵便切手 > yuubinkitte\ ;
+田園都市 > den''entoshi\ ;
+衣料品店 > iryouhinten\ ;
+二部合唱 > nibugasshou\ ;
+電子頭脳 > denshizunou\ ;
+割賦販売 > kappuhanbai\ ;
+骨董趣味 > kottoushumi\ ;
+軍備制限 > gunbiseigen\ ;
+運動不足 > undoubusoku\ ;
+制限漢字 > seigenkanji\ ;
+無反動砲 > muhandouhou\ ;
+原因不明 > gen''infumei\ ;
+軽自動車 > keijidousha\ ;
+原子時代 > genshijidai\ ;
+狐疑逡巡 > kogishunjun\ ;
+程度問題 > teidomondai\ ;
+規定打席 > kiteidaseki\ ;
+風紀紊乱 > fuukibinran\ ;
+市参事会 > shisanjikai\ ;
+記憶装置 > kiokusouchi\ ;
+電気伝導 > denkidendou\ ;
+海外派兵 > kaigaihahei\ ;
+天賦人権 > tenpujinken\ ;
+懸垂運動 > kensuiundou\ ;
+神秘主義 > shinpishugi\ ;
+遠慮会釈 > enryoeshaku\ ;
+暗号手法 > angoushuhou\ ;
+運輸大臣 > un''yudaijin\ ;
+非論理的 > hironriteki\ ;
+右翼団体 > uyokudantai\ ;
+保健衛生 > hoken''eisei\ ;
+盗品故買 > touhinkobai\ ;
+静止軌道 > seishikidou\ ;
+慶應義塾 > keiougijuku\ ;
+快刀乱麻 > kaitouranma\ ;
+至近距離 > shikinkyori\ ;
+損害保険 > songaihoken\ ;
+構成要素 > kouseiyouso\ ;
+協議事項 > kyougijikou\ ;
+舞台俳優 > butaihaiyuu\ ;
+危機一髪 > kikiippatsu\ ;
+医学雑誌 > igakuzasshi\ ;
+物価水準 > bukkasuijun\ ;
+赤十字附 > sekijuujifu\ ;
+扶養家族 > fuyoukazoku\ ;
+立憲政治 > rikkenseiji\ ;
+人工臓器 > jinkouzouki\ ;
+祭政一致 > saiseiitchi\ ;
+不言実行 > fugenjikkou\ ;
+仕事部屋 > shigotobeya\ ;
+成人映画 > seijin''eiga\ ;
+自由営業 > jiyuueigyou\ ;
+標準誤差 > hyoujungosa\ ;
+乳児脚気 > nyuujikakke\ ;
+軍需工場 > gunjukoujou\ ;
+相加平均 > soukaheikin\ ;
+粗製乱造 > soseiranzou\ ;
+御名御璽 > gyomeigyoji\ ;
+文治主義 > bunchishugi\ ;
+自然淘汰 > shizentouta\ ;
+家宅捜査 > katakusousa\ ;
+既成概念 > kiseigainen\ ;
+整備工場 > seibikoujou\ ;
+対空砲火 > taikuuhouka\ ;
+滞空時間 > taikuujikan\ ;
+貿易赤字 > bouekiakaji\ ;
+一言居士 > ichigenkoji\ ;
+屋上庭園 > okujouteien\ ;
+音声表記 > onseihyouki\ ;
+審美主義 > shinbishugi\ ;
+応用問題 > ouyoumondai\ ;
+互恵関税 > gokeikanzei\ ;
+軟性下疳 > nanseigekan\ ;
+国語辞典 > kokugojiten\ ;
+公認候補 > kouninkouho\ ;
+生年月日 > seinengappi\ ;
+奇策縦横 > kisakujuuou\ ;
+光学文字 > kougakumoji\ ;
+停車時間 > teishajikan\ ;
+共和政治 > kyouwaseiji\ ;
+国庫債権 > kokkosaiken\ ;
+声帯模写 > seitaimosha\ ;
+最大限度 > saidaigendo\ ;
+八分音符 > hachibuonpu\ ;
+仮想空間 > kasoukuukan\ ;
+平成時代 > heiseijidai\ ;
+利益社会 > riekishakai\ ;
+家庭訪問 > kateihoumon\ ;
+薄利多売 > hakuritabai\ ;
+民主主義 > minshushugi\ ;
+女性名詞 > joseimeishi\ ;
+愛憎併存 > aizouheison\ ;
+反射作用 > hanshasayou\ ;
+有事立法 > yuujirippou\ ;
+発声器官 > hasseikikan\ ;
+婚礼衣装 > konreiishou\ ;
+中央突破 > chuuoutoppa\ ;
+三頭政治 > santouseiji\ ;
+危険地帯 > kikenchitai\ ;
+化学作用 > kagakusayou\ ;
+無間地獄 > mugenjigoku\ ;
+往復切符 > oufukukippu\ ;
+存在理由 > sonzairiyuu\ ;
+非社交的 > hijakouteki\ ;
+封建制度 > houkenseido\ ;
+人身事故 > jinshinjiko\ ;
+公開捜査 > koukaisousa\ ;
+我田引水 > gaden''insui\ ;
+動作記録 > dousakiroku\ ;
+成層火山 > seisoukazan\ ;
+利益配当 > riekihaitou\ ;
+一所懸命 > isshokenmei\ ;
+源泉課税 > gensenkazei\ ;
+政治結社 > seijikessha\ ;
+騎馬民族 > kibaminzoku\ ;
+隔世遺伝 > kakuseiiden\ ;
+古道具屋 > furudouguya\ ;
+吹奏楽器 > suisougakki\ ;
+機銃掃射 > kijuusousha\ ;
+武家屋敷 > bukeyashiki\ ;
+睡眠時間 > suiminjikan\ ;
+無記名株 > mukimeikabu\ ;
+事務総長 > jimusouchou\ ;
+主治効能 > shujikounou\ ;
+天津御祖 > amatsumioya\ ;
+気象衛星 > kishoueisei\ ;
+有効期限 > yuukoukigen\ ;
+農奴解放 > noudokaihou\ ;
+心臓麻痺 > shinzoumahi\ ;
+酔生夢死 > suiseimushi\ ;
+有効期間 > yuukoukigen\ ;
+無法地帯 > muhouchitai\ ;
+街頭募金 > gaitoubokin\ ;
+荒唐無稽 > koutoumukei\ ;
+栄養不足 > eiyoufusoku\ ;
+名誉市民 > meiyoshimin\ ;
+軍事同盟 > gunjidoumei\ ;
+有効作用 > yuukousayou\ ;
+先遣部隊 > senkenbutai\ ;
+嘉言善行 > kagenzenkou\ ;
+合同会議 > goudoukaigi\ ;
+起死回生 > kishikaisei\ ;
+透視画法 > toushigahou\ ;
+無銭旅行 > musenryokou\ ;
+保安設備 > hoansetsubi\ ;
+内部闘争 > naibutousou\ ;
+不正融資 > fuseiyuushi\ ;
+漢英辞典 > kan''eijiten\ ;
+領土保全 > ryoudohozen\ ;
+無事息災 > bujisokusai\ ;
+指名手配 > shimeitehai\ ;
+遊覧飛行 > yuuranhikou\ ;
+受験地獄 > jukenjigoku\ ;
+警備強化 > keibikyouka\ ;
+心理主義 > shinrishugi\ ;
+離婚訴訟 > rikonsoshou\ ;
+音訓索引 > onkunsakuin\ ;
+危険因子 > kiken''inshi\ ;
+超過勤務 > choukakinmu\ ;
+進歩主義 > shinposhugi\ ;
+保全会社 > hozenkaisha\ ;
+自己紹介 > jikoshoukai\ ;
+人道支援 > jindoushien\ ;
+希少価値 > kishoukachi\ ;
+婦人科学 > fujinkagaku\ ;
+支援団体 > shiendantai\ ;
+宇宙空間 > uchuukuukan\ ;
+化粧煉瓦 > keshourenga\ ;
+早期発見 > soukihakken\ ;
+自然治癒 > shizenchiyu\ ;
+不可知的 > fukachiteki\ ;
+訴訟費用 > soshouhiyou\ ;
+災害保険 > saigaihoken\ ;
+大器晩成 > taikibansei\ ;
+数珠一連 > juzuichiren\ ;
+文明開化 > bunmeikaika\ ;
+反動主義 > handoushugi\ ;
+政府高官 > seifukoukan\ ;
+京都府警 > kyoutofukei\ ;
+勤王攘夷 > kin''noujoui\ ;
+空挺部隊 > kuuteibutai\ ;
+多士済済 > tashiseisei\ ;
+不器用者 > bukiyoumono\ ;
+兵站基地 > heitankichi\ ;
+有理関数 > yuurikansuu\ ;
+低徊趣味 > teikaishumi\ ;
+人工頭脳 > jinkouzunou\ ;
+十六音符 > juurokuonpu\ ;
+奇想天外 > kisoutengai\ ;
+内容見本 > naiyoumihon\ ;
+料理道具 > ryouridougu\ ;
+大圏航路 > taikenkouro\ ;
+準備管制 > junbikansei\ ;
+主脳会議 > shunoukaigi\ ;
+陣頭指揮 > jintoushiki\ ;
+臓器移植 > zoukiishoku\ ;
+基本概念 > kihongainen\ ;
+会議日程 > kaiginittei\ ;
+公定地価 > kouteichika\ ;
+基礎研究 > kisokenkyuu\ ;
+環境汚染 > kankyouosen\ ;
+疑心暗鬼 > gishin''anki\ ;
+総理大臣 > souridaijin\ ;
+自己満足 > jikomanzoku\ ;
+絶対主義 > zettaishugi\ ;
+正味値段 > shouminedan\ ;
+個人教授 > kojinkyouju\ ;
+少壮気鋭 > shousoukiei\ ;
+東亜諸国 > touashokoku\ ;
+喇叭水仙 > rappazuisen\ ;
+実行可能 > jikkoukanou\ ;
+事前運動 > jizen''undou\ ;
+外来患者 > gairaikanja\ ;
+避難訓練 > hinankunren\ ;
+販売部門 > hanbaibumon\ ;
+労働運動 > roudouundou\ ;
+準備銀行 > junbiginkou\ ;
+幹線道路 > kansendouro\ ;
+不透明性 > futoumeisei\ ;
+加圧水炉 > kaatsusuiro\ ;
+年期奉公 > nenkiboukou\ ;
+表音文字 > hyouonmonji\ ;
+指名打者 > shimeidasha\ ;
+総司令部 > soushireibu\ ;
+伝統主義 > dentoushugi\ ;
+主要都市 > shuyoutoshi\ ;
+低温殺菌 > teionsakkin\ ;
+夫婦関係 > fuufukankei\ ;
+作業時間 > sagyoujikan\ ;
+非常手段 > hijoushudan\ ;
+専制政治 > senseiseiji\ ;
+映画監督 > eigakantoku\ ;
+濃淡画像 > noutangazou\ ;
+灯火管制 > toukakansei\ ;
+重要事項 > juuyoujikou\ ;
+非常呼集 > hijoukoshuu\ ;
+立候補者 > rikkouhosha\ ;
+浄化装置 > joukasouchi\ ;
+御生憎様 > oainikusama\ ;
+人員淘汰 > jin''intouta\ ;
+交通事故 > koutsuujiko\ ;
+四輪駆動 > yonrinkudou\ ;
+代理公使 > dairikoushi\ ;
+外務大臣 > gaimudaijin\ ;
+野戦砲兵 > yasenhouhei\ ;
+地名辞典 > chimeijiten\ ;
+不動産屋 > fudousan''ya\ ;
+体感温度 > taikan''ondo\ ;
+観光都市 > kankoutoshi\ ;
+同性愛者 > douseiaisha\ ;
+部隊撤退 > butaitettai\ ;
+協議会員 > kyougikaiin\ ;
+啓蒙運動 > keimouundou\ ;
+亀甲模様 > kikkoumoyou\ ;
+衛生状態 > eiseijoutai\ ;
+鎖国主義 > sakokushugi\ ;
+器用貧乏 > kiyoubinbou\ ;
+眼精疲労 > ganseihirou\ ;
+宣伝機関 > sendenkikan\ ;
+何時何時 > itsunandoki\ ;
+民権主義 > minkenshugi\ ;
+年次総会 > nenjisoukai\ ;
+温古知新 > onkochishin\ ;
+無償交付 > mushoukoufu\ ;
+短期手形 > tankitegata\ ;
+内務大臣 > naimudaijin\ ;
+一世一代 > isseichidai\ ;
+事項索引 > jikousakuin\ ;
+放射線科 > houshasenka\ ;
+皇太子妃 > koutaishihi\ ;
+妖怪変化 > youkaihenge\ ;
+変形部門 > henkeibumon\ ;
+野戦病院 > yasenbyouin\ ;
+戦災地区 > sensaichiku\ ;
+特務機関 > tokumukikan\ ;
+砂糖大根 > satoudaikon\ ;
+半加工品 > hankakouhin\ ;
+二等分線 > nitoubunsen\ ;
+授業時間 > jugyoujikan\ ;
+天神地祇 > tenjinchigi\ ;
+追加予算 > tsuikayosan\ ;
+非合理的 > higouriteki\ ;
+労農政府 > rounouseifu\ ;
+下意上達 > kaijoutatsu\ ;
+乗車拒否 > joushakyohi\ ;
+水洗便所 > suisenbenjo\ ;
+収納家具 > shuunoukagu\ ;
+未開墾地 > mikaikonchi\ ;
+正当防衛 > seitoubouei\ ;
+学科試験 > gakkashiken\ ;
+潜水母艦 > sensuibokan\ ;
+使用価値 > shiyoukachi\ ;
+官尊民卑 > kansonminpi\ ;
+普遍文法 > fuhenbunpou\ ;
+過剰人口 > kajoujinkou\ ;
+出先機関 > desakikikan\ ;
+宣伝効果 > sendenkouka\ ;
+時々刻々 > jijikokkoku\ ;
+近似計算 > kinjikeisan\ ;
+護憲運動 > goken''undou\ ;
+原因結果 > gen''inkekka\ ;
+友軍部隊 > yuugunbutai\ ;
+無尽会社 > mujingaisha\ ;
+古今東西 > kokontouzai\ ;
+看護婦長 > kangofuchou\ ;
+悲憤慷慨 > hifunkougai\ ;
+古代文明 > kodaibunmei\ ;
+無産政党 > musanseitou\ ;
+選挙準備 > senkyojunbi\ ;
+意識不明 > ishikifumei\ ;
+組合主義 > kumiaishugi\ ;
+個体発生 > kotaihassei\ ;
+四分音符 > shibun''onpu\ ;
+使徒書簡 > shitoshokan\ ;
+優柔不断 > yuujuufudan\ ;
+煎餅蒲団 > senbeibuton\ ;
+予定調和 > yoteichouwa\ ;
+先祖伝来 > senzodenrai\ ;
+事業部制 > jigyoubusei\ ;
+臨時列車 > rinjiressha\ ;
+定期試験 > teikishiken\ ;
+総合課税 > sougoukazei\ ;
+遠隔講義 > enkakukougi\ ;
+海底油田 > kaiteiyuden\ ;
+真一文字 > maichimonji\ ;
+電話調査 > denwachousa\ ;
+技術援助 > gijutsuenjo\ ;
+偏向回路 > henkoukairo\ ;
+予定納税 > yoteinouzei\ ;
+皇后陛下 > kougouheika\ ;
+連邦制度 > renpouseido\ ;
+電気電子 > denkidenshi\ ;
+代行機関 > daikoukikan\ ;
+疲労困憊 > hiroukonpai\ ;
+盗難保険 > tounanhoken\ ;
+純真無垢 > junshinmuku\ ;
+法務大臣 > houmudaijin\ ;
+刑事処分 > keijishobun\ ;
+駐車違反 > chuushaihan\ ;
+時機尚早 > jikishousou\ ;
+年金基金 > nenkinkikin\ ;
+適法行為 > tekihoukoui\ ;
+物見遊山 > monomiyusan\ ;
+得意満面 > tokuimanmen\ ;
+時差出勤 > jisashukkin\ ;
+政治問題 > seijimondai\ ;
+絶対敬語 > zettaikeigo\ ;
+鍵盤楽器 > kenbangakki\ ;
+訴訟事件 > soshoujiken\ ;
+意味役割 > imiyakuwari\ ;
+価格安定 > kakakuantei\ ;
+今上陛下 > kinjouheika\ ;
+電気系統 > denkikeitou\ ;
+兌換銀行 > dakanginkou\ ;
+百科事典 > hyakkajiten\ ;
+全会一致 > zenkaiitchi\ ;
+麻薬患者 > mayakukanja\ ;
+心機一転 > shinkiitten\ ;
+無名戦士 > mumeisenshi\ ;
+唯一無二 > yuiitsumuni\ ;
+財政安定 > zaiseiantei\ ;
+看護学校 > kangogakkou\ ;
+分類基準 > bunruikijun\ ;
+文書偽造 > bunshogizou\ ;
+孤軍奮闘 > kogunfuntou\ ;
+数次旅券 > suujiryoken\ ;
+合成繊維 > gouseisen''i\ ;
+貴族政治 > kizokuseiji\ ;
+博愛主義 > hakuaishugi\ ;
+一斉検挙 > isseikenkyo\ ;
+低温輸送 > teion''yusou\ ;
+風光明媚 > fuukoumeibi\ ;
+後部座席 > koubuzaseki\ ;
+個人投資 > kojintoushi\ ;
+保険会社 > hokengaisha\ ;
+硫化水素 > ryuukasuiso\ ;
+日本列島 > nihonrettou\ ;
+戦時公債 > senjikousai\ ;
+海員組合 > kaiinkumiai\ ;
+修辞疑問 > shuujigimon\ ;
+法定貨幣 > houteikahei\ ;
+体内受精 > tainaijusei\ ;
+楽観主義 > rakkanshugi\ ;
+入院患者 > nyuuinkanja\ ;
+関連事項 > kanrenjikou\ ;
+原価計算 > genkakeisan\ ;
+電子回路 > denshikairo\ ;
+重点主義 > juutenshugi\ ;
+価電子帯 > kadenshitai\ ;
+有効需要 > yuukoujuyou\ ;
+事業年度 > jigyounendo\ ;
+相反定理 > souhanteiri\ ;
+六分儀座 > rokubungiza\ ;
+安定状態 > anteijoutai\ ;
+民主政治 > minshuseiji\ ;
+化学繊維 > kagakusen''i\ ;
+絶対音感 > zettaionkan\ ;
+自然破壊 > shizenhakai\ ;
+報道機関 > houdoukikan\ ;
+捕虜交換 > horyokoukan\ ;
+価値判断 > kachihandan\ ;
+手練手管 > terentekuda\ ;
+器械体操 > kikaitaisou\ ;
+養老保険 > yourouhoken\ ;
+不当表示 > futouhyouji\ ;
+安全運転 > anzen''unten\ ;
+交際範囲 > kousaihan''i\ ;
+応用科学 > ouyoukagaku\ ;
+不整合人 > fuseigoujin\ ;
+単元制度 > tangenseido\ ;
+一歩前進 > ippozenshin\ ;
+国王陛下 > kokuouheika\ ;
+放送衛星 > housoueisei\ ;
+寂光浄土 > jakkoujoudo\ ;
+後生大事 > goshoudaiji\ ;
+三民主義 > sanminshugi\ ;
+気管切開 > kikansekkai\ ;
+傲岸不遜 > gouganfuson\ ;
+家父長制 > kafuchousei\ ;
+暗黒星雲 > ankokuseiun\ ;
+近代国家 > kindaikokka\ ;
+前途有望 > zentoyuubou\ ;
+音楽理論 > ongakuriron\ ;
+委託販売 > itakuhanbai\ ;
+三寒四温 > sankanshion\ ;
+貧乏所帯 > binboujotai\ ;
+御伽草子 > otogizoushi\ ;
+神奈川県 > kanagawaken\ ;
+輿論調査 > yoronchousa\ ;
+電気装置 > denkisouchi\ ;
+地方議会 > chihougikai\ ;
+装甲部隊 > soukoubutai\ ;
+不可入性 > fukanyuusei\ ;
+南京木綿 > nankinmomen\ ;
+印象主義 > inshoushugi\ ;
+多士済々 > tashiseisei\ ;
+一張一弛 > itchouisshi\ ;
+区間列車 > kukanressha\ ;
+相思相愛 > soushisouai\ ;
+航空基地 > koukuukichi\ ;
+監査記録 > kansakiroku\ ;
+技術移転 > gijutsuiten\ ;
+産児制限 > sanjiseigen\ ;
+飽和状態 > houwajoutai\ ;
+知能検査 > chinoukensa\ ;
+孤影悄然 > koeishouzen\ ;
+五種競技 > goshukyougi\ ;
+団体保険 > dantaihoken\ ;
+姉妹都市 > shimaitoshi\ ;
+不通箇所 > futsuukasho\ ;
+破邪顕正 > hajakenshou\ ;
+政治団体 > seijidantai\ ;
+一喜一憂 > ikkiichiyuu\ ;
+準備命令 > junbimeirei\ ;
+受験科目 > jukenkamoku\ ;
+木管楽器 > mokkangakki\ ;
+中高音部 > chuukouonbu\ ;
+友愛結婚 > yuuaikekkon\ ;
+海軍基地 > kaigunkichi\ ;
+電子素子 > denshisoshi\ ;
+愛国運動 > aikokuundou\ ;
+人文地理 > jinmonchiri\ ;
+労働争議 > roudousougi\ ;
+情報処理 > jouhoushori\ ;
+可変資本 > kahenshihon\ ;
+為替差益 > kawasesaeki\ ;
+誘拐事件 > yuukaijiken\ ;
+三大都市 > sandaitoshi\ ;
+所要時間 > shoyoujikan\ ;
+女権運動 > joken''undou\ ;
+分散処理 > bunsanshori\ ;
+走行可能 > soukoukanou\ ;
+流言飛語 > ryuugenhigo\ ;
+一新紀元 > isshinkigen\ ;
+徒手体操 > toshutaisou\ ;
+封建主義 > houkenshugi\ ;
+受験戦争 > jukensensou\ ;
+出雲大社 > izumotaisha\ ;
+権門勢家 > kenmonseika\ ;
+無線操縦 > musensoujuu\ ;
+借家争議 > shakkasougi\ ;
+宇宙科学 > uchuukagaku\ ;
+古典芸能 > kotengeinou\ ;
+豪華絢爛 > goukakenran\ ;
+漢英字典 > kan''eijiten\ ;
+婦人運動 > fujin''undou\ ;
+不動明王 > fudoumyouou\ ;
+体外受精 > taigaijusei\ ;
+勤務年限 > kinmunengen\ ;
+満場一致 > manjouitchi\ ;
+前世生存 > zenseseizon\ ;
+会計年度 > kaikeinendo\ ;
+万葉仮名 > man''yougana\ ;
+傍聴随意 > bouchouzuii\ ;
+絶対多数 > zettaitasuu\ ;
+紅白試合 > kouhakujiai\ ;
+会計監査 > kaikeikansa\ ;
+八紘一宇 > hakkouichiu\ ;
+舞台装置 > butaisouchi\ ;
+事務長官 > jimuchoukan\ ;
+一般社会 > ippanshakai\ ;
+日帝時代 > nitteijidai\ ;
+登坂車線 > tohanshasen\ ;
+世界最大 > sekaisaidai\ ;
+指導原理 > shidougenri\ ;
+造次顛沛 > zoujitenpai\ ;
+航空管理 > koukuukanri\ ;
+感染経路 > kansenkeiro\ ;
+二等軍曹 > nitougunsou\ ;
+防火塗料 > boukatoryou\ ;
+自縄自縛 > jijoujibaku\ ;
+途中下車 > tochuugesha\ ;
+煎餅布団 > senbeibuton\ ;
+環境保護 > kankyouhogo\ ;
+嘘発見器 > usohakkenki\ ;
+面会時間 > menkaijikan\ ;
+重機関銃 > juukikanjuu\ ;
+法案審議 > houanshingi\ ;
+自動制御 > jidouseigyo\ ;
+個人指導 > kojinshidou\ ;
+自然発火 > shizenhakka\ ;
+主務大臣 > shumudaijin\ ;
+短期決戦 > tankikessen\ ;
+言語運用 > gengoun''you\ ;
+粗製濫造 > soseiranzou\ ;
+危険思想 > kikenshisou\ ;
+空域管理 > kuuikikanri\ ;
+御殿女中 > gotenjochuu\ ;
+隣保事業 > rinpojigyou\ ;
+合意心中 > gouishinjuu\ ;
+世界記録 > sekaikiroku\ ;
+基本条件 > kihonjouken\ ;
+農民一揆 > noumin''ikki\ ;
+前代未聞 > zendaimimon\ ;
+複合汚染 > fukugouosen\ ;
+絶対零度 > zettaireido\ ;
+構成可能 > kouseikanou\ ;
+一人舞台 > hitoributai\ ;
+皮下組織 > hikasoshiki\ ;
+地下資源 > chikashigen\ ;
+白化個体 > hakukakotai\ ;
+電話回線 > denwakaisen\ ;
+不正咬合 > fuseikougou\ ;
+美容体操 > biyoutaisou\ ;
+協議離婚 > kyougirikon\ ;
+温暖前線 > ondanzensen\ ;
+新規保管 > shinkihokan\ ;
+一貫番号 > ikkanbangou\ ;
+現行法規 > genkouhouki\ ;
+祖国復帰 > sokokufukki\ ;
+含水炭素 > gansuitanso\ ;
+労働時間 > roudoujikan\ ;
+為替相場 > kawasesouba\ ;
+世界一周 > sekaiisshuu\ ;
+医療法人 > iryouhoujin\ ;
+鼓舞激励 > kobugekirei\ ;
+時期尚早 > jikishousou\ ;
+粒度分布 > ryuudobunpu\ ;
+投下資本 > toukashihon\ ;
+用意周到 > youishuutou\ ;
+内燃機関 > nainenkikan\ ;
+防水加工 > bousuikakou\ ;
+個人消費 > kojinshouhi\ ;
+仮性近視 > kaseikinshi\ ;
+尊王攘夷 > son''noujoui\ ;
+空気伝染 > kuukidensen\ ;
+幼年時代 > younenjidai\ ;
+社会復帰 > shakaifukki\ ;
+電気製品 > denkiseihin\ ;
+時時刻刻 > jijikokkoku\ ;
+一貫作業 > ikkansagyou\ ;
+滞在期間 > taizaikikan\ ;
+無形財産 > mukeizaisan\ ;
+無断転載 > mudantensai\ ;
+均衡予算 > kinkouyosan\ ;
+付帯条件 > futaijouken\ ;
+軍事工場 > gunjikoujou\ ;
+有効数字 > yuukousuuji\ ;
+臍下丹田 > seikatanden\ ;
+試用期間 > shiyoukikan\ ;
+化学変化 > kagakuhenka\ ;
+自動車税 > jidoushazei\ ;
+言語道断 > gongodoudan\ ;
+担保物権 > tanpobukken\ ;
+営業時間 > eigyoujikan\ ;
+愛妻弁当 > aisaibentou\ ;
+美的嫌悪 > bitekiken''o\ ;
+三千世界 > sanzensekai\ ;
+多重放送 > tajuuhousou\ ;
+二重外交 > nijuugaikou\ ;
+予備工作 > yobikousaku\ ;
+肱掛椅子 > hijikakeisu\ ;
+短波放送 > tanpahousou\ ;
+風光絶佳 > fuukouzekka\ ;
+主情主義 > shujoushugi\ ;
+行動主義 > koudoushugi\ ;
+自分自身 > jibunjishin\ ;
+夜光塗料 > yakoutoryou\ ;
+帰無仮説 > kimukasetsu\ ;
+市場原理 > shijougenri\ ;
+京滋地方 > keijichihou\ ;
+大義名分 > taigimeibun\ ;
+呼吸運動 > kokyuuundou\ ;
+螺旋階段 > rasenkaidan\ ;
+英語教育 > eigokyouiku\ ;
+象牙海岸 > zougekaigan\ ;
+日本脳炎 > nihon''nouen\ ;
+和魂漢才 > wakonkansai\ ;
+経営再建 > keieisaiken\ ;
+脳下垂体 > noukasuitai\ ;
+募金運動 > bokin''undou\ ;
+刻苦勉励 > kokkubenrei\ ;
+既婚男性 > kikondansei\ ;
+治水工事 > chisuikouji\ ;
+日本人論 > nihonjinron\ ;
+軍事公債 > gunjikousai\ ;
+十人十色 > juunintoiro\ ;
+無配会社 > muhaigaisha\ ;
+家族手当 > kazokuteate\ ;
+羅針盤座 > rashinbanza\ ;
+福祉機器 > fukushikiki\ ;
+暫定予算 > zanteiyosan\ ;
+自費出版 > jihishuppan\ ;
+常用漢字 > jouyoukanji\ ;
+王侯貴族 > oukoukizoku\ ;
+人体模型 > jintaimokei\ ;
+日西辞典 > nisseijiten\ ;
+感情移入 > kanjouinyuu\ ;
+地方競馬 > chihoukeiba\ ;
+経済効果 > keizaikouka\ ;
+民事訴訟 > minjisoshou\ ;
+化学記号 > kagakukigou\ ;
+参加意識 > sankaishiki\ ;
+戦時体制 > senjitaisei\ ;
+自由市場 > jiyuushijou\ ;
+冷房完備 > reiboukanbi\ ;
+自己双対 > jikosoutsui\ ;
+火燵掛布 > kotatsugake\ ;
+希望価格 > kiboukakaku\ ;
+選対本部 > sentaihonbu\ ;
+先頭打者 > sentoudasha\ ;
+名前空間 > namaekuukan\ ;
+浅草海苔 > asakusanori\ ;
+事業本部 > jigyouhonbu\ ;
+理論闘争 > rirontousou\ ;
+人口増加 > jinkouzouka\ ;
+外交辞令 > gaikoujirei\ ;
+氏姓制度 > shiseiseido\ ;
+縄文時代 > joumonjidai\ ;
+世界大戦 > sekaitaisen\ ;
+機動演習 > kidouenshuu\ ;
+自警団員 > jikeidan''in\ ;
+電気抵抗 > denkiteikou\ ;
+防音装置 > bouonsouchi\ ;
+負債合計 > fusaigoukei\ ;
+遊軍記者 > yuugunkisha\ ;
+価値体系 > kachitaikei\ ;
+二重結婚 > nijuukekkon\ ;
+一長一短 > itchouittan\ ;
+護送船団 > gosousendan\ ;
+犯行現場 > hankougenba\ ;
+意見広告 > ikenkoukoku\ ;
+善因善果 > zen''inzenka\ ;
+無人地帯 > mujinchitai\ ;
+経営転換 > keieitenkan\ ;
+販売機会 > hanbaikikai\ ;
+遠隔操作 > enkakusousa\ ;
+慣用語句 > kan''yougoku\ ;
+液体空気 > ekitaikuuki\ ;
+出刃包丁 > debabouchou\ ;
+土讚本線 > dosanhonsen\ ;
+財政支援 > zaiseishien\ ;
+宮廷画家 > kyuuteigaka\ ;
+最後列車 > saigoressha\ ;
+理工学部 > rikougakubu\ ;
+保管会社 > hokangaisha\ ;
+配合禁忌 > haigoukinki\ ;
+過剰投資 > kajoutoushi\ ;
+家長制度 > kachouseido\ ;
+可聴距離 > kachoukyori\ ;
+親類縁者 > shinruienja\ ;
+宇宙化学 > uchuukagaku\ ;
+無理心中 > murishinjuu\ ;
+年賀葉書 > nengahagaki\ ;
+連邦予算 > renpouyosan\ ;
+創価学会 > soukagakkai\ ;
+利子補給 > rishihokyuu\ ;
+根本原理 > konpongenri\ ;
+安全保障 > anzenhoshou\ ;
+健康保険 > kenkouhoken\ ;
+暗黒時代 > ankokujidai\ ;
+世代交代 > sedaikoutai\ ;
+転送電話 > tensoudenwa\ ;
+昭和時代 > shouwajidai\ ;
+使用許可 > shiyoukyoka\ ;
+音楽映画 > ongakueiga\ ;
+宇宙遊泳 > uchuuyuuei\ ;
+保健制度 > hokenseido\ ;
+準備運動 > junbiundou\ ;
+代議制度 > daigiseido\ ;
+模型地図 > mokeichizu\ ;
+無茶苦茶 > muchakucha\ ;
+古往今来 > kooukonrai\ ;
+摩利支天 > marishiten\ ;
+人為淘汰 > jin''itouta\ ;
+稼働時間 > kadoujikan\ ;
+医療制度 > iryouseido\ ;
+面罵罵倒 > menbabatou\ ;
+選挙違反 > senkyoihan\ ;
+日本時間 > nihonjikan\ ;
+奴隷制度 > doreiseido\ ;
+構造保持 > kouzouhoji\ ;
+自動車化 > jidoushaka\ ;
+日本書紀 > nihonshoki\ ;
+不空成就 > fukuujouju\ ;
+平和運動 > heiwaundou\ ;
+公定歩合 > kouteibuai\ ;
+天衣無縫 > ten''imuhou\ ;
+理路整然 > riroseizen\ ;
+南京繻子 > nankinjusu\ ;
+虚無主義 > kyomushugi\ ;
+権威主義 > ken''ishugi\ ;
+気炎万丈 > kienbanjou\ ;
+三三九度 > sansankudo\ ;
+計算機間 > keisankima\ ;
+礼儀作法 > reigisahou\ ;
+滅茶苦茶 > mechakucha\ ;
+耳下腺炎 > jikasen''en\ ;
+石油危機 > sekiyukiki\ ;
+刑事事件 > keijijiken\ ;
+利用価値 > riyoukachi\ ;
+回線負荷 > kaisenfuka\ ;
+首尾一貫 > shubiikkan\ ;
+医療保険 > iryouhoken\ ;
+武装解除 > busoukaijo\ ;
+表意文字 > hyouimonji\ ;
+都市国家 > toshikokka\ ;
+無為徒食 > muitoshoku\ ;
+映画音楽 > eigaongaku\ ;
+前後左右 > zengosayuu\ ;
+野戦特科 > yasentokka\ ;
+不羈奔放 > fukihonpou\ ;
+一手販売 > ittehanbai\ ;
+当座預金 > touzayokin\ ;
+桜花爛漫 > oukaranman\ ;
+自由自在 > jiyuujizai\ ;
+乾燥無味 > kansoumumi\ ;
+二項定理 > nikouteiri\ ;
+活性汚泥 > kasseiodei\ ;
+三三五五 > sansangogo\ ;
+在庫管理 > zaikokanri\ ;
+火災保険 > kasaihoken\ ;
+罵詈雑言 > barizougon\ ;
+道路封鎖 > dourofuusa\ ;
+小委員会 > shouiinkai\ ;
+交渉委員 > koushouiin\ ;
+合同行為 > goudoukoui\ ;
+炉辺談話 > rohendanwa\ ;
+過去分詞 > kakobunshi\ ;
+営利会社 > eirigaisha\ ;
+人事不省 > jinjifusei\ ;
+異性関係 > iseikankei\ ;
+事故原因 > jikogen''in\ ;
+家出少女 > iedeshoujo\ ;
+古典主義 > kotenshugi\ ;
+不法投棄 > fuhoutouki\ ;
+二重螺旋 > nijuurasen\ ;
+位相速度 > isousokudo\ ;
+音韻部門 > on''inbumon\ ;
+機能主義 > kinoushugi\ ;
+機械警備 > kikaikeibi\ ;
+基礎試験 > kisoshiken\ ;
+家庭菜園 > kateisaien\ ;
+道路工事 > dourokouji\ ;
+亜爾然丁 > aruzenchin\ ;
+四苦八苦 > shikuhakku\ ;
+委細面談 > isaimendan\ ;
+対校試合 > taikoujiai\ ;
+人気作家 > ninkisakka\ ;
+暖冬異変 > dantouihen\ ;
+女性一般 > joseiippan\ ;
+怪獣映画 > kaijuueiga\ ;
+多種多様 > tashutayou\ ;
+二部教授 > nibukyouju\ ;
+速度違反 > sokudoihan\ ;
+横断歩道 > oudanhodou\ ;
+舗装道路 > hosoudouro\ ;
+無線技師 > musengishi\ ;
+飛鳥時代 > asukajidai\ ;
+回路基板 > kairokiban\ ;
+形成外科 > keiseigeka\ ;
+宇宙兵器 > uchuuheiki\ ;
+異常気象 > ijoukishou\ ;
+無機化学 > mukikagaku\ ;
+自由主義 > jiyuushugi\ ;
+位記追贈 > ikitsuisou\ ;
+実写映画 > jisshaeiga\ ;
+自由時間 > jiyuujikan\ ;
+御礼奉公 > oreiboukou\ ;
+園芸用具 > engeiyougu\ ;
+破茶目茶 > hachamecha\ ;
+不穏文書 > fuonbunsho\ ;
+漢字文化 > kanjibunka\ ;
+予備試験 > yobishiken\ ;
+労務管理 > roumukanri\ ;
+平和会議 > heiwakaigi\ ;
+任務部隊 > ninmubutai\ ;
+小間物屋 > komamonoya\ ;
+縦横無尽 > juuoumujin\ ;
+国家主義 > kokkashugi\ ;
+過剰投与 > kajoutouyo\ ;
+論理回路 > ronrikairo\ ;
+自壊作用 > jikaisayou\ ;
+準備期間 > junbikikan\ ;
+天下無双 > tenkamusou\ ;
+一瀉千里 > isshasenri\ ;
+横行闊歩 > oukoukappo\ ;
+剰余価値 > jouyokachi\ ;
+文化国家 > bunkakokka\ ;
+舞台稽古 > butaigeiko\ ;
+伊勢大廟 > isetaibyou\ ;
+相互支援 > sougoshien\ ;
+普遍原理 > fuhengenri\ ;
+不即不離 > fusokufuri\ ;
+悪因悪果 > akuin''akka\ ;
+三々九度 > sansankudo\ ;
+附和雷同 > fuwaraidou\ ;
+化粧部屋 > keshoubeya\ ;
+磨製石器 > maseisekki\ ;
+父子家庭 > fushikatei\ ;
+余韻嫋嫋 > yoinjoujou\ ;
+縄文土器 > joumondoki\ ;
+財務管理 > zaimukanri\ ;
+穂状花序 > suijoukajo\ ;
+辞書部門 > jishobumon\ ;
+機動部隊 > kidoubutai\ ;
+保安処分 > hoanshobun\ ;
+意思表示 > ishihyouji\ ;
+営利事業 > eirijigyou\ ;
+皮膚移植 > hifuishoku\ ;
+議事妨害 > gijibougai\ ;
+付和雷同 > fuwaraidou\ ;
+一騎当千 > ikkitousen\ ;
+阿鼻叫喚 > abikyoukan\ ;
+絶対温度 > zettaiondo\ ;
+黄金世界 > ougonsekai\ ;
+棒温度計 > bouondokei\ ;
+反対意見 > hantaiiken\ ;
+欣求浄土 > gongujoudo\ ;
+金貨準備 > kinkajunbi\ ;
+論理素子 > ronrisoshi\ ;
+露地栽培 > rojisaibai\ ;
+古墳時代 > kofunjidai\ ;
+無煙火薬 > muenkayaku\ ;
+政治機構 > seijikikou\ ;
+意志決定 > ishikettei\ ;
+負荷分散 > fukabunsan\ ;
+不偏不党 > fuhenfutou\ ;
+同床異夢 > doushouimu\ ;
+無限軌道 > mugenkidou\ ;
+軍事顧問 > gunjikomon\ ;
+耽美主義 > tanbishugi\ ;
+喜劇映画 > kigekieiga\ ;
+曼珠沙華 > manjushage\ ;
+模擬試験 > mogishiken\ ;
+規則違反 > kisokuihan\ ;
+夏炉冬扇 > karotousen\ ;
+雨天決行 > utenkekkou\ ;
+意見交換 > ikenkoukan\ ;
+不乾性油 > fukanseiyu\ ;
+泌尿器科 > hinyoukika\ ;
+帷幄上奏 > iakujousou\ ;
+全権委員 > zenken''iin\ ;
+演算機構 > enzankikou\ ;
+無蓋貨車 > mugaikasha\ ;
+二十世紀 > nijisseiki\ ;
+保護処分 > hogoshobun\ ;
+皮膚科学 > hifukagaku\ ;
+衆愚政治 > shuguseiji\ ;
+侍従武官 > jijuubukan\ ;
+控訴期間 > kousokikan\ ;
+上位構造 > jouikouzou\ ;
+常任委員 > jounin''iin\ ;
+芝居小屋 > shibaigoya\ ;
+公租公課 > kousokouka\ ;
+易感染性 > ikansensei\ ;
+紀伊國屋 > kinokuniya\ ;
+夜鷹蕎麦 > yotakasoba\ ;
+勤務時間 > kinmujikan\ ;
+厭世主義 > enseishugi\ ;
+単位記号 > tan''ikigou\ ;
+排他主義 > haitashugi\ ;
+宇宙飛行 > uchuuhikou\ ;
+仮名草紙 > kanazoushi\ ;
+坑内事故 > kounaijiko\ ;
+論理演算 > ronrienzan\ ;
+電気毛布 > denkimoufu\ ;
+雲鬢花顔 > unbinkagan\ ;
+御前会議 > gozenkaigi\ ;
+予備調査 > yobichousa\ ;
+平和主義 > heiwashugi\ ;
+稲荷寿司 > inarizushi\ ;
+注意事項 > chuuijikou\ ;
+胸部外科 > kyoubugeka\ ;
+非可換群 > hikakangun\ ;
+遺伝情報 > idenjouhou\ ;
+寄生火山 > kiseikazan\ ;
+二部授業 > nibujugyou\ ;
+非営利的 > hieiriteki\ ;
+河川工事 > kasenkouji\ ;
+相手次第 > aiteshidai\ ;
+便宜主義 > bengishugi\ ;
+皮膚呼吸 > hifukokyuu\ ;
+亜成層圏 > aseisouken\ ;
+空軍大尉 > kuuguntaii\ ;
+三々五々 > sansangogo\ ;
+梵和辞典 > bonwajiten\ ;
+控訴理由 > kousoriyuu\ ;
+部隊区分 > butaikubun\ ;
+悪魔主義 > akumashugi\ ;
+護岸工事 > gogankouji\ ;
+余韻嫋々 > yoinjoujou\ ;
+田夫野人 > denpuyajin\ ;
+奇奇怪怪 > kikikaikai\ ;
+神代文字 > jindaimoji\ ;
+古典時代 > kotenjidai\ ;
+市会議員 > shikaigiin\ ;
+危険負担 > kikenfutan\ ;
+健康不安 > kenkoufuan\ ;
+応急渡河 > oukyuutoka\ ;
+二重否定 > nijuuhitei\ ;
+意気衝天 > ikishouten\ ;
+医学用語 > igakuyougo\ ;
+舞台効果 > butaikouka\ ;
+電位差計 > den''isakei\ ;
+度数分布 > dosuubunpu\ ;
+運送保険 > unsouhoken\ ;
+高手小手 > takatekote\ ;
+無味乾燥 > mumikansou\ ;
+下院議長 > kaingichou\ ;
+軍備管理 > gunbikanri\ ;
+樹脂加工 > jushikakou\ ;
+利水工事 > risuikouji\ ;
+非常事態 > hijoujitai\ ;
+武装蜂起 > busouhouki\ ;
+有声音化 > yuuseionka\ ;
+価値基準 > kachikijun\ ;
+調理器具 > chourikigu\ ;
+砲煙弾雨 > houendan''u\ ;
+馬耳東風 > bajitoufuu\ ;
+平行移動 > heikouidou\ ;
+補助動詞 > hojodoushi\ ;
+否定応答 > hiteioutou\ ;
+自己資本 > jikoshihon\ ;
+黄金時代 > ougonjidai\ ;
+命令一下 > meireiikka\ ;
+納付期限 > noufukigen\ ;
+摸擬試験 > mogishiken\ ;
+小児麻痺 > shounimahi\ ;
+宣伝記事 > sendenkiji\ ;
+夏季休暇 > kakikyuuka\ ;
+臨時政府 > rinjiseifu\ ;
+三日三晩 > mikkamiban\ ;
+無理難題 > murinandai\ ;
+予備装置 > yobisouchi\ ;
+果樹栽培 > kajusaibai\ ;
+粗衣粗食 > soisoshoku\ ;
+人民委員 > jinmin''iin\ ;
+飽和蒸気 > houwajouki\ ;
+匹夫匹婦 > hippuhippu\ ;
+二分音符 > nibun''onpu\ ;
+千波万波 > senpabanpa\ ;
+異常発生 > ijouhassei\ ;
+治安部隊 > chianbutai\ ;
+刃傷沙汰 > ninjouzata\ ;
+不活性化 > fukasseika\ ;
+工事現場 > koujigenba\ ;
+自己宣伝 > jikosenden\ ;
+気管支炎 > kikanshien\ ;
+手前勝手 > temaegatte\ ;
+保守主義 > hoshushugi\ ;
+木端微塵 > koppamijin\ ;
+死亡記事 > shiboukiji\ ;
+過剰利益 > kajourieki\ ;
+女尊男卑 > josondanpi\ ;
+十二単衣 > juunihitoe\ ;
+分離課税 > bunrikazei\ ;
+任意捜査 > nin''isousa\ ;
+上位概念 > jouigainen\ ;
+舞台道具 > butaidougu\ ;
+上映時間 > joueijikan\ ;
+計器飛行 > keikihikou\ ;
+戦災孤児 > sensaikoji\ ;
+基本原理 > kihongenri\ ;
+情意投合 > jouitougou\ ;
+管理機能 > kanrikinou\ ;
+臨時記号 > rinjikigou\ ;
+兵役忌避 > heiekikihi\ ;
+戦争映画 > sensoueiga\ ;
+財政危機 > zaiseikiki\ ;
+有限花序 > yuugenkajo\ ;
+軍事基地 > gunjikichi\ ;
+不正事件 > fuseijiken\ ;
+出来次第 > dekishidai\ ;
+変体仮名 > hentaigana\ ;
+英雄主義 > eiyuushugi\ ;
+痴話喧嘩 > chiwagenka\ ;
+烏有先生 > uyuusensei\ ;
+憲法違反 > kenpouihan\ ;
+回転椅子 > kaiten''isu\ ;
+能登半島 > notohantou\ ;
+劣性遺伝 > resseiiden\ ;
+請負制度 > ukeoiseido\ ;
+水車小屋 > suishagoya\ ;
+褐毛和種 > akagewashu\ ;
+固定負債 > koteifusai\ ;
+依願免官 > iganmenkan\ ;
+政府機関 > seifukikan\ ;
+事件記者 > jikenkisha\ ;
+平安後期 > heiankouki\ ;
+雇用保険 > koyouhoken\ ;
+保護貿易 > hogoboueki\ ;
+世界制覇 > sekaiseiha\ ;
+無機肥料 > mukihiryou\ ;
+高野豆腐 > kouyadoufu\ ;
+代議政治 > daigiseiji\ ;
+意馬心猿 > ibashin''en\ ;
+交通遺児 > koutsuuiji\ ;
+遺棄貨物 > ikikamotsu\ ;
+炭化水素 > tankasuiso\ ;
+囲碁三級 > igosankyuu\ ;
+産婦人科 > sanfujinka\ ;
+理想主義 > risoushugi\ ;
+十字砲火 > juujihouka\ ;
+都道府県 > todoufuken\ ;
+麝香豌豆 > jakouendou\ ;
+盲唖学校 > mouagakkou\ ;
+保安条例 > hoanjourei\ ;
+石器時代 > sekkijidai\ ;
+似非理屈 > eserikutsu\ ;
+記念切手 > kinenkitte\ ;
+個人個人 > kojinkojin\ ;
+延滞利子 > entairishi\ ;
+分派主義 > bunpashugi\ ;
+毀誉褒貶 > kiyohouhen\ ;
+唯美主義 > yuibishugi\ ;
+軍事衛星 > gunjieisei\ ;
+無我夢中 > mugamuchuu\ ;
+予定期限 > yoteikigen\ ;
+立体映画 > rittaieiga\ ;
+天気模様 > tenkimoyou\ ;
+火口原湖 > kakougenko\ ;
+表音字母 > hyouonjibo\ ;
+音声言語 > onseigengo\ ;
+一昨昨日 > sakiototoi\ ;
+脱法行為 > dappoukoui\ ;
+個人主義 > kojinshugi\ ;
+不正規軍 > fuseikigun\ ;
+准看護婦 > junkangofu\ ;
+母子家庭 > boshikatei\ ;
+同名異人 > doumeiijin\ ;
+育児時間 > ikujijikan\ ;
+時価発行 > jikahakkou\ ;
+会議事項 > kaigijikou\ ;
+仮想記憶 > kasoukioku\ ;
+部分麻酔 > bubunmasui\ ;
+検事控訴 > kenjikouso\ ;
+経営管理 > keieikanri\ ;
+飛行時間 > hikoujikan\ ;
+四字熟語 > yojijukugo\ ;
+臨機応変 > rinkiouhen\ ;
+定期保険 > teikihoken\ ;
+造言飛語 > zougenhigo\ ;
+事務用品 > jimuyouhin\ ;
+言語地理 > gengochiri\ ;
+犯罪行為 > hanzaikoui\ ;
+輸送機関 > yusoukikan\ ;
+補助艦艇 > hojokantei\ ;
+五里霧中 > gorimuchuu\ ;
+三日天下 > mikkatenka\ ;
+基本単位 > kihontan''i\ ;
+猶予期間 > yuuyokikan\ ;
+請負工事 > ukeoikouji\ ;
+意思決定 > ishikettei\ ;
+後退文字 > koutaimoji\ ;
+男尊女卑 > dansonjohi\ ;
+大慈大悲 > daijidaihi\ ;
+如何様師 > ikasamashi\ ;
+臨界事故 > rinkaijiko\ ;
+因果関係 > ingakankei\ ;
+異種交配 > ishukouhai\ ;
+夜間勤務 > yakankinmu\ ;
+御国自慢 > okunijiman\ ;
+神経科医 > shinkeikai\ ;
+完全試合 > kanzenjiai\ ;
+公示地価 > koujichika\ ;
+一字一句 > ichijiikku\ ;
+原理主義 > genrishugi\ ;
+童話作家 > douwasakka\ ;
+妨害行為 > bougaikoui\ ;
+運営経費 > un''eikeihi\ ;
+二部合奏 > nibugassou\ ;
+名誉毀損 > meiyokison\ ;
+記録映画 > kirokueiga\ ;
+運搬管理 > unpankanri\ ;
+医科大学 > ikadaigaku\ ;
+加減乗除 > kagenjoujo\ ;
+阿片戦争 > ahensensou\ ;
+唯唯諾諾 > iidakudaku\ ;
+相対誤差 > soutaigosa\ ;
+飲酒運転 > inshuunten\ ;
+指名試合 > shimeijiai\ ;
+徒弟制度 > toteiseido\ ;
+紋羽二重 > monhabutae\ ;
+貨幣制度 > kaheiseido\ ;
+日和下駄 > hiyorigeta\ ;
+世界平和 > sekaiheiwa\ ;
+無理関数 > murikansuu\ ;
+音吐朗朗 > ontorourou\ ;
+梅雨前線 > baiuzensen\ ;
+電気時計 > denkidokei\ ;
+二十四日 > nijuuyokka\ ;
+悲歌慷慨 > hikakougai\ ;
+予防医学 > yobouigaku\ ;
+当期利益 > toukirieki\ ;
+皮下脂肪 > hikashibou\ ;
+陶磁器店 > toujikiten\ ;
+切符売場 > kippuuriba\ ;
+裸体主義 > rataishugi\ ;
+音標文字 > onpyoumoji\ ;
+不正規戦 > fuseikisen\ ;
+絶対位置 > zettaiichi\ ;
+簡易保険 > kan''ihoken\ ;
+寡頭政治 > katouseiji\ ;
+下水処理 > gesuishori\ ;
+記憶素子 > kiokusoshi\ ;
+音声記号 > onseikigou\ ;
+和平会議 > waheikaigi\ ;
+破壊主義 > hakaishugi\ ;
+宇宙基地 > uchuukichi\ ;
+不可知論 > fukachiron\ ;
+自衛手段 > jieishudan\ ;
+小売値段 > kourinedan\ ;
+市場規模 > shijoukibo\ ;
+議員立法 > giinrippou\ ;
+学級委員 > gakkyuuiin\ ;
+議会主義 > gikaishugi\ ;
+基礎科学 > kisokagaku\ ;
+捜査本部 > sousahonbu\ ;
+宇宙探査 > uchuutansa\ ;
+亜麻織物 > amaorimono\ ;
+順序不同 > junjofudou\ ;
+経済援助 > keizaienjo\ ;
+累算温度 > ruisanondo\ ;
+浪漫主義 > romanshugi\ ;
+武装都市 > busoutoshi\ ;
+平和国家 > heiwakokka\ ;
+道路地図 > dourochizu\ ;
+御朱印船 > goshuinsen\ ;
+夜郎自大 > yaroujidai\ ;
+部分否定 > bubunhitei\ ;
+講和会議 > kouwakaigi\ ;
+編組機械 > hensokikai\ ;
+医療器械 > iryoukikai\ ;
+正規分布 > seikibunpu\ ;
+会員名簿 > kaiinmeibo\ ;
+天変地異 > tenpenchii\ ;
+有史以来 > yuushiirai\ ;
+保護関税 > hogokanzei\ ;
+未帰還者 > mikikansha\ ;
+三日坊主 > mikkabouzu\ ;
+確固不動 > kakkofudou\ ;
+不側不離 > fusokufuri\ ;
+文房具屋 > bunbouguya\ ;
+康煕字典 > koukijiten\ ;
+未来永劫 > miraieigou\ ;
+無理算段 > murisandan\ ;
+虞美人草 > gubijinsou\ ;
+象牙細工 > zougezaiku\ ;
+滅茶滅茶 > mechamecha\ ;
+風車小屋 > fuushagoya\ ;
+子供部屋 > kodomobeya\ ;
+求愛誇示 > kyuuaikoji\ ;
+王政復古 > ouseifukko\ ;
+一人部屋 > hitoribeya\ ;
+不買運動 > fubaiundou\ ;
+吝嗇吝嗇 > kechikechi\ ;
+定期預金 > teikiyokin\ ;
+一定期間 > itteikikan\ ;
+地下運動 > chikaundou\ ;
+懐疑主義 > kaigishugi\ ;
+融通無碍 > yuuzuumuge\ ;
+保安要員 > hoan''youin\ ;
+主我主義 > shugashugi\ ;
+不作為犯 > fusakuihan\ ;
+舗装煉瓦 > hosourenga\ ;
+投影図法 > toueizuhou\ ;
+総状花序 > soujoukajo\ ;
+清浄無垢 > seijoumuku\ ;
+三面記事 > sanmenkiji\ ;
+才気縦横 > saikijuuou\ ;
+本位貨幣 > hon''ikahei\ ;
+馬鹿丁寧 > bakateinei\ ;
+日葡辞書 > nippojisho\ ;
+位相空間 > isoukuukan\ ;
+海事衛星 > kaijieisei\ ;
+空気機械 > kuukikikai\ ;
+共同井戸 > kyoudouido\ ;
+合理主義 > gourishugi\ ;
+天津御姉 > amatsumiko\ ;
+天手古舞 > tentekomai\ ;
+夜光時計 > yakoudokei\ ;
+自転車屋 > jitenshaya\ ;
+自家用車 > jikayousha\ ;
+単位制度 > tan''iseido\ ;
+文字情報 > mojijouhou\ ;
+規制解除 > kiseikaijo\ ;
+気焔万丈 > kienbanjou\ ;
+下水工事 > gesuikouji\ ;
+合意情死 > gouijoushi\ ;
+武装平和 > busouheiwa\ ;
+付帯事項 > futaijikou\ ;
+行方不明 > yukuefumei\ ;
+天気予報 > tenkiyohou\ ;
+不平不満 > fuheifuman\ ;
+被保険者 > hihokensha\ ;
+親子電話 > oyakodenwa\ ;
+多情多恨 > tajoutakon\ ;
+経営破綻 > keieihatan\ ;
+賛助会員 > sanjokaiin\ ;
+下部構造 > kabukouzou\ ;
+毎土曜日 > maidoyoubi\ ;
+予算措置 > yosansochi\ ;
+不穏分子 > fuonbunshi\ ;
+喜怒哀楽 > kidoairaku\ ;
+漢和辞典 > kanwajiten\ ;
+友誼国家 > yuugikokka\ ;
+相互保険 > sougohoken\ ;
+事大主義 > jidaishugi\ ;
+五輪会議 > gorinkaigi\ ;
+語形変化 > gokeihenka\ ;
+非戦闘員 > hisentouin\ ;
+無念無想 > munenmusou\ ;
+演算手順 > enzantejun\ ;
+武断主義 > budanshugi\ ;
+世話人間 > sewaningen\ ;
+幾何平均 > kikaheikin\ ;
+人工降雨 > jinkoukouu\ ;
+自問自答 > jimonjitou\ ;
+皇紀年度 > koukinendo\ ;
+口腔外科 > koukougeka\ ;
+脳性麻痺 > nouseimahi\ ;
+五十音順 > gojuuonjun\ ;
+演算精度 > enzanseido\ ;
+十字架状 > juujikajou\ ;
+不老不死 > furoufushi\ ;
+世界主義 > sekaishugi\ ;
+螺鈿細工 > radenzaiku\ ;
+記載事項 > kisaijikou\ ;
+炭素繊維 > tansosen''i\ ;
+無線電話 > musendenwa\ ;
+温情主義 > onjoushugi\ ;
+個人経営 > kojinkeiei\ ;
+奔放不羈 > honpoufuki\ ;
+鉄器時代 > tekkijidai\ ;
+物価騰貴 > bukkatouki\ ;
+日本舞踊 > nihonbuyou\ ;
+聾唖学校 > rouagakkou\ ;
+現代英語 > gendaieigo\ ;
+十二使徒 > juunishito\ ;
+日本庭園 > nihonteien\ ;
+遺伝暗号 > iden''angou\ ;
+軍事輸送 > gunjiyusou\ ;
+伴性遺伝 > hanseiiden\ ;
+経営参加 > keieisanka\ ;
+予備選挙 > yobisenkyo\ ;
+予備艦隊 > yobikantai\ ;
+予備選手 > yobisenshu\ ;
+不倶戴天 > fugutaiten\ ;
+平和部隊 > heiwabutai\ ;
+唯々諾々 > iidakudaku\ ;
+裁判沙汰 > saibanzata\ ;
+営利法人 > eirihoujin\ ;
+議会政治 > gikaiseiji\ ;
+雨天順延 > utenjun''en\ ;
+付帯費用 > futaihiyou\ ;
+代議員団 > daigiindan\ ;
+二重課税 > nijuukazei\ ;
+扶養控除 > fuyoukoujo\ ;
+衛星都市 > eiseitoshi\ ;
+電気回路 > denkikairo\ ;
+地下二階 > chikanikai\ ;
+預金口座 > yokinkouza\ ;
+色恋沙汰 > irokoizata\ ;
+貨幣価値 > kaheikachi\ ;
+残務整理 > zanmuseiri\ ;
+公営保険 > koueihoken\ ;
+譲渡担保 > joutotanpo\ ;
+一家団欒 > ikkadanran\ ;
+代議員会 > daigiinkai\ ;
+補正予算 > hoseiyosan\ ;
+過剰防衛 > kajoubouei\ ;
+予備座席 > yobizaseki\ ;
+衛生基準 > eiseikijun\ ;
+保護団体 > hogodantai\ ;
+儀装馬車 > gisoubasha\ ;
+時事問題 > jijimondai\ ;
+夫婦喧嘩 > fuufugenka\ ;
+断固抗議 > dankokougi\ ;
+五輪聖火 > gorinseika\ ;
+自分勝手 > jibunkatte\ ;
+軍需景気 > gunjukeiki\ ;
+基底部門 > kiteibumon\ ;
+丸太小屋 > marutagoya\ ;
+予想利益 > yosourieki\ ;
+五音音階 > goon''onkai\ ;
+火気厳禁 > kakigenkin\ ;
+十字架像 > juujikazou\ ;
+処理過程 > shorikatei\ ;
+一定不変 > itteifuhen\ ;
+月下美人 > gekkabijin\ ;
+瀬戸内海 > setonaikai\ ;
+老政治家 > rouseijika\ ;
+功利主義 > kourishugi\ ;
+規制緩和 > kiseikanwa\ ;
+如是我聞 > nyozegamon\ ;
+明治時代 > meijijidai\ ;
+同化作用 > doukasayou\ ;
+別途預金 > bettoyokin\ ;
+下種根性 > gesukonjou\ ;
+援助交際 > enjokousai\ ;
+国会議員 > kokkaigiin\ ;
+土地利用 > tochiriyou\ ;
+栄枯盛衰 > eikoseisui\ ;
+相互作用 > sougosayou\ ;
+舞台衣装 > butaiishou\ ;
+合議制度 > gougiseido\ ;
+雌雄異株 > shiyuuishu\ ;
+反射誤差 > hanshagosa\ ;
+塩素酸塩 > ensosan''en\ ;
+絶対誤差 > zettaigosa\ ;
+物損事故 > bussonjiko\ ;
+全部保険 > zenbuhoken\ ;
+悪巫山戯 > warufuzake\ ;
+整形外科 > seikeigeka\ ;
+武家政権 > bukeseiken\ ;
+二項分布 > nikoubunpu\ ;
+映画会社 > eigagaisha\ ;
+鉄砲百合 > teppouyuri\ ;
+名誉会員 > meiyokaiin\ ;
+応募用紙 > ouboyoushi\ ;
+自浄作用 > jijousayou\ ;
+外貨預金 > gaikayokin\ ;
+恐怖映画 > kyoufueiga\ ;
+課税控除 > kazeikoujo\ ;
+許容誤差 > kyoyougosa\ ;
+不定期刑 > futeikikei\ ;
+明治維新 > meijiishin\ ;
+言語機能 > gengokinou\ ;
+保税倉庫 > hozeisouko\ ;
+医療機関 > iryoukikan\ ;
+石井聰互 > ishiisougo\ ;
+軍事封鎖 > gunjifuusa\ ;
+位階勲等 > ikaikuntou\ ;
+耐火煉瓦 > taikarenga\ ;
+古今無類 > kokonmurui\ ;
+電波管理 > denpakanri\ ;
+民事事件 > minjijiken\ ;
+自然保護 > shizenhogo\ ;
+画像処理 > gazoushori\ ;
+種種雑多 > shujuzatta\ ;
+映画俳優 > eigahaiyuu\ ;
+目茶目茶 > mechamecha\ ;
+磁気録音 > jikirokuon\ ;
+不協和音 > fukyouwaon\ ;
+本位記号 > hon''ikigou\ ;
+衛生管理 > eiseikanri\ ;
+相互主義 > sougoshugi\ ;
+応募資金 > ouboshikin\ ;
+復古主義 > fukkoshugi\ ;
+次亜硫酸 > jiaryuusan\ ;
+平安時代 > heianjidai\ ;
+情報機器 > jouhoukiki\ ;
+三位一体 > sanmiittai\ ;
+政務次官 > seimujikan\ ;
+雌雄異体 > shiyuuitai\ ;
+武断政治 > budanseiji\ ;
+酸化炭素 > sankatanso\ ;
+水彩画家 > suisaigaka\ ;
+基礎代謝 > kisotaisha\ ;
+一杯機嫌 > ippaikigen\ ;
+道路輸送 > douroyusou\ ;
+亜熱帯林 > anettairin\ ;
+青息吐息 > aoikitoiki\ ;
+慇懃無礼 > inginburei\ ;
+糞真面目 > kusomajime\ ;
+自主規制 > jishukisei\ ;
+弥生時代 > yayoijidai\ ;
+目茶苦茶 > mechakucha\ ;
+予備会談 > yobikaidan\ ;
+等位構造 > touikouzou\ ;
+他流試合 > taryuujiai\ ;
+安定操作 > anteisousa\ ;
+無償行為 > mushoukoui\ ;
+夏期休暇 > kakikyuuka\ ;
+夏期学校 > kakigakkou\ ;
+宇宙医学 > uchuuigaku\ ;
+名誉除隊 > meiyojotai\ ;
+五臓六腑 > gozouroppu\ ;
+執行委員 > shikkouiin\ ;
+四面楚歌 > shimensoka\ ;
+威風堂堂 > ifuudoudou\ ;
+軍事会議 > gunjikaigi\ ;
+跛行景気 > hakoukeiki\ ;
+饂飩粉病 > udonkobyou\ ;
+天下一品 > tenkaippin\ ;
+基地閉鎖 > kichiheisa\ ;
+筆記用具 > hikkiyougu\ ;
+蒸気機関 > joukikikan\ ;
+磁気抵抗 > jikiteikou\ ;
+丁字定規 > teijijougi\ ;
+固定金利 > koteikinri\ ;
+起動時間 > kidoujikan\ ;
+自己欺瞞 > jikogiman\ ;
+慰安旅行 > ianryokou\ ;
+電気器具 > denkikigu\ ;
+危機打者 > kikidasha\ ;
+塩化水素 > enkasuiso\ ;
+人事異動 > jinjiidou\ ;
+亜鉛鉄板 > aenteppan\ ;
+遮二無二 > shanimuni\ ;
+遺伝地図 > idenchizu\ ;
+不法行為 > fuhoukoui\ ;
+死体遺棄 > shitaiiki\ ;
+内野安打 > naiyaanda\ ;
+平穏無事 > heionbuji\ ;
+明明後日 > shiasatte\ ;
+一気呵成 > ikkikasei\ ;
+武器貸与 > bukitaiyo\ ;
+一夫多妻 > ipputasai\ ;
+危機突破 > kikitoppa\ ;
+医療機器 > iryoukiki\ ;
+天下無比 > tenkamuhi\ ;
+掩護部隊 > engobutai\ ;
+馬鹿野郎 > bakayarou\ ;
+口語英語 > kougoeigo\ ;
+鉄火味噌 > tekkamiso\ ;
+阿弥陀経 > amidakyou\ ;
+阿弥陀籤 > amidakuji\ ;
+存在意義 > sonzaiigi\ ;
+又従兄弟 > mataitoko\ ;
+羽毛布団 > umoufuton\ ;
+利己主義 > rikoshugi\ ;
+営利主義 > eirishugi\ ;
+無声映画 > museieiga\ ;
+補助漢字 > hojokanji\ ;
+和英辞書 > waeijisho\ ;
+同位元素 > douigenso\ ;
+再従兄弟 > futaitoko\ ;
+亜鉛凸版 > aentoppan\ ;
+磁気浮上 > jikifujou\ ;
+不法移民 > fuhouimin\ ;
+越権行為 > ekkenkoui\ ;
+主意主義 > shuishugi\ ;
+自己検査 > jikokensa\ ;
+多事多難 > tajitanan\ ;
+ＡＢＣ順 > ēbīshījun\ ;
+意気揚揚 > ikiyouyou\ ;
+和英辞典 > waeijiten\ ;
+不意試験 > fuishiken\ ;
+模範試合 > mohanjiai\ ;
+二重母音 > nijuuboin\ ;
+栄耀栄華 > eiyoueiga\ ;
+母語話者 > bogowasha\ ;
+木戸御免 > kidogomen\ ;
+自己疎外 > jikosogai\ ;
+基礎控除 > kisokoujo\ ;
+一定温度 > itteiondo\ ;
+手前味噌 > temaemiso\ ;
+允文允武 > inbuninbu\ ;
+自暴自棄 > jiboujiki\ ;
+相撲部屋 > sumoubeya\ ;
+自己保存 > jikohozon\ ;
+多事多端 > tajitatan\ ;
+明々後日 > shiasatte\ ;
+曖昧模糊 > aimaimoko\ ;
+事務次官 > jimujikan\ ;
+気宇広大 > kiukoudai\ ;
+多数意見 > tasuuiken\ ;
+歯科医師 > shikaishi\ ;
+美化運動 > bikaundou\ ;
+自己主義 > jikoshugi\ ;
+実行委員 > jikkouiin\ ;
+合気道家 > aikidouka\ ;
+遺族扶助 > izokufujo\ ;
+娑羅双樹 > sarasouju\ ;
+意気揚々 > ikiyouyou\ ;
+自己顕示 > jikokenji\ ;
+自己負担 > jikofutan\ ;
+露天風呂 > rotenburo\ ;
+意気投合 > ikitougou\ ;
+運否天賦 > unputenpu\ ;
+富栄養化 > fueiyouka\ ;
+印度支那 > indoshina\ ;
+欧化主義 > oukashugi\ ;
+無二無三 > munimuzan\ ;
+三日三夜 > mikkamiyo\ ;
+牡丹海老 > botan''ebi\ ;
+電気機器 > denkikiki\ ;
+自己嫌悪 > jikoken''o\ ;
+基本合意 > kihongoui\ ;
+小児科医 > shounikai\ ;
+我武者羅 > gamushara\ ;
+自己犠牲 > jikogisei\ ;
+相互扶助 > sougofujo\ ;
+同音異義 > douon''igi\ ;
+自己本位 > jikohon''i\ ;
+異常高温 > ijoukouon\ ;
+軍事援助 > gunjienjo\ ;
+弊衣破帽 > heiihabou\ ;
+七五三縄 > shimenawa\ ;
+文化遺産 > bunkaisan\ ;
+又従姉妹 > mataitoko\ ;
+自家受精 > jikajusei\ ;
+自家受粉 > jikajufun\ ;
+民生委員 > minseiiin\ ;
+愛他主義 > aitashugi\ ;
+一党一派 > ittouippa\ ;
+怪奇映画 > kaikieiga\ ;
+釈迦牟尼 > shakamuni\ ;
+社会経済 > shakaikei\ ;
+結跏趺座 > kekkafuza\ ;
+蓖麻子油 > himashiyu\ ;
+天気具合 > tenkiguai\ ;
+一口同音 > ikkudouon\ ;
+不可思議 > fukashigi\ ;
+医事伝道 > ijidendou\ ;
+音部記号 > onbukigou\ ;
+奈良時代 > narajidai\ ;
+耳鼻咽喉 > jibiinkou\ ;
+空気汚染 > kuukiosen\ ;
+烏帽子貝 > eboshigai\ ;
+有象無象 > uzoumuzou\ ;
+起訴猶予 > kisoyuuyo\ ;
+伊勢神宮 > isejinguu\ ;
+尸位素餐 > shiisosan\ ;
+野天風呂 > notenburo\ ;
+無理無体 > murimutai\ ;
+意気軒高 > ikikenkou\ ;
+語尾変化 > gobihenka\ ;
+九分九厘 > kubukurin\ ;
+自己規制 > jikokisei\ ;
+同委員会 > douiinkai\ ;
+沙羅双樹 > sarasouju\ ;
+一妻多夫 > issaitafu\ ;
+不正行為 > fuseikoui\ ;
+現状維持 > genjouiji\ ;
+美辞麗句 > bijireiku\ ;
+不言不語 > fugenfugo\ ;
+下部機関 > kabukikan\ ;
+個人誤差 > kojingosa\ ;
+自由意志 > jiyuuishi\ ;
+二次記憶 > nijikioku\ ;
+区会議員 > kukaigiin\ ;
+古事記伝 > kojikiden\ ;
+無為無策 > muimusaku\ ;
+小生意気 > konamaiki\ ;
+汚染除去 > osenjokyo\ ;
+扶養義務 > fuyougimu\ ;
+擬古主義 > gikoshugi\ ;
+九寸五分 > kusungobu\ ;
+意気軒昂 > ikikenkou\ ;
+女郎蜘蛛 > jorougumo\ ;
+不随意筋 > fuzuiikin\ ;
+移行期間 > ikoukikan\ ;
+付加価値 > fukakachi\ ;
+土壌汚染 > dojouosen\ ;
+上院議員 > jouingiin\ ;
+御家騒動 > oiesoudou\ ;
+二度三度 > nidosando\ ;
+高祖頭巾 > kosozukin\ ;
+予備部品 > yobibuhin\ ;
+自己批判 > jikohihan\ ;
+自画自賛 > jigajisan\ ;
+自画自讚 > jigajisan\ ;
+首位打者 > shuidasha\ ;
+因果応報 > ingaouhou\ ;
+下女下男 > gejogenan\ ;
+安楽椅子 > anrakuisu\ ;
+委員付託 > iinfutaku\ ;
+予備運動 > yobiundou\ ;
+遺産管理 > isankanri\ ;
+争議行為 > sougikoui\ ;
+麻婆豆腐 > mābodoufu\ ;
+文化映画 > bunkaeiga\ ;
+意味内容 > iminaiyou\ ;
+予備判事 > yobihanji\ ;
+武家時代 > bukejidai\ ;
+医療過誤 > iryoukago\ ;
+武家政治 > bukeseiji\ ;
+女王陛下 > joouheika\ ;
+大気汚染 > taikiosen\ ;
+基礎工事 > kisokouji\ ;
+無理往生 > murioujou\ ;
+何時時分 > itsujibun\ ;
+相互依存 > sougoizon\ ;
+語彙規則 > goikisoku\ ;
+自己弁護 > jikobengo\ ;
+五十音図 > gojuuonzu\ ;
+利他主義 > ritashugi\ ;
+加持祈祷 > kajikitou\ ;
+花卉園芸 > kakiengei\ ;
+和製英語 > waseieigo\ ;
+仮名手本 > kanadehon\ ;
+英和辞典 > eiwajiten\ ;
+予備会議 > yobikaigi\ ;
+二院制度 > niinseido\ ;
+夏期時間 > kakijikan\ ;
+井戸屋形 > idoyakata\ ;
+自己矛盾 > jikomujun\ ;
+危機管理 > kikikanri\ ;
+基礎体温 > kisotaion\ ;
+盂蘭盆会 > urabon''e\ ;
+医科歯科 > ikashika\ ;
+二度手間 > nidodema\ ;
+于蘭盆会 > urabon''e\ ;
+恵比寿顔 > ebisugao\ ;
+愚図愚図 > guzuguzu\ ;
+和気藹藹 > wakiaiai\ ;
+不真面目 > fumajime\ ;
+得手勝手 > etekatte\ ;
+寄付行為 > kifukoui\ ;
+乎古止点 > okototen\ ;
+富士五湖 > fujigoko\ ;
+是是非非 > zezehihi\ ;
+我利我利 > garigari\ ;
+江戸時代 > edojidai\ ;
+歯科医院 > shikaiin\ ;
+意気阻喪 > ikisosou\ ;
+違犯行為 > ihankoui\ ;
+恵比須講 > ebisukou\ ;
+一歩一歩 > ippoippo\ ;
+和気藹々 > wakiaiai\ ;
+無期延期 > mukienki\ ;
+赤鳥赤腹 > akakokko\ ;
+天爾乎波 > teniwoha\ ;
+依怙贔屓 > ekohiiki\ ;
+事務機器 > jimukiki\ ;
+自己暗示 > jikoanji\ ;
+伯剌西爾 > burajiru\ ;
+下院議員 > kaingiin\ ;
+電気椅子 > denkiisu\ ;
+平和維持 > heiwaiji\ ;
+有為転変 > uitenpen\ ;
+英小文字 > eikomoji\ ;
+何処其処 > dokosoko\ ;
+弖爾乎波 > teniwoha\ ;
+出来具合 > dekiguai\ ;
+意味部門 > imibumon\ ;
+土左衛門 > dozaemon\ ;
+意味原理 > imigenri\ ;
+依估贔屓 > ekohiiki\ ;
+婦人科医 > fujinkai\ ;
+烏帽子名 > eboshina\ ;
+風邪気味 > kazegimi\ ;
+左顧右眄 > sakouben\ ;
+仮名文字 > kanamoji\ ;
+地下足袋 > jikatabi\ ;
+大真面目 > oomajime\ ;
+検非違使 > kebiishi\ ;
+御無沙汰 > gobusata\ ;
+右顧左眄 > ukosaben\ ;
+違法行為 > ihoukoui\ ;
+会意文字 > kaiimoji\ ;
+合縁奇縁 > aienkien\ ;
+監査委員 > kansaiin\ ;
+異口同音 > ikudouon\ ;
+引火温度 > inkaondo\ ;
+阿古屋貝 > akoyagai\ ;
+生真面目 > kimajime\ ;
+是々非々 > zezehihi\ ;
+無理矢理 > muriyari\ ;
+示威運動 > jiiundou\ ;
+一夫一婦 > ippuippu\ ;
+五分五分 > gobugobu\ ;
+天爾遠波 > teniwoha\ ;
+後鳥羽院 > gotobain\ ;
+有耶無耶 > uyamuya\ ;
+亜米利加 > amerika\ ;
+荏胡麻油 > egomayu\ ;
+皮膚科医 > hifukai\ ;
+右往左往 > uousaou\ ;
+亜麻仁油 > amaniyu\ ;
+障泥烏賊 > aoriika\ ;
+御披露目 > ohirome\ ;
+赤啄木鳥 > akagera\ ;
+保護委員 > hogoiin\ ;
+阿弗利加 > afurika\ ;
+今日明日 > kyouasu\ ;
+亜拉毘亜 > arabia\ ;
+伊勢海老 > iseebi\ ;
+亜剌比亜 > arabia\ ;
+緑啄木鳥 > aogera\ ;
+御目見得 > omemie\ ;
+寿教室 > kotobukikyoushitsu\ ;
+私小説 > watakushishousetsu\ ;
+七七日 > shichishichinichi\ ;
+紫露草 > murasakitsuyukusa\ ;
+七々日 > shichishichinichi\ ;
+軽口話 > karukuchibanashi\ ;
+植物質 > shokubutsushitsu\ ;
+宿直室 > shukuchokushitsu\ ;
+一口話 > hitokuchibanashi\ ;
+筍生活 > takenokoseikatsu\ ;
+譲渡人 > yuzuriwatashinin\ ;
+内幕話 > uchimakubanashi\ ;
+集札係 > shuusatsugakari\ ;
+金槌頭 > kanadzuchiatama\ ;
+出札掛 > shussatsugakari\ ;
+三指鴎 > mitsuyubikamome\ ;
+出札係 > shussatsugakari\ ;
+腰赤燕 > koshiakatsubame\ ;
+診察室 > shinsatsushitsu\ ;
+識別力 > shikibetsuryoku\ ;
+私自身 > watakushijishin\ ;
+平清盛 > tairanokiyomori\ ;
+入出力 > nyuushutsuryoku\ ;
+紛失届 > funshitsutodoke\ ;
+求職係 > kyuushokugakari\ ;
+金壺眼 > kanatsubomanako\ ;
+陳列室 > chinretsushitsu\ ;
+特別室 > tokubetsushitsu\ ;
+紫水晶 > murasakizuishou\ ;
+取締役 > torishimariyaku\ ;
+片口鰯 > katakuchiiwashi\ ;
+不倒翁 > okiagarikoboshi\ ;
+不肖私 > fushouwatakushi\ ;
+失業率 > shitsugyouritsu\ ;
+抽出物 > chuushutsubutsu\ ;
+女友達 > on''natomodachi\ ;
+百日咳 > hyakunichizeki\ ;
+行列式 > gyouretsushiki\ ;
+取扱人 > toriatsukainin\ ;
+出入国 > shutsunyuukoku\ ;
+才槌頭 > saidzuchiatama\ ;
+逆説的 > gyakusetsuteki\ ;
+副食物 > fukushokubutsu\ ;
+瓢箪鯰 > hyoutan''namazu\ ;
+東半球 > higashihankyuu\ ;
+動物質 > doubutsushitsu\ ;
+越中褌 > etchuufundoshi\ ;
+印半纏 > shirushibanten\ ;
+仕方話 > shikatabanashi\ ;
+改札係 > kaisatsugakari\ ;
+剃刀触 > kamisorikabure\ ;
+売渡証 > uriwatashishou\ ;
+告別式 > kokubetsushiki\ ;
+夾雑物 > kyouzatsubutsu\ ;
+緑白色 > ryokuhakushoku\ ;
+膝関節 > shitsukansetsu\ ;
+接続口 > setsuzokuguchi\ ;
+凝着力 > gyouchakuryoku\ ;
+懐勘定 > futokorokanjou\ ;
+提出物 > teishutsubutsu\ ;
+出札口 > shussatsuguchi\ ;
+天日瓦 > tenjitsugawara\ ;
+夢物語 > yumemonogatari\ ;
+一昔前 > hitomukashimae\ ;
+百卒長 > hyakusotsuchou\ ;
+逆行列 > gyakugyouretsu\ ;
+旭日章 > kyokujitsushou\ ;
+幼友達 > osanatomodachi\ ;
+尻軽女 > shirigaruon''na\ ;
+白鉢巻 > shirohachimaki\ ;
+薄紫色 > usumurasakiiro\ ;
+出塁率 > shutsuruiritsu\ ;
+電信柱 > denshinbashira\ ;
+内証話 > naishoubanashi\ ;
+緑玉石 > ryokugyokuseki\ ;
+膝蓋骨 > shitsugaikotsu\ ;
+仮出獄 > karishutsugoku\ ;
+特別職 > tokubetsushoku\ ;
+命辛辛 > inochigaragara\ ;
+転入届 > ten''nyuutodoke\ ;
+受付係 > uketsukegakari\ ;
+就職率 > shuushokuritsu\ ;
+給料袋 > kyuuryoubukuro\ ;
+植物学 > shokubutsugaku\ ;
+大和魂 > yamatodamashii\ ;
+下台所 > shimodaidokoro\ ;
+就職口 > shuushokuguchi\ ;
+筋肉質 > kin''nikushitsu\ ;
+力仕事 > chikarashigoto\ ;
+嫡出子 > chakushutsushi\ ;
+片袖机 > katasodedzukue\ ;
+卒業式 > sotsugyoushiki\ ;
+光通信 > hikaritsuushin\ ;
+取締法 > torishimarihou\ ;
+手術室 > shujutsushitsu\ ;
+試着室 > shichakushitsu\ ;
+爆発物 > bakuhatsubutsu\ ;
+猪武者 > inoshishimusha\ ;
+大黒柱 > daikokubashira\ ;
+鎖帷子 > kusarikatabira\ ;
+不躾者 > bushitsukemono\ ;
+三色菫 > sanshokusumire\ ;
+命辛々 > inochigaragara\ ;
+出力線 > shutsuryokusen\ ;
+爆発力 > bakuhatsuryoku\ ;
+着信局 > chakushinkyoku\ ;
+排出物 > haishutsubutsu\ ;
+鉱物質 > koubutsushitsu\ ;
+振出局 > furidashikyoku\ ;
+執務室 > shitsumushitsu\ ;
+発熱量 > hatsunetsuryou\ ;
+大八車 > daihachiguruma\ ;
+直接的 > chokusetsuteki\ ;
+θ理論 > shi\ ̄ta\ ̄riron\ ;
+改札鋏 > kaisatsuhasami\ ;
+不束者 > futsutsukamono\ ;
+燕千鳥 > tsubamechidori\ ;
+休憩室 > kyuukeishitsu\ ;
+日没前 > nichibotsuzen\ ;
+狐格子 > kitsunegoushi\ ;
+閲覧室 > etsuranshitsu\ ;
+建築物 > kenchikubutsu\ ;
+実質的 > jisshitsuteki\ ;
+翌々日 > yokuyokujitsu\ ;
+試聴室 > shichoushitsu\ ;
+古強者 > furutsuwamono\ ;
+狸囃子 > tanukibayashi\ ;
+植毛術 > shokumoujutsu\ ;
+旧正月 > kyuushougatsu\ ;
+丸鼻蜂 > maruhanabachi\ ;
+脚色者 > kyakushokusha\ ;
+東海岸 > higashikaigan\ ;
+直立茎 > chokuritsukei\ ;
+白雪姫 > shirayukihime\ ;
+断熱的 > dan''netsuteki\ ;
+泥縄式 > doronawashiki\ ;
+観閲式 > kan''etsushiki\ ;
+吸湿性 > kyuushitsusei\ ;
+消極的 > shoukyokuteki\ ;
+漂流物 > hyouryuubutsu\ ;
+下二桁 > shimofutaketa\ ;
+憂鬱質 > yuuutsushitsu\ ;
+俄成金 > niwakanarikin\ ;
+収穫物 > shuukakubutsu\ ;
+貸付金 > kashitsukekin\ ;
+動物達 > doubutsutachi\ ;
+食糧庁 > shokuryouchou\ ;
+腺病質 > senbyoushitsu\ ;
+民約説 > min''yakusetsu\ ;
+吸湿剤 > kyuushitsuzai\ ;
+二筋道 > futasujimichi\ ;
+半長靴 > han''nagagutsu\ ;
+校長室 > kouchoushitsu\ ;
+決断力 > ketsudanryoku\ ;
+差出人 > sashidashinin\ ;
+七曜表 > shichiyouhyou\ ;
+灰緑色 > kairyokushoku\ ;
+本質的 > honshitsuteki\ ;
+求心力 > kyuushinryoku\ ;
+結団式 > ketsudanshiki\ ;
+改札口 > kaisatsuguchi\ ;
+繁殖力 > hanshokuryoku\ ;
+囃子詞 > hayashikotoba\ ;
+人差指 > hitosashiyubi\ ;
+七面鳥 > shichimenchou\ ;
+発言力 > hatsugenryoku\ ;
+出世頭 > shussegashira\ ;
+集中力 > shuuchuuryoku\ ;
+屈辱的 > kutsujokuteki\ ;
+商売敵 > shoubaigataki\ ;
+出生届 > shusseitodoke\ ;
+脱獄囚 > datsugokushuu\ ;
+古武士 > furutsuwamono\ ;
+土産話 > miyagebanashi\ ;
+白装束 > shiroshouzoku\ ;
+腰巾着 > koshiginchaku\ ;
+半熟卵 > hanjukutamago\ ;
+没常識 > botsujoushiki\ ;
+集塵袋 > shuujinbukuro\ ;
+三下奴 > sanshitayakko\ ;
+地質学 > chishitsugaku\ ;
+楽屋話 > gakuyabanashi\ ;
+強奪物 > goudatsubutsu\ ;
+閑日月 > kanjitsugetsu\ ;
+挑発的 > chouhatsuteki\ ;
+祝祭日 > shukusaijitsu\ ;
+彫刻術 > choukokujutsu\ ;
+中立国 > chuuritsukoku\ ;
+喫煙室 > kitsuenshitsu\ ;
+一両日 > ichiryoujitsu\ ;
+橋脚舟 > kyoukyakushuu\ ;
+漬物石 > tsukemonoishi\ ;
+外出中 > gaishutsuchuu\ ;
+鉄染色 > tetsusenshoku\ ;
+独立心 > dokuritsushin\ ;
+今月末 > kongetsumatsu\ ;
+実物大 > jitsubutsudai\ ;
+拾得物 > shuutokubutsu\ ;
+倉敷料 > kurashikiryou\ ;
+資料室 > shiryoushitsu\ ;
+買物袋 > kaimonobukuro\ ;
+吸収力 > kyuushuuryoku\ ;
+独立国 > dokuritsukoku\ ;
+血尿症 > ketsunyoushou\ ;
+彫刻物 > choukokubutsu\ ;
+堪忍袋 > kan''ninbukuro\ ;
+社長室 > shachoushitsu\ ;
+丼勘定 > donburikanjou\ ;
+玉子丼 > tamagodonburi\ ;
+縮刷版 > shukusatsuban\ ;
+今日的 > kon''nichiteki\ ;
+洞察力 > dousatsuryoku\ ;
+松食虫 > matsukuimushi\ ;
+芋蔓式 > imodzurushiki\ ;
+質量数 > shitsuryousuu\ ;
+別配達 > betsuhaitatsu\ ;
+今日様 > kon''nichisama\ ;
+冠大会 > kanmuritaikai\ ;
+追複曲 > tsuifukukyoku\ ;
+組合頭 > kumiaigashira\ ;
+散歩旁 > sanpokatagata\ ;
+供託物 > kyoutakubutsu\ ;
+出願人 > shutsugan''nin\ ;
+粘着力 > nenchakuryoku\ ;
+宿泊料 > shukuhakuryou\ ;
+枝垂桜 > shidarezakura\ ;
+古代紫 > kodaimurasaki\ ;
+枝垂柳 > shidareyanagi\ ;
+深緑色 > fukamidoriiro\ ;
+積雪量 > sekisetsuryou\ ;
+研究室 > kenkyuushitsu\ ;
+工作室 > kousakushitsu\ ;
+作劇術 > sakugekijutsu\ ;
+短日月 > tanjitsugetsu\ ;
+車掌室 > shashoushitsu\ ;
+診察料 > shinsatsuryou\ ;
+俸給袋 > houkyuubukuro\ ;
+消失点 > shoushitsuten\ ;
+読書室 > dokushoshitsu\ ;
+宿泊先 > shukuhakusaki\ ;
+識別子 > shikibetsushi\ ;
+南半球 > minamihankyuu\ ;
+職員室 > shokuinshitsu\ ;
+信玄袋 > shingenbukuro\ ;
+恋物語 > koimonogatari\ ;
+一粒種 > hitotsubudane\ ;
+緑柱石 > ryokuchuuseki\ ;
+昔気質 > mukashikatagi\ ;
+俄勉強 > niwakabenkyou\ ;
+進学率 > shingakuritsu\ ;
+殿様蛙 > tonosamagaeru\ ;
+静脈血 > joumyakuketsu\ ;
+一筋道 > hitosujimichi\ ;
+就業率 > shuugyouritsu\ ;
+内緒話 > naishobanashi\ ;
+躁鬱質 > souutsushitsu\ ;
+熱効率 > netsukouritsu\ ;
+目的物 > mokutekibutsu\ ;
+反発力 > hanpatsuryoku\ ;
+植物誌 > shokubutsushi\ ;
+警察力 > keisatsuryoku\ ;
+貨物室 > kamotsushitsu\ ;
+懐中鏡 > kaichuukagami\ ;
+淡緑色 > tanryokushoku\ ;
+天竺鼠 > tenjikunezumi\ ;
+統率力 > touritsuryoku\ ;
+実録物 > jitsurokumono\ ;
+密入国 > mitsunyuugoku\ ;
+直輸出 > chokuyushutsu\ ;
+惚気話 > norokebanashi\ ;
+休養室 > kyuuyoushitsu\ ;
+陳列窓 > chinretsumado\ ;
+百分率 > hyakubunritsu\ ;
+出血症 > shukketsushou\ ;
+密輸出 > mitsuyushutsu\ ;
+判別式 > hanbetsushiki\ ;
+植物界 > shokubutsukai\ ;
+熱力学 > netsurikigaku\ ;
+新正月 > shinshougatsu\ ;
+主食物 > shushokubutsu\ ;
+陳列棚 > chinretsudana\ ;
+雑収入 > zatsushuunyuu\ ;
+翌翌日 > yokuyokujitsu\ ;
+話半分 > hanashihanbun\ ;
+力不足 > chikarabusoku\ ;
+就学率 > shuugakuritsu\ ;
+水上町 > minakamimachi\ ;
+親切心 > shinsetsushin\ ;
+制作室 > seisakushitsu\ ;
+即物的 > sokubutsuteki\ ;
+汲取口 > kumitoriguchi\ ;
+廿日鼠 > hatsukanezumi\ ;
+総領娘 > souryoumusume\ ;
+七福神 > shichifukujin\ ;
+特別席 > tokubetsuseki\ ;
+多血質 > taketsushitsu\ ;
+核爆発 > kakubakuhatsu\ ;
+得票率 > tokuhyouritsu\ ;
+表彰式 > hyoushoushiki\ ;
+入学式 > nyuugakushiki\ ;
+灰白質 > kaihakushitsu\ ;
+食用油 > shokuyouabura\ ;
+職業的 > shokugyouteki\ ;
+食生活 > shokuseikatsu\ ;
+丸一月 > maruhitotsuki\ ;
+職業病 > shokugyoubyou\ ;
+丸一日 > maruichinichi\ ;
+毒物学 > dokubutsugaku\ ;
+就職先 > shuushokusaki\ ;
+口約束 > kuchiyakusoku\ ;
+実力者 > jitsuryokusha\ ;
+湧出量 > yuushutsuryou\ ;
+筒井筒 > tsutsuidzutsu\ ;
+会堂司 > kaidoudzukasa\ ;
+間歇熱 > kanketsunetsu\ ;
+哲学的 > tetsugakuteki\ ;
+読唇術 > dokushinjutsu\ ;
+間欠熱 > kanketsunetsu\ ;
+裸電球 > hadakadenkyuu\ ;
+蛋白質 > tanpakushitsu\ ;
+排泄物 > haisetsubutsu\ ;
+食肉目 > shokunikumoku\ ;
+活動力 > katsudouryoku\ ;
+侵略的 > shinryakuteki\ ;
+凝集力 > gyoushuuryoku\ ;
+俄狂言 > niwakakyougen\ ;
+獅子頭 > shishigashira\ ;
+観察力 > kansatsuryoku\ ;
+脱力感 > datsuryokukan\ ;
+支出額 > shishutsugaku\ ;
+大虐殺 > daigyakusatsu\ ;
+前渡金 > maewatashikin\ ;
+乳白色 > nyuuhakushoku\ ;
+終業式 > shuugyoushiki\ ;
+爆発的 > bakuhatsuteki\ ;
+清元節 > kiyomotobushi\ ;
+雷親父 > kaminarioyaji\ ;
+神経質 > shinkeishitsu\ ;
+接着力 > setchakuryoku\ ;
+五月幟 > satsukinobori\ ;
+逆輸出 > gyakuyushutsu\ ;
+的中率 > tekichuuritsu\ ;
+建設費 > kensetsuhiyou\ ;
+屈折率 > kussetsuritsu\ ;
+船長室 > senchoushitsu\ ;
+主教室 > shukyoushitsu\ ;
+室内楽 > shitsunaigaku\ ;
+人情話 > ninjoubanashi\ ;
+濃緑色 > nouryokushoku\ ;
+応接室 > ousetsushitsu\ ;
+侵略国 > shinryakukoku\ ;
+侍気質 > samuraikatagi\ ;
+申込書 > moushikomisho\ ;
+直説法 > chokusetsuhou\ ;
+下町風 > shitamachifuu\ ;
+食中毒 > shokuchuudoku\ ;
+産出高 > sanshutsudaka\ ;
+供出米 > kyoushutsumai\ ;
+増設率 > zousetsuritsu\ ;
+圧力鍋 > atsuryokunabe\ ;
+団栗眼 > dongurimanako\ ;
+圧力釜 > atsuryokugama\ ;
+気密室 > kimitsushitsu\ ;
+応接係 > ousetsugakari\ ;
+女房詞 > nyouboukotoba\ ;
+分列式 > bunretsushiki\ ;
+親任式 > shin''ninshiki\ ;
+生活力 > seikatsuryoku\ ;
+読心術 > dokushinjutsu\ ;
+駅長室 > ekichoushitsu\ ;
+家付娘 > ietsukimusume\ ;
+百日草 > hyakunichisou\ ;
+両三日 > ryousan''nichi\ ;
+旗行列 > hatagyouretsu\ ;
+眉唾物 > mayutsubamono\ ;
+進行係 > shinkougakari\ ;
+動植物 > doushokubutsu\ ;
+必要物 > hitsuyoubutsu\ ;
+三軸室 > sanjikushitsu\ ;
+待合室 > machiaishitsu\ ;
+博物学 > hakubutsugaku\ ;
+結紮術 > kessatsujutsu\ ;
+混入物 > kon''nyuubutsu\ ;
+人情噺 > ninjoubanashi\ ;
+出席率 > shussekiritsu\ ;
+直接税 > chokusetsuzei\ ;
+失業者 > shitsugyousha\ ;
+牧畜業 > bokuchikugyou\ ;
+構築物 > kouchikubutsu\ ;
+設立者 > setsuritsusha\ ;
+足長蜂 > ashinagabachi\ ;
+粘液質 > nen''ekishitsu\ ;
+直接法 > chokusetsuhou\ ;
+幽霊話 > yuureibanashi\ ;
+同質的 > doushitsuteki\ ;
+執着心 > shuuchakushin\ ;
+力関係 > chikarakankei\ ;
+物質的 > busshitsuteki\ ;
+蒸発熱 > jouhatsunetsu\ ;
+薩摩閥 > satsumabatsu\ ;
+視聴率 > shichouritsu\ ;
+畳水練 > tatamisuiren\ ;
+幕僚長 > bakuryouchou\ ;
+現実的 > genjitsuteki\ ;
+画一的 > kakuitsuteki\ ;
+卸酒販 > oroshishuhan\ ;
+親日家 > shin''nichika\ ;
+内出血 > naishukketsu\ ;
+潤筆料 > junpitsuryou\ ;
+田舎侍 > inakazamurai\ ;
+金釘流 > kanakugiryuu\ ;
+創作力 > sousakuryoku\ ;
+即戦力 > sokusenryoku\ ;
+括約筋 > katsuyakukin\ ;
+説得力 > settokuryoku\ ;
+鐘撞堂 > kanetsukidou\ ;
+旧形式 > kyuukeishiki\ ;
+黄玉石 > kougyokuseki\ ;
+実験室 > jikkenshitsu\ ;
+密漁者 > mitsuryousha\ ;
+潮汐表 > chousekihyou\ ;
+白熱戦 > hakunetsusen\ ;
+従属節 > juuzokusetsu\ ;
+押切帳 > oshikirichou\ ;
+鉱物学 > koubutsugaku\ ;
+左心室 > sashinshitsu\ ;
+極彩色 > gokusaishiki\ ;
+肝心要 > kanjinkaname\ ;
+建築業 > kenchikugyou\ ;
+拒食症 > kyoshokushou\ ;
+熱電対 > netsudentsui\ ;
+鎖伝動 > kusaridendou\ ;
+拡大率 > kakudairitsu\ ;
+狂信的 > kyoushinteki\ ;
+表現力 > hyougenryoku\ ;
+中立面 > chuuritsumen\ ;
+貝殻虫 > kaigaramushi\ ;
+一番星 > ichibanboshi\ ;
+賃借人 > chinshakunin\ ;
+装飾的 > soushokuteki\ ;
+澱粉質 > denpunshitsu\ ;
+千日草 > sen''nichisou\ ;
+七五調 > shichigochou\ ;
+中国服 > chuugokufuku\ ;
+高天原 > takamagahara\ ;
+勘定係 > kanjougakari\ ;
+拘束力 > kousokuryoku\ ;
+沈澱物 > chindenbutsu\ ;
+器質的 > kishitsuteki\ ;
+千日紅 > sen''nichikou\ ;
+建築学 > kenchikugaku\ ;
+敗血症 > haiketsushou\ ;
+十一月 > juuichigatsu\ ;
+袋戸棚 > fukurotodana\ ;
+拝物教 > haibutsukyou\ ;
+復讐心 > fukushuushin\ ;
+旧年末 > kyuunenmatsu\ ;
+失職者 > shisshokusha\ ;
+内割引 > uchiwaribiki\ ;
+出産率 > shussanritsu\ ;
+写実的 > shajitsuteki\ ;
+接続駅 > setsuzokueki\ ;
+製鉄業 > seitetsugyou\ ;
+出生率 > shusseiritsu\ ;
+着物姿 > kimonosugata\ ;
+積極策 > sekkyokusaku\ ;
+小文節 > shoubunsetsu\ ;
+組織力 > soshikiryoku\ ;
+断熱材 > dan''netsuzai\ ;
+著作物 > chosakubutsu\ ;
+盲滅法 > mekurameppou\ ;
+附着力 > fuchakuryoku\ ;
+漂流木 > hyouryuuboku\ ;
+紳士靴 > shinshigutsu\ ;
+浚渫船 > shunsetsusen\ ;
+深山烏 > miyamagarasu\ ;
+生臭物 > namagusamono\ ;
+審判役 > shinpan''yaku\ ;
+積極的 > sekkyokuteki\ ;
+発売元 > hatsubaimoto\ ;
+仏頂面 > butchoudzura\ ;
+取引高 > torihikidaka\ ;
+闖入者 > chin''nyuusha\ ;
+毬栗頭 > igaguriatama\ ;
+建築中 > kenchikuchuu\ ;
+弱小国 > jakushoukoku\ ;
+発売中 > hatsubaichuu\ ;
+復讐劇 > fukushuugeki\ ;
+下仕事 > shitashigoto\ ;
+消極性 > shoukyokusei\ ;
+金欠病 > kinketsubyou\ ;
+聴視率 > choushiritsu\ ;
+深山桜 > miyamazakura\ ;
+質問者 > shitsumonsha\ ;
+空約束 > karayakusoku\ ;
+接続詞 > setsuzokushi\ ;
+抹香鯨 > makkoukujira\ ;
+花盗人 > hananusubito\ ;
+乾燥室 > kansoushitsu\ ;
+尿毒症 > nyoudokushou\ ;
+癇癪玉 > kanshakudama\ ;
+一人物 > ichijinbutsu\ ;
+協約国 > kyouyakukoku\ ;
+末代物 > matsudaimono\ ;
+剃刀負 > kamisorimake\ ;
+一足先 > hitoashisaki\ ;
+果物籠 > kudamonokago\ ;
+世間話 > sekenbanashi\ ;
+行楽客 > kourakukyaku\ ;
+紋白蝶 > monshirochou\ ;
+入湯客 > nyuutoukyaku\ ;
+闇取引 > yamitorihiki\ ;
+進水式 > shinsuishiki\ ;
+仮払金 > karibaraikin\ ;
+紙屑籠 > kamikuzukago\ ;
+乾燥卵 > kansoutamago\ ;
+緑内障 > ryokunaishou\ ;
+極楽鳥 > gokurakuchou\ ;
+賃貸借 > chintaishaku\ ;
+告発者 > kokuhatsusha\ ;
+白血病 > hakketsubyou\ ;
+真珠質 > shinjushitsu\ ;
+片山里 > katayamazato\ ;
+独立祭 > dokuritsusai\ ;
+予約係 > yoyakugakari\ ;
+黄緑色 > ouryokushoku\ ;
+前進力 > zenshinryoku\ ;
+確率論 > kakuritsuron\ ;
+独立班 > dokuritsuhan\ ;
+等圧式 > touatsushiki\ ;
+素人筋 > shiroutosuji\ ;
+美人局 > tsutsumotase\ ;
+借地料 > shakuchiryou\ ;
+黄熱病 > kounetsubyou\ ;
+投票率 > touhyouritsu\ ;
+脅迫的 > kyouhakuteki\ ;
+団結心 > danketsushin\ ;
+質問書 > shitsumonsho\ ;
+中立性 > chuuritsusei\ ;
+告発状 > kokuhatsujou\ ;
+反復説 > hanpukusetsu\ ;
+印刷術 > insatsujutsu\ ;
+能力給 > nouryokukyuu\ ;
+練習曲 > renshuukyoku\ ;
+超能力 > chounouryoku\ ;
+核分裂 > kakubunretsu\ ;
+独立権 > dokuritsuken\ ;
+待宵草 > matsuyoigusa\ ;
+一人娘 > hitorimusume\ ;
+国税局 > kokuzeikyoku\ ;
+一面識 > ichimenshiki\ ;
+出願者 > shutsugansha\ ;
+勿忘草 > wasurenagusa\ ;
+強綿薬 > kyoumen''yaku\ ;
+梶木鮪 > kajikimaguro\ ;
+失明者 > shitsumeisha\ ;
+女道楽 > on''nadouraku\ ;
+成長率 > seichouritsu\ ;
+確実性 > kakujitsusei\ ;
+黒装束 > kuroshouzoku\ ;
+熱拡散 > netsukakusan\ ;
+忠臣蔵 > chuushingura\ ;
+動物学 > doubutsugaku\ ;
+一枚下 > ichimaishita\ ;
+至東京 > itarutoukyou\ ;
+独立性 > dokuritsusei\ ;
+雨後雪 > amenochiyuki\ ;
+八目鰻 > yatsumeunagi\ ;
+天狗話 > tengubanashi\ ;
+案内係 > an''naigakari\ ;
+流行色 > ryuukoushoku\ ;
+鍾乳石 > shounyuuseki\ ;
+接続性 > setsuzokusei\ ;
+真実性 > shinjitsusei\ ;
+骨肉腫 > kotsunikushu\ ;
+犬畜生 > inuchikushou\ ;
+領収証 > ryoushuushou\ ;
+昼光色 > chuukoushoku\ ;
+北極熊 > hokkyokuguma\ ;
+司令室 > shireishitsu\ ;
+印刷物 > insatsubutsu\ ;
+抽象的 > chuushouteki\ ;
+白拍子 > shirabyoushi\ ;
+提出者 > teishutsusha\ ;
+耐圧力 > taiatsuryoku\ ;
+凸面鏡 > totsumenkyou\ ;
+高血圧 > kouketsuatsu\ ;
+柱時計 > hashiradokei\ ;
+傘歯車 > kasahaguruma\ ;
+軍国色 > gunkokushoku\ ;
+八郎潟 > hachirougata\ ;
+宿命的 > shukumeiteki\ ;
+中心角 > chuushinkaku\ ;
+長須鯨 > nagasukujira\ ;
+修了証 > shuuryoushou\ ;
+段々畠 > dandanbatake\ ;
+段々畑 > dandanbatake\ ;
+多肉質 > tanikushitsu\ ;
+進入灯 > shin''nyuutou\ ;
+集約的 > shuuyakuteki\ ;
+兵六玉 > hyourokudama\ ;
+摩擦熱 > masatsunetsu\ ;
+技術力 > gijutsuryoku\ ;
+仮溶接 > kariyousetsu\ ;
+高品質 > kouhinshitsu\ ;
+晒木綿 > sarashimomen\ ;
+伸縮法 > shinshukuhou\ ;
+六連発 > rokurenpatsu\ ;
+併発症 > heihatsushou\ ;
+欠乏症 > ketsuboushou\ ;
+関節技 > kansetsuwaza\ ;
+沈没船 > chinbotsusen\ ;
+容積率 > yousekiritsu\ ;
+主力株 > shuryokukabu\ ;
+乾湿計 > kanshitsukei\ ;
+九星術 > kyuuseijutsu\ ;
+口八丁 > kuchihatchou\ ;
+検察庁 > kensatsuchou\ ;
+表表紙 > omotebyoushi\ ;
+直取引 > jikitorihiki\ ;
+大学卒 > daigakusotsu\ ;
+失語症 > shitsugoshou\ ;
+降雪量 > kousetsuryou\ ;
+漁師町 > ryoushimachi\ ;
+物見櫓 > monomiyagura\ ;
+取次店 > toritsugiten\ ;
+朧月夜 > oborodzukiyo\ ;
+享楽的 > kyourakuteki\ ;
+水力学 > suiryokugaku\ ;
+取引先 > torihikisaki\ ;
+入力線 > nyuuryokusen\ ;
+低血圧 > teiketsuatsu\ ;
+伸縮性 > shinshukusei\ ;
+律令制 > ritsuryousei\ ;
+形式的 > keishikiteki\ ;
+仲立人 > nakadachinin\ ;
+昇降口 > shoukouguchi\ ;
+記録係 > kirokugakari\ ;
+工作物 > kousakubutsu\ ;
+正直者 > shoujikimono\ ;
+中心的 > chuushinteki\ ;
+自習室 > jishuushitsu\ ;
+今明日 > konmyounichi\ ;
+間接的 > kansetsuteki\ ;
+出版物 > shuppanbutsu\ ;
+核軍縮 > kakugunshuku\ ;
+一見識 > ichikenshiki\ ;
+攻撃力 > kougekiryoku\ ;
+整髪料 > seihatsuryou\ ;
+七面倒 > shichimendou\ ;
+耐湿性 > taishitsusei\ ;
+仏文学 > futsubungaku\ ;
+畑水練 > hatakesuiren\ ;
+勅撰集 > chokusenshuu\ ;
+七面体 > shichimentai\ ;
+効率的 > kouritsuteki\ ;
+熱量計 > netsuryoukei\ ;
+注釈者 > chuushakusha\ ;
+狭心症 > kyoushinshou\ ;
+弥猛心 > yatakegokoro\ ;
+総花式 > soubanashiki\ ;
+協商国 > kyoushoukoku\ ;
+七絃琴 > shichigenkin\ ;
+爆裂弾 > bakuretsudan\ ;
+宗教心 > shuukyoushin\ ;
+公共物 > koukyoubutsu\ ;
+救急箱 > kyuukyuubako\ ;
+狂詩曲 > kyoushikyoku\ ;
+俄分限 > niwakabungen\ ;
+宗教学 > shuukyougaku\ ;
+一日中 > ichinichijuu\ ;
+求職者 > kyuushokusha\ ;
+畜殺場 > chikusatsuba\ ;
+学年末 > gakunenmatsu\ ;
+穀象虫 > kokuzoumushi\ ;
+無響室 > mukyoushitsu\ ;
+筍医者 > takenokoisha\ ;
+潛心力 > senshinryoku\ ;
+興行主 > kougyounushi\ ;
+修飾子 > shuushokushi\ ;
+収益率 > shuuekiritsu\ ;
+祝儀袋 > shuugibukuro\ ;
+婚姻届 > kon''intodoke\ ;
+障害物 > shougaibutsu\ ;
+黒銹病 > kurosabibyou\ ;
+人物評 > jinbutsuhyou\ ;
+雑所得 > zatsushotoku\ ;
+剥製術 > hakuseijutsu\ ;
+独占欲 > dokusen''yoku\ ;
+絶望的 > zetsubouteki\ ;
+天然色 > ten''nenshoku\ ;
+脂肪質 > shiboushitsu\ ;
+宗教劇 > shuukyougeki\ ;
+出場者 > shutsujousha\ ;
+乾漆像 > kanshitsuzou\ ;
+内罰的 > naibatsuteki\ ;
+七角形 > shichikakkei\ ;
+即興曲 > sokkyoukyoku\ ;
+散発的 > sanpatsuteki\ ;
+広口瓶 > hirokuchibin\ ;
+圧縮率 > asshukuritsu\ ;
+宿泊人 > shukuhakunin\ ;
+猩紅熱 > shoukounetsu\ ;
+協力鋼 > kyouryokukou\ ;
+所番地 > tokorobanchi\ ;
+注釈書 > chuushakusho\ ;
+特徴量 > tokuchouryou\ ;
+懐工合 > futokoroguai\ ;
+描写力 > byousharyoku\ ;
+生物学 > seibutsugaku\ ;
+懐具合 > futokoroguai\ ;
+読書力 > dokushoryoku\ ;
+知識欲 > chishikiyoku\ ;
+全速力 > zensokuryoku\ ;
+表々紙 > omotebyoushi\ ;
+深紅色 > shinkoushoku\ ;
+軟着陸 > nanchakuriku\ ;
+色情狂 > shikijoukyou\ ;
+郵便袋 > yuubinbukuro\ ;
+診察台 > shinsatsudai\ ;
+泡沫的 > houmatsuteki\ ;
+仮釈放 > karishakuhou\ ;
+急進的 > kyuushinteki\ ;
+診察券 > shinsatsuken\ ;
+極小値 > kyokushouchi\ ;
+供血者 > kyouketsusha\ ;
+収入役 > shuunyuuyaku\ ;
+段段畠 > dandanbatake\ ;
+段段畑 > dandanbatake\ ;
+節用集 > setsuyoushuu\ ;
+配達料 > haitatsuryou\ ;
+新卒者 > shinsotsusha\ ;
+収監力 > shuukanryoku\ ;
+百葉箱 > hyakuyoubako\ ;
+協力者 > kyouryokusha\ ;
+速達便 > sokutatsubin\ ;
+銀白色 > ginhakushoku\ ;
+夾竹桃 > kyouchikutou\ ;
+畜生道 > chikushoudou\ ;
+雪辱戦 > setsujokusen\ ;
+東京着 > toukyouchaku\ ;
+電信局 > denshinkyoku\ ;
+青色症 > seishokushou\ ;
+広告主 > koukokunushi\ ;
+東京発 > toukyouhatsu\ ;
+全身浴 > zenshin''yoku\ ;
+変質者 > henshitsusha\ ;
+夏木立 > natsukodachi\ ;
+警察庁 > keisatsuchou\ ;
+業界初 > gyoukaihatsu\ ;
+天長節 > tenchousetsu\ ;
+産褥熱 > sanjokunetsu\ ;
+単勝式 > tanshoushiki\ ;
+頭頂骨 > touchoukotsu\ ;
+壊血病 > kaiketsubyou\ ;
+看板娘 > kanbanmusume\ ;
+編集局 > henshuukyoku\ ;
+晴後雨 > harenochiame\ ;
+流動食 > ryuudoushoku\ ;
+食道楽 > shokudouraku\ ;
+毛織錦 > keorinishiki\ ;
+求人口 > kyuujinguchi\ ;
+終着駅 > shuuchakueki\ ;
+黒水熱 > kokusuinetsu\ ;
+仮進級 > karishinkyuu\ ;
+配達先 > haitatsusaki\ ;
+寝物語 > nemonogatari\ ;
+若殿原 > wakatonobara\ ;
+冷蔵室 > reizoushitsu\ ;
+没交渉 > botsukoushou\ ;
+静脈瘤 > joumyakuryuu\ ;
+骨組織 > kotsusoshiki\ ;
+千卒長 > sensotsuchou\ ;
+直轄地 > chokkatsuchi\ ;
+一筋繩 > hitosujinawa\ ;
+一筋縄 > hitosujinawa\ ;
+就職難 > shuushokunan\ ;
+説経節 > sekkyoubushi\ ;
+心身症 > shinshinshou\ ;
+面会室 > menkaishitsu\ ;
+独創力 > dokusouryoku\ ;
+始業式 > shigyoushiki\ ;
+来客筋 > raikyakusuji\ ;
+進学塾 > shingakujuku\ ;
+目的格 > mokutekikaku\ ;
+校正係 > kouseigakari\ ;
+力自慢 > chikarajiman\ ;
+屋敷町 > yashikimachi\ ;
+服飾品 > fukushokuhin\ ;
+膨張率 > bouchouritsu\ ;
+良心的 > ryoushinteki\ ;
+空念仏 > soranenbutsu\ ;
+皆皆様 > minaminasama\ ;
+能率給 > nouritsukyuu\ ;
+堆積物 > taisekibutsu\ ;
+出納係 > suitougakari\ ;
+蓄積管 > chikusekikan\ ;
+独身者 > dokushinmono\ ;
+石竹色 > sekichikuiro\ ;
+直腸癌 > chokuchougan\ ;
+突発的 > toppatsuteki\ ;
+芸術的 > geijutsuteki\ ;
+非晶質 > hishoushitsu\ ;
+玉蜀黍 > toumorokoshi\ ;
+小心者 > shoushinmono\ ;
+黒水引 > kuromizuhiki\ ;
+感熱剤 > kan''netsuzai\ ;
+娯楽室 > gorakushitsu\ ;
+鎮痛薬 > chintsuuyaku\ ;
+能率的 > nouritsuteki\ ;
+合唱曲 > gasshoukyoku\ ;
+丹頂鶴 > tanchoudzuru\ ;
+革新的 > kakushinteki\ ;
+客商売 > kyakushoubai\ ;
+一括式 > ikkatsushiki\ ;
+畜産業 > chikusangyou\ ;
+出血死 > shukketsushi\ ;
+白髪頭 > shiragaatama\ ;
+新形式 > shinkeishiki\ ;
+共有物 > kyouyuubutsu\ ;
+申告箱 > shinkokubako\ ;
+書留料 > kakitomeryou\ ;
+希釈熱 > kishakunetsu\ ;
+山口県 > yamaguchiken\ ;
+執筆者 > shippitsusha\ ;
+商取引 > shoutorihiki\ ;
+植物油 > shokubutsuyu\ ;
+出血斑 > shukketsuhan\ ;
+企画室 > kikakushitsu\ ;
+侵入軍 > shin''nyuugun\ ;
+漁獲物 > gyokakubutsu\ ;
+力学的 > rikigakuteki\ ;
+疳癪玉 > kanshakudama\ ;
+約束事 > yakusokugoto\ ;
+経帷子 > kyoukatabira\ ;
+火消壷 > hikeshitsubo\ ;
+利休鼠 > rikyuunezumi\ ;
+順応力 > jun''nouryoku\ ;
+下半身 > shimohanshin\ ;
+表決権 > hyouketsuken\ ;
+択一的 > takuitsuteki\ ;
+流動物 > ryuudoubutsu\ ;
+陳述書 > chinjutsusho\ ;
+追悼式 > tsuitoushiki\ ;
+飲食物 > inshokubutsu\ ;
+昼食会 > chuushokukai\ ;
+畜産学 > chikusangaku\ ;
+識字率 > shikijiritsu\ ;
+鼻高高 > hanatakadaka\ ;
+特別法 > tokubetsuhou\ ;
+出漁権 > shutsugyoken\ ;
+鳶職人 > tobishokunin\ ;
+鎮魂曲 > chinkonkyoku\ ;
+出演料 > shutsuenryou\ ;
+通俗的 > tsuuzokuteki\ ;
+侵入者 > shin''nyuusha\ ;
+空出張 > karashutchou\ ;
+血圧計 > ketsuatsukei\ ;
+胆汁質 > tanjuushitsu\ ;
+黄碧玉 > kouhekigyoku\ ;
+隔月刊 > kakugetsukan\ ;
+復原力 > fukugenryoku\ ;
+竣工式 > shunkoushiki\ ;
+競争率 > kyousouritsu\ ;
+積立金 > tsumitatekin\ ;
+植物園 > shokubutsuen\ ;
+独身寮 > dokushinryou\ ;
+入札者 > nyuusatsusha\ ;
+新入生 > shin''nyuusei\ ;
+神謡集 > shin''youshuu\ ;
+両極端 > ryoukyokutan\ ;
+帳面面 > choumendzura\ ;
+見積書 > mitsumorisho\ ;
+研削代 > kensakushiro\ ;
+活動的 > katsudouteki\ ;
+全能力 > zen''nouryoku\ ;
+食肉類 > shokunikurui\ ;
+肺活量 > haikatsuryou\ ;
+開票率 > kaihyouritsu\ ;
+常識的 > joushikiteki\ ;
+収容力 > shuuyouryoku\ ;
+象徴的 > shouchouteki\ ;
+自慢話 > jimanbanashi\ ;
+招待客 > shoutaikyaku\ ;
+交響曲 > koukyoukyoku\ ;
+電解質 > denkaishitsu\ ;
+平底船 > hirasokobune\ ;
+就任式 > shuuninshiki\ ;
+冷凍室 > reitoushitsu\ ;
+配膳室 > haizenshitsu\ ;
+広島県 > hiroshimaken\ ;
+暦改正 > koyomikaisei\ ;
+徳川方 > tokugawagata\ ;
+仮入学 > karinyuugaku\ ;
+原形質 > genkeishitsu\ ;
+黒色腫 > kokushokushu\ ;
+卒業生 > sotsugyousei\ ;
+回復力 > kaifukuryoku\ ;
+入会式 > nyuukaishiki\ ;
+向心力 > koushinryoku\ ;
+玉虫色 > tamamushiiro\ ;
+特別号 > tokubetsugou\ ;
+脱毛症 > datsumoushou\ ;
+始球式 > shikyuushiki\ ;
+何色搨 > nanshokuzuri\ ;
+信託業 > shintakugyou\ ;
+僻根性 > higamikonjou\ ;
+奪三振 > datsusanshin\ ;
+鉄火丼 > tekkadonburi\ ;
+大福餅 > daifukumochi\ ;
+侵略軍 > shinryakugun\ ;
+反物質 > hanbusshitsu\ ;
+制球力 > seikyuuryoku\ ;
+陸産物 > rikusanbutsu\ ;
+農作物 > nousakubutsu\ ;
+竜舌蘭 > ryuuzetsuran\ ;
+営業畑 > eigyoubatake\ ;
+肉食獣 > nikushokujuu\ ;
+法律学 > houritsugaku\ ;
+新発明 > shinhatsumei\ ;
+逗留客 > touryuukyaku\ ;
+徳島県 > tokushimaken\ ;
+清水寺 > kiyomizudera\ ;
+熱容量 > netsuyouryou\ ;
+文筆業 > bunpitsugyou\ ;
+脳出血 > noushukketsu\ ;
+露出症 > roshutsushou\ ;
+高足蟹 > takaashigani\ ;
+私娼窟 > shishoukutsu\ ;
+黒色癌 > kokushokugan\ ;
+貧血症 > hinketsushou\ ;
+認識票 > ninshikihyou\ ;
+疫病神 > yakubyougami\ ;
+露出狂 > roshutsukyou\ ;
+密猟者 > mitsuryousha\ ;
+八丈島 > hachijoujima\ ;
+降神術 > koushinjutsu\ ;
+哲学者 > tetsugakusha\ ;
+力一杯 > chikaraippai\ ;
+出品物 > shuppinbutsu\ ;
+灰白色 > kaihakushoku\ ;
+独居室 > dokkyoshitsu\ ;
+接待係 > settaigakari\ ;
+万年雪 > man''nen''yuki\ ;
+狂想曲 > kyousoukyoku\ ;
+侵略者 > shinryakusha\ ;
+町役人 > machiyakunin\ ;
+蚰蜒眉 > gejigejimayu\ ;
+学習塾 > gakushuujuku\ ;
+新発売 > shinhatsubai\ ;
+競争力 > kyousouryoku\ ;
+失名氏 > shitsumeishi\ ;
+表座敷 > omotezashiki\ ;
+徴発令 > chouhatsurei\ ;
+副収入 > fukushuunyuu\ ;
+恐喝罪 > kyoukatsuzai\ ;
+屈折軸 > kussetsujiku\ ;
+合切袋 > gassaibukuro\ ;
+消息通 > shousokutsuu\ ;
+株主権 > kabunushiken\ ;
+占有率 > sen''yuuritsu\ ;
+南京袋 > nankinbukuro\ ;
+高高指 > takatakayubi\ ;
+白色光 > hakushokukou\ ;
+鐘乳石 > shounyuuseki\ ;
+日米協 > nichibeikyou\ ;
+屈折角 > kussetsukaku\ ;
+殺人的 > satsujinteki\ ;
+左団扇 > hidariuchiwa\ ;
+防塵室 > boujinshitsu\ ;
+含有率 > gan''yuuritsu\ ;
+脈搏数 > myakuhakusuu\ ;
+推進力 > suishinryoku\ ;
+聾桟敷 > tsunbosajiki\ ;
+縮緬皺 > chirimenjiwa\ ;
+殺人狂 > satsujinkyou\ ;
+輸出入 > yushutsunyuu\ ;
+観客席 > kankyakuseki\ ;
+命冥加 > inochimyouga\ ;
+表六玉 > hyourokudama\ ;
+森林浴 > shinrin''yoku\ ;
+耕作物 > kousakubutsu\ ;
+爆発管 > bakuhatsukan\ ;
+黒八丈 > kurohachijou\ ;
+半身浴 > hanshin''yoku\ ;
+暗緑色 > anryokushoku\ ;
+筋肉痛 > kin''nikutsuu\ ;
+職能給 > shokunoukyuu\ ;
+新生物 > shinseibutsu\ ;
+凌霄花 > nouzenkazura\ ;
+黒色尉 > kokushikijou\ ;
+偶発的 > guuhatsuteki\ ;
+特産物 > tokusanbutsu\ ;
+化粧室 > keshoushitsu\ ;
+総支出 > soushishutsu\ ;
+哲学書 > tetsugakusho\ ;
+博物館 > hakubutsukan\ ;
+仲介物 > chuukaibutsu\ ;
+白頭鷲 > hakutouwashi\ ;
+最新式 > saishinshiki\ ;
+山躑躅 > yamatsutsuji\ ;
+省電力 > shoudenryoku\ ;
+一匹狼 > ippikiookami\ ;
+消息筋 > shousokusuji\ ;
+万年筆 > man''nenhitsu\ ;
+仇同氏 > katakidoushi\ ;
+局地的 > kyokuchiteki\ ;
+革手袋 > kawatebukuro\ ;
+七分袖 > shichibusode\ ;
+心霊術 > shinreijutsu\ ;
+松竹梅 > shouchikubai\ ;
+核開発 > kakukaihatsu\ ;
+国際色 > kokusaishoku\ ;
+子供心 > kodomogokoro\ ;
+勅選集 > chokusenshuu\ ;
+精神力 > seishinryoku\ ;
+再突入 > saitotsunyuu\ ;
+発信局 > hasshinkyoku\ ;
+大和心 > yamatogokoro\ ;
+調律師 > chouritsushi\ ;
+辞職願 > jishokunegai\ ;
+親密感 > shinmitsukan\ ;
+窓際族 > madogiwazoku\ ;
+写真術 > shashinjutsu\ ;
+復元力 > fukugenryoku\ ;
+輻射熱 > fukushanetsu\ ;
+供述者 > kyoujutsusha\ ;
+神経節 > shinkeisetsu\ ;
+爆発性 > bakuhatsusei\ ;
+全日制 > zen''nichisei\ ;
+消毒薬 > shoudokuyaku\ ;
+道徳律 > doutokuritsu\ ;
+国防色 > kokuboushoku\ ;
+終末論 > shuumatsuron\ ;
+将軍職 > shougunshoku\ ;
+草月流 > sougetsuryuu\ ;
+明赤色 > meisekishoku\ ;
+付着力 > fuchakuryoku\ ;
+解決策 > kaiketsusaku\ ;
+口唇裂 > koushinretsu\ ;
+七草粥 > nanakusagayu\ ;
+商業学 > shougyougaku\ ;
+建設省 > kensetsushou\ ;
+分別心 > funbetsushin\ ;
+建設的 > kensetsuteki\ ;
+二翻役 > ryanfan''yaku\ ;
+口拍子 > kuchibyoushi\ ;
+認証式 > ninshoushiki\ ;
+総括的 > soukatsuteki\ ;
+托鉢僧 > takuhatsuzou\ ;
+商業国 > shougyoukoku\ ;
+仲人口 > nakoudoguchi\ ;
+桜前線 > sakurazensen\ ;
+龍舌蘭 > ryuuzetsuran\ ;
+強制力 > kyouseiryoku\ ;
+必読書 > hitsudokusho\ ;
+圧力計 > atsuryokukei\ ;
+随筆集 > zuihitsushuu\ ;
+猫目石 > nekomokuseki\ ;
+勉強机 > benkyouzukue\ ;
+白玉楼 > hakugyokurou\ ;
+開通式 > kaitsuushiki\ ;
+西半球 > nishihankyuu\ ;
+啄木鳥 > takubokuchou\ ;
+単一形 > tan''ichigata\ ;
+必然的 > hitsuzenteki\ ;
+水蟷螂 > mizukamakiri\ ;
+星月夜 > hoshidzukuyo\ ;
+縞織物 > shimaorimono\ ;
+建設業 > kensetsugyou\ ;
+鼻高々 > hanatakadaka\ ;
+商人街 > shouninmachi\ ;
+一幕物 > hitomakumono\ ;
+百人力 > hyakuninriki\ ;
+供述書 > kyoujutsusho\ ;
+実業界 > jitsugyoukai\ ;
+行平鍋 > yukihiranabe\ ;
+落成式 > rakuseishiki\ ;
+柳川鍋 > yanagawanabe\ ;
+航続力 > kouzokuryoku\ ;
+直接費 > chokusetsuhi\ ;
+山梨県 > yamanashiken\ ;
+棗椰子 > natsumeyashi\ ;
+刺激物 > shigekibutsu\ ;
+漫遊客 > man''yuukyaku\ ;
+食物油 > shokubutsuyu\ ;
+瓦煎餅 > kawarasenbei\ ;
+親子丼 > oyakodonburi\ ;
+著述業 > chojutsugyou\ ;
+蒼白色 > souhakushoku\ ;
+七辺形 > shichihenkei\ ;
+年末迄 > nenmatsumade\ ;
+売春宿 > baishun''yado\ ;
+質点系 > shitsutenkei\ ;
+御伽話 > otogibanashi\ ;
+操業率 > sougyouritsu\ ;
+枕屏風 > makurabyoubu\ ;
+血液学 > ketsuekigaku\ ;
+基督教 > kirisutokyou\ ;
+鼠花火 > nezumihanabi\ ;
+捕物帳 > torimonochou\ ;
+捕物帖 > torimonochou\ ;
+貯蔵室 > chozoushitsu\ ;
+弔問客 > choumonkyaku\ ;
+遺失物 > ishitsubutsu\ ;
+動脈血 > doumyakketsu\ ;
+入場式 > nyuujoushiki\ ;
+細胞質 > saiboushitsu\ ;
+血液型 > ketsuekigata\ ;
+標識灯 > hyoushikitou\ ;
+包括的 > houkatsuteki\ ;
+劇中劇 > gekichuugeki\ ;
+実用的 > jitsuyouteki\ ;
+侍八騎 > samuraihakki\ ;
+中間色 > chuukanshoku\ ;
+開腹術 > kaifukujutsu\ ;
+直撃弾 > chokugekidan\ ;
+副産物 > fukusanbutsu\ ;
+命中率 > meichuuritsu\ ;
+血友病 > ketsuyuubyou\ ;
+精白率 > seihakuritsu\ ;
+均質性 > kinshitsusei\ ;
+戸籍係 > kosekigakari\ ;
+接客業 > sekkyakugyou\ ;
+蓄膿症 > chikunoushou\ ;
+花形株 > hanagatakabu\ ;
+振出人 > furidashinin\ ;
+註釈者 > chuushakusha\ ;
+禁欲的 > kin''yokuteki\ ;
+一分別 > hitofunbetsu\ ;
+半独立 > handokuritsu\ ;
+執務中 > shitsumuchuu\ ;
+親日派 > shin''nichiha\ ;
+福島県 > fukushimaken\ ;
+調色板 > choushokuban\ ;
+剪定鋏 > senteibasami\ ;
+緑黄色 > ryokuoushoku\ ;
+下屋敷 > shimoyashiki\ ;
+車用品 > kurumayouhin\ ;
+耐久力 > taikyuuryoku\ ;
+寝台虫 > shindaimushi\ ;
+嗜虐的 > shigyakuteki\ ;
+中継局 > chuukeikyoku\ ;
+長広舌 > choukouzetsu\ ;
+日没後 > nichibotsugo\ ;
+動脈瘤 > doumyakuryuu\ ;
+一輪挿 > ichirinzashi\ ;
+蒸発皿 > jouhatsuzara\ ;
+賃借権 > chinshakuken\ ;
+卸問屋 > oroshidon''ya\ ;
+防湿剤 > boushitsuzai\ ;
+収穫高 > shuukakudaka\ ;
+再出発 > saishuppatsu\ ;
+協奏曲 > kyousoukyoku\ ;
+周極星 > shuukyokusei\ ;
+零行列 > reigyouretsu\ ;
+出発点 > shuppatsuten\ ;
+合格率 > goukakuritsu\ ;
+行進曲 > koushinkyoku\ ;
+白熱灯 > hakunetsutou\ ;
+食料品 > shokuryouhin\ ;
+操車係 > soushagakari\ ;
+刺戟物 > shigekibutsu\ ;
+湿電池 > shitsudenchi\ ;
+観掌術 > kanshoujutsu\ ;
+真骨頂 > shinkotchou\ ;
+必要品 > hitsuyouhin\ ;
+画世的 > kakuseiteki\ ;
+熨斗袋 > noshibukuro\ ;
+測地学 > sokuchigaku\ ;
+雁木鑢 > gangiyasuri\ ;
+再割引 > saiwaribiki\ ;
+奉献式 > houkenshiki\ ;
+初誕生 > hatsutanjou\ ;
+三本足 > sanbon''ashi\ ;
+判断力 > handanryoku\ ;
+協調性 > kyouchousei\ ;
+天道乾 > tentouboshi\ ;
+白日夢 > hakujitsumu\ ;
+分析表 > bunsekihyou\ ;
+承諾書 > shoudakusho\ ;
+少食家 > shoushokuka\ ;
+仮執行 > karishikkou\ ;
+握力計 > akuryokukei\ ;
+不足勝 > fusokugachi\ ;
+後進国 > koushinkoku\ ;
+洗眼薬 > sengan''yaku\ ;
+復習文 > fukushuubun\ ;
+止血帯 > shiketsutai\ ;
+下宿料 > geshukuryou\ ;
+重量級 > juuryoukyuu\ ;
+前進軸 > zenshinjiku\ ;
+鉄石心 > tessekishin\ ;
+甘茶蔓 > amachadzuru\ ;
+署名式 > shomeishiki\ ;
+人心地 > hitogokochi\ ;
+囚人服 > shuujinfuku\ ;
+律儀者 > richigimono\ ;
+雁木車 > gangiguruma\ ;
+憂欝症 > yuuutsushou\ ;
+実験式 > jikkenshiki\ ;
+狂信者 > kyoushinsha\ ;
+民族的 > minzokuteki\ ;
+発言者 > hatsugensha\ ;
+単縦列 > tanjuuretsu\ ;
+三人組 > san''ningumi\ ;
+黒斑病 > kokuhanbyou\ ;
+悪悪戯 > waruitazura\ ;
+実用品 > jitsuyouhin\ ;
+大腿骨 > daitaikotsu\ ;
+水蜜桃 > suimitsutou\ ;
+漂流船 > hyouryuusen\ ;
+頸動脈 > keidoumyaku\ ;
+生兵法 > namabyouhou\ ;
+烏羽色 > karasubairo\ ;
+弟弟子 > otoutodeshi\ ;
+劇文学 > gekibungaku\ ;
+加薬飯 > kayakumeshi\ ;
+北半球 > kitahankyuu\ ;
+集中線 > shuuchuusen\ ;
+得業士 > tokugyoushi\ ;
+前進角 > zenshinkaku\ ;
+養殖池 > youshokuchi\ ;
+嗜虐性 > shigyakusei\ ;
+三人称 > san''ninshou\ ;
+中級品 > chuukyuuhin\ ;
+漂流者 > hyouryuusha\ ;
+誘惑物 > yuuwakumono\ ;
+頭蓋骨 > tougaikotsu\ ;
+発明品 > hatsumeihin\ ;
+失格者 > shikkakusha\ ;
+成績表 > seisekihyou\ ;
+注文先 > chuumonsaki\ ;
+既決囚 > kiketsushuu\ ;
+摂動論 > setsudouron\ ;
+伏流水 > fukuryuusui\ ;
+独裁的 > dokusaiteki\ ;
+高調子 > takachoushi\ ;
+立脚地 > rikkyakuchi\ ;
+再構築 > saikouchiku\ ;
+櫓太鼓 > yaguradaiko\ ;
+止血剤 > shiketsuzai\ ;
+両方共 > ryouhoutomo\ ;
+松葉杖 > matsubadzue\ ;
+沖積統 > chuusekitou\ ;
+仕事箱 > shigotobako\ ;
+氷醋酸 > hyousakusan\ ;
+書籍商 > shosekishou\ ;
+仮綴本 > karitojihon\ ;
+発電所 > hatsudensho\ ;
+官能的 > kan''nouteki\ ;
+末梢的 > masshouteki\ ;
+中間国 > chuukankoku\ ;
+思索的 > shisakuteki\ ;
+出身校 > shusshinkou\ ;
+灰青色 > haiseishoku\ ;
+航海術 > koukaijutsu\ ;
+小東京 > shoutoukyou\ ;
+千人力 > sen''ninriki\ ;
+人工芝 > jinkoushiba\ ;
+軽量級 > keiryoukyuu\ ;
+拘束圧 > kousokuatsu\ ;
+戦闘力 > sentouryoku\ ;
+球面鏡 > kyuumenkyou\ ;
+人形劇 > ningyougeki\ ;
+無骨者 > bukotsumono\ ;
+町奉行 > machibugyou\ ;
+空証文 > karashoumon\ ;
+氷酢酸 > hyousakusan\ ;
+放物線 > houbutsusen\ ;
+調子者 > choushimono\ ;
+現実感 > genjitsukan\ ;
+積分学 > sekibungaku\ ;
+現実性 > genjitsusei\ ;
+高電圧 > kouden''atsu\ ;
+学問的 > gakumonteki\ ;
+学究的 > gakkyuuteki\ ;
+収穫祭 > shuukakusai\ ;
+物理学 > butsurigaku\ ;
+垂直線 > suichokusen\ ;
+歴史学 > rekishigaku\ ;
+潤滑剤 > junkatsuzai\ ;
+組織学 > soshikigaku\ ;
+発電子 > hatsudenshi\ ;
+三尊仏 > sanzonbutsu\ ;
+引取人 > hikitorinin\ ;
+漂泊者 > hyouhakusha\ ;
+真田虫 > sanadamushi\ ;
+闇商人 > yamishounin\ ;
+入漁料 > nyuugyoryou\ ;
+七宝焼 > shippouyaki\ ;
+鋼鉄板 > koutetsuban\ ;
+優良株 > yuuryoukabu\ ;
+本格的 > honkakuteki\ ;
+復讐戦 > fukushuusen\ ;
+暴力団 > bouryokudan\ ;
+初診料 > shoshinryou\ ;
+口達者 > kuchidassha\ ;
+耐熱性 > tainetsusei\ ;
+増血剤 > zouketsuzai\ ;
+北北東 > hokuhokutou\ ;
+発言権 > hatsugenken\ ;
+急成長 > kyuuseichou\ ;
+出資額 > shusshigaku\ ;
+内分泌 > naibunpitsu\ ;
+四旬節 > shijunsetsu\ ;
+九官鳥 > kyuukanchou\ ;
+老人力 > roujinryoku\ ;
+建築士 > kenchikushi\ ;
+太極拳 > taikyokuken\ ;
+生番組 > namabangumi\ ;
+養殖場 > youshokujou\ ;
+虚脱感 > kyodatsukan\ ;
+象牙質 > zougeshitsu\ ;
+隆鼻術 > ryuubijutsu\ ;
+表面積 > hyoumenseki\ ;
+努力賞 > doryokushou\ ;
+十人並 > juunin''nami\ ;
+薬鑵頭 > yakan''atama\ ;
+商売筋 > shoubaisuji\ ;
+港湾局 > kouwankyoku\ ;
+水商売 > mizushoubai\ ;
+鉄道便 > tetsudoubin\ ;
+民族学 > minzokugaku\ ;
+歴史劇 > rekishigeki\ ;
+溝形鋼 > mizogatakou\ ;
+明晰夢 > meisekiyume\ ;
+造血剤 > zouketsuzai\ ;
+断続的 > danzokuteki\ ;
+式部省 > shikibushou\ ;
+極道者 > gokudoumono\ ;
+開校式 > kaikoushiki\ ;
+民約論 > min''yakuron\ ;
+防御率 > bougyoritsu\ ;
+表面的 > hyoumenteki\ ;
+計時係 > keijigakari\ ;
+後発品 > kouhatsuhin\ ;
+薩摩焼 > satsumayaki\ ;
+出身地 > shusshinchi\ ;
+護身術 > goshinjutsu\ ;
+与太話 > yotabanashi\ ;
+再入学 > sainyuugaku\ ;
+協約書 > kyouyakusho\ ;
+調子物 > choushimono\ ;
+三羽烏 > sanbagarasu\ ;
+訪問客 > houmonkyaku\ ;
+治験薬 > chiken''yaku\ ;
+性善説 > seizensetsu\ ;
+仕事柄 > shigotogara\ ;
+大根足 > daikon''ashi\ ;
+光瀬龍 > mitsuseryuu\ ;
+狼藉者 > rouzekimono\ ;
+心拍数 > shinpakusuu\ ;
+動物誌 > doubutsushi\ ;
+返却値 > henkyakuchi\ ;
+無駄話 > mudabanashi\ ;
+分子式 > bunshishiki\ ;
+降車口 > koushaguchi\ ;
+検出器 > kenshutsuki\ ;
+落葉松 > rakuyoushou\ ;
+極前線 > kyokuzensen\ ;
+超越点 > chouetsuten\ ;
+黒猩々 > kuroshoujou\ ;
+国慶節 > kokkeisetsu\ ;
+天産物 > tensanbutsu\ ;
+紳士録 > shinshiroku\ ;
+再入国 > sainyuukoku\ ;
+簡潔性 > kanketsusei\ ;
+切断面 > setsudanmen\ ;
+引込線 > hikikomisen\ ;
+粗忽者 > sokotsumono\ ;
+開会式 > kaikaishiki\ ;
+感傷的 > kanshouteki\ ;
+市有物 > shiyuubutsu\ ;
+聖職者 > seishokusha\ ;
+中衣嚢 > nakagakushi\ ;
+独立語 > dokuritsugo\ ;
+育児室 > ikujishitsu\ ;
+繁殖地 > hanshokuchi\ ;
+一人称 > ichininshou\ ;
+長崎県 > nagasakiken\ ;
+電力計 > denryokukei\ ;
+製氷皿 > seihyouzara\ ;
+主税局 > shuzeikyoku\ ;
+接続語 > setsuzokugo\ ;
+特集号 > tokushuugou\ ;
+黒褐色 > kokkasshoku\ ;
+中国人 > chuugokujin\ ;
+従属国 > juuzokukoku\ ;
+口返答 > kuchihentou\ ;
+減衰率 > gensuiritsu\ ;
+導電率 > doudenritsu\ ;
+一了簡 > ichiryoukan\ ;
+再輸出 > saiyushutsu\ ;
+青銅色 > seidoushoku\ ;
+隊商宿 > taishouyado\ ;
+式次第 > shikishidai\ ;
+生産物 > seisanbutsu\ ;
+幻覚症 > genkakushou\ ;
+投手力 > toushuryoku\ ;
+閉会式 > heikaishiki\ ;
+沖積層 > chuusekisou\ ;
+催眠術 > saiminjutsu\ ;
+蝙蝠傘 > koumorigasa\ ;
+向日性 > kounichisei\ ;
+吸取紙 > suitorigami\ ;
+憂鬱症 > yuuutsushou\ ;
+高圧的 > kouatsuteki\ ;
+有力者 > yuuryokusha\ ;
+別問題 > betsumondai\ ;
+代数式 > daisuushiki\ ;
+入港料 > nyuukouryou\ ;
+無宿者 > mushukumono\ ;
+原子力 > genshiryoku\ ;
+成文律 > seibunritsu\ ;
+男一匹 > otokoippiki\ ;
+塞栓症 > sokusenshou\ ;
+商売柄 > shoubaigara\ ;
+腹足類 > fukusokurui\ ;
+東印度 > higashiindo\ ;
+資本力 > shihonryoku\ ;
+祇園祭 > gionmatsuri\ ;
+上京中 > joukyouchuu\ ;
+催眠薬 > saimin''yaku\ ;
+現象学 > genshougaku\ ;
+秋津島 > akitsushima\ ;
+羊小屋 > hitsujigoya\ ;
+装飾品 > soushokuhin\ ;
+千日手 > sen''nichite\ ;
+植民地 > shokuminchi\ ;
+外分泌 > gaibunpitsu\ ;
+隣近所 > tonarikinjo\ ;
+対頂角 > taichoukaku\ ;
+肩甲骨 > kenkoukotsu\ ;
+腰弁当 > koshibentou\ ;
+口巧者 > kuchigousha\ ;
+不世出 > fuseishutsu\ ;
+先日付 > sakihidzuke\ ;
+透視力 > toushiryoku\ ;
+創設者 > sousetsusha\ ;
+金魚鉢 > kingyobachi\ ;
+衒学的 > gengakuteki\ ;
+金石学 > kinsekigaku\ ;
+野菜畑 > yasaibatake\ ;
+直感的 > chokkanteki\ ;
+動物相 > doubutsusou\ ;
+賃仕事 > chinshigoto\ ;
+特許主 > tokkyonushi\ ;
+奉納物 > hounoubutsu\ ;
+保釈中 > hoshakuchuu\ ;
+青藍色 > seiranshoku\ ;
+脅迫者 > kyouhakusha\ ;
+動物界 > doubutsukai\ ;
+通行上 > tsuukoudome\ ;
+強奪者 > goudatsusha\ ;
+脅迫罪 > kyouhakuzai\ ;
+団結権 > danketsuken\ ;
+約半年 > yakuhan''nen\ ;
+投票箱 > touhyoubako\ ;
+素人芸 > shiroutogei\ ;
+積極性 > sekkyokusei\ ;
+極座標 > kyokuzahyou\ ;
+寝正月 > neshougatsu\ ;
+浚渫機 > shunsetsuki\ ;
+翼面積 > yokumenseki\ ;
+総目録 > soumokuroku\ ;
+核反応 > kakuhan''nou\ ;
+制酸薬 > seisan''yaku\ ;
+超人的 > choujinteki\ ;
+第一流 > daiichiryuu\ ;
+足拍子 > ashibyoushi\ ;
+弱材料 > yowazairyou\ ;
+接触線 > sesshokusen\ ;
+役力士 > yakurikishi\ ;
+統轄者 > toukatsusha\ ;
+仕事中 > shigotochuu\ ;
+土百姓 > dobyakushou\ ;
+文学賞 > bungakushou\ ;
+招請国 > shouseikoku\ ;
+総収入 > soushuunyuu\ ;
+測量船 > sokuryousen\ ;
+借地権 > shakuchiken\ ;
+沖積世 > chuusekisei\ ;
+口述書 > koujutsusho\ ;
+殉職者 > junshokusha\ ;
+病虫害 > byouchuugai\ ;
+技術的 > gijutsuteki\ ;
+小説家 > shousetsuka\ ;
+特約店 > tokuyakuten\ ;
+交通量 > koutsuuryou\ ;
+道案内 > michian''nai\ ;
+道普請 > michibushin\ ;
+好色者 > koushokusha\ ;
+消臭剤 > shoushuuzai\ ;
+独善的 > dokuzenteki\ ;
+解像力 > kaizouryoku\ ;
+浸透圧 > shintouatsu\ ;
+熱血漢 > nekketsukan\ ;
+岩石学 > gansekigaku\ ;
+蜜柑畑 > mikanbatake\ ;
+烏天狗 > karasutengu\ ;
+紳士的 > shinshiteki\ ;
+窒息死 > chissokushi\ ;
+三大節 > sandaisetsu\ ;
+活断層 > katsudansou\ ;
+目鼻立 > mehanadachi\ ;
+周期律 > shuukiritsu\ ;
+退紅色 > taikoushoku\ ;
+撮像管 > satsuzoukan\ ;
+腹八分 > harahachibu\ ;
+進入路 > shin''nyuuro\ ;
+背日性 > haijitsusei\ ;
+間奏曲 > kansoukyoku\ ;
+指南役 > shinan''yaku\ ;
+脅迫状 > kyouhakujou\ ;
+功名心 > koumyoushin\ ;
+回教国 > kaikyoukoku\ ;
+骨膜炎 > kotsumakuen\ ;
+沢庵漬 > takuandzuke\ ;
+根切虫 > nekirimushi\ ;
+送料共 > souryoutomo\ ;
+張本人 > chouhon''nin\ ;
+乗車口 > joushaguchi\ ;
+一日路 > ichinichiji\ ;
+地質図 > chishitsuzu\ ;
+立明戦 > ritsumeisen\ ;
+抽象論 > chuushouron\ ;
+仕訳表 > shiwakehyou\ ;
+国税庁 > kokuzeichou\ ;
+性悪説 > seiakusetsu\ ;
+懐郷病 > kaikyoubyou\ ;
+柑橘類 > kankitsurui\ ;
+一音節 > ichionsetsu\ ;
+肩胛骨 > kenkoukotsu\ ;
+脱炭酸 > datsutansan\ ;
+新技術 > shingijutsu\ ;
+逆探知 > gyakutanchi\ ;
+拾得者 > shuutokusha\ ;
+宝物殿 > houmotsuden\ ;
+喫煙席 > kitsuenseki\ ;
+冷血漢 > reiketsukan\ ;
+主力艦 > shuryokukan\ ;
+車大工 > kurumadaiku\ ;
+過食症 > kashokushou\ ;
+宿命論 > shukumeiron\ ;
+入金票 > nyuukinhyou\ ;
+花屋敷 > hanayashiki\ ;
+共白髪 > tomoshiraga\ ;
+口座係 > kouzakakari\ ;
+生存率 > seizonritsu\ ;
+熊本県 > kumamotoken\ ;
+直銭形 > chokusenkei\ ;
+動物性 > doubutsusei\ ;
+原爆症 > genbakushou\ ;
+電動式 > dendoushiki\ ;
+生産力 > seisanryoku\ ;
+副牧師 > fukubokushi\ ;
+聖餐式 > seisanshiki\ ;
+逆関数 > gyakukansuu\ ;
+七五三 > shichigosan\ ;
+駐留軍 > chuuryuugun\ ;
+唯物論 > yuibutsuron\ ;
+旅商人 > tabishounin\ ;
+技術料 > gijutsuryou\ ;
+練習帳 > renshuuchou\ ;
+造石高 > zoukokudaka\ ;
+軍隊式 > guntaishiki\ ;
+翻訳者 > hon''yakusha\ ;
+潤目鰯 > urumeiwashi\ ;
+茶褐色 > chakasshoku\ ;
+確実度 > kakujitsudo\ ;
+総力戦 > souryokusen\ ;
+好色漢 > koushokukan\ ;
+初投稿 > hatsutoukou\ ;
+万万一 > manman''ichi\ ;
+紳士服 > shinshifuku\ ;
+一仕事 > hitoshigoto\ ;
+嗅神経 > kyuushinkei\ ;
+継続的 > keizokuteki\ ;
+文学的 > bungakuteki\ ;
+六重唱 > rokujuushou\ ;
+玄人筋 > kuroutosuji\ ;
+囃子方 > hayashikata\ ;
+大人物 > daijinbutsu\ ;
+同系色 > doukeishoku\ ;
+紅白粉 > benioshiroi\ ;
+宣誓式 > senseishiki\ ;
+中和熱 > chuuwanetsu\ ;
+消耗的 > shoukouteki\ ;
+攻撃的 > kougekiteki\ ;
+埋蔵物 > maizoubutsu\ ;
+副読本 > fukudokuhon\ ;
+麝香鼠 > jakounezumi\ ;
+木賃宿 > kichin''yado\ ;
+四角柱 > shikakuchuu\ ;
+中空壁 > chuukuukabe\ ;
+考証学 > koushougaku\ ;
+実証的 > jisshouteki\ ;
+救済策 > kyuusaisaku\ ;
+軍国調 > gunkokuchou\ ;
+白蝋病 > hakuroubyou\ ;
+狂犬病 > kyoukenbyou\ ;
+民衆的 > minshuuteki\ ;
+一両年 > ichiryounen\ ;
+大仏殿 > daibutsuden\ ;
+刹那的 > setsunateki\ ;
+勅任官 > chokuninkan\ ;
+双十節 > soujuusetsu\ ;
+好色本 > koushokubon\ ;
+窒化物 > chikkabutsu\ ;
+三角翼 > sankakuyoku\ ;
+成長株 > seichoukabu\ ;
+石材商 > sekizaishou\ ;
+供託金 > kyoutakukin\ ;
+猫額大 > byougakudai\ ;
+地方色 > chihoushoku\ ;
+生中継 > namachuukei\ ;
+吸収剤 > kyuushuuzai\ ;
+建蔽率 > kenpeiritsu\ ;
+客観的 > kyakkanteki\ ;
+律義者 > richigimono\ ;
+下級職 > kakyuushoku\ ;
+修飾語 > shuushokugo\ ;
+大食漢 > taishokukan\ ;
+冷笑的 > reishouteki\ ;
+支給額 > shikyuugaku\ ;
+不均質 > fukinshitsu\ ;
+代表的 > daihyouteki\ ;
+入道雲 > nyuudougumo\ ;
+共通点 > kyoutsuuten\ ;
+公徳心 > koutokushin\ ;
+形式論 > keishikiron\ ;
+金環食 > kinkanshoku\ ;
+出札所 > shussatsujo\ ;
+北極海 > hokkyokukai\ ;
+行官庁 > gyoukanchou\ ;
+保身術 > hoshinjutsu\ ;
+鑑識眼 > kanshikigan\ ;
+北極洋 > hokkyokuyou\ ;
+彫刻界 > choukokukai\ ;
+馬鹿話 > bakabanashi\ ;
+物納税 > butsunouzei\ ;
+下女中 > shimojochuu\ ;
+地下室 > chikashitsu\ ;
+貸本屋 > kashihon''ya\ ;
+鍾乳洞 > shounyuudou\ ;
+職員録 > shokuinroku\ ;
+梯子酒 > hashigozake\ ;
+滞在客 > taizaikyaku\ ;
+蓄電池 > chikudenchi\ ;
+試掘者 > shikutsusha\ ;
+大学寮 > daigakuryou\ ;
+姫小松 > himekomatsu\ ;
+真実味 > shinjitsumi\ ;
+旅役者 > tabiyakusha\ ;
+国民的 > kokuminteki\ ;
+戦没者 > senbotsusha\ ;
+流行病 > ryuukoubyou\ ;
+彫刻版 > choukokuban\ ;
+周旋業 > shuusengyou\ ;
+団扇虫 > uchiwamushi\ ;
+口小言 > kuchikogoto\ ;
+任命式 > ninmeishiki\ ;
+電力債 > denryokusai\ ;
+力動的 > rikidouteki\ ;
+夏帽子 > natsuboushi\ ;
+睡眠薬 > suimin''yaku\ ;
+卸相場 > oroshisouba\ ;
+印刷業 > insatsugyou\ ;
+伝導率 > dendouritsu\ ;
+蛸入道 > takonyuudou\ ;
+談話室 > danwashitsu\ ;
+安月給 > yasugekkyuu\ ;
+北極星 > hokkyokusei\ ;
+御霊代 > mitamashiro\ ;
+測量士 > sokuryoushi\ ;
+出願時 > shutsuganji\ ;
+三角琴 > sankakugoto\ ;
+鉄条網 > tetsujoumou\ ;
+翻訳権 > hon''yakuken\ ;
+玉杓子 > tamajakushi\ ;
+工業国 > kougyoukoku\ ;
+周旋料 > shuusenryou\ ;
+追撃戦 > tsuigekisen\ ;
+傷病兵 > shoubyouhei\ ;
+彼岸桜 > higanzakura\ ;
+一時払 > ichijibarai\ ;
+内容物 > naiyoubutsu\ ;
+無一物 > muichimotsu\ ;
+労働力 > roudouryoku\ ;
+若竹亭 > wakataketei\ ;
+翻訳書 > hon''yakusho\ ;
+到着駅 > touchakueki\ ;
+少国民 > shoukokumin\ ;
+生学問 > namagakumon\ ;
+今月分 > kongetsubun\ ;
+分数式 > bunsuushiki\ ;
+授賞式 > jushoushiki\ ;
+掌中本 > shouchuubon\ ;
+省力化 > shouryokuka\ ;
+代表格 > daihyoukaku\ ;
+昼興行 > hirukougyou\ ;
+黙示録 > mokushiroku\ ;
+検察官 > kensatsukan\ ;
+供託者 > kyoutakusha\ ;
+海産物 > kaisanbutsu\ ;
+褪紅色 > taikoushoku\ ;
+返信用 > henshin''you\ ;
+遁走曲 > tonsoukyoku\ ;
+辻強盗 > tsujigoutou\ ;
+公式戦 > koushikisen\ ;
+金環蝕 > kinkanshoku\ ;
+靴一足 > kutsuissoku\ ;
+浪花節 > naniwabushi\ ;
+各大学 > kakudaigaku\ ;
+総退却 > soutaikyaku\ ;
+国民服 > kokuminfuku\ ;
+実在論 > jitsuzairon\ ;
+救急車 > kyuukyuusha\ ;
+間接税 > kansetsuzei\ ;
+乱開発 > rankaihatsu\ ;
+所帯主 > shotainushi\ ;
+防寒靴 > boukangutsu\ ;
+三角柱 > sankakuchuu\ ;
+仕訳帳 > shiwakechou\ ;
+粘着性 > nenchakusei\ ;
+密造酒 > mitsuzoushu\ ;
+一夜漬 > ichiyadzuke\ ;
+斜角柱 > shakakuchuu\ ;
+対照的 > taishouteki\ ;
+役人風 > yakuninkaze\ ;
+船舶業 > senpakugyou\ ;
+水道局 > suidoukyoku\ ;
+始発駅 > shihatsueki\ ;
+北極圏 > hokkyokuken\ ;
+日用品 > nichiyouhin\ ;
+反逆者 > hangyakusha\ ;
+登録済 > tourokuzumi\ ;
+専売局 > senbaikyoku\ ;
+権力者 > kenryokusha\ ;
+恒久的 > koukyuuteki\ ;
+反逆罪 > hangyakuzai\ ;
+特等席 > tokutouseki\ ;
+内服薬 > naifukuyaku\ ;
+臆病風 > okubyoukaze\ ;
+供給者 > kyoukyuusha\ ;
+彫刻師 > choukokushi\ ;
+求人難 > kyuujin''nan\ ;
+頚動脈 > keidoumyaku\ ;
+試掘権 > shikutsuken\ ;
+在京中 > zaikyouchuu\ ;
+方程式 > houteishiki\ ;
+静力学 > seirikigaku\ ;
+一覧表 > ichiranhyou\ ;
+北朝鮮 > kitachousen\ ;
+百千鳥 > momochidori\ ;
+銃剣術 > juukenjutsu\ ;
+納骨堂 > noukotsudou\ ;
+耳小骨 > jishoukotsu\ ;
+大静脈 > daijoumyaku\ ;
+経済力 > keizairyoku\ ;
+学協会 > gakukyoukai\ ;
+中心点 > chuushinten\ ;
+北極光 > hokkyokukou\ ;
+食品店 > shokuhinten\ ;
+領収書 > ryoushuusho\ ;
+通知表 > tsuuchihyou\ ;
+連発銃 > renpatsujuu\ ;
+攻撃側 > kougekigawa\ ;
+大中小 > daichuushou\ ;
+平均律 > heikinritsu\ ;
+赤棟蛇 > yamakagashi\ ;
+観念的 > kan''nenteki\ ;
+専門職 > senmonshoku\ ;
+共進会 > kyoushinkai\ ;
+信用状 > shin''youjou\ ;
+織物業 > orimonogyou\ ;
+超特急 > choutokkyuu\ ;
+返信料 > henshinryou\ ;
+壁新聞 > kabeshinbun\ ;
+融解熱 > yuukainetsu\ ;
+節博士 > fushihakase\ ;
+見物人 > kenbutsunin\ ;
+登録料 > tourokuryou\ ;
+周旋人 > shuusen''nin\ ;
+高麗芝 > kouraishiba\ ;
+不親切 > fushinsetsu\ ;
+親告罪 > shinkokuzai\ ;
+蔦紅葉 > tsutamomiji\ ;
+五目鮨 > gomokuzushi\ ;
+編集長 > henshuuchou\ ;
+出版業 > shuppangyou\ ;
+調教師 > choukyoushi\ ;
+進駐軍 > shinchuugun\ ;
+別動隊 > betsudoutai\ ;
+逆噴射 > gyakufunsha\ ;
+二口目 > futakuchime\ ;
+逆命題 > gyakumeidai\ ;
+粘着剤 > nenchakuzai\ ;
+生物界 > seibutsukai\ ;
+五目飯 > gomokumeshi\ ;
+採掘権 > saikutsuken\ ;
+全幅的 > zenpukuteki\ ;
+彫刻刀 > choukokutou\ ;
+研究心 > kenkyuushin\ ;
+独占的 > dokusenteki\ ;
+酸中毒 > sanchuudoku\ ;
+超新星 > choushinsei\ ;
+頂戴物 > choudaimono\ ;
+宿泊所 > shukuhakujo\ ;
+売却益 > baikyakueki\ ;
+構造式 > kouzoushiki\ ;
+代表作 > daihyousaku\ ;
+過失犯 > kashitsuhan\ ;
+紙一枚 > kamiichimai\ ;
+再認識 > saininshiki\ ;
+風物詩 > fuubutsushi\ ;
+実関数 > jitsukansuu\ ;
+大好物 > daikoubutsu\ ;
+乳濁液 > nyuudakueki\ ;
+水冷式 > suireishiki\ ;
+心配性 > shinpaishou\ ;
+後始末 > atoshimatsu\ ;
+全勢力 > zenseiryoku\ ;
+離心率 > rishinritsu\ ;
+供給源 > kyoukyuugen\ ;
+大文節 > daibunsetsu\ ;
+一夜妻 > hitoyodzuma\ ;
+結合子 > ketsugoushi\ ;
+死亡率 > shibouritsu\ ;
+時局柄 > jikyokugara\ ;
+配当率 > haitouritsu\ ;
+整骨師 > seikotsushi\ ;
+関税率 > kanzeiritsu\ ;
+中毒死 > chuudokushi\ ;
+最前列 > saizenretsu\ ;
+御所車 > goshoguruma\ ;
+内曲球 > naikyokkyuu\ ;
+解散説 > kaisansetsu\ ;
+建造物 > kenzoubutsu\ ;
+献血車 > kenketsusha\ ;
+小品集 > shouhinshuu\ ;
+霊安室 > reianshitsu\ ;
+離着陸 > richakuriku\ ;
+高野聖 > kouyahijiri\ ;
+整髪剤 > seihatsuzai\ ;
+処世術 > shoseijutsu\ ;
+八幡宮 > hachimanguu\ ;
+歌唱力 > kashouryoku\ ;
+回折損 > kaisetsuson\ ;
+骨仕事 > honeshigoto\ ;
+臆病者 > okubyoumono\ ;
+朝飯前 > asameshimae\ ;
+刊行物 > kankoubutsu\ ;
+眼鏡橋 > meganebashi\ ;
+購入先 > kounyuusaki\ ;
+弘仁格 > kouninkyaku\ ;
+旧大陸 > kyuutairiku\ ;
+診察日 > shinsatsubi\ ;
+東宮職 > touguushoku\ ;
+警察署 > keisatsusho\ ;
+冗談口 > joudanguchi\ ;
+織物商 > orimonoshou\ ;
+八辺形 > hachihenkei\ ;
+針仕事 > harishigoto\ ;
+好人物 > koujinbutsu\ ;
+征服欲 > seifukuyoku\ ;
+解説者 > kaisetsusha\ ;
+広告業 > koukokugyou\ ;
+創立者 > souritsusha\ ;
+解熱薬 > genetsuyaku\ ;
+日曜版 > nichiyouban\ ;
+新快速 > shinkaisoku\ ;
+中年者 > chuunenmono\ ;
+戴冠式 > taikanshiki\ ;
+軽業師 > karuwazashi\ ;
+中心地 > chuushinchi\ ;
+商慣習 > shoukanshuu\ ;
+生物戦 > seibutsusen\ ;
+救急法 > kyuukyuuhou\ ;
+食前酒 > shokuzenshu\ ;
+深夜族 > shin''yazoku\ ;
+迫撃砲 > hakugekihou\ ;
+進軍中 > shingunchuu\ ;
+媒酌人 > baishakunin\ ;
+両性的 > ryouseiteki\ ;
+潜勢力 > senseiryoku\ ;
+武骨者 > bukotsumono\ ;
+保健室 > hokenshitsu\ ;
+広告料 > koukokuryou\ ;
+速力度 > sokuryokudo\ ;
+盆提灯 > bondjouchin\ ;
+聴神経 > choushinkei\ ;
+超大国 > choutaikoku\ ;
+出版元 > shuppanmoto\ ;
+馬鹿力 > bakadjikara\ ;
+陸半球 > rikuhankyuu\ ;
+統率者 > tousotsusha\ ;
+公共心 > koukyoushin\ ;
+中共軍 > chuukyougun\ ;
+漂白剤 > hyouhakuzai\ ;
+収入源 > shuunyuugen\ ;
+殿様風 > tonosamafuu\ ;
+心配事 > shinpaigoto\ ;
+太陽熱 > taiyounetsu\ ;
+判決文 > hanketsubun\ ;
+信仰的 > shinkouteki\ ;
+膝拍子 > hizabyoushi\ ;
+跡始末 > atoshimatsu\ ;
+盲目的 > moumokuteki\ ;
+神通力 > jintsuuriki\ ;
+恐妻病 > kyousaibyou\ ;
+忠実度 > chuujitsudo\ ;
+信任状 > shin''ninjou\ ;
+新参者 > shinzanmono\ ;
+真犯人 > shinhan''nin\ ;
+警察犬 > keisatsuken\ ;
+叢時雨 > murashigure\ ;
+海食洞 > kaishokudou\ ;
+参列者 > sanretsusha\ ;
+生物圏 > seibutsuken\ ;
+供給地 > kyoukyuuchi\ ;
+干渉縞 > kanshoujima\ ;
+独創的 > dokusouteki\ ;
+染色体 > senshokutai\ ;
+座頭鯨 > zatoukujira\ ;
+目的論 > mokutekiron\ ;
+省略時 > shouryakuji\ ;
+石炭殻 > sekitangara\ ;
+分裂性 > bunretsusei\ ;
+短縮形 > tanshukukei\ ;
+有職者 > yuushokusha\ ;
+親和力 > shinwaryoku\ ;
+先々月 > sensengetsu\ ;
+有体物 > yuutaibutsu\ ;
+短絡的 > tanrakuteki\ ;
+魅力的 > miryokuteki\ ;
+化学式 > kagakushiki\ ;
+太陽日 > taiyoujitsu\ ;
+野球熱 > yakyuunetsu\ ;
+警察権 > keisatsuken\ ;
+熱気球 > netsukikyuu\ ;
+空想力 > kuusouryoku\ ;
+静岡県 > shizuokaken\ ;
+反逆人 > hangyakunin\ ;
+染髪剤 > senpatsuzai\ ;
+全身病 > zenshinbyou\ ;
+腹話術 > fukuwajutsu\ ;
+流量計 > ryuuryoukei\ ;
+線織面 > senshikimen\ ;
+完結編 > kanketsuhen\ ;
+学生証 > gakuseishou\ ;
+造幣局 > zouheikyoku\ ;
+説明書 > setsumeisho\ ;
+自給率 > jikyuuritsu\ ;
+打物師 > uchimonoshi\ ;
+惨殺者 > zansatsusha\ ;
+磯巾着 > isoginchaku\ ;
+証人席 > shouninseki\ ;
+若白髪 > wakashiraga\ ;
+数学的 > suugakuteki\ ;
+直円柱 > chokuenchuu\ ;
+説明文 > setsumeibun\ ;
+水産物 > suisanbutsu\ ;
+教則本 > kyousokubon\ ;
+乙女心 > otomegokoro\ ;
+戦勝国 > senshoukoku\ ;
+南北朝 > nanbokuchou\ ;
+幻想曲 > gensoukyoku\ ;
+旅興行 > tabikougyou\ ;
+豆電球 > mamedenkyuu\ ;
+解説書 > kaisetsusho\ ;
+翼手目 > yokushumoku\ ;
+婚約者 > kon''yakusha\ ;
+郡役所 > gun''yakusho\ ;
+知識層 > chishikisou\ ;
+撞木鮫 > shumokuzame\ ;
+硼酸末 > housanmatsu\ ;
+妖術者 > youjutsusha\ ;
+余白頁 > yohakupeeji\ ;
+統一的 > touitsuteki\ ;
+身障者 > shinshousha\ ;
+食卓塩 > shokutakuen\ ;
+八字髭 > hachijihige\ ;
+復活祭 > fukkatsusai\ ;
+主産物 > shusanbutsu\ ;
+美術的 > bijutsuteki\ ;
+珍現象 > chingenshou\ ;
+三稜鏡 > sanryoukyou\ ;
+大陸棚 > tairikudana\ ;
+殿様芸 > tonosamagei\ ;
+海食崖 > kaishokugai\ ;
+元禄袖 > genrokusode\ ;
+文教族 > bunkyouzoku\ ;
+湿度計 > shitsudokei\ ;
+召集者 > shoushuusha\ ;
+八極拳 > hakkyokuken\ ;
+信仰心 > shinkoushin\ ;
+人一倍 > hitoichibai\ ;
+合衆国 > gasshuukoku\ ;
+機関室 > kikanshitsu\ ;
+冷却液 > reikyakueki\ ;
+漁獲高 > gyokakudaka\ ;
+公用物 > kouyoubutsu\ ;
+単発銃 > tanpatsujuu\ ;
+冷却水 > reikyakusui\ ;
+献立表 > kondatehyou\ ;
+若草色 > wakakusairo\ ;
+三国一 > sangokuichi\ ;
+督促状 > tokusokujou\ ;
+仮受取 > kariuketori\ ;
+袋小路 > fukurokouji\ ;
+警察官 > keisatsukan\ ;
+自然律 > shizenritsu\ ;
+職務給 > shokumukyuu\ ;
+療養中 > ryouyouchuu\ ;
+合成物 > gouseibutsu\ ;
+三行半 > mikudarihan\ ;
+行政学 > gyouseigaku\ ;
+実行力 > jikkouryoku\ ;
+長火鉢 > nagahibachi\ ;
+海食台 > kaishokudai\ ;
+郵便物 > yuubinbutsu\ ;
+空気枕 > kuukimakura\ ;
+奨学金 > shougakukin\ ;
+公生活 > kouseikatsu\ ;
+遮蔽物 > shaheibutsu\ ;
+絹織物 > kinuorimono\ ;
+芸術論 > geijutsuron\ ;
+薬効物 > yakkoubutsu\ ;
+庭仕事 > niwashigoto\ ;
+悪質化 > akushitsuka\ ;
+知識人 > chishikijin\ ;
+白内障 > hakunaishou\ ;
+楽天的 > rakutenteki\ ;
+別勘定 > betsukanjou\ ;
+金杓子 > kanajakushi\ ;
+長大息 > choutaisoku\ ;
+聴取料 > choushuryou\ ;
+頸静脈 > keijoumyaku\ ;
+漁獲量 > gyokakuryou\ ;
+語学力 > gogakuryoku\ ;
+準備室 > junbishitsu\ ;
+中年増 > chuudoshima\ ;
+背筋力 > haikinryoku\ ;
+所有物 > shoyuubutsu\ ;
+産土神 > ubusunagami\ ;
+暗赤色 > ansekishoku\ ;
+仕立物 > shitatemono\ ;
+七回忌 > shichikaiki\ ;
+溶解熱 > youkainetsu\ ;
+米十粒 > komejuuryuu\ ;
+特注品 > tokuchuuhin\ ;
+別働隊 > betsudoutai\ ;
+古新聞 > furushinbun\ ;
+配達人 > haitatsunin\ ;
+京人形 > kyouningyou\ ;
+完結文 > kanketsubun\ ;
+反対色 > hantaishoku\ ;
+商品学 > shouhingaku\ ;
+入射角 > nyuushakaku\ ;
+消防庁 > shoubouchou\ ;
+奇麗所 > kireidokoro\ ;
+山吹色 > yamabukiiro\ ;
+打撃率 > dagekiritsu\ ;
+請求額 > seikyuugaku\ ;
+百年祭 > hyakunensai\ ;
+抑留者 > yokuryuusha\ ;
+食連星 > shokurensei\ ;
+落札値 > rakusatsune\ ;
+自然力 > shizenryoku\ ;
+秘書室 > hishoshitsu\ ;
+千秋楽 > senshuuraku\ ;
+探究心 > tankyuushin\ ;
+副社長 > fukushachou\ ;
+月例会 > getsureikai\ ;
+数日間 > suujitsukan\ ;
+命名式 > meimeishiki\ ;
+指導力 > shidouryoku\ ;
+感覚的 > kankakuteki\ ;
+再開発 > saikaihatsu\ ;
+入学難 > nyuugakunan\ ;
+分折学 > bunsekigaku\ ;
+若輩者 > jakuhaimono\ ;
+幅変調 > habahenchou\ ;
+小惑星 > shouwakusei\ ;
+人物像 > jinbutsuzou\ ;
+躁鬱病 > souutsubyou\ ;
+直輸入 > chokuyunyuu\ ;
+促進剤 > sokushinzai\ ;
+鼻出血 > bishukketsu\ ;
+急進党 > kyuushintou\ ;
+金婚式 > kinkonshiki\ ;
+満艦飾 > mankanshoku\ ;
+傍迷惑 > hatameiwaku\ ;
+昼食時 > chuushokuji\ ;
+芸術祭 > geijutsusai\ ;
+学生服 > gakuseifuku\ ;
+就業地 > shuugyouchi\ ;
+表示物 > hyoujibutsu\ ;
+転入生 > ten''nyuusei\ ;
+入学金 > nyuugakukin\ ;
+革新系 > kakushinkei\ ;
+陽極線 > youkyokusen\ ;
+出演者 > shutsuensha\ ;
+会議室 > kaigishitsu\ ;
+陸運局 > rikuunkyoku\ ;
+追徴金 > tsuichoukin\ ;
+殺菌力 > sakkinryoku\ ;
+投宿者 > toushukusha\ ;
+新庁舎 > shinchousha\ ;
+冷却剤 > reikyakuzai\ ;
+遊覧客 > yuurankyaku\ ;
+黄金虫 > koganemushi\ ;
+黒死病 > kokushibyou\ ;
+郵便局 > yuubinkyoku\ ;
+反射率 > hansharitsu\ ;
+教皇庁 > kyoukouchou\ ;
+若鳥丼 > wakadoridon\ ;
+美術商 > bijutsushou\ ;
+滴定量 > tekiteiryou\ ;
+神学者 > shingakusha\ ;
+密輸入 > mitsuyunyuu\ ;
+踏切番 > fumikiriban\ ;
+前奏曲 > zensoukyoku\ ;
+裸一貫 > hadakaikkan\ ;
+奏鳴曲 > soumeikyoku\ ;
+私生活 > shiseikatsu\ ;
+甲鉄艦 > koutetsukan\ ;
+心臓病 > shinzoubyou\ ;
+錬金術 > renkinjutsu\ ;
+黒内障 > kokunaishou\ ;
+有識者 > yuushikisha\ ;
+山津波 > yamatsunami\ ;
+袖珍本 > shuuchinbon\ ;
+先着順 > senchakujun\ ;
+実名詞 > jitsumeishi\ ;
+防食剤 > boushokuzai\ ;
+対称軸 > taishoujiku\ ;
+近日点 > kinjitsuten\ ;
+藍晶石 > ranshouseki\ ;
+女子供 > on''nakodomo\ ;
+没食子 > mosshokushi\ ;
+修繕中 > shuuzenchuu\ ;
+耳学問 > mimigakumon\ ;
+長粒米 > chouryuumai\ ;
+神信心 > kamishinjin\ ;
+奨学生 > shougakusei\ ;
+観兵式 > kanpeishiki\ ;
+若年型 > jakunengata\ ;
+鼠海豚 > nezumiiruka\ ;
+集積場 > shuusekijou\ ;
+指人形 > yubiningyou\ ;
+曲芸師 > kyokugeishi\ ;
+麦粒腫 > bakuryuushu\ ;
+目的地 > mokutekichi\ ;
+学生寮 > gakuseiryou\ ;
+合成力 > gouseiryoku\ ;
+提供側 > teikyougawa\ ;
+乗降客 > joukoukyaku\ ;
+内親王 > naishin''nou\ ;
+糞勉強 > kusobenkyou\ ;
+矢継早 > yatsugibaya\ ;
+変曲点 > henkyokuten\ ;
+長四角 > nagashikaku\ ;
+親切気 > shinsetsugi\ ;
+副神経 > fukushinkei\ ;
+葉緑体 > youryokutai\ ;
+菊人形 > kikuningyou\ ;
+玩弄物 > ganroubutsu\ ;
+口言葉 > kuchikotoba\ ;
+集合的 > shuugouteki\ ;
+割当額 > wariategaku\ ;
+常習的 > joushuuteki\ ;
+感圧紙 > kan''atsushi\ ;
+紅猿子 > benimashiko\ ;
+弾性率 > danseiritsu\ ;
+淡紅色 > tankoushoku\ ;
+柳行李 > yanagigouri\ ;
+流動的 > ryuudouteki\ ;
+環境庁 > kankyouchou\ ;
+昆虫学 > konchuugaku\ ;
+常日頃 > tsunehigoro\ ;
+比翼塚 > hiyokudzuka\ ;
+混成物 > konseibutsu\ ;
+溶解力 > youkairyoku\ ;
+教育長 > kyouikuchou\ ;
+焼却炉 > shoukyakuro\ ;
+白檀油 > byakudan''yu\ ;
+牽引力 > ken''inryoku\ ;
+観光局 > kankoukyoku\ ;
+入学者 > nyuugakusha\ ;
+国学者 > kokugakusha\ ;
+活動誌 > katsudoushi\ ;
+出土品 > shutsudohin\ ;
+紙表紙 > kamibyoushi\ ;
+観光客 > kankoukyaku\ ;
+共学制 > kyougakusei\ ;
+羞恥心 > shuuchishin\ ;
+虫眼鏡 > mushimegane\ ;
+言葉質 > kotobajichi\ ;
+学者膚 > gakushahada\ ;
+通信網 > tsuushinmou\ ;
+普及率 > fukyuuritsu\ ;
+千鳥足 > chidoriashi\ ;
+転轍手 > tentetsushu\ ;
+購買力 > koubairyoku\ ;
+学者肌 > gakushahada\ ;
+入賞者 > nyuushousha\ ;
+陸軍省 > rikugunshou\ ;
+仮出所 > karishussho\ ;
+古物商 > kobutsushou\ ;
+象徴詩 > shouchoushi\ ;
+下協議 > shitakyougi\ ;
+召集令 > shoushuurei\ ;
+照会先 > shoukaisaki\ ;
+堆積学 > taisekigaku\ ;
+読解力 > dokkairyoku\ ;
+腸結核 > choukekkaku\ ;
+年恰好 > toshikakkou\ ;
+通産省 > tsuusanshou\ ;
+通産相 > tsuusanshou\ ;
+督学官 > tokugakukan\ ;
+懐中物 > kaichuumono\ ;
+通信社 > tsuushinsha\ ;
+千石船 > sengokubune\ ;
+金牛宮 > kingyuukyuu\ ;
+接合子 > setsugoushi\ ;
+皇室費 > koushitsuhi\ ;
+追徴税 > tsuichouzei\ ;
+局外者 > kyokugaisha\ ;
+翌翌年 > yokuyokunen\ ;
+特別機 > tokubetsuki\ ;
+淡褐色 > tankasshoku\ ;
+偏執病 > henshuubyou\ ;
+学習者 > gakushuusha\ ;
+防音室 > bouonshitsu\ ;
+肉体的 > nikutaiteki\ ;
+料金表 > ryoukinhyou\ ;
+内陸国 > nairikukoku\ ;
+包容力 > houyouryoku\ ;
+出漁期 > shutsugyoki\ ;
+主人役 > shujin''yaku\ ;
+成功率 > seikouritsu\ ;
+公有物 > kouyuubutsu\ ;
+観艦式 > kankanshiki\ ;
+月夜茸 > tsukiyotake\ ;
+入学生 > nyuugakusei\ ;
+明後日 > myougonichi\ ;
+活動者 > katsudousha\ ;
+三原色 > sangenshoku\ ;
+偏執狂 > henshuukyou\ ;
+蒋介石 > shoukaiseki\ ;
+申告書 > shinkokusho\ ;
+編笠茸 > amigasatake\ ;
+小半日 > kohan''nichi\ ;
+表彰状 > hyoushoujou\ ;
+内証事 > naishougoto\ ;
+診断学 > shindangaku\ ;
+南極点 > nankyokuten\ ;
+曲射砲 > kyokushahou\ ;
+対称的 > taishouteki\ ;
+甲鉄板 > koutetsuban\ ;
+先発隊 > senpatsutai\ ;
+性生活 > seiseikatsu\ ;
+検閲官 > ken''etsukan\ ;
+流通税 > ryuutsuuzei\ ;
+洗濯糊 > sentakunori\ ;
+半直線 > hanchokusen\ ;
+洗濯籠 > sentakukago\ ;
+接合剤 > setsugouzai\ ;
+農産物 > nousanbutsu\ ;
+接受国 > setsujukoku\ ;
+南極海 > nankyokukai\ ;
+結膜炎 > ketsumakuen\ ;
+親睦会 > shinbokukai\ ;
+硫化物 > ryuukabutsu\ ;
+想像力 > souzouryoku\ ;
+芸術品 > geijutsuhin\ ;
+南極洋 > nankyokuyou\ ;
+再測量 > saisokuryou\ ;
+露出計 > roshutsukei\ ;
+留学生 > ryuugakusei\ ;
+水仕事 > mizushigoto\ ;
+学習用 > gakushuuyou\ ;
+注射針 > chuushabari\ ;
+観察者 > kansatsusha\ ;
+通信欄 > tsuushinran\ ;
+五月闇 > satsukiyami\ ;
+発着場 > hatchakujou\ ;
+輸出税 > yushutsuzei\ ;
+就職時 > shuushokuji\ ;
+着眼点 > chakuganten\ ;
+空冷式 > kuureishiki\ ;
+溶接工 > yousetsukou\ ;
+丸木橋 > marukibashi\ ;
+山形県 > yamagataken\ ;
+交霊術 > koureijutsu\ ;
+創造説 > souzousetsu\ ;
+招待席 > shoutaiseki\ ;
+雪上車 > setsujousha\ ;
+交響楽 > koukyougaku\ ;
+農業国 > nougyoukoku\ ;
+卓越風 > takuetsufuu\ ;
+鎮痛性 > chintsuusei\ ;
+認識論 > ninshikiron\ ;
+就寝前 > shuushinzen\ ;
+双曲線 > soukyokusen\ ;
+夏時刻 > natsujikoku\ ;
+夏大根 > natsudaikon\ ;
+村八分 > murahachibu\ ;
+傘伐林 > sanbatsurin\ ;
+常設館 > jousetsukan\ ;
+南極星 > nankyokusei\ ;
+神学士 > shingakushi\ ;
+上告審 > joukokushin\ ;
+先入観 > sen''nyuukan\ ;
+先入見 > sen''nyuuken\ ;
+洗濯物 > sentakumono\ ;
+万葉集 > man''youshuu\ ;
+満州国 > manshuukoku\ ;
+表忠塔 > hyouchuutou\ ;
+三重殺 > sanjuusatsu\ ;
+分泌液 > bunpitsueki\ ;
+隣接県 > rinsetsuken\ ;
+嘘八百 > usohappyaku\ ;
+舞踏室 > butoushitsu\ ;
+当局者 > toukyokusha\ ;
+緩衝国 > kanshoukoku\ ;
+藁人形 > waraningyou\ ;
+影響力 > eikyouryoku\ ;
+文節数 > bunsetsusuu\ ;
+悪推量 > waruzuiryou\ ;
+含有量 > gan''yuuryou\ ;
+誘電率 > yuudenritsu\ ;
+観察眼 > kansatsugan\ ;
+抛物線 > houbutsusen\ ;
+裏切者 > uragirimono\ ;
+防雪林 > bousetsurin\ ;
+天神髭 > tenshinhige\ ;
+殺害者 > satsugaisha\ ;
+教育省 > kyouikushou\ ;
+離乳食 > rinyuushoku\ ;
+教育的 > kyouikuteki\ ;
+特別区 > tokubetsuku\ ;
+財政力 > zaiseiryoku\ ;
+強硬策 > kyoukousaku\ ;
+新年号 > shin''nengou\ ;
+磯馴松 > sonarematsu\ ;
+入館料 > nyuukanryou\ ;
+物相飯 > mossoumeshi\ ;
+製革業 > seikakugyou\ ;
+中学生 > chuugakusei\ ;
+輸出港 > yushutsukou\ ;
+南極帯 > nankyokutai\ ;
+溶接剤 > yousetsuzai\ ;
+急病人 > kyuubyounin\ ;
+寄宿料 > kishukuryou\ ;
+高島田 > takashimada\ ;
+小正月 > koshougatsu\ ;
+動力計 > douryokukei\ ;
+極大値 > kyokudaichi\ ;
+出金額 > shukkingaku\ ;
+申告制 > shinkokusei\ ;
+子供達 > kodomotachi\ ;
+媒介物 > baikaibutsu\ ;
+黄道色 > koudoushoku\ ;
+三葉虫 > san''youchuu\ ;
+全質化 > zenshitsuka\ ;
+生活難 > seikatsunan\ ;
+細動脈 > saidoumyaku\ ;
+私有物 > shiyuubutsu\ ;
+複雑化 > fukuzatsuka\ ;
+勢力圏 > seiryokuken\ ;
+複複線 > fukufukusen\ ;
+新年会 > shin''nenkai\ ;
+不確実 > fukakujitsu\ ;
+鎮痛剤 > chintsuuzai\ ;
+怪人物 > kaijinbutsu\ ;
+通学生 > tsuugakusei\ ;
+爆心地 > bakushinchi\ ;
+始末書 > shimatsusho\ ;
+競争心 > kyousoushin\ ;
+剽軽者 > hyoukinmono\ ;
+腸閉塞 > chouheisoku\ ;
+軍当局 > guntoukyoku\ ;
+白子鳩 > shirakobato\ ;
+町役場 > machiyakuba\ ;
+不忠実 > fuchuujitsu\ ;
+博学者 > hakugakusha\ ;
+戦略上 > senryakujou\ ;
+南極圏 > nankyokuken\ ;
+両脚規 > ryoukyakuki\ ;
+共訳者 > kyouyakusha\ ;
+忍耐力 > nintairyoku\ ;
+集金人 > shuukin''nin\ ;
+十八金 > juuhachikin\ ;
+借用者 > shakuyousha\ ;
+持久力 > jikyuuryoku\ ;
+局地風 > kyokuchifuu\ ;
+発癌性 > hatsugansei\ ;
+揚陸料 > yourikuryou\ ;
+密貿易 > mitsuboueki\ ;
+通信員 > tsuushin''in\ ;
+冠動脈 > kandoumyaku\ ;
+変奏曲 > hensoukyoku\ ;
+表彰台 > hyoushoudai\ ;
+葬送曲 > sousoukyoku\ ;
+千分率 > senbunritsu\ ;
+丸一年 > maruichinen\ ;
+老廃物 > rouhaibutsu\ ;
+南極光 > nankyokukou\ ;
+皮算用 > kawazan''you\ ;
+追分節 > oiwakebushi\ ;
+徳川勢 > tokugawazei\ ;
+創造物 > souzoubutsu\ ;
+初航海 > hatsukoukai\ ;
+購読料 > koudokuryou\ ;
+得票数 > tokuhyousuu\ ;
+雪景色 > yukigeshiki\ ;
+精神的 > seishinteki\ ;
+徳川公 > tokugawakou\ ;
+活動家 > katsudousha\ ;
+自立心 > jiritsushin\ ;
+漸進的 > zenshinteki\ ;
+教会暦 > kyoukaireki\ ;
+殺人者 > satsujinsha\ ;
+精神病 > seishinbyou\ ;
+殺人罪 > satsujinzai\ ;
+成年式 > seinenshiki\ ;
+脱石油 > datsusekiyu\ ;
+先進国 > senshinkoku\ ;
+土団子 > tsuchidango\ ;
+混合物 > kongoubutsu\ ;
+軍楽長 > gungakuchou\ ;
+法律上 > houritsujou\ ;
+畜犬税 > chikukenzei\ ;
+梁山泊 > ryouzanpaku\ ;
+彫塑術 > chousojutsu\ ;
+代用食 > daiyoushoku\ ;
+並木道 > namikimichi\ ;
+帳本人 > chouhon''nin\ ;
+宝石箱 > housekibako\ ;
+卒業後 > sotsugyougo\ ;
+口角力 > kuchidzumou\ ;
+事業主 > jigyounushi\ ;
+自虐的 > jigyakuteki\ ;
+下相談 > shitasoudan\ ;
+禿頭病 > tokutoubyou\ ;
+弾着点 > danchakuten\ ;
+五月病 > gogatsubyou\ ;
+弾力性 > danryokusei\ ;
+核爆弾 > kakubakudan\ ;
+並木路 > namikimichi\ ;
+商業街 > shougyougai\ ;
+頭文字 > kashiramoji\ ;
+縮緬紙 > chirimenshi\ ;
+截断面 > setsudanmen\ ;
+南京虫 > nankinmushi\ ;
+裁決書 > saiketsusho\ ;
+核燃料 > kakunenryou\ ;
+逐字訳 > chikujiyaku\ ;
+一徹者 > ittetsumono\ ;
+御協力 > gokyouryoku\ ;
+係属中 > keizokuchuu\ ;
+病中吟 > byouchuugin\ ;
+極限値 > kyokugenchi\ ;
+教育学 > kyouikugaku\ ;
+電話室 > denwashitsu\ ;
+遠心力 > enshinryoku\ ;
+宮崎県 > miyazakiken\ ;
+商工業 > shoukougyou\ ;
+衝動的 > shoudouteki\ ;
+胆石症 > tansekishou\ ;
+輸出品 > yushutsuhin\ ;
+三眠蚕 > sanminkaiko\ ;
+間欠泉 > kanketsusen\ ;
+天龍川 > tenryuukawa\ ;
+教習生 > kyoushuusei\ ;
+隣接地 > rinsetsuchi\ ;
+発生率 > hasseiritsu\ ;
+葡萄畑 > budoubatake\ ;
+境界標 > kyoukaihyou\ ;
+空軍力 > kuugunryoku\ ;
+交声曲 > kouseikyoku\ ;
+現内閣 > gen''naikaku\ ;
+占星術 > senseijutsu\ ;
+香辛料 > koushinryou\ ;
+町道場 > machidoujou\ ;
+動力源 > douryokugen\ ;
+恒等式 > koutoushiki\ ;
+討伐軍 > toubatsugun\ ;
+表看板 > omotekanban\ ;
+濃青色 > nouseishoku\ ;
+殺人犯 > satsujinhan\ ;
+残念賞 > zan''nenshou\ ;
+脳充血 > noujuuketsu\ ;
+食人種 > shokujinshu\ ;
+赤褐色 > sekkasshoku\ ;
+興信録 > koushinroku\ ;
+電熱器 > den''netsuki\ ;
+作曲者 > sakkyokusha\ ;
+商標権 > shouhyouken\ ;
+常識人 > joushikijin\ ;
+観客層 > kankyakusou\ ;
+一重桜 > hitoezakura\ ;
+先先月 > sensengetsu\ ;
+地動説 > chidousetsu\ ;
+白亜質 > hakuashitsu\ ;
+膠着剤 > kouchakuzai\ ;
+一段落 > ichidanraku\ ;
+軍用鳩 > gun''youbato\ ;
+俗文学 > zokubungaku\ ;
+電圧計 > den''atsukei\ ;
+薬局方 > yakkyokuhou\ ;
+法制局 > houseikyoku\ ;
+薬学者 > yakugakusha\ ;
+係争物 > keisoubutsu\ ;
+鐘乳洞 > shounyuudou\ ;
+脱毛剤 > datsumouzai\ ;
+管轄権 > kankatsuken\ ;
+借用書 > shakuyousho\ ;
+奉公口 > houkouguchi\ ;
+放送局 > housoukyoku\ ;
+黄白色 > kohakushoku\ ;
+羽織袴 > haorihakama\ ;
+除幕式 > jomakushiki\ ;
+強制的 > kyouseiteki\ ;
+強心剤 > kyoushinzai\ ;
+生活環 > seikatsukan\ ;
+春一番 > haruichiban\ ;
+十八番 > juuhachiban\ ;
+終身官 > shuushinkan\ ;
+月長石 > getchouseki\ ;
+教職員 > kyoushokuin\ ;
+送別会 > soubetsukai\ ;
+出品国 > shuppinkoku\ ;
+南京町 > nankinmachi\ ;
+道徳的 > doutokuteki\ ;
+商業界 > shougyoukai\ ;
+収納額 > shuunougaku\ ;
+鼎立戦 > teiritsusen\ ;
+原則的 > gensokuteki\ ;
+傍聴料 > bouchouryou\ ;
+千円札 > sen''ensatsu\ ;
+定収入 > teishuunyuu\ ;
+六大州 > rokudaishuu\ ;
+割引券 > waribikiken\ ;
+住生活 > juuseikatsu\ ;
+前立腺 > zenritsusen\ ;
+写真集 > shashinshuu\ ;
+百万遍 > hyakumanben\ ;
+蝉時雨 > semishigure\ ;
+割引債 > waribikisai\ ;
+接着剤 > setchakuzai\ ;
+手術台 > shujutsudai\ ;
+防火扉 > boukatobira\ ;
+乱入者 > ran''nyuusha\ ;
+計画的 > keikakuteki\ ;
+調印式 > chouinshiki\ ;
+逆転層 > gyakutensou\ ;
+黄色虫 > koganemushi\ ;
+生活法 > seikatsuhou\ ;
+粘土質 > nendoshitsu\ ;
+逆輸入 > gyakuyunyuu\ ;
+新興国 > shinkoukoku\ ;
+創造力 > souzouryoku\ ;
+合目的 > goumokuteki\ ;
+新人賞 > shinjinshou\ ;
+頚静脈 > keijoumyaku\ ;
+電報局 > denpoukyoku\ ;
+三幕物 > sanmakumono\ ;
+白木蓮 > hakumokuren\ ;
+商業港 > shougyoukou\ ;
+薬罐頭 > yakan''atama\ ;
+一里塚 > ichiridzuka\ ;
+終身刑 > shuushinkei\ ;
+動力学 > dourikigaku\ ;
+節料理 > sechiryouri\ ;
+出品人 > shuppin''nin\ ;
+傍聴席 > bouchouseki\ ;
+不適切 > futekisetsu\ ;
+学際的 > gakusaiteki\ ;
+竜骨座 > ryuukotsuza\ ;
+仮条約 > karijouyaku\ ;
+階級章 > kaikyuushou\ ;
+抵抗力 > teikouryoku\ ;
+森林学 > shinringaku\ ;
+百万言 > hyakumangen\ ;
+化粧下 > keshoushita\ ;
+赤提灯 > akachouchin\ ;
+創造主 > souzounushi\ ;
+候孝賢 > houshaushen\ ;
+薬缶頭 > yakan''atama\ ;
+冬将軍 > fuyushougun\ ;
+独習書 > dokushuusho\ ;
+公証料 > koushouryou\ ;
+綿織物 > men''orimono\ ;
+先入主 > sen''nyuushu\ ;
+最終的 > saishuuteki\ ;
+本建築 > honkenchiku\ ;
+狗尾草 > enokorogusa\ ;
+行商人 > gyoushounin\ ;
+切分法 > setsubunhou\ ;
+小百姓 > kobyakushou\ ;
+心丈夫 > kokorojoubu\ ;
+鳥類学 > chouruigaku\ ;
+弱年者 > jakunenmono\ ;
+中隊長 > chuutaichou\ ;
+相談役 > soudan''yaku\ ;
+食事時 > shokujidoki\ ;
+八面体 > hachimentai\ ;
+原判決 > genhanketsu\ ;
+極地圏 > kyokuchiken\ ;
+監察官 > kansatsukan\ ;
+白玉粉 > shiratamako\ ;
+商業文 > shougyoubun\ ;
+天動説 > tendousetsu\ ;
+辻説法 > tsujiseppou\ ;
+煉丹術 > rentanjutsu\ ;
+西海岸 > nishikaigan\ ;
+急上昇 > kyuujoushou\ ;
+宝石商 > housekishou\ ;
+換算率 > kansanritsu\ ;
+建設者 > kensetsusha\ ;
+北々西 > hokuhokusei\ ;
+銀婚式 > ginkonshiki\ ;
+両脚器 > ryoukyakuki\ ;
+原動力 > gendouryoku\ ;
+俄景気 > niwakageiki\ ;
+悪戯者 > itazuramono\ ;
+大福帳 > daifukuchou\ ;
+時節柄 > jisetsugara\ ;
+吸血鬼 > kyuuketsuki\ ;
+糖尿病 > tounyoubyou\ ;
+転任先 > ten''ninsaki\ ;
+支配力 > shihairyoku\ ;
+単音節 > tan''onsetsu\ ;
+新聞種 > shinbundane\ ;
+弟々子 > otoutodeshi\ ;
+低丘陵 > teikyuuryou\ ;
+国際的 > kokusaiteki\ ;
+郷土色 > kyoudoshoku\ ;
+竜田姫 > tatsutahime\ ;
+小学館 > shougakukan\ ;
+使節団 > shisetsudan\ ;
+消息文 > shousokubun\ ;
+緋衣草 > higoromosou\ ;
+主計局 > shukeikyoku\ ;
+道徳心 > doutokushin\ ;
+未決囚 > miketsushuu\ ;
+愛唱曲 > aishoukyoku\ ;
+山棟蛇 > yamakagashi\ ;
+偵察隊 > teisatsutai\ ;
+発信側 > hasshingawa\ ;
+遠山里 > tooyamazato\ ;
+神経痛 > shinkeitsuu\ ;
+神経症 > shinkeishou\ ;
+神経病 > shinkeibyou\ ;
+定着液 > teichakueki\ ;
+弁証学 > benshougaku\ ;
+発信人 > hasshin''nin\ ;
+緑地帯 > ryokuchitai\ ;
+生活圏 > seikatsuken\ ;
+熱伝導 > netsudendou\ ;
+道徳学 > doutokugaku\ ;
+適格者 > tekikakusha\ ;
+図書室 > toshoshitsu\ ;
+観音様 > kan''nonsama\ ;
+結婚式 > kekkonshiki\ ;
+西洋式 > seiyoushiki\ ;
+男冥利 > otokomyouri\ ;
+上腕骨 > jouwankotsu\ ;
+生命力 > seimeiryoku\ ;
+硬骨漢 > koukotsukan\ ;
+商業地 > shougyouchi\ ;
+万年床 > man''nendoko\ ;
+講釈師 > koushakushi\ ;
+淡黄色 > tankoushoku\ ;
+三幅対 > sanpukutsui\ ;
+蛋白尿 > tanpakunyou\ ;
+刺激臭 > shigekishuu\ ;
+草鞋虫 > warajimushi\ ;
+金融業 > kin''yuugyou\ ;
+菜種油 > nataneabura\ ;
+雛人形 > hinaningyou\ ;
+無着陸 > muchakuriku\ ;
+上分別 > joufunbetsu\ ;
+大動脈 > daidoumyaku\ ;
+神無月 > kan''nadzuki\ ;
+幼馴染 > osananajimi\ ;
+円周率 > enshuuritsu\ ;
+商業史 > shougyoushi\ ;
+山岳病 > sangakubyou\ ;
+親任官 > shin''ninkan\ ;
+追跡者 > tsuisekisha\ ;
+発会式 > hakkaishiki\ ;
+天道虫 > tentoumushi\ ;
+床面積 > yukamenseki\ ;
+狸親父 > tanukioyaji\ ;
+木石漢 > bokusekikan\ ;
+国防省 > kokuboushou\ ;
+国文学 > kokubungaku\ ;
+民俗学 > minzokugaku\ ;
+生殖腺 > seishokusen\ ;
+自殺的 > jisatsuteki\ ;
+造物主 > zoubutsushu\ ;
+用兵術 > youheijutsu\ ;
+退職金 > taishokukin\ ;
+彎月状 > wangetsujou\ ;
+生没年 > seibotsunen\ ;
+単一性 > tan''itsusei\ ;
+持続力 > jizokuryoku\ ;
+新聞業 > shinbungyou\ ;
+神経核 > shinkeikaku\ ;
+枢軸国 > suujikukoku\ ;
+三色版 > sanshokuban\ ;
+直観的 > chokkanteki\ ;
+中間駅 > chuukan''eki\ ;
+能装束 > noushouzoku\ ;
+結晶学 > kesshougaku\ ;
+解決法 > kaiketsuhou\ ;
+警戒色 > keikaishoku\ ;
+一毛作 > ichimousaku\ ;
+温熱性 > on''netsusei\ ;
+内反脚 > naihankyaku\ ;
+延縄漁 > haenawaryou\ ;
+直方体 > chokuhoutai\ ;
+家族達 > kazokutachi\ ;
+刺激的 > shigekiteki\ ;
+交換局 > koukankyoku\ ;
+七年忌 > shichinenki\ ;
+悪戯書 > itazuragaki\ ;
+千人針 > sen''ninbari\ ;
+消毒液 > shoudokueki\ ;
+油砥石 > aburatoishi\ ;
+狐饂飩 > kitsuneudon\ ;
+合州国 > gasshuukoku\ ;
+濃褐色 > noukasshoku\ ;
+材木商 > zaimokushou\ ;
+原色版 > genshokuban\ ;
+単項式 > tankoushiki\ ;
+土気色 > tsuchikeiro\ ;
+付属節 > fuzokusetsu\ ;
+一番鶏 > ichibandori\ ;
+紋章学 > monshougaku\ ;
+真只中 > mattadanaka\ ;
+出席者 > shussekisha\ ;
+門前町 > monzenmachi\ ;
+教訓的 > kyoukunteki\ ;
+貯金局 > chokinkyoku\ ;
+官僚臭 > kanryoushuu\ ;
+蹄鉄工 > teitetsukou\ ;
+神経学 > shinkeigaku\ ;
+表玄関 > omotegenkan\ ;
+出張店 > shutchouten\ ;
+旅行鞄 > ryokoukaban\ ;
+北々東 > hokuhokutou\ ;
+減塩食 > gen''enshoku\ ;
+団体客 > dantaikyaku\ ;
+心霊学 > shinreigaku\ ;
+大正琴 > taishougoto\ ;
+欠勤率 > kekkinritsu\ ;
+定着剤 > teichakuzai\ ;
+入場料 > nyuujouryou\ ;
+逐語訳 > chikugoyaku\ ;
+思考力 > shikouryoku\ ;
+乳用牛 > nyuuyougyuu\ ;
+正覚坊 > shougakubou\ ;
+緑藻類 > ryokusourui\ ;
+目撃者 > mokugekisha\ ;
+黒曜石 > kokuyouseki\ ;
+満一年 > man''ichinen\ ;
+没我的 > botsugateki\ ;
+含塵率 > ganjinritsu\ ;
+退職者 > taishokusha\ ;
+蔵屋敷 > kurayashiki\ ;
+再建築 > saikenchiku\ ;
+献身的 > kenshinteki\ ;
+妨害物 > bougaibutsu\ ;
+点眼薬 > tengan''yaku\ ;
+元首相 > motoshushou\ ;
+恐水病 > kyousuibyou\ ;
+密売品 > mitsubaihin\ ;
+石川県 > ishikawaken\ ;
+副会長 > fukukaichou\ ;
+発明者 > hatsumeisha\ ;
+創作的 > sousakuteki\ ;
+大逆罪 > taigyakuzai\ ;
+一元的 > ichigenteki\ ;
+百面相 > hyakumensou\ ;
+不侵略 > fushinryaku\ ;
+小学生 > shougakusei\ ;
+付属物 > fuzokubutsu\ ;
+勉強中 > benkyouchuu\ ;
+写真帳 > shashinchou\ ;
+一目散 > ichimokusan\ ;
+風力計 > fuuryokukei\ ;
+活用形 > katsuyoukei\ ;
+自動扉 > jidoutobira\ ;
+会社立 > kaisharitsu\ ;
+見目形 > mimekatachi\ ;
+鑑別所 > kanbetsusho\ ;
+仮契約 > karikeiyaku\ ;
+核拡散 > kakukakusan\ ;
+周辺国 > shuuhenkoku\ ;
+必然性 > hitsuzensei\ ;
+黒猩猩 > kuroshoujou\ ;
+両替商 > ryougaeshou\ ;
+脱色剤 > dasshokuzai\ ;
+右心室 > ushinshitsu\ ;
+中央口 > chuuouguchi\ ;
+真菌症 > shinkinshou\ ;
+圧力波 > atsuryokuha\ ;
+全国的 > zenkokuteki\ ;
+縄梯子 > nawabashigo\ ;
+我物顔 > wagamonogao\ ;
+食堂車 > shokudousha\ ;
+善知識 > zenchishiki\ ;
+一円札 > ichiensatsu\ ;
+視聴覚 > shichoukaku\ ;
+耐熱鋼 > tainetsukou\ ;
+革命的 > kakumeiteki\ ;
+小休止 > shoukyuushi\ ;
+好取組 > koutorikumi\ ;
+博奕宿 > bakuchiyado\ ;
+脳貧血 > nouhinketsu\ ;
+悪々戯 > waruitazura\ ;
+洗礼式 > senreishiki\ ;
+甲骨文 > koukotsubun\ ;
+日銀券 > nichiginken\ ;
+貧民窟 > hinminkutsu\ ;
+奉献物 > houkenbutsu\ ;
+実業家 > jitsugyouka\ ;
+胸算用 > munezan''you\ ;
+冬木立 > fuyukodachi\ ;
+結紮糸 > kessatsushi\ ;
+逆宣伝 > gyakusenden\ ;
+鮮紅色 > senkoushoku\ ;
+入国税 > nyuukokuzei\ ;
+拡大鏡 > kakudaikyou\ ;
+道楽者 > dourakumono\ ;
+女房役 > nyoubouyaku\ ;
+条約国 > jouyakukoku\ ;
+代替物 > daitaibutsu\ ;
+混凝土 > konkurizeto\ ;
+消毒剤 > shoudokuzai\ ;
+万能薬 > man''nouyaku\ ;
+信憑性 > shinpyousei\ ;
+列伝体 > retsudentai\ ;
+口可笑 > kuchiokashi\ ;
+実生活 > jisseikatsu\ ;
+百姓家 > hyakushouya\ ;
+一局部 > ichikyokubu\ ;
+間一髪 > kan''ippatsu\ ;
+年格好 > toshikakkou\ ;
+鎧一具 > yoroiichigu\ ;
+町人物 > chouninmono\ ;
+通訳官 > tsuuyakukan\ ;
+必要悪 > hitsuyouaku\ ;
+鉄道網 > tetsudoumou\ ;
+原産物 > gensanbutsu\ ;
+器楽曲 > kigakukyoku\ ;
+必要性 > hitsuyousei\ ;
+半面識 > hanmenshiki\ ;
+夢心地 > yumegokochi\ ;
+今週中 > konshuuchuu\ ;
+話下手 > hanashibeta\ ;
+防蝕剤 > boushokuzai\ ;
+小乗的 > shoujouteki\ ;
+立脚点 > rikkyakuten\ ;
+不信実 > fushinjitsu\ ;
+争奪戦 > soudatsusen\ ;
+商学士 > shougakushi\ ;
+上屋敷 > kamiyashiki\ ;
+若大将 > wakadaishou\ ;
+操舵室 > soudashitsu\ ;
+成人式 > seijinshiki\ ;
+新面目 > shinmenmoku\ ;
+注文服 > chuumonfuku\ ;
+上棟式 > joutoushiki\ ;
+赤銅色 > shakudouiro\ ;
+向学心 > kougakushin\ ;
+渇望者 > katsubousha\ ;
+汽缶室 > kikanshitsu\ ;
+執達吏 > shittatsuri\ ;
+乗心地 > norigokochi\ ;
+弔祭料 > chousairyou\ ;
+刺戟的 > shigekiteki\ ;
+下検分 > shitakenbun\ ;
+開催式 > kaisaishiki\ ;
+田舎娘 > inakamusume\ ;
+箱火鉢 > hakohibachi\ ;
+副首相 > fukushushou\ ;
+敵愾心 > tekigaishin\ ;
+釈空海 > shakukuukai\ ;
+北北西 > hokuhokusei\ ;
+組織票 > soshikihyou\ ;
+出身者 > shusshinsha\ ;
+仕事量 > shigotoryou\ ;
+半月形 > hangetsukei\ ;
+分子説 > bunshisetsu\ ;
+半月弁 > hangetsuben\ ;
+正答率 > seitouritsu\ ;
+季節的 > kisetsuteki\ ;
+原子説 > genshisetsu\ ;
+神嘗祭 > kan''namesai\ ;
+桧舞台 > hinokibutai\ ;
+対局者 > taikyokusha\ ;
+貝殻骨 > kaigarabone\ ;
+千両箱 > senryoubako\ ;
+純収入 > junshuunyuu\ ;
+物理的 > butsuriteki\ ;
+林産物 > rinsanbutsu\ ;
+突然死 > totsuzenshi\ ;
+証取法 > shoutorihou\ ;
+歴史的 > rekishiteki\ ;
+組織的 > soshikiteki\ ;
+贈呈式 > zouteishiki\ ;
+積載量 > sekisairyou\ ;
+自発的 > jihatsuteki\ ;
+土石流 > dosekiryuu\ ;
+市町村 > shichouson\ ;
+食塩水 > shokuensui\ ;
+潤滑油 > junkatsuyu\ ;
+流星群 > ryuuseigun\ ;
+契約金 > keiyakukin\ ;
+決議文 > ketsugibun\ ;
+蒸留酒 > jouryuushu\ ;
+針葉樹 > shin''youju\ ;
+猛勉強 > moubenkyou\ ;
+深刻化 > shinkokuka\ ;
+所得顔 > tokoroegao\ ;
+御客様 > okyakusama\ ;
+蔵書票 > zoushohyou\ ;
+人工雪 > jinkouyuki\ ;
+同腹仔 > doufukushi\ ;
+射倖心 > shakoushin\ ;
+博士号 > hakushigou\ ;
+入漁者 > nyuugyosha\ ;
+別除権 > betsujoken\ ;
+戦闘服 > sentoufuku\ ;
+養鶏業 > youkeigyou\ ;
+議決権 > giketsuken\ ;
+入園料 > nyuuenryou\ ;
+優先的 > yuusenteki\ ;
+同一視 > douitsushi\ ;
+難行道 > nangyoudou\ ;
+遺失品 > ishitsuhin\ ;
+食文化 > shokubunka\ ;
+民主国 > minshukoku\ ;
+再帰熱 > saikinetsu\ ;
+炭化物 > tankabutsu\ ;
+断片的 > danpenteki\ ;
+溺死体 > dekishitai\ ;
+海洋学 > kaiyougaku\ ;
+歯神経 > shishinkei\ ;
+反抗的 > hankouteki\ ;
+開催国 > kaisaikoku\ ;
+御両親 > goryoushin\ ;
+修正液 > shuuseieki\ ;
+厚生省 > kouseishou\ ;
+高級車 > koukyuusha\ ;
+軟文学 > nanbungaku\ ;
+試作品 > shisakuhin\ ;
+観覧料 > kanranryou\ ;
+不信任 > fushin''nin\ ;
+三脚架 > sankyakuka\ ;
+変態的 > hentaiteki\ ;
+乞高評 > koukouhyou\ ;
+毛氈苔 > mousengoke\ ;
+三尺帯 > sanjakuobi\ ;
+応急策 > oukyuusaku\ ;
+人道的 > jindouteki\ ;
+海酸漿 > umihoozuki\ ;
+承認状 > shouninjou\ ;
+随筆家 > zuihitsuka\ ;
+核融合 > kakuyuugou\ ;
+抽選券 > chuusenken\ ;
+免許証 > menkyoshou\ ;
+美容術 > biyoujutsu\ ;
+裏貸屋 > uragashiya\ ;
+防毒面 > boudokumen\ ;
+弁慶蟹 > benkeigani\ ;
+二線式 > nisenshiki\ ;
+必要事 > hitsuyouji\ ;
+発明家 > hatsumeika\ ;
+独裁者 > dokusaisha\ ;
+眺望権 > choubouken\ ;
+内通者 > naitsuusha\ ;
+中長期 > chuuchouki\ ;
+現象論 > genshouron\ ;
+魔術師 > majutsushi\ ;
+国土庁 > kokudochou\ ;
+積分法 > sekibunhou\ ;
+信号灯 > shingoutou\ ;
+半陰陽 > han''in''you\ ;
+平面鏡 > heimenkyou\ ;
+宅配便 > takuhaibin\ ;
+萎縮症 > ishukushou\ ;
+天目山 > tenmokuzan\ ;
+偏平足 > henpeisoku\ ;
+法学士 > hougakushi\ ;
+発煙筒 > hatsuentou\ ;
+側頭葉 > sokutouyou\ ;
+天皇杯 > ten''nouhai\ ;
+細胞核 > saiboukaku\ ;
+独擅場 > dokusenjou\ ;
+製鋼業 > seikougyou\ ;
+光熱費 > kounetsuhi\ ;
+愛郷心 > aikyoushin\ ;
+生産高 > seisandaka\ ;
+海水浴 > kaisuiyoku\ ;
+仮繃帯 > karihoutai\ ;
+及第者 > kyuudaisha\ ;
+米陸軍 > beirikugun\ ;
+注文品 > chuumonhin\ ;
+恒常的 > koujouteki\ ;
+人形師 > ningyoushi\ ;
+榴散弾 > ryuusandan\ ;
+発電機 > hatsudenki\ ;
+旧市街 > kyuushigai\ ;
+観覧席 > kanranseki\ ;
+実用化 > jitsuyouka\ ;
+考現学 > kougengaku\ ;
+開催中 > kaisaichuu\ ;
+産業界 > sangyoukai\ ;
+庶民劇 > shomingeki\ ;
+不仕末 > fushimatsu\ ;
+呆気者 > utsukemono\ ;
+解剖学 > kaibougaku\ ;
+仮埋葬 > karimaisou\ ;
+釣道具 > tsuridougu\ ;
+生産額 > seisangaku\ ;
+悲劇的 > higekiteki\ ;
+北氷洋 > hoppyouyou\ ;
+十二月 > juunigatsu\ ;
+同学年 > dougakunen\ ;
+現代的 > gendaiteki\ ;
+夢判断 > yumehandan\ ;
+岳友会 > gakuyuukai\ ;
+勘定尻 > kanjoujiri\ ;
+合宿所 > gasshukujo\ ;
+蠱惑的 > kowakuteki\ ;
+空間軸 > kuukanjiku\ ;
+中間層 > chuukansou\ ;
+特級酒 > tokkyuushu\ ;
+署名国 > shomeikoku\ ;
+演劇的 > engekiteki\ ;
+交戦国 > kousenkoku\ ;
+外形的 > gaikeiteki\ ;
+中間子 > chuukanshi\ ;
+整流子 > seiryuushi\ ;
+優先株 > yuusenkabu\ ;
+短兵急 > tanpeikyuu\ ;
+弁慶縞 > benkeijima\ ;
+牡丹雪 > botan''yuki\ ;
+斜格性 > shakakusei\ ;
+高角砲 > koukakuhou\ ;
+歴年齢 > rekinenrei\ ;
+無分別 > mufunbetsu\ ;
+刺戟性 > shigekisei\ ;
+通行税 > tsuukouzei\ ;
+超自然 > choushizen\ ;
+削氷機 > sakuhyouki\ ;
+契約者 > keiyakusha\ ;
+夜盗虫 > yotoumushi\ ;
+安全率 > anzenritsu\ ;
+原子症 > genshishou\ ;
+原子病 > genshibyou\ ;
+季節感 > kisetsukan\ ;
+旧勘定 > kyuukanjou\ ;
+仮調印 > karichouin\ ;
+乗車賃 > joushachin\ ;
+防虫剤 > bouchuuzai\ ;
+核戦争 > kakusensou\ ;
+発売日 > hatsubaibi\ ;
+定足数 > teisokusuu\ ;
+里神楽 > satokagura\ ;
+薩摩芋 > satsumaimo\ ;
+姦通罪 > kantsuuzai\ ;
+山林学 > sanringaku\ ;
+副議長 > fukugichou\ ;
+航空病 > koukuubyou\ ;
+漢越音 > kan''etsuon\ ;
+出入口 > deiriguchi\ ;
+仮納税 > karinouzei\ ;
+総合的 > sougouteki\ ;
+仲裁者 > chuusaisha\ ;
+出展者 > shuttensha\ ;
+活字体 > katsujitai\ ;
+肘鉄砲 > hijideppou\ ;
+対蹠地 > taisekichi\ ;
+廻漕業 > kaisougyou\ ;
+低障碍 > teishougai\ ;
+残余額 > zan''yogaku\ ;
+治療法 > chiryouhou\ ;
+機械油 > kikaiabura\ ;
+自発性 > jihatsusei\ ;
+信号手 > shingoushu\ ;
+栃木県 > tochigiken\ ;
+調査票 > chousahyou\ ;
+編年史 > hen''nenshi\ ;
+土着民 > dochakumin\ ;
+進呈本 > shinteibon\ ;
+瑞宝章 > zuihoushou\ ;
+落選者 > rakusensha\ ;
+内勘定 > uchikanjou\ ;
+奉納額 > hounougaku\ ;
+細胞学 > saibougaku\ ;
+果実店 > kajitsuten\ ;
+実時間 > jitsujikan\ ;
+入漁権 > nyuugyoken\ ;
+著作者 > chosakusha\ ;
+脱脂乳 > dasshinyuu\ ;
+祭祀料 > saishiryou\ ;
+内弁慶 > uchibenkei\ ;
+向上心 > koujoushin\ ;
+牧羊者 > bokuyousha\ ;
+参観人 > sankan''nin\ ;
+均一化 > kin''itsuka\ ;
+共同者 > kyoudousha\ ;
+明朝体 > minchoutai\ ;
+塩胡椒 > shiokoshou\ ;
+耐震性 > taishinsei\ ;
+新西蘭 > nyūjīrando\ ;
+一枚貝 > ichimaigai\ ;
+乱暴者 > ranboumono\ ;
+各一部 > kakuichibu\ ;
+陰日向 > kagehinata\ ;
+紫宸殿 > shishinden\ ;
+幽霊株 > yuureikabu\ ;
+所得者 > shotokusha\ ;
+軍事力 > gunjiryoku\ ;
+勝負事 > shoubugoto\ ;
+給水車 > kyuusuisha\ ;
+細胞壁 > saibouheki\ ;
+可逆性 > kagyakusei\ ;
+懸賞金 > kenshoukin\ ;
+暦年齢 > rekinenrei\ ;
+含嗽薬 > gansouyaku\ ;
+見学者 > kengakusha\ ;
+優先席 > yuusenseki\ ;
+少数者 > shousuusha\ ;
+共同線 > kyoudousen\ ;
+及第点 > kyuudaiten\ ;
+分類表 > bunruihyou\ ;
+近眼鏡 > kingankyou\ ;
+関数族 > kansuuzoku\ ;
+町村制 > chousonsei\ ;
+極悪人 > gokuakunin\ ;
+引受人 > hikiukenin\ ;
+編年体 > hen''nentai\ ;
+代願人 > daigan''nin\ ;
+有力馬 > yuuryokuba\ ;
+除雪車 > josetsusha\ ;
+大審院 > daishin''in\ ;
+税関長 > zeikanchou\ ;
+中間体 > chuukantai\ ;
+滋養物 > jiyoubutsu\ ;
+九工大 > kyuukoudai\ ;
+加湿器 > kashitsuki\ ;
+新訂版 > shinteiban\ ;
+十人力 > juuninriki\ ;
+下宿人 > geshukunin\ ;
+大業物 > oowazamono\ ;
+側面観 > sokumenkan\ ;
+現象界 > genshoukai\ ;
+追試験 > tsuishiken\ ;
+先天的 > sententeki\ ;
+建築家 > kenchikuka\ ;
+水量計 > suiryoukei\ ;
+親衛隊 > shin''eitai\ ;
+先天病 > sentenbyou\ ;
+繁殖期 > hanshokuki\ ;
+船幽霊 > funayuurei\ ;
+民族性 > minzokusei\ ;
+御了承 > goryoushou\ ;
+水蛇座 > mizuhebiza\ ;
+拝外的 > haigaiteki\ ;
+刺戟剤 > shigekizai\ ;
+所得税 > shotokuzei\ ;
+棉実油 > menjitsuyu\ ;
+勤続者 > kinzokusha\ ;
+天皇制 > ten''nousei\ ;
+喫煙車 > kitsuensha\ ;
+実習生 > jisshuusei\ ;
+体系的 > taikeiteki\ ;
+遊興税 > yuukyouzei\ ;
+修道士 > shuudoushi\ ;
+新教徒 > shinkyouto\ ;
+博覧会 > hakurankai\ ;
+前登録 > zentouroku\ ;
+東洋学 > touyougaku\ ;
+大将軍 > daishougun\ ;
+信号塔 > shingoutou\ ;
+原子核 > genshikaku\ ;
+大公国 > taikoukoku\ ;
+休息所 > kyuusokujo\ ;
+高障害 > koushougai\ ;
+求道者 > kyuudousha\ ;
+天守閣 > tenshukaku\ ;
+乾物屋 > kanbutsuya\ ;
+水鉄砲 > mizudeppou\ ;
+千三屋 > senmitsuya\ ;
+入港税 > nyuukouzei\ ;
+銀行業 > ginkougyou\ ;
+休泊所 > kyuuhakujo\ ;
+人工的 > jinkouteki\ ;
+聴視者 > choushisha\ ;
+両国語 > ryoukokugo\ ;
+高瀬舟 > takasebune\ ;
+組織名 > soshikimei\ ;
+同期式 > doukishiki\ ;
+大腸菌 > daichoukin\ ;
+半狂乱 > hankyouran\ ;
+贅沢品 > zeitakuhin\ ;
+一本道 > ipponmichi\ ;
+利潤率 > rijunritsu\ ;
+迫害者 > hakugaisha\ ;
+大極殿 > daigokuden\ ;
+重量感 > juuryoukan\ ;
+美学的 > bigakuteki\ ;
+写生帳 > shaseichou\ ;
+廃棄物 > haikibutsu\ ;
+電磁石 > denjishaku\ ;
+写生帖 > shaseichou\ ;
+造営物 > zoueibutsu\ ;
+技術面 > gijutsumen\ ;
+仕置者 > shiokimono\ ;
+時刻表 > jikokuhyou\ ;
+毒科学 > dokukagaku\ ;
+直行便 > chokkoubin\ ;
+手内職 > tenaishoku\ ;
+旅行先 > ryokousaki\ ;
+核弾頭 > kakudantou\ ;
+空集合 > kuushuugou\ ;
+特許料 > tokkyoryou\ ;
+主情的 > shujouteki\ ;
+更衣室 > kouishitsu\ ;
+会席膳 > kaisekizen\ ;
+千一夜 > sen''ichiya\ ;
+真田紐 > sanadahimo\ ;
+道学者 > dougakusha\ ;
+揮発性 > kihatsusei\ ;
+出資金 > shusshikin\ ;
+牧羊犬 > bokuyouken\ ;
+蒸留水 > jouryuusui\ ;
+等圧線 > touatsusen\ ;
+毒味役 > dokumiyaku\ ;
+優良店 > yuuryouten\ ;
+内芸者 > uchigeisha\ ;
+悪達者 > warudassha\ ;
+三面鏡 > sanmenkyou\ ;
+狸蕎麦 > tanukisoba\ ;
+裏書人 > uragakinin\ ;
+特大号 > tokudaigou\ ;
+組織体 > soshikitai\ ;
+現実化 > genjitsuka\ ;
+多目的 > tamokuteki\ ;
+将来性 > shouraisei\ ;
+一人腹 > hitoribara\ ;
+画一化 > kakuitsuka\ ;
+重金属 > juukinzoku\ ;
+立会人 > tachiainin\ ;
+歴史上 > rekishijou\ ;
+製鉄所 > seitetsujo\ ;
+一人者 > hitorimono\ ;
+遮断壁 > shadanpeki\ ;
+特売場 > tokubaijou\ ;
+告知板 > kokuchiban\ ;
+沖積期 > chuusekiki\ ;
+仮記入 > karikinyuu\ ;
+修道会 > shuudoukai\ ;
+桟梯子 > sanbashigo\ ;
+番号札 > bangoufuda\ ;
+少数点 > shousuuten\ ;
+山猫座 > yamanekoza\ ;
+寝台券 > shindaiken\ ;
+水銀柱 > suiginchuu\ ;
+赤海亀 > akaumigame\ ;
+骨相学 > kossougaku\ ;
+大臼歯 > daikyuushi\ ;
+民族史 > minzokushi\ ;
+五稜郭 > goryoukaku\ ;
+扁平足 > henpeisoku\ ;
+契約書 > keiyakusho\ ;
+影法師 > kageboushi\ ;
+金剛石 > kongouseki\ ;
+特許庁 > tokkyochou\ ;
+特売品 > tokubaihin\ ;
+下請負 > shitaukeoi\ ;
+収穫期 > shuukakuki\ ;
+陸戦隊 > rikusentai\ ;
+給水管 > kyuusuikan\ ;
+神秘的 > shinpiteki\ ;
+重量噸 > juuryouton\ ;
+収穫時 > shuukakuji\ ;
+高圧縮 > kouasshuku\ ;
+著作権 > chosakuken\ ;
+代執行 > daishikkou\ ;
+限定的 > genteiteki\ ;
+高圧線 > kouatsusen\ ;
+仮採用 > karisaiyou\ ;
+改革者 > kaikakusha\ ;
+地下鉄 > chikatetsu\ ;
+尊王党 > son''noutou\ ;
+喫煙者 > kitsuensha\ ;
+土俵際 > dohyougiwa\ ;
+大山猫 > ooyamaneko\ ;
+航空学 > koukuugaku\ ;
+原材料 > genzairyou\ ;
+出産数 > shussansuu\ ;
+欄参照 > ransanshou\ ;
+出生数 > shusseisuu\ ;
+守備率 > shubiritsu\ ;
+文芸学 > bungeigaku\ ;
+紅冠鳥 > koukanchou\ ;
+初場所 > hatsubasho\ ;
+乳状液 > nyuujoueki\ ;
+単坐式 > tanzashiki\ ;
+在留民 > zairyuumin\ ;
+美顔術 > biganjutsu\ ;
+煮沸器 > shafutsuki\ ;
+優良品 > yuuryouhin\ ;
+戦術家 > senjutsuka\ ;
+仕事師 > shigotoshi\ ;
+無生物 > museibutsu\ ;
+雑文家 > zatsubunka\ ;
+同調者 > douchousha\ ;
+予約席 > yoyakuseki\ ;
+金石文 > kinsekibun\ ;
+練習船 > renshuusen\ ;
+測深機 > sokushinki\ ;
+発見料 > hakkenryou\ ;
+衒学者 > gengakusha\ ;
+小数点 > shousuuten\ ;
+引出物 > hikidemono\ ;
+開架式 > kaikashiki\ ;
+包含的 > houganteki\ ;
+合奏調 > gassouchou\ ;
+共和国 > kyouwakoku\ ;
+審判員 > shinpan''in\ ;
+清朝体 > seichoutai\ ;
+表日本 > omotenihon\ ;
+現代劇 > gendaigeki\ ;
+即効薬 > sokkouyaku\ ;
+日運動 > nichiundou\ ;
+職階制 > shokkaisei\ ;
+前車軸 > zenshajiku\ ;
+上昇線 > joushousen\ ;
+機密性 > kimitsusei\ ;
+明細表 > meisaihyou\ ;
+修辞学 > shuujigaku\ ;
+名誉職 > meiyoshoku\ ;
+四天王 > shiten''nou\ ;
+人相学 > ninsougaku\ ;
+授業料 > jugyouryou\ ;
+鉛中毒 > enchuudoku\ ;
+治療代 > chiryoudai\ ;
+帯黄色 > taioushoku\ ;
+起工式 > kikoushiki\ ;
+取得者 > shutokusha\ ;
+悪平等 > akubyoudou\ ;
+朱子学 > shushigaku\ ;
+軽金属 > keikinzoku\ ;
+健脚家 > kenkyakuka\ ;
+先覚者 > senkakusha\ ;
+不整脈 > fuseimyaku\ ;
+仲間内 > nakamauchi\ ;
+将来像 > shouraizou\ ;
+低教会 > teikyoukai\ ;
+性衝動 > seishoudou\ ;
+紙芝居 > kamishibai\ ;
+作成者 > sakuseisha\ ;
+回春剤 > kaishunzai\ ;
+消費量 > shouhiryou\ ;
+並製品 > namiseihin\ ;
+専有権 > sen''yuuken\ ;
+乗馬靴 > joubagutsu\ ;
+出資者 > shusshisha\ ;
+化石学 > kasekigaku\ ;
+聴診器 > choushinki\ ;
+猩猩蠅 > shoujoubae\ ;
+乱数表 > ransuuhyou\ ;
+埋立地 > umetatechi\ ;
+共同性 > kyoudousei\ ;
+熟練者 > jukurensha\ ;
+東北東 > touhokutou\ ;
+生体膜 > seitaimaku\ ;
+民衆駅 > minshuueki\ ;
+宇宙食 > uchuushoku\ ;
+日光浴 > nikkouyoku\ ;
+代数学 > daisuugaku\ ;
+能役者 > nouyakusha\ ;
+沖積土 > chuusekido\ ;
+引力圏 > inryokuken\ ;
+中折帽 > nakaorebou\ ;
+非活動 > hikatsudou\ ;
+不始末 > fushimatsu\ ;
+有功章 > yuukoushou\ ;
+投票者 > touhyousha\ ;
+攻撃隊 > kougekitai\ ;
+報告者 > houkokusha\ ;
+発表者 > happyousha\ ;
+惣管領 > soukanryou\ ;
+選択肢 > sentakushi\ ;
+技術者 > gijutsusha\ ;
+進歩的 > shinpoteki\ ;
+埋蔵量 > maizouryou\ ;
+仕事台 > shigotodai\ ;
+性成熟 > seiseijuku\ ;
+永年間 > naganenkan\ ;
+背教者 > haikyousha\ ;
+手工業 > shukougyou\ ;
+申請者 > shinseisha\ ;
+演出家 > enshutsuka\ ;
+一安心 > hitoanshin\ ;
+行楽地 > kourakuchi\ ;
+食管法 > shokkanhou\ ;
+観測船 > kansokusen\ ;
+競合者 > kyougousha\ ;
+健脳剤 > ken''nouzai\ ;
+金剛杖 > kongoudzue\ ;
+謝肉祭 > shanikusai\ ;
+複写紙 > fukushashi\ ;
+週刊誌 > shuukanshi\ ;
+収税所 > shuuzeisho\ ;
+通行人 > tsuukounin\ ;
+鑑定料 > kanteiryou\ ;
+同一人 > douitsunin\ ;
+高潮線 > kouchousen\ ;
+浸透性 > shintousei\ ;
+血色素 > kesshikiso\ ;
+脳震盪 > noushintou\ ;
+賃貸人 > chintainin\ ;
+出生地 > shusseichi\ ;
+練習生 > renshuusei\ ;
+座席表 > zasekihyou\ ;
+観測者 > kansokusha\ ;
+地獄耳 > jigokumimi\ ;
+高級品 > koukyuuhin\ ;
+遠日点 > enjitsuten\ ;
+漢学者 > kangakusha\ ;
+牧場鳥 > makibatori\ ;
+死刑囚 > shikeishuu\ ;
+氷砂糖 > koorizatou\ ;
+共著者 > kyouchosha\ ;
+骨髄炎 > kotsuzuien\ ;
+放牧地 > houbokuchi\ ;
+白血球 > hakkekkyuu\ ;
+溶岩流 > youganryuu\ ;
+死傷者 > shishousha\ ;
+式部官 > shikibukan\ ;
+脆弱性 > zeijakusei\ ;
+給水栓 > kyuusuisen\ ;
+観測網 > kansokumou\ ;
+急行券 > kyuukouken\ ;
+御鞭撻 > gobentatsu\ ;
+緑十字 > ryokujuuji\ ;
+流線形 > ryuusenkei\ ;
+原始的 > genshiteki\ ;
+牧羊地 > bokuyouchi\ ;
+埼玉県 > saitamaken\ ;
+攻撃軍 > kougekigun\ ;
+敵艦隊 > tekikantai\ ;
+食器棚 > shokkidana\ ;
+伝送先 > densousaki\ ;
+稲荷鮨 > inarizushi\ ;
+復調器 > fukuchouki\ ;
+大病人 > daibyounin\ ;
+共労者 > kyourousha\ ;
+病原菌 > byougenkin\ ;
+朝鮮人 > chousenjin\ ;
+優越権 > yuuetsuken\ ;
+一人旅 > hitoritabi\ ;
+文学論 > bungakuron\ ;
+肉感的 > nikkanteki\ ;
+急行便 > kyuukoubin\ ;
+甲乙丙 > kouotsuhei\ ;
+中波長 > chuuhachou\ ;
+無職者 > mushokusha\ ;
+収税官 > shuuzeikan\ ;
+学部長 > gakubuchou\ ;
+超格子 > choukoushi\ ;
+闊葉樹 > katsuyouju\ ;
+共鳴者 > kyoumeisha\ ;
+無体物 > mutaibutsu\ ;
+浮気女 > uwakion''na\ ;
+登竜門 > touryuumon\ ;
+一義的 > ichigiteki\ ;
+第一条 > daiichijou\ ;
+内用薬 > naiyouyaku\ ;
+座標軸 > zahyoujiku\ ;
+策源地 > sakugenchi\ ;
+優生学 > yuuseigaku\ ;
+分隊長 > buntaichou\ ;
+前借金 > zenshakkin\ ;
+仲裁人 > chuusainin\ ;
+赤道祭 > sekidousai\ ;
+東北大 > touhokudai\ ;
+実証論 > jisshouron\ ;
+不燃物 > funenbutsu\ ;
+全強風 > zenkyoufuu\ ;
+小天地 > shoutenchi\ ;
+酢酸塩 > sakusan''en\ ;
+超音速 > chouonsoku\ ;
+密告者 > mikkokusha\ ;
+分類学 > bunruigaku\ ;
+彫金師 > choukinshi\ ;
+共通語 > kyoutsuugo\ ;
+神秘学 > shinhigaku\ ;
+一本橋 > ipponbashi\ ;
+第五列 > daigoretsu\ ;
+紳士用 > shinshiyou\ ;
+一枚岩 > ichimaiiwa\ ;
+流線型 > ryuusenkei\ ;
+一本槍 > ippon''yari\ ;
+困窮者 > konkyuusha\ ;
+冬支度 > fuyujitaku\ ;
+共同体 > kyoudoutai\ ;
+少数党 > shousuutou\ ;
+全民衆 > zenminshuu\ ;
+相反的 > souhanteki\ ;
+浮遊物 > fuyuubutsu\ ;
+労働省 > roudoushou\ ;
+孫息子 > magomusuko\ ;
+労働相 > roudoushou\ ;
+供養塚 > kuyoudzuka\ ;
+駆逐艦 > kuchikukan\ ;
+素人目 > shiroutome\ ;
+週刊紙 > shuukanshi\ ;
+精肉店 > seinikuten\ ;
+双殻類 > soukakurui\ ;
+奨励金 > shoureikin\ ;
+不精髭 > bushouhige\ ;
+能動的 > noudouteki\ ;
+約半分 > yakuhanbun\ ;
+網漁業 > amigyogyou\ ;
+授業中 > jugyouchuu\ ;
+岩石圏 > gansekiken\ ;
+役目柄 > yakumegara\ ;
+一本松 > ipponmatsu\ ;
+塩煎餅 > shiosenbei\ ;
+不如帰 > hototogisu\ ;
+南々西 > nan''nansei\ ;
+在学生 > zaigakusei\ ;
+剃刀砥 > kamisorido\ ;
+多発性 > tahatsusei\ ;
+優越感 > yuuetsukan\ ;
+特級品 > tokkyuuhin\ ;
+三角錐 > sankakusui\ ;
+必治薬 > hitchiyaku\ ;
+単振動 > tanshindou\ ;
+主張者 > shuchousha\ ;
+排他律 > haitaritsu\ ;
+優越性 > yuuetsusei\ ;
+形態学 > keitaigaku\ ;
+工業界 > kougyoukai\ ;
+工業用 > kougyouyou\ ;
+積乱雲 > sekiran''un\ ;
+拝観料 > haikanryou\ ;
+領海線 > ryoukaisen\ ;
+角分散 > kakubunsan\ ;
+不見識 > fukenshiki\ ;
+大学生 > daigakusei\ ;
+最北端 > saihokutan\ ;
+表面上 > hyoumenjou\ ;
+濃硫酸 > nouryuusan\ ;
+水化物 > suikabutsu\ ;
+超伝導 > choudendou\ ;
+文学者 > bungakusha\ ;
+粗目雪 > zarameyuki\ ;
+史学者 > shigakusha\ ;
+国民軍 > kokumingun\ ;
+咀嚼筋 > soshakukin\ ;
+住所録 > juushoroku\ ;
+駐停車 > chuuteisha\ ;
+植樹祭 > shokujusai\ ;
+角速度 > kakusokudo\ ;
+大赤斑 > daisekihan\ ;
+地中海 > chichuukai\ ;
+商売人 > shoubainin\ ;
+受取人 > uketorinin\ ;
+見本市 > mihon''ichi\ ;
+投票権 > touhyouken\ ;
+探照灯 > tanshoutou\ ;
+全勝軍 > zenshougun\ ;
+給水塔 > kyuusuitou\ ;
+潮干狩 > shiohigari\ ;
+牡羊座 > ohitsujiza\ ;
+収税人 > shuuzeinin\ ;
+選択権 > sentakuken\ ;
+採点表 > saitenhyou\ ;
+工工四 > kunkunshii\ ;
+記録的 > kirokuteki\ ;
+豆板銀 > mameitagin\ ;
+絶対量 > zettairyou\ ;
+東北人 > touhokujin\ ;
+海軍省 > kaigunshou\ ;
+金剛力 > kongouriki\ ;
+真暗闇 > makurayami\ ;
+検疫官 > ken''ekikan\ ;
+対象外 > taishougai\ ;
+新潟県 > niigataken\ ;
+闇再販 > yamisaihan\ ;
+動物愛 > doubutsuai\ ;
+使用量 > shiyouryou\ ;
+藁半紙 > warabanshi\ ;
+新開地 > shinkaichi\ ;
+非常識 > hijoushiki\ ;
+一面観 > ichimenkan\ ;
+管絃楽 > kangengaku\ ;
+最恵国 > saikeikoku\ ;
+慢性的 > manseiteki\ ;
+推計学 > suikeigaku\ ;
+副領事 > fukuryouji\ ;
+印刷者 > insatsusha\ ;
+耐火力 > taikaryoku\ ;
+友禅染 > yuuzenzome\ ;
+報告書 > houkokusho\ ;
+骨格筋 > kokkakukin\ ;
+藻塩草 > moshiogusa\ ;
+集大成 > shuutaisei\ ;
+慢性病 > manseibyou\ ;
+宣言的 > sengenteki\ ;
+六重奏 > rokujuusou\ ;
+音響学 > onkyougaku\ ;
+工業港 > kougyoukou\ ;
+総辞職 > soujishoku\ ;
+軍団長 > gundanchou\ ;
+年長者 > nenchousha\ ;
+総務局 > soumukyoku\ ;
+面相筆 > mensoufude\ ;
+散歩道 > sanpomichi\ ;
+示圧計 > shiatsukei\ ;
+世紀末 > seikimatsu\ ;
+第三国 > daisangoku\ ;
+投票数 > touhyousuu\ ;
+何箇月 > nankagetsu\ ;
+申請書 > shinseisho\ ;
+腹膜炎 > fukumakuen\ ;
+温泉町 > onsenmachi\ ;
+主動的 > shudouteki\ ;
+不文律 > fubunritsu\ ;
+弁当箱 > bentoubako\ ;
+天体学 > tentaigaku\ ;
+印刷紙 > insatsushi\ ;
+低成長 > teiseichou\ ;
+俯仰角 > fugyoukaku\ ;
+放熱器 > hounetsuki\ ;
+純良品 > junryouhin\ ;
+備後表 > bingoomote\ ;
+暗殺者 > ansatsusha\ ;
+平教員 > hirakyouin\ ;
+不覚者 > fukakumono\ ;
+成長点 > seichouten\ ;
+東横線 > touyokosen\ ;
+救済者 > kyuusaisha\ ;
+知能的 > chinouteki\ ;
+幻覚剤 > genkakuzai\ ;
+果物屋 > kudamonoya\ ;
+人格者 > jinkakusha\ ;
+金属間 > kinzokukan\ ;
+花柳病 > karyuubyou\ ;
+老大国 > routaikoku\ ;
+代言人 > daigen''nin\ ;
+心得顔 > kokoroegao\ ;
+代表者 > daihyousha\ ;
+主知的 > shuchiteki\ ;
+文学界 > bungakukai\ ;
+切断機 > setsudanki\ ;
+一時的 > ichijiteki\ ;
+交通網 > koutsuumou\ ;
+地球人 > chikyuujin\ ;
+地球上 > chikyuujou\ ;
+逆提案 > gyakuteian\ ;
+対数表 > taisuuhyou\ ;
+敗戦国 > haisenkoku\ ;
+印刷社 > insatsusha\ ;
+新製品 > shinseihin\ ;
+極距離 > kyokukyori\ ;
+熟練工 > jukurenkou\ ;
+色素体 > shikisotai\ ;
+丸砥石 > marutoishi\ ;
+同族会 > douzokukai\ ;
+経済的 > keizaiteki\ ;
+牛乳屋 > gyuunyuuya\ ;
+練習場 > renshuujou\ ;
+特製品 > tokuseihin\ ;
+不誠実 > fuseijitsu\ ;
+従来型 > juuraigata\ ;
+対象体 > taishoutai\ ;
+粉石鹸 > konasekken\ ;
+夜尿症 > yanyoushou\ ;
+超文面 > choubunmen\ ;
+動物園 > doubutsuen\ ;
+総監督 > soukantoku\ ;
+実際的 > jissaiteki\ ;
+頼信紙 > raishinshi\ ;
+宣教師 > senkyoushi\ ;
+責任者 > sekininsha\ ;
+関節炎 > kansetsuen\ ;
+共鳴板 > kyoumeiban\ ;
+宗主国 > soushukoku\ ;
+旧軍人 > kyuugunjin\ ;
+半濁点 > handakuten\ ;
+半長形 > hanchoukei\ ;
+中水道 > chuusuidou\ ;
+選手村 > senshumura\ ;
+印刷用 > insatsuyou\ ;
+霊柩車 > reikyuusha\ ;
+海岸端 > kaiganbata\ ;
+外用薬 > gaiyouyaku\ ;
+紫斑病 > shihanbyou\ ;
+蛸配当 > takohaitou\ ;
+高所病 > koushobyou\ ;
+大小便 > daishouben\ ;
+米国民 > beikokumin\ ;
+吸水性 > kyuusuisei\ ;
+念五日 > nengonichi\ ;
+出来心 > dekigokoro\ ;
+中心部 > chuushinbu\ ;
+生体学 > seitaigaku\ ;
+肯定的 > kouteiteki\ ;
+選択子 > sentakushi\ ;
+動物化 > doubutsuka\ ;
+水平翼 > suiheiyoku\ ;
+貿易業 > bouekigyou\ ;
+腰布団 > koshibuton\ ;
+爆撃機 > bakugekiki\ ;
+言行録 > genkouroku\ ;
+団地族 > danchizoku\ ;
+乱調子 > ranchoushi\ ;
+備蓄米 > bichikumai\ ;
+大乗的 > daijouteki\ ;
+無能力 > munouryoku\ ;
+酪農場 > rakunoujou\ ;
+貨客船 > kakyakusen\ ;
+感染症 > kansenshou\ ;
+真理教 > shinrikyou\ ;
+慈善鍋 > jizen''nabe\ ;
+技術士 > gijutsushi\ ;
+哨戒艇 > shoukaitei\ ;
+酒石酸 > shusekisan\ ;
+敷布団 > shikibuton\ ;
+反則金 > hansokukin\ ;
+有機物 > yuukibutsu\ ;
+抽象画 > chuushouga\ ;
+租借権 > soshakuken\ ;
+内申書 > naishinsho\ ;
+同級生 > doukyuusei\ ;
+向米的 > koubeiteki\ ;
+親衛兵 > shin''eihei\ ;
+仏文科 > futsubunka\ ;
+取引所 > torihikijo\ ;
+電車賃 > denshachin\ ;
+集散地 > shuusanchi\ ;
+綺想曲 > kisoukyoku\ ;
+上調子 > uwachoushi\ ;
+内臓弓 > naizoukyuu\ ;
+半開国 > hankaikoku\ ;
+製造業 > seizougyou\ ;
+追撃機 > tsuigekiki\ ;
+三角筋 > sankakukin\ ;
+等深線 > toushinsen\ ;
+駆動力 > kudouryoku\ ;
+重工業 > juukougyou\ ;
+麻織物 > asaorimono\ ;
+日射病 > nisshabyou\ ;
+熱血児 > nekketsuji\ ;
+金属製 > kinzokusei\ ;
+本契約 > honkeiyaku\ ;
+黄褐色 > oukasshoku\ ;
+購入者 > kounyuusha\ ;
+不精者 > bushoumono\ ;
+主応力 > shuouryoku\ ;
+埼玉勢 > saitamazei\ ;
+重傷者 > juushousha\ ;
+傷害罪 > shougaizai\ ;
+作戦上 > sakusenjou\ ;
+潜水病 > sensuibyou\ ;
+中性紙 > chuuseishi\ ;
+診療所 > shinryoujo\ ;
+日本食 > nihonshoku\ ;
+稼働率 > kadouritsu\ ;
+連合国 > rengoukoku\ ;
+公民学 > koumingaku\ ;
+研究者 > kenkyuusha\ ;
+静水圧 > seisuiatsu\ ;
+登録者 > tourokusha\ ;
+興行界 > kougyoukai\ ;
+準決勝 > junkesshou\ ;
+天王星 > ten''nousei\ ;
+梯子車 > hashigosha\ ;
+三親等 > sanshintou\ ;
+不純物 > fujunbutsu\ ;
+上女中 > kamijochuu\ ;
+鳥取県 > tottoriken\ ;
+重症者 > juushousha\ ;
+貧乏鬮 > binboukuji\ ;
+唯一度 > tadaichido\ ;
+好色家 > koushokuka\ ;
+毛皮商 > kegawashou\ ;
+比較級 > hikakukyuu\ ;
+現在高 > genzaidaka\ ;
+陸海空 > rikukaikuu\ ;
+双眼鏡 > sougankyou\ ;
+駐輪場 > chuurinjou\ ;
+白鉄鉱 > hakutekkou\ ;
+大宮人 > oomiyabito\ ;
+雪合戦 > yukigassen\ ;
+片栗粉 > katakuriko\ ;
+発表会 > happyoukai\ ;
+吐瀉物 > toshabutsu\ ;
+裏表紙 > urabyoushi\ ;
+切断図 > setsudanzu\ ;
+思惑買 > omowakugai\ ;
+観念論 > kan''nenron\ ;
+玉音盤 > gyokuonban\ ;
+反動的 > handouteki\ ;
+救命艇 > kyuumeitei\ ;
+絶対的 > zettaiteki\ ;
+測量図 > sokuryouzu\ ;
+三大国 > sandaikoku\ ;
+地方病 > chihoubyou\ ;
+出版者 > shuppansha\ ;
+供給路 > kyoukyuuro\ ;
+竜涎香 > ryuuzenkou\ ;
+射爆場 > shabakujou\ ;
+測量器 > sokuryouki\ ;
+土俗学 > dozokugaku\ ;
+美女桜 > bijozakura\ ;
+南々東 > nan''nantou\ ;
+人格権 > jinkakuken\ ;
+分解的 > bunkaiteki\ ;
+他覚的 > takakuteki\ ;
+天主教 > tenshukyou\ ;
+雪化粧 > yukigeshou\ ;
+形式美 > keishikibi\ ;
+電通大 > dentsuudai\ ;
+研究社 > kenkyuusha\ ;
+三角点 > sankakuten\ ;
+伝書鳩 > denshobato\ ;
+他覚症 > takakushou\ ;
+消耗戦 > shoumousen\ ;
+仕訳書 > shiwakesho\ ;
+遊休地 > yuukyuuchi\ ;
+反応性 > han''nousei\ ;
+暴走族 > bousouzoku\ ;
+紀元節 > kigensetsu\ ;
+温泉宿 > onsen''yado\ ;
+唐辛子 > tougarashi\ ;
+日中韓 > nitchuukan\ ;
+理解力 > rikairyoku\ ;
+公共財 > koukyouzai\ ;
+検定料 > kenteiryou\ ;
+市長選 > shichousen\ ;
+安普請 > yasubushin\ ;
+水道料 > suidouryou\ ;
+両成敗 > ryouseibai\ ;
+初節句 > hatsuzekku\ ;
+比較的 > hikakuteki\ ;
+国連軍 > kokurengun\ ;
+上級生 > joukyuusei\ ;
+無頓着 > mutonchaku\ ;
+学友会 > gakuyuukai\ ;
+再来月 > saraigetsu\ ;
+後日談 > gojitsudan\ ;
+備荒食 > bikoushoku\ ;
+不行跡 > fugyouseki\ ;
+斜陽族 > shayouzoku\ ;
+青化物 > seikabutsu\ ;
+天王山 > ten''nouzan\ ;
+厄介者 > yakkaimono\ ;
+勇猛心 > yuumoushin\ ;
+武力戦 > buryokusen\ ;
+三角法 > sankakuhou\ ;
+宗教画 > shuukyouga\ ;
+研究生 > kenkyuusei\ ;
+出奔者 > shupponsha\ ;
+収益金 > shuuekikin\ ;
+氷菓子 > koorigashi\ ;
+軽工業 > keikougyou\ ;
+記憶力 > kiokuryoku\ ;
+即興詩 > sokkyoushi\ ;
+古生物 > koseibutsu\ ;
+熱愛者 > netsuaisha\ ;
+天頂点 > tenchouten\ ;
+無資力 > mushiryoku\ ;
+興行権 > kougyouken\ ;
+松根油 > shoukon''yu\ ;
+百済楽 > kudaragaku\ ;
+在任中 > zaininchuu\ ;
+滞在中 > taizaichuu\ ;
+出版社 > shuppansha\ ;
+製茶業 > seichagyou\ ;
+貿易商 > bouekishou\ ;
+国務省 > kokumushou\ ;
+中南米 > chuunanbei\ ;
+桐一葉 > kirihitoha\ ;
+初節供 > hatsuzekku\ ;
+入選者 > nyuusensha\ ;
+縦社会 > tateshakai\ ;
+操縦席 > soujuuseki\ ;
+周旋屋 > shuusen''ya\ ;
+文学士 > bungakushi\ ;
+工学者 > kougakusha\ ;
+古伝説 > kodensetsu\ ;
+印刷工 > insatsukou\ ;
+潜水服 > sensuifuku\ ;
+大主教 > daishukyou\ ;
+上場株 > joujoukabu\ ;
+類型的 > ruikeiteki\ ;
+吹出物 > fukidemono\ ;
+抗真菌 > koushinkin\ ;
+難波潟 > naniwagata\ ;
+租借地 > soshakuchi\ ;
+加農砲 > kan''nonhou\ ;
+造石税 > zoukokuzei\ ;
+駐車場 > chuushajou\ ;
+試算表 > shisanhyou\ ;
+経済学 > keizaigaku\ ;
+急勾配 > kyuukoubai\ ;
+儀式用 > gishikiyou\ ;
+血栓症 > kessenshou\ ;
+伊達姿 > datesugata\ ;
+病原体 > byougentai\ ;
+八分目 > hachibunme\ ;
+解析性 > kaisekisei\ ;
+客観性 > kyakkansei\ ;
+超媒体 > choubaitai\ ;
+水芭蕉 > mizubashou\ ;
+長期的 > choukiteki\ ;
+眼鏡蛇 > meganehebi\ ;
+出版界 > shuppankai\ ;
+弁償金 > benshoukin\ ;
+排外的 > haigaiteki\ ;
+未熟者 > mijukumono\ ;
+分散型 > bunsangata\ ;
+短編集 > tanpenshuu\ ;
+淡路島 > awajishima\ ;
+増殖炉 > zoushokuro\ ;
+下見板 > shitamiita\ ;
+分教場 > bunkyoujou\ ;
+史料館 > shiryoukan\ ;
+血小板 > kesshouban\ ;
+金色堂 > konjikidou\ ;
+漢方薬 > kanpouyaku\ ;
+翻訳家 > hon''yakuka\ ;
+平等観 > byoudoukan\ ;
+検査官 > kenshoukan\ ;
+文学史 > bungakushi\ ;
+変分学 > henbungaku\ ;
+前栽物 > senzaimono\ ;
+強壮剤 > kyousouzai\ ;
+海産業 > kaisangyou\ ;
+献納者 > ken''nousha\ ;
+六連星 > rokurensei\ ;
+勅願寺 > chokuganji\ ;
+伝染病 > densenbyou\ ;
+中華鍋 > chuukanabe\ ;
+天上川 > tenjougawa\ ;
+洋芥子 > yougarashi\ ;
+皆勤賞 > kaikinshou\ ;
+金属片 > kinzokuhen\ ;
+奇術師 > kijutsushi\ ;
+増加率 > zoukaritsu\ ;
+標準型 > hyoujunkei\ ;
+金赤色 > kin''akairo\ ;
+責任感 > sekininkan\ ;
+淋巴節 > rinpasetsu\ ;
+供物台 > kumotsudai\ ;
+米国人 > beikokujin\ ;
+等温式 > touonshiki\ ;
+前任者 > zen''ninsha\ ;
+製造元 > seizoumoto\ ;
+情報量 > jouhouryou\ ;
+消耗品 > shoumouhin\ ;
+両手利 > ryoutekiki\ ;
+蓄電器 > chikudenki\ ;
+対角線 > taikakusen\ ;
+一晩中 > hitobanjuu\ ;
+暗剣殺 > ankensatsu\ ;
+頭足類 > tousokurui\ ;
+在東京 > zaitoukyou\ ;
+棄言葉 > sutekotoba\ ;
+免税表 > menzeihyou\ ;
+国民性 > kokuminsei\ ;
+彫刻家 > choukokuka\ ;
+読書界 > dokushokai\ ;
+使用料 > shiyouryou\ ;
+居留民 > kyoryuumin\ ;
+旋光角 > senkoukaku\ ;
+小間使 > komadzukai\ ;
+角膜炎 > kakumakuen\ ;
+鰭脚類 > kikyakurui\ ;
+鑑識家 > kanshikika\ ;
+興行師 > kougyoushi\ ;
+嬶天下 > kakaadenka\ ;
+固形物 > kokeibutsu\ ;
+紡績糸 > bousekiito\ ;
+吝嗇家 > rinshokuka\ ;
+為替尻 > kawasejiri\ ;
+読者欄 > dokusharan\ ;
+厄介物 > yakkaimono\ ;
+出世作 > shussesaku\ ;
+動摩擦 > doumasatsu\ ;
+部分食 > bubunshoku\ ;
+出版法 > shuppanhou\ ;
+課題曲 > kadaikyoku\ ;
+殺虫剤 > satchuuzai\ ;
+薄雪草 > usuyukisou\ ;
+人体学 > jintaigaku\ ;
+平城京 > heijoukyou\ ;
+三角帽 > sankakubou\ ;
+衝撃波 > shougekiha\ ;
+三角巾 > sankakukin\ ;
+郵送料 > yuusouryou\ ;
+石炭酸 > sekitansan\ ;
+征服者 > seifukusha\ ;
+強行軍 > kyoukougun\ ;
+代表団 > daihyoudan\ ;
+脚本家 > kyakuhonka\ ;
+菓子鉢 > kashibachi\ ;
+直円錐 > chokuensui\ ;
+出版権 > shuppanken\ ;
+再服役 > saifukueki\ ;
+生放送 > namahousou\ ;
+計算尺 > keisanjaku\ ;
+通勤者 > tsuukinsha\ ;
+一塁線 > ichiruisen\ ;
+液量計 > ekiryoukei\ ;
+切支丹 > kirishitan\ ;
+闇市場 > yamishijou\ ;
+障害者 > shougaisha\ ;
+貴族的 > kizokuteki\ ;
+印刷人 > insatsunin\ ;
+海賊船 > kaizokusen\ ;
+南南西 > nan''nansei\ ;
+脳振盪 > noushintou\ ;
+抽象化 > chuushouka\ ;
+講習会 > koushuukai\ ;
+愛玩物 > aiganbutsu\ ;
+麻雀屋 > mazejan''ya\ ;
+伝染毒 > densendoku\ ;
+他国者 > takokumono\ ;
+重層的 > juusouteki\ ;
+五重塔 > gojuunotou\ ;
+下級審 > kakyuushin\ ;
+低所得 > teishotoku\ ;
+専門章 > senmonshou\ ;
+鋳造所 > chuuzousho\ ;
+短時日 > tanjijitsu\ ;
+休業日 > kyuugyoubi\ ;
+先端的 > sentanteki\ ;
+喧嘩腰 > kenkagoshi\ ;
+草双紙 > kusazoushi\ ;
+空想的 > kuusouteki\ ;
+雪達磨 > yukidaruma\ ;
+内交渉 > naikoushou\ ;
+広告社 > koukokusha\ ;
+貨物駅 > kamotsueki\ ;
+貧乏籤 > binbouguji\ ;
+対話式 > taiwashiki\ ;
+共産軍 > kyousangun\ ;
+不承諾 > fushoudaku\ ;
+求人誌 > kyuujinshi\ ;
+鞭毛虫 > benmouchuu\ ;
+簡単服 > kantanfuku\ ;
+中性子 > chuuseishi\ ;
+黒穂病 > kurohobyou\ ;
+分担額 > buntangaku\ ;
+太陽虫 > taiyouchuu\ ;
+暫定的 > zanteiteki\ ;
+代表例 > daihyourei\ ;
+同国民 > doukokumin\ ;
+記念物 > kinenbutsu\ ;
+旧体制 > kyuutaisei\ ;
+南洋材 > nan''youzai\ ;
+非常口 > hijouguchi\ ;
+上表紙 > uwabyoushi\ ;
+面白味 > omoshiromi\ ;
+保存食 > hozonshoku\ ;
+半意識 > han''ishiki\ ;
+本調子 > honchoushi\ ;
+織女星 > shokujosei\ ;
+専門的 > senmonteki\ ;
+報償金 > houshoukin\ ;
+擲弾筒 > tekidantou\ ;
+貧乏神 > binbougami\ ;
+回漕業 > kaisougyou\ ;
+大統領 > daitouryou\ ;
+量子論 > ryoushiron\ ;
+中力粉 > chuurikiko\ ;
+眼鏡猿 > meganezaru\ ;
+業界紙 > gyoukaishi\ ;
+非公式 > hikoushiki\ ;
+水兵服 > suiheifuku\ ;
+貯木場 > chobokujou\ ;
+梯子段 > hashigodan\ ;
+当歳駒 > tousaigoma\ ;
+宗教家 > shuukyouka\ ;
+研究官 > kenkyuukan\ ;
+殉教者 > junkyousha\ ;
+殉難者 > jun''nansha\ ;
+壁訴訟 > kabezoshou\ ;
+玉整理 > gyokuseiri\ ;
+茨城県 > ibarakiken\ ;
+屈曲部 > kukkyokubu\ ;
+褒奨金 > houshoukin\ ;
+消防隊 > shouboutai\ ;
+朧昆布 > oborokonbu\ ;
+看病人 > kanbyounin\ ;
+花電車 > hanadensha\ ;
+地文学 > chimongaku\ ;
+口供書 > koukyousho\ ;
+金属性 > kinzokusei\ ;
+草野球 > kusayakyuu\ ;
+検事局 > kenjikyoku\ ;
+六辺形 > rokuhenkei\ ;
+読者層 > dokushasou\ ;
+催促状 > saisokujou\ ;
+傾斜角 > keishakaku\ ;
+収監状 > shuukanjou\ ;
+地震学 > jishingaku\ ;
+在世中 > zaiseichuu\ ;
+奥座敷 > okuzashiki\ ;
+美術館 > bijutsukan\ ;
+許容量 > kyoyouryou\ ;
+射撃場 > shagekijou\ ;
+後天的 > koutenteki\ ;
+駐屯地 > chuutonchi\ ;
+脳溢血 > nouikketsu\ ;
+存命中 > zonmeichuu\ ;
+系列化 > keiretsuka\ ;
+出版屋 > shuppan''ya\ ;
+審美的 > shinbiteki\ ;
+恒久性 > koukyuusei\ ;
+片貿易 > kataboueki\ ;
+文献学 > bunkengaku\ ;
+時代色 > jidaishoku\ ;
+大大的 > daidaiteki\ ;
+二重橋 > nijuubashi\ ;
+地誌学 > chishigaku\ ;
+化学的 > kagakuteki\ ;
+肉弾戦 > nikudansen\ ;
+一絃琴 > ichigenkin\ ;
+遊牧民 > yuubokumin\ ;
+核実験 > kakujikken\ ;
+貨物車 > kamotsusha\ ;
+求人者 > kyuujinsha\ ;
+地震国 > jishinkoku\ ;
+居留地 > kyoryuuchi\ ;
+障子紙 > shoujigami\ ;
+潜函病 > senkanbyou\ ;
+引率者 > insotsusha\ ;
+海賊版 > kaizokuban\ ;
+信仰者 > shinkousha\ ;
+消防車 > shoubousha\ ;
+三等賞 > santoushou\ ;
+無警察 > mukeisatsu\ ;
+彩色画 > saishokuga\ ;
+勧告者 > kankokusha\ ;
+広告欄 > koukokuran\ ;
+賞金王 > shoukin''ou\ ;
+通知状 > tsuuchijou\ ;
+工作品 > kousakuhin\ ;
+地政学 > chiseigaku\ ;
+太陽神 > taiyoushin\ ;
+継承者 > keishousha\ ;
+乳製品 > nyuuseihin\ ;
+遊撃隊 > yuugekitai\ ;
+卑怯者 > hikyoumono\ ;
+再教育 > saikyouiku\ ;
+国内線 > kokunaisen\ ;
+噛煙草 > kamitabako\ ;
+慈善市 > jizen''ichi\ ;
+回想録 > kaisouroku\ ;
+外交的 > gaikouteki\ ;
+修理中 > shuurichuu\ ;
+三等親 > santoushin\ ;
+地表面 > chihyoumen\ ;
+干渉計 > kanshoukei\ ;
+研究会 > kenkyuukai\ ;
+肖像権 > shouzouken\ ;
+役不足 > yakubusoku\ ;
+注意力 > chuuiryoku\ ;
+腹上死 > fukujoushi\ ;
+編集者 > henshuusha\ ;
+広告板 > koukokuban\ ;
+渉禽類 > shoukinrui\ ;
+倒錯者 > tousakusha\ ;
+水疱瘡 > mizubousou\ ;
+平等権 > byoudouken\ ;
+大震災 > daishinsai\ ;
+重症例 > juushourei\ ;
+地域的 > chiikiteki\ ;
+共産系 > kyousankei\ ;
+開閉橋 > kaiheikyou\ ;
+超電導 > choudendou\ ;
+陳情書 > chinjousho\ ;
+投機熱 > toukinetsu\ ;
+冗談事 > joudankoto\ ;
+最高級 > saikoukyuu\ ;
+思惑師 > omowakushi\ ;
+西日本 > nishinihon\ ;
+近代的 > kindaiteki\ ;
+超大型 > chouoogata\ ;
+砕氷船 > saihyousen\ ;
+漁業法 > gyogyouhou\ ;
+未解決 > mikaiketsu\ ;
+巨人国 > kyojinkoku\ ;
+最小限 > saishougen\ ;
+公共性 > koukyousei\ ;
+無精髭 > bushouhige\ ;
+工学士 > kougakushi\ ;
+酒造業 > shuzougyou\ ;
+色鉛筆 > iroenpitsu\ ;
+火打石 > hiuchiishi\ ;
+醸造業 > jouzougyou\ ;
+単眼鏡 > tangankyou\ ;
+漁業権 > gyogyouken\ ;
+石灯籠 > ishidourou\ ;
+南氷洋 > nanpyouyou\ ;
+鱈場蟹 > tarabagani\ ;
+岡山県 > okayamaken\ ;
+紡績工 > bousekikou\ ;
+起爆薬 > kibakuyaku\ ;
+確認書 > kakuninsho\ ;
+誕生石 > tanjouseki\ ;
+防臭剤 > boushuuzai\ ;
+錫製品 > suzuseihin\ ;
+貨物船 > kamotsusen\ ;
+一塁手 > ichiruishu\ ;
+脚線美 > kyakusenbi\ ;
+有価物 > yuukabutsu\ ;
+植生図 > shokuseizu\ ;
+発情期 > hatsujouki\ ;
+白水社 > hakusuisha\ ;
+採算株 > saisankabu\ ;
+長丁場 > nagachouba\ ;
+有孔虫 > yuukouchuu\ ;
+天然痘 > ten''nentou\ ;
+四拍子 > yonbyoushi\ ;
+冗長系 > jouchoukei\ ;
+日本式 > nihonshiki\ ;
+満年齢 > man''nenrei\ ;
+消防艇 > shouboutei\ ;
+小液胞 > shouekihou\ ;
+首唱者 > shushousha\ ;
+日本平 > nihondaira\ ;
+鉄面皮 > tetsumenpi\ ;
+主権国 > shukenkoku\ ;
+買掛金 > kaikakekin\ ;
+石灰石 > sekkaiseki\ ;
+米問屋 > komedon''ya\ ;
+思想劇 > shisougeki\ ;
+万国民 > bankokumin\ ;
+勧告状 > kankokujou\ ;
+敗北感 > haibokukan\ ;
+密輸船 > mitsuyusen\ ;
+可変翼 > kahen''yoku\ ;
+偏頭痛 > hentoutsuu\ ;
+年齢給 > nenreikyuu\ ;
+透磁率 > toujiritsu\ ;
+厄介事 > yakkaigoto\ ;
+伏射濠 > fukushagou\ ;
+懸壅垂 > ken''yousui\ ;
+界磁極 > kaijikyoku\ ;
+応用力 > ouyouryoku\ ;
+日曜日 > nichiyoubi\ ;
+消防署 > shoubousho\ ;
+貧乏性 > binboushou\ ;
+核崩壊 > kakuhoukai\ ;
+読書会 > dokushokai\ ;
+不潔感 > fuketsukan\ ;
+数学者 > suugakusha\ ;
+聴取者 > choushusha\ ;
+読書人 > dokushojin\ ;
+前任地 > zen''ninchi\ ;
+漁色家 > gyoshokuka\ ;
+製作者 > seisakusha\ ;
+没個性 > botsukosei\ ;
+全店中 > zentenchuu\ ;
+官給品 > kankyuuhin\ ;
+白金族 > hakkinzoku\ ;
+天文学 > tenmongaku\ ;
+兵学者 > heigakusha\ ;
+合唱隊 > gasshoutai\ ;
+不成立 > fuseiritsu\ ;
+献納品 > ken''nouhin\ ;
+細粒分 > sairyuubun\ ;
+猛練習 > mourenshuu\ ;
+例外的 > reigaiteki\ ;
+効率化 > kouritsuka\ ;
+除虫菊 > jochuugiku\ ;
+紅生姜 > benishouga\ ;
+干拓地 > kantakuchi\ ;
+凍傷者 > toushousha\ ;
+南南東 > nan''nantou\ ;
+同国人 > doukokujin\ ;
+目的語 > mokutekigo\ ;
+三国志 > sangokushi\ ;
+人物画 > jinbutsuga\ ;
+吸入器 > kyuunyuuki\ ;
+防寒服 > boukanfuku\ ;
+修院長 > shuuinchou\ ;
+国内法 > kokunaihou\ ;
+探究者 > tankyuusha\ ;
+初心者 > shoshinsha\ ;
+未開発 > mikaihatsu\ ;
+広告塔 > koukokutou\ ;
+開拓者 > kaitakusha\ ;
+人類学 > jinruigaku\ ;
+知日派 > chinichiha\ ;
+最高潮 > saikouchou\ ;
+天然港 > ten''nenkou\ ;
+反逆児 > hangyakuji\ ;
+一国者 > ikkokumono\ ;
+好材料 > kouzairyou\ ;
+太陽暦 > taiyoureki\ ;
+常用癖 > jouyouheki\ ;
+早教育 > soukyouiku\ ;
+格子縞 > koushijima\ ;
+反軍的 > hangunteki\ ;
+薬包紙 > yakuhoushi\ ;
+兵曹長 > heisouchou\ ;
+漢文学 > kanbungaku\ ;
+急先鋒 > kyuusenpou\ ;
+口奇麗 > kuchigirei\ ;
+行政法 > gyouseihou\ ;
+花言葉 > hanakotoba\ ;
+送金額 > soukingaku\ ;
+求婚者 > kyuukonsha\ ;
+再調整 > saichousei\ ;
+風見鶏 > kazamidori\ ;
+執政官 > shisseikan\ ;
+能楽堂 > nougakudou\ ;
+好下物 > koukabutsu\ ;
+双発機 > souhatsuki\ ;
+公共債 > koukyousai\ ;
+昨年来 > sakunenrai\ ;
+提供者 > teikyousha\ ;
+醸造学 > jouzougaku\ ;
+得点圏 > tokutenken\ ;
+審美学 > shinbigaku\ ;
+女便所 > on''nabenjo\ ;
+呉服物 > gofukumono\ ;
+症候群 > shoukougun\ ;
+格子窓 > koushimado\ ;
+文明国 > bunmeikoku\ ;
+行政権 > gyouseiken\ ;
+金木犀 > kinmokusei\ ;
+科学的 > kagakuteki\ ;
+手札型 > tefudagata\ ;
+全般的 > zenpanteki\ ;
+特殊鋼 > tokushukou\ ;
+圧縮性 > asshukusei\ ;
+官房長 > kanbouchou\ ;
+白砂糖 > shirozatou\ ;
+春分点 > shunbunten\ ;
+旧主人 > kyuushujin\ ;
+葉緑素 > youryokuso\ ;
+内面的 > naimenteki\ ;
+肺結核 > haikekkaku\ ;
+回収金 > kaishuukin\ ;
+綿帽子 > wataboushi\ ;
+急進派 > kyuushinha\ ;
+芸術院 > geijutsuin\ ;
+榴弾砲 > ryuudanpou\ ;
+冒険心 > boukenshin\ ;
+可燃物 > kanenbutsu\ ;
+日本一 > nihon''ichi\ ;
+修練者 > shuurensha\ ;
+反射鏡 > hanshakyou\ ;
+二直角 > nichokkaku\ ;
+型変換 > katahenkan\ ;
+去勢牛 > kyoseiushi\ ;
+犯罪学 > hanzaigaku\ ;
+原籍地 > gensekichi\ ;
+性道徳 > seidoutoku\ ;
+平滑化 > heikatsuka\ ;
+郵便箱 > yuubinbako\ ;
+受信料 > jushinryou\ ;
+再組織 > saisoshiki\ ;
+美術界 > bijutsukai\ ;
+不等式 > fudoushiki\ ;
+約定書 > yakujousho\ ;
+三箇日 > sanganichi\ ;
+発祥地 > hasshouchi\ ;
+勝手口 > katteguchi\ ;
+夕食後 > yuushokugo\ ;
+搬入日 > han''nyuubi\ ;
+豪商層 > goushousou\ ;
+奴豆腐 > yakkodoufu\ ;
+感覚論 > kankakuron\ ;
+国産車 > kokusansha\ ;
+不流通 > furyuutsuu\ ;
+橋頭堡 > kyoutouhou\ ;
+夏時間 > natsujikan\ ;
+石炭層 > sekitansou\ ;
+絹一匹 > kinuippiki\ ;
+建白書 > kenpakusho\ ;
+消防法 > shoubouhou\ ;
+中近東 > chuukintou\ ;
+証人台 > shounindai\ ;
+水産業 > suisangyou\ ;
+奇想曲 > kisoukyoku\ ;
+比例式 > hireishiki\ ;
+男所帯 > otokojotai\ ;
+修整版 > shuuseihan\ ;
+冷水浴 > reisuiyoku\ ;
+夏羽織 > natsubaori\ ;
+褒言葉 > homekotoba\ ;
+事務机 > jimudzukue\ ;
+主催国 > shusaikoku\ ;
+大外刈 > oosotogari\ ;
+清算人 > seisan''nin\ ;
+住民票 > juuminhyou\ ;
+無線局 > musenkyoku\ ;
+悪材料 > akuzairyou\ ;
+日照計 > nisshoukei\ ;
+支持率 > shijiritsu\ ;
+二連発 > nirenpatsu\ ;
+具象的 > gushouteki\ ;
+副抵当 > fukuteitou\ ;
+胸膜炎 > kyoumakuen\ ;
+除湿器 > joshitsuki\ ;
+乗換駅 > norikaeeki\ ;
+古本屋 > furuhon''ya\ ;
+巨大症 > kyodaishou\ ;
+知日家 > chinichika\ ;
+白眼視 > hakuganshi\ ;
+照射法 > shoushahou\ ;
+赤信号 > akashingou\ ;
+長方形 > chouhoukei\ ;
+万国史 > bankokushi\ ;
+造兵廠 > zouheishou\ ;
+東京湾 > toukyouwan\ ;
+独創性 > dokusousei\ ;
+放浪癖 > hourouheki\ ;
+行政官 > gyouseikan\ ;
+没趣味 > botsushumi\ ;
+陶酔境 > tousuikyou\ ;
+反射角 > hanshakaku\ ;
+公生涯 > koushougai\ ;
+特効薬 > tokkouyaku\ ;
+多項式 > takoushiki\ ;
+表情筋 > hyoujoukin\ ;
+利益率 > riekiritsu\ ;
+三拍子 > sanbyoushi\ ;
+量販店 > ryouhanten\ ;
+編集子 > henshuushi\ ;
+冗長性 > jouchousei\ ;
+鼻眼鏡 > hanamegane\ ;
+内視鏡 > naishikyou\ ;
+赤翡翠 > akashoubin\ ;
+熱機関 > netsukikan\ ;
+摂護腺 > setsugosen\ ;
+対抗策 > taikousaku\ ;
+近代劇 > kindaigeki\ ;
+徹底的 > tetteiteki\ ;
+歴代史 > rekidaishi\ ;
+早見表 > hayamihyou\ ;
+投射角 > toushakaku\ ;
+監督者 > kantokusha\ ;
+共産圏 > kyousanken\ ;
+実行中 > jikkouchuu\ ;
+猛攻撃 > moukougeki\ ;
+電子殻 > denshikaku\ ;
+村役場 > murayakuba\ ;
+陸軟風 > rikunanpuu\ ;
+政治色 > seijishoku\ ;
+母子草 > hahakogusa\ ;
+特待生 > tokutaisei\ ;
+中盤戦 > chuubansen\ ;
+舞踏靴 > butougutsu\ ;
+大陪審 > daibaishin\ ;
+無縁仏 > muenbotoke\ ;
+認定証 > ninteishou\ ;
+美術書 > bijutsusho\ ;
+計量法 > keiryouhou\ ;
+原振動 > genshindou\ ;
+学芸会 > gakugeikai\ ;
+脂肪心 > shiboushin\ ;
+狸饂飩 > tanukiudon\ ;
+水産庁 > suisanchou\ ;
+合憲的 > goukenteki\ ;
+主体的 > shutaiteki\ ;
+窃盗狂 > settoukyou\ ;
+女一般 > on''naippan\ ;
+決勝線 > kesshousen\ ;
+口上手 > kuchijouzu\ ;
+工場長 > koujouchou\ ;
+旗二流 > hataniryuu\ ;
+即位式 > sokuishiki\ ;
+懐柔策 > kaijuusaku\ ;
+幻想劇 > gensougeki\ ;
+事務室 > jimushitsu\ ;
+超規則 > choukisoku\ ;
+核家族 > kakukazoku\ ;
+夕月夜 > yuudzukeyo\ ;
+大衆車 > daishuusha\ ;
+無籍者 > musekimono\ ;
+日独伊 > nichidokui\ ;
+悪習慣 > akushuukan\ ;
+硫酸銅 > ryuusandou\ ;
+水産学 > suisangaku\ ;
+幸福感 > koufukukan\ ;
+賠償金 > baishoukin\ ;
+共産党 > kyousantou\ ;
+船板塀 > funaitabei\ ;
+全学連 > zengakuren\ ;
+直走路 > chokusouro\ ;
+氷豆腐 > kooridoufu\ ;
+入居者 > nyuukyosha\ ;
+日陰者 > hikagemono\ ;
+絶縁線 > zetsuensen\ ;
+品評会 > hinpyoukai\ ;
+水瓶座 > mizugameza\ ;
+各団体 > kakudantai\ ;
+来来週 > rairaishuu\ ;
+四十雀 > shijuukara\ ;
+通用門 > tsuuyoumon\ ;
+爪楊枝 > tsumayouji\ ;
+散髪屋 > sanpatsuya\ ;
+校正刷 > kouseizuri\ ;
+黒眼鏡 > kuromegane\ ;
+造船業 > zousengyou\ ;
+観劇会 > kangekikai\ ;
+公害病 > kougaibyou\ ;
+受信側 > jushingawa\ ;
+企業心 > kigyoushin\ ;
+修繕工 > shuuzenkou\ ;
+単身銃 > tanshinjuu\ ;
+百年目 > hyakunenme\ ;
+没理想 > botsurisou\ ;
+静脈炎 > joumyakuen\ ;
+全能者 > zen''nousha\ ;
+呉服商 > gofukushou\ ;
+省資源 > shoushigen\ ;
+集合論 > shuugouron\ ;
+禁煙席 > kin''enseki\ ;
+長方体 > chouhoutai\ ;
+受信人 > jushin''nin\ ;
+旗二旒 > hataniryuu\ ;
+急停車 > kyuuteisha\ ;
+糞度胸 > kusodokyou\ ;
+消防士 > shouboushi\ ;
+有理式 > yuurishiki\ ;
+終列車 > shuuressha\ ;
+所有格 > shoyuukaku\ ;
+知覚知 > chikakuchi\ ;
+遊撃手 > yuugekishu\ ;
+解熱剤 > genetsuzai\ ;
+店屋物 > ten''yamono\ ;
+遊撃戦 > yuugekisen\ ;
+山水閣 > sansuikaku\ ;
+説教師 > sekkyoushi\ ;
+島帝国 > touteikoku\ ;
+卑劣漢 > hiretsukan\ ;
+全生涯 > zenshougai\ ;
+全会衆 > zenkaishuu\ ;
+収容者 > shuuyousha\ ;
+解集合 > kaishuugou\ ;
+相対的 > soutaiteki\ ;
+石灰乳 > sekkainyuu\ ;
+共有者 > kyouyuusha\ ;
+指定席 > shiteiseki\ ;
+商品名 > shouhinmei\ ;
+根本的 > konponteki\ ;
+美術展 > bijutsuten\ ;
+縞模様 > shimamoyou\ ;
+消防団 > shouboudan\ ;
+乾葡萄 > hoshibudou\ ;
+羽根車 > haneguruma\ ;
+発動機 > hatsudouki\ ;
+闘牛士 > tougyuushi\ ;
+同情票 > doujouhyou\ ;
+入会金 > nyuukaikin\ ;
+熱硬化 > netsukouka\ ;
+闘牛場 > tougyuujou\ ;
+反対票 > hantaihyou\ ;
+冷却器 > reikyakuki\ ;
+借入金 > kariirekin\ ;
+商品券 > shouhinken\ ;
+歓楽街 > kanrakugai\ ;
+研削盤 > kensakuban\ ;
+本籍地 > honsekichi\ ;
+気欝症 > kiutsushou\ ;
+恋女房 > koinyoubou\ ;
+脳神経 > noushinkei\ ;
+膠原病 > kougenbyou\ ;
+牽制球 > kenseikyuu\ ;
+新造船 > shinzousen\ ;
+感覚点 > kankakuten\ ;
+偽君子 > nisekunshi\ ;
+決勝点 > kesshouten\ ;
+多数決 > tasuuketsu\ ;
+意識的 > ishikiteki\ ;
+反射的 > hanshateki\ ;
+不活発 > fukappatsu\ ;
+受領証 > juryoushou\ ;
+純文学 > junbungaku\ ;
+特急券 > tokkyuuken\ ;
+黄金術 > ougonjutsu\ ;
+仮勘定 > karikanjou\ ;
+霊長類 > reichourui\ ;
+全身像 > zenshinzou\ ;
+密輸品 > mitsuyuhin\ ;
+既設線 > kisetsusen\ ;
+二連式 > nirenshiki\ ;
+減速材 > gensokuzai\ ;
+光磁気 > hikarijiki\ ;
+証明書 > shoumeisho\ ;
+開拓地 > kaitakuchi\ ;
+記述子 > kijutsushi\ ;
+仮免許 > karimenkyo\ ;
+印象的 > inshouteki\ ;
+旧教徒 > kyuukyouto\ ;
+貨物便 > kamotsubin\ ;
+有望株 > yuuboukabu\ ;
+慣例的 > kanreiteki\ ;
+観相学 > kansougaku\ ;
+肉用種 > nikuyoushu\ ;
+基地局 > kichikyoku\ ;
+視神経 > shishinkei\ ;
+適応症 > tekioushou\ ;
+中高生 > chuukousei\ ;
+下準備 > shitajunbi\ ;
+信頼感 > shinraikan\ ;
+発酵乳 > hakkounyuu\ ;
+旅芸人 > tabigeinin\ ;
+人雪崩 > hitonadare\ ;
+主信号 > shushingou\ ;
+信奉者 > shinpousha\ ;
+尺貫法 > shakkanhou\ ;
+美術品 > bijutsuhin\ ;
+通信費 > tsuushinhi\ ;
+信頼性 > shinraisei\ ;
+感覚毛 > kankakumou\ ;
+順応性 > jun''nousei\ ;
+常習者 > joushuusha\ ;
+美術史 > bijutsushi\ ;
+檀那寺 > dan''nadera\ ;
+千歳飴 > chitoseame\ ;
+製材業 > seizaigyou\ ;
+新機軸 > shinkijiku\ ;
+肉饅頭 > nikumanjuu\ ;
+水資源 > mizushigen\ ;
+白鳥座 > hakuchouza\ ;
+百分比 > hyakubunhi\ ;
+試金石 > shikinseki\ ;
+優等賞 > yuutoushou\ ;
+大衆紙 > taishuushi\ ;
+花見時 > hanamidoki\ ;
+塗擦剤 > tosatsuzai\ ;
+木製品 > mokuseihin\ ;
+内角球 > naikakkyuu\ ;
+饒舌家 > jouzetsuka\ ;
+熱処理 > netsushori\ ;
+新幹線 > shinkansen\ ;
+動向表 > doukouhyou\ ;
+交響詩 > koukyoushi\ ;
+挨拶状 > aisatsujou\ ;
+陥没湖 > kanbotsuko\ ;
+不活溌 > fukappatsu\ ;
+信天翁 > shinten''ou\ ;
+起電力 > kidenryoku\ ;
+鎮魂祭 > chinkonsai\ ;
+舶来品 > hakuraihin\ ;
+手塩皿 > teshiozara\ ;
+黒底翳 > kurosokohi\ ;
+学生帽 > gakuseibou\ ;
+水栽培 > mizusaibai\ ;
+営造物 > eizoubutsu\ ;
+日照権 > nisshouken\ ;
+光量子 > kouryoushi\ ;
+万愚節 > bangusetsu\ ;
+能狂言 > noukyougen\ ;
+支持力 > shijiryoku\ ;
+統計表 > toukeihyou\ ;
+先史学 > senshigaku\ ;
+硫酸紙 > ryuusanshi\ ;
+性差別 > seisabetsu\ ;
+本国人 > hongokujin\ ;
+巨視的 > kyoshiteki\ ;
+転轍機 > tentetsuki\ ;
+表忠碑 > hyouchuuhi\ ;
+収賄罪 > shuuwaizai\ ;
+薬剤師 > yakuzaishi\ ;
+後見人 > kouken''nin\ ;
+連用形 > ren''youkei\ ;
+余白注 > yohakuchuu\ ;
+伝統的 > dentouteki\ ;
+親権者 > shinkensha\ ;
+円天井 > marutenjou\ ;
+少年院 > shounen''in\ ;
+歴青炭 > rekiseitan\ ;
+蠏工船 > kanikousen\ ;
+目八分 > mehachibun\ ;
+四十肩 > shijuukata\ ;
+楽観的 > rakkanteki\ ;
+心停止 > shinteishi\ ;
+速射砲 > sokushahou\ ;
+多角的 > takakuteki\ ;
+新建材 > shinkenzai\ ;
+決勝戦 > kesshousen\ ;
+不必要 > fuhitsuyou\ ;
+扁青石 > henseiseki\ ;
+双球菌 > soukyuukin\ ;
+水羊羮 > mizuyoukan\ ;
+抜本的 > bapponteki\ ;
+単発機 > tanpatsuki\ ;
+転送先 > tensousaki\ ;
+入会者 > nyuukaisha\ ;
+丸木船 > marukibune\ ;
+丸木舟 > marukibune\ ;
+希釈液 > kishakueki\ ;
+月曜日 > getsuyoubi\ ;
+最賃法 > saichinhou\ ;
+革新派 > kakushinha\ ;
+探求者 > tankyuusha\ ;
+戦病死 > senbyoushi\ ;
+男性的 > danseiteki\ ;
+乳酸菌 > nyuusankin\ ;
+前照灯 > zenshoutou\ ;
+腸捻転 > chounenten\ ;
+親分株 > oyabunkabu\ ;
+学用品 > gakuyouhin\ ;
+特殊性 > tokushusei\ ;
+単色画 > tanshokuga\ ;
+仕立券 > shitateken\ ;
+陰弁慶 > kagebenkei\ ;
+混血児 > konketsuji\ ;
+販売元 > hanbaimoto\ ;
+常習犯 > joushuuhan\ ;
+清涼剤 > seiryouzai\ ;
+最小値 > saishouchi\ ;
+水族館 > suizokukan\ ;
+共犯者 > kyouhansha\ ;
+寿司飯 > sushimeshi\ ;
+急転換 > kyuutenkan\ ;
+招待状 > shoutaijou\ ;
+打撲傷 > dabokushou\ ;
+特待券 > tokutaiken\ ;
+毒人参 > dokuninjin\ ;
+天竺葵 > tenjikuaoi\ ;
+女世帯 > on''najotai\ ;
+人間的 > ningenteki\ ;
+診断書 > shindansho\ ;
+蘚苔学 > sentaigaku\ ;
+原稿料 > genkouryou\ ;
+監督官 > kantokukan\ ;
+商務省 > shoumushou\ ;
+宣告書 > senkokusho\ ;
+夜夜中 > yoruyonaka\ ;
+通信簿 > tsuushinbo\ ;
+堆積岩 > taisekigan\ ;
+抑留所 > yokuryuujo\ ;
+撞木杖 > shumokuzue\ ;
+黄金率 > ougonritsu\ ;
+堆積層 > taisekisou\ ;
+合唱団 > gasshoudan\ ;
+好敵手 > koutekishu\ ;
+文章題 > bunshoudai\ ;
+金物屋 > kanamonoya\ ;
+団菊祭 > dangikusai\ ;
+緩衝液 > kanshoueki\ ;
+寄宿舎 > kishukusha\ ;
+潜望鏡 > senboukyou\ ;
+新左翼 > shinsayoku\ ;
+遡及的 > sokyuuteki\ ;
+同情心 > doujoushin\ ;
+下稽古 > shitageiko\ ;
+競争者 > kyousousha\ ;
+商店街 > shoutengai\ ;
+玉手箱 > tamatebako\ ;
+上半身 > jouhanshin\ ;
+測定法 > sokuteihou\ ;
+降圧剤 > kouatsuzai\ ;
+急傾斜 > kyuukeisha\ ;
+両棲類 > ryouseirui\ ;
+最上級 > saijoukyuu\ ;
+偃月刀 > engetsutou\ ;
+看護卒 > kangosotsu\ ;
+罫線表 > keisenhyou\ ;
+針土竜 > harimogura\ ;
+灯台守 > toudaimori\ ;
+仮免状 > karimenjou\ ;
+弾薬庫 > dan''yakuko\ ;
+合法的 > gouhouteki\ ;
+挫折感 > zasetsukan\ ;
+干葡萄 > hoshibudou\ ;
+赤新聞 > akashinbun\ ;
+膠着語 > kouchakugo\ ;
+終止形 > shuushikei\ ;
+出港船 > shukkousen\ ;
+輸入額 > yunyuugaku\ ;
+甲殻類 > koukakurui\ ;
+障壁画 > shouhekiga\ ;
+溶接機 > yousetsuki\ ;
+乗組員 > norikumiin\ ;
+腎臓病 > jinzoubyou\ ;
+可搬式 > kahanshiki\ ;
+健筆家 > kenpitsuka\ ;
+正中線 > seichuusen\ ;
+千年間 > sen''nenkan\ ;
+棒磁石 > boujishaku\ ;
+観賞魚 > kanshougyo\ ;
+神学校 > shingakkou\ ;
+作業服 > sagyoufuku\ ;
+発着所 > hatchakujo\ ;
+親近感 > shinkinkan\ ;
+乱泥流 > randeiryuu\ ;
+当直員 > touchokuin\ ;
+統計的 > toukeiteki\ ;
+芸術家 > geijutsuka\ ;
+玄関先 > genkansaki\ ;
+深海魚 > shinkaigyo\ ;
+同志的 > doushiteki\ ;
+価千金 > ataisenkin\ ;
+九回戦 > kyuukaisen\ ;
+半永久 > han''eikyuu\ ;
+雑役婦 > zatsuekifu\ ;
+冷凍業 > reitougyou\ ;
+両生類 > ryouseirui\ ;
+儒教的 > jukyouteki\ ;
+揚陸艦 > yourikukan\ ;
+重謹慎 > juukinshin\ ;
+凍豆腐 > shimidoufu\ ;
+永谷園 > nagatanien\ ;
+二槽式 > nisoushiki\ ;
+相乗積 > soujouseki\ ;
+菌類学 > kinruigaku\ ;
+雑役夫 > zatsuekifu\ ;
+新刊書 > shinkansho\ ;
+青少年 > seishounen\ ;
+推進者 > suishinsha\ ;
+列席者 > ressekisha\ ;
+国産品 > kokusanhin\ ;
+懐旧談 > kaikyuudan\ ;
+枯草熱 > kosounetsu\ ;
+中甲板 > chuukanpan\ ;
+綿実油 > menjitsuyu\ ;
+埋伏歯 > maifukushi\ ;
+内緒事 > naishogoto\ ;
+一等卒 > ittousotsu\ ;
+神代杉 > jindaisugi\ ;
+値嵩株 > negasakabu\ ;
+政治力 > seijiryoku\ ;
+答申書 > toushinsho\ ;
+乱心者 > ranshinsha\ ;
+人間業 > ningenwaza\ ;
+共謀者 > kyoubousha\ ;
+来賓席 > raihinseki\ ;
+舞踏曲 > butoukyoku\ ;
+修行者 > shugyousha\ ;
+島根県 > shimaneken\ ;
+強硬論 > kyoukouron\ ;
+法治国 > houchikoku\ ;
+不得策 > futokusaku\ ;
+在米中 > zaibeichuu\ ;
+匿名性 > tokumeisei\ ;
+登山靴 > tozangutsu\ ;
+座敷牢 > zashikirou\ ;
+神格化 > shinkakuka\ ;
+赤外線 > sekigaisen\ ;
+薬用酒 > yakuyoushu\ ;
+結核菌 > kekkakukin\ ;
+草履虫 > zourimushi\ ;
+大衆性 > taishuusei\ ;
+寄宿生 > kishukusei\ ;
+昇汞水 > shoukousui\ ;
+武者慄 > mushaburui\ ;
+文章論 > bunshouron\ ;
+特選品 > tokusenhin\ ;
+近親者 > kinshinsha\ ;
+複数形 > fukusuukei\ ;
+幽邃境 > yuusuikyou\ ;
+再投票 > saitouhyou\ ;
+不活動 > fukatsudou\ ;
+全寮制 > zenryousei\ ;
+追悼会 > tsuitoukai\ ;
+白兵戦 > hakuheisen\ ;
+請求権 > seikyuuken\ ;
+忠霊塔 > chuureitou\ ;
+隙間風 > sukimakaze\ ;
+共有地 > kyouyuuchi\ ;
+片為替 > katagawase\ ;
+緩衝弁 > kanshouben\ ;
+宿根草 > shukkonsou\ ;
+大立者 > oodatemono\ ;
+泰山木 > taisanboku\ ;
+抽籤券 > chuusenken\ ;
+糸状虫 > shijouchuu\ ;
+絶縁体 > zetsuentai\ ;
+青果物 > seikabutsu\ ;
+里言葉 > satokotoba\ ;
+購読者 > koudokusha\ ;
+売買高 > baibaidaka\ ;
+挺進隊 > teishintai\ ;
+脱水症 > dassuishou\ ;
+勧進帳 > kanjinchou\ ;
+拡張化 > kakuchouka\ ;
+殺人鬼 > satsujinki\ ;
+流動性 > ryuudousei\ ;
+四重唱 > shijuushou\ ;
+教育者 > kyouikusha\ ;
+反対側 > hantaigawa\ ;
+琴一張 > kotoitchou\ ;
+内在的 > naizaiteki\ ;
+三段跳 > sandantobi\ ;
+飛躍的 > hiyakuteki\ ;
+手長猿 > tenagazaru\ ;
+老眼鏡 > rougankyou\ ;
+仮処分 > karishobun\ ;
+全人格 > zenjinkaku\ ;
+分泌物 > bunpibutsu\ ;
+請求書 > seikyuusho\ ;
+不決断 > fuketsudan\ ;
+先先週 > sensenshuu\ ;
+致命的 > chimeiteki\ ;
+乳石英 > nyuusekiei\ ;
+財政学 > zaiseigaku\ ;
+管弦楽 > kangengaku\ ;
+飲食店 > inshokuten\ ;
+紙製品 > kamiseihin\ ;
+黄金律 > ougonritsu\ ;
+法律案 > houritsuan\ ;
+半盲症 > hanmoushou\ ;
+硝酸銀 > shousangin\ ;
+防総省 > bousoushou\ ;
+逆比例 > gyakuhirei\ ;
+投書箱 > toushobako\ ;
+城下町 > joukamachi\ ;
+特別委 > tokubetsui\ ;
+村芝居 > murashibai\ ;
+継息子 > mamamusuko\ ;
+発信音 > hasshin''on\ ;
+四死球 > shishikyuu\ ;
+献金箱 > kenkinbako\ ;
+戦略家 > senryakuka\ ;
+公聴会 > kouchoukai\ ;
+気鬱症 > kiutsushou\ ;
+複数回 > fukusuukai\ ;
+会計学 > kaikeigaku\ ;
+簡略化 > kanryakuka\ ;
+給電線 > kyuudensen\ ;
+吉祥天 > kisshouten\ ;
+御影石 > mikageishi\ ;
+内国産 > naikokusan\ ;
+雪月花 > setsugekka\ ;
+私書箱 > shishobako\ ;
+直映館 > chokueikan\ ;
+病理学 > byourigaku\ ;
+復刻版 > fukkokuban\ ;
+退廃的 > taihaiteki\ ;
+人間学 > ningengaku\ ;
+下着類 > shitagirui\ ;
+唐変木 > touhenboku\ ;
+線撮影 > sensatsuei\ ;
+新生面 > shinseimen\ ;
+数日後 > suujitsugo\ ;
+超合金 > chougoukin\ ;
+多国籍 > takokuseki\ ;
+積算法 > sekisanhou\ ;
+外為法 > gaitamehou\ ;
+出品者 > shuppinsha\ ;
+覚醒剤 > kakuseizai\ ;
+高山蝶 > kouzanchou\ ;
+近縁属 > kin''enzoku\ ;
+上達部 > kandachime\ ;
+可鍛鉄 > katantetsu\ ;
+心理的 > shinriteki\ ;
+乗換券 > norikaeken\ ;
+教育界 > kyouikukai\ ;
+陰極線 > inkyokusen\ ;
+半艇身 > hanteishin\ ;
+親兄弟 > oyakyoudai\ ;
+旅館業 > ryokangyou\ ;
+学期末 > gakkimatsu\ ;
+到来物 > touraimono\ ;
+沖仲仕 > okinakashi\ ;
+外国製 > gaikokusei\ ;
+終盤戦 > shuubansen\ ;
+逆光線 > gyakkousen\ ;
+象徴派 > shouchouha\ ;
+勧進元 > kanjinmoto\ ;
+魚類学 > gyoruigaku\ ;
+縞瑪瑙 > shimamenou\ ;
+真空管 > shinkuukan\ ;
+舎利別 > sharibetsu\ ;
+京阪神 > keihanshin\ ;
+慣習法 > kanshuuhou\ ;
+頭陀袋 > zudabukuro\ ;
+陰極管 > inkyokukan\ ;
+混和物 > konwabutsu\ ;
+刀鍛冶 > katanakaji\ ;
+潜伏性 > senpukusei\ ;
+招待券 > shoutaiken\ ;
+受難節 > junansetsu\ ;
+測定値 > sokuteichi\ ;
+化粧紙 > keshougami\ ;
+大憲章 > daikenshou\ ;
+単色光 > tanshokkou\ ;
+甲殻綱 > koukakukou\ ;
+集合体 > shuugoutai\ ;
+立往生 > tachioujou\ ;
+子宮頸 > shikyuukei\ ;
+経験的 > keikenteki\ ;
+化粧箱 > keshoubako\ ;
+二番星 > nibanboshi\ ;
+法律家 > houritsuka\ ;
+洗濯板 > sentakuita\ ;
+滑沢剤 > kattakuzai\ ;
+対称性 > taishousei\ ;
+少年法 > shounenhou\ ;
+徳川家 > tokugawake\ ;
+流動体 > ryuudoutai\ ;
+終刊号 > shuukangou\ ;
+監修者 > kanshuusha\ ;
+共編者 > kyouhensha\ ;
+統計学 > toukeigaku\ ;
+輪郭線 > rinkakusen\ ;
+軍艦鳥 > gunkandori\ ;
+商船隊 > shousentai\ ;
+超満員 > chouman''in\ ;
+片手鍋 > katatenabe\ ;
+股関節 > kokansetsu\ ;
+調味料 > choumiryou\ ;
+又小作 > matakosaku\ ;
+不正直 > fushoujiki\ ;
+洪積層 > kousekisou\ ;
+検圧器 > ken''atsuki\ ;
+染物屋 > somemonoya\ ;
+配膳人 > haizen''nin\ ;
+境界線 > kyoukaisen\ ;
+静物画 > seibutsuga\ ;
+教育法 > kyouikuhou\ ;
+収集魔 > shuushuuma\ ;
+離職者 > rishokusha\ ;
+報奨金 > houshoukin\ ;
+股間節 > kokansetsu\ ;
+牧師館 > bokushikan\ ;
+占領軍 > senryougun\ ;
+中生代 > chuuseidai\ ;
+下半期 > shimohanki\ ;
+教会法 > kyoukaihou\ ;
+原水爆 > gensuibaku\ ;
+刺繍糸 > shishuuito\ ;
+搭乗橋 > toujoukyou\ ;
+石鹸箱 > sekkenbako\ ;
+回転軸 > kaitenjiku\ ;
+刻一刻 > kokuikkoku\ ;
+創造的 > souzouteki\ ;
+痴呆症 > chihoushou\ ;
+排水量 > haisuiryou\ ;
+各情報 > kakujouhou\ ;
+核文法 > kakubunpou\ ;
+大々的 > daidaiteki\ ;
+売上高 > uriagedaka\ ;
+深成岩 > shinseigan\ ;
+胸三寸 > munesanzun\ ;
+得意客 > tokuikyaku\ ;
+徴兵制 > chouheisei\ ;
+性本能 > seihon''nou\ ;
+休診日 > kyuushinbi\ ;
+執金鋼 > shikkongou\ ;
+竜皮巻 > ryuuhimaki\ ;
+回帰熱 > kaikinetsu\ ;
+祝賀会 > shukugakai\ ;
+生活費 > seikatsuhi\ ;
+法務局 > houmukyoku\ ;
+中学校 > chuugakkou\ ;
+月見草 > tsukimisou\ ;
+通俗化 > tsuuzokuka\ ;
+直交性 > chokkousei\ ;
+稲熱病 > imochibyou\ ;
+高踏的 > koutouteki\ ;
+給料日 > kyuuryoubi\ ;
+万年青 > man''nensei\ ;
+小前提 > shouzentei\ ;
+六三制 > rokusansei\ ;
+造林学 > zouringaku\ ;
+全責任 > zensekinin\ ;
+照明弾 > shoumeidan\ ;
+愛国心 > aikokushin\ ;
+石鹸皿 > sekkenzara\ ;
+予定説 > yoteisetsu\ ;
+脳硬塞 > noukousoku\ ;
+総大将 > soudaishou\ ;
+始末屋 > shimatsuya\ ;
+国有林 > kokuyuurin\ ;
+薬学部 > yakugakubu\ ;
+批判力 > hihanryoku\ ;
+等身大 > toushindai\ ;
+総攻撃 > soukougeki\ ;
+高山病 > kouzanbyou\ ;
+五月祭 > gogatsusai\ ;
+軍楽隊 > gungakutai\ ;
+三重唱 > sanjuushou\ ;
+南京豆 > nankinmame\ ;
+曲馬師 > kyokubashi\ ;
+副司令 > fukushirei\ ;
+昼日中 > hiruhinaka\ ;
+常識家 > joushikika\ ;
+言葉尻 > kotobajiri\ ;
+肺浸潤 > haishinjun\ ;
+耕作者 > kousakusha\ ;
+同心円 > doushin''en\ ;
+致死量 > chishiryou\ ;
+弁証論 > benshouron\ ;
+新登場 > shintoujou\ ;
+強力粉 > kyourikiko\ ;
+予備室 > yobishitsu\ ;
+店頭株 > tentoukabu\ ;
+発射薬 > hasshayaku\ ;
+化粧水 > keshoumizu\ ;
+十進法 > jisshinhou\ ;
+文筆家 > bunpitsuka\ ;
+従量税 > juuryouzei\ ;
+瓦屋根 > kawarayane\ ;
+関係調 > kankeichou\ ;
+唯心論 > yuishinron\ ;
+励振管 > reishinkan\ ;
+全日空 > zen''nikkuu\ ;
+二枚腰 > nimaigoshi\ ;
+流刑地 > ryuukeichi\ ;
+洪積世 > kousekisei\ ;
+震災地 > shinsaichi\ ;
+眼軟膏 > gan''nankou\ ;
+水晶体 > suishoutai\ ;
+点滅器 > tenmetsuki\ ;
+兄弟分 > kyoudaibun\ ;
+金門橋 > kinmonkyou\ ;
+景勝地 > keishouchi\ ;
+内接円 > naisetsuen\ ;
+生活苦 > seikatsuku\ ;
+東照宮 > toushouguu\ ;
+受難曲 > junankyoku\ ;
+対流圏 > tairyuuken\ ;
+危険物 > kikenbutsu\ ;
+研修生 > kenshuusei\ ;
+近親婚 > kinshinkon\ ;
+交読文 > koudokubun\ ;
+脳卒中 > nousotchuu\ ;
+焼死体 > shoushitai\ ;
+一神教 > isshinkyou\ ;
+派出所 > hashutsujo\ ;
+振動計 > shindoukei\ ;
+屈折語 > kussetsugo\ ;
+曲馬団 > kyokubadan\ ;
+注射液 > chuushaeki\ ;
+福禄寿 > fukurokuju\ ;
+紙吹雪 > kamifubuki\ ;
+仲介者 > chuukaisha\ ;
+集配人 > shuuhainin\ ;
+定礎式 > teisoshiki\ ;
+裁判長 > saibanchou\ ;
+電話局 > denwakyoku\ ;
+俸祿米 > hourokumai\ ;
+花吹雪 > hanafubuki\ ;
+兵糧米 > hyouroumai\ ;
+角細工 > tsunozaiku\ ;
+輸送力 > yusouryoku\ ;
+林野庁 > rin''yachou\ ;
+支配的 > shihaiteki\ ;
+太鼓橋 > taikobashi\ ;
+箔力粉 > hakurikiko\ ;
+獅子鼻 > shishibana\ ;
+連隊長 > rentaichou\ ;
+端末機 > tanmatsuki\ ;
+吹奏楽 > suisougaku\ ;
+熱射病 > nesshabyou\ ;
+徳用瓶 > tokuyoubin\ ;
+天津神 > amatsukami\ ;
+降水量 > kousuiryou\ ;
+出金者 > shukkinsha\ ;
+典型的 > tenkeiteki\ ;
+中枢性 > chuusuusei\ ;
+迷彩服 > meisaifuku\ ;
+住宅難 > juutakunan\ ;
+化粧料 > keshouryou\ ;
+心理学 > shinrigaku\ ;
+芳名録 > houmeiroku\ ;
+動力炉 > douryokuro\ ;
+小児病 > shounibyou\ ;
+少年団 > shounendan\ ;
+全面的 > zenmenteki\ ;
+小市民 > shoushimin\ ;
+副次的 > fukujiteki\ ;
+椎間板 > tsuikanban\ ;
+課税率 > kazeiritsu\ ;
+郵政省 > yuuseishou\ ;
+夏場所 > natsubasho\ ;
+厚化粧 > atsugeshou\ ;
+二人組 > futarigumi\ ;
+致命傷 > chimeishou\ ;
+副都心 > fukutoshin\ ;
+発案者 > hatsuansha\ ;
+強力犯 > gourikihan\ ;
+洗濯代 > sentakudai\ ;
+遊泳術 > yuueijutsu\ ;
+製陶業 > seitougyou\ ;
+球座標 > kyuuzahyou\ ;
+占有権 > sen''yuuken\ ;
+沈丁花 > chinchouge\ ;
+葡萄牙 > porutogaru\ ;
+教会堂 > kyoukaidou\ ;
+支店長 > shitenchou\ ;
+御年玉 > otoshidama\ ;
+西洋葱 > seiyounegi\ ;
+瓜実顔 > urizanegao\ ;
+真空帯 > shinkuutai\ ;
+追送検 > tsuisouken\ ;
+未決監 > miketsukan\ ;
+普通株 > futsuukabu\ ;
+商店主 > shoutenshu\ ;
+採石場 > saisekijou\ ;
+牢名主 > rounanushi\ ;
+累進税 > ruishinzei\ ;
+大競争 > daikyousou\ ;
+森林法 > shinrinhou\ ;
+同郷人 > doukyoujin\ ;
+派出婦 > hashutsufu\ ;
+内国債 > naikokusai\ ;
+支度金 > shitakukin\ ;
+再浸礼 > saishinrei\ ;
+国有地 > kokuyuuchi\ ;
+親展書 > shintensho\ ;
+廉恥心 > renchishin\ ;
+皆既食 > kaikishoku\ ;
+転居先 > tenkyosaki\ ;
+連絡駅 > renrakueki\ ;
+電話口 > denwaguchi\ ;
+精勤賞 > seikinshou\ ;
+健忘症 > kenboushou\ ;
+教会史 > kyoukaishi\ ;
+少年会 > shounenkai\ ;
+贋手紙 > nisetegami\ ;
+出征軍 > shusseigun\ ;
+計画者 > keikakusha\ ;
+散文的 > sanbunteki\ ;
+挺身隊 > teishintai\ ;
+友好的 > yuukouteki\ ;
+召喚状 > shoukanjou\ ;
+認証者 > ninshousha\ ;
+年産額 > nensangaku\ ;
+換算表 > kanzanhyou\ ;
+沖縄県 > okinawaken\ ;
+救世軍 > kyuuseigun\ ;
+満足感 > manzokukan\ ;
+奉公先 > houkousaki\ ;
+電報料 > denpouryou\ ;
+荒事師 > aragotoshi\ ;
+桃源郷 > tougenkyou\ ;
+蓮月尼 > rengetsuni\ ;
+羽斑蚊 > hamadaraka\ ;
+私書函 > shishobako\ ;
+朴念仁 > bokunenjin\ ;
+子宮癌 > shikyuugan\ ;
+磁力計 > jiryokukei\ ;
+根粒菌 > konryuukin\ ;
+縦旋盤 > tatesenban\ ;
+市役所 > shiyakusho\ ;
+検流計 > kenryuukei\ ;
+即売会 > sokubaikai\ ;
+延人員 > nobejin''in\ ;
+調合剤 > chougouzai\ ;
+要確認 > youkakunin\ ;
+常緑樹 > jouryokuju\ ;
+選球眼 > senkyuugan\ ;
+石合戦 > ishigassen\ ;
+封建的 > houkenteki\ ;
+駐在所 > chuuzaisho\ ;
+世帯主 > setainushi\ ;
+平常心 > heijoushin\ ;
+豆台風 > mametaifuu\ ;
+鉱山業 > kouzangyou\ ;
+構文木 > koubunmoku\ ;
+参謀長 > sanbouchou\ ;
+写真館 > shashinkan\ ;
+戦時色 > senjishoku\ ;
+住宅街 > juutakugai\ ;
+頓珍漢 > tonchinkan\ ;
+弱酸性 > jakusansei\ ;
+中仕切 > nakajikiri\ ;
+初舞台 > hatsubutai\ ;
+写真顔 > shashingao\ ;
+南京玉 > nankindama\ ;
+船籍港 > sensekikou\ ;
+燐灰石 > rinkaiseki\ ;
+一年間 > ichinenkan\ ;
+非接触 > hisesshoku\ ;
+持続的 > jizokuteki\ ;
+営業中 > eigyouchuu\ ;
+超過額 > choukagaku\ ;
+預貸率 > yotairitsu\ ;
+代用肉 > daiyouniku\ ;
+時系列 > jikeiretsu\ ;
+子供服 > kodomofuku\ ;
+警視庁 > keishichou\ ;
+免疫性 > men''ekisei\ ;
+系統的 > keitouteki\ ;
+軍用金 > gun''youkin\ ;
+荒仕事 > arashigoto\ ;
+登山客 > tozankyaku\ ;
+低賃金 > teichingin\ ;
+侵害者 > shingaisha\ ;
+売上票 > uriagepyou\ ;
+放送劇 > housougeki\ ;
+日程表 > nitteihyou\ ;
+副葬品 > fukusouhin\ ;
+挿入文 > sounyuubun\ ;
+初学者 > shogakusha\ ;
+教習所 > kyoushuujo\ ;
+入場門 > nyuujoumon\ ;
+官庁街 > kanchougai\ ;
+規則的 > kisokuteki\ ;
+小冊子 > shousasshi\ ;
+輻射線 > fukushasen\ ;
+十進制 > jisshinsei\ ;
+複製品 > fukuseihin\ ;
+蟹工船 > kanikousen\ ;
+森林帯 > shinrintai\ ;
+結晶系 > kesshoukei\ ;
+無秩序 > muchitsujo\ ;
+主観的 > shukanteki\ ;
+破壊力 > hakairyoku\ ;
+三毛作 > sanmousaku\ ;
+桧皮葺 > hiwadabuki\ ;
+力織機 > rikishokki\ ;
+六面体 > rokumentai\ ;
+白人種 > hakujinshu\ ;
+汎神論 > hanshinron\ ;
+仮定款 > kariteikan\ ;
+納税額 > nouzeigaku\ ;
+諸外国 > shogaikoku\ ;
+外接円 > gaisetsuen\ ;
+製紙業 > seishigyou\ ;
+鉛直線 > enchokusen\ ;
+心電計 > shindenkei\ ;
+福利表 > fukurihyou\ ;
+微生物 > biseibutsu\ ;
+宝石店 > housekiten\ ;
+創業者 > sougyousha\ ;
+革製品 > kawaseihin\ ;
+平年作 > heinensaku\ ;
+生態学 > seitaigaku\ ;
+猿芝居 > sarushibai\ ;
+場外株 > jougaikabu\ ;
+弁証法 > benshouhou\ ;
+協定書 > kyouteisho\ ;
+五旬節 > gojunsetsu\ ;
+初任給 > shoninkyuu\ ;
+陸曹等 > rikusoutou\ ;
+好成績 > kouseiseki\ ;
+通有性 > tsuuyuusei\ ;
+聴導犬 > choudouken\ ;
+磁力線 > jiryokusen\ ;
+離婚率 > rikonritsu\ ;
+硝酸塩 > shousan''en\ ;
+再確認 > saikakunin\ ;
+発案権 > hatsuanken\ ;
+皆既蝕 > kaikishoku\ ;
+酪製品 > rakuseihin\ ;
+土性骨 > doshoubone\ ;
+避妊薬 > hinin''yaku\ ;
+発生学 > hasseigaku\ ;
+人種的 > jinshuteki\ ;
+磁石盤 > jishakuban\ ;
+大蔵経 > daizoukyou\ ;
+河原鶸 > kawarahiwa\ ;
+留置場 > ryuuchijou\ ;
+通風孔 > tsuufuukou\ ;
+要求者 > youkyuusha\ ;
+製糸業 > seishigyou\ ;
+知恵袋 > chiebukuro\ ;
+紙鉄砲 > kamideppou\ ;
+初飛行 > hatsuhikou\ ;
+登山口 > tozanguchi\ ;
+貯水量 > chosuiryou\ ;
+社会鍋 > shakainabe\ ;
+殊勲賞 > shukunshou\ ;
+運動靴 > undougutsu\ ;
+交際国 > kousaikoku\ ;
+八文字 > hachimonji\ ;
+開発部 > kaihatsubu\ ;
+調印国 > chouinkoku\ ;
+相続税 > souzokuzei\ ;
+蝋人形 > rouningyou\ ;
+人名録 > jinmeiroku\ ;
+落第生 > rakudaisei\ ;
+凝灰岩 > gyoukaigan\ ;
+利付債 > ritsukisai\ ;
+体腔壁 > taikouheki\ ;
+指掌紋 > shishoumon\ ;
+奇跡的 > kisekiteki\ ;
+蛋白源 > tanpakugen\ ;
+断末魔 > danmatsuma\ ;
+詳伝社 > shoudensha\ ;
+葬儀式 > sougishiki\ ;
+損害額 > songaigaku\ ;
+鉄鋼業 > tekkougyou\ ;
+一弦琴 > ichigenkin\ ;
+暗紫色 > anshishoku\ ;
+先任順 > sen''ninjun\ ;
+好戦的 > kousenteki\ ;
+防長官 > bouchoukan\ ;
+水圧計 > suiatsukei\ ;
+外国勢 > gaikokuzei\ ;
+韓国人 > kankokujin\ ;
+敢闘賞 > kantoushou\ ;
+毒見役 > dokumiyaku\ ;
+機内食 > kinaishoku\ ;
+裏番組 > urabangumi\ ;
+国防論 > kokubouron\ ;
+官求品 > kankyuuhin\ ;
+国際線 > kokusaisen\ ;
+貸金庫 > kashikinko\ ;
+速記術 > sokkijutsu\ ;
+国言葉 > kunikotoba\ ;
+匐行疹 > fukkoushin\ ;
+町工場 > machikouba\ ;
+至急便 > shikyuubin\ ;
+宝冠章 > houkanshou\ ;
+製糖業 > seitougyou\ ;
+若旦那 > wakadan''na\ ;
+挑戦者 > chousensha\ ;
+鉄鉱石 > tekkouseki\ ;
+横隔膜 > oukakumaku\ ;
+同業者 > dougyousha\ ;
+活用語 > katsuyougo\ ;
+深呼吸 > shinkokyuu\ ;
+三番鶏 > sanbandori\ ;
+判任官 > han''ninkan\ ;
+出勤者 > shukkinsha\ ;
+外国債 > gaikokusai\ ;
+連絡船 > renrakusen\ ;
+落第点 > rakudaiten\ ;
+進行相 > shinkousou\ ;
+三番鳥 > sanbandori\ ;
+決定的 > ketteiteki\ ;
+肉料理 > nikuryouri\ ;
+文法的 > bunpouteki\ ;
+国文法 > kokubunpou\ ;
+超弩級 > choudokyuu\ ;
+大蔵省 > ookurashou\ ;
+感情的 > kanjouteki\ ;
+乗合船 > noriaibune\ ;
+徳用品 > tokuyouhin\ ;
+燃料棒 > nenryoubou\ ;
+二日酔 > futsukayoi\ ;
+神経系 > shinkeikei\ ;
+仮議長 > karigichou\ ;
+独断論 > dokudanron\ ;
+外国人 > gaikokujin\ ;
+珍糞漢 > chinpunkan\ ;
+振動板 > shindouban\ ;
+主教冠 > shukyoukan\ ;
+正教師 > seikyoushi\ ;
+細菌学 > saikingaku\ ;
+耕作地 > kousakuchi\ ;
+改進党 > kaishintou\ ;
+三分搗 > sanbutsuki\ ;
+休閑地 > kyuukanchi\ ;
+軍用艦 > gun''youkan\ ;
+新聞紙 > shinbunshi\ ;
+輻射点 > fukushaten\ ;
+世俗的 > sezokuteki\ ;
+重圧感 > juuatsukan\ ;
+豆鉄砲 > mamedeppou\ ;
+優秀品 > yuushuuhin\ ;
+金融界 > kin''yuukai\ ;
+傍聴券 > bouchouken\ ;
+貯金箱 > chokinbako\ ;
+国境線 > kokkyousen\ ;
+蚕糸業 > sanshigyou\ ;
+一年草 > ichinensou\ ;
+高密度 > koumitsudo\ ;
+免疫体 > men''ekitai\ ;
+磁気嵐 > jikiarashi\ ;
+振動数 > shindousuu\ ;
+大礼服 > taireifuku\ ;
+改良種 > kairyoushu\ ;
+北国人 > hokkokujin\ ;
+連絡線 > renrakusen\ ;
+牢役人 > rouyakunin\ ;
+内祝言 > naishuugen\ ;
+半身像 > hanshinzou\ ;
+大黒天 > daikokuten\ ;
+不分割 > fubunkatsu\ ;
+西北西 > seihokusei\ ;
+中世史 > chuuseishi\ ;
+怒髪天 > dohatsuten\ ;
+反革命 > hankakumei\ ;
+新聞社 > shinbunsha\ ;
+一機軸 > ichikijiku\ ;
+集魚灯 > shuugyotou\ ;
+雪見酒 > yukimizake\ ;
+坊主頭 > bouzuatama\ ;
+先験的 > senkenteki\ ;
+闇給与 > yamikyuuyo\ ;
+傍聴人 > bouchounin\ ;
+事実上 > jijitsujou\ ;
+義侠心 > gikyoushin\ ;
+用水堀 > yousuibori\ ;
+仮普請 > karibushin\ ;
+占領地 > senryouchi\ ;
+寝装品 > shinsouhin\ ;
+町内会 > chounaikai\ ;
+同盟国 > doumeikoku\ ;
+発育期 > hatsuikuki\ ;
+誓約書 > seiyakusho\ ;
+発展中 > hattenchuu\ ;
+茶番的 > chabanteki\ ;
+特産品 > tokusanhin\ ;
+製粉業 > seifungyou\ ;
+消去法 > shoukyohou\ ;
+肛門学 > koumongaku\ ;
+大司教 > daishikyou\ ;
+妄想症 > mousoushou\ ;
+御用達 > goyoudatsu\ ;
+展示物 > tenjibutsu\ ;
+自殺者 > jisatsusha\ ;
+射幸心 > shakoushin\ ;
+作曲家 > sakkyokuka\ ;
+公教会 > koukyoukai\ ;
+計画性 > keikakusei\ ;
+切迫感 > seppakukan\ ;
+丸天井 > marutenjou\ ;
+枢密院 > suumitsuin\ ;
+四六判 > shirokuban\ ;
+追体験 > tsuitaiken\ ;
+入場者 > nyuujousha\ ;
+半病人 > hanbyounin\ ;
+捜索隊 > sousakutai\ ;
+友好国 > yuukoukoku\ ;
+殿上人 > tenjoubito\ ;
+截断機 > setsudanki\ ;
+無水物 > musuibutsu\ ;
+健康的 > kenkouteki\ ;
+新体操 > shintaisou\ ;
+空中線 > kuuchuusen\ ;
+田舎道 > inakamichi\ ;
+波乃花 > naminohana\ ;
+偶像教 > guuzoukyou\ ;
+神話学 > shinwagaku\ ;
+相続権 > souzokuken\ ;
+性教育 > seikyouiku\ ;
+前哨線 > zenshousen\ ;
+独奏者 > dokusousha\ ;
+赤血球 > sekkekkyuu\ ;
+天台宗 > tendaishuu\ ;
+軍楽手 > gungakushu\ ;
+軍艦巻 > gunkanmaki\ ;
+暗褐色 > ankasshoku\ ;
+逆作用 > gyakusayou\ ;
+挑戦状 > chousenjou\ ;
+検量線 > kenryousen\ ;
+網杓子 > amijakushi\ ;
+再注文 > saichuumon\ ;
+内反足 > naihansoku\ ;
+社用族 > shayouzoku\ ;
+年少者 > nenshousha\ ;
+新生代 > shinseidai\ ;
+保管物 > hokanbutsu\ ;
+優勝者 > yuushousha\ ;
+改良点 > kairyouten\ ;
+給排水 > kyuuhaisui\ ;
+天眼鏡 > tengankyou\ ;
+三連勝 > sanrenshou\ ;
+不発弾 > fuhatsudan\ ;
+半官的 > hankanteki\ ;
+振動子 > shindoushi\ ;
+活発化 > kappatsuka\ ;
+収集家 > shuushuuka\ ;
+酸化鉄 > sankatetsu\ ;
+新人王 > shinjin''ou\ ;
+延日数 > nobenissuu\ ;
+奉献頌 > houkenshou\ ;
+貸店舗 > kashitenpo\ ;
+二人共 > futaritomo\ ;
+収斂剤 > shuurenzai\ ;
+国際法 > kokusaihou\ ;
+高学年 > kougakunen\ ;
+核災害 > kakusaigai\ ;
+伽草子 > togizoushi\ ;
+煽情的 > senjouteki\ ;
+認証官 > ninshoukan\ ;
+養蚕業 > yousangyou\ ;
+火山脈 > kazanmyaku\ ;
+菜種殻 > natanegara\ ;
+避暑客 > hishokyaku\ ;
+汎心論 > hanshinron\ ;
+書評欄 > shohyouran\ ;
+入場税 > nyuujouzei\ ;
+試作車 > shisakusha\ ;
+獄中記 > gokuchuuki\ ;
+乳兄弟 > chikyoudai\ ;
+二七日 > futananoka\ ;
+正教会 > seikyoukai\ ;
+先生方 > senseigata\ ;
+草雲雀 > kusahibari\ ;
+侍従職 > jijuushoku\ ;
+地形学 > chikeigaku\ ;
+一直線 > itchokusen\ ;
+天眼通 > tengantsuu\ ;
+仲買人 > nakagainin\ ;
+薬理学 > yakurigaku\ ;
+国文専 > kokubunsen\ ;
+一年生 > ichinensei\ ;
+定式化 > teishikika\ ;
+商業化 > shougyouka\ ;
+一輪車 > ichirinsha\ ;
+滲炭鋼 > shintankou\ ;
+軍用犬 > gun''youken\ ;
+六角堂 > rokkakudou\ ;
+床暖房 > yukadanbou\ ;
+筆不精 > fudebushou\ ;
+公証人 > koushounin\ ;
+薄力粉 > hakurikiko\ ;
+牧草地 > bokusouchi\ ;
+属性値 > zokuseichi\ ;
+解毒薬 > gedokuyaku\ ;
+満期日 > mankijitsu\ ;
+名作選 > meisakusen\ ;
+商用文 > shouyoubun\ ;
+国語学 > kokugogaku\ ;
+可及的 > kakyuuteki\ ;
+写真班 > shashinhan\ ;
+一元論 > ichigenron\ ;
+調剤師 > chouzaishi\ ;
+単三形 > tansangata\ ;
+甲冑師 > katchuushi\ ;
+先任者 > sen''ninsha\ ;
+曲線美 > kyokusenbi\ ;
+公約数 > kouyakusuu\ ;
+熱狂者 > nekkyousha\ ;
+水紋学 > suimongaku\ ;
+人種学 > jinshugaku\ ;
+残忍性 > zan''ninsei\ ;
+相関的 > soukanteki\ ;
+写真版 > shashinban\ ;
+生息地 > seisokuchi\ ;
+知性的 > chiseiteki\ ;
+未発達 > mihattatsu\ ;
+開幕戦 > kaimakusen\ ;
+後配株 > kouhaikabu\ ;
+停泊地 > teihakuchi\ ;
+罹患率 > rikanritsu\ ;
+進行形 > shinkoukei\ ;
+道徳上 > doutokujou\ ;
+社会的 > shakaiteki\ ;
+震源地 > shingenchi\ ;
+星雲説 > seiunsetsu\ ;
+河原者 > kawaramono\ ;
+溺死者 > dekishisha\ ;
+海商法 > kaishouhou\ ;
+理髪店 > rihatsuten\ ;
+革命軍 > kakumeigun\ ;
+書誌学 > shoshigaku\ ;
+理髪師 > rihatsushi\ ;
+世俗心 > sezokushin\ ;
+適任者 > tekininsha\ ;
+変圧所 > hen''atsujo\ ;
+漢民族 > kanminzoku\ ;
+適用性 > tekiyousei\ ;
+直談判 > jikadanpan\ ;
+背信者 > haishinsha\ ;
+筆耕料 > hikkouryou\ ;
+伝法肌 > denbouhada\ ;
+繊毛虫 > senmouchuu\ ;
+競売人 > kyoubainin\ ;
+作詞者 > sakushisha\ ;
+安死術 > anshijutsu\ ;
+機動力 > kidouryoku\ ;
+最終回 > saishuukai\ ;
+主要国 > shuyoukoku\ ;
+反陽子 > han''youshi\ ;
+内向的 > naikouteki\ ;
+防潮堤 > bouchoutei\ ;
+液晶盤 > ekishouban\ ;
+神経戦 > shinkeisen\ ;
+黄八丈 > kihachijou\ ;
+表二階 > omotenikai\ ;
+試験的 > shikenteki\ ;
+屠殺場 > tosatsujou\ ;
+旅支度 > tabijitaku\ ;
+書簡集 > shokanshuu\ ;
+好戦国 > kousenkoku\ ;
+営林局 > eirinkyoku\ ;
+無重力 > mujuuryoku\ ;
+遺失者 > ishitsusha\ ;
+生得権 > seitokuken\ ;
+米騒動 > komesoudou\ ;
+新体制 > shintaisei\ ;
+血清学 > kesseigaku\ ;
+部長閲 > buchouetsu\ ;
+夜想曲 > yasoukyoku\ ;
+概念的 > gainenteki\ ;
+空中権 > kuuchuuken\ ;
+周遊券 > shuuyuuken\ ;
+創作者 > sousakusha\ ;
+含糖量 > gantouryou\ ;
+倹約家 > ken''yakuka\ ;
+出張所 > shutchoujo\ ;
+管理職 > kanrishoku\ ;
+恐怖症 > kyoufushou\ ;
+政略家 > seiryakuka\ ;
+公衆網 > koushuumou\ ;
+入場権 > nyuujouken\ ;
+督戦隊 > tokusentai\ ;
+千羽鶴 > senbadzuru\ ;
+住宅地 > juutakuchi\ ;
+内惑星 > naiwakusei\ ;
+真正直 > mashoujiki\ ;
+季節風 > kisetsufuu\ ;
+低学年 > teigakunen\ ;
+学籍簿 > gakusekibo\ ;
+立体鏡 > rittaikyou\ ;
+二項式 > nikoushiki\ ;
+百日紅 > sarusuberi\ ;
+軍略家 > gunryakuka\ ;
+民譚集 > mindanshuu\ ;
+慰問袋 > imonbukuro\ ;
+消石灰 > shousekkai\ ;
+単一化 > tan''itsuka\ ;
+専用車 > sen''yousha\ ;
+仕舞物 > shimaimono\ ;
+大白鳥 > oohakuchou\ ;
+緩徐曲 > kanjokyoku\ ;
+刀剣商 > toukenshou\ ;
+伽芝居 > togishibai\ ;
+夜々中 > yoruyonaka\ ;
+気象庁 > kishouchou\ ;
+瀝青炭 > rekiseitan\ ;
+一円玉 > ichiendama\ ;
+獅子宮 > shishikyuu\ ;
+巡洋艦 > jun''youkan\ ;
+必需品 > hitsujuhin\ ;
+不信用 > fushin''you\ ;
+測地線 > sokuchisen\ ;
+高木層 > koubokusou\ ;
+桃源境 > tougenkyou\ ;
+表層性 > hyousousei\ ;
+出席簿 > shussekibo\ ;
+親王妃 > shin''nouhi\ ;
+配給系 > haikyuukei\ ;
+変圧器 > hen''atsuki\ ;
+実体鏡 > jittaikyou\ ;
+優勝杯 > yuushouhai\ ;
+適不適 > tekifuteki\ ;
+社交的 > shakouteki\ ;
+配給米 > haikyuumai\ ;
+書記局 > shokikyoku\ ;
+贈収賄 > zoushuuwai\ ;
+凸凹紙 > totsuoushi\ ;
+裁判人 > saiban''nin\ ;
+今道心 > imadoushin\ ;
+紹介者 > shoukaisha\ ;
+空中戦 > kuuchuusen\ ;
+気象学 > kishougaku\ ;
+相続人 > souzokunin\ ;
+被告席 > hikokuseki\ ;
+乳脂肪 > nyuushibou\ ;
+農牧地 > noubokuchi\ ;
+悪戯子 > itazurakko\ ;
+射的場 > shatekijou\ ;
+前哨戦 > zenshousen\ ;
+法学者 > hougakusha\ ;
+全国紙 > zenkokushi\ ;
+救難船 > kyuunansen\ ;
+金融債 > kin''yuusai\ ;
+上載圧 > jousaiatsu\ ;
+口喧嘩 > kuchigenka\ ;
+成人病 > seijinbyou\ ;
+花水木 > hanamizuki\ ;
+造園術 > zouenjutsu\ ;
+乳腺炎 > nyuusen''en\ ;
+海流瓶 > kairyuubin\ ;
+分光学 > bunkougaku\ ;
+民主的 > minshuteki\ ;
+精白糖 > seihakutou\ ;
+無機質 > mukishitsu\ ;
+通話料 > tsuuwaryou\ ;
+改良品 > kairyouhin\ ;
+精白米 > seihakumai\ ;
+快削鋼 > kaisakukou\ ;
+日向水 > hinatamizu\ ;
+扇情的 > senjouteki\ ;
+陪審員 > baishin''in\ ;
+師団長 > shidanchou\ ;
+組職体 > soshokutai\ ;
+果実酒 > kajitsushu\ ;
+婿養子 > mukoyoushi\ ;
+写真師 > shashinshi\ ;
+下検査 > shitakensa\ ;
+風邪薬 > kazegusuri\ ;
+優勝戦 > yuushousen\ ;
+連続体 > renzokutai\ ;
+天刑病 > tenkeibyou\ ;
+半翅目 > hanshimoku\ ;
+茶番劇 > chabangeki\ ;
+写真屋 > shashin''ya\ ;
+良導体 > ryoudoutai\ ;
+救世主 > kyuuseishu\ ;
+沓手鳥 > hototogisu\ ;
+未着手 > michakushu\ ;
+作詩法 > sakushihou\ ;
+真魚鰹 > managatsuo\ ;
+出張員 > shutchouin\ ;
+人力車 > jinrikisha\ ;
+国際人 > kokusaijin\ ;
+測長機 > sokuchouki\ ;
+小主観 > shoushukan\ ;
+実践的 > jissenteki\ ;
+連結器 > renketsuki\ ;
+耐久性 > taikyuusei\ ;
+杉並木 > suginamiki\ ;
+終了後 > shuuryougo\ ;
+天道様 > tentousama\ ;
+撮影隊 > satsueitai\ ;
+花菖蒲 > hanashoubu\ ;
+検眼鏡 > kengankyou\ ;
+酸化物 > sankabutsu\ ;
+小作料 > kosakuryou\ ;
+庶民的 > shominteki\ ;
+輪舞曲 > rinbukyoku\ ;
+凍結器 > touketsuki\ ;
+夏蜜柑 > natsumikan\ ;
+等方的 > touhouteki\ ;
+岩清水 > iwashimizu\ ;
+立案者 > ritsuansha\ ;
+著述家 > chojutsuka\ ;
+脳梅毒 > noubaidoku\ ;
+軍用品 > gun''youhin\ ;
+僕仲間 > bokunakama\ ;
+難視聴 > nanshichou\ ;
+徳義心 > tokugishin\ ;
+刺激性 > shigekisei\ ;
+連絡先 > renrakusen\ ;
+近海物 > kinkaimono\ ;
+東洋通 > touyoutsuu\ ;
+鉄砲玉 > teppoudama\ ;
+価格表 > kakakuhyou\ ;
+調停者 > chouteisha\ ;
+歴史観 > rekishikan\ ;
+建築費 > kenchikuhi\ ;
+人情劇 > ninjougeki\ ;
+多神教 > tashinkyou\ ;
+前哨地 > zenshouchi\ ;
+一度丈 > ichidodake\ ;
+連絡会 > renrakukai\ ;
+一般職 > ippanshoku\ ;
+社会学 > shakaigaku\ ;
+偵察機 > teisatsuki\ ;
+寝台車 > shindaisha\ ;
+年代物 > nendaimono\ ;
+両替人 > ryougaenin\ ;
+合格者 > goukakusha\ ;
+専用線 > sen''yousen\ ;
+帯域幅 > taiikihaba\ ;
+初一念 > shoichinen\ ;
+紹介状 > shoukaijou\ ;
+消毒器 > shoudokuki\ ;
+旦那衆 > dan''nashuu\ ;
+堅信礼 > kenshinrei\ ;
+官公庁 > kankouchou\ ;
+聴聞僧 > choumonsou\ ;
+太平楽 > taiheiraku\ ;
+両天秤 > ryoutenbin\ ;
+孔雀石 > kujakuseki\ ;
+創作権 > sousakuken\ ;
+色事師 > irogotoshi\ ;
+降魔術 > koumajutsu\ ;
+少資本 > shoushihon\ ;
+資産株 > shisankabu\ ;
+恐怖心 > kyoufushin\ ;
+実験的 > jikkenteki\ ;
+使徒達 > shitotachi\ ;
+安酒場 > yasusakaba\ ;
+聴聞会 > choumonkai\ ;
+育児食 > ikujishoku\ ;
+男便所 > otokobenjo\ ;
+首実検 > kubijikken\ ;
+細胞膜 > saiboumaku\ ;
+名人肌 > meijinhada\ ;
+小学校 > shougakkou\ ;
+旧藩主 > kyuuhanshu\ ;
+民有林 > min''yuurin\ ;
+赤鉄鉱 > sekitekkou\ ;
+本草学 > honzougaku\ ;
+修正者 > shuuseisha\ ;
+風速計 > fuusokukei\ ;
+潜在的 > senzaiteki\ ;
+変拍子 > henbyoushi\ ;
+旧思想 > kyuushisou\ ;
+雑木林 > zoubokurin\ ;
+入場券 > nyuujouken\ ;
+戦闘的 > sentouteki\ ;
+終電車 > shuudensha\ ;
+背美鯨 > semikujira\ ;
+穴杓子 > anajakushi\ ;
+一年中 > ichinenjuu\ ;
+鉄砲水 > teppoumizu\ ;
+全国民 > zenkokumin\ ;
+人口学 > jinkougaku\ ;
+直滑降 > chokkakkou\ ;
+上申書 > joushinsho\ ;
+針千本 > harisenbon\ ;
+三業地 > sangyouchi\ ;
+並大抵 > namitaitei\ ;
+白雲石 > hakuunseki\ ;
+欠席者 > kessekisha\ ;
+引当金 > hikiatekin\ ;
+装飾音 > soushokuon\ ;
+視聴者 > shichousha\ ;
+乳臭児 > nyuushuuji\ ;
+手沢本 > shutakubon\ ;
+警戒心 > keikaishin\ ;
+中国語 > chuugokugo\ ;
+入手難 > nyuushunan\ ;
+電流計 > denryuukei\ ;
+山梔子 > kuchinashi\ ;
+君主国 > kunshukoku\ ;
+音楽学 > ongakugaku\ ;
+錯字症 > sakujishou\ ;
+大盤石 > daibanjaku\ ;
+分子量 > bunshiryou\ ;
+一番茶 > ichibancha\ ;
+遅刻者 > chikokusha\ ;
+再発足 > saihossoku\ ;
+対蹠的 > taishoteki\ ;
+槍術家 > soujutsuka\ ;
+歌謡曲 > kayoukyoku\ ;
+活人画 > katsujinga\ ;
+二言目 > futakotome\ ;
+原子量 > genshiryou\ ;
+大幅物 > oohabamono\ ;
+独奏会 > dokusoukai\ ;
+脱臭剤 > dasshuuzai\ ;
+快速船 > kaisokusen\ ;
+生殖器 > seishokuki\ ;
+車中談 > shachuudan\ ;
+鎮静剤 > chinseizai\ ;
+合併症 > gappeishou\ ;
+懇親会 > konshinkai\ ;
+牽牛星 > kengyuusei\ ;
+刺激剤 > shigekizai\ ;
+茶柄杓 > chabishaku\ ;
+有神論 > yuushinron\ ;
+命中数 > meichuusuu\ ;
+方解石 > houkaiseki\ ;
+売掛金 > urikakekin\ ;
+超巨星 > choukyosei\ ;
+立体的 > rittaiteki\ ;
+白昼夢 > hakuchuumu\ ;
+新記録 > shinkiroku\ ;
+注解者 > chuukaisha\ ;
+保釈金 > hoshakukin\ ;
+反粒子 > hanryuushi\ ;
+下足料 > gesokuryou\ ;
+注文書 > chuumonsho\ ;
+化合物 > kagoubutsu\ ;
+屋形船 > yakatabune\ ;
+運動力 > undouryoku\ ;
+銘銘皿 > meimeizara\ ;
+黒曜岩 > kokuyougan\ ;
+原作者 > gensakusha\ ;
+兵站学 > heitangaku\ ;
+細密画 > saimitsuga\ ;
+一番線 > ichibansen\ ;
+半人前 > han''ninmae\ ;
+脳梗塞 > noukousoku\ ;
+劇場街 > gekijougai\ ;
+来々週 > rairaishuu\ ;
+決議権 > ketsugiken\ ;
+劃一化 > kakuitsuka\ ;
+一槽式 > issoushiki\ ;
+宅急便 > takkyuubin\ ;
+老人病 > roujinbyou\ ;
+合格点 > goukakuten\ ;
+試供品 > shikyouhin\ ;
+中堅手 > chuukenshu\ ;
+葛饅頭 > kuzumanjuu\ ;
+接客婦 > sekkyakufu\ ;
+活字本 > katsujihon\ ;
+霍公鳥 > hototogisu\ ;
+問題劇 > mondaigeki\ ;
+聴講生 > choukousei\ ;
+賽銭箱 > saisenbako\ ;
+提唱者 > teishousha\ ;
+噴飯物 > funpanmono\ ;
+分極化 > bunkyokuka\ ;
+管理局 > kanrikyoku\ ;
+角錐台 > kakusuidai\ ;
+福岡県 > fukuokaken\ ;
+独壇場 > dokudanjou\ ;
+仲間褒 > nakamabome\ ;
+随想録 > zuisouroku\ ;
+撮影者 > satsueisha\ ;
+如菩薩 > nyobosatsu\ ;
+命中弾 > meichuudan\ ;
+真分数 > shinbunsuu\ ;
+雇用主 > koyounushi\ ;
+鉄砲弾 > teppoudama\ ;
+屯田兵 > tondenhei\ ;
+敵部隊 > tekibutai\ ;
+抵当権 > teitouken\ ;
+村夫子 > sonpuushi\ ;
+揚水車 > yousuisha\ ;
+救援軍 > kyuuengun\ ;
+育毛剤 > ikumouzai\ ;
+黒頭巾 > kurozukin\ ;
+解毒剤 > gedokuzai\ ;
+高姿勢 > koushisei\ ;
+屋台店 > yataimise\ ;
+起磁力 > kijiryoku\ ;
+原生林 > genseirin\ ;
+歴史画 > rekishiga\ ;
+前半生 > zenhansei\ ;
+存在論 > sonzairon\ ;
+希望的 > kibouteki\ ;
+人工雷 > jinkourai\ ;
+専用機 > sen''youki\ ;
+度量衡 > doryoukou\ ;
+党大会 > toutaikai\ ;
+同乗者 > doujousha\ ;
+労動者 > roudousha\ ;
+単数型 > tansuukei\ ;
+従兄弟 > juukeitei\ ;
+齧歯類 > gesshirui\ ;
+冠木門 > kabukimon\ ;
+付属品 > fuzokuhin\ ;
+訪問者 > houmonsha\ ;
+発頭人 > hottounin\ ;
+文選工 > bunsenkou\ ;
+同居人 > doukyonin\ ;
+参詣人 > sankeinin\ ;
+役員会 > yakuinkai\ ;
+孤立語 > koritsugo\ ;
+生菓子 > namagashi\ ;
+勘定書 > kanjousho\ ;
+開催地 > kaisaichi\ ;
+落後者 > rakugosha\ ;
+男子校 > danshikou\ ;
+一苦労 > hitokurou\ ;
+催涙弾 > sairuidan\ ;
+統治権 > touchiken\ ;
+禁転載 > kintensai\ ;
+港湾税 > kouwanzei\ ;
+不寛容 > fukan''you\ ;
+不信仰 > fushinkou\ ;
+太公望 > taikoubou\ ;
+丸括弧 > marugakko\ ;
+外向性 > gaikousei\ ;
+不足前 > tarazumae\ ;
+二国間 > nikokukan\ ;
+会葬者 > kaisousha\ ;
+福寿草 > fukujusou\ ;
+法曹界 > housoukai\ ;
+運輸省 > un''yushou\ ;
+運輸相 > un''yushou\ ;
+乗車駅 > joushaeki\ ;
+朝鮮語 > chousengo\ ;
+革命家 > kakumeika\ ;
+機密費 > kimitsuhi\ ;
+人造米 > jinzoumai\ ;
+洋品店 > youhinten\ ;
+個人的 > kojinteki\ ;
+一元化 > ichigenka\ ;
+伝道船 > dendousen\ ;
+圧迫感 > appakukan\ ;
+予防策 > yobousaku\ ;
+若隠居 > wakainkyo\ ;
+定住者 > teijuusha\ ;
+水溶性 > suiyousei\ ;
+遺言書 > yuigonsho\ ;
+代燃車 > dainensha\ ;
+変成岩 > henseigan\ ;
+一定量 > itteiryou\ ;
+苦灰石 > kukaiseki\ ;
+左心房 > sashinbou\ ;
+輪番制 > rinbansei\ ;
+請願者 > seigansha\ ;
+圧迫性 > appakusei\ ;
+羅生門 > rashoumon\ ;
+個人用 > kojin''you\ ;
+享受者 > kyoujusha\ ;
+御足労 > gosokurou\ ;
+爬虫類 > hachuurui\ ;
+迷信家 > meishinka\ ;
+書簡文 > shokanbun\ ;
+許可証 > kyokashou\ ;
+民主党 > minshutou\ ;
+太刀先 > tachisaki\ ;
+伝道者 > dendousha\ ;
+監視船 > kanshisen\ ;
+縄暖簾 > nawanoren\ ;
+綿製品 > menseihin\ ;
+出走馬 > shussouba\ ;
+二階建 > nikaidate\ ;
+修正案 > shuuseian\ ;
+宣伝戦 > sendensen\ ;
+請負業 > ukeoigyou\ ;
+類人猿 > ruijin''en\ ;
+合理的 > gouriteki\ ;
+勝負師 > shoubushi\ ;
+糸蚯蚓 > itomimizu\ ;
+延長戦 > enchousen\ ;
+土建業 > dokengyou\ ;
+贈呈品 > zouteihin\ ;
+金鉱地 > kinkouchi\ ;
+昼御飯 > hirugohan\ ;
+蒙古襞 > moukohida\ ;
+半月刊 > hangekkan\ ;
+県民税 > kenminzei\ ;
+扇動者 > sendousha\ ;
+集会所 > shuukaijo\ ;
+木工場 > mokkoujou\ ;
+洒落者 > sharemono\ ;
+戦闘帽 > sentoubou\ ;
+夕化粧 > yuugeshou\ ;
+可動堰 > kadouzeki\ ;
+大年増 > ootoshima\ ;
+法理学 > hourigaku\ ;
+黄頷蛇 > aodaishou\ ;
+透明体 > toumeitai\ ;
+故障車 > koshousha\ ;
+監視者 > kanshisha\ ;
+弁慶草 > benkeisou\ ;
+存在者 > sonzaisha\ ;
+全国区 > zenkokuku\ ;
+天皇旗 > ten''nouki\ ;
+官僚化 > kanryouka\ ;
+既得権 > kitokuken\ ;
+光線銃 > kousenjuu\ ;
+仮面劇 > kamengeki\ ;
+機械的 > kikaiteki\ ;
+熨斗紙 > noshigami\ ;
+写植機 > shashokki\ ;
+本体論 > hontairon\ ;
+発声法 > hasseihou\ ;
+給湯器 > kyuutouki\ ;
+遊興費 > yuukyouhi\ ;
+平安京 > heiankyou\ ;
+生欠伸 > namaakubi\ ;
+送付先 > soufusaki\ ;
+外野席 > gaiyaseki\ ;
+立体戦 > rittaisen\ ;
+監視網 > kanshimou\ ;
+月水金 > gessuikin\ ;
+正投手 > seitoushu\ ;
+遠赤外 > ensekigai\ ;
+指示薬 > shijiyaku\ ;
+信号機 > shingouki\ ;
+井戸車 > idoguruma\ ;
+有名税 > yuumeizei\ ;
+立体感 > rittaikan\ ;
+優先権 > yuusenken\ ;
+実験場 > jikkenjou\ ;
+牡丹餅 > botamochi\ ;
+経団連 > keidanren\ ;
+断頭台 > dantoudai\ ;
+予約者 > yoyakusha\ ;
+終夜灯 > shuuyatou\ ;
+暗黒面 > ankokumen\ ;
+宣伝屋 > senden''ya\ ;
+代替品 > daitaihin\ ;
+炭酸塩 > tansan''en\ ;
+下宿屋 > geshukuya\ ;
+補給線 > hokyuusen\ ;
+名人戦 > meijinsen\ ;
+一般席 > ippanseki\ ;
+遭難者 > sounansha\ ;
+原子砲 > genshihou\ ;
+倒置法 > touchihou\ ;
+照準器 > shoujunki\ ;
+原住民 > genjuumin\ ;
+聖公会 > seikoukai\ ;
+原産地 > gensanchi\ ;
+革命児 > kakumeiji\ ;
+優駿馬 > yuushunba\ ;
+主情論 > shujouron\ ;
+骨董品 > kottouhin\ ;
+管財人 > kanzainin\ ;
+演劇界 > engekikai\ ;
+銀閣寺 > ginkakuji\ ;
+風鳥座 > fuuchouza\ ;
+挟瞼器 > kyoukenki\ ;
+教授法 > kyoujuhou\ ;
+電気釜 > denkigama\ ;
+電気量 > denkiryou\ ;
+点光源 > tenkougen\ ;
+日刊紙 > nikkanshi\ ;
+間狂言 > aikyougen\ ;
+老人性 > roujinsei\ ;
+計数管 > keisuukan\ ;
+金利鞘 > kinrishou\ ;
+仮政府 > kariseifu\ ;
+現代版 > gendaiban\ ;
+低姿勢 > teishisei\ ;
+急降下 > kyuukouka\ ;
+信号旗 > shingouki\ ;
+童話劇 > douwageki\ ;
+実験台 > jikkendai\ ;
+水成岩 > suiseigan\ ;
+御寮人 > goryounin\ ;
+自身番 > jishinban\ ;
+砂時計 > sunadokei\ ;
+血達磨 > chidaruma\ ;
+養鶏場 > youkeijou\ ;
+脱走兵 > dassouhei\ ;
+荘園制 > shouensei\ ;
+前半戦 > zenpansen\ ;
+訓詁学 > kunkogaku\ ;
+車井戸 > kurumaido\ ;
+外務省 > gaimushou\ ;
+新時代 > shinjidai\ ;
+渉外部 > shougaibu\ ;
+感光紙 > kankoushi\ ;
+撮影機 > satsueiki\ ;
+一生涯 > isshougai\ ;
+水源地 > suigenchi\ ;
+整流器 > seiryuuki\ ;
+銀行界 > ginkoukai\ ;
+現住所 > genjuusho\ ;
+前口上 > maekoujou\ ;
+地対空 > chitaikuu\ ;
+第一集 > daiisshuu\ ;
+天皇家 > ten''nouke\ ;
+給油船 > kyuuyusen\ ;
+代書人 > daishonin\ ;
+創始者 > soushisha\ ;
+価格帯 > kakakutai\ ;
+場所柄 > bashogara\ ;
+信号所 > shingoujo\ ;
+悪循環 > akujunkan\ ;
+実験値 > jikkenchi\ ;
+不風流 > bufuuryuu\ ;
+宣伝員 > senden''in\ ;
+除電針 > jodenbari\ ;
+衛生学 > eiseigaku\ ;
+発見者 > hakkensha\ ;
+法王庁 > hououchou\ ;
+一番手 > ichibante\ ;
+限界点 > genkaiten\ ;
+板目紙 > itamegami\ ;
+愁嘆場 > shuutanba\ ;
+花相撲 > hanazumou\ ;
+歯科学 > shikagaku\ ;
+仕事着 > shigotogi\ ;
+光文社 > koubunsha\ ;
+高燥地 > kousouchi\ ;
+農地法 > nouchihou\ ;
+葛根湯 > kakkontou\ ;
+光電管 > koudenkan\ ;
+身分柄 > mibungara\ ;
+観覧券 > kanranken\ ;
+禁制品 > kinseihin\ ;
+当籤者 > tousensha\ ;
+進化論 > shinkaron\ ;
+再検討 > saikentou\ ;
+半夏生 > hangeshou\ ;
+御飯時 > gohandoki\ ;
+愛弟子 > manadeshi\ ;
+手引書 > tebikisho\ ;
+揮発油 > kihatsuyu\ ;
+翰林院 > kanrin''in\ ;
+整合性 > seigousei\ ;
+料理番 > ryouriban\ ;
+十二宮 > juunikyuu\ ;
+生産財 > seisanzai\ ;
+一代記 > ichidaiki\ ;
+元始祭 > genshisai\ ;
+亡命者 > boumeisha\ ;
+有税品 > yuuzeihin\ ;
+大使館 > taishikan\ ;
+限定詞 > genteishi\ ;
+無駄飯 > mudameshi\ ;
+総決算 > soukessan\ ;
+歴史家 > rekishika\ ;
+海水帽 > kaisuibou\ ;
+控除額 > koujogaku\ ;
+家政学 > kaseigaku\ ;
+内弟子 > uchideshi\ ;
+多忙中 > tabouchuu\ ;
+原寸大 > gensundai\ ;
+機能的 > kinouteki\ ;
+女性的 > joseiteki\ ;
+滑翔機 > kasshouki\ ;
+年始状 > nenshijou\ ;
+子煩悩 > kobon''nou\ ;
+指南車 > shinansha\ ;
+写生文 > shaseibun\ ;
+内遊星 > naiyuusei\ ;
+苦行者 > kugyousha\ ;
+罪悪感 > zaiakukan\ ;
+無症状 > mushoujou\ ;
+角砂糖 > kakuzatou\ ;
+生返事 > namahenji\ ;
+単純性 > tanjunsei\ ;
+大僧正 > daisoujou\ ;
+一身上 > isshinjou\ ;
+修道尼 > shuudouni\ ;
+軍放送 > gunhousou\ ;
+登記料 > toukiryou\ ;
+英国人 > eikokujin\ ;
+偽証者 > gishousha\ ;
+道路橋 > dourokyou\ ;
+撮影所 > satsueijo\ ;
+形態論 > keitairon\ ;
+偽証罪 > gishouzai\ ;
+首謀者 > shubousha\ ;
+複号化 > fukugouka\ ;
+第一輯 > daiisshuu\ ;
+始祖鳥 > shisochou\ ;
+特許法 > tokkyohou\ ;
+養毛剤 > youmouzai\ ;
+浮気者 > uwakimono\ ;
+暗黒街 > ankokugai\ ;
+大元帥 > daigensui\ ;
+免許状 > menkyojou\ ;
+夜光虫 > yakouchuu\ ;
+奇天烈 > kiteretsu\ ;
+匙加減 > sajikagen\ ;
+投手板 > toushuban\ ;
+従業員 > juugyouin\ ;
+批評眼 > hihyougan\ ;
+修道女 > shuudoujo\ ;
+圧痛点 > attsuuten\ ;
+海兵隊 > kaiheitai\ ;
+考課表 > koukahyou\ ;
+麦芽糖 > bakugatou\ ;
+文芸欄 > bungeiran\ ;
+夜盲症 > yamoushou\ ;
+投稿者 > toukousha\ ;
+無差別 > musabetsu\ ;
+空挺隊 > kuuteitai\ ;
+微調整 > bichousei\ ;
+口忠実 > kuchimame\ ;
+花模様 > hanamoyou\ ;
+有名校 > yuumeikou\ ;
+特許権 > tokkyoken\ ;
+構成子 > kouseishi\ ;
+請願書 > seigansho\ ;
+拡声機 > kakuseiki\ ;
+討論会 > touronkai\ ;
+拘置所 > kouchisho\ ;
+交渉員 > koushouin\ ;
+労役場 > rouekijou\ ;
+長尾鶏 > nagaodori\ ;
+水銀灯 > suigintou\ ;
+主成分 > shuseibun\ ;
+修辞法 > shuujihou\ ;
+卓話会 > takuwakai\ ;
+手工芸 > shukougei\ ;
+料理法 > ryourihou\ ;
+承認図 > shouninzu\ ;
+本島人 > hontoujin\ ;
+恒常性 > koujousei\ ;
+長尾鳥 > nagaodori\ ;
+組織化 > soshikika\ ;
+御新造 > goshinzou\ ;
+乾電池 > kandenchi\ ;
+自作農 > jisakunou\ ;
+制空権 > seikuuken\ ;
+花椰菜 > hanayasai\ ;
+競技場 > kyougijou\ ;
+旧制度 > kyuuseido\ ;
+共和政 > kyouwasei\ ;
+尊王家 > son''nouka\ ;
+遅進児 > chishinji\ ;
+栄養学 > eiyougaku\ ;
+不介入 > fukainyuu\ ;
+投手戦 > toushusen\ ;
+犬張子 > inuhariko\ ;
+送電線 > soudensen\ ;
+卵黄嚢 > ran''ounou\ ;
+気圧計 > kiatsukei\ ;
+駆虫剤 > kuchuuzai\ ;
+犬追物 > inuoumono\ ;
+三斑鶉 > mifuuzura\ ;
+拍子木 > hyoushigi\ ;
+多毛作 > tamousaku\ ;
+手荷物 > tenimotsu\ ;
+几帳面 > kichoumen\ ;
+模範的 > mohanteki\ ;
+筆記帳 > hikkichou\ ;
+長距離 > choukyori\ ;
+美少年 > bishounen\ ;
+乾燥材 > kansouzai\ ;
+生産者 > seisansha\ ;
+不服従 > fufukujuu\ ;
+本格派 > honkakuha\ ;
+原子戦 > genshisen\ ;
+不変量 > fuhenryou\ ;
+顔馴染 > kaonajimi\ ;
+落葉樹 > rakuyouju\ ;
+三頭筋 > santoukin\ ;
+代言者 > daigensha\ ;
+揮発度 > kihatsudo\ ;
+大自然 > daishizen\ ;
+不時着 > fujichaku\ ;
+統制線 > touseisen\ ;
+光電池 > koudenchi\ ;
+花供養 > hanakuyou\ ;
+難問題 > nanmondai\ ;
+継電鍵 > keidenken\ ;
+機械学 > kikaigaku\ ;
+婦人病 > fujinbyou\ ;
+同好者 > doukousha\ ;
+偽妊娠 > gininshin\ ;
+火縄銃 > hinawajuu\ ;
+前勘定 > maekanjou\ ;
+既発表 > kihappyou\ ;
+甲状腺 > koujousen\ ;
+稽古事 > keikogoto\ ;
+成文法 > seibunhou\ ;
+規格品 > kikakuhin\ ;
+仕事日 > shigotobi\ ;
+分与税 > bun''yozei\ ;
+白無垢 > shiromuku\ ;
+二等賞 > nitoushou\ ;
+定休日 > teikyuubi\ ;
+白灯油 > hakutouyu\ ;
+運転席 > untenseki\ ;
+公民館 > kouminkan\ ;
+篤農家 > tokunouka\ ;
+茉莉花 > matsurika\ ;
+人工港 > jinkoukou\ ;
+高陵土 > kouryoudo\ ;
+感光板 > kankouban\ ;
+三乗根 > sanjoukon\ ;
+男風呂 > otokoburo\ ;
+女郎花 > ominaeshi\ ;
+滞納者 > tainousha\ ;
+伝道師 > dendoushi\ ;
+応召兵 > oushouhei\ ;
+複十字 > fukujuuji\ ;
+再構成 > saikousei\ ;
+有段者 > yuudansha\ ;
+単衣物 > hitoemono\ ;
+規格判 > kikakuban\ ;
+第三者 > daisansha\ ;
+体操場 > taisoujou\ ;
+主流派 > shuryuuha\ ;
+広報官 > kouhoukan\ ;
+人工池 > jinkouike\ ;
+口蓋垂 > kougaisui\ ;
+金剛砂 > kongousha\ ;
+十三夜 > juusan''ya\ ;
+大学院 > daigakuin\ ;
+乗用車 > jouyousha\ ;
+不明確 > fumeikaku\ ;
+蜃気楼 > shinkirou\ ;
+複葉機 > fukuyouki\ ;
+二等親 > nitoushin\ ;
+草競馬 > kusakeiba\ ;
+隠元豆 > ingenmame\ ;
+累乗根 > ruijoukon\ ;
+東洋人 > touyoujin\ ;
+競技会 > kyougikai\ ;
+勧誘員 > kan''yuuin\ ;
+老婆心 > roubashin\ ;
+債権者 > saikensha\ ;
+第一義 > daiichigi\ ;
+圧倒的 > attouteki\ ;
+不明瞭 > fumeiryou\ ;
+放電管 > houdenkan\ ;
+前身頃 > maemigoro\ ;
+少数派 > shousuuha\ ;
+特捜部 > tokusoubu\ ;
+調馬師 > choubashi\ ;
+理論的 > rironteki\ ;
+飲水量 > insuiryou\ ;
+調理法 > chourihou\ ;
+累犯者 > ruihansha\ ;
+好都合 > koutsugou\ ;
+安全域 > anzen''iki\ ;
+虚栄心 > kyoeishin\ ;
+定期的 > teikiteki\ ;
+認可証 > ninkashou\ ;
+信心家 > shinjinka\ ;
+強姦罪 > goukanzai\ ;
+教授会 > kyoujukai\ ;
+連合軍 > rengougun\ ;
+重合体 > juugoutai\ ;
+加虐愛 > kagyakuai\ ;
+河川敷 > kasenjiki\ ;
+軍隊葬 > guntaisou\ ;
+数年間 > suunenkan\ ;
+軽気球 > keikikyuu\ ;
+青浮草 > aoukikusa\ ;
+安楽死 > anrakushi\ ;
+金平糖 > konpeitou\ ;
+定住地 > teijuuchi\ ;
+金輪際 > konrinzai\ ;
+料理店 > ryouriten\ ;
+貿易風 > bouekifuu\ ;
+人工林 > jinkourin\ ;
+海運業 > kaiungyou\ ;
+衣食住 > ishokujuu\ ;
+寝具類 > shingurui\ ;
+東南東 > tounantou\ ;
+甲板員 > kouhan''in\ ;
+現代史 > gendaishi\ ;
+根菜類 > konsairui\ ;
+定例会 > teireikai\ ;
+決闘状 > kettoujou\ ;
+蚕卵紙 > sanranshi\ ;
+外蒙古 > sotomouko\ ;
+車両化 > sharyouka\ ;
+感光性 > kankousei\ ;
+第一章 > daiisshou\ ;
+臨界点 > rinkaiten\ ;
+商売気 > shoubaigi\ ;
+国憲法 > kokkenpou\ ;
+両陛下 > ryouheika\ ;
+限定版 > genteiban\ ;
+前車輪 > zensharin\ ;
+雄牛糞 > oushikuso\ ;
+不妊症 > funinshou\ ;
+変流器 > henryuuki\ ;
+針供養 > harikuyou\ ;
+微視的 > bishiteki\ ;
+監視塔 > kanshitou\ ;
+占拠地 > senkyochi\ ;
+指向性 > shikousei\ ;
+一人用 > hitoriyou\ ;
+調馬場 > choubajou\ ;
+再輸入 > saiyunyuu\ ;
+綿津見 > watatsumi\ ;
+優良児 > yuuryouji\ ;
+浮動票 > fudouhyou\ ;
+先天性 > sentensei\ ;
+形成層 > keiseisou\ ;
+師範代 > shihandai\ ;
+休止符 > kyuushifu\ ;
+不面目 > fumenmoku\ ;
+小糠雨 > konukaame\ ;
+本予算 > hon''yosan\ ;
+指南番 > shinanban\ ;
+拡声器 > kakuseiki\ ;
+自由業 > jiyuugyou\ ;
+禁輸品 > kin''yuhin\ ;
+司会者 > shikaisha\ ;
+投稿欄 > toukouran\ ;
+挿話的 > souwateki\ ;
+道中記 > douchuuki\ ;
+半塩水 > han''ensui\ ;
+排他的 > haitateki\ ;
+大腸炎 > daichouen\ ;
+尼法師 > amahoushi\ ;
+定置網 > teichiami\ ;
+芸能界 > geinoukai\ ;
+半濁音 > handakuon\ ;
+配管工 > haikankou\ ;
+現代人 > gendaijin\ ;
+農漁民 > nougyomin\ ;
+女性学 > joseigaku\ ;
+乾燥地 > kansouchi\ ;
+分類法 > bunruihou\ ;
+石膏像 > sekkouzou\ ;
+影武者 > kagemusha\ ;
+活版本 > kappanbon\ ;
+仕事場 > shigotoba\ ;
+婦人服 > fujinfuku\ ;
+寝心地 > negokochi\ ;
+絵巻物 > emakimono\ ;
+不料簡 > furyouken\ ;
+化石層 > kasekisou\ ;
+晩餐会 > bansankai\ ;
+仕放題 > shihoudai\ ;
+共和制 > kyouwasei\ ;
+案内状 > an''naijou\ ;
+多元的 > tagenteki\ ;
+制海権 > seikaiken\ ;
+交配種 > kouhaishu\ ;
+在住者 > zaijuusha\ ;
+成熟期 > seijukuki\ ;
+共和党 > kyouwatou\ ;
+平方根 > heihoukon\ ;
+諜報員 > chouhouin\ ;
+興奮剤 > koufunzai\ ;
+先見者 > senkensha\ ;
+航空券 > koukuuken\ ;
+光電子 > koudenshi\ ;
+売国奴 > baikokudo\ ;
+繁分数 > hanbunsuu\ ;
+性行動 > seikoudou\ ;
+銀行券 > ginkouken\ ;
+万万歳 > banbanzai\ ;
+停船場 > teisenjou\ ;
+嘆願書 > tangansho\ ;
+再生産 > saiseisan\ ;
+地対地 > chitaichi\ ;
+文体論 > buntairon\ ;
+調査団 > chousadan\ ;
+単行本 > tankoubon\ ;
+小夜曲 > sayokyoku\ ;
+出世間 > shusseken\ ;
+単行書 > tankousho\ ;
+一時間 > ichijikan\ ;
+温泉郷 > onsenkyou\ ;
+有名人 > yuumeijin\ ;
+後甲板 > koukanpan\ ;
+弱体化 > jakutaika\ ;
+経済面 > keizaimen\ ;
+修験道 > shugendou\ ;
+往生際 > oujougiwa\ ;
+残存者 > zanzonsha\ ;
+航空便 > koukuubin\ ;
+核武装 > kakubusou\ ;
+埋蔵金 > maizoukin\ ;
+孤立化 > koritsuka\ ;
+聖家族 > seikazoku\ ;
+乾燥剤 > kansouzai\ ;
+泥炭地 > deitanchi\ ;
+外輪船 > gairinsen\ ;
+複利法 > fukurihou\ ;
+蒸留器 > jouryuuki\ ;
+鑑定書 > kanteisho\ ;
+製氷機 > seihyouki\ ;
+巻寿司 > makizushi\ ;
+消費財 > shouhizai\ ;
+著作家 > chosakuka\ ;
+市販品 > shihanhin\ ;
+巻頭言 > kantougen\ ;
+調理師 > chourishi\ ;
+真桑瓜 > makuwauri\ ;
+随従者 > zuijuusha\ ;
+一寸先 > issunsaki\ ;
+文学部 > bungakubu\ ;
+予約制 > yoyakusei\ ;
+線速度 > sensokudo\ ;
+平面形 > heimenkei\ ;
+複比例 > fukuhirei\ ;
+散水車 > sansuisha\ ;
+一時金 > ichijikin\ ;
+前年度 > zen''nendo\ ;
+発行者 > hakkousha\ ;
+停留所 > teiryuujo\ ;
+宮城県 > miyagiken\ ;
+前前回 > zenzenkai\ ;
+燗徳利 > kandokuri\ ;
+死刑場 > shikeijou\ ;
+巻子本 > kanshihon\ ;
+町議会 > chougikai\ ;
+人生観 > jinseikan\ ;
+真珠貝 > shinjugai\ ;
+京都市 > kyoutoshi\ ;
+雨台風 > ametaifuu\ ;
+自由形 > jiyuugata\ ;
+免許制 > menkyosei\ ;
+雑報欄 > zappouran\ ;
+愛党心 > aitoushin\ ;
+防止法 > boushihou\ ;
+選挙法 > senkyohou\ ;
+天井裏 > tenjouura\ ;
+半陰影 > han''in''ei\ ;
+最重点 > saijuuten\ ;
+一対一 > ittaiichi\ ;
+選挙民 > senkyomin\ ;
+教唆者 > kyousasha\ ;
+料理人 > ryourinin\ ;
+自由席 > jiyuuseki\ ;
+月刊誌 > gekkanshi\ ;
+不熟練 > fujukuren\ ;
+古典的 > kotenteki\ ;
+変死者 > henshisha\ ;
+本格化 > honkakuka\ ;
+仕上工 > shiagekou\ ;
+牡丹杏 > botankyou\ ;
+平方形 > heihoukei\ ;
+労働者 > roudousha\ ;
+変化球 > henkakyuu\ ;
+遠隔視 > enkakushi\ ;
+雑記帳 > zakkichou\ ;
+在校生 > zaikousei\ ;
+摩擦音 > masatsuon\ ;
+蛍烏賊 > hotaruika\ ;
+再生法 > saiseihou\ ;
+多発機 > tahatsuki\ ;
+活版屋 > kappan''ya\ ;
+金剛手 > kongoushu\ ;
+被害額 > higaigaku\ ;
+選挙権 > senkyoken\ ;
+基本給 > kihonkyuu\ ;
+非金属 > hikinzoku\ ;
+猩猩緋 > shoujouhi\ ;
+回教徒 > kaikyouto\ ;
+指示先 > shijisaki\ ;
+備忘録 > bibouroku\ ;
+砂糖黍 > satoukibi\ ;
+案内書 > an''naisho\ ;
+功労金 > kouroukin\ ;
+被差別 > hisabetsu\ ;
+痘痕面 > abatazura\ ;
+朱文金 > shubunkin\ ;
+不謹慎 > fukinshin\ ;
+肝硬変 > kankouhen\ ;
+末期的 > makkiteki\ ;
+礼奉公 > reiboukou\ ;
+協技者 > kyougisha\ ;
+多足類 > tasokurui\ ;
+神秘性 > shinpisei\ ;
+沸騰点 > futtouten\ ;
+養魚池 > yougyochi\ ;
+魔法的 > mahouteki\ ;
+製氷所 > seihyoujo\ ;
+関西弁 > kansaiben\ ;
+八千草 > yachigusa\ ;
+道交法 > doukouhou\ ;
+野菜汁 > yasaijiru\ ;
+斡旋料 > assenryou\ ;
+航海士 > koukaishi\ ;
+浮動株 > fudoukabu\ ;
+混交林 > konkourin\ ;
+模範囚 > mohanshuu\ ;
+講義録 > kougiroku\ ;
+生存者 > seizonsha\ ;
+不謬性 > fubyuusei\ ;
+導電性 > doudensei\ ;
+改革案 > kaikakuan\ ;
+法改正 > houkaisei\ ;
+生産性 > seisansei\ ;
+上中下 > jouchuuge\ ;
+給水所 > kyuusuijo\ ;
+猜疑心 > saigishin\ ;
+不調法 > buchouhou\ ;
+受動的 > judouteki\ ;
+自由型 > jiyuugata\ ;
+調理台 > chouridai\ ;
+空閑地 > kuukanchi\ ;
+労働祭 > roudousai\ ;
+再来週 > saraishuu\ ;
+代表部 > daihyoubu\ ;
+僅少差 > kinshousa\ ;
+周期性 > shuukisei\ ;
+飛行服 > hikoufuku\ ;
+不特定 > futokutei\ ;
+表面化 > hyoumenka\ ;
+市有地 > shiyuuchi\ ;
+標準語 > hyoujungo\ ;
+水平面 > suiheimen\ ;
+交通路 > koutsuuro\ ;
+消費者 > shouhisha\ ;
+古道具 > furudougu\ ;
+基本的 > kihonteki\ ;
+草団子 > kusadango\ ;
+真珠色 > shinjuiro\ ;
+統帥権 > tousuiken\ ;
+練習機 > renshuuki\ ;
+昇降舵 > shoukouda\ ;
+兵庫県 > hyougoken\ ;
+公海上 > koukaijou\ ;
+激戦区 > gekisenku\ ;
+儀礼的 > gireiteki\ ;
+有平糖 > aruheitou\ ;
+交通費 > koutsuuhi\ ;
+金魚草 > kingyosou\ ;
+着火点 > chakkaten\ ;
+選挙戦 > senkyosen\ ;
+宗主権 > soushuken\ ;
+水酸根 > suisankon\ ;
+赤十字 > sekijuuji\ ;
+蓄音機 > chikuonki\ ;
+自尊心 > jisonshin\ ;
+表記法 > hyoukihou\ ;
+露天商 > rotenshou\ ;
+休廷日 > kyuuteibi\ ;
+飲酒癖 > inshuheki\ ;
+一斉高 > isseidaka\ ;
+処刑台 > shokeidai\ ;
+冷房車 > reibousha\ ;
+検疫所 > ken''ekijo\ ;
+照度計 > shoudokei\ ;
+収税吏 > shuuzeiri\ ;
+喉自慢 > nodojiman\ ;
+金看板 > kinkanban\ ;
+散弾銃 > sandanjuu\ ;
+培養液 > baiyoueki\ ;
+天狗風 > tengukaze\ ;
+一本杉 > ipponsugi\ ;
+測微計 > sokubikei\ ;
+風致林 > fuuchirin\ ;
+地理学 > chirigaku\ ;
+美食家 > bishokuka\ ;
+尿道炎 > nyoudouen\ ;
+螳螂拳 > tourouken\ ;
+調理人 > chourinin\ ;
+喫煙所 > kitsuenjo\ ;
+時分時 > jibundoki\ ;
+八重桜 > yaezakura\ ;
+南蛮船 > nanbansen\ ;
+豌豆豆 > endoumame\ ;
+回数券 > kaisuuken\ ;
+製造者 > seizousha\ ;
+重役会 > juuyakkai\ ;
+北欧人 > hokuoujin\ ;
+一人子 > hitorikko\ ;
+死生観 > shiseikan\ ;
+炭疽病 > tansobyou\ ;
+白地図 > hakuchizu\ ;
+鼈甲色 > bekkouiro\ ;
+乗車券 > joushaken\ ;
+測程器 > sokuteiki\ ;
+案内嬢 > an''naijou\ ;
+円舞曲 > enbukyoku\ ;
+消費税 > shouhizei\ ;
+壁一重 > kabehitoe\ ;
+四面体 > shimentai\ ;
+在来線 > zairaisen\ ;
+大理石 > dairiseki\ ;
+生産地 > seisanchi\ ;
+片田舎 > katainaka\ ;
+複写機 > fukushaki\ ;
+風俗画 > fuuzokuga\ ;
+側面図 > sokumenzu\ ;
+言語学 > gengogaku\ ;
+巡航船 > junkousen\ ;
+原始林 > genshirin\ ;
+至上権 > shijouken\ ;
+小売商 > kourishou\ ;
+統制品 > touseihin\ ;
+第一審 > daiisshin\ ;
+紅毛人 > koumoujin\ ;
+謄写版 > toushaban\ ;
+控訴審 > kousoshin\ ;
+中古車 > chuukosha\ ;
+新紀元 > shinkigen\ ;
+練習所 > renshuujo\ ;
+立方根 > rippoukon\ ;
+短音階 > tan''onkai\ ;
+宣誓書 > senseisho\ ;
+二拍子 > nibyoushi\ ;
+労農党 > rounoutou\ ;
+彼岸花 > higanbana\ ;
+忠魂碑 > chuukonhi\ ;
+有効性 > yuukousei\ ;
+三日月 > mikadzuki\ ;
+発振機 > hasshinki\ ;
+総務庁 > soumuchou\ ;
+流行語 > ryuukougo\ ;
+内鮮人 > naisenjin\ ;
+生理的 > seiriteki\ ;
+名誉慾 > meiyoyoku\ ;
+努力家 > doryokuka\ ;
+在来種 > zairaishu\ ;
+加硫法 > karyuuhou\ ;
+大家族 > daikazoku\ ;
+景教徒 > keikyouto\ ;
+高積雲 > kousekiun\ ;
+乗船券 > jousenken\ ;
+再審査 > saishinsa\ ;
+用語集 > yougoshuu\ ;
+負傷者 > fushousha\ ;
+労働法 > roudouhou\ ;
+汎用機 > han''youki\ ;
+名誉心 > meiyoshin\ ;
+鑑定人 > kanteinin\ ;
+投票日 > touhyoubi\ ;
+先行詞 > senkoushi\ ;
+独演会 > dokuenkai\ ;
+音韻学 > on''ingaku\ ;
+功労者 > kourousha\ ;
+脳細胞 > nousaibou\ ;
+美文調 > bibunchou\ ;
+明細書 > meisaisho\ ;
+男文字 > otokomoji\ ;
+総勘定 > soukanjou\ ;
+回覧板 > kairanban\ ;
+任命状 > ninmeijou\ ;
+上納金 > jounoukin\ ;
+拷問台 > goumondai\ ;
+上奏文 > jousoubun\ ;
+自責点 > jisekiten\ ;
+助監督 > jokantoku\ ;
+処生訓 > shoseikun\ ;
+本試験 > honshiken\ ;
+外信部 > gaishinbu\ ;
+一人前 > hitorimae\ ;
+労働権 > roudouken\ ;
+地球儀 > chikyuugi\ ;
+地上権 > chijouken\ ;
+金屏風 > kinbyoubu\ ;
+導電体 > doudentai\ ;
+共益費 > kyouekihi\ ;
+不認承 > funinshou\ ;
+馬鹿面 > bakadzura\ ;
+土用波 > doyounami\ ;
+総選挙 > sousenkyo\ ;
+制御盤 > seigyoban\ ;
+心意気 > kokoroiki\ ;
+重労働 > juuroudou\ ;
+手榴弾 > teryuudan\ ;
+一枚上 > ichimaiue\ ;
+天井灯 > tenjoutou\ ;
+養魚場 > yougyojou\ ;
+投票所 > touhyoujo\ ;
+座標系 > zahyoukei\ ;
+円借款 > enshakkan\ ;
+絶対論 > zettairon\ ;
+捕虫網 > hochuuami\ ;
+出来星 > dekiboshi\ ;
+花柳界 > karyuukai\ ;
+公民権 > kouminken\ ;
+如何許 > ikabakari\ ;
+清教徒 > seikyouto\ ;
+紫外線 > shigaisen\ ;
+同好会 > doukoukai\ ;
+洗車場 > senshajou\ ;
+展望車 > tenbousha\ ;
+暗号帳 > angouchou\ ;
+幌馬車 > horobasha\ ;
+大企業 > daikigyou\ ;
+売笑婦 > baishoufu\ ;
+採点者 > saitensha\ ;
+間隙比 > kangekihi\ ;
+壮行会 > soukoukai\ ;
+再生品 > saiseihin\ ;
+公社債 > koushasai\ ;
+未来学 > miraigaku\ ;
+末始終 > sueshijuu\ ;
+潜水艦 > sensuikan\ ;
+水道管 > suidoukan\ ;
+天理教 > tenrikyou\ ;
+予想高 > yosoudaka\ ;
+手柄顔 > tegaragao\ ;
+手芸品 > shugeihin\ ;
+平衡錘 > heikousui\ ;
+抗毒素 > koudokuso\ ;
+大豆粕 > daizukasu\ ;
+研究費 > kenkyuuhi\ ;
+知能犯 > chinouhan\ ;
+選手権 > senshuken\ ;
+麝香鹿 > jakoujika\ ;
+海岸線 > kaigansen\ ;
+貿易港 > bouekikou\ ;
+暦年度 > rekinendo\ ;
+天宮図 > tenkyuuzu\ ;
+有権者 > yuukensha\ ;
+体裁上 > teisaijou\ ;
+伊達男 > dateotoko\ ;
+休刊日 > kyuukanbi\ ;
+古典学 > kotengaku\ ;
+改訂版 > kaiteiban\ ;
+生存権 > seizonken\ ;
+該問題 > gaimondai\ ;
+暗号学 > angougaku\ ;
+代行者 > daikousha\ ;
+八千歳 > yachitose\ ;
+口真似 > kuchimane\ ;
+出版部 > shuppanbu\ ;
+観測所 > kansokujo\ ;
+経済界 > keizaikai\ ;
+不熱心 > funesshin\ ;
+公法人 > kouhoujin\ ;
+休眠期 > kyuuminki\ ;
+副総理 > fukusouri\ ;
+伴奏者 > bansousha\ ;
+対談者 > taidansha\ ;
+貿易法 > bouekihou\ ;
+園遊会 > en''yuukai\ ;
+賛成者 > sanseisha\ ;
+芸能人 > geinoujin\ ;
+分譲地 > bunjouchi\ ;
+屈光性 > kukkousei\ ;
+真珠湾 > shinjuwan\ ;
+交通禍 > koutsuuka\ ;
+拝火教 > haikakyou\ ;
+箇条書 > kajougaki\ ;
+選挙人 > senkyonin\ ;
+酪農家 > rakunouka\ ;
+工芸品 > kougeihin\ ;
+未来型 > miraigata\ ;
+弁鰓類 > bensairui\ ;
+無資格 > mushikaku\ ;
+任命権 > ninmeiken\ ;
+虫垂炎 > chuusuien\ ;
+破落戸 > gorotsuki\ ;
+蓄音器 > chikuonki\ ;
+緩下薬 > kangeyaku\ ;
+有機的 > yuukiteki\ ;
+正反対 > seihantai\ ;
+青海原 > aounabara\ ;
+凹面鏡 > oumenkyou\ ;
+報道陣 > houdoujin\ ;
+劣勢感 > resseikan\ ;
+御料地 > goryouchi\ ;
+計算者 > keisansha\ ;
+無駄口 > mudaguchi\ ;
+李承晩 > rishouban\ ;
+福音書 > fukuinsho\ ;
+八卦掌 > hakkeshou\ ;
+自主的 > jishuteki\ ;
+進歩党 > shinpotou\ ;
+相反性 > souhansei\ ;
+能動態 > noudoutai\ ;
+司令官 > shireikan\ ;
+地震計 > jishinkei\ ;
+紙一重 > kamihitoe\ ;
+水加減 > mizukagen\ ;
+出版費 > shuppanhi\ ;
+果報者 > kahoumono\ ;
+成長期 > seichouki\ ;
+浄土教 > joudokyou\ ;
+天井板 > tenjouita\ ;
+集塵機 > shuujinki\ ;
+凌波性 > ryouhasei\ ;
+快男子 > kaidanshi\ ;
+天狗茸 > tengutake\ ;
+狙撃兵 > sogekihei\ ;
+外輪山 > gairinzan\ ;
+昇降機 > shoukouki\ ;
+放火狂 > houkakyou\ ;
+風馬牛 > fuubagyuu\ ;
+陶器商 > toukishou\ ;
+三塁線 > sanruisen\ ;
+道義心 > dougishin\ ;
+超時空 > choujikuu\ ;
+微粒子 > biryuushi\ ;
+水平線 > suiheisen\ ;
+再尋問 > saijinmon\ ;
+清掃車 > seisousha\ ;
+最前線 > saizensen\ ;
+絶対者 > zettaisha\ ;
+正確度 > seikakudo\ ;
+氷削機 > hyousakki\ ;
+分解能 > bunkainou\ ;
+四角形 > shikakkei\ ;
+宣言書 > sengensho\ ;
+司令塔 > shireitou\ ;
+立太子 > rittaishi\ ;
+有蹄類 > yuuteirui\ ;
+使用者 > shiyousha\ ;
+天上界 > tenjoukai\ ;
+青海亀 > aoumigame\ ;
+来遊者 > raiyuusha\ ;
+巨人軍 > kyojingun\ ;
+学部生 > gakubusei\ ;
+工学部 > kougakubu\ ;
+教科書 > kyoukasho\ ;
+経済法 > keizaihou\ ;
+破傷風 > hashoufuu\ ;
+持参人 > jisan''nin\ ;
+総督府 > soutokufu\ ;
+日本髪 > nihongami\ ;
+制御棒 > seigyobou\ ;
+検案書 > ken''ansho\ ;
+歩道橋 > hodoukyou\ ;
+地方紙 > chihoushi\ ;
+日傭取 > hiyoutori\ ;
+地獄変 > jigokuhen\ ;
+合奏団 > gassoudan\ ;
+発振器 > hasshinki\ ;
+天井扇 > tenjousen\ ;
+全反射 > zenhansha\ ;
+変速機 > hensokuki\ ;
+無理式 > murishiki\ ;
+軽労働 > keiroudou\ ;
+正反合 > seihangou\ ;
+経済欄 > keizairan\ ;
+生字引 > ikijibiki\ ;
+投票区 > touhyouku\ ;
+木曜日 > mokuyoubi\ ;
+出木年 > dekidoshi\ ;
+碓氷峠 > usuitouge\ ;
+加入金 > kanyuukin\ ;
+民間人 > minkanjin\ ;
+公募株 > koubokabu\ ;
+乗馬服 > joubafuku\ ;
+日本領 > nihonryou\ ;
+著書名 > choshomei\ ;
+経営学 > keieigaku\ ;
+白鉛鉱 > hakuenkou\ ;
+粗目糖 > zarametou\ ;
+内玄関 > naigenkan\ ;
+地方税 > chihouzei\ ;
+巡査長 > junsachou\ ;
+印刷機 > insatsuki\ ;
+凍死者 > toushisha\ ;
+白銅貨 > hakudouka\ ;
+天球図 > tenkyuuzu\ ;
+八千年 > yachitose\ ;
+原始人 > genshijin\ ;
+加工賃 > kakouchin\ ;
+竹輪麩 > chikuwafu\ ;
+一方的 > ippouteki\ ;
+出仕事 > deshigoto\ ;
+正念場 > shounenba\ ;
+柔道場 > juudoujou\ ;
+脊髄炎 > sekizuien\ ;
+二重釜 > nijuugama\ ;
+立方体 > rippoutai\ ;
+遠隔性 > enkakusei\ ;
+軽歌劇 > keikageki\ ;
+制動灯 > seidoutou\ ;
+催眠剤 > saiminzai\ ;
+今一度 > imaichido\ ;
+攻防戦 > koubousen\ ;
+浄土宗 > joudoshuu\ ;
+操縦桿 > soujuukan\ ;
+文明館 > bunmeikan\ ;
+導関数 > doukansuu\ ;
+滞在地 > taizaichi\ ;
+上納米 > jounoumai\ ;
+宇宙服 > uchuufuku\ ;
+利口者 > rikoumono\ ;
+方法論 > houhouron\ ;
+蓋然性 > gaizensei\ ;
+半製品 > hanseihin\ ;
+一場面 > ichibamen\ ;
+石版画 > sekibanga\ ;
+登録簿 > tourokubo\ ;
+一昨晩 > issakuban\ ;
+多極化 > takyokuka\ ;
+大一番 > ooichiban\ ;
+衛星国 > eiseikoku\ ;
+下級生 > kakyuusei\ ;
+標準時 > hyoujunji\ ;
+高齢者 > koureisha\ ;
+一丁前 > itchoumae\ ;
+横恋慕 > yokorenbo\ ;
+財産税 > zaisanzei\ ;
+二重身 > nijuushin\ ;
+生理学 > seirigaku\ ;
+熱器具 > netsukigu\ ;
+寒冷紗 > kanreisha\ ;
+水道栓 > suidousen\ ;
+探索木 > tansakugi\ ;
+研究科 > kenkyuuka\ ;
+実施例 > jisshirei\ ;
+長音階 > chouonkai\ ;
+不評判 > fuhyouban\ ;
+選手団 > senshudan\ ;
+功利的 > kouriteki\ ;
+天球儀 > tenkyuugi\ ;
+真珠層 > shinjusou\ ;
+平均点 > heikinten\ ;
+連合会 > rengoukai\ ;
+工業化 > kougyouka\ ;
+赤道儀 > sekidougi\ ;
+文学座 > bungakuza\ ;
+労働党 > roudoutou\ ;
+経済戦 > keizaisen\ ;
+米空軍 > beikuugun\ ;
+敷居置 > shikiichi\ ;
+配当金 > haitoukin\ ;
+飛蚊症 > hibunshou\ ;
+赤痢菌 > sekirikin\ ;
+五十肩 > gojuukata\ ;
+高等官 > koutoukan\ ;
+地方版 > chihouban\ ;
+片脳油 > hen''nouyu\ ;
+奉行所 > bugyousho\ ;
+肯定文 > kouteibun\ ;
+芳香剤 > houkouzai\ ;
+火災流 > kasairyuu\ ;
+印刷所 > insatsujo\ ;
+大聖堂 > daiseidou\ ;
+経済性 > keizaisei\ ;
+蛇紋石 > jamonseki\ ;
+流行歌 > ryuukouka\ ;
+三角洲 > sankakusu\ ;
+三文判 > sanmonban\ ;
+三角波 > sankakuha\ ;
+実際性 > jissaisei\ ;
+竹矢来 > takeyarai\ ;
+平行線 > heikousen\ ;
+葱坊主 > negibouzu\ ;
+孫弟子 > magodeshi\ ;
+容積比 > yousekihi\ ;
+制酸剤 > seisanzai\ ;
+占取権 > senshuken\ ;
+主眼点 > shuganten\ ;
+遠隔地 > enkakuchi\ ;
+三角比 > sankakuhi\ ;
+長時間 > choujikan\ ;
+半端者 > hanpamono\ ;
+独禁法 > dokkinhou\ ;
+広告費 > koukokuhi\ ;
+最優遇 > saiyuuguu\ ;
+台風眼 > taifuugan\ ;
+未教育 > mikyouiku\ ;
+裁断師 > saidanshi\ ;
+全単射 > zentansha\ ;
+効果的 > koukateki\ ;
+空手形 > kuutegata\ ;
+印刻師 > inkokushi\ ;
+青年輩 > seinenhai\ ;
+割烹店 > kappouten\ ;
+貿易品 > bouekihin\ ;
+削岩機 > sakuganki\ ;
+完了後 > kanryougo\ ;
+大上段 > daijoudan\ ;
+園芸学 > engeigaku\ ;
+指相撲 > yubizumou\ ;
+肩甲帯 > kenkoutai\ ;
+正当性 > seitousei\ ;
+砂糖水 > satoumizu\ ;
+方錐形 > housuikei\ ;
+相当数 > soutousuu\ ;
+醸造酒 > jouzoushu\ ;
+左中間 > sachuukan\ ;
+伝令者 > denreisha\ ;
+木綿針 > momenbari\ ;
+木版画 > mokuhanga\ ;
+検査役 > kensayaku\ ;
+忘年会 > bounenkai\ ;
+宇宙学 > uchuugaku\ ;
+真理値 > shinrichi\ ;
+配水管 > haisuikan\ ;
+太陽風 > taiyoufuu\ ;
+使用法 > shiyouhou\ ;
+印刷屋 > insatsuya\ ;
+音声学 > onseigaku\ ;
+伊達女 > dateon''na\ ;
+副詞句 > fukushiku\ ;
+実数体 > jissuutai\ ;
+裏長屋 > uranagaya\ ;
+東工大 > toukoudai\ ;
+花時計 > hanadokei\ ;
+製造品 > seizouhin\ ;
+計算書 > keisansho\ ;
+制動手 > seidoushu\ ;
+不規律 > fukiritsu\ ;
+口腔癌 > koukougan\ ;
+回答者 > kaitousha\ ;
+単従陣 > tanjuujin\ ;
+反英雄 > han''eiyuu\ ;
+主権者 > shukensha\ ;
+大本山 > daihonzan\ ;
+中和剤 > chuuwazai\ ;
+慈善箱 > jizenbako\ ;
+最左翼 > saisayoku\ ;
+三角旗 > sankakuki\ ;
+加入者 > kanyuusha\ ;
+裾模様 > susomoyou\ ;
+一隻眼 > issekigan\ ;
+使用権 > shiyouken\ ;
+近体詩 > kintaishi\ ;
+天狼星 > tenrousei\ ;
+再犯者 > saihansha\ ;
+哨戒機 > shoukaiki\ ;
+通過駅 > tsuukaeki\ ;
+大人共 > otonadomo\ ;
+為放題 > shihoudai\ ;
+苦心談 > kushindan\ ;
+操縦士 > soujuushi\ ;
+真珠光 > shinjukou\ ;
+速度計 > sokudokei\ ;
+無責任 > musekinin\ ;
+播但線 > bantansen\ ;
+聖誕祭 > seitansai\ ;
+無一文 > muichimon\ ;
+常分数 > joubunsuu\ ;
+再考慮 > saikouryo\ ;
+儀典長 > gitenchou\ ;
+工学科 > kougakuka\ ;
+交歓会 > koukankai\ ;
+天象儀 > tenshougi\ ;
+引用文 > in''youbun\ ;
+荒法師 > arahoushi\ ;
+療養費 > ryouyouhi\ ;
+機関長 > kikanchou\ ;
+向地性 > kouchisei\ ;
+凱旋門 > gaisenmon\ ;
+設備費 > setsubihi\ ;
+裁縫師 > saihoushi\ ;
+財産権 > zaisanken\ ;
+同行者 > doukousha\ ;
+投石機 > tousekiki\ ;
+愛校心 > aikoushin\ ;
+伏魔殿 > fukumaden\ ;
+茶器組 > chakigumi\ ;
+三塁手 > sanruishu\ ;
+虚無的 > kyomuteki\ ;
+伝導性 > dendousei\ ;
+文字列 > mojiretsu\ ;
+反芻類 > hansuurui\ ;
+定型詩 > teikeishi\ ;
+水菓子 > mizugashi\ ;
+使用方 > shiyouhou\ ;
+黍団子 > kibidango\ ;
+軟口蓋 > nankougai\ ;
+闇相場 > yamisouba\ ;
+宇宙博 > uchuuhaku\ ;
+最前戦 > saizensen\ ;
+芥子菜 > karashina\ ;
+珍道具 > chindougu\ ;
+黄表紙 > kibyoushi\ ;
+従姉妹 > juushimai\ ;
+子福者 > kobukusha\ ;
+思想界 > shisoukai\ ;
+民衆化 > minshuuka\ ;
+鈍黄色 > nibukiiro\ ;
+三角形 > sankakkei\ ;
+大本営 > daihon''ei\ ;
+猛特訓 > moutokkun\ ;
+予告編 > yokokuhen\ ;
+冷湿布 > reishippu\ ;
+標準化 > hyoujunka\ ;
+南蛮人 > nanbanjin\ ;
+田園詩 > den''enshi\ ;
+三角座 > sankakuza\ ;
+再試験 > saishiken\ ;
+寒帯林 > kantairin\ ;
+傾斜面 > keishamen\ ;
+死亡者 > shibousha\ ;
+三角帆 > sankakuho\ ;
+半端物 > hanpamono\ ;
+婚姻法 > kon''inhou\ ;
+三角州 > sankakusu\ ;
+二重窓 > nijuumado\ ;
+自然類 > shizenrui\ ;
+専売品 > senbaihin\ ;
+不統一 > futouitsu\ ;
+夜会服 > yakaifuku\ ;
+予告篇 > yokokuhen\ ;
+党派心 > touhashin\ ;
+思想犯 > shisouhan\ ;
+弁当代 > bentoudai\ ;
+肝臓癌 > kanzougan\ ;
+経済人 > keizaijin\ ;
+仏教徒 > bukkyouto\ ;
+米海軍 > beikaigun\ ;
+含油層 > gan''yusou\ ;
+情報誌 > jouhoushi\ ;
+凱旋軍 > gaisengun\ ;
+落伍者 > rakugosha\ ;
+融解点 > yuukaiten\ ;
+淋巴球 > rinpakyuu\ ;
+嫌煙権 > ken''enken\ ;
+夫婦仲 > fuufunaka\ ;
+感染原 > kansengen\ ;
+迎賓館 > geihinkan\ ;
+評議会 > hyougikai\ ;
+好男子 > koudanshi\ ;
+早春賦 > soushunfu\ ;
+喉頭癌 > koutougan\ ;
+寝業師 > newazashi\ ;
+人格化 > jinkakuka\ ;
+綺麗事 > kireigoto\ ;
+記名株 > kimeikabu\ ;
+携帯品 > keitaihin\ ;
+駐屯所 > chuutonjo\ ;
+研究所 > kenkyuujo\ ;
+最先端 > saisentan\ ;
+居住者 > kyojuusha\ ;
+誇張法 > kochouhou\ ;
+視覚化 > shikakuka\ ;
+中華街 > chuukagai\ ;
+連判状 > renbanjou\ ;
+麝香猫 > jakouneko\ ;
+変光星 > henkousei\ ;
+審査官 > shinsakan\ ;
+多用中 > tayouchuu\ ;
+早東戦 > soutousen\ ;
+黙秘権 > mokuhiken\ ;
+冒険談 > boukendan\ ;
+常備薬 > joubiyaku\ ;
+妊婦服 > ninpufuku\ ;
+体重計 > taijuukei\ ;
+警官隊 > keikantai\ ;
+講談社 > koudansha\ ;
+近代詩 > kindaishi\ ;
+煙草銭 > tabakosen\ ;
+間投詞 > kantoushi\ ;
+答弁者 > toubensha\ ;
+平行棒 > heikoubou\ ;
+蟻地獄 > arijigoku\ ;
+扁桃腺 > hentousen\ ;
+公判廷 > kouhantei\ ;
+数億年 > suuokunen\ ;
+盆灯籠 > bondourou\ ;
+終戦後 > shuusengo\ ;
+編集部 > henshuubu\ ;
+周囲長 > shuuichou\ ;
+公選制 > kousensei\ ;
+修理工 > shuurikou\ ;
+最適化 > saitekika\ ;
+化学者 > kagakusha\ ;
+贈賄罪 > zouwaizai\ ;
+不承認 > fushounin\ ;
+五重唱 > gojuushou\ ;
+年齢順 > nenreijun\ ;
+賭博場 > tobakujou\ ;
+看守者 > kanshusha\ ;
+弱電器 > jakudenki\ ;
+日本的 > nihonteki\ ;
+開墾地 > kaikonchi\ ;
+禁猟期 > kinryouki\ ;
+前額部 > zengakubu\ ;
+評論家 > hyouronka\ ;
+一斉安 > isseiyasu\ ;
+一親等 > isshintou\ ;
+再放送 > saihousou\ ;
+興行化 > kougyouka\ ;
+化学線 > kagakusen\ ;
+戦死者 > senshisha\ ;
+一文字 > ichimonji\ ;
+文士連 > bunshiren\ ;
+木綿糸 > momen''ito\ ;
+焦電気 > shoudenki\ ;
+授与式 > juyoshiki\ ;
+目分量 > mebunryou\ ;
+天下一 > tenkaichi\ ;
+中古品 > chuukohin\ ;
+市場性 > shijousei\ ;
+中性塩 > chuuseien\ ;
+文語調 > bungochou\ ;
+散兵線 > sanpeisen\ ;
+流行児 > ryuukouji\ ;
+又従弟 > mataitoko\ ;
+腹時計 > haradokei\ ;
+布袋腹 > hoteibara\ ;
+無教育 > mukyouiku\ ;
+研究家 > kenkyuuka\ ;
+教区民 > kyoukumin\ ;
+地震帯 > jishintai\ ;
+長期戦 > choukisen\ ;
+通知簿 > tsuuchibo\ ;
+加工業 > kakougyou\ ;
+不行状 > fugyoujou\ ;
+胡麻油 > gomaabura\ ;
+日本猿 > nihonzaru\ ;
+旧世界 > kyuusekai\ ;
+水平動 > suiheidou\ ;
+短大生 > tandaisei\ ;
+肖像画 > shouzouga\ ;
+一角獣 > ikkakujuu\ ;
+可変長 > kahenchou\ ;
+一要素 > ichiyouso\ ;
+児童劇 > jidougeki\ ;
+埋葬地 > maisouchi\ ;
+上製本 > jouseibon\ ;
+両性花 > ryouseika\ ;
+実行者 > jikkousha\ ;
+傾斜計 > keishakei\ ;
+犯罪者 > hanzaisha\ ;
+絶交状 > zekkoujou\ ;
+外来者 > gairaisha\ ;
+伝導体 > dendoutai\ ;
+斜滑降 > shakakkou\ ;
+常平倉 > jouheisou\ ;
+主催者 > shusaisha\ ;
+柔軟性 > juunansei\ ;
+分担金 > buntankin\ ;
+冷蔵車 > reizousha\ ;
+最高裁 > saikousai\ ;
+加入権 > kanyuuken\ ;
+前住所 > zenjuusho\ ;
+展望塔 > tenboutou\ ;
+過敏症 > kabinshou\ ;
+人頭税 > nintouzei\ ;
+舞台劇 > butaigeki\ ;
+平均値 > heikinchi\ ;
+格子面 > koushimen\ ;
+水茶屋 > mizuchaya\ ;
+情報網 > jouhoumou\ ;
+巴旦杏 > hatankyou\ ;
+審美眼 > shinbigan\ ;
+処世訓 > shoseikun\ ;
+自然観 > shizenkan\ ;
+脂肪酸 > shibousan\ ;
+門外漢 > mongaikan\ ;
+抗菌性 > koukinsei\ ;
+伝染性 > densensei\ ;
+未組織 > misoshiki\ ;
+水様液 > suiyoueki\ ;
+救助隊 > kyuujotai\ ;
+保存量 > hozonryou\ ;
+核兵器 > kakuheiki\ ;
+不満足 > fumanzoku\ ;
+長談議 > nagadangi\ ;
+冒険者 > boukensha\ ;
+羽蒲団 > hanebuton\ ;
+地方債 > chihousai\ ;
+本場物 > honbamono\ ;
+語学者 > gogakusha\ ;
+再試行 > saishikou\ ;
+居丈高 > itakedaka\ ;
+太陽系 > taiyoukei\ ;
+研究員 > kenkyuuin\ ;
+弥縫策 > bihousaku\ ;
+無報酬 > muhoushuu\ ;
+蘆溝橋 > rokoukyou\ ;
+絶対値 > zettaichi\ ;
+天頂儀 > tenchougi\ ;
+海賊王 > kaizokuou\ ;
+財界人 > zaikaijin\ ;
+風来坊 > fuuraibou\ ;
+寒冷地 > kanreichi\ ;
+前置詞 > zenchishi\ ;
+加判人 > kahan''nin\ ;
+動滑車 > doukassha\ ;
+結氷期 > keppyouki\ ;
+展望台 > tenboudai\ ;
+礼拝堂 > reihaidou\ ;
+高性能 > kouseinou\ ;
+乾海苔 > hoshinori\ ;
+使用例 > shiyourei\ ;
+有田焼 > aritayaki\ ;
+高周波 > koushuuha\ ;
+尿検査 > nyoukensa\ ;
+環状線 > kanjousen\ ;
+発想法 > hassouhou\ ;
+免税点 > menzeiten\ ;
+値段表 > nedanhyou\ ;
+直弟子 > jikideshi\ ;
+連邦制 > renpousei\ ;
+使用人 > shiyounin\ ;
+植木鉢 > uekibachi\ ;
+照射野 > shoushaya\ ;
+慈善心 > jizenshin\ ;
+木煉瓦 > mokurenga\ ;
+木綿物 > momenmono\ ;
+六分儀 > rokubungi\ ;
+視地平 > shichihei\ ;
+工作員 > kousakuin\ ;
+回漕店 > kaisouten\ ;
+石炭紀 > sekitanki\ ;
+投機的 > toukiteki\ ;
+猟犬座 > ryoukenza\ ;
+皮財布 > kawazaifu\ ;
+脳血栓 > noukessen\ ;
+正則化 > seisokuka\ ;
+大奥様 > oookusama\ ;
+欠陥車 > kekkansha\ ;
+一大事 > ichidaiji\ ;
+連分数 > renbunsuu\ ;
+修理代 > shuuridai\ ;
+蕁麻疹 > jinmashin\ ;
+具申書 > gushinsho\ ;
+読書家 > dokushoka\ ;
+美術部 > bijutsubu\ ;
+感謝祭 > kanshasai\ ;
+貴方方 > anatagata\ ;
+東京都 > toukyouto\ ;
+旧字体 > kyuujitai\ ;
+無調法 > buchouhou\ ;
+製作費 > seisakuhi\ ;
+二週間 > nishuukan\ ;
+部落民 > burakumin\ ;
+加盟国 > kameikoku\ ;
+一夜中 > hitoyajuu\ ;
+構造体 > kouzoutai\ ;
+中医学 > chuuigaku\ ;
+受信者 > jushinsha\ ;
+会議録 > kaigiroku\ ;
+禁煙車 > kin''ensha\ ;
+電子銃 > denshijuu\ ;
+具体策 > gutaisaku\ ;
+車掌区 > shashouku\ ;
+他国民 > takokumin\ ;
+儒学者 > jugakusha\ ;
+名探偵 > meitantei\ ;
+国連旗 > kokurenki\ ;
+又従兄 > mataitoko\ ;
+鯣烏賊 > surumeika\ ;
+全市民 > zenshimin\ ;
+報道官 > houdoukan\ ;
+日本晴 > nihonbare\ ;
+布団皮 > futongawa\ ;
+修繕費 > shuuzenhi\ ;
+専門書 > senmonsho\ ;
+公用車 > kouyousha\ ;
+耐性菌 > taiseikin\ ;
+同種類 > doushurui\ ;
+音域外 > on''ikigai\ ;
+親和性 > shinwasei\ ;
+前頭葉 > zentouyou\ ;
+珠暖簾 > tamanoren\ ;
+九星家 > kyuuseika\ ;
+通気孔 > tsuukikou\ ;
+隣人愛 > rinjin''ai\ ;
+不承知 > fushouchi\ ;
+死亡数 > shibousuu\ ;
+居住権 > kyojuuken\ ;
+鉤括弧 > kagikakko\ ;
+倦怠感 > kentaikan\ ;
+冷蔵船 > reizousen\ ;
+合成酒 > gouseishu\ ;
+味噌汁 > misoshiru\ ;
+指導者 > shidousha\ ;
+半可通 > hankatsuu\ ;
+無警告 > mukeikoku\ ;
+大西郷 > daisaigou\ ;
+睡眠剤 > suiminzai\ ;
+旋盤工 > senbankou\ ;
+帯分数 > taibunsuu\ ;
+後継者 > koukeisha\ ;
+長談義 > nagadangi\ ;
+天日塩 > tenpishio\ ;
+威圧的 > iatsuteki\ ;
+二重底 > nijuuzoko\ ;
+又弟子 > matadeshi\ ;
+救命具 > kyuumeigu\ ;
+禁猟区 > kinryouku\ ;
+弩級艦 > dokyuukan\ ;
+恒久化 > koukyuuka\ ;
+具体的 > gutaiteki\ ;
+腹一杯 > haraippai\ ;
+格理論 > kakuriron\ ;
+感謝状 > kanshajou\ ;
+現行犯 > genkouhan\ ;
+日付印 > hidzukein\ ;
+太陽灯 > taiyoutou\ ;
+常用者 > jouyousha\ ;
+情報源 > jouhougen\ ;
+公使館 > koushikan\ ;
+帆立貝 > hotategai\ ;
+若武者 > wakamusha\ ;
+清算書 > seisansho\ ;
+本街道 > honkaidou\ ;
+郵便車 > yuubinsha\ ;
+一点機 > ichitenki\ ;
+夏風邪 > natsukaze\ ;
+中道派 > chuudouha\ ;
+暴風域 > boufuuiki\ ;
+発禁本 > hakkinbon\ ;
+圧電気 > atsudenki\ ;
+巨人党 > kyojintou\ ;
+時代物 > jidaimono\ ;
+屏風岩 > byoubuiwa\ ;
+快記録 > kaikiroku\ ;
+暴風圏 > boufuuken\ ;
+講談師 > koudanshi\ ;
+不成績 > fuseiseki\ ;
+多音節 > taonsetsu\ ;
+連帯感 > rentaikan\ ;
+部分的 > bubunteki\ ;
+専門店 > senmonten\ ;
+慣用音 > kan''youon\ ;
+夜仕事 > yoshigoto\ ;
+演習林 > enshuurin\ ;
+某高校 > boukoukou\ ;
+綿菓子 > watagashi\ ;
+跨線橋 > kosenkyou\ ;
+煙草盆 > tabakobon\ ;
+受験票 > jukenhyou\ ;
+内斜視 > naishashi\ ;
+電信機 > denshinki\ ;
+圧縮機 > asshukuki\ ;
+実行権 > jikkouken\ ;
+科学者 > kagakusha\ ;
+現行法 > genkouhou\ ;
+自然界 > shizenkai\ ;
+懸垂線 > kensuisen\ ;
+上手者 > jouzumono\ ;
+日本学 > nihongaku\ ;
+排障器 > haishouki\ ;
+真夏日 > manatsubi\ ;
+感無量 > kanmuryou\ ;
+給付金 > kyuufukin\ ;
+代名詞 > daimeishi\ ;
+救助船 > kyuujosen\ ;
+牽引車 > ken''insha\ ;
+居住性 > kyojuusei\ ;
+抗凝固 > kougyouko\ ;
+看護長 > kangochou\ ;
+低性能 > teiseinou\ ;
+無計画 > mukeikaku\ ;
+多面角 > tamenkaku\ ;
+低周波 > teishuuha\ ;
+理想郷 > risoukyou\ ;
+被爆者 > hibakusha\ ;
+精製糖 > seiseitou\ ;
+化学戦 > kagakusen\ ;
+有用性 > yuuyousei\ ;
+娯楽街 > gorakugai\ ;
+後天性 > koutensei\ ;
+校友会 > kouyuukai\ ;
+単利表 > tanrihyou\ ;
+療養所 > ryouyoujo\ ;
+保守的 > hoshuteki\ ;
+皇民党 > koumintou\ ;
+二重唱 > nijuushou\ ;
+免税店 > menzeiten\ ;
+卵胎生 > rantaisei\ ;
+線香代 > senkoudai\ ;
+対角化 > taikakuka\ ;
+最高点 > saikouten\ ;
+最低限 > saiteigen\ ;
+歌合戦 > utagassen\ ;
+平和賞 > heiwashou\ ;
+数係数 > suukeisuu\ ;
+木炭画 > mokutanga\ ;
+再降臨 > saikourin\ ;
+再調査 > saichousa\ ;
+高野槙 > kouyamaki\ ;
+定滑車 > teikassha\ ;
+似我蜂 > jigabachi\ ;
+旋光性 > senkousei\ ;
+名投手 > meitoushu\ ;
+採算性 > saisansei\ ;
+企業者 > kigyousha\ ;
+銀砂子 > ginsunago\ ;
+国分寺 > kokubunji\ ;
+養豚場 > youtonjou\ ;
+非対称 > hitaishou\ ;
+不銹鋼 > fushuukou\ ;
+一院制 > ichiinsei\ ;
+手仕事 > teshigoto\ ;
+胆嚢炎 > tan''nouen\ ;
+強打者 > kyoudasha\ ;
+規範的 > kihanteki\ ;
+羅紗紙 > rashagami\ ;
+脱衣場 > datsuijou\ ;
+救助網 > kyuujomou\ ;
+当選者 > tousensha\ ;
+太陰暦 > taiinreki\ ;
+揚羽蝶 > agehachou\ ;
+士君子 > shikunshi\ ;
+腰羽目 > koshibame\ ;
+片一方 > kataippou\ ;
+阿片窟 > ahenkutsu\ ;
+吾木香 > waremokou\ ;
+大型車 > oogatasha\ ;
+夏季熱 > kakinetsu\ ;
+内陸霧 > nairikumu\ ;
+植字機 > shokujiki\ ;
+遊覧船 > yuuransen\ ;
+乳房炎 > nyuubouen\ ;
+脳挫傷 > nouzashou\ ;
+学生課 > gakuseika\ ;
+藁布団 > warabuton\ ;
+投機心 > toukishin\ ;
+郵便船 > yuubinsen\ ;
+青年団 > seinendan\ ;
+勧告案 > kankokuan\ ;
+天文台 > tenmondai\ ;
+自然法 > shizenhou\ ;
+石灰洞 > sekkaidou\ ;
+増刊号 > zoukangou\ ;
+内大臣 > naidaijin\ ;
+現在地 > genzaichi\ ;
+戦車隊 > senshatai\ ;
+二重丸 > nijuumaru\ ;
+酒造場 > shuzoujou\ ;
+愛読者 > aidokusha\ ;
+石灰水 > sekkaisui\ ;
+大地震 > daijishin\ ;
+不拡大 > fukakudai\ ;
+主導者 > shudousha\ ;
+高蒔絵 > takamakie\ ;
+自然死 > shizenshi\ ;
+居住地 > kyojuuchi\ ;
+決死隊 > kesshitai\ ;
+主脳者 > shunousha\ ;
+舞楽面 > bugakumen\ ;
+魚介類 > gyokairui\ ;
+最高検 > saikouken\ ;
+熱汚染 > netsuosen\ ;
+恒星年 > kouseinen\ ;
+自在鉤 > jizaikagi\ ;
+競走馬 > kyousouba\ ;
+御手洗 > mitarashi\ ;
+増幅器 > zoufukuki\ ;
+日本側 > nihongawa\ ;
+人類史 > jinruishi\ ;
+苦労様 > kurousama\ ;
+禀請書 > rinseisho\ ;
+俳諧師 > haikaishi\ ;
+慣用語 > kan''yougo\ ;
+女学生 > jogakusei\ ;
+電子管 > denshikan\ ;
+梵天王 > bonten''ou\ ;
+合成紙 > gouseishi\ ;
+黄銅鉱 > koudoukou\ ;
+司教区 > shikyouku\ ;
+解散権 > kaisanken\ ;
+適齢期 > tekireiki\ ;
+威嚇的 > ikakuteki\ ;
+銃連射 > juurensha\ ;
+免税品 > menzeihin\ ;
+高水準 > kousuijun\ ;
+太陽年 > taiyounen\ ;
+石細工 > ishizaiku\ ;
+寝小便 > neshouben\ ;
+冷蔵法 > reizouhou\ ;
+配分法 > haibunhou\ ;
+耽美的 > tanbiteki\ ;
+潜航艇 > senkoutei\ ;
+同窓生 > dousousei\ ;
+放浪者 > hourousha\ ;
+種概念 > shugainen\ ;
+早明戦 > soumeisen\ ;
+微積分 > bisekibun\ ;
+鳥瞰図 > choukanzu\ ;
+女王蜂 > jooubachi\ ;
+外交官 > gaikoukan\ ;
+歯肉炎 > shinikuen\ ;
+自然林 > shizenrin\ ;
+演習場 > enshuujou\ ;
+小麦色 > komugiiro\ ;
+魚貝類 > gyokairui\ ;
+復古調 > fukkochou\ ;
+反省会 > hanseikai\ ;
+熱帯魚 > nettaigyo\ ;
+単葉機 > tan''youki\ ;
+所有者 > shoyuusha\ ;
+販売者 > hanbaisha\ ;
+主人顔 > shujingao\ ;
+滑稽者 > odokemono\ ;
+水飢饉 > mizukikin\ ;
+海上法 > kaijouhou\ ;
+熱可塑 > netsukaso\ ;
+化学品 > kagakuhin\ ;
+子沢山 > kodakusan\ ;
+余水吐 > yosuihaki\ ;
+昨年度 > sakunendo\ ;
+自然数 > shizensuu\ ;
+再訂版 > saiteiban\ ;
+青年会 > seinenkai\ ;
+現地人 > genchijin\ ;
+市街戦 > shigaisen\ ;
+懐疑心 > kaigishin\ ;
+朝日影 > asahikage\ ;
+誘導弾 > yuudoudan\ ;
+販売網 > hanbaimou\ ;
+八百万 > yaoyorozu\ ;
+貧乏人 > binbounin\ ;
+工事中 > koujichuu\ ;
+窃盗罪 > settouzai\ ;
+原裁判 > gensaiban\ ;
+点火薬 > tenkayaku\ ;
+海上権 > kaijouken\ ;
+化学剤 > kagakuzai\ ;
+精製法 > seiseihou\ ;
+方眼紙 > houganshi\ ;
+受賞者 > jushousha\ ;
+推薦者 > suisensha\ ;
+雪模様 > yukimoyou\ ;
+一級品 > ikkyuuhin\ ;
+格子点 > koushiten\ ;
+購買者 > koubaisha\ ;
+一等賞 > ittoushou\ ;
+他国人 > takokujin\ ;
+空気浴 > kuukiyoku\ ;
+外交団 > gaikoudan\ ;
+執行部 > shikkoubu\ ;
+理神論 > rishinron\ ;
+受験料 > jukenryou\ ;
+勝手元 > kattemoto\ ;
+相対論 > soutairon\ ;
+刊行会 > kankoukai\ ;
+卑金属 > hikinzoku\ ;
+保育料 > hoikuryou\ ;
+総資産 > soushisan\ ;
+住民税 > juuminzei\ ;
+圧縮器 > asshukuki\ ;
+俸給日 > houkyuubi\ ;
+行政府 > gyouseifu\ ;
+処女膜 > shojomaku\ ;
+随伴者 > zuihansha\ ;
+車海老 > kurumaebi\ ;
+悪宣伝 > akusenden\ ;
+多面的 > tamenteki\ ;
+対戦車 > taisensha\ ;
+苦労性 > kuroushou\ ;
+恐妻家 > kyousaika\ ;
+主宰者 > shusaisha\ ;
+半鹹水 > hankansui\ ;
+密航者 > mikkousha\ ;
+一等親 > ittoushin\ ;
+注連縄 > shimenawa\ ;
+補強筋 > hokyoukin\ ;
+看板屋 > kanban''ya\ ;
+社員寮 > shainryou\ ;
+呼吸法 > kokyuuhou\ ;
+体量器 > tairyouki\ ;
+化学上 > kagakujou\ ;
+伽藍鳥 > garanchou\ ;
+心臓部 > shinzoubu\ ;
+最高峰 > saikouhou\ ;
+競輪場 > keirinjou\ ;
+重婚者 > juukonsha\ ;
+要撃機 > yougekiki\ ;
+気化熱 > kikanetsu\ ;
+日教組 > nikkyouso\ ;
+三等星 > santousei\ ;
+命名法 > meimeihou\ ;
+参加国 > sankakoku\ ;
+未開拓 > mikaitaku\ ;
+再編成 > saihensei\ ;
+透水性 > tousuisei\ ;
+反対論 > hantairon\ ;
+学芸員 > gakugeiin\ ;
+冷凍魚 > reitougyo\ ;
+敗残兵 > haizanhei\ ;
+書生論 > shoseiron\ ;
+志望者 > shibousha\ ;
+財政難 > zaiseinan\ ;
+制癌剤 > seiganzai\ ;
+発泡剤 > happouzai\ ;
+伝奇的 > denkiteki\ ;
+絆創膏 > bansoukou\ ;
+保存料 > hozonryou\ ;
+石灰岩 > sekkaigan\ ;
+兵学校 > heigakkou\ ;
+富山県 > toyamaken\ ;
+近代史 > kindaishi\ ;
+該当者 > gaitousha\ ;
+点数制 > tensuusei\ ;
+高知県 > kouchiken\ ;
+口上書 > koujousho\ ;
+解放感 > kaihoukan\ ;
+平和的 > heiwateki\ ;
+自閉症 > jiheishou\ ;
+飲用水 > in''yousui\ ;
+太陽光 > taiyoukou\ ;
+橋頭保 > kyoutouho\ ;
+古書市 > koshoichi\ ;
+天然塩 > ten''nenen\ ;
+公害罪 > kougaizai\ ;
+淫売宿 > inbaiyado\ ;
+起請文 > kishoumon\ ;
+碁盤縞 > gobanjima\ ;
+俗世間 > zokuseken\ ;
+甘納豆 > amanattou\ ;
+乾酪素 > kanrakuso\ ;
+冶金学 > yakingaku\ ;
+冗長度 > jouchoudo\ ;
+私家集 > shikashuu\ ;
+市街地 > shigaichi\ ;
+可読性 > kadokusei\ ;
+明示的 > meijiteki\ ;
+大回転 > daikaiten\ ;
+呉服店 > gofukuten\ ;
+中華丼 > chuukadon\ ;
+大西洋 > taiseiyou\ ;
+理想的 > risouteki\ ;
+妻帯者 > saitaisha\ ;
+八宝菜 > happousai\ ;
+双蹄獸 > souteijuu\ ;
+国全土 > kokuzendo\ ;
+二進法 > nishinhou\ ;
+羽布団 > hanebuton\ ;
+自然増 > shizenzou\ ;
+時代劇 > jidaigeki\ ;
+混成酒 > konseishu\ ;
+公倍数 > koubaisuu\ ;
+処方箋 > shohousen\ ;
+癌細胞 > gansaibou\ ;
+累減税 > ruigenzei\ ;
+所作事 > shosagoto\ ;
+無限小 > mugenshou\ ;
+窃盗犯 > settouhan\ ;
+仕手株 > shitekabu\ ;
+口下手 > kuchibeta\ ;
+金曜日 > kin''youbi\ ;
+低水準 > teisuijun\ ;
+製作所 > seisakujo\ ;
+伝声管 > denseikan\ ;
+陰武者 > kagemusha\ ;
+量子化 > ryoushika\ ;
+好一対 > kouittsui\ ;
+事務局 > jimukyoku\ ;
+副鼻腔 > fukubikuu\ ;
+浪費癖 > rouhiheki\ ;
+給費生 > kyuuhisei\ ;
+県人会 > kenjinkai\ ;
+主任者 > shuninsha\ ;
+公用文 > kouyoubun\ ;
+行政区 > gyouseiku\ ;
+推薦状 > suisenjou\ ;
+中距離 > chuukyori\ ;
+共産化 > kyousanka\ ;
+会期中 > kaikichuu\ ;
+野球場 > yakyuujou\ ;
+閑古鳥 > kankodori\ ;
+産褥期 > sanjokuki\ ;
+主導権 > shudouken\ ;
+募金箱 > bokinbako\ ;
+硬口蓋 > koukougai\ ;
+史記抄 > shikishou\ ;
+年齢層 > nenreisou\ ;
+頭頂部 > touchoubu\ ;
+早場米 > hayabamai\ ;
+口語訳 > kougoyaku\ ;
+油圧計 > yuatsukei\ ;
+二毛作 > nimousaku\ ;
+検糖計 > kentoukei\ ;
+誘導体 > yuudoutai\ ;
+真四角 > mashikaku\ ;
+申命記 > shinmeiki\ ;
+脂肪層 > shibousou\ ;
+物品税 > buppinzei\ ;
+鳳翅鐘 > houshitou\ ;
+層積雲 > sousekiun\ ;
+秒時計 > byoudokei\ ;
+珊瑚礁 > sangoshou\ ;
+連体詞 > rentaishi\ ;
+屁理屈 > herikutsu\ ;
+同情者 > doujousha\ ;
+志願者 > shigansha\ ;
+浪人生 > rouninsei\ ;
+不可逆 > fukagyaku\ ;
+大阪市 > oosakashi\ ;
+愛読書 > aidokusho\ ;
+可塑物 > kasobutsu\ ;
+新造語 > shinzougo\ ;
+反対者 > hantaisha\ ;
+黒砂糖 > kurozatou\ ;
+玄米茶 > genmaicha\ ;
+演繹法 > en''ekihou\ ;
+臨場感 > rinjoukan\ ;
+偏西風 > henseifuu\ ;
+香味料 > koumiryou\ ;
+正甲板 > seikanpan\ ;
+審議会 > shingikai\ ;
+青森県 > aomoriken\ ;
+不感症 > fukanshou\ ;
+禁衛隊 > kin''eitai\ ;
+放水車 > housuisha\ ;
+耐水性 > taisuisei\ ;
+玄関番 > genkanban\ ;
+前夜祭 > zen''yasai\ ;
+月桂冠 > gekkeikan\ ;
+二刀流 > nitouryuu\ ;
+所有権 > shoyuuken\ ;
+冷凍車 > reitousha\ ;
+来会者 > raikaisha\ ;
+上等品 > joutouhin\ ;
+荒療治 > araryouji\ ;
+楽観論 > rakkanron\ ;
+倶舎宗 > kushashuu\ ;
+無言劇 > mugongeki\ ;
+入苑券 > nyuuenken\ ;
+腱鞘炎 > kenshouen\ ;
+高年者 > kounensha\ ;
+探海灯 > tankaitou\ ;
+無規律 > mukiritsu\ ;
+形容詞 > keiyoushi\ ;
+岩雲雀 > iwahibari\ ;
+徒競走 > tokyousou\ ;
+不戦勝 > fusenshou\ ;
+自然人 > shizenjin\ ;
+家庭的 > kateiteki\ ;
+高気圧 > koukiatsu\ ;
+滑稽本 > kokkeibon\ ;
+女子寮 > joshiryou\ ;
+政治的 > seijiteki\ ;
+上等兵 > joutouhei\ ;
+原稿紙 > genkoushi\ ;
+色眼鏡 > iromegane\ ;
+楽譜台 > gakufudai\ ;
+冷水塊 > reisuikai\ ;
+保護色 > hogoshoku\ ;
+色収差 > iroshuusa\ ;
+美術家 > bijutsuka\ ;
+再評価 > saihyouka\ ;
+競争馬 > kyousouba\ ;
+準備中 > junbichuu\ ;
+光合成 > kougousei\ ;
+悪条件 > akujouken\ ;
+三悪趣 > sanakushu\ ;
+主産地 > shusanchi\ ;
+貴方々 > anatagata\ ;
+巻積雲 > kensekiun\ ;
+希硫酸 > kiryuusan\ ;
+脱穀機 > dakkokuki\ ;
+鼎談会 > teidankai\ ;
+複本位 > fukuhon''i\ ;
+俗趣味 > zokushumi\ ;
+終止符 > shuushifu\ ;
+精製品 > seiseihin\ ;
+憲兵隊 > kenpeitai\ ;
+配偶者 > haiguusha\ ;
+充当金 > juutoukin\ ;
+消火栓 > shoukasen\ ;
+寄留者 > kiryuusha\ ;
+灰神楽 > haikagura\ ;
+不量見 > furyouken\ ;
+金一封 > kin''ippuu\ ;
+床運動 > yukaundou\ ;
+寄生虫 > kiseichuu\ ;
+三等分 > santoubun\ ;
+喫水線 > kissuisen\ ;
+悪玉化 > akudamaka\ ;
+超簡易 > choukan''i\ ;
+戯作者 > gesakusha\ ;
+青瓢箪 > aobyoutan\ ;
+患者様 > kanjasama\ ;
+五寸釘 > gosunkugi\ ;
+仮登記 > karitouki\ ;
+合同軍 > goudougun\ ;
+非現業 > higengyou\ ;
+勤労者 > kinrousha\ ;
+固定長 > koteichou\ ;
+殺菌剤 > sakkinzai\ ;
+洋服屋 > youfukuya\ ;
+起爆剤 > kibakuzai\ ;
+表示灯 > hyoujitou\ ;
+便利帳 > benrichou\ ;
+取材班 > shuzaihan\ ;
+脂肪体 > shiboutai\ ;
+郵便屋 > yuubin''ya\ ;
+中辞典 > chuujiten\ ;
+洗面台 > senmendai\ ;
+内裏雛 > dairibina\ ;
+全二重 > zen''nijuu\ ;
+溶解性 > youkaisei\ ;
+整数論 > seisuuron\ ;
+民社党 > minshatou\ ;
+企画書 > kikakusho\ ;
+生地獄 > ikijigoku\ ;
+純米酒 > junmaishu\ ;
+回遊魚 > kaiyuugyo\ ;
+無関心 > mukanshin\ ;
+友人間 > yuujinkan\ ;
+有斐閣 > yuuhikaku\ ;
+販売店 > hanbaiten\ ;
+志望校 > shiboukou\ ;
+奉迎門 > hougeimon\ ;
+面会人 > menkainin\ ;
+一箇月 > ikkagetsu\ ;
+送水管 > sousuikan\ ;
+冷凍船 > reitousen\ ;
+年配者 > nenpaisha\ ;
+手数料 > tesuuryou\ ;
+離魂病 > rikonbyou\ ;
+水中花 > suichuuka\ ;
+動名詞 > doumeishi\ ;
+黄金色 > koganeiro\ ;
+二元的 > nigenteki\ ;
+縞栗鼠 > shimarisu\ ;
+娯楽場 > gorakujou\ ;
+遊覧地 > yuuranchi\ ;
+本因坊 > hon''inbou\ ;
+共栄圏 > kyoueiken\ ;
+相対死 > aitaijini\ ;
+国自慢 > kunijiman\ ;
+重大視 > juudaishi\ ;
+企業内 > kigyounai\ ;
+同窓会 > dousoukai\ ;
+法蓮草 > hourensou\ ;
+海外版 > kaigaiban\ ;
+扇状地 > senjouchi\ ;
+打撃戦 > dagekisen\ ;
+透写紙 > toushashi\ ;
+人文史 > jinbunshi\ ;
+指定券 > shiteiken\ ;
+香水瓶 > kousuibin\ ;
+熱帯病 > netaibyou\ ;
+伝記物 > denkimono\ ;
+計量器 > keiryouki\ ;
+補償金 > hoshoukin\ ;
+軽犯罪 > keihanzai\ ;
+霰弾銃 > sandanjuu\ ;
+合憲性 > goukensei\ ;
+地鎮祭 > jichinsai\ ;
+主体性 > shutaisei\ ;
+素粒子 > soryuushi\ ;
+奇麗事 > kireigoto\ ;
+蝿地獄 > haejigoku\ ;
+大災害 > daisaigai\ ;
+楽天家 > rakutenka\ ;
+理性的 > riseiteki\ ;
+鼓笛隊 > kotekitai\ ;
+寒暖計 > kandankei\ ;
+花粉症 > kafunshou\ ;
+人為的 > jin''iteki\ ;
+受領者 > juryousha\ ;
+企画性 > kikakusei\ ;
+内需型 > naijugata\ ;
+原成岩 > genseigan\ ;
+表示板 > hyoujiban\ ;
+永久歯 > eikyuushi\ ;
+千社札 > senjafuda\ ;
+菩提心 > bodaishin\ ;
+表示書 > hyoujisho\ ;
+精算書 > seisansho\ ;
+放水管 > housuikan\ ;
+双子葉 > soushiyou\ ;
+性転換 > seitenkan\ ;
+輸送量 > yusouryou\ ;
+所有地 > shoyuuchi\ ;
+鼓手長 > koshuchou\ ;
+総本店 > souhonten\ ;
+元気者 > genkimono\ ;
+代弁者 > daibensha\ ;
+町医者 > machiisha\ ;
+製材所 > seizaisho\ ;
+反乱軍 > hanrangun\ ;
+総人口 > soujinkou\ ;
+店仕舞 > misejimai\ ;
+中保者 > chuuhosha\ ;
+立法者 > rippousha\ ;
+草相撲 > kusazumou\ ;
+予備錨 > yobiikari\ ;
+歓送会 > kansoukai\ ;
+双翅類 > soushirui\ ;
+紙細工 > kamizaiku\ ;
+山水荘 > sansuisou\ ;
+表沙汰 > omotezata\ ;
+唐獅子 > karajishi\ ;
+平和国 > heiwakoku\ ;
+低気圧 > teikiatsu\ ;
+作業用 > sagyouyou\ ;
+水害地 > suigaichi\ ;
+総本山 > souhonzan\ ;
+演説家 > enzetsuka\ ;
+盲腸炎 > mouchouen\ ;
+稀硫酸 > kiryuusan\ ;
+遣唐使 > kentoushi\ ;
+作業班 > sagyouhan\ ;
+活性炭 > kasseitan\ ;
+最小化 > saishouka\ ;
+乗降場 > joukoujou\ ;
+俗世界 > zokusekai\ ;
+毛織物 > keorimono\ ;
+志願書 > shigansho\ ;
+不死鳥 > fushichou\ ;
+悲観的 > hikanteki\ ;
+成功者 > seikousha\ ;
+看護学 > kangogaku\ ;
+上向線 > joukousen\ ;
+消炎剤 > shouenzai\ ;
+公休日 > koukyuubi\ ;
+総罷業 > souhigyou\ ;
+再投資 > saitoushi\ ;
+歌劇場 > kagekijou\ ;
+浄水場 > jousuijou\ ;
+水耕法 > suikouhou\ ;
+大演習 > daienshuu\ ;
+実測図 > jissokuzu\ ;
+膨張度 > bouchoudo\ ;
+映写幕 > eishamaku\ ;
+上水道 > jousuidou\ ;
+全住民 > zenjuumin\ ;
+浄水地 > jousuichi\ ;
+男性用 > danseiyou\ ;
+好奇心 > koukishin\ ;
+肉体美 > nikutaibi\ ;
+国家的 > kokkateki\ ;
+犠牲的 > giseiteki\ ;
+連子窓 > renjimado\ ;
+相対性 > soutaisei\ ;
+関心事 > kanshinji\ ;
+蒲団皮 > futongawa\ ;
+北斗星 > hokutosei\ ;
+本拠地 > honkyochi\ ;
+舞踏病 > butoubyou\ ;
+内外人 > naigaijin\ ;
+下種女 > gesuon''na\ ;
+赤電車 > akadensha\ ;
+粘板岩 > nenbangan\ ;
+事業者 > jigyousha\ ;
+歓迎会 > kangeikai\ ;
+託児所 > takujisho\ ;
+保証金 > hoshoukin\ ;
+猩々緋 > shoujouhi\ ;
+水時計 > mizudokei\ ;
+盲導犬 > moudouken\ ;
+販売人 > hanbainin\ ;
+人国記 > jinkokuki\ ;
+普及版 > fukyuuban\ ;
+半部族 > hanbuzoku\ ;
+飛道具 > tobidougu\ ;
+人間界 > ningenkai\ ;
+乳母車 > ubaguruma\ ;
+惨死体 > zanshitai\ ;
+運搬人 > unpan''nin\ ;
+抗生剤 > kouseizai\ ;
+世迷言 > yomaigoto\ ;
+伝言板 > dengonban\ ;
+自立語 > jiritsugo\ ;
+熱帯林 > nettairin\ ;
+永久性 > eikyuusei\ ;
+製本屋 > seihon''ya\ ;
+汽車賃 > kishachin\ ;
+禁裏様 > kinrisama\ ;
+慣用句 > kan''youku\ ;
+観光地 > kankouchi\ ;
+会見者 > kaikensha\ ;
+東天紅 > toutenkou\ ;
+観光団 > kankoudan\ ;
+技巧的 > gikouteki\ ;
+楽隠居 > rakuinkyo\ ;
+高速度 > kousokudo\ ;
+私生子 > shiseishi\ ;
+日記帳 > nikkichou\ ;
+政治学 > seijigaku\ ;
+水理学 > suirigaku\ ;
+母子寮 > boshiryou\ ;
+着心地 > kigokochi\ ;
+戒厳令 > kaigenrei\ ;
+投与量 > touyoryou\ ;
+哺乳類 > honyuurui\ ;
+大蝙蝠 > ookoumori\ ;
+無投票 > mutouhyou\ ;
+指了図 > shiryouzu\ ;
+適応性 > tekiousei\ ;
+回送車 > kaisousha\ ;
+漫才師 > manzaishi\ ;
+花火師 > hanabishi\ ;
+事業税 > jigyouzei\ ;
+収容所 > shuuyoujo\ ;
+国璽書 > kokujisho\ ;
+感覚器 > kankakuki\ ;
+教育費 > kyouikuhi\ ;
+固定給 > koteikyuu\ ;
+展覧会 > tenrankai\ ;
+交代制 > koutaisei\ ;
+巡視艇 > junshitei\ ;
+巡視船 > junshisen\ ;
+汎関数 > hankansuu\ ;
+全人生 > zenjinsei\ ;
+断強度 > dankyoudo\ ;
+処女作 > shojosaku\ ;
+個性的 > koseiteki\ ;
+全音階 > zen''onkai\ ;
+反乱者 > hanransha\ ;
+軽音楽 > keiongaku\ ;
+鑿岩機 > sakuganki\ ;
+回復期 > kaifukuki\ ;
+不合格 > fugoukaku\ ;
+周波計 > shuuhakei\ ;
+不可欠 > fukaketsu\ ;
+硬化症 > koukashou\ ;
+逆効果 > gyakkouka\ ;
+一等国 > ittoukoku\ ;
+全封地 > zenhouchi\ ;
+分配金 > bunpaikin\ ;
+回遊船 > kaiyuusen\ ;
+公会堂 > koukaidou\ ;
+無表情 > muhyoujou\ ;
+水餃子 > suigyouza\ ;
+風土病 > fuudobyou\ ;
+逃避的 > touhiteki\ ;
+古文学 > kobungaku\ ;
+優等生 > yuutousei\ ;
+固定票 > koteihyou\ ;
+対向車 > taikousha\ ;
+事業界 > jigyoukai\ ;
+批判的 > hihanteki\ ;
+天地人 > tenchijin\ ;
+血統書 > kettousho\ ;
+中二階 > chuunikai\ ;
+山葡萄 > yamabudou\ ;
+黄道面 > koudoumen\ ;
+受難週 > junanshuu\ ;
+尊厳死 > songenshi\ ;
+考古学 > koukogaku\ ;
+保険証 > hokenshou\ ;
+高分子 > koubunshi\ ;
+冥加金 > myougakin\ ;
+内地米 > naichimai\ ;
+枯葉剤 > karehazai\ ;
+招待日 > shoutaibi\ ;
+誓願権 > seiganken\ ;
+愛国者 > aikokusha\ ;
+訴願人 > sogan''nin\ ;
+領事館 > ryoujikan\ ;
+主犯者 > shuhansha\ ;
+防護壁 > bougoheki\ ;
+資金源 > shikingen\ ;
+鼠咬症 > sokoushou\ ;
+三重盗 > sanjuutou\ ;
+連体形 > rentaikei\ ;
+現段階 > gendankai\ ;
+成年者 > seinensha\ ;
+金解禁 > kinkaikin\ ;
+羽子突 > hanetsuki\ ;
+洗濯粉 > sentakuko\ ;
+光化学 > koukagaku\ ;
+農学部 > nougakubu\ ;
+主任制 > shuninsei\ ;
+舞踏服 > butoufuku\ ;
+経験論 > keikenron\ ;
+経験談 > keikendan\ ;
+擦過傷 > sakkashou\ ;
+再製品 > saiseihin\ ;
+四重奏 > shijuusou\ ;
+相対値 > soutaichi\ ;
+母子共 > boshitomo\ ;
+鉄火巻 > tekkamaki\ ;
+英作文 > eisakubun\ ;
+戦車兵 > senshahei\ ;
+再投稿 > saitoukou\ ;
+教養部 > kyouyoubu\ ;
+立法権 > rippouken\ ;
+妥協点 > dakyouten\ ;
+雲仙岳 > unzendake\ ;
+受領書 > juryousho\ ;
+不活化 > fukatsuka\ ;
+文章語 > bunshougo\ ;
+青信号 > aoshingou\ ;
+時計皿 > tokeizara\ ;
+幽冥界 > yuumeikai\ ;
+執行吏 > shikkouri\ ;
+等高線 > toukousen\ ;
+絞首台 > koushudai\ ;
+破擦音 > hasatsuon\ ;
+送受信 > soujushin\ ;
+一神論 > isshinron\ ;
+着道楽 > kidouraku\ ;
+明後年 > myougonen\ ;
+法務省 > houmushou\ ;
+酵素学 > kousogaku\ ;
+混合酒 > kongoushu\ ;
+図像学 > zuzougaku\ ;
+奉加帳 > hougachou\ ;
+感嘆詞 > kantanshi\ ;
+前売券 > maeuriken\ ;
+志願兵 > shiganhei\ ;
+反射光 > hanshakou\ ;
+皮細工 > kawazaiku\ ;
+復水器 > fukusuiki\ ;
+関連性 > kanrensei\ ;
+統語学 > tougogaku\ ;
+晴眼者 > seigansha\ ;
+講演料 > kouenryou\ ;
+敬老会 > keiroukai\ ;
+時間軸 > jikanjiku\ ;
+反対党 > hantaitou\ ;
+搭乗者 > toujousha\ ;
+社民党 > shamintou\ ;
+絞首刑 > koushukei\ ;
+創建者 > soukensha\ ;
+最大限 > saidaigen\ ;
+楓子香 > fuushikou\ ;
+混成岩 > konseigan\ ;
+紙粘土 > kaminendo\ ;
+条件文 > joukenbun\ ;
+意識体 > ishikitai\ ;
+私企業 > shikigyou\ ;
+空模様 > soramoyou\ ;
+公有林 > kouyuurin\ ;
+山水楼 > sansuirou\ ;
+寄留地 > kiryuuchi\ ;
+断剛性 > dangousei\ ;
+空元気 > karagenki\ ;
+打算的 > dasanteki\ ;
+退蔵品 > taizouhin\ ;
+影響圏 > eikyouken\ ;
+真善美 > shinzenbi\ ;
+仲保者 > chuuhosha\ ;
+手術衣 > shujutsui\ ;
+人間愛 > ningen''ai\ ;
+理知的 > richiteki\ ;
+琥珀色 > kohakuiro\ ;
+御蔭様 > okagesama\ ;
+毛細管 > mousaikan\ ;
+白胡麻 > shirogoma\ ;
+主人公 > shujinkou\ ;
+人間性 > ningensei\ ;
+単孔類 > tankourui\ ;
+同労者 > dourousha\ ;
+即時性 > sokujisei\ ;
+乳呑児 > chinomigo\ ;
+不徳漢 > futokukan\ ;
+遭遇戦 > souguusen\ ;
+又家来 > matagerai\ ;
+正書法 > seishohou\ ;
+独自性 > dokujisei\ ;
+弁財天 > benzaiten\ ;
+勤務先 > kinmusaki\ ;
+持久戦 > jikyuusen\ ;
+重要視 > juuyoushi\ ;
+空梅雨 > karatsuyu\ ;
+混成団 > konseidan\ ;
+火口壁 > kakouheki\ ;
+時間表 > jikanhyou\ ;
+砂利道 > jarimichi\ ;
+会計官 > kaikeikan\ ;
+賤業婦 > sengyoufu\ ;
+経験者 > keikensha\ ;
+韓国語 > hankokugo\ ;
+教材費 > kyouzaihi\ ;
+勝利者 > shourisha\ ;
+潜伏期 > senpukuki\ ;
+大団円 > daidan''en\ ;
+午前様 > gozensama\ ;
+海潮音 > kaichouon\ ;
+正犯者 > seihansha\ ;
+可圧性 > kaatsusei\ ;
+船大工 > funadaiku\ ;
+土地柄 > tochigara\ ;
+登舷礼 > tougenrei\ ;
+政府筋 > seifusuji\ ;
+活性剤 > kasseizai\ ;
+反体制 > hantaisei\ ;
+藻菌類 > soukinrui\ ;
+滑石粉 > kassekiko\ ;
+緩衝器 > kanshouki\ ;
+鳩羽色 > hatobairo\ ;
+顕微鏡 > kenbikyou\ ;
+測定器 > sokuteiki\ ;
+名店街 > meitengai\ ;
+利休色 > rikyuuiro\ ;
+国事犯 > kokujihan\ ;
+混成品 > konseihin\ ;
+分配者 > bunpaisha\ ;
+半透明 > hantoumei\ ;
+分水線 > bunsuisen\ ;
+遊戯的 > yuugiteki\ ;
+近視眼 > kinshigan\ ;
+主謀者 > shubousha\ ;
+会計士 > kaikeishi\ ;
+初年兵 > shonenhei\ ;
+同年輩 > dounenpai\ ;
+珍無類 > chinmurui\ ;
+箝口令 > kankourei\ ;
+合法性 > gouhousei\ ;
+総領事 > souryouji\ ;
+州政府 > shuuseifu\ ;
+商務官 > shoumukan\ ;
+応接間 > ousetsuma\ ;
+参会者 > sankaisha\ ;
+五人組 > goningumi\ ;
+黄水晶 > kizuishou\ ;
+内裏様 > dairisama\ ;
+大衆化 > taishuuka\ ;
+重大性 > juudaisei\ ;
+外国語 > gaikokugo\ ;
+勢力家 > seiryokka\ ;
+声楽家 > seigakuka\ ;
+製靴業 > seikagyou\ ;
+箱馬車 > hakobasha\ ;
+宮内省 > kunaishou\ ;
+事業所 > jigyousho\ ;
+穿山甲 > senzankou\ ;
+臨港線 > rinkousen\ ;
+唯名論 > yuimeiron\ ;
+改造車 > kaizousha\ ;
+黄金国 > ougonkoku\ ;
+芋羊羹 > imoyoukan\ ;
+更生品 > kouseihin\ ;
+芋羊羮 > imoyoukan\ ;
+広小路 > hirokouji\ ;
+空返事 > sorahenji\ ;
+腐植土 > fushokudo\ ;
+次善策 > jizensaku\ ;
+遠眼鏡 > toomegane\ ;
+創造者 > souzousha\ ;
+休電日 > kyuudenbi\ ;
+板門店 > hanmonten\ ;
+導入部 > dounyuubu\ ;
+禅問答 > zenmondou\ ;
+複数個 > fukusuuko\ ;
+盲学校 > mougakkou\ ;
+詞華集 > shikashuu\ ;
+研修課 > kenshuuka\ ;
+弾性体 > danseitai\ ;
+献呈本 > kenteibon\ ;
+尾長鶏 > onagadori\ ;
+放送網 > housoumou\ ;
+麻酔薬 > masuiyaku\ ;
+千年紀 > sen''nenki\ ;
+僧帽弁 > soubouben\ ;
+太鼓腹 > taikobara\ ;
+前装砲 > zensouhou\ ;
+分遣隊 > bunkentai\ ;
+吹奏者 > suisousha\ ;
+好角家 > koukakuka\ ;
+悪天候 > akutenkou\ ;
+推進機 > suishinki\ ;
+鉤十字 > kagijuuji\ ;
+乱気流 > rankiryuu\ ;
+冷凍剤 > reitouzai\ ;
+初対面 > shotaimen\ ;
+未収載 > mishuusai\ ;
+嗜好品 > shikouhin\ ;
+火砕流 > kasairyuu\ ;
+悪天使 > akutenshi\ ;
+強化米 > kyoukamai\ ;
+水雷艇 > suiraitei\ ;
+観楓会 > kanpuukai\ ;
+体験談 > taikendan\ ;
+無感覚 > mukankaku\ ;
+群速度 > gunsokudo\ ;
+電総研 > densouken\ ;
+不確定 > fukakutei\ ;
+白百合 > shirayuri\ ;
+舞踊劇 > buyougeki\ ;
+火口丘 > kakoukyuu\ ;
+不正確 > fuseikaku\ ;
+陽子線 > youshisen\ ;
+時間給 > jikankyuu\ ;
+分水界 > bunsuikai\ ;
+乱反射 > ranhansha\ ;
+解答欄 > kaitouran\ ;
+魚雷艇 > gyoraitei\ ;
+公有地 > kouyuuchi\ ;
+欺瞞的 > gimanteki\ ;
+明瞭度 > meiryoudo\ ;
+会計係 > kaikeikei\ ;
+輸入税 > yunyuuzei\ ;
+不心得 > fukokoroe\ ;
+二業地 > nigyouchi\ ;
+単子論 > tanshiron\ ;
+証拠金 > shoukokin\ ;
+生演奏 > namaensou\ ;
+微分学 > bibungaku\ ;
+専従者 > senjuusha\ ;
+仙台侯 > sendaikou\ ;
+兄弟愛 > kyoudaiai\ ;
+万華鏡 > mangekyou\ ;
+禁漁期 > kinryouki\ ;
+人間像 > ningenzou\ ;
+回帰的 > kaikiteki\ ;
+市民税 > shiminzei\ ;
+富士額 > fujibitai\ ;
+光速度 > kousokudo\ ;
+開票所 > kaihyoujo\ ;
+体育館 > taiikukan\ ;
+変調波 > henchouha\ ;
+同盟軍 > doumeigun\ ;
+告訴人 > kokusonin\ ;
+学士院 > gakushiin\ ;
+倫理的 > rinriteki\ ;
+点鼻薬 > tenbiyaku\ ;
+投書欄 > toushoran\ ;
+訴訟法 > soshouhou\ ;
+四半分 > shihanbun\ ;
+吸音材 > kyuuonzai\ ;
+初体験 > shotaiken\ ;
+輸入盤 > yunyuuban\ ;
+不知火 > shiranuhi\ ;
+卵細胞 > ransaibou\ ;
+二極化 > nikyokuka\ ;
+南京錠 > nankinjou\ ;
+鳩時計 > hatodokei\ ;
+哺乳瓶 > honyuubin\ ;
+西洋風 > seiyoufuu\ ;
+既製服 > kiseifuku\ ;
+野外劇 > yagaigeki\ ;
+普遍的 > fuhenteki\ ;
+事業団 > jigyoudan\ ;
+小役人 > koyakunin\ ;
+鳥媒花 > choubaika\ ;
+自治領 > jichiryou\ ;
+破壊的 > hakaiteki\ ;
+窮措大 > kyuusodai\ ;
+達磨船 > darumasen\ ;
+内在性 > naizaisei\ ;
+小荷物 > konimotsu\ ;
+日系人 > nikkeijin\ ;
+精神科 > seishinka\ ;
+一合目 > ichigoume\ ;
+住居跡 > juukyoato\ ;
+再抗弁 > saikouben\ ;
+農作業 > nousagyou\ ;
+螢光燈 > keikoutou\ ;
+付年表 > funenpyou\ ;
+正誤表 > seigohyou\ ;
+四輪車 > yonrinsha\ ;
+金米糖 > konpeitou\ ;
+三重奏 > sanjuusou\ ;
+保証書 > hoshousho\ ;
+否定的 > hiteiteki\ ;
+不連続 > furenzoku\ ;
+武断的 > budanteki\ ;
+出穂期 > shussuiki\ ;
+上半期 > kamihanki\ ;
+単子葉 > tanshiyou\ ;
+微分商 > bibunshou\ ;
+義兄弟 > gikyoudai\ ;
+複素数 > fukusosuu\ ;
+転校生 > tenkousei\ ;
+昼夜帯 > chuuyaobi\ ;
+事件表 > jikenhyou\ ;
+螢光灯 > keikoutou\ ;
+強硬派 > kyoukouha\ ;
+排気量 > haikiryou\ ;
+女文字 > on''namoji\ ;
+無所属 > mushozoku\ ;
+周波数 > shuuhasuu\ ;
+猛禽類 > moukinrui\ ;
+生態系 > seitaikei\ ;
+散文詩 > sanbunshi\ ;
+栽培種 > saibaishu\ ;
+原著者 > genchosha\ ;
+電話料 > denwaryou\ ;
+技能賞 > ginoushou\ ;
+料金所 > ryoukinjo\ ;
+支配者 > shihaisha\ ;
+洗濯屋 > sentakuya\ ;
+側近者 > sokkinsha\ ;
+実社会 > jisshakai\ ;
+御連絡 > gorenraku\ ;
+香川県 > kagawaken\ ;
+点滴器 > tentekiki\ ;
+予定表 > yoteihyou\ ;
+弁護料 > bengoryou\ ;
+主要駅 > shuyoueki\ ;
+対応策 > taiousaku\ ;
+輸入港 > yunyuukou\ ;
+同志会 > doushikai\ ;
+迎撃機 > geigekiki\ ;
+人地名 > jinchimei\ ;
+保険料 > hokenryou\ ;
+大和芋 > yamatoimo\ ;
+高優先 > kouyuusen\ ;
+放送法 > housouhou\ ;
+示力図 > jiryokuzu\ ;
+雪女郎 > yukijorou\ ;
+零細農 > reisainou\ ;
+真清水 > mashimizu\ ;
+助太刀 > sukedachi\ ;
+克己心 > kokkishin\ ;
+設計者 > sekkeisha\ ;
+無神論 > mushinron\ ;
+有袋類 > yuutairui\ ;
+一殺那 > issetsuna\ ;
+心理戦 > shinrisen\ ;
+御歴歴 > orekireki\ ;
+不平等 > fubyoudou\ ;
+利尿剤 > rinyouzai\ ;
+絹積雲 > kensekiun\ ;
+牧歌的 > bokkateki\ ;
+漸近線 > zenkinsen\ ;
+子安貝 > koyasukai\ ;
+旅日記 > tabinikki\ ;
+売上金 > uriagekin\ ;
+受給者 > jukyuusha\ ;
+明年度 > myounendo\ ;
+二枚舌 > nimaijita\ ;
+三重冠 > sanjuukan\ ;
+誘電子 > yuudenshi\ ;
+関係詞 > kankeishi\ ;
+紡錘形 > bousuikei\ ;
+奉幣使 > houheishi\ ;
+革細工 > kawazaiku\ ;
+市民法 > shiminhou\ ;
+最敬礼 > saikeirei\ ;
+苦学生 > kugakusei\ ;
+得意先 > tokuisaki\ ;
+雨仕度 > amajitaku\ ;
+周波帯 > shuuhatai\ ;
+管制官 > kanseikan\ ;
+燃料費 > nenryouhi\ ;
+年輩者 > nenpaisha\ ;
+量記号 > ryoukigou\ ;
+発光体 > hakkoutai\ ;
+半円形 > han''enkei\ ;
+円虫類 > enchuurui\ ;
+懸想文 > kesoubumi\ ;
+検潮器 > kenchouki\ ;
+姉妹編 > shimaihen\ ;
+血糖値 > kettouchi\ ;
+無重量 > mujuuryou\ ;
+電話帳 > denwachou\ ;
+午前中 > gozenchuu\ ;
+営業所 > eigyousho\ ;
+米市場 > beiichiba\ ;
+不動心 > fudoushin\ ;
+推進器 > suishinki\ ;
+小判形 > kobangata\ ;
+回送店 > kaisouten\ ;
+照明器 > shoumeiki\ ;
+徹甲弾 > tekkoudan\ ;
+宮内庁 > kunaichou\ ;
+市民権 > shiminken\ ;
+千年期 > sen''nenki\ ;
+半舷砲 > hangenhou\ ;
+権威筋 > ken''isuji\ ;
+変電所 > hendensho\ ;
+電解液 > denkaieki\ ;
+雲上人 > unjoubito\ ;
+一周年 > isshuunen\ ;
+管制塔 > kanseitou\ ;
+華厳経 > kegonkyou\ ;
+対情報 > taijouhou\ ;
+格変化 > kakuhenka\ ;
+教育家 > kyouikuka\ ;
+安息香 > ansokukou\ ;
+石鹸水 > sekkensui\ ;
+不勉強 > fubenkyou\ ;
+塩化物 > enkabutsu\ ;
+両用機 > ryouyouki\ ;
+当世風 > touseifuu\ ;
+格天井 > goutenjou\ ;
+中耕機 > chuukouki\ ;
+不適格 > futekkaku\ ;
+遠心分 > enshinbun\ ;
+普通法 > futsuuhou\ ;
+媒染剤 > baisenzai\ ;
+破裂音 > haretsuon\ ;
+主観論 > shukanron\ ;
+二番作 > nibansaku\ ;
+生命線 > seimeisen\ ;
+空対空 > kuutaikuu\ ;
+猛吹雪 > moufubuki\ ;
+高射砲 > koushahou\ ;
+一歩銀 > ichibugin\ ;
+禁漁区 > kinryouku\ ;
+奈良漬 > naradzuke\ ;
+形象化 > keishouka\ ;
+内地人 > naichijin\ ;
+石南花 > shakunage\ ;
+傀儡師 > kairaishi\ ;
+一歩金 > ichibukin\ ;
+痩我慢 > yasegaman\ ;
+悪因縁 > akuin''nen\ ;
+不眠症 > fuminshou\ ;
+電解槽 > denkaisou\ ;
+法華宗 > hokkeshuu\ ;
+一瞬間 > isshunkan\ ;
+正三位 > shousanmi\ ;
+弾道弾 > dandoudan\ ;
+混合林 > kongourin\ ;
+水墨画 > suibokuga\ ;
+交易会 > kouekikai\ ;
+高楊子 > takayouji\ ;
+権威的 > ken''iteki\ ;
+社用車 > shayousha\ ;
+分水嶺 > bunsuirei\ ;
+子供用 > kodomoyou\ ;
+親孝行 > oyakoukou\ ;
+発射筒 > hasshatou\ ;
+拾万円 > juuman''en\ ;
+勤皇家 > kin''nouka\ ;
+乳化剤 > nyuukazai\ ;
+近地点 > kinchiten\ ;
+無競争 > mukyousou\ ;
+交際法 > kousaihou\ ;
+私有地 > shiyuuchi\ ;
+参与者 > san''yosha\ ;
+飲料水 > inryousui\ ;
+秋日和 > akibiyori\ ;
+区役所 > kuyakusho\ ;
+立志伝 > risshiden\ ;
+天秤棒 > tenbinbou\ ;
+変調器 > henchouki\ ;
+小判型 > kobangata\ ;
+関係者 > kankeisha\ ;
+大成功 > daiseikou\ ;
+二人称 > nininshou\ ;
+偶像視 > guuzoushi\ ;
+偶蹄類 > guuteirui\ ;
+来訪者 > raihousha\ ;
+騒乱罪 > souranzai\ ;
+完成品 > kanseihin\ ;
+創造性 > souzousei\ ;
+排水管 > haisuikan\ ;
+又請負 > mataukeoi\ ;
+金閣寺 > kinkakuji\ ;
+誘電体 > yuudentai\ ;
+南京米 > nankinmai\ ;
+無神経 > mushinkei\ ;
+銀交換 > ginkoukan\ ;
+不干渉 > fukanshou\ ;
+製塩業 > seiengyou\ ;
+教会員 > kyoukaiin\ ;
+搭乗券 > toujouken\ ;
+過硫酸 > karyuusan\ ;
+運命的 > unmeiteki\ ;
+観桜会 > kan''oukai\ ;
+無礼者 > bureimono\ ;
+構文法 > koubunpou\ ;
+接近戦 > sekkinsen\ ;
+無法者 > muhoumono\ ;
+不適当 > futekitou\ ;
+無水鍋 > musuinabe\ ;
+月給日 > gekkyuubi\ ;
+斥候隊 > sekkoutai\ ;
+創業費 > sougyouhi\ ;
+重要性 > juuyousei\ ;
+総売上 > souuriage\ ;
+十円玉 > juuendama\ ;
+倫理学 > rinrigaku\ ;
+一週間 > isshuukan\ ;
+社内報 > shanaihou\ ;
+住宅費 > juutakuhi\ ;
+屈地性 > kutchisei\ ;
+国有化 > kokuyuuka\ ;
+通風機 > tsuufuuki\ ;
+家屋敷 > ieyashiki\ ;
+山椒魚 > sanshouuo\ ;
+公文書 > koubunsho\ ;
+決定論 > ketteiron\ ;
+保証人 > hoshounin\ ;
+沿海州 > enkaishuu\ ;
+不道徳 > fudoutoku\ ;
+便乗者 > binjousha\ ;
+一升瓶 > isshoubin\ ;
+空腹時 > kuufukuji\ ;
+前衛戦 > zen''eisen\ ;
+感情論 > kanjouron\ ;
+支配権 > shihaiken\ ;
+団子鼻 > dangobana\ ;
+全論点 > zenronten\ ;
+道化者 > doukemono\ ;
+西洋紙 > seiyoushi\ ;
+書記長 > shokichou\ ;
+忌言葉 > imikotoba\ ;
+難事業 > nanjigyou\ ;
+付帯的 > futaiteki\ ;
+高飛車 > takabisha\ ;
+電話中 > denwachuu\ ;
+黄道帯 > koudoutai\ ;
+高校生 > koukousei\ ;
+肺水腫 > haisuishu\ ;
+商用語 > shouyougo\ ;
+略記法 > ryakkihou\ ;
+葡萄棚 > budoudana\ ;
+奉公人 > houkounin\ ;
+仏法僧 > buppousou\ ;
+体育祭 > taiikusai\ ;
+普通弾 > futsuudan\ ;
+戦中派 > senchuuha\ ;
+高山帯 > kouzantai\ ;
+性犯罪 > seihanzai\ ;
+民芸品 > mingeihin\ ;
+親会社 > oyagaisha\ ;
+参賀帳 > sangachou\ ;
+三輪車 > sanrinsha\ ;
+産科学 > sankagaku\ ;
+車内灯 > shanaitou\ ;
+医務室 > imushitsu\ ;
+永続性 > eizokusei\ ;
+探検隊 > tankentai\ ;
+実務家 > jitsumuka\ ;
+必須格 > hissukaku\ ;
+大和歌 > yamatouta\ ;
+丸太材 > marutazai\ ;
+研修所 > kenshuujo\ ;
+一刹那 > issetsuna\ ;
+公明党 > koumeitou\ ;
+絵空言 > esoragoto\ ;
+羅針盤 > rashinban\ ;
+器量人 > kiryoujin\ ;
+国際語 > kokusaigo\ ;
+四辺形 > shihenkei\ ;
+発作的 > hossateki\ ;
+聾学校 > rougakkou\ ;
+掃海艇 > soukaitei\ ;
+参考書 > sankousho\ ;
+化粧品 > keshouhin\ ;
+地平面 > chiheimen\ ;
+低能者 > teinousha\ ;
+先験論 > senkenron\ ;
+集英社 > shuueisha\ ;
+用水池 > yousuichi\ ;
+受難劇 > junangeki\ ;
+倉庫業 > soukogyou\ ;
+千六本 > senroppon\ ;
+輸入品 > yunyuuhin\ ;
+化粧台 > keshoudai\ ;
+塩加減 > shiokagen\ ;
+蛍光燈 > keikoutou\ ;
+娘子軍 > joushigun\ ;
+自治省 > jichishou\ ;
+尾長猿 > onagazaru\ ;
+警防団 > keiboudan\ ;
+正解者 > seikaisha\ ;
+限度額 > gendogaku\ ;
+再洗礼 > saisenrei\ ;
+姉妹校 > shimaikou\ ;
+格闘技 > kakutougi\ ;
+青春期 > seishunki\ ;
+速記録 > sokkiroku\ ;
+優勝馬 > yuushouba\ ;
+気候学 > kikougaku\ ;
+病院船 > byouinsen\ ;
+国文科 > kokubunka\ ;
+担当者 > tantousha\ ;
+来場者 > raijousha\ ;
+蛍光灯 > keikoutou\ ;
+排水溝 > haisuikou\ ;
+峻下剤 > shungezai\ ;
+外商部 > gaishoubu\ ;
+正方形 > seihoukei\ ;
+月経帯 > gekkeitai\ ;
+角行灯 > kakuandon\ ;
+課徴金 > kachoukin\ ;
+交換船 > koukansen\ ;
+保管証 > hokanshou\ ;
+添加物 > tenkamono\ ;
+一分銀 > ichibugin\ ;
+来観者 > raikansha\ ;
+綺羅星 > kiraboshi\ ;
+山岳部 > sangakubu\ ;
+発展性 > hattensei\ ;
+一分金 > ichibukin\ ;
+協定案 > kyouteian\ ;
+注射器 > chuushaki\ ;
+司法権 > shihouken\ ;
+正攻法 > seikouhou\ ;
+手拍子 > tebyoushi\ ;
+社会面 > shakaimen\ ;
+象皮病 > zouhibyou\ ;
+禁反言 > kinhangen\ ;
+無双窓 > musoumado\ ;
+時間割 > jikanwari\ ;
+用心棒 > youjinbou\ ;
+再感染 > saikansen\ ;
+毛製品 > mouseihin\ ;
+化粧代 > keshoudai\ ;
+格納庫 > kakunouko\ ;
+総索引 > sousakuin\ ;
+予審廷 > yoshintei\ ;
+茶屋酒 > chayazake\ ;
+四分円 > shibun''en\ ;
+佗住居 > wabizumai\ ;
+片手桶 > katateoke\ ;
+創刊号 > soukangou\ ;
+四分六 > shiburoku\ ;
+防潜網 > bousenmou\ ;
+名刺判 > meishiban\ ;
+河童巻 > kappamaki\ ;
+向光性 > koukousei\ ;
+勲一等 > kun''ittou\ ;
+反物屋 > tanmonoya\ ;
+互譲的 > gojouteki\ ;
+世界的 > sekaiteki\ ;
+御迷惑 > gomeiwaku\ ;
+三部作 > sanbusaku\ ;
+正面図 > shoumenzu\ ;
+表具師 > hyougushi\ ;
+不適任 > futekinin\ ;
+経企庁 > keikichou\ ;
+運動領 > undouryou\ ;
+先般来 > senpanrai\ ;
+定冠詞 > teikanshi\ ;
+黄道光 > koudoukou\ ;
+接尾辞 > setsubiji\ ;
+水無月 > minadzuki\ ;
+駐在員 > chuuzaiin\ ;
+輸尿管 > yunyoukan\ ;
+国防費 > kokubouhi\ ;
+侍従長 > jijuuchou\ ;
+殺風景 > sappuukei\ ;
+中支那 > nakashina\ ;
+誤挿入 > gosounyuu\ ;
+正教授 > seikyouju\ ;
+休火山 > kyuukazan\ ;
+子守歌 > komoriuta\ ;
+決定稿 > ketteikou\ ;
+防火壁 > boukaheki\ ;
+台湾人 > taiwanjin\ ;
+日章旗 > nisshouki\ ;
+部隊長 > butaichou\ ;
+御真影 > goshin''ei\ ;
+凝固点 > gyoukoten\ ;
+支店網 > shitenmou\ ;
+数表示 > suuhyouji\ ;
+風向計 > fuukoukei\ ;
+蛍光板 > keikouban\ ;
+新聞舗 > shinbunho\ ;
+西南西 > seinansei\ ;
+避雷針 > hiraishin\ ;
+獅子舞 > shishimai\ ;
+任期中 > ninkichuu\ ;
+方面隊 > houmentai\ ;
+風鈴草 > fuurinsou\ ;
+花野菜 > hanayasai\ ;
+曲独楽 > kyokugoma\ ;
+真向法 > makkouhou\ ;
+商船旗 > shousenki\ ;
+研修員 > kenshuuin\ ;
+評判記 > hyoubanki\ ;
+普通便 > futsuubin\ ;
+副知事 > fukuchiji\ ;
+母集団 > boshuudan\ ;
+三冠王 > sankan''ou\ ;
+恋愛観 > ren''aikan\ ;
+併行線 > heikousen\ ;
+地役権 > chiekiken\ ;
+普通人 > futsuujin\ ;
+先導者 > sendousha\ ;
+再協議 > saikyouki\ ;
+投降者 > toukousha\ ;
+代赭色 > taishairo\ ;
+接尾語 > setsubigo\ ;
+劇作家 > gekisakka\ ;
+重戦車 > juusensha\ ;
+音楽隊 > ongakutai\ ;
+再禁止 > saikinshi\ ;
+燻蒸剤 > kunjouzai\ ;
+洋裁師 > yousaishi\ ;
+真正面 > mashoumen\ ;
+月経前 > gekkeimae\ ;
+運動量 > undouryou\ ;
+低山帯 > teizantai\ ;
+励振器 > reishinki\ ;
+英雄的 > eiyuuteki\ ;
+記者席 > kishaseki\ ;
+健康者 > kenkousha\ ;
+肥満症 > himanshou\ ;
+最大値 > saidaichi\ ;
+計画案 > keikakuan\ ;
+華厳宗 > kegonshuu\ ;
+主要点 > shuyouten\ ;
+仮住居 > karizumai\ ;
+会員証 > kaiinshou\ ;
+精薄児 > seihakuji\ ;
+挿入図 > sounyuuzu\ ;
+丁年者 > teinensha\ ;
+監査役 > kansayaku\ ;
+薄化粧 > usugeshou\ ;
+出勤簿 > shukkinbo\ ;
+中央線 > chuuousen\ ;
+履歴書 > rirekisho\ ;
+養嗣子 > youshishi\ ;
+大海原 > oounabara\ ;
+低価格 > teikakaku\ ;
+交際上 > kousaijou\ ;
+参考品 > sankouhin\ ;
+神経科 > shinkeika\ ;
+小作農 > kosakunou\ ;
+私文書 > shibunsho\ ;
+決定版 > ketteiban\ ;
+心不全 > shinfuzen\ ;
+乳幼児 > nyuuyouji\ ;
+規則書 > kisokusho\ ;
+加除式 > kajoshiki\ ;
+司法官 > shihoukan\ ;
+空対地 > kuutaichi\ ;
+正視眼 > seishigan\ ;
+早慶戦 > soukeisen\ ;
+掘削機 > kussakuki\ ;
+未確定 > mikakutei\ ;
+高架橋 > koukakyou\ ;
+個別化 > kobetsuka\ ;
+挿入句 > sounyuuku\ ;
+政権党 > seikentou\ ;
+射利心 > sharishin\ ;
+監察医 > kansatsui\ ;
+道化方 > doukegata\ ;
+半二重 > han''nijuu\ ;
+禁治産 > kinchisan\ ;
+単語集 > tangoshuu\ ;
+用水地 > yousuiike\ ;
+車高短 > shakoutan\ ;
+消化腺 > shoukasen\ ;
+近海魚 > kinkaigyo\ ;
+排水孔 > haisuikou\ ;
+木金土 > mokukindo\ ;
+持続性 > jizokusei\ ;
+名工大 > meikoudai\ ;
+支配人 > shihainin\ ;
+幹事長 > kanjichou\ ;
+長水路 > chousuiro\ ;
+平党員 > hiratouin\ ;
+循環線 > junkansen\ ;
+下剋上 > gekokujou\ ;
+上層風 > jousoufuu\ ;
+圧延鋼 > atsuenkou\ ;
+菠薐草 > hourensou\ ;
+準教員 > junkyouin\ ;
+凹眼鏡 > ougankyou\ ;
+物価高 > bukkadaka\ ;
+誘拐罪 > yuukaizai\ ;
+循環系 > junkankei\ ;
+派生的 > haseiteki\ ;
+素反応 > sohan''nou\ ;
+在郷者 > zaigousha\ ;
+北海道 > hokkaidou\ ;
+林檎病 > ringobyou\ ;
+薬事法 > yakujihou\ ;
+短毛種 > tanmoushu\ ;
+概念論 > gainenron\ ;
+道徳家 > doutokuka\ ;
+参与官 > san''yokan\ ;
+最終案 > saishuuan\ ;
+世界新 > sekaishin\ ;
+参考人 > sankounin\ ;
+屋台骨 > yataibone\ ;
+大歓迎 > daikangei\ ;
+上層階 > jousoukai\ ;
+一切経 > issaikyou\ ;
+再配置 > saihaichi\ ;
+肌襦袢 > hadajuban\ ;
+六角形 > rokkakkei\ ;
+新生児 > shinseiji\ ;
+先住者 > senjuusha\ ;
+醜業婦 > shugyoufu\ ;
+裁判権 > saibanken\ ;
+大神宮 > daijinguu\ ;
+正教員 > seikyouin\ ;
+悪戯着 > itazuragi\ ;
+昼行灯 > hiruandon\ ;
+地平線 > chiheisen\ ;
+配電線 > haidensen\ ;
+白頭翁 > hakutouou\ ;
+発射台 > hasshadai\ ;
+主陣地 > shujinchi\ ;
+感想文 > kansoubun\ ;
+消化系 > shoukakei\ ;
+主観性 > shukansei\ ;
+大法廷 > daihoutei\ ;
+最終日 > saishuubi\ ;
+決定権 > ketteiken\ ;
+兎小屋 > usagigoya\ ;
+多神論 > tashinron\ ;
+後半生 > kouhansei\ ;
+増訂版 > zouteiban\ ;
+所在地 > shozaichi\ ;
+災害地 > saigaichi\ ;
+消化管 > shoukakan\ ;
+年代順 > nendaijun\ ;
+神経炎 > shinkeien\ ;
+奉仕者 > houshisha\ ;
+再受浸 > saijushin\ ;
+操業費 > sougyouhi\ ;
+二人前 > futarimae\ ;
+富士壺 > fujitsubo\ ;
+百貨店 > hyakkaten\ ;
+横断幕 > oudanmaku\ ;
+二人分 > futaribun\ ;
+納税者 > nouzeisha\ ;
+酸性紙 > sanseishi\ ;
+左右軸 > sayuujiku\ ;
+天水桶 > tensuioke\ ;
+公開状 > koukaijou\ ;
+貴金属 > kikinzoku\ ;
+波羅蜜 > haramitsu\ ;
+狩猟期 > shuryouki\ ;
+文法書 > bunpousho\ ;
+占領下 > senryouka\ ;
+燃焼炉 > nenshouro\ ;
+古筆家 > kohitsuka\ ;
+防衛庁 > boueichou\ ;
+大祭司 > daisaishi\ ;
+雛罌粟 > hinageshi\ ;
+全天候 > zentenkou\ ;
+超短波 > choutanpa\ ;
+放射能 > houshanou\ ;
+前科者 > zenkamono\ ;
+長野県 > naganoken\ ;
+青大将 > aodaishou\ ;
+知恵熱 > chienetsu\ ;
+包装紙 > housoushi\ ;
+会員章 > kaiinshou\ ;
+米産地 > beisanchi\ ;
+八角形 > hakkakkei\ ;
+五大洲 > godaishuu\ ;
+新学期 > shingakki\ ;
+配電盤 > haidenban\ ;
+英文学 > eibungaku\ ;
+子守唄 > komoriuta\ ;
+御兄弟 > gokyoudai\ ;
+裁判所 > saibansho\ ;
+参院選 > san''insen\ ;
+軍人風 > gunjinfuu\ ;
+無得点 > mutokuten\ ;
+論理的 > ronriteki\ ;
+劃期的 > kakkiteki\ ;
+三省堂 > sanseidou\ ;
+虚弱児 > kyojakuji\ ;
+当事国 > toujikoku\ ;
+論争者 > ronsousha\ ;
+放射線 > houshasen\ ;
+崇拝者 > suuhaisha\ ;
+健康法 > kenkouhou\ ;
+怪文書 > kaibunsho\ ;
+逮捕歴 > taihoreki\ ;
+筆頭者 > hittousha\ ;
+乾生姜 > kanshouga\ ;
+生残者 > seizansha\ ;
+淡水魚 > tansuigyo\ ;
+贈答品 > zoutouhin\ ;
+交換手 > koukanshu\ ;
+蛍光体 > keikoutai\ ;
+氷点下 > hyoutenka\ ;
+誘拐犯 > yuukaihan\ ;
+煎玉子 > iritamago\ ;
+興信所 > koushinjo\ ;
+甘味料 > kanmiryou\ ;
+試験紙 > shikenshi\ ;
+熏蒸剤 > kunjouzai\ ;
+肉襦袢 > nikujuban\ ;
+監守人 > kanshunin\ ;
+増大号 > zoudaigou\ ;
+滑走輪 > kassourin\ ;
+再創造 > saisouzou\ ;
+西洋史 > seiyoushi\ ;
+戸籍法 > kosekihou\ ;
+荒物屋 > aramonoya\ ;
+中西部 > chuuseibu\ ;
+自動的 > jidouteki\ ;
+借家人 > shakkanin\ ;
+法学部 > hougakubu\ ;
+軍資金 > gunshikin\ ;
+文法性 > bunpousei\ ;
+農夫症 > noufushou\ ;
+材料費 > zairyouhi\ ;
+催涙銃 > sairuijuu\ ;
+変換子 > henkanshi\ ;
+材木屋 > zaimokuya\ ;
+貧窮化 > hinkyuuka\ ;
+早合点 > hayagaten\ ;
+肥満性 > himanshou\ ;
+車馬賃 > shabachin\ ;
+竜騎兵 > ryuukihei\ ;
+土台石 > dodaiishi\ ;
+帰納的 > kinouteki\ ;
+試験管 > shikenkan\ ;
+男子高 > danshikou\ ;
+大反対 > daihantai\ ;
+非国民 > hikokumin\ ;
+小豆鱒 > azukimasu\ ;
+莢豌豆 > sayaendou\ ;
+両替機 > ryougaeki\ ;
+綿火薬 > menkayaku\ ;
+人民軍 > jinmingun\ ;
+欠勤者 > kekkinsha\ ;
+小作米 > kosakumai\ ;
+泥板岩 > deibangan\ ;
+擬革紙 > gikakushi\ ;
+貴重品 > kichouhin\ ;
+火山礫 > kazanreki\ ;
+顔写真 > kaojashin\ ;
+共演者 > kyouensha\ ;
+救護班 > kyuugohan\ ;
+再循環 > saijunkan\ ;
+荻江節 > ogiebushi\ ;
+集光器 > shuukouki\ ;
+一部分 > ichibubun\ ;
+装甲車 > soukousha\ ;
+新世紀 > shinseiki\ ;
+裁判官 > saibankan\ ;
+出勤日 > shukkinbi\ ;
+送信機 > soushinki\ ;
+雑居地 > zakkyochi\ ;
+英数国 > eisuukoku\ ;
+保管料 > hokanryou\ ;
+半貴石 > hankiseki\ ;
+軍用機 > gun''youki\ ;
+虎落笛 > mogaribue\ ;
+生還者 > seikansha\ ;
+懇談会 > kondankai\ ;
+未公表 > mikouhyou\ ;
+西洋人 > seiyoujin\ ;
+田舎者 > inakamono\ ;
+消化液 > shoukaeki\ ;
+健康方 > kenkouhou\ ;
+穴居人 > kekkyojin\ ;
+妨業員 > bougyouin\ ;
+風呂敷 > furoshiki\ ;
+何曜日 > nan''youbi\ ;
+警戒線 > keikaisen\ ;
+交換嬢 > koukanjou\ ;
+大道芸 > daidougei\ ;
+停止線 > teishisen\ ;
+勉強家 > benkyouka\ ;
+浪漫的 > romanteki\ ;
+勧世縒 > kanzeyori\ ;
+竹細工 > takezaiku\ ;
+産卵口 > sanrankou\ ;
+感動詞 > kandoushi\ ;
+水圧機 > suiatsuki\ ;
+音楽祭 > ongakusai\ ;
+人情本 > ninjoubon\ ;
+皇霊殿 > koureiden\ ;
+使命者 > shimeisha\ ;
+代用品 > daiyouhin\ ;
+葉菜類 > yousairui\ ;
+写真機 > shashinki\ ;
+男伊達 > otokodate\ ;
+兵站線 > heitansen\ ;
+帯電体 > taidentai\ ;
+文化的 > bunkateki\ ;
+未発表 > mihappyou\ ;
+先住民 > senjuumin\ ;
+途上国 > tojoukoku\ ;
+半音階 > han''onkai\ ;
+白木屋 > shirokiya\ ;
+仕様書 > shiyousho\ ;
+民事的 > minjiteki\ ;
+成層圏 > seisouken\ ;
+蒸気圧 > joukiatsu\ ;
+両替所 > ryougaejo\ ;
+後半戦 > kouhansen\ ;
+幽寂味 > yuujakumi\ ;
+帝王学 > teiougaku\ ;
+貯水池 > chosuichi\ ;
+新世界 > shinsekai\ ;
+命令法 > meireihou\ ;
+現像液 > genzoueki\ ;
+観覧車 > kanransha\ ;
+会社葬 > kaishasou\ ;
+禁酒法 > kinshuhou\ ;
+脳膜炎 > noumakuen\ ;
+五大州 > godaishuu\ ;
+文部省 > monbushou\ ;
+軍事通 > gunjitsuu\ ;
+脳腫瘍 > noushuyou\ ;
+世界一 > sekaiichi\ ;
+再分配 > saibunpai\ ;
+掛布団 > kakebuton\ ;
+外洋船 > gaiyousen\ ;
+組職図 > soshokuzu\ ;
+交換品 > koukanhin\ ;
+火食鳥 > hikuidori\ ;
+貯水槽 > chosuisou\ ;
+海水魚 > kaisuigyo\ ;
+精進日 > shoujinbi\ ;
+三色旗 > sanshokki\ ;
+逃亡者 > toubousha\ ;
+道具箱 > dougubako\ ;
+出廷日 > shutteibi\ ;
+画学紙 > gagakushi\ ;
+貯蔵所 > chozousho\ ;
+東海道 > toukaidou\ ;
+交換台 > koukandai\ ;
+戦時中 > senjichuu\ ;
+混分数 > konbunsuu\ ;
+生石灰 > seisekkai\ ;
+不検束 > fukensoku\ ;
+小松菜 > komatsuna\ ;
+舟大工 > funadaiku\ ;
+贈呈者 > zouteisha\ ;
+類概念 > ruigainen\ ;
+任天堂 > nintendou\ ;
+南方産 > nanpousan\ ;
+結納金 > yuinoukin\ ;
+太刀筋 > tachisuji\ ;
+熟字訓 > jukujikun\ ;
+声明書 > seimeisho\ ;
+問題点 > mondaiten\ ;
+分工場 > bunkoujou\ ;
+定年制 > teinensei\ ;
+地元紙 > jimotoshi\ ;
+預託金 > yotakukin\ ;
+防空砲 > boukuuhou\ ;
+静圧比 > seiatsuhi\ ;
+回顧録 > kaikoroku\ ;
+両替屋 > ryougaeya\ ;
+人気者 > ninkimono\ ;
+不良品 > furyouhin\ ;
+小便所 > shoubenjo\ ;
+循環性 > junkansei\ ;
+商用化 > shouyouka\ ;
+交換円 > koukan''en\ ;
+試験法 > shikenhou\ ;
+学園祭 > gakuensai\ ;
+感歎詞 > kantanshi\ ;
+第六感 > dairokkan\ ;
+貧民街 > hinmingai\ ;
+命令書 > meireisho\ ;
+半導体 > handoutai\ ;
+兵器廠 > heikishou\ ;
+裁判上 > saibanjou\ ;
+売春婦 > baishunpu\ ;
+下克上 > gekokujou\ ;
+配電所 > haidensho\ ;
+社交界 > shakoukai\ ;
+優勝旗 > yuushouki\ ;
+手品師 > tejinashi\ ;
+髄膜炎 > zuimakuen\ ;
+雨支度 > amajitaku\ ;
+修道院 > shuudouin\ ;
+海蛇座 > umihebiza\ ;
+命令文 > meireibun\ ;
+東洋風 > touyoufuu\ ;
+弟息子 > otomusuko\ ;
+五大国 > godaikoku\ ;
+接骨医 > sekkotsui\ ;
+望遠鏡 > bouenkyou\ ;
+梅雨空 > tsuyuzora\ ;
+工員寮 > kouinryou\ ;
+無遊病 > muyuubyou\ ;
+国際化 > kokusaika\ ;
+驚異的 > kyouiteki\ ;
+関東弁 > kantouben\ ;
+複合語 > fukugougo\ ;
+弘済会 > kousaikai\ ;
+至近弾 > shikindan\ ;
+本年度 > hon''nendo\ ;
+救護所 > kyuugosho\ ;
+呑気者 > nonkimono\ ;
+小作権 > kosakuken\ ;
+代理母 > dairihaha\ ;
+分界線 > bunkaisen\ ;
+端境期 > hazakaiki\ ;
+前々回 > zenzenkai\ ;
+語源学 > gogengaku\ ;
+心電図 > shindenzu\ ;
+健康地 > kenkouchi\ ;
+氏子札 > ujikofuda\ ;
+諸問題 > shomondai\ ;
+口唇期 > koushinki\ ;
+将棋盤 > shougiban\ ;
+獅子唐 > shishitou\ ;
+平信徒 > heishinto\ ;
+大気圧 > taikiatsu\ ;
+将軍家 > shougunke\ ;
+千代紙 > chiyogami\ ;
+主戦論 > shusenron\ ;
+劣等生 > rettousei\ ;
+新字体 > shinjitai\ ;
+納品書 > nouhinsho\ ;
+皇太子 > koutaishi\ ;
+騒擾罪 > soujouzai\ ;
+半官報 > hankanpou\ ;
+同伴者 > douhansha\ ;
+海鼠板 > namakoban\ ;
+准士官 > junshikan\ ;
+実験者 > jikkensha\ ;
+代理業 > dairigyou\ ;
+一次元 > ichijigen\ ;
+用益権 > youekiken\ ;
+上腕筋 > jouwankin\ ;
+参政権 > sanseiken\ ;
+巡礼者 > junreisha\ ;
+実験群 > jikkengun\ ;
+空景気 > karageiki\ ;
+写真家 > shashinka\ ;
+車椅子 > kurumaisu\ ;
+揮毫料 > kigouryou\ ;
+警告音 > keikokuon\ ;
+教授陣 > kyoujujin\ ;
+初七日 > shonanoka\ ;
+安心感 > anshinkan\ ;
+大入道 > oonyuudou\ ;
+社会悪 > shakaiaku\ ;
+主製品 > shuseihin\ ;
+無気力 > mukiryoku\ ;
+社会性 > shakaisei\ ;
+脱脂綿 > dasshimen\ ;
+気象台 > kishoudai\ ;
+命令形 > meireikei\ ;
+論理学 > ronrigaku\ ;
+実体論 > jittairon\ ;
+小会派 > shoukaiha\ ;
+同値性 > douchisei\ ;
+酸性岩 > sanseigan\ ;
+下足番 > gesokuban\ ;
+斥候兵 > sekkouhei\ ;
+好影響 > koueikyou\ ;
+邯鄲師 > kantanshi\ ;
+生化学 > seikagaku\ ;
+試乗車 > shijousha\ ;
+観覧者 > kanransha\ ;
+奉賀帳 > hougachou\ ;
+圧制的 > asseiteki\ ;
+炭酸紙 > tansanshi\ ;
+再従弟 > saijuutei\ ;
+余計者 > yokeimono\ ;
+不寝番 > fushinban\ ;
+理屈屋 > rikutsuya\ ;
+保管人 > hokan''nin\ ;
+優良馬 > yuuryouba\ ;
+運輸量 > un''yuryou\ ;
+太平洋 > taiheiyou\ ;
+貯蔵品 > chozouhin\ ;
+単糖類 > tantourui\ ;
+聚楽第 > jurakudai\ ;
+生半可 > namahanka\ ;
+協議所 > kyougisho\ ;
+今年度 > kon''nendo\ ;
+准教員 > junkyouin\ ;
+社会層 > shakaisou\ ;
+健康体 > kenkoutai\ ;
+思春期 > shishunki\ ;
+放射性 > houshasei\ ;
+虫媒花 > chuubaika\ ;
+写真器 > shashinki\ ;
+内向性 > naikousei\ ;
+改宗者 > kaisousha\ ;
+優待券 > yuutaiken\ ;
+四人組 > yoningumi\ ;
+退嬰的 > taieiteki\ ;
+善後策 > zengosaku\ ;
+助手席 > joshuseki\ ;
+火木金 > kamokukin\ ;
+氏子帳 > ujikochou\ ;
+皇太后 > koutaigou\ ;
+特攻隊 > tokkoutai\ ;
+遺言者 > yuigonsha\ ;
+郷土史 > kyoudoshi\ ;
+付属校 > fuzokukou\ ;
+統治者 > touchisha\ ;
+名人芸 > meijingei\ ;
+凄文句 > sugomonku\ ;
+戦災者 > sensaisha\ ;
+試作機 > shisakuki\ ;
+黄枯茶 > kigaracha\ ;
+胃腸薬 > ichouyaku\ ;
+陽電子 > youdenshi\ ;
+文殊様 > monjusama\ ;
+付属書 > fuzokusho\ ;
+討論者 > touronsha\ ;
+多汗症 > takanshou\ ;
+投手陣 > toushujin\ ;
+中継所 > chuukeijo\ ;
+根拠地 > konkyochi\ ;
+法人税 > houjinzei\ ;
+地元民 > jimotomin\ ;
+年期者 > nenkimono\ ;
+音楽性 > ongakusei\ ;
+被告人 > hikokunin\ ;
+文化庁 > bunkachou\ ;
+偏向板 > henkouban\ ;
+背任罪 > haininzai\ ;
+傍観者 > boukansha\ ;
+星状体 > seijoutai\ ;
+消化剤 > shoukazai\ ;
+欧州版 > oushuuban\ ;
+小豆粥 > azukigayu\ ;
+系図学 > keizugaku\ ;
+試験官 > shikenkan\ ;
+石楠花 > shakunage\ ;
+書簡箋 > shokansen\ ;
+再配分 > saihaibun\ ;
+協議官 > kyougikan\ ;
+同類項 > douruikou\ ;
+自転軸 > jitenjiku\ ;
+上甲板 > joukanpan\ ;
+全地方 > zenchihou\ ;
+会社法 > kaishahou\ ;
+奉仕品 > houshihin\ ;
+截拳道 > sekkendou\ ;
+仕舞屋 > shimotaya\ ;
+折衷案 > setchuuan\ ;
+航空隊 > koukuutai\ ;
+蝦蟇口 > gamaguchi\ ;
+禁止法 > kinshihou\ ;
+道具方 > dougukata\ ;
+旦那芸 > dan''nagei\ ;
+扶養料 > fuyouryou\ ;
+不信心 > fushinjin\ ;
+平安朝 > heianchou\ ;
+内野席 > naiyaseki\ ;
+因果律 > ingaritsu\ ;
+軽演劇 > keiengeki\ ;
+板金工 > bankinkou\ ;
+定価表 > teikahyou\ ;
+篤志家 > tokushika\ ;
+試験場 > shikenjou\ ;
+旅行者 > ryokousha\ ;
+歯齦炎 > shigin''en\ ;
+蛸坊主 > takobouzu\ ;
+参政官 > sanseikan\ ;
+軍事的 > gunjiteki\ ;
+古銭学 > kosengaku\ ;
+軍官憲 > gunkanken\ ;
+関数論 > kansuuron\ ;
+治療費 > chiryouhi\ ;
+板金屋 > bankin''ya\ ;
+操車場 > soushajou\ ;
+投融資 > touyuushi\ ;
+革命歌 > kakumeika\ ;
+社交性 > shakousei\ ;
+擬爆弾 > gibakudan\ ;
+竹蜻蛉 > taketonbo\ ;
+超党派 > choutouha\ ;
+問題外 > mondaigai\ ;
+一般的 > ippanteki\ ;
+資本金 > shihonkin\ ;
+男子用 > danshiyou\ ;
+対生葉 > taiseiyou\ ;
+社会党 > shakaitou\ ;
+厭世的 > enseiteki\ ;
+訓練生 > kunrensei\ ;
+贈呈本 > zouteibon\ ;
+夢遊病 > muyuubyou\ ;
+家族法 > kazokuhou\ ;
+人気株 > ninkikabu\ ;
+読後感 > dokugokan\ ;
+単細胞 > tansaibou\ ;
+鳴禽類 > meikinrui\ ;
+内部的 > naibuteki\ ;
+練兵場 > renpeijou\ ;
+大前提 > daizentei\ ;
+再従兄 > saijuukei\ ;
+可動橋 > kadoukyou\ ;
+画期的 > kakkiteki\ ;
+音楽堂 > ongakudou\ ;
+荒隠元 > sayaingen\ ;
+洗礼名 > senreimei\ ;
+現業員 > gengyouin\ ;
+一工夫 > hitokufuu\ ;
+膝小僧 > hizakozou\ ;
+作詞家 > sakushika\ ;
+作為的 > sakuiteki\ ;
+小宇宙 > shouuchuu\ ;
+風水害 > fuusuigai\ ;
+単数形 > tansuukei\ ;
+水溶液 > suiyoueki\ ;
+大車輪 > daisharin\ ;
+改定版 > kaiteihan\ ;
+社会人 > shakaijin\ ;
+悪影響 > akueikyou\ ;
+西部劇 > seibugeki\ ;
+雑貨商 > zakkashou\ ;
+劣等感 > rettoukan\ ;
+透明性 > toumeisei\ ;
+若夫婦 > wakafuufu\ ;
+現代詩 > gendaishi\ ;
+陰陽道 > onmyoudou\ ;
+休憩所 > kyuukeijo\ ;
+配給所 > haikyuujo\ ;
+装身具 > soushingu\ ;
+無欠席 > mukesseki\ ;
+自制心 > jiseishin\ ;
+副作用 > fukusayou\ ;
+再選挙 > saisenkyo\ ;
+隠匿者 > intokusha\ ;
+同人種 > doujinshu\ ;
+運送業 > unsougyou\ ;
+内務省 > naimushou\ ;
+炭酸水 > tansansui\ ;
+勤王家 > kin''nouka\ ;
+衛生的 > eiseiteki\ ;
+競技者 > kyougisha\ ;
+再発行 > saihakkou\ ;
+遺言状 > yuigonjou\ ;
+点眼水 > tengansui\ ;
+軽合金 > keigoukin\ ;
+一発屋 > ippatsuya\ ;
+全製品 > zenseihin\ ;
+応召者 > oushousha\ ;
+古印紙 > furuinshi\ ;
+資本財 > shihonzai\ ;
+回顧的 > kaikoteki\ ;
+二親等 > nishintou\ ;
+交戦権 > kousenken\ ;
+広報誌 > kouhoushi\ ;
+例年祭 > reinensai\ ;
+予防薬 > yobouyaku\ ;
+和声学 > waseigaku\ ;
+音楽史 > ongakushi\ ;
+萎縮腎 > ishukujin\ ;
+盗聴器 > touchouki\ ;
+予約金 > yoyakukin\ ;
+春場所 > harubasho\ ;
+租庸調 > soyouchou\ ;
+原子論 > genshiron\ ;
+無機物 > mukibutsu\ ;
+決議案 > ketsugian\ ;
+創作家 > sousakuka\ ;
+爛熟期 > ranjukuki\ ;
+中間派 > chuukanha\ ;
+里程標 > riteihyou\ ;
+資本論 > shihonron\ ;
+今様歌 > imayouuta\ ;
+会津塗 > aidzunuri\ ;
+丸坊主 > marubouzu\ ;
+移植性 > ishokusei\ ;
+前後策 > zengosaku\ ;
+別天地 > bettenchi\ ;
+協議会 > kyougikai\ ;
+防空壕 > boukuugou\ ;
+運送料 > unsouryou\ ;
+幽霊船 > yuureisen\ ;
+伯備線 > hakubisen\ ;
+胃腸病 > ichoubyou\ ;
+告示板 > kokujiban\ ;
+小作人 > kosakunin\ ;
+離間策 > rikansaku\ ;
+民数記 > minsuuki\ ;
+鉄砲座 > teppouza\ ;
+文化人 > bunkajin\ ;
+木工所 > mokkoujo\ ;
+一般法 > ippanhou\ ;
+労務者 > roumusha\ ;
+文庫本 > bunkobon\ ;
+代理人 > dairinin\ ;
+海水着 > kaisuigi\ ;
+自己流 > jikoryuu\ ;
+丁寧語 > teineigo\ ;
+音楽会 > ongakkai\ ;
+同胞愛 > douhouai\ ;
+毛唐人 > ketoujin\ ;
+民事上 > minjijou\ ;
+淡彩画 > tansaiga\ ;
+期待値 > kitaichi\ ;
+全裸体 > zenratai\ ;
+立体派 > rittaiha\ ;
+護送船 > gosousen\ ;
+野蛮人 > yabanjin\ ;
+女性軍 > joseigun\ ;
+同趣味 > doushumi\ ;
+可動性 > kadousei\ ;
+不養生 > fuyoujou\ ;
+飽和点 > houwaten\ ;
+既往症 > kioushou\ ;
+一致点 > itchiten\ ;
+筆記者 > hikkisha\ ;
+送風機 > soufuuki\ ;
+姫御子 > himemiko\ ;
+手配書 > tehaisho\ ;
+脳珊瑚 > nousango\ ;
+上層土 > jousoudo\ ;
+予約語 > yoyakugo\ ;
+油槽船 > yusousen\ ;
+一寸見 > chottomi\ ;
+予防線 > yobousen\ ;
+勘定日 > kanjoubi\ ;
+内帑金 > naidokin\ ;
+伝送路 > densouro\ ;
+銀細工 > ginzaiku\ ;
+人相見 > ninsoumi\ ;
+風刺画 > fuushiga\ ;
+午餐会 > gosankai\ ;
+無欠勤 > mukekkin\ ;
+比重計 > hijuukei\ ;
+運送店 > unsouten\ ;
+操作盤 > sousaban\ ;
+在庫品 > zaikohin\ ;
+民主化 > minshuka\ ;
+延滞金 > entaikin\ ;
+唐破風 > karahafu\ ;
+自公民 > jikoumin\ ;
+賢夫人 > kenpujin\ ;
+運転者 > untensha\ ;
+不格好 > bukakkou\ ;
+催淫剤 > saiinzai\ ;
+栄養短 > eiyoutan\ ;
+医学界 > igakukai\ ;
+無常感 > mujoukan\ ;
+背格好 > sekakkou\ ;
+山査子 > sanzashi\ ;
+医学生 > igakusei\ ;
+開業医 > kaigyoui\ ;
+便衣隊 > ben''itai\ ;
+幹事会 > kanjikai\ ;
+多原子 > tagenshi\ ;
+十字形 > juujikei\ ;
+外野手 > gaiyashu\ ;
+健胃錠 > ken''ijou\ ;
+関西馬 > kansaiba\ ;
+指示詞 > shijishi\ ;
+明日葉 > ashitaba\ ;
+短距離 > tankyori\ ;
+一軒屋 > ikken''ya\ ;
+芸備線 > geibisen\ ;
+陣太鼓 > jindaiko\ ;
+真冬日 > mafuyubi\ ;
+四季報 > shikihou\ ;
+一軒家 > ikken''ya\ ;
+繁華街 > hankagai\ ;
+訓練所 > kunrenjo\ ;
+海水温 > kaisuion\ ;
+筋電図 > kindenzu\ ;
+泌尿幾 > hinyouki\ ;
+不安心 > fuanshin\ ;
+訪問着 > houmongi\ ;
+会社員 > kaishain\ ;
+法王権 > hououken\ ;
+不導体 > fudoutai\ ;
+単試合 > tanshiai\ ;
+写生画 > shaseiga\ ;
+管理人 > kanrinin\ ;
+一家言 > ikkagoto\ ;
+同期生 > doukisei\ ;
+丁定規 > teijougi\ ;
+守備隊 > shubitai\ ;
+併合罪 > heigozai\ ;
+気無精 > kibushou\ ;
+三枚目 > sanmaime\ ;
+手配師 > tehaishi\ ;
+無自覚 > mujikaku\ ;
+火事泥 > kajidoro\ ;
+人工語 > jinkougo\ ;
+既往歴 > kioureki\ ;
+一般性 > ippansei\ ;
+年月日 > nengappi\ ;
+変成器 > henseiki\ ;
+未信者 > mishinja\ ;
+不案内 > fuan''nai\ ;
+自棄酒 > yakezake\ ;
+塑弾性 > sodansei\ ;
+武器倉 > bukigura\ ;
+聴音器 > chouonki\ ;
+平仮名 > hiragana\ ;
+感知器 > kanchiki\ ;
+前半期 > zenpanki\ ;
+空論家 > kuuronka\ ;
+農閑期 > noukanki\ ;
+不賛成 > fusansei\ ;
+養鶏家 > youkeika\ ;
+十二支 > juunishi\ ;
+構成比 > kouseihi\ ;
+向日葵 > himawari\ ;
+機業家 > kigyouka\ ;
+水滸伝 > suikoden\ ;
+御嬢様 > ojousama\ ;
+臨床医 > rinshoui\ ;
+栄養源 > eiyougen\ ;
+多年草 > tanensou\ ;
+荷厄介 > niyakkai\ ;
+励磁損 > reijison\ ;
+安全瓣 > anzenben\ ;
+重酸素 > juusanso\ ;
+二塁手 > niruishu\ ;
+木工具 > mokkougu\ ;
+点眼器 > tenganki\ ;
+莫大小 > meriyasu\ ;
+製鋼所 > seikoujo\ ;
+隠蔽子 > inpeishi\ ;
+勘定場 > kanjouba\ ;
+羽団扇 > hauchiwa\ ;
+破戒僧 > hakaisou\ ;
+瀬戸物 > setomono\ ;
+大英断 > daieidan\ ;
+泌尿器 > hinyouki\ ;
+先議権 > sengiken\ ;
+反抗期 > hankouki\ ;
+本会議 > honkaigi\ ;
+英米人 > eibeijin\ ;
+低順位 > teijun''i\ ;
+不老泉 > furousen\ ;
+名宛人 > naatenin\ ;
+自由詩 > jiyuushi\ ;
+意志的 > ishiteki\ ;
+戦闘員 > sentouin\ ;
+原画像 > gengazou\ ;
+大腿部 > daitaibu\ ;
+滋賀県 > shigaken\ ;
+重水素 > juusuiso\ ;
+人造湖 > jinzouko\ ;
+請負師 > ukeoishi\ ;
+水準器 > suijunki\ ;
+漫画本 > mangahon\ ;
+互換性 > gokansei\ ;
+種種相 > shujusou\ ;
+予防法 > yobouhou\ ;
+安全灯 > anzentou\ ;
+運送人 > unsounin\ ;
+上首尾 > joushubi\ ;
+仏舎利 > busshari\ ;
+與太者 > yotamono\ ;
+満天下 > mantenka\ ;
+価格差 > kakakusa\ ;
+無花果 > ichijiku\ ;
+不人情 > funinjou\ ;
+土建屋 > doken''ya\ ;
+遮断機 > shadanki\ ;
+乱杭歯 > ranguiba\ ;
+蝋細工 > rouzaiku\ ;
+糜爛性 > biransei\ ;
+貴公子 > kikoushi\ ;
+廉価版 > renkaban\ ;
+原子炉 > genshiro\ ;
+転換炉 > tenkanro\ ;
+黎明期 > reimeiki\ ;
+菖蒲湯 > shoubuyu\ ;
+無駄骨 > mudabone\ ;
+類似品 > ruijihin\ ;
+飛行隊 > hikoutai\ ;
+金鳳花 > kinpouge\ ;
+黒雲母 > kurounmo\ ;
+相手方 > aitegata\ ;
+不完全 > fukanzen\ ;
+祖国愛 > sokokuai\ ;
+募集費 > boshuuhi\ ;
+生産費 > seisanhi\ ;
+統合化 > tougouka\ ;
+旅行家 > ryokouka\ ;
+社外秘 > shagaihi\ ;
+従価税 > juukazei\ ;
+使徒書 > shitosho\ ;
+寝化粧 > negeshou\ ;
+創世期 > souseiki\ ;
+金目鯛 > kinmedai\ ;
+上下線 > jougesen\ ;
+理事国 > rijikoku\ ;
+水準儀 > suijungi\ ;
+再保険 > saihoken\ ;
+下馬先 > gebasaki\ ;
+泉貨紙 > senkashi\ ;
+御令嬢 > goreijou\ ;
+電気街 > denkigai\ ;
+軍政部 > gunseibu\ ;
+御題目 > odaimoku\ ;
+無保証 > muhoshou\ ;
+可分性 > kabunsei\ ;
+亜鉛鉄 > aentetsu\ ;
+動安定 > douantei\ ;
+刑事上 > keijijou\ ;
+女性用 > joseiyou\ ;
+乾燥炉 > kansouro\ ;
+育児法 > ikujihou\ ;
+愛鳥家 > aichouka\ ;
+本舞台 > honbutai\ ;
+個人性 > kojinsei\ ;
+依存症 > izonshou\ ;
+悪性度 > akuseido\ ;
+美男子 > binanshi\ ;
+電波法 > denpahou\ ;
+軍事上 > gunjijou\ ;
+烏犀角 > usaikaku\ ;
+偏微分 > henbibun\ ;
+素寒貧 > sukanpin\ ;
+豚小屋 > butagoya\ ;
+延滞税 > entaizei\ ;
+冥王星 > meiousei\ ;
+円盤状 > enbanjou\ ;
+蔵書家 > zoushoka\ ;
+録音機 > rokuonki\ ;
+過般来 > kahanrai\ ;
+鑚孔機 > sankouki\ ;
+一般人 > ippanjin\ ;
+相手役 > aiteyaku\ ;
+歩合給 > buaikyuu\ ;
+井戸綱 > idodzuna\ ;
+既知数 > kichisuu\ ;
+工務店 > koumuten\ ;
+一朱銀 > isshugin\ ;
+航空機 > koukuuki\ ;
+黒繻子 > kurojusu\ ;
+登記所 > toukisho\ ;
+適時打 > tekijida\ ;
+合理性 > gourisei\ ;
+陰電子 > indenshi\ ;
+助動詞 > jodoushi\ ;
+慰藉料 > isharyou\ ;
+衛生兵 > eiseihei\ ;
+低物価 > teibukka\ ;
+個人展 > kojinten\ ;
+実体化 > jittaika\ ;
+邪魔者 > jamamono\ ;
+米議会 > beigikai\ ;
+無尽蔵 > mujinzou\ ;
+転換期 > tenkanki\ ;
+代議士 > daigishi\ ;
+鼻濁音 > bidakuon\ ;
+高電位 > kouden''i\ ;
+持参金 > jisankin\ ;
+唯理論 > yuiriron\ ;
+名望家 > meibouka\ ;
+多元論 > tagenron\ ;
+自棄糞 > yakekuso\ ;
+正符号 > seifugou\ ;
+無産者 > musansha\ ;
+育児書 > ikujisho\ ;
+定期船 > teikisen\ ;
+手弁当 > tebentou\ ;
+乾燥機 > kansouki\ ;
+三日間 > mikkakan\ ;
+十二分 > juunibun\ ;
+稽古台 > keikodai\ ;
+先頭伍 > sentougo\ ;
+出来高 > dekidaka\ ;
+三世相 > sanzesou\ ;
+運根鈍 > unkondon\ ;
+衛生上 > eiseijou\ ;
+医学士 > igakushi\ ;
+請負人 > ukeoinin\ ;
+断面図 > danmenzu\ ;
+虚仮猿 > kokezaru\ ;
+未使用 > mishiyou\ ;
+電波星 > denpasei\ ;
+音韻論 > on''inron\ ;
+機械工 > kikaikou\ ;
+再封鎖 > saifuusa\ ;
+防波堤 > bouhatei\ ;
+運転手 > untenshu\ ;
+争覇戦 > souhasen\ ;
+黒文字 > kuromoji\ ;
+無駄足 > mudaashi\ ;
+着物地 > kimonoji\ ;
+外気圏 > gaikiken\ ;
+開会日 > kaikaibi\ ;
+由来書 > yuraisho\ ;
+鵝口瘡 > gakousou\ ;
+乾燥果 > kansouka\ ;
+安全性 > anzensei\ ;
+乾燥期 > kansouki\ ;
+栄養士 > eiyoushi\ ;
+台布巾 > daibukin\ ;
+構成員 > kouseiin\ ;
+模範生 > mohansei\ ;
+安全弁 > anzenben\ ;
+駆動輪 > kudourin\ ;
+東洋史 > toyofumi\ ;
+単精度 > tanseido\ ;
+火木土 > kamokudo\ ;
+代議制 > daigisei\ ;
+未定稿 > miteikou\ ;
+世話物 > sewamono\ ;
+観戦記 > kansenki\ ;
+天瓜粉 > tenkafun\ ;
+形成期 > keiseiki\ ;
+放映権 > houeiken\ ;
+監視所 > kanshijo\ ;
+御本尊 > gohonzon\ ;
+単純化 > tanjunka\ ;
+個人名 > kojinmei\ ;
+検眼医 > kengan''i\ ;
+医学史 > igakushi\ ;
+未踏峰 > mitouhou\ ;
+断断固 > dandanko\ ;
+暖房器 > danbouki\ ;
+斡旋者 > assensha\ ;
+仏生会 > busshoue\ ;
+規格化 > kikakuka\ ;
+司令部 > shireibu\ ;
+意匠権 > ishouken\ ;
+尊敬語 > sonkeigo\ ;
+形態素 > keitaiso\ ;
+美少女 > bishoujo\ ;
+円運動 > en''undou\ ;
+象牙色 > zougeiro\ ;
+遮断器 > shadanki\ ;
+許可書 > kyokasho\ ;
+商議員 > shougiin\ ;
+御一新 > goisshin\ ;
+愉快犯 > yukaihan\ ;
+指示板 > shijiban\ ;
+鉄工所 > tekkoujo\ ;
+経営難 > keieinan\ ;
+陰陽師 > on''youji\ ;
+換気扇 > kankisen\ ;
+非合法 > higouhou\ ;
+飛行艇 > hikoutei\ ;
+飛行船 > hikousen\ ;
+経営陣 > keieijin\ ;
+御来光 > goraikou\ ;
+不断草 > fudansou\ ;
+栄養剤 > eiyouzai\ ;
+連鎖店 > rensaten\ ;
+兵法家 > heihouka\ ;
+頻度数 > hindosuu\ ;
+資本家 > shihonka\ ;
+最右翼 > saiuyoku\ ;
+栄養分 > eiyoubun\ ;
+可処分 > kashobun\ ;
+蒙古斑 > moukohan\ ;
+寒稽古 > kangeiko\ ;
+第三紀 > daisanki\ ;
+砂風呂 > sunaburo\ ;
+運転士 > untenshi\ ;
+第一線 > daiissen\ ;
+邪魔物 > jamamono\ ;
+銀行家 > ginkouka\ ;
+三仙叉 > sansensa\ ;
+再工事 > saikouji\ ;
+裏日本 > uranihon\ ;
+被傭者 > hiyousha\ ;
+軽水炉 > keisuiro\ ;
+自由港 > jiyuukou\ ;
+御曹子 > onzoushi\ ;
+防水扉 > bousuihi\ ;
+居心地 > igokochi\ ;
+地下道 > chikadou\ ;
+無駄花 > mudabana\ ;
+与太者 > yotamono\ ;
+無定見 > muteiken\ ;
+美容師 > biyoushi\ ;
+発火点 > hakkaten\ ;
+現代化 > gendaika\ ;
+福井県 > fukuiken\ ;
+不敬虔 > fukeiken\ ;
+丁子油 > choujiyu\ ;
+乾燥季 > kansouki\ ;
+断断乎 > dandanko\ ;
+財務官 > zaimukan\ ;
+料理屋 > ryouriya\ ;
+停車場 > teishaba\ ;
+感光度 > kankoudo\ ;
+無能者 > munousha\ ;
+交叉点 > kousaten\ ;
+氷河期 > hyougaki\ ;
+低電位 > teiden''i\ ;
+出世魚 > shusseuo\ ;
+運転台 > untendai\ ;
+野心家 > yashinka\ ;
+自由権 > jiyuuken\ ;
+防水布 > bousuifu\ ;
+再臨派 > sairinha\ ;
+名場面 > meibamen\ ;
+筆記体 > hikkitai\ ;
+弦楽器 > gengakki\ ;
+滞在費 > taizaihi\ ;
+規定値 > kiteichi\ ;
+一体感 > ittaikan\ ;
+赤砂糖 > akazatou\ ;
+牛小屋 > ushigoya\ ;
+廉価品 > renkahin\ ;
+民需品 > minjuhin\ ;
+真人間 > maningen\ ;
+金盞花 > kinsenka\ ;
+取沙汰 > torizata\ ;
+銀行員 > ginkouin\ ;
+層位学 > souigaku\ ;
+透視図 > toushizu\ ;
+名義人 > meiginin\ ;
+給油所 > kyuuyujo\ ;
+自走砲 > jisouhou\ ;
+寄稿者 > kikousha\ ;
+抒情詩 > jojoushi\ ;
+円刃刀 > enjintou\ ;
+乾燥器 > kansouki\ ;
+三七日 > minanoka\ ;
+寺小屋 > terakoya\ ;
+御曹司 > onzoushi\ ;
+田雲雀 > tahibari\ ;
+温湿布 > onshippu\ ;
+御面相 > gomensou\ ;
+上景気 > joukeiki\ ;
+育英会 > ikueikai\ ;
+乗馬隊 > joubatai\ ;
+地下街 > chikagai\ ;
+青懸巣 > aokakesu\ ;
+不敬罪 > fukeizai\ ;
+原子価 > genshika\ ;
+総武線 > soubusen\ ;
+不縹緻 > bukiryou\ ;
+解像度 > kaizoudo\ ;
+控訴状 > kousojou\ ;
+再検査 > saikensa\ ;
+複座機 > fukuzaki\ ;
+批評家 > hihyouka\ ;
+御中元 > ochuugen\ ;
+人真似 > hitomane\ ;
+的地位 > tekichii\ ;
+換気口 > kankikou\ ;
+調査員 > chousain\ ;
+世話役 > sewayaku\ ;
+悪知恵 > warudjie\ ;
+短期間 > tankikan\ ;
+御主人 > goshujin\ ;
+同時性 > doujisei\ ;
+黄変米 > ouhenmai\ ;
+余所者 > yosomono\ ;
+滋養分 > jiyoubun\ ;
+棚牡丹 > tanabota\ ;
+銘酒屋 > meishuya\ ;
+塩類泉 > enruisen\ ;
+保菌者 > hokinsha\ ;
+防砂林 > bousarin\ ;
+閉世界 > heisekai\ ;
+地下茎 > chikakei\ ;
+多辺形 > tahenkei\ ;
+不明朗 > fumeirou\ ;
+泥火山 > deikazan\ ;
+京都府 > kyoutofu\ ;
+令夫人 > reifujin\ ;
+罷免権 > himenken\ ;
+丁字形 > teijikei\ ;
+候補者 > kouhosha\ ;
+絵画館 > kaigakan\ ;
+国営化 > kokueika\ ;
+物故者 > bukkosha\ ;
+前相撲 > maezumou\ ;
+研米機 > kenmaiki\ ;
+暗黒期 > ankokuki\ ;
+現時点 > genjiten\ ;
+隣保館 > rinpokan\ ;
+焼夷弾 > shouidan\ ;
+丁字帯 > teijitai\ ;
+加配米 > kahaimai\ ;
+高精度 > kouseido\ ;
+陰関数 > inkansuu\ ;
+水泳帽 > suieibou\ ;
+貸費生 > taihisei\ ;
+増税案 > zouzeian\ ;
+餓鬼共 > gakidomo\ ;
+許可制 > kyokasei\ ;
+女性像 > joseizou\ ;
+火星年 > kaseinen\ ;
+亜硫酸 > aryuusan\ ;
+再軍備 > saigunbi\ ;
+板屋貝 > itayagai\ ;
+斡旋案 > assen''an\ ;
+花崗岩 > kakougan\ ;
+未完成 > mikansei\ ;
+無用心 > buyoujin\ ;
+成文化 > seibunka\ ;
+粗悪品 > soakuhin\ ;
+控訴権 > kousoken\ ;
+調理場 > chouriba\ ;
+地下線 > chikasen\ ;
+亜硝酸 > ashousan\ ;
+定期戦 > teikisen\ ;
+体系化 > taikeika\ ;
+経営者 > keieisha\ ;
+被写体 > hishatai\ ;
+分娩期 > bunbenki\ ;
+後仕舞 > atojimai\ ;
+裏面史 > rimenshi\ ;
+見世物 > misemono\ ;
+被用者 > hiyousha\ ;
+語彙力 > goiryoku\ ;
+魔法瓶 > mahoubin\ ;
+分娩時 > bunbenji\ ;
+上下動 > jougedou\ ;
+平面図 > heimenzu\ ;
+耐火性 > taikasei\ ;
+再定義 > saiteigi\ ;
+電気工 > denkikou\ ;
+反古籠 > hogukago\ ;
+御降誕 > gokoutan\ ;
+明文化 > meibunka\ ;
+腹具合 > haraguai\ ;
+選挙日 > senkyobi\ ;
+輸精管 > yuseikan\ ;
+小売店 > kouriten\ ;
+宇宙論 > uchuuron\ ;
+鑑定家 > kanteika\ ;
+固溶体 > koyoutai\ ;
+案内所 > an''naijo\ ;
+自信家 > jishinka\ ;
+亜鉛末 > aenmatsu\ ;
+導電度 > doudendo\ ;
+県知事 > kenchiji\ ;
+宇宙観 > uchuukan\ ;
+電動機 > dendouki\ ;
+一丁目 > itchoume\ ;
+伊達衆 > dateshuu\ ;
+腋窩腺 > ekikasen\ ;
+不文法 > fubunpou\ ;
+一貫性 > ikkansei\ ;
+口内炎 > kounaien\ ;
+過不足 > kafusoku\ ;
+愛用者 > aiyousha\ ;
+公民科 > kouminka\ ;
+出格子 > degoushi\ ;
+今世紀 > konseiki\ ;
+未婚者 > mikonsha\ ;
+候補生 > kouhosei\ ;
+東南亜 > tounan''a\ ;
+供養塔 > kuyoutou\ ;
+健胃剤 > ken''izai\ ;
+修験者 > shugenja\ ;
+柔道着 > juudougi\ ;
+微系数 > bikeisuu\ ;
+仕置場 > shiokiba\ ;
+平方和 > heihouwa\ ;
+伴奏部 > bansoubu\ ;
+古写本 > koshahon\ ;
+出来物 > dekimono\ ;
+土饅頭 > domanjuu\ ;
+世話人 > sewabito\ ;
+美顔水 > bigansui\ ;
+自由刑 > jiyuukei\ ;
+塩風呂 > shioburo\ ;
+充電器 > juudenki\ ;
+被験者 > hikensha\ ;
+小熊座 > kogumaza\ ;
+手信語 > teshingo\ ;
+赤毛布 > akagetto\ ;
+水彩画 > suisaiga\ ;
+一人寝 > hitorine\ ;
+青味泥 > aomidoro\ ;
+自由党 > jiyuutou\ ;
+芙蓉峰 > fuyouhou\ ;
+落花生 > rakkasei\ ;
+山間部 > sankanbu\ ;
+同時代 > doujidai\ ;
+無宗派 > mushuuha\ ;
+軍政府 > gunseifu\ ;
+婦人会 > fujinkai\ ;
+寺子屋 > terakoya\ ;
+原繊維 > gensen''i\ ;
+継電気 > keidenki\ ;
+右中間 > uchuukan\ ;
+不文明 > fubunmei\ ;
+平土間 > hiradoma\ ;
+次男坊 > jinanbou\ ;
+膀胱炎 > boukouen\ ;
+有効打 > yuukouda\ ;
+雨量計 > uryoukei\ ;
+宇宙船 > uchuusen\ ;
+減衰器 > gensuiki\ ;
+繰糸機 > soushiki\ ;
+多芸性 > tageisei\ ;
+赤切符 > akagippu\ ;
+火星人 > kaseijin\ ;
+日航機 > nikkouki\ ;
+今世界 > konsekai\ ;
+軍需品 > gunjuhin\ ;
+水蒸気 > suijouki\ ;
+単漢字 > tankanji\ ;
+十文字 > juumonji\ ;
+守備兵 > shubihei\ ;
+暗号文 > angoubun\ ;
+高等科 > koutouka\ ;
+添乗員 > tenjouin\ ;
+案内図 > an''naizu\ ;
+合言葉 > aikotoba\ ;
+定期券 > teikiken\ ;
+予算案 > yosan''an\ ;
+多様性 > tayousei\ ;
+名文家 > meibunka\ ;
+自賠法 > jibaihou\ ;
+出不精 > debushou\ ;
+安山岩 > anzangan\ ;
+老大家 > routaika\ ;
+氏素性 > ujisujou\ ;
+上天気 > joutenki\ ;
+第一声 > daiissei\ ;
+導火線 > doukasen\ ;
+依頼心 > iraishin\ ;
+宇宙線 > uchuusen\ ;
+負債者 > fusaisha\ ;
+後頭部 > koutoubu\ ;
+皮膚病 > hifubyou\ ;
+老夫婦 > roufuufu\ ;
+地下水 > chikasui\ ;
+電気代 > denkidai\ ;
+定義域 > teigiiki\ ;
+放火罪 > houkazai\ ;
+雨合羽 > amagappa\ ;
+受刑者 > jukeisha\ ;
+非公開 > hikoukai\ ;
+普請場 > fushinba\ ;
+多島海 > tatoukai\ ;
+労働歌 > roudouka\ ;
+寄港地 > kikouchi\ ;
+定期便 > teikibin\ ;
+未来形 > miraikei\ ;
+飛行士 > hikoushi\ ;
+妊産婦 > ninsanpu\ ;
+短時間 > tanjikan\ ;
+偏差値 > hensachi\ ;
+下降線 > kakousen\ ;
+洋菓子 > yougashi\ ;
+断裁機 > dansaiki\ ;
+飛行場 > hikoujou\ ;
+工具入 > kouguire\ ;
+体温計 > taionkei\ ;
+発行日 > hakkoubi\ ;
+拷問具 > goumongu\ ;
+除外例 > jogairei\ ;
+寿老人 > juroujin\ ;
+公取委 > koutorii\ ;
+院外団 > ingaidan\ ;
+不変性 > fuhensei\ ;
+多産系 > tasankei\ ;
+小規模 > shoukibo\ ;
+合議制 > gougisei\ ;
+維管束 > ikansoku\ ;
+高温計 > kouonkei\ ;
+初等科 > shotouka\ ;
+記憶法 > kiokuhou\ ;
+今朝方 > kesagata\ ;
+選挙区 > senkyoku\ ;
+破砕性 > hasaisei\ ;
+鹿野苑 > rokuyaon\ ;
+舞台裏 > butaiura\ ;
+経営権 > keieiken\ ;
+不燃性 > funensei\ ;
+神祇官 > jingikan\ ;
+氏素姓 > ujisujou\ ;
+被害者 > higaisha\ ;
+水酸基 > suisanki\ ;
+天体図 > tentaizu\ ;
+近距離 > kinkyori\ ;
+準社員 > junshain\ ;
+人件費 > jinkenhi\ ;
+常得意 > joutokui\ ;
+皮脂腺 > hishisen\ ;
+無定形 > muteikei\ ;
+可用性 > kayousei\ ;
+人生派 > jinseiha\ ;
+発行所 > hakkoujo\ ;
+摩天楼 > matenrou\ ;
+小間物 > komamono\ ;
+御大層 > gotaisou\ ;
+警備隊 > keibitai\ ;
+割烹着 > kappougi\ ;
+協和音 > kyouwaon\ ;
+受動態 > judoutai\ ;
+総動員 > soudouin\ ;
+花林糖 > karintou\ ;
+正社員 > seishain\ ;
+等温線 > touonsen\ ;
+御霊屋 > mitamaya\ ;
+一夕話 > issekiwa\ ;
+小為替 > kogawase\ ;
+第一位 > daiichii\ ;
+税関吏 > zeikanri\ ;
+養育費 > youikuhi\ ;
+流鏑馬 > yabusame\ ;
+控訴人 > kousonin\ ;
+茶話会 > chawakai\ ;
+喫緊事 > kikkinji\ ;
+吸金剛 > kokongou\ ;
+老練家 > rourenka\ ;
+不調和 > fuchouwa\ ;
+気管支 > kikanshi\ ;
+水酸化 > suisanka\ ;
+大人気 > daininki\ ;
+青銅器 > seidouki\ ;
+飛行便 > hikoubin\ ;
+可能法 > kanouhou\ ;
+真珠母 > shinjubo\ ;
+専攻科 > senkouka\ ;
+化膿菌 > kanoukin\ ;
+非常線 > hijousen\ ;
+精一杯 > seiippai\ ;
+遇不遇 > guufuguu\ ;
+未耕地 > mikouchi\ ;
+門下生 > monkasei\ ;
+一風呂 > hitofuro\ ;
+培養基 > baiyouki\ ;
+軍隊化 > guntaika\ ;
+演芸会 > engeikai\ ;
+文人画 > bunjinga\ ;
+現時代 > genjidai\ ;
+広範囲 > kouhan''i\ ;
+円屋根 > maruyane\ ;
+培養土 > baiyoudo\ ;
+寒気団 > kankidan\ ;
+粗利益 > ararieki\ ;
+予算外 > yosangai\ ;
+非民主 > himinshu\ ;
+受益者 > juekisha\ ;
+安定板 > anteiban\ ;
+記念館 > kinenkan\ ;
+大宇宙 > daiuchuu\ ;
+亜急性 > akyuusei\ ;
+計算簿 > keisanbo\ ;
+静止画 > seishiga\ ;
+不整合 > fuseigou\ ;
+二重顎 > nijuuago\ ;
+制御機 > seigyoki\ ;
+二等分 > nitoubun\ ;
+平炉法 > heirohou\ ;
+五稜堡 > goryouho\ ;
+未来像 > miraizou\ ;
+足温器 > sokuonki\ ;
+二等兵 > nitouhei\ ;
+貴族院 > kizokuin\ ;
+継電器 > keidenki\ ;
+記号論 > kigouron\ ;
+名詞句 > meishiku\ ;
+伝馬船 > tenmasen\ ;
+銀河系 > gingakei\ ;
+大宮司 > daiguuji\ ;
+流行目 > hayarime\ ;
+遠視眼 > enshigan\ ;
+卵巣炎 > ransouen\ ;
+未亡人 > miboujin\ ;
+不経済 > fukeizai\ ;
+引用符 > in''youfu\ ;
+柔道家 > juudouka\ ;
+不均衡 > fukinkou\ ;
+対話者 > taiwasha\ ;
+訟務部 > shoumubu\ ;
+御霊前 > goreizen\ ;
+兌換券 > dakanken\ ;
+不摂生 > fusessei\ ;
+日本風 > nihonfuu\ ;
+候補地 > kouhochi\ ;
+砂防林 > sabourin\ ;
+下士官 > kashikan\ ;
+市議会 > shigikai\ ;
+一時期 > ichijiki\ ;
+自負心 > jifushin\ ;
+相合傘 > aiaigasa\ ;
+謙譲語 > kenjougo\ ;
+扶持米 > fuchimai\ ;
+再起動 > saikidou\ ;
+獣医学 > juuigaku\ ;
+非常用 > hijouyou\ ;
+破廉恥 > harenchi\ ;
+出放題 > dehoudai\ ;
+安定感 > anteikan\ ;
+養老院 > yourouin\ ;
+野良猫 > noraneko\ ;
+未丁年 > miteinen\ ;
+安定性 > anteisei\ ;
+決算期 > kessanki\ ;
+自乗根 > jijoukon\ ;
+全荷重 > zenkajuu\ ;
+奥御殿 > okugoten\ ;
+製造所 > seizoujo\ ;
+快男児 > kaidanji\ ;
+旺文社 > oubunsha\ ;
+超音波 > chouonpa\ ;
+守護霊 > shugorei\ ;
+木曾川 > kisogawa\ ;
+弱音器 > jakuonki\ ;
+決算日 > kessanbi\ ;
+自主権 > jishuken\ ;
+能弁家 > noubenka\ ;
+可能性 > kanousei\ ;
+大旦那 > oodan''na\ ;
+印度教 > indokyou\ ;
+無人島 > mujintou\ ;
+真似事 > manegoto\ ;
+謄写器 > toushaki\ ;
+帰還者 > kikansha\ ;
+助産院 > josan''in\ ;
+女店員 > joten''in\ ;
+蛸部屋 > takobeya\ ;
+予算上 > yosanjou\ ;
+定時制 > teijisei\ ;
+正弦波 > seigenha\ ;
+余所事 > yosogoto\ ;
+馬鹿者 > bakamono\ ;
+儀礼兵 > gireihei\ ;
+日本酒 > nihonshu\ ;
+早産児 > souzanji\ ;
+採綿器 > saimenki\ ;
+英連邦 > eirenpou\ ;
+早生児 > souseiji\ ;
+加盟者 > kameisha\ ;
+降雨量 > kouuryou\ ;
+警備艇 > keibitei\ ;
+出来事 > dekigoto\ ;
+価電子 > kadenshi\ ;
+古生界 > koseikai\ ;
+制動機 > seidouki\ ;
+金魚屋 > kingyoya\ ;
+木天蓼 > matatabi\ ;
+半裸体 > hanratai\ ;
+日本軍 > nihongun\ ;
+日本車 > nihonsha\ ;
+修羅道 > shuradou\ ;
+商行為 > shoukoui\ ;
+条里制 > jourisei\ ;
+投影法 > toueihou\ ;
+有尾類 > yuubirui\ ;
+欧羅巴 > youroppa\ ;
+世間体 > sekentei\ ;
+伊達巻 > datemaki\ ;
+水利権 > suiriken\ ;
+史学家 > shigakka\ ;
+納付金 > noufukin\ ;
+蕎麦殻 > sobagara\ ;
+方向舵 > houkouda\ ;
+夏至線 > geshisen\ ;
+不均等 > fukintou\ ;
+宇宙帽 > uchuubou\ ;
+無頼漢 > buraikan\ ;
+濃度計 > noudokei\ ;
+一昨年 > ototoshi\ ;
+未経験 > mikeiken\ ;
+朝寝坊 > asanebou\ ;
+過大視 > kadaishi\ ;
+翡翠色 > hisuiiro\ ;
+土根性 > dokonjou\ ;
+総模様 > soumoyou\ ;
+計算機 > keisanki\ ;
+弁当屋 > bentouya\ ;
+代打者 > daidasha\ ;
+風媒花 > fuubaika\ ;
+無試験 > mushiken\ ;
+醸造酢 > jouzousu\ ;
+反動派 > handouha\ ;
+経済家 > keizaika\ ;
+淋巴腺 > rinpasen\ ;
+自主性 > jishusei\ ;
+越天楽 > etenraku\ ;
+権利金 > kenrikin\ ;
+慢性化 > manseika\ ;
+授乳期 > junyuuki\ ;
+専門語 > senmongo\ ;
+前舞台 > maebutai\ ;
+選科生 > senkasei\ ;
+季刊誌 > kikanshi\ ;
+実際家 > jissaika\ ;
+一昼夜 > itchuuya\ ;
+衆議院 > shuugiin\ ;
+日本製 > nihonsei\ ;
+印判師 > inbanshi\ ;
+小火器 > shoukaki\ ;
+無風帯 > mufuutai\ ;
+制御器 > seigyoki\ ;
+走査線 > sousasen\ ;
+空手家 > karateka\ ;
+不器量 > bukiryou\ ;
+天井値 > tenjoune\ ;
+計算木 > keisangi\ ;
+採炭所 > saitanjo\ ;
+弁務官 > benmukan\ ;
+受益権 > juekiken\ ;
+加工紙 > kakoushi\ ;
+教務課 > kyoumuka\ ;
+連動機 > rendouki\ ;
+交差点 > kousaten\ ;
+議事録 > gijiroku\ ;
+再来年 > sarainen\ ;
+一昨夜 > issakuya\ ;
+宇宙塵 > uchuujin\ ;
+水道屋 > suidouya\ ;
+重軌条 > juukijou\ ;
+違約金 > iyakukin\ ;
+鸚鵡病 > oumubyou\ ;
+単性花 > tanseika\ ;
+注意点 > chuuiten\ ;
+常備金 > joubikin\ ;
+転移性 > ten''isei\ ;
+活火山 > kakkazan\ ;
+加工税 > kakouzei\ ;
+美粧院 > bishouin\ ;
+茶箪笥 > chadansu\ ;
+噴火山 > funkazan\ ;
+地方時 > chihouji\ ;
+悪餓鬼 > warugaki\ ;
+博愛家 > hakuaika\ ;
+情報部 > jouhoubu\ ;
+日本茶 > nihoncha\ ;
+光行差 > koukousa\ ;
+外耳道 > gaijidou\ ;
+地震波 > jishinha\ ;
+三塁打 > sanruida\ ;
+勾引状 > kouinjou\ ;
+地雷源 > jiraigen\ ;
+電機子 > denkishi\ ;
+常備軍 > joubigun\ ;
+小型化 > kogataka\ ;
+刷毛先 > hakesaki\ ;
+青内障 > aosokohi\ ;
+評議員 > hyougiin\ ;
+公分母 > koubunbo\ ;
+可聴度 > kachoudo\ ;
+無条件 > mujouken\ ;
+矢飛白 > yagasuri\ ;
+手腕家 > shuwanka\ ;
+検事正 > kenjisei\ ;
+偽善者 > gizensha\ ;
+伝導度 > dendoudo\ ;
+公募債 > koubosai\ ;
+機関銃 > kikanjuu\ ;
+武勇伝 > buyuuden\ ;
+制御下 > seigyoka\ ;
+蓮華草 > rengesou\ ;
+報知機 > houchiki\ ;
+夏至点 > geshiten\ ;
+武芸者 > bugeisha\ ;
+走馬灯 > soumatou\ ;
+歯軌条 > shikijou\ ;
+二重税 > nijuuzei\ ;
+正比例 > seihirei\ ;
+預金者 > yokinsha\ ;
+加速度 > kasokudo\ ;
+正当化 > seitouka\ ;
+手不足 > tebusoku\ ;
+側火山 > sokkazan\ ;
+過不及 > kafukyuu\ ;
+殺鼠剤 > sassozai\ ;
+記念祭 > kinensai\ ;
+不手際 > futegiwa\ ;
+不等辺 > futouhen\ ;
+被害地 > higaichi\ ;
+機関車 > kikansha\ ;
+日本紙 > nihonshi\ ;
+宇宙人 > uchuujin\ ;
+潜水夫 > sensuifu\ ;
+御陀仏 > odabutsu\ ;
+夜学校 > yagakkou\ ;
+再上映 > saijouei\ ;
+外来語 > gairaigo\ ;
+難破船 > nanpasen\ ;
+駒下駄 > komageta\ ;
+注意書 > chuuisho\ ;
+五重奏 > gojuusou\ ;
+漫談家 > mandanka\ ;
+倍精度 > baiseido\ ;
+納付者 > noufusha\ ;
+噴火口 > funkakou\ ;
+介護人 > kaigonin\ ;
+道議会 > dougikai\ ;
+有機体 > yuukitai\ ;
+死産児 > shizanji\ ;
+不規則 > fukisoku\ ;
+潜水器 > sensuiki\ ;
+整備工 > seibikou\ ;
+荒武者 > aramusha\ ;
+遠地点 > enchiten\ ;
+外字紙 > gaijishi\ ;
+今時分 > imajibun\ ;
+反動家 > handouka\ ;
+機関誌 > kikanshi\ ;
+大晦日 > oomisoka\ ;
+不精巧 > fuseikou\ ;
+大丈夫 > daijoubu\ ;
+保全会 > hozenkai\ ;
+同素体 > dousotai\ ;
+再交付 > saikoufu\ ;
+天日法 > tenpihou\ ;
+守護神 > shugojin\ ;
+組合費 > kumiaihi\ ;
+荒蕪地 > koubuchi\ ;
+愛媛県 > ehimeken\ ;
+計算器 > keisanki\ ;
+未青年 > miseinen\ ;
+人事欄 > jinjiran\ ;
+長音符 > chouonpu\ ;
+不均斉 > fukinsei\ ;
+準備金 > junbikin\ ;
+淋巴液 > rinpaeki\ ;
+事務長 > jimuchou\ ;
+修理屋 > shuuriya\ ;
+懐疑論 > kaigiron\ ;
+喉頭炎 > koutouen\ ;
+疎外感 > sogaikan\ ;
+加速器 > kasokuki\ ;
+加工歯 > kakoushi\ ;
+庭下駄 > niwageta\ ;
+非常勤 > hijoukin\ ;
+野球部 > yakyuubu\ ;
+前駆戦 > zenkusen\ ;
+指導部 > shidoubu\ ;
+財産家 > zaisanka\ ;
+居催促 > izaisoku\ ;
+当歳馬 > tousaiba\ ;
+仁王力 > niouriki\ ;
+多肉果 > tanikuka\ ;
+最盛期 > saiseiki\ ;
+反比例 > hanpirei\ ;
+女子高 > joshikou\ ;
+開回路 > kaikairo\ ;
+審査員 > shinsain\ ;
+麝香水 > jakousui\ ;
+日本犬 > nihonken\ ;
+事務量 > jimuryou\ ;
+引用句 > in''youku\ ;
+科学院 > kagakuin\ ;
+前頭部 > zentoubu\ ;
+十四日 > juuyokka\ ;
+連歌師 > rengashi\ ;
+支援者 > shiensha\ ;
+梶木座 > kajikiza\ ;
+地方区 > chihouku\ ;
+山火事 > yamakaji\ ;
+才未満 > saimiman\ ;
+人類猿 > jinruien\ ;
+議定書 > giteisho\ ;
+茶坊主 > chabouzu\ ;
+加盟店 > kameiten\ ;
+緩下剤 > kangezai\ ;
+萌黄色 > moegiiro\ ;
+空気銃 > kuukijuu\ ;
+鹹水湖 > kansuiko\ ;
+海老腰 > ebigoshi\ ;
+生計費 > seikeihi\ ;
+参加者 > sankasha\ ;
+日本海 > nihonkai\ ;
+被乗数 > hijousuu\ ;
+手風琴 > tefuukin\ ;
+注意報 > chuuihou\ ;
+風景画 > fuukeiga\ ;
+電子音 > denshion\ ;
+転化糖 > tenkatou\ ;
+閉経期 > heikeiki\ ;
+出無精 > debushou\ ;
+互助的 > gojoteki\ ;
+乾所帯 > kanjotai\ ;
+大音声 > daionjou\ ;
+破産者 > hasansha\ ;
+閉回路 > heikairo\ ;
+機関紙 > kikanshi\ ;
+胡麻擂 > gomasuri\ ;
+機雷原 > kiraigen\ ;
+多孔性 > takousei\ ;
+合成音 > gouseion\ ;
+破魔弓 > hamayumi\ ;
+造影剤 > zoueizai\ ;
+倦怠期 > kentaiki\ ;
+未納者 > minousha\ ;
+二重星 > nijuusei\ ;
+繁体字 > hantaiji\ ;
+消音器 > shouonki\ ;
+多人数 > taninzuu\ ;
+赴任地 > funinchi\ ;
+古生代 > koseidai\ ;
+芝居気 > shibaige\ ;
+横座標 > ouzahyou\ ;
+自警団 > jikeidan\ ;
+暫定案 > zanteian\ ;
+魚市場 > uoichiba\ ;
+駅馬車 > ekibasha\ ;
+対話体 > taiwatai\ ;
+清掃夫 > seisoufu\ ;
+高感度 > koukando\ ;
+紀元前 > kigenzen\ ;
+磨研紙 > makenshi\ ;
+火蜥蜴 > hitokage\ ;
+既婚者 > kikonsha\ ;
+搬送波 > hansouha\ ;
+疎開者 > sokaisha\ ;
+思想家 > shisouka\ ;
+岩田帯 > iwataobi\ ;
+開閉機 > kaiheiki\ ;
+序破急 > johakyuu\ ;
+足忠実 > ashimame\ ;
+半減期 > hangenki\ ;
+自然美 > shizenbi\ ;
+前世紀 > zenseiki\ ;
+研磨紙 > kenmashi\ ;
+青写真 > aojashin\ ;
+祈祷書 > kitousho\ ;
+帰還兵 > kikanhei\ ;
+閉経後 > heikeigo\ ;
+多方面 > tahoumen\ ;
+燕尾服 > enbifuku\ ;
+禀議書 > ringisho\ ;
+父兄会 > fukeikai\ ;
+高麗楽 > komagaku\ ;
+全盛期 > zenseiki\ ;
+予想外 > yosougai\ ;
+扁桃油 > hentouyu\ ;
+青年期 > seinenki\ ;
+均等化 > kintouka\ ;
+受験者 > jukensha\ ;
+時代相 > jidaisou\ ;
+増加分 > zoukabun\ ;
+二連銃 > nirenjuu\ ;
+一回転 > ikkaiten\ ;
+主脳部 > shunoubu\ ;
+納付書 > noufusho\ ;
+単弁花 > tanbenka\ ;
+流浪者 > rurousha\ ;
+荒利益 > ararieki\ ;
+菓子盆 > kashibon\ ;
+公用語 > kouyougo\ ;
+太陽炉 > taiyouro\ ;
+受身形 > ukemikei\ ;
+民営化 > min''eika\ ;
+人望家 > jinbouka\ ;
+総二階 > sounikai\ ;
+解雇者 > kaikosha\ ;
+漢時代 > kanjidai\ ;
+内外野 > naigaiya\ ;
+片仮名 > katakana\ ;
+脱衣所 > datsuijo\ ;
+不錆鋼 > fuseikou\ ;
+贈与者 > zouyosha\ ;
+保守系 > hoshukei\ ;
+海馬回 > kaibakai\ ;
+自堕落 > jidaraku\ ;
+本塁打 > honruida\ ;
+愛餐会 > aisankai\ ;
+対抗馬 > taikouba\ ;
+仮名文 > kanabumi\ ;
+胡麻塩 > gomashio\ ;
+加工品 > kakouhin\ ;
+権利書 > kenrisho\ ;
+廃要素 > haiyouso\ ;
+空想家 > kuusouka\ ;
+既定値 > kiteichi\ ;
+販売部 > hanbaibu\ ;
+眼鏡屋 > meganeya\ ;
+前世界 > zensekai\ ;
+本場所 > honbasho\ ;
+虚無党 > kyomutou\ ;
+人類愛 > jinruiai\ ;
+二重奏 > nijuusou\ ;
+愛好者 > aikousha\ ;
+合成語 > gouseigo\ ;
+石火矢 > ishibiya\ ;
+出納簿 > suitoubo\ ;
+軍管区 > gunkanku\ ;
+秋田県 > akitaken\ ;
+儒学界 > jugakkai\ ;
+下手糞 > hetakuso\ ;
+未墾地 > mikonchi\ ;
+大多数 > daitasuu\ ;
+子午線 > shigosen\ ;
+正常化 > seijouka\ ;
+発酵素 > hakkouso\ ;
+距離計 > kyorikei\ ;
+船小屋 > funagoya\ ;
+醸造所 > jouzoujo\ ;
+大納言 > dainagon\ ;
+天文家 > tenmonka\ ;
+模造者 > mozousha\ ;
+寝不足 > nebusoku\ ;
+専門家 > senmonka\ ;
+未然形 > mizenkei\ ;
+剪裁機 > sensaiki\ ;
+購買部 > koubaibu\ ;
+慈善会 > jizenkai\ ;
+悪趣味 > akushumi\ ;
+贈与税 > zouyozei\ ;
+保存系 > hozonkei\ ;
+気動車 > kidousha\ ;
+永住者 > eijuusha\ ;
+未熟児 > mijukuji\ ;
+記念品 > kinenhin\ ;
+破瓜病 > hakabyou\ ;
+破産法 > hasanhou\ ;
+停電日 > teidenbi\ ;
+受験生 > jukensei\ ;
+陸蒸気 > okajouki\ ;
+実行時 > jikkouji\ ;
+模造紙 > mozoushi\ ;
+二原子 > nigenshi\ ;
+他所者 > yosomono\ ;
+秋田犬 > akitaken\ ;
+万国旗 > bankokki\ ;
+事務的 > jimuteki\ ;
+推移的 > suiiteki\ ;
+空気穴 > kuukiana\ ;
+受容者 > juyousha\ ;
+糠味噌 > nukamiso\ ;
+方形波 > houkeiha\ ;
+戦前派 > senzenha\ ;
+処理場 > shorijou\ ;
+二弦琴 > nigenkin\ ;
+酒造家 > shuzouka\ ;
+掲示板 > keijiban\ ;
+内風呂 > uchiburo\ ;
+中労委 > chuuroui\ ;
+愛猫家 > aibyouka\ ;
+三回忌 > sankaiki\ ;
+総仕舞 > soujimai\ ;
+醸造家 > jouzouka\ ;
+交付金 > koufukin\ ;
+扇風機 > senpuuki\ ;
+全候補 > zenkouho\ ;
+理想論 > risouron\ ;
+日本史 > nihonshi\ ;
+漢数字 > kansuuji\ ;
+輝煌帝 > kikoutei\ ;
+支持者 > shijisha\ ;
+大文字 > daimonji\ ;
+子午環 > shigokan\ ;
+艶福家 > enpukuka\ ;
+開閉器 > kaiheiki\ ;
+専門医 > senmon''i\ ;
+更年期 > kounenki\ ;
+専門化 > senmonka\ ;
+日本刀 > nihontou\ ;
+不行儀 > fugyougi\ ;
+帰巣性 > kisousei\ ;
+下手物 > getemono\ ;
+提案者 > teiansha\ ;
+受信機 > jushinki\ ;
+揚子江 > yousukou\ ;
+経常費 > keijouhi\ ;
+海王星 > kaiousei\ ;
+幼稚園 > youchien\ ;
+企画課 > kikakuka\ ;
+月桂樹 > gekkeiju\ ;
+未記入 > mikinyuu\ ;
+研磨材 > kenmazai\ ;
+二年草 > ninensou\ ;
+義勇軍 > giyuugun\ ;
+文語文 > bungobun\ ;
+誕生日 > tanjoubi\ ;
+金時計 > kindokei\ ;
+空洞化 > kuudouka\ ;
+糞味噌 > kusomiso\ ;
+日本人 > nihonjin\ ;
+性遊戯 > seiyuugi\ ;
+次点者 > jitensha\ ;
+防腐剤 > boufuzai\ ;
+日本中 > nihonjuu\ ;
+腕相撲 > udezumou\ ;
+不節制 > fusessei\ ;
+地域差 > chiikisa\ ;
+保護鳥 > hogochou\ ;
+小手先 > kotesaki\ ;
+無降水 > mukousui\ ;
+鼻呼吸 > bikokyuu\ ;
+重騎兵 > juukihei\ ;
+古代史 > kodaishi\ ;
+能舞台 > noubutai\ ;
+競馬馬 > keibauma\ ;
+免租地 > mensochi\ ;
+二次的 > nijiteki\ ;
+演奏者 > ensousha\ ;
+具体性 > gutaisei\ ;
+一等車 > ittousha\ ;
+不品行 > fuhinkou\ ;
+特科兵 > tokkahei\ ;
+脂肪油 > shibouyu\ ;
+左大臣 > sadaijin\ ;
+金字塔 > kinjitou\ ;
+高野山 > kouyasan\ ;
+大熊座 > oogumaza\ ;
+冒険家 > boukenka\ ;
+塩濃度 > en''noudo\ ;
+日乃丸 > hinomaru\ ;
+何処迄 > dokomade\ ;
+近似値 > kinjichi\ ;
+透磁性 > toujisei\ ;
+保護領 > hogoryou\ ;
+特派員 > tokuhain\ ;
+唾液腺 > daekisen\ ;
+庭木戸 > niwakido\ ;
+後援者 > kouensha\ ;
+黄鉄鉱 > outekkou\ ;
+古代人 > kodaijin\ ;
+事務服 > jimufuku\ ;
+小麦粉 > komugiko\ ;
+不溶性 > fuyousei\ ;
+顧問団 > komondan\ ;
+保有者 > hoyuusha\ ;
+避病院 > hibyouin\ ;
+前景気 > maegeiki\ ;
+機関士 > kikanshi\ ;
+外交員 > gaikouin\ ;
+銅相場 > dousouba\ ;
+傾斜度 > keishado\ ;
+高度計 > koudokei\ ;
+近未来 > kinmirai\ ;
+捕鯨船 > hogeisen\ ;
+加害者 > kagaisha\ ;
+数珠玉 > juzudama\ ;
+手羽先 > tebasaki\ ;
+補助翼 > hojoyoku\ ;
+慈悲心 > jihishin\ ;
+外貨債 > gaikasai\ ;
+情報化 > jouhouka\ ;
+総予算 > souyosan\ ;
+真夜中 > mayonaka\ ;
+下意識 > kaishiki\ ;
+代稽古 > daigeiko\ ;
+永住権 > eijuuken\ ;
+保有米 > hoyuumai\ ;
+自国語 > jikokugo\ ;
+反対語 > hantaigo\ ;
+変異体 > hen''itai\ ;
+利己的 > rikoteki\ ;
+建具屋 > tateguya\ ;
+防寒具 > boukangu\ ;
+女学校 > jogakkou\ ;
+保守性 > hoshusei\ ;
+好景気 > koukeiki\ ;
+交付者 > koufusha\ ;
+可変数 > kahensuu\ ;
+花文字 > hanamoji\ ;
+面会日 > menkaibi\ ;
+煙草屋 > tabakoya\ ;
+雨模様 > amemoyou\ ;
+揺籃期 > youranki\ ;
+突破口 > toppakou\ ;
+近代化 > kindaika\ ;
+点火系 > tenkakei\ ;
+二年生 > ninensei\ ;
+星気体 > seikitai\ ;
+不等号 > fudougou\ ;
+五辺形 > gohenkei\ ;
+二輪車 > nirinsha\ ;
+用箪笥 > youdansu\ ;
+冷蔵庫 > reizouko\ ;
+不所存 > fushozon\ ;
+投光器 > toukouki\ ;
+女子校 > joshikou\ ;
+浜茄子 > hamanasu\ ;
+古書展 > koshoten\ ;
+二十代 > nijuudai\ ;
+市街図 > shigaizu\ ;
+樹枝状 > jushijou\ ;
+序盤戦 > jobansen\ ;
+火成岩 > kaseigan\ ;
+組合員 > kumiaiin\ ;
+亜脱臼 > adakkyuu\ ;
+鬱金色 > ukon''iro\ ;
+鬼武者 > onimusha\ ;
+斜投影 > shatouei\ ;
+滑空機 > kakkuuki\ ;
+軽騎兵 > keikihei\ ;
+二元論 > nigenron\ ;
+手料理 > teryouri\ ;
+単利法 > tanrihou\ ;
+御神輿 > omikoshi\ ;
+先鋭化 > sen''eika\ ;
+撒布剤 > sappuzai\ ;
+呉服屋 > gofukuya\ ;
+受信器 > jushinki\ ;
+溶解炉 > youkairo\ ;
+可変性 > kahensei\ ;
+年齢差 > nenreisa\ ;
+刀圭家 > toukeika\ ;
+鳳仙花 > housenka\ ;
+導波管 > douhakan\ ;
+単比例 > tanpirei\ ;
+捕鯨砲 > hogeihou\ ;
+直足袋 > jikatabi\ ;
+悪太郎 > akutarou\ ;
+有理数 > yuurisuu\ ;
+部分品 > bubunhin\ ;
+可燃性 > kanensei\ ;
+不善感 > fuzenkan\ ;
+洗面所 > senmenjo\ ;
+送油管 > souyukan\ ;
+格子戸 > koushido\ ;
+具体例 > gutairei\ ;
+支持杭 > shijikou\ ;
+無限大 > mugendai\ ;
+精米所 > seimaijo\ ;
+統語論 > tougoron\ ;
+未開墾 > mikaikon\ ;
+作業費 > sagyouhi\ ;
+大阪府 > oosakafu\ ;
+猊美渓 > geibikei\ ;
+打撃王 > dagekiou\ ;
+広葉樹 > kouyouju\ ;
+草創期 > sousouki\ ;
+侍衛長 > jieichou\ ;
+二進木 > nishingi\ ;
+顕在化 > kenzaika\ ;
+再試合 > saishiai\ ;
+伝音器 > den''onki\ ;
+義務的 > gimuteki\ ;
+輸卵管 > yurankan\ ;
+低利金 > teirikin\ ;
+戦利品 > senrihin\ ;
+文語体 > bungotai\ ;
+乾性油 > kanseiyu\ ;
+擂粉木 > surikogi\ ;
+指導員 > shidouin\ ;
+未開地 > mikaichi\ ;
+秘書官 > hishokan\ ;
+武家物 > bukemono\ ;
+整理券 > seiriken\ ;
+育雛器 > ikusuuki\ ;
+圧搾機 > assakuki\ ;
+二分法 > nibunhou\ ;
+混成語 > konseigo\ ;
+珈琲苑 > kouhiien\ ;
+二部作 > nibusaku\ ;
+総会屋 > soukaiya\ ;
+仕手戦 > shitesen\ ;
+好好爺 > koukouya\ ;
+税務署 > zeimusho\ ;
+販売機 > hanbaiki\ ;
+空気孔 > kuukikou\ ;
+疲労感 > hiroukan\ ;
+放水路 > housuiro\ ;
+会議所 > kaigisho\ ;
+形容語 > keiyougo\ ;
+一回戦 > ikkaisen\ ;
+疑問詞 > gimonshi\ ;
+苦労人 > kurounin\ ;
+聖火台 > seikadai\ ;
+水位標 > suiihyou\ ;
+悲観論 > hikanron\ ;
+妄語戒 > mougokai\ ;
+永小作 > eikosaku\ ;
+炭素鋼 > tansokou\ ;
+繊維束 > senisoku\ ;
+解放区 > kaihouku\ ;
+保守党 > hoshutou\ ;
+紅一点 > kouitten\ ;
+企業家 > kigyouka\ ;
+家庭用 > kateiyou\ ;
+虚空蔵 > kokuuzou\ ;
+会計課 > kaikeika\ ;
+勤務者 > kinmusha\ ;
+距離感 > kyorikan\ ;
+不成功 > fuseikou\ ;
+祈年祭 > kinensai\ ;
+看護法 > kangohou\ ;
+催事場 > saijijou\ ;
+鬼兵隊 > kiheitai\ ;
+女子大 > joshidai\ ;
+唯我論 > yuigaron\ ;
+未製品 > miseihin\ ;
+無統制 > mutousei\ ;
+造船所 > zousenjo\ ;
+身支度 > mijitaku\ ;
+金本位 > kinhon''i\ ;
+多面性 > tamensei\ ;
+大型機 > oogataki\ ;
+未開人 > mikaijin\ ;
+藁屋根 > warayane\ ;
+月世界 > gessekai\ ;
+得意顔 > tokuigao\ ;
+手間隙 > temahima\ ;
+空気口 > kuukikou\ ;
+政治犯 > seijihan\ ;
+洗面器 > senmenki\ ;
+人文字 > hitomoji\ ;
+模造品 > mozouhin\ ;
+呼吸器 > kokyuuki\ ;
+土地鑑 > tochikan\ ;
+気送管 > kisoukan\ ;
+低金利 > teikinri\ ;
+帽子屋 > boushiya\ ;
+御成功 > goseikou\ ;
+珊瑚海 > sangokai\ ;
+曳光弾 > eikoudan\ ;
+千里眼 > senrigan\ ;
+落下傘 > rakkasan\ ;
+渡航者 > tokousha\ ;
+下手人 > geshunin\ ;
+処女林 > shojorin\ ;
+事業部 > jigyoubu\ ;
+富山房 > fuzanbou\ ;
+接待費 > settaihi\ ;
+繊維性 > sen''isei\ ;
+手話法 > shuwahou\ ;
+保養地 > hoyouchi\ ;
+利己心 > rikoshin\ ;
+点火栓 > tenkasen\ ;
+鎔鉱炉 > youkouro\ ;
+可換群 > kakangun\ ;
+会議場 > kaigijou\ ;
+人非人 > ninpinin\ ;
+花粉管 > kafunkan\ ;
+過激派 > kagekiha\ ;
+溶解度 > youkaido\ ;
+句読点 > kutouten\ ;
+捜査陣 > sousajin\ ;
+企業化 > kigyouka\ ;
+営利的 > eiriteki\ ;
+被災者 > hisaisha\ ;
+不従順 > fujuujun\ ;
+反射炉 > hansharo\ ;
+佝僂病 > kurubyou\ ;
+都会人 > tokaijin\ ;
+呪禁道 > jukondou\ ;
+古版本 > kohanbon\ ;
+測候所 > sokkoujo\ ;
+派遣隊 > hakentai\ ;
+歓迎宴 > kangeien\ ;
+成功裡 > seikouri\ ;
+家庭欄 > kateiran\ ;
+多変数 > tahensuu\ ;
+男性美 > danseibi\ ;
+高機能 > koukinou\ ;
+人間苦 > ningenku\ ;
+三味線 > shamisen\ ;
+寿喜焼 > sukiyaki\ ;
+同程度 > douteido\ ;
+好塩菌 > kouenkin\ ;
+送気管 > soukikan\ ;
+犠牲者 > giseisha\ ;
+花紋板 > kamonban\ ;
+電子化 > denshika\ ;
+尽未来 > jinmirai\ ;
+句読法 > kutouhou\ ;
+好天気 > koutenki\ ;
+浄化槽 > joukasou\ ;
+有声音 > yuuseion\ ;
+反作用 > hansayou\ ;
+全自動 > zenjidou\ ;
+反対派 > hantaiha\ ;
+処女性 > shojosei\ ;
+手間賃 > temachin\ ;
+一回分 > ikkaibun\ ;
+罹災者 > risaisha\ ;
+貯炭所 > chotanjo\ ;
+有人化 > yuujinka\ ;
+印象派 > inshouha\ ;
+講演者 > kouensha\ ;
+槍騎兵 > soukihei\ ;
+逃避行 > touhikou\ ;
+内火艇 > naikatei\ ;
+圧搾器 > assakuki\ ;
+利権屋 > riken''ya\ ;
+光度計 > koudokei\ ;
+閲兵台 > eppeidai\ ;
+混種語 > konshugo\ ;
+透過性 > toukasei\ ;
+会見記 > kaikenki\ ;
+相似点 > soujiten\ ;
+螺子釘 > nejikugi\ ;
+処女峰 > shojohou\ ;
+看護師 > kangoshi\ ;
+有頂点 > uchouten\ ;
+一等星 > ittousei\ ;
+下水道 > gesuidou\ ;
+非人情 > hininjou\ ;
+主義者 > shugisha\ ;
+派遣軍 > hakengun\ ;
+再提案 > saiteian\ ;
+美意識 > biishiki\ ;
+総本家 > souhonke\ ;
+度外視 > dogaishi\ ;
+遠征隊 > enseitai\ ;
+理想型 > risoukei\ ;
+仮分数 > kabunsuu\ ;
+助数詞 > josuushi\ ;
+精算所 > seisanjo\ ;
+消火器 > shoukaki\ ;
+多面体 > tamentai\ ;
+形骸化 > keigaika\ ;
+欧米人 > oubeijin\ ;
+経師屋 > kyoujiya\ ;
+誤変換 > gohenkan\ ;
+還付金 > kanpukin\ ;
+晩御飯 > bangohan\ ;
+腕自慢 > udejiman\ ;
+浄水器 > jousuiki\ ;
+助教諭 > jokyouyu\ ;
+看護士 > kangoshi\ ;
+永子作 > eikosaku\ ;
+処女地 > shojochi\ ;
+利用者 > riyousha\ ;
+無精卵 > museiran\ ;
+無関係 > mukankei\ ;
+正字法 > seijihou\ ;
+軍医監 > gun''ikan\ ;
+警世家 > keiseika\ ;
+来学期 > raigakki\ ;
+映画評 > eigahyou\ ;
+批判者 > hihansha\ ;
+平叙文 > heijobun\ ;
+三重苦 > sanjuuku\ ;
+模倣者 > mohousha\ ;
+予選会 > yosenkai\ ;
+演奏会 > ensoukai\ ;
+不活性 > fukassei\ ;
+開口部 > kaikoubu\ ;
+双胴機 > soudouki\ ;
+須弥山 > shumisen\ ;
+偽造罪 > gizouzai\ ;
+秀画家 > shuugaka\ ;
+交代員 > koutaiin\ ;
+赤電話 > akadenwa\ ;
+有期刑 > yuukikei\ ;
+口話法 > kouwahou\ ;
+戸主権 > koshuken\ ;
+公安官 > kouankan\ ;
+歯牙状 > shigajou\ ;
+伝声器 > denseiki\ ;
+保険金 > hokenkin\ ;
+指数部 > shisuubu\ ;
+豪華船 > goukasen\ ;
+丸暗記 > maruanki\ ;
+基準点 > kijunten\ ;
+後援会 > kouenkai\ ;
+県議会 > kengikai\ ;
+行在所 > anzaisho\ ;
+口語文 > kougobun\ ;
+寝煙草 > netabako\ ;
+断破壊 > danhakai\ ;
+磁鉄鉱 > jitekkou\ ;
+円為替 > engawase\ ;
+看護兵 > kangohei\ ;
+営業部 > eigyoubu\ ;
+不消化 > fushouka\ ;
+不徳義 > futokugi\ ;
+地吹雪 > jifubuki\ ;
+須弥壇 > shumidan\ ;
+佐幕派 > sabakuha\ ;
+頓痴気 > tonchiki\ ;
+多数党 > tasuutou\ ;
+輸送船 > yusousen\ ;
+採油権 > saiyuken\ ;
+来世紀 > raiseiki\ ;
+山水画 > sansuiga\ ;
+掃除人 > soujinin\ ;
+一等地 > ittouchi\ ;
+税務官 > zeimukan\ ;
+看護人 > kangonin\ ;
+半切符 > hankippu\ ;
+圧瀘器 > atsuroki\ ;
+基準法 > kijunhou\ ;
+受講者 > jukousha\ ;
+測距儀 > sokkyogi\ ;
+冷凍機 > reitouki\ ;
+等距離 > toukyori\ ;
+不名数 > fumeisuu\ ;
+試運転 > shiunten\ ;
+義勇兵 > giyuuhei\ ;
+親画面 > oyagamen\ ;
+拒否権 > kyohiken\ ;
+二番線 > nibansen\ ;
+営業費 > eigyouhi\ ;
+相似形 > soujikei\ ;
+双生児 > souseiji\ ;
+罹災民 > risaimin\ ;
+寄生木 > yadorigi\ ;
+火薬庫 > kayakuko\ ;
+赤頭巾 > akazukin\ ;
+蜥蜴座 > tokageza\ ;
+警報音 > keihouon\ ;
+大蜥蜴 > ootokage\ ;
+更生期 > kouseiki\ ;
+疑問文 > gimonbun\ ;
+荷為替 > nigawase\ ;
+圧濾器 > atsuroki\ ;
+腎臓炎 > jinzouen\ ;
+線維束 > senisoku\ ;
+寄贈者 > kizousha\ ;
+家庭内 > kateinai\ ;
+落語家 > rakugoka\ ;
+無節操 > musessou\ ;
+容疑者 > yougisha\ ;
+展開図 > tenkaizu\ ;
+私生児 > shiseiji\ ;
+大手筋 > ootesuji\ ;
+公定価 > kouteika\ ;
+気分屋 > kibun''ya\ ;
+一等兵 > ittouhei\ ;
+下水管 > gesuikan\ ;
+整数比 > seisuuhi\ ;
+社務所 > shamusho\ ;
+高層雲 > kousouun\ ;
+常套語 > joutougo\ ;
+船外機 > sengaiki\ ;
+双暗車 > souansha\ ;
+旅客機 > ryokakki\ ;
+運営者 > un''eisha\ ;
+恣意的 > shiiteki\ ;
+破天荒 > hatenkou\ ;
+熱帯夜 > nettaiya\ ;
+達成度 > tasseido\ ;
+多角形 > takakkei\ ;
+入会権 > iriaiken\ ;
+千葉県 > chibaken\ ;
+五月雨 > samidare\ ;
+有頂天 > uchouten\ ;
+準会員 > junkaiin\ ;
+水曜日 > suiyoubi\ ;
+渇水期 > kassuiki\ ;
+競馬場 > keibajou\ ;
+鳩小屋 > hatogoya\ ;
+不正視 > fuseishi\ ;
+四半期 > shihanki\ ;
+熔鉱炉 > youkouro\ ;
+作用点 > sayouten\ ;
+遊園地 > yuuenchi\ ;
+軌道船 > kidousen\ ;
+弁理士 > benrishi\ ;
+麻酔銃 > masuijuu\ ;
+木螺子 > mokuneji\ ;
+歩数計 > hosuukei\ ;
+主題歌 > shudaika\ ;
+正会員 > seikaiin\ ;
+微分法 > bibunhou\ ;
+動員令 > douinrei\ ;
+青瓦台 > seigadai\ ;
+渡船場 > tosenjou\ ;
+意識下 > ishikika\ ;
+保護国 > hogokoku\ ;
+同性愛 > douseiai\ ;
+油圧器 > yuatsuki\ ;
+燕青拳 > enseiken\ ;
+幼年期 > younenki\ ;
+豪華版 > goukaban\ ;
+医原病 > igenbyou\ ;
+電話線 > denwasen\ ;
+冷凍庫 > reitouko\ ;
+還付税 > kanpuzei\ ;
+弁護者 > bengosha\ ;
+電話網 > denwamou\ ;
+登山道 > tozandou\ ;
+重電機 > juudenki\ ;
+不恰好 > bukakkou\ ;
+阿房鳥 > ahoudori\ ;
+予備的 > yobiteki\ ;
+扶助料 > fujoryou\ ;
+猿知恵 > sarudjie\ ;
+地蔵顔 > jizougao\ ;
+作業場 > sagyouba\ ;
+空相場 > kuusouba\ ;
+混合語 > kongougo\ ;
+妥協案 > dakyouan\ ;
+慰謝料 > isharyou\ ;
+無抵抗 > muteikou\ ;
+葉節点 > hasetten\ ;
+他動詞 > tadoushi\ ;
+未成年 > miseinen\ ;
+拘引状 > kouinjou\ ;
+映画狂 > eigakyou\ ;
+法華経 > hokekyou\ ;
+酢料理 > suryouri\ ;
+政府米 > seifumai\ ;
+好結果 > koukekka\ ;
+活性化 > kasseika\ ;
+助言者 > jogonsha\ ;
+裏千家 > urasenke\ ;
+舎利塔 > sharitou\ ;
+不祝儀 > bushuugi\ ;
+過渡的 > katoteki\ ;
+陶芸家 > tougeika\ ;
+作業員 > sagyouin\ ;
+全世界 > zensekai\ ;
+多摩川 > tamagawa\ ;
+微苦笑 > bikushou\ ;
+欺瞞者 > gimansha\ ;
+立法府 > rippoufu\ ;
+被災地 > hisaichi\ ;
+猛打者 > moudasha\ ;
+不祥事 > fushouji\ ;
+結果論 > kekkaron\ ;
+下水溝 > gesuikou\ ;
+水風呂 > mizuburo\ ;
+方位角 > houikaku\ ;
+防塵着 > boujingi\ ;
+既視想 > kishikan\ ;
+口語体 > kougotai\ ;
+幹部会 > kanbukai\ ;
+交際費 > kousaihi\ ;
+手間暇 > temahima\ ;
+武士道 > bushidou\ ;
+魔方陣 > mahoujin\ ;
+葡萄酒 > budoushu\ ;
+冷凍器 > reitouki\ ;
+双子座 > futagoza\ ;
+脱水機 > dassuiki\ ;
+火口原 > kakougen\ ;
+低次元 > teijigen\ ;
+厳冬期 > gentouki\ ;
+丸諳記 > maruanki\ ;
+不退転 > futaiten\ ;
+手土産 > temiyage\ ;
+危険視 > kikenshi\ ;
+舞踊団 > butoudan\ ;
+不決定 > fukettei\ ;
+回帰線 > kaikisen\ ;
+区民税 > kuminzei\ ;
+何番目 > nanbanme\ ;
+脱気水 > dakkisui\ ;
+刑務所 > keimusho\ ;
+健啖家 > kentanka\ ;
+破壊者 > hakaisha\ ;
+自意識 > jiishiki\ ;
+七十路 > nanasoji\ ;
+観自在 > kanjizai\ ;
+遠心機 > enshinki\ ;
+朱印船 > shuinsen\ ;
+洗濯機 > sentakki\ ;
+不動産 > fudousan\ ;
+噴気孔 > funkikou\ ;
+蝦夷松 > ezomatsu\ ;
+鬼刑事 > onikeiji\ ;
+感嘆符 > kantanfu\ ;
+法医学 > houigaku\ ;
+鳥小屋 > torigoya\ ;
+自営業 > jieigyou\ ;
+精錬所 > seirenjo\ ;
+黄菖蒲 > kishoubu\ ;
+亜大陸 > atairiku\ ;
+備考欄 > bikouran\ ;
+未成品 > miseihin\ ;
+片手間 > katatema\ ;
+人間味 > ningenmi\ ;
+無意識 > muishiki\ ;
+投資家 > toushika\ ;
+下水板 > gesuiita\ ;
+馬蹄形 > bateikei\ ;
+全音符 > zen''onpu\ ;
+高輝度 > koukidou\ ;
+不可侵 > fukashin\ ;
+黄口児 > koukouji\ ;
+分科会 > bunkakai\ ;
+蜘蛛膜 > kumomaku\ ;
+事業家 > jigyouka\ ;
+入会地 > iriaichi\ ;
+図書館 > toshokan\ ;
+製版所 > seihanjo\ ;
+東大寺 > toudaiji\ ;
+中位数 > chuuisuu\ ;
+参賀者 > sangasha\ ;
+批准書 > hijunsho\ ;
+舞踏会 > butoukai\ ;
+理化学 > rikagaku\ ;
+登山者 > tozansha\ ;
+助教授 > jokyouju\ ;
+刑務官 > keimukan\ ;
+政務官 > seimukan\ ;
+正義感 > seigikan\ ;
+医薬品 > iyakuhin\ ;
+化粧着 > keshougi\ ;
+火達磨 > hidaruma\ ;
+不徹底 > futettei\ ;
+留守宅 > rusutaku\ ;
+凡試合 > bonshiai\ ;
+万歩計 > manpokei\ ;
+二枚貝 > nimaigai\ ;
+用水路 > yousuiro\ ;
+時計店 > tokeiten\ ;
+固定子 > koteishi\ ;
+有煙炭 > yuuentan\ ;
+講演会 > kouenkai\ ;
+裏鬼門 > urakimon\ ;
+御母様 > okaasama\ ;
+道祖神 > dousojin\ ;
+合法化 > gouhouka\ ;
+首都圏 > shutoken\ ;
+三毛猫 > mikeneko\ ;
+探知機 > tanchiki\ ;
+死火山 > shikazan\ ;
+色模様 > iromoyou\ ;
+糸電話 > itodenwa\ ;
+重大化 > juudaika\ ;
+三段目 > sandanme\ ;
+祭壇座 > saidanza\ ;
+兄弟子 > anideshi\ ;
+運命論 > unmeiron\ ;
+普通科 > futsuuka\ ;
+上古史 > joukoshi\ ;
+預貯金 > yochokin\ ;
+妥当性 > datousei\ ;
+葡萄色 > budouiro\ ;
+排水路 > haisuiro\ ;
+横断面 > oudanmen\ ;
+整経機 > seikeiki\ ;
+事業化 > jigyouka\ ;
+簡体字 > kantaiji\ ;
+可溶片 > kayouhen\ ;
+儀仗兵 > gijouhei\ ;
+陸屋根 > rokuyane\ ;
+座談会 > zadankai\ ;
+帆前船 > homaesen\ ;
+指話法 > shiwahou\ ;
+偽造品 > gizouhin\ ;
+世帯数 > setaisuu\ ;
+一周期 > isshuuki\ ;
+中耳炎 > chuujien\ ;
+富士通 > fujitsuu\ ;
+家屋税 > kaokuzei\ ;
+機動隊 > kidoutai\ ;
+防火線 > boukasen\ ;
+教護院 > kyougoin\ ;
+螺子山 > nejiyama\ ;
+乳児院 > nyuujiin\ ;
+腕時計 > udedokei\ ;
+朱印状 > shuinjou\ ;
+真意義 > shin''igi\ ;
+遊技場 > yuugijou\ ;
+勧工場 > kankouba\ ;
+三冠馬 > sankanba\ ;
+天才児 > tensaiji\ ;
+逆茂木 > sakamogi\ ;
+補充兵 > hojuuhei\ ;
+建議者 > kengisha\ ;
+常夜灯 > jouyatou\ ;
+草屋根 > kusayane\ ;
+権威者 > ken''isha\ ;
+砕岩機 > saiganki\ ;
+葡萄糖 > budoutou\ ;
+白亜館 > hakuakan\ ;
+混和性 > konwasei\ ;
+化粧殿 > kewaiden\ ;
+千分比 > senbunhi\ ;
+時計台 > tokeidai\ ;
+同母姉 > douboshi\ ;
+上得意 > joutokui\ ;
+黄水仙 > kisuisen\ ;
+弱味噌 > yowamiso\ ;
+留守中 > rusuchuu\ ;
+変声期 > henseiki\ ;
+小児科 > shounika\ ;
+三十戸 > sanjikko\ ;
+電離層 > denrisou\ ;
+高踏派 > koutouha\ ;
+理工系 > rikoukei\ ;
+無礼講 > bureikou\ ;
+一周忌 > isshuuki\ ;
+不十分 > fujuubun\ ;
+哺乳期 > honyuuki\ ;
+石油王 > sekiyuou\ ;
+可鎔片 > kayouhen\ ;
+御利益 > goriyaku\ ;
+投書家 > toushoka\ ;
+遺留品 > iryuuhin\ ;
+遺伝病 > idenbyou\ ;
+揚炭機 > youtanki\ ;
+非変換 > hihenkan\ ;
+改正案 > kaiseian\ ;
+高高度 > koukoudo\ ;
+経産婦 > keisanpu\ ;
+赤裸裸 > sekirara\ ;
+混合機 > kongouki\ ;
+寄贈品 > kizouhin\ ;
+夜行性 > yakousei\ ;
+鑽孔機 > sankouki\ ;
+前衛派 > zen''eiha\ ;
+未決算 > mikessan\ ;
+主要部 > shuyoubu\ ;
+避寒地 > hikanchi\ ;
+水垢離 > mizugori\ ;
+委託生 > itakusei\ ;
+警報機 > keihouki\ ;
+温罨法 > on''anpou\ ;
+対応版 > taiouban\ ;
+喇嘛教 > ramakyou\ ;
+遺留分 > iryuubun\ ;
+昆布茶 > konbucha\ ;
+乗算器 > jouzanki\ ;
+葬儀社 > sougisha\ ;
+判検事 > hankenji\ ;
+特異点 > tokuiten\ ;
+保険屋 > hoken''ya\ ;
+不都合 > futsugou\ ;
+所持金 > shojikin\ ;
+虎河豚 > torafugu\ ;
+技能者 > ginousha\ ;
+抗議文 > kougibun\ ;
+既製品 > kiseihin\ ;
+基礎的 > kisoteki\ ;
+貝細工 > kaizaiku\ ;
+黒百合 > kuroyuri\ ;
+茶菓子 > chagashi\ ;
+否定文 > hiteibun\ ;
+弁護士 > bengoshi\ ;
+手裏剣 > shuriken\ ;
+銀時計 > gindokei\ ;
+三連符 > sanrenpu\ ;
+小切子 > kokiriko\ ;
+形而上 > keijijou\ ;
+搭乗員 > toujouin\ ;
+世界観 > sekaikan\ ;
+探知器 > tanchiki\ ;
+倉庫番 > soukoban\ ;
+文科系 > bunkakei\ ;
+能文家 > noubunka\ ;
+弁護団 > bengodan\ ;
+銀世界 > ginsekai\ ;
+普遍性 > fuhensei\ ;
+可溶性 > kayousei\ ;
+匈牙利 > hangarii\ ;
+猿真似 > sarumane\ ;
+猪口才 > chokozai\ ;
+鋳物師 > imonoshi\ ;
+無鉄砲 > muteppou\ ;
+同分母 > doubunbo\ ;
+未消化 > mishouka\ ;
+広東語 > kantongo\ ;
+一私人 > isshijin\ ;
+漢蔵語 > kanzougo\ ;
+二人目 > futarime\ ;
+富士絹 > fujiginu\ ;
+肛門科 > koumonka\ ;
+静電気 > seidenki\ ;
+原動機 > gendouki\ ;
+乾船渠 > kandokku\ ;
+鼓吹者 > kosuisha\ ;
+大和煮 > yamatoni\ ;
+茶道具 > chadougu\ ;
+排気管 > haikikan\ ;
+当事者 > toujisha\ ;
+墓誌銘 > boshimei\ ;
+短水路 > tansuiro\ ;
+喫茶店 > kissaten\ ;
+時間帯 > jikantai\ ;
+無水酸 > musuisan\ ;
+破防法 > habouhou\ ;
+合歓木 > nemunoki\ ;
+聖歌隊 > seikatai\ ;
+印紙税 > inshizei\ ;
+指揮者 > shikisha\ ;
+文房具 > bunbougu\ ;
+保管金 > hokankin\ ;
+最多数 > saitasuu\ ;
+不透明 > futoumei\ ;
+栽培所 > saibaijo\ ;
+林檎酒 > ringoshu\ ;
+母細胞 > bosaibou\ ;
+好打者 > koudasha\ ;
+円筒形 > entoukei\ ;
+摂関家 > sekkanke\ ;
+正規軍 > seikigun\ ;
+常套句 > joutouku\ ;
+未決済 > mikessai\ ;
+絃楽器 > gengakki\ ;
+納戸色 > nandoiro\ ;
+非線形 > hisenkei\ ;
+風呂釜 > furogama\ ;
+弁護人 > bengonin\ ;
+鎮守府 > chinjufu\ ;
+一張羅 > itchoura\ ;
+子会社 > kogaisha\ ;
+不凍港 > futoukou\ ;
+卵塔場 > rantouba\ ;
+中央部 > chuuoubu\ ;
+不凍液 > futoueki\ ;
+天秤座 > tenbinza\ ;
+危険性 > kikensei\ ;
+不凍海 > futoukai\ ;
+登山帽 > tozanbou\ ;
+煎豆腐 > iridoufu\ ;
+券売機 > kenbaiki\ ;
+時間外 > jikangai\ ;
+気候帯 > kikoutai\ ;
+楽器店 > gakkiten\ ;
+不分明 > fubunmei\ ;
+正電気 > seidenki\ ;
+本金庫 > honkinko\ ;
+可鎔性 > kayousei\ ;
+雄弁家 > yuubenka\ ;
+付帯犯 > futaihan\ ;
+西洋碁 > seiyougo\ ;
+戦争後 > sensougo\ ;
+敏腕家 > binwanka\ ;
+中以上 > chuuijou\ ;
+高下駄 > takageta\ ;
+非売品 > hibaihin\ ;
+何代目 > nandaime\ ;
+高架線 > koukasen\ ;
+水面下 > suimenka\ ;
+精油所 > seiyusho\ ;
+東西屋 > touzaiya\ ;
+銅版画 > douhanga\ ;
+炊飯器 > suihanki\ ;
+元帥府 > gensuifu\ ;
+鳥之巣 > torinosu\ ;
+医療車 > iryousha\ ;
+特異性 > tokuisei\ ;
+冬至線 > toujisen\ ;
+穿孔機 > senkouki\ ;
+無蓋車 > mugaisha\ ;
+抵抗器 > teikouki\ ;
+蒸気船 > joukisen\ ;
+非許容 > hikyoyou\ ;
+遠近法 > enkinhou\ ;
+仮定法 > kateihou\ ;
+混合器 > kongouki\ ;
+西洋画 > seiyouga\ ;
+達磨忌 > darumaki\ ;
+畳成語 > jouseigo\ ;
+怪事件 > kaijiken\ ;
+所持者 > shojisha\ ;
+擬人法 > gijinhou\ ;
+準大手 > jun''oote\ ;
+回転機 > kaitenki\ ;
+可哀相 > kawaisou\ ;
+交際家 > kousaika\ ;
+離乳期 > rinyuuki\ ;
+磁性層 > jiseisou\ ;
+越冬隊 > ettoutai\ ;
+譜面台 > fumendai\ ;
+仮小屋 > karigoya\ ;
+目論見 > mokuromi\ ;
+仙花紙 > senkashi\ ;
+演算子 > enzanshi\ ;
+有限個 > yuugenko\ ;
+戸障子 > toshouji\ ;
+可鍛性 > katansei\ ;
+太鼓判 > taikoban\ ;
+海坊主 > umibouzu\ ;
+黍魚子 > kibinago\ ;
+営林署 > eirinsho\ ;
+普辺性 > fuhensei\ ;
+固有値 > koyuuchi\ ;
+遺伝学 > idengaku\ ;
+育種所 > ikushujo\ ;
+金鍍金 > kinmekki\ ;
+鼻風邪 > hanakaze\ ;
+参事官 > sanjikan\ ;
+相談所 > soudanjo\ ;
+無税品 > muzeihin\ ;
+応答能 > outounou\ ;
+検問所 > kenmonjo\ ;
+岡場所 > okabasho\ ;
+地蔵尊 > jizouson\ ;
+空世辞 > karaseji\ ;
+表具屋 > hyouguya\ ;
+弔慰金 > chouikin\ ;
+初産婦 > shosanpu\ ;
+暗記物 > ankimono\ ;
+麻酔剤 > masuizai\ ;
+藪医者 > yabuisha\ ;
+何時頃 > itsugoro\ ;
+二義的 > nigiteki\ ;
+雁皮紙 > ganpishi\ ;
+日和見 > hiyorimi\ ;
+社会部 > shakaibu\ ;
+別世界 > bessekai\ ;
+無名氏 > mumeishi\ ;
+雇傭者 > koyousha\ ;
+絢緞子 > ayadonsu\ ;
+渦状文 > kajoumon\ ;
+自動車 > jidousha\ ;
+除草剤 > josouzai\ ;
+不公正 > fukousei\ ;
+闘技場 > tougijou\ ;
+主記憶 > shukioku\ ;
+鼻下長 > bikachou\ ;
+最大化 > saidaika\ ;
+防炎剤 > bouenzai\ ;
+溶鉱炉 > youkouro\ ;
+何時間 > nanjikan\ ;
+系統樹 > keitouju\ ;
+御自身 > gojishin\ ;
+上菓子 > jougashi\ ;
+被減数 > higensuu\ ;
+星条旗 > seijouki\ ;
+疎水性 > sosuisei\ ;
+自治権 > jichiken\ ;
+逮捕者 > taihosha\ ;
+二頭筋 > nitoukin\ ;
+素浪人 > surounin\ ;
+秋場所 > akibasho\ ;
+船火事 > funakaji\ ;
+育種家 > ikushuka\ ;
+正課外 > seikagai\ ;
+煉瓦塀 > rengabei\ ;
+英文法 > eibunpou\ ;
+未決定 > mikettei\ ;
+首脳部 > shunoubu\ ;
+健康美 > kenkoubi\ ;
+両議院 > ryougiin\ ;
+愛唱歌 > aishouka\ ;
+二本棒 > nihonbou\ ;
+青物屋 > aomonoya\ ;
+仮定形 > kateikei\ ;
+自動詞 > jidoushi\ ;
+便宜上 > bengijou\ ;
+田舎風 > inakafuu\ ;
+朝御飯 > asagohan\ ;
+指揮権 > shikiken\ ;
+設計図 > sekkeizu\ ;
+部外者 > bugaisha\ ;
+葬儀場 > sougijou\ ;
+磁性体 > jiseitai\ ;
+銀本位 > ginhon''i\ ;
+政党員 > seitouin\ ;
+対応値 > taiouchi\ ;
+軍艦旗 > gunkanki\ ;
+二乗根 > nijoukon\ ;
+指揮棒 > shikibou\ ;
+母国語 > bokokugo\ ;
+画用紙 > gayoushi\ ;
+検温器 > ken''onki\ ;
+駆潜艇 > kusentei\ ;
+堕胎罪 > dataizai\ ;
+磁気学 > jikigaku\ ;
+懐炉灰 > kairobai\ ;
+要注意 > youchuui\ ;
+初生児 > shoseiji\ ;
+不鮮明 > fusenmei\ ;
+天鵞絨 > biroudou\ ;
+製糖所 > seitoujo\ ;
+先駆者 > senkusha\ ;
+助成金 > joseikin\ ;
+渡来人 > toraijin\ ;
+速記者 > sokkisha\ ;
+艦載機 > kansaiki\ ;
+無名指 > mumeishi\ ;
+製粉機 > seifunki\ ;
+乱層雲 > ransouun\ ;
+参事会 > sanjikai\ ;
+排気弁 > haikiben\ ;
+正統派 > seitouha\ ;
+補佐役 > hosayaku\ ;
+未配当 > mihaitou\ ;
+是非共 > zehitomo\ ;
+未刊行 > mikankou\ ;
+枢機卿 > suukikei\ ;
+未遂罪 > misuizai\ ;
+文化財 > bunkazai\ ;
+武装船 > busousen\ ;
+記者団 > kishadan\ ;
+御用邸 > goyoutei\ ;
+御先棒 > osakibou\ ;
+定比例 > teihirei\ ;
+富士川 > fujikawa\ ;
+産卵期 > sanranki\ ;
+分相機 > bunsouki\ ;
+上層雲 > jousouun\ ;
+三次元 > sanjigen\ ;
+群馬県 > gunmaken\ ;
+兵站部 > heitanbu\ ;
+不公平 > fukouhei\ ;
+前鼻緒 > maehanao\ ;
+不凍剤 > futouzai\ ;
+物真似 > monomane\ ;
+遊歩道 > yuuhodou\ ;
+可哀想 > kawaisou\ ;
+稟議書 > ringisho\ ;
+無制限 > museigen\ ;
+体育家 > taiikuka\ ;
+分岐駅 > bunkieki\ ;
+医療用 > iryouyou\ ;
+逮捕状 > taihojou\ ;
+過去帳 > kakochou\ ;
+機動性 > kidousei\ ;
+熱風炉 > neppuuro\ ;
+歩行者 > hokousha\ ;
+円錐形 > ensuikei\ ;
+守銭奴 > shusendo\ ;
+道化師 > doukeshi\ ;
+下腹部 > kafukubu\ ;
+反政府 > hanseifu\ ;
+回転儀 > kaitengi\ ;
+上草履 > uwazouri\ ;
+米上院 > beijouin\ ;
+一帳羅 > itchoura\ ;
+朝稽古 > asageiko\ ;
+製粉所 > seifunjo\ ;
+被治者 > hichisha\ ;
+宮田家 > miyatake\ ;
+近衛兵 > konoehei\ ;
+岩手県 > iwateken\ ;
+連隊旗 > rentaiki\ ;
+管楽器 > kangakki\ ;
+謝恩会 > shaonkai\ ;
+養蜂家 > youhouka\ ;
+五線紙 > gosenshi\ ;
+平生着 > heizeigi\ ;
+機帆船 > kihansen\ ;
+非排水 > hihaisui\ ;
+着番号 > kibangou\ ;
+不倫罪 > furinzai\ ;
+飴細工 > amezaiku\ ;
+偽似症 > gijishou\ ;
+大広間 > oohiroma\ ;
+避難者 > hinansha\ ;
+定常波 > teijouha\ ;
+指揮官 > shikikan\ ;
+付属語 > fuzokugo\ ;
+年会費 > nenkaihi\ ;
+故買者 > kobaisha\ ;
+五大洋 > godaiyou\ ;
+珪藻土 > keisoudo\ ;
+人名簿 > jinmeibo\ ;
+排気口 > haikikou\ ;
+避妊法 > hininhou\ ;
+萌木色 > moegiiro\ ;
+特価品 > tokkahin\ ;
+揚抗比 > youkouhi\ ;
+雇用者 > koyousha\ ;
+辞書類 > jishorui\ ;
+大往生 > daioujou\ ;
+追起訴 > tsuikiso\ ;
+過半数 > kahansuu\ ;
+安息日 > ansokubi\ ;
+再浮上 > saifujou\ ;
+図書券 > toshoken\ ;
+発起人 > hokkinin\ ;
+道具論 > douguron\ ;
+分相応 > bunsouou\ ;
+立候補 > rikkouho\ ;
+避暑地 > hishochi\ ;
+接骨木 > niwatoko\ ;
+社会科 > shakaika\ ;
+上機嫌 > joukigen\ ;
+交換所 > koukanjo\ ;
+喜歌劇 > kikageki\ ;
+添加剤 > tenkazai\ ;
+未復員 > mifukuin\ ;
+謙遜語 > kensongo\ ;
+未処置 > mishochi\ ;
+地形図 > chikeizu\ ;
+未知数 > michisuu\ ;
+八潮路 > yashioji\ ;
+代理者 > dairisha\ ;
+軍令部 > gunreibu\ ;
+横文字 > yokomoji\ ;
+太古代 > taikodai\ ;
+幾何学 > kikagaku\ ;
+西洋化 > seiyouka\ ;
+刑余者 > keiyosha\ ;
+渡世人 > toseinin\ ;
+羅針儀 > rashingi\ ;
+子音群 > shiingun\ ;
+暗証化 > anshouka\ ;
+滑走路 > kassouro\ ;
+製図板 > seizuban\ ;
+皇統譜 > koutoufu\ ;
+理学部 > rigakubu\ ;
+英語塾 > eigojuku\ ;
+悲喜劇 > hikigeki\ ;
+保管林 > hokanrin\ ;
+再武装 > saibusou\ ;
+赤蜻蛉 > akatonbo\ ;
+予饌会 > yosenkai\ ;
+無辺際 > muhenzai\ ;
+不自然 > fushizen\ ;
+腎不全 > jinfuzen\ ;
+宴会場 > enkaijou\ ;
+経世家 > keiseika\ ;
+不信者 > fushinja\ ;
+単本位 > tanhon''i\ ;
+円錐台 > ensuidai\ ;
+因果者 > ingamono\ ;
+不信義 > fushingi\ ;
+軍事面 > gunjimen\ ;
+恒河沙 > gougasha\ ;
+創案者 > souansha\ ;
+自治体 > jichitai\ ;
+着尺地 > kijakuji\ ;
+後半期 > kouhanki\ ;
+自治会 > jichikai\ ;
+価値観 > kachikan\ ;
+西遊記 > seiyuuki\ ;
+年代記 > nendaiki\ ;
+感情家 > kanjouka\ ;
+文化祭 > bunkasai\ ;
+変換器 > henkanki\ ;
+世界史 > sekaishi\ ;
+受精卵 > juseiran\ ;
+総指揮 > soushiki\ ;
+年甲斐 > toshigai\ ;
+不充分 > fujuubun\ ;
+泥仕合 > dorojiai\ ;
+清子音 > seishiin\ ;
+二期作 > nikisaku\ ;
+横紋筋 > oumonkin\ ;
+運動界 > undoukai\ ;
+未発見 > mihakken\ ;
+偶像化 > guuzouka\ ;
+補聴器 > hochouki\ ;
+英語劇 > eigogeki\ ;
+電算機 > densanki\ ;
+再吟味 > saiginmi\ ;
+円錐体 > ensuitai\ ;
+予餞会 > yosenkai\ ;
+青天井 > aotenjou\ ;
+非戦論 > hisenron\ ;
+未発行 > mihakkou\ ;
+相場師 > soubashi\ ;
+古戦場 > kosenjou\ ;
+三畳紀 > sanjouki\ ;
+好意的 > kouiteki\ ;
+御馳走 > gochisou\ ;
+扶養者 > fuyousha\ ;
+十字軍 > juujigun\ ;
+按手礼 > anshurei\ ;
+同位角 > douikaku\ ;
+輪転機 > rintenki\ ;
+厭人者 > enjinsha\ ;
+無配当 > muhaitou\ ;
+富裕税 > fuyuuzei\ ;
+過労死 > karoushi\ ;
+紅衛兵 > koueihei\ ;
+管理者 > kanrisha\ ;
+夜商人 > yoakindo\ ;
+舌下腺 > zekkasen\ ;
+所持品 > shojihin\ ;
+紀行文 > kikoubun\ ;
+火山灰 > kazanbai\ ;
+騎士道 > kishidou\ ;
+剰余金 > jouyokin\ ;
+豊水期 > housuiki\ ;
+低能児 > teinouji\ ;
+帰納法 > kinouhou\ ;
+獅子座 > shishiza\ ;
+交換器 > koukanki\ ;
+世界人 > sekaijin\ ;
+衛生隊 > eiseitai\ ;
+理事長 > rijichou\ ;
+平屋根 > hirayane\ ;
+元老院 > genrouin\ ;
+棄権者 > kikensha\ ;
+世界中 > sekaijuu\ ;
+河口港 > kakoukou\ ;
+不体裁 > futeisai\ ;
+毒蜘蛛 > dokugumo\ ;
+単語篇 > tangohen\ ;
+生徒数 > seitosuu\ ;
+羊皮紙 > youhishi\ ;
+母系制 > bokeisei\ ;
+展示場 > tenjijou\ ;
+後遺症 > kouishou\ ;
+不定詞 > futeishi\ ;
+加担者 > katansha\ ;
+陽電気 > youdenki\ ;
+宣伝費 > sendenhi\ ;
+劇映画 > gekieiga\ ;
+無常観 > mujoukan\ ;
+遊蕩児 > yuutouji\ ;
+金満家 > kinmanka\ ;
+錠前屋 > joumaeya\ ;
+知名度 > chimeido\ ;
+出鱈目 > detarame\ ;
+懇話会 > konwakai\ ;
+避難民 > hinanmin\ ;
+十字街 > juujigai\ ;
+主演者 > shuensha\ ;
+世俗化 > sezokuka\ ;
+粗製品 > soseihin\ ;
+右心房 > ushinbou\ ;
+圧制者 > asseisha\ ;
+展示品 > tenjihin\ ;
+書記官 > shokikan\ ;
+郷土愛 > kyoudoai\ ;
+貯蔵庫 > chozouko\ ;
+下馬評 > gebahyou\ ;
+不能者 > funousha\ ;
+不良化 > furyouka\ ;
+薄荷糖 > hakkatou\ ;
+薄荷精 > hakkasei\ ;
+比喩的 > hiyuteki\ ;
+争議権 > sougiken\ ;
+重禁錮 > juukinko\ ;
+運動欄 > undouran\ ;
+普偏性 > fuhensei\ ;
+農繁期 > nouhanki\ ;
+感受性 > kanjusei\ ;
+兵器工 > heikikou\ ;
+倪雲林 > geiunrin\ ;
+運送船 > unsousen\ ;
+遊冶郎 > yuuyarou\ ;
+画仙紙 > gasenshi\ ;
+多段階 > tadankai\ ;
+試験機 > shikenki\ ;
+一般論 > ippanron\ ;
+加算税 > kasanzei\ ;
+分岐線 > bunkisen\ ;
+喇叭手 > rappashu\ ;
+免罪符 > menzaifu\ ;
+犬黄楊 > inutsuge\ ;
+厭世観 > enseikan\ ;
+半世紀 > hanseiki\ ;
+酵母菌 > koubokin\ ;
+冷罨法 > reianpou\ ;
+愛蔵版 > aizouban\ ;
+御偉方 > oeragata\ ;
+記数法 > kisuuhou\ ;
+空下手 > karaheta\ ;
+不健康 > fukenkou\ ;
+探検家 > tankenka\ ;
+大気圏 > taikiken\ ;
+獅子吼 > shishiku\ ;
+代理権 > dairiken\ ;
+物件費 > bukkenhi\ ;
+正規兵 > seikihei\ ;
+再配布 > saihaifu\ ;
+四畳半 > yojouhan\ ;
+展示会 > tenjikai\ ;
+大都市 > daitoshi\ ;
+先学期 > sengakki\ ;
+悪洒落 > warujare\ ;
+自民党 > jimintou\ ;
+医療品 > iryouhin\ ;
+内沙汰 > uchizata\ ;
+分光器 > bunkouki\ ;
+親不孝 > oyafukou\ ;
+縁起物 > engimono\ ;
+流星雨 > ryuuseiu\ ;
+年貢米 > nengumai\ ;
+洗浄器 > senjouki\ ;
+油送船 > yusousen\ ;
+循環器 > junkanki\ ;
+健康児 > kenkouji\ ;
+税理士 > zeirishi\ ;
+人情味 > ninjoumi\ ;
+嫌疑者 > kengisha\ ;
+等語線 > tougosen\ ;
+十字線 > juujisen\ ;
+不使用 > fushiyou\ ;
+一生面 > isseimen\ ;
+旅行記 > ryokouki\ ;
+個体群 > kotaigun\ ;
+口蓋音 > kougaion\ ;
+圧延機 > atsuenki\ ;
+和声法 > waseihou\ ;
+高頻度 > kouhindo\ ;
+小豆色 > azukiiro\ ;
+厳美渓 > genbikei\ ;
+火山弾 > kazandan\ ;
+半諧音 > hankaion\ ;
+消化器 > shoukaki\ ;
+求法者 > guhousha\ ;
+火山帯 > kazantai\ ;
+下駄箱 > getabako\ ;
+芝海老 > shibaebi\ ;
+大分県 > ooitaken\ ;
+山羊髭 > yagihige\ ;
+瀬戸際 > setogiwa\ ;
+火山島 > kazantou\ ;
+不審火 > fushinbi\ ;
+奉仕女 > houshime\ ;
+火山岩 > kazangan\ ;
+玉砂利 > tamajari\ ;
+一分半 > ippunhan\ ;
+花鳥画 > kachouga\ ;
+無菌法 > mukinhou\ ;
+無免許 > mumenkyo\ ;
+待避線 > taihisen\ ;
+等時性 > toujisei\ ;
+年賀状 > nengajou\ ;
+古参者 > kosansha\ ;
+感歎符 > kantanfu\ ;
+分岐点 > bunkiten\ ;
+侍従官 > jijuukan\ ;
+内野手 > naiyashu\ ;
+油送管 > yusoukan\ ;
+不用心 > buyoujin\ ;
+誘蛾灯 > yuugatou\ ;
+計理士 > keirishi\ ;
+雑貨店 > zakkaten\ ;
+座右銘 > zayuumei\ ;
+子音性 > shiinsei\ ;
+期待感 > kitaikan\ ;
+運動家 > undousha\ ;
+愚連隊 > gurentai\ ;
+原子雲 > genshiun\ ;
+代理店 > dairiten\ ;
+諸器械 > shokikai\ ;
+操舵手 > soudashu\ ;
+出歯亀 > debakame\ ;
+不健全 > fukenzen\ ;
+相補性 > souhosei\ ;
+自転車 > jitensha\ ;
+初期値 > shokichi\ ;
+接頭辞 > settouji\ ;
+生徒会 > seitokai\ ;
+赤裸々 > sekirara\ ;
+預言者 > yogensha\ ;
+開催日 > kaisaibi\ ;
+胴間声 > doumagoe\ ;
+背番号 > sebangou\ ;
+浮浪者 > furousha\ ;
+会員券 > kaiinken\ ;
+会員制 > kaiinsei\ ;
+英米法 > eibeihou\ ;
+合理論 > gouriron\ ;
+大部分 > daibubun\ ;
+五角形 > gokakkei\ ;
+社会化 > shakaika\ ;
+中規模 > chuukibo\ ;
+大都会 > daitokai\ ;
+護送車 > gosousha\ ;
+重手代 > omotedai\ ;
+広報部 > kouhoubu\ ;
+創世記 > souseiki\ ;
+三杯酢 > sanbaizu\ ;
+節炭器 > settanki\ ;
+希望者 > kibousha\ ;
+外科学 > gekagaku\ ;
+刑事犯 > keijihan\ ;
+配線図 > haisenzu\ ;
+機械論 > kikairon\ ;
+川秋沙 > kawaaisa\ ;
+文化圏 > bunkaken\ ;
+接頭語 > settougo\ ;
+事故歴 > jikoreki\ ;
+山小屋 > yamagoya\ ;
+糸蜻蛉 > itotonbo\ ;
+移転先 > itensaki\ ;
+大勲位 > daikun''i\ ;
+大目玉 > oomedama\ ;
+官公吏 > kankouri\ ;
+協議員 > kyougiin\ ;
+軍事犯 > gunjihan\ ;
+随行員 > zuikouin\ ;
+一辺倒 > ippentou\ ;
+現代語 > gendaigo\ ;
+聴音機 > chouonki\ ;
+不導性 > fudousei\ ;
+理容師 > riyoushi\ ;
+乱高下 > rankouge\ ;
+叙情詩 > jojoushi\ ;
+社交家 > shakouka\ ;
+文化史 > bunkashi\ ;
+不用品 > fuyouhin\ ;
+透明度 > toumeido\ ;
+不定法 > futeihou\ ;
+温排水 > onhaisui\ ;
+天花粉 > tenkafun\ ;
+航空路 > koukuuro\ ;
+資産家 > shisanka\ ;
+類似点 > ruijiten\ ;
+淡水湖 > tansuiko\ ;
+予言者 > yogensha\ ;
+広報課 > kouhouka\ ;
+小人数 > koninzuu\ ;
+愛知県 > aichiken\ ;
+人造藍 > jinzouai\ ;
+医学者 > igakusha\ ;
+悪感情 > akkanjou\ ;
+仮納金 > kanoukin\ ;
+未処分 > mishobun\ ;
+差配人 > sahainin\ ;
+低頻度 > teihindo\ ;
+作為犯 > sakuihan\ ;
+歯科用 > shikayou\ ;
+再処理 > saishori\ ;
+運動会 > undoukai\ ;
+花茣蓙 > hanagoza\ ;
+玄武岩 > genbugan\ ;
+液状化 > ekijouka\ ;
+無利息 > murisoku\ ;
+陣羽織 > jinbaori\ ;
+戦闘機 > sentouki\ ;
+有意的 > yuuiteki\ ;
+問題児 > mondaiji\ ;
+債務者 > saimusha\ ;
+一騎討 > ikkiuchi\ ;
+補給路 > hokyuuro\ ;
+下層土 > kasoudo\ ;
+起動機 > kidouki\ ;
+十字架 > juujika\ ;
+人工雨 > jinkouu\ ;
+餓鬼道 > gakidou\ ;
+不定期 > futeiki\ ;
+模擬店 > mogiten\ ;
+古武道 > kobudou\ ;
+栄養素 > eiyouso\ ;
+身勝手 > migatte\ ;
+無利子 > murishi\ ;
+瑠璃色 > ruriiro\ ;
+胃腸炎 > ichouen\ ;
+起動時 > kidouji\ ;
+殺陣師 > tateshi\ ;
+類義語 > ruigigo\ ;
+家計簿 > kakeibo\ ;
+登記簿 > toukibo\ ;
+重母音 > juuboin\ ;
+遅知恵 > osodjie\ ;
+大過去 > daikako\ ;
+加算器 > kasanki\ ;
+大相撲 > oozumou\ ;
+機能語 > kinougo\ ;
+有気音 > yuukion\ ;
+不条理 > fujouri\ ;
+大道具 > oodougu\ ;
+定位置 > teiichi\ ;
+運送屋 > unsouya\ ;
+造営費 > zoueihi\ ;
+蒙古語 > moukogo\ ;
+機械科 > kikaika\ ;
+次年度 > jinendo\ ;
+多重化 > tajuuka\ ;
+千代女 > chiyojo\ ;
+古社寺 > koshaji\ ;
+一層目 > issoume\ ;
+娑婆気 > shabake\ ;
+励磁機 > reijiki\ ;
+不首尾 > fushubi\ ;
+悪感化 > akkanka\ ;
+待避所 > taihijo\ ;
+四股名 > shikona\ ;
+不人気 > funinki\ ;
+西欧化 > seiouka\ ;
+二階屋 > nikaiya\ ;
+棒暗記 > bouanki\ ;
+不一致 > fuitchi\ ;
+血反吐 > chihedo\ ;
+曳火弾 > eikadan\ ;
+二階家 > nikaiya\ ;
+簡素化 > kansoka\ ;
+個体差 > kotaisa\ ;
+同音語 > douongo\ ;
+乗務員 > joumuin\ ;
+裏木戸 > urakido\ ;
+金毘羅 > konpira\ ;
+無造作 > muzousa\ ;
+十二時 > juuniji\ ;
+意想外 > isougai\ ;
+不安定 > fuantei\ ;
+陰電気 > indenki\ ;
+薄馬鹿 > usubaka\ ;
+丁字路 > teijiro\ ;
+提示部 > teijibu\ ;
+慰問品 > imonhin\ ;
+親文字 > oyamoji\ ;
+理財家 > rizaika\ ;
+稽古日 > keikobi\ ;
+二塁打 > niruida\ ;
+手相見 > tesoumi\ ;
+夜盗蛾 > yotouga\ ;
+女性美 > joseibi\ ;
+風邪声 > kazegoe\ ;
+厭世家 > enseika\ ;
+熨斗目 > noshime\ ;
+陰謀家 > inbouka\ ;
+随意筋 > zuiikin\ ;
+手加減 > tekagen\ ;
+讚美歌 > sanbika\ ;
+同位体 > douitai\ ;
+類音語 > ruiongo\ ;
+叉手網 > sadeami\ ;
+小綬鶏 > kojukei\ ;
+晴雨計 > seiukei\ ;
+文庫化 > bunkoka\ ;
+野次馬 > yajiuma\ ;
+街路樹 > gairoju\ ;
+控訴院 > kousoin\ ;
+仙人掌 > saboten\ ;
+義援金 > gienkin\ ;
+俯瞰図 > fukanzu\ ;
+御新香 > oshinko\ ;
+御家人 > gokenin\ ;
+大寺院 > daijiin\ ;
+烏羽玉 > ubatama\ ;
+性行為 > seikoui\ ;
+一般化 > ippanka\ ;
+十五夜 > juugoya\ ;
+二院制 > niinsei\ ;
+家政婦 > kaseifu\ ;
+第二義 > dainigi\ ;
+真魚板 > manaita\ ;
+円軌道 > enkidou\ ;
+野葡萄 > nobudou\ ;
+応募者 > oubosha\ ;
+麻実油 > asamiyu\ ;
+茶飯事 > sahanji\ ;
+八重雲 > yaeguma\ ;
+未踏査 > mitousa\ ;
+絵葉書 > ehagaki\ ;
+稽古場 > keikoba\ ;
+安全期 > anzenki\ ;
+反意語 > han''igo\ ;
+個人差 > kojinsa\ ;
+総務部 > soumubu\ ;
+警部補 > keibuho\ ;
+与太郎 > yotarou\ ;
+位牌堂 > ihaidou\ ;
+義太夫 > gidayuu\ ;
+三鞭酒 > shanpen\ ;
+妃殿下 > hidenka\ ;
+漫画家 > mangaka\ ;
+不本意 > fuhon''i\ ;
+歩合算 > buaizan\ ;
+語彙的 > goiteki\ ;
+第一課 > daiikka\ ;
+井戸端 > idobata\ ;
+理事会 > rijikai\ ;
+火曜日 > kayoubi\ ;
+御不浄 > gofujou\ ;
+未定義 > miteigi\ ;
+対位法 > taiihou\ ;
+浮浪児 > furouji\ ;
+婦人科 > fujinka\ ;
+他世界 > tasekai\ ;
+慰労金 > iroukin\ ;
+理不尽 > rifujin\ ;
+単坐機 > tanzaki\ ;
+不飽和 > fuhouwa\ ;
+代議員 > daigiin\ ;
+非合理 > higouri\ ;
+総務課 > soumuka\ ;
+椰子油 > yashiyu\ ;
+水泳着 > suieigi\ ;
+絵草紙 > ezoushi\ ;
+小犬座 > koinuza\ ;
+赤味噌 > akamiso\ ;
+対義語 > taigigo\ ;
+汚染菌 > osenkin\ ;
+三日路 > mikkaji\ ;
+居酒屋 > izakaya\ ;
+自家製 > jikasei\ ;
+塗布剤 > tofuzai\ ;
+古典語 > kotengo\ ;
+義捐金 > gienkin\ ;
+不景気 > fukeiki\ ;
+合理化 > gourika\ ;
+拉丁語 > ratengo\ ;
+電磁波 > denjiha\ ;
+電磁気 > denjiki\ ;
+安全器 > anzenki\ ;
+機械化 > kikaika\ ;
+栄養価 > eiyouka\ ;
+第二次 > dainiji\ ;
+井戸水 > idomizu\ ;
+一個人 > ikkojin\ ;
+亡祖父 > bousofu\ ;
+御朱印 > goshuin\ ;
+異性体 > iseitai\ ;
+非同期 > hidouki\ ;
+十露盤 > soroban\ ;
+筆記具 > hikkigu\ ;
+穏健派 > onkenha\ ;
+育児園 > ikujien\ ;
+電気炉 > denkiro\ ;
+依存性 > izonsei\ ;
+比叡山 > hieizan\ ;
+依頼者 > iraisha\ ;
+製油所 > seiyujo\ ;
+基本語 > kihongo\ ;
+御三家 > gosanke\ ;
+五節句 > gosekku\ ;
+誤動作 > godousa\ ;
+影印本 > eiinhon\ ;
+経営費 > keieihi\ ;
+円相場 > ensouba\ ;
+被疑者 > higisha\ ;
+放火魔 > houkama\ ;
+不断着 > fudangi\ ;
+聖路加 > seiroka\ ;
+下線部 > kasenbu\ ;
+多次元 > tajigen\ ;
+似非者 > esemono\ ;
+脳外科 > nougeka\ ;
+御下問 > gokamon\ ;
+膃肭臍 > ottosei\ ;
+女性器 > joseiki\ ;
+孵卵器 > furanki\ ;
+無理解 > murikai\ ;
+父性愛 > fuseiai\ ;
+非武装 > hibusou\ ;
+同父母 > doufubo\ ;
+女性化 > joseika\ ;
+無期限 > mukigen\ ;
+自家用 > jikayou\ ;
+家系図 > kakeizu\ ;
+一世紀 > isseiki\ ;
+自由度 > jiyuudo\ ;
+汚染源 > osengen\ ;
+依頼状 > iraijou\ ;
+第一歩 > daiippo\ ;
+微塵子 > mijinko\ ;
+贔屓目 > hiikime\ ;
+電磁場 > denjiba\ ;
+一体化 > ittaika\ ;
+御日様 > ohisama\ ;
+音羽屋 > otowaya\ ;
+医院長 > iinchou\ ;
+印欧語 > in''ougo\ ;
+出来秋 > dekiaki\ ;
+飛行機 > hikouki\ ;
+無作為 > musakui\ ;
+都市部 > toshibu\ ;
+座蒲団 > zabuton\ ;
+放課後 > houkago\ ;
+一本気 > ippongi\ ;
+電気屋 > denkiya\ ;
+未来派 > miraiha\ ;
+栄誉礼 > eiyorei\ ;
+糖衣錠 > touijou\ ;
+理論家 > rironka\ ;
+打楽器 > dagakki\ ;
+無作法 > busahou\ ;
+仁王門 > nioumon\ ;
+古典派 > kotenha\ ;
+素封家 > sohouka\ ;
+歩合制 > buaisei\ ;
+魚河岸 > uogashi\ ;
+自由化 > jiyuuka\ ;
+授産所 > jusanjo\ ;
+駆動機 > kudouki\ ;
+二箇所 > nikasho\ ;
+違犯者 > ihansha\ ;
+自画像 > jigazou\ ;
+形意拳 > keiiken\ ;
+母性愛 > boseiai\ ;
+井戸側 > idogawa\ ;
+破砕機 > hasaiki\ ;
+違警罪 > ikeizai\ ;
+希土類 > kidorui\ ;
+亜鉛引 > aenbiki\ ;
+太宰府 > dazaifu\ ;
+伊達者 > datesha\ ;
+送話器 > souwaki\ ;
+伴天連 > bateren\ ;
+亜麻布 > amanuno\ ;
+女郎屋 > jorouya\ ;
+噴霧器 > funmuki\ ;
+英単語 > eitango\ ;
+荷馬車 > nibasha\ ;
+擬態語 > gitaigo\ ;
+異邦人 > ihoujin\ ;
+怪我人 > keganin\ ;
+効果音 > koukaon\ ;
+墓碑銘 > bohimei\ ;
+飛行家 > hikouka\ ;
+火熨斗 > hinoshi\ ;
+優位性 > yuuisei\ ;
+無趣味 > mushumi\ ;
+過現未 > kagenmi\ ;
+長椅子 > nagaisu\ ;
+聾唖者 > rouasha\ ;
+文字盤 > mojiban\ ;
+五十音 > gojuuon\ ;
+天婦羅 > tenpura\ ;
+寝道具 > nedougu\ ;
+異分子 > ibunshi\ ;
+自販機 > jihanki\ ;
+八重垣 > yaegaki\ ;
+無価値 > mukachi\ ;
+人事院 > jinjiin\ ;
+不夜城 > fuyajou\ ;
+美丈夫 > bijoufu\ ;
+易損品 > isonhin\ ;
+尼僧院 > nisouin\ ;
+無理数 > murisuu\ ;
+無韻詩 > muinshi\ ;
+多様化 > tayouka\ ;
+甲斐性 > kaishou\ ;
+屋根裏 > yaneura\ ;
+暴風雨 > boufuuu\ ;
+生理日 > seiribi\ ;
+分限者 > bugenja\ ;
+人事部 > jinjibu\ ;
+鸚鵡貝 > oumugai\ ;
+一丁字 > itteiji\ ;
+分離派 > bunriha\ ;
+小細工 > kozaiku\ ;
+暗号化 > angouka\ ;
+印度洋 > indoyou\ ;
+塩素酸 > ensosan\ ;
+依頼人 > irainin\ ;
+父母会 > fubokai\ ;
+飲酒家 > inshuka\ ;
+不認可 > funinka\ ;
+慰労会 > iroukai\ ;
+豆腐屋 > toufuya\ ;
+分離機 > bunriki\ ;
+火炎瓶 > kaenbin\ ;
+御多分 > gotabun\ ;
+臨時費 > rinjihi\ ;
+大太鼓 > oodaiko\ ;
+如何程 > ikahodo\ ;
+牡牛座 > oushiza\ ;
+加工費 > kakouhi\ ;
+人事課 > jinjika\ ;
+野良犬 > norainu\ ;
+讃美歌 > sanbika\ ;
+日本間 > nihonma\ ;
+大豆油 > daizuyu\ ;
+児童画 > jidouga\ ;
+演舞場 > enbujou\ ;
+似非事 > esegoto\ ;
+不結果 > fukekka\ ;
+地下化 > chikaka\ ;
+八百長 > yaochou\ ;
+過飽和 > kahouwa\ ;
+早少女 > saotome\ ;
+如何物 > ikamono\ ;
+版画家 > hangaka\ ;
+愛飲者 > aiinsha\ ;
+安定器 > anteiki\ ;
+駄菓子 > dagashi\ ;
+唐胡麻 > tougoma\ ;
+停音符 > teionpu\ ;
+園芸家 > engeika\ ;
+投影機 > toueiki\ ;
+英吉利 > igirisu\ ;
+座布団 > zabuton\ ;
+無声音 > museion\ ;
+唐茄子 > tounasu\ ;
+日本語 > nihongo\ ;
+従三位 > jusanmi\ ;
+婦女子 > fujoshi\ ;
+工事費 > koujihi\ ;
+温度計 > ondokei\ ;
+安定化 > anteika\ ;
+法螺貝 > horagai\ ;
+非常時 > hijouji\ ;
+八千代 > yachiyo\ ;
+不細工 > busaiku\ ;
+余水路 > yosuiro\ ;
+相違点 > souiten\ ;
+曼荼羅 > mandara\ ;
+地雷火 > jiraika\ ;
+公務員 > koumuin\ ;
+案山子 > kakashi\ ;
+古代語 > kodaigo\ ;
+生一本 > kiippon\ ;
+身贔屓 > mibiiki\ ;
+未整理 > miseiri\ ;
+予科生 > yokasei\ ;
+未経過 > mikeika\ ;
+海松貝 > mirugai\ ;
+兵児帯 > hekoobi\ ;
+身奇麗 > migirei\ ;
+検査員 > kensain\ ;
+危機感 > kikikan\ ;
+赤茄子 > akanasu\ ;
+端武者 > hamusha\ ;
+印度人 > indojin\ ;
+内安打 > naianda\ ;
+屋根板 > yaneita\ ;
+無期刑 > mukikei\ ;
+記念碑 > kinenhi\ ;
+都市化 > toshika\ ;
+府知事 > fuchiji\ ;
+内耳炎 > naijien\ ;
+北京語 > pekingo\ ;
+犬小屋 > inugoya\ ;
+彼岸会 > higan''e\ ;
+相弟子 > aideshi\ ;
+鳳凰座 > hououza\ ;
+咽頭炎 > intouen\ ;
+投影図 > toueizu\ ;
+不衛生 > fueisei\ ;
+整理部 > seiribu\ ;
+入母屋 > irimoya\ ;
+多趣味 > tashumi\ ;
+音記号 > onkigou\ ;
+小坊主 > kobouzu\ ;
+日本画 > nihonga\ ;
+紀元後 > kigengo\ ;
+体温器 > taionki\ ;
+微温湯 > biontou\ ;
+貴婦人 > kifujin\ ;
+右大臣 > udaijin\ ;
+帰化人 > kikajin\ ;
+戦後派 > sengoha\ ;
+受像機 > juzouki\ ;
+記念樹 > kinenju\ ;
+粉微塵 > komijin\ ;
+為政者 > iseisha\ ;
+大犬座 > ooinuza\ ;
+日時計 > hidokei\ ;
+時事論 > jijiron\ ;
+保養院 > hoyouin\ ;
+自然薯 > jinenjo\ ;
+保健所 > hokenjo\ ;
+離弁花 > ribenka\ ;
+次世代 > jisedai\ ;
+不器用 > bukiyou\ ;
+手奇麗 > tegirei\ ;
+塩基性 > enkisei\ ;
+記念日 > kinenbi\ ;
+高祖父 > kousofu\ ;
+今日中 > kyoujuu\ ;
+身綺麗 > migirei\ ;
+萎黄病 > ioubyou\ ;
+擬古文 > gikobun\ ;
+地衣類 > chiirui\ ;
+婆羅門 > baramon\ ;
+秘書課 > hishoka\ ;
+印画紙 > ingashi\ ;
+予想屋 > yosouya\ ;
+慈善家 > jizenka\ ;
+早乙女 > saotome\ ;
+土曜日 > doyoubi\ ;
+降雨林 > kouurin\ ;
+朝風呂 > asaburo\ ;
+再下付 > saikafu\ ;
+洋画家 > yougaka\ ;
+定規座 > jougiza\ ;
+需用家 > juyouka\ ;
+保健婦 > hokenfu\ ;
+高祖母 > kousobo\ ;
+外耳炎 > gaijien\ ;
+不裁可 > fusaika\ ;
+警備員 > keibiin\ ;
+誤作動 > gosadou\ ;
+仮名本 > kanahon\ ;
+助産所 > josanjo\ ;
+大時代 > oojidai\ ;
+枸櫞酸 > kuensan\ ;
+虚無僧 > komusou\ ;
+嬰記号 > eikigou\ ;
+保健医 > hoken''i\ ;
+二十歳 > hatachi\ ;
+頭字語 > toujigo\ ;
+木太刀 > kidachi\ ;
+蓮華座 > rengeza\ ;
+愛書家 > aishoka\ ;
+馬刀貝 > mategai\ ;
+趣意書 > shuisho\ ;
+運搬費 > unpanhi\ ;
+攘夷論 > jouiron\ ;
+懐疑派 > kaigiha\ ;
+無煙炭 > muentan\ ;
+安静時 > anseiji\ ;
+女生徒 > joseito\ ;
+虎燕拳 > koenken\ ;
+正常位 > seijoui\ ;
+補助金 > hojokin\ ;
+阿婆擦 > abazure\ ;
+二十日 > hatsuka\ ;
+琵琶行 > biwakou\ ;
+秘書科 > hishoka\ ;
+助産婦 > josanpu\ ;
+修羅場 > shuraba\ ;
+手一杯 > teippai\ ;
+無線機 > musenki\ ;
+万灯会 > mandoue\ ;
+手綺麗 > tegirei\ ;
+水位計 > suiikei\ ;
+漢方医 > kanpoui\ ;
+羽目板 > hameita\ ;
+具体案 > gutaian\ ;
+日本化 > nihonka\ ;
+研磨機 > kenmaki\ ;
+大雑把 > oozappa\ ;
+古井戸 > furuido\ ;
+胃潰瘍 > ikaiyou\ ;
+多義性 > tagisei\ ;
+甘露煮 > kanroni\ ;
+乙女座 > otomeza\ ;
+保守派 > hoshuha\ ;
+叙事詩 > jojishi\ ;
+大掃除 > oosouji\ ;
+烏龍茶 > ūroncha\ ;
+女王蟻 > joouari\ ;
+半母音 > hanboin\ ;
+無政府 > museifu\ ;
+義和団 > giwadan\ ;
+好事家 > kouzuka\ ;
+行為者 > kouisha\ ;
+機関庫 > kikanko\ ;
+機関座 > kikanza\ ;
+同意見 > douiken\ ;
+議事堂 > gijidou\ ;
+天糸瓜 > hechima\ ;
+保安林 > hoanrin\ ;
+腐葉土 > fuyoudo\ ;
+海豚座 > irukaza\ ;
+自衛隊 > jieitai\ ;
+繊維素 > sen''iso\ ;
+移行性 > ikousei\ ;
+湯湯婆 > yutanpo\ ;
+交尾期 > koubiki\ ;
+陶磁器 > toujiki\ ;
+重馬場 > omobaba\ ;
+歳時記 > saijiki\ ;
+阿多福 > otafuku\ ;
+御節介 > osekkai\ ;
+菓子屋 > kashiya\ ;
+番小屋 > bangoya\ ;
+愛犬家 > aikenka\ ;
+耽美派 > tanbiha\ ;
+保育所 > hoikujo\ ;
+遊離基 > yuuriki\ ;
+互助会 > gojokai\ ;
+補助線 > hojosen\ ;
+事務所 > jimusho\ ;
+保護金 > hogokin\ ;
+菓子器 > kashiki\ ;
+愛妻家 > aisaika\ ;
+養父母 > youfubo\ ;
+起電機 > kidenki\ ;
+二死後 > nishigo\ ;
+葉牡丹 > habotan\ ;
+已然形 > izenkei\ ;
+単座機 > tanzaki\ ;
+大規模 > daikibo\ ;
+具体化 > gutaika\ ;
+保安官 > hoankan\ ;
+野獣派 > yajuuha\ ;
+電位差 > den''isa\ ;
+非対応 > hitaiou\ ;
+蓖麻子 > himashi\ ;
+裸体画 > rataiga\ ;
+事務官 > jimukan\ ;
+起訴状 > kisojou\ ;
+野暮用 > yaboyou\ ;
+無灯火 > mutouka\ ;
+無記名 > mukimei\ ;
+都議選 > togisen\ ;
+保育園 > hoikuen\ ;
+保育器 > hoikuki\ ;
+愛好家 > aikouka\ ;
+委任状 > ininjou\ ;
+用器画 > youkiga\ ;
+保養所 > hoyoujo\ ;
+家庭科 > kateika\ ;
+不名誉 > fumeiyo\ ;
+五輪旗 > gorinki\ ;
+作業衣 > sagyoui\ ;
+木戸銭 > kidosen\ ;
+耳下腺 > jikasen\ ;
+家庭着 > kateigi\ ;
+外陰部 > gaiinbu\ ;
+和菓子 > wagashi\ ;
+自在画 > jizaiga\ ;
+耕運機 > kouunki\ ;
+一回忌 > ikkaiki\ ;
+不可解 > fukakai\ ;
+不可視 > fukashi\ ;
+総理府 > sourifu\ ;
+二分木 > nibungi\ ;
+広辞苑 > koujien\ ;
+多数派 > tasuuha\ ;
+保護者 > hogosha\ ;
+夜間部 > yakanbu\ ;
+留守電 > rusuden\ ;
+掃除機 > soujiki\ ;
+事務会 > jimukai\ ;
+事前後 > jizengo\ ;
+菩提樹 > bodaiju\ ;
+貝独楽 > baigoma\ ;
+無防備 > muboubi\ ;
+不思議 > fushigi\ ;
+不穏当 > fuontou\ ;
+可塑材 > kasozai\ ;
+梳綿機 > somenki\ ;
+無手順 > mutejun\ ;
+尾状花 > bijouka\ ;
+便利屋 > benriya\ ;
+予知夢 > yochimu\ ;
+御神籤 > omikuji\ ;
+映写機 > eishaki\ ;
+保護税 > hogozei\ ;
+叙事文 > jojibun\ ;
+英会話 > eikaiwa\ ;
+不可能 > fukanou\ ;
+映画館 > eigakan\ ;
+風雲児 > fuuunji\ ;
+楕円形 > daenkei\ ;
+演奏家 > ensouka\ ;
+可塑性 > kasosei\ ;
+被除数 > hijosuu\ ;
+二次元 > nijigen\ ;
+手文庫 > tebunko\ ;
+一箇所 > ikkasho\ ;
+予備隊 > yobitai\ ;
+疑問符 > gimonfu\ ;
+固定費 > koteihi\ ;
+明治座 > meijiza\ ;
+理想家 > risouka\ ;
+土壇場 > dotanba\ ;
+二次会 > nijikai\ ;
+義務感 > gimukan\ ;
+三叉路 > sansaro\ ;
+波布茶 > habucha\ ;
+不愛想 > buaisou\ ;
+一箇年 > ikkanen\ ;
+予備金 > yobikin\ ;
+不可知 > fukachi\ ;
+菩提寺 > bodaiji\ ;
+硫黄山 > iouyama\ ;
+素因数 > soinsuu\ ;
+仏蘭西 > furansu\ ;
+不合理 > fugouri\ ;
+掃除婦 > soujifu\ ;
+野暮天 > yaboten\ ;
+家具等 > kagutou\ ;
+薔薇色 > barairo\ ;
+不愉快 > fuyukai\ ;
+農機具 > noukigu\ ;
+輸送費 > yusouhi\ ;
+看護婦 > kangofu\ ;
+御神火 > gojinka\ ;
+予備軍 > yobigun\ ;
+古文書 > komonjo\ ;
+自衛権 > jieiken\ ;
+掃除器 > soujiki\ ;
+理想化 > risouka\ ;
+合氣道 > aikidou\ ;
+点火器 > tenkaki\ ;
+羽二重 > habutae\ ;
+規準化 > kijunka\ ;
+高度差 > koudosa\ ;
+合気道 > aikidou\ ;
+無器用 > bukiyou\ ;
+寄付金 > kifukin\ ;
+火口湖 > kakouko\ ;
+政治屋 > seijiya\ ;
+個々人 > kokojin\ ;
+可塑剤 > kasozai\ ;
+政治家 > seijika\ ;
+運営費 > un''eihi\ ;
+蝦夷菊 > ezogiku\ ;
+保護林 > hogorin\ ;
+木戸番 > kidoban\ ;
+浅知恵 > asadjie\ ;
+青豌豆 > aoendou\ ;
+女丈夫 > jojoubu\ ;
+円記号 > enkigou\ ;
+亜寒帯 > akantai\ ;
+江戸川 > edogawa\ ;
+比電荷 > hidenka\ ;
+幼児語 > youjigo\ ;
+暗暗裡 > an''anri\ ;
+不浄場 > fujouba\ ;
+暗暗裏 > an''anri\ ;
+湯治場 > toujiba\ ;
+脳味噌 > noumiso\ ;
+子画面 > kogamen\ ;
+可視化 > kashika\ ;
+不注意 > fuchuui\ ;
+護衛艦 > goeikan\ ;
+次打者 > jidasha\ ;
+披露宴 > hirouen\ ;
+自衛官 > jieikan\ ;
+留守番 > rusuban\ ;
+亜音速 > aonsoku\ ;
+御注意 > gochuui\ ;
+医科学 > ikagaku\ ;
+異方性 > ihousei\ ;
+無鑑査 > mukansa\ ;
+二番目 > nibanme\ ;
+硬化油 > koukayu\ ;
+映画祭 > eigasai\ ;
+映画社 > eigasha\ ;
+不正規 > fuseiki\ ;
+荊棘線 > barasen\ ;
+慰霊祭 > ireisai\ ;
+学校医 > gakkoui\ ;
+金文字 > kinmoji\ ;
+御法度 > gohatto\ ;
+気保養 > kihoyou\ ;
+鉄火場 > tekkaba\ ;
+勤務員 > kinmuin\ ;
+異星人 > iseijin\ ;
+映画界 > eigakai\ ;
+五畿内 > gokinai\ ;
+御破算 > gohasan\ ;
+普段着 > fudangi\ ;
+否定語 > hiteigo\ ;
+違憲性 > ikensei\ ;
+塩化銀 > enkagin\ ;
+保護司 > hogoshi\ ;
+得意気 > tokuige\ ;
+手細工 > tezaiku\ ;
+舎利塩 > sharien\ ;
+親馬鹿 > oyabaka\ ;
+舞踊家 > butouka\ ;
+奇形児 > kikeiji\ ;
+午後中 > gogojuu\ ;
+詭弁家 > kibenka\ ;
+胃洗浄 > isenjou\ ;
+不同化 > fudouka\ ;
+異教徒 > ikyouto\ ;
+湯加減 > yukagen\ ;
+非課税 > hikazei\ ;
+和楽器 > wagakki\ ;
+違法者 > ihousha\ ;
+輸送機 > yusouki\ ;
+与野党 > yoyatou\ ;
+引火点 > inkaten\ ;
+羽子板 > hagoita\ ;
+音沙汰 > otosata\ ;
+禾本科 > kahonka\ ;
+不可分 > fukabun\ ;
+鼠径部 > sokeibu\ ;
+乾菓子 > higashi\ ;
+無技巧 > mugikou\ ;
+都議会 > togikai\ ;
+予備校 > yobikou\ ;
+観世音 > kanzeon\ ;
+半過去 > hankako\ ;
+不参加 > fusanka\ ;
+違反者 > ihansha\ ;
+恣意性 > shiisei\ ;
+付加税 > fukazei\ ;
+時計座 > tokeiza\ ;
+部屋代 > heyadai\ ;
+母音性 > boinsei\ ;
+不得意 > futokui\ ;
+電話機 > denwaki\ ;
+無担保 > mutanpo\ ;
+措辞法 > sojihou\ ;
+八九分 > hakkubu\ ;
+根太板 > nedaita\ ;
+火加減 > hikagen\ ;
+亜燐酸 > arinsan\ ;
+時計屋 > tokeiya\ ;
+青二才 > aonisai\ ;
+野放図 > nohouzu\ ;
+幼児期 > youjiki\ ;
+按摩膏 > anmakou\ ;
+気苦労 > kigurou\ ;
+政府案 > seifuan\ ;
+二王門 > nioumon\ ;
+予備役 > yobieki\ ;
+不道理 > fudouri\ ;
+金無垢 > kinmuku\ ;
+偽造印 > gizouin\ ;
+無批判 > muhihan\ ;
+図書費 > toshohi\ ;
+幸運児 > kouunji\ ;
+塩水湖 > ensuiko\ ;
+流布本 > rufubon\ ;
+山茶花 > sazanka\ ;
+移民法 > iminhou\ ;
+鬼百合 > oniyuri\ ;
+奈良県 > naraken\ ;
+不勝手 > fukatte\ ;
+天麩羅 > tenpura\ ;
+不利益 > furieki\ ;
+市吏員 > shiriin\ ;
+意見書 > ikensho\ ;
+慰霊塔 > ireitou\ ;
+我利勉 > gariben\ ;
+擬宝珠 > giboshi\ ;
+大和絵 > yamatoe\ ;
+小切手 > kogitte\ ;
+転路器 > tenroki\ ;
+判事補 > hanjiho\ ;
+屠蘇散 > tososan\ ;
+御広目 > ohirome\ ;
+参議院 > sangiin\ ;
+予備品 > yobihin\ ;
+理工科 > rikouka\ ;
+火葬場 > kasouba\ ;
+寒垢離 > kangori\ ;
+防衛費 > boueihi\ ;
+馬小屋 > umagoya\ ;
+予備兵 > yobihei\ ;
+小道具 > kodougu\ ;
+希元素 > kigenso\ ;
+世界語 > sekaigo\ ;
+護衛兵 > goeihei\ ;
+形而下 > keijika\ ;
+青電話 > aodenwa\ ;
+二枚目 > nimaime\ ;
+三差路 > sansaro\ ;
+他府県 > tafuken\ ;
+保線区 > hosenku\ ;
+出稽古 > degeiko\ ;
+不具者 > fugusha\ ;
+演算機 > enzanki\ ;
+干菓子 > higashi\ ;
+遺伝法 > idenhou\ ;
+医化学 > ikagaku\ ;
+遺家族 > ikazoku\ ;
+小利口 > korikou\ ;
+天気運 > tenkiun\ ;
+府議会 > fugikai\ ;
+保険医 > hoken''i\ ;
+止音器 > shionki\ ;
+合気会 > aikikai\ ;
+醍醐味 > daigomi\ ;
+意図的 > itoteki\ ;
+地磁気 > chijiki\ ;
+生意気 > namaiki\ ;
+四次元 > yojigen\ ;
+御目玉 > omedama\ ;
+公文所 > kumonjo\ ;
+御座所 > gozasho\ ;
+大鋸屑 > ogakuzu\ ;
+甘海苔 > amanori\ ;
+建議案 > kengian\ ;
+碁会所 > gokaijo\ ;
+防火戸 > boukado\ ;
+登山家 > tozanka\ ;
+炊事場 > suijiba\ ;
+無愛想 > buaisou\ ;
+英文科 > eibunka\ ;
+酸性雨 > sanseiu\ ;
+尊皇王 > son''nou\ ;
+派生語 > haseigo\ ;
+遺伝性 > idensei\ ;
+医療費 > iryouhi\ ;
+大祖父 > daisofu\ ;
+軍荼利 > gundari\ ;
+白亜紀 > hakuaki\ ;
+騎馬戦 > kibasen\ ;
+目一杯 > meippai\ ;
+記事文 > kijibun\ ;
+和太鼓 > wadaiko\ ;
+予定案 > yoteian\ ;
+符号器 > fugouki\ ;
+書記補 > shokiho\ ;
+応援団 > ouendan\ ;
+遺伝子 > idenshi\ ;
+除草器 > josouki\ ;
+予定日 > yoteibi\ ;
+保持者 > hojisha\ ;
+曼陀羅 > mandara\ ;
+単位元 > tanigen\ ;
+意地悪 > ijiwaru\ ;
+益荒男 > masurao\ ;
+上出来 > joudeki\ ;
+符号化 > fugouka\ ;
+不相応 > fusouou\ ;
+英語版 > eigoban\ ;
+重火器 > juukaki\ ;
+摩利支 > marishi\ ;
+異端視 > itanshi\ ;
+葬儀屋 > sougiya\ ;
+項位置 > kouichi\ ;
+医師法 > ishihou\ ;
+葡萄園 > budouen\ ;
+五斗米 > gotobei\ ;
+可愛気 > kawaige\ ;
+五線譜 > gosenfu\ ;
+御府内 > gofunai\ ;
+子馬座 > koumaza\ ;
+小芥子 > kokeshi\ ;
+恒温器 > kouonki\ ;
+知恵者 > chiesha\ ;
+遺贈分 > izoubun\ ;
+太刀魚 > tachiuo\ ;
+助演者 > joensha\ ;
+代理部 > dairibu\ ;
+移動体 > idoutai\ ;
+運動費 > undouhi\ ;
+天鵝絨 > biroudo\ ;
+一酸化 > issanka\ ;
+遠距離 > enkyori\ ;
+佐賀県 > sagaken\ ;
+高音部 > kouonbu\ ;
+異端者 > itansha\ ;
+弥次馬 > yajiuma\ ;
+耕耘機 > kouunki\ ;
+感化院 > kankain\ ;
+不機嫌 > fukigen\ ;
+部外秘 > bugaihi\ ;
+亜熱帯 > anettai\ ;
+富士山 > fujisan\ ;
+指揮所 > shikijo\ ;
+生醤油 > kijouyu\ ;
+浄瑠璃 > joururi\ ;
+補佐官 > hosakan\ ;
+過去形 > kakokei\ ;
+草仮名 > sougana\ ;
+御機嫌 > gokigen\ ;
+不履行 > furikou\ ;
+擬人化 > gijinka\ ;
+分度器 > bundoki\ ;
+出目金 > demekin\ ;
+夜汽車 > yogisha\ ;
+左派系 > sahakei\ ;
+詐欺罪 > sagizai\ ;
+饂飩屋 > udon''ya\ ;
+夢想家 > musouka\ ;
+記譜法 > kifuhou\ ;
+一死後 > isshigo\ ;
+非衛生 > hieisei\ ;
+誤投下 > gotouka\ ;
+不自由 > fujiyuu\ ;
+英数字 > eisuuji\ ;
+知情意 > chijoui\ ;
+風呂桶 > furooke\ ;
+英語圏 > eigoken\ ;
+低音部 > teionbu\ ;
+二期制 > nikisei\ ;
+擬声語 > giseigo\ ;
+用務員 > youmuin\ ;
+御苦労 > gokurou\ ;
+未登記 > mitouki\ ;
+簡易化 > kan''ika\ ;
+一過性 > ikkasei\ ;
+運送費 > unsouhi\ ;
+医師会 > ishikai\ ;
+自叙伝 > jijoden\ ;
+天気屋 > tenkiya\ ;
+難易度 > nan''ido\ ;
+仮数部 > kasuubu\ ;
+十字路 > juujiro\ ;
+鼠蹊部 > sokeibu\ ;
+負符号 > fufugou\ ;
+大御所 > oogosho\ ;
+分布図 > bunpuzu\ ;
+製図家 > seizuka\ ;
+戦時下 > senjika\ ;
+天気図 > tenkizu\ ;
+賛美歌 > sanbika\ ;
+軍事費 > gunjihi\ ;
+炎天下 > entenka\ ;
+肥満児 > himanji\ ;
+浪漫派 > romanha\ ;
+起重機 > kijuuki\ ;
+圧砕機 > assaiki\ ;
+回路図 > kairozu\ ;
+兵器庫 > heikiko\ ;
+岐阜県 > gifuken\ ;
+庶務課 > shomuka\ ;
+離縁状 > rienjou\ ;
+正規化 > seikika\ ;
+今出来 > imadeki\ ;
+検波器 > kenpaki\ ;
+絵双紙 > ezoushi\ ;
+下付金 > kafukin\ ;
+避難所 > hinanjo\ ;
+片意地 > kataiji\ ;
+医学部 > igakubu\ ;
+予報音 > yohouon\ ;
+風呂代 > furodai\ ;
+後知恵 > atodjie\ ;
+差機関 > sakikan\ ;
+委員長 > iinchou\ ;
+詐欺師 > sagishi\ ;
+外祖父 > gaisofu\ ;
+論理和 > ronriwa\ ;
+野営地 > yaeichi\ ;
+雰囲気 > fun''iki\ ;
+因美線 > inbisen\ ;
+気丈夫 > kijoubu\ ;
+初期化 > shokika\ ;
+歩行器 > hokouki\ ;
+湯豆腐 > yudoufu\ ;
+裏背戸 > urasedo\ ;
+加算機 > kasanki\ ;
+放生会 > houjoue\ ;
+育児院 > ikujiin\ ;
+不作為 > fusakui\ ;
+武装具 > busougu\ ;
+下駄番 > getaban\ ;
+自動化 > jidouka\ ;
+無遠慮 > buenryo\ ;
+運動場 > undouba\ ;
+家計費 > kakeihi\ ;
+音楽家 > ongakka\ ;
+外祖母 > gaisobo\ ;
+労務課 > roumuka\ ;
+無軌道 > mukidou\ ;
+不作法 > busahou\ ;
+十字火 > juujika\ ;
+胃痙攣 > ikeiren\ ;
+運動員 > undouin\ ;
+機械語 > kikaigo\ ;
+美容院 > biyouin\ ;
+一転機 > ittenki\ ;
+杓文字 > shamoji\ ;
+探査機 > tansaki\ ;
+田舎家 > inakaya\ ;
+運転費 > untenhi\ ;
+橙皮油 > touhiyu\ ;
+過年度 > kanendo\ ;
+運動具 > undougu\ ;
+御存知 > gozonji\ ;
+家政科 > kaseika\ ;
+小奇麗 > kogirei\ ;
+移住者 > ijuusha\ ;
+道具屋 > douguya\ ;
+同義語 > dougigo\ ;
+模擬戦 > mogisen\ ;
+蒲公英 > tanpopo\ ;
+稽古着 > keikogi\ ;
+下世話 > gesewa\ ;
+迦楼羅 > karura\ ;
+手忠実 > temame\ ;
+駄洒落 > dajare\ ;
+下駄屋 > getaya\ ;
+駄法螺 > dabora\ ;
+過保護 > kahogo\ ;
+非営利 > hieiri\ ;
+経緯儀 > keiigi\ ;
+呑兵衛 > nonbee\ ;
+不義理 > fugiri\ ;
+有意差 > yuuisa\ ;
+高緯度 > kouido\ ;
+不貞寝 > futene\ ;
+歯医者 > haisha\ ;
+似顔絵 > nigaoe\ ;
+歯科医 > shikai\ ;
+火事場 > kajiba\ ;
+豪雨禍 > gouuka\ ;
+亜麻製 > amasei\ ;
+似顔画 > nigaoe\ ;
+駄酒落 > dajare\ ;
+山羊座 > yagiza\ ;
+卒塔婆 > sotoba\ ;
+亜麻色 > amairo\ ;
+青海苔 > aonori\ ;
+似非親 > eseoya\ ;
+亜麻糸 > amaito\ ;
+六十路 > musoji\ ;
+亜温帯 > aontai\ ;
+余所見 > yosomi\ ;
+委員会 > iinkai\ ;
+依存度 > izondo\ ;
+阿僧祇 > asougi\ ;
+八十路 > yasoji\ ;
+伊勢蝦 > iseebi\ ;
+伊勢蛯 > iseebi\ ;
+曾祖父 > hijiji\ ;
+見栄坊 > miebou\ ;
+亜鉛版 > aenban\ ;
+御猪口 > ochoko\ ;
+鮎並女 > ainame\ ;
+平易化 > heiika\ ;
+安保理 > anpori\ ;
+曾祖母 > hibaba\ ;
+籐椅子 > touisu\ ;
+小文字 > komoji\ ;
+余所目 > yosome\ ;
+下院議 > kaingi\ ;
+孵化器 > fukaki\ ;
+亜鉛板 > aenban\ ;
+手真似 > temane\ ;
+不如意 > funyoi\ ;
+湯文字 > yumoji\ ;
+異機種 > ikishu\ ;
+亜砒酸 > ahisan\ ;
+阿修羅 > ashura\ ;
+御雑煮 > ozouni\ ;
+皮膚科 > hifuka\ ;
+弟小父 > otooji\ ;
+主治医 > shujii\ ;
+不誠意 > fuseii\ ;
+御詠歌 > goeika\ ;
+胃下垂 > ikasui\ ;
+刷毛目 > hakeme\ ;
+甲烏賊 > kouika\ ;
+伊達着 > dategi\ ;
+御見舞 > omimai\ ;
+背文字 > semoji\ ;
+優曇華 > udonge\ ;
+御襁褓 > omutsu\ ;
+西班牙 > supein\ ;
+不見目 > mijime\ ;
+蕎麦粉 > sobako\ ;
+梭子魚 > kamasu\ ;
+不随意 > fuzuii\ ;
+紫陽花 > ajisai\ ;
+野良着 > noragi\ ;
+于蘭盆 > urabon\ ;
+苦味素 > kumiso\ ;
+無事故 > mujiko\ ;
+一昨日 > ototoi\ ;
+出来値 > dekine\ ;
+伊勢丹 > isetan\ ;
+飲兵衛 > nonbee\ ;
+此処等 > kokora\ ;
+露西亜 > roshia\ ;
+目医者 > meisha\ ;
+如何様 > ikayou\ ;
+破魔矢 > hamaya\ ;
+相部屋 > aibeya\ ;
+孤児院 > kojiin\ ;
+今日日 > kyoubi\ ;
+荼枳尼 > dakini\ ;
+海老錠 > ebijou\ ;
+蕎麦屋 > sobaya\ ;
+雌捻子 > meneji\ ;
+古事記 > kojiki\ ;
+真面目 > majime\ ;
+那由他 > nayuta\ ;
+倶楽部 > kurabu\ ;
+屋根屋 > yaneya\ ;
+海老茶 > ebicha\ ;
+阿媽港 > amakou\ ;
+磁方位 > jihoui\ ;
+鍛冶屋 > kajiya\ ;
+塩基度 > enkido\ ;
+矢羽根 > yabane\ ;
+百合根 > yurine\ ;
+阿羅漢 > arakan\ ;
+野路子 > nojiko\ ;
+雌螺子 > meneji\ ;
+土下座 > dogeza\ ;
+慰安者 > iansha\ ;
+絵日記 > enikki\ ;
+陀羅尼 > darani\ ;
+羅方位 > rahoui\ ;
+異体字 > itaiji\ ;
+同意語 > douigo\ ;
+韋駄天 > idaten\ ;
+為政家 > iseika\ ;
+二度目 > nidome\ ;
+数寄屋 > sukiya\ ;
+同意義 > douigi\ ;
+大袈裟 > oogesa\ ;
+事務屋 > jimuya\ ;
+浮世絵 > ukiyoe\ ;
+琵琶湖 > biwako\ ;
+事務家 > jimuka\ ;
+加留多 > karuta\ ;
+不可避 > fukahi\ ;
+事務器 > jimuki\ ;
+御洒落 > oshare\ ;
+事務員 > jimuin\ ;
+植木屋 > uekiya\ ;
+不可誤 > fukago\ ;
+御釈迦 > oshaka\ ;
+印字機 > injiki\ ;
+硫黄泉 > iousen\ ;
+卒都婆 > sotoba\ ;
+偉丈夫 > ijoufu\ ;
+布海苔 > funori\ ;
+眼医者 > meisha\ ;
+眼科医 > gankai\ ;
+慰安会 > iankai\ ;
+披露目 > hirome\ ;
+予備馬 > yobiba\ ;
+気化器 > kikaki\ ;
+武者絵 > mushae\ ;
+風土記 > fudoki\ ;
+御河童 > okappa\ ;
+愛煙家 > aienka\ ;
+部屋着 > heyagi\ ;
+予備費 > yobihi\ ;
+瀘過器 > rokaki\ ;
+補助員 > hojoin\ ;
+比丘尼 > bikuni\ ;
+波止場 > hatoba\ ;
+易動度 > idoudo\ ;
+絵図面 > ezumen\ ;
+裸婦画 > rafuga\ ;
+歩一歩 > hoippo\ ;
+三十路 > misoji\ ;
+不沙汰 > busata\ ;
+不死身 > fujimi\ ;
+告天子 > hibari\ ;
+加奈陀 > kanada\ ;
+以遠権 > ienken\ ;
+施餓鬼 > segaki\ ;
+三重県 > mieken\ ;
+御沙汰 > gosata\ ;
+毛繻子 > kejusu\ ;
+不同意 > fudoui\ ;
+予備科 > yobika\ ;
+江戸前 > edomae\ ;
+盂蘭盆 > urabon\ ;
+保護区 > hogoku\ ;
+浅茅生 > asajiu\ ;
+家具屋 > kaguya\ ;
+小気味 > kokimi\ ;
+天蚕糸 > tegusu\ ;
+異文化 > ibunka\ ;
+夜見世 > yomise\ ;
+位相差 > isousa\ ;
+数奇屋 > sukiya\ ;
+薔薇園 > baraen\ ;
+過渡期 > katoki\ ;
+居場所 > ibasho\ ;
+違和感 > iwakan\ ;
+生蕎麦 > kisoba\ ;
+寝間着 > nemaki\ ;
+三十日 > misoka\ ;
+不気味 > bukimi\ ;
+最下位 > saikai\ ;
+御歳暮 > oseibo\ ;
+予備員 > yobiin\ ;
+映画化 > eigaka\ ;
+欧印語 > ouingo\ ;
+図案家 > zuanka\ ;
+応援歌 > ouenka\ ;
+韋陀天 > idaten\ ;
+歌舞伎 > kabuki\ ;
+阿蘭陀 > oranda\ ;
+歌留多 > karuta\ ;
+無慈悲 > mujihi\ ;
+受話器 > juwaki\ ;
+翻車魚 > manbou\ ;
+不出来 > fudeki\ ;
+雑魚寝 > zakone\ ;
+伊太利 > itarii\ ;
+饂飩粉 > udonko\ ;
+甘海老 > amaebi\ ;
+小馬鹿 > kobaka\ ;
+御菓子 > okashi\ ;
+産科医 > sankai\ ;
+三知土 > tataki\ ;
+賓位語 > hinigo\ ;
+摩莫枳 > mamaki\ ;
+小百合 > sayuri\ ;
+無沙汰 > busata\ ;
+烏帽子 > eboshi\ ;
+祖父母 > sofubo\ ;
+十六夜 > izayoi\ ;
+迂回路 > ukairo\ ;
+襤褸家 > boroya\ ;
+青紫蘇 > aojiso\ ;
+濾過器 > rokaki\ ;
+不具合 > fuguai\ ;
+知恵歯 > chieba\ ;
+不起訴 > fukiso\ ;
+無医村 > muison\ ;
+果樹園 > kajuen\ ;
+御転婆 > otenba\ ;
+風呂屋 > furoya\ ;
+意味論 > imiron\ ;
+無邪気 > mujaki\ ;
+風呂場 > furoba\ ;
+阿蘇山 > asosan\ ;
+鮎魚女 > ainame\ ;
+御家芸 > oiegei\ ;
+無気味 > bukimi\ ;
+内科医 > naikai\ ;
+大部屋 > oobeya\ ;
+堕胎医 > dataii\ ;
+不用意 > fuyoui\ ;
+久慈目 > kujime\ ;
+大御代 > oomiyo\ ;
+有意義 > yuuigi\ ;
+野薔薇 > nobara\ ;
+梅雨期 > baiuki\ ;
+耳鼻科 > jibika\ ;
+画架座 > gakaza\ ;
+不安気 > fuange\ ;
+大出来 > oodeki\ ;
+風邪気 > kazeke\ ;
+武器庫 > bukiko\ ;
+伊呂波 > iroha\ ;
+亜鉛華 > aenka\ ;
+維持費 > ijihi\ ;
+依估地 > ekoji\ ;
+意気地 > ikuji\ ;
+秋刀魚 > sanma\ ;
+八重歯 > yaeba\ ;
+大伯父 > oooji\ ;
+大伯母 > oooba\ ;
+紫雲英 > genge\ ;
+未曾有 > mizou\ ;
+伯父貴 > ojiki\ ;
+亜麻仁 > amani\ ;
+五十路 > isoji\ ;
+木乃伊 > miira\ ;
+二十重 > hatae\ ;
+作務衣 > samue\ ;
+居留守 > irusu\ ;
+寝椅子 > neisu\ ;
+座椅子 > zaisu\ ;
+雪花菜 > okara\ ;
+八百屋 > yaoya\ ;
+硫黄華 > iouka\ ;
+小意気 > koiki\ ;
+御神酒 > omiki\ ;
+伊佐木 > isaki\ ;
+慰安婦 > ianfu\ ;
+大見得 > oomie\ ;
+射手座 > iteza\ ;
+不意気 > buiki\ ;
+荏胡麻 > egoma\ ;
+絵文字 > emoji\ ;
+五倍子 > fushi\ ;
+恵比寿 > ebisu\ ;
+留守居 > rusui\ ;
+不得手 > fuete\ ;
+無意義 > muigi\ ;
+依怙地 > ekoji\ ;
+香具師 > yashi\ ;
+大叔父 > oooji\ ;
+無意味 > muimi\ ;
+大叔母 > oooba\ ;
+意固地 > ikoji\ ;
+御辞儀 > ojigi\ ;
+阿弥陀 > amida\ ;
+居合道 > iadou\ ;
+未通女 > oboko\ ;
+囲炉裏 > irori\ ;
+御世辞 > oseji\ ;
+外科医 > gekai\ ;
+石斑魚 > ugui\ ;
+如雨露 > joro\ ;
+百舌鳥 > mozu\ ;
+浮塵子 > unka\ ;
+亜細亜 > ajia\ ;
+似而非 > ese\ ;
+昔話 > mukashibanashi\ ;
+亥年 > inoshishidoshi\ ;
+話話 > hanashibanashi\ ;
+下唇 > shitakuchibiru\ ;
+昔昔 > mukashimukashi\ ;
+昔々 > mukashimukashi\ ;
+話々 > hanashibanashi\ ;
+私立 > watakushiritsu\ ;
+懐刀 > futokorogatana\ ;
+忝涙 > katajikenamida\ ;
+南東 > minamihigashi\ ;
+古兵 > furutsuwamono\ ;
+内踝 > uchikurubushi\ ;
+舌鼓 > shitatsudzumi\ ;
+健者 > shitatakamono\ ;
+桜祭 > sakuramatsuri\ ;
+乳窄 > chichishibori\ ;
+賢所 > kashikodokoro\ ;
+面魂 > tsuradamashii\ ;
+仏作 > hotokedzukuru\ ;
+東南 > higashiminami\ ;
+天牛 > kamikirimushi\ ;
+夢幻 > yumemaboroshi\ ;
+恙虫 > tsutsugamushi\ ;
+私共 > watakushidomo\ ;
+私事 > watakushigoto\ ;
+都忘 > miyakowasure\ ;
+道標 > michishirube\ ;
+辻社 > tsujiyashiro\ ;
+若紫 > wakamurasaki\ ;
+畳鰯 > tatamiiwashi\ ;
+盲暦 > mekuragoyomi\ ;
+腹鼓 > haratsudzumi\ ;
+内懐 > uchibutokoro\ ;
+鰻丼 > unagidonburi\ ;
+躾方 > shitsukekata\ ;
+僻心 > higamigokoro\ ;
+椿油 > tsubakiabura\ ;
+柏餅 > kashiwamochi\ ;
+柄頭 > tsukagashira\ ;
+俄盲 > niwakamekura\ ;
+枕詞 > makurakotoba\ ;
+候所 > souroutokoro\ ;
+桂男 > katsuraotoko\ ;
+山懐 > yamafutokoro\ ;
+丼飯 > donburimeshi\ ;
+丼鉢 > donburibachi\ ;
+倒事 > sakasamagoto\ ;
+暁闇 > akatsukiyami\ ;
+松毬 > matsupokkuri\ ;
+頭虱 > atamashirami\ ;
+松林 > matsubayashi\ ;
+束柱 > tsukabashira\ ;
+仏心 > hotokegokoro\ ;
+未年 > hitsujidoshi\ ;
+谷懐 > tanibutokoro\ ;
+雁骨 > kariganebone\ ;
+東口 > higashiguchi\ ;
+杯事 > sakazukigoto\ ;
+独枕 > hitorimakura\ ;
+一塊 > hitokatamari\ ;
+娘心 > musumegokoro\ ;
+夏祭 > natsumatsuri\ ;
+昔式 > mukashishiki\ ;
+妹娘 > imoutomusume\ ;
+霜柱 > shimobashira\ ;
+星印 > hoshijirushi\ ;
+袋鼠 > fukuronezumi\ ;
+続柄 > tsudzukigara\ ;
+土蛍 > tsuchibotaru\ ;
+土煙 > tsuchikemuri\ ;
+懐銭 > futokorozeni\ ;
+鋸鮫 > nokogirizame\ ;
+土埃 > tsuchibokori\ ;
+蛍袋 > hotarubukuro\ ;
+懐紙 > futokorogami\ ;
+私達 > watashitachi\ ;
+所所 > tokorodokoro\ ;
+金鋸 > kanenokogiri\ ;
+戯事 > tawamuregoto\ ;
+品形 > shinakatachi\ ;
+勢車 > hazumiguruma\ ;
+哀哉 > kanashiikana\ ;
+所々 > tokorodokoro\ ;
+水盃 > mizusakazuki\ ;
+包紙 > tsutsumigami\ ;
+水杯 > mizusakazuki\ ;
+帯鋸 > obinokogiri\ ;
+召使 > meshitsukai\ ;
+力石 > chikaraishi\ ;
+白鼠 > shironezumi\ ;
+力瘤 > chikarakobu\ ;
+力水 > chikaramizu\ ;
+南口 > minamiguchi\ ;
+力業 > chikarawaza\ ;
+逆睫 > sakamatsuge\ ;
+鰹節 > katsuobushi\ ;
+兜虫 > kabutomushi\ ;
+形体 > narikatachi\ ;
+床柱 > tokobashira\ ;
+出没 > shutsubotsu\ ;
+左端 > hidarihashi\ ;
+巴瓦 > tomoegawara\ ;
+切日 > shimekiribi\ ;
+幼心 > osanagokoro\ ;
+花筵 > hanamushiro\ ;
+男鰥 > otokoyamome\ ;
+花祭 > hanamatsuri\ ;
+初姿 > hatsusugata\ ;
+高話 > takabanashi\ ;
+膝頭 > hizagashira\ ;
+巻柱 > makibashira\ ;
+底力 > sokodjikara\ ;
+畳表 > tatamiomote\ ;
+出力 > shutsuryoku\ ;
+桜餅 > sakuramochi\ ;
+桜飯 > sakurameshi\ ;
+直出 > chokushutsu\ ;
+畳職 > tatamishoku\ ;
+草冠 > kusakanmuri\ ;
+瓢虫 > tentoumushi\ ;
+左下 > hidarishita\ ;
+百出 > hyakushutsu\ ;
+若侍 > wakazamurai\ ;
+候由 > sourouyoshi\ ;
+伽話 > togibanashi\ ;
+松飾 > matsukazari\ ;
+東風 > higashikaze\ ;
+赤紫 > akamurasaki\ ;
+柳腰 > yanagigoshi\ ;
+男心 > otokogokoro\ ;
+人虱 > hitoshirami\ ;
+獣道 > kemonomichi\ ;
+一雫 > hitoshizuku\ ;
+羊雲 > hitsujigumo\ ;
+猿轡 > sarugutsuwa\ ;
+脈所 > myakudokoro\ ;
+但書 > tadashigaki\ ;
+腰刀 > koshigatana\ ;
+貢物 > mitsugimono\ ;
+客室 > kyakushitsu\ ;
+人柱 > hitobashira\ ;
+旗頭 > hatagashira\ ;
+子年 > nezumidoshi\ ;
+旋風 > tsumujikaze\ ;
+質実 > shitsujitsu\ ;
+丼物 > donburimono\ ;
+杖柱 > tsuehashira\ ;
+下瞼 > shitamabuta\ ;
+杉林 > sugibayashi\ ;
+晒者 > sarashimono\ ;
+一滴 > hitoshizuku\ ;
+中柱 > nakabashira\ ;
+狸爺 > tanukijijii\ ;
+嫡室 > chakushitsu\ ;
+狐猿 > kitsunezaru\ ;
+東北 > higashikita\ ;
+七月 > shichigatsu\ ;
+一昔 > hitomukashi\ ;
+東側 > higashigawa\ ;
+一撮 > hitotsumami\ ;
+飾付 > kazaritsuke\ ;
+嫡出 > chakushutsu\ ;
+下心 > shitagokoro\ ;
+夏衣 > natsugoromo\ ;
+不嗜 > butashinami\ ;
+雀蜂 > suzumebachi\ ;
+組頭 > kumigashira\ ;
+緑虫 > midorimushi\ ;
+雪礫 > yukitsubute\ ;
+旗標 > hatajirushi\ ;
+夢現 > yumeutsutsu\ ;
+雛祭 > hinamatsuri\ ;
+女旱 > on''nahideri\ ;
+女心 > on''nagokoro\ ;
+握鮨 > nigirizushi\ ;
+静心 > shizugokoro\ ;
+隣町 > tonarimachi\ ;
+大晦 > ootsugomori\ ;
+握飯 > nigirimeshi\ ;
+紫色 > murasakiiro\ ;
+旗印 > hatajirushi\ ;
+雪庇 > yukibisashi\ ;
+長話 > nagabanashi\ ;
+紙礫 > kamitsubute\ ;
+裸虫 > hadakamushi\ ;
+話中 > hanashichuu\ ;
+塵埃 > chirihokori\ ;
+鏡餅 > kagamimochi\ ;
+烏口 > karasuguchi\ ;
+端金 > hashitagane\ ;
+控室 > hikaeshitsu\ ;
+米印 > komejirushi\ ;
+唐錦 > karanishiki\ ;
+蝸牛 > dendenmushi\ ;
+黒鶫 > kurotsugumi\ ;
+錦蛇 > nishikihebi\ ;
+国侍 > kunizamurai\ ;
+港町 > minatomachi\ ;
+虫薬 > mushigusuri\ ;
+唐紅 > karakurenai\ ;
+磯鵯 > isohiyodori\ ;
+命綱 > inochidzuna\ ;
+金轡 > kanagutsuwa\ ;
+口車 > kuchiguruma\ ;
+取調 > torishirabe\ ;
+鼻柱 > hanabashira\ ;
+窯印 > kamajirushi\ ;
+蔦蘿 > tsutakazura\ ;
+取締 > torishimari\ ;
+蔦蔓 > tsutakazura\ ;
+氷袋 > kooribukuro\ ;
+南西 > minaminishi\ ;
+包金 > tsutsumikin\ ;
+古狐 > furugitsune\ ;
+力革 > chikaragawa\ ;
+私儀 > watakushigi\ ;
+力足 > chikaraashi\ ;
+私供 > watashidomo\ ;
+力負 > chikaramake\ ;
+水澄 > mizusumashi\ ;
+取扱 > toriatsukai\ ;
+鉄兜 > tetsukabuto\ ;
+氷枕 > koorimakura\ ;
+水柱 > mizubashira\ ;
+切通 > kiridooshi\ ;
+鯰髭 > namazuhige\ ;
+口口 > kuchiguchi\ ;
+初詣 > hatsumoude\ ;
+石畳 > ishidatami\ ;
+逆説 > gyakusetsu\ ;
+茸雲 > kinokogumo\ ;
+近道 > chikamichi\ ;
+近近 > chikadjika\ ;
+水心 > mizugokoro\ ;
+砂煙 > sunakemuri\ ;
+川魚 > kawazakana\ ;
+卯年 > usagidoshi\ ;
+近路 > chikamichi\ ;
+辻辻 > tsujitsuji\ ;
+北枕 > kitamakura\ ;
+確執 > kakushitsu\ ;
+氷室 > hyoushitsu\ ;
+決別 > ketsubetsu\ ;
+後技 > ushirowaza\ ;
+卍巴 > manjidomoe\ ;
+心室 > shinshitsu\ ;
+着色 > chakushoku\ ;
+円鏡 > marukagami\ ;
+遣直 > yarinaoshi\ ;
+着脱 > chakudatsu\ ;
+彗星 > houkiboshi\ ;
+円鉋 > marugan''na\ ;
+後後 > nochinochi\ ;
+卸商 > oroshishou\ ;
+辻褄 > tsujitsuma\ ;
+花鰹 > hanagatsuo\ ;
+鶴嘴 > tsuruhashi\ ;
+先隣 > sakidonari\ ;
+左足 > hidariashi\ ;
+得失 > tokushitsu\ ;
+咄々 > totsutotsu\ ;
+酒処 > sakedokoro\ ;
+歳月 > toshitsuki\ ;
+横車 > yokoguruma\ ;
+卓出 > takushutsu\ ;
+式日 > shikijitsu\ ;
+入質 > nyuushichi\ ;
+着着 > chakuchaku\ ;
+南側 > minamigawa\ ;
+皮衣 > kawagoromo\ ;
+区区 > machimachi\ ;
+着発 > chakuhatsu\ ;
+花鋏 > hanabasami\ ;
+庭漆 > niwaurushi\ ;
+砂嵐 > sunaarashi\ ;
+年男 > toshiotoko\ ;
+次次 > tsugitsugi\ ;
+刀疵 > katanakizu\ ;
+違棚 > chigaidana\ ;
+直筆 > chokuhitsu\ ;
+弐心 > futagokoro\ ;
+直立 > chokuritsu\ ;
+兜蟹 > kabutogani\ ;
+盲窓 > mekuramado\ ;
+出獄 > shutsugoku\ ;
+出猟 > shutsuryou\ ;
+砂埃 > sunabokori\ ;
+左耳 > hidarimimi\ ;
+力帯 > chikaraobi\ ;
+砂嚢 > sunabukuro\ ;
+光蘚 > hikarigoke\ ;
+花詞 > hanakotoba\ ;
+初氷 > hatsugoori\ ;
+苦艾 > nigayomogi\ ;
+出漁 > shutsuryou\ ;
+皿秤 > sarabakari\ ;
+殺伐 > satsubatsu\ ;
+沸々 > futsufutsu\ ;
+兎脣 > mitsukuchi\ ;
+座技 > suwariwaza\ ;
+口々 > kuchiguchi\ ;
+良質 > ryoushitsu\ ;
+槍衾 > yaribusuma\ ;
+逐日 > chikujitsu\ ;
+若緑 > wakamidori\ ;
+車賃 > kurumachin\ ;
+逆接 > gyakusetsu\ ;
+畑鼠 > hatanezumi\ ;
+着払 > chakubarai\ ;
+出撃 > shutsugeki\ ;
+峠道 > tougemichi\ ;
+年強 > toshidzuyo\ ;
+艶艶 > tsuyatsuya\ ;
+田鵑 > hototogisu\ ;
+山鯨 > yamakujira\ ;
+草枕 > kusamakura\ ;
+着実 > chakujitsu\ ;
+傷薬 > kizugusuri\ ;
+茶柱 > chabashira\ ;
+帚星 > houkiboshi\ ;
+直接 > chokusetsu\ ;
+底土 > sokotsuchi\ ;
+畳針 > tatamihari\ ;
+発熱 > hatsunetsu\ ;
+切実 > setsujitsu\ ;
+山颪 > yamaoroshi\ ;
+光物 > hikarimono\ ;
+剔出 > tekishutsu\ ;
+生魚 > namazakana\ ;
+直截 > chokusetsu\ ;
+偏辺 > katahorori\ ;
+花畑 > hanabatake\ ;
+候間 > sourouaida\ ;
+進出 > shinshutsu\ ;
+店卸 > tanaoroshi\ ;
+略述 > ryakujutsu\ ;
+常常 > tsunedzune\ ;
+疵薬 > kizugusuri\ ;
+別口 > betsukuchi\ ;
+八橋 > yatsuhashi\ ;
+辰年 > tatsudoshi\ ;
+別別 > betsubetsu\ ;
+尻餠 > shirimochi\ ;
+出国 > shutsugoku\ ;
+尻餅 > shirimochi\ ;
+区々 > machimachi\ ;
+白樺 > shirakanba\ ;
+八月 > hachigatsu\ ;
+踏車 > fumiguruma\ ;
+後々 > nochinochi\ ;
+略説 > ryakusetsu\ ;
+申込 > moushikomi\ ;
+切切 > setsusetsu\ ;
+盲壁 > mekurakabe\ ;
+鯨幕 > kujiramaku\ ;
+白星 > shiroboshi\ ;
+百日 > hyakunichi\ ;
+膜質 > makushitsu\ ;
+出入 > shutsunyuu\ ;
+年下 > toshishita\ ;
+係長 > kakarichou\ ;
+候調 > sourouchou\ ;
+鯨尺 > kujirajaku\ ;
+盛土 > moritsuchi\ ;
+花暦 > hanagoyomi\ ;
+直列 > chokuretsu\ ;
+甲蟹 > kabutogani\ ;
+冽冽 > retsuretsu\ ;
+入室 > nyuushitsu\ ;
+山荒 > yamaarashi\ ;
+傑物 > ketsubutsu\ ;
+略筆 > ryakuhitsu\ ;
+左利 > hidarikiki\ ;
+伸餅 > noshimochi\ ;
+内冑 > uchikabuto\ ;
+内兜 > uchikabuto\ ;
+左側 > hidarigawa\ ;
+入口 > hairiguchi\ ;
+室長 > shitsuchou\ ;
+優姿 > yasasugata\ ;
+兎口 > mitsukuchi\ ;
+申立 > moushitate\ ;
+核質 > kakushitsu\ ;
+植物 > shokubutsu\ ;
+岩燕 > iwatsubame\ ;
+次々 > tsugitsugi\ ;
+儲口 > moukeguchi\ ;
+棟瓦 > munagawara\ ;
+高枕 > takamakura\ ;
+脹脛 > fukurahagi\ ;
+高曇 > takagumori\ ;
+桜花 > sakurabana\ ;
+桑苺 > kuwaichigo\ ;
+脚色 > kyakushoku\ ;
+桜肉 > sakuraniku\ ;
+肩車 > kataguruma\ ;
+別々 > betsubetsu\ ;
+質量 > shitsuryou\ ;
+畜殺 > chikusatsu\ ;
+杜鵑 > hototogisu\ ;
+脈脈 > myakumyaku\ ;
+着々 > chakuchaku\ ;
+楔形 > kusabigata\ ;
+桜紙 > sakuragami\ ;
+切々 > setsusetsu\ ;
+病室 > byoushitsu\ ;
+芋侍 > imozamurai\ ;
+肉質 > nikushitsu\ ;
+近々 > chikadjika\ ;
+宝船 > takarabune\ ;
+山桜 > yamazakura\ ;
+側室 > sokushitsu\ ;
+膝枕 > hizamakura\ ;
+乳首 > chichikubi\ ;
+常々 > tsunedzune\ ;
+子規 > hototogisu\ ;
+極力 > kyokuryoku\ ;
+辻々 > tsujitsuji\ ;
+桑畑 > kuwabatake\ ;
+略式 > ryakushiki\ ;
+冽々 > retsuretsu\ ;
+枕許 > makuramoto\ ;
+宝籤 > takarakuji\ ;
+宝箱 > takarabako\ ;
+質草 > shichigusa\ ;
+骨壷 > kotsutsubo\ ;
+宿直 > shukuchoku\ ;
+備付 > sonaetsuke\ ;
+略奪 > ryakudatsu\ ;
+山嵐 > yamaarashi\ ;
+松虫 > matsumushi\ ;
+乳質 > nyuushitsu\ ;
+両隣 > ryoudonari\ ;
+屡屡 > shibashiba\ ;
+群雀 > murasuzume\ ;
+木質 > mokushitsu\ ;
+実物 > jitsubutsu\ ;
+質種 > shichigusa\ ;
+下露 > shitatsuyu\ ;
+畜力 > chikuryoku\ ;
+寒椿 > kantsubaki\ ;
+質的 > shitsuteki\ ;
+棚卸 > tanaoroshi\ ;
+梔子 > kuchinashi\ ;
+驀地 > masshigura\ ;
+山刀 > yamagatana\ ;
+下道 > shitamichi\ ;
+不躾 > bushitsuke\ ;
+生卵 > namatamago\ ;
+風薬 > kazegusuri\ ;
+曲説 > kyokusetsu\ ;
+丸裸 > maruhadaka\ ;
+飯粒 > meshitsubu\ ;
+猫車 > nekoguruma\ ;
+三越 > mitsukoshi\ ;
+客月 > kyakugetsu\ ;
+時鳥 > hototogisu\ ;
+顔貌 > kaokatachi\ ;
+室料 > shitsuryou\ ;
+尺八 > shakuhachi\ ;
+艶々 > tsuyatsuya\ ;
+東男 > azumaotoko\ ;
+寝室 > shinshitsu\ ;
+質樸 > shitsuboku\ ;
+肘枕 > hijimakura\ ;
+仏滅 > butsumetsu\ ;
+小包 > kodzutsumi\ ;
+密密 > mitsumitsu\ ;
+就中 > nakandzuku\ ;
+上蓆 > uwamushiro\ ;
+質朴 > shitsuboku\ ;
+脱力 > datsuryoku\ ;
+質札 > shichifuda\ ;
+三菱 > mitsubishi\ ;
+仮枕 > karimakura\ ;
+供出 > kyoushutsu\ ;
+宮室 > kyuushitsu\ ;
+春霞 > harugasumi\ ;
+食物 > shokumotsu\ ;
+昔風 > mukashifuu\ ;
+宝島 > takarajima\ ;
+仏様 > hotokesama\ ;
+脚力 > kyakuryoku\ ;
+下職 > shitashoku\ ;
+曲節 > kyokusetsu\ ;
+曲筆 > kyokuhitsu\ ;
+一纏 > hitomatome\ ;
+飯櫃 > meshibitsu\ ;
+貝柱 > kaibashira\ ;
+上筵 > uwamushiro\ ;
+曲直 > kyokuchoku\ ;
+丸瓦 > marugawara\ ;
+七竈 > nanakamado\ ;
+一穴 > hitotsuana\ ;
+孫娘 > magomusume\ ;
+仏性 > hotokeshou\ ;
+静静 > shizushizu\ ;
+実力 > jitsuryoku\ ;
+曲率 > kyokuritsu\ ;
+大鼓 > ootsudzumi\ ;
+狐色 > kitsuneiro\ ;
+特質 > tokushitsu\ ;
+一睡 > hitonemuri\ ;
+下町 > shitamachi\ ;
+人心 > hitogokoro\ ;
+七生 > shichishou\ ;
+燕麦 > karasumugi\ ;
+一番 > hitotsugai\ ;
+物語 > monogatari\ ;
+女達 > on''natachi\ ;
+朧月 > oborodzuki\ ;
+片跛 > katachinba\ ;
+末日 > matsujitsu\ ;
+望月 > mochidzuki\ ;
+二心 > futagokoro\ ;
+革質 > kakushitsu\ ;
+大隼 > oohayabusa\ ;
+月月 > tsukidzuki\ ;
+一渡 > hitowatari\ ;
+屡々 > shibashiba\ ;
+杜宇 > hototogisu\ ;
+妾腹 > mekakebara\ ;
+雲霞 > kumokasumi\ ;
+革袋 > kawabukuro\ ;
+析出 > sekishutsu\ ;
+枕元 > makuramoto\ ;
+不束 > futsutsuka\ ;
+猫柳 > nekoyanagi\ ;
+曲折 > kyokusetsu\ ;
+貸付 > kashitsuke\ ;
+狸汁 > tanukijiru\ ;
+不抱 > kakawarazu\ ;
+一所 > hitotokoro\ ;
+曲尺 > kyokushaku\ ;
+雪質 > yukishitsu\ ;
+顔形 > kaokatachi\ ;
+犇犇 > hishihishi\ ;
+雛豆 > hiyokomame\ ;
+網頭 > amigashira\ ;
+塩魚 > shiozakana\ ;
+中執 > chuushitsu\ ;
+夏虫 > natsumushi\ ;
+綾錦 > ayanishiki\ ;
+月別 > tsukibetsu\ ;
+奪略 > datsuryaku\ ;
+繁繁 > shigeshige\ ;
+烏麦 > karasumugi\ ;
+一周 > hitomeguri\ ;
+烏鳩 > karasubato\ ;
+訥訥 > totsutotsu\ ;
+旅烏 > tabigarasu\ ;
+七光 > nanahikari\ ;
+娘婿 > musumemuko\ ;
+日没 > nichibotsu\ ;
+細雪 > sasameyuki\ ;
+頭分 > kashirabun\ ;
+斑牛 > madaraushi\ ;
+緑色 > ryokushoku\ ;
+日月 > nichigetsu\ ;
+旭日 > kyokujitsu\ ;
+角質 > kakushitsu\ ;
+隣組 > tonarigumi\ ;
+烏金 > karasugane\ ;
+隼科 > hayabusaka\ ;
+物心 > monogokoro\ ;
+旅枕 > tabimakura\ ;
+紅雀 > benisuzume\ ;
+父方 > chichikata\ ;
+塵芥 > chiriakuta\ ;
+雨燕 > amatsubame\ ;
+妹婿 > imoutomuko\ ;
+雪煙 > yukikemuri\ ;
+奪掠 > datsuryaku\ ;
+角蛙 > tsunogaeru\ ;
+失業 > shitsugyou\ ;
+設立 > setsuritsu\ ;
+雑物 > zatsubutsu\ ;
+熱烈 > netsuretsu\ ;
+随神 > kan''nagara\ ;
+裸麦 > hadakamugi\ ;
+霜月 > shimotsuki\ ;
+夢枕 > yumemakura\ ;
+旅心 > tabigokoro\ ;
+犬侍 > inuzamurai\ ;
+識別 > shikibetsu\ ;
+妾出 > shoushutsu\ ;
+緑玉 > ryokugyoku\ ;
+烏蛇 > karasuhebi\ ;
+特出 > tokushutsu\ ;
+紙袋 > kamibukuro\ ;
+雪柳 > yukiyanagi\ ;
+春休 > haruyasumi\ ;
+月々 > tsukidzuki\ ;
+触発 > shokuhatsu\ ;
+継父 > mamachichi\ ;
+烏紙 > karasugami\ ;
+日仏 > nichifutsu\ ;
+掛長 > kakarichou\ ;
+靴下 > kutsushita\ ;
+縮尺 > shukushaku\ ;
+女主 > on''naaruji\ ;
+敵失 > tekishitsu\ ;
+教室 > kyoushitsu\ ;
+絶滅 > zetsumetsu\ ;
+要石 > kanameishi\ ;
+裏話 > urabanashi\ ;
+粉薬 > konagusuri\ ;
+縮刷 > shukusatsu\ ;
+土豚 > tsuchibuta\ ;
+烈烈 > retsuretsu\ ;
+救出 > kyuushutsu\ ;
+壁土 > kabetsuchi\ ;
+結末 > ketsumatsu\ ;
+親柱 > oyabashira\ ;
+粛粛 > shukushuku\ ;
+国訛 > kuninamari\ ;
+綿埃 > watabokori\ ;
+親日 > shin''nichi\ ;
+灼熱 > shakunetsu\ ;
+雇主 > yatoinushi\ ;
+継娘 > mamamusume\ ;
+焼失 > shoushitsu\ ;
+訳出 > yakushutsu\ ;
+烈日 > retsujitsu\ ;
+締付 > shimetsuke\ ;
+訣別 > ketsubetsu\ ;
+筒鳥 > tsutsudori\ ;
+袋耳 > fukuromimi\ ;
+結実 > ketsujitsu\ ;
+続出 > zokushutsu\ ;
+濃紫 > komurasaki\ ;
+溝鼠 > dobunezumi\ ;
+粛殺 > shukusatsu\ ;
+血脈 > ketsumyaku\ ;
+鎌鼬 > kamaitachi\ ;
+袋物 > fukuromono\ ;
+西口 > nishiguchi\ ;
+摘出 > tekishutsu\ ;
+節節 > fushibushi\ ;
+筒袖 > tsutsusode\ ;
+糸印 > itojirushi\ ;
+為人 > hitotonari\ ;
+炭俵 > sumidawara\ ;
+蜀魂 > hototogisu\ ;
+米所 > komedokoro\ ;
+端近 > hashidjika\ ;
+鎖鎌 > kusarigama\ ;
+滅裂 > metsuretsu\ ;
+潮煙 > shiokemuri\ ;
+筆舌 > hitsuzetsu\ ;
+錦鯉 > nishikigoi\ ;
+滑脱 > katsudatsu\ ;
+掠奪 > ryakudatsu\ ;
+筆筒 > fudedzutsu\ ;
+描出 > byoushutsu\ ;
+土壁 > tsuchikabe\ ;
+手続 > tetsudzuki\ ;
+螢石 > hotaruishi\ ;
+蜜蜂 > mitsubachi\ ;
+箱柳 > hakoyanagi\ ;
+箱枕 > hakomakura\ ;
+米俵 > komedawara\ ;
+蜂蜜 > hachimitsu\ ;
+竹筒 > takedzutsu\ ;
+端端 > hashibashi\ ;
+箒星 > houkiboshi\ ;
+蝶番 > choutsugai\ ;
+拠所 > yoridokoro\ ;
+黒鼠 > kuronezumi\ ;
+表口 > omoteguchi\ ;
+竈神 > kamadogami\ ;
+黒鮪 > kuromaguro\ ;
+簇出 > zokushutsu\ ;
+表出 > hyoushutsu\ ;
+唐衣 > karakoromo\ ;
+筆旁 > fudezukuri\ ;
+齣落 > komaotoshi\ ;
+錨綱 > ikaridzuna\ ;
+筒形 > tsutsugata\ ;
+深緑 > fukamidori\ ;
+鼻薬 > hanagusuri\ ;
+所柄 > tokorogara\ ;
+持主 > mochinushi\ ;
+拙劣 > setsuretsu\ ;
+蛍石 > hotaruishi\ ;
+漂失 > hyoushitsu\ ;
+針鼠 > harinezumi\ ;
+流質 > ryuushichi\ ;
+抽出 > chuushutsu\ ;
+蜜月 > mitsugetsu\ ;
+空涙 > soranamida\ ;
+渋渋 > shibushibu\ ;
+滲出 > shinshutsu\ ;
+福袋 > fukubukuro\ ;
+筒先 > tsutsusaki\ ;
+筆力 > hitsuryoku\ ;
+抄出 > shoushutsu\ ;
+我心 > wagakokoro\ ;
+黒苺 > kuroichigo\ ;
+秩禄 > chitsuroku\ ;
+又隣 > matadonari\ ;
+金鋏 > kanabasami\ ;
+懐手 > futokorode\ ;
+黒緑 > kuromidori\ ;
+慄烈 > ritsuretsu\ ;
+鋸歯 > nokogiriba\ ;
+溌剌 > hatsuratsu\ ;
+惟神 > kan''nagara\ ;
+海燕 > umitsubame\ ;
+金袋 > kanabukuro\ ;
+油虫 > aburamushi\ ;
+銀狐 > gingitsune\ ;
+南風 > minamikaze\ ;
+虐殺 > gyakusatsu\ ;
+水鏡 > mizukagami\ ;
+活物 > katsubutsu\ ;
+卵酒 > tamagozake\ ;
+節々 > fushibushi\ ;
+都鳥 > miyakodori\ ;
+決裂 > ketsuretsu\ ;
+薬箱 > kusuribako\ ;
+麦畑 > mugibatake\ ;
+黒漆 > kokushitsu\ ;
+喉仏 > nodobotoke\ ;
+金聾 > kanatsunbo\ ;
+吸湿 > kyuushitsu\ ;
+水薬 > mizugusuri\ ;
+泉熱 > izuminetsu\ ;
+浴室 > yokushitsu\ ;
+愛娘 > manamusume\ ;
+古狸 > furudanuki\ ;
+河烏 > kawagarasu\ ;
+私宛 > watashiate\ ;
+必罰 > hitsubatsu\ ;
+祝日 > shukujitsu\ ;
+吊橋 > tsuribashi\ ;
+形許 > katabakari\ ;
+沸沸 > futsufutsu\ ;
+波枕 > namimakura\ ;
+碇綱 > ikaridzuna\ ;
+水秤 > mizubakari\ ;
+流失 > ryuushitsu\ ;
+浸出 > shinshutsu\ ;
+鉋屑 > kan''nakuzu\ ;
+菱餅 > hishimochi\ ;
+吉日 > kichinichi\ ;
+薬指 > kusuriyubi\ ;
+各方 > onoonogata\ ;
+金槌 > kanadzuchi\ ;
+砂袋 > sunabukuro\ ;
+咄咄 > totsutotsu\ ;
+前頭 > maegashira\ ;
+流出 > ryuushutsu\ ;
+活力 > katsuryoku\ ;
+卵焼 > tamagoyaki\ ;
+水煙 > mizukemuri\ ;
+道道 > michimichi\ ;
+強腰 > tsuyogoshi\ ;
+活仏 > katsubutsu\ ;
+初霜 > hatsushimo\ ;
+右左 > migihidari\ ;
+各室 > kakushitsu\ ;
+着雪 > chakusetsu\ ;
+必滅 > hitsumetsu\ ;
+里心 > satogokoro\ ;
+葵祭 > aoimatsuri\ ;
+油壷 > aburatsubo\ ;
+渋々 > shibushibu\ ;
+刻足 > kizamiashi\ ;
+水枕 > mizumakura\ ;
+勅筆 > chokuhitsu\ ;
+鰯雲 > iwashigumo\ ;
+心柄 > kokorogara\ ;
+睦言 > mutsugoto\ ;
+収奪 > shuudatsu\ ;
+恐喝 > kyoukatsu\ ;
+目頭 > megashira\ ;
+草餠 > kusamochi\ ;
+劇職 > gekishoku\ ;
+薬代 > kusuridai\ ;
+強直 > kyouchoku\ ;
+各冊 > kakusatsu\ ;
+通説 > tsuusetsu\ ;
+河口 > kawaguchi\ ;
+逆賊 > gyakuzoku\ ;
+道草 > michikusa\ ;
+死神 > shinigami\ ;
+適職 > tekishoku\ ;
+欠落 > ketsuraku\ ;
+巻鮨 > makizushi\ ;
+勝率 > shouritsu\ ;
+出軍 > shutsugun\ ;
+半日 > han''nichi\ ;
+厄年 > yakudoshi\ ;
+剥脱 > hakudatsu\ ;
+徒桜 > adazakura\ ;
+千日 > sen''nichi\ ;
+別行 > betsugyou\ ;
+落着 > rakuchaku\ ;
+逆襲 > gyakushuu\ ;
+毒殺 > dokusatsu\ ;
+確実 > kakujitsu\ ;
+重出 > juushutsu\ ;
+口先 > kuchisaki\ ;
+口元 > kuchimoto\ ;
+式目 > shikimoku\ ;
+卓抜 > takubatsu\ ;
+没入 > botsunyuu\ ;
+右下 > migishita\ ;
+強烈 > kyouretsu\ ;
+逸脱 > itsudatsu\ ;
+白黒 > shirokuro\ ;
+直達 > jikitatsu\ ;
+恋仇 > koigataki\ ;
+直進 > chokushin\ ;
+直通 > chokutsuu\ ;
+剽窃 > hyousetsu\ ;
+割箸 > waribashi\ ;
+免黜 > menchutsu\ ;
+金仏 > kanabutsu\ ;
+白鷺 > shirasagi\ ;
+醵出 > kyoshutsu\ ;
+直轄 > chokkatsu\ ;
+占師 > uranaishi\ ;
+皮靴 > kawagutsu\ ;
+急切 > kyuusetsu\ ;
+酉年 > toridoshi\ ;
+真裸 > mappadaka\ ;
+出血 > shukketsu\ ;
+白鱚 > shirogisu\ ;
+道筋 > michisuji\ ;
+道端 > michibata\ ;
+卸売 > oroshiuri\ ;
+忘失 > boushitsu\ ;
+蔭口 > kageguchi\ ;
+卵大 > tamagodai\ ;
+初花 > hatsuhana\ ;
+道程 > michinori\ ;
+白髪 > hakuhatsu\ ;
+磔刑 > haritsuke\ ;
+彦星 > hikoboshi\ ;
+辛辣 > shinratsu\ ;
+正物 > shoubutsu\ ;
+品々 > shinajina\ ;
+出藍 > shutsuran\ ;
+年若 > toshiwaka\ ;
+逆臣 > gyakushin\ ;
+平芝 > hirashiba\ ;
+横面 > yokotsura\ ;
+直読 > chokudoku\ ;
+凝血 > gyouketsu\ ;
+逃腰 > nigegoshi\ ;
+心太 > tokoroten\ ;
+心天 > tokoroten\ ;
+直訳 > chokuyaku\ ;
+初耳 > hatsumimi\ ;
+白雪 > hakusetsu\ ;
+出色 > shusshoku\ ;
+廃疾 > haishitsu\ ;
+劇烈 > gekiretsu\ ;
+速筆 > sokuhitsu\ ;
+水口 > mizuguchi\ ;
+殺戮 > satsuriku\ ;
+後室 > koushitsu\ ;
+蓄妾 > chikushou\ ;
+出群 > shutsugun\ ;
+進発 > shinpatsu\ ;
+茶袋 > chabukuro\ ;
+初空 > hatsuzora\ ;
+横道 > yokomichi\ ;
+落札 > rakusatsu\ ;
+刮目 > katsumoku\ ;
+白酒 > shirozake\ ;
+勘所 > kandokoro\ ;
+追突 > tsuitotsu\ ;
+式服 > shikifuku\ ;
+協力 > kyouryoku\ ;
+石持 > ishimochi\ ;
+落日 > rakujitsu\ ;
+逸物 > ichimotsu\ ;
+直腸 > chokuchou\ ;
+歴日 > rekijitsu\ ;
+進物 > shinmotsu\ ;
+出立 > shuttatsu\ ;
+真筆 > shinpitsu\ ;
+正月 > shougatsu\ ;
+凝縮 > gyoushuku\ ;
+着目 > chakumoku\ ;
+六識 > rokushiki\ ;
+凝結 > gyouketsu\ ;
+眼疾 > ganshitsu\ ;
+歌枕 > utamakura\ ;
+Ｘ線 > ekkususen\ ;
+知悉 > chishitsu\ ;
+別物 > betsumono\ ;
+直結 > chokketsu\ ;
+凝立 > gyouritsu\ ;
+常節 > tokobushi\ ;
+標識 > hyoushiki\ ;
+後出 > koushutsu\ ;
+初物 > hatsumono\ ;
+花道 > hanamichi\ ;
+出発 > shuppatsu\ ;
+北口 > kitaguchi\ ;
+年玉 > toshidama\ ;
+橙色 > daidaiiro\ ;
+矩差 > kanezashi\ ;
+千万 > chiyorozu\ ;
+弓弦 > yumidzuru\ ;
+盲穴 > mekuraana\ ;
+草箒 > kusabouki\ ;
+出現 > shutsugen\ ;
+凝着 > gyouchaku\ ;
+劣弱 > retsujaku\ ;
+真率 > shinsotsu\ ;
+苦虫 > nigamushi\ ;
+橋脚 > kyoukyaku\ ;
+左腕 > hidariude\ ;
+高鼾 > takaibiki\ ;
+真物 > shinbutsu\ ;
+弔客 > choukyaku\ ;
+百薬 > hyakuyaku\ ;
+茶筒 > chadzutsu\ ;
+弟娘 > otomusume\ ;
+省略 > shouryaku\ ;
+逆流 > gyakuryuu\ ;
+歌心 > utagokoro\ ;
+週末 > shuumatsu\ ;
+着氷 > chakuhyou\ ;
+白菊 > shiragiku\ ;
+年波 > toshinami\ ;
+正室 > seishitsu\ ;
+菊月 > kikudzuki\ ;
+別業 > betsugyou\ ;
+年毎 > toshigoto\ ;
+週日 > shuujitsu\ ;
+花街 > hanamachi\ ;
+川縁 > kawabuchi\ ;
+形代 > katashiro\ ;
+白色 > hakushoku\ ;
+別棟 > betsumune\ ;
+冊立 > sakuritsu\ ;
+島風 > shimakaze\ ;
+弱卒 > jakusotsu\ ;
+僕達 > bokutachi\ ;
+髭面 > higedzura\ ;
+張力 > chouryoku\ ;
+軟質 > nanshitsu\ ;
+菱形 > hishigata\ ;
+進捗 > shinchoku\ ;
+僻説 > hekisetsu\ ;
+茶畑 > chabatake\ ;
+横綱 > yokodzuna\ ;
+兎耳 > usagimimi\ ;
+出欠 > shukketsu\ ;
+島陰 > shimakage\ ;
+矢印 > yajirushi\ ;
+着服 > chakufuku\ ;
+建坪 > tatetsubo\ ;
+副尺 > fukushaku\ ;
+初春 > hatsuharu\ ;
+共立 > kyouritsu\ ;
+花菱 > hanabishi\ ;
+延坪 > nobetsubo\ ;
+極量 > kyokuryou\ ;
+良識 > ryoushiki\ ;
+弟分 > otoutobun\ ;
+色調 > shikichou\ ;
+鳶口 > tobiguchi\ ;
+八福 > hachifuku\ ;
+色覚 > shikikaku\ ;
+石仏 > sekibutsu\ ;
+歳出 > saishutsu\ ;
+直流 > chokuryuu\ ;
+芍薬 > shakuyaku\ ;
+出札 > shussatsu\ ;
+割増 > warimashi\ ;
+芝草 > shibakusa\ ;
+真東 > mahigashi\ ;
+樸直 > bokuchoku\ ;
+剥奪 > hakudatsu\ ;
+幕末 > bakumatsu\ ;
+椎骨 > tsuikotsu\ ;
+正出 > seishutsu\ ;
+凶日 > kyoujitsu\ ;
+遊失 > yuushitsu\ ;
+車蝦 > kurumaebi\ ;
+初役 > hatsuyaku\ ;
+選出 > senshutsu\ ;
+逆心 > gyakushin\ ;
+迫持 > serimochi\ ;
+着床 > chakushou\ ;
+年弱 > toshiyowa\ ;
+山鶉 > yamauzura\ ;
+Ｗ杯 > daburuhai\ ;
+着席 > chakuseki\ ;
+辻札 > tsujifuda\ ;
+適切 > tekisetsu\ ;
+発病 > hatsubyou\ ;
+病識 > byoushiki\ ;
+創出 > soushutsu\ ;
+別室 > besshitsu\ ;
+年嵩 > toshikasa\ ;
+初孫 > hatsumago\ ;
+出御 > shutsugyo\ ;
+幽室 > yuushitsu\ ;
+白玉 > shiratama\ ;
+直撃 > chokugeki\ ;
+年寄 > toshiyori\ ;
+榎茸 > enokitake\ ;
+船虫 > funamushi\ ;
+白熱 > hakunetsu\ ;
+極薄 > kyokuhaku\ ;
+白熊 > shirokuma\ ;
+帆柱 > hobashira\ ;
+割付 > waritsuke\ ;
+初夢 > hatsuyume\ ;
+分室 > bunshitsu\ ;
+庶出 > shoshutsu\ ;
+入滅 > nyuumetsu\ ;
+割下 > warishita\ ;
+市松 > ichimatsu\ ;
+優男 > yasaotoko\ ;
+花町 > hanamachi\ ;
+轢殺 > rekisatsu\ ;
+癈疾 > haishitsu\ ;
+真実 > shinjitsu\ ;
+白滝 > shirataki\ ;
+速口 > hayakuchi\ ;
+進入 > shin''nyuu\ ;
+儲物 > moukemono\ ;
+腰高 > koshidaka\ ;
+橋桁 > hashigeta\ ;
+骨質 > kosshitsu\ ;
+腰骨 > koshibone\ ;
+修飾 > shuushoku\ ;
+白浪 > shiranami\ ;
+白浜 > shirahama\ ;
+艶種 > tsuyadane\ ;
+速力 > sokuryoku\ ;
+辻店 > tsujimise\ ;
+白波 > shiranami\ ;
+茶所 > chadokoro\ ;
+広口 > hirokuchi\ ;
+尺骨 > shakkotsu\ ;
+出塁 > shutsurui\ ;
+目庇 > mabisashi\ ;
+白水 > shiromizu\ ;
+色神 > shikishin\ ;
+入植 > nyuushoku\ ;
+直属 > chokuzoku\ ;
+初出 > shoshutsu\ ;
+凡失 > bonshitsu\ ;
+六月 > rokugatsu\ ;
+入札 > nyuusatsu\ ;
+送出 > soushutsu\ ;
+山道 > yamamichi\ ;
+退出 > taishutsu\ ;
+楽節 > gakusetsu\ ;
+常夏 > tokonatsu\ ;
+申達 > shintatsu\ ;
+若松 > wakamatsu\ ;
+局長 > kyokuchou\ ;
+鬼瓦 > onigawara\ ;
+帝室 > teishitsu\ ;
+床下 > yukashita\ ;
+着信 > chakushin\ ;
+白札 > shirofuda\ ;
+切入 > setsunyuu\ ;
+標札 > hyousatsu\ ;
+出動 > shutsudou\ ;
+迫力 > hakuryoku\ ;
+屑鉄 > kuzutetsu\ ;
+髪綱 > kamidzuna\ ;
+逐一 > chikuichi\ ;
+侵食 > shinshoku\ ;
+花氷 > hanagoori\ ;
+俄雨 > niwakaame\ ;
+膠質 > koushitsu\ ;
+茶室 > chashitsu\ ;
+白日 > hakujitsu\ ;
+侠骨 > kyoukotsu\ ;
+少食 > shoushoku\ ;
+巳年 > hebidoshi\ ;
+艶物 > tsuyamono\ ;
+小食 > shoushoku\ ;
+冷奴 > hiyayakko\ ;
+小頭 > kogashira\ ;
+屈辱 > kutsujoku\ ;
+骨膜 > kotsumaku\ ;
+町角 > machikado\ ;
+辻君 > tsujigimi\ ;
+省力 > shouryoku\ ;
+鯉幟 > koinobori\ ;
+赤鰯 > akaiwashi\ ;
+骨肉 > kotsuniku\ ;
+内室 > naishitsu\ ;
+川岸 > kawagishi\ ;
+幕下 > makushita\ ;
+目印 > mejirushi\ ;
+尻軽 > shirigaru\ ;
+男衆 > otokoshuu\ ;
+鰐口 > waniguchi\ ;
+信越 > shin''etsu\ ;
+俊逸 > shun''itsu\ ;
+属託 > shokutaku\ ;
+盲判 > mekuraban\ ;
+胸骨 > kyoukotsu\ ;
+寝食 > shinshoku\ ;
+色沢 > shikitaku\ ;
+六尺 > rokushaku\ ;
+辛口 > karakuchi\ ;
+色欲 > shikiyoku\ ;
+極熱 > gokunetsu\ ;
+跳虫 > tobimushi\ ;
+痛烈 > tsuuretsu\ ;
+臣節 > shinsetsu\ ;
+骨箱 > kotsubako\ ;
+皇室 > koushitsu\ ;
+俗説 > zokusetsu\ ;
+儲役 > moukeyaku\ ;
+供述 > kyoujutsu\ ;
+峻烈 > shunretsu\ ;
+男腹 > otokobara\ ;
+極流 > kyokuryuu\ ;
+略章 > ryakushou\ ;
+再出 > saishutsu\ ;
+川口 > kawaguchi\ ;
+良日 > ryoujitsu\ ;
+略称 > ryakushou\ ;
+左前 > hidarimae\ ;
+対質 > taishitsu\ ;
+小説 > shousetsu\ ;
+左党 > hidaritou\ ;
+脇道 > wakimichi\ ;
+棹秤 > saobakari\ ;
+桜貝 > sakuragai\ ;
+病没 > byoubotsu\ ;
+共力 > kyouryoku\ ;
+船橋 > funabashi\ ;
+髪油 > kamiabura\ ;
+病歿 > byoubotsu\ ;
+侵蝕 > shinshoku\ ;
+病欠 > byouketsu\ ;
+八切 > yatsugiri\ ;
+入力 > nyuuryoku\ ;
+町筋 > machisuji\ ;
+色慾 > shikiyoku\ ;
+脂足 > aburaashi\ ;
+町立 > chouritsu\ ;
+脚註 > kyakuchuu\ ;
+極月 > gokugetsu\ ;
+脂質 > shishitsu\ ;
+舟橋 > funahashi\ ;
+供血 > kyouketsu\ ;
+川下 > kawashimo\ ;
+実録 > jitsuroku\ ;
+畜生 > chikushou\ ;
+色弱 > shikijaku\ ;
+発出 > hasshutsu\ ;
+腰縄 > koshinawa\ ;
+生節 > namabushi\ ;
+就職 > shuushoku\ ;
+足腰 > ashikoshi\ ;
+入仏 > nyuubutsu\ ;
+入交 > irimajiri\ ;
+腰紐 > koshihimo\ ;
+修築 > shuuchiku\ ;
+肉食 > nikushoku\ ;
+信約 > shin''yaku\ ;
+脱落 > datsuraku\ ;
+体質 > taishitsu\ ;
+輩出 > haishutsu\ ;
+修祓 > shuufutsu\ ;
+学閥 > gakubatsu\ ;
+位負 > kuraimake\ ;
+苗代 > nawashiro\ ;
+山男 > yamaotoko\ ;
+桜草 > sakurasou\ ;
+客足 > kyakuashi\ ;
+属目 > shokumoku\ ;
+俗筆 > zokuhitsu\ ;
+小職 > shoushoku\ ;
+償却 > shoukyaku\ ;
+楽律 > gakuritsu\ ;
+桜色 > sakurairo\ ;
+小羊 > kohitsuji\ ;
+実質 > jisshitsu\ ;
+肘鉄 > hijitetsu\ ;
+賃餅 > chinmochi\ ;
+宝貝 > takaragai\ ;
+軽口 > karukuchi\ ;
+超脱 > choudatsu\ ;
+男物 > otokomono\ ;
+職長 > shokuchou\ ;
+仏顔 > hotokegao\ ;
+仏領 > futsuryou\ ;
+略歴 > ryakureki\ ;
+骨柄 > kotsugara\ ;
+赤色 > sekishoku\ ;
+小節 > shousetsu\ ;
+尻癖 > shirikuse\ ;
+膠漆 > koushitsu\ ;
+島影 > shimakage\ ;
+極小 > kyokushou\ ;
+俵物 > hyoumotsu\ ;
+生爪 > namadzume\ ;
+松風 > matsukaze\ ;
+超絶 > chouzetsu\ ;
+船室 > senshitsu\ ;
+腺熱 > sen''netsu\ ;
+束髪 > sokuhatsu\ ;
+転出 > tenshutsu\ ;
+脩竹 > shuuchiku\ ;
+島島 > shimajima\ ;
+略服 > ryakufuku\ ;
+島山 > shimayama\ ;
+鬱勃 > utsubotsu\ ;
+東雲 > shinonome\ ;
+生滅 > shoumetsu\ ;
+俗物 > zokubutsu\ ;
+脱硫 > datsuryuu\ ;
+脈絡 > myakuraku\ ;
+学識 > gakushiki\ ;
+侵略 > shinryaku\ ;
+学説 > gakusetsu\ ;
+職責 > shokuseki\ ;
+艶事 > tsuyagoto\ ;
+玉鴫 > tamashigi\ ;
+瓦版 > kawaraban\ ;
+傷口 > kizuguchi\ ;
+密約 > mitsuyaku\ ;
+学術 > gakujutsu\ ;
+軒下 > nokishita\ ;
+車代 > kurumadai\ ;
+借料 > shakuryou\ ;
+資質 > shishitsu\ ;
+人達 > hitotachi\ ;
+候文 > souroubun\ ;
+寺男 > teraotoko\ ;
+極北 > kyokuhoku\ ;
+脱獄 > datsugoku\ ;
+町方 > machikata\ ;
+痛切 > tsuusetsu\ ;
+高坏 > takatsuki\ ;
+貸賃 > kashichin\ ;
+倉敷 > kurashiki\ ;
+乞食 > kotsujiki\ ;
+伸縮 > shinshuku\ ;
+人質 > hitojichi\ ;
+朝食 > choushoku\ ;
+疵口 > kizuguchi\ ;
+峻別 > shunbetsu\ ;
+届書 > todokesho\ ;
+客筋 > kyakusuji\ ;
+服飾 > fukushoku\ ;
+傑出 > kesshutsu\ ;
+休職 > kyuushoku\ ;
+甲所 > kandokoro\ ;
+二道 > futamichi\ ;
+船主 > funanushi\ ;
+食通 > shokutsuu\ ;
+客種 > kyakudane\ ;
+賊虐 > zokugyaku\ ;
+乳鉢 > nyuubachi\ ;
+月額 > getsugaku\ ;
+月頃 > tsukigoro\ ;
+作男 > sakuotoko\ ;
+男役 > otokoyaku\ ;
+上鶲 > joubitaki\ ;
+腕枕 > udemakura\ ;
+赤熱 > sekinetsu\ ;
+舌先 > shitasaki\ ;
+腹持 > haramochi\ ;
+珍説 > chinsetsu\ ;
+付落 > tsukeochi\ ;
+腰掛 > koshikake\ ;
+久闊 > kyuukatsu\ ;
+密猟 > mitsuryou\ ;
+申年 > sarudoshi\ ;
+材質 > zaishitsu\ ;
+松蝉 > matsuzemi\ ;
+京表 > kyouomote\ ;
+脚注 > kyakuchuu\ ;
+梅暦 > umegoyomi\ ;
+作物 > sakumotsu\ ;
+賞罰 > shoubatsu\ ;
+子羊 > kohitsuji\ ;
+室町 > muromachi\ ;
+小曲 > shoukyoku\ ;
+検出 > kenshutsu\ ;
+俊抜 > shunbatsu\ ;
+密漁 > mitsuryou\ ;
+肉筆 > nikuhitsu\ ;
+腰弱 > koshiyowa\ ;
+胆玉 > kimottama\ ;
+松茸 > matsutake\ ;
+桜桃 > sakuranbo\ ;
+寂滅 > jakumetsu\ ;
+本質 > honshitsu\ ;
+仔羊 > kohitsuji\ ;
+産室 > sanshitsu\ ;
+腰布 > koshinuno\ ;
+腰巻 > koshimaki\ ;
+佃煮 > tsukudani\ ;
+侵掠 > shinryaku\ ;
+桁橋 > ketabashi\ ;
+朴訥 > bokutotsu\ ;
+食虫 > shokuchuu\ ;
+松脂 > matsuyani\ ;
+七難 > shichinan\ ;
+低湿 > teishitsu\ ;
+男坂 > otokozaka\ ;
+宿泊 > shukuhaku\ ;
+伯爵 > hakushaku\ ;
+梓弓 > azusayumi\ ;
+餅肌 > mochihada\ ;
+居室 > kyoshitsu\ ;
+木訥 > bokutotsu\ ;
+額際 > hitaigiwa\ ;
+留別 > ryuubetsu\ ;
+信実 > shinjitsu\ ;
+贈物 > okurimono\ ;
+駐日 > chuunichi\ ;
+柿渋 > kakishibu\ ;
+下金 > shitagane\ ;
+中越 > chuugoshi\ ;
+媒質 > baishitsu\ ;
+乾草 > hoshigusa\ ;
+琴爪 > kotodzume\ ;
+腰垣 > koshigaki\ ;
+係官 > kakarikan\ ;
+脈搏 > myakuhaku\ ;
+玉虫 > tamamushi\ ;
+生唾 > namatsuba\ ;
+食肉 > shokuniku\ ;
+松笠 > matsukasa\ ;
+脈拍 > myakuhaku\ ;
+七道 > shichidou\ ;
+申入 > moushiire\ ;
+客様 > kyakusama\ ;
+乳色 > nyuushoku\ ;
+曲調 > kyokuchou\ ;
+借主 > karinushi\ ;
+乾肉 > hoshiniku\ ;
+宿料 > shukuryou\ ;
+実業 > jitsugyou\ ;
+宿敵 > shukuteki\ ;
+七輪 > shichirin\ ;
+産出 > sanshutsu\ ;
+何日 > nan''nichi\ ;
+質点 > shitsuten\ ;
+脳室 > noushitsu\ ;
+山伏 > yamabushi\ ;
+実株 > jitsukabu\ ;
+侵奪 > shindatsu\ ;
+町中 > machinaka\ ;
+町並 > machinami\ ;
+上質 > joushitsu\ ;
+下貼 > shitabari\ ;
+食紅 > shokubeni\ ;
+侠客 > kyoukyaku\ ;
+更衣 > koromogae\ ;
+食糧 > shokuryou\ ;
+中表 > nakaomote\ ;
+小姑 > kojuutome\ ;
+栃木 > tochinoki\ ;
+脂性 > aburashou\ ;
+倉主 > kuranushi\ ;
+七賢 > shichiken\ ;
+尻取 > shiritori\ ;
+格式 > kakushiki\ ;
+昼鳶 > hirutonbi\ ;
+亮直 > ryouchoku\ ;
+暢達 > choutatsu\ ;
+腰元 > koshimoto\ ;
+脇差 > wakizashi\ ;
+杉箸 > sugibashi\ ;
+付焼 > tsukeyaki\ ;
+学殖 > gakushoku\ ;
+株式 > kabushiki\ ;
+柏槙 > byakushin\ ;
+独酌 > dokushaku\ ;
+寅年 > toradoshi\ ;
+質権 > shichiken\ ;
+小咄 > kobanashi\ ;
+丸腰 > marugoshi\ ;
+昼飯 > hirumeshi\ ;
+伐木 > batsuboku\ ;
+俊傑 > shunketsu\ ;
+職歴 > shokureki\ ;
+之繞 > shin''nyuu\ ;
+架橋 > kakehashi\ ;
+柏木 > kashiwagi\ ;
+仮橋 > karibashi\ ;
+豆粒 > mametsubu\ ;
+休日 > kyuujitsu\ ;
+中腰 > chuugoshi\ ;
+上薬 > uwagusuri\ ;
+密室 > misshitsu\ ;
+玉章 > gyokushou\ ;
+侵入 > shin''nyuu\ ;
+宿将 > shukushou\ ;
+将卒 > shousotsu\ ;
+両舌 > ryouzetsu\ ;
+職業 > shokugyou\ ;
+導出 > doushutsu\ ;
+宿学 > shukugaku\ ;
+小冊 > shousatsu\ ;
+両脚 > ryoukyaku\ ;
+脱出 > dasshutsu\ ;
+客席 > kyakuseki\ ;
+下草 > shitakusa\ ;
+射出 > shashutsu\ ;
+暦術 > rekijutsu\ ;
+朴直 > bokuchoku\ ;
+赤土 > akatsuchi\ ;
+脅喝 > kyoukatsu\ ;
+中絶 > chuuzetsu\ ;
+下腹 > shitabara\ ;
+脱俗 > datsuzoku\ ;
+柏手 > kashiwade\ ;
+乾物 > hoshimono\ ;
+実学 > jitsugaku\ ;
+桟俵 > sandawara\ ;
+猟色 > ryoushoku\ ;
+一脈 > ichimyaku\ ;
+赤口 > sekiguchi\ ;
+中立 > chuuritsu\ ;
+職掌 > shokushou\ ;
+室外 > shitsugai\ ;
+寒卵 > kantamago\ ;
+島々 > shimajima\ ;
+質感 > shitsukan\ ;
+格別 > kakubetsu\ ;
+核力 > kakuryoku\ ;
+両端 > ryouhashi\ ;
+両立 > ryouritsu\ ;
+耐湿 > taishitsu\ ;
+下紐 > shitahimo\ ;
+今日 > kon''nichi\ ;
+早飯 > hayameshi\ ;
+貸方 > kashikata\ ;
+乾湿 > kanshitsu\ ;
+額縁 > gakubuchi\ ;
+一粒 > hitotsubu\ ;
+嫡流 > chakuryuu\ ;
+曲目 > kyokumoku\ ;
+食欲 > shokuyoku\ ;
+柴垣 > shibagaki\ ;
+亮月 > ryougetsu\ ;
+下穿 > shitabaki\ ;
+一節 > hitofushi\ ;
+革靴 > kawagutsu\ ;
+中略 > chuuryaku\ ;
+状袋 > joubukuro\ ;
+物量 > butsuryou\ ;
+末流 > matsuryuu\ ;
+株主 > kabunushi\ ;
+下石 > shitaishi\ ;
+飯時 > meshidoki\ ;
+作付 > sakudzuke\ ;
+上瞼 > uwamabuta\ ;
+伯叔 > hakushuku\ ;
+爪革 > tsumakawa\ ;
+室内 > shitsunai\ ;
+宿主 > yadonushi\ ;
+久濶 > kyuukatsu\ ;
+二月 > futatsuki\ ;
+日録 > nichiroku\ ;
+一瞥 > ichibetsu\ ;
+令室 > reishitsu\ ;
+体中 > karadajuu\ ;
+仲好 > nakayoshi\ ;
+食料 > shokuryou\ ;
+調髪 > chouhatsu\ ;
+物質 > busshitsu\ ;
+早道 > hayamichi\ ;
+新雪 > shinsetsu\ ;
+片道 > katamichi\ ;
+特設 > tokusetsu\ ;
+仏学 > butsugaku\ ;
+露霜 > tsuyujimo\ ;
+札束 > satsutaba\ ;
+夏鳥 > natsudori\ ;
+質問 > shitsumon\ ;
+独立 > dokuritsu\ ;
+月次 > tsukinami\ ;
+謬説 > byuusetsu\ ;
+学卒 > gakusotsu\ ;
+曲流 > kyokuryuu\ ;
+食慾 > shokuyoku\ ;
+一物 > ichimotsu\ ;
+奴輩 > yatsubara\ ;
+学力 > gakuryoku\ ;
+亮察 > ryousatsu\ ;
+中次 > nakatsugi\ ;
+質券 > shichiken\ ;
+孤児 > minashigo\ ;
+旧識 > kyuushiki\ ;
+人妻 > hitodzuma\ ;
+新釈 > shinshaku\ ;
+日諾 > nichidaku\ ;
+旧説 > kyuusetsu\ ;
+股下 > matashita\ ;
+珍客 > chinkyaku\ ;
+外面 > sotodzura\ ;
+春色 > shunshoku\ ;
+翌月 > yokugetsu\ ;
+聴力 > chouryoku\ ;
+京女 > kyouon''na\ ;
+串柿 > kushigaki\ ;
+九折 > kyuusetsu\ ;
+翌日 > yokujitsu\ ;
+斟酌 > shinshaku\ ;
+両極 > ryoukyoku\ ;
+仏名 > butsumyou\ ;
+特色 > tokushoku\ ;
+亡失 > boushitsu\ ;
+食客 > shokkyaku\ ;
+父親 > chichioya\ ;
+仮住 > karizumai\ ;
+了察 > ryousatsu\ ;
+雪靴 > yukigutsu\ ;
+現出 > genshutsu\ ;
+仏力 > butsuriki\ ;
+調達 > choutatsu\ ;
+下様 > shimozama\ ;
+繰越 > kurikoshi\ ;
+物腰 > monogoshi\ ;
+三椏 > mitsumata\ ;
+両日 > ryoujitsu\ ;
+松原 > matsubara\ ;
+賃借 > chinshaku\ ;
+熟食 > jukushoku\ ;
+新説 > shinsetsu\ ;
+付人 > tsukebito\ ;
+新訳 > shin''yaku\ ;
+新設 > shinsetsu\ ;
+玉将 > gyokushou\ ;
+月影 > tsukikage\ ;
+月形 > tsukigata\ ;
+七曜 > shichiyou\ ;
+一月 > hitotsuki\ ;
+天質 > tenshitsu\ ;
+下敷 > shitajiki\ ;
+七星 > shichisei\ ;
+星空 > hoshizora\ ;
+特筆 > tokuhitsu\ ;
+一日 > tsuitachi\ ;
+人伝 > hitodzute\ ;
+狐火 > kitsunebi\ ;
+爆裂 > bakuretsu\ ;
+特立 > tokuritsu\ ;
+人付 > hitodzuki\ ;
+青萍 > aoukikusa\ ;
+失言 > shitsugen\ ;
+雪道 > yukimichi\ ;
+雑録 > zatsuroku\ ;
+女腹 > on''nabara\ ;
+食卓 > shokutaku\ ;
+熱量 > netsuryou\ ;
+雪辱 > setsujoku\ ;
+新薬 > shin''yaku\ ;
+頭株 > atamakabu\ ;
+失血 > shikketsu\ ;
+暦月 > rekigetsu\ ;
+変質 > henshitsu\ ;
+食出 > hamidashi\ ;
+夜話 > yobanashi\ ;
+一抹 > ichimatsu\ ;
+天袋 > tenbukuro\ ;
+靴紐 > kutsuhimo\ ;
+暦日 > rekijitsu\ ;
+詳述 > shoujutsu\ ;
+食傷 > shokushou\ ;
+特発 > tokuhatsu\ ;
+靴篦 > kutsubera\ ;
+下役 > shitayaku\ ;
+両岸 > ryougishi\ ;
+曲学 > kyokugaku\ ;
+熟達 > jukutatsu\ ;
+靴箆 > kutsubera\ ;
+丑年 > ushidoshi\ ;
+露草 > tsuyukusa\ ;
+評釈 > hyoushaku\ ;
+一律 > ichiritsu\ ;
+物療 > butsuryou\ ;
+風口 > kazaguchi\ ;
+夏蝉 > natsuzemi\ ;
+霞草 > kasumisou\ ;
+牧畜 > bokuchiku\ ;
+調色 > choushoku\ ;
+焼餅 > yakimochi\ ;
+末僚 > batsuryou\ ;
+註釈 > chuushaku\ ;
+詳説 > shousetsu\ ;
+新緑 > shinryoku\ ;
+失脚 > shikkyaku\ ;
+失職 > shisshoku\ ;
+新約 > shin''yaku\ ;
+夏菊 > natsugiku\ ;
+縞蛇 > shimahebi\ ;
+中哲 > chuutetsu\ ;
+訳述 > yakujutsu\ ;
+新築 > shinchiku\ ;
+夏草 > natsugusa\ ;
+玉串 > tamagushi\ ;
+中口 > nakaguchi\ ;
+女癖 > on''naguse\ ;
+姥桜 > ubazakura\ ;
+中卒 > chuusotsu\ ;
+下坂 > shimosaka\ ;
+風下 > kazashimo\ ;
+霞網 > kasumiami\ ;
+両口 > ryouguchi\ ;
+爪皮 > tsumakawa\ ;
+爆竹 > bakuchiku\ ;
+日独 > nichidoku\ ;
+旧物 > kyuubutsu\ ;
+獣偏 > kemonohen\ ;
+露程 > tsuyuhodo\ ;
+調節 > chousetsu\ ;
+頭字 > kashiraji\ ;
+獄卒 > gokusotsu\ ;
+給食 > kyuushoku\ ;
+且又 > katsumata\ ;
+月並 > tsukinami\ ;
+物流 > butsuryuu\ ;
+両凸 > ryoutotsu\ ;
+陳述 > chinjutsu\ ;
+新着 > shinchaku\ ;
+女物 > on''namono\ ;
+不印 > fujirushi\ ;
+書付 > kakitsuke\ ;
+詰草 > tsumekusa\ ;
+中位 > chuugurai\ ;
+熊蜂 > kumabachi\ ;
+教職 > kyoushoku\ ;
+失礼 > shitsurei\ ;
+七厘 > shichirin\ ;
+物欲 > butsuyoku\ ;
+一口 > hitokuchi\ ;
+擂鉢 > suribachi\ ;
+爆発 > bakuhatsu\ ;
+昨日 > sakujitsu\ ;
+縮約 > shukuyaku\ ;
+失着 > shitchaku\ ;
+一別 > ichibetsu\ ;
+一列 > ichiretsu\ ;
+下側 > shitagawa\ ;
+雀色 > suzumeiro\ ;
+一儲 > hitomouke\ ;
+族滅 > zokumetsu\ ;
+下作 > shitasaku\ ;
+調略 > chouryaku\ ;
+昔日 > sekijitsu\ ;
+断熱 > dan''netsu\ ;
+明日 > myounichi\ ;
+下下 > shimojimo\ ;
+敷石 > shikiishi\ ;
+特撮 > tokusatsu\ ;
+親閲 > shin''etsu\ ;
+願事 > negaigoto\ ;
+頻出 > hinshutsu\ ;
+網袋 > amibukuro\ ;
+料率 > ryouritsu\ ;
+角逐 > kakuchiku\ ;
+七三 > shichisan\ ;
+細面 > hosoomote\ ;
+集結 > shuuketsu\ ;
+西風 > nishikaze\ ;
+夏痩 > natsuyase\ ;
+物指 > monosashi\ ;
+星影 > hoshikage\ ;
+独力 > dokuryoku\ ;
+触診 > shokushin\ ;
+壺皿 > tsubozara\ ;
+罪人 > tsumibito\ ;
+物慾 > butsuyoku\ ;
+敷物 > shikimono\ ;
+雪男 > yukiotoko\ ;
+夏物 > natsumono\ ;
+統計 > baratsuki\ ;
+女方 > on''nagata\ ;
+新橋 > shinbashi\ ;
+熱病 > netsubyou\ ;
+電熱 > den''netsu\ ;
+星屑 > hoshikuzu\ ;
+隔絶 > kakuzetsu\ ;
+独仏 > dokufutsu\ ;
+妻室 > saishitsu\ ;
+物干 > monohoshi\ ;
+細道 > hosomichi\ ;
+糧食 > ryoushoku\ ;
+物差 > monosashi\ ;
+熱球 > netsukyuu\ ;
+縞物 > shimamono\ ;
+新枕 > niimakura\ ;
+給血 > kyuuketsu\ ;
+新札 > shinsatsu\ ;
+新月 > shingetsu\ ;
+新曲 > shinkyoku\ ;
+旧式 > kyuushiki\ ;
+詰物 > tsumemono\ ;
+烏貝 > karasugai\ ;
+靴底 > kutsuzoko\ ;
+旧年 > furutoshi\ ;
+星型 > hoshigata\ ;
+長髪 > chouhatsu\ ;
+女形 > on''nagata\ ;
+失望 > shitsubou\ ;
+焼結 > shouketsu\ ;
+塵紙 > chirigami\ ;
+失明 > shitsumei\ ;
+紙質 > shishitsu\ ;
+雪沓 > yukigutsu\ ;
+文月 > fumidzuki\ ;
+炭質 > tanshitsu\ ;
+誅殺 > chuusatsu\ ;
+大昔 > oomukashi\ ;
+長靴 > nagagutsu\ ;
+糸車 > itoguruma\ ;
+夜晒 > yozarashi\ ;
+夏服 > natsufuku\ ;
+靴墨 > kutsuzumi\ ;
+裸馬 > hadakauma\ ;
+妹分 > imoutobun\ ;
+日墨 > nichiboku\ ;
+新式 > shinshiki\ ;
+夏時 > natsudoki\ ;
+炸裂 > sakuretsu\ ;
+特別 > tokubetsu\ ;
+複雑 > fukuzatsu\ ;
+靴型 > kutsugata\ ;
+粒食 > ryuushoku\ ;
+結膜 > ketsumaku\ ;
+縞柄 > shimagara\ ;
+失恋 > shitsuren\ ;
+失念 > shitsunen\ ;
+雨曇 > amagumori\ ;
+評決 > hyouketsu\ ;
+調律 > chouritsu\ ;
+女坂 > on''nazaka\ ;
+続発 > zokuhatsu\ ;
+雑株 > zatsukabu\ ;
+諒察 > ryousatsu\ ;
+牛刺 > gyuusashi\ ;
+執著 > shuuchaku\ ;
+早口 > hayakuchi\ ;
+糖質 > toushitsu\ ;
+片口 > katakuchi\ ;
+細腰 > hosogoshi\ ;
+集札 > shuusatsu\ ;
+日出 > nisshutsu\ ;
+終結 > shuuketsu\ ;
+坪量 > tsuboryou\ ;
+奴凧 > yakkodako\ ;
+親筆 > shinpitsu\ ;
+綿油 > wataabura\ ;
+然然 > shikajika\ ;
+焦熱 > shounetsu\ ;
+夏山 > natsuyama\ ;
+爪切 > tsumekiri\ ;
+政所 > mandokoro\ ;
+教式 > kyoushiki\ ;
+爪先 > tsumasaki\ ;
+塩漬 > shiodzuke\ ;
+縮小 > shukushou\ ;
+下々 > shimojimo\ ;
+奔出 > honshutsu\ ;
+隔月 > kakugetsu\ ;
+撃発 > gekihatsu\ ;
+執筆 > shippitsu\ ;
+隔日 > kakujitsu\ ;
+新入 > shin''nyuu\ ;
+斥力 > sekiryoku\ ;
+終発 > shuuhatsu\ ;
+失命 > shitsumei\ ;
+坂道 > sakamichi\ ;
+失名 > shitsumei\ ;
+撲滅 > bokumetsu\ ;
+詳察 > shousatsu\ ;
+雪女 > yukion''na\ ;
+詳密 > shoumitsu\ ;
+雑学 > zatsugaku\ ;
+防湿 > boushitsu\ ;
+均質 > kinshitsu\ ;
+執着 > shuuchaku\ ;
+烏瓜 > karasuuri\ ;
+撲殺 > bokusatsu\ ;
+摘発 > tekihatsu\ ;
+夏向 > natsumuki\ ;
+捨鉢 > sutebachi\ ;
+地質 > chishitsu\ ;
+堅物 > katabutsu\ ;
+国鉄 > kokutetsu\ ;
+角樽 > tsunodaru\ ;
+撃滅 > gekimetsu\ ;
+糧秣 > ryoumatsu\ ;
+隣室 > rinshitsu\ ;
+診察 > shinsatsu\ ;
+外付 > sotodzuke\ ;
+夏作 > natsusaku\ ;
+照尺 > shoushaku\ ;
+雪兎 > yukiusagi\ ;
+終決 > shuuketsu\ ;
+襲爵 > shuushaku\ ;
+覆滅 > fukumetsu\ ;
+墨壷 > sumitsubo\ ;
+誅伐 > chuubatsu\ ;
+放出 > houshutsu\ ;
+終極 > shuukyoku\ ;
+裸線 > hadakasen\ ;
+覆没 > fukubotsu\ ;
+煩型 > urusagata\ ;
+詔勅 > shouchoku\ ;
+支出 > shishutsu\ ;
+綢密 > chuumitsu\ ;
+組曲 > kumikyoku\ ;
+終末 > shuumatsu\ ;
+終曲 > shuukyoku\ ;
+継室 > keishitsu\ ;
+国表 > kuniomote\ ;
+終日 > shuujitsu\ ;
+締切 > shimekiri\ ;
+土色 > tsuchiiro\ ;
+接続 > setsuzoku\ ;
+米粒 > kometsubu\ ;
+糟漬 > kasudzuke\ ;
+粛白 > shukuhaku\ ;
+街角 > machikado\ ;
+撫子 > nadeshiko\ ;
+糠油 > nukaabura\ ;
+長物 > choubutsu\ ;
+陰口 > kageguchi\ ;
+親心 > oyagokoro\ ;
+衆説 > shuusetsu\ ;
+絶妙 > zetsumyou\ ;
+糸桜 > itozakura\ ;
+陳列 > chinretsu\ ;
+糸柳 > itoyanagi\ ;
+執拗 > shitsuyou\ ;
+焼却 > shoukyaku\ ;
+激職 > gekishoku\ ;
+親密 > shinmitsu\ ;
+終局 > shuukyoku\ ;
+筒音 > tsutsuoto\ ;
+紋所 > mondokoro\ ;
+袋網 > fukuroami\ ;
+言伝 > kotodzute\ ;
+火柱 > hibashira\ ;
+閥族 > batsuzoku\ ;
+褶曲 > shuukyoku\ ;
+角叉 > tsunomata\ ;
+抜錨 > batsubyou\ ;
+国立 > kokuritsu\ ;
+激突 > gekitotsu\ ;
+門松 > kadomatsu\ ;
+抜道 > nukemichi\ ;
+長月 > nagatsuki\ ;
+血肉 > ketsuniku\ ;
+紛失 > funshitsu\ ;
+振粛 > shinshuku\ ;
+土牢 > tsuchirou\ ;
+激発 > gekihatsu\ ;
+米油 > komeabura\ ;
+筋道 > sujimichi\ ;
+篳篥 > hichiriki\ ;
+衝突 > shoutotsu\ ;
+親切 > shinsetsu\ ;
+米櫃 > komebitsu\ ;
+竜骨 > ryuukotsu\ ;
+結了 > ketsuryou\ ;
+托鉢 > takuhatsu\ ;
+閏年 > uruudoshi\ ;
+等質 > toushitsu\ ;
+嘱託 > shokutaku\ ;
+節約 > setsuyaku\ ;
+激烈 > gekiretsu\ ;
+蟇蛙 > hikigaeru\ ;
+蜀黍 > morokoshi\ ;
+血眼 > chimanako\ ;
+箸箱 > hashibako\ ;
+複式 > fukushiki\ ;
+西側 > nishigawa\ ;
+損失 > sonshitsu\ ;
+闖入 > chin''nyuu\ ;
+蜂鳥 > hachidori\ ;
+為体 > teitaraku\ ;
+挑発 > chouhatsu\ ;
+溶質 > youshitsu\ ;
+灰土 > haitsuchi\ ;
+裏扉 > uratobira\ ;
+搬出 > hanshutsu\ ;
+粛学 > shukugaku\ ;
+閾値 > shikiichi\ ;
+裏情 > uranasake\ ;
+蟇股 > kaerumata\ ;
+血煙 > chikemuri\ ;
+表決 > hyouketsu\ ;
+滑落 > katsuraku\ ;
+持物 > mochimono\ ;
+門口 > kadoguchi\ ;
+潜熱 > sen''netsu\ ;
+挟殺 > kyousatsu\ ;
+表札 > hyousatsu\ ;
+表書 > omotegaki\ ;
+糊代 > norishiro\ ;
+穴隙 > ketsugeki\ ;
+錯雑 > sakuzatsu\ ;
+圧密 > atsumitsu\ ;
+在室 > zaishitsu\ ;
+漬物 > tsukemono\ ;
+蜜豆 > mitsumame\ ;
+漂着 > hyouchaku\ ;
+提出 > teishutsu\ ;
+深靴 > fukagutsu\ ;
+節欲 > setsuyoku\ ;
+袋帯 > fukuroobi\ ;
+嘱目 > shokumoku\ ;
+穀食 > kokushoku\ ;
+積雪 > sekisetsu\ ;
+節榑 > fushikure\ ;
+血族 > ketsuzoku\ ;
+策略 > sakuryaku\ ;
+鍼術 > shinjutsu\ ;
+挑撥 > chouhatsu\ ;
+拓殖 > takushoku\ ;
+蛙跳 > kaerutobi\ ;
+排出 > haishutsu\ ;
+圧力 > atsuryoku\ ;
+竹箒 > takebouki\ ;
+鼻面 > hanadzura\ ;
+竿秤 > saobakari\ ;
+袖口 > sodeguchi\ ;
+捻出 > nenshutsu\ ;
+鋳鉄 > chuutetsu\ ;
+章節 > shousetsu\ ;
+啓蟄 > keichitsu\ ;
+涙雨 > namidaame\ ;
+篤実 > tokujitsu\ ;
+鎖糸 > kusariito\ ;
+禿鷲 > hagewashi\ ;
+血尿 > ketsunyou\ ;
+懲罰 > choubatsu\ ;
+国力 > kokuryoku\ ;
+国別 > kunibetsu\ ;
+抽斗 > hikidashi\ ;
+浸食 > shinshoku\ ;
+築山 > tsukiyama\ ;
+袖付 > sodetsuke\ ;
+扼殺 > yakusatsu\ ;
+血塗 > chimidoro\ ;
+麹黴 > koujikabi\ ;
+涙金 > namidakin\ ;
+血圧 > ketsuatsu\ ;
+潮境 > shiozakai\ ;
+稟質 > hinshitsu\ ;
+湿田 > shitsuden\ ;
+黒髪 > kokuhatsu\ ;
+打消 > uchikeshi\ ;
+表側 > omotegawa\ ;
+蛙股 > kaerumata\ ;
+鐘撞 > kanetsuki\ ;
+行列 > gyouretsu\ ;
+笑殺 > shousatsu\ ;
+才槌 > saidzuchi\ ;
+湿潤 > shitsujun\ ;
+街並 > machinami\ ;
+鼻衝 > hanatsuki\ ;
+渋紙 > shibugami\ ;
+品質 > hinshitsu\ ;
+鼠講 > nezumikou\ ;
+鏡板 > kagamiita\ ;
+空穴 > karaketsu\ ;
+麦飯 > mugimeshi\ ;
+鋼色 > haganeiro\ ;
+払暁 > futsugyou\ ;
+虫螻 > mushikera\ ;
+童歌 > warabeuta\ ;
+打擲 > chouchaku\ ;
+活量 > katsuryou\ ;
+拠出 > kyoshutsu\ ;
+噴出 > funshutsu\ ;
+渋皮 > shibukawa\ ;
+藁靴 > waragutsu\ ;
+算出 > sanshutsu\ ;
+鎖樋 > kusaritoi\ ;
+活軸 > katsujiku\ ;
+湿板 > shitsuban\ ;
+浮袋 > ukibukuro\ ;
+浸蝕 > shinshoku\ ;
+商略 > shouryaku\ ;
+活躍 > katsuyaku\ ;
+鉱質 > koushitsu\ ;
+虫腹 > mushibara\ ;
+鼠色 > nezumiiro\ ;
+泥靴 > dorogutsu\ ;
+涜職 > tokushoku\ ;
+筆墨 > hitsuboku\ ;
+針鰻 > hariunagi\ ;
+鼻綱 > hanadzuna\ ;
+筆塚 > fudedzuka\ ;
+滝壺 > takitsubo\ ;
+滝壷 > takitsubo\ ;
+告達 > kokutatsu\ ;
+漏出 > roushutsu\ ;
+筆圧 > hitsuatsu\ ;
+窮極 > kyuukyoku\ ;
+金鯱 > kinshachi\ ;
+禀質 > hinshitsu\ ;
+口髭 > kuchihige\ ;
+虫籠 > mushikago\ ;
+流血 > ryuuketsu\ ;
+憑物 > tsukimono\ ;
+積率 > sekiritsu\ ;
+鼻突 > hanatsuki\ ;
+釜飯 > kamameshi\ ;
+深爪 > fukadzume\ ;
+竹帛 > chikuhaku\ ;
+秋色 > shuushoku\ ;
+泡銭 > abukuzeni\ ;
+注釈 > chuushaku\ ;
+愁色 > shuushoku\ ;
+悪質 > akushitsu\ ;
+淋疾 > rinshitsu\ ;
+麗質 > reishitsu\ ;
+麻袋 > asabukuro\ ;
+滝口 > takiguchi\ ;
+鼠算 > nezumizan\ ;
+湿式 > shisshiki\ ;
+穀物 > kokumotsu\ ;
+泥道 > doromichi\ ;
+古靴 > furugutsu\ ;
+沈鬱 > chin''utsu\ ;
+君達 > kimitachi\ ;
+鷲鼻 > washibana\ ;
+折伏 > shakubuku\ ;
+鼠穴 > nezumiana\ ;
+滑台 > suberidai\ ;
+竜巻 > tatsumaki\ ;
+釣鐘 > tsurigane\ ;
+黒色 > kokushoku\ ;
+究極 > kyuukyoku\ ;
+満室 > manshitsu\ ;
+鷦鷯 > misosazai\ ;
+端女 > hashitame\ ;
+釣針 > tsuribari\ ;
+金鎖 > kingusari\ ;
+藤蔓 > fujidzuru\ ;
+鉛色 > namariiro\ ;
+渋柿 > shibugaki\ ;
+吸血 > kyuuketsu\ ;
+古鉄 > furutetsu\ ;
+海神 > watatsumi\ ;
+鈴虫 > suzumushi\ ;
+同質 > doushitsu\ ;
+口金 > kuchigane\ ;
+突撃 > totsugeki\ ;
+鷓鴣 > yamauzura\ ;
+黒縁 > kurobuchi\ ;
+鎮圧 > chin''atsu\ ;
+喪失 > soushitsu\ ;
+種油 > taneabura\ ;
+唐櫃 > karabitsu\ ;
+口軽 > kuchigaru\ ;
+窮屈 > kyuukutsu\ ;
+黒竹 > kurochiku\ ;
+友達 > tomodachi\ ;
+品物 > shinamono\ ;
+竹光 > takemitsu\ ;
+藁苞 > waradzuto\ ;
+湿原 > shitsugen\ ;
+神色 > shinshoku\ ;
+唐松 > karamatsu\ ;
+神職 > shinshoku\ ;
+口許 > kuchimoto\ ;
+蚊柱 > kabashira\ ;
+竹串 > takegushi\ ;
+消滅 > shoumetsu\ ;
+針術 > shinjutsu\ ;
+黒白 > kokubyaku\ ;
+神罰 > shinbatsu\ ;
+油蝉 > aburazemi\ ;
+性質 > seishitsu\ ;
+取説 > torisetsu\ ;
+氷雪 > hyousetsu\ ;
+蛸壼 > takotsubo\ ;
+蛸壷 > takotsubo\ ;
+湧出 > youshutsu\ ;
+空室 > kuushitsu\ ;
+錘形 > tsumugata\ ;
+憩室 > keishitsu\ ;
+急設 > kyuusetsu\ ;
+金蔓 > kanedzuru\ ;
+消極 > shoukyoku\ ;
+釣船 > tsuribune\ ;
+氷釈 > hyoushaku\ ;
+鉢物 > hachimono\ ;
+浚渫 > shunsetsu\ ;
+淑徳 > shukutoku\ ;
+祝福 > shukufuku\ ;
+没落 > botsuraku\ ;
+窓口 > madoguchi\ ;
+告発 > kokuhatsu\ ;
+品柄 > shinagara\ ;
+悪疾 > akushitsu\ ;
+吸着 > kyuuchaku\ ;
+酌量 > shakuryou\ ;
+口脇 > kuchiwaki\ ;
+確説 > kakusetsu\ ;
+薄緑 > usumidori\ ;
+品数 > shinakazu\ ;
+鹿皮 > shikagawa\ ;
+蛙又 > kaerumata\ ;
+黙殺 > mokusatsu\ ;
+恐縮 > kyoushuku\ ;
+蚕室 > sanshitsu\ ;
+突出 > tosshutsu\ ;
+都風 > miyakofuu\ ;
+油糟 > aburakasu\ ;
+水質 > suishitsu\ ;
+突入 > totsunyuu\ ;
+油粕 > aburakasu\ ;
+稠密 > choumitsu\ ;
+黒樫 > kurogashi\ ;
+活歴 > katsureki\ ;
+口紅 > kuchibeni\ ;
+秋日 > shuujitsu\ ;
+右端 > migihashi\ ;
+薬瓶 > kusuribin\ ;
+哲学 > tetsugaku\ ;
+鉄渋 > kanashibu\ ;
+収縮 > shuushuku\ ;
+忌詞 > imikotoba\ ;
+台秤 > daibakari\ ;
+海扇 > hotategai\ ;
+必読 > hitsudoku\ ;
+博識 > hakushiki\ ;
+黒松 > kuromatsu\ ;
+〆切 > shimekiri\ ;
+卓識 > takushiki\ ;
+薬物 > yakubutsu\ ;
+深切 > shinsetsu\ ;
+硬質 > koushitsu\ ;
+氷蝕 > hyoushoku\ ;
+卓説 > takusetsu\ ;
+黒星 > kuroboshi\ ;
+秀抜 > shuubatsu\ ;
+心血 > shinketsu\ ;
+水虫 > mizumushi\ ;
+蔓草 > tsurukusa\ ;
+強飯 > kowameshi\ ;
+票決 > hyouketsu\ ;
+葛餅 > kuzumochi\ ;
+鶉豆 > uzuramame\ ;
+金盥 > kanadarai\ ;
+矯飾 > kyoushoku\ ;
+口癖 > kuchiguse\ ;
+石頭 > ishiatama\ ;
+鳥黐 > torimochi\ ;
+涙声 > namidagoe\ ;
+落髪 > rakuhatsu\ ;
+勅額 > chokugaku\ ;
+卵色 > tamagoiro\ ;
+稲光 > inabikari\ ;
+収着 > shuuchaku\ ;
+消失 > soushitsu\ ;
+殿達 > tonotachi\ ;
+求職 > kyuushoku\ ;
+落飾 > rakushoku\ ;
+沈着 > chinchaku\ ;
+薬殺 > yakusatsu\ ;
+祥月 > shoutsuki\ ;
+私室 > shishitsu\ ;
+形質 > keishitsu\ ;
+収率 > shuuritsu\ ;
+神曲 > shinkyoku\ ;
+確立 > kakuritsu\ ;
+占者 > uranaisha\ ;
+品品 > shinajina\ ;
+氷結 > hyouketsu\ ;
+忠節 > chuusetsu\ ;
+鉢巻 > hachimaki\ ;
+咄家 > hanashika\ ;
+銷却 > shoukyaku\ ;
+消却 > shoukyaku\ ;
+矍鑠 > kakushaku\ ;
+復職 > fukushoku\ ;
+毒虫 > dokumushi\ ;
+卓絶 > takuzetsu\ ;
+取消 > torikeshi\ ;
+周密 > shuumitsu\ ;
+副食 > fukushoku\ ;
+蒟蒻 > kon''nyaku\ ;
+各月 > kakutsuki\ ;
+段袋 > danbukuro\ ;
+浸入 > shin''nyuu\ ;
+収没 > shuubotsu\ ;
+鉄屑 > tetsukuzu\ ;
+卓筆 > takuhitsu\ ;
+確率 > kakuritsu\ ;
+取次 > toritsugi\ ;
+卓立 > takuritsu\ ;
+神式 > shinshiki\ ;
+正道 > masamichi\ ;
+沈没 > chinbotsu\ ;
+毒舌 > dokuzetsu\ ;
+磨汁 > togishiru\ ;
+役職 > yakushoku\ ;
+洋室 > youshitsu\ ;
+碧玉 > hekigyoku\ ;
+歯質 > shishitsu\ ;
+酷熱 > kokunetsu\ ;
+蔵浚 > kurazarae\ ;
+恋敵 > koigataki\ ;
+口早 > kuchibaya\ ;
+汁物 > shirumono\ ;
+酷烈 > kokuretsu\ ;
+蓄積 > chikuseki\ ;
+弱虫 > yowamushi\ ;
+徴発 > chouhatsu\ ;
+忠烈 > chuuretsu\ ;
+惜別 > sekibetsu\ ;
+活劇 > katsugeki\ ;
+台所 > daidokoro\ ;
+後程 > nochihodo\ ;
+反日 > han''nichi\ ;
+弓術 > kyuujutsu\ ;
+遠近 > ochikochi\ ;
+力説 > rikisetsu\ ;
+鴬色 > uguisuiro\ ;
+博物 > hakubutsu\ ;
+単物 > hitoemono\ ;
+毒筆 > dokuhitsu\ ;
+呑口 > nomiguchi\ ;
+命乞 > inochigoi\ ;
+同室 > doushitsu\ ;
+恋心 > koigokoro\ ;
+悪口 > waruguchi\ ;
+初雪 > hatsuyuki\ ;
+弱腰 > yowagoshi\ ;
+逆鞘 > gyakuzaya\ ;
+年頃 > toshigoro\ ;
+着陸 > chakuriku\ ;
+告別 > kokubetsu\ ;
+水油 > mizuabura\ ;
+氷水 > koorimizu\ ;
+呈出 > teishutsu\ ;
+前輿 > sakigoshi\ ;
+号室 > goushitsu\ ;
+河岸 > kawagishi\ ;
+強縮 > kyoushuku\ ;
+出願 > shutsugan\ ;
+出題 > shutsudai\ ;
+恐察 > kyousatsu\ ;
+鱗雲 > urokogumo\ ;
+鴃舌 > gekizetsu\ ;
+神勅 > shinchoku\ ;
+祝勝 > shukushou\ ;
+通釈 > tsuushaku\ ;
+砂粒 > sunatsubu\ ;
+速達 > sokutatsu\ ;
+出陣 > shutsujin\ ;
+通達 > tsuutatsu\ ;
+初釜 > hatsugama\ ;
+出門 > shutsumon\ ;
+釣堀 > tsuribori\ ;
+近頃 > chikagoro\ ;
+鳶職 > tobishoku\ ;
+石筆 > sekihitsu\ ;
+石竹 > sekichiku\ ;
+引綱 > hikidzuna\ ;
+神仏 > shinbutsu\ ;
+短筒 > tandzutsu\ ;
+毒物 > dokubutsu\ ;
+即日 > sokujitsu\ ;
+逃道 > nigemichi\ ;
+神主 > kan''nushi\ ;
+合印 > aijirushi\ ;
+卒業 > sotsugyou\ ;
+勝着 > shouchaku\ ;
+吐出 > toshutsu\ ;
+金型 > kanagata\ ;
+石神 > shakujin\ ;
+名刹 > meisatsu\ ;
+弾着 > danchaku\ ;
+落籍 > rakuseki\ ;
+矢筒 > yadzutsu\ ;
+心服 > shinpuku\ ;
+逆転 > gyakuten\ ;
+合力 > gouryoku\ ;
+薙刀 > naginata\ ;
+同列 > douretsu\ ;
+直面 > chokumen\ ;
+復業 > fukugyou\ ;
+薄口 > usukuchi\ ;
+草食 > soushoku\ ;
+常闇 > tokoyami\ ;
+合冊 > gousatsu\ ;
+剥落 > hakuraku\ ;
+茶髪 > chapatsu\ ;
+速読 > sokudoku\ ;
+厳密 > genmitsu\ ;
+出郷 > shukkyou\ ;
+厚底 > atsuzoko\ ;
+引窓 > hikimado\ ;
+分轄 > bunkatsu\ ;
+通読 > tsuudoku\ ;
+遜色 > sonshoku\ ;
+追跡 > tsuiseki\ ;
+勲爵 > kunshaku\ ;
+通訳 > tsuuyaku\ ;
+只只 > tadatada\ ;
+友垣 > tomogaki\ ;
+半月 > hantsuki\ ;
+真迹 > shinseki\ ;
+吉例 > kitsurei\ ;
+近鉄 > kintetsu\ ;
+茶飯 > chameshi\ ;
+別言 > betsugen\ ;
+殖産 > shokusan\ ;
+金口 > kinguchi\ ;
+造血 > zouketsu\ ;
+鳥籠 > torikago\ ;
+勃発 > boppatsu\ ;
+建築 > kenchiku\ ;
+出身 > shusshin\ ;
+十月 > juugatsu\ ;
+口占 > kuchiura\ ;
+正立 > seiritsu\ ;
+鯨骨 > geikotsu\ ;
+求心 > kyuushin\ ;
+相鎚 > aidzuchi\ ;
+眼識 > ganshiki\ ;
+心拍 > shinpaku\ ;
+彼此 > karekore\ ;
+歯磨 > hamigaki\ ;
+落石 > rakuseki\ ;
+帝闕 > teiketsu\ ;
+内鰐 > uchiwani\ ;
+真蹟 > shinseki\ ;
+古創 > furukizu\ ;
+鴨猟 > kamoryou\ ;
+没却 > bokkyaku\ ;
+金力 > kinryoku\ ;
+右側 > migigawa\ ;
+出超 > shutchou\ ;
+口前 > kuchimae\ ;
+刻薄 > kokuhaku\ ;
+真跡 > shinseki\ ;
+水性 > mizushou\ ;
+広袖 > hirosode\ ;
+重力 > juuryoku\ ;
+相鉄 > soutetsu\ ;
+荷車 > niguruma\ ;
+動物 > doubutsu\ ;
+知略 > chiryaku\ ;
+目録 > mokuroku\ ;
+切論 > setsuron\ ;
+凶賊 > kyouzoku\ ;
+着装 > chakusou\ ;
+遅脈 > chimyaku\ ;
+水引 > mizuhiki\ ;
+橈骨 > toukotsu\ ;
+殲滅 > senmetsu\ ;
+古傷 > furukizu\ ;
+冠雪 > kansetsu\ ;
+北極 > hokkyoku\ ;
+幻術 > genjutsu\ ;
+氷床 > hyoushou\ ;
+劃策 > kakusaku\ ;
+即席 > sokuseki\ ;
+又又 > matamata\ ;
+水底 > minasoko\ ;
+直配 > chokuhai\ ;
+切言 > setsugen\ ;
+急告 > kyuukoku\ ;
+釈典 > shakuten\ ;
+毫末 > goumatsu\ ;
+半折 > hansetsu\ ;
+平袖 > hirasode\ ;
+鯛飯 > taimeshi\ ;
+切要 > setsuyou\ ;
+巻雲 > makigumo\ ;
+残物 > zanbutsu\ ;
+態々 > wazawaza\ ;
+劫略 > gouryaku\ ;
+反別 > tanbetsu\ ;
+正直 > shoujiki\ ;
+効率 > kouritsu\ ;
+只事 > tadagoto\ ;
+碩学 > sekigaku\ ;
+水嵩 > mizukasa\ ;
+直送 > chokusou\ ;
+分裂 > bunretsu\ ;
+役柄 > yakugara\ ;
+凌辱 > ryoujoku\ ;
+律文 > ritsubun\ ;
+程々 > hodohodo\ ;
+収入 > shuunyuu\ ;
+若鶏 > wakadori\ ;
+沈勇 > chin''yuu\ ;
+双六 > sugoroku\ ;
+廃絶 > haizetsu\ ;
+道糸 > michiito\ ;
+創立 > souritsu\ ;
+協心 > kyoushin\ ;
+北朝 > hokuchou\ ;
+勇烈 > yuuretsu\ ;
+性別 > seibetsu\ ;
+勃然 > botsuzen\ ;
+単式 > tanshiki\ ;
+参列 > sanretsu\ ;
+気心 > kigokoro\ ;
+川風 > kawakaze\ ;
+刀術 > toujutsu\ ;
+匡救 > kyoukyuu\ ;
+死物 > shibutsu\ ;
+刳舟 > kuribune\ ;
+彼是 > karekore\ ;
+分蝕 > bunshoku\ ;
+白鳥 > hakuchou\ ;
+兵食 > heishoku\ ;
+殿様 > tonosama\ ;
+参入 > san''nyuu\ ;
+受付 > uketsuke\ ;
+単帯 > hitoeobi\ ;
+矯激 > kyougeki\ ;
+怪傑 > kaiketsu\ ;
+刺股 > sasumata\ ;
+汲取 > kumitori\ ;
+砂浜 > sunahama\ ;
+達筆 > tappitsu\ ;
+割礼 > katsurei\ ;
+毎月 > maitsuki\ ;
+升形 > masugata\ ;
+川霧 > kawagiri\ ;
+劇的 > gekiteki\ ;
+分蘖 > bunketsu\ ;
+叔世 > shukusei\ ;
+兀鷹 > hagetaka\ ;
+勘決 > kanketsu\ ;
+即妙 > sokumyou\ ;
+剣突 > kentsuku\ ;
+必定 > hitsujou\ ;
+急信 > kyuushin\ ;
+前約 > zen''yaku\ ;
+劇痛 > gekitsuu\ ;
+午年 > umadoshi\ ;
+平落 > hiraochi\ ;
+硬式 > koushiki\ ;
+常識 > joushiki\ ;
+心学 > shingaku\ ;
+毎日 > mainichi\ ;
+白骨 > hakkotsu\ ;
+升席 > masuseki\ ;
+横風 > yokokaze\ ;
+急伸 > kyuushin\ ;
+鰐足 > waniashi\ ;
+遅筆 > chihitsu\ ;
+母方 > hahakata\ ;
+氷壁 > hyouheki\ ;
+瞞着 > manchaku\ ;
+辛辛 > karagara\ ;
+相識 > soushiki\ ;
+菜箸 > saibashi\ ;
+週給 > shuukyuu\ ;
+八面 > hachimen\ ;
+博学 > hakugaku\ ;
+殖民 > shokumin\ ;
+進級 > shinkyuu\ ;
+前節 > zensetsu\ ;
+得心 > tokushin\ ;
+着船 > chakusen\ ;
+引潮 > hikishio\ ;
+常設 > jousetsu\ ;
+得得 > tokutoku\ ;
+落潮 > rakuchou\ ;
+弱毒 > jakudoku\ ;
+厥冷 > ketsurei\ ;
+蔵元 > kuramoto\ ;
+建物 > tatemono\ ;
+死滅 > shimetsu\ ;
+勇決 > yuuketsu\ ;
+先高 > sakidaka\ ;
+発駅 > hatsueki\ ;
+退色 > taishoku\ ;
+気室 > kishitsu\ ;
+円錐 > marugiri\ ;
+勝楽 > shouraku\ ;
+兎馬 > usagiuma\ ;
+欠礼 > ketsurei\ ;
+当月 > tougetsu\ ;
+千島 > chishima\ ;
+横雲 > yokogumo\ ;
+徐徐 > sorosoro\ ;
+元高 > motodaka\ ;
+師説 > shisetsu\ ;
+包摂 > housetsu\ ;
+殿方 > tonogata\ ;
+民宿 > minshuku\ ;
+連結 > renketsu\ ;
+直言 > chokugen\ ;
+彎月 > wangetsu\ ;
+巡錫 > junshaku\ ;
+彎曲 > wankyoku\ ;
+直角 > chokkaku\ ;
+廉直 > renchoku\ ;
+直覚 > chokkaku\ ;
+直視 > chokushi\ ;
+死活 > shikatsu\ ;
+心境 > shinkyou\ ;
+平脈 > heimyaku\ ;
+当日 > toujitsu\ ;
+復学 > fukugaku\ ;
+入閣 > nyuukaku\ ;
+横長 > yokonaga\ ;
+死没 > shibotsu\ ;
+包括 > houkatsu\ ;
+退職 > taishoku\ ;
+忠告 > chuukoku\ ;
+巻軸 > makijiku\ ;
+百雷 > hyakurai\ ;
+百難 > hyakunan\ ;
+出芽 > shutsuga\ ;
+菅笠 > sugegasa\ ;
+剛直 > gouchoku\ ;
+加湿 > kashitsu\ ;
+発電 > hatsuden\ ;
+分脈 > bunmyaku\ ;
+監訳 > kan''yaku\ ;
+式法 > shikihou\ ;
+遅着 > chichaku\ ;
+党閥 > toubatsu\ ;
+別納 > betsunou\ ;
+刑罰 > keibatsu\ ;
+内達 > naitatsu\ ;
+死歿 > shibotsu\ ;
+心嚢 > shin''nou\ ;
+役得 > yakutoku\ ;
+連立 > renritsu\ ;
+郷愁 > kyoushuu\ ;
+彷彿 > houfutsu\ ;
+庭石 > niwaishi\ ;
+切者 > kiremono\ ;
+遅発 > chihatsu\ ;
+元鞘 > motosaya\ ;
+忘却 > boukyaku\ ;
+歴歴 > rekireki\ ;
+確信 > kakushin\ ;
+石柱 > sekichuu\ ;
+欠番 > ketsuban\ ;
+彰徳 > shoutoku\ ;
+鱈腹 > tarafuku\ ;
+割物 > waremono\ ;
+幕臣 > bakushin\ ;
+入鋏 > nyuukyou\ ;
+軽鴨 > karugamo\ ;
+弯曲 > wankyoku\ ;
+念仏 > nenbutsu\ ;
+菊石 > kikuishi\ ;
+冷血 > reiketsu\ ;
+平絹 > hiraginu\ ;
+酒呑 > sakenomi\ ;
+葉桜 > hazakura\ ;
+着米 > chakubei\ ;
+強敵 > kyouteki\ ;
+求償 > kyuushou\ ;
+通称 > tsuushou\ ;
+忠僕 > chuuboku\ ;
+水力 > suiryoku\ ;
+残月 > zangetsu\ ;
+勅書 > chokusho\ ;
+共通 > kyoutsuu\ ;
+前略 > zenryaku\ ;
+殊更 > kotosara\ ;
+弦月 > gengetsu\ ;
+目薬 > megusuri\ ;
+協商 > kyoushou\ ;
+百錬 > hyakuren\ ;
+公達 > koutatsu\ ;
+弱敵 > jakuteki\ ;
+逆算 > gyakusan\ ;
+黙々 > mokumoku\ ;
+八達 > hattatsu\ ;
+八道 > hachidou\ ;
+北山 > kitayama\ ;
+剿滅 > soumetsu\ ;
+廃物 > haibutsu\ ;
+公述 > koujutsu\ ;
+忠信 > chuushin\ ;
+皮質 > hishitsu\ ;
+石文 > ishibumi\ ;
+形式 > keishiki\ ;
+凋落 > chouraku\ ;
+勅旨 > chokushi\ ;
+卸値 > oroshine\ ;
+短日 > tanjitsu\ ;
+水先 > mizusaki\ ;
+巷説 > kousetsu\ ;
+共軛 > kyouyaku\ ;
+黒々 > kuroguro\ ;
+剥焼 > sukiyaki\ ;
+逢着 > houchaku\ ;
+廃熱 > hainetsu\ ;
+役宅 > yakutaku\ ;
+到着 > touchaku\ ;
+茹蛸 > yudedako\ ;
+強振 > kyoushin\ ;
+再説 > saisetsu\ ;
+連発 > renpatsu\ ;
+復唱 > fukushou\ ;
+知日 > chinichi\ ;
+徴収 > choushuu\ ;
+勅撰 > chokusen\ ;
+分節 > bunsetsu\ ;
+配列 > hairetsu\ ;
+処罰 > shobatsu\ ;
+再設 > saisetsu\ ;
+歴朝 > rekichou\ ;
+劇毒 > gekidoku\ ;
+追究 > tsuikyuu\ ;
+歳末 > saimatsu\ ;
+横軸 > yokojiku\ ;
+分筆 > bunpitsu\ ;
+輯録 > shuuroku\ ;
+半口 > hankuchi\ ;
+十哲 > juttetsu\ ;
+百選 > hyakusen\ ;
+廉潔 > renketsu\ ;
+先金 > sakigane\ ;
+軽食 > keishoku\ ;
+分立 > bunritsu\ ;
+内訳 > uchiwake\ ;
+追福 > tsuifuku\ ;
+発達 > hattatsu\ ;
+欲深 > yokubuka\ ;
+歪曲 > waikyoku\ ;
+入超 > nyuuchou\ ;
+割注 > warichuu\ ;
+民力 > minryoku\ ;
+北壁 > hokuheki\ ;
+廃滅 > haimetsu\ ;
+水上 > minakami\ ;
+初盆 > hatsubon\ ;
+正札 > shoufuda\ ;
+葬式 > soushiki\ ;
+入賞 > nyuushou\ ;
+先達 > sendatsu\ ;
+止木 > tomarigi\ ;
+着眼 > chakugan\ ;
+半切 > hansetsu\ ;
+初発 > shohatsu\ ;
+軟骨 > nankotsu\ ;
+当局 > toukyoku\ ;
+殺害 > satsugai\ ;
+落掌 > rakushou\ ;
+共訳 > kyouyaku\ ;
+強弱 > kyoujaku\ ;
+心中 > shinchuu\ ;
+平皿 > hirazara\ ;
+初産 > hatsuzan\ ;
+常緑 > jouryoku\ ;
+南仏 > nanfutsu\ ;
+劫掠 > gouryaku\ ;
+十八 > juuhachi\ ;
+公設 > kousetsu\ ;
+適業 > tekigyou\ ;
+鬱鬱 > utsuutsu\ ;
+追白 > tsuihaku\ ;
+従卒 > juusotsu\ ;
+御冠 > okanmuri\ ;
+律呂 > ritsuryo\ ;
+辣腕 > ratsuwan\ ;
+着用 > chakuyou\ ;
+逆用 > gyakuyou\ ;
+逆産 > gyakuzan\ ;
+六親 > rokushin\ ;
+後口 > atokuchi\ ;
+全訳 > zen''yaku\ ;
+単一 > tan''itsu\ ;
+帯緑 > tairyoku\ ;
+石弓 > ishiyumi\ ;
+選曲 > senkyoku\ ;
+通牒 > tsuuchou\ ;
+直線 > chokusen\ ;
+県立 > kenritsu\ ;
+別状 > betsujou\ ;
+凍結 > touketsu\ ;
+川蝉 > kawasemi\ ;
+郷国 > kyoukoku\ ;
+副業 > fukugyou\ ;
+追申 > tsuishin\ ;
+砂山 > sunayama\ ;
+律動 > ritsudou\ ;
+正接 > seisetsu\ ;
+迫真 > hakushin\ ;
+省筆 > seihitsu\ ;
+弟御 > otoutogo\ ;
+兇賊 > kyouzoku\ ;
+凄絶 > seizetsu\ ;
+後列 > kouretsu\ ;
+強将 > kyoushou\ ;
+年率 > nenritsu\ ;
+冗舌 > jouzetsu\ ;
+標註 > hyouchuu\ ;
+真白 > masshiro\ ;
+典薬 > ten''yaku\ ;
+弱少 > jakushou\ ;
+弱小 > jakushou\ ;
+直答 > chokutou\ ;
+石山 > ishiyama\ ;
+茜色 > akaneiro\ ;
+発言 > hatsugen\ ;
+弓形 > yuminari\ ;
+副木 > fukuboku\ ;
+真症 > shinshou\ ;
+劣情 > retsujou\ ;
+冥罰 > meibatsu\ ;
+神々 > kamigami\ ;
+劣悪 > retsuaku\ ;
+鮮血 > senketsu\ ;
+役割 > yakuwari\ ;
+石室 > ishimuro\ ;
+若衆 > wakashuu\ ;
+母君 > hahagimi\ ;
+平熱 > heinetsu\ ;
+直税 > chokuzei\ ;
+近着 > kinchaku\ ;
+道板 > michiita\ ;
+勅宣 > chokusen\ ;
+矩尺 > kanejaku\ ;
+切物 > kiremono\ ;
+選抜 > senbatsu\ ;
+白蟻 > shiroari\ ;
+強奪 > goudatsu\ ;
+刺殺 > shisatsu\ ;
+凡百 > bonpyaku\ ;
+律令 > ritsurei\ ;
+内腿 > uchimomo\ ;
+軍閥 > gunbatsu\ ;
+幣物 > heimotsu\ ;
+逸楽 > itsuraku\ ;
+速決 > sokketsu\ ;
+北側 > hokusoku\ ;
+彫刻 > choukoku\ ;
+逆潮 > sakashio\ ;
+砲列 > houretsu\ ;
+正式 > seishiki\ ;
+冠絶 > kanzetsu\ ;
+殿原 > tonobara\ ;
+凸状 > totsujou\ ;
+内股 > uchimomo\ ;
+達文 > tatsubun\ ;
+征伐 > seibatsu\ ;
+幻滅 > genmetsu\ ;
+弾圧 > dan''atsu\ ;
+軽軽 > karugaru\ ;
+充血 > juuketsu\ ;
+内職 > naishoku\ ;
+軟鉄 > nantetsu\ ;
+干潮 > hikishio\ ;
+石墨 > sekiboku\ ;
+判決 > hanketsu\ ;
+短夜 > mijikayo\ ;
+強圧 > kyouatsu\ ;
+平滑 > heikatsu\ ;
+強国 > kyoukoku\ ;
+鬢長 > bin''naga\ ;
+円罐 > marugama\ ;
+直直 > jikijiki\ ;
+巻紙 > makigami\ ;
+兼職 > kenshoku\ ;
+欠文 > ketsubun\ ;
+冬空 > fuyuzora\ ;
+遅日 > chijitsu\ ;
+別殿 > betsuden\ ;
+別段 > betsudan\ ;
+逆浪 > sakanami\ ;
+白蓮 > byakuren\ ;
+石垣 > ishigaki\ ;
+郷俗 > kyouzoku\ ;
+軸足 > jikuashi\ ;
+逆波 > sakanami\ ;
+目的 > mokuteki\ ;
+萩属 > hagizoku\ ;
+速業 > hayawaza\ ;
+段別 > tanbetsu\ ;
+市立 > shiritsu\ ;
+若草 > wakakusa\ ;
+着水 > chakusui\ ;
+転轍 > tentetsu\ ;
+鰐皮 > wanigawa\ ;
+止宿 > shishuku\ ;
+芸術 > geijutsu\ ;
+正宗 > masamune\ ;
+横腹 > yokobara\ ;
+冗筆 > jouhitsu\ ;
+公職 > koushoku\ ;
+各々 > sorezore\ ;
+刃渡 > hawatari\ ;
+鳩尾 > mizoochi\ ;
+髣髴 > houfutsu\ ;
+出演 > shutsuen\ ;
+適役 > tekiyaku\ ;
+身長 > shinchou\ ;
+力学 > rikigaku\ ;
+色道 > shikidou\ ;
+百芸 > hyakugei\ ;
+勢力 > seiryoku\ ;
+船霊 > funadama\ ;
+追求 > tsuikyuu\ ;
+砂原 > sunahara\ ;
+彎入 > wan''nyuu\ ;
+制札 > seisatsu\ ;
+楽長 > gakuchou\ ;
+直球 > chokkyuu\ ;
+分泌 > bunpitsu\ ;
+極限 > kyokugen\ ;
+鮫膚 > samehada\ ;
+発色 > hasshoku\ ;
+葬列 > souretsu\ ;
+勅問 > chokumon\ ;
+弾力 > danryoku\ ;
+式場 > shikijou\ ;
+高高 > takadaka\ ;
+割引 > waribiki\ ;
+欲心 > yokushin\ ;
+選局 > senkyoku\ ;
+剔抉 > tekketsu\ ;
+欲得 > yokutoku\ ;
+鮮肉 > sen''niku\ ;
+逆様 > sakasama\ ;
+進撃 > shingeki\ ;
+動力 > douryoku\ ;
+勅命 > chokumei\ ;
+凛烈 > rinretsu\ ;
+武士 > mononofu\ ;
+鮫肌 > samehada\ ;
+殺人 > satsujin\ ;
+僭越 > sen''etsu\ ;
+連日 > renjitsu\ ;
+正夢 > masayume\ ;
+刷数 > satsusuu\ ;
+軋轢 > atsureki\ ;
+別条 > betsujou\ ;
+儲蓄 > chochiku\ ;
+円窓 > marumado\ ;
+若者 > wakamono\ ;
+車轄 > shakatsu\ ;
+恐々 > kowagowa\ ;
+通暁 > tsuugyou\ ;
+前払 > maebarai\ ;
+百聞 > hyakubun\ ;
+発育 > hatsuiku\ ;
+只々 > tadatada\ ;
+逐条 > chikujou\ ;
+益益 > masumasu\ ;
+横縞 > yokojima\ ;
+達弁 > tatsuben\ ;
+巣窟 > soukutsu\ ;
+川筋 > kawasuji\ ;
+僣越 > sen''etsu\ ;
+巾着 > kinchaku\ ;
+免職 > menshoku\ ;
+勇力 > yuuryoku\ ;
+川端 > kawabata\ ;
+勁卒 > keisotsu\ ;
+内祝 > uchiiwai\ ;
+草物 > kusamono\ ;
+岳麓 > gakuroku\ ;
+分極 > bunkyoku\ ;
+槍術 > soujutsu\ ;
+連接 > rensetsu\ ;
+入籍 > nyuuseki\ ;
+副将 > fukushou\ ;
+副審 > fukushin\ ;
+知力 > chiryoku\ ;
+割安 > wariyasu\ ;
+処決 > shoketsu\ ;
+年末 > nenmatsu\ ;
+幾日 > ikunichi\ ;
+年月 > nengetsu\ ;
+切株 > kirikabu\ ;
+効力 > kouryoku\ ;
+骸骨 > gaikotsu\ ;
+公立 > kouritsu\ ;
+式台 > shikidai\ ;
+骨鱗 > kotsurin\ ;
+再発 > saihatsu\ ;
+死力 > shiryoku\ ;
+労力 > rouryoku\ ;
+横筋 > yokosuji\ ;
+巌窟 > gankutsu\ ;
+冬物 > fuyumono\ ;
+逆数 > gyakusuu\ ;
+兎網 > usagiami\ ;
+白糸 > shiraito\ ;
+死別 > shibetsu\ ;
+切札 > kirifuda\ ;
+切望 > setsubou\ ;
+平日 > heijitsu\ ;
+左目 > hidarime\ ;
+軽蔑 > keibetsu\ ;
+剣客 > kenkyaku\ ;
+内発 > naihatsu\ ;
+勅使 > chokushi\ ;
+芋虫 > imomushi\ ;
+又々 > matamata\ ;
+椋鳥 > mukudori\ ;
+平政 > hiramasa\ ;
+骨髄 > kotsuzui\ ;
+目測 > mokusoku\ ;
+元締 > motojime\ ;
+石亀 > ishigame\ ;
+先細 > sakiboso\ ;
+勅任 > chokunin\ ;
+矛先 > hokosaki\ ;
+度度 > tabitabi\ ;
+勅令 > chokurei\ ;
+先約 > sen''yaku\ ;
+萩原 > hagiwara\ ;
+入神 > nyuushin\ ;
+歯列 > shiretsu\ ;
+切断 > setsudan\ ;
+廃嫡 > haichaku\ ;
+歪力 > wairyoku\ ;
+式典 > shikiten\ ;
+追撃 > tsuigeki\ ;
+芋蔓 > imodzuru\ ;
+標章 > hyoushou\ ;
+巻物 > makimono\ ;
+相殺 > sousatsu\ ;
+冗物 > joubutsu\ ;
+前屈 > zenkutsu\ ;
+刳形 > kurikata\ ;
+正割 > seikatsu\ ;
+躍進 > yakushin\ ;
+弁別 > benbetsu\ ;
+着手 > chakushu\ ;
+正切 > seisetsu\ ;
+茶漬 > chadzuke\ ;
+怖々 > kowagowa\ ;
+留鳥 > ryuuchou\ ;
+過失 > kashitsu\ ;
+船足 > funaashi\ ;
+兵略 > heiryaku\ ;
+白票 > hakuhyou\ ;
+偏食 > henshoku\ ;
+工率 > kouritsu\ ;
+歌合 > utaawase\ ;
+躑躅 > tsutsuji\ ;
+歌口 > utaguchi\ ;
+鰹木 > katsuogi\ ;
+迫撃 > hakugeki\ ;
+相槌 > aidzuchi\ ;
+汲々 > kyuukyuu\ ;
+初恋 > hatsukoi\ ;
+先程 > sakihodo\ ;
+着想 > chakusou\ ;
+船賃 > funachin\ ;
+茶渋 > chashibu\ ;
+透徹 > toutetsu\ ;
+病身 > byoushin\ ;
+進学 > shingaku\ ;
+概説 > gaisetsu\ ;
+落丁 > rakuchou\ ;
+通帳 > tsuuchou\ ;
+床店 > tokomise\ ;
+良薬 > ryouyaku\ ;
+欠場 > ketsujou\ ;
+切戻 > setsurai\ ;
+標石 > hyouseki\ ;
+偽金 > nisegane\ ;
+目標 > mokuhyou\ ;
+楽調 > gakuchou\ ;
+力倆 > rikiryou\ ;
+選別 > senbetsu\ ;
+刺客 > shikyaku\ ;
+帝欠 > teiketsu\ ;
+出捐 > shutsuen\ ;
+着心 > kigokoro\ ;
+逐年 > chikunen\ ;
+鮫皮 > samegawa\ ;
+広広 > hirobiro\ ;
+横町 > yokochou\ ;
+近日 > kinjitsu\ ;
+広幅 > hirohaba\ ;
+力作 > rikisaku\ ;
+鳩信 > kyuushin\ ;
+検閲 > ken''etsu\ ;
+瞬刻 > shunkoku\ ;
+発着 > hatchaku\ ;
+極論 > kyokuron\ ;
+着弾 > chakudan\ ;
+典物 > tenbutsu\ ;
+白皙 > hakuseki\ ;
+白白 > hakuhaku\ ;
+切情 > setsujou\ ;
+刑律 > keiritsu\ ;
+標的 > hyouteki\ ;
+出所 > dedokoro\ ;
+追徴 > tsuichou\ ;
+着底 > chakutei\ ;
+党略 > touryaku\ ;
+極言 > kyokugen\ ;
+床山 > tokoyama\ ;
+痛覚 > tsuukaku\ ;
+年式 > nenshiki\ ;
+発癌 > hatsugan\ ;
+着帽 > chakubou\ ;
+内濠 > uchibori\ ;
+先着 > senchaku\ ;
+着帯 > chakutai\ ;
+常春 > tokoharu\ ;
+追弔 > tsuichou\ ;
+荷捌 > nisabaki\ ;
+平庭 > hiraniwa\ ;
+山鳩 > yamabato\ ;
+進境 > shinkyou\ ;
+山鳥 > yamadori\ ;
+通学 > tsuugaku\ ;
+畜類 > chikurui\ ;
+平底 > hirazoko\ ;
+入獄 > nyuugoku\ ;
+公爵 > koushaku\ ;
+色艶 > irotsuya\ ;
+平幕 > hiramaku\ ;
+先発 > senpatsu\ ;
+剴切 > gaisetsu\ ;
+白瓜 > shirouri\ ;
+近接 > kinsetsu\ ;
+蹲踞 > tsukubai\ ;
+転職 > tenshoku\ ;
+透察 > tousatsu\ ;
+劇作 > gekisaku\ ;
+着岸 > chakugan\ ;
+軸索 > jikusaku\ ;
+席料 > sekiryou\ ;
+欠号 > ketsugou\ ;
+発現 > hatsugen\ ;
+百獣 > hyakujuu\ ;
+僚船 > tomobune\ ;
+真心 > magokoro\ ;
+劇中 > gekichuu\ ;
+蹄鉄 > teitetsu\ ;
+出張 > shutchou\ ;
+僧職 > soushoku\ ;
+退屈 > taikutsu\ ;
+前哲 > zentetsu\ ;
+出廬 > shutsuro\ ;
+適作 > tekisaku\ ;
+内法 > uchinori\ ;
+出度 > shutsudo\ ;
+劃一 > kakuitsu\ ;
+軸箱 > jikubako\ ;
+峡谷 > kyoukoku\ ;
+出席 > shusseki\ ;
+別売 > betsubai\ ;
+帝日 > teijitsu\ ;
+構築 > kouchiku\ ;
+目撃 > mokugeki\ ;
+軍職 > gunshoku\ ;
+分局 > bunkyoku\ ;
+冬服 > fuyufuku\ ;
+茶杓 > chashaku\ ;
+鮮烈 > senretsu\ ;
+高説 > kousetsu\ ;
+写植 > shashoku\ ;
+別堂 > betsudou\ ;
+分宿 > bunshuku\ ;
+全滅 > zenmetsu\ ;
+山風 > yamakaze\ ;
+草摺 > kusazuri\ ;
+先物 > sakimono\ ;
+百点 > hyakuten\ ;
+逆夢 > sakayume\ ;
+光熱 > kounetsu\ ;
+前列 > zenretsu\ ;
+逆境 > gyakkyou\ ;
+癇癪 > kanshaku\ ;
+軍縮 > gunshuku\ ;
+鮭漁 > sakeryou\ ;
+達人 > tatsujin\ ;
+色紙 > shikishi\ ;
+白濁 > hakudaku\ ;
+儁秀 > shunshuu\ ;
+幅広 > habahiro\ ;
+平声 > hyoushou\ ;
+山霧 > yamagiri\ ;
+逸出 > isshutsu\ ;
+盗撮 > tousatsu\ ;
+入浴 > nyuuyoku\ ;
+欠便 > ketsubin\ ;
+軽石 > karuishi\ ;
+切妻 > kirizuma\ ;
+巻末 > kanmatsu\ ;
+通商 > tsuushou\ ;
+距骨 > kyokotsu\ ;
+入津 > nyuushin\ ;
+生首 > namakubi\ ;
+入洛 > nyuuraku\ ;
+直情 > chokujou\ ;
+凶宅 > kyoutaku\ ;
+山際 > yamagiwa\ ;
+庭先 > niwasaki\ ;
+山陰 > yamakage\ ;
+剃刀 > kamisori\ ;
+横波 > yokonami\ ;
+着地 > chakuchi\ ;
+盗掘 > toukutsu\ ;
+省庁 > shouchou\ ;
+留金 > tomegane\ ;
+橋梁 > kyouryou\ ;
+町長 > chouchou\ ;
+属領 > zokuryou\ ;
+通告 > tsuukoku\ ;
+前借 > zenshaku\ ;
+欠乏 > ketsubou\ ;
+極致 > kyokuchi\ ;
+別命 > betsumei\ ;
+良策 > ryousaku\ ;
+甘食 > amashoku\ ;
+内枠 > uchiwaku\ ;
+別名 > betsumei\ ;
+橋杭 > hashigui\ ;
+別号 > betsugou\ ;
+橋杙 > hashigui\ ;
+借銭 > shakusen\ ;
+眉尻 > mayujiri\ ;
+真如 > shin''nyo\ ;
+若水 > wakamizu\ ;
+通力 > tsuuriki\ ;
+店先 > misesaki\ ;
+畔道 > azemichi\ ;
+若殿 > wakatono\ ;
+通則 > tsuusoku\ ;
+初口 > shokuchi\ ;
+樽柿 > tarugaki\ ;
+臭覚 > shuukaku\ ;
+週休 > shuukyuu\ ;
+省察 > seisatsu\ ;
+横様 > yokozama\ ;
+横槍 > yokoyari\ ;
+冷徹 > reitetsu\ ;
+督促 > tokusoku\ ;
+判別 > hanbetsu\ ;
+芳烈 > houretsu\ ;
+常客 > joukyaku\ ;
+帳尻 > choujiri\ ;
+出土 > shutsudo\ ;
+苗水 > nawamizu\ ;
+先決 > senketsu\ ;
+軽率 > keisotsu\ ;
+山鉾 > yamaboko\ ;
+髄虫 > zuimushi\ ;
+皆様 > minasama\ ;
+別册 > bessatsu\ ;
+別冊 > bessatsu\ ;
+帷子 > katabira\ ;
+草市 > kusaichi\ ;
+白檀 > byakudan\ ;
+若様 > wakasama\ ;
+直射 > chokusha\ ;
+山里 > yamazato\ ;
+退却 > taikyaku\ ;
+追及 > tsuikyuu\ ;
+槍玉 > yaridama\ ;
+甲鉄 > koutetsu\ ;
+局面 > kyokumen\ ;
+通信 > tsuushin\ ;
+極線 > kyokusen\ ;
+通俗 > tsuuzoku\ ;
+船縁 > funaberi\ ;
+皓月 > kougetsu\ ;
+色相 > shikisou\ ;
+色盲 > shikimou\ ;
+眉墨 > mayuzumi\ ;
+内接 > naisetsu\ ;
+巴戦 > tomoesen\ ;
+全曲 > zenkyoku\ ;
+徐々 > sorosoro\ ;
+軸物 > jikumono\ ;
+業績 > gyouseki\ ;
+入木 > nyuuboku\ ;
+登極 > toukyoku\ ;
+極細 > gokuboso\ ;
+入朝 > nyuuchou\ ;
+送別 > soubetsu\ ;
+足首 > ashikubi\ ;
+兼摂 > kensetsu\ ;
+別便 > betsubin\ ;
+年別 > nenbetsu\ ;
+局限 > kyokugen\ ;
+生録 > namaroku\ ;
+巧拙 > kousetsu\ ;
+白梅 > shiraume\ ;
+臆説 > okusetsu\ ;
+先様 > sakisama\ ;
+全日 > zenjitsu\ ;
+布引 > nunobiki\ ;
+監察 > kansatsu\ ;
+分力 > bunryoku\ ;
+傍耳 > katamimi\ ;
+略言 > ryakugen\ ;
+別人 > betsunin\ ;
+分割 > bunkatsu\ ;
+小魚 > kozakana\ ;
+左手 > hidarite\ ;
+色町 > iromachi\ ;
+色男 > irootoko\ ;
+楽章 > gakushou\ ;
+分別 > bunbetsu\ ;
+分列 > bunretsu\ ;
+鬱病 > utsubyou\ ;
+逆修 > gyakushu\ ;
+直売 > chokubai\ ;
+借貸 > shakutai\ ;
+借財 > shakuzai\ ;
+冬山 > fuyuyama\ ;
+分冊 > bunsatsu\ ;
+軍略 > gunryaku\ ;
+用達 > youtatsu\ ;
+荒夷 > araebisu\ ;
+極端 > kyokutan\ ;
+真南 > maminami\ ;
+略装 > ryakusou\ ;
+列伝 > retsuden\ ;
+共振 > kyoushin\ ;
+船端 > funabata\ ;
+鯨座 > kujiraza\ ;
+着任 > chakunin\ ;
+辻堂 > tsujidou\ ;
+俺達 > oretachi\ ;
+真勇 > shin''yuu\ ;
+傘紙 > kasagami\ ;
+白昼 > hakuchuu\ ;
+痼疾 > koshitsu\ ;
+出処 > dedokoro\ ;
+偽者 > nisemono\ ;
+克服 > kokufuku\ ;
+画質 > gashitsu\ ;
+跳躍 > chouyaku\ ;
+追伸 > tsuishin\ ;
+発明 > hatsumei\ ;
+逆上 > gyakujou\ ;
+先月 > sengetsu\ ;
+平仄 > hyousoku\ ;
+円形 > marugata\ ;
+少額 > shougaku\ ;
+返却 > henkyaku\ ;
+小額 > shougaku\ ;
+凶兆 > kyouchou\ ;
+驀進 > bakushin\ ;
+楓糖 > kaedetou\ ;
+幕内 > makuuchi\ ;
+巻尺 > makijaku\ ;
+先日 > senjitsu\ ;
+借覧 > shakuran\ ;
+駒鳥 > komadori\ ;
+健脚 > kenkyaku\ ;
+幕僚 > bakuryou\ ;
+写実 > shajitsu\ ;
+元日 > ganjitsu\ ;
+白描 > hakubyou\ ;
+尻重 > shiriomo\ ;
+脛骨 > keikotsu\ ;
+元方 > motokata\ ;
+発揚 > hatsuyou\ ;
+茶壺 > chatsubo\ ;
+修身 > shuushin\ ;
+発掘 > hakkutsu\ ;
+川底 > kawazoko\ ;
+川床 > kawadoko\ ;
+凶作 > kyousaku\ ;
+概略 > gairyaku\ ;
+川幅 > kawahaba\ ;
+出京 > shukkyou\ ;
+傷病 > shoubyou\ ;
+椎茸 > shiitake\ ;
+州州 > shuushuu\ ;
+停職 > teishoku\ ;
+侑食 > yuushoku\ ;
+内局 > naikyoku\ ;
+男親 > otokooya\ ;
+凛冽 > rinretsu\ ;
+花柄 > hanagara\ ;
+公式 > koushiki\ ;
+山襞 > yamahida\ ;
+辻占 > tsujiura\ ;
+様様 > samazama\ ;
+真中 > man''naka\ ;
+内密 > naimitsu\ ;
+花束 > hanataba\ ;
+内実 > naijitsu\ ;
+共布 > tomonuno\ ;
+山裾 > yamasuso\ ;
+高空 > takazora\ ;
+花札 > hanafuda\ ;
+百態 > hyakutai\ ;
+痔疾 > jishitsu\ ;
+八幡 > hachiman\ ;
+巡察 > junsatsu\ ;
+軽業 > karuwaza\ ;
+川尻 > kawajiri\ ;
+直前 > chokuzen\ ;
+棒術 > boujutsu\ ;
+草叢 > kusamura\ ;
+花時 > hanadoki\ ;
+入幕 > nyuumaku\ ;
+直刀 > chokutou\ ;
+発情 > hatsujou\ ;
+俳謔 > haigyaku\ ;
+岩脈 > ganmyaku\ ;
+帳元 > choumoto\ ;
+病的 > byouteki\ ;
+横幅 > yokohaba\ ;
+病癖 > byouheki\ ;
+胸高 > munadaka\ ;
+促進 > sokushin\ ;
+標徴 > hyouchou\ ;
+病症 > byoushou\ ;
+冷却 > reikyaku\ ;
+膏血 > kouketsu\ ;
+傷物 > kizumono\ ;
+百弊 > hyakuhei\ ;
+凝乳 > gyounyuu\ ;
+畜舎 > chikusha\ ;
+共学 > kyougaku\ ;
+内壕 > uchibori\ ;
+少量 > shouryou\ ;
+全局 > zenkyoku\ ;
+克復 > kokufuku\ ;
+百年 > hyakunen\ ;
+足軽 > ashigaru\ ;
+小量 > shouryou\ ;
+健筆 > kenpitsu\ ;
+寒餅 > kanmochi\ ;
+寮長 > ryouchou\ ;
+先役 > sen''yaku\ ;
+俊足 > shunsoku\ ;
+内堀 > uchibori\ ;
+入寂 > nyuujaku\ ;
+臣籍 > shinseki\ ;
+信認 > shin''nin\ ;
+円型 > marugata\ ;
+辛勝 > shinshou\ ;
+入学 > nyuugaku\ ;
+業物 > wazamono\ ;
+赤靴 > akagutsu\ ;
+足跡 > sokuseki\ ;
+信証 > shinshou\ ;
+州境 > shuukyou\ ;
+信託 > shintaku\ ;
+宿駅 > shukueki\ ;
+極点 > kyokuten\ ;
+俗調 > zokuchou\ ;
+舌癌 > zetsugan\ ;
+直中 > tadanaka\ ;
+花房 > hanafusa\ ;
+直上 > chokujou\ ;
+疫病 > yakubyou\ ;
+若宮 > wakamiya\ ;
+元帳 > motochou\ ;
+寛闊 > kankatsu\ ;
+寸鉄 > suntetsu\ ;
+百害 > hyakugai\ ;
+偶発 > guuhatsu\ ;
+小身 > shoushin\ ;
+宿願 > shukugan\ ;
+生薬 > shouyaku\ ;
+宿題 > shukudai\ ;
+瓶詰 > bindzume\ ;
+偏窟 > henkutsu\ ;
+先山 > sakiyama\ ;
+男色 > nanshoku\ ;
+脱輪 > datsurin\ ;
+蹴球 > shuukyuu\ ;
+倹約 > ken''yaku\ ;
+草丈 > kusatake\ ;
+入塾 > nyuujuku\ ;
+高率 > kouritsu\ ;
+駿足 > shunsoku\ ;
+優形 > yasagata\ ;
+先客 > senkyaku\ ;
+疵物 > kizumono\ ;
+俗衆 > zokushuu\ ;
+山膚 > yamahada\ ;
+榕樹 > gajumaru\ ;
+先安 > sakiyasu\ ;
+馬面 > umadzura\ ;
+盗伐 > toubatsu\ ;
+百姓 > hyakusei\ ;
+岩窟 > gankutsu\ ;
+歴々 > rekireki\ ;
+充実 > juujitsu\ ;
+花形 > hanagata\ ;
+盗人 > nusubito\ ;
+白妙 > shirotae\ ;
+山脈 > yamanami\ ;
+花弁 > hanabira\ ;
+山肌 > yamahada\ ;
+入国 > nyuukoku\ ;
+極洋 > kyokuyou\ ;
+白壁 > hakuheki\ ;
+高熱 > kounetsu\ ;
+白墨 > hakuboku\ ;
+発売 > hatsubai\ ;
+内力 > nairyoku\ ;
+赤銅 > shakudou\ ;
+偽物 > nisemono\ ;
+皮剥 > kawahagi\ ;
+巨刹 > kyosatsu\ ;
+骨盤 > kotsuban\ ;
+鯉口 > koiguchi\ ;
+生色 > seishoku\ ;
+先太 > sakibuto\ ;
+超越 > chouetsu\ ;
+定食 > teishoku\ ;
+兵卒 > heisotsu\ ;
+様式 > youshiki\ ;
+伴食 > banshoku\ ;
+兵力 > heiryoku\ ;
+楽楽 > rakuraku\ ;
+高潮 > takashio\ ;
+内側 > uchigawa\ ;
+脅迫 > kyouhaku\ ;
+高潔 > kouketsu\ ;
+腹膜 > fukumaku\ ;
+内倉 > uchigura\ ;
+花守 > hanamori\ ;
+胸郭 > kyoukaku\ ;
+其其 > sorezore\ ;
+病毒 > byoudoku\ ;
+極楽 > gokuraku\ ;
+極極 > gokugoku\ ;
+病歴 > byoureki\ ;
+花嫁 > hanayome\ ;
+全力 > zenryoku\ ;
+共共 > tomodomo\ ;
+花婿 > hanamuko\ ;
+贋首 > nisekubi\ ;
+供託 > kyoutaku\ ;
+若君 > wakagimi\ ;
+局舎 > kyokusha\ ;
+州俗 > shuuzoku\ ;
+信腹 > shinpuku\ ;
+植生 > shokusei\ ;
+権力 > kenryoku\ ;
+優女 > yasaon''a\ ;
+画策 > kakusaku\ ;
+染髪 > senpatsu\ ;
+宿酔 > shukusui\ ;
+赫赫 > kakukaku\ ;
+伸長 > shinchou\ ;
+密造 > mitsuzou\ ;
+楽曲 > gakkyoku\ ;
+高波 > takanami\ ;
+会食 > kaishoku\ ;
+倒立 > touritsu\ ;
+俗臭 > zokushuu\ ;
+色感 > shikikan\ ;
+左上 > hidariue\ ;
+先哲 > sentetsu\ ;
+極東 > kyokutou\ ;
+色情 > shikijou\ ;
+魚屋 > sakanaya\ ;
+跳箱 > tobibako\ ;
+軟式 > nanshiki\ ;
+高殿 > takadono\ ;
+偏片 > katahara\ ;
+川上 > kawakami\ ;
+山程 > yamahodo\ ;
+発動 > hatsudou\ ;
+先口 > senkuchi\ ;
+肋骨 > rokkotsu\ ;
+畜産 > chikusan\ ;
+色彩 > shikisai\ ;
+良心 > ryoushin\ ;
+生米 > namagome\ ;
+用筆 > youhitsu\ ;
+入信 > nyuushin\ ;
+臓物 > zoumotsu\ ;
+俗習 > zokushuu\ ;
+遙々 > harubaru\ ;
+骨灰 > kotsubai\ ;
+船旅 > funatabi\ ;
+船方 > funakata\ ;
+花園 > hanazono\ ;
+入伸 > nyuushin\ ;
+光力 > kouryoku\ ;
+軍律 > gunritsu\ ;
+軍役 > gun''yaku\ ;
+百億 > hyakuoku\ ;
+屑籠 > kuzukago\ ;
+痛撃 > tsuugeki\ ;
+全乳 > zen''nyuu\ ;
+格調 > kakuchou\ ;
+入京 > nyuukyou\ ;
+輸出 > yushutsu\ ;
+概括 > gaikatsu\ ;
+膠着 > kouchaku\ ;
+信経 > shinkyou\ ;
+併設 > heisetsu\ ;
+百倍 > hyakubai\ ;
+車座 > kurumaza\ ;
+先入 > sen''nyuu\ ;
+横丁 > yokochou\ ;
+借用 > shakuyou\ ;
+宿賃 > yadochin\ ;
+畜犬 > chikuken\ ;
+傍杖 > sobadzue\ ;
+元元 > motomoto\ ;
+寝袋 > nebukuro\ ;
+芝地 > shibachi\ ;
+的中 > tekichuu\ ;
+就縛 > shuubaku\ ;
+密謀 > mitsubou\ ;
+密談 > mitsudan\ ;
+発令 > hatsurei\ ;
+良将 > ryoushou\ ;
+客車 > kyakusha\ ;
+脱色 > dasshoku\ ;
+百世 > hyakusei\ ;
+高札 > kousatsu\ ;
+百万 > hyakuman\ ;
+小腸 > shouchou\ ;
+仙骨 > senkotsu\ ;
+安酒 > yasuzake\ ;
+僻境 > hekikyou\ ;
+学長 > gakuchou\ ;
+車屋 > kurumaya\ ;
+優劣 > yuuretsu\ ;
+身心 > shinshin\ ;
+痛惜 > tsuuseki\ ;
+偽札 > nisefuda\ ;
+贋金 > nisegane\ ;
+借物 > karimono\ ;
+度々 > tabitabi\ ;
+赤蛙 > akagaeru\ ;
+傷心 > shoushin\ ;
+付馬 > tsukeuma\ ;
+赤虫 > akamushi\ ;
+佗言 > wabigoto\ ;
+生皮 > namakawa\ ;
+側杖 > sobadzue\ ;
+極性 > kyokusei\ ;
+痛心 > tsuushin\ ;
+色女 > iroon''na\ ;
+輪伐 > rinbatsu\ ;
+倍率 > bairitsu\ ;
+俗称 > zokushou\ ;
+山猿 > yamazaru\ ;
+山猫 > yamaneko\ ;
+伝達 > dentatsu\ ;
+植民 > shokumin\ ;
+寵臣 > choushin\ ;
+植毛 > shokumou\ ;
+肉鍋 > nikunabe\ ;
+男爵 > danshaku\ ;
+人魂 > hitodama\ ;
+腹痛 > fukutsuu\ ;
+船底 > funazoko\ ;
+船床 > funadoko\ ;
+駆落 > kakeochi\ ;
+極希 > gokumare\ ;
+俊秀 > shunshuu\ ;
+人骨 > jinkotsu\ ;
+小結 > komusubi\ ;
+実説 > jissetsu\ ;
+履物 > hakimono\ ;
+病徴 > byouchou\ ;
+定説 > teisetsu\ ;
+臨月 > ringetsu\ ;
+病弱 > byoujaku\ ;
+広々 > hirobiro\ ;
+骨材 > kotsuzai\ ;
+産物 > sanbutsu\ ;
+官設 > kansetsu\ ;
+検札 > kensatsu\ ;
+臣服 > shinpuku\ ;
+貪食 > donshoku\ ;
+病床 > byoushou\ ;
+信用 > shin''you\ ;
+脇腹 > wakibara\ ;
+生物 > namamono\ ;
+供給 > kyoukyuu\ ;
+局番 > kyokuban\ ;
+小策 > shousaku\ ;
+槍先 > yarisaki\ ;
+痰壺 > tantsubo\ ;
+髪床 > kamidoko\ ;
+寒色 > kanshoku\ ;
+植栽 > shokusai\ ;
+休足 > kyuusoku\ ;
+船宿 > funayado\ ;
+仏門 > butsumon\ ;
+船客 > senkyaku\ ;
+傍役 > wakiyaku\ ;
+肉迫 > nikuhaku\ ;
+核膜 > kakumaku\ ;
+亡骸 > nakigara\ ;
+臘月 > rougetsu\ ;
+植林 > shokurin\ ;
+完訳 > kan''yaku\ ;
+胸膜 > kyoumaku\ ;
+飽食 > houshoku\ ;
+修熟 > shuujuku\ ;
+宅診 > takushin\ ;
+小禄 > shouroku\ ;
+伝説 > densetsu\ ;
+足癖 > ashikuse\ ;
+脱税 > datsuzei\ ;
+京響 > kyoukyou\ ;
+転入 > ten''nyuu\ ;
+対立 > tairitsu\ ;
+腫物 > shumotsu\ ;
+極大 > kyokudai\ ;
+略書 > ryakusho\ ;
+宿舎 > shukusha\ ;
+軍卒 > gunsotsu\ ;
+峰峰 > minemine\ ;
+容色 > youshoku\ ;
+介錯 > kaishaku\ ;
+森森 > shinshin\ ;
+嵌入 > kan''nyuu\ ;
+軒別 > kenbetsu\ ;
+側役 > sobayaku\ ;
+転借 > tenshaku\ ;
+脊索 > sekisaku\ ;
+休診 > kyuushin\ ;
+財閥 > zaibatsu\ ;
+環節 > kansetsu\ ;
+木鼠 > kinezumi\ ;
+骨折 > kossetsu\ ;
+脚立 > kyatatsu\ ;
+僻事 > higagoto\ ;
+略文 > ryakubun\ ;
+軒先 > nokisaki\ ;
+根絶 > konzetsu\ ;
+極地 > kyokuchi\ ;
+枝道 > edamichi\ ;
+宿老 > shukurou\ ;
+使節 > shisetsu\ ;
+貸金 > kashikin\ ;
+高察 > kousatsu\ ;
+倒様 > sakasama\ ;
+生活 > seikatsu\ ;
+高密 > koumitsu\ ;
+仏道 > butsudou\ ;
+何者 > nanimono\ ;
+良俗 > ryouzoku\ ;
+住職 > juushoku\ ;
+柔術 > juujutsu\ ;
+生水 > namamizu\ ;
+胸糞 > munekuso\ ;
+客船 > kyakusen\ ;
+耐食 > taishoku\ ;
+老骨 > roukotsu\ ;
+枕辺 > makurabe\ ;
+尤物 > yuubutsu\ ;
+客舎 > kyakusha\ ;
+乱髪 > ranpatsu\ ;
+体罰 > taibatsu\ ;
+痛哭 > tsuukoku\ ;
+生殖 > seishoku\ ;
+人里 > hitozato\ ;
+客膳 > kyakuzen\ ;
+肉親 > nikushin\ ;
+富籤 > tomikuji\ ;
+偵察 > teisatsu\ ;
+能筆 > nouhitsu\ ;
+乾風 > karakaze\ ;
+髪型 > kamigata\ ;
+良久 > ryoukyuu\ ;
+村雨 > murasame\ ;
+軒並 > nokinami\ ;
+軒丈 > nokitake\ ;
+寒竹 > kanchiku\ ;
+月齢 > getsurei\ ;
+楽匠 > gakushou\ ;
+楽勝 > rakushou\ ;
+跳梁 > chouryou\ ;
+寒空 > samuzora\ ;
+仰角 > gyoukaku\ ;
+楽劇 > gakugeki\ ;
+飄飄 > hyouhyou\ ;
+木骨 > mokkotsu\ ;
+侯爵 > koushaku\ ;
+玉髄 > gyokuzui\ ;
+聴診 > choushin\ ;
+俗流 > zokuryuu\ ;
+定職 > teishoku\ ;
+官職 > kanshoku\ ;
+健実 > kenjitsu\ ;
+豪雪 > gousetsu\ ;
+聴覚 > choukaku\ ;
+珍重 > chinchou\ ;
+直々 > jikijiki\ ;
+自室 > jishitsu\ ;
+側壁 > sokuheki\ ;
+検尿 > ken''nyou\ ;
+乱雑 > ranzatsu\ ;
+属望 > shokubou\ ;
+聴衆 > choushuu\ ;
+中黒 > nakaguro\ ;
+検察 > kensatsu\ ;
+人足 > hitoashi\ ;
+対物 > taibutsu\ ;
+肉薄 > nikuhaku\ ;
+玉顔 > gyokugan\ ;
+颯颯 > sassatsu\ ;
+偏屈 > henkutsu\ ;
+仏説 > bussetsu\ ;
+島台 > shimadai\ ;
+仇讎 > kyuushuu\ ;
+併発 > heihatsu\ ;
+駐留 > chuuryuu\ ;
+略帽 > ryakubou\ ;
+朝飯 > asameshi\ ;
+何程 > nanihodo\ ;
+風食 > fuushoku\ ;
+畳屋 > tatamiya\ ;
+側圧 > sokuatsu\ ;
+贖罪 > shokuzai\ ;
+肩肘 > katahiji\ ;
+染色 > senshoku\ ;
+身中 > shinchuu\ ;
+村里 > murazato\ ;
+仙術 > senjutsu\ ;
+自失 > jishitsu\ ;
+俗楽 > zokugaku\ ;
+首筋 > kubisuji\ ;
+佇立 > choritsu\ ;
+贋者 > nisemono\ ;
+密着 > mitchaku\ ;
+腰板 > koshiita\ ;
+股肉 > momoniku\ ;
+脱漏 > datsurou\ ;
+胸痛 > kyoutsuu\ ;
+丸髷 > marumage\ ;
+屈曲 > kukkyoku\ ;
+船人 > funabito\ ;
+骨太 > honebuto\ ;
+高卒 > kousotsu\ ;
+就業 > shuugyou\ ;
+食道 > shokudou\ ;
+谷風 > tanikaze\ ;
+信服 > shinpuku\ ;
+仮葺 > karibuki\ ;
+風雪 > fuusetsu\ ;
+完結 > kanketsu\ ;
+柔肌 > yawahada\ ;
+駐独 > chuudoku\ ;
+玉門 > gyokumon\ ;
+饒舌 > jouzetsu\ ;
+月食 > gesshoku\ ;
+栗石 > kuriishi\ ;
+小波 > sazanami\ ;
+益々 > masumasu\ ;
+定立 > teiritsu\ ;
+丸首 > marukubi\ ;
+中高 > nakadaka\ ;
+官立 > kanritsu\ ;
+能率 > nouritsu\ ;
+足業 > ashiwaza\ ;
+木鐸 > bokutaku\ ;
+主食 > shushoku\ ;
+驚愕 > kyougaku\ ;
+俗曲 > zokkyoku\ ;
+仙薬 > sen''yaku\ ;
+作病 > sakubyou\ ;
+何百 > nanbyaku\ ;
+仁術 > jinjutsu\ ;
+信教 > shinkyou\ ;
+桜湯 > sakurayu\ ;
+検圧 > ken''atsu\ ;
+一齣 > hitokoma\ ;
+足械 > ashikase\ ;
+月面 > getsumen\ ;
+乳酪 > nyuuraku\ ;
+尽日 > jinjitsu\ ;
+少欲 > shouyoku\ ;
+画引 > kakubiki\ ;
+留学 > ryuugaku\ ;
+学習 > gakushuu\ ;
+跋文 > batsubun\ ;
+山彦 > yamabiko\ ;
+山形 > yamagata\ ;
+病中 > byouchuu\ ;
+小欲 > shouyoku\ ;
+偶力 > guuryoku\ ;
+染織 > senshoku\ ;
+任職 > ninshoku\ ;
+脱毛 > datsumou\ ;
+専決 > senketsu\ ;
+梟敵 > kyouteki\ ;
+木鋏 > kibasami\ ;
+舟人 > funabito\ ;
+貧血 > hinketsu\ ;
+足枷 > ashikase\ ;
+耳許 > mimimoto\ ;
+傑人 > ketsujin\ ;
+対決 > taiketsu\ ;
+射殺 > shasatsu\ ;
+令色 > reishoku\ ;
+封殺 > fuusatsu\ ;
+小槌 > kodzuchi\ ;
+学績 > gakuseki\ ;
+山川 > yamagawa\ ;
+高低 > takahiku\ ;
+中頃 > nakagoro\ ;
+職能 > shokunou\ ;
+屈折 > kussetsu\ ;
+実直 > jitchoku\ ;
+腰折 > koshiore\ ;
+実益 > jitsueki\ ;
+定着 > teichaku\ ;
+梁木 > ryouboku\ ;
+偶偶 > tamatama\ ;
+曲面 > kyokumen\ ;
+足早 > ashibaya\ ;
+中震 > chuushin\ ;
+舌代 > zetsudai\ ;
+柱石 > chuuseki\ ;
+山山 > yamayama\ ;
+中隔 > chuukaku\ ;
+局所 > kyokusho\ ;
+貯蓄 > chochiku\ ;
+低率 > teiritsu\ ;
+州々 > shuushuu\ ;
+染筆 > senpitsu\ ;
+信憑 > shinpyou\ ;
+桟橋 > sanbashi\ ;
+画室 > gashitsu\ ;
+肉細 > nikuboso\ ;
+客用 > kyakuyou\ ;
+中限 > nakagiri\ ;
+何物 > nanimono\ ;
+山寺 > yamadera\ ;
+猟鳥 > ryouchou\ ;
+学籍 > gakuseki\ ;
+万骨 > bankotsu\ ;
+修復 > shuufuku\ ;
+仏艦 > futsukan\ ;
+腹心 > fukushin\ ;
+実用 > jitsuyou\ ;
+修得 > shuutoku\ ;
+胆略 > tanryaku\ ;
+其々 > sorezore\ ;
+丸鑿 > marunomi\ ;
+山守 > yamamori\ ;
+足摺 > ashizuri\ ;
+食言 > shokugen\ ;
+個室 > koshitsu\ ;
+二言 > futakoto\ ;
+体熱 > tainetsu\ ;
+共々 > tomodomo\ ;
+仮綴 > karitoji\ ;
+休祥 > kyuushou\ ;
+屈従 > kutsujuu\ ;
+実現 > jitsugen\ ;
+現職 > genshoku\ ;
+豁達 > kattatsu\ ;
+信念 > shin''nen\ ;
+顎骨 > gakkotsu\ ;
+三食 > sanshoku\ ;
+了覚 > ryoukaku\ ;
+一駒 > hitokoma\ ;
+群雲 > murakumo\ ;
+月金 > getsukin\ ;
+赤沈 > sekichin\ ;
+下顎 > shitaago\ ;
+山姫 > yamahime\ ;
+脂汗 > aburaase\ ;
+腰弁 > koshiben\ ;
+宝玉 > hougyoku\ ;
+少敵 > shouteki\ ;
+侵撃 > shingeki\ ;
+驍将 > gyoushou\ ;
+丘陵 > kyuuryou\ ;
+略名 > ryakumei\ ;
+小敵 > shouteki\ ;
+略号 > ryakugou\ ;
+足技 > ashiwaza\ ;
+略史 > ryakushi\ ;
+定率 > teiritsu\ ;
+番卒 > bansotsu\ ;
+略取 > ryakushu\ ;
+実状 > jitsujou\ ;
+借地 > shakuchi\ ;
+併殺 > heisatsu\ ;
+聖職 > seishoku\ ;
+腰帯 > koshiobi\ ;
+上靴 > uwagutsu\ ;
+膜壁 > makuheki\ ;
+脱文 > datsubun\ ;
+存立 > sonritsu\ ;
+宝物 > houmotsu\ ;
+俗形 > zokugyou\ ;
+人膚 > hitohada\ ;
+風足 > kazaashi\ ;
+乾裂 > kanretsu\ ;
+桎梏 > shikkoku\ ;
+一頃 > hitokoro\ ;
+翌週 > yokushuu\ ;
+対日 > tainichi\ ;
+枠組 > wakugumi\ ;
+人脚 > hitoashi\ ;
+翻訳 > hon''yaku\ ;
+人脈 > jinmyaku\ ;
+山城 > yamajiro\ ;
+頸骨 > keikotsu\ ;
+供料 > kyouryou\ ;
+脚本 > kyakuhon\ ;
+東芝 > toushiba\ ;
+赤樫 > akagashi\ ;
+耐蝕 > taishoku\ ;
+脊椎 > sekitsui\ ;
+柴犬 > shibainu\ ;
+修学 > shuugaku\ ;
+俊徳 > shuntoku\ ;
+月輪 > getsurin\ ;
+仲秋 > chuushuu\ ;
+主述 > shujutsu\ ;
+人肌 > hitohada\ ;
+人肉 > jin''niku\ ;
+媒酌 > baishaku\ ;
+例月 > reigetsu\ ;
+生娘 > kimusume\ ;
+代筆 > daihitsu\ ;
+脊梁 > sekiryou\ ;
+密殺 > missatsu\ ;
+暴食 > boushoku\ ;
+山国 > yamaguni\ ;
+職種 > shokushu\ ;
+一際 > hitokiwa\ ;
+乾蝕 > kanshoku\ ;
+一隅 > hitosumi\ ;
+就床 > shuushou\ ;
+丈長 > takenaga\ ;
+頭髪 > touhatsu\ ;
+猥雑 > waizatsu\ ;
+聯立 > renritsu\ ;
+脊柱 > sekichuu\ ;
+頭骨 > toukotsu\ ;
+足形 > ashigata\ ;
+安物 > yasumono\ ;
+寒極 > kankyoku\ ;
+足弱 > ashiyowa\ ;
+候哉 > sourouya\ ;
+例日 > reijitsu\ ;
+中速 > chuusoku\ ;
+生壁 > namakabe\ ;
+更迭 > koutetsu\ ;
+梟将 > kyoushou\ ;
+元々 > motomoto\ ;
+肉的 > nikuteki\ ;
+胸椎 > kyoutsui\ ;
+風説 > fuusetsu\ ;
+桂月 > keigetsu\ ;
+室温 > shitsuon\ ;
+仙窟 > senkutsu\ ;
+寧日 > neijitsu\ ;
+贋物 > nisemono\ ;
+番付 > bandzuke\ ;
+赤松 > akamatsu\ ;
+略体 > ryakutai\ ;
+梅干 > umeboshi\ ;
+俗学 > zokugaku\ ;
+腹壁 > fukuheki\ ;
+中軸 > chuujiku\ ;
+略伝 > ryakuden\ ;
+腸壁 > chouheki\ ;
+象虫 > zoumushi\ ;
+林立 > rinritsu\ ;
+嬌羞 > kyoushuu\ ;
+質疑 > shitsugi\ ;
+山吹 > yamabuki\ ;
+踏切 > fumikiri\ ;
+就寝 > shuushin\ ;
+杏茸 > anzutake\ ;
+生国 > shoukoku\ ;
+信女 > shin''nyo\ ;
+束脩 > sokushuu\ ;
+小心 > shoushin\ ;
+宿業 > shukugou\ ;
+申告 > shinkoku\ ;
+寒月 > kangetsu\ ;
+有識 > yuushiki\ ;
+佚楽 > itsuraku\ ;
+就学 > shuugaku\ ;
+餅網 > mochiami\ ;
+何様 > nanisama\ ;
+翁貝 > okinagai\ ;
+富札 > tomifuda\ ;
+局外 > kyokugai\ ;
+食膳 > shokuzen\ ;
+杉苔 > sugigoke\ ;
+密林 > mitsurin\ ;
+倉卒 > sousotsu\ ;
+甲卒 > kousotsu\ ;
+客殿 > kyakuden\ ;
+並足 > namiashi\ ;
+交織 > koushoku\ ;
+畑作 > hatasaku\ ;
+瓦屋 > kawaraya\ ;
+客死 > kyakushi\ ;
+男前 > otokomae\ ;
+局報 > kyokuhou\ ;
+顰蹙 > hinshuku\ ;
+宮様 > miyasama\ ;
+作柄 > sakugara\ ;
+献酌 > kenshaku\ ;
+食育 > shokuiku\ ;
+風蝕 > fuushoku\ ;
+両足 > ryousoku\ ;
+二股 > futamata\ ;
+瓦家 > kawaraya\ ;
+上達 > joutatsu\ ;
+膝元 > hizamoto\ ;
+望蜀 > boushoku\ ;
+宿望 > shukubou\ ;
+脱帽 > datsubou\ ;
+申出 > moushide\ ;
+柄物 > garamono\ ;
+上述 > joujutsu\ ;
+作曲 > sakkyoku\ ;
+耳糞 > mimikuso\ ;
+老若 > rounyaku\ ;
+肉牛 > nikugyuu\ ;
+山元 > yamamoto\ ;
+局地 > kyokuchi\ ;
+貞節 > teisetsu\ ;
+束縛 > sokubaku\ ;
+末葉 > matsuyou\ ;
+何月 > nangatsu\ ;
+尺地 > shakuchi\ ;
+豚草 > butakusa\ ;
+曲論 > kyokuron\ ;
+山側 > yamagawa\ ;
+少少 > shoushou\ ;
+少将 > shoushou\ ;
+暗闇 > kurayami\ ;
+休漁 > kyuuryou\ ;
+玉葱 > tamanegi\ ;
+乳臭 > nyuushuu\ ;
+甘口 > amakuchi\ ;
+木菟 > mimizuku\ ;
+嬌笑 > kyoushou\ ;
+産別 > sanbetsu\ ;
+月蝕 > gesshoku\ ;
+小学 > shougaku\ ;
+様々 > samazama\ ;
+便壺 > bentsubo\ ;
+一輛 > ichiryou\ ;
+賜物 > tamamono\ ;
+生別 > seibetsu\ ;
+首枷 > kubikase\ ;
+子爵 > shishaku\ ;
+例式 > reishiki\ ;
+現生 > gen''nama\ ;
+木苺 > kiichigo\ ;
+犬鷲 > inuwashi\ ;
+本色 > honshoku\ ;
+乱脈 > ranmyaku\ ;
+定植 > teishoku\ ;
+軽々 > karugaru\ ;
+密接 > missetsu\ ;
+一躍 > ichiyaku\ ;
+山人 > yamabito\ ;
+脇息 > kyousoku\ ;
+羽衣 > hagoromo\ ;
+服薬 > fukuyaku\ ;
+属僚 > zokuryou\ ;
+足型 > ashigata\ ;
+画一 > kakuitsu\ ;
+梵刹 > bonsetsu\ ;
+伏流 > fukuryuu\ ;
+対局 > taikyoku\ ;
+猫足 > nekoashi\ ;
+小娘 > komusume\ ;
+代物 > daibutsu\ ;
+姫鱒 > himemasu\ ;
+本腰 > hongoshi\ ;
+一足 > hitoashi\ ;
+腹切 > harakiri\ ;
+両親 > ryoushin\ ;
+晩飯 > banmeshi\ ;
+翼翼 > yokuyoku\ ;
+生傷 > namakizu\ ;
+豚肉 > butaniku\ ;
+脇役 > wakiyaku\ ;
+頭金 > atamakin\ ;
+美質 > bishitsu\ ;
+届出 > todokede\ ;
+赤心 > sekishin\ ;
+本職 > honshoku\ ;
+状骨 > joukotsu\ ;
+翠色 > suishoku\ ;
+両袖 > ryousode\ ;
+核心 > kakushin\ ;
+丸薬 > gan''yaku\ ;
+伸暢 > shinchou\ ;
+朝臣 > choushin\ ;
+宿所 > shukusho\ ;
+果物 > kudamono\ ;
+現物 > genbutsu\ ;
+下請 > shitauke\ ;
+木耳 > kikurage\ ;
+尽力 > jinryoku\ ;
+人畜 > jinchiku\ ;
+仮漆 > kashitsu\ ;
+村立 > sonritsu\ ;
+風脚 > kazaashi\ ;
+係員 > kakariin\ ;
+一諾 > ichidaku\ ;
+小国 > shoukoku\ ;
+学歴 > gakureki\ ;
+宿悪 > shukuaku\ ;
+胸座 > munagura\ ;
+一読 > ichidoku\ ;
+宗教 > shuukyou\ ;
+寥寥 > ryouryou\ ;
+有色 > yuushoku\ ;
+狭量 > kyouryou\ ;
+来着 > raichaku\ ;
+休業 > kyuugyou\ ;
+月色 > gesshoku\ ;
+修了 > shuuryou\ ;
+胸幅 > munehaba\ ;
+一言 > hitokoto\ ;
+宿志 > shukushi\ ;
+耳疾 > jishitsu\ ;
+腕力 > wanryoku\ ;
+腹中 > fukuchuu\ ;
+一角 > hitokado\ ;
+肉欲 > nikuyoku\ ;
+珠玉 > shugyoku\ ;
+什物 > juumotsu\ ;
+主色 > shushoku\ ;
+贋札 > nisefuda\ ;
+肩書 > katagaki\ ;
+信伏 > shinpuku\ ;
+信任 > shin''nin\ ;
+宿弊 > shukuhei\ ;
+鬱々 > utsuutsu\ ;
+乱筆 > ranpitsu\ ;
+人物 > jinbutsu\ ;
+俗信 > zokushin\ ;
+献血 > kenketsu\ ;
+格安 > kakuyasu\ ;
+両蓋 > ryoubuta\ ;
+学業 > gakugyou\ ;
+人爵 > jinshaku\ ;
+猥褻 > waisetsu\ ;
+豚箱 > butabako\ ;
+仮殿 > karidono\ ;
+飛石 > tobiishi\ ;
+乱立 > ranritsu\ ;
+宿帳 > yadochou\ ;
+寒寒 > samuzamu\ ;
+朱筆 > shuhitsu\ ;
+主脈 > shumyaku\ ;
+付添 > tsukisoi\ ;
+本節 > honbushi\ ;
+曲芸 > kyokugei\ ;
+末節 > massetsu\ ;
+足元 > ashimoto\ ;
+財物 > zaibutsu\ ;
+小名 > shoumyou\ ;
+乗組 > norikumi\ ;
+寝姿 > nesugata\ ;
+曳船 > hikibune\ ;
+翌翌 > yokuyoku\ ;
+末筆 > mappitsu\ ;
+昼頃 > hirugoro\ ;
+股旅 > matatabi\ ;
+独身 > dokushin\ ;
+琴曲 > kinkyoku\ ;
+京物 > kyoumono\ ;
+某月 > bougetsu\ ;
+豆粕 > mamekasu\ ;
+実情 > jitsujou\ ;
+中腹 > chuufuku\ ;
+順逆 > jungyaku\ ;
+杉皮 > sugikawa\ ;
+将又 > hatamata\ ;
+脱却 > dakkyaku\ ;
+寂寥 > sekiryou\ ;
+寂寞 > sekibaku\ ;
+食用 > shokuyou\ ;
+某日 > boujitsu\ ;
+晩酌 > banshaku\ ;
+中肉 > chuuniku\ ;
+貞烈 > teiretsu\ ;
+飲物 > nomimono\ ;
+両膚 > ryouhada\ ;
+仲核 > chuukaku\ ;
+九穀 > kyuukoku\ ;
+実弾 > jitsudan\ ;
+下萠 > shitamoe\ ;
+曲者 > kusemono\ ;
+定律 > teiritsu\ ;
+桃園 > momozono\ ;
+首巻 > kubimaki\ ;
+仏気 > hotokegi\ ;
+春風 > harukaze\ ;
+並肉 > naminiku\ ;
+客年 > kyakunen\ ;
+越南 > betonamu\ ;
+両脇 > ryouwaki\ ;
+伸張 > shinchou\ ;
+風窓 > kazamado\ ;
+風穴 > fuuketsu\ ;
+仏殿 > butsuden\ ;
+胸壁 > kyouheki\ ;
+定式 > teishiki\ ;
+星食 > seishoku\ ;
+両肘 > ryouhiji\ ;
+両肌 > ryouhada\ ;
+貞潔 > teiketsu\ ;
+嫡男 > chakunan\ ;
+乳白 > nyuuhaku\ ;
+低密 > teimitsu\ ;
+両耳 > ryoumimi\ ;
+乱発 > ranpatsu\ ;
+脅嚇 > kyoukaku\ ;
+暴虐 > bougyaku\ ;
+肘掛 > hijikake\ ;
+両翼 > ryouyoku\ ;
+密売 > mitsubai\ ;
+木石 > bokuseki\ ;
+玉砕 > gyokusai\ ;
+七草 > nanakusa\ ;
+宮守 > miyamori\ ;
+曠職 > koushoku\ ;
+玉石 > tamaishi\ ;
+三色 > sanshoku\ ;
+仲春 > chuushun\ ;
+桑原 > kuwabara\ ;
+識閾 > shikiiki\ ;
+人波 > hitonami\ ;
+春雨 > harusame\ ;
+翳目 > kasumime\ ;
+猿股 > sarumata\ ;
+曲線 > kyokusen\ ;
+休戚 > kyuuseki\ ;
+客層 > kyakusou\ ;
+春陽 > shun''you\ ;
+貞淑 > teishuku\ ;
+守役 > moriyaku\ ;
+主節 > shusetsu\ ;
+一花 > hitohana\ ;
+顔色 > ganshoku\ ;
+中細 > chuuboso\ ;
+中級 > chuukyuu\ ;
+超克 > choukoku\ ;
+主筆 > shuhitsu\ ;
+率直 > sotchoku\ ;
+猫舌 > nekojita\ ;
+三脚 > sankyaku\ ;
+智識 > chishiki\ ;
+下肥 > shimogoe\ ;
+実害 > jitsugai\ ;
+養殖 > youshoku\ ;
+小一 > shouichi\ ;
+貪欲 > don''yoku\ ;
+人欲 > jin''yoku\ ;
+耐熱 > tainetsu\ ;
+実存 > jitsuzon\ ;
+領袖 > ryoushuu\ ;
+休息 > kyuusoku\ ;
+旱魃 > kanbatsu\ ;
+特集 > tokushuu\ ;
+末男 > batsunan\ ;
+宿坊 > shukubou\ ;
+音質 > onshitsu\ ;
+丸窓 > marumado\ ;
+猫脚 > nekoashi\ ;
+寸借 > sunshaku\ ;
+超俗 > chouzoku\ ;
+曲管 > kyokukan\ ;
+休心 > kyuushin\ ;
+脈動 > myakudou\ ;
+顕職 > kenshoku\ ;
+肩幅 > katahaba\ ;
+案出 > anshutsu\ ;
+股引 > momohiki\ ;
+丸禿 > maruhage\ ;
+供人 > tomobito\ ;
+人様 > hitosama\ ;
+乳牛 > nyuugyuu\ ;
+専一 > sen''itsu\ ;
+枕木 > makuragi\ ;
+股座 > matagura\ ;
+特長 > tokuchou\ ;
+頂角 > choukaku\ ;
+狸藻 > tanukimo\ ;
+缶詰 > kandzume\ ;
+一翼 > ichiyoku\ ;
+実妹 > jitsumai\ ;
+中空 > nakazora\ ;
+柔弱 > nyuujaku\ ;
+飲水 > nomimizu\ ;
+中程 > nakahodo\ ;
+今月 > kongetsu\ ;
+貸本 > kashihon\ ;
+並立 > heiritsu\ ;
+安宿 > yasuyado\ ;
+能力 > nouryoku\ ;
+中秋 > chuushuu\ ;
+物陰 > monokage\ ;
+安安 > yasuyasu\ ;
+学徳 > gakutoku\ ;
+習癖 > shuuheki\ ;
+丸石 > maruishi\ ;
+万緑 > banryoku\ ;
+宿命 > shukumei\ ;
+仏文 > futsubun\ ;
+牛革 > gyuukawa\ ;
+聖日 > seijitsu\ ;
+人柄 > hitogara\ ;
+高々 > takadaka\ ;
+享楽 > kyouraku\ ;
+松柏 > shouhaku\ ;
+群竹 > muratake\ ;
+警蹕 > keihitsu\ ;
+乳濁 > nyuudaku\ ;
+翠玉 > suigyoku\ ;
+日食 > nisshoku\ ;
+仇敵 > kyuuteki\ ;
+靺鞨 > makkatsu\ ;
+姿見 > sugatami\ ;
+実在 > jitsuzai\ ;
+月番 > tsukiban\ ;
+環七 > kan''nana\ ;
+胸先 > munasaki\ ;
+胸元 > munamoto\ ;
+一組 > hitokumi\ ;
+猫糞 > nekobaba\ ;
+旧領 > kyuuryou\ ;
+靴音 > kutsuoto\ ;
+乗物 > norimono\ ;
+風物 > fuubutsu\ ;
+作劇 > sakugeki\ ;
+暖色 > danshoku\ ;
+何卒 > nanitozo\ ;
+率然 > sotsuzen\ ;
+休学 > kyuugaku\ ;
+三筆 > sanpitsu\ ;
+住友 > sumitomo\ ;
+松明 > taimatsu\ ;
+偶々 > tamatama\ ;
+仮役 > kariyaku\ ;
+中皿 > chuuzara\ ;
+胸倉 > munagura\ ;
+人数 > hitokazu\ ;
+婚約 > kon''yaku\ ;
+下穴 > shitaana\ ;
+体力 > tairyoku\ ;
+宿六 > yadoroku\ ;
+耳朶 > mimitabu\ ;
+書留 > kakitome\ ;
+一筋 > hitosuji\ ;
+学寮 > gakuryou\ ;
+一筆 > hitofude\ ;
+片隅 > katasumi\ ;
+豁然 > katsuzen\ ;
+低劣 > teiretsu\ ;
+片陰 > katakage\ ;
+亥月 > gaigetsu\ ;
+特進 > tokushin\ ;
+質屋 > shichiya\ ;
+猪突 > chototsu\ ;
+京方 > kyougata\ ;
+牛鍋 > gyuunabe\ ;
+実名 > jitsumei\ ;
+来月 > raigetsu\ ;
+胸中 > kyouchuu\ ;
+一種 > hitokusa\ ;
+習熟 > shuujuku\ ;
+明達 > meitatsu\ ;
+枡形 > masugata\ ;
+宿便 > shukuben\ ;
+密令 > mitsurei\ ;
+特輯 > tokushuu\ ;
+一秒 > ichibyou\ ;
+主物 > shubutsu\ ;
+群発 > gunpatsu\ ;
+曲球 > kyokkyuu\ ;
+早鐘 > hayagane\ ;
+賢察 > kensatsu\ ;
+二桁 > futaketa\ ;
+来日 > rainichi\ ;
+昇進 > shoushin\ ;
+爪音 > tsumaoto\ ;
+断髪 > danpatsu\ ;
+曲玉 > magatama\ ;
+客分 > kyakubun\ ;
+丘疹 > kyuushin\ ;
+何何 > naninani\ ;
+胆力 > tanryoku\ ;
+事柄 > kotogara\ ;
+仮宮 > karimiya\ ;
+書物 > shomotsu\ ;
+牛酪 > gyuuraku\ ;
+独習 > dokushuu\ ;
+仮宅 > karitaku\ ;
+子宝 > kodakara\ ;
+韮葱 > niranegi\ ;
+佗人 > wabibito\ ;
+仏式 > busshiki\ ;
+頸筋 > kubisuji\ ;
+貪慾 > don''yoku\ ;
+講釈 > koushaku\ ;
+三直 > sanchoku\ ;
+何事 > nanigoto\ ;
+肉太 > nikubuto\ ;
+三百 > sanbyaku\ ;
+族長 > zokuchou\ ;
+特賞 > tokushou\ ;
+客僧 > kyakusou\ ;
+交接 > kousetsu\ ;
+顔着 > ganchaku\ ;
+乳業 > nyuugyou\ ;
+日銀 > nichigin\ ;
+枕席 > chinseki\ ;
+賓客 > hinkyaku\ ;
+実像 > jitsuzou\ ;
+実働 > jitsudou\ ;
+宮人 > miyabito\ ;
+旧里 > furusato\ ;
+一皿 > hitosara\ ;
+一皮 > hitokawa\ ;
+二方 > futakata\ ;
+上略 > jouryaku\ ;
+賊将 > zokushou\ ;
+貫徹 > kantetsu\ ;
+枢密 > suumitsu\ ;
+一癖 > hitokuse\ ;
+球審 > kyuushin\ ;
+宮中 > kyuuchuu\ ;
+豆殻 > mamegara\ ;
+現尺 > genshaku\ ;
+人影 > hitokage\ ;
+客体 > kyakutai\ ;
+実例 > jitsurei\ ;
+木槌 > kidzuchi\ ;
+令姪 > reitetsu\ ;
+現実 > genjitsu\ ;
+肇国 > choukoku\ ;
+客人 > kyakujin\ ;
+霹靂 > hekireki\ ;
+譲葉 > yuzuriha\ ;
+谷水 > tanimizu\ ;
+豪日 > gounichi\ ;
+服毒 > fukudoku\ ;
+職域 > shokuiki\ ;
+暴発 > bouhatsu\ ;
+京形 > kyougata\ ;
+食指 > shokushi\ ;
+牴触 > teishoku\ ;
+日輪 > nichirin\ ;
+肩先 > katasaki\ ;
+外鰐 > sotowani\ ;
+頻発 > hinpatsu\ ;
+伯仲 > hakuchuu\ ;
+本本 > motomoto\ ;
+本末 > honmatsu\ ;
+万物 > banmotsu\ ;
+狭窄 > kyousaku\ ;
+玉杯 > gyokuhai\ ;
+献物 > kenmotsu\ ;
+人山 > hitoyama\ ;
+早足 > hayaashi\ ;
+了承 > ryoushou\ ;
+中流 > chuuryuu\ ;
+霧雨 > kirisame\ ;
+大食 > taishoku\ ;
+文飾 > bunshoku\ ;
+賢哲 > kentetsu\ ;
+片足 > kataashi\ ;
+一片 > hitohira\ ;
+本日 > honjitsu\ ;
+乾拭 > karabuki\ ;
+食感 > shokukan\ ;
+整髪 > seihatsu\ ;
+仏壇 > butsudan\ ;
+学割 > gakuwari\ ;
+整骨 > seikotsu\ ;
+贋作 > nisesaku\ ;
+学則 > gakusoku\ ;
+曲水 > kyokusui\ ;
+風月 > fuugetsu\ ;
+霜雪 > sousetsu\ ;
+乱掘 > rankutsu\ ;
+中毒 > chuudoku\ ;
+九日 > kokonoka\ ;
+日豪 > nichigou\ ;
+仏堂 > butsudou\ ;
+九族 > kyuuzoku\ ;
+響笛 > kyouteki\ ;
+読響 > yomikyou\ ;
+講説 > kousetsu\ ;
+牛角 > gyuukaku\ ;
+大雪 > taisetsu\ ;
+外食 > gaishoku\ ;
+耳屎 > mimikuso\ ;
+夕飯 > yuumeshi\ ;
+職名 > shokumei\ ;
+晩節 > bansetsu\ ;
+二役 > futayaku\ ;
+夕食 > yuushoku\ ;
+二形 > futanari\ ;
+春菊 > shungiku\ ;
+学僕 > gakuboku\ ;
+豆料 > mameryou\ ;
+玉摧 > gyokusai\ ;
+朝敵 > chouteki\ ;
+散髪 > sanpatsu\ ;
+謎謎 > nazonazo\ ;
+山々 > yamayama\ ;
+妄説 > mousetsu\ ;
+頓着 > tonchaku\ ;
+仏噸 > futsuton\ ;
+妖術 > youjutsu\ ;
+雛鳥 > hinadori\ ;
+電飾 > denshoku\ ;
+学修 > gakushuu\ ;
+旧訳 > kyuuyaku\ ;
+月末 > tsukizue\ ;
+独白 > dokuhaku\ ;
+猛烈 > mouretsu\ ;
+爪跡 > tsumeato\ ;
+仮初 > karisome\ ;
+来客 > raikyaku\ ;
+月曜 > getsuyou\ ;
+翌朝 > yokuchou\ ;
+繁雑 > hanzatsu\ ;
+職制 > shokusei\ ;
+新進 > shinshin\ ;
+職分 > shokubun\ ;
+乾式 > kanshiki\ ;
+面識 > menshiki\ ;
+人垣 > hitogaki\ ;
+失錯 > shissaku\ ;
+久方 > hisakata\ ;
+月明 > getsumei\ ;
+声高 > kowadaka\ ;
+論述 > ronjutsu\ ;
+翌春 > yokushun\ ;
+諾諾 > dakudaku\ ;
+識者 > shikisha\ ;
+仕口 > shikuchi\ ;
+中核 > chuukaku\ ;
+象徴 > shouchou\ ;
+珍妙 > chinmyou\ ;
+貝塚 > kaidzuka\ ;
+聖哲 > seitetsu\ ;
+面詰 > menkitsu\ ;
+縞馬 > shimauma\ ;
+食尽 > shokujin\ ;
+賭事 > kakegoto\ ;
+一流 > ichiryuu\ ;
+中柄 > chuugara\ ;
+書札 > shosatsu\ ;
+妙薬 > myouyaku\ ;
+主日 > shujitsu\ ;
+諸諸 > moromoro\ ;
+静謐 > seihitsu\ ;
+諸説 > shosetsu\ ;
+資力 > shiryoku\ ;
+女親 > on''naoya\ ;
+更更 > sarasara\ ;
+杓子 > shakushi\ ;
+曲曲 > kumaguma\ ;
+智略 > chiryaku\ ;
+明色 > meishoku\ ;
+日蝕 > nisshoku\ ;
+他出 > tashutsu\ ;
+雨靴 > amagutsu\ ;
+本式 > honshiki\ ;
+仏前 > butsuzen\ ;
+調進 > choushin\ ;
+雪雲 > yukigumo\ ;
+雨霰 > amearare\ ;
+仏刹 > bussetsu\ ;
+木彫 > mokuchou\ ;
+暑熱 > shonetsu\ ;
+物色 > busshoku\ ;
+職人 > shokunin\ ;
+諧謔 > kaigyaku\ ;
+独特 > dokutoku\ ;
+失速 > shissoku\ ;
+春繭 > harumayu\ ;
+餞別 > senbetsu\ ;
+熱願 > netsugan\ ;
+末年 > matsunen\ ;
+嫡孫 > chakuson\ ;
+物臭 > monogusa\ ;
+聖別 > seibetsu\ ;
+嫡子 > chakushi\ ;
+諤諤 > gakugaku\ ;
+狡猾 > koukatsu\ ;
+考察 > kousatsu\ ;
+雑食 > zasshoku\ ;
+主持 > shumochi\ ;
+嬰児 > midorigo\ ;
+縦長 > tatenaga\ ;
+施設 > shisetsu\ ;
+狂的 > kyouteki\ ;
+争奪 > soudatsu\ ;
+鞏膜 > kyoumaku\ ;
+仏像 > butsuzou\ ;
+老実 > roujitsu\ ;
+大逆 > daigyaku\ ;
+日蓮 > nichiren\ ;
+熱雷 > netsurai\ ;
+試食 > shishoku\ ;
+敷金 > shikikin\ ;
+人力 > jinryoku\ ;
+九州 > kyuushuu\ ;
+新調 > shinchou\ ;
+食堂 > shokudou\ ;
+嫡妻 > chakusai\ ;
+一棟 > hitomune\ ;
+失跡 > shisseki\ ;
+人刺 > jinsashi\ ;
+電鉄 > dentetsu\ ;
+人別 > ninbetsu\ ;
+論説 > ronsetsu\ ;
+本局 > honkyoku\ ;
+中指 > nakayubi\ ;
+貸借 > taishaku\ ;
+獲得 > kakutoku\ ;
+論詰 > ronkitsu\ ;
+一桁 > hitoketa\ ;
+施術 > shijutsu\ ;
+顛末 > tenmatsu\ ;
+貫入 > kan''nyuu\ ;
+財力 > zairyoku\ ;
+語部 > kataribe\ ;
+習得 > shuutoku\ ;
+三曲 > sankyoku\ ;
+景物 > keibutsu\ ;
+方術 > houjutsu\ ;
+特約 > tokuyaku\ ;
+一枚 > hitohira\ ;
+繰言 > kurigoto\ ;
+牛肉 > gyuuniku\ ;
+杉垣 > sugigaki\ ;
+王室 > oushitsu\ ;
+一束 > hitotaba\ ;
+京劇 > kyougeki\ ;
+牡羊 > ohitsuji\ ;
+谷底 > tanizoko\ ;
+一木 > ichiboku\ ;
+人傑 > jinketsu\ ;
+韜略 > touryaku\ ;
+旧臣 > kyuushin\ ;
+昨秋 > sakushuu\ ;
+好色 > koushoku\ ;
+谷川 > tanigawa\ ;
+仄仄 > honobono\ ;
+買主 > kainushi\ ;
+一時 > hitotoki\ ;
+昇給 > shoukyuu\ ;
+片膝 > katahiza\ ;
+乗客 > joukyaku\ ;
+丸形 > marugata\ ;
+飲助 > nomisuke\ ;
+曲悪 > kyokuaku\ ;
+昇級 > shoukyuu\ ;
+一旗 > hitohata\ ;
+一族 > ichizoku\ ;
+食品 > shokuhin\ ;
+物納 > butsunou\ ;
+失調 > shitchou\ ;
+煮魚 > nizakana\ ;
+失語 > shitsugo\ ;
+耳元 > mimimoto\ ;
+早耳 > hayamimi\ ;
+丸底 > maruzoko\ ;
+面色 > menshoku\ ;
+人人 > hitobito\ ;
+散逸 > san''itsu\ ;
+中心 > chuushin\ ;
+片肌 > katahada\ ;
+詳録 > shouroku\ ;
+嫡嗣 > chakushi\ ;
+書式 > shoshiki\ ;
+人事 > hitogoto\ ;
+総髪 > souhatsu\ ;
+服属 > fukuzoku\ ;
+特種 > tokudane\ ;
+中形 > chuugata\ ;
+片耳 > katamimi\ ;
+旧習 > kyuushuu\ ;
+人中 > hitonaka\ ;
+人並 > hitonami\ ;
+特称 > tokushou\ ;
+一撃 > ichigeki\ ;
+中庭 > nakaniwa\ ;
+少々 > shoushou\ ;
+始発 > shihatsu\ ;
+謝絶 > shazetsu\ ;
+乾咳 > karazeki\ ;
+中幕 > nakamaku\ ;
+中幅 > chuuhaba\ ;
+諸膝 > morohiza\ ;
+諸膚 > morohada\ ;
+中席 > nakaseki\ ;
+朝夕 > chouseki\ ;
+牧笛 > bokuteki\ ;
+両得 > ryoutoku\ ;
+縦軸 > tatejiku\ ;
+青色 > seishoku\ ;
+食前 > shokuzen\ ;
+姦物 > kanbutsu\ ;
+食刻 > shokkoku\ ;
+玉垣 > tamagaki\ ;
+集録 > shuuroku\ ;
+雲足 > kumoashi\ ;
+緑風 > ryokufuu\ ;
+物種 > monodane\ ;
+並幅 > namihaba\ ;
+妙策 > myousaku\ ;
+静脈 > joumyaku\ ;
+物税 > butsuzei\ ;
+主客 > shukyaku\ ;
+飼主 > kainushi\ ;
+諸肌 > morohada\ ;
+並巾 > namihaba\ ;
+交交 > komogomo\ ;
+爆薬 > bakuyaku\ ;
+中島 > nakajima\ ;
+故郷 > furusato\ ;
+事共 > kotodomo\ ;
+不悉 > fushitsu\ ;
+旧約 > kyuuyaku\ ;
+牧神 > bokushin\ ;
+緑青 > rokushou\ ;
+方舟 > hakobune\ ;
+飯事 > mamagoto\ ;
+中小 > chuushou\ ;
+曲射 > kyokusha\ ;
+雁金 > karigane\ ;
+日米 > nichibei\ ;
+焼鳥 > yakitori\ ;
+謹直 > kinchoku\ ;
+中学 > chuugaku\ ;
+練鉄 > rentetsu\ ;
+調薬 > chouyaku\ ;
+変説 > hensetsu\ ;
+敵襲 > tekishuu\ ;
+放逐 > houchiku\ ;
+三役 > san''yaku\ ;
+煩雑 > hanzatsu\ ;
+認識 > ninshiki\ ;
+旧章 > kyuushou\ ;
+緑門 > ryokumon\ ;
+村人 > murabito\ ;
+下帯 > shitaobi\ ;
+一役 > hitoyaku\ ;
+豪傑 > gouketsu\ ;
+事事 > kotogoto\ ;
+綿雲 > watagumo\ ;
+乱入 > ran''nyuu\ ;
+綿雪 > watayuki\ ;
+予予 > kanegane\ ;
+旧称 > kyuushou\ ;
+世局 > seikyoku\ ;
+練達 > rentatsu\ ;
+暇暇 > himahima\ ;
+一廉 > hitokado\ ;
+隆隆 > ryuuryuu\ ;
+一度 > hitotabi\ ;
+隅隅 > sumizumi\ ;
+一年 > hitotose\ ;
+静粛 > seishuku\ ;
+塩鮭 > shiozake\ ;
+族籍 > zokuseki\ ;
+大蒜 > nin''niku\ ;
+一幕 > hitomaku\ ;
+丸型 > marugata\ ;
+奉職 > houshoku\ ;
+赫々 > kakukaku\ ;
+一巻 > hitomaki\ ;
+難詰 > nankitsu\ ;
+雀躍 > jakuyaku\ ;
+中塗 > nakanuri\ ;
+陪食 > baishoku\ ;
+頌春 > shoushun\ ;
+万屋 > yorozuya\ ;
+中垣 > nakagaki\ ;
+中型 > chuugata\ ;
+風力 > fuuryoku\ ;
+上客 > joukyaku\ ;
+乱伐 > ranbatsu\ ;
+智日 > chinichi\ ;
+猫属 > nekozoku\ ;
+寒々 > samuzamu\ ;
+一山 > hitoyama\ ;
+中国 > chuugoku\ ;
+天色 > tenshoku\ ;
+頃日 > keijitsu\ ;
+詳註 > shouchuu\ ;
+雑談 > zatsudan\ ;
+族称 > zokushou\ ;
+日直 > nitchoku\ ;
+緑酒 > ryokushu\ ;
+一室 > isshitsu\ ;
+太腿 > futomomo\ ;
+領承 > ryoushou\ ;
+断絶 > danzetsu\ ;
+一子 > hitorigo\ ;
+姫様 > himesama\ ;
+電蓄 > denchiku\ ;
+末代 > matsudai\ ;
+壜詰 > bindzume\ ;
+言霊 > kotodama\ ;
+両国 > ryougoku\ ;
+主取 > shuudori\ ;
+雨蛙 > amagaeru\ ;
+熟読 > jukudoku\ ;
+玉体 > gyokutai\ ;
+牧牛 > bokugyuu\ ;
+塾長 > jukuchou\ ;
+太股 > futomomo\ ;
+有力 > yuuryoku\ ;
+熱血 > nekketsu\ ;
+散薬 > san''yaku\ ;
+玉代 > gyokudai\ ;
+天職 > tenshoku\ ;
+文脈 > bunmyaku\ ;
+集註 > shuuchuu\ ;
+隔週 > kakushuu\ ;
+日用 > nichiyou\ ;
+書取 > kakitori\ ;
+主力 > shuryoku\ ;
+月内 > getsunai\ ;
+七夜 > shichiya\ ;
+乞丐 > kotsugai\ ;
+七夕 > tanabata\ ;
+謡物 > utaimono\ ;
+頻尿 > hin''nyou\ ;
+天罰 > tenbatsu\ ;
+面白 > omoshiro\ ;
+曲名 > kyokumei\ ;
+総轄 > soukatsu\ ;
+中古 > chuuburu\ ;
+何々 > naninani\ ;
+一失 > isshitsu\ ;
+狼座 > ookamiza\ ;
+証跡 > shouseki\ ;
+奮発 > funpatsu\ ;
+新穀 > shinkoku\ ;
+評註 > hyouchuu\ ;
+変色 > henshoku\ ;
+明滅 > meimetsu\ ;
+陸釣 > okadzuri\ ;
+謀略 > bouryaku\ ;
+一塩 > hitoshio\ ;
+風上 > kazakami\ ;
+外股 > sotomata\ ;
+習俗 > shuuzoku\ ;
+降雪 > kousetsu\ ;
+独得 > dokutoku\ ;
+絶食 > zesshoku\ ;
+書初 > kakizome\ ;
+訓釈 > kunshaku\ ;
+誦習 > shoushuu\ ;
+爆笑 > bakushou\ ;
+習作 > shuusaku\ ;
+書冊 > shosatsu\ ;
+特注 > tokuchuu\ ;
+月例 > getsurei\ ;
+暦学 > rekigaku\ ;
+丸傷 > tamakizu\ ;
+奉祝 > houshuku\ ;
+頌徳 > shoutoku\ ;
+防食 > boushoku\ ;
+爪痕 > tsumeato\ ;
+中共 > chuukyou\ ;
+並列 > heiretsu\ ;
+久久 > hisabisa\ ;
+緑豆 > ryokutou\ ;
+好物 > koubutsu\ ;
+雲脚 > kumoashi\ ;
+青畳 > aodatami\ ;
+雛菊 > hinagiku\ ;
+失策 > shissaku\ ;
+時時 > tokidoki\ ;
+中傷 > chuushou\ ;
+失笑 > shisshou\ ;
+敗色 > haishoku\ ;
+雪膚 > yukihada\ ;
+難色 > nanshoku\ ;
+暗室 > anshitsu\ ;
+陵辱 > ryoujoku\ ;
+下味 > shitaaji\ ;
+結髪 > keppatsu\ ;
+焼酎 > shouchuu\ ;
+昼時 > hirudoki\ ;
+声色 > seishoku\ ;
+丸事 > marugoto\ ;
+文節 > bunsetsu\ ;
+文箱 > fumibako\ ;
+大筒 > oodzutsu\ ;
+丸丸 > marumaru\ ;
+防雪 > bousetsu\ ;
+雪肌 > yukihada\ ;
+訳読 > yakudoku\ ;
+七味 > shichimi\ ;
+方略 > houryaku\ ;
+丸一 > maruichi\ ;
+狭小 > kyoushou\ ;
+中低 > nakabiku\ ;
+総説 > sousetsu\ ;
+始末 > shimatsu\ ;
+文筆 > bunpitsu\ ;
+大童 > oowarawa\ ;
+青玉 > seigyoku\ ;
+両側 > ryousoku\ ;
+失神 > shisshin\ ;
+集落 > shuuraku\ ;
+静物 > seibutsu\ ;
+万卒 > bansotsu\ ;
+中京 > chuukyou\ ;
+一向 > hitasura\ ;
+独学 > dokugaku\ ;
+昨朝 > sakuchou\ ;
+一叢 > hitomura\ ;
+曲事 > kusegoto\ ;
+雑色 > zasshoku\ ;
+中中 > nakanaka\ ;
+安々 > yasuyasu\ ;
+教習 > kyoushuu\ ;
+陞進 > shoushin\ ;
+類別 > ruibetsu\ ;
+縮緬 > chirimen\ ;
+昨暁 > sakugyou\ ;
+結願 > kechigan\ ;
+昨春 > sakushun\ ;
+万別 > banbetsu\ ;
+焼身 > shoushin\ ;
+頁岩 > ketsugan\ ;
+並並 > naminami\ ;
+縦縞 > tatejima\ ;
+覗魔 > nozokima\ ;
+増設 > zousetsu\ ;
+一割 > ichiwari\ ;
+夕立 > yuudachi\ ;
+塩辛 > shiokara\ ;
+解釈 > kaishaku\ ;
+旧流 > kyuuryuu\ ;
+両両 > ryouryou\ ;
+警抜 > keibatsu\ ;
+変節 > hensetsu\ ;
+絹針 > kinubari\ ;
+獄中 > gokuchuu\ ;
+一入 > hitoshio\ ;
+一先 > hitomazu\ ;
+昇格 > shoukaku\ ;
+繭玉 > mayudama\ ;
+明月 > meigetsu\ ;
+鞭撻 > bentatsu\ ;
+雨粒 > ametsubu\ ;
+増血 > zouketsu\ ;
+暴力 > bouryoku\ ;
+観閲 > kan''etsu\ ;
+易易 > yasuyasu\ ;
+緑藻 > ryokusou\ ;
+壮絶 > souzetsu\ ;
+教籍 > kyouseki\ ;
+領国 > ryougoku\ ;
+明春 > myoushun\ ;
+万代 > yorozuyo\ ;
+支脈 > shimyaku\ ;
+独国 > dokukoku\ ;
+撰述 > senjutsu\ ;
+三下 > sanshita\ ;
+大略 > tairyaku\ ;
+女気 > on''nakke\ ;
+塩豆 > shiomame\ ;
+万世 > yorozuyo\ ;
+万一 > man''ichi\ ;
+雪空 > yukizora\ ;
+謀殺 > bousatsu\ ;
+組長 > kumichou\ ;
+言説 > gensetsu\ ;
+早業 > hayawaza\ ;
+角通 > kakutsuu\ ;
+一両 > ichiryou\ ;
+一一 > itsuitsu\ ;
+統轄 > toukatsu\ ;
+謡曲 > youkyoku\ ;
+紅鱒 > benimasu\ ;
+独唱 > dokushou\ ;
+新潮 > shinchou\ ;
+緑茶 > ryokucha\ ;
+昼席 > hiruseki\ ;
+紅鮭 > benizake\ ;
+納骨 > noukotsu\ ;
+旧株 > kyuukabu\ ;
+姫宮 > himemiya\ ;
+墜落 > tsuiraku\ ;
+数百 > suuhyaku\ ;
+集約 > shuuyaku\ ;
+誘発 > yuuhatsu\ ;
+領収 > ryoushuu\ ;
+片栗 > katakuri\ ;
+旬月 > jungetsu\ ;
+天爵 > tenshaku\ ;
+煎薬 > sen''yaku\ ;
+電略 > denryaku\ ;
+文物 > bunbutsu\ ;
+改築 > kaichiku\ ;
+試筋 > tamesuji\ ;
+試筆 > shihitsu\ ;
+旧暦 > kyuureki\ ;
+日曜 > nichiyou\ ;
+隔膜 > kakumaku\ ;
+旬日 > junjitsu\ ;
+散発 > sanpatsu\ ;
+雑税 > zatsuzei\ ;
+読物 > yomimono\ ;
+雪盲 > setsumou\ ;
+警察 > keisatsu\ ;
+解説 > kaisetsu\ ;
+緩緩 > yuruyuru\ ;
+早早 > hayabaya\ ;
+角貝 > tsunogai\ ;
+摂食 > sesshoku\ ;
+西陣 > nishijin\ ;
+触角 > shokkaku\ ;
+壁紙 > kabegami\ ;
+触覚 > shokkaku\ ;
+旧敵 > kyuuteki\ ;
+特徴 > tokuchou\ ;
+紐革 > himokawa\ ;
+旧教 > kyuukyou\ ;
+集積 > shuuseki\ ;
+埋骨 > maikotsu\ ;
+旗本 > hatamoto\ ;
+外物 > gaibutsu\ ;
+觝触 > teishoku\ ;
+級長 > kyuuchou\ ;
+斬殺 > zansatsu\ ;
+物情 > butsujou\ ;
+締結 > teiketsu\ ;
+革新 > kakushin\ ;
+集票 > shuuhyou\ ;
+智力 > chiryoku\ ;
+雨男 > ameotoko\ ;
+爆沈 > bakuchin\ ;
+夜烏 > yogarasu\ ;
+姫垣 > himegaki\ ;
+熊笹 > kumazasa\ ;
+熱発 > neppatsu\ ;
+順列 > junretsu\ ;
+墨繩 > suminawa\ ;
+謙抑 > ken''yoku\ ;
+撮要 > satsuyou\ ;
+独修 > dokushuu\ ;
+変物 > henbutsu\ ;
+墨縄 > suminawa\ ;
+春宵 > shunshou\ ;
+物影 > monokage\ ;
+闇雲 > yamikumo\ ;
+続落 > zokuraku\ ;
+雪玉 > yukidama\ ;
+摘録 > tekiroku\ ;
+仄々 > honobono\ ;
+早技 > hayawaza\ ;
+終身 > shuushin\ ;
+緊縮 > kinshuku\ ;
+試着 > shichaku\ ;
+外濠 > sotobori\ ;
+妾宅 > shoutaku\ ;
+星宿 > seishuku\ ;
+角袖 > kakusode\ ;
+闇闇 > yamiyami\ ;
+多湿 > tashitsu\ ;
+人々 > hitobito\ ;
+面接 > mensetsu\ ;
+雑用 > zatsuyou\ ;
+新株 > shinkabu\ ;
+摺足 > suriashi\ ;
+旁旁 > katagata\ ;
+新柄 > shingara\ ;
+政略 > seiryaku\ ;
+見通 > mitooshi\ ;
+難物 > nanbutsu\ ;
+見返 > mikaeshi\ ;
+増結 > zouketsu\ ;
+明察 > meisatsu\ ;
+姫君 > himegimi\ ;
+攻略 > kouryaku\ ;
+結論 > ketsuron\ ;
+奏曲 > soukyoku\ ;
+霽月 > seigetsu\ ;
+防蝕 > boushoku\ ;
+新暦 > shinreki\ ;
+焼肉 > yakiniku\ ;
+熾烈 > shiretsu\ ;
+結言 > ketsugen\ ;
+証票 > shouhyou\ ;
+随筆 > zuihitsu\ ;
+外法 > sotonori\ ;
+新春 > shinshun\ ;
+新旧 > shinkyuu\ ;
+陸続 > rikuzoku\ ;
+熱熱 > atsuatsu\ ;
+増築 > zouchiku\ ;
+交々 > komogomo\ ;
+間食 > kanshoku\ ;
+縮減 > shukugen\ ;
+新教 > shinkyou\ ;
+壮烈 > souretsu\ ;
+繁殖 > hanshoku\ ;
+天極 > tenkyoku\ ;
+狂信 > kyoushin\ ;
+旧幕 > kyuubaku\ ;
+絹莢 > kinusaya\ ;
+失格 > shikkaku\ ;
+閨閥 > keibatsu\ ;
+日常 > nichijou\ ;
+雑然 > zatsuzen\ ;
+敗滅 > haimetsu\ ;
+放熱 > hounetsu\ ;
+誘殺 > yuusatsu\ ;
+闊達 > kattatsu\ ;
+降職 > koushoku\ ;
+素質 > soshitsu\ ;
+垂髪 > taregami\ ;
+雁爪 > gandzume\ ;
+縦波 > tatenami\ ;
+細説 > saisetsu\ ;
+診療 > shinryou\ ;
+続続 > zokuzoku\ ;
+爆撃 > bakugeki\ ;
+見識 > kenshiki\ ;
+誰某 > daresore\ ;
+焼糞 > yakekuso\ ;
+旋律 > senritsu\ ;
+諸式 > shoshiki\ ;
+熱源 > netsugen\ ;
+解職 > kaishoku\ ;
+事々 > kotogoto\ ;
+夜桜 > yozakura\ ;
+文末 > bunmatsu\ ;
+旧宅 > kyuutaku\ ;
+調教 > choukyou\ ;
+予々 > kanegane\ ;
+時偶 > tokitama\ ;
+如実 > nyojitsu\ ;
+斎日 > saijitsu\ ;
+角膜 > kakumaku\ ;
+熱涙 > netsurui\ ;
+諒承 > ryoushou\ ;
+電極 > denkyoku\ ;
+塵箱 > gomibako\ ;
+敏活 > binkatsu\ ;
+開闢 > kaibyaku\ ;
+煥発 > kanpatsu\ ;
+大日 > dainichi\ ;
+韓人 > karabito\ ;
+外枠 > sotowaku\ ;
+敷板 > shikiita\ ;
+説明 > setsumei\ ;
+縦横 > tateyoko\ ;
+要訣 > youketsu\ ;
+増発 > zouhatsu\ ;
+明哲 > meitetsu\ ;
+夜昼 > yoruhiru\ ;
+点訳 > ten''yaku\ ;
+夕月 > yuudzuki\ ;
+方式 > houshiki\ ;
+門閥 > monbatsu\ ;
+飄々 > hyouhyou\ ;
+春先 > harusaki\ ;
+始値 > hajimene\ ;
+新形 > shingata\ ;
+翼々 > yokuyoku\ ;
+陸相 > rikushou\ ;
+絹綿 > kinuwata\ ;
+牆壁 > shouheki\ ;
+壊滅 > kaimetsu\ ;
+際物 > kiwamono\ ;
+夭折 > yousetsu\ ;
+奨学 > shougaku\ ;
+集注 > shuuchuu\ ;
+敵方 > tekigata\ ;
+長長 > naganaga\ ;
+新年 > shin''nen\ ;
+爆心 > bakushin\ ;
+約諾 > yakudaku\ ;
+数日 > suujitsu\ ;
+本々 > motomoto\ ;
+防縮 > boushuku\ ;
+擁立 > youritsu\ ;
+数数 > kazukazu\ ;
+大所 > oodokoro\ ;
+旧国 > kyuukoku\ ;
+地鼠 > jinezumi\ ;
+純血 > junketsu\ ;
+粉飾 > funshoku\ ;
+縦書 > tategaki\ ;
+擦疵 > surikizu\ ;
+粉食 > funshoku\ ;
+塚穴 > tsukaana\ ;
+外接 > gaisetsu\ ;
+評注 > hyouchuu\ ;
+照焼 > teriyaki\ ;
+失心 > shisshin\ ;
+絶筆 > zeppitsu\ ;
+難曲 > nankyoku\ ;
+計略 > keiryaku\ ;
+夙成 > shukusei\ ;
+見落 > miotoshi\ ;
+点薬 > ten''yaku\ ;
+炸薬 > sakuyaku\ ;
+新宅 > shintaku\ ;
+埋設 > maisetsu\ ;
+接骨 > sekkotsu\ ;
+陽物 > youbutsu\ ;
+論客 > ronkyaku\ ;
+角笛 > tsunobue\ ;
+熱望 > netsubou\ ;
+長針 > choushin\ ;
+閲読 > etsudoku\ ;
+誰彼 > tarekare\ ;
+米食 > beishoku\ ;
+索莫 > sakubaku\ ;
+結縄 > ketsujou\ ;
+久々 > hisabisa\ ;
+雑曲 > zakkyoku\ ;
+太巻 > futomaki\ ;
+新妻 > niidzuma\ ;
+結紮 > kessatsu\ ;
+夙志 > shukushi\ ;
+翌々 > yokuyoku\ ;
+旧劇 > kyuugeki\ ;
+摘芯 > tekishin\ ;
+関説 > kansetsu\ ;
+物事 > monogoto\ ;
+訳注 > yakuchuu\ ;
+改札 > kaisatsu\ ;
+煮沸 > shafutsu\ ;
+大嵐 > ooarashi\ ;
+製鉄 > seitetsu\ ;
+装飾 > soushoku\ ;
+雑文 > zatsubun\ ;
+丸々 > marumaru\ ;
+紙花 > kamibana\ ;
+焼物 > yakimono\ ;
+敵役 > tekiyaku\ ;
+結節 > kessetsu\ ;
+長軸 > choujiku\ ;
+外庭 > sotoniwa\ ;
+組紐 > kumihimo\ ;
+粒銀 > tsubugin\ ;
+震幅 > shinpuku\ ;
+整式 > seishiki\ ;
+開豁 > kaikatsu\ ;
+長身 > choushin\ ;
+縁日 > en''nichi\ ;
+大局 > taikyoku\ ;
+新型 > shingata\ ;
+夜嵐 > yoarashi\ ;
+数式 > suushiki\ ;
+更々 > sarasara\ ;
+牛乳 > gyuunyuu\ ;
+中々 > nakanaka\ ;
+曲々 > kumaguma\ ;
+長足 > chousoku\ ;
+塩物 > shiomono\ ;
+要職 > youshoku\ ;
+片側 > katagawa\ ;
+褶襞 > shuuheki\ ;
+雀斑 > sobakasu\ ;
+旧俗 > kyuuzoku\ ;
+雲形 > kumogata\ ;
+経穴 > keiketsu\ ;
+並々 > naminami\ ;
+撞着 > douchaku\ ;
+旧作 > kyuusaku\ ;
+紅花 > benibana\ ;
+陰湿 > inshitsu\ ;
+編曲 > henkyoku\ ;
+組立 > kumitate\ ;
+開設 > kaisetsu\ ;
+両々 > ryouryou\ ;
+細細 > hosoboso\ ;
+試掘 > shikutsu\ ;
+塩焼 > shioyaki\ ;
+外局 > gaikyoku\ ;
+増殖 > zoushoku\ ;
+旧人 > furubito\ ;
+訳業 > yakugyou\ ;
+排雪 > haisetsu\ ;
+粛軍 > shukugun\ ;
+熱感 > netsukan\ ;
+失墜 > shittsui\ ;
+国鳥 > kokuchou\ ;
+諸共 > morotomo\ ;
+夫夫 > sorezore\ ;
+紡織 > boushoku\ ;
+外客 > gaikyaku\ ;
+熱情 > netsujou\ ;
+外孫 > sotomago\ ;
+糖蜜 > toumitsu\ ;
+誠実 > seijitsu\ ;
+難役 > nan''yaku\ ;
+救急 > kyuukyuu\ ;
+塗物 > nurimono\ ;
+版下 > hanshita\ ;
+除湿 > joshitsu\ ;
+熔接 > yousetsu\ ;
+統率 > tousotsu\ ;
+長調 > chouchou\ ;
+旅先 > tabisaki\ ;
+点綴 > tentetsu\ ;
+細筆 > saihitsu\ ;
+雪嶺 > setsurei\ ;
+絹物 > kinumono\ ;
+訳柄 > wakegara\ ;
+襟腰 > erikoshi\ ;
+結着 > ketchaku\ ;
+緑林 > ryokurin\ ;
+結盟 > ketsumei\ ;
+熱弁 > netsuben\ ;
+雑念 > zatsunen\ ;
+討死 > uchijini\ ;
+支払 > shiharai\ ;
+親睦 > shinboku\ ;
+堀端 > horibata\ ;
+陥没 > kanbotsu\ ;
+新劇 > shingeki\ ;
+角牛 > kakugyuu\ ;
+雑役 > zatsueki\ ;
+雪山 > yukiyama\ ;
+諸人 > morobito\ ;
+陣没 > jinbotsu\ ;
+陽極 > youkyoku\ ;
+父上 > chichiue\ ;
+雪害 > setsugai\ ;
+長袖 > nagasode\ ;
+一々 > itsuitsu\ ;
+防熱 > bounetsu\ ;
+難局 > nankyoku\ ;
+縄張 > nawabari\ ;
+外堀 > sotobori\ ;
+経略 > keiryaku\ ;
+裏道 > uramichi\ ;
+隣接 > rinsetsu\ ;
+継母 > mamahaha\ ;
+大喝 > daikatsu\ ;
+紙筆 > shihitsu\ ;
+教学 > kyougaku\ ;
+露出 > roshutsu\ ;
+訪日 > hounichi\ ;
+塩水 > shiomizu\ ;
+敷地 > shikichi\ ;
+隆昌 > ryuushou\ ;
+新修 > shinshuu\ ;
+大吉 > daikichi\ ;
+新作 > shinsaku\ ;
+関脇 > sekiwake\ ;
+燭台 > shokudai\ ;
+炭窯 > sumigama\ ;
+電圧 > den''atsu\ ;
+雨女 > ameon''na\ ;
+爆傷 > bakushou\ ;
+新任 > shin''nin\ ;
+激震 > gekishin\ ;
+間色 > kanshoku\ ;
+変圧 > hen''atsu\ ;
+親王 > shin''nou\ ;
+大卒 > daisotsu\ ;
+総括 > soukatsu\ ;
+解決 > kaiketsu\ ;
+政局 > seikyoku\ ;
+壁役 > kabeyaku\ ;
+掛軸 > kakejiku\ ;
+縄尻 > nawajiri\ ;
+裲襠 > uchikake\ ;
+基督 > kirisuto\ ;
+褪色 > taishoku\ ;
+大別 > taibetsu\ ;
+大切 > taisetsu\ ;
+斉列 > seiretsu\ ;
+雪国 > yukiguni\ ;
+大冊 > taisatsu\ ;
+緻密 > chimitsu\ ;
+閑職 > kanshoku\ ;
+変哲 > hentetsu\ ;
+糸竹 > shichiku\ ;
+開脚 > kaikyaku\ ;
+支局 > shikyoku\ ;
+失保 > shitsuho\ ;
+終熄 > shuusoku\ ;
+外力 > gairyoku\ ;
+調伏 > choubuku\ ;
+雛型 > hinagata\ ;
+要略 > youryaku\ ;
+救国 > kyuukoku\ ;
+門脈 > monmyaku\ ;
+褐色 > kasshoku\ ;
+整列 > seiretsu\ ;
+電力 > denryoku\ ;
+接触 > sesshoku\ ;
+数列 > suuretsu\ ;
+大仏 > daibutsu\ ;
+関節 > kansetsu\ ;
+放埒 > houratsu\ ;
+絞殺 > kousatsu\ ;
+外側 > sotogawa\ ;
+表門 > omotemon\ ;
+数冊 > suusatsu\ ;
+雲助 > kumosuke\ ;
+雪原 > setsugen\ ;
+雑嚢 > zatsunou\ ;
+濁酒 > doburoku\ ;
+土質 > doshitsu\ ;
+敵側 > tekigawa\ ;
+訥弁 > totsuben\ ;
+裏表 > uraomote\ ;
+読了 > dokuryou\ ;
+灰篩 > haifurui\ ;
+粥腹 > kayubara\ ;
+瀉血 > shaketsu\ ;
+堅炭 > katazumi\ ;
+綿弓 > watayumi\ ;
+縮写 > shukusha\ ;
+教卓 > kyoutaku\ ;
+垂耳 > taremimi\ ;
+詰問 > kitsumon\ ;
+売却 > baikyaku\ ;
+採血 > saiketsu\ ;
+縦列 > juuretsu\ ;
+行革 > gyoukaku\ ;
+絶望 > zetsubou\ ;
+撃沈 > gekichin\ ;
+角柱 > kakuchuu\ ;
+国辱 > kokujoku\ ;
+教則 > kyousoku\ ;
+墨客 > bokkyaku\ ;
+士卒 > shisotsu\ ;
+地袋 > jibukuro\ ;
+敵中 > tekichuu\ ;
+売出 > uridashi\ ;
+緊密 > kinmitsu\ ;
+揺篭 > yurikago\ ;
+雪像 > setsuzou\ ;
+紅玉 > kougyoku\ ;
+米蔵 > komegura\ ;
+潮風 > shiokaze\ ;
+型紙 > katagami\ ;
+訪客 > houkyaku\ ;
+許嫁 > iinazuke\ ;
+捏造 > netsuzou\ ;
+散佚 > san''itsu\ ;
+許婚 > iinazuke\ ;
+索漠 > sakubaku\ ;
+閏秒 > uruubyou\ ;
+潤飾 > junshoku\ ;
+拳骨 > genkotsu\ ;
+綿密 > menmitsu\ ;
+激越 > gekietsu\ ;
+綿実 > menjitsu\ ;
+細波 > sazanami\ ;
+障壁 > shouheki\ ;
+国賊 > kokuzoku\ ;
+点滅 > tenmetsu\ ;
+触手 > shokushu\ ;
+節食 > sesshoku\ ;
+激賞 > gekishou\ ;
+製織 > seishoku\ ;
+給料 > kyuuryou\ ;
+純潔 > junketsu\ ;
+隔壁 > kakuheki\ ;
+放列 > houretsu\ ;
+陸将 > rikushou\ ;
+終業 > shuugyou\ ;
+雪上 > setsujou\ ;
+粟粒 > zokuryuu\ ;
+観月 > kangetsu\ ;
+統括 > toukatsu\ ;
+拾集 > shuushuu\ ;
+緑地 > ryokuchi\ ;
+焦心 > shoushin\ ;
+節電 > setsuden\ ;
+粘粘 > nebaneba\ ;
+炎熱 > en''netsu\ ;
+国許 > kunimoto\ ;
+開発 > kaihatsu\ ;
+粒粒 > ryuuryuu\ ;
+時々 > tokidoki\ ;
+解式 > kaishiki\ ;
+親族 > shinzoku\ ;
+長石 > chouseki\ ;
+粉粉 > konagona\ ;
+損率 > sonritsu\ ;
+表象 > hyoushou\ ;
+雇人 > yatoinin\ ;
+設問 > setsumon\ ;
+覚書 > oboegaki\ ;
+漆黒 > shikkoku\ ;
+編入 > hen''nyuu\ ;
+拒食 > kyoshoku\ ;
+集中 > shuuchuu\ ;
+累月 > ruigetsu\ ;
+垂直 > suichoku\ ;
+紅殻 > benigara\ ;
+招集 > shoushuu\ ;
+撥弦 > hatsugen\ ;
+行跡 > gyouseki\ ;
+角店 > kadomise\ ;
+練乳 > ren''nyuu\ ;
+米糠 > komenuka\ ;
+総力 > souryoku\ ;
+累日 > ruijitsu\ ;
+在職 > zaishoku\ ;
+総別 > soubetsu\ ;
+埋没 > maibotsu\ ;
+親戚 > shinseki\ ;
+粘着 > nenchaku\ ;
+糞溜 > kusodame\ ;
+緊切 > kinsetsu\ ;
+築造 > chikuzou\ ;
+触媒 > shokubai\ ;
+隊列 > tairetsu\ ;
+索敵 > sakuteki\ ;
+増刷 > zousatsu\ ;
+易々 > yasuyasu\ ;
+緑便 > ryokuben\ ;
+潮足 > shioashi\ ;
+閲歴 > etsureki\ ;
+納札 > nousatsu\ ;
+終息 > shuusoku\ ;
+振袖 > furisode\ ;
+糟汁 > kasujiru\ ;
+約束 > yakusoku\ ;
+衆評 > shuuhyou\ ;
+抑鬱 > yokuutsu\ ;
+指貫 > yubinuki\ ;
+絶大 > zetsudai\ ;
+激臭 > gekishuu\ ;
+見所 > midokoro\ ;
+換物 > kanbutsu\ ;
+粗率 > araritsu\ ;
+終幕 > shuumaku\ ;
+襲撃 > shuugeki\ ;
+結局 > kekkyoku\ ;
+筋骨 > sujibone\ ;
+擦傷 > surikizu\ ;
+観察 > kansatsu\ ;
+観客 > kankyaku\ ;
+濫立 > ranritsu\ ;
+接着 > setchaku\ ;
+陣列 > jinretsu\ ;
+間歇 > kanketsu\ ;
+土筆 > tsukushi\ ;
+衰色 > suishoku\ ;
+粛然 > shukuzen\ ;
+間欠 > kanketsu\ ;
+細引 > hosobiki\ ;
+親局 > oyakyoku\ ;
+管轄 > kankatsu\ ;
+陥入 > kan''nyuu\ ;
+表芸 > omotegei\ ;
+早々 > hayabaya\ ;
+装着 > souchaku\ ;
+終審 > shuushin\ ;
+濃縮 > noushuku\ ;
+討伐 > toubatsu\ ;
+謎々 > nazonazo\ ;
+終宵 > shuushou\ ;
+執心 > shuushin\ ;
+提灯 > chouchin\ ;
+摘心 > tekishin\ ;
+裏町 > uramachi\ ;
+煉乳 > ren''nyuu\ ;
+土神 > uchigami\ ;
+堀川 > horikawa\ ;
+絶命 > zetsumei\ ;
+陋劣 > rouretsu\ ;
+要式 > youshiki\ ;
+筆順 > hitsujun\ ;
+袴着 > hakamagi\ ;
+視察 > shisatsu\ ;
+簡約 > kan''yaku\ ;
+国籍 > kokuseki\ ;
+挽肉 > hikiniku\ ;
+続伸 > zokushin\ ;
+粛清 > shukusei\ ;
+細密 > saimitsu\ ;
+間柄 > aidagara\ ;
+撃墜 > gekitsui\ ;
+堅実 > kenjitsu\ ;
+諸々 > moromoro\ ;
+国策 > kokusaku\ ;
+濫発 > ranpatsu\ ;
+筆陣 > hitsujin\ ;
+結団 > ketsudan\ ;
+螢雪 > keisetsu\ ;
+閏月 > jungetsu\ ;
+覆審 > fukushin\ ;
+開札 > kaisatsu\ ;
+索寞 > sakubaku\ ;
+蝶鮫 > chouzame\ ;
+搦手 > karamete\ ;
+団結 > danketsu\ ;
+旁々 > katagata\ ;
+紙屑 > kamikuzu\ ;
+粕汁 > kasujiru\ ;
+血色 > kesshoku\ ;
+粛正 > shukusei\ ;
+門札 > monsatsu\ ;
+諤々 > gakugaku\ ;
+絶倫 > zetsurin\ ;
+型枠 > katawaku\ ;
+抽象 > chuushou\ ;
+抄録 > shouroku\ ;
+鑑識 > kanshiki\ ;
+闇市 > yamiichi\ ;
+融雪 > yuusetsu\ ;
+簒立 > sanritsu\ ;
+結合 > ketsugou\ ;
+地熱 > chinetsu\ ;
+間接 > kansetsu\ ;
+筋金 > sujigane\ ;
+親告 > shinkoku\ ;
+算術 > sanjutsu\ ;
+潤色 > junshoku\ ;
+表章 > hyoushou\ ;
+親友 > shin''yuu\ ;
+漢訳 > kan''yaku\ ;
+長旅 > nagatabi\ ;
+防人 > sakimori\ ;
+紳商 > shinshou\ ;
+蟻蜂 > aribachi\ ;
+激痛 > gekitsuu\ ;
+観入 > kan''nyuu\ ;
+衝立 > tsuitate\ ;
+抵触 > teishoku\ ;
+簡略 > kanryaku\ ;
+採決 > saiketsu\ ;
+捨猫 > suteneko\ ;
+箱船 > hakobune\ ;
+箱舟 > hakobune\ ;
+蟀谷 > komekami\ ;
+蟯虫 > gyouchuu\ ;
+夫々 > sorezore\ ;
+裁決 > saiketsu\ ;
+視力 > shiryoku\ ;
+粉末 > funmatsu\ ;
+掃滅 > soumetsu\ ;
+埒外 > rachigai\ ;
+排泄 > haisetsu\ ;
+西哲 > seitetsu\ ;
+坪数 > tsubosuu\ ;
+糞尿 > fun''nyou\ ;
+表白 > hyouhaku\ ;
+四百 > yonhyaku\ ;
+細別 > saibetsu\ ;
+手鏡 > tekagami\ ;
+親任 > shin''nin\ ;
+蠏股 > ganimata\ ;
+堀割 > horiwari\ ;
+関守 > sekimori\ ;
+血税 > ketsuzei\ ;
+執務 > shitsumu\ ;
+捕物 > torimono\ ;
+成香 > narikyou\ ;
+終了 > shuuryou\ ;
+米松 > beimatsu\ ;
+節糸 > fushiito\ ;
+型式 > keishiki\ ;
+節米 > setsumai\ ;
+数々 > kazukazu\ ;
+承諾 > shoudaku\ ;
+筆談 > hitsudan\ ;
+抄訳 > shouyaku\ ;
+開局 > kaikyoku\ ;
+窮鳥 > kyuuchou\ ;
+蟹股 > ganimata\ ;
+鎌首 > kamakubi\ ;
+立食 > risshoku\ ;
+衆目 > shuumoku\ ;
+筆触 > hisshoku\ ;
+簡潔 > kanketsu\ ;
+垂幕 > taremaku\ ;
+立願 > ritsugan\ ;
+摂動 > setsudou\ ;
+精密 > seimitsu\ ;
+節穴 > fushiana\ ;
+接断 > setsudan\ ;
+血盟 > ketsumei\ ;
+節税 > setsuzei\ ;
+糸口 > itoguchi\ ;
+手車 > teguruma\ ;
+長尻 > nagajiri\ ;
+濁流 > dakuryuu\ ;
+素人 > shirouto\ ;
+激流 > gekiryuu\ ;
+執事 > shitsuji\ ;
+所轄 > shokatsu\ ;
+拒絶 > kyozetsu\ ;
+排日 > hainichi\ ;
+系列 > keiretsu\ ;
+熱々 > atsuatsu\ ;
+衰滅 > suimetsu\ ;
+採掘 > saikutsu\ ;
+埒内 > rachinai\ ;
+在日 > zainichi\ ;
+漁色 > gyoshoku\ ;
+拙筆 > seppitsu\ ;
+純一 > jun''itsu\ ;
+搬入 > han''nyuu\ ;
+関取 > sekitori\ ;
+搾乳 > sakunyuu\ ;
+蛮骨 > bankotsu\ ;
+漫筆 > manpitsu\ ;
+節用 > setsuyou\ ;
+抜群 > batsugun\ ;
+所説 > shosetsu\ ;
+国柄 > kunigara\ ;
+溶血 > youketsu\ ;
+閑却 > kankyaku\ ;
+手袋 > tebukuro\ ;
+閣僚 > kakuryou\ ;
+手術 > shujutsu\ ;
+緩々 > yuruyuru\ ;
+籤引 > kujibiki\ ;
+簡札 > kansatsu\ ;
+蝶蝶 > chouchou\ ;
+筋肉 > kin''niku\ ;
+窓際 > madogiwa\ ;
+間八 > kanpachi\ ;
+減食 > genshoku\ ;
+笹舟 > sasabune\ ;
+接岸 > setsugan\ ;
+戯言 > tawagoto\ ;
+精力 > seiryoku\ ;
+血液 > ketsueki\ ;
+空風 > karakaze\ ;
+蠏玉 > kanitama\ ;
+血涙 > ketsurui\ ;
+潰滅 > kaimetsu\ ;
+戸袋 > tobukuro\ ;
+推察 > suisatsu\ ;
+接客 > sekkyaku\ ;
+嗅覚 > kyuukaku\ ;
+折節 > orifushi\ ;
+潤滑 > junkatsu\ ;
+間伐 > kanbatsu\ ;
+鎌足 > kamaashi\ ;
+潮流 > chouryuu\ ;
+四月 > shigatsu\ ;
+長刀 > naginata\ ;
+嘲笑 > choushou\ ;
+窮追 > kyuutsui\ ;
+窮迫 > kyuuhaku\ ;
+戦術 > senjutsu\ ;
+握力 > akuryoku\ ;
+複勝 > fukushou\ ;
+蟹玉 > kanitama\ ;
+潮汐 > chouseki\ ;
+簡抜 > kanbatsu\ ;
+潮水 > shiomizu\ ;
+節減 > setsugen\ ;
+鍛鉄 > tantetsu\ ;
+隆々 > ryuuryuu\ ;
+隅々 > sumizumi\ ;
+揚力 > youryoku\ ;
+竹薮 > takeyabu\ ;
+才色 > saishoku\ ;
+蛍雪 > keisetsu\ ;
+立論 > ritsuron\ ;
+米坪 > beitsubo\ ;
+筆箱 > fudebako\ ;
+測量 > sokuryou\ ;
+等等 > nadonado\ ;
+立言 > ritsugen\ ;
+粛党 > shukutou\ ;
+裸出 > rashutsu\ ;
+鍋釜 > nabekama\ ;
+衝撃 > shougeki\ ;
+漂白 > hyouhaku\ ;
+混雑 > konzatsu\ ;
+長久 > choukyuu\ ;
+回折 > kaisetsu\ ;
+地境 > djizakai\ ;
+挿抜 > soubatsu\ ;
+蝦腰 > ebigoshi\ ;
+衣手 > koromode\ ;
+衷心 > chuushin\ ;
+蛸足 > takoashi\ ;
+続々 > zokuzoku\ ;
+深長 > shinchou\ ;
+商量 > shouryou\ ;
+挟撃 > kyougeki\ ;
+接合 > setsugou\ ;
+裏口 > uraguchi\ ;
+蚕食 > sanshoku\ ;
+抑留 > yokuryuu\ ;
+錬鉄 > rentetsu\ ;
+潮時 > shiodoki\ ;
+濃密 > noumitsu\ ;
+表徴 > hyouchou\ ;
+表彰 > hyoushou\ ;
+国学 > kokugaku\ ;
+漠漠 > bakubaku\ ;
+推力 > suiryoku\ ;
+揉事 > momegoto\ ;
+競翔 > kyoushou\ ;
+鼻髭 > hanahige\ ;
+立葵 > tachiaoi\ ;
+粉乳 > fun''nyuu\ ;
+衝心 > shoushin\ ;
+鼻高 > hanataka\ ;
+喀血 > kakketsu\ ;
+才筆 > saihitsu\ ;
+投物 > nagemono\ ;
+地卵 > jitamago\ ;
+米倉 > komegura\ ;
+袖垣 > sodegaki\ ;
+深酒 > fukazake\ ;
+地力 > chiryoku\ ;
+空豆 > soramame\ ;
+振幅 > shinpuku\ ;
+鼻風 > hanakaze\ ;
+排列 > hairetsu\ ;
+米仏 > beifutsu\ ;
+捕失 > hoshitsu\ ;
+竪縞 > tatejima\ ;
+抄物 > shoumono\ ;
+竹簡 > chikukan\ ;
+漂漂 > hyouhyou\ ;
+抹殺 > massatsu\ ;
+裏付 > uradzuke\ ;
+唐鋤 > karasuki\ ;
+憶説 > okusetsu\ ;
+圧出 > asshutsu\ ;
+立脚 > rikkyaku\ ;
+竹箆 > takebera\ ;
+国国 > kuniguni\ ;
+簒奪 > sandatsu\ ;
+均一 > kin''itsu\ ;
+漏泄 > rousetsu\ ;
+鼻革 > hanagawa\ ;
+空説 > kuusetsu\ ;
+圧入 > atsunyuu\ ;
+挙式 > kyoshiki\ ;
+濫入 > ran''nyuu\ ;
+鋼鉄 > koutetsu\ ;
+空言 > soragoto\ ;
+唐金 > karakane\ ;
+虎鬚 > torahige\ ;
+溶発 > youhatsu\ ;
+滴滴 > tekiteki\ ;
+漂流 > hyouryuu\ ;
+虎髭 > torahige\ ;
+鏑矢 > kaburaya\ ;
+漂泊 > hyouhaku\ ;
+虚飾 > kyoshoku\ ;
+拙文 > setsubun\ ;
+箏曲 > soukyoku\ ;
+螢火 > hotarubi\ ;
+鑑札 > kansatsu\ ;
+才略 > sairyaku\ ;
+銀鼠 > gin''nezu\ ;
+濫伐 > ranbatsu\ ;
+拾得 > shuutoku\ ;
+国原 > kunibara\ ;
+蛞蝓 > namekuji\ ;
+掌中 > shouchuu\ ;
+禿鷹 > hagetaka\ ;
+空蝉 > utsusemi\ ;
+築庭 > chikutei\ ;
+篤学 > tokugaku\ ;
+融熱 > yuunetsu\ ;
+黙黙 > mokumoku\ ;
+鍋蓋 > nabebuta\ ;
+成立 > seiritsu\ ;
+筆洗 > fudearai\ ;
+困却 > konkyaku\ ;
+懸絶 > kenzetsu\ ;
+黒黴 > kurokabi\ ;
+海食 > kaishoku\ ;
+黒黒 > kuroguro\ ;
+慎重 > shinchou\ ;
+黒麦 > kuromugi\ ;
+成程 > naruhodo\ ;
+国元 > kunimoto\ ;
+才物 > saibutsu\ ;
+黒鷺 > kurosagi\ ;
+鉤鼻 > kagibana\ ;
+混血 > konketsu\ ;
+箱庭 > hakoniwa\ ;
+拙悪 > setsuaku\ ;
+消長 > shouchou\ ;
+細々 > hosoboso\ ;
+黒鴨 > kurogamo\ ;
+拡張 > kakuchou\ ;
+銀髪 > ginpatsu\ ;
+蛆虫 > ujimushi\ ;
+蝕甚 > shokujin\ ;
+蚕豆 > soramame\ ;
+蠍座 > sasoriza\ ;
+袖丈 > sodetake\ ;
+戦略 > senryaku\ ;
+回勅 > kaichoku\ ;
+国人 > kunibito\ ;
+湿疹 > shisshin\ ;
+嘱望 > shokubou\ ;
+浜風 > hamakaze\ ;
+竪琴 > tategoto\ ;
+渋茶 > shibucha\ ;
+行商 > gyoushou\ ;
+窮策 > kyuusaku\ ;
+蚰蜒 > gejigeji\ ;
+抗日 > kounichi\ ;
+渋色 > shibuiro\ ;
+活魚 > katsugyo\ ;
+築堤 > chikutei\ ;
+空耳 > soramimi\ ;
+銭金 > zenikane\ ;
+拝察 > haisatsu\ ;
+承服 > shoufuku\ ;
+截然 > setsuzen\ ;
+龍舟 > ryuushuu\ ;
+混色 > konshoku\ ;
+溢流 > itsuryuu\ ;
+滞日 > tainichi\ ;
+投技 > nagewaza\ ;
+戛然 > katsuzen\ ;
+我物 > wagamono\ ;
+鼻許 > hanamoto\ ;
+秒針 > byoushin\ ;
+振作 > shinsaku\ ;
+溝泥 > dobudoro\ ;
+銑鉄 > sentetsu\ ;
+禄高 > rokudaka\ ;
+溝水 > dobumizu\ ;
+憂色 > yuushoku\ ;
+空籤 > karakuji\ ;
+鉄骨 > tekkotsu\ ;
+湯煙 > yukemuri\ ;
+洗髪 > senpatsu\ ;
+淡色 > tanshoku\ ;
+私鉄 > shitetsu\ ;
+秒速 > byousoku\ ;
+篤信 > tokushin\ ;
+空箱 > karabako\ ;
+突立 > tottatsu\ ;
+唐草 > karakusa\ ;
+蟻塚 > aridzuka\ ;
+潮先 > shiosaki\ ;
+虚説 > kyosetsu\ ;
+血便 > ketsuben\ ;
+行中 > gyouchuu\ ;
+洋髪 > youhatsu\ ;
+戦没 > senbotsu\ ;
+指先 > yubisaki\ ;
+錦絵 > nishikie\ ;
+商策 > shousaku\ ;
+手枕 > temakura\ ;
+秀逸 > shuuitsu\ ;
+節分 > setsubun\ ;
+戦歿 > senbotsu\ ;
+竹槍 > takeyari\ ;
+融接 > yuusetsu\ ;
+黒鉄 > kurogane\ ;
+潜入 > sen''nyuu\ ;
+黒金 > kurogane\ ;
+洋食 > youshoku\ ;
+等式 > toushiki\ ;
+藩閥 > hanbatsu\ ;
+流量 > ryuuryou\ ;
+感触 > kanshoku\ ;
+鍼灸 > shinkyuu\ ;
+突発 > toppatsu\ ;
+鉤針 > kagibari\ ;
+投宿 > toushuku\ ;
+竹林 > chikurin\ ;
+溶接 > yousetsu\ ;
+啓発 > keihatsu\ ;
+竹材 > chikuzai\ ;
+空発 > kuuhatsu\ ;
+払拭 > fusshoku\ ;
+神風 > kamikaze\ ;
+窃用 > setsuyou\ ;
+流速 > ryuusoku\ ;
+流通 > ryuutsuu\ ;
+滝川 > takigawa\ ;
+穀粒 > kokuryuu\ ;
+筑子 > kokiriko\ ;
+端末 > tanmatsu\ ;
+唐紙 > karakami\ ;
+薦骨 > senkotsu\ ;
+長々 > naganaga\ ;
+蛸焼 > takoyaki\ ;
+祝電 > shukuden\ ;
+恐龍 > kyouryuu\ ;
+私説 > shisetsu\ ;
+品薄 > shinausu\ ;
+拝借 > haishaku\ ;
+截断 > setsudan\ ;
+海蝕 > kaishoku\ ;
+算入 > san''nyuu\ ;
+種紙 > tanegami\ ;
+温熱 > on''netsu\ ;
+鉄鉢 > teppachi\ ;
+私設 > shisetsu\ ;
+満月 > mangetsu\ ;
+鍋物 > nabemono\ ;
+湾曲 > wankyoku\ ;
+波風 > namikaze\ ;
+鑑別 > kanbetsu\ ;
+黒豹 > kurohyou\ ;
+房房 > fusafusa\ ;
+黒豆 > kuromame\ ;
+唐突 > toutotsu\ ;
+黙諾 > mokudaku\ ;
+野鼠 > nonezumi\ ;
+喬木 > kyouboku\ ;
+黙読 > mokudoku\ ;
+恥骨 > chikotsu\ ;
+手心 > tegokoro\ ;
+突然 > totsuzen\ ;
+押切 > oshikiri\ ;
+抑圧 > yokuatsu\ ;
+慶祝 > keishuku\ ;
+筆太 > fudebuto\ ;
+鉄道 > tetsudou\ ;
+粘々 > nebaneba\ ;
+神鏡 > shinkyou\ ;
+渉猟 > shouryou\ ;
+虚脱 > kyodatsu\ ;
+河鱒 > kawamasu\ ;
+銭苔 > zenigoke\ ;
+立札 > tatefuda\ ;
+噛傷 > kamikizu\ ;
+野鶲 > nobitaki\ ;
+演出 > enshutsu\ ;
+測深 > sokushin\ ;
+鼻紙 > hanagami\ ;
+温温 > nukunuku\ ;
+鼻糞 > hanakuso\ ;
+粉々 > konagona\ ;
+悪逆 > akugyaku\ ;
+悪辣 > akuratsu\ ;
+戦慄 > senritsu\ ;
+黒表 > kokuhyou\ ;
+涼秋 > ryoushuu\ ;
+鼻筋 > hanasuji\ ;
+麩質 > fushitsu\ ;
+沈黙 > chinmoku\ ;
+蛍火 > hotarubi\ ;
+金髪 > kinpatsu\ ;
+鉈豆 > natamame\ ;
+磯鷸 > isoshigi\ ;
+溝川 > dobugawa\ ;
+鎔接 > yousetsu\ ;
+鍵束 > kagitaba\ ;
+神速 > shinsoku\ ;
+黒蛇 > kurohebi\ ;
+満悦 > man''etsu\ ;
+我我 > wareware\ ;
+清潔 > seiketsu\ ;
+筆名 > hitsumei\ ;
+程程 > hodohodo\ ;
+蝎座 > sasoriza\ ;
+種畜 > shuchiku\ ;
+筋力 > kinryoku\ ;
+銅色 > doushoku\ ;
+反骨 > hankotsu\ ;
+準尺 > junshaku\ ;
+召集 > shoushuu\ ;
+注進 > chuushin\ ;
+商況 > shoukyou\ ;
+鋼玉 > kougyoku\ ;
+湿度 > shitsudo\ ;
+蟄伏 > chippuku\ ;
+浅葱 > asatsuki\ ;
+戒律 > kairitsu\ ;
+竺学 > jikugaku\ ;
+吹貫 > fukinuki\ ;
+笹原 > sasahara\ ;
+窓枠 > madowaku\ ;
+唐物 > toumotsu\ ;
+叢雲 > murakumo\ ;
+叢雨 > murasame\ ;
+涜神 > tokushin\ ;
+端局 > tankyoku\ ;
+択一 > takuitsu\ ;
+戦局 > senkyoku\ ;
+筆先 > fudesaki\ ;
+銭箱 > zenibako\ ;
+錨泊 > byouhaku\ ;
+鉄血 > tekketsu\ ;
+混浴 > kon''yoku\ ;
+深深 > fukabuka\ ;
+藪蛇 > yabuhebi\ ;
+種物 > tanemono\ ;
+種牛 > taneushi\ ;
+蛇毒 > hebidoku\ ;
+戌年 > inudoshi\ ;
+鼻疾 > bishitsu\ ;
+滑剤 > katsuzai\ ;
+黒船 > kurofune\ ;
+商標 > shouhyou\ ;
+鼎立 > teiritsu\ ;
+銀翼 > gin''yoku\ ;
+泥足 > doroashi\ ;
+鎌形 > kamagata\ ;
+滅却 > mekkyaku\ ;
+釣銭 > tsurisen\ ;
+商業 > shougyou\ ;
+鉱脈 > koumyaku\ ;
+収集 > shuushuu\ ;
+蚊燻 > kaibushi\ ;
+各週 > kakushuu\ ;
+神託 > shintaku\ ;
+承伏 > shoufuku\ ;
+吃逆 > shakkuri\ ;
+麹菌 > koujikin\ ;
+黄色 > koushoku\ ;
+命脈 > meimyaku\ ;
+黒肉 > kuroniku\ ;
+麦藁 > mugiwara\ ;
+竹垣 > takegaki\ ;
+鍛接 > tansetsu\ ;
+針金 > harigane\ ;
+銀縁 > ginbuchi\ ;
+金錆 > kanasabi\ ;
+税率 > zeiritsu\ ;
+立山 > tateyama\ ;
+麦蒔 > mugimaki\ ;
+金鉄 > kintetsu\ ;
+古金 > furugane\ ;
+古里 > furusato\ ;
+啄木 > takuboku\ ;
+口重 > kuchiomo\ ;
+渇望 > katsubou\ ;
+才力 > sairyoku\ ;
+古酒 > furuzake\ ;
+清朝 > shinchou\ ;
+鼻熊 > hanaguma\ ;
+笑劇 > shougeki\ ;
+錫杖 > shakujou\ ;
+空撮 > kuusatsu\ ;
+黙約 > mokuyaku\ ;
+社説 > shasetsu\ ;
+浅緑 > senryoku\ ;
+収録 > shuuroku\ ;
+手刀 > tegatana\ ;
+積極 > sekkyoku\ ;
+打傷 > uchikizu\ ;
+鉄色 > tetsuiro\ ;
+国々 > kuniguni\ ;
+福耳 > fukumimi\ ;
+滅亡 > metsubou\ ;
+慄然 > ritsuzen\ ;
+口述 > koujutsu\ ;
+同説 > dousetsu\ ;
+窒息 > chissoku\ ;
+右足 > migiashi\ ;
+沖釣 > okidzuri\ ;
+竹叢 > takamura\ ;
+黒米 > kurogome\ ;
+収量 > shuuryou\ ;
+鉄腕 > tetsuwan\ ;
+叛逆 > hangyaku\ ;
+點穴 > tenketsu\ ;
+水鳥 > mizudori\ ;
+満喫 > mankitsu\ ;
+呈色 > teishoku\ ;
+我国 > wagakuni\ ;
+薮蛇 > yabuhebi\ ;
+叱責 > shisseki\ ;
+悪舌 > akuzetsu\ ;
+虎猫 > toraneko\ ;
+洒脱 > shadatsu\ ;
+麻綱 > asadzuna\ ;
+黐竿 > mochizao\ ;
+含蓄 > ganchiku\ ;
+反逆 > hangyaku\ ;
+参酌 > sanshaku\ ;
+戦力 > senryoku\ ;
+収輯 > shuushuu\ ;
+各行 > kakugyou\ ;
+戦列 > senretsu\ ;
+鍋底 > nabezoko\ ;
+急進 > kyuushin\ ;
+悪者 > warumono\ ;
+急速 > kyuusoku\ ;
+急追 > kyuutsui\ ;
+急迫 > kyuuhaku\ ;
+鼻水 > hanamizu\ ;
+悽絶 > seizetsu\ ;
+窮境 > kyuukyou\ ;
+悶絶 > monzetsu\ ;
+周章 > shuushou\ ;
+快闊 > kaikatsu\ ;
+水食 > suishoku\ ;
+競作 > kyousaku\ ;
+立命 > ritsumei\ ;
+厳達 > gentatsu\ ;
+厳逹 > gentatsu\ ;
+湾入 > wan''nyuu\ ;
+温室 > onshitsu\ ;
+重説 > juusetsu\ ;
+鍋尻 > nabejiri\ ;
+深憂 > shin''yuu\ ;
+氷震 > hyoushin\ ;
+鉄筆 > teppitsu\ ;
+活眼 > katsugan\ ;
+口裏 > kuchiura\ ;
+洞窟 > doukutsu\ ;
+我儘 > wagamama\ ;
+水際 > mizugiwa\ ;
+重複 > choufuku\ ;
+私物 > shibutsu\ ;
+活発 > kappatsu\ ;
+麦稈 > mugiwara\ ;
+窒塞 > chissoku\ ;
+消沈 > shouchin\ ;
+同色 > doushoku\ ;
+悪筆 > akuhitsu\ ;
+硬骨 > koukotsu\ ;
+我侭 > wagamama\ ;
+沢蠏 > sawagani\ ;
+沢蟹 > sawagani\ ;
+憫察 > binsatsu\ ;
+麗筆 > reihitsu\ ;
+藁紙 > waragami\ ;
+立像 > ritsuzou\ ;
+活用 > katsuyou\ ;
+消毒 > shoudoku\ ;
+商学 > shougaku\ ;
+我人 > warehito\ ;
+鍋墨 > nabezumi\ ;
+成仏 > joubutsu\ ;
+黒猫 > kuroneko\ ;
+我事 > wagakoto\ ;
+同胞 > harakara\ ;
+鉱物 > koubutsu\ ;
+急襲 > kyuushuu\ ;
+同職 > doushoku\ ;
+空夢 > sorayume\ ;
+泥縄 > doronawa\ ;
+徴集 > choushuu\ ;
+酋長 > shuuchou\ ;
+半靴 > hangutsu\ ;
+悶着 > monchaku\ ;
+黄玉 > kougyoku\ ;
+黒熊 > kuroguma\ ;
+蒲魚 > kamatoto\ ;
+惨烈 > sanretsu\ ;
+喉元 > nodomoto\ ;
+空堀 > karabori\ ;
+薄膜 > hakumaku\ ;
+窯元 > kamamoto\ ;
+減圧 > gen''atsu\ ;
+私淑 > shishuku\ ;
+稚拙 > chisetsu\ ;
+祐筆 > yuuhitsu\ ;
+古草 > furukusa\ ;
+口荒 > kuchiara\ ;
+神神 > kamigami\ ;
+祝祷 > shukutou\ ;
+神祐 > shin''yuu\ ;
+祝祭 > shukusai\ ;
+告白 > kokuhaku\ ;
+黄熱 > kounetsu\ ;
+半長 > han''naga\ ;
+鉄瓶 > tetsubin\ ;
+水部 > mizunobu\ ;
+悪癖 > waruguse\ ;
+黒潮 > kuroshio\ ;
+蓄電 > chikuden\ ;
+母鳥 > hahadori\ ;
+口舌 > kouzetsu\ ;
+祝砲 > shukuhou\ ;
+毛髪 > mouhatsu\ ;
+礼節 > reisetsu\ ;
+及落 > kyuuraku\ ;
+銃殺 > juusatsu\ ;
+清国 > shinkoku\ ;
+情熱 > jounetsu\ ;
+空咳 > karazeki\ ;
+蛮力 > banryoku\ ;
+態態 > wazawaza\ ;
+金脈 > kinmyaku\ ;
+只者 > tadamono\ ;
+懇切 > konsetsu\ ;
+禁物 > kinmotsu\ ;
+虐政 > gyakusei\ ;
+名筆 > meihitsu\ ;
+確証 > kakushou\ ;
+社稷 > shashoku\ ;
+同筆 > douhitsu\ ;
+急落 > kyuuraku\ ;
+活溌 > kappatsu\ ;
+配達 > haitatsu\ ;
+鋸屑 > nokokuzu\ ;
+重職 > juushoku\ ;
+流流 > ryuuryuu\ ;
+淀川 > yodogawa\ ;
+惑溺 > wakudeki\ ;
+浅沓 > asagutsu\ ;
+同穴 > douketsu\ ;
+惨殺 > zansatsu\ ;
+酷評 > kokuhyou\ ;
+釣糸 > tsuriito\ ;
+洗熊 > araiguma\ ;
+心身 > shinshin\ ;
+重罰 > juubatsu\ ;
+流氷 > ryuuhyou\ ;
+注目 > chuumoku\ ;
+双脚 > soukyaku\ ;
+汗血 > kanketsu\ ;
+浪曲 > roukyoku\ ;
+金縁 > kinbuchi\ ;
+半道 > hanmichi\ ;
+北陸 > hokuriku\ ;
+原薬 > gen''yaku\ ;
+即諾 > sokudaku\ ;
+活殺 > kassatsu\ ;
+唯唯 > tadatada\ ;
+周流 > shuuryuu\ ;
+稲妻 > inadzuma\ ;
+右筆 > yuuhitsu\ ;
+唐墨 > karasumi\ ;
+史筆 > shihitsu\ ;
+釣竿 > tsurizao\ ;
+針箱 > haribako\ ;
+私曲 > shikyoku\ ;
+心象 > shinshou\ ;
+唱名 > shoumyou\ ;
+只管 > hitasura\ ;
+同着 > douchaku\ ;
+津津 > shinshin\ ;
+卓越 > takuetsu\ ;
+恐竜 > kyouryuu\ ;
+鼻屎 > hanakuso\ ;
+清冽 > seiretsu\ ;
+蒐集 > shuushuu\ ;
+取組 > torikumi\ ;
+蒲鉾 > kamaboko\ ;
+海抜 > kaibatsu\ ;
+金箱 > kanebako\ ;
+虚式 > kyoshiki\ ;
+消息 > shousoku\ ;
+気質 > kishitsu\ ;
+殻頂 > kakuchou\ ;
+口笛 > kuchibue\ ;
+各省 > kakushou\ ;
+原茸 > haratake\ ;
+鴛鴦 > oshidori\ ;
+薬玉 > kusudama\ ;
+虐待 > gyakutai\ ;
+黒枠 > kurowaku\ ;
+酷薄 > kokuhaku\ ;
+心証 > shinshou\ ;
+金穴 > kinketsu\ ;
+原色 > genshoku\ ;
+黒服 > kurofuku\ ;
+勝馬 > kachiuma\ ;
+深刻 > shinkoku\ ;
+破鐘 > waregane\ ;
+必要 > hitsuyou\ ;
+混入 > kon''nyuu\ ;
+忍術 > ninjutsu\ ;
+厳罰 > genbatsu\ ;
+流木 > ryuuboku\ ;
+鈍物 > donbutsu\ ;
+司直 > shichoku\ ;
+協調 > kyouchou\ ;
+後述 > koujutsu\ ;
+禁欲 > kin''yoku\ ;
+渇仰 > katsugou\ ;
+秩序 > chitsujo\ ;
+卒論 > sotsuron\ ;
+水蝕 > suishoku\ ;
+流暢 > ryuuchou\ ;
+水蜜 > suimitsu\ ;
+石高 > kokudaka\ ;
+漂々 > hyouhyou\ ;
+徴証 > choushou\ ;
+命日 > meinichi\ ;
+復讐 > fukushuu\ ;
+復讎 > fukushuu\ ;
+同率 > douritsu\ ;
+惜春 > sekishun\ ;
+礼物 > reimotsu\ ;
+短髪 > tanpatsu\ ;
+虚実 > kyojitsu\ ;
+沖積 > chuuseki\ ;
+蓄財 > chikuzai\ ;
+収穫 > shuukaku\ ;
+恋着 > renchaku\ ;
+復調 > fukuchou\ ;
+悩殺 > nousatsu\ ;
+復誦 > fukushou\ ;
+治略 > chiryaku\ ;
+名物 > meibutsu\ ;
+北進 > hokushin\ ;
+黄昏 > tasogare\ ;
+史略 > shiryaku\ ;
+泥濘 > nukarumi\ ;
+藤棚 > fujidana\ ;
+北辰 > hokushin\ ;
+厳粛 > genshuku\ ;
+鉄棒 > tetsubou\ ;
+鼓室 > koshitsu\ ;
+鳩麦 > hatomugi\ ;
+沈積 > chinseki\ ;
+鉄梃 > kanateko\ ;
+強震 > kyoushin\ ;
+落魄 > rakuhaku\ ;
+量的 > ryouteki\ ;
+忠良 > chuuryou\ ;
+藩札 > hansatsu\ ;
+古疵 > furukizu\ ;
+勅願 > chokugan\ ;
+酒蔵 > sakagura\ ;
+勅題 > chokudai\ ;
+忠臣 > chuushin\ ;
+弱震 > jakushin\ ;
+等々 > nadonado\ ;
+禁札 > kinsatsu\ ;
+種別 > shubetsu\ ;
+黒房 > kurobusa\ ;
+悦楽 > etsuraku\ ;
+水草 > mizukusa\ ;
+愛子 > itoshigo\ ;
+鉄材 > tetsuzai\ ;
+弦音 > tsuruoto\ ;
+唐傘 > karakasa\ ;
+麦束 > mugitaba\ ;
+水茎 > mizuguki\ ;
+憂事 > ureigoto\ ;
+短靴 > tangutsu\ ;
+水苔 > mizugoke\ ;
+洋梨 > younashi\ ;
+残雪 > zansetsu\ ;
+厚紙 > atsugami\ ;
+浴客 > yokkyaku\ ;
+神橋 > shinkyou\ ;
+水船 > mizubune\ ;
+泥沼 > doronuma\ ;
+反発 > hanpatsu\ ;
+神様 > kamisama\ ;
+双発 > souhatsu\ ;
+磨石 > togiishi\ ;
+弁髪 > benpatsu\ ;
+泥水 > doromizu\ ;
+泡沫 > houmatsu\ ;
+神業 > kamiwaza\ ;
+水腹 > mizubara\ ;
+参着 > sanchaku\ ;
+薬毒 > yakudoku\ ;
+確約 > kakuyaku\ ;
+酒色 > shushoku\ ;
+水脈 > suimyaku\ ;
+神棚 > kamidana\ ;
+古物 > furumono\ ;
+快絶 > kaizetsu\ ;
+配色 > haishoku\ ;
+金物 > kanamono\ ;
+神格 > shinkaku\ ;
+禿山 > hageyama\ ;
+十薬 > dokudami\ ;
+沈痛 > chintsuu\ ;
+急病 > kyuubyou\ ;
+針灸 > shinkyuu\ ;
+石鏃 > sekizoku\ ;
+祭日 > saijitsu\ ;
+単色 > tanshoku\ ;
+心腹 > shinpuku\ ;
+決着 > ketchaku\ ;
+税別 > zeibetsu\ ;
+黒幕 > kuromaku\ ;
+祝杯 > shukuhai\ ;
+神木 > shinboku\ ;
+悪擦 > waruzure\ ;
+鼻先 > hanasaki\ ;
+鼻元 > hanamoto\ ;
+神月 > koudzuki\ ;
+収獲 > shuukaku\ ;
+民草 > tamigusa\ ;
+活弁 > katsuben\ ;
+硝薬 > shouyaku\ ;
+和室 > washitsu\ ;
+釈然 > shakuzen\ ;
+称名 > shoumyou\ ;
+禁慾 > kin''yoku\ ;
+哲人 > tetsujin\ ;
+福徳 > fukutoku\ ;
+黒山 > kuroyama\ ;
+勿論 > mochiron\ ;
+強迫 > kyouhaku\ ;
+弔鐘 > choushou\ ;
+怪物 > kaibutsu\ ;
+福引 > fukubiki\ ;
+沼沢 > shoutaku\ ;
+蝶々 > chouchou\ ;
+薄氷 > hakuhyou\ ;
+卒者 > sotsusha\ ;
+油汗 > aburaase\ ;
+原発 > genpatsu\ ;
+割高 > waridaka\ ;
+著述 > chojutsu\ ;
+砲術 > houjutsu\ ;
+厚皮 > atsukawa\ ;
+勅選 > chokusen\ ;
+求積 > kyuuseki\ ;
+毛虱 > kejirami\ ;
+酒糟 > sakekasu\ ;
+酒粕 > sakekasu\ ;
+劇震 > gekishin\ ;
+引金 > hikigane\ ;
+古河 > furukawa\ ;
+復習 > fukushuu\ ;
+毒蛇 > dokuhebi\ ;
+鉄床 > kanatoko\ ;
+名月 > meigetsu\ ;
+名曲 > meikyoku\ ;
+鉄帽 > tetsubou\ ;
+同月 > dougetsu\ ;
+急激 > kyuugeki\ ;
+占算 > urayasan\ ;
+協約 > kyouyaku\ ;
+毒薬 > dokuyaku\ ;
+決然 > ketsuzen\ ;
+殖財 > shokuzai\ ;
+重殺 > juusatsu\ ;
+情実 > joujitsu\ ;
+秋口 > akiguchi\ ;
+金欠 > kinketsu\ ;
+単節 > tansetsu\ ;
+洋式 > youshiki\ ;
+取決 > torikime\ ;
+同日 > doujitsu\ ;
+祭式 > saishiki\ ;
+虐使 > gyakushi\ ;
+沐浴 > mokuyoku\ ;
+徒者 > tadamono\ ;
+鉄山 > tetsuzan\ ;
+原物 > genbutsu\ ;
+力量 > rikiryou\ ;
+洞察 > dousatsu\ ;
+強調 > kyouchou\ ;
+道順 > michijun\ ;
+神徳 > shintoku\ ;
+心神 > shinshin\ ;
+遊食 > yuushoku\ ;
+復籍 > fukuseki\ ;
+欠食 > kesshoku\ ;
+急流 > kyuuryuu\ ;
+毒茸 > dokutake\ ;
+延金 > nobegane\ ;
+碌碌 > rokuroku\ ;
+銭亀 > zenigame\ ;
+歯車 > haguruma\ ;
+強襲 > kyoushuu\ ;
+引越 > hikkoshi\ ;
+剃髪 > teihatsu\ ;
+忽然 > kotsuzen\ ;
+金梃 > kanateko\ ;
+古株 > furukabu\ ;
+勅諚 > chokujou\ ;
+菜食 > saishoku\ ;
+悄悄 > sugosugo\ ;
+硬筆 > kouhitsu\ ;
+神州 > shinshuu\ ;
+彩色 > saishoku\ ;
+必着 > hitchaku\ ;
+知識 > chishiki\ ;
+我々 > wareware\ ;
+進駐 > shinchuu\ ;
+愁傷 > shuushou\ ;
+古服 > furufuku\ ;
+水瓶 > mizugame\ ;
+心的 > shinteki\ ;
+黙劇 > mokugeki\ ;
+吾子 > wagimoko\ ;
+気短 > kimijika\ ;
+蕃殖 > hanshoku\ ;
+得策 > tokusaku\ ;
+勅裁 > chokusai\ ;
+従節 > juusetsu\ ;
+適量 > tekiryou\ ;
+心痛 > shintsuu\ ;
+劇通 > gekitsuu\ ;
+金星 > kinboshi\ ;
+汲汲 > kyuukyuu\ ;
+弾薬 > dan''yaku\ ;
+単発 > tanpatsu\ ;
+必用 > hitsuyou\ ;
+卒直 > sotchoku\ ;
+水玉 > mizutama\ ;
+神学 > shingaku\ ;
+禁圧 > kin''atsu\ ;
+秀作 > shuusaku\ ;
+徳目 > tokumoku\ ;
+里方 > satokata\ ;
+法律 > houritsu\ ;
+礼式 > reishiki\ ;
+収束 > shuusoku\ ;
+釈明 > shakumei\ ;
+活動 > katsudou\ ;
+黒円 > kuromaru\ ;
+法式 > houshiki\ ;
+水物 > mizumono\ ;
+得票 > tokuhyou\ ;
+遥遥 > harubaru\ ;
+派出 > hashutsu\ ;
+釈放 > shakuhou\ ;
+流入 > ryuunyuu\ ;
+残虐 > zangyaku\ ;
+薬屋 > kusuriya\ ;
+薬局 > yakkyoku\ ;
+硬直 > kouchoku\ ;
+合式 > goushiki\ ;
+神妙 > shinmyou\ ;
+遠道 > toomichi\ ;
+当職 > toushoku\ ;
+底革 > sokogawa\ ;
+醜業 > shuugyou\ ;
+薬学 > yakugaku\ ;
+硝石 > shouseki\ ;
+遙遙 > harubaru\ ;
+福助 > fukusuke\ ;
+毛筆 > mouhitsu\ ;
+快活 > kaikatsu\ ;
+去月 > kyogetsu\ ;
+正覚 > shougaku\ ;
+着駅 > chakueki\ ;
+反撥 > hanpatsu\ ;
+建設 > kensetsu\ ;
+恐悦 > kyouetsu\ ;
+蔭様 > kagesama\ ;
+神域 > shin''iki\ ;
+千生 > sen''nari\ ;
+薄弱 > hakujaku\ ;
+恍惚 > koukotsu\ ;
+必然 > hitsuzen\ ;
+恐恐 > kowagowa\ ;
+同局 > doukyoku\ ;
+黒丸 > kuromaru\ ;
+蒸着 > jouchaku\ ;
+半玉 > hangyoku\ ;
+逆風 > gyakufuu\ ;
+分骨 > bunkotsu\ ;
+神国 > shinkoku\ ;
+幼顔 > osanagao\ ;
+強膜 > kyoumaku\ ;
+同宿 > doushuku\ ;
+名実 > meijitsu\ ;
+止血 > shiketsu\ ;
+逐電 > chikuden\ ;
+収拾 > shuushuu\ ;
+動脈 > doumyaku\ ;
+着順 > chakujun\ ;
+蒸発 > jouhatsu\ ;
+逆順 > gyakujun\ ;
+合宿 > gasshuku\ ;
+劇評 > gekihyou\ ;
+酸欠 > sanketsu\ ;
+鉄剤 > tetsuzai\ ;
+硬玉 > kougyoku\ ;
+決断 > ketsudan\ ;
+後発 > kouhatsu\ ;
+副賞 > fukushou\ ;
+鉄分 > tetsubun\ ;
+河底 > kawazoko\ ;
+卒然 > sotsuzen\ ;
+着電 > chakuden\ ;
+広闊 > koukatsu\ ;
+友成 > tomonari\ ;
+水洟 > mizubana\ ;
+即決 > sokketsu\ ;
+後略 > kouryaku\ ;
+前述 > zenjutsu\ ;
+割譲 > katsujou\ ;
+原曲 > genkyoku\ ;
+切願 > setsugan\ ;
+出駕 > shutsuga\ ;
+後産 > nochizan\ ;
+落莫 > rakubaku\ ;
+適評 > tekihyou\ ;
+忙殺 > bousatsu\ ;
+蓋物 > futamono\ ;
+温々 > nukunuku\ ;
+出馬 > shutsuba\ ;
+適訳 > tekiyaku\ ;
+水没 > suibotsu\ ;
+御物 > gyobutsu\ ;
+当節 > tousetsu\ ;
+吸口 > suikuchi\ ;
+悋嗇 > rinshoku\ ;
+吸収 > kyuushuu\ ;
+古川 > furukawa\ ;
+創設 > sousetsu\ ;
+針山 > hariyama\ ;
+殉職 > junshoku\ ;
+取引 > torihiki\ ;
+没年 > botsunen\ ;
+史実 > shijitsu\ ;
+葉脈 > youmyaku\ ;
+台密 > taimitsu\ ;
+達識 > tasshiki\ ;
+収得 > shuutoku\ ;
+麦作 > mugisaku\ ;
+性悪 > shouwaru\ ;
+卑湿 > hishitsu\ ;
+吝嗇 > rinshoku\ ;
+従物 > juubutsu\ ;
+役畜 > ekichiku\ ;
+鉄人 > tetsujin\ ;
+死脈 > shimyaku\ ;
+凡骨 > bonkotsu\ ;
+金屑 > kanakuzu\ ;
+必殺 > hissatsu\ ;
+古寺 > furudera\ ;
+洛中 > rakuchuu\ ;
+凸面 > totsumen\ ;
+吸入 > kyuunyuu\ ;
+到達 > toutatsu\ ;
+口実 > koujitsu\ ;
+劇薬 > gekiyaku\ ;
+短縮 > tanshuku\ ;
+冷麦 > hiyamugi\ ;
+祝典 > shukuten\ ;
+出陳 > shutchin\ ;
+正色 > seishoku\ ;
+葛籠 > tsudzura\ ;
+徳沢 > tokutaku\ ;
+釈尊 > shakuson\ ;
+平鍋 > hiranabe\ ;
+酒樽 > sakadaru\ ;
+弁舌 > benzetsu\ ;
+追録 > tsuiroku\ ;
+恋妻 > koidzuma\ ;
+怖怖 > kowagowa\ ;
+復活 > fukkatsu\ ;
+氷柱 > hyouchuu\ ;
+恫喝 > doukatsu\ ;
+適薬 > tekiyaku\ ;
+剣術 > kenjutsu\ ;
+厳律 > genritsu\ ;
+劫罰 > goubatsu\ ;
+彫琢 > choutaku\ ;
+化物 > bakemono\ ;
+薪割 > makiwari\ ;
+当直 > touchoku\ ;
+前説 > zensetsu\ ;
+副虹 > fukuniji\ ;
+北爆 > hokubaku\ ;
+矢絣 > yagasuri\ ;
+莫逆 > bakugeki\ ;
+常食 > joushoku\ ;
+鰐鮫 > wanizame\ ;
+注入 > chuunyuu\ ;
+急峻 > kyuushun\ ;
+鳩胸 > hatomune\ ;
+勅答 > chokutou\ ;
+氷晶 > hyoushou\ ;
+店賃 > tanachin\ ;
+辮髪 > benpatsu\ ;
+南極 > nankyoku\ ;
+心根 > kokorone\ ;
+冬鳥 > fuyudori\ ;
+破物 > waremono\ ;
+唯々 > tadatada\ ;
+協業 > kyougyou\ ;
+凝集 > gyoushuu\ ;
+各各 > sorezore\ ;
+送達 > soutatsu\ ;
+彫物 > horimono\ ;
+底豆 > sokomame\ ;
+鳥肌 > torihada\ ;
+勾玉 > magatama\ ;
+鳥肉 > toriniku\ ;
+劇臭 > gekishuu\ ;
+母物 > hahamono\ ;
+恐嚇 > kyoukaku\ ;
+深々 > fukabuka\ ;
+真鍮 > shinchuu\ ;
+怠屈 > taikutsu\ ;
+社共 > shakyou\ ;
+心材 > shinzai\ ;
+近間 > chikama\ ;
+去就 > kyoshuu\ ;
+前表 > zenpyou\ ;
+君側 > kunsoku\ ;
+追送 > tsuisou\ ;
+占有 > sen''yuu\ ;
+忌日 > kinichi\ ;
+占書 > urabumi\ ;
+帳面 > choumen\ ;
+直音 > chokuon\ ;
+功績 > kouseki\ ;
+民業 > mingyou\ ;
+薄命 > hakumei\ ;
+席順 > sekijun\ ;
+益鳥 > ekichou\ ;
+沖天 > chuuten\ ;
+応接 > ousetsu\ ;
+瞠若 > doujaku\ ;
+後流 > kouryuu\ ;
+召喚 > shoukan\ ;
+引算 > hikizan\ ;
+卜書 > urabumi\ ;
+帯革 > obikawa\ ;
+出金 > shukkin\ ;
+叫喚 > kyoukan\ ;
+吉凶 > kikkyou\ ;
+重圧 > juuatsu\ ;
+述部 > jutsubu\ ;
+鷲座 > washiza\ ;
+弓箭 > kyuusen\ ;
+分進 > bunshin\ ;
+菩薩 > bosatsu\ ;
+分速 > funsoku\ ;
+水撃 > suigeki\ ;
+沢地 > sawachi\ ;
+切迫 > seppaku\ ;
+南朝 > nanchou\ ;
+念念 > nen''nen\ ;
+Ｎ響 > enukyou\ ;
+正続 > seizoku\ ;
+落第 > rakudai\ ;
+釣合 > tsuriai\ ;
+正絹 > shouken\ ;
+厳容 > gen''you\ ;
+進行 > shinkou\ ;
+吉兆 > kitchou\ ;
+動的 > douteki\ ;
+同僚 > douryou\ ;
+正経 > seikyou\ ;
+北満 > hokuman\ ;
+半格 > hankaku\ ;
+通謀 > tsuubou\ ;
+召命 > shoumei\ ;
+通論 > tsuuron\ ;
+序説 > josetsu\ ;
+泥中 > deichuu\ ;
+底角 > teikaku\ ;
+割興 > warikou\ ;
+徳望 > tokubou\ ;
+急変 > kyuuhen\ ;
+口唇 > koushin\ ;
+鳥網 > toriami\ ;
+恭倹 > kyouken\ ;
+叫号 > kyougou\ ;
+分身 > bunshin\ ;
+刺衝 > shishou\ ;
+幽谷 > yuukoku\ ;
+鄙歌 > hinauta\ ;
+段物 > danmono\ ;
+同信 > doushin\ ;
+石盤 > sekiban\ ;
+死票 > shihyou\ ;
+割腹 > kappuku\ ;
+廐舎 > kyuusha\ ;
+通計 > tsuukei\ ;
+同侶 > douryou\ ;
+台北 > taihoku\ ;
+勤王 > kin''nou\ ;
+廏舎 > kyuusha\ ;
+快復 > kaifuku\ ;
+民有 > min''yuu\ ;
+歴程 > rekitei\ ;
+破滅 > hametsu\ ;
+急増 > kyuuzou\ ;
+通解 > tsuukai\ ;
+判読 > handoku\ ;
+重唱 > juushou\ ;
+名作 > meisaku\ ;
+通観 > tsuukan\ ;
+弔祭 > chousai\ ;
+各停 > kakutei\ ;
+恩借 > onshaku\ ;
+史劇 > shigeki\ ;
+北洋 > hokuyou\ ;
+通覧 > tsuuran\ ;
+適者 > tekisha\ ;
+副腎 > fukujin\ ;
+社中 > shachuu\ ;
+追贈 > tsuizou\ ;
+急報 > kyuuhou\ ;
+師長 > shichou\ ;
+刀身 > toushin\ ;
+加筆 > kahitsu\ ;
+去声 > kyoshou\ ;
+名代 > myoudai\ ;
+匡正 > kyousei\ ;
+合作 > gassaku\ ;
+従業 > juugyou\ ;
+半時 > hantoki\ ;
+落磐 > rakuban\ ;
+原審 > genshin\ ;
+毒液 > dokueki\ ;
+彼氏 > kareshi\ ;
+帝陵 > teiryou\ ;
+徳政 > tokusei\ ;
+民族 > minzoku\ ;
+遠耳 > toomimi\ ;
+名主 > nanushi\ ;
+急坂 > kyuuhan\ ;
+初診 > shoshin\ ;
+広角 > koukaku\ ;
+吉事 > kitsuji\ ;
+氏族 > shizoku\ ;
+弔砲 > chouhou\ ;
+建策 > kensaku\ ;
+前葉 > zen''you\ ;
+通行 > tsuukou\ ;
+同一 > douitsu\ ;
+幾許 > ikubaku\ ;
+重厚 > choukou\ ;
+荷送 > niokuri\ ;
+復旧 > fukkyuu\ ;
+没収 > bosshuu\ ;
+廻章 > kaishou\ ;
+博捜 > hakusou\ ;
+知的 > chiteki\ ;
+各人 > kakujin\ ;
+残留 > zanryuu\ ;
+幕軍 > bakugun\ ;
+建立 > konryuu\ ;
+沃地 > yokuchi\ ;
+遊興 > yuukyou\ ;
+復文 > fukubun\ ;
+合一 > gouitsu\ ;
+別表 > beppyou\ ;
+副署 > fukusho\ ;
+受取 > uketori\ ;
+心房 > shinbou\ ;
+古刹 > kosatsu\ ;
+労相 > roushou\ ;
+郭清 > kakusei\ ;
+出走 > shussou\ ;
+幻覚 > genkaku\ ;
+剛腹 > goufuku\ ;
+歯石 > shiseki\ ;
+恥丘 > chikyuu\ ;
+落盤 > rakuban\ ;
+全麦 > zenbaku\ ;
+博打 > bakuchi\ ;
+追認 > tsuinin\ ;
+量刑 > ryoukei\ ;
+確定 > kakutei\ ;
+重刻 > juukoku\ ;
+確守 > kakushu\ ;
+追試 > tsuishi\ ;
+出資 > shusshi\ ;
+真贋 > shingan\ ;
+気持 > kimochi\ ;
+平角 > heikaku\ ;
+正確 > seikaku\ ;
+追討 > tsuitou\ ;
+毬栗 > igaguri\ ;
+死病 > shibyou\ ;
+共鳴 > kyoumei\ ;
+反収 > tanshuu\ ;
+忖度 > sontaku\ ;
+帯金 > obigane\ ;
+荘重 > souchou\ ;
+心情 > shinjou\ ;
+匹敵 > hitteki\ ;
+部活 > bukatsu\ ;
+野兎 > nousagi\ ;
+永年 > naganen\ ;
+逆行 > gyakkou\ ;
+迅速 > jinsoku\ ;
+後書 > atogaki\ ;
+前膊 > zenpaku\ ;
+金側 > kingawa\ ;
+心性 > shinsei\ ;
+石版 > sekiban\ ;
+述語 > jutsugo\ ;
+碧山 > hekizan\ ;
+沈吟 > chingin\ ;
+重傷 > juushou\ ;
+前脳 > zen''nou\ ;
+年表 > nenpyou\ ;
+前脚 > maeashi\ ;
+歎称 > tanshou\ ;
+出講 > shukkou\ ;
+刺草 > irakusa\ ;
+千振 > senburi\ ;
+進航 > shinkou\ ;
+心得 > kokoroe\ ;
+恒久 > koukyuu\ ;
+只今 > tadaima\ ;
+反則 > hansoku\ ;
+口供 > koukyou\ ;
+強火 > tsuyobi\ ;
+恋仲 > koinaka\ ;
+前肢 > maeashi\ ;
+死球 > shikyuu\ ;
+助番 > sukeban\ ;
+後日 > gonichi\ ;
+配役 > haiyaku\ ;
+恋人 > koibito\ ;
+市長 > shichou\ ;
+怪力 > kairiki\ ;
+征服 > seifuku\ ;
+母様 > kaasama\ ;
+真諦 > shintei\ ;
+弱点 > jakuten\ ;
+連荘 > renchan\ ;
+円顔 > marugao\ ;
+盲進 > moushin\ ;
+忠孝 > chuukou\ ;
+鳥瞰 > choukan\ ;
+幼虫 > youchuu\ ;
+落球 > rakkyuu\ ;
+巨額 > kyogaku\ ;
+割算 > warizan\ ;
+反共 > hankyou\ ;
+残照 > zanshou\ ;
+北東 > hokutou\ ;
+心底 > shintei\ ;
+逸聞 > itsubun\ ;
+酒席 > shuseki\ ;
+石炭 > sekitan\ ;
+氷山 > hyouzan\ ;
+引率 > insotsu\ ;
+延着 > enchaku\ ;
+氷屋 > kooriya\ ;
+危局 > kikyoku\ ;
+凸角 > tokkaku\ ;
+目送 > mokusou\ ;
+徳性 > tokusei\ ;
+直輸 > chokuyu\ ;
+砕氷 > saihyou\ ;
+真言 > shingon\ ;
+建白 > kenpaku\ ;
+武略 > buryaku\ ;
+性分 > shoubun\ ;
+冗長 > jouchou\ ;
+確報 > kakuhou\ ;
+座職 > zashoku\ ;
+口中 > kouchuu\ ;
+眞言 > shingon\ ;
+冷酷 > reikoku\ ;
+殴殺 > ousatsu\ ;
+入魂 > nyuukon\ ;
+志学 > shigaku\ ;
+往日 > oujitsu\ ;
+求婚 > kyuukon\ ;
+反側 > hansoku\ ;
+延発 > enpatsu\ ;
+真西 > manishi\ ;
+弓状 > kyuujou\ ;
+醜名 > shuumei\ ;
+民心 > minshin\ ;
+権高 > kendaka\ ;
+民徳 > mintoku\ ;
+反俗 > hanzoku\ ;
+決勝 > kesshou\ ;
+内陸 > nairiku\ ;
+直路 > chokuro\ ;
+適確 > tekkaku\ ;
+茶釜 > chagama\ ;
+通航 > tsuukou\ ;
+辛酸 > shinsan\ ;
+希釈 > kishaku\ ;
+凶行 > kyoukou\ ;
+毎朝 > maichou\ ;
+白鯨 > hakugei\ ;
+半弓 > hankyuu\ ;
+初荷 > hatsuni\ ;
+北支 > hokushi\ ;
+内閲 > naietsu\ ;
+内閣 > naikaku\ ;
+配属 > haizoku\ ;
+蔵匿 > zoutoku\ ;
+師走 > shiwasu\ ;
+沈倫 > chinrin\ ;
+彰明 > shoumei\ ;
+酒客 > shukaku\ ;
+比日 > hinichi\ ;
+原告 > genkoku\ ;
+白魚 > shirauo\ ;
+半年 > han''nen\ ;
+前納 > zen''nou\ ;
+運筆 > unpitsu\ ;
+鷹匠 > takajou\ ;
+歴然 > rekizen\ ;
+公領 > kouryou\ ;
+近親 > kinshin\ ;
+急使 > kyuushi\ ;
+剽盗 > hyoutou\ ;
+幼若 > youjaku\ ;
+全額 > zengaku\ ;
+標高 > hyoukou\ ;
+即売 > sokubai\ ;
+千度 > chitabi\ ;
+強気 > tsuyoki\ ;
+庁舎 > chousha\ ;
+劇界 > gekikai\ ;
+千年 > chitose\ ;
+劇甚 > gekijin\ ;
+横顔 > yokogao\ ;
+勧業 > kangyou\ ;
+凝視 > gyoushi\ ;
+刺繍 > shishuu\ ;
+瞠目 > doumoku\ ;
+再録 > sairoku\ ;
+真虫 > mamushi\ ;
+鳥獣 > choujuu\ ;
+徹宵 > tesshou\ ;
+卑屈 > hikutsu\ ;
+加熱 > kanetsu\ ;
+再鋳 > saichuu\ ;
+氷塊 > hyoukai\ ;
+卒寿 > sotsuju\ ;
+強欲 > gouyoku\ ;
+協定 > kyoutei\ ;
+兵長 > heichou\ ;
+酌婦 > shakufu\ ;
+砲撃 > hougeki\ ;
+気密 > kimitsu\ ;
+選球 > senkyuu\ ;
+原則 > gensoku\ ;
+共闘 > kyoutou\ ;
+直諫 > chokkan\ ;
+発馬 > hatsuba\ ;
+刺絡 > shiraku\ ;
+全集 > zenshuu\ ;
+卓子 > teiburu\ ;
+直諌 > chokkan\ ;
+直談 > jikidan\ ;
+入電 > nyuuden\ ;
+前章 > zenshou\ ;
+石段 > ishidan\ ;
+武烈 > buretsu\ ;
+直話 > chokuwa\ ;
+磁力 > jiryoku\ ;
+水垢 > mizuaka\ ;
+平臼 > hirausu\ ;
+役所 > yakusho\ ;
+適用 > tekiyou\ ;
+連続 > renzoku\ ;
+強権 > kyouken\ ;
+卵嚢 > ran''nou\ ;
+氏寺 > ujidera\ ;
+入隊 > nyuutai\ ;
+心外 > shingai\ ;
+半宵 > hanshou\ ;
+連絡 > renraku\ ;
+制約 > seiyaku\ ;
+瞑目 > meimoku\ ;
+力点 > rikiten\ ;
+水圧 > suiatsu\ ;
+幻聴 > genchou\ ;
+矯正 > kyousei\ ;
+標題 > hyoudai\ ;
+氷嚢 > hyounou\ ;
+念力 > nenriki\ ;
+直観 > chokkan\ ;
+博奕 > bakuchi\ ;
+直覧 > jikiran\ ;
+千尋 > chihiro\ ;
+全長 > zenchou\ ;
+博大 > hakudai\ ;
+落涙 > rakurui\ ;
+内金 > uchikin\ ;
+登頂 > touchou\ ;
+盗賊 > touzoku\ ;
+博士 > hakushi\ ;
+皇陵 > kouryou\ ;
+発音 > hatsuon\ ;
+入門 > nyuumon\ ;
+毒手 > dokushu\ ;
+石橋 > sekkyou\ ;
+真菌 > shinkin\ ;
+白面 > hakumen\ ;
+徹夜 > tetsuya\ ;
+石槨 > sekkaku\ ;
+快勝 > kaishou\ ;
+切腹 > seppuku\ ;
+忠君 > chuukun\ ;
+蔵人 > kuroudo\ ;
+凶荒 > kyoukou\ ;
+年老 > toshioi\ ;
+苔類 > kokerui\ ;
+発露 > hatsuro\ ;
+兇類 > kyourui\ ;
+途絶 > tozetsu\ ;
+直行 > chokkou\ ;
+力漕 > rikisou\ ;
+占地 > shimeji\ ;
+心地 > kokochi\ ;
+先頃 > senkoro\ ;
+死毒 > shidoku\ ;
+府立 > furitsu\ ;
+師表 > shihyou\ ;
+原作 > gensaku\ ;
+印哲 > intetsu\ ;
+冷評 > reihyou\ ;
+心因 > shin''in\ ;
+出航 > shukkou\ ;
+速算 > sokusan\ ;
+厄前 > yakumae\ ;
+残業 > zangyou\ ;
+荒行 > aragyou\ ;
+内通 > naitsuu\ ;
+勝景 > shoukei\ ;
+瞭然 > ryouzen\ ;
+従属 > juuzoku\ ;
+弦楽 > gengaku\ ;
+劃然 > kakuzen\ ;
+即吟 > sokugin\ ;
+千姫 > senhime\ ;
+忠勤 > chuukin\ ;
+忠勇 > chuuyuu\ ;
+冷覚 > reikaku\ ;
+通算 > tsuusan\ ;
+逆縁 > gyakuen\ ;
+初級 > shokyuu\ ;
+毒性 > dokusei\ ;
+巡遊 > jun''yuu\ ;
+従容 > shouyou\ ;
+南国 > nangoku\ ;
+強暴 > kyoubou\ ;
+幕舎 > bakusha\ ;
+氷原 > hyougen\ ;
+平織 > hiraori\ ;
+応力 > ouryoku\ ;
+勝敗 > shouhai\ ;
+求刑 > kyuukei\ ;
+巻貝 > makigai\ ;
+式次 > shikiji\ ;
+石板 > sekiban\ ;
+写象 > shashou\ ;
+残柱 > zanchuu\ ;
+石材 > sekizai\ ;
+後宮 > koukyuu\ ;
+邦楽 > hougaku\ ;
+剣玉 > kendama\ ;
+北嶺 > hokurei\ ;
+年給 > nenkyuu\ ;
+全量 > zenryou\ ;
+後学 > kougaku\ ;
+還流 > kanryuu\ ;
+即刻 > sokkoku\ ;
+凶聞 > kyoubun\ ;
+民国 > minkoku\ ;
+入金 > nyuukin\ ;
+剛球 > goukyuu\ ;
+半国 > hangoku\ ;
+永別 > eibetsu\ ;
+酷使 > kokushi\ ;
+快作 > kaisaku\ ;
+印刷 > insatsu\ ;
+追納 > tsuinou\ ;
+氷刃 > hyoujin\ ;
+六道 > rokudou\ ;
+北岸 > hokugan\ ;
+前生 > zenshou\ ;
+送籍 > souseki\ ;
+別称 > besshou\ ;
+庭番 > niwaban\ ;
+農薬 > nouyaku\ ;
+近臣 > kinshin\ ;
+遊猟 > yuuryou\ ;
+登録 > touroku\ ;
+占卜 > senboku\ ;
+葉月 > hadzuki\ ;
+巨賊 > kyozoku\ ;
+華燭 > kashoku\ ;
+当惑 > touwaku\ ;
+彫工 > choukou\ ;
+分納 > bun''nou\ ;
+初穂 > hatsuho\ ;
+必勝 > hisshou\ ;
+白銑 > hakusen\ ;
+全速 > zensoku\ ;
+入選 > nyuusen\ ;
+全通 > zentsuu\ ;
+白銅 > hakudou\ ;
+白銀 > hakugin\ ;
+入道 > nyuudou\ ;
+邪曲 > jakyoku\ ;
+卜占 > bokusen\ ;
+工賃 > kouchin\ ;
+氷像 > hyouzou\ ;
+遊牧 > yuuboku\ ;
+週番 > shuuban\ ;
+心労 > shinrou\ ;
+初秋 > shoshuu\ ;
+幾程 > ikuhodo\ ;
+残敵 > zanteki\ ;
+通研 > tsuuken\ ;
+協同 > kyoudou\ ;
+平等 > byoudou\ ;
+過熱 > kanetsu\ ;
+即値 > sokuchi\ ;
+通知 > tsuuchi\ ;
+療養 > ryouyou\ ;
+年端 > toshiha\ ;
+庭球 > teikyuu\ ;
+殉教 > junkyou\ ;
+歌沢 > utazawa\ ;
+勁敵 > keiteki\ ;
+再調 > saichou\ ;
+凝脂 > gyoushi\ ;
+再読 > saidoku\ ;
+求人 > kyuujin\ ;
+功業 > kougyou\ ;
+色黒 > iroguro\ ;
+南北 > nanboku\ ;
+博労 > bakurou\ ;
+破局 > hakyoku\ ;
+単勝 > tanshou\ ;
+正業 > seigyou\ ;
+帯芯 > obishin\ ;
+半周 > hanshuu\ ;
+遡源 > sakugen\ ;
+全身 > zenshin\ ;
+毒害 > dokugai\ ;
+内謁 > naietsu\ ;
+内諾 > naidaku\ ;
+幸福 > koufuku\ ;
+勤恪 > kinkaku\ ;
+出精 > shussei\ ;
+復命 > fukumei\ ;
+若造 > wakazou\ ;
+庚申 > koushin\ ;
+直航 > chokkou\ ;
+店番 > miseban\ ;
+魍魎 > mouryou\ ;
+光量 > kouryou\ ;
+廓清 > kakusei\ ;
+適法 > tekihou\ ;
+優長 > yuuchou\ ;
+忙中 > bouchuu\ ;
+卑劣 > hiretsu\ ;
+利発 > rihatsu\ ;
+復号 > fukugou\ ;
+心像 > shinzou\ ;
+連用 > ren''you\ ;
+気力 > kiryoku\ ;
+氷人 > hyoujin\ ;
+段平 > danbira\ ;
+共販 > kyouhan\ ;
+内証 > naishou\ ;
+内診 > naishin\ ;
+削片 > sakuhen\ ;
+正格 > seikaku\ ;
+強慾 > gouyoku\ ;
+復原 > fukugen\ ;
+発進 > hasshin\ ;
+弔文 > choubun\ ;
+北天 > hokuten\ ;
+北大 > hokudai\ ;
+元金 > motokin\ ;
+内角 > naikaku\ ;
+若輩 > jakuhai\ ;
+益虫 > ekichuu\ ;
+徳利 > tokkuri\ ;
+勁捷 > keishou\ ;
+必修 > hisshuu\ ;
+盲腸 > mouchou\ ;
+徳分 > tokubun\ ;
+蒸器 > mushiki\ ;
+微力 > biryoku\ ;
+匿名 > tokumei\ ;
+庵点 > ioriten\ ;
+延棒 > nobebou\ ;
+常習 > joushuu\ ;
+制球 > seikyuu\ ;
+分秒 > funbyou\ ;
+歓楽 > kanraku\ ;
+水中 > suichuu\ ;
+部局 > bukyoku\ ;
+凍肉 > touniku\ ;
+通用 > tsuuyou\ ;
+草色 > kusairo\ ;
+北境 > hokkyou\ ;
+魂魄 > konpaku\ ;
+徴兵 > chouhei\ ;
+配信 > haishin\ ;
+逗留 > touryuu\ ;
+適正 > tekisei\ ;
+正朝 > seichou\ ;
+正朔 > seisaku\ ;
+全豹 > zenpyou\ ;
+凄腕 > sugoude\ ;
+正服 > seifuku\ ;
+協働 > kyoudou\ ;
+光速 > kousoku\ ;
+勘忍 > kan''nin\ ;
+先進 > senshin\ ;
+先週 > senshuu\ ;
+入貢 > nyuukou\ ;
+酒代 > sakadai\ ;
+白身 > shiromi\ ;
+巫術 > fujutsu\ ;
+速球 > sokkyuu\ ;
+返納 > hen''nou\ ;
+復刻 > fukkoku\ ;
+共謀 > kyoubou\ ;
+軽震 > keishin\ ;
+荒肝 > aragimo\ ;
+出穂 > shussui\ ;
+引換 > hikikae\ ;
+輻輳 > fukusou\ ;
+欲求 > yokkyuu\ ;
+延板 > nobeita\ ;
+真空 > shinkuu\ ;
+眼目 > ganmoku\ ;
+引接 > insetsu\ ;
+色魔 > shikima\ ;
+必中 > hitchuu\ ;
+輪郭 > rinkaku\ ;
+単作 > tansaku\ ;
+省線 > shousen\ ;
+徴候 > choukou\ ;
+弾幕 > danmaku\ ;
+年益 > nen''eki\ ;
+復党 > fukutou\ ;
+光軸 > koujiku\ ;
+廿日 > hatsuka\ ;
+弱志 > jakushi\ ;
+北国 > hokkoku\ ;
+強弓 > goukyuu\ ;
+復元 > fukugen\ ;
+強弁 > kyouben\ ;
+還暦 > kanreki\ ;
+励振 > reishin\ ;
+辞色 > jishoku\ ;
+出社 > shussha\ ;
+草肥 > kusagoe\ ;
+利率 > riritsu\ ;
+発足 > hossoku\ ;
+公評 > kouhyou\ ;
+正教 > seikyou\ ;
+公証 > koushou\ ;
+十六 > juuroku\ ;
+別珍 > betchin\ ;
+協会 > kyoukai\ ;
+先蹴 > senshuu\ ;
+区別 > kubetsu\ ;
+千億 > sen''oku\ ;
+気位 > kigurai\ ;
+弱弟 > jakutei\ ;
+共襟 > tomoeri\ ;
+眼病 > ganbyou\ ;
+六角 > rokkaku\ ;
+卒伍 > sotsugo\ ;
+民俗 > minzoku\ ;
+殯宮 > hinkyuu\ ;
+研学 > kengaku\ ;
+残念 > zan''nen\ ;
+荷積 > nidzumi\ ;
+南中 > nanchuu\ ;
+冷肉 > reiniku\ ;
+落手 > rakushu\ ;
+相続 > souzoku\ ;
+残忍 > zan''nin\ ;
+気付 > kidzuke\ ;
+入試 > nyuushi\ ;
+残心 > zanshin\ ;
+創業 > sougyou\ ;
+凡策 > bonsaku\ ;
+勉強 > benkyou\ ;
+共裏 > tomoura\ ;
+後厄 > atoyaku\ ;
+落成 > rakusei\ ;
+全角 > zenkaku\ ;
+弱年 > jakunen\ ;
+勧学 > kangaku\ ;
+半作 > hansaku\ ;
+得分 > tokubun\ ;
+載録 > sairoku\ ;
+庶流 > shoryuu\ ;
+歴戦 > rekisen\ ;
+川蝦 > kawaebi\ ;
+歌曲 > kakyoku\ ;
+待合 > machiai\ ;
+帰結 > kiketsu\ ;
+石庭 > sekitei\ ;
+卒中 > sotchuu\ ;
+卓上 > takujou\ ;
+削減 > sakugen\ ;
+充足 > juusoku\ ;
+半休 > hankyuu\ ;
+茶腹 > chabara\ ;
+免責 > menseki\ ;
+匹儔 > hitchuu\ ;
+適格 > tekkaku\ ;
+荒縄 > aranawa\ ;
+僻隅 > hekiguu\ ;
+劇暑 > gekisho\ ;
+直経 > chokkei\ ;
+目縁 > mabuchi\ ;
+僻陬 > hekisuu\ ;
+遍歴 > henreki\ ;
+帯紙 > obigami\ ;
+広狭 > koukyou\ ;
+刺激 > shigeki\ ;
+干瓢 > kanpyou\ ;
+鄙劣 > hiretsu\ ;
+辞職 > jishoku\ ;
+償金 > shoukin\ ;
+氏人 > ujihito\ ;
+直系 > chokkei\ ;
+盗聴 > touchou\ ;
+公表 > kouhyou\ ;
+知徳 > chitoku\ ;
+遊歴 > yuureki\ ;
+公衆 > koushuu\ ;
+先負 > senmake\ ;
+知得 > chitoku\ ;
+眼球 > gankyuu\ ;
+帽章 > boushou\ ;
+近称 > kinshou\ ;
+復仇 > fukkyuu\ ;
+発議 > hatsugi\ ;
+出監 > shukkan\ ;
+送球 > soukyuu\ ;
+良風 > ryoufuu\ ;
+分留 > bunryuu\ ;
+勘審 > kanshin\ ;
+適材 > tekizai\ ;
+邀撃 > yougeki\ ;
+連濁 > rendaku\ ;
+歿後 > botsugo\ ;
+真相 > shinsou\ ;
+真直 > massugu\ ;
+役名 > yakumei\ ;
+従僕 > juuboku\ ;
+道楽 > douraku\ ;
+瞬断 > shundan\ ;
+発語 > hatsugo\ ;
+勧奨 > kanshou\ ;
+力投 > rikitou\ ;
+刑獄 > keigoku\ ;
+百計 > hyakkei\ ;
+償還 > shoukan\ ;
+千両 > senryou\ ;
+後先 > atosaki\ ;
+十九 > juukyuu\ ;
+発話 > hatsuwa\ ;
+較量 > kouryou\ ;
+北半 > hokuhan\ ;
+廃業 > haigyou\ ;
+発註 > hatchuu\ ;
+十両 > juuryou\ ;
+力戦 > rikisen\ ;
+十七 > juunana\ ;
+十一 > juuichi\ ;
+引当 > hikiate\ ;
+逸民 > itsumin\ ;
+律儀 > richigi\ ;
+前歴 > zenreki\ ;
+副本 > fukuhon\ ;
+艱難 > kan''nan\ ;
+式微 > shikibi\ ;
+遊楽 > yuuraku\ ;
+軽量 > keiryou\ ;
+軽重 > keichou\ ;
+目算 > mokusan\ ;
+副書 > fukusho\ ;
+出産 > shussan\ ;
+出生 > shussei\ ;
+発覚 > hakkaku\ ;
+進水 > shinsui\ ;
+欲望 > yokubou\ ;
+勇将 > yuushou\ ;
+盟約 > meiyaku\ ;
+相称 > soushou\ ;
+彼処 > kashiko\ ;
+矮小 > waishou\ ;
+睫毛 > matsuge\ ;
+邸宅 > teitaku\ ;
+短小 > tanshou\ ;
+目端 > mehashi\ ;
+勉学 > bengaku\ ;
+鯨肉 > geiniku\ ;
+茉莉 > matsuri\ ;
+優越 > yuuetsu\ ;
+百行 > hyakkou\ ;
+近眼 > chikame\ ;
+菌毒 > kindoku\ ;
+歴年 > rekinen\ ;
+弓師 > yumishi\ ;
+光覚 > koukaku\ ;
+先覚 > senkaku\ ;
+後作 > atosaku\ ;
+巨舶 > kyohaku\ ;
+底流 > teiryuu\ ;
+近目 > chikame\ ;
+発表 > happyou\ ;
+選択 > sentaku\ ;
+欠格 > kekkaku\ ;
+共著 > kyoucho\ ;
+広漠 > koubaku\ ;
+草笛 > kusabue\ ;
+勝報 > shouhou\ ;
+初潮 > shochou\ ;
+助平 > sukebei\ ;
+強大 > kyoudai\ ;
+輪読 > rindoku\ ;
+知将 > chishou\ ;
+内膜 > naimaku\ ;
+強壮 > kyousou\ ;
+役僧 > yakusou\ ;
+劇戦 > gekisen\ ;
+毒刃 > dokujin\ ;
+白蝋 > hakurou\ ;
+帆綱 > hodzuna\ ;
+軍長 > gunchou\ ;
+力役 > rikieki\ ;
+冷笑 > reishou\ ;
+茶粥 > chagayu\ ;
+廻心 > kaishin\ ;
+看病 > kanbyou\ ;
+目礼 > mokurei\ ;
+輸血 > yuketsu\ ;
+勝地 > shouchi\ ;
+初湯 > hatsuyu\ ;
+兇行 > kyoukou\ ;
+凶猛 > kyoumou\ ;
+艦長 > kanchou\ ;
+凍石 > touseki\ ;
+制欲 > seiyoku\ ;
+形勝 > keishou\ ;
+出版 > shuppan\ ;
+弟嫁 > otoyome\ ;
+凶状 > kyoujou\ ;
+樺色 > kabairo\ ;
+退潮 > taichou\ ;
+砂地 > sunachi\ ;
+道教 > doukyou\ ;
+過日 > kajitsu\ ;
+郷党 > kyoutou\ ;
+転針 > tenshin\ ;
+茶箱 > chabako\ ;
+帰着 > kichaku\ ;
+適所 > tekisho\ ;
+僻邑 > hekiyuu\ ;
+歎息 > tansoku\ ;
+苛虐 > kagyaku\ ;
+写経 > shakyou\ ;
+歓心 > kanshin\ ;
+彫像 > chouzou\ ;
+石塔 > sekitou\ ;
+返球 > henkyuu\ ;
+石塀 > ishibei\ ;
+弟姫 > otohime\ ;
+利殖 > rishoku\ ;
+役人 > yakunin\ ;
+帯皮 > obikawa\ ;
+辱知 > jokuchi\ ;
+勧告 > kankoku\ ;
+盲目 > moumoku\ ;
+痛風 > tsuufuu\ ;
+逸材 > itsuzai\ ;
+出炭 > shuttan\ ;
+弱国 > jakkoku\ ;
+幹流 > kanryuu\ ;
+歯学 > shigaku\ ;
+干渉 > kanshou\ ;
+荷物 > nimotsu\ ;
+北上 > hokujou\ ;
+副手 > fukushu\ ;
+剽悍 > hyoukan\ ;
+色里 > irozato\ ;
+転進 > tenshin\ ;
+盤石 > banjaku\ ;
+農相 > noushou\ ;
+遊撃 > yuugeki\ ;
+入船 > nyuusen\ ;
+分溜 > bunryuu\ ;
+入舎 > nyuusha\ ;
+逐次 > chikuji\ ;
+辺疆 > henkyou\ ;
+前方 > maekata\ ;
+白菜 > hakusai\ ;
+割愛 > katsuai\ ;
+適性 > tekisei\ ;
+監督 > kantoku\ ;
+躁鬱 > souutsu\ ;
+研削 > kensaku\ ;
+楽隊 > gakutai\ ;
+正客 > seikaku\ ;
+殉国 > junkoku\ ;
+全能 > zen''nou\ ;
+逆比 > gyakuhi\ ;
+冥福 > meifuku\ ;
+睦月 > mutsuki\ ;
+逸文 > itsubun\ ;
+刻本 > kokuhon\ ;
+正子 > shoushi\ ;
+幽欝 > yuuutsu\ ;
+殺傷 > sasshou\ ;
+内約 > naiyaku\ ;
+強味 > tsuyomi\ ;
+剣戟 > kengeki\ ;
+返照 > henshou\ ;
+艇長 > teichou\ ;
+適当 > tekitou\ ;
+転身 > tenshin\ ;
+分流 > bunryuu\ ;
+権能 > ken''nou\ ;
+凶漢 > kyoukan\ ;
+正嫡 > seiteki\ ;
+欲情 > yokujou\ ;
+座敷 > zashiki\ ;
+楼閣 > roukaku\ ;
+分注 > bunchuu\ ;
+包丁 > houchou\ ;
+制服 > seifuku\ ;
+発芽 > hatsuga\ ;
+進数 > shinsuu\ ;
+出港 > shukkou\ ;
+百般 > hyappan\ ;
+出渠 > shukkyo\ ;
+進攻 > shinkou\ ;
+落城 > rakujou\ ;
+割当 > wariate\ ;
+欲念 > yokunen\ ;
+樟脳 > shounou\ ;
+近火 > chikabi\ ;
+別格 > bekkaku\ ;
+疾風 > shippuu\ ;
+落地 > rakuchi\ ;
+共編 > kyouhen\ ;
+此奴 > koyatsu\ ;
+強勢 > kyousei\ ;
+盗癖 > touheki\ ;
+船長 > senchou\ ;
+研修 > kenshuu\ ;
+刷新 > sasshin\ ;
+殿中 > denchuu\ ;
+強力 > gouriki\ ;
+序曲 > jokyoku\ ;
+床板 > yukaita\ ;
+通有 > tsuuyuu\ ;
+剛愎 > goufuku\ ;
+兵糧 > hyourou\ ;
+遷客 > senkaku\ ;
+強剛 > kyougou\ ;
+盆石 > bonseki\ ;
+欣悦 > kinetsu\ ;
+強制 > kyousei\ ;
+兵粮 > hyourou\ ;
+道心 > doushin\ ;
+典籍 > tenseki\ ;
+道徳 > doutoku\ ;
+病難 > byounan\ ;
+力士 > rikishi\ ;
+車輛 > sharyou\ ;
+車輌 > sharyou\ ;
+兵籍 > heiseki\ ;
+劃定 > kakutei\ ;
+速断 > sokudan\ ;
+車軸 > shajiku\ ;
+内積 > naiseki\ ;
+透析 > touseki\ ;
+冠省 > kanshou\ ;
+剣形 > kengata\ ;
+荒物 > aramono\ ;
+盲爆 > moubaku\ ;
+僻論 > hekiron\ ;
+強兵 > kyouhei\ ;
+公約 > kouyaku\ ;
+段丘 > dankyuu\ ;
+農牧 > nouboku\ ;
+入綿 > irewata\ ;
+横線 > yokosen\ ;
+白羽 > shiraha\ ;
+峻険 > shunken\ ;
+巫祝 > fushuku\ ;
+軸装 > jikusou\ ;
+監獄 > kangoku\ ;
+別時 > betsuji\ ;
+弔問 > choumon\ ;
+勅勘 > chokkan\ ;
+全級 > zenkyuu\ ;
+内福 > naifuku\ ;
+写真 > shashin\ ;
+全納 > zen''nou\ ;
+凝滞 > gyoutai\ ;
+道床 > doushou\ ;
+殊勝 > shushou\ ;
+軍足 > gunsoku\ ;
+高額 > kougaku\ ;
+僻言 > hekigen\ ;
+剣幕 > kenmaku\ ;
+凶歳 > kyousai\ ;
+剛強 > goukyou\ ;
+分業 > bungyou\ ;
+真正 > shinsei\ ;
+転調 > tenchou\ ;
+歌姫 > utahime\ ;
+遠山 > tooyama\ ;
+横糸 > yokoito\ ;
+次式 > jishiki\ ;
+強健 > kyouken\ ;
+遊弋 > yuuyoku\ ;
+遺失 > ishitsu\ ;
+選奨 > senshou\ ;
+僻見 > hekiken\ ;
+花葵 > hanaaoi\ ;
+落命 > rakumei\ ;
+遊廓 > yuukaku\ ;
+軟調 > nanchou\ ;
+樹立 > juritsu\ ;
+魔術 > majutsu\ ;
+凡流 > bonryuu\ ;
+市町 > shichou\ ;
+舌音 > zetsuon\ ;
+初日 > hatsuhi\ ;
+引受 > hikiuke\ ;
+劇変 > gekihen\ ;
+建国 > kenkoku\ ;
+短冊 > tanzaku\ ;
+石像 > sekizou\ ;
+督戦 > tokusen\ ;
+刺戟 > shigeki\ ;
+眺望 > choubou\ ;
+劇壇 > gekidan\ ;
+近況 > kinkyou\ ;
+欠席 > kesseki\ ;
+巨石 > kyoseki\ ;
+前徴 > zenchou\ ;
+歴史 > rekishi\ ;
+白線 > hakusen\ ;
+平服 > heifuku\ ;
+転覆 > tenpuku\ ;
+機略 > kiryaku\ ;
+劇場 > gekijou\ ;
+身近 > midjika\ ;
+優良 > yuuryou\ ;
+逆旅 > gekiryo\ ;
+身辺 > shinpen\ ;
+分析 > bunseki\ ;
+弱体 > jakutai\ ;
+出棺 > shukkan\ ;
+白紙 > hakushi\ ;
+党籍 > touseki\ ;
+横笛 > yokobue\ ;
+発給 > hakkyuu\ ;
+軽薄 > keihaku\ ;
+引力 > inryoku\ ;
+内相 > naishou\ ;
+公称 > koushou\ ;
+円盆 > marubon\ ;
+著作 > chosaku\ ;
+痩身 > soushin\ ;
+花色 > hanairo\ ;
+速成 > sokusei\ ;
+高閣 > koukaku\ ;
+左直 > sachoku\ ;
+前年 > zen''nen\ ;
+送料 > souryou\ ;
+鱗木 > rinboku\ ;
+白粉 > oshiroi\ ;
+内的 > naiteki\ ;
+苦節 > kusetsu\ ;
+白米 > hakumai\ ;
+短信 > tanshin\ ;
+華実 > kajitsu\ ;
+横穴 > yokoana\ ;
+興隆 > kouryuu\ ;
+極道 > gokudou\ ;
+良計 > ryoukei\ ;
+眷族 > kenzoku\ ;
+道学 > dougaku\ ;
+側面 > sokumen\ ;
+出校 > shukkou\ ;
+幣束 > heisoku\ ;
+助勢 > sukezei\ ;
+功名 > koumyou\ ;
+艇身 > teishin\ ;
+過密 > kamitsu\ ;
+劇団 > gekidan\ ;
+努力 > doryoku\ ;
+庭師 > niwashi\ ;
+石亭 > sekitei\ ;
+骨骼 > kokkaku\ ;
+助力 > joryoku\ ;
+廟堂 > byoudou\ ;
+追放 > tsuihou\ ;
+峡間 > kyoukan\ ;
+荒涼 > kouryou\ ;
+死傷 > shishou\ ;
+遊客 > yuukaku\ ;
+入社 > nyuusha\ ;
+橋畔 > kyouhan\ ;
+遊学 > yuugaku\ ;
+歳入 > sainyuu\ ;
+内申 > naishin\ ;
+鳩合 > kyuugou\ ;
+欠字 > ketsuji\ ;
+正北 > seihoku\ ;
+傷跡 > kizuato\ ;
+武力 > buryoku\ ;
+適地 > tekichi\ ;
+功力 > kouriki\ ;
+荒波 > aranami\ ;
+近業 > kingyou\ ;
+真書 > shinsho\ ;
+舶載 > hakusai\ ;
+庵室 > anjitsu\ ;
+凶暴 > kyoubou\ ;
+共益 > kyoueki\ ;
+正副 > seifuku\ ;
+通性 > tsuusei\ ;
+正則 > seisoku\ ;
+前審 > zenshin\ ;
+鬱血 > ukketsu\ ;
+兼用 > ken''you\ ;
+労作 > rousaku\ ;
+通念 > tsuunen\ ;
+凋残 > chouzan\ ;
+冷涼 > reiryou\ ;
+軽舟 > keishuu\ ;
+落体 > rakutai\ ;
+的確 > tekkaku\ ;
+連年 > ren''nen\ ;
+切換 > kirikae\ ;
+痕跡 > konseki\ ;
+干拓 > kantaku\ ;
+死人 > shibito\ ;
+公的 > kouteki\ ;
+建前 > tatemae\ ;
+切掛 > kikkake\ ;
+進展 > shinten\ ;
+欠如 > ketsujo\ ;
+骨頂 > kotchou\ ;
+横着 > ouchaku\ ;
+分掌 > bunshou\ ;
+弁償 > benshou\ ;
+刑戮 > keiriku\ ;
+通弊 > tsuuhei\ ;
+発祥 > hasshou\ ;
+通弁 > tsuuben\ ;
+歴伝 > rekiden\ ;
+幽愁 > yuushuu\ ;
+落人 > ochuudo\ ;
+入監 > nyuukan\ ;
+死中 > shichuu\ ;
+歴任 > rekinin\ ;
+別後 > betsugo\ ;
+歴代 > rekidai\ ;
+歴仕 > rekishi\ ;
+共用 > kyouyou\ ;
+極貧 > gokuhin\ ;
+共産 > kyousan\ ;
+共生 > kyousei\ ;
+権益 > ken''eki\ ;
+幻惑 > genwaku\ ;
+転落 > tenraku\ ;
+幕政 > bakusei\ ;
+県有 > ken''yuu\ ;
+追懐 > tsuikai\ ;
+魚腹 > gyofuku\ ;
+通常 > tsuujou\ ;
+追憶 > tsuioku\ ;
+盛況 > seikyou\ ;
+初心 > shoshin\ ;
+躊躇 > chuucho\ ;
+川獺 > kawauso\ ;
+鬼蓮 > onibasu\ ;
+真摯 > shinshi\ ;
+皆目 > kaimoku\ ;
+白砂 > hakusha\ ;
+通巻 > tsuukan\ ;
+歴世 > rekishi\ ;
+概評 > gaihyou\ ;
+弋人 > yokujin\ ;
+航跡 > kouseki\ ;
+凝望 > gyoubou\ ;
+傾角 > keikaku\ ;
+典獄 > tengoku\ ;
+鯛焼 > taiyaki\ ;
+適合 > tekigou\ ;
+劇剤 > gekizai\ ;
+別席 > besseki\ ;
+元禄 > genroku\ ;
+追想 > tsuisou\ ;
+傾覆 > keifuku\ ;
+魚肉 > gyoniku\ ;
+追悼 > tsuitou\ ;
+入用 > nyuuyou\ ;
+白眼 > hakugan\ ;
+高進 > koushin\ ;
+荒業 > arawaza\ ;
+痛論 > tsuuron\ ;
+刺子 > sashiko\ ;
+正体 > shoutai\ ;
+逆徒 > gyakuto\ ;
+高速 > kousoku\ ;
+山麓 > sanroku\ ;
+幼弱 > youjaku\ ;
+迎春 > geishun\ ;
+白目 > shirome\ ;
+列強 > rekkyou\ ;
+農業 > nougyou\ ;
+切愛 > setsuai\ ;
+候鳥 > kouchou\ ;
+還俗 > genzoku\ ;
+速射 > sokusha\ ;
+迷惑 > meiwaku\ ;
+広州 > koushuu\ ;
+逼塞 > hissoku\ ;
+平復 > heifuku\ ;
+白癬 > hakusen\ ;
+痛言 > tsuugen\ ;
+初巳 > hatsumi\ ;
+疾走 > shissou\ ;
+列座 > retsuza\ ;
+着座 > chakuza\ ;
+共犯 > kyouhan\ ;
+茶殻 > chagara\ ;
+追従 > tsuijuu\ ;
+正中 > seichuu\ ;
+躬行 > kyuukou\ ;
+白痴 > hakuchi\ ;
+凶手 > kyoushu\ ;
+市況 > shikyou\ ;
+列席 > resseki\ ;
+帝業 > teigyou\ ;
+前垂 > maedare\ ;
+眩惑 > genwaku\ ;
+念々 > nen''nen\ ;
+着工 > chakkou\ ;
+割勘 > warikan\ ;
+退庁 > taichou\ ;
+発疹 > hosshin\ ;
+年年 > nen''nen\ ;
+鳥人 > choujin\ ;
+迎撃 > geigeki\ ;
+進塁 > shinrui\ ;
+剣呑 > ken''non\ ;
+冒涜 > boutoku\ ;
+検鏡 > kenkyou\ ;
+先皇 > sen''nou\ ;
+退席 > taiseki\ ;
+別宴 > betsuen\ ;
+週報 > shuuhou\ ;
+割前 > warimae\ ;
+円滑 > enkotsu\ ;
+別宅 > bettaku\ ;
+免疫 > men''eki\ ;
+盛業 > seigyou\ ;
+岡陵 > kouryou\ ;
+割判 > warihan\ ;
+軸線 > jikusen\ ;
+高足 > kousoku\ ;
+優秀 > yuushuu\ ;
+側辺 > sokuhen\ ;
+欠員 > ketsuin\ ;
+棒鱈 > boudara\ ;
+入物 > iremono\ ;
+入牢 > nyuurou\ ;
+真情 > shinjou\ ;
+選任 > sen''nin\ ;
+凶悪 > kyouaku\ ;
+初審 > shoshin\ ;
+番長 > banchou\ ;
+幼少 > youshou\ ;
+草木 > soumoku\ ;
+再注 > saichuu\ ;
+目星 > meboshi\ ;
+真性 > shinsei\ ;
+幽寂 > yuujaku\ ;
+創傷 > soushou\ ;
+側車 > sokusha\ ;
+全焼 > zenshou\ ;
+初子 > hatsugo\ ;
+僚艦 > ryoukan\ ;
+出征 > shussei\ ;
+幽客 > yuukaku\ ;
+分巻 > bunmaki\ ;
+通好 > tsuukou\ ;
+興趣 > kyoushu\ ;
+剣劇 > kengeki\ ;
+癩病 > raibyou\ ;
+通奏 > tsuusou\ ;
+疣足 > iboashi\ ;
+良能 > ryounou\ ;
+載積 > saiseki\ ;
+茶棚 > chadana\ ;
+幼子 > osanago\ ;
+適例 > tekirei\ ;
+検針 > kenshin\ ;
+出廷 > shuttei\ ;
+前哨 > zenshou\ ;
+崩落 > houraku\ ;
+真影 > shin''ei\ ;
+年少 > nenshou\ ;
+幣帛 > heihaku\ ;
+凶弾 > kyoudan\ ;
+速報 > sokuhou\ ;
+甲高 > koudaka\ ;
+白状 > hakujou\ ;
+適任 > tekinin\ ;
+制圧 > seiatsu\ ;
+剛力 > gouriki\ ;
+疾視 > shisshi\ ;
+苦熱 > kunetsu\ ;
+発狂 > hakkyou\ ;
+創作 > sousaku\ ;
+檄文 > gekibun\ ;
+内池 > uchiike\ ;
+目撥 > mebachi\ ;
+偏針 > henshin\ ;
+退学 > taigaku\ ;
+偏重 > henchou\ ;
+年子 > toshigo\ ;
+通報 > tsuuhou\ ;
+傍証 > boushou\ ;
+傍註 > bouchuu\ ;
+出帆 > shuppan\ ;
+剣先 > kensaki\ ;
+先王 > sen''nou\ ;
+凶年 > kyounen\ ;
+真平 > mappira\ ;
+癒着 > yuchaku\ ;
+副使 > fukushi\ ;
+高調 > kouchou\ ;
+莫大 > bakudai\ ;
+前厄 > maeyaku\ ;
+魚竜 > gyoryuu\ ;
+共済 > kyousai\ ;
+兇猛 > kyoumou\ ;
+迷宮 > meikyuu\ ;
+遅刻 > chikoku\ ;
+相承 > soushou\ ;
+高評 > kouhyou\ ;
+幔幕 > manmaku\ ;
+森閑 > shinkan\ ;
+進呈 > shintei\ ;
+辟易 > hekieki\ ;
+兇状 > kyoujou\ ;
+入漁 > nyuugyo\ ;
+直披 > chokuhi\ ;
+発煙 > hatsuen\ ;
+舟行 > shuukou\ ;
+岸辺 > kishibe\ ;
+高角 > koukaku\ ;
+道俗 > douzoku\ ;
+進取 > shinshu\ ;
+膨隆 > bouryuu\ ;
+倍額 > baigaku\ ;
+目指 > mokushi\ ;
+魔窟 > makutsu\ ;
+凝念 > gyounen\ ;
+巡歴 > junreki\ ;
+山頂 > sanchou\ ;
+転籍 > tenseki\ ;
+入湯 > nyuutou\ ;
+幽境 > yuukyou\ ;
+出展 > shutten\ ;
+荒技 > arawaza\ ;
+入港 > nyuukou\ ;
+入渠 > nyuukyo\ ;
+苛烈 > karetsu\ ;
+光照 > koushou\ ;
+迫害 > hakugai\ ;
+八洲 > yashima\ ;
+轟沈 > gouchin\ ;
+県庁 > kenchou\ ;
+凡庸 > bon''you\ ;
+癇癖 > kanpeki\ ;
+色素 > shikiso\ ;
+近年 > kin''nen\ ;
+直感 > chokkan\ ;
+盆暮 > bonkure\ ;
+蹉跌 > satetsu\ ;
+年増 > toshima\ ;
+遊侠 > yuukyou\ ;
+前兆 > zenchou\ ;
+癇症 > kanshou\ ;
+轢死 > rekishi\ ;
+道主 > doushuu\ ;
+凋悴 > chousui\ ;
+僧籍 > souseki\ ;
+道中 > douchuu\ ;
+山陽 > san''you\ ;
+工業 > kougyou\ ;
+山陵 > sanryou\ ;
+欠伸 > kenshin\ ;
+遊休 > yuukyuu\ ;
+痘苗 > toubyou\ ;
+幽囚 > yuushuu\ ;
+週刊 > shuukan\ ;
+庖厨 > houchuu\ ;
+倒閣 > toukaku\ ;
+列国 > rekkoku\ ;
+督励 > tokurei\ ;
+巡業 > jungyou\ ;
+標準 > hyoujun\ ;
+菊判 > kikuban\ ;
+産額 > sangaku\ ;
+週内 > shuunai\ ;
+傾聴 > keichou\ ;
+鰻屋 > unagiya\ ;
+帯心 > obishin\ ;
+入水 > nyuusui\ ;
+制勝 > seishou\ ;
+刻刻 > kokkoku\ ;
+備蓄 > bichiku\ ;
+興行 > kougyou\ ;
+通名 > toorina\ ;
+軍籍 > gunseki\ ;
+船舶 > senpaku\ ;
+連勝 > renshou\ ;
+通史 > tsuushi\ ;
+直後 > chokugo\ ;
+直径 > chokkei\ ;
+直往 > chokuou\ ;
+修養 > shuuyou\ ;
+兇漢 > kyoukan\ ;
+病菌 > byoukin\ ;
+僭称 > senshou\ ;
+出奔 > shuppon\ ;
+辛抱 > shinbou\ ;
+楽聖 > gakusei\ ;
+健診 > kenshin\ ;
+軽症 > keishou\ ;
+船腹 > senpuku\ ;
+白洲 > shirasu\ ;
+凡小 > bonshou\ ;
+前任 > zen''nin\ ;
+巨木 > kyoboku\ ;
+般若 > han''nya\ ;
+傷者 > shousha\ ;
+円曲 > enkyoku\ ;
+尾骨 > bikotsu\ ;
+内服 > naifuku\ ;
+広告 > koukoku\ ;
+芝生 > shibafu\ ;
+通勤 > tsuukin\ ;
+自説 > jisetsu\ ;
+充溢 > juuitsu\ ;
+看客 > kankaku\ ;
+茶托 > chataku\ ;
+真夏 > manatsu\ ;
+凶変 > kyouhen\ ;
+辺幅 > henpuku\ ;
+店内 > ten''nai\ ;
+刺傷 > shishou\ ;
+川柳 > senryuu\ ;
+発注 > hatchuu\ ;
+業腹 > gouhara\ ;
+良種 > ryoushu\ ;
+共棲 > kyousei\ ;
+借金 > shakkin\ ;
+削井 > sakusei\ ;
+異質 > ishitsu\ ;
+序列 > joretsu\ ;
+速写 > sokusha\ ;
+倒錯 > tousaku\ ;
+帝徳 > teitoku\ ;
+通分 > tsuubun\ ;
+追善 > tsuizen\ ;
+兼有 > ken''yuu\ ;
+凶報 > kyouhou\ ;
+検認 > ken''nin\ ;
+荒巻 > aramaki\ ;
+病舎 > byousha\ ;
+舞茸 > maitake\ ;
+梟首 > kyoushu\ ;
+週令 > shuurei\ ;
+准州 > junshuu\ ;
+共栓 > tomosen\ ;
+検証 > kenshou\ ;
+検診 > kenshin\ ;
+常宿 > jouyado\ ;
+信頼 > shinrai\ ;
+光沢 > koutaku\ ;
+帝廟 > teibyou\ ;
+凹地 > kubochi\ ;
+凸坊 > dekobou\ ;
+腱鞘 > kenshou\ ;
+軍票 > gunpyou\ ;
+盛徳 > seitoku\ ;
+生長 > seichou\ ;
+業者 > gyousha\ ;
+軍神 > gunshin\ ;
+入棺 > nyuukan\ ;
+蹈襲 > toushuu\ ;
+進上 > shinjou\ ;
+舟艇 > shuutei\ ;
+幽勝 > yuushou\ ;
+巨擘 > kyohaku\ ;
+舟航 > shuukou\ ;
+横棒 > yokobou\ ;
+制作 > seisaku\ ;
+年収 > nenshuu\ ;
+凋尽 > choujin\ ;
+盗心 > toushin\ ;
+入梅 > nyuubai\ ;
+腓骨 > hikotsu\ ;
+共有 > kyouyuu\ ;
+鰤子 > burikko\ ;
+相客 > aikyaku\ ;
+真因 > shin''in\ ;
+追号 > tsuigou\ ;
+連作 > rensaku\ ;
+兎欠 > toketsu\ ;
+兆民 > choumin\ ;
+別儀 > betsugi\ ;
+入校 > nyuukou\ ;
+良知 > ryouchi\ ;
+連休 > renkyuu\ ;
+切味 > kireaji\ ;
+造作 > zousaku\ ;
+六書 > rokusho\ ;
+着剣 > chakken\ ;
+分周 > bunshuu\ ;
+六曜 > rokuyou\ ;
+八朔 > hassaku\ ;
+刪修 > sanshuu\ ;
+准将 > junshou\ ;
+県境 > kenkyou\ ;
+腕首 > udekubi\ ;
+眼力 > ganriki\ ;
+荒寥 > kouryou\ ;
+通例 > tsuurei\ ;
+岬角 > koukaku\ ;
+標榜 > hyoubou\ ;
+入来 > nyuurai\ ;
+略譜 > ryakufu\ ;
+轢断 > rekidan\ ;
+転用 > ten''you\ ;
+皐月 > satsuki\ ;
+連中 > renchuu\ ;
+元歌 > motouta\ ;
+色白 > irojiro\ ;
+岩角 > iwakado\ ;
+逓信 > teishin\ ;
+庖丁 > houchou\ ;
+茶店 > chamise\ ;
+凝塊 > gyoukai\ ;
+逆光 > gyakkou\ ;
+梟雄 > kyouyuu\ ;
+出品 > shuppin\ ;
+梵鐘 > bonshou\ ;
+船級 > senkyuu\ ;
+農学 > nougaku\ ;
+通人 > tsuujin\ ;
+略語 > ryakugo\ ;
+僭用 > sen''you\ ;
+通交 > tsuukou\ ;
+踊躍 > youyaku\ ;
+茶席 > chaseki\ ;
+追刊 > tsuikan\ ;
+用量 > youryou\ ;
+自虐 > jigyaku\ ;
+鬼畜 > kichiku\ ;
+腐食 > fushoku\ ;
+年内 > nen''nai\ ;
+公敵 > kouteki\ ;
+傍聴 > bouchou\ ;
+左折 > sasetsu\ ;
+公教 > koukyou\ ;
+白桃 > hakutou\ ;
+若枝 > wakaeda\ ;
+出向 > shukkou\ ;
+近国 > kingoku\ ;
+船籍 > senseki\ ;
+元標 > genpyou\ ;
+出口 > deguchi\ ;
+切削 > sessaku\ ;
+略解 > ryakkai\ ;
+刀匠 > toushou\ ;
+発案 > hatsuan\ ;
+産量 > sanryou\ ;
+軟球 > nankyuu\ ;
+別事 > betsuji\ ;
+修錬 > shuuren\ ;
+直奏 > jikisou\ ;
+市庁 > shichou\ ;
+航続 > kouzoku\ ;
+良田 > ryouden\ ;
+足音 > ashioto\ ;
+先棒 > sakibou\ ;
+刈入 > kariire\ ;
+白木 > shiraki\ ;
+標本 > hyouhon\ ;
+皇族 > kouzoku\ ;
+出勤 > shukkin\ ;
+白書 > hakusho\ ;
+辺境 > henkyou\ ;
+送信 > soushin\ ;
+軍用 > gun''you\ ;
+初乳 > shonyuu\ ;
+平信 > heishin\ ;
+百景 > hyakkei\ ;
+荒壁 > arakabe\ ;
+八掛 > hakkake\ ;
+輪業 > ringyou\ ;
+茶寮 > charyou\ ;
+平作 > heisaku\ ;
+盲執 > moushuu\ ;
+甘酒 > amazake\ ;
+光束 > kousoku\ ;
+元栓 > motosen\ ;
+八挺 > hatchou\ ;
+真剣 > shinken\ ;
+凹凸 > outotsu\ ;
+辛子 > karashi\ ;
+凸凹 > totsuou\ ;
+百方 > hyappou\ ;
+平伏 > heifuku\ ;
+内心 > naishin\ ;
+側背 > sokuhai\ ;
+療法 > ryouhou\ ;
+入掛 > irekaku\ ;
+迷信 > meishin\ ;
+凶刃 > kyoujin\ ;
+出典 > shutten\ ;
+出兵 > shuppei\ ;
+白斑 > hakuhan\ ;
+刀傷 > toushou\ ;
+退京 > taikyou\ ;
+白文 > hakubun\ ;
+凸円 > totsuen\ ;
+山賊 > sanzoku\ ;
+眼中 > ganchuu\ ;
+側聞 > sokubun\ ;
+業種 > gyoushu\ ;
+兇暴 > kyoubou\ ;
+八手 > yatsude\ ;
+色物 > iromono\ ;
+元朝 > genchou\ ;
+痳病 > rinbyou\ ;
+元服 > genpuku\ ;
+修道 > shuudou\ ;
+凶党 > kyoutou\ ;
+克明 > kokumei\ ;
+年上 > toshiue\ ;
+信金 > shinkin\ ;
+光明 > koumyou\ ;
+共感 > kyoukan\ ;
+工廠 > koushou\ ;
+高給 > koukyuu\ ;
+保釈 > hoshaku\ ;
+入手 > nyuushu\ ;
+入所 > nyuusho\ ;
+述作 > jussaku\ ;
+内幕 > naimaku\ ;
+機密 > kimitsu\ ;
+踏襲 > toushuu\ ;
+高級 > koukyuu\ ;
+直営 > chokuei\ ;
+直喩 > chokuyu\ ;
+小面 > shoumen\ ;
+尿酸 > nyousan\ ;
+辛夷 > kobushi\ ;
+六情 > rokujou\ ;
+高粱 > kouryan\ ;
+小難 > shounan\ ;
+局部 > kyokubu\ ;
+帝国 > teikoku\ ;
+出会 > shukkai\ ;
+小隊 > shoutai\ ;
+鬱然 > utsuzen\ ;
+共役 > kyoueki\ ;
+出仕 > shusshi\ ;
+傷痕 > shoukon\ ;
+再審 > saishin\ ;
+県内 > ken''nai\ ;
+申請 > shinsei\ ;
+発振 > hasshin\ ;
+尿道 > nyoudou\ ;
+側線 > sokusen\ ;
+公徳 > koutoku\ ;
+少関 > shoukan\ ;
+常勝 > joushou\ ;
+少閑 > shoukan\ ;
+冥境 > meikyou\ ;
+真人 > shinjin\ ;
+白扇 > hakusen\ ;
+小閑 > shoukan\ ;
+冷嘲 > reichou\ ;
+全心 > zenshin\ ;
+痛痒 > tsuuyou\ ;
+馴鹿 > tonakai\ ;
+直参 > jikisan\ ;
+入念 > nyuunen\ ;
+脊髄 > sekizui\ ;
+真下 > mashita\ ;
+円安 > en''yasu\ ;
+尊長 > sonchou\ ;
+公庁 > kouchou\ ;
+返信 > henshin\ ;
+偽筆 > gihitsu\ ;
+相剋 > soukoku\ ;
+師匠 > shishou\ ;
+膝行 > shikkou\ ;
+転注 > tenchuu\ ;
+入廷 > nyuutei\ ;
+俗輩 > zokuhai\ ;
+脚韻 > kyakuin\ ;
+工学 > kougaku\ ;
+凡俗 > bonzoku\ ;
+寒鮒 > kanbuna\ ;
+業病 > goubyou\ ;
+農博 > nouhaku\ ;
+農協 > noukyou\ ;
+兇手 > kyoushu\ ;
+全幅 > zenpuku\ ;
+八州 > yashima\ ;
+全席 > zenseki\ ;
+高禄 > kouroku\ ;
+近作 > kinsaku\ ;
+荷主 > ninushi\ ;
+良港 > ryoukou\ ;
+寸隙 > sungeki\ ;
+凡作 > bonsaku\ ;
+業界 > gyoukai\ ;
+相克 > soukoku\ ;
+目前 > mokuzen\ ;
+岩肌 > iwahada\ ;
+凡人 > bon''nin\ ;
+信販 > shinpan\ ;
+俗趣 > zokushu\ ;
+修論 > shuuron\ ;
+巧妙 > koumyou\ ;
+兵学 > heigaku\ ;
+田螺 > tanishi\ ;
+発心 > hosshin\ ;
+凍傷 > toushou\ ;
+産褥 > sanjoku\ ;
+小銃 > shoujuu\ ;
+良法 > ryouhou\ ;
+兇悪 > kyouaku\ ;
+便通 > bentsuu\ ;
+小鉢 > kobachi\ ;
+若年 > jakunen\ ;
+兇悍 > kyoukan\ ;
+赤飯 > sekihan\ ;
+帝劇 > teigeki\ ;
+共存 > kyouzon\ ;
+省令 > shourei\ ;
+自粛 > jishuku\ ;
+百度 > hyakudo\ ;
+内壁 > naiheki\ ;
+修訂 > shuutei\ ;
+免役 > men''eki\ ;
+疾病 > shippei\ ;
+元悪 > gen''aku\ ;
+疼痛 > toutsuu\ ;
+害鳥 > gaichou\ ;
+傍白 > bouhaku\ ;
+検索 > kensaku\ ;
+良民 > ryoumin\ ;
+全寮 > zenryou\ ;
+入居 > nyuukyo\ ;
+甲虫 > kouchuu\ ;
+躁病 > soubyou\ ;
+登庁 > touchou\ ;
+全容 > zen''you\ ;
+入射 > nyuusha\ ;
+田虫 > tamushi\ ;
+盲信 > moushin\ ;
+白帆 > shiraho\ ;
+高直 > koujiki\ ;
+膿胸 > noukyou\ ;
+尊重 > sonchou\ ;
+生血 > namachi\ ;
+入寇 > nyuukou\ ;
+全学 > zengaku\ ;
+兇弾 > kyoudan\ ;
+入定 > nyuujou\ ;
+転業 > tengyou\ ;
+屈託 > kuttaku\ ;
+直伝 > jikiden\ ;
+茶匙 > chasaji\ ;
+自筆 > jihitsu\ ;
+苗床 > naedoko\ ;
+赤面 > sekimen\ ;
+辛労 > shinrou\ ;
+兄弟 > kyoudai\ ;
+俊賢 > shunken\ ;
+公娼 > koushou\ ;
+内圧 > naiatsu\ ;
+痛点 > tsuuten\ ;
+直交 > chokkou\ ;
+先年 > sen''nen\ ;
+疱疹 > houshin\ ;
+俗謡 > zokuyou\ ;
+鮮少 > senshou\ ;
+小道 > komichi\ ;
+自立 > jiritsu\ ;
+修行 > shugyou\ ;
+内国 > naikoku\ ;
+俗諺 > zokugen\ ;
+膏薬 > kouyaku\ ;
+至福 > shifuku\ ;
+寺銭 > terasen\ ;
+農作 > nousaku\ ;
+俗諦 > zokutai\ ;
+小逕 > shoukei\ ;
+俊豪 > shungou\ ;
+俗論 > zokuron\ ;
+症状 > shoujou\ ;
+俗談 > zokudan\ ;
+導通 > doutsuu\ ;
+魚族 > gyozoku\ ;
+入婿 > irimuko\ ;
+臼砲 > kyuuhou\ ;
+僻村 > hekison\ ;
+鮨屋 > sushiya\ ;
+健祥 > kenshou\ ;
+寄食 > kishoku\ ;
+白山 > hakusan\ ;
+病状 > byoujou\ ;
+元年 > gan''nen\ ;
+小農 > shounou\ ;
+席上 > sekijou\ ;
+荒事 > aragoto\ ;
+監修 > kanshuu\ ;
+偸盗 > chuutou\ ;
+僻書 > hekisho\ ;
+留置 > ryuuchi\ ;
+辛党 > karatou\ ;
+格闘 > kakutou\ ;
+番組 > bangumi\ ;
+俗言 > zokugen\ ;
+魂柱 > konchuu\ ;
+輪廓 > rinkaku\ ;
+百官 > hyakkan\ ;
+作風 > sakufuu\ ;
+馬食 > bashoku\ ;
+艦橋 > kankyou\ ;
+標定 > hyoutei\ ;
+膨脹 > bouchou\ ;
+倖臣 > koushin\ ;
+横奪 > oudatsu\ ;
+白子 > shiroko\ ;
+巨商 > kyoshou\ ;
+再告 > saikoku\ ;
+駅長 > ekichou\ ;
+軍楽 > gungaku\ ;
+山芋 > yamaimo\ ;
+帝京 > teikyou\ ;
+輻射 > fukusha\ ;
+入声 > nisshou\ ;
+軽捷 > keishou\ ;
+密雲 > mitsuun\ ;
+傾注 > keichuu\ ;
+入墨 > irezumi\ ;
+密集 > misshuu\ ;
+胸間 > kyoukan\ ;
+色柄 > irogara\ ;
+背高 > seitaka\ ;
+将軍 > shougun\ ;
+概況 > gaikyou\ ;
+全域 > zen''iki\ ;
+芳心 > houshin\ ;
+入場 > nyuujou\ ;
+盗作 > tousaku\ ;
+光学 > kougaku\ ;
+山腹 > sanpuku\ ;
+先学 > sengaku\ ;
+脚部 > kyakubu\ ;
+公国 > koukoku\ ;
+入城 > nyuujou\ ;
+胴長 > dounaga\ ;
+橋台 > kyoudai\ ;
+僧服 > soufuku\ ;
+馘首 > kakushu\ ;
+再勝 > saishou\ ;
+腹蔵 > fukuzou\ ;
+良材 > ryouzai\ ;
+癇性 > kanshou\ ;
+低額 > teigaku\ ;
+魚拓 > gyotaku\ ;
+輔弼 > hohitsu\ ;
+全国 > zengoku\ ;
+入坑 > nyuukou\ ;
+辛亥 > shingai\ ;
+良書 > ryousho\ ;
+宰領 > sairyou\ ;
+白太 > shirata\ ;
+白夜 > byakuya\ ;
+蹴爪 > kedzume\ ;
+巨匠 > kyoshou\ ;
+赤錆 > akasabi\ ;
+入団 > nyuudan\ ;
+工博 > kouhaku\ ;
+兄嫁 > aniyome\ ;
+差別 > sabetsu\ ;
+冪乗 > bekijou\ ;
+軍服 > gunpuku\ ;
+工匠 > koushou\ ;
+甲胄 > katchuu\ ;
+自発 > jihatsu\ ;
+畢竟 > hikkyou\ ;
+校閲 > kouetsu\ ;
+疎略 > soryaku\ ;
+岩礁 > ganshou\ ;
+校長 > kouchou\ ;
+傷歎 > shoutan\ ;
+色文 > irobumi\ ;
+皇国 > koukoku\ ;
+首領 > shuryou\ ;
+赤金 > akagane\ ;
+驕肆 > kyoushi\ ;
+学齢 > gakurei\ ;
+共同 > kyoudou\ ;
+宵闇 > yoiyami\ ;
+小論 > shouron\ ;
+兇変 > kyouhen\ ;
+体長 > taichou\ ;
+停留 > teiryuu\ ;
+市中 > shichuu\ ;
+岩石 > ganseki\ ;
+腹芸 > haragei\ ;
+公告 > koukoku\ ;
+白地 > shiroji\ ;
+核酸 > kakusan\ ;
+六合 > rikugou\ ;
+船歌 > funauta\ ;
+対象 > taishou\ ;
+騰落 > touraku\ ;
+検疫 > ken''eki\ ;
+腐蝕 > fushoku\ ;
+定額 > teigaku\ ;
+偏癖 > henpeki\ ;
+小計 > shoukei\ ;
+内傷 > naishou\ ;
+典則 > tensoku\ ;
+充塞 > juusoku\ ;
+棒縞 > boujima\ ;
+六十 > rokujuu\ ;
+赤道 > sekidou\ ;
+併進 > heishin\ ;
+生肉 > seiniku\ ;
+植皮 > shokuhi\ ;
+実需 > jitsuju\ ;
+免囚 > menshuu\ ;
+駆逐 > kuchiku\ ;
+駐車 > chuusha\ ;
+株金 > kabukin\ ;
+自玉 > jigyoku\ ;
+宿銭 > yadosen\ ;
+首長 > shuchou\ ;
+腹背 > fukuhai\ ;
+全勝 > zenshou\ ;
+柱頭 > chuutou\ ;
+痛棒 > tsuubou\ ;
+病死 > byoushi\ ;
+傍流 > bouryuu\ ;
+射角 > shakaku\ ;
+客間 > kyakuma\ ;
+工作 > kousaku\ ;
+儀式 > gishiki\ ;
+車掌 > shashou\ ;
+田紳 > denshin\ ;
+傍注 > bouchuu\ ;
+対訳 > taiyaku\ ;
+兼修 > kenshuu\ ;
+赤軍 > sekigun\ ;
+脂身 > aburami\ ;
+峡湾 > kyouwan\ ;
+軍拡 > gunkaku\ ;
+百味 > hyakumi\ ;
+対角 > taikaku\ ;
+柱面 > chuumen\ ;
+巨乳 > kyonyuu\ ;
+公共 > koukyou\ ;
+共働 > kyoudou\ ;
+画筆 > gahitsu\ ;
+供覧 > kyouran\ ;
+寸評 > sunpyou\ ;
+共催 > kyousai\ ;
+内中 > uchijuu\ ;
+容量 > youryou\ ;
+腫脹 > shuchou\ ;
+密通 > mittsuu\ ;
+舟歌 > funauta\ ;
+倶発 > guhatsu\ ;
+兼任 > ken''nin\ ;
+公僕 > kouboku\ ;
+入冦 > nyuukou\ ;
+体量 > tairyou\ ;
+公傷 > koushou\ ;
+宗門 > shuumon\ ;
+臆病 > okubyou\ ;
+全優 > zen''yuu\ ;
+軽少 > keishou\ ;
+入党 > nyuutou\ ;
+侑觴 > yuushou\ ;
+偏狭 > henkyou\ ;
+略画 > ryakuga\ ;
+俸給 > houkyuu\ ;
+宿運 > shukuun\ ;
+船板 > funaita\ ;
+俊英 > shun''ei\ ;
+芳墨 > houboku\ ;
+偏狂 > henkyou\ ;
+百匁 > hyakume\ ;
+生絹 > suzushi\ ;
+軟弱 > nanjaku\ ;
+休館 > kyuukan\ ;
+密輸 > mitsuyu\ ;
+党則 > tousoku\ ;
+修繕 > shuuzen\ ;
+就航 > shuukou\ ;
+休養 > kyuuyou\ ;
+例証 > reishou\ ;
+榴弾 > ryuudan\ ;
+山積 > sanseki\ ;
+舶来 > hakurai\ ;
+山稜 > sanryou\ ;
+赤貧 > sekihin\ ;
+修練 > shuuren\ ;
+英傑 > eiketsu\ ;
+極暑 > gokusho\ ;
+病棟 > byoutou\ ;
+肌骨 > kikotsu\ ;
+良性 > ryousei\ ;
+足芸 > ashigei\ ;
+腸線 > chousen\ ;
+僧形 > sougyou\ ;
+輪唱 > rinshou\ ;
+偉物 > eramono\ ;
+白刃 > hakujin\ ;
+公休 > koukyuu\ ;
+侮蔑 > bubetsu\ ;
+若党 > wakatou\ ;
+病根 > byoukon\ ;
+会集 > kaishuu\ ;
+屑糸 > kuzuito\ ;
+梟罪 > kyouzai\ ;
+若僧 > wakazou\ ;
+白兵 > hakuhei\ ;
+先勝 > senshou\ ;
+低速 > teisoku\ ;
+入会 > nyuukai\ ;
+屑米 > kuzumai\ ;
+軽妙 > keimyou\ ;
+自滅 > jimetsu\ ;
+休電 > kyuuden\ ;
+島根 > shimane\ ;
+学風 > gakufuu\ ;
+僵屍 > kyonshi\ ;
+八丁 > hatchou\ ;
+先刻 > senkoku\ ;
+肉饅 > nikuman\ ;
+併読 > heidoku\ ;
+馬跳 > umatobi\ ;
+転属 > tenzoku\ ;
+赤誠 > sekisei\ ;
+良師 > ryoushi\ ;
+会長 > kaichou\ ;
+兇刃 > kyoujin\ ;
+定量 > teiryou\ ;
+良工 > ryoukou\ ;
+格言 > kakugen\ ;
+駁論 > bakuron\ ;
+元凶 > genkyou\ ;
+肉類 > nikurui\ ;
+臼歯 > kyuushi\ ;
+疼木 > hiiragi\ ;
+転宅 > tentaku\ ;
+栄達 > eitatsu\ ;
+転学 > tengaku\ ;
+発信 > hasshin\ ;
+休閑 > kyuukan\ ;
+舞曲 > bukyoku\ ;
+自活 > jikatsu\ ;
+俸禄 > houroku\ ;
+俸祿 > houroku\ ;
+若人 > wakoudo\ ;
+楽才 > gakusai\ ;
+密議 > mitsugi\ ;
+興業 > kougyou\ ;
+元兇 > genkyou\ ;
+香車 > kyousha\ ;
+俗累 > zokurui\ ;
+学際 > gakusai\ ;
+停泊 > teihaku\ ;
+楊柳 > youryuu\ ;
+白人 > hakujin\ ;
+信管 > shinkan\ ;
+小舅 > kojuuto\ ;
+自決 > jiketsu\ ;
+百事 > hyakuji\ ;
+岩漿 > ganshou\ ;
+理髪 > rihatsu\ ;
+密語 > mitsugo\ ;
+兆候 > choukou\ ;
+胸襟 > kyoukin\ ;
+高木 > kouboku\ ;
+尿管 > nyoukan\ ;
+鬱屈 > ukkutsu\ ;
+軍属 > gunzoku\ ;
+痛憤 > tsuufun\ ;
+山番 > yamaban\ ;
+楽想 > gakusou\ ;
+自殺 > jisatsu\ ;
+小脳 > shounou\ ;
+優勝 > yuushou\ ;
+脱臼 > dakkyuu\ ;
+首足 > shusoku\ ;
+脱臭 > dasshuu\ ;
+軍将 > gunshou\ ;
+傷悴 > shousui\ ;
+偏流 > henryuu\ ;
+脳膜 > noumaku\ ;
+寒行 > kangyou\ ;
+先任 > sen''nin\ ;
+小胞 > shouhou\ ;
+痛感 > tsuukan\ ;
+現高 > gendaka\ ;
+小胆 > shoutan\ ;
+臣民 > shinmin\ ;
+軍容 > gun''you\ ;
+鬼婆 > onibaba\ ;
+作詩 > sakushi\ ;
+作詞 > sakushi\ ;
+脱腸 > datchou\ ;
+宅配 > takuhai\ ;
+軍学 > gungaku\ ;
+校註 > kouchuu\ ;
+休錘 > kyuusui\ ;
+田畑 > denpata\ ;
+傷忰 > shousui\ ;
+少者 > shousha\ ;
+痛恨 > tsuukon\ ;
+至極 > shigoku\ ;
+極悪 > gokuaku\ ;
+安逸 > an''itsu\ ;
+体調 > taichou\ ;
+僻地 > hekichi\ ;
+僻在 > hekizai\ ;
+定跡 > jouseki\ ;
+高教 > koukyou\ ;
+業態 > gyoutai\ ;
+輪作 > rinsaku\ ;
+痛快 > tsuukai\ ;
+岩波 > iwanami\ ;
+峻拒 > shunkyo\ ;
+低調 > teichou\ ;
+良妻 > ryousai\ ;
+刻々 > kokkoku\ ;
+臆測 > okusoku\ ;
+作製 > sakusei\ ;
+産痛 > santsuu\ ;
+職階 > shokkai\ ;
+良好 > ryoukou\ ;
+畝溝 > unemizo\ ;
+極微 > kyokubi\ ;
+果食 > kashoku\ ;
+桑苗 > soubyou\ ;
+膜状 > makujou\ ;
+甘皮 > amakawa\ ;
+赤蕪 > akakabu\ ;
+山犬 > yamainu\ ;
+俊童 > shundou\ ;
+楽師 > gakushi\ ;
+桑色 > kuwairo\ ;
+腕章 > wanshou\ ;
+馬術 > bajutsu\ ;
+病態 > byoutai\ ;
+腕立 > udetate\ ;
+柩車 > kyuusha\ ;
+腹癒 > haraise\ ;
+舞扇 > maiougi\ ;
+僅少 > kinshou\ ;
+寮舎 > ryousha\ ;
+極度 > kyokudo\ ;
+偕楽 > kairaku\ ;
+球面 > kyuumen\ ;
+小編 > shouhen\ ;
+芳信 > houshin\ ;
+病患 > byoukan\ ;
+画然 > kakuzen\ ;
+球電 > kyuuden\ ;
+客語 > kyakugo\ ;
+枕頭 > chintou\ ;
+船幅 > senpuku\ ;
+極左 > kyokusa\ ;
+瓢箪 > hyoutan\ ;
+芸事 > geigoto\ ;
+植樹 > shokuju\ ;
+実話 > jitsuwa\ ;
+疾患 > shikkan\ ;
+骨格 > kokkaku\ ;
+桃色 > momoiro\ ;
+検校 > kengyou\ ;
+実証 > jisshou\ ;
+今頃 > imagoro\ ;
+腰痛 > youtsuu\ ;
+小粒 > kotsubu\ ;
+業師 > wazashi\ ;
+花代 > hanadai\ ;
+客観 > kyakkan\ ;
+俗眼 > zokugan\ ;
+使臣 > shishin\ ;
+寒菊 > kangiku\ ;
+休載 > kyuusai\ ;
+尻目 > shirime\ ;
+定評 > teihyou\ ;
+休転 > kyuuten\ ;
+病弊 > byouhei\ ;
+傷害 > shougai\ ;
+定訳 > teiyaku\ ;
+軍国 > gunkoku\ ;
+魔力 > maryoku\ ;
+検束 > kensoku\ ;
+居留 > kyoryuu\ ;
+軽傷 > keishou\ ;
+館長 > kanchou\ ;
+岩棚 > iwadana\ ;
+仏陀 > butsuda\ ;
+害虫 > gaichuu\ ;
+就眠 > shuumin\ ;
+脇能 > wakinou\ ;
+億兆 > okuchou\ ;
+病巣 > byousou\ ;
+赤膚 > akahada\ ;
+賞金 > shoukin\ ;
+小童 > kowappa\ ;
+仏閣 > bukkaku\ ;
+俐発 > rihatsu\ ;
+仏間 > butsuma\ ;
+赤腹 > akahara\ ;
+軽信 > keishin\ ;
+腎石 > jinseki\ ;
+島庁 > touchou\ ;
+良品 > ryouhin\ ;
+俗用 > zokuyou\ ;
+胃袋 > ibukuro\ ;
+軽佻 > keichou\ ;
+峻嶺 > shunrei\ ;
+峻嶮 > shunken\ ;
+年々 > nen''nen\ ;
+儒仏 > jubutsu\ ;
+魅力 > miryoku\ ;
+高徳 > koutoku\ ;
+貸間 > kashima\ ;
+胸臆 > kyouoku\ ;
+魚信 > gyoshin\ ;
+腕白 > wanpaku\ ;
+赤肌 > akahada\ ;
+胸腺 > kyousen\ ;
+京風 > kyoufuu\ ;
+胸腔 > kyoukou\ ;
+楽天 > rakuten\ ;
+良友 > ryouyuu\ ;
+脱穀 > dakkoku\ ;
+班長 > hanchou\ ;
+伝誦 > denshou\ ;
+尊称 > sonshou\ ;
+偃月 > engetsu\ ;
+修煉 > shuuren\ ;
+対策 > taisaku\ ;
+小社 > shousha\ ;
+楽士 > gakushi\ ;
+借款 > shakkan\ ;
+楽壇 > gakudan\ ;
+便益 > ben''eki\ ;
+会読 > kaidoku\ ;
+棺桶 > kan''oke\ ;
+起結 > kiketsu\ ;
+航宙 > kouchuu\ ;
+低落 > teiraku\ ;
+病害 > byougai\ ;
+偉方 > eragata\ ;
+梟猛 > kyoumou\ ;
+界標 > kaihyou\ ;
+賃銭 > chinsen\ ;
+佞臣 > neishin\ ;
+余色 > yoshoku\ ;
+飲食 > inshoku\ ;
+僚友 > ryouyuu\ ;
+休講 > kyuukou\ ;
+賃銀 > chingin\ ;
+学資 > gakushi\ ;
+町民 > choumin\ ;
+傾国 > keikoku\ ;
+交響 > koukyou\ ;
+良剤 > ryouzai\ ;
+係留 > keiryuu\ ;
+男気 > otokogi\ ;
+小知 > shouchi\ ;
+対称 > taishou\ ;
+賃金 > chingin\ ;
+楓属 > fuuzoku\ ;
+胃薬 > igusuri\ ;
+仙郷 > senkyou\ ;
+栗色 > kuriiro\ ;
+購読 > koudoku\ ;
+車力 > shariki\ ;
+楽団 > gakudan\ ;
+臥所 > fushido\ ;
+体臭 > taishuu\ ;
+馬脚 > bakyaku\ ;
+侍立 > jiritsu\ ;
+寸秒 > sunbyou\ ;
+甲殻 > koukaku\ ;
+起筆 > kihitsu\ ;
+駐米 > chuubei\ ;
+乾魚 > hoshiuo\ ;
+至急 > shikyuu\ ;
+肝要 > kan''you\ ;
+生涯 > shougai\ ;
+会衆 > kaishuu\ ;
+森林 > shinrin\ ;
+赤組 > akagumi\ ;
+転任 > ten''nin\ ;
+格納 > kakunou\ ;
+高尚 > koushou\ ;
+小癪 > koshaku\ ;
+赤紙 > akagami\ ;
+驚歎 > kyoutan\ ;
+起立 > kiritsu\ ;
+傷嘆 > shoutan\ ;
+作者 > sakusha\ ;
+食餌 > shokuji\ ;
+腸満 > chouman\ ;
+仲買 > nakagai\ ;
+病変 > byouhen\ ;
+僥倖 > gyoukou\ ;
+賠責 > baiseki\ ;
+僧俗 > souzoku\ ;
+賞賛 > shousan\ ;
+尊皇 > son''nou\ ;
+玄麦 > genbaku\ ;
+脈管 > myakkan\ ;
+枢軸 > suujiku\ ;
+舞姫 > maihime\ ;
+痛嘆 > tsuutan\ ;
+尨犬 > mukuinu\ ;
+棟梁 > touryou\ ;
+家職 > kashoku\ ;
+根粒 > konryuu\ ;
+屠殺 > tosatsu\ ;
+賊軍 > zokugun\ ;
+腸液 > choueki\ ;
+舎宅 > shataku\ ;
+宸翰 > shinkan\ ;
+身命 > shinmei\ ;
+疫学 > ekigaku\ ;
+小町 > komachi\ ;
+小男 > kootoko\ ;
+腰湯 > koshiyu\ ;
+射的 > shateki\ ;
+小用 > shouyou\ ;
+脳症 > noushou\ ;
+脳病 > noubyou\ ;
+小生 > shousei\ ;
+自律 > jiritsu\ ;
+山椒 > sanshou\ ;
+佳節 > kasetsu\ ;
+修法 > shuuhou\ ;
+今週 > konshuu\ ;
+聖週 > seishuu\ ;
+低翼 > teiyoku\ ;
+色事 > irogoto\ ;
+柿色 > kakiiro\ ;
+環礁 > kanshou\ ;
+田楽 > dengaku\ ;
+今迄 > imamade\ ;
+乾飯 > hoshiii\ ;
+良人 > ryoujin\ ;
+宿縁 > shukuen\ ;
+臣従 > shinjuu\ ;
+側射 > sokusha\ ;
+腹水 > fukusui\ ;
+臨床 > rinshou\ ;
+跋渉 > basshou\ ;
+侵犯 > shinpan\ ;
+対症 > taishou\ ;
+乳香 > nyuukou\ ;
+仮説 > kasetsu\ ;
+専用 > sen''you\ ;
+町村 > chouson\ ;
+倒木 > touboku\ ;
+偏心 > henshin\ ;
+臨席 > rinseki\ ;
+賞詞 > shoushi\ ;
+架設 > kasetsu\ ;
+修正 > shuusei\ ;
+木魚 > mokugyo\ ;
+聴講 > choukou\ ;
+催告 > saikoku\ ;
+高声 > takagoe\ ;
+併称 > heishou\ ;
+交錯 > kousaku\ ;
+概則 > gaisoku\ ;
+仮設 > kasetsu\ ;
+耐震 > taishin\ ;
+栄職 > eishoku\ ;
+仏跡 > busseki\ ;
+供用 > kyouyou\ ;
+貫通 > kantsuu\ ;
+聖蹟 > seiseki\ ;
+島国 > tougoku\ ;
+尊王 > son''nou\ ;
+産業 > sangyou\ ;
+腰気 > koshike\ ;
+車中 > shachuu\ ;
+仰視 > gyoushi\ ;
+傷創 > shousou\ ;
+車両 > sharyou\ ;
+食間 > shokkan\ ;
+仮親 > karioya\ ;
+育苗 > ikubyou\ ;
+官能 > kan''nou\ ;
+賃貸 > chintai\ ;
+岡惚 > okabore\ ;
+聖跡 > seiseki\ ;
+枝豆 > edamame\ ;
+村長 > sonchou\ ;
+聴許 > choukyo\ ;
+朝鮮 > chousen\ ;
+生業 > nariwai\ ;
+代読 > daidoku\ ;
+現象 > genshou\ ;
+乳頭 > nyuutou\ ;
+小片 > shouhen\ ;
+実習 > jisshuu\ ;
+仲裁 > chuusai\ ;
+小爪 > kodzume\ ;
+疎密 > somitsu\ ;
+聴解 > choukai\ ;
+貧農 > hin''nou\ ;
+代診 > daishin\ ;
+聴視 > choushi\ ;
+腺様 > sen''you\ ;
+属格 > zokkaku\ ;
+傷兵 > shouhei\ ;
+楽典 > gakuten\ ;
+画数 > kakusuu\ ;
+低級 > teikyuu\ ;
+膺懲 > youchou\ ;
+倍旧 > baikyuu\ ;
+高圧 > kouatsu\ ;
+肝葉 > kan''you\ ;
+町政 > chousei\ ;
+修業 > shugyou\ ;
+極刑 > kyokkei\ ;
+岩床 > ganshou\ ;
+寮生 > ryousei\ ;
+病名 > byoumei\ ;
+東進 > toushin\ ;
+校章 > koushou\ ;
+梶棒 > kajibou\ ;
+極冠 > kyokkan\ ;
+極内 > gokunai\ ;
+病友 > byouyuu\ ;
+骰子 > saikoro\ ;
+岡引 > okahiki\ ;
+傴僂 > semushi\ ;
+停学 > teigaku\ ;
+朱鞘 > shuzaya\ ;
+実績 > jisseki\ ;
+病原 > byougen\ ;
+極光 > kyokkou\ ;
+亨通 > koutsuu\ ;
+本領 > honryou\ ;
+人跡 > hitoato\ ;
+付設 > fusetsu\ ;
+首級 > shukyuu\ ;
+供物 > kumotsu\ ;
+峻厳 > shungen\ ;
+象限 > shougen\ ;
+身体 > shintai\ ;
+至妙 > shimyou\ ;
+甘栗 > amaguri\ ;
+仕訳 > shiwake\ ;
+興国 > koukoku\ ;
+交通 > koutsuu\ ;
+躍動 > yakudou\ ;
+代表 > daihyou\ ;
+亢進 > koushin\ ;
+病勢 > byousei\ ;
+棲息 > seisoku\ ;
+背約 > haiyaku\ ;
+容積 > youseki\ ;
+仏語 > butsugo\ ;
+腰椎 > youtsui\ ;
+身代 > shindai\ ;
+玉音 > gyokuon\ ;
+寓目 > guumoku\ ;
+来週 > raishuu\ ;
+船側 > sensoku\ ;
+本震 > honshin\ ;
+体積 > taiseki\ ;
+木靴 > kigutsu\ ;
+香箱 > koubako\ ;
+休航 > kyuukou\ ;
+朝風 > asakaze\ ;
+対照 > taishou\ ;
+舷側 > gensoku\ ;
+根瘤 > konryuu\ ;
+岩山 > iwayama\ ;
+楽人 > gakujin\ ;
+豆類 > mamerui\ ;
+官給 > kankyuu\ ;
+玉露 > gyokuro\ ;
+身上 > shinjou\ ;
+船便 > funabin\ ;
+催促 > saisoku\ ;
+生新 > seishin\ ;
+脳漿 > noushou\ ;
+脹満 > chouman\ ;
+超然 > chouzen\ ;
+伝習 > denshuu\ ;
+留年 > ryuunen\ ;
+贅肉 > zeiniku\ ;
+高台 > takadai\ ;
+岩室 > iwamuro\ ;
+俵数 > hyousuu\ ;
+朔風 > sakufuu\ ;
+学芸 > gakugei\ ;
+首章 > shushou\ ;
+男手 > otokode\ ;
+梅毒 > baidoku\ ;
+植字 > shokuji\ ;
+朝靄 > asamoya\ ;
+屈服 > kuppuku\ ;
+朝霧 > asagiri\ ;
+信条 > shinjou\ ;
+翰長 > kanchou\ ;
+肌色 > hadairo\ ;
+学舎 > gakusha\ ;
+信望 > shinbou\ ;
+修整 > shuusei\ ;
+信書 > shinsho\ ;
+極上 > gokujou\ ;
+症候 > shoukou\ ;
+休耕 > kyuukou\ ;
+船中 > senchuu\ ;
+伸筋 > shinkin\ ;
+肉色 > nikuiro\ ;
+修改 > shuukai\ ;
+岸壁 > ganpeki\ ;
+完納 > kan''nou\ ;
+人証 > ninshou\ ;
+乾酪 > kanraku\ ;
+症例 > shourei\ ;
+略字 > ryakuji\ ;
+膨張 > bouchou\ ;
+屋敷 > yashiki\ ;
+修撰 > shuusen\ ;
+伏罪 > fukuzai\ ;
+密画 > mitsuga\ ;
+病体 > byoutai\ ;
+考量 > kouryou\ ;
+餡蜜 > anmitsu\ ;
+官窯 > kan''you\ ;
+仔虫 > shichuu\ ;
+耽読 > tandoku\ ;
+小水 > shousui\ ;
+肉腫 > nikushu\ ;
+俗書 > zokusho\ ;
+老醜 > roushuu\ ;
+驕慢 > kyouman\ ;
+倔強 > kukkyou\ ;
+病人 > byounin\ ;
+偏執 > henshuu\ ;
+俎板 > manaita\ ;
+乳酸 > nyuusan\ ;
+学者 > gakusha\ ;
+宰相 > saishou\ ;
+主領 > shuryou\ ;
+岩壁 > ganpeki\ ;
+佯狂 > youkyou\ ;
+丸顔 > marugao\ ;
+曳馬 > hikiuma\ ;
+対流 > tairyuu\ ;
+顔黒 > ganguro\ ;
+伏縫 > fusenui\ ;
+曲馬 > kyokuba\ ;
+赤燐 > sekirin\ ;
+傑作 > kessaku\ ;
+瑞祥 > zuishou\ ;
+驕恣 > kyoushi\ ;
+伏線 > fukusen\ ;
+傀儡 > kugutsu\ ;
+珍談 > chindan\ ;
+俗文 > zokubun\ ;
+交読 > koudoku\ ;
+倒幕 > toubaku\ ;
+家畜 > kachiku\ ;
+中飯 > chuuhan\ ;
+球菌 > kyuukin\ ;
+首相 > shushou\ ;
+中風 > chuubuu\ ;
+風鎮 > fuuchin\ ;
+借屋 > shakuya\ ;
+島中 > touchuu\ ;
+宝石 > houseki\ ;
+胆石 > tanseki\ ;
+山師 > yamashi\ ;
+食費 > shokuhi\ ;
+交角 > koukaku\ ;
+木金 > mokukin\ ;
+定石 > jouseki\ ;
+属性 > zokusei\ ;
+脳橋 > noukyou\ ;
+中項 > chuukou\ ;
+来診 > raishin\ ;
+球茎 > kyuukei\ ;
+山嶽 > sangaku\ ;
+肩章 > kenshou\ ;
+生息 > seisoku\ ;
+便服 > benpuku\ ;
+亡親 > boushin\ ;
+健勝 > kenshou\ ;
+仕草 > shigusa\ ;
+九重 > kokonoe\ ;
+俊敏 > shunbin\ ;
+来襲 > raishuu\ ;
+主長 > shuchou\ ;
+踊字 > odoriji\ ;
+山峡 > yamakai\ ;
+赤潮 > akashio\ ;
+最長 > saichou\ ;
+学級 > gakkyuu\ ;
+聴聞 > choumon\ ;
+山岳 > sangaku\ ;
+生得 > seitoku\ ;
+略図 > ryakuzu\ ;
+両頭 > ryoutou\ ;
+尚更 > naosara\ ;
+屏息 > heisoku\ ;
+中隊 > chuutai\ ;
+木造 > mokuzou\ ;
+伝票 > denpyou\ ;
+朝酒 > asazake\ ;
+容物 > iremono\ ;
+画定 > kakutei\ ;
+寂然 > sekizen\ ;
+甘心 > kanshin\ ;
+専業 > sengyou\ ;
+跡形 > atokata\ ;
+偶作 > guusaku\ ;
+曹長 > souchou\ ;
+小柄 > kodzuka\ ;
+孝経 > koukyou\ ;
+聴罪 > chouzai\ ;
+余熱 > yonetsu\ ;
+山容 > san''you\ ;
+両面 > ryoumen\ ;
+信愛 > shin''ai\ ;
+俗才 > zokusai\ ;
+存続 > sonzoku\ ;
+望郷 > boukyou\ ;
+猛鳥 > mouchou\ ;
+宝生 > houshou\ ;
+美髪 > bihatsu\ ;
+尚早 > shousou\ ;
+中間 > chuukan\ ;
+一髪 > ippatsu\ ;
+仲継 > chuukei\ ;
+将校 > shoukou\ ;
+安着 > anchaku\ ;
+両雄 > ryouyuu\ ;
+季節 > kisetsu\ ;
+争訟 > soushou\ ;
+二親 > futaoya\ ;
+豚足 > tonsoku\ ;
+官用 > kan''you\ ;
+余烈 > yoretsu\ ;
+松葉 > matsuba\ ;
+安直 > anchoku\ ;
+風速 > fuusoku\ ;
+顎髭 > agohige\ ;
+翼賛 > yokusan\ ;
+属島 > zokutou\ ;
+肺病 > haibyou\ ;
+小智 > shouchi\ ;
+実理 > jitsuri\ ;
+小景 > shoukei\ ;
+学童 > gakudou\ ;
+棋客 > kikyaku\ ;
+末路 > matsuro\ ;
+侵攻 > shinkou\ ;
+将来 > shourai\ ;
+了解 > ryoukai\ ;
+畑地 > hatachi\ ;
+信心 > shinjin\ ;
+対格 > taikaku\ ;
+屈強 > kukkyou\ ;
+学窓 > gakusou\ ;
+梟悪 > kyouaku\ ;
+男娼 > danshou\ ;
+孤立 > koritsu\ ;
+腹帯 > fukutai\ ;
+学究 > gakkyuu\ ;
+俗情 > zokujou\ ;
+了見 > ryouken\ ;
+丸鋼 > marukou\ ;
+俊才 > shunsai\ ;
+俗悪 > zokuaku\ ;
+職組 > shokuso\ ;
+寒流 > kanryuu\ ;
+群集 > gunshuu\ ;
+群雄 > gun''yuu\ ;
+山姥 > yamauba\ ;
+上顎 > jougaku\ ;
+寝殿 > shinden\ ;
+少数 > shousuu\ ;
+男妾 > danshou\ ;
+小斎 > shousai\ ;
+脂気 > aburake\ ;
+専有 > sen''yuu\ ;
+尽忠 > jinchuu\ ;
+小数 > shousuu\ ;
+条虫 > jouchuu\ ;
+略叙 > ryakujo\ ;
+美食 > bishoku\ ;
+山奥 > yamaoku\ ;
+珍蔵 > chinzou\ ;
+尊族 > sonzoku\ ;
+俗念 > zokunen\ ;
+格段 > kakudan\ ;
+一食 > isshoku\ ;
+将星 > shousei\ ;
+聯絡 > renraku\ ;
+学祭 > gakusai\ ;
+獄門 > gokumon\ ;
+促成 > sokusei\ ;
+考証 > koushou\ ;
+完璧 > kanpeki\ ;
+生害 > shougai\ ;
+乱調 > ranchou\ ;
+人臣 > jinshin\ ;
+一類 > ichirui\ ;
+乱読 > randoku\ ;
+亀裂 > kiretsu\ ;
+胸水 > kyousui\ ;
+枠線 > wakusen\ ;
+休眠 > kyuumin\ ;
+臨休 > rinkyuu\ ;
+仄聞 > sokubun\ ;
+低潮 > teichou\ ;
+伏目 > fushime\ ;
+万難 > ban''nan\ ;
+驕奢 > kyousha\ ;
+屎尿 > shinyou\ ;
+上陸 > jouriku\ ;
+尺度 > shakudo\ ;
+賤称 > senshou\ ;
+万障 > banshou\ ;
+最適 > saiteki\ ;
+就役 > shuueki\ ;
+一面 > ichimen\ ;
+対敵 > taiteki\ ;
+朝貢 > choukou\ ;
+仏縁 > butsuen\ ;
+仕組 > shikumi\ ;
+桐材 > kirizai\ ;
+射撃 > shageki\ ;
+校注 > kouchuu\ ;
+一雨 > hitoame\ ;
+柱状 > chuujou\ ;
+作況 > sakkyou\ ;
+一難 > ichinan\ ;
+山地 > yamachi\ ;
+俊彦 > shungen\ ;
+胴欲 > douyoku\ ;
+額面 > gakumen\ ;
+上長 > jouchou\ ;
+珍芸 > chingei\ ;
+森厳 > shingen\ ;
+男囚 > danshuu\ ;
+梯子 > hashigo\ ;
+枕絵 > makurae\ ;
+番傘 > bangasa\ ;
+一陣 > ichijin\ ;
+仏経 > bukkyou\ ;
+頬髭 > hoohige\ ;
+未設 > misetsu\ ;
+略儀 > ryakugi\ ;
+駿才 > shunsai\ ;
+能楽 > nougaku\ ;
+小才 > shousai\ ;
+主軸 > shujiku\ ;
+頬骨 > hoobone\ ;
+乱行 > rangyou\ ;
+嫉視 > shisshi\ ;
+小成 > shousei\ ;
+肉眼 > nikugan\ ;
+中道 > chuudou\ ;
+少憩 > shoukei\ ;
+客演 > kyakuen\ ;
+完熟 > kanjuku\ ;
+一門 > ichimon\ ;
+暗鬱 > an''utsu\ ;
+小憩 > shoukei\ ;
+中退 > chuutai\ ;
+植付 > uetsuke\ ;
+理窟 > rikutsu\ ;
+実演 > jitsuen\ ;
+修好 > shuukou\ ;
+尼寺 > amadera\ ;
+中農 > chuunou\ ;
+村落 > sonraku\ ;
+末裔 > matsuei\ ;
+尺寸 > sekisun\ ;
+驚嘆 > kyoutan\ ;
+梢子 > shoushi\ ;
+寸描 > sunbyou\ ;
+木製 > mokusei\ ;
+佗歌 > wabiuta\ ;
+並進 > heishin\ ;
+修士 > shuushi\ ;
+風評 > fuuhyou\ ;
+番人 > ban''nin\ ;
+害毒 > gaidoku\ ;
+学生 > gakusei\ ;
+朗読 > roudoku\ ;
+朗誦 > roushou\ ;
+実測 > jissoku\ ;
+生垣 > ikegaki\ ;
+属国 > zokkoku\ ;
+五色 > goshoku\ ;
+赤札 > akafuda\ ;
+板締 > itajime\ ;
+珍聞 > chinbun\ ;
+町名 > choumei\ ;
+朝見 > chouken\ ;
+暮雪 > bosetsu\ ;
+仕種 > shigusa\ ;
+佳月 > kagetsu\ ;
+肉界 > nikukai\ ;
+宮殿 > kyuuden\ ;
+来聴 > raichou\ ;
+頭領 > touryou\ ;
+任用 > nin''you\ ;
+胸板 > munaita\ ;
+信奉 > shinpou\ ;
+梓宮 > shikyuu\ ;
+板紙 > itagami\ ;
+頭頂 > touchou\ ;
+二色 > nishoku\ ;
+駐支 > chuushi\ ;
+小径 > shoukei\ ;
+曲路 > kyokuro\ ;
+少弟 > shoutei\ ;
+両輪 > ryourin\ ;
+木蝋 > mokurou\ ;
+一錠 > ichijou\ ;
+実況 > jikkyou\ ;
+赤旗 > akahata\ ;
+小弟 > shoutei\ ;
+俗姓 > zokusei\ ;
+係属 > keizoku\ ;
+佳日 > kajitsu\ ;
+両軍 > ryougun\ ;
+胎毒 > taidoku\ ;
+留任 > ryuunin\ ;
+朽葉 > kuchiba\ ;
+松籟 > shourai\ ;
+小康 > shoukou\ ;
+山勘 > yamakan\ ;
+少年 > shounen\ ;
+今程 > imahodo\ ;
+駒損 > komason\ ;
+罪障 > zaishou\ ;
+小店 > shouten\ ;
+宿根 > shukkon\ ;
+月評 > geppyou\ ;
+署長 > shochou\ ;
+今秋 > konshuu\ ;
+町制 > chousei\ ;
+下部 > shimobe\ ;
+専念 > sen''nen\ ;
+束群 > sokugun\ ;
+実母 > jitsubo\ ;
+専心 > senshin\ ;
+献酬 > kenshuu\ ;
+丁重 > teichou\ ;
+不達 > futatsu\ ;
+主調 > shuchou\ ;
+下達 > katatsu\ ;
+飛脚 > hikyaku\ ;
+町内 > chounai\ ;
+月見 > tsukimi\ ;
+俗塵 > zokujin\ ;
+個別 > kobetsu\ ;
+属名 > zokumei\ ;
+倡佯 > shouyou\ ;
+付着 > fuchaku\ ;
+上進 > joushin\ ;
+服装 > fukusou\ ;
+体格 > taikaku\ ;
+猟銃 > ryoujuu\ ;
+交絡 > kouraku\ ;
+棄却 > kikyaku\ ;
+何某 > nanibou\ ;
+校服 > koufuku\ ;
+仕着 > shikise\ ;
+木蔦 > kidzuta\ ;
+貧窮 > hinkyuu\ ;
+肉片 > nikuhen\ ;
+将帥 > shousui\ ;
+男優 > dan''yuu\ ;
+木蓮 > mokuren\ ;
+曲譜 > kyokufu\ ;
+梗塞 > kousoku\ ;
+甲冑 > katchuu\ ;
+侵害 > shingai\ ;
+肥溜 > koedame\ ;
+賞玩 > shougan\ ;
+借人 > karinin\ ;
+人称 > ninshou\ ;
+俊士 > shunshi\ ;
+有衆 > yuushuu\ ;
+書評 > shohyou\ ;
+密教 > mikkyou\ ;
+豪腹 > goufuku\ ;
+一道 > ichidou\ ;
+一遇 > ichiguu\ ;
+書証 > shoshou\ ;
+貫禄 > kanroku\ ;
+越年 > etsunen\ ;
+一連 > ichiren\ ;
+生協 > seikyou\ ;
+三軸 > sanjiku\ ;
+老臣 > roushin\ ;
+条約 > jouyaku\ ;
+修史 > shuushi\ ;
+豆蔵 > mamezou\ ;
+余日 > yojitsu\ ;
+球界 > kyuukai\ ;
+作文 > sakubun\ ;
+小寒 > shoukan\ ;
+賞状 > shoujou\ ;
+杜絶 > tozetsu\ ;
+低木 > teiboku\ ;
+尊属 > sonzoku\ ;
+馬方 > umakata\ ;
+乱臣 > ranshin\ ;
+何時 > nandoki\ ;
+赤手 > sekishu\ ;
+小官 > shoukan\ ;
+乳腺 > nyuusen\ ;
+少子 > shoushi\ ;
+献身 > kenshin\ ;
+倒伏 > toufuku\ ;
+賞牌 > shouhai\ ;
+曲解 > kyokkai\ ;
+珍答 > chintou\ ;
+一輪 > ichirin\ ;
+寵幸 > choukou\ ;
+町会 > choukai\ ;
+定業 > teigyou\ ;
+驕傲 > kyougou\ ;
+驚倒 > kyoutou\ ;
+尊容 > son''you\ ;
+現用 > gen''you\ ;
+上足 > jousoku\ ;
+官業 > kangyou\ ;
+両論 > ryouron\ ;
+一軍 > ichigun\ ;
+町人 > chounin\ ;
+上越 > jouetsu\ ;
+尊宅 > sontaku\ ;
+項領 > kouryou\ ;
+香木 > kouboku\ ;
+局員 > kyokuin\ ;
+専属 > senzoku\ ;
+何故 > naniyue\ ;
+亢竜 > kouryou\ ;
+猛進 > moushin\ ;
+介病 > kaibyou\ ;
+将官 > shoukan\ ;
+仏画 > butsuga\ ;
+脱字 > datsuji\ ;
+猛追 > moutsui\ ;
+贅沢 > zeitaku\ ;
+信号 > shingou\ ;
+田作 > densaku\ ;
+伯楽 > bakurou\ ;
+定格 > teikaku\ ;
+山中 > sanchuu\ ;
+胸懐 > kyoukai\ ;
+本腹 > honpuku\ ;
+対審 > taishin\ ;
+五節 > gosetsu\ ;
+主虹 > shuniji\ ;
+並製 > namisei\ ;
+甚六 > jinroku\ ;
+狂騒 > kyousou\ ;
+赤恥 > akahaji\ ;
+朱肉 > shuniku\ ;
+余接 > yosetsu\ ;
+甲乙 > kouotsu\ ;
+井筒 > idzutsu\ ;
+本能 > hon''nou\ ;
+万象 > banshou\ ;
+瑣末 > samatsu\ ;
+香料 > kouryou\ ;
+俗名 > zokumei\ ;
+球状 > kyuujou\ ;
+胴慾 > douyoku\ ;
+人皇 > nin''nou\ ;
+人的 > jinteki\ ;
+伏水 > fukusui\ ;
+少壮 > shousou\ ;
+脆弱 > zeijaku\ ;
+饑渇 > kikatsu\ ;
+小変 > shouhen\ ;
+主薬 > shuyaku\ ;
+購求 > koukyuu\ ;
+官有 > kan''yuu\ ;
+休止 > kyuushi\ ;
+了簡 > ryouken\ ;
+他物 > tabutsu\ ;
+羽虫 > hamushi\ ;
+産休 > sankyuu\ ;
+胎教 > taikyou\ ;
+作戦 > sakusen\ ;
+伯林 > berurin\ ;
+作成 > sakusei\ ;
+寒心 > kanshin\ ;
+狂風 > kyoufuu\ ;
+宣教 > senkyou\ ;
+背教 > haikyou\ ;
+豊胸 > houkyou\ ;
+柳条 > ryuujou\ ;
+将士 > shoushi\ ;
+生乳 > seinyuu\ ;
+宗旨 > shuushi\ ;
+侯国 > koukoku\ ;
+群衆 > gunshuu\ ;
+宗族 > souzoku\ ;
+肉池 > nikuchi\ ;
+梓匠 > shishou\ ;
+三角 > sankaku\ ;
+下見 > shitami\ ;
+伏樋 > fusedoi\ ;
+肉汁 > nikujuu\ ;
+乳糖 > nyuutou\ ;
+玄翁 > gen''nou\ ;
+一説 > issetsu\ ;
+駐屯 > chuuton\ ;
+就労 > shuurou\ ;
+胸底 > kyoutei\ ;
+宣揚 > sen''you\ ;
+買物 > kaimono\ ;
+顛覆 > tenpuku\ ;
+修交 > shuukou\ ;
+居候 > isourou\ ;
+服膺 > fukuyou\ ;
+宿怨 > shukuen\ ;
+而立 > jiritsu\ ;
+枯渇 > kokatsu\ ;
+風習 > fuushuu\ ;
+乗羃 > joubeki\ ;
+屈伸 > kusshin\ ;
+俗僧 > zokusou\ ;
+顕要 > ken''you\ ;
+肇歳 > chousai\ ;
+屈伏 > kuppuku\ ;
+本給 > honkyuu\ ;
+中葉 > chuuyou\ ;
+罪跡 > zaiseki\ ;
+飛礫 > tsubute\ ;
+条目 > joumoku\ ;
+一覧 > ichiran\ ;
+密度 > mitsudo\ ;
+上表 > jouhyou\ ;
+下血 > geketsu\ ;
+最良 > sairyou\ ;
+足労 > sokurou\ ;
+守旧 > shukyuu\ ;
+小善 > shouzen\ ;
+仮決 > kaketsu\ ;
+寛容 > kan''you\ ;
+休校 > kyuukou\ ;
+信仰 > shinkou\ ;
+栖息 > seisoku\ ;
+井目 > seimoku\ ;
+尚又 > naomata\ ;
+暗躍 > an''yaku\ ;
+考究 > koukyuu\ ;
+晩鐘 > banshou\ ;
+貨物 > kamotsu\ ;
+実技 > jitsugi\ ;
+本籤 > honkuji\ ;
+脱営 > datsuei\ ;
+体得 > taitoku\ ;
+本籍 > honseki\ ;
+木精 > mokusei\ ;
+小品 > shouhin\ ;
+有職 > yuusoku\ ;
+佳客 > kakyaku\ ;
+美術 > bijutsu\ ;
+罪責 > zaiseki\ ;
+赤子 > sekishi\ ;
+害心 > gaishin\ ;
+俗体 > zokutai\ ;
+昼餐 > chuusan\ ;
+二着 > nichaku\ ;
+俗伝 > zokuden\ ;
+了知 > ryouchi\ ;
+核子 > kakushi\ ;
+本箱 > honbako\ ;
+服罪 > fukuzai\ ;
+二直 > nichoku\ ;
+馬市 > umaichi\ ;
+環境 > kankyou\ ;
+小史 > shoushi\ ;
+俗人 > zokujin\ ;
+何年 > nan''nen\ ;
+猛襲 > moushuu\ ;
+小口 > koguchi\ ;
+松煤 > shoubai\ ;
+本筋 > honsuji\ ;
+東独 > toudoku\ ;
+獣肉 > juuniku\ ;
+中興 > chuukou\ ;
+二百 > nihyaku\ ;
+曲舞 > kusemai\ ;
+珍獣 > chinjuu\ ;
+本章 > honshou\ ;
+主翼 > shuyoku\ ;
+俗世 > zokusei\ ;
+群落 > gunraku\ ;
+飴玉 > amedama\ ;
+耄碌 > mouroku\ ;
+宮廷 > kyuutei\ ;
+就任 > shuunin\ ;
+妙齢 > myourei\ ;
+時雨 > shigure\ ;
+宮庭 > kyuutei\ ;
+中脳 > chuunou\ ;
+木立 > kodachi\ ;
+王立 > ouritsu\ ;
+小勇 > shouyuu\ ;
+職権 > shokken\ ;
+侵冦 > shinkou\ ;
+現況 > genkyou\ ;
+寄宿 > kishuku\ ;
+背徳 > haitoku\ ;
+習練 > shuuren\ ;
+格外 > kakugai\ ;
+上蔟 > jouzoku\ ;
+中背 > chuuzei\ ;
+赤外 > sekigai\ ;
+両舷 > ryougen\ ;
+季末 > kimatsu\ ;
+染料 > senryou\ ;
+松濤 > shoutou\ ;
+柄杓 > hishaku\ ;
+独走 > dokusou\ ;
+仮植 > kashoku\ ;
+玉稿 > gyokkou\ ;
+小刀 > shoutou\ ;
+便侫 > ben''nei\ ;
+頭註 > touchuu\ ;
+他殺 > tasatsu\ ;
+下葉 > shitaba\ ;
+足代 > ashidai\ ;
+有給 > yuukyuu\ ;
+便佞 > ben''nei\ ;
+中老 > chuurou\ ;
+月給 > gekkyuu\ ;
+駐在 > chuuzai\ ;
+首席 > shuseki\ ;
+有終 > yuushuu\ ;
+両腕 > ryouude\ ;
+獄舎 > gokusha\ ;
+頭角 > toukaku\ ;
+顛落 > tenraku\ ;
+小党 > shoutou\ ;
+侠勇 > kyouyuu\ ;
+導入 > dounyuu\ ;
+伝承 > denshou\ ;
+胸声 > kyousei\ ;
+乙種 > otsushu\ ;
+乗積 > jouseki\ ;
+牝鶏 > mendori\ ;
+群臣 > gunshin\ ;
+孟春 > moushun\ ;
+供勢 > tomozei\ ;
+乾留 > kanryuu\ ;
+審問 > shinmon\ ;
+賎業 > sengyou\ ;
+賞杯 > shouhai\ ;
+介殻 > kaikaku\ ;
+一葉 > ichiyou\ ;
+最終 > saishuu\ ;
+乳癌 > nyuugan\ ;
+将兵 > shouhei\ ;
+牝鳥 > mendori\ ;
+仰望 > gyoubou\ ;
+宗廟 > soubyou\ ;
+乾瓢 > kanpyou\ ;
+耽溺 > tandeki\ ;
+住宅 > juutaku\ ;
+両者 > ryousha\ ;
+超勤 > choukin\ ;
+貫流 > kanryuu\ ;
+官庁 > kanchou\ ;
+老病 > roubyou\ ;
+定席 > jouseki\ ;
+賓格 > hinkaku\ ;
+朝礼 > chourei\ ;
+小便 > shonben\ ;
+寸劇 > sungeki\ ;
+封入 > fuunyuu\ ;
+警鐘 > keishou\ ;
+春雷 > shunrai\ ;
+寒国 > kankoku\ ;
+侯伯 > kouhaku\ ;
+中編 > chuuhen\ ;
+未着 > michaku\ ;
+本省 > honshou\ ;
+書経 > shokyou\ ;
+寸刻 > sunkoku\ ;
+事物 > jibutsu\ ;
+仕業 > shiwaza\ ;
+首将 > shushou\ ;
+休戦 > kyuusen\ ;
+現業 > gengyou\ ;
+曳網 > hikiami\ ;
+尊信 > sonshin\ ;
+中継 > chuukei\ ;
+超凡 > choubon\ ;
+仲断 > chuudan\ ;
+小伝 > shouden\ ;
+鞦韆 > buranko\ ;
+豪球 > goukyuu\ ;
+乱用 > ran''you\ ;
+領解 > ryoukai\ ;
+七色 > nanairo\ ;
+上膊 > jouhaku\ ;
+何奴 > doyatsu\ ;
+林業 > ringyou\ ;
+一芸 > ichigei\ ;
+休憩 > kyuukei\ ;
+東清 > toushin\ ;
+犬釘 > inukugi\ ;
+球根 > kyuukon\ ;
+未発 > mihatsu\ ;
+小人 > shounin\ ;
+佗声 > wabigoe\ ;
+一色 > hitoiro\ ;
+主筋 > shusuji\ ;
+下脚 > kakyaku\ ;
+中糸 > chuuito\ ;
+群羊 > gun''you\ ;
+資格 > shikaku\ ;
+書籍 > shoseki\ ;
+宿場 > shukuba\ ;
+春闘 > shuntou\ ;
+専修 > senshuu\ ;
+小乗 > shoujou\ ;
+伸展 > shinten\ ;
+例刻 > reikoku\ ;
+暴落 > bouraku\ ;
+狂躁 > kyousou\ ;
+貨殖 > kashoku\ ;
+京洛 > keiraku\ ;
+会心 > kaishin\ ;
+中米 > chuubei\ ;
+交渉 > koushou\ ;
+頌詞 > shoushi\ ;
+万能 > man''nou\ ;
+三育 > san''iku\ ;
+三股 > sanmata\ ;
+一膳 > ichizen\ ;
+学才 > gakusai\ ;
+特電 > tokuden\ ;
+順調 > junchou\ ;
+羽箒 > habouki\ ;
+脚光 > kyakkou\ ;
+定宿 > jouyado\ ;
+審判 > shinpan\ ;
+独裁 > dokusai\ ;
+羊膜 > youmaku\ ;
+末生 > suenari\ ;
+査察 > sasatsu\ ;
+豪物 > eramono\ ;
+中篇 > chuuhen\ ;
+専任 > sen''nin\ ;
+羊腸 > youchou\ ;
+上翼 > jouyoku\ ;
+休怠 > kyuutai\ ;
+乱獲 > rankaku\ ;
+交流 > kouryuu\ ;
+姦通 > kantsuu\ ;
+義絶 > gizetsu\ ;
+昇順 > shoujun\ ;
+貝毒 > kaidoku\ ;
+官学 > kangaku\ ;
+現有 > gen''yuu\ ;
+貝殼 > kaigara\ ;
+貝殻 > kaigara\ ;
+賞揚 > shouyou\ ;
+中等 > chuutou\ ;
+物音 > monooto\ ;
+乳状 > nyuujou\ ;
+主神 > shushin\ ;
+林木 > rinboku\ ;
+玉璽 > gyokuji\ ;
+会席 > kaiseki\ ;
+狼藉 > rouzeki\ ;
+羊肉 > youniku\ ;
+翼状 > yokujou\ ;
+預血 > yoketsu\ ;
+風疹 > fuushin\ ;
+休廷 > kyuutei\ ;
+玉瑛 > gyokuei\ ;
+宮城 > kyuujou\ ;
+超人 > choujin\ ;
+宿営 > shukuei\ ;
+枝族 > shizoku\ ;
+他日 > tajitsu\ ;
+老熟 > roujuku\ ;
+讃賞 > sanshou\ ;
+資料 > shiryou\ ;
+駐兵 > chuuhei\ ;
+一群 > ichigun\ ;
+低圧 > teiatsu\ ;
+松楓 > shoufuu\ ;
+今朝 > konchou\ ;
+丹碧 > tanpeki\ ;
+暮色 > boshoku\ ;
+仕方 > shikata\ ;
+飢渇 > kikatsu\ ;
+今更 > imasara\ ;
+密告 > mikkoku\ ;
+昇降 > shoukou\ ;
+犯跡 > hanseki\ ;
+貴札 > kisatsu\ ;
+飄然 > hyouzen\ ;
+今暁 > kongyou\ ;
+早馬 > hayauma\ ;
+作品 > sakuhin\ ;
+負極 > fukyoku\ ;
+人格 > jinkaku\ ;
+本物 > honmono\ ;
+今時 > imadoki\ ;
+来歴 > raireki\ ;
+音訳 > on''yaku\ ;
+今春 > konshun\ ;
+今昔 > konseki\ ;
+聚斂 > shuuren\ ;
+仏教 > bukkyou\ ;
+貯木 > choboku\ ;
+木犀 > mokusei\ ;
+買春 > baishun\ ;
+富力 > furyoku\ ;
+上級 > joukyuu\ ;
+上紙 > uwagami\ ;
+聚散 > shuusan\ ;
+上紐 > uwahimo\ ;
+三級 > sankyuu\ ;
+今方 > imagata\ ;
+両種 > ryoushu\ ;
+木版 > mokuhan\ ;
+木片 > mokuhen\ ;
+孝心 > koushin\ ;
+狂詩 > kyoushi\ ;
+背圧 > haiatsu\ ;
+乾溜 > kanryuu\ ;
+肉弾 > nikudan\ ;
+獄窓 > gokusou\ ;
+学年 > gakunen\ ;
+聖教 > seikyou\ ;
+客土 > kyakudo\ ;
+譴責 > kenseki\ ;
+服用 > fukuyou\ ;
+低唱 > teishou\ ;
+旧風 > kyuufuu\ ;
+献納 > ken''nou\ ;
+存念 > zon''nen\ ;
+率爾 > sotsuji\ ;
+学帽 > gakubou\ ;
+明鏡 > meikyou\ ;
+本然 > hon''nen\ ;
+狂言 > kyougen\ ;
+仕掛 > shikake\ ;
+株券 > kabuken\ ;
+飛沫 > himatsu\ ;
+風狂 > fuukyou\ ;
+子息 > shisoku\ ;
+馬匹 > bahitsu\ ;
+書目 > shomoku\ ;
+上箱 > uwabako\ ;
+胸像 > kyouzou\ ;
+伏射 > fukusha\ ;
+胴元 > doumoto\ ;
+定圧 > teiatsu\ ;
+暗色 > anshoku\ ;
+完壁 > kanbeki\ ;
+胆嚢 > tan''nou\ ;
+豊熟 > houjuku\ ;
+上策 > jousaku\ ;
+顎紐 > agohimo\ ;
+木炭 > mokutan\ ;
+余力 > yoryoku\ ;
+体協 > taikyou\ ;
+首唱 > shushou\ ;
+中盤 > chuuban\ ;
+校則 > kousoku\ ;
+耳栓 > mimisen\ ;
+余割 > yokatsu\ ;
+万策 > bansaku\ ;
+令息 > reisoku\ ;
+片面 > katamen\ ;
+密儀 > mitsugi\ ;
+特配 > tokuhai\ ;
+乳清 > nyuusei\ ;
+日露 > nichiro\ ;
+献策 > kensaku\ ;
+余切 > yosetsu\ ;
+享有 > kyouyuu\ ;
+聴従 > choujuu\ ;
+乳液 > nyuueki\ ;
+核仁 > kakujin\ ;
+客員 > kyakuin\ ;
+星辰 > seishin\ ;
+献立 > kondate\ ;
+両眼 > ryougan\ ;
+何処 > dokoira\ ;
+豆炭 > mametan\ ;
+実員 > jitsuin\ ;
+特選 > tokusen\ ;
+宣告 > senkoku\ ;
+佝僂 > semushi\ ;
+珍本 > chinpon\ ;
+代役 > daiyaku\ ;
+乱流 > ranryuu\ ;
+一端 > ippashi\ ;
+三秋 > sanshuu\ ;
+容共 > youkyou\ ;
+校僕 > kouboku\ ;
+珍書 > chinsho\ ;
+何共 > nantomo\ ;
+寒中 > kanchuu\ ;
+丞相 > joushou\ ;
+中瓶 > chuubin\ ;
+万福 > manpuku\ ;
+来朝 > raichou\ ;
+職工 > shokkou\ ;
+宅地 > takuchi\ ;
+乳汁 > nyuujuu\ ;
+宮刑 > kyuukei\ ;
+飼料 > shiryou\ ;
+伏奏 > fukusou\ ;
+実収 > jisshuu\ ;
+校倉 > azekura\ ;
+翕然 > kyuuzen\ ;
+新鮮 > shinsen\ ;
+豊漁 > houryou\ ;
+譫言 > uwagoto\ ;
+朝潮 > asashio\ ;
+風潮 > fuuchou\ ;
+球形 > kyuukei\ ;
+胴中 > dounaka\ ;
+頚肉 > keiniku\ ;
+実印 > jitsuin\ ;
+作例 > sakurei\ ;
+本流 > honryuu\ ;
+密事 > mitsuji\ ;
+仰山 > gyousan\ ;
+仏恩 > butsuon\ ;
+他律 > taritsu\ ;
+来春 > raiharu\ ;
+乳歯 > nyuushi\ ;
+休場 > kyuujou\ ;
+現役 > gen''eki\ ;
+一礼 > ichirei\ ;
+順良 > junryou\ ;
+仕形 > shikata\ ;
+上石 > uwaishi\ ;
+両用 > ryouyou\ ;
+両生 > ryousei\ ;
+実務 > jitsumu\ ;
+五月 > satsuki\ ;
+子局 > kokyoku\ ;
+不着 > fuchaku\ ;
+下着 > shitagi\ ;
+未決 > miketsu\ ;
+大黒 > daikoku\ ;
+校了 > kouryou\ ;
+昂進 > koushin\ ;
+仕度 > shitaku\ ;
+学外 > gakugai\ ;
+実利 > jitsuri\ ;
+宗匠 > soushou\ ;
+頬紅 > hoobeni\ ;
+子宮 > shikyuu\ ;
+面長 > omonaga\ ;
+識語 > shikigo\ ;
+低俗 > teizoku\ ;
+学士 > gakushi\ ;
+下目 > shitame\ ;
+奇骨 > kikotsu\ ;
+杏林 > kyourin\ ;
+孑孑 > boufuri\ ;
+聖徳 > seitoku\ ;
+暗緑 > anryoku\ ;
+馬主 > banushi\ ;
+特赦 > tokusha\ ;
+不発 > fuhatsu\ ;
+九泉 > kyuusen\ ;
+何人 > nanpito\ ;
+伏在 > fukuzai\ ;
+職安 > shokuan\ ;
+定則 > teisoku\ ;
+新香 > shinkou\ ;
+景色 > keshiki\ ;
+定刻 > teikoku\ ;
+村有 > son''yuu\ ;
+材木 > zaimoku\ ;
+朧気 > oboroge\ ;
+万目 > banmoku\ ;
+買得 > kaidoku\ ;
+露骨 > rokotsu\ ;
+仏座 > butsuza\ ;
+飛札 > hisatsu\ ;
+伝唱 > denshou\ ;
+大鷺 > daisagi\ ;
+上白 > jouhaku\ ;
+論駁 > ronbaku\ ;
+風流 > fuuryuu\ ;
+学報 > gakuhou\ ;
+肉声 > nikusei\ ;
+代将 > daishou\ ;
+豊沃 > houyoku\ ;
+新館 > shinkan\ ;
+会商 > kaishou\ ;
+聖廟 > seibyou\ ;
+家主 > yanushi\ ;
+一着 > itchaku\ ;
+一眼 > ichigan\ ;
+一眸 > ichibou\ ;
+識見 > shikken\ ;
+某国 > boukoku\ ;
+杉材 > sugizai\ ;
+仁心 > jinshin\ ;
+一眠 > ichimin\ ;
+仁徳 > jintoku\ ;
+宛先 > atesaki\ ;
+理屈 > rikutsu\ ;
+新風 > shinpuu\ ;
+一直 > itchoku\ ;
+今年 > kon''nen\ ;
+胚乳 > hainyuu\ ;
+二日 > futsuka\ ;
+断食 > danjiki\ ;
+完勝 > kanshou\ ;
+乳棒 > nyuubou\ ;
+九死 > kyuushi\ ;
+下略 > geryaku\ ;
+瑞兆 > zuichou\ ;
+新顔 > shingao\ ;
+万病 > manbyou\ ;
+背信 > haishin\ ;
+讒臣 > zanshin\ ;
+主潮 > shuchou\ ;
+韻脚 > inkyaku\ ;
+一発 > ippatsu\ ;
+上申 > joushin\ ;
+翼棟 > yokutou\ ;
+三男 > san''nan\ ;
+材料 > zairyou\ ;
+官僚 > kanryou\ ;
+文鳥 > bunchou\ ;
+人徳 > nintoku\ ;
+仰天 > gyouten\ ;
+賊害 > zokugai\ ;
+中点 > chuuten\ ;
+題目 > daimoku\ ;
+人形 > ningyou\ ;
+牛車 > gyuusha\ ;
+賊子 > zokushi\ ;
+本業 > hongyou\ ;
+老松 > roushou\ ;
+旧邦 > kyuuhou\ ;
+果実 > kajitsu\ ;
+一畳 > ichijou\ ;
+貧弱 > hinjaku\ ;
+爆風 > bakufuu\ ;
+老朽 > roukyuu\ ;
+早速 > sassoku\ ;
+旧道 > kyuudou\ ;
+老木 > rouboku\ ;
+特認 > tokunin\ ;
+一男 > ichinan\ ;
+本棚 > hondana\ ;
+妙趣 > myoushu\ ;
+霊鳥 > reichou\ ;
+物象 > busshou\ ;
+仏寺 > butsuji\ ;
+末梢 > masshou\ ;
+論難 > ron''nan\ ;
+上玉 > joudama\ ;
+定休 > teikyuu\ ;
+論集 > ronshuu\ ;
+林学 > ringaku\ ;
+学問 > gakumon\ ;
+豪族 > gouzoku\ ;
+職場 > shokuba\ ;
+本格 > honkaku\ ;
+好適 > kouteki\ ;
+会則 > kaisoku\ ;
+主流 > shuryuu\ ;
+既述 > kijutsu\ ;
+義烈 > giretsu\ ;
+物議 > butsugi\ ;
+貸家 > kashiya\ ;
+有毒 > yuudoku\ ;
+新開 > shinkai\ ;
+下物 > kabutsu\ ;
+仙女 > sen''nyo\ ;
+爆雷 > bakurai\ ;
+伏勢 > fusezei\ ;
+特製 > tokusei\ ;
+上物 > joumono\ ;
+狂者 > kyousha\ ;
+枠外 > wakugai\ ;
+本朝 > honchou\ ;
+特装 > tokusou\ ;
+領空 > ryoukuu\ ;
+学名 > gakumei\ ;
+旧蹟 > furuato\ ;
+末期 > matsugo\ ;
+木杯 > mokuhai\ ;
+謬論 > byuuron\ ;
+木材 > mokuzai\ ;
+享年 > kyounen\ ;
+学友 > gakuyuu\ ;
+猩猩 > shoujou\ ;
+休刊 > kyuukan\ ;
+木本 > mokuhon\ ;
+下熱 > genetsu\ ;
+物証 > busshou\ ;
+安佚 > an''itsu\ ;
+来復 > raifuku\ ;
+旧跡 > furuato\ ;
+雷鳥 > raichou\ ;
+仙境 > senkyou\ ;
+丹毒 > tandoku\ ;
+旧趾 > kyuushi\ ;
+木曜 > mokuyou\ ;
+曲浦 > kyokuho\ ;
+類焼 > ruishou\ ;
+風格 > fuukaku\ ;
+球場 > kyuujou\ ;
+松屋 > matsuya\ ;
+完了 > kanryou\ ;
+頭目 > toumoku\ ;
+九月 > kugatsu\ ;
+伏兵 > fukuhei\ ;
+特融 > tokuyuu\ ;
+乱撃 > rangeki\ ;
+獣欲 > juuyoku\ ;
+天領 > tenryou\ ;
+貨客 > kakyaku\ ;
+豆板 > mameita\ ;
+天頂 > tenchou\ ;
+木星 > mokusei\ ;
+期末 > kimatsu\ ;
+購入 > kounyuu\ ;
+餅屋 > mochiya\ ;
+嫡披 > chakuhi\ ;
+朝来 > chourai\ ;
+謬見 > byuuken\ ;
+震駭 > shingai\ ;
+下火 > shitabi\ ;
+豆本 > mamehon\ ;
+賞品 > shouhin\ ;
+学制 > gakusei\ ;
+妙計 > myoukei\ ;
+今夕 > kon''yuu\ ;
+猟犬 > ryouken\ ;
+九星 > kyuusei\ ;
+姿絵 > sugatae\ ;
+失陥 > shikkan\ ;
+職員 > shokuin\ ;
+方針 > houshin\ ;
+夜食 > yashoku\ ;
+球団 > kyuudan\ ;
+新鋭 > shin''ei\ ;
+中段 > chuudan\ ;
+両洋 > ryouyou\ ;
+多食 > tashoku\ ;
+肖像 > shouzou\ ;
+東屋 > azumaya\ ;
+講読 > koudoku\ ;
+天雲 > amagumo\ ;
+不潔 > fuketsu\ ;
+学内 > gakunai\ ;
+中正 > chuusei\ ;
+中止 > chuushi\ ;
+文革 > bunkaku\ ;
+束帯 > sokutai\ ;
+期日 > kijitsu\ ;
+講評 > kouhyou\ ;
+食後 > shokugo\ ;
+不滅 > fumetsu\ ;
+猛爆 > moubaku\ ;
+学僧 > gakusou\ ;
+朝方 > asagata\ ;
+夕風 > yuukaze\ ;
+音節 > onsetsu\ ;
+大陸 > tairiku\ ;
+乳房 > nyuubou\ ;
+休会 > kyuukai\ ;
+文集 > bunshuu\ ;
+両氏 > ryoushi\ ;
+仏国 > fukkoku\ ;
+聴取 > choushu\ ;
+職印 > shokuin\ ;
+独眼 > dokugan\ ;
+朝政 > chousei\ ;
+下湯 > shimoyu\ ;
+風教 > fuukyou\ ;
+新酒 > shinshu\ ;
+夜露 > yotsuyu\ ;
+面責 > menseki\ ;
+人声 > hitogoe\ ;
+珍宝 > chinpou\ ;
+纒足 > tensoku\ ;
+主格 > shukaku\ ;
+村庄 > sonshou\ ;
+妄評 > mouhyou\ ;
+職務 > shokumu\ ;
+飯屋 > meshiya\ ;
+昆虫 > konchuu\ ;
+板壁 > itakabe\ ;
+新郎 > shinrou\ ;
+人境 > jinkyou\ ;
+纏足 > tensoku\ ;
+仲冬 > chuutou\ ;
+乾徳 > kentoku\ ;
+書棚 > shodana\ ;
+好調 > kouchou\ ;
+夕靄 > yuumoya\ ;
+新選 > shinsen\ ;
+来宅 > raitaku\ ;
+置物 > okimono\ ;
+獄死 > gokushi\ ;
+末技 > matsugi\ ;
+札所 > fudasho\ ;
+夕霧 > yuugiri\ ;
+頒白 > hanpaku\ ;
+旧観 > kyuukan\ ;
+上海 > shanhai\ ;
+斤量 > kinryou\ ;
+新道 > shindou\ ;
+仲兄 > chuukei\ ;
+既設 > kisetsu\ ;
+賊名 > zokumei\ ;
+晩秋 > banshuu\ ;
+好評 > kouhyou\ ;
+上流 > jouryuu\ ;
+嬌姿 > kyoushi\ ;
+新造 > shinzou\ ;
+乗換 > norikae\ ;
+三流 > sanryuu\ ;
+上洛 > jouraku\ ;
+雌鶏 > mendori\ ;
+末成 > uranari\ ;
+片親 > kataoya\ ;
+賠償 > baishou\ ;
+三洋 > san''you\ ;
+翌晩 > yokuban\ ;
+九拝 > kyuuhai\ ;
+仮免 > karimen\ ;
+丸材 > maruzai\ ;
+任侠 > ninkyou\ ;
+京大 > kyoudai\ ;
+旧製 > kyuusei\ ;
+丸本 > marubon\ ;
+肉体 > nikutai\ ;
+月日 > tsukihi\ ;
+両様 > ryouyou\ ;
+霊長 > reichou\ ;
+有料 > yuuryou\ ;
+雌鳥 > mendori\ ;
+敵陣 > tekijin\ ;
+項目 > koumoku\ ;
+変革 > henkaku\ ;
+乱心 > ranshin\ ;
+一浪 > ichirou\ ;
+放鳥 > houchou\ ;
+嬌声 > kyousei\ ;
+料金 > ryoukin\ ;
+老弱 > roujaku\ ;
+夕闇 > yuuyami\ ;
+数隻 > suuseki\ ;
+朽廃 > kyuuhai\ ;
+象形 > shoukei\ ;
+新車 > shinsha\ ;
+中枢 > chuusuu\ ;
+事局 > jikyoku\ ;
+文鎮 > bunchin\ ;
+両棲 > ryousei\ ;
+仮借 > kashaku\ ;
+中東 > chuutou\ ;
+代入 > dainyuu\ ;
+一泡 > hitoawa\ ;
+教養 > kyouyou\ ;
+雨風 > amekaze\ ;
+下歯 > shitaba\ ;
+豪州 > goushuu\ ;
+最新 > saishin\ ;
+代償 > daishou\ ;
+革装 > kawasou\ ;
+仏印 > futsuin\ ;
+主教 > shukyou\ ;
+一決 > ikketsu\ ;
+事実 > jijitsu\ ;
+中更 > chuukou\ ;
+予察 > yosatsu\ ;
+一汗 > hitoase\ ;
+諸訳 > showake\ ;
+朝憲 > chouken\ ;
+姦策 > kansaku\ ;
+仲仕 > nakashi\ ;
+本心 > honshin\ ;
+仲介 > chuukai\ ;
+仲人 > nakoudo\ ;
+京地 > kyouchi\ ;
+本復 > honpuku\ ;
+買収 > baishuu\ ;
+教頭 > kyoutou\ ;
+一毫 > ichigou\ ;
+枠内 > wakunai\ ;
+中景 > chuukei\ ;
+一毛 > ichimou\ ;
+耳垢 > mimiaka\ ;
+牧草 > bokusou\ ;
+時節 > jisetsu\ ;
+顕正 > kenshou\ ;
+東国 > tougoku\ ;
+大量 > tairyou\ ;
+教鞭 > kyouben\ ;
+館内 > kan''nai\ ;
+中旬 > chuujun\ ;
+狩猟 > shuryou\ ;
+更新 > koushin\ ;
+縦隔 > juukaku\ ;
+中断 > chuudan\ ;
+雑駁 > zappaku\ ;
+頓狂 > tonkyou\ ;
+雨雲 > amagumo\ ;
+失透 > shittou\ ;
+両替 > ryougae\ ;
+雪隠 > setchin\ ;
+旧藩 > kyuuhan\ ;
+中数 > chuusuu\ ;
+末座 > matsuza\ ;
+飴坊 > amenbou\ ;
+代作 > daisaku\ ;
+本庁 > honchou\ ;
+丸損 > maruzon\ ;
+林内 > rin''nai\ ;
+本年 > hon''nen\ ;
+諧調 > kaichou\ ;
+末広 > suehiro\ ;
+中支 > chuushi\ ;
+旁註 > bouchuu\ ;
+代休 > daikyuu\ ;
+牧舎 > bokusha\ ;
+仏具 > butsugu\ ;
+亡国 > boukoku\ ;
+警笛 > keiteki\ ;
+末席 > masseki\ ;
+謹聴 > kinchou\ ;
+諸行 > shogyou\ ;
+玉座 > gyokuza\ ;
+老少 > roushou\ ;
+本州 > honshuu\ ;
+旧蔵 > kyuuzou\ ;
+久懐 > kyuukai\ ;
+老将 > roushou\ ;
+猛毒 > moudoku\ ;
+緘黙 > kanmoku\ ;
+介入 > kainyuu\ ;
+昨紙 > sakushi\ ;
+一様 > ichiyou\ ;
+習慣 > shuukan\ ;
+曝書 > bakusho\ ;
+両方 > ryouhou\ ;
+豹変 > hyouhen\ ;
+救難 > kyuunan\ ;
+球体 > kyuutai\ ;
+両断 > ryoudan\ ;
+奥行 > okuyuki\ ;
+朝廷 > choutei\ ;
+文通 > buntsuu\ ;
+食塩 > shokuen\ ;
+熱雲 > netsuun\ ;
+電鋳 > denchuu\ ;
+教門 > kyoumon\ ;
+雑音 > zatsuon\ ;
+方角 > hougaku\ ;
+狛犬 > komainu\ ;
+珍問 > chinmon\ ;
+失踪 > shissou\ ;
+牛舎 > gyuusha\ ;
+仙人 > sen''nin\ ;
+雁首 > gankubi\ ;
+暦法 > rekihou\ ;
+天軸 > tenjiku\ ;
+語釈 > goshaku\ ;
+人前 > hitomae\ ;
+現任 > gen''nin\ ;
+夜道 > yomichi\ ;
+論調 > ronchou\ ;
+乙巡 > otsujun\ ;
+夏野 > natsuno\ ;
+習性 > shuusei\ ;
+外郭 > gaikaku\ ;
+珍品 > chinpin\ ;
+朝市 > asaichi\ ;
+奉読 > houdoku\ ;
+嬌名 > kyoumei\ ;
+昼礼 > chuurei\ ;
+牧者 > bokusha\ ;
+獣慾 > juuyoku\ ;
+末尾 > matsubi\ ;
+下期 > shimoki\ ;
+大身 > taishin\ ;
+頭注 > touchuu\ ;
+数量 > suuryou\ ;
+燗酒 > kanzake\ ;
+仕事 > shigoto\ ;
+新訂 > shintei\ ;
+論評 > ronpyou\ ;
+上服 > uwafuku\ ;
+木履 > pokkuri\ ;
+末寺 > matsuji\ ;
+論証 > ronshou\ ;
+物置 > monooki\ ;
+服従 > fukujuu\ ;
+三月 > mitsuki\ ;
+服役 > fukueki\ ;
+両損 > ryouzon\ ;
+牛脂 > gyuushi\ ;
+牧羊 > bokuyou\ ;
+文身 > bunshin\ ;
+士長 > shichou\ ;
+変量 > henryou\ ;
+万有 > ban''yuu\ ;
+本宅 > hontaku\ ;
+曲技 > kyokugi\ ;
+青蛙 > aogaeru\ ;
+有徳 > yuutoku\ ;
+特級 > tokkyuu\ ;
+献木 > kenboku\ ;
+飛地 > tobichi\ ;
+猫板 > nekoita\ ;
+日英 > nichiei\ ;
+仏事 > butsuji\ ;
+請謁 > seietsu\ ;
+易経 > ekikyou\ ;
+詩集 > shishuu\ ;
+貝割 > kaiwari\ ;
+不日 > fujitsu\ ;
+暖流 > danryuu\ ;
+一条 > ichijou\ ;
+青虫 > aomushi\ ;
+諒解 > ryoukai\ ;
+改革 > kaikaku\ ;
+上昇 > joushou\ ;
+三春 > sanshun\ ;
+朽壊 > kyuukai\ ;
+一札 > issatsu\ ;
+耐圧 > taiatsu\ ;
+一望 > ichibou\ ;
+新装 > shinsou\ ;
+縫針 > nuibari\ ;
+仁侠 > jinkyou\ ;
+頂点 > chouten\ ;
+一曲 > ikkyoku\ ;
+丹念 > tan''nen\ ;
+音物 > inmotsu\ ;
+日舞 > nichibu\ ;
+旧臘 > kyuurou\ ;
+獣心 > juushin\ ;
+請託 > seitaku\ ;
+丹心 > tanshin\ ;
+老境 > roukyou\ ;
+主役 > shuyaku\ ;
+大賞 > taishou\ ;
+今一 > imaichi\ ;
+万斛 > bankoku\ ;
+三教 > sankyou\ ;
+一晩 > hitoban\ ;
+領海 > ryoukai\ ;
+主張 > shuchou\ ;
+天象 > tenshou\ ;
+晩熟 > banjuku\ ;
+妥結 > daketsu\ ;
+春秋 > haruaki\ ;
+販促 > hansoku\ ;
+牛缶 > gyuukan\ ;
+最強 > saikyou\ ;
+変速 > hensoku\ ;
+変通 > hentsuu\ ;
+狂犬 > kyouken\ ;
+翌年 > yokunen\ ;
+晩照 > banshou\ ;
+講習 > koushuu\ ;
+文責 > bunseki\ ;
+暗殺 > ansatsu\ ;
+敵軍 > tekigun\ ;
+特等 > tokutou\ ;
+片腕 > kataude\ ;
+奇術 > kijutsu\ ;
+一旬 > ichijun\ ;
+乞婿 > koimuko\ ;
+頸椎 > keitsui\ ;
+責任 > sekinin\ ;
+顔料 > ganryou\ ;
+誕辰 > tanshin\ ;
+斜角 > shakaku\ ;
+末女 > matsujo\ ;
+顕教 > kenkyou\ ;
+中性 > chuusei\ ;
+朱墨 > shuboku\ ;
+丁数 > chousuu\ ;
+一文 > ichimon\ ;
+旗色 > hatairo\ ;
+暗欝 > an''utsu\ ;
+女色 > joshoku\ ;
+旧聞 > kyuubun\ ;
+片肺 > katahai\ ;
+主席 > shuseki\ ;
+支障 > shishou\ ;
+朱塗 > shunuri\ ;
+什一 > juuichi\ ;
+領水 > ryousui\ ;
+面舵 > omokaji\ ;
+領民 > ryoumin\ ;
+丸帯 > maruobi\ ;
+総高 > soudaka\ ;
+謀臣 > boushin\ ;
+声量 > seiryou\ ;
+朧夜 > oboroyo\ ;
+変身 > henshin\ ;
+壁面 > hekimen\ ;
+翰墨 > kanboku\ ;
+乙姫 > otohime\ ;
+玄妙 > genmyou\ ;
+羸弱 > ruijaku\ ;
+天誅 > tenchuu\ ;
+九天 > kyuuten\ ;
+九大 > kyuudai\ ;
+三振 > sanshin\ ;
+二十 > hatachi\ ;
+不抜 > fubatsu\ ;
+中庸 > chuuyou\ ;
+顕揚 > ken''you\ ;
+大詰 > oodzume\ ;
+両性 > ryousei\ ;
+調製 > chousei\ ;
+豪商 > goushou\ ;
+文調 > bunchou\ ;
+大詔 > taishou\ ;
+曲度 > kyokudo\ ;
+中年 > chuunen\ ;
+編集 > henshuu\ ;
+一握 > ichiaku\ ;
+曲庇 > kyokuhi\ ;
+婉曲 > enkyoku\ ;
+説諭 > setsuyu\ ;
+狂瀾 > kyouran\ ;
+交信 > koushin\ ;
+中帽 > chuubou\ ;
+春眠 > shunmin\ ;
+頬桁 > hoogeta\ ;
+中巻 > chuukan\ ;
+牧童 > bokudou\ ;
+東京 > toukyou\ ;
+本国 > hongoku\ ;
+説話 > setsuwa\ ;
+食券 > shokken\ ;
+主将 > shushou\ ;
+来信 > raishin\ ;
+最少 > saishou\ ;
+最小 > saishou\ ;
+主審 > shushin\ ;
+二列 > niretsu\ ;
+一括 > ikkatsu\ ;
+非職 > hishoku\ ;
+改鋳 > kaichuu\ ;
+猛撃 > mougeki\ ;
+敏速 > binsoku\ ;
+頬杖 > hoodzue\ ;
+新著 > shincho\ ;
+珍什 > chinjuu\ ;
+羞恥 > shuuchi\ ;
+九地 > kyuuchi\ ;
+明確 > meikaku\ ;
+総額 > sougaku\ ;
+二八 > nihachi\ ;
+諫臣 > kanshin\ ;
+静聴 > seichou\ ;
+景況 > keikyou\ ;
+総領 > souryou\ ;
+日給 > nikkyuu\ ;
+大衆 > taishuu\ ;
+朱唇 > shushin\ ;
+集金 > shuukin\ ;
+雨足 > ameashi\ ;
+整調 > seichou\ ;
+敷設 > fusetsu\ ;
+暦数 > rekisuu\ ;
+新茶 > shincha\ ;
+風圧 > fuuatsu\ ;
+総革 > sougawa\ ;
+中尊 > chuuzon\ ;
+外角 > gaikaku\ ;
+中将 > chuujou\ ;
+明瞭 > meiryou\ ;
+縷説 > rusetsu\ ;
+集配 > shuuhai\ ;
+月央 > getsuou\ ;
+中宮 > chuuguu\ ;
+綿飴 > wataame\ ;
+月夜 > tsukiyo\ ;
+版籍 > hanseki\ ;
+変調 > henchou\ ;
+三徳 > santoku\ ;
+陰鬱 > in''utsu\ ;
+緑陰 > ryokuin\ ;
+敵視 > tekishi\ ;
+講究 > koukyuu\ ;
+放逸 > houitsu\ ;
+上役 > uwayaku\ ;
+増額 > zougaku\ ;
+一息 > hitoiki\ ;
+新興 > shinkou\ ;
+乳剤 > nyuuzai\ ;
+明白 > meihaku\ ;
+改進 > kaishin\ ;
+下座 > shimoza\ ;
+謙称 > kenshou\ ;
+領有 > ryouyuu\ ;
+一念 > ichinen\ ;
+万引 > manbiki\ ;
+耕作 > kousaku\ ;
+特産 > tokusan\ ;
+顕彰 > kenshou\ ;
+木口 > kiguchi\ ;
+一徹 > ittetsu\ ;
+顔役 > kaoyaku\ ;
+翻刻 > honkoku\ ;
+食事 > shokuji\ ;
+総長 > souchou\ ;
+三年 > san''nen\ ;
+日立 > hitachi\ ;
+救貧 > kyuuhin\ ;
+断腸 > danchou\ ;
+上席 > jouseki\ ;
+認証 > ninshou\ ;
+杏仁 > kyounin\ ;
+万年 > man''nen\ ;
+物的 > butteki\ ;
+旧稿 > kyuukou\ ;
+陸風 > rikufuu\ ;
+一式 > isshiki\ ;
+朗唱 > roushou\ ;
+狂死 > kyoushi\ ;
+老僕 > rouboku\ ;
+群小 > gunshou\ ;
+状況 > joukyou\ ;
+新聞 > shinbun\ ;
+中夭 > chuuyou\ ;
+本則 > honsoku\ ;
+中天 > chuuten\ ;
+綱領 > kouryou\ ;
+中外 > chuugai\ ;
+教誨 > kyoukai\ ;
+奴等 > yatsura\ ;
+独断 > dokudan\ ;
+詰責 > kisseki\ ;
+耐久 > taikyuu\ ;
+隊長 > taichou\ ;
+難読 > nandoku\ ;
+顧客 > kokyaku\ ;
+独文 > dokubun\ ;
+一帖 > ichijou\ ;
+旗竿 > hatazao\ ;
+霊薬 > reiyaku\ ;
+一巡 > ichijun\ ;
+焼香 > shoukou\ ;
+教訓 > kyoukun\ ;
+不屈 > fukutsu\ ;
+木刀 > bokutou\ ;
+続騰 > zokutou\ ;
+新羅 > shiragi\ ;
+声調 > seichou\ ;
+増長 > zouchou\ ;
+暁星 > gyousei\ ;
+険難 > ken''nan\ ;
+上履 > uwabaki\ ;
+本元 > honmoto\ ;
+中堅 > chuuken\ ;
+中堂 > chuudou\ ;
+夏蚕 > natsugo\ ;
+三尺 > sanjaku\ ;
+天草 > tengusa\ ;
+月商 > gesshou\ ;
+線量 > senryou\ ;
+不実 > fujitsu\ ;
+面積 > menseki\ ;
+下宿 > geshuku\ ;
+議決 > giketsu\ ;
+乱作 > ransaku\ ;
+下家 > shitaya\ ;
+上宿 > jouyado\ ;
+豊凶 > houkyou\ ;
+猟師 > ryoushi\ ;
+旧知 > kyuuchi\ ;
+牛痘 > gyuutou\ ;
+詳論 > shouron\ ;
+物理 > butsuri\ ;
+更地 > sarachi\ ;
+牛疫 > gyuueki\ ;
+木像 > mokuzou\ ;
+朝刊 > choukan\ ;
+朝凪 > asanagi\ ;
+主唱 > shushou\ ;
+編輯 > henshuu\ ;
+一局 > ikkyoku\ ;
+一尺 > isshaku\ ;
+独探 > dokutan\ ;
+緑野 > ryokuya\ ;
+七宝 > shippou\ ;
+詳言 > shougen\ ;
+総量 > souryou\ ;
+旧盤 > kyuuban\ ;
+詳解 > shoukai\ ;
+契約 > keiyaku\ ;
+難行 > nangyou\ ;
+月収 > gesshuu\ ;
+雑話 > zatsuwa\ ;
+旧盆 > kyuubon\ ;
+一宿 > isshuku\ ;
+乱丁 > ranchou\ ;
+無骨 > bukotsu\ ;
+売行 > ureyuki\ ;
+頁数 > pējisuu\ ;
+断続 > danzoku\ ;
+音曲 > ongyoku\ ;
+一存 > ichizon\ ;
+夕菅 > yuusuge\ ;
+施策 > shisaku\ ;
+日白 > nippaku\ ;
+大腸 > daichou\ ;
+牢獄 > rougoku\ ;
+犬橇 > inuzori\ ;
+与奪 > yodatsu\ ;
+本人 > hon''nin\ ;
+除雪 > josetsu\ ;
+熟談 > jukudan\ ;
+失考 > shikkou\ ;
+牡猫 > osuneko\ ;
+晩春 > banshun\ ;
+夜色 > yashoku\ ;
+独房 > dokubou\ ;
+景教 > keikyou\ ;
+中啓 > chuukei\ ;
+新米 > shinmai\ ;
+方策 > housaku\ ;
+犬槙 > inumaki\ ;
+木仏 > kibutsu\ ;
+早番 > hayaban\ ;
+多色 > tashoku\ ;
+暦年 > rekinen\ ;
+本丸 > honmaru\ ;
+晩方 > bangata\ ;
+天聴 > tenchou\ ;
+繭紬 > kenchuu\ ;
+猟官 > ryoukan\ ;
+青票 > seihyou\ ;
+豊作 > housaku\ ;
+猛将 > moushou\ ;
+風俗 > fuuzoku\ ;
+狂暴 > kyoubou\ ;
+上声 > joushou\ ;
+丈夫 > masurao\ ;
+月利 > getsuri\ ;
+改訳 > kaiyaku\ ;
+増量 > zouryou\ ;
+零落 > reiraku\ ;
+丸十 > marujuu\ ;
+集計 > shuukei\ ;
+話術 > wajutsu\ ;
+牝犬 > mesuinu\ ;
+熟覧 > jukuran\ ;
+熟視 > jukushi\ ;
+面目 > menmoku\ ;
+煎鍋 > irinabe\ ;
+玄人 > kurouto\ ;
+断箱 > danbako\ ;
+朝会 > choukai\ ;
+填隙 > tengeki\ ;
+上塗 > uwanuri\ ;
+一如 > ichinyo\ ;
+不埒 > furachi\ ;
+緊迫 > kinpaku\ ;
+万境 > bankyou\ ;
+論策 > ronsaku\ ;
+訳載 > yakusai\ ;
+有償 > yuushou\ ;
+明澄 > meichou\ ;
+一大 > ichidai\ ;
+評論 > hyouron\ ;
+調練 > chouren\ ;
+中原 > chuugen\ ;
+誤脱 > godatsu\ ;
+狂文 > kyoubun\ ;
+読者 > dokusha\ ;
+売薬 > baiyaku\ ;
+豆乳 > tounyuu\ ;
+一声 > hitokoe\ ;
+霊肉 > reiniku\ ;
+中半 > chuuhan\ ;
+料紙 > ryoushi\ ;
+整腸 > seichou\ ;
+下地 > shitaji\ ;
+新種 > shinshu\ ;
+増進 > zoushin\ ;
+面疔 > menchou\ ;
+頂戴 > choudai\ ;
+論究 > ronkyuu\ ;
+新税 > shinzei\ ;
+降雹 > kouhyou\ ;
+静的 > seiteki\ ;
+評言 > hyougen\ ;
+下図 > shitazu\ ;
+一塁 > ichirui\ ;
+改行 > kaigyou\ ;
+一場 > ichijou\ ;
+丸公 > marukou\ ;
+語脈 > gomyaku\ ;
+好球 > koukyuu\ ;
+三国 > sangoku\ ;
+両名 > ryoumei\ ;
+随身 > zuishin\ ;
+一堂 > ichidou\ ;
+万国 > bankoku\ ;
+無雑 > muzatsu\ ;
+中前 > chuuzen\ ;
+親鸞 > shinran\ ;
+料簡 > ryouken\ ;
+電脳 > den''nou\ ;
+中判 > chuuban\ ;
+中分 > chuubun\ ;
+絶頂 > zetchou\ ;
+頑強 > gankyou\ ;
+旧版 > kyuuban\ ;
+繋縛 > keibaku\ ;
+族生 > zokusei\ ;
+談笑 > danshou\ ;
+太糸 > futoito\ ;
+始業 > shigyou\ ;
+一団 > ichidan\ ;
+記述 > kijutsu\ ;
+早熟 > soujuku\ ;
+誇色 > koshoku\ ;
+託送 > takusou\ ;
+計量 > keiryou\ ;
+統領 > touryou\ ;
+雌蘂 > meshibe\ ;
+中元 > chuugen\ ;
+順応 > jun''nou\ ;
+陸送 > rikusou\ ;
+月事 > getsuji\ ;
+親鳥 > oyadori\ ;
+給養 > kyuuyou\ ;
+特段 > tokudan\ ;
+両前 > ryoumae\ ;
+大粒 > ootsubu\ ;
+三唱 > sanshou\ ;
+上唇 > joushin\ ;
+訓迪 > kunteki\ ;
+特殊 > tokushu\ ;
+説経 > sekkyou\ ;
+境遇 > kyouguu\ ;
+日照 > nisshou\ ;
+救荒 > kyuukou\ ;
+試薬 > shiyaku\ ;
+詐術 > sajutsu\ ;
+両分 > ryoubun\ ;
+雌蕊 > meshibe\ ;
+両刀 > ryoutou\ ;
+撥音 > hatsuon\ ;
+書信 > shoshin\ ;
+時日 > jijitsu\ ;
+一喝 > ikkatsu\ ;
+不吉 > fukitsu\ ;
+緩衝 > kanshou\ ;
+上告 > joukoku\ ;
+両全 > ryouzen\ ;
+陸軍 > rikugun\ ;
+両党 > ryoutou\ ;
+一問 > ichimon\ ;
+証言 > shougen\ ;
+昇汞 > shoukou\ ;
+雨脚 > ameashi\ ;
+新盤 > shinban\ ;
+註解 > chuukai\ ;
+韻律 > inritsu\ ;
+暴圧 > bouatsu\ ;
+天竺 > tenjiku\ ;
+許諾 > kyodaku\ ;
+爆砕 > bakusai\ ;
+両像 > ryouzou\ ;
+狂態 > kyoutai\ ;
+大笑 > taishou\ ;
+婿入 > mukoiri\ ;
+訳詩 > yakushi\ ;
+昇殿 > shouden\ ;
+離脱 > ridatsu\ ;
+訳詞 > yakushi\ ;
+昇段 > shoudan\ ;
+牧民 > bokumin\ ;
+天窓 > tenmado\ ;
+一命 > ichimei\ ;
+教育 > kyouiku\ ;
+一味 > hitoaji\ ;
+失禁 > shikkin\ ;
+総評 > souhyou\ ;
+妙法 > myouhou\ ;
+給電 > kyuuden\ ;
+中仕 > nakashi\ ;
+親骨 > oyabone\ ;
+文章 > bunshou\ ;
+書中 > shochuu\ ;
+万博 > banpaku\ ;
+一名 > ichimei\ ;
+一同 > ichidou\ ;
+音律 > onritsu\ ;
+下劣 > geretsu\ ;
+難聴 > nanchou\ ;
+一号 > ichigou\ ;
+一台 > ichidai\ ;
+離職 > rishoku\ ;
+三助 > sansuke\ ;
+両便 > ryouben\ ;
+春本 > shunpon\ ;
+七十 > nanajuu\ ;
+中世 > chuusei\ ;
+覿面 > tekimen\ ;
+天福 > tenpuku\ ;
+新田 > shinden\ ;
+万力 > manriki\ ;
+新生 > shinsei\ ;
+上刻 > joukoku\ ;
+丁半 > chouhan\ ;
+大福 > daifuku\ ;
+願力 > ganriki\ ;
+天祐 > ten''yuu\ ;
+昨晩 > sakuban\ ;
+晩年 > ban''nen\ ;
+照覧 > shouran\ ;
+春暖 > shundan\ ;
+緊要 > kin''you\ ;
+一勺 > isshaku\ ;
+誓約 > seiyaku\ ;
+智将 > chishou\ ;
+妨業 > bougyou\ ;
+詩興 > shikyou\ ;
+両人 > ryounin\ ;
+観音 > kan''non\ ;
+時折 > tokiori\ ;
+牽束 > kensoku\ ;
+撰録 > senroku\ ;
+改良 > kairyou\ ;
+施物 > semotsu\ ;
+奮激 > fungeki\ ;
+両三 > ryousan\ ;
+電算 > densoro\ ;
+親類 > shinrui\ ;
+独奏 > dokusou\ ;
+結露 > ketsuro\ ;
+旧法 > kyuuhou\ ;
+教練 > kyouren\ ;
+特有 > tokuyuu\ ;
+上側 > uwagawa\ ;
+晶子 > shoushi\ ;
+縦糸 > tateito\ ;
+一冊 > issatsu\ ;
+姦悪 > kan''aku\ ;
+角錐 > kakusui\ ;
+結集 > kesshuu\ ;
+下値 > shitane\ ;
+女湯 > on''nayu\ ;
+一元 > ichigen\ ;
+羅列 > raretsu\ ;
+暖国 > dankoku\ ;
+爽涼 > souryou\ ;
+天真 > tenshin\ ;
+陳謝 > chinsha\ ;
+斑白 > hanpaku\ ;
+一億 > ichioku\ ;
+訓読 > kundoku\ ;
+丘上 > kyuujou\ ;
+爛熟 > ranjuku\ ;
+好況 > koukyou\ ;
+既決 > kiketsu\ ;
+試聴 > shichou\ ;
+明朝 > minchou\ ;
+託言 > takugen\ ;
+領域 > ryouiki\ ;
+暁天 > gyouten\ ;
+言責 > genseki\ ;
+新版 > shinpan\ ;
+親電 > shinden\ ;
+太白 > taihaku\ ;
+特旨 > tokushi\ ;
+上作 > jousaku\ ;
+天皇 > ten''nou\ ;
+上伸 > joushin\ ;
+数秒 > suubyou\ ;
+散策 > sansaku\ ;
+文相 > bunshou\ ;
+売約 > baiyaku\ ;
+三伸 > sanshin\ ;
+旧歓 > kyuukan\ ;
+大白 > taihaku\ ;
+万作 > mansaku\ ;
+明晰 > meiseki\ ;
+晩学 > bangaku\ ;
+領地 > ryouchi\ ;
+焦躁 > shousou\ ;
+明晩 > myouban\ ;
+一倍 > ichibai\ ;
+敬称 > keishou\ ;
+終電 > shuuden\ ;
+上人 > shounin\ ;
+日欧 > nichiou\ ;
+上京 > joukyou\ ;
+明星 > myoujou\ ;
+三人 > san''nin\ ;
+縦笛 > tatebue\ ;
+集群 > shuugun\ ;
+万人 > man''nin\ ;
+教範 > kyouhan\ ;
+一例 > ichirei\ ;
+大病 > taibyou\ ;
+敬神 > keishin\ ;
+特撰 > tokusen\ ;
+調琴 > choukin\ ;
+頭取 > toudori\ ;
+順境 > junkyou\ ;
+雨笠 > amagasa\ ;
+給金 > kyuukin\ ;
+詳細 > shousai\ ;
+縦穴 > tateana\ ;
+一任 > ichinin\ ;
+大男 > oootoko\ ;
+一代 > ichidai\ ;
+罰則 > bassoku\ ;
+震盪 > shintou\ ;
+霊的 > reiteki\ ;
+静注 > jouchuu\ ;
+外相 > gaishou\ ;
+多発 > tahatsu\ ;
+雨空 > amazora\ ;
+然諾 > zendaku\ ;
+詮索 > sensaku\ ;
+繋留 > keiryuu\ ;
+散票 > sanpyou\ ;
+練習 > renshuu\ ;
+評者 > hyousha\ ;
+熟練 > jukuren\ ;
+一丸 > ichigan\ ;
+外的 > gaiteki\ ;
+独善 > dokuzen\ ;
+夏着 > natsugi\ ;
+詩経 > shikyou\ ;
+特捜 > tokusou\ ;
+天球 > tenkyuu\ ;
+旧棲 > kyuusei\ ;
+妻戸 > tsumado\ ;
+教程 > kyoutei\ ;
+斑猫 > hanmyou\ ;
+晋山 > shinzan\ ;
+猟人 > ryoujin\ ;
+旋毛 > tsumuji\ ;
+報酬 > houshuu\ ;
+烈震 > resshin\ ;
+春情 > shunjou\ ;
+緬羊 > men''you\ ;
+旧栖 > kyuusei\ ;
+縟礼 > jokurei\ ;
+大獄 > taigoku\ ;
+大猟 > tairyou\ ;
+狂奔 > kyouhon\ ;
+墨色 > sumiiro\ ;
+総花 > soubana\ ;
+敦睦 > tonboku\ ;
+要領 > youryou\ ;
+独吟 > dokugin\ ;
+覆面 > fukumen\ ;
+織物 > orimono\ ;
+敬白 > keihaku\ ;
+奔流 > honryuu\ ;
+旧来 > kyuurai\ ;
+早朝 > souchou\ ;
+旧村 > kyuuson\ ;
+時局 > jikyoku\ ;
+支給 > shikyuu\ ;
+政策 > seisaku\ ;
+独占 > dokusen\ ;
+変症 > henshou\ ;
+日朝 > nitchou\ ;
+支索 > shisaku\ ;
+如月 > nigatsu\ ;
+早暁 > sougyou\ ;
+失点 > shitten\ ;
+雑穀 > zakkoku\ ;
+襟髪 > erigami\ ;
+親里 > oyazato\ ;
+照臨 > shourin\ ;
+早春 > soushun\ ;
+昨年 > sakunen\ ;
+謹慎 > kinshin\ ;
+解読 > kaidoku\ ;
+天然 > ten''nen\ ;
+新法 > shinpou\ ;
+奥様 > okusama\ ;
+独創 > dokusou\ ;
+日時 > nichiji\ ;
+緑肥 > ryokuhi\ ;
+領分 > ryoubun\ ;
+緯糸 > yokoito\ ;
+雪白 > seppaku\ ;
+特性 > tokusei\ ;
+特急 > tokkyuu\ ;
+攻究 > koukyuu\ ;
+領内 > ryounai\ ;
+附設 > fusetsu\ ;
+電球 > denkyuu\ ;
+牽強 > kenkyou\ ;
+片方 > katahou\ ;
+教皇 > kyoukou\ ;
+詞章 > shishou\ ;
+訳者 > yakusha\ ;
+特待 > tokutai\ ;
+襟首 > erikubi\ ;
+奪格 > dakkaku\ ;
+敵状 > tekijou\ ;
+撃退 > gekitai\ ;
+難癖 > nankuse\ ;
+改称 > kaishou\ ;
+妙手 > myoushu\ ;
+春嵐 > shunran\ ;
+襲雷 > shuurai\ ;
+妙所 > myousho\ ;
+親近 > shinkin\ ;
+明徴 > meichou\ ;
+明徳 > meitoku\ ;
+難症 > nanshou\ ;
+難病 > nanbyou\ ;
+無血 > muketsu\ ;
+覚醒 > kakusei\ ;
+締約 > teiyaku\ ;
+識字 > shikiji\ ;
+防諜 > bouchou\ ;
+暁光 > gyoukou\ ;
+教生 > kyousei\ ;
+昔年 > sekinen\ ;
+請求 > seikyuu\ ;
+大漁 > tairyou\ ;
+炒飯 > chaahan\ ;
+頃刻 > keikoku\ ;
+陥落 > kanraku\ ;
+誘爆 > yuubaku\ ;
+青松 > seishou\ ;
+外為 > gaitame\ ;
+証紙 > shoushi\ ;
+震災 > shinsai\ ;
+景勝 > keishou\ ;
+春寒 > shunkan\ ;
+統覚 > toukaku\ ;
+爆死 > bakushi\ ;
+網膜 > moumaku\ ;
+熟知 > jukuchi\ ;
+明年 > myounen\ ;
+天測 > tensoku\ ;
+天減 > tenbiki\ ;
+奏楽 > sougaku\ ;
+領会 > ryoukai\ ;
+調法 > chouhou\ ;
+昌平 > shouhei\ ;
+姉婿 > anemuko\ ;
+終車 > shuusha\ ;
+暑中 > shochuu\ ;
+綿羊 > men''you\ ;
+精麦 > seibaku\ ;
+熟睡 > jukusui\ ;
+縫物 > nuimono\ ;
+斯業 > shigyou\ ;
+晶光 > shoukou\ ;
+緊縛 > kinbaku\ ;
+観賞 > kanshou\ ;
+韓国 > kankoku\ ;
+難球 > nankyuu\ ;
+熟眠 > jukumin\ ;
+墨糸 > sumiito\ ;
+陰膳 > kagezen\ ;
+詩的 > shiteki\ ;
+領主 > ryoushu\ ;
+星学 > seigaku\ ;
+天津 > tenshin\ ;
+青春 > seishun\ ;
+暇人 > himajin\ ;
+観象 > kanshou\ ;
+音力 > onryoku\ ;
+為銀 > tamegin\ ;
+訓育 > kun''iku\ ;
+奥方 > okugata\ ;
+狩人 > karyudo\ ;
+累進 > ruishin\ ;
+天泣 > tenkyuu\ ;
+奮撃 > fungeki\ ;
+焼芋 > yakiimo\ ;
+旧懐 > kyuukai\ ;
+陪臣 > baishin\ ;
+牧師 > bokushi\ ;
+新案 > shin''an\ ;
+震源 > shingen\ ;
+旧慣 > kyuukan\ ;
+階級 > kaikyuu\ ;
+旧態 > kyuutai\ ;
+特定 > tokutei\ ;
+昨夕 > sakuyuu\ ;
+隻眼 > sekigan\ ;
+燃焼 > nenshou\ ;
+新来 > shinrai\ ;
+易学 > ekigaku\ ;
+増給 > zoukyuu\ ;
+旧悪 > kyuuaku\ ;
+数滴 > suuteki\ ;
+綾絹 > ayaginu\ ;
+索道 > sakudou\ ;
+妻妾 > saishou\ ;
+旧恨 > kyuukon\ ;
+早急 > soukyuu\ ;
+結語 > ketsugo\ ;
+新書 > shinsho\ ;
+純量 > junryou\ ;
+女手 > on''nade\ ;
+熱狂 > nekkyou\ ;
+女房 > nyoubou\ ;
+外海 > sotoumi\ ;
+大正 > taishou\ ;
+失権 > shikken\ ;
+大欲 > taiyoku\ ;
+結託 > kettaku\ ;
+外注 > gaichuu\ ;
+防虫 > bouchuu\ ;
+外泊 > gaihaku\ ;
+新星 > shinsei\ ;
+覆輪 > fukurin\ ;
+整流 > seiryuu\ ;
+頂上 > choujou\ ;
+熱燗 > atsukan\ ;
+日当 > hiatari\ ;
+糠雨 > nukaame\ ;
+総称 > soushou\ ;
+旧弊 > kyuuhei\ ;
+火食 > kashoku\ ;
+特大 > tokudai\ ;
+親許 > oyamoto\ ;
+春坊 > harubou\ ;
+詫状 > wabijou\ ;
+電流 > denryuu\ ;
+警告 > keikoku\ ;
+特売 > tokubai\ ;
+新政 > shinsei\ ;
+斬新 > zanshin\ ;
+犯則 > hansoku\ ;
+障碍 > shougai\ ;
+無色 > mushoku\ ;
+外殻 > gaikaku\ ;
+雌犬 > mesuinu\ ;
+天業 > tengyou\ ;
+論敵 > ronteki\ ;
+雀球 > jankyuu\ ;
+文様 > mon''you\ ;
+大業 > taigyou\ ;
+旧師 > kyuushi\ ;
+旅所 > tabisho\ ;
+糸鋸 > itonoko\ ;
+新撰 > shinsen\ ;
+観衆 > kanshuu\ ;
+放牧 > houboku\ ;
+特報 > tokuhou\ ;
+文楽 > bunraku\ ;
+無腰 > mugoshi\ ;
+親裁 > shinsai\ ;
+面影 > omokage\ ;
+煙突 > entotsu\ ;
+墓穴 > boketsu\ ;
+狂人 > kyoujin\ ;
+調書 > chousho\ ;
+昇天 > shouten\ ;
+親衛 > shin''ei\ ;
+狂乱 > kyouran\ ;
+革帯 > kawaobi\ ;
+天柱 > tenchuu\ ;
+旅愁 > ryoshuu\ ;
+解脱 > gedatsu\ ;
+昼前 > hirumae\ ;
+続編 > zokuhen\ ;
+熱演 > netsuen\ ;
+雪洞 > bonbori\ ;
+無職 > mushoku\ ;
+総督 > soutoku\ ;
+間隙 > kangeki\ ;
+視診 > shishin\ ;
+間隔 > kankaku\ ;
+靴屋 > kutsuya\ ;
+堅調 > kenchou\ ;
+斎服 > saifuku\ ;
+旧居 > kyuukyo\ ;
+緩球 > kankyuu\ ;
+継続 > keizoku\ ;
+天朝 > tenchou\ ;
+視角 > shikaku\ ;
+旧封 > kyuuhou\ ;
+誤植 > goshoku\ ;
+陋習 > roushuu\ ;
+大木 > taiboku\ ;
+城郭 > joukaku\ ;
+救済 > kyuusai\ ;
+視覚 > shikaku\ ;
+総皮 > sougawa\ ;
+陸稲 > rikutou\ ;
+教法 > kyouhou\ ;
+調整 > chousei\ ;
+旧官 > kyuukan\ ;
+失敬 > shikkei\ ;
+開陳 > kaichin\ ;
+失敗 > shippai\ ;
+好尚 > koushou\ ;
+奇抜 > kibatsu\ ;
+失政 > shissei\ ;
+討究 > toukyuu\ ;
+霊柩 > reikyuu\ ;
+読本 > dokuhon\ ;
+防臭 > boushuu\ ;
+読書 > dokusho\ ;
+犯人 > han''nin\ ;
+奥庭 > okuniwa\ ;
+説服 > seppuku\ ;
+妊娠 > ninshin\ ;
+奥底 > okuzoko\ ;
+牧地 > bokuchi\ ;
+敦樸 > tonboku\ ;
+好学 > kougaku\ ;
+編物 > amimono\ ;
+続篇 > zokuhen\ ;
+天敵 > tenteki\ ;
+経蔵 > kyouzou\ ;
+霊木 > reiboku\ ;
+夜曲 > yakyoku\ ;
+総画 > soukaku\ ;
+大敵 > taiteki\ ;
+特命 > tokumei\ ;
+陣笠 > jingasa\ ;
+隆盛 > ryuusei\ ;
+評点 > hyouten\ ;
+新患 > shinkan\ ;
+救民 > kyuumin\ ;
+要訳 > youyaku\ ;
+旧姓 > kyuusei\ ;
+降給 > koukyuu\ ;
+旧妻 > kyuusai\ ;
+文教 > bunkyou\ ;
+面容 > men''you\ ;
+変梃 > henteko\ ;
+米麦 > beibaku\ ;
+細螺 > kishago\ ;
+熱気 > netsuke\ ;
+昨冬 > sakutou\ ;
+春分 > shunbun\ ;
+観菊 > kangiku\ ;
+旧好 > kyuukou\ ;
+電柱 > denchuu\ ;
+開鑿 > kaisaku\ ;
+長雨 > nagaame\ ;
+変格 > henkaku\ ;
+旧套 > kyuutou\ ;
+語末 > gomatsu\ ;
+糧道 > ryoudou\ ;
+襟足 > eriashi\ ;
+謹告 > kinkoku\ ;
+説教 > sekkyou\ ;
+摘要 > tekiyou\ ;
+證券 > shouken\ ;
+教権 > kyouken\ ;
+旦夕 > tanseki\ ;
+断念 > dan''nen\ ;
+日夜 > nichiya\ ;
+城跡 > jouseki\ ;
+日夕 > nisseki\ ;
+春光 > shunkou\ ;
+放流 > houryuu\ ;
+震旦 > shintan\ ;
+奥山 > okuyama\ ;
+旧墟 > kyuukyo\ ;
+静寂 > seijaku\ ;
+解約 > kaiyaku\ ;
+失投 > shittou\ ;
+綱目 > koumoku\ ;
+火鉢 > hibachi\ ;
+絶縁 > zetsuen\ ;
+夕方 > yuugata\ ;
+執行 > shikkou\ ;
+粗食 > soshoku\ ;
+敬服 > keifuku\ ;
+外敵 > gaiteki\ ;
+故殺 > kosatsu\ ;
+要衝 > youshou\ ;
+妄執 > moushuu\ ;
+境目 > sakaime\ ;
+夏日 > kajitsu\ ;
+震撼 > shinkan\ ;
+敦朴 > tonboku\ ;
+声楽 > seigaku\ ;
+旧型 > kyuukei\ ;
+旅客 > ryokaku\ ;
+面妖 > men''you\ ;
+昭代 > shoudai\ ;
+無筆 > muhitsu\ ;
+特写 > tokusha\ ;
+失態 > shittai\ ;
+旧址 > kyuushi\ ;
+結腸 > ketchou\ ;
+旧地 > kyuuchi\ ;
+特典 > tokuten\ ;
+堪能 > tan''nou\ ;
+製革 > seikaku\ ;
+失意 > shitsui\ ;
+爆弾 > bakudan\ ;
+特免 > tokumen\ ;
+支流 > shiryuu\ ;
+揚陸 > youriku\ ;
+親船 > oyabune\ ;
+陸産 > rikusan\ ;
+陸生 > rikusei\ ;
+面壁 > menpeki\ ;
+探鳥 > tanchou\ ;
+親臨 > shinrin\ ;
+約言 > yakugen\ ;
+境界 > kyoukai\ ;
+教条 > kyoujou\ ;
+粗雑 > sozatsu\ ;
+教材 > kyouzai\ ;
+教本 > kyouhon\ ;
+電撃 > dengeki\ ;
+教書 > kyousho\ ;
+降神 > koushin\ ;
+間近 > madjika\ ;
+新居 > shinkyo\ ;
+紺色 > kon''iro\ ;
+継目 > tsugime\ ;
+雷撃 > raigeki\ ;
+塾生 > jukusei\ ;
+調弦 > chougen\ ;
+失当 > shittou\ ;
+燃料 > nenryou\ ;
+計画 > keikaku\ ;
+特例 > tokurei\ ;
+隠滅 > inmetsu\ ;
+特使 > tokushi\ ;
+大息 > taisoku\ ;
+集権 > shuuken\ ;
+開通 > kaitsuu\ ;
+陣痛 > jintsuu\ ;
+外戚 > gaiseki\ ;
+天心 > tenshin\ ;
+組職 > soshoku\ ;
+網猟 > amiryou\ ;
+斯学 > shigaku\ ;
+敵手 > tekishu\ ;
+売春 > baishun\ ;
+大徳 > daitoku\ ;
+離日 > rinichi\ ;
+精進 > shoujin\ ;
+大役 > taiyaku\ ;
+精通 > seitsuu\ ;
+煉獄 > rengoku\ ;
+親署 > shinsho\ ;
+諸国 > shokoku\ ;
+旧名 > kyuumei\ ;
+牛刀 > gyuutou\ ;
+難敵 > nanteki\ ;
+旧号 > kyuugou\ ;
+瀝青 > rekisei\ ;
+大弓 > daikyuu\ ;
+旧友 > kyuuyuu\ ;
+結縁 > kechien\ ;
+袞龍 > konryou\ ;
+新婚 > shinkon\ ;
+文弱 > bunjaku\ ;
+日収 > nisshuu\ ;
+雑木 > zouboku\ ;
+説得 > settoku\ ;
+靖国 > seikoku\ ;
+明亮 > meiryou\ ;
+天幕 > tenmaku\ ;
+士族 > shizoku\ ;
+熟柿 > jukushi\ ;
+閲覧 > etsuran\ ;
+革命 > kakumei\ ;
+織布 > shokufu\ ;
+日印 > nichiin\ ;
+繊弱 > senjaku\ ;
+細腕 > hosoude\ ;
+織工 > shokkou\ ;
+照準 > shoujun\ ;
+零戦 > zerosen\ ;
+敵情 > tekijou\ ;
+昇任 > shounin\ ;
+覚者 > kakusha\ ;
+視聴 > shichou\ ;
+組織 > soshiki\ ;
+長逝 > chousei\ ;
+附着 > fuchaku\ ;
+謬伝 > byuuden\ ;
+外心 > gaishin\ ;
+敵性 > tekisei\ ;
+誠忠 > seichuu\ ;
+誘惑 > yuuwaku\ ;
+牧人 > bokujin\ ;
+旧制 > kyuusei\ ;
+経糸 > tateito\ ;
+長辺 > chouhen\ ;
+誠心 > seishin\ ;
+霊廟 > reibyou\ ;
+詮方 > senkata\ ;
+旧刊 > kyuukan\ ;
+旭光 > kyokkou\ ;
+失対 > shittai\ ;
+片前 > katamae\ ;
+諜報 > chouhou\ ;
+墨池 > bokuchi\ ;
+垂迹 > suijaku\ ;
+整復 > seifuku\ ;
+旧冬 > kyuutou\ ;
+支柱 > shichuu\ ;
+墨汁 > bokujuu\ ;
+改暦 > kaireki\ ;
+新報 > shinpou\ ;
+外廓 > gaikaku\ ;
+阪神 > hanshin\ ;
+調子 > choushi\ ;
+旧典 > kyuuten\ ;
+敵弾 > tekidan\ ;
+門跡 > monzeki\ ;
+粗金 > aragane\ ;
+政敵 > seiteki\ ;
+親米 > shinbei\ ;
+敏捷 > binshou\ ;
+版元 > hanmoto\ ;
+政教 > seikyou\ ;
+試料 > shiryou\ ;
+襁褓 > mutsuki\ ;
+純良 > junryou\ ;
+変心 > henshin\ ;
+教戒 > kyoukai\ ;
+大小 > daishou\ ;
+大将 > daishou\ ;
+旧債 > kyuusai\ ;
+間諜 > kanchou\ ;
+見習 > minarai\ ;
+改新 > kaishin\ ;
+新地 > shinchi\ ;
+繋属 > keizoku\ ;
+放擲 > houteki\ ;
+敷布 > shikifu\ ;
+集散 > shuusan\ ;
+採集 > saishuu\ ;
+牛丼 > gyuudon\ ;
+角盆 > kakubon\ ;
+爽凉 > souryou\ ;
+詔書 > shousho\ ;
+大学 > daigaku\ ;
+親等 > shintou\ ;
+壁板 > kabeita\ ;
+妄信 > moushin\ ;
+文学 > bungaku\ ;
+攻撃 > kougeki\ ;
+緑樹 > ryokuju\ ;
+爪印 > tsumein\ ;
+旧例 > kyuurei\ ;
+支族 > shizoku\ ;
+糞蝿 > kusobae\ ;
+墜死 > tsuishi\ ;
+奨励 > shourei\ ;
+織姫 > orihime\ ;
+調声 > chousei\ ;
+褒賞 > houshou\ ;
+紅色 > beniiro\ ;
+陸海 > rikukai\ ;
+終端 > shuutan\ ;
+日伯 > nippaku\ ;
+旋削 > sensaku\ ;
+角番 > kadoban\ ;
+精読 > seidoku\ ;
+織女 > shokujo\ ;
+旧交 > kyuukou\ ;
+日付 > hidzuke\ ;
+熱愛 > netsuai\ ;
+境涯 > kyougai\ ;
+霜夜 > shimoyo\ ;
+焦燥 > shousou\ ;
+女傑 > joketsu\ ;
+天女 > ten''nyo\ ;
+角瓶 > kakubin\ ;
+紡績 > bouseki\ ;
+詩抄 > shishou\ ;
+旧主 > kyuushu\ ;
+大女 > ooon''na\ ;
+敵対 > tekitai\ ;
+計測 > keisoku\ ;
+新品 > shinpin\ ;
+奉唱 > houshou\ ;
+親祭 > shinsai\ ;
+料地 > ryouchi\ ;
+無熱 > munetsu\ ;
+結石 > kesseki\ ;
+長講 > choukou\ ;
+総桐 > sougiri\ ;
+焦点 > shouten\ ;
+熟成 > jukusei\ ;
+証書 > shousho\ ;
+論告 > ronkoku\ ;
+熱心 > nesshin\ ;
+解熱 > genetsu\ ;
+奉告 > houkoku\ ;
+失地 > shitchi\ ;
+新参 > shinzan\ ;
+集成 > shuusei\ ;
+数学 > suugaku\ ;
+教師 > kyoushi\ ;
+撃砕 > gekisai\ ;
+読売 > yomiuri\ ;
+掘鑿 > kussaku\ ;
+雹害 > hyougai\ ;
+総柄 > sougara\ ;
+霊妙 > reimyou\ ;
+変容 > hen''you\ ;
+旅僧 > tabisou\ ;
+裸足 > hadashi\ ;
+論及 > ronkyuu\ ;
+採録 > sairoku\ ;
+熟慮 > jukuryo\ ;
+要約 > youyaku\ ;
+炎色 > enshoku\ ;
+熱延 > netsuen\ ;
+訳本 > yakuhon\ ;
+証明 > shoumei\ ;
+墨書 > bokusho\ ;
+紛糾 > funkyuu\ ;
+訳書 > yakusho\ ;
+推量 > suiryou\ ;
+撞球 > doukyuu\ ;
+夙夜 > shukuya\ ;
+熱度 > netsudo\ ;
+震央 > shin''ou\ ;
+堆積 > taiseki\ ;
+累積 > ruiseki\ ;
+隻手 > sekishu\ ;
+天国 > tengoku\ ;
+裏釘 > urakugi\ ;
+裏金 > uragane\ ;
+攪拌 > kakuhan\ ;
+焙烙 > houroku\ ;
+陸橋 > rikkyou\ ;
+認容 > nin''you\ ;
+証文 > shoumon\ ;
+診断 > shindan\ ;
+大国 > taikoku\ ;
+陰欝 > in''utsu\ ;
+註文 > chuumon\ ;
+紺碧 > konpeki\ ;
+新制 > shinsei\ ;
+改悛 > kaishun\ ;
+詩心 > shishin\ ;
+絶無 > zetsumu\ ;
+外壁 > gaiheki\ ;
+熟思 > jukushi\ ;
+新刊 > shinkan\ ;
+新刀 > shintou\ ;
+霄壌 > shoujou\ ;
+放心 > houshin\ ;
+猩々 > shoujou\ ;
+塞源 > sokugen\ ;
+大嘴 > oohashi\ ;
+終盤 > shuuban\ ;
+納経 > noukyou\ ;
+教導 > kyoudou\ ;
+新兵 > shinpei\ ;
+焼死 > shoushi\ ;
+訳文 > yakubun\ ;
+新党 > shintou\ ;
+改心 > kaishin\ ;
+照星 > shousei\ ;
+掛金 > kakekin\ ;
+敗将 > haishou\ ;
+推進 > suishin\ ;
+照明 > shoumei\ ;
+雄心 > yuushin\ ;
+陸棲 > rikusei\ ;
+複視 > fukushi\ ;
+精虫 > seichuu\ ;
+敵塁 > tekirui\ ;
+網棚 > amidana\ ;
+陸棚 > rikuhou\ ;
+教官 > kyoukan\ ;
+国風 > kokufuu\ ;
+隆替 > ryuutai\ ;
+線描 > senbyou\ ;
+見神 > kenshin\ ;
+裁量 > sairyou\ ;
+調合 > chougou\ ;
+政庁 > seichou\ ;
+調号 > chougou\ ;
+陰極 > inkyoku\ ;
+夏場 > natsuba\ ;
+紅組 > akagumi\ ;
+角灯 > kakutou\ ;
+複製 > fukusei\ ;
+外圧 > gaiatsu\ ;
+斉唱 > seishou\ ;
+熟年 > jukunen\ ;
+結球 > kekkyuu\ ;
+堆石 > taiseki\ ;
+外国 > gaikoku\ ;
+接辞 > setsuji\ ;
+精薄 > seihaku\ ;
+敵地 > tekichi\ ;
+捕食 > hoshoku\ ;
+敵国 > tekkoku\ ;
+終生 > shuusei\ ;
+解消 > kaishou\ ;
+変域 > hen''iki\ ;
+陽暦 > youreki\ ;
+大名 > daimyou\ ;
+失効 > shikkou\ ;
+新体 > shintai\ ;
+国電 > kokuden\ ;
+大口 > ooguchi\ ;
+掘進 > kusshin\ ;
+調剤 > chouzai\ ;
+陸曹 > rikusou\ ;
+国難 > kokunan\ ;
+緩急 > kankyuu\ ;
+支度 > shitaku\ ;
+陽春 > youshun\ ;
+国際 > kokusai\ ;
+大厄 > taiyaku\ ;
+紋章 > monshou\ ;
+支庁 > shichou\ ;
+地道 > jimichi\ ;
+親玉 > oyadama\ ;
+新人 > shinjin\ ;
+故実 > kojitsu\ ;
+外商 > gaishou\ ;
+国防 > kokubou\ ;
+放尿 > hounyou\ ;
+解氷 > kaihyou\ ;
+文博 > bunhaku\ ;
+擯斥 > hinseki\ ;
+大勝 > taishou\ ;
+教壇 > kyoudan\ ;
+縮図 > shukuzu\ ;
+間膜 > kanmaku\ ;
+大力 > dairiki\ ;
+操業 > sougyou\ ;
+天則 > tensoku\ ;
+推賞 > suishou\ ;
+無欠 > muketsu\ ;
+詩学 > shigaku\ ;
+激闘 > gekitou\ ;
+観照 > kanshou\ ;
+外周 > gaishuu\ ;
+間脳 > kan''nou\ ;
+教場 > kyoujou\ ;
+困難 > kon''nan\ ;
+縦坑 > tatekou\ ;
+給源 > kyuugen\ ;
+露仏 > rofutsu\ ;
+誡告 > kaikoku\ ;
+給湯 > kyuutou\ ;
+地軸 > chijiku\ ;
+為着 > shikise\ ;
+大凶 > daikyou\ ;
+要目 > youmoku\ ;
+攻学 > kougaku\ ;
+組版 > kumihan\ ;
+調停 > choutei\ ;
+改宗 > kaishuu\ ;
+織元 > orimoto\ ;
+襟章 > erishou\ ;
+開腹 > kaifuku\ ;
+雛壇 > hinadan\ ;
+大兵 > daihyou\ ;
+燭光 > shokkou\ ;
+表題 > hyoudai\ ;
+震動 > shindou\ ;
+教団 > kyoudan\ ;
+純真 > junshin\ ;
+隷属 > reizoku\ ;
+斜交 > hasukai\ ;
+繁劇 > hangeki\ ;
+煩悩 > bon''nou\ ;
+製薬 > seiyaku\ ;
+売国 > baikoku\ ;
+失体 > shittai\ ;
+純益 > jun''eki\ ;
+料亭 > ryoutei\ ;
+親炙 > shinsha\ ;
+複葉 > fukuyou\ ;
+詳報 > shouhou\ ;
+緞帳 > donchou\ ;
+敵勢 > tekizei\ ;
+表面 > hyoumen\ ;
+長芋 > nagaimo\ ;
+隣席 > rinseki\ ;
+純白 > junpaku\ ;
+評定 > hyoutei\ ;
+防毒 > boudoku\ ;
+数匹 > suuhiki\ ;
+夕刻 > yuukoku\ ;
+電卓 > dentaku\ ;
+終点 > shuuten\ ;
+緊急 > kinkyuu\ ;
+降格 > koukaku\ ;
+給水 > kyuusui\ ;
+精肉 > seiniku\ ;
+敵前 > tekizen\ ;
+夕凪 > yuunagi\ ;
+塞栓 > sokusen\ ;
+繚乱 > ryouran\ ;
+天佑 > ten''yuu\ ;
+詩境 > shikyou\ ;
+縄墨 > jouboku\ ;
+大作 > taisaku\ ;
+親潮 > oyashio\ ;
+団長 > danchou\ ;
+闘病 > toubyou\ ;
+補血 > hoketsu\ ;
+観測 > kansoku\ ;
+煮干 > niboshi\ ;
+四阿 > azumaya\ ;
+綱手 > tsunade\ ;
+陸戦 > rikusen\ ;
+天人 > ten''nin\ ;
+灌腸 > kanchou\ ;
+緊張 > kinchou\ ;
+集塵 > shuujin\ ;
+隔年 > kakunen\ ;
+降服 > koufuku\ ;
+外傷 > gaishou\ ;
+変則 > hensoku\ ;
+集塊 > shuukai\ ;
+無札 > musatsu\ ;
+紅白 > kouhaku\ ;
+解析 > kaiseki\ ;
+無月 > mugetsu\ ;
+増徴 > zouchou\ ;
+襲用 > shuuyou\ ;
+説伏 > seppuku\ ;
+熱唱 > nesshou\ ;
+斉一 > seiitsu\ ;
+外信 > gaishin\ ;
+文中 > bunchuu\ ;
+増強 > zoukyou\ ;
+険悪 > ken''aku\ ;
+長考 > choukou\ ;
+長老 > chourou\ ;
+行頭 > gyoutou\ ;
+線審 > senshin\ ;
+西独 > seidoku\ ;
+救命 > kyuumei\ ;
+隠密 > onmitsu\ ;
+閨秀 > keishuu\ ;
+霍乱 > kakuran\ ;
+国道 > kokudou\ ;
+結氷 > keppyou\ ;
+集団 > shuudan\ ;
+国連 > kokuren\ ;
+陳情 > chinjou\ ;
+火箸 > hibashi\ ;
+売卜 > baiboku\ ;
+敗北 > haiboku\ ;
+障害 > shougai\ ;
+増幅 > zoufuku\ ;
+擲弾 > tekidan\ ;
+潮騒 > shiosai\ ;
+索然 > sakuzen\ ;
+焼成 > shousei\ ;
+電信 > denshin\ ;
+続投 > zokutou\ ;
+濫読 > randoku\ ;
+継承 > keishou\ ;
+綾布 > ayanuno\ ;
+粘膜 > nenmaku\ ;
+摂理 > setsuri\ ;
+雪冤 > setsuen\ ;
+政商 > seishou\ ;
+墨守 > bokushu\ ;
+粉茶 > konacha\ ;
+角材 > kakuzai\ ;
+経歴 > keireki\ ;
+離別 > ribetsu\ ;
+闘牛 > tougyuu\ ;
+照射 > shousha\ ;
+摩滅 > mametsu\ ;
+国軍 > kokugun\ ;
+塗擦 > tosatsu\ ;
+濫觴 > ranshou\ ;
+長編 > chouhen\ ;
+教典 > kyouten\ ;
+地表 > chihyou\ ;
+該博 > gaihaku\ ;
+推薬 > suiyaku\ ;
+陳弁 > chinben\ ;
+糸瓜 > hechima\ ;
+炬燵 > kotatsu\ ;
+行間 > gyoukan\ ;
+雨傘 > amagasa\ ;
+開立 > kairyuu\ ;
+終止 > shuushi\ ;
+撞木 > shumoku\ ;
+雑務 > zatsumu\ ;
+細流 > sairyuu\ ;
+討幕 > toubaku\ ;
+集合 > shuugou\ ;
+捨象 > shashou\ ;
+炮烙 > houroku\ ;
+地蜂 > jibachi\ ;
+険峻 > kenshun\ ;
+親権 > shinken\ ;
+街録 > gairoku\ ;
+複線 > fukusen\ ;
+雑則 > zassoku\ ;
+装薬 > souyaku\ ;
+国賓 > kokuhin\ ;
+点滴 > tenteki\ ;
+陸岸 > rikugan\ ;
+塗抹 > tomatsu\ ;
+詩劇 > shigeki\ ;
+開票 > kaihyou\ ;
+撹拌 > kakuhan\ ;
+陽射 > hizashi\ ;
+熱傷 > nesshou\ ;
+関白 > kanpaku\ ;
+補色 > hoshoku\ ;
+焦慮 > shouryo\ ;
+陪席 > baiseki\ ;
+結核 > kekkaku\ ;
+振鈴 > shinrei\ ;
+教会 > kyoukai\ ;
+雑兵 > zouhyou\ ;
+隣国 > ringoku\ ;
+絃楽 > gengaku\ ;
+雀卓 > jantaku\ ;
+陸封 > rikufuu\ ;
+雪中 > setchuu\ ;
+墨堤 > bokutei\ ;
+託宣 > takusen\ ;
+精神 > seishin\ ;
+損益 > son''eki\ ;
+陣幕 > jinmaku\ ;
+灰皿 > haizara\ ;
+粗縄 > aranawa\ ;
+挌闘 > kakutou\ ;
+挺進 > teishin\ ;
+糸爪 > hechima\ ;
+褒章 > houshou\ ;
+結束 > kessoku\ ;
+灰白 > kaihaku\ ;
+教主 > kyoushu\ ;
+触感 > shokkan\ ;
+招魂 > shoukon\ ;
+親株 > oyakabu\ ;
+精確 > seikaku\ ;
+国論 > kokuron\ ;
+緑土 > ryokudo\ ;
+集光 > shuukou\ ;
+結晶 > kesshou\ ;
+補職 > hoshoku\ ;
+激論 > gekiron\ ;
+詳伝 > shouden\ ;
+紅潮 > kouchou\ ;
+救世 > kyuusei\ ;
+要求 > youkyuu\ ;
+陪審 > baishin\ ;
+挺身 > teishin\ ;
+熱中 > netchuu\ ;
+親書 > shinsho\ ;
+裏腹 > urahara\ ;
+評判 > hyouban\ ;
+納涼 > nouryou\ ;
+図説 > zusetsu\ ;
+詩作 > shisaku\ ;
+間男 > maotoko\ ;
+摺本 > shouhon\ ;
+雑事 > zatsuji\ ;
+改修 > kaishuu\ ;
+雌伏 > shifuku\ ;
+経文 > kyoumon\ ;
+絶息 > zessoku\ ;
+陣容 > jin''you\ ;
+試作 > shisaku\ ;
+陸大 > rikudai\ ;
+褥瘡 > jokusou\ ;
+粗筋 > arasuji\ ;
+精白 > seihaku\ ;
+行進 > koushin\ ;
+長短 > choutan\ ;
+掣肘 > seichuu\ ;
+親方 > oyakata\ ;
+改作 > kaisaku\ ;
+設営 > setsuei\ ;
+集会 > shuukai\ ;
+執権 > shikken\ ;
+絵心 > egokoro\ ;
+拝領 > hairyou\ ;
+絶後 > zetsugo\ ;
+親政 > shinsei\ ;
+管領 > kanryou\ ;
+粘稠 > nenchuu\ ;
+撮影 > satsuei\ ;
+塩害 > shiogai\ ;
+補綴 > hotetsu\ ;
+篤農 > tokunou\ ;
+揮発 > kihatsu\ ;
+訳名 > yakumei\ ;
+烏木 > kokutan\ ;
+隊商 > taishou\ ;
+堆朱 > tsuishu\ ;
+陸地 > rikuchi\ ;
+境域 > kyouiki\ ;
+指針 > shishin\ ;
+回読 > kaidoku\ ;
+照合 > shougou\ ;
+証券 > shouken\ ;
+評伝 > hyouden\ ;
+灸点 > kyuuten\ ;
+型番 > kataban\ ;
+焼売 > shuumai\ ;
+回診 > kaishin\ ;
+複眼 > fukugan\ ;
+詔令 > shourei\ ;
+境地 > kyouchi\ ;
+編修 > henshuu\ ;
+統幕 > toubaku\ ;
+火燵 > kotatsu\ ;
+播州 > banshuu\ ;
+無宿 > mushuku\ ;
+角帽 > kakubou\ ;
+火熱 > kanetsu\ ;
+長男 > chounan\ ;
+親指 > oyayubi\ ;
+角帯 > kakuobi\ ;
+無実 > mujitsu\ ;
+長生 > chousei\ ;
+索条 > sakujou\ ;
+表解 > hyoukai\ ;
+総則 > sousoku\ ;
+四角 > shikaku\ ;
+紋様 > mon''you\ ;
+増収 > zoushuu\ ;
+行賞 > koushou\ ;
+管長 > kanchou\ ;
+綾取 > ayatori\ ;
+続報 > zokuhou\ ;
+探索 > tansaku\ ;
+血路 > ketsuro\ ;
+報徳 > houtoku\ ;
+摩擦 > masatsu\ ;
+報復 > houfuku\ ;
+提督 > teitoku\ ;
+見料 > kenryou\ ;
+表装 > hyousou\ ;
+終戦 > shuusen\ ;
+国葬 > kokusou\ ;
+西暦 > seireki\ ;
+籠絡 > rouraku\ ;
+粗皮 > arakawa\ ;
+炭柱 > tanchuu\ ;
+堪忍 > kan''nin\ ;
+親愛 > shin''ai\ ;
+術語 > jutsugo\ ;
+観念 > kan''nen\ ;
+純朴 > junboku\ ;
+訓告 > kunkoku\ ;
+西日 > nishibi\ ;
+襲来 > shuurai\ ;
+米穀 > beikoku\ ;
+節迫 > seppaku\ ;
+執政 > shissei\ ;
+擁壁 > youheki\ ;
+設備 > setsubi\ ;
+血豆 > chimame\ ;
+証人 > shounin\ ;
+圧縮 > asshuku\ ;
+掌編 > shouhen\ ;
+緒作 > shosaku\ ;
+塁審 > ruishin\ ;
+墳丘 > funkyuu\ ;
+粗略 > soryaku\ ;
+級数 > kyuusuu\ ;
+紋服 > monpuku\ ;
+裕福 > yuufuku\ ;
+掛算 > kakezan\ ;
+衆論 > shuuron\ ;
+回虫 > kaichuu\ ;
+推称 > suishou\ ;
+絵姿 > esugata\ ;
+要撃 > yougeki\ ;
+地籍 > chiseki\ ;
+探究 > tankyuu\ ;
+掌紋 > shoumon\ ;
+粒界 > ryuukai\ ;
+捧腹 > houfuku\ ;
+損流 > sonryuu\ ;
+漆食 > shikkui\ ;
+照会 > shoukai\ ;
+挙証 > kyoshou\ ;
+点描 > tenbyou\ ;
+在籍 > zaiseki\ ;
+拓銀 > takugin\ ;
+絶壁 > zeppeki\ ;
+隔世 > kakusei\ ;
+陸兵 > rikuhei\ ;
+綱具 > tsunagu\ ;
+粗玉 > aratama\ ;
+網元 > amimoto\ ;
+言及 > genkyuu\ ;
+糸枠 > itowaku\ ;
+除却 > jokyaku\ ;
+漫録 > manroku\ ;
+随一 > zuiichi\ ;
+糸杉 > itosugi\ ;
+灰殻 > haigara\ ;
+訪中 > houchuu\ ;
+摂政 > sesshou\ ;
+塩味 > shioaji\ ;
+地積 > chiseki\ ;
+結尾 > ketsubi\ ;
+約数 > yakusuu\ ;
+防壁 > bouheki\ ;
+糾明 > kyuumei\ ;
+塁壁 > ruiheki\ ;
+結審 > kesshin\ ;
+細心 > saishin\ ;
+採石 > saiseki\ ;
+堅忍 > ken''nin\ ;
+粒状 > ryuujou\ ;
+拙速 > sessoku\ ;
+潮解 > choukai\ ;
+撮土 > satsudo\ ;
+漸進 > zenshin\ ;
+親展 > shinten\ ;
+規律 > kiritsu\ ;
+持説 > jisetsu\ ;
+視床 > shishou\ ;
+角地 > kadochi\ ;
+経学 > keigaku\ ;
+粋狂 > suikyou\ ;
+裏白 > urajiro\ ;
+塵入 > gomiire\ ;
+報奨 > houshou\ ;
+細帯 > hosoobi\ ;
+親子 > shinshi\ ;
+無口 > mukuchi\ ;
+執念 > shuunen\ ;
+陸上 > rikujou\ ;
+漫遊 > man''yuu\ ;
+絶唱 > zesshou\ ;
+回腸 > kaichou\ ;
+長江 > choukou\ ;
+地目 > chimoku\ ;
+拍車 > hakusha\ ;
+無力 > muryoku\ ;
+抽選 > chuusen\ ;
+捜索 > sousaku\ ;
+開業 > kaigyou\ ;
+絶叫 > zekkyou\ ;
+国粋 > kokusui\ ;
+掛留 > keiryuu\ ;
+親好 > shinkou\ ;
+閉業 > heigyou\ ;
+報国 > houkoku\ ;
+米独 > beidoku\ ;
+振舞 > furumai\ ;
+箴言 > shingen\ ;
+終始 > shuushi\ ;
+長歎 > choutan\ ;
+長歌 > nagauta\ ;
+振興 > shinkou\ ;
+視学 > shigaku\ ;
+陞任 > shounin\ ;
+紙幅 > shifuku\ ;
+紙帳 > shichou\ ;
+経堂 > kyoudou\ ;
+陣中 > jinchuu\ ;
+納得 > nattoku\ ;
+絶勝 > zesshou\ ;
+粘液 > nen''eki\ ;
+土着 > dochaku\ ;
+国等 > kokutou\ ;
+堂守 > doumori\ ;
+拝謁 > haietsu\ ;
+撤収 > tesshuu\ ;
+籠球 > roukyuu\ ;
+灯明 > toumyou\ ;
+拝読 > haidoku\ ;
+蟶貝 > mategai\ ;
+等閑 > naozari\ ;
+招請 > shousei\ ;
+鏤骨 > rukotsu\ ;
+見学 > kengaku\ ;
+投錨 > toubyou\ ;
+経国 > keikoku\ ;
+在留 > zairyuu\ ;
+損料 > sonryou\ ;
+紐帯 > chuutai\ ;
+鏡高 > kyoukou\ ;
+圭璧 > keiheki\ ;
+描法 > byouhou\ ;
+製氷 > seihyou\ ;
+地球 > chikyuu\ ;
+鑑賞 > kanshou\ ;
+国税 > kokuzei\ ;
+濫用 > ran''you\ ;
+紀律 > kiritsu\ ;
+門柱 > monchuu\ ;
+降伏 > koufuku\ ;
+報告 > houkoku\ ;
+紳士 > shinshi\ ;
+糾弾 > kyuudan\ ;
+衒耀 > gen''you\ ;
+困窮 > konkyuu\ ;
+表紙 > hyoushi\ ;
+烈女 > retsujo\ ;
+防共 > boukyou\ ;
+撰修 > senshuu\ ;
+闘将 > toushou\ ;
+親善 > shinzen\ ;
+濫獲 > rankaku\ ;
+漫読 > mandoku\ ;
+関所 > sekisho\ ;
+瀟洒 > shousha\ ;
+城廓 > joukaku\ ;
+糸底 > itozoko\ ;
+漫評 > manpyou\ ;
+灌木 > kanboku\ ;
+見境 > misakai\ ;
+経史 > kyoushi\ ;
+折込 > orikomi\ ;
+回章 > kaishou\ ;
+授爵 > jushaku\ ;
+等量 > touryou\ ;
+鏡面 > kyoumen\ ;
+経協 > keikyou\ ;
+固着 > kochaku\ ;
+推測 > suisoku\ ;
+国益 > kokueki\ ;
+滲透 > shintou\ ;
+観劇 > kangeki\ ;
+約定 > yakujou\ ;
+報償 > houshou\ ;
+複本 > fukuhon\ ;
+長文 > choubun\ ;
+撩乱 > ryouran\ ;
+探測 > tansoku\ ;
+投身 > toushin\ ;
+統一 > touitsu\ ;
+開拓 > kaitaku\ ;
+関心 > kanshin\ ;
+補殺 > hosatsu\ ;
+糸屑 > itokuzu\ ;
+撃剣 > gekiken\ ;
+扁額 > hengaku\ ;
+演説 > enzetsu\ ;
+垂教 > suikyou\ ;
+複星 > fukusei\ ;
+等速 > tousoku\ ;
+所領 > shoryou\ ;
+竹馬 > chikuba\ ;
+補欠 > hoketsu\ ;
+国産 > kokusan\ ;
+血縁 > ketsuen\ ;
+複方 > fukuhou\ ;
+粗末 > somatsu\ ;
+術策 > jussaku\ ;
+複文 > fukubun\ ;
+激甚 > gekijin\ ;
+鎮魂 > chingon\ ;
+複数 > fukusuu\ ;
+灯心 > toushin\ ;
+損得 > sontoku\ ;
+堕力 > daryoku\ ;
+終刊 > shuukan\ ;
+探求 > tankyuu\ ;
+親元 > oyamoto\ ;
+成鳥 > seichou\ ;
+鏡鑑 > kyoukan\ ;
+血糊 > chinori\ ;
+等身 > toushin\ ;
+漸落 > zenraku\ ;
+粗方 > arakata\ ;
+糸姫 > itohime\ ;
+節義 > setsugi\ ;
+筆蹟 > hisseki\ ;
+長所 > chousho\ ;
+筆跡 > hisseki\ ;
+潮紅 > choukou\ ;
+所長 > shochou\ ;
+終値 > owarine\ ;
+細則 > saisoku\ ;
+血筋 > chisuji\ ;
+潅腸 > kanchou\ ;
+城壁 > jouheki\ ;
+地殻 > chikaku\ ;
+摘取 > tekishu\ ;
+招致 > shouchi\ ;
+策謀 > sakubou\ ;
+親交 > shinkou\ ;
+精強 > seikyou\ ;
+折角 > sekkaku\ ;
+融通 > yuudzuu\ ;
+開幕 > kaimaku\ ;
+喫驚 > bikkuri\ ;
+開帳 > kaichou\ ;
+簇生 > zokusei\ ;
+坑木 > kouboku\ ;
+級友 > kyuuyuu\ ;
+閉幕 > heimaku\ ;
+鎖骨 > sakotsu\ ;
+満額 > mangaku\ ;
+街着 > machigi\ ;
+振盪 > shintou\ ;
+西北 > seihoku\ ;
+覆刻 > fukkoku\ ;
+圧殺 > assatsu\ ;
+鎮静 > chinsei\ ;
+蟋蟀 > koorogi\ ;
+濠洲 > goushuu\ ;
+拝聴 > haichou\ ;
+才量 > sairyou\ ;
+濁点 > dakuten\ ;
+終世 > shuusei\ ;
+蠏缶 > kanikan\ ;
+竜顔 > ryougan\ ;
+長径 > choukei\ ;
+長征 > chousei\ ;
+執刀 > shittou\ ;
+折衷 > setchuu\ ;
+襲名 > shuumei\ ;
+招聘 > shouhei\ ;
+折衝 > sesshou\ ;
+紹介 > shoukai\ ;
+紅唇 > koushin\ ;
+表現 > hyougen\ ;
+四球 > shikyuu\ ;
+垂心 > suishin\ ;
+推服 > suifuku\ ;
+衆知 > shuuchi\ ;
+閑寂 > kanjaku\ ;
+糾問 > kyuumon\ ;
+裏書 > uragaki\ ;
+筆誅 > hitchuu\ ;
+承認 > shounin\ ;
+長幼 > chouyou\ ;
+長年 > naganen\ ;
+閣外 > kakugai\ ;
+要償 > youshou\ ;
+等角 > toukaku\ ;
+嘆賞 > tanshou\ ;
+等親 > toushin\ ;
+搾取 > sakushu\ ;
+堅人 > katajin\ ;
+装束 > souzoku\ ;
+土橋 > dobashi\ ;
+地核 > chikaku\ ;
+手近 > tedjika\ ;
+裏方 > urakata\ ;
+糾合 > kyuugou\ ;
+蟹缶 > kanikan\ ;
+激減 > gekigen\ ;
+粗忽 > sokotsu\ ;
+納入 > nounyuu\ ;
+技術 > gijutsu\ ;
+投薬 > touyaku\ ;
+激浪 > gekirou\ ;
+約分 > yakubun\ ;
+国法 > kokuhou\ ;
+手蹟 > shuseki\ ;
+成長 > seichou\ ;
+粒径 > ryuukei\ ;
+長官 > choukan\ ;
+手跡 > shuseki\ ;
+長子 > choushi\ ;
+国民 > kokumin\ ;
+精妙 > seimyou\ ;
+濁水 > dakusui\ ;
+蛟龍 > kouryou\ ;
+排斥 > haiseki\ ;
+閉塞 > heisoku\ ;
+行状 > gyoujou\ ;
+蝶貝 > chougai\ ;
+襟元 > erimoto\ ;
+血球 > kekkyuu\ ;
+拙策 > sessaku\ ;
+懸隔 > kenkaku\ ;
+裏技 > urawaza\ ;
+在方 > zaikata\ ;
+竹輪 > chikuwa\ ;
+排撃 > haigeki\ ;
+節目 > fushime\ ;
+採択 > saitaku\ ;
+捕殺 > hosatsu\ ;
+開国 > kaikoku\ ;
+螟虫 > meichuu\ ;
+災厄 > saiyaku\ ;
+土日 > donichi\ ;
+褒奨 > houshou\ ;
+長大 > choudai\ ;
+成銀 > narigin\ ;
+範疇 > hanchuu\ ;
+回流 > kairyuu\ ;
+粗密 > somitsu\ ;
+掌握 > shouaku\ ;
+成金 > narikin\ ;
+潔白 > keppaku\ ;
+潔癖 > keppeki\ ;
+漢籍 > kanseki\ ;
+圧接 > assetsu\ ;
+抽籤 > chuusen\ ;
+競走 > kyousou\ ;
+粒子 > ryuushi\ ;
+才覚 > saikaku\ ;
+火口 > higuchi\ ;
+所謂 > iwayuru\ ;
+笑覧 > shouran\ ;
+間口 > maguchi\ ;
+搏動 > hakudou\ ;
+戦跡 > senseki\ ;
+閣内 > kakunai\ ;
+満身 > manshin\ ;
+国本 > kokuhon\ ;
+裏庭 > uraniwa\ ;
+裏店 > uradana\ ;
+国有 > kokuyuu\ ;
+国書 > kokusho\ ;
+火力 > karyoku\ ;
+長嘆 > choutan\ ;
+竜車 > ryuusha\ ;
+我輩 > wagahai\ ;
+満足 > manzoku\ ;
+血潮 > chishio\ ;
+漆絵 > urushie\ ;
+粗壁 > arakabe\ ;
+血漿 > kesshou\ ;
+齷齪 > akuseku\ ;
+激暑 > gekisho\ ;
+商魂 > shoukon\ ;
+地心 > chishin\ ;
+空馬 > karauma\ ;
+長唄 > nagauta\ ;
+損傷 > sonshou\ ;
+算盤 > soroban\ ;
+国文 > kokubun\ ;
+開削 > kaisaku\ ;
+所行 > shogyou\ ;
+国教 > kokkyou\ ;
+長命 > choumei\ ;
+国政 > kokusei\ ;
+溢血 > ikketsu\ ;
+米審 > beishin\ ;
+坩堝 > rutsubo\ ;
+節煙 > setsuen\ ;
+団栗 > donguri\ ;
+減額 > gengaku\ ;
+図星 > zuboshi\ ;
+裏山 > urayama\ ;
+折紙 > origami\ ;
+拘留 > kouryuu\ ;
+行水 > gyouzui\ ;
+粉壁 > funpeki\ ;
+立身 > risshin\ ;
+接尾 > setsubi\ ;
+竹製 > takesei\ ;
+商館 > shoukan\ ;
+算用 > san''you\ ;
+血沈 > ketchin\ ;
+間作 > kansaku\ ;
+手蔓 > tedzuru\ ;
+複合 > fukugou\ ;
+長剣 > chouken\ ;
+火付 > hitsuke\ ;
+唐黍 > toukibi\ ;
+地峡 > chikyou\ ;
+築港 > chikkou\ ;
+提唱 > teishou\ ;
+空隙 > kuugeki\ ;
+抜穴 > nukeana\ ;
+閑人 > himajin\ ;
+空陸 > kuuriku\ ;
+蝙蝠 > henpuku\ ;
+抄紙 > shoushi\ ;
+回春 > kaishun\ ;
+間中 > aidajuu\ ;
+承継 > shoukei\ ;
+等級 > toukyuu\ ;
+排尿 > hainyou\ ;
+捷径 > shoukei\ ;
+国手 > kokushu\ ;
+推奨 > suishou\ ;
+行楽 > kouraku\ ;
+長兄 > choukei\ ;
+表明 > hyoumei\ ;
+激戦 > gekisen\ ;
+回教 > kaikyou\ ;
+地学 > chigaku\ ;
+漁礁 > gyoshou\ ;
+表敬 > hyoukei\ ;
+憂鬱 > yuuutsu\ ;
+懸賞 > kenshou\ ;
+激憤 > gekifun\ ;
+穿鑿 > sensaku\ ;
+潤沢 > juntaku\ ;
+振替 > furikae\ ;
+篦棒 > berabou\ ;
+複写 > fukusha\ ;
+投票 > touhyou\ ;
+国情 > kokujou\ ;
+在宅 > zaitaku\ ;
+在学 > zaigaku\ ;
+懐郷 > kaikyou\ ;
+激情 > gekijou\ ;
+精一 > seiitsu\ ;
+器物 > kibutsu\ ;
+米国 > beikoku\ ;
+立証 > risshou\ ;
+掛声 > kakegoe\ ;
+行末 > yukusue\ ;
+行書 > gyousho\ ;
+渾身 > konshin\ ;
+扁舟 > henshuu\ ;
+投石 > touseki\ ;
+指標 > shihyou\ ;
+困惑 > konwaku\ ;
+挟書 > kyousho\ ;
+描写 > byousha\ ;
+衆望 > shuubou\ ;
+長上 > choujou\ ;
+衷情 > chuujou\ ;
+減量 > genryou\ ;
+澄明 > choumei\ ;
+衆智 > shuuchi\ ;
+嘉節 > kasetsu\ ;
+行数 > gyousuu\ ;
+図式 > zushiki\ ;
+行政 > gyousei\ ;
+成虫 > seichuu\ ;
+漿液 > shoueki\ ;
+地坪 > jitsubo\ ;
+穀類 > kokurui\ ;
+漠然 > bakuzen\ ;
+競艇 > kyoutei\ ;
+製作 > seisaku\ ;
+突進 > tosshin\ ;
+提供 > teikyou\ ;
+深閑 > shinkan\ ;
+米収 > beishuu\ ;
+穿通 > sentsuu\ ;
+減速 > gensoku\ ;
+表情 > hyoujou\ ;
+符節 > fusetsu\ ;
+噴流 > funryuu\ ;
+承知 > shouchi\ ;
+種馬 > taneuma\ ;
+淡雪 > awayuki\ ;
+啓迪 > keiteki\ ;
+接受 > setsuju\ ;
+挨拶 > aisatsu\ ;
+挫折 > zasetsu\ ;
+接収 > sesshuu\ ;
+手綱 > tadzuna\ ;
+衰弱 > suijaku\ ;
+回心 > kaishin\ ;
+国対 > kokutai\ ;
+漁獲 > gyokaku\ ;
+回復 > kaifuku\ ;
+答申 > toushin\ ;
+扉絵 > tobirae\ ;
+国宝 > kokuhou\ ;
+漁猟 > gyoryou\ ;
+国定 > kokutei\ ;
+国守 > kokushu\ ;
+笑納 > shounou\ ;
+投球 > toukyuu\ ;
+囚役 > shuueki\ ;
+唇音 > shin''on\ ;
+捷報 > shouhou\ ;
+探勝 > tanshou\ ;
+投獄 > tougoku\ ;
+行成 > ikinari\ ;
+滑石 > kasseki\ ;
+清適 > seiteki\ ;
+満腹 > manpuku\ ;
+鼻骨 > bikotsu\ ;
+地口 > jiguchi\ ;
+手箒 > tebouki\ ;
+漂然 > hyouzen\ ;
+唐門 > karamon\ ;
+涼風 > ryoufuu\ ;
+滞留 > tairyuu\ ;
+指摘 > shiteki\ ;
+涵養 > kan''you\ ;
+抹消 > masshou\ ;
+竜脳 > ryuunou\ ;
+国大 > kokudai\ ;
+米俗 > beizoku\ ;
+国外 > kokugai\ ;
+掘削 > kussaku\ ;
+術後 > jutsugo\ ;
+国士 > kokushi\ ;
+裏側 > uragawa\ ;
+濁声 > damigoe\ ;
+米作 > beisaku\ ;
+激変 > gekihen\ ;
+唱道 > shoudou\ ;
+問責 > monseki\ ;
+挑戦 > chousen\ ;
+国境 > kokkyou\ ;
+表層 > hyousou\ ;
+空谷 > kuukoku\ ;
+戦績 > senseki\ ;
+激増 > gekizou\ ;
+懇親 > konshin\ ;
+端綱 > hadzuna\ ;
+深遠 > shin''en\ ;
+渓谷 > keikoku\ ;
+篤志 > tokushi\ ;
+裏作 > urasaku\ ;
+喜色 > kishoku\ ;
+裂傷 > resshou\ ;
+蛮襟 > bankara\ ;
+米中 > beichuu\ ;
+立腹 > rippuku\ ;
+税額 > zeigaku\ ;
+招来 > shourai\ ;
+竿竹 > saodake\ ;
+漫楽 > mangaku\ ;
+淫逸 > in''itsu\ ;
+拘束 > kousoku\ ;
+空調 > kuuchou\ ;
+突角 > tokkaku\ ;
+虫類 > chuurui\ ;
+捺印 > natsuin\ ;
+衆庶 > shuusho\ ;
+竹竿 > takezao\ ;
+問診 > monshin\ ;
+拓本 > takuhon\ ;
+漂浪 > hyourou\ ;
+拡散 > kakusan\ ;
+蛹虫 > youchuu\ ;
+鋳鋼 > chuukou\ ;
+積載 > sekisai\ ;
+海鳥 > kaichou\ ;
+国喪 > kokusou\ ;
+商談 > shoudan\ ;
+空襲 > kuushuu\ ;
+成績 > seiseki\ ;
+箆棒 > berabou\ ;
+在俗 > zaizoku\ ;
+拱手 > kyoushu\ ;
+善良 > zenryou\ ;
+衒学 > gengaku\ ;
+鋳金 > chuukin\ ;
+空行 > kuugyou\ ;
+地主 > jinushi\ ;
+地中 > chichuu\ ;
+成約 > seiyaku\ ;
+囃子 > hayashi\ ;
+秀麗 > shuurei\ ;
+濫作 > ransaku\ ;
+街娼 > gaishou\ ;
+国名 > kokumei\ ;
+国司 > kokushi\ ;
+国号 > kokugou\ ;
+国史 > kokushi\ ;
+錯角 > sakkaku\ ;
+在京 > zaikyou\ ;
+衝天 > shouten\ ;
+箇月 > kagetsu\ ;
+圏内 > ken''nai\ ;
+錯覚 > sakkaku\ ;
+拍数 > hakusuu\ ;
+漢朝 > kanchou\ ;
+管掌 > kanshou\ ;
+在中 > zaichuu\ ;
+潜心 > senshin\ ;
+回国 > kaikoku\ ;
+潛心 > senshin\ ;
+表在 > hyouzai\ ;
+滴水 > tekisui\ ;
+打率 > daritsu\ ;
+鋳造 > chuuzou\ ;
+国勢 > kokusei\ ;
+四国 > shikoku\ ;
+国労 > kokurou\ ;
+深謝 > shinsha\ ;
+拝承 > haishou\ ;
+深謀 > shinbou\ ;
+嚮導 > kyoudou\ ;
+激動 > gekidou\ ;
+立米 > ryuubei\ ;
+筋注 > kinchuu\ ;
+激励 > gekirei\ ;
+抑止 > yokushi\ ;
+漢族 > kanzoku\ ;
+満票 > manpyou\ ;
+節度 > setsudo\ ;
+禽鳥 > kinchou\ ;
+戴白 > taihaku\ ;
+拙技 > setsugi\ ;
+漁業 > gyogyou\ ;
+演曲 > enkyoku\ ;
+液量 > ekiryou\ ;
+蛇蠍 > dakatsu\ ;
+国内 > kokunai\ ;
+鼎革 > teikaku\ ;
+蛔虫 > kaichuu\ ;
+国典 > kokuten\ ;
+蝋石 > rouseki\ ;
+竜神 > ryuujin\ ;
+消防 > shoubou\ ;
+流麗 > ryuurei\ ;
+端的 > tanteki\ ;
+温色 > onshoku\ ;
+蛇蝎 > dakatsu\ ;
+国債 > kokusai\ ;
+準用 > jun''you\ ;
+穴蔵 > anagura\ ;
+拍手 > hakushu\ ;
+消閑 > shoukan\ ;
+手燭 > teshoku\ ;
+喪神 > soushin\ ;
+四周 > shishuu\ ;
+回収 > kaishuu\ ;
+箱師 > hakoshi\ ;
+表号 > hyougou\ ;
+黄麻 > tsunaso\ ;
+虫酸 > mushizu\ ;
+満目 > manmoku\ ;
+拝復 > haifuku\ ;
+鐘楼 > shourou\ ;
+立秋 > risshuu\ ;
+秋風 > shuufuu\ ;
+押捺 > ounatsu\ ;
+国使 > kokushi\ ;
+招待 > shoutai\ ;
+浦風 > urakaze\ ;
+空茶 > karacha\ ;
+国体 > kokutai\ ;
+竜眼 > ryuugan\ ;
+海陸 > kairiku\ ;
+稀釈 > kishaku\ ;
+税込 > zeikomi\ ;
+黒鯛 > kurodai\ ;
+空色 > sorairo\ ;
+挙国 > kyokoku\ ;
+国主 > kokushu\ ;
+衰兆 > suichou\ ;
+国中 > kunijuu\ ;
+秋霜 > shuusou\ ;
+喉笛 > nodobue\ ;
+秋霖 > shuurin\ ;
+蛮習 > banshuu\ ;
+黄鳥 > kouchou\ ;
+行啓 > gyoukei\ ;
+秋雨 > akisame\ ;
+空腹 > kuufuku\ ;
+滋殖 > jishoku\ ;
+衝動 > shoudou\ ;
+挿入 > sounyuu\ ;
+和食 > washoku\ ;
+抜擢 > batteki\ ;
+溯源 > sakugen\ ;
+抛擲 > houteki\ ;
+商船 > shousen\ ;
+鍵穴 > kagiana\ ;
+振動 > shindou\ ;
+蟻巻 > arimaki\ ;
+扶植 > fushoku\ ;
+抄本 > shouhon\ ;
+指圧 > shiatsu\ ;
+投擲 > touteki\ ;
+指図 > sashizu\ ;
+溺水 > dekisui\ ;
+築地 > tsukiji\ ;
+黒風 > kokufuu\ ;
+蝋燭 > rousoku\ ;
+溺死 > dekishi\ ;
+拙宅 > settaku\ ;
+手沢 > shutaku\ ;
+惣領 > souryou\ ;
+禁鳥 > kinchou\ ;
+抑揚 > yokuyou\ ;
+囚人 > shuujin\ ;
+清聴 > seichou\ ;
+笊法 > zaruhou\ ;
+懇篤 > kontoku\ ;
+競漕 > kyousou\ ;
+淳良 > junryou\ ;
+減給 > genkyuu\ ;
+鏖殺 > ousatsu\ ;
+唐薯 > karaimo\ ;
+税調 > zeichou\ ;
+笑止 > shoushi\ ;
+蘭鋳 > ranchuu\ ;
+拡大 > kakudai\ ;
+銅鐸 > doutaku\ ;
+拍子 > hyoushi\ ;
+銅鏡 > doukyou\ ;
+浸透 > shintou\ ;
+策戦 > sakusen\ ;
+成熟 > seijuku\ ;
+溜池 > tameike\ ;
+浦里 > urazato\ ;
+湯熨 > yunoshi\ ;
+喫煙 > kitsuen\ ;
+嘉日 > kajitsu\ ;
+満潮 > manchou\ ;
+称賛 > shousan\ ;
+嚇嚇 > kakkaku\ ;
+商経 > shoukei\ ;
+拓大 > takudai\ ;
+源流 > genryuu\ ;
+穎脱 > eidatsu\ ;
+突端 > toppana\ ;
+行体 > gyoutai\ ;
+漢学 > kangaku\ ;
+黄雀 > koujaku\ ;
+喀痰 > kakutan\ ;
+鼻血 > hanadji\ ;
+錯綜 > sakusou\ ;
+深耕 > shinkou\ ;
+術中 > jutchuu\ ;
+派閥 > habatsu\ ;
+善用 > zen''you\ ;
+蛟竜 > kouryou\ ;
+漆工 > shikkou\ ;
+憲章 > kenshou\ ;
+麻雀 > mazejan\ ;
+戦況 > senkyou\ ;
+漁師 > ryoushi\ ;
+篆刻 > tenkoku\ ;
+衆人 > shuujin\ ;
+所業 > shogyou\ ;
+究竟 > kukkyou\ ;
+嘲弄 > chourou\ ;
+戯歌 > zareuta\ ;
+蠢動 > shundou\ ;
+唐臼 > karausu\ ;
+満洲 > manshuu\ ;
+湾流 > wanryuu\ ;
+善玉 > zendama\ ;
+私通 > shitsuu\ ;
+種苗 > shubyou\ ;
+海賊 > kaizoku\ ;
+種芋 > taneimo\ ;
+湮滅 > inmetsu\ ;
+戦歴 > senreki\ ;
+指値 > sashine\ ;
+海豹 > kaihyou\ ;
+海象 > seiuchi\ ;
+窮状 > kyuujou\ ;
+押売 > oshiuri\ ;
+品評 > hinpyou\ ;
+惨酷 > zankoku\ ;
+悪食 > akujiki\ ;
+蛮的 > banteki\ ;
+深紅 > shinkou\ ;
+神髄 > shinzui\ ;
+蘇鉄 > sotetsu\ ;
+等張 > touchou\ ;
+蟄居 > chikkyo\ ;
+愚説 > gusetsu\ ;
+懸濁 > kendaku\ ;
+商社 > shousha\ ;
+銃身 > juushin\ ;
+溝板 > dobuita\ ;
+清秋 > seishuu\ ;
+感覚 > kankaku\ ;
+清福 > seifuku\ ;
+減益 > gen''eki\ ;
+清祥 > seishou\ ;
+嚢中 > nouchuu\ ;
+神饌 > shinsen\ ;
+龍神 > ryuujin\ ;
+秘訣 > hiketsu\ ;
+空白 > kuuhaku\ ;
+潜伏 > senpuku\ ;
+嘆息 > tansoku\ ;
+虹色 > nijiiro\ ;
+策定 > sakutei\ ;
+流連 > ryuuren\ ;
+浮説 > fusetsu\ ;
+積算 > sekisan\ ;
+悪阻 > tsuwari\ ;
+憶病 > okubyou\ ;
+慣習 > kanshuu\ ;
+深窓 > shinsou\ ;
+戯曲 > gikyoku\ ;
+手掌 > shushou\ ;
+患難 > kan''nan\ ;
+拡充 > kakujuu\ ;
+神韻 > shin''in\ ;
+穀粉 > kokufun\ ;
+哨舎 > shousha\ ;
+管内 > kan''nai\ ;
+鑿井 > sakusei\ ;
+唐糸 > karaito\ ;
+鉄鎚 > tettsui\ ;
+空瓶 > karabin\ ;
+満株 > mankabu\ ;
+鋼索 > kousaku\ ;
+拍動 > hakudou\ ;
+手抄 > shushou\ ;
+秘術 > hijutsu\ ;
+滑席 > kasseki\ ;
+神霊 > shinrei\ ;
+成業 > seigyou\ ;
+蛋白 > tanpaku\ ;
+周遊 > shuuyuu\ ;
+悠長 > yuuchou\ ;
+商用 > shouyou\ ;
+滅度 > metsudo\ ;
+満更 > manzara\ ;
+策士 > sakushi\ ;
+周辺 > shuuhen\ ;
+成桂 > narikei\ ;
+海蛇 > umihebi\ ;
+活路 > katsuro\ ;
+黒貂 > kuroten\ ;
+鐘声 > shousei\ ;
+拙作 > sessaku\ ;
+銭葵 > zeniaoi\ ;
+漆喰 > shikkui\ ;
+波音 > namioto\ ;
+稜線 > ryousen\ ;
+窮民 > kyuumin\ ;
+才徳 > saitoku\ ;
+立案 > ritsuan\ ;
+黙認 > mokunin\ ;
+慶福 > keifuku\ ;
+呵責 > kashaku\ ;
+空爆 > kuubaku\ ;
+吃驚 > bikkuri\ ;
+蝿帳 > haichou\ ;
+窮死 > kyuushi\ ;
+各駅 > kakueki\ ;
+商状 > shoujou\ ;
+秋蚕 > shuusan\ ;
+押入 > oshiire\ ;
+混用 > kon''you\ ;
+渦潮 > uzushio\ ;
+黙視 > mokushi\ ;
+蘭虫 > ranchuu\ ;
+釣魚 > chougyo\ ;
+我方 > wagahou\ ;
+同額 > dougaku\ ;
+穴熊 > anaguma\ ;
+流説 > rusetsu\ ;
+所得 > shotoku\ ;
+溜息 > tameiki\ ;
+深甚 > shinjin\ ;
+恭順 > kyoujun\ ;
+漏刻 > roukoku\ ;
+薩長 > satchou\ ;
+流言 > ryuugen\ ;
+担任 > tan''nin\ ;
+感興 > kankyou\ ;
+淡白 > tanpaku\ ;
+立春 > risshun\ ;
+窯業 > yougyou\ ;
+抜去 > bakkyou\ ;
+抗告 > koukoku\ ;
+温浴 > on''yoku\ ;
+禁足 > kinsoku\ ;
+準急 > junkyuu\ ;
+吃音 > kitsuon\ ;
+鉄路 > tetsuro\ ;
+社長 > shachou\ ;
+空漠 > kuubaku\ ;
+各面 > kakumen\ ;
+黒血 > kurochi\ ;
+消耗 > shoumou\ ;
+竣成 > shunsei\ ;
+洗足 > sensoku\ ;
+黒蟻 > kuroari\ ;
+憶測 > okusoku\ ;
+流行 > ryuukou\ ;
+窒死 > chisshi\ ;
+金高 > kindaka\ ;
+筺体 > kyoutai\ ;
+各階 > kakukai\ ;
+含量 > ganryou\ ;
+秋草 > akikusa\ ;
+才学 > saigaku\ ;
+神道 > shintou\ ;
+吾輩 > wagahai\ ;
+憤激 > fungeki\ ;
+情調 > jouchou\ ;
+愉色 > yushoku\ ;
+種目 > shumoku\ ;
+清濁 > seidaku\ ;
+策動 > sakudou\ ;
+周覧 > shuuran\ ;
+清澄 > seichou\ ;
+所属 > shozoku\ ;
+策励 > sakurei\ ;
+戦役 > sen''eki\ ;
+薄雲 > usugumo\ ;
+薄雪 > usuyuki\ ;
+祝辞 > shukuji\ ;
+抑制 > yokusei\ ;
+恋風 > koikaze\ ;
+商港 > shoukou\ ;
+神輿 > mikoshi\ ;
+蕁麻 > irakusa\ ;
+渓流 > keiryuu\ ;
+湿性 > shissei\ ;
+童心 > doushin\ ;
+戒慎 > kaishin\ ;
+投入 > tounyuu\ ;
+鹿追 > shikaoi\ ;
+祖述 > sojutsu\ ;
+淋病 > rinbyou\ ;
+戊戌 > bojutsu\ ;
+薬酒 > yakushu\ ;
+呪術 > jujutsu\ ;
+古顔 > furugao\ ;
+浅薄 > senpaku\ ;
+手妻 > tedzuma\ ;
+混濁 > kondaku\ ;
+金額 > kingaku\ ;
+鉤虫 > kouchuu\ ;
+浣腸 > kanchou\ ;
+清涼 > seiryou\ ;
+惨落 > sanraku\ ;
+商法 > shouhou\ ;
+慣用 > kan''you\ ;
+銅臭 > doushuu\ ;
+笑声 > shousei\ ;
+蘊蓄 > unchiku\ ;
+銀色 > gin''iro\ ;
+麦角 > bakkaku\ ;
+戒心 > kaishin\ ;
+投信 > toushin\ ;
+清流 > seiryuu\ ;
+私腹 > shifuku\ ;
+満幅 > manpuku\ ;
+台閣 > daikaku\ ;
+満席 > manseki\ ;
+承前 > shouzen\ ;
+喬志 > kyoushi\ ;
+深潭 > shintan\ ;
+反駁 > hanpaku\ ;
+竣工 > shunkou\ ;
+満州 > manshuu\ ;
+喪心 > soushin\ ;
+同量 > douryou\ ;
+祝賀 > shukuga\ ;
+悪評 > akuhyou\ ;
+哄笑 > koushou\ ;
+悪訳 > akuyaku\ ;
+急騰 > kyuutou\ ;
+蕪雑 > buzatsu\ ;
+黒茶 > kurocha\ ;
+税目 > zeimoku\ ;
+折中 > setchuu\ ;
+秘結 > hiketsu\ ;
+同郷 > doukyou\ ;
+懲戒 > choukai\ ;
+示達 > jitatsu\ ;
+重陽 > chouyou\ ;
+深淵 > shin''en\ ;
+懐旧 > kaikyuu\ ;
+筐体 > kyoutai\ ;
+虎穴 > koketsu\ ;
+喘息 > zensoku\ ;
+反響 > hankyou\ ;
+鎮定 > chintei\ ;
+深海 > shinkai\ ;
+商権 > shouken\ ;
+筒井 > tsutsui\ ;
+深浅 > shinsen\ ;
+哲理 > tetsuri\ ;
+鈍足 > donsoku\ ;
+空桶 > karaoke\ ;
+薄鈍 > usunoro\ ;
+懲悪 > chouaku\ ;
+空株 > kuukabu\ ;
+蛮族 > banzoku\ ;
+蕉風 > shoufuu\ ;
+笛吹 > fuefuki\ ;
+法身 > hosshin\ ;
+竜宮 > ryuuguu\ ;
+祝言 > shuugen\ ;
+鏡台 > kyoudai\ ;
+恥辱 > chijoku\ ;
+沈静 > chinsei\ ;
+懲役 > choueki\ ;
+善悪 > zen''aku\ ;
+滞京 > taikyou\ ;
+重鎮 > juuchin\ ;
+名跡 > meiseki\ ;
+急難 > kyuunan\ ;
+薄遇 > hakuguu\ ;
+参集 > sanshuu\ ;
+淡泊 > tanpaku\ ;
+手口 > teguchi\ ;
+沈降 > chinkou\ ;
+浸礼 > shinrei\ ;
+周航 > shuukou\ ;
+善心 > zenshin\ ;
+善徳 > zentoku\ ;
+打力 > daryoku\ ;
+淫欲 > in''yoku\ ;
+銀紙 > gingami\ ;
+鈴蘭 > suzuran\ ;
+戦域 > sen''iki\ ;
+吟誦 > ginshou\ ;
+究明 > kyuumei\ ;
+品目 > hinmoku\ ;
+醜類 > shuurui\ ;
+齲歯 > mushiba\ ;
+召還 > shoukan\ ;
+注解 > chuukai\ ;
+可逆 > kagyaku\ ;
+憂欝 > yuuutsu\ ;
+銅箔 > douhaku\ ;
+注視 > chuushi\ ;
+重量 > juuryou\ ;
+戦国 > sengoku\ ;
+所収 > shoshuu\ ;
+愛着 > aichaku\ ;
+鈍角 > donkaku\ ;
+麦茶 > mugicha\ ;
+黒線 > kokusen\ ;
+愚直 > guchoku\ ;
+銀箔 > ginpaku\ ;
+鏡像 > kyouzou\ ;
+藤色 > fujiiro\ ;
+史蹟 > shiseki\ ;
+戸口 > toguchi\ ;
+空揚 > karaage\ ;
+銀笛 > ginteki\ ;
+湿地 > shitchi\ ;
+海相 > kaishou\ ;
+第一 > daiichi\ ;
+清新 > seishin\ ;
+恭謙 > kyouken\ ;
+野道 > nomichi\ ;
+唐歌 > karauta\ ;
+同調 > douchou\ ;
+史跡 > shiseki\ ;
+鷹隼 > youshun\ ;
+競合 > kyougou\ ;
+名訳 > meiyaku\ ;
+収金 > shuukin\ ;
+合調 > gouchou\ ;
+口輪 > kuchiwa\ ;
+淳朴 > junboku\ ;
+黄緑 > ouryoku\ ;
+忠魂 > chuukon\ ;
+各論 > kakuron\ ;
+涸渇 > kokatsu\ ;
+合評 > gappyou\ ;
+叙述 > jojutsu\ ;
+深更 > shinkou\ ;
+洗脳 > sen''nou\ ;
+戸別 > kobetsu\ ;
+神葬 > shinsou\ ;
+立場 > tachiba\ ;
+唐様 > karayou\ ;
+麻縄 > asanawa\ ;
+鶺鴒 > sekirei\ ;
+悪臭 > akushuu\ ;
+積木 > tsumiki\ ;
+古跡 > furuato\ ;
+準則 > junsoku\ ;
+戦友 > sen''yuu\ ;
+浴用 > yokuyou\ ;
+吐血 > toketsu\ ;
+鈎虫 > kouchuu\ ;
+薄謝 > hakusha\ ;
+鎮台 > chindai\ ;
+沈酔 > chinsui\ ;
+商才 > shousai\ ;
+黙祷 > mokutou\ ;
+金赤 > kin''aka\ ;
+所信 > shoshin\ ;
+商戦 > shousen\ ;
+立国 > rikkoku\ ;
+黙礼 > mokurei\ ;
+黙示 > mokushi\ ;
+蚕業 > sangyou\ ;
+戦勝 > senshou\ ;
+叛跡 > hanseki\ ;
+思量 > shiryou\ ;
+手中 > shuchuu\ ;
+消燈 > shoutou\ ;
+神苑 > shin''en\ ;
+手下 > teshita\ ;
+収載 > shuusai\ ;
+急遽 > kyuukyo\ ;
+私的 > shiteki\ ;
+満卓 > mantaku\ ;
+急造 > kyuuzou\ ;
+急逝 > kyuusei\ ;
+渦巻 > uzumaki\ ;
+海猫 > umineko\ ;
+愚物 > gubutsu\ ;
+重責 > juuseki\ ;
+鼻汗 > hanaase\ ;
+反身 > hanshin\ ;
+急送 > kyuusou\ ;
+戒告 > kaikoku\ ;
+善女 > zen''nyo\ ;
+神興 > mikoshi\ ;
+悪習 > akushuu\ ;
+召請 > shousei\ ;
+鉛筆 > enpitsu\ ;
+叛賊 > hanzoku\ ;
+戒名 > kaimyou\ ;
+厳酷 > genkoku\ ;
+竣功 > shunkou\ ;
+唐朝 > touchou\ ;
+消灯 > shoutou\ ;
+心魂 > shinkon\ ;
+厄難 > yakunan\ ;
+房中 > bouchuu\ ;
+反跳 > hanchou\ ;
+海牛 > kaigyuu\ ;
+鉱石 > kouseki\ ;
+薬莢 > yakkyou\ ;
+鼻歌 > hanauta\ ;
+憑拠 > hyoukyo\ ;
+鉄索 > tessaku\ ;
+心髄 > shinzui\ ;
+急転 > kyuuten\ ;
+反越 > hanetsu\ ;
+吹聴 > fuichou\ ;
+湯口 > yuguchi\ ;
+戦傷 > senshou\ ;
+古説 > kosetsu\ ;
+水飴 > mizuame\ ;
+名薬 > meiyaku\ ;
+稿料 > kouryou\ ;
+即題 > sokudai\ ;
+忠霊 > chuurei\ ;
+口説 > kuzetsu\ ;
+口誦 > koushou\ ;
+薬草 > yakusou\ ;
+種板 > taneita\ ;
+虫気 > mushike\ ;
+空席 > kuuseki\ ;
+測定 > sokutei\ ;
+流砂 > ryuusha\ ;
+湾内 > wan''nai\ ;
+愕然 > gakuzen\ ;
+種本 > tanehon\ ;
+神聖 > shinsei\ ;
+収賄 > shuuwai\ ;
+反賊 > hanzoku\ ;
+感激 > kangeki\ ;
+鶴首 > kakushu\ ;
+虫歯 > mushiba\ ;
+各藩 > kakuhan\ ;
+洪積 > kouseki\ ;
+競争 > kyousou\ ;
+口角 > koukaku\ ;
+窮地 > kyuuchi\ ;
+商店 > shouten\ ;
+氷面 > hyoumen\ ;
+重訳 > juuyaku\ ;
+鈍色 > nibiiro\ ;
+千鳥 > chidori\ ;
+叙説 > josetsu\ ;
+志集 > shishuu\ ;
+窪地 > kubochi\ ;
+憔悴 > shousui\ ;
+深慮 > shinryo\ ;
+福祉 > fukushi\ ;
+禎祥 > teishou\ ;
+気骨 > kikotsu\ ;
+種族 > shuzoku\ ;
+里親 > satooya\ ;
+商工 > shoukou\ ;
+減少 > genshou\ ;
+黒痣 > kuroaza\ ;
+醋酸 > sakusan\ ;
+麦笛 > mugibue\ ;
+君臣 > kunshin\ ;
+洞穴 > horaana\ ;
+懸吊 > kenchou\ ;
+銃猟 > juuryou\ ;
+心願 > shingan\ ;
+淫慾 > in''yoku\ ;
+浸潤 > shinjun\ ;
+満作 > mansaku\ ;
+古血 > furuchi\ ;
+憂戚 > yuuseki\ ;
+含羞 > ganshuu\ ;
+空将 > kuushou\ ;
+心頭 > shintou\ ;
+唐揚 > karaage\ ;
+戦中 > senchuu\ ;
+水陸 > suiriku\ ;
+占領 > senryou\ ;
+浸漬 > shinshi\ ;
+心音 > shin''on\ ;
+周知 > shuuchi\ ;
+啓学 > keigaku\ ;
+薫育 > kun''iku\ ;
+愁然 > shuuzen\ ;
+黄白 > kouhaku\ ;
+反証 > hanshou\ ;
+流用 > ryuuyou\ ;
+満了 > manryou\ ;
+流産 > ryuuzan\ ;
+積悪 > sekiaku\ ;
+鉛直 > enchoku\ ;
+悪策 > akusaku\ ;
+麦秋 > mugiaki\ ;
+金融 > kin''yuu\ ;
+必需 > hitsuju\ ;
+憂愁 > yuushuu\ ;
+神経 > shinkei\ ;
+心霊 > shinrei\ ;
+感泣 > kankyuu\ ;
+収覧 > shuuran\ ;
+同舟 > doushuu\ ;
+惇睦 > tonboku\ ;
+海深 > kaishin\ ;
+蛮境 > bankyou\ ;
+反覆 > hanpuku\ ;
+福相 > fukusou\ ;
+突如 > totsujo\ ;
+液晶 > ekishou\ ;
+同腹 > doufuku\ ;
+海流 > kairyuu\ ;
+各般 > kakuhan\ ;
+測地 > sokuchi\ ;
+憂心 > yuushin\ ;
+積弊 > sekihei\ ;
+虚業 > kyogyou\ ;
+油菜 > aburana\ ;
+半額 > hangaku\ ;
+決議 > ketsugi\ ;
+鉄石 > tesseki\ ;
+快適 > kaiteki\ ;
+積年 > sekinen\ ;
+浸水 > shinsui\ ;
+酷遇 > kokuguu\ ;
+秘決 > hiketsu\ ;
+快速 > kaisoku\ ;
+黙然 > mokunen\ ;
+酪酸 > rakusan\ ;
+神童 > shindou\ ;
+釉薬 > yuuyaku\ ;
+唱導 > shoudou\ ;
+告知 > kokuchi\ ;
+急行 > kyuukou\ ;
+商大 > shoudai\ ;
+深層 > shinsou\ ;
+商売 > shoubai\ ;
+恋草 > koigusa\ ;
+慶弔 > keichou\ ;
+酢酸 > sakusan\ ;
+求道 > kyuudou\ ;
+浦波 > uranami\ ;
+薬籠 > yakurou\ ;
+渉外 > shougai\ ;
+黒点 > kokuten\ ;
+黒炭 > kokutan\ ;
+水量 > suiryou\ ;
+空圧 > kuuatsu\ ;
+秋水 > shuusui\ ;
+右腕 > migiude\ ;
+口茶 > kuchija\ ;
+品格 > hinkaku\ ;
+徒食 > toshoku\ ;
+酪農 > rakunou\ ;
+薄肉 > usuniku\ ;
+召致 > shouchi\ ;
+北鮮 > hokusen\ ;
+黴毒 > baidoku\ ;
+黄熟 > koujuku\ ;
+呪物 > jubutsu\ ;
+快足 > kaisoku\ ;
+収蔵 > shuuzou\ ;
+古色 > koshoku\ ;
+浴槽 > yokusou\ ;
+涼感 > ryoukan\ ;
+金色 > konjiki\ ;
+酒量 > shuryou\ ;
+慢心 > manshin\ ;
+同級 > doukyuu\ ;
+原註 > genchuu\ ;
+愁歎 > shuutan\ ;
+口臭 > koushuu\ ;
+嚇々 > kakkaku\ ;
+悪症 > akushou\ ;
+悪病 > akubyou\ ;
+化骨 > kakotsu\ ;
+里芋 > satoimo\ ;
+醜行 > shuukou\ ;
+哨戒 > shoukai\ ;
+反落 > hanraku\ ;
+半鐘 > hanshou\ ;
+薬種 > yakushu\ ;
+口腹 > koufuku\ ;
+心酔 > shinsui\ ;
+心配 > shinpai\ ;
+禁獄 > kingoku\ ;
+氷輪 > hyourin\ ;
+感服 > kanpuku\ ;
+毒魚 > dokugyo\ ;
+禁猟 > kinryou\ ;
+重臣 > juushin\ ;
+善人 > zen''nin\ ;
+吸盤 > kyuuban\ ;
+蛮勇 > ban''yuu\ ;
+深奥 > shin''ou\ ;
+各紙 > kakushi\ ;
+私欲 > shiyoku\ ;
+鹿砦 > rokusai\ ;
+祉福 > shifuku\ ;
+叛臣 > hanshin\ ;
+社章 > shashou\ ;
+窮乏 > kyuubou\ ;
+浸染 > shinsen\ ;
+鋳工 > chuukou\ ;
+深夜 > shin''ya\ ;
+確認 > kakunin\ ;
+減収 > genshuu\ ;
+薬礼 > yakurei\ ;
+錨地 > byouchi\ ;
+薄縁 > usuberi\ ;
+治績 > chiseki\ ;
+消散 > shousan\ ;
+票田 > hyouden\ ;
+確言 > kakugen\ ;
+薄絹 > usuginu\ ;
+快諾 > kaidaku\ ;
+北風 > hokufuu\ ;
+薄給 > hakkyuu\ ;
+重聴 > juuchou\ ;
+商品 > shouhin\ ;
+快調 > kaichou\ ;
+銘柄 > meigara\ ;
+悪玉 > akudama\ ;
+秘曲 > hikyoku\ ;
+薄紙 > usugami\ ;
+薄紅 > usubeni\ ;
+称揚 > shouyou\ ;
+蓚酸 > shuusan\ ;
+渋味 > shibumi\ ;
+南進 > nanshin\ ;
+黙止 > mokushi\ ;
+銘木 > meiboku\ ;
+鉱毒 > koudoku\ ;
+名称 > meishou\ ;
+商号 > shougou\ ;
+怨色 > enshoku\ ;
+流汗 > ryuukan\ ;
+北面 > hokumen\ ;
+悉皆 > shikkai\ ;
+流水 > ryuusui\ ;
+突先 > tossaki\ ;
+活況 > kakkyou\ ;
+釈義 > shakugi\ ;
+復配 > fukuhai\ ;
+忠誠 > chuusei\ ;
+原虫 > genchuu\ ;
+各種 > kakushu\ ;
+史籍 > shiseki\ ;
+吉祥 > kisshou\ ;
+硫酸 > ryuusan\ ;
+懐中 > kaichuu\ ;
+単身 > tanshin\ ;
+弱齢 > jakurei\ ;
+鄭重 > teichou\ ;
+忠言 > chuugen\ ;
+泡盛 > awamori\ ;
+北限 > hokugen\ ;
+升遷 > shousen\ ;
+秋晴 > akibare\ ;
+穴凹 > anaboko\ ;
+金網 > kanaami\ ;
+号笛 > gouteki\ ;
+蛇口 > jaguchi\ ;
+黒檀 > kokutan\ ;
+淑女 > shukujo\ ;
+憂国 > yuukoku\ ;
+洗濯 > sentaku\ ;
+各社 > kakusha\ ;
+双翼 > souyoku\ ;
+半農 > han''nou\ ;
+禁漁 > kinryou\ ;
+口約 > kouyaku\ ;
+清勝 > seishou\ ;
+鈍痛 > dontsuu\ ;
+私服 > shifuku\ ;
+口糧 > kouryou\ ;
+金納 > kin''nou\ ;
+北門 > kitamon\ ;
+吸物 > suimono\ ;
+厚薄 > kouhaku\ ;
+鉱業 > kougyou\ ;
+十進 > jisshin\ ;
+薬用 > yakuyou\ ;
+永訣 > eiketsu\ ;
+積善 > sekizen\ ;
+銀杏 > gin''nan\ ;
+渡仏 > tofutsu\ ;
+硝酸 > shousan\ ;
+磊落 > rairaku\ ;
+虚心 > kyoshin\ ;
+減作 > gensaku\ ;
+半身 > hanshin\ ;
+情況 > joukyou\ ;
+洗滌 > sendeki\ ;
+氷解 > hyoukai\ ;
+名目 > meimoku\ ;
+句節 > kusetsu\ ;
+同省 > doushou\ ;
+津波 > tsunami\ ;
+収繭 > shuuken\ ;
+法的 > houteki\ ;
+泉石 > senseki\ ;
+沖縄 > okinawa\ ;
+民踊 > min''you\ ;
+虚弱 > kyojaku\ ;
+協賛 > kyousan\ ;
+即製 > sokusei\ ;
+金箔 > kinpaku\ ;
+古筆 > kohitsu\ ;
+後釜 > atogama\ ;
+深厚 > shinkou\ ;
+御輿 > mikoshi\ ;
+重篤 > juutoku\ ;
+添削 > tensaku\ ;
+金策 > kinsaku\ ;
+鉱柱 > kouchuu\ ;
+金筋 > kinsuji\ ;
+得道 > tokudou\ ;
+礦石 > kouseki\ ;
+郷関 > kyoukan\ ;
+重箱 > juubako\ ;
+各県 > kakuken\ ;
+厩舎 > kyuusha\ ;
+可祝 > kashiku\ ;
+同病 > doubyou\ ;
+情欲 > jouyoku\ ;
+収納 > shuunou\ ;
+空中 > kuuchuu\ ;
+黒板 > kokuban\ ;
+神灯 > shintou\ ;
+藁灰 > warabai\ ;
+同町 > douchou\ ;
+虫害 > chuugai\ ;
+感応 > kan''nou\ ;
+商会 > shoukai\ ;
+感心 > kanshin\ ;
+単調 > tanchou\ ;
+銃撃 > juugeki\ ;
+黄梢 > koushou\ ;
+感得 > kantoku\ ;
+惇樸 > tonboku\ ;
+石鯛 > ishidai\ ;
+醜聞 > shuubun\ ;
+商人 > shounin\ ;
+後逸 > kouitsu\ ;
+後進 > koushin\ ;
+重積 > juuseki\ ;
+台石 > daiishi\ ;
+卓論 > takuron\ ;
+殿閣 > denkaku\ ;
+薄皮 > usukawa\ ;
+厚臼 > atsuusu\ ;
+博覧 > hakuran\ ;
+単角 > tankaku\ ;
+虎巻 > torakan\ ;
+当限 > tougiri\ ;
+積分 > sekibun\ ;
+悄然 > shouzen\ ;
+民謡 > min''you\ ;
+錯乱 > sakuran\ ;
+黒斑 > kokuhan\ ;
+流星 > ryuusei\ ;
+治療 > chiryou\ ;
+史的 > shiteki\ ;
+混信 > konshin\ ;
+郡長 > gunchou\ ;
+単複 > tanpuku\ ;
+残高 > zandaka\ ;
+思索 > shisaku\ ;
+及第 > kyuudai\ ;
+秀才 > shuusai\ ;
+鉄橋 > tekkyou\ ;
+強風 > kyoufuu\ ;
+薪炭 > shintan\ ;
+混作 > konsaku\ ;
+金石 > kinseki\ ;
+鉄槌 > tettsui\ ;
+収税 > shuuzei\ ;
+惜敗 > sekihai\ ;
+稲叢 > inamura\ ;
+私慾 > shiyoku\ ;
+硬調 > kouchou\ ;
+半角 > hankaku\ ;
+彫金 > choukin\ ;
+毒酒 > dokushu\ ;
+浮彫 > ukibori\ ;
+秋思 > shuushi\ ;
+後足 > atoashi\ ;
+北辺 > hokuhen\ ;
+唯今 > tadaima\ ;
+釣瓶 > tsurube\ ;
+慟哭 > doukoku\ ;
+惑星 > wakusei\ ;
+半襟 > han''eri\ ;
+惇朴 > tonboku\ ;
+死魄 > shihaku\ ;
+強靭 > kyoujin\ ;
+吸水 > kyuusui\ ;
+確聞 > kakubun\ ;
+恋病 > koiyami\ ;
+金的 > kinteki\ ;
+深交 > shinkou\ ;
+周易 > shuueki\ ;
+矯風 > kyoufuu\ ;
+慶兆 > keichou\ ;
+半袖 > hansode\ ;
+吸殻 > suigara\ ;
+郷邑 > kyouyuu\ ;
+虫垂 > chuusui\ ;
+周旋 > shuusen\ ;
+正鵠 > seikoku\ ;
+民衆 > minshuu\ ;
+海峡 > kaikyou\ ;
+鉄柵 > tessaku\ ;
+鉄柱 > tetchuu\ ;
+毎週 > maishuu\ ;
+私心 > shishin\ ;
+神殿 > shinden\ ;
+残額 > zangaku\ ;
+息災 > sokusai\ ;
+弱電 > jakuden\ ;
+蔵米 > kuramai\ ;
+海山 > umiyama\ ;
+残響 > zankyou\ ;
+洋楽 > yougaku\ ;
+穀倉 > kokusou\ ;
+重症 > juushou\ ;
+重病 > juubyou\ ;
+薬液 > yakueki\ ;
+海将 > kaishou\ ;
+薄物 > usumono\ ;
+原級 > genkyuu\ ;
+重畳 > choujou\ ;
+薄片 > hakuhen\ ;
+黙想 > mokusou\ ;
+量産 > ryousan\ ;
+泥海 > doroumi\ ;
+鼻唄 > hanauta\ ;
+否決 > hiketsu\ ;
+御袋 > ofukuro\ ;
+怪石 > kaiseki\ ;
+水芸 > mizugei\ ;
+重用 > chouyou\ ;
+落首 > rakushu\ ;
+即興 > sokkyou\ ;
+秘密 > himitsu\ ;
+咫尺 > shiseki\ ;
+当量 > touryou\ ;
+収監 > shuukan\ ;
+卵膜 > ranmaku\ ;
+反目 > hanmoku\ ;
+水色 > mizuiro\ ;
+砲身 > houshin\ ;
+収益 > shuueki\ ;
+神権 > shinken\ ;
+原籍 > genseki\ ;
+悲曲 > hikyoku\ ;
+蕃神 > banshin\ ;
+針状 > harijou\ ;
+殉難 > jun''nan\ ;
+律語 > ritsugo\ ;
+銃床 > juushou\ ;
+黙思 > mokushi\ ;
+注水 > chuusui\ ;
+召状 > shoujou\ ;
+黙念 > mokunen\ ;
+恋猫 > koineko\ ;
+適齢 > tekirei\ ;
+武骨 > bukotsu\ ;
+和式 > washiki\ ;
+虜囚 > ryoshuu\ ;
+流感 > ryuukan\ ;
+銚子 > choushi\ ;
+禁教 > kinkyou\ ;
+単葉 > tan''you\ ;
+黙従 > mokujuu\ ;
+金玉 > kintama\ ;
+銀幕 > ginmaku\ ;
+薪水 > shinsui\ ;
+矢面 > yaomote\ ;
+税収 > zeishuu\ ;
+稲作 > inasaku\ ;
+洋服 > youfuku\ ;
+祭服 > saifuku\ ;
+性的 > seiteki\ ;
+収用 > shuuyou\ ;
+印肉 > in''niku\ ;
+性癖 > seiheki\ ;
+酒興 > shukyou\ ;
+弁駁 > benpaku\ ;
+蘭学 > rangaku\ ;
+名流 > meiryuu\ ;
+恵沢 > keitaku\ ;
+形跡 > keiseki\ ;
+同流 > douryuu\ ;
+重犯 > chouhan\ ;
+砂鉄 > satetsu\ ;
+性病 > seibyou\ ;
+告文 > kokubun\ ;
+心臓 > shinzou\ ;
+弔電 > chouden\ ;
+落雷 > rakurai\ ;
+双璧 > souheki\ ;
+悪方 > akugata\ ;
+鉱床 > koushou\ ;
+合流 > gouryuu\ ;
+落雁 > rakugan\ ;
+流弾 > ryuudan\ ;
+社歴 > shareki\ ;
+私宅 > shitaku\ ;
+落陽 > rakuyou\ ;
+重爆 > juubaku\ ;
+確答 > kakutou\ ;
+鳩首 > kyuushu\ ;
+私学 > shigaku\ ;
+参画 > sankaku\ ;
+勧農 > kan''nou\ ;
+原票 > genpyou\ ;
+正風 > shoufuu\ ;
+急用 > kyuuyou\ ;
+黒帯 > kuroobi\ ;
+動量 > douryou\ ;
+哨兵 > shouhei\ ;
+銀将 > ginshou\ ;
+叙爵 > joshaku\ ;
+心胆 > shintan\ ;
+情慾 > jouyoku\ ;
+北西 > hokusei\ ;
+浴場 > yokujou\ ;
+形象 > keishou\ ;
+気色 > kishoku\ ;
+心肝 > shinkan\ ;
+忠純 > chuujun\ ;
+磐石 > banjaku\ ;
+票数 > hyousuu\ ;
+口火 > kuchibi\ ;
+叔父 > shukufu\ ;
+反独 > handoku\ ;
+私娼 > shishou\ ;
+泥棒 > dorobou\ ;
+秋声 > shuusei\ ;
+神明 > shinmei\ ;
+汁粉 > shiruko\ ;
+弱酸 > jakusan\ ;
+海国 > kaikoku\ ;
+蔵相 > zoushou\ ;
+千草 > chigusa\ ;
+勘進 > kanshin\ ;
+博聞 > hakubun\ ;
+含有 > gan''yuu\ ;
+反物 > tanmono\ ;
+原石 > genseki\ ;
+卜者 > bokusha\ ;
+鳥類 > chourui\ ;
+称号 > shougou\ ;
+弁難 > ben''nan\ ;
+即納 > sokunou\ ;
+社業 > shagyou\ ;
+気脈 > kimyaku\ ;
+号泣 > goukyuu\ ;
+礼楽 > reigaku\ ;
+神政 > shinsei\ ;
+短針 > tanshin\ ;
+母親 > hahaoya\ ;
+酷税 > kokuzei\ ;
+移出 > ishutsu\ ;
+徳育 > tokuiku\ ;
+磁石 > jishaku\ ;
+残酷 > zankoku\ ;
+法楽 > houraku\ ;
+反照 > hanshou\ ;
+消去 > shoukyo\ ;
+醜男 > buotoko\ ;
+破裂 > haretsu\ ;
+水精 > suishou\ ;
+周年 > shuunen\ ;
+蔑称 > besshou\ ;
+消印 > keshiin\ ;
+同業 > dougyou\ ;
+私塾 > shijuku\ ;
+勧賞 > kanshou\ ;
+悪戯 > itazura\ ;
+動軸 > doujiku\ ;
+浅学 > sengaku\ ;
+碧空 > hekikuu\ ;
+劈頭 > hekitou\ ;
+厚相 > koushou\ ;
+力闘 > rikitou\ ;
+石造 > sekizou\ ;
+油気 > aburake\ ;
+蘭国 > rankoku\ ;
+心緒 > shincho\ ;
+可決 > kaketsu\ ;
+勇進 > yuushin\ ;
+即答 > sokutou\ ;
+弱輩 > jakuhai\ ;
+鉄心 > tesshin\ ;
+毛虫 > kemushi\ ;
+弔銃 > choujuu\ ;
+参照 > sanshou\ ;
+恋河 > koikawa\ ;
+配給 > haikyuu\ ;
+同格 > doukaku\ ;
+注文 > chuumon\ ;
+叱正 > shissei\ ;
+薬方 > yakuhou\ ;
+活字 > katsuji\ ;
+原由 > gen''yuu\ ;
+哀別 > aibetsu\ ;
+徒花 > adabana\ ;
+週齡 > shuurei\ ;
+礼服 > reifuku\ ;
+選集 > senshuu\ ;
+恋水 > koimizu\ ;
+哀切 > aisetsu\ ;
+合格 > goukaku\ ;
+愁嘆 > shuutan\ ;
+礦業 > kougyou\ ;
+海原 > unabara\ ;
+麻屑 > asakuzu\ ;
+古池 > furuike\ ;
+鶏肉 > keiniku\ ;
+法服 > houfuku\ ;
+勘責 > kanseki\ ;
+愚劣 > guretsu\ ;
+消光 > shoukou\ ;
+単級 > tankyuu\ ;
+名木 > meiboku\ ;
+短軸 > tanjiku\ ;
+勇躍 > yuuyaku\ ;
+醜状 > shuujou\ ;
+各校 > kakukou\ ;
+叢氷 > souhyou\ ;
+恋死 > koijini\ ;
+勧誘 > kan''yuu\ ;
+悪徳 > akutoku\ ;
+気絶 > kizetsu\ ;
+黒壇 > kokutan\ ;
+心算 > shinzan\ ;
+沈澱 > chinden\ ;
+強豪 > kyougou\ ;
+悪役 > akuyaku\ ;
+劈開 > hekikai\ ;
+悪形 > akugata\ ;
+心筋 > shinkin\ ;
+古歌 > furuuta\ ;
+落選 > rakusen\ ;
+沈潜 > chinsen\ ;
+神慮 > shinryo\ ;
+副題 > fukudai\ ;
+式部 > shikibu\ ;
+弓道 > kyuudou\ ;
+正銘 > shoumei\ ;
+卜筮 > bokuzei\ ;
+呂律 > roretsu\ ;
+葉身 > youshin\ ;
+徐脈 > jomyaku\ ;
+感傷 > kanshou\ ;
+碧眼 > hekigan\ ;
+後腹 > atobara\ ;
+洋弓 > youkyuu\ ;
+瞬間 > shunkan\ ;
+短足 > tansoku\ ;
+示教 > shikyou\ ;
+卿相 > keishou\ ;
+歴遊 > rekiyuu\ ;
+沈滞 > chintai\ ;
+同族 > douzoku\ ;
+剳青 > irezumi\ ;
+彬蔚 > hinutsu\ ;
+禅寺 > zendera\ ;
+後脚 > atoashi\ ;
+思潮 > shichou\ ;
+浮力 > furyoku\ ;
+磨滅 > mametsu\ ;
+死軸 > shijiku\ ;
+正金 > shoukin\ ;
+流域 > ryuuiki\ ;
+禅宗 > zenshuu\ ;
+鶴科 > tsuruka\ ;
+藩学 > hangaku\ ;
+恭敬 > kyoukei\ ;
+汎用 > han''you\ ;
+急減 > kyuugen\ ;
+神性 > shinsei\ ;
+悔悛 > kaishun\ ;
+禅学 > zengaku\ ;
+叔母 > shukubo\ ;
+式辞 > shikiji\ ;
+秀吟 > shuugin\ ;
+過食 > kashoku\ ;
+原爆 > genbaku\ ;
+鳥銃 > choujuu\ ;
+前髪 > maegami\ ;
+咀嚼 > soshaku\ ;
+租借 > soshaku\ ;
+殺虫 > satchuu\ ;
+勤行 > gongyou\ ;
+悖徳 > haitoku\ ;
+毒草 > dokusou\ ;
+卵白 > ranpaku\ ;
+秋分 > shuubun\ ;
+参洛 > sanraku\ ;
+咬傷 > koushou\ ;
+律義 > richigi\ ;
+秋冷 > shuurei\ ;
+強要 > kyouyou\ ;
+金棒 > kanabou\ ;
+薄明 > hakumei\ ;
+座骨 > zakotsu\ ;
+剣難 > ken''nan\ ;
+徴税 > chouzei\ ;
+復答 > fukutou\ ;
+勅諭 > chokuyu\ ;
+労賃 > rouchin\ ;
+弱視 > jakushi\ ;
+合掌 > gasshou\ ;
+勅語 > chokugo\ ;
+短調 > tanchou\ ;
+司教 > shikyou\ ;
+沈殿 > chinden\ ;
+鵬翼 > houyoku\ ;
+勅許 > chokkyo\ ;
+短評 > tanpyou\ ;
+秘仏 > hibutsu\ ;
+急死 > kyuushi\ ;
+強行 > kyoukou\ ;
+性欲 > seiyoku\ ;
+海亀 > umigame\ ;
+毒腺 > dokusen\ ;
+史料 > shiryou\ ;
+氷田 > hyouden\ ;
+心眼 > shingan\ ;
+邁進 > maishin\ ;
+古本 > furubon\ ;
+確然 > kakuzen\ ;
+洋学 > yougaku\ ;
+役者 > yakusha\ ;
+惰力 > daryoku\ ;
+反様 > kaisama\ ;
+民福 > minpuku\ ;
+前額 > zengaku\ ;
+海中 > kaichuu\ ;
+後続 > kouzoku\ ;
+古曲 > kokyoku\ ;
+遅霜 > osojimo\ ;
+周回 > shuukai\ ;
+洛外 > rakugai\ ;
+半神 > hanshin\ ;
+当落 > touraku\ ;
+酒癖 > shuheki\ ;
+邪説 > jasetsu\ ;
+欠除 > ketsujo\ ;
+氏神 > ujigami\ ;
+金曜 > kin''you\ ;
+段落 > danraku\ ;
+座食 > zashoku\ ;
+呻吟 > shingin\ ;
+鉄壁 > teppeki\ ;
+秋作 > akisaku\ ;
+千秋 > senshuu\ ;
+区立 > kuritsu\ ;
+忠犬 > chuuken\ ;
+各所 > kakusho\ ;
+劇道 > gekidou\ ;
+惨劇 > sangeki\ ;
+恋文 > koibumi\ ;
+銃傷 > juushou\ ;
+法悦 > houetsu\ ;
+知覚 > chikaku\ ;
+邦訳 > houyaku\ ;
+水球 > suikyuu\ ;
+私信 > shishin\ ;
+力走 > rikisou\ ;
+浦人 > urabito\ ;
+反核 > hankaku\ ;
+幽鳥 > yuuchou\ ;
+薬師 > yakushi\ ;
+神宝 > shinpou\ ;
+神官 > shinkan\ ;
+祝宴 > shukuen\ ;
+銀側 > gingawa\ ;
+取替 > torikae\ ;
+弔詞 > choushi\ ;
+占用 > sen''you\ ;
+前陳 > zenchin\ ;
+石蝋 > sekirou\ ;
+死角 > shikaku\ ;
+蓬生 > yomogiu\ ;
+流動 > ryuudou\ ;
+厄災 > yakusai\ ;
+叫換 > kyoukan\ ;
+怠業 > taigyou\ ;
+歴訪 > rekihou\ ;
+同心 > doushin\ ;
+原注 > genchuu\ ;
+逆鱗 > gekirin\ ;
+知行 > chigyou\ ;
+性格 > seikaku\ ;
+同役 > douyaku\ ;
+酸漿 > hoozuki\ ;
+吉徴 > kitchou\ ;
+歴覧 > rekiran\ ;
+水牢 > mizurou\ ;
+水牛 > suigyuu\ ;
+合従 > gasshou\ ;
+半白 > hanpaku\ ;
+鳥貝 > torigai\ ;
+池沼 > chishou\ ;
+配球 > haikyuu\ ;
+幽鬱 > yuuutsu\ ;
+水爆 > suibaku\ ;
+北米 > hokubei\ ;
+卓用 > takuyou\ ;
+蕃椒 > banshou\ ;
+剽軽 > hyoukin\ ;
+注射 > chuusha\ ;
+徴用 > chouyou\ ;
+酔狂 > suikyou\ ;
+咎人 > toganin\ ;
+葉蜂 > habachi\ ;
+心猿 > shin''en\ ;
+徳用 > tokuyou\ ;
+恰幅 > kappuku\ ;
+迷鳥 > meichou\ ;
+通風 > tsuufuu\ ;
+十目 > juumoku\ ;
+薄情 > hakujou\ ;
+正調 > seichou\ ;
+同席 > douseki\ ;
+参朝 > sanchou\ ;
+真黒 > makkuro\ ;
+劣角 > rekkaku\ ;
+薬害 > yakugai\ ;
+恢復 > kaifuku\ ;
+週間 > shuukan\ ;
+禄命 > rokumei\ ;
+古拙 > kosetsu\ ;
+刻限 > kokugen\ ;
+収斂 > shuuren\ ;
+神変 > shinpen\ ;
+氷点 > hyouten\ ;
+弁証 > benshou\ ;
+氷炭 > hyoutan\ ;
+歎賞 > tanshou\ ;
+吸塵 > kyuujin\ ;
+君寵 > kunchou\ ;
+干魚 > hoshiuo\ ;
+収支 > shuushi\ ;
+収攬 > shuuran\ ;
+各店 > kakuten\ ;
+卓球 > takkyuu\ ;
+恐慌 > kyoukou\ ;
+口承 > koushou\ ;
+厳格 > genkaku\ ;
+薄志 > hakushi\ ;
+禀告 > rinkoku\ ;
+周到 > shuutou\ ;
+汗水 > asemizu\ ;
+北端 > hokutan\ ;
+単独 > tandoku\ ;
+各市 > kakushi\ ;
+反撃 > hangeki\ ;
+流体 > ryuutai\ ;
+黒人 > kokujin\ ;
+彼程 > arehodo\ ;
+社宅 > shataku\ ;
+流会 > ryuukai\ ;
+半球 > hankyuu\ ;
+遊郭 > yuukaku\ ;
+道辺 > michibe\ ;
+店長 > tenchou\ ;
+恒心 > koushin\ ;
+武術 > bujutsu\ ;
+残菊 > zangiku\ ;
+名将 > meishou\ ;
+没我 > botsuga\ ;
+同小 > doushou\ ;
+流亡 > ryuubou\ ;
+初音 > hatsune\ ;
+都立 > toritsu\ ;
+后宮 > koukyuu\ ;
+別離 > betsuri\ ;
+従的 > juuteki\ ;
+命中 > meichuu\ ;
+破竹 > hachiku\ ;
+蒼白 > souhaku\ ;
+水滴 > suiteki\ ;
+量感 > ryoukan\ ;
+法学 > hougaku\ ;
+劇論 > gekiron\ ;
+卒爾 > sotsuji\ ;
+劇談 > gekidan\ ;
+思料 > shiryou\ ;
+硬球 > koukyuu\ ;
+力行 > ryokkou\ ;
+同宗 > doushuu\ ;
+蕃族 > banzoku\ ;
+禁則 > kinsoku\ ;
+選評 > senpyou\ ;
+礫岩 > rekigan\ ;
+各層 > kakusou\ ;
+別院 > betsuin\ ;
+同学 > dougaku\ ;
+磁極 > jikyoku\ ;
+通関 > tsuukan\ ;
+勝者 > shousha\ ;
+劇詩 > gekishi\ ;
+干飯 > hoshiii\ ;
+鉄則 > tessoku\ ;
+遅速 > chisoku\ ;
+碧水 > hekisui\ ;
+石臼 > ishiusu\ ;
+年額 > nengaku\ ;
+強肩 > kyouken\ ;
+台帳 > daichou\ ;
+水深 > suishin\ ;
+氷海 > hyoukai\ ;
+泰国 > taikoku\ ;
+別間 > betsuma\ ;
+汁気 > shiruke\ ;
+洛内 > rakunai\ ;
+毎秒 > maibyou\ ;
+微熱 > binetsu\ ;
+水浴 > suiyoku\ ;
+惑乱 > wakuran\ ;
+落葉 > rakuyou\ ;
+加虐 > kagyaku\ ;
+強者 > kyousha\ ;
+古式 > koshiki\ ;
+蒸留 > jouryuu\ ;
+重心 > juushin\ ;
+半熟 > hanjuku\ ;
+水流 > suiryuu\ ;
+真髄 > shinzui\ ;
+前進 > zenshin\ ;
+前週 > zenshuu\ ;
+原木 > genboku\ ;
+重役 > juuyaku\ ;
+叛心 > hanshin\ ;
+勤続 > kinzoku\ ;
+逼迫 > hippaku\ ;
+半焼 > hanshou\ ;
+神品 > shinpin\ ;
+厚板 > atsuita\ ;
+没後 > botsugo\ ;
+泥坊 > dorobou\ ;
+弱者 > jakusha\ ;
+卵殻 > rankaku\ ;
+金平 > kinpira\ ;
+危気 > abunage\ ;
+急所 > kyuusho\ ;
+殻竿 > karasao\ ;
+醇朴 > junboku\ ;
+取得 > shutoku\ ;
+即死 > sokushi\ ;
+鴇色 > tokiiro\ ;
+台尻 > daijiri\ ;
+君国 > kunkoku\ ;
+性慾 > seiyoku\ ;
+追随 > tsuizui\ ;
+勲章 > kunshou\ ;
+進退 > shintai\ ;
+連量 > renryou\ ;
+前身 > zenshin\ ;
+原料 > genryou\ ;
+死臭 > shishuu\ ;
+邑落 > yuuraku\ ;
+副詞 > fukushi\ ;
+合壁 > gappeki\ ;
+前蹤 > zenshou\ ;
+史学 > shigaku\ ;
+反応 > han''nou\ ;
+出額 > debitai\ ;
+刹那 > setsuna\ ;
+年長 > nenchou\ ;
+反復 > hanpuku\ ;
+出頭 > shuttou\ ;
+切除 > setsujo\ ;
+葭簀 > yoshizu\ ;
+凶類 > kyourui\ ;
+碇泊 > teihaku\ ;
+急患 > kyuukan\ ;
+前足 > maeashi\ ;
+吟唱 > ginshou\ ;
+洋傘 > yougasa\ ;
+研究 > kenkyuu\ ;
+進軍 > shingun\ ;
+性急 > seikyuu\ ;
+禁中 > kinchuu\ ;
+神剣 > shinken\ ;
+酒毒 > shudoku\ ;
+神前 > shinzen\ ;
+金属 > kinzoku\ ;
+急性 > kyuusei\ ;
+葦簾 > yoshizu\ ;
+薬品 > yakuhin\ ;
+沈思 > chinshi\ ;
+南洋 > nan''you\ ;
+同国 > doukoku\ ;
+死肉 > shiniku\ ;
+性徴 > seichou\ ;
+平鑿 > heisaku\ ;
+葦簀 > yoshizu\ ;
+勝算 > shousan\ ;
+金将 > kinshou\ ;
+思惑 > omowaku\ ;
+鳶色 > tobiiro\ ;
+石綿 > sekimen\ ;
+落胆 > rakutan\ ;
+鳥葬 > chousou\ ;
+危極 > kikyoku\ ;
+沢山 > takusan\ ;
+得点 > tokuten\ ;
+叉庫 > azekura\ ;
+酷暑 > kokusho\ ;
+双幅 > soufuku\ ;
+当確 > toukaku\ ;
+刺身 > sashimi\ ;
+広量 > kouryou\ ;
+各地 > kakuchi\ ;
+薄墨 > usuzumi\ ;
+泊地 > hakuchi\ ;
+厨房 > chuubou\ ;
+叛将 > hanshou\ ;
+各国 > kakkoku\ ;
+葦笛 > ashibue\ ;
+重宝 > chouhou\ ;
+量子 > ryoushi\ ;
+幕電 > makuden\ ;
+剥製 > hakusei\ ;
+醜態 > shuutai\ ;
+功臣 > koushin\ ;
+短絡 > tanraku\ ;
+薬包 > yakuhou\ ;
+民泊 > minpaku\ ;
+社告 > shakoku\ ;
+弁膜 > benmaku\ ;
+進貢 > shinkou\ ;
+常駐 > jouchuu\ ;
+醜悪 > shuuaku\ ;
+決心 > kesshin\ ;
+砕石 > saiseki\ ;
+正腹 > seifuku\ ;
+鳩舎 > kyuusha\ ;
+薬剤 > yakuzai\ ;
+比率 > hiritsu\ ;
+合唱 > gasshou\ ;
+勾留 > kouryuu\ ;
+別辞 > betsuji\ ;
+弊習 > heishuu\ ;
+役牛 > ekigyuu\ ;
+逍遥 > shouyou\ ;
+沼地 > numachi\ ;
+逍遙 > shouyou\ ;
+莫連 > bakuren\ ;
+法名 > houmyou\ ;
+廷臣 > teishin\ ;
+石筍 > sekijun\ ;
+神体 > shintai\ ;
+収容 > shuuyou\ ;
+悠久 > yuukyuu\ ;
+治国 > chikoku\ ;
+初速 > shosoku\ ;
+名号 > myougou\ ;
+心棒 > shinbou\ ;
+神仙 > shinsen\ ;
+進講 > shinkou\ ;
+法博 > houhaku\ ;
+神人 > shinjin\ ;
+逆運 > gyakuun\ ;
+眉雪 > bisetsu\ ;
+選良 > senryou\ ;
+凸鏡 > tokkyou\ ;
+蒸溜 > jouryuu\ ;
+合口 > aikuchi\ ;
+社則 > shasoku\ ;
+欝血 > ukketsu\ ;
+水晶 > suishou\ ;
+荒駒 > aragoma\ ;
+名匠 > meishou\ ;
+永日 > eijitsu\ ;
+殺生 > sesshou\ ;
+即断 > sokudan\ ;
+分針 > funshin\ ;
+千歳 > chitose\ ;
+分量 > bunryou\ ;
+名勝 > meishou\ ;
+別路 > betsuro\ ;
+法力 > houriki\ ;
+比熱 > hinetsu\ ;
+勤皇 > kin''nou\ ;
+強硬 > kyoukou\ ;
+法則 > housoku\ ;
+進言 > shingen\ ;
+廃虚 > haikyo\ ;
+忿怒 > fun''nu\ ;
+送迎 > sougei\ ;
+迅雷 > jinrai\ ;
+志操 > shisou\ ;
+通貨 > tsuuka\ ;
+名刺 > meishi\ ;
+同前 > douzen\ ;
+礼典 > reiten\ ;
+前衛 > zen''ei\ ;
+矢筈 > yahazu\ ;
+金坑 > kinkou\ ;
+原形 > genkei\ ;
+復権 > fukken\ ;
+前行 > zenkou\ ;
+名分 > meibun\ ;
+形状 > keijou\ ;
+列車 > ressha\ ;
+名刀 > meitou\ ;
+廃藩 > haihan\ ;
+配本 > haihon\ ;
+厚志 > koushi\ ;
+薄味 > hakumi\ ;
+社僧 > shasou\ ;
+合剤 > gouzai\ ;
+同処 > dousho\ ;
+法典 > houten\ ;
+社債 > shasai\ ;
+年輪 > nenrin\ ;
+年輩 > nenpai\ ;
+磁心 > jishin\ ;
+分遣 > bunken\ ;
+友好 > yuukou\ ;
+勤番 > kinban\ ;
+石碑 > sekihi\ ;
+合切 > gassai\ ;
+退転 > taiten\ ;
+正編 > seihen\ ;
+反変 > hanpen\ ;
+叱咤 > shitta\ ;
+同党 > doutou\ ;
+幽趣 > yuushu\ ;
+加給 > kakyuu\ ;
+名優 > meiyuu\ ;
+厳封 > genpuu\ ;
+帯電 > taiden\ ;
+律法 > rippou\ ;
+凌雲 > ryouun\ ;
+快感 > kaikan\ ;
+選考 > senkou\ ;
+矢種 > yadane\ ;
+汎愛 > han''ai\ ;
+強盗 > goutou\ ;
+厳寒 > genkan\ ;
+量器 > ryouki\ ;
+名僧 > meisou\ ;
+正統 > seitou\ ;
+遊蕩 > yuutou\ ;
+決定 > kettei\ ;
+蒸民 > joumin\ ;
+弾痕 > dankon\ ;
+重噸 > juuton\ ;
+迂闊 > ukatsu\ ;
+造詣 > zoukei\ ;
+淡々 > tantan\ ;
+厳守 > genshu\ ;
+台名 > taimei\ ;
+厳存 > genson\ ;
+正系 > seikei\ ;
+邪神 > jashin\ ;
+辺陬 > hensuu\ ;
+造言 > zougen\ ;
+逃走 > tousou\ ;
+通語 > tsuugo\ ;
+分載 > bunsai\ ;
+酸性 > sansei\ ;
+相関 > soukan\ ;
+後段 > koudan\ ;
+社会 > shakai\ ;
+通話 > tsuuwa\ ;
+復校 > fukkou\ ;
+同値 > douchi\ ;
+切身 > kirimi\ ;
+君主 > kunshu\ ;
+草鞋 > waraji\ ;
+法例 > hourei\ ;
+河原 > kawara\ ;
+制裁 > seisai\ ;
+南方 > nanpou\ ;
+北海 > hokkai\ ;
+忠愛 > chuuai\ ;
+金員 > kin''in\ ;
+単文 > tanbun\ ;
+確度 > kakudo\ ;
+民望 > minbou\ ;
+薄利 > hakuri\ ;
+社交 > shakou\ ;
+微服 > bifuku\ ;
+求愛 > kyuuai\ ;
+単数 > tansuu\ ;
+必携 > hikkei\ ;
+金品 > kinpin\ ;
+劣等 > rettou\ ;
+盤面 > banmen\ ;
+匠気 > shouki\ ;
+動産 > dousan\ ;
+延納 > en''nou\ ;
+砕片 > saihen\ ;
+真逆 > masaka\ ;
+同体 > doutai\ ;
+河北 > kahoku\ ;
+社主 > shashu\ ;
+南支 > nanshi\ ;
+口吻 > koufun\ ;
+弾琴 > dankin\ ;
+師門 > shimon\ ;
+気早 > kibaya\ ;
+法令 > hourei\ ;
+急場 > kyuuba\ ;
+同伴 > douhan\ ;
+連衡 > renkou\ ;
+口吟 > kougin\ ;
+連行 > renkou\ ;
+法人 > houjin\ ;
+冷静 > reisei\ ;
+返金 > henkin\ ;
+参堂 > sandou\ ;
+快弁 > kaiben\ ;
+忠恕 > chuujo\ ;
+召募 > shoubo\ ;
+合併 > gouhei\ ;
+吐乳 > tonyuu\ ;
+迷走 > meisou\ ;
+正答 > seitou\ ;
+名人 > meijin\ ;
+合体 > gattai\ ;
+薄光 > hakkou\ ;
+蔓延 > man''en\ ;
+当然 > touzen\ ;
+反噬 > hanzei\ ;
+原寸 > gensun\ ;
+同仁 > doujin\ ;
+同人 > dounin\ ;
+典麗 > tenrei\ ;
+向上 > koujou\ ;
+巣鶏 > sudori\ ;
+十本 > juppon\ ;
+廃艦 > haikan\ ;
+江山 > kouzan\ ;
+座薬 > zayaku\ ;
+萎縮 > ishuku\ ;
+重合 > juugou\ ;
+広言 > kougen\ ;
+廃船 > haisen\ ;
+廐肥 > kyuuhi\ ;
+同乗 > doujou\ ;
+応急 > oukyuu\ ;
+金印 > kin''in\ ;
+遊芸 > yuugei\ ;
+残痕 > zankon\ ;
+前著 > zencho\ ;
+菖蒲 > shoubu\ ;
+野原 > nohara\ ;
+決壊 > kekkai\ ;
+原子 > genshi\ ;
+毛氈 > mousen\ ;
+占拠 > senkyo\ ;
+同上 > doujou\ ;
+別製 > bessei\ ;
+弊社 > heisha\ ;
+比況 > hikyou\ ;
+透視 > toushi\ ;
+半数 > hansuu\ ;
+醜女 > shuujo\ ;
+効目 > kikime\ ;
+民政 > minsei\ ;
+鳴禽 > meikin\ ;
+民放 > minpou\ ;
+近郷 > kingou\ ;
+酒手 > sakate\ ;
+返還 > henkan\ ;
+弓矢 > yumiya\ ;
+前菜 > zensai\ ;
+反問 > hanmon\ ;
+処遇 > shoguu\ ;
+心技 > shingi\ ;
+近郊 > kinkou\ ;
+薄倖 > hakkou\ ;
+初見 > shoken\ ;
+欠航 > kekkou\ ;
+盗電 > touden\ ;
+巨鯨 > kyogei\ ;
+沃土 > yokudo\ ;
+巻首 > kanshu\ ;
+出足 > deashi\ ;
+残生 > zansei\ ;
+北欧 > hokuou\ ;
+盗難 > tounan\ ;
+加禄 > karoku\ ;
+号俸 > gouhou\ ;
+死相 > shisou\ ;
+危急 > kikyuu\ ;
+剛臆 > gouoku\ ;
+弾片 > danpen\ ;
+県道 > kendou\ ;
+即応 > sokuou\ ;
+武神 > bushin\ ;
+返送 > hensou\ ;
+復改 > fukkai\ ;
+金剛 > kongou\ ;
+幣貢 > heikou\ ;
+配所 > haisho\ ;
+卵形 > rankei\ ;
+金券 > kinken\ ;
+酔態 > suitai\ ;
+幻視 > genshi\ ;
+巨魁 > kyokai\ ;
+蕃地 > banchi\ ;
+十数 > juusuu\ ;
+汽圧 > kiatsu\ ;
+凡退 > bontai\ ;
+達者 > tassha\ ;
+従来 > juurai\ ;
+選管 > senkan\ ;
+分譲 > bunjou\ ;
+司会 > shikai\ ;
+御料 > goryou\ ;
+円高 > endaka\ ;
+近辺 > kinpen\ ;
+原始 > genshi\ ;
+口内 > kounai\ ;
+出費 > shuppi\ ;
+金冠 > kinkan\ ;
+印形 > ingyou\ ;
+司令 > shirei\ ;
+重刑 > juukei\ ;
+追訴 > tsuiso\ ;
+号令 > gourei\ ;
+加硫 > karyuu\ ;
+剛胆 > goutan\ ;
+金具 > kanagu\ ;
+収受 > shuuju\ ;
+配慮 > hairyo\ ;
+迷論 > meiron\ ;
+毎毎 > maimai\ ;
+追記 > tsuiki\ ;
+睡蓮 > suiren\ ;
+心意 > shin''i\ ;
+割線 > kassen\ ;
+切諌 > sekkan\ ;
+忘年 > bounen\ ;
+即座 > sokuza\ ;
+巻頭 > kantou\ ;
+効用 > kouyou\ ;
+劫盗 > goutou\ ;
+蒲柳 > horyuu\ ;
+恒例 > kourei\ ;
+史伝 > shiden\ ;
+忍従 > ninjuu\ ;
+酷寒 > kokkan\ ;
+市電 > shiden\ ;
+勇猛 > yuumou\ ;
+毬果 > kyuuka\ ;
+荷足 > niashi\ ;
+常道 > joudou\ ;
+分詞 > bunshi\ ;
+治乱 > chiran\ ;
+卵巣 > ransou\ ;
+死産 > shizan\ ;
+死生 > shisei\ ;
+博愛 > hakuai\ ;
+常連 > jouren\ ;
+冒頭 > boutou\ ;
+性向 > seikou\ ;
+帰郷 > kikyou\ ;
+水平 > suihei\ ;
+治世 > chisei\ ;
+引用 > in''you\ ;
+鮮麗 > senrei\ ;
+目釘 > mekugi\ ;
+反動 > handou\ ;
+前腕 > maeude\ ;
+史乗 > shijou\ ;
+分解 > bunkai\ ;
+参向 > sankou\ ;
+右上 > migiue\ ;
+遣米 > kenbei\ ;
+古俗 > kozoku\ ;
+後景 > koukei\ ;
+史上 > shijou\ ;
+厖大 > boudai\ ;
+退行 > taikou\ ;
+可也 > kanari\ ;
+平衡 > heikou\ ;
+座興 > zakyou\ ;
+正眼 > seigan\ ;
+平行 > heikou\ ;
+待望 > taibou\ ;
+磁壁 > jiheki\ ;
+差額 > sagaku\ ;
+残片 > zanpen\ ;
+句作 > kusaku\ ;
+後昆 > koukon\ ;
+正目 > masame\ ;
+矢玉 > yadama\ ;
+十指 > jusshi\ ;
+単性 > tansei\ ;
+原型 > genkei\ ;
+毛根 > moukon\ ;
+市門 > shimon\ ;
+蒸散 > jousan\ ;
+後方 > kouhou\ ;
+配当 > haitou\ ;
+加療 > karyou\ ;
+律旋 > rissen\ ;
+口伝 > kouden\ ;
+酒店 > shuten\ ;
+師道 > shidou\ ;
+底荷 > sokoni\ ;
+刊行 > kankou\ ;
+出訴 > shusso\ ;
+博徒 > bakuto\ ;
+廃線 > haisen\ ;
+砂漠 > sabaku\ ;
+急募 > kyuubo\ ;
+弱火 > yowabi\ ;
+前者 > zensha\ ;
+急務 > kyuumu\ ;
+巨頭 > kyotou\ ;
+葉物 > hamono\ ;
+分袂 > bunbei\ ;
+円頂 > enchou\ ;
+気息 > kisoku\ ;
+後攻 > koukou\ ;
+鳩目 > hatome\ ;
+重体 > juutai\ ;
+厳命 > genmei\ ;
+冒険 > bouken\ ;
+原因 > gen''in\ ;
+内項 > naikou\ ;
+前翅 > zenshi\ ;
+度胸 > dokyou\ ;
+看貫 > kankan\ ;
+卑怯 > hikyou\ ;
+博引 > hakuin\ ;
+機長 > kichou\ ;
+割符 > warifu\ ;
+気性 > kishou\ ;
+十戒 > jikkai\ ;
+友党 > yuutou\ ;
+受信 > jushin\ ;
+目途 > mokuto\ ;
+農道 > noudou\ ;
+石灰 > sekkai\ ;
+民情 > minjou\ ;
+厚地 > atsuji\ ;
+重任 > juunin\ ;
+迎賓 > geihin\ ;
+厳君 > genkun\ ;
+前置 > zenchi\ ;
+重代 > juudai\ ;
+列藩 > reppan\ ;
+鳥目 > torime\ ;
+単弁 > tanben\ ;
+段段 > dandan\ ;
+水屋 > mizuya\ ;
+往昔 > ouseki\ ;
+金主 > kinshu\ ;
+破格 > hakaku\ ;
+千慮 > senryo\ ;
+去勢 > kyosei\ ;
+口上 > koujou\ ;
+当歳 > tousai\ ;
+皮革 > hikaku\ ;
+内面 > naimen\ ;
+巷間 > koukan\ ;
+冷酒 > reishu\ ;
+卵子 > ranshi\ ;
+怪光 > kaikou\ ;
+兼題 > kendai\ ;
+檀那 > dan''na\ ;
+野中 > nonaka\ ;
+造船 > zousen\ ;
+参内 > sandai\ ;
+水害 > suigai\ ;
+徹底 > tettei\ ;
+気弱 > kiyowa\ ;
+叛乱 > hanran\ ;
+御慶 > gyokei\ ;
+県警 > kenkei\ ;
+帝道 > teidou\ ;
+別荘 > bessou\ ;
+碁席 > goseki\ ;
+初葉 > shoyou\ ;
+彼方 > kanata\ ;
+盟邦 > meihou\ ;
+快報 > kaihou\ ;
+厭厭 > iyaiya\ ;
+水子 > mizugo\ ;
+再開 > saikai\ ;
+遠称 > enshou\ ;
+北方 > hoppou\ ;
+内陣 > naijin\ ;
+半径 > hankei\ ;
+葛湯 > kuzuyu\ ;
+鮮魚 > sengyo\ ;
+冷遇 > reiguu\ ;
+半影 > han''ei\ ;
+反例 > hanrei\ ;
+巣雛 > suhina\ ;
+微弱 > bijaku\ ;
+郷村 > gouson\ ;
+硬性 > kousei\ ;
+酒屋 > sakaya\ ;
+公館 > koukan\ ;
+前編 > zenpen\ ;
+退蔵 > taizou\ ;
+凝議 > gyougi\ ;
+前線 > zensen\ ;
+歯状 > shijou\ ;
+川面 > kawamo\ ;
+原品 > genpin\ ;
+引照 > inshou\ ;
+占居 > senkyo\ ;
+全館 > zenkan\ ;
+厳刑 > genkei\ ;
+近詠 > kin''ei\ ;
+蒙昧 > moumai\ ;
+残滓 > zanshi\ ;
+沙丘 > sakyuu\ ;
+死点 > shiten\ ;
+相貌 > soubou\ ;
+送葬 > sousou\ ;
+白魔 > hakuma\ ;
+卜居 > bokkyo\ ;
+碍子 > gaishi\ ;
+毎晩 > maiban\ ;
+厳冬 > gentou\ ;
+死灰 > shikai\ ;
+友人 > yuujin\ ;
+益金 > ekikin\ ;
+労災 > rousai\ ;
+反乱 > hanran\ ;
+南岸 > nangan\ ;
+着荷 > chakka\ ;
+友交 > yuukou\ ;
+葦毛 > ashige\ ;
+次第 > shidai\ ;
+厚味 > atsumi\ ;
+兵難 > heinan\ ;
+即夜 > sokuya\ ;
+形木 > katagi\ ;
+師資 > shishi\ ;
+南山 > nanzan\ ;
+志士 > shishi\ ;
+看視 > kanshi\ ;
+近視 > kinshi\ ;
+巌頭 > gantou\ ;
+茶道 > chadou\ ;
+次章 > jishou\ ;
+具陳 > guchin\ ;
+怪人 > kaijin\ ;
+登高 > toukou\ ;
+盤踞 > bankyo\ ;
+兵隊 > heitai\ ;
+連署 > rensho\ ;
+正犯 > seihan\ ;
+単射 > tansha\ ;
+参会 > sankai\ ;
+劇画 > gekiga\ ;
+全音 > zen''on\ ;
+卵塔 > rantou\ ;
+党首 > toushu\ ;
+過称 > kashou\ ;
+性交 > seikou\ ;
+十干 > jikkan\ ;
+英領 > eiryou\ ;
+卑屬 > hizoku\ ;
+巨鐘 > oogane\ ;
+横領 > ouryou\ ;
+卑属 > hizoku\ ;
+石油 > sekiyu\ ;
+廻状 > kaijou\ ;
+前篇 > zenpen\ ;
+達磨 > daruma\ ;
+原動 > gendou\ ;
+南宋 > nansou\ ;
+公電 > kouden\ ;
+弱気 > yowaki\ ;
+全面 > zenmen\ ;
+御幸 > miyuki\ ;
+徘徊 > haikai\ ;
+郵政 > yuusei\ ;
+半島 > hantou\ ;
+卑小 > hishou\ ;
+白馬 > hakuba\ ;
+相談 > soudan\ ;
+欝積 > usseki\ ;
+征戦 > seisen\ ;
+割目 > wareme\ ;
+菌糸 > kinshi\ ;
+全霊 > zenrei\ ;
+後患 > koukan\ ;
+市道 > shidou\ ;
+連繋 > renkei\ ;
+当板 > ateita\ ;
+参与 > san''yo\ ;
+後悔 > koukai\ ;
+参上 > sanjou\ ;
+沈下 > chinka\ ;
+真薯 > shinjo\ ;
+函蓋 > kangai\ ;
+原初 > gensho\ ;
+前端 > zentan\ ;
+快哉 > kaisai\ ;
+気学 > kigaku\ ;
+水域 > suiiki\ ;
+微少 > bishou\ ;
+微小 > bishou\ ;
+全隊 > zentai\ ;
+送致 > souchi\ ;
+連綿 > renmen\ ;
+創痕 > soukon\ ;
+欲目 > yokume\ ;
+得度 > tokudo\ ;
+従弟 > juutei\ ;
+部族 > buzoku\ ;
+蕃人 > banjin\ ;
+菜種 > natane\ ;
+直訴 > jikiso\ ;
+原典 > genten\ ;
+公開 > koukai\ ;
+鱗茎 > rinkei\ ;
+入院 > nyuuin\ ;
+短毛 > tanmou\ ;
+幻肢 > genshi\ ;
+荒誕 > koutan\ ;
+初老 > shorou\ ;
+酷吏 > kokuri\ ;
+連累 > renrui\ ;
+死海 > shikai\ ;
+蕃主 > banshu\ ;
+師訓 > shikun\ ;
+権限 > kengen\ ;
+勘検 > kanken\ ;
+遺物 > ibutsu\ ;
+准許 > junkyo\ ;
+酒場 > sakaba\ ;
+全開 > zenkai\ ;
+殉死 > junshi\ ;
+原像 > genzou\ ;
+延焼 > enshou\ ;
+目許 > memoto\ ;
+水嚢 > suinou\ ;
+当方 > touhou\ ;
+出荷 > shukka\ ;
+真菰 > makomo\ ;
+元首 > genshu\ ;
+南天 > nanten\ ;
+目角 > mekado\ ;
+再選 > saisen\ ;
+廃盤 > haiban\ ;
+硫安 > ryuuan\ ;
+機軸 > kijiku\ ;
+勢望 > seibou\ ;
+権門 > kenmon\ ;
+銘々 > meimei\ ;
+勘案 > kan''an\ ;
+後年 > kounen\ ;
+医局 > ikyoku\ ;
+再遊 > saiyuu\ ;
+砲手 > houshu\ ;
+白露 > hakuro\ ;
+花鳥 > kachou\ ;
+追肥 > tsuihi\ ;
+勘校 > kankou\ ;
+念写 > nensha\ ;
+知歯 > chishi\ ;
+帆走 > hansou\ ;
+往復 > oufuku\ ;
+石榴 > zakuro\ ;
+白雲 > hakuun\ ;
+再送 > saisou\ ;
+光頭 > koutou\ ;
+律師 > risshi\ ;
+愈々 > iyoiyo\ ;
+兵鋒 > heihou\ ;
+出花 > debana\ ;
+歩測 > hosoku\ ;
+先頭 > sentou\ ;
+広縁 > hiroen\ ;
+浪々 > rourou\ ;
+力演 > rikien\ ;
+邪欲 > jayoku\ ;
+心土 > shindo\ ;
+微妙 > bimyou\ ;
+径庭 > keitei\ ;
+別紙 > besshi\ ;
+応召 > oushou\ ;
+出船 > defune\ ;
+酷刑 > kokkei\ ;
+快刀 > kaitou\ ;
+石棺 > sekkan\ ;
+先鞭 > senben\ ;
+巧遅 > kouchi\ ;
+座礁 > zashou\ ;
+選炭 > sentan\ ;
+弁済 > bensai\ ;
+半天 > hanten\ ;
+志向 > shikou\ ;
+監視 > kanshi\ ;
+出臍 > debeso\ ;
+彷徨 > houkou\ ;
+半夜 > han''ya\ ;
+制空 > seikuu\ ;
+原人 > genjin\ ;
+再転 > saiten\ ;
+形成 > keisei\ ;
+市販 > shihan\ ;
+州都 > shuuto\ ;
+光電 > kouden\ ;
+硝安 > shouan\ ;
+初経 > shokei\ ;
+半壊 > hankai\ ;
+弔歌 > chouka\ ;
+近著 > kincho\ ;
+落款 > rakkan\ ;
+切羽 > kiriha\ ;
+硝子 > garasu\ ;
+幹線 > kansen\ ;
+都心 > toshin\ ;
+確保 > kakuho\ ;
+歳歳 > saisai\ ;
+充電 > juuden\ ;
+池亭 > chitei\ ;
+内輪 > uchiwa\ ;
+運用 > un''you\ ;
+盛観 > seikan\ ;
+千夜 > sen''ya\ ;
+序章 > joshou\ ;
+制禦 > seigyo\ ;
+分署 > bunsho\ ;
+形態 > keitai\ ;
+硬変 > kouhen\ ;
+先陣 > senjin\ ;
+気圧 > kiatsu\ ;
+公金 > koukin\ ;
+鳥渡 > chotto\ ;
+遅番 > osoban\ ;
+力泳 > rikiei\ ;
+正油 > shouyu\ ;
+印匣 > inbako\ ;
+即効 > sokkou\ ;
+荷船 > nibune\ ;
+広範 > kouhan\ ;
+石木 > ishiki\ ;
+江上 > koujou\ ;
+即功 > sokkou\ ;
+碩儒 > sekiju\ ;
+著書 > chosho\ ;
+川辺 > kawabe\ ;
+鳩派 > hatoha\ ;
+母御 > hahago\ ;
+鄭声 > teisei\ ;
+砲弾 > houdan\ ;
+当所 > tousho\ ;
+盛装 > seisou\ ;
+芳香 > houkou\ ;
+快便 > kaiben\ ;
+水勢 > suisei\ ;
+都庁 > tochou\ ;
+六部 > rokubu\ ;
+止水 > shisui\ ;
+鮮鋭 > sen''ei\ ;
+酒名 > shumei\ ;
+盛衰 > seisui\ ;
+民団 > mindan\ ;
+芸風 > geifuu\ ;
+弦材 > genzai\ ;
+初等 > shotou\ ;
+公邸 > koutei\ ;
+印刻 > inkoku\ ;
+割烹 > kappou\ ;
+蓮台 > rendai\ ;
+正殿 > seiden\ ;
+冠詞 > kanshi\ ;
+再販 > saihan\ ;
+切線 > sessen\ ;
+剣状 > kenjou\ ;
+卵円 > ran''en\ ;
+酷似 > kokuji\ ;
+別種 > besshu\ ;
+睥睨 > heigei\ ;
+葉柄 > youhei\ ;
+著明 > chomei\ ;
+従姉 > juushi\ ;
+殺意 > satsui\ ;
+辞表 > jihyou\ ;
+公選 > kousen\ ;
+従妹 > juumai\ ;
+利福 > rifuku\ ;
+占取 > senshu\ ;
+歯槽 > shisou\ ;
+真義 > shingi\ ;
+毎年 > mainen\ ;
+残暑 > zansho\ ;
+公道 > koudou\ ;
+正正 > seisei\ ;
+平米 > heibei\ ;
+配合 > haigou\ ;
+水分 > suibun\ ;
+真美 > shinbi\ ;
+幄舎 > akusha\ ;
+魚鱗 > gyorin\ ;
+矢柄 > yagara\ ;
+入部 > nyuubu\ ;
+石斧 > sekifu\ ;
+冗談 > joudan\ ;
+水冷 > suirei\ ;
+兵車 > heisha\ ;
+矮星 > waisei\ ;
+蒼天 > souten\ ;
+全道 > zendou\ ;
+幼童 > youdou\ ;
+轟轟 > gougou\ ;
+睡眠 > suimin\ ;
+巨資 > kyoshi\ ;
+葉書 > hagaki\ ;
+公辺 > kouhen\ ;
+包帯 > houtai\ ;
+厄介 > yakkai\ ;
+民営 > min''ei\ ;
+勇断 > yuudan\ ;
+動揺 > douyou\ ;
+殿御 > tonogo\ ;
+水兵 > suihei\ ;
+十回 > jukkai\ ;
+十四 > juuyon\ ;
+巨財 > kyozai\ ;
+協和 > kyouwa\ ;
+幽窓 > yuusou\ ;
+川路 > kawaji\ ;
+巷談 > koudan\ ;
+目蓋 > mabuta\ ;
+勇敢 > yuukan\ ;
+巨象 > kyozou\ ;
+権道 > kendou\ ;
+冗言 > jougen\ ;
+短文 > tanbun\ ;
+欠片 > kakera\ ;
+連盟 > renmei\ ;
+幼稚 > youchi\ ;
+後天 > kouten\ ;
+具足 > gusoku\ ;
+鱗粉 > rinpun\ ;
+化学 > kagaku\ ;
+遵法 > junpou\ ;
+白金 > hakkin\ ;
+公転 > kouten\ ;
+適温 > tekion\ ;
+南半 > nanhan\ ;
+逸球 > ikkyuu\ ;
+配剤 > haizai\ ;
+皇道 > koudou\ ;
+歯根 > shikon\ ;
+卒去 > sokkyo\ ;
+再誕 > saitan\ ;
+先鋭 > sen''ei\ ;
+選民 > senmin\ ;
+市街 > shigai\ ;
+嵩高 > suukou\ ;
+先鋒 > senpou\ ;
+真綿 > mawata\ ;
+欣然 > kinzen\ ;
+後塵 > koujin\ ;
+全軍 > zengun\ ;
+送稿 > soukou\ ;
+冷蔵 > reizou\ ;
+配分 > haibun\ ;
+復員 > fukuin\ ;
+出納 > suitou\ ;
+処置 > shochi\ ;
+徘回 > haikai\ ;
+迷答 > meitou\ ;
+発酵 > hakkou\ ;
+再訪 > saihou\ ;
+後報 > kouhou\ ;
+草葉 > kusaba\ ;
+彩層 > saisou\ ;
+年税 > nenzei\ ;
+再訂 > saitei\ ;
+苛酷 > kakoku\ ;
+強打 > kyouda\ ;
+邪教 > jakyou\ ;
+矢文 > yabumi\ ;
+内談 > naidan\ ;
+氏名 > shimei\ ;
+具象 > gushou\ ;
+真紅 > shinku\ ;
+卓効 > takkou\ ;
+艦齢 > kanrei\ ;
+勤怠 > kintai\ ;
+即今 > sokkon\ ;
+連番 > renban\ ;
+徴募 > choubo\ ;
+邦文 > houbun\ ;
+当店 > touten\ ;
+欠点 > ketten\ ;
+弊村 > heison\ ;
+当年 > tounen\ ;
+年祭 > nensai\ ;
+彼女 > kanojo\ ;
+死斑 > shihan\ ;
+荷縄 > ninawa\ ;
+死文 > shibun\ ;
+荏苒 > jinzen\ ;
+歳晩 > saiban\ ;
+包容 > houyou\ ;
+農芸 > nougei\ ;
+年礼 > nenrei\ ;
+弔旗 > chouki\ ;
+退社 > taisha\ ;
+半半 > hanhan\ ;
+別盃 > beppai\ ;
+過激 > kageki\ ;
+内訓 > naikun\ ;
+皇軍 > kougun\ ;
+内訌 > naikou\ ;
+水仙 > suisen\ ;
+草草 > sousou\ ;
+却下 > kyakka\ ;
+動態 > doutai\ ;
+再製 > saisei\ ;
+歳星 > saisei\ ;
+強慢 > gouman\ ;
+巧言 > kougen\ ;
+希薄 > kihaku\ ;
+単元 > tangen\ ;
+遠浅 > tooasa\ ;
+轆轤 > rokuro\ ;
+毒婦 > dokufu\ ;
+歳旦 > saitan\ ;
+南光 > nankou\ ;
+十台 > juudai\ ;
+配偶 > haiguu\ ;
+内観 > naikan\ ;
+発送 > hassou\ ;
+御告 > otsuge\ ;
+内覧 > nairan\ ;
+遠洋 > en''you\ ;
+弾性 > dansei\ ;
+内見 > naiken\ ;
+形容 > keiyou\ ;
+部属 > buzoku\ ;
+正東 > seitou\ ;
+強情 > goujou\ ;
+千千 > chidji\ ;
+近縁 > kin''en\ ;
+真箇 > shinko\ ;
+魚類 > gyorui\ ;
+勇戦 > yuusen\ ;
+鶏口 > keikou\ ;
+常置 > jouchi\ ;
+卒先 > sossen\ ;
+出端 > debana\ ;
+遠沈 > enchin\ ;
+正本 > seihon\ ;
+正木 > masaki\ ;
+全貌 > zenbou\ ;
+部将 > bushou\ ;
+先遣 > senken\ ;
+硫化 > ryuuka\ ;
+遡求 > sokyuu\ ;
+眼瞼 > ganken\ ;
+半分 > hanpun\ ;
+分社 > bunsha\ ;
+正書 > seisho\ ;
+入費 > nyuuhi\ ;
+短所 > tansho\ ;
+午刻 > gokoku\ ;
+登載 > tousai\ ;
+弊方 > heihou\ ;
+占住 > senjuu\ ;
+巡覧 > junran\ ;
+気儘 > kimama\ ;
+忌中 > kichuu\ ;
+内装 > naisou\ ;
+勧工 > kankou\ ;
+役場 > yakuba\ ;
+魔風 > makaze\ ;
+出窓 > demado\ ;
+後嗣 > koushi\ ;
+目脂 > meyani\ ;
+巡視 > junshi\ ;
+助教 > jokyou\ ;
+酒仙 > shusen\ ;
+鶏卵 > keiran\ ;
+真竹 > madake\ ;
+看経 > kankin\ ;
+建材 > kenzai\ ;
+発車 > hassha\ ;
+民兵 > minpei\ ;
+復刊 > fukkan\ ;
+半円 > han''en\ ;
+勘当 > kandou\ ;
+弊政 > heisei\ ;
+匈奴 > kyoudo\ ;
+酒乱 > shuran\ ;
+盲者 > mousha\ ;
+廃液 > haieki\ ;
+矇昧 > moumai\ ;
+左表 > sahyou\ ;
+遅滞 > chitai\ ;
+刀礼 > tourei\ ;
+弁明 > benmei\ ;
+心事 > shinji\ ;
+勘弁 > kanben\ ;
+欲気 > yokuke\ ;
+短慮 > tanryo\ ;
+千分 > senbun\ ;
+劣敗 > reppai\ ;
+毎夕 > maiyuu\ ;
+砲声 > housei\ ;
+光輪 > kourin\ ;
+卒倒 > sottou\ ;
+単体 > tantai\ ;
+百足 > mukade\ ;
+欧洲 > oushuu\ ;
+勅意 > chokui\ ;
+公論 > kouron\ ;
+十分 > juppun\ ;
+魚雷 > gyorai\ ;
+先輩 > senpai\ ;
+平目 > hirame\ ;
+郷士 > goushi\ ;
+此方 > konata\ ;
+剣法 > kenpou\ ;
+微傷 > bishou\ ;
+茶茶 > chacha\ ;
+正方 > seihou\ ;
+武教 > bukyou\ ;
+剪毛 > senmou\ ;
+辛苦 > shinku\ ;
+配乗 > haijou\ ;
+市葬 > shisou\ ;
+矜持 > kyouji\ ;
+農耕 > noukou\ ;
+卑俗 > hizoku\ ;
+千円 > sen''en\ ;
+初生 > shosei\ ;
+公認 > kounin\ ;
+巡行 > junkou\ ;
+区劃 > kukaku\ ;
+正文 > seibun\ ;
+公試 > koushi\ ;
+気侭 > kimama\ ;
+歌格 > kakaku\ ;
+幽界 > yuukai\ ;
+正数 > seisuu\ ;
+後味 > atoaji\ ;
+砲塔 > houtou\ ;
+硝化 > shouka\ ;
+兼行 > kenkou\ ;
+強度 > kyoudo\ ;
+彫塑 > chouso\ ;
+十全 > juuzen\ ;
+公許 > koukyo\ ;
+発走 > hassou\ ;
+南京 > nankin\ ;
+知慮 > chiryo\ ;
+死所 > shisho\ ;
+幼生 > yousei\ ;
+道民 > doumin\ ;
+半値 > han''ne\ ;
+公言 > kougen\ ;
+悶々 > monmon\ ;
+返答 > hentou\ ;
+茶色 > chairo\ ;
+権謀 > kenbou\ ;
+鶏冠 > tosaka\ ;
+百貨 > hyakka\ ;
+廻文 > kaibun\ ;
+勁悍 > keikan\ ;
+元軍 > gengun\ ;
+十億 > juuoku\ ;
+引手 > hikite\ ;
+形声 > keisei\ ;
+魔障 > mashou\ ;
+切目 > kireme\ ;
+引戸 > hikido\ ;
+軟風 > nanpuu\ ;
+幸甚 > koujin\ ;
+待命 > taimei\ ;
+眼界 > gankai\ ;
+茶臼 > chausu\ ;
+選書 > sensho\ ;
+英訳 > eiyaku\ ;
+転音 > ten''on\ ;
+残影 > zan''ei\ ;
+後半 > kouhan\ ;
+芳醇 > houjun\ ;
+年産 > nensan\ ;
+年生 > nensei\ ;
+千倍 > senbai\ ;
+廃残 > haizan\ ;
+良馬 > ryouba\ ;
+従前 > juuzen\ ;
+平生 > heizei\ ;
+郷土 > kyoudo\ ;
+遊民 > yuumin\ ;
+葛布 > kuzufu\ ;
+廃止 > haishi\ ;
+輪転 > rinten\ ;
+帆船 > hobune\ ;
+十倍 > juubai\ ;
+知性 > chisei\ ;
+剛毛 > goumou\ ;
+毎回 > maikai\ ;
+母国 > bokoku\ ;
+民人 > minjin\ ;
+真砂 > masago\ ;
+助手 > sukete\ ;
+止揚 > shiyou\ ;
+幽玄 > yuugen\ ;
+芸道 > geidou\ ;
+先賢 > senken\ ;
+加振 > kashin\ ;
+盛者 > jousha\ ;
+役員 > yakuin\ ;
+微乳 > binyuu\ ;
+県税 > kenzei\ ;
+帳簿 > choubo\ ;
+邪心 > jashin\ ;
+優遇 > yuuguu\ ;
+石工 > sekkou\ ;
+内蔵 > naizou\ ;
+船齢 > senrei\ ;
+民主 > minshu\ ;
+初犯 > shohan\ ;
+後刻 > gokoku\ ;
+殿堂 > dendou\ ;
+復交 > fukkou\ ;
+庶民 > shomin\ ;
+瞬時 > shunji\ ;
+優退 > yuutai\ ;
+凹目 > kubome\ ;
+従兄 > juukei\ ;
+劣才 > ressai\ ;
+千仭 > senjin\ ;
+分界 > bunkai\ ;
+千仞 > senjin\ ;
+輪距 > rinkyo\ ;
+艦首 > kanshu\ ;
+返礼 > henrei\ ;
+刀痕 > toukon\ ;
+初版 > shohan\ ;
+鳴戸 > naruto\ ;
+十代 > juudai\ ;
+勘定 > kanjou\ ;
+内蒙 > naimou\ ;
+目糞 > mekuso\ ;
+座浴 > zayoku\ ;
+標語 > hyougo\ ;
+白話 > hakuwa\ ;
+判然 > hanzen\ ;
+砂子 > sunago\ ;
+弁才 > bensai\ ;
+悠々 > yuuyuu\ ;
+権衡 > kenkou\ ;
+労役 > roueki\ ;
+茗荷 > myouga\ ;
+目籠 > mekago\ ;
+着物 > kimono\ ;
+車風 > shafuu\ ;
+標記 > hyouki\ ;
+鬚髯 > shuzen\ ;
+前段 > zendan\ ;
+遮断 > shadan\ ;
+茎葉 > keiyou\ ;
+適時 > tekiji\ ;
+師範 > shihan\ ;
+草紙 > soushi\ ;
+落後 > rakugo\ ;
+盲管 > moukan\ ;
+十三 > juusan\ ;
+十万 > juuman\ ;
+毒味 > dokumi\ ;
+葉巻 > hamaki\ ;
+市肆 > shishi\ ;
+張子 > hariko\ ;
+石屋 > ishiya\ ;
+御主 > onushi\ ;
+都合 > tsugou\ ;
+幻燈 > gentou\ ;
+御中 > onchuu\ ;
+花輪 > hanawa\ ;
+弁慶 > benkei\ ;
+免許 > menkyo\ ;
+干犯 > kanpan\ ;
+剪枝 > senshi\ ;
+花軸 > kajiku\ ;
+幽然 > yuuzen\ ;
+凹田 > kubota\ ;
+苦衷 > kuchuu\ ;
+発見 > hakken\ ;
+兎角 > tokaku\ ;
+当地 > touchi\ ;
+干物 > himono\ ;
+平版 > heihan\ ;
+苦行 > kugyou\ ;
+鯨脂 > geishi\ ;
+再興 > saikou\ ;
+落度 > ochido\ ;
+砲台 > houdai\ ;
+再臨 > sairin\ ;
+砲口 > houkou\ ;
+真田 > sanada\ ;
+助役 > joyaku\ ;
+毎号 > maigou\ ;
+劣性 > ressei\ ;
+目笊 > mezaru\ ;
+歯形 > hagata\ ;
+弾奏 > dansou\ ;
+包含 > hougan\ ;
+廃校 > haikou\ ;
+後便 > koubin\ ;
+選挙 > senkyo\ ;
+匍匐 > hofuku\ ;
+郊外 > kougai\ ;
+強姦 > goukan\ ;
+白衣 > byakue\ ;
+剖検 > bouken\ ;
+巨艦 > kyokan\ ;
+進歩 > shinpo\ ;
+凡眼 > bongan\ ;
+僧門 > soumon\ ;
+返盃 > henpai\ ;
+工芸 > kougei\ ;
+軍隊 > guntai\ ;
+近県 > kinken\ ;
+落差 > rakusa\ ;
+幻灯 > gentou\ ;
+巨船 > kyosen\ ;
+鱗状 > rinjou\ ;
+内航 > naikou\ ;
+先見 > senken\ ;
+軍陣 > gunjin\ ;
+輪講 > rinkou\ ;
+残存 > zanzon\ ;
+着火 > chakka\ ;
+平然 > heizen\ ;
+切片 > seppen\ ;
+発行 > hakkou\ ;
+北光 > hokkou\ ;
+武徳 > butoku\ ;
+眉目 > bimoku\ ;
+眈眈 > tantan\ ;
+眼点 > ganten\ ;
+動天 > douten\ ;
+功徳 > kudoku\ ;
+後任 > kounin\ ;
+廃材 > haizai\ ;
+内臓 > naizou\ ;
+後件 > kouken\ ;
+艦隊 > kantai\ ;
+苗裔 > byouei\ ;
+加役 > kayaku\ ;
+選手 > senshu\ ;
+後代 > koudai\ ;
+鱗片 > rinpen\ ;
+弊店 > heiten\ ;
+真理 > shinri\ ;
+刃物 > hamono\ ;
+儕輩 > saihai\ ;
+皮膜 > himaku\ ;
+後人 > koujin\ ;
+役儀 > yakugi\ ;
+真珠 > shinju\ ;
+否々 > iyaiya\ ;
+剪断 > sendan\ ;
+公葬 > kousou\ ;
+砂場 > sunaba\ ;
+弁当 > bentou\ ;
+内腔 > naikou\ ;
+逓減 > teigen\ ;
+巡航 > junkou\ ;
+往信 > oushin\ ;
+軍門 > gunmon\ ;
+座標 > zahyou\ ;
+正当 > seitou\ ;
+荒神 > koujin\ ;
+魚道 > gyodou\ ;
+死屍 > shishi\ ;
+艇首 > teishu\ ;
+邪宗 > jashuu\ ;
+正弦 > seigen\ ;
+草稿 > soukou\ ;
+勇姿 > yuushi\ ;
+再考 > saikou\ ;
+分煙 > bun''en\ ;
+欠本 > keppon\ ;
+後世 > kousei\ ;
+先行 > senkou\ ;
+軟鋼 > nankou\ ;
+毎分 > maifun\ ;
+制止 > seishi\ ;
+郵券 > yuuken\ ;
+荒磯 > araiso\ ;
+軽輩 > keihai\ ;
+華族 > kazoku\ ;
+形勢 > keisei\ ;
+構造 > kouzou\ ;
+著大 > chodai\ ;
+出物 > demono\ ;
+茅舎 > bousha\ ;
+座業 > zagyou\ ;
+勝因 > shouin\ ;
+白虹 > hakkou\ ;
+皮肉 > hiniku\ ;
+前栽 > senzai\ ;
+高齢 > kourei\ ;
+砲兵 > houhei\ ;
+内聞 > naibun\ ;
+分点 > bunten\ ;
+死守 > shishu\ ;
+底止 > teishi\ ;
+兵船 > heisen\ ;
+別法 > beppou\ ;
+凸版 > toppan\ ;
+八荒 > hakkou\ ;
+通気 > tsuuki\ ;
+加州 > kashuu\ ;
+正帽 > seibou\ ;
+兵舎 > heisha\ ;
+正常 > seijou\ ;
+廻廊 > kairou\ ;
+速歩 > sokuho\ ;
+干潟 > higata\ ;
+軽躁 > keisou\ ;
+遥拝 > youhai\ ;
+遊星 > yuusei\ ;
+芸談 > geidan\ ;
+過料 > karyou\ ;
+勇壮 > yuusou\ ;
+勇士 > yuushi\ ;
+監禁 > kankin\ ;
+巧者 > kousha\ ;
+優諚 > yuujou\ ;
+鳩座 > hatoza\ ;
+短大 > tandai\ ;
+左翼 > sayoku\ ;
+茶筅 > chasen\ ;
+前板 > maeita\ ;
+僻遠 > hekien\ ;
+高麗 > kourai\ ;
+身頃 > migoro\ ;
+石塊 > sekkai\ ;
+前条 > zenjou\ ;
+入荷 > nyuuka\ ;
+崇高 > suukou\ ;
+割拠 > kakkyo\ ;
+強固 > kyouko\ ;
+歓待 > kantai\ ;
+平準 > heijun\ ;
+船首 > senshu\ ;
+弟妹 > teimai\ ;
+痛飲 > tsuuin\ ;
+劾奏 > gaisou\ ;
+干満 > kanman\ ;
+前書 > zensho\ ;
+延年 > en''nen\ ;
+病魔 > byouma\ ;
+広汎 > kouhan\ ;
+利欲 > riyoku\ ;
+郭公 > kakkou\ ;
+公舎 > kousha\ ;
+庭木 > niwaki\ ;
+楽音 > gakuon\ ;
+残塁 > zanrui\ ;
+入苑 > nyuuen\ ;
+若葉 > wakaba\ ;
+准看 > junkan\ ;
+再編 > saihen\ ;
+凍瘡 > tousou\ ;
+常用 > jouyou\ ;
+勲功 > kunkou\ ;
+弊害 > heigai\ ;
+此岸 > shigan\ ;
+全船 > zensen\ ;
+平淡 > heitan\ ;
+全般 > zenpan\ ;
+前景 > zenkei\ ;
+遠戚 > enseki\ ;
+殺到 > sattou\ ;
+出火 > shukka\ ;
+目盛 > memori\ ;
+若菜 > wakana\ ;
+帆立 > hotate\ ;
+郡制 > gunsei\ ;
+郵便 > yuubin\ ;
+転送 > tensou\ ;
+遷延 > sen''en\ ;
+武将 > bushou\ ;
+目白 > mejiro\ ;
+庶政 > shosei\ ;
+盪盪 > toutou\ ;
+初段 > shodan\ ;
+当初 > tousho\ ;
+船頭 > sendou\ ;
+当分 > toubun\ ;
+週期 > shuuki\ ;
+郎君 > roukun\ ;
+弘大 > koudai\ ;
+近状 > kinjou\ ;
+巨編 > kyohen\ ;
+残在 > zanzon\ ;
+花見 > hanami\ ;
+毀傷 > kishou\ ;
+内線 > naisen\ ;
+巧緻 > kouchi\ ;
+欠損 > kesson\ ;
+内緒 > naisho\ ;
+遷幸 > senkou\ ;
+刑法 > keihou\ ;
+鳴子 > naruko\ ;
+前文 > zenbun\ ;
+舷頭 > gentou\ ;
+武学 > bugaku\ ;
+遣悶 > kenmon\ ;
+出潮 > deshio\ ;
+席画 > sekiga\ ;
+逆毛 > sakage\ ;
+適応 > tekiou\ ;
+魚貝 > gyobai\ ;
+若芽 > wakame\ ;
+転載 > tensai\ ;
+冷眼 > reigan\ ;
+勤勉 > kinben\ ;
+励声 > reisei\ ;
+櫛比 > shippi\ ;
+送水 > sousui\ ;
+勤労 > kinrou\ ;
+市税 > shizei\ ;
+砲丸 > hougan\ ;
+母乳 > bonyuu\ ;
+転転 > tenten\ ;
+達成 > tassei\ ;
+内紛 > naifun\ ;
+勿体 > mottai\ ;
+勘合 > kangou\ ;
+茶碗 > chawan\ ;
+軍配 > gunbai\ ;
+平水 > heisui\ ;
+弘報 > kouhou\ ;
+鳥屋 > toriya\ ;
+款待 > kantai\ ;
+平民 > heimin\ ;
+平氏 > heishi\ ;
+百花 > hyakka\ ;
+連枝 > renshi\ ;
+母上 > hahaue\ ;
+動向 > doukou\ ;
+疾駆 > shikku\ ;
+函渠 > kankyo\ ;
+農産 > nousan\ ;
+刑死 > keishi\ ;
+楼門 > roumon\ ;
+公署 > kousho\ ;
+瞑想 > meisou\ ;
+年歯 > nenshi\ ;
+造林 > zourin\ ;
+船隊 > sentai\ ;
+遠心 > enshin\ ;
+苛苛 > iraira\ ;
+弱味 > yowami\ ;
+適度 > tekido\ ;
+削摩 > sakuma\ ;
+輪蔵 > rinzou\ ;
+弾劾 > dangai\ ;
+達意 > tatsui\ ;
+底本 > teihon\ ;
+到来 > tourai\ ;
+発艦 > hakkan\ ;
+刎死 > funshi\ ;
+軍道 > gundou\ ;
+創建 > souken\ ;
+前提 > zentei\ ;
+死地 > shichi\ ;
+冬着 > fuyugi\ ;
+造本 > zouhon\ ;
+看点 > kanten\ ;
+欣懐 > kinkai\ ;
+薄々 > usuusu\ ;
+前掲 > zenkei\ ;
+冬眠 > toumin\ ;
+発航 > hakkou\ ;
+勝利 > shouri\ ;
+巨篇 > kyohen\ ;
+登臨 > tourin\ ;
+車道 > shadou\ ;
+強化 > kyouka\ ;
+正妻 > seisai\ ;
+辛目 > karame\ ;
+動勢 > dousei\ ;
+痴鈍 > chidon\ ;
+著名 > chomei\ ;
+残品 > zanpin\ ;
+庸才 > yousai\ ;
+動労 > dourou\ ;
+軒輊 > kenchi\ ;
+光芒 > koubou\ ;
+帯状 > obijou\ ;
+苦肉 > kuniku\ ;
+鳳声 > housei\ ;
+連星 > rensei\ ;
+皇考 > koukou\ ;
+目玉 > medama\ ;
+高騰 > koutou\ ;
+茶盆 > chabon\ ;
+郎党 > roudou\ ;
+布石 > fuseki\ ;
+臥龍 > garyou\ ;
+弁天 > benten\ ;
+切歯 > sesshi\ ;
+軽視 > keishi\ ;
+短命 > tanmei\ ;
+巣箱 > subako\ ;
+殿上 > tenjou\ ;
+舷門 > genmon\ ;
+選定 > sentei\ ;
+勇名 > yuumei\ ;
+正大 > seidai\ ;
+髑髏 > dokuro\ ;
+利札 > rifuda\ ;
+遷宮 > senguu\ ;
+転貸 > tentai\ ;
+幽棲 > yuusei\ ;
+歯垢 > shikou\ ;
+弁士 > benshi\ ;
+道念 > dounen\ ;
+瞳孔 > doukou\ ;
+瞳子 > doushi\ ;
+歯型 > hagata\ ;
+当代 > toudai\ ;
+床机 > shougi\ ;
+別杯 > beppai\ ;
+先般 > senpan\ ;
+当今 > toukon\ ;
+勤倹 > kinken\ ;
+剛情 > goujou\ ;
+当人 > tounin\ ;
+遵守 > junshu\ ;
+車輪 > sharin\ ;
+初校 > shokou\ ;
+軍車 > gunsha\ ;
+歌学 > kagaku\ ;
+連敗 > renpai\ ;
+全編 > zenpen\ ;
+底数 > teisuu\ ;
+出水 > demizu\ ;
+全線 > zensen\ ;
+軽装 > keisou\ ;
+身銭 > mizeni\ ;
+艦載 > kansai\ ;
+傍題 > boudai\ ;
+違式 > ishiki\ ;
+広東 > kanton\ ;
+布目 > nunome\ ;
+典範 > tenpan\ ;
+当主 > toushu\ ;
+病院 > byouin\ ;
+送検 > souken\ ;
+峰頭 > houtou\ ;
+知命 > chimei\ ;
+幽栖 > yuusei\ ;
+盗用 > touyou\ ;
+剛性 > gousei\ ;
+欣快 > kinkai\ ;
+当世 > tousei\ ;
+八紘 > hakkou\ ;
+勉励 > benrei\ ;
+速攻 > sokkou\ ;
+出殻 > degara\ ;
+兎肉 > toniku\ ;
+眠気 > nemuke\ ;
+茶番 > chaban\ ;
+真水 > mamizu\ ;
+左程 > sahodo\ ;
+分権 > bunken\ ;
+高風 > koufuu\ ;
+知名 > chimei\ ;
+工程 > koutei\ ;
+幽林 > yuurin\ ;
+返済 > hensai\ ;
+全紙 > zenshi\ ;
+冬瓜 > tougan\ ;
+殊勲 > shukun\ ;
+光背 > kouhai\ ;
+軌跡 > kiseki\ ;
+弱冠 > jakkan\ ;
+弾倉 > dansou\ ;
+知友 > chiyuu\ ;
+加圧 > kaatsu\ ;
+茶瓶 > chabin\ ;
+連携 > renkei\ ;
+初更 > shokou\ ;
+利敵 > riteki\ ;
+判明 > hanmei\ ;
+死命 > shimei\ ;
+適宜 > tekigi\ ;
+殊功 > shukou\ ;
+弥勒 > miroku\ ;
+冥界 > meikai\ ;
+芭蕉 > bashou\ ;
+運弓 > unkyuu\ ;
+剣帯 > kentai\ ;
+退校 > taikou\ ;
+高音 > takane\ ;
+良貨 > ryouka\ ;
+兵端 > heitan\ ;
+短剣 > tanken\ ;
+先聖 > sensei\ ;
+全米 > zenbei\ ;
+盲点 > mouten\ ;
+判断 > handan\ ;
+兵站 > heitan\ ;
+歓声 > kansei\ ;
+欽定 > kintei\ ;
+透明 > toumei\ ;
+重々 > juujuu\ ;
+軟論 > nanron\ ;
+邸内 > teinai\ ;
+皇統 > koutou\ ;
+近海 > kinkai\ ;
+免罪 > menzai\ ;
+廃帝 > haitei\ ;
+先考 > senkou\ ;
+短刀 > tantou\ ;
+勘例 > kanrei\ ;
+公算 > kousan\ ;
+舌頭 > zettou\ ;
+選外 > sengai\ ;
+死去 > shikyo\ ;
+軍資 > gunshi\ ;
+欧州 > oushuu\ ;
+引合 > hikiai\ ;
+幽景 > yuukei\ ;
+遊底 > yuutei\ ;
+知勇 > chiyuu\ ;
+矩則 > kusoku\ ;
+巡礼 > junrei\ ;
+遵奉 > junpou\ ;
+年来 > nenrai\ ;
+初旬 > shojun\ ;
+平板 > heiban\ ;
+儀表 > gihyou\ ;
+歎声 > tansei\ ;
+全篇 > zenpen\ ;
+兵種 > heishu\ ;
+巨砲 > kyohou\ ;
+皆納 > kainou\ ;
+至高 > shikou\ ;
+幽明 > yuumei\ ;
+残党 > zantou\ ;
+次席 > jiseki\ ;
+歌声 > utagoe\ ;
+模索 > mosaku\ ;
+残光 > zankou\ ;
+動体 > doutai\ ;
+元老 > genrou\ ;
+鮮紅 > senkou\ ;
+副官 > fukkan\ ;
+芳草 > housou\ ;
+真横 > mayoko\ ;
+八端 > hattan\ ;
+巧知 > kouchi\ ;
+分校 > bunkou\ ;
+連投 > rentou\ ;
+典礼 > tenrei\ ;
+盗犯 > touhan\ ;
+弾丸 > dangan\ ;
+歌境 > kakyou\ ;
+写生 > shasei\ ;
+残像 > zanzou\ ;
+労動 > roudou\ ;
+歩哨 > hoshou\ ;
+県民 > kenmin\ ;
+勇健 > yuuken\ ;
+冗用 > jouyou\ ;
+剪定 > sentei\ ;
+剣山 > kenzan\ ;
+労功 > roukou\ ;
+連戦 > rensen\ ;
+冷然 > reizen\ ;
+砂丘 > sakyuu\ ;
+動乱 > douran\ ;
+制憲 > seiken\ ;
+弓勢 > yunzei\ ;
+内省 > naisei\ ;
+廃山 > haizan\ ;
+前庭 > zentei\ ;
+平明 > heimei\ ;
+死刑 > shikei\ ;
+創始 > soushi\ ;
+眉毛 > mayuge\ ;
+造成 > zousei\ ;
+巨盗 > kyotou\ ;
+廃屋 > haioku\ ;
+切替 > settai\ ;
+公私 > koushi\ ;
+死処 > shisho\ ;
+逃散 > tousan\ ;
+身軽 > migaru\ ;
+光線 > kousen\ ;
+廣報 > kouhou\ ;
+矢先 > yasaki\ ;
+平方 > heihou\ ;
+軍談 > gundan\ ;
+華客 > kakaku\ ;
+過少 > kashou\ ;
+過小 > kashou\ ;
+年数 > nensuu\ ;
+正味 > shoumi\ ;
+退散 > taisan\ ;
+公社 > kousha\ ;
+芸能 > geinou\ ;
+連想 > rensou\ ;
+再生 > saisei\ ;
+残余 > zan''yo\ ;
+過客 > kakaku\ ;
+遣外 > kengai\ ;
+冠状 > kanjou\ ;
+次将 > jishou\ ;
+弁口 > benkou\ ;
+干支 > kanshi\ ;
+皓礬 > kouban\ ;
+正号 > seigou\ ;
+正史 > seishi\ ;
+苦笑 > kushou\ ;
+全社 > zensha\ ;
+分明 > bunmei\ ;
+弓具 > kyuugu\ ;
+進度 > shindo\ ;
+癌腫 > ganshu\ ;
+劣勢 > ressei\ ;
+労働 > roudou\ ;
+矮人 > waijin\ ;
+廻向 > kaikou\ ;
+荒海 > araumi\ ;
+鳴動 > meidou\ ;
+内界 > naikai\ ;
+座席 > zaseki\ ;
+正南 > seinan\ ;
+芸者 > geisha\ ;
+遊子 > yuushi\ ;
+正午 > shougo\ ;
+内用 > naiyou\ ;
+別懇 > bekkon\ ;
+制御 > seigyo\ ;
+分数 > bunsuu\ ;
+分散 > bunsan\ ;
+優者 > yuusha\ ;
+登第 > toudai\ ;
+歯冠 > shikan\ ;
+再現 > saigen\ ;
+康寧 > kounei\ ;
+公知 > kouchi\ ;
+功労 > kourou\ ;
+欄干 > rankan\ ;
+列挙 > rekkyo\ ;
+前山 > zenzan\ ;
+弥久 > bikyuu\ ;
+発端 > hottan\ ;
+初戦 > shosen\ ;
+軍装 > gunsou\ ;
+別意 > betsui\ ;
+出時 > dedoki\ ;
+連弾 > rendan\ ;
+全知 > zenchi\ ;
+知人 > chijin\ ;
+茫然 > bouzen\ ;
+輔翼 > hoyoku\ ;
+農法 > nouhou\ ;
+歌唱 > kashou\ ;
+利息 > risoku\ ;
+府庁 > fuchou\ ;
+真暗 > makura\ ;
+庶子 > shoshi\ ;
+華奢 > kyasha\ ;
+至難 > shinan\ ;
+凍死 > toushi\ ;
+労使 > roushi\ ;
+廉売 > renbai\ ;
+造形 > zoukei\ ;
+死体 > shitai\ ;
+逢引 > aibiki\ ;
+停頓 > teiton\ ;
+百科 > hyakka\ ;
+遺告 > yuigou\ ;
+函数 > kansuu\ ;
+冷淡 > reitan\ ;
+逆手 > sakate\ ;
+真昼 > mahiru\ ;
+出方 > dekata\ ;
+道士 > doushi\ ;
+前官 > zenkan\ ;
+剣士 > kenshi\ ;
+公益 > koueki\ ;
+船路 > funaji\ ;
+邦人 > houjin\ ;
+疎隔 > sokaku\ ;
+制帽 > seibou\ ;
+加入 > kanyuu\ ;
+再犯 > saihan\ ;
+先端 > sentan\ ;
+農民 > noumin\ ;
+遠国 > ongoku\ ;
+具申 > gushin\ ;
+荷札 > nifuda\ ;
+席次 > sekiji\ ;
+利得 > ritoku\ ;
+全盲 > zenmou\ ;
+死亡 > shibou\ ;
+巨獣 > kyojuu\ ;
+岸頭 > gantou\ ;
+落伍 > rakugo\ ;
+正兵 > seihei\ ;
+全盛 > zensei\ ;
+蹈鞴 > tatara\ ;
+連帯 > rentai\ ;
+速度 > sokudo\ ;
+到底 > toutei\ ;
+免税 > menzei\ ;
+再版 > saihan\ ;
+副因 > fukuin\ ;
+発禁 > hakkin\ ;
+舌鋒 > zeppou\ ;
+造幣 > zouhei\ ;
+道場 > doujou\ ;
+標示 > hyouji\ ;
+廃墟 > haikyo\ ;
+平手 > hirate\ ;
+返杯 > henpai\ ;
+停電 > teiden\ ;
+健闘 > kentou\ ;
+舟運 > shuuun\ ;
+横目 > yokome\ ;
+平成 > heisei\ ;
+凱旋 > gaisen\ ;
+厭々 > iyaiya\ ;
+目次 > mokuji\ ;
+冷泉 > reisen\ ;
+全癒 > zen''yu\ ;
+白磁 > hakuji\ ;
+返本 > henpon\ ;
+別形 > bekkei\ ;
+幻想 > gensou\ ;
+看板 > kanban\ ;
+再燃 > sainen\ ;
+着意 > chakui\ ;
+内状 > naijou\ ;
+別当 > bettou\ ;
+近東 > kintou\ ;
+建具 > tategu\ ;
+近来 > kinrai\ ;
+返書 > hensho\ ;
+序幕 > jomaku\ ;
+側鎖 > sokusa\ ;
+概論 > gairon\ ;
+病躯 > byouku\ ;
+楽譜 > gakufu\ ;
+冷汗 > reikan\ ;
+分担 > buntan\ ;
+辣油 > razeyu\ ;
+高配 > kouhai\ ;
+廷内 > teinai\ ;
+劇化 > gekika\ ;
+冷水 > reisui\ ;
+初志 > shoshi\ ;
+公田 > kouden\ ;
+還元 > kangen\ ;
+逕庭 > keitei\ ;
+利幅 > rihaba\ ;
+公用 > kouyou\ ;
+凡書 > bonsho\ ;
+連峰 > renpou\ ;
+劇務 > gekimu\ ;
+巡狩 > junshu\ ;
+切手 > kirete\ ;
+幻怪 > genkai\ ;
+追慕 > tsuibo\ ;
+武侠 > bukyou\ ;
+発砲 > happou\ ;
+廃坑 > haikou\ ;
+身許 > mimoto\ ;
+適否 > tekihi\ ;
+出掛 > degake\ ;
+円熟 > enjuku\ ;
+全甲 > zenkou\ ;
+近景 > kinkei\ ;
+歌劇 > kageki\ ;
+連山 > renzan\ ;
+高邁 > koumai\ ;
+前奏 > zensou\ ;
+店屋 > miseya\ ;
+処方 > shohou\ ;
+航走 > kousou\ ;
+処断 > shodan\ ;
+遍在 > henzai\ ;
+正使 > seishi\ ;
+刻字 > kokuji\ ;
+別巻 > bekkan\ ;
+冗漫 > jouman\ ;
+概観 > gaikan\ ;
+前夜 > zen''ya\ ;
+建値 > tatene\ ;
+幻影 > gen''ei\ ;
+連射 > rensha\ ;
+前売 > maeuri\ ;
+概要 > gaiyou\ ;
+傍輩 > houbai\ ;
+白眉 > hakubi\ ;
+峡部 > kyoubu\ ;
+制定 > seitei\ ;
+正伝 > seiden\ ;
+軽罪 > keizai\ ;
+番頭 > bantou\ ;
+初年 > shonen\ ;
+述懐 > jukkai\ ;
+辛気 > shinki\ ;
+楽観 > rakkan\ ;
+割合 > wariai\ ;
+楼観 > roukan\ ;
+苦痛 > kutsuu\ ;
+希求 > kikyuu\ ;
+幾年 > ikunen\ ;
+冬毛 > fuyuge\ ;
+先知 > senchi\ ;
+店子 > tanako\ ;
+魚群 > gyogun\ ;
+遡及 > sokyuu\ ;
+退役 > taieki\ ;
+幼年 > younen\ ;
+迂曲 > ukyoku\ ;
+優等 > yuutou\ ;
+軍葬 > gunsou\ ;
+割印 > wariin\ ;
+華商 > kashou\ ;
+利尿 > rinyou\ ;
+兵燹 > heisen\ ;
+延伸 > enshin\ ;
+床屋 > tokoya\ ;
+退廷 > taitei\ ;
+権現 > gongen\ ;
+側部 > sokubu\ ;
+帰朝 > kichou\ ;
+帰服 > kifuku\ ;
+眼底 > gantei\ ;
+退廃 > taihai\ ;
+別居 > bekkyo\ ;
+留飲 > ryuuin\ ;
+刪定 > santei\ ;
+遮光 > shakou\ ;
+前坊 > zenbou\ ;
+軟膏 > nankou\ ;
+欄外 > rangai\ ;
+冠水 > kansui\ ;
+別封 > beppuu\ ;
+眼帯 > gantai\ ;
+平年 > heinen\ ;
+平平 > heihei\ ;
+臆面 > okumen\ ;
+廃品 > haihin\ ;
+迷彩 > meisai\ ;
+市民 > shimin\ ;
+庄屋 > shouya\ ;
+色色 > iroiro\ ;
+高踏 > koutou\ ;
+冠毛 > kanmou\ ;
+巨漢 > kyokan\ ;
+常数 > jousuu\ ;
+創刊 > soukan\ ;
+先登 > sentou\ ;
+前回 > zenkai\ ;
+農林 > nourin\ ;
+平常 > heijou\ ;
+苔癬 > taisen\ ;
+癲癇 > tenkan\ ;
+草根 > soukon\ ;
+登用 > touyou\ ;
+高距 > koukyo\ ;
+判定 > hantei\ ;
+判官 > hangan\ ;
+川瀬 > kawase\ ;
+廷丁 > teitei\ ;
+発生 > hassei\ ;
+農村 > nouson\ ;
+側近 > sokkin\ ;
+盤根 > bankon\ ;
+莚席 > enseki\ ;
+真意 > shin''i\ ;
+魂胆 > kontan\ ;
+列島 > rettou\ ;
+轟然 > gouzen\ ;
+廃合 > haigou\ ;
+別嬪 > beppin\ ;
+欠品 > keppin\ ;
+魚網 > gyomou\ ;
+連奏 > rensou\ ;
+内湯 > uchiyu\ ;
+生麩 > namafu\ ;
+幽居 > yuukyo\ ;
+連夜 > ren''ya\ ;
+巡演 > jun''en\ ;
+分店 > bunten\ ;
+歌会 > utakai\ ;
+内港 > naikou\ ;
+公然 > kouzen\ ;
+巻毛 > makige\ ;
+軍艦 > gunkan\ ;
+連声 > renjou\ ;
+自重 > jichou\ ;
+内済 > naisai\ ;
+先番 > senban\ ;
+遊吟 > yuugin\ ;
+遊君 > yuukun\ ;
+軍船 > gunsen\ ;
+華北 > kahoku\ ;
+草本 > souhon\ ;
+盲断 > moudan\ ;
+着尺 > kijaku\ ;
+艨艟 > moudou\ ;
+返戻 > henrei\ ;
+先生 > sensei\ ;
+剪刀 > sentou\ ;
+偽足 > gisoku\ ;
+草書 > sousho\ ;
+全然 > zenzen\ ;
+列寧 > reenin\ ;
+魚精 > gyosei\ ;
+艦艇 > kantei\ ;
+艦船 > kansen\ ;
+内海 > naikai\ ;
+目方 > mekata\ ;
+凡才 > bonsai\ ;
+凡手 > bonshu\ ;
+光環 > koukan\ ;
+充用 > juuyou\ ;
+輝石 > kiseki\ ;
+魚粉 > gyofun\ ;
+凡戦 > bonsen\ ;
+庸君 > youkun\ ;
+値頃 > negoro\ ;
+凶徒 > kyouto\ ;
+疎通 > sotsuu\ ;
+至近 > shikin\ ;
+幢幡 > douban\ ;
+平屋 > hiraya\ ;
+遅参 > chisan\ ;
+逆子 > sakago\ ;
+白狐 > byakko\ ;
+値鞘 > nezaya\ ;
+出庫 > shukko\ ;
+追尾 > tsuibi\ ;
+刀工 > toukou\ ;
+出府 > shuppu\ ;
+初婚 > shokon\ ;
+出店 > demise\ ;
+内治 > naichi\ ;
+農政 > nousei\ ;
+剛勇 > gouyuu\ ;
+欠勤 > kekkin\ ;
+共演 > kyouen\ ;
+自適 > jiteki\ ;
+凡慮 > bonryo\ ;
+廃刊 > haikan\ ;
+退官 > taikan\ ;
+眼孔 > gankou\ ;
+界面 > kaimen\ ;
+工法 > kouhou\ ;
+遯世 > tonsei\ ;
+平定 > heitei\ ;
+華冑 > kachuu\ ;
+輪番 > rinban\ ;
+干害 > kangai\ ;
+出師 > suishi\ ;
+造型 > zoukei\ ;
+航行 > koukou\ ;
+前名 > zenmei\ ;
+函嶺 > kanrei\ ;
+道元 > dougen\ ;
+癌研 > ganken\ ;
+前号 > zengou\ ;
+判士 > hanshi\ ;
+前史 > zenshi\ ;
+輪生 > rinsei\ ;
+内気 > uchiki\ ;
+傍訓 > boukun\ ;
+眸子 > boushi\ ;
+遅効 > chikou\ ;
+盛暑 > seisho\ ;
+近情 > kinjou\ ;
+廃兵 > haihei\ ;
+免状 > menjou\ ;
+全潰 > zenkai\ ;
+広大 > koudai\ ;
+高論 > kouron\ ;
+帆桁 > hogeta\ ;
+高談 > koudan\ ;
+機業 > kigyou\ ;
+逓増 > teizou\ ;
+幕府 > bakufu\ ;
+席捲 > sekken\ ;
+荷役 > niyaku\ ;
+幻姿 > genshi\ ;
+内殿 > naiden\ ;
+広壮 > kousou\ ;
+傍観 > boukan\ ;
+華僑 > kakyou\ ;
+帝政 > teisei\ ;
+界隈 > kaiwai\ ;
+分封 > bunpou\ ;
+別報 > beppou\ ;
+公準 > koujun\ ;
+傍視 > wakimi\ ;
+前半 > zenpan\ ;
+白煙 > hakuen\ ;
+幽契 > yuukei\ ;
+生鮮 > seisen\ ;
+苔状 > taijou\ ;
+魔笛 > mateki\ ;
+創世 > sousei\ ;
+盆栽 > bonsai\ ;
+高言 > kougen\ ;
+跳馬 > chouba\ ;
+常態 > joutai\ ;
+広場 > hiroba\ ;
+広報 > kouhou\ ;
+山顛 > santen\ ;
+分子 > bunshi\ ;
+自身 > jishin\ ;
+兵法 > heihou\ ;
+停車 > teisha\ ;
+年始 > nenshi\ ;
+高覧 > kouran\ ;
+甘鯛 > amadai\ ;
+近影 > kin''ei\ ;
+広域 > kouiki\ ;
+横溢 > ouitsu\ ;
+冬日 > fuyubi\ ;
+高見 > takami\ ;
+僧綱 > sougou\ ;
+前前 > maemae\ ;
+座卓 > zataku\ ;
+公海 > koukai\ ;
+冠木 > kabuki\ ;
+良縁 > ryouen\ ;
+剛健 > gouken\ ;
+偽証 > gishou\ ;
+過信 > kashin\ ;
+市有 > shiyuu\ ;
+庭前 > teizen\ ;
+優生 > yuusei\ ;
+検車 > kensha\ ;
+店員 > ten''in\ ;
+進化 > shinka\ ;
+樹氷 > juhyou\ ;
+庄園 > shouen\ ;
+自足 > jisoku\ ;
+骨身 > honemi\ ;
+六法 > roppou\ ;
+出家 > shukke\ ;
+干天 > kanten\ ;
+凡庶 > bonsho\ ;
+高裁 > kousai\ ;
+画集 > gashuu\ ;
+公法 > kouhou\ ;
+分娩 > bunben\ ;
+輪状 > rinjou\ ;
+色糸 > iroito\ ;
+画障 > gashou\ ;
+平壌 > heijou\ ;
+山霊 > sanrei\ ;
+写本 > shahon\ ;
+入海 > iriumi\ ;
+蹂躪 > juurin\ ;
+蹂躙 > juurin\ ;
+幕屋 > makuya\ ;
+鬼籍 > kiseki\ ;
+刻印 > kokuin\ ;
+光点 > kouten\ ;
+凡常 > bonjou\ ;
+迷妄 > meimou\ ;
+痛苦 > tsuuku\ ;
+盆景 > bonkei\ ;
+船荷 > funani\ ;
+連吟 > rengin\ ;
+初回 > shokai\ ;
+廃人 > haijin\ ;
+剛体 > goutai\ ;
+車線 > shasen\ ;
+几帳 > kichou\ ;
+全治 > zenchi\ ;
+連名 > renmei\ ;
+連合 > rengou\ ;
+皆済 > kaisai\ ;
+盲想 > mousou\ ;
+刑場 > keijou\ ;
+年報 > nenpou\ ;
+退場 > taijou\ ;
+内検 > naiken\ ;
+再校 > saikou\ ;
+相性 > aishou\ ;
+若湯 > wakayu\ ;
+運休 > unkyuu\ ;
+相思 > soushi\ ;
+公民 > koumin\ ;
+市日 > ichibi\ ;
+花環 > hanawa\ ;
+様相 > yousou\ ;
+華中 > kachuu\ ;
+偸視 > toushi\ ;
+前傾 > zenkei\ ;
+鱈子 > tarako\ ;
+屍骸 > shigai\ ;
+自責 > jiseki\ ;
+分外 > bungai\ ;
+監房 > kanbou\ ;
+布教 > fukyou\ ;
+造反 > zouhan\ ;
+分売 > bunbai\ ;
+凄惨 > seisan\ ;
+盛挙 > seikyo\ ;
+干城 > kanjou\ ;
+軽目 > karume\ ;
+帰心 > kishin\ ;
+茘枝 > reishi\ ;
+相役 > aiyaku\ ;
+市政 > shisei\ ;
+座元 > zamoto\ ;
+再来 > sairai\ ;
+公正 > kousei\ ;
+兼業 > kengou\ ;
+盾座 > tateza\ ;
+冷房 > reibou\ ;
+制動 > seidou\ ;
+艶笑 > enshou\ ;
+相当 > soutou\ ;
+巡検 > junken\ ;
+平坦 > heitan\ ;
+兵権 > heiken\ ;
+冷戦 > reisen\ ;
+百済 > kudara\ ;
+全段 > zendan\ ;
+至論 > shiron\ ;
+船艙 > sensou\ ;
+逝去 > seikyo\ ;
+山間 > yamaai\ ;
+刺刺 > iraira\ ;
+皓歯 > koushi\ ;
+別品 > beppin\ ;
+平均 > heikin\ ;
+山門 > sanmon\ ;
+傭船 > yousen\ ;
+円柱 > enchuu\ ;
+生類 > seirui\ ;
+平地 > heichi\ ;
+連動 > rendou\ ;
+前便 > zenbin\ ;
+至誠 > shisei\ ;
+庸人 > youjin\ ;
+年回 > nenkai\ ;
+退団 > taidan\ ;
+盲従 > moujuu\ ;
+前例 > zenrei\ ;
+冗文 > joubun\ ;
+橋架 > kyouka\ ;
+全欧 > zen''ou\ ;
+軟禁 > nankin\ ;
+速効 > sokkou\ ;
+睾丸 > kougan\ ;
+至言 > shigen\ ;
+巨材 > kyozai\ ;
+光源 > kougen\ ;
+連判 > renpan\ ;
+軒端 > nokiba\ ;
+師弟 > shitei\ ;
+前件 > zenken\ ;
+公権 > kouken\ ;
+屏風 > byoubu\ ;
+相席 > aiseki\ ;
+前代 > zendai\ ;
+生面 > seimen\ ;
+苦汁 > nigari\ ;
+前人 > zenjin\ ;
+切地 > kireji\ ;
+半々 > hanhan\ ;
+遁世 > tonsei\ ;
+至要 > shiyou\ ;
+凶夢 > kyoumu\ ;
+分地 > bunchi\ ;
+看守 > kanshu\ ;
+艶福 > enpuku\ ;
+充満 > juuman\ ;
+若気 > wakage\ ;
+病苦 > byouku\ ;
+全権 > zenken\ ;
+荒廃 > kouhai\ ;
+発泡 > happou\ ;
+産院 > san''in\ ;
+分団 > bundan\ ;
+自註 > jichuu\ ;
+広原 > kougen\ ;
+初号 > shogou\ ;
+席巻 > sekken\ ;
+再敗 > saihai\ ;
+前世 > zensei\ ;
+造兵 > zouhei\ ;
+逸事 > itsuji\ ;
+僻目 > higame\ ;
+傭聘 > youhei\ ;
+鬱積 > usseki\ ;
+巨星 > kyosei\ ;
+刀圭 > toukei\ ;
+冊数 > sassuu\ ;
+幼君 > youkun\ ;
+発汗 > hakkan\ ;
+画鋲 > gabyou\ ;
+出城 > dejiro\ ;
+幼名 > youmei\ ;
+車窓 > shasou\ ;
+小鼻 > kobana\ ;
+内旨 > naishi\ ;
+痛罵 > tsuuba\ ;
+自覚 > jikaku\ ;
+疾苦 > shikku\ ;
+内方 > naihou\ ;
+偽薬 > giyaku\ ;
+病臥 > byouga\ ;
+帽子 > boushi\ ;
+共栄 > kyouei\ ;
+車種 > shashu\ ;
+値遇 > chiguu\ ;
+并呑 > heidon\ ;
+床几 > shougi\ ;
+幾千 > ikusen\ ;
+高著 > koucho\ ;
+農工 > noukou\ ;
+小麦 > komugi\ ;
+検討 > kentou\ ;
+分営 > bun''ei\ ;
+棒鋼 > boukou\ ;
+送呈 > soutei\ ;
+座中 > zachuu\ ;
+内政 > naisei\ ;
+内攻 > naikou\ ;
+并合 > heigou\ ;
+公栽 > kousai\ ;
+修院 > shuuin\ ;
+底値 > sokone\ ;
+帰属 > kizoku\ ;
+工数 > kousuu\ ;
+兵曹 > heisou\ ;
+兵書 > heisho\ ;
+刑名 > keimei\ ;
+軍礼 > gunrei\ ;
+樹木 > jumoku\ ;
+高菜 > takana\ ;
+相対 > soutai\ ;
+連係 > renkei\ ;
+年号 > nengou\ ;
+検視 > kenshi\ ;
+冥想 > meisou\ ;
+花火 > hanabi\ ;
+展開 > tenkai\ ;
+相宿 > aiyado\ ;
+舞舞 > maimai\ ;
+退去 > taikyo\ ;
+全校 > zenkou\ ;
+帯封 > obifuu\ ;
+凍寒 > toukan\ ;
+平原 > heigen\ ;
+県外 > kengai\ ;
+凍害 > tougai\ ;
+山野 > san''ya\ ;
+透写 > tousha\ ;
+制令 > seirei\ ;
+六本 > roppon\ ;
+苦楽 > kuraku\ ;
+帰宅 > kitaku\ ;
+盲射 > mousha\ ;
+疽腫 > soshou\ ;
+横根 > yokone\ ;
+幾分 > ikubun\ ;
+異説 > isetsu\ ;
+魔球 > makyuu\ ;
+凶器 > kyouki\ ;
+初冬 > shotou\ ;
+保革 > hokaku\ ;
+再挙 > saikyo\ ;
+目屎 > mekuso\ ;
+俊馬 > shunme\ ;
+甲鈑 > kouban\ ;
+八本 > happon\ ;
+公有 > kouyuu\ ;
+偏見 > henken\ ;
+府中 > fuchuu\ ;
+目尻 > mejiri\ ;
+其方 > sonata\ ;
+盛年 > seinen\ ;
+小鴨 > kogamo\ ;
+再拝 > saihai\ ;
+退勢 > taisei\ ;
+返報 > henpou\ ;
+連亘 > renkou\ ;
+幽冥 > yuumei\ ;
+載炭 > saitan\ ;
+内探 > naitan\ ;
+権柄 > kenpei\ ;
+小鳥 > kotori\ ;
+年功 > nenkou\ ;
+田野 > den''ya\ ;
+兵数 > heisuu\ ;
+盪尽 > toujin\ ;
+眼前 > ganzen\ ;
+全書 > zensho\ ;
+艦砲 > kanpou\ ;
+店主 > tenshu\ ;
+転生 > tensei\ ;
+足駄 > ashida\ ;
+八景 > hakkei\ ;
+登楼 > tourou\ ;
+保障 > hoshou\ ;
+目安 > meyasu\ ;
+内挿 > naisou\ ;
+概算 > gaisan\ ;
+分厘 > bunrin\ ;
+追加 > tsuika\ ;
+横木 > yokogi\ ;
+優渥 > yuuaku\ ;
+再戦 > saisen\ ;
+帆影 > hokage\ ;
+年初 > nensho\ ;
+腰間 > youkan\ ;
+草屋 > souoku\ ;
+公明 > koumei\ ;
+年刊 > nenkan\ ;
+年分 > nenbun\ ;
+全智 > zenchi\ ;
+逆児 > sakago\ ;
+全景 > zenkei\ ;
+幕営 > bakuei\ ;
+小鰭 > kohada\ ;
+別使 > besshi\ ;
+平分 > heibun\ ;
+相姦 > soukan\ ;
+六方 > roppou\ ;
+判例 > hanrei\ ;
+平凡 > heibon\ ;
+瘋癲 > fuuten\ ;
+幻像 > genzou\ ;
+八方 > happou\ ;
+追分 > oiwake\ ;
+鰥夫 > yamome\ ;
+用金 > youkin\ ;
+魔物 > mamono\ ;
+公文 > koubun\ ;
+眼光 > gankou\ ;
+茶巾 > chakin\ ;
+相好 > sougou\ ;
+刑典 > keiten\ ;
+近在 > kinzai\ ;
+別件 > bekken\ ;
+逓伝 > teiden\ ;
+山辺 > yamabe\ ;
+内所 > naisho\ ;
+略記 > ryakki\ ;
+巧手 > koushu\ ;
+内戦 > naisen\ ;
+真味 > shinmi\ ;
+身空 > misora\ ;
+近因 > kin''in\ ;
+草子 > soushi\ ;
+芋版 > imoban\ ;
+全文 > zenbun\ ;
+巡拝 > junpai\ ;
+産金 > sankin\ ;
+登校 > toukou\ ;
+全数 > zensuu\ ;
+監守 > kanshu\ ;
+工手 > koushu\ ;
+工房 > koubou\ ;
+全敗 > zenpai\ ;
+真否 > shinpi\ ;
+若木 > wakagi\ ;
+列候 > rekkou\ ;
+追儺 > tsuina\ ;
+冷害 > reigai\ ;
+床上 > yukaue\ ;
+偽膜 > gimaku\ ;
+帆布 > honuno\ ;
+凝固 > gyouko\ ;
+途中 > tochuu\ ;
+内憂 > naiyuu\ ;
+俗間 > zokkan\ ;
+促音 > sokuon\ ;
+小骨 > kobone\ ;
+幽体 > yuutai\ ;
+典拠 > tenkyo\ ;
+登板 > touban\ ;
+初代 > shodai\ ;
+刀剣 > touken\ ;
+帳場 > chouba\ ;
+幕吏 > bakuri\ ;
+魚灯 > gyotou\ ;
+膚身 > hadami\ ;
+癖毛 > kusege\ ;
+幸便 > koubin\ ;
+僭王 > sen''ou\ ;
+幣制 > heisei\ ;
+再思 > saishi\ ;
+県営 > ken''ei\ ;
+鮮明 > senmei\ ;
+荒天 > kouten\ ;
+生酒 > kizake\ ;
+分党 > buntou\ ;
+年俸 > nenpou\ ;
+分光 > bunkou\ ;
+刀刃 > toujin\ ;
+幾人 > ikunin\ ;
+脳髄 > nouzui\ ;
+驥足 > kisoku\ ;
+内情 > naijou\ ;
+真北 > makita\ ;
+巨悪 > kyoaku\ ;
+内患 > naikan\ ;
+荊妻 > keisai\ ;
+全損 > zenson\ ;
+刃先 > hasaki\ ;
+山路 > yamaji\ ;
+再征 > saisei\ ;
+駿馬 > shunme\ ;
+産道 > sandou\ ;
+帯域 > taiiki\ ;
+希少 > kishou\ ;
+船窓 > sensou\ ;
+返品 > henpin\ ;
+小首 > kokubi\ ;
+年余 > nen''yo\ ;
+甘酸 > kansan\ ;
+生還 > seikan\ ;
+舷窓 > gensou\ ;
+騒霊 > sourei\ ;
+幅員 > fukuin\ ;
+光来 > kourai\ ;
+至芸 > shigei\ ;
+年会 > nenkai\ ;
+退会 > taikai\ ;
+寡黙 > kamoku\ ;
+刃傷 > ninjou\ ;
+再建 > saikon\ ;
+極秘 > gokuhi\ ;
+逃亡 > toubou\ ;
+退任 > tainin\ ;
+円心 > enshin\ ;
+年令 > nenrei\ ;
+年代 > nendai\ ;
+傍線 > bousen\ ;
+標旗 > hyouki\ ;
+省営 > shouei\ ;
+帰国 > kikoku\ ;
+着丈 > kitake\ ;
+農場 > noujou\ ;
+軽減 > keigen\ ;
+骨董 > kottou\ ;
+荒城 > koujou\ ;
+践踏 > sentou\ ;
+荘園 > shouen\ ;
+療治 > ryouji\ ;
+辺地 > henchi\ ;
+駝鳥 > dachou\ ;
+内径 > naikei\ ;
+腹部 > fukubu\ ;
+出先 > desaki\ ;
+元来 > ganrai\ ;
+真冬 > mafuyu\ ;
+輪栽 > rinsai\ ;
+巨弾 > kyodan\ ;
+元本 > genpon\ ;
+光景 > koukei\ ;
+凶具 > kyougu\ ;
+自若 > jijaku\ ;
+年中 > nenjuu\ ;
+看取 > kanshu\ ;
+発散 > hassan\ ;
+師団 > shidan\ ;
+駱駝 > rakuda\ ;
+内廷 > naitei\ ;
+傍系 > boukei\ ;
+分体 > buntai\ ;
+迎合 > geigou\ ;
+毎々 > maimai\ ;
+修造 > shuzou\ ;
+登攀 > touhan\ ;
+草堂 > soudou\ ;
+干与 > kan''yo\ ;
+分会 > bunkai\ ;
+髀肉 > hiniku\ ;
+機屋 > hataya\ ;
+内庭 > naitei\ ;
+農地 > nouchi\ ;
+公憤 > koufun\ ;
+盛大 > seidai\ ;
+航空 > koukuu\ ;
+市子 > ichiko\ ;
+尊顔 > songan\ ;
+軍犬 > genken\ ;
+先方 > senpou\ ;
+修辞 > shuuji\ ;
+生身 > namami\ ;
+横手 > yokote\ ;
+停船 > teisen\ ;
+県勢 > kensei\ ;
+六感 > rokkan\ ;
+真偽 > shingi\ ;
+航程 > koutei\ ;
+分乗 > bunjou\ ;
+草地 > souchi\ ;
+元旦 > gantan\ ;
+先攻 > senkou\ ;
+処刑 > shokei\ ;
+画調 > gachou\ ;
+冗官 > joukan\ ;
+処分 > shobun\ ;
+軽水 > keisui\ ;
+自腹 > jibara\ ;
+真個 > shinko\ ;
+価額 > kagaku\ ;
+分与 > bun''yo\ ;
+較正 > kousei\ ;
+処処 > shosho\ ;
+芒洋 > bouyou\ ;
+小雪 > koyuki\ ;
+小雨 > kosame\ ;
+巡幸 > junkou\ ;
+導電 > douden\ ;
+兵役 > heieki\ ;
+小雀 > kogara\ ;
+真価 > shinka\ ;
+近刊 > kinkan\ ;
+函人 > kanjin\ ;
+盗塁 > tourui\ ;
+兼帯 > kentai\ ;
+苦手 > nigate\ ;
+対顔 > taigan\ ;
+若手 > wakate\ ;
+巨峰 > kyohou\ ;
+冬場 > fuyuba\ ;
+催眠 > saimin\ ;
+優柔 > yuujuu\ ;
+芸林 > geirin\ ;
+軒灯 > kentou\ ;
+相反 > souhan\ ;
+巨岩 > kyogan\ ;
+帯同 > taidou\ ;
+常勤 > joukin\ ;
+荘司 > shouji\ ;
+公役 > koueki\ ;
+全快 > zenkai\ ;
+内層 > naisou\ ;
+高等 > koutou\ ;
+凍原 > tougen\ ;
+楽界 > gakkai\ ;
+花柳 > karyuu\ ;
+花柱 > kachuu\ ;
+荘厳 > sougon\ ;
+出世 > shusse\ ;
+凶事 > kyouji\ ;
+市外 > shigai\ ;
+痘瘡 > tousou\ ;
+凄味 > sugomi\ ;
+自習 > jishuu\ ;
+凡僧 > bonsou\ ;
+対面 > taimen\ ;
+番茶 > bancha\ ;
+冊子 > soushi\ ;
+異色 > ishoku\ ;
+師友 > shiyuu\ ;
+痘痕 > toukon\ ;
+円寂 > enjaku\ ;
+全形 > zenkei\ ;
+段々 > dandan\ ;
+州崎 > susaki\ ;
+近傍 > kinbou\ ;
+入御 > nyuugo\ ;
+内容 > naiyou\ ;
+内宮 > naiguu\ ;
+公庭 > koutei\ ;
+内定 > naitei\ ;
+市塵 > shijin\ ;
+践言 > sengen\ ;
+芳書 > housho\ ;
+用談 > youdan\ ;
+花木 > kaboku\ ;
+荒原 > kougen\ ;
+公平 > kouhei\ ;
+内孫 > naison\ ;
+市場 > shijou\ ;
+男装 > dansou\ ;
+保身 > hoshin\ ;
+発憤 > happun\ ;
+再婚 > saikon\ ;
+舌端 > zettan\ ;
+全廃 > zenpai\ ;
+先投 > sentou\ ;
+偕老 > kairou\ ;
+全店 > zenten\ ;
+盲動 > moudou\ ;
+対陣 > taijin\ ;
+例題 > reidai\ ;
+帯剣 > taiken\ ;
+帝命 > teimei\ ;
+軟泥 > nandei\ ;
+茅屋 > bouoku\ ;
+入庫 > nyuuko\ ;
+用言 > yougen\ ;
+発意 > hatsui\ ;
+入府 > nyuufu\ ;
+芸文 > geibun\ ;
+凡例 > hanrei\ ;
+専門 > senmon\ ;
+発想 > hassou\ ;
+帯刀 > taitou\ ;
+近体 > kintai\ ;
+苦心 > kushin\ ;
+檀君 > dankun\ ;
+兼官 > kenkan\ ;
+全市 > zenshi\ ;
+尖鋭 > sen''ei\ ;
+全巻 > zenkan\ ;
+尿路 > nyouro\ ;
+県会 > kenkai\ ;
+盤台 > bandai\ ;
+布地 > nunoji\ ;
+至純 > shijun\ ;
+草原 > sougen\ ;
+自縛 > jibaku\ ;
+梅酒 > umeshu\ ;
+元手 > motode\ ;
+県令 > kenrei\ ;
+寝首 > nekubi\ ;
+生誕 > seitan\ ;
+俳諧 > haikai\ ;
+軟水 > nansui\ ;
+近代 > kindai\ ;
+県人 > kenjin\ ;
+盆地 > bonchi\ ;
+再変 > saihen\ ;
+偽称 > gishou\ ;
+軍港 > gunkou\ ;
+党弊 > touhei\ ;
+処世 > shosei\ ;
+冷厳 > reigen\ ;
+臭素 > shuuso\ ;
+内妻 > naisai\ ;
+茄子 > nasubi\ ;
+盟友 > meiyuu\ ;
+盗品 > touhin\ ;
+生計 > seikei\ ;
+舗石 > hoseki\ ;
+自給 > jikyuu\ ;
+返上 > henjou\ ;
+魚梯 > gyotei\ ;
+盛名 > seimei\ ;
+全島 > zentou\ ;
+赭顔 > shagan\ ;
+共寝 > tomone\ ;
+小銭 > kozeni\ ;
+皇帝 > koutei\ ;
+内奏 > naisou\ ;
+近世 > kinsei\ ;
+臨終 > rinjuu\ ;
+常例 > jourei\ ;
+草創 > sousou\ ;
+全岸 > zengan\ ;
+巨大 > kyodai\ ;
+辛味 > karami\ ;
+内外 > naigai\ ;
+若干 > jakkan\ ;
+屍諌 > shikan\ ;
+目先 > mesaki\ ;
+師僧 > shisou\ ;
+常体 > joutai\ ;
+目元 > memoto\ ;
+常住 > joujuu\ ;
+全山 > zenzan\ ;
+農兵 > nouhei\ ;
+傍目 > hatame\ ;
+展観 > tenkan\ ;
+展覧 > tenran\ ;
+甘言 > kangen\ ;
+常会 > joukai\ ;
+工大 > koudai\ ;
+公害 > kougai\ ;
+帥先 > sossen\ ;
+常任 > jounin\ ;
+俯角 > fukaku\ ;
+若布 > wakame\ ;
+帝制 > teisei\ ;
+痴漢 > chikan\ ;
+公定 > koutei\ ;
+軍法 > gunpou\ ;
+小金 > kogane\ ;
+登庸 > touyou\ ;
+全射 > zensha\ ;
+荊冠 > keikan\ ;
+冷剛 > reigou\ ;
+常人 > joujin\ ;
+魚板 > gyoban\ ;
+崩潰 > houkai\ ;
+公子 > koushi\ ;
+僧正 > soujou\ ;
+桑門 > soumon\ ;
+内報 > naihou\ ;
+允恭 > inkyou\ ;
+光彩 > kousai\ ;
+軸木 > jikugi\ ;
+兇徒 > kyouto\ ;
+相伝 > souden\ ;
+足蹴 > ashige\ ;
+帝冠 > teikan\ ;
+併音 > pin''in\ ;
+高目 > takame\ ;
+円域 > en''iki\ ;
+寒風 > kanpuu\ ;
+駅頭 > ekitou\ ;
+傾瀉 > keisha\ ;
+冷凍 > reitou\ ;
+軍民 > gunmin\ ;
+骨粉 > koppun\ ;
+病理 > byouri\ ;
+帰休 > kikyuu\ ;
+帰伏 > kifuku\ ;
+常世 > tokoyo\ ;
+傲然 > gouzen\ ;
+膵臓 > suizou\ ;
+其奴 > soitsu\ ;
+充当 > juutou\ ;
+修補 > shuuho\ ;
+布告 > fukoku\ ;
+皇居 > koukyo\ ;
+舎監 > shakan\ ;
+疱瘡 > housou\ ;
+権官 > kenkan\ ;
+儒教 > jukyou\ ;
+帰京 > kikyou\ ;
+俗議 > zokugi\ ;
+冷光 > reikou\ ;
+相乗 > soujou\ ;
+寝際 > negiwa\ ;
+師伝 > shiden\ ;
+内地 > naichi\ ;
+光年 > kounen\ ;
+的屋 > tekiya\ ;
+益友 > ekiyuu\ ;
+内在 > naizai\ ;
+兵変 > heihen\ ;
+山葵 > wasabi\ ;
+小過 > shouka\ ;
+兵士 > heishi\ ;
+偵知 > teichi\ ;
+疫癘 > ekirei\ ;
+盲人 > moujin\ ;
+皇宮 > kouguu\ ;
+能面 > noumen\ ;
+盛典 > seiten\ ;
+保証 > hoshou\ ;
+検算 > kenzan\ ;
+皇宗 > kousou\ ;
+先師 > senshi\ ;
+先帝 > sentei\ ;
+根雪 > neyuki\ ;
+茅場 > kayaba\ ;
+帰一 > kiitsu\ ;
+皇孫 > kouson\ ;
+侮辱 > bujoku\ ;
+番線 > bansen\ ;
+農会 > noukai\ ;
+俗語 > zokugo\ ;
+目今 > mokkon\ ;
+冥加 > myouga\ ;
+臥竜 > garyou\ ;
+直下 > chokka\ ;
+尸諌 > shikan\ ;
+山菜 > sansai\ ;
+転校 > tenkou\ ;
+輪形 > rinkei\ ;
+俗話 > zokuwa\ ;
+疥癬 > kaisen\ ;
+船灯 > sentou\ ;
+自称 > jishou\ ;
+苦学 > kugaku\ ;
+元帥 > gensui\ ;
+草体 > soutai\ ;
+白寿 > hakuju\ ;
+冥利 > myouri\ ;
+市勢 > shisei\ ;
+体験 > taiken\ ;
+発展 > hatten\ ;
+巡回 > junkai\ ;
+構文 > koubun\ ;
+舷灯 > gentou\ ;
+輪廻 > rin''ne\ ;
+典型 > tenkei\ ;
+山荘 > sansou\ ;
+公売 > koubai\ ;
+馨香 > keikou\ ;
+脱退 > dattai\ ;
+俗解 > zokkai\ ;
+背鰭 > sebire\ ;
+発射 > hassha\ ;
+僚機 > ryouki\ ;
+全天 > zenten\ ;
+校風 > koufuu\ ;
+赤門 > akamon\ ;
+冥冥 > meimei\ ;
+屍蝋 > shirou\ ;
+畝織 > uneori\ ;
+俗見 > zokken\ ;
+倉荷 > kurani\ ;
+芳情 > houjou\ ;
+市制 > shisei\ ;
+首魁 > shukai\ ;
+入夫 > nyuufu\ ;
+全壊 > zenkai\ ;
+生薑 > shouga\ ;
+公報 > kouhou\ ;
+優性 > yuusei\ ;
+兵団 > heidan\ ;
+対遇 > taiguu\ ;
+生蕃 > seiban\ ;
+供進 > gushin\ ;
+免官 > menkan\ ;
+桟道 > sandou\ ;
+先導 > sendou\ ;
+市内 > shinai\ ;
+小路 > shouji\ ;
+軽挙 > keikyo\ ;
+良案 > ryouan\ ;
+容顔 > yougan\ ;
+兼営 > ken''ei\ ;
+円味 > marumi\ ;
+盛会 > seikai\ ;
+円周 > enshuu\ ;
+芸当 > geitou\ ;
+優待 > yuutai\ ;
+甘薯 > kansho\ ;
+内命 > naimei\ ;
+車検 > shaken\ ;
+芳志 > houshi\ ;
+小足 > koashi\ ;
+皇天 > kouten\ ;
+対辺 > taihen\ ;
+超過 > chouka\ ;
+盛代 > seidai\ ;
+苗字 > myouji\ ;
+背骨 > sebone\ ;
+内含 > naigan\ ;
+馬革 > bakaku\ ;
+盟主 > meishu\ ;
+内向 > naikou\ ;
+光子 > koushi\ ;
+香香 > koukou\ ;
+内合 > naigou\ ;
+船渠 > senkyo\ ;
+甘蔗 > kansho\ ;
+巨口 > kyokou\ ;
+公団 > koudan\ ;
+再勤 > saikin\ ;
+市債 > shisai\ ;
+岩穴 > iwaana\ ;
+元寇 > genkou\ ;
+余震 > yoshin\ ;
+全地 > zenchi\ ;
+畏縮 > ishuku\ ;
+冕冠 > benkan\ ;
+茶会 > chakai\ ;
+瑶顔 > yougan\ ;
+低頭 > teitou\ ;
+円卓 > entaku\ ;
+密閉 > mippei\ ;
+山背 > yamase\ ;
+様態 > youtai\ ;
+茶代 > chadai\ ;
+体面 > taimen\ ;
+催涙 > sairui\ ;
+背馳 > haichi\ ;
+共営 > kyouei\ ;
+脱走 > dassou\ ;
+百夜 > momoyo\ ;
+苦境 > kukyou\ ;
+写像 > shazou\ ;
+実験 > jikken\ ;
+入園 > nyuuen\ ;
+茶人 > chajin\ ;
+苦塩 > nigari\ ;
+発奮 > happun\ ;
+英国 > eikoku\ ;
+内包 > naihou\ ;
+再刊 > saikan\ ;
+用船 > yousen\ ;
+高燥 > kousou\ ;
+内勤 > naikin\ ;
+花床 > kashou\ ;
+肺魚 > haigyo\ ;
+自白 > jihaku\ ;
+家集 > kashuu\ ;
+軍曹 > gunsou\ ;
+軍書 > gunsho\ ;
+傍点 > bouten\ ;
+便覧 > benran\ ;
+発声 > hassei\ ;
+登壇 > toudan\ ;
+構成 > kousei\ ;
+検眼 > kengan\ ;
+再再 > saisai\ ;
+倒置 > touchi\ ;
+校門 > koumon\ ;
+首題 > shudai\ ;
+内剛 > naigou\ ;
+軒昂 > kenkou\ ;
+先妻 > sensai\ ;
+川原 > kawara\ ;
+市会 > shikai\ ;
+骨相 > kossou\ ;
+転換 > tenkan\ ;
+共和 > kyouwa\ ;
+甘草 > kanzou\ ;
+内分 > naibun\ ;
+甘茶 > amacha\ ;
+登場 > toujou\ ;
+寝酒 > nezake\ ;
+兄姉 > keishi\ ;
+正々 > seisei\ ;
+市人 > shijin\ ;
+兄妹 > keimai\ ;
+入営 > nyuuei\ ;
+兼勤 > kenkin\ ;
+元始 > genshi\ ;
+膏肓 > koukou\ ;
+高点 > kouten\ ;
+軒数 > kensuu\ ;
+先天 > senten\ ;
+先夜 > sen''ya\ ;
+市井 > shisei\ ;
+円内 > en''nai\ ;
+内内 > nainai\ ;
+軍旅 > gunryo\ ;
+内典 > naiten\ ;
+軽快 > keikai\ ;
+航海 > koukai\ ;
+構想 > kousou\ ;
+家長 > kachou\ ;
+全員 > zen''in\ ;
+臨界 > rinkai\ ;
+高瀬 > takase\ ;
+全品 > zenpin\ ;
+検痰 > kentan\ ;
+入唐 > nittou\ ;
+市上 > shijou\ ;
+小話 > shouwa\ ;
+皇嗣 > koushi\ ;
+工兵 > kouhei\ ;
+背革 > segawa\ ;
+巨億 > kyooku\ ;
+背面 > haimen\ ;
+軍政 > gunsei\ ;
+債権 > saiken\ ;
+先塔 > sentou\ ;
+公司 > koushi\ ;
+輪姦 > rinkan\ ;
+航法 > kouhou\ ;
+巨像 > kyozou\ ;
+疑獄 > gigoku\ ;
+小言 > kogoto\ ;
+内債 > naisai\ ;
+検番 > kenban\ ;
+充填 > juuten\ ;
+層群 > sougun\ ;
+花屋 > hanaya\ ;
+軟投 > nantou\ ;
+内偵 > naitei\ ;
+全史 > zenshi\ ;
+転戦 > tensen\ ;
+偶然 > guuzen\ ;
+生育 > seiiku\ ;
+膀胱 > boukou\ ;
+転成 > tensei\ ;
+兵制 > heisei\ ;
+岩盤 > ganban\ ;
+魔性 > mashou\ ;
+共助 > kyoujo\ ;
+較差 > kakusa\ ;
+棒線 > bousen\ ;
+八十 > yasoji\ ;
+兵刃 > heijin\ ;
+再会 > saikai\ ;
+花客 > kakaku\ ;
+花実 > hanami\ ;
+苗圃 > byouho\ ;
+再任 > sainin\ ;
+余録 > yoroku\ ;
+病気 > byouki\ ;
+胸部 > kyoubu\ ;
+駅逓 > ekitei\ ;
+先在 > senzai\ ;
+実際 > jissai\ ;
+生者 > shouja\ ;
+由緒 > yuisho\ ;
+俳聖 > haisei\ ;
+山系 > sankei\ ;
+男系 > dankei\ ;
+佳辰 > kashin\ ;
+対論 > tairon\ ;
+権原 > kengen\ ;
+寮費 > ryouhi\ ;
+対談 > taidan\ ;
+身柄 > migara\ ;
+倫社 > rinsha\ ;
+巨体 > kyotai\ ;
+内住 > naijuu\ ;
+皇后 > kougou\ ;
+小袖 > kosode\ ;
+対語 > tsuigo\ ;
+能辯 > nouben\ ;
+苦味 > nigami\ ;
+僧房 > soubou\ ;
+公判 > kouhan\ ;
+魅惑 > miwaku\ ;
+公刊 > koukan\ ;
+再三 > saisan\ ;
+兇器 > kyouki\ ;
+島民 > toumin\ ;
+権勢 > kensei\ ;
+巨人 > kyojin\ ;
+内争 > naisou\ ;
+将補 > shouho\ ;
+内乱 > nairan\ ;
+兎唇 > toshin\ ;
+兼併 > kenpei\ ;
+工人 > koujin\ ;
+芸大 > geidai\ ;
+公党 > koutou\ ;
+自爆 > jibaku\ ;
+舷梯 > gentei\ ;
+脱衣 > datsui\ ;
+円丘 > enkyuu\ ;
+会館 > kaikan\ ;
+芝居 > shibai\ ;
+軟性 > nansei\ ;
+皆勤 > kaikin\ ;
+巨万 > kyoman\ ;
+軍扇 > gunsen\ ;
+査閲 > saetsu\ ;
+寸言 > sungen\ ;
+密送 > missou\ ;
+輪回 > rin''ne\ ;
+用紙 > youshi\ ;
+寄進 > kishin\ ;
+痔核 > jikaku\ ;
+全免 > zenmen\ ;
+発向 > hakkou\ ;
+体重 > taijuu\ ;
+公債 > kousai\ ;
+党勢 > tousei\ ;
+棄約 > kiyaku\ ;
+侍読 > jidoku\ ;
+骨牌 > karuta\ ;
+側溝 > sokkou\ ;
+審議 > shingi\ ;
+骨片 > koppen\ ;
+傾斜 > keisha\ ;
+儒学 > jugaku\ ;
+自然 > shizen\ ;
+専行 > senkou\ ;
+赤赤 > akaaka\ ;
+色悪 > iroaku\ ;
+苦力 > kuurii\ ;
+身方 > mikata\ ;
+楷書 > kaisho\ ;
+宝鑑 > houkan\ ;
+会頭 > kaitou\ ;
+信者 > shinja\ ;
+起請 > kishou\ ;
+膿瘍 > nouyou\ ;
+概数 > gaisuu\ ;
+芸域 > geiiki\ ;
+小虎 > kodora\ ;
+色恋 > irokoi\ ;
+肺門 > haimon\ ;
+兵仗 > heijou\ ;
+家郷 > kakyou\ ;
+畢生 > hissei\ ;
+信義 > shingi\ ;
+岳父 > gakufu\ ;
+高段 > koudan\ ;
+生紙 > kigami\ ;
+膿疱 > nouhou\ ;
+例言 > reigen\ ;
+皇典 > kouten\ ;
+先君 > senkun\ ;
+佳賞 > kashou\ ;
+公侯 > koukou\ ;
+赤貝 > akagai\ ;
+例解 > reikai\ ;
+皆兵 > kaihei\ ;
+軍情 > gunjou\ ;
+高歯 > takaba\ ;
+兵乱 > heiran\ ;
+何遍 > nanben\ ;
+公使 > koushi\ ;
+先取 > senshu\ ;
+発勁 > hakkei\ ;
+駄賃 > dachin\ ;
+発効 > hakkou\ ;
+尾翼 > biyoku\ ;
+髄液 > zuieki\ ;
+封蝋 > fuurou\ ;
+党内 > tounai\ ;
+用箋 > yousen\ ;
+公住 > koujuu\ ;
+全便 > zenbin\ ;
+生粋 > kissui\ ;
+甲種 > koushu\ ;
+俗耳 > zokuji\ ;
+高欄 > kouran\ ;
+桿菌 > kankin\ ;
+公会 > koukai\ ;
+舞楽 > bugaku\ ;
+宴遊 > en''yuu\ ;
+元号 > gengou\ ;
+骨炭 > kottan\ ;
+発券 > hakken\ ;
+側泳 > sobaei\ ;
+英俊 > eishun\ ;
+異物 > ibutsu\ ;
+全体 > zentai\ ;
+環視 > kanshi\ ;
+脱藩 > dappan\ ;
+発刊 > hakkan\ ;
+公人 > koujin\ ;
+儀宸 > gishin\ ;
+係船 > keisen\ ;
+柔順 > juujun\ ;
+全会 > zenkai\ ;
+番犬 > banken\ ;
+馬身 > bashin\ ;
+白光 > hakkou\ ;
+痙攣 > keiren\ ;
+低迷 > teimei\ ;
+芯地 > shinji\ ;
+便船 > binsen\ ;
+全人 > zenjin\ ;
+腎臓 > jinzou\ ;
+馳走 > chisou\ ;
+発光 > hakkou\ ;
+元勲 > genkun\ ;
+腋臭 > wakiga\ ;
+停滞 > teitai\ ;
+先制 > sensei\ ;
+香道 > koudou\ ;
+英京 > eikyou\ ;
+痴態 > chitai\ ;
+山砦 > sansai\ ;
+寝言 > negoto\ ;
+佳調 > kachou\ ;
+高楼 > kourou\ ;
+転居 > tenkyo\ ;
+偉烈 > iretsu\ ;
+光冠 > koukan\ ;
+魯国 > rokoku\ ;
+脇見 > wakimi\ ;
+充分 > juubun\ ;
+模作 > mosaku\ ;
+皆伝 > kaiden\ ;
+痴情 > chijou\ ;
+孝養 > kouyou\ ;
+臨港 > rinkou\ ;
+崇敬 > suukei\ ;
+転寝 > gorone\ ;
+腐肉 > funiku\ ;
+官金 > kankin\ ;
+輸入 > yunyuu\ ;
+先兵 > senpei\ ;
+軍帽 > gunbou\ ;
+兇具 > kyougu\ ;
+俗縁 > zokuen\ ;
+軍師 > gunshi\ ;
+腹筋 > fukkin\ ;
+自涜 > jitoku\ ;
+膚着 > hadagi\ ;
+走行 > soukou\ ;
+容赦 > yousha\ ;
+尿素 > nyouso\ ;
+栄進 > eishin\ ;
+構外 > kougai\ ;
+楓林 > fuurin\ ;
+党人 > toujin\ ;
+臨海 > rinkai\ ;
+余賊 > yozoku\ ;
+検温 > ken''on\ ;
+寓言 > guugen\ ;
+党争 > tousou\ ;
+遅々 > chichi\ ;
+首輪 > kubiwa\ ;
+芸名 > geimei\ ;
+健気 > kenage\ ;
+高校 > koukou\ ;
+孝順 > koujun\ ;
+肛門 > koumon\ ;
+自注 > jichuu\ ;
+栄辱 > eijoku\ ;
+官邸 > kantei\ ;
+赤裸 > sekira\ ;
+致死 > chishi\ ;
+小船 > kobune\ ;
+伍長 > gochou\ ;
+艶容 > en''you\ ;
+屈筋 > kukkin\ ;
+容貌 > youbou\ ;
+小舟 > kobune\ ;
+発会 > hakkai\ ;
+自沈 > jichin\ ;
+官選 > kansen\ ;
+痛打 > tsuuda\ ;
+臭気 > shuuki\ ;
+家賃 > yachin\ ;
+登仙 > tousen\ ;
+芳名 > houmei\ ;
+学院 > gakuin\ ;
+魔境 > makyou\ ;
+舌根 > zekkon\ ;
+倉皇 > soukou\ ;
+崩御 > hougyo\ ;
+体貌 > taibou\ ;
+饅頭 > manjuu\ ;
+作譜 > sakufu\ ;
+併行 > heikou\ ;
+先便 > senbin\ ;
+小膝 > kohiza\ ;
+前々 > maemae\ ;
+岬湾 > kouwan\ ;
+倒産 > tousan\ ;
+小腹 > kobara\ ;
+先例 > senrei\ ;
+元値 > motone\ ;
+低資 > teishi\ ;
+骨法 > koppou\ ;
+生硬 > seikou\ ;
+良家 > ryouke\ ;
+光体 > koutai\ ;
+官辺 > kanpen\ ;
+苟且 > kousho\ ;
+層相 > sousou\ ;
+実車 > jissha\ ;
+先住 > senjuu\ ;
+密計 > mikkei\ ;
+優勢 > yuusei\ ;
+傲慢 > gouman\ ;
+介鱗 > kairin\ ;
+胸裏 > kyouri\ ;
+小脇 > kowaki\ ;
+寄託 > kitaku\ ;
+崇拝 > suuhai\ ;
+概念 > gainen\ ;
+用益 > youeki\ ;
+屯田 > tonden\ ;
+膾炙 > kaisha\ ;
+癸丑 > kichuu\ ;
+先代 > sendai\ ;
+駘蕩 > taitou\ ;
+停止 > teishi\ ;
+小股 > komata\ ;
+先人 > senjin\ ;
+転変 > tenpen\ ;
+転売 > tenbai\ ;
+側根 > sokkon\ ;
+完遂 > kansui\ ;
+実践 > jissen\ ;
+官軍 > kangun\ ;
+背走 > haisou\ ;
+身形 > minari\ ;
+校訓 > koukun\ ;
+小耳 > komimi\ ;
+聴音 > chouon\ ;
+校訂 > koutei\ ;
+興替 > koutai\ ;
+容認 > younin\ ;
+脱脂 > dasshi\ ;
+先主 > senshu\ ;
+会釈 > eshaku\ ;
+孔雀 > kujaku\ ;
+検死 > kenshi\ ;
+小者 > komono\ ;
+代願 > daigan\ ;
+養鶏 > youkei\ ;
+係累 > keirui\ ;
+肝銘 > kanmei\ ;
+体認 > tainin\ ;
+余角 > yokaku\ ;
+脱肛 > dakkou\ ;
+寝藁 > newara\ ;
+優先 > yuusen\ ;
+賽銭 > saisen\ ;
+偶有 > guuyuu\ ;
+密行 > mikkou\ ;
+元三 > ganzan\ ;
+膠状 > koujou\ ;
+体言 > taigen\ ;
+健棒 > kenbou\ ;
+刺々 > iraira\ ;
+身幅 > mihaba\ ;
+仲間 > nakama\ ;
+伝道 > dendou\ ;
+伴走 > bansou\ ;
+身巾 > mihaba\ ;
+孔門 > koumon\ ;
+転地 > tenchi\ ;
+良夜 > ryouya\ ;
+体要 > taiyou\ ;
+伝送 > densou\ ;
+贋造 > ganzou\ ;
+鮎並 > ainame\ ;
+船影 > sen''ei\ ;
+興敗 > kouhai\ ;
+転回 > tenkai\ ;
+臨検 > rinken\ ;
+対聯 > tairen\ ;
+癈兵 > haihei\ ;
+首謀 > shubou\ ;
+僕婢 > bokuhi\ ;
+棒状 > boujou\ ;
+高揚 > kouyou\ ;
+他領 > taryou\ ;
+聯隊 > rentai\ ;
+寸胴 > zundou\ ;
+僧堂 > soudou\ ;
+侍臣 > jishin\ ;
+験算 > kenzan\ ;
+生産 > seisan\ ;
+生生 > seisei\ ;
+人魚 > ningyo\ ;
+体裁 > teisai\ ;
+軍士 > gunshi\ ;
+便管 > benkan\ ;
+偶数 > guusuu\ ;
+便箋 > binsen\ ;
+養魚 > yougyo\ ;
+導線 > dousen\ ;
+聖餐 > seisan\ ;
+完走 > kansou\ ;
+伉配 > kouhai\ ;
+馬蝿 > umabae\ ;
+花信 > kashin\ ;
+宣誓 > sensei\ ;
+令閨 > reikei\ ;
+僧坊 > soubou\ ;
+対置 > taichi\ ;
+駐英 > chuuei\ ;
+肩身 > katami\ ;
+今風 > imafuu\ ;
+這々 > houhou\ ;
+芸人 > geinin\ ;
+柔道 > juudou\ ;
+層状 > soujou\ ;
+脱線 > dassen\ ;
+根菜 > konsai\ ;
+宣言 > sengen\ ;
+胡蝶 > kochou\ ;
+小糠 > konuka\ ;
+検案 > ken''an\ ;
+枝隊 > shitai\ ;
+定論 > teiron\ ;
+楽屋 > gakuya\ ;
+高所 > kousho\ ;
+病後 > byougo\ ;
+膿汁 > noujuu\ ;
+傲岸 > gougan\ ;
+小米 > kogome\ ;
+学部 > gakubu\ ;
+臨書 > rinsho\ ;
+査読 > sadoku\ ;
+腫瘍 > shuyou\ ;
+楽寝 > rakune\ ;
+封緘 > fuukan\ ;
+根茎 > konkei\ ;
+膨満 > bouman\ ;
+修理 > shuuri\ ;
+脱糞 > dappun\ ;
+信疑 > shingi\ ;
+実見 > jikken\ ;
+軍団 > gundan\ ;
+臘梅 > roubai\ ;
+定言 > teigen\ ;
+査証 > sashou\ ;
+倒潰 > toukai\ ;
+舌戦 > zessen\ ;
+尖端 > sentan\ ;
+官許 > kankyo\ ;
+高慢 > kouman\ ;
+柔軟 > juunan\ ;
+小箱 > kobako\ ;
+聖霊 > seirei\ ;
+癈人 > haijin\ ;
+転向 > tenkou\ ;
+密葬 > missou\ ;
+尽瘁 > jinsui\ ;
+佳良 > karyou\ ;
+尊簡 > sonkan\ ;
+導管 > douken\ ;
+射精 > shasei\ ;
+定見 > teiken\ ;
+保留 > horyuu\ ;
+構内 > kounai\ ;
+瓦礫 > gareki\ ;
+実装 > jissou\ ;
+極寒 > gokkan\ ;
+駅舎 > ekisha\ ;
+来鮮 > raisen\ ;
+人類 > jinrui\ ;
+林間 > rinkan\ ;
+宗規 > shuuki\ ;
+審美 > shinbi\ ;
+崩壊 > houkai\ ;
+亡魂 > boukon\ ;
+贈賄 > zouwai\ ;
+使聘 > shihei\ ;
+人頭 > jintou\ ;
+走者 > sousha\ ;
+孝道 > koudou\ ;
+実行 > jikkou\ ;
+軍営 > gun''ei\ ;
+僭取 > senshu\ ;
+様体 > youtai\ ;
+賜金 > shikin\ ;
+校葬 > kousou\ ;
+軽便 > keiben\ ;
+使者 > shisha\ ;
+官製 > kansei\ ;
+偶成 > guusei\ ;
+俗界 > zokkai\ ;
+転勤 > tenkin\ ;
+交驩 > koukan\ ;
+俗画 > zokuga\ ;
+松韻 > shouin\ ;
+対米 > taibei\ ;
+宋詞 > soushi\ ;
+平々 > heihei\ ;
+距爪 > kyosou\ ;
+僧号 > sougou\ ;
+脂肪 > shibou\ ;
+人面 > jinmen\ ;
+専管 > senkan\ ;
+肌身 > hadami\ ;
+良否 > ryouhi\ ;
+飼養 > shiyou\ ;
+島嶼 > tousho\ ;
+老齢 > rourei\ ;
+良吏 > ryouri\ ;
+松露 > shouro\ ;
+封筒 > fuutou\ ;
+飛鳥 > hichou\ ;
+脚絆 > kyahan\ ;
+偶感 > guukan\ ;
+貝類 > kairui\ ;
+付録 > furoku\ ;
+偏旁 > henbou\ ;
+代金 > daikin\ ;
+高弟 > koutei\ ;
+購買 > koubai\ ;
+脱稿 > dakkou\ ;
+偏斜 > hensha\ ;
+山海 > sankai\ ;
+密航 > mikkou\ ;
+寒肥 > kangoe\ ;
+対等 > taitou\ ;
+転写 > tensha\ ;
+会談 > kaidan\ ;
+舎弟 > shatei\ ;
+傾城 > keisei\ ;
+健投 > kentou\ ;
+馴致 > junchi\ ;
+魚介 > gyokai\ ;
+傘屋 > kasaya\ ;
+高年 > kounen\ ;
+併置 > heichi\ ;
+射程 > shatei\ ;
+伝言 > dengon\ ;
+車台 > shadai\ ;
+畳数 > jousuu\ ;
+対空 > taikuu\ ;
+会計 > kaikei\ ;
+作興 > sakkou\ ;
+聯邦 > renpou\ ;
+腸炎 > chouen\ ;
+人間 > ningen\ ;
+学費 > gakuhi\ ;
+東面 > toumen\ ;
+高工 > koukou\ ;
+校舎 > kousha\ ;
+小破 > shouha\ ;
+資金 > shikin\ ;
+高嶺 > takane\ ;
+飛魚 > tobiuo\ ;
+山水 > sansui\ ;
+余興 > yokyou\ ;
+山気 > yamake\ ;
+小石 > koishi\ ;
+興廃 > kouhai\ ;
+軍勢 > gunzei\ ;
+余臭 > yoshuu\ ;
+会見 > kaiken\ ;
+倒死 > toushi\ ;
+封禅 > houzen\ ;
+贅言 > zeigen\ ;
+現金 > genkin\ ;
+居然 > kyozen\ ;
+億万 > okuman\ ;
+検挙 > kenkyo\ ;
+軍功 > gunkou\ ;
+転倒 > tentou\ ;
+町歩 > choubu\ ;
+僧兵 > souhei\ ;
+疑惑 > giwaku\ ;
+島守 > toushu\ ;
+代返 > daihen\ ;
+停戦 > teisen\ ;
+楽土 > rakudo\ ;
+臨戦 > rinsen\ ;
+宝蔵 > houzou\ ;
+楽園 > rakuen\ ;
+至情 > shijou\ ;
+高峰 > kouhou\ ;
+林野 > rin''ya\ ;
+軍制 > gunsei\ ;
+京阪 > keihan\ ;
+赤線 > akasen\ ;
+家臣 > kashin\ ;
+交霊 > kourei\ ;
+他郷 > takyou\ ;
+軍刀 > guntou\ ;
+香草 > kousou\ ;
+痴呆 > chihou\ ;
+条項 > joukou\ ;
+軟便 > nanben\ ;
+小目 > komoku\ ;
+某誌 > boushi\ ;
+栄落 > eiraku\ ;
+車券 > shaken\ ;
+転住 > tenjuu\ ;
+用法 > youhou\ ;
+艙口 > soukou\ ;
+臆断 > okudan\ ;
+高山 > kouzan\ ;
+躍如 > yakujo\ ;
+高層 > kousou\ ;
+小皿 > kozara\ ;
+小皺 > kojiwa\ ;
+亡霊 > bourei\ ;
+交際 > kousai\ ;
+船型 > senkei\ ;
+赤経 > sekkei\ ;
+佞者 > neisha\ ;
+業報 > gouhou\ ;
+馬肉 > baniku\ ;
+体腔 > taikou\ ;
+偕成 > kaisei\ ;
+疑心 > gishin\ ;
+軍兵 > gunpei\ ;
+来電 > raiden\ ;
+東門 > toumon\ ;
+高専 > kousen\ ;
+健忘 > kenbou\ ;
+用水 > yousui\ ;
+車内 > shanai\ ;
+馭者 > gyosha\ ;
+魅了 > miryou\ ;
+二食 > nijiki\ ;
+船団 > sendan\ ;
+脂粉 > shifun\ ;
+現送 > gensou\ ;
+高官 > koukan\ ;
+至当 > shitou\ ;
+玄黄 > genkou\ ;
+体育 > taiiku\ ;
+軍僧 > gunsou\ ;
+履歴 > rireki\ ;
+僧侶 > souryo\ ;
+林道 > rindou\ ;
+貴重 > kichou\ ;
+余習 > yoshuu\ ;
+豊麗 > hourei\ ;
+値札 > nefuda\ ;
+低能 > teinou\ ;
+来阪 > raihan\ ;
+僧体 > soutai\ ;
+例祭 > reisai\ ;
+貴酬 > kishuu\ ;
+胚胎 > haitai\ ;
+僧伽 > sougya\ ;
+桧皮 > hiwada\ ;
+傾向 > keikou\ ;
+子豚 > kobuta\ ;
+貯金 > chokin\ ;
+楽員 > gakuin\ ;
+健康 > kenkou\ ;
+自得 > jitoku\ ;
+僭主 > senshu\ ;
+代走 > daisou\ ;
+代赭 > taisha\ ;
+肺葉 > haiyou\ ;
+僭上 > senjou\ ;
+臨御 > ringyo\ ;
+貧鉱 > hinkou\ ;
+偏愛 > hen''ai\ ;
+偽学 > gigaku\ ;
+傑士 > kesshi\ ;
+首脳 > shunou\ ;
+軍使 > gunshi\ ;
+生残 > seizan\ ;
+生死 > seishi\ ;
+板金 > bankin\ ;
+棟木 > munagi\ ;
+番所 > bansho\ ;
+路標 > rohyou\ ;
+眈々 > tantan\ ;
+男根 > dankon\ ;
+低置 > teichi\ ;
+首肯 > shukou\ ;
+車体 > shatai\ ;
+船員 > sen''in\ ;
+病因 > byouin\ ;
+字訳 > jiyaku\ ;
+軍令 > gunrei\ ;
+偏性 > hensei\ ;
+棍棒 > konbou\ ;
+層楼 > sourou\ ;
+停年 > teinen\ ;
+傘地 > kasaji\ ;
+臨幸 > rinkou\ ;
+軍人 > gunjin\ ;
+自席 > jiseki\ ;
+予震 > yoshin\ ;
+官舎 > kansha\ ;
+騒然 > souzen\ ;
+高大 > koudai\ ;
+臥床 > gashou\ ;
+山林 > sanrin\ ;
+極右 > kyokuu\ ;
+木魂 > kodama\ ;
+高士 > koushi\ ;
+腎炎 > jin''en\ ;
+山村 > sanson\ ;
+人選 > jinsen\ ;
+小猫 > koneko\ ;
+仮託 > kataku\ ;
+対生 > taisei\ ;
+棒杭 > bougui\ ;
+船台 > sendai\ ;
+人道 > jindou\ ;
+骨幹 > kokkan\ ;
+棒杙 > bougui\ ;
+馬糧 > baryou\ ;
+資財 > shizai\ ;
+馬糞 > maguso\ ;
+人造 > jinzou\ ;
+僅僅 > kinkin\ ;
+極印 > gokuin\ ;
+代謝 > taisha\ ;
+代講 > daikou\ ;
+会葬 > kaisou\ ;
+孝行 > koukou\ ;
+甲板 > kouhan\ ;
+車上 > shajou\ ;
+至尊 > shison\ ;
+舅姑 > kyuuko\ ;
+争闘 > soutou\ ;
+興奮 > koufun\ ;
+艦上 > kanjou\ ;
+肺臓 > haizou\ ;
+身内 > miuchi\ ;
+小物 > komono\ ;
+高堂 > koudou\ ;
+小牛 > koushi\ ;
+身共 > midomo\ ;
+瑶緘 > youkan\ ;
+債券 > saiken\ ;
+至宝 > shihou\ ;
+体系 > taikei\ ;
+偏平 > henpei\ ;
+身元 > mimoto\ ;
+察知 > satchi\ ;
+生検 > seiken\ ;
+京都 > kyouto\ ;
+末香 > makkou\ ;
+至孝 > shikou\ ;
+木馬 > mokuba\ ;
+側女 > sobame\ ;
+本館 > honkan\ ;
+代言 > daigen\ ;
+東郊 > toukou\ ;
+肺胞 > haihou\ ;
+高地 > kouchi\ ;
+東邦 > touhou\ ;
+聖賢 > seiken\ ;
+人車 > jinsha\ ;
+痴人 > chijin\ ;
+朱顔 > shugan\ ;
+人身 > hitomi\ ;
+用材 > youzai\ ;
+交配 > kouhai\ ;
+東遷 > tousen\ ;
+肺肝 > haikan\ ;
+足湯 > ashiyu\ ;
+定置 > teichi\ ;
+傾倒 > keitou\ ;
+業務 > gyoumu\ ;
+倍数 > baisuu\ ;
+桑田 > souden\ ;
+老雄 > rouyuu\ ;
+船出 > funade\ ;
+自宅 > jitaku\ ;
+脇目 > wakime\ ;
+検屍 > kenshi\ ;
+本願 > hongan\ ;
+本題 > hondai\ ;
+乱雲 > ran''un\ ;
+疾呼 > shikko\ ;
+傭兵 > youhei\ ;
+船具 > funagu\ ;
+家筋 > iesuji\ ;
+豊饒 > houjou\ ;
+本音 > hon''ne\ ;
+付託 > futaku\ ;
+会舘 > kaikan\ ;
+末項 > makkou\ ;
+生来 > seirai\ ;
+交遊 > kouyuu\ ;
+倦憊 > kenpai\ ;
+枢要 > suuyou\ ;
+颱風 > taifuu\ ;
+実線 > jissen\ ;
+寝癖 > neguse\ ;
+臍帯 > seitai\ ;
+検定 > kentei\ ;
+来邸 > raitei\ ;
+腹案 > fukuan\ ;
+生木 > namaki\ ;
+草々 > sousou\ ;
+余程 > yohodo\ ;
+代行 > daikou\ ;
+島司 > toushi\ ;
+傲倨 > goukyo\ ;
+骨子 > kosshi\ ;
+至大 > shidai\ ;
+使用 > shiyou\ ;
+乱闘 > rantou\ ;
+来遊 > raiyuu\ ;
+東軍 > tougun\ ;
+展望 > tenbou\ ;
+耳輪 > mimiwa\ ;
+余禄 > yoroku\ ;
+小潮 > koshio\ ;
+審理 > shinri\ ;
+梶木 > kajiki\ ;
+貧賤 > hinsen\ ;
+貧賎 > hinsen\ ;
+来迎 > raigou\ ;
+有髪 > uhatsu\ ;
+赤痢 > sekiri\ ;
+便法 > benpou\ ;
+船倉 > sensou\ ;
+低空 > teikuu\ ;
+木霊 > kodama\ ;
+伝聞 > denbun\ ;
+本隊 > hontai\ ;
+岩層 > gansou\ ;
+肝臓 > kanzou\ ;
+朝顔 > asagao\ ;
+身丈 > mitake\ ;
+倦怠 > kentai\ ;
+本陣 > honjin\ ;
+本院 > hon''in\ ;
+尨毛 > mukuge\ ;
+定紋 > joumon\ ;
+養豚 > youton\ ;
+付表 > fuhyou\ ;
+家禄 > karoku\ ;
+朱門 > shumon\ ;
+肝腎 > kanjin\ ;
+併用 > heiyou\ ;
+高吟 > kougin\ ;
+木陰 > kokage\ ;
+船体 > sentai\ ;
+高名 > koumei\ ;
+倒懸 > touken\ ;
+債主 > saishu\ ;
+現行 > genkou\ ;
+環状 > kanjou\ ;
+来車 > raisha\ ;
+背筋 > haikin\ ;
+山手 > yamate\ ;
+腋毛 > wakige\ ;
+俳文 > haibun\ ;
+便殿 > benden\ ;
+最高 > saikou\ ;
+梗概 > kougai\ ;
+肝胆 > kantan\ ;
+高原 > kougen\ ;
+朝露 > chouro\ ;
+屯所 > tonsho\ ;
+傭人 > younin\ ;
+賀表 > gahyou\ ;
+朝霞 > chouka\ ;
+宝算 > housan\ ;
+茶々 > chacha\ ;
+風霜 > fuusou\ ;
+起爆 > kibaku\ ;
+興味 > kyoumi\ ;
+耐酸 > taisan\ ;
+健在 > kenzai\ ;
+肉芽 > nikuga\ ;
+臨場 > rinjou\ ;
+島内 > tounai\ ;
+用捨 > yousha\ ;
+孤舟 > koshuu\ ;
+二進 > nishin\ ;
+村道 > sondou\ ;
+偏好 > henkou\ ;
+二通 > nitsuu\ ;
+冥々 > meimei\ ;
+子葉 > shiyou\ ;
+肯綮 > koukei\ ;
+佩用 > haiyou\ ;
+乗降 > joukou\ ;
+事迹 > jiseki\ ;
+官等 > kantou\ ;
+値幅 > nehaba\ ;
+玄関 > genkan\ ;
+風防 > fuubou\ ;
+尚武 > shoubu\ ;
+枯葉 > kareha\ ;
+家督 > katoku\ ;
+偶吟 > guukin\ ;
+伝線 > densen\ ;
+値巾 > nehaba\ ;
+自国 > jikoku\ ;
+臨在 > rinzai\ ;
+余白 > yohaku\ ;
+宿痾 > shukua\ ;
+密生 > missei\ ;
+寄留 > kiryuu\ ;
+来賓 > raihin\ ;
+至善 > shizen\ ;
+伝統 > dentou\ ;
+画心 > gashin\ ;
+導水 > dousui\ ;
+来貢 > raikou\ ;
+男性 > dansei\ ;
+居敷 > ishiki\ ;
+脱法 > dappou\ ;
+値嵩 > negasa\ ;
+検地 > kenchi\ ;
+豪邸 > goutei\ ;
+健啖 > kentan\ ;
+余病 > yobyou\ ;
+自嘲 > jichou\ ;
+負託 > futaku\ ;
+老酒 > roushu\ ;
+主題 > shudai\ ;
+低目 > hikume\ ;
+作画 > sakuga\ ;
+獣類 > juurui\ ;
+豪邁 > goumai\ ;
+射法 > shahou\ ;
+交譲 > koujou\ ;
+事蹟 > jiseki\ ;
+山径 > sankei\ ;
+環濠 > kangou\ ;
+駄物 > damono\ ;
+脱水 > dassui\ ;
+豪遊 > gouyuu\ ;
+飛躍 > hiyaku\ ;
+高僧 > kousou\ ;
+致命 > chimei\ ;
+乱酔 > ransui\ ;
+乱酒 > ranshu\ ;
+舎兄 > shakei\ ;
+仰臥 > gyouga\ ;
+番外 > bangai\ ;
+岩塩 > gan''en\ ;
+生成 > seisei\ ;
+偏在 > henzai\ ;
+事跡 > jiseki\ ;
+何番 > nanban\ ;
+書風 > shofuu\ ;
+脳死 > noushi\ ;
+二足 > nisoku\ ;
+宗祖 > shuuso\ ;
+羽風 > hakaze\ ;
+豪農 > gounou\ ;
+島人 > toujin\ ;
+侠気 > kyouki\ ;
+画幅 > gafuku\ ;
+有限 > yuugen\ ;
+書類 > shorui\ ;
+香盒 > kougou\ ;
+画帳 > gachou\ ;
+生憎 > ainiku\ ;
+高値 > takane\ ;
+中飛 > chuuhi\ ;
+枝葉 > shiyou\ ;
+谷間 > tanima\ ;
+交詢 > koujun\ ;
+丹青 > tansei\ ;
+東西 > touzai\ ;
+臭味 > shuumi\ ;
+琴線 > kinsen\ ;
+胡瓜 > kyuuri\ ;
+再々 > saisai\ ;
+飛越 > hietsu\ ;
+生態 > seitai\ ;
+島主 > toushu\ ;
+来談 > raidan\ ;
+倉廩 > sourin\ ;
+腐朽 > fukyuu\ ;
+安穏 > an''non\ ;
+値安 > neyasu\ ;
+代艦 > daikan\ ;
+寸法 > sunpou\ ;
+胎盤 > taiban\ ;
+老農 > rounou\ ;
+乱造 > ranzou\ ;
+傍人 > boujin\ ;
+屈指 > kusshi\ ;
+育種 > ikushu\ ;
+検問 > kenmon\ ;
+梅林 > bairin\ ;
+木釘 > kikugi\ ;
+有閑 > yuukan\ ;
+用心 > youjin\ ;
+男工 > dankou\ ;
+豼貅 > hikyuu\ ;
+月間 > gekkan\ ;
+山巓 > santen\ ;
+仏葬 > bussou\ ;
+借家 > shakka\ ;
+書面 > shomen\ ;
+山嶺 > sanrei\ ;
+来訪 > raihou\ ;
+中音 > chuuon\ ;
+用役 > youeki\ ;
+珪藻 > keisou\ ;
+贈答 > zoutou\ ;
+老輩 > rouhai\ ;
+聾者 > rousha\ ;
+桑海 > soukai\ ;
+小楯 > kodate\ ;
+柱礎 > chuuso\ ;
+養蜂 > youhou\ ;
+実相 > jissou\ ;
+事象 > jishou\ ;
+寒点 > kanten\ ;
+聚落 > juraku\ ;
+検品 > kenpin\ ;
+内々 > nainai\ ;
+偶像 > guuzou\ ;
+存置 > sonchi\ ;
+本邸 > hontei\ ;
+体現 > taigen\ ;
+番地 > banchi\ ;
+東行 > toukou\ ;
+本邦 > honpou\ ;
+甲巡 > koujun\ ;
+来観 > raikan\ ;
+養蚕 > yousan\ ;
+本選 > honsen\ ;
+頽齢 > tairei\ ;
+環海 > kankai\ ;
+木部 > mokubu\ ;
+桃源 > tougen\ ;
+本道 > hondou\ ;
+居所 > kyosho\ ;
+風鈴 > fuurin\ ;
+路床 > roshou\ ;
+偽作 > gisaku\ ;
+乱軍 > rangun\ ;
+賞美 > shoubi\ ;
+展性 > tensei\ ;
+貯蔵 > chozou\ ;
+専横 > sen''ou\ ;
+専権 > senken\ ;
+倡婦 > shoufu\ ;
+朝野 > chouya\ ;
+胚珠 > haishu\ ;
+未進 > mishin\ ;
+休符 > kyuufu\ ;
+生彩 > seisai\ ;
+風采 > fuusai\ ;
+胎生 > taisei\ ;
+産廃 > sanpai\ ;
+令聞 > reibun\ ;
+俳徊 > haikai\ ;
+自力 > jiriki\ ;
+係数 > keisuu\ ;
+中陰 > chuuin\ ;
+検印 > ken''in\ ;
+町家 > chouka\ ;
+少林 > shorin\ ;
+健全 > kenzen\ ;
+偏向 > henkou\ ;
+寮母 > ryoubo\ ;
+興亡 > koubou\ ;
+画学 > gagaku\ ;
+将棋 > shougi\ ;
+互角 > gokaku\ ;
+質素 > shisso\ ;
+根源 > kongen\ ;
+柳眉 > ryuubi\ ;
+争論 > souron\ ;
+走法 > souhou\ ;
+上騰 > joutou\ ;
+山家 > yamaga\ ;
+会社 > kaisha\ ;
+実生 > mishou\ ;
+末輩 > mappai\ ;
+属差 > zokusa\ ;
+不馴 > funare\ ;
+生年 > seinen\ ;
+騒擾 > soujou\ ;
+椿事 > chinji\ ;
+寮歌 > ryouka\ ;
+首班 > shuhan\ ;
+定番 > teiban\ ;
+偶人 > guujin\ ;
+男子 > danshi\ ;
+代署 > daisho\ ;
+代置 > daichi\ ;
+肺癌 > haigan\ ;
+価格 > kakaku\ ;
+臨写 > rinsha\ ;
+官界 > kankai\ ;
+饌米 > senmai\ ;
+趣旨 > shushi\ ;
+今般 > konpan\ ;
+尊来 > sonrai\ ;
+梯形 > teikei\ ;
+轟々 > gougou\ ;
+膨大 > boudai\ ;
+二見 > futami\ ;
+自儘 > jimama\ ;
+果肉 > kaniku\ ;
+検分 > kenbun\ ;
+両院 > ryouin\ ;
+甲子 > kasshi\ ;
+一驚 > ikkyou\ ;
+少時 > shouji\ ;
+五行 > gogyou\ ;
+群青 > gunjou\ ;
+至便 > shiben\ ;
+尊書 > sonsho\ ;
+予覚 > yokaku\ ;
+小昼 > kohiru\ ;
+何点 > nanten\ ;
+曝露 > bakuro\ ;
+小春 > koharu\ ;
+余瀝 > yoreki\ ;
+宝珠 > houshu\ ;
+対校 > taikou\ ;
+子細 > shisai\ ;
+献饌 > kensen\ ;
+信徒 > shinto\ ;
+番号 > bangou\ ;
+番台 > bandai\ ;
+一駄 > ichida\ ;
+脇毛 > wakige\ ;
+類題 > ruidai\ ;
+曜霊 > yourei\ ;
+根治 > konchi\ ;
+寺格 > jikaku\ ;
+偉力 > iryoku\ ;
+寡欲 > kayoku\ ;
+有配 > yuuhai\ ;
+致仕 > chishi\ ;
+乗車 > jousha\ ;
+自修 > jishuu\ ;
+自信 > jishin\ ;
+仕置 > shioki\ ;
+風車 > fuusha\ ;
+暗黙 > anmoku\ ;
+山女 > yamame\ ;
+京葉 > keiyou\ ;
+暗黒 > ankoku\ ;
+封書 > fuusho\ ;
+仏者 > bussha\ ;
+棄子 > sutego\ ;
+倹吝 > kenrin\ ;
+胸泳 > kyouei\ ;
+属官 > zokkan\ ;
+倒壊 > toukai\ ;
+自供 > jikyou\ ;
+三韓 > sankan\ ;
+予表 > yohyou\ ;
+万頃 > bankei\ ;
+一飛 > ichihi\ ;
+起業 > kigyou\ ;
+偏光 > henkou\ ;
+桔梗 > kikyou\ ;
+根毛 > konmou\ ;
+余滴 > yoteki\ ;
+倍大 > baidai\ ;
+自作 > jisaku\ ;
+育生 > ikusei\ ;
+画境 > gakyou\ ;
+木賊 > tokusa\ ;
+尊敬 > sonkei\ ;
+男声 > dansei\ ;
+上面 > joumen\ ;
+居常 > kyojou\ ;
+代納 > dainou\ ;
+寒気 > samuke\ ;
+至上 > shijou\ ;
+三面 > sanmen\ ;
+尊攘 > sonjou\ ;
+停会 > teikai\ ;
+倍増 > baizou\ ;
+検便 > kenben\ ;
+生存 > seizon\ ;
+屑屋 > kuzuya\ ;
+願面 > ganmen\ ;
+山塞 > sansai\ ;
+風趣 > fuushu\ ;
+甲声 > kangoe\ ;
+暴騰 > boutou\ ;
+山塊 > sankai\ ;
+専断 > sendan\ ;
+胸毛 > munage\ ;
+山場 > yamaba\ ;
+屏居 > heikyo\ ;
+万雷 > banrai\ ;
+検体 > kentai\ ;
+官版 > kanpan\ ;
+三階 > sangai\ ;
+寝様 > nezama\ ;
+顔面 > ganmen\ ;
+上限 > jougen\ ;
+朋輩 > houbai\ ;
+専攻 > senkou\ ;
+仁者 > jinsha\ ;
+番兵 > banpei\ ;
+乱視 > ranshi\ ;
+朝賀 > chouga\ ;
+対数 > taisuu\ ;
+審査 > shinsa\ ;
+寝業 > newaza\ ;
+本論 > honron\ ;
+借問 > shamon\ ;
+曾遊 > souyuu\ ;
+臣事 > shinji\ ;
+琢磨 > takuma\ ;
+腹子 > harako\ ;
+桟敷 > sajiki\ ;
+対支 > taishi\ ;
+養育 > youiku\ ;
+風貌 > fuubou\ ;
+伯父 > hakufu\ ;
+本誌 > honshi\ ;
+子種 > kodane\ ;
+仔細 > shisai\ ;
+東航 > toukou\ ;
+小指 > koyubi\ ;
+最近 > saikin\ ;
+未読 > midoku\ ;
+仮称 > kashou\ ;
+体液 > taieki\ ;
+一隻 > isseki\ ;
+寸断 > sundan\ ;
+生姜 > shouga\ ;
+三門 > sanmon\ ;
+老衰 > rousui\ ;
+苛々 > iraira\ ;
+低減 > teigen\ ;
+臣下 > shinka\ ;
+倡和 > shouwa\ ;
+未詳 > mishou\ ;
+腐心 > fushin\ ;
+暴風 > boufuu\ ;
+余沢 > yotaku\ ;
+定点 > teiten\ ;
+書道 > shodou\ ;
+中部 > chuubu\ ;
+偏人 > henjin\ ;
+倦厭 > ken''en\ ;
+学監 > gakkan\ ;
+養老 > yourou\ ;
+肌着 > hadagi\ ;
+産声 > ubugoe\ ;
+飴色 > ameiro\ ;
+田地 > denchi\ ;
+朝議 > chougi\ ;
+田園 > den''en\ ;
+小我 > shouga\ ;
+婦長 > fuchou\ ;
+香港 > honkon\ ;
+梵妻 > bonsai\ ;
+桂林 > keirin\ ;
+一間 > hitoma\ ;
+存知 > zonchi\ ;
+中途 > chuuto\ ;
+琺瑯 > hourou\ ;
+画商 > gashou\ ;
+来航 > raikou\ ;
+頻頻 > hinpin\ ;
+尻尾 > shippo\ ;
+校正 > kousei\ ;
+例文 > reibun\ ;
+甚大 > jindai\ ;
+例数 > reisuu\ ;
+二葉 > futaba\ ;
+飼育 > shiiku\ ;
+俳壇 > haidan\ ;
+屯営 > ton''ei\ ;
+来臨 > rairin\ ;
+梵天 > bonten\ ;
+用地 > youchi\ ;
+貴紳 > kishin\ ;
+暴露 > bakuro\ ;
+寒梅 > kanbai\ ;
+根柢 > kontei\ ;
+射手 > shashu\ ;
+何歳 > nansai\ ;
+瑶池 > youchi\ ;
+学界 > gakkai\ ;
+栗毛 > kurige\ ;
+尊慮 > sonryo\ ;
+住民 > juumin\ ;
+驚喜 > kyouki\ ;
+少恩 > shouon\ ;
+産地 > sanchi\ ;
+俗字 > zokuji\ ;
+対抗 > taikou\ ;
+企画 > kikaku\ ;
+甘塩 > amajio\ ;
+赤本 > akahon\ ;
+風解 > fuukai\ ;
+併有 > heiyuu\ ;
+屋外 > okugai\ ;
+馬橇 > basori\ ;
+中身 > nakami\ ;
+理神 > rishin\ ;
+佳木 > kaboku\ ;
+根本 > nemoto\ ;
+聖算 > seisan\ ;
+人絹 > jinken\ ;
+主賓 > shuhin\ ;
+生地 > seichi\ ;
+風見 > kazami\ ;
+対戦 > taisen\ ;
+他称 > tashou\ ;
+望見 > bouken\ ;
+香水 > kousui\ ;
+寒村 > kanson\ ;
+杉菜 > sugina\ ;
+留保 > ryuuho\ ;
+能書 > nousho\ ;
+作業 > sagyou\ ;
+付票 > fuhyou\ ;
+倨傲 > kyogou\ ;
+根暗 > nekura\ ;
+跡地 > atochi\ ;
+人糞 > jinpun\ ;
+学理 > gakuri\ ;
+脳性 > nousei\ ;
+画匠 > gashou\ ;
+余業 > yogyou\ ;
+小形 > kogata\ ;
+信士 > shinji\ ;
+腫大 > shudai\ ;
+乾菜 > kansai\ ;
+月謝 > gessha\ ;
+密栓 > missen\ ;
+寒暖 > kandan\ ;
+寒暑 > kansho\ ;
+子癇 > shikan\ ;
+風袋 > fuutai\ ;
+倥偬 > kousou\ ;
+小引 > shouin\ ;
+体様 > taiyou\ ;
+人籟 > jinrai\ ;
+三重 > sanjuu\ ;
+財経 > zaikei\ ;
+存生 > zonjou\ ;
+字画 > jikaku\ ;
+万金 > mankin\ ;
+尊影 > son''ei\ ;
+根方 > nekata\ ;
+用品 > youhin\ ;
+仮病 > kebyou\ ;
+上酒 > joushu\ ;
+宗派 > shuuha\ ;
+定法 > jouhou\ ;
+家業 > kagyou\ ;
+献金 > kenkin\ ;
+環指 > kanshi\ ;
+用命 > youmei\ ;
+胡椒 > koshou\ ;
+聯盟 > renmei\ ;
+胆汁 > tanjuu\ ;
+琥珀 > kohaku\ ;
+能文 > noubun\ ;
+居城 > kyojou\ ;
+主謀 > shubou\ ;
+宗法 > souhou\ ;
+小幅 > kohaba\ ;
+孤独 > kodoku\ ;
+産品 > sanpin\ ;
+願酒 > ganshu\ ;
+東経 > toukei\ ;
+乾芻 > kansuu\ ;
+完済 > kansai\ ;
+不適 > futeki\ ;
+密書 > missho\ ;
+股火 > matabi\ ;
+須髯 > shuzen\ ;
+導師 > doushi\ ;
+美醜 > bishuu\ ;
+専従 > senjuu\ ;
+一里 > ichiri\ ;
+寵愛 > chouai\ ;
+宝殿 > houden\ ;
+乳菓 > nyuuka\ ;
+小差 > shousa\ ;
+珠算 > shuzan\ ;
+不通 > futsuu\ ;
+脳幹 > noukan\ ;
+供応 > kyouou\ ;
+玉藻 > tamamo\ ;
+肝炎 > kan''en\ ;
+三選 > sansen\ ;
+尋常 > jinjou\ ;
+修営 > shuuei\ ;
+丹誠 > tansei\ ;
+胡桃 > kurumi\ ;
+万邦 > banpou\ ;
+老荘 > rousou\ ;
+官民 > kanmin\ ;
+乾舷 > kangen\ ;
+属吏 > zokuri\ ;
+枡目 > masume\ ;
+丁酉 > teiyuu\ ;
+聞知 > bunchi\ ;
+家格 > kakaku\ ;
+越後 > echigo\ ;
+生命 > seimei\ ;
+尚尚 > naonao\ ;
+三連 > sanren\ ;
+義足 > gisoku\ ;
+主計 > shukei\ ;
+校本 > kouhon\ ;
+暮鐘 > boshou\ ;
+封建 > houken\ ;
+対当 > taitou\ ;
+木蔭 > kokage\ ;
+倒像 > touzou\ ;
+羅針 > rashin\ ;
+射幸 > shakou\ ;
+梵唄 > bonbai\ ;
+上辺 > jouhen\ ;
+一郭 > ikkaku\ ;
+一部 > ichibu\ ;
+定款 > teikan\ ;
+何枚 > nanmai\ ;
+寸志 > sunshi\ ;
+佞智 > neichi\ ;
+主観 > shukan\ ;
+家柄 > iegara\ ;
+小島 > kojima\ ;
+本葬 > honsou\ ;
+産卵 > sanran\ ;
+人種 > jinshu\ ;
+完治 > kanchi\ ;
+何条 > nanjou\ ;
+主要 > shuyou\ ;
+代用 > daiyou\ ;
+書誌 > shoshi\ ;
+甲兵 > kouhei\ ;
+伯母 > hakubo\ ;
+俳名 > haimei\ ;
+実権 > jikken\ ;
+俳号 > haigou\ ;
+越度 > ochido\ ;
+飛翔 > hishou\ ;
+予習 > yoshuu\ ;
+義賊 > gizoku\ ;
+寝技 > newaza\ ;
+小山 > koyama\ ;
+三輪 > sanrin\ ;
+尊崇 > sonsuu\ ;
+俳友 > haiyuu\ ;
+一週 > isshuu\ ;
+休演 > kyuuen\ ;
+一通 > ittsuu\ ;
+脇戸 > wakido\ ;
+三軽 > sankei\ ;
+尿器 > nyouki\ ;
+寝所 > shinjo\ ;
+尨大 > boudai\ ;
+三軍 > sangun\ ;
+狭霧 > sagiri\ ;
+子猫 > koneko\ ;
+根拠 > konkyo\ ;
+寡慾 > kayoku\ ;
+井綱 > idzuna\ ;
+万軍 > bangun\ ;
+驕児 > kyouji\ ;
+豪胆 > goutan\ ;
+東端 > toutan\ ;
+本草 > honzou\ ;
+生動 > seidou\ ;
+費目 > himoku\ ;
+書見 > shoken\ ;
+仙界 > senkai\ ;
+官権 > kanken\ ;
+更訂 > koutei\ ;
+産前 > sanzen\ ;
+小宴 > shouen\ ;
+玉菜 > tamana\ ;
+産制 > sansei\ ;
+孔版 > kouhan\ ;
+末茶 > matcha\ ;
+飯米 > hanmai\ ;
+順風 > junpuu\ ;
+朱色 > shuiro\ ;
+実検 > jikken\ ;
+伝法 > denpou\ ;
+画伯 > gahaku\ ;
+用兵 > youhei\ ;
+狭隘 > kyouai\ ;
+獣行 > juukou\ ;
+不足 > fusoku\ ;
+資産 > shisan\ ;
+嫁菜 > yomena\ ;
+五経 > gokyou\ ;
+駅手 > ekishu\ ;
+嬉笑 > kishou\ ;
+事績 > jiseki\ ;
+生前 > seizen\ ;
+棄児 > sutego\ ;
+子牛 > koushi\ ;
+他生 > tashou\ ;
+下足 > gesoku\ ;
+何方 > donata\ ;
+豚舎 > tonsha\ ;
+足場 > ashiba\ ;
+家族 > kazoku\ ;
+順順 > junjun\ ;
+一身 > isshin\ ;
+本船 > honsen\ ;
+肥沃 > hiyoku\ ;
+対岸 > taigan\ ;
+梱包 > konpou\ ;
+一蹴 > isshuu\ ;
+林産 > rinsan\ ;
+人知 > jinchi\ ;
+罰金 > bakkin\ ;
+家教 > kakyou\ ;
+令状 > reijou\ ;
+例年 > reinen\ ;
+狭間 > hazama\ ;
+脛巾 > habaki\ ;
+趣好 > shukou\ ;
+履修 > rishuu\ ;
+信受 > shinju\ ;
+膝下 > shikka\ ;
+二級 > nikyuu\ ;
+赫怒 > kakudo\ ;
+本膳 > honzen\ ;
+起床 > kishou\ ;
+一路 > ichiro\ ;
+脆性 > zeisei\ ;
+体操 > taisou\ ;
+使役 > shieki\ ;
+中衛 > chuuei\ ;
+晩餐 > bansan\ ;
+介甲 > kaikou\ ;
+肝油 > kan''yu\ ;
+山上 > sanjou\ ;
+群論 > gunron\ ;
+小姓 > koshou\ ;
+用便 > youben\ ;
+俳優 > haiyuu\ ;
+今生 > konjou\ ;
+少女 > shoujo\ ;
+人相 > ninsou\ ;
+予約 > yoyaku\ ;
+供宴 > kyouen\ ;
+人目 > hitome\ ;
+用例 > yourei\ ;
+甘党 > amatou\ ;
+貧相 > hinsou\ ;
+背景 > haikei\ ;
+駒座 > komaza\ ;
+俗吏 > zokuri\ ;
+安楽 > anraku\ ;
+根性 > konjou\ ;
+尖塔 > sentou\ ;
+世評 > sehyou\ ;
+乗艦 > joukan\ ;
+並行 > heikou\ ;
+班田 > handen\ ;
+有蓋 > yuugai\ ;
+仔猫 > koneko\ ;
+定本 > teihon\ ;
+用件 > youken\ ;
+乗船 > jousen\ ;
+騰勢 > tousei\ ;
+実景 > jikkei\ ;
+屋内 > okunai\ ;
+学派 > gakuha\ ;
+風船 > fuusen\ ;
+用人 > younin\ ;
+柔毛 > juumou\ ;
+来社 > raisha\ ;
+現状 > genjou\ ;
+音響 > onkyou\ ;
+木肌 > kihada\ ;
+尊大 > sondai\ ;
+脳天 > nouten\ ;
+媚薬 > biyaku\ ;
+風致 > fuuchi\ ;
+不調 > fuchou\ ;
+寝床 > nedoko\ ;
+某氏 > boushi\ ;
+五穀 > gokoku\ ;
+世襲 > seshuu\ ;
+老練 > rouren\ ;
+生体 > seitai\ ;
+仔牛 > koushi\ ;
+不詳 > fushou\ ;
+実施 > jisshi\ ;
+頸輪 > kubiwa\ ;
+万謝 > bansha\ ;
+三論 > sanron\ ;
+不評 > fuhyou\ ;
+俗務 > zokumu\ ;
+駅弁 > ekiben\ ;
+晩霜 > bansou\ ;
+侠女 > kyoujo\ ;
+本署 > honsho\ ;
+寝巻 > nemaki\ ;
+村童 > sondou\ ;
+実数 > jissuu\ ;
+能弁 > nouben\ ;
+人生 > jinsei\ ;
+守株 > shushu\ ;
+何才 > nansai\ ;
+争端 > soutan\ ;
+根底 > kontei\ ;
+中蘇 > chuuso\ ;
+一議 > ichigi\ ;
+伴星 > bansei\ ;
+飛竜 > hiryuu\ ;
+根幹 > konkan\ ;
+赤帽 > akabou\ ;
+小型 > kogata\ ;
+養生 > youjou\ ;
+杯盤 > haiban\ ;
+暴走 > bousou\ ;
+上計 > joukei\ ;
+尊堂 > sondou\ ;
+格差 > kakusa\ ;
+専売 > senbai\ ;
+宿意 > shukui\ ;
+不覚 > fukaku\ ;
+俳人 > haijin\ ;
+完本 > kanpon\ ;
+耳目 > jimoku\ ;
+定数 > teisuu\ ;
+佞悪 > neiaku\ ;
+俯伏 > fufuku\ ;
+献詠 > ken''ei\ ;
+富強 > fukyou\ ;
+騙取 > henshu\ ;
+俯仰 > fugyou\ ;
+上覧 > jouran\ ;
+万言 > mangen\ ;
+対外 > taigai\ ;
+住所 > juusho\ ;
+財界 > zaikai\ ;
+耕種 > koushu\ ;
+風聞 > fuubun\ ;
+上覆 > uwaooi\ ;
+容態 > youdai\ ;
+射場 > shajou\ ;
+屍体 > shitai\ ;
+財産 > zaisan\ ;
+一語 > ichigo\ ;
+寒帯 > kantai\ ;
+寵姫 > chouki\ ;
+献言 > kengen\ ;
+伝染 > densen\ ;
+寡少 > kashou\ ;
+両虎 > ryouko\ ;
+猥談 > waidan\ ;
+越境 > ekkyou\ ;
+小器 > shouki\ ;
+上製 > jousei\ ;
+本線 > honsen\ ;
+伎楽 > gigaku\ ;
+体感 > taikan\ ;
+俗儒 > zokuju\ ;
+乃至 > naishi\ ;
+上裁 > jousai\ ;
+伝来 > denrai\ ;
+色々 > iroiro\ ;
+寝小 > neshou\ ;
+本絹 > honken\ ;
+飯盒 > hangou\ ;
+下表 > kahyou\ ;
+賤民 > senmin\ ;
+居住 > kyojuu\ ;
+腕前 > udemae\ ;
+仮泊 > kahaku\ ;
+余徳 > yotoku\ ;
+本紙 > honshi\ ;
+趨向 > suukou\ ;
+佞弁 > neiben\ ;
+中華 > chuuka\ ;
+余得 > yotoku\ ;
+害悪 > gaiaku\ ;
+封地 > houchi\ ;
+完敗 > kanpai\ ;
+交番 > kouban\ ;
+俚俗 > rizoku\ ;
+題言 > daigen\ ;
+屋上 > okujou\ ;
+木組 > kigumi\ ;
+有能 > yuunou\ ;
+尚古 > shouko\ ;
+騒動 > soudou\ ;
+背戻 > hairei\ ;
+例外 > reigai\ ;
+宣戦 > sensen\ ;
+耳環 > mimiwa\ ;
+五目 > gomoku\ ;
+寓居 > guukyo\ ;
+趣向 > shukou\ ;
+貢献 > kouken\ ;
+独逸 > doitsu\ ;
+校庭 > koutei\ ;
+資源 > shigen\ ;
+寡婦 > yamome\ ;
+尋問 > jinmon\ ;
+暴論 > bouron\ ;
+条痕 > joukon\ ;
+格子 > koushi\ ;
+企業 > kigyou\ ;
+併存 > heizon\ ;
+飲用 > in''you\ ;
+体形 > taikei\ ;
+富岳 > fugaku\ ;
+実戦 > jissen\ ;
+主脳 > shunou\ ;
+胡弓 > kokyuu\ ;
+昼餉 > hiruge\ ;
+琴柱 > kotoji\ ;
+趨勢 > suusei\ ;
+依嘱 > ishoku\ ;
+昼食 > hiruge\ ;
+寒害 > kangai\ ;
+頑迷 > ganmei\ ;
+宛所 > atesho\ ;
+某某 > boubou\ ;
+獣脂 > juushi\ ;
+低徊 > teikai\ ;
+本管 > honkan\ ;
+貯炭 > chotan\ ;
+二目 > futame\ ;
+小吏 > shouri\ ;
+人煙 > jin''en\ ;
+暴言 > bougen\ ;
+俊偉 > shun''i\ ;
+尊命 > sonmei\ ;
+官房 > kanbou\ ;
+松煙 > shouen\ ;
+肥料 > hiryou\ ;
+休暇 > kyuuka\ ;
+俗事 > zokuji\ ;
+実態 > jittai\ ;
+木箱 > kibako\ ;
+有罪 > yuuzai\ ;
+狭軌 > kyouki\ ;
+購書 > kousho\ ;
+学校 > gakkou\ ;
+木管 > mokkan\ ;
+玄米 > genmai\ ;
+珈琲 > kouhii\ ;
+風紋 > fuumon\ ;
+株屋 > kabuya\ ;
+実感 > jikkan\ ;
+尊君 > sonkun\ ;
+実意 > jitsui\ ;
+尊名 > sonmei\ ;
+低廉 > teiren\ ;
+飼犬 > kaiinu\ ;
+尊号 > songou\ ;
+他流 > taryuu\ ;
+尊台 > sondai\ ;
+末端 > mattan\ ;
+官憲 > kanken\ ;
+付注 > fuchuu\ ;
+飛白 > kasuri\ ;
+賎民 > senmin\ ;
+佐幕 > sabaku\ ;
+人災 > jinsai\ ;
+下薬 > geyaku\ ;
+密封 > mippuu\ ;
+宴席 > enseki\ ;
+小匙 > kosaji\ ;
+尊厳 > songen\ ;
+肉桂 > nikkei\ ;
+走塁 > sourui\ ;
+格好 > kakkou\ ;
+伝搬 > denpan\ ;
+寛大 > kandai\ ;
+本稿 > honkou\ ;
+書肆 > shoshi\ ;
+完投 > kantou\ ;
+子様 > kosama\ ;
+宿屋 > yadoya\ ;
+書聖 > shosei\ ;
+寿命 > jumyou\ ;
+三蔵 > sanzou\ ;
+音量 > onryou\ ;
+亡状 > boujou\ ;
+費消 > hishou\ ;
+尖兵 > senpei\ ;
+乗算 > jouzan\ ;
+暴行 > boukou\ ;
+根太 > nebuto\ ;
+議長 > gichou\ ;
+乾盃 > kanpai\ ;
+完成 > kansei\ ;
+小利 > shouri\ ;
+書翰 > shokan\ ;
+来状 > raijou\ ;
+有線 > yuusen\ ;
+仏法 > buppou\ ;
+安手 > yasude\ ;
+僅々 > kinkin\ ;
+対向 > taikou\ ;
+定性 > teisei\ ;
+豪盛 > gousei\ ;
+乾癬 > kansen\ ;
+対句 > tsuiku\ ;
+中耳 > chuuji\ ;
+育成 > ikusei\ ;
+守戦 > shusen\ ;
+校定 > koutei\ ;
+寒天 > kanten\ ;
+本社 > honsha\ ;
+下落 > geraku\ ;
+警防 > keibou\ ;
+寒夜 > kan''ya\ ;
+守成 > shusei\ ;
+特高 > tokkou\ ;
+末社 > massha\ ;
+胸奥 > kyouou\ ;
+佳境 > kakyou\ ;
+普通 > futsuu\ ;
+佗寝 > wabine\ ;
+実弟 > jittei\ ;
+玲瓏 > reirou\ ;
+老眼 > rougan\ ;
+豊穣 > houjou\ ;
+栽培 > saibai\ ;
+義臣 > gishin\ ;
+牡鶏 > ondori\ ;
+小兵 > kohyou\ ;
+月経 > gekkei\ ;
+背広 > sebiro\ ;
+季春 > kishun\ ;
+小児 > shouni\ ;
+豊稔 > hounen\ ;
+牝鷄 > hinkei\ ;
+定形 > teikei\ ;
+条片 > jouhen\ ;
+係争 > keisou\ ;
+象眼 > zougan\ ;
+玳瑁 > taimai\ ;
+暗誦 > anshou\ ;
+騒人 > soujin\ ;
+宗徒 > shuuto\ ;
+子株 > kokabu\ ;
+昼間 > hiruma\ ;
+低層 > teisou\ ;
+根城 > nejiro\ ;
+亀甲 > kikkou\ ;
+賀正 > gashou\ ;
+顕著 > kencho\ ;
+牡鳥 > ondori\ ;
+騒乱 > souran\ ;
+尊公 > sonkou\ ;
+宵宮 > yomiya\ ;
+交点 > kouten\ ;
+住専 > juusen\ ;
+音速 > onsoku\ ;
+伐採 > bassai\ ;
+家宅 > kataku\ ;
+飛球 > hikyuu\ ;
+暗証 > anshou\ ;
+尊兄 > sonkei\ ;
+便乗 > binjou\ ;
+専制 > sensei\ ;
+乾田 > kanden\ ;
+家学 > kagaku\ ;
+伸度 > shindo\ ;
+会所 > kaisho\ ;
+使嗾 > shisou\ ;
+豆科 > mameka\ ;
+脱党 > dattou\ ;
+会戦 > kaisen\ ;
+佞姦 > neikan\ ;
+住家 > sumika\ ;
+玲玲 > reirei\ ;
+侶伴 > ryohan\ ;
+胞子 > houshi\ ;
+定年 > teinen\ ;
+時鐘 > jishou\ ;
+賜杯 > shihai\ ;
+財源 > zaigen\ ;
+並置 > heichi\ ;
+安息 > ansoku\ ;
+尊像 > sonzou\ ;
+不良 > furyou\ ;
+仕樣 > shiyou\ ;
+東漸 > touzen\ ;
+定常 > teijou\ ;
+佞奸 > neikan\ ;
+献茶 > kencha\ ;
+一菊 > ikkiku\ ;
+宮家 > miyake\ ;
+風神 > fuujin\ ;
+胚子 > haishi\ ;
+孝敬 > koukei\ ;
+対処 > taisho\ ;
+両義 > ryougi\ ;
+丹精 > tansei\ ;
+仕様 > shiyou\ ;
+寒地 > kanchi\ ;
+不興 > fukyou\ ;
+万芸 > bangei\ ;
+不臣 > fushin\ ;
+脚半 > kyahan\ ;
+賢明 > kenmei\ ;
+上船 > jousen\ ;
+貯水 > chosui\ ;
+容姿 > youshi\ ;
+上航 > joukou\ ;
+少佐 > shousa\ ;
+枯木 > kareki\ ;
+一荘 > iichan\ ;
+寸前 > sunzen\ ;
+宏弁 > kouben\ ;
+対内 > tainai\ ;
+老生 > rousei\ ;
+件数 > kensuu\ ;
+下臣 > kashin\ ;
+獺祭 > dassai\ ;
+独語 > dokugo\ ;
+上臼 > uwausu\ ;
+小作 > kosaku\ ;
+本盗 > hontou\ ;
+飽満 > houman\ ;
+校外 > kougai\ ;
+寸分 > sunbun\ ;
+独話 > dokuwa\ ;
+導体 > doutai\ ;
+万般 > banpan\ ;
+上臈 > jourou\ ;
+星霜 > seisou\ ;
+使命 > shimei\ ;
+物騒 > bussou\ ;
+木目 > mokume\ ;
+主管 > shukan\ ;
+令望 > reibou\ ;
+上腿 > joutai\ ;
+宦官 > kangan\ ;
+富国 > fukoku\ ;
+更紗 > sarasa\ ;
+人気 > hitoke\ ;
+木皿 > kizara\ ;
+人民 > jinmin\ ;
+射倖 > shakou\ ;
+上腕 > jouwan\ ;
+尊体 > sontai\ ;
+木皮 > mokuhi\ ;
+代替 > daitai\ ;
+代書 > daisho\ ;
+某所 > bousho\ ;
+昂騰 > koutou\ ;
+子方 > kokata\ ;
+小事 > shouji\ ;
+作場 > sakuba\ ;
+貧民 > hinmin\ ;
+今様 > imayou\ ;
+実射 > jissha\ ;
+対偶 > taiguu\ ;
+京浜 > keihin\ ;
+書簡 > shokan\ ;
+不肖 > fushou\ ;
+東海 > toukai\ ;
+有税 > yuuzei\ ;
+体外 > taigai\ ;
+果核 > kakaku\ ;
+預託 > yotaku\ ;
+脱会 > dakkai\ ;
+一興 > ikkyou\ ;
+上背 > uwazei\ ;
+寵児 > chouji\ ;
+完工 > kankou\ ;
+上肢 > joushi\ ;
+智謀 > chibou\ ;
+類聚 > ruijuu\ ;
+本番 > honban\ ;
+東洋 > touyou\ ;
+特需 > tokuju\ ;
+貴様 > kisama\ ;
+聰明 > soumei\ ;
+風眼 > fuugan\ ;
+上聞 > joubun\ ;
+実子 > jisshi\ ;
+老獪 > roukai\ ;
+杯洗 > haisen\ ;
+家塾 > kajuku\ ;
+令旨 > reishi\ ;
+併呑 > heidon\ ;
+資材 > shizai\ ;
+低声 > teisei\ ;
+争点 > souten\ ;
+資本 > shihon\ ;
+作土 > sakudo\ ;
+尊上 > sonjou\ ;
+寛厳 > kangen\ ;
+会式 > eshiki\ ;
+羚羊 > reiyou\ ;
+併合 > heigou\ ;
+乾燥 > kansou\ ;
+伶官 > reikan\ ;
+寛厚 > kankou\ ;
+三者 > sansha\ ;
+豪爽 > gousou\ ;
+作図 > sakuzu\ ;
+猫背 > nekoze\ ;
+飛火 > tobihi\ ;
+片鱗 > henrin\ ;
+警醒 > keisei\ ;
+駅名 > ekimei\ ;
+代数 > daisuu\ ;
+香奠 > kouden\ ;
+豐田 > toyota\ ;
+翔破 > shouha\ ;
+独行 > dokkou\ ;
+根号 > kongou\ ;
+肝心 > kanjin\ ;
+牛馬 > gyuuba\ ;
+人権 > jinken\ ;
+肺尖 > haisen\ ;
+丸秘 > maruhi\ ;
+飛瀑 > hibaku\ ;
+体型 > taikei\ ;
+頒行 > hankou\ ;
+東毎 > toumai\ ;
+須要 > shuyou\ ;
+対人 > taijin\ ;
+胡国 > kokoku\ ;
+案内 > an''nai\ ;
+何回 > nankai\ ;
+普請 > fushin\ ;
+時速 > jisoku\ ;
+孤愁 > koshuu\ ;
+護身 > goshin\ ;
+木琴 > mokkin\ ;
+実姉 > jisshi\ ;
+仏書 > bussho\ ;
+完封 > kanpuu\ ;
+耳殻 > jikaku\ ;
+類纂 > ruisan\ ;
+青黴 > aokabi\ ;
+木理 > mokuri\ ;
+供与 > kyouyo\ ;
+聡明 > soumei\ ;
+讒謗 > zanbou\ ;
+寝刃 > netaba\ ;
+一羽 > ichiwa\ ;
+肉感 > nikkan\ ;
+賢才 > kensai\ ;
+一義 > ichigi\ ;
+低地 > teichi\ ;
+桂冠 > keikan\ ;
+安寧 > an''nei\ ;
+能動 > noudou\ ;
+羊羹 > youkan\ ;
+饗応 > kyouou\ ;
+羊羮 > youkan\ ;
+聖書 > seisho\ ;
+主砲 > shuhou\ ;
+低回 > teikai\ ;
+寝具 > shingu\ ;
+貿易 > boueki\ ;
+現数 > gensuu\ ;
+音調 > onchou\ ;
+交歓 > koukan\ ;
+駅前 > ekimae\ ;
+守宮 > yamori\ ;
+景観 > keikan\ ;
+音読 > ondoku\ ;
+交款 > koukan\ ;
+枚数 > maisuu\ ;
+聡敏 > soubin\ ;
+貧棒 > binbou\ ;
+上線 > jousen\ ;
+順行 > junkou\ ;
+月相 > gessou\ ;
+子房 > shibou\ ;
+例会 > reikai\ ;
+最短 > saitan\ ;
+青鷺 > aosagi\ ;
+学徒 > gakuto\ ;
+丹砂 > tansha\ ;
+有益 > yuueki\ ;
+今晩 > konban\ ;
+井泉 > seisen\ ;
+寒剤 > kanzai\ ;
+賢慮 > kenryo\ ;
+孝悌 > koutei\ ;
+肯定 > koutei\ ;
+下絵 > shitae\ ;
+讒言 > zangen\ ;
+赦免 > shamen\ ;
+予測 > yosoku\ ;
+翻然 > honzen\ ;
+伴奏 > bansou\ ;
+賛成 > sansei\ ;
+風琴 > fuukin\ ;
+伝導 > dendou\ ;
+林政 > rinsei\ ;
+根冠 > konkan\ ;
+起伏 > kifuku\ ;
+下級 > kakyuu\ ;
+主眼 > shugan\ ;
+三組 > mikumi\ ;
+三絃 > sangen\ ;
+宝塔 > houtou\ ;
+聖旨 > seishi\ ;
+不精 > bushou\ ;
+上納 > jounou\ ;
+王物 > oumono\ ;
+一縷 > ichiru\ ;
+二流 > niryuu\ ;
+脚下 > kyakka\ ;
+根元 > nemoto\ ;
+寒冷 > kanrei\ ;
+聖断 > seidan\ ;
+佩剣 > haiken\ ;
+嫌煙 > ken''en\ ;
+校合 > kougou\ ;
+条款 > joukan\ ;
+学府 > gakufu\ ;
+仁智 > jinchi\ ;
+人材 > jinzai\ ;
+校友 > kouyuu\ ;
+佩刀 > haitou\ ;
+未熟 > mijuku\ ;
+朱点 > shuten\ ;
+上米 > joumai\ ;
+中破 > chuuha\ ;
+人望 > jinbou\ ;
+貴族 > kizoku\ ;
+寡作 > kasaku\ ;
+官報 > kanpou\ ;
+中砥 > nakato\ ;
+宏大 > koudai\ ;
+颯爽 > sassou\ ;
+実地 > jitchi\ ;
+孝弟 > koutei\ ;
+板書 > bansho\ ;
+背嚢 > hainou\ ;
+賦役 > buyaku\ ;
+有用 > yuuyou\ ;
+宏壮 > kousou\ ;
+有産 > yuusan\ ;
+丙種 > heishu\ ;
+定型 > teikei\ ;
+月産 > gessan\ ;
+伏屋 > fuseya\ ;
+一級 > ikkyuu\ ;
+人智 > jinchi\ ;
+完売 > kanbai\ ;
+村民 > sonmin\ ;
+球技 > kyuugi\ ;
+枚挙 > maikyo\ ;
+日頃 > higoro\ ;
+下策 > gesaku\ ;
+青鮫 > aozame\ ;
+字引 > jibiki\ ;
+仁政 > jinsei\ ;
+低吟 > teigin\ ;
+日韓 > nikkan\ ;
+球戯 > kyuugi\ ;
+何千 > nanzen\ ;
+何十 > nanjuu\ ;
+賢弟 > kentei\ ;
+上等 > joutou\ ;
+馬力 > bariki\ ;
+存廃 > zonpai\ ;
+聯想 > rensou\ ;
+使丁 > shitei\ ;
+三等 > santou\ ;
+主用 > shuyou\ ;
+一籌 > itchuu\ ;
+佳作 > kasaku\ ;
+寛仁 > kanjin\ ;
+瑶台 > youdai\ ;
+子役 > koyaku\ ;
+伏字 > fuseji\ ;
+耐水 > taisui\ ;
+上端 > joutan\ ;
+駄作 > dasaku\ ;
+丹田 > tanden\ ;
+三竿 > sankan\ ;
+人文 > jinmon\ ;
+駅伝 > ekiden\ ;
+体勢 > taisei\ ;
+字幕 > jimaku\ ;
+伝奏 > densou\ ;
+子弟 > shitei\ ;
+万端 > bantan\ ;
+上空 > joukuu\ ;
+獰猛 > neimou\ ;
+香合 > kougou\ ;
+片雲 > hen''un\ ;
+独英 > dokuei\ ;
+校内 > kounai\ ;
+日雀 > higara\ ;
+題簽 > daisen\ ;
+密偵 > mittei\ ;
+頻繁 > hinpan\ ;
+一策 > issaku\ ;
+何分 > nanpun\ ;
+牽連 > kenren\ ;
+孫子 > magoko\ ;
+介抱 > kaihou\ ;
+三種 > sanshu\ ;
+体制 > taisei\ ;
+饗宴 > kyouen\ ;
+上程 > joutei\ ;
+日陰 > hikage\ ;
+書生 > shosei\ ;
+旬間 > junkan\ ;
+馬克 > maruku\ ;
+官営 > kan''ei\ ;
+体刑 > taikei\ ;
+羽田 > haneda\ ;
+顆粒 > karyuu\ ;
+主班 > shuhan\ ;
+一笑 > isshou\ ;
+面頬 > menpoo\ ;
+日限 > higiri\ ;
+不祥 > fushou\ ;
+両目 > ryoume\ ;
+本源 > hongen\ ;
+肉屋 > nikuya\ ;
+胴体 > doutai\ ;
+姦計 > kankei\ ;
+交替 > koutai\ ;
+静養 > seiyou\ ;
+財政 > zaisei\ ;
+孤客 > kokaku\ ;
+令弟 > reitei\ ;
+株価 > kabuka\ ;
+美空 > misora\ ;
+更生 > kousei\ ;
+寄信 > kishin\ ;
+聖戦 > seisen\ ;
+中生 > nakate\ ;
+体内 > tainai\ ;
+背反 > haihan\ ;
+独自 > dokuji\ ;
+代弁 > daiben\ ;
+密使 > misshi\ ;
+東方 > touhou\ ;
+謹選 > kinsen\ ;
+豊潤 > houjun\ ;
+会場 > kaijou\ ;
+会報 > kaihou\ ;
+時評 > jihyou\ ;
+家元 > iemoto\ ;
+牧野 > bokuya\ ;
+面面 > menmen\ ;
+資性 > shisei\ ;
+事業 > jigyou\ ;
+丁稚 > detchi\ ;
+来書 > raisho\ ;
+日長 > hinaga\ ;
+五桁 > goketa\ ;
+会堂 > kaidou\ ;
+美称 > bishou\ ;
+密会 > mikkai\ ;
+賊徒 > zokuto\ ;
+猫科 > nekoka\ ;
+旅館 > ryokan\ ;
+胴乱 > douran\ ;
+任官 > ninkan\ ;
+貞操 > teisou\ ;
+交易 > koueki\ ;
+官命 > kanmei\ ;
+家僕 > kaboku\ ;
+主犯 > shuhan\ ;
+罫線 > keisen\ ;
+孟子 > moushi\ ;
+群盲 > gunmou\ ;
+胎動 > taidou\ ;
+昏迷 > konmei\ ;
+並用 > heiyou\ ;
+乳母 > nyuubo\ ;
+群盗 > guntou\ ;
+他心 > tashin\ ;
+老死 > roushi\ ;
+孝子 > koushi\ ;
+纏頭 > tentou\ ;
+犯行 > hankou\ ;
+豊満 > houman\ ;
+住僧 > juusou\ ;
+官名 > kanmei\ ;
+一票 > ippyou\ ;
+奔騰 > hontou\ ;
+査収 > sashuu\ ;
+二核 > nikaku\ ;
+実勢 > jissei\ ;
+仮屋 > kariya\ ;
+佞人 > neijin\ ;
+末法 > mappou\ ;
+香典 > kouden\ ;
+実効 > jikkou\ ;
+来方 > kikata\ ;
+警視 > keishi\ ;
+飲料 > inryou\ ;
+家信 > kashin\ ;
+官印 > kan''in\ ;
+人才 > jinsai\ ;
+人手 > hitode\ ;
+書状 > shojou\ ;
+容体 > youdai\ ;
+仮寝 > karine\ ;
+孔孟 > koumou\ ;
+仮家 > kariie\ ;
+孔子 > koushi\ ;
+胎内 > tainai\ ;
+仁愛 > jin''ai\ ;
+来攻 > raikou\ ;
+宝剣 > houken\ ;
+家作 > kasaku\ ;
+大麦 > oomugi\ ;
+狭義 > kyougi\ ;
+謝金 > shakin\ ;
+実刑 > jikkei\ ;
+養成 > yousei\ ;
+条文 > joubun\ ;
+校主 > koushu\ ;
+子守 > komori\ ;
+宿世 > sukuse\ ;
+奮闘 > funtou\ ;
+宗務 > shuumu\ ;
+婚礼 > konrei\ ;
+子孫 > shison\ ;
+三省 > sansei\ ;
+本殿 > honden\ ;
+三相 > sansou\ ;
+猛禽 > moukin\ ;
+宝刀 > houtou\ ;
+群生 > gunsei\ ;
+一石 > isseki\ ;
+実写 > jissha\ ;
+仁恵 > jinkei\ ;
+五日 > itsuka\ ;
+風浪 > fuurou\ ;
+智能 > chinou\ ;
+上皇 > joukou\ ;
+交換 > koukan\ ;
+享持 > kyouji\ ;
+一瞬 > isshun\ ;
+宝冠 > houkan\ ;
+官制 > kansei\ ;
+実兄 > jikkei\ ;
+宝典 > houten\ ;
+風洞 > fuudou\ ;
+斬首 > zanshu\ ;
+日銭 > hizeni\ ;
+乗法 > jouhou\ ;
+本欄 > honran\ ;
+献盃 > kenpai\ ;
+人情 > ninjou\ ;
+住人 > juunin\ ;
+仏師 > busshi\ ;
+家中 > kachuu\ ;
+家並 > yanami\ ;
+豊水 > housui\ ;
+賢妻 > kensai\ ;
+代官 > daikan\ ;
+丁目 > choume\ ;
+令孫 > reison\ ;
+仏工 > bukkou\ ;
+一目 > hitome\ ;
+肉塊 > nikkai\ ;
+京成 > keisei\ ;
+暮秋 > boshuu\ ;
+智者 > chisha\ ;
+方面 > houmen\ ;
+乾板 > kanpan\ ;
+存外 > zongai\ ;
+令嬢 > reijou\ ;
+美的 > biteki\ ;
+伶優 > reiyuu\ ;
+乾杯 > kanpai\ ;
+人性 > jinsei\ ;
+乗気 > noriki\ ;
+上番 > jouban\ ;
+狗肉 > kuniku\ ;
+風水 > fuusui\ ;
+乾材 > kanzai\ ;
+譜表 > fuhyou\ ;
+付属 > fuzoku\ ;
+上界 > joukai\ ;
+三番 > sanban\ ;
+学園 > gakuen\ ;
+旨酒 > shishu\ ;
+謙遜 > kenson\ ;
+上田 > jouden\ ;
+三界 > sangai\ ;
+夜鷹 > yotaka\ ;
+仲夏 > chuuka\ ;
+守勢 > shusei\ ;
+贈呈 > zoutei\ ;
+論題 > rondai\ ;
+伴僧 > bansou\ ;
+会同 > kaidou\ ;
+会合 > kaigou\ ;
+理学 > rigaku\ ;
+伺候 > shikou\ ;
+令婿 > reisei\ ;
+球宴 > kyuuen\ ;
+交戦 > kousen\ ;
+旧都 > kyuuto\ ;
+伯兄 > hakkei\ ;
+贈号 > zougou\ ;
+中火 > chuubi\ ;
+伝単 > dentan\ ;
+宣伝 > senden\ ;
+木槿 > mukuge\ ;
+方陣 > houjin\ ;
+贋印 > nisein\ ;
+令娘 > reijou\ ;
+背任 > hainin\ ;
+翻案 > hon''an\ ;
+王様 > ousama\ ;
+任地 > ninchi\ ;
+実体 > jittai\ ;
+一疋 > ippiki\ ;
+老来 > rourai\ ;
+物資 > busshi\ ;
+他宗 > tashuu\ ;
+旦那 > dan''na\ ;
+好配 > kouhai\ ;
+老杉 > rousan\ ;
+令姉 > reishi\ ;
+仕官 > shikan\ ;
+完全 > kanzen\ ;
+伝動 > dendou\ ;
+断面 > danmen\ ;
+令妹 > reimai\ ;
+夜鳥 > yachou\ ;
+猛省 > mousei\ ;
+一画 > ikkaku\ ;
+柔和 > nyuuwa\ ;
+早退 > soutai\ ;
+定例 > teirei\ ;
+現存 > genzon\ ;
+乱杭 > rangui\ ;
+伴侶 > hanryo\ ;
+交感 > koukan\ ;
+定住 > teijuu\ ;
+請願 > seigan\ ;
+守兵 > shuhei\ ;
+財形 > zaikei\ ;
+背中 > senaka\ ;
+特許 > tokkyo\ ;
+調馬 > chouba\ ;
+存在 > sonzai\ ;
+背丈 > setake\ ;
+特訓 > tokkun\ ;
+不猟 > furyou\ ;
+爆音 > bakuon\ ;
+交情 > koujou\ ;
+本案 > hon''an\ ;
+下獄 > gegoku\ ;
+今尚 > imanao\ ;
+本校 > honkou\ ;
+人工 > jinkou\ ;
+乱暴 > ranbou\ ;
+望樓 > bourou\ ;
+三猿 > mizaru\ ;
+論陣 > ronjin\ ;
+顕現 > kengen\ ;
+伶人 > reijin\ ;
+東征 > tousei\ ;
+斜頸 > shakei\ ;
+豪放 > gouhou\ ;
+一理 > ichiri\ ;
+主法 > shuhou\ ;
+謹言 > kingen\ ;
+朱書 > shusho\ ;
+館娃 > kan''ai\ ;
+片輪 > katawa\ ;
+望楼 > bourou\ ;
+安値 > yasune\ ;
+本来 > honrai\ ;
+明言 > meigen\ ;
+翰林 > kanrin\ ;
+令堂 > reidou\ ;
+明解 > meikai\ ;
+万状 > banjou\ ;
+宗主 > soushu\ ;
+霊魂 > reikon\ ;
+本木 > motoki\ ;
+青銅 > seidou\ ;
+一獲 > ikkaku\ ;
+本望 > honmou\ ;
+罹病 > ribyou\ ;
+願状 > ganjou\ ;
+末末 > suezue\ ;
+子嚢 > shinou\ ;
+本書 > honsho\ ;
+暗礁 > anshou\ ;
+明視 > meishi\ ;
+斜面 > shamen\ ;
+片身 > katami\ ;
+二手 > futate\ ;
+諒闇 > ryouan\ ;
+乱数 > ransuu\ ;
+調音 > chouon\ ;
+春蚕 > harugo\ ;
+好転 > kouten\ ;
+木末 > konure\ ;
+肌合 > hadaai\ ;
+京師 > keishi\ ;
+王朝 > ouchou\ ;
+館外 > kangai\ ;
+企及 > kikyuu\ ;
+謹製 > kinsei\ ;
+犬舎 > kensha\ ;
+雷鳴 > raimei\ ;
+任命 > ninmei\ ;
+書法 > shohou\ ;
+什宝 > juuhou\ ;
+人屋 > hitoya\ ;
+朦朧 > mourou\ ;
+朦朦 > moumou\ ;
+代地 > daichi\ ;
+中洲 > nakasu\ ;
+賛嘆 > santan\ ;
+日足 > hiashi\ ;
+青酸 > seisan\ ;
+斜陽 > shayou\ ;
+大風 > ookaze\ ;
+諸道 > shodou\ ;
+奪還 > dakkan\ ;
+中波 > chuuha\ ;
+音締 > nejime\ ;
+霊験 > reigen\ ;
+不為 > futame\ ;
+天顔 > tengan\ ;
+物見 > monomi\ ;
+本旨 > honshi\ ;
+壮齢 > sourei\ ;
+学務 > gakumu\ ;
+替歌 > kaeuta\ ;
+存命 > zonmei\ ;
+奮迅 > funjin\ ;
+賭博 > tobaku\ ;
+大願 > taigan\ ;
+杉戸 > sugido\ ;
+貧寒 > hinkan\ ;
+媾曳 > aibiki\ ;
+有様 > ariyou\ ;
+本文 > honmon\ ;
+件名 > kenmei\ ;
+来店 > raiten\ ;
+本数 > honsuu\ ;
+斧鑿 > fusaku\ ;
+来年 > rainen\ ;
+猛獣 > moujuu\ ;
+文題 > bundai\ ;
+王族 > ouzoku\ ;
+企劃 > kikaku\ ;
+五徳 > gotoku\ ;
+三災 > sansai\ ;
+好走 > kousou\ ;
+万点 > manten\ ;
+今夜 > kon''ya\ ;
+飯店 > hanten\ ;
+養子 > youshi\ ;
+中気 > chuuki\ ;
+顕然 > kenzen\ ;
+令嗣 > reishi\ ;
+謙譲 > kenjou\ ;
+壮麗 > sourei\ ;
+東岸 > tougan\ ;
+伝令 > denrei\ ;
+仏塔 > buttou\ ;
+霜雰 > soufun\ ;
+賞味 > shoumi\ ;
+頭痛 > zutsuu\ ;
+主権 > shuken\ ;
+雷魚 > raigyo\ ;
+万灯 > mandou\ ;
+聖壇 > seidan\ ;
+財宝 > zaihou\ ;
+講談 > koudan\ ;
+夜風 > yokaze\ ;
+貪婪 > donran\ ;
+献灯 > kentou\ ;
+伐倒 > battou\ ;
+現地 > genchi\ ;
+肢体 > shitai\ ;
+猛犬 > mouken\ ;
+更正 > kousei\ ;
+天雷 > tenrai\ ;
+朝晩 > asaban\ ;
+現在 > genzai\ ;
+他国 > takoku\ ;
+朗朗 > rourou\ ;
+仮名 > kemyou\ ;
+風景 > fuukei\ ;
+論鋒 > ronpou\ ;
+文面 > bunmen\ ;
+伎倆 > giryou\ ;
+餃子 > gyouza\ ;
+井底 > seitei\ ;
+学兄 > gakkei\ ;
+犯罪 > hanzai\ ;
+大難 > tainan\ ;
+中欧 > chuuou\ ;
+伝世 > densei\ ;
+賛同 > sandou\ ;
+不漁 > furyou\ ;
+太陽 > taiyou\ ;
+天際 > tensai\ ;
+暴状 > boujou\ ;
+旋転 > senten\ ;
+多額 > tagaku\ ;
+天険 > tenken\ ;
+聖堂 > seidou\ ;
+老手 > roushu\ ;
+会主 > kaishu\ ;
+東宮 > touguu\ ;
+東宝 > touhou\ ;
+聖域 > seiiki\ ;
+大隊 > daitai\ ;
+代品 > daihin\ ;
+月桂 > gekkei\ ;
+頓知 > tonchi\ ;
+老成 > rousei\ ;
+耐性 > taisei\ ;
+敵飛 > tekihi\ ;
+順礼 > junrei\ ;
+乗数 > jousuu\ ;
+夕顔 > yuugao\ ;
+乱戦 > ransen\ ;
+時習 > jishuu\ ;
+考慮 > kouryo\ ;
+断金 > dankin\ ;
+不測 > fusoku\ ;
+介在 > kaizai\ ;
+太閤 > taikou\ ;
+旧誼 > kyuugi\ ;
+整風 > seifuu\ ;
+任免 > ninmen\ ;
+存分 > zonbun\ ;
+令名 > reimei\ ;
+飲屋 > nomiya\ ;
+聖地 > seichi\ ;
+人外 > ningai\ ;
+斧鉞 > fuetsu\ ;
+夜霧 > yogiri\ ;
+猛然 > mouzen\ ;
+聯合 > rengou\ ;
+人士 > jinshi\ ;
+面貌 > menbou\ ;
+販売 > hanbai\ ;
+乾性 > kansei\ ;
+主根 > shukon\ ;
+大関 > oozeki\ ;
+旧詠 > kyuuei\ ;
+今回 > konkai\ ;
+日誌 > nisshi\ ;
+早計 > soukei\ ;
+代参 > daisan\ ;
+大門 > daimon\ ;
+本拠 > honkyo\ ;
+有望 > yuubou\ ;
+狡知 > kouchi\ ;
+飮屋 > nomiya\ ;
+整頓 > seiton\ ;
+旧記 > kyuuki\ ;
+課長 > kachou\ ;
+妄言 > mougen\ ;
+諸賢 > shoken\ ;
+晩稲 > bantou\ ;
+些少 > sashou\ ;
+亡子 > boushi\ ;
+貴国 > kikoku\ ;
+旅路 > tabiji\ ;
+豪快 > goukai\ ;
+日計 > nikkei\ ;
+早見 > hayami\ ;
+電顕 > denken\ ;
+館員 > kan''in\ ;
+賢兄 > kenkei\ ;
+外電 > gaiden\ ;
+現員 > gen''in\ ;
+板塀 > itabei\ ;
+片言 > hengen\ ;
+交媾 > koukou\ ;
+下流 > karyuu\ ;
+罪状 > zaijou\ ;
+旧規 > kyuuki\ ;
+斯道 > shidou\ ;
+現品 > genpin\ ;
+玩弄 > ganrou\ ;
+放鷹 > houyou\ ;
+学会 > gakkai\ ;
+奉還 > houkan\ ;
+不況 > fukyou\ ;
+奉遷 > housen\ ;
+誓願 > seigan\ ;
+本懐 > honkai\ ;
+丹朱 > tanshu\ ;
+大鑑 > taikan\ ;
+丸木 > maruki\ ;
+学事 > gakuji\ ;
+月旦 > gettan\ ;
+夜長 > yonaga\ ;
+東天 > touten\ ;
+奉送 > housou\ ;
+東大 > toudai\ ;
+面談 > mendan\ ;
+奉迎 > hougei\ ;
+書林 > shorin\ ;
+奸計 > kankei\ ;
+燕雀 > enjaku\ ;
+有数 > yuusuu\ ;
+狼狽 > roubai\ ;
+媒染 > baisen\ ;
+繁閑 > hankan\ ;
+仲値 > nakane\ ;
+上水 > jousui\ ;
+誘電 > yuuden\ ;
+時給 > jikyuu\ ;
+雄鶏 > ondori\ ;
+晴着 > haregi\ ;
+罰点 > batten\ ;
+亡姉 > boushi\ ;
+大鎌 > oogama\ ;
+亡妻 > bousai\ ;
+青豆 > aomame\ ;
+貧困 > hinkon\ ;
+仲保 > chuuho\ ;
+珍奇 > chinki\ ;
+謀計 > boukei\ ;
+主旨 > shushi\ ;
+亢奮 > koufun\ ;
+版行 > hankou\ ;
+大鍋 > oonabe\ ;
+暴漢 > boukan\ ;
+上段 > joudan\ ;
+最早 > mohaya\ ;
+雷電 > raiden\ ;
+万民 > banmin\ ;
+老廃 > rouhai\ ;
+令兄 > reikei\ ;
+委縮 > ishuku\ ;
+乗手 > norite\ ;
+仏参 > bussan\ ;
+昇華 > shouka\ ;
+一泊 > ippaku\ ;
+諷諌 > fuukan\ ;
+主文 > shubun\ ;
+雄鳥 > ondori\ ;
+現勢 > gensei\ ;
+老幼 > rouyou\ ;
+語長 > gochou\ ;
+奔走 > honsou\ ;
+老年 > rounen\ ;
+中期 > chuuki\ ;
+三死 > sanshi\ ;
+他力 > tariki\ ;
+本性 > honsei\ ;
+付則 > fusoku\ ;
+翻弄 > honrou\ ;
+財団 > zaidan\ ;
+謙虚 > kenkyo\ ;
+代僧 > daisou\ ;
+予審 > yoshin\ ;
+主攻 > shukou\ ;
+誌面 > shimen\ ;
+万死 > banshi\ ;
+老師 > roushi\ ;
+万歳 > manzai\ ;
+子供 > kodomo\ ;
+存亡 > sonbou\ ;
+二子 > futago\ ;
+上欄 > jouran\ ;
+仮作 > kasaku\ ;
+順番 > junban\ ;
+賢人 > kenjin\ ;
+雲集 > unshuu\ ;
+諳誦 > anshou\ ;
+雲雀 > hibari\ ;
+現前 > genzen\ ;
+老巧 > roukou\ ;
+介卵 > kairan\ ;
+大鉈 > oonata\ ;
+詩魂 > shikon\ ;
+奇蹟 > kiseki\ ;
+羊水 > yousui\ ;
+群棲 > gunsei\ ;
+難題 > nandai\ ;
+天金 > tenkin\ ;
+本影 > hon''ei\ ;
+耐寒 > taikan\ ;
+天重 > tenjuu\ ;
+並木 > namiki\ ;
+本当 > hontou\ ;
+斜辺 > shahen\ ;
+賢主 > kenshu\ ;
+書斎 > shosai\ ;
+羊毛 > youmou\ ;
+大金 > taikin\ ;
+静観 > seikan\ ;
+奇跡 > kiseki\ ;
+仁君 > jinkun\ ;
+不様 > buzama\ ;
+人員 > jin''in\ ;
+中日 > nakabi\ ;
+末弟 > mattei\ ;
+人品 > jinpin\ ;
+三権 > sanken\ ;
+諮詢 > shijun\ ;
+縦隊 > juutai\ ;
+一次 > ichiji\ ;
+熱風 > neppuu\ ;
+象嵌 > zougan\ ;
+大酔 > taisui\ ;
+上様 > uezama\ ;
+大酒 > oozake\ ;
+人命 > jinmei\ ;
+縦陣 > juujin\ ;
+嫁御 > yomego\ ;
+賞与 > shouyo\ ;
+朝恩 > chouon\ ;
+本店 > honten\ ;
+雲間 > kumoma\ ;
+始終 > shijuu\ ;
+論賛 > ronsan\ ;
+更改 > koukai\ ;
+敢闘 > kantou\ ;
+人君 > jinkun\ ;
+現像 > genzou\ ;
+人名 > jinmei\ ;
+夭逝 > yousei\ ;
+散開 > sankai\ ;
+仏典 > butten\ ;
+三業 > sangou\ ;
+諫言 > kangen\ ;
+代任 > dainin\ ;
+羨望 > senbou\ ;
+試験 > shiken\ ;
+世柄 > yogara\ ;
+人口 > jinkou\ ;
+語録 > goroku\ ;
+易者 > ekisha\ ;
+天道 > tendou\ ;
+人参 > ninjin\ ;
+天遍 > tenpen\ ;
+天運 > ten''un\ ;
+一樹 > ichiju\ ;
+代人 > dainin\ ;
+今冬 > kontou\ ;
+上棟 > joutou\ ;
+大道 > daidou\ ;
+離隔 > rikaku\ ;
+仏僧 > bussou\ ;
+多量 > taryou\ ;
+日蔭 > hikage\ ;
+聖典 > seiten\ ;
+暴民 > boumin\ ;
+離陸 > ririku\ ;
+老害 > rougai\ ;
+文選 > bunsen\ ;
+上梓 > joushi\ ;
+木工 > mokkou\ ;
+乱射 > ransha\ ;
+天辺 > teppen\ ;
+責務 > sekimu\ ;
+文運 > bun''un\ ;
+旅装 > ryosou\ ;
+諦観 > teikan\ ;
+老子 > roushi\ ;
+豊年 > hounen\ ;
+大農 > dainou\ ;
+方言 > hougen\ ;
+奏請 > sousei\ ;
+三桁 > miketa\ ;
+本島 > hontou\ ;
+主戦 > shusen\ ;
+老嬢 > roujou\ ;
+聖像 > seizou\ ;
+三校 > sankou\ ;
+旅行 > ryokou\ ;
+難関 > nankan\ ;
+新語 > shingo\ ;
+大輪 > tairin\ ;
+不朽 > fukyuu\ ;
+放題 > houdai\ ;
+本山 > honzan\ ;
+天軍 > tengun\ ;
+三枚 > sanmai\ ;
+板前 > itamae\ ;
+現代 > gendai\ ;
+頻死 > hinshi\ ;
+燐鉱 > rinkou\ ;
+仁兄 > jinkei\ ;
+本屋 > hon''ya\ ;
+不服 > fufuku\ ;
+電鈴 > denrei\ ;
+三板 > sanpan\ ;
+類本 > ruihon\ ;
+声門 > seimon\ ;
+曚昧 > moumai\ ;
+現今 > genkon\ ;
+風帯 > fuutai\ ;
+享受 > kyouju\ ;
+風師 > fuushi\ ;
+仙丹 > sentan\ ;
+人出 > hitode\ ;
+類書 > ruisho\ ;
+本尊 > honzon\ ;
+上期 > kamiki\ ;
+熱闘 > nettou\ ;
+珍味 > chinmi\ ;
+書房 > shobou\ ;
+一案 > ichian\ ;
+三本 > sanbon\ ;
+養分 > youbun\ ;
+有性 > yuusei\ ;
+万来 > banrai\ ;
+豪奢 > gousha\ ;
+改題 > kaidai\ ;
+上書 > jousho\ ;
+木屑 > kikuzu\ ;
+仏会 > butsue\ ;
+館主 > kanshu\ ;
+三曹 > sansou\ ;
+三更 > sankou\ ;
+献杯 > kenpai\ ;
+亡命 > boumei\ ;
+東半 > touhan\ ;
+故障 > koshou\ ;
+断言 > dangen\ ;
+外遊 > gaiyuu\ ;
+有志 > yuushi\ ;
+本官 > honkan\ ;
+玉屋 > tamaya\ ;
+交合 > kougou\ ;
+新規 > shinki\ ;
+老妻 > rousai\ ;
+王将 > oushou\ ;
+仕上 > shiage\ ;
+豪壮 > gousou\ ;
+願望 > ganmou\ ;
+爬虫 > hachuu\ ;
+聖体 > seitai\ ;
+献本 > kenpon\ ;
+耕地 > kouchi\ ;
+中手 > nakate\ ;
+上智 > jouchi\ ;
+最悪 > saiaku\ ;
+燐酸 > rinsan\ ;
+独演 > dokuen\ ;
+失費 > shippi\ ;
+交友 > kouyuu\ ;
+願書 > gansho\ ;
+末孫 > masson\ ;
+亡君 > boukun\ ;
+警砲 > keihou\ ;
+暗流 > anryuu\ ;
+聖伝 > seiden\ ;
+末子 > masshi\ ;
+三景 > sankei\ ;
+王宮 > oukyuu\ ;
+嫌嫌 > iyaiya\ ;
+放電 > houden\ ;
+雌雄 > shiyuu\ ;
+有形 > yuukei\ ;
+翠嵐 > suiran\ ;
+食器 > shokki\ ;
+大足 > ooashi\ ;
+聖代 > seidai\ ;
+亡友 > bouyuu\ ;
+美服 > bifuku\ ;
+今今 > imaima\ ;
+三昧 > sanmai\ ;
+一朶 > ichida\ ;
+今人 > konjin\ ;
+聖人 > seijin\ ;
+獣性 > juusei\ ;
+雲量 > unryou\ ;
+上旬 > joujun\ ;
+大赦 > taisha\ ;
+上旨 > joushi\ ;
+一朝 > itchou\ ;
+夢路 > yumeji\ ;
+一服 > ippuku\ ;
+奇襲 > kishuu\ ;
+不敵 > futeki\ ;
+談論 > danron\ ;
+両拳 > janken\ ;
+上方 > jouhou\ ;
+玉子 > tamago\ ;
+飯台 > handai\ ;
+日航 > nikkou\ ;
+明細 > meisai\ ;
+羈束 > kisoku\ ;
+罷業 > higyou\ ;
+人偏 > ninben\ ;
+外輪 > gairin\ ;
+天賜 > tenshi\ ;
+三方 > sanpou\ ;
+青藍 > seiran\ ;
+天資 > tenshi\ ;
+韲物 > aemono\ ;
+上文 > joubun\ ;
+主従 > shujuu\ ;
+断裁 > dansai\ ;
+人倫 > jinrin\ ;
+請訓 > seikun\ ;
+猥本 > waihon\ ;
+乾坤 > kenkon\ ;
+乱売 > ranbai\ ;
+三文 > sanmon\ ;
+大賢 > taiken\ ;
+万方 > banpou\ ;
+変遷 > hensen\ ;
+題材 > daizai\ ;
+今上 > kinjou\ ;
+聖上 > seijou\ ;
+外車 > gaisha\ ;
+電送 > densou\ ;
+玄孫 > genson\ ;
+攻防 > koubou\ ;
+両手 > ryoute\ ;
+七日 > nanoka\ ;
+断行 > dankou\ ;
+朝家 > chouka\ ;
+変造 > henzou\ ;
+願文 > ganmon\ ;
+本姓 > honsei\ ;
+一昨 > issaku\ ;
+奉行 > bugyou\ ;
+負傷 > fushou\ ;
+仁人 > jinjin\ ;
+本妻 > honsai\ ;
+風害 > fuugai\ ;
+嫉妬 > shitto\ ;
+謝罪 > shazai\ ;
+猟期 > ryouki\ ;
+人体 > nintei\ ;
+日脚 > hiashi\ ;
+文豪 > bungou\ ;
+一新 > isshin\ ;
+主幹 > shukan\ ;
+施薬 > seyaku\ ;
+独泳 > dokuei\ ;
+斜視 > shashi\ ;
+天譴 > tenken\ ;
+数軒 > suuken\ ;
+天警 > tenkei\ ;
+誹諧 > haikai\ ;
+罪業 > zaigou\ ;
+支隊 > shitai\ ;
+早老 > sourou\ ;
+電車 > densha\ ;
+獣帯 > juutai\ ;
+一攫 > ikkaku\ ;
+主帆 > shuhan\ ;
+類推 > ruisui\ ;
+明答 > meitou\ ;
+上提 > joutei\ ;
+線香 > senkou\ ;
+変転 > henten\ ;
+一擲 > itteki\ ;
+上掲 > joukei\ ;
+来冦 > raikou\ ;
+猛暑 > mousho\ ;
+諸芸 > shogei\ ;
+亡兄 > boukei\ ;
+予告 > yokoku\ ;
+不振 > fushin\ ;
+書店 > shoten\ ;
+人世 > jinsei\ ;
+本塁 > honrui\ ;
+貧乏 > binbou\ ;
+来光 > raikou\ ;
+外資 > gaishi\ ;
+燻製 > kunsei\ ;
+風姿 > fuushi\ ;
+離郷 > rikyou\ ;
+本堂 > hondou\ ;
+九夏 > kyuuka\ ;
+青草 > aokusa\ ;
+諸般 > shohan\ ;
+外貌 > gaibou\ ;
+既習 > kishuu\ ;
+中座 > chuuza\ ;
+犬猿 > ken''en\ ;
+主峰 > shuhou\ ;
+不承 > fushou\ ;
+罰杯 > bappai\ ;
+頸木 > kubiki\ ;
+三拝 > sanpai\ ;
+妖精 > yousei\ ;
+乙夜 > otsuya\ ;
+頓死 > tonshi\ ;
+有害 > yuugai\ ;
+習字 > shuuji\ ;
+大計 > taikei\ ;
+春着 > harugi\ ;
+一掬 > ikkiku\ ;
+編隊 > hentai\ ;
+亭亭 > teitei\ ;
+天覧 > tenran\ ;
+読誦 > dokuju\ ;
+順法 > junpou\ ;
+京人 > keijin\ ;
+敗退 > haitai\ ;
+猛攻 > moukou\ ;
+大観 > taikan\ ;
+二割 > niwari\ ;
+木型 > kigata\ ;
+三才 > sansai\ ;
+望外 > bougai\ ;
+中州 > nakasu\ ;
+義心 > gishin\ ;
+大要 > taiyou\ ;
+一挺 > itchou\ ;
+暮春 > boshun\ ;
+主導 > shudou\ ;
+娯楽 > goraku\ ;
+亭主 > teishu\ ;
+万才 > manzai\ ;
+暴政 > bousei\ ;
+誤謬 > gobyuu\ ;
+旧縁 > kyuuen\ ;
+亀卜 > kiboku\ ;
+読解 > dokkai\ ;
+主宰 > shusai\ ;
+王国 > oukoku\ ;
+多読 > tadoku\ ;
+風塵 > fuujin\ ;
+士道 > shidou\ ;
+頌歌 > shouka\ ;
+交代 > koutai\ ;
+乗場 > noriba\ ;
+東上 > toujou\ ;
+夢見 > yumemi\ ;
+両度 > ryoudo\ ;
+変貌 > henbou\ ;
+頻数 > hinsuu\ ;
+誤読 > godoku\ ;
+一把 > ichiwa\ ;
+頭書 > tousho\ ;
+晦渋 > kaijuu\ ;
+不惑 > fuwaku\ ;
+珍事 > chinji\ ;
+敗軍 > haigun\ ;
+来会 > raikai\ ;
+一打 > ichida\ ;
+条例 > jourei\ ;
+一手 > hitote\ ;
+来任 > rainin\ ;
+智歯 > chishi\ ;
+曾孫 > himago\ ;
+誤診 > goshin\ ;
+誤訳 > goyaku\ ;
+曽孫 > himago\ ;
+縦走 > juusou\ ;
+本営 > hon''ei\ ;
+日経 > nikkei\ ;
+朗報 > rouhou\ ;
+多角 > takaku\ ;
+万感 > bankan\ ;
+奈落 > naraku\ ;
+妨碍 > bougai\ ;
+語調 > gochou\ ;
+夜襲 > yashuu\ ;
+犠牛 > gigyuu\ ;
+豪勢 > gousei\ ;
+不急 > fukyuu\ ;
+日系 > nikkei\ ;
+春画 > shunga\ ;
+条件 > jouken\ ;
+雅量 > garyou\ ;
+条令 > jourei\ ;
+豪勇 > gouyuu\ ;
+散財 > sanzai\ ;
+熔銑 > yousen\ ;
+不忠 > fuchuu\ ;
+既約 > kiyaku\ ;
+外観 > gaikan\ ;
+随順 > zuijun\ ;
+来世 > raisei\ ;
+縦貫 > juukan\ ;
+不徳 > futoku\ ;
+緑雨 > ryokuu\ ;
+本員 > hon''in\ ;
+電請 > densei\ ;
+外見 > sotomi\ ;
+三思 > sanshi\ ;
+昏睡 > konsui\ ;
+詩選 > shisen\ ;
+面繋 > omogai\ ;
+際限 > saigen\ ;
+新芽 > shinme\ ;
+有声 > yuusei\ ;
+乳化 > nyuuka\ ;
+敗走 > haisou\ ;
+政道 > seidou\ ;
+数詞 > suushi\ ;
+訪韓 > houkan\ ;
+明眸 > meibou\ ;
+頭数 > tousuu\ ;
+暴挙 > boukyo\ ;
+獣姦 > juukan\ ;
+隔離 > kakuri\ ;
+本命 > honmei\ ;
+類形 > ruikei\ ;
+中子 > nakago\ ;
+老功 > roukou\ ;
+曳子 > hikiko\ ;
+天蚕 > tensan\ ;
+放送 > housou\ ;
+太虚 > taikyo\ ;
+外装 > gaisou\ ;
+本名 > honmei\ ;
+改選 > kaisen\ ;
+上弦 > jougen\ ;
+女給 > jokyuu\ ;
+電解 > denkai\ ;
+三弦 > sangen\ ;
+置換 > chikan\ ;
+誓詞 > seishi\ ;
+二伸 > nishin\ ;
+月報 > geppou\ ;
+最大 > saidai\ ;
+燻蒸 > kunjou\ ;
+云云 > un''nun\ ;
+隙間 > sukima\ ;
+最外 > saigai\ ;
+婦徳 > futoku\ ;
+暴戻 > bourei\ ;
+改造 > kaizou\ ;
+大虎 > oodora\ ;
+陵駕 > ryouga\ ;
+売買 > baibai\ ;
+支配 > shihai\ ;
+並存 > heizon\ ;
+丸太 > maruta\ ;
+村会 > sonkai\ ;
+美徳 > bitoku\ ;
+未収 > mishuu\ ;
+一応 > ichiou\ ;
+詠進 > eishin\ ;
+群島 > guntou\ ;
+誓言 > seigen\ ;
+群峰 > gunpou\ ;
+服地 > fukuji\ ;
+謝礼 > sharei\ ;
+一心 > isshin\ ;
+木叢 > komura\ ;
+両家 > ryouke\ ;
+一徳 > ittoku\ ;
+二人 > futari\ ;
+老兵 > rouhei\ ;
+狂気 > kyouki\ ;
+一得 > ittoku\ ;
+総門 > soumon\ ;
+老公 > roukou\ ;
+片端 > katawa\ ;
+獄屋 > gokuya\ ;
+講社 > kousha\ ;
+一往 > ichiou\ ;
+頌栄 > shouei\ ;
+煎餅 > senbei\ ;
+上帯 > uwaobi\ ;
+雑踏 > zattou\ ;
+更始 > koushi\ ;
+文藻 > bunsou\ ;
+上帝 > joutei\ ;
+老優 > rouyuu\ ;
+熱賛 > nessan\ ;
+教護 > kyougo\ ;
+乳児 > nyuuji\ ;
+一張 > itchou\ ;
+上巻 > joukan\ ;
+暴慢 > bouman\ ;
+上巳 > joushi\ ;
+群居 > gunkyo\ ;
+纏綿 > tenmen\ ;
+媾合 > kougou\ ;
+老僧 > rousou\ ;
+争乱 > souran\ ;
+猛悪 > mouaku\ ;
+奏聞 > soumon\ ;
+大蔵 > ookura\ ;
+変装 > hensou\ ;
+万巻 > mangan\ ;
+頓智 > tonchi\ ;
+狂歌 > kyouka\ ;
+日程 > nittei\ ;
+姦淫 > kan''in\ ;
+丁度 > choudo\ ;
+天蓋 > tengai\ ;
+教諭 > kyouyu\ ;
+獅子 > shishi\ ;
+一座 > ichiza\ ;
+中央 > chuuou\ ;
+奏者 > sousha\ ;
+丁年 > teinen\ ;
+乗合 > noriai\ ;
+音標 > onpyou\ ;
+散見 > sanken\ ;
+乗号 > jougou\ ;
+暴悪 > bouaku\ ;
+本初 > honsho\ ;
+風向 > fuukou\ ;
+詩趣 > shishu\ ;
+本分 > honbun\ ;
+救護 > kyuugo\ ;
+縦覧 > juuran\ ;
+一幅 > ippuku\ ;
+耐乏 > taibou\ ;
+服喪 > fukumo\ ;
+木剣 > bokken\ ;
+縫製 > housei\ ;
+一席 > isseki\ ;
+大葬 > taisou\ ;
+大著 > taicho\ ;
+擬革 > gikaku\ ;
+世子 > seishi\ ;
+論者 > ronsha\ ;
+論考 > ronkou\ ;
+音楽 > ongaku\ ;
+朗吟 > rougin\ ;
+雪見 > yukimi\ ;
+物産 > bussan\ ;
+乱倫 > ranrin\ ;
+雲表 > unpyou\ ;
+牛皮 > gyuuhi\ ;
+上層 > jousou\ ;
+難訓 > nankun\ ;
+乳価 > nyuuka\ ;
+不審 > fushin\ ;
+翻倒 > hontou\ ;
+老体 > routai\ ;
+陸離 > rikuri\ ;
+擡頭 > taitou\ ;
+奇習 > kishuu\ ;
+難解 > nankai\ ;
+断罪 > danzai\ ;
+訓電 > kunden\ ;
+牢番 > rouban\ ;
+時流 > jiryuu\ ;
+斬罪 > zanzai\ ;
+旅籠 > hatago\ ;
+敢行 > kankou\ ;
+赤々 > akaaka\ ;
+晴朗 > seirou\ ;
+三封 > sanpuu\ ;
+熱誠 > nessei\ ;
+三寸 > sanzun\ ;
+不学 > fugaku\ ;
+万尋 > banjin\ ;
+老人 > roujin\ ;
+猶子 > yuushi\ ;
+晴曇 > seidon\ ;
+上官 > joukan\ ;
+三宝 > sanpou\ ;
+風前 > fuuzen\ ;
+陣風 > jinpuu\ ;
+玄冬 > gentou\ ;
+集貨 > shuuka\ ;
+率先 > sossen\ ;
+風刺 > fuushi\ ;
+隧道 > suidou\ ;
+壮観 > soukan\ ;
+最善 > saizen\ ;
+罪悪 > zaiaku\ ;
+万宝 > banpou\ ;
+暖房 > danbou\ ;
+敬虔 > keiken\ ;
+隣邦 > rinpou\ ;
+乱交 > rankou\ ;
+老中 > roujuu\ ;
+本俸 > honpou\ ;
+女神 > megami\ ;
+犬歯 > kenshi\ ;
+青筋 > aosuji\ ;
+諸種 > shoshu\ ;
+陣頭 > jintou\ ;
+頽廃 > taihai\ ;
+有名 > yuumei\ ;
+朋友 > houyuu\ ;
+文芸 > bungei\ ;
+陰陽 > on''you\ ;
+有司 > yuushi\ ;
+有史 > yuushi\ ;
+詳記 > shouki\ ;
+丁寧 > teinei\ ;
+一将 > isshou\ ;
+一対 > ittsui\ ;
+義塾 > gijuku\ ;
+一寸 > chotto\ ;
+大船 > oobune\ ;
+青竹 > aodake\ ;
+一審 > isshin\ ;
+革砥 > kawato\ ;
+雑誌 > zasshi\ ;
+片眼 > katame\ ;
+断線 > dansen\ ;
+乱世 > ransei\ ;
+熟議 > jukugi\ ;
+世変 > seihen\ ;
+本体 > hontai\ ;
+風光 > fuukou\ ;
+主命 > shumei\ ;
+隠逸 > initsu\ ;
+大臣 > daijin\ ;
+美学 > bigaku\ ;
+一宗 > isshuu\ ;
+詩論 > shiron\ ;
+片目 > katame\ ;
+政論 > seiron\ ;
+丁子 > chouji\ ;
+率倒 > sottou\ ;
+服務 > fukumu\ ;
+青空 > aozora\ ;
+政談 > seidan\ ;
+有半 > yuuhan\ ;
+一字 > ichiji\ ;
+雑言 > zougon\ ;
+繋船 > keisen\ ;
+本件 > honken\ ;
+放談 > houdan\ ;
+主君 > shukun\ ;
+丸味 > marumi\ ;
+本代 > hondai\ ;
+大腿 > daitai\ ;
+試論 > shiron\ ;
+晩景 > bankei\ ;
+下姓 > geshou\ ;
+壮行 > soukou\ ;
+妙王 > myouou\ ;
+大脳 > dainou\ ;
+旅程 > ryotei\ ;
+奉納 > hounou\ ;
+熟語 > jukugo\ ;
+霊芝 > reishi\ ;
+有効 > yuukou\ ;
+狙撃 > sogeki\ ;
+有功 > yuukou\ ;
+猶太 > yudaya\ ;
+夜船 > yofune\ ;
+未了 > miryou\ ;
+姓氏 > seishi\ ;
+上奏 > jousou\ ;
+放言 > hougen\ ;
+大胆 > daitan\ ;
+上天 > jouten\ ;
+早産 > souzan\ ;
+大股 > oomata\ ;
+最南 > sainan\ ;
+天聞 > tenbun\ ;
+訴追 > sotsui\ ;
+猛射 > mousha\ ;
+詠誦 > eishou\ ;
+晦日 > misoka\ ;
+繭糸 > kenshi\ ;
+政見 > seiken\ ;
+猟季 > ryouki\ ;
+妄用 > bouyou\ ;
+曹司 > soushi\ ;
+記録 > kiroku\ ;
+書名 > shomei\ ;
+大聖 > taisei\ ;
+月刊 > gekkan\ ;
+万天 > banten\ ;
+三士 > sanshi\ ;
+中和 > chuuwa\ ;
+主動 > shudou\ ;
+改訂 > kaitei\ ;
+中味 > nakami\ ;
+日産 > nissan\ ;
+面相 > mensou\ ;
+美妙 > bimyou\ ;
+評議 > hyougi\ ;
+斜線 > shasen\ ;
+大老 > tairou\ ;
+朋党 > houtou\ ;
+風体 > fuutei\ ;
+牝牛 > meushi\ ;
+増配 > zouhai\ ;
+面皰 > menbou\ ;
+乃公 > naikou\ ;
+陣門 > jinmon\ ;
+昂然 > kouzen\ ;
+一女 > ichijo\ ;
+上場 > joujou\ ;
+降順 > koujun\ ;
+大群 > taigun\ ;
+院長 > inchou\ ;
+中句 > chuuku\ ;
+三塁 > sanrui\ ;
+最前 > saizen\ ;
+隻語 > sekigo\ ;
+曇天 > donten\ ;
+月光 > gekkou\ ;
+謝状 > shajou\ ;
+霊能 > reinou\ ;
+主刑 > shukei\ ;
+続開 > zokkai\ ;
+姻族 > inzoku\ ;
+丹前 > tanzen\ ;
+奉答 > houtou\ ;
+丸剤 > ganzai\ ;
+大罪 > daizai\ ;
+一夢 > ichimu\ ;
+最初 > saisho\ ;
+一夜 > hitoyo\ ;
+一夕 > isseki\ ;
+万場 > manjou\ ;
+諸相 > shosou\ ;
+類型 > ruikei\ ;
+奇策 > kisaku\ ;
+評語 > hyougo\ ;
+婚姻 > kon''in\ ;
+与圧 > yoatsu\ ;
+熔解 > youkai\ ;
+解題 > kaidai\ ;
+多肉 > taniku\ ;
+与国 > yokoku\ ;
+改装 > kaisou\ ;
+試行 > shikou\ ;
+暗幕 > anmaku\ ;
+隆運 > ryuuun\ ;
+旋盤 > senban\ ;
+降霜 > kousou\ ;
+誘致 > yuuchi\ ;
+暖帯 > dantai\ ;
+下国 > gekoku\ ;
+暫定 > zantei\ ;
+智慮 > chiryo\ ;
+警棒 > keibou\ ;
+断種 > danshu\ ;
+独往 > dokuou\ ;
+韜晦 > toukai\ ;
+晋書 > shinjo\ ;
+猟奇 > ryouki\ ;
+三囲 > mitsui\ ;
+外聞 > gaibun\ ;
+三回 > sankai\ ;
+月俸 > geppou\ ;
+特派 > tokuha\ ;
+主催 > shusai\ ;
+主傘 > shusan\ ;
+雁行 > gankou\ ;
+天網 > tenmou\ ;
+陶酔 > tousui\ ;
+書写 > shosha\ ;
+斑紋 > hanmon\ ;
+顕在 > kenzai\ ;
+有体 > yuutai\ ;
+大綱 > taikou\ ;
+姦智 > kanchi\ ;
+熏製 > kunsei\ ;
+獄吏 > gokuri\ ;
+独座 > dokuza\ ;
+緩解 > kankai\ ;
+三嘆 > santan\ ;
+奉祀 > houshi\ ;
+一国 > ikkoku\ ;
+娼家 > shouka\ ;
+晃曜 > kouyou\ ;
+猟場 > ryouba\ ;
+領布 > ryoufu\ ;
+片片 > henpen\ ;
+一因 > ichiin\ ;
+霧笛 > muteki\ ;
+陸運 > rikuun\ ;
+有人 > yuujin\ ;
+無闇 > muyami\ ;
+晩成 > bansei\ ;
+雄蜂 > obachi\ ;
+防風 > boufuu\ ;
+詩藻 > shisou\ ;
+大系 > taikei\ ;
+絹雲 > ken''un\ ;
+煮豆 > nimame\ ;
+熔融 > youyuu\ ;
+主体 > shutai\ ;
+訓連 > kunren\ ;
+万善 > manzen\ ;
+天籟 > tenrai\ ;
+文系 > bunkei\ ;
+最低 > saitei\ ;
+繋累 > keirui\ ;
+読経 > dokyou\ ;
+繊細 > sensai\ ;
+施療 > seryou\ ;
+主任 > shunin\ ;
+敬老 > keirou\ ;
+順当 > juntou\ ;
+陽転 > youten\ ;
+両刃 > ryouba\ ;
+絞首 > koushu\ ;
+日焼 > hiyake\ ;
+上品 > joubon\ ;
+放蕩 > houtou\ ;
+主人 > shujin\ ;
+顫動 > sendou\ ;
+雄蘂 > yuuzui\ ;
+阻隔 > sokaku\ ;
+難船 > nansen\ ;
+隆起 > ryuuki\ ;
+順延 > jun''en\ ;
+難航 > nankou\ ;
+娼婦 > shoufu\ ;
+委曲 > ikyoku\ ;
+中値 > nakane\ ;
+奇矯 > kikyou\ ;
+緩行 > kankou\ ;
+外線 > gaisen\ ;
+姻戚 > inseki\ ;
+昭栄 > shouei\ ;
+類同 > ruidou\ ;
+誦経 > zukyou\ ;
+早瀬 > hayase\ ;
+詞藻 > shisou\ ;
+書体 > shotai\ ;
+中保 > chuuho\ ;
+緒論 > choron\ ;
+上向 > joukou\ ;
+註記 > chuuki\ ;
+主上 > shujou\ ;
+最中 > monaka\ ;
+上司 > joushi\ ;
+姿態 > shitai\ ;
+雑菌 > zakkin\ ;
+文範 > bunpan\ ;
+新盆 > niibon\ ;
+増資 > zoushi\ ;
+雄蕊 > yuuzui\ ;
+最上 > mogami\ ;
+大筋 > oosuji\ ;
+媒体 > baitai\ ;
+爆破 > bakuha\ ;
+総論 > souron\ ;
+一員 > ichiin\ ;
+天童 > tendou\ ;
+献呈 > kentei\ ;
+独居 > dokkyo\ ;
+娼妓 > shougi\ ;
+特権 > tokken\ ;
+訳語 > yakugo\ ;
+外紙 > gaishi\ ;
+中佐 > chuusa\ ;
+万口 > bankou\ ;
+雑草 > zassou\ ;
+上半 > jouhan\ ;
+陸路 > rikuro\ ;
+媒介 > baikai\ ;
+天空 > tenkuu\ ;
+緒言 > chogen\ ;
+更代 > koutai\ ;
+訴訟 > soshou\ ;
+需給 > jukyuu\ ;
+頭声 > tousei\ ;
+三千 > sanzen\ ;
+三十 > sanjuu\ ;
+改葬 > kaisou\ ;
+与力 > yoriki\ ;
+経験 > keiken\ ;
+早漏 > sourou\ ;
+電線 > densen\ ;
+大空 > oozora\ ;
+外米 > gaimai\ ;
+総計 > soukei\ ;
+万千 > bansen\ ;
+天稟 > tenpin\ ;
+訳解 > yakkai\ ;
+繁簡 > hankan\ ;
+中二 > chuuni\ ;
+奇癖 > kiheki\ ;
+敏腕 > binwan\ ;
+天秤 > tenbin\ ;
+索麺 > soumen\ ;
+総覧 > souran\ ;
+群像 > gunzou\ ;
+総見 > souken\ ;
+素麺 > soumen\ ;
+曙光 > shokou\ ;
+敗者 > haisha\ ;
+奮然 > funzen\ ;
+万劫 > mangou\ ;
+上前 > uwamae\ ;
+設計 > sekkei\ ;
+斯界 > shikai\ ;
+新甫 > shinpo\ ;
+集荷 > shuuka\ ;
+附録 > furoku\ ;
+教義 > kyougi\ ;
+雌花 > mebana\ ;
+奇病 > kibyou\ ;
+晴嵐 > seiran\ ;
+青物 > aomono\ ;
+牢死 > roushi\ ;
+状態 > joutai\ ;
+天神 > tenjin\ ;
+然迄 > samade\ ;
+題名 > daimei\ ;
+一升 > isshou\ ;
+好漢 > koukan\ ;
+一匹 > ippiki\ ;
+題号 > daigou\ ;
+大祭 > taisai\ ;
+三分 > sanpun\ ;
+義侠 > gikyou\ ;
+熏蒸 > kunjou\ ;
+零細 > reisai\ ;
+大社 > taisha\ ;
+大礼 > tairei\ ;
+誓紙 > seishi\ ;
+総裏 > souura\ ;
+物権 > bukken\ ;
+夜空 > yozora\ ;
+一勝 > isshou\ ;
+壮者 > sousha\ ;
+総裁 > sousai\ ;
+無量 > muryou\ ;
+三冬 > santou\ ;
+一助 > ichijo\ ;
+雀荘 > jansou\ ;
+緊褌 > kinkon\ ;
+世俗 > sezoku\ ;
+頽唐 > taitou\ ;
+縦線 > juusen\ ;
+牛歩 > gyuuho\ ;
+万円 > man''en\ ;
+増訂 > zoutei\ ;
+順守 > junshu\ ;
+万全 > manzen\ ;
+一刻 > ikkoku\ ;
+旧派 > kyuuha\ ;
+羅北 > rahoku\ ;
+雪線 > sessen\ ;
+群体 > guntai\ ;
+下僚 > karyou\ ;
+細魚 > sayori\ ;
+下僕 > geboku\ ;
+一利 > ichiri\ ;
+大砲 > taihou\ ;
+暴君 > boukun\ ;
+旧波 > kyuuha\ ;
+数等 > suutou\ ;
+女滝 > medaki\ ;
+世伝 > seiden\ ;
+警手 > keishu\ ;
+随行 > zuikou\ ;
+操車 > sousha\ ;
+如法 > nyohou\ ;
+与信 > yoshin\ ;
+記誦 > kishou\ ;
+雷管 > raikan\ ;
+多祥 > tashou\ ;
+一円 > ichien\ ;
+一具 > ichigu\ ;
+不信 > fushin\ ;
+編著 > hencho\ ;
+警戒 > keikai\ ;
+塊鉱 > kaikou\ ;
+爛爛 > ranran\ ;
+暖地 > danchi\ ;
+綸言 > ringen\ ;
+放胆 > houtan\ ;
+訓諭 > kun''yu\ ;
+曠世 > kousei\ ;
+天眼 > tengan\ ;
+読破 > dokuha\ ;
+三倍 > sanbai\ ;
+顛倒 > tentou\ ;
+旁点 > bouten\ ;
+詩聖 > shisei\ ;
+猛勇 > mouyuu\ ;
+放肆 > houshi\ ;
+奉献 > houken\ ;
+一儀 > ichigi\ ;
+継走 > keisou\ ;
+日永 > hinaga\ ;
+類例 > ruirei\ ;
+訓誡 > kunkai\ ;
+不作 > fusaku\ ;
+言質 > genchi\ ;
+謹書 > kinsho\ ;
+署名 > shomei\ ;
+明朗 > meirou\ ;
+上例 > jourei\ ;
+闘鶏 > toukei\ ;
+天盃 > tenpai\ ;
+上使 > joushi\ ;
+昔時 > sekiji\ ;
+暴動 > boudou\ ;
+堤防 > teibou\ ;
+討論 > touron\ ;
+日毎 > higoto\ ;
+上体 > joutai\ ;
+不仲 > funaka\ ;
+課目 > kamoku\ ;
+大盃 > taihai\ ;
+大皿 > oozara\ ;
+三体 > santai\ ;
+文盲 > monmou\ ;
+熱線 > nessen\ ;
+頽勢 > taisei\ ;
+熟考 > jukkou\ ;
+変種 > henshu\ ;
+断片 > danpen\ ;
+猟具 > ryougu\ ;
+某々 > boubou\ ;
+墓表 > bohyou\ ;
+訓解 > kunkai\ ;
+昵懇 > jikkon\ ;
+女流 > joryuu\ ;
+音容 > on''you\ ;
+降車 > kousha\ ;
+霊知 > reichi\ ;
+声紋 > seimon\ ;
+上代 > joudai\ ;
+奇特 > kidoku\ ;
+領土 > ryoudo\ ;
+美俗 > bizoku\ ;
+順奉 > junpou\ ;
+易断 > ekidan\ ;
+三代 > sandai\ ;
+一俵 > ippyou\ ;
+綱要 > kouyou\ ;
+放置 > houchi\ ;
+闇黒 > ankoku\ ;
+不乙 > fuitsu\ ;
+献体 > kentai\ ;
+罪名 > zaimei\ ;
+昏昏 > konkon\ ;
+雑纂 > zassan\ ;
+妙案 > myouan\ ;
+女波 > menami\ ;
+明明 > akaaka\ ;
+万仞 > banjin\ ;
+離籍 > riseki\ ;
+不一 > fuitsu\ ;
+料理 > ryouri\ ;
+上乗 > joujou\ ;
+暗唱 > anshou\ ;
+三乗 > sanjou\ ;
+明断 > meidan\ ;
+紺青 > konjou\ ;
+敬礼 > keirei\ ;
+雷神 > raijin\ ;
+陶製 > tousei\ ;
+上世 > jousei\ ;
+上上 > joujou\ ;
+明文 > meibun\ ;
+晴天 > seiten\ ;
+万乗 > banjou\ ;
+調理 > chouri\ ;
+断然 > danzen\ ;
+天産 > tensan\ ;
+天生 > tensei\ ;
+晩婚 > bankon\ ;
+明敏 > meibin\ ;
+願主 > ganshu\ ;
+版権 > hanken\ ;
+烈風 > reppuu\ ;
+組閣 > sokaku\ ;
+万丈 > banjou\ ;
+万万 > manman\ ;
+言論 > genron\ ;
+陸行 > rikkou\ ;
+大生 > daisei\ ;
+雀羅 > jakura\ ;
+丁亥 > teigai\ ;
+議席 > giseki\ ;
+美事 > migoto\ ;
+姑息 > kosoku\ ;
+繁盛 > hanjou\ ;
+一人 > hitori\ ;
+放縦 > houjuu\ ;
+論点 > ronten\ ;
+詩編 > shihen\ ;
+献上 > kenjou\ ;
+日様 > hisama\ ;
+陪観 > baikan\ ;
+一二 > ichini\ ;
+一事 > ichiji\ ;
+素首 > sokubi\ ;
+爛漫 > ranman\ ;
+闘魂 > toukon\ ;
+特措 > tokuso\ ;
+政綱 > seikou\ ;
+試練 > shiren\ ;
+誇称 > koshou\ ;
+奉灯 > houtou\ ;
+言訳 > iiwake\ ;
+培養 > baiyou\ ;
+支署 > shisho\ ;
+丁丁 > toutou\ ;
+諸氏 > shoshi\ ;
+言言 > gengen\ ;
+一丁 > itchou\ ;
+総菜 > souzai\ ;
+政経 > seikei\ ;
+多病 > tabyou\ ;
+零砕 > reisai\ ;
+撤退 > tettai\ ;
+見頃 > migoro\ ;
+改編 > kaihen\ ;
+無賃 > muchin\ ;
+計装 > keisou\ ;
+雄編 > yuuhen\ ;
+教科 > kyouka\ ;
+綜覧 > souran\ ;
+霊界 > reikai\ ;
+智嚢 > chinou\ ;
+縁組 > engumi\ ;
+多生 > tashou\ ;
+講書 > kousho\ ;
+紫電 > shiden\ ;
+静止 > seishi\ ;
+特技 > tokugi\ ;
+独和 > dokuwa\ ;
+教祖 > kyouso\ ;
+教示 > kyouji\ ;
+堅陣 > kenjin\ ;
+認知 > ninchi\ ;
+狂女 > kyoujo\ ;
+外用 > gaiyou\ ;
+物損 > busson\ ;
+要項 > youkou\ ;
+要頂 > youkou\ ;
+点頭 > tentou\ ;
+支線 > shisen\ ;
+罰俸 > bappou\ ;
+文献 > bunken\ ;
+詩篇 > shihen\ ;
+日柄 > higara\ ;
+姉弟 > shimai\ ;
+縁籍 > enseki\ ;
+離礁 > rishou\ ;
+音域 > on''iki\ ;
+言行 > genkou\ ;
+角距 > kakkyo\ ;
+報道 > houdou\ ;
+方法 > houhou\ ;
+旭暉 > kyokki\ ;
+絶賛 > zessan\ ;
+如来 > nyorai\ ;
+大物 > oomono\ ;
+昂揚 > kouyou\ ;
+露滴 > roteki\ ;
+続行 > zokkou\ ;
+試算 > shisan\ ;
+諫死 > kanshi\ ;
+降誕 > koutan\ ;
+版本 > hanpon\ ;
+諫止 > kanshi\ ;
+暖冬 > dantou\ ;
+電番 > denban\ ;
+電界 > denkai\ ;
+讚嘆 > santan\ ;
+早晩 > souban\ ;
+霊獣 > reijuu\ ;
+編纂 > hensan\ ;
+時宗 > jishuu\ ;
+新派 > shinpa\ ;
+旭旗 > kyokki\ ;
+雄篇 > yuuhen\ ;
+雑種 > zasshu\ ;
+紙面 > shimen\ ;
+奏法 > souhou\ ;
+失火 > shikka\ ;
+斑点 > hanten\ ;
+雪目 > yukime\ ;
+好望 > koubou\ ;
+旧時 > kyuuji\ ;
+誕生 > tanjou\ ;
+昼寝 > hirune\ ;
+操行 > soukou\ ;
+特恵 > tokkei\ ;
+昼寐 > hirune\ ;
+煙草 > tabako\ ;
+詩稿 > shikou\ ;
+警官 > keikan\ ;
+絶讃 > zessan\ ;
+方正 > housei\ ;
+論法 > ronpou\ ;
+爛死 > ranshi\ ;
+敵王 > tekiou\ ;
+鞅掌 > oushou\ ;
+謄本 > touhon\ ;
+改竄 > kaizan\ ;
+妄断 > moudan\ ;
+特快 > tokkai\ ;
+天災 > tensai\ ;
+青楼 > seirou\ ;
+附託 > futaku\ ;
+旧故 > kyuuko\ ;
+牽引 > ken''in\ ;
+景品 > keihin\ ;
+日数 > hikazu\ ;
+版数 > hansuu\ ;
+断水 > dansui\ ;
+給費 > kyuuhi\ ;
+燦然 > sanzen\ ;
+妙技 > myougi\ ;
+紅顔 > kougan\ ;
+妻帯 > saitai\ ;
+雅称 > gashou\ ;
+威喝 > ikatsu\ ;
+頑冥 > ganmei\ ;
+読点 > touten\ ;
+煎茶 > sencha\ ;
+明快 > meikai\ ;
+妬心 > toshin\ ;
+智勇 > chiyuu\ ;
+譫妄 > senmou\ ;
+晶化 > shouka\ ;
+整版 > seihan\ ;
+雷獣 > raijuu\ ;
+青桐 > aogiri\ ;
+大潮 > ooshio\ ;
+普及 > fukyuu\ ;
+狂喜 > kyouki\ ;
+天漢 > tenkan\ ;
+陶芸 > tougei\ ;
+旗日 > hatabi\ ;
+青柳 > aoyagi\ ;
+設置 > setchi\ ;
+物性 > bussei\ ;
+附表 > fuhyou\ ;
+難産 > nanzan\ ;
+讒口 > zankou\ ;
+今々 > imaima\ ;
+頑健 > ganken\ ;
+暗中 > anchuu\ ;
+護国 > gokoku\ ;
+昼夜 > chuuya\ ;
+言葉 > kotoba\ ;
+親身 > shinmi\ ;
+整然 > seizen\ ;
+紡錘 > bousui\ ;
+諌止 > kanshi\ ;
+外灯 > gaitou\ ;
+妄挙 > boukyo\ ;
+縁石 > enseki\ ;
+埼銀 > saigin\ ;
+間鴨 > aigamo\ ;
+霧氷 > muhyou\ ;
+支社 > shisha\ ;
+青書 > seisho\ ;
+春季 > shunki\ ;
+教理 > kyouri\ ;
+諸方 > shohou\ ;
+増置 > zouchi\ ;
+天涯 > tengai\ ;
+詐称 > sashou\ ;
+摂関 > sekkan\ ;
+警報 > keihou\ ;
+綾羅 > ryoura\ ;
+総統 > soutou\ ;
+領事 > ryouji\ ;
+狂句 > kyouku\ ;
+妖怪 > youkai\ ;
+教王 > kyouou\ ;
+諸政 > shosei\ ;
+施条 > shijou\ ;
+陳腐 > chinpu\ ;
+大海 > taikai\ ;
+姉妹 > shimai\ ;
+報謝 > housha\ ;
+妻子 > saishi\ ;
+独乙 > doitsu\ ;
+煩累 > hanrui\ ;
+片手 > katate\ ;
+電灯 > dentou\ ;
+片戸 > katado\ ;
+大洋 > taiyou\ ;
+姿勢 > shisei\ ;
+角行 > kakkou\ ;
+威力 > iryoku\ ;
+好投 > koutou\ ;
+斑気 > muraki\ ;
+敦煌 > tonkou\ ;
+雪片 > seppen\ ;
+大波 > oonami\ ;
+変災 > hensai\ ;
+大法 > taihou\ ;
+零点 > reiten\ ;
+好手 > koushu\ ;
+晩冬 > bantou\ ;
+好戦 > kousen\ ;
+断案 > dan''an\ ;
+文法 > bunpou\ ;
+天水 > tensui\ ;
+頑丈 > ganjou\ ;
+外湯 > sotoyu\ ;
+文治 > bunchi\ ;
+敢然 > kanzen\ ;
+晦冥 > kaimei\ ;
+教父 > kyoufu\ ;
+妄想 > mousou\ ;
+純銀 > jungin\ ;
+夭死 > youshi\ ;
+政界 > seikai\ ;
+大水 > oomizu\ ;
+綿綿 > menmen\ ;
+外港 > gaikou\ ;
+説法 > seppou\ ;
+見込 > mikomi\ ;
+訪米 > houbei\ ;
+試用 > shiyou\ ;
+細身 > hosomi\ ;
+城門 > joumon\ ;
+文民 > bunmin\ ;
+炭鉱 > tankou\ ;
+旧恩 > kyuuon\ ;
+綿紡 > menbou\ ;
+好感 > koukan\ ;
+純金 > junkin\ ;
+西郊 > seikou\ ;
+夜泊 > yahaku\ ;
+施政 > shisei\ ;
+旧怨 > kyuuen\ ;
+方方 > houbou\ ;
+綿糸 > menshi\ ;
+旨念 > shinen\ ;
+操船 > sousen\ ;
+妨害 > bougai\ ;
+霊泉 > reisen\ ;
+綾糸 > ayaito\ ;
+電源 > dengen\ ;
+妄念 > mounen\ ;
+状勢 > jousei\ ;
+委嘱 > ishoku\ ;
+繊毛 > senmou\ ;
+関頭 > kantou\ ;
+奉書 > housho\ ;
+外洋 > gaiyou\ ;
+西遊 > seiyuu\ ;
+織機 > shokki\ ;
+奮戦 > funsen\ ;
+講師 > koushi\ ;
+霊水 > reisui\ ;
+炭酸 > tansan\ ;
+奔放 > honpou\ ;
+納金 > noukin\ ;
+景仰 > keikou\ ;
+納采 > nousai\ ;
+斃死 > heishi\ ;
+観覧 > kanran\ ;
+諸手 > morote\ ;
+音信 > onshin\ ;
+糖類 > tourui\ ;
+精魂 > seikon\ ;
+訓練 > kunren\ ;
+基軸 > kijiku\ ;
+難点 > nanten\ ;
+夜毎 > yogoto\ ;
+日影 > hikage\ ;
+散漫 > sanman\ ;
+緩目 > yurume\ ;
+片影 > hen''ei\ ;
+災難 > sainan\ ;
+妄弁 > bouben\ ;
+霊殿 > reiden\ ;
+既得 > kitoku\ ;
+大権 > taiken\ ;
+論旨 > ronshi\ ;
+精髄 > seizui\ ;
+斯文 > shibun\ ;
+埴輪 > haniwa\ ;
+論断 > rondan\ ;
+論文 > ronbun\ ;
+煙管 > kiseru\ ;
+爽快 > soukai\ ;
+降臨 > kourin\ ;
+大概 > taigai\ ;
+調査 > chousa\ ;
+静態 > seitai\ ;
+雌牛 > meushi\ ;
+締盟 > teimei\ ;
+開館 > kaikan\ ;
+課業 > kagyou\ ;
+無臭 > mushuu\ ;
+変法 > henpou\ ;
+靱帯 > jintai\ ;
+明大 > meidai\ ;
+牟子 > boushi\ ;
+電池 > denchi\ ;
+閉館 > heikan\ ;
+諸悪 > shoaku\ ;
+星団 > seidan\ ;
+壁画 > hekiga\ ;
+姓名 > seimei\ ;
+素足 > suashi\ ;
+敵歩 > tekifu\ ;
+雪渓 > sekkei\ ;
+雄犬 > osuinu\ ;
+靭帯 > jintai\ ;
+増税 > zouzei\ ;
+時刻 > jikoku\ ;
+墾田 > konden\ ;
+改版 > kaihan\ ;
+父御 > tetego\ ;
+関門 > kanmon\ ;
+細謹 > saikin\ ;
+塊茎 > kaikei\ ;
+隕石 > inseki\ ;
+昭和 > shouwa\ ;
+大根 > daikon\ ;
+斑条 > hanjou\ ;
+閑静 > kansei\ ;
+閑靖 > kansei\ ;
+静思 > seishi\ ;
+旱害 > kangai\ ;
+雑炊 > zousui\ ;
+夜業 > yagyou\ ;
+記章 > kishou\ ;
+昂奮 > koufun\ ;
+細論 > sairon\ ;
+試煉 > shiren\ ;
+牧夫 > bokufu\ ;
+文案 > bun''an\ ;
+旅情 > ryojou\ ;
+云々 > un''nun\ ;
+変死 > henshi\ ;
+難渋 > nanjuu\ ;
+外様 > tozama\ ;
+大柄 > oogara\ ;
+諸彦 > shogen\ ;
+間際 > magiwa\ ;
+天杯 > tenpai\ ;
+天来 > tenrai\ ;
+大枚 > taimai\ ;
+無聊 > buryou\ ;
+長駆 > chouku\ ;
+始原 > shigen\ ;
+散水 > sansui\ ;
+大杯 > taihai\ ;
+雲母 > kirara\ ;
+早寝 > hayane\ ;
+西貢 > saigon\ ;
+教派 > kyouha\ ;
+操縦 > soujuu\ ;
+総監 > soukan\ ;
+大本 > taihon\ ;
+熱湯 > nettou\ ;
+大望 > taimou\ ;
+論拠 > ronkyo\ ;
+日射 > nissha\ ;
+累計 > ruikei\ ;
+註疏 > chuuso\ ;
+奉拝 > houhai\ ;
+大書 > taisho\ ;
+旧家 > kyuuka\ ;
+牧場 > makiba\ ;
+計算 > keisan\ ;
+旋廻 > senkai\ ;
+除籍 > joseki\ ;
+始動 > shidou\ ;
+細見 > saiken\ ;
+繊条 > senjou\ ;
+糸遊 > itoyuu\ ;
+旧字 > kyuuji\ ;
+大暑 > taisho\ ;
+難治 > nanchi\ ;
+墨痕 > bokkon\ ;
+煙硝 > enshou\ ;
+関鍵 > kanken\ ;
+論戦 > ronsen\ ;
+精霊 > seirei\ ;
+日子 > nisshi\ ;
+奉戴 > houtai\ ;
+天明 > tenmei\ ;
+基調 > kichou\ ;
+繁栄 > han''ei\ ;
+墓石 > boseki\ ;
+見解 > kenkai\ ;
+放漫 > houman\ ;
+好守 > koushu\ ;
+雌滝 > medaki\ ;
+姦人 > kanjin\ ;
+墨画 > bokuga\ ;
+難民 > nanmin\ ;
+早婚 > soukon\ ;
+素読 > sodoku\ ;
+要諦 > youtei\ ;
+天文 > tenmon\ ;
+大方 > ookata\ ;
+要請 > yousei\ ;
+支点 > shiten\ ;
+要談 > youdan\ ;
+文明 > bunmei\ ;
+青年 > seinen\ ;
+開閉 > kaihei\ ;
+語格 > gokaku\ ;
+長音 > chouon\ ;
+旧婦 > kyuufu\ ;
+開門 > kaimon\ ;
+旱天 > kanten\ ;
+搬送 > hansou\ ;
+鞏固 > kyouko\ ;
+文旦 > buntan\ ;
+謹啓 > kinkei\ ;
+練炭 > rentan\ ;
+大数 > taisuu\ ;
+解纜 > kairan\ ;
+閉門 > heimon\ ;
+議了 > giryou\ ;
+奥州 > oushuu\ ;
+敗残 > haizan\ ;
+増益 > zoueki\ ;
+大敗 > taihai\ ;
+講壇 > koudan\ ;
+外来 > gairai\ ;
+闇路 > yamiji\ ;
+諸島 > shotou\ ;
+外材 > gaizai\ ;
+大政 > taisei\ ;
+女将 > joshou\ ;
+門院 > mon''in\ ;
+納豆 > nattou\ ;
+門限 > mongen\ ;
+方形 > houkei\ ;
+陥穽 > kansei\ ;
+霊智 > reichi\ ;
+文政 > bunsei\ ;
+女官 > nyokan\ ;
+搭載 > tousai\ ;
+無給 > mukyuu\ ;
+早天 > souten\ ;
+早大 > soudai\ ;
+講堂 > koudou\ ;
+要覧 > youran\ ;
+青嵐 > seiran\ ;
+雛段 > suudan\ ;
+面子 > mentsu\ ;
+謹呈 > kintei\ ;
+数枚 > suumai\ ;
+雨樋 > amadoi\ ;
+旧夫 > kyuufu\ ;
+旧夢 > kyuumu\ ;
+雄渾 > yuukon\ ;
+繁昌 > hanjou\ ;
+放浪 > hourou\ ;
+続稿 > zokkou\ ;
+雑沓 > zattou\ ;
+複音 > fukuon\ ;
+明君 > meikun\ ;
+旬報 > junpou\ ;
+険相 > kensou\ ;
+無精 > bushou\ ;
+警乗 > keijou\ ;
+謹厳 > kingen\ ;
+然程 > sahodo\ ;
+特務 > tokumu\ ;
+物品 > buppin\ ;
+警世 > keisei\ ;
+増産 > zousan\ ;
+損金 > sonkin\ ;
+青山 > seizan\ ;
+特効 > tokkou\ ;
+諸子 > shoshi\ ;
+牽制 > kensei\ ;
+好天 > kouten\ ;
+特功 > tokkou\ ;
+変更 > henkou\ ;
+長閑 > nodoka\ ;
+語族 > gozoku\ ;
+論弁 > ronben\ ;
+日報 > nippou\ ;
+門鑑 > monkan\ ;
+大挙 > taikyo\ ;
+堕落 > daraku\ ;
+関連 > kanren\ ;
+煮物 > nimono\ ;
+旅寝 > tabine\ ;
+嫌々 > iyaiya\ ;
+放水 > housui\ ;
+昇叙 > shoujo\ ;
+絹糸 > kenshi\ ;
+降等 > koutou\ ;
+陳皮 > chinpi\ ;
+整斉 > seisei\ ;
+整数 > seisuu\ ;
+大抵 > taitei\ ;
+紫蘭 > shiran\ ;
+開銀 > kaigin\ ;
+無策 > musaku\ ;
+謦咳 > keigai\ ;
+妥協 > dakyou\ ;
+斎戒 > saikai\ ;
+天才 > tensai\ ;
+末々 > suezue\ ;
+奉幣 > houhei\ ;
+大技 > oowaza\ ;
+精錬 > seiren\ ;
+旧土 > kyuudo\ ;
+電断 > dendan\ ;
+霰弾 > sandan\ ;
+教案 > kyouan\ ;
+天成 > tensei\ ;
+繊指 > senshi\ ;
+妙味 > myoumi\ ;
+電文 > denbun\ ;
+大戦 > taisen\ ;
+諸姉 > shoshi\ ;
+解答 > kaitou\ ;
+明初 > meisho\ ;
+絞罪 > kouzai\ ;
+大成 > taisei\ ;
+無窮 > mukyuu\ ;
+文才 > bunsai\ ;
+昨今 > sakkon\ ;
+精銅 > seidou\ ;
+変数 > hensuu\ ;
+絨緞 > juutan\ ;
+方寸 > housun\ ;
+誓文 > seimon\ ;
+変改 > henkai\ ;
+改正 > kaisei\ ;
+繊手 > senshu\ ;
+大慶 > taikei\ ;
+零敗 > reihai\ ;
+間道 > kandou\ ;
+製陶 > seitou\ ;
+断崖 > dangai\ ;
+襯衣 > shin''i\ ;
+奥妙 > oumyou\ ;
+総点 > souten\ ;
+政権 > seiken\ ;
+雪景 > sekkei\ ;
+操短 > soutan\ ;
+細菌 > saikin\ ;
+散文 > sanbun\ ;
+天恵 > tenkei\ ;
+散散 > sanzan\ ;
+天恩 > ten''on\ ;
+大患 > taikan\ ;
+断層 > dansou\ ;
+土龍 > mogura\ ;
+縦断 > juudan\ ;
+声望 > seibou\ ;
+謚号 > shigou\ ;
+天性 > tensei\ ;
+青天 > seiten\ ;
+電探 > dentan\ ;
+解禁 > kaikin\ ;
+変換 > henkan\ ;
+昏倒 > kontou\ ;
+朗々 > rourou\ ;
+調度 > choudo\ ;
+女囚 > joshuu\ ;
+夫役 > buyaku\ ;
+附票 > fuhyou\ ;
+新字 > shinji\ ;
+撚糸 > nenshi\ ;
+大志 > taishi\ ;
+断定 > dantei\ ;
+論定 > rontei\ ;
+粉雪 > koyuki\ ;
+精選 > seisen\ ;
+塵界 > jinkai\ ;
+雅楽 > gagaku\ ;
+霊感 > reikan\ ;
+携行 > keikou\ ;
+論孟 > ronmou\ ;
+日和 > hiyori\ ;
+網状 > moujou\ ;
+誘拐 > yuukai\ ;
+声明 > seimei\ ;
+大形 > oogyou\ ;
+難文 > nanbun\ ;
+諧声 > kaisei\ ;
+米飯 > beihan\ ;
+網版 > amihan\ ;
+売文 > baibun\ ;
+日向 > hinata\ ;
+精農 > seinou\ ;
+新婦 > shinpu\ ;
+奪回 > dakkai\ ;
+火足 > hiashi\ ;
+焦眉 > shoubi\ ;
+放校 > houkou\ ;
+防空 > boukuu\ ;
+天底 > tentei\ ;
+太平 > taihei\ ;
+読後 > dokugo\ ;
+日参 > nissan\ ;
+際涯 > saigai\ ;
+旋回 > senkai\ ;
+奥地 > okuchi\ ;
+天平 > tenbin\ ;
+霊性 > reisei\ ;
+大店 > oodana\ ;
+外患 > gaikan\ ;
+雑書 > zassho\ ;
+閣議 > kakugi\ ;
+灰貝 > haigai\ ;
+変成 > hensei\ ;
+天帝 > tentei\ ;
+経線 > keisen\ ;
+物体 > mottai\ ;
+大幅 > oohaba\ ;
+経綸 > keirin\ ;
+明主 > meishu\ ;
+大師 > daishi\ ;
+天工 > tenkou\ ;
+大帝 > taitei\ ;
+製錬 > seiren\ ;
+妄動 > moudou\ ;
+焔硝 > enshou\ ;
+結納 > yuinou\ ;
+旅団 > ryodan\ ;
+繁忙 > hanbou\ ;
+地髪 > jigami\ ;
+防禦 > bougyo\ ;
+細胞 > saibou\ ;
+物件 > bukken\ ;
+天嶮 > tenken\ ;
+製鋼 > seikou\ ;
+日勤 > nikkin\ ;
+大巧 > taikou\ ;
+点茶 > tencha\ ;
+旬刊 > junkan\ ;
+紅藻 > kousou\ ;
+新奇 > shinki\ ;
+陶然 > touzen\ ;
+長途 > chouto\ ;
+摘芽 > tekiga\ ;
+変態 > hentai\ ;
+換金 > kankin\ ;
+教授 > kyouju\ ;
+故旧 > kokyuu\ ;
+雄松 > omatsu\ ;
+早出 > hayade\ ;
+奇妙 > kimyou\ ;
+外径 > gaikei\ ;
+外征 > gaisei\ ;
+接頭 > settou\ ;
+外形 > gaikei\ ;
+訓点 > kunten\ ;
+論外 > rongai\ ;
+限界 > genkai\ ;
+夜店 > yomise\ ;
+絃線 > gensen\ ;
+諾否 > dakuhi\ ;
+探題 > tandai\ ;
+繊巧 > senkou\ ;
+無痛 > mutsuu\ ;
+無病 > mubyou\ ;
+日刊 > nikkan\ ;
+救援 > kyuuen\ ;
+論壇 > rondan\ ;
+壟断 > roudan\ ;
+片刃 > kataha\ ;
+敵影 > tekiei\ ;
+絹目 > kinume\ ;
+煮汁 > nijiru\ ;
+裾野 > susono\ ;
+訴求 > sokyuu\ ;
+煉炭 > rentan\ ;
+震度 > shindo\ ;
+整形 > seikei\ ;
+夜市 > yoichi\ ;
+増減 > zougen\ ;
+雁書 > gansho\ ;
+繃帯 > houtai\ ;
+詩文 > shibun\ ;
+変性 > hensei\ ;
+見聞 > kenmon\ ;
+大山 > taizan\ ;
+諸君 > shokun\ ;
+諮問 > shimon\ ;
+関西 > kansai\ ;
+長躯 > chouku\ ;
+大層 > taisou\ ;
+霜害 > sougai\ ;
+縄文 > joumon\ ;
+日光 > nikkou\ ;
+改易 > kaieki\ ;
+旧儀 > kyuugi\ ;
+大尽 > daijin\ ;
+壮挙 > soukyo\ ;
+紅葉 > momiji\ ;
+放散 > housan\ ;
+斎宮 > saiguu\ ;
+見者 > kensha\ ;
+難所 > nansho\ ;
+敗戦 > haisen\ ;
+奪取 > dasshu\ ;
+摸索 > mosaku\ ;
+牀几 > shougi\ ;
+太守 > taishu\ ;
+斉射 > seisha\ ;
+統監 > toukan\ ;
+大寒 > daikan\ ;
+坊間 > boukan\ ;
+夫子 > fuushi\ ;
+天守 > tenshu\ ;
+変形 > henkei\ ;
+素肌 > suhada\ ;
+雄断 > yuudan\ ;
+太字 > futoji\ ;
+太子 > taishi\ ;
+天孫 > tenson\ ;
+雑損 > zasson\ ;
+閑談 > kandan\ ;
+日傘 > higasa\ ;
+大宗 > taisou\ ;
+天子 > tenshi\ ;
+革具 > kawagu\ ;
+面前 > menzen\ ;
+霊峰 > reihou\ ;
+隷書 > reisho\ ;
+角皮 > kakuhi\ ;
+謄写 > tousha\ ;
+探険 > tanken\ ;
+視線 > shisen\ ;
+数年 > suunen\ ;
+奮励 > funrei\ ;
+非力 > hiriki\ ;
+諭告 > yukoku\ ;
+開講 > kaikou\ ;
+文官 > bunkan\ ;
+旬余 > jun''yo\ ;
+階段 > kaidan\ ;
+青史 > seishi\ ;
+紙背 > shihai\ ;
+紅茶 > koucha\ ;
+細緻 > saichi\ ;
+埋蔵 > maizou\ ;
+製造 > seizou\ ;
+霊山 > reizan\ ;
+熱戦 > nessen\ ;
+裏門 > uramon\ ;
+変幻 > hengen\ ;
+霊屋 > tamaya\ ;
+増水 > zousui\ ;
+講中 > koujuu\ ;
+離愁 > rishuu\ ;
+電工 > denkou\ ;
+散弾 > sandan\ ;
+斜塔 > shatou\ ;
+多少 > tashou\ ;
+夜寒 > yozamu\ ;
+諷刺 > fuushi\ ;
+塩煮 > shioni\ ;
+夜宮 > yomiya\ ;
+露国 > rokoku\ ;
+諸刃 > moroha\ ;
+外層 > gaisou\ ;
+埋葬 > maisou\ ;
+綿毛 > watage\ ;
+結社 > kessha\ ;
+褒貶 > houhen\ ;
+累累 > ruirui\ ;
+地霊 > chirei\ ;
+霊宝 > reihou\ ;
+地震 > jishin\ ;
+報知 > houchi\ ;
+細糸 > saishi\ ;
+夜学 > yagaku\ ;
+誤審 > goshin\ ;
+日伊 > nichii\ ;
+防疫 > boueki\ ;
+角界 > kakkai\ ;
+敏感 > binkan\ ;
+敷居 > shikii\ ;
+炭肺 > tanhai\ ;
+好例 > kourei\ ;
+奔命 > honmei\ ;
+煙毒 > endoku\ ;
+誇張 > kochou\ ;
+熱意 > netsui\ ;
+方向 > houkou\ ;
+紫紺 > shikon\ ;
+地階 > chikai\ ;
+教徒 > kyouto\ ;
+規約 > kiyaku\ ;
+諸兄 > shokei\ ;
+諸元 > shogen\ ;
+早世 > sousei\ ;
+開襟 > kaikin\ ;
+斜坑 > shakou\ ;
+縫工 > houkou\ ;
+旅券 > ryoken\ ;
+隣村 > rinson\ ;
+天外 > tengai\ ;
+詩才 > shisai\ ;
+堡礁 > hoshou\ ;
+天変 > tenpen\ ;
+面倒 > mendou\ ;
+日中 > hinaka\ ;
+天声 > tensei\ ;
+旋光 > senkou\ ;
+契合 > keigou\ ;
+霊媒 > reibai\ ;
+線条 > senjou\ ;
+解版 > kaihan\ ;
+整容 > seiyou\ ;
+新味 > shinmi\ ;
+天壌 > tenjou\ ;
+大変 > taihen\ ;
+続演 > zokuen\ ;
+壮快 > soukai\ ;
+裸身 > rashin\ ;
+米銭 > beisen\ ;
+熱性 > nessei\ ;
+語学 > gogaku\ ;
+誘導 > yuudou\ ;
+雑感 > zakkan\ ;
+斎場 > saijou\ ;
+要綱 > youkou\ ;
+累算 > ruisan\ ;
+文士 > bunshi\ ;
+点線 > tensen\ ;
+女体 > nyotai\ ;
+縁戚 > enseki\ ;
+面体 > mentei\ ;
+文壇 > bundan\ ;
+奉呈 > houtei\ ;
+撃破 > gekiha\ ;
+精製 > seisei\ ;
+面会 > menkai\ ;
+紡糸 > boushi\ ;
+天堂 > tendou\ ;
+離床 > rishou\ ;
+墓標 > bohyou\ ;
+階梯 > kaitei\ ;
+売店 > baiten\ ;
+論叢 > ronsou\ ;
+諸侯 > shokou\ ;
+電子 > denshi\ ;
+爵位 > shakui\ ;
+西経 > seikei\ ;
+詩想 > shisou\ ;
+塊状 > kaijou\ ;
+観相 > kansou\ ;
+女人 > nyonin\ ;
+改憲 > kaiken\ ;
+大域 > taiiki\ ;
+絶版 > zeppan\ ;
+雪崩 > nadare\ ;
+詩情 > shijou\ ;
+外姓 > gaisei\ ;
+言海 > genkai\ ;
+照査 > shousa\ ;
+政情 > seijou\ ;
+紛紛 > funpun\ ;
+奏効 > soukou\ ;
+壮年 > sounen\ ;
+大型 > oogata\ ;
+声帯 > seitai\ ;
+上々 > joujou\ ;
+奏功 > soukou\ ;
+純綿 > junmen\ ;
+天地 > tenchi\ ;
+塩湯 > shioyu\ ;
+該当 > gaitou\ ;
+坑道 > koudou\ ;
+女中 > jochuu\ ;
+激高 > gekkou\ ;
+探鉱 > tankou\ ;
+総書 > sousho\ ;
+外套 > gaitou\ ;
+綿棒 > menbou\ ;
+支所 > shisho\ ;
+採鉱 > saikou\ ;
+大地 > daichi\ ;
+純絹 > junken\ ;
+放恣 > houshi\ ;
+文型 > bunkei\ ;
+門衛 > mon''ei\ ;
+雌性 > shisei\ ;
+万々 > manman\ ;
+垂訓 > suikun\ ;
+大圏 > taiken\ ;
+防犯 > bouhan\ ;
+認定 > nintei\ ;
+火薬 > kayaku\ ;
+熱帯 > nettai\ ;
+練成 > rensei\ ;
+焚火 > takibi\ ;
+改悪 > kaiaku\ ;
+放念 > hounen\ ;
+奇勝 > kishou\ ;
+霊場 > reijou\ ;
+純系 > junkei\ ;
+奢侈 > shashi\ ;
+奥伝 > okuden\ ;
+塩浴 > enyoku\ ;
+談合 > dangou\ ;
+丁々 > toutou\ ;
+詩形 > shikei\ ;
+霊域 > reiiki\ ;
+論判 > ronpan\ ;
+煮方 > nikata\ ;
+熊手 > kumade\ ;
+純粋 > junsui\ ;
+読図 > dokuzu\ ;
+雄性 > yuusei\ ;
+火蓋 > hibuta\ ;
+装釘 > soutei\ ;
+調和 > chouwa\ ;
+訂正 > teisei\ ;
+照映 > shouei\ ;
+雄志 > yuushi\ ;
+調味 > choumi\ ;
+掲載 > keisai\ ;
+旅人 > ryojin\ ;
+旅亭 > ryotei\ ;
+換言 > kangen\ ;
+総数 > sousuu\ ;
+霊地 > reichi\ ;
+揚言 > yougen\ ;
+大喪 > taisou\ ;
+雑巾 > zoukin\ ;
+天啓 > tenkei\ ;
+隅木 > sumiki\ ;
+奉公 > houkou\ ;
+総攬 > souran\ ;
+編成 > hensei\ ;
+親疎 > shinso\ ;
+方便 > houben\ ;
+離宮 > rikyuu\ ;
+絢爛 > kenran\ ;
+外地 > gaichi\ ;
+外在 > gaizai\ ;
+塩気 > shioke\ ;
+接近 > sekkin\ ;
+雄弁 > yuuben\ ;
+米軍 > beigun\ ;
+詩巻 > shikan\ ;
+改廃 > kaihai\ ;
+階数 > kaisuu\ ;
+園長 > enchou\ ;
+地金 > jigane\ ;
+緩慢 > kanman\ ;
+電報 > denpou\ ;
+調印 > chouin\ ;
+防災 > bousai\ ;
+天命 > tenmei\ ;
+籤運 > kujiun\ ;
+補足 > hosoku\ ;
+濁音 > dakuon\ ;
+大和 > yamato\ ;
+談判 > danpan\ ;
+整地 > seichi\ ;
+大命 > taimei\ ;
+長蛇 > chouda\ ;
+方今 > houkon\ ;
+提言 > teigen\ ;
+証拠 > shouko\ ;
+紅粉 > beniko\ ;
+太后 > taikou\ ;
+地酒 > jizake\ ;
+隻影 > sekiei\ ;
+士官 > shikan\ ;
+土鍋 > donabe\ ;
+天后 > tenkou\ ;
+灰色 > haiiro\ ;
+天台 > tendai\ ;
+系統 > keitou\ ;
+大君 > taikun\ ;
+陰核 > inkaku\ ;
+大同 > daidou\ ;
+隷従 > reijuu\ ;
+細目 > hosome\ ;
+支弁 > shiben\ ;
+提要 > teiyou\ ;
+火花 > hibana\ ;
+変型 > henkei\ ;
+純種 > junshu\ ;
+雑居 > zakkyo\ ;
+降水 > kousui\ ;
+方丈 > houjou\ ;
+埋線 > maisen\ ;
+数回 > suukai\ ;
+文名 > bunmei\ ;
+奕世 > ekisei\ ;
+緩怠 > kantai\ ;
+解法 > kaihou\ ;
+支店 > shiten\ ;
+基石 > kiseki\ ;
+製袋 > seitai\ ;
+頻々 > hinpin\ ;
+斜光 > shakou\ ;
+奉体 > houtai\ ;
+附注 > fuchuu\ ;
+斥候 > sekkou\ ;
+関聯 > kanren\ ;
+奉伺 > houshi\ ;
+大半 > taihan\ ;
+褐藻 > kassou\ ;
+煽情 > senjou\ ;
+敵営 > tekiei\ ;
+無毒 > mudoku\ ;
+大匙 > oosaji\ ;
+在郷 > zaigou\ ;
+絶海 > zekkai\ ;
+雄峰 > yuuhou\ ;
+奉仕 > houshi\ ;
+納税 > nouzei\ ;
+土釜 > dogama\ ;
+大勢 > taizei\ ;
+奏上 > soujou\ ;
+断交 > dankou\ ;
+緒戦 > chosen\ ;
+放射 > housha\ ;
+大勇 > taiyuu\ ;
+視界 > shikai\ ;
+論争 > ronsou\ ;
+裳裾 > mosuso\ ;
+試射 > shisha\ ;
+除核 > jokaku\ ;
+大功 > taikou\ ;
+解毒 > gedoku\ ;
+詩宗 > shisou\ ;
+文勢 > bunsei\ ;
+陰暦 > inreki\ ;
+無欲 > muyoku\ ;
+太初 > taisho\ ;
+散在 > sanzai\ ;
+炭礦 > tankou\ ;
+火脚 > hiashi\ ;
+誣告 > bukoku\ ;
+天刑 > tenkei\ ;
+天分 > tenbun\ ;
+壮大 > soudai\ ;
+衰頽 > suitai\ ;
+点睛 > tensei\ ;
+大分 > daibun\ ;
+壮士 > soushi\ ;
+敗報 > haihou\ ;
+外向 > gaikou\ ;
+大刀 > daitou\ ;
+攻守 > koushu\ ;
+雑婚 > zakkon\ ;
+損耗 > sonmou\ ;
+点眼 > tengan\ ;
+圧迫 > appaku\ ;
+外史 > gaishi\ ;
+大凡 > ooyoso\ ;
+濫造 > ranzou\ ;
+熔岩 > yougan\ ;
+随所 > zuisho\ ;
+改定 > kaitei\ ;
+雅客 > gakaku\ ;
+統治 > touchi\ ;
+天兵 > tenpei\ ;
+観点 > kanten\ ;
+隠忍 > in''nin\ ;
+大典 > taiten\ ;
+除服 > jofuku\ ;
+大公 > taikou\ ;
+大全 > taizen\ ;
+整合 > seigou\ ;
+精舎 > shouja\ ;
+大兄 > taikei\ ;
+詞宗 > shisou\ ;
+声域 > seiiki\ ;
+電命 > denmei\ ;
+補註 > hochuu\ ;
+衣食 > ishoku\ ;
+無様 > buzama\ ;
+摸牌 > moupai\ ;
+文典 > bunten\ ;
+線形 > senkei\ ;
+霊剣 > reiken\ ;
+数名 > suumei\ ;
+表音 > hyouon\ ;
+外勤 > gaikin\ ;
+霊前 > reizen\ ;
+補角 > hokaku\ ;
+随感 > zuikan\ ;
+炯眼 > keigan\ ;
+煩悶 > hanmon\ ;
+計数 > keisuu\ ;
+夜凪 > yonagi\ ;
+随想 > zuisou\ ;
+防水 > bousui\ ;
+推論 > suiron\ ;
+変名 > henmei\ ;
+給油 > kyuuyu\ ;
+言明 > genmei\ ;
+天候 > tenkou\ ;
+終焉 > shuuen\ ;
+熱型 > nekkei\ ;
+雷名 > raimei\ ;
+雷同 > raidou\ ;
+霧中 > muchuu\ ;
+四面 > shimen\ ;
+糟糠 > soukou\ ;
+数千 > suusen\ ;
+数十 > suujuu\ ;
+要用 > youyou\ ;
+続映 > zokuei\ ;
+除斥 > joseki\ ;
+雄姿 > yuushi\ ;
+改姓 > kaisei\ ;
+外分 > gaibun\ ;
+煖房 > danbou\ ;
+政変 > seihen\ ;
+埴生 > hanyuu\ ;
+外出 > sotode\ ;
+雲呑 > wantan\ ;
+夕刊 > yuukan\ ;
+煩忙 > hanbou\ ;
+結滞 > kettai\ ;
+絨毯 > juutan\ ;
+炉端 > robata\ ;
+雑報 > zappou\ ;
+詩壇 > shidan\ ;
+大便 > daiben\ ;
+絨毛 > juumou\ ;
+天使 > tenshi\ ;
+防止 > boushi\ ;
+累犯 > ruihan\ ;
+推計 > suikei\ ;
+照応 > shouou\ ;
+天体 > tentai\ ;
+縫合 > hougou\ ;
+電動 > dendou\ ;
+然斯 > soukou\ ;
+大使 > taishi\ ;
+証左 > shousa\ ;
+四隣 > shirin\ ;
+電効 > denkou\ ;
+外典 > gaiten\ ;
+細片 > saihen\ ;
+見猿 > mizaru\ ;
+大体 > daitai\ ;
+四隅 > yosumi\ ;
+堅牢 > kenrou\ ;
+火縄 > hinawa\ ;
+敦厚 > tonkou\ ;
+改変 > kaihen\ ;
+変動 > hendou\ ;
+照影 > shouei\ ;
+随従 > zuijuu\ ;
+雄大 > yuudai\ ;
+文例 > bunrei\ ;
+降板 > kouban\ ;
+大会 > taikai\ ;
+難問 > nanmon\ ;
+教唆 > kyousa\ ;
+探訪 > tanbou\ ;
+捻転 > nenten\ ;
+街頭 > gaitou\ ;
+大任 > tainin\ ;
+雄壮 > yuusou\ ;
+文体 > buntai\ ;
+大仰 > oogyou\ ;
+教員 > kyouin\ ;
+図録 > zuroku\ ;
+大代 > daidai\ ;
+天井 > tenjou\ ;
+接見 > sekken\ ;
+裏襟 > uraeri\ ;
+土足 > dosoku\ ;
+大人 > dainin\ ;
+斎主 > saishu\ ;
+訓戒 > kunkai\ ;
+外債 > gaisai\ ;
+故国 > kokoku\ ;
+授賞 > jushou\ ;
+詩型 > shikei\ ;
+見物 > mimono\ ;
+経済 > keizai\ ;
+総帥 > sousui\ ;
+天丼 > tendon\ ;
+天主 > tenshu\ ;
+大乱 > tairan\ ;
+炭田 > tanden\ ;
+照度 > shoudo\ ;
+隊形 > taikei\ ;
+城砦 > jousai\ ;
+終演 > shuuen\ ;
+文人 > bunjin\ ;
+読会 > dokkai\ ;
+大乗 > daijou\ ;
+売品 > baihin\ ;
+天与 > ten''yo\ ;
+天上 > tenjou\ ;
+均衡 > kinkou\ ;
+攻城 > koujou\ ;
+地謡 > jiutai\ ;
+視点 > shiten\ ;
+撒水 > sansui\ ;
+製茶 > seicha\ ;
+灯籠 > tourou\ ;
+誤信 > goshin\ ;
+電光 > denkou\ ;
+夜伽 > yotogi\ ;
+繋争 > keisou\ ;
+無暗 > muyami\ ;
+裁許 > saikyo\ ;
+擅断 > sendan\ ;
+多作 > tasaku\ ;
+燐光 > rinkou\ ;
+長者 > chouja\ ;
+散剤 > sanzai\ ;
+地誌 > chishi\ ;
+売名 > baimei\ ;
+陽性 > yousei\ ;
+夢中 > muchuu\ ;
+雷光 > raikou\ ;
+塊根 > kaikon\ ;
+焚書 > funsho\ ;
+褪紅 > taikou\ ;
+摂生 > sessei\ ;
+関空 > kankuu\ ;
+無明 > mumyou\ ;
+教区 > kyouku\ ;
+精緻 > seichi\ ;
+精練 > seiren\ ;
+国運 > kokuun\ ;
+閉経 > heikei\ ;
+教化 > kyouka\ ;
+絹本 > kenpon\ ;
+血餅 > keppei\ ;
+外伝 > gaiden\ ;
+電停 > dentei\ ;
+順々 > junjun\ ;
+数値 > suuchi\ ;
+関税 > kanzei\ ;
+教務 > kyoumu\ ;
+数倍 > suubai\ ;
+無料 > muryou\ ;
+夜中 > yonaka\ ;
+解明 > kaimei\ ;
+無敵 > muteki\ ;
+散兵 > sanpei\ ;
+経水 > keisui\ ;
+外人 > gaijin\ ;
+紙片 > shihen\ ;
+外交 > gaikou\ ;
+壇場 > danjou\ ;
+散光 > sankou\ ;
+捨身 > sutemi\ ;
+障子 > shouji\ ;
+精細 > seisai\ ;
+塗料 > toryou\ ;
+素焼 > suyaki\ ;
+継投 > keitou\ ;
+煙幕 > enmaku\ ;
+外乱 > gairan\ ;
+雑品 > zappin\ ;
+解散 > kaisan\ ;
+精糖 > seitou\ ;
+闘犬 > touken\ ;
+擱座 > kakuza\ ;
+精精 > seizei\ ;
+解放 > kaihou\ ;
+絶景 > zekkei\ ;
+試問 > shimon\ ;
+許容 > kyoyou\ ;
+階層 > kaisou\ ;
+地裁 > chisai\ ;
+精粋 > seisui\ ;
+精粉 > seifun\ ;
+揺籃 > youran\ ;
+捕逸 > hoitsu\ ;
+紛然 > funzen\ ;
+救助 > kyuujo\ ;
+精米 > seimai\ ;
+改善 > kaizen\ ;
+変体 > hentai\ ;
+敬体 > keitai\ ;
+要点 > youten\ ;
+圧覚 > akkaku\ ;
+数人 > suunin\ ;
+陰徳 > intoku\ ;
+教具 > kyougu\ ;
+火種 > hidane\ ;
+点点 > tenten\ ;
+記帳 > kichou\ ;
+設定 > settei\ ;
+推薦 > suisen\ ;
+炎症 > enshou\ ;
+掃討 > soutou\ ;
+衆院 > shuuin\ ;
+詩吟 > shigin\ ;
+点灯 > tentou\ ;
+烝民 > joumin\ ;
+詠唱 > eishou\ ;
+変人 > henjin\ ;
+累減 > ruigen\ ;
+籐製 > tousei\ ;
+綱常 > koujou\ ;
+精管 > seikan\ ;
+純然 > junzen\ ;
+防暑 > bousho\ ;
+精算 > seisan\ ;
+数万 > suuman\ ;
+垂線 > suisen\ ;
+閉端 > heitan\ ;
+変乱 > henran\ ;
+関知 > kanchi\ ;
+詩友 > shiyuu\ ;
+結構 > kekkou\ ;
+士分 > shibun\ ;
+陪従 > baijuu\ ;
+衣鉢 > ihatsu\ ;
+四重 > shijuu\ ;
+潮音 > chouon\ ;
+被覆 > hifuku\ ;
+声優 > seiyuu\ ;
+陶工 > toukou\ ;
+散会 > sankai\ ;
+指頭 > shitou\ ;
+改名 > kaimei\ ;
+炯炯 > keikei\ ;
+改号 > kaigou\ ;
+製缶 > seikan\ ;
+誌代 > shidai\ ;
+西漸 > seizen\ ;
+衰退 > suitai\ ;
+散乱 > sanran\ ;
+陣形 > jinkei\ ;
+炭火 > sumibi\ ;
+国費 > kokuhi\ ;
+政労 > seirou\ ;
+地虫 > mimizu\ ;
+壮健 > souken\ ;
+観梅 > kanbai\ ;
+回遊 > kaiyuu\ ;
+観桜 > kan''ou\ ;
+攻勢 > kousei\ ;
+誌上 > shijou\ ;
+細民 > saimin\ ;
+回送 > kaisou\ ;
+要港 > youkou\ ;
+堅気 > katagi\ ;
+雄勁 > yuukei\ ;
+垂範 > suihan\ ;
+無慾 > muyoku\ ;
+陽子 > youshi\ ;
+難件 > nanken\ ;
+除幕 > jomaku\ ;
+絢文 > kenbun\ ;
+訓導 > kundou\ ;
+四辺 > shihen\ ;
+敗亡 > haibou\ ;
+離京 > rikyou\ ;
+紅灯 > koutou\ ;
+売人 > bainin\ ;
+政党 > seitou\ ;
+試写 > shisha\ ;
+潮間 > shioma\ ;
+離乳 > rinyuu\ ;
+放免 > houmen\ ;
+裏芸 > uragei\ ;
+放光 > houkou\ ;
+観望 > kanbou\ ;
+回転 > kaiten\ ;
+討尋 > toujin\ ;
+製紙 > seishi\ ;
+場数 > bakazu\ ;
+火皿 > hizara\ ;
+篆隷 > tenrei\ ;
+製糸 > seishi\ ;
+製糖 > seitou\ ;
+増大 > zoudai\ ;
+西洋 > seiyou\ ;
+縁先 > ensaki\ ;
+経木 > kyougi\ ;
+売上 > uriage\ ;
+雑俳 > zappai\ ;
+国語 > kokugo\ ;
+製粉 > seifun\ ;
+経書 > keisho\ ;
+練功 > renkou\ ;
+改元 > kaigen\ ;
+換算 > kanzan\ ;
+開眼 > kaigen\ ;
+行金 > koukin\ ;
+粗粗 > araara\ ;
+炊爨 > suisan\ ;
+激語 > gekigo\ ;
+街道 > kaidou\ ;
+紡毛 > boumou\ ;
+壮丁 > soutei\ ;
+無心 > mushin\ ;
+紫檀 > shitan\ ;
+点水 > tensui\ ;
+縁側 > engawa\ ;
+補習 > hoshuu\ ;
+陣屋 > jin''ya\ ;
+雑件 > zakken\ ;
+掃蕩 > soutou\ ;
+防戦 > bousen\ ;
+終期 > shuuki\ ;
+雑人 > zounin\ ;
+練兵 > renpei\ ;
+墓場 > hakaba\ ;
+垂示 > suishi\ ;
+政体 > seitai\ ;
+雅俗 > gazoku\ ;
+純水 > junsui\ ;
+詩仙 > shisen\ ;
+政令 > seirei\ ;
+放任 > hounin\ ;
+粉糠 > konuka\ ;
+詩人 > shijin\ ;
+推考 > suikou\ ;
+陽報 > youhou\ ;
+編制 > hensei\ ;
+純毛 > junmou\ ;
+拳闘 > kentou\ ;
+紅涙 > kourui\ ;
+政争 > seisou\ ;
+終映 > shuuei\ ;
+素樸 > soboku\ ;
+拝顔 > haigan\ ;
+紅海 > koukai\ ;
+陋巷 > roukou\ ;
+緘口 > kankou\ ;
+粉米 > kogome\ ;
+探聞 > tanbun\ ;
+噴飯 > funpan\ ;
+煽動 > sendou\ ;
+継子 > mamako\ ;
+純正 > junsei\ ;
+覇業 > hagyou\ ;
+陵墓 > ryoubo\ ;
+簡裁 > kansai\ ;
+証印 > shouin\ ;
+試乗 > shijou\ ;
+隠匿 > intoku\ ;
+規格 > kikaku\ ;
+火玉 > hidama\ ;
+訪問 > houmon\ ;
+長目 > nagame\ ;
+操守 > soushu\ ;
+統御 > tougyo\ ;
+蟻食 > arikui\ ;
+搾油 > sakuyu\ ;
+衿裏 > eriura\ ;
+振起 > shinki\ ;
+総合 > sougou\ ;
+補給 > hokyuu\ ;
+摂氏 > sesshi\ ;
+行軍 > kougun\ ;
+評価 > hyouka\ ;
+門番 > monban\ ;
+堅材 > kenzai\ ;
+図表 > zuhyou\ ;
+堅木 > katagi\ ;
+援用 > en''you\ ;
+防御 > bougyo\ ;
+米綿 > beimen\ ;
+灰燼 > kaijin\ ;
+点検 > tenken\ ;
+塹壕 > zangou\ ;
+紅毛 > koumou\ ;
+線分 > senbun\ ;
+緑化 > ryokka\ ;
+陋屋 > rouoku\ ;
+地肌 > jihada\ ;
+防弾 > boudan\ ;
+限定 > gentei\ ;
+装置 > souchi\ ;
+階名 > kaimei\ ;
+言外 > gengai\ ;
+角度 > kakudo\ ;
+垣牆 > enshou\ ;
+総勢 > souzei\ ;
+回訓 > kaikun\ ;
+壊乱 > kairan\ ;
+統帥 > tousui\ ;
+観戦 > kansen\ ;
+接線 > sessen\ ;
+結成 > kessei\ ;
+約款 > yakkan\ ;
+表記 > hyouki\ ;
+撤廃 > teppai\ ;
+附属 > fuzoku\ ;
+因襲 > inshuu\ ;
+回覧 > kairan\ ;
+米粉 > beifun\ ;
+煩労 > hanrou\ ;
+墨刑 > bokkei\ ;
+無学 > mugaku\ ;
+被膜 > himaku\ ;
+城池 > jouchi\ ;
+描破 > byouha\ ;
+摘果 > tekika\ ;
+絶島 > zettou\ ;
+陰嚢 > fuguri\ ;
+壇上 > danjou\ ;
+裏紋 > uramon\ ;
+素朴 > soboku\ ;
+間然 > kanzen\ ;
+抹香 > makkou\ ;
+拳銃 > kenjuu\ ;
+紫斑 > shihan\ ;
+要望 > youbou\ ;
+観想 > kansou\ ;
+節酒 > sesshu\ ;
+見方 > mikata\ ;
+納棺 > noukan\ ;
+裁縫 > saihou\ ;
+噴門 > funmon\ ;
+為替 > kawase\ ;
+表裏 > hyouri\ ;
+随分 > zuibun\ ;
+絶対 > zettai\ ;
+随処 > zuisho\ ;
+粗目 > zarame\ ;
+陣地 > jinchi\ ;
+漢音 > kan''on\ ;
+指輪 > yubiwa\ ;
+推算 > suisan\ ;
+均等 > kintou\ ;
+点景 > tenkei\ ;
+限外 > gengai\ ;
+粉砕 > funsai\ ;
+基教 > kikyou\ ;
+陰唇 > inshin\ ;
+要旨 > youshi\ ;
+訊問 > jinmon\ ;
+隣人 > rinjin\ ;
+米突 > mētoru\ ;
+素敵 > suteki\ ;
+増刊 > zoukan\ ;
+増分 > zoubun\ ;
+精煉 > seiren\ ;
+潮路 > shioji\ ;
+紅梅 > koubai\ ;
+降壇 > koudan\ ;
+西方 > seihou\ ;
+術計 > jukkei\ ;
+採算 > saisan\ ;
+納杯 > nouhai\ ;
+潰走 > kaisou\ ;
+衆議 > shuugi\ ;
+褒状 > houjou\ ;
+防寒 > boukan\ ;
+際会 > saikai\ ;
+点数 > tensuu\ ;
+納本 > nouhon\ ;
+拳道 > kondou\ ;
+増兵 > zouhei\ ;
+明々 > akaaka\ ;
+陣営 > jin''ei\ ;
+坐礁 > zashou\ ;
+紙数 > shisuu\ ;
+継嗣 > keishi\ ;
+総体 > soutai\ ;
+描画 > byouga\ ;
+紛擾 > funjou\ ;
+灸治 > kyuuji\ ;
+総会 > soukai\ ;
+接種 > sesshu\ ;
+総代 > soudai\ ;
+門灯 > montou\ ;
+拠金 > kyokin\ ;
+門火 > kadobi\ ;
+煎剤 > senzai\ ;
+絶好 > zekkou\ ;
+焦土 > shoudo\ ;
+素描 > sobyou\ ;
+紆曲 > ukyoku\ ;
+拝金 > haikin\ ;
+袱紗 > fukusa\ ;
+随伴 > zuihan\ ;
+陽光 > youkou\ ;
+経常 > keijou\ ;
+提琴 > teikin\ ;
+経師 > kyouji\ ;
+記入 > kinyuu\ ;
+在米 > zaibei\ ;
+覚悟 > kakugo\ ;
+増俸 > zouhou\ ;
+袢纏 > hanten\ ;
+開港 > kaikou\ ;
+増便 > zoubin\ ;
+綜合 > sougou\ ;
+陰刻 > inkoku\ ;
+漏電 > rouden\ ;
+褐炭 > kattan\ ;
+階乗 > kaijou\ ;
+掻痒 > souyou\ ;
+炉棚 > rodana\ ;
+解団 > kaidan\ ;
+境内 > keidai\ ;
+階上 > kaijou\ ;
+陞叙 > shoujo\ ;
+推知 > suichi\ ;
+擾乱 > jouran\ ;
+火水 > himizu\ ;
+製版 > seihan\ ;
+篤行 > tokkou\ ;
+要所 > yousho\ ;
+地税 > chizei\ ;
+絹地 > kinuji\ ;
+言動 > gendou\ ;
+精液 > seieki\ ;
+防塵 > boujin\ ;
+探知 > tanchi\ ;
+堅志 > kenshi\ ;
+防塞 > bousai\ ;
+器量 > kiryou\ ;
+挙行 > kyokou\ ;
+灌漑 > kangai\ ;
+阪大 > handai\ ;
+血行 > kekkou\ ;
+長湯 > nagayu\ ;
+続刊 > zokkan\ ;
+土竜 > mogura\ ;
+漸近 > zenkin\ ;
+土窯 > dogama\ ;
+院内 > in''nai\ ;
+場外 > jougai\ ;
+製炭 > seitan\ ;
+垂準 > suijun\ ;
+粉状 > funjou\ ;
+無告 > mukoku\ ;
+訓令 > kunrei\ ;
+見当 > kentou\ ;
+累年 > ruinen\ ;
+回船 > kaisen\ ;
+降参 > kousan\ ;
+圧神 > asshin\ ;
+米産 > beisan\ ;
+結婚 > kekkon\ ;
+回航 > kaikou\ ;
+閉止 > heishi\ ;
+納所 > nassho\ ;
+撤回 > tekkai\ ;
+籠目 > kagome\ ;
+純愛 > jun''ai\ ;
+投降 > toukou\ ;
+紺屋 > kon''ya\ ;
+手鼻 > tebana\ ;
+長波 > chouha\ ;
+操典 > souten\ ;
+垂涎 > zuizen\ ;
+索引 > sakuin\ ;
+純情 > junjou\ ;
+点心 > tenjin\ ;
+関東 > kantou\ ;
+煉丹 > rentan\ ;
+絶品 > zeppin\ ;
+探番 > tanban\ ;
+訌争 > kousou\ ;
+門歯 > monshi\ ;
+濃紺 > noukon\ ;
+約手 > yakute\ ;
+地相 > chisou\ ;
+衰耗 > suimou\ ;
+筆頭 > hittou\ ;
+採用 > saiyou\ ;
+灌水 > kansui\ ;
+捕縛 > hobaku\ ;
+裂痔 > kireji\ ;
+粉炭 > funtan\ ;
+陪乗 > baijou\ ;
+四肢 > shishi\ ;
+管財 > kanzai\ ;
+装甲 > soukou\ ;
+装用 > souyou\ ;
+計上 > keijou\ ;
+闘志 > toushi\ ;
+圧着 > atsugi\ ;
+垣根 > kakine\ ;
+因習 > inshuu\ ;
+面々 > menmen\ ;
+四聖 > shisei\ ;
+解剖 > kaibou\ ;
+統合 > tougou\ ;
+土石 > doseki\ ;
+開梱 > kaikon\ ;
+附則 > fusoku\ ;
+潜行 > senkou\ ;
+紙幣 > shihei\ ;
+襟懐 > kinkai\ ;
+解凍 > kaitou\ ;
+地番 > chiban\ ;
+焚刑 > funkei\ ;
+垂死 > suishi\ ;
+細字 > hosoji\ ;
+細孔 > saikou\ ;
+堅守 > kenshu\ ;
+無償 > mushou\ ;
+火木 > kamoku\ ;
+終夜 > shuuya\ ;
+地界 > chikai\ ;
+関数 > kansuu\ ;
+絃声 > gensei\ ;
+言上 > gonjou\ ;
+開校 > kaikou\ ;
+拝謝 > haisha\ ;
+間服 > aifuku\ ;
+解党 > kaitou\ ;
+閉校 > heikou\ ;
+無傷 > mukizu\ ;
+揚水 > yousui\ ;
+撤去 > tekkyo\ ;
+製法 > seihou\ ;
+滞陣 > taijin\ ;
+精根 > seikon\ ;
+因縁 > in''nen\ ;
+西岸 > seigan\ ;
+嘆願 > tangan\ ;
+澱粉 > denpun\ ;
+統制 > tousei\ ;
+持薬 > jiyaku\ ;
+回線 > kaisen\ ;
+間断 > kandan\ ;
+拝観 > haikan\ ;
+要害 > yougai\ ;
+紙屋 > kamiya\ ;
+降任 > kounin\ ;
+拝見 > haiken\ ;
+蟠踞 > bankyo\ ;
+間数 > makazu\ ;
+国禁 > kokkin\ ;
+挿絵 > sashie\ ;
+地獄 > jigoku\ ;
+無休 > mukyuu\ ;
+垂楊 > suiyou\ ;
+掌理 > shouri\ ;
+細大 > saidai\ ;
+閑散 > kansan\ ;
+開明 > kaimei\ ;
+土産 > miyage\ ;
+解体 > kaitai\ ;
+接点 > setten\ ;
+国礎 > kokuso\ ;
+滑降 > kakkou\ ;
+閨房 > keibou\ ;
+開方 > kaihou\ ;
+端麗 > tanrei\ ;
+血膿 > chiumi\ ;
+解任 > kainin\ ;
+方々 > houbou\ ;
+絶倒 > zettou\ ;
+紙子 > kamiko\ ;
+炭層 > tansou\ ;
+撤兵 > teppei\ ;
+紫外 > shigai\ ;
+累増 > ruizou\ ;
+行者 > gyouja\ ;
+採点 > saiten\ ;
+携帯 > keitai\ ;
+採炭 > saitan\ ;
+烈士 > resshi\ ;
+開放 > kaihou\ ;
+漫談 > mandan\ ;
+手駒 > tegoma\ ;
+堅塁 > kenrui\ ;
+手首 > tekubi\ ;
+堂塔 > doutou\ ;
+長期 > chouki\ ;
+堅城 > kenjou\ ;
+炉心 > roshin\ ;
+筆鋒 > hippou\ ;
+堂堂 > doudou\ ;
+漫言 > mangen\ ;
+回答 > kaitou\ ;
+親和 > shinwa\ ;
+経口 > keikou\ ;
+城市 > joushi\ ;
+絶交 > zekkou\ ;
+垂木 > taruki\ ;
+場内 > jounai\ ;
+按腹 > anpuku\ ;
+補注 > hochuu\ ;
+地点 > chiten\ ;
+漢詩 > kanshi\ ;
+闇屋 > yamiya\ ;
+絶世 > zessei\ ;
+技量 > giryou\ ;
+手頸 > tekubi\ ;
+組合 > kumiai\ ;
+炉床 > roshou\ ;
+手頃 > tegoro\ ;
+見地 > kenchi\ ;
+要塞 > yousai\ ;
+被爆 > hibaku\ ;
+蟷螂 > tourou\ ;
+覆土 > fukudo\ ;
+培地 > baichi\ ;
+潜航 > senkou\ ;
+西域 > seiiki\ ;
+給付 > kyuufu\ ;
+給仕 > kyuuji\ ;
+回礼 > kairei\ ;
+所願 > shogan\ ;
+闘士 > toushi\ ;
+結党 > kettou\ ;
+瀕死 > hinshi\ ;
+純増 > junzou\ ;
+開戦 > kaisen\ ;
+観光 > kankou\ ;
+製材 > seizai\ ;
+溜飲 > ryuuin\ ;
+表示 > hyouji\ ;
+要地 > youchi\ ;
+製本 > seihon\ ;
+烙印 > rakuin\ ;
+手際 > tegiwa\ ;
+手隙 > tesuki\ ;
+経典 > keiten\ ;
+親分 > oyabun\ ;
+紙型 > shikei\ ;
+等辺 > touhen\ ;
+点在 > tenzai\ ;
+地溝 > chikou\ ;
+給与 > kyuuyo\ ;
+炭塵 > tanjin\ ;
+国璽 > kokuji\ ;
+粗服 > sofuku\ ;
+血統 > kettou\ ;
+火急 > kakyuu\ ;
+域外 > ikigai\ ;
+竿頭 > kantou\ ;
+細君 > saikun\ ;
+灯影 > hokage\ ;
+投資 > toushi\ ;
+拙著 > setcho\ ;
+血糖 > kettou\ ;
+手長 > tenaga\ ;
+火影 > hokage\ ;
+排液 > haieki\ ;
+炭坑 > tankou\ ;
+闇夜 > yamiyo\ ;
+国王 > kokuou\ ;
+紅塵 > koujin\ ;
+見台 > kendai\ ;
+粉本 > funpon\ ;
+長打 > chouda\ ;
+見参 > kenzan\ ;
+精悍 > seikan\ ;
+圏点 > kenten\ ;
+火床 > hidoko\ ;
+血管 > kekkan\ ;
+経伝 > keiden\ ;
+捕球 > hokyuu\ ;
+成魚 > seigyo\ ;
+表皮 > hyouhi\ ;
+行程 > koutei\ ;
+揚揚 > youyou\ ;
+城外 > jougai\ ;
+指紋 > shimon\ ;
+排水 > haisui\ ;
+国父 > kokufu\ ;
+細分 > saibun\ ;
+災害 > saigai\ ;
+開廷 > kaitei\ ;
+嘉辰 > kashin\ ;
+捕獲 > hokaku\ ;
+持続 > jizoku\ ;
+溶銑 > yousen\ ;
+規則 > kisoku\ ;
+閉廷 > heitei\ ;
+握手 > akushu\ ;
+開店 > kaiten\ ;
+精彩 > seisai\ ;
+提携 > teikei\ ;
+手鍋 > tenabe\ ;
+掃海 > soukai\ ;
+竜馬 > ryuume\ ;
+城塞 > jousai\ ;
+経世 > keisei\ ;
+開平 > kaihei\ ;
+抗言 > kougen\ ;
+窮鼠 > kyuuso\ ;
+閉店 > heiten\ ;
+城塁 > jourui\ ;
+滑車 > kassha\ ;
+童顔 > dougan\ ;
+回生 > kaisei\ ;
+満願 > mangan\ ;
+開巻 > kaikan\ ;
+西南 > seinan\ ;
+探検 > tanken\ ;
+門弟 > montei\ ;
+戦雲 > sen''un\ ;
+手鉤 > tekagi\ ;
+湾頭 > wantou\ ;
+納品 > nouhin\ ;
+喧騒 > kensou\ ;
+損害 > songai\ ;
+米材 > beizai\ ;
+城址 > joushi\ ;
+戦隊 > sentai\ ;
+拝聞 > haibun\ ;
+蜚鳥 > hichou\ ;
+戦陣 > senjin\ ;
+精巧 > seikou\ ;
+精巣 > seisou\ ;
+満面 > manmen\ ;
+閑居 > kankyo\ ;
+竜頭 > ryuuzu\ ;
+滑走 > kassou\ ;
+喫飯 > kippan\ ;
+索具 > sakugu\ ;
+裏板 > uraita\ ;
+蝦錠 > ebijou\ ;
+火宅 > kataku\ ;
+戦闘 > sentou\ ;
+手酌 > tejaku\ ;
+拙者 > sessha\ ;
+開山 > kaisan\ ;
+長座 > chouza\ ;
+漢英 > kan''ei\ ;
+閉山 > heizan\ ;
+嘉賞 > kashou\ ;
+地検 > chiken\ ;
+閉居 > heikyo\ ;
+開封 > kaifuu\ ;
+摂取 > sesshu\ ;
+関大 > kandai\ ;
+国漢 > kokkan\ ;
+点光 > tenkou\ ;
+炭労 > tanrou\ ;
+抹茶 > matcha\ ;
+回状 > kaijou\ ;
+累代 > ruidai\ ;
+拘置 > kouchi\ ;
+純分 > junbun\ ;
+坦懐 > tankai\ ;
+均斉 > kinsei\ ;
+満開 > mankai\ ;
+均整 > kinsei\ ;
+累乗 > ruijou\ ;
+推断 > suidan\ ;
+散々 > sanzan\ ;
+批評 > hihyou\ ;
+授業 > jugyou\ ;
+融資 > yuushi\ ;
+推敲 > suikou\ ;
+累世 > ruisei\ ;
+血相 > kessou\ ;
+粘性 > nensei\ ;
+複座 > fukuza\ ;
+濃淡 > noutan\ ;
+掲揚 > keiyou\ ;
+見事 > migoto\ ;
+精子 > seishi\ ;
+堂上 > doujou\ ;
+螳螂 > tourou\ ;
+手軽 > tegaru\ ;
+灰塵 > haijin\ ;
+在校 > zaikou\ ;
+褥婦 > jokufu\ ;
+漕艇 > soutei\ ;
+長屋 > nagaya\ ;
+血痰 > kettan\ ;
+開始 > kaishi\ ;
+衆生 > shujou\ ;
+要件 > youken\ ;
+血痕 > kekkon\ ;
+域内 > ikinai\ ;
+長寿 > chouju\ ;
+要人 > youjin\ ;
+在来 > zairai\ ;
+挙用 > kyoyou\ ;
+長家 > nagaya\ ;
+裁断 > saidan\ ;
+抜萃 > bassui\ ;
+紛争 > funsou\ ;
+所載 > shosai\ ;
+手足 > teashi\ ;
+圧服 > appuku\ ;
+紛乱 > funran\ ;
+潰瘍 > kaiyou\ ;
+開墾 > kaikon\ ;
+地方 > chihou\ ;
+推挙 > suikyo\ ;
+国母 > kokubo\ ;
+粒度 > ryuudo\ ;
+地文 > chimon\ ;
+街燈 > gaitou\ ;
+游魚 > yuugyo\ ;
+抗菌 > koukin\ ;
+紙上 > shijou\ ;
+開場 > kaijou\ ;
+融解 > yuukai\ ;
+回漕 > kaisou\ ;
+土木 > doboku\ ;
+閉場 > heijou\ ;
+被服 > hifuku\ ;
+喉頭 > koutou\ ;
+閑地 > kanchi\ ;
+米懇 > beikon\ ;
+闘争 > tousou\ ;
+納会 > noukai\ ;
+開城 > kaijou\ ;
+閣員 > kakuin\ ;
+門外 > mongai\ ;
+捺染 > nassen\ ;
+被曝 > hibaku\ ;
+推戴 > suitai\ ;
+城内 > jounai\ ;
+管端 > kantan\ ;
+城兵 > jouhei\ ;
+漁船 > gyosen\ ;
+闇値 > yamine\ ;
+演習 > enshuu\ ;
+接戦 > sessen\ ;
+回游 > kaiyuu\ ;
+街灯 > gaitou\ ;
+競輪 > keirin\ ;
+持病 > jibyou\ ;
+長女 > choujo\ ;
+国権 > kokken\ ;
+紊乱 > bunran\ ;
+長夜 > chouya\ ;
+指環 > yubiwa\ ;
+拙稿 > sekkou\ ;
+土方 > dokata\ ;
+打診 > dashin\ ;
+善霊 > zenrei\ ;
+拝礼 > hairei\ ;
+四海 > shikai\ ;
+圧搾 > assaku\ ;
+溶解 > youkai\ ;
+演繹 > en''eki\ ;
+補強 > hokyou\ ;
+門地 > monchi\ ;
+拘禁 > koukin\ ;
+立錐 > rissui\ ;
+精嚢 > seinou\ ;
+善隣 > zenrin\ ;
+笑話 > shouwa\ ;
+鎔銑 > yousen\ ;
+戦車 > sensha\ ;
+坑底 > koutei\ ;
+灯台 > toudai\ ;
+算程 > santei\ ;
+手許 > temoto\ ;
+渠魁 > kyokai\ ;
+衰残 > suizan\ ;
+衰死 > suishi\ ;
+粉屋 > konaya\ ;
+城代 > joudai\ ;
+所論 > shoron\ ;
+四民 > shimin\ ;
+団欒 > danran\ ;
+満載 > mansai\ ;
+接待 > settai\ ;
+満車 > mansha\ ;
+所詮 > shosen\ ;
+城主 > joushu\ ;
+在所 > zaisho\ ;
+瀑布 > bakufu\ ;
+米帝 > beitei\ ;
+糖分 > toubun\ ;
+搭乗 > toujou\ ;
+喝采 > kassai\ ;
+開口 > kaikou\ ;
+溶融 > youyuu\ ;
+灰分 > kaibun\ ;
+嘲罵 > chouba\ ;
+筋腫 > kinshu\ ;
+閉口 > heikou\ ;
+蛮風 > banpuu\ ;
+懇願 > kongan\ ;
+筆致 > hitchi\ ;
+所見 > shoken\ ;
+所要 > shoyou\ ;
+図柄 > zugara\ ;
+装弾 > soudan\ ;
+戊辰 > boshin\ ;
+漁網 > gyomou\ ;
+国是 > kokuze\ ;
+灯光 > toukou\ ;
+糞便 > funben\ ;
+蝴蝶 > kochou\ ;
+潮瀬 > shiose\ ;
+関係 > kankei\ ;
+童貞 > doutei\ ;
+突風 > toppuu\ ;
+激昂 > gekkou\ ;
+折線 > sessen\ ;
+火先 > hosaki\ ;
+米屋 > komeya\ ;
+火元 > himoto\ ;
+地形 > chikei\ ;
+満貫 > mangan\ ;
+装幀 > soutei\ ;
+揺動 > youdou\ ;
+簡明 > kanmei\ ;
+戯評 > gihyou\ ;
+精勤 > seikin\ ;
+抜糸 > basshi\ ;
+血清 > kessei\ ;
+穴馬 > anauma\ ;
+精励 > seirei\ ;
+火傷 > yakedo\ ;
+滅菌 > mekkin\ ;
+筆耕 > hikkou\ ;
+鎮護 > chingo\ ;
+蛮隷 > banrei\ ;
+筆者 > hissha\ ;
+抜粋 > bassui\ ;
+地底 > chitei\ ;
+在役 > zaieki\ ;
+才藻 > saisou\ ;
+地平 > chihei\ ;
+精到 > seitou\ ;
+換喩 > kan''yu\ ;
+粉塵 > funjin\ ;
+地帯 > chitai\ ;
+節点 > setten\ ;
+推定 > suitei\ ;
+童謡 > douyou\ ;
+問題 > mondai\ ;
+門前 > monzen\ ;
+四桁 > yoketa\ ;
+行殊 > gyoujo\ ;
+坦坦 > tantan\ ;
+空音 > sorane\ ;
+関与 > kan''yo\ ;
+圧延 > atsuen\ ;
+衰替 > suitai\ ;
+開催 > kaisai\ ;
+門出 > kadode\ ;
+精兵 > seihei\ ;
+採寸 > saisun\ ;
+開傘 > kaisan\ ;
+扶翼 > fuyoku\ ;
+損亡 > sonbou\ ;
+閃光 > senkou\ ;
+籠居 > roukyo\ ;
+坑外 > kougai\ ;
+懸軍 > kengun\ ;
+龍馬 > ryuume\ ;
+空電 > kuuden\ ;
+四書 > shisho\ ;
+挙止 > kyoshi\ ;
+製品 > seihin\ ;
+空際 > kuusai\ ;
+善道 > zendou\ ;
+清風 > seifuu\ ;
+管状 > kanjou\ ;
+鍛錬 > tanren\ ;
+地層 > chisou\ ;
+火中 > kachuu\ ;
+国技 > kokugi\ ;
+録音 > rokuon\ ;
+鍛鋼 > tankou\ ;
+裁定 > seitei\ ;
+所蔵 > shozou\ ;
+長円 > chouen\ ;
+開会 > kaikai\ ;
+測鎖 > sokusa\ ;
+潟湖 > sekiko\ ;
+喉輪 > nodowa\ ;
+渋面 > juumen\ ;
+閉会 > heikai\ ;
+回旋 > kaisen\ ;
+筆紙 > hisshi\ ;
+捕捉 > hosoku\ ;
+空閨 > kuukei\ ;
+潮気 > shioke\ ;
+回文 > kaibun\ ;
+演目 > enmoku\ ;
+空間 > kuukan\ ;
+国憲 > kokken\ ;
+回数 > kaisuu\ ;
+投稿 > toukou\ ;
+国慶 > kokkei\ ;
+才芸 > saigei\ ;
+複利 > fukuri\ ;
+裏声 > uragoe\ ;
+滞納 > tainou\ ;
+四散 > shisan\ ;
+渓間 > keikan\ ;
+拠点 > kyoten\ ;
+手芸 > shugei\ ;
+測鉛 > sokuen\ ;
+在官 > zaikan\ ;
+噴煙 > fun''en\ ;
+滞米 > taibei\ ;
+漂砂 > hyousa\ ;
+門人 > monjin\ ;
+筆算 > hissan\ ;
+国恩 > kokuon\ ;
+掃射 > sousha\ ;
+鎔解 > youkai\ ;
+筆答 > hittou\ ;
+才腕 > saiwan\ ;
+困憊 > konpai\ ;
+節水 > sessui\ ;
+潅漑 > kangai\ ;
+筆端 > hittan\ ;
+答礼 > tourei\ ;
+手腕 > shuwan\ ;
+潜水 > sensui\ ;
+激怒 > gekido\ ;
+才能 > sainou\ ;
+装填 > souten\ ;
+拳法 > kenpou\ ;
+清閑 > seikan\ ;
+接地 > setchi\ ;
+鍛造 > tanzou\ ;
+竜蝦 > iseebi\ ;
+地変 > chihen\ ;
+血栓 > kessen\ ;
+排外 > haigai\ ;
+団扇 > uchiwa\ ;
+手職 > tejoku\ ;
+窓辺 > madobe\ ;
+術数 > jussuu\ ;
+籠城 > roujou\ ;
+漫然 > manzen\ ;
+滞空 > taikuu\ ;
+深雪 > miyuki\ ;
+地塊 > chikai\ ;
+回戦 > kaisen\ ;
+濁度 > dakudo\ ;
+手翰 > shukan\ ;
+在天 > zaiten\ ;
+行旅 > kouryo\ ;
+稽首 > keishu\ ;
+竜虎 > ryouko\ ;
+在外 > zaigai\ ;
+衰態 > suitai\ ;
+行文 > koubun\ ;
+血書 > kessho\ ;
+裂地 > kireji\ ;
+坑口 > koukou\ ;
+地域 > chiiki\ ;
+減配 > genpai\ ;
+積雲 > sekiun\ ;
+満蒙 > manmou\ ;
+漸減 > zengen\ ;
+回想 > kaisou\ ;
+滑空 > kakkuu\ ;
+深間 > fukama\ ;
+滑稽 > kokkei\ ;
+漫漫 > manman\ ;
+錬鋼 > renkou\ ;
+血斑 > keppan\ ;
+稚鰤 > warasa\ ;
+減退 > gentai\ ;
+端艇 > tantei\ ;
+接吻 > seppun\ ;
+推参 > suisan\ ;
+拘泥 > koudei\ ;
+筋目 > sujime\ ;
+戦艦 > senkan\ ;
+補則 > hosoku\ ;
+捨子 > sutego\ ;
+噴泉 > funsen\ ;
+稚鮎 > chiayu\ ;
+蜥蜴 > tokage\ ;
+拝殿 > haiden\ ;
+稚魚 > chigyo\ ;
+均勢 > kinsei\ ;
+国富 > kokufu\ ;
+採取 > saishu\ ;
+坑内 > kounai\ ;
+噴水 > funsui\ ;
+手紙 > tegami\ ;
+算法 > sanpou\ ;
+国字 > kokuji\ ;
+囚徒 > shuuto\ ;
+衰幣 > suihei\ ;
+篆書 > tensho\ ;
+種類 > shurui\ ;
+清酒 > seishu\ ;
+粉体 > funtai\ ;
+圏外 > kengai\ ;
+補償 > hoshou\ ;
+商運 > shouun\ ;
+回廊 > kairou\ ;
+空転 > kuuten\ ;
+均分 > kinbun\ ;
+滅私 > messhi\ ;
+空軍 > kuugun\ ;
+空車 > kuusha\ ;
+粋人 > suijin\ ;
+手籠 > tekago\ ;
+空身 > karami\ ;
+指数 > shisuu\ ;
+善行 > zenkou\ ;
+錚錚 > sousou\ ;
+手簡 > shukan\ ;
+算段 > sandan\ ;
+清遊 > seiyuu\ ;
+地名 > chimei\ ;
+満腔 > mankou\ ;
+披瀝 > hireki\ ;
+拒止 > kyoshi\ ;
+手箱 > tebako\ ;
+手管 > tekuda\ ;
+筆生 > hissei\ ;
+補修 > hoshuu\ ;
+接写 > sessha\ ;
+四川 > shisen\ ;
+手筋 > tesuji\ ;
+手筈 > tehazu\ ;
+挙手 > kyoshu\ ;
+突貫 > tokkan\ ;
+衡平 > kouhei\ ;
+準縄 > junjou\ ;
+竹縁 > takeen\ ;
+排卵 > hairan\ ;
+湯花 > yubana\ ;
+減資 > genshi\ ;
+血戦 > kessen\ ;
+懇請 > konsei\ ;
+懇談 > kondan\ ;
+捨場 > suteba\ ;
+採光 > saikou\ ;
+地勢 > chisei\ ;
+湯船 > yubune\ ;
+筒状 > toujou\ ;
+衆愚 > shuugu\ ;
+稲門 > toumon\ ;
+裁判 > saiban\ ;
+竜胆 > rindou\ ;
+所管 > shokan\ ;
+深部 > shinbu\ ;
+戸籍 > koseki\ ;
+探偵 > tantei\ ;
+節操 > sessou\ ;
+被告 > hikoku\ ;
+混迷 > konmei\ ;
+滅相 > messou\ ;
+端線 > tansen\ ;
+端緒 > tancho\ ;
+在勤 > zaikin\ ;
+潔斎 > kessai\ ;
+成育 > seiiku\ ;
+蜈蚣 > mukade\ ;
+圧勝 > asshou\ ;
+海鼠 > namako\ ;
+戦線 > sensen\ ;
+漿果 > shouka\ ;
+固執 > koshuu\ ;
+接伴 > seppan\ ;
+竹簀 > takesu\ ;
+器楽 > kigaku\ ;
+地元 > jimoto\ ;
+混載 > konsai\ ;
+液面 > ekimen\ ;
+蛇足 > dasoku\ ;
+滾滾 > konkon\ ;
+国土 > kokudo\ ;
+虹霓 > kougei\ ;
+行幸 > miyuki\ ;
+行年 > kounen\ ;
+空論 > kuuron\ ;
+空談 > kuudan\ ;
+漁港 > gyokou\ ;
+清貧 > seihin\ ;
+才知 > saichi\ ;
+蝋紙 > roushi\ ;
+愛鳥 > aichou\ ;
+蛮行 > bankou\ ;
+漏水 > rousui\ ;
+商議 > shougi\ ;
+蠱惑 > kowaku\ ;
+戯笑 > gishou\ ;
+筋炎 > kin''en\ ;
+排便 > haiben\ ;
+国営 > kokuei\ ;
+四姓 > shisei\ ;
+拮据 > kikkyo\ ;
+披歴 > hireki\ ;
+捕囚 > hoshuu\ ;
+回天 > kaiten\ ;
+振子 > furiko\ ;
+噸数 > tonsuu\ ;
+漁法 > gyohou\ ;
+装丁 > soutei\ ;
+団塊 > dankai\ ;
+捧呈 > houtei\ ;
+減衰 > gensui\ ;
+地代 > chidai\ ;
+戦端 > sentan\ ;
+喫緊 > kikkin\ ;
+四声 > shisei\ ;
+手癖 > tekuse\ ;
+拮抗 > kikkou\ ;
+錯誤 > sakugo\ ;
+税関 > zeikan\ ;
+漁民 > gyomin\ ;
+在住 > zaijuu\ ;
+蚊鉤 > kabari\ ;
+指弾 > shidan\ ;
+回報 > kaihou\ ;
+地上 > chijou\ ;
+在任 > zainin\ ;
+圧伏 > appuku\ ;
+潮干 > shiohi\ ;
+海魚 > kaigyo\ ;
+嗜眠 > shimin\ ;
+算数 > sansuu\ ;
+土俵 > dohyou\ ;
+園内 > en''nai\ ;
+団地 > danchi\ ;
+土俗 > dozoku\ ;
+蚊針 > kabari\ ;
+衆寡 > shuuka\ ;
+抜歯 > basshi\ ;
+潮差 > chousa\ ;
+濃厚 > noukou\ ;
+漢書 > kansho\ ;
+打球 > dakyuu\ ;
+鼻鏡 > bikyou\ ;
+符牒 > fuchou\ ;
+在世 > zaisei\ ;
+授乳 > junyuu\ ;
+海驢 > ashika\ ;
+漫文 > manbun\ ;
+表土 > hyoudo\ ;
+成算 > seisan\ ;
+国務 > kokumu\ ;
+消音 > shouon\ ;
+簡単 > kantan\ ;
+我等 > warera\ ;
+挽回 > bankai\ ;
+折檻 > sekkan\ ;
+空虚 > kuukyo\ ;
+激務 > gekimu\ ;
+土中 > dochuu\ ;
+所用 > shoyou\ ;
+所産 > shosan\ ;
+漢方 > kanpou\ ;
+淺見 > senken\ ;
+融点 > yuuten\ ;
+国利 > kokuri\ ;
+漢文 > kanbun\ ;
+手玉 > tedama\ ;
+滔滔 > toutou\ ;
+喪章 > moshou\ ;
+成空 > seikuu\ ;
+嚇怒 > kakudo\ ;
+団員 > dan''in\ ;
+筆法 > hippou\ ;
+海風 > kaifuu\ ;
+手狭 > tezema\ ;
+国光 > kokkou\ ;
+指導 > shidou\ ;
+鼾酔 > kansui\ ;
+銀鱗 > ginrin\ ;
+感電 > kanden\ ;
+啓蒙 > keimou\ ;
+衆多 > shuuta\ ;
+税金 > zeikin\ ;
+指定 > shitei\ ;
+温良 > onryou\ ;
+喪祭 > sousai\ ;
+懐胎 > kaitai\ ;
+海面 > kaimen\ ;
+黒鵐 > kuroji\ ;
+累々 > ruirui\ ;
+漫才 > manzai\ ;
+蠏座 > kaniza\ ;
+衰勢 > suisei\ ;
+漁村 > gyoson\ ;
+海難 > kainan\ ;
+堂々 > doudou\ ;
+囂囂 > gougou\ ;
+漁期 > ryouki\ ;
+空荷 > karani\ ;
+抱擁 > houyou\ ;
+鋳貨 > chuuka\ ;
+血塊 > kekkai\ ;
+四千 > yonsen\ ;
+四十 > yonjuu\ ;
+簡便 > kanben\ ;
+国会 > kokkai\ ;
+管弦 > kangen\ ;
+海防 > kaibou\ ;
+唐詩 > toushi\ ;
+鼻輪 > hanawa\ ;
+国交 > kokkou\ ;
+国事 > kokuji\ ;
+海関 > kaikan\ ;
+投書 > tousho\ ;
+海門 > kaimon\ ;
+図体 > zuutai\ ;
+箱屋 > hakoya\ ;
+滅法 > meppou\ ;
+四分 > shibun\ ;
+抵抗 > teikou\ ;
+鑽孔 > sankou\ ;
+濁世 > dakuse\ ;
+点々 > tenten\ ;
+齲蝕 > ushoku\ ;
+手漉 > tesuki\ ;
+表具 > hyougu\ ;
+鍛練 > tanren\ ;
+蟹座 > kaniza\ ;
+蚯蚓 > mimizu\ ;
+溶液 > youeki\ ;
+漁撈 > gyorou\ ;
+節奏 > sessou\ ;
+商舗 > shouho\ ;
+鋼製 > kousei\ ;
+拐帯 > kaitai\ ;
+減耗 > genmou\ ;
+端物 > hamono\ ;
+感銘 > kanmei\ ;
+戦犯 > senpan\ ;
+抱懐 > houkai\ ;
+行司 > gyouji\ ;
+担当 > tantou\ ;
+築城 > tsuiki\ ;
+窒素 > chisso\ ;
+団体 > dantai\ ;
+拠守 > kyoshu\ ;
+鋭角 > eikaku\ ;
+秘録 > hiroku\ ;
+招宴 > shouen\ ;
+私闘 > shitou\ ;
+衰亡 > suibou\ ;
+竜王 > ryuuou\ ;
+端然 > tanzen\ ;
+団交 > dankou\ ;
+噴射 > funsha\ ;
+行動 > koudou\ ;
+問罪 > monzai\ ;
+手法 > shuhou\ ;
+黛青 > taisei\ ;
+拙守 > sesshu\ ;
+衰世 > suisei\ ;
+蛇腹 > jabara\ ;
+等方 > touhou\ ;
+命題 > meidai\ ;
+潜在 > senzai\ ;
+慣行 > kankou\ ;
+手水 > temizu\ ;
+抵当 > teitou\ ;
+愛郷 > aikyou\ ;
+笑気 > shouki\ ;
+溝渠 > koukyo\ ;
+抗拒 > koukyo\ ;
+戦災 > sensai\ ;
+銘銘 > meimei\ ;
+手毬 > temari\ ;
+折折 > oriori\ ;
+湯玉 > yudama\ ;
+挫傷 > zashou\ ;
+算定 > santei\ ;
+競演 > kyouen\ ;
+挙動 > kyodou\ ;
+流音 > ryuuon\ ;
+手段 > shudan\ ;
+成犬 > seiken\ ;
+鎮火 > chinka\ ;
+抗戦 > kousen\ ;
+黒雲 > kokuun\ ;
+投手 > toushu\ ;
+満点 > manten\ ;
+行儀 > gyougi\ ;
+鍵盤 > kenban\ ;
+流露 > ryuuro\ ;
+把捉 > hasoku\ ;
+指向 > shikou\ ;
+血判 > keppan\ ;
+指名 > shimei\ ;
+藻類 > sourui\ ;
+流離 > ryuuri\ ;
+銘酒 > meishu\ ;
+海道 > kaidou\ ;
+鼠賊 > sozoku\ ;
+挙兵 > kyohei\ ;
+温突 > ondoru\ ;
+手機 > tebata\ ;
+鑑定 > kantei\ ;
+挙党 > kyotou\ ;
+拷問 > goumon\ ;
+指南 > shinan\ ;
+融朗 > yuurou\ ;
+麺類 > menrui\ ;
+減算 > genzan\ ;
+銅銭 > dousen\ ;
+競泳 > kyouei\ ;
+行使 > koushi\ ;
+戸毎 > kogoto\ ;
+銅鉱 > doukou\ ;
+減等 > gentou\ ;
+手業 > tewaza\ ;
+漸増 > zenzou\ ;
+福音 > fukuin\ ;
+源泉 > gensen\ ;
+海軍 > kaigun\ ;
+消費 > shouhi\ ;
+満満 > manman\ ;
+浪速 > naniwa\ ;
+銀鉱 > ginkou\ ;
+行人 > koujin\ ;
+問答 > mondou\ ;
+吹鳴 > suimei\ ;
+筆才 > hissai\ ;
+行事 > gyouji\ ;
+銀鈴 > ginrei\ ;
+清純 > seijun\ ;
+筆戦 > hissen\ ;
+移設 > isetsu\ ;
+虚誕 > kyotan\ ;
+戦法 > senpou\ ;
+淋菌 > rinkin\ ;
+溶材 > youzai\ ;
+減税 > genzei\ ;
+抗弁 > kouben\ ;
+策応 > sakuou\ ;
+空空 > kuukuu\ ;
+競歩 > kyouho\ ;
+清粋 > seisui\ ;
+私邸 > shitei\ ;
+麪類 > menrui\ ;
+温石 > onjaku\ ;
+虚言 > kyogen\ ;
+黒鍵 > kokken\ ;
+手柄 > tegara\ ;
+私選 > shisen\ ;
+手枷 > tekase\ ;
+混線 > konsen\ ;
+私道 > shidou\ ;
+筆意 > hitsui\ ;
+節制 > sessei\ ;
+端正 > tansei\ ;
+手札 > tefuda\ ;
+清算 > seisan\ ;
+答弁 > touben\ ;
+扁桃 > hentou\ ;
+潜函 > senkan\ ;
+洗顔 > sengan\ ;
+拝啓 > haikei\ ;
+戦死 > senshi\ ;
+手書 > shusho\ ;
+混紡 > konbou\ ;
+哀調 > aichou\ ;
+浜辺 > hamabe\ ;
+感謝 > kansha\ ;
+黒鉛 > kokuen\ ;
+才智 > saichi\ ;
+品詞 > hinshi\ ;
+満水 > mansui\ ;
+戸棚 > todana\ ;
+洋館 > youkan\ ;
+鼎談 > teidan\ ;
+湿気 > shikke\ ;
+蠕動 > zendou\ ;
+我流 > garyuu\ ;
+商科 > shouka\ ;
+拝命 > haimei\ ;
+悪風 > akufuu\ ;
+洗面 > senmen\ ;
+拝呈 > haitei\ ;
+潰乱 > kairan\ ;
+洋風 > youfuu\ ;
+空砲 > kuuhou\ ;
+潜像 > senzou\ ;
+愛読 > aidoku\ ;
+手旗 > tebata\ ;
+愛誦 > aishou\ ;
+所望 > shomou\ ;
+所有 > shoyuu\ ;
+黒酒 > kuroki\ ;
+打撲 > daboku\ ;
+指令 > shirei\ ;
+窃盗 > settou\ ;
+銀輪 > ginrin\ ;
+禅門 > zenmon\ ;
+打撃 > dageki\ ;
+節倹 > sekken\ ;
+承引 > shouin\ ;
+範例 > hanrei\ ;
+黄銅 > koudou\ ;
+意識 > ishiki\ ;
+洞門 > doumon\ ;
+神馬 > shinme\ ;
+投射 > tousha\ ;
+箝口 > kankou\ ;
+喫水 > kissui\ ;
+吸飲 > kyuuin\ ;
+空目 > sorame\ ;
+品行 > hinkou\ ;
+湯水 > yumizu\ ;
+扁旁 > henbou\ ;
+悪霊 > akurei\ ;
+黄金 > kogane\ ;
+手摺 > tesuri\ ;
+稀薄 > kihaku\ ;
+立法 > rippou\ ;
+持久 > jikyuu\ ;
+節会 > sechie\ ;
+我欲 > gayoku\ ;
+湯殿 > yudono\ ;
+端株 > hakabu\ ;
+節介 > sekkai\ ;
+精々 > seizei\ ;
+拐取 > kaishu\ ;
+私財 > shizai\ ;
+吸音 > kyuuon\ ;
+管制 > kansei\ ;
+湧水 > yuusui\ ;
+蝋梅 > roubai\ ;
+渚畔 > shohan\ ;
+営業 > eigyou\ ;
+減産 > gensan\ ;
+鋼線 > kousen\ ;
+準星 > junsei\ ;
+合鴨 > aigamo\ ;
+手指 > shushi\ ;
+黄道 > koudou\ ;
+手拭 > tefuki\ ;
+競映 > kyouei\ ;
+吹雪 > fubuki\ ;
+溺愛 > dekiai\ ;
+湯槽 > yubune\ ;
+筋子 > sujiko\ ;
+愁訴 > shuuso\ ;
+薫香 > kunkou\ ;
+鉄鋼 > tekkou\ ;
+私論 > shiron\ ;
+漢名 > kanmei\ ;
+湖沼 > koshou\ ;
+蚕紙 > sanshi\ ;
+蚕糸 > sanshi\ ;
+悌順 > teijun\ ;
+洗錬 > senren\ ;
+満杯 > manpai\ ;
+薬餌 > yakuji\ ;
+鍼治 > shinji\ ;
+鉄鉱 > tekkou\ ;
+福運 > fukuun\ ;
+押収 > oushuu\ ;
+端整 > tansei\ ;
+薫風 > kunpuu\ ;
+究理 > kyuuri\ ;
+録画 > rokuga\ ;
+銓衡 > senkou\ ;
+河鹿 > kajika\ ;
+鋼管 > koukan\ ;
+鼻翼 > biyoku\ ;
+漆器 > shikki\ ;
+禁酒 > kinshu\ ;
+藩邸 > hantei\ ;
+戦敗 > senpai\ ;
+私見 > shiken\ ;
+浄財 > jouzai\ ;
+虎落 > mogari\ ;
+海蘿 > funori\ ;
+所懐 > shokai\ ;
+温灸 > onkyuu\ ;
+海藻 > kaisou\ ;
+扇情 > senjou\ ;
+私製 > shisei\ ;
+悪銭 > akusen\ ;
+社風 > shafuu\ ;
+名香 > meikou\ ;
+和訳 > wayaku\ ;
+銅製 > dousei\ ;
+準拠 > junkyo\ ;
+涙腺 > ruisen\ ;
+等外 > tougai\ ;
+抱卵 > houran\ ;
+払底 > futtei\ ;
+所感 > shokan\ ;
+洋銀 > yougin\ ;
+秘薬 > hiyaku\ ;
+鎮撫 > chinbu\ ;
+社頭 > shatou\ ;
+私行 > shikou\ ;
+喪服 > mofuku\ ;
+算体 > santai\ ;
+和親 > washin\ ;
+手役 > teyaku\ ;
+銀製 > ginsei\ ;
+黙許 > mokkyo\ ;
+手形 > tegata\ ;
+競技 > kyougi\ ;
+蚕種 > sanshu\ ;
+打席 > daseki\ ;
+港湾 > kouwan\ ;
+薫陶 > kuntou\ ;
+手引 > tebiki\ ;
+渾沌 > konton\ ;
+減点 > genten\ ;
+扇形 > senkei\ ;
+演劇 > engeki\ ;
+悪酒 > akushu\ ;
+所思 > shoshi\ ;
+禁輸 > kin''yu\ ;
+浮薄 > fuhaku\ ;
+同類 > dourui\ ;
+銀行 > ginkou\ ;
+才幹 > saikan\ ;
+洋酒 > youshu\ ;
+龍王 > ryuuou\ ;
+情趣 > joushu\ ;
+成文 > seibun\ ;
+懸案 > ken''an\ ;
+手帳 > techou\ ;
+成敗 > seibai\ ;
+虚聞 > kyobun\ ;
+担体 > tantai\ ;
+手帖 > techou\ ;
+鈍間 > noroma\ ;
+針魚 > hariyo\ ;
+手工 > shukou\ ;
+波間 > namima\ ;
+鼓膜 > komaku\ ;
+憫然 > binzen\ ;
+悪道 > akudou\ ;
+浅見 > senken\ ;
+野鳥 > yachou\ ;
+波長 > hachou\ ;
+鼓腹 > kofuku\ ;
+鼓腸 > kochou\ ;
+治験 > chiken\ ;
+溶岩 > yougan\ ;
+海草 > kaisou\ ;
+法難 > hounan\ ;
+味読 > midoku\ ;
+洗車 > sensha\ ;
+告辞 > kokuji\ ;
+各項 > kakkou\ ;
+沸騰 > futtou\ ;
+温海 > atsumi\ ;
+善業 > zengou\ ;
+扁平 > henpei\ ;
+立方 > rippou\ ;
+笠子 > kasago\ ;
+活計 > kakkei\ ;
+投合 > tougou\ ;
+憤然 > funzen\ ;
+号館 > goukan\ ;
+滞在 > taizai\ ;
+渡渉 > toshou\ ;
+所帯 > shotai\ ;
+抗原 > kougen\ ;
+渦流 > karyuu\ ;
+漢人 > kanjin\ ;
+漁労 > gyorou\ ;
+浪華 > naniwa\ ;
+折半 > seppan\ ;
+金魚 > kingyo\ ;
+嘆声 > tansei\ ;
+銘茶 > meicha\ ;
+称美 > shoubi\ ;
+私蔵 > shizou\ ;
+味覚 > mikaku\ ;
+龕灯 > gandou\ ;
+黴菌 > baikin\ ;
+抜剣 > bakken\ ;
+善根 > zenkon\ ;
+名門 > meimon\ ;
+空港 > kuukou\ ;
+同門 > doumon\ ;
+蛮民 > banmin\ ;
+抜刀 > battou\ ;
+台風 > taifuu\ ;
+慧眼 > keigan\ ;
+才子 > saishi\ ;
+錘状 > suijou\ ;
+溶媒 > youbai\ ;
+禅譲 > zenjou\ ;
+沿革 > enkaku\ ;
+浪花 > naniwa\ ;
+端役 > hayaku\ ;
+台顔 > daigan\ ;
+呉越 > goetsu\ ;
+台頭 > taitou\ ;
+渋滞 > juutai\ ;
+混然 > konzen\ ;
+筋合 > sujiai\ ;
+減法 > genpou\ ;
+投函 > toukan\ ;
+善書 > zensho\ ;
+空洞 > kuudou\ ;
+鈑金 > bankin\ ;
+源平 > genpei\ ;
+名鑑 > meikan\ ;
+等号 > tougou\ ;
+嗣子 > shishi\ ;
+野駒 > nogoma\ ;
+浮腫 > mukumi\ ;
+減水 > gensui\ ;
+麻裏 > asaura\ ;
+種痘 > shutou\ ;
+鈍重 > donjuu\ ;
+叩頭 > koutou\ ;
+憲法 > kenpou\ ;
+所定 > shotei\ ;
+釘頭 > teitou\ ;
+禀請 > rinsei\ ;
+涙管 > ruikan\ ;
+所存 > shozon\ ;
+泥酔 > deisui\ ;
+減殺 > gensai\ ;
+減段 > gentan\ ;
+鎮座 > chinza\ ;
+穂状 > suijou\ ;
+口頭 > koutou\ ;
+清清 > seisei\ ;
+合鍵 > aikagi\ ;
+筆勢 > hissei\ ;
+立憲 > rikken\ ;
+善政 > zensei\ ;
+洞見 > douken\ ;
+礼金 > reikin\ ;
+懐柔 > kaijuu\ ;
+反騰 > hantou\ ;
+蘚苔 > sentai\ ;
+満干 > mankan\ ;
+禽舎 > kinsha\ ;
+告諭 > kokuyu\ ;
+清浄 > seijou\ ;
+等分 > toubun\ ;
+空欄 > kuuran\ ;
+没頭 > bottou\ ;
+抗体 > koutai\ ;
+句集 > kushuu\ ;
+手塩 > teshio\ ;
+湿布 > shippu\ ;
+端山 > hayama\ ;
+惣菜 > souzai\ ;
+成形 > seikei\ ;
+竜座 > ryuuza\ ;
+鉄製 > tessei\ ;
+告訴 > kokuso\ ;
+海綿 > kaimen\ ;
+嗜好 > shikou\ ;
+受領 > juryou\ ;
+筆写 > hissha\ ;
+渇水 > kassui\ ;
+済民 > saimin\ ;
+禁衛 > kin''ei\ ;
+抗争 > kousou\ ;
+清水 > seisui\ ;
+合金 > goukin\ ;
+混淆 > konkou\ ;
+品等 > hintou\ ;
+承允 > shouin\ ;
+悪言 > akugen\ ;
+礼遇 > reiguu\ ;
+喜悦 > kietsu\ ;
+立志 > risshi\ ;
+鼓笛 > koteki\ ;
+成年 > seinen\ ;
+私考 > shikou\ ;
+憤死 > funshi\ ;
+麻薬 > mayaku\ ;
+渇死 > kasshi\ ;
+端子 > tanshi\ ;
+懇望 > konmou\ ;
+虚礼 > kyorei\ ;
+融合 > yuugou\ ;
+同邦 > douhou\ ;
+沈香 > jinkou\ ;
+懇書 > konsho\ ;
+黄葉 > kouyou\ ;
+等値 > touchi\ ;
+湾岸 > wangan\ ;
+満山 > manzan\ ;
+螢光 > keikou\ ;
+双頭 > soutou\ ;
+商機 > shouki\ ;
+才噸 > saiton\ ;
+同道 > doudou\ ;
+稲熱 > imochi\ ;
+鎮守 > chinju\ ;
+滴下 > tekika\ ;
+品種 > hinshu\ ;
+黄菊 > kigiku\ ;
+技倆 > giryou\ ;
+愚策 > gusaku\ ;
+混沌 > konton\ ;
+各部 > kakubu\ ;
+波路 > namiji\ ;
+反面 > hanmen\ ;
+善戦 > zensen\ ;
+洋装 > yousou\ ;
+洋裁 > yousai\ ;
+所在 > shozai\ ;
+悪血 > oketsu\ ;
+神話 > shinwa\ ;
+慨然 > gaizen\ ;
+競売 > keibai\ ;
+藻草 > mogusa\ ;
+移着 > ichaku\ ;
+祝詞 > norito\ ;
+洋行 > youkou\ ;
+同輩 > douhai\ ;
+急須 > kyuusu\ ;
+秘策 > hisaku\ ;
+消磨 > shouma\ ;
+黙考 > mokkou\ ;
+憎気 > nikuge\ ;
+同車 > dousha\ ;
+消磁 > shouji\ ;
+唱歌 > shouka\ ;
+愛称 > aishou\ ;
+湖心 > koshin\ ;
+淡淡 > tantan\ ;
+善感 > zenkan\ ;
+沙門 > shamon\ ;
+種火 > tanebi\ ;
+銅線 > dousen\ ;
+怨霊 > onryou\ ;
+手品 > tejina\ ;
+我家 > wagaya\ ;
+空曹 > kuusou\ ;
+戦士 > senshi\ ;
+反間 > hankan\ ;
+才名 > saimei\ ;
+社賓 > shahin\ ;
+液状 > ekijou\ ;
+恵贈 > keizou\ ;
+口銭 > kousen\ ;
+善性 > zensei\ ;
+礼賛 > raisan\ ;
+戦塵 > senjin\ ;
+金銭 > kinsen\ ;
+懸巣 > kakesu\ ;
+穂波 > honami\ ;
+懐抱 > kaihou\ ;
+参院 > san''in\ ;
+鏤刻 > rukoku\ ;
+金銀 > kingin\ ;
+銀経 > ginkei\ ;
+戦場 > senjou\ ;
+金鉱 > kinkou\ ;
+憶断 > okudan\ ;
+減数 > gensuu\ ;
+満天 > manten\ ;
+和綴 > watoji\ ;
+浄罪 > jouzai\ ;
+感知 > kanchi\ ;
+泰西 > taisei\ ;
+洋蘭 > youran\ ;
+銀糸 > ginshi\ ;
+淡水 > tansui\ ;
+溶剤 > youzai\ ;
+空文 > kuubun\ ;
+黄肌 > kihada\ ;
+成婚 > seikon\ ;
+注記 > chuuki\ ;
+吟詠 > gin''ei\ ;
+懸崖 > kengai\ ;
+鍛成 > tansei\ ;
+銀粉 > ginpun\ ;
+懦弱 > dajaku\ ;
+恭賀 > kyouga\ ;
+卵黄 > ran''ou\ ;
+手動 > shudou\ ;
+藍藻 > ransou\ ;
+憲政 > kensei\ ;
+戦地 > senchi\ ;
+礼讃 > raisan\ ;
+満塁 > manrui\ ;
+合資 > goushi\ ;
+満場 > manjou\ ;
+号車 > gousha\ ;
+泣訴 > kyuuso\ ;
+重重 > juujuu\ ;
+恩賞 > onshou\ ;
+清書 > seisho\ ;
+満堂 > mandou\ ;
+扇動 > sendou\ ;
+才分 > saibun\ ;
+減損 > genson\ ;
+水黽 > amenbo\ ;
+神蛇 > shinja\ ;
+哀痛 > aitsuu\ ;
+戒壇 > kaidan\ ;
+麦芽 > bakuga\ ;
+台車 > daisha\ ;
+品番 > hinban\ ;
+薫製 > kunsei\ ;
+手写 > shusha\ ;
+清明 > seimei\ ;
+法論 > houron\ ;
+決闘 > kettou\ ;
+法談 > houdan\ ;
+原題 > gendai\ ;
+手兵 > shuhei\ ;
+所労 > shorou\ ;
+原頭 > gentou\ ;
+采配 > saihai\ ;
+名論 > meiron\ ;
+浅紅 > senkou\ ;
+第三 > daisan\ ;
+添書 > tensho\ ;
+手先 > tesaki\ ;
+手元 > temoto\ ;
+恩讐 > onshuu\ ;
+恩讎 > onshuu\ ;
+口辺 > kouhen\ ;
+原音 > gen''on\ ;
+我執 > gashuu\ ;
+空挺 > kuutei\ ;
+活線 > kassen\ ;
+同誌 > doushi\ ;
+厚顔 > kougan\ ;
+名詞 > meishi\ ;
+鈍行 > donkou\ ;
+懇情 > konjou\ ;
+添景 > tenkei\ ;
+手傷 > tekizu\ ;
+空拳 > kuuken\ ;
+針路 > shinro\ ;
+符丁 > fuchou\ ;
+名言 > meigen\ ;
+同訓 > doukun\ ;
+金輪 > kanawa\ ;
+成型 > seikei\ ;
+沢辺 > sawabe\ ;
+法要 > houyou\ ;
+科目 > kamoku\ ;
+鼈甲 > bekkou\ ;
+蜂巣 > housou\ ;
+空手 > karate\ ;
+礼装 > reisou\ ;
+同視 > doushi\ ;
+善導 > zendou\ ;
+空所 > kuusho\ ;
+念願 > nengan\ ;
+合計 > goukei\ ;
+麻織 > asaori\ ;
+古蹟 > koseki\ ;
+呪縛 > jubaku\ ;
+空戦 > kuusen\ ;
+慨歎 > gaitan\ ;
+汗顔 > kangan\ ;
+念頭 > nentou\ ;
+科白 > serifu\ ;
+原隊 > gentai\ ;
+醵金 > kyokin\ ;
+稼業 > kagyou\ ;
+端厳 > tangen\ ;
+薮蚊 > yabuka\ ;
+周縁 > shuuen\ ;
+喚声 > kansei\ ;
+海産 > kaisan\ ;
+戦史 > senshi\ ;
+満員 > man''in\ ;
+叛軍 > hangun\ ;
+黄粉 > kinako\ ;
+税源 > zeigen\ ;
+友邦 > yuuhou\ ;
+鎖国 > sakoku\ ;
+竹刀 > shinai\ ;
+愁眉 > shuubi\ ;
+黙秘 > mokuhi\ ;
+清掃 > seisou\ ;
+麻絲 > asaito\ ;
+銃砲 > juuhou\ ;
+才人 > saijin\ ;
+測度 > sokudo\ ;
+同衾 > doukin\ ;
+鍛工 > tankou\ ;
+酸類 > sanrui\ ;
+涼気 > ryouki\ ;
+立地 > ritchi\ ;
+同行 > doukou\ ;
+空想 > kuusou\ ;
+手交 > shukou\ ;
+黒穂 > kurobo\ ;
+情緒 > joucho\ ;
+沃野 > yokuya\ ;
+麻糸 > asaito\ ;
+喧噪 > kensou\ ;
+温床 > onshou\ ;
+感状 > kanjou\ ;
+合衾 > goukin\ ;
+愛猫 > aibyou\ ;
+醸造 > jouzou\ ;
+戦功 > senkou\ ;
+私益 > shieki\ ;
+湾口 > wankou\ ;
+史論 > shiron\ ;
+銃眼 > juugan\ ;
+史談 > shidan\ ;
+章句 > shouku\ ;
+銅盤 > douban\ ;
+憶念 > okunen\ ;
+呼称 > koshou\ ;
+戦前 > senzen\ ;
+鸞輿 > ran''yo\ ;
+憧憬 > doukei\ ;
+双輪 > sourin\ ;
+参道 > sandou\ ;
+液汁 > ekijuu\ ;
+稿本 > kouhon\ ;
+海獣 > kaijuu\ ;
+憤懣 > funman\ ;
+史詩 > shishi\ ;
+反転 > hanten\ ;
+反軍 > hangun\ ;
+可読 > kadoku\ ;
+懸垂 > kensui\ ;
+税法 > zeihou\ ;
+厳重 > genjuu\ ;
+薫蒸 > kunjou\ ;
+台詞 > serifu\ ;
+錬成 > rensei\ ;
+銀盤 > ginban\ ;
+友軍 > yuugun\ ;
+和睦 > waboku\ ;
+銀盃 > ginpai\ ;
+憤慨 > fungai\ ;
+唐本 > touhon\ ;
+鉄線 > tessen\ ;
+鋼板 > kouban\ ;
+鼻毛 > hanage\ ;
+史観 > shikan\ ;
+双蹄 > soutei\ ;
+受賞 > jushou\ ;
+消火 > shouka\ ;
+戒厳 > kaigen\ ;
+鋼材 > kouzai\ ;
+洗練 > senren\ ;
+台覧 > tairan\ ;
+私用 > shiyou\ ;
+志願 > shigan\ ;
+同藩 > douhan\ ;
+口論 > kouron\ ;
+口調 > kuchou\ ;
+叢談 > soudan\ ;
+厳選 > gensen\ ;
+端倪 > tangei\ ;
+金談 > kindan\ ;
+混戦 > konsen\ ;
+戯作 > gesaku\ ;
+混成 > konsei\ ;
+喚問 > kanmon\ ;
+社葬 > shasou\ ;
+憤怒 > fun''nu\ ;
+古註 > kochuu\ ;
+流石 > sasuga\ ;
+鉄粉 > teppun\ ;
+醗酵 > hakkou\ ;
+原鉱 > genkou\ ;
+温容 > on''you\ ;
+麦粉 > mugiko\ ;
+成功 > seikou\ ;
+深手 > fukade\ ;
+黒目 > kurome\ ;
+金言 > kingen\ ;
+洗米 > senmai\ ;
+憐憫 > renbin\ ;
+原野 > gen''ya\ ;
+気魄 > kihaku\ ;
+受諾 > judaku\ ;
+気鬱 > kiutsu\ ;
+成分 > seibun\ ;
+薬舗 > yakuho\ ;
+名著 > meicho\ ;
+鉄管 > tekkan\ ;
+重言 > juugon\ ;
+氷霧 > hyoumu\ ;
+愍然 > binzen\ ;
+金襴 > kinran\ ;
+懐妊 > kainin\ ;
+水面 > minomo\ ;
+禍福 > kafuku\ ;
+氷雨 > hisame\ ;
+鉄筋 > tekkin\ ;
+懸命 > kenmei\ ;
+酔顔 > suigan\ ;
+憐愍 > renbin\ ;
+洋紙 > youshi\ ;
+重視 > juushi\ ;
+成典 > seiten\ ;
+銭湯 > sentou\ ;
+清廉 > seiren\ ;
+洋紅 > youkou\ ;
+重要 > juuyou\ ;
+金製 > kinsei\ ;
+酒類 > shurui\ ;
+合著 > goucho\ ;
+鶏鳴 > keimei\ ;
+禽獣 > kinjuu\ ;
+水雷 > suirai\ ;
+受註 > juchuu\ ;
+受診 > jushin\ ;
+口装 > kousou\ ;
+深意 > shin''i\ ;
+磁針 > jishin\ ;
+憐情 > renjou\ ;
+水難 > suinan\ ;
+君臨 > kunrin\ ;
+戦争 > sensou\ ;
+受託 > jutaku\ ;
+戦乱 > senran\ ;
+浩然 > kouzen\ ;
+窓外 > sougai\ ;
+問屋 > ton''ya\ ;
+鉄窓 > tessou\ ;
+名茶 > meicha\ ;
+慧敏 > keibin\ ;
+港外 > kougai\ ;
+蛇座 > hebiza\ ;
+穿孔 > senkou\ ;
+湯元 > yumoto\ ;
+鼻梁 > biryou\ ;
+私版 > shihan\ ;
+反論 > hanron\ ;
+空寝 > sorane\ ;
+浄界 > joukai\ ;
+薄薄 > usuusu\ ;
+水防 > suibou\ ;
+銅牌 > douhai\ ;
+喜劇 > kigeki\ ;
+憂憤 > yuufun\ ;
+感涙 > kanrui\ ;
+穴居 > kekkyo\ ;
+立冬 > rittou\ ;
+憂慮 > yuuryo\ ;
+海溝 > kaikou\ ;
+立党 > rittou\ ;
+厚遇 > kouguu\ ;
+和独 > wadoku\ ;
+怪談 > kaidan\ ;
+浩瀚 > koukan\ ;
+金蝿 > kinbae\ ;
+銀牌 > ginpai\ ;
+水門 > suimon\ ;
+蛮声 > bansei\ ;
+善哉 > zenzai\ ;
+吏臭 > rishuu\ ;
+同船 > dousen\ ;
+単項 > tankou\ ;
+単音 > tan''on\ ;
+海港 > kaikou\ ;
+鉛白 > enpaku\ ;
+参謀 > sanbou\ ;
+悪童 > akudou\ ;
+憂悶 > yuumon\ ;
+憂患 > yuukan\ ;
+浮漂 > fuhyou\ ;
+鼻木 > hanagi\ ;
+配電 > haiden\ ;
+和牛 > wagyuu\ ;
+薄葉 > usuyou\ ;
+成体 > seitai\ ;
+唐手 > karate\ ;
+淫心 > inshin\ ;
+商家 > shouka\ ;
+唐戸 > karado\ ;
+洗礼 > senrei\ ;
+合致 > gatchi\ ;
+南面 > nanmen\ ;
+参詣 > sankei\ ;
+憂思 > yuushi\ ;
+向背 > kouhai\ ;
+深度 > shindo\ ;
+慷慨 > kougai\ ;
+惨状 > sanjou\ ;
+吾等 > warera\ ;
+海浜 > kaihin\ ;
+民風 > minpuu\ ;
+虚構 > kyokou\ ;
+博雅 > bakuga\ ;
+成人 > seijin\ ;
+悪税 > akuzei\ ;
+黄瓜 > kyuuri\ ;
+吹管 > suikan\ ;
+洋種 > youshu\ ;
+海洋 > kaiyou\ ;
+移植 > ishoku\ ;
+鉄砲 > teppou\ ;
+各自 > kakuji\ ;
+麻疹 > mashin\ ;
+喧伝 > kenden\ ;
+薄茶 > usucha\ ;
+参観 > sankan\ ;
+告示 > kokuji\ ;
+感歎 > kantan\ ;
+南隅 > nanguu\ ;
+含糖 > gantou\ ;
+蛮地 > banchi\ ;
+悪神 > akujin\ ;
+名聞 > meibun\ ;
+立体 > rittai\ ;
+半音 > han''on\ ;
+南限 > nangen\ ;
+情痴 > jouchi\ ;
+突堤 > tottei\ ;
+喪中 > mochuu\ ;
+減塩 > gen''en\ ;
+渥地 > akuchi\ ;
+淡彩 > tansai\ ;
+海水 > kaisui\ ;
+浮流 > furyuu\ ;
+祭神 > saijin\ ;
+神符 > shinpu\ ;
+金蔵 > kinzou\ ;
+愛欲 > aiyoku\ ;
+祭祀 > saishi\ ;
+厳談 > gendan\ ;
+薄色 > usuiro\ ;
+祭礼 > sairei\ ;
+民青 > minsei\ ;
+半面 > hanmen\ ;
+口蓋 > kougai\ ;
+浪浪 > rourou\ ;
+渓声 > keisei\ ;
+虚根 > kyokon\ ;
+微震 > bishin\ ;
+応酬 > oushuu\ ;
+南門 > nanmon\ ;
+原資 > genshi\ ;
+洗眼 > sengan\ ;
+酩酊 > meitei\ ;
+性行 > seikou\ ;
+善処 > zensho\ ;
+同罪 > douzai\ ;
+浮沈 > fuchin\ ;
+水銀 > suigin\ ;
+黒煙 > kokuen\ ;
+御題 > gyodai\ ;
+厳訓 > genkun\ ;
+即金 > sokkin\ ;
+哀楽 > airaku\ ;
+空域 > kuuiki\ ;
+銀漢 > ginkan\ ;
+深山 > miyama\ ;
+野蒜 > nobiru\ ;
+浮氷 > fuhyou\ ;
+鶏頭 > keitou\ ;
+秋波 > shuuha\ ;
+活版 > kappan\ ;
+社線 > shasen\ ;
+気長 > kinaga\ ;
+神秘 > shinpi\ ;
+空地 > akichi\ ;
+台臨 > tairin\ ;
+惨澹 > santan\ ;
+愛楽 > aigyou\ ;
+野菊 > nogiku\ ;
+秋気 > shuuki\ ;
+法線 > housen\ ;
+民間 > minkan\ ;
+懇命 > konmei\ ;
+港口 > koukou\ ;
+悪相 > akusou\ ;
+御霊 > mitama\ ;
+決裁 > kessai\ ;
+半開 > hankai\ ;
+法網 > houmou\ ;
+悲痛 > hitsuu\ ;
+麦田 > mugita\ ;
+鵞鳥 > gachou\ ;
+水郷 > suigou\ ;
+合繊 > gousen\ ;
+私法 > shihou\ ;
+鵝鳥 > gachou\ ;
+慣性 > kansei\ ;
+原論 > genron\ ;
+決行 > kekkou\ ;
+慢性 > mansei\ ;
+御陵 > goryou\ ;
+快走 > kaisou\ ;
+従順 > juujun\ ;
+鼠族 > sozoku\ ;
+治者 > chisha\ ;
+原詩 > genshi\ ;
+水道 > suidou\ ;
+感染 > kansen\ ;
+懐剣 > kaiken\ ;
+情状 > joujou\ ;
+同紙 > doushi\ ;
+鉱滓 > koushi\ ;
+向米 > koubei\ ;
+鉄琴 > tekkin\ ;
+同系 > doukei\ ;
+窮余 > kyuuyo\ ;
+浮標 > fuhyou\ ;
+銀泥 > gindei\ ;
+可聴 > kachou\ ;
+虚数 > kyosuu\ ;
+海棠 > kaidou\ ;
+悪疫 > akueki\ ;
+減員 > gen''in\ ;
+吃緊 > kikkin\ ;
+恩給 > onkyuu\ ;
+水辺 > mizube\ ;
+御門 > mikado\ ;
+双葉 > futaba\ ;
+後項 > koukou\ ;
+稟性 > hinsei\ ;
+混声 > konsei\ ;
+口腔 > koukou\ ;
+鍛冶 > tan''ya\ ;
+悪用 > akuyou\ ;
+窃取 > sesshu\ ;
+愉楽 > yuraku\ ;
+秀歌 > shuuka\ ;
+区長 > kuchou\ ;
+減号 > gengou\ ;
+港内 > kounai\ ;
+水車 > suisha\ ;
+減反 > gentan\ ;
+酒造 > shuzou\ ;
+虎斑 > torafu\ ;
+黒海 > kokkai\ ;
+名答 > meitou\ ;
+後難 > kounan\ ;
+空名 > kuumei\ ;
+浅海 > senkai\ ;
+錦地 > kinchi\ ;
+反英 > han''ei\ ;
+同等 > doutou\ ;
+液性 > ekisei\ ;
+鼻息 > bisoku\ ;
+悪球 > akkyuu\ ;
+合算 > gassan\ ;
+反芻 > hansuu\ ;
+洋琴 > youkin\ ;
+私権 > shiken\ ;
+鉄片 > teppen\ ;
+硼酸 > housan\ ;
+鉱泉 > kousen\ ;
+海月 > kurage\ ;
+海曹 > kaisou\ ;
+配送 > haisou\ ;
+後陣 > koujin\ ;
+南郊 > nankou\ ;
+汎論 > hanron\ ;
+唐子 > karako\ ;
+流派 > ryuuha\ ;
+薄紗 > hakusa\ ;
+虹彩 > kousai\ ;
+混在 > konzai\ ;
+同窓 > dousou\ ;
+禁煙 > kin''en\ ;
+銘板 > meiban\ ;
+鉱水 > kousui\ ;
+微量 > biryou\ ;
+油絵 > aburae\ ;
+海景 > kaikei\ ;
+空包 > kuuhou\ ;
+半金 > hankin\ ;
+毛頭 > moutou\ ;
+愛敬 > aikyou\ ;
+同種 > doushu\ ;
+穿刺 > senshi\ ;
+形骸 > keigai\ ;
+惨死 > zanshi\ ;
+海星 > hitode\ ;
+慈心 > jishin\ ;
+後門 > koumon\ ;
+浄水 > jousui\ ;
+減刑 > genkei\ ;
+重罪 > juuzai\ ;
+酢豚 > subuta\ ;
+千鈞 > senkin\ ;
+黄海 > koukai\ ;
+台紙 > daishi\ ;
+配車 > haisha\ ;
+神璽 > shinji\ ;
+空前 > kuuzen\ ;
+洗煉 > senren\ ;
+洋犬 > youken\ ;
+洸洸 > koukou\ ;
+印象 > inshou\ ;
+千金 > senkin\ ;
+種子 > shushi\ ;
+洸洋 > kouyou\ ;
+秋期 > shuuki\ ;
+気迫 > kihaku\ ;
+同社 > dousha\ ;
+影響 > eikyou\ ;
+蔑視 > besshi\ ;
+応諾 > oudaku\ ;
+減免 > genmen\ ;
+民選 > minsen\ ;
+空冷 > kuurei\ ;
+惚気 > noroke\ ;
+礼砲 > reihou\ ;
+単車 > tansha\ ;
+慶大 > keidai\ ;
+和楽 > waraku\ ;
+怪腕 > kaiwan\ ;
+合祭 > gousai\ ;
+双肩 > souken\ ;
+商務 > shoumu\ ;
+悪熱 > anetsu\ ;
+合祀 > goushi\ ;
+性腺 > seisen\ ;
+憲兵 > kenpei\ ;
+減債 > gensai\ ;
+黄水 > kimizu\ ;
+銘文 > meibun\ ;
+口絵 > kuchie\ ;
+科料 > karyou\ ;
+御酌 > oshaku\ ;
+気軽 > kigaru\ ;
+性能 > seinou\ ;
+呆然 > bouzen\ ;
+注疏 > chuuso\ ;
+注疎 > chuuso\ ;
+商利 > shouri\ ;
+銅板 > douban\ ;
+酒販 > shuhan\ ;
+蛮人 > banjin\ ;
+唱和 > shouwa\ ;
+周波 > shuuha\ ;
+海損 > kaison\ ;
+怪聞 > kaibun\ ;
+私有 > shiyuu\ ;
+慮外 > ryogai\ ;
+酒豪 > shugou\ ;
+私書 > shisho\ ;
+金糸 > kinshi\ ;
+減俸 > genpou\ ;
+半輪 > hanrin\ ;
+法眼 > hougen\ ;
+混同 > kondou\ ;
+銀杯 > ginpai\ ;
+混合 > kongou\ ;
+石鹸 > sekken\ ;
+金粉 > kinpun\ ;
+鉛毒 > endoku\ ;
+当駅 > toueki\ ;
+御遊 > gyoyuu\ ;
+渦中 > kachuu\ ;
+法相 > hossou\ ;
+深味 > fukami\ ;
+神父 > shinpu\ ;
+原著 > gencho\ ;
+悠然 > yuuzen\ ;
+感懐 > kankai\ ;
+麦湯 > mugiyu\ ;
+想望 > soubou\ ;
+参考 > sankou\ ;
+同県 > douken\ ;
+名盤 > meiban\ ;
+司祭 > shisai\ ;
+受給 > jukyuu\ ;
+同相 > dousou\ ;
+同盟 > doumei\ ;
+洪水 > kouzui\ ;
+哀愁 > aishuu\ ;
+感慨 > kangai\ ;
+千載 > senzai\ ;
+蛍光 > keikou\ ;
+哀惜 > aiseki\ ;
+吉相 > kissou\ ;
+空似 > sorani\ ;
+和服 > wafuku\ ;
+硬軟 > kounan\ ;
+金管 > kinkan\ ;
+薬理 > yakuri\ ;
+愛憎 > ainiku\ ;
+口答 > koutou\ ;
+後金 > atokin\ ;
+愛慾 > aiyoku\ ;
+感想 > kansou\ ;
+社用 > shayou\ ;
+銀映 > gin''ei\ ;
+鹵獲 > rokaku\ ;
+砲門 > houmon\ ;
+海戦 > kaisen\ ;
+感情 > kanjou\ ;
+思考 > shikou\ ;
+品性 > hinsei\ ;
+復路 > fukuro\ ;
+命根 > meikon\ ;
+情死 > joushi\ ;
+錠剤 > jouzai\ ;
+深化 > shinka\ ;
+即行 > sokkou\ ;
+錠前 > joumae\ ;
+気象 > kishou\ ;
+愛惜 > aiseki\ ;
+号砲 > gouhou\ ;
+法界 > hokkai\ ;
+啓上 > keijou\ ;
+洗浄 > senjou\ ;
+感性 > kansei\ ;
+神火 > shinka\ ;
+双紙 > soushi\ ;
+名産 > meisan\ ;
+愛息 > aisoku\ ;
+藤氏 > toushi\ ;
+協議 > kyougi\ ;
+黒木 > kuroki\ ;
+愚息 > gusoku\ ;
+古称 > koshou\ ;
+鴕鳥 > dachou\ ;
+泥状 > deijou\ ;
+当面 > toumen\ ;
+必見 > hikken\ ;
+鼓弓 > kokyuu\ ;
+哀弔 > aichou\ ;
+悲況 > hikyou\ ;
+泰然 > taizen\ ;
+反米 > hanbei\ ;
+活栓 > kassen\ ;
+浄書 > jousho\ ;
+破鏡 > hakyou\ ;
+稀少 > kishou\ ;
+商事 > shouji\ ;
+禁止 > kinshi\ ;
+後送 > kousou\ ;
+後退 > koutai\ ;
+受章 > jushou\ ;
+重税 > juuzei\ ;
+酢蛸 > sudako\ ;
+歯齦 > shigin\ ;
+各界 > kakkai\ ;
+叢祠 > hokora\ ;
+慨嘆 > gaitan\ ;
+従軍 > juugun\ ;
+毛鈎 > kebari\ ;
+部長 > buchou\ ;
+史眼 > shigan\ ;
+悶死 > monshi\ ;
+段階 > dankai\ ;
+鼾声 > kansei\ ;
+惨敗 > zanpai\ ;
+悪法 > akuhou\ ;
+待遇 > taiguu\ ;
+洋洋 > youyou\ ;
+麺棒 > menbou\ ;
+右目 > migime\ ;
+必衰 > hissui\ ;
+歯黒 > haguro\ ;
+重祚 > chouso\ ;
+後輪 > kourin\ ;
+後輩 > kouhai\ ;
+黎明 > reimei\ ;
+愈愈 > iyoiyo\ ;
+礼状 > reijou\ ;
+民論 > minron\ ;
+参籠 > sanrou\ ;
+悪水 > akusui\ ;
+滾々 > konkon\ ;
+匪躬 > hikyuu\ ;
+後軍 > kougun\ ;
+後車 > kousha\ ;
+愉悦 > yuetsu\ ;
+針目 > harime\ ;
+北部 > hokubu\ ;
+弾頭 > dantou\ ;
+悪気 > warugi\ ;
+矢鱈 > yatara\ ;
+礎石 > soseki\ ;
+浴後 > yokugo\ ;
+卓見 > takken\ ;
+命数 > meisuu\ ;
+北郊 > hokkou\ ;
+残骸 > zangai\ ;
+折々 > oriori\ ;
+泥炭 > deitan\ ;
+金砂 > kinsha\ ;
+名状 > meijou\ ;
+勧降 > kankou\ ;
+葛餡 > kuzuan\ ;
+浮心 > fushin\ ;
+重砲 > juuhou\ ;
+私憤 > shifun\ ;
+汗腺 > kansen\ ;
+海底 > kaitei\ ;
+怪童 > kaidou\ ;
+沼田 > numada\ ;
+祭殿 > saiden\ ;
+単行 > tankou\ ;
+砲金 > houkin\ ;
+古着 > furugi\ ;
+半解 > hankai\ ;
+南行 > nankou\ ;
+銀扇 > ginsen\ ;
+重石 > omoshi\ ;
+治産 > chisan\ ;
+募集 > boshuu\ ;
+添乗 > tenjou\ ;
+郷里 > kyouri\ ;
+周期 > shuuki\ ;
+原罪 > genzai\ ;
+錦上 > kinjou\ ;
+味方 > mikata\ ;
+種名 > shumei\ ;
+強音 > kyouon\ ;
+混交 > konkou\ ;
+蚕卵 > sanran\ ;
+私感 > shikan\ ;
+十誡 > jikkai\ ;
+残香 > zankou\ ;
+麪棒 > menbou\ ;
+汚職 > oshoku\ ;
+藩校 > hankou\ ;
+混乱 > konran\ ;
+穂先 > hosaki\ ;
+金目 > kaneme\ ;
+私情 > shijou\ ;
+海嶺 > kairei\ ;
+動静 > dousei\ ;
+恒産 > kousan\ ;
+量目 > ryoume\ ;
+徳行 > tokkou\ ;
+研鑽 > kensan\ ;
+弱音 > yowane\ ;
+匪賊 > hizoku\ ;
+吸気 > kyuuki\ ;
+勢門 > seimon\ ;
+快腕 > kaiwan\ ;
+私恨 > shikon\ ;
+残飯 > zanpan\ ;
+水葬 > suisou\ ;
+半裁 > hansai\ ;
+禅林 > zenrin\ ;
+唯一 > yuitsu\ ;
+重盗 > juutou\ ;
+同然 > douzen\ ;
+死骸 > shigai\ ;
+御託 > gotaku\ ;
+微衷 > bichuu\ ;
+御言 > mikoto\ ;
+氷菓 > hyouka\ ;
+神気 > shinki\ ;
+効験 > kouken\ ;
+南蛮 > nanban\ ;
+半衿 > haneri\ ;
+虚妄 > kyomou\ ;
+決算 > kessan\ ;
+感官 > kankan\ ;
+化身 > keshin\ ;
+恬然 > tenzen\ ;
+情景 > joukei\ ;
+薬湯 > yakuyu\ ;
+汽笛 > kiteki\ ;
+法灯 > houtou\ ;
+涼味 > ryoumi\ ;
+同点 > douten\ ;
+水菜 > mizuna\ ;
+海岸 > kaigan\ ;
+勾配 > koubai\ ;
+悪業 > akugou\ ;
+参禅 > sanzen\ ;
+原綿 > genmen\ ;
+惨憺 > santan\ ;
+藤本 > touhon\ ;
+鉄板 > teppan\ ;
+郵送 > yuusou\ ;
+比較 > hikaku\ ;
+浅才 > sensai\ ;
+短音 > tan''on\ ;
+禁書 > kinsho\ ;
+葉風 > hakaze\ ;
+叢生 > sousei\ ;
+御製 > gyosei\ ;
+蓴菜 > junsai\ ;
+含水 > gansui\ ;
+想念 > sounen\ ;
+影身 > kagemi\ ;
+原紙 > genshi\ ;
+愛嬌 > aikyou\ ;
+銷夏 > shouka\ ;
+毛足 > keashi\ ;
+原糸 > genshi\ ;
+歯髄 > shizui\ ;
+海容 > kaiyou\ ;
+銃弾 > juudan\ ;
+虚報 > kyohou\ ;
+原糖 > gentou\ ;
+落馬 > rakuba\ ;
+金環 > kinkan\ ;
+砕鉱 > saikou\ ;
+弓馬 > kyuuba\ ;
+双眼 > sougan\ ;
+双眸 > soubou\ ;
+鹹水 > kansui\ ;
+砲車 > housha\ ;
+憂世 > yuusei\ ;
+反省 > hansei\ ;
+注油 > chuuyu\ ;
+浅慮 > senryo\ ;
+郷軍 > gougun\ ;
+情操 > jousou\ ;
+神樹 > shinju\ ;
+消夏 > shouka\ ;
+沈砂 > chinsa\ ;
+勧銀 > kangin\ ;
+医術 > ijutsu\ ;
+邦題 > houdai\ ;
+蕃社 > bansha\ ;
+稿人 > koujin\ ;
+禁断 > kindan\ ;
+萌黎 > hourei\ ;
+惰弱 > dajaku\ ;
+律詩 > risshi\ ;
+感奮 > kanpun\ ;
+厳禁 > genkin\ ;
+涙嚢 > ruinou\ ;
+穂並 > honami\ ;
+卵胞 > ranhou\ ;
+同源 > dougen\ ;
+愛妾 > aishou\ ;
+名湯 > meitou\ ;
+野球 > yakyuu\ ;
+怪盗 > kaitou\ ;
+呉服 > gofuku\ ;
+神楽 > kagura\ ;
+忠義 > chuugi\ ;
+葷酒 > kunshu\ ;
+水腫 > suishu\ ;
+科学 > kagaku\ ;
+藍染 > aizome\ ;
+唐人 > toujin\ ;
+油然 > yuuzen\ ;
+悪書 > akusho\ ;
+当選 > tousen\ ;
+洋本 > youhon\ ;
+後見 > kouken\ ;
+君民 > kunmin\ ;
+洋書 > yousho\ ;
+葉陰 > hakage\ ;
+銀嶺 > ginrei\ ;
+礼法 > reihou\ ;
+沸点 > futten\ ;
+秋季 > shuuki\ ;
+態勢 > taisei\ ;
+和布 > wakame\ ;
+恬淡 > tentan\ ;
+黙座 > mokuza\ ;
+液剤 > ekizai\ ;
+死霊 > shirei\ ;
+殿軍 > dengun\ ;
+黒影 > kokuei\ ;
+弊風 > heifuu\ ;
+双生 > sousei\ ;
+必至 > hisshi\ ;
+往診 > oushin\ ;
+征討 > seitou\ ;
+蔗糖 > shotou\ ;
+金牌 > kinpai\ ;
+配船 > haisen\ ;
+銅山 > douzan\ ;
+慣例 > kanrei\ ;
+法治 > houchi\ ;
+海外 > kaigai\ ;
+原稿 > genkou\ ;
+原種 > genshu\ ;
+水耕 > suikou\ ;
+郵貯 > yuucho\ ;
+野牛 > yagyuu\ ;
+活性 > kassei\ ;
+社殿 > shaden\ ;
+愛執 > aishuu\ ;
+勧進 > kanjin\ ;
+重版 > juuhan\ ;
+悪文 > akubun\ ;
+砂金 > shakin\ ;
+正餐 > seisan\ ;
+配膳 > haizen\ ;
+求縁 > kyuuen\ ;
+銀山 > ginzan\ ;
+税制 > zeisei\ ;
+忍耐 > nintai\ ;
+悪政 > akusei\ ;
+歯面 > shimen\ ;
+合法 > gouhou\ ;
+死闘 > shitou\ ;
+祭文 > saimon\ ;
+各派 > kakuha\ ;
+遺髪 > ihatsu\ ;
+南航 > nankou\ ;
+慨世 > gaisei\ ;
+秘境 > hikyou\ ;
+酒肴 > shukou\ ;
+汀線 > teisen\ ;
+去痰 > kyotan\ ;
+海堡 > kaihou\ ;
+同氏 > doushi\ ;
+祭政 > saisei\ ;
+遺骨 > ikotsu\ ;
+黒巾 > kurogo\ ;
+恩沢 > ontaku\ ;
+海域 > kaiiki\ ;
+径行 > keikou\ ;
+愛国 > aikoku\ ;
+鉄拳 > tekken\ ;
+名残 > nagori\ ;
+沼湖 > shouko\ ;
+葬送 > sousou\ ;
+破調 > hachou\ ;
+想定 > soutei\ ;
+情感 > joukan\ ;
+虚名 > kyomei\ ;
+厚礼 > kourei\ ;
+禁所 > kinsho\ ;
+弾道 > dandou\ ;
+民芸 > mingei\ ;
+感嘆 > kantan\ ;
+哺乳 > honyuu\ ;
+重点 > juuten\ ;
+吃水 > kissui\ ;
+称呼 > shouko\ ;
+台湾 > taiwan\ ;
+泉水 > sensui\ ;
+鉄扇 > tessen\ ;
+怪獣 > kaijuu\ ;
+周忌 > shuuki\ ;
+永続 > eizoku\ ;
+正面 > matomo\ ;
+重灰 > juukai\ ;
+水練 > suiren\ ;
+短銃 > tanjuu\ ;
+哀哭 > aikoku\ ;
+水線 > suisen\ ;
+鉱山 > kouzan\ ;
+危絵 > abunae\ ;
+鉱層 > kousou\ ;
+恥毛 > chimou\ ;
+北行 > hokkou\ ;
+沛然 > haizen\ ;
+殷賑 > inshin\ ;
+毒見 > dokumi\ ;
+助長 > jochou\ ;
+液体 > ekitai\ ;
+司法 > shihou\ ;
+鈍根 > donkon\ ;
+情念 > jounen\ ;
+悽惨 > seisan\ ;
+惨害 > sangai\ ;
+虚勢 > kyosei\ ;
+碇置 > teichi\ ;
+配置 > haichi\ ;
+気胸 > kikyou\ ;
+咳嗽 > gaisou\ ;
+残金 > zankin\ ;
+復航 > fukkou\ ;
+同権 > douken\ ;
+毬藻 > marimo\ ;
+薫染 > kunsen\ ;
+私大 > shidai\ ;
+毛蟹 > kegani\ ;
+復興 > fukkou\ ;
+愛唱 > aishou\ ;
+性状 > seijou\ ;
+品名 > hinmei\ ;
+鉱害 > kougai\ ;
+同様 > douyou\ ;
+千般 > senpan\ ;
+水系 > suikei\ ;
+悠揚 > yuuyou\ ;
+悪投 > akutou\ ;
+原盤 > genban\ ;
+鳴門 > naruto\ ;
+動輪 > dourin\ ;
+河流 > karyuu\ ;
+厚着 > atsugi\ ;
+悪才 > akusai\ ;
+悪手 > akushu\ ;
+感吟 > kangin\ ;
+沼気 > shouki\ ;
+治水 > chisui\ ;
+悪所 > akusho\ ;
+銃声 > juusei\ ;
+卵管 > rankan\ ;
+歎願 > tangan\ ;
+黒字 > kuroji\ ;
+黒子 > hokuro\ ;
+悶悶 > monmon\ ;
+悪戦 > akusen\ ;
+動転 > douten\ ;
+禀性 > rinsei\ ;
+勇邁 > yuumai\ ;
+危篤 > kitoku\ ;
+私報 > shihou\ ;
+悲愁 > hishuu\ ;
+消化 > shouka\ ;
+正閏 > seijun\ ;
+正門 > seimon\ ;
+形見 > katami\ ;
+同棲 > dousei\ ;
+鶏舎 > keisha\ ;
+包装 > housou\ ;
+徳義 > tokugi\ ;
+葉酸 > yousan\ ;
+労銀 > rougin\ ;
+印箱 > inbako\ ;
+後葉 > kouyou\ ;
+郵袋 > yuutai\ ;
+配線 > haisen\ ;
+勇退 > yuutai\ ;
+吹挙 > suikyo\ ;
+殊遇 > shuguu\ ;
+蒼茫 > soubou\ ;
+水管 > suikan\ ;
+神授 > shinju\ ;
+悪態 > akutai\ ;
+古流 > koryuu\ ;
+十能 > juunou\ ;
+銀塊 > ginkai\ ;
+藻屑 > mokuzu\ ;
+虚像 > kyozou\ ;
+酒精 > shusei\ ;
+同根 > doukon\ ;
+沙漠 > sabaku\ ;
+水筒 > suitou\ ;
+黙契 > mokkei\ ;
+感動 > kandou\ ;
+同校 > doukou\ ;
+重液 > juueki\ ;
+古注 > kochuu\ ;
+単線 > tansen\ ;
+当該 > tougai\ ;
+印章 > inshou\ ;
+毒蛾 > dokuga\ ;
+原産 > gensan\ ;
+勝負 > shoubu\ ;
+原生 > gensei\ ;
+延長 > enchou\ ;
+金泥 > kondei\ ;
+知遇 > chiguu\ ;
+歌集 > kashuu\ ;
+池畔 > chihan\ ;
+卦算 > keisan\ ;
+黒奴 > kokudo\ ;
+急火 > kyuuka\ ;
+神技 > shingi\ ;
+銀坑 > ginkou\ ;
+法曹 > housou\ ;
+同村 > douson\ ;
+厚生 > kousei\ ;
+名札 > nafuda\ ;
+悪性 > akusei\ ;
+単純 > tanjun\ ;
+名望 > meibou\ ;
+勧説 > kanzei\ ;
+向暑 > kousho\ ;
+蘊奥 > un''nou\ ;
+快眠 > kaimin\ ;
+悪念 > akunen\ ;
+半纏 > hanten\ ;
+御者 > gyosha\ ;
+水稲 > suitou\ ;
+同朋 > doubou\ ;
+合板 > gouban\ ;
+同書 > dousho\ ;
+金気 > kanake\ ;
+秘匿 > hitoku\ ;
+感冒 > kanbou\ ;
+福寿 > fukuju\ ;
+怪漢 > kaikan\ ;
+鉄工 > tekkou\ ;
+合本 > gappon\ ;
+遭難 > sounan\ ;
+重水 > juusui\ ;
+水禽 > suikin\ ;
+感光 > kankou\ ;
+虚伝 > kyoden\ ;
+合服 > aifuku\ ;
+悠悠 > yuuyuu\ ;
+南米 > nanbei\ ;
+鶏群 > keigun\ ;
+配管 > haikan\ ;
+哀傷 > aishou\ ;
+受注 > juchuu\ ;
+労連 > rouren\ ;
+勦討 > soutou\ ;
+厳然 > genzen\ ;
+鉗子 > kanshi\ ;
+単簡 > tankan\ ;
+蔵版 > zouhan\ ;
+水神 > suijin\ ;
+悪弊 > akuhei\ ;
+創面 > soumen\ ;
+労農 > rounou\ ;
+復縁 > fukuen\ ;
+神意 > shin''i\ ;
+黽勉 > binben\ ;
+意力 > iryoku\ ;
+当行 > toukou\ ;
+禅尼 > zen''ni\ ;
+祝意 > shukui\ ;
+法文 > houbun\ ;
+加重 > kachou\ ;
+同断 > doudan\ ;
+取水 > shusui\ ;
+浄域 > jouiki\ ;
+名文 > meibun\ ;
+半紙 > hanshi\ ;
+弔辞 > chouji\ ;
+鉱坑 > koukou\ ;
+名数 > meisuu\ ;
+酒税 > shuzei\ ;
+同文 > doubun\ ;
+勝訴 > shouso\ ;
+原状 > genjou\ ;
+海内 > kaidai\ ;
+同数 > dousuu\ ;
+海兵 > kaihei\ ;
+従者 > juusha\ ;
+包蔵 > houzou\ ;
+徽章 > kishou\ ;
+毛茸 > moujou\ ;
+禅定 > zenjou\ ;
+合方 > aikata\ ;
+黒地 > kuroji\ ;
+沈渣 > chinsa\ ;
+後肢 > koushi\ ;
+黒土 > kokudo\ ;
+原版 > genpan\ ;
+薄板 > usuita\ ;
+短資 > tanshi\ ;
+金権 > kinken\ ;
+南端 > nantan\ ;
+強請 > gousei\ ;
+強談 > goudan\ ;
+銘刀 > meitou\ ;
+悔恨 > kaikon\ ;
+遠隔 > enkaku\ ;
+決潰 > kekkai\ ;
+薦挙 > senkyo\ ;
+黄塵 > koujin\ ;
+動詞 > doushi\ ;
+秀句 > shuuku\ ;
+釣果 > chouka\ ;
+古楽 > kogaku\ ;
+司書 > shisho\ ;
+後者 > kousha\ ;
+北航 > hokkou\ ;
+鈍才 > donsai\ ;
+吸引 > kyuuin\ ;
+廃頽 > haitai\ ;
+藻塩 > moshio\ ;
+銃口 > juukou\ ;
+強記 > kyouki\ ;
+急派 > kyuuha\ ;
+創開 > soukai\ ;
+反毛 > hanmou\ ;
+薄暮 > hakubo\ ;
+矩象 > kushou\ ;
+水着 > mizugi\ ;
+満々 > manman\ ;
+碑石 > hiseki\ ;
+愚作 > gusaku\ ;
+加速 > kasoku\ ;
+後置 > kouchi\ ;
+汚物 > obutsu\ ;
+史書 > shisho\ ;
+洪大 > koudai\ ;
+台本 > daihon\ ;
+鶏糞 > keifun\ ;
+水盤 > suiban\ ;
+包莖 > houkei\ ;
+咆哮 > houkou\ ;
+礼拝 > reihai\ ;
+微笑 > bishou\ ;
+剥離 > hakuri\ ;
+選鉱 > senkou\ ;
+原点 > genten\ ;
+蒐荷 > shuuka\ ;
+千篇 > senpen\ ;
+古格 > kokaku\ ;
+決済 > kessai\ ;
+卑称 > hishou\ ;
+鈍感 > donkan\ ;
+包茎 > houkei\ ;
+毛脛 > kezune\ ;
+毛脚 > keashi\ ;
+鳳輦 > houren\ ;
+労資 > roushi\ ;
+怪死 > kaishi\ ;
+砲艦 > houkan\ ;
+私刑 > shikei\ ;
+酔眼 > suigan\ ;
+幼齢 > yourei\ ;
+廻送 > kaisou\ ;
+建造 > kenzou\ ;
+刺魚 > togeuo\ ;
+部落 > buraku\ ;
+号数 > gousuu\ ;
+銃創 > juusou\ ;
+祖廟 > sobyou\ ;
+卵生 > ransei\ ;
+銃剣 > juuken\ ;
+参殿 > sanden\ ;
+引責 > inseki\ ;
+藩士 > hanshi\ ;
+水痘 > suitou\ ;
+金柑 > kinkan\ ;
+短詩 > tanshi\ ;
+恒星 > kousei\ ;
+情報 > jouhou\ ;
+麗容 > reiyou\ ;
+鄭箋 > teisen\ ;
+水疱 > suihou\ ;
+叢林 > sourin\ ;
+右文 > yuubun\ ;
+銃刑 > juukei\ ;
+郵船 > yuusen\ ;
+名手 > meishu\ ;
+後編 > kouhen\ ;
+私兵 > shihei\ ;
+名所 > meisho\ ;
+邂逅 > kaikou\ ;
+古木 > koboku\ ;
+金杯 > kinpai\ ;
+知謀 > chibou\ ;
+私党 > shitou\ ;
+同所 > dousho\ ;
+同房 > doubou\ ;
+君恩 > kun''on\ ;
+合抱 > gouhou\ ;
+想到 > soutou\ ;
+原潜 > gensen\ ;
+醤油 > shouyu\ ;
+微禄 > biroku\ ;
+碁石 > goishi\ ;
+後継 > koukei\ ;
+泰平 > taihei\ ;
+台数 > daisuu\ ;
+水田 > suiden\ ;
+海上 > kaijou\ ;
+水産 > suisan\ ;
+年齢 > nenrei\ ;
+水生 > suisei\ ;
+遼遠 > ryouen\ ;
+底魚 > sokouo\ ;
+恒数 > kousuu\ ;
+秘中 > hichuu\ ;
+前項 > zenkou\ ;
+叢書 > sousho\ ;
+殺菌 > sakkin\ ;
+廻転 > kaiten\ ;
+欠陥 > kekkan\ ;
+銘仙 > meisen\ ;
+短見 > tanken\ ;
+呼吸 > kokyuu\ ;
+弱行 > jakkou\ ;
+命名 > meimei\ ;
+禅堂 > zendou\ ;
+合戦 > kassen\ ;
+呼名 > yobina\ ;
+歓送 > kansou\ ;
+合成 > gousei\ ;
+決水 > kessui\ ;
+同憂 > douyuu\ ;
+銅像 > douzou\ ;
+同慶 > doukei\ ;
+単眼 > tangan\ ;
+歓迎 > kangei\ ;
+重曹 > juusou\ ;
+前面 > zenmen\ ;
+古昔 > koseki\ ;
+蒸籠 > seirou\ ;
+比翼 > hiyoku\ ;
+合憲 > gouken\ ;
+単相 > tansou\ ;
+鉄塔 > tettou\ ;
+同感 > doukan\ ;
+浪人 > rounin\ ;
+剔除 > tekijo\ ;
+合憎 > ainiku\ ;
+没書 > bossho\ ;
+次長 > jichou\ ;
+鷹派 > takaha\ ;
+悪妻 > akusai\ ;
+麗姿 > reishi\ ;
+前電 > zenden\ ;
+知見 > chiken\ ;
+決死 > kesshi\ ;
+想像 > souzou\ ;
+取材 > shuzai\ ;
+同情 > doujou\ ;
+制馭 > seigyo\ ;
+向性 > kousei\ ;
+蘭人 > ranjin\ ;
+殿舎 > densha\ ;
+菌類 > kinrui\ ;
+神宮 > jinguu\ ;
+悲境 > hikyou\ ;
+厳正 > gensei\ ;
+落語 > rakugo\ ;
+黄吻 > koufun\ ;
+重星 > juusei\ ;
+口数 > kousuu\ ;
+卵状 > ranjou\ ;
+正賓 > seihin\ ;
+引証 > inshou\ ;
+悪天 > akuten\ ;
+後篇 > kouhen\ ;
+黄口 > koukou\ ;
+同性 > dousei\ ;
+悪声 > akusei\ ;
+泰山 > taizan\ ;
+遭遇 > souguu\ ;
+重文 > juubun\ ;
+削除 > sakujo\ ;
+半睡 > hansui\ ;
+同志 > doushi\ ;
+吾妹 > wagimo\ ;
+半眼 > hangan\ ;
+合性 > aishou\ ;
+私人 > shijin\ ;
+右折 > usetsu\ ;
+祭壇 > saidan\ ;
+原油 > gen''yu\ ;
+歳計 > saikei\ ;
+性根 > shoune\ ;
+葛藤 > kattou\ ;
+半盲 > hanmou\ ;
+後端 > koutan\ ;
+浄写 > jousha\ ;
+同形 > doukei\ ;
+前門 > zenmon\ ;
+悪場 > waruba\ ;
+悪報 > akuhou\ ;
+法廷 > houtei\ ;
+右手 > migite\ ;
+双書 > sousho\ ;
+心理 > shinri\ ;
+友朋 > yuuhou\ ;
+快漢 > kaikan\ ;
+升目 > masume\ ;
+礼帽 > reibou\ ;
+出鼻 > debana\ ;
+叉木 > matagi\ ;
+歩調 > hochou\ ;
+店頭 > tentou\ ;
+祭場 > saijou\ ;
+幽魂 > yuukon\ ;
+神威 > shin''i\ ;
+又木 > matagi\ ;
+幼魚 > yougyo\ ;
+刺青 > shisei\ ;
+原民 > genmin\ ;
+創造 > souzou\ ;
+恰度 > choudo\ ;
+吹奏 > suisou\ ;
+名店 > meiten\ ;
+券面 > kenmen\ ;
+原毛 > genmou\ ;
+銃丸 > juugan\ ;
+干鱈 > hidara\ ;
+同店 > douten\ ;
+可成 > kanari\ ;
+到頭 > toutou\ ;
+合弁 > gouben\ ;
+法師 > houshi\ ;
+弁論 > benron\ ;
+反映 > han''ei\ ;
+同年 > dounen\ ;
+法帖 > houjou\ ;
+流儀 > ryuugi\ ;
+正論 > seiron\ ;
+情史 > joushi\ ;
+活写 > kassha\ ;
+水煮 > mizuni\ ;
+励行 > reikou\ ;
+惇厚 > tonkou\ ;
+座長 > zachou\ ;
+恐懼 > kyouku\ ;
+別館 > bekkan\ ;
+毒素 > dokuso\ ;
+名工 > meikou\ ;
+同市 > doushi\ ;
+氾濫 > hanran\ ;
+底面 > teimen\ ;
+双方 > souhou\ ;
+半畳 > hanjou\ ;
+破約 > hayaku\ ;
+彼等 > karera\ ;
+過量 > karyou\ ;
+厘毛 > rinmou\ ;
+反数 > hansuu\ ;
+民生 > minsei\ ;
+毛管 > moukan\ ;
+半生 > hansei\ ;
+正訓 > seikun\ ;
+反攻 > hankou\ ;
+去来 > kyorai\ ;
+弁解 > benkai\ ;
+運針 > unshin\ ;
+過酷 > kakoku\ ;
+古手 > furute\ ;
+正解 > seikai\ ;
+制限 > seigen\ ;
+毛筋 > kesuji\ ;
+社屋 > shaoku\ ;
+気球 > kikyuu\ ;
+可惜 > attara\ ;
+連隊 > rentai\ ;
+遊金 > yuukin\ ;
+口才 > kousai\ ;
+醇正 > junsei\ ;
+情勢 > jousei\ ;
+幽香 > yuukou\ ;
+金扇 > kinsen\ ;
+正視 > seishi\ ;
+君子 > kunshi\ ;
+止観 > shikan\ ;
+利鞘 > rizaya\ ;
+別項 > bekkou\ ;
+正西 > seisei\ ;
+福利 > fukuri\ ;
+遅鈍 > chidon\ ;
+取捨 > shusha\ ;
+剣道 > kendou\ ;
+怨敵 > onteki\ ;
+循環 > junkan\ ;
+建言 > kengen\ ;
+恋愛 > ren''ai\ ;
+欠配 > keppai\ ;
+鵬程 > houtei\ ;
+蕃書 > bansho\ ;
+恒性 > kousei\ ;
+廻覧 > kairan\ ;
+命令 > meirei\ ;
+名山 > meizan\ ;
+真鴨 > magamo\ ;
+連関 > renkan\ ;
+向寒 > koukan\ ;
+汀渚 > teisho\ ;
+恋情 > renjou\ ;
+歓談 > kandan\ ;
+恐怖 > kyoufu\ ;
+正装 > seisou\ ;
+参政 > sansei\ ;
+同居 > doukyo\ ;
+初頭 > shotou\ ;
+遅配 > chihai\ ;
+廃退 > haitai\ ;
+汁液 > juueki\ ;
+通院 > tsuuin\ ;
+恵存 > keizon\ ;
+薄幸 > hakkou\ ;
+同封 > doufuu\ ;
+台形 > daikei\ ;
+法定 > houtei\ ;
+法官 > houkan\ ;
+恋恋 > renren\ ;
+石英 > sekiei\ ;
+彩管 > saikan\ ;
+遠足 > ensoku\ ;
+区画 > kukaku\ ;
+厳暑 > gensho\ ;
+次週 > jishuu\ ;
+前金 > maekin\ ;
+重態 > juutai\ ;
+死蔵 > shizou\ ;
+治平 > chihei\ ;
+洋品 > youhin\ ;
+同定 > doutei\ ;
+名字 > myouji\ ;
+剥身 > mukimi\ ;
+水準 > suijun\ ;
+水源 > suigen\ ;
+禁制 > kinsei\ ;
+送風 > soufuu\ ;
+遺言 > yuigon\ ;
+息子 > musuko\ ;
+恩寵 > onchou\ ;
+遅遅 > chichi\ ;
+悪名 > akumei\ ;
+蔵本 > zouhon\ ;
+厳旨 > genshi\ ;
+原案 > gen''an\ ;
+重患 > juukan\ ;
+反抗 > hankou\ ;
+祖国 > sokoku\ ;
+廃車 > haisha\ ;
+蔵書 > zousho\ ;
+悪友 > akuyuu\ ;
+酔漢 > suikan\ ;
+重恩 > chouon\ ;
+年頭 > nentou\ ;
+河床 > kashou\ ;
+洗剤 > senzai\ ;
+幽霊 > yuurei\ ;
+祭司 > saishi\ ;
+勘考 > kankou\ ;
+恒常 > koujou\ ;
+悲劇 > higeki\ ;
+座金 > zagane\ ;
+禅僧 > zensou\ ;
+口径 > koukei\ ;
+双手 > morote\ ;
+石膏 > sekkou\ ;
+短艇 > tantei\ ;
+水涯 > suigai\ ;
+反戦 > hansen\ ;
+刎頸 > funkei\ ;
+度量 > doryou\ ;
+蒼生 > sousei\ ;
+分館 > bunkan\ ;
+分餐 > bunsan\ ;
+遊軍 > yuugun\ ;
+原板 > genpan\ ;
+郵税 > yuuzei\ ;
+野心 > yashin\ ;
+勃興 > bokkou\ ;
+化石 > kaseki\ ;
+社外 > shagai\ ;
+怯懦 > kyouda\ ;
+口弁 > kouben\ ;
+古廟 > kobyou\ ;
+当籤 > tousen\ ;
+広間 > hiroma\ ;
+原本 > genpon\ ;
+水洗 > suisen\ ;
+氷河 > hyouga\ ;
+醸成 > jousei\ ;
+参拝 > sanpai\ ;
+平面 > heimen\ ;
+平静 > heisei\ ;
+同姓 > dousei\ ;
+藉口 > shakou\ ;
+原書 > gensho\ ;
+含嗽 > gansou\ ;
+水泡 > suihou\ ;
+吻合 > fungou\ ;
+郷社 > gousha\ ;
+送電 > souden\ ;
+分類 > bunrui\ ;
+治山 > chisan\ ;
+後生 > goshou\ ;
+恰好 > kakkou\ ;
+加薬 > kayaku\ ;
+快楽 > keraku\ ;
+反感 > hankan\ ;
+同好 > doukou\ ;
+薬園 > yakuen\ ;
+藩侯 > hankou\ ;
+息女 > sokujo\ ;
+法外 > hougai\ ;
+鉄傘 > tessan\ ;
+江村 > kouson\ ;
+念校 > nenkou\ ;
+単漢 > tankan\ ;
+磁束 > jisoku\ ;
+名大 > meidai\ ;
+幽閑 > yuukan\ ;
+幽閉 > yuuhei\ ;
+忍法 > ninpou\ ;
+幽門 > yuumon\ ;
+参戦 > sansen\ ;
+同大 > doudai\ ;
+勲等 > kuntou\ ;
+役目 > yakume\ ;
+情人 > jounin\ ;
+著者 > chosha\ ;
+瞥見 > bekken\ ;
+名声 > meisei\ ;
+情交 > joukou\ ;
+古巣 > furusu\ ;
+名士 > meishi\ ;
+遵行 > junkou\ ;
+退陣 > taijin\ ;
+剣豪 > kengou\ ;
+水気 > mizuke\ ;
+同士 > doushi\ ;
+年限 > nengen\ ;
+友情 > yuujou\ ;
+沢庵 > takuan\ ;
+過賞 > kashou\ ;
+毒矢 > dokuya\ ;
+厳探 > gentan\ ;
+合奏 > gassou\ ;
+悲傷 > hishou\ ;
+金工 > kinkou\ ;
+毛皮 > kegawa\ ;
+南溟 > nanmei\ ;
+葉腋 > youeki\ ;
+前軍 > zengun\ ;
+勇者 > yuusha\ ;
+前車 > zensha\ ;
+水母 > kurage\ ;
+目鼻 > mehana\ ;
+都督 > totoku\ ;
+南満 > nanman\ ;
+悪党 > akutou\ ;
+史官 > shikan\ ;
+運賃 > unchin\ ;
+性感 > seikan\ ;
+水死 > suishi\ ;
+原文 > genbun\ ;
+遊資 > yuushi\ ;
+麦価 > bakuka\ ;
+重工 > juukou\ ;
+知能 > chinou\ ;
+創見 > souken\ ;
+祭典 > saiten\ ;
+動線 > dousen\ ;
+念書 > nensho\ ;
+年間 > nenkan\ ;
+必治 > hitchi\ ;
+禁令 > kinrei\ ;
+歯茎 > haguki\ ;
+性情 > seijou\ ;
+悪僧 > akusou\ ;
+従犯 > juuhan\ ;
+神化 > shinka\ ;
+藩主 > hanshu\ ;
+占法 > senpou\ ;
+知育 > chiiku\ ;
+社団 > shadan\ ;
+効能 > kounou\ ;
+分際 > bunzai\ ;
+遁走 > tonsou\ ;
+萵苣 > chisha\ ;
+吉報 > kippou\ ;
+分隊 > buntai\ ;
+反影 > han''ei\ ;
+怠慢 > taiman\ ;
+破目 > wareme\ ;
+造酒 > zoushu\ ;
+創製 > sousei\ ;
+分院 > bun''in\ ;
+神助 > shinjo\ ;
+分限 > bungen\ ;
+南海 > nankai\ ;
+同型 > doukei\ ;
+思慮 > shiryo\ ;
+決戦 > kessen\ ;
+連邦 > renpou\ ;
+凱風 > gaifuu\ ;
+怨念 > on''nen\ ;
+化生 > keshou\ ;
+金山 > kinzan\ ;
+知者 > chisha\ ;
+否否 > iyaiya\ ;
+厳戒 > genkai\ ;
+凶音 > kyouin\ ;
+心気 > shinki\ ;
+悟入 > gonyuu\ ;
+同地 > douchi\ ;
+硝煙 > shouen\ ;
+配水 > haisui\ ;
+逸足 > issoku\ ;
+思想 > shisou\ ;
+砥石 > toishi\ ;
+切開 > sekkai\ ;
+年鑑 > nenkan\ ;
+必死 > hisshi\ ;
+古家 > furuie\ ;
+当社 > tousha\ ;
+落胤 > rakuin\ ;
+薬味 > yakumi\ ;
+水槽 > suisou\ ;
+郎等 > roudou\ ;
+重層 > juusou\ ;
+前賢 > zenken\ ;
+眼鏡 > megane\ ;
+真面 > matomo\ ;
+悪例 > akurei\ ;
+口宣 > kousen\ ;
+矢羽 > yabane\ ;
+真青 > massao\ ;
+半減 > hangen\ ;
+気流 > kiryuu\ ;
+進路 > shinro\ ;
+古学 > kogaku\ ;
+号外 > gougai\ ;
+蒼然 > souzen\ ;
+欠講 > kekkou\ ;
+蕩尽 > toujin\ ;
+反帝 > hantei\ ;
+死者 > shisha\ ;
+快晴 > kaisei\ ;
+達観 > takkan\ ;
+出際 > degiwa\ ;
+収差 > shuusa\ ;
+形相 > keisou\ ;
+決意 > ketsui\ ;
+底辺 > teihen\ ;
+道観 > doukan\ ;
+君命 > kunmei\ ;
+達見 > takken\ ;
+野宿 > nojuku\ ;
+遊説 > yuuzei\ ;
+短編 > tanpen\ ;
+剪裁 > sensai\ ;
+葛粉 > kuzuko\ ;
+悪令 > akurei\ ;
+通過 > tsuuka\ ;
+思念 > shinen\ ;
+通運 > tsuuun\ ;
+薄塩 > usujio\ ;
+真際 > magiwa\ ;
+各回 > kakkai\ ;
+悪人 > akunin\ ;
+死罪 > shizai\ ;
+連載 > rensai\ ;
+祝儀 > shuugi\ ;
+水棲 > suisei\ ;
+武臣 > bushin\ ;
+別邸 > bettei\ ;
+快方 > kaihou\ ;
+波及 > hakyuu\ ;
+這這 > houhou\ ;
+原拠 > genkyo\ ;
+薨去 > koukyo\ ;
+弩級 > dokyuu\ ;
+毛玉 > kedama\ ;
+麗人 > reijin\ ;
+里子 > satogo\ ;
+社命 > shamei\ ;
+心機 > shinki\ ;
+歯肉 > haniku\ ;
+荷鞍 > nigura\ ;
+石粉 > ishiko\ ;
+悩乱 > nouran\ ;
+民法 > minpou\ ;
+酸敗 > sanpai\ ;
+厄日 > yakubi\ ;
+呈上 > teijou\ ;
+南欧 > nan''ou\ ;
+金婚 > kinkon\ ;
+遊覧 > yuuran\ ;
+清々 > seisei\ ;
+廻船 > kaisen\ ;
+匍球 > hokyuu\ ;
+遮蔽 > shahei\ ;
+社名 > shamei\ ;
+薬効 > yakkou\ ;
+葬祭 > sousai\ ;
+思弁 > shiben\ ;
+別送 > bessou\ ;
+社史 > shashi\ ;
+祭主 > saishu\ ;
+洋上 > youjou\ ;
+水栓 > suisen\ ;
+華表 > kahyou\ ;
+名品 > meihin\ ;
+葬礼 > sourei\ ;
+逓送 > teisou\ ;
+社友 > shayuu\ ;
+郡県 > gunken\ ;
+重婚 > juukon\ ;
+弛緩 > chikan\ ;
+志望 > shibou\ ;
+送金 > soukin\ ;
+厚手 > atsude\ ;
+幕間 > makuai\ ;
+年金 > nenkin\ ;
+反射 > hansha\ ;
+反対 > hantai\ ;
+氷期 > hyouki\ ;
+悟了 > goryou\ ;
+忿懣 > funman\ ;
+法号 > hougou\ ;
+劣者 > ressha\ ;
+死線 > shisen\ ;
+双射 > sousha\ ;
+名吟 > meigin\ ;
+双対 > soutai\ ;
+名君 > meikun\ ;
+目高 > medaka\ ;
+返電 > henden\ ;
+幽邃 > yuusui\ ;
+鈍刀 > dontou\ ;
+破獄 > hagoku\ ;
+口外 > kougai\ ;
+油圧 > yuatsu\ ;
+凌駕 > ryouga\ ;
+同名 > doumei\ ;
+短篇 > tanpen\ ;
+卯月 > udzuki\ ;
+水木 > mizuki\ ;
+半死 > hanshi\ ;
+砂礫 > sareki\ ;
+次表 > jihyou\ ;
+怒張 > dochou\ ;
+各員 > kakuin\ ;
+年配 > nenpai\ ;
+前言 > zengen\ ;
+硬水 > kousui\ ;
+神代 > jindai\ ;
+遊行 > yuukou\ ;
+古墨 > koboku\ ;
+台地 > daichi\ ;
+分銅 > fundou\ ;
+逸話 > itsuwa\ ;
+草魚 > sougyo\ ;
+即時 > sokuji\ ;
+水曜 > suiyou\ ;
+重奏 > juusou\ ;
+弁者 > bensha\ ;
+通路 > tsuuro\ ;
+蓮根 > renkon\ ;
+庭訓 > teikin\ ;
+双子 > futago\ ;
+合同 > goudou\ ;
+重大 > juudai\ ;
+近隣 > kinrin\ ;
+神事 > shinji\ ;
+凍餒 > toudai\ ;
+重変 > juuhen\ ;
+毒牙 > dokuga\ ;
+忌服 > kifuku\ ;
+徒渉 > toshou\ ;
+功罪 > kouzai\ ;
+送還 > soukan\ ;
+荒馬 > arauma\ ;
+金塊 > kinkai\ ;
+快挙 > kaikyo\ ;
+分野 > bun''ya\ ;
+当番 > touban\ ;
+水星 > suisei\ ;
+厚情 > koujou\ ;
+酒杯 > shuhai\ ;
+水明 > suimei\ ;
+同勢 > douzei\ ;
+金堂 > kondou\ ;
+叮嚀 > teinei\ ;
+遂行 > suikou\ ;
+気楽 > kiraku\ ;
+蒼海 > soukai\ ;
+民権 > minken\ ;
+刃針 > habari\ ;
+当用 > touyou\ ;
+幇間 > houkan\ ;
+励精 > reisei\ ;
+参宮 > sanguu\ ;
+同労 > dourou\ ;
+金城 > kinjou\ ;
+別趣 > besshu\ ;
+前装 > zensou\ ;
+社内 > shanai\ ;
+分配 > bunpai\ ;
+法制 > housei\ ;
+遺脱 > idatsu\ ;
+瞽者 > kosha\ ;
+名前 > namae\ ;
+古址 > koshi\ ;
+帰順 > kijun\ ;
+座視 > zashi\ ;
+快打 > kaida\ ;
+送辞 > souji\ ;
+名利 > meiri\ ;
+眉間 > miken\ ;
+磁性 > jisei\ ;
+薬価 > yakka\ ;
+砲煙 > houen\ ;
+礼儀 > reigi\ ;
+法具 > hougu\ ;
+吏党 > ritou\ ;
+目顔 > megao\ ;
+碑文 > hibun\ ;
+連語 > rengo\ ;
+重囲 > choui\ ;
+沮喪 > sosou\ ;
+遺習 > ishuu\ ;
+選者 > senja\ ;
+歌聖 > kasei\ ;
+造語 > zougo\ ;
+砲火 > houka\ ;
+蒸気 > jouki\ ;
+怪奇 > kaiki\ ;
+連記 > renki\ ;
+重器 > juuki\ ;
+加糖 > katou\ ;
+恩典 > onten\ ;
+徒死 > toshi\ ;
+序論 > joron\ ;
+毅然 > kizen\ ;
+制覇 > seiha\ ;
+歎美 > tanbi\ ;
+退路 > tairo\ ;
+応手 > oushu\ ;
+速記 > sokki\ ;
+波乱 > haran\ ;
+応戦 > ousen\ ;
+連覇 > renpa\ ;
+怨声 > ensei\ ;
+油単 > yutan\ ;
+序詞 > joshi\ ;
+医業 > igyou\ ;
+序言 > jogen\ ;
+忘我 > bouga\ ;
+荷重 > kajuu\ ;
+区検 > kuken\ ;
+南斗 > nanto\ ;
+沽券 > koken\ ;
+半期 > hanki\ ;
+同価 > douka\ ;
+動画 > douga\ ;
+河南 > kanan\ ;
+薄刃 > usuba\ ;
+加算 > kasan\ ;
+年賦 > nenpu\ ;
+口味 > koumi\ ;
+迷路 > meiro\ ;
+油剤 > yuzai\ ;
+年賀 > nenga\ ;
+可動 > kadou\ ;
+年貢 > nengu\ ;
+御株 > okabu\ ;
+厨子 > zushi\ ;
+別記 > bekki\ ;
+古史 > koshi\ ;
+吏人 > rijin\ ;
+各個 > kakko\ ;
+邪知 > jachi\ ;
+古参 > kosan\ ;
+法事 > houji\ ;
+蕃夷 > ban''i\ ;
+重味 > omomi\ ;
+樹齢 > jurei\ ;
+千木 > chigi\ ;
+歯科 > shika\ ;
+恵与 > keiyo\ ;
+酸度 > sando\ ;
+励磁 > reiji\ ;
+剣舞 > kenbu\ ;
+法主 > hossu\ ;
+母港 > bokou\ ;
+野合 > yagou\ ;
+同事 > douji\ ;
+可分 > kabun\ ;
+野史 > yashi\ ;
+助祭 > josai\ ;
+半旗 > hanki\ ;
+各位 > kakui\ ;
+御札 > ofuda\ ;
+過般 > kahan\ ;
+分賦 > bunpu\ ;
+種々 > shuju\ ;
+忘恩 > bouon\ ;
+待機 > taiki\ ;
+恩人 > onjin\ ;
+年譜 > nenpu\ ;
+忌憚 > kitan\ ;
+運航 > unkou\ ;
+河内 > hanoi\ ;
+恨事 > konji\ ;
+性器 > seiki\ ;
+怒声 > dosei\ ;
+機首 > kishu\ ;
+列記 > rekki\ ;
+古制 > kosei\ ;
+反哺 > hanpo\ ;
+十日 > tooka\ ;
+御昼 > ohiru\ ;
+都民 > tomin\ ;
+看過 > kanka\ ;
+古刀 > kotou\ ;
+弥生 > yayoi\ ;
+送話 > souwa\ ;
+平語 > heigo\ ;
+毒気 > dokke\ ;
+矛盾 > mujun\ ;
+破水 > hasui\ ;
+金利 > kinri\ ;
+泉下 > senka\ ;
+返辞 > henji\ ;
+鵞毛 > gamou\ ;
+叙勲 > jokun\ ;
+沖合 > okiai\ ;
+鵝毛 > gamou\ ;
+古典 > koten\ ;
+鯨飲 > geiin\ ;
+重利 > juuri\ ;
+印影 > in''ei\ ;
+単打 > tanda\ ;
+御数 > okazu\ ;
+受動 > judou\ ;
+道義 > dougi\ ;
+後架 > kouka\ ;
+遠縁 > tooen\ ;
+分課 > bunka\ ;
+邦画 > houga\ ;
+野党 > yatou\ ;
+着衣 > yakui\ ;
+受刑 > jukei\ ;
+毎次 > maiji\ ;
+後期 > kouki\ ;
+蕩児 > touji\ ;
+油井 > yusei\ ;
+建碑 > kenpi\ ;
+冥闇 > meian\ ;
+布陣 > fujin\ ;
+荒野 > kouya\ ;
+治下 > chika\ ;
+辺鄙 > henpi\ ;
+酒徒 > shuto\ ;
+機雷 > kirai\ ;
+歌稿 > kakou\ ;
+弧状 > kojou\ ;
+遷移 > sen''i\ ;
+選科 > senka\ ;
+帰還 > kikan\ ;
+歯痛 > haita\ ;
+民戸 > minko\ ;
+加盟 > kamei\ ;
+菊花 > kikka\ ;
+古例 > korei\ ;
+台下 > daika\ ;
+刻苦 > kokku\ ;
+母権 > boken\ ;
+古体 > kotai\ ;
+往来 > ourai\ ;
+受像 > juzou\ ;
+句会 > kukai\ ;
+古伝 > koden\ ;
+応対 > outai\ ;
+危峰 > kihou\ ;
+殺気 > sakki\ ;
+助産 > josan\ ;
+常軌 > jouki\ ;
+帰農 > kinou\ ;
+古代 > kodai\ ;
+古今 > kokon\ ;
+古人 > kojin\ ;
+違約 > iyaku\ ;
+原図 > genzu\ ;
+十手 > jitte\ ;
+機関 > kikan\ ;
+民意 > min''i\ ;
+参加 > sanka\ ;
+冶金 > yakin\ ;
+石火 > sekka\ ;
+兵馬 > heiba\ ;
+御所 > gosho\ ;
+野人 > yajin\ ;
+弁疏 > benso\ ;
+原器 > genki\ ;
+造花 > zouka\ ;
+帝都 > teito\ ;
+英魂 > eikon\ ;
+里人 > rijin\ ;
+厭味 > iyami\ ;
+危害 > kigai\ ;
+店舗 > tenpo\ ;
+配布 > haifu\ ;
+段歩 > tanbu\ ;
+単座 > tanza\ ;
+叙任 > jonin\ ;
+欧米 > oubei\ ;
+弧灯 > kotou\ ;
+怒号 > dogou\ ;
+永存 > eizon\ ;
+工面 > kumen\ ;
+内需 > naiju\ ;
+受任 > junin\ ;
+母校 > bokou\ ;
+後援 > kouen\ ;
+県議 > kengi\ ;
+勤求 > gongu\ ;
+看護 > kango\ ;
+円陣 > enjin\ ;
+酸基 > sanki\ ;
+確固 > kakko\ ;
+帰趨 > kisuu\ ;
+帰趣 > kishu\ ;
+当機 > touki\ ;
+弁理 > benri\ ;
+母材 > bozai\ ;
+徒手 > toshu\ ;
+盛運 > seiun\ ;
+歯牙 > shiga\ ;
+民度 > mindo\ ;
+運算 > unzan\ ;
+応変 > ouhen\ ;
+酒家 > shuka\ ;
+弥漫 > biman\ ;
+酒宴 > shuen\ ;
+鮟鱇 > ankou\ ;
+轟音 > gouon\ ;
+御念 > gonen\ ;
+得意 > tokui\ ;
+機鋒 > kihou\ ;
+典雅 > tenga\ ;
+双互 > sougo\ ;
+勘気 > kanki\ ;
+毎時 > maiji\ ;
+辞退 > jitai\ ;
+原句 > genku\ ;
+遺留 > iryuu\ ;
+機銃 > kijuu\ ;
+都政 > tosei\ ;
+動気 > douki\ ;
+応報 > ouhou\ ;
+幼芽 > youga\ ;
+硬度 > koudo\ ;
+復帰 > fukki\ ;
+欺瞞 > giman\ ;
+遠矢 > tooya\ ;
+過程 > katei\ ;
+水夫 > suifu\ ;
+母斑 > bohan\ ;
+怜俐 > reiri\ ;
+市部 > shibu\ ;
+劫火 > gouka\ ;
+冥途 > meido\ ;
+参事 > sanji\ ;
+御幣 > gohei\ ;
+弾機 > danki\ ;
+遠眼 > engan\ ;
+破摧 > hasai\ ;
+近衛 > konoe\ ;
+短波 > tanpa\ ;
+遠目 > toome\ ;
+醇化 > junka\ ;
+判者 > hanja\ ;
+破損 > hason\ ;
+道破 > douha\ ;
+英霊 > eirei\ ;
+勇気 > yuuki\ ;
+当期 > touki\ ;
+動機 > douki\ ;
+気孔 > kikou\ ;
+加点 > katen\ ;
+酸味 > sanmi\ ;
+冠辞 > kanji\ ;
+英雄 > eiyuu\ ;
+快味 > kaimi\ ;
+危地 > kichi\ ;
+平臥 > heiga\ ;
+厚利 > kouri\ ;
+徒弟 > totei\ ;
+短気 > tanki\ ;
+民家 > minka\ ;
+化成 > kasei\ ;
+差金 > sakin\ ;
+横隊 > outai\ ;
+部数 > busuu\ ;
+広義 > kougi\ ;
+勇武 > yuubu\ ;
+先駆 > senku\ ;
+邪法 > jahou\ ;
+半季 > hanki\ ;
+忌垣 > igaki\ ;
+当時 > touji\ ;
+前科 > zenka\ ;
+氏子 > ujiko\ ;
+差配 > sahai\ ;
+短歌 > tanka\ ;
+監護 > kango\ ;
+内野 > naiya\ ;
+相補 > souho\ ;
+弦歌 > genka\ ;
+千家 > senke\ ;
+苦難 > kunan\ ;
+弘法 > guhou\ ;
+厭人 > enjin\ ;
+酸化 > sanka\ ;
+機転 > kiten\ ;
+破戒 > hakai\ ;
+毀損 > kison\ ;
+十字 > juuji\ ;
+差遣 > saken\ ;
+御宴 > gyoen\ ;
+勘査 > kansa\ ;
+矮樹 > waiju\ ;
+白雨 > hakuu\ ;
+厭世 > ensei\ ;
+御宅 > otaku\ ;
+内部 > naibu\ ;
+原価 > genka\ ;
+冷語 > reigo\ ;
+座禅 > zazen\ ;
+荷葉 > kayou\ ;
+苦闘 > kutou\ ;
+辞譲 > jijou\ ;
+医学 > igaku\ ;
+加減 > kagen\ ;
+座礼 > zarei\ ;
+酒器 > shuki\ ;
+左遷 > sasen\ ;
+登院 > touin\ ;
+華甲 > kakou\ ;
+先非 > senpi\ ;
+運痴 > unchi\ ;
+市費 > shihi\ ;
+往年 > ounen\ ;
+府税 > fuzei\ ;
+研摩 > kenma\ ;
+巡邏 > junra\ ;
+剣璽 > kenji\ ;
+免除 > menjo\ ;
+花魁 > oiran\ ;
+延滞 > entai\ ;
+左辺 > sahen\ ;
+微塵 > mijin\ ;
+部所 > busho\ ;
+匹婦 > hippu\ ;
+光陰 > kouin\ ;
+次男 > jinan\ ;
+加法 > kahou\ ;
+後尾 > koubi\ ;
+円転 > enten\ ;
+道理 > douri\ ;
+歳次 > saiji\ ;
+冗費 > jouhi\ ;
+別箇 > bekko\ ;
+茶話 > chawa\ ;
+母性 > bosei\ ;
+遅疑 > chigi\ ;
+気圏 > kiken\ ;
+巨躯 > kyoku\ ;
+市議 > shigi\ ;
+気団 > kidan\ ;
+応分 > oubun\ ;
+御大 > ontai\ ;
+加水 > kasui\ ;
+化工 > kakou\ ;
+毛布 > moufu\ ;
+再起 > saiki\ ;
+永劫 > eigou\ ;
+気嚢 > kinou\ ;
+水化 > suika\ ;
+途端 > totan\ ;
+都度 > tsudo\ ;
+母形 > bokei\ ;
+正気 > seiki\ ;
+匹夫 > hippu\ ;
+平素 > heiso\ ;
+花香 > kakou\ ;
+勿怪 > mokke\ ;
+写譜 > shafu\ ;
+確乎 > kakko\ ;
+短期 > tanki\ ;
+正比 > seihi\ ;
+彼岸 > higan\ ;
+印判 > inpan\ ;
+都市 > toshi\ ;
+毎度 > maido\ ;
+全都 > zento\ ;
+印刀 > intou\ ;
+全部 > zenbu\ ;
+水利 > suiri\ ;
+連破 > renpa\ ;
+彩度 > saido\ ;
+形影 > keiei\ ;
+別科 > bekka\ ;
+遠火 > toobi\ ;
+葉末 > hazue\ ;
+効果 > kouka\ ;
+快事 > kaiji\ ;
+府県 > fuken\ ;
+冗語 > jougo\ ;
+区域 > kuiki\ ;
+勾引 > kouin\ ;
+巨費 > kyohi\ ;
+御坊 > gobou\ ;
+矢来 > yarai\ ;
+化導 > kedou\ ;
+英邁 > eimai\ ;
+後妻 > gosai\ ;
+比島 > hitou\ ;
+単句 > tanku\ ;
+気品 > kihin\ ;
+再議 > saigi\ ;
+工費 > kouhi\ ;
+勝手 > katte\ ;
+死期 > shiki\ ;
+眼窩 > ganka\ ;
+布袋 > hotei\ ;
+艶麗 > enrei\ ;
+優雅 > yuuga\ ;
+毛孔 > keana\ ;
+破屋 > haoku\ ;
+勤惰 > kinda\ ;
+内議 > naigi\ ;
+轗軻 > kanka\ ;
+歔欷 > kyoki\ ;
+輸銀 > yugin\ ;
+全躯 > zenku\ ;
+平穏 > heion\ ;
+即位 > sokui\ ;
+帰艦 > kikan\ ;
+序盤 > joban\ ;
+近習 > kinju\ ;
+模造 > mozou\ ;
+母屋 > omoya\ ;
+魑魅 > chimi\ ;
+永住 > eijuu\ ;
+眼科 > ganka\ ;
+目茶 > mecha\ ;
+公路 > kouro\ ;
+切符 > kippu\ ;
+帰航 > kikou\ ;
+横転 > outen\ ;
+年租 > nenso\ ;
+軍鼓 > gunko\ ;
+半可 > hanka\ ;
+半句 > hanku\ ;
+選歌 > senka\ ;
+単利 > tanri\ ;
+徳化 > tokka\ ;
+利益 > rieki\ ;
+次点 > jiten\ ;
+当座 > touza\ ;
+従因 > juuin\ ;
+永代 > eitai\ ;
+気勢 > kisei\ ;
+歯朶 > shida\ ;
+歳暮 > seibo\ ;
+母家 > omoya\ ;
+彼奴 > aitsu\ ;
+気功 > kikou\ ;
+復古 > fukko\ ;
+目色 > meiro\ ;
+凄艶 > seien\ ;
+母子 > boshi\ ;
+遠海 > enkai\ ;
+気前 > kimae\ ;
+千古 > senko\ ;
+冷菓 > reika\ ;
+引数 > insuu\ ;
+匪団 > hidan\ ;
+配備 > haibi\ ;
+微動 > bidou\ ;
+永世 > eisei\ ;
+段差 > dansa\ ;
+役夫 > ekifu\ ;
+気分 > kibun\ ;
+酒保 > shuho\ ;
+公費 > kouhi\ ;
+強意 > kyoui\ ;
+内規 > naiki\ ;
+遠泳 > en''ei\ ;
+草花 > souka\ ;
+分科 > bunka\ ;
+酔余 > suiyo\ ;
+動悸 > douki\ ;
+蒲団 > futon\ ;
+御台 > midai\ ;
+軍鶏 > shamo\ ;
+連理 > renri\ ;
+邪推 > jasui\ ;
+民利 > minri\ ;
+遺業 > igyou\ ;
+運漕 > unsou\ ;
+硬化 > kouka\ ;
+連珠 > renju\ ;
+利用 > riyou\ ;
+微分 > bibun\ ;
+短打 > tanda\ ;
+午前 > gozen\ ;
+英資 > eishi\ ;
+内裏 > dairi\ ;
+輸送 > yusou\ ;
+先途 > sendo\ ;
+兵語 > heigo\ ;
+助攻 > jokou\ ;
+殿宇 > den''u\ ;
+芟除 > sanjo\ ;
+切磋 > sessa\ ;
+民具 > mingu\ ;
+公議 > kougi\ ;
+鵄尾 > shibi\ ;
+医博 > ihaku\ ;
+茶菓 > chaka\ ;
+微光 > bikou\ ;
+単価 > tanka\ ;
+配付 > haifu\ ;
+歩数 > hosuu\ ;
+破壊 > hakai\ ;
+毎夜 > maiyo\ ;
+武断 > budan\ ;
+単位 > tan''i\ ;
+光輝 > kouki\ ;
+気候 > kikou\ ;
+兼補 > kenpo\ ;
+加数 > kasuu\ ;
+御前 > gozen\ ;
+公課 > kouka\ ;
+当家 > touke\ ;
+強引 > gouin\ ;
+徒名 > adana\ ;
+御凸 > odeko\ ;
+当字 > ateji\ ;
+配下 > haika\ ;
+公訴 > kouso\ ;
+平癒 > heiyu\ ;
+発起 > hokki\ ;
+選果 > senka\ ;
+気体 > kitai\ ;
+邪慳 > jaken\ ;
+区分 > kubun\ ;
+華氏 > kashi\ ;
+避暑 > hisho\ ;
+遊泳 > yuuei\ ;
+区処 > kusho\ ;
+母堂 > bodou\ ;
+御免 > gomen\ ;
+御先 > osaki\ ;
+冬至 > touji\ ;
+茶舗 > chaho\ ;
+英詩 > eishi\ ;
+勇往 > yuuou\ ;
+弓手 > yunde\ ;
+半価 > hanka\ ;
+南下 > nanka\ ;
+区内 > kunai\ ;
+色香 > iroka\ ;
+徒労 > torou\ ;
+母型 > bokei\ ;
+道歌 > douka\ ;
+党議 > tougi\ ;
+邪悪 > jaaku\ ;
+年甫 > nenpo\ ;
+部外 > bugai\ ;
+歌書 > kasho\ ;
+剛気 > gouki\ ;
+弧形 > kokei\ ;
+勢家 > seika\ ;
+劃期 > kakki\ ;
+砂岩 > sagan\ ;
+邪恋 > jaren\ ;
+帰納 > kinou\ ;
+弔慰 > choui\ ;
+気丈 > kijou\ ;
+剛毅 > gouki\ ;
+復位 > fukui\ ;
+徒刑 > tokei\ ;
+目線 > mesen\ ;
+萌木 > moegi\ ;
+冷罵 > reiba\ ;
+民事 > minji\ ;
+矩形 > kukei\ ;
+遺族 > izoku\ ;
+毛唐 > ketou\ ;
+全裸 > zenra\ ;
+邪念 > janen\ ;
+助成 > josei\ ;
+軍馬 > gunba\ ;
+弔意 > choui\ ;
+創案 > souan\ ;
+模試 > moshi\ ;
+遊歩 > yuuho\ ;
+凹眼 > ougan\ ;
+当夜 > touya\ ;
+車馬 > shaba\ ;
+加担 > katan\ ;
+鴨居 > kamoi\ ;
+御供 > otomo\ ;
+徒党 > totou\ ;
+円蓋 > engai\ ;
+千代 > chiyo\ ;
+兄貴 > aniki\ ;
+苦言 > kugen\ ;
+御伽 > otogi\ ;
+化合 > kagou\ ;
+利点 > riten\ ;
+鬼面 > kimen\ ;
+輿論 > yoron\ ;
+党規 > touki\ ;
+十五 > juugo\ ;
+死後 > shigo\ ;
+十二 > juuni\ ;
+横行 > oukou\ ;
+医伯 > ihaku\ ;
+御仁 > gojin\ ;
+後光 > gokou\ ;
+千世 > chiyo\ ;
+先議 > sengi\ ;
+区会 > kukai\ ;
+遠来 > enrai\ ;
+鴟尾 > shibi\ ;
+登記 > touki\ ;
+前歯 > maeba\ ;
+遠望 > enbou\ ;
+出番 > deban\ ;
+知己 > chiki\ ;
+励弧 > reiko\ ;
+後備 > koubi\ ;
+看破 > kanpa\ ;
+御上 > okami\ ;
+免訴 > menso\ ;
+役務 > ekimu\ ;
+機能 > kinou\ ;
+蒙古 > mouko\ ;
+冠者 > kanja\ ;
+廃棄 > haiki\ ;
+利潤 > rijun\ ;
+僧院 > souin\ ;
+軍靴 > gunka\ ;
+冤罪 > enzai\ ;
+遠景 > enkei\ ;
+内苑 > naien\ ;
+廃案 > haian\ ;
+母后 > bokou\ ;
+軍需 > gunju\ ;
+布置 > fuchi\ ;
+鬼門 > kimon\ ;
+儒道 > judou\ ;
+遠方 > enpou\ ;
+従事 > juuji\ ;
+債鬼 > saiki\ ;
+左舷 > sagen\ ;
+允許 > inkyo\ ;
+帰社 > kisha\ ;
+劣弧 > rekko\ ;
+部品 > buhin\ ;
+砂塵 > sajin\ ;
+剛果 > gouka\ ;
+初演 > shoen\ ;
+歩廊 > horou\ ;
+歌手 > kashu\ ;
+後事 > kouji\ ;
+勇婦 > yuufu\ ;
+歪度 > waido\ ;
+平炉 > heiro\ ;
+農科 > nouka\ ;
+次条 > jijou\ ;
+武弁 > buben\ ;
+軌間 > kikan\ ;
+都内 > tonai\ ;
+弟子 > deshi\ ;
+左脳 > sanou\ ;
+延性 > ensei\ ;
+邦家 > houka\ ;
+加年 > kanen\ ;
+近畿 > kinki\ ;
+弁座 > benza\ ;
+別派 > beppa\ ;
+正座 > seiza\ ;
+引導 > indou\ ;
+連歌 > renga\ ;
+魔道 > madou\ ;
+影像 > eizou\ ;
+巫者 > fusha\ ;
+邦字 > houji\ ;
+凹版 > ouban\ ;
+内耳 > naiji\ ;
+加工 > kakou\ ;
+勇夫 > yuufu\ ;
+欧文 > oubun\ ;
+当否 > touhi\ ;
+利水 > risui\ ;
+造次 > zouji\ ;
+六花 > rikka\ ;
+処理 > shori\ ;
+延引 > en''in\ ;
+睿智 > eichi\ ;
+八苦 > hakku\ ;
+比倫 > hirin\ ;
+帰省 > kisei\ ;
+過敏 > kabin\ ;
+序歯 > joshi\ ;
+延延 > en''en\ ;
+動因 > douin\ ;
+弊履 > heiri\ ;
+遺徳 > itoku\ ;
+破倫 > harin\ ;
+北京 > pekin\ ;
+砂嘴 > sashi\ ;
+前期 > zenki\ ;
+次数 > jisuu\ ;
+造機 > zouki\ ;
+比例 > hirei\ ;
+部分 > bubun\ ;
+平温 > heion\ ;
+再縁 > saien\ ;
+目眩 > memai\ ;
+樹脂 > jushi\ ;
+残基 > zanki\ ;
+逸書 > issho\ ;
+都会 > tokai\ ;
+欽慕 > kinbo\ ;
+部内 > bunai\ ;
+六腑 > roppu\ ;
+逓次 > teiji\ ;
+都人 > tojin\ ;
+運搬 > unpan\ ;
+前日 > maebi\ ;
+母体 > botai\ ;
+利権 > riken\ ;
+内縁 > naien\ ;
+遷座 > senza\ ;
+加害 > kagai\ ;
+遠慮 > enryo\ ;
+勧化 > kange\ ;
+勇図 > yuuto\ ;
+菩提 > bodai\ ;
+僧都 > souzu\ ;
+武官 > bukan\ ;
+初歩 > shoho\ ;
+石器 > sekki\ ;
+退治 > taiji\ ;
+動員 > douin\ ;
+菲才 > hisai\ ;
+勤務 > kinmu\ ;
+弥四 > yashi\ ;
+正字 > seiji\ ;
+巨細 > kosai\ ;
+運指 > unshi\ ;
+鳥居 > torii\ ;
+平気 > heiki\ ;
+連架 > renka\ ;
+分派 > bunpa\ ;
+軍部 > gunbu\ ;
+公義 > kougi\ ;
+出湯 > ideyu\ ;
+機種 > kishu\ ;
+度数 > dosuu\ ;
+遊技 > yuugi\ ;
+退歩 > taiho\ ;
+皇胤 > kouin\ ;
+邦土 > houdo\ ;
+避寒 > hikan\ ;
+部会 > bukai\ ;
+利根 > rikon\ ;
+崎陽 > kiyou\ ;
+年次 > nenji\ ;
+遊戯 > yuugi\ ;
+遠征 > ensei\ ;
+差等 > satou\ ;
+軌道 > kidou\ ;
+遺尿 > inyou\ ;
+死因 > shiin\ ;
+勲位 > kun''i\ ;
+葬具 > sougu\ ;
+円筒 > entou\ ;
+分母 > bunbo\ ;
+茶目 > chame\ ;
+店是 > tenze\ ;
+募兵 > bohei\ ;
+殿下 > denka\ ;
+欝憤 > uppun\ ;
+葬儀 > sougi\ ;
+違心 > ishin\ ;
+弱化 > jakka\ ;
+加増 > kazou\ ;
+遊惰 > yuuda\ ;
+募債 > bosai\ ;
+短句 > tanku\ ;
+当事 > touji\ ;
+過怠 > katai\ ;
+出汁 > dashi\ ;
+石化 > sekka\ ;
+監理 > kanri\ ;
+前戯 > zengi\ ;
+師父 > shifu\ ;
+正塩 > seien\ ;
+機知 > kichi\ ;
+庸愚 > yougu\ ;
+引喩 > in''yu\ ;
+帝王 > teiou\ ;
+避妊 > hinin\ ;
+内科 > naika\ ;
+逮捕 > taiho\ ;
+序文 > jobun\ ;
+過当 > katou\ ;
+軍路 > gunro\ ;
+序数 > josuu\ ;
+残務 > zanmu\ ;
+初期 > shoki\ ;
+遠島 > entou\ ;
+工科 > kouka\ ;
+身重 > miomo\ ;
+座所 > zasho\ ;
+内示 > naiji\ ;
+正坐 > seiza\ ;
+輪舞 > rinbu\ ;
+途方 > tohou\ ;
+儀装 > gisou\ ;
+幽暗 > yuuan\ ;
+英米 > eibei\ ;
+軍費 > gunpi\ ;
+魔街 > magai\ ;
+転訛 > tenka\ ;
+転記 > tenki\ ;
+凱歌 > gaika\ ;
+次年 > jinen\ ;
+遺墨 > iboku\ ;
+皇紀 > kouki\ ;
+遅延 > chien\ ;
+幼時 > youji\ ;
+盆画 > bonga\ ;
+刑期 > keiki\ ;
+年期 > nenki\ ;
+動作 > dousa\ ;
+出様 > deyou\ ;
+芸苑 > geien\ ;
+弧光 > kokou\ ;
+歌壇 > kadan\ ;
+兵科 > heika\ ;
+助命 > jomei\ ;
+高雅 > kouga\ ;
+常温 > jouon\ ;
+党紀 > touki\ ;
+前後 > zengo\ ;
+兵禍 > heika\ ;
+機甲 > kikou\ ;
+武問 > bumon\ ;
+労務 > roumu\ ;
+差益 > saeki\ ;
+連打 > renda\ ;
+優艶 > yuuen\ ;
+庶幾 > shoki\ ;
+花茎 > kakei\ ;
+砂上 > sajou\ ;
+軍議 > gungi\ ;
+転補 > tenpo\ ;
+平時 > heiji\ ;
+円盤 > enban\ ;
+偽電 > giden\ ;
+皮相 > hisou\ ;
+帰港 > kikou\ ;
+返歌 > henka\ ;
+前座 > zenza\ ;
+公租 > kouso\ ;
+痩躯 > souku\ ;
+分木 > bungi\ ;
+正員 > seiin\ ;
+内皮 > naihi\ ;
+道家 > douka\ ;
+模範 > mohan\ ;
+芽胞 > gahou\ ;
+刀架 > touka\ ;
+載荷 > saika\ ;
+皮癬 > hizen\ ;
+遊山 > yusan\ ;
+武名 > bumei\ ;
+全科 > zenka\ ;
+加号 > kagou\ ;
+芙蓉 > fuyou\ ;
+廃家 > haika\ ;
+公示 > kouji\ ;
+死児 > shiji\ ;
+正否 > seihi\ ;
+底意 > sokoi\ ;
+自首 > jishu\ ;
+軍記 > gunki\ ;
+荒淫 > kouin\ ;
+劣化 > rekka\ ;
+遠大 > endai\ ;
+別戸 > bekko\ ;
+歓喜 > kanki\ ;
+具眼 > gugan\ ;
+次官 > jikan\ ;
+眩暈 > memai\ ;
+軍規 > gunki\ ;
+次子 > jishi\ ;
+武勲 > bukun\ ;
+延命 > enmei\ ;
+加勢 > kasei\ ;
+元素 > genso\ ;
+武勇 > buyuu\ ;
+武功 > bukou\ ;
+廷吏 > teiri\ ;
+円環 > enkan\ ;
+岩魚 > iwana\ ;
+初手 > shote\ ;
+皇祖 > kouso\ ;
+優美 > yuubi\ ;
+儒良 > jugon\ ;
+儒艮 > jugon\ ;
+児童 > jidou\ ;
+歓呼 > kanko\ ;
+加判 > kahan\ ;
+功利 > kouri\ ;
+鳳凰 > houou\ ;
+知事 > chiji\ ;
+道央 > douou\ ;
+軍衣 > gun''i\ ;
+制度 > seido\ ;
+歩兵 > hohei\ ;
+英知 > eichi\ ;
+停音 > teion\ ;
+引例 > inrei\ ;
+痴話 > chiwa\ ;
+加冠 > kakan\ ;
+連座 > renza\ ;
+艤装 > gisou\ ;
+遠地 > enchi\ ;
+華壇 > kadan\ ;
+登科 > touka\ ;
+白禍 > hakka\ ;
+過大 > kadai\ ;
+苛税 > kazei\ ;
+遠因 > en''in\ ;
+遊女 > yuujo\ ;
+輝線 > kisen\ ;
+入相 > iriai\ ;
+免租 > menso\ ;
+芋茎 > zuiki\ ;
+菓子 > kashi\ ;
+干戈 > kanka\ ;
+疎開 > sokai\ ;
+前婦 > zenpu\ ;
+偏頗 > henpa\ ;
+遷化 > senge\ ;
+落下 > rakka\ ;
+具現 > gugen\ ;
+加俸 > kahou\ ;
+冷気 > reiki\ ;
+儒者 > jusha\ ;
+舗道 > hodou\ ;
+先祖 > senzo\ ;
+航路 > kouro\ ;
+発破 > happa\ ;
+畳韻 > jouin\ ;
+相棒 > aibou\ ;
+幽微 > yuubi\ ;
+芳紀 > houki\ ;
+廃園 > haien\ ;
+正価 > seika\ ;
+近時 > kinji\ ;
+魚肥 > gyohi\ ;
+躍起 > yakki\ ;
+高遠 > kouen\ ;
+前夫 > zenpu\ ;
+花紋 > kamon\ ;
+元祖 > ganso\ ;
+剰員 > jouin\ ;
+花糸 > kashi\ ;
+盗汗 > nease\ ;
+公理 > kouri\ ;
+武人 > bujin\ ;
+花粉 > kafun\ ;
+帰校 > kikou\ ;
+舞蹈 > butou\ ;
+幾度 > ikudo\ ;
+次回 > jikai\ ;
+年忌 > nenki\ ;
+舞踏 > butou\ ;
+鬱蒼 > ussou\ ;
+舞踊 > buyou\ ;
+内炎 > naien\ ;
+輪禍 > rinka\ ;
+刑徒 > keito\ ;
+年後 > nengo\ ;
+連子 > renji\ ;
+相板 > aiban\ ;
+前場 > zenba\ ;
+田麩 > denbu\ ;
+凹所 > ousho\ ;
+偽造 > gizou\ ;
+帰来 > kirai\ ;
+苦界 > kugai\ ;
+再演 > saien\ ;
+帰村 > kison\ ;
+常時 > jouji\ ;
+延会 > enkai\ ;
+欣喜 > kinki\ ;
+還付 > kanpu\ ;
+運営 > un''ei\ ;
+菜園 > saien\ ;
+年度 > nendo\ ;
+逮夜 > taiya\ ;
+退座 > taiza\ ;
+利害 > rigai\ ;
+艱苦 > kanku\ ;
+次善 > jizen\ ;
+利子 > rishi\ ;
+荷担 > katan\ ;
+別家 > bekke\ ;
+遺作 > isaku\ ;
+草案 > souan\ ;
+荒木 > araki\ ;
+岩間 > iwama\ ;
+庭園 > teien\ ;
+鯨波 > geiha\ ;
+年差 > nensa\ ;
+鯨油 > geiyu\ ;
+蹶起 > kekki\ ;
+円満 > enman\ ;
+花穂 > kasui\ ;
+農期 > nouki\ ;
+判子 > hanko\ ;
+華厳 > kegon\ ;
+遠出 > toode\ ;
+運命 > unmei\ ;
+兵火 > heika\ ;
+監査 > kansa\ ;
+華南 > kanan\ ;
+道化 > douke\ ;
+歌仙 > kasen\ ;
+転義 > tengi\ ;
+次号 > jigou\ ;
+歌人 > kajin\ ;
+高貴 > kouki\ ;
+過半 > kahan\ ;
+分布 > bunpu\ ;
+相撲 > sumou\ ;
+艶聞 > enbun\ ;
+序奏 > josou\ ;
+近所 > kinjo\ ;
+凡打 > bonda\ ;
+凹形 > oukei\ ;
+興起 > kouki\ ;
+舎費 > shahi\ ;
+過勤 > kakin\ ;
+通夜 > tsuya\ ;
+過労 > karou\ ;
+自邸 > jitei\ ;
+運勢 > unsei\ ;
+巨波 > kyoha\ ;
+運動 > undou\ ;
+辞柄 > jihei\ ;
+過剰 > kajou\ ;
+畝間 > unema\ ;
+自選 > jisen\ ;
+辞林 > jirin\ ;
+盛期 > seiki\ ;
+平家 > heike\ ;
+連坐 > renza\ ;
+逸品 > ippin\ ;
+道具 > dougu\ ;
+過分 > kabun\ ;
+平安 > heian\ ;
+年季 > nenki\ ;
+皆無 > kaimu\ ;
+凡愚 > bongu\ ;
+機構 > kikou\ ;
+分岐 > bunki\ ;
+前古 > zenko\ ;
+画餅 > gabei\ ;
+公演 > kouen\ ;
+辞書 > jisho\ ;
+造園 > zouen\ ;
+冬期 > touki\ ;
+高誼 > kougi\ ;
+剰余 > jouyo\ ;
+庶務 > shomu\ ;
+画風 > gafuu\ ;
+盛時 > seiji\ ;
+儀範 > gihan\ ;
+芳眉 > houbi\ ;
+初夜 > shoya\ ;
+傍見 > okami\ ;
+樹液 > jueki\ ;
+初夏 > shoka\ ;
+希望 > kibou\ ;
+巨歩 > kyoho\ ;
+幼女 > youjo\ ;
+画題 > gadai\ ;
+分家 > bunke\ ;
+希書 > kisho\ ;
+帰投 > kitou\ ;
+冤枉 > en''ou\ ;
+樹海 > jukai\ ;
+幾夜 > ikuyo\ ;
+幾多 > ikuta\ ;
+次兄 > jikei\ ;
+次元 > jigen\ ;
+迷子 > maigo\ ;
+自転 > jiten\ ;
+機械 > kikai\ ;
+座右 > zayuu\ ;
+幻夢 > genmu\ ;
+廉価 > renka\ ;
+先父 > senpu\ ;
+遡上 > sojou\ ;
+機根 > kikon\ ;
+偽誓 > gisei\ ;
+與論 > yoron\ ;
+造営 > zouei\ ;
+冥暗 > meian\ ;
+舗装 > hosou\ ;
+異郷 > ikyou\ ;
+画面 > gamen\ ;
+倍音 > baion\ ;
+棋風 > kifuu\ ;
+発火 > hakka\ ;
+偽計 > gikei\ ;
+相愛 > souai\ ;
+偽言 > gigen\ ;
+光焔 > kouen\ ;
+偶語 > guugo\ ;
+機材 > kizai\ ;
+次便 > jibin\ ;
+連呼 > renko\ ;
+左様 > sayou\ ;
+偶詠 > guuei\ ;
+魔神 > majin\ ;
+廊下 > rouka\ ;
+驟雨 > shuuu\ ;
+盲愛 > mouai\ ;
+花瓶 > kabin\ ;
+光炎 > kouen\ ;
+再案 > saian\ ;
+儀礼 > girei\ ;
+自賛 > jisan\ ;
+連句 > renku\ ;
+路頭 > rotou\ ;
+次会 > jikai\ ;
+迷夢 > meimu\ ;
+英法 > eihou\ ;
+自販 > jihan\ ;
+機智 > kichi\ ;
+苦渋 > kujuu\ ;
+偽装 > gisou\ ;
+相応 > souou\ ;
+次代 > jidai\ ;
+軍紀 > gunki\ ;
+尾鰭 > obire\ ;
+師恩 > shion\ ;
+公武 > koubu\ ;
+転移 > ten''i\ ;
+路面 > romen\ ;
+岡辺 > okabe\ ;
+偉蹟 > iseki\ ;
+転科 > tenka\ ;
+臀部 > denbu\ ;
+党派 > touha\ ;
+運上 > unjou\ ;
+業苦 > gouku\ ;
+層雲 > souun\ ;
+座像 > zazou\ ;
+帷幕 > ibaku\ ;
+造化 > zouka\ ;
+帷帳 > ichou\ ;
+自讃 > jisan\ ;
+利口 > rikou\ ;
+機敏 > kibin\ ;
+自警 > jikei\ ;
+偉跡 > iseki\ ;
+入歯 > ireba\ ;
+庶事 > shoji\ ;
+魔睡 > masui\ ;
+横死 > oushi\ ;
+軌範 > kihan\ ;
+円本 > enpon\ ;
+儒生 > jusei\ ;
+巡査 > junsa\ ;
+再映 > saiei\ ;
+庵主 > anshu\ ;
+自認 > jinin\ ;
+備荒 > bikou\ ;
+帰帆 > kihan\ ;
+花片 > kahen\ ;
+鬼神 > kijin\ ;
+膳部 > zenbu\ ;
+輸液 > yueki\ ;
+甘露 > kanro\ ;
+檀徒 > danto\ ;
+利刃 > rijin\ ;
+利刀 > ritou\ ;
+異象 > ishou\ ;
+茂林 > morin\ ;
+保養 > hoyou\ ;
+光波 > kouha\ ;
+距離 > kyori\ ;
+左方 > sahou\ ;
+座乗 > zajou\ ;
+草庵 > souan\ ;
+樹林 > jurin\ ;
+魔界 > makai\ ;
+平和 > heiwa\ ;
+省字 > seiji\ ;
+具有 > guyuu\ ;
+鰥寡 > kanka\ ;
+公案 > kouan\ ;
+自製 > jisei\ ;
+処女 > shojo\ ;
+帝座 > teiza\ ;
+刑吏 > keiri\ ;
+送受 > souju\ ;
+差損 > sason\ ;
+模様 > moyou\ ;
+機才 > kisai\ ;
+畳語 > jougo\ ;
+凡夫 > bonpu\ ;
+寿齢 > jurei\ ;
+元気 > genki\ ;
+刻下 > kokka\ ;
+退化 > taika\ ;
+准尉 > jun''i\ ;
+冶工 > yakou\ ;
+師家 > shika\ ;
+横柄 > ouhei\ ;
+典故 > tenko\ ;
+色目 > irome\ ;
+利便 > riben\ ;
+公暇 > kouka\ ;
+備考 > bikou\ ;
+別個 > bekko\ ;
+画道 > gadou\ ;
+路銀 > rogin\ ;
+幼児 > youji\ ;
+農家 > nouka\ ;
+草履 > zouri\ ;
+保険 > hoken\ ;
+年利 > nenri\ ;
+英書 > eisho\ ;
+六日 > muika\ ;
+分区 > bunku\ ;
+八日 > youka\ ;
+分化 > bunka\ ;
+公方 > kubou\ ;
+横暴 > oubou\ ;
+冥府 > meifu\ ;
+刑具 > keigu\ ;
+巧技 > kougi\ ;
+苦杯 > kuhai\ ;
+英明 > eimei\ ;
+檀家 > danka\ ;
+模本 > mohon\ ;
+入日 > irihi\ ;
+自薦 > jisen\ ;
+尾長 > onaga\ ;
+農婦 > noufu\ ;
+小鬢 > kobin\ ;
+棋道 > kidou\ ;
+判事 > hanji\ ;
+分利 > bunri\ ;
+英断 > eidan\ ;
+傅育 > fuiku\ ;
+横断 > oudan\ ;
+英文 > eibun\ ;
+凡器 > bonki\ ;
+英数 > eisuu\ ;
+横文 > oubun\ ;
+冴寒 > gokan\ ;
+途上 > tojou\ ;
+山車 > dashi\ ;
+布巾 > fukin\ ;
+相場 > souba\ ;
+盛宴 > seien\ ;
+騒音 > souon\ ;
+皆既 > kaiki\ ;
+党是 > touze\ ;
+農奴 > noudo\ ;
+用途 > youto\ ;
+光栄 > kouei\ ;
+茶屋 > chaya\ ;
+芳気 > houki\ ;
+輿望 > yobou\ ;
+農夫 > noufu\ ;
+自著 > jicho\ ;
+児曹 > jisou\ ;
+出前 > demae\ ;
+平価 > heika\ ;
+小馬 > kouma\ ;
+機巧 > kikou\ ;
+刑余 > keiyo\ ;
+荷台 > nidai\ ;
+甘酢 > amazu\ ;
+冬季 > touki\ ;
+苗木 > naegi\ ;
+兵戈 > heika\ ;
+幹事 > kanji\ ;
+駻馬 > kanba\ ;
+画賛 > gasan\ ;
+白旗 > hakki\ ;
+送付 > soufu\ ;
+内応 > naiou\ ;
+凍土 > toudo\ ;
+帯地 > obiji\ ;
+再度 > saido\ ;
+辺土 > hendo\ ;
+尾錠 > bijou\ ;
+刑事 > keiji\ ;
+円弾 > endan\ ;
+目垢 > meaka\ ;
+眼下 > ganka\ ;
+再帰 > saiki\ ;
+冷夏 > reika\ ;
+近古 > kinko\ ;
+己巳 > kishi\ ;
+軽浮 > keifu\ ;
+荒土 > koudo\ ;
+苛斂 > karen\ ;
+転炉 > tenro\ ;
+全戸 > zenko\ ;
+苛政 > kasei\ ;
+画讚 > gasan\ ;
+画讃 > gasan\ ;
+農園 > nouen\ ;
+巻尾 > kanbi\ ;
+盛夏 > seika\ ;
+佳麗 > karei\ ;
+艶然 > enzen\ ;
+英才 > eisai\ ;
+腰部 > youbu\ ;
+軽油 > keiyu\ ;
+幇助 > houjo\ ;
+内帑 > naido\ ;
+画談 > gadan\ ;
+写字 > shaji\ ;
+供養 > kuyou\ ;
+倒語 > tougo\ ;
+発揮 > hakki\ ;
+鬼火 > onibi\ ;
+魚油 > gyoyu\ ;
+帝土 > teido\ ;
+機嫌 > kigen\ ;
+生起 > seiki\ ;
+花梨 > karin\ ;
+兌換 > dakan\ ;
+刀下 > touka\ ;
+魔法 > mahou\ ;
+苦戦 > kusen\ ;
+傷痍 > shoui\ ;
+候補 > kouho\ ;
+常務 > joumu\ ;
+帰参 > kisan\ ;
+左岸 > sagan\ ;
+円居 > madoi\ ;
+皮層 > hisou\ ;
+樹幹 > jukan\ ;
+苦慮 > kuryo\ ;
+馬齢 > barei\ ;
+余齢 > yorei\ ;
+軽機 > keiki\ ;
+痔瘻 > jirou\ ;
+巨富 > kyofu\ ;
+再嫁 > saika\ ;
+内宴 > naien\ ;
+自署 > jisho\ ;
+公庫 > kouko\ ;
+備砲 > bihou\ ;
+公序 > koujo\ ;
+苦情 > kujou\ ;
+茶園 > chaen\ ;
+苦悶 > kumon\ ;
+苦悩 > kunou\ ;
+異臭 > ishuu\ ;
+用語 > yougo\ ;
+左官 > sakan\ ;
+槐樹 > kaiju\ ;
+冗多 > jouta\ ;
+軟派 > nanpa\ ;
+冥土 > meido\ ;
+公布 > koufu\ ;
+異腹 > ifuku\ ;
+先手 > sente\ ;
+公差 > kousa\ ;
+茶器 > chaki\ ;
+臓腑 > zoufu\ ;
+近侍 > kinji\ ;
+鬱滞 > uttai\ ;
+桂馬 > keima\ ;
+近似 > kinji\ ;
+返付 > henpu\ ;
+高祖 > kouso\ ;
+梅酢 > umezu\ ;
+農務 > noumu\ ;
+常備 > joubi\ ;
+苦役 > kueki\ ;
+布団 > futon\ ;
+返事 > henji\ ;
+舌禍 > zekka\ ;
+兵家 > heika\ ;
+近事 > kinji\ ;
+嵐気 > ranki\ ;
+鮮度 > sendo\ ;
+苛性 > kasei\ ;
+梵語 > bongo\ ;
+騰貴 > touki\ ;
+履行 > rikou\ ;
+県下 > kenka\ ;
+内奥 > naiou\ ;
+腕輪 > udewa\ ;
+起電 > kiden\ ;
+師儒 > shiju\ ;
+家鴨 > ahiru\ ;
+寝顔 > negao\ ;
+農具 > nougu\ ;
+市営 > shiei\ ;
+円墳 > enpun\ ;
+色気 > iroke\ ;
+工夫 > koufu\ ;
+辞去 > jikyo\ ;
+転機 > tenki\ ;
+鬼歯 > oniba\ ;
+封鎖 > fuusa\ ;
+英屯 > eiton\ ;
+公安 > kouan\ ;
+尖部 > senbu\ ;
+辭典 > jiten\ ;
+常事 > jouji\ ;
+全家 > zenka\ ;
+相似 > souji\ ;
+偉績 > iseki\ ;
+工場 > kouba\ ;
+発布 > happu\ ;
+帰任 > kinin\ ;
+兄後 > anigo\ ;
+相互 > sougo\ ;
+倶者 > kusha\ ;
+俚謡 > riyou\ ;
+光度 > koudo\ ;
+馳駆 > chiku\ ;
+俚諺 > rigen\ ;
+先度 > sendo\ ;
+俎豆 > sotou\ ;
+冗員 > jouin\ ;
+軍歌 > gunka\ ;
+生蝋 > kirou\ ;
+克己 > kokki\ ;
+内因 > naiin\ ;
+跛行 > hakou\ ;
+盲亀 > mouki\ ;
+師事 > shiji\ ;
+苦寒 > kukan\ ;
+辞典 > jiten\ ;
+疫痢 > ekiri\ ;
+盛儀 > seigi\ ;
+市区 > shiku\ ;
+馬首 > bashu\ ;
+俚言 > rigen\ ;
+余香 > yokou\ ;
+登山 > tozan\ ;
+疵瑕 > shika\ ;
+軍機 > gunki\ ;
+英姿 > eishi\ ;
+冗句 > jouku\ ;
+農事 > nouji\ ;
+権威 > ken''i\ ;
+目下 > mokka\ ;
+嶮岨 > kenso\ ;
+業火 > gouka\ ;
+自社 > jisha\ ;
+疣痔 > iboji\ ;
+余風 > yofuu\ ;
+機動 > kidou\ ;
+余類 > yorui\ ;
+児孫 > jison\ ;
+監事 > kanji\ ;
+馬頭 > batou\ ;
+倹素 > kenso\ ;
+甘藻 > amamo\ ;
+皇妃 > kouhi\ ;
+尾行 > bikou\ ;
+皇女 > koujo\ ;
+家風 > kafuu\ ;
+工員 > kouin\ ;
+兵器 > heiki\ ;
+艶書 > ensho\ ;
+優弧 > yuuko\ ;
+公園 > kouen\ ;
+辞任 > jinin\ ;
+盛事 > seiji\ ;
+辞令 > jirei\ ;
+棉花 > menka\ ;
+機内 > kinai\ ;
+公図 > kouzu\ ;
+兵営 > heiei\ ;
+田舎 > inaka\ ;
+左右 > sayuu\ ;
+機先 > kisen\ ;
+全土 > zendo\ ;
+全図 > zenzu\ ;
+胯間 > kokan\ ;
+異称 > ishou\ ;
+画聖 > gasei\ ;
+公器 > kouki\ ;
+低音 > teion\ ;
+自省 > jisei\ ;
+希代 > kidai\ ;
+辞世 > jisei\ ;
+先婦 > senpu\ ;
+軌条 > kijou\ ;
+小豆 > azuki\ ;
+兵員 > heiin\ ;
+案配 > anbai\ ;
+家電 > kaden\ ;
+内務 > naimu\ ;
+尊貴 > sonki\ ;
+市価 > shika\ ;
+差分 > sabun\ ;
+公営 > kouei\ ;
+内助 > naijo\ ;
+瓦解 > gakai\ ;
+冠位 > kan''i\ ;
+英噸 > eiton\ ;
+梅見 > umemi\ ;
+工務 > koumu\ ;
+模型 > mokei\ ;
+希世 > kisei\ ;
+栄養 > eiyou\ ;
+俘虜 > furyo\ ;
+魔手 > mashu\ ;
+生花 > seika\ ;
+偽版 > gihan\ ;
+低雲 > teiun\ ;
+先妣 > senpi\ ;
+布令 > furei\ ;
+巨利 > kyori\ ;
+白堊 > hakua\ ;
+棋聖 > kisei\ ;
+先夫 > zenpu\ ;
+兼務 > kenmu\ ;
+機体 > kitai\ ;
+甘苦 > kanku\ ;
+香露 > kouro\ ;
+高炉 > kouro\ ;
+登城 > tojou\ ;
+軍旗 > gunki\ ;
+佳醸 > kajou\ ;
+路肩 > roken\ ;
+機会 > kikai\ ;
+似顔 > nigao\ ;
+甲羅 > koura\ ;
+家門 > kamon\ ;
+自由 > jiyuu\ ;
+棄背 > kihai\ ;
+便衣 > ben''i\ ;
+円光 > enkou\ ;
+自用 > jiyou\ ;
+自生 > jisei\ ;
+使途 > shito\ ;
+軽微 > keibi\ ;
+兵匪 > heihi\ ;
+佳酒 > kashu\ ;
+工具 > kougu\ ;
+登坂 > tohan\ ;
+富鉱 > fukou\ ;
+公吏 > kouri\ ;
+内儀 > naigi\ ;
+侮言 > bugen\ ;
+騎行 > kikou\ ;
+輿地 > yochi\ ;
+延々 > en''en\ ;
+棄老 > kirou\ ;
+芸子 > geiko\ ;
+背離 > hairi\ ;
+左傾 > sakei\ ;
+保菌 > hokin\ ;
+機上 > kijou\ ;
+公印 > kouin\ ;
+輔導 > hodou\ ;
+八卦 > hakke\ ;
+軽度 > keido\ ;
+巴人 > hajin\ ;
+画紙 > gashi\ ;
+英名 > eimei\ ;
+腹腔 > fukko\ ;
+公募 > koubo\ ;
+公務 > koumu\ ;
+番目 > banme\ ;
+党員 > touin\ ;
+内侍 > naiji\ ;
+兼備 > kenbi\ ;
+鬼才 > kisai\ ;
+寄金 > kikin\ ;
+走路 > souro\ ;
+魔弾 > madan\ ;
+岡目 > okame\ ;
+官需 > kanju\ ;
+儀形 > gikei\ ;
+優婉 > yuuen\ ;
+瑞雲 > zuiun\ ;
+高温 > kouon\ ;
+尾花 > obana\ ;
+対話 > taiwa\ ;
+伝馬 > tenma\ ;
+轍叉 > tessa\ ;
+依託 > itaku\ ;
+脳裡 > nouri\ ;
+権化 > gonge\ ;
+脳裏 > nouri\ ;
+苦吟 > kugin\ ;
+芸妓 > geigi\ ;
+路線 > rosen\ ;
+赤身 > akami\ ;
+兵備 > heibi\ ;
+内事 > naiji\ ;
+甘美 > kanbi\ ;
+富農 > funou\ ;
+修羅 > shura\ ;
+芥子 > keshi\ ;
+疑点 > giten\ ;
+工事 > kouji\ ;
+樽俎 > sonso\ ;
+侍講 > jikou\ ;
+軍手 > gunte\ ;
+権利 > kenri\ ;
+会飲 > kaiin\ ;
+典侍 > tenji\ ;
+公儀 > kougi\ ;
+安静 > ansei\ ;
+駅路 > ekiro\ ;
+儒官 > jukan\ ;
+入内 > judai\ ;
+党務 > toumu\ ;
+具体 > gutai\ ;
+発句 > hokku\ ;
+併起 > heiki\ ;
+鬱憤 > uppun\ ;
+苦労 > kurou\ ;
+佳趣 > kashu\ ;
+様子 > yousu\ ;
+保育 > hoiku\ ;
+画稿 > gakou\ ;
+山窩 > sanka\ ;
+例話 > reiwa\ ;
+充員 > juuin\ ;
+花壇 > kadan\ ;
+全備 > zenbi\ ;
+党利 > touri\ ;
+踏破 > touha\ ;
+孤高 > kokou\ ;
+自炊 > jisui\ ;
+業果 > gouka\ ;
+佳賓 > kahin\ ;
+生糸 > kiito\ ;
+兵事 > heiji\ ;
+先古 > senko\ ;
+模写 > mosha\ ;
+僧徒 > souto\ ;
+胃鏡 > ikyou\ ;
+高歌 > kouka\ ;
+例規 > reiki\ ;
+高次 > kouji\ ;
+疎漏 > sorou\ ;
+安閑 > ankan\ ;
+樹上 > jujou\ ;
+余輩 > yohai\ ;
+梅花 > baika\ ;
+儀容 > giyou\ ;
+田租 > denso\ ;
+僧庵 > souan\ ;
+馬車 > basha\ ;
+公事 > kouji\ ;
+先務 > senmu\ ;
+俺等 > orera\ ;
+富貴 > fukki\ ;
+寡言 > kagen\ ;
+首都 > shuto\ ;
+模倣 > mohou\ ;
+富豪 > fugou\ ;
+饑饉 > kikin\ ;
+馬蹄 > batei\ ;
+践祚 > senso\ ;
+路程 > rotei\ ;
+寄贈 > kizou\ ;
+体躯 > taiku\ ;
+痴愚 > chigu\ ;
+背部 > haibu\ ;
+保線 > hosen\ ;
+英主 > eishu\ ;
+季題 > kidai\ ;
+元利 > genri\ ;
+併記 > heiki\ ;
+倫理 > rinri\ ;
+車庫 > shako\ ;
+股間 > kokan\ ;
+産科 > sanka\ ;
+寓話 > guuwa\ ;
+佳言 > kagen\ ;
+自浄 > jijou\ ;
+疏水 > sosui\ ;
+疎水 > sosui\ ;
+余財 > yozai\ ;
+脾臟 > hizou\ ;
+子馬 > kouma\ ;
+脾臓 > hizou\ ;
+僧尼 > souni\ ;
+発作 > hossa\ ;
+転嫁 > tenka\ ;
+自治 > jichi\ ;
+癒合 > yugou\ ;
+充備 > juubi\ ;
+僧寺 > souji\ ;
+脾腫 > hishu\ ;
+高架 > kouka\ ;
+尾籠 > birou\ ;
+痛手 > itade\ ;
+白亜 > hakua\ ;
+僧家 > souka\ ;
+家財 > kazai\ ;
+転婆 > tenba\ ;
+健歩 > kenpo\ ;
+鬼子 > onigo\ ;
+楊枝 > youji\ ;
+展示 > tenji\ ;
+官途 > kanto\ ;
+自民 > jimin\ ;
+保管 > hokan\ ;
+栄転 > eiten\ ;
+検波 > kenpa\ ;
+仮題 > kadai\ ;
+字面 > jimen\ ;
+路盤 > roban\ ;
+元価 > genka\ ;
+舵手 > dashu\ ;
+宏遠 > kouen\ ;
+子音 > shiin\ ;
+艦尾 > kanbi\ ;
+余談 > yodan\ ;
+儀型 > gikei\ ;
+富裕 > fuyuu\ ;
+構図 > kouzu\ ;
+産着 > ubugi\ ;
+偏波 > henha\ ;
+驚異 > kyoui\ ;
+偽本 > gihon\ ;
+艶姿 > enshi\ ;
+優利 > yuuri\ ;
+極意 > gokui\ ;
+仮面 > kamen\ ;
+偽書 > gisho\ ;
+岡湯 > okayu\ ;
+棋界 > kikai\ ;
+保税 > hozei\ ;
+余計 > yokei\ ;
+僅差 > kinsa\ ;
+兄事 > keiji\ ;
+躯幹 > kukan\ ;
+傾度 > keido\ ;
+俯瞰 > fukan\ ;
+校規 > kouki\ ;
+臨機 > rinki\ ;
+肩部 > kenbu\ ;
+艇庫 > teiko\ ;
+尊者 > sonja\ ;
+跡目 > atome\ ;
+路用 > royou\ ;
+家訓 > kakun\ ;
+字間 > jikan\ ;
+家計 > kakei\ ;
+花冠 > kakan\ ;
+低語 > teigo\ ;
+実費 > jippi\ ;
+傾差 > keisa\ ;
+男猫 > oneko\ ;
+甦生 > sosei\ ;
+起草 > kisou\ ;
+架間 > kakan\ ;
+余裕 > yoyuu\ ;
+嵩呼 > suuko\ ;
+官費 > kanpi\ ;
+養鯉 > youri\ ;
+軍夫 > gunpu\ ;
+疎林 > sorin\ ;
+家裁 > kasai\ ;
+俳画 > haiga\ ;
+車夫 > shafu\ ;
+他面 > tamen\ ;
+小紋 > komon\ ;
+桃花 > touka\ ;
+生理 > seiri\ ;
+腋窩 > ekika\ ;
+付随 > fuzui\ ;
+高批 > kouhi\ ;
+家蝿 > iebae\ ;
+検査 > kensa\ ;
+備忘 > bibou\ ;
+小粋 > koiki\ ;
+実記 > jikki\ ;
+自書 > jisho\ ;
+貫首 > kanju\ ;
+偉業 > igyou\ ;
+人馬 > jinba\ ;
+億劫 > okkuu\ ;
+貴顕 > kiken\ ;
+侍者 > jisha\ ;
+自暴 > jibou\ ;
+便秘 > benpi\ ;
+官話 > kanwa\ ;
+崎崖 > kigai\ ;
+疎放 > sohou\ ;
+余薫 > yokun\ ;
+自明 > jimei\ ;
+臨時 > rinji\ ;
+餌食 > ejiki\ ;
+軍器 > gunki\ ;
+定規 > jougi\ ;
+船尾 > senbi\ ;
+儀刑 > gikei\ ;
+今際 > imawa\ ;
+億円 > okuen\ ;
+儀刀 > gitou\ ;
+守護 > shugo\ ;
+会費 > kaihi\ ;
+岩根 > iwane\ ;
+饋還 > kikan\ ;
+寡聞 > kabun\ ;
+高恩 > kouon\ ;
+男滝 > odaki\ ;
+転化 > tenka\ ;
+儀典 > giten\ ;
+瓜科 > urika\ ;
+軽侮 > keibu\ ;
+家蔵 > kazou\ ;
+供米 > kumai\ ;
+栄螺 > sazae\ ;
+軟化 > nanka\ ;
+値段 > nedan\ ;
+孤軍 > kogun\ ;
+偽悪 > giaku\ ;
+異朝 > ichou\ ;
+佳肴 > kakou\ ;
+疲弊 > hihei\ ;
+会議 > kaigi\ ;
+甘煮 > amani\ ;
+偽性 > gisei\ ;
+来駕 > raiga\ ;
+画法 > gahou\ ;
+寄航 > kikou\ ;
+高座 > kouza\ ;
+高度 > koudo\ ;
+良医 > ryoui\ ;
+伝記 > denki\ ;
+会話 > kaiwa\ ;
+余芳 > yohou\ ;
+乱麻 > ranma\ ;
+傘寿 > sanju\ ;
+山河 > sanga\ ;
+尾状 > bijou\ ;
+耳順 > jijun\ ;
+伽藍 > garan\ ;
+賛辞 > sanji\ ;
+軍医 > gun''i\ ;
+専科 > senka\ ;
+異教 > ikyou\ ;
+儀仗 > gijou\ ;
+守衛 > shuei\ ;
+富者 > fusha\ ;
+会規 > kaiki\ ;
+軍務 > gunmu\ ;
+産湯 > ubuyu\ ;
+香華 > kouge\ ;
+自戒 > jikai\ ;
+尾燈 > bitou\ ;
+供祭 > gusai\ ;
+賓辞 > hinji\ ;
+胚芽 > haiga\ ;
+起算 > kisan\ ;
+舞子 > maiko\ ;
+佳編 > kahen\ ;
+自慢 > jiman\ ;
+転位 > ten''i\ ;
+飢饉 > kikin\ ;
+楽器 > gakki\ ;
+疑念 > ginen\ ;
+寺社 > jisha\ ;
+余聞 > yobun\ ;
+交附 > koufu\ ;
+学課 > gakka\ ;
+僭位 > sen''i\ ;
+付近 > fukin\ ;
+尾灯 > bitou\ ;
+馬耕 > bakou\ ;
+瓜田 > kaden\ ;
+踏査 > tousa\ ;
+高宜 > kougi\ ;
+起稿 > kikou\ ;
+画楼 > garou\ ;
+脱皮 > dappi\ ;
+畏服 > ifuku\ ;
+来院 > raiin\ ;
+侍祭 > jisai\ ;
+軍備 > gunbi\ ;
+産気 > sanke\ ;
+楊子 > youji\ ;
+小異 > shoui\ ;
+舞妓 > maiko\ ;
+棄死 > kishi\ ;
+余罪 > yozai\ ;
+産毛 > ubuge\ ;
+業因 > gouin\ ;
+例示 > reiji\ ;
+家老 > karou\ ;
+生気 > seiki\ ;
+事項 > jikou\ ;
+腐爛 > furan\ ;
+小瓶 > kobin\ ;
+佳篇 > kahen\ ;
+脱疽 > dasso\ ;
+岩戸 > iwato\ ;
+寿盃 > juhai\ ;
+生母 > seibo\ ;
+自弁 > jiben\ ;
+番手 > bante\ ;
+偸安 > touan\ ;
+小琴 > ogoto\ ;
+俄然 > gazen\ ;
+棄権 > kiken\ ;
+豪飲 > gouin\ ;
+亀頭 > kitou\ ;
+画板 > gaban\ ;
+字訓 > jikun\ ;
+梳毛 > somou\ ;
+飛電 > hiden\ ;
+二階 > nikai\ ;
+画材 > gazai\ ;
+字解 > jikai\ ;
+軍事 > gunji\ ;
+理財 > rizai\ ;
+画本 > gahon\ ;
+画期 > kakki\ ;
+自工 > jikou\ ;
+胃腸 > ichou\ ;
+校紀 > kouki\ ;
+畸形 > kikei\ ;
+代議 > daigi\ ;
+仮言 > kagen\ ;
+走破 > souha\ ;
+債務 > saimu\ ;
+身分 > mibun\ ;
+個条 > kajou\ ;
+赤禍 > sekka\ ;
+予防 > yobou\ ;
+偉徳 > itoku\ ;
+賄賂 > wairo\ ;
+育英 > ikuei\ ;
+小犬 > koinu\ ;
+栄耀 > eiyou\ ;
+由来 > yurai\ ;
+異心 > ishin\ ;
+船医 > sen''i\ ;
+椰子 > yashi\ ;
+家紋 > kamon\ ;
+家系 > kakei\ ;
+異形 > igyou\ ;
+伽羅 > kyara\ ;
+肺腑 > haifu\ ;
+仏貨 > fukka\ ;
+東都 > touto\ ;
+東部 > toubu\ ;
+仮装 > kasou\ ;
+自尽 > jijin\ ;
+理論 > riron\ ;
+偏差 > hensa\ ;
+尊父 > sonpu\ ;
+自尊 > jison\ ;
+偽報 > gihou\ ;
+定義 > teigi\ ;
+備品 > bihin\ ;
+貨車 > kasha\ ;
+俗気 > zokke\ ;
+自害 > jigai\ ;
+貸費 > taihi\ ;
+寄稿 > kikou\ ;
+留意 > ryuui\ ;
+何箇 > nanko\ ;
+個数 > kosuu\ ;
+寝相 > nezou\ ;
+颶風 > gufuu\ ;
+貴賤 > kisen\ ;
+自存 > jison\ ;
+桂皮 > keihi\ ;
+飲酒 > inshu\ ;
+貴賓 > kihin\ ;
+亨運 > kouun\ ;
+理解 > rikai\ ;
+貴賎 > kisen\ ;
+起用 > kiyou\ ;
+何等 > nanra\ ;
+販路 > hanro\ ;
+期首 > kishu\ ;
+俗歌 > zokka\ ;
+乗馬 > jouba\ ;
+付言 > fugen\ ;
+赤目 > akame\ ;
+介護 > kaigo\ ;
+他言 > tagon\ ;
+亀鑑 > kikan\ ;
+脳炎 > nouen\ ;
+検字 > kenji\ ;
+五重 > gojuu\ ;
+賀詞 > gashi\ ;
+舞台 > butai\ ;
+朝餉 > asage\ ;
+寡男 > yamoo\ ;
+他見 > taken\ ;
+舎営 > shaei\ ;
+伎芸 > gigei\ ;
+疎外 > sogai\ ;
+偶因 > guuin\ ;
+安置 > anchi\ ;
+貨財 > kazai\ ;
+傍受 > bouju\ ;
+胴着 > dougi\ ;
+家禽 > kakin\ ;
+岩屋 > iwaya\ ;
+二重 > futae\ ;
+肥育 > hiiku\ ;
+小滝 > otaki\ ;
+予鈴 > yorei\ ;
+偽善 > gizen\ ;
+梧桐 > gotou\ ;
+貢賦 > koufu\ ;
+画才 > gasai\ ;
+画手 > gashu\ ;
+官紀 > kanki\ ;
+貴誌 > kishi\ ;
+風韻 > fuuin\ ;
+畳字 > jouji\ ;
+他行 > takou\ ;
+股肱 > kokou\ ;
+財貨 > zaika\ ;
+異宗 > ishuu\ ;
+互選 > gosen\ ;
+自壊 > jikai\ ;
+棄損 > kison\ ;
+風靡 > fuubi\ ;
+養護 > yougo\ ;
+貝貨 > baika\ ;
+伎能 > ginou\ ;
+未開 > mikai\ ;
+個所 > kasho\ ;
+貴覧 > kiran\ ;
+走狗 > souku\ ;
+風雲 > fuuun\ ;
+乖離 > kairi\ ;
+疲労 > hirou\ ;
+仮葬 > kasou\ ;
+偽名 > gimei\ ;
+人語 > jingo\ ;
+風雅 > fuuga\ ;
+五輪 > gorin\ ;
+偽史 > gishi\ ;
+期限 > kigen\ ;
+予選 > yosen\ ;
+乗除 > joujo\ ;
+偏奇 > henki\ ;
+主馬 > shume\ ;
+保有 > hoyuu\ ;
+自在 > jizai\ ;
+高利 > kouri\ ;
+期間 > kikan\ ;
+起点 > kiten\ ;
+二輪 > nirin\ ;
+朝間 > asama\ ;
+脳波 > nouha\ ;
+実科 > jikka\ ;
+家相 > kasou\ ;
+来賀 > raiga\ ;
+屠所 > tosho\ ;
+疑問 > gimon\ ;
+舎利 > shari\ ;
+寄生 > kisei\ ;
+二軍 > nigun\ ;
+倒影 > touei\ ;
+他薦 > tazen\ ;
+個性 > kosei\ ;
+駄犬 > daken\ ;
+飛車 > hisha\ ;
+屹度 > kitto\ ;
+作用 > sayou\ ;
+倭寇 > wakou\ ;
+小歌 > kouta\ ;
+主音 > shuon\ ;
+異境 > ikyou\ ;
+容疑 > yougi\ ;
+画廊 > garou\ ;
+余生 > yosei\ ;
+美麗 > birei\ ;
+定礎 > teiso\ ;
+偏土 > hendo\ ;
+岩場 > iwaba\ ;
+自問 > jimon\ ;
+偽兵 > gihei\ ;
+交誼 > kougi\ ;
+腕木 > udegi\ ;
+傘下 > sanka\ ;
+健否 > kenpi\ ;
+画師 > gashi\ ;
+画帖 > gajou\ ;
+家産 > kasan\ ;
+画工 > gakou\ ;
+起源 > kigen\ ;
+羽音 > haoto\ ;
+高価 > kouka\ ;
+倉庫 > souko\ ;
+果菜 > kasai\ ;
+机辺 > kihen\ ;
+対比 > taihi\ ;
+異国 > ikoku\ ;
+村費 > sonpi\ ;
+賢者 > kenja\ ;
+本部 > honbu\ ;
+互譲 > gojou\ ;
+臓器 > zouki\ ;
+対欧 > taiou\ ;
+老躯 > rouku\ ;
+産後 > sango\ ;
+用度 > youdo\ ;
+書院 > shoin\ ;
+桐油 > touyu\ ;
+未遂 > misui\ ;
+生徒 > seito\ ;
+生後 > seigo\ ;
+条規 > jouki\ ;
+脚気 > kakke\ ;
+高下 > kouge\ ;
+自動 > jidou\ ;
+王道 > oudou\ ;
+賛美 > sanbi\ ;
+腐敗 > fuhai\ ;
+蹄叉 > teisa\ ;
+争議 > sougi\ ;
+木通 > akebi\ ;
+仕舞 > jimai\ ;
+越権 > ekken\ ;
+跋扈 > bakko\ ;
+余燼 > yojin\ ;
+個展 > koten\ ;
+自前 > jimae\ ;
+自制 > jisei\ ;
+健児 > kenji\ ;
+胃痛 > itsuu\ ;
+予謀 > yobou\ ;
+骨化 > kokka\ ;
+小枝 > koeda\ ;
+胃病 > ibyou\ ;
+自分 > jibun\ ;
+自刃 > jijin\ ;
+起毛 > kimou\ ;
+瑪瑙 > menou\ ;
+風邪 > fuuja\ ;
+起死 > kishi\ ;
+架線 > kasen\ ;
+上馬 > jouba\ ;
+作為 > sakui\ ;
+背理 > hairi\ ;
+安眠 > anmin\ ;
+自党 > jitou\ ;
+尿意 > nyoui\ ;
+望遠 > bouen\ ;
+田家 > denka\ ;
+予言 > yogen\ ;
+九輪 > kurin\ ;
+乱費 > ranpi\ ;
+他聞 > tabun\ ;
+未踏 > mitou\ ;
+争覇 > souha\ ;
+寝汗 > nease\ ;
+健保 > kenpo\ ;
+対案 > taian\ ;
+瑕疵 > kashi\ ;
+予見 > yoken\ ;
+下風 > kafuu\ ;
+他者 > tasha\ ;
+畿内 > kinai\ ;
+仮納 > kanou\ ;
+猪首 > ikubi\ ;
+定理 > teiri\ ;
+不順 > fujun\ ;
+一首 > isshu\ ;
+産屋 > ubuya\ ;
+仮粧 > kewai\ ;
+豪語 > gougo\ ;
+類韻 > ruiin\ ;
+類音 > ruion\ ;
+寒波 > kanpa\ ;
+用字 > youji\ ;
+学科 > gakka\ ;
+貧苦 > hinku\ ;
+男女 > danjo\ ;
+考課 > kouka\ ;
+根気 > konki\ ;
+赤毛 > akage\ ;
+一飯 > ippan\ ;
+画壇 > gadan\ ;
+寄港 > kikou\ ;
+香煙 > kouen\ ;
+美風 > bifuu\ ;
+飛行 > hikou\ ;
+予行 > yokou\ ;
+京華 > keika\ ;
+安産 > anzan\ ;
+自体 > jitai\ ;
+一風 > ippuu\ ;
+美顔 > bigan\ ;
+生家 > seika\ ;
+実父 > jippu\ ;
+自伝 > jiden\ ;
+聖者 > seija\ ;
+便所 > benjo\ ;
+画報 > gahou\ ;
+自任 > jinin\ ;
+世間 > seken\ ;
+一頭 > ittou\ ;
+甲夜 > kouya\ ;
+自今 > jikon\ ;
+不随 > fuzui\ ;
+香炉 > kouro\ ;
+主部 > shubu\ ;
+一項 > ikkou\ ;
+騎手 > kishu\ ;
+田夫 > denpu\ ;
+賦税 > fuzei\ ;
+飛蝗 > batta\ ;
+璽書 > jisho\ ;
+尻座 > kouza\ ;
+貴翰 > kikan\ ;
+理系 > rikei\ ;
+自乗 > jijou\ ;
+産婦 > sanpu\ ;
+下限 > kagen\ ;
+下降 > kakou\ ;
+上院 > jouin\ ;
+自主 > jishu\ ;
+寸暇 > sunka\ ;
+架空 > kakuu\ ;
+産婆 > sanba\ ;
+棋士 > kishi\ ;
+豌豆 > endou\ ;
+下阪 > gehan\ ;
+寸時 > sunji\ ;
+梵字 > bonji\ ;
+甘子 > amago\ ;
+体温 > taion\ ;
+便意 > ben''i\ ;
+仁義 > jingi\ ;
+宛然 > enzen\ ;
+作法 > sahou\ ;
+検事 > kenji\ ;
+主辞 > shuji\ ;
+暴飲 > bouin\ ;
+寝棺 > nekan\ ;
+果糖 > katou\ ;
+低温 > teion\ ;
+走査 > sousa\ ;
+一階 > ikkai\ ;
+本訴 > honso\ ;
+一隊 > ittai\ ;
+曹達 > souda\ ;
+畸人 > kijin\ ;
+貧者 > hinja\ ;
+俐巧 > rikou\ ;
+例時 > reiji\ ;
+家法 > kahou\ ;
+田圃 > denpo\ ;
+屠場 > tojou\ ;
+付箋 > fusen\ ;
+未見 > miken\ ;
+耳腔 > jikou\ ;
+一閃 > issen\ ;
+少慰 > shoui\ ;
+侮慢 > buman\ ;
+作歌 > sakka\ ;
+桃李 > touri\ ;
+校歌 > kouka\ ;
+義金 > gikin\ ;
+保守 > hoshu\ ;
+風諭 > fuuyu\ ;
+世銀 > segin\ ;
+保存 > hozon\ ;
+肺炎 > haien\ ;
+甘夢 > kanmu\ ;
+尤度 > yuudo\ ;
+耽美 > tanbi\ ;
+曠野 > kouya\ ;
+貴紙 > kishi\ ;
+月賦 > geppu\ ;
+展墓 > tenbo\ ;
+便座 > benza\ ;
+五芒 > gobou\ ;
+珪素 > keiso\ ;
+核果 > kakka\ ;
+尊意 > son''i\ ;
+香油 > kouyu\ ;
+用器 > youki\ ;
+案文 > anmon\ ;
+仮睡 > kasui\ ;
+朗詠 > rouei\ ;
+倒句 > touku\ ;
+倒叙 > toujo\ ;
+仮眠 > kamin\ ;
+貴簡 > kikan\ ;
+臍下 > seika\ ;
+定温 > teion\ ;
+仮相 > kasou\ ;
+五臓 > gozou\ ;
+背泳 > haiei\ ;
+香気 > kouki\ ;
+亡者 > mouja\ ;
+膠化 > kouka\ ;
+頭韻 > touin\ ;
+佳景 > kakei\ ;
+尖度 > sendo\ ;
+他社 > tasha\ ;
+豪華 > gouka\ ;
+富有 > fuyuu\ ;
+世途 > seito\ ;
+仮痘 > katou\ ;
+万里 > banri\ ;
+理知 > richi\ ;
+丘辺 > okabe\ ;
+腹囲 > fukui\ ;
+佐様 > sayou\ ;
+仏祖 > busso\ ;
+駄文 > dabun\ ;
+義軍 > gigun\ ;
+倍加 > baika\ ;
+倭人 > wajin\ ;
+七重 > nanae\ ;
+下郎 > gerou\ ;
+上部 > joubu\ ;
+頓馬 > tonma\ ;
+三部 > sanbu\ ;
+貴種 > kishu\ ;
+不遜 > fuson\ ;
+射影 > shaei\ ;
+不遇 > fuguu\ ;
+一重 > hitoe\ ;
+主語 > shugo\ ;
+便宜 > bengi\ ;
+騎射 > kisha\ ;
+寄書 > kisho\ ;
+不逞 > futei\ ;
+小川 > ogawa\ ;
+対応 > taiou\ ;
+不退 > futai\ ;
+美酒 > bishu\ ;
+瑞気 > zuiki\ ;
+主訴 > shuso\ ;
+暗雲 > an''un\ ;
+貴社 > kisha\ ;
+男児 > danji\ ;
+二者 > nisha\ ;
+画像 > gazou\ ;
+他県 > taken\ ;
+俳味 > haimi\ ;
+佚書 > issho\ ;
+婦選 > fusen\ ;
+用務 > youmu\ ;
+婦道 > fudou\ ;
+村翁 > sonou\ ;
+安泰 > antai\ ;
+肥満 > himan\ ;
+下輩 > gehai\ ;
+家来 > kerai\ ;
+対座 > taiza\ ;
+値上 > neage\ ;
+甘味 > kanmi\ ;
+俳句 > haiku\ ;
+一遍 > ippen\ ;
+老舗 > rouho\ ;
+暗闘 > antou\ ;
+書記 > shoki\ ;
+下車 > gesha\ ;
+少尉 > shoui\ ;
+甚句 > jinku\ ;
+家書 > kasho\ ;
+些細 > sasai\ ;
+理由 > riyuu\ ;
+人祖 > jinso\ ;
+小尉 > shoui\ ;
+校旗 > kouki\ ;
+乱舞 > ranbu\ ;
+五線 > gosen\ ;
+甘受 > kanju\ ;
+一辺 > ippen\ ;
+侍従 > jijuu\ ;
+孤灯 > kotou\ ;
+代理 > dairi\ ;
+貢租 > kouso\ ;
+娃鬟 > aikan\ ;
+会派 > kaiha\ ;
+子犬 > koinu\ ;
+聯珠 > renju\ ;
+用具 > yougu\ ;
+画会 > gakai\ ;
+他界 > takai\ ;
+五絃 > gogen\ ;
+小字 > koaza\ ;
+屋号 > yagou\ ;
+屋台 > yatai\ ;
+尊家 > sonka\ ;
+一転 > itten\ ;
+画人 > gajin\ ;
+題辞 > daiji\ ;
+一軒 > ikken\ ;
+実梅 > miume\ ;
+個体 > kotai\ ;
+騎士 > kishi\ ;
+対峙 > taiji\ ;
+産児 > sanji\ ;
+路傍 > robou\ ;
+本舗 > honpo\ ;
+群議 > gungi\ ;
+不買 > fubai\ ;
+家政 > kasei\ ;
+下賤 > gesen\ ;
+寝息 > neiki\ ;
+不貞 > futei\ ;
+下賜 > kashi\ ;
+下賎 > gesen\ ;
+枯燥 > kosou\ ;
+個人 > kojin\ ;
+木舞 > komai\ ;
+使徒 > shito\ ;
+老翁 > rouou\ ;
+羽蟻 > haari\ ;
+寛恕 > kanjo\ ;
+費用 > hiyou\ ;
+頸部 > keibu\ ;
+代父 > daifu\ ;
+貫目 > kanme\ ;
+小委 > shoui\ ;
+義訓 > gikun\ ;
+予納 > yonou\ ;
+万貨 > banka\ ;
+世論 > yoron\ ;
+豊艶 > houen\ ;
+起工 > kikou\ ;
+板目 > itame\ ;
+頭重 > zuomo\ ;
+梅園 > baien\ ;
+貴男 > takao\ ;
+定木 > jougi\ ;
+定期 > teiki\ ;
+小売 > kouri\ ;
+美貌 > bibou\ ;
+小声 > kogoe\ ;
+桂庵 > keian\ ;
+一貫 > ikkan\ ;
+上議 > jougi\ ;
+生保 > seiho\ ;
+便器 > benki\ ;
+与論 > yoron\ ;
+未聞 > mimon\ ;
+音韻 > on''in\ ;
+用事 > youji\ ;
+景雲 > keiun\ ;
+頭部 > toubu\ ;
+仔犬 > koinu\ ;
+二等 > nitou\ ;
+罪過 > zaika\ ;
+上諭 > jouyu\ ;
+俗化 > zokka\ ;
+字源 > jigen\ ;
+予算 > yosan\ ;
+類語 > ruigo\ ;
+路上 > rojou\ ;
+本義 > hongi\ ;
+賀状 > gajou\ ;
+定時 > teiji\ ;
+棄世 > kisei\ ;
+豆腐 > toufu\ ;
+駄弁 > daben\ ;
+婦警 > fukei\ ;
+起居 > kikyo\ ;
+獄衣 > gokui\ ;
+板画 > hanga\ ;
+不言 > fugen\ ;
+住持 > juuji\ ;
+体技 > taigi\ ;
+保冷 > horei\ ;
+余憤 > yofun\ ;
+上訴 > jouso\ ;
+上記 > jouki\ ;
+余慶 > yokei\ ;
+作意 > sakui\ ;
+保全 > hozen\ ;
+二種 > nishu\ ;
+果然 > kazen\ ;
+不要 > fuyou\ ;
+音階 > onkai\ ;
+美談 > bidan\ ;
+家憲 > kaken\ ;
+予稿 > yokou\ ;
+導因 > douin\ ;
+代演 > daien\ ;
+余情 > yojou\ ;
+寡居 > kakyo\ ;
+犬馬 > kenba\ ;
+餓狼 > garou\ ;
+尼僧 > nisou\ ;
+保健 > hoken\ ;
+翡翠 > hisui\ ;
+枯淡 > kotan\ ;
+頚部 > keibu\ ;
+未練 > miren\ ;
+一計 > ikkei\ ;
+美観 > bikan\ ;
+預金 > yokin\ ;
+余念 > yonen\ ;
+下行 > kakou\ ;
+題詠 > daiei\ ;
+木綿 > momen\ ;
+丹花 > tanka\ ;
+一見 > ikken\ ;
+丹色 > niiro\ ;
+王統 > outou\ ;
+会期 > kaiki\ ;
+封土 > houdo\ ;
+趣味 > shumi\ ;
+賢母 > kenbo\ ;
+暗転 > anten\ ;
+未納 > minou\ ;
+対坐 > taiza\ ;
+余弦 > yogen\ ;
+議題 > gidai\ ;
+聖火 > seika\ ;
+小唄 > kouta\ ;
+余弊 > yohei\ ;
+腐刑 > fukei\ ;
+佳容 > kayou\ ;
+家従 > kajuu\ ;
+赤字 > akaji\ ;
+養父 > youfu\ ;
+来由 > raiyu\ ;
+予知 > yochi\ ;
+仮死 > kashi\ ;
+一行 > ikkou\ ;
+便利 > benri\ ;
+仮歯 > kashi\ ;
+根子 > nekko\ ;
+寸土 > sundo\ ;
+何度 > nando\ ;
+二相 > nisou\ ;
+胡座 > agura\ ;
+賛歌 > sanka\ ;
+珊瑚 > sango\ ;
+案外 > angai\ ;
+事相 > jisou\ ;
+家庭 > katei\ ;
+枯死 > koshi\ ;
+脅威 > kyoui\ ;
+曳航 > eikou\ ;
+理法 > rihou\ ;
+風紀 > fuuki\ ;
+代母 > daibo\ ;
+瓦全 > gazen\ ;
+家常 > kajou\ ;
+人為 > jin''i\ ;
+伝播 > denpa\ ;
+罵言 > bagen\ ;
+騎兵 > kihei\ ;
+低度 > teido\ ;
+桑園 > souen\ ;
+互用 > goyou\ ;
+主義 > shugi\ ;
+条理 > jouri\ ;
+小勢 > kozei\ ;
+寄寓 > kiguu\ ;
+尊卑 > sonpi\ ;
+学期 > gakki\ ;
+二番 > niban\ ;
+時限 > jigen\ ;
+背後 > haigo\ ;
+牡鹿 > ojika\ ;
+企望 > kibou\ ;
+本科 > honka\ ;
+果汁 > kajuu\ ;
+馬屋 > umaya\ ;
+駅夫 > ekifu\ ;
+伝授 > denju\ ;
+事由 > jiyuu\ ;
+俎上 > sojou\ ;
+小判 > koban\ ;
+乾皮 > kanpi\ ;
+羽翼 > uyoku\ ;
+枝毛 > edage\ ;
+寿司 > sushi\ ;
+作家 > sakka\ ;
+首座 > shuza\ ;
+普選 > fusen\ ;
+首府 > shufu\ ;
+亡父 > boufu\ ;
+普遍 > fuhen\ ;
+余寒 > yokan\ ;
+時間 > jikan\ ;
+封印 > fuuin\ ;
+譜面 > fumen\ ;
+任期 > ninki\ ;
+赭土 > shado\ ;
+家屋 > kaoku\ ;
+家居 > kakyo\ ;
+讚辞 > sanji\ ;
+聖油 > seiyu\ ;
+腐乱 > furan\ ;
+専務 > senmu\ ;
+猟虎 > rakko\ ;
+普辺 > fuhen\ ;
+寝坊 > nebou\ ;
+飴煮 > ameni\ ;
+枢機 > suuki\ ;
+群舞 > gunbu\ ;
+根基 > konki\ ;
+住居 > sumai\ ;
+胃弱 > ijaku\ ;
+伝手 > tsute\ ;
+宵寝 > yoine\ ;
+宣布 > senpu\ ;
+足下 > sokka\ ;
+小僧 > kozou\ ;
+宝庫 > houko\ ;
+順路 > junro\ ;
+上荷 > uwani\ ;
+家宝 > kahou\ ;
+射利 > shari\ ;
+猛虎 > mouko\ ;
+字書 > jisho\ ;
+一葦 > ichii\ ;
+宮居 > miyai\ ;
+赤地 > akaji\ ;
+佐官 > sakan\ ;
+脱兎 > datto\ ;
+聖母 > seibo\ ;
+羽織 > haori\ ;
+腋下 > ekika\ ;
+義肢 > gishi\ ;
+騎乗 > kijou\ ;
+侍史 > jishi\ ;
+官府 > kanpu\ ;
+未知 > michi\ ;
+暗視 > anshi\ ;
+林檎 > ringo\ ;
+代案 > daian\ ;
+聖歌 > seika\ ;
+今次 > konji\ ;
+貴殿 > kiden\ ;
+下船 > gesen\ ;
+事犯 > jihan\ ;
+首尾 > shubi\ ;
+越冬 > ettou\ ;
+安心 > anjin\ ;
+献花 > kenka\ ;
+耳漏 > jirou\ ;
+賜暇 > shika\ ;
+一茎 > ikkei\ ;
+起原 > kigen\ ;
+胸囲 > kyoui\ ;
+字数 > jisuu\ ;
+貪汚 > tan''o\ ;
+班次 > hanji\ ;
+下腿 > katai\ ;
+餓死 > gashi\ ;
+星雲 > seiun\ ;
+寿像 > juzou\ ;
+価値 > kachi\ ;
+不能 > funou\ ;
+妖魔 > youma\ ;
+環化 > kanka\ ;
+一艘 > issou\ ;
+来演 > raien\ ;
+嫌疑 > kengi\ ;
+起動 > kidou\ ;
+仮数 > kasuu\ ;
+余塵 > yojin\ ;
+普賢 > fugen\ ;
+一般 > ippan\ ;
+休意 > kyuui\ ;
+養母 > youbo\ ;
+家声 > kasei\ ;
+実家 > jikka\ ;
+下肢 > kashi\ ;
+預言 > yogen\ ;
+一致 > itchi\ ;
+駅員 > ekiin\ ;
+会得 > etoku\ ;
+寝台 > nedai\ ;
+下聞 > kabun\ ;
+佳品 > kahin\ ;
+寡占 > kasen\ ;
+不老 > furou\ ;
+赤味 > akami\ ;
+護送 > gosou\ ;
+対価 > taika\ ;
+侏儒 > shuju\ ;
+尊下 > sonka\ ;
+他村 > tason\ ;
+杜漏 > zurou\ ;
+寡勢 > kazei\ ;
+宛字 > ateji\ ;
+査定 > satei\ ;
+宗家 > souke\ ;
+侍僧 > jisou\ ;
+余地 > yochi\ ;
+牝馬 > hinba\ ;
+美育 > biiku\ ;
+案分 > anbun\ ;
+能吏 > nouri\ ;
+仏果 > bukka\ ;
+耐火 > taika\ ;
+老爺 > rouya\ ;
+老父 > roufu\ ;
+警部 > keibu\ ;
+頭蓋 > zugai\ ;
+赤化 > sekka\ ;
+理数 > risuu\ ;
+亜流 > aryuu\ ;
+起債 > kisai\ ;
+象牙 > zouge\ ;
+一考 > ikkou\ ;
+東歌 > touka\ ;
+警邏 > keira\ ;
+安居 > ankyo\ ;
+東欧 > touou\ ;
+駆動 > kudou\ ;
+容器 > youki\ ;
+贔屓 > hiiki\ ;
+寡兵 > kahei\ ;
+世紀 > seiki\ ;
+他方 > tahou\ ;
+今期 > konki\ ;
+果断 > kadan\ ;
+任意 > nin''i\ ;
+類縁 > ruien\ ;
+余喘 > yozen\ ;
+讒誣 > zanbu\ ;
+亡母 > boubo\ ;
+果敢 > kakan\ ;
+安定 > antei\ ;
+下線 > kasen\ ;
+下緒 > sageo\ ;
+宇宙 > uchuu\ ;
+讒訴 > zanso\ ;
+官女 > kanjo\ ;
+音詩 > onshi\ ;
+不純 > fujun\ ;
+不納 > funou\ ;
+伎工 > gikou\ ;
+音訓 > onkun\ ;
+賢愚 > kengu\ ;
+胃壁 > iheki\ ;
+余命 > yomei\ ;
+伝家 > denka\ ;
+杜氏 > touji\ ;
+不粋 > busui\ ;
+妖雲 > youun\ ;
+赴任 > funin\ ;
+賦性 > fusei\ ;
+馴化 > junka\ ;
+一線 > issen\ ;
+一緒 > issho\ ;
+代打 > daida\ ;
+仮想 > kasou\ ;
+案件 > anken\ ;
+獣皮 > juuhi\ ;
+五段 > godan\ ;
+賛意 > san''i\ ;
+板木 > hangi\ ;
+貴方 > kihou\ ;
+飢民 > kimin\ ;
+一統 > ittou\ ;
+飛泉 > hisen\ ;
+未然 > mizen\ ;
+駐伊 > chuui\ ;
+好餌 > kouji\ ;
+映配 > eihai\ ;
+家君 > kakun\ ;
+孤帆 > kohan\ ;
+家名 > kamei\ ;
+一系 > ikkei\ ;
+寡人 > kajin\ ;
+仮性 > kasei\ ;
+作動 > sadou\ ;
+一糸 > isshi\ ;
+字形 > jikei\ ;
+不等 > futou\ ;
+校務 > koumu\ ;
+人時 > ninji\ ;
+羈絆 > kihan\ ;
+頭脳 > zunou\ ;
+余勢 > yosei\ ;
+下等 > katou\ ;
+駆使 > kushi\ ;
+佳例 > karei\ ;
+二死 > nishi\ ;
+宝器 > houki\ ;
+木灰 > kibai\ ;
+下端 > katan\ ;
+余剰 > yojou\ ;
+羅紗 > rasha\ ;
+奇麗 > kirei\ ;
+仕手 > shite\ ;
+孤島 > kotou\ ;
+馬券 > baken\ ;
+宮司 > guuji\ ;
+香味 > koumi\ ;
+余分 > yobun\ ;
+伝奇 > denki\ ;
+理想 > risou\ ;
+佳什 > kajuu\ ;
+佳人 > kajin\ ;
+一管 > ikkan\ ;
+宥和 > yuuwa\ ;
+佑助 > yuujo\ ;
+校具 > kougu\ ;
+議論 > giron\ ;
+一等 > ittou\ ;
+書画 > shoga\ ;
+獲物 > emono\ ;
+能事 > nouji\ ;
+奮飛 > funpi\ ;
+肥大 > hidai\ ;
+余党 > yotou\ ;
+余光 > yokou\ ;
+豪気 > gouki\ ;
+理性 > risei\ ;
+時論 > jiron\ ;
+警護 > keigo\ ;
+負数 > fusuu\ ;
+二様 > niyou\ ;
+義眼 > gigan\ ;
+査問 > samon\ ;
+理念 > rinen\ ;
+青馬 > aouma\ ;
+低利 > teiri\ ;
+譫語 > sengo\ ;
+未満 > miman\ ;
+家内 > kanai\ ;
+世知 > sechi\ ;
+定員 > teiin\ ;
+買手 > kaite\ ;
+容儀 > yougi\ ;
+実否 > jippi\ ;
+来期 > raiki\ ;
+乃父 > daifu\ ;
+家兄 > kakei\ ;
+季子 > kishi\ ;
+井桁 > igeta\ ;
+暗翳 > an''ei\ ;
+未済 > misai\ ;
+貴所 > kisho\ ;
+姉貴 > aneki\ ;
+時計 > tokei\ ;
+老母 > roubo\ ;
+他念 > tanen\ ;
+宛名 > atena\ ;
+女難 > jonan\ ;
+奴隷 > dorei\ ;
+世相 > sesou\ ;
+仲居 > nakai\ ;
+顕示 > kenji\ ;
+不知 > fuchi\ ;
+官吏 > kanri\ ;
+末派 > mappa\ ;
+何個 > nanko\ ;
+非難 > hinan\ ;
+下知 > gedji\ ;
+太鼓 > taiko\ ;
+下瞰 > kakan\ ;
+香具 > kougu\ ;
+須臾 > shuyu\ ;
+朝湯 > asayu\ ;
+五書 > gosho\ ;
+五更 > gokou\ ;
+奔馬 > honba\ ;
+聖恩 > seion\ ;
+嫌気 > kenki\ ;
+委託 > itaku\ ;
+不眠 > fumin\ ;
+亜族 > azoku\ ;
+王法 > ouhou\ ;
+仁慈 > jinji\ ;
+仮寓 > kaguu\ ;
+仏徒 > butto\ ;
+理工 > rikou\ ;
+板戸 > itado\ ;
+人我 > jinga\ ;
+家例 > karei\ ;
+貧打 > hinda\ ;
+余人 > yonin\ ;
+他店 > taten\ ;
+大黄 > daiou\ ;
+上着 > uwagi\ ;
+大麻 > taima\ ;
+本気 > honki\ ;
+仮定 > katei\ ;
+他年 > tanen\ ;
+老樹 > rouju\ ;
+付帯 > futai\ ;
+胎児 > taiji\ ;
+是認 > zenin\ ;
+負担 > futan\ ;
+家伝 > kaden\ ;
+暗線 > ansen\ ;
+上目 > uwame\ ;
+栄冠 > eikan\ ;
+低価 > teika\ ;
+王水 > ousui\ ;
+今後 > kongo\ ;
+聖徒 > seito\ ;
+世界 > sekai\ ;
+栄典 > eiten\ ;
+孟女 > moujo\ ;
+飛来 > hirai\ ;
+家令 > karei\ ;
+二曹 > nisou\ ;
+二更 > nikou\ ;
+宴会 > enkai\ ;
+青雲 > seiun\ ;
+馬上 > bajou\ ;
+上皮 > jouhi\ ;
+一矢 > isshi\ ;
+余世 > yosei\ ;
+馬丁 > batei\ ;
+家什 > kajuu\ ;
+栄光 > eikou\ ;
+家人 > kenin\ ;
+警衛 > keiei\ ;
+孝女 > koujo\ ;
+仁恕 > jinjo\ ;
+孟夏 > mouka\ ;
+斑鳩 > ikaru\ ;
+風波 > fuuha\ ;
+来援 > raien\ ;
+今度 > kondo\ ;
+下疳 > gekan\ ;
+会員 > kaiin\ ;
+乾枯 > kanko\ ;
+孤城 > kojou\ ;
+音色 > neiro\ ;
+乾果 > kanka\ ;
+而来 > jirai\ ;
+杜撰 > zusan\ ;
+譎詐 > kissa\ ;
+上疏 > jouso\ ;
+下番 > kaban\ ;
+不用 > fuyou\ ;
+考案 > kouan\ ;
+下界 > gekai\ ;
+下男 > genan\ ;
+下田 > geden\ ;
+低下 > teika\ ;
+理容 > riyou\ ;
+暖簾 > noren\ ;
+貴店 > kiten\ ;
+乾期 > kanki\ ;
+考査 > kousa\ ;
+他山 > tazan\ ;
+伝受 > denju\ ;
+主演 > shuen\ ;
+謝辞 > shaji\ ;
+予断 > yodan\ ;
+子女 > shijo\ ;
+人後 > jingo\ ;
+王権 > ouken\ ;
+飛散 > hisan\ ;
+暗算 > anzan\ ;
+胎仔 > taiji\ ;
+仮声 > kasei\ ;
+嬌態 > shina\ ;
+罪科 > zaika\ ;
+肥厚 > hikou\ ;
+負性 > fusei\ ;
+互換 > gokan\ ;
+美男 > binan\ ;
+露顕 > roken\ ;
+美田 > biden\ ;
+伶俐 > reiri\ ;
+天魔 > tenma\ ;
+定価 > teika\ ;
+露頭 > rotou\ ;
+讚美 > sanbi\ ;
+一生 > issei\ ;
+安全 > anzen\ ;
+五指 > goshi\ ;
+育児 > ikuji\ ;
+罌粟 > keshi\ ;
+宣下 > senge\ ;
+仏家 > bukke\ ;
+特記 > tokki\ ;
+貨幣 > kahei\ ;
+官位 > kan''i\ ;
+一環 > ikkan\ ;
+既遂 > kisui\ ;
+孵卵 > furan\ ;
+完備 > kanbi\ ;
+題画 > daiga\ ;
+好運 > kouun\ ;
+聖寿 > seiju\ ;
+飛揚 > hiyou\ ;
+球威 > kyuui\ ;
+謹話 > kinwa\ ;
+不犯 > fubon\ ;
+今宵 > koyoi\ ;
+守備 > shubi\ ;
+五戒 > gokai\ ;
+猜疑 > saigi\ ;
+官事 > kanji\ ;
+杞憂 > kiyuu\ ;
+今季 > konki\ ;
+理外 > rigai\ ;
+面部 > menbu\ ;
+明記 > meiki\ ;
+他姓 > tasei\ ;
+女郎 > jorou\ ;
+天馬 > tenba\ ;
+財布 > saifu\ ;
+未来 > mirai\ ;
+不燃 > funen\ ;
+一献 > ikkon\ ;
+五感 > gokan\ ;
+施錠 > sejou\ ;
+安住 > anjuu\ ;
+耳底 > jitei\ ;
+非道 > hidou\ ;
+五情 > gojou\ ;
+霧雰 > mufun\ ;
+板屋 > itaya\ ;
+一犬 > ikken\ ;
+五悪 > goaku\ ;
+学区 > gakku\ ;
+人寿 > jinju\ ;
+有機 > yuuki\ ;
+讃美 > sanbi\ ;
+与点 > yoten\ ;
+一版 > ippan\ ;
+人家 > jinka\ ;
+頭皮 > touhi\ ;
+未明 > mimei\ ;
+互恵 > gokei\ ;
+事態 > jitai\ ;
+果報 > kahou\ ;
+面輪 > omowa\ ;
+貧富 > hinpu\ ;
+現場 > genba\ ;
+貧家 > hinka\ ;
+養家 > youka\ ;
+課題 > kadai\ ;
+類火 > ruika\ ;
+存否 > zonpi\ ;
+交差 > kousa\ ;
+板子 > itago\ ;
+奠都 > tento\ ;
+事情 > jijou\ ;
+貴姉 > kishi\ ;
+予感 > yokan\ ;
+聖夜 > seiya\ ;
+今夏 > konka\ ;
+字号 > jigou\ ;
+予想 > yosou\ ;
+五彩 > gosai\ ;
+任務 > ninmu\ ;
+方里 > houri\ ;
+王政 > ousei\ ;
+季刊 > kikan\ ;
+架台 > kadai\ ;
+美点 > biten\ ;
+二念 > ninen\ ;
+講話 > kouwa\ ;
+一点 > itten\ ;
+賛否 > sanpi\ ;
+大雨 > ooame\ ;
+夕餉 > yuuge\ ;
+太陰 > taiin\ ;
+朝日 > asahi\ ;
+代員 > daiin\ ;
+上演 > jouen\ ;
+雲高 > unkou\ ;
+五常 > gojou\ ;
+文雅 > bunga\ ;
+交尾 > koubi\ ;
+不満 > fuman\ ;
+贈与 > zouyo\ ;
+乱打 > randa\ ;
+外題 > gedai\ ;
+牡蠣 > borei\ ;
+奮起 > funki\ ;
+人夫 > ninpu\ ;
+耶嬢 > yajou\ ;
+互市 > goshi\ ;
+養女 > youjo\ ;
+妄語 > mougo\ ;
+貞婦 > teifu\ ;
+義民 > gimin\ ;
+多面 > tamen\ ;
+耳孔 > jikou\ ;
+語類 > gorui\ ;
+方途 > houto\ ;
+仏器 > bukki\ ;
+交宜 > kougi\ ;
+日課 > nikka\ ;
+聯句 > renku\ ;
+語頭 > gotou\ ;
+亜属 > azoku\ ;
+有期 > yuuki\ ;
+賛助 > sanjo\ ;
+語順 > gojun\ ;
+主査 > shusa\ ;
+季候 > kikou\ ;
+多難 > tanan\ ;
+字典 > jiten\ ;
+貴地 > kichi\ ;
+代印 > daiin\ ;
+義歯 > gishi\ ;
+好誼 > kougi\ ;
+不浄 > fujou\ ;
+日記 > nikki\ ;
+以北 > ihoku\ ;
+子分 > kobun\ ;
+猛火 > mouka\ ;
+外需 > gaiju\ ;
+学位 > gakui\ ;
+本手 > honte\ ;
+来季 > raiki\ ;
+貞女 > teijo\ ;
+音程 > ontei\ ;
+翻意 > hon''i\ ;
+謀議 > bougi\ ;
+不法 > fuhou\ ;
+美港 > bikou\ ;
+代務 > daimu\ ;
+不治 > fuchi\ ;
+羅漢 > rakan\ ;
+餬口 > kokou\ ;
+罹災 > risai\ ;
+未成 > misei\ ;
+最期 > saigo\ ;
+雪駄 > setta\ ;
+夕陽 > yuuhi\ ;
+夜間 > yakan\ ;
+亡婦 > boufu\ ;
+奇遇 > kiguu\ ;
+書架 > shoka\ ;
+老後 > rougo\ ;
+什器 > juuki\ ;
+旅費 > ryohi\ ;
+井守 > imori\ ;
+青貝 > aogai\ ;
+下水 > gesui\ ;
+五官 > gokan\ ;
+奈辺 > nahen\ ;
+整除 > seijo\ ;
+不毛 > fumou\ ;
+下民 > gemin\ ;
+本意 > hon''i\ ;
+嫌悪 > ken''o\ ;
+旧衣 > kyuui\ ;
+貧土 > hindo\ ;
+既製 > kisei\ ;
+電離 > denri\ ;
+上気 > jouki\ ;
+類比 > ruihi\ ;
+飢寒 > kikan\ ;
+一洗 > issen\ ;
+下殿 > geden\ ;
+不死 > fushi\ ;
+下段 > gedan\ ;
+零露 > reiro\ ;
+不正 > fusei\ ;
+二封 > nifuu\ ;
+雷雲 > raiun\ ;
+字体 > jitai\ ;
+期成 > kisei\ ;
+他動 > tadou\ ;
+類歌 > ruika\ ;
+謁見 > ekken\ ;
+亡夫 > boufu\ ;
+上歯 > uwaba\ ;
+二宮 > niguu\ ;
+斗酒 > toshu\ ;
+他励 > tarei\ ;
+不欄 > furan\ ;
+班員 > hanin\ ;
+諷誦 > fuuju\ ;
+嫌忌 > kengi\ ;
+今古 > kinko\ ;
+諮議 > shigi\ ;
+三次 > sanji\ ;
+一水 > issui\ ;
+仇名 > adana\ ;
+予定 > yotei\ ;
+貴君 > kikun\ ;
+断路 > danro\ ;
+狼煙 > rouen\ ;
+貴名 > kimei\ ;
+貴台 > kidai\ ;
+仮令 > tatoe\ ;
+一段 > ittan\ ;
+女装 > josou\ ;
+牛蒡 > gobou\ ;
+暗然 > anzen\ ;
+一死 > isshi\ ;
+一歳 > issai\ ;
+来場 > raiba\ ;
+課金 > kakin\ ;
+音盤 > onban\ ;
+介助 > kaijo\ ;
+万機 > banki\ ;
+飯場 > hanba\ ;
+羊歯 > shida\ ;
+風情 > fuzei\ ;
+代価 > daika\ ;
+架上 > kajou\ ;
+声音 > seion\ ;
+暗点 > anten\ ;
+狼火 > rouka\ ;
+仕儀 > shigi\ ;
+暖炉 > danro\ ;
+非行 > hikou\ ;
+乾季 > kanki\ ;
+大部 > daibu\ ;
+奉賀 > houga\ ;
+豪家 > gouka\ ;
+時空 > jikuu\ ;
+音痴 > onchi\ ;
+期待 > kitai\ ;
+文部 > monbu\ ;
+井堰 > iseki\ ;
+大過 > taika\ ;
+暗澹 > antan\ ;
+王師 > oushi\ ;
+話題 > wadai\ ;
+事大 > jidai\ ;
+多重 > tajuu\ ;
+話頭 > watou\ ;
+二士 > nishi\ ;
+事変 > jihen\ ;
+晩生 > okute\ ;
+雨間 > amaai\ ;
+妖艶 > youen\ ;
+外野 > gaiya\ ;
+下校 > gekou\ ;
+現価 > genka\ ;
+論議 > rongi\ ;
+負号 > fugou\ ;
+試飲 > shiin\ ;
+読過 > dokka\ ;
+明美 > meibi\ ;
+付会 > fukai\ ;
+貴公 > kikou\ ;
+請負 > ukeoi\ ;
+主我 > shuga\ ;
+飽和 > houwa\ ;
+二塁 > nirui\ ;
+誤配 > gohai\ ;
+貴兄 > kikei\ ;
+奇警 > kikei\ ;
+離間 > rikan\ ;
+翻字 > honji\ ;
+飛報 > hihou\ ;
+貴僧 > kisou\ ;
+繋辞 > keiji\ ;
+日華 > nikka\ ;
+予報 > yohou\ ;
+他人 > tanin\ ;
+雄飛 > yuuhi\ ;
+外部 > gaibu\ ;
+論語 > rongo\ ;
+曜日 > youbi\ ;
+老婦 > roufu\ ;
+外郎 > uirou\ ;
+青蝿 > aobae\ ;
+罨法 > anpou\ ;
+暗渠 > ankyo\ ;
+老婆 > rouba\ ;
+奇談 > kidan\ ;
+財務 > zaimu\ ;
+下書 > gesho\ ;
+亭午 > teigo\ ;
+施行 > sekou\ ;
+一校 > ikkou\ ;
+最愛 > saiai\ ;
+曖昧 > aimai\ ;
+早苗 > sanae\ ;
+万朶 > banda\ ;
+本家 > honke\ ;
+外道 > gedou\ ;
+媚態 > bitai\ ;
+時短 > jitan\ ;
+暗涙 > anrui\ ;
+有心 > ushin\ ;
+現世 > genze\ ;
+二回 > nikai\ ;
+現下 > genka\ ;
+暢気 > nonki\ ;
+老妓 > rougi\ ;
+未定 > mitei\ ;
+耕土 > koudo\ ;
+本字 > honji\ ;
+不易 > fueki\ ;
+交叉 > kousa\ ;
+未完 > mikan\ ;
+奇計 > kikei\ ;
+不明 > fumei\ ;
+貼付 > tenpu\ ;
+末季 > makki\ ;
+老女 > roujo\ ;
+主恩 > shuon\ ;
+一杯 > ippai\ ;
+美本 > bihon\ ;
+三時 > sanji\ ;
+上映 > jouei\ ;
+奇観 > kikan\ ;
+王孫 > ouson\ ;
+下旬 > gejun\ ;
+不断 > fudan\ ;
+一本 > ippon\ ;
+不斉 > fusei\ ;
+不文 > fubun\ ;
+材器 > zaiki\ ;
+下方 > kahou\ ;
+不整 > fusei\ ;
+不敬 > fukei\ ;
+三日 > mikka\ ;
+一曹 > issou\ ;
+一書 > issho\ ;
+時相 > jisou\ ;
+一更 > ikkou\ ;
+始祖 > shiso\ ;
+不敗 > fuhai\ ;
+不敏 > fubin\ ;
+天賦 > tenpu\ ;
+豎子 > jushi\ ;
+豊富 > houfu\ ;
+美景 > bikei\ ;
+露見 > roken\ ;
+義挙 > gikyo\ ;
+下放 > kahou\ ;
+談話 > danwa\ ;
+最後 > saigo\ ;
+貴人 > kijin\ ;
+敬遠 > keien\ ;
+未婚 > mikon\ ;
+朝寝 > asane\ ;
+貸与 > taiyo\ ;
+亘古 > kouko\ ;
+暖気 > nonki\ ;
+乾固 > kanko\ ;
+不撓 > futou\ ;
+綺麗 > kirei\ ;
+負債 > fusai\ ;
+乙子 > otogo\ ;
+婚期 > konki\ ;
+大豆 > daizu\ ;
+講義 > kougi\ ;
+雨量 > uryou\ ;
+一旦 > ittan\ ;
+奇行 > kikou\ ;
+人位 > jin''i\ ;
+義手 > gishu\ ;
+美文 > bibun\ ;
+一方 > ippou\ ;
+暑気 > shoki\ ;
+一斤 > ikkin\ ;
+義戦 > gisen\ ;
+一斑 > ippan\ ;
+一斉 > issei\ ;
+誹謗 > hibou\ ;
+旗艦 > kikan\ ;
+緋鯉 > higoi\ ;
+一敗 > ippai\ ;
+羈旅 > kiryo\ ;
+五十 > gojuu\ ;
+義憤 > gifun\ ;
+二君 > nikun\ ;
+世才 > sesai\ ;
+貫主 > kanju\ ;
+二号 > nigou\ ;
+最左 > saisa\ ;
+未墾 > mikon\ ;
+亡児 > bouji\ ;
+書庫 > shoko\ ;
+本場 > honba\ ;
+電路 > denro\ ;
+外貨 > gaika\ ;
+乙女 > otome\ ;
+文語 > bungo\ ;
+世態 > setai\ ;
+玩味 > ganmi\ ;
+顧慮 > koryo\ ;
+誘起 > yuuki\ ;
+不才 > fusai\ ;
+夜警 > yakei\ ;
+隠顕 > inken\ ;
+不戦 > fusen\ ;
+王城 > oujou\ ;
+一掃 > issou\ ;
+上手 > jouzu\ ;
+本土 > hondo\ ;
+世情 > sejou\ ;
+上戸 > jougo\ ;
+美挙 > bikyo\ ;
+多謝 > tasha\ ;
+不憫 > fubin\ ;
+事前 > jizen\ ;
+一挙 > ikkyo\ ;
+離農 > rinou\ ;
+万戸 > banko\ ;
+一指 > isshi\ ;
+音源 > ongen\ ;
+不慮 > furyo\ ;
+耳介 > jikai\ ;
+二分 > nibun\ ;
+暫時 > zanji\ ;
+明示 > meiji\ ;
+壮途 > souto\ ;
+主家 > shuka\ ;
+隠面 > inmen\ ;
+交付 > koufu\ ;
+訴願 > sogan\ ;
+不愍 > fubin\ ;
+義弟 > gitei\ ;
+父老 > furou\ ;
+率土 > sotto\ ;
+交互 > kougo\ ;
+誤認 > gonin\ ;
+雪踏 > setta\ ;
+天衣 > ten''i\ ;
+面罵 > menba\ ;
+一才 > issai\ ;
+事典 > jiten\ ;
+外語 > gaigo\ ;
+多言 > tagen\ ;
+一戦 > issen\ ;
+下情 > kajou\ ;
+五倫 > gorin\ ;
+耕具 > kougu\ ;
+五倍 > gobai\ ;
+順次 > junji\ ;
+犠牲 > gisei\ ;
+誤解 > gokai\ ;
+誣言 > fugen\ ;
+書家 > shoka\ ;
+願意 > gan''i\ ;
+語誌 > goshi\ ;
+詭道 > kidou\ ;
+主婦 > shufu\ ;
+景気 > keiki\ ;
+不快 > fukai\ ;
+風土 > fuudo\ ;
+中尉 > chuui\ ;
+難路 > nanro\ ;
+燃費 > nenpi\ ;
+美感 > bikan\ ;
+有夫 > yuufu\ ;
+五体 > gotai\ ;
+老化 > rouka\ ;
+有夏 > yuuka\ ;
+嫌味 > iyami\ ;
+一意 > ichii\ ;
+普段 > fudan\ ;
+二倍 > nibai\ ;
+讚歌 > sanka\ ;
+下御 > gegyo\ ;
+玩具 > gangu\ ;
+詭辯 > kiben\ ;
+不当 > futou\ ;
+奥義 > okugi\ ;
+電話 > denwa\ ;
+世帯 > setai\ ;
+時点 > jiten\ ;
+敬語 > keigo\ ;
+夜行 > yakou\ ;
+猛打 > mouda\ ;
+需要 > juyou\ ;
+大蛇 > daija\ ;
+下弦 > kagen\ ;
+朱印 > shuin\ ;
+事例 > jirei\ ;
+外被 > gaihi\ ;
+事体 > jitai\ ;
+最多 > saita\ ;
+特異 > tokui\ ;
+不幸 > fukou\ ;
+風喩 > fuuyu\ ;
+不平 > fuhei\ ;
+顕微 > kenbi\ ;
+女系 > jokei\ ;
+谷地 > yachi\ ;
+上座 > jouza\ ;
+縁辺 > enpen\ ;
+雄途 > yuuto\ ;
+事件 > jiken\ ;
+三度 > sando\ ;
+三府 > sanpu\ ;
+支部 > shibu\ ;
+美形 > bikei\ ;
+媾和 > kouwa\ ;
+父系 > fukei\ ;
+乗員 > jouin\ ;
+予令 > yorei\ ;
+支那 > shina\ ;
+下巻 > gekan\ ;
+二乗 > nijou\ ;
+上布 > joufu\ ;
+老儒 > rouju\ ;
+本務 > honmu\ ;
+二世 > nisei\ ;
+二三 > nisan\ ;
+譲渡 > jouto\ ;
+風味 > fuumi\ ;
+義子 > gishi\ ;
+九十 > kujuu\ ;
+罹患 > rikan\ ;
+未到 > mitou\ ;
+護法 > gohou\ ;
+而今 > jikon\ ;
+豚児 > tonji\ ;
+一帯 > ittai\ ;
+讃歌 > sanka\ ;
+旺盛 > ousei\ ;
+未刊 > mikan\ ;
+難語 > nango\ ;
+故買 > kobai\ ;
+雑費 > zappi\ ;
+王制 > ousei\ ;
+主因 > shuin\ ;
+朱儒 > shuju\ ;
+雑貨 > zakka\ ;
+奇聞 > kibun\ ;
+不尽 > fujin\ ;
+下山 > gezan\ ;
+敗訴 > haiso\ ;
+下層 > kasou\ ;
+声誉 > seiyo\ ;
+雅趣 > gashu\ ;
+上屋 > uwaya\ ;
+王冠 > oukan\ ;
+風化 > fuuka\ ;
+壮語 > sougo\ ;
+乗務 > joumu\ ;
+暴徒 > bouto\ ;
+王公 > oukou\ ;
+義姉 > gishi\ ;
+不宣 > fusen\ ;
+義妹 > gimai\ ;
+王党 > outou\ ;
+不定 > futei\ ;
+三尉 > san''i\ ;
+険阻 > kenso\ ;
+不孝 > fukou\ ;
+万寿 > banju\ ;
+詮議 > sengi\ ;
+類字 > ruiji\ ;
+降魔 > gouma\ ;
+天花 > tenka\ ;
+音栓 > onsen\ ;
+義士 > gishi\ ;
+一層 > issou\ ;
+韻書 > insho\ ;
+施米 > semai\ ;
+詞賦 > shifu\ ;
+期内 > kinai\ ;
+既知 > kichi\ ;
+譲歩 > jouho\ ;
+詭謀 > kibou\ ;
+文苑 > bunen\ ;
+静穏 > seion\ ;
+机上 > kijou\ ;
+陰険 > inken\ ;
+一尉 > ichii\ ;
+一封 > ippuu\ ;
+美容 > biyou\ ;
+晩期 > banki\ ;
+繁華 > hanka\ ;
+頻度 > hindo\ ;
+談義 > dangi\ ;
+隠遁 > inton\ ;
+非礼 > hirei\ ;
+本位 > hon''i\ ;
+一定 > ittei\ ;
+王侯 > oukou\ ;
+頓挫 > tonza\ ;
+丁字 > teiji\ ;
+雑記 > zakki\ ;
+不姙 > funin\ ;
+隠退 > intai\ ;
+靱皮 > jinpi\ ;
+風儀 > fuugi\ ;
+詩語 > shigo\ ;
+詭計 > kikei\ ;
+除霜 > josou\ ;
+威服 > ifuku\ ;
+除霊 > jorei\ ;
+不妊 > funin\ ;
+塩類 > enrui\ ;
+陰門 > inmon\ ;
+旧痾 > kyuua\ ;
+韻文 > inbun\ ;
+縁談 > endan\ ;
+靭皮 > jinpi\ ;
+最古 > saiko\ ;
+繁茂 > hanmo\ ;
+多芸 > tagei\ ;
+除隊 > jotai\ ;
+婚家 > konka\ ;
+不変 > fuhen\ ;
+題字 > daiji\ ;
+三女 > sanjo\ ;
+外苑 > gaien\ ;
+末世 > masse\ ;
+有利 > yuuri\ ;
+下士 > kashi\ ;
+三夏 > sanka\ ;
+牡牛 > oushi\ ;
+万夫 > banpu\ ;
+主務 > shumu\ ;
+版画 > hanga\ ;
+諭示 > yushi\ ;
+電荷 > denka\ ;
+雅言 > gagen\ ;
+不堪 > fukan\ ;
+暗影 > an''ei\ ;
+青磁 > seiji\ ;
+無風 > mufuu\ ;
+面皮 > menpi\ ;
+頭巾 > zukin\ ;
+大義 > taigi\ ;
+無類 > murui\ ;
+美大 > bidai\ ;
+線路 > senro\ ;
+無題 > mudai\ ;
+無頼 > burai\ ;
+試補 > shiho\ ;
+頑愚 > gangu\ ;
+一天 > itten\ ;
+美声 > bisei\ ;
+多能 > tanou\ ;
+下城 > gejou\ ;
+是正 > zesei\ ;
+一変 > ippen\ ;
+罷官 > hikan\ ;
+散華 > sange\ ;
+一士 > isshi\ ;
+下垂 > kasui\ ;
+夏至 > geshi\ ;
+総身 > soumi\ ;
+不在 > fuzai\ ;
+中医 > chuui\ ;
+誤聞 > gobun\ ;
+一報 > ippou\ ;
+上図 > jouzu\ ;
+面画 > menga\ ;
+煙道 > endou\ ;
+女生 > josei\ ;
+無電 > muden\ ;
+無難 > bunan\ ;
+外耳 > gaiji\ ;
+非番 > hiban\ ;
+顧問 > komon\ ;
+有価 > yuuka\ ;
+有余 > yuuyo\ ;
+解離 > kairi\ ;
+無限 > mugen\ ;
+解雇 > kaiko\ ;
+不善 > fuzen\ ;
+雪花 > sekka\ ;
+曠古 > kouko\ ;
+解除 > kaijo\ ;
+不問 > fumon\ ;
+一回 > ikkai\ ;
+附随 > fuzui\ ;
+繊維 > sen''i\ ;
+有事 > yuuji\ ;
+下問 > kamon\ ;
+明治 > meiji\ ;
+丙午 > heigo\ ;
+義勇 > giyuu\ ;
+頒布 > hanpu\ ;
+論破 > ronpa\ ;
+罵声 > basei\ ;
+下品 > gehin\ ;
+防音 > bouon\ ;
+月下 > gekka\ ;
+記載 > kisai\ ;
+訓辞 > kunji\ ;
+夢精 > musei\ ;
+下命 > kamei\ ;
+主事 > shuji\ ;
+外縁 > gaien\ ;
+不同 > fudou\ ;
+音感 > onkan\ ;
+時文 > jibun\ ;
+奇知 > kichi\ ;
+総譜 > soufu\ ;
+下向 > gekou\ ;
+下名 > kamei\ ;
+講演 > kouen\ ;
+不参 > fusan\ ;
+順序 > junjo\ ;
+類句 > ruiku\ ;
+上句 > jouku\ ;
+上古 > jouko\ ;
+最下 > saika\ ;
+隠見 > inken\ ;
+義兵 > gihei\ ;
+三叉 > sansa\ ;
+一品 > ippin\ ;
+義兄 > gikei\ ;
+万古 > banko\ ;
+険路 > kenro\ ;
+始期 > shiki\ ;
+下半 > kahan\ ;
+防除 > boujo\ ;
+不勢 > buzei\ ;
+話芸 > wagei\ ;
+不動 > fudou\ ;
+不労 > furou\ ;
+美名 > bimei\ ;
+塩酸 > ensan\ ;
+大穴 > ooana\ ;
+猪口 > choko\ ;
+露盤 > roban\ ;
+万化 > banka\ ;
+威徳 > itoku\ ;
+一反 > ittan\ ;
+一双 > issou\ ;
+斤目 > kinme\ ;
+牧歌 > bokka\ ;
+下剤 > gezai\ ;
+無銭 > musen\ ;
+場面 > bamen\ ;
+言辞 > genji\ ;
+課税 > kazei\ ;
+課程 > katei\ ;
+無銘 > mumei\ ;
+誤算 > gosan\ ;
+不凡 > fubon\ ;
+爪牙 > souga\ ;
+太祖 > taiso\ ;
+暗夜 > an''ya\ ;
+不凍 > futou\ ;
+天祖 > tenso\ ;
+一半 > ippan\ ;
+一千 > issen\ ;
+妖気 > youki\ ;
+好演 > kouen\ ;
+誤答 > gotou\ ;
+文科 > bunka\ ;
+護憲 > goken\ ;
+多端 > tatan\ ;
+与党 > yotou\ ;
+不全 > fuzen\ ;
+詠草 > eisou\ ;
+不党 > futou\ ;
+雄花 > obana\ ;
+既済 > kisai\ ;
+壮美 > soubi\ ;
+墓誌 > boshi\ ;
+多種 > tashu\ ;
+綺談 > kidan\ ;
+無配 > muhai\ ;
+犯意 > han''i\ ;
+下僧 > gesou\ ;
+義人 > gijin\ ;
+一切 > issai\ ;
+一分 > ippun\ ;
+一刀 > ittou\ ;
+奇瑞 > kizui\ ;
+論理 > ronri\ ;
+大破 > taiha\ ;
+不偏 > fuhen\ ;
+雅致 > gachi\ ;
+不倫 > furin\ ;
+話者 > washa\ ;
+署員 > shoin\ ;
+講武 > koubu\ ;
+日波 > nippo\ ;
+世代 > sedai\ ;
+一再 > issai\ ;
+世人 > sejin\ ;
+故老 > korou\ ;
+猿人 > enjin\ ;
+星斗 > seito\ ;
+上値 > uwane\ ;
+一党 > ittou\ ;
+無道 > mudou\ ;
+不便 > fuben\ ;
+討議 > tougi\ ;
+増補 > zouho\ ;
+不例 > furei\ ;
+織目 > orime\ ;
+継起 > keiki\ ;
+訓話 > kunwa\ ;
+無辺 > muhen\ ;
+世上 > sejou\ ;
+与件 > yoken\ ;
+下体 > katai\ ;
+類似 > ruiji\ ;
+隠蔽 > inpei\ ;
+羅典 > raten\ ;
+陰謀 > inbou\ ;
+訓詁 > kunko\ ;
+三佐 > sansa\ ;
+三位 > sanmi\ ;
+娑婆 > shaba\ ;
+不仁 > fujin\ ;
+丈余 > jouyo\ ;
+明暗 > meian\ ;
+妓楼 > girou\ ;
+文目 > ayame\ ;
+好気 > kouki\ ;
+猶予 > yuuyo\ ;
+変移 > hen''i\ ;
+附近 > fukin\ ;
+下人 > genin\ ;
+暴利 > bouri\ ;
+暗喩 > an''yu\ ;
+塑造 > sozou\ ;
+婚儀 > kongi\ ;
+下乗 > gejou\ ;
+擬製 > gisei\ ;
+紙魚 > shimi\ ;
+万事 > banji\ ;
+擬装 > gisou\ ;
+一体 > ittai\ ;
+一位 > ichii\ ;
+諸派 > shoha\ ;
+上下 > jouge\ ;
+夜盗 > yatou\ ;
+三世 > sanze\ ;
+電磁 > denji\ ;
+晴夜 > seiya\ ;
+婦人 > fujin\ ;
+頑固 > ganko\ ;
+時弊 > jihei\ ;
+一件 > ikken\ ;
+美人 > bijin\ ;
+一介 > ikkai\ ;
+罷免 > himen\ ;
+大瓶 > oobin\ ;
+言語 > gengo\ ;
+好機 > kouki\ ;
+故紙 > koshi\ ;
+夷狄 > iteki\ ;
+暗君 > ankun\ ;
+外皮 > gaihi\ ;
+暗合 > angou\ ;
+暗号 > angou\ ;
+護岸 > gogan\ ;
+一世 > issei\ ;
+物故 > bukko\ ;
+天理 > tenri\ ;
+夏眠 > kamin\ ;
+素養 > soyou\ ;
+姐御 > anego\ ;
+夜番 > yoban\ ;
+露点 > roten\ ;
+晩夏 > banka\ ;
+音大 > ondai\ ;
+音声 > onsei\ ;
+文理 > bunri\ ;
+多用 > tayou\ ;
+多産 > tasan\ ;
+大王 > daiou\ ;
+罵倒 > batou\ ;
+素顔 > sugao\ ;
+改組 > kaiso\ ;
+紫雲 > shiun\ ;
+編者 > henja\ ;
+女権 > joken\ ;
+誤用 > goyou\ ;
+姉御 > anego\ ;
+外界 > gekai\ ;
+擁護 > yougo\ ;
+天狗 > tengu\ ;
+父権 > fuken\ ;
+奥歯 > okuba\ ;
+早期 > souki\ ;
+素面 > sumen\ ;
+議定 > gitei\ ;
+天父 > tenpu\ ;
+需用 > juyou\ ;
+縫目 > nuime\ ;
+無謀 > mubou\ ;
+旅次 > ryoji\ ;
+日本 > nihon\ ;
+版木 > hangi\ ;
+靈氣 > reiki\ ;
+無論 > muron\ ;
+非業 > higou\ ;
+填補 > tenpo\ ;
+難破 > nanpa\ ;
+旦暮 > tanbo\ ;
+変異 > hen''i\ ;
+既望 > kibou\ ;
+陛衛 > heiei\ ;
+糸魚 > itoyo\ ;
+雨着 > amagi\ ;
+威圧 > iatsu\ ;
+好期 > kouki\ ;
+姦婦 > kanpu\ ;
+解語 > kaigo\ ;
+整理 > seiri\ ;
+無言 > mugon\ ;
+如是 > nyoze\ ;
+爾来 > jirai\ ;
+片時 > henji\ ;
+綿花 > menka\ ;
+陰蔽 > inpei\ ;
+天為 > ten''i\ ;
+威嚇 > ikaku\ ;
+無視 > mushi\ ;
+数理 > suuri\ ;
+経過 > keika\ ;
+熱砂 > nessa\ ;
+星座 > seiza\ ;
+天火 > tenpi\ ;
+埠頭 > futou\ ;
+猊下 > geika\ ;
+附言 > fugen\ ;
+大火 > taika\ ;
+姦夫 > kanpu\ ;
+順化 > junka\ ;
+防護 > bougo\ ;
+非望 > hibou\ ;
+頭上 > zujou\ ;
+議士 > gishi\ ;
+時好 > jikou\ ;
+青梅 > aoume\ ;
+塗装 > tosou\ ;
+詩碑 > shihi\ ;
+故知 > kochi\ ;
+隠線 > insen\ ;
+契機 > keiki\ ;
+視野 > shiya\ ;
+議場 > gijou\ ;
+摸造 > mozou\ ;
+陰茎 > inkei\ ;
+斧正 > fusei\ ;
+青果 > seika\ ;
+燠火 > okibi\ ;
+音名 > onmei\ ;
+明度 > meido\ ;
+妥当 > datou\ ;
+時報 > jihou\ ;
+経路 > keiro\ ;
+斯様 > kayou\ ;
+塩蔵 > enzou\ ;
+映射 > eisha\ ;
+頒価 > hanka\ ;
+諺文 > onmon\ ;
+墨絵 > sumie\ ;
+細部 > saibu\ ;
+練磨 > renma\ ;
+除草 > josou\ ;
+譏嫌 > kigen\ ;
+奥旨 > oushi\ ;
+基金 > kikin\ ;
+経費 > keihi\ ;
+記者 > kisha\ ;
+謝恩 > shaon\ ;
+昆布 > konbu\ ;
+雲煙 > un''en\ ;
+天河 > tenga\ ;
+諭旨 > yushi\ ;
+燐火 > rinka\ ;
+好打 > kouda\ ;
+既成 > kisei\ ;
+防衛 > bouei\ ;
+大河 > taiga\ ;
+雷火 > raika\ ;
+緇素 > shiso\ ;
+網羅 > moura\ ;
+天気 > tenki\ ;
+順位 > jun''i\ ;
+訓義 > kungi\ ;
+昨夜 > yuube\ ;
+大気 > taiki\ ;
+無蓋 > mugai\ ;
+語源 > gogen\ ;
+覇道 > hadou\ ;
+普偏 > fuhen\ ;
+敢為 > kan''i\ ;
+陰翳 > in''ei\ ;
+旗手 > kishu\ ;
+西部 > seibu\ ;
+雇用 > koyou\ ;
+音像 > onzou\ ;
+妻女 > saijo\ ;
+操舵 > souda\ ;
+大歌 > oouta\ ;
+講座 > kouza\ ;
+文殊 > monju\ ;
+星夜 > seiya\ ;
+無菌 > mukin\ ;
+文武 > bunbu\ ;
+非才 > hisai\ ;
+奇書 > kisho\ ;
+夫権 > fuken\ ;
+天機 > tenki\ ;
+霊気 > reiki\ ;
+明媚 > meibi\ ;
+無茶 > mucha\ ;
+音便 > onbin\ ;
+牢屋 > rouya\ ;
+奇智 > kichi\ ;
+多毛 > tamou\ ;
+威信 > ishin\ ;
+語法 > gohou\ ;
+大樹 > taiju\ ;
+外気 > gaiki\ ;
+無芸 > mugei\ ;
+大様 > ooyou\ ;
+奥手 > okute\ ;
+綱紀 > kouki\ ;
+製麻 > seima\ ;
+総社 > souja\ ;
+電波 > denpa\ ;
+時半 > jihan\ ;
+警句 > keiku\ ;
+非情 > hijou\ ;
+請暇 > seika\ ;
+時化 > shike\ ;
+女性 > josei\ ;
+雨滴 > uteki\ ;
+奇数 > kisuu\ ;
+雄猫 > oneko\ ;
+時勢 > jisei\ ;
+斧斤 > fukin\ ;
+雲海 > unkai\ ;
+雑煮 > zouni\ ;
+時効 > jikou\ ;
+星図 > seizu\ ;
+父性 > fusei\ ;
+要路 > youro\ ;
+女御 > nyogo\ ;
+電気 > denki\ ;
+斡旋 > assen\ ;
+雲泥 > undei\ ;
+警務 > keimu\ ;
+時制 > jisei\ ;
+雄牛 > oushi\ ;
+時分 > jibun\ ;
+無能 > munou\ ;
+多様 > tayou\ ;
+犬儒 > kenju\ ;
+火難 > kanan\ ;
+数次 > suuji\ ;
+妖婦 > youfu\ ;
+敵機 > tekki\ ;
+雲水 > unsui\ ;
+妖婆 > youba\ ;
+旗幟 > kishi\ ;
+青息 > aoiki\ ;
+閑雅 > kanga\ ;
+大枝 > ooeda\ ;
+売淫 > baiin\ ;
+霧散 > musan\ ;
+女帝 > jotei\ ;
+雨注 > uchuu\ ;
+放火 > houka\ ;
+奉持 > houji\ ;
+女工 > jokou\ ;
+電機 > denki\ ;
+線画 > senga\ ;
+非常 > hijou\ ;
+妖女 > youjo\ ;
+新手 > arate\ ;
+静座 > seiza\ ;
+無罪 > muzai\ ;
+散歩 > sanpo\ ;
+雨氷 > uhyou\ ;
+文書 > monjo\ ;
+開院 > kaiin\ ;
+妊婦 > ninpu\ ;
+時候 > jikou\ ;
+閉院 > heiin\ ;
+既定 > kitei\ ;
+警備 > keibi\ ;
+奇才 > kisai\ ;
+奇手 > kishu\ ;
+天日 > tenpi\ ;
+大映 > daiei\ ;
+夜来 > yarai\ ;
+好宜 > kougi\ ;
+紛議 > fungi\ ;
+除算 > jozan\ ;
+既存 > kison\ ;
+議会 > gikai\ ;
+離水 > risui\ ;
+訓示 > kunji\ ;
+試演 > shien\ ;
+撫育 > buiku\ ;
+防腐 > boufu\ ;
+語根 > gokon\ ;
+撰者 > senja\ ;
+熱波 > neppa\ ;
+多望 > tabou\ ;
+陶磁 > touji\ ;
+女尊 > joson\ ;
+奇態 > kitai\ ;
+時代 > jidai\ ;
+譲与 > jouyo\ ;
+無線 > musen\ ;
+牢固 > rouko\ ;
+夜景 > yakei\ ;
+摘記 > tekki\ ;
+既婚 > kikon\ ;
+時人 > jijin\ ;
+雄滝 > odaki\ ;
+牙城 > gajou\ ;
+奇想 > kisou\ ;
+士気 > shiki\ ;
+話法 > wahou\ ;
+炉辺 > rohen\ ;
+女子 > joshi\ ;
+煩瑣 > hansa\ ;
+総理 > souri\ ;
+時世 > jisei\ ;
+父子 > fushi\ ;
+無糖 > mutou\ ;
+陽皮 > youhi\ ;
+施工 > sekou\ ;
+大損 > oozon\ ;
+解組 > kaiso\ ;
+奇怪 > kikai\ ;
+諸家 > shoka\ ;
+特化 > tokka\ ;
+露悪 > roaku\ ;
+犀利 > sairi\ ;
+多数 > tasuu\ ;
+大揚 > ooyou\ ;
+無粋 > busui\ ;
+網目 > amime\ ;
+天授 > tenju\ ;
+映写 > eisha\ ;
+夕日 > yuuhi\ ;
+女婿 > josei\ ;
+好奇 > kouki\ ;
+外方 > soppo\ ;
+政治 > seiji\ ;
+粗餐 > sosan\ ;
+粗飯 > sohan\ ;
+閉鎖 > heisa\ ;
+素行 > sokou\ ;
+絹絵 > kinue\ ;
+譜代 > fudai\ ;
+訴状 > sojou\ ;
+奇形 > kikei\ ;
+塩税 > enzei\ ;
+映像 > eizou\ ;
+絵絹 > eginu\ ;
+雑歌 > zouka\ ;
+隠然 > inzen\ ;
+奇弁 > kiben\ ;
+語数 > gosuu\ ;
+既報 > kihou\ ;
+陽画 > youga\ ;
+火酒 > kashu\ ;
+紫蘇 > shiso\ ;
+製靴 > seika\ ;
+零時 > reiji\ ;
+映倫 > eirin\ ;
+詩歌 > shika\ ;
+精鋭 > seiei\ ;
+女声 > josei\ ;
+放歌 > houka\ ;
+附箋 > fusen\ ;
+系譜 > keifu\ ;
+雲景 > unkei\ ;
+誉望 > yobou\ ;
+版図 > hanto\ ;
+露店 > roten\ ;
+奇巌 > kigan\ ;
+姉上 > aneue\ ;
+斜影 > shaei\ ;
+無稽 > mukei\ ;
+襲衣 > shuui\ ;
+間遠 > madoo\ ;
+露帝 > rotei\ ;
+雄武 > yuubu\ ;
+無税 > muzei\ ;
+天意 > ten''i\ ;
+詠歎 > eitan\ ;
+静夜 > seiya\ ;
+講和 > kouwa\ ;
+大愚 > taigu\ ;
+無私 > mushi\ ;
+煉瓦 > renga\ ;
+雲散 > unsan\ ;
+離村 > rison\ ;
+夜戦 > yasen\ ;
+紀要 > kiyou\ ;
+煤煙 > baien\ ;
+絵筆 > efude\ ;
+多才 > tasai\ ;
+文意 > bun''i\ ;
+襤褸 > ranru\ ;
+大悟 > daigo\ ;
+特価 > tokka\ ;
+奇岩 > kigan\ ;
+無礼 > burei\ ;
+繻子 > shusu\ ;
+開運 > kaiun\ ;
+大恩 > daion\ ;
+該案 > gaian\ ;
+夢想 > musou\ ;
+襦袢 > juban\ ;
+難易 > nan''i\ ;
+旨味 > umami\ ;
+話柄 > wahei\ ;
+奉安 > houan\ ;
+堕胎 > datai\ ;
+紀行 > kikou\ ;
+放棄 > houki\ ;
+多感 > takan\ ;
+播種 > hashu\ ;
+課役 > kaeki\ ;
+院生 > insei\ ;
+補題 > hodai\ ;
+多情 > tajou\ ;
+無知 > muchi\ ;
+離散 > risan\ ;
+試案 > shian\ ;
+天府 > tenpu\ ;
+多恨 > takon\ ;
+大度 > taido\ ;
+物価 > bukka\ ;
+語感 > gokan\ ;
+敵意 > tekii\ ;
+好古 > kouko\ ;
+文庫 > bunko\ ;
+多忙 > tabou\ ;
+見舞 > mimai\ ;
+煖炉 > danro\ ;
+堕罪 > dazai\ ;
+塩田 > enden\ ;
+故智 > kochi\ ;
+無益 > mueki\ ;
+陽炎 > youen\ ;
+大差 > taisa\ ;
+繊度 > sendo\ ;
+大工 > daiku\ ;
+諷喩 > fuuyu\ ;
+多彩 > tasai\ ;
+閉路 > heiro\ ;
+多形 > takei\ ;
+敬慕 > keibo\ ;
+堆肥 > taihi\ ;
+日加 > nikka\ ;
+援軍 > engun\ ;
+粗鋼 > sokou\ ;
+敬愛 > keiai\ ;
+多弁 > taben\ ;
+声援 > seien\ ;
+熨斗 > noshi\ ;
+非命 > himei\ ;
+謀叛 > muhon\ ;
+女史 > joshi\ ;
+謀反 > muhon\ ;
+粗銅 > sodou\ ;
+褒辞 > houji\ ;
+摩耗 > mamou\ ;
+粗鉱 > sokou\ ;
+父君 > fukun\ ;
+放映 > houei\ ;
+外延 > gaien\ ;
+多幸 > takou\ ;
+多年 > tanen\ ;
+紅蓮 > guren\ ;
+雁木 > gangi\ ;
+奇声 > kisei\ ;
+語形 > gokei\ ;
+奄奄 > en''en\ ;
+裏面 > rimen\ ;
+既刊 > kikan\ ;
+方図 > houzu\ ;
+雨戸 > amado\ ;
+露天 > roten\ ;
+補間 > hokan\ ;
+語弊 > gohei\ ;
+牢乎 > rouko\ ;
+無用 > muyou\ ;
+無産 > musan\ ;
+牡丹 > botan\ ;
+大尾 > taibi\ ;
+天寿 > tenju\ ;
+語幹 > gokan\ ;
+粗酒 > soshu\ ;
+控除 > koujo\ ;
+売手 > urite\ ;
+増派 > zouha\ ;
+誘引 > yuuin\ ;
+大家 > taike\ ;
+雅文 > gabun\ ;
+覇者 > hasha\ ;
+斉家 > seika\ ;
+露場 > rojou\ ;
+大安 > daian\ ;
+数度 > suudo\ ;
+大字 > ooaza\ ;
+閑話 > kanwa\ ;
+地頭 > jitou\ ;
+陸湯 > okayu\ ;
+断固 > danko\ ;
+雲影 > un''ei\ ;
+文字 > monji\ ;
+燕巣 > ensou\ ;
+奥印 > okuin\ ;
+夫婦 > meoto\ ;
+多層 > tasou\ ;
+訴権 > soken\ ;
+零度 > reido\ ;
+点者 > tenja\ ;
+絵画 > kaiga\ ;
+隠棲 > insei\ ;
+要義 > yougi\ ;
+非凡 > hibon\ ;
+訪欧 > houou\ ;
+地面 > jimen\ ;
+好個 > kouko\ ;
+女優 > joyuu\ ;
+天威 > ten''i\ ;
+夫妻 > fusai\ ;
+誤射 > gosha\ ;
+父兄 > fukei\ ;
+地雷 > jirai\ ;
+記法 > kihou\ ;
+煖気 > danki\ ;
+隠栖 > insei\ ;
+多孔 > takou\ ;
+外宮 > gekuu\ ;
+煙死 > enshi\ ;
+太夫 > tayuu\ ;
+陽気 > youki\ ;
+基線 > kisen\ ;
+大奥 > oooku\ ;
+排除 > haijo\ ;
+外字 > gaiji\ ;
+散布 > sanpu\ ;
+奇問 > kimon\ ;
+如上 > jojou\ ;
+好事 > kouzu\ ;
+大声 > oogoe\ ;
+課外 > kagai\ ;
+夷国 > ikoku\ ;
+支援 > shien\ ;
+擬毛 > gimou\ ;
+素絹 > soken\ ;
+契印 > keiin\ ;
+難度 > nando\ ;
+規範 > kihan\ ;
+擬死 > gishi\ ;
+数字 > suuji\ ;
+多妻 > tasai\ ;
+斎垣 > igaki\ ;
+要素 > youso\ ;
+旗亭 > kitei\ ;
+支持 > shiji\ ;
+雅懐 > gakai\ ;
+提起 > teiki\ ;
+雲居 > kumoi\ ;
+露命 > romei\ ;
+無灯 > mutou\ ;
+陰毛 > inmou\ ;
+変字 > henji\ ;
+西紀 > seiki\ ;
+織地 > oriji\ ;
+霊夢 > reimu\ ;
+露呈 > rotei\ ;
+多大 > tadai\ ;
+掃除 > souji\ ;
+塗炭 > totan\ ;
+捕鯨 > hogei\ ;
+非人 > hinin\ ;
+多売 > tabai\ ;
+露台 > rodai\ ;
+繁多 > hanta\ ;
+除法 > johou\ ;
+焜炉 > konro\ ;
+方円 > houen\ ;
+諸事 > shoji\ ;
+改悟 > kaigo\ ;
+継泳 > keiei\ ;
+奉加 > houga\ ;
+規程 > kitei\ ;
+離島 > ritou\ ;
+奇効 > kikou\ ;
+詭弁 > kiben\ ;
+隕星 > insei\ ;
+大器 > taiki\ ;
+離岸 > rigan\ ;
+炭素 > tanso\ ;
+誤報 > gohou\ ;
+外場 > gaiba\ ;
+数奇 > suuki\ ;
+離山 > rizan\ ;
+大嘘 > oouso\ ;
+糖菓 > touka\ ;
+数多 > suuta\ ;
+提議 > teigi\ ;
+随時 > zuiji\ ;
+経由 > keiyu\ ;
+火葬 > kasou\ ;
+霊園 > reien\ ;
+政府 > seifu\ ;
+奇兵 > kihei\ ;
+阿漕 > akogi\ ;
+防炎 > bouen\ ;
+斗南 > tonan\ ;
+売子 > uriko\ ;
+電場 > denba\ ;
+外因 > gaiin\ ;
+防火 > bouka\ ;
+提訴 > teiso\ ;
+露光 > rokou\ ;
+夫君 > fukun\ ;
+複衣 > fukui\ ;
+経理 > keiri\ ;
+大呼 > taiko\ ;
+大味 > ooaji\ ;
+施主 > seshu\ ;
+雲壌 > unjou\ ;
+奇偶 > kiguu\ ;
+太古 > taiko\ ;
+無法 > muhou\ ;
+故山 > kozan\ ;
+濃霧 > noumu\ ;
+離婚 > rikon\ ;
+大台 > oodai\ ;
+在野 > zaiya\ ;
+点示 > tenji\ ;
+教委 > kyoui\ ;
+誇大 > kodai\ ;
+火色 > hiiro\ ;
+然様 > sayou\ ;
+衣魚 > shimi\ ;
+誘因 > yuuin\ ;
+粗製 > sosei\ ;
+文句 > monku\ ;
+無水 > musui\ ;
+烽火 > houka\ ;
+精華 > seika\ ;
+奇体 > kitai\ ;
+無毛 > mumou\ ;
+繭価 > kenka\ ;
+電器 > denki\ ;
+図面 > zumen\ ;
+緩徐 > kanjo\ ;
+放屁 > houhi\ ;
+売女 > baita\ ;
+天助 > tenjo\ ;
+米貨 > beika\ ;
+固陋 > korou\ ;
+無残 > muzan\ ;
+開花 > kaika\ ;
+無死 > mushi\ ;
+文化 > bunka\ ;
+奇人 > kijin\ ;
+断乎 > danko\ ;
+増援 > zouen\ ;
+夜叉 > yasha\ ;
+基盤 > kiban\ ;
+太刀 > tachi\ ;
+陰晴 > insei\ ;
+士女 > shijo\ ;
+大判 > ooban\ ;
+素直 > sunao\ ;
+親爺 > oyaji\ ;
+親父 > oyaji\ ;
+課制 > kasei\ ;
+需品 > juhin\ ;
+補講 > hokou\ ;
+難場 > nanba\ ;
+維新 > ishin\ ;
+売場 > uriba\ ;
+夷俗 > izoku\ ;
+回顧 > kaiko\ ;
+夜勤 > yakin\ ;
+大円 > daien\ ;
+計時 > keiji\ ;
+塩梅 > anbai\ ;
+陰文 > inbun\ ;
+院本 > inpon\ ;
+多勢 > tazei\ ;
+隔意 > kakui\ ;
+四顧 > shiko\ ;
+間者 > kanja\ ;
+大儒 > daiju\ ;
+語原 > gogen\ ;
+大儀 > taigi\ ;
+夜前 > yazen\ ;
+補訂 > hotei\ ;
+米語 > beigo\ ;
+阻止 > soshi\ ;
+外務 > gaimu\ ;
+雑多 > zatta\ ;
+夜分 > yabun\ ;
+敗因 > haiin\ ;
+米話 > beiwa\ ;
+坐視 > zashi\ ;
+斉備 > seibi\ ;
+多分 > tabun\ ;
+墓所 > bosho\ ;
+語勢 > gosei\ ;
+誤判 > gohan\ ;
+採譜 > saifu\ ;
+壇家 > danka\ ;
+壮図 > souto\ ;
+図鑑 > zukan\ ;
+夜光 > yakou\ ;
+点画 > tenga\ ;
+除数 > josuu\ ;
+電化 > denka\ ;
+誤写 > gosha\ ;
+控訴 > kouso\ ;
+多元 > tagen\ ;
+天位 > ten''i\ ;
+雲台 > undai\ ;
+西瓜 > suika\ ;
+認否 > ninpi\ ;
+無根 > mukon\ ;
+変化 > henge\ ;
+院政 > insei\ ;
+大佐 > taisa\ ;
+認可 > ninka\ ;
+夫人 > fujin\ ;
+火線 > kasen\ ;
+網戸 > amido\ ;
+精義 > seigi\ ;
+誰何 > suika\ ;
+記憶 > kioku\ ;
+製菓 > seika\ ;
+大事 > daiji\ ;
+濫費 > ranpi\ ;
+天下 > tenka\ ;
+文事 > bunji\ ;
+擬態 > gitai\ ;
+隠居 > inkyo\ ;
+整備 > seibi\ ;
+紫煙 > shien\ ;
+敬具 > keigu\ ;
+粗茶 > socha\ ;
+夜会 > yakai\ ;
+無智 > muchi\ ;
+隣家 > rinka\ ;
+純理 > junri\ ;
+離合 > rigou\ ;
+難句 > nanku\ ;
+糊精 > kosei\ ;
+緞子 > donsu\ ;
+離反 > rihan\ ;
+素片 > sohen\ ;
+煙弾 > endan\ ;
+誤伝 > goden\ ;
+雪加 > sekka\ ;
+糸目 > itome\ ;
+絵柄 > egara\ ;
+記念 > kinen\ ;
+褒美 > houbi\ ;
+雄図 > yuuto\ ;
+災禍 > saika\ ;
+無断 > mudan\ ;
+烈火 > rekka\ ;
+数個 > suuko\ ;
+陰惨 > insan\ ;
+無数 > musuu\ ;
+絵札 > efuda\ ;
+外事 > gaiji\ ;
+数価 > suuka\ ;
+綿布 > menpu\ ;
+蠧魚 > shimi\ ;
+基点 > kiten\ ;
+陰性 > insei\ ;
+電位 > den''i\ ;
+詠嘆 > eitan\ ;
+精粗 > seiso\ ;
+雨具 > amagu\ ;
+変位 > hen''i\ ;
+陰影 > in''ei\ ;
+規準 > kijun\ ;
+総嫁 > souka\ ;
+点火 > tenka\ ;
+離党 > ritou\ ;
+掩蔽 > enpei\ ;
+変事 > henji\ ;
+詩句 > shiku\ ;
+難儀 > nangi\ ;
+絃歌 > genka\ ;
+試合 > shiai\ ;
+隠士 > inshi\ ;
+掩蓋 > engai\ ;
+墳墓 > funbo\ ;
+縁台 > endai\ ;
+雲井 > kumoi\ ;
+衰運 > suiun\ ;
+基準 > kijun\ ;
+零下 > reika\ ;
+雅号 > gagou\ ;
+基源 > kigen\ ;
+詠吟 > eigin\ ;
+土製 > dosei\ ;
+詠史 > eishi\ ;
+煙害 > engai\ ;
+政務 > seimu\ ;
+場末 > basue\ ;
+回避 > kaihi\ ;
+雲上 > unjou\ ;
+改印 > kaiin\ ;
+綾子 > rinzu\ ;
+無才 > musai\ ;
+炬火 > kyoka\ ;
+開祖 > kaiso\ ;
+火砲 > kahou\ ;
+開示 > kaiji\ ;
+売価 > baika\ ;
+米英 > beiei\ ;
+煩多 > hanta\ ;
+声価 > seika\ ;
+隠坊 > onbou\ ;
+綸子 > rinzu\ ;
+隻句 > sekku\ ;
+無慮 > muryo\ ;
+雪下 > sekka\ ;
+堀江 > horie\ ;
+離任 > rinin\ ;
+結果 > kekka\ ;
+雨中 > uchuu\ ;
+衰躯 > suiku\ ;
+紅炎 > kouen\ ;
+綴字 > teiji\ ;
+難事 > nanji\ ;
+地蔵 > jizou\ ;
+無想 > musou\ ;
+無惨 > muzan\ ;
+累次 > ruiji\ ;
+無情 > mujou\ ;
+緩和 > kanwa\ ;
+規正 > kisei\ ;
+詐取 > sashu\ ;
+無恥 > muchi\ ;
+装荷 > souka\ ;
+無性 > musei\ ;
+雅兄 > gakei\ ;
+粗糖 > sotou\ ;
+隠喩 > in''yu\ ;
+無念 > munen\ ;
+回路 > kairo\ ;
+雇傭 > koyou\ ;
+親木 > oyagi\ ;
+雑作 > zousa\ ;
+無形 > mukei\ ;
+限度 > gendo\ ;
+煙塵 > enjin\ ;
+塁打 > ruida\ ;
+故人 > kojin\ ;
+土蔵 > dozou\ ;
+西武 > seibu\ ;
+炎炎 > en''en\ ;
+見様 > miyou\ ;
+故主 > koshu\ ;
+西欧 > seiou\ ;
+覇権 > haken\ ;
+院宣 > inzen\ ;
+粗笨 > sohon\ ;
+紡機 > bouki\ ;
+図解 > zukai\ ;
+在荷 > zaika\ ;
+闘気 > touki\ ;
+地色 > jiiro\ ;
+無帽 > mubou\ ;
+無常 > mujou\ ;
+土葬 > dosou\ ;
+政事 > seiji\ ;
+措置 > sochi\ ;
+墓地 > bochi\ ;
+総員 > souin\ ;
+随喜 > zuiki\ ;
+在英 > zaiei\ ;
+糜爛 > biran\ ;
+総和 > souwa\ ;
+雅人 > gajin\ ;
+場所 > basho\ ;
+街路 > gairo\ ;
+附帯 > futai\ ;
+塗工 > tokou\ ;
+回議 > kaigi\ ;
+随員 > zuiin\ ;
+堅果 > kenka\ ;
+許否 > kyohi\ ;
+拗音 > youon\ ;
+許可 > kyoka\ ;
+見栄 > mibae\ ;
+絹布 > kenpu\ ;
+隊員 > taiin\ ;
+陶土 > toudo\ ;
+提示 > teiji\ ;
+按配 > anbai\ ;
+無尽 > mujin\ ;
+除外 > jogai\ ;
+増員 > zouin\ ;
+絵巻 > emaki\ ;
+行路 > kouro\ ;
+挿話 > souwa\ ;
+見本 > mihon\ ;
+院外 > ingai\ ;
+総務 > soumu\ ;
+闊歩 > kappo\ ;
+噪音 > souon\ ;
+基板 > kiban\ ;
+陶器 > touki\ ;
+継夫 > keifu\ ;
+無害 > mugai\ ;
+隠元 > ingen\ ;
+無官 > mukan\ ;
+訃報 > fuhou\ ;
+基本 > kihon\ ;
+粗砥 > arato\ ;
+報恩 > houon\ ;
+隷下 > reika\ ;
+素材 > sozai\ ;
+降嫁 > kouka\ ;
+総出 > soude\ ;
+見映 > mibae\ ;
+綽名 > adana\ ;
+園芸 > engei\ ;
+灯火 > touka\ ;
+解字 > kaiji\ ;
+捕虜 > horyo\ ;
+隣保 > rinpo\ ;
+墓参 > bosan\ ;
+火災 > kasai\ ;
+計器 > keiki\ ;
+組成 > sosei\ ;
+裸眼 > ragan\ ;
+粗相 > sosou\ ;
+拾遺 > shuui\ ;
+絶家 > zekke\ ;
+記名 > kimei\ ;
+衣裳 > ishou\ ;
+増加 > zouka\ ;
+記号 > kigou\ ;
+濾紙 > roshi\ ;
+阻害 > sogai\ ;
+地縁 > chien\ ;
+無始 > mushi\ ;
+囚衣 > shuui\ ;
+衣装 > ishou\ ;
+摩損 > mason\ ;
+基数 > kisuu\ ;
+衛視 > eishi\ ;
+国華 > kokka\ ;
+塔婆 > touba\ ;
+素数 > sosuu\ ;
+坐禅 > zazen\ ;
+墓前 > bozen\ ;
+隠亡 > onbou\ ;
+無声 > musei\ ;
+地紋 > jimon\ ;
+掲示 > keiji\ ;
+演題 > endai\ ;
+納期 > nouki\ ;
+撒布 > sanpu\ ;
+堅持 > kenji\ ;
+擬勢 > gisei\ ;
+国花 > kokka\ ;
+地米 > jimai\ ;
+親御 > oyago\ ;
+点播 > tenpa\ ;
+濃艶 > nouen\ ;
+訴人 > sonin\ ;
+街衢 > gaiku\ ;
+開演 > kaien\ ;
+討匪 > touhi\ ;
+経度 > keido\ ;
+擬制 > gisei\ ;
+紋日 > monbi\ ;
+授精 > jusei\ ;
+除名 > jomei\ ;
+灯油 > touyu\ ;
+除号 > jogou\ ;
+陶冶 > touya\ ;
+困苦 > konku\ ;
+披露 > hirou\ ;
+除去 > jokyo\ ;
+院号 > ingou\ ;
+隊伍 > taigo\ ;
+紅旗 > kouki\ ;
+階下 > kaika\ ;
+投飛 > touhi\ ;
+蟻酸 > gisan\ ;
+素懐 > sokai\ ;
+地租 > chiso\ ;
+細微 > saibi\ ;
+訛伝 > kaden\ ;
+拝辞 > haiji\ ;
+土管 > dokan\ ;
+地祇 > chigi\ ;
+塊土 > kaido\ ;
+裏目 > urame\ ;
+持論 > jiron\ ;
+視度 > shido\ ;
+炎暑 > ensho\ ;
+精油 > seiyu\ ;
+粗煮 > arani\ ;
+闘技 > tougi\ ;
+挿花 > souka\ ;
+擬人 > gijin\ ;
+精気 > seiki\ ;
+視差 > shisa\ ;
+無名 > mumei\ ;
+素性 > sujou\ ;
+親字 > oyaji\ ;
+阻喪 > sosou\ ;
+納戸 > nando\ ;
+無双 > musou\ ;
+塩分 > enbun\ ;
+素志 > soshi\ ;
+細工 > saiku\ ;
+陪侍 > baiji\ ;
+堰堤 > entei\ ;
+無勢 > buzei\ ;
+基底 > kitei\ ;
+掻爬 > souha\ ;
+圧砕 > assai\ ;
+基幹 > kikan\ ;
+揮毫 > kigou\ ;
+無効 > mukou\ ;
+地盤 > jiban\ ;
+囲繞 > inyou\ ;
+拝賀 > haiga\ ;
+火桶 > hioke\ ;
+推理 > suiri\ ;
+粗漏 > sorou\ ;
+扶養 > fuyou\ ;
+捕縄 > hojou\ ;
+絶句 > zekku\ ;
+四股 > shiko\ ;
+簡素 > kanso\ ;
+押送 > ousou\ ;
+土砂 > dosha\ ;
+無冠 > mukan\ ;
+点差 > tensa\ ;
+堡塁 > horui\ ;
+操作 > sousa\ ;
+純度 > jundo\ ;
+言下 > genka\ ;
+規定 > kitei\ ;
+火曜 > kayou\ ;
+滋養 > jiyou\ ;
+換気 > kanki\ ;
+開架 > kaika\ ;
+圧痕 > akkon\ ;
+批難 > hinan\ ;
+製油 > seiyu\ ;
+器財 > kizai\ ;
+閑暇 > kanka\ ;
+火星 > kasei\ ;
+陛下 > heika\ ;
+角力 > sumou\ ;
+精査 > seisa\ ;
+地理 > chiri\ ;
+場味 > baaji\ ;
+算譜 > sanpu\ ;
+烈婦 > reppu\ ;
+塑像 > sozou\ ;
+授産 > jusan\ ;
+無体 > mutai\ ;
+行脚 > angya\ ;
+無住 > mujuu\ ;
+揺曳 > youei\ ;
+素子 > soshi\ ;
+経営 > keiei\ ;
+土用 > doyou\ ;
+無代 > mudai\ ;
+蠑螺 > sazae\ ;
+螺鈿 > raden\ ;
+点字 > tenji\ ;
+無人 > munin\ ;
+土瓶 > dobin\ ;
+堂奥 > douou\ ;
+防具 > bougu\ ;
+降下 > kouka\ ;
+紺地 > konji\ ;
+長柄 > nagae\ ;
+襟度 > kindo\ ;
+無上 > mujou\ ;
+衣糧 > iryou\ ;
+絶佳 > zekka\ ;
+素姓 > sujou\ ;
+防備 > boubi\ ;
+図示 > zushi\ ;
+結句 > kekku\ ;
+城府 > joufu\ ;
+融除 > yuujo\ ;
+扣除 > koujo\ ;
+阿亀 > okame\ ;
+打順 > dajun\ ;
+抱負 > houfu\ ;
+排煙 > haien\ ;
+漢語 > kango\ ;
+摂家 > sekke\ ;
+堅固 > kengo\ ;
+火手 > kashu\ ;
+手順 > tejun\ ;
+打電 > daden\ ;
+答辞 > touji\ ;
+提案 > teian\ ;
+基地 > kichi\ ;
+圧点 > atten\ ;
+開扉 > kaihi\ ;
+補正 > hosei\ ;
+握斧 > akufu\ ;
+披講 > hikou\ ;
+打開 > dakai\ ;
+要図 > youzu\ ;
+西土 > seido\ ;
+要因 > youin\ ;
+競馬 > keiba\ ;
+粗木 > araki\ ;
+漏話 > rouwa\ ;
+採油 > saiyu\ ;
+被災 > hisai\ ;
+場代 > badai\ ;
+粗暴 > sobou\ ;
+地温 > chion\ ;
+措止 > soshi\ ;
+裏毛 > urake\ ;
+門扉 > monpi\ ;
+門戸 > monko\ ;
+糖度 > toudo\ ;
+開悟 > kaigo\ ;
+紙器 > shiki\ ;
+披見 > hiken\ ;
+摸写 > mosha\ ;
+表着 > uwagi\ ;
+炭団 > tadon\ ;
+回目 > kaime\ ;
+抗議 > kougi\ ;
+滅金 > mekki\ ;
+粗放 > sohou\ ;
+要員 > youin\ ;
+打鍵 > daken\ ;
+累加 > ruika\ ;
+蝟集 > ishuu\ ;
+炊婦 > suifu\ ;
+点呼 > tenko\ ;
+排気 > haiki\ ;
+摸倣 > mohou\ ;
+規制 > kisei\ ;
+炎天 > enten\ ;
+因由 > in''yu\ ;
+地歩 > chiho\ ;
+手錠 > tejou\ ;
+濶歩 > kappo\ ;
+地歌 > jiuta\ ;
+門徒 > monto\ ;
+営養 > eiyou\ ;
+炊夫 > suifu\ ;
+挿画 > souga\ ;
+図版 > zuhan\ ;
+精度 > seido\ ;
+援引 > en''in\ ;
+滞貨 > taika\ ;
+要務 > youmu\ ;
+火山 > kazan\ ;
+系図 > keizu\ ;
+圧死 > asshi\ ;
+手金 > tekin\ ;
+土民 > domin\ ;
+点前 > temae\ ;
+探査 > tansa\ ;
+純化 > junka\ ;
+納受 > nouju\ ;
+手配 > tehai\ ;
+拉致 > rachi\ ;
+衛生 > eisei\ ;
+補整 > hosei\ ;
+要具 > yougu\ ;
+補数 > hosuu\ ;
+炭化 > tanka\ ;
+授権 > juken\ ;
+純利 > junri\ ;
+筆記 > hikki\ ;
+細事 > saiji\ ;
+指示 > shiji\ ;
+粗悪 > soaku\ ;
+素体 > sotai\ ;
+演芸 > engei\ ;
+糞土 > fundo\ ;
+長居 > nagai\ ;
+漫罵 > manba\ ;
+紙価 > shika\ ;
+端銭 > hasen\ ;
+嘉言 > kagen\ ;
+粘度 > nendo\ ;
+箪笥 > tansu\ ;
+紀元 > kigen\ ;
+図法 > zuhou\ ;
+潤目 > urume\ ;
+国歌 > kokka\ ;
+開基 > kaiki\ ;
+湖面 > komen\ ;
+揚屋 > ageya\ ;
+土曜 > doyou\ ;
+納付 > noufu\ ;
+裏手 > urate\ ;
+螟蛾 > meiga\ ;
+圧政 > assei\ ;
+開園 > kaien\ ;
+土星 > dosei\ ;
+炎光 > enkou\ ;
+押絵 > oshie\ ;
+湯銭 > yusen\ ;
+閲兵 > eppei\ ;
+補弦 > hogen\ ;
+糸価 > shika\ ;
+行灯 > andon\ ;
+手話 > shuwa\ ;
+圧排 > appai\ ;
+手記 > shuki\ ;
+営造 > eizou\ ;
+地所 > jisho\ ;
+糖化 > touka\ ;
+営農 > einou\ ;
+補巻 > hokan\ ;
+裕度 > yuudo\ ;
+糊口 > kokou\ ;
+技芸 > gigei\ ;
+閹人 > enjin\ ;
+捜査 > sousa\ ;
+手製 > tesei\ ;
+城下 > jouka\ ;
+火勢 > kasei\ ;
+拝眉 > haibi\ ;
+挽歌 > banka\ ;
+授戒 > jukai\ ;
+粗大 > sodai\ ;
+戦費 > senpi\ ;
+固有 > koyuu\ ;
+温顔 > ongan\ ;
+炊事 > suiji\ ;
+炎上 > enjou\ ;
+捻挫 > nenza\ ;
+製塩 > seien\ ;
+火刑 > kakei\ ;
+演算 > enzan\ ;
+温順 > onjun\ ;
+開化 > kaika\ ;
+補導 > hodou\ ;
+因業 > ingou\ ;
+技能 > ginou\ ;
+突飛 > toppi\ ;
+国旗 > kokki\ ;
+図書 > tosho\ ;
+火光 > kakou\ ;
+補完 > hokan\ ;
+簡易 > kan''i\ ;
+衒気 > genki\ ;
+米寿 > beiju\ ;
+投網 > toami\ ;
+製図 > seizu\ ;
+粘土 > nendo\ ;
+損保 > sonpo\ ;
+裏屋 > uraya\ ;
+措定 > sotei\ ;
+扶育 > fuiku\ ;
+閣下 > kakka\ ;
+戦記 > senki\ ;
+手薄 > teusu\ ;
+管理 > kanri\ ;
+在庫 > zaiko\ ;
+捧持 > houji\ ;
+童話 > douwa\ ;
+蝦蛄 > shako\ ;
+援兵 > enpei\ ;
+坑夫 > koufu\ ;
+被弾 > hidan\ ;
+血気 > kekki\ ;
+嘉肴 > kakou\ ;
+器用 > kiyou\ ;
+間代 > madai\ ;
+圧巻 > akkan\ ;
+戒護 > kaigo\ ;
+灯下 > touka\ ;
+漫画 > manga\ ;
+揚句 > ageku\ ;
+喚起 > kanki\ ;
+補填 > hoten\ ;
+衣服 > ifuku\ ;
+粗品 > sohin\ ;
+土工 > dokou\ ;
+清音 > seion\ ;
+因数 > insuu\ ;
+成語 > seigo\ ;
+四日 > yokka\ ;
+手荒 > teara\ ;
+米塩 > beien\ ;
+掩壕 > engou\ ;
+嘆美 > tanbi\ ;
+蝗虫 > batta\ ;
+衣料 > iryou\ ;
+捕手 > hoshu\ ;
+在家 > zaike\ ;
+補回 > hokai\ ;
+衛星 > eisei\ ;
+門下 > monka\ ;
+行李 > kouri\ ;
+噴火 > funka\ ;
+粗利 > arari\ ;
+被害 > higai\ ;
+節気 > sekki\ ;
+裏地 > uraji\ ;
+鍍金 > mekki\ ;
+嘉納 > kanou\ ;
+淫風 > inpuu\ ;
+打者 > dasha\ ;
+地声 > jigoe\ ;
+蜿蜒 > en''en\ ;
+添附 > tenpu\ ;
+固形 > kokei\ ;
+折目 > orime\ ;
+国庫 > kokko\ ;
+濃度 > noudo\ ;
+筆禍 > hikka\ ;
+蜻蛉 > tonbo\ ;
+行方 > yukue\ ;
+衍文 > enbun\ ;
+裸像 > razou\ ;
+四手 > shide\ ;
+図形 > zukei\ ;
+垂下 > suika\ ;
+蜂起 > houki\ ;
+ＰＣ > pīshī\ ;
+打線 > dasen\ ;
+地図 > chizu\ ;
+表意 > hyoui\ ;
+技研 > giken\ ;
+土壌 > dojou\ ;
+手織 > teori\ ;
+裸体 > ratai\ ;
+図工 > zukou\ ;
+衛所 > eisho\ ;
+衰微 > suibi\ ;
+裏名 > urana\ ;
+土塊 > dokai\ ;
+手練 > teren\ ;
+土塁 > dorui\ ;
+土塀 > dobei\ ;
+唐音 > touon\ ;
+因循 > injun\ ;
+簿外 > bogai\ ;
+回忌 > kaiki\ ;
+採否 > saihi\ ;
+技監 > gikan\ ;
+国家 > kokka\ ;
+戎葵 > juuki\ ;
+噴気 > funki\ ;
+空輸 > kuuyu\ ;
+土地 > tochi\ ;
+補充 > hojuu\ ;
+坑儒 > kouju\ ;
+固定 > kotei\ ;
+地唄 > jiuta\ ;
+固守 > koshu\ ;
+挙措 > kyoso\ ;
+打算 > dasan\ ;
+坐像 > zazou\ ;
+土嚢 > donou\ ;
+裁可 > saika\ ;
+地味 > chimi\ ;
+突起 > tokki\ ;
+営舎 > eisha\ ;
+回帰 > kaiki\ ;
+漸次 > zenji\ ;
+喫茶 > kissa\ ;
+空路 > kuuro\ ;
+国威 > kokui\ ;
+潜時 > senji\ ;
+地区 > chiku\ ;
+指揮 > shiki\ ;
+按排 > anbai\ ;
+補任 > honin\ ;
+漫歩 > manpo\ ;
+米価 > beika\ ;
+衆意 > shuui\ ;
+漁火 > gyoka\ ;
+懇話 > konwa\ ;
+空費 > kuuhi\ ;
+蜉蝣 > fuyuu\ ;
+蛮語 > bango\ ;
+装具 > sougu\ ;
+戯絵 > zaree\ ;
+坐乗 > zajou\ ;
+団子 > dango\ ;
+土台 > dodai\ ;
+涼雨 > ryouu\ ;
+装備 > soubi\ ;
+因子 > inshi\ ;
+按手 > anshu\ ;
+坊主 > bouzu\ ;
+衆徒 > shuto\ ;
+漏洩 > rouei\ ;
+圧制 > assei\ ;
+四季 > shiki\ ;
+営繕 > eizen\ ;
+器械 > kikai\ ;
+移駐 > ichuu\ ;
+持戒 > jikai\ ;
+虎魚 > okoze\ ;
+算木 > sangi\ ;
+地価 > chika\ ;
+手相 > tesou\ ;
+器材 > kizai\ ;
+鑑査 > kansa\ ;
+圧倒 > attou\ ;
+海鰻 > anago\ ;
+担架 > tanka\ ;
+鋭鋒 > eihou\ ;
+排他 > haita\ ;
+憂身 > ukimi\ ;
+批点 > hiten\ ;
+土偶 > doguu\ ;
+行宮 > anguu\ ;
+地下 > chika\ ;
+箇条 > kajou\ ;
+土侯 > dokou\ ;
+戦禍 > senka\ ;
+等温 > touon\ ;
+濃化 > nouka\ ;
+哀願 > aigan\ ;
+挿図 > souzu\ ;
+土人 > dojin\ ;
+激化 > gekka\ ;
+愛餐 > aisan\ ;
+咽頭 > intou\ ;
+箇数 > kosuu\ ;
+善美 > zenbi\ ;
+投機 > touki\ ;
+蛇行 > dakou\ ;
+技法 > gihou\ ;
+衡器 > kouki\ ;
+浅黄 > asagi\ ;
+慶賀 > keiga\ ;
+括弧 > kakko\ ;
+等比 > touhi\ ;
+抛棄 > houki\ ;
+街図 > gaizu\ ;
+園丁 > entei\ ;
+拇指 > boshi\ ;
+投棄 > touki\ ;
+打点 > daten\ ;
+海霧 > kaimu\ ;
+漏斗 > routo\ ;
+篆字 > tenji\ ;
+渡船 > tosen\ ;
+渡航 > tokou\ ;
+滞欧 > taiou\ ;
+淫行 > inkou\ ;
+節季 > sekki\ ;
+箇所 > kasho\ ;
+固体 > kotai\ ;
+答案 > touan\ ;
+拘引 > kouin\ ;
+童画 > douga\ ;
+温習 > sarai\ ;
+節婦 > seppu\ ;
+拐引 > kaiin\ ;
+喝破 > kappa\ ;
+行員 > kouin\ ;
+街区 > gaiku\ ;
+黄鯛 > kidai\ ;
+和風 > wafuu\ ;
+螺旋 > rasen\ ;
+稟議 > ringi\ ;
+憂虞 > yuugu\ ;
+手淫 > shuin\ ;
+鋒起 > houki\ ;
+打法 > dahou\ ;
+淫蕩 > intou\ ;
+秘鍵 > hiken\ ;
+扶桑 > fusou\ ;
+虚辞 > kyoji\ ;
+衛兵 > eihei\ ;
+渦線 > kasen\ ;
+窺知 > kichi\ ;
+愚鈍 > gudon\ ;
+行務 > koumu\ ;
+鼠輩 > sohai\ ;
+挙句 > ageku\ ;
+回付 > kaifu\ ;
+範囲 > han''i\ ;
+渦紋 > kamon\ ;
+才気 > saiki\ ;
+海里 > kairi\ ;
+鼠蹊 > sokei\ ;
+戦火 > senka\ ;
+把握 > haaku\ ;
+悲鳴 > himei\ ;
+渡米 > tobei\ ;
+拳固 > genko\ ;
+投打 > touda\ ;
+指呼 > shiko\ ;
+麒麟 > kirin\ ;
+拷器 > gouki\ ;
+器官 > kikan\ ;
+鎖状 > sajou\ ;
+溢水 > issui\ ;
+慈訓 > jikun\ ;
+湖畔 > kohan\ ;
+海運 > kaiun\ ;
+憂苦 > yuuku\ ;
+嗟歎 > satan\ ;
+海辺 > umibe\ ;
+愛車 > aisha\ ;
+把手 > hashu\ ;
+持参 > jisan\ ;
+打棒 > dabou\ ;
+湯煎 > yusen\ ;
+浮遊 > fuyuu\ ;
+漢字 > kanji\ ;
+抒情 > jojou\ ;
+節句 > sekku\ ;
+移調 > ichou\ ;
+按分 > anbun\ ;
+悪魔 > akuma\ ;
+技手 > gishu\ ;
+湯灌 > yukan\ ;
+手桶 > teoke\ ;
+稲荷 > inari\ ;
+源氏 > genji\ ;
+投影 > touei\ ;
+海路 > kairo\ ;
+扶持 > fuchi\ ;
+浦辺 > urabe\ ;
+和金 > wakin\ ;
+麝香 > jakou\ ;
+鈍麻 > donma\ ;
+啓示 > keiji\ ;
+悪馬 > akume\ ;
+手本 > tehon\ ;
+減磨 > genma\ ;
+悲願 > higan\ ;
+突破 > toppa\ ;
+海豚 > iruka\ ;
+懐疑 > kaigi\ ;
+蛇管 > jakan\ ;
+哀詩 > aishi\ ;
+潮位 > choui\ ;
+哀詞 > aishi\ ;
+打数 > dasuu\ ;
+愚論 > guron\ ;
+戦機 > senki\ ;
+所期 > shoki\ ;
+漁家 > gyoka\ ;
+手斧 > teono\ ;
+演奏 > ensou\ ;
+黙過 > mokka\ ;
+拝受 > haiju\ ;
+浪費 > rouhi\ ;
+手数 > tesuu\ ;
+戸板 > toita\ ;
+漢土 > kando\ ;
+演壇 > endan\ ;
+愚計 > gukei\ ;
+湯治 > touji\ ;
+鉛錘 > ensui\ ;
+節供 > sekku\ ;
+立派 > rippa\ ;
+泥鰌 > dojou\ ;
+等差 > tousa\ ;
+管区 > kanku\ ;
+愚見 > guken\ ;
+技師 > gishi\ ;
+惹起 > jakki\ ;
+拒否 > kyohi\ ;
+鉛鉱 > enkou\ ;
+味醂 > mirin\ ;
+命運 > meiun\ ;
+技巧 > gikou\ ;
+技工 > gikou\ ;
+鼻茸 > bijou\ ;
+錬磨 > renma\ ;
+秘計 > hikei\ ;
+私費 > shihi\ ;
+意訳 > iyaku\ ;
+蘇連 > soren\ ;
+哺育 > hoiku\ ;
+派遣 > haken\ ;
+想起 > souki\ ;
+銅貨 > douka\ ;
+悍馬 > kanba\ ;
+戯書 > gisho\ ;
+銘記 > meiki\ ;
+愚行 > gukou\ ;
+空疎 > kuuso\ ;
+浮言 > fugen\ ;
+漁夫 > gyofu\ ;
+拝具 > haigu\ ;
+戸数 > kosuu\ ;
+波高 > hakou\ ;
+戦果 > senka\ ;
+銀貨 > ginka\ ;
+端本 > hahon\ ;
+麻酔 > masui\ ;
+洋間 > youma\ ;
+鉄鎖 > tessa\ ;
+私議 > shigi\ ;
+禁錮 > kinko\ ;
+流転 > ruten\ ;
+漢和 > kanwa\ ;
+手技 > shugi\ ;
+鼻腔 > bikou\ ;
+浴衣 > yokui\ ;
+漁場 > gyoba\ ;
+渦状 > kajou\ ;
+意表 > ihyou\ ;
+戯文 > gibun\ ;
+液肥 > ekihi\ ;
+技官 > gikan\ ;
+私語 > shigo\ ;
+戦時 > senji\ ;
+淫祠 > inshi\ ;
+空理 > kuuri\ ;
+所持 > shoji\ ;
+懐炉 > kairo\ ;
+満期 > manki\ ;
+営林 > eirin\ ;
+湖水 > kosui\ ;
+和讚 > wasan\ ;
+私記 > shiki\ ;
+戦旗 > senki\ ;
+端数 > hasuu\ ;
+嘘字 > usoji\ ;
+成案 > seian\ ;
+祈願 > kigan\ ;
+温点 > onten\ ;
+波頭 > hatou\ ;
+成果 > seika\ ;
+愛蔵 > aizou\ ;
+麦酒 > biiru\ ;
+名馬 > meiba\ ;
+和訓 > wakun\ ;
+戸戸 > kokou\ ;
+和解 > wakai\ ;
+波面 > hamen\ ;
+管下 > kanka\ ;
+手当 > teate\ ;
+悼辞 > touji\ ;
+秘蔵 > hizou\ ;
+稲穂 > inaho\ ;
+鼻緒 > hanao\ ;
+和製 > wasei\ ;
+鋤簾 > joren\ ;
+種種 > shuju\ ;
+游泳 > yuuei\ ;
+和装 > wasou\ ;
+担保 > tanpo\ ;
+和裁 > wasai\ ;
+憂目 > ukime\ ;
+野鶏 > yakei\ ;
+温湯 > ontou\ ;
+同音 > douon\ ;
+憮然 > buzen\ ;
+悪運 > akuun\ ;
+懸架 > kenga\ ;
+患部 > kanbu\ ;
+漁区 > gyoku\ ;
+拉丁 > raten\ ;
+薬鑵 > yakan\ ;
+銘菓 > meika\ ;
+蜜柑 > mikan\ ;
+黒衣 > kokue\ ;
+温泉 > onsen\ ;
+悠遠 > yuuen\ ;
+戦意 > sen''i\ ;
+悟道 > godou\ ;
+味見 > ajimi\ ;
+渡海 > tokai\ ;
+営所 > eisho\ ;
+温水 > onsui\ ;
+鼻端 > bitan\ ;
+渡洋 > toyou\ ;
+愛育 > aiiku\ ;
+滅多 > metta\ ;
+号音 > gouon\ ;
+淫猥 > inwai\ ;
+善果 > zenka\ ;
+情誼 > jougi\ ;
+漁具 > gyogu\ ;
+悪路 > akuro\ ;
+浅蜊 > asari\ ;
+情話 > jouwa\ ;
+種皮 > shuhi\ ;
+愚者 > gusha\ ;
+愚考 > gukou\ ;
+戦後 > sengo\ ;
+鉛製 > ensei\ ;
+禀議 > ringi\ ;
+才媛 > saien\ ;
+扇子 > sensu\ ;
+慰留 > iryuu\ ;
+移籍 > iseki\ ;
+野馬 > nouma\ ;
+端座 > tanza\ ;
+禅話 > zenwa\ ;
+我慢 > gaman\ ;
+喜捨 > kisha\ ;
+古風 > kofuu\ ;
+稲田 > inada\ ;
+受験 > juken\ ;
+空気 > kuuki\ ;
+我情 > gajou\ ;
+才女 > saijo\ ;
+空母 > kuubo\ ;
+唾液 > daeki\ ;
+満座 > manza\ ;
+営庭 > eitei\ ;
+禁裡 > kinri\ ;
+禁裏 > kinri\ ;
+味蕾 > mirai\ ;
+虚空 > kokuu\ ;
+悲観 > hikan\ ;
+淵源 > engen\ ;
+和船 > wasen\ ;
+洋語 > yougo\ ;
+慈眼 > jigen\ ;
+営巣 > eisou\ ;
+社運 > shaun\ ;
+批判 > hihan\ ;
+手垢 > teaka\ ;
+融和 > yuuwa\ ;
+悪計 > akkei\ ;
+批准 > hijun\ ;
+鼓童 > kodou\ ;
+吏道 > rodou\ ;
+投与 > touyo\ ;
+投下 > touka\ ;
+懸想 > kesou\ ;
+受難 > junan\ ;
+戸外 > kogai\ ;
+懺悔 > zange\ ;
+鋳物 > imono\ ;
+才器 > saiki\ ;
+竪子 > jushi\ ;
+符合 > fugou\ ;
+添水 > souzu\ ;
+符号 > fugou\ ;
+技倒 > gitou\ ;
+温暖 > ondan\ ;
+等価 > touka\ ;
+渡来 > torai\ ;
+名辞 > meiji\ ;
+恥部 > chibu\ ;
+童子 > douji\ ;
+懸念 > kenen\ ;
+悪行 > akkou\ ;
+酸鼻 > sanbi\ ;
+淡湖 > tanko\ ;
+黄花 > kouka\ ;
+成就 > jouju\ ;
+租税 > sozei\ ;
+善意 > zen''i\ ;
+嗟嘆 > satan\ ;
+清楚 > seiso\ ;
+鼠盗 > sotou\ ;
+泰語 > taigo\ ;
+愛社 > aisha\ ;
+沿道 > endou\ ;
+喪家 > souka\ ;
+古銭 > kosen\ ;
+社費 > shahi\ ;
+童女 > doujo\ ;
+否認 > hinin\ ;
+溶化 > youka\ ;
+湖底 > kotei\ ;
+淋漓 > rinri\ ;
+所員 > shoin\ ;
+嘉例 > karei\ ;
+清栄 > seiei\ ;
+鼠疫 > soeki\ ;
+善後 > zengo\ ;
+祈請 > kisei\ ;
+法貨 > houka\ ;
+祈誓 > kisei\ ;
+流罪 > ruzai\ ;
+端坐 > tanza\ ;
+嗚咽 > oetsu\ ;
+恩赦 > onsha\ ;
+和紙 > washi\ ;
+手勢 > tezei\ ;
+減摩 > genma\ ;
+台辞 > daiji\ ;
+淘汰 > touta\ ;
+恩賜 > onshi\ ;
+洒落 > share\ ;
+海砂 > kaisa\ ;
+手前 > temae\ ;
+台輪 > daiwa\ ;
+湖岸 > kogan\ ;
+洵美 > junbi\ ;
+古道 > kodou\ ;
+第五 > daigo\ ;
+第二 > daini\ ;
+示談 > jidan\ ;
+野郎 > yarou\ ;
+野選 > yasen\ ;
+法語 > hougo\ ;
+合議 > gougi\ ;
+法話 > houwa\ ;
+汗馬 > kanba\ ;
+懇意 > kon''i\ ;
+懊悩 > ounou\ ;
+打倒 > datou\ ;
+名誉 > meiyo\ ;
+愚痴 > guchi\ ;
+営団 > eidan\ ;
+水鶏 > kuina\ ;
+叉銃 > sajuu\ ;
+温情 > onjou\ ;
+移牒 > ichou\ ;
+立夏 > rikka\ ;
+唐檜 > touhi\ ;
+情義 > jougi\ ;
+錦旗 > kinki\ ;
+愛用 > aiyou\ ;
+法規 > houki\ ;
+懈怠 > getai\ ;
+租界 > sokai\ ;
+愚生 > gusei\ ;
+釈迦 > shaka\ ;
+湯垢 > yuaka\ ;
+恋路 > koiji\ ;
+派米 > habei\ ;
+成因 > seiin\ ;
+厦門 > kamon\ ;
+法被 > happi\ ;
+洋舞 > youbu\ ;
+虎狼 > korou\ ;
+古趾 > koshi\ ;
+藍色 > aiiro\ ;
+端午 > tango\ ;
+虚無 > kyomu\ ;
+手代 > tedai\ ;
+愛玩 > aigan\ ;
+受身 > ukemi\ ;
+惨禍 > sanka\ ;
+渡御 > togyo\ ;
+水魔 > suima\ ;
+野趣 > yashu\ ;
+古賢 > koken\ ;
+戦務 > senmu\ ;
+浮生 > fusei\ ;
+快音 > kaion\ ;
+喧嘩 > kenka\ ;
+稚気 > chiki\ ;
+温帯 > ontai\ ;
+所作 > shosa\ ;
+古豪 > kogou\ ;
+金貨 > kinka\ ;
+愛犬 > aiken\ ;
+海獺 > rakko\ ;
+成員 > seiin\ ;
+準備 > junbi\ ;
+惣社 > souja\ ;
+磯辺 > isobe\ ;
+鉛管 > enkan\ ;
+鼻汁 > bijuu\ ;
+海狸 > kairi\ ;
+惰眠 > damin\ ;
+房事 > bouji\ ;
+叙賜 > joshi\ ;
+成否 > seihi\ ;
+受贈 > juzou\ ;
+悪罵 > akuba\ ;
+成句 > seiku\ ;
+所与 > shoyo\ ;
+患者 > kanja\ ;
+古諺 > kogen\ ;
+可視 > kashi\ ;
+句読 > kutou\ ;
+黄禍 > kouka\ ;
+稲木 > inagi\ ;
+戦備 > senbi\ ;
+口語 > kougo\ ;
+古詩 > koshi\ ;
+戸主 > koshu\ ;
+里謡 > riyou\ ;
+古訓 > kokun\ ;
+空巣 > akisu\ ;
+古言 > kogen\ ;
+悪縁 > akuen\ ;
+温存 > onzon\ ;
+受講 > jukou\ ;
+印面 > inmen\ ;
+汽車 > kisha\ ;
+叡覧 > eiran\ ;
+黄砂 > kousa\ ;
+穎才 > eisai\ ;
+里言 > rigen\ ;
+単騎 > tanki\ ;
+醍醐 > daigo\ ;
+済度 > saido\ ;
+危難 > kinan\ ;
+泳者 > eisha\ ;
+名菓 > meika\ ;
+参賀 > sanga\ ;
+危険 > kiken\ ;
+営倉 > eisou\ ;
+喪具 > sougu\ ;
+必須 > hissu\ ;
+憂懼 > yuuku\ ;
+反語 > hango\ ;
+鼻根 > bikon\ ;
+友誼 > yuugi\ ;
+名花 > meika\ ;
+決起 > kekki\ ;
+麻睡 > masui\ ;
+反訴 > hanso\ ;
+鋭敏 > eibin\ ;
+蘇生 > sosei\ ;
+愛液 > aieki\ ;
+参議 > sangi\ ;
+名舗 > meiho\ ;
+派生 > hasei\ ;
+秘湯 > hitou\ ;
+黄疸 > oudan\ ;
+気風 > kifuu\ ;
+海淵 > kaien\ ;
+穴子 > anago\ ;
+喇叭 > rappa\ ;
+鍼医 > harii\ ;
+怪訝 > kegen\ ;
+薬罐 > yakan\ ;
+薬缶 > yakan\ ;
+思議 > shigi\ ;
+穏当 > ontou\ ;
+野蛮 > yaban\ ;
+印鑑 > inkan\ ;
+怨言 > engen\ ;
+午餐 > gosan\ ;
+微風 > bifuu\ ;
+港図 > kouzu\ ;
+汚辱 > ojoku\ ;
+哀歓 > aikan\ ;
+浮游 > fuyuu\ ;
+薄荷 > hakka\ ;
+銃火 > juuka\ ;
+愚民 > gumin\ ;
+秘法 > hihou\ ;
+呈示 > teiji\ ;
+喪主 > moshu\ ;
+南阿 > nan''a\ ;
+浮浪 > furou\ ;
+黄班 > ouhan\ ;
+渾名 > adana\ ;
+海気 > kaiki\ ;
+御飯 > gohan\ ;
+気随 > kizui\ ;
+名義 > meigi\ ;
+波線 > hasen\ ;
+沙蚕 > gokai\ ;
+同義 > dougi\ ;
+卑陋 > hirou\ ;
+民需 > minju\ ;
+稀書 > kisho\ ;
+虚栄 > kyoei\ ;
+涅槃 > nehan\ ;
+添字 > soeji\ ;
+合羽 > kappa\ ;
+員数 > inzuu\ ;
+浮気 > uwaki\ ;
+波紋 > hamon\ ;
+禅画 > zenga\ ;
+穴場 > anaba\ ;
+碑銘 > himei\ ;
+和漢 > wakan\ ;
+懐古 > kaiko\ ;
+意欲 > iyoku\ ;
+情理 > jouri\ ;
+鋭感 > eikan\ ;
+野菜 > yasai\ ;
+古茶 > kocha\ ;
+神祇 > jingi\ ;
+浄火 > jouka\ ;
+神社 > jinja\ ;
+黄燐 > ourin\ ;
+浅瀬 > asase\ ;
+油脂 > yushi\ ;
+御難 > gonan\ ;
+鉛版 > enban\ ;
+重荷 > juuka\ ;
+蛹化 > youka\ ;
+野草 > yasou\ ;
+御陰 > okage\ ;
+可能 > kanou\ ;
+原語 > gengo\ ;
+蚕座 > sanza\ ;
+水運 > suiun\ ;
+温厚 > onkou\ ;
+湖上 > kojou\ ;
+右翼 > uyoku\ ;
+銀波 > ginpa\ ;
+厚誼 > kougi\ ;
+後顧 > kouko\ ;
+銀河 > ginga\ ;
+慕情 > bojou\ ;
+和洋 > wayou\ ;
+啖呵 > tanka\ ;
+名簿 > meibo\ ;
+医長 > ichou\ ;
+区間 > kukan\ ;
+洋画 > youga\ ;
+淋巴 > rinpa\ ;
+善事 > zenji\ ;
+渦動 > kadou\ ;
+薬禍 > yakka\ ;
+慇懃 > ingin\ ;
+念誦 > nenju\ ;
+愛書 > aisho\ ;
+祈祷 > kitou\ ;
+匕首 > hishu\ ;
+沿線 > ensen\ ;
+金肥 > kinpi\ ;
+古聖 > kosei\ ;
+情焔 > jouen\ ;
+原被 > genpi\ ;
+蕗草 > rosou\ ;
+淫奔 > inpon\ ;
+口耳 > kouji\ ;
+古老 > korou\ ;
+気重 > kiomo\ ;
+南都 > nanto\ ;
+南部 > nanbu\ ;
+鉱油 > kouyu\ ;
+情炎 > jouen\ ;
+淫売 > inbai\ ;
+秘本 > hihon\ ;
+愚昧 > gumai\ ;
+流浪 > rurou\ ;
+情火 > jouka\ ;
+水路 > suiro\ ;
+慈恵 > jikei\ ;
+秘書 > hisho\ ;
+気配 > kehai\ ;
+薬研 > yagen\ ;
+受胎 > jutai\ ;
+微醺 > bikun\ ;
+半里 > hanri\ ;
+法科 > houka\ ;
+油紙 > yushi\ ;
+稲子 > inago\ ;
+気道 > kidou\ ;
+比類 > hirui\ ;
+流民 > rumin\ ;
+千里 > senri\ ;
+秘方 > hihou\ ;
+同祖 > douso\ ;
+態度 > taido\ ;
+鉄火 > tekka\ ;
+河系 > kakei\ ;
+私案 > shian\ ;
+禍源 > kagen\ ;
+破顔 > hagan\ ;
+卑近 > hikin\ ;
+黄河 > kouga\ ;
+御釜 > okama\ ;
+御金 > okane\ ;
+浦曲 > urawa\ ;
+活気 > kakki\ ;
+半途 > hanto\ ;
+程度 > teido\ ;
+重縁 > juuen\ ;
+古紙 > koshi\ ;
+部首 > bushu\ ;
+都電 > toden\ ;
+鼓手 > koshu\ ;
+銃架 > juuka\ ;
+混和 > konwa\ ;
+汽艇 > kitei\ ;
+汽船 > kisen\ ;
+比隣 > hirin\ ;
+愚挙 > gukyo\ ;
+友義 > yuugi\ ;
+古米 > komai\ ;
+哀憫 > aibin\ ;
+減価 > genka\ ;
+哀憐 > airen\ ;
+彩雲 > saiun\ ;
+河童 > kappa\ ;
+淵叢 > ensou\ ;
+部類 > burui\ ;
+哀感 > aikan\ ;
+法皇 > houou\ ;
+哀愍 > aibin\ ;
+蔬菜 > sosai\ ;
+磨耗 > mamou\ ;
+浮揚 > fuyou\ ;
+和本 > wahon\ ;
+液安 > ekian\ ;
+空佐 > kuusa\ ;
+渡世 > tosei\ ;
+受納 > junou\ ;
+唐土 > toudo\ ;
+添加 > tenka\ ;
+哀情 > aijou\ ;
+哀悼 > aitou\ ;
+和書 > washo\ ;
+愛憐 > airen\ ;
+破門 > hamon\ ;
+受精 > jusei\ ;
+悪漢 > akkan\ ;
+卑賤 > hisen\ ;
+憂哭 > ukine\ ;
+卑賎 > hisen\ ;
+受粉 > jufun\ ;
+部面 > bumen\ ;
+鼻孔 > bikou\ ;
+科挙 > kakyo\ ;
+矮鶏 > chabo\ ;
+毫釐 > gouri\ ;
+愛想 > aisou\ ;
+情歌 > jouka\ ;
+黄楊 > tsuge\ ;
+愛情 > aijou\ ;
+鋳型 > igata\ ;
+微賤 > bisen\ ;
+微賎 > bisen\ ;
+後部 > koubu\ ;
+印行 > inkou\ ;
+名画 > meiga\ ;
+鼠巣 > sosou\ ;
+部隊 > butai\ ;
+和文 > wabun\ ;
+汽罐 > kikan\ ;
+汽缶 > kikan\ ;
+意慾 > iyoku\ ;
+単語 > tango\ ;
+薄着 > usugi\ ;
+情機 > jouki\ ;
+波状 > hajou\ ;
+示現 > jigen\ ;
+黄桃 > outou\ ;
+古祠 > koshi\ ;
+薄目 > usume\ ;
+呑気 > nonki\ ;
+徒輩 > tohai\ ;
+法理 > houri\ ;
+里程 > ritei\ ;
+単記 > tanki\ ;
+硬貨 > kouka\ ;
+野禽 > yakin\ ;
+重科 > juuka\ ;
+部門 > bumon\ ;
+待避 > taihi\ ;
+慈姑 > kuwai\ ;
+蛇体 > jatai\ ;
+感度 > kando\ ;
+鼎座 > teiza\ ;
+法王 > houou\ ;
+稽古 > keiko\ ;
+愚弟 > gutei\ ;
+愚弄 > gurou\ ;
+鼻声 > bisei\ ;
+薫煙 > kunen\ ;
+口碑 > kouhi\ ;
+往還 > oukan\ ;
+沃素 > youso\ ;
+合理 > gouri\ ;
+治癒 > chiyu\ ;
+悲歎 > hitan\ ;
+汚臭 > oshuu\ ;
+卑言 > higen\ ;
+加齢 > karei\ ;
+征途 > seito\ ;
+鼠害 > sogai\ ;
+弧高 > kokou\ ;
+鉛板 > enban\ ;
+民話 > minwa\ ;
+比重 > hijuu\ ;
+卑見 > hiken\ ;
+員外 > ingai\ ;
+往返 > ouhen\ ;
+禍根 > kakon\ ;
+虚字 > kyoji\ ;
+添付 > tenpu\ ;
+憑依 > hyoui\ ;
+野砲 > yahou\ ;
+叡知 > eichi\ ;
+稼動 > kadou\ ;
+単衣 > hitoe\ ;
+愉快 > yukai\ ;
+穏健 > onken\ ;
+原義 > gengi\ ;
+波瀾 > haran\ ;
+油田 > yuden\ ;
+弾雨 > dan''u\ ;
+穏便 > onbin\ ;
+波濤 > hatou\ ;
+台甫 > taiho\ ;
+都邑 > toyuu\ ;
+和戦 > wasen\ ;
+可用 > kayou\ ;
+鹹湖 > kanko\ ;
+河畔 > kahan\ ;
+勇飛 > yuuhi\ ;
+半裸 > hanra\ ;
+径路 > keiro\ ;
+御詠 > gyoei\ ;
+重目 > omome\ ;
+半被 > happi\ ;
+私怨 > shien\ ;
+砂防 > sabou\ ;
+微行 > bikou\ ;
+呪文 > jumon\ ;
+泳法 > eihou\ ;
+御覧 > goran\ ;
+稼働 > kadou\ ;
+吐瀉 > tosha\ ;
+淫乱 > inran\ ;
+受益 > jueki\ ;
+神武 > jinmu\ ;
+合点 > gaten\ ;
+愛孫 > aison\ ;
+浅手 > asade\ ;
+愛孃 > aijou\ ;
+蚕具 > sangu\ ;
+銃後 > juugo\ ;
+愛嬢 > aijou\ ;
+原素 > genso\ ;
+蚕児 > sanji\ ;
+慈善 > jizen\ ;
+惰性 > dasei\ ;
+油状 > yujou\ ;
+野生 > yasei\ ;
+波浪 > harou\ ;
+秘宝 > hihou\ ;
+蓮華 > renge\ ;
+愛婿 > aisei\ ;
+忍苦 > ninku\ ;
+銃座 > juuza\ ;
+厳秘 > genpi\ ;
+原簿 > genbo\ ;
+厳科 > genka\ ;
+鋭兵 > eihei\ ;
+銀座 > ginza\ ;
+郡部 > gunbu\ ;
+鼻口 > bikou\ ;
+後記 > kouki\ ;
+愛妻 > aisai\ ;
+愚妻 > gusai\ ;
+慶事 > keiji\ ;
+税吏 > zeiri\ ;
+愛好 > aikou\ ;
+労音 > rouon\ ;
+可燃 > kanen\ ;
+液化 > ekika\ ;
+吝気 > rinki\ ;
+鄙見 > hiken\ ;
+和平 > wahei\ ;
+野獣 > yajuu\ ;
+鳳駕 > houga\ ;
+野猪 > yacho\ ;
+邪険 > jaken\ ;
+徒行 > tokou\ ;
+水肥 > suihi\ ;
+古版 > kohan\ ;
+募金 > bokin\ ;
+後裔 > kouei\ ;
+徐行 > jokou\ ;
+同派 > douha\ ;
+酸素 > sanso\ ;
+往訪 > ouhou\ ;
+野犬 > yaken\ ;
+延髄 > enzui\ ;
+税務 > zeimu\ ;
+悪日 > akubi\ ;
+稚児 > chigo\ ;
+加餐 > kasan\ ;
+加養 > kayou\ ;
+歯音 > shion\ ;
+後衛 > kouei\ ;
+酵素 > kouso\ ;
+郊野 > kouya\ ;
+私家 > shika\ ;
+鼎坐 > teiza\ ;
+忍者 > ninja\ ;
+医薬 > iyaku\ ;
+社歌 > shaka\ ;
+鼻内 > binai\ ;
+御蔭 > okage\ ;
+勢運 > seiun\ ;
+同気 > douki\ ;
+句点 > kuten\ ;
+破談 > hadan\ ;
+和尚 > oshou\ ;
+口炎 > kouen\ ;
+当路 > touro\ ;
+慈兄 > jikei\ ;
+情愛 > jouai\ ;
+正音 > seion\ ;
+名歌 > meika\ ;
+部財 > buzai\ ;
+可溶 > kayou\ ;
+沿海 > enkai\ ;
+華麗 > karei\ ;
+鉄扉 > teppi\ ;
+咽喉 > inkou\ ;
+海図 > kaizu\ ;
+御菜 > okazu\ ;
+印綿 > inmen\ ;
+浮城 > fujou\ ;
+恒温 > kouon\ ;
+古潭 > kotan\ ;
+河港 > kakou\ ;
+河清 > kasei\ ;
+印紙 > inshi\ ;
+気胞 > kihou\ ;
+口演 > kouen\ ;
+鼓吹 > kosui\ ;
+愚問 > gumon\ ;
+水素 > suiso\ ;
+虎口 > kokou\ ;
+御苑 > gyoen\ ;
+蒲薦 > hosen\ ;
+哀号 > aigou\ ;
+悲憤 > hifun\ ;
+哀史 > aishi\ ;
+麻幹 > ogara\ ;
+応答 > outou\ ;
+印籠 > inrou\ ;
+歌風 > kafuu\ ;
+武門 > bumon\ ;
+和姦 > wakan\ ;
+移入 > inyuu\ ;
+悲愴 > hisou\ ;
+残部 > zanbu\ ;
+泰斗 > taito\ ;
+感受 > kanju\ ;
+歌題 > kadai\ ;
+悲惨 > hisan\ ;
+禁忌 > kinki\ ;
+愛吟 > aigin\ ;
+海員 > kaiin\ ;
+避難 > hinan\ ;
+重湯 > omoyu\ ;
+惣嫁 > souka\ ;
+鼓動 > kodou\ ;
+欺騙 > gihen\ ;
+法案 > houan\ ;
+御腹 > onaka\ ;
+和声 > wasei\ ;
+河水 > kasui\ ;
+名案 > meian\ ;
+悲恋 > hiren\ ;
+感化 > kanka\ ;
+武鑑 > bukan\ ;
+遺集 > ishuu\ ;
+句法 > kuhou\ ;
+怪火 > kaika\ ;
+微罪 > bizai\ ;
+原画 > genga\ ;
+南緯 > nan''i\ ;
+古法 > kohou\ ;
+虚偽 > kyogi\ ;
+勲記 > kunki\ ;
+剣鬼 > kenki\ ;
+金波 > kinpa\ ;
+海参 > iriko\ ;
+秘史 > hishi\ ;
+邪道 > jadou\ ;
+稀代 > kidai\ ;
+厳父 > genpu\ ;
+鉱夫 > koufu\ ;
+戸々 > kokou\ ;
+銀地 > ginji\ ;
+社是 > shaze\ ;
+磁界 > jikai\ ;
+海区 > kaiku\ ;
+印税 > inzei\ ;
+口気 > kouki\ ;
+同期 > douki\ ;
+重油 > juuyu\ ;
+銅器 > douki\ ;
+矮躯 > waiku\ ;
+沮止 > soshi\ ;
+油槽 > yusou\ ;
+短躯 > tanku\ ;
+恋歌 > renka\ ;
+科名 > kamei\ ;
+悪心 > oshin\ ;
+銃器 > juuki\ ;
+弘遠 > kouen\ ;
+原理 > genri\ ;
+汗疹 > asemo\ ;
+汗疣 > asemo\ ;
+悪徒 > akuto\ ;
+硼素 > houso\ ;
+受洗 > jusen\ ;
+稀世 > kisei\ ;
+私営 > shiei\ ;
+意匠 > ishou\ ;
+銀器 > ginki\ ;
+水禍 > suika\ ;
+禍害 > kagai\ ;
+快癒 > kaiyu\ ;
+金歯 > kinba\ ;
+同時 > douji\ ;
+短路 > tanro\ ;
+遠音 > toone\ ;
+引退 > intai\ ;
+那辺 > nahen\ ;
+情宜 > jougi\ ;
+愚兄 > gukei\ ;
+悟性 > gosei\ ;
+微細 > bisai\ ;
+動議 > dougi\ ;
+浮動 > fudou\ ;
+勃起 > bokki\ ;
+愚僧 > gusou\ ;
+後胤 > kouin\ ;
+禅家 > zenke\ ;
+黄変 > ouhen\ ;
+加配 > kahai\ ;
+品位 > hin''i\ ;
+往航 > oukou\ ;
+遠雷 > enrai\ ;
+念珠 > nenju\ ;
+悔悟 > kaigo\ ;
+気管 > kikan\ ;
+欧風 > oufuu\ ;
+浄土 > joudo\ ;
+含意 > gan''i\ ;
+情婦 > joufu\ ;
+重機 > juuki\ ;
+悧巧 > rikou\ ;
+気筒 > kitou\ ;
+怒濤 > dotou\ ;
+惹句 > jakku\ ;
+歩道 > hodou\ ;
+磨淬 > masai\ ;
+毛色 > keiro\ ;
+永眠 > eimin\ ;
+強訴 > gouso\ ;
+咄嗟 > tossa\ ;
+私印 > shiin\ ;
+武道 > budou\ ;
+正邪 > seija\ ;
+反比 > hanpi\ ;
+功過 > kouka\ ;
+印相 > inzou\ ;
+化膿 > kanou\ ;
+次類 > jirui\ ;
+反歯 > soppa\ ;
+反歩 > tanbu\ ;
+剪除 > senjo\ ;
+台木 > daigi\ ;
+注意 > chuui\ ;
+反歌 > hanka\ ;
+醸母 > joubo\ ;
+前駆 > zenku\ ;
+武辺 > buhen\ ;
+座高 > zakou\ ;
+情夫 > joufu\ ;
+和名 > wamei\ ;
+愛人 > aijin\ ;
+和合 > wagou\ ;
+励起 > reiki\ ;
+半端 > hanpa\ ;
+薄日 > usubi\ ;
+愚人 > gujin\ ;
+黄土 > koudo\ ;
+応用 > ouyou\ ;
+邦貨 > houka\ ;
+私利 > shiri\ ;
+破船 > hasen\ ;
+否応 > iyaou\ ;
+医籍 > iseki\ ;
+化育 > kaiku\ ;
+秘伝 > hiden\ ;
+母艦 > bokan\ ;
+受検 > juken\ ;
+油断 > yudan\ ;
+睡魔 > suima\ ;
+母船 > bosen\ ;
+礎材 > sozai\ ;
+廃除 > haijo\ ;
+古来 > korai\ ;
+海事 > kaiji\ ;
+永生 > eisei\ ;
+助走 > josou\ ;
+遊離 > yuuri\ ;
+怒涛 > dotou\ ;
+祈念 > kinen\ ;
+歳費 > saihi\ ;
+祖師 > soshi\ ;
+古書 > kosho\ ;
+周囲 > shuui\ ;
+決河 > kekka\ ;
+遷都 > sento\ ;
+汽水 > kisui\ ;
+比肩 > hiken\ ;
+印環 > inkan\ ;
+野末 > nozue\ ;
+野望 > yabou\ ;
+意中 > ichuu\ ;
+悪婦 > akufu\ ;
+呼号 > kogou\ ;
+正路 > seiro\ ;
+鉱区 > kouku\ ;
+悪婆 > akuba\ ;
+鉱化 > kouka\ ;
+波形 > hakei\ ;
+邦語 > hougo\ ;
+叡智 > eichi\ ;
+各戸 > kakko\ ;
+前非 > zenpi\ ;
+汚濁 > odaku\ ;
+母胎 > botai\ ;
+歌道 > kadou\ ;
+碁盤 > goban\ ;
+死語 > shigo\ ;
+可撓 > katou\ ;
+悲壮 > hisou\ ;
+弘誓 > guzei\ ;
+浮世 > ukiyo\ ;
+座頭 > zatou\ ;
+吐息 > toiki\ ;
+浮上 > fujou\ ;
+古方 > kohou\ ;
+浄化 > jouka\ ;
+叡旨 > eishi\ ;
+邪見 > jaken\ ;
+古文 > komon\ ;
+悪女 > akujo\ ;
+化繊 > kasen\ ;
+午砲 > gohou\ ;
+毛織 > keori\ ;
+江湖 > gouko\ ;
+恩愛 > on''ai\ ;
+気相 > kisou\ ;
+悲報 > hihou\ ;
+御社 > onsha\ ;
+悪夢 > akumu\ ;
+北緯 > hokui\ ;
+叙景 > jokei\ ;
+正貨 > seika\ ;
+正負 > seifu\ ;
+禁固 > kinko\ ;
+向後 > kougo\ ;
+硅素 > keiso\ ;
+恩情 > onjou\ ;
+叛旗 > hanki\ ;
+薄手 > usude\ ;
+恩恵 > onkei\ ;
+永牢 > eirou\ ;
+遺蹟 > iseki\ ;
+里数 > risuu\ ;
+午睡 > gosui\ ;
+引見 > inken\ ;
+祖宗 > sosou\ ;
+流刑 > rukei\ ;
+助詞 > joshi\ ;
+銀位 > gin''i\ ;
+叙文 > jobun\ ;
+南画 > nanga\ ;
+示度 > shido\ ;
+遺跡 > iseki\ ;
+鉄器 > tekki\ ;
+遥遠 > youen\ ;
+弁護 > bengo\ ;
+勤苦 > kinku\ ;
+毛糸 > keito\ ;
+助言 > jogon\ ;
+法度 > hatto\ ;
+南瓜 > nanka\ ;
+幽鬼 > yuuki\ ;
+化粧 > kewai\ ;
+情味 > joumi\ ;
+江河 > kouga\ ;
+否定 > hitei\ ;
+破線 > hasen\ ;
+影絵 > kagee\ ;
+同座 > douza\ ;
+破綻 > hatan\ ;
+口授 > kouju\ ;
+派兵 > hahei\ ;
+思案 > shian\ ;
+葡萄 > budou\ ;
+建議 > kengi\ ;
+正課 > seika\ ;
+母線 > bosen\ ;
+反旗 > hanki\ ;
+正誤 > seigo\ ;
+悲嘆 > hitan\ ;
+禅味 > zenmi\ ;
+部署 > busho\ ;
+可憐 > karen\ ;
+悪因 > akuin\ ;
+蒔絵 > makie\ ;
+過重 > kajuu\ ;
+匕箸 > hicho\ ;
+半田 > handa\ ;
+欄間 > ranma\ ;
+葉蘭 > haran\ ;
+恩師 > onshi\ ;
+母系 > bokei\ ;
+遊里 > yuuri\ ;
+水火 > suika\ ;
+惨事 > sanji\ ;
+祭器 > saiki\ ;
+恨布 > konbu\ ;
+油性 > yusei\ ;
+正規 > seiki\ ;
+禁句 > kinku\ ;
+社寺 > shaji\ ;
+恋慕 > renbo\ ;
+医療 > iryou\ ;
+華道 > kadou\ ;
+野手 > yashu\ ;
+社家 > shake\ ;
+重手 > omode\ ;
+武装 > busou\ ;
+野戦 > yasen\ ;
+歩行 > hokou\ ;
+毛穴 > keana\ ;
+卑猥 > hiwai\ ;
+破算 > hasan\ ;
+呑吐 > donto\ ;
+油彩 > yusai\ ;
+叡慮 > eiryo\ ;
+御用 > goyou\ ;
+流人 > runin\ ;
+叡感 > eikan\ ;
+歌謡 > kayou\ ;
+名家 > meika\ ;
+御璽 > gyoji\ ;
+取手 > totte\ ;
+名宛 > naate\ ;
+同家 > douke\ ;
+着類 > kirui\ ;
+受戒 > jukai\ ;
+運送 > unsou\ ;
+黄体 > outai\ ;
+歌論 > karon\ ;
+酵母 > koubo\ ;
+祖型 > sokei\ ;
+重愛 > juuai\ ;
+神器 > jingi\ ;
+同字 > douji\ ;
+台座 > daiza\ ;
+割賦 > wappu\ ;
+真鯛 > madai\ ;
+叛意 > han''i\ ;
+歌詞 > kashi\ ;
+真鯉 > magoi\ ;
+残花 > zanka\ ;
+黄人 > oujin\ ;
+水温 > suion\ ;
+運輸 > un''yu\ ;
+藩儒 > hanju\ ;
+剰費 > jouhi\ ;
+前部 > zenbu\ ;
+麗句 > reiku\ ;
+磨損 > mason\ ;
+野性 > yasei\ ;
+葉茶 > hadja\ ;
+叙情 > jojou\ ;
+御玉 > otama\ ;
+道路 > douro\ ;
+運転 > unten\ ;
+幽雅 > yuuga\ ;
+初陣 > uijin\ ;
+沿岸 > engan\ ;
+連鎖 > rensa\ ;
+葉芽 > youga\ ;
+河川 > kasen\ ;
+遁辞 > tonji\ ;
+前途 > zento\ ;
+遍路 > henro\ ;
+鉛丹 > entan\ ;
+水泳 > suiei\ ;
+后妃 > kouhi\ ;
+名妓 > meigi\ ;
+口座 > kouza\ ;
+志気 > shiki\ ;
+叛徒 > hanto\ ;
+金庫 > kinko\ ;
+印池 > inchi\ ;
+泥土 > deido\ ;
+油層 > yusou\ ;
+労苦 > rouku\ ;
+友愛 > yuuai\ ;
+遠謀 > enbou\ ;
+同夜 > douya\ ;
+重度 > juudo\ ;
+前輪 > maewa\ ;
+退院 > taiin\ ;
+情事 > jouji\ ;
+破砕 > hasai\ ;
+危殆 > kitai\ ;
+治安 > chian\ ;
+剰語 > jougo\ ;
+野師 > yashi\ ;
+落花 > rakka\ ;
+史家 > shika\ ;
+鈍器 > donki\ ;
+性愛 > seiai\ ;
+引航 > inkou\ ;
+砂絵 > sunae\ ;
+得物 > emono\ ;
+沙弥 > shami\ ;
+祭具 > saigu\ ;
+含味 > ganmi\ ;
+往生 > oujou\ ;
+分離 > bunri\ ;
+配流 > hairu\ ;
+引致 > inchi\ ;
+反徒 > hanto\ ;
+刈除 > gaijo\ ;
+怨恨 > enkon\ ;
+遠視 > enshi\ ;
+祭儀 > saigi\ ;
+鄙猥 > hiwai\ ;
+歯芽 > shiga\ ;
+遠見 > toomi\ ;
+鹹味 > kanmi\ ;
+荷馬 > niuma\ ;
+真顔 > magao\ ;
+砂糖 > satou\ ;
+酒気 > shuki\ ;
+鷹揚 > ouyou\ ;
+利鈍 > ridon\ ;
+思慕 > shibo\ ;
+怠惰 > taida\ ;
+利金 > rikin\ ;
+沮害 > sogai\ ;
+同坐 > douza\ ;
+区点 > kuten\ ;
+友引 > yuuin\ ;
+酔歩 > suiho\ ;
+凹面 > oumen\ ;
+道話 > douwa\ ;
+包皮 > houhi\ ;
+逸走 > issou\ ;
+廃語 > haigo\ ;
+吟味 > ginmi\ ;
+厭戦 > ensen\ ;
+武芸 > bugei\ ;
+遡行 > sokou\ ;
+名器 > meiki\ ;
+華言 > kagen\ ;
+影画 > kagee\ ;
+徒然 > tozen\ ;
+連辞 > renji\ ;
+広野 > kouya\ ;
+気泡 > kihou\ ;
+金字 > kinji\ ;
+弥縫 > bihou\ ;
+金子 > kinsu\ ;
+弧線 > kosen\ ;
+欠課 > kekka\ ;
+単比 > tanpi\ ;
+過言 > kagon\ ;
+破産 > hasan\ ;
+社員 > shain\ ;
+印棉 > inmen\ ;
+研磨 > kenma\ ;
+悪事 > akuji\ ;
+示唆 > shisa\ ;
+可変 > kahen\ ;
+彩画 > saiga\ ;
+薫化 > kunka\ ;
+受容 > juyou\ ;
+祭事 > saiji\ ;
+祖先 > sosen\ ;
+鈍化 > donka\ ;
+性差 > seisa\ ;
+萠芽 > houga\ ;
+別途 > betto\ ;
+過褒 > kahou\ ;
+荷電 > kaden\ ;
+硬派 > kouha\ ;
+台場 > daiba\ ;
+吾人 > gojin\ ;
+波動 > hadou\ ;
+薄地 > usuji\ ;
+透過 > touka\ ;
+単機 > tanki\ ;
+殷盛 > insei\ ;
+社印 > shain\ ;
+印材 > inzai\ ;
+平野 > heiya\ ;
+印本 > inpon\ ;
+息吹 > ibuki\ ;
+幹部 > kanbu\ ;
+印書 > insho\ ;
+幽遠 > yuuen\ ;
+名句 > meiku\ ;
+前記 > zenki\ ;
+運行 > unkou\ ;
+武者 > musha\ ;
+社務 > shamu\ ;
+原意 > gen''i\ ;
+古墳 > kofun\ ;
+恩命 > onmei\ ;
+友宜 > yuugi\ ;
+野天 > noten\ ;
+合否 > gouhi\ ;
+労組 > rouso\ ;
+野外 > yagai\ ;
+座談 > zadan\ ;
+弗素 > fusso\ ;
+逃避 > touhi\ ;
+幸運 > kouun\ ;
+破牢 > harou\ ;
+遺臣 > ishin\ ;
+広軌 > kouki\ ;
+正義 > seigi\ ;
+法務 > houmu\ ;
+破片 > hahen\ ;
+同化 > douka\ ;
+退避 > taihi\ ;
+古城 > kojou\ ;
+吐剤 > tozai\ ;
+気概 > kigai\ ;
+府警 > fukei\ ;
+御殿 > goten\ ;
+萌芽 > houga\ ;
+区民 > kumin\ ;
+厚恩 > kouon\ ;
+応援 > ouen\ ;
+庫裏 > kuri\ ;
+古器 > koki\ ;
+凍雨 > touu\ ;
+徒歩 > toho\ ;
+可否 > kahi\ ;
+徐歩 > joho\ ;
+庇護 > higo\ ;
+野営 > yaei\ ;
+法会 > houe\ ;
+同位 > doui\ ;
+危懼 > kigu\ ;
+句句 > kuku\ ;
+古句 > koku\ ;
+口受 > kuju\ ;
+治具 > jigu\ ;
+冷雨 > reiu\ ;
+当為 > toui\ ;
+右党 > utou\ ;
+危惧 > kigu\ ;
+遺精 > isei\ ;
+野卑 > yahi\ ;
+右傾 > ukei\ ;
+医書 > isho\ ;
+違背 > ihai\ ;
+怨嗟 > ensa\ ;
+鸚哥 > inko\ ;
+破毀 > haki\ ;
+反吐 > hedo\ ;
+反古 > hogo\ ;
+古儀 > kogi\ ;
+華美 > kabi\ ;
+印度 > indo\ ;
+遺稿 > ikou\ ;
+相違 > soui\ ;
+座臥 > zaga\ ;
+帰途 > kito\ ;
+忠実 > mame\ ;
+円顱 > enro\ ;
+磁場 > jiba\ ;
+古事 > koji\ ;
+破棄 > haki\ ;
+永寿 > eiju\ ;
+歌碑 > kahi\ ;
+往時 > ouji\ ;
+磁土 > jido\ ;
+鴉片 > ahen\ ;
+印字 > inji\ ;
+違算 > isan\ ;
+叙事 > joji\ ;
+磁器 > jiki\ ;
+微微 > bibi\ ;
+帰路 > kiro\ ;
+御意 > gyoi\ ;
+砂洲 > sasu\ ;
+午後 > gogo\ ;
+毀棄 > kiki\ ;
+遠祖 > enso\ ;
+後手 > gote\ ;
+干葉 > hiba\ ;
+引火 > inka\ ;
+御影 > goei\ ;
+遺産 > isan\ ;
+樹陰 > juin\ ;
+英音 > eion\ ;
+汚名 > omei\ ;
+磁区 > jiku\ ;
+邪淫 > jain\ ;
+迂言 > ugen\ ;
+磁化 > jika\ ;
+医師 > ishi\ ;
+彼我 > higa\ ;
+危坐 > kiza\ ;
+創痍 > soui\ ;
+機運 > kiun\ ;
+匪徒 > hito\ ;
+助演 > joen\ ;
+邪気 > jaki\ ;
+弥次 > yaji\ ;
+御宇 > gyou\ ;
+往往 > ouou\ ;
+刀自 > toji\ ;
+御子 > miko\ ;
+医官 > ikan\ ;
+加温 > kaon\ ;
+過疎 > kaso\ ;
+刀背 > mine\ ;
+応募 > oubo\ ;
+遺漏 > irou\ ;
+後家 > goke\ ;
+医大 > idai\ ;
+殴打 > ouda\ ;
+歩武 > hobu\ ;
+違犯 > ihan\ ;
+円貨 > enka\ ;
+気味 > gimi\ ;
+気合 > kiai\ ;
+布衍 > fuen\ ;
+魔魅 > mami\ ;
+後場 > goba\ ;
+破家 > baka\ ;
+気化 > kika\ ;
+征夷 > seii\ ;
+午后 > gogo\ ;
+水位 > suii\ ;
+永久 > towa\ ;
+左記 > saki\ ;
+円規 > enki\ ;
+盈虧 > eiki\ ;
+遺構 > ikou\ ;
+御名 > mina\ ;
+部屋 > heya\ ;
+英貨 > eika\ ;
+過渡 > kato\ ;
+違法 > ihou\ ;
+殷富 > inpu\ ;
+延期 > enki\ ;
+横議 > ougi\ ;
+砂州 > sasu\ ;
+茣蓙 > goza\ ;
+英語 > eigo\ ;
+運河 > unga\ ;
+遺書 > isho\ ;
+知恵 > chie\ ;
+運気 > unki\ ;
+輸贏 > yuei\ ;
+卑下 > hige\ ;
+勢子 > seko\ ;
+包囲 > houi\ ;
+往古 > ouko\ ;
+加持 > kaji\ ;
+弧度 > kodo\ ;
+都営 > toei\ ;
+比喩 > hiyu\ ;
+遺文 > ibun\ ;
+逢瀬 > ouse\ ;
+出目 > deme\ ;
+彙報 > ihou\ ;
+武技 > bugi\ ;
+輝輝 > kiki\ ;
+座洲 > zasu\ ;
+御代 > miyo\ ;
+勢威 > seii\ ;
+医会 > ikai\ ;
+得体 > etai\ ;
+御世 > miyo\ ;
+影印 > eiin\ ;
+正意 > seii\ ;
+円舞 > enbu\ ;
+鵜匠 > ujou\ ;
+母印 > boin\ ;
+逸機 > ikki\ ;
+部員 > buin\ ;
+遺戒 > ikai\ ;
+皮膚 > hifu\ ;
+遺憾 > ikan\ ;
+刷毛 > hake\ ;
+歩度 > hodo\ ;
+次期 > jiki\ ;
+武庫 > buko\ ;
+機縁 > kien\ ;
+砂土 > sado\ ;
+遺恨 > ikon\ ;
+往事 > ouji\ ;
+花譜 > kafu\ ;
+遺志 > ishi\ ;
+序次 > joji\ ;
+比価 > hika\ ;
+途次 > toji\ ;
+創意 > soui\ ;
+武家 > buke\ ;
+横臥 > ouga\ ;
+鬱金 > ukon\ ;
+比丘 > biku\ ;
+都下 > toka\ ;
+矢場 > yaba\ ;
+花被 > kahi\ ;
+違憲 > iken\ ;
+延寿 > enju\ ;
+百舌 > mozu\ ;
+武夫 > bufu\ ;
+砂利 > jari\ ;
+部下 > buka\ ;
+遺子 > ishi\ ;
+瞽女 > goze\ ;
+句々 > kuku\ ;
+出歯 > deba\ ;
+過度 > kado\ ;
+武器 > buki\ ;
+運座 > unza\ ;
+次序 > jijo\ ;
+模糊 > moko\ ;
+花芽 > kaga\ ;
+遺址 > ishi\ ;
+平易 > heii\ ;
+加味 > kami\ ;
+歩合 > buai\ ;
+欧字 > ouji\ ;
+出来 > deki\ ;
+僧衣 > soui\ ;
+疎音 > soin\ ;
+座州 > zasu\ ;
+樹皮 > juhi\ ;
+府庫 > fuko\ ;
+遺品 > ihin\ ;
+疑雲 > giun\ ;
+遺命 > imei\ ;
+此処 > koko\ ;
+武具 > bugu\ ;
+過多 > kata\ ;
+次女 > jijo\ ;
+几案 > kian\ ;
+武備 > bubi\ ;
+追手 > otte\ ;
+遺功 > ikou\ ;
+異風 > ifuu\ ;
+遺制 > isei\ ;
+異類 > irui\ ;
+利己 > riko\ ;
+正位 > seii\ ;
+刷子 > hake\ ;
+武事 > buji\ ;
+荊棘 > bara\ ;
+魔羅 > mara\ ;
+遺体 > itai\ ;
+違反 > ihan\ ;
+遺伝 > iden\ ;
+過去 > kako\ ;
+欧化 > ouka\ ;
+疎遠 > soen\ ;
+疑辞 > giji\ ;
+左派 > saha\ ;
+艶美 > enbi\ ;
+驢馬 > roba\ ;
+岐阜 > gifu\ ;
+座員 > zain\ ;
+永々 > eiei\ ;
+真帆 > maho\ ;
+相手 > aite\ ;
+度合 > doai\ ;
+違例 > irei\ ;
+利器 > riki\ ;
+色絵 > iroe\ ;
+異邦 > ihou\ ;
+違令 > irei\ ;
+廃位 > haii\ ;
+布施 > fuse\ ;
+自費 > jihi\ ;
+自負 > jifu\ ;
+入江 > irie\ ;
+英気 > eiki\ ;
+騾馬 > raba\ ;
+花王 > kaou\ ;
+棋院 > kiin\ ;
+帷幄 > iaku\ ;
+英武 > eibu\ ;
+異趣 > ishu\ ;
+具案 > guan\ ;
+出場 > deba\ ;
+自記 > jiki\ ;
+座主 > zasu\ ;
+自衛 > jiei\ ;
+異論 > iron\ ;
+岐路 > kiro\ ;
+相子 > aiko\ ;
+府下 > fuka\ ;
+魔王 > maou\ ;
+偉観 > ikan\ ;
+異見 > iken\ ;
+利他 > rita\ ;
+騎馬 > kiba\ ;
+機微 > kibi\ ;
+機影 > kiei\ ;
+幾何 > kika\ ;
+往々 > ouou\ ;
+発条 > bane\ ;
+内意 > naii\ ;
+機序 > kijo\ ;
+癸未 > kibi\ ;
+帝威 > teii\ ;
+迂回 > ukai\ ;
+退位 > taii\ ;
+出刃 > deba\ ;
+梅雨 > baiu\ ;
+模擬 > mogi\ ;
+円弧 > enko\ ;
+痲痺 > mahi\ ;
+目地 > meji\ ;
+円座 > enza\ ;
+機尾 > kibi\ ;
+花樹 > kaju\ ;
+帰営 > kiei\ ;
+画譜 > gafu\ ;
+機宜 > kigi\ ;
+尾部 > bibu\ ;
+盲唖 > moua\ ;
+依願 > igan\ ;
+依頼 > irai\ ;
+疑義 > gigi\ ;
+真似 > mane\ ;
+棋譜 > kifu\ ;
+帰化 > kika\ ;
+児戯 > jigi\ ;
+真上 > maue\ ;
+巫子 > miko\ ;
+希土 > kido\ ;
+花期 > kaki\ ;
+希図 > kito\ ;
+馬鹿 > baka\ ;
+臙脂 > enji\ ;
+偃臥 > enga\ ;
+胡麻 > goma\ ;
+栗鼠 > risu\ ;
+寺院 > jiin\ ;
+異聞 > ibun\ ;
+巫女 > miko\ ;
+目処 > medo\ ;
+駄馬 > daba\ ;
+鬼気 > kiki\ ;
+几下 > kika\ ;
+機器 > kiki\ ;
+公家 > kuge\ ;
+艶歌 > enka\ ;
+保護 > hogo\ ;
+兵威 > heii\ ;
+鬱気 > ukki\ ;
+軽易 > keii\ ;
+英字 > eiji\ ;
+花押 > kaou\ ;
+俚語 > rigo\ ;
+皇子 > ouji\ ;
+屠蘇 > toso\ ;
+冀図 > kito\ ;
+駆除 > kujo\ ;
+寝間 > nema\ ;
+辞儀 > jigi\ ;
+目上 > meue\ ;
+帝位 > teii\ ;
+機化 > kika\ ;
+輪差 > wasa\ ;
+余韻 > yoin\ ;
+異端 > itan\ ;
+輝度 > kido\ ;
+寄附 > kifu\ ;
+機具 > kigu\ ;
+工合 > guai\ ;
+異種 > ishu\ ;
+児女 > jijo\ ;
+花序 > kajo\ ;
+具合 > guai\ ;
+足袋 > tabi\ ;
+山羊 > yagi\ ;
+苦土 > kudo\ ;
+位階 > ikai\ ;
+寿賀 > juga\ ;
+自画 > jiga\ ;
+英和 > eiwa\ ;
+公卿 > kuge\ ;
+画素 > gaso\ ;
+其処 > soko\ ;
+梨花 > rika\ ;
+由縁 > yuen\ ;
+円価 > enka\ ;
+花季 > kaki\ ;
+魚座 > uoza\ ;
+具備 > gubi\ ;
+越訴 > esso\ ;
+肥馬 > hiba\ ;
+百合 > yuri\ ;
+皮下 > hika\ ;
+儒家 > juka\ ;
+自火 > jika\ ;
+起訴 > kiso\ ;
+俚耳 > riji\ ;
+家運 > kaun\ ;
+異状 > ijou\ ;
+楚楚 > soso\ ;
+允可 > inka\ ;
+侍衛 > jiei\ ;
+饑餓 > kiga\ ;
+花器 > kaki\ ;
+皇位 > koui\ ;
+佳話 > kawa\ ;
+胃酸 > isan\ ;
+先先 > mama\ ;
+家路 > ieji\ ;
+桧葉 > hiba\ ;
+魔女 > majo\ ;
+饂飩 > udon\ ;
+字音 > jion\ ;
+寄語 > kigo\ ;
+花卉 > kaki\ ;
+家譜 > kafu\ ;
+胴衣 > doui\ ;
+鬼女 > kijo\ ;
+耳鼻 > jibi\ ;
+餓鬼 > gaki\ ;
+胤裔 > inei\ ;
+儲位 > choi\ ;
+自棄 > yake\ ;
+理非 > rihi\ ;
+以降 > ikou\ ;
+優位 > yuui\ ;
+起臥 > kiga\ ;
+胞衣 > houi\ ;
+栄誉 > eiyo\ ;
+嬰音 > eion\ ;
+輔佐 > hosa\ ;
+伊達 > date\ ;
+異様 > iyou\ ;
+余蘊 > youn\ ;
+家蚊 > ieka\ ;
+尼甫 > jiho\ ;
+偉材 > izai\ ;
+異本 > ihon\ ;
+植木 > ueki\ ;
+胼胝 > tako\ ;
+航宇 > kouu\ ;
+疑懼 > giku\ ;
+異文 > ibun\ ;
+異数 > isuu\ ;
+疑惧 > gigu\ ;
+自我 > jiga\ ;
+駕籠 > kago\ ;
+魁偉 > kaii\ ;
+保無 > homu\ ;
+駕篭 > kago\ ;
+飢餓 > kiga\ ;
+自愛 > jiai\ ;
+栄華 > eiga\ ;
+偉挙 > ikyo\ ;
+季語 > kigo\ ;
+肚裏 > tori\ ;
+僧位 > soui\ ;
+偉才 > isai\ ;
+異才 > isai\ ;
+費途 > hito\ ;
+理路 > riro\ ;
+賦課 > fuka\ ;
+賦詠 > fuei\ ;
+畏敬 > ikei\ ;
+保温 > hoon\ ;
+自序 > jijo\ ;
+画架 > gaka\ ;
+位置 > ichi\ ;
+二院 > niin\ ;
+自己 > jiko\ ;
+異性 > isei\ ;
+異彩 > isai\ ;
+疑字 > giji\ ;
+豪雨 > gouu\ ;
+付議 > fugi\ ;
+保母 > hobo\ ;
+安臥 > anga\ ;
+以西 > isei\ ;
+亜鈴 > arei\ ;
+自家 > jika\ ;
+異常 > ijou\ ;
+供犠 > kugi\ ;
+付記 > fuki\ ;
+小火 > boya\ ;
+駄目 > dame\ ;
+屋根 > yane\ ;
+依然 > izen\ ;
+伊艦 > ikan\ ;
+偉容 > iyou\ ;
+梨果 > rika\ ;
+異存 > izon\ ;
+二部 > nibu\ ;
+風雨 > fuuu\ ;
+棄捐 > kien\ ;
+楕円 > daen\ ;
+偽印 > giin\ ;
+肌膚 > kifu\ ;
+異姓 > isei\ ;
+偉大 > idai\ ;
+異変 > ihen\ ;
+留守 > rusu\ ;
+位相 > isou\ ;
+一鼓 > ikko\ ;
+自営 > jiei\ ;
+用意 > youi\ ;
+耳語 > jigo\ ;
+異域 > iiki\ ;
+画布 > gafu\ ;
+高位 > koui\ ;
+字義 > jigi\ ;
+自叙 > jijo\ ;
+保持 > hoji\ ;
+驥尾 > kibi\ ;
+倚子 > ishi\ ;
+自助 > jijo\ ;
+胃癌 > igan\ ;
+画家 > gaka\ ;
+興亜 > koua\ ;
+瓦斯 > gasu\ ;
+自利 > jiri\ ;
+家父 > kafu\ ;
+飛語 > higo\ ;
+余煙 > yoen\ ;
+下駄 > geta\ ;
+下馬 > geba\ ;
+假名 > kana\ ;
+異名 > imei\ ;
+位牌 > ihai\ ;
+異同 > idou\ ;
+耶蘇 > yaso\ ;
+余炎 > yoen\ ;
+瑠璃 > ruri\ ;
+一騎 > ikki\ ;
+疑似 > giji\ ;
+偉勲 > ikun\ ;
+偉効 > ikou\ ;
+偉功 > ikou\ ;
+異動 > idou\ ;
+負荷 > fuka\ ;
+久遠 > kuon\ ;
+自余 > jiyo\ ;
+不離 > furi\ ;
+一顧 > ikko\ ;
+自他 > jita\ ;
+美音 > bion\ ;
+子等 > kora\ ;
+下院 > kain\ ;
+起案 > kian\ ;
+不間 > buma\ ;
+画因 > gain\ ;
+余波 > yoha\ ;
+畏友 > iyuu\ ;
+異例 > irei\ ;
+小手 > kote\ ;
+異体 > itai\ ;
+趣意 > shui\ ;
+先々 > mama\ ;
+偉人 > ijin\ ;
+異人 > ijin\ ;
+保安 > hoan\ ;
+余殃 > yoou\ ;
+路地 > roji\ ;
+依拠 > ikyo\ ;
+琵琶 > biwa\ ;
+理科 > rika\ ;
+暮雲 > boun\ ;
+保姆 > hobo\ ;
+胃液 > ieki\ ;
+居士 > koji\ ;
+亜聖 > asei\ ;
+李花 > rika\ ;
+下野 > geya\ ;
+上野 > ueno\ ;
+肌理 > kime\ ;
+馴染 > naji\ ;
+亜群 > agun\ ;
+世辞 > seji\ ;
+不運 > fuun\ ;
+余栄 > yoei\ ;
+腰囲 > youi\ ;
+梨園 > rien\ ;
+供御 > gugo\ ;
+梃子 > teko\ ;
+路加 > ruka\ ;
+亜綱 > akou\ ;
+果皮 > kahi\ ;
+不軌 > fuki\ ;
+余暇 > yoka\ ;
+一過 > ikka\ ;
+小屋 > koya\ ;
+一途 > itto\ ;
+美辞 > biji\ ;
+安気 > anki\ ;
+琉璃 > ruri\ ;
+容易 > youi\ ;
+個個 > koko\ ;
+不起 > fuki\ ;
+尉官 > ikan\ ;
+栄枯 > eiko\ ;
+起座 > kiza\ ;
+寓意 > guui\ ;
+依存 > izon\ ;
+世話 > sewa\ ;
+亜種 > ashu\ ;
+晴雨 > seiu\ ;
+小夜 > sayo\ ;
+威風 > ifuu\ ;
+飛簷 > hien\ ;
+音頭 > ondo\ ;
+余技 > yogi\ ;
+不語 > fugo\ ;
+余所 > yoso\ ;
+王者 > ouja\ ;
+家扶 > kafu\ ;
+下記 > kaki\ ;
+暗部 > anbu\ ;
+供奉 > gubu\ ;
+胃散 > isan\ ;
+仁王 > niou\ ;
+侍婢 > jihi\ ;
+予科 > yoka\ ;
+害意 > gaii\ ;
+予示 > yoji\ ;
+安易 > an''i\ ;
+下衆 > gesu\ ;
+上衣 > joui\ ;
+侍女 > jijo\ ;
+字母 > jibo\ ;
+背戸 > sedo\ ;
+寄席 > yose\ ;
+佳宴 > kaen\ ;
+犠飛 > gihi\ ;
+不虞 > fugu\ ;
+腐儒 > fuju\ ;
+罵詈 > bari\ ;
+富家 > fuka\ ;
+他派 > taha\ ;
+議院 > giin\ ;
+起因 > kiin\ ;
+玻璃 > hari\ ;
+安打 > anda\ ;
+暗譜 > anpu\ ;
+馬子 > mago\ ;
+是非 > zehi\ ;
+事理 > jiri\ ;
+家家 > ieie\ ;
+枸杞 > kuko\ ;
+二王 > niou\ ;
+猿臂 > enpi\ ;
+暗記 > anki\ ;
+果樹 > kaju\ ;
+位官 > ikan\ ;
+云爾 > unji\ ;
+亜炭 > atan\ ;
+一荷 > ikka\ ;
+起句 > kiku\ ;
+会意 > kaii\ ;
+以東 > itou\ ;
+以来 > irai\ ;
+飛燕 > hien\ ;
+安座 > anza\ ;
+旗鼓 > kiko\ ;
+馬場 > baba\ ;
+鞍馬 > anba\ ;
+一臂 > ippi\ ;
+佳味 > kami\ ;
+不義 > fugi\ ;
+不羈 > fuki\ ;
+不羇 > fuki\ ;
+佳句 > kaku\ ;
+木瓜 > boke\ ;
+駄句 > daku\ ;
+肩巾 > hire\ ;
+時運 > jiun\ ;
+韻語 > ingo\ ;
+楚々 > soso\ ;
+音譜 > onpu\ ;
+不縁 > fuen\ ;
+位地 > ichi\ ;
+枇杷 > biwa\ ;
+上絵 > uwae\ ;
+孤影 > koei\ ;
+案価 > anka\ ;
+猛者 > mosa\ ;
+校医 > koui\ ;
+羽目 > hame\ ;
+案下 > anka\ ;
+柚子 > yuzu\ ;
+護謨 > gomu\ ;
+他所 > yoso\ ;
+二次 > niji\ ;
+如露 > joro\ ;
+不穏 > fuon\ ;
+安堵 > ando\ ;
+一箇 > ikko\ ;
+下種 > gesu\ ;
+馬具 > bagu\ ;
+位勲 > ikun\ ;
+他愛 > taai\ ;
+家出 > iede\ ;
+余儀 > yogi\ ;
+安固 > anko\ ;
+家具 > kagu\ ;
+不磨 > fuma\ ;
+家兎 > kato\ ;
+日間 > hiai\ ;
+伎女 > gijo\ ;
+委譲 > ijou\ ;
+位冠 > ikan\ ;
+護衛 > goei\ ;
+介意 > kaii\ ;
+寄付 > kifu\ ;
+鞍部 > anbu\ ;
+有為 > yuui\ ;
+寄与 > kiyo\ ;
+体位 > taii\ ;
+余事 > yoji\ ;
+青青 > aoao\ ;
+仮字 > kana\ ;
+二期 > niki\ ;
+低位 > teii\ ;
+安否 > anpi\ ;
+胡乱 > uron\ ;
+予期 > yoki\ ;
+家事 > kaji\ ;
+義理 > giri\ ;
+譏誹 > kihi\ ;
+下痢 > geri\ ;
+安危 > anki\ ;
+賭場 > toba\ ;
+首位 > shui\ ;
+嬉戯 > kigi\ ;
+事故 > jiko\ ;
+企図 > kito\ ;
+義父 > gifu\ ;
+他家 > take\ ;
+不理 > furi\ ;
+賀宴 > gaen\ ;
+定位 > teii\ ;
+宇内 > udai\ ;
+以外 > igai\ ;
+瑣事 > saji\ ;
+夢魔 > muma\ ;
+来意 > raii\ ;
+孵化 > fuka\ ;
+貴家 > kika\ ;
+暗示 > anji\ ;
+安保 > anpo\ ;
+安価 > anka\ ;
+木木 > kigi\ ;
+非運 > hiun\ ;
+聾唖 > roua\ ;
+贏余 > eiyo\ ;
+羽毛 > umou\ ;
+音素 > onso\ ;
+字句 > jiku\ ;
+贈位 > zoui\ ;
+貴女 > kijo\ ;
+付図 > fuzu\ ;
+肉刺 > mame\ ;
+事後 > jigo\ ;
+予後 > yogo\ ;
+二度 > nido\ ;
+音符 > onpu\ ;
+義気 > giki\ ;
+個々 > koko\ ;
+義母 > gibo\ ;
+語音 > goon\ ;
+以南 > inan\ ;
+而後 > jigo\ ;
+夜陰 > yain\ ;
+付和 > fuwa\ ;
+牡蛎 > kaki\ ;
+王手 > oute\ ;
+羽根 > hane\ ;
+木戸 > kido\ ;
+以前 > izen\ ;
+東夷 > toui\ ;
+非議 > higi\ ;
+韋編 > ihen\ ;
+以内 > inai\ ;
+一派 > ippa\ ;
+三毛 > mike\ ;
+雷雨 > raiu\ ;
+諳譜 > anpu\ ;
+付加 > fuka\ ;
+不次 > fuji\ ;
+雑魚 > jako\ ;
+護符 > gofu\ ;
+雲霧 > unmu\ ;
+事宜 > jigi\ ;
+曳曳 > eiei\ ;
+二字 > niji\ ;
+一気 > ikki\ ;
+賦与 > fuyo\ ;
+杏子 > anzu\ ;
+委細 > isai\ ;
+諳記 > anki\ ;
+大野 > oono\ ;
+一歩 > ippo\ ;
+斎部 > inbe\ ;
+代位 > daii\ ;
+狐疑 > kogi\ ;
+王座 > ouza\ ;
+代代 > yoyo\ ;
+奇貨 > kika\ ;
+以上 > ijou\ ;
+義旗 > giki\ ;
+理事 > riji\ ;
+有意 > yuui\ ;
+有情 > ujou\ ;
+不期 > fuki\ ;
+他事 > taji\ ;
+狒狒 > hihi\ ;
+付与 > fuyo\ ;
+主意 > shui\ ;
+狐狸 > kori\ ;
+世故 > seko\ ;
+不時 > fuji\ ;
+露語 > rogo\ ;
+大路 > ooji\ ;
+王家 > ouke\ ;
+義援 > gien\ ;
+王子 > ouji\ ;
+一期 > ikki\ ;
+義捐 > gien\ ;
+誹議 > higi\ ;
+貴下 > kika\ ;
+一斗 > itto\ ;
+王妃 > ouhi\ ;
+王女 > oujo\ ;
+青葉 > aoba\ ;
+語路 > goro\ ;
+青菜 > aona\ ;
+互助 > gojo\ ;
+木場 > kiba\ ;
+五分 > gobu\ ;
+一揆 > ikki\ ;
+事務 > jimu\ ;
+下手 > heta\ ;
+下戸 > geko\ ;
+東亞 > toua\ ;
+東亜 > toua\ ;
+木地 > kiji\ ;
+王土 > oudo\ ;
+美技 > bigi\ ;
+上意 > joui\ ;
+一戸 > ikko\ ;
+独楽 > koma\ ;
+誤記 > goki\ ;
+音波 > onpa\ ;
+些事 > saji\ ;
+韻母 > inbo\ ;
+映画 > eiga\ ;
+予備 > yobi\ ;
+二価 > nika\ ;
+施肥 > sehi\ ;
+題意 > daii\ ;
+二佐 > nisa\ ;
+予価 > yoka\ ;
+外衣 > gaii\ ;
+不帰 > fuki\ ;
+敷衍 > fuen\ ;
+早稲 > wase\ ;
+訛音 > kaon\ ;
+羽太 > hata\ ;
+煙霧 > enmu\ ;
+王化 > ouka\ ;
+煙霞 > enka\ ;
+煙雨 > en''u\ ;
+風呂 > furo\ ;
+乾位 > keni\ ;
+擬音 > gion\ ;
+威権 > iken\ ;
+一己 > ikko\ ;
+縁起 > engi\ ;
+九分 > kubu\ ;
+不安 > fuan\ ;
+妖異 > youi\ ;
+訃音 > fuon\ ;
+机下 > kika\ ;
+父祖 > fuso\ ;
+下婢 > kahi\ ;
+一家 > ikke\ ;
+陰阜 > infu\ ;
+奇縁 > kien\ ;
+暗愚 > angu\ ;
+与太 > yota\ ;
+下女 > gejo\ ;
+無駄 > muda\ ;
+縁語 > engo\ ;
+雅語 > gago\ ;
+王事 > ouji\ ;
+時機 > jiki\ ;
+早生 > wase\ ;
+獣医 > juui\ ;
+美姫 > biki\ ;
+婦女 > fujo\ ;
+美妓 > bigi\ ;
+風位 > fuui\ ;
+美女 > bijo\ ;
+九九 > kuku\ ;
+青砥 > aoto\ ;
+家々 > ieie\ ;
+無音 > muon\ ;
+議案 > gian\ ;
+不図 > futo\ ;
+隘路 > airo\ ;
+猛威 > moui\ ;
+降雨 > kouu\ ;
+智慧 > chie\ ;
+不器 > fuki\ ;
+多義 > tagi\ ;
+暴威 > boui\ ;
+多羅 > tara\ ;
+時期 > jiki\ ;
+語義 > gogi\ ;
+陰部 > inbu\ ;
+女王 > joou\ ;
+主位 > shui\ ;
+非理 > hiri\ ;
+雲脂 > fuke\ ;
+義務 > gimu\ ;
+離苦 > riku\ ;
+暮夜 > boya\ ;
+青田 > aota\ ;
+不和 > fuwa\ ;
+不味 > fumi\ ;
+隠語 > ingo\ ;
+護摩 > goma\ ;
+三味 > sami\ ;
+不可 > fuka\ ;
+下吏 > kari\ ;
+下司 > gesu\ ;
+下句 > geku\ ;
+縷縷 > ruru\ ;
+更位 > koui\ ;
+壁蝨 > dani\ ;
+美味 > bimi\ ;
+下卑 > gebi\ ;
+謳歌 > ouka\ ;
+護持 > goji\ ;
+一句 > ikku\ ;
+不利 > furi\ ;
+無鉛 > muen\ ;
+美化 > bika\ ;
+一区 > ikku\ ;
+頭垢 > fuke\ ;
+不具 > fugu\ ;
+頭囲 > toui\ ;
+記譜 > kifu\ ;
+不備 > fubi\ ;
+訛語 > kago\ ;
+犠打 > gida\ ;
+外科 > geka\ ;
+離縁 > rien\ ;
+世事 > seji\ ;
+韻字 > inji\ ;
+世世 > yoyo\ ;
+大目 > oome\ ;
+無辜 > muko\ ;
+上位 > joui\ ;
+下付 > kafu\ ;
+縁者 > enja\ ;
+日歩 > hibu\ ;
+不二 > fuji\ ;
+不予 > fuyo\ ;
+一個 > ikko\ ;
+爾汝 > jijo\ ;
+威容 > iyou\ ;
+音字 > onji\ ;
+夜着 > yogi\ ;
+院議 > ingi\ ;
+夜目 > yome\ ;
+一佐 > issa\ ;
+父母 > fubo\ ;
+非毀 > hiki\ ;
+時差 > jisa\ ;
+細雨 > saiu\ ;
+霊異 > reii\ ;
+誇示 > koji\ ;
+基音 > kion\ ;
+緯線 > isen\ ;
+附議 > fugi\ ;
+時宜 > jigi\ ;
+代々 > yoyo\ ;
+隠者 > inja\ ;
+時季 > jiki\ ;
+閻魔 > enma\ ;
+日日 > hibi\ ;
+数珠 > juzu\ ;
+附記 > fuki\ ;
+頤使 > ishi\ ;
+陰萎 > in''i\ ;
+音吐 > onto\ ;
+音叉 > onsa\ ;
+威名 > imei\ ;
+青木 > aoki\ ;
+威厳 > igen\ ;
+謝意 > shai\ ;
+綺羅 > kira\ ;
+威勢 > isei\ ;
+基部 > kibu\ ;
+如意 > nyoi\ ;
+譬喩 > hiyu\ ;
+議員 > giin\ ;
+威光 > ikou\ ;
+好意 > koui\ ;
+好悪 > kouo\ ;
+夜気 > yaki\ ;
+音価 > onka\ ;
+韻事 > inji\ ;
+記紀 > kiki\ ;
+既往 > kiou\ ;
+語気 > goki\ ;
+爾後 > jigo\ ;
+威令 > irei\ ;
+時務 > jimu\ ;
+奥意 > okui\ ;
+垢離 > kori\ ;
+雲気 > unki\ ;
+間間 > mama\ ;
+墓碑 > bohi\ ;
+雨水 > usui\ ;
+譲位 > joui\ ;
+塩素 > enso\ ;
+時価 > jika\ ;
+議事 > giji\ ;
+無縁 > muen\ ;
+夜暗 > yaan\ ;
+時事 > jiji\ ;
+時下 > jika\ ;
+夏期 > kaki\ ;
+委任 > inin\ ;
+奴婢 > nuhi\ ;
+縊死 > ishi\ ;
+大手 > oode\ ;
+木々 > kigi\ ;
+露座 > roza\ ;
+雅歌 > gaka\ ;
+詠歌 > eika\ ;
+陰画 > inga\ ;
+大意 > taii\ ;
+壊死 > eshi\ ;
+無碍 > muge\ ;
+詐欺 > sagi\ ;
+誠意 > seii\ ;
+煙火 > enka\ ;
+経緯 > keii\ ;
+青地 > aoji\ ;
+青図 > aozu\ ;
+敬意 > keii\ ;
+摩羅 > mara\ ;
+粗野 > soya\ ;
+大屋 > ooya\ ;
+誤差 > gosa\ ;
+大尉 > taii\ ;
+曳々 > eiei\ ;
+縁故 > enko\ ;
+無理 > muri\ ;
+夢寐 > mubi\ ;
+緯書 > isho\ ;
+多岐 > taki\ ;
+煙波 > enpa\ ;
+糖衣 > toui\ ;
+露地 > roji\ ;
+女児 > joji\ ;
+多寡 > taka\ ;
+援護 > engo\ ;
+旧事 > kuji\ ;
+語尾 > gobi\ ;
+誤字 > goji\ ;
+爾余 > jiyo\ ;
+露営 > roei\ ;
+世々 > yoyo\ ;
+夥多 > kata\ ;
+無煙 > muen\ ;
+数寄 > suki\ ;
+夏季 > kaki\ ;
+阿片 > ahen\ ;
+陰気 > inki\ ;
+夜夜 > yoyo\ ;
+多多 > tata\ ;
+旗下 > kika\ ;
+土間 > doma\ ;
+措辞 > soji\ ;
+縁座 > enza\ ;
+方位 > houi\ ;
+外囲 > gaii\ ;
+課員 > kain\ ;
+基礎 > kiso\ ;
+無派 > muha\ ;
+規矩 > kiku\ ;
+夜営 > yaei\ ;
+濾過 > roka\ ;
+雨天 > uten\ ;
+奈何 > ikan\ ;
+雨声 > usei\ ;
+無比 > muhi\ ;
+見目 > mime\ ;
+雨域 > uiki\ ;
+縁家 > enka\ ;
+夜半 > yowa\ ;
+雉子 > kiji\ ;
+衣香 > ikou\ ;
+語呂 > goro\ ;
+無機 > muki\ ;
+補語 > hogo\ ;
+総意 > soui\ ;
+隠微 > inbi\ ;
+語句 > goku\ ;
+掩護 > engo\ ;
+補記 > hoki\ ;
+随意 > zuii\ ;
+夷人 > ijin\ ;
+衣類 > irui\ ;
+夜具 > yagu\ ;
+無期 > muki\ ;
+粗菓 > soka\ ;
+多価 > taka\ ;
+霊位 > reii\ ;
+攻囲 > koui\ ;
+多事 > taji\ ;
+火箭 > hiya\ ;
+絵本 > ehon\ ;
+固辞 > koji\ ;
+狒々 > hihi\ ;
+土語 > dogo\ ;
+地衣 > chii\ ;
+攘夷 > joui\ ;
+雇員 > koin\ ;
+無援 > muen\ ;
+雅味 > gami\ ;
+簿記 > boki\ ;
+無手 > mute\ ;
+無我 > muga\ ;
+火矢 > hiya\ ;
+阿房 > ahou\ ;
+覇気 > haki\ ;
+補肥 > hohi\ ;
+訴因 > soin\ ;
+規模 > kibo\ ;
+雄偉 > yuui\ ;
+故事 > koji\ ;
+袈裟 > kesa\ ;
+塗布 > tofu\ ;
+絵師 > eshi\ ;
+除夜 > joya\ ;
+無季 > muki\ ;
+火焔 > kaen\ ;
+火炎 > kaen\ ;
+火炉 > karo\ ;
+押韻 > ouin\ ;
+塩基 > enki\ ;
+擬古 > giko\ ;
+為政 > isei\ ;
+無塩 > muen\ ;
+推移 > suii\ ;
+無垢 > muku\ ;
+無地 > muji\ ;
+附図 > fuzu\ ;
+素手 > sude\ ;
+火気 > kaki\ ;
+擬似 > giji\ ;
+塩化 > enka\ ;
+記事 > kiji\ ;
+無味 > mumi\ ;
+日々 > hibi\ ;
+阿呆 > ahou\ ;
+地異 > chii\ ;
+闇愚 > angu\ ;
+院主 > inju\ ;
+堂宇 > douu\ ;
+青々 > aoao\ ;
+阿兄 > akei\ ;
+無価 > muka\ ;
+場合 > baai\ ;
+絵像 > ezou\ ;
+無二 > muni\ ;
+無事 > buji\ ;
+衣紋 > emon\ ;
+納屋 > naya\ ;
+見場 > miba\ ;
+阿世 > asei\ ;
+笑顔 > egao\ ;
+揶揄 > yayu\ ;
+基因 > kiin\ ;
+素地 > soji\ ;
+素因 > soin\ ;
+粗朶 > soda\ ;
+手間 > tema\ ;
+図画 > zuga\ ;
+章魚 > tako\ ;
+夜々 > yoyo\ ;
+多々 > tata\ ;
+火屋 > hoya\ ;
+批議 > higi\ ;
+瀬戸 > seto\ ;
+螻蛄 > kera\ ;
+火夫 > kafu\ ;
+間夫 > mabu\ ;
+持碁 > jigo\ ;
+演舞 > enbu\ ;
+糊塗 > koto\ ;
+粗布 > sofu\ ;
+演者 > enja\ ;
+火器 > kaki\ ;
+蛙黽 > abou\ ;
+演義 > engi\ ;
+掏摸 > suri\ ;
+行為 > koui\ ;
+籠手 > kote\ ;
+行火 > anka\ ;
+箇箇 > koko\ ;
+裸婦 > rafu\ ;
+図案 > zuan\ ;
+土手 > dote\ ;
+温雅 > onga\ ;
+援助 > enjo\ ;
+蝦蟇 > gama\ ;
+因果 > inga\ ;
+衣桁 > ikou\ ;
+齟齬 > sogo\ ;
+火事 > kaji\ ;
+固持 > koji\ ;
+四時 > yoji\ ;
+四方 > yomo\ ;
+蝌蚪 > kato\ ;
+国府 > kofu\ ;
+捻子 > neji\ ;
+地場 > jiba\ ;
+淫靡 > inbi\ ;
+手羽 > teba\ ;
+蜚語 > higo\ ;
+淫雨 > in''u\ ;
+補助 > hojo\ ;
+捩子 > neji\ ;
+湯葉 > yuba\ ;
+慰霊 > irei\ ;
+土器 > doki\ ;
+蜘蛛 > kumo\ ;
+按摩 > anma\ ;
+衣帯 > itai\ ;
+補佐 > hosa\ ;
+授受 > juju\ ;
+打破 > daha\ ;
+拿捕 > daho\ ;
+鼻音 > bion\ ;
+土匪 > dohi\ ;
+唖鈴 > arei\ ;
+演武 > enbu\ ;
+演歌 > enka\ ;
+地位 > chii\ ;
+移項 > ikou\ ;
+在位 > zaii\ ;
+衍字 > enji\ ;
+園児 > enji\ ;
+愛馬 > aiba\ ;
+授与 > juyo\ ;
+四囲 > shii\ ;
+固化 > koka\ ;
+捕吏 > hori\ ;
+愛飲 > aiin\ ;
+哀音 > aion\ ;
+海馬 > todo\ ;
+愛顧 > aiko\ ;
+海鞘 > hoya\ ;
+回向 > ekou\ ;
+渡英 > toei\ ;
+戯画 > giga\ ;
+慰謝 > isha\ ;
+黴雨 > baiu\ ;
+演技 > engi\ ;
+衣冠 > ikan\ ;
+演戯 > engi\ ;
+移送 > isou\ ;
+和音 > waon\ ;
+押忍 > ossu\ ;
+移転 > iten\ ;
+銅鑼 > dora\ ;
+慰藉 > isha\ ;
+把持 > haji\ ;
+愛輝 > aiki\ ;
+湯煮 > yuni\ ;
+移譲 > ijou\ ;
+悪鬼 > akki\ ;
+意趣 > ishu\ ;
+愛護 > aigo\ ;
+移行 > ikou\ ;
+哀話 > aiwa\ ;
+哀訴 > aiso\ ;
+呉須 > gosu\ ;
+間々 > mama\ ;
+呉音 > goon\ ;
+黄鉛 > ouen\ ;
+秘話 > hiwa\ ;
+湯気 > yuge\ ;
+螺子 > neji\ ;
+意見 > iken\ ;
+拇印 > boin\ ;
+黄身 > kimi\ ;
+和議 > wagi\ ;
+押印 > ouin\ ;
+器具 > kigu\ ;
+和語 > wago\ ;
+悲運 > hiun\ ;
+鼓舞 > kobu\ ;
+吐露 > toro\ ;
+恩顧 > onko\ ;
+恵雨 > keiu\ ;
+浮華 > fuka\ ;
+海苔 > nori\ ;
+海芋 > kaiu\ ;
+神酒 > miki\ ;
+浄衣 > joue\ ;
+河馬 > kaba\ ;
+蕎麦 > soba\ ;
+押下 > ouka\ ;
+渡河 > toka\ ;
+鸚鵡 > oumu\ ;
+合間 > aima\ ;
+右面 > umen\ ;
+鼻祖 > biso\ ;
+悪貨 > akka\ ;
+渡欧 > toou\ ;
+移管 > ikan\ ;
+否運 > hiun\ ;
+古音 > koon\ ;
+嘔吐 > outo\ ;
+悲話 > hiwa\ ;
+和英 > waei\ ;
+古雅 > koga\ ;
+滋味 > jimi\ ;
+扶助 > fujo\ ;
+唖然 > azen\ ;
+蘇芳 > suou\ ;
+等位 > toui\ ;
+藍褸 > boro\ ;
+悪衣 > akui\ ;
+祖語 > sogo\ ;
+怪雨 > kaiu\ ;
+湯屋 > yuya\ ;
+唾棄 > daki\ ;
+右辺 > uhen\ ;
+慈父 > jifu\ ;
+喜寿 > kiju\ ;
+古都 > koto\ ;
+沿路 > enro\ ;
+野鄙 > yahi\ ;
+湯女 > yuna\ ;
+厭離 > onri\ ;
+鼻炎 > bien\ ;
+野辺 > nobe\ ;
+黄緯 > koui\ ;
+蕪辞 > buji\ ;
+恩誼 > ongi\ ;
+穎果 > eika\ ;
+鋭気 > eiki\ ;
+営営 > eiei\ ;
+法衣 > houe\ ;
+河豚 > fugu\ ;
+野路 > noji\ ;
+温度 > ondo\ ;
+法螺 > hora\ ;
+蓖麻 > hima\ ;
+所以 > yuen\ ;
+呪符 > jufu\ ;
+慈母 > jibo\ ;
+古語 > kogo\ ;
+営利 > eiri\ ;
+古記 > koki\ ;
+応需 > ouju\ ;
+薔薇 > bara\ ;
+我利 > gari\ ;
+移民 > imin\ ;
+喇嘛 > rama\ ;
+憎悪 > zouo\ ;
+空尉 > kuui\ ;
+穎悟 > eigo\ ;
+気韻 > kiin\ ;
+右葉 > uyou\ ;
+麻痺 > mahi\ ;
+哀歌 > aika\ ;
+気障 > kiza\ ;
+受蘊 > juun\ ;
+御顔 > okao\ ;
+愛機 > aiki\ ;
+右舷 > ugen\ ;
+鹵簿 > robo\ ;
+恩義 > ongi\ ;
+十雨 > juuu\ ;
+右脳 > unou\ ;
+温和 > onwa\ ;
+永遠 > eien\ ;
+愚案 > guan\ ;
+野良 > nora\ ;
+忌避 > kihi\ ;
+蒿雀 > aoji\ ;
+淫婦 > inpu\ ;
+気鋭 > kiei\ ;
+惰気 > daki\ ;
+和気 > waki\ ;
+蚊帳 > kaya\ ;
+海松 > miru\ ;
+慈愛 > jiai\ ;
+慈悲 > jihi\ ;
+句義 > kugi\ ;
+古義 > kogi\ ;
+和歌 > waka\ ;
+汚行 > okou\ ;
+呼気 > koki\ ;
+気運 > kiun\ ;
+蚊屋 > kaya\ ;
+破風 > hafu\ ;
+愛撫 > aibu\ ;
+黄泉 > yomi\ ;
+印譜 > inpu\ ;
+応訴 > ouso\ ;
+御酒 > miki\ ;
+母音 > boin\ ;
+都雅 > toga\ ;
+黄櫨 > haze\ ;
+忌諱 > kiki\ ;
+哀慕 > aibo\ ;
+医道 > idou\ ;
+合着 > aigi\ ;
+穏和 > onwa\ ;
+空位 > kuui\ ;
+秘技 > higi\ ;
+祖父 > sofu\ ;
+愛慕 > aibo\ ;
+御身 > onmi\ ;
+同異 > doui\ ;
+古稀 > koki\ ;
+殺陣 > tate\ ;
+慰問 > imon\ ;
+卑語 > higo\ ;
+危虞 > kigu\ ;
+意思 > ishi\ ;
+悲歌 > hika\ ;
+区費 > kuhi\ ;
+意志 > ishi\ ;
+呆気 > akke\ ;
+邪魔 > jama\ ;
+邪鬼 > jaki\ ;
+都鄙 > tohi\ ;
+区議 > kugi\ ;
+私意 > shii\ ;
+徒費 > tohi\ ;
+慰労 > irou\ ;
+破邪 > haja\ ;
+往路 > ouro\ ;
+淫事 > inji\ ;
+古画 > koga\ ;
+邪飛 > jahi\ ;
+祖母 > sobo\ ;
+御衣 > gyoi\ ;
+鋭利 > eiri\ ;
+派手 > hade\ ;
+悪果 > akka\ ;
+油煙 > yuen\ ;
+弥陀 > mida\ ;
+野猿 > yaen\ ;
+受理 > juri\ ;
+呼応 > koou\ ;
+秘奥 > hiou\ ;
+怪異 > kaii\ ;
+都議 > togi\ ;
+意外 > igai\ ;
+比諭 > hiyu\ ;
+遺骸 > igai\ ;
+汚穢 > owai\ ;
+愚図 > guzu\ ;
+征衣 > seii\ ;
+情意 > joui\ ;
+流布 > rufu\ ;
+母語 > bogo\ ;
+遺香 > ikou\ ;
+野火 > nobi\ ;
+和字 > waji\ ;
+合歓 > nemu\ ;
+移動 > idou\ ;
+印綬 > inju\ ;
+加除 > kajo\ ;
+御茶 > ocha\ ;
+意嚮 > ikou\ ;
+遺風 > ifuu\ ;
+毀誉 > kiyo\ ;
+麻布 > mafu\ ;
+鼻下 > bika\ ;
+悪感 > okan\ ;
+悪意 > akui\ ;
+意向 > ikou\ ;
+移住 > ijuu\ ;
+虚位 > kyoi\ ;
+医者 > isha\ ;
+恵方 > ehou\ ;
+虚仮 > koke\ ;
+移乗 > ijou\ ;
+愛児 > aiji\ ;
+加里 > kari\ ;
+野次 > yaji\ ;
+沙汰 > sata\ ;
+秘儀 > higi\ ;
+助辞 > joji\ ;
+武運 > buun\ ;
+欧露 > ouro\ ;
+御簾 > misu\ ;
+悪寒 > okan\ ;
+危疑 > kigi\ ;
+味噌 > miso\ ;
+右方 > uhou\ ;
+印画 > inga\ ;
+廈門 > amoi\ ;
+秘事 > hiji\ ;
+汚点 > oten\ ;
+印璽 > inji\ ;
+毛羽 > keba\ ;
+禍因 > kain\ ;
+野暮 > yabo\ ;
+呵呵 > kaka\ ;
+同意 > doui\ ;
+怒気 > doki\ ;
+合意 > goui\ ;
+御礼 > orei\ ;
+波布 > habu\ ;
+御碗 > owan\ ;
+恣意 > shii\ ;
+葵花 > kika\ ;
+加護 > kago\ ;
+遺贈 > izou\ ;
+汚泥 > odei\ ;
+遺賢 > iken\ ;
+磁気 > jiki\ ;
+遺財 > izai\ ;
+石蓴 > aosa\ ;
+御盆 > obon\ ;
+悲喜 > hiki\ ;
+汚水 > osui\ ;
+反故 > hogo\ ;
+弊衣 > heii\ ;
+悲哀 > hiai\ ;
+遠路 > enro\ ;
+医界 > ikai\ ;
+遺誡 > ikai\ ;
+医用 > iyou\ ;
+遺訓 > ikun\ ;
+南無 > namu\ ;
+征矢 > soya\ ;
+追風 > oite\ ;
+悪化 > akka\ ;
+気炎 > kien\ ;
+砒素 > hiso\ ;
+怪我 > kega\ ;
+右岸 > ugan\ ;
+麾下 > kika\ ;
+永永 > eiei\ ;
+汚染 > osen\ ;
+恩威 > on''i\ ;
+祇園 > gion\ ;
+古希 > koki\ ;
+荷駄 > nida\ ;
+危機 > kiki\ ;
+気温 > kion\ ;
+徒爾 > toji\ ;
+思惟 > shii\ ;
+微温 > bion\ ;
+過誤 > kago\ ;
+古字 > koji\ ;
+合図 > aizu\ ;
+破瓜 > haka\ ;
+遺著 > icho\ ;
+幾重 > ikue\ ;
+汚損 > oson\ ;
+吏員 > riin\ ;
+厭悪 > en''o\ ;
+可塑 > kaso\ ;
+去年 > kozo\ ;
+遺草 > isou\ ;
+莫迦 > baka\ ;
+遺芳 > ihou\ ;
+名医 > meii\ ;
+厚意 > koui\ ;
+吏務 > rimu\ ;
+歌舞 > kabu\ ;
+迂遠 > uen\ ;
+微意 > bii\ ;
+叙位 > joi\ ;
+迂路 > uro\ ;
+得手 > ete\ ;
+気宇 > kiu\ ;
+差違 > sai\ ;
+医家 > ika\ ;
+八重 > yae\ ;
+医員 > iin\ ;
+遺棄 > iki\ ;
+医務 > imu\ ;
+医事 > iji\ ;
+遺愛 > iai\ ;
+遺影 > iei\ ;
+部位 > bui\ ;
+武威 > bui\ ;
+遺孤 > iko\ ;
+差異 > sai\ ;
+異音 > ion\ ;
+遺児 > iji\ ;
+違和 > iwa\ ;
+遺事 > iji\ ;
+希有 > keu\ ;
+迂愚 > ugu\ ;
+欧亜 > oua\ ;
+次位 > jii\ ;
+次亜 > jia\ ;
+眉宇 > biu\ ;
+辞意 > jii\ ;
+異議 > igi\ ;
+辞彙 > jii\ ;
+居間 > ima\ ;
+異義 > igi\ ;
+帰依 > kie\ ;
+香魚 > ayu\ ;
+機位 > kii\ ;
+似非 > ese\ ;
+尾羽 > oha\ ;
+異父 > ifu\ ;
+会陰 > ein\ ;
+位記 > iki\ ;
+異母 > ibo\ ;
+亜麻 > ama\ ;
+以遠 > ien\ ;
+伊語 > igo\ ;
+自慰 > jii\ ;
+安芸 > aki\ ;
+亜鉛 > aen\ ;
+甲斐 > kai\ ;
+畏懼 > iku\ ;
+畏怖 > ifu\ ;
+尾根 > one\ ;
+画意 > gai\ ;
+椅子 > isu\ ;
+異図 > ito\ ;
+異化 > ika\ ;
+胃炎 > ien\ ;
+位次 > iji\ ;
+依怙 > eko\ ;
+亜科 > aka\ ;
+余意 > yoi\ ;
+仮有 > keu\ ;
+侍医 > jii\ ;
+云為 > uni\ ;
+依估 > eko\ ;
+亜欧 > aou\ ;
+以後 > igo\ ;
+以往 > iou\ ;
+他意 > tai\ ;
+賀意 > gai\ ;
+有無 > umu\ ;
+貴意 > kii\ ;
+会厭 > een\ ;
+栄位 > eii\ ;
+井戸 > ido\ ;
+非違 > hii\ ;
+夜雨 > yau\ ;
+多雨 > tau\ ;
+二尉 > nii\ ;
+雨露 > uro\ ;
+以下 > ika\ ;
+墨魚 > ika\ ;
+不意 > fui\ ;
+下意 > kai\ ;
+二位 > nii\ ;
+威武 > ibu\ ;
+有卦 > uke\ ;
+王位 > oui\ ;
+羅宇 > rao\ ;
+羽化 > uka\ ;
+絵馬 > ema\ ;
+委棄 > iki\ ;
+奇異 > kii\ ;
+下位 > kai\ ;
+阿諛 > ayu\ ;
+威儀 > igi\ ;
+壊疽 > eso\ ;
+烏賊 > ika\ ;
+委員 > iin\ ;
+雨気 > uki\ ;
+委付 > ifu\ ;
+雨期 > uki\ ;
+語意 > goi\ ;
+語彙 > goi\ ;
+女医 > joi\ ;
+如何 > dou\ ;
+雨後 > ugo\ ;
+故意 > koi\ ;
+無為 > mui\ ;
+補遺 > hoi\ ;
+雨季 > uki\ ;
+緯度 > ido\ ;
+阿比 > abi\ ;
+維持 > iji\ ;
+雲丹 > uni\ ;
+無意 > mui\ ;
+阿字 > aji\ ;
+阿媽 > ama\ ;
+灰汁 > aku\ ;
+絵図 > ezu\ ;
+見得 > mie\ ;
+阿吽 > aun\ ;
+無位 > mui\ ;
+滋雨 > jiu\ ;
+囲碁 > igo\ ;
+紆余 > uyo\ ;
+衣架 > ika\ ;
+慈雨 > jiu\ ;
+海髪 > ogo\ ;
+意馬 > iba\ ;
+図会 > zue\ ;
+所為 > sei\ ;
+悪露 > oro\ ;
+海胆 > uni\ ;
+海老 > ebi\ ;
+我意 > gai\ ;
+麻衣 > mai\ ;
+意義 > igi\ ;
+蝦夷 > ezo\ ;
+硫黄 > iou\ ;
+慰撫 > ibu\ ;
+微雨 > biu\ ;
+意気 > iki\ ;
+鋭意 > eii\ ;
+穢多 > eta\ ;
+医院 > iin\ ;
+穢土 > edo\ ;
+右縁 > uen\ ;
+慰安 > ian\ ;
+十重 > toe\ ;
+愚意 > gui\ ;
+海女 > ama\ ;
+意地 > iji\ ;
+意図 > ito\ ;
+右派 > uha\ ;
+意味 > imi\ ;
+萎靡 > ibi\ ;
+海人 > ama\ ;
+医科 > ika\ ;
+年魚 > ayu\ ;
+句意 > kui\ ;
+古意 > koi\ ;
+遺詠 > iei\ ;
+示威 > jii\ ;
+江戸 > edo\ ;
+伊井 > ii\ ;
+嗚呼 > aa\ ;
+軖 > tsumugikuruma\ ;
+糎 > senchimeitoru\ ;
+粨 > hekutomeetoru\ ;
+爫 > tsumekanmuri\ ;
+忄 > ritsushinben\ ;
+志 > kokorozashi\ ;
+政 > matsurigoto\ ;
+鶎 > kikuitadaki\ ;
+粍 > mirimeitoru\ ;
+粁 > kiromeitoru\ ;
+籵 > dekameetoru\ ;
+竰 > senchiritto\ ;
+竡 > hekutoritto\ ;
+竓 > miririttoru\ ;
+竏 > kirorittoru\ ;
+瓰 > deshiguramu\ ;
+己 > tsuchinoto\ ;
+屡 > shibashiba\ ;
+謀 > hakarigoto\ ;
+熟 > tsukudzuku\ ;
+嘴 > kuchibashi\ ;
+々 > kurikaeshi\ ;
+酛 > sakenomoto\ ;
+詔 > mikotonori\ ;
+蝟 > harinezumi\ ;
+萙 > kutabireru\ ;
+竕 > deshiritto\ ;
+甅 > senchigura\ ;
+瓸 > hekutogura\ ;
+瓱 > miriguramu\ ;
+瓩 > kiroguramu\ ;
+瓧 > dekaguramu\ ;
+擅 > hoshiimama\ ;
+勅 > mikotonori\ ;
+倩 > tsuratsura\ ;
+幻 > maboroshi\ ;
+屍 > shikabane\ ;
+孤 > minashigo\ ;
+猪 > inoshishi\ ;
+唇 > kuchibiru\ ;
+檣 > hobashira\ ;
+橘 > tachibana\ ;
+兵 > tsuwamono\ ;
+銀 > shirogane\ ;
+邪 > yokoshima\ ;
+鯐 > subashiri\ ;
+鮗 > konoshiro\ ;
+阝 > kozatohen\ ;
+踝 > kurubushi\ ;
+裃 > kamishimo\ ;
+衤 > koromohen\ ;
+竍 > dekaritto\ ;
+犭 > kemonohen\ ;
+椴 > todomatsu\ ;
+嵙 > yamashina\ ;
+尸 > shikabane\ ;
+凩 > kogarashi\ ;
+亥 > inoshishi\ ;
+弱 > nayonayo\ ;
+蹲 > tsukubai\ ;
+姑 > shuutome\ ;
+塊 > katamari\ ;
+堤 > tsutsumi\ ;
+鼓 > tsudzumi\ ;
+源 > minamoto\ ;
+鶏 > niwatori\ ;
+叢 > kusamura\ ;
+印 > shirushi\ ;
+魂 > tamashii\ ;
+腸 > harawata\ ;
+杯 > sakazuki\ ;
+雷 > kaminari\ ;
+雁 > karigane\ ;
+暁 > akatsuki\ ;
+紫 > murasaki\ ;
+掌 > tenohira\ ;
+抑 > somosomo\ ;
+懐 > futokoro\ ;
+黛 > mayuzumi\ ;
+鱩 > hatahata\ ;
+鰰 > hatahata\ ;
+鯑 > kazunoko\ ;
+魁 > sakigake\ ;
+鬣 > tategami\ ;
+餞 > hanamuke\ ;
+頑 > katakuna\ ;
+隼 > hayabusa\ ;
+陵 > misasagi\ ;
+閊 > tsukaeru\ ;
+鋸 > nokogiri\ ;
+躾 > shitsuke\ ;
+諺 > kotowaza\ ;
+褌 > fundoshi\ ;
+蛤 > hamaguri\ ;
+蒜 > nin''niku\ ;
+聾 > mimishii\ ;
+綴 > tsudzuri\ ;
+篁 > takamura\ ;
+筍 > takenoko\ ;
+碑 > ishibumi\ ;
+癸 > mizunoto\ ;
+漣 > sazanami\ ;
+楠 > kusunoki\ ;
+巫 > kan''nagi\ ;
+寿 > kotobuki\ ;
+圕 > toshokan\ ;
+形 > katachi\ ;
+轍 > wadachi\ ;
+巷 > chimata\ ;
+跣 > hadashi\ ;
+趣 > omomuki\ ;
+局 > tsubone\ ;
+寧 > mushiro\ ;
+獺 > kawauso\ ;
+狐 > kitsune\ ;
+嫂 > aniyome\ ;
+話 > hanashi\ ;
+燕 > tsubame\ ;
+滴 > shizuku\ ;
+湖 > mizuumi\ ;
+剣 > tsurugi\ ;
+凝 > shikori\ ;
+冠 > kanmuri\ ;
+椿 > tsubaki\ ;
+梟 > fukurou\ ;
+頂 > itadaki\ ;
+柱 > hashira\ ;
+俎 > manaita\ ;
+林 > hayashi\ ;
+侍 > samurai\ ;
+羊 > hitsuji\ ;
+東 > higashi\ ;
+昔 > mukashi\ ;
+経 > tateito\ ;
+筵 > mushiro\ ;
+錦 > nishiki\ ;
+私 > watashi\ ;
+祭 > matsuri\ ;
+社 > yashiro\ ;
+確 > tashika\ ;
+邸 > yashiki\ ;
+齲 > mushiba\ ;
+黥 > irezumi\ ;
+鶫 > tsugumi\ ;
+鵤 > ikaruga\ ;
+鵆 > chidori\ ;
+鰘 > muroaji\ ;
+鯳 > sukesou\ ;
+鬘 > katsura\ ;
+雫 > shizuku\ ;
+鎹 > kasugai\ ;
+鋩 > kissaki\ ;
+鋒 > kissaki\ ;
+銯 > kasugai\ ;
+蹄 > hidzume\ ;
+謬 > ayamari\ ;
+誼 > yoshimi\ ;
+誮 > yasashi\ ;
+襅 > chihaya\ ;
+蠎 > uwabami\ ;
+蝮 > mamushi\ ;
+蜆 > shijimi\ ;
+虱 > shirami\ ;
+蘰 > katsura\ ;
+蕾 > tsubomi\ ;
+蓆 > mushiro\ ;
+艀 > hashike\ ;
+聢 > shikato\ ;
+翼 > tsubasa\ ;
+籡 > shinshi\ ;
+礫 > tsubute\ ;
+礎 > ishizue\ ;
+睫 > matsuge\ ;
+甦 > yomigae\ ;
+牜 > ushihen\ ;
+毮 > mushiru\ ;
+毟 > mushiru\ ;
+楿 > katsura\ ;
+棗 > natsume\ ;
+梻 > shikimi\ ;
+柊 > hiiragi\ ;
+曙 > akebono\ ;
+晒 > sarashi\ ;
+旁 > tsukuri\ ;
+挘 > mushiru\ ;
+拳 > kobushi\ ;
+怺 > koraeru\ ;
+徤 > takeshi\ ;
+巽 > tatsumi\ ;
+壬 > mizunoe\ ;
+嚏 > kushami\ ;
+噺 > hanashi\ ;
+俤 > omokage\ ;
+丼 > donburi\ ;
+〃 > onajiku\ ;
+瞼 > mabuta\ ;
+辷 > suberu\ ;
+瞳 > hitomi\ ;
+輩 > yakara\ ;
+盲 > meshii\ ;
+車 > kuruma\ ;
+序 > tsuide\ ;
+皆 > min''na\ ;
+幕 > tobari\ ;
+帳 > tobari\ ;
+帝 > mikado\ ;
+左 > hidari\ ;
+疾 > shitsu\ ;
+畳 > tatami\ ;
+畠 > hatake\ ;
+畑 > hatake\ ;
+瓦 > kawara\ ;
+岬 > misaki\ ;
+届 > todoke\ ;
+尊 > mikoto\ ;
+宝 > takara\ ;
+獣 > kemono\ ;
+狼 > ookami\ ;
+独 > doitsu\ ;
+嫉 > shitsu\ ;
+誠 > makoto\ ;
+証 > akashi\ ;
+父 > chichi\ ;
+訛 > namari\ ;
+娘 > musume\ ;
+姿 > sugata\ ;
+妾 > warawa\ ;
+妹 > imouto\ ;
+要 > kaname\ ;
+襷 > tasuki\ ;
+煙 > kemuri\ ;
+襖 > fusuma\ ;
+失 > shitsu\ ;
+裸 > hadaka\ ;
+袴 > hakama\ ;
+袋 > fukuro\ ;
+衣 > koromo\ ;
+執 > shitsu\ ;
+濕 > shitsu\ ;
+蟋 > shitsu\ ;
+埃 > hokori\ ;
+蟀 > shutsu\ ;
+鼬 > itachi\ ;
+鼠 > nezumi\ ;
+土 > tsuchi\ ;
+漆 > urushi\ ;
+蛹 > sanagi\ ;
+蛙 > kawazu\ ;
+湿 > shitsu\ ;
+器 > utsuwa\ ;
+港 > minato\ ;
+薬 > kusuri\ ;
+薪 > takigi\ ;
+涙 > namida\ ;
+薇 > zenmai\ ;
+薄 > susuki\ ;
+鴉 > karasu\ ;
+叱 > shitsu\ ;
+厨 > kuriya\ ;
+卸 > oroshi\ ;
+卵 > tamago\ ;
+歪 > ibitsu\ ;
+魚 > sakana\ ;
+南 > minami\ ;
+匠 > takumi\ ;
+櫻 > sakura\ ;
+苺 > ichigo\ ;
+勢 > hazumi\ ;
+檜 > hinoki\ ;
+舅 > shuuto\ ;
+榊 > sakaki\ ;
+光 > hikari\ ;
+館 > yakata\ ;
+肴 > sakana\ ;
+桜 > sakura\ ;
+候 > sourou\ ;
+響 > hibiki\ ;
+柳 > yanagi\ ;
+俥 > kuruma\ ;
+信 > makoto\ ;
+俄 > niwaka\ ;
+係 > kakari\ ;
+便 > yosuga\ ;
+枕 > makura\ ;
+机 > tsukue\ ;
+仏 > hotoke\ ;
+曇 > kumori\ ;
+雀 > suzume\ ;
+京 > miyako\ ;
+隣 > tonari\ ;
+乳 > chichi\ ;
+乙 > kinoto\ ;
+乍 > nagara\ ;
+万 > yorozu\ ;
+七 > shichi\ ;
+縁 > yosuga\ ;
+丁 > hinoto\ ;
+緑 > midori\ ;
+絣 > kasuri\ ;
+絆 > kizuna\ ;
+簾 > sudare\ ;
+鏡 > kagami\ ;
+鎖 > kusari\ ;
+筒 > tsutsu\ ;
+捌 > sabaki\ ;
+鋼 > hagane\ ;
+童 > warabe\ ;
+鋏 > hasami\ ;
+銃 > tsutsu\ ;
+鉛 > namari\ ;
+扉 > tobira\ ;
+所 > tokoro\ ;
+都 > miyako\ ;
+悉 > shitsu\ ;
+齦 > haguki\ ;
+鼈 > suppon\ ;
+黜 > chutsu\ ;
+麩 > fusuma\ ;
+麓 > fumoto\ ;
+鵥 > kakesu\ ;
+鴬 > uguisu\ ;
+鴎 > kamome\ ;
+鱸 > suzuki\ ;
+鱰 > shiira\ ;
+鱪 > shiira\ ;
+鰹 > katsuo\ ;
+鰯 > iwashi\ ;
+鰮 > iwashi\ ;
+鰚 > haraka\ ;
+鰊 > nishin\ ;
+鰆 > sawara\ ;
+鯱 > shachi\ ;
+鯰 > namazu\ ;
+鯨 > kujira\ ;
+鯣 > surume\ ;
+鮪 > maguro\ ;
+鮖 > kajika\ ;
+鮃 > hirame\ ;
+魸 > namazu\ ;
+騭 > shitsu\ ;
+颪 > oroshi\ ;
+鞐 > kohaze\ ;
+霞 > kasumi\ ;
+霙 > mizore\ ;
+雛 > hiyoko\ ;
+隲 > shitsu\ ;
+隰 > shitsu\ ;
+鑢 > yasuri\ ;
+鑕 > shitsu\ ;
+鎺 > habaki\ ;
+錺 > kazari\ ;
+銍 > chitsu\ ;
+銊 > shutsu\ ;
+鉥 > shutsu\ ;
+鉋 > kan''na\ ;
+鈨 > habaki\ ;
+醪 > moromi\ ;
+郅 > shitsu\ ;
+遖 > appare\ ;
+迚 > totemo\ ;
+軈 > yagate\ ;
+軅 > yagate\ ;
+躻 > utsuke\ ;
+躮 > segare\ ;
+踵 > kakato\ ;
+賉 > shutsu\ ;
+貭 > shitsu\ ;
+豑 > chitsu\ ;
+訁 > gonben\ ;
+袠 > chitsu\ ;
+袟 > chitsu\ ;
+衾 > fusuma\ ;
+蠍 > sasori\ ;
+蟄 > chitsu\ ;
+蝨 > shitsu\ ;
+蛍 > hotaru\ ;
+薺 > nazuna\ ;
+蕨 > warabi\ ;
+蔶 > sonoko\ ;
+蓬 > yomogi\ ;
+蒺 > shitsu\ ;
+蒅 > sukumo\ ;
+蒁 > shutsu\ ;
+莨 > tabako\ ;
+茸 > kinoko\ ;
+膣 > chitsu\ ;
+膠 > nikawa\ ;
+腟 > chitsu\ ;
+纃 > kasuri\ ;
+縅 > odoshi\ ;
+緕 > kasuri\ ;
+絀 > chutsu\ ;
+糘 > sukumo\ ;
+糒 > hoshii\ ;
+粭 > sukumo\ ;
+笂 > utsubo\ ;
+竈 > kamado\ ;
+窒 > chitsu\ ;
+窋 > chutsu\ ;
+秩 > chitsu\ ;
+秤 > hakari\ ;
+禊 > misogi\ ;
+祑 > chitsu\ ;
+礩 > shitsu\ ;
+硲 > hazama\ ;
+砦 > toride\ ;
+甩 > shutsu\ ;
+瓼 > sarake\ ;
+璱 > shitsu\ ;
+瑟 > shitsu\ ;
+狸 > tanuki\ ;
+牃 > ouchou\ ;
+烏 > karasu\ ;
+渚 > nagisa\ ;
+涎 > yodare\ ;
+泏 > chutsu\ ;
+汢 > tsuchi\ ;
+汀 > migiwa\ ;
+氵 > sanzui\ ;
+橙 > daidai\ ;
+樵 > kikori\ ;
+樮 > hokuso\ ;
+楔 > kusabi\ ;
+楊 > yanagi\ ;
+椹 > sawara\ ;
+椪 > kunugi\ ;
+椡 > kunugi\ ;
+椛 > momiji\ ;
+椚 > kunugi\ ;
+梺 > fumoto\ ;
+桼 > shitsu\ ;
+桎 > shitsu\ ;
+栞 > shiori\ ;
+柒 > shitsu\ ;
+李 > sumomo\ ;
+暦 > koyomi\ ;
+晊 > shitsu\ ;
+昴 > subaru\ ;
+摔 > shutsu\ ;
+挃 > chitsu\ ;
+抶 > chitsu\ ;
+扖 > hameru\ ;
+憖 > namaji\ ;
+愱 > shitsu\ ;
+彠 > kuwaku\ ;
+彏 > kuwaku\ ;
+彍 > kuwaku\ ;
+彉 > kuwaku\ ;
+廓 > kuruwa\ ;
+庢 > chitsu\ ;
+幟 > nobori\ ;
+幉 > tazuna\ ;
+帙 > chitsu\ ;
+嵐 > arashi\ ;
+崒 > shutsu\ ;
+岀 > shutsu\ ;
+寡 > yamome\ ;
+嫟 > jiyuku\ ;
+妷 > chitsu\ ;
+墎 > kuwaku\ ;
+堲 > shitsu\ ;
+堛 > hiyoku\ ;
+圷 > akutsu\ ;
+咰 > shutsu\ ;
+后 > kisaki\ ;
+叺 > kamasu\ ;
+厠 > kawaya\ ;
+厔 > shitsu\ ;
+厀 > shitsu\ ;
+卛 > shutsu\ ;
+劕 > shitsu\ ;
+兜 > kabuto\ ;
+儨 > shitsu\ ;
+偪 > hiyoku\ ;
+倭 > yamato\ ;
+侄 > shitsu\ ;
+伡 > kuruma\ ;
+仝 > doujou\ ;
+仇 > kataki\ ;
+〒 > yuubin\ ;
+述 > jutsu\ ;
+必 > hitsu\ ;
+辻 > tsuji\ ;
+徹 > tetsu\ ;
+瞥 > betsu\ ;
+後 > nochi\ ;
+律 > ritsu\ ;
+着 > chaku\ ;
+式 > shiki\ ;
+皺 > shiwa\ ;
+躅 > choku\ ;
+百 > hyaku\ ;
+白 > shiro\ ;
+發 > hotsu\ ;
+発 > hatsu\ ;
+幸 > sachi\ ;
+年 > toshi\ ;
+癪 > shaku\ ;
+巴 > tomoe\ ;
+病 > yamai\ ;
+略 > ryaku\ ;
+畢 > hitsu\ ;
+畜 > chiku\ ;
+町 > machi\ ;
+男 > otoko\ ;
+由 > yoshi\ ;
+島 > shima\ ;
+質 > tachi\ ;
+岸 > kishi\ ;
+屈 > kutsu\ ;
+尻 > shiri\ ;
+尺 > shaku\ ;
+實 > jitsu\ ;
+察 > satsu\ ;
+密 > mitsu\ ;
+宴 > utage\ ;
+客 > kyaku\ ;
+率 > ritsu\ ;
+識 > shiki\ ;
+猾 > katsu\ ;
+説 > setsu\ ;
+詰 > kitsu\ ;
+爺 > jijii\ ;
+爵 > shaku\ ;
+設 > setsu\ ;
+爪 > tsume\ ;
+訣 > ketsu\ ;
+觸 > shoku\ ;
+燭 > shoku\ ;
+触 > shoku\ ;
+角 > tsuno\ ;
+妻 > tsuma\ ;
+熱 > netsu\ ;
+西 > nishi\ ;
+奴 > yatsu\ ;
+奪 > datsu\ ;
+夏 > natsu\ ;
+烈 > retsu\ ;
+裂 > retsu\ ;
+袷 > awase\ ;
+炎 > honoo\ ;
+境 > sakai\ ;
+灼 > shaku\ ;
+塵 > chiri\ ;
+塚 > tsuka\ ;
+街 > machi\ ;
+基 > motoi\ ;
+濶 > katsu\ ;
+埒 > rachi\ ;
+城 > shiro\ ;
+齢 > yowai\ ;
+蝕 > shoku\ ;
+潔 > ketsu\ ;
+鼾 > ibiki\ ;
+蜂 > hachi\ ;
+蜀 > shoku\ ;
+黐 > mochi\ ;
+滑 > katsu\ ;
+滅 > metsu\ ;
+蚕 > kaiko\ ;
+溌 > hatsu\ ;
+鹿 > shika\ ;
+虫 > mushi\ ;
+虞 > osore\ ;
+噂 > uwasa\ ;
+渇 > katsu\ ;
+淵 > fuchi\ ;
+鷲 > washi\ ;
+淑 > shuku\ ;
+嗇 > shoku\ ;
+鶴 > tsuru\ ;
+薔 > shoku\ ;
+喇 > ratsu\ ;
+啜 > setsu\ ;
+唾 > tsuba\ ;
+活 > katsu\ ;
+蔑 > betsu\ ;
+哲 > tetsu\ ;
+泉 > izumi\ ;
+蓄 > chiku\ ;
+油 > abura\ ;
+没 > botsu\ ;
+咄 > totsu\ ;
+決 > ketsu\ ;
+葦 > yoshi\ ;
+著 > chaku\ ;
+汁 > tsuyu\ ;
+鰌 > dojou\ ;
+吉 > kichi\ ;
+叭 > hatsu\ ;
+口 > kuchi\ ;
+叔 > shuku\ ;
+殺 > satsu\ ;
+殖 > shoku\ ;
+却 > kyaku\ ;
+単 > hitoe\ ;
+卒 > sotsu\ ;
+匹 > hitsu\ ;
+次 > tsugi\ ;
+勿 > mochi\ ;
+髮 > hatsu\ ;
+櫛 > kushi\ ;
+劣 > retsu\ ;
+芝 > shiba\ ;
+力 > ryoku\ ;
+艶 > tsuya\ ;
+橋 > hashi\ ;
+刹 > setsu\ ;
+刷 > satsu\ ;
+樫 > kashi\ ;
+別 > betsu\ ;
+初 > hatsu\ ;
+列 > retsu\ ;
+樒 > mitsu\ ;
+舌 > shita\ ;
+切 > setsu\ ;
+刃 > yaiba\ ;
+册 > satsu\ ;
+冊 > satsu\ ;
+腰 > koshi\ ;
+八 > yatsu\ ;
+兎 > usagi\ ;
+兀 > kotsu\ ;
+脱 > datsu\ ;
+植 > shoku\ ;
+脈 > myaku\ ;
+餅 > mochi\ ;
+飾 > shoku\ ;
+飯 > meshi\ ;
+食 > shoku\ ;
+梨 > nashi\ ;
+梢 > kozue\ ;
+梓 > azusa\ ;
+傑 > ketsu\ ;
+肅 > shuku\ ;
+職 > shoku\ ;
+額 > hitai\ ;
+借 > shaku\ ;
+頁 > peiji\ ;
+柄 > tsuka\ ;
+翁 > okina\ ;
+鞭 > muchi\ ;
+鞄 > kaban\ ;
+松 > matsu\ ;
+靴 > kutsu\ ;
+罰 > batsu\ ;
+罪 > tsumi\ ;
+束 > tsuka\ ;
+佛 > butsu\ ;
+杓 > shaku\ ;
+位 > kurai\ ;
+缺 > ketsu\ ;
+伸 > noshi\ ;
+露 > tsuyu\ ;
+霰 > arare\ ;
+末 > matsu\ ;
+霜 > shimo\ ;
+月 > tsuki\ ;
+曲 > kyoku\ ;
+雜 > zatsu\ ;
+仙 > sento\ ;
+雑 > zatsu\ ;
+雇 > yatoi\ ;
+乾 > hoshi\ ;
+乞 > kotsu\ ;
+主 > nushi\ ;
+縮 > shuku\ ;
+星 > hoshi\ ;
+縞 > shima\ ;
+下 > shita\ ;
+綱 > tsuna\ ;
+絶 > zetsu\ ;
+結 > ketsu\ ;
+終 > owari\ ;
+操 > misao\ ;
+撮 > satsu\ ;
+鐵 > tetsu\ ;
+鐡 > tetsu\ ;
+築 > chiku\ ;
+節 > bushi\ ;
+箸 > hashi\ ;
+接 > setsu\ ;
+掠 > ryaku\ ;
+掘 > kutsu\ ;
+箒 > houki\ ;
+捩 > retsu\ ;
+答 > kotae\ ;
+拶 > satsu\ ;
+拭 > shiki\ ;
+括 > katsu\ ;
+拙 > setsu\ ;
+拔 > batsu\ ;
+立 > ritsu\ ;
+竊 > setsu\ ;
+拂 > futsu\ ;
+抜 > batsu\ ;
+抉 > ketsu\ ;
+突 > totsu\ ;
+穴 > ketsu\ ;
+鉢 > hachi\ ;
+払 > futsu\ ;
+鉄 > tetsu\ ;
+截 > setsu\ ;
+戦 > ikusa\ ;
+釋 > shaku\ ;
+釈 > shaku\ ;
+祝 > shuku\ ;
+酌 > shaku\ ;
+慄 > ritsu\ ;
+惚 > kotsu\ ;
+達 > tachi\ ;
+道 > michi\ ;
+逹 > tatsu\ ;
+逐 > chiku\ ;
+逆 > gyaku\ ;
+忽 > kotsu\ ;
+龞 > betsu\ ;
+齧 > ketsu\ ;
+齕 > kotsu\ ;
+齃 > katsu\ ;
+鼿 > gotsu\ ;
+鼎 > kanae\ ;
+黻 > futsu\ ;
+黠 > katsu\ ;
+麹 > kouji\ ;
+鷫 > shuku\ ;
+鷩 > hetsu\ ;
+鶻 > kotsu\ ;
+鶡 > katsu\ ;
+鶍 > isuka\ ;
+鶉 > uzura\ ;
+鵓 > hotsu\ ;
+鴰 > katsu\ ;
+鴫 > shigi\ ;
+鴃 > ketsu\ ;
+鴂 > ketsu\ ;
+鲾 > hyaku\ ;
+鲬 > kochi\ ;
+鱗 > uroko\ ;
+鱐 > shuku\ ;
+鱉 > betsu\ ;
+鱁 > chiku\ ;
+鰻 > unagi\ ;
+鰒 > awabi\ ;
+鰏 > hyoku\ ;
+鰍 > inada\ ;
+鰉 > higai\ ;
+鰈 > karei\ ;
+鯲 > dojou\ ;
+鯒 > kochi\ ;
+鯏 > asari\ ;
+鮭 > shake\ ;
+鮨 > sushi\ ;
+鮚 > kitsu\ ;
+鮓 > sushi\ ;
+鮑 > awabi\ ;
+鮅 > hitsu\ ;
+鮄 > futsu\ ;
+魩 > hachi\ ;
+魃 > batsu\ ;
+鬻 > shuku\ ;
+鬠 > katsu\ ;
+鬎 > ratsu\ ;
+髺 > gatsu\ ;
+髴 > futsu\ ;
+驖 > tetsu\ ;
+驌 > shuku\ ;
+驋 > hatsu\ ;
+騄 > ryoku\ ;
+駜 > hitsu\ ;
+駃 > ketsu\ ;
+馹 > jitsu\ ;
+馝 > hitsu\ ;
+馛 > hatsu\ ;
+饆 > hitsu\ ;
+餮 > tetsu\ ;
+餟 > tetsu\ ;
+餝 > shoku\ ;
+餑 > hotsu\ ;
+飶 > hitsu\ ;
+飭 > choku\ ;
+颳 > katsu\ ;
+颰 > hatsu\ ;
+颯 > satsu\ ;
+顣 > shuku\ ;
+頡 > kitsu\ ;
+頊 > kyoku\ ;
+韤 > batsu\ ;
+韡 > sakan\ ;
+韠 > hitsu\ ;
+韍 > futsu\ ;
+韈 > betsu\ ;
+韃 > datsu\ ;
+鞸 > hitsu\ ;
+鞨 > katsu\ ;
+靺 > matsu\ ;
+靹 > ketsu\ ;
+靨 > ekubo\ ;
+隉 > getsu\ ;
+陟 > choku\ ;
+阢 > gotsu\ ;
+闥 > tatsu\ ;
+闕 > ketsu\ ;
+闑 > getsu\ ;
+闋 > ketsu\ ;
+闊 > katsu\ ;
+閦 > shuku\ ;
+閥 > batsu\ ;
+钃 > shoku\ ;
+鑠 > shaku\ ;
+鐽 > tatsu\ ;
+鐯 > shaku\ ;
+鐍 > tetsu\ ;
+鏺 > hatsu\ ;
+鏉 > shyuu\ ;
+鏅 > shyuu\ ;
+鎧 > yoroi\ ;
+鎋 > katsu\ ;
+鍥 > ketsu\ ;
+鍘 > satsu\ ;
+鍔 > tsuba\ ;
+錨 > ikari\ ;
+錘 > tsumu\ ;
+鋨 > tetsu\ ;
+鋝 > retsu\ ;
+鋍 > hotsu\ ;
+銽 > katsu\ ;
+銫 > shoku\ ;
+銕 > tetsu\ ;
+鉽 > shuku\ ;
+鉘 > futsu\ ;
+鈺 > gyoku\ ;
+鈸 > hatsu\ ;
+鈯 > totsu\ ;
+鈤 > jitsu\ ;
+鈅 > getsu\ ;
+釰 > jitsu\ ;
+釟 > hatsu\ ;
+醱 > hatsu\ ;
+醗 > hatsu\ ;
+醔 > shyuu\ ;
+醊 > tetsu\ ;
+醁 > ryoku\ ;
+酫 > setsu\ ;
+酦 > hatsu\ ;
+鄐 > chiku\ ;
+邲 > hitsu\ ;
+逼 > hitsu\ ;
+逯 > ryoku\ ;
+适 > katsu\ ;
+迾 > retsu\ ;
+迭 > tetsu\ ;
+达 > tatsu\ ;
+辶 > chaku\ ;
+辵 > chaku\ ;
+辰 > tatsu\ ;
+辥 > setsu\ ;
+辣 > ratsu\ ;
+辜 > tsumi\ ;
+轕 > katsu\ ;
+轄 > katsu\ ;
+輿 > koshi\ ;
+輵 > katsu\ ;
+輟 > tetsu\ ;
+輂 > kyoku\ ;
+軾 > shoku\ ;
+軷 > hatsu\ ;
+軏 > getsu\ ;
+軄 > shoku\ ;
+躵 > nerau\ ;
+躩 > kyaku\ ;
+躂 > tatsu\ ;
+蹶 > ketsu\ ;
+蹩 > hetsu\ ;
+蹜 > shuku\ ;
+蹙 > shuku\ ;
+蹕 > hitsu\ ;
+踧 > shuku\ ;
+踋 > kyaku\ ;
+跼 > kyoku\ ;
+跛 > bikko\ ;
+跌 > tetsu\ ;
+跋 > batsu\ ;
+跀 > getsu\ ;
+趹 > ketsu\ ;
+趷 > kotsu\ ;
+趞 > shaku\ ;
+趐 > ketsu\ ;
+赩 > kyoku\ ;
+贖 > shoku\ ;
+賡 > shoku\ ;
+貜 > kyaku\ ;
+豁 > katsu\ ;
+讞 > getsu\ ;
+譎 > kitsu\ ;
+謖 > shoku\ ;
+謔 > gyaku\ ;
+謐 > hitsu\ ;
+諔 > shuku\ ;
+誳 > kutsu\ ;
+說 > setsu\ ;
+誖 > hotsu\ ;
+詧 > satsu\ ;
+詘 > kutsu\ ;
+訥 > totsu\ ;
+訖 > kitsu\ ;
+訐 > ketsu\ ;
+觱 > hitsu\ ;
+觖 > ketsu\ ;
+覕 > betsu\ ;
+襭 > ketsu\ ;
+襪 > betsu\ ;
+襡 > shoku\ ;
+襒 > hetsu\ ;
+襏 > hatsu\ ;
+襍 > zatsu\ ;
+褻 > setsu\ ;
+褐 > katsu\ ;
+褄 > tsuma\ ;
+裰 > tatsu\ ;
+袺 > ketsu\ ;
+袜 > batsu\ ;
+袚 > hatsu\ ;
+衵 > jitsu\ ;
+衋 > kyoku\ ;
+衊 > betsu\ ;
+蠼 > kyaku\ ;
+蠞 > setsu\ ;
+蠛 > betsu\ ;
+蠘 > setsu\ ;
+蠋 > shoku\ ;
+蟙 > shoku\ ;
+蝲 > ratsu\ ;
+蝎 > katsu\ ;
+蜜 > mitsu\ ;
+蜇 > tetsu\ ;
+蛥 > setsu\ ;
+蛣 > kitsu\ ;
+蛞 > katsu\ ;
+蛚 > retsu\ ;
+虐 > gyaku\ ;
+蘖 > getsu\ ;
+藜 > akaza\ ;
+藚 > shoku\ ;
+薩 > satsu\ ;
+薥 > shoku\ ;
+薛 > setsu\ ;
+薘 > tatsu\ ;
+薊 > azami\ ;
+蕟 > hitsu\ ;
+蕝 > setsu\ ;
+蕀 > kyoku\ ;
+蔦 > tsuta\ ;
+蔤 > bitsu\ ;
+蔎 > setsu\ ;
+蓿 > shuku\ ;
+蓽 > hitsu\ ;
+蓇 > kotsu\ ;
+葧 > hotsu\ ;
+葜 > katsu\ ;
+葖 > totsu\ ;
+葎 > ritsu\ ;
+菽 > shuku\ ;
+菝 > hatsu\ ;
+菉 > ryoku\ ;
+莭 > setsu\ ;
+莂 > hetsu\ ;
+荸 > hotsu\ ;
+荗 > shoku\ ;
+茨 > ibara\ ;
+茢 > retsu\ ;
+茜 > akane\ ;
+茍 > kyoku\ ;
+茉 > matsu\ ;
+茇 > hatsu\ ;
+茁 > satsu\ ;
+茀 > hutsu\ ;
+苾 > hitsu\ ;
+苶 > detsu\ ;
+芴 > butsu\ ;
+芍 > shaku\ ;
+艴 > hotsu\ ;
+舳 > chiku\ ;
+舝 > katsu\ ;
+舄 > shaku\ ;
+舃 > shaku\ ;
+臸 > jitsu\ ;
+臲 > getsu\ ;
+臅 > shoku\ ;
+腷 > hyoku\ ;
+腯 > totsu\ ;
+脫 > datsu\ ;
+脖 > hotsu\ ;
+脉 > myaku\ ;
+胈 > hatsu\ ;
+肸 > kitsu\ ;
+肭 > dotsu\ ;
+肋 > abara\ ;
+聒 > katsu\ ;
+聀 > shoku\ ;
+耋 > tetsu\ ;
+耊 > tetsu\ ;
+羯 > katsu\ ;
+羍 > tatsu\ ;
+罸 > batsu\ ;
+缽 > hachi\ ;
+缼 > ketsu\ ;
+纈 > ketsu\ ;
+繳 > shaku\ ;
+繘 > kitsu\ ;
+縬 > shuku\ ;
+緤 > setsu\ ;
+綽 > shaku\ ;
+綠 > ryoku\ ;
+綍 > hutsu\ ;
+絰 > tetsu\ ;
+絜 > ketsu\ ;
+絗 > kotsu\ ;
+絕 > zetsu\ ;
+絏 > setsu\ ;
+紼 > hutsu\ ;
+紲 > setsu\ ;
+紱 > hutsu\ ;
+紮 > satsu\ ;
+紇 > kotsu\ ;
+糵 > getsu\ ;
+糏 > setsu\ ;
+糀 > kouji\ ;
+粛 > shuku\ ;
+粒 > tsubu\ ;
+籙 > ryoku\ ;
+篾 > betsu\ ;
+篳 > hitsu\ ;
+篩 > furui\ ;
+篥 > ritsu\ ;
+箻 > ritsu\ ;
+箚 > satsu\ ;
+筑 > chiku\ ;
+筏 > ikada\ ;
+筁 > kyoku\ ;
+笽 > souke\ ;
+笰 > hutsu\ ;
+笔 > hitsu\ ;
+笏 > kotsu\ ;
+竭 > ketsu\ ;
+窣 > sotsu\ ;
+窟 > kutsu\ ;
+窃 > setsu\ ;
+穡 > shoku\ ;
+稷 > shoku\ ;
+稭 > katsu\ ;
+稫 > hyoku\ ;
+稡 > sotsu\ ;
+稙 > choku\ ;
+秸 > katsu\ ;
+秫 > jotsu\ ;
+秣 > matsu\ ;
+秡 > hatsu\ ;
+禝 > shoku\ ;
+祓 > futsu\ ;
+磆 > katsu\ ;
+碿 > sotsu\ ;
+碣 > ketsu\ ;
+碟 > katsu\ ;
+碏 > shaku\ ;
+硈 > katsu\ ;
+矻 > kotsu\ ;
+矚 > shoku\ ;
+矗 > chiku\ ;
+瞮 > tetsu\ ;
+瞎 > katsu\ ;
+睰 > batsu\ ;
+眜 > batsu\ ;
+盋 > hatsu\ ;
+皭 > shaku\ ;
+皕 > hyoku\ ;
+皌 > batsu\ ;
+癶 > hatsu\ ;
+癤 > setsu\ ;
+癟 > hetsu\ ;
+瘧 > gyaku\ ;
+瘜 > shoku\ ;
+瘌 > ratsu\ ;
+瘄 > shaku\ ;
+瘃 > shoku\ ;
+痆 > datsu\ ;
+疙 > gitsu\ ;
+畷 > tetsu\ ;
+畧 > ryaku\ ;
+畟 > shoku\ ;
+甶 > futsu\ ;
+瓞 > tetsu\ ;
+瑮 > ritsu\ ;
+珿 > shuku\ ;
+珌 > hitsu\ ;
+玦 > ketsu\ ;
+玥 > getsu\ ;
+玐 > hatsu\ ;
+玃 > kyaku\ ;
+獦 > katsu\ ;
+獝 > kitsu\ ;
+獗 > ketsu\ ;
+猲 > katsu\ ;
+猝 > sotsu\ ;
+狘 > ketsu\ ;
+犮 > hatsu\ ;
+爝 > shaku\ ;
+爍 > shaku\ ;
+爇 > zetsu\ ;
+燵 > tatsu\ ;
+熚 > hitsu\ ;
+煞 > satsu\ ;
+焯 > shaku\ ;
+焫 > zetsu\ ;
+焔 > honoo\ ;
+焏 > kyoku\ ;
+烕 > ketsu\ ;
+瀒 > shoku\ ;
+濇 > shoku\ ;
+澈 > tetsu\ ;
+潚 > shuku\ ;
+潑 > hatsu\ ;
+潏 > ketsu\ ;
+滭 > hitsu\ ;
+滀 > chiku\ ;
+溭 > shoku\ ;
+溧 > ritsu\ ;
+溂 > ratsu\ ;
+湢 > hyoku\ ;
+湜 > shoku\ ;
+渴 > katsu\ ;
+渫 > setsu\ ;
+渤 > botsu\ ;
+渋 > shibu\ ;
+淈 > kotsu\ ;
+涅 > netsu\ ;
+浬 > kairi\ ;
+浡 > hotsu\ ;
+浙 > setsu\ ;
+洯 > ketsu\ ;
+洫 > kyoku\ ;
+洌 > retsu\ ;
+泬 > ketsu\ ;
+泐 > ryoku\ ;
+泌 > hitsu\ ;
+沸 > futsu\ ;
+沫 > matsu\ ;
+沕 > butsu\ ;
+沒 > botsu\ ;
+汔 > kitsu\ ;
+氟 > hutsu\ ;
+氒 > ketsu\ ;
+殛 > kyoku\ ;
+殁 > botsu\ ;
+歿 > botsu\ ;
+歾 > botsu\ ;
+歽 > setsu\ ;
+歹 > gatsu\ ;
+歠 > setsu\ ;
+歘 > kutsu\ ;
+歇 > ketsu\ ;
+欻 > kutsu\ ;
+欯 > kitsu\ ;
+欠 > ketsu\ ;
+欟 > tsuki\ ;
+櫱 > getsu\ ;
+櫁 > mitsu\ ;
+檫 > satsu\ ;
+檋 > kyoku\ ;
+橛 > ketsu\ ;
+樴 > shoku\ ;
+槭 > shuku\ ;
+榾 > kotsu\ ;
+榍 > setsu\ ;
+榀 > komai\ ;
+楾 > hazou\ ;
+楬 > ketsu\ ;
+椣 > shide\ ;
+椊 > sotsu\ ;
+椄 > setsu\ ;
+棁 > setsu\ ;
+梲 > setsu\ ;
+桲 > hotsu\ ;
+桰 > katsu\ ;
+桛 > kasei\ ;
+桔 > kitsu\ ;
+桀 > ketsu\ ;
+栻 > choku\ ;
+栰 > hatsu\ ;
+栨 > setsu\ ;
+栃 > tochi\ ;
+柷 > shuku\ ;
+柮 > totsu\ ;
+杰 > ketsu\ ;
+杤 > tochi\ ;
+杌 > gotsu\ ;
+杁 > eburi\ ;
+朸 > ryoku\ ;
+朳 > hatsu\ ;
+术 > jutsu\ ;
+朮 > jutsu\ ;
+朅 > ketsu\ ;
+曷 > katsu\ ;
+暼 > hetsu\ ;
+暱 > jitsu\ ;
+晢 > setsu\ ;
+昵 > jitsu\ ;
+昳 > tetsu\ ;
+昩 > batsu\ ;
+昢 > hotsu\ ;
+昒 > kotsu\ ;
+旭 > asahi\ ;
+斫 > shaku\ ;
+斣 > shuku\ ;
+敪 > tatsu\ ;
+敠 > tatsu\ ;
+敕 > choku\ ;
+攝 > setsu\ ;
+擽 > ryaku\ ;
+擷 > ketsu\ ;
+擦 > satsu\ ;
+撻 > tachi\ ;
+撥 > bachi\ ;
+撤 > tetsu\ ;
+撇 > hetsu\ ;
+撅 > ketsu\ ;
+摋 > satsu\ ;
+摂 > setsu\ ;
+搰 > kotsu\ ;
+搩 > ketsu\ ;
+搐 > chiku\ ;
+揳 > setsu\ ;
+揲 > setsu\ ;
+揬 > totsu\ ;
+揠 > satsu\ ;
+揑 > getsu\ ;
+掟 > okite\ ;
+掇 > tatsu\ ;
+捽 > sotsu\ ;
+捺 > natsu\ ;
+捸 > totsu\ ;
+捝 > tatsu\ ;
+捏 > detsu\ ;
+捋 > ratsu\ ;
+挶 > kyoku\ ;
+挩 > tatsu\ ;
+挈 > ketsu\ ;
+拮 > kitsu\ ;
+拉 > ratsu\ ;
+抹 > matsu\ ;
+抐 > dotsu\ ;
+抈 > getsu\ ;
+扤 > gotsu\ ;
+扎 > satsu\ ;
+戠 > shoku\ ;
+戞 > katsu\ ;
+戜 > tetsu\ ;
+戛 > katsu\ ;
+戄 > kyaku\ ;
+懤 > chyuu\ ;
+懎 > shoku\ ;
+憠 > ketsu\ ;
+憟 > shoku\ ;
+憋 > hetsu\ ;
+愎 > hyoku\ ;
+愊 > hyoku\ ;
+愂 > botsu\ ;
+惙 > tetsu\ ;
+悊 > tetsu\ ;
+恤 > jutsu\ ;
+怵 > jutsu\ ;
+怭 > hitsu\ ;
+怫 > futsu\ ;
+怛 > datsu\ ;
+忔 > kitsu\ ;
+徏 > choku\ ;
+彿 > futsu\ ;
+彴 > shaku\ ;
+彃 > hitsu\ ;
+彂 > hotsu\ ;
+弼 > hitsu\ ;
+弻 > hitsu\ ;
+弦 > tsuru\ ;
+弡 > kutsu\ ;
+廐 > umaya\ ;
+庂 > shoku\ ;
+幯 > setsu\ ;
+幭 > betsu\ ;
+帴 > satsu\ ;
+帥 > sotsu\ ;
+帚 > houki\ ;
+帕 > batsu\ ;
+巿 > hutsu\ ;
+巀 > satsu\ ;
+嶱 > katsu\ ;
+嶭 > gatsu\ ;
+嶍 > shihu\ ;
+嵽 > tetsu\ ;
+嵲 > getsu\ ;
+嵥 > ketsu\ ;
+嵑 > ketsu\ ;
+嵂 > ritsu\ ;
+崱 > shoku\ ;
+崫 > kutsu\ ;
+崛 > kutsu\ ;
+峠 > touge\ ;
+峚 > bitsu\ ;
+峌 > tetsu\ ;
+岪 > hutsu\ ;
+岤 > ketsu\ ;
+岏 > guwan\ ;
+岊 > setsu\ ;
+岉 > butsu\ ;
+屼 > gotsu\ ;
+屹 > kitsu\ ;
+屵 > gatsu\ ;
+屴 > ryoku\ ;
+屫 > kyaku\ ;
+屩 > kyaku\ ;
+尳 > kotsu\ ;
+尗 > shuku\ ;
+尐 > setsu\ ;
+寣 > kotsu\ ;
+寔 > shoku\ ;
+宻 > mitsu\ ;
+宓 > bitsu\ ;
+宊 > totsu\ ;
+孽 > getsu\ ;
+孼 > getsu\ ;
+孰 > izure\ ;
+孛 > botsu\ ;
+孒 > ketsu\ ;
+孑 > ketsu\ ;
+孎 > shoku\ ;
+嬇 > kuwai\ ;
+嬂 > shoku\ ;
+嫳 > hetsu\ ;
+嫡 > chaku\ ;
+媟 > setsu\ ;
+婼 > shaku\ ;
+婌 > shuku\ ;
+娎 > ketsu\ ;
+姴 > retsu\ ;
+姡 > katsu\ ;
+姞 > kitsu\ ;
+妺 > batsu\ ;
+妲 > datsu\ ;
+妰 > chaku\ ;
+妭 > hatsu\ ;
+妁 > shaku\ ;
+奯 > katsu\ ;
+契 > setsu\ ;
+夷 > ebisu\ ;
+夬 > ketsu\ ;
+夨 > shoku\ ;
+夙 > shuku\ ;
+壷 > tsubo\ ;
+墢 > hatsu\ ;
+墌 > shaku\ ;
+墆 > tetsu\ ;
+塛 > ritsu\ ;
+堨 > getsu\ ;
+埴 > shoku\ ;
+埱 > shyuu\ ;
+埓 > rachi\ ;
+垤 > tetsu\ ;
+垡 > hatsu\ ;
+垔 > shyou\ ;
+垏 > rotsu\ ;
+垃 > ratsu\ ;
+坺 > hatsu\ ;
+坹 > ketsu\ ;
+坲 > hutsu\ ;
+坪 > tsubo\ ;
+圿 > katsu\ ;
+圽 > botsu\ ;
+圴 > shaku\ ;
+圪 > gitsu\ ;
+圣 > kutsu\ ;
+囮 > otori\ ;
+囫 > kotsu\ ;
+囓 > ketsu\ ;
+囑 > shoku\ ;
+囐 > satsu\ ;
+囋 > satsu\ ;
+嚽 > setsu\ ;
+嚼 > shaku\ ;
+嚞 > tetsu\ ;
+噶 > katsu\ ;
+噲 > kuwai\ ;
+噱 > kyaku\ ;
+噠 > tatsu\ ;
+噘 > ketsu\ ;
+噈 > shuku\ ;
+噄 > kitsu\ ;
+嘱 > shoku\ ;
+嘠 > katsu\ ;
+嘎 > katsu\ ;
+嗶 > hitsu\ ;
+嗧 > garon\ ;
+嗢 > ratsu\ ;
+嗖 > shuhu\ ;
+嗕 > shoku\ ;
+嗐 > katsu\ ;
+喫 > kitsu\ ;
+喝 > katsu\ ;
+喌 > shuku\ ;
+喆 > tetsu\ ;
+啠 > tetsu\ ;
+啒 > kotsu\ ;
+唿 > kotsu\ ;
+唰 > setsu\ ;
+哾 > yatsu\ ;
+哷 > retsu\ ;
+哳 > tatsu\ ;
+哱 > hotsu\ ;
+哫 > shoku\ ;
+哘 > sasou\ ;
+哋 > tetsu\ ;
+咱 > satsu\ ;
+咭 > kitsu\ ;
+咧 > retsu\ ;
+咈 > hutsu\ ;
+咇 > hetsu\ ;
+呾 > tatsu\ ;
+呐 > totsu\ ;
+吷 > ketsu\ ;
+吶 > totsu\ ;
+吡 > hitsu\ ;
+吋 > inchi\ ;
+吃 > kitsu\ ;
+叕 > tetsu\ ;
+叐 > hatsu\ ;
+厩 > umaya\ ;
+厥 > ketsu\ ;
+卼 > gotsu\ ;
+卻 > kyaku\ ;
+卹 > jutsu\ ;
+卩 > setsu\ ;
+卨 > setsu\ ;
+卍 > manji\ ;
+卆 > sotsu\ ;
+匱 > hitsu\ ;
+匫 > kotsu\ ;
+匤 > kyaku\ ;
+匢 > kotsu\ ;
+匃 > katsu\ ;
+匁 > monme\ ;
+勺 > shaku\ ;
+勶 > ketsu\ ;
+勪 > kyaku\ ;
+勖 > kyaku\ ;
+勃 > botsu\ ;
+劽 > retsu\ ;
+劼 > katsu\ ;
+劚 > chaku\ ;
+劄 > satsu\ ;
+劂 > ketsu\ ;
+劀 > katsu\ ;
+剟 > tetsu\ ;
+剎 > satsu\ ;
+剌 > ratsu\ ;
+刮 > katsu\ ;
+别 > betsu\ ;
+刜 > hutsu\ ;
+刖 > getsu\ ;
+刔 > ketsu\ ;
+凓 > ritsu\ ;
+冽 > retsu\ ;
+冹 > hutsu\ ;
+决 > ketsu\ ;
+儲 > mouke\ ;
+僪 > kitsu\ ;
+僦 > shyuu\ ;
+僁 > setsu\ ;
+傠 > hatsu\ ;
+傈 > ritsu\ ;
+傄 > katsu\ ;
+偰 > setsu\ ;
+偟 > kuwau\ ;
+偈 > ketsu\ ;
+倔 > kutsu\ ;
+倐 > shuku\ ;
+倏 > shuku\ ;
+倌 > kuwan\ ;
+俶 > shuku\ ;
+侼 > hotsu\ ;
+侻 > tatsu\ ;
+侷 > kyoku\ ;
+侙 > choku\ ;
+侓 > rotsu\ ;
+侐 > kyoku\ ;
+佸 > katsu\ ;
+佶 > kitsu\ ;
+佪 > kuwai\ ;
+佚 > tetsu\ ;
+佖 > hitsu\ ;
+伵 > kyoku\ ;
+伳 > setsu\ ;
+伜 > sotsu\ ;
+伐 > batsu\ ;
+仴 > gatsu\ ;
+仡 > kitsu\ ;
+仈 > hatsu\ ;
+亟 > kyoku\ ;
+亍 > choku\ ;
+亅 > ketsu\ ;
+乴 > setsu\ ;
+乄 > shime\ ;
+乀 > futsu\ ;
+丿 > hetsu\ ;
+串 > kushi\ ;
+〆 > shime\ ;
+石 > koku\ ;
+迫 > haku\ ;
+迄 > made\ ;
+心 > shin\ ;
+込 > komu\ ;
+徴 > chou\ ;
+徳 > toku\ ;
+辱 > joku\ ;
+瞭 > ryou\ ;
+瞬 > shun\ ;
+復 > fuku\ ;
+辛 > shin\ ;
+得 > toku\ ;
+彼 > kare\ ;
+役 > yaku\ ;
+影 > kage\ ;
+彫 > chou\ ;
+睦 > boku\ ;
+督 > toku\ ;
+弾 > tama\ ;
+眺 > chou\ ;
+強 > kyou\ ;
+張 > chou\ ;
+輯 > shuu\ ;
+眞 > shin\ ;
+弔 > chou\ ;
+眉 > mayu\ ;
+較 > kaku\ ;
+直 > hita\ ;
+軒 > noki\ ;
+益 > yaku\ ;
+廂 > shou\ ;
+皿 > sara\ ;
+庵 > iori\ ;
+皮 > kawa\ ;
+庭 > niwa\ ;
+店 > mise\ ;
+底 > soko\ ;
+躑 > teki\ ;
+躍 > yaku\ ;
+躊 > chuu\ ;
+床 > yuka\ ;
+的 > mato\ ;
+庁 > chou\ ;
+幹 > miki\ ;
+蹴 > shuu\ ;
+平 > hira\ ;
+蹠 > seki\ ;
+蹟 > seki\ ;
+癖 > kuse\ ;
+幅 > haba\ ;
+療 > ryou\ ;
+常 > towa\ ;
+席 > seki\ ;
+希 > mare\ ;
+布 > nuno\ ;
+巻 > maki\ ;
+跳 > chou\ ;
+川 > kawa\ ;
+症 > shou\ ;
+足 > ashi\ ;
+越 > etsu\ ;
+超 > chou\ ;
+赫 > kaku\ ;
+畫 > kaku\ ;
+赤 > seki\ ;
+留 > ryuu\ ;
+画 > kaku\ ;
+申 > saru\ ;
+生 > nama\ ;
+甚 > shin\ ;
+崖 > gake\ ;
+崎 > saki\ ;
+峰 > mine\ ;
+賑 > shin\ ;
+賊 > zoku\ ;
+賃 > chin\ ;
+責 > seki\ ;
+山 > yama\ ;
+屬 > zoku\ ;
+属 > zoku\ ;
+屑 > kuzu\ ;
+豆 > mame\ ;
+琴 > koto\ ;
+就 > shuu\ ;
+少 > shou\ ;
+小 > shou\ ;
+将 > shou\ ;
+球 > tama\ ;
+対 > tsui\ ;
+寺 > tera\ ;
+寵 > chou\ ;
+審 > shin\ ;
+寥 > ryou\ ;
+寢 > shin\ ;
+珍 > chin\ ;
+富 > tomi\ ;
+寂 > sabi\ ;
+宿 > yado\ ;
+宮 > miya\ ;
+室 > muro\ ;
+宗 > shuu\ ;
+玖 > kyuu\ ;
+玉 > dama\ ;
+安 > yasu\ ;
+守 > mori\ ;
+宅 > taku\ ;
+讀 > toku\ ;
+學 > gaku\ ;
+獲 > kaku\ ;
+譯 > yaku\ ;
+孫 > mago\ ;
+獨 > doku\ ;
+学 > gaku\ ;
+證 > shou\ ;
+獄 > goku\ ;
+猿 > saru\ ;
+猫 > neko\ ;
+謡 > utai\ ;
+謎 > nazo\ ;
+嬌 > kyou\ ;
+謁 > etsu\ ;
+狹 > kyou\ ;
+狭 > kyou\ ;
+狂 > kyou\ ;
+嫁 > yome\ ;
+調 > chou\ ;
+誰 > dare\ ;
+読 > toku\ ;
+誂 > chou\ ;
+婿 > muko\ ;
+特 > toku\ ;
+詳 > shou\ ;
+物 > mono\ ;
+牧 > boku\ ;
+牛 > ushi\ ;
+評 > hyou\ ;
+牒 > chou\ ;
+婆 > baba\ ;
+診 > shin\ ;
+訳 > wake\ ;
+訟 > shou\ ;
+娠 > shin\ ;
+託 > taku\ ;
+爆 > baku\ ;
+姫 > hime\ ;
+燒 > shou\ ;
+覺 > kaku\ ;
+覚 > kaku\ ;
+妙 > myou\ ;
+熊 > kuma\ ;
+覆 > fuku\ ;
+襲 > shuu\ ;
+照 > shou\ ;
+煤 > susu\ ;
+襁 > kyou\ ;
+焼 > yaki\ ;
+夫 > otto\ ;
+焦 > shou\ ;
+夢 > yume\ ;
+夜 > yoru\ ;
+外 > hoka\ ;
+複 > fuku\ ;
+裾 > suso\ ;
+壱 > ichi\ ;
+壓 > atsu\ ;
+壁 > kabe\ ;
+為 > tame\ ;
+炭 > sumi\ ;
+墨 > sumi\ ;
+袖 > sode\ ;
+墓 > haka\ ;
+衷 > chuu\ ;
+表 > hyou\ ;
+塩 > shio\ ;
+衝 > shou\ ;
+塞 > soku\ ;
+術 > sube\ ;
+行 > gyou\ ;
+衆 > shuu\ ;
+蠢 > shun\ ;
+瀝 > reki\ ;
+堀 > hori\ ;
+濯 > taku\ ;
+濁 > daku\ ;
+激 > geki\ ;
+澤 > taku\ ;
+垣 > kaki\ ;
+型 > kata\ ;
+澄 > chou\ ;
+潮 > shio\ ;
+蝠 > fuku\ ;
+蝉 > semi\ ;
+坂 > saka\ ;
+漿 > shou\ ;
+鼻 > hana\ ;
+漲 > chou\ ;
+圧 > atsu\ ;
+漠 > baku\ ;
+園 > sono\ ;
+國 > koku\ ;
+蜃 > shin\ ;
+漂 > hyou\ ;
+漁 > ryou\ ;
+国 > kuni\ ;
+黴 > kabi\ ;
+黙 > moku\ ;
+默 > moku\ ;
+黒 > kuro\ ;
+黍 > kibi\ ;
+蛇 > hebi\ ;
+囁 > shou\ ;
+溺 > deki\ ;
+麦 > mugi\ ;
+麥 > baku\ ;
+蚤 > nomi\ ;
+溢 > itsu\ ;
+溝 > mizo\ ;
+溜 > ryuu\ ;
+虎 > tora\ ;
+測 > soku\ ;
+嘗 > shou\ ;
+渉 > shou\ ;
+鷹 > taka\ ;
+深 > shin\ ;
+藥 > yaku\ ;
+藤 > fuji\ ;
+嗅 > kyuu\ ;
+藁 > wara\ ;
+涼 > ryou\ ;
+涜 > toku\ ;
+喋 > chou\ ;
+喉 > nodo\ ;
+消 > shou\ ;
+浸 > shin\ ;
+浴 > yoku\ ;
+浜 > hama\ ;
+浚 > shun\ ;
+蕎 > kyou\ ;
+商 > shou\ ;
+流 > ryuu\ ;
+洲 > shuu\ ;
+唱 > shou\ ;
+唯 > tada\ ;
+蔭 > kage\ ;
+津 > shin\ ;
+洞 > hora\ ;
+洛 > raku\ ;
+唖 > oshi\ ;
+蓮 > hasu\ ;
+哭 > koku\ ;
+鳩 > hato\ ;
+注 > chuu\ ;
+鳥 > tori\ ;
+泥 > doro\ ;
+泣 > kyuu\ ;
+波 > nami\ ;
+蓋 > futa\ ;
+泊 > haku\ ;
+況 > kyou\ ;
+咽 > nodo\ ;
+沼 > numa\ ;
+蒻 > jaku\ ;
+河 > kawa\ ;
+蒲 > gama\ ;
+咳 > seki\ ;
+咲 > shou\ ;
+沢 > sawa\ ;
+咎 > kyuu\ ;
+沈 > chin\ ;
+汲 > kyuu\ ;
+周 > shuu\ ;
+鱈 > tara\ ;
+告 > koku\ ;
+求 > kyuu\ ;
+落 > ochi\ ;
+吸 > kyuu\ ;
+水 > mizu\ ;
+民 > tami\ ;
+吊 > chou\ ;
+各 > kaku\ ;
+右 > migi\ ;
+華 > hana\ ;
+毬 > kyuu\ ;
+召 > shou\ ;
+叫 > kyou\ ;
+只 > tada\ ;
+古 > furu\ ;
+取 > tori\ ;
+毒 > doku\ ;
+収 > shuu\ ;
+母 > haha\ ;
+双 > futa\ ;
+菊 > kiku\ ;
+友 > tomo\ ;
+及 > kyuu\ ;
+又 > mata\ ;
+殿 > dono\ ;
+殻 > kara\ ;
+莢 > saya\ ;
+原 > hara\ ;
+厄 > yaku\ ;
+歴 > reki\ ;
+即 > soku\ ;
+博 > baku\ ;
+協 > kyou\ ;
+卓 > taku\ ;
+草 > kusa\ ;
+升 > masu\ ;
+鬱 > utsu\ ;
+欲 > yoku\ ;
+欝 > utsu\ ;
+鬚 > hige\ ;
+匙 > saji\ ;
+北 > hoku\ ;
+茎 > kuki\ ;
+茅 > kaya\ ;
+匂 > niou\ ;
+髷 > mage\ ;
+髭 > hige\ ;
+髪 > kami\ ;
+若 > jaku\ ;
+勝 > shou\ ;
+高 > taka\ ;
+苔 > koke\ ;
+花 > hana\ ;
+骨 > hone\ ;
+助 > suke\ ;
+劇 > geki\ ;
+劃 > kaku\ ;
+剽 > hyou\ ;
+割 > wari\ ;
+良 > ryou\ ;
+剥 > haku\ ;
+機 > hata\ ;
+驚 > kyou\ ;
+削 > saku\ ;
+則 > soku\ ;
+刻 > koku\ ;
+船 > fune\ ;
+刺 > toge\ ;
+舶 > haku\ ;
+横 > yoko\ ;
+舟 > fune\ ;
+標 > hyou\ ;
+舎 > seki\ ;
+舊 > kyuu\ ;
+刈 > kari\ ;
+樅 > momi\ ;
+樂 > gaku\ ;
+臭 > shuu\ ;
+臣 > shin\ ;
+駒 > koma\ ;
+駐 > chuu\ ;
+臍 > heso\ ;
+槌 > tsui\ ;
+凌 > ryou\ ;
+槇 > maki\ ;
+馴 > shun\ ;
+冬 > fuyu\ ;
+膝 > hiza\ ;
+膜 > maku\ ;
+榛 > shin\ ;
+香 > kyou\ ;
+首 > kubi\ ;
+円 > maru\ ;
+内 > uchi\ ;
+楽 > raku\ ;
+腹 > hara\ ;
+極 > goku\ ;
+共 > domo\ ;
+業 > waza\ ;
+六 > roku\ ;
+兩 > ryou\ ;
+入 > nyuu\ ;
+元 > moto\ ;
+脣 > shin\ ;
+償 > shou\ ;
+脚 > ashi\ ;
+儘 > mama\ ;
+椎 > tsui\ ;
+脊 > seki\ ;
+脇 > waki\ ;
+脅 > kyou\ ;
+脂 > yani\ ;
+能 > yoku\ ;
+胸 > mune\ ;
+森 > mori\ ;
+棚 > tana\ ;
+僚 > ryou\ ;
+僕 > boku\ ;
+僑 > kyou\ ;
+傷 > shou\ ;
+肩 > kata\ ;
+肝 > kimo\ ;
+肘 > hiji\ ;
+傘 > kasa\ ;
+肖 > shou\ ;
+肌 > hada\ ;
+傍 > waki\ ;
+肉 > niku\ ;
+梃 > teko\ ;
+聽 > chou\ ;
+偽 > nise\ ;
+聴 > chou\ ;
+聳 > shou\ ;
+側 > hata\ ;
+聚 > shuu\ ;
+桐 > kiri\ ;
+聊 > ryou\ ;
+桃 > momo\ ;
+桁 > keta\ ;
+格 > kaku\ ;
+頸 > kubi\ ;
+耳 > mimi\ ;
+頬 > hoho\ ;
+領 > ryou\ ;
+栗 > kuri\ ;
+者 > mono\ ;
+頃 > goro\ ;
+柿 > kaki\ ;
+柵 > saku\ ;
+修 > shuu\ ;
+柚 > yuzu\ ;
+俗 > zoku\ ;
+柔 > nyuu\ ;
+習 > shuu\ ;
+翌 > yoku\ ;
+促 > soku\ ;
+侵 > shin\ ;
+価 > atai\ ;
+羞 > shuu\ ;
+供 > tomo\ ;
+鞘 > saya\ ;
+革 > kawa\ ;
+作 > saku\ ;
+杖 > tsue\ ;
+村 > mura\ ;
+杏 > anzu\ ;
+杉 > sugi\ ;
+伽 > togi\ ;
+朴 > boku\ ;
+伴 > tomo\ ;
+伯 > haku\ ;
+札 > fuda\ ;
+本 > moto\ ;
+霧 > kiri\ ;
+休 > kyuu\ ;
+伏 > fuku\ ;
+服 > fuku\ ;
+震 > shin\ ;
+雲 > kumo\ ;
+仲 > naka\ ;
+仰 > gyou\ ;
+仮 > kari\ ;
+雪 > yuki\ ;
+曝 > baku\ ;
+他 > hoka\ ;
+雌 > mesu\ ;
+集 > shuu\ ;
+仄 > soku\ ;
+人 > hito\ ;
+享 > kyou\ ;
+亦 > mata\ ;
+暢 > chou\ ;
+障 > shou\ ;
+隙 > suki\ ;
+隔 > kaku\ ;
+續 > zoku\ ;
+事 > koto\ ;
+隆 > ryuu\ ;
+暇 > hima\ ;
+隅 > sumi\ ;
+了 > ryou\ ;
+陸 > roku\ ;
+晶 > shou\ ;
+陰 > kage\ ;
+晝 > chuu\ ;
+之 > kore\ ;
+久 > kyuu\ ;
+時 > toki\ ;
+昼 > hiru\ ;
+丸 > maru\ ;
+昭 > shou\ ;
+中 > naka\ ;
+昨 > saku\ ;
+縦 > tate\ ;
+春 > haru\ ;
+両 > ryou\ ;
+縛 > baku\ ;
+縋 > tsui\ ;
+丈 > dake\ ;
+昇 > shou\ ;
+縄 > nawa\ ;
+一 > ichi\ ;
+旨 > mune\ ;
+旗 > hata\ ;
+族 > zoku\ ;
+闇 > yami\ ;
+旅 > tabi\ ;
+綿 > wata\ ;
+閾 > yoku\ ;
+綾 > ryou\ ;
+閲 > etsu\ ;
+新 > shin\ ;
+閣 > kaku\ ;
+斥 > seki\ ;
+関 > seki\ ;
+続 > zoku\ ;
+料 > ryou\ ;
+閑 > hima\ ;
+斑 > mura\ ;
+斎 > toki\ ;
+絹 > kinu\ ;
+敵 > teki\ ;
+給 > kyuu\ ;
+絡 > raku\ ;
+教 > kyou\ ;
+救 > kyuu\ ;
+組 > kumi\ ;
+紹 > shou\ ;
+收 > shuu\ ;
+紳 > shin\ ;
+攫 > kaku\ ;
+索 > saku\ ;
+級 > kyuu\ ;
+紙 > kami\ ;
+紐 > himo\ ;
+紅 > beni\ ;
+約 > yaku\ ;
+擱 > kaku\ ;
+糧 > ryou\ ;
+撲 > boku\ ;
+粧 > shou\ ;
+粥 > kayu\ ;
+粉 > kona\ ;
+撃 > geki\ ;
+摺 > shou\ ;
+米 > kome\ ;
+籠 > kago\ ;
+籍 > seki\ ;
+鐘 > kane\ ;
+鐐 > ryou\ ;
+揺 > yuri\ ;
+篭 > kago\ ;
+篤 > toku\ ;
+描 > byou\ ;
+掴 > kaku\ ;
+箱 > hako\ ;
+管 > kuda\ ;
+鍵 > kagi\ ;
+鍮 > chuu\ ;
+策 > saku\ ;
+鍋 > nabe\ ;
+筋 > suji\ ;
+等 > nado\ ;
+筈 > hazu\ ;
+筆 > fude\ ;
+挾 > kyou\ ;
+笹 > sasa\ ;
+録 > roku\ ;
+錯 > saku\ ;
+振 > shin\ ;
+笠 > kasa\ ;
+笑 > shou\ ;
+錐 > kiri\ ;
+指 > yubi\ ;
+竹 > take\ ;
+競 > kyou\ ;
+端 > hana\ ;
+章 > shou\ ;
+招 > shou\ ;
+拍 > haku\ ;
+抽 > chuu\ ;
+窮 > kyuu\ ;
+窓 > mado\ ;
+銑 > zuku\ ;
+技 > waza\ ;
+承 > shou\ ;
+空 > sora\ ;
+究 > kyuu\ ;
+積 > seki\ ;
+扇 > ougi\ ;
+房 > fusa\ ;
+鈴 > suzu\ ;
+稱 > shou\ ;
+種 > tane\ ;
+戟 > geki\ ;
+戚 > seki\ ;
+我 > ware\ ;
+稍 > yaya\ ;
+程 > hodo\ ;
+稀 > mare\ ;
+称 > shou\ ;
+釣 > chou\ ;
+針 > hari\ ;
+釜 > kama\ ;
+釘 > kugi\ ;
+秒 > byou\ ;
+秀 > shuu\ ;
+禿 > hage\ ;
+憩 > ikoi\ ;
+醤 > shou\ ;
+醜 > shuu\ ;
+憔 > shou\ ;
+憑 > hyou\ ;
+福 > fuku\ ;
+禄 > roku\ ;
+慾 > yoku\ ;
+酷 > koku\ ;
+酬 > shuu\ ;
+神 > kami\ ;
+酒 > sake\ ;
+態 > zama\ ;
+愕 > gaku\ ;
+郷 > kyou\ ;
+郭 > kaku\ ;
+惜 > seki\ ;
+惑 > waku\ ;
+悪 > waru\ ;
+碧 > heki\ ;
+碌 > roku\ ;
+悄 > shou\ ;
+恭 > kyou\ ;
+適 > teki\ ;
+恥 > haji\ ;
+硝 > shou\ ;
+恐 > kyou\ ;
+逸 > itsu\ ;
+進 > shin\ ;
+週 > shuu\ ;
+怯 > kyou\ ;
+急 > kyuu\ ;
+速 > soku\ ;
+通 > tsuu\ ;
+怎 > shin\ ;
+砂 > suna\ ;
+追 > tsui\ ;
+龥 > yaku\ ;
+龣 > kaku\ ;
+龠 > yaku\ ;
+龝 > shuu\ ;
+龔 > kyou\ ;
+龏 > kyou\ ;
+龍 > ryuu\ ;
+齺 > shuu\ ;
+齱 > seku\ ;
+齰 > saku\ ;
+齪 > soku\ ;
+齨 > kyuu\ ;
+齣 > koma\ ;
+齠 > chou\ ;
+齚 > saku\ ;
+齔 > shin\ ;
+齓 > shin\ ;
+齅 > kyuu\ ;
+鼼 > gyou\ ;
+鼫 > seki\ ;
+鼦 > chou\ ;
+鼚 > chou\ ;
+鼏 > beki\ ;
+鼂 > chou\ ;
+黷 > toku\ ;
+黰 > shin\ ;
+黑 > koku\ ;
+麿 > maro\ ;
+麴 > kiku\ ;
+麯 > kiku\ ;
+麨 > shou\ ;
+麞 > shou\ ;
+麘 > kyou\ ;
+麎 > shin\ ;
+鹶 > kyou\ ;
+鹢 > geki\ ;
+鹡 > seki\ ;
+鸴 > kaku\ ;
+鸙 > yaku\ ;
+鸖 > kaku\ ;
+鸑 > gaku\ ;
+鸐 > teki\ ;
+鸊 > heki\ ;
+鷽 > kaku\ ;
+鷸 > itsu\ ;
+鷯 > ryou\ ;
+鷮 > kyou\ ;
+鷦 > shou\ ;
+鷟 > saku\ ;
+鷚 > ryuu\ ;
+鷊 > geki\ ;
+鷁 > geki\ ;
+鶺 > seki\ ;
+鶹 > ryuu\ ;
+鶸 > jaku\ ;
+鶮 > koku\ ;
+鶪 > keki\ ;
+鶩 > boku\ ;
+鶚 > gaku\ ;
+鶖 > shuu\ ;
+鶓 > byou\ ;
+鶒 > seki\ ;
+鶃 > geki\ ;
+鵲 > jaku\ ;
+鵰 > chou\ ;
+鵩 > fuku\ ;
+鵢 > shin\ ;
+鵠 > koku\ ;
+鵟 > kyou\ ;
+鵙 > mozu\ ;
+鵔 > shun\ ;
+鵇 > toki\ ;
+鵅 > raku\ ;
+鵃 > chuu\ ;
+鵂 > kyuu\ ;
+鴪 > itsu\ ;
+鴨 > kamo\ ;
+鴗 > ryuu\ ;
+鴇 > toki\ ;
+鴆 > chin\ ;
+鳦 > itsu\ ;
+鲌 > haku\ ;
+鱷 > gaku\ ;
+鱶 > fuka\ ;
+鱵 > shin\ ;
+鱲 > ryou\ ;
+鱨 > shou\ ;
+鱧 > hamo\ ;
+鱜 > kyou\ ;
+鱚 > kisu\ ;
+鱘 > shin\ ;
+鱒 > masu\ ;
+鱏 > shin\ ;
+鱎 > kyou\ ;
+鱊 > itsu\ ;
+鱆 > shou\ ;
+鱅 > shou\ ;
+鱃 > shuu\ ;
+鱂 > shou\ ;
+鰾 > hyou\ ;
+鰽 > shuu\ ;
+鰷 > chou\ ;
+鰭 > hire\ ;
+鰨 > chou\ ;
+鰤 > buri\ ;
+鰡 > ryuu\ ;
+鰙 > haya\ ;
+鰐 > wani\ ;
+鰂 > soku\ ;
+鯽 > seki\ ;
+鯪 > ryou\ ;
+鯧 > shou\ ;
+鯥 > riku\ ;
+鯗 > shou\ ;
+鯖 > saba\ ;
+鯔 > bora\ ;
+鯎 > ugui\ ;
+鯊 > haze\ ;
+鮿 > chou\ ;
+鮼 > shin\ ;
+鮹 > tako\ ;
+鮴 > gori\ ;
+鮲 > mate\ ;
+鮱 > bora\ ;
+鮫 > same\ ;
+鮠 > haya\ ;
+鮝 > shou\ ;
+鮒 > funa\ ;
+鮊 > haku\ ;
+鮉 > chou\ ;
+魹 > todo\ ;
+魫 > shin\ ;
+魡 > teki\ ;
+魗 > shuu\ ;
+魎 > ryou\ ;
+魈 > shou\ ;
+魄 > haku\ ;
+鬺 > shou\ ;
+鬲 > reki\ ;
+鬰 > utsu\ ;
+鬯 > chou\ ;
+鬮 > kyuu\ ;
+鬩 > geki\ ;
+鬛 > ryou\ ;
+鬒 > shin\ ;
+鬆 > shou\ ;
+髹 > kyuu\ ;
+髫 > chou\ ;
+髤 > kyuu\ ;
+髟 > hyou\ ;
+髜 > kyou\ ;
+髑 > toku\ ;
+髎 > ryou\ ;
+髆 > haku\ ;
+骼 > kaku\ ;
+骲 > haku\ ;
+骮 > yoku\ ;
+骭 > hagi\ ;
+骎 > shin\ ;
+骉 > hyuu\ ;
+驫 > hyuu\ ;
+驟 > shuu\ ;
+驝 > taku\ ;
+驕 > kyou\ ;
+驑 > ryuu\ ;
+驍 > gyou\ ;
+驃 > hyou\ ;
+驀 > baku\ ;
+騶 > shuu\ ;
+騳 > toku\ ;
+騮 > ryuu\ ;
+騞 > kaku\ ;
+駿 > shun\ ;
+駸 > shin\ ;
+駵 > ryuu\ ;
+駲 > shuu\ ;
+駱 > raku\ ;
+駮 > haku\ ;
+駪 > shin\ ;
+駁 > baku\ ;
+馽 > chuu\ ;
+馲 > taku\ ;
+馰 > teki\ ;
+馮 > hyou\ ;
+馥 > fuku\ ;
+馘 > kaku\ ;
+饟 > shou\ ;
+饗 > kyou\ ;
+饈 > shuu\ ;
+餾 > ryuu\ ;
+餺 > haku\ ;
+餦 > chou\ ;
+餗 > soku\ ;
+餕 > shun\ ;
+餉 > shou\ ;
+飥 > taku\ ;
+飈 > hyou\ ;
+飇 > hyou\ ;
+飆 > hyou\ ;
+飅 > ryuu\ ;
+飄 > hyou\ ;
+飃 > hyou\ ;
+飂 > ryuu\ ;
+颷 > hyou\ ;
+颮 > hyou\ ;
+顳 > shou\ ;
+顦 > shou\ ;
+顖 > shin\ ;
+顒 > gyou\ ;
+頰 > kyou\ ;
+頣 > shin\ ;
+頞 > atsu\ ;
+頙 > saku\ ;
+頔 > teki\ ;
+頌 > shou\ ;
+韷 > raku\ ;
+韶 > shou\ ;
+韮 > nira\ ;
+韭 > kyuu\ ;
+韘 > shou\ ;
+韔 > chou\ ;
+韇 > toku\ ;
+韁 > kyou\ ;
+鞹 > kaku\ ;
+鞴 > fuku\ ;
+鞫 > kiku\ ;
+鞦 > shuu\ ;
+鞢 > shou\ ;
+鞠 > mari\ ;
+鞟 > kaku\ ;
+鞏 > kyou\ ;
+鞆 > tomo\ ;
+靮 > teki\ ;
+靕 > shin\ ;
+靏 > kaku\ ;
+靎 > kaku\ ;
+靄 > moya\ ;
+靃 > kaku\ ;
+靂 > reki\ ;
+霹 > heki\ ;
+霸 > haku\ ;
+霳 > ryuu\ ;
+霱 > itsu\ ;
+霤 > ryuu\ ;
+霢 > baku\ ;
+霡 > baku\ ;
+霍 > kaku\ ;
+霅 > shou\ ;
+霄 > shou\ ;
+霃 > chin\ ;
+霂 > boku\ ;
+雹 > hyou\ ;
+雘 > waku\ ;
+雕 > chou\ ;
+雒 > raku\ ;
+雉 > kiji\ ;
+隻 > seki\ ;
+隺 > koku\ ;
+隟 > geki\ ;
+陿 > kyou\ ;
+陳 > chin\ ;
+陞 > shou\ ;
+陗 > shou\ ;
+陌 > haku\ ;
+阞 > roku\ ;
+闢 > heki\ ;
+闟 > kyuu\ ;
+闝 > hyou\ ;
+闖 > chin\ ;
+闃 > geki\ ;
+閶 > shou\ ;
+閴 > keki\ ;
+閱 > etsu\ ;
+閠 > tama\ ;
+閖 > yuru\ ;
+閄 > koku\ ;
+镹 > kyuu\ ;
+镸 > chou\ ;
+镠 > ryuu\ ;
+锺 > shou\ ;
+钁 > kaku\ ;
+鑿 > nomi\ ;
+鑰 > yaku\ ;
+鑮 > haku\ ;
+鑣 > hyou\ ;
+鑡 > saku\ ;
+鑟 > toku\ ;
+鑜 > shou\ ;
+鑓 > yari\ ;
+鑊 > kaku\ ;
+鑄 > chuu\ ;
+鑃 > tyou\ ;
+鐸 > taku\ ;
+鐴 > heki\ ;
+鐲 > taku\ ;
+鐔 > shin\ ;
+鐎 > shou\ ;
+鐈 > kyou\ ;
+鐂 > ryuu\ ;
+鏽 > shuu\ ;
+鏹 > kyou\ ;
+鏷 > hoku\ ;
+鏦 > shou\ ;
+鏥 > shuu\ ;
+鏢 > hyou\ ;
+鏛 > shou\ ;
+鏘 > shou\ ;
+鏑 > teki\ ;
+鏐 > ryuu\ ;
+鏌 > baku\ ;
+鏊 > gyou\ ;
+鏃 > zoku\ ;
+鎴 > soku\ ;
+鎰 > itsu\ ;
+鎮 > chin\ ;
+鎭 > chin\ ;
+鎨 > shun\ ;
+鎦 > ryuu\ ;
+鎛 > haku\ ;
+鎚 > tsui\ ;
+鎘 > reki\ ;
+鎐 > soku\ ;
+鎏 > ryuu\ ;
+鎍 > saku\ ;
+鎌 > kama\ ;
+鎀 > shuu\ ;
+鍾 > shou\ ;
+鍼 > hari\ ;
+鍶 > shou\ ;
+鍬 > kuwa\ ;
+鍖 > chin\ ;
+錷 > atsu\ ;
+錶 > hyou\ ;
+錴 > roku\ ;
+錫 > suzu\ ;
+錩 > shou\ ;
+錞 > shun\ ;
+錆 > sabi\ ;
+錄 > roku\ ;
+錂 > ryou\ ;
+鋿 > shou\ ;
+鋹 > chou\ ;
+鋳 > chuu\ ;
+鋲 > byou\ ;
+鋤 > suki\ ;
+鋠 > shin\ ;
+鋜 > saku\ ;
+鋈 > yoku\ ;
+銿 > shou\ ;
+銹 > shuu\ ;
+銸 > shou\ ;
+銷 > shou\ ;
+銶 > kyuu\ ;
+銛 > mori\ ;
+銎 > kyou\ ;
+銉 > itsu\ ;
+鉾 > hoko\ ;
+鉻 > raku\ ;
+鉮 > shin\ ;
+鉦 > kane\ ;
+鉞 > etsu\ ;
+鉝 > ryuu\ ;
+鉚 > ryuu\ ;
+鉑 > haku\ ;
+鉐 > seki\ ;
+鉊 > shou\ ;
+鈾 > chuu\ ;
+鈼 > saku\ ;
+鈬 > taku\ ;
+鈕 > chuu\ ;
+鈔 > shou\ ;
+鈎 > kagi\ ;
+鈌 > etsu\ ;
+鈊 > shin\ ;
+釽 > heki\ ;
+釻 > kyuu\ ;
+釥 > shou\ ;
+釞 > shuu\ ;
+釛 > koku\ ;
+釚 > kyuu\ ;
+釙 > haku\ ;
+釗 > shou\ ;
+釔 > itsu\ ;
+釓 > hyuu\ ;
+量 > ryou\ ;
+釂 > shou\ ;
+醻 > shuu\ ;
+醮 > shou\ ;
+醭 > hoku\ ;
+醬 > shou\ ;
+醕 > shun\ ;
+醋 > saku\ ;
+醇 > shun\ ;
+酱 > shou\ ;
+酪 > raku\ ;
+酧 > shuu\ ;
+酙 > shin\ ;
+酎 > chuu\ ;
+酋 > shuu\ ;
+酉 > tori\ ;
+鄹 > shuu\ ;
+鄴 > gyou\ ;
+鄩 > shin\ ;
+鄥 > kyou\ ;
+鄣 > shou\ ;
+鄚 > baku\ ;
+鄙 > hina\ ;
+鄕 > kyou\ ;
+鄉 > kyou\ ;
+鄂 > gaku\ ;
+鄀 > jaku\ ;
+郴 > chin\ ;
+郰 > shuu\ ;
+郤 > geki\ ;
+郝 > kaku\ ;
+郇 > shun\ ;
+郄 > keki\ ;
+邵 > shou\ ;
+邱 > kyuu\ ;
+邦 > kuni\ ;
+邥 > shin\ ;
+邛 > kyou\ ;
+邋 > ryou\ ;
+邈 > baku\ ;
+遼 > ryou\ ;
+遹 > itsu\ ;
+遬 > soku\ ;
+遧 > shou\ ;
+遛 > ryuu\ ;
+遒 > shuu\ ;
+遏 > atsu\ ;
+遌 > gaku\ ;
+逷 > keki\ ;
+逴 > taku\ ;
+逪 > saku\ ;
+逩 > kamu\ ;
+逧 > sako\ ;
+逡 > shun\ ;
+逛 > kyou\ ;
+逖 > teki\ ;
+逑 > kyuu\ ;
+逎 > shuu\ ;
+逍 > shou\ ;
+迹 > seki\ ;
+迮 > saku\ ;
+迪 > teki\ ;
+迢 > chou\ ;
+迠 > shou\ ;
+迍 > chun\ ;
+辸 > shou\ ;
+辟 > heki\ ;
+轣 > reki\ ;
+轢 > reki\ ;
+轎 > kyou\ ;
+轌 > sori\ ;
+轆 > roku\ ;
+轃 > shin\ ;
+轂 > koku\ ;
+輻 > fuku\ ;
+輹 > fuku\ ;
+輴 > chun\ ;
+輬 > ryou\ ;
+輧 > byou\ ;
+輛 > ryou\ ;
+輙 > chou\ ;
+輘 > ryou\ ;
+輖 > shuu\ ;
+輒 > chou\ ;
+輌 > ryou\ ;
+輈 > chuu\ ;
+軿 > byou\ ;
+軼 > itsu\ ;
+軸 > jiku\ ;
+軭 > kyou\ ;
+軫 > shin\ ;
+軋 > atsu\ ;
+躳 > kyuu\ ;
+躬 > kyuu\ ;
+躞 > shou\ ;
+躒 > reki\ ;
+躐 > ryou\ ;
+躄 > heki\ ;
+躃 > heki\ ;
+蹼 > boku\ ;
+蹻 > kyou\ ;
+蹺 > kyou\ ;
+蹱 > shou\ ;
+蹰 > shuu\ ;
+蹤 > shou\ ;
+蹢 > teki\ ;
+蹐 > seki\ ;
+蹌 > shou\ ;
+蹀 > chou\ ;
+踸 > chin\ ;
+踳 > shun\ ;
+踱 > taku\ ;
+踪 > shou\ ;
+踢 > teki\ ;
+踖 > seki\ ;
+踉 > ryou\ ;
+踆 > shun\ ;
+踄 > haku\ ;
+跫 > kyou\ ;
+跖 > seki\ ;
+跕 > chou\ ;
+跅 > taku\ ;
+趻 > chin\ ;
+趵 > haku\ ;
+趬 > kyou\ ;
+趫 > kyou\ ;
+趠 > taku\ ;
+趙 > chou\ ;
+趂 > chin\ ;
+趁 > chin\ ;
+赳 > kyuu\ ;
+赥 > keki\ ;
+贐 > shin\ ;
+贋 > nise\ ;
+賾 > saku\ ;
+賰 > shun\ ;
+賭 > kake\ ;
+賬 > chou\ ;
+賞 > shou\ ;
+賝 > chin\ ;
+賙 > shuu\ ;
+賕 > kyuu\ ;
+貺 > kyou\ ;
+貘 > baku\ ;
+貓 > byou\ ;
+貊 > haku\ ;
+貉 > kaku\ ;
+貅 > kyuu\ ;
+貂 > chou\ ;
+豹 > hyou\ ;
+豚 > buta\ ;
+讬 > taku\ ;
+讟 > toku\ ;
+讖 > shin\ ;
+讐 > shuu\ ;
+讎 > shuu\ ;
+讍 > gaku\ ;
+讋 > shou\ ;
+讅 > shin\ ;
+讁 > taku\ ;
+譸 > chuu\ ;
+譛 > shin\ ;
+譙 > shou\ ;
+譖 > shin\ ;
+譅 > shuu\ ;
+謷 > gyou\ ;
+謫 > taku\ ;
+謞 > kaku\ ;
+謋 > kaku\ ;
+諿 > shuu\ ;
+諾 > daku\ ;
+諶 > shin\ ;
+諤 > gaku\ ;
+諜 > chou\ ;
+諗 > shin\ ;
+諒 > ryou\ ;
+諑 > taku\ ;
+諊 > kiku\ ;
+諃 > chin\ ;
+誯 > shou\ ;
+誦 > shou\ ;
+誚 > shou\ ;
+誑 > kyou\ ;
+誆 > kyou\ ;
+誅 > chuu\ ;
+詾 > kyou\ ;
+詻 > gaku\ ;
+詶 > shuu\ ;
+詵 > shin\ ;
+詗 > kyou\ ;
+註 > chuu\ ;
+訷 > shin\ ;
+訫 > shin\ ;
+訦 > shin\ ;
+訠 > shin\ ;
+訅 > kyuu\ ;
+訄 > kyuu\ ;
+觴 > shou\ ;
+觳 > koku\ ;
+觫 > soku\ ;
+觩 > kyuu\ ;
+覿 > teki\ ;
+覡 > geki\ ;
+覜 > chou\ ;
+覛 > biki\ ;
+覓 > beki\ ;
+覐 > kaku\ ;
+覈 > kaku\ ;
+襵 > shou\ ;
+襯 > shin\ ;
+襮 > haku\ ;
+襫 > seki\ ;
+襞 > hida\ ;
+襗 > taku\ ;
+襆 > hoku\ ;
+襂 > shin\ ;
+襀 > seki\ ;
+褾 > hyou\ ;
+褺 > chou\ ;
+褶 > chou\ ;
+褱 > kaie\ ;
+褥 > joku\ ;
+褎 > shuu\ ;
+褁 > seki\ ;
+裼 > seki\ ;
+裲 > ryou\ ;
+裱 > hyou\ ;
+裯 > chuu\ ;
+裛 > youu\ ;
+裘 > kyuu\ ;
+裓 > koku\ ;
+裑 > shin\ ;
+裄 > yuki\ ;
+袱 > fuku\ ;
+袰 > horo\ ;
+袗 > shin\ ;
+衱 > kyou\ ;
+衠 > shun\ ;
+衉 > kaku\ ;
+衄 > jiku\ ;
+衂 > jiku\ ;
+蠰 > shou\ ;
+蠮 > etsu\ ;
+蠨 > shou\ ;
+蠚 > kaku\ ;
+蠖 > kaku\ ;
+蠁 > kyou\ ;
+蟹 > kani\ ;
+蟯 > gyou\ ;
+蟭 > shou\ ;
+蟟 > ryou\ ;
+蟜 > kyou\ ;
+蟎 > dani\ ;
+蟉 > ryuu\ ;
+蟈 > kaku\ ;
+蟇 > hiki\ ;
+蟆 > hiki\ ;
+螿 > shou\ ;
+螽 > shuu\ ;
+螵 > hyou\ ;
+螫 > seki\ ;
+螓 > shin\ ;
+螋 > shuu\ ;
+蝶 > chou\ ;
+蝤 > shuu\ ;
+蝍 > soku\ ;
+蜽 > ryou\ ;
+蜮 > yoku\ ;
+蜩 > chou\ ;
+蜨 > shou\ ;
+蜥 > seki\ ;
+蜣 > kyou\ ;
+蜙 > shou\ ;
+蜐 > kyou\ ;
+蜄 > shin\ ;
+蛺 > kyou\ ;
+蛸 > tako\ ;
+蛭 > hiru\ ;
+蛬 > kyou\ ;
+蛩 > kyou\ ;
+蛒 > kaku\ ;
+蛁 > chou\ ;
+蚸 > reki\ ;
+蚱 > saku\ ;
+蚯 > kyuu\ ;
+蚋 > buyo\ ;
+虹 > niji\ ;
+虯 > kyuu\ ;
+虬 > kyuu\ ;
+虩 > keki\ ;
+虙 > huku\ ;
+虈 > kyou\ ;
+蘽 > ryuu\ ;
+蘗 > haku\ ;
+蘒 > hagi\ ;
+蘆 > ashi\ ;
+蘀 > taku\ ;
+藿 > kaku\ ;
+藶 > reki\ ;
+藭 > kyuu\ ;
+藪 > yabu\ ;
+藨 > hyou\ ;
+藠 > kyou\ ;
+藐 > baku\ ;
+藎 > shin\ ;
+藋 > chou\ ;
+薽 > shin\ ;
+薼 > chin\ ;
+薸 > hyou\ ;
+薜 > heki\ ;
+薓 > shin\ ;
+薑 > kyou\ ;
+薏 > yoku\ ;
+薌 > kyou\ ;
+蕺 > shuu\ ;
+蕭 > shou\ ;
+蕪 > kabu\ ;
+蕣 > shun\ ;
+蕚 > gaku\ ;
+蕗 > fuki\ ;
+蕐 > kuwa\ ;
+蕉 > shou\ ;
+蕈 > shin\ ;
+蔯 > chin\ ;
+蔣 > shou\ ;
+蔟 > zoku\ ;
+蔚 > utsu\ ;
+蔘 > shin\ ;
+蔕 > heta\ ;
+蔔 > fuku\ ;
+蔐 > teki\ ;
+蔏 > shou\ ;
+蔌 > soku\ ;
+蔇 > kike\ ;
+蔆 > ryou\ ;
+蔃 > kyou\ ;
+蓼 > tade\ ;
+蓻 > shuu\ ;
+蓴 > shun\ ;
+蓲 > kyuu\ ;
+蓧 > shou\ ;
+蓚 > chou\ ;
+蓑 > mino\ ;
+蓐 > joku\ ;
+蓁 > shin\ ;
+蒴 > saku\ ;
+蒪 > haku\ ;
+蒦 > waku\ ;
+蒖 > shin\ ;
+蒐 > shuu\ ;
+蒋 > shou\ ;
+葺 > shuu\ ;
+葴 > shin\ ;
+葱 > negi\ ;
+葯 > yaku\ ;
+葤 > chuu\ ;
+葠 > shin\ ;
+葛 > kuzu\ ;
+葚 > chin\ ;
+葙 > shou\ ;
+葍 > huku\ ;
+萼 > gaku\ ;
+萪 > kuwa\ ;
+萩 > hagi\ ;
+萢 > yaji\ ;
+萛 > kyuu\ ;
+萇 > chou\ ;
+萅 > shun\ ;
+菱 > ryou\ ;
+菨 > shou\ ;
+菖 > shou\ ;
+菔 > hoku\ ;
+菐 > hoku\ ;
+莜 > teki\ ;
+莘 > shin\ ;
+莍 > kyuu\ ;
+莀 > shin\ ;
+荍 > kyou\ ;
+茽 > chuu\ ;
+茺 > shuu\ ;
+茯 > fuku\ ;
+茮 > shou\ ;
+茭 > keki\ ;
+茟 > itsu\ ;
+茞 > shin\ ;
+茖 > kaku\ ;
+苜 > boku\ ;
+苙 > ryuu\ ;
+苕 > chou\ ;
+苆 > susa\ ;
+芹 > seri\ ;
+芲 > kuwa\ ;
+芯 > shin\ ;
+芨 > kyuu\ ;
+芒 > nogi\ ;
+芎 > kyuu\ ;
+芀 > shou\ ;
+艽 > kyuu\ ;
+艻 > roku\ ;
+艫 > tomo\ ;
+艧 > waku\ ;
+艢 > shou\ ;
+艝 > sori\ ;
+艏 > shuu\ ;
+舵 > kaji\ ;
+舴 > taku\ ;
+舜 > shun\ ;
+舏 > kyuu\ ;
+舂 > shou\ ;
+臻 > shin\ ;
+臹 > shuu\ ;
+臵 > kaku\ ;
+臰 > shuu\ ;
+臫 > kyou\ ;
+臛 > koku\ ;
+臕 > hyou\ ;
+膲 > shou\ ;
+膮 > kyou\ ;
+膤 > tara\ ;
+膘 > hyou\ ;
+膕 > kaku\ ;
+膓 > chou\ ;
+膋 > ryou\ ;
+膊 > haku\ ;
+膈 > kaku\ ;
+膄 > shuu\ ;
+膃 > otsu\ ;
+腿 > momo\ ;
+腽 > otsu\ ;
+腭 > gaku\ ;
+腘 > kaku\ ;
+腊 > seki\ ;
+脼 > ryou\ ;
+脹 > chou\ ;
+脩 > shuu\ ;
+脤 > shin\ ;
+脛 > sune\ ;
+脋 > kyou\ ;
+胺 > atsu\ ;
+胳 > kaku\ ;
+胤 > tane\ ;
+胗 > shin\ ;
+胄 > chuu\ ;
+肱 > hiji\ ;
+肫 > shun\ ;
+股 > momo\ ;
+肈 > chou\ ;
+肇 > chou\ ;
+肁 > chou\ ;
+聿 > itsu\ ;
+聼 > chou\ ;
+聄 > shin\ ;
+耴 > chou\ ;
+耤 > seki\ ;
+翹 > gyou\ ;
+翲 > hyou\ ;
+翯 > koku\ ;
+翮 > kaku\ ;
+翟 > keki\ ;
+翕 > kyuu\ ;
+翔 > shou\ ;
+翏 > ryuu\ ;
+翊 > yoku\ ;
+翀 > chuu\ ;
+羗 > kyou\ ;
+羌 > kyou\ ;
+羃 > beki\ ;
+羀 > ryuu\ ;
+罿 > shou\ ;
+罶 > ryuu\ ;
+罭 > yoku\ ;
+罧 > shin\ ;
+罠 > wana\ ;
+罅 > hibi\ ;
+纕 > shou\ ;
+纆 > boku\ ;
+繮 > kyou\ ;
+繭 > mayu\ ;
+繦 > kyou\ ;
+繡 > shuu\ ;
+繚 > ryou\ ;
+繒 > shou\ ;
+繍 > shuu\ ;
+繈 > kyou\ ;
+繆 > kyuu\ ;
+績 > seki\ ;
+縹 > hyou\ ;
+縶 > chuu\ ;
+縠 > koku\ ;
+縟 > joku\ ;
+縝 > shin\ ;
+縐 > shuu\ ;
+縉 > shin\ ;
+緲 > byou\ ;
+緝 > shuu\ ;
+緙 > kaku\ ;
+緗 > shou\ ;
+緎 > yoku\ ;
+緆 > seki\ ;
+緅 > shuu\ ;
+緃 > shou\ ;
+綹 > ryuu\ ;
+綶 > kuwa\ ;
+綧 > shun\ ;
+綢 > chuu\ ;
+綝 > chin\ ;
+綛 > kase\ ;
+綌 > keki\ ;
+綅 > shin\ ;
+綃 > shou\ ;
+絿 > kyuu\ ;
+絈 > baku\ ;
+紾 > shin\ ;
+紬 > chuu\ ;
+紖 > chin\ ;
+紃 > shun\ ;
+紂 > chuu\ ;
+糾 > kyuu\ ;
+糺 > kyuu\ ;
+糶 > chou\ ;
+糴 > teki\ ;
+糠 > nuka\ ;
+糗 > kyuu\ ;
+糔 > shuu\ ;
+糓 > koku\ ;
+糊 > nori\ ;
+粻 > chou\ ;
+粷 > kiku\ ;
+粶 > roku\ ;
+粵 > etsu\ ;
+粱 > ryou\ ;
+粮 > ryou\ ;
+粤 > etsu\ ;
+粕 > haku\ ;
+粂 > kume\ ;
+籾 > momi\ ;
+籰 > waku\ ;
+籥 > yaku\ ;
+籤 > kuji\ ;
+籜 > taku\ ;
+籕 > ryuu\ ;
+籒 > shuu\ ;
+籏 > hata\ ;
+籌 > chuu\ ;
+籊 > teki\ ;
+籆 > waku\ ;
+籀 > chuu\ ;
+簶 > roku\ ;
+簱 > hata\ ;
+簫 > shou\ ;
+簪 > shin\ ;
+簨 > shun\ ;
+簥 > kyou\ ;
+簙 > haku\ ;
+簘 > shou\ ;
+簗 > yana\ ;
+簏 > roku\ ;
+簎 > saku\ ;
+簌 > soku\ ;
+簉 > shuu\ ;
+簀 > saku\ ;
+篸 > shin\ ;
+篴 > teki\ ;
+篠 > shou\ ;
+篛 > jaku\ ;
+篗 > waku\ ;
+篋 > kyou\ ;
+箺 > shun\ ;
+箴 > shin\ ;
+箰 > shun\ ;
+箬 > joku\ ;
+箙 > fuku\ ;
+箔 > haku\ ;
+箍 > taga\ ;
+箆 > hera\ ;
+筿 > shou\ ;
+筺 > kyou\ ;
+筴 > kyou\ ;
+筱 > shou\ ;
+筰 > saku\ ;
+筐 > kyou\ ;
+筇 > kyou\ ;
+笿 > raku\ ;
+笮 > saku\ ;
+笧 > saku\ ;
+笊 > zaru\ ;
+笈 > kyuu\ ;
+竻 > roku\ ;
+竺 > toku\ ;
+竴 > shun\ ;
+竨 > chou\ ;
+竦 > shou\ ;
+竣 > shun\ ;
+竜 > ryuu\ ;
+竆 > kyuu\ ;
+竅 > kyou\ ;
+窿 > ryuu\ ;
+窵 > chou\ ;
+窯 > kama\ ;
+窕 > chou\ ;
+窄 > saku\ ;
+窀 > chun\ ;
+穹 > kyuu\ ;
+穸 > seki\ ;
+穵 > atsu\ ;
+穫 > kaku\ ;
+穪 > shou\ ;
+穙 > hoku\ ;
+穕 > shou\ ;
+穐 > shuu\ ;
+穆 > boku\ ;
+穀 > koku\ ;
+稹 > shin\ ;
+稸 > kiku\ ;
+稠 > chuu\ ;
+稜 > ryou\ ;
+稕 > shun\ ;
+稑 > riku\ ;
+秦 > shin\ ;
+秝 > reki\ ;
+种 > chuu\ ;
+秃 > toku\ ;
+禴 > yaku\ ;
+禛 > shin\ ;
+祿 > roku\ ;
+祾 > ryou\ ;
+祲 > shin\ ;
+票 > hyou\ ;
+祧 > chou\ ;
+祥 > shou\ ;
+祏 > seki\ ;
+礿 > yaku\ ;
+礴 > haku\ ;
+礭 > kaku\ ;
+礐 > kaku\ ;
+礁 > shou\ ;
+磿 > reki\ ;
+磶 > seki\ ;
+磧 > seki\ ;
+磦 > hyou\ ;
+磟 > riku\ ;
+磔 > taku\ ;
+碻 > kaku\ ;
+碵 > seki\ ;
+碪 > chin\ ;
+碩 > seki\ ;
+碡 > toku\ ;
+硾 > tsui\ ;
+硺 > taku\ ;
+硴 > kaki\ ;
+确 > kaku\ ;
+硫 > ryuu\ ;
+硞 > kaku\ ;
+硌 > raku\ ;
+砷 > shin\ ;
+砧 > chin\ ;
+砡 > giku\ ;
+砝 > kyou\ ;
+砉 > keki\ ;
+矱 > waku\ ;
+矯 > kyou\ ;
+矪 > chuu\ ;
+矧 > shin\ ;
+矤 > shin\ ;
+矠 > saku\ ;
+矟 > saku\ ;
+矞 > itsu\ ;
+矛 > hoko\ ;
+矍 > kaku\ ;
+瞾 > shou\ ;
+瞧 > shou\ ;
+瞟 > hyou\ ;
+瞚 > shun\ ;
+瞕 > shou\ ;
+瞔 > saku\ ;
+瞋 > shin\ ;
+瞄 > byou\ ;
+睗 > seki\ ;
+睖 > chou\ ;
+眾 > shuu\ ;
+眽 > baku\ ;
+眹 > chin\ ;
+眶 > kyou\ ;
+眕 > shin\ ;
+眒 > shin\ ;
+眇 > byou\ ;
+盾 > tate\ ;
+盹 > shun\ ;
+盅 > chuu\ ;
+皹 > hibi\ ;
+皸 > hibi\ ;
+皴 > shun\ ;
+皪 > reki\ ;
+皦 > kyou\ ;
+皢 > kyou\ ;
+皟 > saku\ ;
+皛 > kyou\ ;
+皙 > seki\ ;
+皍 > soku\ ;
+皀 > hyuu\ ;
+癨 > kaku\ ;
+癧 > reki\ ;
+癥 > chou\ ;
+癋 > kaku\ ;
+癅 > ryuu\ ;
+癄 > shou\ ;
+癃 > ryuu\ ;
+癁 > fuku\ ;
+瘼 > baku\ ;
+瘹 > chou\ ;
+瘴 > shou\ ;
+瘳 > chuu\ ;
+瘲 > shou\ ;
+瘮 > shin\ ;
+瘭 > hyou\ ;
+瘤 > kobu\ ;
+瘠 > seki\ ;
+瘇 > shou\ ;
+痮 > chou\ ;
+痟 > shou\ ;
+痜 > toku\ ;
+疹 > shin\ ;
+疢 > chin\ ;
+疚 > kyuu\ ;
+疔 > chou\ ;
+疒 > daku\ ;
+疇 > chuu\ ;
+疆 > kyou\ ;
+疅 > kyou\ ;
+畼 > chou\ ;
+畻 > shou\ ;
+畺 > kyou\ ;
+畵 > kaku\ ;
+畴 > chuu\ ;
+畱 > ryuu\ ;
+畯 > shun\ ;
+畩 > kesa\ ;
+畛 > shin\ ;
+畐 > fuku\ ;
+畄 > ryuu\ ;
+畃 > shun\ ;
+甼 > chou\ ;
+甪 > roku\ ;
+甧 > shin\ ;
+甡 > shin\ ;
+甞 > shou\ ;
+甕 > mika\ ;
+甓 > heki\ ;
+甃 > shuu\ ;
+瓺 > chou\ ;
+瓤 > shou\ ;
+瓢 > hyou\ ;
+瓟 > haku\ ;
+璹 > shuu\ ;
+璧 > heki\ ;
+璢 > ryuu\ ;
+璡 > shin\ ;
+璞 > haku\ ;
+璙 > ryou\ ;
+璋 > shou\ ;
+璆 > kyuu\ ;
+瑲 > shou\ ;
+瑨 > shin\ ;
+瑧 > shin\ ;
+瑠 > ryuu\ ;
+瑕 > kizu\ ;
+瑒 > chou\ ;
+瑃 > chun\ ;
+琱 > chou\ ;
+琭 > koku\ ;
+琩 > shou\ ;
+琢 > taku\ ;
+琛 > chin\ ;
+琉 > ryuu\ ;
+琇 > shuu\ ;
+珦 > kyou\ ;
+珣 > shun\ ;
+珞 > raku\ ;
+珙 > kyou\ ;
+珒 > shin\ ;
+珏 > kaku\ ;
+珎 > chin\ ;
+珋 > ryuu\ ;
+珅 > shin\ ;
+珀 > haku\ ;
+玿 > shou\ ;
+玓 > teki\ ;
+玅 > myou\ ;
+獶 > nyou\ ;
+獵 > ryou\ ;
+獠 > ryou\ ;
+獟 > gyou\ ;
+獐 > shou\ ;
+獏 > baku\ ;
+獎 > shou\ ;
+獍 > kyou\ ;
+猟 > ryou\ ;
+猖 > shou\ ;
+猋 > hyou\ ;
+狥 > shun\ ;
+狢 > kaku\ ;
+狛 > haku\ ;
+狇 > boku\ ;
+狆 > chin\ ;
+狄 > teki\ ;
+犱 > keki\ ;
+犨 > shuu\ ;
+犢 > toku\ ;
+犖 > raku\ ;
+牿 > koku\ ;
+牞 > kyuu\ ;
+牙 > kiba\ ;
+牘 > toku\ ;
+牔 > haku\ ;
+牆 > shou\ ;
+爿 > shou\ ;
+爴 > kaku\ ;
+爯 > shou\ ;
+爚 > yaku\ ;
+爀 > kaku\ ;
+燸 > jiyu\ ;
+燮 > shou\ ;
+燚 > itsu\ ;
+燖 > shin\ ;
+燎 > ryou\ ;
+燋 > shou\ ;
+熛 > hyou\ ;
+熇 > koku\ ;
+熄 > soku\ ;
+煁 > shin\ ;
+焻 > shou\ ;
+焌 > shun\ ;
+焇 > shou\ ;
+焆 > etsu\ ;
+焅 > koku\ ;
+焃 > kaku\ ;
+烙 > raku\ ;
+炸 > saku\ ;
+炤 > shou\ ;
+灸 > kyuu\ ;
+灬 > hyou\ ;
+灥 > shun\ ;
+灄 > shou\ ;
+瀹 > seku\ ;
+瀷 > yoku\ ;
+瀧 > taki\ ;
+瀟 > shou\ ;
+瀓 > chou\ ;
+瀑 > baku\ ;
+瀏 > ryuu\ ;
+瀋 > shin\ ;
+瀆 > toku\ ;
+濼 > roku\ ;
+濹 > boku\ ;
+濮 > hoku\ ;
+濬 > shun\ ;
+濩 > kaku\ ;
+濈 > shuu\ ;
+濅 > shin\ ;
+澼 > heki\ ;
+澵 > shin\ ;
+澠 > shou\ ;
+澙 > seki\ ;
+澓 > huku\ ;
+澑 > ryuu\ ;
+澆 > gyou\ ;
+澂 > chou\ ;
+潟 > kata\ ;
+潝 > kyuu\ ;
+潗 > shuu\ ;
+漻 > ryou\ ;
+漳 > shou\ ;
+漘 > shin\ ;
+漍 > kaku\ ;
+漉 > roku\ ;
+滲 > shin\ ;
+滮 > hyuu\ ;
+滫 > shuu\ ;
+滝 > taki\ ;
+滓 > kasu\ ;
+滌 > deki\ ;
+溽 > joku\ ;
+溱 > shin\ ;
+溍 > shin\ ;
+湫 > shou\ ;
+湨 > keki\ ;
+湘 > shou\ ;
+湒 > shuu\ ;
+渺 > byou\ ;
+渞 > shuu\ ;
+渗 > shin\ ;
+渌 > roku\ ;
+淼 > byou\ ;
+淴 > otsu\ ;
+淳 > shun\ ;
+淩 > ryou\ ;
+淥 > roku\ ;
+淢 > yoku\ ;
+淞 > shou\ ;
+淕 > riku\ ;
+淌 > shou\ ;
+淅 > seki\ ;
+涿 > toku\ ;
+涉 > shou\ ;
+浹 > shou\ ;
+浞 > saku\ ;
+浗 > kyuu\ ;
+洶 > kyou\ ;
+洵 > shun\ ;
+洦 > baku\ ;
+洟 > hana\ ;
+洓 > saku\ ;
+洑 > huku\ ;
+泵 > ryuu\ ;
+泧 > etsu\ ;
+泆 > itsu\ ;
+泅 > shuu\ ;
+沰 > taku\ ;
+沐 > boku\ ;
+沉 > chin\ ;
+沃 > yoku\ ;
+沁 > shin\ ;
+汹 > kyou\ ;
+汩 > itsu\ ;
+汨 > beki\ ;
+汛 > shin\ ;
+汐 > seki\ ;
+汋 > saku\ ;
+氻 > roku\ ;
+氶 > shou\ ;
+氎 > chou\ ;
+氅 > shou\ ;
+毱 > kiku\ ;
+毣 > boku\ ;
+毄 > keki\ ;
+毃 > kaku\ ;
+殾 > shun\ ;
+殼 > kaku\ ;
+殰 > toku\ ;
+殭 > kyou\ ;
+殤 > shou\ ;
+殠 > shuu\ ;
+殟 > otsu\ ;
+殑 > kyou\ ;
+殍 > hyou\ ;
+歵 > saku\ ;
+歰 > shuu\ ;
+歙 > kyuu\ ;
+歒 > teki\ ;
+歊 > kyou\ ;
+欶 > saku\ ;
+欫 > keki\ ;
+欇 > shou\ ;
+欂 > haku\ ;
+櫬 > shin\ ;
+櫪 > reki\ ;
+櫟 > reki\ ;
+櫝 > toku\ ;
+檴 > kaku\ ;
+檪 > reki\ ;
+檝 > shuu\ ;
+檗 > haku\ ;
+檍 > yoku\ ;
+檄 > geki\ ;
+橿 > kyou\ ;
+橸 > shou\ ;
+橳 > nude\ ;
+橲 > zusa\ ;
+橡 > shou\ ;
+橐 > taku\ ;
+橊 > ryou\ ;
+樾 > etsu\ ;
+樽 > taru\ ;
+樺 > kaba\ ;
+樸 > boku\ ;
+樰 > tara\ ;
+樢 > boku\ ;
+樟 > shou\ ;
+樛 > kyuu\ ;
+樚 > roku\ ;
+樕 > soku\ ;
+樑 > ryou\ ;
+樀 > teki\ ;
+槳 > shou\ ;
+槲 > koku\ ;
+槮 > shin\ ;
+槨 > kaku\ ;
+槢 > shuu\ ;
+槗 > kyou\ ;
+槖 > taku\ ;
+槍 > yari\ ;
+槊 > saku\ ;
+槅 > kaku\ ;
+榺 > shou\ ;
+榷 > kaku\ ;
+榴 > ryuu\ ;
+榲 > otsu\ ;
+榫 > shun\ ;
+榧 > kaya\ ;
+榖 > koku\ ;
+榒 > doku\ ;
+榅 > otsu\ ;
+榁 > muro\ ;
+楸 > shuu\ ;
+楫 > shuu\ ;
+楢 > shuu\ ;
+楉 > jaku\ ;
+楅 > hyku\ ;
+椨 > tafu\ ;
+椥 > nagi\ ;
+椙 > sugi\ ;
+椓 > taku\ ;
+椒 > shou\ ;
+椋 > ryou\ ;
+椈 > kiku\ ;
+椆 > chuu\ ;
+椁 > kaku\ ;
+棽 > chin\ ;
+棫 > yoku\ ;
+棟 > mune\ ;
+棘 > toge\ ;
+棏 > toku\ ;
+梮 > kiku\ ;
+梥 > shou\ ;
+梣 > shin\ ;
+梜 > kyou\ ;
+梏 > koku\ ;
+梂 > kyuu\ ;
+梁 > hari\ ;
+桺 > ryuu\ ;
+桷 > kaku\ ;
+桝 > masu\ ;
+桘 > tsui\ ;
+桕 > kyuu\ ;
+桑 > kuwa\ ;
+桌 > taku\ ;
+框 > kyou\ ;
+栿 > fuku\ ;
+核 > kaku\ ;
+栱 > kyou\ ;
+株 > kabu\ ;
+栢 > haku\ ;
+栅 > saku\ ;
+栂 > toga\ ;
+柾 > kyuu\ ;
+柩 > kyuu\ ;
+柞 > saku\ ;
+柝 > taku\ ;
+柗 > shou\ ;
+柏 > haku\ ;
+枷 > kase\ ;
+枵 > kyou\ ;
+枩 > shou\ ;
+枡 > masu\ ;
+枠 > waku\ ;
+析 > seki\ ;
+极 > kyou\ ;
+杻 > chuu\ ;
+杶 > chun\ ;
+杪 > byou\ ;
+杦 > sugi\ ;
+杣 > soma\ ;
+杢 > moku\ ;
+杙 > yoku\ ;
+杔 > taku\ ;
+朽 > kyuu\ ;
+朕 > chin\ ;
+朔 > saku\ ;
+朓 > chou\ ;
+朒 > niku\ ;
+朐 > kyou\ ;
+曻 > shou\ ;
+曰 > etsu\ ;
+曟 > shin\ ;
+曏 > kyou\ ;
+曌 > shou\ ;
+曉 > gyou\ ;
+曆 > reki\ ;
+暸 > ryou\ ;
+暲 > shou\ ;
+暙 > shun\ ;
+暍 > etsu\ ;
+晿 > shou\ ;
+晾 > ryou\ ;
+晳 > seki\ ;
+晰 > seki\ ;
+晫 > taku\ ;
+晨 > shin\ ;
+晙 > shun\ ;
+晑 > kyou\ ;
+晌 > shou\ ;
+晋 > shin\ ;
+晉 > shin\ ;
+晁 > chou\ ;
+晀 > chou\ ;
+昶 > chou\ ;
+昮 > shou\ ;
+昣 > shin\ ;
+昌 > shou\ ;
+昃 > soku\ ;
+旾 > shun\ ;
+旧 > kyuu\ ;
+旒 > ryuu\ ;
+旐 > chou\ ;
+旈 > ryuu\ ;
+斲 > taku\ ;
+斮 > saku\ ;
+斡 > atsu\ ;
+斠 > kaku\ ;
+斟 > shin\ ;
+斛 > koku\ ;
+斘 > shou\ ;
+斈 > gaku\ ;
+敿 > kyou\ ;
+敽 > kyou\ ;
+敫 > seku\ ;
+敞 > shou\ ;
+敒 > chin\ ;
+敐 > shin\ ;
+敎 > kyou\ ;
+敋 > kaku\ ;
+敇 > saku\ ;
+攵 > boku\ ;
+攴 > hoku\ ;
+攪 > kaku\ ;
+攊 > fuki\ ;
+攉 > kaku\ ;
+擿 > teki\ ;
+擴 > kaku\ ;
+擲 > teki\ ;
+擢 > teki\ ;
+擘 > haku\ ;
+擗 > heki\ ;
+擑 > shou\ ;
+擌 > saku\ ;
+擊 > geki\ ;
+擉 > saku\ ;
+擇 > taku\ ;
+撹 > kaku\ ;
+撬 > kyou\ ;
+撩 > ryou\ ;
+撨 > shou\ ;
+撟 > kyou\ ;
+撑 > chou\ ;
+撐 > chou\ ;
+摽 > hyou\ ;
+摭 > seki\ ;
+摝 > roku\ ;
+摘 > teki\ ;
+摑 > kaku\ ;
+摏 > shou\ ;
+摎 > kyuu\ ;
+搿 > kaku\ ;
+搾 > saku\ ;
+搶 > shou\ ;
+搦 > jaku\ ;
+搢 > shin\ ;
+搠 > saku\ ;
+搏 > haku\ ;
+搊 > shuu\ ;
+搉 > kaku\ ;
+揪 > shuu\ ;
+揕 > chin\ ;
+掵 > haba\ ;
+掬 > kiku\ ;
+掦 > teki\ ;
+掤 > hyou\ ;
+掚 > ryou\ ;
+掕 > ryou\ ;
+捷 > shou\ ;
+捔 > kaku\ ;
+捒 > shou\ ;
+捉 > soku\ ;
+捄 > kyuu\ ;
+捁 > kaku\ ;
+挟 > kyou\ ;
+挖 > atsu\ ;
+挑 > chou\ ;
+挌 > kaku\ ;
+挋 > shin\ ;
+拲 > kyou\ ;
+拱 > kyou\ ;
+拫 > shuu\ ;
+拡 > kaku\ ;
+拓 > taku\ ;
+拆 > taku\ ;
+抻 > shin\ ;
+択 > taku\ ;
+抍 > shou\ ;
+抄 > shou\ ;
+抂 > kyou\ ;
+扨 > sate\ ;
+扚 > chou\ ;
+托 > taku\ ;
+扑 > hoku\ ;
+扐 > roku\ ;
+扄 > shou\ ;
+戳 > taku\ ;
+戮 > riku\ ;
+戫 > yoku\ ;
+戢 > shuu\ ;
+戝 > zoku\ ;
+戕 > shou\ ;
+戉 > etsu\ ;
+戈 > hoko\ ;
+懾 > shou\ ;
+懲 > chou\ ;
+懟 > tsui\ ;
+懏 > shun\ ;
+憭 > ryou\ ;
+憍 > kyou\ ;
+憀 > ryou\ ;
+慿 > hyou\ ;
+慼 > seki\ ;
+慴 > shou\ ;
+慯 > shou\ ;
+慫 > shou\ ;
+慞 > shou\ ;
+慝 > toku\ ;
+慓 > hyou\ ;
+慎 > shin\ ;
+愽 > haku\ ;
+愼 > shin\ ;
+愶 > kyou\ ;
+愵 > deki\ ;
+愨 > kaku\ ;
+愜 > kyou\ ;
+愙 > kaku\ ;
+愖 > shin\ ;
+愁 > shuu\ ;
+愀 > shou\ ;
+惻 > soku\ ;
+惷 > shun\ ;
+惵 > chou\ ;
+惪 > toku\ ;
+惝 > shou\ ;
+惖 > teki\ ;
+惕 > teki\ ;
+惊 > ryou\ ;
+惆 > chuu\ ;
+惄 > deki\ ;
+悵 > chou\ ;
+悳 > toku\ ;
+悦 > etsu\ ;
+悥 > yoku\ ;
+悢 > ryou\ ;
+悚 > shou\ ;
+悅 > etsu\ ;
+恷 > kyuu\ ;
+恱 > etsu\ ;
+恪 > kaku\ ;
+恧 > jiku\ ;
+恟 > kyou\ ;
+恔 > kyou\ ;
+恌 > chou\ ;
+恊 > kyou\ ;
+恇 > kyou\ ;
+怳 > kyou\ ;
+怗 > chou\ ;
+怍 > saku\ ;
+怊 > chou\ ;
+忸 > jiku\ ;
+忷 > kyou\ ;
+忱 > shin\ ;
+忪 > shou\ ;
+忡 > chuu\ ;
+忠 > chuu\ ;
+忒 > toku\ ;
+忑 > toku\ ;
+忇 > roku\ ;
+徼 > kyou\ ;
+徸 > shou\ ;
+德 > toku\ ;
+徵 > chou\ ;
+徱 > hyou\ ;
+徢 > shou\ ;
+徜 > shou\ ;
+徇 > shun\ ;
+彸 > shou\ ;
+彶 > kihu\ ;
+彳 > teki\ ;
+彰 > shou\ ;
+彪 > hyou\ ;
+彟 > kaku\ ;
+彔 > roku\ ;
+彊 > kyou\ ;
+彅 > nagi\ ;
+强 > kyou\ ;
+弶 > gyau\ ;
+弫 > shin\ ;
+弜 > kyou\ ;
+弗 > doru\ ;
+弓 > yumi\ ;
+弌 > itsu\ ;
+弋 > yoku\ ;
+廾 > kyou\ ;
+廸 > teki\ ;
+廳 > chou\ ;
+廰 > chou\ ;
+廫 > ryou\ ;
+廧 > shau\ ;
+廦 > heki\ ;
+廠 > shou\ ;
+廟 > byou\ ;
+廙 > yoku\ ;
+廘 > roku\ ;
+廖 > ryou\ ;
+廋 > shuu\ ;
+庿 > byou\ ;
+庴 > seki\ ;
+庱 > chou\ ;
+庥 > kyuu\ ;
+庠 > shou\ ;
+幬 > chuu\ ;
+幦 > beki\ ;
+幞 > hoku\ ;
+幛 > shou\ ;
+幙 > baku\ ;
+幘 > saku\ ;
+幗 > kaku\ ;
+幖 > hyou\ ;
+幓 > shin\ ;
+幎 > beki\ ;
+幂 > beki\ ;
+帤 > geyo\ ;
+帢 > kahu\ ;
+帛 > haku\ ;
+巩 > kyou\ ;
+巤 > rehu\ ;
+巐 > chou\ ;
+嶽 > gaku\ ;
+嶯 > shiu\ ;
+嶫 > gyou\ ;
+嶪 > gyou\ ;
+嶨 > kaku\ ;
+嶢 > gyou\ ;
+嶠 > kyou\ ;
+嶜 > shin\ ;
+嶛 > ryou\ ;
+嶚 > ryou\ ;
+嶒 > shou\ ;
+嶐 > ryuu\ ;
+嶈 > shau\ ;
+嶂 > shou\ ;
+嵾 > shin\ ;
+嵹 > kyou\ ;
+嵷 > shou\ ;
+嵊 > shou\ ;
+嵀 > chiu\ ;
+崿 > gaku\ ;
+崷 > shiu\ ;
+崨 > sehu\ ;
+崧 > shuu\ ;
+崚 > ryou\ ;
+崈 > shuu\ ;
+峽 > kyou\ ;
+峻 > shun\ ;
+峷 > shin\ ;
+峭 > shou\ ;
+峪 > yoku\ ;
+峣 > gyou\ ;
+峡 > kyou\ ;
+峋 > shun\ ;
+峉 > gaku\ ;
+峈 > raku\ ;
+峆 > kahu\ ;
+峅 > kura\ ;
+峀 > shuu\ ;
+岼 > yuri\ ;
+岶 > haku\ ;
+岳 > take\ ;
+岫 > shuu\ ;
+岦 > ryuu\ ;
+岝 > saku\ ;
+岑 > shin\ ;
+岌 > kyuu\ ;
+屾 > shin\ ;
+屶 > nata\ ;
+屰 > geki\ ;
+屪 > ryou\ ;
+屐 > geki\ ;
+屌 > chou\ ;
+尿 > nyou\ ;
+尰 > shou\ ;
+尭 > gyou\ ;
+尦 > ryou\ ;
+尥 > ryou\ ;
+尞 > ryou\ ;
+尙 > shou\ ;
+將 > shou\ ;
+尅 > koku\ ;
+寴 > shin\ ;
+寯 > shun\ ;
+寮 > ryou\ ;
+寞 > baku\ ;
+寖 > shin\ ;
+寑 > shin\ ;
+寉 > kaku\ ;
+寅 > tora\ ;
+宸 > shin\ ;
+宷 > shin\ ;
+宫 > kyuu\ ;
+宨 > tewa\ ;
+宙 > chuu\ ;
+宒 > chun\ ;
+宍 > niku\ ;
+宆 > kyou\ ;
+孞 > shin\ ;
+孇 > sawa\ ;
+嬼 > riwa\ ;
+嬸 > shin\ ;
+嬶 > kaka\ ;
+嬧 > shin\ ;
+嬦 > chiu\ ;
+嬥 > chou\ ;
+嬙 > shou\ ;
+嬅 > kuwa\ ;
+嫿 > kaku\ ;
+嫞 > shou\ ;
+嫜 > shau\ ;
+嫖 > hyou\ ;
+嫀 > shin\ ;
+媷 > joku\ ;
+媳 > seki\ ;
+媰 > shiu\ ;
+媝 > shuu\ ;
+媛 > hime\ ;
+媋 > shun\ ;
+媃 > jyuu\ ;
+婳 > kaku\ ;
+婤 > shuu\ ;
+婕 > shou\ ;
+婊 > hyou\ ;
+婈 > ryou\ ;
+婅 > kiku\ ;
+娼 > shou\ ;
+娷 > tsui\ ;
+娖 > saku\ ;
+娕 > saku\ ;
+娀 > shuu\ ;
+姺 > shin\ ;
+姠 > shou\ ;
+姜 > kyou\ ;
+妽 > shin\ ;
+妱 > shou\ ;
+妯 > chuu\ ;
+妕 > chuu\ ;
+妐 > shou\ ;
+奭 > seki\ ;
+奬 > shou\ ;
+奨 > shou\ ;
+奞 > shun\ ;
+奝 > chou\ ;
+夌 > ryou\ ;
+夋 > shun\ ;
+壿 > shun\ ;
+壹 > ichi\ ;
+壳 > kaku\ ;
+壢 > reki\ ;
+壗 > mama\ ;
+壑 > gaku\ ;
+壆 > kaku\ ;
+墼 > keki\ ;
+墻 > shou\ ;
+墹 > mama\ ;
+墫 > shun\ ;
+墣 > haku\ ;
+墜 > tsui\ ;
+墒 > shou\ ;
+墑 > teki\ ;
+墏 > shou\ ;
+墋 > shin\ ;
+墇 > shou\ ;
+墄 > soku\ ;
+墂 > hyou\ ;
+塾 > juku\ ;
+塻 > baku\ ;
+塶 > koku\ ;
+塨 > kyou\ ;
+塥 > kaku\ ;
+塙 > kaku\ ;
+塖 > shou\ ;
+塓 > beki\ ;
+塍 > shou\ ;
+塉 > seki\ ;
+堻 > shin\ ;
+堹 > shou\ ;
+堯 > gyou\ ;
+堮 > gaku\ ;
+堘 > shou\ ;
+埻 > shun\ ;
+埫 > shou\ ;
+埖 > gomi\ ;
+埐 > shin\ ;
+埈 > shun\ ;
+埆 > kaku\ ;
+埁 > shin\ ;
+垳 > gake\ ;
+垬 > kyou\ ;
+垘 > huku\ ;
+坼 > taku\ ;
+坶 > boku\ ;
+坵 > kyou\ ;
+坴 > riku\ ;
+坧 > seki\ ;
+圾 > gyuu\ ;
+圸 > yama\ ;
+圳 > shiu\ ;
+圥 > roku\ ;
+圤 > haku\ ;
+圠 > atsu\ ;
+圀 > koku\ ;
+囻 > koku\ ;
+囶 > koku\ ;
+囯 > koku\ ;
+团 > shuu\ ;
+囟 > shin\ ;
+囚 > shuu\ ;
+嚳 > koku\ ;
+嚫 > shin\ ;
+嚩 > haku\ ;
+嚦 > reki\ ;
+嚠 > ryuu\ ;
+嚝 > kaku\ ;
+嚗 > haku\ ;
+嚐 > shou\ ;
+嚍 > shin\ ;
+嚋 > chuu\ ;
+嚇 > kaku\ ;
+嚄 > kaku\ ;
+嚁 > teki\ ;
+噭 > kyou\ ;
+噩 > kaku\ ;
+噦 > etsu\ ;
+噗 > boku\ ;
+噏 > kyuu\ ;
+噎 > itsu\ ;
+噊 > itsu\ ;
+嘿 > boku\ ;
+嘼 > kyuu\ ;
+嘺 > kyou\ ;
+嘸 > sazo\ ;
+嘯 > shou\ ;
+嘨 > shou\ ;
+嘞 > roku\ ;
+嘚 > toku\ ;
+嘖 > saku\ ;
+嘓 > kaku\ ;
+嘂 > kyou\ ;
+嘁 > sahu\ ;
+嘀 > saku\ ;
+嗽 > ugai\ ;
+嗼 > baku\ ;
+嗝 > kaku\ ;
+嗗 > atsu\ ;
+嗔 > shin\ ;
+嗑 > kahu\ ;
+嗍 > saku\ ;
+嗋 > kyou\ ;
+嗆 > shou\ ;
+嗀 > kaku\ ;
+喲 > yaku\ ;
+喬 > kyou\ ;
+喨 > ryou\ ;
+喢 > tehu\ ;
+喞 > soku\ ;
+喁 > gyou\ ;
+喀 > kaku\ ;
+啾 > shuu\ ;
+啯 > kaku\ ;
+啦 > rahu\ ;
+啢 > ryou\ ;
+啋 > kyou\ ;
+啇 > teki\ ;
+啅 > taku\ ;
+啄 > taku\ ;
+啃 > shuu\ ;
+唽 > seki\ ;
+唼 > sahu\ ;
+唴 > kyou\ ;
+售 > shuu\ ;
+唧 > soku\ ;
+唡 > ryou\ ;
+唚 > shin\ ;
+唙 > teki\ ;
+唒 > shuu\ ;
+唊 > kyou\ ;
+唃 > koku\ ;
+哨 > shou\ ;
+响 > kyou\ ;
+哂 > shin\ ;
+咹 > atsu\ ;
+咶 > kuui\ ;
+咯 > kaku\ ;
+咢 > gaku\ ;
+咠 > shuu\ ;
+咟 > kaku\ ;
+咋 > saku\ ;
+呻 > shin\ ;
+呺 > kyou\ ;
+呹 > itsu\ ;
+呫 > tehu\ ;
+呏 > shou\ ;
+呎 > seki\ ;
+呌 > kyou\ ;
+呄 > koku\ ;
+吿 > koku\ ;
+吵 > byou\ ;
+吲 > shin\ ;
+吣 > shin\ ;
+吢 > shin\ ;
+吜 > chuu\ ;
+叼 > chou\ ;
+叻 > roku\ ;
+叶 > kyou\ ;
+叠 > chou\ ;
+叒 > jaku\ ;
+叉 > mata\ ;
+厰 > shou\ ;
+厯 > reki\ ;
+厤 > reki\ ;
+厝 > saku\ ;
+厒 > kahu\ ;
+压 > atsu\ ;
+厇 > taku\ ;
+卾 > gaku\ ;
+卽 > soku\ ;
+卲 > shou\ ;
+卭 > kyou\ ;
+卡 > sahu\ ;
+卜 > boku\ ;
+卙 > shou\ ;
+卌 > shuu\ ;
+卂 > shin\ ;
+匿 > toku\ ;
+匵 > toku\ ;
+匩 > kyou\ ;
+匧 > kyou\ ;
+匣 > hako\ ;
+匡 > kyou\ ;
+匞 > shou\ ;
+匛 > kyuu\ ;
+匓 > kyou\ ;
+匑 > kyuu\ ;
+匐 > hoku\ ;
+匊 > kiku\ ;
+匉 > hyou\ ;
+匈 > kyou\ ;
+勼 > kyuu\ ;
+勰 > kyou\ ;
+勥 > kyou\ ;
+勣 > seki\ ;
+勠 > riku\ ;
+勒 > roku\ ;
+勀 > koku\ ;
+劻 > kyou\ ;
+劰 > baku\ ;
+劮 > itsu\ ;
+劭 > shou\ ;
+劦 > kyou\ ;
+劜 > atsu\ ;
+劐 > kaku\ ;
+劋 > syou\ ;
+劉 > ryuu\ ;
+劈 > heki\ ;
+劅 > taku\ ;
+劁 > syou\ ;
+剹 > riku\ ;
+副 > fuku\ ;
+剫 > taku\ ;
+剨 > kaku\ ;
+剢 > toku\ ;
+剝 > haku\ ;
+剔 > teki\ ;
+剒 > saku\ ;
+剋 > koku\ ;
+刼 > kyou\ ;
+刦 > kyou\ ;
+刟 > chou\ ;
+刘 > ryuu\ ;
+凸 > deko\ ;
+凶 > kyou\ ;
+凴 > hyou\ ;
+凪 > nagi\ ;
+凧 > tako\ ;
+凙 > taku\ ;
+凋 > chou\ ;
+凉 > ryou\ ;
+凇 > shou\ ;
+冾 > kyou\ ;
+冼 > shou\ ;
+况 > kyou\ ;
+冲 > chuu\ ;
+冰 > hyou\ ;
+冫 > hyou\ ;
+冪 > beki\ ;
+冢 > chou\ ;
+冖 > beki\ ;
+冑 > chuu\ ;
+典 > nori\ ;
+兢 > kyou\ ;
+兟 > shin\ ;
+兓 > shin\ ;
+兏 > chou\ ;
+克 > koku\ ;
+兇 > kyou\ ;
+兆 > chou\ ;
+兂 > shin\ ;
+儵 > shuu\ ;
+儴 > shou\ ;
+儮 > reki\ ;
+儭 > shin\ ;
+儬 > shin\ ;
+儦 > hyou\ ;
+儠 > ryou\ ;
+儔 > chuu\ ;
+儁 > shun\ ;
+僽 > shuu\ ;
+僻 > heki\ ;
+僺 > shou\ ;
+僵 > kyou\ ;
+僰 > hoku\ ;
+僥 > gyou\ ;
+僘 > shou\ ;
+僇 > riku\ ;
+傽 > shou\ ;
+傹 > kyou\ ;
+傶 > soku\ ;
+傱 > shou\ ;
+傕 > kaku\ ;
+偷 > chuu\ ;
+偱 > shun\ ;
+偮 > shuu\ ;
+偆 > shun\ ;
+偅 > shou\ ;
+偁 > shou\ ;
+倰 > ryou\ ;
+倯 > shou\ ;
+倬 > taku\ ;
+倢 > shou\ ;
+倡 > shou\ ;
+倜 > teki\ ;
+倘 > shou\ ;
+倆 > ryou\ ;
+倃 > kyuu\ ;
+倀 > chou\ ;
+俵 > hyou\ ;
+俣 > mata\ ;
+俢 > shuu\ ;
+俠 > kyou\ ;
+俍 > ryou\ ;
+俋 > chuu\ ;
+俈 > koku\ ;
+俇 > kyau\ ;
+俅 > kyuu\ ;
+侺 > shin\ ;
+侶 > tomo\ ;
+侴 > chuu\ ;
+侲 > shin\ ;
+侠 > kyan\ ;
+侜 > chuu\ ;
+侚 > shun\ ;
+侂 > taku\ ;
+侁 > shin\ ;
+佾 > itsu\ ;
+佻 > chou\ ;
+佰 > haku\ ;
+佬 > ryou\ ;
+佫 > kaku\ ;
+佗 > wabi\ ;
+佔 > chin\ ;
+佋 > shou\ ;
+伷 > chuu\ ;
+伩 > shin\ ;
+伔 > shin\ ;
+伋 > kyuu\ ;
+伈 > shin\ ;
+伄 > chou\ ;
+伀 > shou\ ;
+仼 > kyou\ ;
+仢 > haku\ ;
+仗 > tsue\ ;
+仉 > shou\ ;
+仂 > roku\ ;
+亼 > shuu\ ;
+亳 > haku\ ;
+亯 > kyou\ ;
+亮 > ryou\ ;
+亨 > kyou\ ;
+亀 > kame\ ;
+乣 > kyuu\ ;
+也 > nari\ ;
+乇 > taku\ ;
+乆 > kyuu\ ;
+丵 > saku\ ;
+丮 > keki\ ;
+丩 > kyuu\ ;
+两 > ryou\ ;
+丢 > chuu\ ;
+丠 > kyuu\ ;
+丟 > chuu\ ;
+丞 > shou\ ;
+丒 > chuu\ ;
+丑 > ushi\ ;
+丄 > shou\ ;
+〇 > maru\ ;
+迷 > mei\ ;
+念 > nen\ ;
+短 > tan\ ;
+快 > kai\ ;
+迥 > kei\ ;
+知 > chi\ ;
+矜 > kin\ ;
+忙 > bou\ ;
+忘 > bou\ ;
+返 > hen\ ;
+近 > kin\ ;
+迎 > gei\ ;
+忍 > nin\ ;
+迅 > jin\ ;
+辿 > ten\ ;
+瞻 > sen\ ;
+辺 > hen\ ;
+農 > nou\ ;
+辯 > ben\ ;
+循 > jun\ ;
+瞠 > dou\ ;
+從 > juu\ ;
+従 > juu\ ;
+徊 > kai\ ;
+待 > tai\ ;
+径 > kei\ ;
+彩 > sai\ ;
+睨 > gei\ ;
+睡 > sui\ ;
+轟 > gou\ ;
+当 > tou\ ;
+轉 > ten\ ;
+彈 > dan\ ;
+眩 > gen\ ;
+眠 > min\ ;
+弟 > tei\ ;
+弛 > shi\ ;
+弘 > kou\ ;
+輕 > kei\ ;
+県 > ken\ ;
+看 > kan\ ;
+載 > sai\ ;
+弄 > rou\ ;
+省 > sei\ ;
+弁 > ben\ ;
+軽 > kei\ ;
+廻 > kai\ ;
+建 > ken\ ;
+相 > sou\ ;
+盥 > kan\ ;
+監 > kan\ ;
+転 > ten\ ;
+廣 > kou\ ;
+廢 > hai\ ;
+盡 > jin\ ;
+盜 > tou\ ;
+盛 > sei\ ;
+盗 > tou\ ;
+軍 > gun\ ;
+廊 > rou\ ;
+廉 > ren\ ;
+盆 > bon\ ;
+盃 > hai\ ;
+廃 > hai\ ;
+庸 > you\ ;
+康 > kou\ ;
+皰 > hou\ ;
+庚 > kou\ ;
+庖 > hou\ ;
+躓 > chi\ ;
+躇 > cho\ ;
+皇 > kou\ ;
+庄 > sou\ ;
+広 > kou\ ;
+幾 > iku\ ;
+幽 > yuu\ ;
+幼 > you\ ;
+登 > tou\ ;
+干 > kan\ ;
+癌 > gan\ ;
+癇 > kan\ ;
+帽 > bou\ ;
+帶 > tai\ ;
+帯 > tai\ ;
+師 > shi\ ;
+踟 > chi\ ;
+踏 > tou\ ;
+踊 > you\ ;
+市 > shi\ ;
+巾 > kin\ ;
+痴 > chi\ ;
+痩 > sou\ ;
+巧 > kou\ ;
+工 > kou\ ;
+跡 > ato\ ;
+跟 > kon\ ;
+巡 > jun\ ;
+距 > kyo\ ;
+痕 > kon\ ;
+痒 > you\ ;
+嶮 > ken\ ;
+疊 > jou\ ;
+當 > tou\ ;
+走 > sou\ ;
+番 > ban\ ;
+赧 > tan\ ;
+畦 > aze\ ;
+畔 > han\ ;
+界 > kai\ ;
+嵌 > kan\ ;
+甲 > kou\ ;
+崩 > hou\ ;
+用 > you\ ;
+産 > san\ ;
+甘 > kan\ ;
+崗 > kou\ ;
+贅 > zei\ ;
+賽 > sai\ ;
+購 > kou\ ;
+賺 > tan\ ;
+瓶 > bin\ ;
+賣 > bai\ ;
+賢 > ken\ ;
+瓜 > uri\ ;
+資 > shi\ ;
+貼 > ten\ ;
+貸 > tai\ ;
+買 > bai\ ;
+貰 > sei\ ;
+貯 > cho\ ;
+岩 > iwa\ ;
+貧 > bin\ ;
+財 > zai\ ;
+岡 > kou\ ;
+貞 > tei\ ;
+貝 > kai\ ;
+豪 > gou\ ;
+層 > sou\ ;
+象 > zou\ ;
+展 > ten\ ;
+豐 > hou\ ;
+屏 > hei\ ;
+豊 > hou\ ;
+屆 > kai\ ;
+居 > kyo\ ;
+尽 > jin\ ;
+琲 > hai\ ;
+尤 > yuu\ ;
+尠 > sen\ ;
+尚 > nao\ ;
+尖 > sen\ ;
+導 > dou\ ;
+對 > tai\ ;
+尋 > jin\ ;
+尉 > jou\ ;
+專 > sen\ ;
+射 > sha\ ;
+封 > fuu\ ;
+現 > gen\ ;
+寸 > sun\ ;
+寫 > sha\ ;
+珪 > kei\ ;
+寒 > kan\ ;
+容 > you\ ;
+宵 > yoi\ ;
+害 > gai\ ;
+宰 > sai\ ;
+玩 > gan\ ;
+宣 > sen\ ;
+宛 > ate\ ;
+定 > tei\ ;
+官 > kan\ ;
+完 > kan\ ;
+變 > hen\ ;
+讃 > san\ ;
+玄 > gen\ ;
+獻 > ken\ ;
+獸 > juu\ ;
+譲 > jou\ ;
+譫 > sen\ ;
+警 > kei\ ;
+存 > son\ ;
+孔 > kou\ ;
+謹 > kin\ ;
+猶 > yuu\ ;
+嬪 > hin\ ;
+嬢 > jou\ ;
+謝 > sha\ ;
+猜 > sai\ ;
+講 > kou\ ;
+謙 > ken\ ;
+狽 > hai\ ;
+諸 > sho\ ;
+諦 > tei\ ;
+狡 > kou\ ;
+狙 > sho\ ;
+狗 > kou\ ;
+論 > ron\ ;
+請 > sei\ ;
+嫌 > iya\ ;
+談 > dan\ ;
+狃 > juu\ ;
+状 > jou\ ;
+犯 > han\ ;
+犬 > inu\ ;
+誘 > yuu\ ;
+誓 > sei\ ;
+媒 > bai\ ;
+認 > nin\ ;
+誌 > shi\ ;
+誄 > rui\ ;
+該 > gai\ ;
+牲 > sei\ ;
+詮 > sen\ ;
+詩 > shi\ ;
+試 > shi\ ;
+牢 > rou\ ;
+牡 > osu\ ;
+詞 > shi\ ;
+婚 > kon\ ;
+牌 > pai\ ;
+版 > han\ ;
+片 > hen\ ;
+牀 > sou\ ;
+爽 > sou\ ;
+許 > kyo\ ;
+爭 > sou\ ;
+訪 > hou\ ;
+爛 > ran\ ;
+娑 > sha\ ;
+訊 > jin\ ;
+計 > kei\ ;
+言 > gen\ ;
+燻 > kun\ ;
+解 > kai\ ;
+姓 > sei\ ;
+始 > shi\ ;
+姉 > ane\ ;
+燈 > tou\ ;
+燃 > nen\ ;
+觀 > kan\ ;
+覽 > ran\ ;
+観 > kan\ ;
+親 > oya\ ;
+覧 > ran\ ;
+覗 > shi\ ;
+視 > shi\ ;
+妖 > you\ ;
+妊 > nin\ ;
+妄 > bou\ ;
+煽 > sen\ ;
+好 > kou\ ;
+煮 > sha\ ;
+奮 > fun\ ;
+煩 > han\ ;
+襤 > ran\ ;
+奥 > oku\ ;
+奢 > sha\ ;
+襟 > eri\ ;
+套 > tou\ ;
+奏 > sou\ ;
+煎 > sen\ ;
+奉 > hou\ ;
+夾 > kou\ ;
+褸 > rou\ ;
+然 > zen\ ;
+褪 > tai\ ;
+天 > ten\ ;
+大 > tai\ ;
+焚 > fun\ ;
+夕 > yuu\ ;
+褒 > hou\ ;
+変 > hen\ ;
+製 > sei\ ;
+壻 > sei\ ;
+売 > bai\ ;
+声 > koe\ ;
+壯 > sou\ ;
+士 > shi\ ;
+裝 > sou\ ;
+壞 > kai\ ;
+裕 > yuu\ ;
+裏 > ura\ ;
+壊 > kai\ ;
+壇 > dan\ ;
+装 > sou\ ;
+裁 > sai\ ;
+点 > ten\ ;
+袢 > han\ ;
+増 > zou\ ;
+炊 > sui\ ;
+袂 > bei\ ;
+災 > sai\ ;
+灰 > hai\ ;
+衡 > kou\ ;
+塔 > tou\ ;
+灌 > kan\ ;
+血 > chi\ ;
+塀 > hei\ ;
+蠶 > san\ ;
+報 > hou\ ;
+堪 > kan\ ;
+瀕 > hin\ ;
+堆 > tai\ ;
+堅 > ken\ ;
+堂 > dou\ ;
+蟻 > ari\ ;
+濺 > sen\ ;
+濱 > hin\ ;
+濟 > sai\ ;
+濘 > nei\ ;
+埋 > mai\ ;
+濃 > nou\ ;
+澹 > tan\ ;
+螢 > kei\ ;
+垢 > aka\ ;
+龕 > gan\ ;
+融 > yuu\ ;
+垂 > sui\ ;
+蝿 > hae\ ;
+潰 > kai\ ;
+坦 > tan\ ;
+齡 > rei\ ;
+潜 > sen\ ;
+蝙 > hen\ ;
+齎 > sei\ ;
+齊 > sei\ ;
+蝋 > rou\ ;
+坊 > bou\ ;
+均 > kin\ ;
+蜻 > sei\ ;
+漸 > zen\ ;
+地 > chi\ ;
+漬 > shi\ ;
+在 > zai\ ;
+漢 > kan\ ;
+蜘 > chi\ ;
+團 > dan\ ;
+漕 > sou\ ;
+漏 > rou\ ;
+圏 > ken\ ;
+滿 > man\ ;
+困 > kon\ ;
+滯 > tai\ ;
+黨 > tou\ ;
+団 > dan\ ;
+點 > ten\ ;
+回 > kai\ ;
+蛛 > shu\ ;
+四 > yon\ ;
+蛉 > rei\ ;
+蛆 > sho\ ;
+麻 > asa\ ;
+溶 > you\ ;
+嚴 > gen\ ;
+溪 > kei\ ;
+麗 > rei\ ;
+準 > jun\ ;
+満 > man\ ;
+湾 > wan\ ;
+鹸 > ken\ ;
+噪 > sou\ ;
+湧 > yuu\ ;
+號 > gou\ ;
+虜 > ryo\ ;
+虚 > kyo\ ;
+噛 > gou\ ;
+處 > sho\ ;
+噌 > sou\ ;
+嘲 > tou\ ;
+蘭 > ran\ ;
+渦 > uzu\ ;
+渠 > kyo\ ;
+減 > gen\ ;
+嘘 > uso\ ;
+済 > sai\ ;
+嘆 > tan\ ;
+清 > sei\ ;
+蘂 > zui\ ;
+添 > ten\ ;
+淺 > sen\ ;
+混 > kon\ ;
+藩 > han\ ;
+嗣 > shi\ ;
+淡 > tan\ ;
+藝 > gei\ ;
+嗜 > shi\ ;
+淋 > rin\ ;
+藉 > sha\ ;
+鷄 > kei\ ;
+液 > eki\ ;
+薯 > sho\ ;
+喰 > kuu\ ;
+涯 > gai\ ;
+薮 > sou\ ;
+單 > tan\ ;
+薦 > sen\ ;
+喧 > ken\ ;
+喚 > kan\ ;
+喘 > zen\ ;
+涌 > yuu\ ;
+善 > zen\ ;
+啼 > tei\ ;
+海 > umi\ ;
+浪 > rou\ ;
+蕩 > tou\ ;
+啣 > kan\ ;
+問 > mon\ ;
+浅 > sen\ ;
+浄 > jou\ ;
+蔽 > hei\ ;
+唸 > ten\ ;
+蔵 > sou\ ;
+洗 > sen\ ;
+洒 > sei\ ;
+唐 > tou\ ;
+洋 > you\ ;
+鳴 > mei\ ;
+泡 > awa\ ;
+法 > hou\ ;
+品 > hin\ ;
+蒼 > sou\ ;
+蒸 > jou\ ;
+咬 > kou\ ;
+蒟 > kon\ ;
+蒙 > mou\ ;
+沖 > oki\ ;
+蒔 > shi\ ;
+沌 > ton\ ;
+命 > mei\ ;
+味 > aji\ ;
+葬 > sou\ ;
+董 > tou\ ;
+池 > ike\ ;
+呟 > gen\ ;
+汗 > ase\ ;
+呑 > don\ ;
+呆 > bou\ ;
+呂 > ryo\ ;
+鰺 > aji\ ;
+吻 > fun\ ;
+吹 > sui\ ;
+萬 > man\ ;
+含 > gan\ ;
+吝 > rin\ ;
+君 > kun\ ;
+向 > kou\ ;
+氏 > uji\ ;
+萌 > hou\ ;
+同 > dou\ ;
+氈 > sen\ ;
+合 > gou\ ;
+萄 > tou\ ;
+司 > shi\ ;
+史 > shi\ ;
+台 > dai\ ;
+菫 > kin\ ;
+毫 > kou\ ;
+菩 > hai\ ;
+叩 > kou\ ;
+句 > kou\ ;
+毎 > mai\ ;
+反 > han\ ;
+參 > san\ ;
+参 > san\ ;
+去 > kyo\ ;
+段 > dan\ ;
+厳 > gen\ ;
+鮮 > sen\ ;
+厭 > iya\ ;
+厚 > kou\ ;
+殘 > zan\ ;
+厘 > rin\ ;
+残 > zan\ ;
+殊 > shu\ ;
+殆 > tai\ ;
+卿 > kei\ ;
+死 > shi\ ;
+卷 > kan\ ;
+歳 > sai\ ;
+此 > shi\ ;
+正 > sei\ ;
+止 > shi\ ;
+歡 > kan\ ;
+占 > sen\ ;
+歔 > kyo\ ;
+荒 > kou\ ;
+歎 > tan\ ;
+歌 > uta\ ;
+半 > han\ ;
+午 > uma\ ;
+千 > chi\ ;
+十 > too\ ;
+鬼 > oni\ ;
+茶 > cha\ ;
+茫 > bou\ ;
+鬢 > hin\ ;
+匚 > hou\ ;
+權 > ken\ ;
+匆 > sou\ ;
+欅 > kyo\ ;
+包 > hou\ ;
+勾 > kou\ ;
+勸 > kan\ ;
+勧 > kan\ ;
+勤 > gon\ ;
+勞 > rou\ ;
+苗 > nae\ ;
+勘 > kan\ ;
+體 > tei\ ;
+動 > dou\ ;
+勉 > ben\ ;
+勇 > yuu\ ;
+髄 > zui\ ;
+骸 > kai\ ;
+芸 > gei\ ;
+効 > kou\ ;
+芳 > hou\ ;
+労 > rou\ ;
+励 > rei\ ;
+劫 > gou\ ;
+檢 > ken\ ;
+功 > kou\ ;
+劍 > ken\ ;
+檀 > tan\ ;
+艸 > sou\ ;
+創 > sou\ ;
+色 > iro\ ;
+驢 > ryo\ ;
+剛 > gou\ ;
+驗 > ken\ ;
+剖 > bou\ ;
+前 > mae\ ;
+剃 > tei\ ;
+騷 > sou\ ;
+制 > sei\ ;
+到 > tou\ ;
+般 > han\ ;
+航 > kou\ ;
+権 > ken\ ;
+判 > ban\ ;
+樣 > you\ ;
+騙 > hen\ ;
+験 > ken\ ;
+騒 > sou\ ;
+樓 > rou\ ;
+刑 > kei\ ;
+刊 > kan\ ;
+興 > kou\ ;
+分 > bun\ ;
+刀 > tou\ ;
+槽 > sou\ ;
+臼 > usu\ ;
+函 > kan\ ;
+臺 > tai\ ;
+致 > chi\ ;
+至 > shi\ ;
+自 > shi\ ;
+臨 > rin\ ;
+処 > sho\ ;
+凡 > bon\ ;
+臟 > zou\ ;
+駛 > shi\ ;
+様 > you\ ;
+凍 > tou\ ;
+構 > kou\ ;
+駅 > eki\ ;
+凄 > sei\ ;
+膿 > umi\ ;
+膽 > tan\ ;
+榻 > tou\ ;
+冷 > rei\ ;
+馳 > chi\ ;
+膳 > zen\ ;
+馭 > gyo\ ;
+馬 > uma\ ;
+写 > sha\ ;
+冗 > jou\ ;
+冒 > bou\ ;
+再 > sai\ ;
+概 > gai\ ;
+楼 > rou\ ;
+兼 > ken\ ;
+腮 > sai\ ;
+公 > kou\ ;
+全 > zen\ ;
+腦 > nou\ ;
+党 > tou\ ;
+腕 > ude\ ;
+饒 > jou\ ;
+楓 > fuu\ ;
+免 > men\ ;
+腋 > eki\ ;
+饅 > man\ ;
+先 > sen\ ;
+充 > juu\ ;
+兄 > ani\ ;
+脳 > nou\ ;
+優 > yuu\ ;
+検 > ken\ ;
+餐 > san\ ;
+養 > you\ ;
+億 > oku\ ;
+椀 > wan\ ;
+飽 > hou\ ;
+飼 > shi\ ;
+棺 > kan\ ;
+飴 > ame\ ;
+胴 > dou\ ;
+棲 > sei\ ;
+僧 > sou\ ;
+胞 > hou\ ;
+飜 > hon\ ;
+棒 > bou\ ;
+胎 > tai\ ;
+像 > zou\ ;
+背 > sei\ ;
+働 > dou\ ;
+胆 > tan\ ;
+僅 > kin\ ;
+傾 > kei\ ;
+育 > iku\ ;
+傳 > den\ ;
+械 > kai\ ;
+肯 > kou\ ;
+梯 > tei\ ;
+催 > sai\ ;
+風 > fuu\ ;
+肥 > koe\ ;
+條 > jou\ ;
+肆 > shi\ ;
+梅 > ume\ ;
+桶 > oke\ ;
+偶 > guu\ ;
+偵 > tei\ ;
+聲 > sei\ ;
+顯 > ken\ ;
+顫 > sen\ ;
+桧 > kai\ ;
+健 > ken\ ;
+類 > rui\ ;
+桟 > san\ ;
+聞 > bun\ ;
+顛 > ten\ ;
+停 > tei\ ;
+願 > gan\ ;
+聖 > sei\ ;
+顕 > ken\ ;
+顔 > kao\ ;
+顏 > gan\ ;
+顎 > ago\ ;
+題 > dai\ ;
+桂 > kei\ ;
+耽 > tan\ ;
+頼 > rai\ ;
+頻 > hin\ ;
+耻 > chi\ ;
+倹 > ken\ ;
+頭 > tou\ ;
+倦 > ken\ ;
+校 > kou\ ;
+頚 > kei\ ;
+耕 > kou\ ;
+頓 > ton\ ;
+栓 > sen\ ;
+倒 > tou\ ;
+耐 > tai\ ;
+倉 > sou\ ;
+順 > jun\ ;
+項 > kou\ ;
+考 > kou\ ;
+老 > rou\ ;
+翻 > hon\ ;
+俺 > ore\ ;
+柴 > sai\ ;
+染 > sen\ ;
+某 > bou\ ;
+羹 > kou\ ;
+羮 > kou\ ;
+侯 > kou\ ;
+侭 > jin\ ;
+羨 > sen\ ;
+群 > gun\ ;
+枝 > eda\ ;
+枚 > mai\ ;
+例 > rei\ ;
+來 > rai\ ;
+板 > ita\ ;
+使 > shi\ ;
+杵 > sho\ ;
+併 > hei\ ;
+置 > chi\ ;
+来 > rai\ ;
+面 > men\ ;
+条 > jou\ ;
+靜 > sei\ ;
+静 > sei\ ;
+靖 > sei\ ;
+何 > nan\ ;
+体 > tei\ ;
+罐 > kan\ ;
+材 > zai\ ;
+罎 > tan\ ;
+住 > juu\ ;
+低 > tei\ ;
+靈 > rei\ ;
+佇 > cho\ ;
+佃 > ten\ ;
+伺 > shi\ ;
+朱 > aka\ ;
+朧 > rou\ ;
+朦 > bou\ ;
+朝 > asa\ ;
+伝 > ten\ ;
+望 > bou\ ;
+会 > kai\ ;
+朗 > rou\ ;
+霊 > rei\ ;
+朋 > hou\ ;
+有 > yuu\ ;
+會 > kai\ ;
+最 > sai\ ;
+替 > tai\ ;
+曾 > sou\ ;
+電 > den\ ;
+曼 > ban\ ;
+任 > nin\ ;
+零 > rei\ ;
+書 > sho\ ;
+件 > ken\ ;
+更 > kou\ ;
+雨 > ame\ ;
+難 > nan\ ;
+令 > rei\ ;
+曜 > you\ ;
+雖 > sui\ ;
+仕 > shi\ ;
+仔 > shi\ ;
+介 > kai\ ;
+今 > kon\ ;
+雄 > osu\ ;
+仁 > nin\ ;
+暴 > bou\ ;
+亭 > tei\ ;
+險 > ken\ ;
+暫 > zan\ ;
+隨 > zui\ ;
+交 > kou\ ;
+亡 > bou\ ;
+際 > sai\ ;
+亙 > kou\ ;
+亘 > sen\ ;
+暖 > dan\ ;
+井 > sei\ ;
+纒 > ten\ ;
+暑 > sho\ ;
+随 > zui\ ;
+纏 > ten\ ;
+階 > kai\ ;
+隊 > tai\ ;
+隈 > wai\ ;
+争 > sou\ ;
+纂 > san\ ;
+亂 > ran\ ;
+陽 > you\ ;
+繼 > kei\ ;
+険 > ken\ ;
+智 > chi\ ;
+陶 > tou\ ;
+晴 > sei\ ;
+繰 > sou\ ;
+乱 > ran\ ;
+景 > kei\ ;
+繪 > kai\ ;
+繩 > jou\ ;
+晩 > ban\ ;
+陥 > kan\ ;
+陣 > jin\ ;
+繞 > jou\ ;
+乘 > jou\ ;
+繕 > zen\ ;
+乗 > jou\ ;
+織 > ori\ ;
+限 > gen\ ;
+降 > kou\ ;
+乏 > bou\ ;
+繁 > han\ ;
+總 > sou\ ;
+防 > bou\ ;
+縱 > juu\ ;
+縫 > hou\ ;
+阪 > han\ ;
+並 > hei\ ;
+丘 > oka\ ;
+且 > sha\ ;
+易 > eki\ ;
+明 > mei\ ;
+上 > jou\ ;
+昆 > kon\ ;
+昂 > kou\ ;
+練 > ren\ ;
+緬 > men\ ;
+旬 > jun\ ;
+緩 > kan\ ;
+早 > sou\ ;
+編 > hen\ ;
+旦 > tan\ ;
+締 > tei\ ;
+關 > kan\ ;
+線 > sen\ ;
+闘 > tou\ ;
+総 > sou\ ;
+旋 > sen\ ;
+緊 > kin\ ;
+方 > hou\ ;
+斷 > dan\ ;
+網 > ami\ ;
+斯 > shi\ ;
+断 > dan\ ;
+斬 > zan\ ;
+閤 > kou\ ;
+斜 > sha\ ;
+継 > kei\ ;
+經 > kei\ ;
+開 > kai\ ;
+閉 > hei\ ;
+斉 > sei\ ;
+文 > bun\ ;
+閃 > sen\ ;
+斃 > hei\ ;
+門 > mon\ ;
+長 > osa\ ;
+數 > suu\ ;
+整 > sei\ ;
+絲 > shi\ ;
+統 > tou\ ;
+数 > suu\ ;
+敬 > kei\ ;
+絨 > juu\ ;
+散 > san\ ;
+敢 > kan\ ;
+絞 > kou\ ;
+敗 > hai\ ;
+敏 > bin\ ;
+效 > kou\ ;
+故 > yue\ ;
+放 > hou\ ;
+紺 > kon\ ;
+改 > kai\ ;
+細 > sei\ ;
+累 > rui\ ;
+支 > shi\ ;
+紛 > fun\ ;
+純 > jun\ ;
+納 > tou\ ;
+紋 > mon\ ;
+糸 > ito\ ;
+擧 > kyo\ ;
+擡 > tai\ ;
+糞 > fun\ ;
+糖 > tou\ ;
+擔 > tan\ ;
+精 > sei\ ;
+粟 > awa\ ;
+粗 > ara\ ;
+鑵 > kan\ ;
+籖 > sen\ ;
+鑒 > kan\ ;
+籐 > tou\ ;
+携 > kei\ ;
+簡 > kan\ ;
+搜 > sou\ ;
+搖 > you\ ;
+損 > son\ ;
+握 > aku\ ;
+換 > kan\ ;
+揚 > you\ ;
+提 > tei\ ;
+揉 > juu\ ;
+範 > han\ ;
+揃 > sen\ ;
+掻 > sou\ ;
+掲 > kei\ ;
+箪 > tan\ ;
+推 > sui\ ;
+控 > kou\ ;
+掣 > sei\ ;
+探 > tan\ ;
+採 > sai\ ;
+算 > san\ ;
+排 > hai\ ;
+箋 > sen\ ;
+掃 > sou\ ;
+捻 > nen\ ;
+捲 > ken\ ;
+据 > kyo\ ;
+捨 > sha\ ;
+筧 > ken\ ;
+鍛 > tan\ ;
+捜 > sou\ ;
+挿 > sou\ ;
+挽 > ban\ ;
+第 > dai\ ;
+笥 > shi\ ;
+錢 > sen\ ;
+笛 > fue\ ;
+挙 > kyo\ ;
+笄 > kei\ ;
+竿 > sao\ ;
+拾 > juu\ ;
+拵 > son\ ;
+拠 > kyo\ ;
+竟 > kei\ ;
+竝 > hei\ ;
+拝 > hai\ ;
+拜 > hai\ ;
+拘 > kou\ ;
+担 > tan\ ;
+竃 > sou\ ;
+抵 > tei\ ;
+抱 > hou\ ;
+銭 > sen\ ;
+銜 > kan\ ;
+抛 > hou\ ;
+銘 > mei\ ;
+折 > ori\ ;
+抗 > kou\ ;
+投 > tou\ ;
+抓 > sou\ ;
+銅 > dou\ ;
+穿 > sen\ ;
+扱 > sou\ ;
+扮 > fun\ ;
+穗 > sui\ ;
+才 > sai\ ;
+穉 > chi\ ;
+稿 > kou\ ;
+稽 > kei\ ;
+稻 > tou\ ;
+戻 > rei\ ;
+戴 > tai\ ;
+稲 > ine\ ;
+戰 > sen\ ;
+稚 > chi\ ;
+或 > aru\ ;
+戒 > kai\ ;
+成 > sei\ ;
+鈍 > don\ ;
+税 > zei\ ;
+戌 > inu\ ;
+戀 > ren\ ;
+懸 > ken\ ;
+懷 > kai\ ;
+金 > kin\ ;
+重 > omo\ ;
+秋 > aki\ ;
+應 > you\ ;
+采 > sai\ ;
+懃 > kin\ ;
+禽 > kin\ ;
+憺 > tan\ ;
+憶 > oku\ ;
+禰 > dei\ ;
+禮 > rei\ ;
+憬 > kei\ ;
+憧 > dou\ ;
+憤 > fun\ ;
+醒 > sei\ ;
+憐 > ren\ ;
+憎 > zou\ ;
+醉 > sui\ ;
+禅 > zen\ ;
+憂 > yuu\ ;
+禁 > kin\ ;
+酸 > san\ ;
+祷 > tou\ ;
+慮 > ryo\ ;
+慨 > gai\ ;
+慥 > zou\ ;
+慣 > kan\ ;
+慢 > man\ ;
+慘 > san\ ;
+酔 > sui\ ;
+配 > hai\ ;
+慌 > kou\ ;
+慊 > ken\ ;
+礼 > rei\ ;
+示 > shi\ ;
+感 > kan\ ;
+礙 > gai\ ;
+郵 > yuu\ ;
+想 > sou\ ;
+惱 > nou\ ;
+惨 > san\ ;
+惠 > kei\ ;
+磐 > iwa\ ;
+郎 > rou\ ;
+郊 > kou\ ;
+情 > jou\ ;
+悼 > tou\ ;
+悶 > mon\ ;
+悴 > sui\ ;
+患 > kan\ ;
+悠 > yuu\ ;
+碗 > wan\ ;
+悖 > hai\ ;
+悔 > kai\ ;
+邊 > hen\ ;
+還 > kan\ ;
+邂 > kai\ ;
+選 > sen\ ;
+遲 > chi\ ;
+恰 > kou\ ;
+遮 > sha\ ;
+遭 > sou\ ;
+息 > iki\ ;
+硬 > kou\ ;
+恨 > kon\ ;
+遥 > you\ ;
+遣 > ken\ ;
+遠 > too\ ;
+遜 > son\ ;
+遙 > you\ ;
+遑 > kou\ ;
+遍 > hen\ ;
+恍 > kou\ ;
+遊 > yuu\ ;
+恋 > koi\ ;
+遇 > guu\ ;
+遅 > chi\ ;
+遂 > sui\ ;
+遁 > ton\ ;
+怪 > kai\ ;
+性 > sei\ ;
+砥 > shi\ ;
+連 > ren\ ;
+逢 > hou\ ;
+造 > zou\ ;
+怠 > tai\ ;
+逞 > tei\ ;
+逝 > sei\ ;
+思 > shi\ ;
+這 > gen\ ;
+砕 > sai\ ;
+研 > ken\ ;
+透 > tou\ ;
+逅 > kou\ ;
+逃 > tou\ ;
+送 > sou\ ;
+退 > tai\ ;
+忿 > fun\ ;
+龤 > kai\ ;
+龡 > sui\ ;
+龘 > tou\ ;
+龗 > rei\ ;
+龖 > tou\ ;
+龒 > ryu\ ;
+龐 > hou\ ;
+齽 > kin\ ;
+齷 > aku\ ;
+齶 > ago\ ;
+齵 > gou\ ;
+齳 > gun\ ;
+齯 > gei\ ;
+齭 > sho\ ;
+齬 > gyo\ ;
+齩 > gou\ ;
+齞 > gen\ ;
+齝 > chi\ ;
+齘 > kai\ ;
+齗 > kin\ ;
+齒 > shi\ ;
+齏 > sei\ ;
+齋 > sai\ ;
+齄 > sha\ ;
+齁 > kou\ ;
+鼺 > rui\ ;
+鼷 > kei\ ;
+鼲 > kon\ ;
+鼱 > sei\ ;
+鼪 > sei\ ;
+鼢 > fun\ ;
+鼡 > sho\ ;
+鼟 > tou\ ;
+鼛 > kou\ ;
+鼙 > hei\ ;
+鼗 > tou\ ;
+鼖 > fun\ ;
+鼕 > tou\ ;
+鼒 > shi\ ;
+鼑 > tei\ ;
+鼐 > dai\ ;
+鼇 > gou\ ;
+鼅 > chi\ ;
+鼃 > wai\ ;
+黿 > gen\ ;
+黽 > bou\ ;
+黹 > chi\ ;
+黶 > aza\ ;
+黵 > tan\ ;
+黲 > san\ ;
+黱 > tai\ ;
+黮 > tan\ ;
+黬 > kan\ ;
+黧 > rei\ ;
+黝 > yuu\ ;
+黕 > tan\ ;
+黔 > ken\ ;
+黏 > nen\ ;
+黎 > rei\ ;
+黌 > kou\ ;
+黋 > kou\ ;
+黈 > tou\ ;
+黆 > kou\ ;
+黃 > kou\ ;
+麺 > men\ ;
+麵 > ben\ ;
+麳 > rai\ ;
+麰 > bou\ ;
+麮 > kyo\ ;
+麭 > hou\ ;
+麪 > men\ ;
+麟 > rin\ ;
+麝 > sha\ ;
+麛 > bei\ ;
+麖 > kei\ ;
+麕 > kin\ ;
+麑 > gei\ ;
+麏 > kin\ ;
+麈 > shu\ ;
+麇 > kin\ ;
+麅 > hou\ ;
+麃 > hou\ ;
+麀 > yuu\ ;
+鹼 > ken\ ;
+鹻 > kan\ ;
+鹹 > kan\ ;
+鸰 > rei\ ;
+鸞 > ran\ ;
+鸛 > kan\ ;
+鸎 > you\ ;
+鸇 > sen\ ;
+鸂 > kei\ ;
+鷴 > kan\ ;
+鷳 > kan\ ;
+鷭 > ban\ ;
+鷥 > shi\ ;
+鷠 > gyo\ ;
+鷞 > sou\ ;
+鷙 > shi\ ;
+鷕 > you\ ;
+鷔 > gou\ ;
+鷓 > sha\ ;
+鷏 > ten\ ;
+鷉 > tei\ ;
+鷇 > kou\ ;
+鷆 > ten\ ;
+鷂 > you\ ;
+鶿 > shi\ ;
+鶼 > ken\ ;
+鶵 > suu\ ;
+鶱 > ken\ ;
+鶬 > sou\ ;
+鶤 > kon\ ;
+鶗 > tei\ ;
+鶊 > kou\ ;
+鶇 > tou\ ;
+鶆 > rai\ ;
+鶄 > sei\ ;
+鵾 > kon\ ;
+鵼 > kou\ ;
+鵻 > sui\ ;
+鵬 > hou\ ;
+鵫 > tou\ ;
+鵧 > hei\ ;
+鵣 > rai\ ;
+鵑 > ken\ ;
+鵊 > kou\ ;
+鵈 > ten\ ;
+鵄 > shi\ ;
+鵁 > kou\ ;
+鴿 > kou\ ;
+鴾 > bou\ ;
+鴻 > kou\ ;
+鴺 > tei\ ;
+鴴 > kou\ ;
+鴲 > shi\ ;
+鴦 > you\ ;
+鴟 > shi\ ;
+鴞 > you\ ;
+鴜 > shi\ ;
+鴘 > hen\ ;
+鴒 > rei\ ;
+鴋 > hou\ ;
+鴈 > gan\ ;
+鳹 > ken\ ;
+鳷 > shi\ ;
+鳳 > hou\ ;
+鳲 > shi\ ;
+鳰 > nio\ ;
+鳯 > hou\ ;
+鳮 > kei\ ;
+鳫 > gan\ ;
+鲹 > sou\ ;
+鲙 > kai\ ;
+鲉 > yuu\ ;
+鱻 > sen\ ;
+鱮 > sho\ ;
+鱤 > kan\ ;
+鱣 > tan\ ;
+鱠 > kai\ ;
+鱟 > kou\ ;
+鱞 > kan\ ;
+鱝 > fun\ ;
+鱛 > eso\ ;
+鱖 > kei\ ;
+鱔 > sen\ ;
+鱓 > sen\ ;
+鱇 > kou\ ;
+鱄 > sen\ ;
+鰶 > sei\ ;
+鰵 > bin\ ;
+鰲 > gou\ ;
+鰱 > ren\ ;
+鰪 > kou\ ;
+鰩 > you\ ;
+鰧 > tou\ ;
+鰦 > shi\ ;
+鰥 > kan\ ;
+鰣 > shi\ ;
+鰜 > ken\ ;
+鰕 > ebi\ ;
+鰔 > kan\ ;
+鰓 > era\ ;
+鰑 > you\ ;
+鰃 > wai\ ;
+鰁 > sen\ ;
+鰀 > kan\ ;
+鯿 > hen\ ;
+鯺 > sho\ ;
+鯹 > sei\ ;
+鯸 > kou\ ;
+鯷 > tei\ ;
+鯵 > aji\ ;
+鯯 > sei\ ;
+鯫 > sou\ ;
+鯤 > kon\ ;
+鯢 > gei\ ;
+鯟 > tou\ ;
+鯛 > tai\ ;
+鯘 > dai\ ;
+鯉 > koi\ ;
+鯈 > yuu\ ;
+鯇 > kan\ ;
+鯁 > kou\ ;
+鯀 > kon\ ;
+鮾 > dai\ ;
+鮸 > ben\ ;
+鮷 > tei\ ;
+鮰 > kai\ ;
+鮩 > hou\ ;
+鮦 > tou\ ;
+鮔 > kyo\ ;
+鮐 > tai\ ;
+鮏 > sei\ ;
+鮎 > ayu\ ;
+鮋 > yuu\ ;
+鮆 > sei\ ;
+魿 > rei\ ;
+魷 > yuu\ ;
+魵 > fun\ ;
+魴 > hou\ ;
+魳 > shi\ ;
+魭 > gen\ ;
+魬 > han\ ;
+魪 > kai\ ;
+魨 > ton\ ;
+魥 > gou\ ;
+魣 > sho\ ;
+魞 > eri\ ;
+魜 > jin\ ;
+魛 > tou\ ;
+魖 > kyo\ ;
+魑 > chi\ ;
+魍 > bou\ ;
+魋 > tai\ ;
+鬷 > sou\ ;
+鬵 > sen\ ;
+鬳 > ken\ ;
+鬭 > tou\ ;
+鬬 > tou\ ;
+鬫 > kan\ ;
+鬪 > tou\ ;
+鬨 > kou\ ;
+鬧 > tou\ ;
+鬦 > tou\ ;
+鬥 > tou\ ;
+鬟 > kan\ ;
+鬜 > kan\ ;
+鬙 > sou\ ;
+鬖 > san\ ;
+鬋 > sen\ ;
+鬉 > sou\ ;
+鬈 > ken\ ;
+鬅 > hou\ ;
+鬄 > tei\ ;
+鬃 > sou\ ;
+鬂 > bin\ ;
+鬀 > tei\ ;
+髻 > kei\ ;
+髳 > bou\ ;
+髱 > hou\ ;
+髯 > zen\ ;
+髩 > bin\ ;
+髧 > tan\ ;
+髦 > bou\ ;
+髥 > zen\ ;
+髣 > hou\ ;
+髢 > tei\ ;
+髠 > kon\ ;
+髞 > sou\ ;
+髛 > kou\ ;
+髙 > kou\ ;
+髖 > kan\ ;
+髕 > hin\ ;
+髓 > zui\ ;
+髒 > sou\ ;
+髐 > kou\ ;
+髏 > rou\ ;
+髈 > hou\ ;
+髁 > kai\ ;
+骿 > hen\ ;
+骾 > kou\ ;
+骹 > kou\ ;
+骶 > tei\ ;
+骵 > tai\ ;
+骴 > shi\ ;
+骰 > tou\ ;
+骯 > kou\ ;
+骔 > sou\ ;
+驩 > kan\ ;
+驤 > jou\ ;
+驛 > eki\ ;
+驔 > ten\ ;
+驒 > tan\ ;
+驎 > rin\ ;
+驇 > chi\ ;
+驄 > sou\ ;
+驂 > san\ ;
+驁 > gou\ ;
+騺 > chi\ ;
+騸 > sen\ ;
+騵 > gen\ ;
+騰 > tou\ ;
+騫 > ken\ ;
+騨 > tan\ ;
+騣 > sou\ ;
+騠 > tei\ ;
+騗 > hen\ ;
+騐 > ken\ ;
+騌 > sou\ ;
+騋 > rai\ ;
+騈 > hen\ ;
+騅 > sui\ ;
+騃 > gai\ ;
+騂 > sei\ ;
+騁 > tei\ ;
+駾 > tai\ ;
+駽 > ken\ ;
+駻 > kan\ ;
+駹 > bou\ ;
+駴 > kai\ ;
+駭 > kai\ ;
+駫 > kei\ ;
+駧 > tou\ ;
+駢 > hen\ ;
+駟 > shi\ ;
+駚 > you\ ;
+駘 > tai\ ;
+駔 > sou\ ;
+駉 > kei\ ;
+馼 > bun\ ;
+馺 > sou\ ;
+馵 > shu\ ;
+馨 > kei\ ;
+馦 > ken\ ;
+馓 > san\ ;
+饞 > san\ ;
+饛 > bou\ ;
+饙 > fun\ ;
+饘 > sen\ ;
+饕 > tou\ ;
+饔 > you\ ;
+饎 > shi\ ;
+饍 > zen\ ;
+饌 > sen\ ;
+饊 > san\ ;
+饉 > kin\ ;
+饁 > you\ ;
+饀 > tou\ ;
+餻 > kou\ ;
+餹 > tou\ ;
+餵 > dai\ ;
+餴 > fun\ ;
+餳 > tou\ ;
+餱 > kou\ ;
+餧 > dai\ ;
+餤 > tan\ ;
+餢 > hou\ ;
+餠 > hei\ ;
+餛 > kon\ ;
+餚 > kou\ ;
+餖 > tou\ ;
+餒 > dai\ ;
+餌 > esa\ ;
+餈 > shi\ ;
+餃 > kou\ ;
+餂 > ten\ ;
+餁 > jin\ ;
+飳 > shu\ ;
+飰 > han\ ;
+飪 > jin\ ;
+飩 > ton\ ;
+飧 > son\ ;
+飦 > ken\ ;
+飣 > tei\ ;
+飡 > san\ ;
+飌 > fuu\ ;
+颿 > han\ ;
+颻 > you\ ;
+颺 > you\ ;
+颸 > shi\ ;
+颴 > sen\ ;
+颱 > tai\ ;
+颭 > sen\ ;
+顴 > kan\ ;
+顰 > hin\ ;
+顪 > kai\ ;
+顥 > kou\ ;
+顢 > ban\ ;
+顚 > ten\ ;
+顙 > sou\ ;
+顓 > sen\ ;
+顑 > kan\ ;
+顋 > sai\ ;
+顇 > sui\ ;
+顄 > kan\ ;
+頾 > shi\ ;
+頽 > tai\ ;
+頹 > tai\ ;
+頷 > kan\ ;
+頳 > tei\ ;
+頲 > tei\ ;
+頯 > kai\ ;
+頮 > kai\ ;
+頦 > kai\ ;
+頠 > gai\ ;
+頜 > kan\ ;
+頖 > han\ ;
+頒 > han\ ;
+頏 > kou\ ;
+須 > shu\ ;
+頇 > kan\ ;
+韸 > hou\ ;
+韴 > sou\ ;
+韲 > sei\ ;
+韱 > sen\ ;
+韯 > sen\ ;
+韝 > kou\ ;
+韜 > tou\ ;
+韛 > hai\ ;
+韓 > kan\ ;
+韐 > kou\ ;
+韎 > bai\ ;
+韌 > jin\ ;
+韊 > ran\ ;
+韉 > sen\ ;
+韆 > sen\ ;
+韅 > ken\ ;
+韄 > aku\ ;
+鞺 > tou\ ;
+鞶 > han\ ;
+鞳 > tou\ ;
+鞲 > kou\ ;
+鞱 > tou\ ;
+鞮 > tei\ ;
+鞬 > ken\ ;
+鞣 > juu\ ;
+鞞 > hei\ ;
+鞜 > tou\ ;
+鞚 > kou\ ;
+鞙 > ken\ ;
+鞗 > tou\ ;
+鞖 > sai\ ;
+鞕 > gou\ ;
+鞉 > tou\ ;
+鞀 > tou\ ;
+靽 > ban\ ;
+靼 > tan\ ;
+靸 > sou\ ;
+靳 > kin\ ;
+靱 > jin\ ;
+靭 > jin\ ;
+靫 > sai\ ;
+靪 > tei\ ;
+靧 > kai\ ;
+靦 > ten\ ;
+靤 > hou\ ;
+靣 > men\ ;
+靠 > kou\ ;
+靛 > ten\ ;
+靚 > sei\ ;
+靗 > tei\ ;
+靑 > sei\ ;
+靊 > fuu\ ;
+靆 > tai\ ;
+靁 > rai\ ;
+霾 > bai\ ;
+霽 > sei\ ;
+霝 > rei\ ;
+霛 > rei\ ;
+霚 > bou\ ;
+霖 > rin\ ;
+霓 > gei\ ;
+霑 > ten\ ;
+霎 > sou\ ;
+霉 > bai\ ;
+霈 > hai\ ;
+霆 > tei\ ;
+雱 > hou\ ;
+雰 > fun\ ;
+雯 > bun\ ;
+雟 > kei\ ;
+雞 > kei\ ;
+雝 > you\ ;
+雚 > kan\ ;
+雙 > sou\ ;
+雎 > sho\ ;
+雍 > you\ ;
+雋 > sen\ ;
+雊 > kou\ ;
+雈 > kan\ ;
+隹 > sui\ ;
+隸 > rei\ ;
+隷 > rei\ ;
+隶 > tai\ ;
+隴 > rou\ ;
+隯 > tou\ ;
+隮 > sei\ ;
+隧 > sui\ ;
+隦 > hei\ ;
+隥 > tou\ ;
+隤 > tai\ ;
+隝 > tou\ ;
+隚 > tou\ ;
+隗 > kai\ ;
+隑 > kai\ ;
+隍 > kou\ ;
+隄 > tei\ ;
+隃 > shu\ ;
+陾 > jou\ ;
+陼 > sho\ ;
+陷 > kan\ ;
+陲 > sui\ ;
+陮 > tai\ ;
+陬 > suu\ ;
+陪 > bai\ ;
+陦 > tou\ ;
+陡 > tou\ ;
+陝 > sen\ ;
+陜 > kou\ ;
+陛 > hei\ ;
+陘 > kei\ ;
+陖 > kai\ ;
+陔 > gai\ ;
+陋 > rou\ ;
+阺 > kyo\ ;
+阸 > aku\ ;
+阷 > tei\ ;
+阳 > you\ ;
+阱 > sei\ ;
+阯 > shi\ ;
+阮 > gen\ ;
+阬 > kou\ ;
+阨 > aku\ ;
+阦 > you\ ;
+阤 > chi\ ;
+阡 > sen\ ;
+闦 > gon\ ;
+闤 > kan\ ;
+闡 > sen\ ;
+闠 > kai\ ;
+闙 > kei\ ;
+闗 > kan\ ;
+闔 > kou\ ;
+闓 > kai\ ;
+闒 > tou\ ;
+闐 > ten\ ;
+闌 > ran\ ;
+闆 > han\ ;
+閿 > bun\ ;
+閽 > kon\ ;
+閺 > ben\ ;
+閬 > rou\ ;
+閫 > kon\ ;
+閩 > ben\ ;
+閨 > kei\ ;
+閧 > kou\ ;
+閡 > gai\ ;
+閞 > hen\ ;
+閝 > rei\ ;
+閙 > tou\ ;
+閘 > kou\ ;
+閔 > bin\ ;
+閏 > jun\ ;
+閎 > kou\ ;
+閍 > hou\ ;
+閌 > kou\ ;
+閈 > kan\ ;
+閇 > hei\ ;
+閂 > san\ ;
+镴 > rou\ ;
+镮 > kan\ ;
+锽 > kou\ ;
+铦 > sen\ ;
+铓 > bou\ ;
+铇 > hou\ ;
+钄 > ran\ ;
+鑾 > ran\ ;
+鑽 > san\ ;
+鑷 > jou\ ;
+鑲 > jou\ ;
+鑱 > san\ ;
+鑯 > sen\ ;
+鑭 > ran\ ;
+鑫 > kin\ ;
+鑨 > rou\ ;
+鑞 > rou\ ;
+鑛 > kou\ ;
+鑚 > san\ ;
+鑙 > kei\ ;
+鑑 > kan\ ;
+鑌 > hin\ ;
+鑈 > gei\ ;
+鑅 > kou\ ;
+鑁 > ban\ ;
+鐻 > kyo\ ;
+鐺 > tou\ ;
+鐶 > kan\ ;
+鐳 > rai\ ;
+鐱 > sen\ ;
+鐮 > ren\ ;
+鐫 > sen\ ;
+鐟 > tei\ ;
+鐙 > tou\ ;
+鐗 > kan\ ;
+鐕 > san\ ;
+鐓 > tai\ ;
+鐏 > son\ ;
+鐉 > sen\ ;
+鐇 > han\ ;
+鐄 > kou\ ;
+鐃 > dou\ ;
+鐁 > shi\ ;
+鏻 > rin\ ;
+鏸 > tei\ ;
+鏨 > san\ ;
+鏧 > rou\ ;
+鏤 > rou\ ;
+鏟 > san\ ;
+鏞 > you\ ;
+鏝 > man\ ;
+鏜 > tou\ ;
+鏙 > sai\ ;
+鏗 > kou\ ;
+鏓 > sou\ ;
+鏋 > ban\ ;
+鏈 > ren\ ;
+鏇 > sen\ ;
+鏆 > kan\ ;
+鏄 > tan\ ;
+鎬 > kou\ ;
+鎫 > ban\ ;
+鎩 > sai\ ;
+鎤 > kou\ ;
+鎡 > shi\ ;
+鎞 > hei\ ;
+鎗 > sou\ ;
+鎕 > tou\ ;
+鎔 > you\ ;
+鎒 > dou\ ;
+鎊 > hau\ ;
+鍿 > shi\ ;
+鍽 > hen\ ;
+鍴 > tan\ ;
+鍳 > kan\ ;
+鍱 > you\ ;
+鍰 > kan\ ;
+鍯 > sou\ ;
+鍭 > kou\ ;
+鍪 > bou\ ;
+鍩 > ten\ ;
+鍧 > kou\ ;
+鍤 > sou\ ;
+鍠 > kou\ ;
+鍞 > kou\ ;
+鍚 > you\ ;
+鍗 > tei\ ;
+鍕 > kun\ ;
+鍒 > juu\ ;
+鍑 > huu\ ;
+鍐 > sou\ ;
+鍊 > ren\ ;
+鍉 > tei\ ;
+鍇 > kai\ ;
+鍄 > kei\ ;
+錵 > nie\ ;
+錳 > mou\ ;
+錬 > ren\ ;
+錪 > ten\ ;
+錧 > kan\ ;
+錥 > iku\ ;
+錣 > tei\ ;
+錠 > jou\ ;
+錟 > tan\ ;
+錝 > sou\ ;
+錜 > jou\ ;
+錚 > sou\ ;
+錙 > shi\ ;
+錕 > kon\ ;
+錔 > tou\ ;
+錑 > rai\ ;
+錈 > ken\ ;
+錀 > rin\ ;
+鋻 > ken\ ;
+鋮 > sei\ ;
+鋬 > han\ ;
+鋧 > ken\ ;
+鋥 > tou\ ;
+鋡 > kan\ ;
+鋟 > sen\ ;
+鋙 > gyo\ ;
+鋗 > ken\ ;
+鋕 > shi\ ;
+鋓 > ten\ ;
+鋐 > kou\ ;
+鋎 > kan\ ;
+鋌 > tei\ ;
+鋋 > sen\ ;
+鋇 > hai\ ;
+鋅 > shi\ ;
+鋃 > rou\ ;
+鋂 > bai\ ;
+鋁 > ryo\ ;
+鋀 > tou\ ;
+銻 > tei\ ;
+銺 > sou\ ;
+銲 > kan\ ;
+銧 > kou\ ;
+銤 > bei\ ;
+銠 > rou\ ;
+銚 > you\ ;
+銙 > kai\ ;
+銗 > kou\ ;
+銖 > shu\ ;
+銓 > sen\ ;
+銒 > kei\ ;
+銈 > tei\ ;
+鉿 > kou\ ;
+鉼 > hei\ ;
+鉹 > shi\ ;
+鉸 > kou\ ;
+鉷 > kou\ ;
+鉶 > kei\ ;
+鉵 > tou\ ;
+鉱 > kou\ ;
+鉰 > shi\ ;
+鉩 > jou\ ;
+鉨 > dei\ ;
+鉧 > bou\ ;
+鉤 > kou\ ;
+鉡 > han\ ;
+鉜 > fuu\ ;
+鉙 > tai\ ;
+鉗 > kan\ ;
+鉏 > sho\ ;
+鉎 > sou\ ;
+鉉 > ken\ ;
+鉈 > sha\ ;
+鉇 > shi\ ;
+鉆 > ten\ ;
+鉅 > kyo\ ;
+鉃 > shi\ ;
+鉂 > shi\ ;
+鉀 > kou\ ;
+鈿 > ten\ ;
+鈶 > shi\ ;
+鈵 > hei\ ;
+鈰 > shi\ ;
+鈮 > dei\ ;
+鈣 > kai\ ;
+鈞 > kin\ ;
+鈜 > kou\ ;
+鈖 > hun\ ;
+鈓 > jin\ ;
+鈒 > sou\ ;
+鈑 > han\ ;
+鈐 > ken\ ;
+鈉 > dou\ ;
+鈄 > tou\ ;
+鈁 > hou\ ;
+釿 > kin\ ;
+釼 > ken\ ;
+釶 > shi\ ;
+釱 > tei\ ;
+釯 > bou\ ;
+釮 > sen\ ;
+釭 > kou\ ;
+釬 > kan\ ;
+釩 > han\ ;
+釧 > sen\ ;
+釦 > kou\ ;
+釤 > san\ ;
+釖 > tou\ ;
+釉 > yuu\ ;
+釆 > han\ ;
+釅 > gen\ ;
+釃 > shi\ ;
+釁 > kin\ ;
+釀 > jou\ ;
+醽 > rei\ ;
+醺 > kun\ ;
+醸 > jou\ ;
+醶 > gen\ ;
+醵 > kyo\ ;
+醴 > rei\ ;
+醳 > eki\ ;
+醲 > jou\ ;
+醰 > tan\ ;
+醯 > kei\ ;
+醦 > san\ ;
+醢 > kai\ ;
+醘 > kou\ ;
+醓 > tan\ ;
+醑 > sho\ ;
+醎 > dai\ ;
+醍 > tei\ ;
+醆 > san\ ;
+醅 > hai\ ;
+醂 > rin\ ;
+酻 > sui\ ;
+酹 > rai\ ;
+酶 > bai\ ;
+酵 > kou\ ;
+酲 > tei\ ;
+酭 > yuu\ ;
+酩 > mei\ ;
+酣 > kan\ ;
+酚 > hun\ ;
+酘 > tou\ ;
+酖 > tan\ ;
+酊 > tei\ ;
+酇 > san\ ;
+酆 > fuu\ ;
+酃 > rei\ ;
+鄽 > ten\ ;
+鄼 > sab\ ;
+鄺 > kou\ ;
+鄷 > hou\ ;
+鄶 > kai\ ;
+鄲 > tan\ ;
+鄰 > rin\ ;
+鄯 > sen\ ;
+鄮 > bou\ ;
+鄭 > tei\ ;
+鄧 > tou\ ;
+鄞 > gin\ ;
+鄘 > you\ ;
+鄗 > kou\ ;
+鄒 > suu\ ;
+鄍 > mei\ ;
+鄄 > ken\ ;
+郯 > tan\ ;
+郥 > hai\ ;
+郡 > gun\ ;
+郟 > kou\ ;
+郞 > rou\ ;
+郜 > kou\ ;
+郘 > ryo\ ;
+郗 > chi\ ;
+郕 > sei\ ;
+郒 > rou\ ;
+郌 > kei\ ;
+郈 > kou\ ;
+郃 > kou\ ;
+郁 > iku\ ;
+邾 > chu\ ;
+邽 > kei\ ;
+邶 > hai\ ;
+邴 > hei\ ;
+邰 > tai\ ;
+邯 > kan\ ;
+邨 > son\ ;
+邢 > kei\ ;
+邡 > hou\ ;
+邠 > hin\ ;
+邙 > bou\ ;
+邗 > kan\ ;
+邕 > you\ ;
+邑 > yuu\ ;
+邎 > yuu\ ;
+邌 > rei\ ;
+邉 > hen\ ;
+邅 > ken\ ;
+邃 > sui\ ;
+邁 > bai\ ;
+邀 > you\ ;
+遽 > kyo\ ;
+遷 > sen\ ;
+遶 > jou\ ;
+遵 > jun\ ;
+遴 > rin\ ;
+遰 > tei\ ;
+遯 > ton\ ;
+遨 > gou\ ;
+遦 > kan\ ;
+遢 > tou\ ;
+遟 > chi\ ;
+遞 > tei\ ;
+遝 > tou\ ;
+遘 > kou\ ;
+遉 > tei\ ;
+遄 > sen\ ;
+遃 > gen\ ;
+逿 > tou\ ;
+逳 > iku\ ;
+逰 > yuu\ ;
+逮 > tai\ ;
+逭 > kan\ ;
+逬 > hou\ ;
+逨 > rai\ ;
+逥 > kai\ ;
+逗 > tou\ ;
+逕 > kei\ ;
+逓 > tei\ ;
+逌 > yuu\ ;
+逈 > kei\ ;
+逄 > hou\ ;
+迺 > dai\ ;
+迸 > hou\ ;
+迶 > yuu\ ;
+迵 > tou\ ;
+迴 > kai\ ;
+迯 > tou\ ;
+迨 > tai\ ;
+迣 > sei\ ;
+迒 > kou\ ;
+迊 > sou\ ;
+迁 > sen\ ;
+迀 > kan\ ;
+边 > hen\ ;
+辮 > hen\ ;
+辨 > ben\ ;
+辧 > ben\ ;
+辦 > han\ ;
+辡 > hen\ ;
+辠 > sai\ ;
+轥 > rin\ ;
+轞 > kan\ ;
+轘 > kan\ ;
+轗 > kan\ ;
+轔 > rin\ ;
+轓 > han\ ;
+轒 > hun\ ;
+轑 > rau\ ;
+轏 > san\ ;
+轇 > kou\ ;
+轁 > tou\ ;
+輾 > ten\ ;
+輺 > shi\ ;
+輷 > kou\ ;
+輶 > yuu\ ;
+輳 > sou\ ;
+輮 > juu\ ;
+輭 > zen\ ;
+輨 > kan\ ;
+輦 > ren\ ;
+輥 > kon\ ;
+輣 > hou\ ;
+輡 > kan\ ;
+輞 > bou\ ;
+輜 > shi\ ;
+輗 > gei\ ;
+輓 > ban\ ;
+輐 > kan\ ;
+輏 > yuu\ ;
+輊 > chi\ ;
+輇 > sen\ ;
+軺 > you\ ;
+軹 > shi\ ;
+軰 > hai\ ;
+軨 > rei\ ;
+軣 > gou\ ;
+軠 > jin\ ;
+軟 > nan\ ;
+軜 > dou\ ;
+軛 > aku\ ;
+軔 > jin\ ;
+軑 > tei\ ;
+軐 > sen\ ;
+軇 > tou\ ;
+軆 > tei\ ;
+軁 > rou\ ;
+躺 > tou\ ;
+躰 > tei\ ;
+躭 > tan\ ;
+躪 > rin\ ;
+躧 > shi\ ;
+躢 > tou\ ;
+躡 > jou\ ;
+躝 > ran\ ;
+躚 > sen\ ;
+躙 > rin\ ;
+躕 > chu\ ;
+躔 > ten\ ;
+躋 > sei\ ;
+躉 > ton\ ;
+躁 > sou\ ;
+蹹 > tou\ ;
+蹯 > han\ ;
+蹭 > sou\ ;
+蹬 > tou\ ;
+蹣 > man\ ;
+蹡 > you\ ;
+蹝 > shi\ ;
+蹛 > tai\ ;
+蹔 > san\ ;
+蹏 > tei\ ;
+蹎 > ten\ ;
+蹍 > ten\ ;
+蹋 > tou\ ;
+蹊 > kei\ ;
+蹈 > tou\ ;
+蹇 > ken\ ;
+蹂 > juu\ ;
+蹁 > hen\ ;
+踹 > sen\ ;
+踶 > tei\ ;
+踴 > you\ ;
+踣 > hou\ ;
+踡 > ken\ ;
+踞 > kyo\ ;
+踔 > tou\ ;
+踐 > sen\ ;
+踈 > sho\ ;
+踅 > tei\ ;
+踁 > kei\ ;
+践 > sen\ ;
+跴 > sai\ ;
+跲 > kou\ ;
+跱 > chi\ ;
+跰 > hou\ ;
+跧 > sen\ ;
+跤 > kou\ ;
+跚 > san\ ;
+跙 > sho\ ;
+跑 > hou\ ;
+跊 > bai\ ;
+跈 > den\ ;
+跆 > tai\ ;
+趾 > shi\ ;
+趼 > gen\ ;
+趲 > san\ ;
+趯 > kan\ ;
+趨 > suu\ ;
+趦 > shi\ ;
+趟 > tou\ ;
+趕 > kan\ ;
+趑 > shi\ ;
+趍 > chi\ ;
+趈 > tan\ ;
+趄 > sho\ ;
+赿 > chi\ ;
+赱 > sou\ ;
+赭 > sha\ ;
+赬 > tei\ ;
+赦 > sha\ ;
+贜 > zou\ ;
+贛 > kou\ ;
+贗 > ken\ ;
+贓 > zou\ ;
+贒 > ken\ ;
+贍 > sen\ ;
+贊 > san\ ;
+贉 > tan\ ;
+贈 > zou\ ;
+贄 > shi\ ;
+贃 > wan\ ;
+贁 > hai\ ;
+賿 > rou\ ;
+賸 > you\ ;
+賷 > sei\ ;
+賵 > huu\ ;
+賴 > rai\ ;
+賲 > hou\ ;
+賯 > kei\ ;
+賨 > sou\ ;
+賤 > sen\ ;
+賠 > bai\ ;
+賜 > shi\ ;
+賛 > san\ ;
+賚 > rai\ ;
+賖 > sha\ ;
+賔 > hin\ ;
+賓 > hin\ ;
+賒 > sha\ ;
+賎 > sen\ ;
+賍 > sou\ ;
+賋 > kou\ ;
+賆 > hen\ ;
+賅 > kai\ ;
+賄 > wai\ ;
+貿 > bou\ ;
+貹 > sei\ ;
+貶 > hen\ ;
+貲 > shi\ ;
+貫 > kan\ ;
+貪 > don\ ;
+販 > han\ ;
+貢 > kou\ ;
+貛 > kan\ ;
+貙 > chu\ ;
+貒 > tan\ ;
+貎 > gei\ ;
+貌 > bou\ ;
+貋 > kan\ ;
+貇 > kon\ ;
+貆 > kan\ ;
+豻 > kan\ ;
+豺 > sai\ ;
+豸 > chi\ ;
+豶 > hun\ ;
+豵 > sou\ ;
+豳 > hin\ ;
+豬 > cho\ ;
+豩 > hin\ ;
+豦 > kyo\ ;
+豤 > kon\ ;
+豣 > ken\ ;
+豢 > ken\ ;
+豜 > ken\ ;
+豛 > eki\ ;
+豘 > ton\ ;
+豕 > shi\ ;
+豏 > kan\ ;
+豋 > tou\ ;
+豉 > shi\ ;
+豇 > kou\ ;
+豅 > rou\ ;
+谿 > kei\ ;
+谾 > kou\ ;
+谽 > kan\ ;
+谹 > kou\ ;
+谸 > sen\ ;
+讜 > tou\ ;
+讚 > san\ ;
+讙 > kan\ ;
+讕 > ran\ ;
+讓 > jou\ ;
+讒 > san\ ;
+譾 > sen\ ;
+譼 > kan\ ;
+譹 > kou\ ;
+譶 > tou\ ;
+譴 > ken\ ;
+譱 > zen\ ;
+譣 > sen\ ;
+譟 > sou\ ;
+譞 > ken\ ;
+譚 > tan\ ;
+譔 > sen\ ;
+譓 > kei\ ;
+譍 > you\ ;
+譈 > tai\ ;
+譄 > sou\ ;
+譂 > sen\ ;
+謾 > ban\ ;
+謰 > ren\ ;
+謭 > sei\ ;
+謦 > kei\ ;
+謠 > you\ ;
+謟 > tou\ ;
+謜 > gen\ ;
+謚 > shi\ ;
+謗 > bou\ ;
+謑 > kei\ ;
+謊 > kou\ ;
+謇 > ken\ ;
+謆 > sen\ ;
+謅 > sou\ ;
+謄 > tou\ ;
+諼 > ken\ ;
+諷 > fuu\ ;
+諵 > nan\ ;
+諴 > kan\ ;
+諰 > shi\ ;
+諮 > shi\ ;
+諬 > kei\ ;
+諫 > kan\ ;
+諧 > kai\ ;
+諢 > kon\ ;
+諡 > shi\ ;
+諠 > ken\ ;
+諟 > shi\ ;
+諞 > hen\ ;
+諝 > sho\ ;
+諚 > jou\ ;
+諕 > kou\ ;
+諓 > sen\ ;
+諏 > shu\ ;
+諍 > sou\ ;
+諌 > kan\ ;
+諉 > zui\ ;
+諈 > sui\ ;
+諄 > jun\ ;
+諂 > ten\ ;
+誾 > gin\ ;
+誻 > tou\ ;
+誷 > bou\ ;
+誶 > sui\ ;
+誩 > kei\ ;
+誨 > kai\ ;
+誥 > kou\ ;
+誡 > kai\ ;
+誟 > kou\ ;
+誙 > kou\ ;
+誗 > ten\ ;
+誕 > tan\ ;
+誏 > rou\ ;
+誃 > shi\ ;
+詿 > kai\ ;
+詼 > kai\ ;
+詺 > bii\ ;
+詹 > sen\ ;
+詷 > tou\ ;
+詬 > kou\ ;
+詥 > kou\ ;
+詣 > kei\ ;
+詢 > jun\ ;
+詝 > cho\ ;
+詜 > tou\ ;
+詓 > kyo\ ;
+詒 > tai\ ;
+詎 > kyo\ ;
+詉 > dou\ ;
+詇 > you\ ;
+詆 > tei\ ;
+詅 > rei\ ;
+詃 > ken\ ;
+詀 > tan\ ;
+訾 > shi\ ;
+訽 > kou\ ;
+訵 > chi\ ;
+訬 > sou\ ;
+訤 > kon\ ;
+訢 > kin\ ;
+訞 > you\ ;
+訕 > san\ ;
+訔 > gin\ ;
+訓 > kun\ ;
+訒 > jin\ ;
+訑 > shi\ ;
+討 > tou\ ;
+訌 > kou\ ;
+訇 > kou\ ;
+訂 > tei\ ;
+觿 > kei\ ;
+觽 > kei\ ;
+觹 > kei\ ;
+觶 > shi\ ;
+觧 > kai\ ;
+觥 > kou\ ;
+觝 > tei\ ;
+觜 > shi\ ;
+觘 > sou\ ;
+觗 > shi\ ;
+觔 > kin\ ;
+覸 > kan\ ;
+覷 > shu\ ;
+覵 > kan\ ;
+覴 > tou\ ;
+覲 > kin\ ;
+覯 > kou\ ;
+覥 > ten\ ;
+覠 > kin\ ;
+覟 > shi\ ;
+覘 > ten\ ;
+覔 > eki\ ;
+覍 > hen\ ;
+覌 > kan\ ;
+覃 > tan\ ;
+襾 > aka\ ;
+襽 > ran\ ;
+襼 > gei\ ;
+襻 > han\ ;
+襺 > ken\ ;
+襴 > ran\ ;
+襳 > sen\ ;
+襰 > rai\ ;
+襢 > tan\ ;
+襠 > tou\ ;
+襜 > sen\ ;
+襛 > jou\ ;
+襚 > sui\ ;
+襕 > ran\ ;
+襌 > tan\ ;
+襉 > kan\ ;
+襄 > jou\ ;
+襃 > hou\ ;
+褹 > gei\ ;
+褰 > ken\ ;
+褫 > chi\ ;
+褧 > kei\ ;
+褦 > dai\ ;
+褠 > kou\ ;
+褝 > tan\ ;
+褜 > ena\ ;
+褚 > cho\ ;
+褙 > hai\ ;
+褖 > tan\ ;
+褏 > yuu\ ;
+褍 > tan\ ;
+褊 > hen\ ;
+褆 > shi\ ;
+褂 > kai\ ;
+裵 > hai\ ;
+裴 > hai\ ;
+裪 > tau\ ;
+裧 > sen\ ;
+裞 > sei\ ;
+裙 > kun\ ;
+裒 > hou\ ;
+裎 > tei\ ;
+裍 > kon\ ;
+裌 > kou\ ;
+裋 > shu\ ;
+裊 > jou\ ;
+裈 > kon\ ;
+袿 > kei\ ;
+袾 > chu\ ;
+袵 > jin\ ;
+袳 > shi\ ;
+袪 > kyo\ ;
+袨 > ken\ ;
+袤 > bou\ ;
+袞 > kon\ ;
+袛 > tei\ ;
+袒 > tan\ ;
+袍 > hou\ ;
+袀 > kin\ ;
+衿 > eri\ ;
+衽 > jin\ ;
+衻 > zen\ ;
+衲 > dou\ ;
+衮 > kon\ ;
+衫 > san\ ;
+衩 > sai\ ;
+衦 > kan\ ;
+衟 > dou\ ;
+衜 > dou\ ;
+衙 > gyo\ ;
+衘 > kan\ ;
+衖 > kou\ ;
+衕 > tou\ ;
+衒 > ken\ ;
+衑 > rei\ ;
+衎 > kan\ ;
+衅 > kin\ ;
+衃 > hai\ ;
+衁 > kou\ ;
+蠻 > ban\ ;
+蠺 > san\ ;
+蠵 > kei\ ;
+蠲 > ken\ ;
+蠭 > hou\ ;
+蠣 > rei\ ;
+蠡 > rei\ ;
+蠟 > rou\ ;
+蠜 > han\ ;
+蠙 > hen\ ;
+蠔 > kou\ ;
+蠓 > bou\ ;
+蠒 > ken\ ;
+蠐 > sei\ ;
+蠏 > kai\ ;
+蠊 > ren\ ;
+蠉 > ken\ ;
+蠆 > tai\ ;
+蠅 > you\ ;
+蟿 > kei\ ;
+蟾 > sen\ ;
+蟺 > sen\ ;
+蟸 > rei\ ;
+蟷 > tou\ ;
+蟶 > tei\ ;
+蟳 > jin\ ;
+蟱 > bou\ ;
+蟬 > sen\ ;
+蟪 > kei\ ;
+蟤 > sen\ ;
+蟠 > han\ ;
+蟚 > hou\ ;
+蟖 > shi\ ;
+蟕 > sui\ ;
+蟒 > bou\ ;
+蟐 > tou\ ;
+蟊 > bou\ ;
+蟁 > bun\ ;
+螻 > rou\ ;
+螳 > tou\ ;
+螯 > gou\ ;
+螮 > tei\ ;
+螭 > chi\ ;
+螬 > sou\ ;
+螧 > ebi\ ;
+螣 > tou\ ;
+螟 > mei\ ;
+螗 > tou\ ;
+螕 > hei\ ;
+螌 > han\ ;
+螈 > gen\ ;
+螇 > kei\ ;
+螆 > shi\ ;
+螅 > shi\ ;
+螄 > shi\ ;
+螃 > hou\ ;
+螂 > rou\ ;
+蝻 > nan\ ;
+蝱 > mou\ ;
+蝪 > tou\ ;
+蝦 > ebi\ ;
+蝥 > bou\ ;
+蝣 > yuu\ ;
+蝡 > zen\ ;
+蝗 > kou\ ;
+蝅 > san\ ;
+蝃 > tei\ ;
+蝀 > tou\ ;
+蜺 > gei\ ;
+蜹 > zei\ ;
+蜷 > ken\ ;
+蜴 > eki\ ;
+蜯 > hou\ ;
+蜡 > sho\ ;
+蜟 > iku\ ;
+蜖 > kai\ ;
+蜕 > zei\ ;
+蜔 > ten\ ;
+蜓 > ten\ ;
+蜑 > tan\ ;
+蜏 > yuu\ ;
+蜍 > sho\ ;
+蜋 > rou\ ;
+蛽 > bai\ ;
+蛼 > sha\ ;
+蛻 > zei\ ;
+蛯 > ebi\ ;
+蛮 > ban\ ;
+蛧 > bou\ ;
+蛠 > rei\ ;
+蛟 > kou\ ;
+蛗 > huu\ ;
+蛕 > kai\ ;
+蛔 > kai\ ;
+蛑 > bou\ ;
+蛎 > rei\ ;
+蛋 > tan\ ;
+蛅 > zen\ ;
+蛃 > hei\ ;
+蛀 > shu\ ;
+蚿 > ken\ ;
+蚷 > kyo\ ;
+蚶 > kan\ ;
+蚴 > yuu\ ;
+蚳 > chi\ ;
+蚰 > yuu\ ;
+蚫 > hou\ ;
+蚪 > tou\ ;
+蚩 > shi\ ;
+蚧 > kai\ ;
+蚦 > zen\ ;
+蚣 > kou\ ;
+蚡 > hun\ ;
+蚘 > kai\ ;
+蚖 > gen\ ;
+蚌 > hou\ ;
+蚈 > ken\ ;
+虻 > abu\ ;
+虷 > kan\ ;
+虵 > sha\ ;
+虤 > gan\ ;
+虣 > hou\ ;
+虢 > hou\ ;
+虡 > kyo\ ;
+虠 > kou\ ;
+虛 > kyo\ ;
+虗 > kyo\ ;
+虔 > ken\ ;
+虓 > kou\ ;
+虒 > shi\ ;
+虆 > rui\ ;
+虀 > sei\ ;
+蘸 > san\ ;
+蘯 > tou\ ;
+蘩 > han\ ;
+蘢 > rou\ ;
+蘞 > ren\ ;
+蘛 > iku\ ;
+蘚 > sen\ ;
+蘘 > jou\ ;
+蘐 > ken\ ;
+蘏 > kei\ ;
+蘍 > kun\ ;
+蘋 > hin\ ;
+蘅 > kou\ ;
+藾 > rai\ ;
+藼 > ken\ ;
+藺 > rin\ ;
+藷 > sho\ ;
+藳 > kou\ ;
+藟 > rui\ ;
+藘 > ryo\ ;
+藕 > guu\ ;
+藏 > zou\ ;
+藊 > hen\ ;
+藇 > sho\ ;
+藂 > sou\ ;
+薾 > shi\ ;
+薹 > tai\ ;
+薶 > bai\ ;
+薴 > nou\ ;
+薰 > kun\ ;
+薭 > hai\ ;
+薫 > kun\ ;
+薨 > kou\ ;
+薧 > kou\ ;
+薤 > kai\ ;
+薢 > kai\ ;
+薠 > han\ ;
+薟 > ren\ ;
+薝 > sen\ ;
+薙 > tei\ ;
+薐 > rou\ ;
+薋 > shi\ ;
+薉 > wai\ ;
+薈 > kai\ ;
+薅 > kou\ ;
+薁 > iku\ ;
+蕿 > ken\ ;
+蕽 > dou\ ;
+蕻 > kou\ ;
+蕹 > you\ ;
+蕯 > rou\ ;
+蕫 > tou\ ;
+蕤 > zui\ ;
+蕢 > kai\ ;
+蕡 > hun\ ;
+蕞 > sai\ ;
+蕙 > kei\ ;
+蕘 > jou\ ;
+蕖 > kyo\ ;
+蕕 > yuu\ ;
+蕒 > bai\ ;
+蕑 > kan\ ;
+蕏 > cho\ ;
+蕋 > zui\ ;
+蕊 > zui\ ;
+蕆 > ten\ ;
+蕃 > ban\ ;
+蕁 > jin\ ;
+蔳 > sen\ ;
+蔲 > kou\ ;
+蔪 > sen\ ;
+蔧 > sei\ ;
+蔥 > sou\ ;
+蔡 > sai\ ;
+蔞 > rou\ ;
+蔜 > gou\ ;
+蔗 > sho\ ;
+蔓 > ban\ ;
+蔂 > rui\ ;
+蔀 > hou\ ;
+蓺 > gei\ ;
+蓷 > tai\ ;
+蓱 > hei\ ;
+蓰 > shi\ ;
+蓯 > sou\ ;
+蓪 > tou\ ;
+蓜 > hai\ ;
+蓓 > hai\ ;
+蓍 > shi\ ;
+蓉 > you\ ;
+蓈 > kou\ ;
+蓂 > mei\ ;
+蓀 > son\ ;
+蒿 > kou\ ;
+蒾 > bei\ ;
+蒹 > ken\ ;
+蒯 > kai\ ;
+蒭 > suu\ ;
+蒨 > sen\ ;
+蒡 > hou\ ;
+蒓 > jun\ ;
+蒒 > shi\ ;
+蒄 > kan\ ;
+蒂 > tei\ ;
+葽 > you\ ;
+葼 > sou\ ;
+葹 > shi\ ;
+葸 > sai\ ;
+葷 > gun\ ;
+葶 > tei\ ;
+葵 > aoi\ ;
+葰 > sui\ ;
+葮 > tan\ ;
+葪 > kei\ ;
+葥 > sen\ ;
+葢 > gai\ ;
+葘 > shi\ ;
+葒 > kou\ ;
+葑 > hou\ ;
+葏 > sen\ ;
+葈 > shi\ ;
+葇 > juu\ ;
+葅 > sho\ ;
+萹 > hen\ ;
+萱 > ken\ ;
+萯 > huu\ ;
+萠 > hou\ ;
+萕 > sei\ ;
+萑 > kan\ ;
+萏 > tan\ ;
+萍 > hei\ ;
+萋 > sei\ ;
+萊 > rai\ ;
+萃 > sui\ ;
+菼 > tan\ ;
+菻 > rin\ ;
+菹 > sho\ ;
+菷 > sou\ ;
+菶 > hou\ ;
+菪 > tou\ ;
+菘 > suu\ ;
+菑 > shi\ ;
+菎 > kon\ ;
+菌 > kin\ ;
+菅 > kan\ ;
+菁 > sei\ ;
+莿 > shi\ ;
+莾 > mou\ ;
+莽 > bou\ ;
+莱 > rai\ ;
+莬 > bun\ ;
+莧 > kan\ ;
+莦 > sou\ ;
+莠 > yuu\ ;
+莟 > kan\ ;
+莞 > kan\ ;
+莛 > tei\ ;
+莙 > kin\ ;
+莖 > kei\ ;
+莕 > kou\ ;
+莔 > mou\ ;
+莓 > mai\ ;
+莒 > kyo\ ;
+莊 > sou\ ;
+莉 > chi\ ;
+莇 > cho\ ;
+莄 > kou\ ;
+荿 > sei\ ;
+荻 > ogi\ ;
+荵 > jin\ ;
+荳 > tou\ ;
+荘 > sou\ ;
+荖 > hou\ ;
+荕 > kin\ ;
+荓 > hei\ ;
+荑 > tei\ ;
+荐 > sen\ ;
+荎 > chi\ ;
+荊 > kei\ ;
+荇 > kou\ ;
+荆 > kei\ ;
+荅 > tou\ ;
+荄 > kai\ ;
+荃 > sen\ ;
+荀 > jun\ ;
+茼 > tou\ ;
+茷 > hai\ ;
+茴 > kai\ ;
+茳 > kou\ ;
+茱 > shu\ ;
+茬 > shi\ ;
+茝 > sai\ ;
+茛 > kon\ ;
+茗 > mei\ ;
+茋 > shi\ ;
+茊 > shi\ ;
+茈 > shi\ ;
+茆 > bou\ ;
+范 > han\ ;
+苹 > hei\ ;
+苷 > kan\ ;
+苳 > tou\ ;
+苯 > hon\ ;
+苭 > you\ ;
+苫 > sen\ ;
+苪 > hei\ ;
+苨 > dei\ ;
+苧 > cho\ ;
+苣 > kyo\ ;
+苠 > bin\ ;
+苟 > kou\ ;
+苞 > hou\ ;
+苚 > you\ ;
+苓 > rei\ ;
+苒 > zen\ ;
+苐 > tei\ ;
+苅 > gai\ ;
+芿 > jou\ ;
+芼 > bou\ ;
+芻 > suu\ ;
+芷 > shi\ ;
+芮 > zei\ ;
+芬 > fun\ ;
+芫 > gen\ ;
+芩 > kin\ ;
+芧 > cho\ ;
+芥 > kai\ ;
+芤 > kou\ ;
+芣 > huu\ ;
+芡 > ken\ ;
+芠 > bun\ ;
+芟 > san\ ;
+芚 > ton\ ;
+芖 > chi\ ;
+芋 > imo\ ;
+芊 > sen\ ;
+芉 > kai\ ;
+芇 > ben\ ;
+芄 > kan\ ;
+芃 > hou\ ;
+芁 > kou\ ;
+艿 > jou\ ;
+艾 > gai\ ;
+艱 > kan\ ;
+艮 > kon\ ;
+艭 > sou\ ;
+艨 > mou\ ;
+艦 > kan\ ;
+艠 > tou\ ;
+艟 > dou\ ;
+艜 > tai\ ;
+艚 > sou\ ;
+艙 > sou\ ;
+艘 > sou\ ;
+艑 > hen\ ;
+艎 > kou\ ;
+艋 > mou\ ;
+艇 > tei\ ;
+艆 > rou\ ;
+艄 > sou\ ;
+舺 > kou\ ;
+舷 > ken\ ;
+舲 > rei\ ;
+舫 > hou\ ;
+舩 > sen\ ;
+舨 > han\ ;
+舢 > san\ ;
+舡 > kou\ ;
+舛 > sen\ ;
+舚 > ten\ ;
+舙 > kuu\ ;
+舘 > kan\ ;
+舔 > ten\ ;
+舓 > shi\ ;
+舐 > shi\ ;
+舍 > sha\ ;
+舉 > kyo\ ;
+舀 > you\ ;
+臿 > sou\ ;
+臽 > kan\ ;
+臶 > sen\ ;
+臱 > ben\ ;
+臧 > zou\ ;
+臤 > kan\ ;
+臡 > dei\ ;
+臠 > ren\ ;
+臚 > ryo\ ;
+臘 > rou\ ;
+臗 > kon\ ;
+臓 > zou\ ;
+臑 > dau\ ;
+臏 > hin\ ;
+臎 > sui\ ;
+臋 > den\ ;
+臊 > sou\ ;
+臉 > ren\ ;
+臈 > rou\ ;
+臆 > oku\ ;
+臃 > you\ ;
+臀 > den\ ;
+膾 > kai\ ;
+膻 > tan\ ;
+膺 > you\ ;
+膸 > zui\ ;
+膵 > sui\ ;
+膰 > han\ ;
+膨 > bou\ ;
+膢 > rou\ ;
+膞 > sen\ ;
+膛 > tou\ ;
+膖 > hou\ ;
+膐 > ryo\ ;
+膏 > kou\ ;
+膎 > kai\ ;
+膅 > tou\ ;
+膂 > ryo\ ;
+膁 > ken\ ;
+膀 > hou\ ;
+腺 > sen\ ;
+腱 > ken\ ;
+腫 > shu\ ;
+腩 > dan\ ;
+腨 > sen\ ;
+腧 > shu\ ;
+腥 > sei\ ;
+腠 > sou\ ;
+腔 > kou\ ;
+腒 > kyo\ ;
+腎 > jin\ ;
+腌 > you\ ;
+腇 > dai\ ;
+腆 > ten\ ;
+腅 > tan\ ;
+腁 > hen\ ;
+脺 > zei\ ;
+脰 > tou\ ;
+脬 > hou\ ;
+脧 > sai\ ;
+脠 > sen\ ;
+脘 > kan\ ;
+脗 > bun\ ;
+脆 > zei\ ;
+脃 > zei\ ;
+胾 > shi\ ;
+胼 > hen\ ;
+胶 > kou\ ;
+胲 > kai\ ;
+胱 > kou\ ;
+胮 > hou\ ;
+胥 > sho\ ;
+胠 > kyo\ ;
+胝 > chi\ ;
+胛 > kou\ ;
+胚 > hai\ ;
+胘 > ken\ ;
+胖 > han\ ;
+胔 > shi\ ;
+胒 > dei\ ;
+胏 > shi\ ;
+肺 > hai\ ;
+肬 > yuu\ ;
+肪 > bou\ ;
+肧 > hai\ ;
+肦 > fun\ ;
+肢 > shi\ ;
+肜 > yuu\ ;
+肛 > kou\ ;
+肓 > kou\ ;
+肎 > kou\ ;
+聹 > dei\ ;
+聶 > jou\ ;
+聵 > gai\ ;
+聱 > gou\ ;
+聰 > sou\ ;
+聯 > ren\ ;
+聮 > ren\ ;
+聫 > ren\ ;
+聨 > ren\ ;
+聦 > sou\ ;
+聤 > tei\ ;
+聡 > sou\ ;
+聠 > hei\ ;
+聟 > sei\ ;
+聘 > hei\ ;
+聆 > rei\ ;
+耿 > kou\ ;
+耾 > kou\ ;
+耼 > tan\ ;
+耹 > kin\ ;
+耷 > tou\ ;
+耵 > tei\ ;
+耰 > yuu\ ;
+耮 > rou\ ;
+耬 > rou\ ;
+耨 > dou\ ;
+耦 > gou\ ;
+耠 > kou\ ;
+耟 > kyo\ ;
+耝 > sho\ ;
+耜 > shi\ ;
+耗 > mou\ ;
+耖 > sou\ ;
+耔 > shi\ ;
+耓 > tei\ ;
+耒 > rai\ ;
+耑 > tan\ ;
+耎 > zen\ ;
+耉 > kou\ ;
+耈 > kou\ ;
+耇 > kou\ ;
+耄 > mou\ ;
+耀 > you\ ;
+翿 > tou\ ;
+翾 > ken\ ;
+翽 > kai\ ;
+翺 > gou\ ;
+翰 > kan\ ;
+翫 > gan\ ;
+翩 > hen\ ;
+翨 > shi\ ;
+翦 > sen\ ;
+翥 > sho\ ;
+翣 > sou\ ;
+翠 > sui\ ;
+翛 > yuu\ ;
+翎 > rei\ ;
+翈 > kou\ ;
+翆 > sui\ ;
+翅 > shi\ ;
+翃 > kou\ ;
+羿 > gei\ ;
+羼 > san\ ;
+羸 > rui\ ;
+羶 > sen\ ;
+羴 > sen\ ;
+羪 > you\ ;
+羦 > kan\ ;
+羣 > gun\ ;
+羢 > jou\ ;
+羡 > sen\ ;
+羝 > tei\ ;
+羜 > cho\ ;
+羚 > rei\ ;
+羘 > sou\ ;
+羔 > kou\ ;
+羑 > yuu\ ;
+羐 > yuu\ ;
+羏 > you\ ;
+羂 > ken\ ;
+罾 > sou\ ;
+罽 > kei\ ;
+署 > sho\ ;
+罱 > gun\ ;
+罫 > kei\ ;
+罩 > tou\ ;
+罥 > ken\ ;
+罤 > tei\ ;
+罣 > kai\ ;
+罡 > kou\ ;
+罝 > sha\ ;
+罜 > shu\ ;
+罕 > kan\ ;
+罔 > mou\ ;
+罓 > mou\ ;
+罒 > mou\ ;
+网 > bou\ ;
+罍 > rai\ ;
+罇 > son\ ;
+罄 > kei\ ;
+缿 > tou\ ;
+缾 > hei\ ;
+缸 > kou\ ;
+缷 > sha\ ;
+缶 > kan\ ;
+缐 > sen\ ;
+绹 > tou\ ;
+纻 > cho\ ;
+纮 > kou\ ;
+纞 > ren\ ;
+纝 > rui\ ;
+纜 > ran\ ;
+纛 > tou\ ;
+纚 > shi\ ;
+纘 > sab\ ;
+纖 > sen\ ;
+纔 > san\ ;
+纐 > kou\ ;
+纎 > sen\ ;
+纍 > rui\ ;
+纊 > kou\ ;
+纉 > san\ ;
+纇 > rai\ ;
+纁 > kun\ ;
+繿 > ran\ ;
+繾 > ten\ ;
+繽 > hin\ ;
+繹 > eki\ ;
+繸 > sui\ ;
+繯 > ken\ ;
+繫 > kei\ ;
+繤 > san\ ;
+繢 > kai\ ;
+繟 > sen\ ;
+繝 > kan\ ;
+繙 > han\ ;
+繖 > san\ ;
+繐 > kei\ ;
+繎 > bin\ ;
+繋 > kei\ ;
+繊 > sen\ ;
+繇 > you\ ;
+繅 > sou\ ;
+繃 > hou\ ;
+縿 > san\ ;
+縺 > ren\ ;
+縵 > ban\ ;
+縴 > ken\ ;
+縳 > ten\ ;
+縲 > rui\ ;
+縨 > kou\ ;
+縧 > tou\ ;
+縣 > ken\ ;
+縢 > tou\ ;
+縡 > sai\ ;
+縗 > sai\ ;
+縒 > shi\ ;
+縑 > ken\ ;
+縆 > kou\ ;
+縂 > sou\ ;
+緻 > chi\ ;
+緺 > kai\ ;
+緹 > tei\ ;
+緶 > hen\ ;
+緵 > sou\ ;
+緱 > kou\ ;
+緫 > sou\ ;
+緪 > kou\ ;
+緦 > shi\ ;
+緥 > hou\ ;
+緢 > bou\ ;
+緡 > bin\ ;
+緞 > tan\ ;
+緜 > ben\ ;
+緘 > kan\ ;
+緖 > sho\ ;
+緍 > bin\ ;
+緌 > zui\ ;
+緇 > shi\ ;
+緄 > kon\ ;
+緂 > tan\ ;
+綻 > tan\ ;
+綸 > rin\ ;
+綷 > sai\ ;
+綵 > sai\ ;
+綳 > hou\ ;
+綰 > wan\ ;
+綯 > tou\ ;
+綮 > kei\ ;
+綫 > sen\ ;
+綪 > sen\ ;
+綣 > ken\ ;
+綟 > rei\ ;
+綜 > sou\ ;
+綗 > gei\ ;
+綑 > kon\ ;
+綏 > sui\ ;
+綋 > kou\ ;
+綉 > tou\ ;
+綈 > tei\ ;
+綆 > kou\ ;
+綂 > tou\ ;
+綁 > hou\ ;
+絽 > ryo\ ;
+絻 > bun\ ;
+絺 > chi\ ;
+絸 > ken\ ;
+絳 > kou\ ;
+絧 > tou\ ;
+絢 > ken\ ;
+絛 > jou\ ;
+絚 > kou\ ;
+絙 > kan\ ;
+絖 > kou\ ;
+絓 > kai\ ;
+絑 > shu\ ;
+絎 > kou\ ;
+絍 > jin\ ;
+絋 > kou\ ;
+絅 > kei\ ;
+絃 > gen\ ;
+絁 > shi\ ;
+紿 > tai\ ;
+紵 > cho\ ;
+紭 > kou\ ;
+紪 > sei\ ;
+紣 > sai\ ;
+紡 > bou\ ;
+紞 > tan\ ;
+紝 > jin\ ;
+紘 > kou\ ;
+紓 > sho\ ;
+紒 > kei\ ;
+紑 > huu\ ;
+紏 > tou\ ;
+紊 > bin\ ;
+紉 > jin\ ;
+紈 > kan\ ;
+系 > kei\ ;
+糲 > rei\ ;
+糰 > dan\ ;
+糫 > kai\ ;
+糩 > kai\ ;
+糦 > shi\ ;
+糤 > san\ ;
+糟 > sou\ ;
+糝 > san\ ;
+糚 > sou\ ;
+糙 > sou\ ;
+糕 > kou\ ;
+糍 > shi\ ;
+糉 > sou\ ;
+糈 > sho\ ;
+糇 > kou\ ;
+糅 > juu\ ;
+糄 > hen\ ;
+糂 > san\ ;
+粽 > sou\ ;
+粼 > rin\ ;
+粺 > hai\ ;
+粹 > sui\ ;
+粳 > kou\ ;
+粲 > san\ ;
+粰 > fuu\ ;
+粦 > rin\ ;
+粢 > shi\ ;
+粡 > tou\ ;
+粠 > kou\ ;
+粞 > sei\ ;
+粘 > nen\ ;
+粔 > kyo\ ;
+粋 > iki\ ;
+粇 > kou\ ;
+籽 > shi\ ;
+籼 > sen\ ;
+籭 > shi\ ;
+籩 > hen\ ;
+籧 > kyo\ ;
+籣 > ran\ ;
+籟 > rai\ ;
+籞 > gyo\ ;
+籛 > sen\ ;
+籘 > tou\ ;
+籓 > han\ ;
+籑 > sen\ ;
+籃 > ran\ ;
+簽 > sen\ ;
+簺 > sai\ ;
+簹 > tou\ ;
+簴 > kyo\ ;
+簳 > kan\ ;
+簧 > kou\ ;
+簦 > tou\ ;
+簟 > ten\ ;
+簞 > tan\ ;
+簛 > shi\ ;
+簓 > sen\ ;
+簒 > san\ ;
+簍 > rou\ ;
+簇 > sou\ ;
+簆 > kou\ ;
+簁 > shi\ ;
+篼 > tou\ ;
+篺 > hai\ ;
+篹 > san\ ;
+篷 > hou\ ;
+篵 > sou\ ;
+篲 > sui\ ;
+篪 > chi\ ;
+篨 > cho\ ;
+篦 > hei\ ;
+篡 > san\ ;
+篝 > kou\ ;
+篙 > kou\ ;
+篖 > tou\ ;
+篏 > kan\ ;
+篌 > kou\ ;
+篊 > kou\ ;
+篈 > hou\ ;
+篇 > hen\ ;
+篆 > ten\ ;
+篅 > sui\ ;
+篂 > sei\ ;
+箽 > tou\ ;
+箼 > oku\ ;
+箵 > sei\ ;
+箲 > sen\ ;
+箯 > hen\ ;
+箭 > sen\ ;
+箠 > sui\ ;
+箟 > kin\ ;
+箞 > ken\ ;
+箝 > kan\ ;
+箜 > kou\ ;
+箘 > kin\ ;
+箖 > rin\ ;
+箑 > sou\ ;
+箐 > sei\ ;
+箏 > sou\ ;
+箉 > kai\ ;
+箄 > hai\ ;
+筷 > kai\ ;
+筳 > tei\ ;
+筲 > sou\ ;
+筯 > cho\ ;
+筮 > sei\ ;
+筭 > san\ ;
+筬 > sei\ ;
+筪 > kou\ ;
+筩 > tou\ ;
+筦 > kan\ ;
+筥 > kyo\ ;
+筤 > rou\ ;
+筝 > sou\ ;
+筕 > kou\ ;
+筌 > sen\ ;
+筅 > sen\ ;
+筀 > kei\ ;
+笶 > shi\ ;
+笵 > han\ ;
+笱 > kou\ ;
+笭 > rei\ ;
+笫 > shi\ ;
+笪 > tan\ ;
+笩 > hai\ ;
+笨 > hon\ ;
+笣 > hou\ ;
+笞 > chi\ ;
+笙 > sou\ ;
+笘 > sen\ ;
+笋 > jun\ ;
+笇 > san\ ;
+竾 > shi\ ;
+竼 > hou\ ;
+竸 > kei\ ;
+竱 > sen\ ;
+竫 > sei\ ;
+竢 > shi\ ;
+竛 > rei\ ;
+竚 > cho\ ;
+站 > tan\ ;
+竑 > kou\ ;
+竎 > fuu\ ;
+竌 > sho\ ;
+竉 > rou\ ;
+竇 > tou\ ;
+竄 > zan\ ;
+窼 > sou\ ;
+窻 > sou\ ;
+窰 > you\ ;
+窞 > tan\ ;
+窘 > kin\ ;
+窗 > sou\ ;
+窖 > kou\ ;
+窔 > you\ ;
+窑 > you\ ;
+窐 > kei\ ;
+窈 > you\ ;
+窆 > bin\ ;
+窅 > you\ ;
+窂 > rou\ ;
+穾 > you\ ;
+穽 > sei\ ;
+穰 > jou\ ;
+穭 > ryo\ ;
+穧 > sei\ ;
+穣 > jou\ ;
+穠 > jou\ ;
+穟 > sui\ ;
+穝 > sai\ ;
+穜 > tou\ ;
+穈 > bon\ ;
+穇 > san\ ;
+穅 > kou\ ;
+穄 > sei\ ;
+穃 > you\ ;
+稾 > kou\ ;
+稺 > chi\ ;
+稵 > shi\ ;
+稴 > ren\ ;
+稰 > sho\ ;
+稯 > sou\ ;
+稧 > kei\ ;
+稟 > rin\ ;
+稛 > kon\ ;
+稗 > hie\ ;
+稔 > jin\ ;
+稊 > tei\ ;
+稉 > kou\ ;
+稈 > kan\ ;
+稇 > kon\ ;
+稅 > zei\ ;
+稂 > rou\ ;
+秼 > shu\ ;
+秱 > tou\ ;
+秭 > shi\ ;
+秬 > kyo\ ;
+秪 > chi\ ;
+秥 > den\ ;
+秢 > rei\ ;
+秞 > yuu\ ;
+秚 > han\ ;
+秖 > shi\ ;
+秔 > kou\ ;
+秏 > kou\ ;
+秊 > nen\ ;
+秉 > hei\ ;
+秈 > sen\ ;
+秇 > gei\ ;
+秄 > shi\ ;
+秂 > jin\ ;
+离 > chi\ ;
+禺 > guu\ ;
+禸 > juu\ ;
+禳 > jou\ ;
+禱 > tou\ ;
+禯 > jou\ ;
+禫 > tan\ ;
+禪 > zen\ ;
+禩 > shi\ ;
+禦 > gyo\ ;
+禘 > tei\ ;
+禖 > bai\ ;
+禔 > shi\ ;
+禓 > you\ ;
+禎 > tei\ ;
+禌 > shi\ ;
+禀 > rin\ ;
+祼 > kan\ ;
+祹 > tou\ ;
+祫 > kou\ ;
+祩 > shu\ ;
+祢 > dei\ ;
+祠 > shi\ ;
+祟 > sui\ ;
+祛 > kyo\ ;
+祘 > san\ ;
+祗 > shi\ ;
+祐 > yuu\ ;
+祋 > tai\ ;
+祊 > hou\ ;
+祉 > shi\ ;
+祆 > ken\ ;
+祅 > you\ ;
+祄 > kai\ ;
+祀 > shi\ ;
+礽 > jou\ ;
+礻 > shi\ ;
+礵 > sou\ ;
+礱 > rou\ ;
+礬 > ban\ ;
+礪 > rei\ ;
+礧 > rai\ ;
+礦 > kou\ ;
+礥 > kin\ ;
+礟 > hou\ ;
+礞 > bou\ ;
+礚 > kai\ ;
+礑 > tou\ ;
+礌 > rai\ ;
+礇 > iku\ ;
+礆 > ken\ ;
+礀 > kan\ ;
+磽 > kou\ ;
+磻 > han\ ;
+磺 > kou\ ;
+磷 > rin\ ;
+磴 > tou\ ;
+磳 > sou\ ;
+磲 > kyo\ ;
+磬 > kei\ ;
+磪 > sai\ ;
+磡 > kan\ ;
+磛 > san\ ;
+磚 > sen\ ;
+磖 > rou\ ;
+磕 > kai\ ;
+磓 > tai\ ;
+磑 > gai\ ;
+磎 > kei\ ;
+磌 > ten\ ;
+磊 > rai\ ;
+磉 > sou\ ;
+磇 > hei\ ;
+磅 > hou\ ;
+碾 > ten\ ;
+碽 > kou\ ;
+碳 > tan\ ;
+碲 > tei\ ;
+碱 > ken\ ;
+碰 > hou\ ;
+碯 > dou\ ;
+碭 > tou\ ;
+碨 > wai\ ;
+碞 > gan\ ;
+碝 > zen\ ;
+碚 > hai\ ;
+碘 > ten\ ;
+碓 > tai\ ;
+碎 > sai\ ;
+碍 > gai\ ;
+碊 > sen\ ;
+碇 > tei\ ;
+硼 > hou\ ;
+硯 > ken\ ;
+硨 > sha\ ;
+硤 > kou\ ;
+硣 > kou\ ;
+硡 > kou\ ;
+硠 > rou\ ;
+硜 > kou\ ;
+硙 > gai\ ;
+硒 > sei\ ;
+硏 > ken\ ;
+硎 > kei\ ;
+硇 > dou\ ;
+硅 > kei\ ;
+硄 > kou\ ;
+硃 > shu\ ;
+砿 > kou\ ;
+砺 > rei\ ;
+砲 > hou\ ;
+砰 > hou\ ;
+砭 > hen\ ;
+砠 > sho\ ;
+砎 > kai\ ;
+砍 > kan\ ;
+砌 > sei\ ;
+砅 > rei\ ;
+矼 > kou\ ;
+矸 > kan\ ;
+矴 > tei\ ;
+矰 > sou\ ;
+矮 > wai\ ;
+矦 > kou\ ;
+矙 > kan\ ;
+矕 > ban\ ;
+矒 > bou\ ;
+矉 > hin\ ;
+矈 > ben\ ;
+矇 > mou\ ;
+矃 > gei\ ;
+瞵 > rin\ ;
+瞱 > you\ ;
+瞰 > kan\ ;
+瞯 > kan\ ;
+瞪 > dou\ ;
+瞢 > bou\ ;
+瞞 > ban\ ;
+瞑 > mei\ ;
+瞍 > sou\ ;
+瞌 > kou\ ;
+瞀 > bou\ ;
+睾 > kou\ ;
+睽 > kei\ ;
+睺 > kou\ ;
+睴 > kon\ ;
+睳 > kei\ ;
+睲 > sei\ ;
+睬 > sai\ ;
+睪 > eki\ ;
+睧 > kon\ ;
+睥 > hei\ ;
+睤 > hei\ ;
+睠 > ken\ ;
+睟 > sui\ ;
+睞 > rai\ ;
+睜 > sei\ ;
+睛 > sei\ ;
+睚 > gai\ ;
+睒 > sen\ ;
+睏 > kon\ ;
+睍 > ken\ ;
+睇 > tei\ ;
+睆 > kan\ ;
+睅 > kan\ ;
+眸 > bou\ ;
+眷 > ken\ ;
+眵 > shi\ ;
+眴 > ken\ ;
+眯 > bei\ ;
+眮 > tou\ ;
+眨 > sou\ ;
+眦 > sei\ ;
+眥 > sei\ ;
+眤 > tei\ ;
+眢 > wan\ ;
+眛 > mai\ ;
+眚 > sei\ ;
+眙 > chi\ ;
+眔 > tou\ ;
+眎 > shi\ ;
+眊 > bou\ ;
+眈 > tan\ ;
+眆 > hou\ ;
+眄 > ben\ ;
+眀 > bei\ ;
+盼 > han\ ;
+盻 > kei\ ;
+盶 > gin\ ;
+盰 > kan\ ;
+盪 > tou\ ;
+盨 > shu\ ;
+盤 > ban\ ;
+盠 > rei\ ;
+盟 > mei\ ;
+盞 > san\ ;
+盖 > gai\ ;
+盔 > kai\ ;
+盒 > kou\ ;
+盍 > kou\ ;
+盌 > wan\ ;
+皽 > ten\ ;
+皨 > sei\ ;
+皥 > kou\ ;
+皣 > you\ ;
+皠 > sai\ ;
+皝 > kou\ ;
+皜 > kou\ ;
+皚 > gai\ ;
+皖 > kan\ ;
+皓 > kou\ ;
+皐 > kou\ ;
+皎 > kou\ ;
+皋 > kou\ ;
+皅 > hae\ ;
+皃 > bou\ ;
+皁 > sou\ ;
+癴 > ren\ ;
+癲 > ten\ ;
+癱 > tan\ ;
+癰 > you\ ;
+癬 > sen\ ;
+癩 > rai\ ;
+癢 > you\ ;
+癡 > chi\ ;
+癜 > den\ ;
+癙 > sho\ ;
+癘 > rei\ ;
+癕 > you\ ;
+癉 > tan\ ;
+癈 > hai\ ;
+癆 > rou\ ;
+癀 > kou\ ;
+瘻 > rou\ ;
+瘺 > rou\ ;
+瘵 > sai\ ;
+瘰 > rui\ ;
+瘩 > tou\ ;
+瘦 > sou\ ;
+瘣 > kai\ ;
+瘢 > han\ ;
+瘡 > sou\ ;
+瘝 > kan\ ;
+瘛 > sei\ ;
+瘙 > sou\ ;
+瘓 > tan\ ;
+瘒 > gon\ ;
+瘍 > you\ ;
+瘋 > fuu\ ;
+瘊 > kou\ ;
+瘈 > kei\ ;
+瘁 > sui\ ;
+痳 > rin\ ;
+痰 > tan\ ;
+痯 > kan\ ;
+痬 > eki\ ;
+痣 > aza\ ;
+痠 > san\ ;
+痙 > kei\ ;
+痘 > tou\ ;
+痗 > bai\ ;
+痎 > kai\ ;
+痌 > tou\ ;
+痊 > sen\ ;
+痃 > ken\ ;
+痁 > sen\ ;
+疽 > sho\ ;
+疼 > tou\ ;
+疺 > hou\ ;
+疸 > tan\ ;
+疵 > shi\ ;
+疳 > kan\ ;
+疱 > hou\ ;
+疫 > eki\ ;
+疥 > kai\ ;
+疣 > ibo\ ;
+疝 > san\ ;
+疓 > zai\ ;
+疐 > chi\ ;
+疉 > jou\ ;
+疂 > jou\ ;
+疁 > ryu\ ;
+畾 > sui\ ;
+畽 > ton\ ;
+畤 > shi\ ;
+畡 > kai\ ;
+畞 > bou\ ;
+畚 > hon\ ;
+畗 > tou\ ;
+畎 > ken\ ;
+畍 > kai\ ;
+畋 > ten\ ;
+畊 > kou\ ;
+畈 > han\ ;
+甿 > mou\ ;
+甾 > shi\ ;
+甽 > ken\ ;
+甹 > hei\ ;
+甸 > ten\ ;
+甴 > sou\ ;
+甯 > nei\ ;
+甬 > you\ ;
+甤 > zui\ ;
+產 > san\ ;
+甠 > sei\ ;
+甜 > ten\ ;
+甛 > ten\ ;
+甗 > gen\ ;
+甑 > sou\ ;
+甎 > sen\ ;
+甍 > bou\ ;
+甆 > shi\ ;
+甄 > ken\ ;
+甁 > hei\ ;
+瓿 > hou\ ;
+瓻 > chi\ ;
+瓷 > shi\ ;
+瓴 > rii\ ;
+瓲 > ton\ ;
+瓫 > hon\ ;
+瓪 > han\ ;
+瓨 > kou\ ;
+瓣 > ben\ ;
+瓛 > kan\ ;
+瓚 > san\ ;
+瓘 > kan\ ;
+瓓 > ran\ ;
+瓏 > rou\ ;
+瓌 > kai\ ;
+瓊 > kei\ ;
+瓉 > san\ ;
+瓈 > rei\ ;
+璿 > sen\ ;
+璻 > sui\ ;
+璲 > sui\ ;
+璯 > kai\ ;
+璮 > tan\ ;
+璫 > tou\ ;
+璪 > sou\ ;
+璩 > kyo\ ;
+璨 > san\ ;
+璠 > han\ ;
+璜 > kou\ ;
+璚 > kei\ ;
+璘 > rin\ ;
+璒 > tou\ ;
+璏 > tei\ ;
+璉 > rin\ ;
+璇 > sen\ ;
+璅 > sou\ ;
+璁 > sou\ ;
+璀 > sai\ ;
+瑾 > kin\ ;
+瑶 > you\ ;
+瑱 > ten\ ;
+瑰 > kai\ ;
+瑯 > rou\ ;
+瑭 > tou\ ;
+瑫 > tou\ ;
+瑤 > you\ ;
+瑢 > you\ ;
+瑞 > zui\ ;
+瑝 > kou\ ;
+瑙 > dou\ ;
+瑑 > ten\ ;
+瑍 > kan\ ;
+瑇 > tai\ ;
+瑆 > sei\ ;
+瑅 > tei\ ;
+瑄 > sen\ ;
+瑁 > bou\ ;
+琿 > kon\ ;
+琺 > hou\ ;
+琹 > kin\ ;
+琳 > rin\ ;
+琯 > kan\ ;
+琮 > sou\ ;
+琫 > hou\ ;
+琨 > kon\ ;
+琤 > sou\ ;
+琚 > kyo\ ;
+琅 > rou\ ;
+琄 > ken\ ;
+琁 > zen\ ;
+琀 > kan\ ;
+珽 > tei\ ;
+珻 > bai\ ;
+珺 > kun\ ;
+珹 > sei\ ;
+珵 > tei\ ;
+珮 > hai\ ;
+班 > han\ ;
+珩 > kou\ ;
+珧 > you\ ;
+珢 > gin\ ;
+珡 > kin\ ;
+珠 > shu\ ;
+珖 > kou\ ;
+珓 > kou\ ;
+珊 > san\ ;
+珉 > bin\ ;
+玽 > kou\ ;
+玼 > sei\ ;
+玹 > ken\ ;
+玷 > ten\ ;
+玵 > gan\ ;
+玳 > tai\ ;
+玲 > rei\ ;
+玭 > hin\ ;
+玫 > bai\ ;
+玪 > kan\ ;
+玢 > hin\ ;
+玠 > kai\ ;
+玟 > bin\ ;
+玜 > kou\ ;
+玕 > kan\ ;
+玎 > tei\ ;
+玁 > ken\ ;
+獷 > kou\ ;
+獱 > hin\ ;
+獰 > dou\ ;
+獯 > kun\ ;
+獮 > sen\ ;
+獬 > kai\ ;
+獫 > ken\ ;
+獪 > kai\ ;
+獩 > wai\ ;
+獧 > ken\ ;
+獞 > tou\ ;
+獘 > hei\ ;
+獖 > fun\ ;
+獒 > gou\ ;
+獊 > sou\ ;
+獅 > shi\ ;
+獃 > gai\ ;
+猽 > bei\ ;
+猻 > son\ ;
+猺 > you\ ;
+猷 > yuu\ ;
+猵 > hen\ ;
+猴 > kou\ ;
+猱 > dou\ ;
+猯 > tan\ ;
+献 > ken\ ;
+猩 > sei\ ;
+猥 > wai\ ;
+猞 > sha\ ;
+猛 > mou\ ;
+猙 > sou\ ;
+猘 > sei\ ;
+猍 > rai\ ;
+猊 > gei\ ;
+猅 > hai\ ;
+猄 > kei\ ;
+猂 > kan\ ;
+狾 > sei\ ;
+狻 > san\ ;
+狺 > gen\ ;
+狷 > ken\ ;
+狴 > hei\ ;
+狩 > shu\ ;
+狠 > gan\ ;
+狟 > kan\ ;
+狝 > sen\ ;
+狖 > yuu\ ;
+狎 > kou\ ;
+狌 > sei\ ;
+狀 > jou\ ;
+犾 > gin\ ;
+犹 > yuu\ ;
+犴 > kan\ ;
+犲 > sai\ ;
+犛 > bou\ ;
+犒 > kou\ ;
+犎 > hou\ ;
+犍 > ken\ ;
+犉 > jun\ ;
+犇 > hon\ ;
+犀 > sai\ ;
+牽 > ken\ ;
+牼 > kou\ ;
+牻 > bou\ ;
+牸 > shi\ ;
+牷 > sen\ ;
+牴 > tei\ ;
+牮 > sen\ ;
+牬 > hai\ ;
+牨 > kou\ ;
+牣 > jin\ ;
+牟 > bou\ ;
+牝 > hin\ ;
+牚 > tou\ ;
+牖 > yuu\ ;
+牕 > sou\ ;
+牓 > bou\ ;
+牐 > sou\ ;
+牏 > chu\ ;
+牎 > sou\ ;
+牋 > sen\ ;
+牅 > you\ ;
+牂 > sou\ ;
+爼 > sho\ ;
+爻 > kou\ ;
+爨 > san\ ;
+爤 > ran\ ;
+爟 > kan\ ;
+爗 > you\ ;
+爉 > rou\ ;
+爈 > ryo\ ;
+燿 > you\ ;
+燾 > tou\ ;
+燼 > jin\ ;
+燹 > sen\ ;
+燧 > sui\ ;
+燦 > san\ ;
+燥 > sou\ ;
+燠 > oki\ ;
+燜 > mon\ ;
+燙 > tou\ ;
+燗 > ran\ ;
+燔 > han\ ;
+燓 > fun\ ;
+燐 > rin\ ;
+燌 > fun\ ;
+燉 > ton\ ;
+燁 > you\ ;
+燀 > sen\ ;
+熿 > kou\ ;
+熾 > shi\ ;
+熳 > man\ ;
+熲 > kei\ ;
+熯 > zen\ ;
+熬 > gou\ ;
+熢 > hou\ ;
+熠 > yuu\ ;
+熕 > kou\ ;
+熔 > you\ ;
+熒 > kei\ ;
+熏 > kun\ ;
+熌 > sen\ ;
+熀 > you\ ;
+煹 > kou\ ;
+煬 > you\ ;
+煨 > wai\ ;
+煥 > kan\ ;
+煢 > kei\ ;
+煠 > you\ ;
+煜 > iku\ ;
+煚 > kei\ ;
+煗 > dan\ ;
+煖 > dan\ ;
+煑 > sha\ ;
+煌 > kou\ ;
+煋 > sei\ ;
+煊 > ken\ ;
+煉 > ren\ ;
+煅 > tan\ ;
+焭 > kei\ ;
+焠 > sai\ ;
+焞 > ton\ ;
+焜 > kon\ ;
+焙 > hou\ ;
+焕 > kan\ ;
+焋 > sou\ ;
+焄 > kun\ ;
+烽 > hou\ ;
+烺 > kou\ ;
+烹 > hou\ ;
+烱 > kei\ ;
+烤 > kou\ ;
+烝 > jou\ ;
+烜 > ten\ ;
+烘 > kou\ ;
+烖 > sai\ ;
+烔 > tou\ ;
+烑 > you\ ;
+烋 > kou\ ;
+烊 > you\ ;
+烉 > kan\ ;
+炷 > shu\ ;
+炴 > you\ ;
+炳 > hei\ ;
+炱 > tai\ ;
+炰 > hou\ ;
+炯 > kei\ ;
+炮 > hou\ ;
+炫 > ken\ ;
+炛 > you\ ;
+炙 > sha\ ;
+炘 > kin\ ;
+炗 > kou\ ;
+炖 > ton\ ;
+炕 > kou\ ;
+炔 > kei\ ;
+炒 > sou\ ;
+炆 > bun\ ;
+炅 > kei\ ;
+灾 > sai\ ;
+灶 > sou\ ;
+灵 > rei\ ;
+灮 > kou\ ;
+灤 > ran\ ;
+灣 > wan\ ;
+灝 > kou\ ;
+灘 > dan\ ;
+灑 > sai\ ;
+灋 > hou\ ;
+灊 > sen\ ;
+灉 > you\ ;
+灃 > huu\ ;
+瀾 > ran\ ;
+瀼 > jou\ ;
+瀲 > ren\ ;
+瀨 > rai\ ;
+瀦 > cho\ ;
+瀣 > kai\ ;
+瀞 > jou\ ;
+瀚 > kan\ ;
+瀗 > ken\ ;
+瀍 > ten\ ;
+瀉 > sha\ ;
+瀁 > you\ ;
+瀀 > yuu\ ;
+濾 > ryo\ ;
+濽 > san\ ;
+濵 > hin\ ;
+濳 > sen\ ;
+濫 > ran\ ;
+濨 > shi\ ;
+濤 > tou\ ;
+濠 > gou\ ;
+濔 > dei\ ;
+濊 > kai\ ;
+濆 > fun\ ;
+濂 > ren\ ;
+澶 > sen\ ;
+澳 > iku\ ;
+澱 > ten\ ;
+澰 > ren\ ;
+澯 > san\ ;
+澮 > kai\ ;
+澪 > rei\ ;
+澨 > sei\ ;
+澧 > rei\ ;
+澥 > kai\ ;
+澣 > kan\ ;
+澡 > sou\ ;
+澟 > rin\ ;
+澚 > iku\ ;
+澗 > kan\ ;
+澖 > kan\ ;
+澔 > kou\ ;
+澒 > kou\ ;
+澎 > hou\ ;
+澍 > shu\ ;
+澌 > shi\ ;
+澋 > kou\ ;
+澇 > rou\ ;
+澃 > gei\ ;
+澁 > juu\ ;
+澀 > juu\ ;
+潾 > rin\ ;
+潼 > dou\ ;
+潺 > san\ ;
+潸 > san\ ;
+潴 > cho\ ;
+潯 > jin\ ;
+潭 > tan\ ;
+潬 > tan\ ;
+潨 > sou\ ;
+潦 > rou\ ;
+潤 > jun\ ;
+潢 > kou\ ;
+潡 > ton\ ;
+潛 > sen\ ;
+潘 > han\ ;
+潓 > kei\ ;
+潒 > tou\ ;
+潅 > kan\ ;
+潀 > sou\ ;
+漾 > you\ ;
+漼 > sai\ ;
+漶 > kan\ ;
+漱 > sou\ ;
+漰 > hou\ ;
+漯 > tou\ ;
+漭 > bou\ ;
+漫 > man\ ;
+漩 > sen\ ;
+漛 > tou\ ;
+漖 > kou\ ;
+漑 > gai\ ;
+漌 > kin\ ;
+漈 > sei\ ;
+漄 > gai\ ;
+滾 > kon\ ;
+滽 > you\ ;
+滻 > san\ ;
+满 > man\ ;
+滞 > tai\ ;
+滚 > kon\ ;
+滕 > tou\ ;
+滔 > tou\ ;
+滎 > kei\ ;
+滍 > chi\ ;
+滉 > kou\ ;
+滈 > kou\ ;
+滇 > ten\ ;
+滄 > sou\ ;
+滂 > bou\ ;
+滁 > cho\ ;
+溿 > han\ ;
+溻 > tou\ ;
+溷 > kon\ ;
+溲 > sou\ ;
+溮 > shi\ ;
+溟 > mei\ ;
+溙 > tai\ ;
+溘 > kou\ ;
+溓 > ren\ ;
+溏 > tou\ ;
+溉 > gai\ ;
+湽 > shi\ ;
+湻 > jun\ ;
+湶 > sen\ ;
+湳 > dan\ ;
+湲 > kan\ ;
+湣 > bin\ ;
+湟 > kou\ ;
+湞 > tou\ ;
+湝 > kai\ ;
+湛 > tan\ ;
+湗 > hou\ ;
+湔 > sen\ ;
+湓 > hon\ ;
+湑 > sho\ ;
+湏 > kai\ ;
+湎 > ben\ ;
+湍 > tan\ ;
+湊 > sou\ ;
+湉 > ten\ ;
+湈 > bai\ ;
+湅 > ren\ ;
+湃 > hai\ ;
+渾 > kon\ ;
+渻 > sei\ ;
+渹 > kou\ ;
+游 > yuu\ ;
+渲 > sen\ ;
+渧 > tei\ ;
+渥 > aku\ ;
+渢 > huu\ ;
+渟 > tei\ ;
+渙 > kan\ ;
+渓 > kei\ ;
+渀 > hon\ ;
+淸 > sei\ ;
+淶 > rai\ ;
+淰 > den\ ;
+淯 > iku\ ;
+淮 > wai\ ;
+淬 > sai\ ;
+淪 > rin\ ;
+淨 > jou\ ;
+淦 > kan\ ;
+淟 > ten\ ;
+淛 > sei\ ;
+淚 > rui\ ;
+淙 > sou\ ;
+淘 > tou\ ;
+淖 > dou\ ;
+淒 > sei\ ;
+淏 > kou\ ;
+淎 > hou\ ;
+淊 > kan\ ;
+淆 > kou\ ;
+淄 > shi\ ;
+淀 > ten\ ;
+涽 > kon\ ;
+涷 > tou\ ;
+涵 > kan\ ;
+涬 > kei\ ;
+涪 > huu\ ;
+涣 > kan\ ;
+涛 > tou\ ;
+涚 > sei\ ;
+涘 > shi\ ;
+涗 > sei\ ;
+涖 > rei\ ;
+涕 > tei\ ;
+涔 > san\ ;
+涓 > ken\ ;
+涒 > ton\ ;
+涑 > sou\ ;
+涇 > tei\ ;
+浼 > bai\ ;
+浰 > ren\ ;
+浩 > kou\ ;
+浧 > tei\ ;
+浦 > ura\ ;
+浥 > yuu\ ;
+浤 > kou\ ;
+浣 > kan\ ;
+浟 > yuu\ ;
+洽 > kou\ ;
+洸 > kou\ ;
+洮 > tou\ ;
+洪 > kou\ ;
+洨 > kou\ ;
+洚 > kou\ ;
+洙 > shu\ ;
+洊 > sen\ ;
+洄 > kai\ ;
+泴 > kan\ ;
+泲 > sei\ ;
+泰 > tai\ ;
+泯 > bin\ ;
+泮 > han\ ;
+泫 > ken\ ;
+泪 > rui\ ;
+泩 > sou\ ;
+泠 > rei\ ;
+泜 > tei\ ;
+泛 > han\ ;
+泚 > sei\ ;
+泙 > hou\ ;
+泗 > shi\ ;
+泖 > bou\ ;
+泔 > kan\ ;
+泑 > yuu\ ;
+泍 > hon\ ;
+泂 > kei\ ;
+沾 > ten\ ;
+沺 > ten\ ;
+沵 > dei\ ;
+沴 > rei\ ;
+沮 > sho\ ;
+沟 > kou\ ;
+沜 > han\ ;
+沛 > hai\ ;
+沚 > shi\ ;
+沗 > ten\ ;
+沔 > ben\ ;
+沓 > tou\ ;
+沆 > kou\ ;
+沅 > gen\ ;
+汾 > fun\ ;
+汸 > hou\ ;
+汶 > bun\ ;
+汴 > hen\ ;
+汳 > hen\ ;
+汯 > kou\ ;
+汭 > zei\ ;
+汫 > kei\ ;
+汧 > ken\ ;
+汞 > kou\ ;
+汜 > shi\ ;
+汕 > san\ ;
+汒 > bou\ ;
+汏 > tai\ ;
+汎 > han\ ;
+汍 > kan\ ;
+氾 > han\ ;
+氽 > ton\ ;
+氺 > sui\ ;
+氹 > kan\ ;
+氮 > tan\ ;
+氧 > you\ ;
+氦 > gai\ ;
+氛 > fun\ ;
+氙 > sen\ ;
+氓 > bou\ ;
+氐 > tei\ ;
+氉 > sou\ ;
+氄 > juu\ ;
+毿 > san\ ;
+毷 > bou\ ;
+毳 > zei\ ;
+毯 > tan\ ;
+毧 > juu\ ;
+毡 > sen\ ;
+毚 > san\ ;
+毓 > iku\ ;
+每 > mai\ ;
+毌 > kan\ ;
+殽 > kou\ ;
+殸 > kei\ ;
+殳 > shu\ ;
+殲 > sen\ ;
+殱 > sen\ ;
+殯 > hin\ ;
+殮 > ren\ ;
+殫 > tan\ ;
+殩 > san\ ;
+殨 > kai\ ;
+殣 > kin\ ;
+殢 > tei\ ;
+殗 > you\ ;
+殕 > fuu\ ;
+殉 > jun\ ;
+殅 > sou\ ;
+殄 > ten\ ;
+殃 > you\ ;
+殀 > you\ ;
+歲 > sei\ ;
+歮 > juu\ ;
+歫 > kyo\ ;
+歝 > eki\ ;
+歛 > kan\ ;
+歓 > kan\ ;
+歉 > ken\ ;
+歆 > kin\ ;
+歃 > sou\ ;
+欿 > tan\ ;
+款 > kan\ ;
+欽 > kin\ ;
+欵 > kan\ ;
+欬 > kai\ ;
+欣 > gon\ ;
+欞 > rei\ ;
+欗 > ran\ ;
+欖 > ran\ ;
+欒 > ran\ ;
+欑 > san\ ;
+欐 > rei\ ;
+欉 > sou\ ;
+欆 > sou\ ;
+欄 > ran\ ;
+欃 > san\ ;
+櫼 > sen\ ;
+櫺 > rei\ ;
+櫰 > kai\ ;
+櫧 > sho\ ;
+櫥 > chu\ ;
+櫤 > sen\ ;
+櫜 > kou\ ;
+櫚 > ryo\ ;
+櫖 > ryo\ ;
+櫕 > san\ ;
+櫔 > rei\ ;
+櫑 > rai\ ;
+櫐 > rui\ ;
+櫌 > yuu\ ;
+櫉 > chu\ ;
+櫈 > tou\ ;
+櫆 > kai\ ;
+櫂 > kai\ ;
+檾 > kei\ ;
+檻 > ori\ ;
+檸 > nei\ ;
+檳 > bin\ ;
+檰 > hen\ ;
+檯 > tai\ ;
+檮 > tou\ ;
+檬 > bou\ ;
+檩 > rin\ ;
+檠 > kei\ ;
+檞 > kai\ ;
+檑 > rai\ ;
+檉 > tei\ ;
+檇 > sui\ ;
+檆 > san\ ;
+檁 > rin\ ;
+橾 > shu\ ;
+橪 > zen\ ;
+橧 > sou\ ;
+橦 > tou\ ;
+橤 > zui\ ;
+橖 > tou\ ;
+橕 > tou\ ;
+橑 > rou\ ;
+橎 > han\ ;
+橉 > rin\ ;
+橈 > kai\ ;
+橇 > zei\ ;
+橄 > kan\ ;
+樿 > sen\ ;
+樷 > sou\ ;
+樶 > sai\ ;
+樨 > sei\ ;
+樤 > jou\ ;
+樠 > bon\ ;
+樞 > suu\ ;
+樗 > cho\ ;
+樔 > sou\ ;
+樏 > rui\ ;
+樌 > kan\ ;
+樋 > toi\ ;
+樊 > han\ ;
+樃 > rou\ ;
+樁 > tou\ ;
+槿 > kin\ ;
+槾 > ban\ ;
+槹 > kou\ ;
+槵 > kan\ ;
+槱 > yuu\ ;
+槯 > sai\ ;
+槫 > tan\ ;
+槪 > gai\ ;
+槧 > san\ ;
+槞 > rou\ ;
+槝 > tou\ ;
+槙 > ten\ ;
+槓 > kou\ ;
+槑 > bai\ ;
+槐 > kai\ ;
+槈 > dou\ ;
+槃 > han\ ;
+槁 > kou\ ;
+榼 > kou\ ;
+榸 > tai\ ;
+榱 > sui\ ;
+榯 > shi\ ;
+榭 > sha\ ;
+榦 > kan\ ;
+榥 > kou\ ;
+榠 > bei\ ;
+榜 > bou\ ;
+榕 > you\ ;
+榔 > rou\ ;
+楻 > kou\ ;
+楺 > juu\ ;
+楷 > kai\ ;
+楴 > tei\ ;
+楳 > bai\ ;
+楱 > sou\ ;
+楯 > jun\ ;
+楮 > cho\ ;
+楪 > you\ ;
+楩 > hen\ ;
+楨 > tei\ ;
+楦 > ken\ ;
+楥 > ken\ ;
+楤 > sou\ ;
+楞 > rou\ ;
+楝 > ren\ ;
+楙 > bou\ ;
+楗 > ken\ ;
+楎 > kon\ ;
+椽 > ten\ ;
+椶 > shu\ ;
+椳 > wai\ ;
+椱 > fuu\ ;
+椦 > ken\ ;
+椢 > kai\ ;
+椗 > tei\ ;
+椖 > hou\ ;
+椑 > hei\ ;
+椐 > kyo\ ;
+椌 > kou\ ;
+椉 > jou\ ;
+棼 > hun\ ;
+棹 > sao\ ;
+棶 > rai\ ;
+棵 > kan\ ;
+棱 > rou\ ;
+棰 > soi\ ;
+棯 > jin\ ;
+棭 > eki\ ;
+棬 > ken\ ;
+棨 > kei\ ;
+棧 > san\ ;
+棥 > han\ ;
+棣 > tei\ ;
+棡 > kou\ ;
+棠 > tou\ ;
+棙 > rei\ ;
+棖 > tou\ ;
+棕 > shu\ ;
+棔 > kon\ ;
+棓 > hou\ ;
+棑 > hai\ ;
+棍 > kon\ ;
+棌 > sai\ ;
+棉 > men\ ;
+棈 > sen\ ;
+棆 > rin\ ;
+棅 > hei\ ;
+梼 > tou\ ;
+梹 > bin\ ;
+梵 > fuu\ ;
+梱 > kon\ ;
+梪 > tou\ ;
+梡 > kan\ ;
+梠 > ryo\ ;
+梚 > ban\ ;
+梘 > ken\ ;
+梗 > kou\ ;
+梖 > hai\ ;
+梔 > shi\ ;
+梍 > sou\ ;
+梈 > hou\ ;
+梆 > hou\ ;
+梄 > you\ ;
+桿 > kan\ ;
+桾 > kun\ ;
+桻 > hou\ ;
+桹 > rou\ ;
+桵 > zui\ ;
+桱 > kei\ ;
+桯 > tei\ ;
+桮 > hai\ ;
+档 > tou\ ;
+桓 > kan\ ;
+桒 > sou\ ;
+桊 > ken\ ;
+桅 > gai\ ;
+桄 > kou\ ;
+栽 > sai\ ;
+栴 > sen\ ;
+栳 > rou\ ;
+栲 > gou\ ;
+栯 > iku\ ;
+栬 > sei\ ;
+栫 > son\ ;
+栟 > hei\ ;
+栝 > ten\ ;
+栙 > kou\ ;
+栖 > sei\ ;
+栔 > kei\ ;
+栈 > san\ ;
+柹 > shi\ ;
+柶 > shi\ ;
+柬 > kan\ ;
+柦 > tan\ ;
+柢 > tei\ ;
+柜 > kyo\ ;
+柙 > kou\ ;
+柘 > sha\ ;
+柑 > kan\ ;
+柉 > han\ ;
+柈 > han\ ;
+柆 > rou\ ;
+柃 > rei\ ;
+枾 > shi\ ;
+枽 > sou\ ;
+枼 > you\ ;
+枹 > hou\ ;
+枴 > kai\ ;
+枲 > shi\ ;
+枰 > hei\ ;
+枢 > suu\ ;
+枛 > sou\ ;
+枘 > zei\ ;
+枖 > you\ ;
+枓 > shu\ ;
+枏 > dan\ ;
+枌 > fun\ ;
+枋 > hou\ ;
+枅 > kei\ ;
+构 > kou\ ;
+杼 > cho\ ;
+杴 > ken\ ;
+杳 > you\ ;
+杲 > kou\ ;
+杮 > hai\ ;
+杭 > kui\ ;
+杬 > gen\ ;
+杧 > man\ ;
+杠 > kou\ ;
+杝 > chi\ ;
+杕 > tei\ ;
+杆 > kan\ ;
+朿 > shi\ ;
+朾 > tou\ ;
+朷 > tou\ ;
+朩 > tou\ ;
+朢 > bou\ ;
+朜 > ton\ ;
+朙 > mei\ ;
+朘 > sen\ ;
+朖 > rou\ ;
+朎 > rei\ ;
+朌 > han\ ;
+曺 > sou\ ;
+曹 > sou\ ;
+曮 > gan\ ;
+曬 > sai\ ;
+曫 > ran\ ;
+曩 > dou\ ;
+曨 > rou\ ;
+曡 > jou\ ;
+曠 > kou\ ;
+曛 > kun\ ;
+曚 > bou\ ;
+曔 > kei\ ;
+曎 > eki\ ;
+曈 > tou\ ;
+曅 > you\ ;
+曄 > you\ ;
+曃 > tai\ ;
+曂 > kou\ ;
+暾 > ton\ ;
+暻 > kei\ ;
+暹 > sen\ ;
+暵 > kan\ ;
+暭 > kou\ ;
+暤 > kou\ ;
+暠 > kou\ ;
+暟 > kai\ ;
+暝 > mei\ ;
+暚 > you\ ;
+暘 > you\ ;
+暒 > sei\ ;
+暌 > kei\ ;
+暋 > bin\ ;
+暄 > ken\ ;
+晹 > eki\ ;
+晸 > tei\ ;
+晵 > kei\ ;
+晬 > sai\ ;
+晪 > ten\ ;
+晧 > kou\ ;
+晦 > kai\ ;
+晠 > sei\ ;
+晟 > sei\ ;
+晜 > kon\ ;
+晛 > ken\ ;
+晚 > ban\ ;
+晘 > kan\ ;
+晗 > kan\ ;
+晎 > kou\ ;
+晆 > kai\ ;
+晅 > ken\ ;
+晄 > kou\ ;
+晃 > kou\ ;
+昿 > kou\ ;
+昻 > kou\ ;
+昱 > iku\ ;
+昰 > shi\ ;
+昬 > kon\ ;
+昪 > hen\ ;
+昧 > mai\ ;
+昦 > kou\ ;
+昤 > rei\ ;
+昡 > ken\ ;
+昞 > hei\ ;
+昝 > san\ ;
+昜 > you\ ;
+昕 > kin\ ;
+昑 > kin\ ;
+昏 > kon\ ;
+昍 > ken\ ;
+昊 > kou\ ;
+昉 > hou\ ;
+昄 > han\ ;
+旻 > bin\ ;
+旵 > tan\ ;
+旲 > tai\ ;
+旱 > kan\ ;
+旰 > kan\ ;
+旛 > han\ ;
+旙 > han\ ;
+旘 > shi\ ;
+旔 > ken\ ;
+旌 > sei\ ;
+旆 > hai\ ;
+旄 > bou\ ;
+旃 > sen\ ;
+斿 > you\ ;
+施 > shi\ ;
+斴 > rin\ ;
+斳 > kin\ ;
+斧 > ono\ ;
+斦 > gin\ ;
+斤 > kin\ ;
+斕 > ran\ ;
+斒 > han\ ;
+斌 > hin\ ;
+斊 > sei\ ;
+斆 > kou\ ;
+斅 > kou\ ;
+斂 > ren\ ;
+斁 > eki\ ;
+敻 > kei\ ;
+敲 > kou\ ;
+敯 > bin\ ;
+敭 > you\ ;
+敩 > kou\ ;
+敦 > ton\ ;
+敟 > ten\ ;
+敝 > hei\ ;
+敖 > gou\ ;
+敔 > gyo\ ;
+敃 > bin\ ;
+攽 > han\ ;
+攼 > kan\ ;
+攻 > kou\ ;
+攸 > yuu\ ;
+攷 > kou\ ;
+攮 > dou\ ;
+攬 > ran\ ;
+攩 > tou\ ;
+攦 > rei\ ;
+攤 > tan\ ;
+攣 > ren\ ;
+攢 > san\ ;
+攟 > kun\ ;
+攜 > kei\ ;
+攛 > san\ ;
+攙 > sen\ ;
+攘 > jou\ ;
+攔 > ran\ ;
+攓 > ken\ ;
+攏 > rou\ ;
+攈 > kun\ ;
+攅 > san\ ;
+攄 > cho\ ;
+攁 > you\ ;
+攀 > han\ ;
+擾 > jou\ ;
+擻 > sou\ ;
+擺 > hai\ ;
+擶 > sen\ ;
+擰 > dou\ ;
+擯 > hin\ ;
+擭 > kyo\ ;
+擪 > you\ ;
+擥 > ran\ ;
+擤 > kou\ ;
+擣 > tou\ ;
+擠 > sei\ ;
+據 > kyo\ ;
+擕 > kei\ ;
+擒 > kin\ ;
+擐 > kan\ ;
+擎 > kei\ ;
+擋 > tou\ ;
+擄 > ryo\ ;
+擂 > rai\ ;
+擁 > you\ ;
+撿 > ren\ ;
+撽 > kou\ ;
+撼 > kan\ ;
+撳 > kin\ ;
+撰 > san\ ;
+撦 > sha\ ;
+撣 > tan\ ;
+撡 > sou\ ;
+撞 > shu\ ;
+撛 > rin\ ;
+撚 > nen\ ;
+撙 > son\ ;
+撘 > tou\ ;
+撕 > sei\ ;
+撓 > dou\ ;
+撒 > san\ ;
+撏 > san\ ;
+撈 > rou\ ;
+摻 > san\ ;
+摶 > tan\ ;
+摴 > cho\ ;
+摳 > kou\ ;
+摯 > shi\ ;
+摧 > sai\ ;
+摡 > kai\ ;
+摠 > sou\ ;
+摟 > rou\ ;
+摜 > kan\ ;
+摛 > chi\ ;
+摚 > tou\ ;
+摓 > hou\ ;
+摒 > hei\ ;
+摇 > you\ ;
+搴 > ken\ ;
+搯 > tou\ ;
+搭 > tou\ ;
+搬 > han\ ;
+搪 > tou\ ;
+搨 > tou\ ;
+搥 > tai\ ;
+搤 > aku\ ;
+搞 > kou\ ;
+搘 > shi\ ;
+搗 > tou\ ;
+搔 > sou\ ;
+搒 > hou\ ;
+搆 > kou\ ;
+揹 > hai\ ;
+揷 > sou\ ;
+揵 > ken\ ;
+揭 > kei\ ;
+揩 > kai\ ;
+揥 > tei\ ;
+揣 > shi\ ;
+揖 > yuu\ ;
+揔 > sou\ ;
+揓 > shi\ ;
+插 > sou\ ;
+揎 > sen\ ;
+揈 > kou\ ;
+揅 > ken\ ;
+揁 > tei\ ;
+揀 > kan\ ;
+掽 > hou\ ;
+掯 > kou\ ;
+掮 > ken\ ;
+掭 > ten\ ;
+掫 > sou\ ;
+掙 > sou\ ;
+掖 > eki\ ;
+掔 > kan\ ;
+掐 > kou\ ;
+掏 > tou\ ;
+掊 > hou\ ;
+掉 > tou\ ;
+掄 > ron\ ;
+掂 > ten\ ;
+掀 > kin\ ;
+捿 > sei\ ;
+捶 > sui\ ;
+捵 > ten\ ;
+捴 > fun\ ;
+捱 > gai\ ;
+捭 > hai\ ;
+捫 > mon\ ;
+捧 > hou\ ;
+捦 > kin\ ;
+捥 > wan\ ;
+换 > kan\ ;
+捛 > ryo\ ;
+捘 > son\ ;
+捎 > sou\ ;
+捍 > kan\ ;
+捊 > hou\ ;
+捆 > kon\ ;
+捃 > kun\ ;
+挺 > tei\ ;
+挹 > yuu\ ;
+挵 > rou\ ;
+挭 > kou\ ;
+挍 > kou\ ;
+挊 > rou\ ;
+挄 > kou\ ;
+挂 > kei\ ;
+拼 > hou\ ;
+拷 > gou\ ;
+拴 > sen\ ;
+拯 > jou\ ;
+拪 > sen\ ;
+拚 > hen\ ;
+拒 > kyo\ ;
+拑 > kan\ ;
+拐 > kai\ ;
+拎 > rei\ ;
+拌 > han\ ;
+拋 > hou\ ;
+拈 > den\ ;
+拄 > chu\ ;
+抿 > bin\ ;
+抾 > kyo\ ;
+抺 > bai\ ;
+抬 > tai\ ;
+抨 > hou\ ;
+抦 > hei\ ;
+抖 > tou\ ;
+抔 > hou\ ;
+抏 > gan\ ;
+抃 > ben\ ;
+扽 > ton\ ;
+扼 > aku\ ;
+扺 > tei\ ;
+扳 > han\ ;
+扭 > juu\ ;
+扣 > kou\ ;
+扞 > kan\ ;
+扛 > kou\ ;
+扔 > jou\ ;
+扒 > hai\ ;
+扌 > shu\ ;
+扃 > kei\ ;
+扂 > ten\ ;
+扁 > hen\ ;
+戾 > rei\ ;
+戼 > bou\ ;
+戹 > aku\ ;
+戩 > sen\ ;
+戧 > sou\ ;
+戡 > kan\ ;
+戔 > san\ ;
+戎 > juu\ ;
+戇 > tou\ ;
+戃 > tou\ ;
+戁 > dan\ ;
+懽 > kan\ ;
+懺 > zan\ ;
+懶 > ran\ ;
+懴 > zan\ ;
+懭 > kou\ ;
+懬 > kou\ ;
+懩 > you\ ;
+懣 > mon\ ;
+懢 > ran\ ;
+懞 > bou\ ;
+懝 > gai\ ;
+懜 > bou\ ;
+懔 > rin\ ;
+懍 > rin\ ;
+懌 > eki\ ;
+懋 > bou\ ;
+懈 > kai\ ;
+懇 > kon\ ;
+懆 > sou\ ;
+懂 > tou\ ;
+懁 > ken\ ;
+懀 > wai\ ;
+憾 > kan\ ;
+憼 > kei\ ;
+憹 > dou\ ;
+憸 > sen\ ;
+憲 > ken\ ;
+憫 > bin\ ;
+憪 > kan\ ;
+憨 > kan\ ;
+憥 > rou\ ;
+憝 > tai\ ;
+憚 > tan\ ;
+憗 > gin\ ;
+憓 > kei\ ;
+憒 > kai\ ;
+憊 > hai\ ;
+憇 > kei\ ;
+憄 > chi\ ;
+憃 > tou\ ;
+憁 > sou\ ;
+慻 > ken\ ;
+慸 > tei\ ;
+慷 > kou\ ;
+慶 > kei\ ;
+慵 > you\ ;
+慳 > kan\ ;
+慲 > ban\ ;
+慱 > tan\ ;
+慭 > gin\ ;
+慬 > kin\ ;
+慧 > kei\ ;
+慠 > gou\ ;
+慟 > dou\ ;
+慚 > zan\ ;
+慙 > zan\ ;
+慉 > kin\ ;
+慆 > tou\ ;
+慅 > sou\ ;
+慂 > you\ ;
+慁 > kon\ ;
+愿 > gen\ ;
+愹 > you\ ;
+愷 > kai\ ;
+愴 > sou\ ;
+愰 > kau\ ;
+愢 > sai\ ;
+愡 > sou\ ;
+愞 > zen\ ;
+愗 > bou\ ;
+愓 > tou\ ;
+愒 > kei\ ;
+愑 > you\ ;
+愐 > ben\ ;
+愍 > bin\ ;
+愌 > kan\ ;
+愆 > ken\ ;
+愃 > ken\ ;
+惽 > kon\ ;
+惼 > hen\ ;
+惺 > sei\ ;
+惸 > kei\ ;
+惶 > kou\ ;
+惴 > zui\ ;
+惥 > you\ ;
+惣 > sou\ ;
+惞 > kin\ ;
+惛 > kon\ ;
+惘 > bou\ ;
+惔 > tan\ ;
+惓 > ken\ ;
+惏 > ran\ ;
+惋 > wan\ ;
+惉 > sen\ ;
+惇 > ton\ ;
+惂 > kan\ ;
+悾 > kou\ ;
+悽 > sei\ ;
+悻 > kei\ ;
+悷 > rei\ ;
+悰 > sou\ ;
+悩 > nou\ ;
+悤 > sou\ ;
+悝 > kai\ ;
+悛 > sen\ ;
+悗 > ban\ ;
+悓 > ken\ ;
+悒 > yuu\ ;
+悎 > kou\ ;
+悍 > kan\ ;
+悌 > tei\ ;
+悋 > rin\ ;
+悈 > kai\ ;
+悃 > kon\ ;
+恿 > you\ ;
+恾 > bou\ ;
+恵 > kei\ ;
+恬 > ten\ ;
+恫 > dou\ ;
+恣 > shi\ ;
+恢 > kai\ ;
+恡 > rin\ ;
+恠 > kai\ ;
+恝 > kai\ ;
+恙 > you\ ;
+恖 > shi\ ;
+恒 > kou\ ;
+恉 > shi\ ;
+恈 > bou\ ;
+恆 > kou\ ;
+恂 > jun\ ;
+恀 > shi\ ;
+怱 > sou\ ;
+怦 > hou\ ;
+怟 > tei\ ;
+怜 > rei\ ;
+怚 > sho\ ;
+怔 > sei\ ;
+怓 > dou\ ;
+怐 > kou\ ;
+怏 > you\ ;
+怇 > kyo\ ;
+忼 > kou\ ;
+忻 > kin\ ;
+忺 > ken\ ;
+忶 > kon\ ;
+忳 > ton\ ;
+忲 > tai\ ;
+忰 > sui\ ;
+忮 > shi\ ;
+忭 > hen\ ;
+忩 > sou\ ;
+忨 > gan\ ;
+忞 > bin\ ;
+忝 > ten\ ;
+忖 > son\ ;
+忓 > kan\ ;
+忐 > kun\ ;
+忋 > kai\ ;
+忉 > tou\ ;
+忈 > jin\ ;
+徰 > sei\ ;
+徯 > kei\ ;
+徭 > you\ ;
+徬 > hou\ ;
+徨 > kou\ ;
+徧 > hen\ ;
+徠 > rai\ ;
+徝 > chi\ ;
+徙 > shi\ ;
+徘 > hai\ ;
+徖 > sou\ ;
+徑 > kei\ ;
+徉 > you\ ;
+很 > kon\ ;
+徆 > sei\ ;
+征 > sei\ ;
+彾 > rei\ ;
+彽 > chi\ ;
+彷 > hou\ ;
+彲 > chi\ ;
+彯 > heu\ ;
+彭 > hou\ ;
+彬 > hin\ ;
+彧 > iku\ ;
+彦 > gen\ ;
+彥 > gen\ ;
+彤 > tou\ ;
+彣 > bun\ ;
+彡 > san\ ;
+彘 > tei\ ;
+彗 > sui\ ;
+彖 > tan\ ;
+彑 > kei\ ;
+彐 > kei\ ;
+彎 > wan\ ;
+彋 > kau\ ;
+彇 > you\ ;
+彄 > kou\ ;
+彁 > sei\ ;
+彀 > kou\ ;
+弿 > ken\ ;
+弽 > you\ ;
+弹 > dan\ ;
+弸 > hou\ ;
+弴 > ton\ ;
+弰 > sou\ ;
+弯 > wan\ ;
+弮 > ken\ ;
+弨 > seu\ ;
+弤 > tei\ ;
+弢 > tou\ ;
+弚 > tai\ ;
+弒 > shi\ ;
+弑 > shi\ ;
+弎 > san\ ;
+弊 > hei\ ;
+弉 > jou\ ;
+弈 > eki\ ;
+弆 > kyo\ ;
+弅 > hun\ ;
+廿 > juu\ ;
+廽 > kai\ ;
+廼 > dai\ ;
+廷 > tei\ ;
+廵 > jun\ ;
+廲 > rei\ ;
+廱 > you\ ;
+廯 > sen\ ;
+廬 > ryo\ ;
+廪 > rin\ ;
+廩 > rin\ ;
+廨 > kai\ ;
+廥 > kai\ ;
+廞 > kin\ ;
+廝 > shi\ ;
+廛 > ten\ ;
+廗 > tai\ ;
+廔 > rou\ ;
+廒 > gou\ ;
+廑 > kin\ ;
+廎 > kei\ ;
+廌 > chi\ ;
+廇 > riu\ ;
+廆 > kai\ ;
+廅 > ahu\ ;
+廁 > shi\ ;
+廀 > sou\ ;
+庽 > dou\ ;
+庻 > sho\ ;
+庶 > sho\ ;
+庲 > rai\ ;
+庰 > hei\ ;
+庬 > bou\ ;
+庨 > kou\ ;
+庤 > chi\ ;
+庣 > teu\ ;
+庛 > shi\ ;
+庎 > kai\ ;
+庍 > hai\ ;
+庉 > ton\ ;
+庈 > kin\ ;
+广 > gen\ ;
+幺 > you\ ;
+幷 > hei\ ;
+并 > hei\ ;
+幵 > ken\ ;
+幱 > ran\ ;
+幰 > ken\ ;
+幮 > chu\ ;
+幫 > hou\ ;
+幪 > bou\ ;
+幩 > hun\ ;
+幨 > sen\ ;
+幧 > seu\ ;
+幤 > hei\ ;
+幣 > hei\ ;
+幢 > tou\ ;
+幡 > han\ ;
+幝 > sen\ ;
+幜 > kei\ ;
+幚 > hou\ ;
+幔 > ban\ ;
+幐 > tou\ ;
+幍 > tou\ ;
+幌 > kou\ ;
+幋 > han\ ;
+幊 > kou\ ;
+幈 > hei\ ;
+幇 > hou\ ;
+幄 > aku\ ;
+幀 > tei\ ;
+帵 > wan\ ;
+帲 > hei\ ;
+帮 > hou\ ;
+帬 > kun\ ;
+帩 > seu\ ;
+帨 > sei\ ;
+带 > tai\ ;
+帣 > ken\ ;
+帡 > hei\ ;
+帠 > gei\ ;
+帟 > eki\ ;
+帘 > ren\ ;
+帖 > jou\ ;
+帒 > tai\ ;
+帎 > tan\ ;
+帋 > shi\ ;
+帇 > den\ ;
+帄 > tei\ ;
+帀 > sou\ ;
+巺 > son\ ;
+巹 > kin\ ;
+巵 > shi\ ;
+巠 > kei\ ;
+巟 > kou\ ;
+巜 > kai\ ;
+巛 > sen\ ;
+巘 > gen\ ;
+巖 > gan\ ;
+巔 > ten\ ;
+巓 > ten\ ;
+巒 > ran\ ;
+巑 > san\ ;
+巏 > ken\ ;
+巎 > dou\ ;
+巌 > gan\ ;
+巉 > san\ ;
+巆 > kou\ ;
+巃 > rou\ ;
+巂 > sui\ ;
+嶼 > sho\ ;
+嶺 > rei\ ;
+嶹 > tou\ ;
+嶸 > kou\ ;
+嶵 > sai\ ;
+嶲 > kei\ ;
+嶰 > kai\ ;
+嶩 > dau\ ;
+嶧 > eki\ ;
+嶡 > kei\ ;
+嶟 > son\ ;
+嶝 > tou\ ;
+嶙 > rin\ ;
+嶕 > seu\ ;
+嶔 > kin\ ;
+嶌 > tou\ ;
+嶋 > tou\ ;
+嶊 > sui\ ;
+嶉 > sui\ ;
+嶆 > sau\ ;
+嶄 > san\ ;
+嶃 > san\ ;
+嵿 > tei\ ;
+嵼 > san\ ;
+嵺 > reu\ ;
+嵶 > tao\ ;
+嵱 > you\ ;
+嵰 > ken\ ;
+嵭 > hou\ ;
+嵬 > kai\ ;
+嵪 > kou\ ;
+嵩 > suu\ ;
+嵧 > riu\ ;
+嵤 > kei\ ;
+嵣 > tau\ ;
+嵢 > sou\ ;
+嵠 > gei\ ;
+嵗 > sei\ ;
+嵕 > sou\ ;
+嵓 > gan\ ;
+嵒 > gan\ ;
+嵎 > guu\ ;
+嵉 > tei\ ;
+嵈 > kan\ ;
+嵇 > kei\ ;
+嵆 > kei\ ;
+嵅 > kan\ ;
+嵃 > gen\ ;
+嵁 > kan\ ;
+崽 > sai\ ;
+崼 > shi\ ;
+崹 > tei\ ;
+崸 > ton\ ;
+崶 > hou\ ;
+崵 > seu\ ;
+崴 > wai\ ;
+崲 > kou\ ;
+崥 > hei\ ;
+崤 > kou\ ;
+崢 > sou\ ;
+崡 > kan\ ;
+崠 > tou\ ;
+崟 > gin\ ;
+崝 > sau\ ;
+崙 > ron\ ;
+崘 > ron\ ;
+崕 > gai\ ;
+崔 > sai\ ;
+崑 > kon\ ;
+崐 > kon\ ;
+崏 > bin\ ;
+崍 > rai\ ;
+崇 > suu\ ;
+崆 > kou\ ;
+崄 > ken\ ;
+崁 > kan\ ;
+峺 > kou\ ;
+峸 > sei\ ;
+峵 > kou\ ;
+峴 > ken\ ;
+峱 > dou\ ;
+峯 > hou\ ;
+峮 > kin\ ;
+峟 > you\ ;
+峝 > tou\ ;
+峜 > kei\ ;
+峘 > kan\ ;
+峕 > shi\ ;
+峒 > tou\ ;
+峐 > kai\ ;
+峎 > gon\ ;
+峇 > kou\ ;
+岾 > sen\ ;
+岺 > rei\ ;
+岷 > bin\ ;
+岲 > kou\ ;
+岱 > tai\ ;
+岰 > you\ ;
+岭 > rei\ ;
+岧 > teu\ ;
+岣 > kou\ ;
+岠 > kyo\ ;
+岟 > you\ ;
+岕 > kai\ ;
+岒 > ken\ ;
+岋 > gou\ ;
+岇 > gou\ ;
+岅 > han\ ;
+屽 > kan\ ;
+屻 > jin\ ;
+屳 > sen\ ;
+屯 > ton\ ;
+屧 > tei\ ;
+屣 > shi\ ;
+屟 > tei\ ;
+屜 > tei\ ;
+屛 > hei\ ;
+屚 > rou\ ;
+屖 > sei\ ;
+屔 > dei\ ;
+屎 > shi\ ;
+屇 > ten\ ;
+尼 > ama\ ;
+尷 > kan\ ;
+尶 > kan\ ;
+尵 > tai\ ;
+尲 > kan\ ;
+尬 > kai\ ;
+尨 > bou\ ;
+尟 > sen\ ;
+尌 > shu\ ;
+専 > sen\ ;
+寽 > rin\ ;
+对 > tai\ ;
+寶 > hou\ ;
+寳 > hou\ ;
+寱 > gei\ ;
+寰 > kan\ ;
+寬 > kan\ ;
+寨 > sai\ ;
+寜 > nei\ ;
+寛 > kan\ ;
+寚 > hou\ ;
+寘 > shi\ ;
+寗 > nei\ ;
+寕 > nei\ ;
+寓 > guu\ ;
+寏 > kan\ ;
+寎 > hei\ ;
+寍 > nei\ ;
+寋 > ken\ ;
+寊 > tei\ ;
+寇 > kou\ ;
+寁 > san\ ;
+寀 > sai\ ;
+宼 > kou\ ;
+宺 > kou\ ;
+宲 > hou\ ;
+宯 > kou\ ;
+宭 > kun\ ;
+宬 > sei\ ;
+宩 > shi\ ;
+宦 > kan\ ;
+宥 > yuu\ ;
+宖 > kou\ ;
+宕 > tou\ ;
+宔 > shu\ ;
+宑 > sei\ ;
+宏 > kou\ ;
+宋 > sou\ ;
+宁 > cho\ ;
+宀 > ben\ ;
+孿 > san\ ;
+孻 > dai\ ;
+孳 > shi\ ;
+孱 > sen\ ;
+孯 > kan\ ;
+孮 > sou\ ;
+孩 > kai\ ;
+孨 > sen\ ;
+孟 > mou\ ;
+孝 > kou\ ;
+孜 > shi\ ;
+孖 > shi\ ;
+孕 > you\ ;
+孍 > gen\ ;
+孌 > ren\ ;
+孈 > sui\ ;
+孅 > sen\ ;
+孃 > jou\ ;
+孁 > rei\ ;
+孀 > sou\ ;
+嬾 > ran\ ;
+嬲 > jou\ ;
+嬯 > tai\ ;
+嬭 > dai\ ;
+嬬 > shu\ ;
+嬨 > shi\ ;
+嬣 > tau\ ;
+嬠 > san\ ;
+嬞 > tou\ ;
+嬝 > jou\ ;
+嬛 > ken\ ;
+嬚 > ren\ ;
+嬗 > sen\ ;
+嬖 > hei\ ;
+嬓 > keu\ ;
+嬐 > sen\ ;
+嬏 > han\ ;
+嬎 > han\ ;
+嬋 > sen\ ;
+嬈 > deu\ ;
+嬃 > shu\ ;
+嬁 > tou\ ;
+嫽 > reu\ ;
+嫻 > kan\ ;
+嫺 > kan\ ;
+嫹 > bau\ ;
+嫸 > sen\ ;
+嫶 > seu\ ;
+嫬 > sha\ ;
+嫪 > rau\ ;
+嫩 > don\ ;
+嫨 > kan\ ;
+嫦 > kou\ ;
+嫥 > sen\ ;
+嫝 > kau\ ;
+嫚 > ban\ ;
+嫙 > seb\ ;
+嫘 > rui\ ;
+嫐 > jou\ ;
+嫏 > rou\ ;
+嫍 > tau\ ;
+嫋 > jou\ ;
+嫈 > seu\ ;
+嫇 > bei\ ;
+嫆 > you\ ;
+嫄 > gen\ ;
+媾 > kou\ ;
+媻 > han\ ;
+媹 > riu\ ;
+媸 > shi\ ;
+媶 > jou\ ;
+媵 > you\ ;
+媲 > hei\ ;
+媮 > tou\ ;
+媭 > shu\ ;
+媧 > kai\ ;
+媥 > hen\ ;
+媤 > shi\ ;
+媢 > bou\ ;
+媞 > shi\ ;
+媜 > tei\ ;
+媗 > ken\ ;
+媔 > ben\ ;
+媓 > kou\ ;
+媏 > tan\ ;
+媌 > bou\ ;
+媊 > sen\ ;
+婾 > tou\ ;
+婻 > dan\ ;
+婸 > tou\ ;
+婷 > tei\ ;
+婰 > ten\ ;
+婪 > ran\ ;
+婩 > gen\ ;
+婧 > sei\ ;
+婥 > dou\ ;
+婠 > wan\ ;
+婞 > kei\ ;
+婝 > ten\ ;
+婜 > kan\ ;
+婛 > kei\ ;
+婘 > ken\ ;
+婗 > gei\ ;
+婖 > ten\ ;
+婒 > tan\ ;
+婑 > zui\ ;
+婇 > sai\ ;
+婄 > hou\ ;
+婃 > sou\ ;
+婂 > ben\ ;
+婁 > rou\ ;
+娾 > gai\ ;
+娹 > ken\ ;
+娶 > shu\ ;
+娵 > shu\ ;
+娮 > den\ ;
+娩 > ben\ ;
+娨 > ban\ ;
+娧 > tai\ ;
+娤 > sou\ ;
+娣 > tei\ ;
+娟 > ken\ ;
+娞 > dai\ ;
+娚 > nan\ ;
+娙 > gou\ ;
+娗 > tei\ ;
+娏 > bou\ ;
+娍 > sei\ ;
+娊 > ken\ ;
+娉 > hei\ ;
+姾 > sen\ ;
+姼 > shi\ ;
+姸 > ken\ ;
+姷 > yuu\ ;
+姵 > hai\ ;
+姳 > bei\ ;
+姯 > kou\ ;
+姮 > kou\ ;
+姭 > ken\ ;
+姪 > mei\ ;
+姩 > den\ ;
+姧 > kan\ ;
+姦 > kan\ ;
+姤 > kou\ ;
+姣 > kou\ ;
+姢 > ken\ ;
+姟 > kai\ ;
+姛 > tou\ ;
+姚 > you\ ;
+姙 > nin\ ;
+姘 > hin\ ;
+姗 > san\ ;
+姖 > kyo\ ;
+姒 > shi\ ;
+姐 > ane\ ;
+姏 > ban\ ;
+姍 > san\ ;
+姌 > zen\ ;
+姊 > shi\ ;
+姈 > rei\ ;
+姅 > han\ ;
+姄 > bin\ ;
+姃 > sei\ ;
+妶 > ken\ ;
+妵 > tou\ ;
+妳 > dai\ ;
+妨 > bou\ ;
+妧 > gen\ ;
+妦 > hou\ ;
+妢 > hun\ ;
+妡 > kin\ ;
+妠 > dou\ ;
+妞 > juu\ ;
+妝 > sou\ ;
+妛 > shi\ ;
+妚 > huu\ ;
+妗 > sen\ ;
+妏 > bun\ ;
+妎 > kai\ ;
+妍 > ken\ ;
+妌 > sei\ ;
+妅 > kou\ ;
+奿 > gan\ ;
+奾 > sen\ ;
+奻 > dan\ ;
+她 > chi\ ;
+奸 > kan\ ;
+奷 > sen\ ;
+奶 > dai\ ;
+奵 > tei\ ;
+奲 > sha\ ;
+奱 > ren\ ;
+奩 > ren\ ;
+奣 > wan\ ;
+奡 > gau\ ;
+奠 > ten\ ;
+奟 > kou\ ;
+奛 > kou\ ;
+奚 > kei\ ;
+奙 > hon\ ;
+奘 > jou\ ;
+奕 > eki\ ;
+奔 > hon\ ;
+奒 > kai\ ;
+奐 > kan\ ;
+奎 > kei\ ;
+奌 > ten\ ;
+奆 > ken\ ;
+奅 > hou\ ;
+奃 > tei\ ;
+奀 > bou\ ;
+夳 > tai\ ;
+夲 > tou\ ;
+夰 > kou\ ;
+夯 > kou\ ;
+夭 > you\ ;
+夣 > bou\ ;
+夠 > kou\ ;
+夝 > sei\ ;
+夘 > bou\ ;
+夒 > dou\ ;
+夐 > kei\ ;
+夊 > sui\ ;
+夆 > hou\ ;
+夅 > kou\ ;
+夂 > chi\ ;
+壾 > bou\ ;
+壼 > kon\ ;
+壸 > kon\ ;
+壴 > shu\ ;
+壮 > sou\ ;
+壨 > rai\ ;
+壧 > gan\ ;
+壥 > ten\ ;
+壤 > jou\ ;
+壣 > rin\ ;
+壠 > rou\ ;
+壟 > oka\ ;
+壜 > tan\ ;
+壙 > kou\ ;
+壘 > rui\ ;
+壖 > zen\ ;
+壕 > gou\ ;
+壔 > tau\ ;
+壐 > shi\ ;
+壏 > kan\ ;
+壎 > ken\ ;
+壍 > zan\ ;
+壌 > jou\ ;
+壉 > kyo\ ;
+壅 > you\ ;
+壂 > ten\ ;
+墿 > eki\ ;
+墾 > kon\ ;
+墽 > kau\ ;
+墸 > sho\ ;
+墳 > fun\ ;
+墱 > tou\ ;
+墭 > sei\ ;
+墬 > chi\ ;
+墩 > ton\ ;
+墦 > han\ ;
+墥 > tou\ ;
+墡 > sen\ ;
+墠 > sen\ ;
+墟 > kyo\ ;
+增 > zou\ ;
+墝 > kou\ ;
+墖 > tou\ ;
+墔 > sai\ ;
+墐 > kin\ ;
+墊 > ten\ ;
+墉 > you\ ;
+墈 > kan\ ;
+墅 > sho\ ;
+墁 > ban\ ;
+墀 > chi\ ;
+塿 > rou\ ;
+塽 > sau\ ;
+塼 > sen\ ;
+塺 > bai\ ;
+塹 > zan\ ;
+塴 > hou\ ;
+塲 > jou\ ;
+塰 > ama\ ;
+填 > ten\ ;
+塤 > ken\ ;
+塣 > tei\ ;
+塡 > ten\ ;
+塟 > sou\ ;
+塝 > hau\ ;
+塜 > hou\ ;
+塘 > tou\ ;
+塒 > shi\ ;
+塏 > kai\ ;
+塎 > you\ ;
+塌 > tou\ ;
+塁 > rui\ ;
+堿 > kan\ ;
+堽 > kou\ ;
+堼 > kou\ ;
+堺 > kai\ ;
+堭 > kau\ ;
+堩 > kou\ ;
+堧 > zen\ ;
+堦 > kai\ ;
+堥 > bou\ ;
+堡 > hou\ ;
+堠 > kou\ ;
+堟 > ten\ ;
+堞 > teu\ ;
+堜 > ren\ ;
+堋 > hou\ ;
+堉 > iku\ ;
+堈 > kou\ ;
+堇 > kin\ ;
+堄 > gen\ ;
+堃 > kon\ ;
+埿 > dei\ ;
+埾 > shu\ ;
+埽 > sou\ ;
+培 > bai\ ;
+埸 > eki\ ;
+埶 > gei\ ;
+埳 > kan\ ;
+埲 > hou\ ;
+埰 > sai\ ;
+埮 > tan\ ;
+埭 > tai\ ;
+埬 > tou\ ;
+埩 > sau\ ;
+埦 > wan\ ;
+埥 > sei\ ;
+埣 > sai\ ;
+埢 > ken\ ;
+域 > iki\ ;
+埞 > tei\ ;
+埝 > ten\ ;
+埜 > sho\ ;
+埕 > tei\ ;
+埏 > sen\ ;
+埌 > rou\ ;
+埇 > you\ ;
+埄 > hou\ ;
+埂 > kau\ ;
+埀 > sui\ ;
+垿 > sho\ ;
+垾 > kan\ ;
+垽 > gin\ ;
+垼 > eki\ ;
+垻 > hai\ ;
+垹 > hou\ ;
+垸 > kan\ ;
+垶 > sei\ ;
+垰 > tao\ ;
+垩 > sei\ ;
+垨 > shu\ ;
+垧 > kei\ ;
+垥 > keu\ ;
+垠 > gin\ ;
+垟 > you\ ;
+垚 > geu\ ;
+垙 > kuu\ ;
+垗 > teu\ ;
+垕 > kou\ ;
+垓 > gai\ ;
+垐 > shi\ ;
+垌 > tou\ ;
+垉 > hou\ ;
+垈 > tai\ ;
+垁 > chi\ ;
+坾 > cho\ ;
+坽 > rei\ ;
+坻 > chi\ ;
+坰 > kei\ ;
+坮 > dai\ ;
+坭 > dei\ ;
+坫 > ten\ ;
+坩 > kan\ ;
+坥 > sho\ ;
+坤 > kon\ ;
+坢 > han\ ;
+坚 > ken\ ;
+坙 > kei\ ;
+块 > kai\ ;
+坑 > kou\ ;
+坏 > hai\ ;
+坎 > kan\ ;
+坍 > tan\ ;
+坌 > hon\ ;
+坋 > hun\ ;
+坉 > ton\ ;
+坆 > bai\ ;
+坅 > kin\ ;
+坁 > shi\ ;
+址 > shi\ ;
+圭 > kei\ ;
+圦 > iri\ ;
+圢 > tei\ ;
+圞 > ran\ ;
+圝 > ran\ ;
+圜 > kan\ ;
+圛 > eki\ ;
+圚 > kai\ ;
+圌 > sen\ ;
+圊 > sei\ ;
+圉 > gyo\ ;
+圈 > ken\ ;
+圇 > rin\ ;
+圅 > kan\ ;
+圄 > gyo\ ;
+圂 > kon\ ;
+圁 > gin\ ;
+囿 > yuu\ ;
+囹 > rei\ ;
+囷 > kin\ ;
+囱 > sou\ ;
+园 > gan\ ;
+囬 > kai\ ;
+囪 > sou\ ;
+囨 > hen\ ;
+囧 > kei\ ;
+囥 > kou\ ;
+囤 > ton\ ;
+囡 > juu\ ;
+囝 > ken\ ;
+囜 > jin\ ;
+囘 > kai\ ;
+囔 > dou\ ;
+囏 > kan\ ;
+囊 > nou\ ;
+囈 > gei\ ;
+囆 > tai\ ;
+囅 > ten\ ;
+囃 > sou\ ;
+囂 > gou\ ;
+囀 > ten\ ;
+嚾 > kan\ ;
+嚻 > gou\ ;
+嚷 > jau\ ;
+嚵 > san\ ;
+嚮 > kou\ ;
+嚬 > hin\ ;
+嚪 > tan\ ;
+嚨 > rou\ ;
+嚢 > nou\ ;
+嚚 > gin\ ;
+嚙 > gou\ ;
+嚔 > tei\ ;
+嚎 > kau\ ;
+嚌 > sei\ ;
+嚈 > you\ ;
+嚆 > kou\ ;
+嚃 > tou\ ;
+嚂 > ran\ ;
+嚀 > dei\ ;
+噿 > sui\ ;
+噹 > tou\ ;
+噸 > ton\ ;
+噷 > kin\ ;
+噵 > dou\ ;
+噴 > fun\ ;
+噰 > you\ ;
+噬 > zei\ ;
+噥 > dou\ ;
+噤 > kin\ ;
+噣 > chu\ ;
+噢 > iku\ ;
+噡 > sen\ ;
+噟 > you\ ;
+噞 > gen\ ;
+噙 > kin\ ;
+噔 > tou\ ;
+噓 > kyo\ ;
+噍 > seu\ ;
+噋 > ton\ ;
+噉 > tan\ ;
+噇 > tou\ ;
+噆 > sou\ ;
+噃 > han\ ;
+噀 > son\ ;
+嘾 > tan\ ;
+嘽 > tan\ ;
+嘹 > reu\ ;
+嘷 > kou\ ;
+嘶 > sei\ ;
+嘵 > keu\ ;
+嘮 > tou\ ;
+嘭 > hou\ ;
+嘬 > sai\ ;
+嘫 > dam\ ;
+嘪 > bai\ ;
+嘕 > ken\ ;
+嘒 > kei\ ;
+嘐 > hau\ ;
+嘍 > rou\ ;
+嘌 > heu\ ;
+嘊 > gai\ ;
+嘈 > sau\ ;
+嘅 > kai\ ;
+嘄 > keu\ ;
+嗿 > tan\ ;
+嗾 > sou\ ;
+嗻 > sha\ ;
+嗺 > sui\ ;
+嗹 > ren\ ;
+嗸 > gou\ ;
+嗷 > gou\ ;
+嗨 > kai\ ;
+嗥 > kou\ ;
+嗤 > shi\ ;
+嗡 > rou\ ;
+嗞 > shi\ ;
+嗛 > ken\ ;
+嗙 > hou\ ;
+嗘 > kei\ ;
+嗓 > sou\ ;
+嗒 > tou\ ;
+嗌 > eki\ ;
+嗊 > kou\ ;
+嗈 > you\ ;
+嗃 > kou\ ;
+嗁 > tei\ ;
+喿 > sou\ ;
+喭 > gen\ ;
+喦 > jou\ ;
+喤 > kou\ ;
+喛 > kan\ ;
+喙 > kai\ ;
+喗 > gin\ ;
+喕 > ben\ ;
+喔 > aku\ ;
+喒 > san\ ;
+喏 > sha\ ;
+喍 > sai\ ;
+喊 > kan\ ;
+喈 > kai\ ;
+喃 > nan\ ;
+啿 > tan\ ;
+啽 > gan\ ;
+啻 > shi\ ;
+啴 > tan\ ;
+啮 > gou\ ;
+啥 > sha\ ;
+啡 > hai\ ;
+啟 > kei\ ;
+啛 > sai\ ;
+啙 > shi\ ;
+啗 > tan\ ;
+啖 > tan\ ;
+啕 > tou\ ;
+啔 > kei\ ;
+啓 > kei\ ;
+啑 > sou\ ;
+啐 > sai\ ;
+啍 > ton\ ;
+啌 > kou\ ;
+啉 > ran\ ;
+啈 > kou\ ;
+啁 > tou\ ;
+啀 > gai\ ;
+唻 > rai\ ;
+唶 > sha\ ;
+唳 > rei\ ;
+唫 > gin\ ;
+唪 > hou\ ;
+唤 > kan\ ;
+唝 > kou\ ;
+唘 > kei\ ;
+唗 > tou\ ;
+唕 > sou\ ;
+唑 > zei\ ;
+唍 > kan\ ;
+唌 > sen\ ;
+唉 > kai\ ;
+唅 > kan\ ;
+唄 > uta\ ;
+唁 > gen\ ;
+哽 > kou\ ;
+哼 > kou\ ;
+哻 > kan\ ;
+哸 > sai\ ;
+哰 > rou\ ;
+哯 > ken\ ;
+哮 > kou\ ;
+哤 > bou\ ;
+哢 > rou\ ;
+哠 > kou\ ;
+哏 > kon\ ;
+哎 > gai\ ;
+哊 > iku\ ;
+哈 > gou\ ;
+哆 > shi\ ;
+哅 > kou\ ;
+哄 > kou\ ;
+哃 > tou\ ;
+咾 > rou\ ;
+咺 > ken\ ;
+咸 > kan\ ;
+咷 > tau\ ;
+咵 > kuu\ ;
+咴 > kai\ ;
+咮 > tou\ ;
+咫 > shi\ ;
+咨 > shi\ ;
+咣 > kou\ ;
+咔 > rou\ ;
+咒 > shu\ ;
+咍 > kai\ ;
+咆 > hou\ ;
+咅 > tou\ ;
+咂 > sou\ ;
+咁 > kan\ ;
+呷 > kou\ ;
+呲 > shi\ ;
+呰 > shi\ ;
+呯 > hei\ ;
+呩 > shi\ ;
+呧 > tei\ ;
+呥 > zen\ ;
+呤 > rei\ ;
+呣 > bou\ ;
+呡 > bun\ ;
+呠 > hon\ ;
+呞 > shi\ ;
+呈 > tei\ ;
+呇 > kei\ ;
+呅 > bai\ ;
+呃 > aku\ ;
+呁 > kin\ ;
+吼 > kou\ ;
+吺 > tou\ ;
+吱 > shi\ ;
+吰 > kou\ ;
+启 > kei\ ;
+吮 > sen\ ;
+吭 > kou\ ;
+听 > kin\ ;
+吪 > guu\ ;
+吩 > fun\ ;
+吨 > ton\ ;
+吥 > hou\ ;
+吤 > kai\ ;
+吠 > hai\ ;
+吟 > gin\ ;
+吞 > don\ ;
+吙 > kuu\ ;
+吘 > gou\ ;
+吕 > ryo\ ;
+吆 > you\ ;
+吅 > ten\ ;
+吂 > bou\ ;
+号 > gou\ ;
+叮 > tei\ ;
+叨 > tou\ ;
+另 > rei\ ;
+叟 > sou\ ;
+叝 > kou\ ;
+叛 > han\ ;
+变 > hen\ ;
+叓 > shi\ ;
+叏 > kai\ ;
+叇 > tai\ ;
+叅 > san\ ;
+叄 > san\ ;
+叁 > san\ ;
+叀 > sen\ ;
+厽 > rui\ ;
+厺 > kyo\ ;
+厹 > jiu\ ;
+厸 > rin\ ;
+厷 > kou\ ;
+厶 > shi\ ;
+厵 > gen\ ;
+厲 > rei\ ;
+厮 > shi\ ;
+厫 > gou\ ;
+厪 > kin\ ;
+厧 > ten\ ;
+厡 > gen\ ;
+厜 > shi\ ;
+厙 > sha\ ;
+厗 > tei\ ;
+厖 > bou\ ;
+厓 > gai\ ;
+厎 > shi\ ;
+厉 > rei\ ;
+厈 > kan\ ;
+厃 > sen\ ;
+厂 > kan\ ;
+卺 > kin\ ;
+卯 > bou\ ;
+卮 > shi\ ;
+卬 > gau\ ;
+卥 > sei\ ;
+卤 > sei\ ;
+卣 > yuu\ ;
+卞 > hen\ ;
+卝 > kan\ ;
+单 > tan\ ;
+卐 > ban\ ;
+卋 > sei\ ;
+卅 > sou\ ;
+卄 > juu\ ;
+匾 > hen\ ;
+匸 > kei\ ;
+匷 > kyo\ ;
+匴 > san\ ;
+匳 > ren\ ;
+匲 > ren\ ;
+匰 > tan\ ;
+匯 > wai\ ;
+匨 > zou\ ;
+匥 > hen\ ;
+匟 > kou\ ;
+匝 > sou\ ;
+匘 > dou\ ;
+匒 > tou\ ;
+匏 > hou\ ;
+匌 > kou\ ;
+匋 > tou\ ;
+匄 > kai\ ;
+勽 > bun\ ;
+勹 > hou\ ;
+勷 > jou\ ;
+勵 > rei\ ;
+勴 > ryo\ ;
+勳 > kun\ ;
+勲 > kun\ ;
+勱 > bai\ ;
+勯 > tan\ ;
+勬 > ken\ ;
+勫 > han\ ;
+勨 > you\ ;
+勦 > sou\ ;
+勡 > heu\ ;
+勛 > kun\ ;
+勗 > bou\ ;
+勔 > ben\ ;
+勓 > kai\ ;
+勑 > rai\ ;
+勐 > bau\ ;
+勏 > hou\ ;
+勍 > kei\ ;
+勌 > ken\ ;
+勈 > you\ ;
+勆 > rou\ ;
+勄 > bin\ ;
+勂 > kou\ ;
+勁 > kei\ ;
+势 > sei\ ;
+劾 > gai\ ;
+劺 > bou\ ;
+劷 > you\ ;
+劶 > kou\ ;
+劵 > ken\ ;
+劳 > rou\ ;
+劲 > kei\ ;
+劯 > sho\ ;
+劧 > shi\ ;
+劥 > kou\ ;
+劤 > kin\ ;
+办 > hen\ ;
+劝 > kan\ ;
+劗 > san\ ;
+劖 > san\ ;
+劔 > ken\ ;
+劒 > ken\ ;
+劑 > zai\ ;
+劎 > ken\ ;
+劌 > kei\ ;
+劊 > kai\ ;
+劆 > ren\ ;
+剿 > sou\ ;
+剼 > san\ ;
+剻 > huu\ ;
+剸 > tan\ ;
+剷 > san\ ;
+剴 > gai\ ;
+剳 > tou\ ;
+剱 > ken\ ;
+剰 > jou\ ;
+剭 > oku\ ;
+剬 > tan\ ;
+剪 > sen\ ;
+剩 > jou\ ;
+剤 > zai\ ;
+剠 > kei\ ;
+剜 > wan\ ;
+剚 > shi\ ;
+剙 > sou\ ;
+剗 > san\ ;
+剏 > sou\ ;
+剅 > rou\ ;
+剄 > kei\ ;
+券 > ken\ ;
+刲 > kei\ ;
+刱 > sou\ ;
+刬 > san\ ;
+刪 > san\ ;
+刨 > hou\ ;
+刧 > gou\ ;
+刢 > rei\ ;
+刡 > bin\ ;
+删 > san\ ;
+刞 > sho\ ;
+刓 > gun\ ;
+刐 > tan\ ;
+刎 > fun\ ;
+刌 > son\ ;
+刋 > sen\ ;
+刅 > sou\ ;
+刄 > jin\ ;
+刂 > tau\ ;
+刁 > teu\ ;
+凾 > kan\ ;
+凷 > kai\ ;
+凵 > kan\ ;
+凳 > tou\ ;
+凲 > kan\ ;
+凱 > gai\ ;
+凰 > kou\ ;
+凮 > fuu\ ;
+凭 > hei\ ;
+凨 > fuu\ ;
+凥 > kyo\ ;
+凤 > hou\ ;
+凣 > han\ ;
+凢 > bon\ ;
+凜 > rin\ ;
+凛 > rin\ ;
+凘 > shi\ ;
+凗 > sai\ ;
+凖 > jun\ ;
+凕 > bei\ ;
+凔 > sau\ ;
+凑 > sou\ ;
+减 > gen\ ;
+凊 > sei\ ;
+凈 > sou\ ;
+准 > jun\ ;
+凂 > bai\ ;
+冿 > sen\ ;
+冺 > bin\ ;
+冸 > han\ ;
+冭 > tai\ ;
+冩 > sha\ ;
+冦 > kou\ ;
+冥 > mei\ ;
+冣 > shu\ ;
+冡 > bou\ ;
+冕 > ben\ ;
+冓 > kou\ ;
+冐 > bou\ ;
+冏 > kei\ ;
+冋 > kei\ ;
+冉 > nen\ ;
+冄 > zen\ ;
+冃 > bou\ ;
+冂 > kei\ ;
+兮 > kei\ ;
+內 > dai\ ;
+兦 > bou\ ;
+兤 > kou\ ;
+兘 > shi\ ;
+兕 > shi\ ;
+兊 > tai\ ;
+儿 > jin\ ;
+儽 > rai\ ;
+儼 > gen\ ;
+儻 > tou\ ;
+儹 > san\ ;
+儷 > rei\ ;
+儳 > san\ ;
+儱 > rou\ ;
+儯 > tou\ ;
+儩 > shi\ ;
+儧 > san\ ;
+儥 > iku\ ;
+儤 > hou\ ;
+儣 > kou\ ;
+儢 > ryo\ ;
+儡 > rai\ ;
+儝 > kei\ ;
+儜 > dau\ ;
+儚 > bou\ ;
+儙 > ken\ ;
+儖 > ran\ ;
+儕 > sei\ ;
+儓 > tai\ ;
+儑 > gan\ ;
+儐 > hin\ ;
+儎 > sai\ ;
+儌 > keu\ ;
+儋 > tan\ ;
+儊 > sho\ ;
+儉 > ken\ ;
+儈 > kai\ ;
+儇 > ken\ ;
+儆 > kei\ ;
+儅 > tou\ ;
+儃 > sen\ ;
+儂 > dou\ ;
+僿 > shi\ ;
+僼 > hou\ ;
+僸 > kin\ ;
+僶 > bin\ ;
+僯 > rin\ ;
+僮 > dou\ ;
+僭 > sen\ ;
+僬 > seu\ ;
+僩 > kan\ ;
+僨 > hun\ ;
+僤 > tan\ ;
+僣 > sen\ ;
+僢 > sen\ ;
+僠 > fan\ ;
+僝 > san\ ;
+僜 > tou\ ;
+僙 > kou\ ;
+僗 > rau\ ;
+僔 > son\ ;
+僓 > tai\ ;
+僐 > sen\ ;
+僎 > sen\ ;
+僌 > you\ ;
+僋 > tan\ ;
+僊 > sen\ ;
+僉 > sen\ ;
+僈 > ban\ ;
+僆 > ren\ ;
+僄 > heu\ ;
+僂 > rou\ ;
+僀 > tei\ ;
+傺 > tei\ ;
+傸 > sau\ ;
+債 > sai\ ;
+傲 > gou\ ;
+傰 > hou\ ;
+傯 > sou\ ;
+傮 > sou\ ;
+傭 > you\ ;
+傪 > san\ ;
+傤 > sai\ ;
+傡 > hei\ ;
+傝 > tan\ ;
+傛 > you\ ;
+傚 > kou\ ;
+傖 > sau\ ;
+傔 > ken\ ;
+傓 > sen\ ;
+傒 > kei\ ;
+傐 > kou\ ;
+傏 > tou\ ;
+傎 > ten\ ;
+傋 > kau\ ;
+傇 > jou\ ;
+傆 > gen\ ;
+傂 > chi\ ;
+傁 > sou\ ;
+傀 > kai\ ;
+偻 > rou\ ;
+偺 > san\ ;
+偸 > tou\ ;
+偳 > tan\ ;
+偲 > shi\ ;
+偭 > ben\ ;
+偬 > sou\ ;
+偫 > chi\ ;
+偩 > huu\ ;
+偨 > shi\ ;
+偦 > sho\ ;
+偢 > seu\ ;
+偡 > tan\ ;
+偞 > you\ ;
+偝 > hai\ ;
+偛 > sou\ ;
+偙 > tei\ ;
+偘 > kan\ ;
+偗 > sei\ ;
+偖 > sha\ ;
+偕 > kai\ ;
+偓 > aku\ ;
+偒 > tou\ ;
+偑 > huu\ ;
+偐 > gan\ ;
+偏 > hen\ ;
+偎 > wai\ ;
+偍 > tei\ ;
+偋 > hei\ ;
+偄 > dan\ ;
+偂 > sen\ ;
+值 > chi\ ;
+倷 > dai\ ;
+倴 > hon\ ;
+倳 > shi\ ;
+倲 > tou\ ;
+倱 > kon\ ;
+倫 > rin\ ;
+倪 > gei\ ;
+倨 > kyo\ ;
+倧 > sou\ ;
+倥 > kou\ ;
+倣 > hou\ ;
+倞 > kei\ ;
+倝 > kan\ ;
+倗 > hou\ ;
+倖 > kou\ ;
+倕 > sui\ ;
+倓 > tan\ ;
+們 > mon\ ;
+倎 > ten\ ;
+倍 > bai\ ;
+倊 > sou\ ;
+倈 > rai\ ;
+倅 > sai\ ;
+倄 > kou\ ;
+倂 > hei\ ;
+倁 > chi\ ;
+俿 > chi\ ;
+俽 > kin\ ;
+俼 > iku\ ;
+俸 > hou\ ;
+俴 > sen\ ;
+俳 > hai\ ;
+俲 > kou\ ;
+俫 > rai\ ;
+俟 > shi\ ;
+俜 > hei\ ;
+俛 > ben\ ;
+俖 > hai\ ;
+俔 > ken\ ;
+俓 > gau\ ;
+俒 > kon\ ;
+俑 > you\ ;
+俏 > seu\ ;
+俊 > jun\ ;
+俆 > sho\ ;
+俀 > tai\ ;
+侾 > kou\ ;
+侽 > dan\ ;
+侹 > tei\ ;
+侫 > nei\ ;
+侣 > ryo\ ;
+侟 > sen\ ;
+侗 > tou\ ;
+侖 > ron\ ;
+侔 > bou\ ;
+侑 > yuu\ ;
+侏 > shu\ ;
+侊 > kou\ ;
+侈 > shi\ ;
+侅 > kai\ ;
+侃 > kan\ ;
+侀 > kei\ ;
+佽 > shi\ ;
+佼 > kou\ ;
+佺 > sen\ ;
+佷 > kou\ ;
+佱 > hou\ ;
+佯 > you\ ;
+佮 > kou\ ;
+佩 > hai\ ;
+佣 > you\ ;
+佢 > kyo\ ;
+佡 > ken\ ;
+佟 > tou\ ;
+佞 > nei\ ;
+佝 > kou\ ;
+佘 > sha\ ;
+佑 > yuu\ ;
+佌 > shi\ ;
+佉 > kyo\ ;
+但 > tan\ ;
+佂 > yai\ ;
+佀 > shi\ ;
+伻 > hou\ ;
+伹 > sho\ ;
+伶 > rei\ ;
+伭 > ken\ ;
+伣 > ken\ ;
+优 > yuu\ ;
+众 > gin\ ;
+伓 > hai\ ;
+伒 > kin\ ;
+伉 > kou\ ;
+伇 > eki\ ;
+伅 > ton\ ;
+伂 > hai\ ;
+仿 > hou\ ;
+仾 > tei\ ;
+份 > hin\ ;
+价 > kai\ ;
+仱 > ken\ ;
+仯 > sou\ ;
+仭 > jin\ ;
+仠 > kan\ ;
+仟 > sen\ ;
+仞 > jin\ ;
+仜 > kou\ ;
+仚 > ken\ ;
+仐 > san\ ;
+从 > juu\ ;
+仍 > jou\ ;
+仃 > tei\ ;
+什 > juu\ ;
+亾 > bou\ ;
+亷 > ren\ ;
+亶 > tan\ ;
+亰 > kei\ ;
+亢 > kou\ ;
+亠 > tou\ ;
+亝 > sei\ ;
+亗 > sai\ ;
+亖 > shi\ ;
+亃 > rin\ ;
+亁 > ken\ ;
+乿 > chi\ ;
+乹 > kan\ ;
+乪 > dou\ ;
+乩 > kei\ ;
+乨 > shi\ ;
+乢 > gai\ ;
+乖 > kai\ ;
+乓 > hau\ ;
+乒 > hei\ ;
+乑 > gin\ ;
+乂 > gai\ ;
+举 > kyo\ ;
+丽 > rei\ ;
+丶 > chu\ ;
+丳 > san\ ;
+丱 > kan\ ;
+丰 > hou\ ;
+丯 > kai\ ;
+丨 > kon\ ;
+丣 > yuu\ ;
+丙 > hei\ ;
+丗 > sei\ ;
+专 > sen\ ;
+丐 > kai\ ;
+丏 > ben\ ;
+丂 > kou\ ;
+迦 > ka\ ;
+矢 > ya\ ;
+応 > ou\ ;
+忌 > ki\ ;
+辭 > ji\ ;
+微 > bi\ ;
+御 > go\ ;
+辞 > ji\ ;
+徒 > to\ ;
+徐 > jo\ ;
+徃 > ou\ ;
+往 > ou\ ;
+眼 > me\ ;
+輪 > wa\ ;
+弥 > mi\ ;
+真 > ma\ ;
+輝 > ki\ ;
+引 > in\ ;
+弐 > ni\ ;
+延 > en\ ;
+目 > me\ ;
+身 > mi\ ;
+庫 > ko\ ;
+座 > za\ ;
+度 > do\ ;
+府 > fu\ ;
+庇 > hi\ ;
+踰 > yu\ ;
+帰 > ki\ ;
+痺 > hi\ ;
+路 > ro\ ;
+差 > sa\ ;
+跪 > ki\ ;
+巨 > ko\ ;
+巣 > su\ ;
+州 > su\ ;
+痛 > ts\ ;
+疲 > hi\ ;
+疑 > gi\ ;
+疎 > so\ ;
+疋 > so\ ;
+起 > ki\ ;
+赴 > fu\ ;
+田 > ta\ ;
+甥 > oi\ ;
+贔 > hi\ ;
+費 > hi\ ;
+貴 > ki\ ;
+環 > wa\ ;
+貨 > ka\ ;
+負 > fu\ ;
+豫 > yo\ ;
+履 > ri\ ;
+屓 > ki\ ;
+屋 > ya\ ;
+谷 > ya\ ;
+理 > ri\ ;
+寝 > ne\ ;
+寐 > bi\ ;
+珈 > ka\ ;
+寄 > ki\ ;
+家 > ke\ ;
+実 > mi\ ;
+宜 > gi\ ;
+王 > ou\ ;
+譽 > yo\ ;
+護 > go\ ;
+議 > gi\ ;
+譬 > hi\ ;
+季 > ki\ ;
+字 > ji\ ;
+子 > ne\ ;
+嬉 > ki\ ;
+媼 > ou\ ;
+課 > ka\ ;
+誤 > go\ ;
+犠 > gi\ ;
+語 > go\ ;
+媚 > bi\ ;
+誉 > yo\ ;
+誇 > ko\ ;
+婦 > fu\ ;
+婢 > hi\ ;
+婉 > en\ ;
+訴 > so\ ;
+訝 > ga\ ;
+記 > ki\ ;
+爐 > ro\ ;
+營 > ei\ ;
+妬 > to\ ;
+妓 > ki\ ;
+見 > mi\ ;
+如 > jo\ ;
+女 > jo\ ;
+襦 > ju\ ;
+奧 > ou\ ;
+奈 > na\ ;
+奇 > ki\ ;
+央 > ou\ ;
+太 > ta\ ;
+無 > mu\ ;
+褞 > on\ ;
+多 > ta\ ;
+褓 > ho\ ;
+裳 > mo\ ;
+裡 > ri\ ;
+烟 > en\ ;
+補 > ho\ ;
+墮 > da\ ;
+被 > hi\ ;
+衰 > sa\ ;
+灯 > hi\ ;
+火 > hi\ ;
+衞 > ei\ ;
+衛 > ei\ ;
+塗 > to\ ;
+堵 > to\ ;
+場 > ba\ ;
+瀬 > se\ ;
+堕 > da\ ;
+蟲 > ki\ ;
+濡 > ju\ ;
+螺 > ra\ ;
+坐 > za\ ;
+圖 > to\ ;
+演 > en\ ;
+圓 > en\ ;
+圃 > ho\ ;
+固 > ko\ ;
+図 > zu\ ;
+因 > in\ ;
+黄 > ki\ ;
+溯 > so\ ;
+蚊 > ka\ ;
+鹽 > en\ ;
+湯 > yu\ ;
+温 > on\ ;
+嘩 > ka\ ;
+渡 > to\ ;
+鸚 > ou\ ;
+嘔 > ou\ ;
+蘇 > so\ ;
+鷺 > ro\ ;
+淹 > en\ ;
+淫 > in\ ;
+嗟 > aa\ ;
+藍 > ai\ ;
+涸 > ko\ ;
+喪 > mo\ ;
+喜 > ki\ ;
+浮 > fu\ ;
+鵡 > bu\ ;
+派 > ha\ ;
+洩 > ei\ ;
+泳 > ei\ ;
+哩 > ri\ ;
+員 > in\ ;
+泄 > ei\ ;
+哀 > ai\ ;
+沿 > en\ ;
+治 > ji\ ;
+沙 > sa\ ;
+和 > wa\ ;
+汽 > ki\ ;
+呼 > ko\ ;
+汰 > ta\ ;
+呪 > ju\ ;
+葡 > ho\ ;
+汝 > jo\ ;
+葉 > ha\ ;
+呉 > go\ ;
+吾 > go\ ;
+永 > ei\ ;
+氷 > hi\ ;
+否 > hi\ ;
+氣 > ki\ ;
+気 > ki\ ;
+吐 > to\ ;
+吏 > ri\ ;
+名 > na\ ;
+可 > ka\ ;
+菜 > na\ ;
+毛 > ke\ ;
+叙 > jo\ ;
+毘 > hi\ ;
+受 > ju\ ;
+比 > hi\ ;
+菓 > ka\ ;
+毆 > ou\ ;
+莫 > bo\ ;
+歸 > ki\ ;
+荷 > ni\ ;
+魯 > ro\ ;
+危 > ki\ ;
+歯 > ha\ ;
+歩 > ho\ ;
+武 > bu\ ;
+歟 > yo\ ;
+魘 > en\ ;
+魔 > ma\ ;
+卑 > hi\ ;
+歐 > ou\ ;
+魅 > mi\ ;
+茹 > jo\ ;
+欺 > gi\ ;
+欷 > ki\ ;
+化 > ka\ ;
+匍 > ho\ ;
+茄 > ka\ ;
+茂 > mo\ ;
+英 > ei\ ;
+苦 > ku\ ;
+苛 > ka\ ;
+務 > mu\ ;
+苑 > en\ ;
+芽 > me\ ;
+努 > do\ ;
+加 > ka\ ;
+檐 > en\ ;
+檎 > go\ ;
+驅 > ku\ ;
+樹 > ju\ ;
+利 > ri\ ;
+模 > mo\ ;
+舞 > bu\ ;
+與 > yo\ ;
+出 > de\ ;
+臥 > ga\ ;
+駈 > ku\ ;
+駆 > ku\ ;
+駄 > ta\ ;
+冶 > ya\ ;
+膚 > fu\ ;
+榎 > ka\ ;
+具 > gu\ ;
+其 > ki\ ;
+饑 > ki\ ;
+腑 > fu\ ;
+兒 > ji\ ;
+腐 > fu\ ;
+児 > ji\ ;
+餘 > yo\ ;
+餓 > ga\ ;
+儀 > gi\ ;
+價 > ka\ ;
+飲 > in\ ;
+飮 > in\ ;
+飢 > ki\ ;
+胡 > ko\ ;
+僞 > gi\ ;
+飛 > hi\ ;
+棄 > ki\ ;
+備 > bi\ ;
+顧 > ko\ ;
+做 > sa\ ;
+顆 > ka\ ;
+案 > an\ ;
+假 > ka\ ;
+根 > ne\ ;
+倶 > ku\ ;
+値 > ne\ ;
+倚 > ki\ ;
+頗 > ha\ ;
+預 > yo\ ;
+個 > ko\ ;
+栄 > ei\ ;
+韻 > in\ ;
+査 > sa\ ;
+音 > ne\ ;
+翳 > ei\ ;
+俯 > fu\ ;
+保 > ho\ ;
+羽 > wa\ ;
+架 > ka\ ;
+枯 > ko\ ;
+侮 > bu\ ;
+義 > gi\ ;
+果 > ka\ ;
+侘 > ta\ ;
+美 > bi\ ;
+羅 > ra\ ;
+罹 > ri\ ;
+罵 > ba\ ;
+靡 > hi\ ;
+非 > hi\ ;
+余 > yo\ ;
+青 > ao\ ;
+佐 > sa\ ;
+似 > ni\ ;
+未 > mi\ ;
+木 > ki\ ;
+期 > ki\ ;
+伎 > gi\ ;
+伍 > go\ ;
+企 > ki\ ;
+曳 > ei\ ;
+離 > ri\ ;
+代 > yo\ ;
+付 > fu\ ;
+隱 > in\ ;
+暮 > bo\ ;
+隠 > in\ ;
+些 > sa\ ;
+暗 > an\ ;
+五 > go\ ;
+互 > go\ ;
+云 > un\ ;
+二 > ni\ ;
+予 > yo\ ;
+繻 > ju\ ;
+普 > fu\ ;
+除 > jo\ ;
+院 > in\ ;
+九 > ku\ ;
+附 > fu\ ;
+乃 > no\ ;
+陀 > da\ ;
+丹 > ni\ ;
+是 > ze\ ;
+映 > ei\ ;
+世 > yo\ ;
+与 > yo\ ;
+不 > fu\ ;
+三 > mi\ ;
+旺 > ou\ ;
+日 > hi\ ;
+既 > ki\ ;
+綺 > ki\ ;
+斗 > to\ ;
+間 > ma\ ;
+斐 > hi\ ;
+敷 > fu\ ;
+素 > so\ ;
+紀 > ki\ ;
+擬 > gi\ ;
+撫 > bu\ ;
+摩 > ma\ ;
+籔 > su\ ;
+簿 > bo\ ;
+簷 > en\ ;
+措 > so\ ;
+掩 > en\ ;
+掛 > ka\ ;
+授 > ju\ ;
+箇 > ka\ ;
+捗 > ho\ ;
+捕 > ho\ ;
+挨 > ai\ ;
+符 > fu\ ;
+持 > ji\ ;
+鋭 > ei\ ;
+鋪 > ho\ ;
+押 > ou\ ;
+窺 > ki\ ;
+窶 > ku\ ;
+披 > hi\ ;
+抒 > jo\ ;
+批 > hi\ ;
+扶 > fu\ ;
+打 > da\ ;
+穏 > on\ ;
+手 > te\ ;
+穂 > ho\ ;
+稼 > ka\ ;
+戸 > to\ ;
+戲 > gi\ ;
+戯 > gi\ ;
+懼 > ku\ ;
+秘 > hi\ ;
+科 > ka\ ;
+野 > no\ ;
+里 > ri\ ;
+祖 > so\ ;
+祕 > hi\ ;
+慕 > bo\ ;
+祈 > ki\ ;
+慇 > in\ ;
+愛 > ai\ ;
+愚 > gu\ ;
+愉 > yu\ ;
+愈 > yu\ ;
+惹 > ja\ ;
+部 > bu\ ;
+磨 > ma\ ;
+悸 > ki\ ;
+悲 > hi\ ;
+那 > da\ ;
+悟 > go\ ;
+避 > hi\ ;
+恩 > on\ ;
+過 > ka\ ;
+運 > un\ ;
+破 > ha\ ;
+怨 > en\ ;
+怖 > fu\ ;
+途 > to\ ;
+怒 > do\ ;
+龢 > ka\ ;
+龜 > ki\ ;
+龑 > en\ ;
+齮 > gi\ ;
+齟 > so\ ;
+齖 > ga\ ;
+齇 > sa\ ;
+齆 > ou\ ;
+鼽 > gu\ ;
+鼹 > en\ ;
+鼴 > en\ ;
+鼯 > go\ ;
+鼔 > ko\ ;
+鼉 > ta\ ;
+黼 > ho\ ;
+黸 > ro\ ;
+黯 > an\ ;
+黭 > en\ ;
+黤 > en\ ;
+黡 > en\ ;
+黟 > ei\ ;
+麾 > ki\ ;
+麼 > ma\ ;
+麸 > fu\ ;
+麬 > fu\ ;
+麤 > so\ ;
+麒 > ki\ ;
+麌 > gu\ ;
+麋 > bi\ ;
+麄 > so\ ;
+麂 > ki\ ;
+麁 > so\ ;
+鹺 > sa\ ;
+鹵 > ro\ ;
+鹟 > ou\ ;
+鹀 > bu\ ;
+鸝 > ri\ ;
+鸜 > ku\ ;
+鸕 > ro\ ;
+鸒 > yo\ ;
+鷰 > en\ ;
+鷗 > ou\ ;
+鷖 > ei\ ;
+鷃 > an\ ;
+鶲 > ou\ ;
+鶯 > ou\ ;
+鶘 > ko\ ;
+鶕 > an\ ;
+鵺 > ya\ ;
+鵷 > en\ ;
+鵯 > hi\ ;
+鵪 > an\ ;
+鵞 > ga\ ;
+鵝 > ga\ ;
+鵐 > bu\ ;
+鴽 > jo\ ;
+鴼 > ro\ ;
+鴳 > an\ ;
+鴯 > ji\ ;
+鴣 > ko\ ;
+鴝 > ku\ ;
+鴛 > en\ ;
+鴕 > ta\ ;
+鴑 > do\ ;
+鳶 > en\ ;
+鳬 > fu\ ;
+鳧 > fu\ ;
+鳁 > on\ ;
+鲏 > hi\ ;
+鲊 > sa\ ;
+鱫 > ai\ ;
+鰢 > ba\ ;
+鰛 > on\ ;
+鰖 > ta\ ;
+鰋 > en\ ;
+鯡 > hi\ ;
+鯝 > ko\ ;
+鯋 > sa\ ;
+鯆 > ho\ ;
+鮻 > sa\ ;
+鮬 > ho\ ;
+鮟 > an\ ;
+鮞 > ji\ ;
+鮍 > hi\ ;
+鮇 > bi\ ;
+鮀 > ta\ ;
+魲 > ro\ ;
+魮 > hi\ ;
+魦 > sa\ ;
+魕 > ki\ ;
+魏 > gi\ ;
+魌 > ki\ ;
+鬽 > bi\ ;
+鬹 > ki\ ;
+鬶 > ki\ ;
+鬴 > fu\ ;
+鬐 > ki\ ;
+鬍 > ko\ ;
+鬌 > ta\ ;
+鬁 > ri\ ;
+髿 > sa\ ;
+髽 > sa\ ;
+髵 > ji\ ;
+髲 > hi\ ;
+髬 > hi\ ;
+髗 > ro\ ;
+髃 > gu\ ;
+髀 > hi\ ;
+骻 > ka\ ;
+驪 > ri\ ;
+驥 > ki\ ;
+驊 > ka\ ;
+騾 > ra\ ;
+騧 > ka\ ;
+騤 > ki\ ;
+騢 > ka\ ;
+騖 > bu\ ;
+騑 > hi\ ;
+騏 > ki\ ;
+騎 > ki\ ;
+駰 > in\ ;
+駬 > ji\ ;
+駡 > ba\ ;
+駞 > da\ ;
+駝 > ta\ ;
+駙 > fu\ ;
+駕 > ga\ ;
+駓 > hi\ ;
+駑 > do\ ;
+馿 > ro\ ;
+馱 > ta\ ;
+馟 > to\ ;
+馗 > ki\ ;
+饠 > ra\ ;
+饜 > en\ ;
+饋 > ki\ ;
+饇 > yo\ ;
+饂 > un\ ;
+餽 > ki\ ;
+餼 > ki\ ;
+餲 > ei\ ;
+餬 > ko\ ;
+餫 > un\ ;
+餡 > an\ ;
+餜 > ka\ ;
+餔 > ho\ ;
+餇 > to\ ;
+飫 > yo\ ;
+颶 > ku\ ;
+颫 > fu\ ;
+颕 > ei\ ;
+顱 > ro\ ;
+顬 > ju\ ;
+顗 > gi\ ;
+頵 > in\ ;
+頴 > ei\ ;
+頫 > fu\ ;
+頎 > ki\ ;
+頍 > gi\ ;
+韺 > ei\ ;
+韵 > in\ ;
+韞 > on\ ;
+韗 > un\ ;
+鞿 > ki\ ;
+鞾 > ka\ ;
+鞼 > ki\ ;
+鞵 > ai\ ;
+鞍 > an\ ;
+鞋 > ai\ ;
+鞅 > ou\ ;
+鞁 > hi\ ;
+靿 > ou\ ;
+靻 > so\ ;
+靷 > in\ ;
+靶 > ha\ ;
+靉 > ai\ ;
+霪 > in\ ;
+霣 > in\ ;
+霏 > hi\ ;
+需 > ju\ ;
+雺 > mu\ ;
+雅 > ga\ ;
+隳 > ki\ ;
+隩 > ou\ ;
+隘 > ai\ ;
+隕 > in\ ;
+隐 > in\ ;
+隋 > ta\ ;
+隂 > in\ ;
+隁 > en\ ;
+陻 > in\ ;
+陴 > hi\ ;
+陒 > ki\ ;
+陏 > ta\ ;
+陂 > ha\ ;
+陁 > ta\ ;
+阽 > en\ ;
+阼 > so\ ;
+阻 > so\ ;
+阥 > in\ ;
+阜 > fu\ ;
+阇 > to\ ;
+闞 > kn\ ;
+闚 > ki\ ;
+闍 > to\ ;
+闉 > in\ ;
+閻 > en\ ;
+閹 > en\ ;
+閭 > ro\ ;
+閟 > hi\ ;
+镾 > bi\ ;
+鑼 > ra\ ;
+鑪 > ro\ ;
+鐖 > ki\ ;
+鏖 > ou\ ;
+鏍 > ra\ ;
+鏁 > sa\ ;
+鎶 > ka\ ;
+鎵 > ka\ ;
+鎣 > ei\ ;
+鎈 > sa\ ;
+鎂 > bi\ ;
+鎁 > ya\ ;
+鍺 > ta\ ;
+鍜 > ka\ ;
+鍍 > to\ ;
+鍈 > ei\ ;
+錻 > bu\ ;
+錮 > ko\ ;
+錤 > ki\ ;
+錡 > ki\ ;
+錍 > hi\ ;
+鋺 > en\ ;
+鋰 > ri\ ;
+鋣 > ya\ ;
+鋘 > ka\ ;
+鋆 > in\ ;
+銼 > sa\ ;
+銳 > ei\ ;
+銨 > an\ ;
+銟 > sa\ ;
+鉠 > ei\ ;
+鉍 > hi\ ;
+鈹 > hi\ ;
+鈷 > ko\ ;
+鈩 > ro\ ;
+鈦 > ta\ ;
+鈥 > ka\ ;
+鈝 > in\ ;
+鈘 > gi\ ;
+鈇 > hu\ ;
+鈆 > en\ ;
+鈀 > ha\ ;
+釹 > jo\ ;
+釷 > to\ ;
+釵 > sa\ ;
+釡 > fu\ ;
+釐 > ri\ ;
+醿 > bi\ ;
+醼 > en\ ;
+醨 > ri\ ;
+醡 > sa\ ;
+醞 > un\ ;
+醖 > un\ ;
+醐 > ko\ ;
+醃 > en\ ;
+酺 > ho\ ;
+酴 > to\ ;
+酳 > in\ ;
+酥 > so\ ;
+酤 > ko\ ;
+酢 > su\ ;
+酡 > ta\ ;
+酗 > ku\ ;
+酓 > en\ ;
+酈 > ri\ ;
+鄱 > ha\ ;
+鄢 > en\ ;
+鄠 > ko\ ;
+鄜 > hu\ ;
+鄖 > un\ ;
+鄈 > ki\ ;
+鄆 > un\ ;
+鄅 > gu\ ;
+郿 > bi\ ;
+郾 > en\ ;
+郶 > bu\ ;
+郫 > hi\ ;
+郢 > ei\ ;
+郛 > fu\ ;
+郙 > hu\ ;
+邳 > hi\ ;
+邐 > ri\ ;
+邏 > ra\ ;
+邇 > ji\ ;
+遡 > so\ ;
+遐 > ka\ ;
+逾 > yu\ ;
+逺 > en\ ;
+逵 > ki\ ;
+逘 > gi\ ;
+逋 > ho\ ;
+迱 > ta\ ;
+迬 > ou\ ;
+迩 > ji\ ;
+迕 > go\ ;
+迓 > ga\ ;
+运 > un\ ;
+迋 > ou\ ;
+辤 > ji\ ;
+辝 > ji\ ;
+轤 > ro\ ;
+轡 > hi\ ;
+轝 > yo\ ;
+轜 > ji\ ;
+轅 > en\ ;
+轀 > on\ ;
+輸 > yu\ ;
+輠 > ka\ ;
+輔 > fu\ ;
+輅 > ro\ ;
+輀 > ji\ ;
+軻 > ka\ ;
+軱 > ko\ ;
+軮 > ou\ ;
+軌 > ki\ ;
+軃 > ta\ ;
+軀 > ku\ ;
+躲 > ta\ ;
+躱 > ta\ ;
+躯 > ku\ ;
+躛 > ei\ ;
+躗 > ei\ ;
+蹞 > ki\ ;
+蹉 > sa\ ;
+踽 > ku\ ;
+踷 > ta\ ;
+踦 > ki\ ;
+踠 > en\ ;
+踑 > ki\ ;
+跿 > to\ ;
+跽 > ki\ ;
+跺 > ta\ ;
+跬 > ki\ ;
+跨 > ko\ ;
+跥 > ta\ ;
+跗 > fu\ ;
+跔 > ku\ ;
+跏 > ka\ ;
+跎 > ta\ ;
+跇 > ei\ ;
+跂 > ki\ ;
+趺 > fu\ ;
+赮 > ka\ ;
+赟 > in\ ;
+赑 > hi\ ;
+贏 > ei\ ;
+贇 > in\ ;
+賻 > fu\ ;
+賦 > fu\ ;
+賏 > ei\ ;
+賈 > ko\ ;
+賂 > ro\ ;
+賁 > hi\ ;
+賀 > ga\ ;
+貳 > ni\ ;
+貮 > ni\ ;
+貔 > hi\ ;
+貐 > yu\ ;
+貍 > ri\ ;
+豾 > hi\ ;
+豼 > hi\ ;
+豭 > ka\ ;
+豨 > ki\ ;
+豝 > ha\ ;
+豙 > gi\ ;
+豗 > ka\ ;
+豔 > en\ ;
+豓 > en\ ;
+豎 > ju\ ;
+豌 > en\ ;
+豈 > ki\ ;
+谺 > ka\ ;
+讔 > in\ ;
+讏 > ei\ ;
+讌 > en\ ;
+讆 > ei\ ;
+讄 > ru\ ;
+譭 > ki\ ;
+譜 > fu\ ;
+譒 > ha\ ;
+譏 > ki\ ;
+譌 > ka\ ;
+譆 > ki\ ;
+譃 > ku\ ;
+譁 > ka\ ;
+謼 > ko\ ;
+謳 > ou\ ;
+謨 > bo\ ;
+謌 > ka\ ;
+諳 > an\ ;
+諱 > ki\ ;
+諭 > yu\ ;
+諛 > yu\ ;
+諆 > ki\ ;
+誹 > hi\ ;
+誧 > ho\ ;
+誣 > fu\ ;
+誒 > ki\ ;
+誐 > ga\ ;
+誋 > ki\ ;
+誀 > ji\ ;
+詭 > ki\ ;
+詫 > ta\ ;
+詡 > ku\ ;
+詠 > ei\ ;
+詛 > so\ ;
+詖 > hi\ ;
+詑 > ta\ ;
+詐 > sa\ ;
+詍 > ei\ ;
+詈 > ri\ ;
+詁 > ko\ ;
+訶 > ka\ ;
+訯 > sa\ ;
+訏 > ku\ ;
+訃 > fu\ ;
+觭 > ki\ ;
+觚 > ko\ ;
+觕 > so\ ;
+覼 > ra\ ;
+覶 > ra\ ;
+覰 > so\ ;
+覬 > ki\ ;
+覩 > to\ ;
+覦 > yu\ ;
+覙 > ra\ ;
+規 > ki\ ;
+覊 > ki\ ;
+覉 > ki\ ;
+覇 > ha\ ;
+襣 > hi\ ;
+褵 > ri\ ;
+褲 > ko\ ;
+褨 > sa\ ;
+褕 > yu\ ;
+裹 > ka\ ;
+裷 > en\ ;
+裨 > hi\ ;
+裟 > sa\ ;
+裔 > ei\ ;
+裀 > in\ ;
+袽 > jo\ ;
+袮 > ne\ ;
+袙 > ha\ ;
+袈 > ka\ ;
+袁 > en\ ;
+衹 > ki\ ;
+衢 > ku\ ;
+衚 > ko\ ;
+衍 > en\ ;
+衈 > ji\ ;
+蠹 > to\ ;
+蠱 > ko\ ;
+蠧 > to\ ;
+蠕 > da\ ;
+蠑 > ei\ ;
+蠃 > ra\ ;
+蟫 > in\ ;
+蟣 > ki\ ;
+蟢 > ki\ ;
+螾 > in\ ;
+螞 > ba\ ;
+螘 > gi\ ;
+蝸 > ka\ ;
+蝴 > ko\ ;
+蝯 > en\ ;
+蝝 > en\ ;
+蝘 > en\ ;
+蝓 > yu\ ;
+蝌 > ka\ ;
+蜿 > en\ ;
+蜾 > ka\ ;
+蜱 > hi\ ;
+蜞 > ki\ ;
+蜚 > hi\ ;
+蜒 > en\ ;
+蜎 > en\ ;
+蜊 > ri\ ;
+蜉 > fu\ ;
+蜈 > go\ ;
+蜅 > hu\ ;
+蛾 > ga\ ;
+蛄 > ko\ ;
+蚹 > hu\ ;
+蚵 > ka\ ;
+蚭 > ji\ ;
+蚨 > hu\ ;
+蚜 > ka\ ;
+蚚 > ki\ ;
+蚓 > in\ ;
+蚑 > ki\ ;
+蚍 > hi\ ;
+虺 > ki\ ;
+虧 > ki\ ;
+虝 > ko\ ;
+虘 > sa\ ;
+虖 > ko\ ;
+虍 > ko\ ;
+虂 > ro\ ;
+虁 > ki\ ;
+蘿 > ra\ ;
+蘼 > bi\ ;
+蘺 > ri\ ;
+蘶 > gi\ ;
+蘧 > ku\ ;
+蘡 > ou\ ;
+蘙 > ei\ ;
+蘓 > so\ ;
+蘑 > ma\ ;
+蘎 > ki\ ;
+蘊 > un\ ;
+蘄 > ki\ ;
+藻 > mo\ ;
+藹 > ai\ ;
+藴 > un\ ;
+藦 > ba\ ;
+薿 > gi\ ;
+薷 > ju\ ;
+薗 > en\ ;
+薆 > ai\ ;
+薀 > un\ ;
+蕷 > yo\ ;
+蕰 > un\ ;
+蕠 > jo\ ;
+蕜 > hi\ ;
+蕓 > un\ ;
+蔴 > ma\ ;
+蔬 > so\ ;
+蔫 > en\ ;
+蔢 > ha\ ;
+蓙 > za\ ;
+蓖 > hi\ ;
+蓏 > ra\ ;
+蓌 > sa\ ;
+蓊 > ou\ ;
+蒽 > on\ ;
+蒱 > ho\ ;
+蒩 > so\ ;
+蒞 > ri\ ;
+蒕 > un\ ;
+葭 > ka\ ;
+葫 > ko\ ;
+葩 > ha\ ;
+葊 > an\ ;
+葆 > ho\ ;
+萸 > yu\ ;
+萵 > wa\ ;
+萓 > gi\ ;
+萆 > hi\ ;
+萁 > ki\ ;
+菸 > en\ ;
+菴 > an\ ;
+菲 > hi\ ;
+菰 > ko\ ;
+菠 > ha\ ;
+菟 > to\ ;
+菏 > ka\ ;
+菇 > ko\ ;
+菀 > en\ ;
+莵 > to\ ;
+莪 > ga\ ;
+莩 > hu\ ;
+莝 > sa\ ;
+莚 > en\ ;
+莎 > sa\ ;
+莆 > hu\ ;
+莅 > ri\ ;
+荼 > to\ ;
+荰 > to\ ;
+荔 > ri\ ;
+荂 > ka\ ;
+茵 > in\ ;
+茲 > ji\ ;
+茰 > yu\ ;
+茣 > go\ ;
+茘 > ri\ ;
+苽 > ko\ ;
+苻 > fu\ ;
+苴 > so\ ;
+苤 > hi\ ;
+芾 > hi\ ;
+芺 > ou\ ;
+芰 > ki\ ;
+芭 > ba\ ;
+芪 > ki\ ;
+芦 > ro\ ;
+芙 > fu\ ;
+芘 > hi\ ;
+芔 > ki\ ;
+芑 > ki\ ;
+芈 > ba\ ;
+艷 > en\ ;
+艪 > ro\ ;
+艤 > gi\ ;
+艣 > ro\ ;
+艖 > sa\ ;
+艅 > yo\ ;
+艃 > ri\ ;
+舸 > ka\ ;
+舮 > ro\ ;
+舗 > ho\ ;
+舖 > ho\ ;
+舒 > jo\ ;
+舁 > yo\ ;
+臾 > yu\ ;
+臞 > ku\ ;
+臝 > ra\ ;
+臙 > en\ ;
+臂 > hi\ ;
+膴 > ko\ ;
+膩 > ji\ ;
+膆 > so\ ;
+腴 > yu\ ;
+腡 > ra\ ;
+腗 > hi\ ;
+腓 > hi\ ;
+脾 > hi\ ;
+脵 > ko\ ;
+脯 > ho\ ;
+脞 > sa\ ;
+脜 > ju\ ;
+胹 > ji\ ;
+胯 > ko\ ;
+胭 > in\ ;
+胙 > so\ ;
+胕 > hu\ ;
+胍 > ko\ ;
+胊 > ku\ ;
+肹 > hi\ ;
+肞 > sa\ ;
+肚 > to\ ;
+聭 > ki\ ;
+耺 > un\ ;
+耶 > ya\ ;
+耡 > jo\ ;
+耞 > ka\ ;
+耙 > ha\ ;
+耘 > un\ ;
+耏 > ji\ ;
+耍 > sa\ ;
+而 > ji\ ;
+耆 > ki\ ;
+翬 > ki\ ;
+翡 > hi\ ;
+羲 > gi\ ;
+羭 > yu\ ;
+羖 > ko\ ;
+羋 > ba\ ;
+羈 > ki\ ;
+羇 > ki\ ;
+羆 > hi\ ;
+罷 > hi\ ;
+罨 > an\ ;
+罦 > hu\ ;
+罟 > ko\ ;
+罛 > ro\ ;
+罘 > fu\ ;
+罏 > ro\ ;
+罌 > ou\ ;
+罃 > ou\ ;
+缻 > fu\ ;
+纓 > ei\ ;
+纑 > ro\ ;
+繧 > un\ ;
+繥 > ki\ ;
+繄 > ei\ ;
+縻 > bi\ ;
+縷 > ru\ ;
+縯 > en\ ;
+縭 > ri\ ;
+縜 > in\ ;
+縕 > un\ ;
+縊 > ei\ ;
+縈 > ei\ ;
+縀 > ka\ ;
+緣 > en\ ;
+緋 > hi\ ;
+綬 > ju\ ;
+綦 > ki\ ;
+綞 > ta\ ;
+綖 > en\ ;
+絮 > jo\ ;
+絪 > in\ ;
+絥 > hi\ ;
+絝 > ku\ ;
+絇 > ku\ ;
+紽 > ta\ ;
+紦 > ha\ ;
+紜 > un\ ;
+紗 > sa\ ;
+紕 > hi\ ;
+糯 > da\ ;
+糢 > bo\ ;
+糜 > bi\ ;
+粿 > ka\ ;
+粫 > ji\ ;
+粐 > ro\ ;
+粏 > ta\ ;
+粆 > sa\ ;
+粃 > hi\ ;
+籹 > jo\ ;
+籲 > yu\ ;
+籮 > ra\ ;
+籬 > ri\ ;
+籝 > ei\ ;
+籚 > ro\ ;
+簸 > ha\ ;
+簬 > ro\ ;
+簣 > ki\ ;
+簠 > hu\ ;
+簔 > sa\ ;
+簑 > sa\ ;
+簋 > ki\ ;
+簄 > ko\ ;
+簂 > ke\ ;
+篶 > en\ ;
+篚 > hi\ ;
+篔 > un\ ;
+箶 > ko\ ;
+箥 > ha\ ;
+箛 > ko\ ;
+箕 > ki\ ;
+箎 > ko\ ;
+筠 > in\ ;
+筎 > jo\ ;
+笴 > ka\ ;
+笳 > ka\ ;
+笯 > do\ ;
+笟 > ko\ ;
+笆 > ha\ ;
+竬 > ku\ ;
+竪 > ju\ ;
+竩 > gi\ ;
+竒 > ki\ ;
+窹 > go\ ;
+窳 > wa\ ;
+窬 > yu\ ;
+窪 > wa\ ;
+窩 > ka\ ;
+窠 > ka\ ;
+窊 > wa\ ;
+穩 > on\ ;
+穥 > yo\ ;
+穢 > ai\ ;
+穖 > ki\ ;
+穎 > ei\ ;
+穌 > so\ ;
+稳 > on\ ;
+稞 > ka\ ;
+稘 > ki\ ;
+稌 > to\ ;
+稃 > hu\ ;
+秧 > ou\ ;
+秠 > hi\ ;
+租 > so\ ;
+秕 > hi\ ;
+禾 > ka\ ;
+禨 > ki\ ;
+禧 > ki\ ;
+禡 > ba\ ;
+禜 > ei\ ;
+禑 > gu\ ;
+禍 > ka\ ;
+禋 > in\ ;
+祻 > ko\ ;
+祺 > ki\ ;
+祜 > ko\ ;
+祚 > so\ ;
+祙 > mi\ ;
+祔 > hu\ ;
+祇 > ki\ ;
+祁 > ki\ ;
+礠 > ji\ ;
+礜 > yo\ ;
+礒 > gi\ ;
+磯 > ki\ ;
+磤 > in\ ;
+磠 > ro\ ;
+磒 > in\ ;
+磋 > sa\ ;
+磁 > ji\ ;
+碼 > ba\ ;
+碬 > ka\ ;
+碤 > ei\ ;
+碕 > ki\ ;
+碔 > bu\ ;
+碆 > ha\ ;
+碁 > go\ ;
+硪 > gi\ ;
+砵 > ou\ ;
+砮 > do\ ;
+砣 > ta\ ;
+砢 > ra\ ;
+砒 > hi\ ;
+砑 > ga\ ;
+砆 > hu\ ;
+矬 > sa\ ;
+矩 > ku\ ;
+矑 > ro\ ;
+瞿 > ku\ ;
+瞽 > ko\ ;
+瞹 > ai\ ;
+瞶 > ki\ ;
+瞖 > ei\ ;
+瞆 > ki\ ;
+睿 > ei\ ;
+睹 > to\ ;
+睱 > ka\ ;
+睢 > ki\ ;
+睎 > ki\ ;
+睊 > en\ ;
+睂 > bi\ ;
+眭 > ki\ ;
+眗 > ku\ ;
+盱 > ku\ ;
+盬 > ko\ ;
+盧 > ro\ ;
+盦 > ou\ ;
+盙 > fu\ ;
+盎 > ou\ ;
+盉 > ka\ ;
+盈 > ei\ ;
+盁 > ei\ ;
+皷 > ko\ ;
+皧 > ai\ ;
+皤 > ha\ ;
+皈 > ki\ ;
+癯 > ku\ ;
+癮 > in\ ;
+癭 > ei\ ;
+癒 > yu\ ;
+癊 > in\ ;
+瘸 > ka\ ;
+瘥 > sa\ ;
+瘟 > on\ ;
+瘞 > ei\ ;
+瘖 > in\ ;
+瘕 > ka\ ;
+瘏 > to\ ;
+瘉 > yu\ ;
+瘀 > yo\ ;
+痼 > ko\ ;
+痹 > hi\ ;
+痲 > ma\ ;
+痱 > hi\ ;
+痧 > sa\ ;
+痤 > sa\ ;
+痢 > ri\ ;
+痡 > ho\ ;
+痞 > hi\ ;
+痔 > ji\ ;
+痄 > sa\ ;
+痂 > ka\ ;
+痀 > ku\ ;
+疿 > hi\ ;
+疤 > ha\ ;
+疜 > ka\ ;
+疕 > hi\ ;
+疏 > so\ ;
+畿 > ki\ ;
+畸 > ki\ ;
+畲 > yo\ ;
+畭 > yo\ ;
+畬 > yo\ ;
+畝 > se\ ;
+畒 > ho\ ;
+畉 > fu\ ;
+畇 > in\ ;
+畆 > ho\ ;
+畀 > hi\ ;
+甫 > ho\ ;
+甖 > ou\ ;
+甒 > bu\ ;
+甌 > ou\ ;
+瓯 > ou\ ;
+瓮 > ou\ ;
+瓠 > ko\ ;
+瓔 > ei\ ;
+瓐 > ro\ ;
+璽 > ji\ ;
+璵 > yo\ ;
+璦 > ai\ ;
+璣 > ki\ ;
+璟 > ei\ ;
+璑 > bu\ ;
+璐 > ro\ ;
+璃 > ri\ ;
+瑳 > sa\ ;
+瑪 > ba\ ;
+瑩 > ei\ ;
+瑣 > sa\ ;
+瑜 > yu\ ;
+瑛 > ei\ ;
+瑚 > ko\ ;
+瑗 > en\ ;
+琶 > ha\ ;
+琵 > bi\ ;
+琰 > en\ ;
+琬 > en\ ;
+琪 > ki\ ;
+琦 > ki\ ;
+琥 > ko\ ;
+琑 > sa\ ;
+琊 > ya\ ;
+珸 > go\ ;
+珷 > bu\ ;
+珴 > ga\ ;
+珱 > ei\ ;
+珥 > ji\ ;
+珝 > ku\ ;
+珂 > ka\ ;
+玻 > ha\ ;
+玞 > hu\ ;
+玘 > ki\ ;
+玆 > ji\ ;
+玀 > ra\ ;
+獼 > bi\ ;
+獹 > ro\ ;
+猨 > en\ ;
+猧 > ka\ ;
+猤 > ki\ ;
+猢 > ko\ ;
+猓 > ka\ ;
+猒 > en\ ;
+猇 > ou\ ;
+狳 > yo\ ;
+狕 > ou\ ;
+狒 > hi\ ;
+狉 > hi\ ;
+狁 > in\ ;
+犧 > gi\ ;
+犓 > su\ ;
+犂 > ri\ ;
+犁 > ri\ ;
+牾 > go\ ;
+牱 > ka\ ;
+牯 > ko\ ;
+牫 > ka\ ;
+牠 > ta\ ;
+牁 > ka\ ;
+爾 > ji\ ;
+爹 > ta\ ;
+爸 > ha\ ;
+爰 > en\ ;
+爬 > ha\ ;
+爓 > en\ ;
+燬 > ki\ ;
+燄 > en\ ;
+熺 > ki\ ;
+熹 > ki\ ;
+熰 > ou\ ;
+熙 > ki\ ;
+熈 > ki\ ;
+熅 > un\ ;
+煦 > ku\ ;
+煕 > ki\ ;
+煐 > ei\ ;
+煇 > ki\ ;
+煆 > ka\ ;
+焸 > ko\ ;
+焱 > en\ ;
+焰 > en\ ;
+焉 > en\ ;
+烓 > ei\ ;
+炬 > ko\ ;
+炉 > ro\ ;
+炁 > ki\ ;
+灩 > en\ ;
+灧 > en\ ;
+灞 > ha\ ;
+灕 > ri\ ;
+灔 > en\ ;
+灎 > en\ ;
+灈 > ku\ ;
+瀴 > ei\ ;
+瀰 > bi\ ;
+瀯 > ei\ ;
+瀠 > ei\ ;
+瀛 > ei\ ;
+瀘 > ro\ ;
+瀇 > ou\ ;
+瀅 > ei\ ;
+濞 > hi\ ;
+濚 > ei\ ;
+澦 > yo\ ;
+澐 > un\ ;
+潽 > ho\ ;
+潞 > ro\ ;
+潙 > ki\ ;
+潁 > ei\ ;
+漦 > gi\ ;
+漚 > ou\ ;
+漓 > ri\ ;
+漊 > ru\ ;
+滹 > ko\ ;
+滸 > ko\ ;
+滷 > ro\ ;
+滬 > ko\ ;
+滏 > hu\ ;
+滋 > ji\ ;
+滊 > ki\ ;
+滃 > ou\ ;
+溳 > un\ ;
+溫 > on\ ;
+溦 > mi\ ;
+溥 > ho\ ;
+溠 > sa\ ;
+溈 > ki\ ;
+湮 > in\ ;
+湄 > bi\ ;
+渼 > bi\ ;
+渶 > ei\ ;
+渮 > ka\ ;
+渣 > sa\ ;
+渝 > yu\ ;
+渕 > en\ ;
+渊 > en\ ;
+渄 > hi\ ;
+淤 > yo\ ;
+淠 > hi\ ;
+淝 > hi\ ;
+淇 > ki\ ;
+涹 > wa\ ;
+涴 > en\ ;
+涂 > to\ ;
+浯 > go\ ;
+洼 > ai\ ;
+洹 > en\ ;
+洳 > jo\ ;
+洱 > ji\ ;
+洏 > ji\ ;
+洎 > ki\ ;
+洇 > in\ ;
+泱 > ou\ ;
+泝 > so\ ;
+泓 > ou\ ;
+泒 > ko\ ;
+沽 > ko\ ;
+沲 > ta\ ;
+沱 > ta\ ;
+沘 > hi\ ;
+沍 > go\ ;
+沇 > en\ ;
+沂 > ki\ ;
+汻 > ko\ ;
+汪 > ou\ ;
+汊 > sa\ ;
+氿 > ki\ ;
+氳 > un\ ;
+氲 > un\ ;
+氨 > an\ ;
+氤 > in\ ;
+气 > ki\ ;
+氍 > ku\ ;
+氂 > ri\ ;
+毹 > yu\ ;
+毦 > ji\ ;
+毖 > hi\ ;
+毋 > bu\ ;
+毅 > ki\ ;
+毁 > ki\ ;
+毀 > ki\ ;
+殹 > ei\ ;
+殷 > in\ ;
+殴 > ou\ ;
+殬 > to\ ;
+殪 > ei\ ;
+殞 > in\ ;
+殂 > so\ ;
+歧 > ki\ ;
+步 > ho\ ;
+歖 > ki\ ;
+欸 > ai\ ;
+欨 > ku\ ;
+欧 > ou\ ;
+欤 > yo\ ;
+欛 > ha\ ;
+欏 > ra\ ;
+櫽 > in\ ;
+櫲 > yo\ ;
+櫨 > ro\ ;
+櫞 > en\ ;
+櫓 > ro\ ;
+櫃 > ki\ ;
+檿 > en\ ;
+檽 > ji\ ;
+檼 > in\ ;
+檱 > ki\ ;
+檥 > gi\ ;
+檟 > ka\ ;
+檛 > ta\ ;
+檃 > in\ ;
+橱 > zu\ ;
+橫 > ou\ ;
+橢 > da\ ;
+橒 > un\ ;
+橆 > bu\ ;
+橅 > bo\ ;
+樻 > ki\ ;
+樲 > ji\ ;
+樝 > sa\ ;
+槻 > ki\ ;
+槥 > ei\ ;
+槎 > sa\ ;
+榿 > ki\ ;
+榮 > ei\ ;
+榨 > sa\ ;
+榡 > so\ ;
+榘 > ku\ ;
+榑 > fu\ ;
+榆 > yu\ ;
+楹 > ei\ ;
+楰 > yu\ ;
+楣 > bi\ ;
+楡 > yu\ ;
+楜 > ko\ ;
+楛 > ko\ ;
+楚 > so\ ;
+楕 > da\ ;
+楂 > sa\ ;
+椻 > en\ ;
+椵 > ka\ ;
+椰 > ya\ ;
+棪 > en\ ;
+棝 > ko\ ;
+棜 > yo\ ;
+棐 > hi\ ;
+棋 > ki\ ;
+棊 > ki\ ;
+梶 > bi\ ;
+梳 > so\ ;
+梭 > sa\ ;
+梩 > ri\ ;
+梧 > go\ ;
+梦 > mu\ ;
+梛 > da\ ;
+梎 > ou\ ;
+桴 > fu\ ;
+桫 > sa\ ;
+桗 > ta\ ;
+桍 > ko\ ;
+栭 > ji\ ;
+栩 > ku\ ;
+栧 > ei\ ;
+柲 > hi\ ;
+柰 > na\ ;
+柯 > ka\ ;
+柧 > ko\ ;
+查 > sa\ ;
+柤 > sa\ ;
+柡 > ei\ ;
+柎 > fu\ ;
+柅 > ji\ ;
+柁 > ta\ ;
+柀 > hi\ ;
+枻 > ei\ ;
+枸 > ku\ ;
+枳 > ki\ ;
+枦 > ro\ ;
+枙 > ga\ ;
+枑 > ko\ ;
+枎 > hu\ ;
+枉 > ou\ ;
+枇 > hi\ ;
+杷 > ha\ ;
+杞 > ko\ ;
+杜 > do\ ;
+杈 > sa\ ;
+朶 > da\ ;
+朵 > da\ ;
+朠 > ei\ ;
+朞 > ki\ ;
+朏 > hi\ ;
+朇 > hi\ ;
+曽 > zo\ ;
+曵 > ei\ ;
+曱 > ou\ ;
+曦 > gi\ ;
+曖 > ai\ ;
+曁 > ki\ ;
+曀 > ei\ ;
+暿 > ki\ ;
+暨 > ki\ ;
+暜 > fu\ ;
+暛 > sa\ ;
+暎 > ei\ ;
+暉 > ki\ ;
+暈 > un\ ;
+暃 > hi\ ;
+暀 > ou\ ;
+晼 > en\ ;
+晻 > an\ ;
+晷 > ki\ ;
+晤 > go\ ;
+晡 > ho\ ;
+晞 > ki\ ;
+晏 > an\ ;
+昹 > ai\ ;
+昷 > on\ ;
+昫 > ku\ ;
+昖 > en\ ;
+昈 > ko\ ;
+昀 > in\ ;
+旿 > go\ ;
+旹 > ji\ ;
+旴 > ku\ ;
+旣 > ki\ ;
+旡 > ki\ ;
+无 > bu\ ;
+旟 > yo\ ;
+旎 > ji\ ;
+旉 > fu\ ;
+旂 > ki\ ;
+斝 > ka\ ;
+敺 > ku\ ;
+敧 > ki\ ;
+敘 > jo\ ;
+敍 > jo\ ;
+敉 > bi\ ;
+攱 > ki\ ;
+攰 > ki\ ;
+攞 > ra\ ;
+攖 > ei\ ;
+擵 > ma\ ;
+擩 > ju\ ;
+撾 > ta\ ;
+播 > ha\ ;
+撝 > ki\ ;
+摸 > mo\ ;
+摣 > sa\ ;
+搽 > ta\ ;
+搵 > on\ ;
+搙 > nu\ ;
+搓 > sa\ ;
+揸 > sa\ ;
+揶 > ya\ ;
+援 > en\ ;
+揮 > ki\ ;
+揜 > en\ ;
+揆 > ki\ ;
+揄 > yu\ ;
+掾 > en\ ;
+掞 > en\ ;
+掎 > ki\ ;
+捼 > da\ ;
+捬 > hu\ ;
+捓 > se\ ;
+捐 > en\ ;
+捂 > go\ ;
+挼 > da\ ;
+挫 > za\ ;
+挪 > da\ ;
+挧 > ku\ ;
+挓 > ta\ ;
+挐 > da\ ;
+按 > an\ ;
+拿 > da\ ;
+拽 > ei\ ;
+拗 > ou\ ;
+拖 > ta\ ;
+拕 > ta\ ;
+拏 > da\ ;
+拊 > fu\ ;
+拇 > bo\ ;
+抷 > hi\ ;
+抳 > ji\ ;
+抎 > un\ ;
+把 > wa\ ;
+找 > ka\ ;
+扯 > ta\ ;
+扠 > sa\ ;
+扈 > ko\ ;
+戽 > ko\ ;
+户 > ko\ ;
+戶 > ko\ ;
+戱 > gi\ ;
+戣 > ki\ ;
+戓 > ka\ ;
+戍 > ju\ ;
+戊 > bo\ ;
+懯 > fu\ ;
+懧 > da\ ;
+懦 > da\ ;
+懡 > ba\ ;
+懕 > en\ ;
+懊 > ou\ ;
+憮 > bu\ ;
+憜 > ta\ ;
+憙 > ki\ ;
+憘 > ki\ ;
+慍 > un\ ;
+慈 > ji\ ;
+愾 > ki\ ;
+愬 > so\ ;
+愫 > so\ ;
+愪 > un\ ;
+愧 > ki\ ;
+愠 > un\ ;
+愔 > in\ ;
+惲 > un\ ;
+惰 > da\ ;
+惧 > ku\ ;
+惢 > sa\ ;
+惎 > ki\ ;
+惈 > ka\ ;
+悱 > hi\ ;
+您 > ji\ ;
+悧 > ri\ ;
+悞 > go\ ;
+悕 > ki\ ;
+悑 > ho\ ;
+悆 > yo\ ;
+悂 > hi\ ;
+悁 > en\ ;
+恗 > ko\ ;
+恕 > jo\ ;
+恑 > ki\ ;
+恃 > ji\ ;
+恁 > in\ ;
+怩 > ji\ ;
+怤 > hu\ ;
+怙 > ko\ ;
+怘 > ko\ ;
+怕 > ha\ ;
+忯 > ki\ ;
+忬 > yo\ ;
+忤 > go\ ;
+忢 > go\ ;
+徽 > ki\ ;
+徍 > ai\ ;
+徂 > so\ ;
+彺 > ou\ ;
+彵 > ta\ ;
+彌 > bi\ ;
+弭 > bi\ ;
+弩 > do\ ;
+弧 > ko\ ;
+弣 > hu\ ;
+弝 > ha\ ;
+弖 > te\ ;
+弍 > ni\ ;
+弇 > en\ ;
+弃 > ki\ ;
+廴 > in\ ;
+廮 > ei\ ;
+廡 > bu\ ;
+廜 > to\ ;
+廚 > zu\ ;
+廕 > in\ ;
+廈 > ka\ ;
+庾 > yu\ ;
+庳 > hi\ ;
+庯 > ho\ ;
+庮 > iu\ ;
+庪 > ki\ ;
+庌 > ga\ ;
+庋 > ki\ ;
+庀 > hi\ ;
+幠 > ko\ ;
+幑 > ki\ ;
+幏 > ka\ ;
+幁 > su\ ;
+帾 > to\ ;
+帔 > hi\ ;
+帑 > do\ ;
+帍 > ko\ ;
+帊 > ha\ ;
+帆 > ho\ ;
+巳 > mi\ ;
+巙 > ki\ ;
+巍 > gi\ ;
+巋 > ki\ ;
+巇 > ki\ ;
+嶷 > gi\ ;
+嶴 > au\ ;
+嶬 > gi\ ;
+嶞 > ta\ ;
+嶓 > ha\ ;
+嶇 > ku\ ;
+嶁 > ru\ ;
+嶀 > to\ ;
+嵳 > sa\ ;
+嵯 > sa\ ;
+嵡 > ou\ ;
+嵟 > ki\ ;
+嵞 > to\ ;
+嵜 > ki\ ;
+嵖 > sa\ ;
+嵋 > bi\ ;
+崳 > yu\ ;
+崦 > en\ ;
+崋 > ka\ ;
+峹 > to\ ;
+峲 > ri\ ;
+峬 > ho\ ;
+峫 > ya\ ;
+峩 > ga\ ;
+峨 > ga\ ;
+峞 > ki\ ;
+峛 > ri\ ;
+峙 > ji\ ;
+峗 > gi\ ;
+峖 > an\ ;
+峔 > bo\ ;
+峏 > ji\ ;
+峊 > hu\ ;
+岻 > ji\ ;
+岵 > ko\ ;
+岴 > ku\ ;
+岯 > hi\ ;
+岮 > ta\ ;
+岨 > so\ ;
+岥 > ha\ ;
+岔 > sa\ ;
+岓 > ki\ ;
+岐 > ki\ ;
+岈 > ka\ ;
+岆 > eu\ ;
+屺 > ki\ ;
+屮 > sa\ ;
+屭 > ki\ ;
+屨 > ku\ ;
+屢 > ru\ ;
+屠 > to\ ;
+屄 > hi\ ;
+屃 > ki\ ;
+屁 > he\ ;
+尹 > in\ ;
+尯 > ki\ ;
+尮 > ta\ ;
+尫 > ou\ ;
+尪 > ou\ ;
+尩 > ou\ ;
+尣 > ou\ ;
+尢 > ou\ ;
+尔 > ji\ ;
+尓 > ji\ ;
+尒 > ji\ ;
+尃 > hu\ ;
+尀 > ha\ ;
+寲 > gi\ ;
+寤 > go\ ;
+寠 > ku\ ;
+寙 > yu\ ;
+寃 > en\ ;
+宱 > sa\ ;
+宐 > gi\ ;
+宎 > eu\ ;
+宄 > ki\ ;
+它 > ta\ ;
+孾 > ei\ ;
+孺 > ju\ ;
+孷 > ri\ ;
+孵 > fu\ ;
+孥 > do\ ;
+孚 > fu\ ;
+孋 > ri\ ;
+嬿 > en\ ;
+嬽 > en\ ;
+嬷 > ba\ ;
+嬴 > ei\ ;
+嬰 > ei\ ;
+嬮 > en\ ;
+嬤 > ba\ ;
+嬡 > ai\ ;
+嬔 > hu\ ;
+嬍 > bi\ ;
+嬀 > ki\ ;
+嫷 > ta\ ;
+嫵 > bu\ ;
+嫴 > ko\ ;
+嫮 > ko\ ;
+嫭 > ko\ ;
+嫫 > bo\ ;
+嫣 > en\ ;
+嫢 > ki\ ;
+嫠 > ri\ ;
+嫛 > ei\ ;
+嫗 > ou\ ;
+嫕 > ei\ ;
+嫊 > so\ ;
+媿 > ki\ ;
+媽 > bo\ ;
+媺 > bi\ ;
+媴 > en\ ;
+媱 > eu\ ;
+媬 > ho\ ;
+媪 > ou\ ;
+媩 > ko\ ;
+媠 > ta\ ;
+媖 > ei\ ;
+媕 > en\ ;
+媐 > ki\ ;
+媎 > so\ ;
+媄 > bi\ ;
+婽 > ka\ ;
+婺 > bu\ ;
+婬 > in\ ;
+婣 > in\ ;
+婟 > ko\ ;
+婓 > hi\ ;
+婐 > wa\ ;
+婍 > ki\ ;
+娸 > ki\ ;
+娰 > ji\ ;
+娯 > go\ ;
+娭 > ki\ ;
+娬 > bu\ ;
+娪 > go\ ;
+娥 > ga\ ;
+娜 > da\ ;
+娛 > go\ ;
+娓 > bi\ ;
+娒 > bo\ ;
+娌 > ri\ ;
+娄 > ru\ ;
+姽 > ki\ ;
+姻 > in\ ;
+姹 > ta\ ;
+姶 > ou\ ;
+姲 > an\ ;
+姱 > ka\ ;
+姬 > ki\ ;
+姥 > bo\ ;
+姝 > su\ ;
+姎 > au\ ;
+姇 > hu\ ;
+姆 > bo\ ;
+姁 > ku\ ;
+姀 > ka\ ;
+妼 > hi\ ;
+妴 > en\ ;
+妮 > ji\ ;
+妥 > da\ ;
+妤 > yo\ ;
+妣 > hi\ ;
+妟 > an\ ;
+妘 > un\ ;
+妒 > to\ ;
+妋 > fu\ ;
+妃 > hi\ ;
+奼 > ta\ ;
+奰 > hi\ ;
+奫 > in\ ;
+奜 > hi\ ;
+奓 > ta\ ;
+奄 > en\ ;
+夿 > ha\ ;
+夸 > ko\ ;
+夶 > hi\ ;
+夵 > en\ ;
+夥 > ka\ ;
+夤 > in\ ;
+夡 > ki\ ;
+夛 > ta\ ;
+夗 > en\ ;
+夔 > ki\ ;
+夓 > ka\ ;
+夎 > sa\ ;
+夃 > ko\ ;
+壽 > ju\ ;
+壺 > ko\ ;
+壩 > ha\ ;
+壡 > ei\ ;
+壛 > en\ ;
+壚 > ro\ ;
+壒 > ai\ ;
+壈 > on\ ;
+壄 > ya\ ;
+墺 > ou\ ;
+墲 > bo\ ;
+墯 > da\ ;
+墍 > ki\ ;
+塸 > ou\ ;
+塧 > ai\ ;
+塕 > ou\ ;
+塑 > so\ ;
+塐 > so\ ;
+塋 > ei\ ;
+塈 > ki\ ;
+堸 > hu\ ;
+堷 > an\ ;
+堶 > ku\ ;
+堳 > bi\ ;
+堰 > en\ ;
+堬 > yu\ ;
+堣 > gu\ ;
+堝 > ka\ ;
+堙 > in\ ;
+堍 > to\ ;
+堌 > ko\ ;
+堁 > ka\ ;
+埼 > ki\ ;
+埵 > ta\ ;
+埯 > en\ ;
+埧 > ku\ ;
+埤 > hi\ ;
+埠 > fu\ ;
+埔 > ho\ ;
+垺 > hu\ ;
+垪 > ha\ ;
+垞 > ta\ ;
+垝 > ki\ ;
+垜 > da\ ;
+垛 > da\ ;
+垀 > ko\ ;
+坿 > fu\ ;
+坷 > ka\ ;
+坳 > au\ ;
+坱 > au\ ;
+坯 > hi\ ;
+坬 > ka\ ;
+坡 > ha\ ;
+坒 > hi\ ;
+圻 > ki\ ;
+圮 > hi\ ;
+圫 > au\ ;
+圗 > to\ ;
+圔 > ou\ ;
+圑 > ho\ ;
+圎 > en\ ;
+囦 > en\ ;
+囙 > in\ ;
+囎 > so\ ;
+囌 > so\ ;
+囉 > ra\ ;
+嚶 > ou\ ;
+嚲 > ta\ ;
+嚱 > ki\ ;
+嚭 > hi\ ;
+嚧 > ro\ ;
+嚥 > en\ ;
+嚟 > ri\ ;
+嚜 > bi\ ;
+嚘 > iu\ ;
+嚕 > ro\ ;
+嚊 > hi\ ;
+嚅 > ju\ ;
+噾 > in\ ;
+噳 > gu\ ;
+噯 > ai\ ;
+噮 > en\ ;
+噫 > aa\ ;
+噕 > ki\ ;
+噐 > ki\ ;
+噅 > ki\ ;
+嘻 > ki\ ;
+嘳 > ki\ ;
+嘰 > ki\ ;
+嘟 > to\ ;
+嘜 > ba\ ;
+嘛 > ma\ ;
+嘙 > ha\ ;
+嘑 > ko\ ;
+嘏 > ka\ ;
+嘉 > ka\ ;
+嗩 > sa\ ;
+嗦 > sa\ ;
+嗏 > sa\ ;
+嗎 > ba\ ;
+嗉 > so\ ;
+嗄 > sa\ ;
+嗂 > eu\ ;
+喻 > yu\ ;
+営 > ei\ ;
+喳 > sa\ ;
+喱 > ri\ ;
+喩 > yu\ ;
+喥 > to\ ;
+喣 > ku\ ;
+喟 > ki\ ;
+喓 > eu\ ;
+喑 > in\ ;
+喎 > ka\ ;
+喂 > ki\ ;
+啤 > hi\ ;
+啝 > ka\ ;
+啚 > hi\ ;
+啘 > en\ ;
+啎 > go\ ;
+唹 > yo\ ;
+唷 > yo\ ;
+唵 > an\ ;
+唲 > ji\ ;
+唭 > ki\ ;
+唬 > ka\ ;
+唔 > go\ ;
+唏 > ki\ ;
+唎 > ri\ ;
+唋 > to\ ;
+唈 > ou\ ;
+唆 > sa\ ;
+唀 > iu\ ;
+哿 > ka\ ;
+哺 > ho\ ;
+哶 > ba\ ;
+哬 > ka\ ;
+哪 > da\ ;
+哧 > ka\ ;
+哦 > ga\ ;
+哥 > ka\ ;
+哉 > ya\ ;
+哇 > ai\ ;
+咼 > ka\ ;
+咻 > ku\ ;
+咪 > bi\ ;
+咩 > bi\ ;
+咥 > ki\ ;
+咤 > ta\ ;
+咡 > ji\ ;
+咜 > ta\ ;
+咖 > ka\ ;
+咕 > ko\ ;
+咑 > da\ ;
+咐 > ho\ ;
+咏 > ei\ ;
+咊 > wa\ ;
+咉 > au\ ;
+咃 > ta\ ;
+咀 > so\ ;
+呿 > ka\ ;
+呸 > hi\ ;
+呶 > do\ ;
+呵 > ka\ ;
+呴 > ku\ ;
+呱 > ko\ ;
+呮 > ki\ ;
+呭 > ei\ ;
+呬 > ki\ ;
+呦 > iu\ ;
+呢 > ji\ ;
+呍 > un\ ;
+呋 > hu\ ;
+呀 > ga\ ;
+吽 > in\ ;
+吴 > go\ ;
+吳 > go\ ;
+吧 > ha\ ;
+吔 > se\ ;
+吓 > ka\ ;
+吒 > ta\ ;
+吁 > ku\ ;
+叹 > iu\ ;
+叵 > ha\ ;
+叧 > ka\ ;
+叡 > ei\ ;
+叚 > ka\ ;
+叆 > ai\ ;
+厴 > en\ ;
+厬 > ki\ ;
+厦 > ka\ ;
+厞 > hi\ ;
+厏 > sa\ ;
+厊 > ka\ ;
+卦 > ka\ ;
+卉 > ki\ ;
+區 > ku\ ;
+匽 > en\ ;
+匼 > an\ ;
+区 > ku\ ;
+匭 > ki\ ;
+匬 > yu\ ;
+匪 > hi\ ;
+匕 > hi\ ;
+匎 > ou\ ;
+匀 > in\ ;
+勻 > in\ ;
+勩 > ei\ ;
+募 > bo\ ;
+勜 > ou\ ;
+勚 > ei\ ;
+劸 > ai\ ;
+劬 > ku\ ;
+劙 > ri\ ;
+劘 > ba\ ;
+劓 > gi\ ;
+剺 > ri\ ;
+剮 > ka\ ;
+剦 > en\ ;
+剡 > en\ ;
+剞 > ki\ ;
+剘 > ki\ ;
+剕 > hi\ ;
+剉 > sa\ ;
+剆 > ra\ ;
+剁 > ta\ ;
+刵 > ji\ ;
+刴 > ta\ ;
+刳 > ko\ ;
+刕 > ri\ ;
+划 > ka\ ;
+刏 > ki\ ;
+刉 > ki\ ;
+凹 > ou\ ;
+几 > ki\ ;
+凞 > ki\ ;
+凒 > gi\ ;
+凐 > in\ ;
+凅 > ko\ ;
+冴 > go\ ;
+冱 > go\ ;
+冨 > fu\ ;
+冤 > en\ ;
+冞 > bi\ ;
+冝 > gi\ ;
+冘 > in\ ;
+冔 > ku\ ;
+冎 > ka\ ;
+冀 > ki\ ;
+兾 > ki\ ;
+兹 > ji\ ;
+兪 > yu\ ;
+兗 > en\ ;
+兔 > to\ ;
+兑 > da\ ;
+兌 > da\ ;
+允 > in\ ;
+儺 > na\ ;
+儸 > ra\ ;
+儞 > ji\ ;
+儛 > bu\ ;
+儗 > gi\ ;
+儒 > ju\ ;
+儍 > sa\ ;
+僾 > ai\ ;
+僱 > ko\ ;
+僟 > ki\ ;
+僛 > ki\ ;
+僖 > ki\ ;
+僃 > bi\ ;
+傿 > en\ ;
+傻 > sa\ ;
+傴 > ku\ ;
+傢 > ka\ ;
+傟 > au\ ;
+傞 > sa\ ;
+傜 > eu\ ;
+傌 > ba\ ;
+傊 > in\ ;
+傅 > fu\ ;
+傃 > so\ ;
+偹 > bi\ ;
+偧 > ta\ ;
+偤 > yu\ ;
+偣 > en\ ;
+偠 > eu\ ;
+偌 > ja\ ;
+偃 > en\ ;
+偀 > ei\ ;
+倻 > ya\ ;
+倵 > bu\ ;
+倮 > ra\ ;
+倠 > ki\ ;
+倛 > ki\ ;
+倇 > en\ ;
+俾 > hi\ ;
+俻 > bi\ ;
+俷 > hi\ ;
+俱 > ku\ ;
+俰 > ka\ ;
+俞 > yu\ ;
+俚 > ri\ ;
+俙 > ki\ ;
+俘 > fu\ ;
+俐 > ri\ ;
+俌 > fu\ ;
+俉 > go\ ;
+俁 > gu\ ;
+侳 > sa\ ;
+侢 > bu\ ;
+侞 > jo\ ;
+侕 > ji\ ;
+侒 > an\ ;
+侎 > bi\ ;
+侌 > in\ ;
+侉 > ka\ ;
+佹 > ki\ ;
+佴 > ji\ ;
+佳 > ka\ ;
+你 > ji\ ;
+佒 > au\ ;
+佈 > ho\ ;
+佁 > ai\ ;
+伾 > hi\ ;
+伲 > ji\ ;
+伱 > ji\ ;
+估 > ko\ ;
+伮 > do\ ;
+伙 > ka\ ;
+伖 > do\ ;
+伕 > hu\ ;
+伌 > ai\ ;
+伃 > yo\ ;
+仵 > ko\ ;
+仳 > hi\ ;
+仨 > sa\ ;
+仛 > ta\ ;
+仆 > fu\ ;
+仅 > hu\ ;
+亹 > bi\ ;
+亸 > ta\ ;
+亱 > ya\ ;
+亓 > ki\ ;
+亊 > ji\ ;
+乵 > en\ ;
+乜 > ba\ ;
+乚 > in\ ;
+乕 > ko\ ;
+乎 > ka\ ;
+么 > eu\ ;
+个 > ka\ ;
+丕 > hi\ ;
+丌 > ki\ ;
+丅 > ka\ ;
+帷 > i\ ;
+異 > i\ ;
+畏 > i\ ;
+尾 > o\ ;
+宇 > u\ ;
+謂 > i\ ;
+爲 > i\ ;
+威 > i\ ;
+委 > i\ ;
+圍 > i\ ;
+囲 > i\ ;
+嗚 > o\ ;
+江 > e\ ;
+汚 > o\ ;
+萎 > i\ ;
+医 > i\ ;
+椅 > i\ ;
+胃 > i\ ;
+偉 > i\ ;
+頤 > i\ ;
+依 > e\ ;
+伊 > i\ ;
+以 > i\ ;
+亞 > a\ ;
+阿 > a\ ;
+緒 > o\ ;
+於 > o\ ;
+維 > i\ ;
+絵 > e\ ;
+移 > i\ ;
+醫 > i\ ;
+慰 > i\ ;
+意 > i\ ;
+惡 > o\ ;
+遺 > i\ ;
+違 > i\ ;
+鷾 > i\ ;
+鷧 > i\ ;
+鵶 > a\ ;
+鵜 > u\ ;
+鰞 > o\ ;
+鰄 > i\ ;
+鮧 > i\ ;
+骬 > u\ ;
+骫 > i\ ;
+骪 > i\ ;
+饐 > i\ ;
+顊 > i\ ;
+頥 > i\ ;
+頉 > i\ ;
+韙 > i\ ;
+韑 > i\ ;
+韋 > i\ ;
+霨 > i\ ;
+雩 > u\ ;
+隖 > o\ ;
+闈 > i\ ;
+閼 > a\ ;
+铔 > a\ ;
+鐿 > i\ ;
+鐚 > a\ ;
+錏 > a\ ;
+銥 > i\ ;
+鉯 > i\ ;
+鈳 > a\ ;
+釪 > u\ ;
+酏 > i\ ;
+鄔 > o\ ;
+邘 > u\ ;
+逶 > i\ ;
+迻 > i\ ;
+迤 > i\ ;
+迆 > i\ ;
+迂 > u\ ;
+貽 > i\ ;
+貤 > i\ ;
+褘 > i\ ;
+袘 > i\ ;
+螱 > i\ ;
+螠 > i\ ;
+螐 > o\ ;
+螉 > o\ ;
+蜼 > i\ ;
+蜲 > i\ ;
+蛜 > i\ ;
+虶 > u\ ;
+蔿 > i\ ;
+葳 > i\ ;
+荽 > i\ ;
+荏 > e\ ;
+茡 > u\ ;
+苢 > i\ ;
+苡 > i\ ;
+芛 > i\ ;
+胰 > i\ ;
+肄 > i\ ;
+緯 > i\ ;
+緭 > i\ ;
+紆 > u\ ;
+簃 > i\ ;
+竽 > u\ ;
+禹 > u\ ;
+禕 > i\ ;
+磈 > i\ ;
+矣 > i\ ;
+盂 > u\ ;
+瘂 > a\ ;
+痿 > i\ ;
+痾 > a\ ;
+痏 > i\ ;
+痍 > i\ ;
+疴 > a\ ;
+瑦 > o\ ;
+瑋 > i\ ;
+瑀 > u\ ;
+珆 > i\ ;
+玗 > u\ ;
+猬 > i\ ;
+猗 > i\ ;
+犄 > i\ ;
+熨 > i\ ;
+煒 > i\ ;
+濰 > i\ ;
+漪 > i\ ;
+湋 > i\ ;
+渭 > i\ ;
+洿 > o\ ;
+洧 > i\ ;
+污 > o\ ;
+汙 > o\ ;
+氬 > a\ ;
+毉 > i\ ;
+歍 > o\ ;
+欹 > i\ ;
+楲 > i\ ;
+椸 > i\ ;
+椏 > a\ ;
+桙 > u\ ;
+柂 > i\ ;
+枱 > i\ ;
+杇 > o\ ;
+杅 > u\ ;
+暐 > i\ ;
+旖 > i\ ;
+敡 > i\ ;
+攺 > i\ ;
+扜 > u\ ;
+扆 > i\ ;
+扅 > i\ ;
+懿 > i\ ;
+愇 > i\ ;
+惟 > i\ ;
+悘 > i\ ;
+恚 > i\ ;
+怡 > i\ ;
+徫 > i\ ;
+彞 > i\ ;
+彝 > i\ ;
+彜 > i\ ;
+彛 > i\ ;
+彚 > i\ ;
+彙 > i\ ;
+弬 > i\ ;
+弙 > o\ ;
+异 > i\ ;
+幃 > i\ ;
+巸 > i\ ;
+已 > i\ ;
+嵨 > o\ ;
+崺 > i\ ;
+崣 > i\ ;
+屙 > a\ ;
+寪 > i\ ;
+孲 > a\ ;
+媦 > i\ ;
+媙 > i\ ;
+婭 > a\ ;
+婀 > a\ ;
+娿 > a\ ;
+娃 > a\ ;
+姨 > i\ ;
+妸 > a\ ;
+壝 > i\ ;
+塢 > o\ ;
+堊 > a\ ;
+埡 > o\ ;
+坨 > i\ ;
+圯 > i\ ;
+圬 > o\ ;
+圩 > u\ ;
+囗 > i\ ;
+噁 > o\ ;
+喴 > i\ ;
+喡 > i\ ;
+啞 > a\ ;
+啊 > a\ ;
+咿 > i\ ;
+咦 > i\ ;
+吚 > i\ ;
+叞 > i\ ;
+匜 > i\ ;
+儰 > i\ ;
+偯 > i\ ;
+偊 > u\ ;
+侇 > i\ ;
+伿 > i\ ;
+亜 > a\ ;
+亏 > u\ ;
+于 > u\ ;
+亄 > i\ ;
+乁 > i\ ;
+丫 > a\ ;
+。 <> '.';
+# End RAW data for converting CJK characters
+
+
+:: katakana-latin ();
+:: hiragana-latin ();
+:: fullwidth-halfwidth ();
diff --git a/src/com/ibm/icu/impl/data/chinese_override.txt b/src/com/ibm/icu/impl/data/chinese_override.txt
new file mode 100644
index 0000000..9018cfa
--- /dev/null
+++ b/src/com/ibm/icu/impl/data/chinese_override.txt
@@ -0,0 +1,9178 @@
+﻿#/**
+# *******************************************************************************
+# * Copyright (C) 2002-2004, International Business Machines Corporation and    *
+# * others. All Rights Reserved.                                                *
+# *******************************************************************************
+# */
+#Override	List
+#Format is <code><tab><char><tab><pinyin>(<tab><comment>)?
+#Note: the 'code' field is currently discarded; only the char is important.
+#Note: if there is conflict, the FIRST char wins.
+#Note: the software corrects some of the tone variations below.
+
+# fix for fifth tone
+\u37F7	㟷	dā	#fix for 5th tone
+
+# fixes for typos
+U+347C	㑼	liù	#lyuè
+U+3500	㔀	lüè	#lvè
+U+3527	㔧	liù	#lyù
+U+3729	㜩	ào	#àu
+U+380E	㠎	jí	#jjí
+U+3825	㠥	lǜ	#lv̀
+U+3A3C	㨼	lüè	#luè
+U+3B5A	㭚	lǚ	#lyǔ
+U+3CB6	㲶	lǜ	#lv̀
+U+3D56	㵖	nǜ	#nyù
+U+3D88	㶈	liǎng	#liǒng
+U+3EF2	㻲	lǚ	#lyǔ
+U+3F94	㾔	lǚ	#lyǔ
+U+4071	䁱	ào	#àu
+U+40AE	䂮	lüè	#lyuè
+U+430E	䌎	lüè	#lyuè
+U+451E	䔞	lǜ	#lyù
+U+4588	䖈	nüè	#nuè
+U+458B	䖋	nüè	#nuè
+U+45A1	䖡	nǜ	#nyù
+U+4610	䘐	nǜ	#nyù
+U+46BC	䚼	nǜ	#nyù
+U+46DA	䛚	lüè	#lyuè
+U+4896	䢖	lǜ	#lyù
+U+4923	䤣	lüè	#lyuè
+U+4968	䥨	lǜ	#lyù
+U+4A0B	䨋	nüè	#nyuè
+U+4AC4	䫄	chuài	#chuà
+U+4D08	䴈	ǎo	#ǎu
+U+4D8A	䶊	nǜ	#nyù
+U+51CA	凊	qíng	#qýng
+U+51D6	凖	zhǔn	#zhuěn
+U+5481	咁	gàn	#gèm
+U+5838	堸	féng	#fúng
+U+639F	掟	lüě	#luě
+U+66D5	曕	yàn	#yiàn
+U+6B3B	欻	chuài	#chuā
+U+6B56	歖	chuài	#chuā
+U+6C7C	汼	niū	#niōu
+U+6E6D	湭	qiú	#qióu
+U+6F71	潱	yē	#yiē
+U+7493	璓	xiù	#xiòu
+U+7607	瘇	zhǒng	#zhǔng
+U+7674	癴	luán	#lüán
+U+7867	硧	yǒng	#iǒng
+U+7878	硸	nüè	#nuè
+
+# Shanghai fixes
+
+\u4E7F	乿	lē
+\u5183	冃	māo
+\u5186	円	yuān
+\u56F2	囲	tōng
+\u5A10	娐	fū
+\u5A54	婔	wēi
+\u5A6E	婮	jū
+\u5A88	媈	huī
+\u5A98	媘	jiē
+\u5B04	嬄	yī
+\u5B1C	嬜	xīn
+\u5B2B	嬫	yōng
+\u5B33	嬳	wō
+\u5B82	宂	tāi
+\u5C1B	尛	mō
+\u5D0A	崊	līn
+\u5D7B	嵻	kāng
+\u6457	摗	sōu
+\u67E8	柨	pū
+\u6836	栶	yīn
+\u6B44	歄	guā
+\u6B9D	殝	zhēn
+\u6D20	洠	wū
+\u6F71	潱	yiē
+\u709A	炚	guāng
+\u7101	焁	xī
+\u716F	煯	jiē
+\u717E	煾	n̄
+\u718D	熍	qiōng
+\u7401	琁	xuān
+\u7443	瑃	chūn
+\u7461	瑡	shī
+\u762E	瘮	shēn
+\u7775	睵	cāi
+\u7A66	穦	bīn
+\u7AA4	窤	guān
+\u7BAE	箮	xuān
+\u807A	聺	qiē
+\u80FF	胿	guī
+\u8126	脦	dē
+\u8192	膒	ōu
+\u8283	芃	chāi
+\u84C3	蓃	sōu
+\u88A5	袥	tuō
+\u89C3	觃	kuī
+\u8FC7	过	guō
+\u8FCC	迌	jiā
+\u90A4	邤	xīn
+\u90EE	郮	zhōu
+\u9537	锷	chāi
+\u959A	閚	jiān
+\u95C1	闁	bāo
+\u9679	陹	shēng
+\u97BA	鞺	tāng
+\u99EF	駯	zhū
+\u9AEC	髬	pēng
+\u9AF8	髸	gōng
+\u9BC2	鯂	sū
+\u7684	的	dē
+\u4E86	了	lē
+\u4EBA	人	rén
+\u8FD9	这	zhè
+\u4E2D	中	zhōng
+\u5927	大	dà
+\u8BF4	说	shuō
+\u5B50	子	zǐ
+\u548C	和	hé
+\u5730	地	dē
+\u51FA	出	chū
+\u9053	道	dào
+\u5F97	得	dé
+\u90A3	那	nà
+\u8981	要	yào
+\u4EE5	以	yǐ
+\u4F1A	会	huì
+\u8FC7	过	guò
+\u91CC	里	lǐ
+\u5C0F	小	xiǎo
+\u4E48	么	mē
+\u597D	好	hǎo
+\u90FD	都	dōu
+\u8D77	起	qǐ
+\u6210	成	chéng
+\u53EA	只	zhī
+\u4F5C	作	zuò
+\u5F53	当	dāng
+\u770B	看	kàn
+\u6587	文	wén
+\u5341	十	shí
+\u4E3B	主	zhǔ
+\u884C	行	háng
+\u65B9	方	fāng
+\u524D	前	qián
+\u6240	所	suǒ
+\u89C1	见	jiàn
+\u9762	面	miàn
+\u6C11	民	mín
+\u5206	分	fēn
+\u5916	外	wài
+\u8EAB	身	shēn
+\u4E9B	些	xiē
+\u4E0E	与	yú
+\u8FDB	进	jìn
+\u6CD5	法	fǎ
+\u6B64	此	cǐ
+\u56DE	回	huí
+\u7406	理	lǐ
+\u7F8E	美	měi
+\u70B9	点	diǎn
+\u79CD	种	zhǒng
+\u5168	全	quán
+\u5411	向	xiàng
+\u6B63	正	zhèng
+\u540D	名	míng
+\u5973	女	nǚ
+\u673A	机	jī
+\u7B49	等	děng
+\u51E0	几	jǐ
+\u5F88	很	hěn
+\u6253	打	dǎ
+\u4FBF	便	biàn
+\u91CD	重	chóng
+\u76F8	相	xiāng
+\u6B21	次	cì
+\u653F	政	zhèng
+\u6559	教	jiāo
+\u897F	西	xī
+\u5E73	平	píng
+\u6C14	气	qì
+\u5317	北	běi
+\u5C11	少	shǎo
+\u4E07	万	wàn
+\u4E66	书	shū
+\u6BD4	比	bǐ
+\u5458	员	yuán
+\u4E5D	九	jiǔ
+\u7B11	笑	xiào
+\u901A	通	tōng
+\u547D	命	mìng
+\u5F20	张	zhāng
+\u96BE	难	nán
+\u795E	神	shén
+\u6570	数	shù
+\u5B89	安	ān
+\u767D	白	bái
+\u8DEF	路	lù
+\u671F	期	qī
+\u53EB	叫	jiào
+\u63D0	提	tí
+\u91D1	金	jīn
+\u66F4	更	gèng
+\u5408	合	hé
+\u653E	放	fàng
+\u7CFB	系	xì
+\u6216	或	huò
+\u53F8	司	sī
+\u5229	利	lì
+\u53CA	及	jí
+\u89E3	解	jiě
+\u5404	各	gè
+\u53F0	台	tái
+\u98CE	风	fēng
+\u6218	战	zhàn
+\u5E72	干	gàn
+\u8BB8	许	xǔ
+\u516B	八	bā
+\u76F4	直	zhí
+\u670D	服	fú
+\u9898	题	tí
+\u5EFA	建	jiàn
+\u8272	色	sè
+\u5B57	字	zì
+\u8BF7	请	qǐng
+\u767E	百	bǎi
+\u5403	吃	chī
+\u4E49	义	wù
+\u5143	元	yuán
+\u672F	术	shù
+\u8DDF	跟	gēn
+\u5E26	带	dài
+\u5FEB	快	kuài
+\u6761	条	tiáo
+\u8054	联	lián
+\u5F80	往	wǎng
+\u8BE5	该	gāi
+\u7EA2	红	hóng
+\u5019	候	hòu
+\u4E03	七	qī
+\u5F3A	强	qiáng
+\u9769	革	gé
+\u6DF1	深	shēn
+\u6C42	求	qiú
+\u91CF	量	liáng
+\u7A7A	空	kōng
+\u751A	甚	shèn
+\u6280	技	jī
+\u8BED	语	yǔ
+\u57FA	基	jī
+\u6D3E	派	pài
+\u5F0F	式	shì
+\u5199	写	xiě
+\u5462	呢	nē
+\u5012	倒	dǎo
+\u53D6	取	qǔ
+\u8BBE	设	shè
+\u7248	版	bǎn
+\u7247	片	piàn
+\u627E	找	zhǎo
+\u7AD9	站	zhàn
+\u5E7F	广	guǎng
+\u5F62	形	xíng
+\u59D4	委	wěi
+\u623F	房	fáng
+\u9645	际	jì
+\u9996	首	shǒu
+\u636E	据	jù
+\u5BFC	导	dǎo
+\u62FF	拿	ná
+\u9999	香	xiāng
+\u77F3	石	shí
+\u82E5	若	ruò
+\u5175	兵	bīng
+\u6821	校	xiào
+\u89C2	观	guān
+\u4E89	争	zhēng
+\u7A76	究	jiū
+\u843D	落	luò
+\u559C	喜	xǐ
+\u79BB	离	lí
+\u5750	坐	zuò
+\u96C6	集	jí
+\u5E9C	府	fǔ
+\u62C9	拉	lā
+\u9ED1	黑	hēi
+\u683C	格	gé
+\u5C40	局	jú
+\u6839	根	gēn
+\u66FE	曾	céng
+\u51C6	准	zhǔn
+\u7EC8	终	zhōng
+\u5207	切	qiē
+\u54EA	哪	nǎ
+\u4E4E	乎	hū
+\u4E3E	举	jǔ
+\u82E6	苦	kǔ
+\u7167	照	zhào
+\u8DB3	足	zú
+\u62DB	招	zhāo
+\u63A8	推	tuī
+\u5174	兴	xīng
+\u5F85	待	dāi
+\u7EA6	约	yuē
+\u60CA	惊	jīng
+\u7A81	突	tū
+\u53F7	号	háo
+\u7EDD	绝	jué
+\u5427	吧	bā
+\u4E9A	亚	yà
+\u7C7B	类	lèi
+\u6B22	欢	huān
+\u53E6	另	lìng
+\u523B	刻	kè
+\u4EF7	价	jià
+\u5E95	底	dǐ
+\u6545	故	gù
+\u7701	省	shěng
+\u6D88	消	xiāo
+\u8863	衣	yī
+\u5177	具	jù
+\u6CFD	泽	zé
+\u7D27	紧	jǐn
+\u5947	奇	qí
+\u88C5	装	zhuāng
+\u8457	著	zhù
+\u6CB3	河	hé
+\u4E25	严	yán
+\u8840	血	xiě
+\u6295	投	tóu
+\u6597	斗	dòu
+\u82CF	苏	sū
+\u6807	标	biāo
+\u75C5	病	bìng
+\u533B	医	yī
+\u963F	阿	ā
+\u7B54	答	dá
+\u5200	刀	dāo
+\u67E5	查	chá
+\u671D	朝	cháo
+\u7F57	罗	luó
+\u62A4	护	hù
+\u559D	喝	hē
+\u4F9B	供	gòng
+\u80CC	背	bèi
+\u7237	爷	yé
+\u54B1	咱	zán
+\u9519	错	cuò
+\u6697	暗	àn
+\u6392	排	pái
+\u5FD9	忙	máng
+\u6C89	沉	chén
+\u554A	啊	ā
+\u798F	福	fú
+\u5212	划	huá
+\u81F4	致	zhì
+\u6728	木	mù
+\u65C1	旁	páng
+\u5426	否	fǒu
+\u91C7	采	cǎi
+\u98DF	食	shí
+\u767B	登	dēng
+\u7C73	米	mǐ
+\u5047	假	jiǎ
+\u8F83	较	jiào
+\u83B7	获	huò
+\u901F	速	sù
+\u654C	敌	dí
+\u592E	央	yāng
+\u517B	养	yǎng
+\u6309	按	àn
+\u5EA7	座	zuò
+\u7EF4	维	wéi
+\u6E10	渐	jiàn
+\u80DC	胜	shèng
+\u85CF	藏	cáng
+\u5F02	异	yì
+\u89D2	角	jiǎo
+\u65BD	施	shī
+\u6A21	模	mó
+\u8349	草	cǎo
+\u67D0	某	mǒu
+\u9635	阵	zhèn
+\u5DEE	差	chà
+\u5F8B	律	lǜ
+\u7530	田	tián
+\u6BD2	毒	dú
+\u6CE2	波	bō
+\u6362	换	huàn
+\u52B3	劳	láo
+\u54C8	哈	hā
+\u8DD1	跑	pǎo
+\u8D85	超	chāo
+\u70C8	烈	liè
+\u8D76	赶	gǎn
+\u753B	画	huà
+\u4EBF	亿	yì
+\u7D20	素	sù
+\u5C1A	尚	shàng
+\u9669	险	xiǎn
+\u6563	散	sǎn
+\u949F	钟	zhōng
+\u4F5B	佛	fú
+\u8BA8	讨	tǎo
+\u66F2	曲	qǔ
+\u73A9	玩	wán
+\u5382	厂	chǎng
+\u80AF	肯	kěn
+\u534F	协	xié
+\u5E78	幸	xìng
+\u6E29	温	wēn
+\u7591	疑	yí
+\u7B56	策	cè
+\u5B81	宁	níng
+\u5356	卖	mài
+\u8499	蒙	méng
+\u826F	良	liáng
+\u6742	杂	zá
+\u62CD	拍	pāi
+\u7387	率	lǜ
+\u5566	啦	lā
+\u6388	授	shòu
+\u6CB9	油	yóu
+\u79EF	积	jī
+\u5EAD	庭	tíng
+\u7A97	窗	chuāng
+\u626C	扬	yáng
+\u5361	卡	kǎ
+\u96EA	雪	xuě
+\u725B	牛	niú
+\u4E08	丈	zhàng
+\u574F	坏	huài
+\u9C9C	鲜	xiān
+\u6BD5	毕	bì
+\u7565	略	lüè
+\u59BB	妻	qī
+\u9002	适	shì
+\u9884	预	yù
+\u775B	睛	jīng
+\u523A	刺	cì
+\u7EB7	纷	fēn
+\u62EC	括	kuò
+\u964D	降	jiàng
+\u5954	奔	bēn
+\u91CE	野	yě
+\u7981	禁	jìn
+\u7D22	索	suǒ
+\u6B3E	款	kuǎn
+\u65C5	旅	lǚ
+\u9003	逃	táo
+\u8BCD	词	cí
+\u719F	熟	shú
+\u9B3C	鬼	guǐ
+\u9AA8	骨	gǔ
+\u6B32	欲	yù
+\u5F81	征	zhēng
+\u8FCE	迎	yíng
+\u4E01	丁	dīng
+\u6731	朱	zhū
+\u5723	圣	shèng
+\u8DC3	跃	yuè
+\u5F04	弄	nòng
+\u5440	呀	yā
+\u4ED8	付	fù
+\u656C	敬	jìng
+\u76D1	监	jiān
+\u5E93	库	kù
+\u51B0	冰	bīng
+\u786C	硬	yìng
+\u501F	借	jiè
+\u6298	折	zhé
+\u9057	遗	yí
+\u51E1	凡	fán
+\u62A2	抢	qiǎng
+\u676F	杯	bēi
+\u61C2	懂	dǒng
+\u62DC	拜	bài
+\u6D1B	洛	luò
+\u6DE1	淡	dàn
+\u6F6E	潮	cháo
+\u5377	卷	juǎn
+\u8BF8	诸	zhū
+\u552F	唯	wéi
+\u593A	夺	duó
+\u9010	逐	zhú
+\u71D5	燕	yàn
+\u5446	呆	dāi
+\u6D6A	浪	làng
+\u62BD	抽	chōu
+\u7EB5	纵	zòng
+\u8036	耶	yē
+\u6478	摸	mō
+\u62E9	择	zé
+\u820D	舍	shě
+\u4E58	乘	chéng
+\u5965	奥	ào
+\u756A	番	fān
+\u6DF7	混	hún
+\u706D	灭	miè
+\u53EC	召	zhāo
+\u76DB	盛	shèng
+\u6838	核	hé
+\u7ECD	绍	shào
+\u5708	圈	quān
+\u5409	吉	jí
+\u8C37	谷	gǔ
+\u5389	厉	lì
+\u8FF9	迹	jì
+\u96F7	雷	léi
+\u6311	挑	tiāo
+\u64AD	播	bō
+\u9EBD	麽	mā
+\u7ADE	竞	jìng
+\u66FF	替	tì
+\u5DDD	川	chuān
+\u4EC7	仇	chóu
+\u53D4	叔	shū
+\u8C0B	谋	móu
+\u4EC1	仁	rén
+\u878D	融	róng
+\u654F	敏	mǐn
+\u7D2F	累	lèi
+\u8361	荡	dàng
+\u7CCA	糊	hú
+\u72B9	犹	yóu
+\u7A0E	税	shuì
+\u62B5	抵	dǐ
+\u9065	遥	yáo
+\u7709	眉	méi
+\u51A0	冠	guàn
+\u5192	冒	mào
+\u7A77	穷	qióng
+\u8D38	贸	mào
+\u4E88	予	yǔ
+\u4FA7	侧	cè
+\u6CBF	沿	yán
+\u62D4	拔	bá
+\u58C1	壁	bì
+\u65E6	旦	dàn
+\u680F	栏	lán
+\u8352	荒	huāng
+\u903C	逼	bī
+\u5413	吓	xià
+\u8F9B	辛	xīn
+\u966A	陪	péi
+\u5B9C	宜	yí
+\u9A7B	驻	zhù
+\u840D	萍	píng
+\u6C61	污	wū
+\u6251	扑	pū
+\u585E	塞	sài
+\u9686	隆	lóng
+\u7A74	穴	xuè
+\u78E8	磨	mó
+\u4F0F	伏	fú
+\u6CE5	泥	ní
+\u5F84	径	jìng
+\u8D56	赖	lài
+\u6124	愤	fèn
+\u5BBF	宿	sù
+\u75BE	疾	jí
+\u7C4D	籍	jí
+\u517C	兼	jiān
+\u971E	霞	xiá
+\u624E	扎	zhā
+\u8584	薄	bó
+\u6324	挤	jǐ
+\u5410	吐	tǔ
+\u9B42	魂	hún
+\u6D01	洁	jié
+\u679D	枝	zhī
+\u9677	陷	xiàn
+\u7532	甲	jiǎ
+\u4E27	丧	sàng
+\u722C	爬	pá
+\u5076	偶	ǒu
+\u6643	晃	huàng
+\u8D64	赤	chì
+\u70C2	烂	làn
+\u6CF0	泰	tài
+\u52D2	勒	lè
+\u70B8	炸	zhà
+\u6C6A	汪	wāng
+\u6842	桂	guì
+\u5C3E	尾	wěi
+\u6F02	漂	piǎo
+\u6492	撒	sǎ
+\u809A	肚	dù
+\u63CF	描	miáo
+\u4E4F	乏	fá
+\u6ED1	滑	huá
+\u5BC2	寂	jì
+\u6C64	汤	tāng
+\u6735	朵	duǒ
+\u4F73	佳	jiā
+\u6BC1	毁	huǐ
+\u8FA9	辩	biàn
+\u86C7	蛇	shé
+\u6C88	沈	shěn
+\u67AB	枫	fēng
+\u8205	舅	jiù
+\u5E7D	幽	yōu
+\u6B3A	欺	qī
+\u848B	蒋	jiǎng
+\u81E3	臣	chén
+\u8FDD	违	wéi
+\u4E8F	亏	kuī
+\u4E22	丢	diū
+\u63F4	援	yuán
+\u8010	耐	nài
+\u80D6	胖	pàng
+\u54FC	哼	hēng
+\u8FB1	辱	rǔ
+\u7626	瘦	shòu
+\u7BAD	箭	jiàn
+\u7F72	署	shǔ
+\u8D74	赴	fù
+\u7EE9	绩	jì
+\u95F7	闷	mèn
+\u7965	祥	xiáng
+\u72FC	狼	láng
+\u5974	奴	nú
+\u5C3A	尺	chǐ
+\u8150	腐	fǔ
+\u6BB7	殷	yīn
+\u57CB	埋	mái
+\u6E21	渡	dù
+\u886B	衫	shān
+\u8DE8	跨	kuà
+\u8270	艰	jiān
+\u8377	荷	hé
+\u65CB	旋	xuán
+\u94BB	钻	zuān
+\u5B8F	宏	hóng
+\u6696	暖	nuǎn
+\u5948	奈	nài
+\u7F5A	罚	fá
+\u62FE	拾	shí
+\u8109	脉	mài
+\u81ED	臭	chòu
+\u780D	砍	kǎn
+\u6328	挨	āi
+\u89C8	览	lǎn
+\u94DC	铜	tóng
+\u7F9E	羞	xiū
+\u6863	档	dǎng
+\u629B	抛	pāo
+\u88E4	裤	kù
+\u4F30	估	gū
+\u80DE	胞	bāo
+\u739B	玛	mǎ
+\u64A4	撤	chè
+\u6572	敲	qiāo
+\u76D7	盗	chéng
+\u6263	扣	kòu
+\u538C	厌	yā
+\u8DCC	跌	diē
+\u8463	董	dǒng
+\u5237	刷	shuā
+\u8D8B	趋	cù
+\u8D2F	贯	guàn
+\u62E8	拨	bō
+\u900A	逊	shū
+\u796D	祭	jì
+\u97AD	鞭	biān
+\u9022	逢	féng
+\u67CF	柏	bǎi
+\u9A76	驶	shǐ
+\u7EBD	纽	niǔ
+\u8E2A	踪	chuò
+\u9510	锐	duì
+\u5587	喇	lā
+\u4E7E	乾	gān
+\u7741	睁	suō
+\u4ED4	仔	zī
+\u58A8	墨	mò
+\u4FF1	俱	jù
+\u8D21	贡	gòng
+\u8D62	赢	gòng
+\u9A70	驰	chí
+\u68D2	棒	bàng
+\u5339	匹	pī
+\u8106	脆	cuì
+\u8D24	贤	xián
+\u62C6	拆	chāi
+\u6444	摄	niè
+\u563F	嘿	hēi
+\u8D3A	贺	hè
+\u7FE0	翠	cuì
+\u7F1D	缝	féng
+\u629A	抚	fǔ
+\u53DB	叛	pàn
+\u7199	熙	xī
+\u76D2	盒	hé
+\u8DEA	跪	guì
+\u7891	碑	bēi
+\u5475	呵	hē
+\u6D12	洒	sǎ
+\u838E	莎	shā
+\u62B9	抹	mǒ
+\u5362	卢	lú
+\u788D	碍	ài
+\u6655	晕	yūn
+\u62E6	拦	lán
+\u71C3	燃	rán
+\u72C4	狄	dí
+\u62BC	押	yā
+\u820C	舌	shé
+\u67DC	柜	guì
+\u524A	削	xuē
+\u6746	杆	gǎn
+\u5CA9	岩	yán
+\u5582	喂	wèi
+\u6254	扔	rēng
+\u76C6	盆	pén
+\u5FA1	御	yù
+\u827E	艾	ài
+\u5509	唉	āi
+\u59E5	姥	lǎo
+\u98A0	颠	diān
+\u59FB	姻	yīn
+\u82AC	芬	fēn
+\u6247	扇	shàn
+\u82AF	芯	xīn
+\u52FE	勾	gōu
+\u7267	牧	mù
+\u5112	儒	rú
+\u54BD	咽	yān
+\u5428	吨	dūn
+\u866B	虫	chóng
+\u8155	腕	wǎn
+\u7FC1	翁	wēng
+\u54A8	咨	zī
+\u5C4F	屏	píng
+\u6CC4	泄	xiè
+\u6DFB	添	tiān
+\u9075	遵	zūn
+\u6756	杖	zhàng
+\u8A93	誓	shì
+\u6CE1	泡	pāo
+\u9006	逆	nì
+\u586B	填	tián
+\u5915	夕	xì
+\u8870	衰	cuī
+\u859B	薛	xuē
+\u4EC6	仆	pū
+\u8FC8	迈	guǎng
+\u6284	抄	chāo
+\u6E34	渴	kě
+\u758F	疏	shū
+\u8877	衷	zhōng
+\u62D3	拓	tuò
+\u5353	卓	zhuó
+\u75C7	症	zhēng
+\u94A6	钦	qīn
+\u54E9	哩	lī
+\u73CA	珊	shān
+\u6DCB	淋	lìn
+\u60A6	悦	yuè
+\u8273	艳	bó
+\u845B	葛	gé
+\u7F55	罕	hǎn
+\u8180	膀	bǎng
+\u9888	颈	gěng
+\u8116	脖	bó
+\u813E	脾	pí
+\u5821	堡	bǎo
+\u5A07	娇	jiāo
+\u9640	陀	tuó
+\u84C4	蓄	xù
+\u575F	坟	fén
+\u9882	颂	róng
+\u6F0F	漏	lòu
+\u676D	杭	háng
+\u8F9F	辟	bì
+\u6D66	浦	pǔ
+\u5401	吁	yù
+\u54C4	哄	hōng
+\u8299	芙	fú
+\u62DA	拚	pàn
+\u8F68	轨	dài
+\u76EF	盯	dīng
+\u7855	硕	shí
+\u5BB4	宴	yàn
+\u7FF0	翰	hàn
+\u819D	膝	xī
+\u9675	陵	líng
+\u903B	逻	luó
+\u5288	劈	pī
+\u5EC9	廉	lián
+\u8D29	贩	fàn
+\u7ED8	绘	huì
+\u5D16	崖	yá
+\u8FB0	辰	chén
+\u6DAF	涯	yá
+\u6208	戈	gē
+\u64D2	擒	qín
+\u5835	堵	dǔ
+\u633D	挽	wǎn
+\u8679	虹	hóng
+\u68B0	械	xiè
+\u6EAA	溪	xī
+\u6591	斑	bān
+\u5BE1	寡	guǎ
+\u5FAA	循	xún
+\u63A0	掠	lüè
+\u6614	昔	xī
+\u5FBD	徽	huī
+\u55EF	嗯	ēn
+\u4E2B	丫	yā
+\u9C8D	鲍	bào
+\u5DF7	巷	xiàng
+\u502A	倪	ní
+\u7B52	筒	tǒng
+\u79D2	秒	miǎo
+\u6CBE	沾	zhān
+\u8258	艘	sōu
+\u54D7	哗	huá
+\u4EA9	亩	mǔ
+\u5238	券	quàn
+\u6DEB	淫	yín
+\u5984	妄	wàng
+\u53C9	叉	chā
+\u7792	瞒	mán
+\u543E	吾	wú
+\u4FA8	侨	qiáo
+\u5578	啸	xiào
+\u6CE3	泣	qì
+\u8D4B	赋	fù
+\u71AC	熬	áo
+\u54B3	咳	ké
+\u808C	肌	jī
+\u8EAC	躬	gōng
+\u62D8	拘	jū
+\u53EE	叮	dīng
+\u54C7	哇	wā
+\u6674	晴	qíng
+\u8C1C	谜	mí
+\u545C	呜	wū
+\u9881	颁	bān
+\u5BE8	寨	zhài
+\u5C3F	尿	niào
+\u988A	颊	jiá
+\u902E	逮	dǎi
+\u535C	卜	bō
+\u662D	昭	zhāo
+\u56CA	囊	náng
+\u632A	挪	nuó
+\u515C	兜	dōu
+\u6670	晰	xī
+\u7CD5	糕	gāo
+\u88D4	裔	yì
+\u94A9	钩	gōu
+\u5632	嘲	cháo
+\u508D	傍	bàng
+\u52FF	勿	wù
+\u80CE	胎	tāi
+\u80C3	胃	wèi
+\u88F8	裸	luǒ
+\u7A91	窑	yáo
+\u94ED	铭	míng
+\u6C90	沐	mù
+\u6E0A	渊	yuān
+\u5140	兀	wù
+\u5C65	履	lǚ
+\u755C	畜	chù
+\u7C9E	粞	xī
+\u6402	搂	lǒu
+\u96C1	雁	yàn
+\u5026	倦	juàn
+\u6500	攀	pān
+\u5492	咒	zhòu
+\u9042	遂	suì
+\u6F84	澄	chéng
+\u8038	耸	sǒng
+\u5561	啡	fēi
+\u9119	鄙	bǐ
+\u8822	蠢	chǔn
+\u82A6	芦	lú
+\u80F3	胳	gē
+\u5E16	帖	tiě
+\u7130	焰	yàn
+\u810A	脊	jí
+\u96C0	雀	què
+\u5E06	帆	fān
+\u800D	耍	shuǎ
+\u6DB5	涵	hán
+\u6FA1	澡	zǎo
+\u7CAA	粪	fèn
+\u809D	肝	gān
+\u6F6D	潭	tán
+\u8302	茂	mào
+\u683D	栽	zāi
+\u7F34	缴	jiǎo
+\u8E48	蹈	dǎo
+\u5580	喀	kā
+\u6DC0	淀	diàn
+\u8721	蜡	là
+\u56BC	嚼	jué
+\u901B	逛	guàng
+\u9AA4	骤	zhòu
+\u8BE7	诧	chà
+\u80F6	胶	jiāo
+\u54C9	哉	zāi
+\u8BBD	讽	fěng
+\u6B79	歹	dǎi
+\u6233	戳	chuō
+\u65F1	旱	hàn
+\u5EFF	廿	niàn
+\u84E6	蓦	mò
+\u4E59	乙	yǐ
+\u68FA	棺	guān
+\u6EDE	滞	zhì
+\u8BF5	诵	sòng
+\u80BA	肺	fèi
+\u6C41	汁	zhī
+\u7EB1	纱	shā
+\u6123	愣	lèng
+\u8102	脂	zhī
+\u7095	炕	kàng
+\u4F1E	伞	sǎn
+\u94F8	铸	zhù
+\u8042	聂	niè
+\u68A8	梨	lí
+\u54E6	哦	ō
+\u5315	匕	bì
+\u7109	焉	yān
+\u9699	隙	xì
+\u57AE	垮	kuǎ
+\u917F	酿	niàng
+\u9E45	鹅	é
+\u6DA9	涩	sè
+\u764C	癌	ái
+\u6D4F	浏	liú
+\u53AE	厮	sī
+\u715E	煞	shà
+\u819C	膜	mó
+\u970E	霎	shà
+\u8328	茨	cí
+\u7C98	粘	nián
+\u6714	朔	shuò
+\u5662	噢	ō
+\u632B	挫	cuō
+\u8650	虐	nüè
+\u9B45	魅	mèi
+\u8FAB	辫	biàn
+\u9CC4	鳄	è
+\u89C5	觅	mì
+\u6C13	氓	máng
+\u8C41	豁	huò
+\u5352	卒	zú
+\u85C9	藉	jiè
+\u5378	卸	xiè
+\u6241	扁	biǎn
+\u8346	荆	jīng
+\u53E8	叨	dāo
+\u852C	蔬	shū
+\u7EF8	绸	chóu
+\u5A7F	婿	xù
+\u6D47	浇	jiāo
+\u7948	祈	qǐ
+\u4E53	乓	pāng
+\u95F5	闵	mǐn
+\u9EEF	黯	àn
+\u7EFD	绽	zhàn
+\u53ED	叭	bā
+\u5F0A	弊	bì
+\u7076	灶	zào
+\u918B	醋	cù
+\u7A3D	稽	jī
+\u62D9	拙	zhuó
+\u5C6F	屯	tún
+\u9E20	鸠	jiū
+\u5431	吱	zhī
+\u60D5	惕	tì
+\u6817	栗	lì
+\u63E3	揣	chuǎi
+\u82D1	苑	yuàn
+\u776C	睬	cǎi
+\u8471	葱	cōng
+\u6487	撇	piě
+\u83CC	菌	jūn
+\u68A2	梢	shāo
+\u8D3F	贿	huì
+\u516E	兮	xī
+\u884D	衍	yǎn
+\u8D4E	赎	shú
+\u6DCC	淌	tǎng
+\u625B	扛	káng
+\u54A7	咧	liē
+\u6749	杉	shān
+\u864F	虏	lǔ
+\u7410	琐	suǒ
+\u72E1	狡	jiǎo
+\u6E3A	渺	miǎo
+\u6C83	沃	wò
+\u6413	搓	cuō
+\u68A7	梧	wú
+\u542D	吭	kēng
+\u8747	蝇	yíng
+\u846B	葫	hú
+\u6D95	涕	tì
+\u548B	咋	zǎ
+\u4EDE	仞	rèn
+\u6273	扳	bān
+\u762B	瘫	tān
+\u54A6	咦	yí
+\u4F63	佣	yòng
+\u904F	遏	è
+\u7405	琅	láng
+\u851A	蔚	wèi
+\u6D3D	洽	qià
+\u8695	蚕	cán
+\u5BDD	寝	qǐn
+\u82DF	苟	gǒu
+\u804B	聋	lóng
+\u68AD	梭	suō
+\u52DF	募	mù
+\u5784	垄	lǒng
+\u82AD	芭	bā
+\u547B	呻	shēn
+\u8DB4	趴	pā
+\u608D	悍	hàn
+\u6F2A	漪	yī
+\u75A4	疤	bā
+\u7C9F	粟	sù
+\u9890	颐	yí
+\u6A90	檐	yán
+\u4F3A	伺	cì
+\u7A98	窘	jiǒng
+\u55C5	嗅	xiù
+\u62CE	拎	līng
+\u9610	阐	chǎn
+\u6CFB	泻	xiè
+\u4FED	俭	jiǎn
+\u5B09	嬉	xī
+\u6816	栖	qī
+\u6CAE	沮	jǔ
+\u560E	嘎	gā
+\u7FE9	翩	piān
+\u4E4D	乍	zhà
+\u54AF	咯	gē
+\u7011	瀑	pù
+\u759A	疚	jiù
+\u627C	扼	è
+\u6252	扒	bā
+\u572A	圪	gē
+\u968B	隋	suí
+\u545B	呛	qiàng
+\u70AF	炯	jiǒng
+\u87BA	螺	luó
+\u7D6E	絮	xù
+\u6760	杠	gàng
+\u8774	蝴	hú
+\u9E3D	鸽	gē
+\u795F	祟	suì
+\u64A9	撩	liáo
+\u60DA	惚	hū
+\u6320	挠	náo
+\u8513	蔓	màn
+\u85E9	藩	fān
+\u94B0	钰	yù
+\u840E	萎	wěi
+\u9761	靡	mí
+\u6912	椒	jiāo
+\u53E9	叩	kòu
+\u5ED6	廖	liào
+\u752D	甭	béng
+\u6518	攘	rǎng
+\u87F9	蟹	xiè
+\u5F8A	徊	huái
+\u77F6	矶	jī
+\u55D4	嗔	chēn
+\u64AE	撮	cuō
+\u82BD	芽	yá
+\u61CA	懊	ào
+\u8E0C	踌	chóu
+\u7F00	缀	zhuì
+\u9600	阀	fá
+\u54C6	哆	duō
+\u592D	夭	yāo
+\u62C7	拇	mǔ
+\u5F98	徘	pái
+\u8E0A	踊	yǒng
+\u748B	璋	zhāng
+\u8FF8	迸	bèng
+\u732C	猬	wèi
+\u82D4	苔	tái
+\u9163	酣	hān
+\u94F2	铲	chǎn
+\u64C2	擂	lèi
+\u62D7	拗	niù
+\u5B5C	孜	zī
+\u9504	锄	chú
+\u79A7	禧	xǐ
+\u6345	捅	tǒng
+\u8859	衙	yá
+\u97A0	鞠	jū
+\u9AB0	骰	tóu
+\u6664	晤	wù
+\u5955	奕	yì
+\u8E09	踉	liàng
+\u95F8	闸	zhá
+\u80AE	肮	āng
+\u54FD	哽	gěng
+\u62FD	拽	zhuài
+\u708A	炊	chuī
+\u82B9	芹	qín
+\u527F	剿	jiǎo
+\u6868	桨	jiǎng
+\u9508	锈	xiù
+\u63B3	掳	lǔ
+\u4EA2	亢	kàng
+\u5CD9	峙	zhì
+\u4ED5	仕	shì
+\u808B	肋	lèi
+\u7C3F	簿	bù
+\u96CD	雍	yōng
+\u6D3C	洼	wā
+\u548F	咏	yǒng
+\u5944	奄	yǎn
+\u86D9	蛙	wā
+\u6E23	渣	zhā
+\u6C5B	汛	xùn
+\u7CB1	粱	liáng
+\u5F77	彷	páng
+\u77BF	瞿	qú
+\u5567	啧	zé
+\u81FB	臻	zhēn
+\u812F	脯	pú
+\u7261	牡	mǔ
+\u7F30	缰	jiāng
+\u55D2	嗒	tà
+\u62F7	拷	kǎo
+\u6064	恤	xù
+\u7A96	窖	jiào
+\u62ED	拭	shì
+\u6656	晖	huī
+\u78BE	碾	niǎn
+\u7599	疙	gē
+\u9AA1	骡	luó
+\u7845	硅	guī
+\u9A6F	驯	xún
+\u8E6D	蹭	cèng
+\u7CA4	粤	yuè
+\u55DC	嗜	shì
+\u62EF	拯	zhěng
+\u66F3	曳	yè
+\u6854	桔	jú
+\u9F9A	龚	gōng
+\u6F88	澈	chè
+\u94B5	钵	bō
+\u72DE	狞	níng
+\u86E4	蛤	gé
+\u9698	隘	ài
+\u54E7	哧	chī
+\u7629	瘩	dā
+\u63BA	掺	càn
+\u5FD6	忖	cǔn
+\u622E	戮	lù
+\u70D9	烙	lào
+\u90A2	邢	xíng
+\u8E4B	蹋	tà
+\u762A	瘪	biē
+\u5506	唆	suō
+\u7766	睦	mù
+\u96CC	雌	cí
+\u4F3D	伽	jiā
+\u8F67	轧	gá
+\u779F	瞟	piǎo
+\u57D4	埔	pǔ
+\u55B3	喳	chā
+\u8549	蕉	jiāo
+\u53F1	叱	chì
+\u60CB	惋	wǎn
+\u6F8E	澎	péng
+\u6376	捶	chuí
+\u6EBA	溺	nì
+\u564E	噎	yē
+\u6EC7	滇	diān
+\u8BCF	诏	zhào
+\u9AD3	髓	suǐ
+\u952D	锭	dìng
+\u7AA6	窦	dòu
+\u6F66	潦	lǎo
+\u5228	刨	páo
+\u5676	噶	gá
+\u8338	茸	róng
+\u8236	舶	bó
+\u68F1	棱	léng
+\u766B	癫	diān
+\u832C	茬	chá
+\u8087	肇	zhào
+\u874E	蝎	xiē
+\u7C38	簸	bǒ
+\u8339	茹	rú
+\u606C	恬	tián
+\u62BF	抿	mǐn
+\u9551	镑	bàng
+\u7B75	筵	yán
+\u5AD6	嫖	piáo
+\u8FC2	迂	yū
+\u814B	腋	yè
+\u6D52	浒	hǔ
+\u8475	葵	kuí
+\u690E	椎	zhuī
+\u776B	睫	jié
+\u524C	剌	lá
+\u8D42	赂	lù
+\u7FB9	羹	gēng
+\u854A	蕊	ruǐ
+\u6CA5	沥	lì
+\u6482	撂	liào
+\u7F2A	缪	miù
+\u8910	褐	hè
+\u8DF7	跷	qiāo
+\u9497	钗	chāi
+\u87C6	蟆	má
+\u542E	吮	shǔn
+\u5FB5	徵	zhēng
+\u73AE	玮	wěi
+\u85D0	藐	miǎo
+\u9685	隅	yú
+\u8DE4	跤	jiāo
+\u8F84	辄	zhé
+\u61F5	懵	měng
+\u55E8	嗨	hāi
+\u79E4	秤	chèng
+\u786B	硫	liú
+\u8E1E	踞	jù
+\u7CBD	粽	zòng
+\u9175	酵	xiào
+\u8815	蠕	rú
+\u9739	霹	pī
+\u7A20	稠	chóu
+\u8E4A	蹊	xī
+\u6CBC	沼	zhǎo
+\u6845	桅	wéi
+\u839E	莞	wǎn
+\u951A	锚	máo
+\u814C	腌	yān
+\u777F	睿	ruì
+\u6479	摹	mó
+\u6C93	沓	tà
+\u752C	甬	yǒng
+\u8446	葆	bǎo
+\u50EE	僮	tóng
+\u693F	椿	chūn
+\u579B	垛	duǒ
+\u948A	钊	zhāo
+\u7EDA	绚	xuàn
+\u70E8	烨	yè
+\u8F98	辘	lù
+\u8759	蝙	biān
+\u7A79	穹	qióng
+\u8718	蜘	zhī
+\u62A0	抠	kōu
+\u54D2	哒	dā
+\u7BC6	篆	zhuàn
+\u634B	捋	lǚ
+\u72F0	狰	zhēng
+\u7578	畸	jī
+\u8018	耘	yún
+\u7FCC	翌	yì
+\u8708	蜈	wú
+\u867B	虻	méng
+\u5F08	弈	yì
+\u5664	噤	jìn
+\u8C06	谆	zhūn
+\u9AEF	髯	rán
+\u873F	蜿	wān
+\u5B5A	孚	fú
+\u4E9F	亟	jí
+\u88F4	裴	péi
+\u76CE	盎	àng
+\u5685	嚅	rú
+\u8317	茗	míng
+\u645E	摞	luò
+\u6813	栓	shuān
+\u765E	癞	lài
+\u80ED	胭	yān
+\u4F2B	伫	zhù
+\u9647	陇	lǒng
+\u9706	霆	tíng
+\u8FE5	迥	jiǒng
+\u5250	剐	guǎ
+\u5F99	徙	xǐ
+\u76C5	盅	zhōng
+\u8354	荔	lì
+\u81CA	臊	sào
+\u6C69	汩	gǔ
+\u64AC	撬	qiào
+\u6995	榕	róng
+\u95F0	闰	rùn
+\u80AA	肪	fáng
+\u62C4	拄	zhǔ
+\u8110	脐	jī
+\u71A0	熠	yì
+\u5055	偕	jiē
+\u4F57	佗	tuó
+\u4F8F	侏	zhū
+\u9535	锵	qiāng
+\u9AFB	髻	jì
+\u8821	蠡	lí
+\u4E15	丕	pǐ
+\u9773	靳	jìn
+\u5594	喔	wō
+\u6C2F	氯	lǜ
+\u71CE	燎	liáo
+\u59A9	妩	wǔ
+\u6D94	涔	cén
+\u701A	瀚	hàn
+\u6F33	漳	zhāng
+\u562D	嘭	péng
+\u7708	眈	dān
+\u6078	恸	tòng
+\u828B	芋	yù
+\u914B	酋	qiú
+\u8611	蘑	mó
+\u77B3	瞳	tóng
+\u77A0	瞠	chēng
+\u78F7	磷	lín
+\u7357	獗	jué
+\u502D	倭	wō
+\u9149	酉	yǒu
+\u9550	镐	gǎo
+\u866C	虬	qiú
+\u81BB	膻	shān
+\u76F9	盹	dǔn
+\u6CCC	泌	bì
+\u9AA5	骥	jì
+\u5E7A	幺	yāo
+\u709C	炜	wěi
+\u905B	遛	liú
+\u8398	莘	xīn
+\u9131	鄱	pó
+\u6C8F	沏	qī
+\u9A85	骅	huá
+\u8C27	谧	mì
+\u63B8	掸	chán
+\u891B	褛	lǚ
+\u86DF	蛟	jiāo
+\u4FDF	俟	sì
+\u710A	焊	hàn
+\u6862	桢	zhēn
+\u8019	耙	pá
+\u9522	锢	gù
+\u5530	唰	shuā
+\u6C7E	汾	fén
+\u8BB9	讹	é
+\u9CDD	鳝	shàn
+\u9005	逅	hòu
+\u8037	耷	dā
+\u63A3	掣	chè
+\u83E0	菠	bō
+\u96BD	隽	juàn
+\u9975	饵	ěr
+\u6DB8	涸	hé
+\u831C	茜	qiàn
+\u6248	扈	hù
+\u7EAB	纫	rèn
+\u6E89	溉	gài
+\u692D	椭	tuǒ
+\u9EBE	麾	huī
+\u6041	恁	móu
+\u6CD7	泗	sì
+\u527D	剽	piāo
+\u9539	锹	lì
+\u8713	蜓	tíng
+\u916A	酪	lào
+\u9E57	鹗	è
+\u740F	琏	lián
+\u6396	掖	yē
+\u5080	傀	kuǐ
+\u7688	皈	guī
+\u6DC7	淇	qí
+\u94C0	铀	yóu
+\u65CC	旌	jīng
+\u53C1	叁	sān
+\u6D5C	浜	bīn
+\u7634	瘴	zhàng
+\u77B0	瞰	kàn
+\u50A9	傩	nuó
+\u6CFE	泾	jìng
+\u87CB	蟋	xī
+\u7620	瘠	jí
+\u5CE5	峥	zhēng
+\u500C	倌	guān
+\u6E6E	湮	yān
+\u852B	蔫	niān
+\u94CE	铎	duó
+\u8182	膂	lǚ
+\u8C12	谒	tí
+\u6538	攸	bīn
+\u9E28	鸨	bǎo
+\u8537	蔷	qiáng
+\u783A	砺	lì
+\u89CA	觊	gǔ
+\u86A4	蚤	zǎo
+\u5522	唢	jī
+\u606B	恫	dòng
+\u5A9B	媛	yuán
+\u8869	衩	chǎ
+\u71A8	熨	yùn
+\u9499	钙	gài
+\u956C	镬	huò
+\u7EB6	纶	lún
+\u810D	脍	kuài
+\u54D0	哐	kuāng
+\u7877	硷	jiǎn
+\u9176	酶	méi
+\u82AE	芮	ruì
+\u81C3	臃	yōng
+\u675E	杞	qǐ
+\u871A	蜚	fěi
+\u5048	偈	jì
+\u6C94	沔	miǎn
+\u4EE8	仨	fǎn
+\u8E76	蹶	jué
+\u8006	耆	qí
+\u828D	芍	sháo
+\u9B47	魇	yǎn
+\u9753	靓	jìng
+\u8C04	谄	chǎn
+\u75B5	疵	cī
+\u8FE4	迤	yí
+\u7FDF	翟	dí
+\u5106	儆	jǐng
+\u55DF	嗟	jiē
+\u8309	茉	mò
+\u9157	酗	xù
+\u759F	疟	nüè
+\u6AAC	檬	méng
+\u76E5	盥	guàn
+\u7EA5	纥	gē
+\u75B9	疹	zhěn
+\u996F	饯	jiàn
+\u9701	霁	jì
+\u6942	楂	chá
+\u64C0	擀	gǎn
+\u5793	垓	gāi
+\u83C1	菁	jīng
+\u69C1	槁	gǎo
+\u6FEF	濯	zhuó
+\u63C4	揄	yú
+\u5CCB	峋	xún
+\u72D9	狙	jū
+\u6F78	潸	shān
+\u573B	圻	qí
+\u56E4	囤	tún
+\u7EFA	绺	liǔ
+\u8198	膘	biāo
+\u54AD	咭	jī
+\u835F	荟	huì
+\u4F5A	佚	yì
+\u8D84	趄	jū
+\u80E4	胤	yìn
+\u5A29	娩	miǎn
+\u88F1	裱	biǎo
+\u7957	祗	zhī
+\u63F6	揶	yé
+\u7A95	窕	tiǎo
+\u753A	町	tǐng
+\u7EA3	纣	zhòu
+\u5B5B	孛	bó
+\u5B6C	孬	nāo
+\u6F15	漕	cáo
+\u507B	偻	lóu
+\u9A9B	骛	ào
+\u90B0	邰	tái
+\u8C2A	谪	jiàn
+\u94BE	钾	jiǎ
+\u5B51	孑	jié
+\u559F	喟	kuì
+\u7E9B	纛	dào
+\u5466	呦	yōu
+\u7172	煲	bǎo
+\u8174	腴	yú
+\u8386	莆	pú
+\u5B71	孱	chán
+\u7350	獐	zhāng
+\u61FF	懿	yì
+\u4FEA	俪	lì
+\u631E	挞	tà
+\u86C6	蛆	qū
+\u94EC	铬	gé
+\u988C	颌	hé
+\u956B	镫	dèng
+\u81E7	臧	zāng
+\u6E5F	湟	huáng
+\u4F5D	佝	gōu
+\u84DF	蓟	jì
+\u86B1	蚱	zhà
+\u67DA	柚	yòu
+\u6175	慵	yōng
+\u80F0	胰	yí
+\u6CF8	泸	lú
+\u5D82	嶂	zhàng
+\u9ECD	黍	shǔ
+\u82AB	芫	yuán
+\u87AB	螫	shì
+\u94E4	铤	tǐng
+\u6615	昕	xīn
+\u68C2	棂	líng
+\u6C50	汐	xī
+\u8D30	贰	èr
+\u87B3	螳	táng
+\u9537	锷	è
+\u777E	睾	gāo
+\u8301	茁	zhuó
+\u54BB	咻	xiū
+\u5472	呲	zī
+\u8222	舢	shān
+\u6DFC	淼	miǎo
+\u688F	梏	gù
+\u684E	桎	zhì
+\u82BE	芾	fèi
+\u9562	镢	jué
+\u7949	祉	zhǐ
+\u6C24	氤	yīn
+\u6748	杈	chā
+\u5C50	屐	jī
+\u837B	荻	dí
+\u50ED	僭	jiàn
+\u88E8	裨	bì
+\u94BA	钺	yuè
+\u835E	荞	qiáo
+\u7F19	缙	jìn
+\u56EB	囫	hú
+\u8941	襁	qiǎng
+\u7823	砣	tuó
+\u5A09	娉	pīng
+\u8E49	蹉	cuō
+\u9889	颉	jiá
+\u83CF	菏	hé
+\u809B	肛	gāng
+\u7719	眙	chì
+\u6A50	橐	tuó
+\u6777	杷	pá
+\u7360	獠	liáo
+\u5581	喁	yú
+\u80FA	胺	àn
+\u9AED	髭	zī
+\u86ED	蛭	zhì
+\u65EF	旯	lá
+\u564C	噌	cēng
+\u9E92	麒	qí
+\u7579	畹	wǎn
+\u602B	怫	fèi
+\u4F5E	佞	nìng
+\u9E5E	鹞	yáo
+\u9095	邕	yōng
+\u9021	逡	qūn
+\u6954	楔	xiē
+\u7FAF	羯	jié
+\u75C2	痂	jiā
+\u6B92	殒	yǔn
+\u6E4E	湎	miǎn
+\u6CAD	沭	shù
+\u9785	鞅	yāng
+\u94BF	钿	diàn
+\u64D8	擘	bò
+\u8F9A	辚	lín
+\u6C10	氐	dī
+\u6DBF	涿	zhuó
+\u5E96	庖	páo
+\u736D	獭	tǎ
+\u7337	猷	yóu
+\u5464	呤	líng
+\u6F5E	潞	lù
+\u7119	焙	bèi
+\u6631	昱	yù
+\u69AB	榫	sǔn
+\u91AE	醮	jiào
+\u988D	颍	kē
+\u683E	栾	luán
+\u66B9	暹	xiān
+\u8BEE	诮	kuàng
+\u9CCF	鳏	guān
+\u8F6D	轭	è
+\u6841	桁	héng
+\u6E44	湄	méi
+\u8D67	赧	nǎn
+\u877C	蝼	bǎng
+\u8707	蜇	zhé
+\u6864	桤	qī
+\u55C4	嗄	shà
+\u5DFD	巽	xùn
+\u86F9	蛹	yǒng
+\u94C6	铆	mǎo
+\u4F97	侗	tóng
+\u9169	酩	míng
+\u6FE0	濠	háo
+\u6E1A	渚	zhǔ
+\u7EE6	绦	tāo
+\u7BC1	篁	huáng
+\u94B8	钸	bó
+\u6B43	歃	shà
+\u696B	楫	jí
+\u59AF	妯	zhóu
+\u6FB9	澹	dàn
+\u9617	阗	jué
+\u7321	猡	luó
+\u5958	奘	zàng
+\u4EB3	亳	bó
+\u6CC5	泅	qiú
+\u9530	锰	měng
+\u77FE	矾	fán
+\u6DEC	淬	cuì
+\u9880	颀	kěn
+\u677C	杼	zhù
+\u7F1F	缟	gǎo
+\u6D2E	洮	táo
+\u562C	嘬	zuō
+\u9F83	龃	jǔ
+\u6B39	欹	yī
+\u80F4	胴	dòng
+\u821B	舛	chuǎn
+\u853A	蔺	fù
+\u82D2	苒	rǎn
+\u782D	砭	biān
+\u7EB0	纰	bǐ
+\u6F8D	澍	shù
+\u82A9	芩	qín
+\u51EB	凫	fú
+\u75FC	痼	gù
+\u9011	逑	qiú
+\u6FEE	濮	pú
+\u55F5	嗵	tōng
+\u75C8	痈	liē
+\u9EE9	黩	dú
+\u8E05	踅	chì
+\u9F89	龉	lǒng
+\u9512	锒	láng
+\u832D	茭	jiāo
+\u82D5	苕	tiáo
+\u7CCD	糍	cí
+\u6206	戆	gàng
+\u714A	煊	jiǎn
+\u668C	暌	kuí
+\u6217	戗	qiāng
+\u6753	杓	sháo
+\u7ED4	绔	kù
+\u90D7	郗	chī
+\u8A3E	訾	zī
+\u7B33	笳	jiā
+\u9878	顸	dú
+\u75E7	痧	shā
+\u7F35	缵	guàn
+\u6F2F	漯	tà
+\u6C4A	汊	chà
+\u82FB	苻	fú
+\u603C	怼	duì
+\u7110	焐	tāo
+\u62CA	拊	fǔ
+\u9642	陂	pí
+\u8864	衤	chǎ
+\u65C4	旄	máo
+\u665F	晟	shèng
+\u6A2F	樯	cóng
+\u7F26	缦	màn
+\u7F17	缗	mín
+\u6322	挢	jiǎo
+\u84D6	蓖	bì
+\u8C49	豉	chǐ
+\u75FF	痿	wěi
+\u6E6B	湫	jiǎo
+\u6DDD	淝	féi
+\u9990	馐	xiū
+\u5456	呖	lì
+\u8559	蕙	huì
+\u8C89	貉	háo
+\u6EC1	滁	chú
+\u7E47	繇	yáo
+\u75D6	痖	pī
+\u6B46	歆	xīn
+\u8F7E	轾	yà
+\u6B81	殁	mò
+\u8FE8	迨	dài
+\u54B4	咴	huá
+\u8585	薅	hāo
+\u83B4	莴	wō
+\u9E88	麈	zhǔ
+\u89DA	觚	gū
+\u8E70	蹰	chú
+\u892B	褫	chǐ
+\u8D3D	贽	gǔ
+\u636D	捭	bǎi
+\u845A	葚	rèn
+\u90C5	郅	zhì
+\u5025	倥	kōng
+\u954A	镊	niè
+\u91B4	醴	lǐ
+\u7C7C	籼	xiān
+\u8722	蜢	měng
+\u86B6	蚶	hān
+\u7AE6	竦	sǒng
+\u7572	畲	shē
+\u67B8	枸	gǒu
+\u6D39	洹	huán
+\u8C2F	谯	qiáo
+\u90E7	郧	pǒu
+\u9492	钒	fán
+\u9E87	麇	jūn
+\u7619	瘙	sāo
+\u74E0	瓠	hù
+\u8F6B	轫	rèn
+\u6D0C	洌	liè
+\u961A	阚	kàn
+\u95FC	闼	kāi
+\u5C98	岘	pí
+\u82DC	苜	mù
+\u82A8	芨	jī
+\u975B	靛	diàn
+\u9EE7	黧	lí
+\u8E7C	蹼	pú
+\u868D	蚍	bǐ
+\u8012	耒	lěi
+\u7173	煳	hú
+\u9F51	齑	jī
+\u727E	牾	wú
+\u7F01	缁	jī
+\u609D	悝	kuī
+\u54D9	哙	kuài
+\u859C	薜	bì
+\u8365	荥	qián
+\u933E	錾	huò
+\u8DBA	趺	fū
+\u916F	酯	zhǐ
+\u956A	镪	qiāng
+\u94CB	铋	bì
+\u789B	碛	qì
+\u80DD	胝	zhī
+\u69CE	槎	chá
+\u6849	桉	ān
+\u67B3	枳	zhǐ
+\u5C3B	尻	kāo
+\u6D60	浠	xī
+\u6CA9	沩	huì
+\u5941	奁	dī
+\u855E	蕞	zuì
+\u837D	荽	suī
+\u8378	荸	bí
+\u755A	畚	běn
+\u77FD	矽	xī
+\u793B	礻	shì
+\u712F	焯	chāo
+\u80FC	胼	pián
+\u6978	楸	qiū
+\u6910	椐	jū
+\u68F0	棰	chuí
+\u6855	桕	gāo
+\u72F7	狷	juàn
+\u5DB7	嶷	yí
+\u5575	啵	bō
+\u9104	鄄	juàn
+\u4F64	佤	wǎ
+\u9B32	鬲	gé
+\u96E0	雠	chī
+\u8DB1	趱	zǎn
+\u812C	脬	pāo
+\u7F2B	缫	sāo
+\u7EA1	纡	yū
+\u59AB	妫	guī
+\u6D9E	涞	guō
+\u9608	阈	yù
+\u736F	獯	xūn
+\u72CD	狍	páo
+\u8616	蘖	bì
+\u83D6	菖	chāng
+\u4F1B	伛	yǔ
+\u879F	螟	míng
+\u8C30	谰	lán
+\u7C40	籀	zhòu
+\u765C	癜	diàn
+\u77EC	矬	cuó
+\u955E	镞	xín
+\u9EFB	黻	fú
+\u789A	碚	bèi
+\u7826	砦	zhài
+\u6B59	歙	shè
+\u5AF1	嫱	qiáng
+\u6EB2	溲	sōu
+\u5588	喈	jiē
+\u857B	蕻	hòng
+\u83F0	菰	gū
+\u83A8	莨	làng
+\u839C	莜	dí
+\u572C	圬	wū
+\u8C1D	谝	pián
+\u634C	捌	bā
+\u9AB1	骱	xiè
+\u9708	霈	pèi
+\u7B25	笥	sì
+\u8816	蠖	huò
+\u94EB	铫	tiáo
+\u71E0	燠	yù
+\u80D7	胗	zhēn
+\u6636	昶	chǎng
+\u6B82	殂	cú
+\u69FF	槿	jǐn
+\u69A7	榧	fěi
+\u6CEE	泮	pàn
+\u9995	馕	náng
+\u577B	坻	dǐ
+\u90EB	郫	pí
+\u5208	刈	yì
+\u9ABA	骺	gòu
+\u9CAE	鲮	líng
+\u936A	鍪	móu
+\u9EFE	黾	méng
+\u8DD6	跖	zhí
+\u91AA	醪	láo
+\u8723	蜣	qiāng
+\u8029	耩	jiǎng
+\u764D	癍	bān
+\u686B	桫	suō
+\u9A9D	骝	liú
+\u9A92	骒	kè
+\u5AD8	嫘	léi
+\u960F	阏	è
+\u63CE	揎	xuān
+\u848C	蒌	liǔ
+\u8478	葸	xǐ
+\u9143	酃	líng
+\u9649	陉	jìng
+\u5261	剡	shàn
+\u7094	炔	quē
+\u972A	霪	yín
+\u7BAC	箬	ruò
+\u9883	颃	gāng
+\u75A0	疠	lì
+\u951F	锟	kūn
+\u948D	钍	shān
+\u7856	硖	ái
+\u65F0	旰	gàn
+\u6A3E	樾	yuè
+\u6EF9	滹	hū
+\u6EBD	溽	rù
+\u638A	掊	póu
+\u83A9	莩	fú
+\u83AA	莪	é
+\u835C	荜	bì
+\u82CE	苎	méng
+\u82AA	芪	chí
+\u8279	艹	cǎo
+\u57D5	埕	chéng
+\u9511	锑	tī
+\u9EE5	黥	qíng
+\u9AD1	髑	dú
+\u89DC	觜	zī
+\u91AF	醯	xī
+\u9164	酤	gū
+\u7B4C	筌	quán
+\u86F1	蛱	jiá
+\u98A1	颡	chàn
+\u804D	聍	níng
+\u88F0	裰	duō
+\u79D5	秕	bǐ
+\u94A3	钣	bǎn
+\u78B2	碲	dì
+\u7817	砗	chē
+\u6CF6	泶	shuāng
+\u6710	朐	qú
+\u6A17	樗	chū
+\u73A2	玢	bīn
+\u7F33	缳	huán
+\u7ED0	绐	dài
+\u7EC2	绂	fú
+\u6F46	潆	piē
+\u6EE2	滢	yíng
+\u6E86	溆	xù
+\u9603	阃	kǔn
+\u55CD	嗍	má
+\u85A8	薨	hōng
+\u8572	蕲	qí
+\u84FC	蓼	liǎo
+\u8538	蔸	dōu
+\u8351	荑	tí
+\u5800	堀	kū
+\u8BD4	诔	lěi
+\u9FA0	龠	yuè
+\u507E	偾	fèn
+\u9F0D	鼍	tuó
+\u8DD7	跗	fū
+\u7DAE	綮	qǐ
+\u86B5	蚵	é
+\u86A7	蚧	jiè
+\u867A	虺	huī
+\u7AA8	窨	xūn
+\u7592	疒	chuáng
+\u9487	钇	dìng
+\u7F58	罘	fú
+\u6C07	氇	lǔ
+\u69E0	槠	qī
+\u6966	楦	xuàn
+\u67DD	柝	tuò
+\u753E	甾	zāi
+\u6EBB	溻	tā
+\u60DD	惝	tǎng
+\u564D	噍	jiāo
+\u64D7	擗	pǐ
+\u851F	蔟	cù
+\u82CC	苌	cǎng
+\u82B0	芰	jì
+\u577C	坼	chè
+\u90CF	郏	dòu
+\u538D	厍	shè
+\u9AC2	髂	gé
+\u9C92	鲒	jié
+\u96E9	雩	yú
+\u8C8A	貊	mò
+\u8E23	踣	bó
+\u895E	襞	bì
+\u8204	舄	xì
+\u87CA	蟊	máo
+\u86F8	蛸	shāo
+\u8043	聃	dān
+\u88FC	裼	tì
+\u7625	瘥	chài
+\u7A02	稂	láng
+\u9514	锔	jū
+\u94BC	钼	mù
+\u7780	瞀	mào
+\u7735	眵	chī
+\u771A	眚	shěng
+\u9EFC	黼	fǔ
+\u8167	腧	shù
+\u80CD	胍	guā
+\u7256	牖	yǒu
+\u727F	牿	gù
+\u6634	昴	mǎo
+\u7085	炅	guì
+\u679E	枞	cōng
+\u676A	杪	miǎo
+\u7F2C	缬	céng
+\u5F58	彘	zhì
+\u5F56	彖	tuàn
+\u9058	遘	gòu
+\u6E54	湔	jiān
+\u6E11	渑	miǎn
+\u6D48	浈	chéng
+\u614A	慊	qiàn
+\u5ED1	廑	jǐn
+\u5EB3	庳	bì
+\u5EB9	庹	tuǒ
+\u72C3	狃	niǔ
+\u8C73	豳	bīn
+\u5709	圉	chuí
+\u6445	摅	jiū
+\u63F2	揲	shé
+\u8605	蘅	héng
+\u84A1	蒡	bàng
+\u83F9	菹	jū
+\u836C	荬	mǎi
+\u8369	荩	jìn
+\u828E	芎	qiōng
+\u827F	艿	nǎi
+\u57DA	埚	bù
+\u9654	陔	gāi
+\u8BFC	诼	shéi
+\u523F	刿	guì
+\u560F	嘏	jiǎ
+\u67D2	柒	qī
+\u9AB6	骶	dǐ
+\u9C94	鲔	wěi
+\u9C90	鲐	tái
+\u9150	酐	gān
+\u822D	舭	bǐ
+\u8844	衄	nǜ
+\u7BFC	篼	dōu
+\u867F	虿	chài
+\u98A5	颥	fěng
+\u9564	镤	lán
+\u94B2	钲	gú
+\u94AD	钭	pá
+\u7F68	罨	yǎn
+\u78C9	磉	sǎng
+\u786D	硭	máng
+\u7829	砩	fèi
+\u6067	恧	nǜ
+\u70B1	炱	tái
+\u70BB	炻	luò
+\u81A6	膦	lìn
+\u80C2	胂	shèn
+\u6BF9	毹	shū
+\u8F75	轵	dié
+\u6957	楗	jiàn
+\u68FC	棼	fén
+\u681D	栝	guā
+\u6844	桄	guāng
+\u680A	栊	lóng
+\u902F	逯	lù
+\u6434	搴	qiān
+\u5B84	宄	guǐ
+\u6F8C	澌	sī
+\u6F24	漤	gān
+\u6ECF	滏	fǔ
+\u5ED2	廒	áo
+\u5E80	庀	pǐ
+\u9963	饣	shí
+\u5902	夂	chǔ
+\u5FBC	徼	jiǎo
+\u5627	嘧	mì
+\u5432	吲	yǐn
+\u6496	撖	hàn
+\u750D	甍	méng
+\u840F	萏	dàn
+\u827D	艽	jiāo
+\u5865	塥	gé
+\u57CF	埏	yán
+\u90FE	郾	yǎn
+\u90C4	郄	què
+\u963D	阽	diàn
+\u8C07	谇	suì
+\u502E	倮	luǒ
+\u4FDC	俜	pīng
+\u3401	㐁	tiǎn
+\u340C	㐌	sì
+\u3437	㐷	mǎ
+\u343B	㐻	ň
+\u343C	㐼	chèng
+\u3442	㑂	fǎng
+\u344B	㑋	jiòng
+\u344D	㑍	lěi
+\u3459	㑙	dié
+\u345F	㑟	běng
+\u3475	㑵	hàn
+\u3477	㑷	tài
+\u3478	㑸	ǎi
+\u347E	㑾	xiáo
+\u347F	㑿	tiáo
+\u3481	㒁	yǔ
+\u3482	㒂	kù
+\u3484	㒄	nàng
+\u3486	㒆	chì
+\u3487	㒇	mù
+\u348D	㒍	léi
+\u348E	㒎	sǎ
+\u3491	㒑	huì
+\u349C	㒜	yú
+\u349D	㒝	miè
+\u349E	㒞	jùn
+\u34B7	㒷	guǎ
+\u34B8	㒸	suì
+\u34BF	㒿	lí
+\u34C3	㓃	chuí
+\u34C8	㓈	bèi
+\u34C9	㓉	huàn
+\u34CE	㓎	lián
+\u34D6	㓖	bì
+\u34D7	㓗	jié
+\u34DE	㓞	qì
+\u34E4	㓤	jié
+\u34E8	㓨	cí
+\u34F4	㓴	jùn
+\u34F8	㓸	jué
+\u34FC	㓼	chì
+\u3500	㔀	lvè
+\u3503	㔃	jué
+\u350B	㔋	jiàn
+\u350D	㔍	duǒ
+\u350E	㔎	xiè
+\u3511	㔑	chì
+\u3513	㔓	jiǎn
+\u3515	㔕	jí
+\u3519	㔙	bǎng
+\u351C	㔜	bá
+\u351E	㔞	kuài
+\u3520	㔠	hé
+\u3523	㔣	léi
+\u3527	㔧	lyù
+\u352D	㔭	chè
+\u352F	㔯	suǎn
+\u3533	㔳	guǐ
+\u3535	㔵	xiàn
+\u353D	㔽	yào
+\u3548	㕈	hòu
+\u354B	㕋	jìng
+\u354E	㕎	è
+\u3552	㕒	wéi
+\u3559	㕙	jùn
+\u355B	㕛	xù
+\u3561	㕡	hé
+\u3562	㕢	gài
+\u3563	㕣	yǎn
+\u356D	㕭	ào
+\u356E	㕮	fǔ
+\u3572	㕲	huá
+\u3575	㕵	guó
+\u357B	㕻	pǒu
+\u3580	㖀	lè
+\u3586	㖆	qú
+\u3595	㖕	bò
+\u35A0	㖠	bà
+\u35A2	㖢	jí
+\u35B7	㖷	shí
+\u35BC	㖼	duǒ
+\u35BD	㖽	zé
+\u35C3	㗃	wěn
+\u35C4	㗄	mán
+\u35C6	㗆	gé
+\u35C9	㗉	bì
+\u35D8	㗘	bó
+\u35F0	㗰	chù
+\u35F2	㗲	huò
+\u360D	㘍	jí
+\u360E	㘎	hǎn
+\u3610	㘐	pào
+\u3614	㘔	cǎn
+\u3615	㘕	hǎn
+\u3619	㘙	yán
+\u361C	㘜	chǐ
+\u361D	㘝	niǎn
+\u3620	㘠	bì
+\u3623	㘣	xuán
+\u3641	㙁	mǎng
+\u3648	㙈	hán
+\u364A	㙊	cháng
+\u365C	㙜	chí
+\u3662	㙢	mán
+\u3668	㙨	jì
+\u366A	㙪	yè
+\u3673	㙳	hǎn
+\u3674	㙴	chàn
+\u3678	㙸	bào
+\u367A	㙺	guì
+\u367B	㙻	chán
+\u367E	㙾	xì
+\u3681	㚁	qiáo
+\u3683	㚃	yún
+\u368C	㚌	huà
+\u368D	㚍	guó
+\u3693	㚓	lái
+\u3697	㚗	qié
+\u369C	㚜	xù
+\u369E	㚞	měng
+\u36AB	㚫	shà
+\u36AF	㚯	xín
+\u36B2	㚲	diǎn
+\u36B7	㚷	ěr
+\u36CF	㛏	òu
+\u36D0	㛐	sǒu
+\u36D9	㛙	qiè
+\u36DB	㛛	xìn
+\u36DD	㛝	bèi
+\u36EA	㛪	yàn
+\u36F1	㛱	ruì
+\u36F3	㛳	chà
+\u36F6	㛶	chóu
+\u3703	㜃	liàn
+\u3707	㜇	huì
+\u370A	㜊	pàng
+\u370E	㜎	qí
+\u3711	㜑	fú
+\u3717	㜗	cǎn
+\u371B	㜛	nèn
+\u371D	㜝	ǎn
+\u3725	㜥	mái
+\u3726	㜦	hàn
+\u3728	㜨	ér
+\u3729	㜩	àu
+\u372B	㜫	mà
+\u3731	㜱	dòng
+\u3732	㜲	wěng
+\u3737	㜷	mí
+\u373C	㜼	zhí
+\u3743	㝃	fàn
+\u3744	㝄	chún
+\u374B	㝋	liáo
+\u374C	㝌	jié
+\u3751	㝑	máng
+\u3753	㝓	gé
+\u3756	㝖	yí
+\u375F	㝟	máo
+\u3763	㝣	yè
+\u3766	㝦	jùn
+\u376A	㝪	diàn
+\u3776	㝶	ài
+\u377A	㝺	lián
+\u377D	㝽	chuí
+\u377F	㝿	bó
+\u378E	㞎	bǎ
+\u3792	㞒	xì
+\u3793	㞓	qǐ
+\u379A	㞚	qì
+\u37A0	㞠	láo
+\u37A8	㞨	zǎi
+\u37AB	㞫	jù
+\u37BC	㞼	chéng
+\u37BE	㞾	ní
+\u37BF	㞿	chì
+\u37C2	㟂	chǐ
+\u37C7	㟇	cuó
+\u37D9	㟙	lǎo
+\u37DD	㟝	péi
+\u37E7	㟧	è
+\u37E9	㟩	mín
+\u37EC	㟬	shǔ
+\u37F2	㟲	jué
+\u37F4	㟴	kuài
+\u37FF	㟿	máng
+\u3805	㠅	fú
+\u380D	㠍	jí
+\u380E	㠎	jjí
+\u3816	㠖	jì
+\u3817	㠗	ào
+\u381A	㠚	duì
+\u3822	㠢	huà
+\u3823	㠣	lài
+\u3827	㠧	mí
+\u382D	㠭	zhǎn
+\u3831	㠱	jì
+\u3841	㡁	kǎi
+\u3844	㡄	sǔn
+\u3847	㡇	jí
+\u3848	㡈	mén
+\u3849	㡉	xián
+\u384A	㡊	qià
+\u384B	㡋	è
+\u384C	㡌	mào
+\u3859	㡙	bì
+\u385D	㡝	fèng
+\u385E	㡞	lěi
+\u386D	㡭	jì
+\u3873	㡳	dǐ
+\u3876	㡶	jì
+\u3878	㡸	zhǎ
+\u3880	㢀	cì
+\u388D	㢍	yíng
+\u388E	㢎	chà
+\u3893	㢓	yǎo
+\u38A0	㢠	jiǒng
+\u38A3	㢣	jìng
+\u38B0	㢰	bì
+\u38B3	㢳	lú
+\u38B5	㢵	shè
+\u38C3	㣃	yǔ
+\u38C6	㣆	mí
+\u38C7	㣇	nǐ
+\u38DA	㣚	tóng
+\u38DE	㣞	duó
+\u38E3	㣣	shǎn
+\u38E7	㣧	yìn
+\u38EA	㣪	huǎn
+\u38F1	㣱	zé
+\u3901	㤁	miǎn
+\u3907	㤇	ǎo
+\u3909	㤉	qià
+\u390A	㤊	xiào
+\u3914	㤔	fú
+\u3918	㤘	chù
+\u391B	㤛	nín
+\u391C	㤜	jué
+\u391F	㤟	kǒng
+\u3922	㤢	xù
+\u3924	㤤	yú
+\u3927	㤧	hóu
+\u3928	㤨	gǒng
+\u392C	㤬	huì
+\u392F	㤯	jiǒng
+\u3930	㤰	zǎn
+\u3932	㤲	qiè
+\u3941	㥁	dé
+\u3946	㥆	diàn
+\u3947	㥇	cán
+\u3949	㥉	chè
+\u394E	㥎	lái
+\u3954	㥔	yú
+\u395B	㥛	jí
+\u395D	㥝	mǐ
+\u395E	㥞	cuì
+\u3966	㥦	qiè
+\u3968	㥨	chuí
+\u3972	㥲	shèn
+\u3977	㥷	yè
+\u397A	㥺	hé
+\u397D	㥽	cè
+\u3982	㦂	cháng
+\u3984	㦄	má
+\u398C	㦌	tuì
+\u398F	㦏	sǔn
+\u3991	㦑	liǎn
+\u3997	㦗	jiàn
+\u399B	㦛	yú
+\u399C	㦜	huò
+\u399F	㦟	hài
+\u39A2	㦢	jié
+\u39A5	㦥	huán
+\u39A8	㦨	lán
+\u39B4	㦴	gé
+\u39B9	㦹	àng
+\u39BA	㦺	rǔ
+\u39BB	㦻	xí
+\u39BD	㦽	xù
+\u39C4	㧄	qiǎn
+\u39C8	㧈	yǐn
+\u39C9	㧉	gài
+\u39CB	㧋	xiǎn
+\u39D1	㧑	wéi
+\u39D2	㧒	xué
+\u39D5	㧕	jiù
+\u39D8	㧘	cuì
+\u39F1	㧱	chèn
+\u39F3	㧳	bó
+\u39F5	㧵	póu
+\u39F7	㧷	duò
+\u39FB	㧻	zhǐ
+\u39FD	㧽	gù
+\u3A01	㨁	zhí
+\u3A03	㨃	chéng
+\u3A05	㨅	nèi
+\u3A0B	㨋	chě
+\u3A0C	㨌	gòu
+\u3A0E	㨎	rú
+\u3A10	㨐	bǔ
+\u3A12	㨒	kuí
+\u3A13	㨓	láo
+\u3A24	㨤	huì
+\u3A2F	㨯	huò
+\u3A30	㨰	gé
+\u3A36	㨶	chóu
+\u3A3A	㨺	mén
+\u3A3D	㨽	pǐ
+\u3A47	㩇	huà
+\u3A48	㩈	xiàn
+\u3A56	㩖	qiáng
+\u3A57	㩗	xí
+\u3A62	㩢	mí
+\u3A69	㩩	qǐ
+\u3A6A	㩪	xié
+\u3A6D	㩭	bó
+\u3A6E	㩮	qián
+\u3A6F	㩯	bǎn
+\u3A70	㩰	jiǎo
+\u3A72	㩲	kǔn
+\u3A76	㩶	niè
+\u3A79	㩹	dié
+\u3A83	㪃	kě
+\u3A8C	㪌	tǒng
+\u3A94	㪔	sàn
+\u3A99	㪙	kě
+\u3AAA	㪪	sà
+\u3AAF	㪯	chá
+\u3AB9	㪹	lǒu
+\u3ABD	㪽	suǒ
+\u3ABE	㪾	gé
+\u3AC5	㫅	chá
+\u3ACE	㫎	gǔn
+\u3AD1	㫑	shí
+\u3AD3	㫓	qǐ
+\u3AD8	㫘	mì
+\u3ADB	㫛	guàng
+\u3ADC	㫜	dàn
+\u3AE4	㫤	chǎng
+\u3AF6	㫶	cǒu
+\u3AF9	㫹	dài
+\u3AFC	㫼	dié
+\u3B06	㬆	mián
+\u3B09	㬉	nuǎn
+\u3B10	㬐	jǐn
+\u3B12	㬒	mǎng
+\u3B2A	㬪	dié
+\u3B2D	㬭	jiào
+\u3B2E	㬮	kuài
+\u3B48	㭈	jué
+\u3B4C	㭌	móu
+\u3B59	㭙	shé
+\u3B61	㭡	xì
+\u3B68	㭨	xié
+\u3B69	㭩	lèi
+\u3B6B	㭫	cuán
+\u3B6F	㭯	dié
+\u3B70	㭰	jì
+\u3B71	㭱	hé
+\u3B7E	㭾	jué
+\u3B84	㮄	bǎng
+\u3B8B	㮋	yǒu
+\u3B8C	㮌	mián
+\u3B95	㮕	ér
+\u3B9D	㮝	hé
+\u3B9E	㮞	jié
+\u3B9F	㮟	jí
+\u3BA3	㮣	gài
+\u3BA6	㮦	sè
+\u3BA8	㮨	jí
+\u3BAF	㮯	huá
+\u3BB0	㮰	bí
+\u3BB6	㮶	shì
+\u3BC0	㯀	xiǎn
+\u3BD0	㯐	fǎng
+\u3BD7	㯗	rǎn
+\u3BDB	㯛	hú
+\u3BDE	㯞	juàn
+\u3BE0	㯠	qiàn
+\u3BE5	㯥	cáo
+\u3BF0	㯰	zhé
+\u3BF1	㯱	biǎo
+\u3BFB	㯻	gǔn
+\u3C02	㰂	shěn
+\u3C10	㰐	jué
+\u3C12	㰒	shé
+\u3C24	㰤	kě
+\u3C32	㰲	xù
+\u3C34	㰴	pó
+\u3C38	㰸	liǎn
+\u3C3D	㰽	mǐ
+\u3C40	㱀	chǐ
+\u3C4C	㱌	chè
+\u3C58	㱘	àn
+\u3C5A	㱚	cán
+\u3C5F	㱟	bó
+\u3C66	㱦	è
+\u3C6E	㱮	kuài
+\u3C6F	㱯	ái
+\u3C71	㱱	huì
+\u3C75	㱵	bèn
+\u3C76	㱶	bèng
+\u3C78	㱸	bì
+\u3C79	㱹	lì
+\u3C7D	㱽	dàn
+\u3C89	㲉	kài
+\u3C8B	㲋	chuò
+\u3C8F	㲏	bǎo
+\u3C9C	㲜	tán
+\u3CA1	㲡	nài
+\u3CA2	㲢	biàn
+\u3CA6	㲦	hàn
+\u3CB2	㲲	dié
+\u3CB4	㲴	zhòng
+\u3CB9	㲹	guǐ
+\u3CBA	㲺	jí
+\u3CBD	㲽	niàn
+\u3CBE	㲾	yǔ
+\u3CC0	㳀	guò
+\u3CC5	㳅	jiǎo
+\u3CC6	㳆	shǔ
+\u3CCE	㳎	biàn
+\u3CCF	㳏	chǐ
+\u3CD0	㳐	sà
+\u3CD2	㳒	biàn
+\u3CE5	㳥	jù
+\u3CE8	㳨	jiǎn
+\u3CEA	㳪	pàn
+\u3D03	㴃	lèi
+\u3D06	㴆	jìn
+\u3D14	㴔	sè
+\u3D38	㴸	nà
+\u3D3D	㴽	xiè
+\u3D40	㵀	cuàn
+\u3D42	㵂	chuǎng
+\u3D43	㵃	chè
+\u3D44	㵄	hàn
+\u3D45	㵅	dàn
+\u3D4A	㵊	shěn
+\u3D4C	㵌	chàn
+\u3D4E	㵎	hǎn
+\u3D54	㵔	chě
+\u3D57	㵗	fù
+\u3D62	㵢	léi
+\u3D63	㵣	kě
+\u3D64	㵤	diàn
+\u3D65	㵥	bì
+\u3D68	㵨	bì
+\u3D6B	㵫	nǐ
+\u3D6E	㵮	chún
+\u3D73	㵳	liáo
+\u3D78	㵸	yào
+\u3D7A	㵺	pái
+\u3D7D	㵽	duì
+\u3D7E	㵾	jìng
+\u3D88	㶈	liǒng
+\u3D92	㶒	shǎn
+\u3DA1	㶡	dài
+\u3DAB	㶫	liǎo
+\u3DAC	㶬	méi
+\u3DAD	㶭	jiù
+\u3DB4	㶴	chǐ
+\u3DC5	㷅	chǎo
+\u3DC6	㷆	dòu
+\u3DC7	㷇	guài
+\u3DC9	㷉	wèi
+\u3DCB	㷋	tán
+\u3DCE	㷎	hè
+\u3DE4	㷤	hè
+\u3DEA	㷪	cuì
+\u3DF4	㷴	gé
+\u3DF6	㷶	bèi
+\u3DF8	㷸	dié
+\u3E01	㸁	hǎn
+\u3E04	㸄	jì
+\u3E0A	㸊	là
+\u3E1B	㸛	sháo
+\u3E23	㸣	yè
+\u3E27	㸧	kèn
+\u3E2C	㸬	bèi
+\u3E32	㸲	zuó
+\u3E35	㸵	guǐ
+\u3E38	㸸	hǒu
+\u3E42	㹂	cì
+\u3E43	㹃	bì
+\u3E44	㹄	jì
+\u3E48	㹈	lí
+\u3E4C	㹌	chǎn
+\u3E4D	㹍	dí
+\u3E50	㹐	chóng
+\u3E51	㹑	sì
+\u3E58	㹘	rú
+\u3E5E	㹞	yín
+\u3E61	㹡	xuán
+\u3E64	㹤	qiè
+\u3E6B	㹫	xì
+\u3E71	㹱	hú
+\u3E77	㹷	shǐ
+\u3E7C	㹼	chǔ
+\u3E7D	㹽	chǎn
+\u3E7F	㹿	diǎo
+\u3E82	㺂	gǎn
+\u3E92	㺒	liào
+\u3E94	㺔	hài
+\u3E97	㺗	dàn
+\u3E9C	㺜	bǎn
+\u3EA0	㺠	yòu
+\u3EA5	㺥	chán
+\u3EA9	㺩	jiù
+\u3EC0	㻀	yóu
+\u3EC5	㻅	huì
+\u3ECA	㻊	máng
+\u3ECB	㻋	là
+\u3ECE	㻎	lì
+\u3ECF	㻏	líng
+\u3ED4	㻔	duǒ
+\u3EDE	㻞	biàn
+\u3EE1	㻡	dié
+\u3EE7	㻧	duò
+\u3EED	㻭	sè
+\u3EF0	㻰	miǎn
+\u3EF6	㻶	bǐ
+\u3EF8	㻸	cén
+\u3EFA	㻺	lì
+\u3F02	㼂	é
+\u3F09	㼉	yìn
+\u3F0B	㼋	gǔ
+\u3F0E	㼎	bèi
+\u3F11	㼑	liàn
+\u3F12	㼒	qiǔ
+\u3F13	㼓	lián
+\u3F17	㼗	dǐng
+\u3F1C	㼜	àng
+\u3F1D	㼝	fàn
+\u3F22	㼢	ě
+\u3F23	㼣	bǎi
+\u3F24	㼤	qì
+\u3F25	㼥	chú
+\u3F2D	㼭	diàn
+\u3F30	㼰	é
+\u3F47	㽇	guài
+\u3F49	㽉	hǎn
+\u3F4B	㽋	luó
+\u3F4E	㽎	dǎn
+\u3F5B	㽛	kòu
+\u3F62	㽢	ǎn
+\u3F69	㽩	càn
+\u3F6A	㽪	zěng
+\u3F73	㽳	hàn
+\u3F79	㽹	fàn
+\u3F85	㾅	sì
+\u3F86	㾆	rán
+\u3F92	㾒	jì
+\u3F96	㾖	lǐ
+\u3F97	㾗	lǎng
+\u3FA0	㾠	huáng
+\u3FA6	㾦	bàng
+\u3FA8	㾨	qǐ
+\u3FAF	㾯	tuí
+\u3FB1	㾱	bèi
+\u3FBA	㾺	mà
+\u3FBD	㾽	tuí
+\u3FBF	㾿	láng
+\u3FC3	㿃	dài
+\u3FC5	㿅	xiǎn
+\u3FC7	㿇	xí
+\u3FDB	㿛	lí
+\u3FDF	㿟	bái
+\u3FE2	㿢	yào
+\u3FE3	㿣	hé
+\u4005	䀅	shè
+\u4007	䀇	gǔ
+\u4009	䀉	qiáo
+\u4011	䀑	nà
+\u4014	䀔	niú
+\u4015	䀕	chèng
+\u4018	䀘	xí
+\u401B	䀛	mèi
+\u401C	䀜	gǔ
+\u401F	䀟	fán
+\u4021	䀡	chàn
+\u4023	䀣	bì
+\u4030	䀰	gǔ
+\u4033	䀳	ài
+\u4036	䀶	lǎng
+\u4038	䀸	dì
+\u4039	䀹	jiá
+\u403C	䀼	rèn
+\u4041	䁁	lǎng
+\u4045	䁅	bèi
+\u4046	䁆	ǎn
+\u404D	䁍	jià
+\u4053	䁓	jiè
+\u4054	䁔	hàn
+\u4059	䁙	yǎn
+\u405B	䁛	guǐ
+\u405C	䁜	huǎng
+\u405F	䁟	chá
+\u4064	䁤	chè
+\u406A	䁪	nǎn
+\u406F	䁯	shè
+\u4077	䁷	jué
+\u407B	䁻	lì
+\u407C	䁼	mò
+\u4083	䂃	jiào
+\u4084	䂄	huò
+\u4087	䂇	náng
+\u4092	䂒	jié
+\u4096	䂖	shí
+\u409A	䂚	yáo
+\u409C	䂜	bàng
+\u409D	䂝	jié
+\u40A0	䂠	shé
+\u40A1	䂡	dǐ
+\u40A4	䂤	fù
+\u40AA	䂪	diào
+\u40AF	䂯	guài
+\u40B1	䂱	cuì
+\u40B8	䂸	guó
+\u40BA	䂺	wǎn
+\u40BD	䂽	diào
+\u40BF	䂿	tà
+\u40C0	䃀	cuì
+\u40C2	䃂	gǔn
+\u40CD	䃍	zhào
+\u40CE	䃎	zé
+\u40D5	䃕	láo
+\u40DB	䃛	lián
+\u40DE	䃞	shú
+\u40F2	䃲	pán
+\u40F9	䃹	làn
+\u40FB	䃻	bà
+\u40FD	䃽	fú
+\u4106	䄆	huó
+\u410D	䄍	dù
+\u4111	䄑	huó
+\u4112	䄒	niè
+\u4113	䄓	héng
+\u4115	䄕	shè
+\u4127	䄧	réng
+\u4128	䄨	yú
+\u4129	䄩	náo
+\u412A	䄪	chuò
+\u412F	䄯	jiǎn
+\u4130	䄰	yá
+\u4137	䄷	dàn
+\u4139	䄹	nián
+\u413B	䄻	cháo
+\u414D	䅍	dòng
+\u414F	䅏	huì
+\u4150	䅐	jiǎn
+\u4151	䅑	ruí
+\u4153	䅓	jǔ
+\u415A	䅚	qiǎng
+\u415E	䅞	nà
+\u416C	䅬	ài
+\u4176	䅶	nòu
+\u4179	䅹	lóu
+\u417E	䅾	cén
+\u4182	䆂	lián
+\u4183	䆃	dǎo
+\u4185	䆅	cí
+\u4193	䆓	è
+\u419B	䆛	chá
+\u41A1	䆡	láng
+\u41B3	䆳	qióng
+\u41BD	䆽	jù
+\u41C0	䇀	róng
+\u41C3	䇃	sì
+\u41C8	䇈	guì
+\u41CB	䇋	hài
+\u41D2	䇒	jiè
+\u41D4	䇔	luò
+\u41DB	䇛	zhǐ
+\u41E0	䇠	zhòu
+\u41E3	䇣	nà
+\u41E4	䇤	duì
+\u41E5	䇥	zé
+\u41E8	䇨	gòng
+\u41F7	䇷	bǐ
+\u41F8	䇸	chéng
+\u41FA	䇺	chóu
+\u41FB	䇻	huì
+\u41FC	䇼	chì
+\u4201	䈁	lún
+\u4202	䈂	bìng
+\u4211	䈑	guǎ
+\u4215	䈕	chí
+\u422E	䈮	jǔ
+\u4234	䈴	qiàn
+\u423F	䈿	mài
+\u424A	䉊	fàn
+\u4251	䉑	mó
+\u4253	䉓	léi
+\u4267	䉧	liú
+\u4272	䉲	biè
+\u4274	䉴	ráng
+\u4277	䉷	dàn
+\u4279	䉹	líng
+\u427F	䉿	hú
+\u4282	䊂	cè
+\u4286	䊆	jiù
+\u4290	䊐	èn
+\u4296	䊖	lǎn
+\u4297	䊗	huáng
+\u42A6	䊦	yá
+\u42A9	䊩	fán
+\u42AB	䊫	cuǐ
+\u42AD	䊭	chóu
+\u42AE	䊮	dí
+\u42BA	䊺	gǔ
+\u42BF	䊿	bó
+\u42C9	䋉	jué
+\u42D8	䋘	chuò
+\u42DB	䋛	mí
+\u42E3	䋣	fán
+\u42E4	䋤	yào
+\u42ED	䋭	huò
+\u42EE	䋮	jìn
+\u42EF	䋯	qǐ
+\u42F2	䋲	chě
+\u42F3	䋳	bèi
+\u42F4	䋴	niù
+\u42F7	䋷	liú
+\u42F9	䋹	fú
+\u42FC	䋼	tǐng
+\u42FD	䋽	běng
+\u4307	䌇	huì
+\u430A	䌊	yáo
+\u430C	䌌	qì
+\u430D	䌍	hàn
+\u430F	䌏	mì
+\u4315	䌕	mí
+\u4320	䌠	qìng
+\u4329	䌩	mì
+\u432F	䌯	guàn
+\u4335	䌵	zhú
+\u4343	䍃	yáo
+\u4349	䍉	qián
+\u434C	䍌	bù
+\u434D	䍍	gǔ
+\u4350	䍐	hǎn
+\u4353	䍓	hù
+\u4356	䍖	fú
+\u435D	䍝	tà
+\u4361	䍡	liào
+\u4362	䍢	wú
+\u4365	䍥	lèi
+\u4368	䍨	bó
+\u4369	䍩	ǎng
+\u436A	䍪	kuì
+\u436F	䍯	guǐ
+\u4372	䍲	nái
+\u4373	䍳	chuò
+\u4374	䍴	duò
+\u4377	䍷	guì
+\u437E	䍾	tuí
+\u4380	䎀	xuè
+\u4385	䎅	fù
+\u4389	䎉	shù
+\u438B	䎋	hè
+\u438F	䎏	àn
+\u439A	䎚	guàn
+\u439D	䎝	chú
+\u439F	䎟	ér
+\u43A1	䎡	nuǎn
+\u43A3	䎣	sì
+\u43A4	䎤	chú
+\u43A7	䎧	bàng
+\u43A8	䎨	àn
+\u43AB	䎫	chuàng
+\u43AC	䎬	bà
+\u43B1	䎱	bà
+\u43B3	䎳	wà
+\u43BA	䎺	zhǐ
+\u43BD	䎽	wén
+\u43BF	䎿	qiú
+\u43C6	䏆	cáo
+\u43CC	䏌	qì
+\u43CE	䏎	féng
+\u43D0	䏐	jué
+\u43D1	䏑	dì
+\u43D5	䏕	rěn
+\u43D7	䏗	gài
+\u43D8	䏘	pǐ
+\u43DD	䏝	chún
+\u43E3	䏣	jué
+\u43E6	䏦	huá
+\u43EE	䏮	xí
+\u43F4	䏴	shào
+\u4401	䐁	niǎo
+\u4404	䐄	hàn
+\u4406	䐆	cǎi
+\u440A	䐊	dá
+\u440C	䐌	tiǎn
+\u4413	䐓	róu
+\u4419	䐙	gé
+\u441A	䐚	jí
+\u4423	䐣	cuò
+\u4424	䐤	chí
+\u442A	䐪	fàn
+\u4438	䐸	guó
+\u443F	䐿	áo
+\u4442	䑂	ǎi
+\u4444	䑄	pì
+\u444A	䑊	wéi
+\u444B	䑋	náo
+\u444D	䑍	yàn
+\u4453	䑓	tái
+\u4458	䑘	chá
+\u445B	䑛	chǐ
+\u4464	䑤	jìn
+\u4465	䑥	è
+\u446D	䑭	dì
+\u4471	䑱	mán
+\u4472	䑲	chè
+\u4476	䑶	cán
+\u447D	䑽	dá
+\u4481	䒁	jì
+\u4482	䒂	jiǎng
+\u4483	䒃	cào
+\u4484	䒄	bó
+\u4488	䒈	bǔ
+\u4492	䒒	tiáo
+\u449B	䒛	héng
+\u44A0	䒠	fǎn
+\u44A2	䒢	áng
+\u44A5	䒥	fà
+\u44A9	䒩	hé
+\u44B8	䒸	xián
+\u44BD	䒽	méi
+\u44CA	䓊	è
+\u44D1	䓑	bǐng
+\u44D5	䓕	tuǒ
+\u44DB	䓛	fǔ
+\u44DD	䓝	méng
+\u44E7	䓧	cì
+\u44EB	䓫	jì
+\u44F1	䓱	chái
+\u44F2	䓲	ruì
+\u44F4	䓴	ruán
+\u44FA	䓺	měi
+\u44FC	䓼	hè
+\u44FF	䓿	hǎn
+\u4507	䔇	qǐ
+\u4508	䔈	gǎn
+\u4511	䔑	xié
+\u4514	䔔	jìng
+\u451F	䔟	chí
+\u4522	䔢	huá
+\u4527	䔧	lí
+\u452A	䔪	duì
+\u452D	䔭	nìng
+\u452F	䔯	hú
+\u4530	䔰	fú
+\u4532	䔲	chéng
+\u4533	䔳	nǎn
+\u4534	䔴	cè
+\u453E	䔾	è
+\u453F	䔿	jiè
+\u454B	䕋	chǎng
+\u4553	䕓	chá
+\u4557	䕗	bì
+\u455E	䕞	làng
+\u4561	䕡	lǔ
+\u4563	䕣	hé
+\u4565	䕥	nǐ
+\u4569	䕩	lǎo
+\u4570	䕰	bàn
+\u4571	䕱	dǒu
+\u4575	䕵	xié
+\u457B	䕻	gé
+\u457C	䕼	nán
+\u457E	䕾	yán
+\u458A	䖊	yí
+\u458C	䖌	qín
+\u4590	䖐	jìn
+\u4594	䖔	hàn
+\u4597	䖗	yán
+\u459C	䖜	yín
+\u459F	䖟	mǎng
+\u45A3	䖣	sào
+\u45A4	䖤	wǎn
+\u45A5	䖥	lí
+\u45A9	䖩	bì
+\u45AF	䖯	guì
+\u45BA	䖺	tiáo
+\u45BC	䖼	jué
+\u45C4	䗄	fǔ
+\u45C6	䗆	guǎn
+\u45C7	䗇	jú
+\u45CA	䗊	chéng
+\u45D6	䗖	chì
+\u45D8	䗘	gé
+\u45DE	䗞	cán
+\u45E2	䗢	suǒ
+\u45E3	䗣	gǎo
+\u45F6	䗶	là
+\u4601	䘁	gé
+\u4604	䘄	fù
+\u4605	䘅	nái
+\u4607	䘇	wén
+\u4611	䘑	mài
+\u4613	䘓	kàn
+\u4620	䘠	fú
+\u4626	䘦	ní
+\u4629	䘩	xuàn
+\u462B	䘫	nòu
+\u462D	䘭	dié
+\u462E	䘮	sà
+\u4636	䘶	hàn
+\u463B	䘻	sù
+\u463D	䘽	ní
+\u4643	䙃	duò
+\u4644	䙄	qì
+\u4646	䙆	guì
+\u4647	䙇	nuǎn
+\u4649	䙉	xún
+\u464C	䙌	huì
+\u4653	䙓	bǎi
+\u4655	䙕	chù
+\u4658	䙘	chǔ
+\u465B	䙛	guàn
+\u465F	䙟	duò
+\u4660	䙠	jué
+\u4661	䙡	huì
+\u4664	䙤	duǒ
+\u4668	䙨	guǒ
+\u466A	䙪	lóng
+\u466F	䙯	cù
+\u4671	䙱	dú
+\u4677	䙷	dé
+\u4678	䙸	dé
+\u4679	䙹	jiǎng
+\u467A	䙺	lián
+\u467D	䙽	xì
+\u4682	䚂	hè
+\u4685	䚅	lái
+\u4686	䚆	ǒu
+\u4687	䚇	shěng
+\u4688	䚈	juàn
+\u4689	䚉	qì
+\u468F	䚏	lèng
+\u4692	䚒	chuáng
+\u4693	䚓	niǎn
+\u4695	䚕	lì
+\u4698	䚘	chén
+\u46A3	䚣	tí
+\u46A9	䚩	jiǎo
+\u46AB	䚫	áo
+\u46AF	䚯	tǎo
+\u46B3	䚳	xiè
+\u46B7	䚷	xì
+\u46BE	䚾	nín
+\u46C2	䛂	chí
+\u46C9	䛉	mì
+\u46CB	䛋	gé
+\u46CC	䛌	páo
+\u46CE	䛎	hù
+\u46D6	䛖	è
+\u46D8	䛘	nín
+\u46DB	䛛	huì
+\u46DE	䛞	hǎn
+\u46E0	䛠	dòu
+\u46EA	䛪	qióng
+\u46EC	䛬	chóu
+\u46F0	䛰	hún
+\u46F2	䛲	mán
+\u46F3	䛳	jiǎn
+\u46F8	䛸	chè
+\u4706	䜆	mò
+\u4707	䜇	gǔn
+\u470A	䜊	zào
+\u470E	䜎	láo
+\u4711	䜑	qià
+\u4713	䜓	niè
+\u471B	䜛	chán
+\u471F	䜟	chén
+\u4720	䜠	chè
+\u4721	䜡	xù
+\u472C	䜬	sǒng
+\u4734	䜴	chù
+\u4735	䜵	chǐ
+\u473B	䜻	chǐ
+\u4740	䝀	liáo
+\u474C	䝌	jué
+\u474F	䝏	lóu
+\u4753	䝓	là
+\u475F	䝟	yà
+\u4760	䝠	huán
+\u4762	䝢	màn
+\u4767	䝧	mén
+\u476A	䝪	shú
+\u4770	䝰	tí
+\u4779	䝹	wǎn
+\u4780	䞀	gòu
+\u4781	䞁	xiàn
+\u4787	䞇	dié
+\u4788	䞈	guǐ
+\u4790	䞐	chǔn
+\u4795	䞕	dié
+\u479D	䞝	ǎo
+\u47A2	䞢	zhà
+\u47A6	䞦	hé
+\u47A9	䞩	è
+\u47B3	䞳	bó
+\u47B6	䞶	dì
+\u47BC	䞼	chuǐ
+\u47C3	䟃	cà
+\u47C4	䟄	qì
+\u47C5	䟅	jiàn
+\u47C6	䟆	bì
+\u47CB	䟋	zhǎn
+\u47CC	䟌	jí
+\u47D1	䟑	lǎ
+\u47E2	䟢	chén
+\u47E5	䟥	máng
+\u47E6	䟦	bá
+\u47F6	䟶	cuò
+\u47F9	䟹	liè
+\u47FA	䟺	bǎng
+\u47FE	䟾	juě
+\u4802	䠂	chú
+\u4805	䠅	kǔn
+\u4809	䠉	huà
+\u480B	䠋	bǐ
+\u4813	䠓	cù
+\u4819	䠙	bèi
+\u481B	䠛	jiǎo
+\u481E	䠞	cù
+\u481F	䠟	dié
+\u4823	䠣	xuǎn
+\u4824	䠤	duǒ
+\u4826	䠦	zhè
+\u4828	䠨	chàn
+\u482D	䠭	lái
+\u4831	䠱	shǔ
+\u4834	䠴	qǐn
+\u4839	䠹	ái
+\u483C	䠼	diào
+\u483E	䠾	shǎn
+\u4845	䡅	mǐn
+\u4846	䡆	róng
+\u484A	䡊	fán
+\u484D	䡍	fú
+\u4868	䡨	chà
+\u4869	䡩	gǔ
+\u486A	䡪	chán
+\u486F	䡯	shuàng
+\u4876	䡶	bèi
+\u4887	䢇	rǒng
+\u4888	䢈	chén
+\u488D	䢍	fǎng
+\u4894	䢔	gé
+\u4896	䢖	lyù
+\u4897	䢗	hé
+\u489A	䢚	gòng
+\u489E	䢞	nù
+\u48A5	䢥	yán
+\u48A7	䢧	liào
+\u48AA	䢪	bó
+\u48B0	䢰	tái
+\u48B1	䢱	dú
+\u48B3	䢳	jǐ
+\u48BB	䢻	chén
+\u48C0	䣀	guǐ
+\u48C8	䣈	hàng
+\u48D4	䣔	suǒ
+\u48DA	䣚	lóu
+\u48E0	䣠	jié
+\u48E1	䣡	tí
+\u48E3	䣣	dǎng
+\u48E4	䣤	jiào
+\u48E5	䣥	bǐ
+\u48F0	䣰	jù
+\u48F1	䣱	xù
+\u48F6	䣶	huó
+\u4901	䤁	cén
+\u4904	䤄	miǎn
+\u4909	䤉	mì
+\u490B	䤋	guó
+\u4912	䤒	jǐ
+\u4914	䤔	jiàn
+\u4918	䤘	chǎn
+\u491A	䤚	lǐ
+\u4920	䤠	jī
+\u492D	䤭	kuàn
+\u4930	䤰	wěng
+\u4937	䤷	yán
+\u4944	䥄	cù
+\u4945	䥅	qiàn
+\u4946	䥆	jǐn
+\u4952	䥒	chóu
+\u4958	䥘	cù
+\u4964	䥤	báo
+\u4967	䥧	huán
+\u496F	䥯	bà
+\u4985	䦅	shàn
+\u4988	䦈	fǎng
+\u498C	䦌	chù
+\u4996	䦖	xiá
+\u4998	䦘	bì
+\u499A	䦚	huò
+\u499B	䦛	zhèng
+\u499C	䦜	wú
+\u49A4	䦤	chuài
+\u49A7	䦧	qié
+\u49B1	䦱	kuǐ
+\u49B2	䦲	qiàn
+\u49B3	䦳	hàng
+\u49B7	䦷	chuài
+\u49BB	䦻	cì
+\u49C1	䧁	chù
+\u49C2	䧂	dào
+\u49C3	䧃	diàn
+\u49C5	䧅	tì
+\u49C6	䧆	hóng
+\u49C7	䧇	nǐ
+\u49D2	䧒	lái
+\u49D4	䧔	mù
+\u49D5	䧕	chéng
+\u49D8	䧘	qí
+\u49DD	䧝	dì
+\u49DE	䧞	fù
+\u49DF	䧟	xiàn
+\u49EA	䧪	chè
+\u49EE	䧮	xiǎn
+\u49EF	䧯	chán
+\u49F3	䧳	cí
+\u49F5	䧵	qí
+\u4A00	䨀	dí
+\u4A01	䨁	chè
+\u4A06	䨆	bí
+\u4A0C	䨌	báo
+\u4A10	䨐	qià
+\u4A13	䨓	léi
+\u4A19	䨙	cén
+\u4A1E	䨞	yǔ
+\u4A22	䨢	dàn
+\u4A23	䨣	gé
+\u4A25	䨥	hù
+\u4A2B	䨫	mài
+\u4A34	䨴	duì
+\u4A3A	䨺	duì
+\u4A3F	䨿	qián
+\u4A46	䩆	jiǎn
+\u4A48	䩈	huì
+\u4A4A	䩊	wǎn
+\u4A50	䩐	gé
+\u4A5A	䩚	dì
+\u4A5E	䩞	nián
+\u4A62	䩢	dá
+\u4A63	䩣	duǒ
+\u4A64	䩤	xì
+\u4A66	䩦	tiáo
+\u4A6C	䩬	běng
+\u4A73	䩳	shǔ
+\u4A78	䩸	róng
+\u4A80	䪀	guǎn
+\u4A88	䪈	qiǎn
+\u4A89	䪉	là
+\u4A8D	䪍	lán
+\u4A8F	䪏	nà
+\u4A90	䪐	bì
+\u4A92	䪒	jiào
+\u4A99	䪙	fú
+\u4A9A	䪚	hè
+\u4AA5	䪥	dié
+\u4AA8	䪨	báo
+\u4AAC	䪬	bó
+\u4ABE	䪾	mí
+\u4ABF	䪿	shěng
+\u4AC6	䫆	chéng
+\u4ACA	䫊	bó
+\u4AD4	䫔	qì
+\u4AD6	䫖	chěn
+\u4AD7	䫗	xiá
+\u4ADD	䫝	fǔ
+\u4ADF	䫟	hún
+\u4AE1	䫡	qiàn
+\u4AE5	䫥	kuǐ
+\u4AE6	䫦	gé
+\u4AEB	䫫	lóu
+\u4AEE	䫮	cán
+\u4AF1	䫱	ná
+\u4AF2	䫲	hàn
+\u4AFA	䫺	hóng
+\u4AFB	䫻	xué
+\u4B02	䬂	xuè
+\u4B05	䬅	lì
+\u4B0A	䬊	qiè
+\u4B0F	䬏	bù
+\u4B13	䬓	àn
+\u4B14	䬔	xù
+\u4B1B	䬛	bì
+\u4B1D	䬝	héng
+\u4B24	䬤	cháo
+\u4B28	䬨	cù
+\u4B2A	䬪	bó
+\u4B2B	䬫	cǎn
+\u4B3B	䬻	jiàn
+\u4B3F	䬿	wěi
+\u4B4E	䭎	xié
+\u4B55	䭕	jiàn
+\u4B58	䭘	yàn
+\u4B5A	䭚	chuáng
+\u4B60	䭠	jiǎn
+\u4B65	䭥	xuè
+\u4B69	䭩	mì
+\u4B6D	䭭	shǒu
+\u4B6E	䭮	bì
+\u4B70	䭰	běng
+\u4B72	䭲	nǐ
+\u4B74	䭴	huán
+\u4B77	䭷	liú
+\u4B89	䮉	lú
+\u4B8B	䮋	lì
+\u4B8D	䮍	niǎo
+\u4B97	䮗	àn
+\u4B98	䮘	ér
+\u4B9C	䮜	shà
+\u4B9D	䮝	huán
+\u4B9E	䮞	chù
+\u4BA4	䮤	dí
+\u4BA7	䮧	hán
+\u4BA9	䮩	gú
+\u4BAB	䮫	lóu
+\u4BB0	䮰	dǎn
+\u4BB5	䮵	tóng
+\u4BB8	䮸	hú
+\u4BBB	䮻	chì
+\u4BD4	䯔	cén
+\u4BDA	䯚	ǒu
+\u4BDB	䯛	jiǎn
+\u4BDF	䯟	duì
+\u4BE0	䯠	ǎo
+\u4BE1	䯡	jiǎn
+\u4BE3	䯣	guì
+\u4BE5	䯥	àn
+\u4BE8	䯨	fén
+\u4BEB	䯫	hào
+\u4BFD	䯽	fǔ
+\u4BFF	䯿	zú
+\u4C08	䰈	chǎ
+\u4C09	䰉	pán
+\u4C0D	䰍	cì
+\u4C0E	䰎	guì
+\u4C25	䰥	huò
+\u4C26	䰦	pǐ
+\u4C29	䰩	chě
+\u4C2D	䰭	nòu
+\u4C2F	䰯	nǐ
+\u4C34	䰴	qì
+\u4C37	䰷	bàng
+\u4C43	䱃	dǐ
+\u4C47	䱇	shàn
+\u4C48	䱈	qí
+\u4C4B	䱋	dǎn
+\u4C56	䱖	liú
+\u4C5C	䱜	cuò
+\u4C5D	䱝	bà
+\u4C5E	䱞	liú
+\u4C65	䱥	zhí
+\u4C71	䱱	dì
+\u4C79	䱹	nà
+\u4C7E	䱾	lóu
+\u4C80	䲀	dié
+\u4C84	䲄	mín
+\u4C94	䲔	qíng
+\u4C95	䲕	pǔ
+\u4C98	䲘	guǎn
+\u4C9A	䲚	lài
+\u4C9E	䲞	lì
+\u4CA6	䲦	chá
+\u4CA7	䲧	dù
+\u4CB5	䲵	hù
+\u4CBB	䲻	xuán
+\u4CBD	䲽	dǎo
+\u4CC1	䳁	bá
+\u4CCB	䳋	tóng
+\u4CD1	䳑	yǒu
+\u4CD4	䳔	jiù
+\u4CD6	䳖	nèi
+\u4CDA	䳚	hé
+\u4CDD	䳝	bù
+\u4CDF	䳟	kòu
+\u4CE0	䳠	chuí
+\u4CEA	䳪	juàn
+\u4CEC	䳬	è
+\u4CEF	䳯	chóng
+\u4CF4	䳴	dá
+\u4CF8	䳸	má
+\u4CFB	䳻	cán
+\u4CFF	䳿	lán
+\u4D02	䴂	hàng
+\u4D04	䴄	lì
+\u4D1B	䴛	jiǎo
+\u4D1D	䴝	bù
+\u4D1F	䴟	huán
+\u4D26	䴦	rén
+\u4D33	䴳	hè
+\u4D35	䴵	bǐng
+\u4D3A	䴺	bù
+\u4D3C	䴼	chǎn
+\u4D3D	䴽	bài
+\u4D3E	䴾	cuó
+\u4D44	䵄	bí
+\u4D50	䵐	chǎn
+\u4D56	䵖	jiàn
+\u4D58	䵘	shà
+\u4D5B	䵛	jiàn
+\u4D5D	䵝	yà
+\u4D5E	䵞	jìng
+\u4D62	䵢	mèi
+\u4D63	䵣	dá
+\u4D65	䵥	shè
+\u4D71	䵱	hè
+\u4D74	䵴	yùn
+\u4D75	䵵	zhá
+\u4D7B	䵻	gǔ
+\u4D8D	䶍	dì
+\u4D8F	䶏	tǐ
+\u4D93	䶓	jì
+\u4D94	䶔	chí
+\u4D96	䶖	jìn
+\u4D97	䶗	kè
+\u4D9B	䶛	là
+\u4D9D	䶝	qià
+\u4DA0	䶠	jiǎn
+\u4DA1	䶡	shí
+\u4DAB	䶫	kǎn
+\u4DAE	䶮	yán
+\u4DB2	䶲	nán
+\u4DB5	䶵	chí
+\u4E01	丁	dīng
+\u4E02	丂	kǎo
+\u4E03	七	qī
+\u4E05	丅	wàn
+\u4E07	万	wàn
+\u4E08	丈	zhàng
+\u4E0C	丌	jī
+\u4E0E	与	yú
+\u4E0F	丏	miǎn
+\u4E15	丕	pī
+\u4E22	丢	diū
+\u4E25	严	yán
+\u4E27	丧	sàng
+\u4E28	丨	gě
+\u4E2B	丫	yā
+\u4E2D	中	zhōng
+\u4E2E	丮	guàn
+\u4E33	丳	chǎn
+\u4E35	丵	wéi
+\u4E3B	主	zhǔ
+\u4E3E	举	jǔ
+\u4E42	乂	ài
+\u4E48	么	mē
+\u4E49	义	yì
+\u4E4D	乍	zhà
+\u4E4E	乎	hū
+\u4E4F	乏	fá
+\u4E51	乑	shèng
+\u4E53	乓	pāng
+\u4E58	乘	chéng
+\u4E59	乙	yǐ
+\u4E5D	九	jiǔ
+\u4E62	乢	gài
+\u4E66	书	shū
+\u4E7E	乾	qián
+\u4E7F	乿	chì
+\u4E86	了	lē
+\u4E88	予	yú
+\u4E89	争	zhēng
+\u4E8A	亊	shì
+\u4E8F	亏	kuī
+\u4E90	亐	gèng
+\u4E99	亙	gèn
+\u4E9A	亚	yà
+\u4E9B	些	xiē
+\u4E9C	亜	yà
+\u4E9E	亞	yà
+\u4E9F	亟	jí
+\u4EA0	亠	tóu
+\u4EA2	亢	kàng
+\u4EA3	亣	pēng
+\u4EA9	亩	mǔ
+\u4EB3	亳	bó
+\u4EB7	亷	lián
+\u4EBA	人	rén
+\u4EBC	亼	jí
+\u4EBF	亿	yì
+\u4EC1	仁	rén
+\u4EC6	仆	pú
+\u4EC7	仇	chóu
+\u4EC8	仈	bā
+\u4ECF	仏	fó
+\u4ED4	仔	zǐ
+\u4ED5	仕	shì
+\u4ED8	付	fù
+\u4EDE	仞	rèn
+\u4EE2	仢	dí
+\u4EE5	以	yǐ
+\u4EE8	仨	sā
+\u4EEF	仯	áng
+\u4EF1	仱	pí
+\u4EF4	仴	jià
+\u4EF7	价	jià
+\u4EF8	仸	rén
+\u4EFC	仼	bīn
+\u4EFE	仾	dī
+\u4F00	伀	zhōng
+\u4F0F	伏	fú
+\u4F15	伕	fū
+\u4F1A	会	huì
+\u4F1B	伛	yǔ
+\u4F1E	伞	sǎn
+\u4F21	伡	chē
+\u4F28	伨	wèi
+\u4F2B	伫	zhù
+\u4F30	估	gū
+\u4F31	伱	nǐ
+\u4F33	伳	pàn
+\u4F35	伵	cì
+\u4F3A	伺	cì
+\u4F3B	伻	bēng
+\u4F3D	伽	jiā
+\u4F3E	伾	pī
+\u4F41	佁	ǎi
+\u4F42	佂	zhēng
+\u4F44	佄	bèn
+\u4F54	佔	zhàn
+\u4F56	佖	bì
+\u4F57	佗	tuó
+\u4F5A	佚	yì
+\u4F5B	佛	fó
+\u4F5C	作	zuò
+\u4F5D	佝	gōu
+\u4F5E	佞	nìng
+\u4F63	佣	yòng
+\u4F64	佤	wǎ
+\u4F6A	佪	huí
+\u4F71	佱	fǎ
+\u4F73	佳	jiā
+\u4F75	併	bìng
+\u4F7D	佽	cì
+\u4F80	侀	xíng
+\u4F87	侇	yí
+\u4F8A	侊	guāng
+\u4F8F	侏	zhū
+\u4F97	侗	tóng
+\u4F98	侘	chà
+\u4F9B	供	gòng
+\u4F9C	侜	zhōu
+\u4F9E	侞	rǔ
+\u4FA7	侧	cè
+\u4FA8	侨	qiáo
+\u4FB0	侰	cuò
+\u4FB4	侴	chǒu
+\u4FB6	侶	lǚ
+\u4FBF	便	biàn
+\u4FC0	俀	shū
+\u4FC7	俇	kuǎng
+\u4FC8	俈	kù
+\u4FDB	俛	miǎn
+\u4FDC	俜	pīng
+\u4FDF	俟	sì
+\u4FE0	俠	xiá
+\u4FE2	俢	xiū
+\u4FEA	俪	lì
+\u4FED	俭	jiǎn
+\u4FF1	俱	jù
+\u4FF4	俴	jiàn
+\u4FF5	俵	biǎo
+\u4FF7	俷	fèi
+\u5004	倄	yáo
+\u5006	倆	liǎng
+\u5007	倇	wǎn
+\u5009	倉	cāng
+\u500C	倌	guān
+\u5012	倒	dǎo
+\u5013	倓	juè
+\u5015	倕	chuí
+\u5019	候	hòu
+\u501F	借	jiè
+\u5022	倢	jié
+\u5024	値	zhí
+\u5025	倥	kōng
+\u5026	倦	juàn
+\u502A	倪	ní
+\u502B	倫	lún
+\u502D	倭	wēi
+\u502E	倮	luǒ
+\u5031	倱	hùn
+\u5037	倷	nài
+\u503D	倽	xiá
+\u5047	假	jiǎ
+\u5048	偈	jì
+\u5049	偉	wěi
+\u504B	偋	bǐng
+\u5053	偓	wò
+\u5055	偕	jiē
+\u5056	偖	chě
+\u5074	側	cè
+\u5075	偵	zhēn
+\u5076	偶	ǒu
+\u507B	偻	lóu
+\u507C	偼	jié
+\u507E	偾	fèn
+\u5080	傀	kuǐ
+\u5081	傁	sǒu
+\u5086	傆	yuàn
+\u508D	傍	bàng
+\u508E	傎	diān
+\u5093	傓	shàn
+\u5097	傗	chù
+\u509C	傜	yáo
+\u509E	傞	suō
+\u50A9	傩	nuó
+\u50AE	傮	cáo
+\u50AF	傯	zǒng
+\u50B3	傳	chuán
+\u50B4	傴	yǔ
+\u50BA	傺	chì
+\u50C2	僂	lóu
+\u50C3	僃	bèi
+\u50C6	僆	lián
+\u50C7	僇	lù
+\u50D4	僔	zǔn
+\u50DF	僟	jī
+\u50ED	僭	jiàn
+\u50EE	僮	tóng
+\u50EF	僯	lǐn
+\u50FA	僺	qiào
+\u5104	億	yì
+\u5106	儆	jǐng
+\u510D	儍	shǎ
+\u5110	儐	bīn
+\u5112	儒	rú
+\u511F	償	cháng
+\u5133	儳	chàn
+\u5140	兀	wù
+\u5143	元	yuán
+\u5152	兒	ér
+\u5153	兓	kè
+\u515C	兜	dōu
+\u5164	兤	huáng
+\u5168	全	quán
+\u516A	兪	yú
+\u516B	八	bā
+\u516E	兮	xī
+\u5172	兲	tiān
+\u5174	兴	xìng
+\u5175	兵	bīng
+\u5177	具	jù
+\u517B	养	yǎng
+\u517C	兼	jiān
+\u5191	冑	zhòu
+\u5192	冒	mào
+\u5193	冓	gòu
+\u5194	冔	xǔ
+\u5199	写	xiě
+\u51A0	冠	guàn
+\u51A1	冡	méng
+\u51B0	冰	bīng
+\u51B1	冱	hù
+\u51C6	准	zhǔn
+\u51C8	凈	jìng
+\u51CA	凊	qýng
+\u51E0	几	jǐ
+\u51E1	凡	fán
+\u51E8	凨	fēng
+\u51EB	凫	fú
+\u51FA	出	chū
+\u51FC	凼	dàng
+\u5200	刀	dāo
+\u5206	分	fēn
+\u5207	切	qiē
+\u5208	刈	yì
+\u520C	刌	cǔn
+\u5212	划	huá
+\u5213	刓	chuāng
+\u521C	刜	fú
+\u5225	別	bié
+\u5228	刨	bào
+\u5229	利	lì
+\u522C	刬	chǎn
+\u5232	刲	kuī
+\u5237	刷	shuā
+\u5238	券	quàn
+\u523A	刺	cì
+\u523B	刻	kè
+\u523F	刿	guì
+\u524A	削	xiāo
+\u524B	剋	kè
+\u524C	剌	là
+\u524D	前	qián
+\u524E	剎	shà
+\u524F	剏	chuāng
+\u5250	剐	guǎ
+\u525A	剚	zì
+\u525E	剞	jī
+\u5261	剡	shàn
+\u5262	剢	zhuó
+\u5266	剦	yān
+\u526D	剭	chuāng
+\u5275	創	chuàng
+\u5276	剶	juān
+\u5279	剹	chāo
+\u527D	剽	piāo
+\u527F	剿	jiǎo
+\u5280	劀	guā
+\u5284	劄	zhá
+\u5285	劅	pǐ
+\u5288	劈	pī
+\u5289	劉	liú
+\u5298	劘	mó
+\u52B3	劳	láo
+\u52B4	労	láo
+\u52B6	劶	jìn
+\u52C1	勁	jìn
+\u52C2	勂	háo
+\u52D2	勒	lè
+\u52D3	勓	kài
+\u52D9	務	wù
+\u52DD	勝	shèng
+\u52DE	勞	láo
+\u52DF	募	mù
+\u52E6	勦	chāo
+\u52E7	勧	quàn
+\u52F8	勸	quàn
+\u52FB	勻	yún
+\u52FE	勾	gōu
+\u52FF	勿	wù
+\u5315	匕	bī
+\u5317	北	běi
+\u5318	匘	nǎo
+\u531A	匚	fāng
+\u5329	匩	fēi
+\u532B	匫	hū
+\u532F	匯	huì
+\u5331	匱	kuì
+\u5332	匲	lián
+\u5339	匹	pǐ
+\u533B	医	yī
+\u533C	匼	ǎn
+\u533D	匽	yǎn
+\u5340	區	qū
+\u5341	十	shí
+\u534F	协	xié
+\u5352	卒	zú
+\u5353	卓	zhuó
+\u5356	卖	mài
+\u5358	単	dān
+\u535C	卜	bō
+\u5361	卡	kǎ
+\u5362	卢	lú
+\u536A	卪	jié
+\u536D	卭	qióng
+\u5372	卲	shào
+\u5377	卷	juǎn
+\u5378	卸	xiè
+\u5382	厂	chǎng
+\u5383	厃	àn
+\u5389	厉	lì
+\u538C	厌	yàn
+\u538D	厍	shè
+\u5394	厔	zhì
+\u5396	厖	páng
+\u5397	厗	tí
+\u53A1	厡	yuán
+\u53A7	厧	jǐn
+\u53AB	厫	áo
+\u53AE	厮	sī
+\u53B2	厲	lì
+\u53B7	厷	gōng
+\u53B9	厹	qiú
+\u53C0	叀	huì
+\u53C1	叁	sān
+\u53C3	參	cān
+\u53C4	叄	cān
+\u53C5	叅	cān
+\u53C6	叆	ài
+\u53C9	叉	chā
+\u53CA	及	jí
+\u53CE	収	shōu
+\u53D2	叒	lì
+\u53D4	叔	shū
+\u53D6	取	qǔ
+\u53DB	叛	pàn
+\u53E6	另	lìng
+\u53E8	叨	dāo
+\u53E9	叩	kòu
+\u53EA	只	zhǐ
+\u53EB	叫	jiào
+\u53EC	召	shào
+\u53ED	叭	bā
+\u53EE	叮	dīng
+\u53F0	台	tái
+\u53F1	叱	chì
+\u53F7	号	háo
+\u53F8	司	sī
+\u5401	吁	yù
+\u5402	吂	máng
+\u5403	吃	chī
+\u5404	各	gè
+\u5408	合	hé
+\u5409	吉	jí
+\u540D	名	míng
+\u5410	吐	tǔ
+\u5411	向	xiàng
+\u5413	吓	xià
+\u5414	吔	yě
+\u5418	吘	ǒu
+\u5426	否	fǒu
+\u5427	吧	bā
+\u5428	吨	dūn
+\u542D	吭	kēng
+\u542E	吮	shǔn
+\u5431	吱	zhī
+\u5432	吲	yǐn
+\u5433	吳	wú
+\u5436	吶	nà
+\u5437	吷	chuī
+\u543A	吺	dōu
+\u543D	吽	hōng
+\u543E	吾	wú
+\u5440	呀	yā
+\u5441	呁	jùn
+\u5442	呂	lǚ
+\u5446	呆	dāi
+\u5447	呇	nà
+\u5451	呑	tūn
+\u5456	呖	lì
+\u5458	员	yuán
+\u5459	呙	guō
+\u545B	呛	qiàng
+\u545C	呜	wū
+\u545F	呟	quǎn
+\u5462	呢	nē
+\u5463	呣	ḿ
+\u5464	呤	líng
+\u5466	呦	yōu
+\u546C	呬	xì
+\u5472	呲	zī
+\u5475	呵	hē
+\u547B	呻	shēn
+\u547D	命	mìng
+\u5481	咁	gèm
+\u548B	咋	zǎ
+\u548C	和	hé
+\u548D	咍	hāi
+\u548F	咏	yǒng
+\u5492	咒	zhòu
+\u5497	咗	zuǒ
+\u549F	咟	chà
+\u54A5	咥	dié
+\u54A6	咦	yí
+\u54A7	咧	liē
+\u54A8	咨	zī
+\u54AD	咭	jī
+\u54AF	咯	gē
+\u54B0	咰	shuài
+\u54B1	咱	zá
+\u54B2	咲	xiào
+\u54B3	咳	ké
+\u54B4	咴	huá
+\u54B7	咷	táo
+\u54BA	咺	xuǎn
+\u54BB	咻	xiū
+\u54BC	咼	guō
+\u54BD	咽	yàn
+\u54BE	咾	lǎo
+\u54C4	哄	hǒng
+\u54C5	哅	xiōng
+\u54C6	哆	duō
+\u54C7	哇	wā
+\u54C8	哈	hā
+\u54C9	哉	zāi
+\u54CC	哌	pài
+\u54D0	哐	kuāng
+\u54D2	哒	dā
+\u54D7	哗	huá
+\u54D9	哙	kuài
+\u54E2	哢	lòng
+\u54E6	哦	ó
+\u54E7	哧	chī
+\u54E9	哩	lī
+\u54EA	哪	nǎ
+\u54EB	哫	zú
+\u54F5	哵	bā
+\u54FC	哼	hēng
+\u54FD	哽	gěng
+\u5500	唀	yǒu
+\u5505	唅	hān
+\u5506	唆	suō
+\u5509	唉	āi
+\u550A	唊	jiá
+\u550B	唋	tǔ
+\u550D	唍	huǎn
+\u550E	唎	lì
+\u5515	唕	gòng
+\u551E	唞	dǒu
+\u5522	唢	jī
+\u5528	唨	zǔ
+\u5529	唩	wō
+\u552B	唫	yín
+\u552F	唯	wéi
+\u5530	唰	shuā
+\u553A	唺	tiǎn
+\u553D	唽	xī
+\u5542	啂	nòu
+\u5545	啅	zhuó
+\u554A	啊	ā
+\u554D	啍	tūn
+\u5552	啒	wā
+\u5559	啙	zǐ
+\u555B	啛	cuì
+\u555E	啞	yǎ
+\u555F	啟	qǐ
+\u5561	啡	fēi
+\u5562	啢	liǎng
+\u5563	啣	xián
+\u5566	啦	lā
+\u5567	啧	zé
+\u5571	啱	jué
+\u5574	啴	chǎn
+\u5575	啵	bō
+\u5578	啸	xiào
+\u5580	喀	kè
+\u5581	喁	yú
+\u5582	喂	wèi
+\u5587	喇	lǎ
+\u5588	喈	jiē
+\u558C	喌	zhōu
+\u5590	喐	yìn
+\u5592	喒	zán
+\u5594	喔	wō
+\u5595	喕	miǎn
+\u559C	喜	xǐ
+\u559D	喝	hē
+\u559F	喟	kuì
+\u55A8	喨	liàng
+\u55AA	喪	sāng
+\u55AB	喫	chī
+\u55AC	喬	qiáo
+\u55AE	單	dān
+\u55AF	喯	pēn
+\u55B3	喳	zhā
+\u55B4	喴	wēi
+\u55B9	喹	kuí
+\u55BC	喼	jié
+\u55BE	喾	kù
+\u55C4	嗄	shà
+\u55C5	嗅	xiù
+\u55C6	嗆	qiàng
+\u55C7	嗇	sè
+\u55CB	嗋	ài
+\u55CD	嗍	má
+\u55CE	嗎	mǎ
+\u55CF	嗏	chā
+\u55D2	嗒	tà
+\u55D4	嗔	chēn
+\u55D5	嗕	rù
+\u55DC	嗜	shì
+\u55DF	嗟	jiē
+\u55E0	嗠	luò
+\u55E8	嗨	hāi
+\u55EF	嗯	ēn
+\u55F0	嗰	gè
+\u55F5	嗵	tōng
+\u560D	嘍	lóu
+\u560E	嘎	gá
+\u560F	嘏	jiǎ
+\u5610	嘐	xiāo
+\u5611	嘑	hū
+\u5612	嘒	huì
+\u5613	嘓	guō
+\u5614	嘔	ǒu
+\u5615	嘕	xiān
+\u561C	嘜	mà
+\u5621	嘡	tāng
+\u5627	嘧	mì
+\u5629	嘩	huā
+\u562A	嘪	mǎi
+\u562C	嘬	zuō
+\u562D	嘭	pēng
+\u5632	嘲	cháo
+\u5633	嘳	kuì
+\u5637	嘷	háo
+\u563A	嘺	qiáo
+\u563E	嘾	tán
+\u563F	嘿	hēi
+\u5640	噀	xùn
+\u5642	噂	zǔn
+\u564C	噌	cēng
+\u564D	噍	jiāo
+\u564E	噎	yē
+\u5662	噢	ō
+\u5663	噣	zhuó
+\u5664	噤	jìn
+\u5667	噧	āi
+\u566F	噯	ǎi
+\u5670	噰	yōng
+\u5672	噲	kuài
+\u5674	噴	pēn
+\u5675	噵	dào
+\u5676	噶	gá
+\u5677	噷	hēn
+\u5678	噸	dùn
+\u5683	嚃	tà
+\u5684	嚄	huò
+\u5685	嚅	rú
+\u5688	嚈	yà
+\u569D	嚝	huāng
+\u56A2	嚢	náng
+\u56A4	嚤	mó
+\u56AA	嚪	rāng
+\u56B8	嚸	diǎn
+\u56BC	嚼	jué
+\u56BD	嚽	chuò
+\u56C5	囅	chǎn
+\u56C9	囉	luō
+\u56CA	囊	náng
+\u56D1	囑	zhǔ
+\u56DE	回	huí
+\u56E4	囤	tún
+\u56E5	囥	kàng
+\u56EB	囫	hú
+\u56EE	囮	é
+\u56EF	囯	guó
+\u56F2	囲	tōng
+\u56F3	図	juàn
+\u56F7	囷	qūn
+\u5708	圈	quān
+\u5709	圉	chuí
+\u570C	圌	chuí
+\u570D	圍	wéi
+\u571D	圝	luán
+\u5723	圣	shèng
+\u5724	圤	pú
+\u5725	圥	lù
+\u572A	圪	gē
+\u572C	圬	wū
+\u5730	地	dì
+\u5731	圱	chǎng
+\u573B	圻	qí
+\u573C	圼	jī
+\u573F	圿	jiá
+\u5744	坄	tóu
+\u5748	坈	fáng
+\u574B	坋	fèn
+\u574F	坏	huài
+\u5750	坐	zuò
+\u575F	坟	fén
+\u5763	坣	nì
+\u576E	坮	tái
+\u5771	坱	yāng
+\u5774	坴	kē
+\u5778	坸	bō
+\u577B	坻	dǐ
+\u577C	坼	chè
+\u5784	垄	lǒng
+\u5789	垉	páo
+\u578D	垍	jì
+\u5793	垓	gāi
+\u5796	垖	duī
+\u579B	垛	duǒ
+\u57A8	垨	shǒu
+\u57AC	垬	hóng
+\u57AE	垮	kuǎ
+\u57BB	垻	bà
+\u57C1	埁	cén
+\u57C6	埆	què
+\u57CB	埋	mái
+\u57CC	埌	làng
+\u57CF	埏	yán
+\u57D0	埐	jīn
+\u57D4	埔	pǔ
+\u57D5	埕	chéng
+\u57DA	埚	bù
+\u57E1	埡	yà
+\u57E5	埥	chēng
+\u57E9	埩	zhēng
+\u57F3	埳	kǎn
+\u57F7	執	zhí
+\u57FA	基	jī
+\u57FE	埾	jù
+\u5800	堀	kū
+\u580C	堌	gù
+\u580E	堎	líng
+\u5816	堖	nǎo
+\u5821	堡	bǎo
+\u5822	堢	bǎo
+\u5825	堥	ài
+\u5829	堩	chǎng
+\u5834	場	chǎng
+\u5835	堵	dǔ
+\u5838	堸	fúng
+\u583F	堿	jiǎn
+\u5843	塃	huāng
+\u5849	塉	jí
+\u584A	塊	kuài
+\u585E	塞	sāi
+\u585F	塟	zàng
+\u5863	塣	chěng
+\u5865	塥	gé
+\u586B	填	tián
+\u5873	塳	péng
+\u5879	塹	qiàn
+\u587B	塻	mò
+\u5887	墇	zhāng
+\u588B	墋	chěn
+\u588E	墎	guō
+\u588F	墏	qiǎng
+\u5890	墐	jǐn
+\u58A3	墣	pū
+\u58A4	墤	tuí
+\u58A5	墥	dǒng
+\u58A8	墨	mò
+\u58AB	墫	zūn
+\u58AC	墬	dē
+\u58AD	墭	shèng
+\u58AE	墮	duò
+\u58AF	墯	duò
+\u58B0	墰	tán
+\u58B7	墷	ào
+\u58BA	墺	ào
+\u58BB	墻	qiáng
+\u58C1	壁	bì
+\u58C6	壆	xuān
+\u58CF	壏	hǎn
+\u58D0	壐	xǐ
+\u58D2	壒	ài
+\u58D3	壓	yā
+\u58D4	壔	dǎo
+\u58D9	壙	kuàng
+\u58DE	壞	huài
+\u58E7	壧	yán
+\u58F4	壴	yì
+\u58FA	壺	hú
+\u58FF	壿	zūn
+\u5902	夂	chǔ
+\u5905	夅	jiàng
+\u5906	夆	fēng
+\u590E	夎	jiǎ
+\u5910	夐	xì
+\u5915	夕	xì
+\u5916	外	wài
+\u5918	夘	mǎo
+\u5923	夣	dài
+\u5927	大	dà
+\u5928	夨	fú
+\u592C	夬	guài
+\u592D	夭	yāo
+\u592E	央	yāng
+\u5930	夰	gǎo
+\u5933	夳	tài
+\u5935	夵	jiá
+\u593A	夺	duó
+\u593E	夾	jiá
+\u593F	夿	bā
+\u5940	奀	ēn
+\u5941	奁	dī
+\u5944	奄	yǎn
+\u5945	奅	jī
+\u5947	奇	qí
+\u5948	奈	nài
+\u5952	奒	kāi
+\u5953	奓	shē
+\u5954	奔	bēn
+\u5955	奕	yì
+\u5958	奘	zàng
+\u5959	奙	běn
+\u595B	奛	hǎ
+\u5965	奥	ào
+\u5968	奨	jiǎng
+\u5973	女	nǚ
+\u5974	奴	nú
+\u597D	好	hǎo
+\u597E	奾	xiān
+\u5984	妄	wàng
+\u59A9	妩	wǔ
+\u59AB	妫	guī
+\u59AF	妯	zhóu
+\u59B0	妰	nǐ
+\u59B4	妴	qī
+\u59BB	妻	qī
+\u59BC	妼	bì
+\u59C2	姂	fá
+\u59D4	委	wěi
+\u59D5	姕	jiǎo
+\u59E4	姤	gòu
+\u59E5	姥	lǎo
+\u59E6	姦	jiān
+\u59E9	姩	niàn
+\u59FA	姺	shēn
+\u59FB	姻	yīn
+\u5A07	娇	jiāo
+\u5A09	娉	pīng
+\u5A0F	娏	máng
+\u5A1D	娝	pēi
+\u5A29	娩	miǎn
+\u5A2A	娪	wú
+\u5A2E	娮	yán
+\u5A38	娸	qí
+\u5A51	婑	juàn
+\u5A59	婙	jìng
+\u5A61	婡	chuò
+\u5A64	婤	chōu
+\u5A7C	婼	ruò
+\u5A7D	婽	jiǎ
+\u5A7F	婿	xù
+\u5A8D	媍	fù
+\u5A9B	媛	yuán
+\u5A9C	媜	zhēn
+\u5A9F	媟	xiè
+\u5AA1	媡	liàn
+\u5AAF	媯	guǐ
+\u5AC0	嫀	qín
+\u5AD6	嫖	piáo
+\u5AD7	嫗	yù
+\u5AD8	嫘	léi
+\u5AEA	嫪	lào
+\u5AF1	嫱	qiáng
+\u5B08	嬈	ráo
+\u5B09	嬉	xī
+\u5B1B	嬛	huán
+\u5B1C	嬜	tiáo
+\u5B26	嬦	chóu
+\u5B2F	嬯	niǎo
+\u5B33	嬳	qiān
+\u5B43	孃	niáng
+\u5B46	孆	yīng
+\u5B4D	孍	yán
+\u5B50	子	zǐ
+\u5B51	孑	jié
+\u5B57	字	zì
+\u5B5A	孚	fú
+\u5B5B	孛	bó
+\u5B5C	孜	zī
+\u5B6C	孬	nāo
+\u5B6D	孭	càn
+\u5B71	孱	chán
+\u5B72	孲	yā
+\u5B74	孴	nǐ
+\u5B77	孷	lí
+\u5B7B	孻	lái
+\u5B81	宁	níng
+\u5B82	宂	rǒng
+\u5B84	宄	guǐ
+\u5B89	安	ān
+\u5B8F	宏	hóng
+\u5B94	宔	yuān
+\u5B9C	宜	yí
+\u5BB4	宴	yàn
+\u5BB7	宷	bìn
+\u5BBF	宿	sù
+\u5BC0	寀	cài
+\u5BC2	寂	jì
+\u5BCE	寎	bìng
+\u5BD6	寖	qìn
+\u5BD8	寘	zhì
+\u5BDD	寝	qǐn
+\u5BE1	寡	guǎ
+\u5BE7	寧	níng
+\u5BE8	寨	zhài
+\u5BFC	导	dǎo
+\u5BFD	寽	lǜ
+\u5C05	尅	kè
+\u5C07	將	jiāng
+\u5C08	專	zhuān
+\u5C0B	尋	xún
+\u5C0C	尌	dào
+\u5C0F	小	xiǎo
+\u5C11	少	shǎo
+\u5C12	尒	ěr
+\u5C1A	尚	shàng
+\u5C1B	尛	liáo
+\u5C1F	尟	xiǎn
+\u5C23	尣	méng
+\u5C28	尨	máng
+\u5C29	尩	kuǐ
+\u5C30	尰	chě
+\u5C3A	尺	chǐ
+\u5C3B	尻	kāo
+\u5C3E	尾	wěi
+\u5C3F	尿	niào
+\u5C40	局	jú
+\u5C46	屆	jiè
+\u5C4F	屏	píng
+\u5C50	屐	jī
+\u5C5C	屜	tì
+\u5C5F	屟	xiè
+\u5C62	屢	lǚ
+\u5C65	履	lǚ
+\u5C69	屩	jué
+\u5C6C	屬	shǔ
+\u5C6D	屭	xì
+\u5C6F	屯	tún
+\u5C70	屰	lè
+\u5C75	屵	xù
+\u5C80	岀	chū
+\u5C84	岄	yuè
+\u5C98	岘	pí
+\u5CA6	岦	jǔ
+\u5CA8	岨	qū
+\u5CA9	岩	yán
+\u5CAE	岮	tuó
+\u5CB0	岰	yǒu
+\u5CC8	峈	luò
+\u5CCA	峊	fù
+\u5CCB	峋	xún
+\u5CD3	峓	yí
+\u5CD9	峙	zhì
+\u5CDA	峚	dòng
+\u5CDE	峞	qiáo
+\u5CE5	峥	zhēng
+\u5CFF	峿	wú
+\u5D13	崓	gù
+\u5D16	崖	yá
+\u5D17	崗	gāng
+\u5D18	崘	lún
+\u5D21	崡	hán
+\u5D2B	崫	jué
+\u5D32	崲	huáng
+\u5D42	嵂	lǜ
+\u5D48	嵈	huǎn
+\u5D4D	嵍	hé
+\u5D52	嵒	yán
+\u5D55	嵕	lǚ
+\u5D5E	嵞	jī
+\u5D61	嵡	cī
+\u5D70	嵰	cī
+\u5D74	嵴	jí
+\u5D7A	嵺	dì
+\u5D7E	嵾	cēn
+\u5D82	嶂	zhàng
+\u5DA1	嶡	guì
+\u5DAE	嶮	xiǎn
+\u5DB2	嶲	xī
+\u5DB7	嶷	yí
+\u5DB8	嶸	róng
+\u5DBD	嶽	yuè
+\u5DC3	巃	lóng
+\u5DCE	巎	kūn
+\u5DDC	巜	guì
+\u5DDD	川	chuān
+\u5DEE	差	chā
+\u5DF7	巷	xiàng
+\u5DF8	巸	juǎn
+\u5DFD	巽	xùn
+\u5E06	帆	fān
+\u5E12	帒	dài
+\u5E16	帖	tiē
+\u5E17	帗	fú
+\u5E26	带	dài
+\u5E32	帲	jiān
+\u5E35	帵	jià
+\u5E50	幐	jǐng
+\u5E5D	幝	chǎn
+\u5E63	幣	bì
+\u5E69	幩	fén
+\u5E6B	幫	bāng
+\u5E6C	幬	chóu
+\u5E6D	幭	miè
+\u5E72	干	gān
+\u5E73	平	píng
+\u5E77	幷	bìng
+\u5E78	幸	xìng
+\u5E7A	幺	yāo
+\u5E7D	幽	yōu
+\u5E7E	幾	jǐ
+\u5E7F	广	guǎng
+\u5E80	庀	pǐ
+\u5E93	库	kù
+\u5E95	底	dǐ
+\u5E96	庖	páo
+\u5E9C	府	fǔ
+\u5EA7	座	zuò
+\u5EAB	庫	kù
+\u5EAD	庭	tíng
+\u5EAE	庮	yóu
+\u5EAF	庯	bǐ
+\u5EB3	庳	bì
+\u5EB4	庴	jí
+\u5EB9	庹	tuǒ
+\u5EBC	庼	cè
+\u5EC2	廂	xiāng
+\u5EC7	廇	liù
+\u5EC8	廈	shà
+\u5EC9	廉	lián
+\u5ECD	廍	jǐn
+\u5ED1	廑	jǐn
+\u5ED2	廒	áo
+\u5ED5	廕	yìn
+\u5ED6	廖	liào
+\u5EE2	廢	fèi
+\u5EE9	廩	bǐng
+\u5EEB	廫	liáo
+\u5EFA	建	jiàn
+\u5EFE	廾	gǒng
+\u5EFF	廿	niàn
+\u5F02	异	yì
+\u5F04	弄	nòng
+\u5F05	弅	fén
+\u5F08	弈	yì
+\u5F0A	弊	bì
+\u5F0F	式	shì
+\u5F1C	弜	jiàng
+\u5F1D	弝	bà
+\u5F20	张	zhāng
+\u5F21	弡	jué
+\u5F36	弶	jiàng
+\u5F38	弸	bēng
+\u5F3A	强	qiáng
+\u5F3B	弻	bì
+\u5F43	彃	bì
+\u5F48	彈	dàn
+\u5F49	彉	jiāng
+\u5F4A	彊	jiāng
+\u5F4B	彋	hóng
+\u5F53	当	dāng
+\u5F54	彔	lù
+\u5F56	彖	tuàn
+\u5F58	彘	zhì
+\u5F5A	彚	huì
+\u5F62	形	xíng
+\u5F77	彷	fǎng
+\u5F78	彸	wàng
+\u5F80	往	wǎng
+\u5F81	征	zhēng
+\u5F84	径	jìng
+\u5F85	待	dài
+\u5F86	徆	xī
+\u5F88	很	hěn
+\u5F8A	徊	huái
+\u5F8B	律	lǜ
+\u5F96	徖	cóng
+\u5F97	得	dé
+\u5F98	徘	pái
+\u5F99	徙	xǐ
+\u5F9E	從	cōng
+\u5F9F	徟	lái
+\u5FA1	御	yù
+\u5FA2	徢	fòu
+\u5FAA	循	xún
+\u5FAF	徯	xī
+\u5FB0	徰	biāo
+\u5FB2	徲	chí
+\u5FB4	徴	zhēng
+\u5FB5	徵	zhēng
+\u5FB6	徶	biè
+\u5FBC	徼	jiǎo
+\u5FBD	徽	huī
+\u5FD5	忕	shì
+\u5FD6	忖	cǔn
+\u5FD9	忙	máng
+\u5FEB	快	kuài
+\u5FF4	忴	niǔ
+\u5FF9	忹	sāi
+\u601E	怞	chōu
+\u601F	怟	dì
+\u6023	怣	yóu
+\u602B	怫	fèi
+\u603C	怼	duì
+\u6041	恁	móu
+\u6049	恉	zhǐ
+\u6064	恤	xù
+\u6067	恧	nǜ
+\u606B	恫	dòng
+\u606C	恬	tián
+\u6078	恸	tòng
+\u6081	悁	juān
+\u6082	悂	pī
+\u6088	悈	jiè
+\u608D	悍	hàn
+\u6097	悗	mán
+\u6098	悘	huī
+\u609D	悝	kuī
+\u609E	悞	wù
+\u60A6	悦	yuè
+\u60B6	悶	mēn
+\u60B7	悷	lì
+\u60C1	惁	xī
+\u60CA	惊	jīng
+\u60CB	惋	wǎn
+\u60CD	惍	jīn
+\u60D0	惐	dàn
+\u60D5	惕	tì
+\u60DA	惚	hū
+\u60DD	惝	tǎng
+\u60DE	惞	xīn
+\u60E1	惡	è
+\u60E2	惢	ruǐ
+\u60E3	惣	běi
+\u6103	愃	xuān
+\u6104	愄	tōu
+\u610A	愊	bì
+\u6113	愓	dàng
+\u6114	愔	yīn
+\u6121	愡	lèng
+\u6123	愣	lèng
+\u6124	愤	fèn
+\u612D	愭	qí
+\u613C	愼	shèn
+\u6146	慆	tāo
+\u614A	慊	qiàn
+\u614B	態	tài
+\u614D	慍	yùn
+\u6152	慒	cóng
+\u615E	慞	cào
+\u6166	慦	jìn
+\u616D	慭	yìn
+\u616E	慮	lǜ
+\u6174	慴	zhé
+\u6175	慵	yōng
+\u6176	慶	qìng
+\u6178	慸	dì
+\u617A	慺	lóu
+\u6182	憂	yōu
+\u6187	憇	fān
+\u61A4	憤	fèn
+\u61AE	憮	wǔ
+\u61C0	懀	wài
+\u61C2	懂	dǒng
+\u61C6	懆	cǎo
+\u61C9	應	yīng
+\u61CA	懊	ào
+\u61DA	懚	yìn
+\u61EC	懬	kuàng
+\u61EF	懯	fū
+\u61F5	懵	měng
+\u61F6	懶	lǎn
+\u61FF	懿	yì
+\u6204	戄	jué
+\u6206	戆	gàng
+\u6207	戇	zhuàng
+\u6208	戈	gē
+\u6210	成	chéng
+\u6216	或	huò
+\u6217	戗	qiāng
+\u6218	战	zhàn
+\u621E	戞	jiá
+\u6228	戨	gē
+\u622E	戮	lù
+\u6230	戰	zhàn
+\u6232	戲	xì
+\u6233	戳	chuō
+\u623A	戺	shì
+\u623F	房	fáng
+\u6240	所	suǒ
+\u6241	扁	biǎn
+\u6242	扂	diàn
+\u6244	扄	shān
+\u6247	扇	shàn
+\u6248	扈	hù
+\u624E	扎	zā
+\u624F	扏	pū
+\u6251	扑	pū
+\u6252	扒	bā
+\u6253	打	dǎ
+\u6254	扔	rēng
+\u6255	払	fú
+\u625B	扛	káng
+\u625C	扜	wū
+\u625E	扞	gǎn
+\u625F	扟	shēn
+\u6261	扡	chǐ
+\u6262	扢	gǔ
+\u6263	扣	kòu
+\u626C	扬	yáng
+\u6271	扱	xī
+\u6272	扲	qián
+\u6273	扳	bān
+\u6274	扴	jiá
+\u6277	扷	ào
+\u627C	扼	è
+\u627E	找	zhǎo
+\u6280	技	jì
+\u6284	抄	chāo
+\u6287	抇	gǔ
+\u6288	抈	bà
+\u628B	抋	qìn
+\u628D	抍	wàn
+\u6290	抐	nù
+\u6294	抔	póu
+\u6295	投	tóu
+\u6298	折	zhé
+\u6299	抙	fū
+\u629A	抚	fǔ
+\u629B	抛	pāo
+\u629E	択	zé
+\u62A0	抠	kōu
+\u62A2	抢	qiǎng
+\u62A4	护	hù
+\u62A9	抩	tān
+\u62AE	抮	zhěn
+\u62B5	抵	dǐ
+\u62B9	抹	mǒ
+\u62BA	抺	chēn
+\u62BC	押	yā
+\u62BD	抽	chōu
+\u62BF	抿	mǐn
+\u62C3	拃	zhà
+\u62C4	拄	zhǔ
+\u62C6	拆	chāi
+\u62C7	拇	mǔ
+\u62C9	拉	lā
+\u62CA	拊	fǔ
+\u62CD	拍	pāi
+\u62CE	拎	līng
+\u62D3	拓	tuò
+\u62D4	拔	bá
+\u62D5	拕	niù
+\u62D7	拗	ǎo
+\u62D8	拘	jū
+\u62D9	拙	zhuó
+\u62DA	拚	pīn
+\u62DB	招	zhāo
+\u62DC	拜	bài
+\u62E6	拦	lán
+\u62E8	拨	bō
+\u62E9	择	zé
+\u62EA	拪	kuò
+\u62EC	括	kuò
+\u62ED	拭	shì
+\u62EF	拯	zhěng
+\u62F7	拷	kǎo
+\u62F9	拹	xié
+\u62FD	拽	zhuài
+\u62FE	拾	shí
+\u62FF	拿	ná
+\u6309	按	àn
+\u630F	挏	dòng
+\u6310	挐	ná
+\u6311	挑	tiāo
+\u6312	挒	liè
+\u631E	挞	jiā
+\u6320	挠	dàng
+\u6322	挢	jiǎo
+\u6324	挤	jǐ
+\u6328	挨	āi
+\u6329	挩	shuì
+\u632A	挪	nuó
+\u632B	挫	cuò
+\u6330	挰	chéng
+\u6334	挴	měi
+\u6336	挶	jú
+\u6338	挸	jiǎn
+\u633D	挽	wǎn
+\u633E	挾	jiā
+\u633F	挿	chā
+\u6340	捀	fēng
+\u6345	捅	tǒng
+\u634B	捋	lǚ
+\u634C	捌	bā
+\u6351	捑	guā
+\u6357	捗	bù
+\u6362	换	huàn
+\u636A	捪	jū
+\u636D	捭	bǎi
+\u636E	据	jù
+\u636F	捯	dáo
+\u6370	捰	quán
+\u6373	捳	chēn
+\u6376	捶	chuí
+\u6378	捸	niē
+\u637C	捼	nuó
+\u637D	捽	zú
+\u637E	捾	sào
+\u6383	掃	sǎo
+\u6384	掄	lún
+\u6385	掅	duō
+\u6388	授	shòu
+\u638A	掊	póu
+\u638B	掋	dǐ
+\u638E	掎	jǐ
+\u6392	排	pái
+\u6393	掓	shú
+\u6396	掖	yè
+\u6397	掗	yà
+\u6399	掙	zhēng
+\u639A	掚	liǎng
+\u639D	掝	huò
+\u639E	掞	shàn
+\u639F	掟	luě
+\u63A0	掠	lüè
+\u63A1	採	cǎi
+\u63A3	掣	chè
+\u63A8	推	tuī
+\u63AB	掫	zōu
+\u63AD	掭	pá
+\u63B2	掲	jiē
+\u63B3	掳	lǔ
+\u63B8	掸	chán
+\u63BA	掺	càn
+\u63BB	掻	sāo
+\u63C4	揄	yú
+\u63C5	揅	yán
+\u63CE	揎	xuān
+\u63CF	描	miáo
+\u63D0	提	tí
+\u63D1	揑	niē
+\u63D5	揕	zhèn
+\u63D7	揗	chuāi
+\u63E3	揣	chuǎi
+\u63E4	揤	jí
+\u63E6	揦	lá
+\u63F2	揲	shé
+\u63F3	揳	xiē
+\u63F4	援	yuán
+\u63F6	揶	yé
+\u6402	搂	lǒu
+\u6403	搃	zǒng
+\u640C	搌	zhǎn
+\u6411	搑	bàng
+\u6413	搓	cuō
+\u6415	搕	kè
+\u641B	搛	jiān
+\u6429	搩	jié
+\u642E	搮	gǔ
+\u6431	搱	huá
+\u6434	搴	qiān
+\u6436	搶	qiǎng
+\u6437	搷	shēn
+\u6438	搸	xí
+\u643B	搻	niè
+\u6443	摃	gāng
+\u6444	摄	niè
+\u6445	摅	jiū
+\u644F	摏	chōng
+\u6459	摙	lí
+\u645C	摜	guàn
+\u645E	摞	luò
+\u645F	摟	lōu
+\u6460	摠	zǒng
+\u6461	摡	gài
+\u6462	摢	hù
+\u6464	摤	chuǎng
+\u6468	摨	mā
+\u646A	摪	jiāng
+\u646E	摮	áo
+\u6473	摳	kōu
+\u6476	摶	tuán
+\u6477	摷	jiǎo
+\u6478	摸	mō
+\u6479	摹	mó
+\u647B	摻	chān
+\u647C	摼	biāo
+\u647D	摽	biāo
+\u647E	摾	jiàng
+\u6482	撂	liào
+\u6483	撃	guì
+\u6486	撆	piē
+\u6487	撇	piě
+\u6488	撈	lāo
+\u648C	撌	guì
+\u648D	撍	xián
+\u6490	撐	chēng
+\u6492	撒	sǎ
+\u6496	撖	hàn
+\u6497	撗	chéng
+\u649D	撝	chuáng
+\u649F	撟	jiǎo
+\u64A3	撣	dǎn
+\u64A4	撤	chè
+\u64A6	撦	chě
+\u64A8	撨	liāo
+\u64A9	撩	liáo
+\u64AA	撪	bèn
+\u64AC	撬	qiào
+\u64AD	播	bō
+\u64AE	撮	cuō
+\u64AF	撯	suàn
+\u64B1	撱	tuǒ
+\u64BF	撿	jiǎn
+\u64C0	擀	gǎn
+\u64C1	擁	yōng
+\u64C2	擂	léi
+\u64C3	擃	kuǒ
+\u64C7	擇	zé
+\u64C8	擈	bǔ
+\u64C9	擉	chuō
+\u64CA	擊	jī
+\u64CB	擋	dǎng
+\u64CC	擌	cào
+\u64D0	擐	huàn
+\u64D1	擑	chā
+\u64D2	擒	qín
+\u64D4	擔	dān
+\u64D5	擕	xī
+\u64D6	擖	gě
+\u64D7	擗	pǐ
+\u64D8	擘	bò
+\u64DF	擟	mí
+\u64EA	擪	huò
+\u64ED	擭	huò
+\u64EE	擮	jí
+\u64F0	擰	níng
+\u64F1	擱	gē
+\u64F2	擲	zhì
+\u64F3	擳	jié
+\u64F6	擶	jiàn
+\u64F9	擹	sòu
+\u64FC	擼	lì
+\u64FE	擾	rǎo
+\u64FF	擿	tì
+\u6500	攀	pān
+\u6503	攃	huō
+\u650A	攊	huǎn
+\u650D	攍	xiān
+\u6516	攖	yīng
+\u6518	攘	rǎng
+\u6519	攙	chān
+\u651C	攜	xié
+\u651D	攝	shè
+\u651E	攞	luō
+\u651F	攟	jùn
+\u6521	攡	chī
+\u6522	攢	cuán
+\u6523	攣	luán
+\u6524	攤	tān
+\u6527	攧	diān
+\u6528	攨	tǎng
+\u652A	攪	jiǎo
+\u6533	攳	pō
+\u6535	攵	kǎo
+\u6537	攷	kǎo
+\u6538	攸	bīn
+\u653E	放	fàng
+\u653F	政	zhèng
+\u6540	敀	bó
+\u6545	故	gù
+\u6546	敆	guó
+\u654C	敌	dí
+\u654F	敏	mǐn
+\u6557	敗	bài
+\u6559	教	jiāo
+\u655A	敚	duó
+\u655C	敜	niè
+\u6563	散	sǎn
+\u6564	敤	diāo
+\u6567	敧	jiǎo
+\u656C	敬	jìng
+\u656F	敯	hūn
+\u6570	数	shù
+\u6571	敱	ái
+\u6572	敲	qiāo
+\u6578	數	shǔ
+\u6579	敹	liáo
+\u6582	斂	liǎn
+\u6583	斃	bì
+\u6585	斅	jiǎo
+\u6586	斆	jiǎo
+\u6587	文	wén
+\u6588	斈	fēi
+\u6591	斑	bān
+\u6597	斗	dǒu
+\u6598	斘	liáo
+\u659A	斚	jiǎ
+\u659D	斝	jiǎ
+\u65A2	斢	tǒu
+\u65B9	方	fāng
+\u65BA	斺	wū
+\u65BD	施	shī
+\u65BE	斾	liú
+\u65C1	旁	páng
+\u65C2	旂	qí
+\u65C4	旄	máo
+\u65C5	旅	lǚ
+\u65CB	旋	xuán
+\u65CC	旌	jīng
+\u65D0	旐	zhào
+\u65DE	旞	mó
+\u65E1	旡	jì
+\u65E3	旣	jī
+\u65E4	旤	huò
+\u65E6	旦	dàn
+\u65EF	旯	lá
+\u65F0	旰	gàn
+\u65F1	旱	hàn
+\u65FF	旿	hùn
+\u6607	昇	shēng
+\u6610	昐	cuò
+\u6614	昔	xī
+\u6615	昕	xīn
+\u661E	昞	bǐng
+\u6623	昣	chǔn
+\u6626	昦	hào
+\u662C	昬	hūn
+\u662D	昭	zhāo
+\u6631	昱	yù
+\u6632	昲	fèi
+\u6634	昴	mǎo
+\u6636	昶	chǎng
+\u6637	昷	wēn
+\u6638	昸	dōng
+\u6643	晃	huǎng
+\u6644	晄	huǎng
+\u6646	晆	kuā
+\u6648	晈	jiǎo
+\u6655	晕	yūn
+\u6656	晖	huī
+\u665F	晟	shèng
+\u6660	晠	shéng
+\u6662	晢	zhé
+\u6663	晣	zhē
+\u6664	晤	wù
+\u6670	晰	xī
+\u6673	晳	xī
+\u6674	晴	qíng
+\u6679	晹	yì
+\u667B	晻	ǎn
+\u667C	晼	wǎn
+\u6681	暁	gěng
+\u6686	暆	xià
+\u6688	暈	yūn
+\u6689	暉	huī
+\u668C	暌	kuí
+\u668E	暎	lán
+\u6696	暖	nuǎn
+\u6697	暗	àn
+\u669E	暞	hào
+\u66A1	暡	bó
+\u66B5	暵	hàn
+\u66B9	暹	xiān
+\u66C4	曄	yè
+\u66D0	曐	bó
+\u66D4	曔	jìng
+\u66DA	曚	méng
+\u66F2	曲	qǔ
+\u66F3	曳	yè
+\u66F4	更	gèng
+\u66F5	曵	yè
+\u66FD	曽	cēng
+\u66FE	曾	céng
+\u66FF	替	tì
+\u6703	會	huì
+\u6704	朄	yǐn
+\u6705	朅	qiè
+\u670A	朊	ruǎn
+\u670D	服	fú
+\u670E	朎	líng
+\u6710	朐	qú
+\u6714	朔	shuò
+\u671D	朝	cháo
+\u671E	朞	jī
+\u671F	期	qī
+\u6720	朠	lǒng
+\u6728	木	mù
+\u672E	朮	shù
+\u672F	术	shù
+\u6731	朱	zhū
+\u6732	朲	piáo
+\u6735	朵	duǒ
+\u6739	朹	guǐ
+\u673A	机	jī
+\u673F	朿	cì
+\u6742	杂	zá
+\u6746	杆	gān
+\u6747	杇	wū
+\u6748	杈	chā
+\u6749	杉	shān
+\u674A	杊	biāo
+\u6753	杓	sháo
+\u6754	杔	duò
+\u6756	杖	chī
+\u6759	杙	yì
+\u675E	杞	qǐ
+\u6760	杠	gāng
+\u6761	条	tiáo
+\u6767	杧	mǎ
+\u676A	杪	miǎo
+\u676D	杭	háng
+\u676E	杮	bèi
+\u676F	杯	bēi
+\u6776	杶	chūn
+\u6777	杷	pá
+\u6778	杸	niǔ
+\u677B	杻	chǒu
+\u677C	杼	zhù
+\u677D	杽	chǒu
+\u6785	枅	jī
+\u6786	枆	bǐ
+\u6788	枈	bì
+\u678C	枌	fén
+\u678F	枏	nán
+\u6793	枓	dǒu
+\u6794	枔	xún
+\u6796	枖	kè
+\u6799	枙	è
+\u679D	枝	zhī
+\u679E	枞	cōng
+\u679F	枟	yún
+\u67A1	枡	dǒu
+\u67A8	枨	chēng
+\u67AB	枫	fēng
+\u67B2	枲	xǐ
+\u67B3	枳	zhǐ
+\u67B4	枴	gōu
+\u67B8	枸	gōu
+\u67B9	枹	fū
+\u67BA	枺	duò
+\u67C1	柁	tuó
+\u67C3	柃	líng
+\u67C5	柅	nǐ
+\u67CF	柏	bǎi
+\u67D0	某	mǒu
+\u67D2	柒	qī
+\u67DA	柚	yòu
+\u67DB	柛	guì
+\u67DC	柜	guì
+\u67DD	柝	tuò
+\u67DF	柟	nán
+\u67E4	柤	zhā
+\u67E5	查	chá
+\u67E6	柦	dàn
+\u67F2	柲	bì
+\u67F5	柵	zhà
+\u67F6	柶	sì
+\u67FC	柼	chēng
+\u67FE	柾	cè
+\u6807	标	biāo
+\u680A	栊	láo
+\u680F	栏	lán
+\u6810	栐	sǔn
+\u6813	栓	shuān
+\u6816	栖	qī
+\u6817	栗	lì
+\u6819	栙	shè
+\u681D	栝	guā
+\u681E	栞	bēn
+\u6820	栠	jiǎo
+\u6821	校	xiào
+\u6822	栢	bǎi
+\u6823	栣	rěn
+\u6830	栰	fá
+\u6838	核	hé
+\u6839	根	gēn
+\u683B	栻	shì
+\u683C	格	gé
+\u683D	栽	zāi
+\u683E	栾	hàng
+\u6841	桁	héng
+\u6842	桂	guì
+\u6844	桄	guāng
+\u6845	桅	wéi
+\u6847	桇	ān
+\u6849	桉	ān
+\u684A	桊	juàn
+\u684B	桋	yí
+\u684E	桎	zhì
+\u684F	桏	jú
+\u6854	桔	jú
+\u6855	桕	gāo
+\u6856	桖	duǒ
+\u6858	桘	chuí
+\u6859	桙	móu
+\u685A	桚	ráo
+\u6862	桢	zhēn
+\u6863	档	dǎng
+\u6864	桤	guì
+\u6868	桨	jiǎng
+\u686A	桪	xín
+\u686B	桫	suō
+\u686E	桮	bēi
+\u6870	桰	guā
+\u6873	桳	bèn
+\u6884	梄	yǒu
+\u688F	梏	gù
+\u6890	梐	bì
+\u6899	梙	huàn
+\u689D	條	tiáo
+\u68A0	梠	lǚ
+\u68A1	梡	kuǎn
+\u68A2	梢	shāo
+\u68A3	梣	cén
+\u68A4	梤	fén
+\u68A7	梧	wú
+\u68A8	梨	lí
+\u68AA	梪	dòu
+\u68AC	梬	chěng
+\u68AD	梭	suō
+\u68AE	梮	jú
+\u68B0	械	xiè
+\u68B1	梱	kǔn
+\u68BC	梼	dǎo
+\u68BD	梽	tuō
+\u68C2	棂	líng
+\u68C7	棇	cōng
+\u68CC	棌	āo
+\u68CE	棎	bài
+\u68D2	棒	bàng
+\u68D4	棔	dài
+\u68E4	棤	quàn
+\u68ED	棭	niàn
+\u68F0	棰	chuí
+\u68F1	棱	léng
+\u68F2	棲	qī
+\u68F3	棳	kě
+\u68F6	棶	lái
+\u68FA	棺	guān
+\u68FB	棻	fēn
+\u68FC	棼	fén
+\u68FD	棽	chēn
+\u68FE	棾	qióng
+\u6906	椆	chóu
+\u690A	椊	chuí
+\u690E	椎	chuí
+\u690F	椏	yā
+\u6910	椐	jū
+\u6912	椒	jiāo
+\u6915	椕	bīn
+\u692D	椭	tuǒ
+\u692F	椯	duó
+\u6931	椱	fòu
+\u6936	椶	hán
+\u6938	椸	yí
+\u693A	椺	jiān
+\u693F	椿	chūn
+\u6941	楁	chā
+\u6942	楂	chá
+\u6943	楃	huī
+\u694F	楏	kuí
+\u6952	楒	sī
+\u6954	楔	xiē
+\u6955	楕	jí
+\u6957	楗	jiàn
+\u6958	楘	mù
+\u695B	楛	hù
+\u695C	楜	hú
+\u695F	楟	tíng
+\u6966	楦	xuàn
+\u6969	楩	pián
+\u696B	楫	jí
+\u696D	業	yè
+\u696F	楯	shǔn
+\u6972	楲	jiē
+\u6978	楸	qiū
+\u6983	榃	fú
+\u6992	榒	lǎng
+\u6995	榕	róng
+\u699D	榝	huàng
+\u69A0	榠	míng
+\u69A6	榦	gàn
+\u69A7	榧	fěi
+\u69AB	榫	sǔn
+\u69BE	榾	gǔ
+\u69BF	榿	gǎo
+\u69C1	槁	gǎo
+\u69C2	槂	hé
+\u69C6	槆	duī
+\u69CD	槍	qiāng
+\u69CE	槎	chá
+\u69CF	槏	chù
+\u69D3	槓	gàng
+\u69D6	槖	tuó
+\u69D8	様	kǎn
+\u69DC	槜	bīng
+\u69E0	槠	qī
+\u69EE	槮	sēn
+\u69EF	槯	cuī
+\u69F2	槲	hú
+\u69F4	槴	hù
+\u69F8	槸	niè
+\u69FE	槾	mán
+\u69FF	槿	jǐn
+\u6A00	樀	chōng
+\u6A02	樂	lè
+\u6A03	樃	láng
+\u6A06	樆	fàn
+\u6A0B	樋	léi
+\u6A10	樐	lǔ
+\u6A14	樔	cháo
+\u6A15	樕	chēng
+\u6A17	樗	chū
+\u6A19	標	biāo
+\u6A21	模	mó
+\u6A22	樢	niǎo
+\u6A24	樤	guāng
+\u6A2B	樫	jiān
+\u6A2F	樯	cóng
+\u6A38	樸	pú
+\u6A39	樹	shù
+\u6A3E	樾	yuè
+\u6A40	橀	chūn
+\u6A42	橂	diàn
+\u6A46	橆	cuì
+\u6A48	橈	náo
+\u6A49	橉	lìn
+\u6A50	橐	tuó
+\u6A51	橑	lǎo
+\u6A52	橒	chén
+\u6A5A	橚	sù
+\u6A5E	橞	duǒ
+\u6A63	橣	chōng
+\u6A67	橧	zēng
+\u6A6B	橫	héng
+\u6A6C	橬	cén
+\u6A81	檁	lǐn
+\u6A87	檇	zuì
+\u6A8C	檌	pú
+\u6A90	檐	yán
+\u6A91	檑	léi
+\u6A92	檒	dàng
+\u6A94	檔	dàng
+\u6A95	檕	jì
+\u6A96	檖	suì
+\u6A98	檘	bì
+\u6A9C	檜	guì
+\u6A9D	檝	jí
+\u6A9F	檟	jiǎ
+\u6AA1	檡	shì
+\u6AA2	檢	jiǎn
+\u6AAC	檬	méng
+\u6AAF	檯	tái
+\u6AB2	檲	bīng
+\u6AB3	檳	bīn
+\u6AB4	檴	huò
+\u6AB6	檶	kǎn
+\u6ABB	檻	jiàn
+\u6ABC	檼	yǐn
+\u6ABD	檽	ér
+\u6ABE	檾	jiǒng
+\u6ABF	檿	yǎn
+\u6AC3	櫃	guì
+\u6ACF	櫏	léi
+\u6AD2	櫒	sà
+\u6ADA	櫚	lǘ
+\u6ADC	櫜	gāo
+\u6AE0	櫠	fèi
+\u6AE2	櫢	guàn
+\u6AED	櫭	jì
+\u6AEE	櫮	è
+\u6AFF	櫿	liàn
+\u6B05	欅	jǔ
+\u6B10	欐	lǐ
+\u6B11	欑	zàn
+\u6B19	欙	léi
+\u6B21	次	cì
+\u6B22	欢	huān
+\u6B28	欨	ké
+\u6B2D	欭	hē
+\u6B32	欲	yù
+\u6B39	欹	yī
+\u6B3A	欺	qī
+\u6B3B	欻	chuā
+\u6B3C	欼	chǐ
+\u6B3E	款	kuǎn
+\u6B3F	欿	kǎn
+\u6B43	歃	shà
+\u6B44	歄	guā
+\u6B46	歆	xīn
+\u6B48	歈	ǒu
+\u6B51	歑	hū
+\u6B55	歕	pēn
+\u6B56	歖	chuā
+\u6B59	歙	shè
+\u6B5B	歛	liǎn
+\u6B5C	歜	chù
+\u6B63	正	zhèng
+\u6B64	此	cǐ
+\u6B6B	歫	jù
+\u6B71	歱	kuì
+\u6B79	歹	dǎi
+\u6B7A	歺	dǎi
+\u6B7F	歿	mò
+\u6B81	殁	mò
+\u6B82	殂	cú
+\u6B8E	殎	jìng
+\u6B92	殒	yǔn
+\u6B97	殗	dié
+\u6B9D	殝	nì
+\u6BA3	殣	jìn
+\u6BB7	殷	yīn
+\u6BB8	殸	qìng
+\u6BBB	殻	ké
+\u6BBC	殼	ké
+\u6BBD	殽	yáo
+\u6BBE	殾	huì
+\u6BC1	毁	huǐ
+\u6BC7	毇	huǐ
+\u6BCC	毌	guàn
+\u6BCE	毎	měi
+\u6BD0	毐	ǎi
+\u6BD2	毒	dú
+\u6BD4	比	bǐ
+\u6BD5	毕	bì
+\u6BDE	毞	mào
+\u6BE4	毤	ěr
+\u6BE7	毧	róng
+\u6BF4	毴	bī
+\u6BF9	毹	shū
+\u6BFA	毺	máo
+\u6C02	氂	máo
+\u6C03	氃	bǎng
+\u6C07	氇	lǔ
+\u6C0D	氍	qú
+\u6C10	氐	dǐ
+\u6C11	民	mín
+\u6C13	氓	máng
+\u6C14	气	qì
+\u6C24	氤	yīn
+\u6C25	氥	xī
+\u6C2F	氯	lǜ
+\u6C31	氱	niào
+\u6C3E	氾	fàn
+\u6C3F	氿	guǐ
+\u6C41	汁	zhī
+\u6C42	求	qiú
+\u6C44	汄	hàn
+\u6C4A	汊	chà
+\u6C4C	汌	chuàn
+\u6C4F	汏	dà
+\u6C50	汐	xī
+\u6C51	汑	shuàn
+\u6C56	汖	gān
+\u6C58	汘	qiān
+\u6C5A	汚	wā
+\u6C5B	汛	xùn
+\u6C61	污	wū
+\u6C64	汤	tāng
+\u6C65	汥	gǔ
+\u6C69	汩	gǔ
+\u6C6A	汪	wāng
+\u6C6B	汫	mén
+\u6C77	汷	gāi
+\u6C7E	汾	fén
+\u6C7F	汿	xù
+\u6C83	沃	wò
+\u6C87	沇	yǎn
+\u6C88	沈	shěn
+\u6C89	沉	chén
+\u6C8D	沍	hù
+\u6C8F	沏	qī
+\u6C90	沐	mù
+\u6C92	沒	méi
+\u6C93	沓	tà
+\u6C94	沔	miǎn
+\u6C96	沖	chōng
+\u6C9A	沚	zhǐ
+\u6CA2	沢	ōu
+\u6CA5	沥	lì
+\u6CA9	沩	huì
+\u6CAD	沭	jiān
+\u6CAE	沮	jǔ
+\u6CAF	沯	chí
+\u6CB2	沲	duò
+\u6CB3	河	hé
+\u6CB6	沶	fú
+\u6CB9	油	yóu
+\u6CBA	沺	chí
+\u6CBC	沼	zhǎo
+\u6CBE	沾	diàn
+\u6CBF	沿	yán
+\u6CC0	泀	jū
+\u6CC4	泄	xiè
+\u6CC5	泅	qiú
+\u6CC6	泆	yī
+\u6CC7	泇	jiā
+\u6CCB	泋	bì
+\u6CCC	泌	bì
+\u6CCD	泍	bēn
+\u6CD2	泒	gū
+\u6CD5	法	fǎ
+\u6CD7	泗	sì
+\u6CDA	泚	cǐ
+\u6CDC	泜	chí
+\u6CDD	泝	sù
+\u6CDF	泟	chēng
+\u6CE1	泡	pāo
+\u6CE2	波	bō
+\u6CE3	泣	qì
+\u6CE4	泤	nǐ
+\u6CE5	泥	ní
+\u6CE6	泦	jú
+\u6CE9	泩	shēng
+\u6CEC	泬	jué
+\u6CED	泭	fū
+\u6CEE	泮	pàn
+\u6CF0	泰	tài
+\u6CF2	泲	jǐ
+\u6CF6	泶	shuāng
+\u6CF8	泸	lú
+\u6CFB	泻	xiè
+\u6CFD	泽	zé
+\u6CFE	泾	jīng
+\u6D01	洁	jié
+\u6D02	洂	huì
+\u6D05	洅	yān
+\u6D08	洈	wéi
+\u6D0C	洌	liè
+\u6D12	洒	sǎ
+\u6D13	洓	suǒ
+\u6D18	洘	hóng
+\u6D1B	洛	luò
+\u6D1F	洟	yí
+\u6D20	洠	móu
+\u6D28	洨	xiáo
+\u6D2C	洬	dào
+\u6D2E	洮	táo
+\u6D2F	洯	jié
+\u6D30	洰	jù
+\u6D34	洴	píng
+\u6D36	洶	xiōng
+\u6D39	洹	huán
+\u6D3C	洼	wā
+\u6D3D	洽	qià
+\u6D3E	派	pài
+\u6D3F	洿	wū
+\u6D44	浄	jiàng
+\u6D47	浇	jiāo
+\u6D48	浈	chéng
+\u6D49	浉	shī
+\u6D4F	浏	liú
+\u6D52	浒	hǔ
+\u6D5B	浛	hán
+\u6D5C	浜	bāng
+\u6D5D	浝	dí
+\u6D60	浠	xī
+\u6D64	浤	hóng
+\u6D66	浦	pǔ
+\u6D6A	浪	làng
+\u6D6B	浫	hǎi
+\u6D6D	浭	gēng
+\u6D70	浰	lì
+\u6D71	浱	chún
+\u6D79	浹	jiā
+\u6D7A	浺	chōng
+\u6D88	消	xiāo
+\u6D8A	涊	niǎn
+\u6D8B	涋	chōng
+\u6D8D	涍	diàn
+\u6D8F	涏	shù
+\u6D92	涒	tūn
+\u6D94	涔	cén
+\u6D95	涕	tì
+\u6D9C	涜	dú
+\u6D9E	涞	guō
+\u6DA2	涢	yún
+\u6DA9	涩	sè
+\u6DAB	涫	guàn
+\u6DAF	涯	yá
+\u6DB3	涳	kōng
+\u6DB5	涵	hán
+\u6DB6	涶	dòng
+\u6DB8	涸	hé
+\u6DB9	涹	liàng
+\u6DBD	涽	hūn
+\u6DBF	涿	zhuō
+\u6DC0	淀	diàn
+\u6DC7	淇	qí
+\u6DCA	淊	yān
+\u6DCB	淋	lìn
+\u6DCC	淌	tǎng
+\u6DCD	淍	chù
+\u6DD2	淒	qī
+\u6DD7	淗	jú
+\u6DDA	淚	lèi
+\u6DDB	淛	zhè
+\u6DDC	淜	péng
+\u6DDD	淝	féi
+\u6DDF	淟	tiǎn
+\u6DE1	淡	dàn
+\u6DE2	淢	yù
+\u6DE3	淣	guān
+\u6DEB	淫	yín
+\u6DEC	淬	cuì
+\u6DED	淭	liǎn
+\u6DF0	淰	niǎn
+\u6DF1	深	shēn
+\u6DF4	淴	hū
+\u6DF5	淵	yuān
+\u6DF7	混	hún
+\u6DF8	淸	qīng
+\u6DFA	淺	qiǎn
+\u6DFB	添	tiǎn
+\u6DFC	淼	miǎo
+\u6E04	渄	fēi
+\u6E06	渆	dié
+\u6E0A	渊	yuān
+\u6E10	渐	jiàn
+\u6E11	渑	miǎn
+\u6E12	渒	pì
+\u6E18	渘	huì
+\u6E1A	渚	zhǔ
+\u6E21	渡	dù
+\u6E23	渣	zhā
+\u6E26	渦	guō
+\u6E27	渧	dì
+\u6E29	温	wēn
+\u6E2A	渪	dié
+\u6E2C	測	cè
+\u6E30	渰	yān
+\u6E31	渱	ěr
+\u6E34	渴	kě
+\u6E35	渵	liú
+\u6E39	渹	hōng
+\u6E3A	渺	miǎo
+\u6E3C	渼	měi
+\u6E3F	渿	bá
+\u6E44	湄	méi
+\u6E4E	湎	miǎn
+\u6E52	湒	jí
+\u6E54	湔	jiān
+\u6E55	湕	chén
+\u6E5C	湜	shí
+\u6E5F	湟	huáng
+\u6E60	湠	hūn
+\u6E64	湤	jú
+\u6E69	湩	dòng
+\u6E6A	湪	jiǎo
+\u6E6B	湫	jiǎo
+\u6E6C	湬	jiǎo
+\u6E6E	湮	yān
+\u6E6F	湯	tāng
+\u6E70	湰	lóng
+\u6E7C	湼	niè
+\u6E80	満	jiān
+\u6E86	溆	xù
+\u6E88	溈	guī
+\u6E89	溉	gài
+\u6E8C	溌	liǎn
+\u6E94	溔	kài
+\u6E99	溙	liú
+\u6E9D	溝	gōu
+\u6E9E	溞	mì
+\u6EA0	溠	zhà
+\u6EA1	溡	bó
+\u6EA6	溦	qī
+\u6EAA	溪	xī
+\u6EAB	溫	wēn
+\u6EAE	溮	shī
+\u6EB0	溰	qín
+\u6EB2	溲	sōu
+\u6EB3	溳	hún
+\u6EB8	溸	sù
+\u6EBA	溺	nì
+\u6EBB	溻	tā
+\u6EBC	溼	shī
+\u6EBD	溽	rù
+\u6EC1	滁	chú
+\u6EC4	滄	cāng
+\u6EC7	滇	diān
+\u6EC8	滈	hào
+\u6ECA	滊	cí
+\u6ECC	滌	dí
+\u6ECE	滎	xíng
+\u6ECF	滏	fǔ
+\u6ED1	滑	huá
+\u6ED2	滒	bì
+\u6ED8	滘	jiào
+\u6EDC	滜	gāo
+\u6EDD	滝	lóng
+\u6EDE	滞	zhì
+\u6EE2	滢	yíng
+\u6EE3	滣	chún
+\u6EEB	滫	xiū
+\u6EEC	滬	hù
+\u6EF0	滰	jiǎng
+\u6EF3	滳	shāng
+\u6EF9	滹	hū
+\u6EFA	滺	dí
+\u6EFB	滻	chǎn
+\u6EFE	滾	gǔn
+\u6F00	漀	biāo
+\u6F02	漂	piāo
+\u6F03	漃	jí
+\u6F0A	漊	lǚ
+\u6F0B	漋	lóng
+\u6F0F	漏	lòu
+\u6F10	漐	yàn
+\u6F15	漕	cáo
+\u6F16	漖	chún
+\u6F18	漘	chún
+\u6F19	漙	tuán
+\u6F1A	漚	ōu
+\u6F1B	漛	tān
+\u6F23	漣	lián
+\u6F24	漤	gān
+\u6F28	漨	féng
+\u6F2A	漪	yī
+\u6F2C	漬	zì
+\u6F2D	漭	mǎng
+\u6F2F	漯	tà
+\u6F30	漰	pēng
+\u6F32	漲	zhǎng
+\u6F33	漳	zhāng
+\u6F38	漸	jiān
+\u6F39	漹	liú
+\u6F3C	漼	cuǐ
+\u6F3F	漿	jiāng
+\u6F40	潀	cóng
+\u6F45	潅	guàn
+\u6F46	潆	piē
+\u6F4F	潏	jué
+\u6F50	潐	bō
+\u6F52	潒	bō
+\u6F59	潙	guī
+\u6F5A	潚	xiāo
+\u6F5E	潞	lù
+\u6F60	潠	xùn
+\u6F61	潡	dùn
+\u6F63	潣	láo
+\u6F66	潦	lǎo
+\u6F67	潧	shàn
+\u6F6D	潭	tán
+\u6F6E	潮	cháo
+\u6F70	潰	kuì
+\u6F71	潱	sǎ
+\u6F76	潶	bì
+\u6F78	潸	shān
+\u6F7D	潽	dèng
+\u6F84	澄	chéng
+\u6F85	澅	ào
+\u6F87	澇	lào
+\u6F88	澈	chè
+\u6F8A	澊	cūn
+\u6F8C	澌	sī
+\u6F8D	澍	shù
+\u6F8E	澎	péng
+\u6F8F	澏	hàn
+\u6F92	澒	hòng
+\u6F93	澓	fú
+\u6FA0	澠	shéng
+\u6FA1	澡	zǎo
+\u6FA2	澢	dāng
+\u6FA3	澣	huǎn
+\u6FA4	澤	zé
+\u6FA5	澥	xiè
+\u6FAA	澪	huá
+\u6FAF	澯	càn
+\u6FB4	澴	huán
+\u6FB7	澷	dān
+\u6FB9	澹	dàn
+\u6FBA	澺	jiāo
+\u6FC1	濁	zhuó
+\u6FC3	濃	nóng
+\u6FC5	濅	fèn
+\u6FC7	濇	sè
+\u6FCB	濋	chǔ
+\u6FD0	濐	mí
+\u6FD5	濕	shī
+\u6FD6	濖	nì
+\u6FD9	濙	yíng
+\u6FDA	濚	bì
+\u6FDF	濟	jì
+\u6FE0	濠	háo
+\u6FE2	濢	cháo
+\u6FE5	濥	xī
+\u6FE7	濧	duì
+\u6FEA	濪	jiàn
+\u6FEC	濬	jùn
+\u6FEE	濮	pú
+\u6FEF	濯	zhuó
+\u6FF0	濰	wéi
+\u6FF6	濶	jiān
+\u6FFB	濻	duì
+\u6FFC	濼	luò
+\u6FFD	濽	cuán
+\u6FFE	濾	lǜ
+\u7002	瀂	jiōng
+\u7005	瀅	yíng
+\u7006	瀆	dú
+\u7007	瀇	chèn
+\u700C	瀌	biāo
+\u7010	瀐	bào
+\u7011	瀑	pù
+\u7012	瀒	qìn
+\u701A	瀚	hàn
+\u701D	瀝	lì
+\u7027	瀧	lóng
+\u7028	瀨	lài
+\u7031	瀱	jì
+\u7035	瀵	fèn
+\u703A	瀺	chán
+\u703D	瀽	jiǎn
+\u7043	灃	fēng
+\u7045	灅	huàn
+\u704D	灍	lí
+\u7052	灒	hàn
+\u7059	灙	dǎng
+\u7069	灩	yàn
+\u706D	灭	miè
+\u7076	灶	zào
+\u7081	炁	gěng
+\u7085	炅	guì
+\u7086	炆	wén
+\u708A	炊	chuī
+\u708F	炏	gěng
+\u7094	炔	quē
+\u7095	炕	kàng
+\u7097	炗	guāng
+\u709C	炜	wěi
+\u70A5	炥	fú
+\u70A8	炨	bāo
+\u70AF	炯	jiǒng
+\u70B1	炱	tái
+\u70B8	炸	zhá
+\u70B9	点	diǎn
+\u70BA	為	wèi
+\u70BB	炻	luò
+\u70C2	烂	làn
+\u70C4	烄	jiǎo
+\u70C8	烈	liè
+\u70CB	烋	xiāo
+\u70CC	烌	wù
+\u70D0	烐	miè
+\u70D6	烖	gé
+\u70D9	烙	lào
+\u70DA	烚	huǐ
+\u70DD	烝	zhēng
+\u70E0	烠	huǐ
+\u70E8	烨	tīng
+\u70F4	烴	tīng
+\u70F5	烵	shán
+\u70FC	烼	hū
+\u7105	焅	kù
+\u7109	焉	yān
+\u710A	焊	hàn
+\u7110	焐	tāo
+\u7119	焙	bèi
+\u711B	焛	hǔn
+\u711D	焝	hùn
+\u7122	焢	hōng
+\u7127	焧	cōng
+\u712C	焬	xí
+\u712F	焯	chāo
+\u7130	焰	yàn
+\u7132	焲	jiāo
+\u7134	焴	shén
+\u7142	煂	hè
+\u7147	煇	huī
+\u7148	煈	fèng
+\u714A	煊	jiǎn
+\u714F	煏	bì
+\u7153	煓	qián
+\u7155	煕	xī
+\u7157	煗	méi
+\u715E	煞	shà
+\u715F	煟	wèi
+\u7161	煡	xìn
+\u7167	照	zhào
+\u7169	煩	fán
+\u716D	煭	bāo
+\u7172	煲	bāo
+\u7173	煳	hú
+\u7175	煵	shàn
+\u717E	煾	n̄
+\u7185	熅	yùn
+\u7186	熆	hé
+\u7187	熇	kǎo
+\u7190	熐	jiǒng
+\u7193	熓	liù
+\u7199	熙	xī
+\u719A	熚	bì
+\u719F	熟	shú
+\u71A0	熠	yì
+\u71A8	熨	yù
+\u71A9	熩	āo
+\u71AC	熬	áo
+\u71AD	熭	dǎn
+\u71C1	燁	yè
+\u71C3	燃	rán
+\u71C6	燆	dūn
+\u71CA	燊	shēn
+\u71CC	燌	bèn
+\u71CD	燍	liáo
+\u71CE	燎	liáo
+\u71CF	燏	yù
+\u71D3	燓	fēn
+\u71D5	燕	yàn
+\u71D6	燖	xún
+\u71D7	燗	dàng
+\u71DA	燚	cuō
+\u71E0	燠	yù
+\u71E1	燡	yì
+\u71E6	燦	càn
+\u71FA	燺	dào
+\u71FE	燾	dào
+\u71FF	燿	yào
+\u7200	爀	bó
+\u7207	爇	rè
+\u7208	爈	liè
+\u720A	爊	āo
+\u720B	爋	xūn
+\u720C	爌	huàng
+\u720D	爍	shuò
+\u720F	爏	lì
+\u7214	爔	shuò
+\u721B	爛	làn
+\u721E	爞	chóng
+\u721F	爟	guàn
+\u722C	爬	pá
+\u722E	爮	páo
+\u7234	爴	fǔ
+\u7237	爷	yé
+\u723C	爼	shuāng
+\u723E	爾	ěr
+\u7240	牀	chuáng
+\u7247	片	piàn
+\u7248	版	bǎn
+\u724F	牏	tóu
+\u7250	牐	cōng
+\u7256	牖	yǒu
+\u725A	牚	chēng
+\u725B	牛	niú
+\u7260	牠	tā
+\u7261	牡	mǔ
+\u7263	牣	rèn
+\u7265	牥	fāng
+\u7267	牧	mù
+\u7271	牱	gē
+\u7276	牶	quàn
+\u727B	牻	máng
+\u727E	牾	wú
+\u727F	牿	gù
+\u7285	犅	gāng
+\u7286	犆	tè
+\u7287	犇	bēn
+\u728E	犎	fēng
+\u729C	犜	bēi
+\u72A5	犥	bó
+\u72A7	犧	xī
+\u72A8	犨	chōu
+\u72AA	犪	chái
+\u72B3	犳	án
+\u72B5	犵	qì
+\u72B9	犹	yóu
+\u72C0	狀	zhuàng
+\u72C3	狃	niǔ
+\u72C4	狄	dí
+\u72C5	狅	qīng
+\u72CC	狌	shēng
+\u72CD	狍	páo
+\u72D9	狙	jū
+\u72DE	狞	níng
+\u72E1	狡	jiǎo
+\u72E2	狢	hé
+\u72E6	狦	kuài
+\u72F0	狰	zhēng
+\u72F7	狷	juàn
+\u72F9	狹	xiá
+\u72FC	狼	láng
+\u72FD	狽	bèi
+\u7308	猈	bà
+\u730F	猏	jiān
+\u7313	猓	guǒ
+\u7314	猔	ē
+\u7318	猘	zhì
+\u7321	猡	luó
+\u7326	猦	fēng
+\u732C	猬	wèi
+\u7332	猲	hè
+\u7333	猳	jiā
+\u7337	猷	yóu
+\u733D	猽	mǎ
+\u7342	獂	huán
+\u7343	獃	dāi
+\u734B	獋	háo
+\u7350	獐	zhāng
+\u7357	獗	jué
+\u735E	獞	tóng
+\u7360	獠	liáo
+\u7361	獡	què
+\u7362	獢	huá
+\u736B	獫	xiǎn
+\u736D	獭	tǎ
+\u736E	獮	xiǎn
+\u736F	獯	xūn
+\u7372	獲	huò
+\u7375	獵	liè
+\u7378	獸	shòu
+\u737A	獺	tǎ
+\u737B	獻	xiàn
+\u737C	獼	mí
+\u737F	獿	ě
+\u7381	玁	xiǎn
+\u7385	玅	miào
+\u7387	率	lǜ
+\u7388	玈	lú
+\u738C	玌	chuàn
+\u7394	玔	chuàn
+\u7395	玕	gān
+\u7399	玙	chàng
+\u739B	玛	mǎ
+\u739F	玟	mín
+\u73A0	玠	jiè
+\u73A2	玢	bīn
+\u73A3	玣	bàng
+\u73A4	玤	bàng
+\u73A5	玥	yuè
+\u73A9	玩	wán
+\u73AA	玪	jiān
+\u73AE	玮	wěi
+\u73B8	玸	cī
+\u73BD	玽	gǒu
+\u73CA	珊	shān
+\u73DF	珟	sù
+\u73E4	珤	bǎo
+\u73F3	珳	hàn
+\u73F6	珶	dì
+\u7401	琁	xuān
+\u7402	琂	juān
+\u7405	琅	láng
+\u7406	理	lǐ
+\u740B	琋	lí
+\u740E	琎	jīn
+\u740F	琏	lián
+\u7410	琐	suǒ
+\u7416	琖	zhǎn
+\u741F	琟	wéi
+\u7423	琣	huī
+\u7440	瑀	yǔ
+\u7442	瑂	méi
+\u744B	瑋	wěi
+\u7453	瑓	huán
+\u7458	瑘	yé
+\u746A	瑪	mǎ
+\u7471	瑱	tiàn
+\u7472	瑲	qiāng
+\u7474	瑴	jìn
+\u747F	瑿	lī
+\u7484	璄	liǎn
+\u748A	璊	mén
+\u748B	璋	zhāng
+\u749A	璚	jué
+\u749B	璛	jīn
+\u74A2	璢	huàn
+\u74B1	璱	sè
+\u74BA	璺	wèn
+\u74CB	瓋	bó
+\u74E0	瓠	hù
+\u74E1	瓡	wà
+\u74E8	瓨	hóng
+\u74E9	瓩	qiān
+\u74EA	瓪	bù
+\u7500	甀	zhuì
+\u7503	甃	zhòu
+\u7506	甆	cí
+\u750D	甍	méng
+\u7510	甐	lín
+\u751A	甚	shèn
+\u751B	甛	hán
+\u751E	甞	cháng
+\u7521	甡	shēn
+\u7522	產	chǎn
+\u752C	甬	yǒng
+\u752D	甭	béng
+\u752E	甮	fèng
+\u7530	田	tián
+\u7532	甲	jiǎ
+\u7539	甹	pīng
+\u753A	町	tǐng
+\u753B	画	huà
+\u753E	甾	zāi
+\u753F	甿	méng
+\u7542	畂	jiù
+\u7543	畃	wēi
+\u7558	畘	liǔ
+\u755A	畚	běn
+\u755C	畜	chù
+\u755D	畝	mǔ
+\u7565	略	lüè
+\u7567	畧	fān
+\u756A	番	fān
+\u756B	畫	huà
+\u756D	畭	liǔ
+\u7572	畲	shē
+\u7573	畳	dàng
+\u7576	當	dāng
+\u7577	畷	chuò
+\u7578	畸	jī
+\u7579	畹	wǎn
+\u757A	畺	jiāng
+\u7587	疇	chóu
+\u7589	疉	dié
+\u758C	疌	niè
+\u758F	疏	shū
+\u7590	疐	zhì
+\u7591	疑	yí
+\u7592	疒	chuáng
+\u7595	疕	bǐ
+\u7598	疘	gāng
+\u7599	疙	gē
+\u759A	疚	jiù
+\u759F	疟	nüè
+\u75A0	疠	lì
+\u75A4	疤	bā
+\u75B5	疵	cī
+\u75B6	疶	xiè
+\u75B9	疹	zhěn
+\u75BA	疺	fá
+\u75BE	疾	jí
+\u75C0	痀	gōu
+\u75C1	痁	diàn
+\u75C2	痂	jiā
+\u75C4	痄	zhà
+\u75C5	病	bìng
+\u75C7	症	zhèng
+\u75C8	痈	liē
+\u75CF	痏	wěi
+\u75D3	痓	chì
+\u75D6	痖	pī
+\u75E7	痧	shā
+\u75F2	痲	má
+\u75FA	痺	bì
+\u75FB	痻	mín
+\u75FC	痼	gù
+\u75FD	痽	duī
+\u75FF	痿	wěi
+\u7603	瘃	zhú
+\u7604	瘄	cù
+\u7606	瘆	shèn
+\u7608	瘈	jì
+\u7609	瘉	yù
+\u760E	瘎	shèn
+\u7616	瘖	yīn
+\u7619	瘙	sào
+\u761A	瘚	jué
+\u7620	瘠	jí
+\u7621	瘡	chuāng
+\u7625	瘥	chài
+\u7626	瘦	shòu
+\u7627	瘧	nüè
+\u7628	瘨	diān
+\u7629	瘩	dá
+\u762A	瘪	biē
+\u762B	瘫	tān
+\u762F	瘯	cù
+\u7634	瘴	zhàng
+\u7636	瘶	lòu
+\u763C	瘼	mò
+\u7643	癃	lóng
+\u7647	癇	xián
+\u7649	癉	dān
+\u764A	癊	ái
+\u764C	癌	ái
+\u764D	癍	bān
+\u765C	癜	diàn
+\u765E	癞	là
+\u765F	癟	biě
+\u7660	癠	jì
+\u7661	癡	chī
+\u7664	癤	jié
+\u7669	癩	lài
+\u766B	癫	diān
+\u766C	癬	xuǎn
+\u766D	癭	yǐng
+\u767A	発	fā
+\u767B	登	dēng
+\u767C	發	fā
+\u767D	白	bái
+\u767E	百	bǎi
+\u767F	癿	jí
+\u7681	皁	dí
+\u7684	的	dē
+\u7685	皅	pā
+\u7688	皈	guī
+\u768C	皌	huī
+\u7694	皔	hàn
+\u7697	皗	chóu
+\u769C	皜	hào
+\u769D	皝	cuì
+\u76A1	皡	hào
+\u76A5	皥	hào
+\u76AD	皭	jiào
+\u76B7	皷	gǔ
+\u76BB	皻	mǐng
+\u76C0	盀	diào
+\u76C5	盅	zhōng
+\u76C6	盆	pén
+\u76CE	盎	àng
+\u76D1	监	jiān
+\u76D2	盒	hé
+\u76D3	盓	gě
+\u76D7	盗	dào
+\u76DB	盛	shèng
+\u76DC	盜	dào
+\u76E0	盠	jǐn
+\u76E2	盢	jiàn
+\u76E3	監	jiān
+\u76E4	盤	pán
+\u76E5	盥	guàn
+\u76E9	盩	zhōu
+\u76EA	盪	dàng
+\u76EF	盯	dīng
+\u76F0	盰	gǎn
+\u76F3	盳	máng
+\u76F4	直	zhí
+\u76F8	相	xiāng
+\u76F9	盹	dǔn
+\u76FA	盺	fén
+\u76FD	盽	fēng
+\u76FF	盿	mín
+\u7701	省	shěng
+\u7702	眂	miào
+\u7708	眈	dān
+\u7709	眉	méi
+\u770B	看	kàn
+\u770C	県	dèng
+\u7719	眙	yí
+\u771A	眚	shěng
+\u771D	眝	miǎn
+\u7721	眡	dī
+\u772A	眪	bǐng
+\u772E	眮	dòng
+\u7730	眰	dié
+\u7733	眳	míng
+\u7734	眴	xuàn
+\u7735	眵	chī
+\u773D	眽	mò
+\u7741	睁	zhēng
+\u7744	睄	shào
+\u7745	睅	hàn
+\u7748	睈	chěng
+\u7755	睕	wān
+\u7756	睖	lèng
+\u7757	睗	shì
+\u775B	睛	jīng
+\u775C	睜	zhēng
+\u7766	睦	mù
+\u776B	睫	jié
+\u776C	睬	cǎi
+\u7772	睲	jì
+\u777E	睾	gāo
+\u777F	睿	ruì
+\u7780	瞀	mào
+\u7781	瞁	fá
+\u7783	瞃	guì
+\u7787	瞇	mī
+\u7792	瞒	mán
+\u7793	瞓	mén
+\u779F	瞟	piǎo
+\u77A0	瞠	chēng
+\u77A1	瞡	jì
+\u77A4	瞤	bì
+\u77A6	瞦	liào
+\u77AD	瞭	liǎo
+\u77AE	瞮	chè
+\u77B0	瞰	kàn
+\u77B3	瞳	tóng
+\u77B6	瞶	guì
+\u77B7	瞷	jiàn
+\u77B8	瞸	jí
+\u77BF	瞿	qú
+\u77C0	矀	wéi
+\u77C7	矇	mēng
+\u77CA	矊	máng
+\u77D3	矓	lóng
+\u77DD	矝	jué
+\u77DF	矟	shuò
+\u77E4	矤	shěn
+\u77E6	矦	hóu
+\u77EC	矬	cuó
+\u77F0	矰	zēng
+\u77F2	矲	bǎi
+\u77F3	石	shí
+\u77F4	矴	dìng
+\u77F6	矶	jī
+\u77F9	矹	kū
+\u77FC	矼	jiāng
+\u77FD	矽	xī
+\u77FE	矾	fán
+\u780A	砊	kāng
+\u780B	砋	qiè
+\u780D	砍	kǎn
+\u7810	砐	è
+\u7815	砕	suì
+\u7817	砗	chē
+\u781E	砞	mò
+\u781F	砟	zhǎ
+\u7820	砠	qū
+\u7821	砡	kē
+\u7823	砣	tuó
+\u7826	砦	zhài
+\u7829	砩	fèi
+\u782A	砪	mǔ
+\u782C	砬	lá
+\u782D	砭	biān
+\u7831	砱	ài
+\u783A	砺	lì
+\u7845	硅	guī
+\u7846	硆	è
+\u784D	硍	kèn
+\u784F	硏	yán
+\u7851	硑	pēng
+\u7855	硕	shuò
+\u7856	硖	ái
+\u785A	硚	qiáo
+\u785E	硞	láng
+\u7861	硡	hōng
+\u7862	硢	wò
+\u786B	硫	liú
+\u786C	硬	yìng
+\u786D	硭	máng
+\u7877	硷	jiǎn
+\u787D	硽	liù
+\u788D	碍	ài
+\u7891	碑	bēi
+\u7894	碔	wǔ
+\u789A	碚	bèi
+\u789B	碛	qì
+\u78A0	碠	dìng
+\u78A2	碢	kè
+\u78A4	碤	wěi
+\u78A9	碩	shuò
+\u78AA	碪	zhēn
+\u78B2	碲	dì
+\u78B6	碶	qì
+\u78BC	碼	mǎ
+\u78BE	碾	niǎn
+\u78BF	碿	pāng
+\u78C6	磆	huá
+\u78C9	磉	sǎng
+\u78CD	磍	xī
+\u78CF	磏	ái
+\u78D2	磒	kě
+\u78D6	磖	lā
+\u78D8	磘	qìng
+\u78DB	磛	chán
+\u78E0	磠	lǔ
+\u78E3	磣	cà
+\u78E4	磤	yīn
+\u78E5	磥	lěi
+\u78E8	磨	mó
+\u78E9	磩	qī
+\u78EA	磪	cuī
+\u78ED	磭	chuò
+\u78F5	磵	jiàn
+\u78F7	磷	lín
+\u78F8	磸	dìng
+\u78FB	磻	pán
+\u78FC	磼	áo
+\u78FE	磾	dī
+\u7907	礇	yù
+\u790C	礌	léi
+\u790D	礍	kē
+\u791B	礛	jiān
+\u791C	礜	léi
+\u7928	礨	lěi
+\u792C	礬	fán
+\u793B	礻	shì
+\u7942	祂	tā
+\u7945	祅	yāo
+\u7947	祇	qí
+\u7948	祈	qí
+\u7949	祉	zhǐ
+\u794E	祎	fèi
+\u7954	祔	fù
+\u7957	祗	zhī
+\u795E	神	shén
+\u795F	祟	suì
+\u7961	祡	chái
+\u7963	祣	lǚ
+\u7965	祥	xiáng
+\u7969	祩	zhài
+\u796D	祭	jì
+\u796E	祮	gào
+\u7970	祰	gào
+\u7973	祳	chěn
+\u7976	祶	bǐn
+\u7981	禁	jìn
+\u7982	禂	chán
+\u7986	禆	bēi
+\u7988	禈	chǎo
+\u798A	禊	xì
+\u798F	福	fú
+\u7990	禐	yuàn
+\u7995	禕	yī
+\u799D	禝	jí
+\u79A7	禧	xǐ
+\u79A8	禨	jī
+\u79A9	禩	shàn
+\u79AA	禪	chán
+\u79AB	禫	tǎn
+\u79AC	禬	guì
+\u79AD	禭	mí
+\u79B0	禰	mí
+\u79B1	禱	dǎo
+\u79BB	离	lí
+\u79BC	禼	xiè
+\u79C8	秈	xiān
+\u79CD	种	zhǒng
+\u79CE	秎	fén
+\u79D2	秒	miǎo
+\u79D5	秕	bǐ
+\u79D7	秗	bì
+\u79D9	秙	kù
+\u79DD	秝	jū
+\u79E0	秠	pī
+\u79E4	秤	chèng
+\u79E5	秥	nián
+\u79EC	秬	jù
+\u79EF	积	jī
+\u79F1	秱	cí
+\u79F7	秷	zhí
+\u79F9	秹	chǐ
+\u79FC	秼	gào
+\u7A02	稂	láng
+\u7A04	稄	tuàn
+\u7A06	稆	jīng
+\u7A0A	稊	tí
+\u7A0E	税	shuì
+\u7A0F	稏	lèng
+\u7A1D	稝	huà
+\u7A1F	稟	bǐng
+\u7A20	稠	chóu
+\u7A21	稡	lüě
+\u7A26	稦	chóng
+\u7A2E	種	zhǒng
+\u7A2F	稯	chèn
+\u7A31	稱	chèn
+\u7A32	稲	dào
+\u7A36	稶	yù
+\u7A38	稸	biān
+\u7A3A	稺	qǐ
+\u7A3D	稽	jī
+\u7A3E	稾	gǎo
+\u7A41	穁	cǎn
+\u7A48	穈	mén
+\u7A49	穉	zhì
+\u7A5E	穞	kuàng
+\u7A6D	穭	lǚ
+\u7A71	穱	jué
+\u7A74	穴	xué
+\u7A75	穵	wā
+\u7A76	究	jiū
+\u7A77	穷	qióng
+\u7A79	穹	qióng
+\u7A7A	空	kōng
+\u7A7B	穻	tún
+\u7A81	突	tū
+\u7A82	窂	láo
+\u7A85	窅	yǎo
+\u7A89	窉	bǐng
+\u7A8C	窌	jiào
+\u7A91	窑	yáo
+\u7A93	窓	chuāng
+\u7A94	窔	yǎo
+\u7A95	窕	tiǎo
+\u7A96	窖	jiào
+\u7A97	窗	chuāng
+\u7A98	窘	jiǒng
+\u7AA4	窤	guān
+\u7AA6	窦	dòu
+\u7AA8	窨	xūn
+\u7AA9	窩	wō
+\u7AAD	窭	jù
+\u7AAE	窮	qióng
+\u7AB2	窲	cháo
+\u7AB4	窴	tián
+\u7AB7	窷	kuǐ
+\u7ABB	窻	chuāng
+\u7ABE	窾	kuǎn
+\u7AC5	竅	qiào
+\u7AC8	竈	wèi
+\u7ACC	竌	chù
+\u7AD1	竑	hóng
+\u7AD8	竘	jǔ
+\u7AD9	站	zhàn
+\u7ADA	竚	bàng
+\u7ADE	竞	jìng
+\u7AE1	竡	yī
+\u7AE6	竦	sǒng
+\u7AFB	竻	gǎn
+\u7B00	笀	máng
+\u7B10	笐	gāng
+\u7B11	笑	xiào
+\u7B25	笥	sì
+\u7B2F	笯	fán
+\u7B32	笲	fán
+\u7B33	笳	jiā
+\u7B35	笵	fàn
+\u7B3E	笾	biān
+\u7B49	等	děng
+\u7B4C	筌	quán
+\u7B52	筒	tǒng
+\u7B53	筓	dā
+\u7B54	答	dá
+\u7B55	筕	háng
+\u7B56	策	cè
+\u7B61	筡	jiàn
+\u7B68	筨	hán
+\u7B69	筩	tǒng
+\u7B6A	筪	jiā
+\u7B75	筵	yán
+\u7B85	箅	bì
+\u7B88	箈	chí
+\u7B89	箉	guǎi
+\u7B91	箑	shà
+\u7B92	箒	dá
+\u7B9B	箛	gū
+\u7BA3	箣	cè
+\u7BAC	箬	ruò
+\u7BAD	箭	jiàn
+\u7BB5	箵	shěng
+\u7BB6	箶	hú
+\u7BB9	箹	shuò
+\u7BBE	箾	shuò
+\u7BBF	箿	jí
+\u7BC1	篁	huáng
+\u7BC6	篆	zhuàn
+\u7BCA	篊	hóng
+\u7BE3	篣	páng
+\u7BE4	篤	dǔ
+\u7BE7	篧	zhuó
+\u7BEA	篪	chí
+\u7BF3	篳	bì
+\u7BF9	篹	zhuàn
+\u7BFA	篺	pái
+\u7BFC	篼	dōu
+\u7C00	簀	zé
+\u7C01	簁	chuò
+\u7C08	簈	píng
+\u7C0A	簊	jī
+\u7C0E	簎	xiǎo
+\u7C19	簙	bó
+\u7C1E	簞	dān
+\u7C25	簥	jiāo
+\u7C2B	簫	xiāo
+\u7C2C	簬	lù
+\u7C2D	簭	shì
+\u7C30	簰	pái
+\u7C32	簲	gǎn
+\u7C34	簴	jù
+\u7C36	簶	bǒ
+\u7C38	簸	bǒ
+\u7C39	簹	dāng
+\u7C3C	簼	bù
+\u7C3F	簿	bù
+\u7C40	籀	zhòu
+\u7C4B	籋	mí
+\u7C4D	籍	jí
+\u7C50	籐	téng
+\u7C52	籒	fán
+\u7C54	籔	sǒu
+\u7C55	籕	lǒng
+\u7C62	籢	jǔ
+\u7C68	籨	lián
+\u7C72	籲	yù
+\u7C73	米	mǐ
+\u7C75	籵	fán
+\u7C79	籹	nǚ
+\u7C7B	类	lèi
+\u7C7C	籼	xiān
+\u7C98	粘	nián
+\u7C99	粙	xī
+\u7C9E	粞	xī
+\u7C9F	粟	sù
+\u7CA3	粣	cè
+\u7CA4	粤	yù
+\u7CA6	粦	lín
+\u7CA7	粧	zhuāng
+\u7CAA	粪	fèn
+\u7CB1	粱	liáng
+\u7CB4	粴	lǐ
+\u7CBA	粺	bài
+\u7CBD	粽	zòng
+\u7CBF	粿	guǒ
+\u7CC2	糂	róu
+\u7CC6	糆	hū
+\u7CCA	糊	hú
+\u7CCB	糋	jiàn
+\u7CCD	糍	cí
+\u7CCE	糎	lí
+\u7CD5	糕	gāo
+\u7CDD	糝	sǎn
+\u7CDE	糞	fèn
+\u7CE4	糤	chì
+\u7CE7	糧	liáng
+\u7CE9	糩	kuài
+\u7CFB	系	xì
+\u7CFC	糼	gōng
+\u7CFF	糿	jǐ
+\u7D01	紁	chà
+\u7D04	約	yāo
+\u7D05	紅	hóng
+\u7D06	紆	yū
+\u7D07	紇	gē
+\u7D08	紈	wán
+\u7D0B	紋	wén
+\u7D0C	紌	jì
+\u7D13	紓	shū
+\u7D15	紕	pī
+\u7D16	紖	yǐn
+\u7D17	紗	shā
+\u7D18	紘	hóng
+\u7D1D	紝	rèn
+\u7D1E	紞	dǎn
+\u7D20	素	sù
+\u7D22	索	suǒ
+\u7D24	紤	jiǔ
+\u7D27	紧	chōu
+\u7D2D	紭	hóng
+\u7D2E	紮	zā
+\u7D2F	累	lèi
+\u7D30	細	xì
+\u7D33	紳	shēn
+\u7D3A	紺	gàn
+\u7D3D	紽	tuó
+\u7D3F	紿	dài
+\u7D40	絀	chù
+\u7D41	絁	qū
+\u7D45	絅	jiǒng
+\u7D48	絈	mò
+\u7D4E	絎	háng
+\u7D4F	絏	xiè
+\u7D50	結	jiē
+\u7D51	絑	gèng
+\u7D5B	絛	tāo
+\u7D5C	絜	jié
+\u7D5D	絝	kù
+\u7D5F	絟	lào
+\u7D61	絡	lào
+\u7D62	絢	xuàn
+\u7D63	絣	bēng
+\u7D64	絤	bèi
+\u7D66	給	gěi
+\u7D67	絧	juàn
+\u7D6E	絮	xù
+\u7D6F	絯	gāi
+\u7D70	絰	dié
+\u7D7A	絺	chī
+\u7D7C	絼	zhěn
+\u7D7D	絽	lǚ
+\u7D84	綄	huǎn
+\u7D85	綅	qīn
+\u7D86	綆	gěng
+\u7D87	綇	tì
+\u7D89	綉	tòu
+\u7D8A	綊	tíng
+\u7D8F	綏	suí
+\u7D90	綐	duì
+\u7D94	綔	hù
+\u7D9C	綜	zōng
+\u7D9D	綝	chēn
+\u7D9E	綞	duǒ
+\u7DA0	綠	lǜ
+\u7DA1	綡	diào
+\u7DA3	綣	quǎn
+\u7DAB	綫	xiàn
+\u7DAE	綮	qǐ
+\u7DAF	綯	táo
+\u7DB0	綰	wǎn
+\u7DB4	綴	chuò
+\u7DB5	綵	cǎi
+\u7DB9	綹	liǔ
+\u7DBB	綻	zhàn
+\u7DBD	綽	chuò
+\u7DBE	綾	líng
+\u7DC2	緂	tān
+\u7DC3	緃	hún
+\u7DC5	緅	zōu
+\u7DC7	緇	zī
+\u7DD1	緑	jī
+\u7DDD	緝	qī
+\u7DDE	緞	duàn
+\u7DE2	緢	miáo
+\u7DE4	緤	biǎn
+\u7DE9	緩	huǎn
+\u7DEB	緫	cōng
+\u7DEC	緬	miǎn
+\u7DF6	緶	biàn
+\u7DF7	緷	guō
+\u7DFB	緻	zhì
+\u7DFD	緽	chēng
+\u7E03	縃	xū
+\u7E11	縑	jiān
+\u7E14	縔	shuǎng
+\u7E15	縕	yūn
+\u7E16	縖	cuī
+\u7E17	縗	cuī
+\u7E18	縘	chēn
+\u7E1D	縝	zhěn
+\u7E1E	縞	gǎo
+\u7E20	縠	hú
+\u7E22	縢	téng
+\u7E24	縤	cóng
+\u7E27	縧	fèng
+\u7E2B	縫	féng
+\u7E2C	縬	cù
+\u7E2F	縯	yǎn
+\u7E30	縰	cóng
+\u7E31	縱	zōng
+\u7E32	縲	léi
+\u7E34	縴	qiàn
+\u7E35	縵	màn
+\u7E37	縷	lǚ
+\u7E39	縹	piǎo
+\u7E3A	縺	lián
+\u7E3E	績	jī
+\u7E42	繂	běng
+\u7E43	繃	bēng
+\u7E44	繄	yī
+\u7E46	繆	miào
+\u7E47	繇	yáo
+\u7E48	繈	qiǎng
+\u7E49	繉	hún
+\u7E50	繐	suì
+\u7E51	繑	céng
+\u7E52	繒	zēng
+\u7E53	繓	zhì
+\u7E55	繕	shàn
+\u7E59	繙	fān
+\u7E5A	繚	liáo
+\u7E5B	繛	chāo
+\u7E5C	繜	zūn
+\u7E5D	繝	jiàn
+\u7E5F	繟	chǎn
+\u7E63	繣	huà
+\u7E68	繨	dá
+\u7E69	繩	shéng
+\u7E6A	繪	huì
+\u7E6B	繫	xì
+\u7E6C	繬	huàn
+\u7E70	繰	qiāo
+\u7E71	繱	cōng
+\u7E74	繴	bì
+\u7E75	繵	chán
+\u7E7A	繺	rú
+\u7E7C	繼	jì
+\u7E81	纁	xūn
+\u7E83	纃	lěi
+\u7E8E	纎	ráng
+\u7E96	纖	xiān
+\u7E97	纗	lí
+\u7E9B	纛	dào
+\u7E9C	纜	jiǎo
+\u7EA1	纡	yū
+\u7EA2	红	hóng
+\u7EA3	纣	zhòu
+\u7EA5	纥	gē
+\u7EA6	约	yuē
+\u7EAB	纫	rèn
+\u7EB0	纰	bǐ
+\u7EB1	纱	shā
+\u7EB5	纵	zòng
+\u7EB6	纶	lún
+\u7EB7	纷	fēn
+\u7EBB	纻	zhèn
+\u7EBD	纽	niǔ
+\u7EC2	绂	fú
+\u7EC8	终	zhōng
+\u7ECD	绍	shào
+\u7ED0	绐	dài
+\u7ED4	绔	kù
+\u7ED6	绖	dié
+\u7ED8	绘	huì
+\u7EDA	绚	xuàn
+\u7EDD	绝	jué
+\u7EE6	绦	tāo
+\u7EE9	绩	jī
+\u7EF1	绱	mǐn
+\u7EF4	维	wéi
+\u7EF8	绸	chóu
+\u7EF9	绹	táo
+\u7EFA	绺	liǔ
+\u7EFD	绽	zhàn
+\u7F00	缀	zhuì
+\u7F01	缁	zī
+\u7F0A	缊	wēn
+\u7F0B	缋	huì
+\u7F10	缐	biàn
+\u7F17	缗	mín
+\u7F19	缙	jìn
+\u7F1D	缝	féng
+\u7F1E	缞	cuī
+\u7F1F	缟	gǎo
+\u7F26	缦	màn
+\u7F2A	缪	miù
+\u7F2B	缫	sāo
+\u7F2C	缬	céng
+\u7F30	缰	jiāng
+\u7F33	缳	huán
+\u7F34	缴	jiǎo
+\u7F35	缵	guàn
+\u7F37	缷	xiè
+\u7F39	缹	fǒu
+\u7F41	罁	gāng
+\u7F55	罕	hǎn
+\u7F57	罗	luó
+\u7F58	罘	fú
+\u7F59	罙	mí
+\u7F5A	罚	fá
+\u7F5C	罜	jiē
+\u7F5E	罞	bā
+\u7F63	罣	guà
+\u7F66	罦	fú
+\u7F67	罧	lín
+\u7F68	罨	yǎn
+\u7F6C	罬	lǎn
+\u7F72	署	shǔ
+\u7F77	罷	bà
+\u7F78	罸	fá
+\u7F7C	罼	bì
+\u7F80	羀	liǔ
+\u7F86	羆	pí
+\u7F8B	羋	mǐ
+\u7F8E	美	měi
+\u7F9C	羜	zhù
+\u7F9E	羞	xiū
+\u7FA0	羠	xiàn
+\u7FA2	羢	róng
+\u7FA5	羥	qiǎng
+\u7FA6	羦	huán
+\u7FA7	羧	suō
+\u7FA8	羨	xiàn
+\u7FA9	義	yì
+\u7FAF	羯	jié
+\u7FB9	羹	gēng
+\u7FBA	羺	hù
+\u7FBE	羾	chōng
+\u7FC0	翀	chōng
+\u7FC1	翁	wēng
+\u7FC2	翂	fēn
+\u7FCC	翌	yì
+\u7FD0	翐	qiào
+\u7FD9	翙	huì
+\u7FDB	翛	shù
+\u7FDC	翜	sè
+\u7FDD	翝	hóng
+\u7FDF	翟	dí
+\u7FE0	翠	cuì
+\u7FE9	翩	piān
+\u7FEC	翬	huī
+\u7FEF	翯	hè
+\u7FF0	翰	hàn
+\u7FFA	翺	áo
+\u8006	耆	qí
+\u8007	耇	gǒu
+\u800D	耍	shuǎ
+\u8010	耐	nài
+\u8011	耑	zhuān
+\u8012	耒	lěi
+\u8018	耘	yún
+\u8019	耙	bà
+\u801A	耚	huō
+\u8021	耡	chú
+\u8025	耥	lǒu
+\u8029	耩	jiǎng
+\u802D	耭	jī
+\u8034	耴	dīng
+\u8036	耶	yē
+\u8037	耷	dā
+\u8038	耸	sǒng
+\u8042	聂	niè
+\u8043	聃	dān
+\u804B	聋	lóng
+\u804D	聍	níng
+\u804E	聎	guō
+\u8054	联	lián
+\u8059	聙	jīng
+\u805F	聟	xù
+\u8072	聲	shēng
+\u8077	職	zhí
+\u8078	聸	dān
+\u807A	聺	jí
+\u807C	聼	tīng
+\u807D	聽	tīng
+\u807E	聾	lóng
+\u8085	肅	sù
+\u8087	肇	zhào
+\u808A	肊	jīn
+\u808B	肋	lèi
+\u808C	肌	jī
+\u808D	肍	qiú
+\u8097	肗	dǔ
+\u809A	肚	dù
+\u809B	肛	gāng
+\u809D	肝	gān
+\u80A3	肣	bǐ
+\u80A6	肦	bān
+\u80A7	肧	pēi
+\u80AA	肪	fáng
+\u80AC	肬	nǜ
+\u80AE	肮	āng
+\u80AF	肯	kěn
+\u80B3	肳	qí
+\u80B6	肶	pí
+\u80B8	肸	xì
+\u80B9	肹	bì
+\u80BA	肺	fèi
+\u80BB	肻	chēn
+\u80C2	胂	shèn
+\u80C3	胃	wèi
+\u80C7	胇	bēi
+\u80CC	背	bèi
+\u80CD	胍	guā
+\u80CE	胎	tāi
+\u80D0	胐	kū
+\u80D1	胑	zhī
+\u80D2	胒	fū
+\u80D6	胖	pàng
+\u80D7	胗	zhēn
+\u80D8	胘	shēng
+\u80DC	胜	shèng
+\u80DD	胝	zhī
+\u80DE	胞	bāo
+\u80DF	胟	chǐ
+\u80E4	胤	yìn
+\u80E6	胦	kēng
+\u80EC	胬	nú
+\u80ED	胭	yān
+\u80F0	胰	yí
+\u80F2	胲	hǎi
+\u80F3	胳	gē
+\u80F4	胴	dòng
+\u80F6	胶	jiāo
+\u80F7	胷	àn
+\u80FA	胺	àn
+\u80FB	胻	héng
+\u80FC	胼	pián
+\u80FE	胾	zì
+\u8101	脁	tiǎo
+\u8102	脂	zhī
+\u8103	脃	cuì
+\u8106	脆	cuì
+\u8108	脈	mài
+\u8109	脉	mài
+\u810A	脊	jí
+\u810D	脍	kuài
+\u8110	脐	jī
+\u8115	脕	wǎn
+\u8116	脖	bó
+\u8119	脙	jué
+\u811B	脛	jìng
+\u811C	脜	qiē
+\u811F	脟	lè
+\u8120	脠	chān
+\u8121	脡	tǐng
+\u8125	脥	qiǎn
+\u8127	脧	juān
+\u8128	脨	cù
+\u812A	脪	tuì
+\u812C	脬	pāo
+\u812D	脭	chéng
+\u812F	脯	fǔ
+\u8130	脰	dòu
+\u8137	脷	cháng
+\u813A	脺	cuì
+\u813E	脾	pí
+\u813F	脿	biāo
+\u8140	腀	juàn
+\u8144	腄	chuái
+\u8145	腅	dàn
+\u814B	腋	yè
+\u814C	腌	yān
+\u814D	腍	rěn
+\u814E	腎	shèn
+\u8150	腐	fǔ
+\u8155	腕	wàn
+\u8158	腘	ér
+\u815E	腞	dùn
+\u815F	腟	luó
+\u8162	腢	nào
+\u8167	腧	shù
+\u8168	腨	chuǎn
+\u8172	腲	jué
+\u8173	腳	jiǎo
+\u8174	腴	yú
+\u8180	膀	bǎng
+\u8181	膁	lián
+\u8182	膂	lǚ
+\u818B	膋	liáo
+\u8190	膐	biāo
+\u8198	膘	biāo
+\u8199	膙	jiǎng
+\u819C	膜	mó
+\u819D	膝	xī
+\u819F	膟	lǜ
+\u81A1	膡	liú
+\u81A3	膣	lìn
+\u81A6	膦	lìn
+\u81A7	膧	pèng
+\u81A9	膩	nì
+\u81AB	膫	liáo
+\u81B2	膲	hū
+\u81B4	膴	hū
+\u81B5	膵	cuì
+\u81BB	膻	shān
+\u81BC	膼	bèi
+\u81C3	臃	yōng
+\u81C4	臄	jué
+\u81C7	臇	juǎn
+\u81CA	臊	sāo
+\u81CB	臋	ér
+\u81D2	臒	huò
+\u81D6	臖	lǚ
+\u81DB	臛	huò
+\u81DD	臝	luǒ
+\u81E3	臣	chén
+\u81E7	臧	zāng
+\u81E8	臨	lín
+\u81E9	臩	guàng
+\u81ED	臭	chòu
+\u81EE	臮	dié
+\u81F4	致	zhì
+\u81F5	臵	gé
+\u81F7	臷	dié
+\u81FB	臻	zhēn
+\u81FF	臿	chā
+\u8203	舃	qiǎo
+\u8204	舄	xì
+\u8205	舅	jiù
+\u8207	與	yú
+\u8208	興	xīng
+\u8209	舉	jǔ
+\u820C	舌	shé
+\u820D	舍	shě
+\u820F	舏	jiǔ
+\u8213	舓	shì
+\u8215	舕	dàn
+\u8216	舖	pù
+\u8217	舗	pū
+\u8218	舘	guǎn
+\u821B	舛	chuǎn
+\u8222	舢	shān
+\u822D	舭	bǐ
+\u822F	舯	zhōng
+\u8234	舴	zé
+\u8236	舶	bó
+\u823A	舺	xiá
+\u823B	舻	lú
+\u823C	舼	hóng
+\u8245	艅	mù
+\u8253	艓	dié
+\u8258	艘	sōu
+\u8259	艙	cāng
+\u8261	艡	dāng
+\u826C	艬	chán
+\u826F	良	liáng
+\u8270	艰	jiān
+\u8272	色	sè
+\u8273	艳	yàn
+\u8275	艵	píng
+\u8279	艹	cǎo
+\u827C	艼	dǐng
+\u827D	艽	jiāo
+\u827E	艾	ài
+\u827F	艿	nǎi
+\u8280	芀	jiē
+\u8283	芃	péng
+\u8287	芇	mǐ
+\u8289	芉	gān
+\u828B	芋	yù
+\u828C	芌	xū
+\u828D	芍	sháo
+\u828E	芎	qiōng
+\u828F	芏	dù
+\u8290	芐	hù
+\u8291	芑	qǐ
+\u8293	芓	zǐ
+\u8294	芔	huǐ
+\u8295	芕	suī
+\u8296	芖	xiǎng
+\u8298	芘	pí
+\u8299	芙	fú
+\u82A0	芠	fóu
+\u82A3	芣	fóu
+\u82A4	芤	kōu
+\u82A6	芦	lú
+\u82A7	芧	xù
+\u82A8	芨	jī
+\u82A9	芩	qín
+\u82AA	芪	chí
+\u82AB	芫	yuán
+\u82AC	芬	fēn
+\u82AD	芭	bā
+\u82AE	芮	ruì
+\u82AF	芯	xīn
+\u82B0	芰	jì
+\u82B5	芵	jué
+\u82B9	芹	qín
+\u82BD	芽	yá
+\u82BE	芾	fèi
+\u82BF	芿	huán
+\u82CC	苌	cǎng
+\u82CE	苎	méng
+\u82CF	苏	sū
+\u82D1	苑	yuàn
+\u82D2	苒	rǎn
+\u82D4	苔	tái
+\u82D5	苕	tiáo
+\u82D6	苖	miáo
+\u82D9	苙	lì
+\u82DC	苜	mù
+\u82DF	苟	gǒu
+\u82E0	苠	mín
+\u82E2	苢	qǔ
+\u82E4	苤	piě
+\u82E5	若	ruò
+\u82E6	苦	kǔ
+\u82E7	苧	zhù
+\u82E8	苨	chān
+\u82EC	苬	qiú
+\u82F2	苲	zhǎ
+\u82F3	苳	dōng
+\u82F5	苵	dié
+\u82FA	苺	méi
+\u82FB	苻	fú
+\u82FC	苼	bó
+\u8301	茁	zhuó
+\u8302	茂	mào
+\u8307	茇	bá
+\u8308	茈	cí
+\u8309	茉	mò
+\u830B	茋	dǐ
+\u830D	茍	gǒu
+\u8317	茗	míng
+\u8318	茘	jiàn
+\u831C	茜	qiàn
+\u831D	茝	chǎi
+\u831E	茞	chén
+\u8321	茡	duō
+\u8325	茥	guī
+\u8328	茨	cí
+\u832A	茪	guāng
+\u832C	茬	chá
+\u832D	茭	jiāo
+\u832E	茮	cī
+\u8333	茳	jiāng
+\u8338	茸	róng
+\u8339	茹	rú
+\u8344	荄	gāi
+\u8345	荅	dā
+\u8346	荆	jīng
+\u8348	荈	chuǎn
+\u8349	草	cǎo
+\u834A	荊	jīng
+\u834E	荎	chí
+\u8351	荑	tí
+\u8352	荒	huāng
+\u8353	荓	pīng
+\u8354	荔	lì
+\u8357	荗	shù
+\u835C	荜	bì
+\u835E	荞	jiāo
+\u835F	荟	huì
+\u8361	荡	dàng
+\u8365	荥	qián
+\u8369	荩	jìn
+\u836C	荬	mǎi
+\u8370	荰	dù
+\u8377	荷	hé
+\u8378	荸	bí
+\u8379	荹	bù
+\u837B	荻	dí
+\u837D	荽	suī
+\u837E	荾	pú
+\u8386	莆	pú
+\u8387	莇	chí
+\u838A	莊	zhuāng
+\u838C	莌	duó
+\u838D	莍	qiú
+\u838E	莎	shā
+\u838F	莏	mèi
+\u8394	莔	méng
+\u8397	莗	chē
+\u8398	莘	xīn
+\u8399	莙	jūn
+\u839C	莜	dí
+\u839D	莝	cuò
+\u839E	莞	guān
+\u839F	莟	hàn
+\u83A1	莡	cuò
+\u83A8	莨	làng
+\u83A9	莩	fú
+\u83AA	莪	é
+\u83AC	莬	miǎn
+\u83AD	莭	jié
+\u83B4	莴	lián
+\u83B7	获	huò
+\u83BE	莾	mǎng
+\u83C1	菁	jīng
+\u83C3	菃	guān
+\u83C6	菆	zōu
+\u83CC	菌	jūn
+\u83CD	菍	jùn
+\u83CF	菏	hé
+\u83D0	菐	pú
+\u83D2	菒	bó
+\u83D5	菕	lún
+\u83D6	菖	chāng
+\u83DE	菞	lí
+\u83E0	菠	bō
+\u83E6	菦	bèi
+\u83EA	菪	dàng
+\u83EC	菬	huā
+\u83EF	華	huá
+\u83F0	菰	gū
+\u83F3	菳	ǎn
+\u83F5	菵	péng
+\u83F7	菷	yū
+\u83F9	菹	jū
+\u83FA	菺	jiān
+\u83FC	菼	tǎn
+\u83FE	菾	tián
+\u8402	萂	chǔn
+\u8406	萆	bì
+\u8407	萇	cháng
+\u840D	萍	píng
+\u840E	萎	wěi
+\u840F	萏	dàn
+\u8412	萒	jǔ
+\u842E	萮	xuān
+\u8433	萳	cè
+\u8435	萵	wō
+\u843A	萺	là
+\u843D	落	luò
+\u843E	萾	yíng
+\u8446	葆	bǎo
+\u8447	葇	róu
+\u8449	葉	yè
+\u844A	葊	ān
+\u844E	葎	lǜ
+\u8452	葒	hóng
+\u8457	著	zhù
+\u8458	葘	rèn
+\u845A	葚	rèn
+\u845B	葛	gé
+\u845C	葜	jié
+\u845D	葝	bèi
+\u8462	葢	gài
+\u8463	董	dǒng
+\u8464	葤	jiè
+\u846B	葫	hú
+\u846E	葮	duàn
+\u8470	葰	jùn
+\u8471	葱	cōng
+\u8472	葲	quán
+\u8474	葴	zhēn
+\u8475	葵	kuí
+\u8477	葷	hūn
+\u8478	葸	xǐ
+\u848B	蒋	jiǎng
+\u848C	蒌	lóu
+\u848D	蒍	wéi
+\u848E	蒎	pài
+\u8495	蒕	máng
+\u8499	蒙	mēng
+\u849A	蒚	hé
+\u84A1	蒡	bàng
+\u84A2	蒢	chú
+\u84A7	蒧	diǎn
+\u84A8	蒨	qiàn
+\u84B0	蒰	bó
+\u84B3	蒳	nà
+\u84B6	蒶	cǎng
+\u84BD	蒽	ēn
+\u84C0	蓀	sūn
+\u84C2	蓂	huò
+\u84C4	蓄	xù
+\u84C8	蓈	láng
+\u84CB	蓋	gài
+\u84CC	蓌	cuò
+\u84D2	蓒	bì
+\u84D6	蓖	bì
+\u84D7	蓗	lā
+\u84DF	蓟	jì
+\u84E2	蓢	láng
+\u84E6	蓦	mò
+\u84E8	蓨	tiāo
+\u84E9	蓩	mào
+\u84ED	蓭	ān
+\u84EF	蓯	cōng
+\u84F3	蓳	jìn
+\u84FC	蓼	liǎo
+\u84FD	蓽	bì
+\u8500	蔀	bù
+\u8501	蔁	xì
+\u8508	蔈	biāo
+\u8509	蔉	gǔn
+\u850B	蔋	dí
+\u8513	蔓	mán
+\u8514	蔔	bō
+\u8515	蔕	dì
+\u8519	蔙	xuàn
+\u851A	蔚	wèi
+\u851B	蔛	hú
+\u851F	蔟	cù
+\u8520	蔠	cā
+\u8522	蔢	jiāng
+\u8524	蔤	mì
+\u8528	蔨	jùn
+\u852B	蔫	niān
+\u852C	蔬	shū
+\u852D	蔭	yìn
+\u852E	蔮	cáng
+\u8537	蔷	qiáng
+\u8538	蔸	dōu
+\u853A	蔺	fù
+\u853E	蔾	lí
+\u8542	蕂	bō
+\u8544	蕄	méng
+\u8549	蕉	jiāo
+\u854A	蕊	ruǐ
+\u854B	蕋	jiāo
+\u854F	蕏	chú
+\u8550	蕐	huá
+\u8559	蕙	huì
+\u855C	蕜	fěi
+\u855E	蕞	zuì
+\u855F	蕟	fà
+\u8560	蕠	kuài
+\u8563	蕣	shùn
+\u856A	蕪	wú
+\u856B	蕫	dǒng
+\u856C	蕬	sī
+\u8572	蕲	qí
+\u857A	蕺	jí
+\u857B	蕻	hòng
+\u857C	蕼	hǎo
+\u8584	薄	bó
+\u8585	薅	hāo
+\u858A	薊	jì
+\u858C	薌	xiāng
+\u858D	薍	luàn
+\u858E	薎	miè
+\u8595	薕	lián
+\u859B	薛	xuē
+\u859C	薜	bì
+\u859D	薝	kàn
+\u85A0	薠	fán
+\u85A3	薣	gǔ
+\u85A8	薨	hōng
+\u85B5	薵	chóu
+\u85B6	薶	lí
+\u85B7	薷	rú
+\u85BA	薺	jì
+\u85BB	薻	cóng
+\u85C3	藃	hào
+\u85C4	藄	qí
+\u85C8	藈	jí
+\u85C9	藉	jí
+\u85CA	藊	biǎn
+\u85CC	藌	lā
+\u85CD	藍	lán
+\u85CE	藎	jìn
+\u85CF	藏	cáng
+\u85D0	藐	miǎo
+\u85D1	藑	jiào
+\u85D8	藘	lǘ
+\u85E1	藡	dí
+\u85E6	藦	mó
+\u85E7	藧	biāo
+\u85E8	藨	biāo
+\u85E9	藩	fān
+\u85EA	藪	sǒu
+\u85EB	藫	huí
+\u85F3	藳	gǎo
+\u85F4	藴	yùn
+\u8600	蘀	tuò
+\u8602	蘂	jī
+\u8605	蘅	héng
+\u8608	蘈	tuí
+\u860B	蘋	pín
+\u860C	蘌	jiǒng
+\u8610	蘐	xiān
+\u8611	蘑	mó
+\u8616	蘖	bì
+\u8617	蘗	niè
+\u861E	蘞	lián
+\u861F	蘟	lǒng
+\u8623	蘣	huā
+\u8625	蘥	qù
+\u8628	蘨	huái
+\u863A	蘺	lí
+\u864F	虏	lǔ
+\u8650	虐	nüè
+\u8653	虓	xiāo
+\u8655	處	chǔ
+\u8656	虖	hū
+\u8657	虗	qū
+\u865B	虛	xū
+\u865F	號	háo
+\u8660	虠	jiǎo
+\u866B	虫	chóng
+\u866C	虬	qiú
+\u866F	虯	qiú
+\u8675	虵	shé
+\u8676	虶	hán
+\u8678	虸	gòng
+\u8679	虹	hóng
+\u867A	虺	huī
+\u867B	虻	méng
+\u867F	虿	chài
+\u8683	蚃	xiǎng
+\u8684	蚄	bèng
+\u868D	蚍	bǐ
+\u868E	蚎	cán
+\u8695	蚕	cán
+\u8696	蚖	háo
+\u869E	蚞	mù
+\u86A4	蚤	zǎo
+\u86A5	蚥	fǔ
+\u86A7	蚧	jiè
+\u86AD	蚭	ní
+\u86B1	蚱	zhà
+\u86B4	蚴	yòu
+\u86B5	蚵	é
+\u86B6	蚶	hān
+\u86B8	蚸	lì
+\u86BB	蚻	zhá
+\u86C3	蛃	bǐng
+\u86C5	蛅	rán
+\u86C6	蛆	qū
+\u86C7	蛇	shé
+\u86C8	蛈	tiè
+\u86D9	蛙	wā
+\u86DA	蛚	liè
+\u86DF	蛟	jiāo
+\u86E3	蛣	jié
+\u86E4	蛤	gé
+\u86E5	蛥	gǒng
+\u86EA	蛪	qiè
+\u86ED	蛭	zhì
+\u86F1	蛱	jiá
+\u86F8	蛸	shāo
+\u86F9	蛹	yǒng
+\u86FB	蛻	tuì
+\u86FC	蛼	chē
+\u86FF	蛿	hàn
+\u8706	蜆	xiǎn
+\u8707	蜇	zhé
+\u8708	蜈	wú
+\u870E	蜎	yuān
+\u870F	蜏	dàn
+\u8713	蜓	tíng
+\u8714	蜔	diàn
+\u8718	蜘	zhī
+\u871A	蜚	fěi
+\u871B	蜛	jū
+\u8721	蜡	là
+\u8722	蜢	měng
+\u8723	蜣	qiāng
+\u872A	蜪	guō
+\u872F	蜯	bàng
+\u8732	蜲	wěi
+\u8735	蜵	juǎn
+\u8738	蜸	jīng
+\u873C	蜼	wěi
+\u873D	蜽	liǎng
+\u873F	蜿	wān
+\u8740	蝀	dōng
+\u8741	蝁	è
+\u8747	蝇	yíng
+\u874E	蝎	xiē
+\u874F	蝏	tíng
+\u8751	蝑	lì
+\u8756	蝖	xuān
+\u8759	蝙	biān
+\u875A	蝚	róu
+\u8762	蝢	jiū
+\u8765	蝥	máo
+\u8766	蝦	xiā
+\u8767	蝧	kuí
+\u8771	蝱	dài
+\u8774	蝴	hú
+\u8777	蝷	guǒ
+\u8779	蝹	án
+\u877C	蝼	bǎng
+\u8784	螄	sī
+\u8786	螆	cì
+\u878B	螋	pán
+\u878D	融	róng
+\u879E	螞	mā
+\u879F	螟	míng
+\u87A4	螤	shì
+\u87AB	螫	zhē
+\u87AC	螬	cáo
+\u87B3	螳	táng
+\u87B6	螶	bèng
+\u87B8	螸	chán
+\u87BA	螺	luó
+\u87C4	蟄	zhé
+\u87C5	蟅	mò
+\u87C6	蟆	má
+\u87C7	蟇	má
+\u87C9	蟉	liào
+\u87CA	蟊	máo
+\u87CB	蟋	xī
+\u87D3	蟓	fán
+\u87E1	蟡	guǐ
+\u87E4	蟤	bēn
+\u87E7	蟧	láo
+\u87EC	蟬	chán
+\u87ED	蟭	jiāo
+\u87F0	蟰	lí
+\u87F9	蟹	xiè
+\u87FB	蟻	yǐ
+\u87FC	蟼	jì
+\u8800	蠀	cī
+\u8802	蠂	shè
+\u8804	蠄	měng
+\u880F	蠏	rú
+\u8815	蠕	rú
+\u8816	蠖	huò
+\u8817	蠗	zhuó
+\u881A	蠚	hē
+\u881B	蠛	miè
+\u881E	蠞	jié
+\u8821	蠡	lí
+\u8822	蠢	chǔn
+\u882C	蠬	lóng
+\u8831	蠱	gǔ
+\u8836	蠶	cán
+\u883D	蠽	jié
+\u8840	血	xiě
+\u8841	衁	huāng
+\u8843	衃	mài
+\u8844	衄	nǜ
+\u8848	衈	ěr
+\u8849	衉	háng
+\u884C	行	háng
+\u884D	衍	yǎn
+\u884E	衎	kàn
+\u8856	衖	lòng
+\u8859	衙	yá
+\u885A	衚	hú
+\u885D	衝	chōng
+\u885E	衞	wèi
+\u8863	衣	yī
+\u8864	衤	chǎ
+\u8869	衩	chǎ
+\u886A	衪	yǐ
+\u886B	衫	shān
+\u8870	衰	shuaī
+\u8871	衱	jié
+\u8875	衵	nì
+\u8876	衶	chōng
+\u8877	衷	zhōng
+\u8878	衸	xiè
+\u887A	衺	qìn
+\u8880	袀	jūn
+\u8883	袃	bào
+\u888E	袎	yào
+\u8893	袓	jǔ
+\u8898	袘	yí
+\u8899	袙	mò
+\u889A	袚	fú
+\u889D	袝	fán
+\u88A3	袣	móu
+\u88A5	袥	tuō
+\u88A9	袩	bì
+\u88AC	袬	duǒ
+\u88B4	袴	jié
+\u88B8	袸	cún
+\u88BD	袽	rú
+\u88C5	装	zhuāng
+\u88CF	裏	bāo
+\u88D3	裓	gé
+\u88D4	裔	yì
+\u88D7	裗	liǎn
+\u88E4	裤	kù
+\u88E8	裨	bì
+\u88E9	裩	dāo
+\u88F0	裰	duō
+\u88F1	裱	biǎo
+\u88F4	裴	péi
+\u88F5	裵	gǔn
+\u88F8	裸	luǒ
+\u88FC	裼	tì
+\u88FD	製	zhì
+\u88FF	裿	chōng
+\u8909	褉	piān
+\u890B	褋	dié
+\u890C	褌	huī
+\u890F	褏	xiù
+\u8910	褐	hè
+\u8911	褑	yuàn
+\u891B	褛	lǚ
+\u8926	褦	nài
+\u892B	褫	chǐ
+\u8935	褵	lí
+\u8937	褷	dié
+\u8938	褸	lǚ
+\u893C	褼	qiǎng
+\u8941	襁	qiǎng
+\u8942	襂	sēn
+\u8943	襃	bāo
+\u8947	襇	jiǎn
+\u8958	襘	chān
+\u895E	襞	bì
+\u8962	襢	tǎn
+\u8963	襣	bí
+\u8964	襤	lán
+\u8972	襲	xí
+\u8974	襴	lán
+\u8976	襶	dài
+\u897F	西	xī
+\u8981	要	yāo
+\u8982	覂	fěng
+\u8985	覅	biào
+\u8988	覈	hé
+\u898B	見	jiàn
+\u898C	覌	guān
+\u898D	覍	biàn
+\u898E	覎	guì
+\u8990	覐	jiào
+\u8991	覑	piǎn
+\u8996	視	shì
+\u8998	覘	zhān
+\u8999	覙	luó
+\u899C	覜	tiào
+\u89AA	親	qīn
+\u89AB	覫	jìn
+\u89B3	観	guān
+\u89B9	覹	jiào
+\u89BA	覺	jué
+\u89BB	覻	làn
+\u89BE	覾	jí
+\u89C0	觀	guān
+\u89C1	见	jiàn
+\u89C2	观	guān
+\u89C3	觃	kuī
+\u89C5	觅	mì
+\u89C8	览	lǎn
+\u89CA	觊	gǔ
+\u89D2	角	jiǎo
+\u89D3	觓	jiū
+\u89D4	觔	jīn
+\u89D7	觗	fán
+\u89DA	觚	gū
+\u89DC	觜	zī
+\u89DD	觝	dǐ
+\u89E0	觠	jiè
+\u89E3	解	jiě
+\u89E4	觤	chù
+\u89E7	觧	jiě
+\u89F0	觰	dǎ
+\u89F1	觱	bì
+\u89F4	觴	shāng
+\u89F7	觷	xué
+\u89FA	觺	yàn
+\u8A01	訁	hēng
+\u8A08	計	jì
+\u8A0D	訍	chà
+\u8A10	訐	jié
+\u8A11	訑	yí
+\u8A12	訒	rèn
+\u8A20	訠	jìn
+\u8A22	訢	xīn
+\u8A23	訣	jué
+\u8A25	訥	nè
+\u8A26	訦	chén
+\u8A27	訧	yóu
+\u8A2D	設	shè
+\u8A32	訲	cī
+\u8A3E	訾	zī
+\u8A3F	訿	zī
+\u8A40	詀	chè
+\u8A41	詁	gǔ
+\u8A47	詇	dài
+\u8A53	詓	qǔ
+\u8A55	評	píng
+\u8A58	詘	qū
+\u8A59	詙	bá
+\u8A6C	詬	gòu
+\u8A6D	詭	guǐ
+\u8A74	詴	wēi
+\u8A77	詷	dàn
+\u8A7A	詺	luò
+\u8A7C	詼	huī
+\u8A83	誃	chǐ
+\u8A84	誄	lěi
+\u8A87	誇	kuā
+\u8A92	誒	āi
+\u8A93	誓	shì
+\u8A97	誗	chán
+\u8A9A	誚	qiào
+\u8A9E	語	yǔ
+\u8A9F	誟	wū
+\u8AA3	誣	wū
+\u8AA4	誤	wù
+\u8AA8	誨	huì
+\u8AAA	說	shuō
+\u8AAB	誫	shuì
+\u8AAD	読	dú
+\u8AB0	誰	shéi
+\u8AB1	誱	jié
+\u8ABC	誼	yì
+\u8ABD	誽	ná
+\u8ABF	調	diào
+\u8AC0	諀	pǐ
+\u8AC7	談	tán
+\u8ACC	諌	dǒng
+\u8ACD	諍	zhēng
+\u8ACE	諎	zé
+\u8AD0	諐	liáng
+\u8AD3	諓	jiàn
+\u8AD6	論	lùn
+\u8AD7	諗	shěn
+\u8AD8	諘	biǎo
+\u8ADD	諝	xǔ
+\u8ADE	諞	piǎn
+\u8ADF	諟	shì
+\u8AE1	諡	shì
+\u8AE7	諧	xié
+\u8AEE	諮	zī
+\u8AF4	諴	xián
+\u8AF7	諷	fèng
+\u8AF8	諸	zhū
+\u8AF9	諹	chǎo
+\u8B06	謆	shàn
+\u8B0E	謎	mí
+\u8B0F	謏	sǒu
+\u8B12	謒	qiāng
+\u8B15	謕	qiàn
+\u8B1A	謚	shì
+\u8B1B	講	jiǎng
+\u8B1D	謝	xiè
+\u8B1F	謟	qǐng
+\u8B27	謧	lí
+\u8B2A	謪	shāng
+\u8B2C	謬	miù
+\u8B30	謰	lián
+\u8B32	謲	cān
+\u8B34	謴	ào
+\u8B38	謸	áo
+\u8B39	謹	jǐn
+\u8B3C	謼	hū
+\u8B3D	謽	jiàng
+\u8B3E	謾	mán
+\u8B3F	謿	cháo
+\u8B40	譀	hàn
+\u8B4E	譎	jué
+\u8B57	譗	shí
+\u8B58	識	shí
+\u8B59	譙	qiáo
+\u8B5A	譚	tán
+\u8B69	譩	xià
+\u8B7A	譺	jiān
+\u8B7D	譽	yù
+\u8B80	讀	dú
+\u8B81	讁	shè
+\u8B8C	讌	yàn
+\u8B97	讗	huò
+\u8B9A	讚	zàn
+\u8B9D	讝	hòng
+\u8BA8	讨	tǎo
+\u8BB8	许	xǔ
+\u8BB9	讹	é
+\u8BBB	讻	xiōng
+\u8BBD	讽	fěng
+\u8BBE	设	shè
+\u8BC7	诇	xiòng
+\u8BCD	词	cí
+\u8BCF	诏	zhào
+\u8BD4	诔	lěi
+\u8BE5	该	gāi
+\u8BE7	诧	chà
+\u8BED	语	yǔ
+\u8BEE	诮	qiào
+\u8BF4	说	shuō
+\u8BF5	诵	sòng
+\u8BF7	请	qǐng
+\u8BF8	诸	zhū
+\u8BFC	诼	shéi
+\u8C02	谂	shěn
+\u8C04	谄	chǎn
+\u8C06	谆	zhūn
+\u8C07	谇	suì
+\u8C0B	谋	móu
+\u8C12	谒	yè
+\u8C1C	谜	mí
+\u8C1D	谝	piǎn
+\u8C1E	谞	xū
+\u8C27	谧	mì
+\u8C2A	谪	zhé
+\u8C2F	谯	qiáo
+\u8C30	谰	lán
+\u8C37	谷	gǔ
+\u8C38	谸	qī
+\u8C3F	谿	qī
+\u8C40	豀	xī
+\u8C41	豁	huò
+\u8C42	豂	kǎi
+\u8C49	豉	chǐ
+\u8C4A	豊	fēng
+\u8C4B	豋	dēng
+\u8C5B	豛	yàn
+\u8C64	豤	kěn
+\u8C6C	豬	zhū
+\u8C71	豱	wēn
+\u8C73	豳	bīn
+\u8C7B	豻	àn
+\u8C7C	豼	huān
+\u8C87	貇	háo
+\u8C89	貉	háo
+\u8C8A	貊	mò
+\u8C8E	貎	ní
+\u8CA0	負	fù
+\u8CA5	貥	háng
+\u8CAC	責	zé
+\u8CAD	貭	zhì
+\u8CB0	貰	shì
+\u8CB9	貹	bì
+\u8CBC	貼	tiē
+\u8CC1	賁	bēn
+\u8CC2	賂	lù
+\u8CC3	賃	lìn
+\u8CC4	賄	huì
+\u8CC8	賈	gǔ
+\u8CC9	賉	xù
+\u8CCB	賋	gāi
+\u8CCD	賍	shā
+\u8CD3	賓	bīn
+\u8CD4	賔	bīn
+\u8CD5	賕	qiú
+\u8CDC	賜	cì
+\u8CDD	賝	chēn
+\u8CE8	賨	cóng
+\u8CEA	質	zhì
+\u8CEB	賫	jī
+\u8CEC	賬	zhàng
+\u8CF0	賰	qí
+\u8CF8	賸	shèng
+\u8CFA	賺	zhuàn
+\u8CFB	賻	fù
+\u8D04	贄	zhì
+\u8D05	贅	zhuì
+\u8D0A	贊	zàn
+\u8D0E	贎	gàn
+\u8D12	贒	shù
+\u8D17	贗	yàn
+\u8D1C	贜	yún
+\u8D21	贡	gòng
+\u8D24	贤	xián
+\u8D29	贩	fàn
+\u8D2F	贯	guàn
+\u8D30	贰	èr
+\u8D33	贳	shì
+\u8D38	贸	mào
+\u8D3A	贺	hè
+\u8D3D	贽	gǔ
+\u8D3F	贿	huì
+\u8D42	赂	lù
+\u8D4B	赋	fù
+\u8D4E	赎	shú
+\u8D51	赑	bì
+\u8D56	赖	lài
+\u8D62	赢	yíng
+\u8D64	赤	chì
+\u8D67	赧	nǎn
+\u8D69	赩	shì
+\u8D6C	赬	chēng
+\u8D74	赴	fù
+\u8D76	赶	gǎn
+\u8D77	起	qǐ
+\u8D80	趀	chén
+\u8D82	趂	chèn
+\u8D84	趄	jū
+\u8D85	超	chāo
+\u8D86	趆	dī
+\u8D8B	趋	cù
+\u8D8C	趌	jié
+\u8D8E	趎	chú
+\u8D92	趒	diào
+\u8D9A	趚	chēng
+\u8DA0	趠	chào
+\u8DA1	趡	cuǐ
+\u8DA4	趤	cǒu
+\u8DA9	趩	chì
+\u8DAD	趭	jiào
+\u8DAE	趮	yuè
+\u8DAF	趯	tì
+\u8DB1	趱	zǎn
+\u8DB3	足	zú
+\u8DB4	趴	pā
+\u8DB6	趶	guì
+\u8DBA	趺	fū
+\u8DBD	趽	fàng
+\u8DC0	跀	yuè
+\u8DC3	跃	yuè
+\u8DC5	跅	tuò
+\u8DC9	跉	bèi
+\u8DCC	跌	diē
+\u8DCD	跍	cǎi
+\u8DD1	跑	pǎo
+\u8DD2	跒	qiǎ
+\u8DD6	跖	zhí
+\u8DD7	跗	fū
+\u8DDC	跜	luò
+\u8DDF	跟	gēn
+\u8DE4	跤	jiāo
+\u8DE5	跥	duò
+\u8DE7	跧	quán
+\u8DE8	跨	kuà
+\u8DE9	跩	zhuǎi
+\u8DEA	跪	guì
+\u8DEC	跬	kuǐ
+\u8DED	跭	dié
+\u8DEF	路	lù
+\u8DF0	跰	bèng
+\u8DF1	跱	zhì
+\u8DF2	跲	jiá
+\u8DF4	跴	cǎi
+\u8DF7	跷	qiāo
+\u8E05	踅	chì
+\u8E06	踆	cūn
+\u8E07	踇	làng
+\u8E09	踉	liáng
+\u8E0A	踊	yǒng
+\u8E0C	踌	chóu
+\u8E10	踐	jiàn
+\u8E12	踒	chuō
+\u8E15	踕	jié
+\u8E19	踙	huà
+\u8E1E	踞	jù
+\u8E23	踣	bó
+\u8E24	踤	cù
+\u8E25	踥	jī
+\u8E27	踧	cù
+\u8E28	踨	kuí
+\u8E2A	踪	chuò
+\u8E32	踲	dùn
+\u8E36	踶	dì
+\u8E37	踷	duàn
+\u8E3A	踺	jiàn
+\u8E43	蹃	dì
+\u8E45	蹅	chǎ
+\u8E48	蹈	dǎo
+\u8E49	蹉	cuō
+\u8E4A	蹊	xī
+\u8E4B	蹋	tà
+\u8E4C	蹌	qiàng
+\u8E4D	蹍	niǎn
+\u8E4E	蹎	diān
+\u8E50	蹐	jí
+\u8E53	蹓	liù
+\u8E54	蹔	zàn
+\u8E55	蹕	bì
+\u8E5C	蹜	sù
+\u8E5D	蹝	xǐ
+\u8E62	蹢	dí
+\u8E63	蹣	pán
+\u8E64	蹤	zōng
+\u8E6D	蹭	céng
+\u8E6E	蹮	fān
+\u8E70	蹰	chú
+\u8E73	蹳	bō
+\u8E75	蹵	cù
+\u8E76	蹶	jué
+\u8E77	蹷	jué
+\u8E7B	蹻	qiāo
+\u8E7C	蹼	pú
+\u8E7D	蹽	dā
+\u8E83	躃	bì
+\u8E86	躆	chuò
+\u8E88	躈	qiào
+\u8E8E	躎	luò
+\u8E93	躓	zhì
+\u8E94	躔	chán
+\u8E95	躕	chú
+\u8EA1	躡	niè
+\u8EA5	躥	cuān
+\u8EA7	躧	lìn
+\u8EAB	身	shēn
+\u8EAC	躬	gōng
+\u8EC4	軄	jū
+\u8ECA	車	chē
+\u8ECB	軋	yà
+\u8ECC	軌	guǐ
+\u8ED1	軑	dài
+\u8ED2	軒	xuān
+\u8ED3	軓	fàn
+\u8EDA	軚	dài
+\u8EE5	軥	qú
+\u8EE6	軦	bèn
+\u8EED	軭	kuāng
+\u8EEF	軯	fǔ
+\u8EF6	軶	è
+\u8EF8	軸	zhóu
+\u8EF9	軹	zhǐ
+\u8EFB	軻	kē
+\u8EFD	軽	pēng
+\u8F00	輀	ér
+\u8F02	輂	jú
+\u8F04	輄	guāng
+\u8F06	輆	chūn
+\u8F08	輈	zhōu
+\u8F09	載	zǎi
+\u8F0A	輊	zhì
+\u8F11	輑	qìng
+\u8F16	輖	léng
+\u8F19	輙	zhé
+\u8F1D	輝	huī
+\u8F21	輡	kǎn
+\u8F28	輨	guǎn
+\u8F2C	輬	liáng
+\u8F2F	輯	jí
+\u8F34	輴	chūn
+\u8F35	輵	gé
+\u8F39	輹	fù
+\u8F3B	輻	fú
+\u8F3F	輿	yú
+\u8F40	轀	wēn
+\u8F42	轂	gū
+\u8F43	轃	hé
+\u8F45	轅	yuán
+\u8F48	轈	cháo
+\u8F49	轉	zhuǎi
+\u8F4A	轊	wèi
+\u8F4D	轍	chè
+\u8F4E	轎	jiào
+\u8F51	轑	lǎo
+\u8F52	轒	fén
+\u8F55	轕	gé
+\u8F59	轙	léi
+\u8F61	轡	pèi
+\u8F67	轧	gá
+\u8F68	轨	dài
+\u8F6B	轫	rèn
+\u8F6D	轭	è
+\u8F75	轵	dié
+\u8F77	轷	hū
+\u8F7E	轾	yà
+\u8F83	较	jiào
+\u8F84	辄	niǎn
+\u8F98	辘	lù
+\u8F9A	辚	lín
+\u8F9B	辛	xīn
+\u8F9F	辟	pì
+\u8FA0	辠	bān
+\u8FA9	辩	biàn
+\u8FAB	辫	biàn
+\u8FB0	辰	chén
+\u8FB1	辱	rǔ
+\u8FB2	農	nóng
+\u8FBA	辺	biān
+\u8FBF	辿	chān
+\u8FC2	迂	yū
+\u8FC3	迃	yí
+\u8FC7	过	guò
+\u8FC8	迈	mài
+\u8FCC	迌	jiā
+\u8FCE	迎	yíng
+\u8FCF	迏	jì
+\u8FD2	迒	háng
+\u8FD6	迖	dá
+\u8FD7	迗	é
+\u8FD9	这	zhè
+\u8FDB	进	jìn
+\u8FDD	违	wéi
+\u8FE0	迠	chè
+\u8FE4	迤	yí
+\u8FE5	迥	jiǒng
+\u8FE7	迧	chén
+\u8FE8	迨	dài
+\u8FEC	迬	wǎng
+\u8FEF	迯	mèi
+\u8FF8	迸	bèng
+\u8FF9	迹	jì
+\u8FFE	迾	kuò
+\u9002	适	shì
+\u9003	逃	táo
+\u9005	逅	hòu
+\u9006	逆	nì
+\u900A	逊	xùn
+\u9010	逐	zhú
+\u9011	逑	qiú
+\u9013	逓	dì
+\u9018	逘	yàn
+\u9019	這	zhè
+\u901A	通	tōng
+\u901B	逛	guàng
+\u901C	逜	wù
+\u901F	速	sù
+\u9021	逡	qūn
+\u9022	逢	féng
+\u9023	連	lián
+\u9024	逤	bēn
+\u902A	逪	cuò
+\u902E	逮	dǎi
+\u902F	逯	lù
+\u9030	逰	yóu
+\u903B	逻	luó
+\u903C	逼	bī
+\u903F	逿	dàng
+\u9040	遀	qūn
+\u9042	遂	suì
+\u9043	遃	yǎn
+\u904A	遊	yóu
+\u904F	遏	è
+\u9053	道	dào
+\u9054	達	dá
+\u9055	違	wéi
+\u9057	遗	yí
+\u9058	遘	gòu
+\u905B	遛	liù
+\u905C	遜	xùn
+\u905E	遞	dì
+\u905F	遟	chí
+\u9060	遠	yuǎn
+\u9061	遡	qiàn
+\u9065	遥	yáo
+\u906A	遪	cè
+\u906B	遫	sù
+\u9071	遱	lóu
+\u9073	遳	cuō
+\u9075	遵	zūn
+\u9077	遷	qiān
+\u9079	遹	yù
+\u907B	遻	wù
+\u907C	遼	liáo
+\u907E	遾	hái
+\u9084	還	hái
+\u9085	邅	zhān
+\u9089	邉	biān
+\u908C	邌	lí
+\u9090	邐	lǐ
+\u9092	邒	jì
+\u9095	邕	yōng
+\u9096	邖	káng
+\u90A0	邠	bīn
+\u90A2	邢	xíng
+\u90A3	那	nà
+\u90A4	邤	shé
+\u90AB	邫	bāng
+\u90B0	邰	tái
+\u90B4	邴	bǐng
+\u90C3	郃	hé
+\u90C4	郄	qiè
+\u90C5	郅	zhì
+\u90C6	郆	huán
+\u90C8	郈	hòu
+\u90CC	郌	guī
+\u90CF	郏	jiá
+\u90D7	郗	chī
+\u90D8	郘	lǚ
+\u90DE	郞	láng
+\u90DF	郟	jiá
+\u90E3	郣	bó
+\u90E7	郧	yún
+\u90E9	郩	cī
+\u90EB	郫	pí
+\u90EE	郮	lán
+\u90F5	郵	yóu
+\u90F6	郶	bù
+\u90FD	都	dōu
+\u90FE	郾	yǎn
+\u90FF	郿	méi
+\u9100	鄀	ruò
+\u9104	鄄	juàn
+\u910A	鄊	rǔ
+\u9110	鄐	chù
+\u9113	鄓	jú
+\u9116	鄖	yún
+\u9119	鄙	bǐ
+\u9124	鄤	màn
+\u9125	鄥	qiāo
+\u912A	鄪	bì
+\u912C	鄬	lìn
+\u9131	鄱	pó
+\u9132	鄲	dān
+\u9133	鄳	cào
+\u9136	鄶	kuài
+\u913A	鄺	kuàng
+\u913B	鄻	liǎn
+\u913D	鄽	chán
+\u9143	酃	líng
+\u9148	酈	lì
+\u9149	酉	yǒu
+\u914B	酋	qiú
+\u9150	酐	gān
+\u9151	酑	yǔ
+\u9156	酖	dān
+\u9157	酗	xù
+\u9163	酣	hān
+\u9164	酤	gū
+\u9167	酧	chóu
+\u9169	酩	míng
+\u916A	酪	lào
+\u916B	酫	chóng
+\u916F	酯	zhǐ
+\u9175	酵	jiào
+\u9176	酶	méi
+\u917F	酿	niàng
+\u9180	醀	wéi
+\u918B	醋	cù
+\u918E	醎	chéng
+\u9193	醓	tǎn
+\u919C	醜	chǒu
+\u919E	醞	yùn
+\u91A0	醠	àng
+\u91AA	醪	láo
+\u91AD	醭	bú
+\u91AE	醮	zhàn
+\u91AF	醯	xī
+\u91B2	醲	nóng
+\u91B4	醴	lǐ
+\u91C1	釁	xìn
+\u91C4	釄	cǎi
+\u91C7	采	cǎi
+\u91C8	釈	shì
+\u91CB	釋	shì
+\u91CC	里	lǐ
+\u91CD	重	zhòng
+\u91CE	野	yě
+\u91CF	量	liáng
+\u91D0	釐	lí
+\u91D1	金	jīn
+\u91D2	釒	gá
+\u91D3	釓	gá
+\u91D4	釔	yǐ
+\u91D5	釕	liǎo
+\u91D6	釖	dāo
+\u91D9	釙	pō
+\u91DA	釚	qiú
+\u91E4	釤	shān
+\u91E5	釥	fǎn
+\u91EA	釪	gān
+\u91ED	釭	gāng
+\u91EE	釮	dài
+\u91F2	釲	chā
+\u91F6	釶	shé
+\u91F7	釷	tǔ
+\u91F9	釹	nǚ
+\u91FE	釾	jīn
+\u9200	鈀	bǎ
+\u9201	鈁	fāng
+\u9204	鈄	dǒu
+\u9207	鈇	fū
+\u9208	鈈	bù
+\u9209	鈉	nà
+\u920A	鈊	xīn
+\u9211	鈑	bǎn
+\u9213	鈓	chǎo
+\u9215	鈕	niǔ
+\u9216	鈖	fēn
+\u921B	鈛	guō
+\u9225	鈥	huǒ
+\u9226	鈦	tài
+\u922E	鈮	ní
+\u922F	鈯	kē
+\u9233	鈳	kē
+\u9234	鈴	líng
+\u9237	鈷	gǔ
+\u9238	鈸	bó
+\u9239	鈹	pí
+\u923A	鈺	yù
+\u923E	鈾	yóu
+\u923F	鈿	diàn
+\u9240	鉀	jiǎ
+\u9241	鉁	shé
+\u9246	鉆	zuān
+\u9248	鉈	tā
+\u9249	鉉	páo
+\u924C	鉌	hé
+\u924E	鉎	jǔ
+\u9250	鉐	pǒ
+\u9256	鉖	ān
+\u9258	鉘	fú
+\u925A	鉚	mǎo
+\u925B	鉛	qiān
+\u925C	鉜	fú
+\u925F	鉟	gòu
+\u9265	鉥	shù
+\u9269	鉩	niē
+\u926A	鉪	dì
+\u926E	鉮	shēn
+\u926F	鉯	ěr
+\u927A	鉺	ěr
+\u927B	鉻	gè
+\u927C	鉼	bǐng
+\u927F	鉿	hā
+\u9280	銀	yín
+\u928F	銏	shàn
+\u9292	銒	xíng
+\u9293	銓	quán
+\u9296	銖	zhū
+\u9298	銘	míng
+\u929A	銚	diào
+\u929B	銛	xiān
+\u92A3	銣	rú
+\u92A4	銤	mǐ
+\u92A5	銥	yī
+\u92A6	銦	yīn
+\u92A8	銨	ǎn
+\u92A9	銩	diū
+\u92B4	銴	shì
+\u92BB	銻	tī
+\u92BC	銼	cuò
+\u92C0	鋀	dòu
+\u92C1	鋁	lǚ
+\u92C2	鋂	méi
+\u92C5	鋅	xīn
+\u92C6	鋆	yún
+\u92CC	鋌	dìng
+\u92CD	鋍	bó
+\u92D8	鋘	wú
+\u92D9	鋙	wú
+\u92DA	鋚	jìn
+\u92DD	鋝	lüè
+\u92E0	鋠	shèn
+\u92E4	鋤	chú
+\u92E5	鋥	zèng
+\u92E6	鋦	jū
+\u92E7	鋧	é
+\u92E8	鋨	é
+\u92E9	鋩	máng
+\u92EA	鋪	pū
+\u92EB	鋫	duì
+\u92EE	鋮	chéng
+\u92F8	鋸	jū
+\u92F9	鋹	chǎng
+\u92FD	鋽	diào
+\u9301	錁	kè
+\u9302	錂	fú
+\u9308	錈	bèng
+\u930C	錌	àn
+\u930E	錎	kē
+\u9313	錓	gǔn
+\u9316	錖	dǔ
+\u931D	錝	chún
+\u931E	錞	chún
+\u931F	錟	tán
+\u9320	錠	dìng
+\u9322	錢	qián
+\u9323	錣	zhuì
+\u9324	錤	jī
+\u9325	錥	tì
+\u932C	錬	diāo
+\u932E	錮	gù
+\u9330	錰	lǜ
+\u9333	錳	měng
+\u933E	錾	huò
+\u9344	鍄	jiē
+\u9348	鍈	chí
+\u934A	鍊	liàn
+\u934C	鍌	xiǎn
+\u9357	鍗	tí
+\u935D	鍝	chā
+\u9365	鍥	qiè
+\u9367	鍧	hōng
+\u936A	鍪	móu
+\u9376	鍶	sī
+\u9377	鍷	dǔ
+\u937A	鍺	zhě
+\u937B	鍻	jié
+\u937D	鍽	biān
+\u938B	鎋	xiá
+\u9391	鎑	chēng
+\u9398	鎘	gé
+\u9399	鎙	dā
+\u939E	鎞	bī
+\u939F	鎟	sǎng
+\u93A2	鎢	wū
+\u93A3	鎣	jiǒng
+\u93A4	鎤	huǎng
+\u93A7	鎧	kǎi
+\u93AA	鎪	jiǎn
+\u93AC	鎬	gǎo
+\u93AD	鎭	tián
+\u93AE	鎮	zhèn
+\u93AF	鎯	láng
+\u93B0	鎰	yì
+\u93C3	鏃	zú
+\u93C4	鏄	tuán
+\u93C8	鏈	liàn
+\u93C9	鏉	ào
+\u93CB	鏋	dī
+\u93D1	鏑	dī
+\u93D2	鏒	qiāo
+\u93D4	鏔	biāo
+\u93D7	鏗	kēng
+\u93DB	鏛	cháng
+\u93DD	鏝	màn
+\u93E5	鏥	jiàn
+\u93E9	鏩	jiàn
+\u93F9	鏹	qiāng
+\u93FA	鏺	pō
+\u93FF	鏿	chēng
+\u9401	鐁	liú
+\u9403	鐃	náo
+\u9404	鐄	héng
+\u940C	鐌	liào
+\u9411	鐑	duī
+\u9413	鐓	dūn
+\u9414	鐔	tán
+\u9415	鐕	dèng
+\u9419	鐙	dèng
+\u941A	鐚	yà
+\u9425	鐥	jiān
+\u9428	鐨	fèi
+\u9430	鐰	qiāo
+\u9433	鐳	léi
+\u9436	鐶	huán
+\u943A	鐺	chēng
+\u943B	鐻	jù
+\u943C	鐼	bēn
+\u943D	鐽	bì
+\u943F	鐿	yì
+\u944C	鑌	bīn
+\u9451	鑑	jiàn
+\u9457	鑗	lí
+\u945B	鑛	kuàng
+\u9461	鑡	chuò
+\u9462	鑢	lǜ
+\u9465	鑥	lǔ
+\u946C	鑬	jiàn
+\u946D	鑭	lán
+\u946E	鑮	bó
+\u9470	鑰	yào
+\u9471	鑱	chán
+\u9473	鑳	huī
+\u9475	鑵	guàn
+\u947A	鑺	qú
+\u947D	鑽	zuān
+\u947E	鑾	luán
+\u947F	鑿	záo
+\u9480	钀	niè
+\u9484	钄	gá
+\u9487	钇	dìng
+\u948A	钊	zhāo
+\u948D	钍	shān
+\u9491	钑	jí
+\u9492	钒	fán
+\u9497	钗	chāi
+\u9499	钙	gài
+\u949F	钟	zhōng
+\u94A3	钣	bǎn
+\u94A6	钦	qīn
+\u94A9	钩	gōu
+\u94AD	钭	pá
+\u94B0	钰	yù
+\u94B2	钲	zhūng
+\u94B5	钵	bō
+\u94B7	钷	pō
+\u94B8	钸	bó
+\u94BA	钺	huì
+\u94BB	钻	zuān
+\u94BC	钼	mù
+\u94BE	钾	jiǎ
+\u94BF	钿	diàn
+\u94C0	铀	yóu
+\u94C6	铆	mǎo
+\u94C7	铇	bào
+\u94CB	铋	bì
+\u94CE	铎	duó
+\u94DC	铜	tóng
+\u94E4	铤	hā
+\u94EB	铫	tiáo
+\u94EC	铬	gé
+\u94ED	铭	míng
+\u94F2	铲	chǎn
+\u94F8	铸	zhù
+\u94FB	铻	wú
+\u94FC	铼	lái
+\u9504	锄	chú
+\u9508	锈	xiù
+\u9510	锐	ruì
+\u9511	锑	tī
+\u9512	锒	láng
+\u9514	锔	jū
+\u9515	锕	ā
+\u9518	锘	nuò
+\u9519	错	cuò
+\u951A	锚	máo
+\u951D	锝	dé
+\u951F	锟	kūn
+\u9522	锢	gù
+\u952B	锫	péi
+\u952C	锬	tán
+\u952D	锭	dìng
+\u9530	锰	jiē
+\u9535	锵	qiāng
+\u9537	锷	chāi
+\u9539	锹	lì
+\u954A	镊	niè
+\u9550	镐	hào
+\u9551	镑	bàng
+\u955E	镞	xín
+\u9562	镢	jué
+\u9564	镤	lán
+\u9568	镨	cuān
+\u956A	镪	qiǎng
+\u956B	镫	dèng
+\u956C	镬	huò
+\u9577	長	cháng
+\u9578	镸	ào
+\u957B	镻	dié
+\u957D	镽	liǎo
+\u9580	門	mén
+\u9586	閆	yán
+\u9587	閇	bì
+\u958D	閍	bēng
+\u9592	閒	jiàn
+\u9593	間	jiān
+\u9594	閔	mǐn
+\u9595	閕	xiā
+\u9597	閗	dòu
+\u9599	閙	nào
+\u959D	閝	ài
+\u95A2	関	guān
+\u95A3	閣	gé
+\u95A5	閥	fá
+\u95A8	閨	guī
+\u95AD	閭	lǘ
+\u95B7	閷	shā
+\u95B8	閸	kǔn
+\u95BA	閺	wén
+\u95BC	閼	è
+\u95BD	閽	hūn
+\u95C8	闈	wéi
+\u95CC	闌	lán
+\u95CD	闍	dū
+\u95D0	闐	tián
+\u95D4	闔	hé
+\u95D5	闕	quē
+\u95D6	闖	chuǎng
+\u95D7	闗	guān
+\u95DB	闛	chāng
+\u95DC	關	guān
+\u95DF	闟	sà
+\u95E0	闠	huì
+\u95E2	闢	bì
+\u95F0	闰	rùn
+\u95F5	闵	mǐn
+\u95F7	闷	mēn
+\u95F8	闸	zhá
+\u95FC	闼	kāi
+\u9600	阀	fá
+\u9603	阃	kǔn
+\u9607	阇	dū
+\u9608	阈	yù
+\u960F	阏	è
+\u9610	阐	chǎn
+\u9617	阗	jué
+\u961A	阚	kàn
+\u961E	阞	lè
+\u9620	阠	wèi
+\u9623	阣	yǐ
+\u9625	阥	ān
+\u9626	阦	ài
+\u9629	阩	pēi
+\u962C	阬	kēng
+\u962D	阭	juàn
+\u962F	阯	zhǐ
+\u9635	阵	zhèn
+\u9639	阹	qū
+\u963C	阼	zuò
+\u963D	阽	diàn
+\u963E	阾	ǎ
+\u963F	阿	ā
+\u9640	陀	tuó
+\u9641	陁	tuó
+\u9642	陂	pí
+\u9643	陃	bǐng
+\u9645	际	jì
+\u9647	陇	lǒng
+\u9649	陉	jìng
+\u964A	陊	duò
+\u964D	降	jiàng
+\u964E	陎	shū
+\u9651	陑	ér
+\u9654	陔	gāi
+\u9657	陗	qiào
+\u9659	陙	chún
+\u965C	陜	shǎn
+\u9660	陠	pū
+\u9665	陥	xiàn
+\u9669	险	xiǎn
+\u966A	陪	péi
+\u966C	陬	zōu
+\u966D	陭	qī
+\u966E	陮	ān
+\u9671	陱	jū
+\u9674	陴	pí
+\u9675	陵	líng
+\u9677	陷	xiàn
+\u9678	陸	lù
+\u9679	陹	dǔ
+\u967D	陽	yáng
+\u9680	隀	ān
+\u9683	隃	yú
+\u9684	隄	dī
+\u9685	隅	yú
+\u9686	隆	lóng
+\u9687	隇	suì
+\u968B	隋	suí
+\u968C	隌	ǎn
+\u9691	隑	gāi
+\u9692	隒	jī
+\u9695	隕	yǔn
+\u9696	隖	guī
+\u9698	隘	ài
+\u9699	隙	xì
+\u969D	隝	dǎo
+\u96A8	隨	suí
+\u96AA	險	xiǎn
+\u96AB	隫	fēn
+\u96AC	隬	nǐ
+\u96B1	隱	yǐn
+\u96B2	隲	dài
+\u96B7	隷	cuī
+\u96BA	隺	hè
+\u96BD	隽	juàn
+\u96BE	难	nán
+\u96BF	隿	qiāo
+\u96C0	雀	què
+\u96C1	雁	yàn
+\u96C2	雂	qín
+\u96C6	集	jí
+\u96CA	雊	gòu
+\u96CC	雌	cí
+\u96CD	雍	yōng
+\u96DC	雜	zá
+\u96E0	雠	chī
+\u96E3	難	nán
+\u96E4	雤	xué
+\u96E9	雩	yú
+\u96EA	雪	xuě
+\u96F7	雷	léi
+\u96F8	雸	án
+\u96FA	雺	méng
+\u9701	霁	jì
+\u9705	霅	zhá
+\u9706	霆	tíng
+\u9708	霈	pèi
+\u970E	霎	shà
+\u971E	霞	xiá
+\u9722	霢	mò
+\u9728	霨	wèi
+\u972A	霪	yín
+\u9733	霳	lóng
+\u9737	霷	pò
+\u9739	霹	pī
+\u973D	霽	jì
+\u973F	霿	méng
+\u9740	靀	lèi
+\u9742	靂	lì
+\u9744	靄	ǎi
+\u9749	靉	ài
+\u9753	靓	jìng
+\u9757	靗	chèng
+\u975B	靛	diàn
+\u975F	靟	fēi
+\u9761	靡	mí
+\u9762	面	miàn
+\u9766	靦	miǎn
+\u9767	靧	huì
+\u9769	革	gé
+\u976A	靪	chāi
+\u976C	靬	jiān
+\u9773	靳	jìn
+\u9777	靷	yǐn
+\u9779	靹	nà
+\u977F	靿	bèi
+\u9782	鞂	bào
+\u9785	鞅	yǎng
+\u9787	鞇	gé
+\u9789	鞉	táo
+\u978C	鞌	ān
+\u9795	鞕	shāo
+\u9799	鞙	juān
+\u979A	鞚	kòng
+\u979F	鞟	jū
+\u97A0	鞠	jū
+\u97A1	鞡	ēng
+\u97A6	鞦	qiū
+\u97A9	鞩	móu
+\u97AB	鞫	jū
+\u97AC	鞬	jiān
+\u97AD	鞭	biān
+\u97B5	鞵	lǚ
+\u97BC	鞼	guì
+\u97C4	韄	hù
+\u97C5	韅	xiǎn
+\u97CC	韌	rèn
+\u97D8	韘	shè
+\u97DD	韝	gōu
+\u97E0	韠	bì
+\u97F4	韴	ān
+\u97F9	韹	huáng
+\u97FE	韾	huò
+\u9801	頁	yè
+\u9802	頂	dǐng
+\u9804	頄	qiú
+\u9805	項	xiàng
+\u9808	須	xū
+\u980D	頍	kuǐ
+\u980F	頏	háng
+\u9810	預	yù
+\u9812	頒	bān
+\u9813	頓	dùn
+\u9814	頔	dí
+\u9817	頗	pǒ
+\u9818	領	lǐng
+\u981D	頝	jiá
+\u9821	頡	xié
+\u9822	頢	guā
+\u9826	頦	kē
+\u9827	頧	duī
+\u982C	頬	jiá
+\u982D	頭	tóu
+\u982E	頮	huì
+\u9830	頰	jiá
+\u9832	頲	tǐng
+\u9833	頳	chēng
+\u9836	頶	gěng
+\u9838	頸	gěng
+\u9839	頹	tuí
+\u983C	頼	kě
+\u9847	顇	cuì
+\u984A	顊	dì
+\u984D	額	é
+\u9850	顐	hún
+\u9851	顑	kǎn
+\u9855	顕	tián
+\u985C	顜	jiǎng
+\u985D	顝	kū
+\u985F	顟	liáo
+\u9861	顡	mān
+\u9862	顢	mān
+\u9863	顣	cù
+\u9864	顤	qīn
+\u986A	顪	huī
+\u986B	顫	zhàn
+\u986C	顬	kuǐ
+\u9878	顸	dú
+\u9880	颀	qí
+\u9881	颁	bān
+\u9882	颂	sòng
+\u9883	颃	gāng
+\u9884	预	yù
+\u9888	颈	jǐng
+\u9889	颉	jiá
+\u988A	颊	jiá
+\u988C	颌	hé
+\u988D	颍	kē
+\u9890	颐	yí
+\u9892	颒	huì
+\u9898	题	tí
+\u9899	颙	mān
+\u98A0	颠	diān
+\u98A1	颡	chàn
+\u98A5	颥	fěng
+\u98A9	颩	biāo
+\u98AB	颫	fú
+\u98AF	颯	sà
+\u98B0	颰	bá
+\u98C0	飀	liú
+\u98C3	飃	biāo
+\u98C9	飉	liáo
+\u98CE	风	fēng
+\u98CF	飏	sì
+\u98DF	食	shí
+\u98E0	飠	shí
+\u98E2	飢	jī
+\u98EA	飪	rèn
+\u98ED	飭	chì
+\u98EE	飮	yǐn
+\u98F3	飳	sì
+\u98F5	飵	zhǎi
+\u98F6	飶	bì
+\u98FF	飿	duò
+\u9904	餄	hé
+\u9905	餅	bǐng
+\u9909	餉	xiǎng
+\u990B	餋	sùn
+\u9911	餑	bō
+\u9912	餒	něi
+\u9915	餕	jùn
+\u9919	餙	kūn
+\u991C	餜	guǒ
+\u9922	餢	bù
+\u9925	餥	fěi
+\u9928	館	guǎn
+\u992C	餬	hú
+\u9931	餱	hóu
+\u9933	餳	táng
+\u9934	餴	fēn
+\u993F	餿	sōu
+\u994C	饌	zhuàn
+\u994D	饍	shàn
+\u994F	饏	dàn
+\u9952	饒	ráo
+\u9962	饢	náng
+\u9963	饣	shí
+\u9969	饩	xì
+\u996F	饯	jiàn
+\u9975	饵	ěr
+\u9979	饹	bō
+\u997E	饾	dòu
+\u9990	馐	xiū
+\u9995	馕	náng
+\u9996	首	shǒu
+\u9998	馘	guó
+\u9999	香	xiāng
+\u99A3	馣	yǎn
+\u99A6	馦	xiān
+\u99A9	馩	fén
+\u99AF	馯	hán
+\u99B0	馰	dài
+\u99B1	馱	duò
+\u99B2	馲	tuō
+\u99B5	馵	zhù
+\u99C4	駄	pǒ
+\u99C9	駉	jiǒng
+\u99CB	駋	zhāo
+\u99D3	駓	pī
+\u99D4	駔	zǎng
+\u99D5	駕	jià
+\u99D6	駖	dài
+\u99D9	駙	fù
+\u99E6	駦	jià
+\u99F3	駳	dàn
+\u99FE	駾	tuì
+\u9A01	騁	chěng
+\u9A02	騂	xīng
+\u9A04	騄	lù
+\u9A08	騈	jì
+\u9A0F	騏	qí
+\u9A1F	騟	guī
+\u9A2A	騪	sōu
+\u9A2C	騬	chéng
+\u9A37	騷	sāo
+\u9A38	騸	shàn
+\u9A3A	騺	shuāng
+\u9A3C	騼	lù
+\u9A41	驁	ào
+\u9A42	驂	cān
+\u9A44	驄	cōng
+\u9A50	驐	diàn
+\u9A55	驕	jiāo
+\u9A56	驖	tiě
+\u9A60	驠	chí
+\u9A62	驢	lǘ
+\u9A6B	驫	biāo
+\u9A6F	驯	xún
+\u9A70	驰	chí
+\u9A76	驶	shǐ
+\u9A7B	驻	zhù
+\u9A85	骅	huá
+\u9A92	骒	kè
+\u9A9B	骛	ào
+\u9A9D	骝	liú
+\u9AA1	骡	luó
+\u9AA4	骤	zhòu
+\u9AA5	骥	jì
+\u9AA8	骨	gǔ
+\u9AA9	骩	kǎng
+\u9AB0	骰	tóu
+\u9AB1	骱	xiè
+\u9AB2	骲	bāo
+\u9AB4	骴	chī
+\u9AB5	骵	tī
+\u9AB6	骶	dǐ
+\u9AB9	骹	qiāo
+\u9ABA	骺	gòu
+\u9AC2	髂	gé
+\u9AC3	髃	bǎng
+\u9AC9	髉	bō
+\u9AD1	髑	dú
+\u9AD3	髓	suǐ
+\u9AD5	髕	bìn
+\u9AD9	髙	gāo
+\u9AE0	髠	dí
+\u9AE3	髣	fǎng
+\u9AE7	髧	dàn
+\u9AED	髭	zī
+\u9AEE	髮	fà
+\u9AEF	髯	rán
+\u9AF3	髳	máo
+\u9AF5	髵	ér
+\u9AFB	髻	jì
+\u9AFC	髼	péng
+\u9B00	鬀	dí
+\u9B05	鬅	péng
+\u9B0C	鬌	duǒ
+\u9B21	鬡	hǒng
+\u9B28	鬨	hòng
+\u9B29	鬩	hè
+\u9B2A	鬪	dòu
+\u9B2C	鬬	dòu
+\u9B32	鬲	gé
+\u9B33	鬳	juàn
+\u9B36	鬶	guī
+\u9B3C	鬼	guǐ
+\u9B42	魂	hún
+\u9B45	魅	mèi
+\u9B47	魇	yǎn
+\u9B4C	魌	qī
+\u9B50	魐	chóu
+\u9B58	魘	yǎn
+\u9B5A	魚	yú
+\u9B5F	魟	gōng
+\u9B60	魠	tuō
+\u9B61	魡	diào
+\u9B64	魤	bǎn
+\u9B6D	魭	wǎn
+\u9B6E	魮	bí
+\u9B6F	魯	lǔ
+\u9B70	魰	wén
+\u9B7F	魿	bà
+\u9B82	鮂	bà
+\u9B8B	鮋	pí
+\u9B8E	鮎	bāo
+\u9B92	鮒	fù
+\u9B94	鮔	jù
+\u9B9B	鮛	shū
+\u9B9C	鮜	hòu
+\u9B9E	鮞	ér
+\u9BA0	鮠	wéi
+\u9BA2	鮢	zhòu
+\u9BA7	鮧	tí
+\u9BA8	鮨	qí
+\u9BA9	鮩	bìng
+\u9BAB	鮫	jiāo
+\u9BAC	鮬	bù
+\u9BAD	鮭	guī
+\u9BAE	鮮	xiān
+\u9BAF	鮯	gé
+\u9BB5	鮵	duó
+\u9BB8	鮸	miǎn
+\u9BB9	鮹	shān
+\u9BC6	鯆	fǔ
+\u9BC7	鯇	huàn
+\u9BC8	鯈	chóu
+\u9BC9	鯉	lǐ
+\u9BD7	鯗	xiǎng
+\u9BE2	鯢	ní
+\u9BE9	鯩	huàn
+\u9BF7	鯷	shì
+\u9BF8	鯸	hóu
+\u9BFA	鯺	zéi
+\u9BFE	鯾	biān
+\u9C06	鰆	chūn
+\u9C07	鰇	qiè
+\u9C09	鰉	huáng
+\u9C0D	鰍	qiū
+\u9C10	鰐	è
+\u9C14	鰔	jiǎn
+\u9C16	鰖	tuǒ
+\u9C17	鰗	hú
+\u9C20	鰠	guān
+\u9C25	鰥	guān
+\u9C27	鰧	dié
+\u9C29	鰩	yáo
+\u9C2C	鰬	cān
+\u9C3B	鰻	mán
+\u9C40	鱀	jì
+\u9C45	鱅	yōng
+\u9C46	鱆	zhāng
+\u9C4B	鱋	qū
+\u9C4E	鱎	jiǎo
+\u9C53	鱓	shàn
+\u9C54	鱔	shàn
+\u9C56	鱖	guì
+\u9C57	鱗	lín
+\u9C64	鱤	gǎn
+\u9C71	鱱	lǐ
+\u9C7B	鱻	bà
+\u9C84	鲄	bà
+\u9C86	鲆	píng
+\u9C8B	鲋	bà
+\u9C8D	鲍	bào
+\u9C90	鲐	tái
+\u9C92	鲒	jié
+\u9C94	鲔	wěi
+\u9C97	鲗	jiāo
+\u9C9C	鲜	xiān
+\u9C9D	鲝	huàn
+\u9CAA	鲪	jūn
+\u9CAE	鲮	líng
+\u9CB9	鲹	bī
+\u9CBF	鲿	cháng
+\u9CC1	鳁	wēn
+\u9CC4	鳄	dié
+\u9CCF	鳏	guān
+\u9CD0	鳐	yáo
+\u9CD2	鳒	jiān
+\u9CDA	鳚	guì
+\u9CDD	鳝	shàn
+\u9CE0	鳠	hù
+\u9CE1	鳡	gǎn
+\u9CE4	鳤	dǎo
+\u9CE6	鳦	yǐ
+\u9CE7	鳧	fú
+\u9CEA	鳪	bǔ
+\u9CEE	鳮	hàn
+\u9CF2	鳲	shī
+\u9D01	鴁	jué
+\u9D03	鴃	jué
+\u9D0A	鴊	jiā
+\u9D1B	鴛	yuān
+\u9D1E	鴞	xiāo
+\u9D1F	鴟	chī
+\u9D20	鴠	dàn
+\u9D2A	鴪	háng
+\u9D35	鴵	hòng
+\u9D3C	鴼	luò
+\u9D41	鵁	jiāo
+\u9D44	鵄	chī
+\u9D45	鵅	luò
+\u9D4D	鵍	bǔ
+\u9D50	鵐	jùn
+\u9D55	鵕	bī
+\u9D57	鵗	tī
+\u9D5D	鵝	é
+\u9D60	鵠	gǔ
+\u9D61	鵡	wǔ
+\u9D66	鵦	bìng
+\u9D68	鵨	shū
+\u9D6B	鵫	fèng
+\u9D6D	鵭	duò
+\u9D7E	鵾	kūn
+\u9D8A	鶊	gēng
+\u9D8F	鶏	jī
+\u9D96	鶖	qiū
+\u9DA2	鶢	kūn
+\u9DA5	鶥	méi
+\u9DA9	鶩	wù
+\u9DAD	鶭	fǎng
+\u9DB2	鶲	wēng
+\u9DBB	鶻	hú
+\u9DBC	鶼	jiān
+\u9DBD	鶽	sǔn
+\u9DBE	鶾	cí
+\u9DC0	鷀	cí
+\u9DC1	鷁	nì
+\u9DC2	鷂	yào
+\u9DC3	鷃	yàn
+\u9DC7	鷇	kòu
+\u9DC8	鷈	tī
+\u9DCB	鷋	tú
+\u9DD0	鷐	chén
+\u9DD6	鷖	yī
+\u9DDA	鷚	liáo
+\u9DDB	鷛	róng
+\u9DDC	鷜	lóu
+\u9DE5	鷥	sī
+\u9DEA	鷪	yān
+\u9DF1	鷱	kāo
+\u9DF9	鷹	yīng
+\u9E01	鸁	luó
+\u9E03	鸃	bì
+\u9E0B	鸋	hù
+\u9E0D	鸍	mí
+\u9E13	鸓	lěi
+\u9E1C	鸜	diǎo
+\u9E20	鸠	jiū
+\u9E28	鸨	bǎo
+\u9E3C	鸼	zhāo
+\u9E3D	鸽	gē
+\u9E45	鹅	é
+\u9E4D	鹍	kūn
+\u9E52	鹒	gēng
+\u9E57	鹗	è
+\u9E59	鹙	cí
+\u9E5B	鹛	méi
+\u9E5E	鹞	yáo
+\u9E5F	鹟	wēng
+\u9E63	鹣	hù
+\u9E72	鹲	méng
+\u9E7E	鹾	cuó
+\u9E80	麀	yōu
+\u9E84	麄	cū
+\u9E86	麆	chú
+\u9E87	麇	jūn
+\u9E88	麈	zhǔ
+\u9E8D	麍	liú
+\u9E92	麒	qí
+\u9E96	麖	jīng
+\u9E97	麗	lì
+\u9E98	麘	hé
+\u9EA8	麨	chǎo
+\u9EAB	麫	miǎn
+\u9EAC	麬	fū
+\u9EB0	麰	móu
+\u9EB5	麵	miàn
+\u9EBC	麼	mā
+\u9EBD	麽	mā
+\u9EBE	麾	huī
+\u9EC2	黂	fén
+\u9ECA	黊	kuàng
+\u9ECC	黌	héng
+\u9ECD	黍	shǔ
+\u9ED0	黐	chī
+\u9ED1	黑	hēi
+\u9ED2	黒	hēi
+\u9ED6	黖	xì
+\u9EDE	點	diǎn
+\u9EDF	黟	yī
+\u9EE3	黣	měi
+\u9EE5	黥	qíng
+\u9EE6	黦	yù
+\u9EE7	黧	lí
+\u9EE8	黨	dǎng
+\u9EE9	黩	dú
+\u9EEC	黬	àn
+\u9EEE	黮	dǎn
+\u9EEF	黯	àn
+\u9EF0	黰	zhěn
+\u9EFA	黺	fěn
+\u9EFB	黻	fú
+\u9EFC	黼	fǔ
+\u9EFE	黾	méng
+\u9EFF	黿	yuán
+\u9F03	鼃	měng
+\u9F07	鼇	áo
+\u9F0D	鼍	tuó
+\u9F0F	鼏	mì
+\u9F12	鼒	zī
+\u9F16	鼖	fén
+\u9F29	鼩	qú
+\u9F36	鼶	sī
+\u9F37	鼷	xī
+\u9F38	鼸	hōu
+\u9F41	齁	hōu
+\u9F42	齂	è
+\u9F44	齄	jī
+\u9F4B	齋	zhāi
+\u9F4D	齍	qí
+\u9F4F	齏	jī
+\u9F51	齑	jī
+\u9F58	齘	xiè
+\u9F5B	齛	chái
+\u9F5D	齝	chī
+\u9F5F	齟	jǔ
+\u9F60	齠	tiáo
+\u9F66	齦	yín
+\u9F67	齧	niè
+\u9F6A	齪	chuò
+\u9F6D	齭	chǔ
+\u9F71	齱	chuò
+\u9F72	齲	qǔ
+\u9F74	齴	xiǎn
+\u9F75	齵	óu
+\u9F76	齶	è
+\u9F83	龃	jǔ
+\u9F89	龉	lǒng
+\u9F8E	龎	kè
+\u9F96	龖	lǒng
+\u9F9A	龚	gōng
+\u9F9D	龝	jūn
+\u9FA0	龠	yuè
+\u9FA3	龣	dōu
+\uD840\uDC65	𠁥	gǎ
+\uD858\uDE46	𦉆	chá
+
+# previous fixes
+
+4F1A	会	huì
+4F3D	伽	jia
+4F42	佂	zheng
+4F54	佔	zhàn
+4F87	侇	yí
+4F97	侗	tóng
+4FA8	侨	qiáo
+4FC7	俇	kuăng
+4FE2	俢	xiu
+4FEA	俪	lì
+4FF1	俱	jù
+5004	倄	yáo
+5006	倆	liăng
+5007	倇	wăn
+5015	倕	chuí
+5024	値	zhí
+502D	倭	wei
+502E	倮	luŏ
+503D	倽	xiá
+5053	偓	wò
+5080	傀	kuĭ
+5081	傁	sŏu
+5086	傆	yuàn
+5093	傓	shàn
+50D4	僔	zŭn
+50EF	僯	lĭn
+510D	儍	shă	#edited
+516A	兪	yú
+5199	写	xiĕ
+51A0	冠	guàn
+51CA	凊	qýng
+524C	剌	là
+524E	剎	sha
+5262	剢	zhuó
+5266	剦	yan
+52C2	勂	háo
+52DD	勝	shèng
+533D	匽	yăn	# edited from yãn
+5340	區	qu
+534F	协	xié
+5352	卒	zú
+53A1	厡	yuán
+53A7	厧	jĭn
+53AE	厮	si
+53CE	収	shou
+5401	吁	yù
+5402	吂	máng
+5408	合	hé
+5413	吓	xià
+5414	吔	yĕ
+542D	吭	keng
+5432	吲	yĭn
+5441	呁	jùn
+5451	呑	tun
+5456	呖	lì
+545C	呜	wu
+545F	呟	quăn	#edited from quãn
+546C	呬	xì
+5472	呲	zi
+548F	咏	yŏng
+5497	咗	zuŏ
+54A6	咦	yí
+54B2	咲	xiào
+54B3	咳	ké
+54BE	咾	lăo	#edited from lão
+54C5	哅	xiong
+54CC	哌	pài
+54D0	哐	kuang
+54E6	哦	ó
+54EB	哫	zú
+5500	唀	yŏu
+550B	唋	tŭ
+5529	唩	wo
+552B	唫	yín
+5530	唰	shua
+553A	唺	tiăn
+5545	啅	zhuó
+5552	啒	wa
+5559	啙	zĭ
+555E	啞	yă	#edited from yã
+5567	啧	zé
+5578	啸	xiào
+5580	喀	kè
+5581	喁	yú
+558C	喌	zhou
+5592	喒	zán
+5594	喔	wo
+5595	喕	miăn	#edited from miãn
+55AE	單	dan
+55AF	喯	pen
+55B4	喴	wei
+55C4	嗄	shà
+55C6	嗆	qiàng
+55D5	嗕	rù
+55F0	嗰	gè
+55F5	嗵	tong
+560F	嘏	jiă
+5615	嘕	xian
+561C	嘜	mà
+5621	嘡	tang
+562A	嘪	măi	#edited from mãi
+562C	嘬	zuo
+563A	嘺	qiáo
+563E	嘾	tán
+5663	噣	zhuó
+5670	噰	yong
+5678	噸	dùn
+5688	嚈	yà
+56A2	嚢	náng
+56AA	嚪	rang
+56BC	嚼	jué
+56E4	囤	tún
+56EF	囯	guó
+56F7	囷	qun
+5708	圈	juàn
+576E	坮	tái
+577B	坻	dĭ
+57A8	垨	shŏu
+57C6	埆	què
+57CF	埏	yán
+57E1	埡	yà
+57E9	埩	zheng
+57FE	埾	jù
+5816	堖	năo
+5838	堸	fÚng
+584A	塊	kuài
+585F	塟	zàng
+5873	塳	péng
+587B	塻	mò
+5887	墇	zhang
+588F	墏	qiăng	#edited from qiãng
+58A4	墤	tuí
+58AD	墭	shèng
+58B0	墰	tán
+58BB	墻	qiáng
+58C6	壆	xuan
+58D0	壐	xĭ
+58E7	壧	yán
+5905	夅	jiàng
+5906	夆	feng
+5915	夕	xì
+593E	夾	jiá
+5947	奇	qí
+597E	奾	xian
+59D4	委	wĕi
+59FA	姺	shen
+5A29	娩	wăn	#edited from wãn
+5A2A	娪	wú
+5A2E	娮	yán	#edited from yßn
+5A64	婤	chou
+5A7C	婼	ruò
+5A9C	媜	zhen
+5AAF	媯	guĭ
+5AC0	嫀	qín
+5B46	孆	ying
+5B5B	孛	bó
+5B6C	孬	nao
+5B71	孱	chán
+5BD6	寖	qìn
+5BD8	寘	zhì
+5C05	尅	kè
+5C3F	尿	niào
+5C4F	屏	píng	#edited from pÝng
+5C84	岄	yuè
+5CAE	岮	tuó
+5CB0	岰	yŏu
+5CC8	峈	luò
+5CE5	峥	zheng
+5D17	崗	gang
+5D18	崘	lún
+5D21	崡	hán
+5E77	幷	bìng
+5E7E	幾	jĭ
+5E7F	广	guăng	#edited from guãng
+5EE9	廩	bĭng
+5F04	弄	nòng
+5F3A	强	qiáng
+5F84	径	jìng
+60A6	悦	yuè
+60CA	惊	liáng
+60DD	惝	tăng	#edited from tãng
+60DE	惞	xin
+60E1	惡	è
+613C	愼	shèn
+6241	扁	biăn	#edited from biãn
+6253	打	dă	#edited from dã
+625B	扛	káng
+6272	扲	qián
+629B	抛	pao
+62AE	抮	zhĕn
+62CD	拍	bó
+62CE	拎	ling
+62D3	拓	tuò
+62FD	拽	zhuai
+63BB	掻	sao
+63D0	提	tí
+63E3	揣	chuăi	#edited from chuãi
+63E4	揤	jí
+6403	搃	zŏng
+641B	搛	jian
+6436	搶	qiăng	#edited from qiãng
+8BB8	许	xŭ
+6D4F	浏	liú
+89C8	览	lăn	#edited from lãn
diff --git a/src/com/ibm/icu/impl/data/icudata.jar b/src/com/ibm/icu/impl/data/icudata.jar
new file mode 100644
index 0000000..89d3ecd
--- /dev/null
+++ b/src/com/ibm/icu/impl/data/icudata.jar
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:e19700f7ceefa17c5199313625e4ff91af5663b361ac933ff901cf1f885459a2
+size 2045460
diff --git a/src/com/ibm/icu/impl/data/package.html b/src/com/ibm/icu/impl/data/package.html
new file mode 100755
index 0000000..4f9bcd3
--- /dev/null
+++ b/src/com/ibm/icu/impl/data/package.html
@@ -0,0 +1,12 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html>
+<head>
+<!--
+  Copyright (C) 2000-2004, International Business Machines Corporation and
+  others. All Rights Reserved.
+-->
+</head>
+<body bgcolor="white">
+Resource data used by classes in com.ibm.text.
+</body>
+</html>
\ No newline at end of file
diff --git a/src/com/ibm/icu/impl/data/th.brk b/src/com/ibm/icu/impl/data/th.brk
new file mode 100644
index 0000000..47048ef
--- /dev/null
+++ b/src/com/ibm/icu/impl/data/th.brk
Binary files differ
diff --git a/src/com/ibm/icu/lang/UCharacter.java b/src/com/ibm/icu/lang/UCharacter.java
new file mode 100755
index 0000000..351ca5b
--- /dev/null
+++ b/src/com/ibm/icu/lang/UCharacter.java
@@ -0,0 +1,6073 @@
+/**
+*******************************************************************************
+* Copyright (C) 1996-2005, International Business Machines Corporation and    *
+* others. All Rights Reserved.                                                *
+*******************************************************************************
+*/
+
+package com.ibm.icu.lang;
+
+import java.io.IOException;
+import java.lang.ref.SoftReference;
+import java.util.HashMap;
+import java.util.Locale;
+import java.util.Map;
+import java.util.MissingResourceException;
+
+import com.ibm.icu.impl.UBiDiProps;
+import com.ibm.icu.impl.UCaseProps;
+import com.ibm.icu.impl.NormalizerImpl;
+import com.ibm.icu.impl.UCharacterUtility;
+import com.ibm.icu.impl.UCharacterName;
+import com.ibm.icu.impl.UCharacterNameChoice;
+import com.ibm.icu.impl.UPropertyAliases;
+import com.ibm.icu.lang.UCharacterEnums.*;
+import com.ibm.icu.text.BreakIterator;
+import com.ibm.icu.text.Normalizer;
+import com.ibm.icu.text.UTF16;
+import com.ibm.icu.impl.UCharacterProperty;
+import com.ibm.icu.util.RangeValueIterator;
+import com.ibm.icu.util.ULocale;
+import com.ibm.icu.util.ValueIterator;
+import com.ibm.icu.util.VersionInfo;
+
+/**
+ * <p>
+ * The UCharacter class provides extensions to the 
+ * <a href=http://java.sun.com/j2se/1.3/docs/api/java/lang/Character.html>
+ * java.lang.Character</a> class. These extensions provide support for 
+ * more Unicode properties and together with the <a href=../text/UTF16.html>UTF16</a> 
+ * class, provide support for supplementary characters (those with code 
+ * points above U+FFFF).
+ * Each ICU release supports the latest version of Unicode available at that time.
+ * </p>
+ * <p>
+ * Code points are represented in these API using ints. While it would be 
+ * more convenient in Java to have a separate primitive datatype for them, 
+ * ints suffice in the meantime.
+ * </p>
+ * <p>
+ * To use this class please add the jar file name icu4j.jar to the 
+ * class path, since it contains data files which supply the information used 
+ * by this file.<br>
+ * E.g. In Windows <br>
+ * <code>set CLASSPATH=%CLASSPATH%;$JAR_FILE_PATH/ucharacter.jar</code>.<br>
+ * Otherwise, another method would be to copy the files uprops.dat and 
+ * unames.icu from the icu4j source subdirectory
+ * <i>$ICU4J_SRC/src/com.ibm.icu.impl.data</i> to your class directory 
+ * <i>$ICU4J_CLASS/com.ibm.icu.impl.data</i>.
+ * </p>
+ * <p>
+ * Aside from the additions for UTF-16 support, and the updated Unicode
+ * properties, the main differences between UCharacter and Character are:
+ * <ul>
+ * <li> UCharacter is not designed to be a char wrapper and does not have 
+ *      APIs to which involves management of that single char.<br>
+ *      These include: 
+ *      <ul>
+ *        <li> char charValue(), 
+ *        <li> int compareTo(java.lang.Character, java.lang.Character), etc.
+ *      </ul>
+ * <li> UCharacter does not include Character APIs that are deprecated, nor
+ *      does it include the Java-specific character information, such as 
+ *      boolean isJavaIdentifierPart(char ch).
+ * <li> Character maps characters 'A' - 'Z' and 'a' - 'z' to the numeric 
+ *      values '10' - '35'. UCharacter also does this in digit and
+ *      getNumericValue, to adhere to the java semantics of these
+ *      methods.  New methods unicodeDigit, and
+ *      getUnicodeNumericValue do not treat the above code points 
+ *      as having numeric values.  This is a semantic change from ICU4J 1.3.1.
+ * </ul>
+ * <p>
+ * Further detail differences can be determined from the program 
+ *        <a href = http://oss.software.ibm.com/developerworks/opensource/cvs/icu4j/~checkout~/icu4j/src/com/ibm/icu/dev/test/lang/UCharacterCompare.java>
+ *        com.ibm.icu.dev.test.lang.UCharacterCompare</a>
+ * </p>
+ * <p>
+ * In addition to Java compatibility functions, which calculate derived properties,
+ * this API provides low-level access to the Unicode Character Database.
+ * </p>
+ * <p>
+ * Unicode assigns each code point (not just assigned character) values for
+ * many properties.
+ * Most of them are simple boolean flags, or constants from a small enumerated list.
+ * For some properties, values are strings or other relatively more complex types.
+ * </p>
+ * <p>
+ * For more information see
+ * "About the Unicode Character Database" (http://www.unicode.org/ucd/)
+ * and the ICU User Guide chapter on Properties (http://icu.sourceforge.net/userguide/properties.html).
+ * </p>
+ * <p>
+ * There are also functions that provide easy migration from C/POSIX functions
+ * like isblank(). Their use is generally discouraged because the C/POSIX
+ * standards do not define their semantics beyond the ASCII range, which means
+ * that different implementations exhibit very different behavior.
+ * Instead, Unicode properties should be used directly.
+ * </p>
+ * <p>
+ * There are also only a few, broad C/POSIX character classes, and they tend
+ * to be used for conflicting purposes. For example, the "isalpha()" class
+ * is sometimes used to determine word boundaries, while a more sophisticated
+ * approach would at least distinguish initial letters from continuation
+ * characters (the latter including combining marks).
+ * (In ICU, BreakIterator is the most sophisticated API for word boundaries.)
+ * Another example: There is no "istitle()" class for titlecase characters.
+ * </p>
+ * <p>
+ * ICU 3.4 and later provides API access for all twelve C/POSIX character classes.
+ * ICU implements them according to the Standard Recommendations in
+ * Annex C: Compatibility Properties of UTS #18 Unicode Regular Expressions
+ * (http://www.unicode.org/reports/tr18/#Compatibility_Properties).
+ * </p>
+ * <p>
+ * API access for C/POSIX character classes is as follows:
+ * - alpha:     isUAlphabetic(c) or hasBinaryProperty(c, UProperty.ALPHABETIC)
+ * - lower:     isULowercase(c) or hasBinaryProperty(c, UProperty.LOWERCASE)
+ * - upper:     isUUppercase(c) or hasBinaryProperty(c, UProperty.UPPERCASE)
+ * - punct:     ((1<<getType(c)) & ((1<<DASH_PUNCTUATION)|(1<<START_PUNCTUATION)|(1<<END_PUNCTUATION)|(1<<CONNECTOR_PUNCTUATION)|(1<<OTHER_PUNCTUATION)|(1<<INITIAL_PUNCTUATION)|(1<<FINAL_PUNCTUATION)))!=0
+ * - digit:     isDigit(c) or getType(c)==DECIMAL_DIGIT_NUMBER
+ * - xdigit:    hasBinaryProperty(c, UProperty.POSIX_XDIGIT)
+ * - alnum:     hasBinaryProperty(c, UProperty.POSIX_ALNUM)
+ * - space:     isUWhiteSpace(c) or hasBinaryProperty(c, UProperty.WHITE_SPACE)
+ * - blank:     hasBinaryProperty(c, UProperty.POSIX_BLANK)
+ * - cntrl:     getType(c)==CONTROL
+ * - graph:     hasBinaryProperty(c, UProperty.POSIX_GRAPH)
+ * - print:     hasBinaryProperty(c, UProperty.POSIX_PRINT)
+ * </p>
+ * <p>
+ * The C/POSIX character classes are also available in UnicodeSet patterns,
+ * using patterns like [:graph:] or \p{graph}.
+ * </p>
+ * <p>
+ * Note: There are several ICU (and Java) whitespace functions.
+ * Comparison:
+ * - isUWhiteSpace=UCHAR_WHITE_SPACE: Unicode White_Space property;
+ *       most of general categories "Z" (separators) + most whitespace ISO controls
+ *       (including no-break spaces, but excluding IS1..IS4 and ZWSP)
+ * - isWhitespace: Java isWhitespace; Z + whitespace ISO controls but excluding no-break spaces
+ * - isSpaceChar: just Z (including no-break spaces)
+ * </p>
+ * <p>
+ * This class is not subclassable
+ * </p>
+ * @author Syn Wee Quek
+ * @stable ICU 2.1
+ * @see com.ibm.icu.lang.UCharacterEnums
+ */
+
+public final class UCharacter implements ECharacterCategory, ECharacterDirection
+{ 
+    // public inner classes ----------------------------------------------
+      
+    /**
+     * A family of character subsets representing the character blocks in the 
+     * Unicode specification, generated from Unicode Data file Blocks.txt. 
+     * Character blocks generally define characters used for a specific script 
+     * or purpose. A character is contained by at most one Unicode block. 
+     * @stable ICU 2.4
+     */
+    public static final class UnicodeBlock extends Character.Subset 
+    {
+        // blocks objects ---------------------------------------------------
+        
+        /** 
+         * @stable ICU 2.6
+         */
+        public static final UnicodeBlock NO_BLOCK 
+            = new UnicodeBlock("NO_BLOCK", 0);
+
+        /** 
+         * @stable ICU 2.4
+         */
+        public static final UnicodeBlock BASIC_LATIN 
+            = new UnicodeBlock("BASIC_LATIN", 1);
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final UnicodeBlock LATIN_1_SUPPLEMENT 
+            = new UnicodeBlock("LATIN_1_SUPPLEMENT", 2);
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final UnicodeBlock LATIN_EXTENDED_A
+            = new UnicodeBlock("LATIN_EXTENDED_A", 3);
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final UnicodeBlock LATIN_EXTENDED_B 
+            = new UnicodeBlock("LATIN_EXTENDED_B", 4);
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final UnicodeBlock IPA_EXTENSIONS 
+            = new UnicodeBlock("IPA_EXTENSIONS", 5);
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final UnicodeBlock SPACING_MODIFIER_LETTERS 
+            = new UnicodeBlock("SPACING_MODIFIER_LETTERS", 6);
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final UnicodeBlock COMBINING_DIACRITICAL_MARKS 
+            = new UnicodeBlock("COMBINING_DIACRITICAL_MARKS", 7);
+        /**
+         * Unicode 3.2 renames this block to "Greek and Coptic".
+         * @stable ICU 2.4
+         */
+        public static final UnicodeBlock GREEK
+            = new UnicodeBlock("GREEK", 8);
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final UnicodeBlock CYRILLIC 
+            = new UnicodeBlock("CYRILLIC", 9);
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final UnicodeBlock ARMENIAN 
+            = new UnicodeBlock("ARMENIAN", 10);
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final UnicodeBlock HEBREW 
+            = new UnicodeBlock("HEBREW", 11);  
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final UnicodeBlock ARABIC
+            = new UnicodeBlock("ARABIC", 12);
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final UnicodeBlock SYRIAC 
+            = new UnicodeBlock("SYRIAC", 13);
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final UnicodeBlock THAANA 
+            = new UnicodeBlock("THAANA", 14);
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final UnicodeBlock DEVANAGARI 
+            = new UnicodeBlock("DEVANAGARI", 15);
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final UnicodeBlock BENGALI 
+            = new UnicodeBlock("BENGALI", 16);
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final UnicodeBlock GURMUKHI 
+            = new UnicodeBlock("GURMUKHI", 17);
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final UnicodeBlock GUJARATI 
+            = new UnicodeBlock("GUJARATI", 18);
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final UnicodeBlock ORIYA 
+            = new UnicodeBlock("ORIYA", 19);
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final UnicodeBlock TAMIL 
+            = new UnicodeBlock("TAMIL", 20);
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final UnicodeBlock TELUGU 
+            = new UnicodeBlock("TELUGU", 21);
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final UnicodeBlock KANNADA 
+            = new UnicodeBlock("KANNADA", 22);
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final UnicodeBlock MALAYALAM 
+            = new UnicodeBlock("MALAYALAM", 23);
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final UnicodeBlock SINHALA 
+            = new UnicodeBlock("SINHALA", 24);
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final UnicodeBlock THAI 
+            = new UnicodeBlock("THAI", 25);
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final UnicodeBlock LAO 
+            = new UnicodeBlock("LAO", 26);
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final UnicodeBlock TIBETAN 
+            = new UnicodeBlock("TIBETAN", 27);
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final UnicodeBlock MYANMAR 
+            = new UnicodeBlock("MYANMAR", 28);
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final UnicodeBlock GEORGIAN 
+            = new UnicodeBlock("GEORGIAN", 29);
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final UnicodeBlock HANGUL_JAMO 
+            = new UnicodeBlock("HANGUL_JAMO", 30);
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final UnicodeBlock ETHIOPIC 
+            = new UnicodeBlock("ETHIOPIC", 31);
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final UnicodeBlock CHEROKEE 
+            = new UnicodeBlock("CHEROKEE", 32);
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final UnicodeBlock UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS 
+            = new UnicodeBlock("UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS", 33);
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final UnicodeBlock OGHAM 
+            = new UnicodeBlock("OGHAM", 34);
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final UnicodeBlock RUNIC 
+            = new UnicodeBlock("RUNIC", 35);
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final UnicodeBlock KHMER 
+            = new UnicodeBlock("KHMER", 36);
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final UnicodeBlock MONGOLIAN 
+            = new UnicodeBlock("MONGOLIAN", 37);
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final UnicodeBlock LATIN_EXTENDED_ADDITIONAL 
+            = new UnicodeBlock("LATIN_EXTENDED_ADDITIONAL", 38);
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final UnicodeBlock GREEK_EXTENDED 
+            = new UnicodeBlock("GREEK_EXTENDED", 39);
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final UnicodeBlock GENERAL_PUNCTUATION 
+            = new UnicodeBlock("GENERAL_PUNCTUATION", 40);
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final UnicodeBlock SUPERSCRIPTS_AND_SUBSCRIPTS 
+            = new UnicodeBlock("SUPERSCRIPTS_AND_SUBSCRIPTS", 41);
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final UnicodeBlock CURRENCY_SYMBOLS 
+            = new UnicodeBlock("CURRENCY_SYMBOLS", 42);
+        /**
+         * Unicode 3.2 renames this block to "Combining Diacritical Marks for 
+         * Symbols".
+         * @stable ICU 2.4
+         */
+        public static final UnicodeBlock COMBINING_MARKS_FOR_SYMBOLS 
+            = new UnicodeBlock("COMBINING_MARKS_FOR_SYMBOLS", 43);
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final UnicodeBlock LETTERLIKE_SYMBOLS 
+            = new UnicodeBlock("LETTERLIKE_SYMBOLS", 44);
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final UnicodeBlock NUMBER_FORMS 
+            = new UnicodeBlock("NUMBER_FORMS", 45);
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final UnicodeBlock ARROWS 
+            = new UnicodeBlock("ARROWS", 46);
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final UnicodeBlock MATHEMATICAL_OPERATORS 
+            = new UnicodeBlock("MATHEMATICAL_OPERATORS", 47);
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final UnicodeBlock MISCELLANEOUS_TECHNICAL 
+            = new UnicodeBlock("MISCELLANEOUS_TECHNICAL", 48);
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final UnicodeBlock CONTROL_PICTURES 
+            = new UnicodeBlock("CONTROL_PICTURES", 49);
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final UnicodeBlock OPTICAL_CHARACTER_RECOGNITION 
+            = new UnicodeBlock("OPTICAL_CHARACTER_RECOGNITION", 50);
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final UnicodeBlock ENCLOSED_ALPHANUMERICS 
+            = new UnicodeBlock("ENCLOSED_ALPHANUMERICS", 51);
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final UnicodeBlock BOX_DRAWING 
+            = new UnicodeBlock("BOX_DRAWING", 52);
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final UnicodeBlock BLOCK_ELEMENTS 
+            = new UnicodeBlock("BLOCK_ELEMENTS", 53);
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final UnicodeBlock GEOMETRIC_SHAPES 
+            = new UnicodeBlock("GEOMETRIC_SHAPES", 54);
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final UnicodeBlock MISCELLANEOUS_SYMBOLS 
+            = new UnicodeBlock("MISCELLANEOUS_SYMBOLS", 55);
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final UnicodeBlock DINGBATS 
+            = new UnicodeBlock("DINGBATS", 56);
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final UnicodeBlock BRAILLE_PATTERNS 
+            = new UnicodeBlock("BRAILLE_PATTERNS", 57);
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final UnicodeBlock CJK_RADICALS_SUPPLEMENT 
+            = new UnicodeBlock("CJK_RADICALS_SUPPLEMENT", 58);
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final UnicodeBlock KANGXI_RADICALS 
+            = new UnicodeBlock("KANGXI_RADICALS", 59);
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final UnicodeBlock IDEOGRAPHIC_DESCRIPTION_CHARACTERS 
+            = new UnicodeBlock("IDEOGRAPHIC_DESCRIPTION_CHARACTERS", 60);
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final UnicodeBlock CJK_SYMBOLS_AND_PUNCTUATION 
+            = new UnicodeBlock("CJK_SYMBOLS_AND_PUNCTUATION", 61);
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final UnicodeBlock HIRAGANA 
+            = new UnicodeBlock("HIRAGANA", 62);
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final UnicodeBlock KATAKANA 
+            = new UnicodeBlock("KATAKANA", 63);
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final UnicodeBlock BOPOMOFO 
+            = new UnicodeBlock("BOPOMOFO", 64);
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final UnicodeBlock HANGUL_COMPATIBILITY_JAMO 
+            = new UnicodeBlock("HANGUL_COMPATIBILITY_JAMO", 65);
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final UnicodeBlock KANBUN 
+            = new UnicodeBlock("KANBUN", 66);
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final UnicodeBlock BOPOMOFO_EXTENDED 
+            = new UnicodeBlock("BOPOMOFO_EXTENDED", 67);
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final UnicodeBlock ENCLOSED_CJK_LETTERS_AND_MONTHS 
+            = new UnicodeBlock("ENCLOSED_CJK_LETTERS_AND_MONTHS", 68);
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final UnicodeBlock CJK_COMPATIBILITY 
+            = new UnicodeBlock("CJK_COMPATIBILITY", 69);
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final UnicodeBlock CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A 
+            = new UnicodeBlock("CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A", 70);
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final UnicodeBlock CJK_UNIFIED_IDEOGRAPHS 
+            = new UnicodeBlock("CJK_UNIFIED_IDEOGRAPHS", 71);
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final UnicodeBlock YI_SYLLABLES 
+            = new UnicodeBlock("YI_SYLLABLES", 72);
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final UnicodeBlock YI_RADICALS 
+            = new UnicodeBlock("YI_RADICALS", 73);
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final UnicodeBlock HANGUL_SYLLABLES 
+            = new UnicodeBlock("HANGUL_SYLLABLES", 74);
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final UnicodeBlock HIGH_SURROGATES 
+            = new UnicodeBlock("HIGH_SURROGATES", 75);
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final UnicodeBlock HIGH_PRIVATE_USE_SURROGATES 
+            = new UnicodeBlock("HIGH_PRIVATE_USE_SURROGATES", 76);
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final UnicodeBlock LOW_SURROGATES 
+            = new UnicodeBlock("LOW_SURROGATES", 77);
+        /**
+         * Same as public static final int PRIVATE_USE.
+         * Until Unicode 3.1.1; the corresponding block name was "Private Use";
+         * and multiple code point ranges had this block.
+         * Unicode 3.2 renames the block for the BMP PUA to "Private Use Area" 
+         * and adds separate blocks for the supplementary PUAs.
+         * @stable ICU 2.4
+         */
+        public static final UnicodeBlock PRIVATE_USE_AREA 
+            = new UnicodeBlock("PRIVATE_USE_AREA",  78);
+        /**
+         * Same as public static final int PRIVATE_USE_AREA.
+         * Until Unicode 3.1.1; the corresponding block name was "Private Use";
+         * and multiple code point ranges had this block.
+         * Unicode 3.2 renames the block for the BMP PUA to "Private Use Area" 
+         * and adds separate blocks for the supplementary PUAs.
+         * @stable ICU 2.4
+         */
+        public static final UnicodeBlock PRIVATE_USE 
+            = PRIVATE_USE_AREA;
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final UnicodeBlock CJK_COMPATIBILITY_IDEOGRAPHS 
+            = new UnicodeBlock("CJK_COMPATIBILITY_IDEOGRAPHS", 79);
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final UnicodeBlock ALPHABETIC_PRESENTATION_FORMS 
+            = new UnicodeBlock("ALPHABETIC_PRESENTATION_FORMS", 80);
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final UnicodeBlock ARABIC_PRESENTATION_FORMS_A 
+            = new UnicodeBlock("ARABIC_PRESENTATION_FORMS_A", 81);
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final UnicodeBlock COMBINING_HALF_MARKS 
+            = new UnicodeBlock("COMBINING_HALF_MARKS", 82);
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final UnicodeBlock CJK_COMPATIBILITY_FORMS 
+            = new UnicodeBlock("CJK_COMPATIBILITY_FORMS", 83);
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final UnicodeBlock SMALL_FORM_VARIANTS 
+            = new UnicodeBlock("SMALL_FORM_VARIANTS", 84);
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final UnicodeBlock ARABIC_PRESENTATION_FORMS_B 
+            = new UnicodeBlock("ARABIC_PRESENTATION_FORMS_B", 85);
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final UnicodeBlock SPECIALS 
+            = new UnicodeBlock("SPECIALS", 86);
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final UnicodeBlock HALFWIDTH_AND_FULLWIDTH_FORMS 
+            = new UnicodeBlock("HALFWIDTH_AND_FULLWIDTH_FORMS", 87);
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final UnicodeBlock OLD_ITALIC 
+            = new UnicodeBlock("OLD_ITALIC", 88);
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final UnicodeBlock GOTHIC 
+            = new UnicodeBlock("GOTHIC", 89);
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final UnicodeBlock DESERET 
+            = new UnicodeBlock("DESERET", 90);
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final UnicodeBlock BYZANTINE_MUSICAL_SYMBOLS 
+            = new UnicodeBlock("BYZANTINE_MUSICAL_SYMBOLS", 91);
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final UnicodeBlock MUSICAL_SYMBOLS 
+            = new UnicodeBlock("MUSICAL_SYMBOLS", 92);
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final UnicodeBlock MATHEMATICAL_ALPHANUMERIC_SYMBOLS 
+            = new UnicodeBlock("MATHEMATICAL_ALPHANUMERIC_SYMBOLS", 93);
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final UnicodeBlock CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B  
+            = new UnicodeBlock("CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B", 94);
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final UnicodeBlock 
+            CJK_COMPATIBILITY_IDEOGRAPHS_SUPPLEMENT 
+            = new UnicodeBlock("CJK_COMPATIBILITY_IDEOGRAPHS_SUPPLEMENT", 95);
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final UnicodeBlock TAGS 
+            = new UnicodeBlock("TAGS", 96);
+    
+        // New blocks in Unicode 3.2
+    
+        /** 
+         * Unicode 4.0.1 renames the "Cyrillic Supplementary" block to "Cyrillic Supplement".
+         * @stable ICU 2.4 
+         */
+        public static final UnicodeBlock CYRILLIC_SUPPLEMENTARY 
+            = new UnicodeBlock("CYRILLIC_SUPPLEMENTARY", 97);
+        /** 
+         * Unicode 4.0.1 renames the "Cyrillic Supplementary" block to "Cyrillic Supplement".
+         * @draft ICU 3.0
+         * @deprecated This is a draft API and might change in a future release of ICU.
+         */
+        public static final UnicodeBlock CYRILLIC_SUPPLEMENT 
+            = new UnicodeBlock("CYRILLIC_SUPPLEMENT", 97);
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final UnicodeBlock TAGALOG 
+            = new UnicodeBlock("TAGALOG", 98);
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final UnicodeBlock HANUNOO 
+            = new UnicodeBlock("HANUNOO", 99);
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final UnicodeBlock BUHID 
+            = new UnicodeBlock("BUHID", 100);
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final UnicodeBlock TAGBANWA 
+            = new UnicodeBlock("TAGBANWA", 101);
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final UnicodeBlock MISCELLANEOUS_MATHEMATICAL_SYMBOLS_A 
+            = new UnicodeBlock("MISCELLANEOUS_MATHEMATICAL_SYMBOLS_A", 102);
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final UnicodeBlock SUPPLEMENTAL_ARROWS_A 
+            = new UnicodeBlock("SUPPLEMENTAL_ARROWS_A", 103);
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final UnicodeBlock SUPPLEMENTAL_ARROWS_B 
+            = new UnicodeBlock("SUPPLEMENTAL_ARROWS_B", 104);
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final UnicodeBlock MISCELLANEOUS_MATHEMATICAL_SYMBOLS_B 
+            = new UnicodeBlock("MISCELLANEOUS_MATHEMATICAL_SYMBOLS_B", 105);
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final UnicodeBlock SUPPLEMENTAL_MATHEMATICAL_OPERATORS 
+            = new UnicodeBlock("SUPPLEMENTAL_MATHEMATICAL_OPERATORS", 106);
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final UnicodeBlock KATAKANA_PHONETIC_EXTENSIONS 
+            = new UnicodeBlock("KATAKANA_PHONETIC_EXTENSIONS", 107);
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final UnicodeBlock VARIATION_SELECTORS 
+            = new UnicodeBlock("VARIATION_SELECTORS", 108);
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final UnicodeBlock SUPPLEMENTARY_PRIVATE_USE_AREA_A 
+            = new UnicodeBlock("SUPPLEMENTARY_PRIVATE_USE_AREA_A", 109);
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final UnicodeBlock SUPPLEMENTARY_PRIVATE_USE_AREA_B 
+            = new UnicodeBlock("SUPPLEMENTARY_PRIVATE_USE_AREA_B", 110);
+   
+        /** 
+         * @stable ICU 2.6 
+         */
+        public static final UnicodeBlock LIMBU 
+            = new UnicodeBlock("LIMBU", 111);
+        /** 
+         * @stable ICU 2.6 
+         */
+        public static final UnicodeBlock TAI_LE 
+            = new UnicodeBlock("TAI LE", 112);
+        /** 
+         * @stable ICU 2.6 
+         */
+        public static final UnicodeBlock KHMER_SYMBOLS 
+            = new UnicodeBlock("KHMER SYMBOLS", 113);
+
+        /** 
+         * @stable ICU 2.6 
+         */
+        public static final UnicodeBlock PHONETIC_EXTENSIONS 
+            = new UnicodeBlock("PHONETIC EXTENSIONS", 114);
+
+        /** 
+         * @stable ICU 2.6 
+         */
+        public static final UnicodeBlock MISCELLANEOUS_SYMBOLS_AND_ARROWS 
+            = new UnicodeBlock("MISCELLANEOUS_SYMBOLS_AND_ARROWS", 115);
+        /** 
+         * @stable ICU 2.6 
+         */
+        public static final UnicodeBlock YIJING_HEXAGRAM_SYMBOLS 
+            = new UnicodeBlock("YIJING_HEXAGRAM_SYMBOLS", 116);
+        /** 
+         * @stable ICU 2.6 
+         */
+        public static final UnicodeBlock LINEAR_B_SYLLABARY 
+            = new UnicodeBlock("LINEAR_B_SYLLABARY", 117);
+        /** 
+         * @stable ICU 2.6 
+         */
+        public static final UnicodeBlock LINEAR_B_IDEOGRAMS 
+            = new UnicodeBlock("LINEAR_B_IDEOGRAMS", 118);
+        /** 
+         * @stable ICU 2.6 
+         */
+        public static final UnicodeBlock AEGEAN_NUMBERS 
+            = new UnicodeBlock("AEGEAN_NUMBERS", 119);                                               
+        /** 
+         * @stable ICU 2.6 
+         */
+        public static final UnicodeBlock UGARITIC 
+            = new UnicodeBlock("UGARITIC", 120);
+        /** 
+         * @stable ICU 2.6 
+         */
+        public static final UnicodeBlock SHAVIAN 
+            = new UnicodeBlock("SHAVIAN", 121);
+        /** 
+         * @stable ICU 2.6 
+         */
+        public static final UnicodeBlock OSMANYA 
+            = new UnicodeBlock("OSMANYA", 122);
+        /** 
+         * @stable ICU 2.6 
+         */
+        public static final UnicodeBlock CYPRIOT_SYLLABARY 
+            = new UnicodeBlock("CYPRIOT_SYLLABARY", 123);
+        /** 
+         * @stable ICU 2.6 
+         */
+        public static final UnicodeBlock TAI_XUAN_JING_SYMBOLS 
+            = new UnicodeBlock("TAI_XUAN_JING_SYMBOLS", 124);
+        
+        /** 
+         * @stable ICU 2.6 
+         */
+        public static final UnicodeBlock VARIATION_SELECTORS_SUPPLEMENT 
+            = new UnicodeBlock("VARIATION_SELECTORS_SUPPLEMENT", 125);                                      
+
+        /* New blocks in Unicode 4.1 */
+
+        /**
+         * @draft ICU 3.4
+         * @deprecated This is a draft API and might change in a future release of ICU.
+         */
+        public static final UnicodeBlock ANCIENT_GREEK_MUSICAL_NOTATION = new UnicodeBlock("ANCIENT_GREEK_MUSICAL_NOTATION", 126); /*[1D200]*/
+
+        /**
+         * @draft ICU 3.4
+         * @deprecated This is a draft API and might change in a future release of ICU.
+         */
+        public static final UnicodeBlock ANCIENT_GREEK_NUMBERS = new UnicodeBlock("ANCIENT_GREEK_NUMBERS", 127); /*[10140]*/
+
+        /**
+         * @draft ICU 3.4
+         * @deprecated This is a draft API and might change in a future release of ICU.
+         */
+        public static final UnicodeBlock ARABIC_SUPPLEMENT = new UnicodeBlock("ARABIC_SUPPLEMENT", 128); /*[0750]*/
+
+        /**
+         * @draft ICU 3.4
+         * @deprecated This is a draft API and might change in a future release of ICU.
+         */
+        public static final UnicodeBlock BUGINESE = new UnicodeBlock("BUGINESE", 129); /*[1A00]*/
+
+        /**
+         * @draft ICU 3.4
+         * @deprecated This is a draft API and might change in a future release of ICU.
+         */
+        public static final UnicodeBlock CJK_STROKES = new UnicodeBlock("CJK_STROKES", 130); /*[31C0]*/
+
+        /**
+         * @draft ICU 3.4
+         * @deprecated This is a draft API and might change in a future release of ICU.
+         */
+        public static final UnicodeBlock COMBINING_DIACRITICAL_MARKS_SUPPLEMENT = new UnicodeBlock("COMBINING_DIACRITICAL_MARKS_SUPPLEMENT", 131); /*[1DC0]*/
+
+        /**
+         * @draft ICU 3.4
+         * @deprecated This is a draft API and might change in a future release of ICU.
+         */
+        public static final UnicodeBlock COPTIC = new UnicodeBlock("COPTIC", 132); /*[2C80]*/
+
+        /**
+         * @draft ICU 3.4
+         * @deprecated This is a draft API and might change in a future release of ICU.
+         */
+        public static final UnicodeBlock ETHIOPIC_EXTENDED = new UnicodeBlock("ETHIOPIC_EXTENDED", 133); /*[2D80]*/
+
+        /**
+         * @draft ICU 3.4
+         * @deprecated This is a draft API and might change in a future release of ICU.
+         */
+        public static final UnicodeBlock ETHIOPIC_SUPPLEMENT = new UnicodeBlock("ETHIOPIC_SUPPLEMENT", 134); /*[1380]*/
+
+        /**
+         * @draft ICU 3.4
+         * @deprecated This is a draft API and might change in a future release of ICU.
+         */
+        public static final UnicodeBlock GEORGIAN_SUPPLEMENT = new UnicodeBlock("GEORGIAN_SUPPLEMENT", 135); /*[2D00]*/
+
+        /**
+         * @draft ICU 3.4
+         * @deprecated This is a draft API and might change in a future release of ICU.
+         */
+        public static final UnicodeBlock GLAGOLITIC = new UnicodeBlock("GLAGOLITIC", 136); /*[2C00]*/
+
+        /**
+         * @draft ICU 3.4
+         * @deprecated This is a draft API and might change in a future release of ICU.
+         */
+        public static final UnicodeBlock KHAROSHTHI = new UnicodeBlock("KHAROSHTHI", 137); /*[10A00]*/
+
+        /**
+         * @draft ICU 3.4
+         * @deprecated This is a draft API and might change in a future release of ICU.
+         */
+        public static final UnicodeBlock MODIFIER_TONE_LETTERS = new UnicodeBlock("MODIFIER_TONE_LETTERS", 138); /*[A700]*/
+
+        /**
+         * @draft ICU 3.4
+         * @deprecated This is a draft API and might change in a future release of ICU.
+         */
+        public static final UnicodeBlock NEW_TAI_LUE = new UnicodeBlock("NEW_TAI_LUE", 139); /*[1980]*/
+
+        /**
+         * @draft ICU 3.4
+         * @deprecated This is a draft API and might change in a future release of ICU.
+         */
+        public static final UnicodeBlock OLD_PERSIAN = new UnicodeBlock("OLD_PERSIAN", 140); /*[103A0]*/
+
+        /**
+         * @draft ICU 3.4
+         * @deprecated This is a draft API and might change in a future release of ICU.
+         */
+        public static final UnicodeBlock PHONETIC_EXTENSIONS_SUPPLEMENT = new UnicodeBlock("PHONETIC_EXTENSIONS_SUPPLEMENT", 141); /*[1D80]*/
+
+        /**
+         * @draft ICU 3.4
+         * @deprecated This is a draft API and might change in a future release of ICU.
+         */
+        public static final UnicodeBlock SUPPLEMENTAL_PUNCTUATION = new UnicodeBlock("SUPPLEMENTAL_PUNCTUATION", 142); /*[2E00]*/
+
+        /**
+         * @draft ICU 3.4
+         * @deprecated This is a draft API and might change in a future release of ICU.
+         */
+        public static final UnicodeBlock SYLOTI_NAGRI = new UnicodeBlock("SYLOTI_NAGRI", 143); /*[A800]*/
+
+        /**
+         * @draft ICU 3.4
+         * @deprecated This is a draft API and might change in a future release of ICU.
+         */
+        public static final UnicodeBlock TIFINAGH = new UnicodeBlock("TIFINAGH", 144); /*[2D30]*/
+
+        /**
+         * @draft ICU 3.4
+         * @deprecated This is a draft API and might change in a future release of ICU.
+         */
+        public static final UnicodeBlock VERTICAL_FORMS = new UnicodeBlock("VERTICAL_FORMS", 145); /*[FE10]*/
+
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final UnicodeBlock INVALID_CODE 
+            = new UnicodeBlock("INVALID_CODE", -1);
+           
+        // block id corresponding to icu4c -----------------------------------
+           
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final int INVALID_CODE_ID = -1;                          
+        /** 
+         * @stable ICU 2.4
+         */
+        public static final int BASIC_LATIN_ID = 1;
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final int LATIN_1_SUPPLEMENT_ID = 2;
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final int LATIN_EXTENDED_A_ID = 3;
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final int LATIN_EXTENDED_B_ID = 4;
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final int IPA_EXTENSIONS_ID = 5;
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final int SPACING_MODIFIER_LETTERS_ID = 6;
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final int COMBINING_DIACRITICAL_MARKS_ID = 7;
+        /**
+         * Unicode 3.2 renames this block to "Greek and Coptic".
+         * @stable ICU 2.4
+         */
+        public static final int GREEK_ID = 8;
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final int CYRILLIC_ID = 9;
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final int ARMENIAN_ID = 10;
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final int HEBREW_ID = 11;  
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final int ARABIC_ID = 12;
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final int SYRIAC_ID = 13;
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final int THAANA_ID = 14;
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final int DEVANAGARI_ID = 15;
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final int BENGALI_ID = 16;
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final int GURMUKHI_ID = 17;
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final int GUJARATI_ID = 18;
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final int ORIYA_ID = 19;
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final int TAMIL_ID = 20;
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final int TELUGU_ID = 21;
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final int KANNADA_ID = 22;
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final int MALAYALAM_ID = 23;
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final int SINHALA_ID = 24;
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final int THAI_ID = 25;
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final int LAO_ID = 26;
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final int TIBETAN_ID = 27;
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final int MYANMAR_ID = 28;
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final int GEORGIAN_ID = 29;
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final int HANGUL_JAMO_ID = 30;
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final int ETHIOPIC_ID = 31;
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final int CHEROKEE_ID = 32;
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final int UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS_ID = 33;
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final int OGHAM_ID = 34;
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final int RUNIC_ID = 35;
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final int KHMER_ID = 36;
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final int MONGOLIAN_ID = 37;
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final int LATIN_EXTENDED_ADDITIONAL_ID = 38;
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final int GREEK_EXTENDED_ID = 39;
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final int GENERAL_PUNCTUATION_ID = 40;
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final int SUPERSCRIPTS_AND_SUBSCRIPTS_ID = 41;
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final int CURRENCY_SYMBOLS_ID = 42;
+        /**
+         * Unicode 3.2 renames this block to "Combining Diacritical Marks for 
+         * Symbols".
+         * @stable ICU 2.4
+         */
+        public static final int COMBINING_MARKS_FOR_SYMBOLS_ID = 43;
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final int LETTERLIKE_SYMBOLS_ID = 44;
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final int NUMBER_FORMS_ID = 45;
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final int ARROWS_ID = 46;
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final int MATHEMATICAL_OPERATORS_ID = 47;
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final int MISCELLANEOUS_TECHNICAL_ID = 48;
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final int CONTROL_PICTURES_ID = 49;
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final int OPTICAL_CHARACTER_RECOGNITION_ID = 50;
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final int ENCLOSED_ALPHANUMERICS_ID = 51;
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final int BOX_DRAWING_ID = 52;
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final int BLOCK_ELEMENTS_ID = 53;
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final int GEOMETRIC_SHAPES_ID = 54;
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final int MISCELLANEOUS_SYMBOLS_ID = 55;
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final int DINGBATS_ID = 56;
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final int BRAILLE_PATTERNS_ID = 57;
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final int CJK_RADICALS_SUPPLEMENT_ID = 58;
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final int KANGXI_RADICALS_ID = 59;
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final int IDEOGRAPHIC_DESCRIPTION_CHARACTERS_ID = 60;
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final int CJK_SYMBOLS_AND_PUNCTUATION_ID = 61;
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final int HIRAGANA_ID = 62;
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final int KATAKANA_ID = 63;
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final int BOPOMOFO_ID = 64;
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final int HANGUL_COMPATIBILITY_JAMO_ID = 65;
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final int KANBUN_ID = 66;
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final int BOPOMOFO_EXTENDED_ID = 67;
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final int ENCLOSED_CJK_LETTERS_AND_MONTHS_ID = 68;
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final int CJK_COMPATIBILITY_ID = 69;
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final int CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A_ID = 70;
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final int CJK_UNIFIED_IDEOGRAPHS_ID = 71;
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final int YI_SYLLABLES_ID = 72;
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final int YI_RADICALS_ID = 73;
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final int HANGUL_SYLLABLES_ID = 74;
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final int HIGH_SURROGATES_ID = 75;
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final int HIGH_PRIVATE_USE_SURROGATES_ID = 76;
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final int LOW_SURROGATES_ID = 77;
+        /**
+         * Same as public static final int PRIVATE_USE.
+         * Until Unicode 3.1.1; the corresponding block name was "Private Use";
+         * and multiple code point ranges had this block.
+         * Unicode 3.2 renames the block for the BMP PUA to "Private Use Area" 
+         * and adds separate blocks for the supplementary PUAs.
+         * @stable ICU 2.4
+         */
+        public static final int PRIVATE_USE_AREA_ID = 78;
+        /**
+         * Same as public static final int PRIVATE_USE_AREA.
+         * Until Unicode 3.1.1; the corresponding block name was "Private Use";
+         * and multiple code point ranges had this block.
+         * Unicode 3.2 renames the block for the BMP PUA to "Private Use Area" 
+         * and adds separate blocks for the supplementary PUAs.
+         * @stable ICU 2.4
+         */
+        public static final int PRIVATE_USE_ID = PRIVATE_USE_AREA_ID;
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final int CJK_COMPATIBILITY_IDEOGRAPHS_ID = 79;
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final int ALPHABETIC_PRESENTATION_FORMS_ID = 80;
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final int ARABIC_PRESENTATION_FORMS_A_ID = 81;
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final int COMBINING_HALF_MARKS_ID = 82;
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final int CJK_COMPATIBILITY_FORMS_ID = 83;
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final int SMALL_FORM_VARIANTS_ID = 84;
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final int ARABIC_PRESENTATION_FORMS_B_ID = 85;
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final int SPECIALS_ID = 86;
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final int HALFWIDTH_AND_FULLWIDTH_FORMS_ID = 87;
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final int OLD_ITALIC_ID = 88;
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final int GOTHIC_ID = 89;
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final int DESERET_ID = 90;
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final int BYZANTINE_MUSICAL_SYMBOLS_ID = 91;
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final int MUSICAL_SYMBOLS_ID = 92;
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final int MATHEMATICAL_ALPHANUMERIC_SYMBOLS_ID = 93;
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final int CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B_ID = 94;
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final int 
+            CJK_COMPATIBILITY_IDEOGRAPHS_SUPPLEMENT_ID = 95;
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final int TAGS_ID = 96;
+    
+        // New blocks in Unicode 3.2
+    
+        /** 
+         * Unicode 4.0.1 renames the "Cyrillic Supplementary" block to "Cyrillic Supplement".
+         * @stable ICU 2.4 
+         */
+        public static final int CYRILLIC_SUPPLEMENTARY_ID = 97;
+        /** 
+         * Unicode 4.0.1 renames the "Cyrillic Supplementary" block to "Cyrillic Supplement".
+         * @draft ICU 3.0
+         * @deprecated This is a draft API and might change in a future release of ICU.
+         */
+
+        public static final int CYRILLIC_SUPPLEMENT_ID = 97;
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final int TAGALOG_ID = 98;
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final int HANUNOO_ID = 99;
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final int BUHID_ID = 100;
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final int TAGBANWA_ID = 101;
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final int MISCELLANEOUS_MATHEMATICAL_SYMBOLS_A_ID = 102;
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final int SUPPLEMENTAL_ARROWS_A_ID = 103;
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final int SUPPLEMENTAL_ARROWS_B_ID = 104;
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final int MISCELLANEOUS_MATHEMATICAL_SYMBOLS_B_ID = 105;
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final int SUPPLEMENTAL_MATHEMATICAL_OPERATORS_ID = 106;
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final int KATAKANA_PHONETIC_EXTENSIONS_ID = 107;
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final int VARIATION_SELECTORS_ID = 108;
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final int SUPPLEMENTARY_PRIVATE_USE_AREA_A_ID = 109;
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final int SUPPLEMENTARY_PRIVATE_USE_AREA_B_ID = 110;
+        
+        /** 
+         * @stable ICU 2.6 
+         */
+        public static final int LIMBU_ID = 111; /*[1900]*/
+        /**
+         * @stable ICU 2.6 
+         */
+        public static final int TAI_LE_ID = 112; /*[1950]*/
+        /** 
+         * @stable ICU 2.6 
+         */
+        public static final int KHMER_SYMBOLS_ID = 113; /*[19E0]*/
+        /** 
+         * @stable ICU 2.6
+         */
+        public static final int PHONETIC_EXTENSIONS_ID = 114; /*[1D00]*/
+        /** 
+         * @stable ICU 2.6 
+         */
+        public static final int MISCELLANEOUS_SYMBOLS_AND_ARROWS_ID = 115; /*[2B00]*/
+        /**
+         * @stable ICU 2.6 
+         */
+        public static final int YIJING_HEXAGRAM_SYMBOLS_ID = 116; /*[4DC0]*/
+        /** 
+         * @stable ICU 2.6 
+         */
+        public static final int LINEAR_B_SYLLABARY_ID = 117; /*[10000]*/
+        /**
+         * @stable ICU 2.6 
+         */
+        public static final int LINEAR_B_IDEOGRAMS_ID = 118; /*[10080]*/
+        /** 
+         * @stable ICU 2.6
+         */
+        public static final int AEGEAN_NUMBERS_ID = 119; /*[10100]*/
+        /**
+         * @stable ICU 2.6
+         */
+        public static final int UGARITIC_ID = 120; /*[10380]*/
+        /**
+         * @stable ICU 2.6
+         */
+        public static final int SHAVIAN_ID = 121; /*[10450]*/
+        /**
+         * @stable ICU 2.6
+         */
+        public static final int OSMANYA_ID = 122; /*[10480]*/
+        /**
+         * @stable ICU 2.6
+         */
+        public static final int CYPRIOT_SYLLABARY_ID = 123; /*[10800]*/
+        /**
+         * @stable ICU 2.6
+         */
+        public static final int TAI_XUAN_JING_SYMBOLS_ID = 124; /*[1D300]*/
+        /**
+         * @stable ICU 2.6
+         */
+        public static final int VARIATION_SELECTORS_SUPPLEMENT_ID = 125; /*[E0100]*/
+
+        /* New blocks in Unicode 4.1 */
+
+        /**
+         * @draft ICU 3.4
+         * @deprecated This is a draft API and might change in a future release of ICU.
+         */
+        public static final int ANCIENT_GREEK_MUSICAL_NOTATION_ID = 126; /*[1D200]*/
+
+        /**
+         * @draft ICU 3.4
+         * @deprecated This is a draft API and might change in a future release of ICU.
+         */
+        public static final int ANCIENT_GREEK_NUMBERS_ID = 127; /*[10140]*/
+
+        /**
+         * @draft ICU 3.4
+         * @deprecated This is a draft API and might change in a future release of ICU.
+         */
+        public static final int ARABIC_SUPPLEMENT_ID = 128; /*[0750]*/
+
+        /**
+         * @draft ICU 3.4
+         * @deprecated This is a draft API and might change in a future release of ICU.
+         */
+        public static final int BUGINESE_ID = 129; /*[1A00]*/
+
+        /**
+         * @draft ICU 3.4
+         * @deprecated This is a draft API and might change in a future release of ICU.
+         */
+        public static final int CJK_STROKES_ID = 130; /*[31C0]*/
+
+        /**
+         * @draft ICU 3.4
+         * @deprecated This is a draft API and might change in a future release of ICU.
+         */
+        public static final int COMBINING_DIACRITICAL_MARKS_SUPPLEMENT_ID = 131; /*[1DC0]*/
+
+        /**
+         * @draft ICU 3.4
+         * @deprecated This is a draft API and might change in a future release of ICU.
+         */
+        public static final int COPTIC_ID = 132; /*[2C80]*/
+
+        /**
+         * @draft ICU 3.4
+         * @deprecated This is a draft API and might change in a future release of ICU.
+         */
+        public static final int ETHIOPIC_EXTENDED_ID = 133; /*[2D80]*/
+
+        /**
+         * @draft ICU 3.4
+         * @deprecated This is a draft API and might change in a future release of ICU.
+         */
+        public static final int ETHIOPIC_SUPPLEMENT_ID = 134; /*[1380]*/
+
+        /**
+         * @draft ICU 3.4
+         * @deprecated This is a draft API and might change in a future release of ICU.
+         */
+        public static final int GEORGIAN_SUPPLEMENT_ID = 135; /*[2D00]*/
+
+        /**
+         * @draft ICU 3.4
+         * @deprecated This is a draft API and might change in a future release of ICU.
+         */
+        public static final int GLAGOLITIC_ID = 136; /*[2C00]*/
+
+        /**
+         * @draft ICU 3.4
+         * @deprecated This is a draft API and might change in a future release of ICU.
+         */
+        public static final int KHAROSHTHI_ID = 137; /*[10A00]*/
+
+        /**
+         * @draft ICU 3.4
+         * @deprecated This is a draft API and might change in a future release of ICU.
+         */
+        public static final int MODIFIER_TONE_LETTERS_ID = 138; /*[A700]*/
+
+        /**
+         * @draft ICU 3.4
+         * @deprecated This is a draft API and might change in a future release of ICU.
+         */
+        public static final int NEW_TAI_LUE_ID = 139; /*[1980]*/
+
+        /**
+         * @draft ICU 3.4
+         * @deprecated This is a draft API and might change in a future release of ICU.
+         */
+        public static final int OLD_PERSIAN_ID = 140; /*[103A0]*/
+
+        /**
+         * @draft ICU 3.4
+         * @deprecated This is a draft API and might change in a future release of ICU.
+         */
+        public static final int PHONETIC_EXTENSIONS_SUPPLEMENT_ID = 141; /*[1D80]*/
+
+        /**
+         * @draft ICU 3.4
+         * @deprecated This is a draft API and might change in a future release of ICU.
+         */
+        public static final int SUPPLEMENTAL_PUNCTUATION_ID = 142; /*[2E00]*/
+
+        /**
+         * @draft ICU 3.4
+         * @deprecated This is a draft API and might change in a future release of ICU.
+         */
+        public static final int SYLOTI_NAGRI_ID = 143; /*[A800]*/
+
+        /**
+         * @draft ICU 3.4
+         * @deprecated This is a draft API and might change in a future release of ICU.
+         */
+        public static final int TIFINAGH_ID = 144; /*[2D30]*/
+
+        /**
+         * @draft ICU 3.4
+         * @deprecated This is a draft API and might change in a future release of ICU.
+         */
+        public static final int VERTICAL_FORMS_ID = 145; /*[FE10]*/
+
+        /** 
+         * @stable ICU 2.4 
+         */
+        public static final int COUNT = 146;
+        
+        // public methods --------------------------------------------------
+        
+        /** 
+         * Gets the only instance of the UnicodeBlock with the argument ID.
+         * If no such ID exists, a INVALID_CODE UnicodeBlock will be returned.
+         * @param id UnicodeBlock ID
+         * @return the only instance of the UnicodeBlock with the argument ID
+         *         if it exists, otherwise a INVALID_CODE UnicodeBlock will be 
+         *         returned.
+         * @stable ICU 2.4
+         */
+        public static UnicodeBlock getInstance(int id)
+        {
+            if (id >= 0 && id < BLOCKS_.length) {
+                return BLOCKS_[id];
+            }
+            return INVALID_CODE;
+        }
+        
+        /**
+         * Returns the Unicode allocation block that contains the code point,
+         * or null if the code point is not a member of a defined block.
+         * @param ch code point to be tested
+         * @return the Unicode allocation block that contains the code point
+         * @stable ICU 2.4
+         */
+        public static UnicodeBlock of(int ch)
+        {
+            if (ch > MAX_VALUE) {
+                return INVALID_CODE;
+            }
+
+            return UnicodeBlock.getInstance((PROPERTY_.getAdditional(ch, 0)
+                         & BLOCK_MASK_) >> BLOCK_SHIFT_);
+        }
+
+        /**
+         * Internal function returning of(ch).getID().
+         *
+         * @param ch
+         * @return numeric block value
+         * @internal
+         */
+        static int idOf(int ch) {
+            if (ch < 0 || ch > MAX_VALUE) {
+                return -1;
+            }
+
+            return (PROPERTY_.getAdditional(ch, 0) & BLOCK_MASK_) >> BLOCK_SHIFT_;
+        }
+
+        /**
+         * Cover the JDK 1.5 API.  Return the Unicode block with the
+         * given name.  <br/><b>Note</b>: Unlike JDK 1.5, this only matches
+         * against the official UCD name and the Java block name
+         * (ignoring case).
+         * @param blockName the name of the block to match
+         * @return the UnicodeBlock with that name
+         * @throws IllegalArgumentException if the blockName could not be matched
+         * @draft ICU 3.0
+         * @deprecated This is a draft API and might change in a future release of ICU.
+         */
+        public static final UnicodeBlock forName(String blockName) {
+            Map m = null;
+            if (mref != null) {
+                m = (Map)mref.get();
+            }
+            if (m == null) {
+                m = new HashMap(BLOCKS_.length);
+                for (int i = 0; i < BLOCKS_.length; ++i) {
+                    UnicodeBlock b = BLOCKS_[i];
+                    String name = getPropertyValueName(UProperty.BLOCK, b.getID(), UProperty.NameChoice.LONG);
+                    m.put(name.toUpperCase(), b);
+            m.put(name.replace('_',' ').toUpperCase(), b);
+                    m.put(b.toString().toUpperCase(), b);
+                }
+                mref = new SoftReference(m);
+            }
+            UnicodeBlock b = (UnicodeBlock)m.get(blockName.toUpperCase());
+            if (b == null) {
+                throw new IllegalArgumentException();
+            }
+            return b;
+        }
+        private static SoftReference mref;
+
+        /**
+         * Returns the type ID of this Unicode block
+         * @return integer type ID of this Unicode block
+         * @stable ICU 2.4
+         */
+        public int getID()
+        {
+            return m_id_;
+        }
+        
+        // private data members ---------------------------------------------
+        
+        /**
+         * Array of UnicodeBlocks, for easy access in getInstance(int)
+         */
+        private final static UnicodeBlock BLOCKS_[] = {
+            NO_BLOCK, BASIC_LATIN, 
+            LATIN_1_SUPPLEMENT, LATIN_EXTENDED_A, 
+            LATIN_EXTENDED_B, IPA_EXTENSIONS, 
+            SPACING_MODIFIER_LETTERS, COMBINING_DIACRITICAL_MARKS,
+            GREEK, CYRILLIC,
+            ARMENIAN, HEBREW,
+            ARABIC, SYRIAC, 
+            THAANA, DEVANAGARI, 
+            BENGALI, GURMUKHI, 
+            GUJARATI, ORIYA, 
+            TAMIL, TELUGU, 
+            KANNADA, MALAYALAM, 
+            SINHALA, THAI, 
+            LAO, TIBETAN, 
+            MYANMAR, GEORGIAN, 
+            HANGUL_JAMO, ETHIOPIC, 
+            CHEROKEE, UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS,
+            OGHAM, RUNIC, 
+            KHMER, MONGOLIAN, 
+            LATIN_EXTENDED_ADDITIONAL, GREEK_EXTENDED, 
+            GENERAL_PUNCTUATION, SUPERSCRIPTS_AND_SUBSCRIPTS,
+            CURRENCY_SYMBOLS, COMBINING_MARKS_FOR_SYMBOLS, 
+            LETTERLIKE_SYMBOLS, NUMBER_FORMS, 
+            ARROWS, MATHEMATICAL_OPERATORS, 
+            MISCELLANEOUS_TECHNICAL, CONTROL_PICTURES,
+            OPTICAL_CHARACTER_RECOGNITION, ENCLOSED_ALPHANUMERICS,
+            BOX_DRAWING, BLOCK_ELEMENTS,
+            GEOMETRIC_SHAPES, MISCELLANEOUS_SYMBOLS,
+            DINGBATS, BRAILLE_PATTERNS,
+            CJK_RADICALS_SUPPLEMENT, KANGXI_RADICALS,
+            IDEOGRAPHIC_DESCRIPTION_CHARACTERS, CJK_SYMBOLS_AND_PUNCTUATION,
+            HIRAGANA, KATAKANA, 
+            BOPOMOFO, HANGUL_COMPATIBILITY_JAMO,
+            KANBUN, BOPOMOFO_EXTENDED, 
+            ENCLOSED_CJK_LETTERS_AND_MONTHS, CJK_COMPATIBILITY,
+            CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A, CJK_UNIFIED_IDEOGRAPHS,
+            YI_SYLLABLES, YI_RADICALS, 
+            HANGUL_SYLLABLES, HIGH_SURROGATES,
+            HIGH_PRIVATE_USE_SURROGATES, LOW_SURROGATES,
+            PRIVATE_USE_AREA, CJK_COMPATIBILITY_IDEOGRAPHS,
+            ALPHABETIC_PRESENTATION_FORMS, ARABIC_PRESENTATION_FORMS_A,
+            COMBINING_HALF_MARKS, CJK_COMPATIBILITY_FORMS,
+            SMALL_FORM_VARIANTS, ARABIC_PRESENTATION_FORMS_B,
+            SPECIALS, HALFWIDTH_AND_FULLWIDTH_FORMS,
+            OLD_ITALIC, GOTHIC, 
+            DESERET, BYZANTINE_MUSICAL_SYMBOLS,
+            MUSICAL_SYMBOLS, MATHEMATICAL_ALPHANUMERIC_SYMBOLS,
+            CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B, 
+            CJK_COMPATIBILITY_IDEOGRAPHS_SUPPLEMENT, 
+            TAGS, CYRILLIC_SUPPLEMENT,
+            TAGALOG, HANUNOO, 
+            BUHID, TAGBANWA, 
+            MISCELLANEOUS_MATHEMATICAL_SYMBOLS_A, SUPPLEMENTAL_ARROWS_A,
+            SUPPLEMENTAL_ARROWS_B, MISCELLANEOUS_MATHEMATICAL_SYMBOLS_B,
+            SUPPLEMENTAL_MATHEMATICAL_OPERATORS, 
+            KATAKANA_PHONETIC_EXTENSIONS,
+            VARIATION_SELECTORS, SUPPLEMENTARY_PRIVATE_USE_AREA_A,
+            SUPPLEMENTARY_PRIVATE_USE_AREA_B,
+            LIMBU, TAI_LE, KHMER_SYMBOLS, PHONETIC_EXTENSIONS,
+            MISCELLANEOUS_SYMBOLS_AND_ARROWS, YIJING_HEXAGRAM_SYMBOLS,
+            LINEAR_B_SYLLABARY, LINEAR_B_IDEOGRAMS, AEGEAN_NUMBERS,
+            UGARITIC, SHAVIAN, OSMANYA, CYPRIOT_SYLLABARY,
+            TAI_XUAN_JING_SYMBOLS, VARIATION_SELECTORS_SUPPLEMENT,
+
+            /* New blocks in Unicode 4.1 */
+            ANCIENT_GREEK_MUSICAL_NOTATION,
+            ANCIENT_GREEK_NUMBERS,
+            ARABIC_SUPPLEMENT,
+            BUGINESE,
+            CJK_STROKES,
+            COMBINING_DIACRITICAL_MARKS_SUPPLEMENT,
+            COPTIC,
+            ETHIOPIC_EXTENDED,
+            ETHIOPIC_SUPPLEMENT,
+            GEORGIAN_SUPPLEMENT,
+            GLAGOLITIC,
+            KHAROSHTHI,
+            MODIFIER_TONE_LETTERS,
+            NEW_TAI_LUE,
+            OLD_PERSIAN,
+            PHONETIC_EXTENSIONS_SUPPLEMENT,
+            SUPPLEMENTAL_PUNCTUATION,
+            SYLOTI_NAGRI,
+            TIFINAGH,
+            VERTICAL_FORMS
+        };
+
+        static {
+            if(COUNT!=BLOCKS_.length) {
+                throw new java.lang.InternalError("UnicodeBlock fields are inconsistent!");
+            }
+        }
+        /**
+         * Identification code for this UnicodeBlock
+         */
+        private int m_id_;
+        
+        // private constructor ----------------------------------------------
+        
+        /**
+         * UnicodeBlock constructor
+         * @param name name of this UnicodeBlock
+         * @param id unique id of this UnicodeBlock
+         * @exception NullPointerException if name is <code>null</code>
+         */
+        private UnicodeBlock(String name, int id)
+        {
+            super(name);
+            m_id_ = id;
+        }
+    }
+    
+    /**
+     * East Asian Width constants.
+     * @see UProperty#EAST_ASIAN_WIDTH
+     * @see UCharacter#getIntPropertyValue
+     * @stable ICU 2.4
+     */
+    public static interface EastAsianWidth 
+    {
+        /**
+         * @stable ICU 2.4
+         */
+        public static final int NEUTRAL = 0;
+        /**
+         * @stable ICU 2.4
+         */
+        public static final int AMBIGUOUS = 1;
+        /**
+         * @stable ICU 2.4
+         */
+        public static final int HALFWIDTH = 2;
+        /**
+         * @stable ICU 2.4
+         */
+        public static final int FULLWIDTH = 3;
+        /**
+         * @stable ICU 2.4
+         */
+        public static final int NARROW = 4;
+        /**
+         * @stable ICU 2.4
+         */
+        public static final int WIDE = 5;
+        /**
+         * @stable ICU 2.4
+         */
+        public static final int COUNT = 6;
+    }
+
+    /**
+     * Decomposition Type constants.
+     * @see UProperty#DECOMPOSITION_TYPE
+     * @stable ICU 2.4
+     */
+    public static interface DecompositionType 
+    {
+        /**
+         * @stable ICU 2.4
+         */
+        public static final int NONE = 0;
+        /**
+         * @stable ICU 2.4
+         */
+        public static final int CANONICAL = 1;
+        /**
+         * @stable ICU 2.4
+         */
+        public static final int COMPAT = 2;
+        /**
+         * @stable ICU 2.4
+         */
+        public static final int CIRCLE = 3;
+        /**
+         * @stable ICU 2.4
+         */
+        public static final int FINAL = 4;
+        /**
+         * @stable ICU 2.4
+         */
+        public static final int FONT = 5;
+        /**
+         * @stable ICU 2.4
+         */
+        public static final int FRACTION = 6;
+        /**
+         * @stable ICU 2.4
+         */
+        public static final int INITIAL = 7;
+        /**
+         * @stable ICU 2.4
+         */
+        public static final int ISOLATED = 8;
+        /**
+         * @stable ICU 2.4
+         */
+        public static final int MEDIAL = 9;
+        /**
+         * @stable ICU 2.4
+         */
+        public static final int NARROW = 10;
+        /**
+         * @stable ICU 2.4
+         */
+        public static final int NOBREAK = 11;
+        /**
+         * @stable ICU 2.4
+         */
+        public static final int SMALL = 12;
+        /**
+         * @stable ICU 2.4
+         */
+        public static final int SQUARE = 13;
+        /**
+         * @stable ICU 2.4
+         */
+        public static final int SUB = 14;
+        /**
+         * @stable ICU 2.4
+         */
+        public static final int SUPER = 15;
+        /**
+         * @stable ICU 2.4
+         */
+        public static final int VERTICAL = 16;
+        /**
+         * @stable ICU 2.4
+         */
+        public static final int WIDE = 17;
+        /**
+         * @stable ICU 2.4
+         */
+        public static final int COUNT = 18;
+    }
+    
+    /**
+     * Joining Type constants.
+     * @see UProperty#JOINING_TYPE
+     * @stable ICU 2.4
+     */
+    public static interface JoiningType 
+    {
+        /**
+         * @stable ICU 2.4
+         */
+        public static final int NON_JOINING = 0;
+        /**
+         * @stable ICU 2.4
+         */
+        public static final int JOIN_CAUSING = 1;
+        /**
+         * @stable ICU 2.4
+         */
+        public static final int DUAL_JOINING = 2;
+        /**
+         * @stable ICU 2.4
+         */
+        public static final int LEFT_JOINING = 3;
+        /**
+         * @stable ICU 2.4
+         */
+        public static final int RIGHT_JOINING = 4;
+        /**
+         * @stable ICU 2.4
+         */
+        public static final int TRANSPARENT = 5;
+        /**
+         * @stable ICU 2.4
+         */
+        public static final int COUNT = 6;
+    }
+    
+    /**
+     * Joining Group constants.
+     * @see UProperty#JOINING_GROUP
+     * @stable ICU 2.4
+     */
+    public static interface JoiningGroup 
+    {
+        /**
+         * @stable ICU 2.4
+         */
+        public static final int NO_JOINING_GROUP = 0;
+        /**
+         * @stable ICU 2.4
+         */
+        public static final int AIN = 1;
+        /**
+         * @stable ICU 2.4
+         */
+        public static final int ALAPH = 2;
+        /**
+         * @stable ICU 2.4
+         */
+        public static final int ALEF = 3;
+        /**
+         * @stable ICU 2.4
+         */
+        public static final int BEH = 4;
+        /**
+         * @stable ICU 2.4
+         */
+        public static final int BETH = 5;
+        /**
+         * @stable ICU 2.4
+         */
+        public static final int DAL = 6;
+        /**
+         * @stable ICU 2.4
+         */
+        public static final int DALATH_RISH = 7;
+        /**
+         * @stable ICU 2.4
+         */
+        public static final int E = 8;
+        /**
+         * @stable ICU 2.4
+         */
+        public static final int FEH = 9;
+        /**
+         * @stable ICU 2.4
+         */
+        public static final int FINAL_SEMKATH = 10;
+        /**
+         * @stable ICU 2.4
+         */
+        public static final int GAF = 11;
+        /**
+         * @stable ICU 2.4
+         */
+        public static final int GAMAL = 12;
+        /** 
+         * @stable ICU 2.4
+         */
+        public static final int HAH = 13;
+        /**
+         * @stable ICU 2.4
+         */
+        public static final int HAMZA_ON_HEH_GOAL = 14;
+        /**
+         * @stable ICU 2.4
+         */
+        public static final int HE = 15;
+        /**
+         * @stable ICU 2.4
+         */
+        public static final int HEH = 16;
+        /**
+         * @stable ICU 2.4
+         */
+        public static final int HEH_GOAL = 17;
+        /**
+         * @stable ICU 2.4
+         */
+        public static final int HETH = 18;
+        /**
+         * @stable ICU 2.4
+         */
+        public static final int KAF = 19;
+        /**
+         * @stable ICU 2.4
+         */
+        public static final int KAPH = 20;
+        /**
+         * @stable ICU 2.4
+         */
+        public static final int KNOTTED_HEH = 21;
+        /**
+         * @stable ICU 2.4
+         */
+        public static final int LAM = 22;
+        /**
+         * @stable ICU 2.4
+         */
+        public static final int LAMADH = 23;
+        /**
+         * @stable ICU 2.4
+         */
+        public static final int MEEM = 24;
+        /**
+         * @stable ICU 2.4
+         */
+        public static final int MIM = 25;
+        /**
+         * @stable ICU 2.4
+         */
+        public static final int NOON = 26;
+        /**
+         * @stable ICU 2.4
+         */
+        public static final int NUN = 27;
+        /**
+         * @stable ICU 2.4
+         */
+        public static final int PE = 28;
+        /**
+         * @stable ICU 2.4
+         */
+        public static final int QAF = 29;
+        /**
+         * @stable ICU 2.4
+         */
+        public static final int QAPH = 30;
+        /**
+         * @stable ICU 2.4
+         */
+        public static final int REH = 31;
+        /**
+         * @stable ICU 2.4
+         */
+        public static final int REVERSED_PE = 32;
+        /**
+         * @stable ICU 2.4
+         */
+        public static final int SAD = 33;
+        /**
+         * @stable ICU 2.4
+         */
+        public static final int SADHE = 34;
+        /**
+         * @stable ICU 2.4
+         */
+        public static final int SEEN = 35;
+        /**
+         * @stable ICU 2.4
+         */
+        public static final int SEMKATH = 36;
+        /**
+         * @stable ICU 2.4
+         */
+        public static final int SHIN = 37;
+        /**
+         * @stable ICU 2.4
+         */
+        public static final int SWASH_KAF = 38;
+        /**
+         * @stable ICU 2.4
+         */
+        public static final int SYRIAC_WAW = 39;
+        /**
+         * @stable ICU 2.4
+         */
+        public static final int TAH = 40;
+        /**
+         * @stable ICU 2.4
+         */
+        public static final int TAW = 41;
+        /**
+         * @stable ICU 2.4
+         */
+        public static final int TEH_MARBUTA = 42;
+        /**
+         * @stable ICU 2.4
+         */
+        public static final int TETH = 43;
+        /**
+         * @stable ICU 2.4
+         */
+        public static final int WAW = 44;
+        /**
+         * @stable ICU 2.4
+         */
+        public static final int YEH = 45;
+        /**
+         * @stable ICU 2.4
+         */
+        public static final int YEH_BARREE = 46;
+        /**
+         * @stable ICU 2.4
+         */
+        public static final int YEH_WITH_TAIL = 47;
+        /**
+         * @stable ICU 2.4
+         */
+        public static final int YUDH = 48;
+        /**
+         * @stable ICU 2.4
+         */
+        public static final int YUDH_HE = 49;
+        /**
+         * @stable ICU 2.4
+         */
+        public static final int ZAIN = 50;
+        /** 
+         * @stable ICU 2.6 
+         */
+        public static final int FE = 51;        
+        /** 
+         * @stable ICU 2.6 
+         */
+        public static final int KHAPH = 52;
+        /**
+         * @stable ICU 2.6 
+         */
+        public static final int ZHAIN =53;   
+        /**
+         * @stable ICU 2.4
+         */
+        public static final int COUNT = 54;
+    }
+
+    /**
+     * Grapheme Cluster Break constants.
+     * @see UProperty#GRAPHEME_CLUSTER_BREAK
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static interface GraphemeClusterBreak {
+        /**
+         * @draft ICU 3.4
+         * @deprecated This is a draft API and might change in a future release of ICU.
+         */
+        public static final int OTHER = 0;
+        /**
+         * @draft ICU 3.4
+         * @deprecated This is a draft API and might change in a future release of ICU.
+         */
+        public static final int CONTROL = 1;
+        /**
+         * @draft ICU 3.4
+         * @deprecated This is a draft API and might change in a future release of ICU.
+         */
+        public static final int CR = 2;
+        /**
+         * @draft ICU 3.4
+         * @deprecated This is a draft API and might change in a future release of ICU.
+         */
+        public static final int EXTEND = 3;
+        /**
+         * @draft ICU 3.4
+         * @deprecated This is a draft API and might change in a future release of ICU.
+         */
+        public static final int L = 4;
+        /**
+         * @draft ICU 3.4
+         * @deprecated This is a draft API and might change in a future release of ICU.
+         */
+        public static final int LF = 5;
+        /**
+         * @draft ICU 3.4
+         * @deprecated This is a draft API and might change in a future release of ICU.
+         */
+        public static final int LV = 6;
+        /**
+         * @draft ICU 3.4
+         * @deprecated This is a draft API and might change in a future release of ICU.
+         */
+        public static final int LVT = 7;
+        /**
+         * @draft ICU 3.4
+         * @deprecated This is a draft API and might change in a future release of ICU.
+         */
+        public static final int T = 8;
+        /**
+         * @draft ICU 3.4
+         * @deprecated This is a draft API and might change in a future release of ICU.
+         */
+        public static final int V = 9;
+        /**
+         * @draft ICU 3.4
+         * @deprecated This is a draft API and might change in a future release of ICU.
+         */
+        public static final int COUNT = 10;
+    }
+
+    /**
+     * Word Break constants.
+     * @see UProperty#WORD_BREAK
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static interface WordBreak {
+        /**
+         * @draft ICU 3.4
+         * @deprecated This is a draft API and might change in a future release of ICU.
+         */
+        public static final int OTHER = 0;
+        /**
+         * @draft ICU 3.4
+         * @deprecated This is a draft API and might change in a future release of ICU.
+         */
+        public static final int ALETTER = 1;
+        /**
+         * @draft ICU 3.4
+         * @deprecated This is a draft API and might change in a future release of ICU.
+         */
+        public static final int FORMAT = 2;
+        /**
+         * @draft ICU 3.4
+         * @deprecated This is a draft API and might change in a future release of ICU.
+         */
+        public static final int KATAKANA = 3;
+        /**
+         * @draft ICU 3.4
+         * @deprecated This is a draft API and might change in a future release of ICU.
+         */
+        public static final int MIDLETTER = 4;
+        /**
+         * @draft ICU 3.4
+         * @deprecated This is a draft API and might change in a future release of ICU.
+         */
+        public static final int MIDNUM = 5;
+        /**
+         * @draft ICU 3.4
+         * @deprecated This is a draft API and might change in a future release of ICU.
+         */
+        public static final int NUMERIC = 6;
+        /**
+         * @draft ICU 3.4
+         * @deprecated This is a draft API and might change in a future release of ICU.
+         */
+        public static final int EXTENDNUMLET = 7;
+        /**
+         * @draft ICU 3.4
+         * @deprecated This is a draft API and might change in a future release of ICU.
+         */
+        public static final int COUNT = 8;
+    }
+
+    /**
+     * Sentence Break constants.
+     * @see UProperty#SENTENCE_BREAK
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static interface SentenceBreak {
+        /**
+         * @draft ICU 3.4
+         * @deprecated This is a draft API and might change in a future release of ICU.
+         */
+        public static final int OTHER = 0;
+        /**
+         * @draft ICU 3.4
+         * @deprecated This is a draft API and might change in a future release of ICU.
+         */
+        public static final int ATERM = 1;
+        /**
+         * @draft ICU 3.4
+         * @deprecated This is a draft API and might change in a future release of ICU.
+         */
+        public static final int CLOSE = 2;
+        /**
+         * @draft ICU 3.4
+         * @deprecated This is a draft API and might change in a future release of ICU.
+         */
+        public static final int FORMAT = 3;
+        /**
+         * @draft ICU 3.4
+         * @deprecated This is a draft API and might change in a future release of ICU.
+         */
+        public static final int LOWER = 4;
+        /**
+         * @draft ICU 3.4
+         * @deprecated This is a draft API and might change in a future release of ICU.
+         */
+        public static final int NUMERIC = 5;
+        /**
+         * @draft ICU 3.4
+         * @deprecated This is a draft API and might change in a future release of ICU.
+         */
+        public static final int OLETTER = 6;
+        /**
+         * @draft ICU 3.4
+         * @deprecated This is a draft API and might change in a future release of ICU.
+         */
+        public static final int SEP = 7;
+        /**
+         * @draft ICU 3.4
+         * @deprecated This is a draft API and might change in a future release of ICU.
+         */
+        public static final int SP = 8;
+        /**
+         * @draft ICU 3.4
+         * @deprecated This is a draft API and might change in a future release of ICU.
+         */
+        public static final int STERM = 9;
+        /**
+         * @draft ICU 3.4
+         * @deprecated This is a draft API and might change in a future release of ICU.
+         */
+        public static final int UPPER = 10;
+        /**
+         * @draft ICU 3.4
+         * @deprecated This is a draft API and might change in a future release of ICU.
+         */
+        public static final int COUNT = 11;
+    }
+
+    /**
+     * Line Break constants.
+     * @see UProperty#LINE_BREAK
+     * @stable ICU 2.4
+     */
+    public static interface LineBreak 
+    {
+        /**
+         * @stable ICU 2.4
+         */
+        public static final int UNKNOWN = 0;
+        /**
+         * @stable ICU 2.4
+         */
+        public static final int AMBIGUOUS = 1;
+        /**
+         * @stable ICU 2.4
+         */
+        public static final int ALPHABETIC = 2;
+        /**
+         * @stable ICU 2.4
+         */
+        public static final int BREAK_BOTH = 3;
+        /**
+         * @stable ICU 2.4
+         */
+        public static final int BREAK_AFTER = 4;
+        /**
+         * @stable ICU 2.4
+         */
+        public static final int BREAK_BEFORE = 5;
+        /**
+         * @stable ICU 2.4
+         */
+        public static final int MANDATORY_BREAK = 6;
+        /**
+         * @stable ICU 2.4
+         */
+        public static final int CONTINGENT_BREAK = 7;
+        /**
+         * @stable ICU 2.4
+         */
+        public static final int CLOSE_PUNCTUATION = 8;
+        /**
+         * @stable ICU 2.4
+         */
+        public static final int COMBINING_MARK = 9;
+        /**
+         * @stable ICU 2.4
+         */
+        public static final int CARRIAGE_RETURN = 10;
+        /**
+         * @stable ICU 2.4
+         */
+        public static final int EXCLAMATION = 11;
+        /**
+         * @stable ICU 2.4
+         */
+        public static final int GLUE = 12;
+        /**
+         * @stable ICU 2.4
+         */
+        public static final int HYPHEN = 13;
+        /**
+         * @stable ICU 2.4
+         */
+        public static final int IDEOGRAPHIC = 14;
+        /**
+         * @see #INSEPARABLE
+         * @stable ICU 2.4
+         */
+        public static final int INSEPERABLE = 15;
+        /**
+         * Renamed from the misspelled "inseperable" in Unicode 4.0.1.
+         * @draft ICU 3.0
+         * @deprecated This is a draft API and might change in a future release of ICU.
+         */
+        public static final int INSEPARABLE = 15;
+        /**
+         * @stable ICU 2.4
+         */
+        public static final int INFIX_NUMERIC = 16;
+        /**
+         * @stable ICU 2.4
+         */
+        public static final int LINE_FEED = 17;
+        /**
+         * @stable ICU 2.4
+         */
+        public static final int NONSTARTER = 18;
+        /**
+         * @stable ICU 2.4
+         */
+        public static final int NUMERIC = 19;
+        /**
+         * @stable ICU 2.4
+         */
+        public static final int OPEN_PUNCTUATION = 20;
+        /**
+         * @stable ICU 2.4
+         */
+        public static final int POSTFIX_NUMERIC = 21;
+        /**
+         * @stable ICU 2.4
+         */
+        public static final int PREFIX_NUMERIC = 22;
+        /**
+         * @stable ICU 2.4
+         */
+        public static final int QUOTATION = 23;
+        /**
+         * @stable ICU 2.4
+         */
+        public static final int COMPLEX_CONTEXT = 24;
+        /**
+         * @stable ICU 2.4
+         */
+        public static final int SURROGATE = 25;
+        /**
+         * @stable ICU 2.4
+         */
+        public static final int SPACE = 26;
+        /**
+         * @stable ICU 2.4
+         */
+        public static final int BREAK_SYMBOLS = 27;
+        /**
+         * @stable ICU 2.4
+         */
+        public static final int ZWSPACE = 28;
+        
+        /**
+         * @stable ICU 2.6
+         */
+        public static final int NEXT_LINE = 29;       /*[NL]*/ /* from here on: new in Unicode 4/ICU 2.6 */
+        
+        /**
+         * @stable ICU 2.6
+         */
+        public static final int  WORD_JOINER = 30;      /*[WJ]*/
+        
+        /* from here on: new in Unicode 4.1/ICU 3.4 */
+
+        /**
+         * @draft ICU 3.4
+         * @deprecated This is a draft API and might change in a future release of ICU.
+         */
+        public static final int  H2 = 31;
+        /**
+         * @draft ICU 3.4
+         * @deprecated This is a draft API and might change in a future release of ICU.
+         */
+        public static final int  H3 = 32;
+        /**
+         * @draft ICU 3.4
+         * @deprecated This is a draft API and might change in a future release of ICU.
+         */
+        public static final int  JL = 33;
+        /**
+         * @draft ICU 3.4
+         * @deprecated This is a draft API and might change in a future release of ICU.
+         */
+        public static final int  JT = 34;
+        /**
+         * @draft ICU 3.4
+         * @deprecated This is a draft API and might change in a future release of ICU.
+         */
+        public static final int  JV = 35;
+
+        /**
+         * @stable ICU 2.4
+         */
+        public static final int COUNT = 36;
+    }
+    
+    /**
+     * Numeric Type constants.
+     * @see UProperty#NUMERIC_TYPE
+     * @stable ICU 2.4
+     */
+    public static interface NumericType 
+    {
+        /**
+         * @stable ICU 2.4
+         */
+        public static final int NONE = 0;
+        /**
+         * @stable ICU 2.4
+         */
+        public static final int DECIMAL = 1;
+        /**
+         * @stable ICU 2.4
+         */
+        public static final int DIGIT = 2;
+        /**
+         * @stable ICU 2.4
+         */
+        public static final int NUMERIC = 3;
+        /**
+         * @stable ICU 2.4
+         */
+        public static final int COUNT = 4;
+    }
+    
+    /**
+     * Hangul Syllable Type constants.
+     *
+     * @see UProperty#HANGUL_SYLLABLE_TYPE
+     * @stable ICU 2.6
+     */
+    public static interface HangulSyllableType 
+    {
+        /**
+         * @stable ICU 2.6
+         */
+        public static final int NOT_APPLICABLE      = 0;   /*[NA]*/ /*See note !!*/
+        /**
+         * @stable ICU 2.6
+         */
+        public static final int LEADING_JAMO        = 1;   /*[L]*/
+        /**
+         * @stable ICU 2.6
+         */
+        public static final int VOWEL_JAMO          = 2;   /*[V]*/
+        /**
+         * @stable ICU 2.6
+         */
+        public static final int TRAILING_JAMO       = 3;   /*[T]*/
+        /**
+         * @stable ICU 2.6
+         */
+        public static final int LV_SYLLABLE         = 4;   /*[LV]*/
+        /**
+         * @stable ICU 2.6
+         */
+        public static final int LVT_SYLLABLE        = 5;   /*[LVT]*/
+        /**
+         * @stable ICU 2.6
+         */
+        public static final int COUNT               = 6;
+    }
+
+    // public data members -----------------------------------------------
+  
+    /** 
+     * The lowest Unicode code point value.
+     * @stable ICU 2.1
+     */
+    public static final int MIN_VALUE = UTF16.CODEPOINT_MIN_VALUE;
+
+    /**
+     * The highest Unicode code point value (scalar value) according to the 
+     * Unicode Standard. 
+     * This is a 21-bit value (21 bits, rounded up).<br>
+     * Up-to-date Unicode implementation of java.lang.Character.MIN_VALUE
+     * @stable ICU 2.1
+     */
+    public static final int MAX_VALUE = UTF16.CODEPOINT_MAX_VALUE; 
+      
+    /**
+     * The minimum value for Supplementary code points
+     * @stable ICU 2.1
+     */
+    public static final int SUPPLEMENTARY_MIN_VALUE = 
+        UTF16.SUPPLEMENTARY_MIN_VALUE;
+      
+    /**
+     * Unicode value used when translating into Unicode encoding form and there 
+     * is no existing character.
+     * @stable ICU 2.1
+     */
+    public static final int REPLACEMENT_CHAR = '\uFFFD';
+        
+    /**
+     * Special value that is returned by getUnicodeNumericValue(int) when no 
+     * numeric value is defined for a code point.
+     * @stable ICU 2.4
+     * @see #getUnicodeNumericValue
+     */
+    public static final double NO_NUMERIC_VALUE = -123456789;
+
+    /**
+     * Compatibility constant for Java Character's MIN_RADIX.
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final int MIN_RADIX = java.lang.Character.MIN_RADIX;
+
+    /**
+     * Compatibility constant for Java Character's MAX_RADIX.
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final int MAX_RADIX = java.lang.Character.MAX_RADIX;
+
+    // public methods ----------------------------------------------------
+      
+    /**
+     * Retrieves the numeric value of a decimal digit code point.
+     * <br>This method observes the semantics of
+     * <code>java.lang.Character.digit()</code>.  Note that this
+     * will return positive values for code points for which isDigit
+     * returns false, just like java.lang.Character.
+     * <br><em>Semantic Change:</em> In release 1.3.1 and
+     * prior, this did not treat the European letters as having a
+     * digit value, and also treated numeric letters and other numbers as 
+     * digits.  
+     * This has been changed to conform to the java semantics.
+     * <br>A code point is a valid digit if and only if:
+     * <ul>
+     *   <li>ch is a decimal digit or one of the european letters, and
+     *   <li>the value of ch is less than the specified radix.
+     * </ul>
+     * @param ch the code point to query
+     * @param radix the radix
+     * @return the numeric value represented by the code point in the
+     * specified radix, or -1 if the code point is not a decimal digit
+     * or if its value is too large for the radix
+     * @stable ICU 2.1
+     */
+    public static int digit(int ch, int radix)
+    {
+        // when ch is out of bounds getProperty == 0
+        int props = getProperty(ch);
+        int value;        
+        if (getNumericType(props) == NumericType.DECIMAL) {
+            value = UCharacterProperty.getUnsignedValue(props);
+        } else {
+            value = getEuropeanDigit(ch);
+        }
+        return (0 <= value && value < radix) ? value : -1;
+    }
+    
+    /**
+     * Retrieves the numeric value of a decimal digit code point.
+     * <br>This is a convenience overload of <code>digit(int, int)</code> 
+     * that provides a decimal radix.
+     * <br><em>Semantic Change:</em> In release 1.3.1 and prior, this
+     * treated numeric letters and other numbers as digits.  This has
+     * been changed to conform to the java semantics.
+     * @param ch the code point to query
+     * @return the numeric value represented by the code point,
+     * or -1 if the code point is not a decimal digit or if its
+     * value is too large for a decimal radix 
+     * @stable ICU 2.1
+     */
+    public static int digit(int ch)
+    {
+        int props = getProperty(ch);
+        if (getNumericType(props) == NumericType.DECIMAL) {
+            return UCharacterProperty.getUnsignedValue(props);
+        } else {
+            return -1;
+        }
+    }
+
+    /** 
+     * Returns the numeric value of the code point as a nonnegative 
+     * integer.
+     * <br>If the code point does not have a numeric value, then -1 is returned. 
+     * <br>
+     * If the code point has a numeric value that cannot be represented as a 
+     * nonnegative integer (for example, a fractional value), then -2 is 
+     * returned.
+     * @param ch the code point to query
+     * @return the numeric value of the code point, or -1 if it has no numeric 
+     * value, or -2 if it has a numeric value that cannot be represented as a 
+     * nonnegative integer
+     * @stable ICU 2.1
+     */
+    public static int getNumericValue(int ch)
+    {
+        // slightly pruned version of getUnicodeNumericValue(), plus getEuropeanDigit()
+        int props = PROPERTY_.getProperty(ch);
+        int numericType = getNumericType(props);
+
+        if(numericType==0) {
+            return getEuropeanDigit(ch);
+        }
+        if(numericType==UCharacterProperty.NT_FRACTION || numericType>=UCharacterProperty.NT_COUNT) {
+            return -2;
+        }
+
+        int numericValue = UCharacterProperty.getUnsignedValue(props);
+
+        if(numericType<NumericType.COUNT) {
+            /* normal type, the value is stored directly */
+            return numericValue;
+        } else /* numericType==NT_LARGE */ {
+            /* large value with exponent */
+            long numValue;
+            int mant, exp;
+
+            mant=numericValue>>LARGE_MANT_SHIFT;
+            exp=numericValue&LARGE_EXP_MASK;
+            if(mant==0) {
+                mant=1;
+                exp+=LARGE_EXP_OFFSET_EXTRA;
+            } else if(mant>9) {
+                return -2; /* reserved mantissa value */
+            } else {
+                exp+=LARGE_EXP_OFFSET;
+            }
+            if(exp>9) {
+                return -2;
+            }
+
+            numValue=mant;
+
+            /* multiply by 10^exp without math.h */
+            while(exp>=4) {
+                numValue*=10000.;
+                exp-=4;
+            }
+            switch(exp) {
+            case 3:
+                numValue*=1000.;
+                break;
+            case 2:
+                numValue*=100.;
+                break;
+            case 1:
+                numValue*=10.;
+                break;
+            case 0:
+            default:
+                break;
+            }
+            if(numValue<=Integer.MAX_VALUE) {
+                return (int)numValue;
+            } else {
+                return -2;
+            }
+        }
+    }
+    
+    /**
+     * <p>Get the numeric value for a Unicode code point as defined in the 
+     * Unicode Character Database.</p>
+     * <p>A "double" return type is necessary because some numeric values are 
+     * fractions, negative, or too large for int.</p>
+     * <p>For characters without any numeric values in the Unicode Character 
+     * Database, this function will return NO_NUMERIC_VALUE.</p>
+     * <p><em>API Change:</em> In release 2.2 and prior, this API has a
+     * return type int and returns -1 when the argument ch does not have a 
+     * corresponding numeric value. This has been changed to synch with ICU4C
+     * </p>
+     * This corresponds to the ICU4C function u_getNumericValue.
+     * @param ch Code point to get the numeric value for.
+     * @return numeric value of ch, or NO_NUMERIC_VALUE if none is defined.
+     * @stable ICU 2.4
+     */
+    public static double getUnicodeNumericValue(int ch)
+    {
+        // equivalent to c version double u_getNumericValue(UChar32 c)
+        int props = PROPERTY_.getProperty(ch);
+        int numericType = getNumericType(props);
+
+        if(numericType==0 || numericType>=UCharacterProperty.NT_COUNT) {
+            return NO_NUMERIC_VALUE;
+        }
+
+        int numericValue = UCharacterProperty.getUnsignedValue(props);
+
+        if(numericType<NumericType.COUNT) {
+            /* normal type, the value is stored directly */
+            return numericValue;
+        } else if(numericType==UCharacterProperty.NT_FRACTION) {
+            /* fraction value */
+            int numerator, denominator;
+
+            numerator=numericValue>>FRACTION_NUM_SHIFT;
+            denominator=(numericValue&FRACTION_DEN_MASK)+FRACTION_DEN_OFFSET;
+
+            if(numerator==0) {
+                numerator=-1;
+            }
+            return (double)numerator/(double)denominator;
+        } else /* numericType==NT_LARGE */ {
+            /* large value with exponent */
+            double numValue;
+            int mant, exp;
+
+            mant=numericValue>>LARGE_MANT_SHIFT;
+            exp=numericValue&LARGE_EXP_MASK;
+            if(mant==0) {
+                mant=1;
+                exp+=LARGE_EXP_OFFSET_EXTRA;
+            } else if(mant>9) {
+                return NO_NUMERIC_VALUE; /* reserved mantissa value */
+            } else {
+                exp+=LARGE_EXP_OFFSET;
+            }
+
+            numValue=mant;
+
+            /* multiply by 10^exp without math.h */
+            while(exp>=4) {
+                numValue*=10000.;
+                exp-=4;
+            }
+            switch(exp) {
+            case 3:
+                numValue*=1000.;
+                break;
+            case 2:
+                numValue*=100.;
+                break;
+            case 1:
+                numValue*=10.;
+                break;
+            case 0:
+            default:
+                break;
+            }
+
+            return numValue;
+        }
+    }
+  
+    /**
+     * Compatibility override of Java deprecated method.  This
+     * method will always remain deprecated.  Delegates to
+     * java.lang.Character.isSpace.
+     * @param ch the code point
+     * @return true if the code point is a space character as
+     * defined by java.lang.Character.isSpace.
+     * @deprecated (Java)
+     */
+    public static boolean isSpace(int ch) {
+	return java.lang.Character.isSpace((char)(ch & 0xffff));
+    }
+
+    /**
+     * Returns a value indicating a code point's Unicode category.
+     * Up-to-date Unicode implementation of java.lang.Character.getType() 
+     * except for the above mentioned code points that had their category 
+     * changed.<br>
+     * Return results are constants from the interface 
+     * <a href=UCharacterCategory.html>UCharacterCategory</a><br>
+     * <em>NOTE:</em> the UCharacterCategory values are <em>not</em> compatible with
+     * those returned by java.lang.Character.getType.  UCharacterCategory values
+     * match the ones used in ICU4C, while java.lang.Character type
+     * values, though similar, skip the value 17.</p>
+     * @param ch code point whose type is to be determined
+     * @return category which is a value of UCharacterCategory
+     * @stable ICU 2.1
+     */
+    public static int getType(int ch)
+    {
+        return getProperty(ch) & UCharacterProperty.TYPE_MASK;
+    }
+       
+    /**
+     * Determines if a code point has a defined meaning in the up-to-date 
+     * Unicode standard.
+     * E.g. supplementary code points though allocated space are not defined in 
+     * Unicode yet.<br>
+     * Up-to-date Unicode implementation of java.lang.Character.isDefined()
+     * @param ch code point to be determined if it is defined in the most 
+     *        current version of Unicode
+     * @return true if this code point is defined in unicode
+     * @stable ICU 2.1
+     */
+    public static boolean isDefined(int ch)
+    {
+        return getType(ch) != 0;
+    }
+                                    
+    /**
+     * Determines if a code point is a Java digit.
+     * <br>This method observes the semantics of
+     * <code>java.lang.Character.isDigit()</code>. It returns true for decimal 
+     * digits only.
+     * <br><em>Semantic Change:</em> In release 1.3.1 and prior, this treated 
+     * numeric letters and other numbers as digits. 
+     * This has been changed to conform to the java semantics.
+     * @param ch code point to query
+     * @return true if this code point is a digit 
+     * @stable ICU 2.1
+     */
+    public static boolean isDigit(int ch)
+    {
+        return getType(ch) == UCharacterCategory.DECIMAL_DIGIT_NUMBER;
+    }
+
+    /**
+     * Determines if the specified code point is an ISO control character.
+     * A code point is considered to be an ISO control character if it is in 
+     * the range &#92u0000 through &#92u001F or in the range &#92u007F through 
+     * &#92u009F.<br>
+     * Up-to-date Unicode implementation of java.lang.Character.isISOControl()
+     * @param ch code point to determine if it is an ISO control character
+     * @return true if code point is a ISO control character
+     * @stable ICU 2.1
+     */
+    public static boolean isISOControl(int ch)
+    {
+        return ch >= 0 && ch <= APPLICATION_PROGRAM_COMMAND_ && 
+            ((ch <= UNIT_SEPARATOR_) || (ch >= DELETE_));
+    }
+                                    
+    /**
+     * Determines if the specified code point is a letter.
+     * Up-to-date Unicode implementation of java.lang.Character.isLetter()
+     * @param ch code point to determine if it is a letter
+     * @return true if code point is a letter
+     * @stable ICU 2.1
+     */
+    public static boolean isLetter(int ch)
+    {
+        // if props == 0, it will just fall through and return false
+        return ((1 << getType(ch)) 
+        & ((1 << UCharacterCategory.UPPERCASE_LETTER) 
+           | (1 << UCharacterCategory.LOWERCASE_LETTER)
+           | (1 << UCharacterCategory.TITLECASE_LETTER)
+           | (1 << UCharacterCategory.MODIFIER_LETTER)
+           | (1 << UCharacterCategory.OTHER_LETTER))) != 0;
+    }
+                
+    /**
+     * Determines if the specified code point is a letter or digit.
+     * Note this method, unlike java.lang.Character does not regard the ascii 
+     * characters 'A' - 'Z' and 'a' - 'z' as digits.
+     * @param ch code point to determine if it is a letter or a digit
+     * @return true if code point is a letter or a digit
+     * @stable ICU 2.1
+     */
+    public static boolean isLetterOrDigit(int ch)
+    {
+        return ((1 << getType(ch)) 
+        & ((1 << UCharacterCategory.UPPERCASE_LETTER) 
+           | (1 << UCharacterCategory.LOWERCASE_LETTER)
+           | (1 << UCharacterCategory.TITLECASE_LETTER)
+           | (1 << UCharacterCategory.MODIFIER_LETTER)
+           | (1 << UCharacterCategory.OTHER_LETTER)
+           | (1 << UCharacterCategory.DECIMAL_DIGIT_NUMBER))) != 0;
+    }
+     
+    /**
+     * Compatibility override of Java deprecated method.  This
+     * method will always remain deprecated.  Delegates to
+     * java.lang.Character.isJavaIdentifierStart.
+     * @param cp the code point
+     * @return true if the code point can start a java identifier.
+     * @deprecated (Java)
+     */
+    public static boolean isJavaLetter(int cp) {
+	return isJavaIdentifierStart(cp);
+    }
+
+    /**
+     * Compatibility override of Java deprecated method.  This
+     * method will always remain deprecated.  Delegates to
+     * java.lang.Character.isJavaIdentifierPart.
+     * @param cp the code point
+     * @return true if the code point can continue a java identifier.
+     * @deprecated (Java)
+     */
+    public static boolean isJavaLetterOrDigit(int cp) {
+	return isJavaIdentifierPart(cp);
+    }
+
+    /**
+     * Compatibility override of Java method, delegates to
+     * java.lang.Character.isJavaIdentifierStart.
+     * @param cp the code point
+     * @return true if the code point can start a java identifier.
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static boolean isJavaIdentifierStart(int cp) {
+	// note, downcast to char for jdk 1.4 compatibility
+	return java.lang.Character.isJavaIdentifierStart((char)cp);
+    }
+
+    /**
+     * Compatibility override of Java method, delegates to
+     * java.lang.Character.isJavaIdentifierPart.
+     * @param cp the code point
+     * @return true if the code point can continue a java identifier.
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static boolean isJavaIdentifierPart(int cp) {
+	// note, downcast to char for jdk 1.4 compatibility
+	return java.lang.Character.isJavaIdentifierPart((char)cp);
+    }
+
+    /**
+     * Determines if the specified code point is a lowercase character.
+     * UnicodeData only contains case mappings for code points where they are 
+     * one-to-one mappings; it also omits information about context-sensitive 
+     * case mappings.<br> For more information about Unicode case mapping 
+     * please refer to the 
+     * <a href=http://www.unicode.org/unicode/reports/tr21/>Technical report 
+     * #21</a>.<br>
+     * Up-to-date Unicode implementation of java.lang.Character.isLowerCase()
+     * @param ch code point to determine if it is in lowercase
+     * @return true if code point is a lowercase character
+     * @stable ICU 2.1
+     */
+    public static boolean isLowerCase(int ch)
+    {
+        // if props == 0, it will just fall through and return false
+        return getType(ch) == UCharacterCategory.LOWERCASE_LETTER;
+    }
+       
+    /**
+     * Determines if the specified code point is a white space character.
+     * A code point is considered to be an whitespace character if and only
+     * if it satisfies one of the following criteria:
+     * <ul>
+     * <li> It is a Unicode space separator (category "Zs"), but is not
+     *      a no-break space (&#92u00A0 or &#92u202F or &#92uFEFF).
+     * <li> It is a Unicode line separator (category "Zl").
+     * <li> It is a Unicode paragraph separator (category "Zp").
+     * <li> It is &#92u0009, HORIZONTAL TABULATION. 
+     * <li> It is &#92u000A, LINE FEED. 
+     * <li> It is &#92u000B, VERTICAL TABULATION. 
+     * <li> It is &#92u000C, FORM FEED. 
+     * <li> It is &#92u000D, CARRIAGE RETURN. 
+     * <li> It is &#92u001C, FILE SEPARATOR. 
+     * <li> It is &#92u001D, GROUP SEPARATOR. 
+     * <li> It is &#92u001E, RECORD SEPARATOR. 
+     * <li> It is &#92u001F, UNIT SEPARATOR.  
+     * </ul>
+     *
+     * This API tries to synch to the semantics of the Java API,
+     * java.lang.Character.isWhitespace(). 
+     * @param ch code point to determine if it is a white space
+     * @return true if the specified code point is a white space character
+     * @stable ICU 2.1
+     */
+    public static boolean isWhitespace(int ch)
+    {
+        // exclude no-break spaces
+        // if props == 0, it will just fall through and return false
+        return ((1 << getType(ch)) & 
+                ((1 << UCharacterCategory.SPACE_SEPARATOR)
+                 | (1 << UCharacterCategory.LINE_SEPARATOR)
+                 | (1 << UCharacterCategory.PARAGRAPH_SEPARATOR))) != 0 
+        && (ch != NO_BREAK_SPACE_) && (ch != NARROW_NO_BREAK_SPACE_) 
+        && (ch != ZERO_WIDTH_NO_BREAK_SPACE_)
+        // TAB VT LF FF CR FS GS RS US NL are all control characters
+        // that are white spaces.
+        || (ch >= 0x9 && ch <= 0xd) || (ch >= 0x1c && ch <= 0x1f);
+    }
+       
+    /**
+     * Determines if the specified code point is a Unicode specified space 
+     * character, i.e. if code point is in the category Zs, Zl and Zp.
+     * Up-to-date Unicode implementation of java.lang.Character.isSpaceChar().
+     * @param ch code point to determine if it is a space
+     * @return true if the specified code point is a space character
+     * @stable ICU 2.1
+     */
+    public static boolean isSpaceChar(int ch)
+    {
+        // if props == 0, it will just fall through and return false
+        return ((1 << getType(ch)) & ((1 << UCharacterCategory.SPACE_SEPARATOR) 
+                      | (1 << UCharacterCategory.LINE_SEPARATOR)
+                      | (1 << UCharacterCategory.PARAGRAPH_SEPARATOR)))
+        != 0;
+    }
+                                    
+    /**
+     * Determines if the specified code point is a titlecase character.
+     * UnicodeData only contains case mappings for code points where they are 
+     * one-to-one mappings; it also omits information about context-sensitive 
+     * case mappings.<br>
+     * For more information about Unicode case mapping please refer to the 
+     * <a href=http://www.unicode.org/unicode/reports/tr21/>
+     * Technical report #21</a>.<br>
+     * Up-to-date Unicode implementation of java.lang.Character.isTitleCase().
+     * @param ch code point to determine if it is in title case
+     * @return true if the specified code point is a titlecase character
+     * @stable ICU 2.1
+     */
+    public static boolean isTitleCase(int ch)
+    {
+        // if props == 0, it will just fall through and return false
+        return getType(ch) == UCharacterCategory.TITLECASE_LETTER;
+    }
+       
+    /**
+     * Determines if the specified code point may be any part of a Unicode 
+     * identifier other than the starting character.
+     * A code point may be part of a Unicode identifier if and only if it is 
+     * one of the following: 
+     * <ul>
+     * <li> Lu Uppercase letter
+     * <li> Ll Lowercase letter
+     * <li> Lt Titlecase letter
+     * <li> Lm Modifier letter
+     * <li> Lo Other letter
+     * <li> Nl Letter number
+     * <li> Pc Connecting punctuation character 
+     * <li> Nd decimal number
+     * <li> Mc Spacing combining mark 
+     * <li> Mn Non-spacing mark 
+     * <li> Cf formatting code
+     * </ul>
+     * Up-to-date Unicode implementation of 
+     * java.lang.Character.isUnicodeIdentifierPart().<br>
+     * See <a href=http://www.unicode.org/unicode/reports/tr8/>UTR #8</a>.
+     * @param ch code point to determine if is can be part of a Unicode 
+     *        identifier
+     * @return true if code point is any character belonging a unicode 
+     *         identifier suffix after the first character
+     * @stable ICU 2.1
+     */
+    public static boolean isUnicodeIdentifierPart(int ch)
+    {
+        // if props == 0, it will just fall through and return false
+        // cat == format
+        return ((1 << getType(ch)) 
+        & ((1 << UCharacterCategory.UPPERCASE_LETTER) 
+           | (1 << UCharacterCategory.LOWERCASE_LETTER)
+           | (1 << UCharacterCategory.TITLECASE_LETTER)
+           | (1 << UCharacterCategory.MODIFIER_LETTER)
+           | (1 << UCharacterCategory.OTHER_LETTER)
+           | (1 << UCharacterCategory.LETTER_NUMBER) 
+           | (1 << UCharacterCategory.CONNECTOR_PUNCTUATION)
+           | (1 << UCharacterCategory.DECIMAL_DIGIT_NUMBER)
+           | (1 << UCharacterCategory.COMBINING_SPACING_MARK)
+           | (1 << UCharacterCategory.NON_SPACING_MARK))) != 0
+        || isIdentifierIgnorable(ch);
+    }
+                       
+    /**
+     * Determines if the specified code point is permissible as the first 
+     * character in a Unicode identifier.
+     * A code point may start a Unicode identifier if it is of type either 
+     * <ul> 
+     * <li> Lu Uppercase letter
+     * <li> Ll Lowercase letter
+     * <li> Lt Titlecase letter
+     * <li> Lm Modifier letter
+     * <li> Lo Other letter
+     * <li> Nl Letter number
+     * </ul>
+     * Up-to-date Unicode implementation of 
+     * java.lang.Character.isUnicodeIdentifierStart().<br>
+     * See <a href=http://www.unicode.org/unicode/reports/tr8/>UTR #8</a>.
+     * @param ch code point to determine if it can start a Unicode identifier
+     * @return true if code point is the first character belonging a unicode 
+     *              identifier
+     * @stable ICU 2.1
+     */
+    public static boolean isUnicodeIdentifierStart(int ch)
+    {
+        /*int cat = getType(ch);*/
+        // if props == 0, it will just fall through and return false
+        return ((1 << getType(ch)) 
+        & ((1 << UCharacterCategory.UPPERCASE_LETTER) 
+           | (1 << UCharacterCategory.LOWERCASE_LETTER)
+           | (1 << UCharacterCategory.TITLECASE_LETTER)
+           | (1 << UCharacterCategory.MODIFIER_LETTER)
+           | (1 << UCharacterCategory.OTHER_LETTER)
+           | (1 << UCharacterCategory.LETTER_NUMBER))) != 0;
+    }
+
+    /**
+     * Determines if the specified code point should be regarded as an 
+     * ignorable character in a Unicode identifier.
+     * A character is ignorable in the Unicode standard if it is of the type 
+     * Cf, Formatting code.<br>
+     * Up-to-date Unicode implementation of 
+     * java.lang.Character.isIdentifierIgnorable().<br>
+     * See <a href=http://www.unicode.org/unicode/reports/tr8/>UTR #8</a>.
+     * @param ch code point to be determined if it can be ignored in a Unicode 
+     *        identifier.
+     * @return true if the code point is ignorable
+     * @stable ICU 2.1
+     */
+    public static boolean isIdentifierIgnorable(int ch)
+    {
+        // see java.lang.Character.isIdentifierIgnorable() on range of 
+        // ignorable characters.
+        if (ch <= 0x9f) {
+        return isISOControl(ch) 
+        && !((ch >= 0x9 && ch <= 0xd) 
+             || (ch >= 0x1c && ch <= 0x1f));
+        } 
+        return getType(ch) == UCharacterCategory.FORMAT;
+    }
+                      
+    /**
+     * Determines if the specified code point is an uppercase character.
+     * UnicodeData only contains case mappings for code point where they are 
+     * one-to-one mappings; it also omits information about context-sensitive 
+     * case mappings.<br> 
+     * For language specific case conversion behavior, use 
+     * toUpperCase(locale, str). <br>
+     * For example, the case conversion for dot-less i and dotted I in Turkish,
+     * or for final sigma in Greek.
+     * For more information about Unicode case mapping please refer to the 
+     * <a href=http://www.unicode.org/unicode/reports/tr21/>
+     * Technical report #21</a>.<br>
+     * Up-to-date Unicode implementation of java.lang.Character.isUpperCase().
+     * @param ch code point to determine if it is in uppercase
+     * @return true if the code point is an uppercase character
+     * @stable ICU 2.1
+     */
+    public static boolean isUpperCase(int ch)
+    {
+        // if props == 0, it will just fall through and return false
+        return getType(ch) == UCharacterCategory.UPPERCASE_LETTER;
+    }
+                       
+    /**
+     * The given code point is mapped to its lowercase equivalent; if the code 
+     * point has no lowercase equivalent, the code point itself is returned.
+     * Up-to-date Unicode implementation of java.lang.Character.toLowerCase()
+     *
+     * <p>This function only returns the simple, single-code point case mapping.
+     * Full case mappings should be used whenever possible because they produce
+     * better results by working on whole strings.
+     * They take into account the string context and the language and can map
+     * to a result string with a different length as appropriate.
+     * Full case mappings are applied by the case mapping functions
+     * that take String parameters rather than code points (int).
+     * See also the User Guide chapter on C/POSIX migration:
+     * http://icu.sourceforge.net/userguide/posix.html#case_mappings
+     *
+     * @param ch code point whose lowercase equivalent is to be retrieved
+     * @return the lowercase equivalent code point
+     * @stable ICU 2.1
+     */
+    public static int toLowerCase(int ch) {
+        return gCsp.tolower(ch);
+    }
+
+    /**
+     * Converts argument code point and returns a String object representing 
+     * the code point's value in UTF16 format.
+     * The result is a string whose length is 1 for non-supplementary code 
+     * points, 2 otherwise.<br>
+     * com.ibm.ibm.icu.UTF16 can be used to parse Strings generated by this 
+     * function.<br>
+     * Up-to-date Unicode implementation of java.lang.Character.toString()
+     * @param ch code point
+     * @return string representation of the code point, null if code point is not
+     *         defined in unicode
+     * @stable ICU 2.1
+     */
+    public static String toString(int ch)
+    {
+        if (ch < MIN_VALUE || ch > MAX_VALUE) {
+            return null;
+        }
+        
+        if (ch < SUPPLEMENTARY_MIN_VALUE) {
+            return String.valueOf((char)ch);
+        }
+        
+        StringBuffer result = new StringBuffer();
+        result.append(UTF16.getLeadSurrogate(ch));
+        result.append(UTF16.getTrailSurrogate(ch));
+        return result.toString();
+    }
+                                    
+    /**
+     * Converts the code point argument to titlecase.
+     * If no titlecase is available, the uppercase is returned. If no uppercase 
+     * is available, the code point itself is returned.
+     * Up-to-date Unicode implementation of java.lang.Character.toTitleCase()
+     *
+     * <p>This function only returns the simple, single-code point case mapping.
+     * Full case mappings should be used whenever possible because they produce
+     * better results by working on whole strings.
+     * They take into account the string context and the language and can map
+     * to a result string with a different length as appropriate.
+     * Full case mappings are applied by the case mapping functions
+     * that take String parameters rather than code points (int).
+     * See also the User Guide chapter on C/POSIX migration:
+     * http://icu.sourceforge.net/userguide/posix.html#case_mappings
+     *
+     * @param ch code point  whose title case is to be retrieved
+     * @return titlecase code point
+     * @stable ICU 2.1
+     */
+    public static int toTitleCase(int ch) {
+        return gCsp.totitle(ch);
+    }
+       
+    /**
+     * Converts the character argument to uppercase.
+     * If no uppercase is available, the character itself is returned.
+     * Up-to-date Unicode implementation of java.lang.Character.toUpperCase()
+     *
+     * <p>This function only returns the simple, single-code point case mapping.
+     * Full case mappings should be used whenever possible because they produce
+     * better results by working on whole strings.
+     * They take into account the string context and the language and can map
+     * to a result string with a different length as appropriate.
+     * Full case mappings are applied by the case mapping functions
+     * that take String parameters rather than code points (int).
+     * See also the User Guide chapter on C/POSIX migration:
+     * http://icu.sourceforge.net/userguide/posix.html#case_mappings
+     *
+     * @param ch code point whose uppercase is to be retrieved
+     * @return uppercase code point
+     * @stable ICU 2.1
+     */
+    public static int toUpperCase(int ch) {
+        return gCsp.toupper(ch);
+    }
+       
+    // extra methods not in java.lang.Character --------------------------
+       
+    /**
+     * Determines if the code point is a supplementary character.
+     * A code point is a supplementary character if and only if it is greater 
+     * than <a href=#SUPPLEMENTARY_MIN_VALUE>SUPPLEMENTARY_MIN_VALUE</a>
+     * @param ch code point to be determined if it is in the supplementary 
+     *        plane
+     * @return true if code point is a supplementary character
+     * @stable ICU 2.1
+     */
+    public static boolean isSupplementary(int ch)
+    {
+        return ch >= UCharacter.SUPPLEMENTARY_MIN_VALUE && 
+            ch <= UCharacter.MAX_VALUE;
+    }
+      
+    /**
+     * Determines if the code point is in the BMP plane.
+     * @param ch code point to be determined if it is not a supplementary 
+     *        character
+     * @return true if code point is not a supplementary character
+     * @stable ICU 2.1
+     */
+    public static boolean isBMP(int ch) 
+    {
+        return (ch >= 0 && ch <= LAST_CHAR_MASK_);
+    }
+
+    /**
+     * Determines whether the specified code point is a printable character 
+     * according to the Unicode standard.
+     * @param ch code point to be determined if it is printable
+     * @return true if the code point is a printable character
+     * @stable ICU 2.1
+     */
+    public static boolean isPrintable(int ch)
+    {
+        int cat = getType(ch);
+        // if props == 0, it will just fall through and return false
+        return (cat != UCharacterCategory.UNASSIGNED && 
+        cat != UCharacterCategory.CONTROL && 
+        cat != UCharacterCategory.FORMAT &&
+        cat != UCharacterCategory.PRIVATE_USE &&
+        cat != UCharacterCategory.SURROGATE &&
+        cat != UCharacterCategory.GENERAL_OTHER_TYPES);
+    }
+
+    /**
+     * Determines whether the specified code point is of base form.
+     * A code point of base form does not graphically combine with preceding 
+     * characters, and is neither a control nor a format character.
+     * @param ch code point to be determined if it is of base form
+     * @return true if the code point is of base form
+     * @stable ICU 2.1
+     */
+    public static boolean isBaseForm(int ch)
+    {
+        int cat = getType(ch);
+        // if props == 0, it will just fall through and return false
+        return cat == UCharacterCategory.DECIMAL_DIGIT_NUMBER || 
+            cat == UCharacterCategory.OTHER_NUMBER || 
+            cat == UCharacterCategory.LETTER_NUMBER || 
+            cat == UCharacterCategory.UPPERCASE_LETTER || 
+            cat == UCharacterCategory.LOWERCASE_LETTER || 
+            cat == UCharacterCategory.TITLECASE_LETTER ||
+            cat == UCharacterCategory.MODIFIER_LETTER || 
+            cat == UCharacterCategory.OTHER_LETTER || 
+            cat == UCharacterCategory.NON_SPACING_MARK || 
+            cat == UCharacterCategory.ENCLOSING_MARK ||
+            cat == UCharacterCategory.COMBINING_SPACING_MARK;
+    }
+
+    /**
+     * Returns the Bidirection property of a code point.
+     * For example, 0x0041 (letter A) has the LEFT_TO_RIGHT directional 
+     * property.<br>
+     * Result returned belongs to the interface 
+     * <a href=UCharacterDirection.html>UCharacterDirection</a>
+     * @param ch the code point to be determined its direction
+     * @return direction constant from UCharacterDirection.
+     * @stable ICU 2.1
+     */
+    public static int getDirection(int ch)
+    {
+        return gBdp.getClass(ch);
+    }
+
+    /**
+     * Determines whether the code point has the "mirrored" property.
+     * This property is set for characters that are commonly used in
+     * Right-To-Left contexts and need to be displayed with a "mirrored"
+     * glyph.
+     * @param ch code point whose mirror is to be determined
+     * @return true if the code point has the "mirrored" property
+     * @stable ICU 2.1
+     */
+    public static boolean isMirrored(int ch)
+    {
+        return gBdp.isMirrored(ch);
+    }
+
+    /**
+     * Maps the specified code point to a "mirror-image" code point.
+     * For code points with the "mirrored" property, implementations sometimes 
+     * need a "poor man's" mapping to another code point such that the default 
+     * glyph may serve as the mirror-image of the default glyph of the 
+     * specified code point.<br> 
+     * This is useful for text conversion to and from codepages with visual 
+     * order, and for displays without glyph selection capabilities.
+     * @param ch code point whose mirror is to be retrieved
+     * @return another code point that may serve as a mirror-image substitute, 
+     *         or ch itself if there is no such mapping or ch does not have the 
+     *         "mirrored" property
+     * @stable ICU 2.1
+     */
+    public static int getMirror(int ch)
+    {
+        return gBdp.getMirror(ch);
+    }
+      
+    /**
+     * Gets the combining class of the argument codepoint
+     * @param ch code point whose combining is to be retrieved
+     * @return the combining class of the codepoint
+     * @stable ICU 2.1
+     */
+    public static int getCombiningClass(int ch)
+    {
+        if (ch < MIN_VALUE || ch > MAX_VALUE) {
+        throw new IllegalArgumentException("Codepoint out of bounds");
+        }
+        return NormalizerImpl.getCombiningClass(ch);
+    }
+      
+    /**
+     * A code point is illegal if and only if
+     * <ul>
+     * <li> Out of bounds, less than 0 or greater than UCharacter.MAX_VALUE
+     * <li> A surrogate value, 0xD800 to 0xDFFF
+     * <li> Not-a-character, having the form 0x xxFFFF or 0x xxFFFE
+     * </ul>
+     * Note: legal does not mean that it is assigned in this version of Unicode.
+     * @param ch code point to determine if it is a legal code point by itself
+     * @return true if and only if legal. 
+     * @stable ICU 2.1
+     */
+    public static boolean isLegal(int ch) 
+    {
+        if (ch < MIN_VALUE) {
+            return false;
+        }
+        if (ch < UTF16.SURROGATE_MIN_VALUE) {
+            return true;
+        }
+        if (ch <= UTF16.SURROGATE_MAX_VALUE) {
+            return false;
+        }
+        if (UCharacterUtility.isNonCharacter(ch)) {
+            return false;
+        }
+        return (ch <= MAX_VALUE);
+    }
+      
+    /**
+     * A string is legal iff all its code points are legal.
+     * A code point is illegal if and only if
+     * <ul>
+     * <li> Out of bounds, less than 0 or greater than UCharacter.MAX_VALUE
+     * <li> A surrogate value, 0xD800 to 0xDFFF
+     * <li> Not-a-character, having the form 0x xxFFFF or 0x xxFFFE
+     * </ul>
+     * Note: legal does not mean that it is assigned in this version of Unicode.
+     * @param str containing code points to examin
+     * @return true if and only if legal. 
+     * @stable ICU 2.1
+     */
+    public static boolean isLegal(String str) 
+    {
+        int size = str.length();
+        int codepoint;
+        for (int i = 0; i < size; i ++)
+        {
+        codepoint = UTF16.charAt(str, i);
+        if (!isLegal(codepoint)) {
+            return false;
+        }
+        if (isSupplementary(codepoint)) {
+            i ++;
+        }
+        }
+        return true;
+    }
+
+    /**
+     * Gets the version of Unicode data used. 
+     * @return the unicode version number used
+     * @stable ICU 2.1
+     */
+    public static VersionInfo getUnicodeVersion()
+    {
+        return PROPERTY_.m_unicodeVersion_;
+    }
+      
+    /**
+     * Retrieve the most current Unicode name of the argument code point, or 
+     * null if the character is unassigned or outside the range 
+     * UCharacter.MIN_VALUE and UCharacter.MAX_VALUE or does not have a name.
+     * <br>
+     * Note calling any methods related to code point names, e.g. get*Name*() 
+     * incurs a one-time initialisation cost to construct the name tables.
+     * @param ch the code point for which to get the name
+     * @return most current Unicode name
+     * @stable ICU 2.1
+     */
+    public static String getName(int ch)
+    {
+        if(NAME_==null){
+            throw new MissingResourceException("Could not load unames.icu","","");
+        }
+        return NAME_.getName(ch, UCharacterNameChoice.UNICODE_CHAR_NAME);
+    }
+    
+    /**
+     * Gets the names for each of the characters in a string
+     * @param s string to format
+     * @param separator string to go between names
+     * @return string of names
+     * @internal
+     */
+    public static String getName(String s, String separator) {
+        if (s.length() == 1) { // handle common case
+            return getName(s.charAt(0));
+        }
+        int cp;
+        StringBuffer sb = new StringBuffer();
+        for (int i = 0; i < s.length(); i += UTF16.getCharCount(cp)) {
+            cp = UTF16.charAt(s,i);
+            if (i != 0) sb.append(separator);
+            sb.append(UCharacter.getName(cp));
+        }
+        return sb.toString();
+    }
+      
+    /**
+     * Retrieve the earlier version 1.0 Unicode name of the argument code 
+     * point, or null if the character is unassigned or outside the range 
+     * UCharacter.MIN_VALUE and UCharacter.MAX_VALUE or does not have a name.
+     * <br>
+     * Note calling any methods related to code point names, e.g. get*Name*() 
+     * incurs a one-time initialisation cost to construct the name tables.
+     * @param ch the code point for which to get the name
+     * @return version 1.0 Unicode name
+     * @stable ICU 2.1
+     */
+    public static String getName1_0(int ch)
+    {
+        if(NAME_==null){
+            throw new MissingResourceException("Could not load unames.icu","","");
+        }
+        return NAME_.getName(ch, 
+                             UCharacterNameChoice.UNICODE_10_CHAR_NAME);
+    }
+    
+    /**
+     * <p>Retrieves a name for a valid codepoint. Unlike, getName(int) and
+     * getName1_0(int), this method will return a name even for codepoints that
+     * are not assigned a name in UnicodeData.txt.
+     * </p>
+     * The names are returned in the following order.
+     * <ul>
+     * <li> Most current Unicode name if there is any
+     * <li> Unicode 1.0 name if there is any
+     * <li> Extended name in the form of 
+     *      "<codepoint_type-codepoint_hex_digits>". E.g. <noncharacter-fffe>
+     * </ul>
+     * Note calling any methods related to code point names, e.g. get*Name*() 
+     * incurs a one-time initialisation cost to construct the name tables.
+     * @param ch the code point for which to get the name
+     * @return a name for the argument codepoint
+     * @stable ICU 2.6
+     */
+    public static String getExtendedName(int ch) 
+    {
+        if(NAME_==null){
+            throw new MissingResourceException("Could not load unames.icu","","");
+        }
+        return NAME_.getName(ch, UCharacterNameChoice.EXTENDED_CHAR_NAME);
+    }
+    
+    /**
+     * Get the ISO 10646 comment for a character.
+     * The ISO 10646 comment is an informative field in the Unicode Character
+     * Database (UnicodeData.txt field 11) and is from the ISO 10646 names list.
+     * @param ch The code point for which to get the ISO comment.
+     *           It must be <code>0<=c<=0x10ffff</code>.
+     * @return The ISO comment, or null if there is no comment for this 
+     *         character.
+     * @stable ICU 2.4
+     */
+    public static String getISOComment(int ch)
+    {
+        if (ch < UCharacter.MIN_VALUE || ch > UCharacter.MAX_VALUE) {
+            return null;
+        }
+        if(NAME_==null){
+            throw new MissingResourceException("Could not load unames.icu","","");
+        }    
+        String result = NAME_.getGroupName(ch, 
+                                           UCharacterNameChoice.ISO_COMMENT_);
+        return result;
+    }
+      
+    /**
+     * <p>Find a Unicode code point by its most current Unicode name and 
+     * return its code point value. All Unicode names are in uppercase.</p>
+     * Note calling any methods related to code point names, e.g. get*Name*() 
+     * incurs a one-time initialisation cost to construct the name tables.
+     * @param name most current Unicode character name whose code point is to 
+     *        be returned
+     * @return code point or -1 if name is not found
+     * @stable ICU 2.1
+     */
+    public static int getCharFromName(String name)
+    {     
+        if(NAME_==null){
+            throw new MissingResourceException("Could not load unames.icu","","");
+        }
+        return NAME_.getCharFromName(
+                     UCharacterNameChoice.UNICODE_CHAR_NAME, name);
+    }
+      
+    /**
+     * <p>Find a Unicode character by its version 1.0 Unicode name and return 
+     * its code point value. All Unicode names are in uppercase.</p>
+     * Note calling any methods related to code point names, e.g. get*Name*() 
+     * incurs a one-time initialisation cost to construct the name tables.
+     * @param name Unicode 1.0 code point name whose code point is to 
+     *             returned
+     * @return code point or -1 if name is not found
+     * @stable ICU 2.1
+     */
+    public static int getCharFromName1_0(String name)
+    {
+        if(NAME_==null){
+            throw new MissingResourceException("Could not load unames.icu","","");
+        }
+        return NAME_.getCharFromName(
+                     UCharacterNameChoice.UNICODE_10_CHAR_NAME, name);
+    }
+    
+    /**
+     * <p>Find a Unicode character by either its name and return its code 
+     * point value. All Unicode names are in uppercase. 
+     * Extended names are all lowercase except for numbers and are contained
+     * within angle brackets.</p>
+     * The names are searched in the following order
+     * <ul>
+     * <li> Most current Unicode name if there is any
+     * <li> Unicode 1.0 name if there is any
+     * <li> Extended name in the form of 
+     *      "<codepoint_type-codepoint_hex_digits>". E.g. <noncharacter-FFFE>
+     * </ul>
+     * Note calling any methods related to code point names, e.g. get*Name*() 
+     * incurs a one-time initialisation cost to construct the name tables.
+     * @param name codepoint name
+     * @return code point associated with the name or -1 if the name is not
+     *         found.
+     * @stable ICU 2.6
+     */
+    public static int getCharFromExtendedName(String name)
+    {
+        if(NAME_==null){
+            throw new MissingResourceException("Could not load unames.icu","","");
+        }
+        return NAME_.getCharFromName(
+                     UCharacterNameChoice.EXTENDED_CHAR_NAME, name);
+    }
+
+    /**
+     * Return the Unicode name for a given property, as given in the
+     * Unicode database file PropertyAliases.txt.  Most properties
+     * have more than one name.  The nameChoice determines which one
+     * is returned.
+     *
+     * In addition, this function maps the property
+     * UProperty.GENERAL_CATEGORY_MASK to the synthetic names "gcm" /
+     * "General_Category_Mask".  These names are not in
+     * PropertyAliases.txt.
+     * 
+     * @param property UProperty selector.
+     *
+     * @param nameChoice UProperty.NameChoice selector for which name
+     * to get.  All properties have a long name.  Most have a short
+     * name, but some do not.  Unicode allows for additional names; if
+     * present these will be returned by UProperty.NameChoice.LONG + i,
+     * where i=1, 2,...
+     *
+     * @return a name, or null if Unicode explicitly defines no name
+     * ("n/a") for a given property/nameChoice.  If a given nameChoice
+     * throws an exception, then all larger values of nameChoice will
+     * throw an exception.  If null is returned for a given
+     * nameChoice, then other nameChoice values may return non-null
+     * results.
+     *
+     * @exception IllegalArgumentException thrown if property or
+     * nameChoice are invalid.
+     *
+     * @see UProperty
+     * @see UProperty.NameChoice
+     * @stable ICU 2.4
+     */
+    public static String getPropertyName(int property,
+                                         int nameChoice) {
+        return PNAMES_.getPropertyName(property, nameChoice);
+    }
+
+    /**
+     * Return the UProperty selector for a given property name, as
+     * specified in the Unicode database file PropertyAliases.txt.
+     * Short, long, and any other variants are recognized.
+     *
+     * In addition, this function maps the synthetic names "gcm" /
+     * "General_Category_Mask" to the property
+     * UProperty.GENERAL_CATEGORY_MASK.  These names are not in
+     * PropertyAliases.txt.
+     *
+     * @param propertyAlias the property name to be matched.  The name
+     * is compared using "loose matching" as described in
+     * PropertyAliases.txt.
+     *
+     * @return a UProperty enum.
+     *
+     * @exception IllegalArgumentException thrown if propertyAlias
+     * is not recognized.
+     *
+     * @see UProperty
+     * @stable ICU 2.4
+     */
+    public static int getPropertyEnum(String propertyAlias) {
+        return PNAMES_.getPropertyEnum(propertyAlias);
+    }
+
+    /**
+     * Return the Unicode name for a given property value, as given in
+     * the Unicode database file PropertyValueAliases.txt.  Most
+     * values have more than one name.  The nameChoice determines
+     * which one is returned.
+     *
+     * Note: Some of the names in PropertyValueAliases.txt can only be
+     * retrieved using UProperty.GENERAL_CATEGORY_MASK, not
+     * UProperty.GENERAL_CATEGORY.  These include: "C" / "Other", "L" /
+     * "Letter", "LC" / "Cased_Letter", "M" / "Mark", "N" / "Number", "P"
+     * / "Punctuation", "S" / "Symbol", and "Z" / "Separator".
+     *
+     * @param property UProperty selector constant.
+     * UProperty.INT_START &lt;= property &lt; UProperty.INT_LIMIT or
+     * UProperty.BINARY_START &lt;= property &lt; UProperty.BINARY_LIMIT or
+     * UProperty.MASK_START &lt; = property &lt; UProperty.MASK_LIMIT.
+     * If out of range, null is returned.
+     *
+     * @param value selector for a value for the given property.  In
+     * general, valid values range from 0 up to some maximum.  There
+     * are a few exceptions: (1.) UProperty.BLOCK values begin at the
+     * non-zero value BASIC_LATIN.getID().  (2.)
+     * UProperty.CANONICAL_COMBINING_CLASS values are not contiguous
+     * and range from 0..240.  (3.)  UProperty.GENERAL_CATEGORY_MASK values
+     * are mask values produced by left-shifting 1 by
+     * UCharacter.getType().  This allows grouped categories such as
+     * [:L:] to be represented.  Mask values are non-contiguous.
+     *
+     * @param nameChoice UProperty.NameChoice selector for which name
+     * to get.  All values have a long name.  Most have a short name,
+     * but some do not.  Unicode allows for additional names; if
+     * present these will be returned by UProperty.NameChoice.LONG + i,
+     * where i=1, 2,...
+     *
+     * @return a name, or null if Unicode explicitly defines no name
+     * ("n/a") for a given property/value/nameChoice.  If a given
+     * nameChoice throws an exception, then all larger values of
+     * nameChoice will throw an exception.  If null is returned for a
+     * given nameChoice, then other nameChoice values may return
+     * non-null results.
+     *
+     * @exception IllegalArgumentException thrown if property, value,
+     * or nameChoice are invalid.
+     *
+     * @see UProperty
+     * @see UProperty.NameChoice
+     * @stable ICU 2.4
+     */
+    public static String getPropertyValueName(int property,
+                                              int value,
+                                              int nameChoice) 
+    {
+        if (property == UProperty.CANONICAL_COMBINING_CLASS 
+            && value >= UCharacter.getIntPropertyMinValue(
+                              UProperty.CANONICAL_COMBINING_CLASS)
+            && value <= UCharacter.getIntPropertyMaxValue(
+                              UProperty.CANONICAL_COMBINING_CLASS)
+            && nameChoice >= 0 && nameChoice < UProperty.NameChoice.COUNT) {
+            // this is hard coded for the valid cc
+            // because PropertyValueAliases.txt does not contain all of them
+            try {
+                return PNAMES_.getPropertyValueName(property, value, 
+                                                    nameChoice);
+            }
+            catch (IllegalArgumentException e) {
+                return null;
+            }
+        }
+        return PNAMES_.getPropertyValueName(property, value, nameChoice);
+    }
+
+    /**
+     * Return the property value integer for a given value name, as
+     * specified in the Unicode database file PropertyValueAliases.txt.
+     * Short, long, and any other variants are recognized.
+     *
+     * Note: Some of the names in PropertyValueAliases.txt will only be
+     * recognized with UProperty.GENERAL_CATEGORY_MASK, not
+     * UProperty.GENERAL_CATEGORY.  These include: "C" / "Other", "L" /
+     * "Letter", "LC" / "Cased_Letter", "M" / "Mark", "N" / "Number", "P"
+     * / "Punctuation", "S" / "Symbol", and "Z" / "Separator".
+     *
+     * @param property UProperty selector constant.
+     * UProperty.INT_START &lt;= property &lt; UProperty.INT_LIMIT or
+     * UProperty.BINARY_START &lt;= property &lt; UProperty.BINARY_LIMIT or
+     * UProperty.MASK_START &lt; = property &lt; UProperty.MASK_LIMIT.
+     * Only these properties can be enumerated.
+     *
+     * @param valueAlias the value name to be matched.  The name is
+     * compared using "loose matching" as described in
+     * PropertyValueAliases.txt.
+     *
+     * @return a value integer.  Note: UProperty.GENERAL_CATEGORY
+     * values are mask values produced by left-shifting 1 by
+     * UCharacter.getType().  This allows grouped categories such as
+     * [:L:] to be represented.
+     *
+     * @see UProperty
+     * @throws IllegalArgumentException if property is not a valid UProperty
+     *         selector
+     * @stable ICU 2.4
+     */
+    public static int getPropertyValueEnum(int property,
+                                           String valueAlias) {
+        return PNAMES_.getPropertyValueEnum(property, valueAlias);
+    }
+      
+    /**
+     * Returns a code point corresponding to the two UTF16 characters.
+     * @param lead the lead char
+     * @param trail the trail char
+     * @return code point if surrogate characters are valid.
+     * @exception IllegalArgumentException thrown when argument characters do
+     *            not form a valid codepoint
+     * @stable ICU 2.1
+     */
+    public static int getCodePoint(char lead, char trail) 
+    {
+        if (lead >= UTF16.LEAD_SURROGATE_MIN_VALUE && 
+        lead <= UTF16.LEAD_SURROGATE_MAX_VALUE &&
+            trail >= UTF16.TRAIL_SURROGATE_MIN_VALUE && 
+        trail <= UTF16.TRAIL_SURROGATE_MAX_VALUE) {
+            return UCharacterProperty.getRawSupplementary(lead, trail);
+        }
+        throw new IllegalArgumentException("Illegal surrogate characters");
+    }
+      
+    /**
+     * Returns the code point corresponding to the UTF16 character.
+     * @param char16 the UTF16 character
+     * @return code point if argument is a valid character.
+     * @exception IllegalArgumentException thrown when char16 is not a valid
+     *            codepoint
+     * @stable ICU 2.1
+     */
+    public static int getCodePoint(char char16) 
+    {
+        if (UCharacter.isLegal(char16)) {
+            return char16;
+        }
+        throw new IllegalArgumentException("Illegal codepoint");
+    }
+
+    /**
+     * Implementation of UCaseProps.ContextIterator, iterates over a String.
+     * See ustrcase.c/utf16_caseContextIterator().
+     */
+    private static class StringContextIterator implements UCaseProps.ContextIterator {
+        /**
+         * Constructor.
+         * @param s String to iterate over. 
+         */
+        StringContextIterator(String s) {
+            this.s=s;
+            limit=s.length();
+            cpStart=cpLimit=index=0;
+            dir=0;
+        }
+
+        /**
+         * Set the iteration limit for nextCaseMapCP() to an index within the string.
+         * If the limit parameter is negative or past the string, then the
+         * string length is restored as the iteration limit.
+         *
+         * @param lim The iteration limit.
+         */
+        public void setLimit(int lim) {
+            if(0<=lim && lim<=s.length()) {
+                limit=lim;
+            } else {
+                limit=s.length();
+            }
+        }
+
+        /**
+         * Iterate forward through the string to fetch the next code point
+         * to be case-mapped, and set the context indexes for it.
+         * Performance optimization, to save on function calls and redundant
+         * tests. Combines UTF16.charAt(), UTF16.getCharCount(), and setIndex().
+         *
+         * @return The next code point to be case-mapped, or <0 when the iteration is done.
+         */
+        public int nextCaseMapCP() {
+            int c;
+            if(cpLimit<limit) {
+                cpStart=cpLimit;
+                c=s.charAt(cpLimit++);
+                if(UTF16.LEAD_SURROGATE_MIN_VALUE<=c || c<=UTF16.TRAIL_SURROGATE_MAX_VALUE) {
+                    char c2;
+                    if( c<=UTF16.LEAD_SURROGATE_MAX_VALUE && cpLimit<limit &&
+                        UTF16.TRAIL_SURROGATE_MIN_VALUE<=(c2=s.charAt(cpLimit)) && c2<=UTF16.TRAIL_SURROGATE_MAX_VALUE
+                    ) {
+                        // supplementary code point
+                        ++cpLimit;
+                        c=UCharacterProperty.getRawSupplementary((char)c, c2);
+                    // else unpaired surrogate code point
+                    }
+                // else BMP code point
+                }
+                return c;
+            } else {
+                return -1;
+            }
+        }
+
+        // implement UCaseProps.ContextIterator
+        public void reset(int dir) {
+            if(dir>0) {
+                /* reset for forward iteration */
+                this.dir=1;
+                index=cpLimit;
+            } else if(dir<0) {
+                /* reset for backward iteration */
+                this.dir=-1;
+                index=cpStart;
+            } else {
+                // not a valid direction
+                this.dir=0;
+                index=0;
+            }
+        }
+
+        public int next() {
+            int c;
+
+            if(dir>0 && index<limit) {
+                c=UTF16.charAt(s, index);
+                index+=UTF16.getCharCount(c);
+                return c;
+            } else if(dir<0 && index>0) {
+                c=UTF16.charAt(s, index-1);
+                index-=UTF16.getCharCount(c);
+                return c;
+            }
+            return -1;
+        }
+
+        // variables
+        protected String s;
+        protected int index, limit, cpStart, cpLimit;
+        protected int dir; // 0=initial state  >0=forward  <0=backward
+    }
+
+    /**
+     * Gets uppercase version of the argument string. 
+     * Casing is dependent on the default locale and context-sensitive.
+     * @param str source string to be performed on
+     * @return uppercase version of the argument string
+     * @stable ICU 2.1
+     */
+    public static String toUpperCase(String str)
+    {
+        return toUpperCase(ULocale.getDefault(), str);
+    }
+      
+    /**
+     * Gets lowercase version of the argument string. 
+     * Casing is dependent on the default locale and context-sensitive
+     * @param str source string to be performed on
+     * @return lowercase version of the argument string
+     * @stable ICU 2.1
+     */
+    public static String toLowerCase(String str)
+    {
+        return toLowerCase(ULocale.getDefault(), str);
+    }
+    
+    /**
+     * <p>Gets the titlecase version of the argument string.</p>
+     * <p>Position for titlecasing is determined by the argument break 
+     * iterator, hence the user can customized his break iterator for 
+     * a specialized titlecasing. In this case only the forward iteration 
+     * needs to be implemented.
+     * If the break iterator passed in is null, the default Unicode algorithm
+     * will be used to determine the titlecase positions.
+     * </p>
+     * <p>Only positions returned by the break iterator will be title cased,
+     * character in between the positions will all be in lower case.</p>
+     * <p>Casing is dependent on the default locale and context-sensitive</p>
+     * @param str source string to be performed on
+     * @param breakiter break iterator to determine the positions in which
+     *        the character should be title cased.
+     * @return lowercase version of the argument string
+     * @stable ICU 2.6
+     */
+    public static String toTitleCase(String str, BreakIterator breakiter)
+    {
+        return toTitleCase(ULocale.getDefault(), str, breakiter);
+    }
+      
+    /**
+     * Gets uppercase version of the argument string. 
+     * Casing is dependent on the argument locale and context-sensitive.
+     * @param locale which string is to be converted in
+     * @param str source string to be performed on
+     * @return uppercase version of the argument string
+     * @stable ICU 2.1
+     */
+    public static String toUpperCase(Locale locale, String str)
+    {
+        return toUpperCase(ULocale.forLocale(locale), str);
+    }
+
+    /**
+     * Gets uppercase version of the argument string. 
+     * Casing is dependent on the argument locale and context-sensitive.
+     * @param locale which string is to be converted in
+     * @param str source string to be performed on
+     * @return uppercase version of the argument string
+     * @draft ICU 3.2
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static String toUpperCase(ULocale locale, String str) {
+        StringContextIterator iter = new StringContextIterator(str);
+        StringBuffer result = new StringBuffer(str.length());
+        int[] locCache = new int[1];
+        int c;
+
+        if (locale == null) {
+            locale = ULocale.getDefault();
+        }
+        locCache[0]=0;
+
+        while((c=iter.nextCaseMapCP())>=0) {
+            c=gCsp.toFullUpper(c, iter, result, locale, locCache);
+
+            /* decode the result */
+            if(c<0) {
+                /* (not) original code point */
+                c=~c;
+            } else if(c<=UCaseProps.MAX_STRING_LENGTH) {
+                /* mapping already appended to result */
+                continue;
+            /* } else { append single-code point mapping */
+            }
+            if(c<=0xffff) {
+                result.append((char)c);
+            } else {
+                UTF16.append(result, c);
+            }
+        }
+        return result.toString();
+    }
+
+    /**
+     * Gets lowercase version of the argument string. 
+     * Casing is dependent on the argument locale and context-sensitive
+     * @param locale which string is to be converted in
+     * @param str source string to be performed on
+     * @return lowercase version of the argument string
+     * @stable ICU 2.1
+     */
+    public static String toLowerCase(Locale locale, String str)
+    {
+        return toLowerCase(ULocale.forLocale(locale), str);
+    }
+
+    /**
+     * Gets lowercase version of the argument string. 
+     * Casing is dependent on the argument locale and context-sensitive
+     * @param locale which string is to be converted in
+     * @param str source string to be performed on
+     * @return lowercase version of the argument string
+     * @draft ICU 3.2
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static String toLowerCase(ULocale locale, String str) {
+        StringContextIterator iter = new StringContextIterator(str);
+        StringBuffer result = new StringBuffer(str.length());
+        int[] locCache = new int[1];
+        int c;
+
+        if (locale == null) {
+            locale = ULocale.getDefault();
+        }
+        locCache[0]=0;
+
+        while((c=iter.nextCaseMapCP())>=0) {
+            c=gCsp.toFullLower(c, iter, result, locale, locCache);
+
+            /* decode the result */
+            if(c<0) {
+                /* (not) original code point */
+                c=~c;
+            } else if(c<=UCaseProps.MAX_STRING_LENGTH) {
+                /* mapping already appended to result */
+                continue;
+            /* } else { append single-code point mapping */
+            }
+            if(c<=0xffff) {
+                result.append((char)c);
+            } else {
+                UTF16.append(result, c);
+            }
+        }
+        return result.toString();
+    }
+
+    /**
+     * <p>Gets the titlecase version of the argument string.</p>
+     * <p>Position for titlecasing is determined by the argument break 
+     * iterator, hence the user can customized his break iterator for 
+     * a specialized titlecasing. In this case only the forward iteration 
+     * needs to be implemented.
+     * If the break iterator passed in is null, the default Unicode algorithm
+     * will be used to determine the titlecase positions.
+     * </p>
+     * <p>Only positions returned by the break iterator will be title cased,
+     * character in between the positions will all be in lower case.</p>
+     * <p>Casing is dependent on the argument locale and context-sensitive</p>
+     * @param locale which string is to be converted in
+     * @param str source string to be performed on
+     * @param breakiter break iterator to determine the positions in which
+     *        the character should be title cased.
+     * @return lowercase version of the argument string
+     * @stable ICU 2.6
+     */
+    public static String toTitleCase(Locale locale, String str, 
+                                     BreakIterator breakiter)
+    {
+        return toTitleCase(ULocale.forLocale(locale), str, breakiter);
+    }
+
+    /**
+     * <p>Gets the titlecase version of the argument string.</p>
+     * <p>Position for titlecasing is determined by the argument break 
+     * iterator, hence the user can customized his break iterator for 
+     * a specialized titlecasing. In this case only the forward iteration 
+     * needs to be implemented.
+     * If the break iterator passed in is null, the default Unicode algorithm
+     * will be used to determine the titlecase positions.
+     * </p>
+     * <p>Only positions returned by the break iterator will be title cased,
+     * character in between the positions will all be in lower case.</p>
+     * <p>Casing is dependent on the argument locale and context-sensitive</p>
+     * @param locale which string is to be converted in
+     * @param str source string to be performed on
+     * @param titleIter break iterator to determine the positions in which
+     *        the character should be title cased.
+     * @return lowercase version of the argument string
+     * @draft ICU 3.2
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static String toTitleCase(ULocale locale, String str, 
+                                     BreakIterator titleIter) {
+        StringContextIterator iter = new StringContextIterator(str);
+        StringBuffer result = new StringBuffer(str.length());
+        int[] locCache = new int[1];
+        int c, srcLength = str.length();
+
+        if (locale == null) {
+            locale = ULocale.getDefault();
+        }
+        locCache[0]=0;
+
+        if(titleIter == null) {
+            titleIter = BreakIterator.getWordInstance(locale);
+        }
+        titleIter.setText(str);
+
+        int index;
+        boolean isFirstIndex;
+
+        /* set up local variables */
+        isFirstIndex=true;
+
+        /* titlecasing loop */
+        for(;;) {
+            /* find next index where to titlecase */
+            if(isFirstIndex) {
+                isFirstIndex=false;
+                index=titleIter.first();
+            } else {
+                index=titleIter.next();
+            }
+            if(index==BreakIterator.DONE || index>srcLength) {
+                index=srcLength;
+            }
+
+            /* lowercase up to index */
+            iter.setLimit(index);
+            while((c=iter.nextCaseMapCP())>=0) {
+                c=gCsp.toFullLower(c, iter, result, locale, locCache);
+
+                /* decode the result */
+                if(c<0) {
+                    /* (not) original code point */
+                    c=~c;
+                } else if(c<=UCaseProps.MAX_STRING_LENGTH) {
+                    /* mapping already appended to result */
+                    continue;
+                /* } else { append single-code point mapping */
+                }
+                if(c<=0xffff) {
+                    result.append((char)c);
+                } else {
+                    UTF16.append(result, c);
+                }
+            }
+
+            if(index>=srcLength) {
+                break;
+            }
+
+            /* titlecase the character at the found index */
+            iter.setLimit(srcLength);
+            c=iter.nextCaseMapCP();
+            if(c<0) {
+                break; // reached end of str
+            }
+            c=gCsp.toFullTitle(c, iter, result, locale, locCache);
+
+            /* decode the result */
+            if(c<0) {
+                /* (not) original code point */
+                c=~c;
+            } else if(c<=UCaseProps.MAX_STRING_LENGTH) {
+                /* mapping already appended to result */
+                continue;
+            /* } else { append single-code point mapping */
+            }
+            if(c<=0xffff) {
+                result.append((char)c);
+            } else {
+                UTF16.append(result, c);
+            }
+        }
+        return result.toString();
+    }
+
+    /**
+     * The given character is mapped to its case folding equivalent according 
+     * to UnicodeData.txt and CaseFolding.txt; if the character has no case 
+     * folding equivalent, the character itself is returned.
+     *
+     * <p>This function only returns the simple, single-code point case mapping.
+     * Full case mappings should be used whenever possible because they produce
+     * better results by working on whole strings.
+     * They can map to a result string with a different length as appropriate.
+     * Full case mappings are applied by the case mapping functions
+     * that take String parameters rather than code points (int).
+     * See also the User Guide chapter on C/POSIX migration:
+     * http://icu.sourceforge.net/userguide/posix.html#case_mappings
+     *
+     * @param ch             the character to be converted
+     * @param defaultmapping Indicates if all mappings defined in 
+     *                       CaseFolding.txt is to be used, otherwise the 
+     *                       mappings for dotted I  and dotless i marked with 
+     *                       'I' in CaseFolding.txt will be skipped.
+     * @return               the case folding equivalent of the character, if 
+     *                       any; otherwise the character itself.
+     * @see                  #foldCase(String, boolean)
+     * @stable ICU 2.1
+     */
+    public static int foldCase(int ch, boolean defaultmapping) {
+        return foldCase(ch, defaultmapping ? FOLD_CASE_DEFAULT : FOLD_CASE_EXCLUDE_SPECIAL_I);
+    }
+
+    /**
+     * The given string is mapped to its case folding equivalent according to
+     * UnicodeData.txt and CaseFolding.txt; if any character has no case 
+     * folding equivalent, the character itself is returned.
+     * "Full", multiple-code point case folding mappings are returned here.
+     * For "simple" single-code point mappings use the API 
+     * foldCase(int ch, boolean defaultmapping).
+     * @param str            the String to be converted
+     * @param defaultmapping Indicates if all mappings defined in 
+     *                       CaseFolding.txt is to be used, otherwise the 
+     *                       mappings for dotted I and dotless i marked with 
+     *                       'I' in CaseFolding.txt will be skipped.
+     * @return               the case folding equivalent of the character, if 
+     *                       any; otherwise the character itself.
+     * @see                  #foldCase(int, boolean)
+     * @stable ICU 2.1
+     */
+    public static String foldCase(String str, boolean defaultmapping) {
+        return foldCase(str, defaultmapping ? FOLD_CASE_DEFAULT : FOLD_CASE_EXCLUDE_SPECIAL_I);
+    }
+    
+    /**
+     * Option value for case folding: use default mappings defined in CaseFolding.txt.
+     * @stable ICU 2.6
+     */
+    public static final int FOLD_CASE_DEFAULT    =      0x0000;
+    /** 
+     * Option value for case folding: exclude the mappings for dotted I 
+     * and dotless i marked with 'I' in CaseFolding.txt. 
+     * @stable ICU 2.6
+     */
+    public static final int FOLD_CASE_EXCLUDE_SPECIAL_I = 0x0001;
+    
+    /**
+     * The given character is mapped to its case folding equivalent according 
+     * to UnicodeData.txt and CaseFolding.txt; if the character has no case 
+     * folding equivalent, the character itself is returned.
+     *
+     * <p>This function only returns the simple, single-code point case mapping.
+     * Full case mappings should be used whenever possible because they produce
+     * better results by working on whole strings.
+     * They can map to a result string with a different length as appropriate.
+     * Full case mappings are applied by the case mapping functions
+     * that take String parameters rather than code points (int).
+     * See also the User Guide chapter on C/POSIX migration:
+     * http://icu.sourceforge.net/userguide/posix.html#case_mappings
+     *
+     * @param ch             the character to be converted
+     * @param options        A bit set for special processing. Currently the recognised options are
+     *                        FOLD_CASE_EXCLUDE_SPECIAL_I and FOLD_CASE_DEFAULT 
+     * @return               the case folding equivalent of the character, if 
+     *                       any; otherwise the character itself.
+     * @see #foldCase(String, boolean)
+     * @stable ICU 2.6
+     */
+    public static int foldCase(int ch, int options) {
+        return gCsp.fold(ch, options);
+    }
+    
+    /**
+     * The given string is mapped to its case folding equivalent according to
+     * UnicodeData.txt and CaseFolding.txt; if any character has no case 
+     * folding equivalent, the character itself is returned.
+     * "Full", multiple-code point case folding mappings are returned here.
+     * For "simple" single-code point mappings use the API 
+     * foldCase(int ch, boolean defaultmapping).
+     * @param str            the String to be converted
+     * @param options        A bit set for special processing. Currently the recognised options are
+     *                        FOLD_CASE_EXCLUDE_SPECIAL_I and FOLD_CASE_DEFAULT 
+     * @return               the case folding equivalent of the character, if 
+     *                       any; otherwise the character itself.
+     * @see #foldCase(int, boolean)
+     * @stable ICU 2.6
+     */
+    public static final String foldCase(String str, int options) {
+        StringBuffer result = new StringBuffer(str.length());
+        int c, i, length;
+
+        length = str.length();
+        for(i=0; i<length;) {
+            c=UTF16.charAt(str, i);
+            i+=UTF16.getCharCount(c);
+            c=gCsp.toFullFolding(c, result, options);
+
+            /* decode the result */
+            if(c<0) {
+                /* (not) original code point */
+                c=~c;
+            } else if(c<=UCaseProps.MAX_STRING_LENGTH) {
+                /* mapping already appended to result */
+                continue;
+            /* } else { append single-code point mapping */
+            }
+            if(c<=0xffff) {
+                result.append((char)c);
+            } else {
+                UTF16.append(result, c);
+            }
+        }
+        return result.toString();
+    }
+
+    /**
+     * Return numeric value of Han code points.
+     * <br> This returns the value of Han 'numeric' code points,
+     * including those for zero, ten, hundred, thousand, ten thousand,
+     * and hundred million.
+     * This includes both the standard and 'checkwriting'
+     * characters, the 'big circle' zero character, and the standard
+     * zero character.
+     * @param ch code point to query
+     * @return value if it is a Han 'numeric character,' otherwise return -1.  
+     * @stable ICU 2.4
+     */
+    public static int getHanNumericValue(int ch)
+    {
+        // TODO: Are these all covered by Unicode numeric value data?
+        switch(ch)
+        {
+        case IDEOGRAPHIC_NUMBER_ZERO_ :
+        case CJK_IDEOGRAPH_COMPLEX_ZERO_ :
+        return 0; // Han Zero
+        case CJK_IDEOGRAPH_FIRST_ :
+        case CJK_IDEOGRAPH_COMPLEX_ONE_ :
+        return 1; // Han One
+        case CJK_IDEOGRAPH_SECOND_ :
+        case CJK_IDEOGRAPH_COMPLEX_TWO_ :
+        return 2; // Han Two
+        case CJK_IDEOGRAPH_THIRD_ :
+        case CJK_IDEOGRAPH_COMPLEX_THREE_ :
+        return 3; // Han Three
+        case CJK_IDEOGRAPH_FOURTH_ :
+        case CJK_IDEOGRAPH_COMPLEX_FOUR_ :
+        return 4; // Han Four
+        case CJK_IDEOGRAPH_FIFTH_ :
+        case CJK_IDEOGRAPH_COMPLEX_FIVE_ :
+        return 5; // Han Five
+        case CJK_IDEOGRAPH_SIXTH_ :
+        case CJK_IDEOGRAPH_COMPLEX_SIX_ :
+        return 6; // Han Six
+        case CJK_IDEOGRAPH_SEVENTH_ :
+        case CJK_IDEOGRAPH_COMPLEX_SEVEN_ :
+        return 7; // Han Seven
+        case CJK_IDEOGRAPH_EIGHTH_ : 
+        case CJK_IDEOGRAPH_COMPLEX_EIGHT_ :
+        return 8; // Han Eight
+        case CJK_IDEOGRAPH_NINETH_ :
+        case CJK_IDEOGRAPH_COMPLEX_NINE_ :
+        return 9; // Han Nine
+        case CJK_IDEOGRAPH_TEN_ :
+        case CJK_IDEOGRAPH_COMPLEX_TEN_ :
+        return 10;
+        case CJK_IDEOGRAPH_HUNDRED_ :
+        case CJK_IDEOGRAPH_COMPLEX_HUNDRED_ :
+        return 100;
+        case CJK_IDEOGRAPH_THOUSAND_ :
+        case CJK_IDEOGRAPH_COMPLEX_THOUSAND_ :
+        return 1000;
+        case CJK_IDEOGRAPH_TEN_THOUSAND_ :
+        return 10000;
+        case CJK_IDEOGRAPH_HUNDRED_MILLION_ :
+        return 100000000;
+        }
+        return -1; // no value
+    }
+    
+    /**
+     * <p>Gets an iterator for character types, iterating over codepoints.</p>
+     * Example of use:<br>
+     * <pre>
+     * RangeValueIterator iterator = UCharacter.getTypeIterator();
+     * RangeValueIterator.Element element = new RangeValueIterator.Element();
+     * while (iterator.next(element)) {
+     *     System.out.println("Codepoint \\u" + 
+     *                        Integer.toHexString(element.start) + 
+     *                        " to codepoint \\u" +
+     *                        Integer.toHexString(element.limit - 1) + 
+     *                        " has the character type " + 
+     *                        element.value);
+     * }
+     * </pre>
+     * @return an iterator 
+     * @stable ICU 2.6
+     */
+    public static RangeValueIterator getTypeIterator()
+    {
+        return new UCharacterTypeIterator(PROPERTY_);
+    }
+
+    /**
+     * <p>Gets an iterator for character names, iterating over codepoints.</p>
+     * <p>This API only gets the iterator for the modern, most up-to-date 
+     * Unicode names. For older 1.0 Unicode names use get1_0NameIterator() or
+     * for extended names use getExtendedNameIterator().</p>
+     * Example of use:<br>
+     * <pre>
+     * ValueIterator iterator = UCharacter.getNameIterator();
+     * ValueIterator.Element element = new ValueIterator.Element();
+     * while (iterator.next(element)) {
+     *     System.out.println("Codepoint \\u" + 
+     *                        Integer.toHexString(element.codepoint) +
+     *                        " has the name " + (String)element.value);
+     * }
+     * </pre>
+     * <p>The maximal range which the name iterator iterates is from 
+     * UCharacter.MIN_VALUE to UCharacter.MAX_VALUE.</p>
+     * @return an iterator 
+     * @stable ICU 2.6
+     */
+    public static ValueIterator getNameIterator()
+    {
+        if(NAME_==null){
+            throw new RuntimeException("Could not load unames.icu");
+        }
+        return new UCharacterNameIterator(NAME_,
+                      UCharacterNameChoice.UNICODE_CHAR_NAME);
+    }
+    
+    /**
+     * <p>Gets an iterator for character names, iterating over codepoints.</p>
+     * <p>This API only gets the iterator for the older 1.0 Unicode names. 
+     * For modern, most up-to-date Unicode names use getNameIterator() or
+     * for extended names use getExtendedNameIterator().</p>
+     * Example of use:<br>
+     * <pre>
+     * ValueIterator iterator = UCharacter.get1_0NameIterator();
+     * ValueIterator.Element element = new ValueIterator.Element();
+     * while (iterator.next(element)) {
+     *     System.out.println("Codepoint \\u" + 
+     *                        Integer.toHexString(element.codepoint) +
+     *                        " has the name " + (String)element.value);
+     * }
+     * </pre>
+     * <p>The maximal range which the name iterator iterates is from 
+     * @return an iterator 
+     * @stable ICU 2.6
+     */
+    public static ValueIterator getName1_0Iterator()
+    {
+        if(NAME_==null){
+            throw new RuntimeException("Could not load unames.icu");
+        }
+        return new UCharacterNameIterator(NAME_,
+                      UCharacterNameChoice.UNICODE_10_CHAR_NAME);
+    }
+    
+    /**
+     * <p>Gets an iterator for character names, iterating over codepoints.</p>
+     * <p>This API only gets the iterator for the extended names. 
+     * For modern, most up-to-date Unicode names use getNameIterator() or
+     * for older 1.0 Unicode names use get1_0NameIterator().</p>
+     * Example of use:<br>
+     * <pre>
+     * ValueIterator iterator = UCharacter.getExtendedNameIterator();
+     * ValueIterator.Element element = new ValueIterator.Element();
+     * while (iterator.next(element)) {
+     *     System.out.println("Codepoint \\u" + 
+     *                        Integer.toHexString(element.codepoint) +
+     *                        " has the name " + (String)element.value);
+     * }
+     * </pre>
+     * <p>The maximal range which the name iterator iterates is from 
+     * @return an iterator 
+     * @stable ICU 2.6
+     */
+    public static ValueIterator getExtendedNameIterator()
+    {
+        if(NAME_==null){
+            throw new MissingResourceException("Could not load unames.icu","","");
+        }
+        return new UCharacterNameIterator(NAME_,
+                      UCharacterNameChoice.EXTENDED_CHAR_NAME);
+    }
+    
+    /**
+     * <p>Get the "age" of the code point.</p>
+     * <p>The "age" is the Unicode version when the code point was first
+     * designated (as a non-character or for Private Use) or assigned a 
+     * character.
+     * <p>This can be useful to avoid emitting code points to receiving 
+     * processes that do not accept newer characters.</p>
+     * <p>The data is from the UCD file DerivedAge.txt.</p>
+     * @param ch The code point.
+     * @return the Unicode version number
+     * @stable ICU 2.6
+     */
+    public static VersionInfo getAge(int ch) 
+    {
+        if (ch < MIN_VALUE || ch > MAX_VALUE) {
+        throw new IllegalArgumentException("Codepoint out of bounds");
+        }
+        return PROPERTY_.getAge(ch);
+    }
+    
+    /**
+     * <p>Check a binary Unicode property for a code point.</p> 
+     * <p>Unicode, especially in version 3.2, defines many more properties 
+     * than the original set in UnicodeData.txt.</p>
+     * <p>This API is intended to reflect Unicode properties as defined in 
+     * the Unicode Character Database (UCD) and Unicode Technical Reports 
+     * (UTR).</p>
+     * <p>For details about the properties see 
+     * <a href=http://www.unicode.org/>http://www.unicode.org/</a>.</p>
+     * <p>For names of Unicode properties see the UCD file 
+     * PropertyAliases.txt.</p>
+     * <p>This API does not check the validity of the codepoint.</p>
+     * <p>Important: If ICU is built with UCD files from Unicode versions 
+     * below 3.2, then properties marked with "new" are not or 
+     * not fully available.</p>
+     * @param ch code point to test.
+     * @param property selector constant from com.ibm.icu.lang.UProperty, 
+     *        identifies which binary property to check.
+     * @return true or false according to the binary Unicode property value 
+     *         for ch. Also false if property is out of bounds or if the 
+     *         Unicode version does not have data for the property at all, or 
+     *         not for this code point.
+     * @see com.ibm.icu.lang.UProperty
+     * @stable ICU 2.6
+     */
+    public static boolean hasBinaryProperty(int ch, int property) 
+    {
+    if (ch < MIN_VALUE || ch > MAX_VALUE) {
+        throw new IllegalArgumentException("Codepoint out of bounds");
+        }
+        return PROPERTY_.hasBinaryProperty(ch, property);
+    }
+        
+    /**
+     * <p>Check if a code point has the Alphabetic Unicode property.</p> 
+     * <p>Same as UCharacter.hasBinaryProperty(ch, UProperty.ALPHABETIC).</p>
+     * <p>Different from UCharacter.isLetter(ch)!</p> 
+     * @stable ICU 2.6
+     * @param ch codepoint to be tested
+     */
+    public static boolean isUAlphabetic(int ch)
+    {
+    return hasBinaryProperty(ch, UProperty.ALPHABETIC);
+    }
+
+    /**
+     * <p>Check if a code point has the Lowercase Unicode property.</p>
+     * <p>Same as UCharacter.hasBinaryProperty(ch, UProperty.LOWERCASE).</p>
+     * <p>This is different from UCharacter.isLowerCase(ch)!</p>
+     * @param ch codepoint to be tested
+     * @stable ICU 2.6
+     */
+    public static boolean isULowercase(int ch) 
+    {
+    return hasBinaryProperty(ch, UProperty.LOWERCASE);
+    }
+
+    /**
+     * <p>Check if a code point has the Uppercase Unicode property.</p>
+     * <p>Same as UCharacter.hasBinaryProperty(ch, UProperty.UPPERCASE).</p>
+     * <p>This is different from UCharacter.isUpperCase(ch)!</p>
+     * @param ch codepoint to be tested
+     * @stable ICU 2.6
+     */
+    public static boolean isUUppercase(int ch) 
+    {
+    return hasBinaryProperty(ch, UProperty.UPPERCASE);
+    }
+
+    /**
+     * <p>Check if a code point has the White_Space Unicode property.</p>
+     * <p>Same as UCharacter.hasBinaryProperty(ch, UProperty.WHITE_SPACE).</p>
+     * <p>This is different from both UCharacter.isSpace(ch) and 
+     * UCharacter.isWhitespace(ch)!</p>
+     * @param ch codepoint to be tested
+     * @stable ICU 2.6
+     */
+    public static boolean isUWhiteSpace(int ch) 
+    {
+    return hasBinaryProperty(ch, UProperty.WHITE_SPACE);
+    }
+
+
+    /**
+     * <p>Gets the property value for an Unicode property type of a code point. 
+     * Also returns binary and mask property values.</p>
+     * <p>Unicode, especially in version 3.2, defines many more properties than 
+     * the original set in UnicodeData.txt.</p>
+     * <p>The properties APIs are intended to reflect Unicode properties as 
+     * defined in the Unicode Character Database (UCD) and Unicode Technical 
+     * Reports (UTR). For details about the properties see 
+     * http://www.unicode.org/.</p>
+     * <p>For names of Unicode properties see the UCD file PropertyAliases.txt.
+     * </p>
+     * <pre>
+     * Sample usage:
+     * int ea = UCharacter.getIntPropertyValue(c, UProperty.EAST_ASIAN_WIDTH);
+     * int ideo = UCharacter.getIntPropertyValue(c, UProperty.IDEOGRAPHIC);
+     * boolean b = (ideo == 1) ? true : false; 
+     * </pre>
+     * @param ch code point to test.
+     * @param type UProperty selector constant, identifies which binary 
+     *        property to check. Must be 
+     *        UProperty.BINARY_START &lt;= type &lt; UProperty.BINARY_LIMIT or 
+     *        UProperty.INT_START &lt;= type &lt; UProperty.INT_LIMIT or 
+     *        UProperty.MASK_START &lt;= type &lt; UProperty.MASK_LIMIT.
+     * @return numeric value that is directly the property value or,
+     *         for enumerated properties, corresponds to the numeric value of 
+     *         the enumerated constant of the respective property value 
+     *         enumeration type (cast to enum type if necessary).
+     *         Returns 0 or 1 (for false / true) for binary Unicode properties.
+     *         Returns a bit-mask for mask properties.
+     *         Returns 0 if 'type' is out of bounds or if the Unicode version
+     *         does not have data for the property at all, or not for this code 
+     *         point.
+     * @see UProperty
+     * @see #hasBinaryProperty
+     * @see #getIntPropertyMinValue
+     * @see #getIntPropertyMaxValue
+     * @see #getUnicodeVersion
+     * @stable ICU 2.4
+     */
+    public static int getIntPropertyValue(int ch, int type)
+    {
+        if (type < UProperty.BINARY_START) {
+            return 0; // undefined
+        } 
+        else if (type < UProperty.BINARY_LIMIT) {
+            return hasBinaryProperty(ch, type) ? 1 : 0;
+        } 
+        else if (type < UProperty.INT_START) {
+            return 0; // undefined
+        } 
+        else if (type < UProperty.INT_LIMIT) {
+            //int result = 0;
+            switch (type) {
+            case UProperty.BIDI_CLASS:
+                return getDirection(ch);
+            case UProperty.BLOCK:
+                return UnicodeBlock.idOf(ch);
+            case UProperty.CANONICAL_COMBINING_CLASS:
+                return getCombiningClass(ch);
+            case UProperty.DECOMPOSITION_TYPE:
+                return PROPERTY_.getAdditional(ch, 2) 
+            & DECOMPOSITION_TYPE_MASK_;
+            case UProperty.EAST_ASIAN_WIDTH:
+                return (PROPERTY_.getAdditional(ch, 0)
+            & EAST_ASIAN_MASK_) >> EAST_ASIAN_SHIFT_;
+            case UProperty.GENERAL_CATEGORY:
+                return getType(ch);
+            case UProperty.JOINING_GROUP:
+                return gBdp.getJoiningGroup(ch);
+            case UProperty.JOINING_TYPE:
+                return gBdp.getJoiningType(ch);
+            case UProperty.LINE_BREAK:
+                return (int)(PROPERTY_.getAdditional(ch, 0)& LINE_BREAK_MASK_)>>LINE_BREAK_SHIFT_;
+            case UProperty.NUMERIC_TYPE:
+                type=getNumericType(PROPERTY_.getProperty(ch));
+                if(type>NumericType.NUMERIC) {
+                    /* keep internal variants of NumericType.NUMERIC from becoming visible */
+                    type=NumericType.NUMERIC;
+                }
+                return type;
+            case UProperty.SCRIPT:
+                return UScript.getScript(ch);
+            case UProperty.HANGUL_SYLLABLE_TYPE:
+        /* purely algorithmic; hardcode known characters, check for assigned new ones */ 
+        if(ch<NormalizerImpl.JAMO_L_BASE) { 
+            /* NA */ 
+        } else if(ch<=0x11ff) { 
+            /* Jamo range */ 
+            if(ch<=0x115f) { 
+            /* Jamo L range, HANGUL CHOSEONG ... */ 
+            if(ch==0x115f || ch<=0x1159 || getType(ch)==UCharacterCategory.OTHER_LETTER) { 
+                return HangulSyllableType.LEADING_JAMO; 
+            } 
+            } else if(ch<=0x11a7) { 
+            /* Jamo V range, HANGUL JUNGSEONG ... */ 
+            if(ch<=0x11a2 || getType(ch)==UCharacterCategory.OTHER_LETTER) { 
+                return HangulSyllableType.VOWEL_JAMO; 
+            } 
+            } else { 
+            /* Jamo T range */ 
+            if(ch<=0x11f9 || getType(ch)==UCharacterCategory.OTHER_LETTER) { 
+                return HangulSyllableType.TRAILING_JAMO; 
+            } 
+            } 
+        } else if((ch-=NormalizerImpl.HANGUL_BASE)<0) { 
+            /* NA */ 
+        } else if(ch<NormalizerImpl.HANGUL_COUNT) { 
+            /* Hangul syllable */ 
+            return ch%NormalizerImpl.JAMO_T_COUNT==0 ? HangulSyllableType.LV_SYLLABLE : HangulSyllableType.LVT_SYLLABLE; 
+        } 
+        return 0; /* NA */ 
+
+            case UProperty.NFD_QUICK_CHECK:
+            case UProperty.NFKD_QUICK_CHECK:
+            case UProperty.NFC_QUICK_CHECK:
+            case UProperty.NFKC_QUICK_CHECK:
+                return NormalizerImpl.quickCheck(ch, (type-UProperty.NFD_QUICK_CHECK)+2); // 2=UNORM_NFD
+            case UProperty.LEAD_CANONICAL_COMBINING_CLASS:
+                return NormalizerImpl.getFCD16(ch)>>8;
+            case UProperty.TRAIL_CANONICAL_COMBINING_CLASS:
+                return NormalizerImpl.getFCD16(ch)&0xff;
+            case UProperty.GRAPHEME_CLUSTER_BREAK:
+                return (int)(PROPERTY_.getAdditional(ch, 2)& GCB_MASK)>>GCB_SHIFT;
+            case UProperty.SENTENCE_BREAK:
+                return (int)(PROPERTY_.getAdditional(ch, 2)& SB_MASK)>>SB_SHIFT;
+            case UProperty.WORD_BREAK:
+                return (int)(PROPERTY_.getAdditional(ch, 2)& WB_MASK)>>WB_SHIFT;
+            default:
+               
+        return 0; /* undefined */
+            }
+        } else if (type == UProperty.GENERAL_CATEGORY_MASK) {
+            return UCharacterProperty.getMask(getType(ch));
+        }
+        return 0; // undefined
+    }
+    /**
+     * Returns a string version of the property value.
+     * @param propertyEnum
+     * @param codepoint
+     * @param nameChoice
+     * @return value as string
+     * @internal
+     * @deprecated This API is ICU internal only.
+     */
+    public static String getStringPropertyValue(int propertyEnum, int codepoint, int nameChoice) {
+        // TODO some of these are less efficient, since a string is forced!
+        if ((propertyEnum >= UProperty.BINARY_START && propertyEnum < UProperty.BINARY_LIMIT) ||
+                (propertyEnum >= UProperty.INT_START && propertyEnum < UProperty.INT_LIMIT)) {
+            return getPropertyValueName(propertyEnum, getIntPropertyValue(codepoint, propertyEnum), nameChoice);
+        }
+        if (propertyEnum == UProperty.NUMERIC_VALUE) {
+                return String.valueOf(getUnicodeNumericValue(codepoint));
+        }
+        // otherwise must be string property
+        switch (propertyEnum) {
+        case UProperty.AGE: return getAge(codepoint).toString();
+        case UProperty.ISO_COMMENT: return getISOComment(codepoint);
+        case UProperty.BIDI_MIRRORING_GLYPH: return UTF16.valueOf(getMirror(codepoint));
+        case UProperty.CASE_FOLDING: return foldCase(UTF16.valueOf(codepoint), true);
+        case UProperty.LOWERCASE_MAPPING: return toLowerCase(UTF16.valueOf(codepoint));
+        case UProperty.NAME: return getName(codepoint);
+        case UProperty.SIMPLE_CASE_FOLDING: return UTF16.valueOf(foldCase(codepoint,true));
+        case UProperty.SIMPLE_LOWERCASE_MAPPING: return UTF16.valueOf(toLowerCase(codepoint));
+        case UProperty.SIMPLE_TITLECASE_MAPPING: return UTF16.valueOf(toTitleCase(codepoint));
+        case UProperty.SIMPLE_UPPERCASE_MAPPING: return UTF16.valueOf(toUpperCase(codepoint));
+        case UProperty.TITLECASE_MAPPING: return toTitleCase(UTF16.valueOf(codepoint),null);
+        case UProperty.UNICODE_1_NAME: return getName1_0(codepoint);
+        case UProperty.UPPERCASE_MAPPING: return toUpperCase(UTF16.valueOf(codepoint));        
+        }
+        throw new IllegalArgumentException("Illegal Property Enum");
+    }
+    
+    /**
+     * Get the minimum value for an integer/binary Unicode property type.
+     * Can be used together with UCharacter.getIntPropertyMaxValue(int)
+     * to allocate arrays of com.ibm.icu.text.UnicodeSet or similar.
+     * @param type UProperty selector constant, identifies which binary 
+     *        property to check. Must be 
+     *        UProperty.BINARY_START &lt;= type &lt; UProperty.BINARY_LIMIT or 
+     *        UProperty.INT_START &lt;= type &lt; UProperty.INT_LIMIT.
+     * @return Minimum value returned by UCharacter.getIntPropertyValue(int) 
+     *         for a Unicode property. 0 if the property 
+     *         selector 'type' is out of range.
+     * @see UProperty
+     * @see #hasBinaryProperty
+     * @see #getUnicodeVersion
+     * @see #getIntPropertyMaxValue
+     * @see #getIntPropertyValue
+     * @stable ICU 2.4
+     */
+    public static int getIntPropertyMinValue(int type)
+    {
+
+        return 0; // undefined; and: all other properties have a minimum value 
+    // of 0
+    }
+
+    
+    /**
+     * Get the maximum value for an integer/binary Unicode property.
+     * Can be used together with UCharacter.getIntPropertyMinValue(int)
+     * to allocate arrays of com.ibm.icu.text.UnicodeSet or similar.
+     * Examples for min/max values (for Unicode 3.2):
+     * <ul>
+     * <li> UProperty.BIDI_CLASS:    0/18 (UCharacterDirection.LEFT_TO_RIGHT/UCharacterDirection.BOUNDARY_NEUTRAL)
+     * <li> UProperty.SCRIPT:        0/45 (UScript.COMMON/UScript.TAGBANWA)
+     * <li> UProperty.IDEOGRAPHIC:   0/1  (false/true)
+     * </ul>
+     * For undefined UProperty constant values, min/max values will be 0/-1.
+     * @param type UProperty selector constant, identifies which binary 
+     *        property to check. Must be 
+     *        UProperty.BINARY_START &lt;= type &lt; UProperty.BINARY_LIMIT or 
+     *        UProperty.INT_START &lt;= type &lt; UProperty.INT_LIMIT.
+     * @return Maximum value returned by u_getIntPropertyValue for a Unicode 
+     *         property. &lt;= 0 if the property selector 'type' is out of range.
+     * @see UProperty
+     * @see #hasBinaryProperty
+     * @see #getUnicodeVersion
+     * @see #getIntPropertyMaxValue
+     * @see #getIntPropertyValue
+     * @stable ICU 2.4
+     */
+    public static int getIntPropertyMaxValue(int type)
+    { 
+        if (type < UProperty.BINARY_START) {
+            return -1; // undefined
+        } 
+        else if (type < UProperty.BINARY_LIMIT) {
+            return 1; // maximum TRUE for all binary properties
+        } 
+        else if (type < UProperty.INT_START) {
+            return -1; // undefined
+        } 
+        else if (type < UProperty.INT_LIMIT) {
+            switch (type) {
+            case UProperty.BIDI_CLASS:
+            case UProperty.JOINING_GROUP:
+            case UProperty.JOINING_TYPE:
+                return gBdp.getMaxValue(type);
+            case UProperty.BLOCK:
+                return (PROPERTY_.getMaxValues(0) & BLOCK_MASK_) >> BLOCK_SHIFT_;
+            case UProperty.CANONICAL_COMBINING_CLASS:
+            case UProperty.LEAD_CANONICAL_COMBINING_CLASS:
+            case UProperty.TRAIL_CANONICAL_COMBINING_CLASS:
+                return 0xff; // TODO do we need to be more precise, 
+                             // getting the actual maximum?
+            case UProperty.DECOMPOSITION_TYPE:
+                return PROPERTY_.getMaxValues(2) & DECOMPOSITION_TYPE_MASK_;
+            case UProperty.EAST_ASIAN_WIDTH:
+                return (PROPERTY_.getMaxValues(0) & EAST_ASIAN_MASK_) >> EAST_ASIAN_SHIFT_;
+            case UProperty.GENERAL_CATEGORY:
+                return UCharacterCategory.CHAR_CATEGORY_COUNT - 1;
+            case UProperty.LINE_BREAK:
+                return (PROPERTY_.getMaxValues(0) & LINE_BREAK_MASK_) >> LINE_BREAK_SHIFT_;
+            case UProperty.NUMERIC_TYPE:
+                return NumericType.COUNT - 1;
+            case UProperty.SCRIPT:
+                return PROPERTY_.getMaxValues(0) & SCRIPT_MASK_;   
+            case UProperty.HANGUL_SYLLABLE_TYPE:
+                return HangulSyllableType.COUNT-1;
+            case UProperty.NFD_QUICK_CHECK:
+            case UProperty.NFKD_QUICK_CHECK:
+                return 1; // YES -- these are never "maybe", only "no" or "yes"
+            case UProperty.NFC_QUICK_CHECK:
+            case UProperty.NFKC_QUICK_CHECK:
+                return 2; // MAYBE
+            case UProperty.GRAPHEME_CLUSTER_BREAK:
+                return (PROPERTY_.getMaxValues(2) & GCB_MASK) >> GCB_SHIFT;
+            case UProperty.SENTENCE_BREAK:
+                return (PROPERTY_.getMaxValues(2) & SB_MASK) >> SB_SHIFT;
+            case UProperty.WORD_BREAK:
+                return (PROPERTY_.getMaxValues(2) & WB_MASK) >> WB_SHIFT;
+            default:
+                return -1; // undefined
+            }
+
+        }
+        return -1; // undefined
+    }
+
+    /**
+     * Provide the java.lang.Character forDigit API, for convenience.
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static char forDigit(int digit, int radix) {
+        return java.lang.Character.forDigit(digit, radix);
+    }
+
+    // JDK 1.5 API coverage
+
+    /**
+     * Cover the JDK 1.5 API, for convenience.
+     * @see UTF16#LEAD_SURROGATE_MIN_VALUE
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final char MIN_HIGH_SURROGATE = UTF16.LEAD_SURROGATE_MIN_VALUE;
+
+    /**
+     * Cover the JDK 1.5 API, for convenience.
+     * @see UTF16#LEAD_SURROGATE_MAX_VALUE
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final char MAX_HIGH_SURROGATE = UTF16.LEAD_SURROGATE_MAX_VALUE;
+
+    /**
+     * Cover the JDK 1.5 API, for convenience.
+     * @see UTF16#TRAIL_SURROGATE_MIN_VALUE
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final char MIN_LOW_SURROGATE = UTF16.TRAIL_SURROGATE_MIN_VALUE;
+
+    /**
+     * Cover the JDK 1.5 API, for convenience.
+     * @see UTF16#TRAIL_SURROGATE_MAX_VALUE
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final char MAX_LOW_SURROGATE = UTF16.TRAIL_SURROGATE_MAX_VALUE;
+
+    /**
+     * Cover the JDK 1.5 API, for convenience.
+     * @see UTF16#SURROGATE_MIN_VALUE
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final char MIN_SURROGATE = UTF16.SURROGATE_MIN_VALUE;
+
+    /**
+     * Cover the JDK 1.5 API, for convenience.
+     * @see UTF16#SURROGATE_MAX_VALUE
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final char MAX_SURROGATE = UTF16.SURROGATE_MAX_VALUE;
+
+    /**
+     * Cover the JDK 1.5 API, for convenience.
+     * @see UTF16#SUPPLEMENTARY_MIN_VALUE
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final int  MIN_SUPPLEMENTARY_CODE_POINT = UTF16.SUPPLEMENTARY_MIN_VALUE;
+
+    /**
+     * Cover the JDK 1.5 API, for convenience.
+     * @see UTF16#CODEPOINT_MAX_VALUE
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final int  MAX_CODE_POINT = UTF16.CODEPOINT_MAX_VALUE;
+
+    /**
+     * Cover the JDK 1.5 API, for convenience.
+     * @see UTF16#CODEPOINT_MIN_VALUE
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final int  MIN_CODE_POINT = UTF16.CODEPOINT_MIN_VALUE;
+
+    /**
+     * Cover the JDK 1.5 API, for convenience.
+     * @param cp the code point to check
+     * @return true if cp is a valid code point
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final boolean isValidCodePoint(int cp) {
+        return cp >= 0 && cp <= MAX_CODE_POINT;
+    }
+
+    /**
+     * Cover the JDK 1.5 API, for convenience.
+     * @param cp the code point to check
+     * @return true if cp is a supplementary code point
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final boolean isSupplementaryCodePoint(int cp) {
+        return cp >= UTF16.SUPPLEMENTARY_MIN_VALUE
+            && cp <= UTF16.CODEPOINT_MAX_VALUE;
+    }
+
+    /**
+     * Cover the JDK 1.5 API, for convenience.
+     * @param ch the char to check
+     * @return true if ch is a high (lead) surrogate
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static boolean isHighSurrogate(char ch) {
+        return ch >= MIN_HIGH_SURROGATE && ch <= MAX_HIGH_SURROGATE;
+    }
+
+    /**
+     * Cover the JDK 1.5 API, for convenience.
+     * @param ch the char to check
+     * @return true if ch is a low (trail) surrogate
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static boolean isLowSurrogate(char ch) {
+        return ch >= MIN_LOW_SURROGATE && ch <= MAX_LOW_SURROGATE;
+    }
+
+    /**
+     * Cover the JDK 1.5 API, for convenience.  Return true if the chars
+     * form a valid surrogate pair.
+     * @param high the high (lead) char
+     * @param low the low (trail) char
+     * @return true if high, low form a surrogate pair
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final boolean isSurrogatePair(char high, char low) {
+        return isHighSurrogate(high) && isLowSurrogate(low);
+    }
+
+    /**
+     * Cover the JDK 1.5 API, for convenience.  Return the number of chars needed
+     * to represent the code point.  This does not check the
+     * code point for validity.
+     * @param cp the code point to check
+     * @return the number of chars needed to represent the code point
+     * @see UTF16#getCharCount
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static int charCount(int cp) {
+        return UTF16.getCharCount(cp);
+    }
+
+    /**
+     * Cover the JDK 1.5 API, for convenience.  Return the code point represented by
+     * the characters.  This does not check the surrogate pair for validity.
+     * @param high the high (lead) surrogate
+     * @param low the low (trail) surrogate
+     * @return the code point formed by the surrogate pair
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final int toCodePoint(char high, char low) {
+        return UCharacterProperty.getRawSupplementary(high, low);
+    }
+
+    /**
+     * Cover the JDK 1.5 API, for convenience.  Return the code point at index.
+     * <br/><b>Note</b>: the semantics of this API is different from the related UTF16
+     * API.  This examines only the characters at index and index+1.
+     * @param seq the characters to check
+     * @param index the index of the first or only char forming the code point
+     * @return the code point at the index
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final int codePointAt(CharSequence seq, int index) {
+        char c1 = seq.charAt(index++);
+        if (isHighSurrogate(c1)) {
+            if (index < seq.length()) {
+                char c2 = seq.charAt(index);
+                if (isLowSurrogate(c2)) {
+                    return toCodePoint(c1, c2);
+                }
+            }
+        }
+        return c1;
+    }
+
+    /**
+     * Cover the JDK 1.5 API, for convenience.  Return the code point at index.
+     * <br/><b>Note</b>: the semantics of this API is different from the related UTF16
+     * API.  This examines only the characters at index and index+1.
+     * @param text the characters to check
+     * @param index the index of the first or only char forming the code point
+     * @return the code point at the index
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final int codePointAt(char[] text, int index) {
+        char c1 = text[index++];
+        if (isHighSurrogate(c1)) {
+            if (index < text.length) {
+                char c2 = text[index];
+                if (isLowSurrogate(c2)) {
+                    return toCodePoint(c1, c2);
+                }
+            }
+        }
+        return c1;
+    }
+
+    /**
+     * Cover the JDK 1.5 API, for convenience.  Return the code point at index.
+     * <br/><b>Note</b>: the semantics of this API is different from the related UTF16
+     * API.  This examines only the characters at index and index+1.
+     * @param text the characters to check
+     * @param index the index of the first or only char forming the code point
+     * @param limit the limit of the valid text
+     * @return the code point at the index
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final int codePointAt(char[] text, int index, int limit) {
+    if (index >= limit || limit > text.length) {
+        throw new IndexOutOfBoundsException();
+    }
+        char c1 = text[index++];
+        if (isHighSurrogate(c1)) {
+            if (index < limit) {
+                char c2 = text[index];
+                if (isLowSurrogate(c2)) {
+                    return toCodePoint(c1, c2);
+                }
+            }
+        }
+        return c1;
+    }
+
+    /**
+     * Cover the JDK 1.5 API, for convenience.  Return the code point before index.
+     * <br/><b>Note</b>: the semantics of this API is different from the related UTF16
+     * API.  This examines only the characters at index-1 and index-2.
+     * @param seq the characters to check
+     * @param index the index after the last or only char forming the code point
+     * @return the code point before the index
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final int codePointBefore(CharSequence seq, int index) {
+        char c2 = seq.charAt(--index);
+        if (isLowSurrogate(c2)) {
+            if (index > 0) {
+                char c1 = seq.charAt(--index);
+                if (isHighSurrogate(c1)) {
+                    return toCodePoint(c1, c2);
+                }
+            }
+        }
+        return c2;
+    }
+
+    /**
+     * Cover the JDK 1.5 API, for convenience.  Return the code point before index.
+     * <br/><b>Note</b>: the semantics of this API is different from the related UTF16
+     * API.  This examines only the characters at index-1 and index-2.
+     * @param text the characters to check
+     * @param index the index after the last or only char forming the code point
+     * @return the code point before the index
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final int codePointBefore(char[] text, int index) {
+        char c2 = text[--index];
+        if (isLowSurrogate(c2)) {
+            if (index > 0) {
+                char c1 = text[--index];
+                if (isHighSurrogate(c1)) {
+                    return toCodePoint(c1, c2);
+                }
+            }
+        }
+        return c2;
+    }
+
+    /**
+     * Cover the JDK 1.5 API, for convenience.  Return the code point before index.
+     * <br/><b>Note</b>: the semantics of this API is different from the related UTF16
+     * API.  This examines only the characters at index-1 and index-2.
+     * @param text the characters to check
+     * @param index the index after the last or only char forming the code point
+     * @param limit the start of the valid text
+     * @return the code point before the index
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final int codePointBefore(char[] text, int index, int limit) {
+    if (index <= limit || limit < 0) {
+        throw new IndexOutOfBoundsException();
+    }
+        char c2 = text[--index];
+        if (isLowSurrogate(c2)) {
+            if (index > limit) {
+                char c1 = text[--index];
+                if (isHighSurrogate(c1)) {
+                    return toCodePoint(c1, c2);
+                }
+            }
+        }
+        return c2;
+    }
+
+    /**
+     * Cover the JDK 1.5 API, for convenience.  Writes the chars representing the
+     * code point into the destination at the given index.
+     * @param cp the code point to convert
+     * @param dst the destination array into which to put the char(s) representing the code point
+     * @param dstIndex the index at which to put the first (or only) char
+     * @return the count of the number of chars written (1 or 2)
+     * @throws IllegalArgumentException if cp is not a valid code point
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final int toChars(int cp, char[] dst, int dstIndex) {
+        if (cp >= 0) {
+            if (cp < MIN_SUPPLEMENTARY_CODE_POINT) {
+                dst[dstIndex] = (char)cp;
+                return 1;
+            }
+            if (cp <= MAX_CODE_POINT) {
+                dst[dstIndex] = UTF16.getLeadSurrogate(cp);
+                dst[dstIndex+1] = UTF16.getTrailSurrogate(cp);
+                return 2;
+            }
+        }
+        throw new IllegalArgumentException();
+    }
+
+    /**
+     * Cover the JDK 1.5 API, for convenience.  Returns a char array
+     * representing the code point.
+     * @param cp the code point to convert
+     * @return an array containing the char(s) representing the code point
+     * @throws IllegalArgumentException if cp is not a valid code point
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final char[] toChars(int cp) {
+        if (cp >= 0) {
+            if (cp < MIN_SUPPLEMENTARY_CODE_POINT) {
+                return new char[] { (char)cp };
+            }
+            if (cp <= MAX_CODE_POINT) {
+                return new char[] {
+                    UTF16.getLeadSurrogate(cp),
+                    UTF16.getTrailSurrogate(cp)
+                };
+            }
+        }
+        throw new IllegalArgumentException();
+    }
+
+    /**
+     * Cover the JDK API, for convenience.  Return a byte representing the directionality of
+     * the character.
+     * <br/><b>Note</b>: Unlike the JDK, this returns DIRECTIONALITY_LEFT_TO_RIGHT for undefined or
+     * out-of-bounds characters.  <br/><b>Note</b>: The return value must be
+     * tested using the constants defined in {@link UCharacterEnums.ECharacterDirection}
+     * since the values are different from the ones defined by <code>java.lang.Character</code>.
+     * @param cp the code point to check
+     * @return the directionality of the code point
+     * @see #getDirection
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static byte getDirectionality(int cp)
+    {
+        return (byte)getDirection(cp);
+    }
+
+    /**
+     * Cover the JDK API, for convenience.  Count the number of code points in the range of text.
+     * @param text the characters to check
+     * @param start the start of the range
+     * @param limit the limit of the range
+     * @return the number of code points in the range
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static int codePointCount(CharSequence text, int start, int limit) {
+    if (start < 0 || limit < start || limit > text.length()) {
+        throw new IndexOutOfBoundsException("start (" + start +
+                        ") or limit (" + limit +
+                        ") invalid or out of range 0, " + text.length());
+    }
+
+    int len = limit - start;
+    while (limit > start) {
+        char ch = text.charAt(--limit);
+        while (ch >= MIN_LOW_SURROGATE && ch <= MAX_LOW_SURROGATE && limit > start) {
+        ch = text.charAt(--limit);
+        if (ch >= MIN_HIGH_SURROGATE && ch <= MAX_HIGH_SURROGATE) {
+            --len;
+            break;
+        }
+        }
+    }
+    return len;
+    }
+
+    /**
+     * Cover the JDK API, for convenience.  Count the number of code points in the range of text.
+     * @param text the characters to check
+     * @param start the start of the range
+     * @param limit the limit of the range
+     * @return the number of code points in the range
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static int codePointCount(char[] text, int start, int limit) {
+    if (start < 0 || limit < start || limit > text.length) {
+        throw new IndexOutOfBoundsException("start (" + start +
+                        ") or limit (" + limit +
+                        ") invalid or out of range 0, " + text.length);
+    }
+
+    int len = limit - start;
+    while (limit > start) {
+        char ch = text[--limit];
+        while (ch >= MIN_LOW_SURROGATE && ch <= MAX_LOW_SURROGATE && limit > start) {
+        ch = text[--limit];
+        if (ch >= MIN_HIGH_SURROGATE && ch <= MAX_HIGH_SURROGATE) {
+            --len;
+            break;
+        }
+        }
+    }
+    return len;
+    }
+
+    /**
+     * Cover the JDK API, for convenience.  Adjust the char index by a code point offset.
+     * @param text the characters to check
+     * @param index the index to adjust
+     * @param codePointOffset the number of code points by which to offset the index
+     * @return the adjusted index
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static int offsetByCodePoints(CharSequence text, int index, int codePointOffset) {
+    if (index < 0 || index > text.length()) {
+        throw new IndexOutOfBoundsException("index ( " + index +
+                        ") out of range 0, " + text.length());
+    }
+
+    if (codePointOffset < 0) {
+        while (++codePointOffset <= 0) {
+        char ch = text.charAt(--index);
+        while (ch >= MIN_LOW_SURROGATE && ch <= MAX_LOW_SURROGATE && index > 0) {
+            ch = text.charAt(--index);
+            if (ch < MIN_HIGH_SURROGATE || ch > MAX_HIGH_SURROGATE) {
+            if (++codePointOffset > 0) {
+                return index+1;
+            }
+            }
+        }
+        }
+    } else {
+        int limit = text.length();
+        while (--codePointOffset >= 0) {
+        char ch = text.charAt(index++);
+        while (ch >= MIN_HIGH_SURROGATE && ch <= MAX_HIGH_SURROGATE && index < limit) {
+            ch = text.charAt(index++);
+            if (ch < MIN_LOW_SURROGATE || ch > MAX_LOW_SURROGATE) {
+            if (--codePointOffset < 0) {
+                return index-1;
+            }
+            }
+        }
+        }
+    }
+
+    return index;
+    }
+
+    /**
+     * Cover the JDK API, for convenience.  Adjust the char index by a code point offset.
+     * @param text the characters to check
+     * @param start the start of the range to check
+     * @param count the length of the range to check
+     * @param index the index to adjust
+     * @param codePointOffset the number of code points by which to offset the index
+     * @return the adjusted index
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static int offsetByCodePoints(char[] text, int start, int count, int index, int codePointOffset) {
+    int limit = start + count;
+    if (start < 0 || limit < start || limit > text.length || index < start || index > limit) {
+        throw new IndexOutOfBoundsException("index ( " + index +
+                        ") out of range " + start +
+                        ", " + limit +
+                        " in array 0, " + text.length);
+    }
+
+    if (codePointOffset < 0) {
+        while (++codePointOffset <= 0) {
+        char ch = text[--index];
+        if (index < start) {
+            throw new IndexOutOfBoundsException("index ( " + index +
+                            ") < start (" + start +
+                            ")");
+        }
+        while (ch >= MIN_LOW_SURROGATE && ch <= MAX_LOW_SURROGATE && index > start) {
+            ch = text[--index];
+            if (ch < MIN_HIGH_SURROGATE || ch > MAX_HIGH_SURROGATE) {
+            if (++codePointOffset > 0) {
+                return index+1;
+            }
+            }
+        }
+        }
+    } else {
+        while (--codePointOffset >= 0) {
+        char ch = text[index++];
+        if (index > limit) {
+            throw new IndexOutOfBoundsException("index ( " + index +
+                            ") > limit (" + limit +
+                            ")");
+        }
+        while (ch >= MIN_HIGH_SURROGATE && ch <= MAX_HIGH_SURROGATE && index < limit) {
+            ch = text[index++];
+            if (ch < MIN_LOW_SURROGATE || ch > MAX_LOW_SURROGATE) {
+            if (--codePointOffset < 0) {
+                return index-1;
+            }
+            }
+        }
+        }
+    }
+
+    return index;
+    }
+
+    // protected data members --------------------------------------------
+    
+    /**
+     * Database storing the sets of character name
+     */
+    static UCharacterName NAME_ = null;
+
+    /**
+     * Singleton object encapsulating the imported pnames.icu property aliases
+     */
+    static UPropertyAliases PNAMES_ = null;
+      
+    // block to initialise name database and unicode 1.0 data 
+    static {
+        try {
+            PNAMES_ = new UPropertyAliases();
+            NAME_ = UCharacterName.getInstance();
+        } catch (IOException e) {
+            // e.printStackTrace();
+            throw new MissingResourceException(e.getMessage(),"","");
+            //throw new RuntimeException(e.getMessage());
+            // DONOT throw an exception
+            // we might be building ICU modularly wothout names.icu and
+            // pnames.icu
+        }
+    }
+        
+    // private variables -------------------------------------------------
+    
+    /**
+     * Database storing the sets of character property
+     */
+    private static final UCharacterProperty PROPERTY_;
+    /**
+     * For optimization
+     */
+    private static final char[] PROPERTY_TRIE_INDEX_;
+    private static final char[] PROPERTY_TRIE_DATA_;
+    private static final int PROPERTY_INITIAL_VALUE_;
+
+    private static final UCaseProps gCsp;
+    private static final UBiDiProps gBdp;
+
+    // block to initialise character property database
+    static
+    {
+        try
+        {
+            PROPERTY_ = UCharacterProperty.getInstance();
+            PROPERTY_TRIE_INDEX_ = PROPERTY_.m_trieIndex_;
+            PROPERTY_TRIE_DATA_ = PROPERTY_.m_trieData_;
+            PROPERTY_INITIAL_VALUE_ = PROPERTY_.m_trieInitialValue_;
+        }
+        catch (Exception e)
+        {
+            throw new MissingResourceException(e.getMessage(),"","");
+        }
+
+        /*
+         * In ICU4J 3.2, most Unicode properties were loaded from uprops.icu.
+         * ICU4J 3.4 adds ucase.icu for case mapping properties and
+         * ubidi.icu for bidi/shaping properties and
+         * removes case/bidi/shaping properties from uprops.icu.
+         *
+         * Loading of uprops.icu was always done during class loading of UCharacter.class.
+         * In order to maintain performance for all such properties,
+         * ucase.icu and ubidi.icu are also loaded during class loading of UCharacter.class.
+         * It will not fail if they are missing.
+         * These data items are loaded early to avoid having to synchronize access to them,
+         * for thread safety and performance.
+         *
+         * We try to load these data items at most once.
+         * If it works, we use the resulting singleton object.
+         * If it fails, then we get a dummy object, which always works unless
+         * we are seriously out of memory.
+         * After UCharacter.class loading, we have a never-changing pointer to either the
+         * real singleton or the dummy.
+         *
+         * This method is used in Unicode properties APIs that
+         * do not have a service object and also do not have an error code parameter.
+         * Other API implementations get the singleton themselves
+         * (synchronized), store it in the service object, and report errors.
+         */
+        UCaseProps csp;
+        try {
+            csp=UCaseProps.getSingleton();
+        } catch(IOException e) {
+            csp=UCaseProps.getDummy();
+        }
+        gCsp=csp;
+
+        UBiDiProps bdp;
+        try {
+            bdp=UBiDiProps.getSingleton();
+        } catch(IOException e) {
+            bdp=UBiDiProps.getDummy();
+        }
+        gBdp=bdp;
+    }
+    
+    /**
+     * To get the last character out from a data type
+     */
+    private static final int LAST_CHAR_MASK_ = 0xFFFF;
+      
+    /**
+     * To get the last byte out from a data type
+     */
+    private static final int LAST_BYTE_MASK_ = 0xFF;
+      
+    /**
+     * Shift 16 bits
+     */
+    private static final int SHIFT_16_ = 16;
+      
+    /**
+     * Shift 24 bits
+     */
+    private static final int SHIFT_24_ = 24;  
+    
+    /**
+     * Decimal radix
+     */
+    private static final int DECIMAL_RADIX_ = 10;
+      
+    /**
+     * No break space code point
+     */
+    private static final int NO_BREAK_SPACE_ = 0xA0;
+      
+    /**
+     * Narrow no break space code point
+     */
+    private static final int NARROW_NO_BREAK_SPACE_ = 0x202F;
+      
+    /**
+     * Zero width no break space code point
+     */
+    private static final int ZERO_WIDTH_NO_BREAK_SPACE_ = 0xFEFF;
+      
+    /**
+     * Ideographic number zero code point
+     */
+    private static final int IDEOGRAPHIC_NUMBER_ZERO_ = 0x3007;
+            
+    /**
+     * CJK Ideograph, First code point
+     */
+    private static final int CJK_IDEOGRAPH_FIRST_ = 0x4e00;
+      
+    /**
+     * CJK Ideograph, Second code point
+     */
+    private static final int CJK_IDEOGRAPH_SECOND_ = 0x4e8c;
+            
+    /**
+     * CJK Ideograph, Third code point
+     */
+    private static final int CJK_IDEOGRAPH_THIRD_ = 0x4e09;
+      
+    /**
+     * CJK Ideograph, Fourth code point
+     */
+    private static final int CJK_IDEOGRAPH_FOURTH_ = 0x56d8;
+      
+    /**
+     * CJK Ideograph, FIFTH code point
+     */
+    private static final int CJK_IDEOGRAPH_FIFTH_ = 0x4e94;
+      
+    /**
+     * CJK Ideograph, Sixth code point
+     */
+    private static final int CJK_IDEOGRAPH_SIXTH_ = 0x516d;
+            
+    /**
+     * CJK Ideograph, Seventh code point
+     */
+    private static final int CJK_IDEOGRAPH_SEVENTH_ = 0x4e03;
+      
+    /**
+     * CJK Ideograph, Eighth code point
+     */
+    private static final int CJK_IDEOGRAPH_EIGHTH_ = 0x516b;
+      
+    /**
+     * CJK Ideograph, Nineth code point
+     */
+    private static final int CJK_IDEOGRAPH_NINETH_ = 0x4e5d;
+      
+    /**
+     * Application Program command code point
+     */
+    private static final int APPLICATION_PROGRAM_COMMAND_ = 0x009F;
+      
+    /**
+     * Unit separator code point
+     */
+    private static final int UNIT_SEPARATOR_ = 0x001F;
+      
+    /**
+     * Delete code point
+     */
+    private static final int DELETE_ = 0x007F;
+    /**
+     * ISO control character first range upper limit 0x0 - 0x1F
+     */
+    private static final int ISO_CONTROL_FIRST_RANGE_MAX_ = 0x1F;
+    /**
+     * Shift to get numeric type
+     */
+    private static final int NUMERIC_TYPE_SHIFT_ = 5;
+    /**
+     * Mask to get numeric type
+     */
+    private static final int NUMERIC_TYPE_MASK_ = 0x7 << NUMERIC_TYPE_SHIFT_;
+      
+    /* encoding of fractional and large numbers */
+    private static final int MAX_SMALL_NUMBER=0xff;
+
+    private static final int FRACTION_NUM_SHIFT=3;        /* numerator: bits 7..3 */
+    private static final int FRACTION_DEN_MASK=7;         /* denominator: bits 2..0 */
+
+    private static final int FRACTION_MAX_NUM=31;
+    private static final int FRACTION_DEN_OFFSET=2;       /* denominator values are 2..9 */
+
+    private static final int FRACTION_MIN_DEN=FRACTION_DEN_OFFSET;
+    private static final int FRACTION_MAX_DEN=FRACTION_MIN_DEN+FRACTION_DEN_MASK;
+
+    private static final int LARGE_MANT_SHIFT=4;          /* mantissa: bits 7..4 */
+    private static final int LARGE_EXP_MASK=0xf;          /* exponent: bits 3..0 */
+    private static final int LARGE_EXP_OFFSET=2;          /* regular exponents 2..17 */
+    private static final int LARGE_EXP_OFFSET_EXTRA=18;   /* extra large exponents 18..33 */
+
+    private static final int LARGE_MIN_EXP=LARGE_EXP_OFFSET;
+    private static final int LARGE_MAX_EXP=LARGE_MIN_EXP+LARGE_EXP_MASK;
+    private static final int LARGE_MAX_EXP_EXTRA=LARGE_EXP_OFFSET_EXTRA+LARGE_EXP_MASK;
+
+    /**
+     * Han digit characters
+     */
+    private static final int CJK_IDEOGRAPH_COMPLEX_ZERO_     = 0x96f6;    
+    private static final int CJK_IDEOGRAPH_COMPLEX_ONE_      = 0x58f9;    
+    private static final int CJK_IDEOGRAPH_COMPLEX_TWO_      = 0x8cb3;    
+    private static final int CJK_IDEOGRAPH_COMPLEX_THREE_    = 0x53c3;    
+    private static final int CJK_IDEOGRAPH_COMPLEX_FOUR_     = 0x8086;    
+    private static final int CJK_IDEOGRAPH_COMPLEX_FIVE_     = 0x4f0d;    
+    private static final int CJK_IDEOGRAPH_COMPLEX_SIX_      = 0x9678;    
+    private static final int CJK_IDEOGRAPH_COMPLEX_SEVEN_    = 0x67d2;    
+    private static final int CJK_IDEOGRAPH_COMPLEX_EIGHT_    = 0x634c;    
+    private static final int CJK_IDEOGRAPH_COMPLEX_NINE_     = 0x7396;    
+    private static final int CJK_IDEOGRAPH_TEN_              = 0x5341;    
+    private static final int CJK_IDEOGRAPH_COMPLEX_TEN_      = 0x62fe;    
+    private static final int CJK_IDEOGRAPH_HUNDRED_          = 0x767e;    
+    private static final int CJK_IDEOGRAPH_COMPLEX_HUNDRED_  = 0x4f70;    
+    private static final int CJK_IDEOGRAPH_THOUSAND_         = 0x5343;    
+    private static final int CJK_IDEOGRAPH_COMPLEX_THOUSAND_ = 0x4edf;    
+    private static final int CJK_IDEOGRAPH_TEN_THOUSAND_     = 0x824c;    
+    private static final int CJK_IDEOGRAPH_HUNDRED_MILLION_  = 0x5104;
+
+    /**
+     * Zero Width Non Joiner.
+     * Equivalent to icu4c ZWNJ.
+     */
+    private static final int ZERO_WIDTH_NON_JOINER_ = 0x200c;
+    /**
+     * Zero Width Joiner
+     * Equivalent to icu4c ZWJ. 
+     */
+    private static final int ZERO_WIDTH_JOINER_ = 0x200d;
+
+    /*
+     * Properties in vector word 2
+     * Bits
+     * 31..24   More binary properties (see UCharacterProperty)
+     * 23..19   reserved
+     * 18..14   Sentence Break
+     * 13..10   Word Break
+     *  9.. 5   Grapheme Cluster Break
+     *  4.. 0   Decomposition Type
+     */
+    private static final int SB_MASK          = 0x0007c000;
+    private static final int SB_SHIFT         = 14;
+
+    private static final int WB_MASK          = 0x00003c00;
+    private static final int WB_SHIFT         = 10;
+
+    private static final int GCB_MASK         = 0x000003e0;
+    private static final int GCB_SHIFT        = 5;
+
+    /**
+     * Integer properties mask for decomposition type.
+     * Equivalent to icu4c UPROPS_DT_MASK. 
+     */    
+    private static final int DECOMPOSITION_TYPE_MASK_ = 0x0000001f;
+
+    /*
+     * Properties in vector word 0
+     * Bits
+     * 31..24   DerivedAge version major/minor one nibble each (see UCharacterProperty)
+     * 23..18   Line Break
+     * 17..15   East Asian Width
+     * 14.. 7   UBlockCode
+     *  6.. 0   UScriptCode
+     */
+
+    /**
+     * Integer properties mask and shift values for East Asian cell width.
+     * Equivalent to icu4c UPROPS_EA_MASK 
+     */    
+    private static final int EAST_ASIAN_MASK_ = 0x00038000;
+    /**
+     * Integer properties mask and shift values for East Asian cell width.
+     * Equivalent to icu4c UPROPS_EA_SHIFT 
+     */    
+    private static final int EAST_ASIAN_SHIFT_ = 15;
+    /**
+     * Integer properties mask and shift values for line breaks.
+     * Equivalent to icu4c UPROPS_LB_MASK 
+     */    
+    private static final int LINE_BREAK_MASK_ = 0x00FC0000;
+    /**
+     * Integer properties mask and shift values for line breaks.
+     * Equivalent to icu4c UPROPS_LB_SHIFT 
+     */    
+    private static final int LINE_BREAK_SHIFT_ = 18;
+    /**
+     * Integer properties mask and shift values for blocks.
+     * Equivalent to icu4c UPROPS_BLOCK_MASK 
+     */    
+    private static final int BLOCK_MASK_ = 0x00007f80;
+    /**
+     * Integer properties mask and shift values for blocks.
+     * Equivalent to icu4c UPROPS_BLOCK_SHIFT 
+     */    
+    private static final int BLOCK_SHIFT_ = 7;
+    /**
+     * Integer properties mask and shift values for scripts.
+     * Equivalent to icu4c UPROPS_SHIFT_MASK
+     */    
+    private static final int SCRIPT_MASK_ = 0x0000007f;
+                           
+    // private constructor -----------------------------------------------
+    ///CLOVER:OFF  
+    /**
+     * Private constructor to prevent instantiation
+     */
+    private UCharacter()
+    {
+    }
+    ///CLOVER:ON 
+    // private methods ---------------------------------------------------
+    
+    /**
+     * Getting the digit values of characters like 'A' - 'Z', normal, 
+     * half-width and full-width. This method assumes that the other digit 
+     * characters are checked by the calling method.
+     * @param ch character to test
+     * @return -1 if ch is not a character of the form 'A' - 'Z', otherwise
+     *         its corresponding digit will be returned.
+     */
+    private static int getEuropeanDigit(int ch) {
+        if ((ch > 0x7a && ch < 0xff21)  
+            || ch < 0x41 || (ch > 0x5a && ch < 0x61)
+            || ch > 0xff5a || (ch > 0xff31 && ch < 0xff41)) {
+            return -1;
+        } 
+        if (ch <= 0x7a) {
+            // ch >= 0x41 or ch < 0x61 
+            return ch + 10 - ((ch <= 0x5a) ? 0x41 : 0x61);
+        }
+        // ch >= 0xff21
+        if (ch <= 0xff3a) {
+            return ch + 10 - 0xff21;
+        } 
+        // ch >= 0xff41 && ch <= 0xff5a
+        return ch + 10 - 0xff41;
+    }
+    
+    /**
+     * Gets the numeric type of the property argument
+     * @param props 32 bit property
+     * @return the numeric type
+     */
+    private static int getNumericType(int props)
+    {
+        return (props & NUMERIC_TYPE_MASK_) >> NUMERIC_TYPE_SHIFT_;
+    }
+    
+    /**
+     * Gets the property value at the index.
+     * This is optimized.
+     * Note this is alittle different from CharTrie the index m_trieData_
+     * is never negative.
+     * This is a duplicate of UCharacterProperty.getProperty. For optimization
+     * purposes, this method calls the trie data directly instead of through 
+     * UCharacterProperty.getProperty.
+     * @param ch code point whose property value is to be retrieved
+     * @return property value of code point
+     * @stable ICU 2.6
+     */
+    private static final int getProperty(int ch)
+    {
+        if (ch < UTF16.LEAD_SURROGATE_MIN_VALUE 
+            || (ch > UTF16.LEAD_SURROGATE_MAX_VALUE 
+                && ch < UTF16.SUPPLEMENTARY_MIN_VALUE)) {
+            // BMP codepoint 0000..D7FF or DC00..FFFF
+            try { // using try for ch < 0 is faster than using an if statement
+                return PROPERTY_TRIE_DATA_[
+                              (PROPERTY_TRIE_INDEX_[ch >> 5] << 2) 
+                              + (ch & 0x1f)];
+            } catch (ArrayIndexOutOfBoundsException e) {
+                return PROPERTY_INITIAL_VALUE_;
+            }
+        }
+        if (ch <= UTF16.LEAD_SURROGATE_MAX_VALUE) {
+            // lead surrogate D800..DBFF
+            return PROPERTY_TRIE_DATA_[
+                              (PROPERTY_TRIE_INDEX_[(0x2800 >> 5) + (ch >> 5)] << 2) 
+                              + (ch & 0x1f)];
+        }
+        // for optimization
+        if (ch <= UTF16.CODEPOINT_MAX_VALUE) {
+            // supplementary code point 10000..10FFFF
+            // look at the construction of supplementary characters
+            // trail forms the ends of it.
+            return PROPERTY_.m_trie_.getSurrogateValue(
+                                      UTF16.getLeadSurrogate(ch), 
+                                      (char)(ch & 0x3ff));
+        }
+        // return m_dataOffset_ if there is an error, in this case we return 
+        // the default value: m_initialValue_
+        // we cannot assume that m_initialValue_ is at offset 0
+        // this is for optimization.
+        return PROPERTY_INITIAL_VALUE_;
+    }
+}
diff --git a/src/com/ibm/icu/lang/UCharacterCategory.java b/src/com/ibm/icu/lang/UCharacterCategory.java
new file mode 100755
index 0000000..60c0a64
--- /dev/null
+++ b/src/com/ibm/icu/lang/UCharacterCategory.java
@@ -0,0 +1,112 @@
+/**
+ *******************************************************************************
+ * Copyright (C) 1996-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+package com.ibm.icu.lang;
+
+import com.ibm.icu.lang.UCharacterEnums.ECharacterCategory;
+
+/**
+ * Enumerated Unicode category types from the UnicodeData.txt file.
+ * Used as return results from <a href=UCharacter.html>UCharacter</a>
+ * Equivalent to icu's UCharCategory.
+ * Refer to <a href="http://www.unicode.org/Public/UNIDATA/UCD.html">
+ * Unicode Consortium</a> for more information about UnicodeData.txt.
+ * <p>
+ * <em>NOTE:</em> the UCharacterCategory values are <em>not</em> compatible with
+ * those returned by java.lang.Character.getType.  UCharacterCategory values
+ * match the ones used in ICU4C, while java.lang.Character type
+ * values, though similar, skip the value 17.</p>
+ * <p>
+ * This class is not subclassable
+ * </p>
+ * @author Syn Wee Quek
+ * @stable ICU 2.1
+ */
+
+public final class UCharacterCategory implements ECharacterCategory
+{
+    /**
+     * Gets the name of the argument category
+     * @param category to retrieve name
+     * @return category name
+     * @stable ICU 2.1
+     */
+    public static String toString(int category)
+    {
+        switch (category) {
+        case UPPERCASE_LETTER :
+            return "Letter, Uppercase";
+        case LOWERCASE_LETTER :
+            return "Letter, Lowercase";
+        case TITLECASE_LETTER :
+            return "Letter, Titlecase";
+        case MODIFIER_LETTER :
+            return "Letter, Modifier";
+        case OTHER_LETTER :
+            return "Letter, Other";
+        case NON_SPACING_MARK :
+            return "Mark, Non-Spacing";
+        case ENCLOSING_MARK : 
+            return "Mark, Enclosing";
+        case COMBINING_SPACING_MARK :
+            return "Mark, Spacing Combining";
+        case DECIMAL_DIGIT_NUMBER :
+            return "Number, Decimal Digit";
+        case LETTER_NUMBER :
+            return "Number, Letter";
+        case OTHER_NUMBER :
+            return "Number, Other";
+        case SPACE_SEPARATOR :
+            return "Separator, Space";
+        case LINE_SEPARATOR :
+            return "Separator, Line";
+        case PARAGRAPH_SEPARATOR :
+            return "Separator, Paragraph";
+        case CONTROL :
+            return "Other, Control";
+        case FORMAT :
+            return "Other, Format";
+        case PRIVATE_USE :
+            return "Other, Private Use";
+        case SURROGATE :
+            return "Other, Surrogate";
+        case DASH_PUNCTUATION :
+            return "Punctuation, Dash";
+        case START_PUNCTUATION :
+            return "Punctuation, Open";
+        case END_PUNCTUATION :
+            return "Punctuation, Close";
+        case CONNECTOR_PUNCTUATION :
+            return "Punctuation, Connector";
+        case OTHER_PUNCTUATION :
+            return "Punctuation, Other";
+        case MATH_SYMBOL :
+            return "Symbol, Math";
+        case CURRENCY_SYMBOL :
+            return "Symbol, Currency";
+        case MODIFIER_SYMBOL :
+            return "Symbol, Modifier";
+        case OTHER_SYMBOL :
+            return "Symbol, Other";
+        case INITIAL_PUNCTUATION :
+            return "Punctuation, Initial quote";
+        case FINAL_PUNCTUATION :
+            return "Punctuation, Final quote";
+        }
+        return "Unassigned";
+    }
+        
+    // private constructor -----------------------------------------------
+    ///CLOVER:OFF 
+    /**
+     * Private constructor to prevent initialisation
+     */
+    private UCharacterCategory()
+    {
+    }
+    ///CLOVER:ON
+}
diff --git a/src/com/ibm/icu/lang/UCharacterDirection.java b/src/com/ibm/icu/lang/UCharacterDirection.java
new file mode 100755
index 0000000..884c6be
--- /dev/null
+++ b/src/com/ibm/icu/lang/UCharacterDirection.java
@@ -0,0 +1,84 @@
+/**
+*******************************************************************************
+* Copyright (C) 1996-2004, International Business Machines Corporation and    *
+* others. All Rights Reserved.                                                *
+*******************************************************************************
+*/
+
+package com.ibm.icu.lang;
+
+import com.ibm.icu.lang.UCharacterEnums.ECharacterDirection;
+
+/**
+ * Enumerated Unicode character linguistic direction constants.
+ * Used as return results from <a href=UCharacter.html>UCharacter</a>
+ * <p>
+ * This class is not subclassable
+ * </p>
+ * @author Syn Wee Quek
+ * @stable ICU 2.1
+ */
+
+public final class UCharacterDirection implements ECharacterDirection {
+
+    // private constructor =========================================
+    ///CLOVER:OFF  
+    /**
+     * Private constructor to prevent initialisation
+     */
+    private UCharacterDirection()
+    {
+    }
+    ///CLOVER:ON
+      
+    /**
+     * Gets the name of the argument direction
+     * @param dir direction type to retrieve name
+     * @return directional name
+     * @stable ICU 2.1
+     */
+    public static String toString(int dir) {
+        switch(dir)
+            {
+            case LEFT_TO_RIGHT :
+                return "Left-to-Right";
+            case RIGHT_TO_LEFT :
+                return "Right-to-Left";
+            case EUROPEAN_NUMBER :
+                return "European Number";
+            case EUROPEAN_NUMBER_SEPARATOR :
+                return "European Number Separator";
+            case EUROPEAN_NUMBER_TERMINATOR :
+                return "European Number Terminator";
+            case ARABIC_NUMBER :
+                return "Arabic Number";
+            case COMMON_NUMBER_SEPARATOR :
+                return "Common Number Separator";
+            case BLOCK_SEPARATOR :
+                return "Paragraph Separator";
+            case SEGMENT_SEPARATOR :
+                return "Segment Separator";
+            case WHITE_SPACE_NEUTRAL :
+                return "Whitespace";
+            case OTHER_NEUTRAL :
+                return "Other Neutrals";
+            case LEFT_TO_RIGHT_EMBEDDING :
+                return "Left-to-Right Embedding";
+            case LEFT_TO_RIGHT_OVERRIDE :
+                return "Left-to-Right Override";
+            case RIGHT_TO_LEFT_ARABIC :
+                return "Right-to-Left Arabic";
+            case RIGHT_TO_LEFT_EMBEDDING :
+                return "Right-to-Left Embedding";
+            case RIGHT_TO_LEFT_OVERRIDE :
+                return "Right-to-Left Override";
+            case POP_DIRECTIONAL_FORMAT :
+                return "Pop Directional Format";
+            case DIR_NON_SPACING_MARK :
+                return "Non-Spacing Mark";
+            case BOUNDARY_NEUTRAL :
+                return "Boundary Neutral";
+            }
+        return "Unassigned";
+    }
+}
diff --git a/src/com/ibm/icu/lang/UCharacterEnums.java b/src/com/ibm/icu/lang/UCharacterEnums.java
new file mode 100644
index 0000000..ca7d844
--- /dev/null
+++ b/src/com/ibm/icu/lang/UCharacterEnums.java
@@ -0,0 +1,514 @@
+/**
+ *******************************************************************************
+ * Copyright (C) 2004-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+package com.ibm.icu.lang;
+
+/**
+ * A container for the different 'enumerated types' used by UCharacter.
+ * @draft ICU 3.0
+ * @deprecated This is a draft API and might change in a future release of ICU.
+ */
+public class UCharacterEnums {
+
+    /** This is just a namespace, it is not instantiatable. */
+	///CLOVER:OFF
+    private UCharacterEnums() {}
+
+    /**
+     * 'Enum' for the CharacterCategory constants.  These constants are 
+     * compatible in name <b>but not in value</b> with those defined in
+     * <code>java.lang.Character</code>.
+     * @see UCharacterCategory
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static interface ECharacterCategory {
+        /**
+         * Unassigned character type
+         * @stable ICU 2.1
+         */
+        public static final byte UNASSIGNED              = 0; 
+
+        /**
+         * Character type Cn
+         * Not Assigned (no characters in [UnicodeData.txt] have this property) 
+         * @stable ICU 2.6
+         */
+        public static final byte GENERAL_OTHER_TYPES     = 0;
+
+        /**
+         * Character type Lu
+         * @stable ICU 2.1
+         */
+        public static final byte UPPERCASE_LETTER        = 1;
+
+        /**
+         * Character type Ll
+         * @stable ICU 2.1
+         */
+        public static final byte LOWERCASE_LETTER        = 2;
+
+        /**
+         * Character type Lt
+         * @stable ICU 2.1
+         */
+
+        public static final byte TITLECASE_LETTER        = 3;
+
+        /**
+         * Character type Lm
+         * @stable ICU 2.1
+         */
+        public static final byte MODIFIER_LETTER         = 4;
+
+        /**
+         * Character type Lo
+         * @stable ICU 2.1
+         */
+        public static final byte OTHER_LETTER            = 5;
+
+        /**
+         * Character type Mn
+         * @stable ICU 2.1
+         */
+        public static final byte NON_SPACING_MARK        = 6;
+
+        /**
+         * Character type Me
+         * @stable ICU 2.1
+         */
+        public static final byte ENCLOSING_MARK          = 7;
+
+        /**
+         * Character type Mc
+         * @stable ICU 2.1
+         */
+        public static final byte COMBINING_SPACING_MARK  = 8;
+
+        /**
+         * Character type Nd
+         * @stable ICU 2.1      
+         */
+        public static final byte DECIMAL_DIGIT_NUMBER    = 9;
+
+        /**
+         * Character type Nl
+         * @stable ICU 2.1
+         */
+        public static final byte LETTER_NUMBER           = 10;
+        
+        /**
+         * Character type No
+         * @stable ICU 2.1
+         */
+        public static final byte OTHER_NUMBER            = 11;
+
+        /**
+         * Character type Zs
+         * @stable ICU 2.1
+         */
+        public static final byte SPACE_SEPARATOR         = 12;
+
+        /**
+         * Character type Zl
+         * @stable ICU 2.1
+         */
+        public static final byte LINE_SEPARATOR          = 13;
+
+        /**
+         * Character type Zp
+         * @stable ICU 2.1
+         */
+        public static final byte PARAGRAPH_SEPARATOR     = 14;
+
+        /**
+         * Character type Cc
+         * @stable ICU 2.1
+         */
+        public static final byte CONTROL                 = 15;
+
+        /**
+         * Character type Cf
+         * @stable ICU 2.1
+         */
+        public static final byte FORMAT                  = 16;
+
+        /**
+         * Character type Co
+         * @stable ICU 2.1
+         */
+        public static final byte PRIVATE_USE             = 17;
+
+        /**
+         * Character type Cs
+         * @stable ICU 2.1
+         */
+        public static final byte SURROGATE               = 18;
+
+        /**
+         * Character type Pd
+         * @stable ICU 2.1
+         */
+        public static final byte DASH_PUNCTUATION        = 19;
+
+        /**
+         * Character type Ps
+         * @stable ICU 2.1
+         */
+        public static final byte START_PUNCTUATION       = 20;
+        
+        /**
+         * Character type Pe
+         * @stable ICU 2.1
+         */
+        public static final byte END_PUNCTUATION         = 21;
+
+        /**
+         * Character type Pc
+         * @stable ICU 2.1
+         */
+        public static final byte CONNECTOR_PUNCTUATION   = 22;
+
+        /**
+         * Character type Po
+         * @stable ICU 2.1
+         */
+        public static final byte OTHER_PUNCTUATION       = 23;
+
+        /**
+         * Character type Sm
+         * @stable ICU 2.1
+         */
+        public static final byte MATH_SYMBOL             = 24;
+
+        /**
+         * Character type Sc
+         * @stable ICU 2.1
+         */
+        public static final byte CURRENCY_SYMBOL         = 25;
+        
+        /**
+         * Character type Sk
+         * @stable ICU 2.1
+         */
+        public static final byte MODIFIER_SYMBOL         = 26;
+        
+        /**
+         * Character type So
+         * @stable ICU 2.1
+         */
+        public static final byte OTHER_SYMBOL            = 27;
+        
+        /**
+         * Character type Pi
+         * @see #INITIAL_QUOTE_PUNCTUATION
+         * @stable ICU 2.1
+         */
+        public static final byte INITIAL_PUNCTUATION     = 28;
+
+        /**
+         * Character type Pi
+         * This name is compatible with java.lang.Character's name for this type.
+         * @see #INITIAL_PUNCTUATION
+         * @stable ICU 2.8
+         */
+        public static final byte INITIAL_QUOTE_PUNCTUATION = 28;
+
+        /**
+         * Character type Pf
+         * @see #FINAL_QUOTE_PUNCTUATION
+         * @stable ICU 2.1
+         */
+        public static final byte FINAL_PUNCTUATION       = 29;
+
+        /**
+         * Character type Pf
+         * This name is compatible with java.lang.Character's name for this type.
+         * @see #FINAL_PUNCTUATION
+         * @stable ICU 2.8
+         */
+        public static final byte FINAL_QUOTE_PUNCTUATION   = 29;
+        
+        /**
+         * Character type count
+         * @stable ICU 2.1
+         */
+        public static final byte CHAR_CATEGORY_COUNT     = 30;
+    }
+
+    /**
+     * 'Enum' for the CharacterDirection constants.  There are two sets
+     * of names, those used in ICU, and those used in the JDK.  The
+     * JDK constants are compatible in name <b>but not in value</b> 
+     * with those defined in <code>java.lang.Character</code>.
+     * @see UCharacterDirection
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static interface ECharacterDirection {
+        /**
+         * Directional type L
+         * @stable ICU 2.1
+         */
+        public static final int LEFT_TO_RIGHT              = 0;
+
+        /**
+         * JDK-compatible synonym for LEFT_TO_RIGHT.
+         * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+         */
+        public static final byte DIRECTIONALITY_LEFT_TO_RIGHT = (byte)LEFT_TO_RIGHT;
+
+        /**
+         * Directional type R
+         * @stable ICU 2.1
+         */
+        public static final int RIGHT_TO_LEFT              = 1;
+
+        /**
+         * JDK-compatible synonym for RIGHT_TO_LEFT.
+         * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+         */
+        public static final byte DIRECTIONALITY_RIGHT_TO_LEFT = (byte)RIGHT_TO_LEFT;
+
+        /**
+         * Directional type EN
+         * @stable ICU 2.1
+         */
+        public static final int EUROPEAN_NUMBER            = 2;
+
+        /**
+         * JDK-compatible synonym for EUROPEAN_NUMBER.
+         * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+         */
+        public static final byte DIRECTIONALITY_EUROPEAN_NUMBER = (byte)EUROPEAN_NUMBER;
+
+        /**
+         * Directional type ES
+         * @stable ICU 2.1
+         */
+        public static final int EUROPEAN_NUMBER_SEPARATOR  = 3;
+
+        /**
+         * JDK-compatible synonym for EUROPEAN_NUMBER_SEPARATOR.
+         * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+         */
+        public static final byte DIRECTIONALITY_EUROPEAN_NUMBER_SEPARATOR = (byte)EUROPEAN_NUMBER_SEPARATOR;
+
+        /**
+         * Directional type ET
+         * @stable ICU 2.1
+         */
+        public static final int EUROPEAN_NUMBER_TERMINATOR = 4;
+
+        /**
+         * JDK-compatible synonym for EUROPEAN_NUMBER_TERMINATOR.
+         * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+         */
+        public static final byte DIRECTIONALITY_EUROPEAN_NUMBER_TERMINATOR = (byte)EUROPEAN_NUMBER_TERMINATOR;
+
+        /**
+         * Directional type AN
+         * @stable ICU 2.1
+         */                                                    
+        public static final int ARABIC_NUMBER              = 5;
+
+        /**
+         * JDK-compatible synonym for ARABIC_NUMBER.
+         * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+         */
+        public static final byte DIRECTIONALITY_ARABIC_NUMBER = (byte)ARABIC_NUMBER;
+
+        /**
+         * Directional type CS
+         * @stable ICU 2.1
+         */
+        public static final int COMMON_NUMBER_SEPARATOR    = 6;
+
+        /**
+         * JDK-compatible synonym for COMMON_NUMBER_SEPARATOR.
+         * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+         */
+        public static final byte DIRECTIONALITY_COMMON_NUMBER_SEPARATOR = (byte)COMMON_NUMBER_SEPARATOR;
+
+        /**
+         * Directional type B
+         * @stable ICU 2.1
+         */
+        public static final int BLOCK_SEPARATOR            = 7;
+
+        /**
+         * JDK-compatible synonym for BLOCK_SEPARATOR.
+         * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+         */
+        public static final byte DIRECTIONALITY_PARAGRAPH_SEPARATOR = (byte)BLOCK_SEPARATOR;
+
+        /**
+         * Directional type S
+         * @stable ICU 2.1
+         */      
+        public static final int SEGMENT_SEPARATOR          = 8;
+
+        /**
+         * JDK-compatible synonym for SEGMENT_SEPARATOR.
+         * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+         */
+        public static final byte DIRECTIONALITY_SEGMENT_SEPARATOR = (byte)SEGMENT_SEPARATOR;
+
+        /**
+         * Directional type WS
+         * @stable ICU 2.1
+         */
+        public static final int WHITE_SPACE_NEUTRAL        = 9;
+
+        /**
+         * JDK-compatible synonym for WHITE_SPACE_NEUTRAL.
+         * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+         */
+        public static final byte DIRECTIONALITY_WHITESPACE = (byte)WHITE_SPACE_NEUTRAL;
+
+        /**
+         * Directional type ON
+         * @stable ICU 2.1
+         */
+        public static final int OTHER_NEUTRAL              = 10;
+
+        /**
+         * JDK-compatible synonym for OTHER_NEUTRAL.
+         * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+         */
+        public static final byte DIRECTIONALITY_OTHER_NEUTRALS = (byte)OTHER_NEUTRAL;
+
+        /**
+         * Directional type LRE
+         * @stable ICU 2.1
+         */
+        public static final int LEFT_TO_RIGHT_EMBEDDING    = 11;
+
+        /**
+         * JDK-compatible synonym for LEFT_TO_RIGHT_EMBEDDING.
+         * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+         */
+        public static final byte DIRECTIONALITY_LEFT_TO_RIGHT_EMBEDDING = (byte)LEFT_TO_RIGHT_EMBEDDING;
+
+        /**
+         * Directional type LRO
+         * @stable ICU 2.1
+         */
+        public static final int LEFT_TO_RIGHT_OVERRIDE     = 12;  
+
+        /**
+         * JDK-compatible synonym for LEFT_TO_RIGHT_OVERRIDE.
+         * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+         */
+        public static final byte DIRECTIONALITY_LEFT_TO_RIGHT_OVERRIDE = (byte)LEFT_TO_RIGHT_OVERRIDE;
+
+        /**
+         * Directional type AL
+         * @stable ICU 2.1
+         */
+        public static final int RIGHT_TO_LEFT_ARABIC       = 13;
+
+        /**
+         * JDK-compatible synonym for RIGHT_TO_LEFT_ARABIC.
+         * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+         */
+        public static final byte DIRECTIONALITY_RIGHT_TO_LEFT_ARABIC = (byte)RIGHT_TO_LEFT_ARABIC;
+
+        /**
+         * Directional type RLE
+         * @stable ICU 2.1
+         */
+        public static final int RIGHT_TO_LEFT_EMBEDDING    = 14;
+
+        /**
+         * JDK-compatible synonym for RIGHT_TO_LEFT_EMBEDDING.
+         * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+         */
+        public static final byte DIRECTIONALITY_RIGHT_TO_LEFT_EMBEDDING = (byte)RIGHT_TO_LEFT_EMBEDDING;
+
+        /**
+         * Directional type RLO
+         * @stable ICU 2.1
+         */
+        public static final int RIGHT_TO_LEFT_OVERRIDE     = 15;
+
+        /**
+         * JDK-compatible synonym for RIGHT_TO_LEFT_OVERRIDE.
+         * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+         */
+        public static final byte DIRECTIONALITY_RIGHT_TO_LEFT_OVERRIDE = (byte)RIGHT_TO_LEFT_OVERRIDE;
+
+        /**
+         * Directional type PDF
+         * @stable ICU 2.1
+         */
+        public static final int POP_DIRECTIONAL_FORMAT     = 16;
+
+        /**
+         * JDK-compatible synonym for POP_DIRECTIONAL_FORMAT.
+         * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+         */
+        public static final byte DIRECTIONALITY_POP_DIRECTIONAL_FORMAT = (byte)POP_DIRECTIONAL_FORMAT;
+
+        /**
+         * Directional type NSM
+         * @stable ICU 2.1
+         */
+        public static final int DIR_NON_SPACING_MARK       = 17;
+
+        /**
+         * JDK-compatible synonym for DIR_NON_SPACING_MARK.
+         * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+         */
+        public static final byte DIRECTIONALITY_NONSPACING_MARK = (byte)DIR_NON_SPACING_MARK;
+
+        /**
+         * Directional type BN
+         * @stable ICU 2.1
+         */
+        public static final int BOUNDARY_NEUTRAL           = 18;
+
+        /**
+         * JDK-compatible synonym for BOUNDARY_NEUTRAL.
+         * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+         */
+        public static final byte DIRECTIONALITY_BOUNDARY_NEUTRAL = (byte)BOUNDARY_NEUTRAL;
+
+        /**
+         * Number of directional types
+         * @stable ICU 2.1
+         */
+        public static final int CHAR_DIRECTION_COUNT       = 19;
+
+        /**
+         * Undefined bidirectional character type. Undefined <code>char</code>
+         * values have undefined directionality in the Unicode specification.
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+         */
+        public static final byte DIRECTIONALITY_UNDEFINED = -1;
+    }
+}
diff --git a/src/com/ibm/icu/lang/UCharacterNameIterator.java b/src/com/ibm/icu/lang/UCharacterNameIterator.java
new file mode 100644
index 0000000..012828a
--- /dev/null
+++ b/src/com/ibm/icu/lang/UCharacterNameIterator.java
@@ -0,0 +1,333 @@
+/*
+******************************************************************************
+* Copyright (C) 1996-2004, International Business Machines Corporation and   *
+* others. All Rights Reserved.                                               *
+******************************************************************************
+*/
+
+package com.ibm.icu.lang;
+
+import com.ibm.icu.util.ValueIterator;
+import com.ibm.icu.impl.UCharacterName;
+import com.ibm.icu.impl.UCharacterNameChoice;
+
+/**
+ * <p>Class enabling iteration of the codepoints and their names.</p>
+ * <p>Result of each iteration contains a valid codepoint that has valid
+ * name.</p>
+ * <p>See UCharacter.getNameIterator() for an example of use.</p>
+ * @author synwee
+ * @since release 2.1, March 5 2002
+ */
+class UCharacterNameIterator implements ValueIterator
+{
+    // public methods ----------------------------------------------------
+
+    /**
+    * <p>Gets the next result for this iteration and returns
+    * true if we are not at the end of the iteration, false otherwise.</p>
+    * <p>If the return boolean is a false, the contents of elements will not
+    * be updated.</p>
+    * @param element for storing the result codepoint and name
+    * @return true if we are not at the end of the iteration, false otherwise.
+    * @see Element
+    * @draft 2.1
+    */
+    public boolean next(ValueIterator.Element element)
+    {
+        if (m_current_ >= m_limit_) {
+            return false;
+        }
+
+        if (m_choice_ != UCharacterNameChoice.UNICODE_10_CHAR_NAME) {
+            int length = m_name_.getAlgorithmLength();
+            if (m_algorithmIndex_ < length) {
+                while (m_algorithmIndex_ < length) {
+                    // find the algorithm range that could contain m_current_
+                    if (m_algorithmIndex_ < 0 ||
+                        m_name_.getAlgorithmEnd(m_algorithmIndex_) <
+                        m_current_) {
+                        m_algorithmIndex_ ++;
+                    }
+                    else {
+                        break;
+                    }
+                }
+
+                if (m_algorithmIndex_ < length) {
+                    // interleave the data-driven ones with the algorithmic ones
+                    // iterate over all algorithmic ranges; assume that they are
+                    // in ascending order
+                    int start = m_name_.getAlgorithmStart(m_algorithmIndex_);
+                    if (m_current_ < start) {
+                        // this should get rid of those codepoints that are not
+                        // in the algorithmic range
+                        int end = start;
+                        if (m_limit_ <= start) {
+                            end = m_limit_;
+                        }
+                        if (!iterateGroup(element, end)) {
+                            m_current_ ++;
+                            return true;
+                        }
+                    }
+
+                    if (m_current_ >= m_limit_) {
+                        // after iterateGroup fails, current codepoint may be
+                        // greater than limit
+                        return false;
+                    }
+
+                    element.integer = m_current_;
+                    element.value   = m_name_.getAlgorithmName(m_algorithmIndex_,
+                                                                   m_current_);
+                    // reset the group index if we are in the algorithmic names
+                    m_groupIndex_ = -1;
+                    m_current_ ++;
+                    return true;
+                }
+            }
+        }
+        // enumerate the character names after the last algorithmic range
+        if (!iterateGroup(element, m_limit_)) {
+            m_current_ ++;
+            return true;
+        }
+        else if (m_choice_ == UCharacterNameChoice.EXTENDED_CHAR_NAME) {
+            if (!iterateExtended(element, m_limit_)) {
+                m_current_ ++;
+                return true;
+            }
+        }
+
+        return false;
+    }
+
+    /**
+    * <p>Resets the iterator to start iterating from the integer index
+    * UCharacter.MIN_VALUE or X if a setRange(X, Y) has been called previously.
+    * </p>
+    * @draft 2.1
+    */
+    public void reset()
+    {
+        m_current_        = m_start_;
+        m_groupIndex_     = -1;
+        m_algorithmIndex_ = -1;
+    }
+
+    /**
+     * <p>Restricts the range of integers to iterate and resets the iteration
+     * to begin at the index argument start.</p>
+     * <p>If setRange(start, end) is not performed before next(element) is
+     * called, the iteration will start from the integer index
+     * UCharacter.MIN_VALUE and end at UCharacter.MAX_VALUE.</p>
+     * <p>
+     * If this range is set outside the range of UCharacter.MIN_VALUE and
+     * UCharacter.MAX_VALUE, next(element) will always return false.
+     * </p>
+     * @param start first integer in range to iterate
+     * @param limit 1 integer after the last integer in range
+     * @exception IllegalArgumentException thrown when attempting to set an
+     *            illegal range. E.g limit <= start
+     * @draft 2.1
+     */
+    public void setRange(int start, int limit)
+    {
+        if (start >= limit) {
+            throw new IllegalArgumentException(
+                "start or limit has to be valid Unicode codepoints and start < limit");
+        }
+        if (start < UCharacter.MIN_VALUE) {
+            m_start_ = UCharacter.MIN_VALUE;
+        }
+        else {
+            m_start_ = start;
+        }
+
+        if (limit > UCharacter.MAX_VALUE + 1) {
+            m_limit_ = UCharacter.MAX_VALUE + 1;
+        }
+        else {
+            m_limit_ = limit;
+        }
+        m_current_ = m_start_;
+    }
+
+    // protected constructor ---------------------------------------------
+
+    /**
+    * Constructor
+    * @param name name data
+    * @param choice name choice from the class
+    *               com.ibm.icu.lang.UCharacterNameChoice
+    * @draft 2.1
+    */
+    protected UCharacterNameIterator(UCharacterName name, int choice)
+    {
+        if(name==null){
+            throw new IllegalArgumentException("UCharacterName name argument cannot be null. Missing unames.icu?");
+        }
+        m_name_    = name;
+        // no explicit choice in UCharacter so no checks on choice
+        m_choice_  = choice;
+        m_start_   = UCharacter.MIN_VALUE;
+        m_limit_   = UCharacter.MAX_VALUE + 1;
+        m_current_ = m_start_;
+    }
+
+    // private data members ---------------------------------------------
+
+    /**
+     * Name data
+     */
+    private UCharacterName m_name_;
+    /**
+     * Name choice
+     */
+    private int m_choice_;
+     /**
+     * Start iteration range
+     */
+    private int m_start_;
+    /**
+     * End + 1 iteration range
+     */
+    private int m_limit_;
+    /**
+     * Current codepoint
+     */
+    private int m_current_;
+    /**
+     * Group index
+     */
+    private int m_groupIndex_ = -1;
+    /**
+     * Algorithm index
+     */
+    private int m_algorithmIndex_ = -1;
+    /**
+    * Group use
+    */
+    private static char GROUP_OFFSETS_[] =
+                                new char[UCharacterName.LINES_PER_GROUP_ + 1];
+    private static char GROUP_LENGTHS_[] =
+                                new char[UCharacterName.LINES_PER_GROUP_ + 1];
+
+    // private methods --------------------------------------------------
+
+    /**
+     * Group name iteration, iterate all the names in the current 32-group and
+     * returns the first codepoint that has a valid name.
+     * @param result stores the result codepoint and name
+     * @param limit last codepoint + 1 in range to search
+     * @return false if a codepoint with a name is found in group and we can
+     *         bail from further iteration, true to continue on with the
+     *         iteration
+     */
+    private boolean iterateSingleGroup(ValueIterator.Element result, int limit)
+    {
+        synchronized(GROUP_OFFSETS_) {
+        synchronized(GROUP_LENGTHS_) {
+            int index = m_name_.getGroupLengths(m_groupIndex_, GROUP_OFFSETS_,
+                                                GROUP_LENGTHS_);
+            while (m_current_ < limit) {
+                int    offset = UCharacterName.getGroupOffset(m_current_);
+                String name   = m_name_.getGroupName(
+                                          index + GROUP_OFFSETS_[offset],
+                                          GROUP_LENGTHS_[offset], m_choice_);
+                if ((name == null || name.length() == 0) &&
+                    m_choice_ == UCharacterNameChoice.EXTENDED_CHAR_NAME) {
+                    name = m_name_.getExtendedName(m_current_);
+                }
+                if (name != null && name.length() > 0) {
+                    result.integer = m_current_;
+                    result.value   = name;
+                    return false;
+                }
+                ++ m_current_;
+            }
+        }
+        }
+        return true;
+    }
+
+    /**
+     * Group name iteration, iterate all the names in the current 32-group and
+     * returns the first codepoint that has a valid name.
+     * @param result stores the result codepoint and name
+     * @param limit last codepoint + 1 in range to search
+     * @return false if a codepoint with a name is found in group and we can
+     *         bail from further iteration, true to continue on with the
+     *         iteration
+     */
+    private boolean iterateGroup(ValueIterator.Element result, int limit)
+    {
+        if (m_groupIndex_ < 0) {
+            m_groupIndex_ = m_name_.getGroup(m_current_);
+        }
+
+        while (m_groupIndex_ < m_name_.m_groupcount_ &&
+               m_current_ < limit) {
+            // iterate till the last group or the last codepoint
+            int startMSB = UCharacterName.getCodepointMSB(m_current_);
+            int gMSB     = m_name_.getGroupMSB(m_groupIndex_); // can be -1
+            if (startMSB == gMSB) {
+                if (startMSB == UCharacterName.getCodepointMSB(limit - 1)) {
+                    // if start and limit - 1 are in the same group, then enumerate
+                    // only in that one
+                    return iterateSingleGroup(result, limit);
+                }
+                // enumerate characters in the partial start group
+                // if (m_name_.getGroupOffset(m_current_) != 0) {
+                if (!iterateSingleGroup(result,
+                                        UCharacterName.getGroupLimit(gMSB))) {
+                    return false;
+                }
+                ++ m_groupIndex_; // continue with the next group
+            }
+            else if (startMSB > gMSB) {
+                    // make sure that we start enumerating with the first group
+                    // after start
+                    m_groupIndex_ ++;
+            }
+            else {
+                int gMIN = UCharacterName.getGroupMin(gMSB);
+                if (gMIN > limit) {
+                    gMIN = limit;
+                }
+                if (m_choice_ == UCharacterNameChoice.EXTENDED_CHAR_NAME) {
+                    if (!iterateExtended(result, gMIN)) {
+                        return false;
+                    }
+                }
+                m_current_ = gMIN;
+            }
+        }
+
+        return true;
+    }
+
+    /**
+     * Iterate extended names.
+     * @param result stores the result codepoint and name
+     * @param limit last codepoint + 1 in range to search
+     * @return false if a codepoint with a name is found and we can
+     *         bail from further iteration, true to continue on with the
+     *         iteration (this will always be false for valid codepoints)
+     */
+    private boolean iterateExtended(ValueIterator.Element result,
+                                    int limit)
+    {
+        while (m_current_ < limit) {
+            String name = m_name_.getExtendedOr10Name(m_current_);
+            if (name != null && name.length() > 0) {
+                result.integer = m_current_;
+                result.value   = name;
+                return false;
+            }
+            ++ m_current_;
+        }
+        return true;
+    }
+}
diff --git a/src/com/ibm/icu/lang/UCharacterTypeIterator.java b/src/com/ibm/icu/lang/UCharacterTypeIterator.java
new file mode 100755
index 0000000..1404335
--- /dev/null
+++ b/src/com/ibm/icu/lang/UCharacterTypeIterator.java
@@ -0,0 +1,70 @@
+/*
+******************************************************************************
+* Copyright (C) 1996-2005, International Business Machines Corporation and   *
+* others. All Rights Reserved.                                               *
+******************************************************************************
+*/
+
+package com.ibm.icu.lang;
+
+import com.ibm.icu.impl.TrieIterator;
+import com.ibm.icu.impl.UCharacterProperty;
+
+/**
+ * Class enabling iteration of the codepoints according to their types.
+ * Result of each iteration contains the interval of codepoints that have
+ * the same type.
+ * Example of use:<br>
+ * <pre>
+ * RangeValueIterator iterator = UCharacter.getTypeIterator();
+ * RangeValueIterator.Element element = new RangeValueIterator.Element();
+ * while (iterator.next(element)) {
+ *     System.out.println("Codepoint \\u" + 
+ *                        Integer.toHexString(element.start) + 
+ *                        " to codepoint \\u" +
+ *                        Integer.toHexString(element.limit - 1) + 
+ *                        " has the character type " + 
+ *                        element.value);
+ * }
+ * </pre>
+ * @author synwee
+ * @see com.ibm.icu.util.TrieIterator
+ * @since release 2.1, Jan 24 2002
+ */
+class UCharacterTypeIterator extends TrieIterator
+{
+    // protected constructor ---------------------------------------------
+    
+    /**
+    * TrieEnumeration constructor
+    * @param property the unicode character properties to be used
+    * @draft 2.1
+    */
+    protected UCharacterTypeIterator(UCharacterProperty property)
+    {
+       super(property.m_trie_);
+    }
+    
+    // protected methods ----------------------------------------------
+    
+    /**
+    * Called by nextElement() to extracts a 32 bit value from a trie value
+    * used for comparison.
+    * This method is to be overwritten if special manipulation is to be done
+    * to retrieve a relevant comparison.
+    * The default function is to return the value as it is.
+    * @param value a value from the trie
+    * @return extracted value
+    */
+    protected int extract(int value)
+    {
+        return value & UCharacterProperty.TYPE_MASK;
+    }
+    
+    // private data members ---------------------------------------------
+    
+    /**
+     * Character property
+     */
+    private int m_property_[];
+}
\ No newline at end of file
diff --git a/src/com/ibm/icu/lang/UProperty.java b/src/com/ibm/icu/lang/UProperty.java
new file mode 100644
index 0000000..d6fd8dd
--- /dev/null
+++ b/src/com/ibm/icu/lang/UProperty.java
@@ -0,0 +1,851 @@
+/**
+*******************************************************************************
+* Copyright (C) 1996-2005, international Business Machines Corporation and    *
+* others. All Rights Reserved.                                                *
+*******************************************************************************
+*/
+
+package com.ibm.icu.lang;
+
+/**
+ * <p>Selection constants for Unicode properties. </p>
+ * <p>These constants are used in functions like 
+ * UCharacter.hasBinaryProperty(int) to select one of the Unicode properties. 
+ * </p>
+ * <p>The properties APIs are intended to reflect Unicode properties as 
+ * defined in the Unicode Character Database (UCD) and Unicode Technical 
+ * Reports (UTR).</p>
+ * <p>For details about the properties see <a href=http://www.unicode.org>
+ * http://www.unicode.org</a>.</p> 
+ * <p>For names of Unicode properties see the UCD file PropertyAliases.txt.
+ * </p> 
+ * <p>Important: If ICU is built with UCD files from Unicode versions below 
+ * 3.2, then properties marked with "new" are not or not fully 
+ * available. Check UCharacter.getUnicodeVersion() to be sure.</p>
+ * @author Syn Wee Quek
+ * @stable ICU 2.6
+ * @see com.ibm.icu.lang.UCharacter
+ */
+public interface UProperty
+{
+    // public data member --------------------------------------------------
+  
+    /** 
+     * <p>Binary property Alphabetic. </p>
+     * <p>Property for UCharacter.isUAlphabetic(), different from the property 
+     * in UCharacter.isalpha().</p>
+     * <p>Lu + Ll + Lt + Lm + Lo + Nl + Other_Alphabetic.</p>
+     * @stable ICU 2.6
+     */ 
+    public static final int ALPHABETIC = 0; 
+
+    /** 
+     * First constant for binary Unicode properties. 
+     * @stable ICU 2.6
+     */ 
+    public static final int BINARY_START = ALPHABETIC;
+
+    /** 
+     * Binary property ASCII_Hex_Digit (0-9 A-F a-f).
+     * @stable ICU 2.6
+     */ 
+    public static final int ASCII_HEX_DIGIT = 1; 
+
+    /** 
+     * <p>Binary property Bidi_Control.</p>
+     * <p>Format controls which have specific functions in the Bidi Algorithm.
+     * </p> 
+     * @stable ICU 2.6
+     */ 
+    public static final int BIDI_CONTROL = 2; 
+
+    /** 
+     * <p>Binary property Bidi_Mirrored.</p> 
+     * <p>Characters that may change display in RTL text.</p> 
+     * <p>Property for UCharacter.isMirrored().</p> 
+     * <p>See Bidi Algorithm; UTR 9.</p> 
+     * @stable ICU 2.6
+     */ 
+    public static final int BIDI_MIRRORED = 3; 
+
+    /** 
+     * <p>Binary property Dash.</p> 
+     * <p>Variations of dashes.</p> 
+     * @stable ICU 2.6
+     */ 
+    public static final int DASH = 4; 
+
+    /** 
+     * <p>Binary property Default_Ignorable_Code_Point (new).
+     * </p> 
+     * <p>Property that indicates codepoint is ignorable in most processing.
+     * </p>
+     * <p>Codepoints (2060..206F, FFF0..FFFB, E0000..E0FFF) + 
+     * Other_Default_Ignorable_Code_Point + (Cf + Cc + Cs - White_Space)</p> 
+     * @stable ICU 2.6
+     */ 
+    public static final int DEFAULT_IGNORABLE_CODE_POINT = 5; 
+
+    /** 
+     * <p>Binary property Deprecated (new).</p> 
+     * <p>The usage of deprecated characters is strongly discouraged.</p> 
+     * @stable ICU 2.6
+     */ 
+    public static final int DEPRECATED = 6; 
+
+    /** 
+     * <p>Binary property Diacritic.</p> 
+     * <p>Characters that linguistically modify the meaning of another 
+     * character to which they apply.</p> 
+     * @stable ICU 2.6
+     */ 
+    public static final int DIACRITIC = 7; 
+
+    /** 
+     * <p>Binary property Extender.</p> 
+     * <p>Extend the value or shape of a preceding alphabetic character, e.g.
+     * length and iteration marks.</p> 
+     * @stable ICU 2.6
+     */ 
+    public static final int EXTENDER = 8; 
+
+    /** 
+     * <p>Binary property Full_Composition_Exclusion.</p> 
+     * <p>CompositionExclusions.txt + Singleton Decompositions + 
+     * Non-Starter Decompositions.</p> 
+     * @stable ICU 2.6
+     */ 
+    public static final int FULL_COMPOSITION_EXCLUSION = 9; 
+
+    /** 
+     * <p>Binary property Grapheme_Base (new).</p>
+     * <p>For programmatic determination of grapheme cluster boundaries. 
+     * [0..10FFFF]-Cc-Cf-Cs-Co-Cn-Zl-Zp-Grapheme_Link-Grapheme_Extend-CGJ</p> 
+     * @stable ICU 2.6
+     */ 
+    public static final int GRAPHEME_BASE = 10; 
+
+    /** 
+     * <p>Binary property Grapheme_Extend (new).</p> 
+     * <p>For programmatic determination of grapheme cluster boundaries.</p> 
+     * <p>Me+Mn+Mc+Other_Grapheme_Extend-Grapheme_Link-CGJ</p> 
+     * @stable ICU 2.6
+     */ 
+    public static final int GRAPHEME_EXTEND = 11; 
+
+    /** 
+     * <p>Binary property Grapheme_Link (new).</p> 
+     * <p>For programmatic determination of grapheme cluster boundaries.</p> 
+     * @stable ICU 2.6
+     */ 
+    public static final int GRAPHEME_LINK = 12; 
+
+    /** 
+     * <p>Binary property Hex_Digit.</p> 
+     * <p>Characters commonly used for hexadecimal numbers.</p> 
+     * @stable ICU 2.6
+     */ 
+    public static final int HEX_DIGIT = 13; 
+
+    /** 
+     * <p>Binary property Hyphen.</p> 
+     * <p>Dashes used to mark connections between pieces of words, plus the 
+     * Katakana middle dot.</p> 
+     * @stable ICU 2.6
+     */ 
+    public static final int HYPHEN = 14; 
+
+    /** 
+     * <p>Binary property ID_Continue.</p>
+     * <p>Characters that can continue an identifier.</p> 
+     * <p>ID_Start+Mn+Mc+Nd+Pc</p> 
+     * @stable ICU 2.6
+     */ 
+    public static final int ID_CONTINUE = 15; 
+
+    /** 
+     * <p>Binary property ID_Start.</p> 
+     * <p>Characters that can start an identifier.</p> 
+     * <p>Lu+Ll+Lt+Lm+Lo+Nl</p> 
+     * @stable ICU 2.6
+     */ 
+    public static final int ID_START = 16; 
+
+    /** 
+     * <p>Binary property Ideographic.</p> 
+     * <p>CJKV ideographs.</p> 
+     * @stable ICU 2.6
+     */ 
+    public static final int IDEOGRAPHIC = 17; 
+
+    /** 
+     * <p>Binary property IDS_Binary_Operator (new).</p> 
+     * <p>For programmatic determination of Ideographic Description Sequences.
+     * </p> 
+     * @stable ICU 2.6
+     */ 
+    public static final int IDS_BINARY_OPERATOR = 18; 
+
+    /** 
+     * <p>Binary property IDS_Trinary_Operator (new).</p> 
+     * <p?For programmatic determination of Ideographic Description 
+     * Sequences.</p> 
+     * @stable ICU 2.6
+     */ 
+    public static final int IDS_TRINARY_OPERATOR = 19; 
+
+    /** 
+     * <p>Binary property Join_Control.</p> 
+     * <p>Format controls for cursive joining and ligation.</p> 
+     * @stable ICU 2.6
+     */ 
+    public static final int JOIN_CONTROL = 20; 
+
+    /** 
+     * <p>Binary property Logical_Order_Exception (new).</p> 
+     * <p>Characters that do not use logical order and require special 
+     * handling in most processing.</p> 
+     * @stable ICU 2.6
+     */ 
+    public static final int LOGICAL_ORDER_EXCEPTION = 21; 
+
+    /** 
+     * <p>Binary property Lowercase.</p> 
+     * <p>Same as UCharacter.isULowercase(), different from 
+     * UCharacter.islower().</p> 
+     * <p>Ll+Other_Lowercase</p> 
+     * @stable ICU 2.6
+     */ 
+    public static final int LOWERCASE = 22; 
+
+    /** <p>Binary property Math.</p> 
+     * <p>Sm+Other_Math</p> 
+     * @stable ICU 2.6
+     */ 
+    public static final int MATH = 23; 
+
+    /** 
+     * <p>Binary property Noncharacter_Code_Point.</p> 
+     * <p>Code points that are explicitly defined as illegal for the encoding 
+     * of characters.</p> 
+     * @stable ICU 2.6
+     */ 
+    public static final int NONCHARACTER_CODE_POINT = 24; 
+
+    /** 
+     * <p>Binary property Quotation_Mark.</p> 
+     * @stable ICU 2.6
+     */ 
+    public static final int QUOTATION_MARK = 25; 
+
+    /** 
+     * <p>Binary property Radical (new).</p> 
+     * <p>For programmatic determination of Ideographic Description 
+     * Sequences.</p> 
+     * @stable ICU 2.6
+     */ 
+    public static final int RADICAL = 26; 
+
+    /** 
+     * <p>Binary property Soft_Dotted (new).</p> 
+     * <p>Characters with a "soft dot", like i or j.</p>
+     * <p>An accent placed on these characters causes the dot to disappear.</p> 
+     * @stable ICU 2.6
+     */ 
+    public static final int SOFT_DOTTED = 27; 
+
+    /** 
+     * <p>Binary property Terminal_Punctuation.</p> 
+     * <p>Punctuation characters that generally mark the end of textual 
+     * units.</p> 
+     * @stable ICU 2.6
+     */ 
+    public static final int TERMINAL_PUNCTUATION = 28; 
+
+    /** 
+     * <p>Binary property Unified_Ideograph (new).</p> 
+     * <p>For programmatic determination of Ideographic Description 
+     * Sequences.</p> 
+     * @stable ICU 2.6
+     */ 
+    public static final int UNIFIED_IDEOGRAPH = 29; 
+
+    /** 
+     * <p>Binary property Uppercase.</p> 
+     * <p>Same as UCharacter.isUUppercase(), different from 
+     * UCharacter.isUpperCase().</p> 
+     * <p>Lu+Other_Uppercase</p> 
+     * @stable ICU 2.6
+     */ 
+    public static final int UPPERCASE = 30; 
+
+    /** 
+     * <p>Binary property White_Space.</p> 
+     * <p>Same as UCharacter.isUWhiteSpace(), different from 
+     * UCharacter.isSpace() and UCharacter.isWhitespace().</p> 
+     * Space characters+TAB+CR+LF-ZWSP-ZWNBSP</p> 
+     * @stable ICU 2.6
+     */ 
+    public static final int WHITE_SPACE = 31; 
+
+    /** 
+     * <p>Binary property XID_Continue.</p> 
+     * <p>ID_Continue modified to allow closure under normalization forms 
+     * NFKC and NFKD.</p> 
+     * @stable ICU 2.6
+     */ 
+    public static final int XID_CONTINUE = 32; 
+
+    /** 
+     * <p>Binary property XID_Start.</p> 
+     * <p>ID_Start modified to allow closure under normalization forms NFKC 
+     * and NFKD.</p> 
+     * @stable ICU 2.6
+     */ 
+    public static final int XID_START = 33; 
+
+    /**
+     * <p>Binary property Case_Sensitive.</p>
+     * <p>Either the source of a case
+     * mapping or _in_ the target of a case mapping. Not the same as
+     * the general category Cased_Letter.</p>
+     * @stable ICU 2.6
+     */
+    public static final int CASE_SENSITIVE = 34;
+
+    /**
+     * Binary property STerm (new in Unicode 4.0.1).
+     * Sentence Terminal. Used in UAX #29: Text Boundaries
+     * (http://www.unicode.org/reports/tr29/)
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final int S_TERM = 35;
+
+    /**
+     * Binary property Variation_Selector (new in Unicode 4.0.1).
+     * Indicates all those characters that qualify as Variation Selectors.
+     * For details on the behavior of these characters,
+     * see StandardizedVariants.html and 15.6 Variation Selectors.
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final int VARIATION_SELECTOR = 36;
+
+    /** 
+     * Binary property NFD_Inert.
+     * ICU-specific property for characters that are inert under NFD,
+     * i.e., they do not interact with adjacent characters.
+     * Used for example in normalizing transforms in incremental mode
+     * to find the boundary of safely normalizable text despite possible
+     * text additions.
+     *
+     * There is one such property per normalization form.
+     * These properties are computed as follows - an inert character is:
+     * a) unassigned, or ALL of the following:
+     * b) of combining class 0.
+     * c) not decomposed by this normalization form.
+     * AND if NFC or NFKC,
+     * d) can never compose with a previous character.
+     * e) can never compose with a following character.
+     * f) can never change if another character is added.
+     * Example: a-breve might satisfy all but f, but if you
+     * add an ogonek it changes to a-ogonek + breve
+     *
+     * See also com.ibm.text.UCD.NFSkippable in the ICU4J repository,
+     * and icu/source/common/unormimp.h .
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final int NFD_INERT = 37;
+
+    /** 
+     * Binary property NFKD_Inert.
+     * ICU-specific property for characters that are inert under NFKD,
+     * i.e., they do not interact with adjacent characters.
+     * Used for example in normalizing transforms in incremental mode
+     * to find the boundary of safely normalizable text despite possible
+     * text additions.
+     * @see #NFD_INERT
+     * @draft ICU 3.0 
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final int NFKD_INERT = 38;
+
+    /** 
+     * Binary property NFC_Inert.
+     * ICU-specific property for characters that are inert under NFC,
+     * i.e., they do not interact with adjacent characters.
+     * Used for example in normalizing transforms in incremental mode
+     * to find the boundary of safely normalizable text despite possible
+     * text additions.
+     * @see #NFD_INERT
+     * @draft ICU 3.0 
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final int NFC_INERT = 39;
+
+    /** 
+     * Binary property NFKC_Inert.
+     * ICU-specific property for characters that are inert under NFKC,
+     * i.e., they do not interact with adjacent characters.
+     * Used for example in normalizing transforms in incremental mode
+     * to find the boundary of safely normalizable text despite possible
+     * text additions.
+     * @see #NFD_INERT
+     * @draft ICU 3.0 
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final int NFKC_INERT = 40;
+
+    /**
+     * Binary Property Segment_Starter.
+     * ICU-specific property for characters that are starters in terms of
+     * Unicode normalization and combining character sequences.
+     * They have ccc=0 and do not occur in non-initial position of the
+     * canonical decomposition of any character
+     * (like " in NFD(a-umlaut) and a Jamo T in an NFD(Hangul LVT)).
+     * ICU uses this property for segmenting a string for generating a set of
+     * canonically equivalent strings, e.g. for canonical closure while
+     * processing collation tailoring rules.
+     * @draft ICU 3.0 
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final int SEGMENT_STARTER = 41;
+
+    /**
+     * Binary property Pattern_Syntax (new in Unicode 4.1).
+     * See UAX #31 Identifier and Pattern Syntax
+     * (http://www.unicode.org/reports/tr31/)
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final int PATTERN_SYNTAX = 42;
+
+    /**
+     * Binary property Pattern_White_Space (new in Unicode 4.1).
+     * See UAX #31 Identifier and Pattern Syntax
+     * (http://www.unicode.org/reports/tr31/)
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final int PATTERN_WHITE_SPACE = 43;
+
+    /**
+     * Binary property alnum (a C/POSIX character class).
+     * Implemented according to the UTS #18 Annex C Standard Recommendation.
+     * See the UCharacter class documentation.
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final int POSIX_ALNUM = 44;
+
+    /**
+     * Binary property blank (a C/POSIX character class).
+     * Implemented according to the UTS #18 Annex C Standard Recommendation.
+     * See the UCharacter class documentation.
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final int POSIX_BLANK = 45;
+
+    /**
+     * Binary property graph (a C/POSIX character class).
+     * Implemented according to the UTS #18 Annex C Standard Recommendation.
+     * See the UCharacter class documentation.
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final int POSIX_GRAPH = 46;
+
+    /**
+     * Binary property print (a C/POSIX character class).
+     * Implemented according to the UTS #18 Annex C Standard Recommendation.
+     * See the UCharacter class documentation.
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final int POSIX_PRINT = 47;
+
+    /**
+     * Binary property xdigit (a C/POSIX character class).
+     * Implemented according to the UTS #18 Annex C Standard Recommendation.
+     * See the UCharacter class documentation.
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final int POSIX_XDIGIT = 48;
+
+    /** 
+     * <p>One more than the last constant for binary Unicode properties.</p> 
+     * @stable ICU 2.6
+     */
+    public static final int BINARY_LIMIT = 49;
+    
+    /** 
+     * Enumerated property Bidi_Class.
+     * Same as UCharacter.getDirection(int), returns UCharacterDirection values. 
+     * @stable ICU 2.4 
+     */
+    public static final int BIDI_CLASS = 0x1000;
+
+    /** 
+     * First constant for enumerated/integer Unicode properties. 
+     * @stable ICU 2.4
+     */
+    public static final int INT_START = BIDI_CLASS;
+
+    /** 
+     * Enumerated property Block.
+     * Same as UCharacter.UnicodeBlock.of(int), returns UCharacter.UnicodeBlock 
+     * values. 
+     * @stable ICU 2.4 
+     */
+    public static final int BLOCK = 0x1001;
+
+    /** 
+     * Enumerated property Canonical_Combining_Class.
+     * Same as UCharacter.getCombiningClass(int), returns 8-bit numeric values. 
+     * @stable ICU 2.4 
+     */
+    public static final int CANONICAL_COMBINING_CLASS = 0x1002;
+
+    /** 
+     * Enumerated property Decomposition_Type.
+     * Returns UCharacter.DecompositionType values. 
+     * @stable ICU 2.4
+     */
+    public static final int DECOMPOSITION_TYPE = 0x1003;
+
+    /** 
+     * Enumerated property East_Asian_Width.
+     * See http://www.unicode.org/reports/tr11/
+     * Returns UCharacter.EastAsianWidth values. 
+     * @stable ICU 2.4 
+     */
+    public static final int EAST_ASIAN_WIDTH = 0x1004;
+
+    /** 
+     * Enumerated property General_Category.
+     * Same as UCharacter.getType(int), returns UCharacterCategory values. 
+     * @stable ICU 2.4 
+     */
+    public static final int GENERAL_CATEGORY = 0x1005;
+
+    /** 
+     * Enumerated property Joining_Group.
+     * Returns UCharacter.JoiningGroup values. 
+     * @stable ICU 2.4 
+     */
+    public static final int JOINING_GROUP = 0x1006;
+
+    /** 
+     * Enumerated property Joining_Type.
+     * Returns UCharacter.JoiningType values. 
+     * @stable ICU 2.4 
+     */
+    public static final int JOINING_TYPE = 0x1007;
+
+    /** 
+     * Enumerated property Line_Break.
+     * Returns UCharacter.LineBreak values. 
+     * @stable ICU 2.4 
+     */
+    public static final int LINE_BREAK = 0x1008;
+
+    /** 
+     * Enumerated property Numeric_Type.
+     * Returns UCharacter.NumericType values. 
+     * @stable ICU 2.4 
+     */
+    public static final int NUMERIC_TYPE = 0x1009;
+
+    /** 
+     * Enumerated property Script.
+     * Same as UScript.getScript(int), returns UScript values. 
+     * @stable ICU 2.4 
+     */
+    public static final int SCRIPT = 0x100A;
+    
+    /** 
+     * Enumerated property Hangul_Syllable_Type, new in Unicode 4.
+     * Returns HangulSyllableType values. 
+     * @stable ICU 2.6 
+     */
+    public static final int HANGUL_SYLLABLE_TYPE = 0x100B;
+
+    /**
+     * Enumerated property NFD_Quick_Check.
+     * Returns numeric values compatible with Normalizer.QuickCheckResult.
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final int NFD_QUICK_CHECK = 0x100C;
+
+    /**
+     * Enumerated property NFKD_Quick_Check.
+     * Returns numeric values compatible with Normalizer.QuickCheckResult.
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final int NFKD_QUICK_CHECK = 0x100D;
+
+    /**
+     * Enumerated property NFC_Quick_Check.
+     * Returns numeric values compatible with Normalizer.QuickCheckResult.
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final int NFC_QUICK_CHECK = 0x100E;
+
+    /**
+     * Enumerated property NFKC_Quick_Check.
+     * Returns numeric values compatible with Normalizer.QuickCheckResult.
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final int NFKC_QUICK_CHECK = 0x100F;
+
+    /**
+     * Enumerated property Lead_Canonical_Combining_Class.
+     * ICU-specific property for the ccc of the first code point
+     * of the decomposition, or lccc(c)=ccc(NFD(c)[0]).
+     * Useful for checking for canonically ordered text;
+     * see Normalizer.FCD and http://www.unicode.org/notes/tn5/#FCD .
+     * Returns 8-bit numeric values like CANONICAL_COMBINING_CLASS.
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final int LEAD_CANONICAL_COMBINING_CLASS = 0x1010;
+
+    /**
+     * Enumerated property Trail_Canonical_Combining_Class.
+     * ICU-specific property for the ccc of the last code point
+     * of the decomposition, or lccc(c)=ccc(NFD(c)[last]).
+     * Useful for checking for canonically ordered text;
+     * see Normalizer.FCD and http://www.unicode.org/notes/tn5/#FCD .
+     * Returns 8-bit numeric values like CANONICAL_COMBINING_CLASS.
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final int TRAIL_CANONICAL_COMBINING_CLASS = 0x1011;
+
+    /**
+     * Enumerated property Grapheme_Cluster_Break (new in Unicode 4.1).
+     * Used in UAX #29: Text Boundaries
+     * (http://www.unicode.org/reports/tr29/)
+     * Returns UGraphemeClusterBreak values.
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final int GRAPHEME_CLUSTER_BREAK = 0x1012;
+
+    /**
+     * Enumerated property Sentence_Break (new in Unicode 4.1).
+     * Used in UAX #29: Text Boundaries
+     * (http://www.unicode.org/reports/tr29/)
+     * Returns USentenceBreak values.
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final int SENTENCE_BREAK = 0x1013;
+
+    /**
+     * Enumerated property Word_Break (new in Unicode 4.1).
+     * Used in UAX #29: Text Boundaries
+     * (http://www.unicode.org/reports/tr29/)
+     * Returns UWordBreakValues values.
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final int WORD_BREAK = 0x1014;
+
+    /** 
+     * One more than the last constant for enumerated/integer Unicode 
+     * properties. 
+     * @stable ICU 2.4 
+     */
+    public static final int INT_LIMIT = 0x1015;
+
+    /** 
+     * Bitmask property General_Category_Mask.
+     * This is the General_Category property returned as a bit mask.
+     * When used in UCharacter.getIntPropertyValue(c),
+     * returns bit masks for UCharacterCategory values where exactly one bit is set. 
+     * When used with UCharacter.getPropertyValueName() and UCharacter.getPropertyValueEnum(), 
+     * a multi-bit mask is used for sets of categories like "Letters". 
+     * @stable ICU 2.4
+     */ 
+    public static final int GENERAL_CATEGORY_MASK = 0x2000; 
+
+    /** 
+     * First constant for bit-mask Unicode properties. 
+     * @stable ICU 2.4
+     */
+    public static final int MASK_START = GENERAL_CATEGORY_MASK;
+
+    /** 
+     * One more than the last constant for bit-mask Unicode properties. 
+     * @stable ICU 2.4
+     */ 
+    public static final int MASK_LIMIT = 0x2001; 
+    
+    /**
+     * Double property Numeric_Value.
+     * Corresponds to UCharacter.getUnicodeNumericValue(int).
+     * @stable ICU 2.4
+     */
+    public static final int NUMERIC_VALUE = 0x3000;
+
+    /**
+     * First constant for double Unicode properties.
+     * @stable ICU 2.4
+     */
+    public static final int DOUBLE_START = NUMERIC_VALUE;
+
+    /**
+     * One more than the last constant for double Unicode properties.
+     * @stable ICU 2.4
+     */
+    public static final int DOUBLE_LIMIT = 0x3001;
+
+    /**
+     * String property Age.
+     * Corresponds to UCharacter.getAge(int).
+     * @stable ICU 2.4
+     */
+    public static final int AGE = 0x4000;
+
+    /**
+     * First constant for string Unicode properties.
+     * @stable ICU 2.4
+     */
+    public static final int STRING_START = AGE;
+
+    /**
+     * String property Bidi_Mirroring_Glyph.
+     * Corresponds to UCharacter.getMirror(int).
+     * @stable ICU 2.4
+     */
+    public static final int BIDI_MIRRORING_GLYPH = 0x4001;
+
+    /**
+     * String property Case_Folding.
+     * Corresponds to UCharacter.foldCase(String, boolean).
+     * @stable ICU 2.4
+     */
+    public static final int CASE_FOLDING = 0x4002;
+
+    /**
+     * String property ISO_Comment.
+     * Corresponds to UCharacter.getISOComment(int).
+     * @stable ICU 2.4
+     */
+    public static final int ISO_COMMENT = 0x4003;
+
+    /**
+     * String property Lowercase_Mapping.
+     * Corresponds to UCharacter.toLowerCase(String).
+     * @stable ICU 2.4
+     */
+    public static final int LOWERCASE_MAPPING = 0x4004;
+
+    /**
+     * String property Name.
+     * Corresponds to UCharacter.getName(int).
+     * @stable ICU 2.4
+     */
+    public static final int NAME = 0x4005;
+
+    /**
+     * String property Simple_Case_Folding.
+     * Corresponds to UCharacter.foldCase(int, boolean).
+     * @stable ICU 2.4
+     */
+    public static final int SIMPLE_CASE_FOLDING = 0x4006;
+
+    /**
+     * String property Simple_Lowercase_Mapping.
+     * Corresponds to UCharacter.toLowerCase(int).
+     * @stable ICU 2.4
+     */
+    public static final int SIMPLE_LOWERCASE_MAPPING = 0x4007;
+
+    /**
+     * String property Simple_Titlecase_Mapping.
+     * Corresponds to UCharacter.toTitleCase(int).
+     * @stable ICU 2.4
+     */
+    public static final int SIMPLE_TITLECASE_MAPPING = 0x4008;
+
+    /**
+     * String property Simple_Uppercase_Mapping.
+     * Corresponds to UCharacter.toUpperCase(int).
+     * @stable ICU 2.4
+     */
+    public static final int SIMPLE_UPPERCASE_MAPPING = 0x4009;
+
+    /**
+     * String property Titlecase_Mapping.
+     * Corresponds to UCharacter.toTitleCase(String).
+     * @stable ICU 2.4
+     */
+    public static final int TITLECASE_MAPPING = 0x400A;
+
+    /**
+     * String property Unicode_1_Name.
+     * Corresponds to UCharacter.getName1_0(int).
+     * @stable ICU 2.4
+     */
+    public static final int UNICODE_1_NAME = 0x400B;
+
+    /**
+     * String property Uppercase_Mapping.
+     * Corresponds to UCharacter.toUpperCase(String).
+     * @stable ICU 2.4
+     */
+    public static final int UPPERCASE_MAPPING = 0x400C;
+
+    /**
+     * One more than the last constant for string Unicode properties.
+     * @stable ICU 2.4
+     */
+    public static final int STRING_LIMIT = 0x400D;
+
+    /**
+     * Selector constants for UCharacter.getPropertyName() and
+     * UCharacter.getPropertyValueName().  These selectors are used to
+     * choose which name is returned for a given property or value.
+     * All properties and values have a long name.  Most have a short
+     * name, but some do not.  Unicode allows for additional names,
+     * beyond the long and short name, which would be indicated by
+     * LONG + i, where i=1, 2,...
+     *
+     * @see UCharacter#getPropertyName
+     * @see UCharacter#getPropertyValueName
+     * @stable ICU 2.4
+     */
+    public interface NameChoice {
+        /**
+         * Selector for the abbreviated name of a property or value.
+         * Most properties and values have a short name; those that do
+         * not return null.
+         * @stable ICU 2.4
+         */
+        static final int SHORT = 0;
+
+        /**
+         * Selector for the long name of a property or value.  All
+         * properties and values have a long name.
+         * @stable ICU 2.4
+         */
+        static final int LONG = 1;
+
+        /**
+         * The number of predefined property name choices.  Individual
+         * properties or values may have more than COUNT aliases.
+         * @stable ICU 2.4
+         */
+        static final int COUNT = 2;
+    }
+}
diff --git a/src/com/ibm/icu/lang/UScript.java b/src/com/ibm/icu/lang/UScript.java
new file mode 100755
index 0000000..8d43de6
--- /dev/null
+++ b/src/com/ibm/icu/lang/UScript.java
@@ -0,0 +1,541 @@
+/**
+*******************************************************************************
+* Copyright (C) 2001-2005, International Business Machines Corporation and         *
+* others. All Rights Reserved.                                                *
+*******************************************************************************
+*/
+
+package com.ibm.icu.lang;
+
+import com.ibm.icu.impl.ICUResourceBundle;
+import com.ibm.icu.impl.LocaleUtility;
+import com.ibm.icu.impl.UCharacterProperty;
+import com.ibm.icu.util.ULocale;
+import com.ibm.icu.util.UResourceBundle;
+
+import java.util.Locale;
+import java.util.MissingResourceException;
+
+/**
+ * A class to reflect UTR #24: Script Names
+ * (based on ISO 15924:2000, "Code for the representation of names of
+ * scripts").  UTR #24 describes the basis for a new Unicode data file,
+ * Scripts.txt.
+ * @stable ICU 2.4
+ */
+public final class UScript {
+    /**
+     * Puts a copyright in the .class file
+     */
+    private static final String copyrightNotice
+        = "Copyright \u00a92001 IBM Corp.  All rights reserved.";
+
+    /**
+     * Invalid code
+     * @stable ICU 2.4
+     */
+    public static final int INVALID_CODE = -1;
+    /**
+     * Common
+     * @stable ICU 2.4
+     */
+    public static final int COMMON       =  0;  /* Zyyy */
+    /**
+     * Inherited
+     * @stable ICU 2.4
+     */
+    public static final int INHERITED    =  1;  /* Qaai */
+    /**
+     * Arabic
+     * @stable ICU 2.4
+     */
+    public static final int ARABIC       =  2;  /* Arab */
+    /**
+     * Armenian
+     * @stable ICU 2.4
+     */
+    public static final int ARMENIAN     =  3;  /* Armn */
+    /**
+     * Bengali
+     * @stable ICU 2.4
+     */
+    public static final int BENGALI      =  4;  /* Beng */
+    /**
+     * Bopomofo
+     * @stable ICU 2.4
+     */
+    public static final int BOPOMOFO     =  5;  /* Bopo */
+    /**
+     * Cherokee
+     * @stable ICU 2.4
+     */
+    public static final int CHEROKEE     =  6;  /* Cher */
+    /**
+     * Coptic
+     * @stable ICU 2.4
+     */
+    public static final int COPTIC       =  7;  /* Qaac */
+    /**
+     * Cyrillic
+     * @stable ICU 2.4
+     */
+    public static final int CYRILLIC     =  8;  /* Cyrl (Cyrs) */
+    /**
+     * Deseret
+     * @stable ICU 2.4
+     */
+    public static final int DESERET      =  9;  /* Dsrt */
+    /**
+     * Devanagari
+     * @stable ICU 2.4
+     */
+    public static final int DEVANAGARI   = 10;  /* Deva */
+    /**
+     * Ethiopic
+     * @stable ICU 2.4
+     */
+    public static final int ETHIOPIC     = 11;  /* Ethi */
+    /**
+     * Georgian
+     * @stable ICU 2.4
+     */
+    public static final int GEORGIAN     = 12;  /* Geor (Geon; Geoa) */
+    /**
+     * Gothic
+     * @stable ICU 2.4
+     */
+    public static final int GOTHIC       = 13;  /* Goth */
+    /**
+     * Greek
+     * @stable ICU 2.4
+     */
+    public static final int GREEK        = 14;  /* Grek */
+    /**
+     * Gujarati
+     * @stable ICU 2.4
+     */
+    public static final int GUJARATI     = 15;  /* Gujr */
+    /**
+     * Gurmukhi
+     * @stable ICU 2.4
+     */
+    public static final int GURMUKHI     = 16;  /* Guru */
+    /**
+     * Han
+     * @stable ICU 2.4
+     */
+    public static final int HAN          = 17;  /* Hani */
+    /**
+     * Hangul
+     * @stable ICU 2.4
+     */
+    public static final int HANGUL       = 18;  /* Hang */
+    /**
+     * Hebrew
+     * @stable ICU 2.4
+     */
+    public static final int HEBREW       = 19;  /* Hebr */
+    /**
+     * Hiragana
+     * @stable ICU 2.4
+     */
+    public static final int HIRAGANA     = 20;  /* Hira */
+    /**
+     * Kannada
+     * @stable ICU 2.4
+     */
+    public static final int KANNADA      = 21;  /* Knda */
+    /**
+     * Katakana
+     * @stable ICU 2.4
+     */
+    public static final int KATAKANA     = 22;  /* Kana */
+    /**
+     * Khmer
+     * @stable ICU 2.4
+     */
+    public static final int KHMER        = 23;  /* Khmr */
+    /**
+     * Lao
+     * @stable ICU 2.4
+     */
+    public static final int LAO          = 24;  /* Laoo */
+    /**
+     * Latin
+     * @stable ICU 2.4
+     */
+    public static final int LATIN        = 25;  /* Latn (Latf; Latg) */
+    /**
+     * Malayalam
+     * @stable ICU 2.4
+     */
+    public static final int MALAYALAM    = 26;  /* Mlym */
+    /**
+     * Mangolian
+     * @stable ICU 2.4
+     */
+    public static final int MONGOLIAN    = 27;  /* Mong */
+    /**
+     * Myammar
+     * @stable ICU 2.4
+     */
+    public static final int MYANMAR      = 28;  /* Mymr */
+    /**
+     * Ogham
+     * @stable ICU 2.4
+     */
+    public static final int OGHAM        = 29;  /* Ogam */
+    /**
+     * Old Itallic
+     * @stable ICU 2.4
+     */
+    public static final int OLD_ITALIC   = 30;  /* Ital */
+    /**
+     * Oriya
+     * @stable ICU 2.4
+     */
+    public static final int ORIYA        = 31;  /* Orya */
+    /**
+     * Runic
+     * @stable ICU 2.4
+     */
+    public static final int RUNIC        = 32;  /* Runr */
+    /**
+     * Sinhala
+     * @stable ICU 2.4
+     */
+    public static final int SINHALA      = 33;  /* Sinh */
+    /**
+     * Syriac
+     * @stable ICU 2.4
+     */
+    public static final int SYRIAC       = 34;  /* Syrc (Syrj; Syrn; Syre) */
+    /**
+     * Tamil
+     * @stable ICU 2.4
+     */
+    public static final int TAMIL        = 35;  /* Taml */
+    /**
+     * Telugu
+     * @stable ICU 2.4
+     */
+    public static final int TELUGU       = 36;  /* Telu */
+    /**
+     * Thana
+     * @stable ICU 2.4
+     */
+    public static final int THAANA       = 37;  /* Thaa */
+    /**
+     * Thai
+     * @stable ICU 2.4
+     */
+    public static final int THAI         = 38;  /* Thai */
+    /**
+     * Tibetan
+     * @stable ICU 2.4
+     */
+    public static final int TIBETAN      = 39;  /* Tibt */
+    /**
+     * Unified Canadian Aboriginal Symbols
+     * @stable ICU 2.6
+     */
+    public static final int CANADIAN_ABORIGINAL = 40;  /* Cans */
+    /**
+     * Unified Canadian Aboriginal Symbols (alias)
+     * @stable ICU 2.4
+     */
+    public static final int UCAS         = CANADIAN_ABORIGINAL;  /* Cans */
+    /**
+     * Yi syllables
+     * @stable ICU 2.4
+     */
+    public static final int YI           = 41;  /* Yiii */
+    /**
+     * Tagalog
+     * @stable ICU 2.4
+     */
+    public static final int TAGALOG      = 42;  /* Tglg */
+    /**
+     * Hanunooo
+     * @stable ICU 2.4
+     */
+    public static final int HANUNOO      = 43;  /* Hano */
+    /**
+     * Buhid
+     * @stable ICU 2.4
+     */
+    public static final int BUHID        = 44;  /* Buhd */
+    /**
+     * Tagbanwa
+     * @stable ICU 2.4
+     */
+    public static final int TAGBANWA     = 45;  /* Tagb */
+    /**
+     * Braille
+     * New script in Unicode 4 
+     * @stable ICU 2.6 
+     * 
+     */ 
+    public static final int BRAILLE      = 46;  /* Brai */
+    /**
+     * Cypriot
+     * New script in Unicode 4 
+     * @stable ICU 2.6 
+     * 
+     */  
+    public static final int CYPRIOT              = 47;  /* Cprt */ 
+    /**
+     * Limbu
+     * New script in Unicode 4 
+     * @stable ICU 2.6 
+     * 
+     */       
+    public static final int LIMBU                = 48;  /* Limb */ 
+    /**
+     * Linear B
+     * New script in Unicode 4 
+     * @stable ICU 2.6 
+     * 
+     */ 
+    public static final int LINEAR_B     = 49;  /* Linb */ 
+    /**
+     * Osmanya
+     * New script in Unicode 4 
+     * @stable ICU 2.6 
+     * 
+     */ 
+    public static final int OSMANYA              = 50;  /* Osma */ 
+    /**
+     * Shavian
+     * New script in Unicode 4 
+     * @stable ICU 2.6 
+     * 
+     */ 
+    public static final int SHAVIAN              = 51;  /* Shaw */ 
+    /**
+     * Tai Le
+     * New script in Unicode 4 
+     * @stable ICU 2.6 
+     * 
+     */ 
+    public static final int TAI_LE               = 52;  /* Tale */ 
+    /**
+     * Ugaritic
+     * New script in Unicode 4 
+     * @stable ICU 2.6 
+     * 
+     */ 
+    public static final int UGARITIC     = 53;  /* Ugar */ 
+    /**
+     * New script code in Unicode 4.0.1
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final int KATAKANA_OR_HIRAGANA = 54;  /*Hrkt */
+
+    /* New scripts in Unicode 4.1 @draft ICU 3.4 */
+
+    /**
+     * New script code in Unicode 4.1
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final int BUGINESE = 55;           /* Bugi */
+    /**
+     * New script code in Unicode 4.1
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final int GLAGOLITIC = 56;         /* Glag */
+    /**
+     * New script code in Unicode 4.1
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final int KHAROSHTHI = 57;         /* Khar */
+    /**
+     * New script code in Unicode 4.1
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final int SYLOTI_NAGRI = 58;       /* Sylo */
+    /**
+     * New script code in Unicode 4.1
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final int NEW_TAI_LUE = 59;        /* Talu */
+    /**
+     * New script code in Unicode 4.1
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final int TIFINAGH = 60;           /* Tfng */
+    /**
+     * New script code in Unicode 4.1
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final int OLD_PERSIAN = 61;        /* Xpeo */
+
+    /**
+     * Limit
+     * @stable ICU 2.4
+     */
+    public static final int CODE_LIMIT   = 62;
+
+    private static final int SCRIPT_MASK   = 0x0000007f;
+    private static final UCharacterProperty prop= UCharacterProperty.getInstance();
+
+    //private static final String INVALID_NAME = "Invalid";
+    /**
+     * Helper function to find the code from locale.
+     * @param Locale the locale.
+     */
+    private static int[] findCodeFromLocale(ULocale locale) {
+        ICUResourceBundle rb;
+        try {
+            rb = (ICUResourceBundle)UResourceBundle.getBundleInstance(ICUResourceBundle.ICU_BASE_NAME, locale);
+        }
+        catch (MissingResourceException e) {
+            return null;
+        }
+        
+        // if rb is not a strict fallback of the requested locale, return null
+        //if(!LocaleUtility.isFallbackOf(rb.getULocale().toString(), locale.toString())){
+        //    return null;
+        //}
+        //non existent locale check
+        if(rb.getLoadingStatus()==ICUResourceBundle.FROM_DEFAULT && ! locale.equals(ULocale.getDefault())){
+            return null;
+        }
+        ICUResourceBundle sub = rb.get("LocaleScript");
+        
+        int[] result = new int[sub.getSize()];
+        int w = 0;
+        for (int i = 0; i < result.length; ++i) {
+            int code = UCharacter.getPropertyValueEnum(UProperty.SCRIPT,
+                                                       sub.getString(i));
+            result[w++] = code;
+
+        }
+
+        if (w < result.length) {
+            throw new InternalError("bad locale data, listed " + result.length + " scripts but found only " + w);
+        }
+
+        return result;
+    }
+
+    /**
+     * Gets a script codes associated with the given locale or ISO 15924 abbreviation or name.
+     * Returns MALAYAM given "Malayam" OR "Mlym".
+     * Returns LATIN given "en" OR "en_US"
+     * @param locale Locale
+     * @return The script codes array. null if the the code cannot be found.
+     * @stable ICU 2.4
+     */
+    public static final int[] getCode(Locale locale){
+        return findCodeFromLocale(ULocale.forLocale(locale));
+    }
+    /**
+     * Gets a script codes associated with the given locale or ISO 15924 abbreviation or name.
+     * Returns MALAYAM given "Malayam" OR "Mlym".
+     * Returns LATIN given "en" OR "en_US"
+     * @param locale ULocale
+     * @return The script codes array. null if the the code cannot be found.
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final int[] getCode(ULocale locale){
+        return findCodeFromLocale(locale);
+    }
+    /**
+     * Gets a script codes associated with the given locale or ISO 15924 abbreviation or name.
+     * Returns MALAYAM given "Malayam" OR "Mlym".
+     * Returns LATIN given "en" OR "en_US"
+     *
+     * <p>Note: To search by short or long script alias only, use
+     * UCharacater.getPropertyValueEnum(UProperty.SCRIPT, alias)
+     * instead.  This does a fast lookup with no access of the locale
+     * data.
+     * @param nameOrAbbrOrLocale name of the script or ISO 15924 code or locale
+     * @return The script codes array. null if the the code cannot be found.
+     * @stable ICU 2.4
+     */
+    public static final int[] getCode(String nameOrAbbrOrLocale){
+        try {
+            return new int[] {
+                UCharacter.getPropertyValueEnum(UProperty.SCRIPT,
+                                                nameOrAbbrOrLocale)
+            };
+        } catch (IllegalArgumentException e) {
+            return findCodeFromLocale(new ULocale(nameOrAbbrOrLocale));
+        }
+    }
+
+    /**
+     * Gets a script codes associated with the given ISO 15924 abbreviation or name.
+     * Returns MALAYAM given "Malayam" OR "Mlym".
+     *
+     * @param nameOrAbbr name of the script or ISO 15924 code
+     * @return The script code value or INVALID_CODE if the code cannot be found.
+     * @internal
+     */
+    public static final int getCodeFromName(String nameOrAbbr) {
+        try {
+            return UCharacter.getPropertyValueEnum(UProperty.SCRIPT,
+                                                   nameOrAbbr);
+        } catch (IllegalArgumentException e) {
+            return INVALID_CODE;
+        }
+    }
+
+    /**
+     * Gets the script code associated with the given codepoint.
+     * Returns UScript.MALAYAM given 0x0D02
+     * @param codepoint UChar32 codepoint
+     * @return The script code
+     * @stable ICU 2.4
+     */
+    public static final int getScript(int codepoint){
+        if (codepoint >= UCharacter.MIN_VALUE & codepoint <= UCharacter.MAX_VALUE) {
+            return (prop.getAdditional(codepoint,0) & SCRIPT_MASK);
+        }else{
+            throw new IllegalArgumentException(Integer.toString(codepoint));
+        }
+    }
+
+    /**
+     * Gets a script name associated with the given script code.
+     * Returns  "Malayam" given MALAYAM
+     * @param scriptCode int script code
+     * @return script name as a string in full as given in TR#24
+     * @stable ICU 2.4
+     */
+    public static final String getName(int scriptCode){
+        return UCharacter.getPropertyValueName(UProperty.SCRIPT,
+                                               scriptCode,
+                                               UProperty.NameChoice.LONG);
+    }
+
+    /**
+     * Gets a script name associated with the given script code.
+     * Returns  "Mlym" given MALAYAM
+     * @param scriptCode int script code
+     * @return script abbreviated name as a string  as given in TR#24
+     * @stable ICU 2.4
+     */
+    public static final String getShortName(int scriptCode){
+        return UCharacter.getPropertyValueName(UProperty.SCRIPT,
+                                               scriptCode,
+                                               UProperty.NameChoice.SHORT);
+    }
+    ///CLOVER:OFF
+    /**
+     *  Private Constructor. Never default construct
+     */
+    private UScript(){}
+    ///CLOVER:ON
+}
+
diff --git a/src/com/ibm/icu/lang/UScriptRun.java b/src/com/ibm/icu/lang/UScriptRun.java
new file mode 100644
index 0000000..089babd
--- /dev/null
+++ b/src/com/ibm/icu/lang/UScriptRun.java
@@ -0,0 +1,618 @@
+/*
+ *******************************************************************************
+ *
+ *   Copyright (C) 1999-2004, International Business Machines
+ *   Corporation and others.  All Rights Reserved.
+ *
+ *******************************************************************************
+ */
+
+package com.ibm.icu.lang;
+
+import com.ibm.icu.text.UTF16;
+
+/**
+ * <code>UScriptRun</code> is used to find runs of characters in
+ * the same script, as defined in the <code>UScript</code> class.
+ * It implements a simple iterator over an array of characters.
+ * The iterator will assign <code>COMMON</code> and <code>INHERITED</code>
+ * characters to the same script as the preceeding characters. If the
+ * COMMON and INHERITED characters are first, they will be assigned to
+ * the same script as the following characters.
+ *
+ * The iterator will try to match paired punctuation. If it sees an
+ * opening punctuation character, it will remember the script that
+ * was assigned to that character, and assign the same script to the
+ * matching closing punctuation.
+ *
+ * No attempt is made to combine related scripts into a single run. In
+ * particular, Hiragana, Katakana, and Han characters will appear in seperate
+ * runs.
+
+ * Here is an example of how to iterate over script runs:
+ * <pre>
+ * void printScriptRuns(char[] text)
+ * {
+ *     UScriptRun scriptRun = new UScriptRun(text);
+ *
+ *     while (scriptRun.next()) {
+ *         int start  = scriptRun.getScriptStart();
+ *         int limit  = scriptRun.getScriptLimit();
+ *         int script = scriptRun.getScriptCode();
+ *
+ *         System.out.println("Script \"" + UScript.getName(script) + "\" from " +
+ *                            start + " to " + limit + ".");
+ *     }
+ *  }
+ * </pre>
+ *
+ * @internal
+ */
+public final class UScriptRun
+{
+    /**
+     * Puts a copyright in the .class file
+     */
+    private static final String copyrightNotice
+        = "Copyright \u00a91999-2002 IBM Corp.  All rights reserved.";
+
+    /**
+     * Construct an empty <code>UScriptRun</code> object. The <code>next()</code>
+     * method will return <code>false</code> the first time it is called.
+     *
+     * @internal
+     */
+    public UScriptRun()
+    {
+        char[] nullChars = null;
+        
+        reset(nullChars, 0, 0);
+    }
+    
+    /**
+     * Construct a <code>UScriptRun</code> object which iterates over the
+     * characters in the given string.
+     *
+     * @param text the string of characters over which to iterate.
+     *
+     * @internal
+     */
+    public UScriptRun(String text)
+    {
+        reset (text);
+    }
+    
+    /**
+     * Construct a <code>UScriptRun</code> object which iterates over a subrange
+     * of the characetrs in the given string.
+     *
+     * @param text the string of characters over which to iterate.
+     * @param start the index of the first character over which to iterate
+     * @param count the number of characters over which to iterate
+     *
+     * @internal
+     */
+    public UScriptRun(String text, int start, int count)
+    {
+        reset(text, start, count);
+    }
+
+    /**
+     * Construct a <code>UScriptRun</code> object which iterates over the given
+     * characetrs.
+     *
+     * @param chars the array of characters over which to iterate.
+     *
+     * @internal
+     */
+    public UScriptRun(char[] chars)
+    {
+        reset(chars);
+    }
+
+    /**
+     * Construct a <code>UScriptRun</code> object which iterates over a subrange
+     * of the given characetrs.
+     *
+     * @param chars the array of characters over which to iterate.
+     * @param start the index of the first character over which to iterate
+     * @param count the number of characters over which to iterate
+     *
+     * @internal
+     */
+    public UScriptRun(char[] chars, int start, int count)
+    {
+        reset(chars, start, count);
+    }
+
+
+    /**
+     * Reset the iterator to the start of the text.
+     *
+     * @internal
+     */
+    public final void reset()
+    {
+        // empty any old parenStack contents.
+        // NOTE: this is not the most efficient way
+        // to do this, but it's the easiest to write...
+        while (stackIsNotEmpty()) {
+            pop();
+        }
+        
+        scriptStart = textStart;
+        scriptLimit = textStart;
+        scriptCode  = UScript.INVALID_CODE;
+        parenSP     = -1;
+        pushCount   =  0;
+        fixupCount  =  0;
+        
+        textIndex = textStart;
+    }
+
+    /**
+     * Reset the iterator to iterate over the given range of the text. Throws
+     * IllegalArgumentException if the range is outside of the bounds of the
+     * character array.
+     *
+     * @param start the index of the new first character over which to iterate
+     * @param count the new number of characters over which to iterate.
+     * @exception IllegalArgumentException
+     *
+     * @internal
+     */
+    public final void reset(int start, int count)
+    throws IllegalArgumentException
+    {
+        int len = 0;
+        
+        if (text != null) {
+            len = text.length;
+        }
+        
+        if (start < 0 || count < 0 || start > len - count) {
+            throw new IllegalArgumentException();
+        }
+        
+        textStart = start;
+        textLimit = start + count;
+
+        reset();
+    }
+
+    /**
+     * Reset the iterator to iterate over <code>count</code> characters
+     * in <code>chars</code> starting at <code>start</code>. This allows
+     * clients to reuse an iterator.
+     *
+     * @param chars the new array of characters over which to iterate.
+     * @param start the index of the first character over which to iterate.
+     * @param count the number of characters over which to iterate.
+     *
+     * @internal
+     */
+    public final void reset(char[] chars, int start, int count)
+    {
+        if (chars == null) {
+            chars = emptyCharArray;
+        }
+        
+        text = chars;
+
+        reset(start, count);
+    }
+    
+    /**
+     * Reset the iterator to iterate over the characters
+     * in <code>chars</code>. This allows clients to reuse an iterator.
+     *
+     * @param chars the new array of characters over which to iterate.
+     *
+     * @internal
+     */
+    public final void reset(char[] chars)
+    {
+        int length = 0;
+        
+        if (chars != null) {
+            length = chars.length;
+        }
+        
+        reset(chars, 0, length);
+    }
+    
+    /**
+     * Reset the iterator to iterate over <code>count</code> characters
+     * in <code>text</code> starting at <code>start</code>. This allows
+     * clients to reuse an iterator.
+     *
+     * @param text the new string of characters over which to iterate.
+     * @param start the index of the first character over which to iterate.
+     * @param count the nuber of characters over which to iterate.
+     *
+     * @internal
+     */
+    public final void reset(String text, int start, int count)
+    {
+        char[] chars = null;
+        
+        if (text != null) {
+            chars = text.toCharArray();
+        }
+        
+        reset(chars, start, count);
+    }
+    
+    /**
+     * Reset the iterator to iterate over the characters
+     * in <code>text</code>. This allows clients to reuse an iterator.
+     *
+     * @param text the new string of characters over which to iterate.
+     *
+     * @internal
+     */
+    public final void reset(String text)
+    {
+        int length   = 0;
+        
+        if (text != null) {
+            length = text.length();
+        }
+        
+        reset(text, 0, length);
+    }
+        
+
+
+    /**
+     * Get the starting index of the current script run.
+     *
+     * @return the index of the first character in the current script run.
+     *
+     * @internal
+     */
+    public final int getScriptStart()
+    {
+        return scriptStart;
+    }
+
+    /**
+     * Get the index of the first character after the current script run.
+     *
+     * @return the index of the first character after the current script run.
+     *
+     * @internal
+     */
+    public final int getScriptLimit()
+    {
+        return scriptLimit;
+    }
+
+    /**
+     * Get the script code for the script of the current script run.
+     *
+     * @return the script code for the script of the current script run.
+     * @see com.ibm.icu.lang.UScript
+     *
+     * @internal
+     */
+    public final int getScriptCode()
+    {
+        return scriptCode;
+    }
+
+    /**
+     * Find the next script run. Returns <code>false</code> if there
+     * isn't another run, returns <code>true</code> if there is.
+     *
+     * @return <code>false</code> if there isn't another run, <code>true</code> if there is.
+     *
+     * @internal
+     */
+    public final boolean next()
+    {
+        // if we've fallen off the end of the text, we're done
+        if (scriptLimit >= textLimit) {
+            return false;
+        }
+    
+        scriptCode  = UScript.COMMON;
+        scriptStart = scriptLimit;
+        
+        syncFixup();
+        
+        while (textIndex < textLimit) {
+            int ch = UTF16.charAt(text, textStart, textLimit, textIndex - textStart);
+            int codePointCount = UTF16.getCharCount(ch);
+            int sc = UScript.getScript(ch);
+            int pairIndex = getPairIndex(ch);
+
+            textIndex += codePointCount;
+            
+            // Paired character handling:
+            //
+            // if it's an open character, push it onto the stack.
+            // if it's a close character, find the matching open on the
+            // stack, and use that script code. Any non-matching open
+            // characters above it on the stack will be poped.
+            if (pairIndex >= 0) {
+                if ((pairIndex & 1) == 0) {
+                    push(pairIndex, scriptCode);
+                } else {
+                    int pi = pairIndex & ~1;
+
+                    while (stackIsNotEmpty() && top().pairIndex != pi) {
+                        pop();
+                    }
+
+                    if (stackIsNotEmpty()) {
+                        sc = top().scriptCode;
+                    }
+                }
+            }
+
+            if (sameScript(scriptCode, sc)) {
+                if (scriptCode <= UScript.INHERITED && sc > UScript.INHERITED) {
+                    scriptCode = sc;
+
+                    fixup(scriptCode);
+                }
+
+                // if this character is a close paired character,
+                // pop the matching open character from the stack
+                if (pairIndex >= 0 && (pairIndex & 1) != 0) {
+                    pop();
+                }
+            } else {
+                // We've just seen the first character of
+                // the next run. Back over it so we'll see
+                // it again the next time.
+                textIndex -= codePointCount;
+                break;
+            }
+        }
+
+        scriptLimit = textIndex;
+        return true;
+    }
+
+    /**
+     * Compare two script codes to see if they are in the same script. If one script is
+     * a strong script, and the other is INHERITED or COMMON, it will compare equal.
+     *
+     * @param scriptOne one of the script codes.
+     * @param scriptTwo the other script code.
+     * @return <code>true</code> if the two scripts are the same.
+     * @see com.ibm.icu.lang.UScript
+     */
+    private static boolean sameScript(int scriptOne, int scriptTwo)
+    {
+        return scriptOne <= UScript.INHERITED || scriptTwo <= UScript.INHERITED || scriptOne == scriptTwo;
+    }
+
+    /*
+     * An internal class which holds entries on the paren stack.
+     */
+    private static final class ParenStackEntry
+    {
+        int pairIndex;
+        int scriptCode;
+        
+        public ParenStackEntry(int thePairIndex, int theScriptCode)
+        {
+            pairIndex  = thePairIndex;
+            scriptCode = theScriptCode;
+        }
+    }
+    
+    private static final int mod(int sp)
+    {
+        return sp % PAREN_STACK_DEPTH;
+    }
+    
+    private static final int inc(int sp, int count)
+    {
+        return mod(sp + count);
+    }
+    
+    private static final int inc(int sp)
+    {
+        return inc(sp, 1);
+    }
+    
+    private static final int dec(int sp, int count)
+    {
+        return mod(sp + PAREN_STACK_DEPTH - count);
+    }
+    
+    private static final int dec(int sp)
+    {
+        return dec(sp, 1);
+    }
+    
+    private static final int limitInc(int count)
+    {
+        if (count < PAREN_STACK_DEPTH) {
+            count += 1;
+        }
+        
+        return count;
+    }
+    
+    private final boolean stackIsEmpty()
+    {
+        return pushCount <= 0;
+    }
+    
+    private final boolean stackIsNotEmpty()
+    {
+        return ! stackIsEmpty();
+    }
+    
+    private final void push(int pairIndex, int scriptCode)
+    {
+        pushCount  = limitInc(pushCount);
+        fixupCount = limitInc(fixupCount);
+        
+        parenSP = inc(parenSP);
+        parenStack[parenSP] = new ParenStackEntry(pairIndex, scriptCode);
+    }
+    
+    private final void pop()
+    {
+        
+        if (stackIsEmpty()) {
+            return;
+        }
+        
+        parenStack[parenSP] = null;
+        
+        if (fixupCount > 0) {
+            fixupCount -= 1;
+        }
+        
+        pushCount -= 1;
+        parenSP = dec(parenSP);
+        
+        // If the stack is now empty, reset the stack
+        // pointers to their initial values.
+        if (stackIsEmpty()) {
+            parenSP = -1;
+        }
+    }
+    
+    private final ParenStackEntry top()
+    {
+        return parenStack[parenSP];
+    }
+    
+    private final void syncFixup()
+    {
+        fixupCount = 0;
+    }
+    
+    private final void fixup(int scriptCode)
+    {
+        int fixupSP = dec(parenSP, fixupCount);
+        
+        while (fixupCount-- > 0) {
+            fixupSP = inc(fixupSP);
+            parenStack[fixupSP].scriptCode = scriptCode;
+        }
+    }
+    
+    private char[] emptyCharArray = {};
+
+    private char[] text;
+
+    private int textIndex;
+    private int  textStart;
+    private int  textLimit;
+    
+    private int  scriptStart;
+    private int  scriptLimit;
+    private int  scriptCode;
+
+    private static int PAREN_STACK_DEPTH = 32;
+    private static ParenStackEntry parenStack[] = new ParenStackEntry[PAREN_STACK_DEPTH];
+    private int parenSP = -1;
+    private int pushCount = 0;
+    private int fixupCount = 0;
+
+    /**
+     * Find the highest bit that's set in a word. Uses a binary search through
+     * the bits.
+     *
+     * @param n the word in which to find the highest bit that's set.
+     * @return the bit number (counting from the low order bit) of the highest bit.
+     */
+    private static final byte highBit(int n)
+    {
+        if (n <= 0) {
+            return -32;
+        }
+
+        byte bit = 0;
+
+        if (n >= 1 << 16) {
+            n >>= 16;
+            bit += 16;
+        }
+
+        if (n >= 1 << 8) {
+            n >>= 8;
+            bit += 8;
+        }
+
+        if (n >= 1 << 4) {
+            n >>= 4;
+            bit += 4;
+        }
+
+        if (n >= 1 << 2) {
+            n >>= 2;
+            bit += 2;
+        }
+
+        if (n >= 1 << 1) {
+            n >>= 1;
+            bit += 1;
+        }
+
+        return bit;
+    }
+
+    /**
+     * Search the pairedChars array for the given character.
+     *
+     * @param ch the character for which to search.
+     * @return the index of the character in the table, or -1 if it's not there.
+     */
+    private static int getPairIndex(int ch)
+    {
+        int probe = pairedCharPower;
+        int index = 0;
+
+        if (ch >= pairedChars[pairedCharExtra]) {
+            index = pairedCharExtra;
+        }
+
+        while (probe > (1 << 0)) {
+            probe >>= 1;
+
+            if (ch >= pairedChars[index + probe]) {
+                index += probe;
+            }
+        }
+
+        if (pairedChars[index] != ch) {
+            index = -1;
+        }
+
+        return index;
+    }
+
+    private static int pairedChars[] = {
+        0x0028, 0x0029, // ascii paired punctuation
+        0x003c, 0x003e,
+        0x005b, 0x005d,
+        0x007b, 0x007d,
+        0x00ab, 0x00bb, // guillemets
+        0x2018, 0x2019, // general punctuation
+        0x201c, 0x201d,
+        0x2039, 0x203a,
+        0x3008, 0x3009, // chinese paired punctuation
+        0x300a, 0x300b,
+        0x300c, 0x300d,
+        0x300e, 0x300f,
+        0x3010, 0x3011,
+        0x3014, 0x3015,
+        0x3016, 0x3017,
+        0x3018, 0x3019,
+        0x301a, 0x301b
+    };
+
+    private static int pairedCharPower = 1 << highBit(pairedChars.length);
+    private static int pairedCharExtra = pairedChars.length - pairedCharPower;
+}
+
diff --git a/src/com/ibm/icu/lang/package.html b/src/com/ibm/icu/lang/package.html
new file mode 100644
index 0000000..913282d
--- /dev/null
+++ b/src/com/ibm/icu/lang/package.html
@@ -0,0 +1,16 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html>
+<head><!--  Copyright (C) 2002, International Business Machines Corporation and
+  others. All Rights Reserved.
+-->
+
+<title>C:ICU4J .lang Package Overview</title>
+</head>
+
+<body bgcolor="white">
+
+<p>Enhanced character property and surrogate support.</p>
+
+UCharacter supports all characters and properties defined in the latest version of Unicode, including properties of surrogate characters.  It provides new API for querying surrogate characters (represented as int) and also supports the java.lang.Character API.  UScript and UScriptRun provide information about scripts, which is not available through the Java APIs.</p>
+</body>
+</html>
diff --git a/src/com/ibm/icu/manifest.module.stub b/src/com/ibm/icu/manifest.module.stub
new file mode 100644
index 0000000..8bb5512
--- /dev/null
+++ b/src/com/ibm/icu/manifest.module.stub
@@ -0,0 +1,14 @@
+Manifest-Version: 1.0
+
+Name: com/ibm/icu
+Specification-Title: Modularized ICU for Java
+Specification-Version: 3.4
+Specification-Vendor: ICU
+Implementation-Title: Modularized ICU for Java
+Implementation-Version: 3.4.0
+Implementation-Vendor: IBM Corporation
+Implementation-Vendor-Id: com.ibm
+Copyright-Info: Copyright (c) 2000-2005, International Business Machines Corporation and others.  All Rights Reserved.
+Sealed: false
+
+
diff --git a/src/com/ibm/icu/manifest.stub b/src/com/ibm/icu/manifest.stub
new file mode 100644
index 0000000..e84aa01
--- /dev/null
+++ b/src/com/ibm/icu/manifest.stub
@@ -0,0 +1,12 @@
+Manifest-Version: 1.0
+
+Name: com/ibm/icu/
+Specification-Title: ICU for Java
+Specification-Version: 3.4
+Specification-Vendor: ICU
+Implementation-Title: ICU for Java
+Implementation-Version: 3.4.0
+Implementation-Vendor: IBM Corporation
+Implementation-Vendor-Id: com.ibm
+Copyright-Info: Copyright (c) 2000-2005, International Business Machines Corporation and others.  All Rights Reserved.
+Sealed: false
diff --git a/src/com/ibm/icu/math/BigDecimal.java b/src/com/ibm/icu/math/BigDecimal.java
new file mode 100755
index 0000000..019abd7
--- /dev/null
+++ b/src/com/ibm/icu/math/BigDecimal.java
@@ -0,0 +1,4395 @@
+/* Generated from 'BigDecimal.nrx' 8 Sep 2000 11:10:50 [v2.00] */
+/* Options: Binary Comments Crossref Format Java Logo Strictargs Strictcase Trace2 Verbose3 */
+package com.ibm.icu.math;
+import java.math.BigInteger;
+import com.ibm.icu.impl.Utility;
+
+/* ------------------------------------------------------------------ */
+/* BigDecimal -- Decimal arithmetic for Java                          */
+/* ------------------------------------------------------------------ */
+/* Copyright IBM Corporation, 1996-2005.  All Rights Reserved.       */
+/*                                                                    */
+/* The BigDecimal class provides immutable arbitrary-precision        */
+/* floating point (including integer) decimal numbers.                */
+/*                                                                    */
+/* As the numbers are decimal, there is an exact correspondence       */
+/* between an instance of a BigDecimal object and its String          */
+/* representation; the BigDecimal class provides direct conversions   */
+/* to and from String and character array objects, and well as        */
+/* conversions to and from the Java primitive types (which may not    */
+/* be exact).                                                         */
+/* ------------------------------------------------------------------ */
+/* Notes:                                                             */
+/*                                                                    */
+/* 1. A BigDecimal object is never changed in value once constructed; */
+/*    this avoids the need for locking.  Note in particular that the  */
+/*    mantissa array may be shared between many BigDecimal objects,   */
+/*    so that once exposed it must not be altered.                    */
+/*                                                                    */
+/* 2. This class looks at MathContext class fields directly (for      */
+/*    performance).  It must not and does not change them.            */
+/*                                                                    */
+/* 3. Exponent checking is delayed until finish(), as we know         */
+/*    intermediate calculations cannot cause 31-bit overflow.         */
+/*    [This assertion depends on MAX_DIGITS in MathContext.]          */
+/*                                                                    */
+/* 4. Comments for the public API now follow the javadoc conventions. */
+/*    The NetRexx -comments option is used to pass these comments     */
+/*    through to the generated Java code (with -format, if desired).  */
+/*                                                                    */
+/* 5. System.arraycopy is faster than explicit loop as follows        */
+/*      Mean length 4:  equal                                         */
+/*      Mean length 8:  x2                                            */
+/*      Mean length 16: x3                                            */
+/*      Mean length 24: x4                                            */
+/*    From prior experience, we expect mean length a little below 8,  */
+/*    but arraycopy is still the one to use, in general, until later  */
+/*    measurements suggest otherwise.                                 */
+/*                                                                    */
+/* 6. 'DMSRCN' referred to below is the original (1981) IBM S/370     */
+/*    assembler code implementation of the algorithms below; it is    */
+/*    now called IXXRCN and is available with the OS/390 and VM/ESA   */
+/*    operating systems.                                              */
+/* ------------------------------------------------------------------ */
+/* Change History:                                                    */
+/* 1997.09.02 Initial version (derived from netrexx.lang classes)     */
+/* 1997.09.12 Add lostDigits checking                                 */
+/* 1997.10.06 Change mantissa to a byte array                         */
+/* 1997.11.22 Rework power [did not prepare arguments, etc.]          */
+/* 1997.12.13 multiply did not prepare arguments                      */
+/* 1997.12.14 add did not prepare and align arguments correctly       */
+/* 1998.05.02 0.07 packaging changes suggested by Sun and Oracle      */
+/* 1998.05.21 adjust remainder operator finalization                  */
+/* 1998.06.04 rework to pass MathContext to finish() and round()      */
+/* 1998.06.06 change format to use round(); support rounding modes    */
+/* 1998.06.25 rename to BigDecimal and begin merge                    */
+/*            zero can now have trailing zeros (i.e., exp\=0)         */
+/* 1998.06.28 new methods: movePointXxxx, scale, toBigInteger         */
+/*                         unscaledValue, valueof                     */
+/* 1998.07.01 improve byteaddsub to allow array reuse, etc.           */
+/* 1998.07.01 make null testing explicit to avoid JIT bug [Win32]     */
+/* 1998.07.07 scaled division  [divide(BigDecimal, int, int)]         */
+/* 1998.07.08 setScale, faster equals                                 */
+/* 1998.07.11 allow 1E6 (no sign) <sigh>; new double/float conversion */
+/* 1998.10.12 change package to com.ibm.icu.math                          */
+/* 1998.12.14 power operator no longer rounds RHS [to match ANSI]     */
+/*            add toBigDecimal() and BigDecimal(java.math.BigDecimal) */
+/* 1998.12.29 improve byteaddsub by using table lookup                */
+/* 1999.02.04 lostdigits=0 behaviour rounds instead of digits+1 guard */
+/* 1999.02.05 cleaner code for BigDecimal(char[])                     */
+/* 1999.02.06 add javadoc comments                                    */
+/* 1999.02.11 format() changed from 7 to 2 method form                */
+/* 1999.03.05 null pointer checking is no longer explicit             */
+/* 1999.03.05 simplify; changes from discussion with J. Bloch:        */
+/*            null no longer permitted for MathContext; drop boolean, */
+/*            byte, char, float, short constructor, deprecate double  */
+/*            constructor, no blanks in string constructor, add       */
+/*            offset and length version of char[] constructor;        */
+/*            add valueOf(double); drop booleanValue, charValue;      */
+/*            add ...Exact versions of remaining convertors           */
+/* 1999.03.13 add toBigIntegerExact                                   */
+/* 1999.03.13 1.00 release to IBM Centre for Java Technology          */
+/* 1999.05.27 1.01 correct 0-0.2 bug under scaled arithmetic          */
+/* 1999.06.29 1.02 constructors should not allow exponent > 9 digits  */
+/* 1999.07.03 1.03 lost digits should not be checked if digits=0      */
+/* 1999.07.06      lost digits Exception message changed              */
+/* 1999.07.10 1.04 more work on 0-0.2 (scaled arithmetic)             */
+/* 1999.07.17      improve messages from pow method                   */
+/* 1999.08.08      performance tweaks                                 */
+/* 1999.08.15      fastpath in multiply                               */
+/* 1999.11.05 1.05 fix problem in intValueExact [e.g., 5555555555]    */
+/* 1999.12.22 1.06 remove multiply fastpath, and improve performance  */
+/* 2000.01.01      copyright update [Y2K has arrived]                 */
+/* 2000.06.18 1.08 no longer deprecate BigDecimal(double)             */
+/* ------------------------------------------------------------------ */
+
+
+
+
+
+/**
+ * The <code>BigDecimal</code> class implements immutable
+ * arbitrary-precision decimal numbers.  The methods of the
+ * <code>BigDecimal</code> class provide operations for fixed and
+ * floating point arithmetic, comparison, format conversions, and
+ * hashing.
+ * <p>
+ * As the numbers are decimal, there is an exact correspondence between
+ * an instance of a <code>BigDecimal</code> object and its
+ * <code>String</code> representation; the <code>BigDecimal</code> class
+ * provides direct conversions to and from <code>String</code> and
+ * character array (<code>char[]</code>) objects, as well as conversions
+ * to and from the Java primitive types (which may not be exact) and
+ * <code>BigInteger</code>.
+ * <p>
+ * In the descriptions of constructors and methods in this documentation,
+ * the value of a <code>BigDecimal</code> number object is shown as the
+ * result of invoking the <code>toString()</code> method on the object.
+ * The internal representation of a decimal number is neither defined
+ * nor exposed, and is not permitted to affect the result of any
+ * operation.
+ * <p>
+ * The floating point arithmetic provided by this class is defined by
+ * the ANSI X3.274-1996 standard, and is also documented at
+ * <code>http://www2.hursley.ibm.com/decimal</code>
+ * <br><i>[This URL will change.]</i>
+ *
+ * <h3>Operator methods</h3>
+ * <p>
+ * Operations on <code>BigDecimal</code> numbers are controlled by a
+ * {@link MathContext} object, which provides the context (precision and
+ * other information) for the operation. Methods that can take a
+ * <code>MathContext</code> parameter implement the standard arithmetic
+ * operators for <code>BigDecimal</code> objects and are known as
+ * <i>operator methods</i>.  The default settings provided by the
+ * constant {@link MathContext#DEFAULT} (<code>digits=9,
+ * form=SCIENTIFIC, lostDigits=false, roundingMode=ROUND_HALF_UP</code>)
+ * perform general-purpose floating point arithmetic to nine digits of
+ * precision.  The <code>MathContext</code> parameter must not be
+ * <code>null</code>.
+ * <p>
+ * Each operator method also has a version provided which does
+ * not take a <code>MathContext</code> parameter.  For this version of
+ * each method, the context settings used are <code>digits=0,
+ * form=PLAIN, lostDigits=false, roundingMode=ROUND_HALF_UP</code>;
+ * these settings perform fixed point arithmetic with unlimited
+ * precision, as defined for the original BigDecimal class in Java 1.1
+ * and Java 1.2.
+ * <p>
+ * For monadic operators, only the optional <code>MathContext</code>
+ * parameter is present; the operation acts upon the current object.
+ * <p>
+ * For dyadic operators, a <code>BigDecimal</code> parameter is always
+ * present; it must not be <code>null</code>.
+ * The operation acts with the current object being the left-hand operand
+ * and the <code>BigDecimal</code> parameter being the right-hand operand.
+ * <p>
+ * For example, adding two <code>BigDecimal</code> objects referred to
+ * by the names <code>award</code> and <code>extra</code> could be
+ * written as any of:
+ * <p><code>
+ *     award.add(extra)
+ * <br>award.add(extra, MathContext.DEFAULT)
+ * <br>award.add(extra, acontext)
+ * </code>
+ * <p>
+ * (where <code>acontext</code> is a <code>MathContext</code> object),
+ * which would return a <code>BigDecimal</code> object whose value is
+ * the result of adding <code>award</code> and <code>extra</code> under
+ * the appropriate context settings.
+ * <p>
+ * When a <code>BigDecimal</code> operator method is used, a set of
+ * rules define what the result will be (and, by implication, how the
+ * result would be represented as a character string).
+ * These rules are defined in the BigDecimal arithmetic documentation
+ * (see the URL above), but in summary:
+ * <ul>
+ * <li>Results are normally calculated with up to some maximum number of
+ * significant digits.
+ * For example, if the <code>MathContext</code> parameter for an operation
+ * were <code>MathContext.DEFAULT</code> then the result would be
+ * rounded to 9 digits; the division of 2 by 3 would then result in
+ * 0.666666667.
+ * <br>
+ * You can change the default of 9 significant digits by providing the
+ * method with a suitable <code>MathContext</code> object. This lets you
+ * calculate using as many digits as you need -- thousands, if necessary.
+ * Fixed point (scaled) arithmetic is indicated by using a
+ * <code>digits</code> setting of 0 (or omitting the
+ * <code>MathContext</code> parameter).
+ * <br>
+ * Similarly, you can change the algorithm used for rounding from the
+ * default "classic" algorithm.
+ * <li>
+ * In standard arithmetic (that is, when the <code>form</code> setting
+ * is not <code>PLAIN</code>), a zero result is always expressed as the
+ * single digit <code>'0'</code> (that is, with no sign, decimal point,
+ * or exponent part).
+ * <li>
+ * Except for the division and power operators in standard arithmetic,
+ * trailing zeros are preserved (this is in contrast to binary floating
+ * point operations and most electronic calculators, which lose the
+ * information about trailing zeros in the fractional part of results).
+ * <br>
+ * So, for example:
+ * <p><code>
+ *     new BigDecimal("2.40").add(     new BigDecimal("2"))      =&gt; "4.40"
+ * <br>new BigDecimal("2.40").subtract(new BigDecimal("2"))      =&gt; "0.40"
+ * <br>new BigDecimal("2.40").multiply(new BigDecimal("2"))      =&gt; "4.80"
+ * <br>new BigDecimal("2.40").divide(  new BigDecimal("2"), def) =&gt; "1.2"
+ * </code>
+ * <p>where the value on the right of the <code>=&gt;</code> would be the
+ * result of the operation, expressed as a <code>String</code>, and
+ * <code>def</code> (in this and following examples) refers to
+ * <code>MathContext.DEFAULT</code>).
+ * This preservation of trailing zeros is desirable for most
+ * calculations (including financial calculations).
+ * If necessary, trailing zeros may be easily removed using division by 1.
+ * <li>
+ * In standard arithmetic, exponential form is used for a result
+ * depending on its value and the current setting of <code>digits</code>
+ * (the default is 9 digits).
+ * If the number of places needed before the decimal point exceeds the
+ * <code>digits</code> setting, or the absolute value of the number is
+ * less than <code>0.000001</code>, then the number will be expressed in
+ * exponential notation; thus
+ * <p><code>
+ *   new BigDecimal("1e+6").multiply(new BigDecimal("1e+6"), def)
+ * </code>
+ * <p>results in <code>1E+12</code> instead of
+ * <code>1000000000000</code>, and
+ * <p><code>
+ *   new BigDecimal("1").divide(new BigDecimal("3E+10"), def)
+ * </code>
+ * <p>results in <code>3.33333333E-11</code> instead of
+ * <code>0.0000000000333333333</code>.
+ * <p>
+ * The form of the exponential notation (scientific or engineering) is
+ * determined by the <code>form</code> setting.
+ * <eul>
+ * <p>
+ * The names of methods in this class follow the conventions established
+ * by <code>java.lang.Number</code>, <code>java.math.BigInteger</code>,
+ * and <code>java.math.BigDecimal</code> in Java 1.1 and Java 1.2.
+ *
+ * @see     MathContext
+ * @author  Mike Cowlishaw
+ * @stable ICU 2.0
+ */
+
+public class BigDecimal extends java.lang.Number implements java.io.Serializable,java.lang.Comparable{
+ private static final java.lang.String $0="BigDecimal.nrx";
+ 
+ 
+ 
+ /* ----- Constants ----- */
+ /* properties constant public */ // useful to others
+ /**
+  * The <code>BigDecimal</code> constant "0".
+  *
+  * @see #ONE
+  * @see #TEN
+  * @stable ICU 2.0
+  */
+ public static final com.ibm.icu.math.BigDecimal ZERO=new com.ibm.icu.math.BigDecimal((long)0); // use long as we want the int constructor
+ // .. to be able to use this, for speed
+ 
+ /**
+  * The <code>BigDecimal</code> constant "1".
+  *
+  * @see #TEN
+  * @see #ZERO
+  * @stable ICU 2.0
+  */
+ public static final com.ibm.icu.math.BigDecimal ONE=new com.ibm.icu.math.BigDecimal((long)1); // use long as we want the int constructor
+ // .. to be able to use this, for speed
+ 
+ /**
+  * The <code>BigDecimal</code> constant "10".
+  *
+  * @see #ONE
+  * @see #ZERO
+  * @stable ICU 2.0
+  */
+ public static final com.ibm.icu.math.BigDecimal TEN=new com.ibm.icu.math.BigDecimal(10);
+ 
+ // the rounding modes (copied here for upwards compatibility)
+ /**
+  * Rounding mode to round to a more positive number.
+  * @see MathContext#ROUND_CEILING
+  * @stable ICU 2.0
+  */
+ public static final int ROUND_CEILING=com.ibm.icu.math.MathContext.ROUND_CEILING;
+ 
+ /**
+  * Rounding mode to round towards zero.
+  * @see MathContext#ROUND_DOWN
+  * @stable ICU 2.0
+  */
+ public static final int ROUND_DOWN=com.ibm.icu.math.MathContext.ROUND_DOWN;
+ 
+ /**
+  * Rounding mode to round to a more negative number.
+  * @see MathContext#ROUND_FLOOR
+  * @stable ICU 2.0
+  */
+ public static final int ROUND_FLOOR=com.ibm.icu.math.MathContext.ROUND_FLOOR;
+ 
+ /**
+  * Rounding mode to round to nearest neighbor, where an equidistant
+  * value is rounded down.
+  * @see MathContext#ROUND_HALF_DOWN
+  * @stable ICU 2.0
+  */
+ public static final int ROUND_HALF_DOWN=com.ibm.icu.math.MathContext.ROUND_HALF_DOWN;
+ 
+ /**
+  * Rounding mode to round to nearest neighbor, where an equidistant
+  * value is rounded to the nearest even neighbor.
+  * @see MathContext#ROUND_HALF_EVEN
+  * @stable ICU 2.0
+  */
+ public static final int ROUND_HALF_EVEN=com.ibm.icu.math.MathContext.ROUND_HALF_EVEN;
+ 
+ /**
+  * Rounding mode to round to nearest neighbor, where an equidistant
+  * value is rounded up.
+  * @see MathContext#ROUND_HALF_UP
+  * @stable ICU 2.0
+  */
+ public static final int ROUND_HALF_UP=com.ibm.icu.math.MathContext.ROUND_HALF_UP;
+ 
+ /**
+  * Rounding mode to assert that no rounding is necessary.
+  * @see MathContext#ROUND_UNNECESSARY
+  * @stable ICU 2.0
+  */
+ public static final int ROUND_UNNECESSARY=com.ibm.icu.math.MathContext.ROUND_UNNECESSARY;
+ 
+ /**
+  * Rounding mode to round away from zero.
+  * @see MathContext#ROUND_UP
+  * @stable ICU 2.0
+  */
+ public static final int ROUND_UP=com.ibm.icu.math.MathContext.ROUND_UP;
+ 
+ /* properties constant private */ // locals
+ private static final byte ispos=1; // ind: indicates positive (must be 1)
+ private static final byte iszero=0; // ind: indicates zero     (must be 0)
+ private static final byte isneg=-1; // ind: indicates negative (must be -1)
+ // [later could add NaN, +/- infinity, here]
+ 
+ private static final int MinExp=-999999999; // minimum exponent allowed
+ private static final int MaxExp=999999999; // maximum exponent allowed
+ private static final int MinArg=-999999999; // minimum argument integer
+ private static final int MaxArg=999999999; // maximum argument integer
+ 
+ private static final com.ibm.icu.math.MathContext plainMC=new com.ibm.icu.math.MathContext(0,com.ibm.icu.math.MathContext.PLAIN); // context for plain unlimited math
+ 
+ /* properties constant private unused */ // present but not referenced
+ 
+ // Serialization version
+ private static final long serialVersionUID=8245355804974198832L;
+ 
+ private static final java.lang.String copyright=" Copyright (c) IBM Corporation 1996, 2000.  All rights reserved. ";
+ 
+ /* properties static private */
+ // Precalculated constant arrays (used by byteaddsub)
+ private static byte bytecar[]=new byte[(90+99)+1]; // carry/borrow array
+ private static byte bytedig[]=diginit(); // next digit array
+ 
+ /* ----- Instance properties [all private and immutable] ----- */
+ /* properties private */
+ 
+ /**
+  * The indicator. This may take the values:
+  * <ul>
+  * <li>ispos  -- the number is positive
+  * <li>iszero -- the number is zero
+  * <li>isneg  -- the number is negative
+  * </ul>
+  *
+  * @serial
+  */
+ private byte ind; // assumed undefined
+ // Note: some code below assumes IND = Sign [-1, 0, 1], at present.
+ // We only need two bits for this, but use a byte [also permits
+ // smooth future extension].
+ 
+ /**
+  * The formatting style. This may take the values:
+  * <ul>
+  * <li>MathContext.PLAIN        -- no exponent needed
+  * <li>MathContext.SCIENTIFIC   -- scientific notation required
+  * <li>MathContext.ENGINEERING  -- engineering notation required
+  * </ul>
+  * <p>
+  * This property is an optimization; it allows us to defer number
+  * layout until it is actually needed as a string, hence avoiding
+  * unnecessary formatting.
+  *
+  * @serial
+  */
+ private byte form=(byte)com.ibm.icu.math.MathContext.PLAIN; // assumed PLAIN
+ // We only need two bits for this, at present, but use a byte
+ // [again, to allow for smooth future extension]
+ 
+ /**
+  * The value of the mantissa.
+  * <p>
+  * Once constructed, this may become shared between several BigDecimal
+  * objects, so must not be altered.
+  * <p>
+  * For efficiency (speed), this is a byte array, with each byte
+  * taking a value of 0 -> 9.
+  * <p>
+  * If the first byte is 0 then the value of the number is zero (and
+  * mant.length=1, except when constructed from a plain number, for
+  * example, 0.000).
+  *
+  * @serial
+  */
+ private byte mant[]; // assumed null
+ 
+ /**
+  * The exponent.
+  * <p>
+  * For fixed point arithmetic, scale is <code>-exp</code>, and can
+  * apply to zero.
+  *
+  * Note that this property can have a value less than MinExp when
+  * the mantissa has more than one digit.
+  *
+  * @serial
+  */
+ private int exp;
+ // assumed 0
+ 
+ /* ---------------------------------------------------------------- */
+ /* Constructors                                                     */
+ /* ---------------------------------------------------------------- */
+ 
+ /**
+  * Constructs a <code>BigDecimal</code> object from a
+  * <code>java.math.BigDecimal</code>.
+  * <p>
+  * Constructs a <code>BigDecimal</code> as though the parameter had
+  * been represented as a <code>String</code> (using its
+  * <code>toString</code> method) and the
+  * {@link #BigDecimal(java.lang.String)} constructor had then been
+  * used.
+  * The parameter must not be <code>null</code>.
+  * <p>
+  * <i>(Note: this constructor is provided only in the
+  * <code>com.ibm.icu.math</code> version of the BigDecimal class.
+  * It would not be present in a <code>java.math</code> version.)</i>
+  *
+  * @param bd The <code>BigDecimal</code> to be translated.
+  * @stable ICU 2.0
+  */
+ 
+ public BigDecimal(java.math.BigDecimal bd){
+  this(bd.toString());
+  return;}
+
+ /**
+  * Constructs a <code>BigDecimal</code> object from a
+  * <code>BigInteger</code>, with scale 0.
+  * <p>
+  * Constructs a <code>BigDecimal</code> which is the exact decimal
+  * representation of the <code>BigInteger</code>, with a scale of
+  * zero.
+  * The value of the <code>BigDecimal</code> is identical to the value
+  * of the <code>BigInteger</code>.
+  * The parameter must not be <code>null</code>.
+  * <p>
+  * The <code>BigDecimal</code> will contain only decimal digits,
+  * prefixed with a leading minus sign (hyphen) if the
+  * <code>BigInteger</code> is negative.  A leading zero will be
+  * present only if the <code>BigInteger</code> is zero.
+  *
+  * @param bi The <code>BigInteger</code> to be converted.
+  * @stable ICU 2.0
+  */
+ 
+ public BigDecimal(java.math.BigInteger bi){
+  this(bi.toString(10));
+  return;}
+ // exp remains 0
+ 
+ /**
+  * Constructs a <code>BigDecimal</code> object from a
+  * <code>BigInteger</code> and a scale.
+  * <p>
+  * Constructs a <code>BigDecimal</code> which is the exact decimal
+  * representation of the <code>BigInteger</code>, scaled by the
+  * second parameter, which may not be negative.
+  * The value of the <code>BigDecimal</code> is the
+  * <code>BigInteger</code> divided by ten to the power of the scale.
+  * The <code>BigInteger</code> parameter must not be
+  * <code>null</code>.
+  * <p>
+  * The <code>BigDecimal</code> will contain only decimal digits, (with
+  * an embedded decimal point followed by <code>scale</code> decimal
+  * digits if the scale is positive), prefixed with a leading minus
+  * sign (hyphen) if the <code>BigInteger</code> is negative.  A
+  * leading zero will be present only if the <code>BigInteger</code> is
+  * zero.
+  *
+  * @param  bi    The <code>BigInteger</code> to be converted.
+  * @param  scale The <code>int</code> specifying the scale.
+  * @throws NumberFormatException if the scale is negative.
+  * @stable ICU 2.0
+  */
+ 
+ public BigDecimal(java.math.BigInteger bi,int scale){
+  this(bi.toString(10));
+  if (scale<0) 
+   throw new java.lang.NumberFormatException("Negative scale:"+" "+scale);
+  exp=(int)-scale; // exponent is -scale
+  return;}
+
+ /**
+  * Constructs a <code>BigDecimal</code> object from an array of characters.
+  * <p>
+  * Constructs a <code>BigDecimal</code> as though a
+  * <code>String</code> had been constructed from the character array
+  * and the {@link #BigDecimal(java.lang.String)} constructor had then
+  * been used. The parameter must not be <code>null</code>.
+  * <p>
+  * Using this constructor is faster than using the
+  * <code>BigDecimal(String)</code> constructor if the string is
+  * already available in character array form.
+  *
+  * @param inchars The <code>char[]</code> array containing the number
+  *                to be converted.
+  * @throws NumberFormatException if the parameter is not a valid
+  *                number.
+  * @stable ICU 2.0
+  */
+ 
+ public BigDecimal(char inchars[]){
+  this(inchars,0,inchars.length);
+  return;}
+
+ /**
+  * Constructs a <code>BigDecimal</code> object from an array of characters.
+  * <p>
+  * Constructs a <code>BigDecimal</code> as though a
+  * <code>String</code> had been constructed from the character array
+  * (or a subarray of that array) and the
+  * {@link #BigDecimal(java.lang.String)} constructor had then been
+  * used. The first parameter must not be <code>null</code>, and the
+  * subarray must be wholly contained within it.
+  * <p>
+  * Using this constructor is faster than using the
+  * <code>BigDecimal(String)</code> constructor if the string is
+  * already available within a character array.
+  *
+  * @param inchars The <code>char[]</code> array containing the number
+  *                to be converted.
+  * @param offset  The <code>int</code> offset into the array of the
+  *                start of the number to be converted.
+  * @param length  The <code>int</code> length of the number.
+  * @throws NumberFormatException if the parameter is not a valid
+  *                number for any reason.
+  * @stable ICU 2.0
+  */
+ 
+ public BigDecimal(char inchars[],int offset,int length){super();
+  boolean exotic;
+  boolean hadexp;
+  int d;
+  int dotoff;
+  int last;
+  int i=0;
+  char si=0;
+  boolean eneg=false;
+  int k=0;
+  int elen=0;
+  int j=0;
+  char sj=0;
+  int dvalue=0;
+  int mag=0;
+  // This is the primary constructor; all incoming strings end up
+  // here; it uses explicit (inline) parsing for speed and to avoid
+  // generating intermediate (temporary) objects of any kind.
+  // 1998.06.25: exponent form built only if E/e in string
+  // 1998.06.25: trailing zeros not removed for zero
+  // 1999.03.06: no embedded blanks; allow offset and length
+  if (length<=0) 
+   bad(inchars); // bad conversion (empty string)
+  // [bad offset will raise array bounds exception]
+  
+  /* Handle and step past sign */
+  ind=ispos; // assume positive
+  if (inchars[offset]==('-')) 
+   {
+    length--;
+    if (length==0) 
+     bad(inchars); // nothing after sign
+    ind=isneg;
+    offset++;
+   }
+  else 
+   if (inchars[offset]==('+')) 
+    {
+     length--;
+     if (length==0) 
+      bad(inchars); // nothing after sign
+     offset++;
+    }
+  
+  /* We're at the start of the number */
+  exotic=false; // have extra digits
+  hadexp=false; // had explicit exponent
+  d=0; // count of digits found
+  dotoff=-1; // offset where dot was found
+  last=-1; // last character of mantissa
+  {int $1=length;i=offset;i:for(;$1>0;$1--,i++){
+   si=inchars[i];
+   if (si>='0')  // test for Arabic digit
+    if (si<='9') 
+     {
+      last=i;
+      d++; // still in mantissa
+      continue i;
+     }
+   if (si=='.') 
+    { // record and ignore
+     if (dotoff>=0) 
+      bad(inchars); // two dots
+     dotoff=i-offset; // offset into mantissa
+     continue i;
+    }
+   if (si!='e') 
+    if (si!='E') 
+     { // expect an extra digit
+      if ((!(java.lang.Character.isDigit(si)))) 
+       bad(inchars); // not a number
+      // defer the base 10 check until later to avoid extra method call
+      exotic=true; // will need conversion later
+      last=i;
+      d++; // still in mantissa
+      continue i;
+     }
+   /* Found 'e' or 'E' -- now process explicit exponent */
+   // 1998.07.11: sign no longer required
+   if ((i-offset)>(length-2)) 
+    bad(inchars); // no room for even one digit
+   eneg=false;
+   if ((inchars[i+1])==('-')) 
+    {
+     eneg=true;
+     k=i+2;
+    }
+   else 
+    if ((inchars[i+1])==('+')) 
+     k=i+2;
+    else 
+     k=i+1;
+   // k is offset of first expected digit
+   elen=length-((k-offset)); // possible number of digits
+   if ((elen==0)|(elen>9)) 
+    bad(inchars); // 0 or more than 9 digits
+   {int $2=elen;j=k;j:for(;$2>0;$2--,j++){
+    sj=inchars[j];
+    if (sj<'0') 
+     bad(inchars); // always bad
+    if (sj>'9') 
+     { // maybe an exotic digit
+      if ((!(java.lang.Character.isDigit(sj)))) 
+       bad(inchars); // not a number
+      dvalue=java.lang.Character.digit(sj,10); // check base
+      if (dvalue<0) 
+       bad(inchars); // not base 10
+     }
+    else 
+     dvalue=((int)(sj))-((int)('0'));
+    exp=(exp*10)+dvalue;
+    }
+   }/*j*/
+   if (eneg) 
+    exp=(int)-exp; // was negative
+   hadexp=true; // remember we had one
+   break i; // we are done
+   }
+  }/*i*/
+  
+  /* Here when all inspected */
+  if (d==0) 
+   bad(inchars); // no mantissa digits
+  if (dotoff>=0) 
+   exp=(exp+dotoff)-d; // adjust exponent if had dot
+  
+  /* strip leading zeros/dot (leave final if all 0's) */
+  {int $3=last-1;i=offset;i:for(;i<=$3;i++){
+   si=inchars[i];
+   if (si=='0') 
+    {
+     offset++;
+     dotoff--;
+     d--;
+    }
+   else 
+    if (si=='.') 
+     {
+      offset++; // step past dot
+      dotoff--;
+     }
+    else 
+     if (si<='9') 
+      break i;/* non-0 */
+     else 
+      {/* exotic */
+       if ((java.lang.Character.digit(si,10))!=0) 
+        break i; // non-0 or bad
+       // is 0 .. strip like '0'
+       offset++;
+       dotoff--;
+       d--;
+      }
+   }
+  }/*i*/
+  
+  /* Create the mantissa array */
+  mant=new byte[d]; // we know the length
+  j=offset; // input offset
+  if (exotic) 
+   {exotica:do{ // slow: check for exotica
+    {int $4=d;i=0;i:for(;$4>0;$4--,i++){
+     if (i==dotoff) 
+      j++; // at dot
+     sj=inchars[j];
+     if (sj<='9') 
+      mant[i]=(byte)(((int)(sj))-((int)('0')));/* easy */
+     else 
+      {
+       dvalue=java.lang.Character.digit(sj,10);
+       if (dvalue<0) 
+        bad(inchars); // not a number after all
+       mant[i]=(byte)dvalue;
+      }
+     j++;
+     }
+    }/*i*/
+   }while(false);}/*exotica*/
+  else 
+   {simple:do{
+    {int $5=d;i=0;i:for(;$5>0;$5--,i++){
+     if (i==dotoff) 
+      j++;
+     mant[i]=(byte)(((int)(inchars[j]))-((int)('0')));
+     j++;
+     }
+    }/*i*/
+   }while(false);}/*simple*/
+  
+  /* Looks good.  Set the sign indicator and form, as needed. */
+  // Trailing zeros are preserved
+  // The rule here for form is:
+  //   If no E-notation, then request plain notation
+  //   Otherwise act as though add(0,DEFAULT) and request scientific notation
+  // [form is already PLAIN]
+  if (mant[0]==0) 
+   {
+    ind=iszero; // force to show zero
+    // negative exponent is significant (e.g., -3 for 0.000) if plain
+    if (exp>0) 
+     exp=0; // positive exponent can be ignored
+    if (hadexp) 
+     { // zero becomes single digit from add
+      mant=ZERO.mant;
+      exp=0;
+     }
+   }
+  else 
+   { // non-zero
+    // [ind was set earlier]
+    // now determine form
+    if (hadexp) 
+     {
+      form=(byte)com.ibm.icu.math.MathContext.SCIENTIFIC;
+      // 1999.06.29 check for overflow
+      mag=(exp+mant.length)-1; // true exponent in scientific notation
+      if ((mag<MinExp)|(mag>MaxExp)) 
+       bad(inchars);
+     }
+   }
+  // say 'BD(c[]): mant[0] mantlen exp ind form:' mant[0] mant.length exp ind form
+  return;
+  }
+
+ /**
+  * Constructs a <code>BigDecimal</code> object directly from a
+  * <code>double</code>.
+  * <p>
+  * Constructs a <code>BigDecimal</code> which is the exact decimal
+  * representation of the 64-bit signed binary floating point
+  * parameter.
+  * <p>
+  * Note that this constructor it an exact conversion; it does not give
+  * the same result as converting <code>num</code> to a
+  * <code>String</code> using the <code>Double.toString()</code> method
+  * and then using the {@link #BigDecimal(java.lang.String)}
+  * constructor.
+  * To get that result, use the static {@link #valueOf(double)}
+  * method to construct a <code>BigDecimal</code> from a
+  * <code>double</code>.
+  *
+  * @param num The <code>double</code> to be converted.
+  * @throws NumberFormatException if the parameter is infinite or
+  *            not a number.
+  * @stable ICU 2.0
+  */
+ 
+ public BigDecimal(double num){
+  // 1999.03.06: use exactly the old algorithm
+  // 2000.01.01: note that this constructor does give an exact result,
+  //             so perhaps it should not be deprecated
+  // 2000.06.18: no longer deprecated
+  this((new java.math.BigDecimal(num)).toString());
+  return;}
+
+ /**
+  * Constructs a <code>BigDecimal</code> object directly from a
+  * <code>int</code>.
+  * <p>
+  * Constructs a <code>BigDecimal</code> which is the exact decimal
+  * representation of the 32-bit signed binary integer parameter.
+  * The <code>BigDecimal</code> will contain only decimal digits,
+  * prefixed with a leading minus sign (hyphen) if the parameter is
+  * negative.
+  * A leading zero will be present only if the parameter is zero.
+  *
+  * @param num The <code>int</code> to be converted.
+  * @stable ICU 2.0
+  */
+ 
+ public BigDecimal(int num){super();
+  int mun;
+  int i=0;
+  // We fastpath commoners
+  if (num<=9) 
+   if (num>=(-9)) 
+    {singledigit:do{
+     // very common single digit case
+     {/*select*/
+     if (num==0)
+      {
+       mant=ZERO.mant;
+       ind=iszero;
+      }
+     else if (num==1)
+      {
+       mant=ONE.mant;
+       ind=ispos;
+      }
+     else if (num==(-1))
+      {
+       mant=ONE.mant;
+       ind=isneg;
+      }
+     else{
+      {
+       mant=new byte[1];
+       if (num>0) 
+        {
+         mant[0]=(byte)num;
+         ind=ispos;
+        }
+       else 
+        { // num<-1
+         mant[0]=(byte)((int)-num);
+         ind=isneg;
+        }
+      }
+     }
+     }
+     return;
+    }while(false);}/*singledigit*/
+  
+  /* We work on negative numbers so we handle the most negative number */
+  if (num>0) 
+   {
+    ind=ispos;
+    num=(int)-num;
+   }
+  else 
+   ind=isneg;/* negative */ // [0 case already handled]
+  // [it is quicker, here, to pre-calculate the length with
+  // one loop, then allocate exactly the right length of byte array,
+  // then re-fill it with another loop]
+  mun=num; // working copy
+  {i=9;i:for(;;i--){
+   mun=mun/10;
+   if (mun==0) 
+    break i;
+   }
+  }/*i*/
+  // i is the position of the leftmost digit placed
+  mant=new byte[10-i];
+  {i=(10-i)-1;i:for(;;i--){
+   mant[i]=(byte)-(((byte)(num%10)));
+   num=num/10;
+   if (num==0) 
+    break i;
+   }
+  }/*i*/
+  return;
+  }
+
+ /**
+  * Constructs a <code>BigDecimal</code> object directly from a
+  * <code>long</code>.
+  * <p>
+  * Constructs a <code>BigDecimal</code> which is the exact decimal
+  * representation of the 64-bit signed binary integer parameter.
+  * The <code>BigDecimal</code> will contain only decimal digits,
+  * prefixed with a leading minus sign (hyphen) if the parameter is
+  * negative.
+  * A leading zero will be present only if the parameter is zero.
+  *
+  * @param num The <code>long</code> to be converted.
+  * @stable ICU 2.0
+  */
+ 
+ public BigDecimal(long num){super();
+  long mun;
+  int i=0;
+  // Not really worth fastpathing commoners in this constructor [also,
+  // we use this to construct the static constants].
+  // This is much faster than: this(String.valueOf(num).toCharArray())
+  /* We work on negative num so we handle the most negative number */
+  if (num>0) 
+   {
+    ind=ispos;
+    num=(long)-num;
+   }
+  else 
+   if (num==0) 
+    ind=iszero;
+   else 
+    ind=isneg;/* negative */
+  mun=num;
+  {i=18;i:for(;;i--){
+   mun=mun/10;
+   if (mun==0) 
+    break i;
+   }
+  }/*i*/
+  // i is the position of the leftmost digit placed
+  mant=new byte[19-i];
+  {i=(19-i)-1;i:for(;;i--){
+   mant[i]=(byte)-(((byte)(num%10)));
+   num=num/10;
+   if (num==0) 
+    break i;
+   }
+  }/*i*/
+  return;
+  }
+
+ /**
+  * Constructs a <code>BigDecimal</code> object from a <code>String</code>.
+  * <p>
+  * Constructs a <code>BigDecimal</code> from the parameter, which must
+  * not be <code>null</code> and must represent a valid <i>number</i>,
+  * as described formally in the documentation referred to
+  * {@link BigDecimal above}.
+  * <p>
+  * In summary, numbers in <code>String</code> form must have at least
+  * one digit, may have a leading sign, may have a decimal point, and
+  * exponential notation may be used.  They follow conventional syntax,
+  * and may not contain blanks.
+  * <p>
+  * Some valid strings from which a <code>BigDecimal</code> might
+  * be constructed are:
+  * <pre>
+  *       "0"         -- Zero
+  *      "12"         -- A whole number
+  *     "-76"         -- A signed whole number
+  *      "12.70"      -- Some decimal places
+  *     "+0.003"      -- Plus sign is allowed
+  *      "17."        -- The same as 17
+  *        ".5"       -- The same as 0.5
+  *      "4E+9"       -- Exponential notation
+  *       "0.73e-7"   -- Exponential notation
+  * </pre>
+  * <p>
+  * (Exponential notation means that the number includes an optional
+  * sign and a power of ten following an '</code>E</code>' that
+  * indicates how the decimal point will be shifted.  Thus the
+  * <code>"4E+9"</code> above is just a short way of writing
+  * <code>4000000000</code>, and the <code>"0.73e-7"</code> is short
+  * for <code>0.000000073</code>.)
+  * <p>
+  * The <code>BigDecimal</code> constructed from the String is in a
+  * standard form, with no blanks, as though the
+  * {@link #add(BigDecimal)} method had been used to add zero to the
+  * number with unlimited precision.
+  * If the string uses exponential notation (that is, includes an
+  * <code>e</code> or an <code>E</code>), then the
+  * <code>BigDecimal</code> number will be expressed in scientific
+  * notation (where the power of ten is adjusted so there is a single
+  * non-zero digit to the left of the decimal point); in this case if
+  * the number is zero then it will be expressed as the single digit 0,
+  * and if non-zero it will have an exponent unless that exponent would
+  * be 0.  The exponent must fit in nine digits both before and after it
+  * is expressed in scientific notation.
+  * <p>
+  * Any digits in the parameter must be decimal; that is,
+  * <code>Character.digit(c, 10)</code> (where </code>c</code> is the
+  * character in question) would not return -1.
+  *
+  * @param string The <code>String</code> to be converted.
+  * @throws NumberFormatException if the parameter is not a valid
+  * number.
+  * @stable ICU 2.0
+  */
+ 
+ public BigDecimal(java.lang.String string){
+  this(string.toCharArray(),0,string.length());
+  return;}
+
+ /* <sgml> Make a default BigDecimal object for local use. </sgml> */
+ 
+ private BigDecimal(){super();
+  return;
+  }
+
+ /* ---------------------------------------------------------------- */
+ /* Operator methods [methods which take a context parameter]        */
+ /* ---------------------------------------------------------------- */
+ 
+ /**
+  * Returns a plain <code>BigDecimal</code> whose value is the absolute
+  * value of this <code>BigDecimal</code>.
+  * <p>
+  * The same as {@link #abs(MathContext)}, where the context is
+  * <code>new MathContext(0, MathContext.PLAIN)</code>.
+  * <p>
+  * The length of the decimal part (the scale) of the result will
+  * be <code>this.scale()</code>
+  *
+  * @return A <code>BigDecimal</code> whose value is the absolute
+  *         value of this <code>BigDecimal</code>.
+  * @stable ICU 2.0
+  */
+ 
+ public com.ibm.icu.math.BigDecimal abs(){
+  return this.abs(plainMC);
+  }
+
+ /**
+  * Returns a <code>BigDecimal</code> whose value is the absolute value
+  * of this <code>BigDecimal</code>.
+  * <p>
+  * If the current object is zero or positive, then the same result as
+  * invoking the {@link #plus(MathContext)} method with the same
+  * parameter is returned.
+  * Otherwise, the same result as invoking the
+  * {@link #negate(MathContext)} method with the same parameter is
+  * returned.
+  *
+  * @param  set The <code>MathContext</code> arithmetic settings.
+  * @return     A <code>BigDecimal</code> whose value is the absolute
+  *             value of this <code>BigDecimal</code>.
+  * @stable ICU 2.0
+  */
+ 
+ public com.ibm.icu.math.BigDecimal abs(com.ibm.icu.math.MathContext set){
+  if (this.ind==isneg) 
+   return this.negate(set);
+  return this.plus(set);
+  }
+
+ /**
+  * Returns a plain <code>BigDecimal</code> whose value is
+  * <code>this+rhs</code>, using fixed point arithmetic.
+  * <p>
+  * The same as {@link #add(BigDecimal, MathContext)},
+  * where the <code>BigDecimal</code> is <code>rhs</code>,
+  * and the context is <code>new MathContext(0, MathContext.PLAIN)</code>.
+  * <p>
+  * The length of the decimal part (the scale) of the result will be
+  * the maximum of the scales of the two operands.
+  *
+  * @param  rhs The <code>BigDecimal</code> for the right hand side of
+  *             the addition.
+  * @return     A <code>BigDecimal</code> whose value is
+  *             <code>this+rhs</code>, using fixed point arithmetic.
+  * @stable ICU 2.0
+  */
+ 
+ public com.ibm.icu.math.BigDecimal add(com.ibm.icu.math.BigDecimal rhs){
+  return this.add(rhs,plainMC);
+  }
+
+ /**
+  * Returns a <code>BigDecimal</code> whose value is <code>this+rhs</code>.
+  * <p>
+  * Implements the addition (<b><code>+</code></b>) operator
+  * (as defined in the decimal documentation, see {@link BigDecimal
+  * class header}),
+  * and returns the result as a <code>BigDecimal</code> object.
+  *
+  * @param  rhs The <code>BigDecimal</code> for the right hand side of
+  *             the addition.
+  * @param  set The <code>MathContext</code> arithmetic settings.
+  * @return     A <code>BigDecimal</code> whose value is
+  *             <code>this+rhs</code>.
+  * @stable ICU 2.0
+  */
+ 
+ public com.ibm.icu.math.BigDecimal add(com.ibm.icu.math.BigDecimal rhs,com.ibm.icu.math.MathContext set){
+  com.ibm.icu.math.BigDecimal lhs;
+  int reqdig;
+  com.ibm.icu.math.BigDecimal res;
+  byte usel[];
+  int usellen;
+  byte user[];
+  int userlen;
+  int newlen=0;
+  int tlen=0;
+  int mult=0;
+  byte t[]=null;
+  int ia=0;
+  int ib=0;
+  int ea=0;
+  int eb=0;
+  byte ca=0;
+  byte cb=0;
+  /* determine requested digits and form */
+  if (set.lostDigits) 
+   checkdigits(rhs,set.digits);
+  lhs=this; // name for clarity and proxy
+  
+  /* Quick exit for add floating 0 */
+  // plus() will optimize to return same object if possible
+  if (lhs.ind==0) 
+   if (set.form!=com.ibm.icu.math.MathContext.PLAIN) 
+    return rhs.plus(set);
+  if (rhs.ind==0) 
+   if (set.form!=com.ibm.icu.math.MathContext.PLAIN) 
+    return lhs.plus(set);
+  
+  /* Prepare numbers (round, unless unlimited precision) */
+  reqdig=set.digits; // local copy (heavily used)
+  if (reqdig>0) 
+   {
+    if (lhs.mant.length>reqdig) 
+     lhs=clone(lhs).round(set);
+    if (rhs.mant.length>reqdig) 
+     rhs=clone(rhs).round(set);
+   // [we could reuse the new LHS for result in this case]
+   }
+  
+  res=new com.ibm.icu.math.BigDecimal(); // build result here
+  
+  /* Now see how much we have to pad or truncate lhs or rhs in order
+     to align the numbers.  If one number is much larger than the
+     other, then the smaller cannot affect the answer [but we may
+     still need to pad with up to DIGITS trailing zeros]. */
+  // Note sign may be 0 if digits (reqdig) is 0
+  // usel and user will be the byte arrays passed to the adder; we'll
+  // use them on all paths except quick exits
+  usel=lhs.mant;
+  usellen=lhs.mant.length;
+  user=rhs.mant;
+  userlen=rhs.mant.length;
+  {padder:do{/*select*/
+  if (lhs.exp==rhs.exp)
+   {/* no padding needed */
+    // This is the most common, and fastest, path
+    res.exp=lhs.exp;
+   }
+  else if (lhs.exp>rhs.exp)
+   { // need to pad lhs and/or truncate rhs
+    newlen=(usellen+lhs.exp)-rhs.exp;
+    /* If, after pad, lhs would be longer than rhs by digits+1 or
+       more (and digits>0) then rhs cannot affect answer, so we only
+       need to pad up to a length of DIGITS+1. */
+    if (newlen>=((userlen+reqdig)+1)) 
+     if (reqdig>0) 
+      {
+       // LHS is sufficient
+       res.mant=usel;
+       res.exp=lhs.exp;
+       res.ind=lhs.ind;
+       if (usellen<reqdig) 
+        { // need 0 padding
+         res.mant=extend(lhs.mant,reqdig);
+         res.exp=res.exp-((reqdig-usellen));
+        }
+       return res.finish(set,false);
+      }
+    // RHS may affect result
+    res.exp=rhs.exp; // expected final exponent
+    if (newlen>(reqdig+1)) 
+     if (reqdig>0) 
+      {
+       // LHS will be max; RHS truncated
+       tlen=(newlen-reqdig)-1; // truncation length
+       userlen=userlen-tlen;
+       res.exp=res.exp+tlen;
+       newlen=reqdig+1;
+      }
+    if (newlen>usellen) 
+     usellen=newlen; // need to pad LHS
+   }
+  else{ // need to pad rhs and/or truncate lhs
+   newlen=(userlen+rhs.exp)-lhs.exp;
+   if (newlen>=((usellen+reqdig)+1)) 
+    if (reqdig>0) 
+     {
+      // RHS is sufficient
+      res.mant=user;
+      res.exp=rhs.exp;
+      res.ind=rhs.ind;
+      if (userlen<reqdig) 
+       { // need 0 padding
+        res.mant=extend(rhs.mant,reqdig);
+        res.exp=res.exp-((reqdig-userlen));
+       }
+      return res.finish(set,false);
+     }
+   // LHS may affect result
+   res.exp=lhs.exp; // expected final exponent
+   if (newlen>(reqdig+1)) 
+    if (reqdig>0) 
+     {
+      // RHS will be max; LHS truncated
+      tlen=(newlen-reqdig)-1; // truncation length
+      usellen=usellen-tlen;
+      res.exp=res.exp+tlen;
+      newlen=reqdig+1;
+     }
+   if (newlen>userlen) 
+    userlen=newlen; // need to pad RHS
+  }
+  }while(false);}/*padder*/
+  
+  /* OK, we have aligned mantissas.  Now add or subtract. */
+  // 1998.06.27 Sign may now be 0 [e.g., 0.000] .. treat as positive
+  // 1999.05.27 Allow for 00 on lhs [is not larger than 2 on rhs]
+  // 1999.07.10 Allow for 00 on rhs [is not larger than 2 on rhs]
+  if (lhs.ind==iszero) 
+   res.ind=ispos;
+  else 
+   res.ind=lhs.ind; // likely sign, all paths
+  if (((lhs.ind==isneg)?1:0)==((rhs.ind==isneg)?1:0))  // same sign, 0 non-negative
+   mult=1;
+  else 
+   {signdiff:do{ // different signs, so subtraction is needed
+    mult=-1; // will cause subtract
+    /* Before we can subtract we must determine which is the larger,
+       as our add/subtract routine only handles non-negative results
+       so we may need to swap the operands. */
+    {swaptest:do{/*select*/
+    if (rhs.ind==iszero){
+     // original A bigger
+    }else if ((usellen<userlen)|(lhs.ind==iszero))
+     { // original B bigger
+      t=usel;
+      usel=user;
+      user=t; // swap
+      tlen=usellen;
+      usellen=userlen;
+      userlen=tlen; // ..
+      res.ind=(byte)-res.ind; // and set sign
+     }
+    else if (usellen>userlen){
+     // original A bigger
+    }else{
+     {/* logical lengths the same */ // need compare
+      /* may still need to swap: compare the strings */
+      ia=0;
+      ib=0;
+      ea=usel.length-1;
+      eb=user.length-1;
+      {compare:for(;;){
+       if (ia<=ea) 
+        ca=usel[ia];
+       else 
+        {
+         if (ib>eb) 
+          {/* identical */
+           if (set.form!=com.ibm.icu.math.MathContext.PLAIN) 
+            return ZERO;
+           // [if PLAIN we must do the subtract, in case of 0.000 results]
+           break compare;
+          }
+         ca=(byte)0;
+        }
+       if (ib<=eb) 
+        cb=user[ib];
+       else 
+        cb=(byte)0;
+       if (ca!=cb) 
+        {
+         if (ca<cb) 
+          {/* swap needed */
+           t=usel;
+           usel=user;
+           user=t; // swap
+           tlen=usellen;
+           usellen=userlen;
+           userlen=tlen; // ..
+           res.ind=(byte)-res.ind;
+          }
+         break compare;
+        }
+       /* mantissas the same, so far */
+       ia++;
+       ib++;
+       }
+      }/*compare*/
+     } // lengths the same
+    }
+    }while(false);}/*swaptest*/
+   }while(false);}/*signdiff*/
+  
+  /* here, A is > B if subtracting */
+  // add [A+B*1] or subtract [A+(B*-1)]
+  res.mant=byteaddsub(usel,usellen,user,userlen,mult,false);
+  // [reuse possible only after chop; accounting makes not worthwhile]
+  
+  // Finish() rounds before stripping leading 0's, then sets form, etc.
+  return res.finish(set,false);
+  }
+
+ /**
+  * Compares this <code>BigDecimal</code> to another, using unlimited
+  * precision.
+  * <p>
+  * The same as {@link #compareTo(BigDecimal, MathContext)},
+  * where the <code>BigDecimal</code> is <code>rhs</code>,
+  * and the context is <code>new MathContext(0, MathContext.PLAIN)</code>.
+  *
+  * @param  rhs The <code>BigDecimal</code> for the right hand side of
+  *             the comparison.
+  * @return     An <code>int</code> whose value is -1, 0, or 1 as
+  *             <code>this</code> is numerically less than, equal to,
+  *             or greater than <code>rhs</code>.
+  * @see    #compareTo(Object)
+  * @stable ICU 2.0
+  */
+ 
+ public int compareTo(com.ibm.icu.math.BigDecimal rhs){
+  return this.compareTo(rhs,plainMC);
+  }
+
+ /**
+  * Compares this <code>BigDecimal</code> to another.
+  * <p>
+  * Implements numeric comparison,
+  * (as defined in the decimal documentation, see {@link BigDecimal
+  * class header}),
+  * and returns a result of type <code>int</code>.
+  * <p>
+  * The result will be:
+  * <table cellpadding=2><tr>
+  * <td align=right><b>-1</b></td>
+  * <td>if the current object is less than the first parameter</td>
+  * </tr><tr>
+  * <td align=right><b>0</b></td>
+  * <td>if the current object is equal to the first parameter</td>
+  * </tr><tr>
+  * <td align=right><b>1</b></td>
+  * <td>if the current object is greater than the first parameter.</td>
+  * </tr></table>
+  * <p>
+  * A {@link #compareTo(Object)} method is also provided.
+  *
+  * @param  rhs The <code>BigDecimal</code> for the right hand side of
+  *             the comparison.
+  * @param  set The <code>MathContext</code> arithmetic settings.
+  * @return     An <code>int</code> whose value is -1, 0, or 1 as
+  *             <code>this</code> is numerically less than, equal to,
+  *             or greater than <code>rhs</code>.
+  * @see    #compareTo(Object)
+  * @stable ICU 2.0
+  */
+ 
+ public int compareTo(com.ibm.icu.math.BigDecimal rhs,com.ibm.icu.math.MathContext set){
+  int thislength=0;
+  int i=0;
+  com.ibm.icu.math.BigDecimal newrhs;
+  // rhs=null will raise NullPointerException, as per Comparable interface
+  if (set.lostDigits) 
+   checkdigits(rhs,set.digits);
+  // [add will recheck in slowpath cases .. but would report -rhs]
+  if ((this.ind==rhs.ind)&(this.exp==rhs.exp)) 
+   {
+    /* sign & exponent the same [very common] */
+    thislength=this.mant.length;
+    if (thislength<rhs.mant.length) 
+     return (byte)-this.ind;
+    if (thislength>rhs.mant.length) 
+     return this.ind;
+    /* lengths are the same; we can do a straight mantissa compare
+       unless maybe rounding [rounding is very unusual] */
+    if ((thislength<=set.digits)|(set.digits==0)) 
+     {
+      {int $6=thislength;i=0;i:for(;$6>0;$6--,i++){
+       if (this.mant[i]<rhs.mant[i]) 
+        return (byte)-this.ind;
+       if (this.mant[i]>rhs.mant[i]) 
+        return this.ind;
+       }
+      }/*i*/
+      return 0; // identical
+     }
+   /* drop through for full comparison */
+   }
+  else 
+   {
+    /* More fastpaths possible */
+    if (this.ind<rhs.ind) 
+     return -1;
+    if (this.ind>rhs.ind) 
+     return 1;
+   }
+  /* carry out a subtract to make the comparison */
+  newrhs=clone(rhs); // safe copy
+  newrhs.ind=(byte)-newrhs.ind; // prepare to subtract
+  return this.add(newrhs,set).ind; // add, and return sign of result
+  }
+
+ /**
+  * Returns a plain <code>BigDecimal</code> whose value is
+  * <code>this/rhs</code>, using fixed point arithmetic.
+  * <p>
+  * The same as {@link #divide(BigDecimal, int)},
+  * where the <code>BigDecimal</code> is <code>rhs</code>,
+  * and the rounding mode is {@link MathContext#ROUND_HALF_UP}.
+  *
+  * The length of the decimal part (the scale) of the result will be
+  * the same as the scale of the current object, if the latter were
+  * formatted without exponential notation.
+  *
+  * @param  rhs The <code>BigDecimal</code> for the right hand side of
+  *             the division.
+  * @return     A plain <code>BigDecimal</code> whose value is
+  *             <code>this/rhs</code>, using fixed point arithmetic.
+  * @throws ArithmeticException if <code>rhs</code> is zero.
+  * @stable ICU 2.0
+  */
+ 
+ public com.ibm.icu.math.BigDecimal divide(com.ibm.icu.math.BigDecimal rhs){
+  return this.dodivide('D',rhs,plainMC,-1);
+  }
+
+ /**
+  * Returns a plain <code>BigDecimal</code> whose value is
+  * <code>this/rhs</code>, using fixed point arithmetic and a
+  * rounding mode.
+  * <p>
+  * The same as {@link #divide(BigDecimal, int, int)},
+  * where the <code>BigDecimal</code> is <code>rhs</code>,
+  * and the second parameter is <code>this.scale()</code>, and
+  * the third is <code>round</code>.
+  * <p>
+  * The length of the decimal part (the scale) of the result will
+  * therefore be the same as the scale of the current object, if the
+  * latter were formatted without exponential notation.
+  * <p>
+  * @param  rhs   The <code>BigDecimal</code> for the right hand side of
+  *               the division.
+  * @param  round The <code>int</code> rounding mode to be used for
+  *               the division (see the {@link MathContext} class).
+  * @return       A plain <code>BigDecimal</code> whose value is
+  *               <code>this/rhs</code>, using fixed point arithmetic
+  *               and the specified rounding mode.
+  * @throws IllegalArgumentException if <code>round</code> is not a
+  *               valid rounding mode.
+  * @throws ArithmeticException if <code>rhs</code> is zero.
+  * @throws ArithmeticException if <code>round</code> is {@link
+  *               MathContext#ROUND_UNNECESSARY} and
+  *               <code>this.scale()</code> is insufficient to
+  *               represent the result exactly.
+  * @stable ICU 2.0
+  */
+ 
+ public com.ibm.icu.math.BigDecimal divide(com.ibm.icu.math.BigDecimal rhs,int round){
+  com.ibm.icu.math.MathContext set;
+  set=new com.ibm.icu.math.MathContext(0,com.ibm.icu.math.MathContext.PLAIN,false,round); // [checks round, too]
+  return this.dodivide('D',rhs,set,-1); // take scale from LHS
+  }
+
+ /**
+  * Returns a plain <code>BigDecimal</code> whose value is
+  * <code>this/rhs</code>, using fixed point arithmetic and a
+  * given scale and rounding mode.
+  * <p>
+  * The same as {@link #divide(BigDecimal, MathContext)},
+  * where the <code>BigDecimal</code> is <code>rhs</code>,
+  * <code>new MathContext(0, MathContext.PLAIN, false, round)</code>,
+  * except that the length of the decimal part (the scale) to be used
+  * for the result is explicit rather than being taken from
+  * <code>this</code>.
+  * <p>
+  * The length of the decimal part (the scale) of the result will be
+  * the same as the scale of the current object, if the latter were
+  * formatted without exponential notation.
+  * <p>
+  * @param  rhs   The <code>BigDecimal</code> for the right hand side of
+  *               the division.
+  * @param  scale The <code>int</code> scale to be used for the result.
+  * @param  round The <code>int</code> rounding mode to be used for
+  *               the division (see the {@link MathContext} class).
+  * @return       A plain <code>BigDecimal</code> whose value is
+  *               <code>this/rhs</code>, using fixed point arithmetic
+  *               and the specified rounding mode.
+  * @throws IllegalArgumentException if <code>round</code> is not a
+  *               valid rounding mode.
+  * @throws ArithmeticException if <code>rhs</code> is zero.
+  * @throws ArithmeticException if <code>scale</code> is negative.
+  * @throws ArithmeticException if <code>round</code> is {@link
+  *               MathContext#ROUND_UNNECESSARY} and <code>scale</code>
+  *               is insufficient to represent the result exactly.
+  * @stable ICU 2.0
+  */
+ 
+ public com.ibm.icu.math.BigDecimal divide(com.ibm.icu.math.BigDecimal rhs,int scale,int round){
+  com.ibm.icu.math.MathContext set;
+  if (scale<0) 
+   throw new java.lang.ArithmeticException("Negative scale:"+" "+scale);
+  set=new com.ibm.icu.math.MathContext(0,com.ibm.icu.math.MathContext.PLAIN,false,round); // [checks round]
+  return this.dodivide('D',rhs,set,scale);
+  }
+
+ /**
+  * Returns a <code>BigDecimal</code> whose value is <code>this/rhs</code>.
+  * <p>
+  * Implements the division (<b><code>/</code></b>) operator
+  * (as defined in the decimal documentation, see {@link BigDecimal
+  * class header}),
+  * and returns the result as a <code>BigDecimal</code> object.
+  *
+  * @param  rhs The <code>BigDecimal</code> for the right hand side of
+  *             the division.
+  * @param  set The <code>MathContext</code> arithmetic settings.
+  * @return     A <code>BigDecimal</code> whose value is
+  *             <code>this/rhs</code>.
+  * @throws ArithmeticException if <code>rhs</code> is zero.
+  * @stable ICU 2.0
+  */
+ 
+ public com.ibm.icu.math.BigDecimal divide(com.ibm.icu.math.BigDecimal rhs,com.ibm.icu.math.MathContext set){
+  return this.dodivide('D',rhs,set,-1);
+  }
+
+ /**
+  * Returns a plain <code>BigDecimal</code> whose value is the integer
+  * part of <code>this/rhs</code>.
+  * <p>
+  * The same as {@link #divideInteger(BigDecimal, MathContext)},
+  * where the <code>BigDecimal</code> is <code>rhs</code>,
+  * and the context is <code>new MathContext(0, MathContext.PLAIN)</code>.
+  *
+  * @param  rhs The <code>BigDecimal</code> for the right hand side of
+  *             the integer division.
+  * @return     A <code>BigDecimal</code> whose value is the integer
+  *             part of <code>this/rhs</code>.
+  * @throws ArithmeticException if <code>rhs</code> is zero.
+  * @stable ICU 2.0
+  */
+ 
+ public com.ibm.icu.math.BigDecimal divideInteger(com.ibm.icu.math.BigDecimal rhs){
+  // scale 0 to drop .000 when plain
+  return this.dodivide('I',rhs,plainMC,0);
+  }
+
+ /**
+  * Returns a <code>BigDecimal</code> whose value is the integer
+  * part of <code>this/rhs</code>.
+  * <p>
+  * Implements the integer division operator
+  * (as defined in the decimal documentation, see {@link BigDecimal
+  * class header}),
+  * and returns the result as a <code>BigDecimal</code> object.
+  *
+  * @param  rhs The <code>BigDecimal</code> for the right hand side of
+  *             the integer division.
+  * @param  set The <code>MathContext</code> arithmetic settings.
+  * @return     A <code>BigDecimal</code> whose value is the integer
+  *             part of <code>this/rhs</code>.
+  * @throws ArithmeticException if <code>rhs</code> is zero.
+  * @throws ArithmeticException if the result will not fit in the
+  *             number of digits specified for the context.
+  * @stable ICU 2.0
+  */
+ 
+ public com.ibm.icu.math.BigDecimal divideInteger(com.ibm.icu.math.BigDecimal rhs,com.ibm.icu.math.MathContext set){
+  // scale 0 to drop .000 when plain
+  return this.dodivide('I',rhs,set,0);
+  }
+
+ /**
+  * Returns a plain <code>BigDecimal</code> whose value is
+  * the maximum of <code>this</code> and <code>rhs</code>.
+  * <p>
+  * The same as {@link #max(BigDecimal, MathContext)},
+  * where the <code>BigDecimal</code> is <code>rhs</code>,
+  * and the context is <code>new MathContext(0, MathContext.PLAIN)</code>.
+  *
+  * @param  rhs The <code>BigDecimal</code> for the right hand side of
+  *             the comparison.
+  * @return     A <code>BigDecimal</code> whose value is
+  *             the maximum of <code>this</code> and <code>rhs</code>.
+  * @stable ICU 2.0
+  */
+ 
+ public com.ibm.icu.math.BigDecimal max(com.ibm.icu.math.BigDecimal rhs){
+  return this.max(rhs,plainMC);
+  }
+
+ /**
+  * Returns a <code>BigDecimal</code> whose value is
+  * the maximum of <code>this</code> and <code>rhs</code>.
+  * <p>
+  * Returns the larger of the current object and the first parameter.
+  * <p>
+  * If calling the {@link #compareTo(BigDecimal, MathContext)} method
+  * with the same parameters would return <code>1</code> or
+  * <code>0</code>, then the result of calling the
+  * {@link #plus(MathContext)} method on the current object (using the
+  * same <code>MathContext</code> parameter) is returned.
+  * Otherwise, the result of calling the {@link #plus(MathContext)}
+  * method on the first parameter object (using the same
+  * <code>MathContext</code> parameter) is returned.
+  *
+  * @param  rhs The <code>BigDecimal</code> for the right hand side of
+  *             the comparison.
+  * @param  set The <code>MathContext</code> arithmetic settings.
+  * @return     A <code>BigDecimal</code> whose value is
+  *             the maximum of <code>this</code> and <code>rhs</code>.
+  * @stable ICU 2.0
+  */
+ 
+ public com.ibm.icu.math.BigDecimal max(com.ibm.icu.math.BigDecimal rhs,com.ibm.icu.math.MathContext set){
+  if ((this.compareTo(rhs,set))>=0) 
+   return this.plus(set);
+  else 
+   return rhs.plus(set);
+  }
+
+ /**
+  * Returns a plain <code>BigDecimal</code> whose value is
+  * the minimum of <code>this</code> and <code>rhs</code>.
+  * <p>
+  * The same as {@link #min(BigDecimal, MathContext)},
+  * where the <code>BigDecimal</code> is <code>rhs</code>,
+  * and the context is <code>new MathContext(0, MathContext.PLAIN)</code>.
+  *
+  * @param  rhs The <code>BigDecimal</code> for the right hand side of
+  *             the comparison.
+  * @return     A <code>BigDecimal</code> whose value is
+  *             the minimum of <code>this</code> and <code>rhs</code>.
+  * @stable ICU 2.0
+  */
+ 
+ public com.ibm.icu.math.BigDecimal min(com.ibm.icu.math.BigDecimal rhs){
+  return this.min(rhs,plainMC);
+  }
+
+ /**
+  * Returns a <code>BigDecimal</code> whose value is
+  * the minimum of <code>this</code> and <code>rhs</code>.
+  * <p>
+  * Returns the smaller of the current object and the first parameter.
+  * <p>
+  * If calling the {@link #compareTo(BigDecimal, MathContext)} method
+  * with the same parameters would return <code>-1</code> or
+  * <code>0</code>, then the result of calling the
+  * {@link #plus(MathContext)} method on the current object (using the
+  * same <code>MathContext</code> parameter) is returned.
+  * Otherwise, the result of calling the {@link #plus(MathContext)}
+  * method on the first parameter object (using the same
+  * <code>MathContext</code> parameter) is returned.
+  *
+  * @param  rhs The <code>BigDecimal</code> for the right hand side of
+  *             the comparison.
+  * @param  set The <code>MathContext</code> arithmetic settings.
+  * @return     A <code>BigDecimal</code> whose value is
+  *             the minimum of <code>this</code> and <code>rhs</code>.
+  * @stable ICU 2.0
+  */
+ 
+ public com.ibm.icu.math.BigDecimal min(com.ibm.icu.math.BigDecimal rhs,com.ibm.icu.math.MathContext set){
+  if ((this.compareTo(rhs,set))<=0) 
+   return this.plus(set);
+  else 
+   return rhs.plus(set);
+  }
+
+ /**
+  * Returns a plain <code>BigDecimal</code> whose value is
+  * <code>this*rhs</code>, using fixed point arithmetic.
+  * <p>
+  * The same as {@link #add(BigDecimal, MathContext)},
+  * where the <code>BigDecimal</code> is <code>rhs</code>,
+  * and the context is <code>new MathContext(0, MathContext.PLAIN)</code>.
+  * <p>
+  * The length of the decimal part (the scale) of the result will be
+  * the sum of the scales of the operands, if they were formatted
+  * without exponential notation.
+  *
+  * @param  rhs The <code>BigDecimal</code> for the right hand side of
+  *             the multiplication.
+  * @return     A <code>BigDecimal</code> whose value is
+  *             <code>this*rhs</code>, using fixed point arithmetic.
+  * @stable ICU 2.0
+  */
+ 
+ public com.ibm.icu.math.BigDecimal multiply(com.ibm.icu.math.BigDecimal rhs){
+  return this.multiply(rhs,plainMC);
+  }
+
+ /**
+  * Returns a <code>BigDecimal</code> whose value is <code>this*rhs</code>.
+  * <p>
+  * Implements the multiplication (<b><code>*</code></b>) operator
+  * (as defined in the decimal documentation, see {@link BigDecimal
+  * class header}),
+  * and returns the result as a <code>BigDecimal</code> object.
+  *
+  * @param  rhs The <code>BigDecimal</code> for the right hand side of
+  *             the multiplication.
+  * @param  set The <code>MathContext</code> arithmetic settings.
+  * @return     A <code>BigDecimal</code> whose value is
+  *             <code>this*rhs</code>.
+  * @stable ICU 2.0
+  */
+ 
+ public com.ibm.icu.math.BigDecimal multiply(com.ibm.icu.math.BigDecimal rhs,com.ibm.icu.math.MathContext set){
+  com.ibm.icu.math.BigDecimal lhs;
+  int padding;
+  int reqdig;
+  byte multer[]=null;
+  byte multand[]=null;
+  int multandlen;
+  int acclen=0;
+  com.ibm.icu.math.BigDecimal res;
+  byte acc[];
+  int n=0;
+  byte mult=0;
+  if (set.lostDigits) 
+   checkdigits(rhs,set.digits);
+  lhs=this; // name for clarity and proxy
+  
+  /* Prepare numbers (truncate, unless unlimited precision) */
+  padding=0; // trailing 0's to add
+  reqdig=set.digits; // local copy
+  if (reqdig>0) 
+   {
+    if (lhs.mant.length>reqdig) 
+     lhs=clone(lhs).round(set);
+    if (rhs.mant.length>reqdig) 
+     rhs=clone(rhs).round(set);
+   // [we could reuse the new LHS for result in this case]
+   }
+  else 
+   {/* unlimited */
+    // fixed point arithmetic will want every trailing 0; we add these
+    // after the calculation rather than before, for speed.
+    if (lhs.exp>0) 
+     padding=padding+lhs.exp;
+    if (rhs.exp>0) 
+     padding=padding+rhs.exp;
+   }
+  
+  // For best speed, as in DMSRCN, we use the shorter number as the
+  // multiplier and the longer as the multiplicand.
+  // 1999.12.22: We used to special case when the result would fit in
+  //             a long, but with Java 1.3 this gave no advantage.
+  if (lhs.mant.length<rhs.mant.length) 
+   {
+    multer=lhs.mant;
+    multand=rhs.mant;
+   }
+  else 
+   {
+    multer=rhs.mant;
+    multand=lhs.mant;
+   }
+  
+  /* Calculate how long result byte array will be */
+  multandlen=(multer.length+multand.length)-1; // effective length
+  // optimize for 75% of the cases where a carry is expected...
+  if ((multer[0]*multand[0])>9) 
+   acclen=multandlen+1;
+  else 
+   acclen=multandlen;
+  
+  /* Now the main long multiplication loop */
+  res=new com.ibm.icu.math.BigDecimal(); // where we'll build result
+  acc=new byte[acclen]; // accumulator, all zeros
+  // 1998.07.01: calculate from left to right so that accumulator goes
+  // to likely final length on first addition; this avoids a one-digit
+  // extension (and object allocation) each time around the loop.
+  // Initial number therefore has virtual zeros added to right.
+  {int $7=multer.length;n=0;n:for(;$7>0;$7--,n++){
+   mult=multer[n];
+   if (mult!=0) 
+    { // [optimization]
+     // accumulate [accumulator is reusable array]
+     acc=byteaddsub(acc,acc.length,multand,multandlen,mult,true);
+    }
+   // divide multiplicand by 10 for next digit to right
+   multandlen--; // 'virtual length'
+   }
+  }/*n*/
+  
+  res.ind=(byte)(lhs.ind*rhs.ind); // final sign
+  res.exp=(lhs.exp+rhs.exp)-padding; // final exponent
+  // [overflow is checked by finish]
+  
+  /* add trailing zeros to the result, if necessary */
+  if (padding==0) 
+   res.mant=acc;
+  else 
+   res.mant=extend(acc,acc.length+padding); // add trailing 0s
+  return res.finish(set,false);
+  }
+
+ /**
+  * Returns a plain <code>BigDecimal</code> whose value is
+  * <code>-this</code>.
+  * <p>
+  * The same as {@link #negate(MathContext)}, where the context is
+  * <code>new MathContext(0, MathContext.PLAIN)</code>.
+  * <p>
+  * The length of the decimal part (the scale) of the result will be
+  * be <code>this.scale()</code>
+  *
+  *
+  * @return A <code>BigDecimal</code> whose value is
+  *         <code>-this</code>.
+  * @stable ICU 2.0
+  */
+ 
+ public com.ibm.icu.math.BigDecimal negate(){
+  return this.negate(plainMC);
+  }
+
+ /**
+  * Returns a <code>BigDecimal</code> whose value is <code>-this</code>.
+  * <p>
+  * Implements the negation (Prefix <b><code>-</code></b>) operator
+  * (as defined in the decimal documentation, see {@link BigDecimal
+  * class header}),
+  * and returns the result as a <code>BigDecimal</code> object.
+  *
+  * @param  set The <code>MathContext</code> arithmetic settings.
+  * @return A <code>BigDecimal</code> whose value is
+  *         <code>-this</code>.
+  * @stable ICU 2.0
+  */
+ 
+ public com.ibm.icu.math.BigDecimal negate(com.ibm.icu.math.MathContext set){
+  com.ibm.icu.math.BigDecimal res;
+  // Originally called minus(), changed to matched Java precedents
+  // This simply clones, flips the sign, and possibly rounds
+  if (set.lostDigits) 
+   checkdigits((com.ibm.icu.math.BigDecimal)null,set.digits);
+  res=clone(this); // safe copy
+  res.ind=(byte)-res.ind;
+  return res.finish(set,false);
+  }
+
+ /**
+  * Returns a plain <code>BigDecimal</code> whose value is
+  * <code>+this</code>.
+  * Note that <code>this</code> is not necessarily a
+  * plain <code>BigDecimal</code>, but the result will always be.
+  * <p>
+  * The same as {@link #plus(MathContext)}, where the context is
+  * <code>new MathContext(0, MathContext.PLAIN)</code>.
+  * <p>
+  * The length of the decimal part (the scale) of the result will be
+  * be <code>this.scale()</code>
+  *
+  * @return A <code>BigDecimal</code> whose value is
+  *         <code>+this</code>.
+  * @stable ICU 2.0
+  */
+ 
+ public com.ibm.icu.math.BigDecimal plus(){
+  return this.plus(plainMC);
+  }
+
+ /**
+  * Returns a <code>BigDecimal</code> whose value is
+  * <code>+this</code>.
+  * <p>
+  * Implements the plus (Prefix <b><code>+</code></b>) operator
+  * (as defined in the decimal documentation, see {@link BigDecimal
+  * class header}),
+  * and returns the result as a <code>BigDecimal</code> object.
+  * <p>
+  * This method is useful for rounding or otherwise applying a context
+  * to a decimal value.
+  *
+  * @param  set The <code>MathContext</code> arithmetic settings.
+  * @return A <code>BigDecimal</code> whose value is
+  *         <code>+this</code>.
+  * @stable ICU 2.0
+  */
+ 
+ public com.ibm.icu.math.BigDecimal plus(com.ibm.icu.math.MathContext set){
+  // This clones and forces the result to the new settings
+  // May return same object
+  if (set.lostDigits) 
+   checkdigits((com.ibm.icu.math.BigDecimal)null,set.digits);
+  // Optimization: returns same object for some common cases
+  if (set.form==com.ibm.icu.math.MathContext.PLAIN) 
+   if (this.form==com.ibm.icu.math.MathContext.PLAIN) 
+    {
+     if (this.mant.length<=set.digits) 
+      return this;
+     if (set.digits==0) 
+      return this;
+    }
+  return clone(this).finish(set,false);
+  }
+
+ /**
+  * Returns a plain <code>BigDecimal</code> whose value is
+  * <code>this**rhs</code>, using fixed point arithmetic.
+  * <p>
+  * The same as {@link #pow(BigDecimal, MathContext)},
+  * where the <code>BigDecimal</code> is <code>rhs</code>,
+  * and the context is <code>new MathContext(0, MathContext.PLAIN)</code>.
+  * <p>
+  * The parameter is the power to which the <code>this</code> will be
+  * raised; it must be in the range 0 through 999999999, and must
+  * have a decimal part of zero.  Note that these restrictions may be
+  * removed in the future, so they should not be used as a test for a
+  * whole number.
+  * <p>
+  * In addition, the power must not be negative, as no
+  * <code>MathContext</code> is used and so the result would then
+  * always be 0.
+  *
+  * @param  rhs The <code>BigDecimal</code> for the right hand side of
+  *             the operation (the power).
+  * @return     A <code>BigDecimal</code> whose value is
+  *             <code>this**rhs</code>, using fixed point arithmetic.
+  * @throws ArithmeticException if <code>rhs</code> is out of range or
+  *             is not a whole number.
+  * @stable ICU 2.0
+  */
+ 
+ public com.ibm.icu.math.BigDecimal pow(com.ibm.icu.math.BigDecimal rhs){
+  return this.pow(rhs,plainMC);
+  }
+ // The name for this method is inherited from the precedent set by the
+ // BigInteger and Math classes.
+ 
+ /**
+  * Returns a <code>BigDecimal</code> whose value is <code>this**rhs</code>.
+  * <p>
+  * Implements the power (<b><code>**</code></b>) operator
+  * (as defined in the decimal documentation, see {@link BigDecimal
+  * class header}),
+  * and returns the result as a <code>BigDecimal</code> object.
+  * <p>
+  * The first parameter is the power to which the <code>this</code>
+  * will be raised; it must be in the range -999999999 through
+  * 999999999, and must have a decimal part of zero.  Note that these
+  * restrictions may be removed in the future, so they should not be
+  * used as a test for a whole number.
+  * <p>
+  * If the <code>digits</code> setting of the <code>MathContext</code>
+  * parameter is 0, the power must be zero or positive.
+  *
+  * @param  rhs The <code>BigDecimal</code> for the right hand side of
+  *             the operation (the power).
+  * @param  set The <code>MathContext</code> arithmetic settings.
+  * @return     A <code>BigDecimal</code> whose value is
+  *             <code>this**rhs</code>.
+  * @throws ArithmeticException if <code>rhs</code> is out of range or
+  *             is not a whole number.
+  * @stable ICU 2.0
+  */
+ 
+ public com.ibm.icu.math.BigDecimal pow(com.ibm.icu.math.BigDecimal rhs,com.ibm.icu.math.MathContext set){
+  int n;
+  com.ibm.icu.math.BigDecimal lhs;
+  int reqdig;
+  int workdigits=0;
+  int L=0;
+  com.ibm.icu.math.MathContext workset;
+  com.ibm.icu.math.BigDecimal res;
+  boolean seenbit;
+  int i=0;
+  if (set.lostDigits) 
+   checkdigits(rhs,set.digits);
+  n=rhs.intcheck(MinArg,MaxArg); // check RHS by the rules
+  lhs=this; // clarified name
+  
+  reqdig=set.digits; // local copy (heavily used)
+  if (reqdig==0) 
+   {
+    if (rhs.ind==isneg) 
+     throw new java.lang.ArithmeticException("Negative power:"+" "+rhs.toString());
+    workdigits=0;
+   }
+  else 
+   {/* non-0 digits */
+    if ((rhs.mant.length+rhs.exp)>reqdig) 
+     throw new java.lang.ArithmeticException("Too many digits:"+" "+rhs.toString());
+    
+    /* Round the lhs to DIGITS if need be */
+    if (lhs.mant.length>reqdig) 
+     lhs=clone(lhs).round(set);
+    
+    /* L for precision calculation [see ANSI X3.274-1996] */
+    L=rhs.mant.length+rhs.exp; // length without decimal zeros/exp
+    workdigits=(reqdig+L)+1; // calculate the working DIGITS
+   }
+  
+  /* Create a copy of set for working settings */
+  // Note: no need to check for lostDigits again.
+  // 1999.07.17 Note: this construction must follow RHS check
+  workset=new com.ibm.icu.math.MathContext(workdigits,set.form,false,set.roundingMode);
+  
+  res=ONE; // accumulator
+  if (n==0) 
+   return res; // x**0 == 1
+  if (n<0) 
+   n=(int)-n; // [rhs.ind records the sign]
+  seenbit=false; // set once we've seen a 1-bit
+  {i=1;i:for(;;i++){ // for each bit [top bit ignored]
+   n=n+n; // shift left 1 bit
+   if (n<0) 
+    { // top bit is set
+     seenbit=true; // OK, we're off
+     res=res.multiply(lhs,workset); // acc=acc*x
+    }
+   if (i==31) 
+    break i; // that was the last bit
+   if ((!seenbit)) 
+    continue i; // we don't have to square 1
+   res=res.multiply(res,workset); // acc=acc*acc [square]
+   }
+  }/*i*/ // 32 bits
+  if (rhs.ind<0)  // was a **-n [hence digits>0]
+   res=ONE.divide(res,workset); // .. so acc=1/acc
+  return res.finish(set,true); // round and strip [original digits]
+  }
+
+ /**
+  * Returns a plain <code>BigDecimal</code> whose value is
+  * the remainder of <code>this/rhs</code>, using fixed point arithmetic.
+  * <p>
+  * The same as {@link #remainder(BigDecimal, MathContext)},
+  * where the <code>BigDecimal</code> is <code>rhs</code>,
+  * and the context is <code>new MathContext(0, MathContext.PLAIN)</code>.
+  * <p>
+  * This is not the modulo operator -- the result may be negative.
+  *
+  * @param  rhs The <code>BigDecimal</code> for the right hand side of
+  *             the remainder operation.
+  * @return     A <code>BigDecimal</code> whose value is the remainder
+  *             of <code>this/rhs</code>, using fixed point arithmetic.
+  * @throws ArithmeticException if <code>rhs</code> is zero.
+  * @stable ICU 2.0
+  */
+ 
+ public com.ibm.icu.math.BigDecimal remainder(com.ibm.icu.math.BigDecimal rhs){
+  return this.dodivide('R',rhs,plainMC,-1);
+  }
+
+ /**
+  * Returns a <code>BigDecimal</code> whose value is the remainder of
+  * <code>this/rhs</code>.
+  * <p>
+  * Implements the remainder operator
+  * (as defined in the decimal documentation, see {@link BigDecimal
+  * class header}),
+  * and returns the result as a <code>BigDecimal</code> object.
+  * <p>
+  * This is not the modulo operator -- the result may be negative.
+  *
+  * @param  rhs The <code>BigDecimal</code> for the right hand side of
+  *             the remainder operation.
+  * @param  set The <code>MathContext</code> arithmetic settings.
+  * @return     A <code>BigDecimal</code> whose value is the remainder
+  *             of <code>this+rhs</code>.
+  * @throws ArithmeticException if <code>rhs</code> is zero.
+  * @throws ArithmeticException if the integer part of the result will
+  *             not fit in the number of digits specified for the
+  *             context.
+  * @stable ICU 2.0
+  */
+ 
+ public com.ibm.icu.math.BigDecimal remainder(com.ibm.icu.math.BigDecimal rhs,com.ibm.icu.math.MathContext set){
+  return this.dodivide('R',rhs,set,-1);
+  }
+
+ /**
+  * Returns a plain <code>BigDecimal</code> whose value is
+  * <code>this-rhs</code>, using fixed point arithmetic.
+  * <p>
+  * The same as {@link #subtract(BigDecimal, MathContext)},
+  * where the <code>BigDecimal</code> is <code>rhs</code>,
+  * and the context is <code>new MathContext(0, MathContext.PLAIN)</code>.
+  * <p>
+  * The length of the decimal part (the scale) of the result will be
+  * the maximum of the scales of the two operands.
+  *
+  * @param  rhs The <code>BigDecimal</code> for the right hand side of
+  *             the subtraction.
+  * @return     A <code>BigDecimal</code> whose value is
+  *             <code>this-rhs</code>, using fixed point arithmetic.
+  * @stable ICU 2.0
+  */
+ 
+ public com.ibm.icu.math.BigDecimal subtract(com.ibm.icu.math.BigDecimal rhs){
+  return this.subtract(rhs,plainMC);
+  }
+
+ /**
+  * Returns a <code>BigDecimal</code> whose value is <code>this-rhs</code>.
+  * <p>
+  * Implements the subtraction (<b><code>-</code></b>) operator
+  * (as defined in the decimal documentation, see {@link BigDecimal
+  * class header}),
+  * and returns the result as a <code>BigDecimal</code> object.
+  *
+  * @param  rhs The <code>BigDecimal</code> for the right hand side of
+  *             the subtraction.
+  * @param  set The <code>MathContext</code> arithmetic settings.
+  * @return     A <code>BigDecimal</code> whose value is
+  *             <code>this-rhs</code>.
+  * @stable ICU 2.0
+  */
+ 
+ public com.ibm.icu.math.BigDecimal subtract(com.ibm.icu.math.BigDecimal rhs,com.ibm.icu.math.MathContext set){
+  com.ibm.icu.math.BigDecimal newrhs;
+  if (set.lostDigits) 
+   checkdigits(rhs,set.digits);
+  // [add will recheck .. but would report -rhs]
+  /* carry out the subtraction */
+  // we could fastpath -0, but it is too rare.
+  newrhs=clone(rhs); // safe copy
+  newrhs.ind=(byte)-newrhs.ind; // prepare to subtract
+  return this.add(newrhs,set); // arithmetic
+  }
+
+ /* ---------------------------------------------------------------- */
+ /* Other methods                                                    */
+ /* ---------------------------------------------------------------- */
+ 
+ /**
+  * Converts this <code>BigDecimal</code> to a <code>byte</code>.
+  * If the <code>BigDecimal</code> has a non-zero decimal part or is
+  * out of the possible range for a <code>byte</code> (8-bit signed
+  * integer) result then an <code>ArithmeticException</code> is thrown.
+  *
+  * @return A <code>byte</code> equal in value to <code>this</code>.
+  * @throws ArithmeticException if <code>this</code> has a non-zero
+  *                 decimal part, or will not fit in a <code>byte</code>.
+  * @stable ICU 2.0
+  */
+ 
+ public byte byteValueExact(){
+  int num;
+  num=this.intValueExact(); // will check decimal part too
+  if ((num>127)|(num<(-128))) 
+   throw new java.lang.ArithmeticException("Conversion overflow:"+" "+this.toString());
+  return (byte)num;
+  }
+
+ /**
+  * Compares this <code>BigDecimal</code> with the value of the parameter.
+  * <p>
+  * If the parameter is <code>null</code>, or is not an instance of the
+  * <code>BigDecimal</code> type, an exception is thrown.
+  * Otherwise, the parameter is cast to type <code>BigDecimal</code>
+  * and the result of the {@link #compareTo(BigDecimal)} method,
+  * using the cast parameter, is returned.
+  * <p>
+  * The {@link #compareTo(BigDecimal, MathContext)} method should be
+  * used when a <code>MathContext</code> is needed for the comparison.
+  *
+  * @param  rhsobj The <code>Object</code> for the right hand side of
+  *             the comparison.
+  * @return     An <code>int</code> whose value is -1, 0, or 1 as
+  *             <code>this</code> is numerically less than, equal to,
+  *             or greater than <code>rhs</code>.
+  * @throws ClassCastException if <code>rhs</code> cannot be cast to
+  *                 a <code>BigDecimal</code> object.
+  * @see    #compareTo(BigDecimal)
+  * @stable ICU 2.0
+  */
+ 
+ public int compareTo(java.lang.Object rhsobj){
+  // the cast in the next line will raise ClassCastException if necessary
+  return compareTo((com.ibm.icu.math.BigDecimal)rhsobj,plainMC);
+  }
+
+ /**
+  * Converts this <code>BigDecimal</code> to a <code>double</code>.
+  * If the <code>BigDecimal</code> is out of the possible range for a
+  * <code>double</code> (64-bit signed floating point) result then an
+  * <code>ArithmeticException</code> is thrown.
+  * <p>
+  * The double produced is identical to result of expressing the
+  * <code>BigDecimal</code> as a <code>String</code> and then
+  * converting it using the <code>Double(String)</code> constructor;
+  * this can result in values of <code>Double.NEGATIVE_INFINITY</code>
+  * or <code>Double.POSITIVE_INFINITY</code>.
+  *
+  * @return A <code>double</code> corresponding to <code>this</code>.
+  * @stable ICU 2.0
+  */
+ 
+ public double doubleValue(){
+  // We go via a String [as does BigDecimal in JDK 1.2]
+  // Next line could possibly raise NumberFormatException
+  return java.lang.Double.valueOf(this.toString()).doubleValue();
+  }
+
+ /**
+  * Compares this <code>BigDecimal</code> with <code>rhs</code> for
+  * equality.
+  * <p>
+  * If the parameter is <code>null</code>, or is not an instance of the
+  * BigDecimal type, or is not exactly equal to the current
+  * <code>BigDecimal</code> object, then <i>false</i> is returned.
+  * Otherwise, <i>true</i> is returned.
+  * <p>
+  * "Exactly equal", here, means that the <code>String</code>
+  * representations of the <code>BigDecimal</code> numbers are
+  * identical (they have the same characters in the same sequence).
+  * <p>
+  * The {@link #compareTo(BigDecimal, MathContext)} method should be
+  * used for more general comparisons.
+  * @param  obj The <code>Object</code> for the right hand side of
+  *             the comparison.
+  * @return     A <code>boolean</code> whose value <i>true</i> if and
+  *             only if the operands have identical string representations.
+  * @throws ClassCastException if <code>rhs</code> cannot be cast to
+  *                 a <code>BigDecimal</code> object.
+  * @stable ICU 2.0
+  * @see    #compareTo(Object)
+  * @see    #compareTo(BigDecimal)
+  * @see    #compareTo(BigDecimal, MathContext)
+  */
+ 
+ public boolean equals(java.lang.Object obj){
+  com.ibm.icu.math.BigDecimal rhs;
+  int i=0;
+  char lca[]=null;
+  char rca[]=null;
+  // We are equal iff toString of both are exactly the same
+  if (obj==null) 
+   return false; // not equal
+  if ((!(((obj instanceof com.ibm.icu.math.BigDecimal))))) 
+   return false; // not a decimal
+  rhs=(com.ibm.icu.math.BigDecimal)obj; // cast; we know it will work
+  if (this.ind!=rhs.ind) 
+   return false; // different signs never match
+  if (((this.mant.length==rhs.mant.length)&(this.exp==rhs.exp))&(this.form==rhs.form)) 
+   
+   { // mantissas say all
+    // here with equal-length byte arrays to compare
+    {int $8=this.mant.length;i=0;i:for(;$8>0;$8--,i++){
+     if (this.mant[i]!=rhs.mant[i]) 
+      return false;
+     }
+    }/*i*/
+   }
+  else 
+   { // need proper layout
+    lca=this.layout(); // layout to character array
+    rca=rhs.layout();
+    if (lca.length!=rca.length) 
+     return false; // mismatch
+    // here with equal-length character arrays to compare
+    {int $9=lca.length;i=0;i:for(;$9>0;$9--,i++){
+     if (lca[i]!=rca[i]) 
+      return false;
+     }
+    }/*i*/
+   }
+  return true; // arrays have identical content
+  }
+
+ /**
+  * Converts this <code>BigDecimal</code> to a <code>float</code>.
+  * If the <code>BigDecimal</code> is out of the possible range for a
+  * <code>float</code> (32-bit signed floating point) result then an
+  * <code>ArithmeticException</code> is thrown.
+  * <p>
+  * The float produced is identical to result of expressing the
+  * <code>BigDecimal</code> as a <code>String</code> and then
+  * converting it using the <code>Float(String)</code> constructor;
+  * this can result in values of <code>Float.NEGATIVE_INFINITY</code>
+  * or <code>Float.POSITIVE_INFINITY</code>.
+  *
+  * @return A <code>float</code> corresponding to <code>this</code>.
+  * @stable ICU 2.0
+  */
+ 
+ public float floatValue(){
+  return java.lang.Float.valueOf(this.toString()).floatValue();
+  }
+
+ /**
+  * Returns the <code>String</code> representation of this
+  * <code>BigDecimal</code>, modified by layout parameters.
+  * <p>
+  * <i>This method is provided as a primitive for use by more
+  * sophisticated classes, such as <code>DecimalFormat</code>, that
+  * can apply locale-sensitive editing of the result.  The level of
+  * formatting that it provides is a necessary part of the BigDecimal
+  * class as it is sensitive to and must follow the calculation and
+  * rounding rules for BigDecimal arithmetic.
+  * However, if the function is provided elsewhere, it may be removed
+  * from this class. </i>
+  * <p>
+  * The parameters, for both forms of the <code>format</code> method
+  * are all of type <code>int</code>.
+  * A value of -1 for any parameter indicates that the default action
+  * or value for that parameter should be used.
+  * <p>
+  * The parameters, <code>before</code> and <code>after</code>,
+  * specify the number of characters to be used for the integer part
+  * and decimal part of the result respectively.  Exponential notation
+  * is not used. If either parameter is -1 (which indicates the default
+  * action), the number of characters used will be exactly as many as
+  * are needed for that part.
+  * <p>
+  * <code>before</code> must be a positive number; if it is larger than
+  * is needed to contain the integer part, that part is padded on the
+  * left with blanks to the requested length. If <code>before</code> is
+  * not large enough to contain the integer part of the number
+  * (including the sign, for negative numbers) an exception is thrown.
+  * <p>
+  * <code>after</code> must be a non-negative number; if it is not the
+  * same size as the decimal part of the number, the number will be
+  * rounded (or extended with zeros) to fit.  Specifying 0 for
+  * <code>after</code> will cause the number to be rounded to an
+  * integer (that is, it will have no decimal part or decimal point).
+  * The rounding method will be the default,
+  * <code>MathContext.ROUND_HALF_UP</code>.
+  * <p>
+  * Other rounding methods, and the use of exponential notation, can
+  * be selected by using {@link #format(int,int,int,int,int,int)}.
+  * Using the two-parameter form of the method has exactly the same
+  * effect as using the six-parameter form with the final four
+  * parameters all being -1.
+  *
+  * @param  before The <code>int</code> specifying the number of places
+  *                before the decimal point.  Use -1 for 'as many as
+  *                are needed'.
+  * @param  after  The <code>int</code> specifying the number of places
+  *                after the decimal point.  Use -1 for 'as many as are
+  *                needed'.
+  * @return        A <code>String</code> representing this
+  *                <code>BigDecimal</code>, laid out according to the
+  *                specified parameters
+  * @throws ArithmeticException if the number cannot be laid out as
+  *                requested.
+  * @throws IllegalArgumentException if a parameter is out of range.
+  * @stable ICU 2.0
+  * @see    #toString
+  * @see    #toCharArray
+  */
+ 
+ public java.lang.String format(int before,int after){
+  return format(before,after,-1,-1,com.ibm.icu.math.MathContext.SCIENTIFIC,ROUND_HALF_UP);
+  }
+
+ /**
+  * Returns the <code>String</code> representation of this
+  * <code>BigDecimal</code>, modified by layout parameters and allowing
+  * exponential notation.
+  * <p>
+  * <i>This method is provided as a primitive for use by more
+  * sophisticated classes, such as <code>DecimalFormat</code>, that
+  * can apply locale-sensitive editing of the result.  The level of
+  * formatting that it provides is a necessary part of the BigDecimal
+  * class as it is sensitive to and must follow the calculation and
+  * rounding rules for BigDecimal arithmetic.
+  * However, if the function is provided elsewhere, it may be removed
+  * from this class. </i>
+  * <p>
+  * The parameters are all of type <code>int</code>.
+  * A value of -1 for any parameter indicates that the default action
+  * or value for that parameter should be used.
+  * <p>
+  * The first two parameters (<code>before</code> and
+  * <code>after</code>) specify the number of characters to be used for
+  * the integer part and decimal part of the result respectively, as
+  * defined for {@link #format(int,int)}.
+  * If either of these is -1 (which indicates the default action), the
+  * number of characters used will be exactly as many as are needed for
+  * that part.
+  * <p>
+  * The remaining parameters control the use of exponential notation
+  * and rounding.  Three (<code>explaces</code>, <code>exdigits</code>,
+  * and <code>exform</code>) control the exponent part of the result.
+  * As before, the default action for any of these parameters may be
+  * selected by using the value -1.
+  * <p>
+  * <code>explaces</code> must be a positive number; it sets the number
+  * of places (digits after the sign of the exponent) to be used for
+  * any exponent part, the default (when <code>explaces</code> is -1)
+  * being to use as many as are needed.
+  * If <code>explaces</code> is not -1, space is always reserved for
+  * an exponent; if one is not needed (for example, if the exponent
+  * will be 0) then <code>explaces</code>+2 blanks are appended to the
+  * result.
+  * <!-- (This preserves vertical alignment of similarly formatted
+  *       numbers in a monospace font.) -->
+  * If <code>explaces</code> is not -1 and is not large enough to
+  * contain the exponent, an exception is thrown.
+  * <p>
+  * <code>exdigits</code> sets the trigger point for use of exponential
+  * notation. If, before any rounding, the number of places needed
+  * before the decimal point exceeds <code>exdigits</code>, or if the
+  * absolute value of the result is less than <code>0.000001</code>,
+  * then exponential form will be used, provided that
+  * <code>exdigits</code> was specified.
+  * When <code>exdigits</code> is -1, exponential notation will never
+  * be used. If 0 is specified for <code>exdigits</code>, exponential
+  * notation is always used unless the exponent would be 0.
+  * <p>
+  * <code>exform</code> sets the form for exponential notation (if
+  * needed).
+  * It  may be either {@link MathContext#SCIENTIFIC} or
+  * {@link MathContext#ENGINEERING}.
+  * If the latter, engineering, form is requested, up to three digits
+  * (plus sign, if negative) may be needed for the integer part of the
+  * result (<code>before</code>).  Otherwise, only one digit (plus
+  * sign, if negative) is needed.
+  * <p>
+  * Finally, the sixth argument, <code>exround</code>, selects the
+  * rounding algorithm to be used, and must be one of the values
+  * indicated by a public constant in the {@link MathContext} class
+  * whose name starts with <code>ROUND_</code>.
+  * The default (<code>ROUND_HALF_UP</code>) may also be selected by
+  * using the value -1, as before.
+  * <p>
+  * The special value <code>MathContext.ROUND_UNNECESSARY</code> may be
+  * used to detect whether non-zero digits are discarded -- if
+  * <code>exround</code> has this value than if non-zero digits would
+  * be discarded (rounded) during formatting then an
+  * <code>ArithmeticException</code> is thrown.
+  *
+  * @param  before   The <code>int</code> specifying the number of places
+  *                  before the decimal point.
+  *                  Use -1 for 'as many as are needed'.
+  * @param  after    The <code>int</code> specifying the number of places
+  *                  after the decimal point.
+  *                  Use -1 for 'as many as are needed'.
+  * @param  explaces The <code>int</code> specifying the number of places
+  *                  to be used for any exponent.
+  *                  Use -1 for 'as many as are needed'.
+  * @param  exdigits The <code>int</code> specifying the trigger
+  *                  (digits before the decimal point) which if
+  *                  exceeded causes exponential notation to be used.
+  *                  Use 0 to force exponential notation.
+  *                  Use -1 to force plain notation (no exponential
+  *                  notation).
+  * @param  exformint   The <code>int</code> specifying the form of
+  *                  exponential notation to be used
+  *                  ({@link MathContext#SCIENTIFIC} or
+  *                  {@link MathContext#ENGINEERING}).
+  * @param  exround  The <code>int</code> specifying the rounding mode
+  *                  to use.
+  *                  Use -1 for the default, {@link MathContext#ROUND_HALF_UP}.
+  * @return          A <code>String</code> representing this
+  *                  <code>BigDecimal</code>, laid out according to the
+  *                  specified parameters
+  * @throws ArithmeticException if the number cannot be laid out as
+  *                  requested.
+  * @throws IllegalArgumentException if a parameter is out of range.
+  * @see    #toString
+  * @see    #toCharArray
+  * @stable ICU 2.0
+  */
+ 
+ public java.lang.String format(int before,int after,int explaces,int exdigits,int exformint,int exround){
+  com.ibm.icu.math.BigDecimal num;
+  int mag=0;
+  int thisafter=0;
+  int lead=0;
+  byte newmant[]=null;
+  int chop=0;
+  int need=0;
+  int oldexp=0;
+  char a[];
+  int p=0;
+  char newa[]=null;
+  int i=0;
+  int places=0;
+  
+  
+  /* Check arguments */
+  if ((before<(-1))|(before==0)) 
+   badarg("format",1,java.lang.String.valueOf(before));
+  if (after<(-1)) 
+   badarg("format",2,java.lang.String.valueOf(after));
+  if ((explaces<(-1))|(explaces==0)) 
+   badarg("format",3,java.lang.String.valueOf(explaces));
+  if (exdigits<(-1)) 
+   badarg("format",4,java.lang.String.valueOf(explaces));
+  {/*select*/
+  if (exformint==com.ibm.icu.math.MathContext.SCIENTIFIC){
+  }else if (exformint==com.ibm.icu.math.MathContext.ENGINEERING){
+  }else if (exformint==(-1))
+   exformint=com.ibm.icu.math.MathContext.SCIENTIFIC;
+   // note PLAIN isn't allowed
+  else{
+   badarg("format",5,java.lang.String.valueOf(exformint));
+  }
+  }
+  // checking the rounding mode is done by trying to construct a
+  // MathContext object with that mode; it will fail if bad
+  if (exround!=ROUND_HALF_UP) 
+   {try{ // if non-default...
+    if (exround==(-1)) 
+     exround=ROUND_HALF_UP;
+    else 
+     new com.ibm.icu.math.MathContext(9,com.ibm.icu.math.MathContext.SCIENTIFIC,false,exround);
+   }
+   catch (java.lang.IllegalArgumentException $10){
+    badarg("format",6,java.lang.String.valueOf(exround));
+   }}
+  
+  num=clone(this); // make private copy
+  
+  /* Here:
+     num       is BigDecimal to format
+     before    is places before point [>0]
+     after     is places after point  [>=0]
+     explaces  is exponent places     [>0]
+     exdigits  is exponent digits     [>=0]
+     exformint is exponent form       [one of two]
+     exround   is rounding mode       [one of eight]
+     'before' through 'exdigits' are -1 if not specified
+  */
+  
+  /* determine form */
+  {setform:do{/*select*/
+  if (exdigits==(-1))
+   num.form=(byte)com.ibm.icu.math.MathContext.PLAIN;
+  else if (num.ind==iszero)
+   num.form=(byte)com.ibm.icu.math.MathContext.PLAIN;
+  else{
+   // determine whether triggers
+   mag=num.exp+num.mant.length;
+   if (mag>exdigits) 
+    num.form=(byte)exformint;
+   else 
+    if (mag<(-5)) 
+     num.form=(byte)exformint;
+    else 
+     num.form=(byte)com.ibm.icu.math.MathContext.PLAIN;
+  }
+  }while(false);}/*setform*/
+  
+  /* If 'after' was specified then we may need to adjust the
+     mantissa.  This is a little tricky, as we must conform to the
+     rules of exponential layout if necessary (e.g., we cannot end up
+     with 10.0 if scientific). */
+  if (after>=0) 
+   {setafter:for(;;){
+    // calculate the current after-length
+    {/*select*/
+    if (num.form==com.ibm.icu.math.MathContext.PLAIN)
+     thisafter=(int)-num.exp; // has decimal part
+    else if (num.form==com.ibm.icu.math.MathContext.SCIENTIFIC)
+     thisafter=num.mant.length-1;
+    else{ // engineering
+     lead=(((num.exp+num.mant.length)-1))%3; // exponent to use
+     if (lead<0) 
+      lead=3+lead; // negative exponent case
+     lead++; // number of leading digits
+     if (lead>=num.mant.length) 
+      thisafter=0;
+     else 
+      thisafter=num.mant.length-lead;
+    }
+    }
+    if (thisafter==after) 
+     break setafter; // we're in luck
+    if (thisafter<after) 
+     { // need added trailing zeros
+      // [thisafter can be negative]
+      newmant=extend(num.mant,(num.mant.length+after)-thisafter);
+      num.mant=newmant;
+      num.exp=num.exp-((after-thisafter)); // adjust exponent
+      if (num.exp<MinExp) 
+       throw new java.lang.ArithmeticException("Exponent Overflow:"+" "+num.exp);
+      break setafter;
+     }
+    // We have too many digits after the decimal point; this could
+    // cause a carry, which could change the mantissa...
+    // Watch out for implied leading zeros in PLAIN case
+    chop=thisafter-after; // digits to lop [is >0]
+    if (chop>num.mant.length) 
+     { // all digits go, no chance of carry
+      // carry on with zero
+      num.mant=ZERO.mant;
+      num.ind=iszero;
+      num.exp=0;
+      continue setafter; // recheck: we may need trailing zeros
+     }
+    // we have a digit to inspect from existing mantissa
+    // round the number as required
+    need=num.mant.length-chop; // digits to end up with [may be 0]
+    oldexp=num.exp; // save old exponent
+    num.round(need,exround);
+    // if the exponent grew by more than the digits we chopped, then
+    // we must have had a carry, so will need to recheck the layout
+    if ((num.exp-oldexp)==chop) 
+     break setafter; // number did not have carry
+    // mantissa got extended .. so go around and check again
+    }
+   }/*setafter*/
+  
+  a=num.layout(); // lay out, with exponent if required, etc.
+  
+  /* Here we have laid-out number in 'a' */
+  // now apply 'before' and 'explaces' as needed
+  if (before>0) 
+   {
+    // look for '.' or 'E'
+    {int $11=a.length;p=0;p:for(;$11>0;$11--,p++){
+     if (a[p]=='.') 
+      break p;
+     if (a[p]=='E') 
+      break p;
+     }
+    }/*p*/
+    // p is now offset of '.', 'E', or character after end of array
+    // that is, the current length of before part
+    if (p>before) 
+     badarg("format",1,java.lang.String.valueOf(before)); // won't fit
+    if (p<before) 
+     { // need leading blanks
+      newa=new char[(a.length+before)-p];
+      {int $12=before-p;i=0;i:for(;$12>0;$12--,i++){
+       newa[i]=' ';
+       }
+      }/*i*/
+      java.lang.System.arraycopy((java.lang.Object)a,0,(java.lang.Object)newa,i,a.length);
+      a=newa;
+     }
+   // [if p=before then it's just the right length]
+   }
+  
+  if (explaces>0) 
+   {
+    // look for 'E' [cannot be at offset 0]
+    {int $13=a.length-1;p=a.length-1;p:for(;$13>0;$13--,p--){
+     if (a[p]=='E') 
+      break p;
+     }
+    }/*p*/
+    // p is now offset of 'E', or 0
+    if (p==0) 
+     { // no E part; add trailing blanks
+      newa=new char[(a.length+explaces)+2];
+      java.lang.System.arraycopy((java.lang.Object)a,0,(java.lang.Object)newa,0,a.length);
+      {int $14=explaces+2;i=a.length;i:for(;$14>0;$14--,i++){
+       newa[i]=' ';
+       }
+      }/*i*/
+      a=newa;
+     }
+    else 
+     {/* found E */ // may need to insert zeros
+      places=(a.length-p)-2; // number so far
+      if (places>explaces) 
+       badarg("format",3,java.lang.String.valueOf(explaces));
+      if (places<explaces) 
+       { // need to insert zeros
+        newa=new char[(a.length+explaces)-places];
+        java.lang.System.arraycopy((java.lang.Object)a,0,(java.lang.Object)newa,0,p+2); // through E and sign
+        {int $15=explaces-places;i=p+2;i:for(;$15>0;$15--,i++){
+         newa[i]='0';
+         }
+        }/*i*/
+        java.lang.System.arraycopy((java.lang.Object)a,p+2,(java.lang.Object)newa,i,places); // remainder of exponent
+        a=newa;
+       }
+     // [if places=explaces then it's just the right length]
+     }
+   }
+  return new java.lang.String(a);
+  }
+
+ /**
+  * Returns the hashcode for this <code>BigDecimal</code>.
+  * This hashcode is suitable for use by the
+  * <code>java.util.Hashtable</code> class.
+  * <p>
+  * Note that two <code>BigDecimal</code> objects are only guaranteed
+  * to produce the same hashcode if they are exactly equal (that is,
+  * the <code>String</code> representations of the
+  * <code>BigDecimal</code> numbers are identical -- they have the same
+  * characters in the same sequence).
+  *
+  * @return An <code>int</code> that is the hashcode for <code>this</code>.
+  * @stable ICU 2.0
+  */
+ 
+ public int hashCode(){
+  // Maybe calculate ourselves, later.  If so, note that there can be
+  // more than one internal representation for a given toString() result.
+  return this.toString().hashCode();
+  }
+
+ /**
+  * Converts this <code>BigDecimal</code> to an <code>int</code>.
+  * If the <code>BigDecimal</code> has a non-zero decimal part it is
+  * discarded. If the <code>BigDecimal</code> is out of the possible
+  * range for an <code>int</code> (32-bit signed integer) result then
+  * only the low-order 32 bits are used. (That is, the number may be
+  * <i>decapitated</i>.)  To avoid unexpected errors when these
+  * conditions occur, use the {@link #intValueExact} method.
+  *
+  * @return An <code>int</code> converted from <code>this</code>,
+  *         truncated and decapitated if necessary.
+  * @stable ICU 2.0
+  */
+ 
+ public int intValue(){
+  return toBigInteger().intValue();
+  }
+
+ /**
+  * Converts this <code>BigDecimal</code> to an <code>int</code>.
+  * If the <code>BigDecimal</code> has a non-zero decimal part or is
+  * out of the possible range for an <code>int</code> (32-bit signed
+  * integer) result then an <code>ArithmeticException</code> is thrown.
+  *
+  * @return An <code>int</code> equal in value to <code>this</code>.
+  * @throws ArithmeticException if <code>this</code> has a non-zero
+  *                 decimal part, or will not fit in an
+  *                 <code>int</code>.
+  * @stable ICU 2.0
+  */
+ 
+ public int intValueExact(){
+  int lodigit;
+  int useexp=0;
+  int result;
+  int i=0;
+  int topdig=0;
+  // This does not use longValueExact() as the latter can be much
+  // slower.
+  // intcheck (from pow) relies on this to check decimal part
+  if (ind==iszero) 
+   return 0; // easy, and quite common
+  /* test and drop any trailing decimal part */
+  lodigit=mant.length-1;
+  if (exp<0) 
+   {
+    lodigit=lodigit+exp; // reduces by -(-exp)
+    /* all decimal places must be 0 */
+    if ((!(allzero(mant,lodigit+1)))) 
+     throw new java.lang.ArithmeticException("Decimal part non-zero:"+" "+this.toString());
+    if (lodigit<0) 
+     return 0; // -1<this<1
+    useexp=0;
+   }
+  else 
+   {/* >=0 */
+    if ((exp+lodigit)>9)  // early exit
+     throw new java.lang.ArithmeticException("Conversion overflow:"+" "+this.toString());
+    useexp=exp;
+   }
+  /* convert the mantissa to binary, inline for speed */
+  result=0;
+  {int $16=lodigit+useexp;i=0;i:for(;i<=$16;i++){
+   result=result*10;
+   if (i<=lodigit) 
+    result=result+mant[i];
+   }
+  }/*i*/
+  
+  /* Now, if the risky length, check for overflow */
+  if ((lodigit+useexp)==9) 
+   {
+    // note we cannot just test for -ve result, as overflow can move a
+    // zero into the top bit [consider 5555555555]
+    topdig=result/1000000000; // get top digit, preserving sign
+    if (topdig!=mant[0]) 
+     { // digit must match and be positive
+      // except in the special case ...
+      if (result==java.lang.Integer.MIN_VALUE)  // looks like the special
+       if (ind==isneg)  // really was negative
+        if (mant[0]==2) 
+         return result; // really had top digit 2
+      throw new java.lang.ArithmeticException("Conversion overflow:"+" "+this.toString());
+     }
+   }
+  
+  /* Looks good */
+  if (ind==ispos) 
+   return result;
+  return (int)-result;
+  }
+
+ /**
+  * Converts this <code>BigDecimal</code> to a <code>long</code>.
+  * If the <code>BigDecimal</code> has a non-zero decimal part it is
+  * discarded. If the <code>BigDecimal</code> is out of the possible
+  * range for a <code>long</code> (64-bit signed integer) result then
+  * only the low-order 64 bits are used. (That is, the number may be
+  * <i>decapitated</i>.)  To avoid unexpected errors when these
+  * conditions occur, use the {@link #longValueExact} method.
+  *
+  * @return A <code>long</code> converted from <code>this</code>,
+  *         truncated and decapitated if necessary.
+  * @stable ICU 2.0
+  */
+ 
+ public long longValue(){
+  return toBigInteger().longValue();
+  }
+
+ /**
+  * Converts this <code>BigDecimal</code> to a <code>long</code>.
+  * If the <code>BigDecimal</code> has a non-zero decimal part or is
+  * out of the possible range for a <code>long</code> (64-bit signed
+  * integer) result then an <code>ArithmeticException</code> is thrown.
+  *
+  * @return A <code>long</code> equal in value to <code>this</code>.
+  * @throws ArithmeticException if <code>this</code> has a non-zero
+  *                 decimal part, or will not fit in a
+  *                 <code>long</code>.
+  * @stable ICU 2.0
+  */
+ 
+ public long longValueExact(){
+  int lodigit;
+  int cstart=0;
+  int useexp=0;
+  long result;
+  int i=0;
+  long topdig=0;
+  // Identical to intValueExact except for result=long, and exp>=20 test
+  if (ind==0) 
+   return 0; // easy, and quite common
+  lodigit=mant.length-1; // last included digit
+  if (exp<0) 
+   {
+    lodigit=lodigit+exp; // -(-exp)
+    /* all decimal places must be 0 */
+    if (lodigit<0) 
+     cstart=0;
+    else 
+     cstart=lodigit+1;
+    if ((!(allzero(mant,cstart)))) 
+     throw new java.lang.ArithmeticException("Decimal part non-zero:"+" "+this.toString());
+    if (lodigit<0) 
+     return 0; // -1<this<1
+    useexp=0;
+   }
+  else 
+   {/* >=0 */
+    if ((exp+mant.length)>18)  // early exit
+     throw new java.lang.ArithmeticException("Conversion overflow:"+" "+this.toString());
+    useexp=exp;
+   }
+  
+  /* convert the mantissa to binary, inline for speed */
+  // note that we could safely use the 'test for wrap to negative'
+  // algorithm here, but instead we parallel the intValueExact
+  // algorithm for ease of checking and maintenance.
+  result=(long)0;
+  {int $17=lodigit+useexp;i=0;i:for(;i<=$17;i++){
+   result=result*10;
+   if (i<=lodigit) 
+    result=result+mant[i];
+   }
+  }/*i*/
+  
+  /* Now, if the risky length, check for overflow */
+  if ((lodigit+useexp)==18) 
+   {
+    topdig=result/1000000000000000000L; // get top digit, preserving sign
+    if (topdig!=mant[0]) 
+     { // digit must match and be positive
+      // except in the special case ...
+      if (result==java.lang.Long.MIN_VALUE)  // looks like the special
+       if (ind==isneg)  // really was negative
+        if (mant[0]==9) 
+         return result; // really had top digit 9
+      throw new java.lang.ArithmeticException("Conversion overflow:"+" "+this.toString());
+     }
+   }
+  
+  /* Looks good */
+  if (ind==ispos) 
+   return result;
+  return (long)-result;
+  }
+
+ /**
+  * Returns a plain <code>BigDecimal</code> whose decimal point has
+  * been moved to the left by a specified number of positions.
+  * The parameter, <code>n</code>, specifies the number of positions to
+  * move the decimal point.
+  * That is, if <code>n</code> is 0 or positive, the number returned is
+  * given by:
+  * <p><code>
+  * this.multiply(TEN.pow(new BigDecimal(-n)))
+  * </code>
+  * <p>
+  * <code>n</code> may be negative, in which case the method returns
+  * the same result as <code>movePointRight(-n)</code>.
+  *
+  * @param  n The <code>int</code> specifying the number of places to
+  *           move the decimal point leftwards.
+  * @return   A <code>BigDecimal</code> derived from
+  *           <code>this</code>, with the decimal point moved
+  *           <code>n</code> places to the left.
+  * @stable ICU 2.0
+  */
+ 
+ public com.ibm.icu.math.BigDecimal movePointLeft(int n){
+  com.ibm.icu.math.BigDecimal res;
+  // very little point in optimizing for shift of 0
+  res=clone(this);
+  res.exp=res.exp-n;
+  return res.finish(plainMC,false); // finish sets form and checks exponent
+  }
+
+ /**
+  * Returns a plain <code>BigDecimal</code> whose decimal point has
+  * been moved to the right by a specified number of positions.
+  * The parameter, <code>n</code>, specifies the number of positions to
+  * move the decimal point.
+  * That is, if <code>n</code> is 0 or positive, the number returned is
+  * given by:
+  * <p><code>
+  * this.multiply(TEN.pow(new BigDecimal(n)))
+  * </code>
+  * <p>
+  * <code>n</code> may be negative, in which case the method returns
+  * the same result as <code>movePointLeft(-n)</code>.
+  *
+  * @param  n The <code>int</code> specifying the number of places to
+  *           move the decimal point rightwards.
+  * @return   A <code>BigDecimal</code> derived from
+  *           <code>this</code>, with the decimal point moved
+  *           <code>n</code> places to the right.
+  * @stable ICU 2.0
+  */
+ 
+ public com.ibm.icu.math.BigDecimal movePointRight(int n){
+  com.ibm.icu.math.BigDecimal res;
+  res=clone(this);
+  res.exp=res.exp+n;
+  return res.finish(plainMC,false);
+  }
+
+ /**
+  * Returns the scale of this <code>BigDecimal</code>.
+  * Returns a non-negative <code>int</code> which is the scale of the
+  * number. The scale is the number of digits in the decimal part of
+  * the number if the number were formatted without exponential
+  * notation.
+  *
+  * @return An <code>int</code> whose value is the scale of this
+  *         <code>BigDecimal</code>.
+  * @stable ICU 2.0
+  */
+ 
+ public int scale(){
+  if (exp>=0) 
+   return 0; // scale can never be negative
+  return (int)-exp;
+  }
+
+ /**
+  * Returns a plain <code>BigDecimal</code> with a given scale.
+  * <p>
+  * If the given scale (which must be zero or positive) is the same as
+  * or greater than the length of the decimal part (the scale) of this
+  * <code>BigDecimal</code> then trailing zeros will be added to the
+  * decimal part as necessary.
+  * <p>
+  * If the given scale is less than the length of the decimal part (the
+  * scale) of this <code>BigDecimal</code> then trailing digits
+  * will be removed, and in this case an
+  * <code>ArithmeticException</code> is thrown if any discarded digits
+  * are non-zero.
+  * <p>
+  * The same as {@link #setScale(int, int)}, where the first parameter
+  * is the scale, and the second is
+  * <code>MathContext.ROUND_UNNECESSARY</code>.
+  *
+  * @param  scale The <code>int</code> specifying the scale of the
+  *               resulting <code>BigDecimal</code>.
+  * @return       A plain <code>BigDecimal</code> with the given scale.
+  * @throws ArithmeticException if <code>scale</code> is negative.
+  * @throws ArithmeticException if reducing scale would discard
+  *               non-zero digits.
+  * @stable ICU 2.0
+  */
+ 
+ public com.ibm.icu.math.BigDecimal setScale(int scale){
+  return setScale(scale,ROUND_UNNECESSARY);
+  }
+
+ /**
+  * Returns a plain <code>BigDecimal</code> with a given scale.
+  * <p>
+  * If the given scale (which must be zero or positive) is the same as
+  * or greater than the length of the decimal part (the scale) of this
+  * <code>BigDecimal</code> then trailing zeros will be added to the
+  * decimal part as necessary.
+  * <p>
+  * If the given scale is less than the length of the decimal part (the
+  * scale) of this <code>BigDecimal</code> then trailing digits
+  * will be removed, and the rounding mode given by the second
+  * parameter is used to determine if the remaining digits are
+  * affected by a carry.
+  * In this case, an <code>IllegalArgumentException</code> is thrown if
+  * <code>round</code> is not a valid rounding mode.
+  * <p>
+  * If <code>round</code> is <code>MathContext.ROUND_UNNECESSARY</code>,
+  * an <code>ArithmeticException</code> is thrown if any discarded
+  * digits are non-zero.
+  *
+  * @param  scale The <code>int</code> specifying the scale of the
+  *               resulting <code>BigDecimal</code>.
+  * @param  round The <code>int</code> rounding mode to be used for
+  *               the division (see the {@link MathContext} class).
+  * @return       A plain <code>BigDecimal</code> with the given scale.
+  * @throws IllegalArgumentException if <code>round</code> is not a
+  *               valid rounding mode.
+  * @throws ArithmeticException if <code>scale</code> is negative.
+  * @throws ArithmeticException if <code>round</code> is
+  *               <code>MathContext.ROUND_UNNECESSARY</code>, and
+  *               reducing scale would discard non-zero digits.
+  * @stable ICU 2.0
+  */
+ 
+ public com.ibm.icu.math.BigDecimal setScale(int scale,int round){
+  int ourscale;
+  com.ibm.icu.math.BigDecimal res;
+  int padding=0;
+  int newlen=0;
+  // at present this naughtily only checks the round value if it is
+  // needed (used), for speed
+  ourscale=this.scale();
+  if (ourscale==scale)  // already correct scale
+   if (this.form==com.ibm.icu.math.MathContext.PLAIN)  // .. and form
+    return this;
+  res=clone(this); // need copy
+  if (ourscale<=scale) 
+   { // simply zero-padding/changing form
+    // if ourscale is 0 we may have lots of 0s to add
+    if (ourscale==0) 
+     padding=res.exp+scale;
+    else 
+     padding=scale-ourscale;
+    res.mant=extend(res.mant,res.mant.length+padding);
+    res.exp=(int)-scale; // as requested
+   }
+  else 
+   {/* ourscale>scale: shortening, probably */
+    if (scale<0) 
+     throw new java.lang.ArithmeticException("Negative scale:"+" "+scale);
+    // [round() will raise exception if invalid round]
+    newlen=res.mant.length-((ourscale-scale)); // [<=0 is OK]
+    res=res.round(newlen,round); // round to required length
+    // This could have shifted left if round (say) 0.9->1[.0]
+    // Repair if so by adding a zero and reducing exponent
+    if (res.exp!=((int)-scale)) 
+     {
+      res.mant=extend(res.mant,res.mant.length+1);
+      res.exp=res.exp-1;
+     }
+   }
+  res.form=(byte)com.ibm.icu.math.MathContext.PLAIN; // by definition
+  return res;
+  }
+
+ /**
+  * Converts this <code>BigDecimal</code> to a <code>short</code>.
+  * If the <code>BigDecimal</code> has a non-zero decimal part or is
+  * out of the possible range for a <code>short</code> (16-bit signed
+  * integer) result then an <code>ArithmeticException</code> is thrown.
+  *
+  * @return A <code>short</code> equal in value to <code>this</code>.
+  * @throws ArithmeticException if <code>this</code> has a non-zero
+  *                 decimal part, or will not fit in a
+  *                 <code>short</code>.
+  * @stable ICU 2.0
+  */
+ 
+ public short shortValueExact(){
+  int num;
+  num=this.intValueExact(); // will check decimal part too
+  if ((num>32767)|(num<(-32768))) 
+   throw new java.lang.ArithmeticException("Conversion overflow:"+" "+this.toString());
+  return (short)num;
+  }
+
+ /**
+  * Returns the sign of this <code>BigDecimal</code>, as an
+  * <code>int</code>.
+  * This returns the <i>signum</i> function value that represents the
+  * sign of this <code>BigDecimal</code>.
+  * That is, -1 if the <code>BigDecimal</code> is negative, 0 if it is
+  * numerically equal to zero, or 1 if it is positive.
+  *
+  * @return An <code>int</code> which is -1 if the
+  *         <code>BigDecimal</code> is negative, 0 if it is
+  *         numerically equal to zero, or 1 if it is positive.
+  * @stable ICU 2.0
+  */
+ 
+ public int signum(){
+  return (int)this.ind; // [note this assumes values for ind.]
+  }
+
+ /**
+  * Converts this <code>BigDecimal</code> to a
+  * <code>java.math.BigDecimal</code>.
+  * <p>
+  * This is an exact conversion; the result is the same as if the
+  * <code>BigDecimal</code> were formatted as a plain number without
+  * any rounding or exponent and then the
+  * <code>java.math.BigDecimal(java.lang.String)</code> constructor
+  * were used to construct the result.
+  * <p>
+  * <i>(Note: this method is provided only in the
+  * <code>com.ibm.icu.math</code> version of the BigDecimal class.
+  * It would not be present in a <code>java.math</code> version.)</i>
+  *
+  * @return The <code>java.math.BigDecimal</code> equal in value
+  *         to this <code>BigDecimal</code>.
+  * @stable ICU 2.0
+  */
+ 
+ public java.math.BigDecimal toBigDecimal(){
+  return new java.math.BigDecimal(this.unscaledValue(),this.scale());
+  }
+
+ /**
+  * Converts this <code>BigDecimal</code> to a
+  * <code>java.math.BigInteger</code>.
+  * <p>
+  * Any decimal part is truncated (discarded).
+  * If an exception is desired should the decimal part be non-zero,
+  * use {@link #toBigIntegerExact()}.
+  *
+  * @return The <code>java.math.BigInteger</code> equal in value
+  *         to the integer part of this <code>BigDecimal</code>.
+  * @stable ICU 2.0
+  */
+ 
+ public java.math.BigInteger toBigInteger(){
+  com.ibm.icu.math.BigDecimal res=null;
+  int newlen=0;
+  byte newmant[]=null;
+  {/*select*/
+  if ((exp>=0)&(form==com.ibm.icu.math.MathContext.PLAIN))
+   res=this; // can layout simply
+  else if (exp>=0)
+   {
+    res=clone(this); // safe copy
+    res.form=(byte)com.ibm.icu.math.MathContext.PLAIN; // .. and request PLAIN
+   }
+  else{
+   { // exp<0; scale to be truncated
+    // we could use divideInteger, but we may as well be quicker
+    if (((int)-this.exp)>=this.mant.length) 
+     res=ZERO; // all blows away
+    else 
+     {
+      res=clone(this); // safe copy
+      newlen=res.mant.length+res.exp;
+      newmant=new byte[newlen]; // [shorter]
+      java.lang.System.arraycopy((java.lang.Object)res.mant,0,(java.lang.Object)newmant,0,newlen);
+      res.mant=newmant;
+      res.form=(byte)com.ibm.icu.math.MathContext.PLAIN;
+      res.exp=0;
+     }
+   }
+  }
+  }
+  return new BigInteger(new java.lang.String(res.layout()));
+  }
+
+ /**
+  * Converts this <code>BigDecimal</code> to a
+  * <code>java.math.BigInteger</code>.
+  * <p>
+  * An exception is thrown if the decimal part (if any) is non-zero.
+  *
+  * @return The <code>java.math.BigInteger</code> equal in value
+  *         to the integer part of this <code>BigDecimal</code>.
+  * @throws ArithmeticException if <code>this</code> has a non-zero
+  *         decimal part.
+  * @stable ICU 2.0
+  */
+ 
+ public java.math.BigInteger toBigIntegerExact(){
+  /* test any trailing decimal part */
+  if (exp<0) 
+   { // possible decimal part
+    /* all decimal places must be 0; note exp<0 */
+    if ((!(allzero(mant,mant.length+exp)))) 
+     throw new java.lang.ArithmeticException("Decimal part non-zero:"+" "+this.toString());
+   }
+  return toBigInteger();
+  }
+
+ /**
+  * Returns the <code>BigDecimal</code> as a character array.
+  * The result of this method is the same as using the
+  * sequence <code>toString().toCharArray()</code>, but avoids creating
+  * the intermediate <code>String</code> and <code>char[]</code>
+  * objects.
+  *
+  * @return The <code>char[]</code> array corresponding to this
+  *         <code>BigDecimal</code>.
+  * @stable ICU 2.0
+  */
+ 
+ public char[] toCharArray(){
+  return layout();
+  }
+
+ /**
+  * Returns the <code>BigDecimal</code> as a <code>String</code>.
+  * This returns a <code>String</code> that exactly represents this
+  * <code>BigDecimal</code>, as defined in the decimal documentation
+  * (see {@link BigDecimal class header}).
+  * <p>
+  * By definition, using the {@link #BigDecimal(String)} constructor
+  * on the result <code>String</code> will create a
+  * <code>BigDecimal</code> that is exactly equal to the original
+  * <code>BigDecimal</code>.
+  *
+  * @return The <code>String</code> exactly corresponding to this
+  *         <code>BigDecimal</code>.
+  * @see    #format(int, int)
+  * @see    #format(int, int, int, int, int, int)
+  * @see    #toCharArray()
+  * @stable ICU 2.0
+  */
+ 
+ public java.lang.String toString(){
+  return new java.lang.String(layout());
+  }
+
+ /**
+  * Returns the number as a <code>BigInteger</code> after removing the
+  * scale.
+  * That is, the number is expressed as a plain number, any decimal
+  * point is then removed (retaining the digits of any decimal part),
+  * and the result is then converted to a <code>BigInteger</code>.
+  *
+  * @return The <code>java.math.BigInteger</code> equal in value to
+  *         this <code>BigDecimal</code> multiplied by ten to the
+  *         power of <code>this.scale()</code>.
+  * @stable ICU 2.0
+  */
+ 
+ public java.math.BigInteger unscaledValue(){
+  com.ibm.icu.math.BigDecimal res=null;
+  if (exp>=0) 
+   res=this;
+  else 
+   {
+    res=clone(this); // safe copy
+    res.exp=0; // drop scale
+   }
+  return res.toBigInteger();
+  }
+
+ /**
+  * Translates a <code>double</code> to a <code>BigDecimal</code>.
+  * <p>
+  * Returns a <code>BigDecimal</code> which is the decimal
+  * representation of the 64-bit signed binary floating point
+  * parameter. If the parameter is infinite, or is not a number (NaN),
+  * a <code>NumberFormatException</code> is thrown.
+  * <p>
+  * The number is constructed as though <code>num</code> had been
+  * converted to a <code>String</code> using the
+  * <code>Double.toString()</code> method and the
+  * {@link #BigDecimal(java.lang.String)} constructor had then been used.
+  * This is typically not an exact conversion.
+  *
+  * @param  dub The <code>double</code> to be translated.
+  * @return     The <code>BigDecimal</code> equal in value to
+  *             <code>dub</code>.
+  * @throws NumberFormatException if the parameter is infinite or
+  *             not a number.
+  * @stable ICU 2.0
+  */
+ 
+ public static com.ibm.icu.math.BigDecimal valueOf(double dub){
+  // Reminder: a zero double returns '0.0', so we cannot fastpath to
+  // use the constant ZERO.  This might be important enough to justify
+  // a factory approach, a cache, or a few private constants, later.
+  return new com.ibm.icu.math.BigDecimal((new java.lang.Double(dub)).toString());
+  }
+
+ /**
+  * Translates a <code>long</code> to a <code>BigDecimal</code>.
+  * That is, returns a plain <code>BigDecimal</code> whose value is
+  * equal to the given <code>long</code>.
+  *
+  * @param  lint The <code>long</code> to be translated.
+  * @return      The <code>BigDecimal</code> equal in value to
+  *              <code>lint</code>.
+  * @stable ICU 2.0
+  */
+ 
+ public static com.ibm.icu.math.BigDecimal valueOf(long lint){
+  return valueOf(lint,0);
+  }
+
+ /**
+  * Translates a <code>long</code> to a <code>BigDecimal</code> with a
+  * given scale.
+  * That is, returns a plain <code>BigDecimal</code> whose unscaled
+  * value is equal to the given <code>long</code>, adjusted by the
+  * second parameter, <code>scale</code>.
+  * <p>
+  * The result is given by:
+  * <p><code>
+  * (new BigDecimal(lint)).divide(TEN.pow(new BigDecimal(scale)))
+  * </code>
+  * <p>
+  * A <code>NumberFormatException</code> is thrown if <code>scale</code>
+  * is negative.
+  *
+  * @param  lint  The <code>long</code> to be translated.
+  * @param  scale The <code>int</code> scale to be applied.
+  * @return       The <code>BigDecimal</code> equal in value to
+  *               <code>lint</code>.
+  * @throws NumberFormatException if the scale is negative.
+  * @stable ICU 2.0
+  */
+ 
+ public static com.ibm.icu.math.BigDecimal valueOf(long lint,int scale){
+  com.ibm.icu.math.BigDecimal res=null;
+  {/*select*/
+  if (lint==0)
+   res=ZERO;
+  else if (lint==1)
+   res=ONE;
+  else if (lint==10)
+   res=TEN;
+  else{
+   res=new com.ibm.icu.math.BigDecimal(lint);
+  }
+  }
+  if (scale==0) 
+   return res;
+  if (scale<0) 
+   throw new java.lang.NumberFormatException("Negative scale:"+" "+scale);
+  res=clone(res); // safe copy [do not mutate]
+  res.exp=(int)-scale; // exponent is -scale
+  return res;
+  }
+
+ /* ---------------------------------------------------------------- */
+ /* Private methods                                                  */
+ /* ---------------------------------------------------------------- */
+ 
+ /* <sgml> Return char array value of a BigDecimal (conversion from
+       BigDecimal to laid-out canonical char array).
+    <p>The mantissa will either already have been rounded (following an
+       operation) or will be of length appropriate (in the case of
+       construction from an int, for example).
+    <p>We must not alter the mantissa, here.
+    <p>'form' describes whether we are to use exponential notation (and
+       if so, which), or if we are to lay out as a plain/pure numeric.
+    </sgml> */
+ 
+ private char[] layout(){
+  char cmant[];
+  int i=0;
+  java.lang.StringBuffer sb=null;
+  int euse=0;
+  int sig=0;
+  char csign=0;
+  char rec[]=null;
+  int needsign;
+  int mag;
+  int len=0;
+  cmant=new char[mant.length]; // copy byte[] to a char[]
+  {int $18=mant.length;i=0;i:for(;$18>0;$18--,i++){
+   cmant[i]=(char)(mant[i]+((int)('0')));
+   }
+  }/*i*/
+  
+  if (form!=com.ibm.icu.math.MathContext.PLAIN) 
+   {/* exponential notation needed */
+    sb=new java.lang.StringBuffer(cmant.length+15); // -x.xxxE+999999999
+    if (ind==isneg) 
+     sb.append('-');
+    euse=(exp+cmant.length)-1; // exponent to use
+    /* setup sig=significant digits and copy to result */
+    if (form==com.ibm.icu.math.MathContext.SCIENTIFIC) 
+     { // [default]
+      sb.append(cmant[0]); // significant character
+      if (cmant.length>1)  // have decimal part
+       sb.append('.').append(cmant,1,cmant.length-1);
+     }
+    else 
+     {engineering:do{
+      sig=euse%3; // common
+      if (sig<0) 
+       sig=3+sig; // negative exponent
+      euse=euse-sig;
+      sig++;
+      if (sig>=cmant.length) 
+       { // zero padding may be needed
+        sb.append(cmant,0,cmant.length);
+        {int $19=sig-cmant.length;for(;$19>0;$19--){
+         sb.append('0');
+         }
+        }
+       }
+      else 
+       { // decimal point needed
+        sb.append(cmant,0,sig).append('.').append(cmant,sig,cmant.length-sig);
+       }
+     }while(false);}/*engineering*/
+    if (euse!=0) 
+     {
+      if (euse<0) 
+       {
+        csign='-';
+        euse=(int)-euse;
+       }
+      else 
+       csign='+';
+      sb.append('E').append(csign).append(euse);
+     }
+    rec=new char[sb.length()];
+    Utility.getChars(sb, 0,sb.length(),rec,0);
+    return rec;
+   }
+  
+  /* Here for non-exponential (plain) notation */
+  if (exp==0) 
+   {/* easy */
+    if (ind>=0) 
+     return cmant; // non-negative integer
+    rec=new char[cmant.length+1];
+    rec[0]='-';
+    java.lang.System.arraycopy((java.lang.Object)cmant,0,(java.lang.Object)rec,1,cmant.length);
+    return rec;
+   }
+  
+  /* Need a '.' and/or some zeros */
+  needsign=(int)((ind==isneg)?1:0); // space for sign?  0 or 1
+  
+  /* MAG is the position of the point in the mantissa (index of the
+     character it follows) */
+  mag=exp+cmant.length;
+  
+  if (mag<1) 
+   {/* 0.00xxxx form */
+    len=(needsign+2)-exp; // needsign+2+(-mag)+cmant.length
+    rec=new char[len];
+    if (needsign!=0) 
+     rec[0]='-';
+    rec[needsign]='0';
+    rec[needsign+1]='.';
+    {int $20=(int)-mag;i=needsign+2;i:for(;$20>0;$20--,i++){ // maybe none
+     rec[i]='0';
+     }
+    }/*i*/
+    java.lang.System.arraycopy((java.lang.Object)cmant,0,(java.lang.Object)rec,(needsign+2)-mag,cmant.length);
+    return rec;
+   }
+  
+  if (mag>cmant.length) 
+   {/* xxxx0000 form */
+    len=needsign+mag;
+    rec=new char[len];
+    if (needsign!=0) 
+     rec[0]='-';
+    java.lang.System.arraycopy((java.lang.Object)cmant,0,(java.lang.Object)rec,needsign,cmant.length);
+    {int $21=mag-cmant.length;i=needsign+cmant.length;i:for(;$21>0;$21--,i++){ // never 0
+     rec[i]='0';
+     }
+    }/*i*/
+    return rec;
+   }
+  
+  /* decimal point is in the middle of the mantissa */
+  len=(needsign+1)+cmant.length;
+  rec=new char[len];
+  if (needsign!=0) 
+   rec[0]='-';
+  java.lang.System.arraycopy((java.lang.Object)cmant,0,(java.lang.Object)rec,needsign,mag);
+  rec[needsign+mag]='.';
+  java.lang.System.arraycopy((java.lang.Object)cmant,mag,(java.lang.Object)rec,(needsign+mag)+1,cmant.length-mag);
+  return rec;
+  }
+
+ /* <sgml> Checks a BigDecimal argument to ensure it's a true integer
+       in a given range.
+    <p>If OK, returns it as an int. </sgml> */
+ // [currently only used by pow]
+ 
+ private int intcheck(int min,int max){
+  int i;
+  i=this.intValueExact(); // [checks for non-0 decimal part]
+  // Use same message as though intValueExact failed due to size
+  if ((i<min)|(i>max)) 
+   throw new java.lang.ArithmeticException("Conversion overflow:"+" "+i);
+  return i;
+  }
+
+ /* <sgml> Carry out division operations. </sgml> */
+ /*
+    Arg1 is operation code: D=divide, I=integer divide, R=remainder
+    Arg2 is the rhs.
+    Arg3 is the context.
+    Arg4 is explicit scale iff code='D' or 'I' (-1 if none).
+ 
+    Underlying algorithm (complications for Remainder function and
+    scaled division are omitted for clarity):
+ 
+      Test for x/0 and then 0/x
+      Exp =Exp1 - Exp2
+      Exp =Exp +len(var1) -len(var2)
+      Sign=Sign1 * Sign2
+      Pad accumulator (Var1) to double-length with 0's (pad1)
+      Pad Var2 to same length as Var1
+      B2B=1st two digits of var2, +1 to allow for roundup
+      have=0
+      Do until (have=digits+1 OR residue=0)
+        if exp<0 then if integer divide/residue then leave
+        this_digit=0
+        Do forever
+           compare numbers
+           if <0 then leave inner_loop
+           if =0 then (- quick exit without subtract -) do
+              this_digit=this_digit+1; output this_digit
+              leave outer_loop; end
+           Compare lengths of numbers (mantissae):
+           If same then CA=first_digit_of_Var1
+                   else CA=first_two_digits_of_Var1
+           mult=ca*10/b2b   -- Good and safe guess at divisor
+           if mult=0 then mult=1
+           this_digit=this_digit+mult
+           subtract
+           end inner_loop
+         if have\=0 | this_digit\=0 then do
+           output this_digit
+           have=have+1; end
+         var2=var2/10
+         exp=exp-1
+         end outer_loop
+      exp=exp+1   -- set the proper exponent
+      if have=0 then generate answer=0
+      Return to FINISHED
+      Result defined by MATHV1
+ 
+    For extended commentary, see DMSRCN.
+  */
+ 
+ private com.ibm.icu.math.BigDecimal dodivide(char code,com.ibm.icu.math.BigDecimal rhs,com.ibm.icu.math.MathContext set,int scale){
+  com.ibm.icu.math.BigDecimal lhs;
+  int reqdig;
+  int newexp;
+  com.ibm.icu.math.BigDecimal res;
+  int newlen;
+  byte var1[];
+  int var1len;
+  byte var2[];
+  int var2len;
+  int b2b;
+  int have;
+  int thisdigit=0;
+  int i=0;
+  byte v2=0;
+  int ba=0;
+  int mult=0;
+  int start=0;
+  int padding=0;
+  int d=0;
+  byte newvar1[]=null;
+  byte lasthave=0;
+  int actdig=0;
+  byte newmant[]=null;
+  
+  if (set.lostDigits) 
+   checkdigits(rhs,set.digits);
+  lhs=this; // name for clarity
+  
+  // [note we must have checked lostDigits before the following checks]
+  if (rhs.ind==0) 
+   throw new java.lang.ArithmeticException("Divide by 0"); // includes 0/0
+  if (lhs.ind==0) 
+   { // 0/x => 0 [possibly with .0s]
+    if (set.form!=com.ibm.icu.math.MathContext.PLAIN) 
+     return ZERO;
+    if (scale==(-1)) 
+     return lhs;
+    return lhs.setScale(scale);
+   }
+  
+  /* Prepare numbers according to BigDecimal rules */
+  reqdig=set.digits; // local copy (heavily used)
+  if (reqdig>0) 
+   {
+    if (lhs.mant.length>reqdig) 
+     lhs=clone(lhs).round(set);
+    if (rhs.mant.length>reqdig) 
+     rhs=clone(rhs).round(set);
+   }
+  else 
+   {/* scaled divide */
+    if (scale==(-1)) 
+     scale=lhs.scale();
+    // set reqdig to be at least large enough for the computation
+    reqdig=lhs.mant.length; // base length
+    // next line handles both positive lhs.exp and also scale mismatch
+    if (scale!=((int)-lhs.exp)) 
+     reqdig=(reqdig+scale)+lhs.exp;
+    reqdig=(reqdig-((rhs.mant.length-1)))-rhs.exp; // reduce by RHS effect
+    if (reqdig<lhs.mant.length) 
+     reqdig=lhs.mant.length; // clamp
+    if (reqdig<rhs.mant.length) 
+     reqdig=rhs.mant.length; // ..
+   }
+  
+  /* precalculate exponent */
+  newexp=((lhs.exp-rhs.exp)+lhs.mant.length)-rhs.mant.length;
+  /* If new exponent -ve, then some quick exits are possible */
+  if (newexp<0) 
+   if (code!='D') 
+    {
+     if (code=='I') 
+      return ZERO; // easy - no integer part
+     /* Must be 'R'; remainder is [finished clone of] input value */
+     return clone(lhs).finish(set,false);
+    }
+  
+  /* We need slow division */
+  res=new com.ibm.icu.math.BigDecimal(); // where we'll build result
+  res.ind=(byte)(lhs.ind*rhs.ind); // final sign (for D/I)
+  res.exp=newexp; // initial exponent (for D/I)
+  res.mant=new byte[reqdig+1]; // where build the result
+  
+  /* Now [virtually pad the mantissae with trailing zeros */
+  // Also copy the LHS, which will be our working array
+  newlen=(reqdig+reqdig)+1;
+  var1=extend(lhs.mant,newlen); // always makes longer, so new safe array
+  var1len=newlen; // [remaining digits are 0]
+  
+  var2=rhs.mant;
+  var2len=newlen;
+  
+  /* Calculate first two digits of rhs (var2), +1 for later estimations */
+  b2b=(var2[0]*10)+1;
+  if (var2.length>1) 
+   b2b=b2b+var2[1];
+  
+  /* start the long-division loops */
+  have=0;
+  {outer:for(;;){
+   thisdigit=0;
+   /* find the next digit */
+   {inner:for(;;){
+    if (var1len<var2len) 
+     break inner; // V1 too low
+    if (var1len==var2len) 
+     { // compare needed
+      {compare:do{ // comparison
+       {int $22=var1len;i=0;i:for(;$22>0;$22--,i++){
+        // var1len is always <= var1.length
+        if (i<var2.length) 
+         v2=var2[i];
+        else 
+         v2=(byte)0;
+        if (var1[i]<v2) 
+         break inner; // V1 too low
+        if (var1[i]>v2) 
+         break compare; // OK to subtract
+        }
+       }/*i*/
+       /* reach here if lhs and rhs are identical; subtraction will
+          increase digit by one, and the residue will be 0 so we
+          are done; leave the loop with residue set to 0 (in case
+          code is 'R' or ROUND_UNNECESSARY or a ROUND_HALF_xxxx is
+          being checked) */
+       thisdigit++;
+       res.mant[have]=(byte)thisdigit;
+       have++;
+       var1[0]=(byte)0; // residue to 0 [this is all we'll test]
+       // var1len=1      -- [optimized out]
+       break outer;
+      }while(false);}/*compare*/
+      /* prepare for subtraction.  Estimate BA (lengths the same) */
+      ba=(int)var1[0]; // use only first digit
+     } // lengths the same
+    else 
+     {/* lhs longer than rhs */
+      /* use first two digits for estimate */
+      ba=var1[0]*10;
+      if (var1len>1) 
+       ba=ba+var1[1];
+     }
+    /* subtraction needed; V1>=V2 */
+    mult=(ba*10)/b2b;
+    if (mult==0) 
+     mult=1;
+    thisdigit=thisdigit+mult;
+    // subtract; var1 reusable
+    var1=byteaddsub(var1,var1len,var2,var2len,(int)-mult,true);
+    if (var1[0]!=0) 
+     continue inner; // maybe another subtract needed
+    /* V1 now probably has leading zeros, remove leading 0's and try
+       again. (It could be longer than V2) */
+    {int $23=var1len-2;start=0;start:for(;start<=$23;start++){
+     if (var1[start]!=0) 
+      break start;
+     var1len--;
+     }
+    }/*start*/
+    if (start==0) 
+     continue inner;
+    // shift left
+    java.lang.System.arraycopy((java.lang.Object)var1,start,(java.lang.Object)var1,0,var1len);
+    }
+   }/*inner*/
+   
+   /* We have the next digit */
+   if ((have!=0)|(thisdigit!=0)) 
+    { // put the digit we got
+     res.mant[have]=(byte)thisdigit;
+     have++;
+     if (have==(reqdig+1)) 
+      break outer; // we have all we need
+     if (var1[0]==0) 
+      break outer; // residue now 0
+    }
+   /* can leave now if a scaled divide and exponent is small enough */
+   if (scale>=0) 
+    if (((int)-res.exp)>scale) 
+     break outer;
+   /* can leave now if not Divide and no integer part left  */
+   if (code!='D') 
+    if (res.exp<=0) 
+     break outer;
+   res.exp=res.exp-1; // reduce the exponent
+   /* to get here, V1 is less than V2, so divide V2 by 10 and go for
+      the next digit */
+   var2len--;
+   }
+  }/*outer*/
+  
+  /* here when we have finished dividing, for some reason */
+  // have is the number of digits we collected in res.mant
+  if (have==0) 
+   have=1; // res.mant[0] is 0; we always want a digit
+  
+  if ((code=='I')|(code=='R')) 
+   {/* check for integer overflow needed */
+    if ((have+res.exp)>reqdig) 
+     throw new java.lang.ArithmeticException("Integer overflow");
+    
+    if (code=='R') 
+     {remainder:do{
+      /* We were doing Remainder -- return the residue */
+      if (res.mant[0]==0)  // no integer part was found
+       return clone(lhs).finish(set,false); // .. so return lhs, canonical
+      if (var1[0]==0) 
+       return ZERO; // simple 0 residue
+      res.ind=lhs.ind; // sign is always as LHS
+      /* Calculate the exponent by subtracting the number of padding zeros
+         we added and adding the original exponent */
+      padding=((reqdig+reqdig)+1)-lhs.mant.length;
+      res.exp=(res.exp-padding)+lhs.exp;
+      
+      /* strip insignificant padding zeros from residue, and create/copy
+         the resulting mantissa if need be */
+      d=var1len;
+      {i=d-1;i:for(;i>=1;i--){if(!((res.exp<lhs.exp)&(res.exp<rhs.exp)))break;
+       if (var1[i]!=0) 
+        break i;
+       d--;
+       res.exp=res.exp+1;
+       }
+      }/*i*/
+      if (d<var1.length) 
+       {/* need to reduce */
+        newvar1=new byte[d];
+        java.lang.System.arraycopy((java.lang.Object)var1,0,(java.lang.Object)newvar1,0,d); // shorten
+        var1=newvar1;
+       }
+      res.mant=var1;
+      return res.finish(set,false);
+     }while(false);}/*remainder*/
+   }
+   
+  else 
+   {/* 'D' -- no overflow check needed */
+    // If there was a residue then bump the final digit (iff 0 or 5)
+    // so that the residue is visible for ROUND_UP, ROUND_HALF_xxx and
+    // ROUND_UNNECESSARY checks (etc.) later.
+    // [if we finished early, the residue will be 0]
+    if (var1[0]!=0) 
+     { // residue not 0
+      lasthave=res.mant[have-1];
+      if (((lasthave%5))==0) 
+       res.mant[have-1]=(byte)(lasthave+1);
+     }
+   }
+  
+  /* Here for Divide or Integer Divide */
+  // handle scaled results first ['I' always scale 0, optional for 'D']
+  if (scale>=0) 
+   {scaled:do{
+    // say 'scale have res.exp len' scale have res.exp res.mant.length
+    if (have!=res.mant.length) 
+     // already padded with 0's, so just adjust exponent
+     res.exp=res.exp-((res.mant.length-have));
+    // calculate number of digits we really want [may be 0]
+    actdig=res.mant.length-((((int)-res.exp)-scale));
+    res.round(actdig,set.roundingMode); // round to desired length
+    // This could have shifted left if round (say) 0.9->1[.0]
+    // Repair if so by adding a zero and reducing exponent
+    if (res.exp!=((int)-scale)) 
+     {
+      res.mant=extend(res.mant,res.mant.length+1);
+      res.exp=res.exp-1;
+     }
+    return res.finish(set,true); // [strip if not PLAIN]
+   }while(false);}/*scaled*/
+  
+  // reach here only if a non-scaled
+  if (have==res.mant.length) 
+   { // got digits+1 digits
+    res.round(set);
+    have=reqdig;
+   }
+  else 
+   {/* have<=reqdig */
+    if (res.mant[0]==0) 
+     return ZERO; // fastpath
+    // make the mantissa truly just 'have' long
+    // [we could let finish do this, during strip, if we adjusted
+    // the exponent; however, truncation avoids the strip loop]
+    newmant=new byte[have]; // shorten
+    java.lang.System.arraycopy((java.lang.Object)res.mant,0,(java.lang.Object)newmant,0,have);
+    res.mant=newmant;
+   }
+  return res.finish(set,true);
+  }
+
+ 
+ /* <sgml> Report a conversion exception. </sgml> */
+ 
+ private void bad(char s[]){
+  throw new java.lang.NumberFormatException("Not a number:"+" "+java.lang.String.valueOf(s));
+  }
+
+ /* <sgml> Report a bad argument to a method. </sgml>
+    Arg1 is method name
+    Arg2 is argument position
+    Arg3 is what was found */
+ 
+ private void badarg(java.lang.String name,int pos,java.lang.String value){
+  throw new java.lang.IllegalArgumentException("Bad argument"+" "+pos+" "+"to"+" "+name+":"+" "+value);
+  }
+
+ /* <sgml> Extend byte array to given length, padding with 0s.  If no
+    extension is required then return the same array. </sgml>
+ 
+    Arg1 is the source byte array
+    Arg2 is the new length (longer)
+    */
+ 
+ private static final byte[] extend(byte inarr[],int newlen){
+  byte newarr[];
+  if (inarr.length==newlen) 
+   return inarr;
+  newarr=new byte[newlen];
+  java.lang.System.arraycopy((java.lang.Object)inarr,0,(java.lang.Object)newarr,0,inarr.length);
+  // 0 padding is carried out by the JVM on allocation initialization
+  return newarr;
+  }
+
+ /* <sgml> Add or subtract two >=0 integers in byte arrays
+    <p>This routine performs the calculation:
+    <pre>
+    C=A+(B*M)
+    </pre>
+    Where M is in the range -9 through +9
+    <p>
+    If M<0 then A>=B must be true, so the result is always
+    non-negative.
+ 
+    Leading zeros are not removed after a subtraction.  The result is
+    either the same length as the longer of A and B, or 1 longer than
+    that (if a carry occurred).
+ 
+    A is not altered unless Arg6 is 1.
+    B is never altered.
+ 
+    Arg1 is A
+    Arg2 is A length to use (if longer than A, pad with 0's)
+    Arg3 is B
+    Arg4 is B length to use (if longer than B, pad with 0's)
+    Arg5 is M, the multiplier
+    Arg6 is 1 if A can be used to build the result (if it fits)
+ 
+    This routine is severely performance-critical; *any* change here
+    must be measured (timed) to assure no performance degradation.
+    */
+ // 1996.02.20 -- enhanced version of DMSRCN algorithm (1981)
+ // 1997.10.05 -- changed to byte arrays (from char arrays)
+ // 1998.07.01 -- changed to allow destructive reuse of LHS
+ // 1998.07.01 -- changed to allow virtual lengths for the arrays
+ // 1998.12.29 -- use lookaside for digit/carry calculation
+ // 1999.08.07 -- avoid multiply when mult=1, and make db an int
+ // 1999.12.22 -- special case m=-1, also drop 0 special case
+ 
+ private static final byte[] byteaddsub(byte a[],int avlen,byte b[],int bvlen,int m,boolean reuse){
+  int alength;
+  int blength;
+  int ap;
+  int bp;
+  int maxarr;
+  byte reb[];
+  boolean quickm;
+  int digit;
+  int op=0;
+  int dp90=0;
+  byte newarr[];
+  int i=0;
+  
+  
+  
+  
+  // We'll usually be right if we assume no carry
+  alength=a.length; // physical lengths
+  blength=b.length; // ..
+  ap=avlen-1; // -> final (rightmost) digit
+  bp=bvlen-1; // ..
+  maxarr=bp;
+  if (maxarr<ap) 
+   maxarr=ap;
+  reb=(byte[])null; // result byte array
+  if (reuse) 
+   if ((maxarr+1)==alength) 
+    reb=a; // OK to reuse A
+  if (reb==null) 
+   reb=new byte[maxarr+1]; // need new array
+  
+  quickm=false; // 1 if no multiply needed
+  if (m==1) 
+   quickm=true; // most common
+  else 
+   if (m==(-1)) 
+    quickm=true; // also common
+  
+  digit=0; // digit, with carry or borrow
+  {op=maxarr;op:for(;op>=0;op--){
+   if (ap>=0) 
+    {
+     if (ap<alength) 
+      digit=digit+a[ap]; // within A
+     ap--;
+    }
+   if (bp>=0) 
+    {
+     if (bp<blength) 
+      { // within B
+       if (quickm) 
+        {
+         if (m>0) 
+          digit=digit+b[bp]; // most common
+         else 
+          digit=digit-b[bp]; // also common
+        }
+       else 
+        digit=digit+(b[bp]*m);
+      }
+     bp--;
+    }
+   /* result so far (digit) could be -90 through 99 */
+   if (digit<10) 
+    if (digit>=0) 
+     {quick:do{ // 0-9
+      reb[op]=(byte)digit;
+      digit=0; // no carry
+      continue op;
+     }while(false);}/*quick*/
+   dp90=digit+90;
+   reb[op]=bytedig[dp90]; // this digit
+   digit=bytecar[dp90]; // carry or borrow
+   }
+  }/*op*/
+  
+  if (digit==0) 
+   return reb; // no carry
+  // following line will become an Assert, later
+  // if digit<0 then signal ArithmeticException("internal.error ["digit"]")
+  
+  /* We have carry -- need to make space for the extra digit */
+  newarr=(byte[])null;
+  if (reuse) 
+   if ((maxarr+2)==a.length) 
+    newarr=a; // OK to reuse A
+  if (newarr==null) 
+   newarr=new byte[maxarr+2];
+  newarr[0]=(byte)digit; // the carried digit ..
+  // .. and all the rest [use local loop for short numbers]
+  if (maxarr<10) 
+   {int $24=maxarr+1;i=0;i:for(;$24>0;$24--,i++){
+    newarr[i+1]=reb[i];
+    }
+   }/*i*/
+  else 
+   java.lang.System.arraycopy((java.lang.Object)reb,0,(java.lang.Object)newarr,1,maxarr+1);
+  return newarr;
+  }
+
+ /* <sgml> Initializer for digit array properties (lookaside). </sgml>
+    Returns the digit array, and initializes the carry array. */
+ 
+ private static final byte[] diginit(){
+  byte work[];
+  int op=0;
+  int digit=0;
+  work=new byte[(90+99)+1];
+  {op=0;op:for(;op<=(90+99);op++){
+   digit=op-90;
+   if (digit>=0) 
+    {
+     work[op]=(byte)(digit%10);
+     bytecar[op]=(byte)(digit/10); // calculate carry
+     continue op;
+    }
+   // borrowing...
+   digit=digit+100; // yes, this is right [consider -50]
+   work[op]=(byte)(digit%10);
+   bytecar[op]=(byte)((digit/10)-10); // calculate borrow [NB: - after %]
+   }
+  }/*op*/
+  return work;
+  }
+
+ /* <sgml> Create a copy of BigDecimal object for local use.
+    <p>This does NOT make a copy of the mantissa array.
+    </sgml>
+    Arg1 is the BigDecimal to clone (non-null)
+    */
+ 
+ private static final com.ibm.icu.math.BigDecimal clone(com.ibm.icu.math.BigDecimal dec){
+  com.ibm.icu.math.BigDecimal copy;
+  copy=new com.ibm.icu.math.BigDecimal();
+  copy.ind=dec.ind;
+  copy.exp=dec.exp;
+  copy.form=dec.form;
+  copy.mant=dec.mant;
+  return copy;
+  }
+
+ /* <sgml> Check one or two numbers for lost digits. </sgml>
+    Arg1 is RHS (or null, if none)
+    Arg2 is current DIGITS setting
+    returns quietly or throws an exception */
+ 
+ private void checkdigits(com.ibm.icu.math.BigDecimal rhs,int dig){
+  if (dig==0) 
+   return; // don't check if digits=0
+  // first check lhs...
+  if (this.mant.length>dig) 
+   if ((!(allzero(this.mant,dig)))) 
+    throw new java.lang.ArithmeticException("Too many digits:"+" "+this.toString());
+  if (rhs==null) 
+   return; // monadic
+  if (rhs.mant.length>dig) 
+   if ((!(allzero(rhs.mant,dig)))) 
+    throw new java.lang.ArithmeticException("Too many digits:"+" "+rhs.toString());
+  }
+
+ /* <sgml> Round to specified digits, if necessary. </sgml>
+    Arg1 is requested MathContext [with length and rounding mode]
+    returns this, for convenience */
+ 
+ private com.ibm.icu.math.BigDecimal round(com.ibm.icu.math.MathContext set){
+  return round(set.digits,set.roundingMode);
+  }
+
+ /* <sgml> Round to specified digits, if necessary.
+    Arg1 is requested length (digits to round to)
+            [may be <=0 when called from format, dodivide, etc.]
+    Arg2 is rounding mode
+    returns this, for convenience
+ 
+    ind and exp are adjusted, but not cleared for a mantissa of zero
+ 
+    The length of the mantissa returned will be Arg1, except when Arg1
+    is 0, in which case the returned mantissa length will be 1.
+    </sgml>
+    */
+ 
+ private com.ibm.icu.math.BigDecimal round(int len,int mode){
+  int adjust;
+  int sign;
+  byte oldmant[];
+  boolean reuse=false;
+  byte first=0;
+  int increment;
+  byte newmant[]=null;
+  adjust=mant.length-len;
+  if (adjust<=0) 
+   return this; // nowt to do
+  
+  exp=exp+adjust; // exponent of result
+  sign=(int)ind; // save [assumes -1, 0, 1]
+  oldmant=mant; // save
+  if (len>0) 
+   {
+    // remove the unwanted digits
+    mant=new byte[len];
+    java.lang.System.arraycopy((java.lang.Object)oldmant,0,(java.lang.Object)mant,0,len);
+    reuse=true; // can reuse mantissa
+    first=oldmant[len]; // first of discarded digits
+   }
+  else 
+   {/* len<=0 */
+    mant=ZERO.mant;
+    ind=iszero;
+    reuse=false; // cannot reuse mantissa
+    if (len==0) 
+     first=oldmant[0];
+    else 
+     first=(byte)0; // [virtual digit]
+   }
+  
+  // decide rounding adjustment depending on mode, sign, and discarded digits
+  increment=0; // bumper
+  {modes:do{/*select*/
+  if (mode==ROUND_HALF_UP)
+   { // default first [most common]
+    if (first>=5) 
+     increment=sign;
+   }
+  else if (mode==ROUND_UNNECESSARY)
+   { // default for setScale()
+    // discarding any non-zero digits is an error
+    if ((!(allzero(oldmant,len)))) 
+     throw new java.lang.ArithmeticException("Rounding necessary");
+   }
+  else if (mode==ROUND_HALF_DOWN)
+   { // 0.5000 goes down
+    if (first>5) 
+     increment=sign;
+    else 
+     if (first==5) 
+      if ((!(allzero(oldmant,len+1)))) 
+       increment=sign;
+   }
+  else if (mode==ROUND_HALF_EVEN)
+   { // 0.5000 goes down if left digit even
+    if (first>5) 
+     increment=sign;
+    else 
+     if (first==5) 
+      {
+       if ((!(allzero(oldmant,len+1)))) 
+        increment=sign;
+       else /* 0.5000 */
+        if ((((mant[mant.length-1])%2))==1) 
+         increment=sign;
+      }
+   }
+  else if (mode==ROUND_DOWN){
+   // never increment
+  }else if (mode==ROUND_UP)
+   { // increment if discarded non-zero
+    if ((!(allzero(oldmant,len)))) 
+     increment=sign;
+   }
+  else if (mode==ROUND_CEILING)
+   { // more positive
+    if (sign>0) 
+     if ((!(allzero(oldmant,len)))) 
+      increment=sign;
+   }
+  else if (mode==ROUND_FLOOR)
+   { // more negative
+    if (sign<0) 
+     if ((!(allzero(oldmant,len)))) 
+      increment=sign;
+   }
+  else{
+   throw new java.lang.IllegalArgumentException("Bad round value:"+" "+mode);
+  }
+  }while(false);}/*modes*/
+  
+  if (increment!=0) 
+   {bump:do{
+    if (ind==iszero) 
+     {
+      // we must not subtract from 0, but result is trivial anyway
+      mant=ONE.mant;
+      ind=(byte)increment;
+     }
+    else 
+     {
+      // mantissa is non-0; we can safely add or subtract 1
+      if (ind==isneg) 
+       increment=(int)-increment;
+      newmant=byteaddsub(mant,mant.length,ONE.mant,1,increment,reuse);
+      if (newmant.length>mant.length) 
+       { // had a carry
+        // drop rightmost digit and raise exponent
+        exp++;
+        // mant is already the correct length
+        java.lang.System.arraycopy((java.lang.Object)newmant,0,(java.lang.Object)mant,0,mant.length);
+       }
+      else 
+       mant=newmant;
+     }
+   }while(false);}/*bump*/
+  // rounding can increase exponent significantly
+  if (exp>MaxExp) 
+   throw new java.lang.ArithmeticException("Exponent Overflow:"+" "+exp);
+  return this;
+  }
+
+ /* <sgml> Test if rightmost digits are all 0.
+    Arg1 is a mantissa array to test
+    Arg2 is the offset of first digit to check
+            [may be negative; if so, digits to left are 0's]
+    returns 1 if all the digits starting at Arg2 are 0
+ 
+    Arg2 may be beyond array bounds, in which case 1 is returned
+    </sgml> */
+ 
+ private static final boolean allzero(byte array[],int start){
+  int i=0;
+  if (start<0) 
+   start=0;
+  {int $25=array.length-1;i=start;i:for(;i<=$25;i++){
+   if (array[i]!=0) 
+    return false;
+   }
+  }/*i*/
+  return true;
+  }
+
+ /* <sgml> Carry out final checks and canonicalization
+    <p>
+    This finishes off the current number by:
+      1. Rounding if necessary (NB: length includes leading zeros)
+      2. Stripping trailing zeros (if requested and \PLAIN)
+      3. Stripping leading zeros (always)
+      4. Selecting exponential notation (if required)
+      5. Converting a zero result to just '0' (if \PLAIN)
+    In practice, these operations overlap and share code.
+    It always sets form.
+    </sgml>
+    Arg1 is requested MathContext (length to round to, trigger, and FORM)
+    Arg2 is 1 if trailing insignificant zeros should be removed after
+         round (for division, etc.), provided that set.form isn't PLAIN.
+   returns this, for convenience
+   */
+ 
+ private com.ibm.icu.math.BigDecimal finish(com.ibm.icu.math.MathContext set,boolean strip){
+  int d=0;
+  int i=0;
+  byte newmant[]=null;
+  int mag=0;
+  int sig=0;
+  /* Round if mantissa too long and digits requested */
+  if (set.digits!=0) 
+   if (this.mant.length>set.digits) 
+    this.round(set);
+  
+  /* If strip requested (and standard formatting), remove
+     insignificant trailing zeros. */
+  if (strip) 
+   if (set.form!=com.ibm.icu.math.MathContext.PLAIN) 
+    {
+     d=this.mant.length;
+     /* see if we need to drop any trailing zeros */
+     {i=d-1;i:for(;i>=1;i--){
+      if (this.mant[i]!=0) 
+       break i;
+      d--;
+      exp++;
+      }
+     }/*i*/
+     if (d<this.mant.length) 
+      {/* need to reduce */
+       newmant=new byte[d];
+       java.lang.System.arraycopy((java.lang.Object)this.mant,0,(java.lang.Object)newmant,0,d);
+       this.mant=newmant;
+      }
+    }
+  
+  form=(byte)com.ibm.icu.math.MathContext.PLAIN; // preset
+  
+  /* Now check for leading- and all- zeros in mantissa */
+  {int $26=this.mant.length;i=0;i:for(;$26>0;$26--,i++){
+   if (this.mant[i]!=0) 
+    {
+     // non-0 result; ind will be correct
+     // remove leading zeros [e.g., after subtract]
+     if (i>0) 
+      {delead:do{
+       newmant=new byte[this.mant.length-i];
+       java.lang.System.arraycopy((java.lang.Object)this.mant,i,(java.lang.Object)newmant,0,this.mant.length-i);
+       this.mant=newmant;
+      }while(false);}/*delead*/
+     // now determine form if not PLAIN
+     mag=exp+mant.length;
+     if (mag>0) 
+      { // most common path
+       if (mag>set.digits) 
+        if (set.digits!=0) 
+         form=(byte)set.form;
+       if ((mag-1)<=MaxExp) 
+        return this; // no overflow; quick return
+      }
+     else 
+      if (mag<(-5)) 
+       form=(byte)set.form;
+     /* check for overflow */
+     mag--;
+     if ((mag<MinExp)|(mag>MaxExp)) 
+      {overflow:do{
+       // possible reprieve if form is engineering
+       if (form==com.ibm.icu.math.MathContext.ENGINEERING) 
+        {
+         sig=mag%3; // leftover
+         if (sig<0) 
+          sig=3+sig; // negative exponent
+         mag=mag-sig; // exponent to use
+         // 1999.06.29: second test here must be MaxExp
+         if (mag>=MinExp) 
+          if (mag<=MaxExp) 
+           break overflow;
+        }
+       throw new java.lang.ArithmeticException("Exponent Overflow:"+" "+mag);
+      }while(false);}/*overflow*/
+     return this;
+    }
+   }
+  }/*i*/
+  
+  // Drop through to here only if mantissa is all zeros
+  ind=iszero;
+  {/*select*/
+  if (set.form!=com.ibm.icu.math.MathContext.PLAIN)
+   exp=0; // standard result; go to '0'
+  else if (exp>0)
+   exp=0; // +ve exponent also goes to '0'
+  else{
+   // a plain number with -ve exponent; preserve and check exponent
+   if (exp<MinExp) 
+    throw new java.lang.ArithmeticException("Exponent Overflow:"+" "+exp);
+  }
+  }
+  mant=ZERO.mant; // canonical mantissa
+  return this;
+  }
+ }
diff --git a/src/com/ibm/icu/math/MathContext.java b/src/com/ibm/icu/math/MathContext.java
new file mode 100755
index 0000000..f1638a7
--- /dev/null
+++ b/src/com/ibm/icu/math/MathContext.java
@@ -0,0 +1,601 @@
+/* Generated from 'MathContext.nrx' 8 Sep 2000 11:07:48 [v2.00] */
+/* Options: Binary Comments Crossref Format Java Logo Strictargs Strictcase Trace2 Verbose3 */
+package com.ibm.icu.math;
+
+/* ------------------------------------------------------------------ */
+/* MathContext -- Math context settings                               */
+/* ------------------------------------------------------------------ */
+/* Copyright IBM Corporation, 1997, 2000, 2005.  All Rights Reserved.       */
+/*                                                                    */
+/*   The MathContext object encapsulates the settings used by the     */
+/*   BigDecimal class; it could also be used by other arithmetics.    */
+/* ------------------------------------------------------------------ */
+/* Notes:                                                             */
+/*                                                                    */
+/* 1. The properties are checked for validity on construction, so     */
+/*    the BigDecimal class may assume that they are correct.          */
+/* ------------------------------------------------------------------ */
+/* Author:    Mike Cowlishaw                                          */
+/* 1997.09.03 Initial version (edited from netrexx.lang.RexxSet)      */
+/* 1997.09.12 Add lostDigits property                                 */
+/* 1998.05.02 Make the class immutable and final; drop set methods    */
+/* 1998.06.05 Add Round (rounding modes) property                     */
+/* 1998.06.25 Rename from DecimalContext; allow digits=0              */
+/* 1998.10.12 change to com.ibm.icu.math package                          */
+/* 1999.02.06 add javadoc comments                                    */
+/* 1999.03.05 simplify; changes from discussion with J. Bloch         */
+/* 1999.03.13 1.00 release to IBM Centre for Java Technology          */
+/* 1999.07.10 1.04 flag serialization unused                          */
+/* 2000.01.01 1.06 copyright update                                   */
+/* ------------------------------------------------------------------ */
+
+
+
+
+/**
+ * The <code>MathContext</code> immutable class encapsulates the
+ * settings understood by the operator methods of the {@link BigDecimal}
+ * class (and potentially other classes).  Operator methods are those
+ * that effect an operation on a number or a pair of numbers.
+ * <p>
+ * The settings, which are not base-dependent, comprise:
+ * <ol>
+ * <li><code>digits</code>:
+ * the number of digits (precision) to be used for an operation
+ * <li><code>form</code>:
+ * the form of any exponent that results from the operation
+ * <li><code>lostDigits</code>:
+ * whether checking for lost digits is enabled
+ * <li><code>roundingMode</code>:
+ * the algorithm to be used for rounding.
+ * </ol>
+ * <p>
+ * When provided, a <code>MathContext</code> object supplies the
+ * settings for an operation directly.
+ * <p>
+ * When <code>MathContext.DEFAULT</code> is provided for a
+ * <code>MathContext</code> parameter then the default settings are used
+ * (<code>9, SCIENTIFIC, false, ROUND_HALF_UP</code>).
+ * <p>
+ * In the <code>BigDecimal</code> class, all methods which accept a
+ * <code>MathContext</code> object defaults) also have a version of the
+ * method which does not accept a MathContext parameter.  These versions
+ * carry out unlimited precision fixed point arithmetic (as though the
+ * settings were (<code>0, PLAIN, false, ROUND_HALF_UP</code>).
+ * <p>
+ * The instance variables are shared with default access (so they are
+ * directly accessible to the <code>BigDecimal</code> class), but must
+ * never be changed.
+ * <p>
+ * The rounding mode constants have the same names and values as the
+ * constants of the same name in <code>java.math.BigDecimal</code>, to
+ * maintain compatibility with earlier versions of
+ * <code>BigDecimal</code>.
+ *
+ * @see     BigDecimal
+ * @author  Mike Cowlishaw
+ * @stable ICU 2.0
+ */
+
+public final class MathContext implements java.io.Serializable{
+ private static final java.lang.String $0="MathContext.nrx";
+ 
+ /* ----- Properties ----- */
+ /* properties public constant */
+ /**
+  * Plain (fixed point) notation, without any exponent.
+  * Used as a setting to control the form of the result of a
+  * <code>BigDecimal</code> operation.
+  * A zero result in plain form may have a decimal part of one or
+  * more zeros.
+  *
+  * @see #ENGINEERING
+  * @see #SCIENTIFIC
+  * @stable ICU 2.0
+  */
+ public static final int PLAIN=0; // [no exponent]
+ 
+ /**
+  * Standard floating point notation (with scientific exponential
+  * format, where there is one digit before any decimal point).
+  * Used as a setting to control the form of the result of a
+  * <code>BigDecimal</code> operation.
+  * A zero result in plain form may have a decimal part of one or
+  * more zeros.
+  *
+  * @see #ENGINEERING
+  * @see #PLAIN
+  * @stable ICU 2.0
+  */
+ public static final int SCIENTIFIC=1; // 1 digit before .
+ 
+ /**
+  * Standard floating point notation (with engineering exponential
+  * format, where the power of ten is a multiple of 3).
+  * Used as a setting to control the form of the result of a
+  * <code>BigDecimal</code> operation.
+  * A zero result in plain form may have a decimal part of one or
+  * more zeros.
+  *
+  * @see #PLAIN
+  * @see #SCIENTIFIC
+  * @stable ICU 2.0
+  */
+ public static final int ENGINEERING=2; // 1-3 digits before .
+ 
+ // The rounding modes match the original BigDecimal class values
+ /**
+  * Rounding mode to round to a more positive number.
+  * Used as a setting to control the rounding mode used during a
+  * <code>BigDecimal</code> operation.
+  * <p>
+  * If any of the discarded digits are non-zero then the result
+  * should be rounded towards the next more positive digit.
+  * @stable ICU 2.0
+  */
+ public static final int ROUND_CEILING=2;
+ 
+ /**
+  * Rounding mode to round towards zero.
+  * Used as a setting to control the rounding mode used during a
+  * <code>BigDecimal</code> operation.
+  * <p>
+  * All discarded digits are ignored (truncated).  The result is
+  * neither incremented nor decremented.
+  * @stable ICU 2.0
+  */
+ public static final int ROUND_DOWN=1;
+ 
+ /**
+  * Rounding mode to round to a more negative number.
+  * Used as a setting to control the rounding mode used during a
+  * <code>BigDecimal</code> operation.
+  * <p>
+  * If any of the discarded digits are non-zero then the result
+  * should be rounded towards the next more negative digit.
+  * @stable ICU 2.0
+  */
+ public static final int ROUND_FLOOR=3;
+ 
+ /**
+  * Rounding mode to round to nearest neighbor, where an equidistant
+  * value is rounded down.
+  * Used as a setting to control the rounding mode used during a
+  * <code>BigDecimal</code> operation.
+  * <p>
+  * If the discarded digits represent greater than half (0.5 times)
+  * the value of a one in the next position then the result should be
+  * rounded up (away from zero).  Otherwise the discarded digits are
+  * ignored.
+  * @stable ICU 2.0
+  */
+ public static final int ROUND_HALF_DOWN=5;
+ 
+ /**
+  * Rounding mode to round to nearest neighbor, where an equidistant
+  * value is rounded to the nearest even neighbor.
+  * Used as a setting to control the rounding mode used during a
+  * <code>BigDecimal</code> operation.
+  * <p>
+  * If the discarded digits represent greater than half (0.5 times)
+  * the value of a one in the next position then the result should be
+  * rounded up (away from zero).  If they represent less than half,
+  * then the result should be rounded down.
+  * <p>
+  * Otherwise (they represent exactly half) the result is rounded
+  * down if its rightmost digit is even, or rounded up if its
+  * rightmost digit is odd (to make an even digit).
+  * @stable ICU 2.0
+  */
+ public static final int ROUND_HALF_EVEN=6;
+ 
+ /**
+  * Rounding mode to round to nearest neighbor, where an equidistant
+  * value is rounded up.
+  * Used as a setting to control the rounding mode used during a
+  * <code>BigDecimal</code> operation.
+  * <p>
+  * If the discarded digits represent greater than or equal to half
+  * (0.5 times) the value of a one in the next position then the result
+  * should be rounded up (away from zero).  Otherwise the discarded
+  * digits are ignored.
+  * @stable ICU 2.0
+  */
+ public static final int ROUND_HALF_UP=4;
+ 
+ /**
+  * Rounding mode to assert that no rounding is necessary.
+  * Used as a setting to control the rounding mode used during a
+  * <code>BigDecimal</code> operation.
+  * <p>
+  * Rounding (potential loss of information) is not permitted.
+  * If any of the discarded digits are non-zero then an
+  * <code>ArithmeticException</code> should be thrown.
+  * @stable ICU 2.0
+  */
+ public static final int ROUND_UNNECESSARY=7;
+ 
+ /**
+  * Rounding mode to round away from zero.
+  * Used as a setting to control the rounding mode used during a
+  * <code>BigDecimal</code> operation.
+  * <p>
+  * If any of the discarded digits are non-zero then the result will
+  * be rounded up (away from zero).
+  * @stable ICU 2.0
+  */
+ public static final int ROUND_UP=0;
+ 
+ 
+ /* properties shared */
+ /**
+  * The number of digits (precision) to be used for an operation.
+  * A value of 0 indicates that unlimited precision (as many digits
+  * as are required) will be used.
+  * <p>
+  * The {@link BigDecimal} operator methods use this value to
+  * determine the precision of results.
+  * Note that leading zeros (in the integer part of a number) are
+  * never significant.
+  * <p>
+  * <code>digits</code> will always be non-negative.
+  *
+  * @serial
+  */
+ int digits;
+ 
+ /**
+  * The form of results from an operation.
+  * <p>
+  * The {@link BigDecimal} operator methods use this value to
+  * determine the form of results, in particular whether and how
+  * exponential notation should be used.
+  *
+  * @see #ENGINEERING
+  * @see #PLAIN
+  * @see #SCIENTIFIC
+  * @serial
+  */
+ int form; // values for this must fit in a byte
+ 
+ /**
+  * Controls whether lost digits checking is enabled for an
+  * operation.
+  * Set to <code>true</code> to enable checking, or
+  * to <code>false</code> to disable checking.
+  * <p>
+  * When enabled, the {@link BigDecimal} operator methods check
+  * the precision of their operand or operands, and throw an
+  * <code>ArithmeticException</code> if an operand is more precise
+  * than the digits setting (that is, digits would be lost).
+  * When disabled, operands are rounded to the specified digits.
+  *
+  * @serial
+  */
+ boolean lostDigits;
+ 
+ /**
+  * The rounding algorithm to be used for an operation.
+  * <p>
+  * The {@link BigDecimal} operator methods use this value to
+  * determine the algorithm to be used when non-zero digits have to
+  * be discarded in order to reduce the precision of a result.
+  * The value must be one of the public constants whose name starts
+  * with <code>ROUND_</code>.
+  *
+  * @see #ROUND_CEILING
+  * @see #ROUND_DOWN
+  * @see #ROUND_FLOOR
+  * @see #ROUND_HALF_DOWN
+  * @see #ROUND_HALF_EVEN
+  * @see #ROUND_HALF_UP
+  * @see #ROUND_UNNECESSARY
+  * @see #ROUND_UP
+  * @serial
+  */
+ int roundingMode;
+ 
+ /* properties private constant */
+ // default settings
+ private static final int DEFAULT_FORM=SCIENTIFIC;
+ private static final int DEFAULT_DIGITS=9;
+ private static final boolean DEFAULT_LOSTDIGITS=false;
+ private static final int DEFAULT_ROUNDINGMODE=ROUND_HALF_UP;
+ 
+ /* properties private constant */
+ 
+ private static final int MIN_DIGITS=0; // smallest value for DIGITS.
+ private static final int MAX_DIGITS=999999999; // largest value for DIGITS.  If increased,
+ // the BigDecimal class may need update.
+ // list of valid rounding mode values, most common two first
+ private static final int ROUNDS[]=new int[]{ROUND_HALF_UP,ROUND_UNNECESSARY,ROUND_CEILING,ROUND_DOWN,ROUND_FLOOR,ROUND_HALF_DOWN,ROUND_HALF_EVEN,ROUND_UP};
+ 
+ 
+ private static final java.lang.String ROUNDWORDS[]=new java.lang.String[]{"ROUND_HALF_UP","ROUND_UNNECESSARY","ROUND_CEILING","ROUND_DOWN","ROUND_FLOOR","ROUND_HALF_DOWN","ROUND_HALF_EVEN","ROUND_UP"}; // matching names of the ROUNDS values
+ 
+ 
+ 
+ 
+ /* properties private constant unused */
+ 
+ // Serialization version
+ private static final long serialVersionUID=7163376998892515376L;
+ 
+ /* properties public constant */
+ /**
+  * A <code>MathContext</code> object initialized to the default
+  * settings for general-purpose arithmetic.  That is,
+  * <code>digits=9 form=SCIENTIFIC lostDigits=false
+  * roundingMode=ROUND_HALF_UP</code>.
+  *
+  * @see #SCIENTIFIC
+  * @see #ROUND_HALF_UP
+  * @stable ICU 2.0
+  */
+ public static final com.ibm.icu.math.MathContext DEFAULT=new com.ibm.icu.math.MathContext(DEFAULT_DIGITS,DEFAULT_FORM,DEFAULT_LOSTDIGITS,DEFAULT_ROUNDINGMODE);
+
+ 
+ 
+ 
+ /* ----- Constructors ----- */
+ 
+ /**
+  * Constructs a new <code>MathContext</code> with a specified
+  * precision.
+  * The other settings are set to the default values
+  * (see {@link #DEFAULT}).
+  *
+  * An <code>IllegalArgumentException</code> is thrown if the
+  * <code>setdigits</code> parameter is out of range
+  * (&lt;0 or &gt;999999999).
+  *
+  * @param setdigits     The <code>int</code> digits setting
+  *                      for this <code>MathContext</code>.
+  * @throws IllegalArgumentException parameter out of range.
+  * @stable ICU 2.0
+  */
+ 
+ public MathContext(int setdigits){
+  this(setdigits,DEFAULT_FORM,DEFAULT_LOSTDIGITS,DEFAULT_ROUNDINGMODE);
+  return;}
+
+ 
+ /**
+  * Constructs a new <code>MathContext</code> with a specified
+  * precision and form.
+  * The other settings are set to the default values
+  * (see {@link #DEFAULT}).
+  *
+  * An <code>IllegalArgumentException</code> is thrown if the
+  * <code>setdigits</code> parameter is out of range
+  * (&lt;0 or &gt;999999999), or if the value given for the
+  * <code>setform</code> parameter is not one of the appropriate
+  * constants.
+  *
+  * @param setdigits     The <code>int</code> digits setting
+  *                      for this <code>MathContext</code>.
+  * @param setform       The <code>int</code> form setting
+  *                      for this <code>MathContext</code>.
+  * @throws IllegalArgumentException parameter out of range.
+  * @stable ICU 2.0
+  */
+ 
+ public MathContext(int setdigits,int setform){
+  this(setdigits,setform,DEFAULT_LOSTDIGITS,DEFAULT_ROUNDINGMODE);
+  return;}
+
+ /**
+  * Constructs a new <code>MathContext</code> with a specified
+  * precision, form, and lostDigits setting.
+  * The roundingMode setting is set to its default value
+  * (see {@link #DEFAULT}).
+  *
+  * An <code>IllegalArgumentException</code> is thrown if the
+  * <code>setdigits</code> parameter is out of range
+  * (&lt;0 or &gt;999999999), or if the value given for the
+  * <code>setform</code> parameter is not one of the appropriate
+  * constants.
+  *
+  * @param setdigits     The <code>int</code> digits setting
+  *                      for this <code>MathContext</code>.
+  * @param setform       The <code>int</code> form setting
+  *                      for this <code>MathContext</code>.
+  * @param setlostdigits The <code>boolean</code> lostDigits
+  *                      setting for this <code>MathContext</code>.
+  * @throws IllegalArgumentException parameter out of range.
+  * @stable ICU 2.0
+  */
+ 
+ public MathContext(int setdigits,int setform,boolean setlostdigits){
+  this(setdigits,setform,setlostdigits,DEFAULT_ROUNDINGMODE);
+  return;}
+
+ /**
+  * Constructs a new <code>MathContext</code> with a specified
+  * precision, form, lostDigits, and roundingMode setting.
+  *
+  * An <code>IllegalArgumentException</code> is thrown if the
+  * <code>setdigits</code> parameter is out of range
+  * (&lt;0 or &gt;999999999), or if the value given for the
+  * <code>setform</code> or <code>setroundingmode</code> parameters is
+  * not one of the appropriate constants.
+  *
+  * @param setdigits       The <code>int</code> digits setting
+  *                        for this <code>MathContext</code>.
+  * @param setform         The <code>int</code> form setting
+  *                        for this <code>MathContext</code>.
+  * @param setlostdigits   The <code>boolean</code> lostDigits
+  *                        setting for this <code>MathContext</code>.
+  * @param setroundingmode The <code>int</code> roundingMode setting
+  *                        for this <code>MathContext</code>.
+  * @throws IllegalArgumentException parameter out of range.
+  * @stable ICU 2.0
+  */
+ 
+ public MathContext(int setdigits,int setform,boolean setlostdigits,int setroundingmode){super();
+  
+  
+  // set values, after checking
+  if (setdigits!=DEFAULT_DIGITS) 
+   {
+    if (setdigits<MIN_DIGITS) 
+     throw new java.lang.IllegalArgumentException("Digits too small:"+" "+setdigits);
+    if (setdigits>MAX_DIGITS) 
+     throw new java.lang.IllegalArgumentException("Digits too large:"+" "+setdigits);
+   }
+  {/*select*/
+  if (setform==SCIENTIFIC){
+   // [most common]
+  }else if (setform==ENGINEERING){
+  }else if (setform==PLAIN){
+  }else{
+   throw new java.lang.IllegalArgumentException("Bad form value:"+" "+setform);
+  }
+  }
+  if ((!(isValidRound(setroundingmode)))) 
+   throw new java.lang.IllegalArgumentException("Bad roundingMode value:"+" "+setroundingmode);
+  digits=setdigits;
+  form=setform;
+  lostDigits=setlostdigits; // [no bad value possible]
+  roundingMode=setroundingmode;
+  return;}
+
+ /**
+  * Returns the digits setting.
+  * This value is always non-negative.
+  *
+  * @return an <code>int</code> which is the value of the digits
+  *         setting
+  * @stable ICU 2.0
+  */
+ 
+ public int getDigits(){
+  return digits;
+  }
+
+ /**
+  * Returns the form setting.
+  * This will be one of
+  * {@link #ENGINEERING},
+  * {@link #PLAIN}, or
+  * {@link #SCIENTIFIC}.
+  *
+  * @return an <code>int</code> which is the value of the form setting
+  * @stable ICU 2.0
+  */
+ 
+ public int getForm(){
+  return form;
+  }
+
+ /**
+  * Returns the lostDigits setting.
+  * This will be either <code>true</code> (enabled) or
+  * <code>false</code> (disabled).
+  *
+  * @return a <code>boolean</code> which is the value of the lostDigits
+  *           setting
+  * @stable ICU 2.0
+  */
+ 
+ public boolean getLostDigits(){
+  return lostDigits;
+  }
+
+ /**
+  * Returns the roundingMode setting.
+  * This will be one of
+  * {@link  #ROUND_CEILING},
+  * {@link  #ROUND_DOWN},
+  * {@link  #ROUND_FLOOR},
+  * {@link  #ROUND_HALF_DOWN},
+  * {@link  #ROUND_HALF_EVEN},
+  * {@link  #ROUND_HALF_UP},
+  * {@link  #ROUND_UNNECESSARY}, or
+  * {@link  #ROUND_UP}.
+  *
+  * @return an <code>int</code> which is the value of the roundingMode
+  *         setting
+  * @stable ICU 2.0
+  */
+ 
+ public int getRoundingMode(){
+  return roundingMode;
+  }
+
+ /** Returns the <code>MathContext</code> as a readable string.
+  * The <code>String</code> returned represents the settings of the
+  * <code>MathContext</code> object as four blank-delimited words
+  * separated by a single blank and with no leading or trailing blanks,
+  * as follows:
+  * <ol>
+  * <li>
+  * <code>digits=</code>, immediately followed by
+  * the value of the digits setting as a numeric word.
+  * <li>
+  * <code>form=</code>, immediately followed by
+  * the value of the form setting as an uppercase word
+  * (one of <code>SCIENTIFIC</code>, <code>PLAIN</code>, or
+  * <code>ENGINEERING</code>).
+  * <li>
+  * <code>lostDigits=</code>, immediately followed by
+  * the value of the lostDigits setting
+  * (<code>1</code> if enabled, <code>0</code> if disabled).
+  * <li>
+  * <code>roundingMode=</code>, immediately followed by
+  * the value of the roundingMode setting as a word.
+  * This word will be the same as the name of the corresponding public
+  * constant.
+  * </ol>
+  * <p>
+  * For example:
+  * <br><code>
+  * digits=9 form=SCIENTIFIC lostDigits=0 roundingMode=ROUND_HALF_UP
+  * </code>
+  * <p>
+  * Additional words may be appended to the result of
+  * <code>toString</code> in the future if more properties are added
+  * to the class.
+  *
+  * @return a <code>String</code> representing the context settings.
+  * @stable ICU 2.0
+  */
+ 
+ public java.lang.String toString(){
+  java.lang.String formstr=null;
+  int r=0;
+  java.lang.String roundword=null;
+  {/*select*/
+  if (form==SCIENTIFIC)
+   formstr="SCIENTIFIC";
+  else if (form==ENGINEERING)
+   formstr="ENGINEERING";
+  else{
+   formstr="PLAIN";/* form=PLAIN */
+  }
+  }
+  {int $1=ROUNDS.length;r=0;r:for(;$1>0;$1--,r++){
+   if (roundingMode==ROUNDS[r]) 
+    {
+     roundword=ROUNDWORDS[r];
+     break r;
+    }
+   }
+  }/*r*/
+  return "digits="+digits+" "+"form="+formstr+" "+"lostDigits="+(lostDigits?"1":"0")+" "+"roundingMode="+roundword;
+  }
+
+ 
+ /* <sgml> Test whether round is valid. </sgml> */
+ // This could be made shared for use by BigDecimal for setScale.
+ 
+ private static boolean isValidRound(int testround){
+  int r=0;
+  {int $2=ROUNDS.length;r=0;r:for(;$2>0;$2--,r++){
+   if (testround==ROUNDS[r]) 
+    return true;
+   }
+  }/*r*/
+  return false;
+  }
+ }
diff --git a/src/com/ibm/icu/math/package.html b/src/com/ibm/icu/math/package.html
new file mode 100755
index 0000000..6336ead
--- /dev/null
+++ b/src/com/ibm/icu/math/package.html
@@ -0,0 +1,16 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html>
+
+<head><!--  Copyright (C) 2000-2004, International Business Machines Corporation and
+  others. All Rights Reserved.
+
+-->
+
+<title>C:\cvs\icu4j\src\com\ibm\demo\package.html</title>
+</head>
+
+<body bgcolor="white">
+
+<p>IBM BigDecimal support.</p>
+</body>
+</html>
diff --git a/src/com/ibm/icu/text/AnyTransliterator.java b/src/com/ibm/icu/text/AnyTransliterator.java
new file mode 100644
index 0000000..2e6ac80
--- /dev/null
+++ b/src/com/ibm/icu/text/AnyTransliterator.java
@@ -0,0 +1,337 @@
+/*
+*****************************************************************
+* Copyright (c) 2002-2005, International Business Machines Corporation
+* and others.  All Rights Reserved.
+*****************************************************************
+* Date        Name        Description
+* 06/06/2002  aliu        Creation.
+*****************************************************************
+*/
+package com.ibm.icu.text;
+import com.ibm.icu.lang.UScript;
+import java.lang.Math;
+import java.util.Enumeration;
+import java.util.HashSet;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.MissingResourceException;
+/**
+ * A transliterator that translates multiple input scripts to a single
+ * output script.  It is named Any-T or Any-T/V, where T is the target
+ * and V is the optional variant.  The target T is a script.
+ *
+ * <p>An AnyTransliterator partitions text into runs of the same
+ * script, together with adjacent COMMON or INHERITED characters.
+ * After determining the script of each run, it transliterates from
+ * that script to the given target/variant.  It does so by
+ * instantiating a transliterator from the source script to the
+ * target/variant.  If a run consists only of the target script,
+ * COMMON, or INHERITED characters, then the run is not changed.
+ *
+ * <p>At startup, all possible AnyTransliterators are registered with
+ * the system, as determined by examining the registered script
+ * transliterators.
+ *
+ * @since ICU 2.2
+ * @author Alan Liu
+ */
+class AnyTransliterator extends Transliterator {
+
+    //------------------------------------------------------------
+    // Constants
+
+    static final char TARGET_SEP = '-';
+    static final char VARIANT_SEP = '/';
+    static final String ANY = "Any";
+    static final String NULL_ID = "Null";
+    static final String LATIN_PIVOT = "-Latin;Latin-";
+
+    /**
+     * Cache mapping UScriptCode values to Transliterator*.
+     */
+    private Map cache;
+
+    /**
+     * The target or target/variant string.
+     */
+    private String target;
+
+    /**
+     * The target script code.  Never USCRIPT_INVALID_CODE.
+     */
+    private int targetScript;
+
+    /**
+     * Implements {@link Transliterator#handleTransliterate}.
+     */
+    protected void handleTransliterate(Replaceable text,
+                                       Position pos, boolean isIncremental) {
+        int allStart = pos.start;
+        int allLimit = pos.limit;
+
+        ScriptRunIterator it =
+            new ScriptRunIterator(text, pos.contextStart, pos.contextLimit);
+
+        while (it.next()) {
+            // Ignore runs in the ante context
+            if (it.limit <= allStart) continue;
+
+            // Try to instantiate transliterator from it.scriptCode to
+            // our target or target/variant
+            Transliterator t = getTransliterator(it.scriptCode);
+
+            if (t == null) {
+                // We have no transliterator.  Do nothing, but keep
+                // pos.start up to date.
+                pos.start = it.limit;
+                continue;
+            }
+
+            // If the run end is before the transliteration limit, do
+            // a non-incremental transliteration.  Otherwise do an
+            // incremental one.
+            boolean incremental = isIncremental && (it.limit >= allLimit);
+
+            pos.start = Math.max(allStart, it.start);
+            pos.limit = Math.min(allLimit, it.limit);
+            int limit = pos.limit;
+            t.filteredTransliterate(text, pos, incremental);
+            int delta = pos.limit - limit;
+            allLimit += delta;
+            it.adjustLimit(delta);
+
+            // We're done if we enter the post context
+            if (it.limit >= allLimit) break;
+        }
+
+        // Restore limit.  pos.start is fine where the last transliterator
+        // left it, or at the end of the last run.
+        pos.limit = allLimit;
+    }
+
+    /**
+     * Private constructor
+     * @param id the ID of the form S-T or S-T/V, where T is theTarget
+     * and V is theVariant.  Must not be empty.
+     * @param theTarget the target name.  Must not be empty, and must
+     * name a script corresponding to theTargetScript.
+     * @param theVariant the variant name, or the empty string if
+     * there is no variant
+     * @param theTargetScript the script code corresponding to
+     * theTarget.
+     */
+    private AnyTransliterator(String id,
+                              String theTarget,
+                              String theVariant,
+                              int theTargetScript) {
+        super(id, null);
+        targetScript = theTargetScript;
+        cache = new HashMap();
+
+        target = theTarget;
+        if (theVariant.length() > 0) {
+            target = theTarget + VARIANT_SEP + theVariant;
+        }
+    }
+
+    /**
+     * Returns a transliterator from the given source to our target or
+     * target/variant.  Returns NULL if the source is the same as our
+     * target script, or if the source is USCRIPT_INVALID_CODE.
+     * Caches the result and returns the same transliterator the next
+     * time.  The caller does NOT own the result and must not delete
+     * it.
+     */
+    private Transliterator getTransliterator(int source) {
+        if (source == targetScript || source == UScript.INVALID_CODE) {
+            return null;
+        }
+
+        Integer key = new Integer(source);
+        Transliterator t = (Transliterator) cache.get(key);
+        if (t == null) {
+            String sourceName = UScript.getName(source);
+            String id = sourceName + TARGET_SEP + target;
+
+            t = Transliterator.getInstance(id, FORWARD);
+            if (t == null) {
+
+                // Try to pivot around Latin, our most common script
+                id = sourceName + LATIN_PIVOT + target;
+                t = Transliterator.getInstance(id, FORWARD);
+            }
+
+            if (t != null) {
+                cache.put(key, t);
+            }
+        }
+
+        return t;
+    }
+
+    /**
+     * Registers standard transliterators with the system.  Called by
+     * Transliterator during initialization.  Scan all current targets
+     * and register those that are scripts T as Any-T/V.
+     */
+    static void register() {
+
+        HashSet seen = new HashSet();
+
+        for (Enumeration s=Transliterator.getAvailableSources(); s.hasMoreElements(); ) {
+            String source = (String) s.nextElement();
+
+            // Ignore the "Any" source
+            if (source.equalsIgnoreCase(ANY)) continue;
+
+            for (Enumeration t=Transliterator.getAvailableTargets(source);
+                 t.hasMoreElements(); ) {
+                String target = (String) t.nextElement();
+
+                // Only process each target once
+                if (seen.contains(target)) continue;
+                seen.add(target);
+
+                // Get the script code for the target.  If not a script, ignore.
+                int targetScript = scriptNameToCode(target);
+                if (targetScript == UScript.INVALID_CODE) continue;
+
+                for (Enumeration v=Transliterator.getAvailableVariants(source, target);
+                     v.hasMoreElements(); ) {
+                    String variant = (String) v.nextElement();
+
+                    String id;
+                    id = TransliteratorIDParser.STVtoID(ANY, target, variant);
+                    AnyTransliterator trans = new AnyTransliterator(id, target, variant,
+                                                                    targetScript);
+                    Transliterator.registerInstance(trans);
+                    Transliterator.registerSpecialInverse(target, NULL_ID, false);
+                }
+            }
+        }
+    }
+
+    /**
+     * Return the script code for a given name, or
+     * UScript.INVALID_CODE if not found.
+     */
+    private static int scriptNameToCode(String name) {
+        try{
+            int[] codes = UScript.getCode(name);
+            return codes != null ? codes[0] : UScript.INVALID_CODE;
+        }catch( MissingResourceException e){
+            return UScript.INVALID_CODE;
+        }
+    }
+
+    //------------------------------------------------------------
+    // ScriptRunIterator
+
+    /**
+     * Returns a series of ranges corresponding to scripts. They will be
+     * of the form:
+     *
+     * ccccSScSSccccTTcTcccc   - c = common, S = first script, T = second
+     * |            |          - first run (start, limit)
+     *          |           |  - second run (start, limit)
+     *
+     * That is, the runs will overlap. The reason for this is so that a
+     * transliterator can consider common characters both before and after
+     * the scripts.
+     */
+    private static class ScriptRunIterator {
+
+        private Replaceable text;
+        private int textStart;
+        private int textLimit;
+
+        /**
+         * The code of the current run, valid after next() returns.  May
+         * be UScript.INVALID_CODE if and only if the entire text is
+         * COMMON/INHERITED.
+         */
+        public int scriptCode;
+
+        /**
+         * The start of the run, inclusive, valid after next() returns.
+         */
+        public int start;
+
+        /**
+         * The end of the run, exclusive, valid after next() returns.
+         */
+        public int limit;
+
+        /**
+         * Constructs a run iterator over the given text from start
+         * (inclusive) to limit (exclusive).
+         */
+        public ScriptRunIterator(Replaceable text, int start, int limit) {
+            this.text = text;
+            this.textStart = start;
+            this.textLimit = limit;
+            this.limit = start;
+        }
+
+
+        /**
+         * Returns TRUE if there are any more runs.  TRUE is always
+         * returned at least once.  Upon return, the caller should
+         * examine scriptCode, start, and limit.
+         */
+        public boolean next() {
+            int ch;
+            int s;
+
+            scriptCode = UScript.INVALID_CODE; // don't know script yet
+            start = limit;
+
+            // Are we done?
+            if (start == textLimit) {
+                return false;
+            }
+
+            // Move start back to include adjacent COMMON or INHERITED
+            // characters
+            while (start > textStart) {
+                ch = text.char32At(start - 1); // look back
+                s = UScript.getScript(ch);
+                if (s == UScript.COMMON || s == UScript.INHERITED) {
+                    --start;
+                } else {
+                    break;
+                }
+            }
+
+            // Move limit ahead to include COMMON, INHERITED, and characters
+            // of the current script.
+            while (limit < textLimit) {
+                ch = text.char32At(limit); // look ahead
+                s = UScript.getScript(ch);
+                if (s != UScript.COMMON && s != UScript.INHERITED) {
+                    if (scriptCode == UScript.INVALID_CODE) {
+                        scriptCode = s;
+                    } else if (s != scriptCode) {
+                        break;
+                    }
+                }
+                ++limit;
+            }
+
+            // Return TRUE even if the entire text is COMMON / INHERITED, in
+            // which case scriptCode will be UScript.INVALID_CODE.
+            return true;
+        }
+
+        /**
+         * Adjusts internal indices for a change in the limit index of the
+         * given delta.  A positive delta means the limit has increased.
+         */
+        public void adjustLimit(int delta) {
+            limit += delta;
+            textLimit += delta;
+        }
+    }
+}
+
+//eof
diff --git a/src/com/ibm/icu/text/ArabicShaping.java b/src/com/ibm/icu/text/ArabicShaping.java
new file mode 100755
index 0000000..63ea330
--- /dev/null
+++ b/src/com/ibm/icu/text/ArabicShaping.java
@@ -0,0 +1,1229 @@
+/*
+*******************************************************************************
+*   Copyright (C) 2001-2005, International Business Machines
+*   Corporation and others.  All Rights Reserved.
+*******************************************************************************
+*/
+
+package com.ibm.icu.text;
+
+import java.io.IOException;
+import java.util.MissingResourceException;
+
+import com.ibm.icu.impl.UBiDiProps;
+
+import com.ibm.icu.lang.*;
+
+/**
+ * Shape Arabic text on a character basis.
+ *
+ * <p>ArabicShaping performs basic operations for "shaping" Arabic text. It is most
+ * useful for use with legacy data formats and legacy display technology
+ * (simple terminals). All operations are performed on Unicode characters.</p>
+ *
+ * <p>Text-based shaping means that some character code points in the text are
+ * replaced by others depending on the context. It transforms one kind of text
+ * into another. In comparison, modern displays for Arabic text select
+ * appropriate, context-dependent font glyphs for each text element, which means
+ * that they transform text into a glyph vector.</p>
+ *
+ * <p>Text transformations are necessary when modern display technology is not
+ * available or when text needs to be transformed to or from legacy formats that
+ * use "shaped" characters. Since the Arabic script is cursive, connecting
+ * adjacent letters to each other, computers select images for each letter based
+ * on the surrounding letters. This usually results in four images per Arabic
+ * letter: initial, middle, final, and isolated forms. In Unicode, on the other
+ * hand, letters are normally stored abstract, and a display system is expected
+ * to select the necessary glyphs. (This makes searching and other text
+ * processing easier because the same letter has only one code.) It is possible
+ * to mimic this with text transformations because there are characters in
+ * Unicode that are rendered as letters with a specific shape
+ * (or cursive connectivity). They were included for interoperability with
+ * legacy systems and codepages, and for unsophisticated display systems.</p>
+ *
+ * <p>A second kind of text transformations is supported for Arabic digits:
+ * For compatibility with legacy codepages that only include European digits,
+ * it is possible to replace one set of digits by another, changing the
+ * character code points. These operations can be performed for either
+ * Arabic-Indic Digits (U+0660...U+0669) or Eastern (Extended) Arabic-Indic
+ * digits (U+06f0...U+06f9).</p>
+ *
+ * <p>Some replacements may result in more or fewer characters (code points).
+ * By default, this means that the destination buffer may receive text with a
+ * length different from the source length. Some legacy systems rely on the
+ * length of the text to be constant. They expect extra spaces to be added
+ * or consumed either next to the affected character or at the end of the
+ * text.</p>
+ * @stable ICU 2.0
+ */
+public final class ArabicShaping {
+    private final int options;
+    private boolean isLogical; // convenience
+
+    /**
+     * Convert a range of text in the source array, putting the result 
+     * into a range of text in the destination array, and return the number
+     * of characters written.
+     *
+     * @param source An array containing the input text
+     * @param sourceStart The start of the range of text to convert
+     * @param sourceLength The length of the range of text to convert
+     * @param dest The destination array that will receive the result.
+     *   It may be <code>NULL</code> only if  <code>destSize</code> is 0.  
+     * @param destStart The start of the range of the destination buffer to use.
+     * @param destSize The size (capacity) of the destination buffer.
+     *   If <code>destSize</code> is 0, then no output is produced,
+     *   but the necessary buffer size is returned ("preflighting").  This
+     *   does not validate the text against the options, for example, 
+     *   if letters are being unshaped, and spaces are being consumed
+     *   following lamalef, this will not detect a lamalef without a 
+     *   corresponding space.  An error will be thrown when the actual
+     *   conversion is attempted.
+     * @return The number of chars written to the destination buffer.
+     *   If an error occurs, then no output was written, or it may be
+     *   incomplete.
+     * @throws ArabicShapingException if the text cannot be converted according to the options.
+     * @stable ICU 2.0
+     */
+    public int shape(char[] source, int sourceStart, int sourceLength,
+                     char[] dest, int destStart, int destSize) throws ArabicShapingException {
+        if (source == null) {
+            throw new IllegalArgumentException("source can not be null");
+        }
+        if (sourceStart < 0 || sourceLength < 0 || sourceStart + sourceLength > source.length) {
+            throw new IllegalArgumentException("bad source start (" + sourceStart +
+                                               ") or length (" + sourceLength +
+                                               ") for buffer of length " + source.length);
+        }
+        if (dest == null && destSize != 0) {
+            throw new IllegalArgumentException("null dest requires destSize == 0");
+        }
+        if ((destSize != 0) &&
+            (destStart < 0 || destSize < 0 || destStart + destSize > dest.length)) {
+            throw new IllegalArgumentException("bad dest start (" + destStart + 
+                                               ") or size (" + destSize + 
+                                               ") for buffer of length " + dest.length);
+        }
+
+        return internalShape(source, sourceStart, sourceLength, dest, destStart, destSize);
+    }
+
+    /**
+     * Convert a range of text in place.  This may only be used if the Length option
+     * does not grow or shrink the text.
+     *
+     * @param source An array containing the input text
+     * @param start The start of the range of text to convert
+     * @param length The length of the range of text to convert
+     * @throws ArabicShapingException if the text cannot be converted according to the options.
+     * @stable ICU 2.0
+     */
+    public void shape(char[] source, int start, int length) throws ArabicShapingException {
+        if ((options & LENGTH_MASK) == LENGTH_GROW_SHRINK) {
+            throw new ArabicShapingException("Cannot shape in place with length option grow/shrink.");
+        }
+        shape(source, start, length, source, start, length);
+    }
+
+    /**
+     * Convert a string, returning the new string.
+     *
+     * @param text the string to convert
+     * @return the converted string
+     * @throws ArabicShapingException if the string cannot be converted according to the options.
+     * @stable ICU 2.0
+     */
+    public String shape(String text) throws ArabicShapingException {
+        char[] src = text.toCharArray();
+        char[] dest = src;
+        if (((options & LENGTH_MASK) == LENGTH_GROW_SHRINK) &&
+            ((options & LETTERS_MASK) == LETTERS_UNSHAPE)) {
+
+            dest = new char[src.length * 2]; // max
+        }
+        int len = shape(src, 0, src.length, dest, 0, dest.length);
+
+        return new String(dest, 0, len);
+    }
+
+    /**
+     * Construct ArabicShaping using the options flags.
+     * The flags are as follows:<br>
+     * 'LENGTH' flags control whether the text can change size, and if not,
+     * how to maintain the size of the text when LamAlef ligatures are 
+     * formed or broken.<br>
+     * 'TEXT_DIRECTION' flags control whether the text is read and written
+     * in visual order or in logical order.<br>
+     * 'LETTERS_SHAPE' flags control whether conversion is to or from
+     * presentation forms.<br>
+     * 'DIGITS' flags control whether digits are shaped, and whether from
+     * European to Arabic-Indic or vice-versa.<br>
+     * 'DIGIT_TYPE' flags control whether standard or extended Arabic-Indic
+     * digits are used when performing digit conversion.
+     * @stable ICU 2.0
+     */
+    public ArabicShaping(int options) {
+        this.options = options;
+        if ((options & DIGITS_MASK) > 0x80) {
+            throw new IllegalArgumentException("bad DIGITS options");
+        }
+        isLogical = (options & TEXT_DIRECTION_MASK) == TEXT_DIRECTION_LOGICAL;
+    }
+
+    /**
+     * Memory option: allow the result to have a different length than the source.
+     * @stable ICU 2.0
+     */
+    public static final int LENGTH_GROW_SHRINK = 0;
+
+    /**
+     * Memory option: the result must have the same length as the source.
+     * If more room is necessary, then try to consume spaces next to modified characters.
+     * @stable ICU 2.0
+     */
+    public static final int LENGTH_FIXED_SPACES_NEAR = 1;
+
+    /**
+     * Memory option: the result must have the same length as the source.
+     * If more room is necessary, then try to consume spaces at the end of the text.
+     * @stable ICU 2.0
+     */
+    public static final int LENGTH_FIXED_SPACES_AT_END = 2;
+
+    /**
+     * Memory option: the result must have the same length as the source.
+     * If more room is necessary, then try to consume spaces at the beginning of the text.
+     * @stable ICU 2.0
+     */
+    public static final int LENGTH_FIXED_SPACES_AT_BEGINNING = 3;
+
+    /** 
+     * Bit mask for memory options. 
+     * @stable ICU 2.0
+     */
+    public static final int LENGTH_MASK = 3;
+
+
+    /** 
+     * Direction indicator: the source is in logical (keyboard) order. 
+     * @stable ICU 2.0
+     */
+    public static final int TEXT_DIRECTION_LOGICAL = 0;
+
+    /** 
+     * Direction indicator: the source is in visual (display) order, that is,
+     * the leftmost displayed character is stored first.
+     * @stable ICU 2.0
+     */
+    public static final int TEXT_DIRECTION_VISUAL_LTR = 4;
+
+    /** 
+     * Bit mask for direction indicators. 
+     * @stable ICU 2.0
+     */
+    public static final int TEXT_DIRECTION_MASK = 4;
+
+
+    /**
+     * Letter shaping option: do not perform letter shaping. 
+     * @stable ICU 2.0
+     */
+    public static final int LETTERS_NOOP = 0;
+
+    /** 
+     * Letter shaping option: replace normative letter characters in the U+0600 (Arabic) block,
+     * by shaped ones in the U+FE70 (Presentation Forms B) block. Performs Lam-Alef ligature
+     * substitution.
+     * @stable ICU 2.0
+     */
+    public static final int LETTERS_SHAPE = 8;
+
+    /** 
+     * Letter shaping option: replace shaped letter characters in the U+FE70 (Presentation Forms B) block
+     * by normative ones in the U+0600 (Arabic) block.  Converts Lam-Alef ligatures to pairs of Lam and
+     * Alef characters, consuming spaces if required.
+     * @stable ICU 2.0
+     */
+    public static final int LETTERS_UNSHAPE = 0x10;
+
+    /**
+     * Letter shaping option: replace normative letter characters in the U+0600 (Arabic) block,
+     * except for the TASHKEEL characters at U+064B...U+0652, by shaped ones in the U+Fe70
+     * (Presentation Forms B) block.  The TASHKEEL characters will always be converted to
+     * the isolated forms rather than to their correct shape.
+     * @stable ICU 2.0
+     */
+    public static final int LETTERS_SHAPE_TASHKEEL_ISOLATED = 0x18;
+
+    /** 
+     * Bit mask for letter shaping options. 
+     * @stable ICU 2.0
+     */
+    public static final int LETTERS_MASK = 0x18;
+
+
+    /** 
+     * Digit shaping option: do not perform digit shaping. 
+     * @stable ICU 2.0
+     */
+    public static final int DIGITS_NOOP = 0;
+
+    /**
+     * Digit shaping option: Replace European digits (U+0030...U+0039) by Arabic-Indic digits.
+     * @stable ICU 2.0
+     */
+    public static final int DIGITS_EN2AN = 0x20;
+
+    /**
+     * Digit shaping option: Replace Arabic-Indic digits by European digits (U+0030...U+0039).
+     * @stable ICU 2.0
+     */
+    public static final int DIGITS_AN2EN = 0x40;
+
+    /**
+     * Digit shaping option:
+     * Replace European digits (U+0030...U+0039) by Arabic-Indic digits
+     * if the most recent strongly directional character
+     * is an Arabic letter (its Bidi direction value is RIGHT_TO_LEFT_ARABIC). 
+     * The initial state at the start of the text is assumed to be not an Arabic,
+     * letter, so European digits at the start of the text will not change.
+     * Compare to DIGITS_ALEN2AN_INIT_AL.
+     * @stable ICU 2.0
+     */
+    public static final int DIGITS_EN2AN_INIT_LR = 0x60;
+
+    /**
+     * Digit shaping option:
+     * Replace European digits (U+0030...U+0039) by Arabic-Indic digits
+     * if the most recent strongly directional character
+     * is an Arabic letter (its Bidi direction value is RIGHT_TO_LEFT_ARABIC). 
+     * The initial state at the start of the text is assumed to be an Arabic,
+     * letter, so European digits at the start of the text will change.
+     * Compare to DIGITS_ALEN2AN_INT_LR.
+     * @stable ICU 2.0
+     */
+    public static final int DIGITS_EN2AN_INIT_AL = 0x80;
+
+    /** Not a valid option value. */
+    private static final int DIGITS_RESERVED = 0xa0;
+
+    /** 
+     * Bit mask for digit shaping options. 
+     * @stable ICU 2.0
+     */
+    public static final int DIGITS_MASK = 0xe0;
+
+    /** 
+     * Digit type option: Use Arabic-Indic digits (U+0660...U+0669). 
+     * @stable ICU 2.0
+     */
+    public static final int DIGIT_TYPE_AN = 0;
+
+    /** 
+     * Digit type option: Use Eastern (Extended) Arabic-Indic digits (U+06f0...U+06f9). 
+     * @stable ICU 2.0
+     */
+    public static final int DIGIT_TYPE_AN_EXTENDED = 0x100;
+
+    /** 
+     * Bit mask for digit type options. 
+     * @stable ICU 2.0
+     */
+    public static final int DIGIT_TYPE_MASK = 0x0100; // 0x3f00?
+
+    /**
+     * @stable ICU 2.0
+     */
+    public boolean equals(Object rhs) {
+        return rhs != null && 
+            rhs.getClass() == ArabicShaping.class && 
+            options == ((ArabicShaping)rhs).options;
+    }
+
+    /**
+     * @stable ICU 2.0
+     */
+     ///CLOVER:OFF
+    public int hashCode() {
+        return options;
+    }
+
+    /**
+     * @stable ICU 2.0
+     */
+    public String toString() {
+        StringBuffer buf = new StringBuffer(super.toString());
+        buf.append('[');
+        switch (options & LENGTH_MASK) {
+        case LENGTH_GROW_SHRINK: buf.append("grow/shrink"); break;
+        case LENGTH_FIXED_SPACES_NEAR: buf.append("spaces near"); break;
+        case LENGTH_FIXED_SPACES_AT_END: buf.append("spaces at end"); break;
+        case LENGTH_FIXED_SPACES_AT_BEGINNING: buf.append("spaces at beginning"); break;
+        }
+        switch (options & TEXT_DIRECTION_MASK) {
+        case TEXT_DIRECTION_LOGICAL: buf.append(", logical"); break;
+        case TEXT_DIRECTION_VISUAL_LTR: buf.append(", visual"); break;
+        }
+        switch (options & LETTERS_MASK) {
+        case LETTERS_NOOP: buf.append(", no letter shaping"); break;
+        case LETTERS_SHAPE: buf.append(", shape letters"); break;
+        case LETTERS_SHAPE_TASHKEEL_ISOLATED: buf.append(", shape letters tashkeel isolated"); break;
+        case LETTERS_UNSHAPE: buf.append(", unshape letters"); break;
+        }
+        switch (options & DIGITS_MASK) {
+        case DIGITS_NOOP: buf.append(", no digit shaping"); break;
+        case DIGITS_EN2AN: buf.append(", shape digits to AN"); break;
+        case DIGITS_AN2EN: buf.append(", shape digits to EN"); break;
+        case DIGITS_EN2AN_INIT_LR: buf.append(", shape digits to AN contextually: default EN"); break;
+        case DIGITS_EN2AN_INIT_AL: buf.append(", shape digits to AN contextually: default AL"); break;
+        }
+        switch (options & DIGIT_TYPE_MASK) {
+        case DIGIT_TYPE_AN: buf.append(", standard Arabic-Indic digits"); break;
+        case DIGIT_TYPE_AN_EXTENDED: buf.append(", extended Arabic-Indic digits"); break;
+        }
+        buf.append("]");
+
+        return buf.toString();
+    }
+    ///CLOVER:ON
+
+    //
+    // ported api
+    //
+
+    private static final int IRRELEVANT = 4;
+    private static final int LAMTYPE = 16;
+    private static final int ALEFTYPE = 32;
+
+    private static final int LINKR = 1;
+    private static final int LINKL = 2;
+    private static final int LINK_MASK = 3;
+
+    private static final int irrelevantPos[] = { 
+        0x0, 0x2, 0x4, 0x6, 0x8, 0xA, 0xC, 0xE 
+    };
+
+    private static final char convertLamAlef[] =  {
+        '\u0622', // FEF5 
+        '\u0622', // FEF6
+        '\u0623', // FEF7
+        '\u0623', // FEF8
+        '\u0625', // FEF9
+        '\u0625', // FEFA
+        '\u0627', // FEFB
+        '\u0627'  // FEFC 
+    };
+
+    private static final char convertNormalizedLamAlef[] = {
+        '\u0622', // 065C
+        '\u0623', // 065D
+        '\u0625', // 065E
+        '\u0627', // 065F
+    };
+
+    private static final int[] araLink = {
+        1           + 32 + 256 * 0x11,  /*0x0622*/
+        1           + 32 + 256 * 0x13,  /*0x0623*/
+        1                + 256 * 0x15,  /*0x0624*/
+        1           + 32 + 256 * 0x17,  /*0x0625*/
+        1 + 2            + 256 * 0x19,  /*0x0626*/
+        1           + 32 + 256 * 0x1D,  /*0x0627*/
+        1 + 2            + 256 * 0x1F,  /*0x0628*/
+        1                + 256 * 0x23,  /*0x0629*/
+        1 + 2            + 256 * 0x25,  /*0x062A*/
+        1 + 2            + 256 * 0x29,  /*0x062B*/
+        1 + 2            + 256 * 0x2D,  /*0x062C*/
+        1 + 2            + 256 * 0x31,  /*0x062D*/
+        1 + 2            + 256 * 0x35,  /*0x062E*/
+        1                + 256 * 0x39,  /*0x062F*/
+        1                + 256 * 0x3B,  /*0x0630*/
+        1                + 256 * 0x3D,  /*0x0631*/
+        1                + 256 * 0x3F,  /*0x0632*/
+        1 + 2            + 256 * 0x41,  /*0x0633*/
+        1 + 2            + 256 * 0x45,  /*0x0634*/
+        1 + 2            + 256 * 0x49,  /*0x0635*/
+        1 + 2            + 256 * 0x4D,  /*0x0636*/
+        1 + 2            + 256 * 0x51,  /*0x0637*/
+        1 + 2            + 256 * 0x55,  /*0x0638*/
+        1 + 2            + 256 * 0x59,  /*0x0639*/
+        1 + 2            + 256 * 0x5D,  /*0x063A*/
+        0, 0, 0, 0, 0,                  /*0x063B-0x063F*/
+        1 + 2,                          /*0x0640*/
+        1 + 2            + 256 * 0x61,  /*0x0641*/
+        1 + 2            + 256 * 0x65,  /*0x0642*/
+        1 + 2            + 256 * 0x69,  /*0x0643*/
+        1 + 2       + 16 + 256 * 0x6D,  /*0x0644*/
+        1 + 2            + 256 * 0x71,  /*0x0645*/
+        1 + 2            + 256 * 0x75,  /*0x0646*/
+        1 + 2            + 256 * 0x79,  /*0x0647*/
+        1                + 256 * 0x7D,  /*0x0648*/
+        1                + 256 * 0x7F,  /*0x0649*/
+        1 + 2            + 256 * 0x81,  /*0x064A*/
+        4, 4, 4, 4,                     /*0x064B-0x064E*/
+        4, 4, 4, 4,                     /*0x064F-0x0652*/
+        4, 4, 4, 0, 0,                  /*0x0653-0x0657*/
+        0, 0, 0, 0,                     /*0x0658-0x065B*/
+        1                + 256 * 0x85,  /*0x065C*/
+        1                + 256 * 0x87,  /*0x065D*/
+        1                + 256 * 0x89,  /*0x065E*/
+        1                + 256 * 0x8B,  /*0x065F*/
+        0, 0, 0, 0, 0,                  /*0x0660-0x0664*/
+        0, 0, 0, 0, 0,                  /*0x0665-0x0669*/
+        0, 0, 0, 0, 0, 0,               /*0x066A-0x066F*/
+        4,                              /*0x0670*/
+        0,                              /*0x0671*/
+        1           + 32,               /*0x0672*/
+        1           + 32,               /*0x0673*/
+        0,                              /*0x0674*/
+        1           + 32,               /*0x0675*/
+        1, 1,                           /*0x0676-0x0677*/
+        1+2, 1+2, 1+2, 1+2, 1+2, 1+2,   /*0x0678-0x067D*/
+        1+2, 1+2, 1+2, 1+2, 1+2, 1+2,   /*0x067E-0x0683*/
+        1+2, 1+2, 1+2, 1+2,             /*0x0684-0x0687*/
+        1, 1, 1, 1, 1, 1, 1, 1, 1, 1,   /*0x0688-0x0691*/
+        1, 1, 1, 1, 1, 1, 1, 1,         /*0x0692-0x0699*/
+        1+2, 1+2, 1+2, 1+2, 1+2, 1+2,   /*0x069A-0x06A3*/
+        1+2, 1+2, 1+2, 1+2,             /*0x069A-0x06A3*/
+        1+2, 1+2, 1+2, 1+2, 1+2, 1+2,   /*0x06A4-0x06AD*/
+        1+2, 1+2, 1+2, 1+2,             /*0x06A4-0x06AD*/
+        1+2, 1+2, 1+2, 1+2, 1+2, 1+2,   /*0x06AE-0x06B7*/
+        1+2, 1+2, 1+2, 1+2,             /*0x06AE-0x06B7*/
+        1+2, 1+2, 1+2, 1+2, 1+2, 1+2,   /*0x06B8-0x06BF*/
+        1+2, 1+2,                       /*0x06B8-0x06BF*/
+        1,                              /*0x06C0*/
+        1+2,                            /*0x06C1*/
+        1, 1, 1, 1, 1, 1, 1, 1, 1, 1,   /*0x06C2-0x06CB*/
+        1+2,                            /*0x06CC*/
+        1,                              /*0x06CD*/
+        1+2, 1+2, 1+2, 1+2,             /*0x06CE-0x06D1*/
+        1, 1                            /*0x06D2-0x06D3*/
+    };
+
+    private static final int[] presLink = {
+        1 + 2,                        /*0xFE70*/
+        1 + 2,                        /*0xFE71*/
+        1 + 2, 0, 1+ 2, 0, 1+ 2,      /*0xFE72-0xFE76*/
+        1 + 2,                        /*0xFE77*/
+        1+ 2, 1 + 2, 1+2, 1 + 2,      /*0xFE78-0xFE81*/
+        1+ 2, 1 + 2, 1+2, 1 + 2,      /*0xFE82-0xFE85*/
+        0, 0 + 32, 1 + 32, 0 + 32,    /*0xFE86-0xFE89*/
+        1 + 32, 0, 1,  0 + 32,        /*0xFE8A-0xFE8D*/
+        1 + 32, 0, 2,  1 + 2,         /*0xFE8E-0xFE91*/
+        1, 0 + 32, 1 + 32, 0,         /*0xFE92-0xFE95*/
+        2, 1 + 2, 1, 0,               /*0xFE96-0xFE99*/
+        1, 0, 2, 1 + 2,               /*0xFE9A-0xFE9D*/
+        1, 0, 2, 1 + 2,               /*0xFE9E-0xFEA1*/
+        1, 0, 2, 1 + 2,               /*0xFEA2-0xFEA5*/
+        1, 0, 2, 1 + 2,               /*0xFEA6-0xFEA9*/
+        1, 0, 2, 1 + 2,               /*0xFEAA-0xFEAD*/
+        1, 0, 1, 0,                   /*0xFEAE-0xFEB1*/
+        1, 0, 1, 0,                   /*0xFEB2-0xFEB5*/
+        1, 0, 2, 1+2,                 /*0xFEB6-0xFEB9*/
+        1, 0, 2, 1+2,                 /*0xFEBA-0xFEBD*/
+        1, 0, 2, 1+2,                 /*0xFEBE-0xFEC1*/
+        1, 0, 2, 1+2,                 /*0xFEC2-0xFEC5*/
+        1, 0, 2, 1+2,                 /*0xFEC6-0xFEC9*/
+        1, 0, 2, 1+2,                 /*0xFECA-0xFECD*/
+        1, 0, 2, 1+2,                 /*0xFECE-0xFED1*/
+        1, 0, 2, 1+2,                 /*0xFED2-0xFED5*/
+        1, 0, 2, 1+2,                 /*0xFED6-0xFED9*/
+        1, 0, 2, 1+2,                 /*0xFEDA-0xFEDD*/
+        1, 0, 2, 1+2,                 /*0xFEDE-0xFEE1*/
+        1, 0 + 16, 2 + 16, 1 + 2 +16, /*0xFEE2-0xFEE5*/
+        1 + 16, 0, 2, 1+2,            /*0xFEE6-0xFEE9*/
+        1, 0, 2, 1+2,                 /*0xFEEA-0xFEED*/
+        1, 0, 2, 1+2,                 /*0xFEEE-0xFEF1*/
+        1, 0, 1, 0,                   /*0xFEF2-0xFEF5*/
+        1, 0, 2, 1+2,                 /*0xFEF6-0xFEF9*/
+        1, 0, 1, 0,                   /*0xFEFA-0xFEFD*/
+        1, 0, 1, 0,
+        1
+    };
+
+    private static int[] convertFEto06 = {
+        /***********0******1******2******3******4******5******6******7******8******9******A******B******C******D******E******F***/
+        /*FE7*/   0x64B, 0x64B, 0x64C, 0x64C, 0x64D, 0x64D, 0x64E, 0x64E, 0x64F, 0x64F, 0x650, 0x650, 0x651, 0x651, 0x652, 0x652,
+        /*FE8*/   0x621, 0x622, 0x622, 0x623, 0x623, 0x624, 0x624, 0x625, 0x625, 0x626, 0x626, 0x626, 0x626, 0x627, 0x627, 0x628,
+        /*FE9*/   0x628, 0x628, 0x628, 0x629, 0x629, 0x62A, 0x62A, 0x62A, 0x62A, 0x62B, 0x62B, 0x62B, 0x62B, 0x62C, 0x62C, 0x62C,
+        /*FEA*/   0x62C, 0x62D, 0x62D, 0x62D, 0x62D, 0x62E, 0x62E, 0x62E, 0x62E, 0x62F, 0x62F, 0x630, 0x630, 0x631, 0x631, 0x632,
+        /*FEB*/   0x632, 0x633, 0x633, 0x633, 0x633, 0x634, 0x634, 0x634, 0x634, 0x635, 0x635, 0x635, 0x635, 0x636, 0x636, 0x636,
+        /*FEC*/   0x636, 0x637, 0x637, 0x637, 0x637, 0x638, 0x638, 0x638, 0x638, 0x639, 0x639, 0x639, 0x639, 0x63A, 0x63A, 0x63A,
+        /*FED*/   0x63A, 0x641, 0x641, 0x641, 0x641, 0x642, 0x642, 0x642, 0x642, 0x643, 0x643, 0x643, 0x643, 0x644, 0x644, 0x644,
+        /*FEE*/   0x644, 0x645, 0x645, 0x645, 0x645, 0x646, 0x646, 0x646, 0x646, 0x647, 0x647, 0x647, 0x647, 0x648, 0x648, 0x649,
+        /*FEF*/   0x649, 0x64A, 0x64A, 0x64A, 0x64A, 0x65C, 0x65C, 0x65D, 0x65D, 0x65E, 0x65E, 0x65F, 0x65F
+    };
+
+    private static final int shapeTable[][][] = {
+        { {0,0,0,0}, {0,0,0,0}, {0,1,0,3}, {0,1,0,1} },
+        { {0,0,2,2}, {0,0,1,2}, {0,1,1,2}, {0,1,1,3} },
+        { {0,0,0,0}, {0,0,0,0}, {0,1,0,3}, {0,1,0,3} },
+        { {0,0,1,2}, {0,0,1,2}, {0,1,1,2}, {0,1,1,3} }
+    };
+
+    /*
+     * This function shapes European digits to Arabic-Indic digits
+     * in-place, writing over the input characters.  Data is in visual
+     * order.
+     */
+    private void shapeToArabicDigitsWithContext(char[] dest,
+                                                int start,
+                                                int length,
+                                                char digitBase,
+                                                boolean lastStrongWasAL) {
+        UBiDiProps bdp;
+        try {
+            bdp=UBiDiProps.getSingleton();
+        } catch (IOException e) {
+            throw new MissingResourceException(e.getMessage(), "(BidiProps)", "");
+        }
+        digitBase -= '0'; // move common adjustment out of loop
+
+        for(int i = start + length; --i >= start;) {
+            char ch = dest[i];
+            switch (bdp.getClass(ch)) {
+            case UCharacterDirection.LEFT_TO_RIGHT:
+            case UCharacterDirection.RIGHT_TO_LEFT:
+                lastStrongWasAL = false;
+                break;
+            case UCharacterDirection.RIGHT_TO_LEFT_ARABIC:
+                lastStrongWasAL = true;
+                break;
+            case UCharacterDirection.EUROPEAN_NUMBER:
+                if (lastStrongWasAL && ch <= '\u0039') {
+                    dest[i] = (char)(ch + digitBase);
+                }
+                break;
+            default:
+                break;
+            }
+        }
+    }
+
+    /*
+     * Name    : invertBuffer
+     * Function: This function inverts the buffer, it's used
+     *           in case the user specifies the buffer to be
+     *           TEXT_DIRECTION_LOGICAL
+     */
+    private static void invertBuffer(char[] buffer,
+                                     int start,
+                                     int length) {
+
+        for(int i = start, j = start + length - 1; i < j; i++, --j) {
+            char temp = buffer[i];
+            buffer[i] = buffer[j];
+            buffer[j] = temp;
+        }
+    }
+
+    /*
+     * Name    : changeLamAlef
+     * Function: Converts the Alef characters into an equivalent
+     *           LamAlef location in the 0x06xx Range, this is an
+     *           intermediate stage in the operation of the program
+     *           later it'll be converted into the 0xFExx LamAlefs 
+     *           in the shaping function.
+     */
+    private static char changeLamAlef(char ch) {
+        switch(ch) {
+        case '\u0622': return '\u065C';
+        case '\u0623': return '\u065D';
+        case '\u0625': return '\u065E';
+        case '\u0627': return '\u065F';
+        default:  return '\u0000'; // not a lamalef
+        }
+    }
+
+    /*
+     * Name    : specialChar
+     * Function: Special Arabic characters need special handling in the shapeUnicode
+     *           function, this function returns 1 or 2 for these special characters
+     */
+    private static int specialChar(char ch) {
+        if ((ch > '\u0621' && ch < '\u0626') || 
+            (ch == '\u0627') ||
+            (ch > '\u062E' && ch < '\u0633') ||
+            (ch > '\u0647' && ch < '\u064A') ||
+            (ch == '\u0629')) {
+            return 1;
+        } else if (ch >= '\u064B' && ch<= '\u0652') {
+            return 2;
+        } else if (ch >= 0x0653 && ch <= 0x0655 || 
+                   ch == 0x0670 ||
+                   ch >= 0xFE70 && ch <= 0xFE7F) {
+            return 3;
+        } else {
+            return 0;
+        }
+    }
+    
+    /*
+     * Name    : getLink
+     * Function: Resolves the link between the characters as 
+     *           Arabic characters have four forms :
+     *           Isolated, Initial, Middle and Final Form
+     */
+    private static int getLink(char ch) {
+        if (ch >= '\u0622' && ch <= '\u06D3') {
+            return araLink[ch - '\u0622'];
+        } else if (ch == '\u200D') {
+            return 3;
+        } else if (ch >= '\u206D' && ch <= '\u206F') {
+            return 4;
+        } else if (ch >= '\uFE70' && ch <= '\uFEFC') {
+            return presLink[ch - '\uFE70'];
+        } else {
+            return 0;
+        }
+    }
+
+    /*
+     * Name    : countSpaces
+     * Function: Counts the number of spaces
+     *           at each end of the logical buffer
+     */
+    private static int countSpacesLeft(char[] dest, 
+                                       int start,
+                                       int count) {
+        for (int i = start, e = start + count; i < e; ++i) {
+            if (dest[i] != '\u0020') {
+                return i - start;
+            }
+        }
+        return count;
+    }
+
+    private static int countSpacesRight(char[] dest,
+                                        int start,
+                                        int count) {
+
+        for (int i = start + count; --i >= start;) {
+            if (dest[i] != '\u0020') {
+                return start + count - 1 - i;
+            }
+        }
+        return count;
+    }
+
+    /*
+     * Name    : isTashkeelChar
+     * Function: Returns 1 for Tashkeel characters else return 0
+     */
+    private static boolean isTashkeelChar(char ch) {
+        return ch >='\u064B' && ch <= '\u0652';
+    }
+
+    /*
+     * Name    : isAlefChar
+     * Function: Returns 1 for Alef characters else return 0
+     */
+    private static boolean isAlefChar(char ch) {
+        return ch == '\u0622' || ch == '\u0623' || ch == '\u0625' || ch == '\u0627';
+    }
+
+    /*
+     * Name    : isLamAlefChar
+     * Function: Returns 1 for LamAlef characters else return 0
+     */
+    private static boolean isLamAlefChar(char ch) {
+        return ch >= '\uFEF5' && ch <= '\uFEFC';
+    }
+
+    private static boolean isNormalizedLamAlefChar(char ch) {
+        return ch >= '\u065C' && ch <= '\u065F';
+    }
+
+    /*
+     * Name    : calculateSize
+     * Function: This function calculates the destSize to be used in preflighting
+     *           when the destSize is equal to 0
+     */
+    private int calculateSize(char[] source,
+                              int sourceStart,
+                              int sourceLength) {
+    
+        int destSize = sourceLength;
+
+        switch (options & LETTERS_MASK) {
+        case LETTERS_SHAPE:
+        case LETTERS_SHAPE_TASHKEEL_ISOLATED:
+            if (isLogical) {
+                for (int i = sourceStart, e = sourceStart + sourceLength - 1; i < e; ++i) {
+                    if (source[i] == '\u0644' && isAlefChar(source[i+1])) {
+                        --destSize;
+                    }
+                }
+            } else { // visual
+                for(int i = sourceStart + 1, e = sourceStart + sourceLength; i < e; ++i) {
+                    if (source[i] == '\u0644' && isAlefChar(source[i-1])) {
+                        --destSize;
+                    }
+                }
+            }
+            break;
+
+        case LETTERS_UNSHAPE:
+            for(int i = sourceStart, e = sourceStart + sourceLength; i < e; ++i) {
+                if (isLamAlefChar(source[i])) {
+                    destSize++;
+                }
+            }
+            break;
+
+        default:
+            break;
+        }
+
+        return destSize;
+    }
+
+    /*
+     * Name    : removeLamAlefSpaces
+     * Function: The shapeUnicode function converts Lam + Alef into LamAlef + space,
+     *           this function removes the spaces behind the LamAlefs according to
+     *           the options the user specifies, the spaces are removed to the end
+     *           of the buffer, or shrink the buffer and remove spaces for good
+     *           or leave the buffer as it is LamAlef + space.
+     */
+    private int removeLamAlefSpaces(char[] dest, 
+                                    int start,
+                                    int length) {
+    
+        int lenOptions = options & LENGTH_MASK;
+        if (!isLogical) {
+            switch (lenOptions) {
+            case LENGTH_FIXED_SPACES_AT_BEGINNING: lenOptions = LENGTH_FIXED_SPACES_AT_END; break;
+            case LENGTH_FIXED_SPACES_AT_END: lenOptions = LENGTH_FIXED_SPACES_AT_BEGINNING; break;
+            default: break;
+            }
+        }
+
+        if (lenOptions == LENGTH_FIXED_SPACES_NEAR) {
+            for (int i = start, e = i + length; i < e; ++i) {
+                if (dest[i] == '\uffff') {
+                    dest[i] = '\u0020';
+                }
+            }
+        } else {
+            final int e = start + length;
+            int w = e;
+            int r = e;
+            while (--r >= start) {
+                char ch = dest[r];
+                if (ch != '\uffff') {
+                    --w;
+                    if (w != r) {
+                        dest[w] = ch;
+                    }
+                }
+            }
+
+            if (lenOptions == LENGTH_FIXED_SPACES_AT_END) {
+                while (w > start) {
+                    dest[--w] = '\u0020';
+                }
+            } else {
+                if (w > start) {
+                    // shift, assume small buffer size so don't use arraycopy
+                    r = w;
+                    w = start;
+                    while (r < e) {
+                        dest[w++] = dest[r++];
+                    }
+                } else {
+                    w = e;
+                }
+                if (lenOptions == LENGTH_GROW_SHRINK) {
+                    length = w - start;
+                } else { // spaces at beginning
+                    while (w < e) {
+                        dest[w++] = '\u0020';
+                    }
+                }
+            }
+        }
+        return length;
+    }
+
+    /*
+     * Name    : expandLamAlef
+     * Function: LamAlef needs special handling as the LamAlef is
+     *           one character while expanding it will give two
+     *           characters Lam + Alef, so we need to expand the LamAlef
+     *           in near or far spaces according to the options the user
+     *           specifies or increase the buffer size.
+     *           Dest has enough room for the expansion if we are growing.
+     *           lamalef are normalized to the 'special characters'
+     */
+    private int expandLamAlef(char[] dest,
+                              int start,
+                              int length,
+                              int lacount) throws ArabicShapingException {
+
+        int lenOptions = options & LENGTH_MASK;
+        if (!isLogical) {
+            switch (lenOptions) {
+            case LENGTH_FIXED_SPACES_AT_BEGINNING: lenOptions = LENGTH_FIXED_SPACES_AT_END; break;
+            case LENGTH_FIXED_SPACES_AT_END: lenOptions = LENGTH_FIXED_SPACES_AT_BEGINNING; break;
+            default: break;
+            }
+        }
+
+        switch (lenOptions) {
+        case LENGTH_GROW_SHRINK: 
+            {
+                for (int r = start + length, w = r + lacount; --r >= start;) {
+                    char ch = dest[r];
+                    if (isNormalizedLamAlefChar(ch)) {
+                        dest[--w] = '\u0644';
+                        dest[--w] = convertNormalizedLamAlef[ch - '\u065C'];
+                    } else {
+                        dest[--w] = ch;
+                    }
+                }
+            }
+            length += lacount;
+            break;
+
+        case LENGTH_FIXED_SPACES_NEAR: 
+            {
+                if (isNormalizedLamAlefChar(dest[start])) {
+                    throw new ArabicShapingException("no space for lamalef");
+                }
+                for (int i = start + length; --i > start;) { // don't check start, already checked
+                    char ch = dest[i];
+                    if (isNormalizedLamAlefChar(ch)) {
+                        if (dest[i-1] == '\u0020') {
+                            dest[i] = '\u0644';
+                            dest[--i] = convertNormalizedLamAlef[ch - '\u065C'];
+                        } else {
+                            throw new ArabicShapingException("no space for lamalef");
+                        }
+                    }
+                }
+            }
+            break;
+
+        case LENGTH_FIXED_SPACES_AT_END: 
+            {
+                if (lacount > countSpacesLeft(dest, start, length)) {
+                    throw new ArabicShapingException("no space for lamalef");
+                }
+                for (int r = start + lacount, w = start, e = start + length; r < e; ++r) {
+                    char ch = dest[r];
+                    if (isNormalizedLamAlefChar(ch)) {
+                        dest[w++] = convertNormalizedLamAlef[ch - '\u065C'];
+                        dest[w++] = '\u0644';
+                    } else {
+                        dest[w++] = ch;
+                    }
+                }
+            }
+            break;
+                
+        case LENGTH_FIXED_SPACES_AT_BEGINNING: 
+            {
+                if (lacount > countSpacesRight(dest, start, length)) {
+                    throw new ArabicShapingException("no space for lamalef");
+                }
+                for (int r = start + length - lacount, w = start + length; --r >= start;) {
+                    char ch = dest[r];
+                    if (isNormalizedLamAlefChar(ch)) {
+                        dest[--w] = '\u0644';
+                        dest[--w] = convertNormalizedLamAlef[ch - '\u065C'];
+                    } else {
+                        dest[--w] = ch;
+                    }
+                }
+            }
+            break;
+        }
+
+        return length;
+    }
+
+    /* Convert the input buffer from FExx Range into 06xx Range
+     * to put all characters into the 06xx range
+     * even the lamalef is converted to the special region in
+     * the 06xx range.  Return the number of lamalef chars found.
+     */
+    private int normalize(char[] dest, int start, int length) {
+        int lacount = 0;
+        for (int i = start, e = i + length; i < e; ++i) {
+            char ch = dest[i];
+            if (ch >= '\uFE70' && ch <= '\uFEFC') {
+                if (isLamAlefChar(ch)) {
+                    ++lacount;
+                }
+                dest[i] = (char)convertFEto06[ch - '\uFE70'];
+            }
+        }
+        return lacount;
+    }
+
+    /*
+     * Name    : shapeUnicode
+     * Function: Converts an Arabic Unicode buffer in 06xx Range into a shaped
+     *           arabic Unicode buffer in FExx Range
+     */
+    private int shapeUnicode(char[] dest, 
+                             int start,
+                             int length,
+                             int destSize,
+                             int tashkeelFlag) {
+
+
+        normalize(dest, start, length);
+
+        // resolve the link between the characters.
+        // Arabic characters have four forms: Isolated, Initial, Medial and Final.
+        // Tashkeel characters have two, isolated or medial, and sometimes only isolated.
+        // tashkeelFlag == 0: shape normally, 1: shape isolated, 2: don't shape
+
+        boolean lamalef_found = false;
+        int i = start + length - 1;
+        int currLink = getLink(dest[i]);
+        int nextLink = 0;
+        int prevLink = 0;
+        int lastLink = 0;
+        int prevPos = i;
+        int lastPos = i;
+        int nx = -2;
+        int nw = 0;
+
+        while (i >= 0) {
+            // If high byte of currLink > 0 then there might be more than one shape
+            if ((currLink & '\uFF00') > 0 || isTashkeelChar(dest[i])) {
+                nw = i - 1;
+                nx = -2;
+                while (nx < 0) { // we need to know about next char
+                    if (nw == -1) {
+                        nextLink = 0;
+                        nx = Integer.MAX_VALUE;
+                    } else {
+                        nextLink = getLink(dest[nw]);
+                        if ((nextLink & IRRELEVANT) == 0) {
+                            nx = nw;
+                        } else {
+                            --nw;
+                        }
+                    }
+                }
+
+                if (((currLink & ALEFTYPE) > 0) && ((lastLink & LAMTYPE) > 0)) {
+                    lamalef_found = true; 
+                    char wLamalef = changeLamAlef(dest[i]); // get from 0x065C-0x065f
+                    if (wLamalef != '\u0000') {
+                        // replace alef by marker, it will be removed later
+                        dest[i] = '\uffff';
+                        dest[lastPos] = wLamalef;
+                        i = lastPos;
+                    }
+
+                    lastLink = prevLink;
+                    currLink = getLink(wLamalef); // requires '\u0000', unfortunately
+                }
+
+                // get the proper shape according to link ability of neighbors
+                // and of character; depends on the order of the shapes
+                // (isolated, initial, middle, final) in the compatibility area
+
+                int flag = specialChar(dest[i]);
+
+                int shape = shapeTable[nextLink & LINK_MASK]
+                    [lastLink & LINK_MASK]
+                    [currLink & LINK_MASK];
+
+                if (flag == 1) {
+                    shape &= 0x1;
+                } else if (flag == 2) {
+                    if (tashkeelFlag == 0 &&
+                        ((lastLink & LINKL) != 0) && 
+                        ((nextLink & LINKR) != 0) && 
+                        dest[i] != '\u064C' && 
+                        dest[i] != '\u064D' &&
+                        !((nextLink & ALEFTYPE) == ALEFTYPE && 
+                          (lastLink & LAMTYPE) == LAMTYPE)) {
+        
+                        shape = 1;
+                    } else {
+                        shape = 0;
+                    }
+                }
+
+                if (flag == 2) {
+                    if (tashkeelFlag < 2) {
+                        dest[i] = (char)('\uFE70' + irrelevantPos[dest[i] - '\u064B'] + shape);
+                    } // else leave tashkeel alone                    
+                } else {
+                    dest[i] = (char)('\uFE70' + (currLink >> 8) + shape);
+                }
+            }
+
+            // move one notch forward
+            if ((currLink & IRRELEVANT) == 0) {
+                prevLink = lastLink;
+                lastLink = currLink;
+                prevPos = lastPos;
+                lastPos = i;
+            }
+
+            --i;
+            if (i == nx) {
+                currLink = nextLink;
+                nx = -2;
+            } else if (i != -1) {
+                currLink = getLink(dest[i]);
+            }
+        }
+
+        // If we found a lam/alef pair in the buffer 
+        // call removeLamAlefSpaces to remove the spaces that were added
+
+        if (lamalef_found) {
+            destSize = removeLamAlefSpaces(dest, start, length);
+        } else {
+            destSize = length;
+        }
+        
+        return destSize;
+    }
+
+    /*
+     * Name    : deShapeUnicode
+     * Function: Converts an Arabic Unicode buffer in FExx Range into unshaped
+     *           arabic Unicode buffer in 06xx Range
+     */
+    private int deShapeUnicode(char[] dest, 
+                               int start,
+                               int length,
+                               int destSize) throws ArabicShapingException {
+
+        int lamalef_count = normalize(dest, start, length);
+
+        // If there was a lamalef in the buffer call expandLamAlef
+        if (lamalef_count != 0) {
+            // need to adjust dest to fit expanded buffer... !!!
+            destSize = expandLamAlef(dest, start, length, lamalef_count);
+        } else {
+            destSize = length;
+        }
+
+        return destSize;
+    }
+
+    private int internalShape(char[] source, 
+                              int sourceStart,
+                              int sourceLength,
+                              char[] dest,
+                              int destStart,
+                              int destSize) throws ArabicShapingException {
+
+        if (sourceLength == 0) {
+            return 0;
+        }
+
+        if (destSize == 0) {
+            if (((options & LETTERS_MASK) != LETTERS_NOOP) &&
+                ((options & LENGTH_MASK) == LENGTH_GROW_SHRINK)) {
+    
+                return calculateSize(source, sourceStart, sourceLength);
+            } else {
+                return sourceLength; // by definition
+            }
+        }
+
+        // always use temp buffer
+        char[] temp = new char[sourceLength * 2]; // all lamalefs requiring expansion
+        System.arraycopy(source, sourceStart, temp, 0, sourceLength);
+
+        if (isLogical) {
+            invertBuffer(temp, 0, sourceLength);
+        }
+
+        int outputSize = sourceLength;
+
+        switch (options & LETTERS_MASK) {
+        case LETTERS_SHAPE_TASHKEEL_ISOLATED:
+            outputSize = shapeUnicode(temp, 0, sourceLength, destSize, 1);
+            break;
+
+        case LETTERS_SHAPE:
+            outputSize = shapeUnicode(temp, 0, sourceLength, destSize, 0);
+            break;
+
+        case LETTERS_UNSHAPE:
+            outputSize = deShapeUnicode(temp, 0, sourceLength, destSize);
+            break; 
+
+        default:
+            break;
+        }
+                
+        if (outputSize > destSize) {
+            throw new ArabicShapingException("not enough room for result data");
+        }
+
+        if ((options & DIGITS_MASK) != DIGITS_NOOP) {
+            char digitBase = '\u0030'; // European digits
+            switch (options & DIGIT_TYPE_MASK) {
+            case DIGIT_TYPE_AN:
+                digitBase = '\u0660';  // Arabic-Indic digits
+                break;
+
+            case DIGIT_TYPE_AN_EXTENDED:
+                digitBase = '\u06f0';  // Eastern Arabic-Indic digits (Persian and Urdu)
+                break;
+
+            default:
+                break;
+            }
+
+            switch (options & DIGITS_MASK) {
+            case DIGITS_EN2AN:
+                {
+                    int digitDelta = digitBase - '\u0030';
+                    for (int i = 0; i < outputSize; ++i) {
+                        char ch = temp[i];
+                        if (ch <= '\u0039' && ch >= '\u0030') {
+                            temp[i] += digitDelta;
+                        }
+                    }
+                }
+                break;
+
+            case DIGITS_AN2EN:
+                {
+                    char digitTop = (char)(digitBase + 9);
+                    int digitDelta = '\u0030' - digitBase;
+                    for (int i = 0; i < outputSize; ++i) {
+                        char ch = temp[i];
+                        if (ch <= digitTop && ch >= digitBase) {
+                            temp[i] += digitDelta;
+                        }
+                    }
+                }
+                break;
+
+            case DIGITS_EN2AN_INIT_LR:
+                shapeToArabicDigitsWithContext(temp, 0, outputSize, digitBase, false);
+                break;
+
+            case DIGITS_EN2AN_INIT_AL:
+                shapeToArabicDigitsWithContext(temp, 0, outputSize, digitBase, true);
+                break;
+
+            default:
+                break;
+            }
+        }
+
+        if (isLogical) {
+            invertBuffer(temp, 0, outputSize);
+        }
+      
+        System.arraycopy(temp, 0, dest, destStart, outputSize);
+      
+        return outputSize;
+    }
+}
diff --git a/src/com/ibm/icu/text/ArabicShapingException.java b/src/com/ibm/icu/text/ArabicShapingException.java
new file mode 100755
index 0000000..b53d3dc
--- /dev/null
+++ b/src/com/ibm/icu/text/ArabicShapingException.java
@@ -0,0 +1,18 @@
+/*
+*******************************************************************************
+*   Copyright (C) 2001, International Business Machines
+*   Corporation and others.  All Rights Reserved.
+*******************************************************************************
+*/
+
+package com.ibm.icu.text;
+
+/**
+ * Thrown by ArabicShaping when there is a shaping error.
+ * @stable ICU 2.0
+ */
+public final class ArabicShapingException extends Exception {
+    ArabicShapingException(String message) {
+        super(message);
+    }
+}
diff --git a/src/com/ibm/icu/text/BreakDictionary.java b/src/com/ibm/icu/text/BreakDictionary.java
new file mode 100755
index 0000000..f62d6dd
--- /dev/null
+++ b/src/com/ibm/icu/text/BreakDictionary.java
@@ -0,0 +1,308 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.text;
+
+import java.io.InputStream;
+import java.io.DataInputStream;
+import java.io.FileNotFoundException;
+import java.io.UnsupportedEncodingException;
+import java.io.IOException;
+import java.io.FileInputStream;
+import java.io.OutputStreamWriter;
+import java.io.PrintWriter;
+import java.io.FileOutputStream;
+
+import com.ibm.icu.util.CompactByteArray;
+
+/**
+ * This is the class that represents the list of known words used by
+ * DictionaryBasedBreakIterator.  The conceptual data structure used
+ * here is a trie: there is a node hanging off the root node for every
+ * letter that can start a word.  Each of these nodes has a node hanging
+ * off of it for every letter that can be the second letter of a word
+ * if this node is the first letter, and so on.  The trie is represented
+ * as a two-dimensional array that can be treated as a table of state
+ * transitions.  Indexes are used to compress this array, taking
+ * advantage of the fact that this array will always be very sparse.
+ * @internal
+ */
+public class BreakDictionary {
+    //=================================================================================
+    // testing and debugging
+    //=================================================================================
+    /** @internal */
+    public static void main(String args[])
+            throws FileNotFoundException, UnsupportedEncodingException, IOException {
+        String filename = args[0];
+
+        BreakDictionary dictionary = new BreakDictionary(new FileInputStream(filename));
+
+        PrintWriter out = null;
+
+        if(args.length >= 2) {
+            out = new PrintWriter(new OutputStreamWriter(new FileOutputStream(args[1]), "UnicodeLittle"));
+        }
+
+        dictionary.printWordList("", 0, out);
+
+        if (out != null) {
+            out.close();
+        }
+    }
+
+    /** @internal */
+    public void printWordList(String partialWord, int state, PrintWriter out)
+            throws IOException {
+        if (state == 0xFFFF) {
+            System.out.println(partialWord);
+            if (out != null) {
+                out.println(partialWord);
+            }
+        }
+        else {
+            for (int i = 0; i < numCols; i++) {
+                int newState = (at(state, i)) & 0xFFFF;
+
+                if (newState != 0) {
+                    char newChar = reverseColumnMap[i];
+                    String newPartialWord = partialWord;
+
+                    if (newChar != 0) {
+                        newPartialWord += newChar;
+                    }
+
+                    printWordList(newPartialWord, newState, out);
+                }
+            }
+        }
+    }
+
+    /**
+     * A map used to go from column numbers to characters.  Used only
+     * for debugging right now.
+     */
+    private char[] reverseColumnMap = null;
+
+    //=================================================================================
+    // data members
+    //=================================================================================
+
+    /**
+     * Maps from characters to column numbers.  The main use of this is to
+     * avoid making room in the array for empty columns.
+     */
+    private CompactByteArray columnMap = null;
+
+    /**
+     * The number of actual columns in the table
+     */
+    private int numCols;
+
+    /**
+     * Columns are organized into groups of 32.  This says how many
+     * column groups.  (We could calculate this, but we store the
+     * value to avoid having to repeatedly calculate it.)
+     */
+    private int numColGroups;
+
+    /**
+     * The actual compressed state table.  Each conceptual row represents
+     * a state, and the cells in it contain the row numbers of the states
+     * to transition to for each possible letter.  0 is used to indicate
+     * an illegal combination of letters (i.e., the error state).  The
+     * table is compressed by eliminating all the unpopulated (i.e., zero)
+     * cells.  Multiple conceptual rows can then be doubled up in a single
+     * physical row by sliding them up and possibly shifting them to one
+     * side or the other so the populated cells don't collide.  Indexes
+     * are used to identify unpopulated cells and to locate populated cells.
+     */
+    private short[] table = null;
+
+    /**
+     * This index maps logical row numbers to physical row numbers
+     */
+    private short[] rowIndex = null;
+
+    /**
+     * A bitmap is used to tell which cells in the comceptual table are
+     * populated.  This array contains all the unique bit combinations
+     * in that bitmap.  If the table is more than 32 columns wide,
+     * successive entries in this array are used for a single row.
+     */
+    private int[] rowIndexFlags = null;
+
+    /**
+     * This index maps from a logical row number into the bitmap table above.
+     * (This keeps us from storing duplicate bitmap combinations.)  Since there
+     * are a lot of rows with only one populated cell, instead of wasting space
+     * in the bitmap table, we just store a negative number in this index for
+     * rows with one populated cell.  The absolute value of that number is
+     * the column number of the populated cell.
+     */
+    private short[] rowIndexFlagsIndex = null;
+
+    /**
+     * For each logical row, this index contains a constant that is added to
+     * the logical column number to get the physical column number
+     */
+    private byte[] rowIndexShifts = null;
+
+    //=================================================================================
+    // deserialization
+    //=================================================================================
+
+    /** @internal */
+    public BreakDictionary(InputStream dictionaryStream) throws IOException {
+        readDictionaryFile(new DataInputStream(dictionaryStream));
+    }
+
+    /** @internal */
+    public void readDictionaryFile(DataInputStream in) throws IOException {
+        int l;
+
+        // read in the version number (right now we just ignore it)
+        in.readInt();
+
+        // read in the column map (this is serialized in its internal form:
+        // an index array followed by a data array)
+        l = in.readInt();
+        char[] temp = new char[l];
+        for (int i = 0; i < temp.length; i++)
+            temp[i] = (char)in.readShort();
+        l = in.readInt();
+        byte[] temp2 = new byte[l];
+        for (int i = 0; i < temp2.length; i++)
+            temp2[i] = in.readByte();
+        columnMap = new CompactByteArray(temp, temp2);
+
+        // read in numCols and numColGroups
+        numCols = in.readInt();
+        numColGroups = in.readInt();
+
+        // read in the row-number index
+        l = in.readInt();
+        rowIndex = new short[l];
+        for (int i = 0; i < rowIndex.length; i++)
+            rowIndex[i] = in.readShort();
+
+        // load in the populated-cells bitmap: index first, then bitmap list
+        l = in.readInt();
+        rowIndexFlagsIndex = new short[l];
+        for (int i = 0; i < rowIndexFlagsIndex.length; i++)
+            rowIndexFlagsIndex[i] = in.readShort();
+        l = in.readInt();
+        rowIndexFlags = new int[l];
+        for (int i = 0; i < rowIndexFlags.length; i++)
+            rowIndexFlags[i] = in.readInt();
+
+        // load in the row-shift index
+        l = in.readInt();
+        rowIndexShifts = new byte[l];
+        for (int i = 0; i < rowIndexShifts.length; i++)
+            rowIndexShifts[i] = in.readByte();
+
+        // finally, load in the actual state table
+        l = in.readInt();
+        table = new short[l];
+        for (int i = 0; i < table.length; i++)
+            table[i] = in.readShort();
+
+        // this data structure is only necessary for testing and debugging purposes
+        reverseColumnMap = new char[numCols];
+        for (char c = 0; c < 0xffff; c++) {
+            int col = columnMap.elementAt(c);
+            if (col != 0) {
+               reverseColumnMap[col] = c;
+            }
+        }
+
+        // close the stream
+        in.close();
+    }
+
+    //=================================================================================
+    // access to the words
+    //=================================================================================
+
+    /**
+     * Uses the column map to map the character to a column number, then
+     * passes the row and column number to the other version of at()
+     * @param row The current state
+     * @param ch The character whose column we're interested in
+     * @return The new state to transition to
+     * @internal
+     */
+    public final short at(int row, char ch) {
+        int col = columnMap.elementAt(ch);
+        return at(row, col);
+    }
+
+    /**
+     * Returns the value in the cell with the specified (logical) row and
+     * column numbers.  In DictionaryBasedBreakIterator, the row number is
+     * a state number, the column number is an input, and the return value
+     * is the row number of the new state to transition to.  (0 is the
+     * "error" state, and -1 is the "end of word" state in a dictionary)
+     * @param row The row number of the current state
+     * @param col The column number of the input character (0 means "not a
+     * dictionary character")
+     * @return The row number of the new state to transition to
+     * @internal
+     */
+    public final short at(int row, int col) {
+        if (cellIsPopulated(row, col)) {
+            // we map from logical to physical row number by looking up the
+            // mapping in rowIndex; we map from logical column number to
+            // physical column number by looking up a shift value for this
+            // logical row and offsetting the logical column number by
+            // the shift amount.  Then we can use internalAt() to actually
+            // get the value out of the table.
+            return internalAt(rowIndex[row], col + rowIndexShifts[row]);
+        }
+        else {
+            return 0;
+        }
+    }
+
+    /**
+     * Given (logical) row and column numbers, returns true if the
+     * cell in that position is populated
+     */
+    private final boolean cellIsPopulated(int row, int col) {
+        // look up the entry in the bitmap index for the specified row.
+        // If it's a negative number, it's the column number of the only
+        // populated cell in the row
+        if (rowIndexFlagsIndex[row] < 0) {
+            return col == -rowIndexFlagsIndex[row];
+        }
+
+        // if it's a positive number, it's the offset of an entry in the bitmap
+        // list.  If the table is more than 32 columns wide, the bitmap is stored
+        // successive entries in the bitmap list, so we have to divide the column
+        // number by 32 and offset the number we got out of the index by the result.
+        // Once we have the appropriate piece of the bitmap, test the appropriate
+        // bit and return the result.
+        else {
+            int flags = rowIndexFlags[rowIndexFlagsIndex[row] + (col >> 5)];
+            return (flags & (1 << (col & 0x1f))) != 0;
+        }
+    }
+
+    /**
+     * Implementation of at() when we know the specified cell is populated.
+     * @param row The PHYSICAL row number of the cell
+     * @param col The PHYSICAL column number of the cell
+     * @return The value stored in the cell
+     */
+    private final short internalAt(int row, int col) {
+        // the table is a one-dimensional array, so this just does the math necessary
+        // to treat it as a two-dimensional array (we don't just use a two-dimensional
+        // array because two-dimensional arrays are inefficient in Java)
+        return table[row * numCols + col];
+    }
+}
+
diff --git a/src/com/ibm/icu/text/BreakIterator.java b/src/com/ibm/icu/text/BreakIterator.java
new file mode 100755
index 0000000..24b2269
--- /dev/null
+++ b/src/com/ibm/icu/text/BreakIterator.java
@@ -0,0 +1,879 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+package com.ibm.icu.text;
+
+import java.lang.ref.SoftReference;
+import java.text.CharacterIterator;
+import java.text.StringCharacterIterator;
+import java.util.Locale;
+import java.util.MissingResourceException;
+
+import com.ibm.icu.impl.ICUDebug;
+import com.ibm.icu.util.ULocale;
+
+/**
+ * A class that locates boundaries in text.  This class defines a protocol for
+ * objects that break up a piece of natural-language text according to a set
+ * of criteria.  Instances or subclasses of BreakIterator can be provided, for
+ * example, to break a piece of text into words, sentences, or logical characters
+ * according to the conventions of some language or group of languages.
+ *
+ * We provide five built-in types of BreakIterator:
+ * <ul><li>getTitleInstance() returns a BreakIterator that locates boundaries
+ * between title breaks.
+ * <li>getSentenceInstance() returns a BreakIterator that locates boundaries
+ * between sentences.  This is useful for triple-click selection, for example.
+ * <li>getWordInstance() returns a BreakIterator that locates boundaries between
+ * words.  This is useful for double-click selection or "find whole words" searches.
+ * This type of BreakIterator makes sure there is a boundary position at the
+ * beginning and end of each legal word.  (Numbers count as words, too.)  Whitespace
+ * and punctuation are kept separate from real words.
+ * <li>getLineInstance() returns a BreakIterator that locates positions where it is
+ * legal for a text editor to wrap lines.  This is similar to word breaking, but
+ * not the same: punctuation and whitespace are generally kept with words (you don't
+ * want a line to start with whitespace, for example), and some special characters
+ * can force a position to be considered a line-break position or prevent a position
+ * from being a line-break position.
+ * <li>getCharacterInstance() returns a BreakIterator that locates boundaries between
+ * logical characters.  Because of the structure of the Unicode encoding, a logical
+ * character may be stored internally as more than one Unicode code point.  (A with an
+ * umlaut may be stored as an a followed by a separate combining umlaut character,
+ * for example, but the user still thinks of it as one character.)  This iterator allows
+ * various processes (especially text editors) to treat as characters the units of text
+ * that a user would think of as characters, rather than the units of text that the
+ * computer sees as "characters".</ul>
+ *
+ * BreakIterator's interface follows an "iterator" model (hence the name), meaning it
+ * has a concept of a "current position" and methods like first(), last(), next(),
+ * and previous() that update the current position.  All BreakIterators uphold the
+ * following invariants:
+ * <ul><li>The beginning and end of the text are always treated as boundary positions.
+ * <li>The current position of the iterator is always a boundary position (random-
+ * access methods move the iterator to the nearest boundary position before or
+ * after the specified position, not _to_ the specified position).
+ * <li>DONE is used as a flag to indicate when iteration has stopped.  DONE is only
+ * returned when the current position is the end of the text and the user calls next(),
+ * or when the current position is the beginning of the text and the user calls
+ * previous().
+ * <li>Break positions are numbered by the positions of the characters that follow
+ * them.  Thus, under normal circumstances, the position before the first character
+ * is 0, the position after the first character is 1, and the position after the
+ * last character is 1 plus the length of the string.
+ * <li>The client can change the position of an iterator, or the text it analyzes,
+ * at will, but cannot change the behavior.  If the user wants different behavior, he
+ * must instantiate a new iterator.</ul>
+ *
+ * BreakIterator accesses the text it analyzes through a CharacterIterator, which makes
+ * it possible to use BreakIterator to analyze text in any text-storage vehicle that
+ * provides a CharacterIterator interface.
+ *
+ * <b>NOTE:</b>  Some types of BreakIterator can take a long time to create, and
+ * instances of BreakIterator are not currently cached by the system.  For
+ * optimal performance, keep instances of BreakIterator around as long as makes
+ * sense.  For example, when word-wrapping a document, don't create and destroy a
+ * new BreakIterator for each line.  Create one break iterator for the whole document
+ * (or whatever stretch of text you're wrapping) and use it to do the whole job of
+ * wrapping the text.
+ *
+  * <P>
+ * <strong>Examples</strong>:<P>
+ * Creating and using text boundaries
+ * <blockquote>
+ * <pre>
+ * public static void main(String args[]) {
+ *      if (args.length == 1) {
+ *          String stringToExamine = args[0];
+ *          //print each word in order
+ *          BreakIterator boundary = BreakIterator.getWordInstance();
+ *          boundary.setText(stringToExamine);
+ *          printEachForward(boundary, stringToExamine);
+ *          //print each sentence in reverse order
+ *          boundary = BreakIterator.getSentenceInstance(Locale.US);
+ *          boundary.setText(stringToExamine);
+ *          printEachBackward(boundary, stringToExamine);
+ *          printFirst(boundary, stringToExamine);
+ *          printLast(boundary, stringToExamine);
+ *      }
+ * }
+ * </pre>
+ * </blockquote>
+ *
+ * Print each element in order
+ * <blockquote>
+ * <pre>
+ * public static void printEachForward(BreakIterator boundary, String source) {
+ *     int start = boundary.first();
+ *     for (int end = boundary.next();
+ *          end != BreakIterator.DONE;
+ *          start = end, end = boundary.next()) {
+ *          System.out.println(source.substring(start,end));
+ *     }
+ * }
+ * </pre>
+ * </blockquote>
+ *
+ * Print each element in reverse order
+ * <blockquote>
+ * <pre>
+ * public static void printEachBackward(BreakIterator boundary, String source) {
+ *     int end = boundary.last();
+ *     for (int start = boundary.previous();
+ *          start != BreakIterator.DONE;
+ *          end = start, start = boundary.previous()) {
+ *         System.out.println(source.substring(start,end));
+ *     }
+ * }
+ * </pre>
+ * </blockquote>
+ *
+ * Print first element
+ * <blockquote>
+ * <pre>
+ * public static void printFirst(BreakIterator boundary, String source) {
+ *     int start = boundary.first();
+ *     int end = boundary.next();
+ *     System.out.println(source.substring(start,end));
+ * }
+ * </pre>
+ * </blockquote>
+ *
+ * Print last element
+ * <blockquote>
+ * <pre>
+ * public static void printLast(BreakIterator boundary, String source) {
+ *     int end = boundary.last();
+ *     int start = boundary.previous();
+ *     System.out.println(source.substring(start,end));
+ * }
+ * </pre>
+ * </blockquote>
+ *
+ * Print the element at a specified position
+ * <blockquote>
+ * <pre>
+ * public static void printAt(BreakIterator boundary, int pos, String source) {
+ *     int end = boundary.following(pos);
+ *     int start = boundary.previous();
+ *     System.out.println(source.substring(start,end));
+ * }
+ * </pre>
+ * </blockquote>
+ *
+ * Find the next word
+ * <blockquote>
+ * <pre>
+ * public static int nextWordStartAfter(int pos, String text) {
+ *     BreakIterator wb = BreakIterator.getWordInstance();
+ *     wb.setText(text);
+ *     int last = wb.following(pos);
+ *     int current = wb.next();
+ *     while (current != BreakIterator.DONE) {
+ *         for (int p = last; p < current; p++) {
+ *             if (Character.isLetter(text.charAt(p))
+ *                 return last;
+ *         }
+ *         last = current;
+ *         current = wb.next();
+ *     }
+ *     return BreakIterator.DONE;
+ * }
+ * </pre>
+ * (The iterator returned by BreakIterator.getWordInstance() is unique in that
+ * the break positions it returns don't represent both the start and end of the
+ * thing being iterated over.  That is, a sentence-break iterator returns breaks
+ * that each represent the end of one sentence and the beginning of the next.
+ * With the word-break iterator, the characters between two boundaries might be a
+ * word, or they might be the punctuation or whitespace between two words.  The
+ * above code uses a simple heuristic to determine which boundary is the beginning
+ * of a word: If the characters between this boundary and the next boundary
+ * include at least one letter (this can be an alphabetical letter, a CJK ideograph,
+ * a Hangul syllable, a Kana character, etc.), then the text between this boundary
+ * and the next is a word; otherwise, it's the material between words.)
+ * </blockquote>
+ *
+ * @see CharacterIterator
+ * @stable ICU 2.0
+ *
+ */
+
+public abstract class BreakIterator implements Cloneable
+{
+
+    private static final boolean DEBUG = ICUDebug.enabled("breakiterator");
+    
+    /**
+     * Default constructor.  There is no state that is carried by this abstract
+     * base class.
+     * @stable ICU 2.0
+     */
+    protected BreakIterator()
+    {
+    }
+
+    /**
+     * Clone method.  Creates another BreakIterator with the same behavior and
+     * current state as this one.
+     * @return The clone.
+     * @stable ICU 2.0
+     */
+    public Object clone()
+    {
+        try {
+            return super.clone();
+        }
+        catch (CloneNotSupportedException e) {
+            ///CLOVER:OFF
+            throw new InternalError();
+            ///CLOVER:ON
+        }
+    }
+
+    /**
+     * DONE is returned by previous() and next() after all valid
+     * boundaries have been returned.
+     * @stable ICU 2.0
+     */
+    public static final int DONE = -1;
+
+    /**
+     * Return the first boundary position.  This is always the beginning
+     * index of the text this iterator iterates over.  For example, if
+     * the iterator iterates over a whole string, this function will
+     * always return 0.  This function also updates the iteration position
+     * to point to the beginning of the text.
+     * @return The character offset of the beginning of the stretch of text
+     * being broken.
+     * @stable ICU 2.0
+     */
+    public abstract int first();
+
+    /**
+     * Return the last boundary position.  This is always the "past-the-end"
+     * index of the text this iterator iterates over.  For example, if the
+     * iterator iterates over a whole string (call it "text"), this function
+     * will always return text.length().  This function also updated the
+     * iteration position to point to the end of the text.
+     * @return The character offset of the end of the stretch of text
+     * being broken.
+     * @stable ICU 2.0
+     */
+    public abstract int last();
+
+    /**
+     * Advances the specified number of steps forward in the text (a negative
+     * number, therefore, advances backwards).  If this causes the iterator
+     * to advance off either end of the text, this function returns DONE;
+     * otherwise, this function returns the position of the appropriate
+     * boundary.  Calling this function is equivalent to calling next() or
+     * previous() n times.
+     * @param n The number of boundaries to advance over (if positive, moves
+     * forward; if negative, moves backwards).
+     * @return The position of the boundary n boundaries from the current
+     * iteration position, or DONE if moving n boundaries causes the iterator
+     * to advance off either end of the text.
+     * @stable ICU 2.0
+     */
+    public abstract int next(int n);
+
+    /**
+     * Advances the iterator forward one boundary.  The current iteration
+     * position is updated to point to the next boundary position after the
+     * current position, and this is also the value that is returned.  If
+     * the current position is equal to the value returned by last(), or to
+     * DONE, this function returns DONE and sets the current position to
+     * DONE.
+     * @return The position of the first boundary position following the
+     * iteration position.
+     * @stable ICU 2.0
+     */
+    public abstract int next();
+
+    /**
+     * Advances the iterator backward one boundary.  The current iteration
+     * position is updated to point to the last boundary position before
+     * the current position, and this is also the value that is returned.  If
+     * the current position is equal to the value returned by first(), or to
+     * DONE, this function returns DONE and sets the current position to
+     * DONE.
+     * @return The position of the last boundary position preceding the
+     * iteration position.
+     * @stable ICU 2.0
+     */
+    public abstract int previous();
+
+    /**
+     * Sets the iterator's current iteration position to be the first
+     * boundary position following the specified position.  (Whether the
+     * specified position is itself a boundary position or not doesn't
+     * matter-- this function always moves the iteration position to the
+     * first boundary after the specified position.)  If the specified
+     * position is the past-the-end position, returns DONE.
+     * @param offset The character position to start searching from.
+     * @return The position of the first boundary position following
+     * "offset" (whether or not "offset" itself is a boundary position),
+     * or DONE if "offset" is the past-the-end offset.
+     * @stable ICU 2.0
+     */
+    public abstract int following(int offset);
+
+    /**
+     * Sets the iterator's current iteration position to be the last
+     * boundary position preceding the specified position.  (Whether the
+     * specified position is itself a boundary position or not doesn't
+     * matter-- this function always moves the iteration position to the
+     * last boundary before the specified position.)  If the specified
+     * position is the starting position, returns DONE.
+     * @param offset The character position to start searching from.
+     * @return The position of the last boundary position preceding
+     * "offset" (whether of not "offset" itself is a boundary position),
+     * or DONE if "offset" is the starting offset of the iterator.
+     * @stable ICU 2.0
+     */
+    public int preceding(int offset) {
+        // NOTE:  This implementation is here solely because we can't add new
+        // abstract methods to an existing class.  There is almost ALWAYS a
+        // better, faster way to do this.
+        int pos = following(offset);
+        while (pos >= offset && pos != DONE)
+            pos = previous();
+        return pos;
+    }
+
+    /**
+     * Return true if the specfied position is a boundary position.  If the
+     * function returns true, the current iteration position is set to the
+     * specified position; if the function returns false, the current
+     * iteration position is set as though following() had been called.
+     * @param offset the offset to check.
+     * @return True if "offset" is a boundary position.
+     * @stable ICU 2.0
+     */
+    public boolean isBoundary(int offset) {
+        // Again, this is the default implementation, which is provided solely because
+        // we couldn't add a new abstract method to an existing class.  The real
+        // implementations will usually need to do a little more work.
+        if (offset == 0) {
+            return true;
+        }
+        else
+            return following(offset - 1) == offset;
+    }
+
+    /**
+     * Return the iterator's current position.
+     * @return The iterator's current position.
+     * @stable ICU 2.0
+     */
+    public abstract int current();
+
+    /**
+     * Returns a CharacterIterator over the text being analyzed.
+     * For at least some subclasses of BreakIterator, this is a reference
+     * to the <b>actual iterator being used</b> by the BreakIterator,
+     * and therefore, this function's return value should be treated as
+     * <tt>const</tt>.  No guarantees are made about the current position
+     * of this iterator when it is returned.  If you need to move that
+     * position to examine the text, clone this function's return value first.
+     * @return A CharacterIterator over the text being analyzed.
+     * @stable ICU 2.0
+     */
+    public abstract CharacterIterator getText();
+
+    /**
+     * Sets the iterator to analyze a new piece of text.  The new
+     * piece of text is passed in as a String, and the current
+     * iteration position is reset to the beginning of the string.
+     * (The old text is dropped.)
+     * @param newText A String containing the text to analyze with
+     * this BreakIterator.
+     * @stable ICU 2.0
+     */
+    public void setText(String newText)
+    {
+        setText(new StringCharacterIterator(newText));
+    }
+
+    /**
+     * Sets the iterator to analyze a new piece of text.  The
+     * BreakIterator is passed a CharacterIterator through which
+     * it will access the text itself.  The current iteration
+     * position is reset to the CharacterIterator's start index.
+     * (The old iterator is dropped.)
+     * @param newText A CharacterIterator referring to the text
+     * to analyze with this BreakIterator (the iterator's current
+     * position is ignored, but its other state is significant).
+     * @stable ICU 2.0
+     */
+    public abstract void setText(CharacterIterator newText);
+
+    /** @stable ICU 2.4 */
+    public static final int KIND_CHARACTER = 0;
+    /** @stable ICU 2.4 */
+    public static final int KIND_WORD = 1;
+    /** @stable ICU 2.4 */
+    public static final int KIND_LINE = 2;
+    /** @stable ICU 2.4 */
+    public static final int KIND_SENTENCE = 3;
+    /** @stable ICU 2.4 */
+    public static final int KIND_TITLE = 4;
+
+    /** @since ICU 2.8 */
+    private static final int KIND_COUNT = 5;
+
+    /** @internal */
+    private static final SoftReference[] iterCache = new SoftReference[5];
+
+    /**
+     * Returns a new instance of BreakIterator that locates word boundaries.
+     * This function assumes that the text being analyzed is in the default
+     * locale's language.
+     * @return An instance of BreakIterator that locates word boundaries.
+     * @stable ICU 2.0
+     */
+    public static BreakIterator getWordInstance()
+    {
+        return getWordInstance(ULocale.getDefault());
+    }
+
+    /**
+     * Returns a new instance of BreakIterator that locates word boundaries.
+     * @param where A locale specifying the language of the text to be
+     * analyzed.
+     * @return An instance of BreakIterator that locates word boundaries.
+     * @stable ICU 2.0
+     */
+    public static BreakIterator getWordInstance(Locale where)
+    {
+        return getBreakInstance(ULocale.forLocale(where), KIND_WORD);
+    }
+
+    /**
+     * Returns a new instance of BreakIterator that locates word boundaries.
+     * @param where A locale specifying the language of the text to be
+     * analyzed.
+     * @return An instance of BreakIterator that locates word boundaries.
+     * @draft ICU 3.2
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static BreakIterator getWordInstance(ULocale where)
+    {
+        return getBreakInstance(where, KIND_WORD);
+    }
+
+    /**
+     * Returns a new instance of BreakIterator that locates legal line-
+     * wrapping positions.  This function assumes the text being broken
+     * is in the default locale's language.
+     * @return A new instance of BreakIterator that locates legal
+     * line-wrapping positions.
+     * @stable ICU 2.0
+     */
+    public static BreakIterator getLineInstance()
+    {
+        return getLineInstance(ULocale.getDefault());
+    }
+
+    /**
+     * Returns a new instance of BreakIterator that locates legal line-
+     * wrapping positions.
+     * @param where A Locale specifying the language of the text being broken.
+     * @return A new instance of BreakIterator that locates legal
+     * line-wrapping positions.
+     * @stable ICU 2.0
+     */
+    public static BreakIterator getLineInstance(Locale where)
+    {
+        return getBreakInstance(ULocale.forLocale(where), KIND_LINE);
+    }
+
+    /**
+     * Returns a new instance of BreakIterator that locates legal line-
+     * wrapping positions.
+     * @param where A Locale specifying the language of the text being broken.
+     * @return A new instance of BreakIterator that locates legal
+     * line-wrapping positions.
+     * @draft ICU 3.2
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static BreakIterator getLineInstance(ULocale where)
+    {
+        return getBreakInstance(where, KIND_LINE);
+    }
+
+    /**
+     * Returns a new instance of BreakIterator that locates logical-character
+     * boundaries.  This function assumes that the text being analyzed is
+     * in the default locale's language.
+     * @return A new instance of BreakIterator that locates logical-character
+     * boundaries.
+     * @stable ICU 2.0
+     */
+    public static BreakIterator getCharacterInstance()
+    {
+        return getCharacterInstance(ULocale.getDefault());
+    }
+
+    /**
+     * Returns a new instance of BreakIterator that locates logical-character
+     * boundaries.
+     * @param where A Locale specifying the language of the text being analyzed.
+     * @return A new instance of BreakIterator that locates logical-character
+     * boundaries.
+     * @stable ICU 2.0
+     */
+    public static BreakIterator getCharacterInstance(Locale where)
+    {
+        return getBreakInstance(ULocale.forLocale(where), KIND_CHARACTER);
+    }
+
+    /**
+     * Returns a new instance of BreakIterator that locates logical-character
+     * boundaries.
+     * @param where A Locale specifying the language of the text being analyzed.
+     * @return A new instance of BreakIterator that locates logical-character
+     * boundaries.
+     * @draft ICU 3.2
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static BreakIterator getCharacterInstance(ULocale where)
+    {
+        return getBreakInstance(where, KIND_CHARACTER);
+    }
+
+    /**
+     * Returns a new instance of BreakIterator that locates sentence boundaries.
+     * This function assumes the text being analyzed is in the default locale's
+     * language.
+     * @return A new instance of BreakIterator that locates sentence boundaries.
+     * @stable ICU 2.0
+     */
+    public static BreakIterator getSentenceInstance()
+    {
+        return getSentenceInstance(ULocale.getDefault());
+    }
+
+    /**
+     * Returns a new instance of BreakIterator that locates sentence boundaries.
+     * @param where A Locale specifying the language of the text being analyzed.
+     * @return A new instance of BreakIterator that locates sentence boundaries.
+     * @stable ICU 2.0
+     */
+    public static BreakIterator getSentenceInstance(Locale where)
+    {
+        return getBreakInstance(ULocale.forLocale(where), KIND_SENTENCE);
+    }
+
+    /**
+     * Returns a new instance of BreakIterator that locates sentence boundaries.
+     * @param where A Locale specifying the language of the text being analyzed.
+     * @return A new instance of BreakIterator that locates sentence boundaries.
+     * @draft ICU 3.2
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static BreakIterator getSentenceInstance(ULocale where)
+    {
+        return getBreakInstance(where, KIND_SENTENCE);
+    }
+
+    /**
+     * Returns a new instance of BreakIterator that locates title boundaries.
+     * This function assumes the text being analyzed is in the default locale's
+     * language. The iterator returned locates title boundaries as described for 
+     * Unicode 3.2 only. For Unicode 4.0 and above title boundary iteration,
+     * please use a word boundary iterator. {@link #getWordInstance}
+     * @return A new instance of BreakIterator that locates title boundaries.
+     * @stable ICU 2.0
+     */
+    public static BreakIterator getTitleInstance()
+    {
+        return getTitleInstance(ULocale.getDefault());
+    }
+
+    /**
+     * Returns a new instance of BreakIterator that locates title boundaries.
+     * The iterator returned locates title boundaries as described for 
+     * Unicode 3.2 only. For Unicode 4.0 and above title boundary iteration,
+     * please use Word Boundary iterator.{@link #getWordInstance}
+     * @param where A Locale specifying the language of the text being analyzed.
+     * @return A new instance of BreakIterator that locates title boundaries.
+     * @stable ICU 2.0
+     */
+    public static BreakIterator getTitleInstance(Locale where)
+    {
+        return getBreakInstance(ULocale.forLocale(where), KIND_TITLE);
+    }
+
+    /**
+     * Returns a new instance of BreakIterator that locates title boundaries.
+     * The iterator returned locates title boundaries as described for 
+     * Unicode 3.2 only. For Unicode 4.0 and above title boundary iteration,
+     * please use Word Boundary iterator.{@link #getWordInstance}
+     * @param where A Locale specifying the language of the text being analyzed.
+     * @return A new instance of BreakIterator that locates title boundaries.
+     * @draft ICU 3.2
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static BreakIterator getTitleInstance(ULocale where)
+    {
+        return getBreakInstance(where, KIND_TITLE);
+    }
+
+    /**
+     * Register a new break iterator of the indicated kind, to use in the given locale.
+     * Clones of the iterator will be returned
+     * if a request for a break iterator of the given kind matches or falls back to
+     * this locale.
+     * @param iter the BreakIterator instance to adopt.
+     * @param locale the Locale for which this instance is to be registered
+     * @param kind the type of iterator for which this instance is to be registered
+     * @return a registry key that can be used to unregister this instance
+     * @stable ICU 2.4
+     */
+    public static Object registerInstance(BreakIterator iter, Locale locale, int kind) {
+        return registerInstance(iter, ULocale.forLocale(locale), kind);
+    }
+
+    /**
+     * Register a new break iterator of the indicated kind, to use in the given locale.
+     * Clones of the iterator will be returned
+     * if a request for a break iterator of the given kind matches or falls back to
+     * this locale.
+     * @param iter the BreakIterator instance to adopt.
+     * @param locale the Locale for which this instance is to be registered
+     * @param kind the type of iterator for which this instance is to be registered
+     * @return a registry key that can be used to unregister this instance
+     * @draft ICU 3.2
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static Object registerInstance(BreakIterator iter, ULocale locale, int kind) {
+        // If the registered object matches the one in the cache, then
+        // flush the cached object.
+        if (iterCache[kind] != null) {
+            BreakIteratorCache cache = (BreakIteratorCache) iterCache[kind].get();
+            if (cache != null) {
+                if (cache.getLocale().equals(locale)) {
+                    iterCache[kind] = null;
+                }
+            }
+        }
+        return getShim().registerInstance(iter, locale, kind);
+    }
+
+    /**
+     * Unregister a previously-registered BreakIterator using the key returned from the
+     * register call.  Key becomes invalid after this call and should not be used again.
+     * @param key the registry key returned by a previous call to registerInstance
+     * @return true if the iterator for the key was successfully unregistered
+     * @stable ICU 2.4
+     */
+    public static boolean unregister(Object key) {
+        if (key == null) {
+            throw new IllegalArgumentException("registry key must not be null");
+        }
+        // TODO: we don't do code coverage for the following lines
+        // because in getBreakInstance we always instantiate the shim,
+        // and test execution is such that we always instantiate a
+        // breakiterator before we get to the break iterator tests.
+        // this is for modularization, and we could remove the
+        // dependencies in getBreakInstance by rewriting part of the
+        // LocaleData code, or perhaps by accepting it into the
+        // module.
+        ///CLOVER:OFF
+        if (shim != null) {
+            // Unfortunately, we don't know what is being unregistered
+            // -- what `kind' and what locale -- so we flush all
+            // caches.  This is safe but inefficient if people are
+            // actively registering and unregistering.
+            for (int kind=0; kind<KIND_COUNT; ++kind) {
+                iterCache[kind] = null;
+            }
+            return shim.unregister(key);
+        }
+        return false;
+        ///CLOVER:ON
+    }
+
+    // end of registration
+
+    private static BreakIterator getBreakInstance(ULocale where, int kind) {
+
+        if (iterCache[kind] != null) {
+            BreakIteratorCache cache = (BreakIteratorCache) iterCache[kind].get();
+            if (cache != null) {
+                if (cache.getLocale().equals(where)) {
+                    return cache.createBreakInstance();
+                }
+            }
+        }
+
+        // sigh, all to avoid linking in ICULocaleData...
+        BreakIterator result = getShim().createBreakIterator(where, kind);
+
+        BreakIteratorCache cache = new BreakIteratorCache(where, result);
+        iterCache[kind] = new SoftReference(cache);
+        return result;
+    }
+
+
+    /**
+     * Returns a list of locales for which BreakIterators can be used.
+     * @return An array of Locales.  All of the locales in the array can
+     * be used when creating a BreakIterator.
+     * @stable ICU 2.6
+     */
+    public static synchronized Locale[] getAvailableLocales()
+    {
+        // to avoid linking ICULocaleData
+        return getShim().getAvailableLocales();
+    }
+
+    /**
+     * Returns a list of locales for which BreakIterators can be used.
+     * @return An array of Locales.  All of the locales in the array can
+     * be used when creating a BreakIterator.
+     * @draft ICU 3.2
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static synchronized ULocale[] getAvailableULocales()
+    {
+        // to avoid linking ICULocaleData
+        return getShim().getAvailableULocales();
+    }
+
+    private static final class BreakIteratorCache {
+
+        private BreakIterator iter;
+        private ULocale where;
+
+        BreakIteratorCache(ULocale where, BreakIterator iter) {
+            this.where = where;
+            this.iter = (BreakIterator) iter.clone();
+        }
+
+        ULocale getLocale() {
+            return where;
+        }
+
+        BreakIterator createBreakInstance() {
+            return (BreakIterator) iter.clone();
+        }
+    }
+
+    static abstract class BreakIteratorServiceShim {
+        public abstract Object registerInstance(BreakIterator iter, ULocale l, int k);
+        public abstract boolean unregister(Object key);
+        public abstract Locale[] getAvailableLocales();
+        public abstract ULocale[] getAvailableULocales();
+        public abstract BreakIterator createBreakIterator(ULocale l, int k);
+    }
+
+    private static BreakIteratorServiceShim shim;
+    private static BreakIteratorServiceShim getShim() {
+        // Note: this instantiation is safe on loose-memory-model configurations
+        // despite lack of synchronization, since the shim instance has no state--
+        // it's all in the class init.  The worst problem is we might instantiate
+        // two shim instances, but they'll share the same state so that's ok.
+        if (shim == null) {
+            try {
+                Class cls = Class.forName("com.ibm.icu.text.BreakIteratorFactory");
+                shim = (BreakIteratorServiceShim)cls.newInstance();
+            }
+            catch (MissingResourceException e)
+            {
+                throw e;
+            }
+            catch (Exception e) {
+                ///CLOVER:OFF
+                if(DEBUG){
+                    e.printStackTrace();
+                }
+                throw new RuntimeException(e.getMessage());
+                ///CLOVER:ON
+            }
+        }
+        return shim;
+    }
+
+    // -------- BEGIN ULocale boilerplate --------
+
+    /**
+     * Return the locale that was used to create this object, or null.
+     * This may may differ from the locale requested at the time of
+     * this object's creation.  For example, if an object is created
+     * for locale <tt>en_US_CALIFORNIA</tt>, the actual data may be
+     * drawn from <tt>en</tt> (the <i>actual</i> locale), and
+     * <tt>en_US</tt> may be the most specific locale that exists (the
+     * <i>valid</i> locale).
+     *
+     * <p>Note: This method will be implemented in ICU 3.0; ICU 2.8
+     * contains a partial preview implementation.  The * <i>actual</i>
+     * locale is returned correctly, but the <i>valid</i> locale is
+     * not, in most cases.
+     * @param type type of information requested, either {@link
+     * com.ibm.icu.util.ULocale#VALID_LOCALE} or {@link
+     * com.ibm.icu.util.ULocale#ACTUAL_LOCALE}.
+     * @return the information specified by <i>type</i>, or null if
+     * this object was not constructed from locale data.
+     * @see com.ibm.icu.util.ULocale
+     * @see com.ibm.icu.util.ULocale#VALID_LOCALE
+     * @see com.ibm.icu.util.ULocale#ACTUAL_LOCALE
+     * @draft ICU 2.8 (retain)
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public final ULocale getLocale(ULocale.Type type) {
+        return type == ULocale.ACTUAL_LOCALE ?
+            this.actualLocale : this.validLocale;
+    }
+
+    /**
+     * Set information about the locales that were used to create this
+     * object.  If the object was not constructed from locale data,
+     * both arguments should be set to null.  Otherwise, neither
+     * should be null.  The actual locale must be at the same level or
+     * less specific than the valid locale.  This method is intended
+     * for use by factories or other entities that create objects of
+     * this class.
+     * @param valid the most specific locale containing any resource
+     * data, or null
+     * @param actual the locale containing data used to construct this
+     * object, or null
+     * @see com.ibm.icu.util.ULocale
+     * @see com.ibm.icu.util.ULocale#VALID_LOCALE
+     * @see com.ibm.icu.util.ULocale#ACTUAL_LOCALE
+     * @internal
+     */
+    final void setLocale(ULocale valid, ULocale actual) {
+        // Change the following to an assertion later
+        if ((valid == null) != (actual == null)) {
+            ///CLOVER:OFF
+            throw new IllegalArgumentException();
+            ///CLOVER:ON
+        }
+        // Another check we could do is that the actual locale is at
+        // the same level or less specific than the valid locale.
+        this.validLocale = valid;
+        this.actualLocale = actual;
+    }
+
+    /**
+     * The most specific locale containing any resource data, or null.
+     * @see com.ibm.icu.util.ULocale
+     * @internal
+     */
+    private ULocale validLocale;
+
+    /**
+     * The locale containing data used to construct this object, or
+     * null.
+     * @see com.ibm.icu.util.ULocale
+     * @internal
+     */
+    private ULocale actualLocale;
+
+    // -------- END ULocale boilerplate --------
+}
diff --git a/src/com/ibm/icu/text/BreakIteratorFactory.java b/src/com/ibm/icu/text/BreakIteratorFactory.java
new file mode 100644
index 0000000..af07ae3
--- /dev/null
+++ b/src/com/ibm/icu/text/BreakIteratorFactory.java
@@ -0,0 +1,186 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2002-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.text;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.Locale;
+import java.util.MissingResourceException;
+import java.util.ResourceBundle;
+
+import com.ibm.icu.impl.ICUData;
+import com.ibm.icu.impl.ICULocaleData;
+import com.ibm.icu.impl.ICULocaleService;
+import com.ibm.icu.impl.ICUResourceBundle;
+import com.ibm.icu.impl.ICUService;
+import com.ibm.icu.impl.ICUService.Factory;
+import com.ibm.icu.util.ULocale;
+
+/**
+ * @author Ram
+ *
+ * To change this generated comment edit the template variable "typecomment":
+ * Window>Preferences>Java>Templates.
+ * To enable and disable the creation of type comments go to
+ * Window>Preferences>Java>Code Generation.
+ */
+final class BreakIteratorFactory extends BreakIterator.BreakIteratorServiceShim {
+
+    public Object registerInstance(BreakIterator iter, ULocale locale, int kind) {
+        iter.setText(new java.text.StringCharacterIterator(""));
+        return service.registerObject(iter, locale, kind);
+    }
+
+    public boolean unregister(Object key) {
+        if (service.isDefault()) {
+            return false;
+        }
+        return service.unregisterFactory((Factory)key);
+    }
+
+    public Locale[] getAvailableLocales() {
+        if (service == null) {
+            return ICUResourceBundle.getAvailableLocales(ICUResourceBundle.ICU_BASE_NAME);
+        } else {
+            return service.getAvailableLocales();
+        }
+    }
+
+    public ULocale[] getAvailableULocales() {
+        if (service == null) {
+            return ICUResourceBundle.getAvailableULocales(ICUResourceBundle.ICU_BASE_NAME);
+        } else {
+            return service.getAvailableULocales();
+        }
+    }
+
+    public BreakIterator createBreakIterator(ULocale locale, int kind) {
+    // TODO: convert to ULocale when service switches over
+        if (service.isDefault()) {
+            return createBreakInstance(locale, kind);
+        }
+        ULocale[] actualLoc = new ULocale[1];
+        BreakIterator iter = (BreakIterator)service.get(locale, kind, actualLoc);
+        iter.setLocale(actualLoc[0], actualLoc[0]); // services make no distinction between actual & valid
+        return iter;
+    }
+
+    private static class BFService extends ICULocaleService {
+        BFService() {
+            super("BreakIterator");
+
+            class RBBreakIteratorFactory extends ICUResourceBundleFactory {
+                protected Object handleCreate(ULocale loc, int kind, ICUService service) {
+                    return createBreakInstance(loc, kind);
+                }
+            }
+            registerFactory(new RBBreakIteratorFactory());
+
+            markDefault();
+        }
+    }
+    static final ICULocaleService service = new BFService();
+
+    // KIND_NAMES are used in synthesizing the resource name that holds the source
+    //            break rules.   For old-style (ICU 2.8 and previous) break iterators.
+    //            The resources are com.ibm.icu.impl.data.BreakIteratorRules, and have
+    //            names like "CharacterBreakRules", where the "Character" part of the
+    //            name comes from here (this array).
+    private static final String[] KIND_NAMES = {
+        "Character", "Word", "Line", "Sentence", "Title"
+    };
+
+    /** KIND_NAMES_2 are used in synthesizing the names for
+     *  the precompiled break rules used with the new (ICU 3.0) RBBI.
+     *  The fully assembled names look like icudt30b_char.brk, which is the
+     *  file name of the brk file as produced by the ICU4C build.
+     *  @internal
+     */
+    private static final String[] KIND_NAMES_2 = {
+            "char", "word", "line", "sent", "title"
+        };
+
+
+    private static BreakIterator createBreakInstance(ULocale locale, int kind) {
+        String prefix = KIND_NAMES[kind];
+        return createBreakInstance(locale, kind,
+                                   prefix + "BreakRules",
+                                   prefix + "BreakDictionary");
+    }
+
+    private static BreakIterator createBreakInstance(ULocale where,
+                             int kind,
+                             String rulesName,
+                             String dictionaryName) {
+
+        BreakIterator iter = null;
+        ResourceBundle bundle = ICULocaleData.getResourceBundle("BreakIteratorRules", where);
+        if (bundle == null) {
+            throw new MissingResourceException("No ICU Data", "BreakIteratorRules", where.toString());
+        }
+        String[] classNames = bundle.getStringArray("BreakIteratorClasses");
+        String rules = bundle.getString(rulesName);
+        if (classNames[kind].equals("RuleBasedBreakIterator")) {
+            // Old style (2.8 and previous) Break Iterator.
+            // Not used by default, but if someone wants to specify the old class
+            //   in some locale's resources, it should still work.
+            iter = new RuleBasedBreakIterator_Old(rules);
+        }
+        else if (classNames[kind].equals("RuleBasedBreakIterator_New")) {
+            // Class for new RBBI engine.
+            // Open a stream to the .brk file.  Path to the brk files has this form:
+            //      data/icudt30b/line.brk      (30 is version number)
+            try {
+                String rulesFileName = ICUResourceBundle.ICU_BUNDLE +"/"+ KIND_NAMES_2[kind] + ".brk";
+                InputStream is = ICUData.getStream(rulesFileName);
+                iter = RuleBasedBreakIterator_New.getInstanceFromCompiledRules(is);
+            }
+            catch (IOException e) {
+                throw new MissingResourceException(e.toString(),"","");
+            }
+        }
+        else if (classNames[kind].equals("DictionaryBasedBreakIterator")) {
+            try {
+                InputStream dictionary = ICUData.getStream(bundle.getString(dictionaryName));
+//                System.out.println("bundle: " + bundle + " dn: " + dictionaryName);
+//                Object t = bundle.getObject(dictionaryName);
+//                // System.out.println(t);
+//                URL url = (URL)t;
+//                System.out.println("url: " + url);
+//                InputStream dictionary = url.openStream();
+//                System.out.println("stream: " + dictionary);
+                iter = new DictionaryBasedBreakIterator(rules, dictionary);
+            }
+            catch(IOException e) {
+                assert false : e;
+            }
+            catch(MissingResourceException e) {
+                assert false : e;
+            }
+        // TODO: we don't have 'bad' resource data, so this should never happen
+        // in our current tests.
+        ///CLOVER:OFF
+            if (iter == null) {
+                iter = new RuleBasedBreakIterator_Old(rules);
+            }
+        ///CLOVER:ON
+        }
+        else {
+        // TODO: we don't have 'bad' resource data, so this should never happen
+        // in our current tests.
+        ///CLOVER:OFF
+            throw new IllegalArgumentException("Invalid break iterator class \"" +
+                            classNames[kind] + "\"");
+        ///CLOVER:ON
+        }
+
+        // TODO: Determine valid and actual locale correctly.
+        ULocale uloc = ULocale.forLocale(bundle.getLocale());
+        iter.setLocale(uloc, uloc);
+        return iter;
+    }
+}
diff --git a/src/com/ibm/icu/text/BreakTransliterator.java b/src/com/ibm/icu/text/BreakTransliterator.java
new file mode 100644
index 0000000..c0a9535
--- /dev/null
+++ b/src/com/ibm/icu/text/BreakTransliterator.java
@@ -0,0 +1,383 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.text;
+
+import com.ibm.icu.lang.UCharacter;
+import com.ibm.icu.util.ULocale;
+
+import java.text.CharacterIterator;
+
+
+/**
+ * Inserts the specified characters at word breaks. To restrict it to particular characters, use a filter.
+ * TODO: this is an internal class, and only temporary. Remove it once we have \b notation in Transliterator.
+ */
+final class BreakTransliterator extends Transliterator {
+    private BreakIterator bi;
+    private String insertion;
+    private int[] boundaries = new int[50];
+    private int boundaryCount = 0;
+
+    public BreakTransliterator(String ID, UnicodeFilter filter, BreakIterator bi, String insertion) {
+        super(ID, filter);
+        this.bi = bi;
+        this.insertion = insertion;
+    }
+
+    public BreakTransliterator(String ID, UnicodeFilter filter) {
+        this(ID, filter, null, " ");
+    }
+
+    public String getInsertion() {
+        return insertion;
+    }
+
+    public void setInsertion(String insertion) {
+        this.insertion = insertion;
+    }
+
+    public BreakIterator getBreakIterator() {
+        // Defer initialization of BreakIterator because it is slow,
+        // typically over 2000 ms.
+        if (bi == null) bi = BreakIterator.getWordInstance(new ULocale("th_TH"));
+        return bi;
+    }
+
+    public void setBreakIterator(BreakIterator bi) {
+        this.bi = bi;
+    }
+
+    static final int LETTER_OR_MARK_MASK =
+          (1<<Character.UPPERCASE_LETTER)
+        | (1<<Character.LOWERCASE_LETTER)
+        | (1<<Character.TITLECASE_LETTER)
+        | (1<<Character.MODIFIER_LETTER)
+        | (1<<Character.OTHER_LETTER)
+        | (1<<Character.COMBINING_SPACING_MARK)
+        | (1<<Character.NON_SPACING_MARK)
+        | (1<<Character.ENCLOSING_MARK)
+        ;
+    protected void handleTransliterate(Replaceable text, Position pos, boolean incremental) {
+        boundaryCount = 0;
+        int boundary = 0;
+        getBreakIterator(); // Lazy-create it if necessary
+        bi.setText(new ReplaceableCharacterIterator(text, pos.start, pos.limit, pos.start));
+        // TODO: fix clumsy workaround used below.
+        /*
+        char[] tempBuffer = new char[text.length()];
+        text.getChars(0, text.length(), tempBuffer, 0);
+        bi.setText(new StringCharacterIterator(new String(tempBuffer), pos.start, pos.limit, pos.start));
+        */
+        // end debugging
+
+        // To make things much easier, we will stack the boundaries, and then insert at the end.
+        // generally, we won't need too many, since we will be filtered.
+
+        for(boundary = bi.first(); boundary != BreakIterator.DONE && boundary < pos.limit; boundary = bi.next()) {
+            if (boundary == 0) continue;
+            // HACK: Check to see that preceeding item was a letter
+
+            int cp = UTF16.charAt(text, boundary-1);
+            int type = UCharacter.getType(cp);
+            //System.out.println(Integer.toString(cp,16) + " (before): " + type);
+            if (((1<<type) & LETTER_OR_MARK_MASK) == 0) continue;
+
+            cp = UTF16.charAt(text, boundary);
+            type = UCharacter.getType(cp);
+            //System.out.println(Integer.toString(cp,16) + " (after): " + type);
+            if (((1<<type) & LETTER_OR_MARK_MASK) == 0) continue;
+
+            if (boundaryCount >= boundaries.length) {       // realloc if necessary
+                int[] temp = new int[boundaries.length * 2];
+                System.arraycopy(boundaries, 0, temp, 0, boundaries.length);
+                boundaries = temp;
+            }
+
+            boundaries[boundaryCount++] = boundary;
+            //System.out.println(boundary);
+        }
+
+        int delta = 0;
+        int lastBoundary = 0;
+
+        if (boundaryCount != 0) { // if we found something, adjust
+            delta = boundaryCount * insertion.length();
+            lastBoundary = boundaries[boundaryCount-1];
+
+            // we do this from the end backwards, so that we don't have to keep updating.
+
+            while (boundaryCount > 0) {
+                boundary = boundaries[--boundaryCount];
+                text.replace(boundary, boundary, insertion);
+            }
+        }
+
+        // Now fix up the return values
+        pos.contextLimit += delta;
+        pos.limit += delta;
+        pos.start = incremental ? lastBoundary + delta : pos.limit;
+    }
+
+
+    /**
+     * Registers standard variants with the system.  Called by
+     * Transliterator during initialization.
+     */
+    static void register() {
+        // false means that it is invisible
+        Transliterator trans = new BreakTransliterator("Any-BreakInternal", null);
+        Transliterator.registerInstance(trans, false);
+        /*
+        Transliterator.registerFactory("Any-Break", new Transliterator.Factory() {
+            public Transliterator getInstance(String ID) {
+                return new BreakTransliterator("Any-Break", null);
+            }
+        });
+        */
+    }
+
+    // Hack, just to get a real character iterator.
+
+    static final class ReplaceableCharacterIterator implements CharacterIterator
+    {
+        private Replaceable text;
+        private int begin;
+        private int end;
+        // invariant: begin <= pos <= end
+        private int pos;
+
+        /**
+        * Constructs an iterator with an initial index of 0.
+        */
+        public ReplaceableCharacterIterator(Replaceable text)
+        {
+            this(text, 0);
+        }
+
+        /**
+        * Constructs an iterator with the specified initial index.
+        *
+        * @param  text   The String to be iterated over
+        * @param  pos    Initial iterator position
+        */
+        public ReplaceableCharacterIterator(Replaceable text, int pos)
+        {
+        this(text, 0, text.length(), pos);
+        }
+
+        /**
+        * Constructs an iterator over the given range of the given string, with the
+        * index set at the specified position.
+        *
+        * @param  text   The String to be iterated over
+        * @param  begin  Index of the first character
+        * @param  end    Index of the character following the last character
+        * @param  pos    Initial iterator position
+        */
+        public ReplaceableCharacterIterator(Replaceable text, int begin, int end, int pos) {
+            if (text == null) {
+                throw new NullPointerException();
+            }
+            this.text = text;
+
+            if (begin < 0 || begin > end || end > text.length()) {
+                throw new IllegalArgumentException("Invalid substring range");
+            }
+
+            if (pos < begin || pos > end) {
+                throw new IllegalArgumentException("Invalid position");
+            }
+
+            this.begin = begin;
+            this.end = end;
+            this.pos = pos;
+        }
+
+        /**
+        * Reset this iterator to point to a new string.  This package-visible
+        * method is used by other java.text classes that want to avoid allocating
+        * new ReplaceableCharacterIterator objects every time their setText method
+        * is called.
+        *
+        * @param  text   The String to be iterated over
+        */
+        public void setText(Replaceable text) {
+            if (text == null) {
+                throw new NullPointerException();
+            }
+            this.text = text;
+            this.begin = 0;
+            this.end = text.length();
+            this.pos = 0;
+        }
+
+        /**
+        * Implements CharacterIterator.first() for String.
+        * @see CharacterIterator#first
+        */
+        public char first()
+        {
+            pos = begin;
+            return current();
+        }
+
+        /**
+        * Implements CharacterIterator.last() for String.
+        * @see CharacterIterator#last
+        */
+        public char last()
+        {
+            if (end != begin) {
+                pos = end - 1;
+            } else {
+                pos = end;
+            }
+            return current();
+        }
+
+        /**
+        * Implements CharacterIterator.setIndex() for String.
+        * @see CharacterIterator#setIndex
+        */
+        public char setIndex(int p)
+        {
+        if (p < begin || p > end) {
+                throw new IllegalArgumentException("Invalid index");
+        }
+            pos = p;
+            return current();
+        }
+
+        /**
+        * Implements CharacterIterator.current() for String.
+        * @see CharacterIterator#current
+        */
+        public char current()
+        {
+            if (pos >= begin && pos < end) {
+                return text.charAt(pos);
+            }
+            else {
+                return DONE;
+            }
+        }
+
+        /**
+        * Implements CharacterIterator.next() for String.
+        * @see CharacterIterator#next
+        */
+        public char next()
+        {
+            if (pos < end - 1) {
+                pos++;
+                return text.charAt(pos);
+            }
+            else {
+                pos = end;
+                return DONE;
+            }
+        }
+
+        /**
+        * Implements CharacterIterator.previous() for String.
+        * @see CharacterIterator#previous
+        */
+        public char previous()
+        {
+            if (pos > begin) {
+                pos--;
+                return text.charAt(pos);
+            }
+            else {
+                return DONE;
+            }
+        }
+
+        /**
+        * Implements CharacterIterator.getBeginIndex() for String.
+        * @see CharacterIterator#getBeginIndex
+        */
+        public int getBeginIndex()
+        {
+            return begin;
+        }
+
+        /**
+        * Implements CharacterIterator.getEndIndex() for String.
+        * @see CharacterIterator#getEndIndex
+        */
+        public int getEndIndex()
+        {
+            return end;
+        }
+
+        /**
+        * Implements CharacterIterator.getIndex() for String.
+        * @see CharacterIterator#getIndex
+        */
+        public int getIndex()
+        {
+            return pos;
+        }
+
+        /**
+        * Compares the equality of two ReplaceableCharacterIterator objects.
+        * @param obj the ReplaceableCharacterIterator object to be compared with.
+        * @return true if the given obj is the same as this
+        * ReplaceableCharacterIterator object; false otherwise.
+        */
+        public boolean equals(Object obj)
+        {
+            if (this == obj) {
+                return true;
+            }
+            if (!(obj instanceof ReplaceableCharacterIterator)) {
+                return false;
+            }
+
+            ReplaceableCharacterIterator that = (ReplaceableCharacterIterator) obj;
+
+            if (hashCode() != that.hashCode()) {
+                return false;
+            }
+            if (!text.equals(that.text)) {
+                return false;
+            }
+            if (pos != that.pos || begin != that.begin || end != that.end) {
+                return false;
+            }
+            return true;
+        }
+
+        /**
+        * Computes a hashcode for this iterator.
+        * @return A hash code
+        */
+        public int hashCode()
+        {
+            return text.hashCode() ^ pos ^ begin ^ end;
+        }
+
+        /**
+        * Creates a copy of this iterator.
+        * @return A copy of this
+        */
+        public Object clone()
+        {
+            try {
+                ReplaceableCharacterIterator other
+                = (ReplaceableCharacterIterator) super.clone();
+                return other;
+            }
+            catch (CloneNotSupportedException e) {
+                throw new InternalError();
+            }
+        }
+
+    }
+
+}
diff --git a/src/com/ibm/icu/text/CanonicalIterator.java b/src/com/ibm/icu/text/CanonicalIterator.java
new file mode 100755
index 0000000..6b9dc2b
--- /dev/null
+++ b/src/com/ibm/icu/text/CanonicalIterator.java
@@ -0,0 +1,530 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.text;
+
+import com.ibm.icu.lang.*;
+import java.util.*;
+import com.ibm.icu.impl.NormalizerImpl;
+import com.ibm.icu.impl.USerializedSet;
+import com.ibm.icu.impl.Utility;
+
+/**
+ * This class allows one to iterate through all the strings that are canonically equivalent to a given
+ * string. For example, here are some sample results:
+ * Results for: {A WITH RING ABOVE}{d}{DOT ABOVE}{CEDILLA}
+ * <pre>
+ 1: {A}{RING ABOVE}{d}{DOT ABOVE}{CEDILLA}
+ 2: {A}{RING ABOVE}{d}{CEDILLA}{DOT ABOVE}
+ 3: {A}{RING ABOVE}{d WITH DOT ABOVE}{CEDILLA}
+ 4: {A}{RING ABOVE}{d WITH CEDILLA}{DOT ABOVE}
+ 5: {A WITH RING ABOVE}{d}{DOT ABOVE}{CEDILLA}
+ 6: {A WITH RING ABOVE}{d}{CEDILLA}{DOT ABOVE}
+ 7: {A WITH RING ABOVE}{d WITH DOT ABOVE}{CEDILLA}
+ 8: {A WITH RING ABOVE}{d WITH CEDILLA}{DOT ABOVE}
+ 9: {ANGSTROM SIGN}{d}{DOT ABOVE}{CEDILLA}
+10: {ANGSTROM SIGN}{d}{CEDILLA}{DOT ABOVE}
+11: {ANGSTROM SIGN}{d WITH DOT ABOVE}{CEDILLA}
+12: {ANGSTROM SIGN}{d WITH CEDILLA}{DOT ABOVE}
+ *</pre>
+ *<br>Note: the code is intended for use with small strings, and is not suitable for larger ones,
+ * since it has not been optimized for that situation.
+ * @author M. Davis
+ * @stable ICU 2.4
+ */
+
+public final class CanonicalIterator {
+    /**
+     * Construct a CanonicalIterator object
+     * @param source string to get results for
+     * @stable ICU 2.4
+     */
+    public CanonicalIterator(String source) {
+        setSource(source);
+    }
+
+    /**
+     * Gets the NFD form of the current source we are iterating over.
+     * @return gets the source: NOTE: it is the NFD form of the source originally passed in
+     * @stable ICU 2.4
+     */
+    public String getSource() {
+      return source;
+    }
+
+    /**
+     * Resets the iterator so that one can start again from the beginning.
+     * @stable ICU 2.4
+     */
+    public void reset() {
+        done = false;
+        for (int i = 0; i < current.length; ++i) {
+            current[i] = 0;
+        }
+    }
+
+    /**
+     * Get the next canonically equivalent string.
+     * <br><b>Warning: The strings are not guaranteed to be in any particular order.</b>
+     * @return the next string that is canonically equivalent. The value null is returned when
+     * the iteration is done.
+     * @stable ICU 2.4
+     */
+    public String next() {
+        if (done) return null;
+
+        // construct return value
+
+        buffer.setLength(0); // delete old contents
+        for (int i = 0; i < pieces.length; ++i) {
+            buffer.append(pieces[i][current[i]]);
+        }
+        String result = buffer.toString();
+
+        // find next value for next time
+
+        for (int i = current.length - 1; ; --i) {
+            if (i < 0) {
+                done = true;
+                break;
+            }
+            current[i]++;
+            if (current[i] < pieces[i].length) break; // got sequence
+            current[i] = 0;
+        }
+        return result;
+    }
+
+    /**
+     * Set a new source for this iterator. Allows object reuse.
+     * @param newSource the source string to iterate against. This allows the same iterator to be used
+     * while changing the source string, saving object creation.
+     * @stable ICU 2.4
+     */
+    public void setSource(String newSource) {
+        source = Normalizer.normalize(newSource, Normalizer.NFD);
+        done = false;
+
+        // catch degenerate case
+        if (newSource.length() == 0) {
+            pieces = new String[1][];
+            current = new int[1];
+            pieces[0] = new String[]{""};
+            return;
+        }
+
+        // find the segments
+        List segmentList = new ArrayList();
+        int cp;
+        int start = 0;
+
+        // i should be the end of the first code point
+        // break up the string into segements
+
+        int i = UTF16.findOffsetFromCodePoint(source, 1);
+
+        for (; i < source.length(); i += UTF16.getCharCount(cp)) {
+            cp = UTF16.charAt(source, i);
+            if (NormalizerImpl.isCanonSafeStart(cp)) {
+                segmentList.add(source.substring(start, i)); // add up to i
+                start = i;
+            }
+        }
+        segmentList.add(source.substring(start, i)); // add last one
+
+        // allocate the arrays, and find the strings that are CE to each segment
+        pieces = new String[segmentList.size()][];
+        current = new int[segmentList.size()];
+        for (i = 0; i < pieces.length; ++i) {
+            if (PROGRESS) System.out.println("SEGMENT");
+            pieces[i] = getEquivalents((String) segmentList.get(i));
+        }
+    }
+
+    /**
+     * Simple implementation of permutation.
+     * <br><b>Warning: The strings are not guaranteed to be in any particular order.</b>
+     * @param source the string to find permutations for
+     * @param skipZeros set to true to skip characters with canonical combining class zero
+     * @param output the set to add the results to
+     * @internal
+     */
+    public static void permute(String source, boolean skipZeros, Set output) {
+        // TODO: optimize
+        //if (PROGRESS) System.out.println("Permute: " + source);
+
+        // optimization:
+        // if zero or one character, just return a set with it
+        // we check for length < 2 to keep from counting code points all the time
+        if (source.length() <= 2 && UTF16.countCodePoint(source) <= 1) {
+            output.add(source);
+            return;
+        }
+
+        // otherwise iterate through the string, and recursively permute all the other characters
+        Set subpermute = new HashSet();
+        int cp;
+        for (int i = 0; i < source.length(); i += UTF16.getCharCount(cp)) {
+            cp = UTF16.charAt(source, i);
+
+            // optimization:
+            // if the character is canonical combining class zero,
+            // don't permute it
+            if (skipZeros && i != 0 && UCharacter.getCombiningClass(cp) == 0) {
+                //System.out.println("Skipping " + Utility.hex(UTF16.valueOf(source, i)));
+                continue;
+            }
+
+            // see what the permutations of the characters before and after this one are
+            subpermute.clear();
+            permute(source.substring(0,i)
+                + source.substring(i + UTF16.getCharCount(cp)), skipZeros, subpermute);
+
+            // prefix this character to all of them
+            String chStr = UTF16.valueOf(source, i);
+            Iterator it = subpermute.iterator();
+            while (it.hasNext()) {
+                String piece = chStr + (String) it.next();
+                //if (PROGRESS) System.out.println("  Piece: " + piece);
+                output.add(piece);
+            }
+        }
+    }
+
+    // FOR TESTING
+
+    /*
+     *@return the set of "safe starts", characters that are class zero AND are never non-initial in a decomposition.
+     *@internal
+     *
+    public static UnicodeSet getSafeStart() {
+        return (UnicodeSet) SAFE_START.clone();
+    }
+    */
+    /*
+     *@return the set of characters whose decompositions start with the given character
+     *@internal
+     *
+    public static UnicodeSet getStarts(int cp) {
+        UnicodeSet result = AT_START.get(cp);
+        if (result == null) result = EMPTY;
+        return (UnicodeSet) result.clone();
+    }
+    */
+
+    // ===================== PRIVATES ==============================
+
+    // debug
+    private static boolean PROGRESS = false; // debug progress
+    //private static Transliterator NAME = PROGRESS ? Transliterator.getInstance("name") : null;
+    private static boolean SKIP_ZEROS = true;
+
+    // fields
+    private String source;
+    private boolean done;
+    private String[][] pieces;
+    private int[] current;
+    // Note: C will need two more fields, since arrays there don't have lengths
+    // int pieces_length;
+    // int[] pieces_lengths;
+
+    // transient fields
+    private transient StringBuffer buffer = new StringBuffer();
+
+
+    // we have a segment, in NFD. Find all the strings that are canonically equivalent to it.
+    private String[] getEquivalents(String segment) {
+        Set result = new HashSet();
+        Set basic = getEquivalents2(segment);
+        Set permutations = new HashSet();
+
+        // now get all the permutations
+        // add only the ones that are canonically equivalent
+        // TODO: optimize by not permuting any class zero.
+        Iterator it = basic.iterator();
+        while (it.hasNext()) {
+            String item = (String) it.next();
+            permutations.clear();
+            permute(item, SKIP_ZEROS, permutations);
+            Iterator it2 = permutations.iterator();
+            while (it2.hasNext()) {
+                String possible = (String) it2.next();
+
+/*
+                String attempt = Normalizer.normalize(possible, Normalizer.DECOMP, 0);
+                if (attempt.equals(segment)) {
+*/
+                if (Normalizer.compare(possible, segment,0)==0) {
+
+                    if (PROGRESS) System.out.println("Adding Permutation: " + Utility.hex(possible));
+                    result.add(possible);
+
+                } else {
+                    if (PROGRESS) System.out.println("-Skipping Permutation: " + Utility.hex(possible));
+                }
+            }
+        }
+
+        // convert into a String[] to clean up storage
+        String[] finalResult = new String[result.size()];
+        result.toArray(finalResult);
+        return finalResult;
+    }
+
+
+    private Set getEquivalents2(String segment) {
+
+        Set result = new HashSet();
+
+        if (PROGRESS) System.out.println("Adding: " + Utility.hex(segment));
+
+        result.add(segment);
+        StringBuffer workingBuffer = new StringBuffer();
+
+        // cycle through all the characters
+        int cp=0;
+        int[] range = new int[2];
+        for (int i = 0; i < segment.length(); i += UTF16.getCharCount(cp)) {
+
+            // see if any character is at the start of some decomposition
+            cp = UTF16.charAt(segment, i);
+            USerializedSet starts = new USerializedSet();
+
+            if (!NormalizerImpl.getCanonStartSet(cp, starts)) {
+              continue;
+            }
+            int j=0;
+            // if so, see which decompositions match
+            int rangeCount = starts.countRanges();
+            for(j = 0; j < rangeCount; ++j) {
+            	starts.getRange(j, range);
+                int end=range[1];
+                for (int cp2 = range[0]; cp2 <= end; ++cp2) {
+	                Set remainder = extract(cp2, segment, i, workingBuffer);
+	                if (remainder == null) continue;
+	
+	                // there were some matches, so add all the possibilities to the set.
+	                String prefix= segment.substring(0,i);
+	                prefix += UTF16.valueOf(cp2);
+	                //int el = -1;
+	                Iterator iter = remainder.iterator();
+	                while (iter.hasNext()) {
+	                    String item = (String) iter.next();
+	                    String toAdd = new String(prefix);
+	                    toAdd += item;
+	                    result.add(toAdd);
+	                    //if (PROGRESS) printf("Adding: %s\n", UToS(Tr(*toAdd)));
+	                }
+                }
+            }
+        }
+        return result;
+        /*
+        Set result = new HashSet();
+        if (PROGRESS) System.out.println("Adding: " + NAME.transliterate(segment));
+        result.add(segment);
+        StringBuffer workingBuffer = new StringBuffer();
+
+        // cycle through all the characters
+        int cp;
+
+        for (int i = 0; i < segment.length(); i += UTF16.getCharCount(cp)) {
+            // see if any character is at the start of some decomposition
+            cp = UTF16.charAt(segment, i);
+            NormalizerImpl.getCanonStartSet(c,fillSet)
+            UnicodeSet starts = AT_START.get(cp);
+            if (starts == null) continue;
+            UnicodeSetIterator usi = new UnicodeSetIterator(starts);
+            // if so, see which decompositions match
+            while (usi.next()) {
+                int cp2 = usi.codepoint;
+                // we know that there are no strings in it
+                // so we don't have to check CharacterIterator.IS_STRING
+                Set remainder = extract(cp2, segment, i, workingBuffer);
+                if (remainder == null) continue;
+
+                // there were some matches, so add all the possibilities to the set.
+                String prefix = segment.substring(0, i) + UTF16.valueOf(cp2);
+                Iterator it = remainder.iterator();
+                while (it.hasNext()) {
+                    String item = (String) it.next();
+                    if (PROGRESS) System.out.println("Adding: " + NAME.transliterate(prefix + item));
+                    result.add(prefix + item);
+                }
+            }
+        }
+        return result;
+        */
+    }
+
+    /**
+     * See if the decomposition of cp2 is at segment starting at segmentPos
+     * (with canonical rearrangment!)
+     * If so, take the remainder, and return the equivalents
+     */
+    private Set extract(int comp, String segment, int segmentPos, StringBuffer buffer) {
+        if (PROGRESS) System.out.println(" extract: " + Utility.hex(UTF16.valueOf(comp))
+            + ", " + Utility.hex(segment.substring(segmentPos)));
+
+        //String decomp = Normalizer.normalize(UTF16.valueOf(comp), Normalizer.DECOMP, 0);
+        String decomp = Normalizer.normalize(comp, Normalizer.NFD);
+
+        // See if it matches the start of segment (at segmentPos)
+        boolean ok = false;
+        int cp;
+        int decompPos = 0;
+        int decompCp = UTF16.charAt(decomp,0);
+        decompPos += UTF16.getCharCount(decompCp); // adjust position to skip first char
+        //int decompClass = getClass(decompCp);
+        buffer.setLength(0); // initialize working buffer, shared among callees
+
+        for (int i = segmentPos; i < segment.length(); i += UTF16.getCharCount(cp)) {
+            cp = UTF16.charAt(segment, i);
+            if (cp == decompCp) { // if equal, eat another cp from decomp
+                if (PROGRESS) System.out.println("  matches: " + Utility.hex(UTF16.valueOf(cp)));
+                if (decompPos == decomp.length()) { // done, have all decomp characters!
+                    buffer.append(segment.substring(i + UTF16.getCharCount(cp))); // add remaining segment chars
+                    ok = true;
+                    break;
+                }
+                decompCp = UTF16.charAt(decomp, decompPos);
+                decompPos += UTF16.getCharCount(decompCp);
+                //decompClass = getClass(decompCp);
+            } else {
+                if (PROGRESS) System.out.println("  buffer: " + Utility.hex(UTF16.valueOf(cp)));
+                // brute force approach
+                UTF16.append(buffer, cp);
+                /* TODO: optimize
+                // since we know that the classes are monotonically increasing, after zero
+                // e.g. 0 5 7 9 0 3
+                // we can do an optimization
+                // there are only a few cases that work: zero, less, same, greater
+                // if both classes are the same, we fail
+                // if the decomp class < the segment class, we fail
+
+                segClass = getClass(cp);
+                if (decompClass <= segClass) return null;
+                */
+            }
+        }
+        if (!ok) return null; // we failed, characters left over
+        if (PROGRESS) System.out.println("Matches");
+        if (buffer.length() == 0) return SET_WITH_NULL_STRING; // succeed, but no remainder
+        String remainder = buffer.toString();
+
+        // brute force approach
+        // to check to make sure result is canonically equivalent
+        /*
+        String trial = Normalizer.normalize(UTF16.valueOf(comp) + remainder, Normalizer.DECOMP, 0);
+        if (!segment.regionMatches(segmentPos, trial, 0, segment.length() - segmentPos)) return null;
+        */
+
+        if (0!=Normalizer.compare(UTF16.valueOf(comp) + remainder, segment.substring(segmentPos), 0)) return null;
+
+        // get the remaining combinations
+        return getEquivalents2(remainder);
+    }
+
+    /*
+    // TODO: fix once we have a codepoint interface to get the canonical combining class
+    // TODO: Need public access to canonical combining class in UCharacter!
+    private static int getClass(int cp) {
+        return Normalizer.getClass((char)cp);
+    }
+    */
+
+   // ================= BUILDER =========================
+    // TODO: Flatten this data so it doesn't have to be reconstructed each time!
+
+    private static final UnicodeSet EMPTY = new UnicodeSet(); // constant, don't change
+    private static final Set SET_WITH_NULL_STRING = new HashSet(); // constant, don't change
+    static {
+        SET_WITH_NULL_STRING.add("");
+    }
+
+  //  private static UnicodeSet SAFE_START = new UnicodeSet();
+  //  private static CharMap AT_START = new CharMap();
+
+        // TODO: WARNING, NORMALIZER doesn't have supplementaries yet !!;
+        // Change FFFF to 10FFFF in C, and in Java when normalizer is upgraded.
+  //  private static int LAST_UNICODE = 0x10FFFF;
+    /*
+    static {
+        buildData();
+    }
+    */
+    /*
+    private static void buildData() {
+
+        if (PROGRESS) System.out.println("Getting Safe Start");
+        for (int cp = 0; cp <= LAST_UNICODE; ++cp) {
+            if (PROGRESS & (cp & 0x7FF) == 0) System.out.print('.');
+            int cc = UCharacter.getCombiningClass(cp);
+            if (cc == 0) SAFE_START.add(cp);
+            // will fix to be really safe below
+        }
+        if (PROGRESS) System.out.println();
+
+        if (PROGRESS) System.out.println("Getting Containment");
+        for (int cp = 0; cp <= LAST_UNICODE; ++cp) {
+            if (PROGRESS & (cp & 0x7FF) == 0) System.out.print('.');
+
+            if (Normalizer.isNormalized(cp, Normalizer.NFD)) continue;
+
+            //String istr = UTF16.valueOf(cp);
+            String decomp = Normalizer.normalize(cp, Normalizer.NFD);
+            //if (decomp.equals(istr)) continue;
+
+            // add each character in the decomposition to canBeIn
+
+            int component;
+            for (int i = 0; i < decomp.length(); i += UTF16.getCharCount(component)) {
+                component = UTF16.charAt(decomp, i);
+                if (i == 0) {
+                    AT_START.add(component, cp);
+                } else if (UCharacter.getCombiningClass(component) == 0) {
+                    SAFE_START.remove(component);
+                }
+            }
+        }
+        if (PROGRESS) System.out.println();
+    }
+        // the following is just for a map from characters to a set of characters
+
+    private static class CharMap {
+        Map storage = new HashMap();
+        MutableInt probe = new MutableInt();
+        boolean converted = false;
+
+        public void add(int cp, int whatItIsIn) {
+            UnicodeSet result = (UnicodeSet) storage.get(probe.set(cp));
+            if (result == null) {
+                result = new UnicodeSet();
+                storage.put(probe, result);
+            }
+            result.add(whatItIsIn);
+        }
+
+        public UnicodeSet get(int cp) {
+            return (UnicodeSet) storage.get(probe.set(cp));
+        }
+    }
+
+    private static class MutableInt {
+        public int contents;
+        public int hashCode() { return contents; }
+        public boolean equals(Object other) {
+            return ((MutableInt)other).contents == contents;
+        }
+        // allows chaining
+        public MutableInt set(int contents) {
+            this.contents = contents;
+            return this;
+        }
+    }
+    */
+
+}
diff --git a/src/com/ibm/icu/text/CharsetDetector.java b/src/com/ibm/icu/text/CharsetDetector.java
new file mode 100644
index 0000000..c0b8faa
--- /dev/null
+++ b/src/com/ibm/icu/text/CharsetDetector.java
@@ -0,0 +1,519 @@
+/**
+*******************************************************************************
+* Copyright (C) 2005, International Business Machines Corporation and         *
+* others. All Rights Reserved.                                                *
+*******************************************************************************
+*/
+package com.ibm.icu.text;
+
+import java.io.InputStream;
+import java.io.Reader;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Collections;
+import java.util.Arrays;
+
+
+/**
+ * <code>CharsetDetector</code> provides a facility for detecting the
+ * charset or encoding of character data in an unknown format.
+ * The input data can either be from an input stream or an array of bytes.
+ * The result of the detection operation is a list of possibly matching
+ * charsets, or, for simple use, you can just ask for a Java Reader that
+ * will will work over the input data.
+ * <p/>
+ * Character set detection is at best an imprecise operation.  The detection
+ * process will attempt to identify the charset that best matches the characteristics
+ * of the byte data, but the process is partly statistical in nature, and
+ * the results can not be guaranteed to always be correct.
+ * <p/>
+ * For best accuracy in charset detection, the input data should be primarily
+ * in a single language, and a minimum of a few hundred bytes worth of plain text
+ * in the language are needed.  The detection process will attempt to
+ * ignore html or xml style markup that could otherwise obscure the content.
+ * <p/>
+ * @draft ICU 3.4
+ * @deprecated This is a draft API and might change in a future release of ICU.
+ */
+public class CharsetDetector {
+
+//   Question: Should we have getters corresponding to the setters for inut text
+//   and declared encoding?
+
+//   A thought: If we were to create our own type of Java Reader, we could defer
+//   figuring out an actual charset for data that starts out with too much English
+//   only ASCII until the user actually read through to something that didn't look
+//   like 7 bit English.  If  nothing else ever appeared, we would never need to
+//   actually choose the "real" charset.  All assuming that the application just
+//   wants the data, and doesn't care about a char set name.
+
+    /**
+     *   Constructor
+     * 
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public CharsetDetector() {
+    }
+
+    /**
+     * Set the declared encoding for charset detection.
+     *  The declared encoding of an input text is an encoding obtained
+     *  from an http header or xml declaration or similar source that
+     *  can be provided as additional information to the charset detector.  
+     *  A match between a declared encoding and a possible detected encoding
+     *  will raise the quality of that detected encoding by a small delta,
+     *  and will also appear as a "reason" for the match.
+     * <p/>
+     * A declared encoding that is incompatible with the input data being
+     * analyzed will not be added to the list of possible encodings.
+     * 
+     *  @param encoding The declared encoding 
+     *
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public CharsetDetector setDeclaredEncoding(String encoding) {
+        fDeclaredEncoding = encoding;
+        return this;
+    }
+    
+    /**
+     * Set the input text (byte) data whose charset is to be detected.
+     * 
+     * @param in the input text of unknown encoding
+     * 
+     * @return This CharsetDetector
+     *
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public CharsetDetector setText(byte [] in) {
+        fRawInput  = in;
+        fRawLength = in.length;
+        
+        MungeInput();
+        
+        return this;
+    }
+    
+    private static final int kBufSize = 8000;
+
+    /**
+     * Set the input text (byte) data whose charset is to be detected.
+     *  <p/>
+     *   The input stream that supplies the character data must have markSupported()
+     *   == true; the charset detection process will read a small amount of data,
+     *   then return the stream to its original position via
+     *   the InputStream.reset() operation.  The exact amount that will
+     *   be read depends on the characteristics of the data itself.
+     *
+     * @param in the input text of unknown encoding
+     * 
+     * @return This CharsetDetector
+     *
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    
+    public CharsetDetector setText(InputStream in) throws IOException {
+        fInputStream = in;
+        fInputStream.mark(kBufSize);
+        fRawInput = new byte[kBufSize];   // Always make a new buffer because the
+                                          //   previous one may have come from the caller,
+                                          //   in which case we can't touch it.
+        fRawLength = 0;
+        int remainingLength = kBufSize;
+        while (remainingLength > 0 ) {
+            // read() may give data in smallish chunks, esp. for remote sources.  Hence, this loop.
+            int  bytesRead = fInputStream.read(fRawInput, fRawLength, remainingLength);
+            if (bytesRead <= 0) {
+                 break;
+            }
+            fRawLength += bytesRead;
+            remainingLength -= bytesRead;
+        }
+        fInputStream.reset();
+        
+        MungeInput();                     // Strip html markup, collect byte stats.
+        return this;
+    }
+
+  
+    /**
+     * Return the charset that best matches the supplied input data.
+     * 
+     * Note though, that because the detection 
+     * only looks at the start of the input data,
+     * there is a possibility that the returned charset will fail to handle
+     * the full set of input data.
+     * <p/>
+     * Raise an exception if 
+     *  <ul>
+     *    <li>no charset appears to match the data.</li>
+     *    <li>no input text has been provided</li>
+     *  </ul>
+     *
+     * @return a CharsetMatch object representing the best matching charset.
+     *
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public CharsetMatch detect() {
+//   TODO:  A better implementation would be to copy the detect loop from
+//          detectAll(), and cut it short as soon as a match with a high confidence
+//          is found.  This is something to be done later, after things are otherwise
+//          working.
+
+        return detectAll()[0];
+     }
+    
+    /**
+     *  Return an array of all charsets that appear to be plausible
+     *  matches with the input data.  The array is ordered with the
+     *  best quality match first.
+     * <p/>
+     * Raise an exception if 
+     *  <ul>
+     *    <li>no charsets appear to match the input data.</li>
+     *    <li>no input text has been provided</li>
+     *  </ul>
+     * 
+     * @return An array of CharsetMatch objects representing possibly matching charsets.
+     *
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public CharsetMatch[] detectAll() {
+        CharsetRecognizer csr;
+        int               i;
+        int               detectResults;
+        int               confidence;
+        ArrayList         matches = new ArrayList();
+        
+        //  Iterate over all possible charsets, remember all that
+        //    give a match quality > 0.
+        for (i=0; i<fCSRecognizers.size(); i++) {
+            csr = (CharsetRecognizer)fCSRecognizers.get(i);
+            detectResults = csr.match(this);
+            confidence = detectResults & 0x000000ff;
+            if (confidence > 0) {
+                CharsetMatch  m = new CharsetMatch(this, csr, confidence);
+                matches.add(m);
+            }
+        }
+        Collections.sort(matches);      // CharsetMatch compares on confidence
+        Collections.reverse(matches);   //  Put best match first.
+        CharsetMatch [] resultArray = new CharsetMatch[matches.size()];
+        resultArray = (CharsetMatch[]) matches.toArray(resultArray);
+        return resultArray;
+    }
+
+    
+    /**
+     * Autodetect the charset of an inputStream, and return a Java Reader
+     * to access the converted input data.
+     * <p/>
+     * This is a convenience method that is equivalent to
+     *   <code>this.setDeclaredEncoding(declaredEncoding).setText(in).detect().getReader();</code>
+     * <p/>
+     *   For the input stream that supplies the character data, markSupported()
+     *   must be true; the  charset detection will read a small amount of data,
+     *   then return the stream to its original position via
+     *   the InputStream.reset() operation.  The exact amount that will
+     *    be read depends on the characteristics of the data itself.
+     *<p/>
+     * Raise an exception if no charsets appear to match the input data.
+     * 
+     * @param in The source of the byte data in the unknown charset.
+     *
+     * @param declaredEncoding  A declared encoding for the data, if available,
+     *           or null or an empty string if none is available.
+     *
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public Reader getReader(InputStream in, String declaredEncoding) {
+        fDeclaredEncoding = declaredEncoding;
+        
+        try {
+            setText(in);
+            
+            return detect().getReader();
+        } catch (IOException e) {
+            return null;
+        }
+    }
+
+    /**
+     * Autodetect the charset of an inputStream, and return a String
+     * containing the converted input data.
+     * <p/>
+     * This is a convenience method that is equivalent to
+     *   <code>this.setDeclaredEncoding(declaredEncoding).setText(in).detect().getString();</code>
+     *<p/>
+     * Raise an exception if no charsets appear to match the input data.
+     * 
+     * @param in The source of the byte data in the unknown charset.
+     *
+     * @param declaredEncoding  A declared encoding for the data, if available,
+     *           or null or an empty string if none is available.
+     *
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public String getString(byte[] in, String declaredEncoding)
+    {
+        fDeclaredEncoding = declaredEncoding;
+       
+        try {
+            setText(in);
+            return detect().getString(-1);
+        } catch (IOException e) {
+            return null;
+        }
+    }
+
+ 
+    /**
+     * Get the names of all char sets that can be recognized by the char set detector.
+     *
+     * @return an array of the names of all charsets that can be recognized
+     * by the charset detector.
+     *
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static String[] getAllDetectableCharsets() {
+        return fCharsetNames;
+    }
+    
+    /**
+     * Test whether or not input filtering is enabled.
+     * 
+     * @return <code>true</code> if input text will be filtered.
+     * 
+     * @see #enableInputFilter
+     *
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public boolean inputFilterEnabled()
+    {
+        return fStripTags;
+    }
+    
+    /**
+     * Enable filtering of input text. If filtering is enabled,
+     * text within angle brackets ("<" and ">") will be removed
+     * before detection.
+     * 
+     * @param filter <code>true</code> to enable input text filtering.
+     * 
+     * @return The previous setting.
+     *
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public boolean enableInputFilter(boolean filter)
+    {
+        boolean previous = fStripTags;
+        
+        fStripTags = filter;
+        
+        return previous;
+    }
+    
+    /**
+     *  MungeInput - after getting a set of raw input data to be analyzed, preprocess
+     *               it by removing what appears to be html markup.
+     * 
+     * @internal
+     */
+    private void MungeInput() {
+        int srci = 0;
+        int dsti = 0;
+        byte b;
+        boolean  inMarkup = false;
+        int      openTags = 0;
+        int      badTags  = 0;
+        
+        //
+        //  html / xml markup stripping.
+        //     quick and dirty, not 100% accurate, but hopefully good enough, statistically.
+        //     discard everything within < brackets >
+        //     Count how many total '<' and illegal (nested) '<' occur, so we can make some
+        //     guess as to whether the input was actually marked up at all.
+        if (fStripTags) {
+            for (srci=0; srci<fRawLength; srci++) {
+                b = fRawInput[srci];
+                if (b == (byte)'<') {
+                    if (inMarkup) {
+                        badTags++;
+                    }
+                    inMarkup = true;
+                    openTags++;
+                }
+                
+                if (! inMarkup) {
+                    fInputBytes[dsti++] = b;
+                }
+                
+                if (b == (byte)'>') {
+                    inMarkup = false;
+                }        
+            }
+            
+            fInputLen = dsti;
+        }
+        
+        //
+        //  If it looks like this input wasn't marked up, or if it looks like it's
+        //    essentially nothing but markup abandon the markup stripping.
+        //    Detection will have to work on the unstripped input.
+        //
+        if (openTags<5 || openTags/5 < badTags || 
+                (fInputLen < 100 && fRawLength>600)) {
+            int limit = fRawLength;
+            
+            if (limit > kBufSize) {
+                limit = kBufSize;
+            }
+            
+            for (srci=0; srci<limit; srci++) {
+                fInputBytes[srci] = fRawInput[srci];
+            }
+            fInputLen = srci;
+        }
+        
+        //
+        // Tally up the byte occurence statistics.
+        //   These are available for use by the various detectors.
+        //
+        Arrays.fill(fByteStats, (short)0);
+        for (srci=0; srci<fInputLen; srci++) {
+            int val = fInputBytes[srci] & 0x00ff;
+            fByteStats[val]++;
+        }
+        
+        for (int i = 0x80; i <= 0x9F; i += 1) {
+            if (fByteStats[i] != 0) {
+                fC1Bytes = true;
+                break;
+            }
+        }
+     }
+
+    /**
+     *  The following items are accessed by individual CharsetRecongizers during
+     *     the recognition process
+     * 
+     * @internal
+     */
+    byte[]      fInputBytes =       // The text to be checked.  Markup will have been
+                   new byte[kBufSize];  //   removed if appropriate.
+    
+    int         fInputLen;          // Length of the byte data in fInputText.
+    
+    short       fByteStats[] =      // byte frequency statistics for the input text.
+                   new short[256];  //   Value is percent, not absolute.
+                                    //   Value is rounded up, so zero really means zero occurences.
+    
+    boolean     fC1Bytes =          // True if any bytes in the range 0x80 - 0x9F are in the input;
+                   false;
+    
+    String      fDeclaredEncoding;
+    
+    
+
+    //
+    //  Stuff private to CharsetDetector
+    //
+    byte[]               fRawInput;     // Original, untouched input bytes.
+                                        //  If user gave us a byte array, this is it.
+                                        //  If user gave us a stream, it's read to a 
+                                        //  buffer here.
+    int                  fRawLength;    // Length of data in fRawInput array.
+    
+    InputStream          fInputStream;  // User's input stream, or null if the user
+                                        //   gave us a byte array.
+     
+    boolean              fStripTags =   // If true, setText() will strip tags from input text.
+                           false;
+    
+    
+    /**
+     *  List of recognizers for all charsets known to the implementation.
+     *
+     * @internal
+     */
+    private static ArrayList fCSRecognizers = createRecognizers();
+    private static String [] fCharsetNames;
+    
+   /**
+     * Create the singleton instances of the CharsetRecognizer classes
+     * 
+     * @internal
+     */
+    private static ArrayList createRecognizers() {
+        ArrayList recognizers = new ArrayList();
+        
+        recognizers.add(new CharsetRecog_UTF8());
+        
+        recognizers.add(new CharsetRecog_Unicode.CharsetRecog_UTF_16_BE());
+        recognizers.add(new CharsetRecog_Unicode.CharsetRecog_UTF_16_LE());
+        recognizers.add(new CharsetRecog_Unicode.CharsetRecog_UTF_32_BE());
+        recognizers.add(new CharsetRecog_Unicode.CharsetRecog_UTF_32_LE());;
+        
+        recognizers.add(new CharsetRecog_mbcs.CharsetRecog_sjis());
+        recognizers.add(new CharsetRecog_2022.CharsetRecog_2022JP());
+        recognizers.add(new CharsetRecog_2022.CharsetRecog_2022CN());
+        recognizers.add(new CharsetRecog_2022.CharsetRecog_2022KR());
+        recognizers.add(new CharsetRecog_mbcs.CharsetRecog_euc.CharsetRecog_gb_18030());
+        recognizers.add(new CharsetRecog_mbcs.CharsetRecog_euc.CharsetRecog_euc_jp());
+        recognizers.add(new CharsetRecog_mbcs.CharsetRecog_euc.CharsetRecog_euc_kr());
+        
+        recognizers.add(new CharsetRecog_sbcs.CharsetRecog_8859_1_da());
+        recognizers.add(new CharsetRecog_sbcs.CharsetRecog_8859_1_de());
+        recognizers.add(new CharsetRecog_sbcs.CharsetRecog_8859_1_en());
+        recognizers.add(new CharsetRecog_sbcs.CharsetRecog_8859_1_es());
+        recognizers.add(new CharsetRecog_sbcs.CharsetRecog_8859_1_fr());
+        recognizers.add(new CharsetRecog_sbcs.CharsetRecog_8859_1_it());
+        recognizers.add(new CharsetRecog_sbcs.CharsetRecog_8859_1_nl());
+        recognizers.add(new CharsetRecog_sbcs.CharsetRecog_8859_1_no());
+        recognizers.add(new CharsetRecog_sbcs.CharsetRecog_8859_1_pt());
+        recognizers.add(new CharsetRecog_sbcs.CharsetRecog_8859_1_sv());
+        recognizers.add(new CharsetRecog_sbcs.CharsetRecog_8859_2_cs());
+        recognizers.add(new CharsetRecog_sbcs.CharsetRecog_8859_2_hu());
+        recognizers.add(new CharsetRecog_sbcs.CharsetRecog_8859_2_pl());
+        recognizers.add(new CharsetRecog_sbcs.CharsetRecog_8859_2_ro());
+        recognizers.add(new CharsetRecog_sbcs.CharsetRecog_8859_5_ru());
+        recognizers.add(new CharsetRecog_sbcs.CharsetRecog_8859_6_ar());
+        recognizers.add(new CharsetRecog_sbcs.CharsetRecog_8859_7_el());
+        recognizers.add(new CharsetRecog_sbcs.CharsetRecog_8859_8_I_he());
+        recognizers.add(new CharsetRecog_sbcs.CharsetRecog_8859_8_he());
+        recognizers.add(new CharsetRecog_sbcs.CharsetRecog_windows_1251());
+        recognizers.add(new CharsetRecog_sbcs.CharsetRecog_windows_1256());
+        recognizers.add(new CharsetRecog_sbcs.CharsetRecog_KOI8_R());
+        recognizers.add(new CharsetRecog_sbcs.CharsetRecog_8859_9_tr());
+        
+        // Create an array of all charset names, as a side effect.
+        // Needed for the getAllDetectableCharsets() API.
+        String[] charsetNames = new String [recognizers.size()];
+        int out = 0;
+        
+        for (int i = 0; i < recognizers.size(); i++) {
+            String name = ((CharsetRecognizer)recognizers.get(i)).getName();
+            
+            if (out == 0 || ! name.equals(charsetNames[out - 1])) {
+                charsetNames[out++] = name;
+            }
+        }
+        
+        fCharsetNames = new String[out];
+        System.arraycopy(charsetNames, 0, fCharsetNames, 0, out);
+        
+        return recognizers;
+    }
+}
diff --git a/src/com/ibm/icu/text/CharsetMatch.java b/src/com/ibm/icu/text/CharsetMatch.java
new file mode 100644
index 0000000..77df33c
--- /dev/null
+++ b/src/com/ibm/icu/text/CharsetMatch.java
@@ -0,0 +1,278 @@
+/**
+*******************************************************************************
+* Copyright (C) 2005, International Business Machines Corporation and         *
+* others. All Rights Reserved.                                                *
+*******************************************************************************
+*/
+package com.ibm.icu.text;
+
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.Reader;
+
+
+/**
+ * This class represents a charset that has been identified by a CharsetDetector
+ * as a possible encoding for a set of input data.  From an instance of this
+ * class, you can ask for a confidence level in the charset identification,
+ * or for Java Reader or String to access the original byte data in Unicode form.
+ * <p/>
+ * Instances of this class are created only by CharsetDetectors.
+ * <p/>
+ * Note:  this class has a natural ordering that is inconsistent with equals.
+ *        The natural ordering is based on the match confidence value.
+ *
+ * @draft ICU 3.4
+ * @deprecated This is a draft API and might change in a future release of ICU.
+ */
+public class CharsetMatch implements Comparable {
+
+    
+    /**
+     * Create a java.io.Reader for reading the Unicode character data corresponding
+     * to the original byte data supplied to the Charset detect operation.
+     * <p/>
+     * CAUTION:  if the source of the byte data was an InputStream, a Reader
+     * can be created for only one matching char set using this method.  If more 
+     * than one charset needs to be tried, the caller will need to reset
+     * the InputStream and create InputStreamReaders itself, based on the charset name.
+     *
+     * @return the Reader for the Unicode character data.
+     *
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public Reader getReader() {
+        InputStream inputStream = fInputStream;
+        
+        if (inputStream == null) {
+            inputStream = new ByteArrayInputStream(fRawInput, 0, fRawLength);
+        }
+        
+        try {
+            inputStream.reset();
+            return new InputStreamReader(inputStream, getName());
+        } catch (IOException e) {
+            return null;
+        }
+    }
+
+    /**
+     * Create a Java String from Unicode character data corresponding
+     * to the original byte data supplied to the Charset detect operation.
+     *
+     * @return a String created from the converted input data.
+     *
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public String getString()  throws java.io.IOException {
+        return getString(-1);
+
+    }
+
+    /**
+     * Create a Java String from Unicode character data corresponding
+     * to the original byte data supplied to the Charset detect operation.
+     * The length of the returned string is limited to the specified size;
+     * the string will be trunctated to this length if necessary.  A limit value of
+     * zero or less is ignored, and treated as no limit.
+     *
+     * @param maxLength The maximium length of the String to be created when the
+     *                  source of the data is an input stream, or -1 for
+     *                  unlimited length.
+     * @return a String created from the converted input data.
+     *
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public String getString(int maxLength) throws java.io.IOException {
+        String result = null;
+        if (fInputStream != null) {
+            StringBuffer sb = new StringBuffer();
+            char[] buffer = new char[1024];
+            Reader reader = getReader();
+            int max = maxLength < 0? Integer.MAX_VALUE : maxLength;
+            int bytesRead = 0;
+            
+            while ((bytesRead = reader.read(buffer, 0, Math.min(max, 1024))) >= 0) {
+                sb.append(buffer, 0, bytesRead);
+                max -= bytesRead;
+            }
+            
+            reader.close();
+            
+            return sb.toString();
+        } else {
+            result = new String(fRawInput, getName());            
+        }
+        return result;
+
+    }
+    
+    /**
+     * Get an indication of the confidence in the charset detected.
+     * Confidence values range from 0-100, with larger numbers indicating
+     * a better match of the input data to the characteristics of the
+     * charset.
+     *
+     * @return the confidence in the charset match
+     *
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public int getConfidence() {
+        return fConfidence;
+    }
+    
+
+    /**
+     * Bit flag indicating the match is based on the the encoding scheme.
+     *
+     * @see #getMatchType
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    static public final int ENCODING_SCHEME    = 1;
+    
+    /**
+     * Bit flag indicating the match is based on the presence of a BOM.
+     * 
+     * @see #getMatchType
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    static public final int BOM                = 2;
+    
+    /**
+     * Bit flag indicating he match is based on the declared encoding.
+     * 
+     * @see #getMatchType
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    static public final int DECLARED_ENCODING  = 4;
+    
+    /**
+     * Bit flag indicating the match is based on language statistics.
+     *
+     * @see #getMatchType
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    static public final int LANG_STATISTICS    = 8;
+    
+    /**
+     * Return flags indicating what it was about the input data 
+     * that caused this charset to be considered as a possible match.
+     * The result is a bitfield containing zero or more of the flags
+     * ENCODING_SCHEME, BOM, DECLARED_ENCODING, and LANG_STATISTICS.
+     * A result of zero means no information is available.
+     * <p>
+     * Note: currently, this method always returns zero.
+     * <p>
+     *
+     * @return the type of match found for this charset.
+     *
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public int getMatchType() {
+//      TODO: create a list of enum-like constants for common combinations of types of matches.
+        return 0;
+    }
+
+    /**
+     * Get the name of the detected charset.  
+     * The name will be one that can be used with other APIs on the
+     * platform that accept charset names.  It is the "Canonical name"
+     * as defined by the class java.nio.charset.Charset; for
+     * charsets that are registered with the IANA charset registry,
+     * this is the MIME-preferred registerd name.
+     *
+     * @see java.nio.charset.Charset
+     * @see java.io.InputStreamReader
+     *
+     * @return The name of the charset.
+     *
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public String getName() {
+        return fRecognizer.getName();
+    }
+    
+    /**
+     * Get the ISO code for the language of the detected charset.  
+     *
+     * @return The ISO code for the language or <code>null</code> if the language cannot be determined.
+     *
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public String getLanguage() {
+        return fRecognizer.getLanguage();
+    }
+    
+    
+    /**
+     * Compare to other CharsetMatch objects.
+     * Comparison is based on the match confidence value, which 
+     *   allows CharsetDetector.detectAll() to order its results. 
+     *
+     * @param o the CharsetMatch object to compare against.
+     * @return  a negative integer, zero, or a positive integer as the 
+     *          confidence level of this CharsetMatch
+     *		is less than, equal to, or greater than that of
+     *          the argument.
+     * @throws ClassCastException if the argument is not a CharsetMatch.
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public int compareTo (Object o) {
+        CharsetMatch other = (CharsetMatch)o;
+        int compareResult = 0;
+        if (this.fConfidence > other.fConfidence) {
+            compareResult = 1;
+        } else if (this.fConfidence < other.fConfidence) {
+            compareResult = -1;
+        }
+        return compareResult;
+    }
+    
+    /**
+     *  Constructor.  Implementation internal
+     *
+     * @internal
+     */
+    CharsetMatch(CharsetDetector det, CharsetRecognizer rec, int conf) {
+        fRecognizer = rec;
+        fConfidence = conf;
+        
+        // The references to the original aplication input data must be copied out
+        //   of the charset recognizer to here, in case the application resets the
+        //   recognizer before using this CharsetMatch.
+        if (det.fInputStream == null) {
+            // We only want the existing input byte data if it came straight from the user,
+            //   not if is just the head of a stream.
+            fRawInput    = det.fRawInput;
+            fRawLength   = det.fRawLength;
+        };
+        fInputStream = det.fInputStream;
+    }
+
+    
+    //
+    //   Private Data
+    //
+    private int                 fConfidence;
+    private CharsetRecognizer   fRecognizer;
+    private byte[]              fRawInput = null;     // Original, untouched input bytes.
+                                                      //  If user gave us a byte array, this is it.
+    private int                 fRawLength;           // Length of data in fRawInput array.
+
+    private InputStream         fInputStream = null;  // User's input stream, or null if the user
+                                                      //   gave us a byte array.
+}
diff --git a/src/com/ibm/icu/text/CharsetRecog_2022.java b/src/com/ibm/icu/text/CharsetRecog_2022.java
new file mode 100644
index 0000000..95851b0
--- /dev/null
+++ b/src/com/ibm/icu/text/CharsetRecog_2022.java
@@ -0,0 +1,162 @@
+/*
+*******************************************************************************
+* Copyright (C) 2005, International Business Machines Corporation and         *
+* others. All Rights Reserved.                                                *
+*******************************************************************************
+*/
+package com.ibm.icu.text;
+
+/**
+ *  class CharsetRecog_2022  part of the ICU charset detection imlementation.
+ *                           This is a superclass for the individual detectors for
+ *                           each of the detectable members of the ISO 2022 family
+ *                           of encodings.
+ * 
+ *                           The separate classes are nested within this class.
+ * 
+ * @internal
+ */
+abstract class CharsetRecog_2022 extends CharsetRecognizer {
+
+    
+    /**
+     * Matching function shared among the 2022 detectors JP, CN and KR
+     * Counts up the number of legal an unrecognized escape sequences in
+     * the sample of text, and computes a score based on the total number &
+     * the proportion that fit the encoding.
+     * 
+     * 
+     * @param text the byte buffer containing text to analyse
+     * @param textLen  the size of the text in the byte.
+     * @param escapeSequences the byte escape sequences to test for.
+     * @return match quality, in the range of 0-100.
+     */
+    int   match(byte [] text, int textLen, byte [][] escapeSequences) {
+        int     i, j;
+        int     escN;
+        int     hits   = 0;
+        int     misses = 0;
+        int     shifts = 0;
+        int     quality;
+        scanInput:
+            for (i=0; i<textLen; i++) {
+                if (text[i] == 0x1b) {
+                    checkEscapes:
+                        for (escN=0; escN<escapeSequences.length; escN++) {
+                            byte [] seq = escapeSequences[escN];
+                            
+                            for (j=1; j<seq.length; j++) {
+                                if (seq[j] != text[i+j])  {
+                                    continue checkEscapes;
+                                }                                   
+                            }
+                            
+                            hits++; 
+                            i += seq.length-1;
+                            continue scanInput;
+                        }
+                
+                        misses++;                  
+                }
+                
+                if (text[i] == 0x0e || text[i] == 0x0f) {
+                    // Shift in/out
+                    shifts++;
+                }
+            }
+        
+        if (hits == 0) {
+            return 0;
+        }
+        
+        //
+        // Initial quality is based on relative proportion of recongized vs.
+        //   unrecognized escape sequences. 
+        //   All good:  quality = 100;
+        //   half or less good: quality = 0;
+        //   linear inbetween.
+        quality = (100*hits - 100*misses) / (hits + misses);
+        
+        // Back off quality if there were too few escape sequences seen.
+        //   Include shifts in this computation, so that KR does not get penalized
+        //   for having only a single Escape sequence, but many shifts.
+        if (hits+shifts < 5) {
+            quality -= (5-(hits+shifts))*10;
+        }
+        
+        if (quality < 0) {
+            quality = 0;
+        }        
+        return quality;
+    }
+
+    
+ 
+    
+    static class CharsetRecog_2022JP extends CharsetRecog_2022 {
+        private byte [] [] escapeSequences = {
+                {0x1b, 0x24, 0x28, 0x43},   // KS X 1001:1992
+                {0x1b, 0x24, 0x28, 0x44},   // JIS X 212-1990
+                {0x1b, 0x24, 0x40},         // JIS C 6226-1978
+                {0x1b, 0x24, 0x41},         // GB 2312-80
+                {0x1b, 0x24, 0x42},         // JIS X 208-1983
+                {0x1b, 0x26, 0x40},         // JIS X 208 1990, 1997
+                {0x1b, 0x28, 0x42},         // ASCII
+                {0x1b, 0x28, 0x48},         // JIS-Roman
+                {0x1b, 0x28, 0x49},         // Half-width katakana
+                {0x1b, 0x28, 0x4a},         // JIS-Roman
+                {0x1b, 0x2e, 0x41},         // ISO 8859-1
+                {0x1b, 0x2e, 0x46}          // ISO 8859-7
+                };
+        
+        String getName() {
+            return "ISO-2022-JP";
+        }
+        
+        int   match(CharsetDetector det) {
+            return match(det.fInputBytes, det.fInputLen, escapeSequences);
+        }
+    }
+
+    static class CharsetRecog_2022KR extends CharsetRecog_2022 {
+        private byte [] [] escapeSequences = {
+                {0x1b, 0x24, 0x29, 0x43}   
+                 };
+        
+        String getName() {
+            return "ISO-2022-KR";
+        }
+        
+        int   match(CharsetDetector det) {
+            return match(det.fInputBytes, det.fInputLen, escapeSequences);
+        }
+        
+    }
+
+    static class CharsetRecog_2022CN extends CharsetRecog_2022 {
+        private byte [] [] escapeSequences = {
+                {0x1b, 0x24, 0x29, 0x41},   // GB 2312-80
+                {0x1b, 0x24, 0x29, 0x47},   // CNS 11643-1992 Plane 1
+                {0x1b, 0x24, 0x2A, 0x48},   // CNS 11643-1992 Plane 2
+                {0x1b, 0x24, 0x29, 0x45},   // ISO-IR-165
+                {0x1b, 0x24, 0x2B, 0x49},   // CNS 11643-1992 Plane 3
+                {0x1b, 0x24, 0x2B, 0x4A},   // CNS 11643-1992 Plane 4
+                {0x1b, 0x24, 0x2B, 0x4B},   // CNS 11643-1992 Plane 5
+                {0x1b, 0x24, 0x2B, 0x4C},   // CNS 11643-1992 Plane 6
+                {0x1b, 0x24, 0x2B, 0x4D},   // CNS 11643-1992 Plane 7
+                {0x1b, 0x4e},               // SS2
+                {0x1b, 0x4f},               // SS3
+        };
+        
+        String getName() {
+            return "ISO-2022-CN";
+        }
+        
+        
+        int   match(CharsetDetector det) {
+            return match(det.fInputBytes, det.fInputLen, escapeSequences);
+        }
+    }
+    
+    }
+
diff --git a/src/com/ibm/icu/text/CharsetRecog_UTF8.java b/src/com/ibm/icu/text/CharsetRecog_UTF8.java
new file mode 100644
index 0000000..e3beafa
--- /dev/null
+++ b/src/com/ibm/icu/text/CharsetRecog_UTF8.java
@@ -0,0 +1,99 @@
+/**
+*******************************************************************************
+* Copyright (C) 2005, International Business Machines Corporation and         *
+* others. All Rights Reserved.                                                *
+*******************************************************************************
+*/
+package com.ibm.icu.text;
+
+/**
+ * Charset recognizer for UTF-8
+ *
+ * @internal
+ */
+class CharsetRecog_UTF8 extends CharsetRecognizer {
+
+    String getName() {
+        return "UTF-8";
+    }
+
+    /* (non-Javadoc)
+     * @see com.ibm.icu.text.CharsetRecognizer#match(com.ibm.icu.text.CharsetDetector)
+     */
+    int match(CharsetDetector det) {
+        boolean     hasBOM = false;
+        int         numValid = 0;
+        int         numInvalid = 0;
+        byte        input[] = det.fRawInput;
+        int         i;
+        int         trailBytes = 0;
+        int         confidence;
+        
+        if (det.fRawLength >= 3 && 
+                input[0]==0xef && input[1]==0xbb & input[2]==0xbf) {
+            hasBOM = true;
+        }
+        
+        // Scan for multi-byte sequences
+        for (i=0; i<det.fRawLength; i++) {
+            int b = input[i];
+            if ((b & 0x80) == 0) {
+                continue;   // ASCII
+            }
+            
+            // Hi bit on char found.  Figure out how long the sequence should be
+            if ((b & 0x0e0) == 0x0c0) {
+                trailBytes = 1;                
+            } else if ((b & 0x0f0) == 0x0e0) {
+                trailBytes = 2;
+            } else if ((b & 0x0f8) == 0xf0) {
+                trailBytes = 3;
+            } else {
+                numInvalid++;
+                if (numInvalid > 5) {
+                    break;
+                }
+                trailBytes = 0;
+            }
+                
+            // Verify that we've got the right number of trail bytes in the sequence
+            for (;;) {
+                i++;
+                if (i>=det.fRawLength) {
+                    break;
+                }
+                b = input[i];
+                if ((b & 0xc0) != 0x080) {
+                    numInvalid++;
+                    break;
+                }
+                if (--trailBytes == 0) {
+                    numValid++;
+                    break;
+                }
+            }
+                        
+        }
+        
+        // Cook up some sort of confidence score, based on presense of a BOM
+        //    and the existence of valid and/or invalid multi-byte sequences.
+        confidence = 0;
+        if (hasBOM && numInvalid==0) {
+            confidence = 100;
+        } else if (hasBOM && numValid > numInvalid*10) {
+            confidence = 80;
+        } else if (numValid > 3 && numInvalid == 0) {
+            confidence = 100;            
+        } else if (numValid > 0 && numInvalid == 0) {
+            confidence = 80;
+        } else if (numValid == 0 && numInvalid == 0) {
+            // Plain ASCII.  
+            confidence = 10;            
+        } else if (numValid > numInvalid*10) {
+            // Probably corruput utf-8 data.  Valid sequences aren't likely by chance.
+            confidence = 25;
+        }
+        return confidence;
+    }
+
+}
diff --git a/src/com/ibm/icu/text/CharsetRecog_Unicode.java b/src/com/ibm/icu/text/CharsetRecog_Unicode.java
new file mode 100644
index 0000000..ed88357
--- /dev/null
+++ b/src/com/ibm/icu/text/CharsetRecog_Unicode.java
@@ -0,0 +1,146 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ *
+ */
+
+package com.ibm.icu.text;
+
+/**
+ * This class matches UTF-16 and UTF-32, both big- and little-endian. The
+ * BOM will be used if it is present.
+ * 
+ * @internal
+ */
+abstract class CharsetRecog_Unicode extends CharsetRecognizer {
+
+    /* (non-Javadoc)
+     * @see com.ibm.icu.text.CharsetRecognizer#getName()
+     */
+    abstract String getName();
+
+    /* (non-Javadoc)
+     * @see com.ibm.icu.text.CharsetRecognizer#match(com.ibm.icu.text.CharsetDetector)
+     */
+    abstract int match(CharsetDetector det);
+    
+    static class CharsetRecog_UTF_16_BE extends CharsetRecog_Unicode
+    {
+        String getName()
+        {
+            return "UTF-16BE";
+        }
+        
+        int match(CharsetDetector det)
+        {
+            byte[] input = det.fRawInput;
+            
+            if ((input[0] & 0xFF) == 0xFE && (input[1] & 0xFF) == 0xFF) {
+                return 100;
+            }
+            
+            // TODO: Do some statastics to check for unsigned UTF-16BE
+            return 0;
+        }
+    }
+    
+    static class CharsetRecog_UTF_16_LE extends CharsetRecog_Unicode
+    {
+        String getName()
+        {
+            return "UTF-16LE";
+        }
+        
+        int match(CharsetDetector det)
+        {
+            byte[] input = det.fRawInput;
+            
+            if ((input[0] & 0xFF) == 0xFF && (input[1] & 0xFF) == 0xFE && (input[2] != 0x00 || input[3] != 0x00)) {
+                return 100;
+            }
+            
+            // TODO: Do some statastics to check for unsigned UTF-16LE
+            return 0;
+        }
+    }
+    
+    static abstract class CharsetRecog_UTF_32 extends CharsetRecog_Unicode
+    {
+        abstract int getChar(byte[] input, int index);
+        
+        abstract String getName();
+        
+        int match(CharsetDetector det)
+        {
+            byte[] input   = det.fRawInput;
+            int limit      = (det.fRawLength / 4) * 4;
+            int numValid   = 0;
+            int numInvalid = 0;
+            boolean hasBOM = false;
+            int confidence = 0;
+            
+            if (input[0] == 0x00 && input[1] == 0x00 && (input[2] & 0xFF) == 0xFE && (input[3] & 0xFF) == 0xFF) {
+                hasBOM = true;
+            }
+            
+            for(int i = 0; i < limit; i += 4) {
+                int ch = getChar(input, i);
+                
+                if (ch < 0 || ch >= 0x10FFFF || (ch >= 0xD800 && ch <= 0xDFFF)) {
+                    numInvalid += 1;
+                } else {
+                    numValid += 1;
+                }
+            }
+            
+            
+            // Cook up some sort of confidence score, based on presense of a BOM
+            //    and the existence of valid and/or invalid multi-byte sequences.
+            if (hasBOM && numInvalid==0) {
+                confidence = 100;
+            } else if (hasBOM && numValid > numInvalid*10) {
+                confidence = 80;
+            } else if (numValid > 3 && numInvalid == 0) {
+                confidence = 100;            
+            } else if (numValid > 0 && numInvalid == 0) {
+                confidence = 80;
+            } else if (numValid > numInvalid*10) {
+                // Probably corruput UTF-32BE data.  Valid sequences aren't likely by chance.
+                confidence = 25;
+            }
+            
+            return confidence;
+        }
+    }
+    
+    static class CharsetRecog_UTF_32_BE extends CharsetRecog_UTF_32
+    {
+        int getChar(byte[] input, int index)
+        {
+            return (input[index + 0] & 0xFF) << 24 | (input[index + 1] & 0xFF) << 16 |
+                   (input[index + 2] & 0xFF) <<  8 | (input[index + 3] & 0xFF);
+        }
+        
+        String getName()
+        {
+            return "UTF-32BE";
+        }
+    }
+
+    
+    static class CharsetRecog_UTF_32_LE extends CharsetRecog_UTF_32
+    {
+        int getChar(byte[] input, int index)
+        {
+            return (input[index + 3] & 0xFF) << 24 | (input[index + 2] & 0xFF) << 16 |
+                   (input[index + 1] & 0xFF) <<  8 | (input[index + 0] & 0xFF);
+        }
+        
+        String getName()
+        {
+            return "UTF-32LE";
+        }
+    }
+}
diff --git a/src/com/ibm/icu/text/CharsetRecog_mbcs.java b/src/com/ibm/icu/text/CharsetRecog_mbcs.java
new file mode 100644
index 0000000..e06380b
--- /dev/null
+++ b/src/com/ibm/icu/text/CharsetRecog_mbcs.java
@@ -0,0 +1,457 @@
+/*
+ **************************************************************************
+ * Copyright (C) 2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                           *
+ **************************************************************************
+ *
+ */
+package com.ibm.icu.text;
+
+import java.util.Arrays;
+
+/**
+ * CharsetRecognizer implemenation for Asian  - double or multi-byte - charsets.
+ *                   Match is determined mostly by the input data adhering to the
+ *                   encoding scheme for the charset, and, optionally,
+ *                   frequency-of-occurence of characters.
+ * <p/>
+ *                   Instances of this class are singletons, one per encoding
+ *                   being recognized.  They are created in the main
+ *                   CharsetDetector class and kept in the global list of available
+ *                   encodings to be checked.  The specific encoding being recognized
+ *                   is determined by subclass.
+ * 
+ * @internal                  
+ */
+abstract class CharsetRecog_mbcs extends CharsetRecognizer {
+
+    
+     
+    /**
+     * Get the IANA name of this charset.
+     * @return the charset name.
+     */
+    abstract String      getName() ;
+    
+    
+    /**
+     * Test the match of this charset with the input text data
+     *      which is obtained via the CharsetDetector object.
+     * 
+     * @param det  The CharsetDetector, which contains the input text
+     *             to be checked for being in this charset.
+     * @return     Two values packed into one int  (Damn java, anyhow)
+     *             <br/>
+     *             bits 0-7:  the match confidence, ranging from 0-100
+     *             <br/>
+     *             bits 8-15: The match reason, an enum-like value.
+     */
+    int         match(CharsetDetector det, int [] commonChars) {
+        int   singleByteCharCount = 0;
+        int   doubleByteCharCount = 0;
+        int   commonCharCount     = 0;
+        int   badCharCount        = 0;
+        int   totalCharCount      = 0;
+        int   confidence          = 0;
+        iteratedChar   iter       = new iteratedChar();
+        
+        detectBlock: {
+            for (iter.reset(); nextChar(iter, det);) {
+                totalCharCount++;
+                if (iter.error) {
+                    badCharCount++; 
+                } else {
+                    
+                    if (iter.charValue <= 0xff) {
+                        singleByteCharCount++;
+                    } else {
+                        doubleByteCharCount++;
+                        if (commonChars != null) {
+                            if (Arrays.binarySearch(commonChars, iter.charValue) >= 0){
+                                commonCharCount++;
+                            }
+                        }
+                    }
+                }
+                if (badCharCount >= 2 && badCharCount*5 >= doubleByteCharCount) {
+                    // Bail out early if the byte data is not matching the encoding scheme.
+                    break detectBlock;
+                }
+            }
+            
+            if (doubleByteCharCount == 0 && badCharCount== 0) {
+                // No multi-byte chars.
+                //   ASCII file?  It's probably not our encoding,
+                //   but is not incompatible with our encoding, so don't give it a zero.
+                confidence = 10;
+                break detectBlock;
+            }
+            
+            //
+            //  No match if there are too many characters that don't fit the encoding scheme.
+            //    (should we have zero tolerance for these?)
+            //
+            if (doubleByteCharCount < 20*badCharCount) {
+                confidence = 0;
+                break detectBlock;
+            }
+            
+            if (commonChars == null) {
+                // We have no statistics on frequently occuring characters.
+                //  Assess confidence purely on having a reasonable number of
+                //  multi-byte characters (the more the better
+                confidence = 30 + doubleByteCharCount - 20*badCharCount;
+                if (confidence > 100) {
+                    confidence = 100;
+                }
+            }else {
+                //
+                // Frequency of occurence statistics exist.
+                //
+                double maxVal = Math.log((float)doubleByteCharCount / 4);
+                double scaleFactor = 90.0 / maxVal;
+                confidence = (int)(Math.log(commonCharCount+1) * scaleFactor + 10);
+                confidence = Math.min(confidence, 100);
+            }
+        }   // end of detectBlock:
+        
+        return confidence;
+    }
+    
+     // "Character"  iterated character class.
+     //    Recognizers for specific mbcs encodings make their "characters" available
+     //    by providing a nextChar() function that fills in an instance of iteratedChar
+     //    with the next char from the input.
+     //    The returned characters are not converted to Unicode, but remain as the raw
+     //    bytes (concatenated into an int) from the codepage data.
+     //
+     //  For Asian charsets, use the raw input rather than the input that has been
+     //   stripped of markup.  Detection only considers multi-byte chars, effectively
+     //   stripping markup anyway, and double byte chars do occur in markup too.
+     //
+     static class iteratedChar {
+         int             charValue = 0;             // 1-4 bytes from the raw input data
+         int             index     = 0;
+         int             nextIndex = 0;
+         boolean         error     = false;
+         boolean         done      = false;
+         
+         void reset() {
+             charValue = 0;
+             index     = -1;
+             nextIndex = 0;
+             error     = false;
+             done      = false;
+         }
+         
+         int nextByte(CharsetDetector det) {
+             if (nextIndex >= det.fRawLength) {
+                 done = true;
+                 return -1;
+             }
+             int byteValue = (int)det.fRawInput[nextIndex++] & 0x00ff;
+             return byteValue;
+         }       
+     }
+     
+     /**
+      * Get the next character (however many bytes it is) from the input data
+      *    Subclasses for specific charset encodings must implement this function
+      *    to get characters according to the rules of their encoding scheme.
+      * 
+      *  This function is not a method of class iteratedChar only because
+      *   that would require a lot of extra derived classes, which is awkward.
+      * @param it  The iteratedChar "struct" into which the returned char is placed.
+      * @param det The charset detector, which is needed to get at the input byte data
+      *            being iterated over.
+      * @return    True if a character was returned, false at end of input.
+      */
+     abstract boolean nextChar(iteratedChar it, CharsetDetector det);
+     
+
+
+     
+     
+     /**
+      *   Shift-JIS charset recognizer.   
+      *
+      */
+     static class CharsetRecog_sjis extends CharsetRecog_mbcs {
+         static int [] commonChars = 
+             // TODO:  This set of data comes from the character frequency-
+             //        of-occurence analysis tool.  The data needs to be moved
+             //        into a resource and loaded from there.
+                {0x82cc, 0x82c5, 0x82a2, 0x815b, 0x8141, 0x82b5, 0x82c9, 0x82b7, 0x8142, 0x82c4, 
+                 0x82c6, 0x82cd, 0x82dc, 0x82f0, 0x82e9, 0x82c8, 0x82aa, 0x8393, 0x82bd, 0x8358, 
+                 0x82ea, 0x8343, 0x82a4, 0x82a9, 0x8367, 0x82b1, 0x8145, 0x82e0, 0x838b, 0x834e, 
+                 0x82e8, 0x82e7, 0x8140, 0x8362, 0x8389, 0x82c1, 0x838a, 0x82ab, 0x8376, 0x82b3, 
+                 0x82f1, 0x82a0, 0x8368, 0x93fa, 0x8175, 0x8176, 0x835e, 0x82e6, 0x8357, 0x82ad, 
+                 0x8381, 0x82a6, 0x82b9, 0x82bb, 0x82be, 0x8341, 0x8374, 0x82af, 0x9056, 0x82a8, 
+                 0x82c2, 0x8354, 0x8e67, 0x8375, 0x82c7, 0x95f1, 0x8356, 0x967b, 0x92e8, 0x8345, 
+                 0x82ce, 0x8385, 0x9770, 0x82df, 0x82dd, 0x836f, 0x8342, 0x8ca7, 0x8352, 0x837d, 
+                 0x838d, 0x8346, 0x834f, 0x8380, 0x82ed, 0x8d73, 0x8349, 0x8365, 0x8fee, 0x95b6, 
+                 0x8169, 0x816a, 0x836a, 0x8dec, 0x82bf, 0x834c, 0x8366, 0x82e2, 0x838c, 0x945c};
+         
+         boolean nextChar(iteratedChar it, CharsetDetector det) {
+             it.index = it.nextIndex;
+             it.error = false;
+             int firstByte;
+             firstByte = it.charValue = it.nextByte(det);
+             if (firstByte < 0) {
+                 return false;
+             }
+             
+             if (firstByte <= 0x7f || (firstByte>0xa0 && firstByte<=0xdf)) {
+                 return true;
+             }
+             
+             int secondByte = it.nextByte(det);
+             if (secondByte < 0)  {
+                 return false;          
+             }
+             it.charValue = (firstByte << 8) | secondByte;
+             if (! ((secondByte>=0x40 && secondByte<=0x7f) || (secondByte>=0x80 && secondByte<=0xff))) {
+                 // Illegal second byte value.
+                 it.error = true;
+             }
+             return true;
+         }
+         
+         int match(CharsetDetector det) {
+             return match(det, commonChars);
+         }
+         
+         String getName() {
+             return "Shift_JIS";
+         }
+         
+     }
+     
+     
+     /**
+      *   EUC charset recognizers.  One abstract class that provides the common function
+      *             for getting the next character according to the EUC encoding scheme,
+      *             and nested derived classes for EUC_KR, EUC_JP, EUC_CN.   
+      *
+      */
+     abstract static class CharsetRecog_euc extends CharsetRecog_mbcs {
+         
+         /*
+          *  (non-Javadoc)
+          *  Get the next character value for EUC based encodings.
+          *  Character "value" is simply the raw bytes that make up the character
+          *     packed into an int.
+          */
+         boolean nextChar(iteratedChar it, CharsetDetector det) {
+             it.index = it.nextIndex;
+             it.error = false;
+             int firstByte  = 0;
+             int secondByte = 0;
+             int thirdByte  = 0;
+             int fourthByte = 0;
+             
+             buildChar: {
+                 firstByte = it.charValue = it.nextByte(det);                 
+                 if (firstByte < 0) {
+                     // Ran off the end of the input data
+                     it.done = true;
+                     break buildChar;
+                 }
+                 if (firstByte <= 0x8d) {
+                     // single byte char
+                     break buildChar;
+                 }
+                 
+                 secondByte = it.nextByte(det);
+                 it.charValue = (it.charValue << 8) | secondByte;
+                 
+                 if (firstByte >= 0xA1 && firstByte <= 0xfe) {
+                     // Two byte Char
+                     if (secondByte < 0xa1) {
+                         it.error = true;
+                     }
+                     break buildChar;
+                 }
+                 if (firstByte == 0x8e) {
+                     // Code Set 2.
+                     //   In EUC-JP, total char size is 2 bytes, only one byte of actual char value.
+                     //   In EUC-TW, total char size is 4 bytes, three bytes contribute to char value.
+                     // We don't know which we've got.
+                     // Treat it like EUC-JP.  If the data really was EUC-TW, the following two
+                     //   bytes will look like a well formed 2 byte char.  
+                     if (secondByte < 0xa1) {
+                         it.error = true;
+                     }
+                     break buildChar;                     
+                 }
+                 
+                 if (firstByte == 0x8f) {
+                     // Code set 3.
+                     // Three byte total char size, two bytes of actual char value.
+                     thirdByte    = it.nextByte(det);
+                     it.charValue = (it.charValue << 8) | thirdByte;
+                     if (thirdByte < 0xa1) {
+                         it.error = true;
+                     }
+                 }
+              }
+             
+             return (it.done == false);
+         }
+         
+         /**
+          * The charset recognize for EUC-JP.  A singleton instance of this class
+          *    is created and kept by the public CharsetDetector class
+          */
+         static class CharsetRecog_euc_jp extends CharsetRecog_euc {
+             static int [] commonChars = 
+                 // TODO:  This set of data comes from the character frequency-
+                 //        of-occurence analysis tool.  The data needs to be moved
+                 //        into a resource and loaded from there.
+                    {0xa4ce, 0xa4c7, 0xa4a4, 0xa1bc, 0xa1a2, 0xa4b7, 0xa4cb, 0xa4b9, 0xa1a3, 0xa4c6, 
+                     0xa4c8, 0xa4cf, 0xa4de, 0xa4f2, 0xa4eb, 0xa4ca, 0xa4ac, 0xa5f3, 0xa4bf, 0xa5b9, 
+                     0xa4ec, 0xa5a4, 0xa4a6, 0xa4ab, 0xa5c8, 0xa4b3, 0xa1a6, 0xa4e2, 0xa5eb, 0xa5af, 
+                     0xa4ea, 0xa4e9, 0xa1a1, 0xa5c3, 0xa5e9, 0xa4c3, 0xa5ea, 0xa4ad, 0xa5d7, 0xa4b5, 
+                     0xa4f3, 0xa4a2, 0xa5c9, 0xc6fc, 0xa1d6, 0xa1d7, 0xa5bf, 0xa4e8, 0xa5b8, 0xa4af, 
+                     0xa5e1, 0xa4a8, 0xa4bb, 0xa4bd, 0xa4c0, 0xa5a2, 0xa5d5, 0xa4b1, 0xbfb7, 0xa4aa, 
+                     0xa4c4, 0xa5b5, 0xbbc8, 0xa5d6, 0xa4c9, 0xcaf3, 0xa5b7, 0xcbdc, 0xc4ea, 0xa5a6, 
+                     0xa4d0, 0xa5e5, 0xcdd1, 0xa4e1, 0xa4df, 0xa5d0, 0xa5a3, 0xb8a9, 0xa5b3, 0xa5de, 
+                     0xa5ed, 0xa5a7, 0xa5b0, 0xa5e0, 0xa4ef, 0xb9d4, 0xa5aa, 0xa5c6, 0xbef0, 0xcab8, 
+                     0xa1ca, 0xa1cb, 0xa5cb, 0xbaee, 0xa4c1, 0xa5ad, 0xa5c7, 0xa4e4, 0xa5ec, 0xc7bd};
+             
+             String getName() {
+                 return "EUC-JP";
+             }
+             
+             int match(CharsetDetector det) {
+                 return match(det, commonChars);
+             }
+         }
+         
+         /**
+          * The charset recognize for EUC-KR.  A singleton instance of this class
+          *    is created and kept by the public CharsetDetector class
+          */
+         static class CharsetRecog_euc_kr extends CharsetRecog_euc {
+             static int [] commonChars = 
+                 // TODO:  This set of data comes from the character frequency-
+                 //        of-occurence analysis tool.  The data needs to be moved
+                 //        into a resource and loaded from there.
+                    {0xc0cc, 0xb4d9, 0xb4c2, 0xc0c7, 0xbfa1, 0xc7cf, 0xb0a1, 0xb0ed, 0xc7d1, 0xc1f6, 
+                     0xc0bb, 0xb7ce, 0xb1e2, 0xbcad, 0xc0ba, 0xbbe7, 0xc1a4, 0xc0da, 0xb5b5, 0xb8a6, 
+                     0xbeee, 0xb4cf, 0xbcf6, 0xbdc3, 0xb1d7, 0xb4eb, 0xb8ae, 0xc0ce, 0xb3aa, 0xbec6, 
+                     0xc0d6, 0xbab8, 0xb5e9, 0xb6f3, 0xc7d8, 0xb0cd, 0xc0cf, 0xbdba, 0xc0b8, 0xb1b9, 
+                     0xc1a6, 0xb9fd, 0xbbf3, 0xb0d4, 0xb8e9, 0xb8b8, 0xb0fa, 0xc0fb, 0xbace, 0xc1d6, 
+                     0xbfa9, 0xc0fc, 0xbfeb, 0xb9ae, 0xc6ae, 0xbbfd, 0xbcba, 0xc0a7, 0xbff8, 0xb5c7, 
+                     0xbfe4, 0xbfec, 0xbdc5, 0xc7d2, 0xc7e5, 0xb0fc, 0xb1b8, 0xbaf1, 0xbedf, 0xc5cd, 
+                     0xb8b6, 0xbdc0, 0xb7af, 0xb5bf, 0xb3bb, 0xc8ad, 0xc0bd, 0xb0b3, 0xc4a1, 0xb7c2, 
+                     0xb9ab, 0xc0af, 0xbef8, 0xb5a5, 0xbcd2, 0xb9ce, 0xc1df, 0xbfc0, 0xc1f8, 0xb0e6, 
+                     0xb1c7, 0xbad0, 0xbefa, 0xc0e5, 0xbec8, 0xc1b6, 0xb8bb, 0xb0f8, 0xb9cc, 0xb0c5};
+             
+             String getName() {
+                 return "EUC-KR";
+             }
+             
+             int match(CharsetDetector det) {
+                 return match(det, commonChars);
+             }
+         }
+     }
+     
+     /**
+      * 
+      *   GB-18030 recognizer. Uses simplified Chinese statistics.   
+      *
+      */
+     static class CharsetRecog_gb_18030 extends CharsetRecog_mbcs {
+         
+         /*
+          *  (non-Javadoc)
+          *  Get the next character value for EUC based encodings.
+          *  Character "value" is simply the raw bytes that make up the character
+          *     packed into an int.
+          */
+         boolean nextChar(iteratedChar it, CharsetDetector det) {
+             it.index = it.nextIndex;
+             it.error = false;
+             int firstByte  = 0;
+             int secondByte = 0;
+             int thirdByte  = 0;
+             int fourthByte = 0;
+             
+             buildChar: {
+                 firstByte = it.charValue = it.nextByte(det); 
+                 
+                 if (firstByte < 0) {
+                     // Ran off the end of the input data
+                     it.done = true;
+                     break buildChar;
+                 }
+                 
+                 if (firstByte <= 0x80) {
+                     // single byte char
+                     break buildChar;
+                 }
+                 
+                 secondByte = it.nextByte(det);
+                 it.charValue = (it.charValue << 8) | secondByte;
+                 
+                 if (firstByte >= 0x81 && firstByte <= 0xFE) {
+                     // Two byte Char
+                     if ((secondByte >= 0x40 && secondByte <= 0x7E) || (secondByte >=80 && secondByte <=0xFE)) {
+                         break buildChar;
+                     }
+                     
+                     // Four byte char
+                     if (secondByte >= 0x30 && secondByte <= 0x39) {
+                         thirdByte = it.nextByte(det);
+                         
+                         if (thirdByte >= 0x81 && thirdByte <= 0xFE) {
+                             fourthByte = it.nextByte(det);
+                             
+                             if (fourthByte >= 0x30 && fourthByte <= 0x39) {
+                                 it.charValue = (it.charValue << 16) | (thirdByte << 8) | fourthByte;
+                                 break buildChar;
+                             }
+                         }
+                     }
+                     
+                     it.error = true;
+                     break buildChar;
+                 }
+             }
+                 
+             return (it.done == false);
+         }
+         
+         static int [] commonChars = 
+             // TODO:  This set of data comes from the character frequency-
+             //        of-occurence analysis tool.  The data needs to be moved
+             //        into a resource and loaded from there.
+             {0xa3ac, 0xb5c4, 0xa1a1, 0xa1a4, 0xa1a3, 0xcac7, 0xd2bb, 0xb4f3, 0xd4da, 0xd6d0, 
+             0xcafd, 0xd3d0, 0xa1f3, 0xb2bb, 0xa3ba, 0xbbfa, 0xc8cb, 0xa1a2, 0xd3c3, 0xd1a7, 
+             0xc8d5, 0xbedd, 0xb8f6, 0xd0c2, 0xcdf8, 0xd2aa, 0xb9fa, 0xc1cb, 0xc9cf, 0xa1b0, 
+             0xa1b1, 0xced2, 0xbcfe, 0xcec4, 0xd2d4, 0xc4dc, 0xc0b4, 0xd4c2, 0xcab1, 0xd0d0, 
+             0xbdcc, 0xbfc9, 0xb6d4, 0xbcdb, 0xb1be, 0xb3f6, 0xb8b4, 0xc9fa, 0xb1b8, 0xbcbc, 
+             0xcfc2, 0xbacd, 0xbecd, 0xb3c9, 0xd5e2, 0xb8df, 0xb7d6, 0xc5cc, 0xbfc6, 0xbbe1, 
+             0xceaa, 0xc8e7, 0xcfb5, 0xa1f1, 0xc4ea, 0xb1a8, 0xb6af, 0xc0ed, 0xd3fd, 0xb7a2, 
+             0xc8ab, 0xb7bd, 0xcee5, 0xc2db, 0xbba7, 0xd0d4, 0xb9c9, 0xc3c7, 0xb9fd, 0xcad0, 
+             0xb5e3, 0xbbd6, 0xcfd6, 0xcab5, 0xd2b2, 0xbfb4, 0xb6e0, 0xccec, 0xc7f8, 0xd0c5, 
+             0xcad6, 0xb9d8, 0xb5bd, 0xb7dd, 0xc6f7, 0xcaf5, 0xa3a1, 0xb7a8, 0xb9ab, 0xd2b5, 
+             0xcbf9, 0xcdbc, 0xc6e4, 0xd3da, 0xd0a1, 0xd1a1, 0xd3ce, 0xbfaa, 0xb4e6, 0xc4bf, 
+             0xd7f7, 0xb5e7, 0xcdb3, 0xc7e9, 0xd7ee, 0xc6c0, 0xcfdf, 0xb5d8, 0xb5c0, 0xbead, 
+             0xb4c5, 0xc6b7, 0xc4da, 0xd0c4, 0xb9a4, 0xd4aa, 0xc2bc, 0xc3c0, 0xbaf3, 0xcabd, 
+             0xbcd2, 0xcef1, 0xbdab, 0xa3ad, 0xa3bf, 0xb3a4, 0xb9fb, 0xd6ae, 0xc1bf, 0xbbd8, 
+             0xb8f1, 0xb6f8, 0xb6a8, 0xcde2, 0xbac3, 0xb3cc, 0xccd8, 0xd7d4, 0xcbb5};
+         
+         String getName() {
+             return "GB18030";
+         }
+         
+         int match(CharsetDetector det) {
+             return match(det, commonChars);
+         }
+     }
+     
+     
+}
diff --git a/src/com/ibm/icu/text/CharsetRecog_sbcs.java b/src/com/ibm/icu/text/CharsetRecog_sbcs.java
new file mode 100644
index 0000000..3c447f0
--- /dev/null
+++ b/src/com/ibm/icu/text/CharsetRecog_sbcs.java
@@ -0,0 +1,1048 @@
+/*
+ **************************************************************************
+ * Copyright (C) 2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                           *
+ **************************************************************************
+ *
+ */
+
+package com.ibm.icu.text;
+
+/**
+ * This class recognizes single-byte encodings. Because the encoding scheme is so
+ * simple, language statistics are used to do the matching.
+ * 
+ * @internal
+ */
+abstract class CharsetRecog_sbcs extends CharsetRecognizer {
+
+    /* (non-Javadoc)
+     * @see com.ibm.icu.text.CharsetRecognizer#getName()
+     */
+    abstract String getName();
+
+    /* (non-Javadoc)
+     * @see com.ibm.icu.text.CharsetRecognizer#match(com.ibm.icu.text.CharsetDetector)
+     */
+    abstract int match(CharsetDetector det);
+    
+    static class NGramParser
+    {
+        private static final int N_GRAM_SIZE = 3;
+        private static final int N_GRAM_MASK = 0xFFFFFF;
+
+        private int byteIndex = 0;
+        private int ngram = 0;
+        
+        private int[] ngramList;
+        private byte[] byteMap;
+        
+        private int ngramCount;
+        private int hitCount;
+        
+        public NGramParser(int[] theNgramList, byte[] theByteMap)
+        {
+            ngramList = theNgramList;
+            byteMap   = theByteMap;
+            
+            ngram = 0;
+            
+            ngramCount = hitCount = 0;
+        }
+        
+        /*
+         * Binary search for value in table, which must have exactly 64 entries.
+         */
+        private static int search(int[] table, int value)
+        {
+            int index = 0;
+            
+            if (table[index + 32] <= value) {
+                index += 32;
+            }
+            
+            if (table[index + 16] <= value) {
+                index += 16;
+            }
+
+            if (table[index + 8] <= value) {
+                index += 8;
+            }
+
+            if (table[index + 4] <= value) {
+                index += 4;
+            }
+
+            if (table[index + 2] <= value) {
+                index += 2;
+            }
+
+            if (table[index + 1] <= value) {
+                index += 1;
+            }
+
+            if (table[index] > value) {
+                index -= 1;
+            }
+            
+            if (index < 0 || table[index] != value) {
+                return -1;
+            }
+            
+            return index;
+        }
+
+        private void lookup(int thisNgram)
+        {
+            ngramCount += 1;
+            
+            if (search(ngramList, thisNgram) >= 0) {
+                hitCount += 1;
+            }
+            
+        }
+        
+        private void addByte(int b)
+        {
+            ngram = ((ngram << 8) + (b & 0xFF)) & N_GRAM_MASK;
+            lookup(ngram);
+        }
+        
+        private int nextByte(CharsetDetector det)
+        {
+            if (byteIndex >= det.fInputLen) {
+                return -1;
+            }
+            
+            return det.fInputBytes[byteIndex++] & 0xFF;
+        }
+        
+        public int parse(CharsetDetector det)
+        {
+            int b;
+            boolean ignoreSpace = false;
+            
+            while ((b = nextByte(det)) >= 0) {
+                byte mb = byteMap[b];
+                
+                // TODO: 0x20 might not be a space in all character sets...
+                if (mb != 0) {
+                    if (!(mb == 0x20 && ignoreSpace)) {
+                        addByte(mb);                    
+                    }
+                    
+                    ignoreSpace = (mb == 0x20);
+                }
+            }
+            
+            // TODO: Is this OK? The buffer could have ended in the middle of a word...
+            addByte(0x20);
+
+            double rawPercent = (double) hitCount / (double) ngramCount;
+            
+//            if (rawPercent <= 2.0) {
+//                return 0;
+//            }
+            
+            // TODO - This is a bit of a hack to take care of a case
+            // were we were getting a confidence of 135...
+            if (rawPercent > 0.33) {
+                return 98;
+            }
+            
+            return (int) (rawPercent * 300.0);
+        }
+    }
+    
+    protected boolean haveC1Bytes = false;
+    
+    int match(CharsetDetector det, int[] ngrams,  byte[] byteMap)
+    {
+        NGramParser parser = new NGramParser(ngrams, byteMap);
+        
+        haveC1Bytes = det.fC1Bytes;
+        
+        return parser.parse(det);
+    }
+    
+    abstract static class CharsetRecog_8859_1 extends CharsetRecog_sbcs
+    {
+        protected static byte[] byteMap = {
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x00, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x61, (byte) 0x62, (byte) 0x63, (byte) 0x64, (byte) 0x65, (byte) 0x66, (byte) 0x67, 
+            (byte) 0x68, (byte) 0x69, (byte) 0x6A, (byte) 0x6B, (byte) 0x6C, (byte) 0x6D, (byte) 0x6E, (byte) 0x6F, 
+            (byte) 0x70, (byte) 0x71, (byte) 0x72, (byte) 0x73, (byte) 0x74, (byte) 0x75, (byte) 0x76, (byte) 0x77, 
+            (byte) 0x78, (byte) 0x79, (byte) 0x7A, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x61, (byte) 0x62, (byte) 0x63, (byte) 0x64, (byte) 0x65, (byte) 0x66, (byte) 0x67, 
+            (byte) 0x68, (byte) 0x69, (byte) 0x6A, (byte) 0x6B, (byte) 0x6C, (byte) 0x6D, (byte) 0x6E, (byte) 0x6F, 
+            (byte) 0x70, (byte) 0x71, (byte) 0x72, (byte) 0x73, (byte) 0x74, (byte) 0x75, (byte) 0x76, (byte) 0x77, 
+            (byte) 0x78, (byte) 0x79, (byte) 0x7A, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0xAA, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0xB5, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0xBA, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0xE0, (byte) 0xE1, (byte) 0xE2, (byte) 0xE3, (byte) 0xE4, (byte) 0xE5, (byte) 0xE6, (byte) 0xE7, 
+            (byte) 0xE8, (byte) 0xE9, (byte) 0xEA, (byte) 0xEB, (byte) 0xEC, (byte) 0xED, (byte) 0xEE, (byte) 0xEF, 
+            (byte) 0xF0, (byte) 0xF1, (byte) 0xF2, (byte) 0xF3, (byte) 0xF4, (byte) 0xF5, (byte) 0xF6, (byte) 0x20, 
+            (byte) 0xF8, (byte) 0xF9, (byte) 0xFA, (byte) 0xFB, (byte) 0xFC, (byte) 0xFD, (byte) 0xFE, (byte) 0xDF, 
+            (byte) 0xE0, (byte) 0xE1, (byte) 0xE2, (byte) 0xE3, (byte) 0xE4, (byte) 0xE5, (byte) 0xE6, (byte) 0xE7, 
+            (byte) 0xE8, (byte) 0xE9, (byte) 0xEA, (byte) 0xEB, (byte) 0xEC, (byte) 0xED, (byte) 0xEE, (byte) 0xEF, 
+            (byte) 0xF0, (byte) 0xF1, (byte) 0xF2, (byte) 0xF3, (byte) 0xF4, (byte) 0xF5, (byte) 0xF6, (byte) 0x20, 
+            (byte) 0xF8, (byte) 0xF9, (byte) 0xFA, (byte) 0xFB, (byte) 0xFC, (byte) 0xFD, (byte) 0xFE, (byte) 0xFF, 
+        };
+
+        public String getName()
+        {
+            return haveC1Bytes? "windows-1252" : "ISO-8859-1";
+        }
+    }
+
+    static class CharsetRecog_8859_1_da extends CharsetRecog_8859_1
+    {
+        private static int[] ngrams = {
+            0x206166, 0x206174, 0x206465, 0x20656E, 0x206572, 0x20666F, 0x206861, 0x206920, 0x206D65, 0x206F67, 0x2070E5, 0x207369, 0x207374, 0x207469, 0x207669, 0x616620, 
+            0x616E20, 0x616E64, 0x617220, 0x617420, 0x646520, 0x64656E, 0x646572, 0x646574, 0x652073, 0x656420, 0x656465, 0x656E20, 0x656E64, 0x657220, 0x657265, 0x657320, 
+            0x657420, 0x666F72, 0x676520, 0x67656E, 0x676572, 0x696765, 0x696C20, 0x696E67, 0x6B6520, 0x6B6B65, 0x6C6572, 0x6C6967, 0x6C6C65, 0x6D6564, 0x6E6465, 0x6E6520, 
+            0x6E6720, 0x6E6765, 0x6F6720, 0x6F6D20, 0x6F7220, 0x70E520, 0x722064, 0x722065, 0x722073, 0x726520, 0x737465, 0x742073, 0x746520, 0x746572, 0x74696C, 0x766572, 
+        };
+
+        public String getLanguage()
+        {
+            return "da";
+        }
+        
+        public int match(CharsetDetector det)
+        {
+            return match(det, ngrams, byteMap);
+        }
+    }
+
+    static class CharsetRecog_8859_1_de extends CharsetRecog_8859_1
+    {
+        private static int[] ngrams = {
+            0x20616E, 0x206175, 0x206265, 0x206461, 0x206465, 0x206469, 0x206569, 0x206765, 0x206861, 0x20696E, 0x206D69, 0x207363, 0x207365, 0x20756E, 0x207665, 0x20766F, 
+            0x207765, 0x207A75, 0x626572, 0x636820, 0x636865, 0x636874, 0x646173, 0x64656E, 0x646572, 0x646965, 0x652064, 0x652073, 0x65696E, 0x656974, 0x656E20, 0x657220, 
+            0x657320, 0x67656E, 0x68656E, 0x687420, 0x696368, 0x696520, 0x696E20, 0x696E65, 0x697420, 0x6C6963, 0x6C6C65, 0x6E2061, 0x6E2064, 0x6E2073, 0x6E6420, 0x6E6465, 
+            0x6E6520, 0x6E6720, 0x6E6765, 0x6E7465, 0x722064, 0x726465, 0x726569, 0x736368, 0x737465, 0x742064, 0x746520, 0x74656E, 0x746572, 0x756E64, 0x756E67, 0x766572, 
+        };
+
+        public String getLanguage()
+        {
+            return "de";
+        }
+        
+        public int match(CharsetDetector det)
+        {
+            return match(det, ngrams, byteMap);
+        }
+    }
+    
+    static class CharsetRecog_8859_1_en extends CharsetRecog_8859_1
+    {
+        private static int[] ngrams = {
+            0x206120, 0x20616E, 0x206265, 0x20636F, 0x20666F, 0x206861, 0x206865, 0x20696E, 0x206D61, 0x206F66, 0x207072, 0x207265, 0x207361, 0x207374, 0x207468, 0x20746F, 
+            0x207768, 0x616964, 0x616C20, 0x616E20, 0x616E64, 0x617320, 0x617420, 0x617465, 0x617469, 0x642061, 0x642074, 0x652061, 0x652073, 0x652074, 0x656420, 0x656E74, 
+            0x657220, 0x657320, 0x666F72, 0x686174, 0x686520, 0x686572, 0x696420, 0x696E20, 0x696E67, 0x696F6E, 0x697320, 0x6E2061, 0x6E2074, 0x6E6420, 0x6E6720, 0x6E7420, 
+            0x6F6620, 0x6F6E20, 0x6F7220, 0x726520, 0x727320, 0x732061, 0x732074, 0x736169, 0x737420, 0x742074, 0x746572, 0x746861, 0x746865, 0x74696F, 0x746F20, 0x747320, 
+        };
+            
+        public String getLanguage()
+        {
+            return "en";
+        }
+        
+        public int match(CharsetDetector det)
+        {
+            return match(det, ngrams, byteMap);
+        }
+    }
+    
+    static class CharsetRecog_8859_1_es extends CharsetRecog_8859_1
+    {
+        private static int[] ngrams = {
+            0x206120, 0x206361, 0x20636F, 0x206465, 0x20656C, 0x20656E, 0x206573, 0x20696E, 0x206C61, 0x206C6F, 0x207061, 0x20706F, 0x207072, 0x207175, 0x207265, 0x207365, 
+            0x20756E, 0x207920, 0x612063, 0x612064, 0x612065, 0x61206C, 0x612070, 0x616369, 0x61646F, 0x616C20, 0x617220, 0x617320, 0x6369F3, 0x636F6E, 0x646520, 0x64656C, 
+            0x646F20, 0x652064, 0x652065, 0x65206C, 0x656C20, 0x656E20, 0x656E74, 0x657320, 0x657374, 0x69656E, 0x69F36E, 0x6C6120, 0x6C6F73, 0x6E2065, 0x6E7465, 0x6F2064, 
+            0x6F2065, 0x6F6E20, 0x6F7220, 0x6F7320, 0x706172, 0x717565, 0x726120, 0x726573, 0x732064, 0x732065, 0x732070, 0x736520, 0x746520, 0x746F20, 0x756520, 0xF36E20, 
+        };
+            
+        public String getLanguage()
+        {
+            return "es";
+        }
+        
+        public int match(CharsetDetector det)
+        {
+            return match(det, ngrams, byteMap);
+        }
+    }
+    
+    static class CharsetRecog_8859_1_fr extends CharsetRecog_8859_1
+    {
+        private static int[] ngrams = {
+            0x206175, 0x20636F, 0x206461, 0x206465, 0x206475, 0x20656E, 0x206574, 0x206C61, 0x206C65, 0x207061, 0x20706F, 0x207072, 0x207175, 0x207365, 0x20736F, 0x20756E, 
+            0x20E020, 0x616E74, 0x617469, 0x636520, 0x636F6E, 0x646520, 0x646573, 0x647520, 0x652061, 0x652063, 0x652064, 0x652065, 0x65206C, 0x652070, 0x652073, 0x656E20, 
+            0x656E74, 0x657220, 0x657320, 0x657420, 0x657572, 0x696F6E, 0x697320, 0x697420, 0x6C6120, 0x6C6520, 0x6C6573, 0x6D656E, 0x6E2064, 0x6E6520, 0x6E7320, 0x6E7420, 
+            0x6F6E20, 0x6F6E74, 0x6F7572, 0x717565, 0x72206C, 0x726520, 0x732061, 0x732064, 0x732065, 0x73206C, 0x732070, 0x742064, 0x746520, 0x74696F, 0x756520, 0x757220, 
+        };
+
+        public String getLanguage()
+        {
+            return "fr";
+        }
+        
+        public int match(CharsetDetector det)
+        {
+            return match(det, ngrams, byteMap);
+        }
+    }
+    
+    static class CharsetRecog_8859_1_it extends CharsetRecog_8859_1
+    {
+        private static int[] ngrams = {
+            0x20616C, 0x206368, 0x20636F, 0x206465, 0x206469, 0x206520, 0x20696C, 0x20696E, 0x206C61, 0x207065, 0x207072, 0x20756E, 0x612063, 0x612064, 0x612070, 0x612073, 
+            0x61746F, 0x636865, 0x636F6E, 0x64656C, 0x646920, 0x652061, 0x652063, 0x652064, 0x652069, 0x65206C, 0x652070, 0x652073, 0x656C20, 0x656C6C, 0x656E74, 0x657220, 
+            0x686520, 0x692061, 0x692063, 0x692064, 0x692073, 0x696120, 0x696C20, 0x696E20, 0x696F6E, 0x6C6120, 0x6C6520, 0x6C6920, 0x6C6C61, 0x6E6520, 0x6E6920, 0x6E6F20, 
+            0x6E7465, 0x6F2061, 0x6F2064, 0x6F2069, 0x6F2073, 0x6F6E20, 0x6F6E65, 0x706572, 0x726120, 0x726520, 0x736920, 0x746120, 0x746520, 0x746920, 0x746F20, 0x7A696F, 
+        };
+
+        public String getLanguage()
+        {
+            return "it";
+        }
+        
+        public int match(CharsetDetector det)
+        {
+            return match(det, ngrams, byteMap);
+        }
+    }
+    
+    static class CharsetRecog_8859_1_nl extends CharsetRecog_8859_1
+    {
+        private static int[] ngrams = {
+            0x20616C, 0x206265, 0x206461, 0x206465, 0x206469, 0x206565, 0x20656E, 0x206765, 0x206865, 0x20696E, 0x206D61, 0x206D65, 0x206F70, 0x207465, 0x207661, 0x207665, 
+            0x20766F, 0x207765, 0x207A69, 0x61616E, 0x616172, 0x616E20, 0x616E64, 0x617220, 0x617420, 0x636874, 0x646520, 0x64656E, 0x646572, 0x652062, 0x652076, 0x65656E, 
+            0x656572, 0x656E20, 0x657220, 0x657273, 0x657420, 0x67656E, 0x686574, 0x696520, 0x696E20, 0x696E67, 0x697320, 0x6E2062, 0x6E2064, 0x6E2065, 0x6E2068, 0x6E206F, 
+            0x6E2076, 0x6E6465, 0x6E6720, 0x6F6E64, 0x6F6F72, 0x6F7020, 0x6F7220, 0x736368, 0x737465, 0x742064, 0x746520, 0x74656E, 0x746572, 0x76616E, 0x766572, 0x766F6F, 
+        };
+
+        public String getLanguage()
+        {
+            return "nl";
+        }
+        
+        public int match(CharsetDetector det)
+        {
+            return match(det, ngrams, byteMap);
+        }
+    }
+    
+    static class CharsetRecog_8859_1_no extends CharsetRecog_8859_1
+    {
+        private static int[] ngrams = {
+            0x206174, 0x206176, 0x206465, 0x20656E, 0x206572, 0x20666F, 0x206861, 0x206920, 0x206D65, 0x206F67, 0x2070E5, 0x207365, 0x20736B, 0x20736F, 0x207374, 0x207469, 
+            0x207669, 0x20E520, 0x616E64, 0x617220, 0x617420, 0x646520, 0x64656E, 0x646574, 0x652073, 0x656420, 0x656E20, 0x656E65, 0x657220, 0x657265, 0x657420, 0x657474, 
+            0x666F72, 0x67656E, 0x696B6B, 0x696C20, 0x696E67, 0x6B6520, 0x6B6B65, 0x6C6520, 0x6C6C65, 0x6D6564, 0x6D656E, 0x6E2073, 0x6E6520, 0x6E6720, 0x6E6765, 0x6E6E65, 
+            0x6F6720, 0x6F6D20, 0x6F7220, 0x70E520, 0x722073, 0x726520, 0x736F6D, 0x737465, 0x742073, 0x746520, 0x74656E, 0x746572, 0x74696C, 0x747420, 0x747465, 0x766572, 
+        };
+
+        public String getLanguage()
+        {
+            return "no";
+        }
+        
+        public int match(CharsetDetector det)
+        {
+            return match(det, ngrams, byteMap);
+        }
+    }
+    
+    static class CharsetRecog_8859_1_pt extends CharsetRecog_8859_1
+    {
+        private static int[] ngrams = {
+            0x206120, 0x20636F, 0x206461, 0x206465, 0x20646F, 0x206520, 0x206573, 0x206D61, 0x206E6F, 0x206F20, 0x207061, 0x20706F, 0x207072, 0x207175, 0x207265, 0x207365, 
+            0x20756D, 0x612061, 0x612063, 0x612064, 0x612070, 0x616465, 0x61646F, 0x616C20, 0x617220, 0x617261, 0x617320, 0x636F6D, 0x636F6E, 0x646120, 0x646520, 0x646F20, 
+            0x646F73, 0x652061, 0x652064, 0x656D20, 0x656E74, 0x657320, 0x657374, 0x696120, 0x696361, 0x6D656E, 0x6E7465, 0x6E746F, 0x6F2061, 0x6F2063, 0x6F2064, 0x6F2065, 
+            0x6F2070, 0x6F7320, 0x706172, 0x717565, 0x726120, 0x726573, 0x732061, 0x732064, 0x732065, 0x732070, 0x737461, 0x746520, 0x746F20, 0x756520, 0xE36F20, 0xE7E36F, 
+        };
+
+        public String getLanguage()
+        {
+            return "pt";
+        }
+        
+        public int match(CharsetDetector det)
+        {
+            return match(det, ngrams, byteMap);
+        }
+    }
+    
+    static class CharsetRecog_8859_1_sv extends CharsetRecog_8859_1
+    {
+        private static int[] ngrams = {
+            0x206174, 0x206176, 0x206465, 0x20656E, 0x2066F6, 0x206861, 0x206920, 0x20696E, 0x206B6F, 0x206D65, 0x206F63, 0x2070E5, 0x20736B, 0x20736F, 0x207374, 0x207469, 
+            0x207661, 0x207669, 0x20E472, 0x616465, 0x616E20, 0x616E64, 0x617220, 0x617474, 0x636820, 0x646520, 0x64656E, 0x646572, 0x646574, 0x656420, 0x656E20, 0x657220, 
+            0x657420, 0x66F672, 0x67656E, 0x696C6C, 0x696E67, 0x6B6120, 0x6C6C20, 0x6D6564, 0x6E2073, 0x6E6120, 0x6E6465, 0x6E6720, 0x6E6765, 0x6E696E, 0x6F6368, 0x6F6D20, 
+            0x6F6E20, 0x70E520, 0x722061, 0x722073, 0x726120, 0x736B61, 0x736F6D, 0x742073, 0x746120, 0x746520, 0x746572, 0x74696C, 0x747420, 0x766172, 0xE47220, 0xF67220, 
+        };
+
+        public String getLanguage()
+        {
+            return "sv";
+        }
+        
+        public int match(CharsetDetector det)
+        {
+            return match(det, ngrams, byteMap);
+        }
+    }
+    
+    abstract static class CharsetRecog_8859_2 extends CharsetRecog_sbcs
+    {
+        protected static byte[] byteMap = {
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x00, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x61, (byte) 0x62, (byte) 0x63, (byte) 0x64, (byte) 0x65, (byte) 0x66, (byte) 0x67, 
+            (byte) 0x68, (byte) 0x69, (byte) 0x6A, (byte) 0x6B, (byte) 0x6C, (byte) 0x6D, (byte) 0x6E, (byte) 0x6F, 
+            (byte) 0x70, (byte) 0x71, (byte) 0x72, (byte) 0x73, (byte) 0x74, (byte) 0x75, (byte) 0x76, (byte) 0x77, 
+            (byte) 0x78, (byte) 0x79, (byte) 0x7A, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x61, (byte) 0x62, (byte) 0x63, (byte) 0x64, (byte) 0x65, (byte) 0x66, (byte) 0x67, 
+            (byte) 0x68, (byte) 0x69, (byte) 0x6A, (byte) 0x6B, (byte) 0x6C, (byte) 0x6D, (byte) 0x6E, (byte) 0x6F, 
+            (byte) 0x70, (byte) 0x71, (byte) 0x72, (byte) 0x73, (byte) 0x74, (byte) 0x75, (byte) 0x76, (byte) 0x77, 
+            (byte) 0x78, (byte) 0x79, (byte) 0x7A, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0xB1, (byte) 0x20, (byte) 0xB3, (byte) 0x20, (byte) 0xB5, (byte) 0xB6, (byte) 0x20, 
+            (byte) 0x20, (byte) 0xB9, (byte) 0xBA, (byte) 0xBB, (byte) 0xBC, (byte) 0x20, (byte) 0xBE, (byte) 0xBF, 
+            (byte) 0x20, (byte) 0xB1, (byte) 0x20, (byte) 0xB3, (byte) 0x20, (byte) 0xB5, (byte) 0xB6, (byte) 0xB7, 
+            (byte) 0x20, (byte) 0xB9, (byte) 0xBA, (byte) 0xBB, (byte) 0xBC, (byte) 0x20, (byte) 0xBE, (byte) 0xBF, 
+            (byte) 0xE0, (byte) 0xE1, (byte) 0xE2, (byte) 0xE3, (byte) 0xE4, (byte) 0xE5, (byte) 0xE6, (byte) 0xE7, 
+            (byte) 0xE8, (byte) 0xE9, (byte) 0xEA, (byte) 0xEB, (byte) 0xEC, (byte) 0xED, (byte) 0xEE, (byte) 0xEF, 
+            (byte) 0xF0, (byte) 0xF1, (byte) 0xF2, (byte) 0xF3, (byte) 0xF4, (byte) 0xF5, (byte) 0xF6, (byte) 0x20, 
+            (byte) 0xF8, (byte) 0xF9, (byte) 0xFA, (byte) 0xFB, (byte) 0xFC, (byte) 0xFD, (byte) 0xFE, (byte) 0xDF, 
+            (byte) 0xE0, (byte) 0xE1, (byte) 0xE2, (byte) 0xE3, (byte) 0xE4, (byte) 0xE5, (byte) 0xE6, (byte) 0xE7, 
+            (byte) 0xE8, (byte) 0xE9, (byte) 0xEA, (byte) 0xEB, (byte) 0xEC, (byte) 0xED, (byte) 0xEE, (byte) 0xEF, 
+            (byte) 0xF0, (byte) 0xF1, (byte) 0xF2, (byte) 0xF3, (byte) 0xF4, (byte) 0xF5, (byte) 0xF6, (byte) 0x20, 
+            (byte) 0xF8, (byte) 0xF9, (byte) 0xFA, (byte) 0xFB, (byte) 0xFC, (byte) 0xFD, (byte) 0xFE, (byte) 0x20, 
+        };
+
+        public String getName()
+        {
+            return haveC1Bytes? "windows-1250" : "ISO-8859-2";
+        }
+    }
+    
+    static class CharsetRecog_8859_2_cs extends CharsetRecog_8859_2
+    {
+        private static int[] ngrams = {
+            0x206120, 0x206279, 0x20646F, 0x206A65, 0x206E61, 0x206E65, 0x206F20, 0x206F64, 0x20706F, 0x207072, 0x2070F8, 0x20726F, 0x207365, 0x20736F, 0x207374, 0x20746F, 
+            0x207620, 0x207679, 0x207A61, 0x612070, 0x636520, 0x636820, 0x652070, 0x652073, 0x652076, 0x656D20, 0x656EED, 0x686F20, 0x686F64, 0x697374, 0x6A6520, 0x6B7465, 
+            0x6C6520, 0x6C6920, 0x6E6120, 0x6EE920, 0x6EEC20, 0x6EED20, 0x6F2070, 0x6F646E, 0x6F6A69, 0x6F7374, 0x6F7520, 0x6F7661, 0x706F64, 0x706F6A, 0x70726F, 0x70F865, 
+            0x736520, 0x736F75, 0x737461, 0x737469, 0x73746E, 0x746572, 0x746EED, 0x746F20, 0x752070, 0xBE6520, 0xE16EED, 0xE9686F, 0xED2070, 0xED2073, 0xED6D20, 0xF86564, 
+        };
+
+        public String getLanguage()
+        {
+            return "cs";
+        }
+        
+        public int match(CharsetDetector det)
+        {
+            return match(det, ngrams, byteMap);
+        }
+    }
+    
+    static class CharsetRecog_8859_2_hu extends CharsetRecog_8859_2
+    {
+        private static int[] ngrams = {
+            0x206120, 0x20617A, 0x206265, 0x206567, 0x20656C, 0x206665, 0x206861, 0x20686F, 0x206973, 0x206B65, 0x206B69, 0x206BF6, 0x206C65, 0x206D61, 0x206D65, 0x206D69, 
+            0x206E65, 0x20737A, 0x207465, 0x20E973, 0x612061, 0x61206B, 0x61206D, 0x612073, 0x616B20, 0x616E20, 0x617A20, 0x62616E, 0x62656E, 0x656779, 0x656B20, 0x656C20, 
+            0x656C65, 0x656D20, 0x656E20, 0x657265, 0x657420, 0x657465, 0x657474, 0x677920, 0x686F67, 0x696E74, 0x697320, 0x6B2061, 0x6BF67A, 0x6D6567, 0x6D696E, 0x6E2061, 
+            0x6E616B, 0x6E656B, 0x6E656D, 0x6E7420, 0x6F6779, 0x732061, 0x737A65, 0x737A74, 0x737AE1, 0x73E967, 0x742061, 0x747420, 0x74E173, 0x7A6572, 0xE16E20, 0xE97320, 
+        };
+
+        public String getLanguage()
+        {
+            return "hu";
+        }
+        
+        public int match(CharsetDetector det)
+        {
+            return match(det, ngrams, byteMap);
+        }
+    }
+    
+    static class CharsetRecog_8859_2_pl extends CharsetRecog_8859_2
+    {
+        private static int[] ngrams = {
+            0x20637A, 0x20646F, 0x206920, 0x206A65, 0x206B6F, 0x206D61, 0x206D69, 0x206E61, 0x206E69, 0x206F64, 0x20706F, 0x207072, 0x207369, 0x207720, 0x207769, 0x207779, 
+            0x207A20, 0x207A61, 0x612070, 0x612077, 0x616E69, 0x636820, 0x637A65, 0x637A79, 0x646F20, 0x647A69, 0x652070, 0x652073, 0x652077, 0x65207A, 0x65676F, 0x656A20, 
+            0x656D20, 0x656E69, 0x676F20, 0x696120, 0x696520, 0x69656A, 0x6B6120, 0x6B6920, 0x6B6965, 0x6D6965, 0x6E6120, 0x6E6961, 0x6E6965, 0x6F2070, 0x6F7761, 0x6F7769, 
+            0x706F6C, 0x707261, 0x70726F, 0x70727A, 0x727A65, 0x727A79, 0x7369EA, 0x736B69, 0x737461, 0x776965, 0x796368, 0x796D20, 0x7A6520, 0x7A6965, 0x7A7920, 0xF37720, 
+        };
+
+        public String getLanguage()
+        {
+            return "pl";
+        }
+        
+        public int match(CharsetDetector det)
+        {
+            return match(det, ngrams, byteMap);
+        }
+    }
+    
+    static class CharsetRecog_8859_2_ro extends CharsetRecog_8859_2
+    {
+        private static int[] ngrams = {
+            0x206120, 0x206163, 0x206361, 0x206365, 0x20636F, 0x206375, 0x206465, 0x206469, 0x206C61, 0x206D61, 0x207065, 0x207072, 0x207365, 0x2073E3, 0x20756E, 0x20BA69, 
+            0x20EE6E, 0x612063, 0x612064, 0x617265, 0x617420, 0x617465, 0x617520, 0x636172, 0x636F6E, 0x637520, 0x63E320, 0x646520, 0x652061, 0x652063, 0x652064, 0x652070, 
+            0x652073, 0x656120, 0x656920, 0x656C65, 0x656E74, 0x657374, 0x692061, 0x692063, 0x692064, 0x692070, 0x696520, 0x696920, 0x696E20, 0x6C6120, 0x6C6520, 0x6C6F72, 
+            0x6C7569, 0x6E6520, 0x6E7472, 0x6F7220, 0x70656E, 0x726520, 0x726561, 0x727520, 0x73E320, 0x746520, 0x747275, 0x74E320, 0x756920, 0x756C20, 0xBA6920, 0xEE6E20, 
+        };
+
+        public String getLanguage()
+        {
+            return "ro";
+        }
+        
+        public int match(CharsetDetector det)
+        {
+            return match(det, ngrams, byteMap);
+        }
+    }
+    
+    abstract static class CharsetRecog_8859_5 extends CharsetRecog_sbcs
+    {
+        protected static byte[] byteMap = {
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x00, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x61, (byte) 0x62, (byte) 0x63, (byte) 0x64, (byte) 0x65, (byte) 0x66, (byte) 0x67, 
+            (byte) 0x68, (byte) 0x69, (byte) 0x6A, (byte) 0x6B, (byte) 0x6C, (byte) 0x6D, (byte) 0x6E, (byte) 0x6F, 
+            (byte) 0x70, (byte) 0x71, (byte) 0x72, (byte) 0x73, (byte) 0x74, (byte) 0x75, (byte) 0x76, (byte) 0x77, 
+            (byte) 0x78, (byte) 0x79, (byte) 0x7A, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x61, (byte) 0x62, (byte) 0x63, (byte) 0x64, (byte) 0x65, (byte) 0x66, (byte) 0x67, 
+            (byte) 0x68, (byte) 0x69, (byte) 0x6A, (byte) 0x6B, (byte) 0x6C, (byte) 0x6D, (byte) 0x6E, (byte) 0x6F, 
+            (byte) 0x70, (byte) 0x71, (byte) 0x72, (byte) 0x73, (byte) 0x74, (byte) 0x75, (byte) 0x76, (byte) 0x77, 
+            (byte) 0x78, (byte) 0x79, (byte) 0x7A, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0xF1, (byte) 0xF2, (byte) 0xF3, (byte) 0xF4, (byte) 0xF5, (byte) 0xF6, (byte) 0xF7, 
+            (byte) 0xF8, (byte) 0xF9, (byte) 0xFA, (byte) 0xFB, (byte) 0xFC, (byte) 0x20, (byte) 0xFE, (byte) 0xFF, 
+            (byte) 0xD0, (byte) 0xD1, (byte) 0xD2, (byte) 0xD3, (byte) 0xD4, (byte) 0xD5, (byte) 0xD6, (byte) 0xD7, 
+            (byte) 0xD8, (byte) 0xD9, (byte) 0xDA, (byte) 0xDB, (byte) 0xDC, (byte) 0xDD, (byte) 0xDE, (byte) 0xDF, 
+            (byte) 0xE0, (byte) 0xE1, (byte) 0xE2, (byte) 0xE3, (byte) 0xE4, (byte) 0xE5, (byte) 0xE6, (byte) 0xE7, 
+            (byte) 0xE8, (byte) 0xE9, (byte) 0xEA, (byte) 0xEB, (byte) 0xEC, (byte) 0xED, (byte) 0xEE, (byte) 0xEF, 
+            (byte) 0xD0, (byte) 0xD1, (byte) 0xD2, (byte) 0xD3, (byte) 0xD4, (byte) 0xD5, (byte) 0xD6, (byte) 0xD7, 
+            (byte) 0xD8, (byte) 0xD9, (byte) 0xDA, (byte) 0xDB, (byte) 0xDC, (byte) 0xDD, (byte) 0xDE, (byte) 0xDF, 
+            (byte) 0xE0, (byte) 0xE1, (byte) 0xE2, (byte) 0xE3, (byte) 0xE4, (byte) 0xE5, (byte) 0xE6, (byte) 0xE7, 
+            (byte) 0xE8, (byte) 0xE9, (byte) 0xEA, (byte) 0xEB, (byte) 0xEC, (byte) 0xED, (byte) 0xEE, (byte) 0xEF, 
+            (byte) 0x20, (byte) 0xF1, (byte) 0xF2, (byte) 0xF3, (byte) 0xF4, (byte) 0xF5, (byte) 0xF6, (byte) 0xF7, 
+            (byte) 0xF8, (byte) 0xF9, (byte) 0xFA, (byte) 0xFB, (byte) 0xFC, (byte) 0x20, (byte) 0xFE, (byte) 0xFF, 
+        };
+
+        public String getName()
+        {
+            return "ISO-8859-5";
+        }
+    }
+    
+    static class CharsetRecog_8859_5_ru extends CharsetRecog_8859_5
+    {
+        private static int[] ngrams = {
+            0x20D220, 0x20D2DE, 0x20D4DE, 0x20D7D0, 0x20D820, 0x20DAD0, 0x20DADE, 0x20DDD0, 0x20DDD5, 0x20DED1, 0x20DFDE, 0x20DFE0, 0x20E0D0, 0x20E1DE, 0x20E1E2, 0x20E2DE, 
+            0x20E7E2, 0x20EDE2, 0xD0DDD8, 0xD0E2EC, 0xD3DE20, 0xD5DBEC, 0xD5DDD8, 0xD5E1E2, 0xD5E220, 0xD820DF, 0xD8D520, 0xD8D820, 0xD8EF20, 0xDBD5DD, 0xDBD820, 0xDBECDD, 
+            0xDDD020, 0xDDD520, 0xDDD8D5, 0xDDD8EF, 0xDDDE20, 0xDDDED2, 0xDE20D2, 0xDE20DF, 0xDE20E1, 0xDED220, 0xDED2D0, 0xDED3DE, 0xDED920, 0xDEDBEC, 0xDEDC20, 0xDEE1E2, 
+            0xDFDEDB, 0xDFE0D5, 0xDFE0D8, 0xDFE0DE, 0xE0D0D2, 0xE0D5D4, 0xE1E2D0, 0xE1E2D2, 0xE1E2D8, 0xE1EF20, 0xE2D5DB, 0xE2DE20, 0xE2DEE0, 0xE2EC20, 0xE7E2DE, 0xEBE520, 
+        };
+
+        public String getLanguage()
+        {
+            return "ru";
+        }
+        
+        public int match(CharsetDetector det)
+        {
+            return match(det, ngrams, byteMap);
+        }
+    }
+    
+    abstract static class CharsetRecog_8859_6 extends CharsetRecog_sbcs
+    {
+        protected static byte[] byteMap = {
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x00, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x61, (byte) 0x62, (byte) 0x63, (byte) 0x64, (byte) 0x65, (byte) 0x66, (byte) 0x67, 
+            (byte) 0x68, (byte) 0x69, (byte) 0x6A, (byte) 0x6B, (byte) 0x6C, (byte) 0x6D, (byte) 0x6E, (byte) 0x6F, 
+            (byte) 0x70, (byte) 0x71, (byte) 0x72, (byte) 0x73, (byte) 0x74, (byte) 0x75, (byte) 0x76, (byte) 0x77, 
+            (byte) 0x78, (byte) 0x79, (byte) 0x7A, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x61, (byte) 0x62, (byte) 0x63, (byte) 0x64, (byte) 0x65, (byte) 0x66, (byte) 0x67, 
+            (byte) 0x68, (byte) 0x69, (byte) 0x6A, (byte) 0x6B, (byte) 0x6C, (byte) 0x6D, (byte) 0x6E, (byte) 0x6F, 
+            (byte) 0x70, (byte) 0x71, (byte) 0x72, (byte) 0x73, (byte) 0x74, (byte) 0x75, (byte) 0x76, (byte) 0x77, 
+            (byte) 0x78, (byte) 0x79, (byte) 0x7A, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0xC1, (byte) 0xC2, (byte) 0xC3, (byte) 0xC4, (byte) 0xC5, (byte) 0xC6, (byte) 0xC7, 
+            (byte) 0xC8, (byte) 0xC9, (byte) 0xCA, (byte) 0xCB, (byte) 0xCC, (byte) 0xCD, (byte) 0xCE, (byte) 0xCF, 
+            (byte) 0xD0, (byte) 0xD1, (byte) 0xD2, (byte) 0xD3, (byte) 0xD4, (byte) 0xD5, (byte) 0xD6, (byte) 0xD7, 
+            (byte) 0xD8, (byte) 0xD9, (byte) 0xDA, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0xE0, (byte) 0xE1, (byte) 0xE2, (byte) 0xE3, (byte) 0xE4, (byte) 0xE5, (byte) 0xE6, (byte) 0xE7, 
+            (byte) 0xE8, (byte) 0xE9, (byte) 0xEA, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+        };
+
+        public String getName()
+        {
+            return "ISO-8859-6";
+        }
+    }
+    
+    static class CharsetRecog_8859_6_ar extends CharsetRecog_8859_6
+    {
+        private static int[] ngrams = {
+            0x20C7E4, 0x20C7E6, 0x20C8C7, 0x20D9E4, 0x20E1EA, 0x20E4E4, 0x20E5E6, 0x20E8C7, 0xC720C7, 0xC7C120, 0xC7CA20, 0xC7D120, 0xC7E420, 0xC7E4C3, 0xC7E4C7, 0xC7E4C8, 
+            0xC7E4CA, 0xC7E4CC, 0xC7E4CD, 0xC7E4CF, 0xC7E4D3, 0xC7E4D9, 0xC7E4E2, 0xC7E4E5, 0xC7E4E8, 0xC7E4EA, 0xC7E520, 0xC7E620, 0xC7E6CA, 0xC820C7, 0xC920C7, 0xC920E1, 
+            0xC920E4, 0xC920E5, 0xC920E8, 0xCA20C7, 0xCF20C7, 0xCFC920, 0xD120C7, 0xD1C920, 0xD320C7, 0xD920C7, 0xD9E4E9, 0xE1EA20, 0xE420C7, 0xE4C920, 0xE4E920, 0xE4EA20, 
+            0xE520C7, 0xE5C720, 0xE5C920, 0xE5E620, 0xE620C7, 0xE720C7, 0xE7C720, 0xE8C7E4, 0xE8E620, 0xE920C7, 0xEA20C7, 0xEA20E5, 0xEA20E8, 0xEAC920, 0xEAD120, 0xEAE620, 
+        };
+
+        public String getLanguage()
+        {
+            return "ar";
+        }
+        
+        public int match(CharsetDetector det)
+        {
+            return match(det, ngrams, byteMap);
+        }
+    }
+    
+    abstract static class CharsetRecog_8859_7 extends CharsetRecog_sbcs
+    {
+        protected static byte[] byteMap = {
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x00, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x61, (byte) 0x62, (byte) 0x63, (byte) 0x64, (byte) 0x65, (byte) 0x66, (byte) 0x67, 
+            (byte) 0x68, (byte) 0x69, (byte) 0x6A, (byte) 0x6B, (byte) 0x6C, (byte) 0x6D, (byte) 0x6E, (byte) 0x6F, 
+            (byte) 0x70, (byte) 0x71, (byte) 0x72, (byte) 0x73, (byte) 0x74, (byte) 0x75, (byte) 0x76, (byte) 0x77, 
+            (byte) 0x78, (byte) 0x79, (byte) 0x7A, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x61, (byte) 0x62, (byte) 0x63, (byte) 0x64, (byte) 0x65, (byte) 0x66, (byte) 0x67, 
+            (byte) 0x68, (byte) 0x69, (byte) 0x6A, (byte) 0x6B, (byte) 0x6C, (byte) 0x6D, (byte) 0x6E, (byte) 0x6F, 
+            (byte) 0x70, (byte) 0x71, (byte) 0x72, (byte) 0x73, (byte) 0x74, (byte) 0x75, (byte) 0x76, (byte) 0x77, 
+            (byte) 0x78, (byte) 0x79, (byte) 0x7A, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0xA1, (byte) 0xA2, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0xDC, (byte) 0x20, 
+            (byte) 0xDD, (byte) 0xDE, (byte) 0xDF, (byte) 0x20, (byte) 0xFC, (byte) 0x20, (byte) 0xFD, (byte) 0xFE, 
+            (byte) 0xC0, (byte) 0xE1, (byte) 0xE2, (byte) 0xE3, (byte) 0xE4, (byte) 0xE5, (byte) 0xE6, (byte) 0xE7, 
+            (byte) 0xE8, (byte) 0xE9, (byte) 0xEA, (byte) 0xEB, (byte) 0xEC, (byte) 0xED, (byte) 0xEE, (byte) 0xEF, 
+            (byte) 0xF0, (byte) 0xF1, (byte) 0x20, (byte) 0xF3, (byte) 0xF4, (byte) 0xF5, (byte) 0xF6, (byte) 0xF7, 
+            (byte) 0xF8, (byte) 0xF9, (byte) 0xFA, (byte) 0xFB, (byte) 0xDC, (byte) 0xDD, (byte) 0xDE, (byte) 0xDF, 
+            (byte) 0xE0, (byte) 0xE1, (byte) 0xE2, (byte) 0xE3, (byte) 0xE4, (byte) 0xE5, (byte) 0xE6, (byte) 0xE7, 
+            (byte) 0xE8, (byte) 0xE9, (byte) 0xEA, (byte) 0xEB, (byte) 0xEC, (byte) 0xED, (byte) 0xEE, (byte) 0xEF, 
+            (byte) 0xF0, (byte) 0xF1, (byte) 0xF2, (byte) 0xF3, (byte) 0xF4, (byte) 0xF5, (byte) 0xF6, (byte) 0xF7, 
+            (byte) 0xF8, (byte) 0xF9, (byte) 0xFA, (byte) 0xFB, (byte) 0xFC, (byte) 0xFD, (byte) 0xFE, (byte) 0x20, 
+        };
+
+        public String getName()
+        {
+            return haveC1Bytes? "windows-1253" : "ISO-8859-7";
+        }
+    }
+    
+    static class CharsetRecog_8859_7_el extends CharsetRecog_8859_7
+    {
+        private static int[] ngrams = {
+            0x20E1ED, 0x20E1F0, 0x20E3E9, 0x20E4E9, 0x20E5F0, 0x20E720, 0x20EAE1, 0x20ECE5, 0x20EDE1, 0x20EF20, 0x20F0E1, 0x20F0EF, 0x20F0F1, 0x20F3F4, 0x20F3F5, 0x20F4E7, 
+            0x20F4EF, 0xDFE120, 0xE120E1, 0xE120F4, 0xE1E920, 0xE1ED20, 0xE1F0FC, 0xE1F220, 0xE3E9E1, 0xE5E920, 0xE5F220, 0xE720F4, 0xE7ED20, 0xE7F220, 0xE920F4, 0xE9E120, 
+            0xE9EADE, 0xE9F220, 0xEAE1E9, 0xEAE1F4, 0xECE520, 0xED20E1, 0xED20E5, 0xED20F0, 0xEDE120, 0xEFF220, 0xEFF520, 0xF0EFF5, 0xF0F1EF, 0xF0FC20, 0xF220E1, 0xF220E5, 
+            0xF220EA, 0xF220F0, 0xF220F4, 0xF3E520, 0xF3E720, 0xF3F4EF, 0xF4E120, 0xF4E1E9, 0xF4E7ED, 0xF4E7F2, 0xF4E9EA, 0xF4EF20, 0xF4EFF5, 0xF4F9ED, 0xF9ED20, 0xFEED20, 
+        };
+
+        public String getLanguage()
+        {
+            return "el";
+        }
+        
+        public int match(CharsetDetector det)
+        {
+            return match(det, ngrams, byteMap);
+        }
+    }
+    
+    abstract static class CharsetRecog_8859_8 extends CharsetRecog_sbcs
+    {
+        protected static byte[] byteMap = {
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x00, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x61, (byte) 0x62, (byte) 0x63, (byte) 0x64, (byte) 0x65, (byte) 0x66, (byte) 0x67, 
+            (byte) 0x68, (byte) 0x69, (byte) 0x6A, (byte) 0x6B, (byte) 0x6C, (byte) 0x6D, (byte) 0x6E, (byte) 0x6F, 
+            (byte) 0x70, (byte) 0x71, (byte) 0x72, (byte) 0x73, (byte) 0x74, (byte) 0x75, (byte) 0x76, (byte) 0x77, 
+            (byte) 0x78, (byte) 0x79, (byte) 0x7A, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x61, (byte) 0x62, (byte) 0x63, (byte) 0x64, (byte) 0x65, (byte) 0x66, (byte) 0x67, 
+            (byte) 0x68, (byte) 0x69, (byte) 0x6A, (byte) 0x6B, (byte) 0x6C, (byte) 0x6D, (byte) 0x6E, (byte) 0x6F, 
+            (byte) 0x70, (byte) 0x71, (byte) 0x72, (byte) 0x73, (byte) 0x74, (byte) 0x75, (byte) 0x76, (byte) 0x77, 
+            (byte) 0x78, (byte) 0x79, (byte) 0x7A, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0xB5, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0xE0, (byte) 0xE1, (byte) 0xE2, (byte) 0xE3, (byte) 0xE4, (byte) 0xE5, (byte) 0xE6, (byte) 0xE7, 
+            (byte) 0xE8, (byte) 0xE9, (byte) 0xEA, (byte) 0xEB, (byte) 0xEC, (byte) 0xED, (byte) 0xEE, (byte) 0xEF, 
+            (byte) 0xF0, (byte) 0xF1, (byte) 0xF2, (byte) 0xF3, (byte) 0xF4, (byte) 0xF5, (byte) 0xF6, (byte) 0xF7, 
+            (byte) 0xF8, (byte) 0xF9, (byte) 0xFA, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+        };
+
+        public String getName()
+        {
+            return haveC1Bytes? "windows-1255" : "ISO-8859-8";
+        }
+    }
+    
+    static class CharsetRecog_8859_8_I_he extends CharsetRecog_8859_8
+    {
+        private static int[] ngrams = {
+            0x20E0E5, 0x20E0E7, 0x20E0E9, 0x20E0FA, 0x20E1E9, 0x20E1EE, 0x20E4E0, 0x20E4E5, 0x20E4E9, 0x20E4EE, 0x20E4F2, 0x20E4F9, 0x20E4FA, 0x20ECE0, 0x20ECE4, 0x20EEE0, 
+            0x20F2EC, 0x20F9EC, 0xE0FA20, 0xE420E0, 0xE420E1, 0xE420E4, 0xE420EC, 0xE420EE, 0xE420F9, 0xE4E5E0, 0xE5E020, 0xE5ED20, 0xE5EF20, 0xE5F820, 0xE5FA20, 0xE920E4, 
+            0xE9E420, 0xE9E5FA, 0xE9E9ED, 0xE9ED20, 0xE9EF20, 0xE9F820, 0xE9FA20, 0xEC20E0, 0xEC20E4, 0xECE020, 0xECE420, 0xED20E0, 0xED20E1, 0xED20E4, 0xED20EC, 0xED20EE, 
+            0xED20F9, 0xEEE420, 0xEF20E4, 0xF0E420, 0xF0E920, 0xF0E9ED, 0xF2EC20, 0xF820E4, 0xF8E9ED, 0xF9EC20, 0xFA20E0, 0xFA20E1, 0xFA20E4, 0xFA20EC, 0xFA20EE, 0xFA20F9, 
+        };
+
+        public String getLanguage()
+        {
+            return "he";
+        }
+        
+        public int match(CharsetDetector det)
+        {
+            return match(det, ngrams, byteMap);
+        }
+    }
+    
+    static class CharsetRecog_8859_8_he extends CharsetRecog_8859_8
+    {
+        private static int[] ngrams = {
+            0x20E0E5, 0x20E0EC, 0x20E4E9, 0x20E4EC, 0x20E4EE, 0x20E4F0, 0x20E9F0, 0x20ECF2, 0x20ECF9, 0x20EDE5, 0x20EDE9, 0x20EFE5, 0x20EFE9, 0x20F8E5, 0x20F8E9, 0x20FAE0, 
+            0x20FAE5, 0x20FAE9, 0xE020E4, 0xE020EC, 0xE020ED, 0xE020FA, 0xE0E420, 0xE0E5E4, 0xE0EC20, 0xE0EE20, 0xE120E4, 0xE120ED, 0xE120FA, 0xE420E4, 0xE420E9, 0xE420EC, 
+            0xE420ED, 0xE420EF, 0xE420F8, 0xE420FA, 0xE4EC20, 0xE5E020, 0xE5E420, 0xE7E020, 0xE9E020, 0xE9E120, 0xE9E420, 0xEC20E4, 0xEC20ED, 0xEC20FA, 0xECF220, 0xECF920, 
+            0xEDE9E9, 0xEDE9F0, 0xEDE9F8, 0xEE20E4, 0xEE20ED, 0xEE20FA, 0xEEE120, 0xEEE420, 0xF2E420, 0xF920E4, 0xF920ED, 0xF920FA, 0xF9E420, 0xFAE020, 0xFAE420, 0xFAE5E9, 
+        };
+
+        public String getLanguage()
+        {
+            return "he_VISUAL";
+        }
+        
+        public int match(CharsetDetector det)
+        {
+            return match(det, ngrams, byteMap);
+        }
+    }
+    
+    abstract static class CharsetRecog_8859_9 extends CharsetRecog_sbcs
+    {
+        protected static byte[] byteMap = {
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x00, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x61, (byte) 0x62, (byte) 0x63, (byte) 0x64, (byte) 0x65, (byte) 0x66, (byte) 0x67, 
+            (byte) 0x68, (byte) 0x69, (byte) 0x6A, (byte) 0x6B, (byte) 0x6C, (byte) 0x6D, (byte) 0x6E, (byte) 0x6F, 
+            (byte) 0x70, (byte) 0x71, (byte) 0x72, (byte) 0x73, (byte) 0x74, (byte) 0x75, (byte) 0x76, (byte) 0x77, 
+            (byte) 0x78, (byte) 0x79, (byte) 0x7A, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x61, (byte) 0x62, (byte) 0x63, (byte) 0x64, (byte) 0x65, (byte) 0x66, (byte) 0x67, 
+            (byte) 0x68, (byte) 0x69, (byte) 0x6A, (byte) 0x6B, (byte) 0x6C, (byte) 0x6D, (byte) 0x6E, (byte) 0x6F, 
+            (byte) 0x70, (byte) 0x71, (byte) 0x72, (byte) 0x73, (byte) 0x74, (byte) 0x75, (byte) 0x76, (byte) 0x77, 
+            (byte) 0x78, (byte) 0x79, (byte) 0x7A, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0xAA, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0xB5, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0xBA, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0xE0, (byte) 0xE1, (byte) 0xE2, (byte) 0xE3, (byte) 0xE4, (byte) 0xE5, (byte) 0xE6, (byte) 0xE7, 
+            (byte) 0xE8, (byte) 0xE9, (byte) 0xEA, (byte) 0xEB, (byte) 0xEC, (byte) 0xED, (byte) 0xEE, (byte) 0xEF, 
+            (byte) 0xF0, (byte) 0xF1, (byte) 0xF2, (byte) 0xF3, (byte) 0xF4, (byte) 0xF5, (byte) 0xF6, (byte) 0x20, 
+            (byte) 0xF8, (byte) 0xF9, (byte) 0xFA, (byte) 0xFB, (byte) 0xFC, (byte) 0x69, (byte) 0xFE, (byte) 0xDF, 
+            (byte) 0xE0, (byte) 0xE1, (byte) 0xE2, (byte) 0xE3, (byte) 0xE4, (byte) 0xE5, (byte) 0xE6, (byte) 0xE7, 
+            (byte) 0xE8, (byte) 0xE9, (byte) 0xEA, (byte) 0xEB, (byte) 0xEC, (byte) 0xED, (byte) 0xEE, (byte) 0xEF, 
+            (byte) 0xF0, (byte) 0xF1, (byte) 0xF2, (byte) 0xF3, (byte) 0xF4, (byte) 0xF5, (byte) 0xF6, (byte) 0x20, 
+            (byte) 0xF8, (byte) 0xF9, (byte) 0xFA, (byte) 0xFB, (byte) 0xFC, (byte) 0xFD, (byte) 0xFE, (byte) 0xFF, 
+        };
+
+        public String getName()
+        {
+            return haveC1Bytes? "windows-1254" : "ISO-8859-9";
+        }
+    }
+    
+    static class CharsetRecog_8859_9_tr extends CharsetRecog_8859_9
+    {
+        private static int[] ngrams = {
+            0x206261, 0x206269, 0x206275, 0x206461, 0x206465, 0x206765, 0x206861, 0x20696C, 0x206B61, 0x206B6F, 0x206D61, 0x206F6C, 0x207361, 0x207461, 0x207665, 0x207961, 
+            0x612062, 0x616B20, 0x616C61, 0x616D61, 0x616E20, 0x616EFD, 0x617220, 0x617261, 0x6172FD, 0x6173FD, 0x617961, 0x626972, 0x646120, 0x646520, 0x646920, 0x652062, 
+            0x65206B, 0x656469, 0x656E20, 0x657220, 0x657269, 0x657369, 0x696C65, 0x696E20, 0x696E69, 0x697220, 0x6C616E, 0x6C6172, 0x6C6520, 0x6C6572, 0x6E2061, 0x6E2062, 
+            0x6E206B, 0x6E6461, 0x6E6465, 0x6E6520, 0x6E6920, 0x6E696E, 0x6EFD20, 0x72696E, 0x72FD6E, 0x766520, 0x796120, 0x796F72, 0xFD6E20, 0xFD6E64, 0xFD6EFD, 0xFDF0FD, 
+        };
+
+        public String getLanguage()
+        {
+            return "tr";
+        }
+        
+        public int match(CharsetDetector det)
+        {
+            return match(det, ngrams, byteMap);
+        }
+    }
+    
+    static class CharsetRecog_windows_1251 extends CharsetRecog_sbcs
+    {
+        private static int[] ngrams = {
+            0x20E220, 0x20E2EE, 0x20E4EE, 0x20E7E0, 0x20E820, 0x20EAE0, 0x20EAEE, 0x20EDE0, 0x20EDE5, 0x20EEE1, 0x20EFEE, 0x20EFF0, 0x20F0E0, 0x20F1EE, 0x20F1F2, 0x20F2EE, 
+            0x20F7F2, 0x20FDF2, 0xE0EDE8, 0xE0F2FC, 0xE3EE20, 0xE5EBFC, 0xE5EDE8, 0xE5F1F2, 0xE5F220, 0xE820EF, 0xE8E520, 0xE8E820, 0xE8FF20, 0xEBE5ED, 0xEBE820, 0xEBFCED, 
+            0xEDE020, 0xEDE520, 0xEDE8E5, 0xEDE8FF, 0xEDEE20, 0xEDEEE2, 0xEE20E2, 0xEE20EF, 0xEE20F1, 0xEEE220, 0xEEE2E0, 0xEEE3EE, 0xEEE920, 0xEEEBFC, 0xEEEC20, 0xEEF1F2, 
+            0xEFEEEB, 0xEFF0E5, 0xEFF0E8, 0xEFF0EE, 0xF0E0E2, 0xF0E5E4, 0xF1F2E0, 0xF1F2E2, 0xF1F2E8, 0xF1FF20, 0xF2E5EB, 0xF2EE20, 0xF2EEF0, 0xF2FC20, 0xF7F2EE, 0xFBF520, 
+        };
+
+        private static byte[] byteMap = {
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x00, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x61, (byte) 0x62, (byte) 0x63, (byte) 0x64, (byte) 0x65, (byte) 0x66, (byte) 0x67, 
+            (byte) 0x68, (byte) 0x69, (byte) 0x6A, (byte) 0x6B, (byte) 0x6C, (byte) 0x6D, (byte) 0x6E, (byte) 0x6F, 
+            (byte) 0x70, (byte) 0x71, (byte) 0x72, (byte) 0x73, (byte) 0x74, (byte) 0x75, (byte) 0x76, (byte) 0x77, 
+            (byte) 0x78, (byte) 0x79, (byte) 0x7A, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x61, (byte) 0x62, (byte) 0x63, (byte) 0x64, (byte) 0x65, (byte) 0x66, (byte) 0x67, 
+            (byte) 0x68, (byte) 0x69, (byte) 0x6A, (byte) 0x6B, (byte) 0x6C, (byte) 0x6D, (byte) 0x6E, (byte) 0x6F, 
+            (byte) 0x70, (byte) 0x71, (byte) 0x72, (byte) 0x73, (byte) 0x74, (byte) 0x75, (byte) 0x76, (byte) 0x77, 
+            (byte) 0x78, (byte) 0x79, (byte) 0x7A, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x90, (byte) 0x83, (byte) 0x20, (byte) 0x83, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x9A, (byte) 0x20, (byte) 0x9C, (byte) 0x9D, (byte) 0x9E, (byte) 0x9F, 
+            (byte) 0x90, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x9A, (byte) 0x20, (byte) 0x9C, (byte) 0x9D, (byte) 0x9E, (byte) 0x9F, 
+            (byte) 0x20, (byte) 0xA2, (byte) 0xA2, (byte) 0xBC, (byte) 0x20, (byte) 0xB4, (byte) 0x20, (byte) 0x20, 
+            (byte) 0xB8, (byte) 0x20, (byte) 0xBA, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0xBF, 
+            (byte) 0x20, (byte) 0x20, (byte) 0xB3, (byte) 0xB3, (byte) 0xB4, (byte) 0xB5, (byte) 0x20, (byte) 0x20, 
+            (byte) 0xB8, (byte) 0x20, (byte) 0xBA, (byte) 0x20, (byte) 0xBC, (byte) 0xBE, (byte) 0xBE, (byte) 0xBF, 
+            (byte) 0xE0, (byte) 0xE1, (byte) 0xE2, (byte) 0xE3, (byte) 0xE4, (byte) 0xE5, (byte) 0xE6, (byte) 0xE7, 
+            (byte) 0xE8, (byte) 0xE9, (byte) 0xEA, (byte) 0xEB, (byte) 0xEC, (byte) 0xED, (byte) 0xEE, (byte) 0xEF, 
+            (byte) 0xF0, (byte) 0xF1, (byte) 0xF2, (byte) 0xF3, (byte) 0xF4, (byte) 0xF5, (byte) 0xF6, (byte) 0xF7, 
+            (byte) 0xF8, (byte) 0xF9, (byte) 0xFA, (byte) 0xFB, (byte) 0xFC, (byte) 0xFD, (byte) 0xFE, (byte) 0xFF, 
+            (byte) 0xE0, (byte) 0xE1, (byte) 0xE2, (byte) 0xE3, (byte) 0xE4, (byte) 0xE5, (byte) 0xE6, (byte) 0xE7, 
+            (byte) 0xE8, (byte) 0xE9, (byte) 0xEA, (byte) 0xEB, (byte) 0xEC, (byte) 0xED, (byte) 0xEE, (byte) 0xEF, 
+            (byte) 0xF0, (byte) 0xF1, (byte) 0xF2, (byte) 0xF3, (byte) 0xF4, (byte) 0xF5, (byte) 0xF6, (byte) 0xF7, 
+            (byte) 0xF8, (byte) 0xF9, (byte) 0xFA, (byte) 0xFB, (byte) 0xFC, (byte) 0xFD, (byte) 0xFE, (byte) 0xFF, 
+        };
+
+        public String getName()
+        {
+            return  "windows-1251";
+        }
+        
+        public String getLanguage()
+        {
+            return "ru";
+        }
+        
+        public int match(CharsetDetector det)
+        {
+            return match(det, ngrams, byteMap);
+        }
+    }
+    
+    static class CharsetRecog_windows_1256 extends CharsetRecog_sbcs
+    {
+        private static int[] ngrams = {
+            0x20C7E1, 0x20C7E4, 0x20C8C7, 0x20DAE1, 0x20DDED, 0x20E1E1, 0x20E3E4, 0x20E6C7, 0xC720C7, 0xC7C120, 0xC7CA20, 0xC7D120, 0xC7E120, 0xC7E1C3, 0xC7E1C7, 0xC7E1C8, 
+            0xC7E1CA, 0xC7E1CC, 0xC7E1CD, 0xC7E1CF, 0xC7E1D3, 0xC7E1DA, 0xC7E1DE, 0xC7E1E3, 0xC7E1E6, 0xC7E1ED, 0xC7E320, 0xC7E420, 0xC7E4CA, 0xC820C7, 0xC920C7, 0xC920DD, 
+            0xC920E1, 0xC920E3, 0xC920E6, 0xCA20C7, 0xCF20C7, 0xCFC920, 0xD120C7, 0xD1C920, 0xD320C7, 0xDA20C7, 0xDAE1EC, 0xDDED20, 0xE120C7, 0xE1C920, 0xE1EC20, 0xE1ED20, 
+            0xE320C7, 0xE3C720, 0xE3C920, 0xE3E420, 0xE420C7, 0xE520C7, 0xE5C720, 0xE6C7E1, 0xE6E420, 0xEC20C7, 0xED20C7, 0xED20E3, 0xED20E6, 0xEDC920, 0xEDD120, 0xEDE420, 
+        };
+
+        private static byte[] byteMap = {
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x00, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x61, (byte) 0x62, (byte) 0x63, (byte) 0x64, (byte) 0x65, (byte) 0x66, (byte) 0x67, 
+            (byte) 0x68, (byte) 0x69, (byte) 0x6A, (byte) 0x6B, (byte) 0x6C, (byte) 0x6D, (byte) 0x6E, (byte) 0x6F, 
+            (byte) 0x70, (byte) 0x71, (byte) 0x72, (byte) 0x73, (byte) 0x74, (byte) 0x75, (byte) 0x76, (byte) 0x77, 
+            (byte) 0x78, (byte) 0x79, (byte) 0x7A, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x61, (byte) 0x62, (byte) 0x63, (byte) 0x64, (byte) 0x65, (byte) 0x66, (byte) 0x67, 
+            (byte) 0x68, (byte) 0x69, (byte) 0x6A, (byte) 0x6B, (byte) 0x6C, (byte) 0x6D, (byte) 0x6E, (byte) 0x6F, 
+            (byte) 0x70, (byte) 0x71, (byte) 0x72, (byte) 0x73, (byte) 0x74, (byte) 0x75, (byte) 0x76, (byte) 0x77, 
+            (byte) 0x78, (byte) 0x79, (byte) 0x7A, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x81, (byte) 0x20, (byte) 0x83, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x88, (byte) 0x20, (byte) 0x8A, (byte) 0x20, (byte) 0x9C, (byte) 0x8D, (byte) 0x8E, (byte) 0x8F, 
+            (byte) 0x90, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x98, (byte) 0x20, (byte) 0x9A, (byte) 0x20, (byte) 0x9C, (byte) 0x20, (byte) 0x20, (byte) 0x9F, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0xAA, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0xB5, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0xC0, (byte) 0xC1, (byte) 0xC2, (byte) 0xC3, (byte) 0xC4, (byte) 0xC5, (byte) 0xC6, (byte) 0xC7, 
+            (byte) 0xC8, (byte) 0xC9, (byte) 0xCA, (byte) 0xCB, (byte) 0xCC, (byte) 0xCD, (byte) 0xCE, (byte) 0xCF, 
+            (byte) 0xD0, (byte) 0xD1, (byte) 0xD2, (byte) 0xD3, (byte) 0xD4, (byte) 0xD5, (byte) 0xD6, (byte) 0x20, 
+            (byte) 0xD8, (byte) 0xD9, (byte) 0xDA, (byte) 0xDB, (byte) 0xDC, (byte) 0xDD, (byte) 0xDE, (byte) 0xDF, 
+            (byte) 0xE0, (byte) 0xE1, (byte) 0xE2, (byte) 0xE3, (byte) 0xE4, (byte) 0xE5, (byte) 0xE6, (byte) 0xE7, 
+            (byte) 0xE8, (byte) 0xE9, (byte) 0xEA, (byte) 0xEB, (byte) 0xEC, (byte) 0xED, (byte) 0xEE, (byte) 0xEF, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0xF4, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0xF9, (byte) 0x20, (byte) 0xFB, (byte) 0xFC, (byte) 0x20, (byte) 0x20, (byte) 0xFF, 
+        };
+
+        public String getName()
+        {
+            return  "windows-1256";
+        }
+        
+        public String getLanguage()
+        {
+            return "ar";
+        }
+        
+        public int match(CharsetDetector det)
+        {
+            return match(det, ngrams, byteMap);
+        }
+    }
+        
+    static class CharsetRecog_KOI8_R extends CharsetRecog_sbcs
+    {
+        private static int[] ngrams = {
+            0x20C4CF, 0x20C920, 0x20CBC1, 0x20CBCF, 0x20CEC1, 0x20CEC5, 0x20CFC2, 0x20D0CF, 0x20D0D2, 0x20D2C1, 0x20D3CF, 0x20D3D4, 0x20D4CF, 0x20D720, 0x20D7CF, 0x20DAC1, 
+            0x20DCD4, 0x20DED4, 0xC1CEC9, 0xC1D4D8, 0xC5CCD8, 0xC5CEC9, 0xC5D3D4, 0xC5D420, 0xC7CF20, 0xC920D0, 0xC9C520, 0xC9C920, 0xC9D120, 0xCCC5CE, 0xCCC920, 0xCCD8CE, 
+            0xCEC120, 0xCEC520, 0xCEC9C5, 0xCEC9D1, 0xCECF20, 0xCECFD7, 0xCF20D0, 0xCF20D3, 0xCF20D7, 0xCFC7CF, 0xCFCA20, 0xCFCCD8, 0xCFCD20, 0xCFD3D4, 0xCFD720, 0xCFD7C1, 
+            0xD0CFCC, 0xD0D2C5, 0xD0D2C9, 0xD0D2CF, 0xD2C1D7, 0xD2C5C4, 0xD3D120, 0xD3D4C1, 0xD3D4C9, 0xD3D4D7, 0xD4C5CC, 0xD4CF20, 0xD4CFD2, 0xD4D820, 0xD9C820, 0xDED4CF, 
+        };
+
+        private static byte[] byteMap = {
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x00, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x61, (byte) 0x62, (byte) 0x63, (byte) 0x64, (byte) 0x65, (byte) 0x66, (byte) 0x67, 
+            (byte) 0x68, (byte) 0x69, (byte) 0x6A, (byte) 0x6B, (byte) 0x6C, (byte) 0x6D, (byte) 0x6E, (byte) 0x6F, 
+            (byte) 0x70, (byte) 0x71, (byte) 0x72, (byte) 0x73, (byte) 0x74, (byte) 0x75, (byte) 0x76, (byte) 0x77, 
+            (byte) 0x78, (byte) 0x79, (byte) 0x7A, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x61, (byte) 0x62, (byte) 0x63, (byte) 0x64, (byte) 0x65, (byte) 0x66, (byte) 0x67, 
+            (byte) 0x68, (byte) 0x69, (byte) 0x6A, (byte) 0x6B, (byte) 0x6C, (byte) 0x6D, (byte) 0x6E, (byte) 0x6F, 
+            (byte) 0x70, (byte) 0x71, (byte) 0x72, (byte) 0x73, (byte) 0x74, (byte) 0x75, (byte) 0x76, (byte) 0x77, 
+            (byte) 0x78, (byte) 0x79, (byte) 0x7A, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0xA3, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0xA3, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
+            (byte) 0xC0, (byte) 0xC1, (byte) 0xC2, (byte) 0xC3, (byte) 0xC4, (byte) 0xC5, (byte) 0xC6, (byte) 0xC7, 
+            (byte) 0xC8, (byte) 0xC9, (byte) 0xCA, (byte) 0xCB, (byte) 0xCC, (byte) 0xCD, (byte) 0xCE, (byte) 0xCF, 
+            (byte) 0xD0, (byte) 0xD1, (byte) 0xD2, (byte) 0xD3, (byte) 0xD4, (byte) 0xD5, (byte) 0xD6, (byte) 0xD7, 
+            (byte) 0xD8, (byte) 0xD9, (byte) 0xDA, (byte) 0xDB, (byte) 0xDC, (byte) 0xDD, (byte) 0xDE, (byte) 0xDF, 
+            (byte) 0xC0, (byte) 0xC1, (byte) 0xC2, (byte) 0xC3, (byte) 0xC4, (byte) 0xC5, (byte) 0xC6, (byte) 0xC7, 
+            (byte) 0xC8, (byte) 0xC9, (byte) 0xCA, (byte) 0xCB, (byte) 0xCC, (byte) 0xCD, (byte) 0xCE, (byte) 0xCF, 
+            (byte) 0xD0, (byte) 0xD1, (byte) 0xD2, (byte) 0xD3, (byte) 0xD4, (byte) 0xD5, (byte) 0xD6, (byte) 0xD7, 
+            (byte) 0xD8, (byte) 0xD9, (byte) 0xDA, (byte) 0xDB, (byte) 0xDC, (byte) 0xDD, (byte) 0xDE, (byte) 0xDF, 
+        };
+        
+        public String getName()
+        {
+            return  "KOI8-R";
+        }
+        
+        public String getLanguage()
+        {
+            return "ru";
+        }
+        
+        public int match(CharsetDetector det)
+        {
+            return match(det, ngrams, byteMap);
+        }
+    }
+}
diff --git a/src/com/ibm/icu/text/CharsetRecognizer.java b/src/com/ibm/icu/text/CharsetRecognizer.java
new file mode 100644
index 0000000..284bb21
--- /dev/null
+++ b/src/com/ibm/icu/text/CharsetRecognizer.java
@@ -0,0 +1,55 @@
+/**
+*******************************************************************************
+* Copyright (C) 2005, International Business Machines Corporation and         *
+* others. All Rights Reserved.                                                *
+*******************************************************************************
+*/
+package com.ibm.icu.text;
+
+/**
+ * Abstract class for recognizing a single charset.
+ * Part of the implementation of ICU's CharsetDetector.
+ * 
+ * Each specific charset that can be recognized will have an instance
+ * of some subclass of this class.  All interaction between the overall
+ * CharsetDetector and the stuff specific to an individual charset happens
+ * via the interface provided here.
+ * 
+ * Instances of CharsetDetector DO NOT have or maintain 
+ * state pertaining to a specific match or detect operation.
+ * The WILL be shared by multiple instances of CharsetDetector.
+ * They encapsulate const charset-specific information.
+ * 
+ * @internal
+ */
+abstract class CharsetRecognizer {
+    /**
+     * Get the IANA name of this charset.
+     * @return the charset name.
+     */
+    abstract String      getName();
+    
+    /**
+     * Get the ISO language code for this charset.
+     * @return the language code, or <code>null</code> if the language cannot be determined.
+     */
+    public   String      getLanguage()
+    {
+        return null;
+    }
+    
+    /**
+     * Test the match of this charset with the input text data
+     *      which is obtained via the CharsetDetector object.
+     * 
+     * @param det  The CharsetDetector, which contains the input text
+     *             to be checked for being in this charset.
+     * @return     Two values packed into one int  (Damn java, anyhow)
+     *             <br/>
+     *             bits 0-7:  the match confidence, ranging from 0-100
+     *             <br/>
+     *             bits 8-15: The match reason, an enum-like value.
+     */
+    abstract int         match(CharsetDetector det);
+
+}
diff --git a/src/com/ibm/icu/text/ChineseDateFormat.java b/src/com/ibm/icu/text/ChineseDateFormat.java
new file mode 100755
index 0000000..ddd38c1
--- /dev/null
+++ b/src/com/ibm/icu/text/ChineseDateFormat.java
@@ -0,0 +1,171 @@
+/*********************************************************************
+ * Copyright (C) 2000-2004, International Business Machines Corporation and
+ * others. All Rights Reserved.
+ *********************************************************************
+ */
+package com.ibm.icu.text;
+import com.ibm.icu.util.*;
+import com.ibm.icu.impl.Utility;
+import java.text.FieldPosition;
+import java.text.ParsePosition;
+import java.util.Locale;
+
+/**
+ * A concrete {@link DateFormat} for {@link com.ibm.icu.util.ChineseCalendar}.
+ * This class handles a <code>ChineseCalendar</code>-specific field,
+ * <code>ChineseCalendar.IS_LEAP_MONTH</code>.  It also redefines the
+ * handling of two fields, <code>ERA</code> and <code>YEAR</code>.  The
+ * former is displayed numerically, instead of symbolically, since it is
+ * the numeric cycle number in <code>ChineseCalendar</code>.  The latter is
+ * numeric, as before, but has no special 2-digit Y2K behavior.
+ *
+ * <p>With regard to <code>ChineseCalendar.IS_LEAP_MONTH</code>, this
+ * class handles parsing specially.  If no string symbol is found at all,
+ * this is taken as equivalent to an <code>IS_LEAP_MONTH</code> value of
+ * zero.  This allows formats to display a special string (e.g., "*") for
+ * leap months, but no string for normal months.
+ *
+ * <p>Summary of field changes vs. {@link SimpleDateFormat}:<pre>
+ * Symbol   Meaning                 Presentation        Example
+ * ------   -------                 ------------        -------
+ * G        cycle                   (Number)            78
+ * y        year of cycle (1..60)   (Number)            17
+ * l        is leap month           (Text)              4637
+ * </pre>
+ *
+ * @see com.ibm.icu.util.ChineseCalendar
+ * @see ChineseDateFormatSymbols
+ * @author Alan Liu
+ * @stable ICU 2.0
+ */
+public class ChineseDateFormat extends SimpleDateFormat {
+
+    // TODO Finish the constructors
+
+    /**
+     * Construct a ChineseDateFormat from a date format pattern and locale
+     * @param pattern the pattern
+     * @param locale the locale
+     * @stable ICU 2.0
+     */
+   public ChineseDateFormat(String pattern, Locale locale) {
+       // TODO: convert to use ULocale
+        super(pattern, new ChineseDateFormatSymbols(locale), true);
+    }
+
+    /**
+     * Construct a ChineseDateFormat from a date format pattern and locale
+     * @param pattern the pattern
+     * @param locale the locale
+     * @draft ICU 3.2
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+   public ChineseDateFormat(String pattern, ULocale locale) {
+       // TODO: convert CDFS to use ULocale
+        super(pattern, new ChineseDateFormatSymbols(locale.toLocale()), true);
+    }
+
+// NOTE: This API still exists; we just inherit it from SimpleDateFormat
+// as of ICU 3.0
+//  /**
+//   * @stable ICU 2.0
+//   */
+//  protected String subFormat(char ch, int count, int beginOffset,
+//                             FieldPosition pos, DateFormatSymbols formatData,
+//                             Calendar cal)  {
+//      switch (ch) {
+//      case 'G': // 'G' - ERA
+//          return zeroPaddingNumber(cal.get(Calendar.ERA), 1, 9);
+//      case 'l': // 'l' - IS_LEAP_MONTH
+//          {
+//              ChineseDateFormatSymbols symbols =
+//                  (ChineseDateFormatSymbols) formatData;
+//              return symbols.getLeapMonth(cal.get(
+//                             ChineseCalendar.IS_LEAP_MONTH));
+//          }
+//      default:
+//          return super.subFormat(ch, count, beginOffset, pos, formatData, cal);
+//      }
+//  }    
+
+    /**
+     * @internal
+     */
+    protected void subFormat(StringBuffer buf,
+                             char ch, int count, int beginOffset,
+                             FieldPosition pos,
+                             Calendar cal) {
+        switch (ch) {
+        case 'G': // 'G' - ERA
+            zeroPaddingNumber(buf, cal.get(Calendar.ERA), 1, 9);
+            break;
+        case 'l': // 'l' - IS_LEAP_MONTH
+            buf.append(((ChineseDateFormatSymbols) getSymbols()).
+                       getLeapMonth(cal.get(ChineseCalendar.IS_LEAP_MONTH)));
+            break;
+        default:
+            super.subFormat(buf, ch, count, beginOffset, pos, cal);
+            break;
+        }
+
+        // TODO: add code to set FieldPosition for 'G' and 'l' fields. This
+        // is a DESIGN FLAW -- subclasses shouldn't have to duplicate the
+        // code that handles this at the end of SimpleDateFormat.subFormat.
+        // The logic should be moved up into SimpleDateFormat.format.
+    }
+
+    /**
+     * @stable ICU 2.0
+     */
+    protected int subParse(String text, int start, char ch, int count,
+                           boolean obeyCount, boolean allowNegative, boolean[] ambiguousYear, Calendar cal) {
+        if (ch != 'G' && ch != 'l' && ch != 'y') {
+            return super.subParse(text, start, ch, count, obeyCount, allowNegative, ambiguousYear, cal);
+        }
+
+        // Skip whitespace
+        start = Utility.skipWhitespace(text, start);
+
+        ParsePosition pos = new ParsePosition(start);
+
+        switch (ch) {
+        case 'G': // 'G' - ERA
+        case 'y': // 'y' - YEAR, but without the 2-digit Y2K adjustment
+            {
+                Number number = null;
+                if (obeyCount) {
+                    if ((start+count) > text.length()) {
+                        return -start;
+                    }
+                    number = numberFormat.parse(text.substring(0, start+count), pos);
+                } else {
+                    number = numberFormat.parse(text, pos);
+                }
+                if (number == null) {
+                    return -start;
+                }
+                int value = number.intValue();
+                cal.set(ch == 'G' ? Calendar.ERA : Calendar.YEAR, value);
+                return pos.getIndex();
+            }
+        case 'l': // 'l' - IS_LEAP_MONTH
+            {
+                ChineseDateFormatSymbols symbols =
+                    (ChineseDateFormatSymbols) getSymbols();
+                int result = matchString(text, start, ChineseCalendar.IS_LEAP_MONTH,
+                                         symbols.isLeapMonth, cal);
+                // Treat the absence of any matching string as setting
+                // IS_LEAP_MONTH to false.
+                if (result<0) {
+                    cal.set(ChineseCalendar.IS_LEAP_MONTH, 0);
+                    result = start;
+                }
+                return result;
+            }
+        default:
+            ///CLOVER:OFF
+            return 0; // This can never happen
+            ///CLOVER:ON
+        }
+    }
+}
diff --git a/src/com/ibm/icu/text/ChineseDateFormatSymbols.java b/src/com/ibm/icu/text/ChineseDateFormatSymbols.java
new file mode 100755
index 0000000..35c6135
--- /dev/null
+++ b/src/com/ibm/icu/text/ChineseDateFormatSymbols.java
@@ -0,0 +1,94 @@
+/****************************************************************************
+ * Copyright (C) 2000-2004, International Business Machines Corporation and
+ * others. All Rights Reserved.
+ ****************************************************************************
+ */
+package com.ibm.icu.text;
+
+import com.ibm.icu.impl.CalendarData;
+import com.ibm.icu.util.*;
+import java.util.Locale;
+
+/**
+ * A subclass of {@link DateFormatSymbols} for {@link ChineseDateFormat}.
+ * This class contains additional symbols corresponding to the
+ * <code>ChineseCalendar.IS_LEAP_MONTH</code> field.
+ *
+ * @see ChineseDateFormat
+ * @see com.ibm.icu.util.ChineseCalendar
+ * @author Alan Liu
+ * @stable ICU 2.0
+ */
+public class ChineseDateFormatSymbols extends DateFormatSymbols {
+    
+    /**
+     * Package-private array that ChineseDateFormat needs to be able to
+     * read.
+     */
+    String isLeapMonth[]; // Do NOT add =null initializer
+
+    /**
+     * Construct a ChineseDateFormatSymbols for the default locale.
+     * @stable ICU 2.0
+     */
+    public ChineseDateFormatSymbols() {
+        this(ULocale.getDefault());
+    }
+
+    /**
+     * Construct a ChineseDateFormatSymbols for the provided locale.
+     * @param locale the locale
+     * @stable ICU 2.0
+     */
+    public ChineseDateFormatSymbols(Locale locale) {
+        super(ChineseCalendar.class, ULocale.forLocale(locale));
+    }
+
+    /**
+     * Construct a ChineseDateFormatSymbols for the provided locale.
+     * @param locale the locale
+     * @draft ICU 3.2
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public ChineseDateFormatSymbols(ULocale locale) {
+        super(ChineseCalendar.class, locale);
+    }
+
+    /**
+     * Construct a ChineseDateFormatSymbols for the provided calendar and locale.
+     * @param cal the Calendar
+     * @param locale the locale
+     * @stable ICU 2.0
+     */
+    public ChineseDateFormatSymbols(Calendar cal, Locale locale) {
+        super(cal==null?null:cal.getClass(), locale);
+    }
+
+    /**
+     * Construct a ChineseDateFormatSymbols for the provided calendar and locale.
+     * @param cal the Calendar
+     * @param locale the locale
+     * @draft ICU 3.2
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public ChineseDateFormatSymbols(Calendar cal, ULocale locale) {
+        super(cal == null ? null : cal.getClass(), locale);
+    }
+
+    // New API
+    /**
+     * @stable ICU 2.0
+     */
+    public String getLeapMonth(int isLeapMonth) {
+        return this.isLeapMonth[isLeapMonth];
+    }
+
+    /**
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    protected void initializeData(ULocale loc, CalendarData calData) {
+        super.initializeData(loc, calData);
+        isLeapMonth = calData.getStringArray("isLeapMonth");
+    }
+}
diff --git a/src/com/ibm/icu/text/CollationElementIterator.java b/src/com/ibm/icu/text/CollationElementIterator.java
new file mode 100755
index 0000000..450e3e5
--- /dev/null
+++ b/src/com/ibm/icu/text/CollationElementIterator.java
@@ -0,0 +1,2875 @@
+/**
+*******************************************************************************
+* Copyright (C) 1996-2005, International Business Machines Corporation and    *
+* others. All Rights Reserved.                                                *
+*******************************************************************************
+*
+*
+*******************************************************************************
+*/
+package com.ibm.icu.text;
+
+/***
+ * import java.text.StringCharacterIterator;
+ * import java.text.CharacterIterator;
+ */
+import com.ibm.icu.impl.NormalizerImpl;
+import com.ibm.icu.impl.UCharacterProperty;
+import com.ibm.icu.impl.StringUCharacterIterator;
+import com.ibm.icu.impl.CharacterIteratorWrapper;
+import com.ibm.icu.impl.ICUDebug;
+import com.ibm.icu.lang.UCharacter;
+import java.text.CharacterIterator;
+import java.util.MissingResourceException;
+
+/**
+ * <p><code>CollationElementIterator</code> is an iterator created by
+ * a RuleBasedCollator to walk through a string. The return result of
+ * each iteration is a 32-bit collation element that defines the
+ * ordering priority of the next character or sequence of characters
+ * in the source string.</p>
+ *
+ * <p>For illustration, consider the following in Spanish:
+ * <blockquote>
+ * <pre>
+ * "ca" -> the first collation element is collation_element('c') and second
+ *         collation element is collation_element('a').
+ *
+ * Since "ch" in Spanish sorts as one entity, the below example returns one
+ * collation element for the two characters 'c' and 'h'
+ *
+ * "cha" -> the first collation element is collation_element('ch') and second
+ *          collation element is collation_element('a').
+ * </pre>
+ * </blockquote>
+ * And in German,
+ * <blockquote>
+ * <pre>
+ * Since the character '&#230;' is a composed character of 'a' and 'e', the
+ * iterator returns two collation elements for the single character '&#230;'
+ *
+ * "&#230;b" -> the first collation element is collation_element('a'), the
+ *              second collation element is collation_element('e'), and the
+ *              third collation element is collation_element('b').
+ * </pre>
+ * </blockquote>
+ * </p>
+ *
+ * <p>For collation ordering comparison, the collation element results
+ * can not be compared simply by using basic arithmetric operators,
+ * e.g. &lt;, == or &gt;, further processing has to be done. Details
+ * can be found in the ICU
+ * <a href="http://icu.sourceforge.net/userguide/Collate_ServiceArchitecture.html">
+ * user guide</a>. An example of using the CollationElementIterator
+ * for collation ordering comparison is the class
+ * <a href=StringSearch.html> com.ibm.icu.text.StringSearch</a>.</p>
+ *
+ * <p>To construct a CollationElementIterator object, users
+ * call the method getCollationElementIterator() on a
+ * RuleBasedCollator that defines the desired sorting order.</p>
+ *
+ * <p> Example:
+ * <blockquote>
+ * <pre>
+ *  String testString = "This is a test";
+ *  RuleBasedCollator rbc = new RuleBasedCollator("&amp;a&lt;b");
+ *  CollationElementIterator iterator = rbc.getCollationElementIterator(testString);
+ *  int primaryOrder = iterator.IGNORABLE;
+ *  while (primaryOrder != iterator.NULLORDER) {
+ *      int order = iterator.next();
+ *      if (order != iterator.IGNORABLE &&
+ *          order != iterator.NULLORDER) {
+ *          // order is valid, not ignorable and we have not passed the end
+ *          // of the iteration, we do something
+ *          primaryOrder = CollationElementIterator.primaryOrder(order);
+ *          System.out.println("Next primary order 0x" +
+ *                             Integer.toHexString(primaryOrder));
+ *      }
+ *  }
+ * </pre>
+ * </blockquote>
+ * </p>
+ * <p>
+ * This class is not subclassable
+ * </p>
+ * @see Collator
+ * @see RuleBasedCollator
+ * @see StringSearch
+ * @author Syn Wee Quek
+ * @stable ICU 2.8
+ */
+public final class CollationElementIterator
+{
+  
+    
+    // public data members --------------------------------------------------
+
+    /**
+     * <p>This constant is returned by the iterator in the methods
+     * next() and previous() when the end or the beginning of the
+     * source string has been reached, and there are no more valid
+     * collation elements to return.</p>
+     *
+     * <p>See class documentation for an example of use.</p>
+     * @stable ICU 2.8
+     * @see #next
+     * @see #previous */
+    public final static int NULLORDER = 0xffffffff;
+
+    /**
+     * <p>This constant is returned by the iterator in the methods
+     * next() and previous() when a collation element result is to be
+     * ignored.</p>
+     *
+     * <p>See class documentation for an example of use.</p>
+     * @stable ICU 2.8
+     * @see #next
+     * @see #previous */
+    public static final int IGNORABLE = 0;
+
+    // public methods -------------------------------------------------------
+
+    // public getters -------------------------------------------------------
+
+    /**
+     * <p>Returns the character offset in the source string
+     * corresponding to the next collation element. I.e., getOffset()
+     * returns the position in the source string corresponding to the
+     * collation element that will be returned by the next call to
+     * next(). This value could be any of:
+     * <ul>
+     * <li> The index of the <b>first</b> character corresponding to
+     * the next collation element. (This means that if
+     * <code>setOffset(offset)</code> sets the index in the middle of
+     * a contraction, <code>getOffset()</code> returns the index of
+     * the first character in the contraction, which may not be equal
+     * to the original offset that was set. Hence calling getOffset()
+     * immediately after setOffset(offset) does not guarantee that the
+     * original offset set will be returned.)
+     * <li> If normalization is on, the index of the <b>immediate</b>
+     * subsequent character, or composite character with the first
+     * character, having a combining class of 0.
+     * <li> The length of the source string, if iteration has reached
+     * the end.
+     *</ul>
+     * </p>
+     * @return The character offset in the source string corresponding to the
+     *         collation element that will be returned by the next call to
+     *         next().
+     * @stable ICU 2.8
+     */
+    public int getOffset()
+    {
+        if (m_bufferOffset_ != -1) {
+            if (m_isForwards_) {
+                return m_FCDLimit_;
+            }
+            return m_FCDStart_;
+        }
+        return m_source_.getIndex();
+    }
+
+
+    /**
+     * <p> Returns the maximum length of any expansion sequence that ends with
+     * the specified collation element. If there is no expansion with this
+     * collation element as the last element, returns 1.
+     * </p>
+     * @param ce a collation element returned by previous() or next().
+     * @return the maximum length of any expansion sequence ending
+     *         with the specified collation element.
+     * @stable ICU 2.8
+     */
+    public int getMaxExpansion(int ce)
+    {
+        int start = 0;
+        int limit = m_collator_.m_expansionEndCE_.length;
+        long unsignedce = ce & 0xFFFFFFFFl;
+        while (start < limit - 1) {
+            int mid = start + ((limit - start) >> 1);
+            long midce = m_collator_.m_expansionEndCE_[mid] & 0xFFFFFFFFl;
+            if (unsignedce <= midce) {
+                limit = mid;
+            }
+            else {
+                start = mid;
+            }
+        }
+        int result = 1;
+        if (m_collator_.m_expansionEndCE_[start] == ce) {
+            result = m_collator_.m_expansionEndCEMaxSize_[start];
+        }
+        else if (limit < m_collator_.m_expansionEndCE_.length &&
+                 m_collator_.m_expansionEndCE_[limit] == ce) {
+            result = m_collator_.m_expansionEndCEMaxSize_[limit];
+        }
+        else if ((ce & 0xFFFF) == 0x00C0) {
+            result = 2;
+        }
+        return result;
+    }
+
+    // public other methods -------------------------------------------------
+
+    /**
+     * <p> Resets the cursor to the beginning of the string. The next
+     * call to next() or previous() will return the first and last
+     * collation element in the string, respectively.</p>
+     *
+     * <p>If the RuleBasedCollator used by this iterator has had its
+     * attributes changed, calling reset() will reinitialize the
+     * iterator to use the new attributes.</p>
+     *
+     * @stable ICU 2.8
+     */
+    public void reset()
+    {
+        m_source_.setToStart();
+        updateInternalState();
+    }
+
+    /**
+     * <p>Get the next collation element in the source string.</p>
+     *
+     * <p>This iterator iterates over a sequence of collation elements
+     * that were built from the string. Because there isn't
+     * necessarily a one-to-one mapping from characters to collation
+     * elements, this doesn't mean the same thing as "return the
+     * collation element [or ordering priority] of the next character
+     * in the string".</p>
+     *
+     * <p>This function returns the collation element that the
+     * iterator is currently pointing to, and then updates the
+     * internal pointer to point to the next element.  Previous()
+     * updates the pointer first, and then returns the element. This
+     * means that when you change direction while iterating (i.e.,
+     * call next() and then call previous(), or call previous() and
+     * then call next()), you'll get back the same element twice.</p>
+     *
+     * @return the next collation element or NULLORDER if the end of the
+     *         iteration has been reached.
+     * @stable ICU 2.8
+     */
+    public int next()
+    {
+        m_isForwards_ = true;
+        if (m_CEBufferSize_ > 0) {
+            if (m_CEBufferOffset_ < m_CEBufferSize_) {
+                // if there are expansions left in the buffer, we return it
+                return m_CEBuffer_[m_CEBufferOffset_ ++];
+            }
+            m_CEBufferSize_ = 0;
+            m_CEBufferOffset_ = 0;
+        }
+ 
+        int ch_int = nextChar();
+        
+        if (ch_int == UCharacterIterator.DONE) {
+            return NULLORDER;
+        }
+        char ch = (char)ch_int;
+        if (m_collator_.m_isHiragana4_) {
+            m_isCodePointHiragana_ = (ch >= 0x3040 && ch <= 0x309e)
+                                     && !(ch > 0x3094 && ch < 0x309d);
+        }
+
+        int result = NULLORDER;
+        if (ch <= 0xFF) {
+            // For latin-1 characters we never need to fall back to the UCA
+            // table because all of the UCA data is replicated in the
+            // latinOneMapping array
+            result = m_collator_.m_trie_.getLatin1LinearValue(ch);
+            if (RuleBasedCollator.isSpecial(result)) {
+                result = nextSpecial(m_collator_, result, ch);
+            }
+        }
+        else {
+            result = m_collator_.m_trie_.getLeadValue(ch);
+            //System.out.println(Integer.toHexString(result));
+            if (RuleBasedCollator.isSpecial(result)) {
+                // surrogate leads are handled as special ces
+                result = nextSpecial(m_collator_, result, ch);
+            }
+            if (result == CE_NOT_FOUND_ && RuleBasedCollator.UCA_ != null) {
+                // couldn't find a good CE in the tailoring
+                // if we got here, the codepoint MUST be over 0xFF - so we look
+                // directly in the UCA
+                result = RuleBasedCollator.UCA_.m_trie_.getLeadValue(ch);
+                if (RuleBasedCollator.isSpecial(result)) {
+                    // UCA also gives us a special CE
+                    result = nextSpecial(RuleBasedCollator.UCA_, result, ch);
+                }
+            }
+        }
+        if(result == CE_NOT_FOUND_) { 
+            // maybe there is no UCA, unlikely in Java, but ported for consistency
+            result = nextImplicit(ch); 
+        }
+        return result;
+    }
+
+    /**
+     * <p>Get the previous collation element in the source string.</p>
+     *
+     * <p>This iterator iterates over a sequence of collation elements
+     * that were built from the string. Because there isn't
+     * necessarily a one-to-one mapping from characters to collation
+     * elements, this doesn't mean the same thing as "return the
+     * collation element [or ordering priority] of the previous
+     * character in the string".</p>
+     *
+     * <p>This function updates the iterator's internal pointer to
+     * point to the collation element preceding the one it's currently
+     * pointing to and then returns that element, while next() returns
+     * the current element and then updates the pointer. This means
+     * that when you change direction while iterating (i.e., call
+     * next() and then call previous(), or call previous() and then
+     * call next()), you'll get back the same element twice.</p>
+     *
+     * @return the previous collation element, or NULLORDER when the start of
+     *             the iteration has been reached.
+     * @stable ICU 2.8
+     */
+    public int previous()
+    {
+        if (m_source_.getIndex() <= 0 && m_isForwards_) {
+            // if iterator is new or reset, we can immediate perform  backwards
+            // iteration even when the offset is not right.
+            m_source_.setToLimit();
+            updateInternalState();
+        }
+        m_isForwards_ = false;
+        int result = NULLORDER;
+        if (m_CEBufferSize_ > 0) {
+            if (m_CEBufferOffset_ > 0) {
+                return m_CEBuffer_[-- m_CEBufferOffset_];
+            }
+            m_CEBufferSize_ = 0;
+            m_CEBufferOffset_ = 0;
+        }
+        int ch_int = previousChar();
+        if (ch_int == UCharacterIterator.DONE) {
+            return NULLORDER;
+        }
+        char ch = (char)ch_int;
+        if (m_collator_.m_isHiragana4_) {
+            m_isCodePointHiragana_ = (ch >= 0x3040 && ch <= 0x309f);
+        }
+        if (m_collator_.isContractionEnd(ch) && !isBackwardsStart()) {
+            result = previousSpecial(m_collator_, CE_CONTRACTION_, ch);
+        }
+        else {
+            if (ch <= 0xFF) {
+                result = m_collator_.m_trie_.getLatin1LinearValue(ch);
+            }
+            else {
+                result = m_collator_.m_trie_.getLeadValue(ch);
+            }
+            if (RuleBasedCollator.isSpecial(result)) {
+                result = previousSpecial(m_collator_, result, ch);
+            }
+            if (result == CE_NOT_FOUND_) {
+                if (!isBackwardsStart()
+                    && m_collator_.isContractionEnd(ch)) {
+                    result = CE_CONTRACTION_;
+                }
+                else {
+                    if(RuleBasedCollator.UCA_ != null) {
+                        result = RuleBasedCollator.UCA_.m_trie_.getLeadValue(ch);
+                    }
+                }
+
+                if (RuleBasedCollator.isSpecial(result)) {
+                    if(RuleBasedCollator.UCA_ != null) {                    
+                        result = previousSpecial(RuleBasedCollator.UCA_, result, ch);
+                    }
+                }
+            }
+        }
+        if(result == CE_NOT_FOUND_) {
+            result = previousImplicit(ch);
+        }
+        return result;
+    }
+
+    /**
+     * Return the primary order of the specified collation element,
+     * i.e. the first 16 bits.  This value is unsigned.
+     * @param ce the collation element
+     * @return the element's 16 bits primary order.
+     * @stable ICU 2.8
+     */
+    public final static int primaryOrder(int ce)
+    {
+        return (ce & RuleBasedCollator.CE_PRIMARY_MASK_)
+            >>> RuleBasedCollator.CE_PRIMARY_SHIFT_;
+    }
+    /**
+     * Return the secondary order of the specified collation element,
+     * i.e. the 16th to 23th bits, inclusive.  This value is unsigned.
+     * @param ce the collation element
+     * @return the element's 8 bits secondary order
+     * @stable ICU 2.8
+     */
+    public final static int secondaryOrder(int ce)
+    {
+        return (ce & RuleBasedCollator.CE_SECONDARY_MASK_)
+            >> RuleBasedCollator.CE_SECONDARY_SHIFT_;
+    }
+
+    /**
+     * Return the tertiary order of the specified collation element, i.e. the last
+     * 8 bits.  This value is unsigned.
+     * @param ce the collation element
+     * @return the element's 8 bits tertiary order
+     * @stable ICU 2.8
+     */
+    public final static int tertiaryOrder(int ce)
+    {
+        return ce & RuleBasedCollator.CE_TERTIARY_MASK_;
+    }
+
+    /**
+     * <p> Sets the iterator to point to the collation element
+     * corresponding to the character at the specified offset. The
+     * value returned by the next call to next() will be the collation
+     * element corresponding to the characters at offset.</p>
+     *
+     * <p>If offset is in the middle of a contracting character
+     * sequence, the iterator is adjusted to the start of the
+     * contracting sequence. This means that getOffset() is not
+     * guaranteed to return the same value set by this method.</p>
+     *
+     * <p>If the decomposition mode is on, and offset is in the middle
+     * of a decomposible range of source text, the iterator may not
+     * return a correct result for the next forwards or backwards
+     * iteration.  The user must ensure that the offset is not in the
+     * middle of a decomposible range.</p>
+     *
+     * @param offset the character offset into the original source string to
+     *        set. Note that this is not an offset into the corresponding
+     *        sequence of collation elements.
+     * @stable ICU 2.8
+     */
+    public void setOffset(int offset)
+    {
+        m_source_.setIndex(offset);
+        int ch_int = m_source_.current();
+        char ch = (char)ch_int;
+        if (ch_int != UCharacterIterator.DONE && m_collator_.isUnsafe(ch)) {
+            // if it is unsafe we need to check if it is part of a contraction
+            // or a surrogate character
+            if (UTF16.isTrailSurrogate(ch)) {
+                // if it is a surrogate pair we move up one character
+                char prevch = (char)m_source_.previous();
+                if (!UTF16.isLeadSurrogate(prevch)) {
+                    m_source_.setIndex(offset); // go back to the same index
+                }
+            }
+            else {
+                // could be part of a contraction
+                // backup to a safe point and iterate till we pass offset
+                while (m_source_.getIndex() > 0) {
+                    if (!m_collator_.isUnsafe(ch)) {
+                        break;
+                    }
+                    ch = (char)m_source_.previous();
+                }
+                updateInternalState();
+                int prevoffset = 0;
+                while (m_source_.getIndex() <= offset) {
+                    prevoffset = m_source_.getIndex();
+                    next();
+                }
+                m_source_.setIndex(prevoffset);
+            }
+        }
+        updateInternalState();
+        // direction code to prevent next and previous from returning a 
+        // character if we are already at the ends
+        offset = m_source_.getIndex();
+        if (offset == 0/* m_source_.getBeginIndex() */) {
+            // preventing previous() from returning characters from the end of 
+            // the string again if we are at the beginning
+            m_isForwards_ = false; 
+        }
+        else if (offset == m_source_.getLength()) {
+            // preventing next() from returning characters from the start of 
+            // the string again if we are at the end
+            m_isForwards_ = true;
+        }
+    }
+
+    /**
+     * <p>Set a new source string for iteration, and reset the offset
+     * to the beginning of the text.</p>
+     *
+     * @param source the new source string for iteration.
+     * @stable ICU 2.8
+     */
+    public void setText(String source)
+    {
+        m_srcUtilIter_.setText(source);
+        m_source_ = m_srcUtilIter_;
+        updateInternalState();
+    }
+    
+    /**
+     * <p>Set a new source string iterator for iteration, and reset the
+     * offset to the beginning of the text.
+     * </p>
+     * <p>The source iterator's integrity will be preserved since a new copy
+     * will be created for use.</p>
+     * @param source the new source string iterator for iteration.
+     * @stable ICU 2.8
+     */
+    public void setText(UCharacterIterator source)
+    {
+        m_srcUtilIter_.setText(source.getText());
+        m_source_ = m_srcUtilIter_;
+        updateInternalState(); 
+    }
+
+    /**
+     * <p>Set a new source string iterator for iteration, and reset the
+     * offset to the beginning of the text.
+     * </p>
+     * @param source the new source string iterator for iteration.
+     * @stable ICU 2.8
+     */
+    public void setText(CharacterIterator source)
+    {
+        m_source_ = new CharacterIteratorWrapper(source);
+        m_source_.setToStart();
+        updateInternalState();
+    }
+
+    // public miscellaneous methods -----------------------------------------
+
+    /**
+     * Tests that argument object is equals to this CollationElementIterator.
+     * Iterators are equal if the objects uses the same RuleBasedCollator,
+     * the same source text and have the same current position in iteration.
+     * @param that object to test if it is equals to this
+     *             CollationElementIterator
+     * @stable ICU 2.8
+     */
+    public boolean equals(Object that)
+    {
+        if (that == this) {
+            return true;
+        }
+        if (that instanceof CollationElementIterator) {
+            CollationElementIterator thatceiter
+                                              = (CollationElementIterator)that;
+            if (!m_collator_.equals(thatceiter.m_collator_)) {
+                return false;
+            }
+            // checks the text 
+            return m_source_.getIndex() == thatceiter.m_source_.getIndex()
+                   && m_source_.getText().equals(
+                                            thatceiter.m_source_.getText());
+        }
+        return false;
+    }
+
+    // package private constructors ------------------------------------------
+
+    /**
+     * <p>CollationElementIterator constructor. This takes a source
+     * string and a RuleBasedCollator. The iterator will walk through
+     * the source string based on the rules defined by the
+     * collator. If the source string is empty, NULLORDER will be
+     * returned on the first call to next().</p>
+     *
+     * @param source the source string.
+     * @param collator the RuleBasedCollator
+     * @stable ICU 2.8
+     */
+    CollationElementIterator(String source, RuleBasedCollator collator)
+    {
+        m_srcUtilIter_ = new StringUCharacterIterator(source);
+        m_utilStringBuffer_ = new StringBuffer();
+        m_source_ = m_srcUtilIter_;
+        m_collator_ = collator;
+        m_CEBuffer_ = new int[CE_BUFFER_INIT_SIZE_];
+        m_buffer_ = new StringBuffer();
+        m_utilSpecialBackUp_ = new Backup();
+        updateInternalState();
+    }
+
+    /**
+     * <p>CollationElementIterator constructor. This takes a source
+     * character iterator and a RuleBasedCollator. The iterator will
+     * walk through the source string based on the rules defined by
+     * the collator. If the source string is empty, NULLORDER will be
+     * returned on the first call to next().</p>
+     *
+     * @param source the source string iterator.
+     * @param collator the RuleBasedCollator
+     * @stable ICU 2.8
+     */
+    CollationElementIterator(CharacterIterator source,
+                             RuleBasedCollator collator)
+    {
+        m_srcUtilIter_ = new StringUCharacterIterator();
+        m_utilStringBuffer_ = new StringBuffer();
+        m_source_ = new CharacterIteratorWrapper(source);
+        m_collator_ = collator;
+        m_CEBuffer_ = new int[CE_BUFFER_INIT_SIZE_];
+        m_buffer_ = new StringBuffer();
+        m_utilSpecialBackUp_ = new Backup();
+        updateInternalState();
+    }
+    
+    /**
+     * <p>CollationElementIterator constructor. This takes a source
+     * character iterator and a RuleBasedCollator. The iterator will
+     * walk through the source string based on the rules defined by
+     * the collator. If the source string is empty, NULLORDER will be
+     * returned on the first call to next().</p>
+     *
+     * @param source the source string iterator.
+     * @param collator the RuleBasedCollator
+     * @stable ICU 2.8
+     */
+    CollationElementIterator(UCharacterIterator source,
+                             RuleBasedCollator collator)
+    {
+        m_srcUtilIter_ = new StringUCharacterIterator();
+        m_utilStringBuffer_ = new StringBuffer();
+        m_srcUtilIter_.setText(source.getText());
+        m_source_ = m_srcUtilIter_;
+        m_collator_ = collator;
+        m_CEBuffer_ = new int[CE_BUFFER_INIT_SIZE_];
+        m_buffer_ = new StringBuffer();
+        m_utilSpecialBackUp_ = new Backup();
+        updateInternalState();
+    }
+
+    // package private data members -----------------------------------------
+
+    /**
+     * true if current codepoint was Hiragana
+     */
+    boolean m_isCodePointHiragana_;
+    /**
+     * Position in the original string that starts with a non-FCD sequence
+     */
+    int m_FCDStart_;
+    /**
+     * This is the CE from CEs buffer that should be returned.
+     * Initial value is 0.
+     * Forwards iteration will end with m_CEBufferOffset_ == m_CEBufferSize_,
+     * backwards will end with m_CEBufferOffset_ == 0.
+     * The next/previous after we reach the end/beginning of the m_CEBuffer_
+     * will cause this value to be reset to 0.
+     */
+    int m_CEBufferOffset_;
+
+    /**
+     * This is the position to which we have stored processed CEs.
+     * Initial value is 0.
+     * The next/previous after we reach the end/beginning of the m_CEBuffer_
+     * will cause this value to be reset to 0.
+     */
+    int m_CEBufferSize_;
+    static final int CE_NOT_FOUND_ = 0xF0000000;
+    static final int CE_EXPANSION_TAG_ = 1;
+    static final int CE_CONTRACTION_TAG_ = 2;
+    /** 
+     * Collate Digits As Numbers (CODAN) implementation
+     */
+    static final int CE_DIGIT_TAG_ = 13;
+
+    // package private methods ----------------------------------------------
+
+    /**
+     * Sets the collator used.
+     * Internal use, all data members will be reset to the default values
+     * @param collator to set
+     */
+    void setCollator(RuleBasedCollator collator)
+    {
+        m_collator_ = collator;
+        updateInternalState();
+    }
+
+    /**
+     * <p>Sets the iterator to point to the collation element corresponding to
+     * the specified character (the parameter is a CHARACTER offset in the
+     * original string, not an offset into its corresponding sequence of
+     * collation elements). The value returned by the next call to next()
+     * will be the collation element corresponding to the specified position
+     * in the text. Unlike the public method setOffset(int), this method does
+     * not try to readjust the offset to the start of a contracting sequence.
+     * getOffset() is guaranteed to return the same value as was passed to a
+     * preceding call to setOffset().</p>
+     * @param offset new character offset into the original text to set.
+     */
+    void setExactOffset(int offset)
+    {
+        m_source_.setIndex(offset);
+        updateInternalState();
+    }
+
+    /**
+     * Checks if iterator is in the buffer zone
+     * @return true if iterator is in buffer zone, false otherwise
+     */
+    boolean isInBuffer()
+    {
+        return m_bufferOffset_ > 0;
+    }
+
+   
+    /**
+     * <p>Sets the iterator to point to the collation element corresponding to
+     * the specified character (the parameter is a CHARACTER offset in the
+     * original string, not an offset into its corresponding sequence of
+     * collation elements). The value returned by the next call to next()
+     * will be the collation element corresponding to the specified position
+     * in the text. Unlike the public method setOffset(int), this method does
+     * not try to readjust the offset to the start of a contracting sequence.
+     * getOffset() is guaranteed to return the same value as was passed to a
+     * preceding call to setOffset().</p>
+     * </p>
+     * @param source the new source string iterator for iteration.
+     * @param offset to the source
+     */
+    void setText(UCharacterIterator source, int offset)
+    {
+        m_srcUtilIter_.setText(source.getText());
+        m_source_ = m_srcUtilIter_;
+        m_source_.setIndex(offset);
+        updateInternalState();
+    }
+
+    // private inner class --------------------------------------------------
+
+    /**
+     * Backup data class
+     */
+    private static final class Backup
+    {
+        // protected data members -------------------------------------------
+
+        /**
+         * Backup non FCD sequence limit
+         */
+        protected int m_FCDLimit_;
+        /**
+         * Backup non FCD sequence start
+         */
+        protected int m_FCDStart_;
+        /**
+         * Backup if previous Codepoint is Hiragana quatenary
+         */
+        protected boolean m_isCodePointHiragana_;
+        /**
+         * Backup buffer position
+         */
+        protected int m_bufferOffset_;
+        /**
+         * Backup source iterator offset
+         */
+        protected int m_offset_;
+        /**
+         * Backup buffer contents
+         */
+        protected StringBuffer m_buffer_;
+
+        // protected constructor --------------------------------------------
+
+        /**
+         * Empty constructor
+         */
+        protected Backup()
+        {
+            m_buffer_ = new StringBuffer();
+        }
+    }
+    // end inner class ------------------------------------------------------
+
+    /**
+     * Direction of travel
+     */
+    private boolean m_isForwards_;
+    /**
+     * Source string iterator
+     */
+    private UCharacterIterator m_source_;
+    /**
+     * This is position to the m_buffer_, -1 if iterator is not in m_buffer_
+     */
+    private int m_bufferOffset_;
+    /**
+     * Buffer for temporary storage of normalized characters, discontiguous
+     * characters and Thai characters
+     */
+    private StringBuffer m_buffer_;
+    /**
+     * Position in the original string to continue forward FCD check from.
+     */
+    private int m_FCDLimit_;
+    /**
+     * The collator this iterator is based on
+     */
+    private RuleBasedCollator m_collator_;
+    /**
+     * true if Hiragana quatenary is on
+     */
+    private boolean m_isHiragana4_;
+    /**
+     * CE buffer
+     */
+    private int m_CEBuffer_[];
+    /**
+     * In reality we should not have to deal with expansion sequences longer
+     * then 16. However this value can be change if a bigger buffer is needed.
+     * Note, if the size is change to too small a number, BIG trouble.
+     * Reasonable small value is around 10, if there's no Arabic or other
+     * funky collations that have long expansion sequence. This is the longest
+     * expansion sequence this can handle without bombing out.
+     */
+    private static final int CE_BUFFER_INIT_SIZE_ = 512;
+    /**
+     * Backup storage for special processing inner cases
+     */
+    private Backup m_utilSpecialBackUp_;
+    /**
+     * Backup storage in special processing entry state
+     */
+    private Backup m_utilSpecialEntryBackUp_;
+    /**
+     * Backup storage in special processing discontiguous state
+     */
+    private Backup m_utilSpecialDiscontiguousBackUp_;
+    /**
+     * Utility
+     */
+    private StringUCharacterIterator m_srcUtilIter_;
+    private StringBuffer m_utilStringBuffer_;
+    private StringBuffer m_utilSkippedBuffer_;
+    private CollationElementIterator m_utilColEIter_;
+    /**
+     * One character before the first non-zero combining class character
+     */
+    private static final int FULL_ZERO_COMBINING_CLASS_FAST_LIMIT_ = 0xC0;
+    /**
+     * One character before the first character with leading non-zero combining
+     * class
+     */
+    private static final int LEAD_ZERO_COMBINING_CLASS_FAST_LIMIT_ = 0x300;
+    /**
+     * Mask for the last byte
+     */
+    private static final int LAST_BYTE_MASK_ = 0xFF;
+    /**
+     * Shift value for the second last byte
+     */
+    private static final int SECOND_LAST_BYTE_SHIFT_ = 8;
+
+    // special ce values and tags -------------------------------------------
+    
+    private static final int CE_EXPANSION_ = 0xF1000000;
+    private static final int CE_CONTRACTION_ = 0xF2000000;
+    /**
+     * Indicates the last ce has been consumed. Compare with NULLORDER.
+     * NULLORDER is returned if error occurs.
+     */
+    private static final int CE_NO_MORE_CES_ = 0x00010101;
+    private static final int CE_NO_MORE_CES_PRIMARY_ = 0x00010000;
+    private static final int CE_NO_MORE_CES_SECONDARY_ = 0x00000100;
+    private static final int CE_NO_MORE_CES_TERTIARY_ = 0x00000001;
+
+    private static final int CE_NOT_FOUND_TAG_ = 0;
+    /**
+     * Charset processing, not yet implemented
+     */
+    private static final int CE_CHARSET_TAG_ = 4;
+    /**
+     * AC00-D7AF
+     */
+    private static final int CE_HANGUL_SYLLABLE_TAG_ = 6;
+    /**
+     * D800-DBFF
+     */
+    private static final int CE_LEAD_SURROGATE_TAG_ = 7;
+    /**
+     * DC00-DFFF
+     */
+    private static final int CE_TRAIL_SURROGATE_TAG_ = 8;
+    /**
+     * 0x3400-0x4DB5, 0x4E00-0x9FA5, 0xF900-0xFA2D
+     */
+    private static final int CE_CJK_IMPLICIT_TAG_ = 9;
+    private static final int CE_IMPLICIT_TAG_ = 10;
+    static final int CE_SPEC_PROC_TAG_ = 11;
+    /**
+     * This is a 3 byte primary with starting secondaries and tertiaries.
+     * It fits in a single 32 bit CE and is used instead of expansion to save
+     * space without affecting the performance (hopefully).
+     */
+    private static final int CE_LONG_PRIMARY_TAG_ = 12;
+                        
+    private static final int CE_CE_TAGS_COUNT = 14;
+    private static final int CE_BYTE_COMMON_ = 0x05;
+
+    // end special ce values and tags ---------------------------------------
+
+    private static final int HANGUL_SBASE_ = 0xAC00;
+    private static final int HANGUL_LBASE_ = 0x1100;
+    private static final int HANGUL_VBASE_ = 0x1161;
+    private static final int HANGUL_TBASE_ = 0x11A7;
+    private static final int HANGUL_VCOUNT_ = 21;
+    private static final int HANGUL_TCOUNT_ = 28;
+
+    // CJK stuff ------------------------------------------------------------
+
+    private static final int CJK_BASE_ = 0x4E00;
+    private static final int CJK_LIMIT_ = 0x9FFF+1;
+    private static final int CJK_COMPAT_USED_BASE_ = 0xFA0E;
+    private static final int CJK_COMPAT_USED_LIMIT_ = 0xFA2F + 1;
+    private static final int CJK_A_BASE_ = 0x3400;
+    private static final int CJK_A_LIMIT_ = 0x4DBF + 1;
+    private static final int CJK_B_BASE_ = 0x20000;
+    private static final int CJK_B_LIMIT_ = 0x2A6DF + 1;
+    private static final int NON_CJK_OFFSET_ = 0x110000;
+
+    private static final boolean DEBUG  =  ICUDebug.enabled("collator");
+    
+    // private methods ------------------------------------------------------
+
+    /**
+     * Reset the iterator internally
+     */
+    private void updateInternalState()
+    {
+        m_isCodePointHiragana_ = false;
+        m_buffer_.setLength(0);
+        m_bufferOffset_ = -1;
+        m_CEBufferOffset_ = 0;
+        m_CEBufferSize_ = 0;
+        m_FCDLimit_ = -1;
+        m_FCDStart_ = m_source_.getLength();
+        m_isHiragana4_ = m_collator_.m_isHiragana4_;
+        m_isForwards_ = true;
+    }
+
+    /**
+     * Backup the current internal state
+     * @param backup object to store the data
+     */
+    private void backupInternalState(Backup backup)
+    {
+        backup.m_offset_ = m_source_.getIndex();
+        backup.m_FCDLimit_ = m_FCDLimit_;
+        backup.m_FCDStart_ = m_FCDStart_;
+        backup.m_isCodePointHiragana_ = m_isCodePointHiragana_;
+        backup.m_bufferOffset_ = m_bufferOffset_;
+        backup.m_buffer_.setLength(0);
+        if (m_bufferOffset_ >= 0) {
+            // jdk 1.3.1 does not have append(StringBuffer) yet
+            if(ICUDebug.isJDK14OrHigher){
+                backup.m_buffer_.append(m_buffer_);
+            }else{
+                backup.m_buffer_.append(m_buffer_.toString());
+            }
+        }
+    }
+
+    /**
+     * Update the iterator internally with backed-up state
+     * @param backup object that stored the data
+     */
+    private void updateInternalState(Backup backup)
+    {
+        m_source_.setIndex(backup.m_offset_);
+        m_isCodePointHiragana_ = backup.m_isCodePointHiragana_;
+        m_bufferOffset_ = backup.m_bufferOffset_;
+        m_FCDLimit_ = backup.m_FCDLimit_;
+        m_FCDStart_ = backup.m_FCDStart_;
+        m_buffer_.setLength(0);
+        if (m_bufferOffset_ >= 0) {
+            // jdk 1.3.1 does not have append(StringBuffer) yet
+            m_buffer_.append(backup.m_buffer_.toString());
+        }
+    }
+
+    /**
+     * A fast combining class retrieval system.
+     * @param ch UTF16 character
+     * @return combining class of ch
+     */
+    private int getCombiningClass(int ch)
+    {
+        if (ch >= LEAD_ZERO_COMBINING_CLASS_FAST_LIMIT_ &&
+            m_collator_.isUnsafe((char)ch) || ch > 0xFFFF) {
+            return NormalizerImpl.getCombiningClass(ch);
+        }
+        return 0;
+    }
+
+    /**
+     * <p>Incremental normalization, this is an essential optimization.
+     * Assuming FCD checks has been done, normalize the non-FCD characters into
+     * the buffer.
+     * Source offsets points to the current processing character.
+     * </p>
+     */
+    private void normalize()
+    {
+        int size = m_FCDLimit_ - m_FCDStart_;
+        m_buffer_.setLength(0);
+        m_source_.setIndex(m_FCDStart_);
+        for (int i = 0; i < size; i ++) {
+            m_buffer_.append((char)m_source_.next());
+        }
+        String decomp = Normalizer.decompose(m_buffer_.toString(), false);
+        m_buffer_.setLength(0);
+        m_buffer_.append(decomp);
+        m_bufferOffset_ = 0;
+    }
+
+    /**
+     * <p>Incremental FCD check and normalization. Gets the next base character
+     * position and determines if the in-between characters needs normalization.
+     * </p>
+     * <p>When entering, the state is known to be this:
+     * <ul>
+     * <li>We are working on source string, not the buffer.
+     * <li>The leading combining class from the current character is 0 or the
+     *     trailing combining class of the previous char was zero.
+     * </ul>
+     * Incoming source offsets points to the current processing character.
+     * Return source offsets points to the current processing character.
+     * </p>
+     * @param ch current character
+     * @param offset current character offset
+     * @return true if FCDCheck passes, false otherwise
+     */
+    private boolean FCDCheck(char ch, int offset)
+    {
+        boolean result = true;
+
+        // Get the trailing combining class of the current character.
+        // If it's zero, we are OK.
+        m_FCDStart_ = offset;
+        m_source_.setIndex(offset);
+        // trie access
+        char fcd = NormalizerImpl.getFCD16(ch);
+        if (fcd != 0 && UTF16.isLeadSurrogate(ch)) {
+            m_source_.next();
+            ch = (char)m_source_.current(); 
+            // UCharacterIterator.DONE has 0 fcd
+            if (UTF16.isTrailSurrogate(ch)) {
+                fcd = NormalizerImpl.getFCD16FromSurrogatePair(fcd, ch);
+            } else {
+                fcd = 0;
+            }
+        }
+
+        int prevTrailCC = fcd & LAST_BYTE_MASK_;
+
+        if (prevTrailCC != 0) {
+            // The current char has a non-zero trailing CC. Scan forward until
+            // we find a char with a leading cc of zero.
+            while (true) {
+                m_source_.next();
+                int ch_int = m_source_.current();
+                if (ch_int == UCharacterIterator.DONE) {
+                    break;
+                }
+                ch = (char)ch_int;
+                // trie access
+                fcd = NormalizerImpl.getFCD16(ch);
+                if (fcd != 0 && UTF16.isLeadSurrogate(ch)) {
+                    m_source_.next();
+                    ch = (char)m_source_.current();
+                    if (UTF16.isTrailSurrogate(ch)) {
+                        fcd = NormalizerImpl.getFCD16FromSurrogatePair(fcd, ch);
+                    } else {
+                        fcd = 0;
+                    }
+                }
+                int leadCC = fcd >>> SECOND_LAST_BYTE_SHIFT_;
+                if (leadCC == 0) {
+                    // this is a base character, we stop the FCD checks
+                    break;
+                }
+
+                if (leadCC < prevTrailCC) {
+                    result = false;
+                }
+
+                prevTrailCC = fcd & LAST_BYTE_MASK_;
+            }
+        }
+        m_FCDLimit_ = m_source_.getIndex();
+        m_source_.setIndex(m_FCDStart_);
+        m_source_.next();
+        return result;
+    }
+
+    /**
+     * <p>Method tries to fetch the next character that is in fcd form.</p>
+     * <p>Normalization is done if required.</p>
+     * <p>Offsets are returned at the next character.</p>
+     * @return next fcd character
+     */
+    private int nextChar()
+    {
+        int result;
+
+        // loop handles the next character whether it is in the buffer or not.
+        if (m_bufferOffset_ < 0) {
+            // we're working on the source and not normalizing. fast path.
+            // note Thai pre-vowel reordering uses buffer too
+            result = m_source_.current();
+        }
+        else {
+            // we are in the buffer, buffer offset will never be 0 here
+            if (m_bufferOffset_ >= m_buffer_.length()) {
+                // Null marked end of buffer, revert to the source string and
+                // loop back to top to try again to get a character.
+                m_source_.setIndex(m_FCDLimit_);
+                m_bufferOffset_ = -1;
+                m_buffer_.setLength(0);
+                return nextChar();
+            }
+            return m_buffer_.charAt(m_bufferOffset_ ++);
+        }
+        int startoffset = m_source_.getIndex();
+        if (result < FULL_ZERO_COMBINING_CLASS_FAST_LIMIT_
+            // Fast fcd safe path. trail combining class == 0.
+            || m_collator_.getDecomposition() == Collator.NO_DECOMPOSITION
+            || m_bufferOffset_ >= 0 || m_FCDLimit_ > startoffset) {
+            // skip the fcd checks
+            m_source_.next();
+            return result;
+        }
+
+        if (result < LEAD_ZERO_COMBINING_CLASS_FAST_LIMIT_) {
+            // We need to peek at the next character in order to tell if we are
+            // FCD
+            m_source_.next();
+            int next = m_source_.current();
+            if (next == UCharacterIterator.DONE
+                || next < LEAD_ZERO_COMBINING_CLASS_FAST_LIMIT_) {
+                return result; // end of source string and if next character
+                // starts with a base character is always fcd.
+            }
+        }
+
+        // Need a more complete FCD check and possible normalization.
+        if (!FCDCheck((char)result, startoffset)) {
+            normalize();
+            result = m_buffer_.charAt(0);
+            m_bufferOffset_ = 1;
+        }
+        return result;
+    }
+
+    /**
+     * <p>Incremental normalization, this is an essential optimization.
+     * Assuming FCD checks has been done, normalize the non-FCD characters into
+     * the buffer.
+     * Source offsets points to the current processing character.</p>
+     */
+    private void normalizeBackwards()
+    {
+        normalize();
+        m_bufferOffset_ = m_buffer_.length();
+    }
+
+    /**
+     * <p>Incremental backwards FCD check and normalization. Gets the previous
+     * base character position and determines if the in-between characters
+     * needs normalization.
+     * </p>
+     * <p>When entering, the state is known to be this:
+     * <ul>
+     * <li>We are working on source string, not the buffer.
+     * <li>The trailing combining class from the current character is 0 or the
+     *     leading combining class of the next char was zero.
+     * </ul>
+     * Input source offsets points to the previous character.
+     * Return source offsets points to the current processing character.
+     * </p>
+     * @param ch current character
+     * @param offset current character offset
+     * @return true if FCDCheck passes, false otherwise
+     */
+    private boolean FCDCheckBackwards(char ch, int offset)
+    {
+        boolean result = true;
+        char fcd = 0;
+        m_FCDLimit_ = offset + 1;
+        m_source_.setIndex(offset);
+        if (!UTF16.isSurrogate(ch)) {
+            fcd = NormalizerImpl.getFCD16(ch);
+        }
+        else if (UTF16.isTrailSurrogate(ch) && m_FCDLimit_ > 0) {
+            // note trail surrogate characters gets 0 fcd
+            char trailch = ch;
+            ch = (char)m_source_.previous();
+            if (UTF16.isLeadSurrogate(ch)) {
+                fcd = NormalizerImpl.getFCD16(ch);
+                if (fcd != 0) {
+                    fcd = NormalizerImpl.getFCD16FromSurrogatePair(fcd,
+                                                                   trailch);
+                }
+            }
+            else {
+                fcd = 0; // unpaired surrogate
+            }
+        }
+
+        int leadCC = fcd >>> SECOND_LAST_BYTE_SHIFT_;
+        // The current char has a non-zero leading combining class.
+        // Scan backward until we find a char with a trailing cc of zero.
+
+        while (leadCC != 0) {
+            offset = m_source_.getIndex();
+            if (offset == 0) {
+                break;
+            }
+            ch = (char)m_source_.previous();
+            if (!UTF16.isSurrogate(ch)) {
+                fcd = NormalizerImpl.getFCD16(ch);
+            }
+            else if (UTF16.isTrailSurrogate(ch) && m_source_.getIndex() > 0) {
+                char trail = ch;
+                ch = (char)m_source_.previous();
+                if (UTF16.isLeadSurrogate(ch)) {
+                    fcd = NormalizerImpl.getFCD16(ch);
+                }
+                if (fcd != 0) {
+                    fcd = NormalizerImpl.getFCD16FromSurrogatePair(fcd, trail);
+                }
+            }
+            else {
+                fcd = 0; // unpaired surrogate
+            }
+            int prevTrailCC = fcd & LAST_BYTE_MASK_;
+            if (leadCC < prevTrailCC) {
+                result = false;
+            }
+            leadCC = fcd >>> SECOND_LAST_BYTE_SHIFT_;
+        }
+
+        // storing character with 0 lead fcd or the 1st accent with a base
+        // character before it
+        if (fcd == 0) {
+            m_FCDStart_ = offset;
+        }
+        else {
+            m_FCDStart_ = m_source_.getIndex();
+        }
+        m_source_.setIndex(m_FCDLimit_);
+        return result;
+    }
+
+    /**
+     * <p>Method tries to fetch the previous character that is in fcd form.</p>
+     * <p>Normalization is done if required.</p>
+     * <p>Offsets are returned at the current character.</p>
+     * @return previous fcd character
+     */
+    private int previousChar()
+    {
+        if (m_bufferOffset_ >= 0) {
+            m_bufferOffset_ --;
+            if (m_bufferOffset_ >= 0) {
+                return m_buffer_.charAt(m_bufferOffset_);
+            }
+            else {
+                // At the start of buffer, route back to string.
+                m_buffer_.setLength(0);
+                if (m_FCDStart_ == 0) {
+                    m_FCDStart_ = -1;
+                    m_source_.setIndex(0);
+                    return UCharacterIterator.DONE;
+                }
+                else {
+                    m_FCDLimit_ = m_FCDStart_;
+                    m_source_.setIndex(m_FCDStart_);
+                    return previousChar();
+                }
+            }
+        }
+        int result = m_source_.previous();
+        int startoffset = m_source_.getIndex();
+        if (result < LEAD_ZERO_COMBINING_CLASS_FAST_LIMIT_
+            || m_collator_.getDecomposition() == Collator.NO_DECOMPOSITION
+            || m_FCDStart_ <= startoffset || m_source_.getIndex() == 0) {
+            return result;
+        }
+        int ch = m_source_.previous();
+        if (ch < FULL_ZERO_COMBINING_CLASS_FAST_LIMIT_) {
+            // if previous character is FCD
+            m_source_.next();
+            return result;
+        }
+        // Need a more complete FCD check and possible normalization.
+        if (!FCDCheckBackwards((char)result, startoffset)) {
+            normalizeBackwards();
+            m_bufferOffset_ --;
+            result = m_buffer_.charAt(m_bufferOffset_);
+        }
+        else {
+            // fcd checks alway reset m_source_ to the limit of the FCD
+            m_source_.setIndex(startoffset);
+        }
+        return result;
+    }
+
+    /**
+     * Determines if it is at the start of source iteration
+     * @return true if iterator at the start, false otherwise
+     */
+    private final boolean isBackwardsStart()
+    {
+        return (m_bufferOffset_ < 0 && m_source_.getIndex() == 0)
+            || (m_bufferOffset_ == 0 && m_FCDStart_ <= 0);
+    }
+
+    /**
+     * Checks if iterator is at the end of its source string.
+     * @return true if it is at the end, false otherwise
+     */
+    private final boolean isEnd()
+    {
+        if (m_bufferOffset_ >= 0) {
+            if (m_bufferOffset_ != m_buffer_.length()) {
+                return false;
+            }
+            else {
+                // at end of buffer. check if fcd is at the end
+                return m_FCDLimit_ == m_source_.getLength();
+            }
+        }
+        return m_source_.getLength() == m_source_.getIndex();
+    }
+
+    /**
+     * <p>Special CE management for surrogates</p>
+     * <p>Lead surrogate is encountered. CE to be retrieved by using the
+     * following code unit. If next character is a trail surrogate, both
+     * characters will be combined to retrieve the CE, otherwise completely
+     * ignorable (UCA specification) is returned.</p>
+     * @param collator collator to use
+     * @param ce current CE
+     * @param trail character
+     * @return next CE for the surrogate characters
+     */
+    private final int nextSurrogate(RuleBasedCollator collator, int ce,
+                                    char trail)
+    {
+        if (!UTF16.isTrailSurrogate(trail)) {
+            updateInternalState(m_utilSpecialBackUp_);
+            return IGNORABLE;
+        }
+        // TODO: CE contain the data from the previous CE + the mask.
+        // It should at least be unmasked
+        int result = collator.m_trie_.getTrailValue(ce, trail);
+        if (result == CE_NOT_FOUND_) {
+            updateInternalState(m_utilSpecialBackUp_);
+        }
+        return result;
+    }
+
+    /**
+     * Gets the CE expansion offset
+     * @param collator current collator
+     * @param ce ce to test
+     * @return expansion offset
+     */
+    private int getExpansionOffset(RuleBasedCollator collator, int ce)
+    {
+        return ((ce & 0xFFFFF0) >> 4) - collator.m_expansionOffset_;
+    }
+
+
+    /**
+     * Gets the contraction ce offset
+     * @param collator current collator
+     * @param ce current ce
+     * @return contraction offset
+     */
+    private int getContractionOffset(RuleBasedCollator collator, int ce)
+    {
+        return (ce & 0xFFFFFF) - collator.m_contractionOffset_;
+    }
+
+    /**
+     * Checks if CE is a special tag CE
+     * @param ce to check
+     * @return true if CE is a special tag CE, false otherwise
+     */
+    private boolean isSpecialPrefixTag(int ce)
+    {
+        return RuleBasedCollator.isSpecial(ce) &&
+            RuleBasedCollator.getTag(ce) == CE_SPEC_PROC_TAG_;
+    }
+
+    /**
+     * <p>Special processing getting a CE that is preceded by a certain
+     * prefix.</p>
+     * <p>Used for optimizing Japanese length and iteration marks. When a
+     * special processing tag is encountered, iterate backwards to see if
+     * there's a match.</p>
+     * <p>Contraction tables are used, prefix data is stored backwards in the
+     * table.</p>
+     * @param collator collator to use
+     * @param ce current ce
+     * @param entrybackup entry backup iterator status
+     * @return next collation element
+     */
+    private int nextSpecialPrefix(RuleBasedCollator collator, int ce,
+                                  Backup entrybackup)
+    {
+        backupInternalState(m_utilSpecialBackUp_);
+        updateInternalState(entrybackup);
+        previousChar();
+        // We want to look at the character where we entered
+
+        while (true) {
+            // This loop will run once per source string character, for as
+            // long as we are matching a potential contraction sequence
+            // First we position ourselves at the begining of contraction
+            // sequence
+            int entryoffset = getContractionOffset(collator, ce);
+            int offset = entryoffset;
+            if (isBackwardsStart()) {
+                ce = collator.m_contractionCE_[offset];
+                break;
+            }
+            char previous = (char)previousChar();
+            while (previous > collator.m_contractionIndex_[offset]) {
+                // contraction characters are ordered, skip smaller characters
+                offset ++;
+            }
+
+            if (previous == collator.m_contractionIndex_[offset]) {
+                // Found the source string char in the table.
+                // Pick up the corresponding CE from the table.
+                ce = collator.m_contractionCE_[offset];
+            }
+            else {
+                // Source string char was not in the table, prefix not found
+                ce = collator.m_contractionCE_[entryoffset];
+            }
+
+            if (!isSpecialPrefixTag(ce)) {
+                // The source string char was in the contraction table, and
+                // the corresponding CE is not a prefix CE. We found the
+                // prefix, break out of loop, this CE will end up being
+                // returned. This is the normal way out of prefix handling
+                // when the source actually contained the prefix.
+                break;
+            }
+        }
+        if (ce != CE_NOT_FOUND_) {
+            // we found something and we can merilly continue
+            updateInternalState(m_utilSpecialBackUp_);
+        }
+        else { // prefix search was a failure, we have to backup all the way to
+            // the start
+            updateInternalState(entrybackup);
+        }
+        return ce;
+    }
+
+    /**
+     * Checks if the ce is a contraction tag
+     * @param ce ce to check
+     * @return true if ce is a contraction tag, false otherwise
+     */
+    private boolean isContractionTag(int ce)
+    {
+        return RuleBasedCollator.isSpecial(ce) &&
+            RuleBasedCollator.getTag(ce) == CE_CONTRACTION_TAG_;
+    }
+
+    /**
+     * Method to copy skipped characters into the buffer and sets the fcd
+     * position. To ensure that the skipped characters are considered later,
+     * we need to place it in the appropriate position in the buffer and
+     * reassign the source index. simple case if index reside in string,
+     * simply copy to buffer and fcdposition = pos, pos = start of buffer.
+     * if pos in normalization buffer, we'll insert the copy infront of pos
+     * and point pos to the start of the buffer. why am i doing these copies?
+     * well, so that the whole chunk of codes in the getNextCE,
+     * ucol_prv_getSpecialCE does not require any changes, which will be
+     * really painful.
+     * @param skipped character buffer
+     */
+    private void setDiscontiguous(StringBuffer skipped)
+    {
+        if (m_bufferOffset_ >= 0) {
+            m_buffer_.replace(0, m_bufferOffset_, skipped.toString());
+        }
+        else {
+            m_FCDLimit_ = m_source_.getIndex();
+            m_buffer_.setLength(0);
+            m_buffer_.append(skipped.toString());
+        }
+
+        m_bufferOffset_ = 0;
+    }
+
+    /**
+     * Returns the current character for forward iteration
+     * @return current character
+     */
+    private int currentChar()
+    {
+        if (m_bufferOffset_ < 0) {
+            m_source_.previous();
+            return m_source_.next();
+        }
+
+        // m_bufferOffset_ is never 0 in normal circumstances except after a
+        // discontiguous contraction since it is always returned and moved
+        // by 1 when we do nextChar()
+        return m_buffer_.charAt(m_bufferOffset_ - 1);
+    }
+
+    /**
+     * Method to get the discontiguous collation element within the source.
+     * Note this function will set the position to the appropriate places.
+     * Passed in character offset points to the second combining character
+     * after the start character.
+     * @param collator current collator used
+     * @param entryoffset index to the start character in the contraction table
+     * @return discontiguous collation element offset
+     */
+    private int nextDiscontiguous(RuleBasedCollator collator, int entryoffset)
+    {
+        int offset = entryoffset;
+        boolean multicontraction = false;
+        // since it will be stuffed into this iterator and ran over again
+        if (m_utilSkippedBuffer_ == null) {
+            m_utilSkippedBuffer_ = new StringBuffer();
+        }
+        else {
+            m_utilSkippedBuffer_.setLength(0);
+        }
+        char ch = (char)currentChar();
+        m_utilSkippedBuffer_.append((char)currentChar());
+        // accent after the first character
+        if (m_utilSpecialDiscontiguousBackUp_ == null) {
+            m_utilSpecialDiscontiguousBackUp_ = new Backup();
+        }
+        backupInternalState(m_utilSpecialDiscontiguousBackUp_);
+        char nextch = ch;
+        while (true) {
+            ch = nextch;
+            int ch_int = nextChar();
+            nextch = (char)ch_int;
+            if (ch_int == UCharacterIterator.DONE
+                || getCombiningClass(nextch) == 0) {
+                // if there are no more accents to move around
+                // we don't have to shift previousChar, since we are resetting
+                // the offset later
+                if (multicontraction) {
+                    if (ch_int != UCharacterIterator.DONE) {
+                        previousChar(); // backtrack
+                    }
+                    setDiscontiguous(m_utilSkippedBuffer_);
+                    return collator.m_contractionCE_[offset];
+                }
+                break;
+            }
+
+            offset ++; // skip the combining class offset
+            while (nextch > collator.m_contractionIndex_[offset]) {
+                offset ++;
+            }
+
+            int ce = CE_NOT_FOUND_;
+            if (nextch != collator.m_contractionIndex_[offset]
+                    || getCombiningClass(nextch) == getCombiningClass(ch)) {
+                    // unmatched or blocked character
+                m_utilSkippedBuffer_.append(nextch);
+                continue;
+            }
+            else {
+                ce = collator.m_contractionCE_[offset];
+            }
+
+            if (ce == CE_NOT_FOUND_) {
+                break;
+            }
+            else if (isContractionTag(ce)) {
+                // this is a multi-contraction
+                offset = getContractionOffset(collator, ce);
+                if (collator.m_contractionCE_[offset] != CE_NOT_FOUND_) {
+                    multicontraction = true;
+                    backupInternalState(m_utilSpecialDiscontiguousBackUp_);
+                }
+            }
+            else {
+                setDiscontiguous(m_utilSkippedBuffer_);
+                return ce;
+            }
+        }
+
+        updateInternalState(m_utilSpecialDiscontiguousBackUp_);
+        // backup is one forward of the base character, we need to move back
+        // one more
+        previousChar();
+        return collator.m_contractionCE_[entryoffset];
+    }
+
+    /**
+     * Gets the next contraction ce
+     * @param collator collator to use
+     * @param ce current ce
+     * @param entrybackup entry backup iterator status
+     * @return ce of the next contraction
+     */
+    private int nextContraction(RuleBasedCollator collator, int ce)
+    {
+        backupInternalState(m_utilSpecialBackUp_);
+        int entryce = collator.m_contractionCE_[getContractionOffset(collator, ce)]; //CE_NOT_FOUND_;
+        while (true) {
+            int entryoffset = getContractionOffset(collator, ce);
+            int offset = entryoffset;
+
+            if (isEnd()) {
+                ce = collator.m_contractionCE_[offset];
+                if (ce == CE_NOT_FOUND_) {
+                    // back up the source over all the chars we scanned going
+                    // into this contraction.
+                    ce = entryce;
+                    updateInternalState(m_utilSpecialBackUp_);
+                }
+                break;
+            }
+
+            // get the discontiguos maximum combining class
+            int maxCC = (collator.m_contractionIndex_[offset] & 0xFF);
+            // checks if all characters have the same combining class
+            byte allSame = (byte)(collator.m_contractionIndex_[offset] >> 8);
+            char ch = (char)nextChar();
+            offset ++;
+            while (ch > collator.m_contractionIndex_[offset]) {
+                // contraction characters are ordered, skip all smaller
+                offset ++;
+            }
+
+            if (ch == collator.m_contractionIndex_[offset]) {
+                // Found the source string char in the contraction table.
+                //  Pick up the corresponding CE from the table.
+                ce = collator.m_contractionCE_[offset];
+            }
+            else {
+                // Source string char was not in contraction table.
+                // Unless it is a discontiguous contraction, we are done
+                int miss = ch;
+                if(UTF16.isLeadSurrogate(ch)) { // in order to do the proper detection, we
+                    // need to see if we're dealing with a supplementary
+                    miss = UCharacterProperty.getRawSupplementary(ch, (char) nextChar());
+                  }
+                int sCC;
+                if (maxCC == 0 || (sCC = getCombiningClass(miss)) == 0
+                    || sCC > maxCC || (allSame != 0 && sCC == maxCC) ||
+                    isEnd()) {
+                    // Contraction can not be discontiguous, back up by one
+                    previousChar();
+                    if(miss > 0xFFFF) {
+                        previousChar();
+                    }
+                    ce = collator.m_contractionCE_[entryoffset];
+                }
+                else {
+                    // Contraction is possibly discontiguous.
+                    // find the next character if ch is not a base character
+                    int ch_int = nextChar();
+                    if (ch_int != UCharacterIterator.DONE) {
+                        previousChar();
+                    }
+                    char nextch = (char)ch_int;
+                    if (getCombiningClass(nextch) == 0) {
+                        previousChar();
+                        if(miss > 0xFFFF) {
+                            previousChar();
+                        }    
+                        // base character not part of discontiguous contraction
+                        ce = collator.m_contractionCE_[entryoffset];
+                    }
+                    else {
+                        ce = nextDiscontiguous(collator, entryoffset);
+                    }
+                }
+            }
+
+            if (ce == CE_NOT_FOUND_) {
+                // source did not match the contraction, revert back original
+                updateInternalState(m_utilSpecialBackUp_);
+                ce = entryce;
+                break;
+            }
+
+            // source was a contraction
+            if (!isContractionTag(ce)) {
+                break;
+            }
+
+            // ccontinue looping to check for the remaining contraction.
+            if (collator.m_contractionCE_[entryoffset] != CE_NOT_FOUND_) {
+                // there are further contractions to be performed, so we store
+                // the so-far completed ce, so that if we fail in the next
+                // round we just return this one.
+                entryce = collator.m_contractionCE_[entryoffset];
+                backupInternalState(m_utilSpecialBackUp_);
+                if (m_utilSpecialBackUp_.m_bufferOffset_ >= 0) {
+                    m_utilSpecialBackUp_.m_bufferOffset_ --;
+                }
+                else {
+                    m_utilSpecialBackUp_.m_offset_ --;
+                }
+            }
+        }
+        return ce;
+    }
+
+    /**
+     * Gets the next ce for long primaries, stuffs the rest of the collation
+     * elements into the ce buffer
+     * @param ce current ce
+     * @return next ce
+     */
+    private int nextLongPrimary(int ce)
+    {
+        m_CEBuffer_[1] = ((ce & 0xFF) << 24)
+            | RuleBasedCollator.CE_CONTINUATION_MARKER_;
+        m_CEBufferOffset_ = 1;
+        m_CEBufferSize_ = 2;
+        m_CEBuffer_[0] = ((ce & 0xFFFF00) << 8) | (CE_BYTE_COMMON_ << 8) |
+            CE_BYTE_COMMON_;
+        return m_CEBuffer_[0];
+    }
+
+    /**
+     * Gets the number of expansion
+     * @param ce current ce
+     * @return number of expansion
+     */
+    private int getExpansionCount(int ce)
+    {
+        return ce & 0xF;
+    }
+
+    /**
+     * Gets the next expansion ce and stuffs the rest of the collation elements
+     * into the ce buffer
+     * @param collator current collator
+     * @param ce current ce
+     * @return next expansion ce
+     */
+    private int nextExpansion(RuleBasedCollator collator, int ce)
+    {
+        // NOTE: we can encounter both continuations and expansions in an
+        // expansion!
+        // I have to decide where continuations are going to be dealt with
+        int offset = getExpansionOffset(collator, ce);
+        m_CEBufferSize_ = getExpansionCount(ce);
+        m_CEBufferOffset_ = 1;
+        m_CEBuffer_[0] = collator.m_expansion_[offset];
+        if (m_CEBufferSize_ != 0) {
+            // if there are less than 16 elements in expansion
+            for (int i = 1; i < m_CEBufferSize_; i ++) {
+                m_CEBuffer_[i] = collator.m_expansion_[offset + i];
+            }
+        }
+        else {
+            // ce are terminated
+            m_CEBufferSize_ = 1;
+            while (collator.m_expansion_[offset] != 0) {
+                m_CEBuffer_[m_CEBufferSize_ ++] =
+                    collator.m_expansion_[++ offset];
+            }
+        }
+        // in case of one element expansion, we 
+        // want to immediately return CEpos
+        if (m_CEBufferSize_ == 1) {
+            m_CEBufferSize_ = 0;
+            m_CEBufferOffset_ = 0;
+        }
+        return m_CEBuffer_[0];
+    }
+    
+    /**
+     * Gets the next digit ce
+     * @param collator current collator
+     * @param ce current collation element
+     * @param cp current codepoint
+     * @return next digit ce
+     */
+    private int nextDigit(RuleBasedCollator collator, int ce, int cp)
+    {
+        // We do a check to see if we want to collate digits as numbers; 
+        // if so we generate a custom collation key. Otherwise we pull out 
+        // the value stored in the expansion table.
+
+        if (m_collator_.m_isNumericCollation_){
+            int collateVal = 0;
+            int trailingZeroIndex = 0;
+            boolean nonZeroValReached = false;
+
+            // I just need a temporary place to store my generated CEs.
+            // icu4c uses a unsigned byte array, i'll use a stringbuffer here
+            // to avoid dealing with the sign problems and array allocation
+            // clear and set initial string buffer length
+            m_utilStringBuffer_.setLength(3);
+        
+            // We parse the source string until we hit a char that's NOT a 
+            // digit.
+            // Use this u_charDigitValue. This might be slow because we have 
+            // to handle surrogates...
+            int digVal = UCharacter.digit(cp); 
+            // if we have arrived here, we have already processed possible 
+            // supplementaries that trigered the digit tag -
+            // all supplementaries are marked in the UCA.
+            // We  pad a zero in front of the first element anyways. 
+            // This takes care of the (probably) most common case where 
+            // people are sorting things followed by a single digit
+            int digIndx = 1;
+            for (;;) {
+                // Make sure we have enough space.
+                if (digIndx >= ((m_utilStringBuffer_.length() - 2) << 1)) {
+                    m_utilStringBuffer_.setLength(m_utilStringBuffer_.length() 
+                                                  << 1);
+                }
+                // Skipping over leading zeroes.        
+                if (digVal != 0 || nonZeroValReached) {
+                    if (digVal != 0 && !nonZeroValReached) {
+                        nonZeroValReached = true;
+                    }    
+                    // We parse the digit string into base 100 numbers 
+                    // (this fits into a byte).
+                    // We only add to the buffer in twos, thus if we are 
+                    // parsing an odd character, that serves as the 
+                    // 'tens' digit while the if we are parsing an even 
+                    // one, that is the 'ones' digit. We dumped the 
+                    // parsed base 100 value (collateVal) into a buffer. 
+                    // We multiply each collateVal by 2 (to give us room) 
+                    // and add 5 (to avoid overlapping magic CE byte 
+                    // values). The last byte we subtract 1 to ensure it is 
+                    // less than all the other bytes.
+                    if (digIndx % 2 == 1) {
+                        collateVal += digVal;  
+                        // This removes trailing zeroes.
+                        if (collateVal == 0 && trailingZeroIndex == 0) {
+                            trailingZeroIndex = ((digIndx - 1) >>> 1) + 2;
+                        }
+                        else if (trailingZeroIndex != 0) {
+                            trailingZeroIndex = 0;
+                        }
+                        m_utilStringBuffer_.setCharAt(
+                                            ((digIndx - 1) >>> 1) + 2,
+                                            (char)((collateVal << 1) + 6));
+                        collateVal = 0;
+                    }
+                    else {
+                        // We drop the collation value into the buffer so if 
+                        // we need to do a "front patch" we don't have to 
+                        // check to see if we're hitting the last element.
+                        collateVal = digVal * 10;
+                        m_utilStringBuffer_.setCharAt((digIndx >>> 1) + 2, 
+                                                (char)((collateVal << 1) + 6));
+                    }
+                    digIndx ++;
+                }
+            
+                // Get next character.
+                if (!isEnd()){
+                    backupInternalState(m_utilSpecialBackUp_);
+                    int char32 = nextChar();
+                    char ch = (char)char32;
+                    if (UTF16.isLeadSurrogate(ch)){
+                        if (!isEnd()) {
+                            char trail = (char)nextChar();
+                            if (UTF16.isTrailSurrogate(trail)) {
+                               char32 = UCharacterProperty.getRawSupplementary(
+                                                                   ch, trail);
+                            } 
+                            else {
+                                goBackOne();
+                            }
+                        }
+                    }
+                    
+                    digVal = UCharacter.digit(char32);
+                    if (digVal == -1) {
+                        // Resetting position to point to the next unprocessed 
+                        // char. We overshot it when doing our test/set for 
+                        // numbers.
+                        updateInternalState(m_utilSpecialBackUp_);
+                        break;
+                    }
+                } 
+                else {
+                    break;
+                }
+            }
+        
+            if (nonZeroValReached == false){
+                digIndx = 2;
+                m_utilStringBuffer_.setCharAt(2, (char)6);
+            }
+        
+            int endIndex = trailingZeroIndex != 0 ? trailingZeroIndex 
+                                             : (digIndx >>> 1) + 2;              
+            if (digIndx % 2 != 0){
+                // We missed a value. Since digIndx isn't even, stuck too many 
+                // values into the buffer (this is what we get for padding the 
+                // first byte with a zero). "Front-patch" now by pushing all 
+                // nybbles forward.
+                // Doing it this way ensures that at least 50% of the time 
+                // (statistically speaking) we'll only be doing a single pass 
+                // and optimizes for strings with single digits. I'm just 
+                // assuming that's the more common case.
+                for (int i = 2; i < endIndex; i ++){
+                    m_utilStringBuffer_.setCharAt(i, 
+                        (char)((((((m_utilStringBuffer_.charAt(i) - 6) >>> 1) 
+                                  % 10) * 10) 
+                                 + (((m_utilStringBuffer_.charAt(i + 1) - 6) 
+                                      >>> 1) / 10) << 1) + 6));
+                }
+                -- digIndx;
+            }
+        
+            // Subtract one off of the last byte. 
+            m_utilStringBuffer_.setCharAt(endIndex - 1, 
+                         (char)(m_utilStringBuffer_.charAt(endIndex - 1) - 1));            
+                
+            // We want to skip over the first two slots in the buffer. 
+            // The first slot is reserved for the header byte CODAN_PLACEHOLDER. 
+            // The second slot is for the sign/exponent byte: 
+            // 0x80 + (decimalPos/2) & 7f.
+            m_utilStringBuffer_.setCharAt(0, (char)RuleBasedCollator.CODAN_PLACEHOLDER);
+            m_utilStringBuffer_.setCharAt(1, 
+                                     (char)(0x80 + ((digIndx >>> 1) & 0x7F)));
+        
+            // Now transfer the collation key to our collIterate struct.
+            // The total size for our collation key is endIndx bumped up to the next largest even value divided by two.
+            ce = (((m_utilStringBuffer_.charAt(0) << 8)
+                       // Primary weight 
+                       | m_utilStringBuffer_.charAt(1)) 
+                                    << RuleBasedCollator.CE_PRIMARY_SHIFT_)
+                       //  Secondary weight 
+                       | (RuleBasedCollator.BYTE_COMMON_ 
+                          << RuleBasedCollator.CE_SECONDARY_SHIFT_) 
+                       | RuleBasedCollator.BYTE_COMMON_; // Tertiary weight.
+            int i = 2; // Reset the index into the buffer.
+            
+            m_CEBuffer_[0] = ce;
+            m_CEBufferSize_ = 1;
+            m_CEBufferOffset_ = 1;
+            while (i < endIndex)
+            {
+                int primWeight = m_utilStringBuffer_.charAt(i ++) << 8;
+                if (i < endIndex) {
+                    primWeight |= m_utilStringBuffer_.charAt(i ++);
+                }
+                m_CEBuffer_[m_CEBufferSize_ ++] 
+                    = (primWeight << RuleBasedCollator.CE_PRIMARY_SHIFT_) 
+                      | RuleBasedCollator.CE_CONTINUATION_MARKER_;
+            }
+            return ce;
+        } 
+        
+        // no numeric mode, we'll just switch to whatever we stashed and 
+        // continue
+        // find the offset to expansion table
+        return collator.m_expansion_[getExpansionOffset(collator, ce)];
+    }
+
+    /**
+     * Gets the next implicit ce for codepoints
+     * @param codepoint current codepoint
+     * @return implicit ce
+     */
+    private int nextImplicit(int codepoint)
+    {
+        if (!UCharacter.isLegal(codepoint)) {
+            // synwee to check with vladimir on the range of isNonChar()
+            // illegal code value, use completely ignoreable!
+            return IGNORABLE;
+        }
+        int result = RuleBasedCollator.impCEGen_.getImplicitFromCodePoint(codepoint);
+        m_CEBuffer_[0] = (result & RuleBasedCollator.CE_PRIMARY_MASK_)
+                         | 0x00000505;
+        m_CEBuffer_[1] = ((result & 0x0000FFFF) << 16) | 0x000000C0;
+        m_CEBufferOffset_ = 1;
+        m_CEBufferSize_ = 2;
+        return m_CEBuffer_[0];
+    }
+
+    /**
+     * Returns the next ce associated with the following surrogate characters
+     * @param ch current character
+     * @return ce
+     */
+    private int nextSurrogate(char ch)
+    {
+        int ch_int = nextChar();
+        char nextch = (char)ch_int;
+        if (ch_int != CharacterIterator.DONE &&
+            UTF16.isTrailSurrogate(nextch)) {
+            int codepoint = UCharacterProperty.getRawSupplementary(ch, nextch);
+            return nextImplicit(codepoint);
+        }
+        if (nextch != CharacterIterator.DONE) {
+            previousChar(); // reverts back to the original position
+        }
+        return IGNORABLE; // completely ignorable
+    }
+
+    /**
+     * Returns the next ce for a hangul character, this is an implicit
+     * calculation
+     * @param collator current collator
+     * @param ch current character
+     * @return hangul ce
+     */
+    private int nextHangul(RuleBasedCollator collator, char ch)
+    {
+        char L = (char)(ch - HANGUL_SBASE_);
+
+        // divide into pieces
+        // do it in this order since some compilers can do % and / in one
+        // operation
+        char T = (char)(L % HANGUL_TCOUNT_);
+        L /= HANGUL_TCOUNT_;
+        char V = (char)(L % HANGUL_VCOUNT_);
+        L /= HANGUL_VCOUNT_;
+
+        // offset them
+        L += HANGUL_LBASE_;
+        V += HANGUL_VBASE_;
+        T += HANGUL_TBASE_;
+
+        // return the first CE, but first put the rest into the expansion
+        // buffer
+        m_CEBufferSize_ = 0;
+        if (!collator.m_isJamoSpecial_) { // FAST PATH
+            m_CEBuffer_[m_CEBufferSize_ ++] =
+                collator.m_trie_.getLeadValue(L);
+            m_CEBuffer_[m_CEBufferSize_ ++] =
+                collator.m_trie_.getLeadValue(V);
+
+            if (T != HANGUL_TBASE_) {
+                m_CEBuffer_[m_CEBufferSize_ ++] =
+                    collator.m_trie_.getLeadValue(T);
+            }
+            m_CEBufferOffset_ = 1;
+            return m_CEBuffer_[0];
+        }
+        else {
+            // Jamo is Special
+            // Since Hanguls pass the FCD check, it is guaranteed that we
+            // won't be in the normalization buffer if something like this
+            // happens
+            // Move Jamos into normalization buffer
+            m_buffer_.append((char)L);
+            m_buffer_.append((char)V);
+            if (T != HANGUL_TBASE_) {
+                m_buffer_.append((char)T);
+            }
+            m_FCDLimit_ = m_source_.getIndex();
+            m_FCDStart_ = m_FCDLimit_ - 1;
+            // Indicate where to continue in main input string after
+            // exhausting the buffer
+            return IGNORABLE;
+        }
+    }
+
+    /**
+     * <p>Special CE management. Expansions, contractions etc...</p>
+     * @param collator can be plain UCA
+     * @param ce current ce
+     * @param ch current character
+     * @return next special ce
+     */
+    private int nextSpecial(RuleBasedCollator collator, int ce, char ch)
+    {
+        int codepoint = ch;
+        Backup entrybackup = m_utilSpecialEntryBackUp_;
+        // this is to handle recursive looping
+        if (entrybackup != null) {
+            m_utilSpecialEntryBackUp_ = null;
+        }
+        else {
+            entrybackup = new Backup();
+        }
+        backupInternalState(entrybackup);
+        try { // forces it to assign m_utilSpecialEntryBackup_
+            while (true) {
+                // This loop will repeat only in the case of contractions,
+                // surrogate
+                switch(RuleBasedCollator.getTag(ce)) {
+                case CE_NOT_FOUND_TAG_:
+                    // impossible case for icu4j
+                    return ce;
+                case RuleBasedCollator.CE_SURROGATE_TAG_:
+                    if (isEnd()) {
+                        return IGNORABLE;
+                    }
+                    backupInternalState(m_utilSpecialBackUp_);
+                    char trail = (char)nextChar();
+                    ce = nextSurrogate(collator, ce, trail);
+                    // calculate the supplementary code point value,
+                    // if surrogate was not tailored we go one more round
+                    codepoint =
+                        UCharacterProperty.getRawSupplementary(ch, trail);
+                    break;
+                case CE_SPEC_PROC_TAG_:
+                    ce = nextSpecialPrefix(collator, ce, entrybackup);
+                    break;
+                case CE_CONTRACTION_TAG_:
+                    ce = nextContraction(collator, ce);
+                    break;
+                case CE_LONG_PRIMARY_TAG_:
+                    return nextLongPrimary(ce);
+                case CE_EXPANSION_TAG_:
+                    return nextExpansion(collator, ce);
+                case CE_DIGIT_TAG_:
+                    ce = nextDigit(collator, ce, codepoint);
+                    break;
+                    // various implicits optimization
+                case CE_CJK_IMPLICIT_TAG_:
+                    // 0x3400-0x4DB5, 0x4E00-0x9FA5, 0xF900-0xFA2D
+                    return nextImplicit(codepoint);
+                case CE_IMPLICIT_TAG_: // everything that is not defined
+                    return nextImplicit(codepoint);
+                case CE_TRAIL_SURROGATE_TAG_:
+                    return IGNORABLE; // DC00-DFFF broken surrogate
+                case CE_LEAD_SURROGATE_TAG_:  // D800-DBFF
+                    return nextSurrogate(ch);
+                case CE_HANGUL_SYLLABLE_TAG_: // AC00-D7AF
+                    return nextHangul(collator, ch);
+                case CE_CHARSET_TAG_:
+                                    // not yet implemented probably after 1.8
+                    return CE_NOT_FOUND_;
+                default:
+                    ce = IGNORABLE;
+                    // synwee todo, throw exception or something here.
+                }
+                if (!RuleBasedCollator.isSpecial(ce)) {
+                    break;
+                }
+            }
+        } 
+        finally {
+            m_utilSpecialEntryBackUp_ = entrybackup;
+        }
+        return ce;
+    }
+
+    /**
+     * Special processing is getting a CE that is preceded by a certain prefix.
+     * Currently this is only needed for optimizing Japanese length and
+     * iteration marks. When we encouter a special processing tag, we go
+     * backwards and try to see if we have a match. Contraction tables are used
+     * - so the whole process is not unlike contraction. prefix data is stored
+     * backwards in the table.
+     * @param collator current collator
+     * @param ce current ce
+     * @return previous ce
+     */
+    private int previousSpecialPrefix(RuleBasedCollator collator, int ce)
+    {
+        backupInternalState(m_utilSpecialBackUp_);
+        while (true) {
+            // position ourselves at the begining of contraction sequence
+            int offset = getContractionOffset(collator, ce);
+            int entryoffset = offset;
+            if (isBackwardsStart()) {
+                ce = collator.m_contractionCE_[offset];
+                break;
+            }
+            char prevch = (char)previousChar();
+            while (prevch > collator.m_contractionIndex_[offset]) {
+                // since contraction codepoints are ordered, we skip all that
+                // are smaller
+                offset ++;
+            }
+            if (prevch == collator.m_contractionIndex_[offset]) {
+                ce = collator.m_contractionCE_[offset];
+            }
+            else {
+                // if there is a completely ignorable code point in the middle
+                // of a prefix, we need to act as if it's not there assumption:
+                // 'real' noncharacters (*fffe, *ffff, fdd0-fdef are set to
+                // zero)
+                // lone surrogates cannot be set to zero as it would break
+                // other processing
+                int isZeroCE = collator.m_trie_.getLeadValue(prevch);
+                // it's easy for BMP code points
+                if (isZeroCE == 0) {
+                    continue;
+                }
+                else if (UTF16.isTrailSurrogate(prevch)
+                         || UTF16.isLeadSurrogate(prevch)) {
+                    // for supplementary code points, we have to check the next one
+                    // situations where we are going to ignore
+                    // 1. beginning of the string: schar is a lone surrogate
+                    // 2. schar is a lone surrogate
+                    // 3. schar is a trail surrogate in a valid surrogate
+                    //    sequence that is explicitly set to zero.
+                    if (!isBackwardsStart()) {
+                        char lead = (char)previousChar();
+                        if (UTF16.isLeadSurrogate(lead)) {
+                            isZeroCE = collator.m_trie_.getLeadValue(lead);
+                            if (RuleBasedCollator.getTag(isZeroCE)
+                                == RuleBasedCollator.CE_SURROGATE_TAG_) {
+                                int finalCE = collator.m_trie_.getTrailValue(
+                                                                      isZeroCE,
+                                                                      prevch);
+                                if (finalCE == 0) {
+                                    // this is a real, assigned completely
+                                    // ignorable code point
+                                    continue;
+                                }
+                            }
+                        }
+                        else {
+                            nextChar(); // revert to original offset
+                            // lone surrogate, completely ignorable
+                            continue;
+                        }
+                        nextChar(); // revert to original offset
+                    }
+                    else {
+                         // lone surrogate at the beggining, completely ignorable
+                         continue;
+                    }
+                }
+
+                // char was not in the table. prefix not found
+                ce = collator.m_contractionCE_[entryoffset];
+            }
+
+            if (!isSpecialPrefixTag(ce)) {
+                // char was in the contraction table, and the corresponding ce
+                // is not a prefix ce.  We found the prefix, break out of loop,
+                // this ce will end up being returned.
+                break;
+            }
+        }
+        updateInternalState(m_utilSpecialBackUp_);
+        return ce;
+    }
+
+    /**
+     * Retrieves the previous contraction ce. To ensure that the backwards and
+     * forwards iteration matches, we take the current region of most possible
+     * match and pass it through the forward iteration. This will ensure that
+     * the obstinate problem of overlapping contractions will not occur.
+     * @param collator current collator
+     * @param ce current ce
+     * @param ch current character
+     * @return previous contraction ce
+     */
+    private int previousContraction(RuleBasedCollator collator, int ce, char ch)
+    {
+        m_utilStringBuffer_.setLength(0);
+        // since we might encounter normalized characters (from the thai
+        // processing) we can't use peekCharacter() here.
+        char prevch = (char)previousChar();
+        boolean atStart = false;
+        // TODO: address the comment above - maybe now we *can* use peekCharacter
+        //while (collator.isUnsafe(ch) || isThaiPreVowel(prevch)) {
+        while (collator.isUnsafe(ch)) {
+            m_utilStringBuffer_.insert(0, ch);
+            ch = prevch;
+            if (isBackwardsStart()) {
+                atStart = true;
+                break;
+            }
+            prevch = (char)previousChar();
+        }
+        if (!atStart) {
+            // undo the previousChar() if we didn't reach the beginning 
+            nextChar();
+        }
+        // adds the initial base character to the string
+        m_utilStringBuffer_.insert(0, ch);
+
+        // a new collation element iterator is used to simply things, since
+        // using the current collation element iterator will mean that the
+        // forward and backwards iteration will share and change the same
+        // buffers. it is going to be painful.
+        int originaldecomp = collator.getDecomposition();
+        // for faster access, since string would have been normalized above
+        collator.setDecomposition(Collator.NO_DECOMPOSITION);
+        if (m_utilColEIter_ == null) {
+            m_utilColEIter_ = new CollationElementIterator(
+                                                m_utilStringBuffer_.toString(),
+                                                collator);
+        }
+        else {
+            m_utilColEIter_.m_collator_ = collator;
+            m_utilColEIter_.setText(m_utilStringBuffer_.toString());
+        }
+        ce = m_utilColEIter_.next();
+        m_CEBufferSize_ = 0;
+        while (ce != NULLORDER) {
+            if (m_CEBufferSize_ == m_CEBuffer_.length) {
+                try {
+                    // increasing cebuffer size
+                    int tempbuffer[] = new int[m_CEBuffer_.length + 50];
+                    System.arraycopy(m_CEBuffer_, 0, tempbuffer, 0,
+                                     m_CEBuffer_.length);
+                    m_CEBuffer_ = tempbuffer;
+                }
+                catch( MissingResourceException e)
+                {
+                    throw e;
+                }
+                catch (Exception e) {
+                    if(DEBUG){
+                        e.printStackTrace();
+                    }
+                    return NULLORDER;
+                }
+            }
+            m_CEBuffer_[m_CEBufferSize_ ++] = ce;
+            ce = m_utilColEIter_.next();
+        }
+        collator.setDecomposition(originaldecomp);
+        m_CEBufferOffset_ = m_CEBufferSize_ - 1;
+        return m_CEBuffer_[m_CEBufferOffset_];
+    }
+
+    /**
+     * Returns the previous long primary ces
+     * @param ce long primary ce
+     * @return previous long primary ces
+     */
+    private int previousLongPrimary(int ce)
+    {
+        m_CEBufferSize_ = 0;
+        m_CEBuffer_[m_CEBufferSize_ ++] =
+            ((ce & 0xFFFF00) << 8) | (CE_BYTE_COMMON_ << 8) | CE_BYTE_COMMON_;
+        m_CEBuffer_[m_CEBufferSize_ ++] = ((ce & 0xFF) << 24)
+            | RuleBasedCollator.CE_CONTINUATION_MARKER_;
+        m_CEBufferOffset_ = m_CEBufferSize_ - 1;
+        return m_CEBuffer_[m_CEBufferOffset_];
+    }
+
+    /**
+     * Returns the previous expansion ces
+     * @param collator current collator
+     * @param ce current ce
+     * @return previous expansion ce
+     */
+    private int previousExpansion(RuleBasedCollator collator, int ce)
+    {
+        // find the offset to expansion table
+        int offset = getExpansionOffset(collator, ce);
+        m_CEBufferSize_ = getExpansionCount(ce);
+        if (m_CEBufferSize_ != 0) {
+            // less than 16 elements in expansion
+            for (int i = 0; i < m_CEBufferSize_; i ++) {
+                m_CEBuffer_[i] = collator.m_expansion_[offset + i];
+            }
+
+        }
+        else {
+            // null terminated ces
+            while (collator.m_expansion_[offset + m_CEBufferSize_] != 0) {
+                m_CEBuffer_[m_CEBufferSize_] =
+                    collator.m_expansion_[offset + m_CEBufferSize_];
+                m_CEBufferSize_ ++;
+            }
+        }
+        m_CEBufferOffset_ = m_CEBufferSize_ - 1;
+        return m_CEBuffer_[m_CEBufferOffset_];
+    }
+    
+    /**
+     * Getting the digit collation elements
+     * @param collator
+     * @param ce current collation element
+     * @param ch current code point
+     * @return digit collation element
+     */
+    private int previousDigit(RuleBasedCollator collator, int ce, char ch)
+    {
+        // We do a check to see if we want to collate digits as numbers; if so we generate
+        //  a custom collation key. Otherwise we pull out the value stored in the expansion table.
+        if (m_collator_.m_isNumericCollation_){
+            int leadingZeroIndex = 0;
+            int collateVal = 0;
+            boolean nonZeroValReached = false;
+
+            // clear and set initial string buffer length
+            m_utilStringBuffer_.setLength(3);
+        
+            // We parse the source string until we hit a char that's NOT a digit
+            // Use this u_charDigitValue. This might be slow because we have to 
+            // handle surrogates...
+            int char32 = ch;
+            if (UTF16.isTrailSurrogate(ch)) {
+                if (!isBackwardsStart()){
+                    char lead = (char)previousChar();
+                    if (UTF16.isLeadSurrogate(lead)) {
+                        char32 = UCharacterProperty.getRawSupplementary(lead,
+                                                                        ch);
+                    } 
+                    else {
+                        goForwardOne();
+                    }
+                }
+            } 
+            int digVal = UCharacter.digit(char32);
+            int digIndx = 0;
+            for (;;) {
+                // Make sure we have enough space.
+                if (digIndx >= ((m_utilStringBuffer_.length() - 2) << 1)) {
+                    m_utilStringBuffer_.setLength(m_utilStringBuffer_.length() 
+                                                  << 1);
+                }
+                // Skipping over "trailing" zeroes but we still add to digIndx.
+                if (digVal != 0 || nonZeroValReached) {
+                    if (digVal != 0 && !nonZeroValReached) {
+                        nonZeroValReached = true;
+                    }
+                
+                    // We parse the digit string into base 100 numbers (this 
+                    // fits into a byte).
+                    // We only add to the buffer in twos, thus if we are 
+                    // parsing an odd character, that serves as the 'tens' 
+                    // digit while the if we are parsing an even one, that is 
+                    // the 'ones' digit. We dumped the parsed base 100 value 
+                    // (collateVal) into a buffer. We multiply each collateVal 
+                    // by 2 (to give us room) and add 5 (to avoid overlapping 
+                    // magic CE byte values). The last byte we subtract 1 to 
+                    // ensure it is less than all the other bytes. 
+                    // Since we're doing in this reverse we want to put the 
+                    // first digit encountered into the ones place and the 
+                    // second digit encountered into the tens place.
+                
+                    if (digIndx % 2 == 1){
+                        collateVal += digVal * 10;
+                    
+                        // This removes leading zeroes.
+                        if (collateVal == 0 && leadingZeroIndex == 0) {
+                           leadingZeroIndex = ((digIndx - 1) >>> 1) + 2;
+                        }
+                        else if (leadingZeroIndex != 0) {
+                            leadingZeroIndex = 0;
+                        }
+                                            
+                        m_utilStringBuffer_.setCharAt(((digIndx - 1) >>> 1) + 2, 
+                                                (char)((collateVal << 1) + 6));
+                        collateVal = 0;
+                    }
+                    else {
+                        collateVal = digVal;    
+                    }
+                }
+                digIndx ++;
+            
+                if (!isBackwardsStart()){
+                    backupInternalState(m_utilSpecialBackUp_);
+                    char32 = previousChar();
+                    ch = (char)ch;
+                    if (UTF16.isTrailSurrogate(ch)){
+                        if (!isBackwardsStart()) {
+                            char lead = (char)previousChar();
+                            if (UTF16.isLeadSurrogate(lead)) {
+                                char32 
+                                    = UCharacterProperty.getRawSupplementary(
+                                                                    lead, ch);
+                            } 
+                            else {
+                                updateInternalState(m_utilSpecialBackUp_);
+                            }
+                        }
+                    }
+                    
+                    digVal = UCharacter.digit(char32);
+                    if (digVal == -1) {
+                        updateInternalState(m_utilSpecialBackUp_);
+                        break;
+                    }
+                }
+                else {
+                    break;
+                }
+            }
+
+            if (nonZeroValReached == false) {
+                digIndx = 2;
+                m_utilStringBuffer_.setCharAt(2, (char)6);
+            }
+            
+            if (digIndx % 2 != 0) {
+                if (collateVal == 0 && leadingZeroIndex == 0) {
+                    // This removes the leading 0 in a odd number sequence of 
+                    // numbers e.g. avery001
+                    leadingZeroIndex = ((digIndx - 1) >>> 1) + 2;
+                }
+                else {
+                    // this is not a leading 0, we add it in
+                    m_utilStringBuffer_.setCharAt((digIndx >>> 1) + 2,
+                                                (char)((collateVal << 1) + 6));
+                    digIndx ++; 
+                }               
+            }
+                     
+            int endIndex = leadingZeroIndex != 0 ? leadingZeroIndex 
+                                               : ((digIndx >>> 1) + 2) ;  
+            digIndx = ((endIndex - 2) << 1) + 1; // removing initial zeros         
+            // Subtract one off of the last byte. 
+            // Really the first byte here, but it's reversed...
+            m_utilStringBuffer_.setCharAt(2, 
+                                    (char)(m_utilStringBuffer_.charAt(2) - 1));          
+            // We want to skip over the first two slots in the buffer. 
+            // The first slot is reserved for the header byte CODAN_PLACEHOLDER. 
+            // The second slot is for the sign/exponent byte: 
+            // 0x80 + (decimalPos/2) & 7f.
+            m_utilStringBuffer_.setCharAt(0, (char)RuleBasedCollator.CODAN_PLACEHOLDER);
+            m_utilStringBuffer_.setCharAt(1, 
+                                    (char)(0x80 + ((digIndx >>> 1) & 0x7F)));
+        
+            // Now transfer the collation key to our collIterate struct.
+            // The total size for our collation key is endIndx bumped up to the 
+            // next largest even value divided by two.
+            m_CEBufferSize_ = 0;
+            m_CEBuffer_[m_CEBufferSize_ ++] 
+                        = (((m_utilStringBuffer_.charAt(0) << 8)
+                            // Primary weight 
+                            | m_utilStringBuffer_.charAt(1)) 
+                              << RuleBasedCollator.CE_PRIMARY_SHIFT_)
+                            // Secondary weight 
+                            | (RuleBasedCollator.BYTE_COMMON_ 
+                               << RuleBasedCollator.CE_SECONDARY_SHIFT_)
+                            // Tertiary weight. 
+                            | RuleBasedCollator.BYTE_COMMON_; 
+             int i = endIndex - 1; // Reset the index into the buffer.
+             while (i >= 2) {
+                int primWeight = m_utilStringBuffer_.charAt(i --) << 8;
+                if (i >= 2) {
+                    primWeight |= m_utilStringBuffer_.charAt(i --);
+                }
+                m_CEBuffer_[m_CEBufferSize_ ++] 
+                    = (primWeight << RuleBasedCollator.CE_PRIMARY_SHIFT_) 
+                      | RuleBasedCollator.CE_CONTINUATION_MARKER_;
+             }
+             m_CEBufferOffset_ = m_CEBufferSize_ - 1;
+             return m_CEBuffer_[m_CEBufferOffset_];
+         }
+         else {
+             return collator.m_expansion_[getExpansionOffset(collator, ce)];
+         }
+    } 
+
+    /**
+     * Returns previous hangul ces
+     * @param collator current collator
+     * @param ch current character
+     * @return previous hangul ce
+     */
+    private int previousHangul(RuleBasedCollator collator, char ch)
+    {
+        char L = (char)(ch - HANGUL_SBASE_);
+        // we do it in this order since some compilers can do % and / in one
+        // operation
+        char T = (char)(L % HANGUL_TCOUNT_);
+        L /= HANGUL_TCOUNT_;
+        char V = (char)(L % HANGUL_VCOUNT_);
+        L /= HANGUL_VCOUNT_;
+
+        // offset them
+        L += HANGUL_LBASE_;
+        V += HANGUL_VBASE_;
+        T += HANGUL_TBASE_;
+
+        m_CEBufferSize_ = 0;
+        if (!collator.m_isJamoSpecial_) {
+            m_CEBuffer_[m_CEBufferSize_ ++] =
+                collator.m_trie_.getLeadValue(L);
+            m_CEBuffer_[m_CEBufferSize_ ++] =
+                collator.m_trie_.getLeadValue(V);
+            if (T != HANGUL_TBASE_) {
+                m_CEBuffer_[m_CEBufferSize_ ++] =
+                    collator.m_trie_.getLeadValue(T);
+            }
+            m_CEBufferOffset_ = m_CEBufferSize_ - 1;
+            return m_CEBuffer_[m_CEBufferOffset_];
+        }
+        else {
+            // Since Hanguls pass the FCD check, it is guaranteed that we won't
+            // be in the normalization buffer if something like this happens
+            // Move Jamos into normalization buffer
+            m_buffer_.append(L);
+            m_buffer_.append(V);
+            if (T != HANGUL_TBASE_) {
+                m_buffer_.append(T);
+            }
+
+            m_FCDStart_ = m_source_.getIndex();
+            m_FCDLimit_ = m_FCDStart_ + 1;
+            return IGNORABLE;
+        }
+    }
+
+    /**
+     * Gets implicit codepoint ces
+     * @param codepoint current codepoint
+     * @return implicit codepoint ces
+     */
+    private int previousImplicit(int codepoint)
+    {
+        if (!UCharacter.isLegal(codepoint)) {
+            return IGNORABLE; // illegal code value, completely ignoreable!
+        }
+        int result = RuleBasedCollator.impCEGen_.getImplicitFromCodePoint(codepoint);
+        m_CEBufferSize_ = 2;
+        m_CEBufferOffset_ = 1;
+        m_CEBuffer_[0] = (result & RuleBasedCollator.CE_PRIMARY_MASK_)
+                         | 0x00000505;
+        m_CEBuffer_[1] = ((result & 0x0000FFFF) << 16) | 0x000000C0;
+        return m_CEBuffer_[1];
+    }
+
+    /**
+     * Gets the previous surrogate ce
+     * @param ch current character
+     * @return previous surrogate ce
+     */
+    private int previousSurrogate(char ch)
+    {
+        if (isBackwardsStart()) {
+            // we are at the start of the string, wrong place to be at
+            return IGNORABLE;
+        }
+        char prevch = (char)previousChar();
+        // Handles Han and Supplementary characters here.
+        if (UTF16.isLeadSurrogate(prevch)) {
+            return previousImplicit(
+                          UCharacterProperty.getRawSupplementary(prevch, ch));
+        }
+        if (prevch != CharacterIterator.DONE) {
+            nextChar();
+        }
+        return IGNORABLE; // completely ignorable
+    }
+
+    /**
+     * <p>Special CE management. Expansions, contractions etc...</p>
+     * @param collator can be plain UCA
+     * @param ce current ce
+     * @param ch current character
+     * @return previous special ce
+     */
+    private int previousSpecial(RuleBasedCollator collator, int ce, char ch)
+    {
+        while(true) {
+            // the only ces that loops are thai, special prefix and
+            // contractions
+            switch (RuleBasedCollator.getTag(ce)) {
+            case CE_NOT_FOUND_TAG_:  // this tag always returns
+                return ce;
+            case RuleBasedCollator.CE_SURROGATE_TAG_:
+                                // essentialy a disengaged lead surrogate. a broken
+                                // sequence was encountered and this is an error
+                return IGNORABLE;
+            case CE_SPEC_PROC_TAG_:
+                ce = previousSpecialPrefix(collator, ce);
+                break;
+            case CE_CONTRACTION_TAG_:
+                // may loop for first character e.g. "0x0f71" for english
+                if (isBackwardsStart()) {
+                    // start of string or this is not the end of any contraction
+                    ce = collator.m_contractionCE_[
+                                            getContractionOffset(collator, ce)];
+                    break;
+                }
+                return previousContraction(collator, ce, ch); // else
+            case CE_LONG_PRIMARY_TAG_:
+                return previousLongPrimary(ce);
+            case CE_EXPANSION_TAG_: // always returns
+                return previousExpansion(collator, ce);
+            case CE_DIGIT_TAG_:
+                ce = previousDigit(collator, ce, ch);
+                break;
+            case CE_HANGUL_SYLLABLE_TAG_: // AC00-D7AF
+                return previousHangul(collator, ch);
+            case CE_LEAD_SURROGATE_TAG_:  // D800-DBFF
+                return IGNORABLE; // broken surrogate sequence
+            case CE_TRAIL_SURROGATE_TAG_: // DC00-DFFF
+                return previousSurrogate(ch);
+            case CE_CJK_IMPLICIT_TAG_:
+                // 0x3400-0x4DB5, 0x4E00-0x9FA5, 0xF900-0xFA2D
+                return previousImplicit(ch);
+            case CE_IMPLICIT_TAG_: // everything that is not defined
+                // UCA is filled with these. Tailorings are NOT_FOUND
+                return previousImplicit(ch);
+            case CE_CHARSET_TAG_: // this tag always returns
+                return CE_NOT_FOUND_;
+            default: // this tag always returns
+                ce = IGNORABLE;
+            }
+            if (!RuleBasedCollator.isSpecial(ce)) {
+                break;
+            }
+        }
+        return ce;
+    }
+
+    /**
+     * GET IMPLICIT PRIMARY WEIGHTS
+     * @param cp codepoint
+     * @param value is left justified primary key
+     */
+//    private static final int getImplicitPrimary(int cp)
+//    {
+//        cp = swapCJK(cp);
+//
+//        //if (DEBUG) System.out.println("CJK swapped: " + Utility.hex(cp));
+//        // we now have a range of numbers from 0 to 21FFFF.
+//        // we must skip all 00, 01, 02 bytes, so most bytes have 253 values
+//        // we must leave a gap of 01 between all values of the last byte, so
+//        // the last byte has 126 values (3 byte case)
+//        // we shift so that HAN all has the same first primary, for
+//        // compression.
+//        // for the 4 byte case, we make the gap as large as we can fit.
+//        // Three byte forms are EC xx xx, ED xx xx, EE xx xx (with a gap of 1)
+//        // Four byte forms (most supplementaries) are EF xx xx xx (with a gap
+//        // of LAST2_MULTIPLIER == 14)
+//
+//        int last0 = cp - RuleBasedCollator.IMPLICIT_4BYTE_BOUNDARY_;
+//        if (last0 < 0) {
+//            int last1 = cp / RuleBasedCollator.LAST_COUNT_;
+//            last0 = cp % RuleBasedCollator.LAST_COUNT_;
+//
+//            int last2 = last1 / RuleBasedCollator.OTHER_COUNT_;
+//            last1 %= RuleBasedCollator.OTHER_COUNT_;
+//            return RuleBasedCollator.IMPLICIT_BASE_3BYTE_ + (last2 << 24)
+//                   + (last1 << 16)
+//                   + ((last0 * RuleBasedCollator.LAST_MULTIPLIER_) << 8);
+//        }
+//        else {
+//            int last1 = last0 / RuleBasedCollator.LAST_COUNT2_;
+//            last0 %= RuleBasedCollator.LAST_COUNT2_;
+//
+//            int last2 = last1 / RuleBasedCollator.OTHER_COUNT_;
+//            last1 %= RuleBasedCollator.OTHER_COUNT_;
+//
+//            int last3 = last2 / RuleBasedCollator.OTHER_COUNT_;
+//            last2 %= RuleBasedCollator.OTHER_COUNT_;
+//            return RuleBasedCollator.IMPLICIT_BASE_4BYTE_ + (last3 << 24)
+//                   + (last2 << 16) + (last1 << 8)
+//                   + (last0 * RuleBasedCollator.LAST2_MULTIPLIER_);
+//        }
+//    }
+
+//    /**
+//     * Swapping CJK characters for implicit ces
+//     * @param cp codepoint CJK
+//     * @return swapped result
+//     */
+//    private static final int swapCJK(int cp)
+//    {
+//        if (cp >= CJK_BASE_) {
+//            if (cp < CJK_LIMIT_) {
+//                return cp - CJK_BASE_;
+//            }
+//            if (cp < CJK_COMPAT_USED_BASE_) {
+//                return cp + NON_CJK_OFFSET_;
+//            }
+//            if (cp < CJK_COMPAT_USED_LIMIT_) {
+//                return cp - CJK_COMPAT_USED_BASE_ + (CJK_LIMIT_ - CJK_BASE_);
+//            }
+//            if (cp < CJK_B_BASE_) {
+//                return cp + NON_CJK_OFFSET_;
+//            }
+//            if (cp < CJK_B_LIMIT_) {
+//                return cp; // non-BMP-CJK
+//            }
+//            return cp + NON_CJK_OFFSET_; // non-CJK
+//        }
+//        if (cp < CJK_A_BASE_) {
+//            return cp + NON_CJK_OFFSET_;
+//        }
+//        if (cp < CJK_A_LIMIT_) {
+//            return cp - CJK_A_BASE_ + (CJK_LIMIT_ - CJK_BASE_)
+//                   + (CJK_COMPAT_USED_LIMIT_ - CJK_COMPAT_USED_BASE_);
+//        }
+//        return cp + NON_CJK_OFFSET_; // non-CJK
+//    }
+    
+    /** 
+     * Gets a character from the source string at a given offset.
+     * Handles both normal and iterative cases.
+     * No error checking and does not access the normalization buffer 
+     * - caller beware!
+     * @param offset offset from current position which character is to be 
+     *               retrieved
+     * @return character at current position + offset
+     */
+    private char peekCharacter(int offset) 
+    {
+        if (offset != 0) {
+            int currentoffset = m_source_.getIndex();
+            m_source_.setIndex(currentoffset + offset);
+            char result = (char)m_source_.current();
+            m_source_.setIndex(currentoffset);
+            return result;
+        } 
+        else {
+            return (char)m_source_.current();
+        }
+    }
+    
+    /**
+     * Moves back 1 position in the source string. This is slightly less 
+     * complicated than previousChar in that it doesn't normalize while 
+     * moving back. Boundary checks are not performed.
+     * This method is to be used with caution, with the assumption that 
+     * moving back one position will not exceed the source limits.
+     * Use only with nextChar() and never call this API twice in a row without
+     * nextChar() in the middle.
+     */
+    private void goBackOne() 
+    {
+        if (m_bufferOffset_ >= 0) {
+            m_bufferOffset_ --;
+        }
+        else {
+            m_source_.setIndex(m_source_.getIndex() - 1);
+        }
+    }
+    
+    /**
+     * Moves forward 1 position in the source string. This is slightly less 
+     * complicated than nextChar in that it doesn't normalize while 
+     * moving back. Boundary checks are not performed.
+     * This method is to be used with caution, with the assumption that 
+     * moving back one position will not exceed the source limits.
+     * Use only with previousChar() and never call this API twice in a row 
+     * without previousChar() in the middle.
+     */
+    private void goForwardOne() 
+    {
+        if (m_bufferOffset_ < 0) {
+            // we're working on the source and not normalizing. fast path.
+            // note Thai pre-vowel reordering uses buffer too
+            m_source_.setIndex(m_source_.getIndex() + 1);
+        }
+        else {
+            // we are in the buffer, buffer offset will never be 0 here
+            m_bufferOffset_ ++;
+        }
+    }
+}
diff --git a/src/com/ibm/icu/text/CollationKey.java b/src/com/ibm/icu/text/CollationKey.java
new file mode 100755
index 0000000..798a6e8
--- /dev/null
+++ b/src/com/ibm/icu/text/CollationKey.java
@@ -0,0 +1,647 @@
+/**
+*******************************************************************************
+* Copyright (C) 1996-2005, International Business Machines Corporation and    *
+* others. All Rights Reserved.                                                *
+*******************************************************************************
+*/
+package com.ibm.icu.text;
+
+/**
+ * <p>A <code>CollationKey</code> represents a <code>String</code>
+ * under the rules of a specific <code>Collator</code>
+ * object. Comparing two <code>CollationKey</code>s returns the
+ * relative order of the <code>String</code>s they represent.</p>
+ *
+ * <p>Since the rule set of <code>Collator</code>s can differ, the
+ * sort orders of the same string under two different
+ * <code>Collator</code>s might differ.  Hence comparing
+ * <code>CollationKey</code>s generated from different
+ * <code>Collator</code>s can give incorrect results.</p>
+ 
+ * <p>Both the method
+ * <code>CollationKey.compareTo(CollationKey)</code> and the method
+ * <code>Collator.compare(String, String)</code> compare two strings
+ * and returns their relative order.  The performance characterictics
+ * of these two approaches can differ.</p>
+ *
+ * <p>During the construction of a <code>CollationKey</code>, the
+ * entire source string is examined and processed into a series of
+ * bits terminated by a null, that are stored in the <code>CollationKey</code>. 
+ * When <code>CollationKey.compareTo(CollationKey)</code> executes, it
+ * performs bitwise comparison on the bit sequences.  This can incurs
+ * startup cost when creating the <code>CollationKey</code>, but once
+ * the key is created, binary comparisons are fast.  This approach is
+ * recommended when the same strings are to be compared over and over
+ * again.</p>
+ *
+ * <p>On the other hand, implementations of
+ * <code>Collator.compare(String, String)</code> can examine and
+ * process the strings only until the first characters differing in
+ * order.  This approach is recommended if the strings are to be
+ * compared only once.</p>
+ * 
+ * <p>More information about the composition of the bit sequence can
+ * be found in the 
+ * <a href="http://icu.sourceforge.net/userguide/Collate_ServiceArchitecture.html">
+ * user guide</a>.</p>
+ *
+ * <p>The following example shows how <code>CollationKey</code>s can be used
+ * to sort a list of <code>String</code>s.</p>
+ * <blockquote>
+ * <pre>
+ * // Create an array of CollationKeys for the Strings to be sorted.
+ * Collator myCollator = Collator.getInstance();
+ * CollationKey[] keys = new CollationKey[3];
+ * keys[0] = myCollator.getCollationKey("Tom");
+ * keys[1] = myCollator.getCollationKey("Dick");
+ * keys[2] = myCollator.getCollationKey("Harry");
+ * sort( keys );
+ * <br>
+ * //...
+ * <br>
+ * // Inside body of sort routine, compare keys this way
+ * if( keys[i].compareTo( keys[j] ) > 0 )
+ *    // swap keys[i] and keys[j]
+ * <br>
+ * //...
+ * <br>
+ * // Finally, when we've returned from sort.
+ * System.out.println( keys[0].getSourceString() );
+ * System.out.println( keys[1].getSourceString() );
+ * System.out.println( keys[2].getSourceString() );
+ * </pre>
+ * </blockquote>
+ * </p>
+ * <p>
+ * This class is not subclassable
+ * </p>
+ * @see Collator
+ * @see RuleBasedCollator
+ * @author Syn Wee Quek
+ * @stable ICU 2.8 
+ */
+public final class CollationKey implements Comparable 
+{
+    // public inner classes -------------------------------------------------
+    
+    /** 
+     * Options that used in the API CollationKey.getBound() for getting a 
+     * CollationKey based on the bound mode requested.
+     * @stable ICU 2.6
+     */
+    public static final class BoundMode 
+    {
+        /*
+         * do not change the values assigned to the members of this enum. 
+         * Underlying code depends on them having these numbers  
+         */
+         
+        /** 
+         * Lower bound
+         * @stable ICU 2.6
+         */
+        public static final int LOWER = 0;
+
+        /** 
+         * Upper bound that will match strings of exact size
+         * @stable ICU 2.6
+         */
+        public static final int UPPER = 1;
+
+        /** 
+         * Upper bound that will match all the strings that have the same 
+         * initial substring as the given string
+         * @stable ICU 2.6
+         */
+        public static final int UPPER_LONG = 2;
+
+        /**
+         * Number of bound mode
+         * @stable ICU 2.6
+         */
+        public static final int COUNT = 3;
+        
+        /**
+         * Private Constructor
+         */
+        ///CLOVER:OFF
+        private BoundMode(){};
+        ///CLOVER:ON
+    };
+    
+    // public constructor ---------------------------------------------------
+    
+    /**
+     * CollationKey constructor.
+     * This constructor is given public access, unlike the JDK version, to
+     * allow access to users extending the Collator class. See 
+     * {@link Collator#getCollationKey(String)}. 
+     * @param source string this CollationKey is to represent
+     * @param key array of bytes that represent the collation order of argument
+     *            source terminated by a null
+     * @see Collator
+     * @stable ICU 2.8
+     */
+    public CollationKey(String source, byte key[])
+    {
+        m_source_ = source;
+        m_key_ = key;
+        m_hashCode_ = 0;
+        m_length_ = -1;
+    }
+    
+    /**
+     * CollationKey constructor that forces key to release its internal byte 
+     * array for adoption. key will have a null byte array after this 
+     * construction.
+     * @param source string this CollationKey is to represent
+     * @param key RawCollationKey object that represents the collation order of 
+     *            argument source. 
+     * @see Collator
+     * @see RawCollationKey
+     * @stable ICU 2.8 
+     */
+    public CollationKey(String source, RawCollationKey key)
+    {
+        m_source_ = source;
+        m_key_ = key.releaseBytes();
+        m_hashCode_ = 0;
+        m_length_ = -1;
+    }
+    
+    // public getters -------------------------------------------------------
+    
+    /**
+     * Return the source string that this CollationKey represents.
+     * @return source string that this CollationKey represents
+     * @stable ICU 2.8
+     */
+    public String getSourceString() 
+    {
+        return m_source_;
+    }
+
+    /**
+     * <p>Duplicates and returns the value of this CollationKey as a sequence 
+     * of big-endian bytes terminated by a null.</p> 
+     *
+     * <p>If two CollationKeys can be legitimately compared, then one can
+     * compare the byte arrays of each to obtain the same result, e.g.
+     * <pre>
+     * byte key1[] = collationkey1.toByteArray();
+     * byte key2[] = collationkey2.toByteArray();
+     * int key, targetkey;
+     * int i = 0;
+     * do {
+     *       key = key1[i] & 0xFF;
+     *     targetkey = key2[i] & 0xFF;
+     *     if (key &lt; targetkey) {
+     *         System.out.println("String 1 is less than string 2");
+     *         return;
+     *     }
+     *     if (targetkey &lt; key) {
+     *         System.out.println("String 1 is more than string 2");
+     *     }
+     *     i ++;
+     * } while (key != 0 && targetKey != 0);
+     *
+     * System.out.println("Strings are equal.");
+     * </pre>
+     * </p>  
+     * @return CollationKey value in a sequence of big-endian byte bytes 
+     *         terminated by a null.
+     * @stable ICU 2.8
+     */
+    public byte[] toByteArray() 
+    {
+        int length = 0;
+        while (true) {
+            if (m_key_[length] == 0) {
+              break;
+            }
+            length ++;
+        }
+        length ++;
+        byte result[] = new byte[length];
+        System.arraycopy(m_key_, 0, result, 0, length);
+        return result;
+    }
+
+    // public other methods -------------------------------------------------    
+     
+    /**
+     * <p>Compare this CollationKey to another CollationKey.  The
+     * collation rules of the Collator that created this key are
+     * applied.</p>
+     *
+     * <p><strong>Note:</strong> Comparison between CollationKeys
+     * created by different Collators might return incorrect
+     * results.  See class documentation.</p>
+     *
+     * @param target target CollationKey
+     * @return an integer value.  If the value is less than zero this CollationKey
+     *         is less than than target, if the value is zero they are equal, and
+     *         if the value is greater than zero this CollationKey is greater 
+     *         than target.
+     * @exception NullPointerException is thrown if argument is null.
+     * @see Collator#compare(String, String)
+     * @stable ICU 2.8 
+     */
+    public int compareTo(CollationKey target)
+    {
+    for (int i = 0;; ++i) {
+        int l = m_key_[i]&0xff;
+        int r = target.m_key_[i]&0xff;
+        if (l < r) {
+        return -1;
+        } else if (l > r) {
+        return 1;
+        } else if (l == 0) {
+        return 0;
+        }
+    }
+    }
+
+    /**
+     * <p>Compare this CollationKey with the specified Object.  The
+     * collation rules of the Collator that created this key are
+     * applied.</p>
+     * 
+     * <p>See note in compareTo(CollationKey) for warnings about possible
+     * incorrect results.</p>
+     *
+     * @param obj the Object to be compared to.
+     * @return Returns a negative integer, zero, or a positive integer 
+     *         respectively if this CollationKey is less than, equal to, or 
+     *         greater than the given Object.
+     * @exception ClassCastException is thrown when the argument is not 
+     *            a CollationKey.  NullPointerException is thrown when the argument 
+     *            is null.
+     * @see #compareTo(CollationKey)
+     * @stable ICU 2.8 
+     */
+    public int compareTo(Object obj) 
+    {
+       return compareTo((CollationKey)obj);
+    }
+
+    /**
+     * <p>Compare this CollationKey and the specified Object for
+     * equality.  The collation rules of the Collator that created
+     * this key are applied.</p>
+     *
+     * <p>See note in compareTo(CollationKey) for warnings about
+     * possible incorrect results.</p>
+     *
+     * @param target the object to compare to.
+     * @return true if the two keys compare as equal, false otherwise.
+     * @see #compareTo(CollationKey)
+     * @exception ClassCastException is thrown when the argument is not 
+     *            a CollationKey.  NullPointerException is thrown when the argument 
+     *            is null.
+     * @stable ICU 2.8 
+     */
+    public boolean equals(Object target) 
+    {
+        if (!(target instanceof CollationKey)) {
+            return false;
+        }
+        
+        return equals((CollationKey)target);
+    }
+    
+    /**
+     * <p>
+     * Compare this CollationKey and the argument target CollationKey for 
+     * equality.
+     * The collation 
+     * rules of the Collator object which created these objects are applied.
+     * </p>
+     * <p>
+     * See note in compareTo(CollationKey) for warnings of incorrect results
+     * </p>
+     * @param target the CollationKey to compare to.
+     * @return true if two objects are equal, false otherwise.
+     * @exception NullPointerException is thrown when the argument is null.
+     * @stable ICU 2.8
+     */
+    public boolean equals(CollationKey target) 
+    {
+        if (this == target) {
+            return true;
+        }
+        if (target == null) {
+            return false;
+        }
+        CollationKey other = (CollationKey)target;
+        int i = 0;
+        while (true) {
+            if (m_key_[i] != other.m_key_[i]) {
+                return false;
+            }
+            if (m_key_[i] == 0) {
+              break;
+            }
+            i ++;
+        }
+        return true;
+    }
+
+    /**
+     * <p>Returns a hash code for this CollationKey. The hash value is calculated 
+     * on the key itself, not the String from which the key was created. Thus 
+     * if x and y are CollationKeys, then x.hashCode(x) == y.hashCode() 
+     * if x.equals(y) is true. This allows language-sensitive comparison in a 
+     * hash table.
+     * </p>
+     * @return the hash value.
+     * @stable ICU 2.8
+     */
+    public int hashCode() 
+    {
+        if (m_hashCode_ == 0) {
+            if (m_key_ == null) {
+                m_hashCode_ = 1;
+            }
+            else {
+                int size = m_key_.length >> 1;
+                StringBuffer key = new StringBuffer(size);
+                int i = 0;
+                while (m_key_[i] != 0 && m_key_[i + 1] != 0) {
+                    key.append((char)((m_key_[i] << 8) | m_key_[i + 1]));
+                    i += 2;
+                }
+                if (m_key_[i] != 0) {
+                    key.append((char)(m_key_[i] << 8));
+                }
+                m_hashCode_ = key.toString().hashCode();
+            }
+        }
+        return m_hashCode_;
+    }
+    
+    /**
+     * <p>
+     * Produce a bound for the sort order of a given collation key and a 
+     * strength level. This API does not attempt to find a bound for the 
+     * CollationKey String representation, hence null will be returned in its 
+     * place.
+     * </p>
+     * <p>
+     * Resulting bounds can be used to produce a range of strings that are
+     * between upper and lower bounds. For example, if bounds are produced
+     * for a sortkey of string "smith", strings between upper and lower 
+     * bounds with primary strength would include "Smith", "SMITH", "sMiTh".
+     * </p>
+     * <p>
+     * There are two upper bounds that can be produced. If BoundMode.UPPER
+     * is produced, strings matched would be as above. However, if a bound
+     * is produced using BoundMode.UPPER_LONG is used, the above example will
+     * also match "Smithsonian" and similar.
+     * </p>
+     * <p>
+     * For more on usage, see example in test procedure 
+     * <a href=http://oss.software.ibm.com/cvs/icu4j/~checkout~/icu4j/src/com/ibm/icu/dev/test/collator/CollationAPITest.java?rev=&content-type=text/plain>
+     * src/com/ibm/icu/dev/test/collator/CollationAPITest/TestBounds.
+     * </a>
+     * </p>
+     * <p>
+     * Collation keys produced may be compared using the <TT>compare</TT> API.
+     * </p>
+     * @param boundType Mode of bound required. It can be BoundMode.LOWER, which 
+     *              produces a lower inclusive bound, BoundMode.UPPER, that 
+     *              produces upper bound that matches strings of the same 
+     *              length or BoundMode.UPPER_LONG that matches strings that 
+     *              have the same starting substring as the source string.
+     * @param noOfLevels Strength levels required in the resulting bound 
+     *                 (for most uses, the recommended value is PRIMARY). This
+     *                 strength should be less than the maximum strength of 
+     *                 this CollationKey.
+     *                 See users guide for explanation on the strength levels a 
+     *                 collation key can have. 
+     * @return the result bounded CollationKey with a valid sort order but 
+     *         a null String representation.
+     * @exception IllegalArgumentException thrown when the strength level 
+     *            requested is higher than or equal to the strength in this
+     *            CollationKey. 
+     *            In the case of an Exception, information 
+     *            about the maximum strength to use will be returned in the 
+     *            Exception. The user can then call getBound() again with the 
+     *            appropriate strength.
+     * @see CollationKey
+     * @see CollationKey.BoundMode
+     * @see Collator#PRIMARY
+     * @see Collator#SECONDARY
+     * @see Collator#TERTIARY
+     * @see Collator#QUATERNARY
+     * @see Collator#IDENTICAL
+     * @stable ICU 2.6
+     */
+    public CollationKey getBound(int boundType, int noOfLevels) 
+    {
+        // Scan the string until we skip enough of the key OR reach the end of 
+        // the key
+        int offset = 0;
+        int keystrength = Collator.PRIMARY;
+        
+        if (noOfLevels > Collator.PRIMARY) {
+            while (offset < m_key_.length && m_key_[offset] != 0) {
+                if (m_key_[offset ++] 
+                        == RuleBasedCollator.SORT_LEVEL_TERMINATOR_) {
+                    keystrength ++;
+                    noOfLevels --;
+                    if (noOfLevels == Collator.PRIMARY 
+                        || offset == m_key_.length || m_key_[offset] == 0) {
+                        offset --;
+                        break;
+                    }
+                }
+            } 
+        }
+        
+        if (noOfLevels > 0) {
+            throw new IllegalArgumentException(
+                                  "Source collation key has only " 
+                                  + keystrength 
+                                  + " strength level. Call getBound() again "
+                                  + " with noOfLevels < " + keystrength);
+        }
+        
+        // READ ME: this code assumes that the values for BoundMode variables 
+        // will not changes. They are set so that the enum value corresponds to 
+        // the number of extra bytes each bound type needs.
+        byte resultkey[] = new byte[offset + boundType + 1];
+        System.arraycopy(m_key_, 0, resultkey, 0, offset);
+        switch (boundType) {
+            case BoundMode.LOWER: // = 0
+                // Lower bound just gets terminated. No extra bytes
+                break;
+            case BoundMode.UPPER: // = 1
+                // Upper bound needs one extra byte
+                resultkey[offset ++] = 2;
+                break;
+            case BoundMode.UPPER_LONG: // = 2
+                // Upper long bound needs two extra bytes
+                resultkey[offset ++] = (byte)0xFF;
+                resultkey[offset ++] = (byte)0xFF;
+                break;
+            default:
+                throw new IllegalArgumentException(
+                                                "Illegal boundType argument");
+        }
+        resultkey[offset ++] = 0;
+        return new CollationKey(null, resultkey);
+    }
+
+
+    
+    /** 
+     * <p>
+     * Merges this CollationKey with another. Only the sorting order of the 
+     * CollationKeys will be merged. This API does not attempt to merge the 
+     * String representations of the CollationKeys, hence null will be returned
+     * as the String representation.
+     * </p>
+     * <p>
+     * The strength levels are merged with their corresponding counterparts 
+     * (PRIMARIES with PRIMARIES, SECONDARIES with SECONDARIES etc.). 
+     * </p>
+     * <p>
+     * The merged String representation of the result CollationKey will be a
+     * concatenation of the String representations of the 2 source 
+     * CollationKeys.
+     * </p>
+     * <p>
+     * Between the values from the same level a separator is inserted.
+     * example (uncompressed):
+     * <pre> 
+     * 191B1D 01 050505 01 910505 00 and 1F2123 01 050505 01 910505 00
+     * will be merged as 
+     * 191B1D 02 1F212301 050505 02 050505 01 910505 02 910505 00
+     * </pre>
+     * </p>
+     * <p>
+     * This allows for concatenating of first and last names for sorting, among 
+     * other things.
+     * </p>
+     * </p>
+     * @param source CollationKey to merge with 
+     * @return a CollationKey that contains the valid merged sorting order 
+     *         with a null String representation, 
+     *         i.e. <tt>new CollationKey(null, merge_sort_order)</tt>
+     * @exception IllegalArgumentException thrown if source CollationKey
+     *            argument is null or of 0 length.
+     * @stable ICU 2.6
+     */
+    public CollationKey merge(CollationKey source)
+    {
+        // check arguments
+        if (source == null || source.getLength() == 0) {
+            throw new IllegalArgumentException(
+                      "CollationKey argument can not be null or of 0 length");
+        }
+    
+        getLength(); // gets the length of this sort key
+        int sourcelength = source.getLength();
+        // 1 extra for the last strength that has no seperators
+        byte result[] = new byte[m_length_ + sourcelength + 2];
+    
+        // merge the sort keys with the same number of levels
+        int rindex = 0;
+        int index = 0;
+        int sourceindex = 0;
+        while (true) { 
+            // while both have another level
+            // copy level from src1 not including 00 or 01
+            // unsigned issues
+            while (m_key_[index] < 0 || m_key_[index] >= MERGE_SEPERATOR_) {
+                result[rindex ++] = m_key_[index ++];
+            }
+    
+            // add a 02 merge separator
+            result[rindex ++] = MERGE_SEPERATOR_;
+    
+            // copy level from src2 not including 00 or 01
+            while (source.m_key_[sourceindex] < 0 
+                   || source.m_key_[sourceindex] >= MERGE_SEPERATOR_) {
+                result[rindex ++] = source.m_key_[sourceindex ++];
+            }
+    
+            // if both sort keys have another level, then add a 01 level 
+            // separator and continue
+            if (m_key_[index] == RuleBasedCollator.SORT_LEVEL_TERMINATOR_
+                && source.m_key_[sourceindex] 
+                        == RuleBasedCollator.SORT_LEVEL_TERMINATOR_) {
+                ++ index;
+                ++ sourceindex;
+                result[rindex ++] = RuleBasedCollator.SORT_LEVEL_TERMINATOR_;
+            }
+            else {
+                break;
+            }
+        }
+    
+        // here, at least one sort key is finished now, but the other one
+        // might have some contents left from containing more levels;
+        // that contents is just appended to the result
+        if (m_key_[index] != 0) {
+            System.arraycopy(m_key_, index, result, rindex,
+                             m_length_ - index);
+        }
+        else if (source.m_key_[sourceindex] != 0) {
+            System.arraycopy(source.m_key_, sourceindex, result, rindex,  
+                             source.m_length_ - sourceindex);
+        }
+        result[result.length - 1] = 0;
+    
+        // trust that neither sort key contained illegally embedded zero bytes
+        return new CollationKey(null, result);
+    }
+
+    // private data members -------------------------------------------------
+
+    /**
+     * Sequence of bytes that represents the sort key
+     */
+    private byte m_key_[];
+    
+    /**
+     * Source string this CollationKey represents
+     */    
+    private String m_source_;
+
+    /**
+     * Hash code for the key
+     */
+    private int m_hashCode_;
+    /**
+     * Gets the length of this CollationKey
+     */
+    private int m_length_;
+    /**
+     * Collation key merge seperator
+     */
+    private static final int MERGE_SEPERATOR_ = 2;
+    
+    // private methods ------------------------------------------------------
+    
+    /**
+     * Gets the length of the CollationKey
+     * @return length of the CollationKey
+     */
+    private int getLength()
+    {
+        if (m_length_ >= 0) {
+            return m_length_;
+        }
+        int length = m_key_.length;
+        for (int index = 0; index < length; index ++) {
+            if (m_key_[index] == 0) {
+                length = index;
+                break;
+            }
+        } 
+        m_length_ = length;
+        return m_length_;
+    }
+}
diff --git a/src/com/ibm/icu/text/CollationParsedRuleBuilder.java b/src/com/ibm/icu/text/CollationParsedRuleBuilder.java
new file mode 100644
index 0000000..f6b6164
--- /dev/null
+++ b/src/com/ibm/icu/text/CollationParsedRuleBuilder.java
@@ -0,0 +1,3862 @@
+/**
+*******************************************************************************
+* Copyright (C) 1996-2005, International Business Machines Corporation and    *
+* others. All Rights Reserved.                                                *
+*******************************************************************************
+*/
+package com.ibm.icu.text;
+ 
+import java.io.IOException;
+import java.text.ParseException;
+import java.util.Hashtable;
+import java.util.Vector;
+import java.util.Arrays;
+import java.util.Enumeration;
+
+import com.ibm.icu.impl.TrieBuilder;
+import com.ibm.icu.impl.IntTrieBuilder;
+import com.ibm.icu.impl.TrieIterator;
+import com.ibm.icu.impl.Utility;
+import com.ibm.icu.impl.UCharacterProperty;
+import com.ibm.icu.lang.UCharacter;
+import com.ibm.icu.lang.UCharacterCategory;
+import com.ibm.icu.impl.NormalizerImpl;
+import com.ibm.icu.util.RangeValueIterator;
+import com.ibm.icu.util.VersionInfo;
+
+/**
+* Class for building a collator from a list of collation rules.
+* This class is uses CollationRuleParser
+* @author Syn Wee Quek
+* @since release 2.2, June 11 2002
+* @draft 2.2
+*/
+final class CollationParsedRuleBuilder
+{     
+    // package private constructors ------------------------------------------
+
+    /**
+     * Constructor
+     * @param rules collation rules
+     * @exception ParseException thrown when argument rules have an invalid 
+     *            syntax 
+     */
+    CollationParsedRuleBuilder(String rules) throws ParseException
+    {
+        m_parser_ = new CollationRuleParser(rules);
+        m_parser_.assembleTokenList();
+        m_utilColEIter_ = RuleBasedCollator.UCA_.getCollationElementIterator(
+                                         "");
+    }
+    
+    // package private inner classes -----------------------------------------
+    
+    /** 
+     * Inverse UCA wrapper
+     */
+    static class InverseUCA 
+    {
+        // package private constructor ---------------------------------------
+        
+        InverseUCA() 
+        {
+        }
+        
+        // package private data member ---------------------------------------
+        
+        /**
+         * Array list of characters
+         */
+        int m_table_[];
+        /**
+         * Array list of continuation characters
+         */
+        char m_continuations_[];
+        
+        /**
+         * UCA version of inverse UCA table
+         */
+        VersionInfo m_UCA_version_;
+        
+        // package private method --------------------------------------------
+        
+        /**
+     * Returns the previous inverse ces of the argument ces
+     * @param ce ce to test
+     * @param contce continuation ce to test
+     * @param strength collation strength
+     * @param prevresult an array to store the return results previous 
+         *                   inverse ce and previous inverse continuation ce
+         * @return result of the inverse ce 
+     */
+    final int getInversePrevCE(int ce, int contce, int strength, 
+                   int prevresult[]) 
+    {
+        int result = findInverseCE(ce, contce);
+        
+        if (result < 0) {
+        prevresult[0] = CollationElementIterator.NULLORDER;
+        return -1;
+        }
+        
+        ce &= STRENGTH_MASK_[strength];
+        contce &= STRENGTH_MASK_[strength];
+        
+            prevresult[0] = ce;
+        prevresult[1] = contce;
+        
+        while ((prevresult[0]  & STRENGTH_MASK_[strength]) == ce 
+           && (prevresult[1]  & STRENGTH_MASK_[strength])== contce
+           && result > 0) { 
+                        // this condition should prevent falling off the edge of the 
+                        // world 
+                // here, we end up in a singularity - zero
+                prevresult[0] = m_table_[3 * (-- result)];
+                prevresult[1] = m_table_[3 * result + 1];
+           }
+           return result;
+        }
+        
+        final int getCEStrengthDifference(int CE, int contCE, 
+                int prevCE, int prevContCE) {
+            int strength = Collator.TERTIARY;
+            while(
+            ((prevCE & STRENGTH_MASK_[strength]) != (CE & STRENGTH_MASK_[strength]) 
+            || (prevContCE & STRENGTH_MASK_[strength]) != (contCE & STRENGTH_MASK_[strength]))
+            && (strength != 0)) {
+                strength--;
+            }
+            return strength;                
+        }
+
+        private int compareCEs(int source0, int source1, int target0, int target1) {
+            int s1 = source0, s2, t1 = target0, t2;
+            if(RuleBasedCollator.isContinuation(source1)) {
+                s2 = source1;
+            } else {
+                s2 = 0;
+            }
+            if(RuleBasedCollator.isContinuation(target1)) {
+                t2 = target1;
+            } else {
+                t2 = 0;
+            }
+            
+            int s = 0, t = 0;
+            if(s1 == t1 && s2 == t2) {
+                return 0;
+            }
+            s = (s1 & 0xFFFF0000)|((s2 & 0xFFFF0000)>>16); 
+            t = (t1 & 0xFFFF0000)|((t2 & 0xFFFF0000)>>16);
+            if(s == t) {
+                s = (s1 & 0x0000FF00) | (s2 & 0x0000FF00)>>8;
+                t = (t1 & 0x0000FF00) | (t2 & 0x0000FF00)>>8;
+                if(s == t) {
+                    s = (s1 & 0x000000FF)<<8 | (s2 & 0x000000FF);
+                    t = (t1 & 0x000000FF)<<8 | (t2 & 0x000000FF);
+                    return Utility.compareUnsigned(s, t);
+                } else { 
+                    return Utility.compareUnsigned(s, t);
+                }
+            } else {
+                return Utility.compareUnsigned(s, t);                
+            }
+        }
+        
+        /**
+         * Finding the inverse CE of the argument CEs
+         * @param ce CE to be tested
+         * @param contce continuation CE
+         * @return inverse CE
+         */
+        int findInverseCE(int ce, int contce) 
+        {
+            int bottom = 0;
+            int top = m_table_.length / 3;
+            int result = 0;
+            
+            while (bottom < top - 1) {
+                result = (top + bottom) >> 1;
+                int first = m_table_[3 * result];
+                int second = m_table_[3 * result + 1];
+                int comparison = compareCEs(first, second, ce, contce);
+                if (comparison > 0) {
+                    top = result;
+                } 
+                else if (comparison < 0) {
+                    bottom = result;
+                } 
+                else { 
+                    break;
+                }
+            }
+            
+            return result;
+        }
+    
+    /**
+     * Getting gap offsets in the inverse UCA
+     * @param listheader parsed token lists
+     * @exception Exception thrown when error occurs while finding the 
+     *            collation gaps
+     */
+    void getInverseGapPositions(CollationRuleParser.TokenListHeader 
+                    listheader)
+        throws Exception 
+    {
+        // reset all the gaps
+        CollationRuleParser.Token token = listheader.m_first_;
+        int tokenstrength = token.m_strength_;
+    
+        for (int i = 0; i < 3; i ++) {
+        listheader.m_gapsHi_[3 * i] = 0;
+        listheader.m_gapsHi_[3 * i + 1] = 0;
+        listheader.m_gapsHi_[3 * i + 2] = 0;
+        listheader.m_gapsLo_[3 * i] = 0;
+        listheader.m_gapsLo_[3 * i + 1] = 0;
+        listheader.m_gapsLo_[3 * i + 2] = 0;
+        listheader.m_numStr_[i] = 0;
+        listheader.m_fStrToken_[i] = null;
+        listheader.m_lStrToken_[i] = null;
+        listheader.m_pos_[i] = -1;
+        }
+    
+        if ((listheader.m_baseCE_ >>> 24) 
+                >= RuleBasedCollator.UCA_CONSTANTS_.PRIMARY_IMPLICIT_MIN_
+        && (listheader.m_baseCE_ >>> 24)
+                <= RuleBasedCollator.UCA_CONSTANTS_.PRIMARY_IMPLICIT_MAX_) 
+        { 
+                // implicits -
+            listheader.m_pos_[0] = 0;
+            int t1 = listheader.m_baseCE_;
+            int t2 = listheader.m_baseContCE_;
+            listheader.m_gapsLo_[0] = mergeCE(t1, t2, 
+                                                  Collator.PRIMARY);
+            listheader.m_gapsLo_[1] = mergeCE(t1, t2, 
+                                                  Collator.SECONDARY);
+            listheader.m_gapsLo_[2] = mergeCE(t1, t2, 
+                                                  Collator.TERTIARY);
+            int primaryCE = t1 & RuleBasedCollator.CE_PRIMARY_MASK_ | (t2 & RuleBasedCollator.CE_PRIMARY_MASK_) >>> 16;
+            primaryCE = RuleBasedCollator.impCEGen_.getImplicitFromRaw(RuleBasedCollator.impCEGen_.getRawFromImplicit(primaryCE)+1);
+
+            t1 = primaryCE & RuleBasedCollator.CE_PRIMARY_MASK_ | 0x0505;
+            t2 = (primaryCE << 16) & RuleBasedCollator.CE_PRIMARY_MASK_ | RuleBasedCollator.CE_CONTINUATION_MARKER_;
+                
+            //                if (listheader.m_baseCE_ < 0xEF000000) {
+            //                    // first implicits have three byte primaries, with a gap of
+            //                    // one so we esentially need to add 2 to the top byte in 
+            //                    // listheader.m_baseContCE_
+            //                    t2 += 0x02000000;
+            //                } 
+            //                else {
+            //                    // second implicits have four byte primaries, with a gap of
+            //                    // IMPLICIT_LAST2_MULTIPLIER_
+            //                    // Now, this guy is not really accessible here, so until we 
+            //                    // find a better way to pass it around, assume that the gap is 1
+            //                    t2 += 0x00020000;
+            //                }
+            listheader.m_gapsHi_[0] = mergeCE(t1, t2, 
+                                                  Collator.PRIMARY);
+            listheader.m_gapsHi_[1] = mergeCE(t1, t2, 
+                                                  Collator.SECONDARY);
+            listheader.m_gapsHi_[2] = mergeCE(t1, t2, 
+                                                  Collator.TERTIARY);
+        } 
+        else if (listheader.m_indirect_ == true 
+                     && listheader.m_nextCE_ != 0) {
+        listheader.m_pos_[0] = 0;
+        int t1 = listheader.m_baseCE_;
+        int t2 = listheader.m_baseContCE_;
+        listheader.m_gapsLo_[0] = mergeCE(t1, t2, 
+                          Collator.PRIMARY);
+        listheader.m_gapsLo_[1] = mergeCE(t1, t2, 
+                          Collator.SECONDARY);
+        listheader.m_gapsLo_[2] = mergeCE(t1, t2, 
+                          Collator.TERTIARY);
+        t1 = listheader.m_nextCE_;
+        t2 = listheader.m_nextContCE_;
+        listheader.m_gapsHi_[0] = mergeCE(t1, t2, 
+                          Collator.PRIMARY);
+        listheader.m_gapsHi_[1] = mergeCE(t1, t2, 
+                          Collator.SECONDARY);
+        listheader.m_gapsHi_[2] = mergeCE(t1, t2, 
+                          Collator.TERTIARY);
+        } 
+        else {
+        while (true) {
+            if (tokenstrength < CE_BASIC_STRENGTH_LIMIT_) {
+            listheader.m_pos_[tokenstrength] 
+                = getInverseNext(listheader, 
+                         tokenstrength);
+            if (listheader.m_pos_[tokenstrength] >= 0) {
+                listheader.m_fStrToken_[tokenstrength] = token;
+            } 
+            else { 
+                            // The CE must be implicit, since it's not in the 
+                            // table 
+                // Error
+                throw new Exception("Internal program error");
+            }
+            }
+            
+            while (token != null && token.m_strength_ >= tokenstrength) 
+            {
+                if (tokenstrength < CE_BASIC_STRENGTH_LIMIT_) {
+                listheader.m_lStrToken_[tokenstrength] = token;
+                }
+                token = token.m_next_;
+            }
+            if (tokenstrength < CE_BASIC_STRENGTH_LIMIT_ - 1) {
+            // check if previous interval is the same and merge the 
+            // intervals if it is so
+            if (listheader.m_pos_[tokenstrength] 
+                == listheader.m_pos_[tokenstrength + 1]) {
+                listheader.m_fStrToken_[tokenstrength] 
+                = listheader.m_fStrToken_[tokenstrength 
+                             + 1];
+                listheader.m_fStrToken_[tokenstrength + 1] = null;
+                listheader.m_lStrToken_[tokenstrength + 1] = null;
+                listheader.m_pos_[tokenstrength + 1] = -1;
+            }
+            }
+            if (token != null) {
+            tokenstrength = token.m_strength_;
+            } 
+            else {
+            break;
+            }
+        }
+        for (int st = 0; st < 3; st ++) {
+            int pos = listheader.m_pos_[st];
+            if (pos >= 0) {
+            int t1 = m_table_[3 * pos];
+            int t2 = m_table_[3 * pos + 1];
+            listheader.m_gapsHi_[3 * st] = mergeCE(t1, t2, 
+                                   Collator.PRIMARY);
+            listheader.m_gapsHi_[3 * st + 1] = mergeCE(t1, t2, 
+                                   Collator.SECONDARY);
+            listheader.m_gapsHi_[3 * st + 2] = (t1 & 0x3f) << 24 
+                | (t2 & 0x3f) << 16;
+            //pos --;
+            //t1 = m_table_[3 * pos];
+            //t2 = m_table_[3 * pos + 1];
+            t1 = listheader.m_baseCE_;
+            t2 = listheader.m_baseContCE_;
+            
+            listheader.m_gapsLo_[3 * st] = mergeCE(t1, t2, 
+                                   Collator.PRIMARY);
+            listheader.m_gapsLo_[3 * st + 1] = mergeCE(t1, t2, 
+                                   Collator.SECONDARY);
+            listheader.m_gapsLo_[3 * st + 2] = (t1 & 0x3f) << 24 
+                | (t2 & 0x3f) << 16;
+            }
+        }
+        }
+        }
+        
+    /**
+     * Gets the next CE in the inverse table
+     * @param listheader token list header
+     * @param strength collation strength
+     * @return next ce
+     */
+    private final int getInverseNext(CollationRuleParser.TokenListHeader 
+                     listheader, 
+                     int strength) 
+    {
+        int ce = listheader.m_baseCE_;
+        int secondce = listheader.m_baseContCE_; 
+        int result = findInverseCE(ce, secondce);
+            
+        if (result < 0) {
+        return -1;
+        }
+            
+        ce &= STRENGTH_MASK_[strength];
+        secondce &= STRENGTH_MASK_[strength];
+        
+        int nextce = ce;
+        int nextcontce = secondce;
+        
+        while((nextce & STRENGTH_MASK_[strength]) == ce 
+          && (nextcontce  & STRENGTH_MASK_[strength]) == secondce) {
+        nextce = m_table_[3 * (++ result)];
+        nextcontce = m_table_[3 * result + 1];
+        }
+            
+        listheader.m_nextCE_ = nextce;
+        listheader.m_nextContCE_ = nextcontce;
+        
+        return result;
+    }
+    }
+
+    // package private data members ------------------------------------------
+    
+    /**
+     * Inverse UCA, instantiate only when required
+     */
+    static final InverseUCA INVERSE_UCA_; 
+    
+    /**
+     * UCA and Inverse UCA version do not match
+     */
+    private static final String INV_UCA_VERSION_MISMATCH_ =
+    "UCA versions of UCA and inverse UCA should match";
+           
+    /**
+     * UCA and Inverse UCA version do not match
+     */
+    private static final String UCA_NOT_INSTANTIATED_ =
+    "UCA is not instantiated!";
+    
+    /**
+     * Initializing the inverse UCA
+     */
+    static {
+        InverseUCA temp = null;
+        try {
+        temp = CollatorReader.getInverseUCA();
+    } catch (IOException e) {
+    }
+        /*
+      try
+      {
+      String invdat = "/com/ibm/icu/impl/data/invuca.icu";
+      InputStream i = CollationParsedRuleBuilder.class.getResourceAsStream(invdat);
+      BufferedInputStream b = new BufferedInputStream(i, 110000);
+      INVERSE_UCA_ = CollatorReader.readInverseUCA(b);
+      b.close();
+      i.close();
+      }
+      catch (Exception e)
+      {
+      e.printStackTrace();
+      throw new RuntimeException(e.getMessage());
+      }
+        */
+        
+        if(temp != null && RuleBasedCollator.UCA_ != null) {
+            if(!temp.m_UCA_version_.equals(RuleBasedCollator.UCA_.m_UCA_version_)) {
+                throw new RuntimeException(INV_UCA_VERSION_MISMATCH_);
+            }
+        } else {
+            throw new RuntimeException(UCA_NOT_INSTANTIATED_);
+        }
+        
+        INVERSE_UCA_ = temp;
+    }
+    
+    // package private methods -----------------------------------------------
+    
+    /**
+     * Parse and sets the collation rules in the argument collator
+     * @param collator to set
+     * @exception Exception thrown when internal program error occurs
+     */
+    void setRules(RuleBasedCollator collator) throws Exception
+    {
+        if (m_parser_.m_resultLength_ > 0 || m_parser_.m_removeSet_ != null) { 
+        // we have a set of rules, let's make something of it 
+        assembleTailoringTable(collator);
+    } 
+    else { // no rules, but no error either must be only options
+        // We will init the collator from UCA   
+        collator.setWithUCATables();
+    }
+        // And set only the options
+        m_parser_.setDefaultOptionsInCollator(collator);
+    }
+    
+    private void copyRangeFromUCA(BuildTable t, int start, int end) {
+        int u = 0;
+        for (u = start; u <= end; u ++) {
+            // if ((CE = ucmpe32_get(t.m_mapping, u)) == UCOL_NOT_FOUND
+            int CE = t.m_mapping_.getValue(u);
+            if (CE == CE_NOT_FOUND_ 
+                // this test is for contractions that are missing the starting 
+                // element. Looks like latin-1 should be done before 
+                // assembling the table, even if it results in more false 
+                // closure elements
+                || (isContractionTableElement(CE) 
+            && getCE(t.m_contractions_, CE, 0) == CE_NOT_FOUND_)) {
+                //m_utilElement_.m_uchars_ = str.toString();
+                m_utilElement_.m_uchars_ = UCharacter.toString(u);
+                m_utilElement_.m_cPoints_ = m_utilElement_.m_uchars_;
+                m_utilElement_.m_prefix_ = 0;
+                m_utilElement_.m_CELength_ = 0;
+                m_utilColEIter_.setText(m_utilElement_.m_uchars_);
+                while (CE != CollationElementIterator.NULLORDER) {
+                    CE = m_utilColEIter_.next();
+                    if (CE != CollationElementIterator.NULLORDER) {
+                        m_utilElement_.m_CEs_[m_utilElement_.m_CELength_ ++] 
+                = CE;
+                    }
+                }
+                addAnElement(t, m_utilElement_);
+            }
+        }
+    }
+            
+    /**
+     * 2.  Eliminate the negative lists by doing the following for each 
+     * non-null negative list: 
+     * o   if previousCE(baseCE, strongestN) != some ListHeader X's baseCE, 
+     * create new ListHeader X 
+     * o   reverse the list, add to the end of X's positive list. Reset the 
+     * strength of the first item you add, based on the stronger strength 
+     * levels of the two lists. 
+     * 
+     * 3.  For each ListHeader with a non-null positive list: 
+     * o   Find all character strings with CEs between the baseCE and the 
+     * next/previous CE, at the strength of the first token. Add these to the 
+     * tailoring. 
+     *     ? That is, if UCA has ...  x <<< X << x' <<< X' < y ..., and the 
+     *       tailoring has & x < z... 
+     *     ? Then we change the tailoring to & x  <<< X << x' <<< X' < z ... 
+     * 
+     * It is possible that this part should be done even while constructing list
+     * The problem is that it is unknown what is going to be the strongest 
+     * weight.
+     * So we might as well do it here
+     * o   Allocate CEs for each token in the list, based on the total number N 
+     * of the largest level difference, and the gap G between baseCE and nextCE 
+     * at that level. The relation * between the last item and nextCE is the 
+     * same as the strongest strength. 
+     * o   Example: baseCE < a << b <<< q << c < d < e * nextCE(X,1) 
+     *     ? There are 3 primary items: a, d, e. Fit them into the primary gap. 
+     *     Then fit b and c into the secondary gap between a and d, then fit q 
+     *     into the tertiary gap between b and c. 
+     * o   Example: baseCE << b <<< q << c * nextCE(X,2) 
+     *     ? There are 2 secondary items: b, c. Fit them into the secondary gap. 
+     *       Then fit q into the tertiary gap between b and c. 
+     * o   When incrementing primary values, we will not cross high byte 
+     *     boundaries except where there is only a single-byte primary. That is 
+     *     to ensure that the script reordering will continue to work. 
+     * @param collator the rule based collator to update
+     * @exception Exception thrown when internal program error occurs
+     */
+    void assembleTailoringTable(RuleBasedCollator collator) throws Exception
+    {
+        
+    for (int i = 0; i < m_parser_.m_resultLength_; i ++) {
+        // now we need to generate the CEs  
+        // We stuff the initial value in the buffers, and increase the 
+            // appropriate buffer according to strength
+            if  (m_parser_.m_listHeader_[i].m_first_ != null) { 
+                // if there are any elements
+                // due to the way parser works, subsequent tailorings
+                // may remove all the elements from a sequence, therefore
+                // leaving an empty tailoring sequence.
+        initBuffers(m_parser_.m_listHeader_[i]);
+            }
+    }
+        
+        if (m_parser_.m_variableTop_ != null) { 
+            // stuff the variable top value
+        m_parser_.m_options_.m_variableTopValue_ 
+        = m_parser_.m_variableTop_.m_CE_[0] >>> 16;
+        // remove it from the list
+        if (m_parser_.m_variableTop_.m_listHeader_.m_first_ 
+                == m_parser_.m_variableTop_) { // first in list
+        m_parser_.m_variableTop_.m_listHeader_.m_first_ 
+            = m_parser_.m_variableTop_.m_next_;
+        }
+        if (m_parser_.m_variableTop_.m_listHeader_.m_last_ 
+        == m_parser_.m_variableTop_) { 
+                // first in list
+        m_parser_.m_variableTop_.m_listHeader_.m_last_ 
+            = m_parser_.m_variableTop_.m_previous_;    
+        }
+        if (m_parser_.m_variableTop_.m_next_ != null) {
+        m_parser_.m_variableTop_.m_next_.m_previous_ 
+            = m_parser_.m_variableTop_.m_previous_;
+        }
+        if (m_parser_.m_variableTop_.m_previous_ != null) {
+        m_parser_.m_variableTop_.m_previous_.m_next_ 
+            = m_parser_.m_variableTop_.m_next_;
+        }
+    }
+        
+    BuildTable t = new BuildTable(m_parser_);
+        
+        // After this, we have assigned CE values to all regular CEs now we 
+    // will go through list once more and resolve expansions, make 
+    // UCAElements structs and add them to table               
+    for (int i = 0; i < m_parser_.m_resultLength_; i ++) {
+        // now we need to generate the CEs 
+        // We stuff the initial value in the buffers, and increase the 
+        // appropriate buffer according to strength                                                          */
+        createElements(t, m_parser_.m_listHeader_[i]);
+    }
+        
+        m_utilElement_.clear();
+        StringBuffer str = new StringBuffer();
+        
+    // add latin-1 stuff
+        copyRangeFromUCA(t, 0, 0xFF);
+    
+        // add stuff for copying 
+        if(m_parser_.m_copySet_ != null) {
+            int i = 0;
+            for(i = 0; i < m_parser_.m_copySet_.getRangeCount(); i++) {
+                copyRangeFromUCA(t, m_parser_.m_copySet_.getRangeStart(i), 
+                                 m_parser_.m_copySet_.getRangeEnd(i));
+            }
+        }
+        
+        // copy contractions from the UCA - this is felt mostly for cyrillic
+    char conts[] = RuleBasedCollator.UCA_CONTRACTIONS_;
+        int offset = 0;
+    while (conts[offset] != 0) {
+        // tailoredCE = ucmpe32_get(t.m_mapping, *conts);
+            int tailoredCE = t.m_mapping_.getValue(conts[offset]);
+        if (tailoredCE != CE_NOT_FOUND_) {         
+        boolean needToAdd = true;
+        if (isContractionTableElement(tailoredCE)) {
+                    if (isTailored(t.m_contractions_, tailoredCE, 
+                                   conts, offset + 1) == true) {
+            needToAdd = false;
+            }
+        }
+                if(m_parser_.m_removeSet_ != null && m_parser_.m_removeSet_.contains(conts[offset])) {
+                    needToAdd = false;
+                }
+
+                
+                if (needToAdd == true) { 
+                    // we need to add if this contraction is not tailored.
+            m_utilElement_.m_prefix_ = 0;
+            m_utilElement_.m_prefixChars_ = null;
+            m_utilElement_.m_cPoints_ = m_utilElement_.m_uchars_;
+                    str.delete(0, str.length());
+                    str.append(conts[offset]);
+                    str.append(conts[offset + 1]);
+            if (conts[offset + 2] != 0) {
+            str.append(conts[offset + 2]);
+            } 
+                    m_utilElement_.m_uchars_ = str.toString();
+                    m_utilElement_.m_CELength_ = 0;
+                    m_utilColEIter_.setText(m_utilElement_.m_uchars_);
+                    while (true) {
+                        int CE = m_utilColEIter_.next();
+                        if (CE != CollationElementIterator.NULLORDER) {
+                            m_utilElement_.m_CEs_[m_utilElement_.m_CELength_ 
+                         ++] = CE;
+                        }
+                        else {
+                            break;
+                        }
+                    }
+                    addAnElement(t, m_utilElement_);
+                }
+        } else if(m_parser_.m_removeSet_ != null && m_parser_.m_removeSet_.contains(conts[offset])) {
+                copyRangeFromUCA(t, conts[offset], conts[offset]);
+            }
+            
+        offset += 3;
+    }
+        
+        // Add completely ignorable elements
+        processUCACompleteIgnorables(t);
+        
+        // canonical closure 
+        canonicalClosure(t);
+  
+    // still need to produce compatibility closure
+    assembleTable(t, collator);  
+    }
+    
+    // private inner classes -------------------------------------------------
+    
+    private static class CEGenerator 
+    {
+        // package private data members --------------------------------------
+        
+    WeightRange m_ranges_[];
+    int m_rangesLength_;
+    int m_byteSize_; 
+        int m_start_; 
+        int m_limit_;
+    int m_maxCount_;
+    int m_count_;
+    int m_current_;
+    int m_fLow_; // forbidden Low 
+    int m_fHigh_; // forbidden High 
+        
+        // package private constructor ---------------------------------------
+        
+        CEGenerator() 
+        {
+            m_ranges_ = new WeightRange[7];      
+            for (int i = 6; i >= 0; i --) {
+                m_ranges_[i] = new WeightRange();
+            }
+        }
+    };
+
+    private static class WeightRange implements Comparable
+    {
+        // public methods ----------------------------------------------------
+        
+        /**
+         * Compares this object with target
+         * @param target object to compare with
+         * @return 0 if equals, 1 if this is > target, -1 otherwise
+         */
+        public int compareTo(Object target) 
+        {
+            if (this == target) {
+                return 0;
+            }
+            int tstart = ((WeightRange)target).m_start_;   
+            if (m_start_ == tstart) {
+                return 0;
+            }
+            if (m_start_ > tstart) {
+                return 1;
+            }
+            return -1;
+        }
+        
+        /**
+         * Initialize 
+         */
+        public void clear()
+        {
+            m_start_ = 0;
+            m_end_ = 0;
+            m_length_ = 0; 
+            m_count_ = 0;
+            m_length2_ = 0;
+            m_count2_ = 0;
+        }
+        
+        // package private data members --------------------------------------
+        
+    int m_start_;
+        int m_end_;
+    int m_length_; 
+        int m_count_;
+    int m_length2_;
+    int m_count2_;
+        
+        // package private constructor ---------------------------------------
+        
+        WeightRange()
+        {
+            clear();
+        }
+        
+        /**
+         * Copy constructor.
+         * Cloneable is troublesome, needs to check for exception
+         * @param source to clone
+         */
+        WeightRange(WeightRange source)
+        {
+            m_start_ = source.m_start_;
+            m_end_ = source.m_end_;
+            m_length_ = source.m_length_; 
+            m_count_ = source.m_count_;
+            m_length2_ = source.m_length2_;
+            m_count2_ = source.m_count2_;
+        }
+    };
+    
+    private static class MaxJamoExpansionTable
+    {
+    // package private data members --------------------------------------
+        
+    Vector m_endExpansionCE_;
+    // vector of booleans
+    Vector m_isV_;
+    byte m_maxLSize_;
+    byte m_maxVSize_;
+    byte m_maxTSize_;
+        
+    // package private constructor ---------------------------------------
+        
+    MaxJamoExpansionTable()
+    {
+        m_endExpansionCE_ = new Vector();
+        m_isV_ = new Vector();
+        m_endExpansionCE_.add(new Integer(0));
+        m_isV_.add(new Boolean(false));
+            m_maxLSize_ = 1;
+            m_maxVSize_ = 1;
+            m_maxTSize_ = 1;
+    }
+        
+        MaxJamoExpansionTable(MaxJamoExpansionTable table)
+        {
+            m_endExpansionCE_ = (Vector)table.m_endExpansionCE_.clone();
+            m_isV_ = (Vector)table.m_isV_.clone();
+            m_maxLSize_ = table.m_maxLSize_;
+            m_maxVSize_ = table.m_maxVSize_;
+            m_maxTSize_ = table.m_maxTSize_;
+        }
+    };
+    
+    private static class MaxExpansionTable 
+    {
+    // package private constructor --------------------------------------
+        
+    MaxExpansionTable() 
+    {
+        m_endExpansionCE_ = new Vector();
+        m_expansionCESize_ = new Vector();
+        m_endExpansionCE_.add(new Integer(0));
+        m_expansionCESize_.add(new Byte((byte)0));
+    }
+        
+        MaxExpansionTable(MaxExpansionTable table) 
+        {
+            m_endExpansionCE_ = (Vector)table.m_endExpansionCE_.clone();
+            m_expansionCESize_ = (Vector)table.m_expansionCESize_.clone();
+        }
+        
+    // package private data member --------------------------------------
+        
+    Vector m_endExpansionCE_;
+    Vector m_expansionCESize_;
+    };
+    
+    private static class BasicContractionTable 
+    {
+    // package private constructors -------------------------------------
+        
+    BasicContractionTable()
+    {
+        m_CEs_ = new Vector();
+        m_codePoints_ = new StringBuffer();
+    }
+        
+    // package private data members -------------------------------------
+        
+    StringBuffer m_codePoints_;
+    Vector m_CEs_;
+    };
+    
+    private static class ContractionTable 
+    {
+    // package private constructor --------------------------------------
+        
+    /**
+     * Builds a contraction table
+     * @param buildtable
+     */
+    ContractionTable(IntTrieBuilder mapping) 
+    {
+        m_mapping_ = mapping;
+        m_elements_ = new Vector();
+        m_CEs_ = new Vector();
+        m_codePoints_ = new StringBuffer();
+        m_offsets_ = new Vector();
+        m_currentTag_ = CE_NOT_FOUND_TAG_;
+    }
+        
+        /**
+         * Copies a contraction table.
+         * Not all data will be copied into their own object.
+         * @param table
+         */
+        ContractionTable(ContractionTable table) 
+        {
+            m_mapping_ = table.m_mapping_;
+            m_elements_ = (Vector)table.m_elements_.clone();
+            m_codePoints_ = new StringBuffer(table.m_codePoints_.toString());
+            m_CEs_ = (Vector)table.m_CEs_.clone();
+            m_offsets_ = (Vector)table.m_offsets_.clone();
+            m_currentTag_ = table.m_currentTag_;
+        }
+    
+    // package private data members ------------------------------------
+        
+    /**
+     * Vector of BasicContractionTable
+     */
+        Vector m_elements_;
+        IntTrieBuilder m_mapping_;
+        StringBuffer m_codePoints_;
+    Vector m_CEs_;
+    Vector m_offsets_;
+    int m_currentTag_;
+    };
+
+    private static final class BuildTable implements TrieBuilder.DataManipulate
+    {
+    // package private methods ------------------------------------------
+        
+        /**
+     * For construction of the Trie tables.
+     * Has to be labeled public
+     * @param table build table
+     * @param cp
+     * @param offset
+     * @return data offset or 0 
+     * @draft 2.2
+     */
+    public int getFoldedValue(int cp, int offset)
+    {
+        int limit = cp + 0x400;
+        while (cp < limit) {
+        int value = m_mapping_.getValue(cp);
+        boolean inBlockZero = m_mapping_.isInZeroBlock(cp);
+        int tag = getCETag(value);
+        if (inBlockZero == true) {
+            cp += TrieBuilder.DATA_BLOCK_LENGTH;
+        } 
+        else if (!(isSpecial(value) && (tag == CE_IMPLICIT_TAG_ 
+                        || tag == CE_NOT_FOUND_TAG_))) {
+                    // These are values that are starting in either UCA 
+                    // (IMPLICIT_TAG) or in the tailorings (NOT_FOUND_TAG). 
+                    // Presence of these tags means that there is nothing in 
+                    // this position and that it should be skipped.
+            return RuleBasedCollator.CE_SPECIAL_FLAG_ 
+            | (CE_SURROGATE_TAG_ << 24) | offset;
+        } 
+        else {
+            ++ cp;
+        }
+        }
+        return 0;
+    }
+    
+    // package private constructor --------------------------------------
+        
+    /**
+     * Returns a table
+     * @return build table
+     */
+    BuildTable(CollationRuleParser parser) 
+    {
+        m_collator_ = new RuleBasedCollator();
+        m_collator_.setWithUCAData();
+        MaxExpansionTable maxet = new MaxExpansionTable();
+        MaxJamoExpansionTable maxjet = new MaxJamoExpansionTable();
+        m_options_ = parser.m_options_;
+        m_expansions_ = new Vector();
+        // Do your own mallocs for the structure, array and have linear 
+        // Latin 1
+            int trieinitialvalue = RuleBasedCollator.CE_SPECIAL_FLAG_
+        | (CE_NOT_FOUND_TAG_ << 24);
+        // temporary fix for jb3822, 0x100000 -> 30000
+        m_mapping_ = new IntTrieBuilder(null, 0x30000, trieinitialvalue, 
+                                            trieinitialvalue, true); 
+        m_prefixLookup_ = new Hashtable();
+        // uhash_open(prefixLookupHash, prefixLookupComp);
+        m_contractions_ = new ContractionTable(m_mapping_);
+        // copy UCA's maxexpansion and merge as we go along
+        m_maxExpansions_ = maxet;
+        // adding an extra initial value for easier manipulation 
+        for (int i = 0; 
+         i < RuleBasedCollator.UCA_.m_expansionEndCE_.length; i ++) {
+        maxet.m_endExpansionCE_.add(new Integer(
+                            RuleBasedCollator.UCA_.m_expansionEndCE_[i]));
+        maxet.m_expansionCESize_.add(new Byte(
+                              RuleBasedCollator.UCA_.m_expansionEndCEMaxSize_[i]));
+        }
+        m_maxJamoExpansions_ = maxjet;
+        
+        m_unsafeCP_ = new byte[UNSAFECP_TABLE_SIZE_];
+        m_contrEndCP_ = new byte[UNSAFECP_TABLE_SIZE_];
+        Arrays.fill(m_unsafeCP_, (byte)0);
+        Arrays.fill(m_contrEndCP_, (byte)0);
+    }
+    
+        /**
+         * Duplicating a BuildTable.
+         * Not all data will be duplicated into their own object.
+         * @param table to clone
+         */
+        BuildTable(BuildTable table) 
+        {
+            m_collator_ = table.m_collator_;
+            m_mapping_ = new IntTrieBuilder(table.m_mapping_);
+            m_expansions_ = (Vector)table.m_expansions_.clone();
+            m_contractions_ = new ContractionTable(table.m_contractions_);
+            m_contractions_.m_mapping_ = m_mapping_;
+            m_options_ = table.m_options_;
+            m_maxExpansions_ = new MaxExpansionTable(table.m_maxExpansions_);
+            m_maxJamoExpansions_ 
+        = new MaxJamoExpansionTable(table.m_maxJamoExpansions_);
+            m_unsafeCP_ = new byte[table.m_unsafeCP_.length];
+            System.arraycopy(table.m_unsafeCP_, 0, m_unsafeCP_, 0,
+                             m_unsafeCP_.length);
+            m_contrEndCP_ = new byte[table.m_contrEndCP_.length];
+            System.arraycopy(table.m_contrEndCP_, 0, m_contrEndCP_, 0,
+                             m_contrEndCP_.length);
+        }
+        
+    // package private data members -------------------------------------
+        
+    RuleBasedCollator m_collator_;
+        IntTrieBuilder m_mapping_; 
+        Vector m_expansions_; 
+        ContractionTable m_contractions_;
+    // UCATableHeader image;
+    CollationRuleParser.OptionSet m_options_;
+    MaxExpansionTable m_maxExpansions_;
+    MaxJamoExpansionTable m_maxJamoExpansions_;
+    byte m_unsafeCP_[];
+    byte m_contrEndCP_[];
+    Hashtable m_prefixLookup_;
+    }; 
+    
+    private static class Elements
+    {
+    // package private data members -------------------------------------
+        
+    String m_prefixChars_;
+    int m_prefix_;
+    String m_uchars_;
+    /**
+     * Working string
+     */
+    String m_cPoints_;    
+    /**
+     * Offset to the working string
+     */
+    int m_cPointsOffset_;
+    /** 
+     * These are collation elements - there could be more than one - in 
+     * case of expansion 
+     */    
+    int m_CEs_[];      
+        int m_CELength_;
+    /** 
+     * This is the value element maps in original table   
+     */
+    int m_mapCE_;         
+    int m_sizePrim_[];
+    int m_sizeSec_[];
+    int m_sizeTer_[];
+    boolean m_variableTop_;
+    boolean m_caseBit_;
+        
+    // package private constructors -------------------------------------
+        
+    /**
+     * Package private constructor
+     */
+    Elements()
+    {
+        m_sizePrim_ = new int[128];    
+        m_sizeSec_ = new int[128];    
+        m_sizeTer_ = new int[128];    
+            m_CEs_ = new int[256];
+            m_CELength_ = 0;
+    }
+
+        /**
+     * Package private constructor
+     */
+    Elements(Elements element)
+    {
+            m_prefixChars_ = element.m_prefixChars_;
+            m_prefix_ = element.m_prefix_;
+            m_uchars_ = element.m_uchars_;
+            m_cPoints_ = element.m_cPoints_;    
+            m_cPointsOffset_ = element.m_cPointsOffset_;    
+            m_CEs_ = element.m_CEs_;
+            m_CELength_ = element.m_CELength_;
+            m_mapCE_ = element.m_mapCE_;
+        m_sizePrim_ = element.m_sizePrim_;
+        m_sizeSec_ = element.m_sizeSec_;
+        m_sizeTer_ = element.m_sizeTer_;
+        m_variableTop_ = element.m_variableTop_;
+        m_caseBit_ = element.m_caseBit_;
+    }
+
+        // package private methods -------------------------------------------
+        
+        /**
+         * Initializing the elements
+         */
+        public void clear()
+        {
+            m_prefixChars_ = null;
+            m_prefix_ = 0;
+            m_uchars_ = null;
+            m_cPoints_ = null;    
+            m_cPointsOffset_ = 0;  
+            m_CELength_ = 0;
+            m_mapCE_ = 0;
+            Arrays.fill(m_sizePrim_, 0);
+            Arrays.fill(m_sizeSec_, 0);
+            Arrays.fill(m_sizeTer_, 0);
+            m_variableTop_ = false;
+            m_caseBit_ = false;
+        }
+
+        
+        /**
+         * Hashcode calculation for token
+         * @return the hashcode
+         */
+        public int hashCode()
+        {
+        String str = m_cPoints_.substring(m_cPointsOffset_);
+        return str.hashCode();
+    }
+        
+    /**
+     * Equals calculation
+     * @param target object to compare
+     * @return true if target is the same as this object
+     */
+    public boolean equals(Object target)
+    {
+        if (target == this) {
+        return true;
+        }
+        if (target instanceof Elements) {
+        Elements t = (Elements)target;
+        int size = m_cPoints_.length() - m_cPointsOffset_;
+        if (size == t.m_cPoints_.length() - t.m_cPointsOffset_) {
+            return t.m_cPoints_.regionMatches(t.m_cPointsOffset_, 
+                              m_cPoints_, 
+                              m_cPointsOffset_, size);
+        }
+            }
+            return false;
+    }
+    };
+
+    // private data member ---------------------------------------------------
+    
+    /**
+     * Maximum strength used in CE building
+     */
+    private static final int CE_BASIC_STRENGTH_LIMIT_ = 3;
+    /**
+     * Maximum collation strength
+     */
+    private static final int CE_STRENGTH_LIMIT_ = 16;
+    /**
+     * Strength mask array, used in inverse UCA
+     */
+    private static final int STRENGTH_MASK_[] = {0xFFFF0000, 0xFFFFFF00, 
+                                                 0xFFFFFFFF};
+    /**
+     * CE tag for not found
+     */
+    private static final int CE_NOT_FOUND_ = 0xF0000000;
+    /**
+     * CE tag for not found
+     */
+    private static final int CE_NOT_FOUND_TAG_ = 0;
+    /**
+     * This code point results in an expansion 
+     */
+    private static final int CE_EXPANSION_TAG_ = 1;
+    /** 
+     * Start of a contraction 
+     */
+    private static final int CE_CONTRACTION_TAG_ = 2;
+    /** 
+     * Thai character - do the reordering 
+     */
+    private static final int CE_THAI_TAG_ = 3;            
+    /** 
+     * Charset processing, not yet implemented
+     */
+    private static final int CE_CHARSET_TAG_ = 4;         
+    /** 
+     * Lead surrogate that is tailored and doesn't start a contraction 
+     */
+    private static final int CE_SURROGATE_TAG_ = 5;
+    /** 
+     * AC00-D7AF
+     */
+    private static final int CE_HANGUL_SYLLABLE_TAG_ = 6;
+    /** 
+     * D800-DBFF
+     */
+    private static final int CE_LEAD_SURROGATE_TAG_ = 7;
+    /** 
+     * DC00-DFFF
+     */
+    private static final int CE_TRAIL_SURROGATE_TAG_ = 8; 
+    /** 
+     * 0x3400-0x4DB5, 0x4E00-0x9FA5, 0xF900-0xFA2D
+     */    
+    private static final int CE_CJK_IMPLICIT_TAG_ = 9;
+    private static final int CE_IMPLICIT_TAG_ = 10;
+    private static final int CE_SPEC_PROC_TAG_ = 11;
+    /** 
+     * This is a three byte primary with starting secondaries and tertiaries.
+     * It fits in a single 32 bit CE and is used instead of expansion to save
+     * space without affecting the performance (hopefully) 
+     */
+    private static final int CE_LONG_PRIMARY_TAG_ = 12;  
+    /** 
+     * Unsafe UChar hash table table size. Size is 32 bytes for 1 bit for each 
+     * latin 1 char + some power of two for hashing the rest of the chars. 
+     * Size in bytes                               
+     */
+    private static final int UNSAFECP_TABLE_SIZE_ = 1056;
+    /** 
+     * Mask value down to "some power of two" -1. Number of bits, not num of 
+     * bytes.       
+     */
+    private static final int UNSAFECP_TABLE_MASK_ = 0x1fff;
+    /**
+     * Case values
+     */
+    private static final int UPPER_CASE_ = 0x80;
+    private static final int MIXED_CASE_ = 0x40;
+    private static final int LOWER_CASE_ = 0x00;
+    /**
+     * Initial table size
+     */
+    private static final int INIT_TABLE_SIZE_ = 1028;
+    /**
+     * Header size, copied from ICU4C, to be changed when that value changes
+     */
+    private static final int HEADER_SIZE_ = 0xC4;
+    /**
+     * Contraction table new element indicator
+     */
+    private static final int CONTRACTION_TABLE_NEW_ELEMENT_ = 0xFFFFFF;
+    /**
+     * Parser for the rules
+     */
+    private CollationRuleParser m_parser_;
+    /**
+     * Utility UCA collation element iterator
+     */
+    private CollationElementIterator m_utilColEIter_;
+    /**
+     * Utility data members
+     */
+    private CEGenerator m_utilGens_[] = {new CEGenerator(), new CEGenerator(),
+                                         new CEGenerator()};
+    private int m_utilCEBuffer_[] = new int[CE_BASIC_STRENGTH_LIMIT_];
+    private int m_utilIntBuffer_[] = new int[CE_STRENGTH_LIMIT_];
+    private Elements m_utilElement_ = new Elements();
+    private Elements m_utilElement2_ = new Elements();
+    private CollationRuleParser.Token m_utilToken_ 
+    = new CollationRuleParser.Token();
+    private int m_utilCountBuffer_[] = new int[6];     
+    private long m_utilLongBuffer_[] = new long[5];
+    private WeightRange m_utilLowerWeightRange_[] = 
+    {new WeightRange(), new WeightRange(), 
+     new WeightRange(), new WeightRange(), 
+     new WeightRange()}; 
+    private WeightRange m_utilUpperWeightRange_[] = 
+    {new WeightRange(), new WeightRange(), 
+     new WeightRange(), new WeightRange(), 
+     new WeightRange()}; 
+    private WeightRange m_utilWeightRange_ = new WeightRange();
+    private char m_utilCharBuffer_[] = new char[256];
+    private CanonicalIterator m_utilCanIter_ = new CanonicalIterator("");
+    private StringBuffer m_utilStringBuffer_ = new StringBuffer("");
+    
+    // private methods -------------------------------------------------------
+    
+    /**
+     * @param listheader parsed rule tokens
+     * @exception Exception thrown when internal error occurs
+     */
+    private void initBuffers(CollationRuleParser.TokenListHeader listheader) 
+    throws Exception
+    {
+        CollationRuleParser.Token token = listheader.m_last_;
+        Arrays.fill(m_utilIntBuffer_, 0, CE_STRENGTH_LIMIT_, 0);
+        
+    token.m_toInsert_ = 1;
+    m_utilIntBuffer_[token.m_strength_] = 1;
+    while (token.m_previous_ != null) {
+        if (token.m_previous_.m_strength_ < token.m_strength_) { 
+                // going up
+        m_utilIntBuffer_[token.m_strength_] = 0;
+        m_utilIntBuffer_[token.m_previous_.m_strength_] ++;
+        } 
+            else if (token.m_previous_.m_strength_ > token.m_strength_) { 
+                // going down
+        m_utilIntBuffer_[token.m_previous_.m_strength_] = 1;
+        } 
+            else {
+        m_utilIntBuffer_[token.m_strength_] ++;
+        }
+        token = token.m_previous_;
+        token.m_toInsert_ = m_utilIntBuffer_[token.m_strength_];
+    } 
+        
+    token.m_toInsert_ = m_utilIntBuffer_[token.m_strength_];
+    INVERSE_UCA_.getInverseGapPositions(listheader);
+        
+    token = listheader.m_first_;
+    int fstrength = Collator.IDENTICAL;
+    int initstrength = Collator.IDENTICAL;
+        
+    m_utilCEBuffer_[Collator.PRIMARY] = mergeCE(listheader.m_baseCE_, 
+                            listheader.m_baseContCE_,
+                            Collator.PRIMARY);
+    m_utilCEBuffer_[Collator.SECONDARY] = mergeCE(listheader.m_baseCE_, 
+                              listheader.m_baseContCE_,
+                              Collator.SECONDARY);
+    m_utilCEBuffer_[Collator.TERTIARY] = mergeCE(listheader.m_baseCE_, 
+                             listheader.m_baseContCE_,
+                             Collator.TERTIARY);
+    while (token != null) {
+        fstrength = token.m_strength_;
+        if (fstrength < initstrength) {
+        initstrength = fstrength;
+        if (listheader.m_pos_[fstrength] == -1) {
+            while (listheader.m_pos_[fstrength] == -1 && fstrength > 0) 
+            {
+                fstrength--;
+            }
+            if (listheader.m_pos_[fstrength] == -1) {
+            throw new Exception("Internal program error");
+            }
+        }
+        if (initstrength == Collator.TERTIARY) { 
+                    // starting with tertiary
+            m_utilCEBuffer_[Collator.PRIMARY] 
+            = listheader.m_gapsLo_[fstrength * 3];
+            m_utilCEBuffer_[Collator.SECONDARY] 
+            = listheader.m_gapsLo_[fstrength * 3 + 1];
+            m_utilCEBuffer_[Collator.TERTIARY] = getCEGenerator(
+                                    m_utilGens_[Collator.TERTIARY], 
+                                    listheader.m_gapsLo_, 
+                                    listheader.m_gapsHi_, 
+                                    token, fstrength); 
+        } 
+                else if (initstrength == Collator.SECONDARY) { 
+                    // secondaries
+            m_utilCEBuffer_[Collator.PRIMARY] 
+            = listheader.m_gapsLo_[fstrength * 3];
+            m_utilCEBuffer_[Collator.SECONDARY] 
+            = getCEGenerator(
+                                         m_utilGens_[Collator.SECONDARY], 
+                                         listheader.m_gapsLo_, 
+                                         listheader.m_gapsHi_, 
+                                         token, fstrength);
+            m_utilCEBuffer_[Collator.TERTIARY] 
+            = getSimpleCEGenerator(
+                           m_utilGens_[Collator.TERTIARY], 
+                           token, Collator.TERTIARY);
+        } 
+                else { 
+                    // primaries 
+            m_utilCEBuffer_[Collator.PRIMARY] 
+            = getCEGenerator(
+                     m_utilGens_[Collator.PRIMARY], 
+                     listheader.m_gapsLo_, 
+                     listheader.m_gapsHi_, 
+                     token, fstrength);
+            m_utilCEBuffer_[Collator.SECONDARY] 
+            = getSimpleCEGenerator(
+                                               m_utilGens_[Collator.SECONDARY], 
+                                               token, Collator.SECONDARY);
+            m_utilCEBuffer_[Collator.TERTIARY] 
+            = getSimpleCEGenerator(
+                                               m_utilGens_[Collator.TERTIARY], 
+                                               token, Collator.TERTIARY);
+        }
+        } 
+            else {
+        if (token.m_strength_ == Collator.TERTIARY) {
+            m_utilCEBuffer_[Collator.TERTIARY] 
+            = getNextGenerated(m_utilGens_[Collator.TERTIARY]);
+        } 
+                else if (token.m_strength_ == Collator.SECONDARY) {
+            m_utilCEBuffer_[Collator.SECONDARY] 
+            = getNextGenerated(m_utilGens_[Collator.SECONDARY]);
+            m_utilCEBuffer_[Collator.TERTIARY] 
+            = getSimpleCEGenerator(
+                           m_utilGens_[Collator.TERTIARY], 
+                           token, Collator.TERTIARY);
+        } 
+                else if (token.m_strength_ == Collator.PRIMARY) {
+            m_utilCEBuffer_[Collator.PRIMARY] 
+            = getNextGenerated(
+                       m_utilGens_[Collator.PRIMARY]);
+            m_utilCEBuffer_[Collator.SECONDARY] 
+            = getSimpleCEGenerator(
+                           m_utilGens_[Collator.SECONDARY], 
+                           token, Collator.SECONDARY);
+            m_utilCEBuffer_[Collator.TERTIARY] 
+            = getSimpleCEGenerator(
+                           m_utilGens_[Collator.TERTIARY], 
+                           token, Collator.TERTIARY);
+        }
+        }
+        doCE(m_utilCEBuffer_, token);
+        token = token.m_next_;
+    }
+    }
+
+    /**
+     * Get the next generated ce
+     * @param g ce generator
+     * @return next generated ce 
+     */
+    private int getNextGenerated(CEGenerator g) 
+    {
+        g.m_current_ = nextWeight(g);
+        return g.m_current_;
+    }
+
+    /**
+     * @param g CEGenerator
+     * @param token rule token
+     * @param fstrength 
+     * @return ce generator
+     * @exception Exception thrown when internal error occurs
+     */
+    private int getSimpleCEGenerator(CEGenerator g, 
+                                     CollationRuleParser.Token token, 
+                                     int strength) throws Exception
+    {
+        int high, low, count = 1;
+        int maxbyte = (strength == Collator.TERTIARY) ? 0x3F : 0xFF;
+
+    if (strength == Collator.SECONDARY) {
+        low = RuleBasedCollator.COMMON_TOP_2_ << 24;
+        high = 0xFFFFFFFF;
+        count = 0xFF - RuleBasedCollator.COMMON_TOP_2_;
+    } 
+        else {
+        low = RuleBasedCollator.BYTE_COMMON_ << 24; //0x05000000;
+        high = 0x40000000;
+        count = 0x40 - RuleBasedCollator.BYTE_COMMON_;
+    }
+    
+    if (token.m_next_ != null && token.m_next_.m_strength_ == strength) {
+        count = token.m_next_.m_toInsert_;
+    } 
+    
+    g.m_rangesLength_ = allocateWeights(low, high, count, maxbyte, 
+                                            g.m_ranges_);
+    g.m_current_ = RuleBasedCollator.BYTE_COMMON_ << 24;
+    
+    if (g.m_rangesLength_ == 0) {
+        throw new Exception("Internal program error");
+    }
+    return g.m_current_;
+    }
+
+    /**
+     * Combines 2 ce into one with respect to the argument strength
+     * @param ce1 first ce
+     * @param ce2 second ce
+     * @param strength strength to use
+     * @return combined ce
+     */
+    private static int mergeCE(int ce1, int ce2, int strength) 
+    {
+        int mask = RuleBasedCollator.CE_TERTIARY_MASK_;
+        if (strength == Collator.SECONDARY) {
+            mask = RuleBasedCollator.CE_SECONDARY_MASK_;
+        }
+        else if (strength == Collator.PRIMARY) {
+            mask = RuleBasedCollator.CE_PRIMARY_MASK_;
+        }
+        ce1 &= mask;
+        ce2 &= mask;
+        switch (strength) 
+        {
+            case Collator.PRIMARY:
+                return ce1 | ce2 >>> 16;
+            case Collator.SECONDARY:
+                return ce1 << 16 | ce2 << 8;
+            default:
+                return ce1 << 24 | ce2 << 16;
+        }
+    }
+    
+    /**
+     * @param g CEGenerator
+     * @param lows low gap array
+     * @param highs high gap array
+     * @param token rule token
+     * @param fstrength 
+     * @exception Exception thrown when internal error occurs
+     */
+    private int getCEGenerator(CEGenerator g, int lows[], int highs[], 
+                               CollationRuleParser.Token token, int fstrength) 
+    throws Exception
+    {
+    int strength = token.m_strength_;
+    int low = lows[fstrength * 3 + strength];
+    int high = highs[fstrength * 3 + strength];
+    int maxbyte = 0;
+    if(strength == Collator.TERTIARY) {
+        maxbyte = 0x3F;
+    } else if(strength == Collator.PRIMARY) {
+        maxbyte = 0xFE;
+    } else {
+        maxbyte = 0xFF;
+    }
+    
+    int count = token.m_toInsert_;
+    
+    if (Utility.compareUnsigned(low, high) >= 0 
+            && strength > Collator.PRIMARY) {
+        int s = strength;
+        while (true) {
+        s --;
+        if (lows[fstrength * 3 + s] != highs[fstrength * 3 + s]) {
+            if (strength == Collator.SECONDARY) {
+            low = RuleBasedCollator.COMMON_TOP_2_ << 24;
+            high = 0xFFFFFFFF;
+            } 
+                    else {
+                        // low = 0x02000000; 
+                        // This needs to be checked - what if low is
+                        // not good...
+            high = 0x40000000;
+            }
+            break;
+        }
+        if (s < 0) {
+            throw new Exception("Internal program error");
+        }
+        }
+    } 
+    if (low == 0) {
+        low = 0x01000000;
+    }
+    if (strength == Collator.SECONDARY) { // similar as simple 
+        if (Utility.compareUnsigned(low, 
+                    RuleBasedCollator.COMMON_BOTTOM_2_ << 24) >= 0
+                && Utility.compareUnsigned(low, 
+                       RuleBasedCollator.COMMON_TOP_2_ << 24) < 0) {
+        low = RuleBasedCollator.COMMON_TOP_2_ << 24;
+            }
+        if (Utility.compareUnsigned(high, 
+                    RuleBasedCollator.COMMON_BOTTOM_2_ << 24) > 0 
+                && Utility.compareUnsigned(high, 
+                       RuleBasedCollator.COMMON_TOP_2_ << 24) < 0) {
+        high = RuleBasedCollator.COMMON_TOP_2_ << 24;
+        } 
+        if (Utility.compareUnsigned(low, 
+                    RuleBasedCollator.COMMON_BOTTOM_2_ << 24) < 0) {
+        g.m_rangesLength_ = allocateWeights(
+                            RuleBasedCollator.BYTE_UNSHIFTED_MIN_ << 24, 
+                            high, count, maxbyte, g.m_ranges_);
+        g.m_current_ = nextWeight(g);
+        //g.m_current_ = RuleBasedCollator.COMMON_BOTTOM_2_ << 24;
+        return g.m_current_;
+        }
+    } 
+    
+    g.m_rangesLength_ = allocateWeights(low, high, count, maxbyte, 
+                                            g.m_ranges_);
+    if (g.m_rangesLength_ == 0) {
+        throw new Exception("Internal program error");
+    }
+    g.m_current_ = nextWeight(g);
+    return g.m_current_;
+    }
+
+    /**
+     * @param ceparts list of collation elements parts
+     * @param token rule token
+     * @exception Exception thrown when forming case bits for expansions fails
+     */
+    private void doCE(int ceparts[], CollationRuleParser.Token token) 
+    throws Exception
+    {
+        // this one makes the table and stuff
+    // int noofbytes[] = new int[3];
+    for (int i = 0; i < 3; i ++) {
+        // noofbytes[i] = countBytes(ceparts[i]);
+            m_utilIntBuffer_[i] = countBytes(ceparts[i]);
+    }
+    
+    // Here we have to pack CEs from parts
+    int cei = 0;
+    int value = 0;
+    
+    while ((cei << 1) < m_utilIntBuffer_[0] || cei < m_utilIntBuffer_[1] 
+               || cei < m_utilIntBuffer_[2]) {
+        if (cei > 0) {
+        value = RuleBasedCollator.CE_CONTINUATION_MARKER_;
+        } else {
+        value = 0;
+        }
+        
+        if ((cei << 1) < m_utilIntBuffer_[0]) {
+        value |= ((ceparts[0] >> (32 - ((cei + 1) << 4))) & 0xFFFF) 
+                      << 16;
+        }
+        if (cei < m_utilIntBuffer_[1]) {
+        value |= ((ceparts[1] >> (32 - ((cei + 1) << 3))) & 0xFF) << 8;
+        }
+            
+        if (cei < m_utilIntBuffer_[2]) {
+        value |= ((ceparts[2] >> (32 - ((cei+1) << 3))) & 0x3F);
+        }
+        token.m_CE_[cei] = value;
+        cei ++;
+    }
+    if (cei == 0) { // totally ignorable
+        token.m_CELength_ = 1;
+        token.m_CE_[0] = 0;
+    } 
+    else { // there is at least something
+        token.m_CELength_ = cei;
+    }
+          
+    // Case bits handling for expansion
+    int startoftokenrule = token.m_source_ & 0xFF;
+    if ((token.m_source_ >>> 24) > 1) {
+        // Do it manually
+        int length = token.m_source_ >>> 24;
+        String tokenstr = token.m_rules_.substring(startoftokenrule, 
+                               startoftokenrule + length);
+        token.m_CE_[0] |= getCaseBits(tokenstr);
+    } 
+    else {
+        // Copy it from the UCA
+        int caseCE 
+        = getFirstCE(token.m_rules_.charAt(startoftokenrule));
+        token.m_CE_[0] |= (caseCE & 0xC0);
+    }
+    }
+
+    /**
+     * Count the number of non-zero bytes used in the ce
+     * @param ce 
+     * @return number of non-zero bytes used in ce
+     */
+    private static final int countBytes(int ce)   
+    {                               
+    int mask = 0xFFFFFFFF;   
+    int result = 0;              
+    while (mask != 0) {            
+        if ((ce & mask) != 0) { 
+        result ++;            
+        }                           
+        mask >>>= 8;                 
+    }   
+        return result;                          
+    }
+    
+    /**
+     * We are ready to create collation elements
+     * @param t build table to insert
+     * @param lh rule token list header
+     * @exception Exception thrown when internal program error occurs
+     */
+    private void createElements(BuildTable t, 
+                CollationRuleParser.TokenListHeader lh)
+    {
+    CollationRuleParser.Token tok = lh.m_first_;
+    m_utilElement_.clear();
+    while (tok != null) {
+        // first, check if there are any expansions
+        // if there are expansions, we need to do a little bit more 
+        // processing since parts of expansion can be tailored, while 
+        // others are not
+        if (tok.m_expansion_ != 0) {
+        int len = tok.m_expansion_ >>> 24;
+        int currentSequenceLen = len;
+        int expOffset = tok.m_expansion_ & 0x00FFFFFF;
+        m_utilToken_.m_source_ = currentSequenceLen | expOffset;
+        m_utilToken_.m_rules_ = m_parser_.m_source_;
+    
+        while (len > 0) {
+            currentSequenceLen = len;
+            while (currentSequenceLen > 0) {
+            m_utilToken_.m_source_ = (currentSequenceLen << 24) 
+                | expOffset;
+            CollationRuleParser.Token expt = 
+                (CollationRuleParser.Token)
+                m_parser_.m_hashTable_.get(m_utilToken_);
+            if (expt != null 
+                && expt.m_strength_ 
+                != CollationRuleParser.TOKEN_RESET_) { 
+                // expansion is tailored
+                int noOfCEsToCopy = expt.m_CELength_;
+                for (int j = 0; j < noOfCEsToCopy; j ++) {
+                tok.m_expCE_[tok.m_expCELength_ + j] 
+                    = expt.m_CE_[j];
+                }
+                tok.m_expCELength_ += noOfCEsToCopy;
+                // never try to add codepoints and CEs.
+                // For some odd reason, it won't work.
+                expOffset += currentSequenceLen; //noOfCEsToCopy;
+                len -= currentSequenceLen; //noOfCEsToCopy;
+                break;
+            } 
+            else {
+                currentSequenceLen --;
+            }
+            }
+            if (currentSequenceLen == 0) { 
+            // couldn't find any tailored subsequence, will have to 
+            // get one from UCA. first, get the UChars from the 
+            // rules then pick CEs out until there is no more and 
+            // stuff them into expansion
+            m_utilColEIter_.setText(m_parser_.m_source_.substring(
+                                          expOffset, expOffset + 1));
+            while (true) {
+                int order = m_utilColEIter_.next();
+                if (order == CollationElementIterator.NULLORDER) {
+                break;
+                }
+                tok.m_expCE_[tok.m_expCELength_ ++] = order;
+            }
+            expOffset ++;
+            len --;
+            }
+        }
+        } 
+        else {
+        tok.m_expCELength_ = 0;
+        }
+    
+        // set the ucaelement with obtained values
+            m_utilElement_.m_CELength_ = tok.m_CELength_ + tok.m_expCELength_;
+            
+        // copy CEs
+        System.arraycopy(tok.m_CE_, 0, m_utilElement_.m_CEs_, 0, 
+                             tok.m_CELength_);
+        System.arraycopy(tok.m_expCE_, 0, m_utilElement_.m_CEs_, 
+                             tok.m_CELength_, tok.m_expCELength_);
+    
+        // copy UChars 
+        // We kept prefix and source kind of together, as it is a kind of a 
+        // contraction. 
+        // However, now we have to slice the prefix off the main thing - 
+        m_utilElement_.m_prefix_ = 0;// el.m_prefixChars_;
+        m_utilElement_.m_cPointsOffset_ = 0; //el.m_uchars_;
+        if (tok.m_prefix_ != 0) { 
+        // we will just copy the prefix here, and adjust accordingly in 
+        // the addPrefix function in ucol_elm. The reason is that we 
+        // need to add both composed AND decomposed elements to the 
+        // unsafe table.
+        int size = tok.m_prefix_ >> 24;
+        int offset = tok.m_prefix_ & 0x00FFFFFF;
+        m_utilElement_.m_prefixChars_ 
+            = m_parser_.m_source_.substring(offset, offset + size);
+        size = (tok.m_source_ >> 24) - (tok.m_prefix_ >> 24); 
+        offset = (tok.m_source_ & 0x00FFFFFF) + (tok.m_prefix_ >> 24);
+        m_utilElement_.m_uchars_ 
+            = m_parser_.m_source_.substring(offset, offset + size);
+        } 
+        else {
+        m_utilElement_.m_prefixChars_ = null;
+        int offset = tok.m_source_ & 0x00FFFFFF;
+        int size = tok.m_source_ >>> 24;
+        m_utilElement_.m_uchars_ = m_parser_.m_source_.substring(offset, 
+                                     offset + size);
+        }
+        m_utilElement_.m_cPoints_ = m_utilElement_.m_uchars_;
+        for (int i = 0; i < m_utilElement_.m_cPoints_.length() 
+             - m_utilElement_.m_cPointsOffset_; i ++) {
+        if (isJamo(m_utilElement_.m_cPoints_.charAt(i))) {
+            t.m_collator_.m_isJamoSpecial_ = true;
+            break;
+        }
+        }
+            
+            /***
+    
+            // Case bits handling 
+            m_utilElement_.m_CEs_[0] &= 0xFFFFFF3F; 
+        // Clean the case bits field
+            if (m_utilElement_.m_cPoints_.length() 
+                - m_utilElement_.m_cPointsOffset_ > 1) {
+        // Do it manually
+        m_utilElement_.m_CEs_[0] 
+        |= getCaseBits(m_utilElement_.m_cPoints_);
+            } 
+            else {
+        // Copy it from the UCA
+        int caseCE = getFirstCE(m_utilElement_.m_cPoints_.charAt(0));
+        m_utilElement_.m_CEs_[0] |= (caseCE & 0xC0);
+            }
+    
+            ***/
+        // and then, add it
+        addAnElement(t, m_utilElement_);
+        tok = tok.m_next_;
+    }   
+    }
+    
+    /**
+     * Testing if the string argument has case
+     * @param src string
+     * @return the case for this char array
+     * @exception Exception thrown when internal program error occurs
+     */
+    private final int getCaseBits(String src) throws Exception
+    {
+    int uCount = 0; 
+    int lCount = 0;
+    src = Normalizer.decompose(src, true);
+    m_utilColEIter_.setText(src);
+    for (int i = 0; i < src.length(); i++) {
+        m_utilColEIter_.setText(src.substring(i, i + 1));
+        int order = m_utilColEIter_.next();
+        if (RuleBasedCollator.isContinuation(order)) {
+        throw new Exception("Internal program error");
+        }
+        if ((order & RuleBasedCollator.CE_CASE_BIT_MASK_)
+        == UPPER_CASE_) {
+        uCount ++;
+        } 
+        else {
+        char ch = src.charAt(i);
+        if (UCharacter.isLowerCase(ch)) {
+            lCount ++;
+        } 
+        else {
+            if (toSmallKana(ch) == ch && toLargeKana(ch) != ch) {
+            lCount ++;
+            }
+        }
+        }
+    }
+        
+    if (uCount != 0 && lCount != 0) {
+        return MIXED_CASE_;
+    } 
+    else if (uCount != 0) {
+        return UPPER_CASE_;
+    } 
+    else {
+        return LOWER_CASE_;
+    }
+    }
+    
+    /**
+     * Converts a char to the uppercase Kana
+     * @param ch character to convert
+     * @return the converted Kana character
+     */
+    private static final char toLargeKana(char ch) 
+    {
+    if (0x3042 < ch && ch < 0x30ef) { // Kana range 
+        switch (ch - 0x3000) {
+        case 0x41: 
+        case 0x43: 
+        case 0x45: 
+        case 0x47: 
+        case 0x49: 
+        case 0x63: 
+        case 0x83: 
+        case 0x85: 
+        case 0x8E:
+        case 0xA1: 
+        case 0xA3: 
+        case 0xA5: 
+        case 0xA7: 
+        case 0xA9: 
+        case 0xC3: 
+        case 0xE3: 
+        case 0xE5: 
+        case 0xEE:
+        ch ++;
+        break;
+        case 0xF5:
+        ch = 0x30AB;
+        break;
+        case 0xF6:
+        ch = 0x30B1;
+        break;
+        }
+    }
+    return ch;
+    }
+    
+    /**
+     * Converts a char to the lowercase Kana
+     * @param ch character to convert
+     * @return the converted Kana character
+     */
+    private static final char toSmallKana(char ch) 
+    {
+    if (0x3042 < ch && ch < 0x30ef) { // Kana range
+        switch (ch - 0x3000) {
+        case 0x42: 
+        case 0x44: 
+        case 0x46: 
+        case 0x48: 
+        case 0x4A: 
+        case 0x64: 
+        case 0x84: 
+        case 0x86: 
+        case 0x8F:
+        case 0xA2: 
+        case 0xA4: 
+        case 0xA6: 
+        case 0xA8: 
+        case 0xAA: 
+        case 0xC4: 
+        case 0xE4: 
+        case 0xE6: 
+        case 0xEF:
+        ch --;
+        break;
+        case 0xAB:
+        ch = 0x30F5;
+        break;
+        case 0xB1:
+        ch = 0x30F6;
+        break;
+        }
+    }
+    return ch;
+    }
+
+    /**
+     * This should be connected to special Jamo handling.
+     */
+    private int getFirstCE(char ch) 
+    {
+        m_utilColEIter_.setText(UCharacter.toString(ch));
+    return m_utilColEIter_.next();
+    }
+    
+    /** 
+     * This adds a read element, while testing for existence 
+     * @param t build table
+     * @param element 
+     * @return ce
+     */
+    private int addAnElement(BuildTable t, Elements element) 
+    {
+        Vector expansions = t.m_expansions_;
+        element.m_mapCE_ = 0;
+        
+        if (element.m_CELength_ == 1) {
+            element.m_mapCE_ = element.m_CEs_[0];
+
+        } else {     
+        // unfortunately, it looks like we have to look for a long primary 
+        // here since in canonical closure we are going to hit some long 
+        // primaries from the first phase, and they will come back as 
+        // continuations/expansions destroying the effect of the previous 
+        // opitimization. A long primary is a three byte primary with 
+        // starting secondaries and tertiaries. It can appear in long runs 
+        // of only primary differences (like east Asian tailorings) also, 
+        // it should not be an expansion, as expansions would break with 
+        // this
+        if (element.m_CELength_ == 2 // a two CE expansion 
+        && RuleBasedCollator.isContinuation(element.m_CEs_[1]) 
+        && (element.m_CEs_[1] 
+            & (~(0xFF << 24 | RuleBasedCollator.CE_CONTINUATION_MARKER_))) 
+        == 0 // that has only primaries in continuation
+        && (((element.m_CEs_[0] >> 8) & 0xFF) 
+            == RuleBasedCollator.BYTE_COMMON_) 
+        // a common secondary
+        && ((element.m_CEs_[0] & 0xFF) 
+            == RuleBasedCollator.BYTE_COMMON_) // and a common tertiary
+        ) {
+        element.m_mapCE_ = RuleBasedCollator.CE_SPECIAL_FLAG_ 
+            // a long primary special
+            | (CE_LONG_PRIMARY_TAG_ << 24) 
+            // first and second byte of primary
+            | ((element.m_CEs_[0] >> 8) & 0xFFFF00) 
+            // third byte of primary
+            | ((element.m_CEs_[1] >> 24) & 0xFF);   
+        } 
+        else {
+                // omitting expansion offset in builder
+                // (HEADER_SIZE_ >> 2)
+        int expansion = RuleBasedCollator.CE_SPECIAL_FLAG_ 
+            | (CE_EXPANSION_TAG_ 
+               << RuleBasedCollator.CE_TAG_SHIFT_) 
+            | (addExpansion(expansions, element.m_CEs_[0])
+               << 4) & 0xFFFFF0;
+    
+        for (int i = 1; i < element.m_CELength_; i ++) {
+            addExpansion(expansions, element.m_CEs_[i]);
+        }
+        if (element.m_CELength_ <= 0xF) {
+            expansion |= element.m_CELength_;
+        } 
+        else {
+            addExpansion(expansions, 0);
+        }
+        element.m_mapCE_ = expansion;
+        setMaxExpansion(element.m_CEs_[element.m_CELength_ - 1],
+                (byte)element.m_CELength_, 
+                t.m_maxExpansions_);
+        if (isJamo(element.m_cPoints_.charAt(0))){
+            t.m_collator_.m_isJamoSpecial_ = true;
+            setMaxJamoExpansion(element.m_cPoints_.charAt(0),
+                    element.m_CEs_[element.m_CELength_ 
+                              - 1],
+                    (byte)element.m_CELength_,
+                    t.m_maxJamoExpansions_);
+        }
+        }
+    }
+        
+        // We treat digits differently - they are "uber special" and should be
+        // processed differently if numeric collation is on. 
+        int uniChar = 0;
+        if ((element.m_uchars_.length() == 2) 
+            && UTF16.isLeadSurrogate(element.m_uchars_.charAt(0))) {
+            uniChar = UCharacterProperty.getRawSupplementary(
+                                 element.m_uchars_.charAt(0), 
+                                 element.m_uchars_.charAt(1));      
+        } 
+        else if (element.m_uchars_.length() == 1) {
+            uniChar = element.m_uchars_.charAt(0);
+        }
+        
+        // Here, we either have one normal CE OR mapCE is set. Therefore, we 
+        // stuff only one element to the expansion buffer. When we encounter a 
+        // digit and we don't do numeric collation, we will just pick the CE 
+        // we have and break out of case (see ucol.cpp ucol_prv_getSpecialCE 
+        // && ucol_prv_getSpecialPrevCE). If we picked a special, further 
+        // processing will occur. If it's a simple CE, we'll return due
+        // to how the loop is constructed.
+        if (uniChar != 0 && UCharacter.isDigit(uniChar)) {
+            // prepare the element
+            int expansion = RuleBasedCollator.CE_SPECIAL_FLAG_ 
+        | (CollationElementIterator.CE_DIGIT_TAG_
+           << RuleBasedCollator.CE_TAG_SHIFT_) | 1; 
+            if (element.m_mapCE_ != 0) { 
+                // if there is an expansion, we'll pick it here
+                expansion |= (addExpansion(expansions, element.m_mapCE_) << 4);
+            } 
+            else {
+                expansion |= (addExpansion(expansions, element.m_CEs_[0]) << 4);
+            }
+            element.m_mapCE_ = expansion;
+        }
+    
+    // here we want to add the prefix structure.
+    // I will try to process it as a reverse contraction, if possible.
+    // prefix buffer is already reversed.
+    
+    if (element.m_prefixChars_ != null &&
+            element.m_prefixChars_.length() - element.m_prefix_ > 0) {
+        // We keep the seen prefix starter elements in a hashtable we need 
+            // it to be able to distinguish between the simple codepoints and 
+            // prefix starters. Also, we need to use it for canonical closure.
+        m_utilElement2_.m_caseBit_ = element.m_caseBit_;
+            m_utilElement2_.m_CELength_ = element.m_CELength_;
+            m_utilElement2_.m_CEs_ = element.m_CEs_;
+            m_utilElement2_.m_mapCE_ = element.m_mapCE_;
+            //m_utilElement2_.m_prefixChars_ = element.m_prefixChars_;
+            m_utilElement2_.m_sizePrim_ = element.m_sizePrim_;
+            m_utilElement2_.m_sizeSec_ = element.m_sizeSec_;
+            m_utilElement2_.m_sizeTer_ = element.m_sizeTer_;
+            m_utilElement2_.m_variableTop_ = element.m_variableTop_;
+            m_utilElement2_.m_prefix_ = element.m_prefix_;
+            m_utilElement2_.m_prefixChars_ = Normalizer.compose(element.m_prefixChars_, false);
+            m_utilElement2_.m_uchars_ = element.m_uchars_;
+            m_utilElement2_.m_cPoints_ = element.m_cPoints_;
+            m_utilElement2_.m_cPointsOffset_ = 0;
+            
+        if (t.m_prefixLookup_ != null) {
+        Elements uCE = (Elements)t.m_prefixLookup_.get(element);
+        if (uCE != null) { 
+                    // there is already a set of code points here
+            element.m_mapCE_ = addPrefix(t, uCE.m_mapCE_, element);
+        } 
+                else { // no code points, so this spot is clean
+            element.m_mapCE_ = addPrefix(t, CE_NOT_FOUND_, element);
+            uCE = new Elements(element);
+            uCE.m_cPoints_ = uCE.m_uchars_;
+            t.m_prefixLookup_.put(uCE, uCE);
+        }
+        if (m_utilElement2_.m_prefixChars_.length() 
+            != element.m_prefixChars_.length() - element.m_prefix_
+                    || !m_utilElement2_.m_prefixChars_.regionMatches(0,
+                                     element.m_prefixChars_, element.m_prefix_,
+                                     m_utilElement2_.m_prefixChars_.length())) {
+            // do it!
+                    m_utilElement2_.m_mapCE_ = addPrefix(t, element.m_mapCE_, 
+                                                         m_utilElement2_);
+        }
+        }
+    }
+    
+    // We need to use the canonical iterator here
+    // the way we do it is to generate the canonically equivalent strings 
+    // for the contraction and then add the sequences that pass FCD check
+    if (element.m_cPoints_.length() - element.m_cPointsOffset_ > 1 
+        && !(element.m_cPoints_.length() - element.m_cPointsOffset_ == 2 
+         && UTF16.isLeadSurrogate(element.m_cPoints_.charAt(0)) 
+         && UTF16.isTrailSurrogate(element.m_cPoints_.charAt(1)))) { 
+            // this is a contraction, we should check whether a composed form 
+            // should also be included
+        m_utilCanIter_.setSource(element.m_cPoints_);
+        String source = m_utilCanIter_.next();
+        while (source != null && source.length() > 0) {
+        if (Normalizer.quickCheck(source, Normalizer.FCD,0) 
+                    != Normalizer.NO) {
+            element.m_uchars_ = source;
+            element.m_cPoints_ = element.m_uchars_;
+            finalizeAddition(t, element);
+        }
+        source = m_utilCanIter_.next();
+        }
+        
+        return element.m_mapCE_;
+    } 
+        else {
+        return finalizeAddition(t, element);  
+    }
+    }
+    
+    /**
+     * Adds an expansion ce to the expansion vector
+     * @param expansions vector to add to
+     * @param value of the expansion
+     * @return the current position of the new element
+     */
+    private static final int addExpansion(Vector expansions, int value) 
+    {
+    expansions.add(new Integer(value));
+    return expansions.size() - 1;
+    }
+    
+    /**
+     * Looks for the maximum length of all expansion sequences ending with the 
+     * same collation element. The size required for maxexpansion and maxsize 
+     * is returned if the arrays are too small.
+     * @param endexpansion the last expansion collation element to be added
+     * @param expansionsize size of the expansion
+     * @param maxexpansion data structure to store the maximum expansion data.
+     * @returns size of the maxexpansion and maxsize used.
+     */
+    private static int setMaxExpansion(int endexpansion, byte expansionsize,
+                       MaxExpansionTable maxexpansion)
+    {
+    int start = 0;
+    int limit = maxexpansion.m_endExpansionCE_.size();
+        long unsigned = (long)endexpansion;
+        unsigned &= 0xFFFFFFFFl;
+    
+    // using binary search to determine if last expansion element is 
+    // already in the array 
+    int result = -1;
+    while (start < limit - 1) {                                                
+        int mid = start + ((limit - start) >> 1);                                    
+            long unsignedce = ((Integer)maxexpansion.m_endExpansionCE_.get(
+                                       mid)).intValue(); 
+            unsignedce &= 0xFFFFFFFFl;
+        if (unsigned <= unsignedce) {                                                   
+        limit = mid;                                                           
+        }                                                                        
+        else {                                                                   
+        start = mid;                                                           
+        }                                                                        
+    } 
+          
+    if (((Integer)maxexpansion.m_endExpansionCE_.get(start)).intValue() 
+        == endexpansion) {                                                     
+        result = start;  
+    }                                                                          
+    else if (((Integer)maxexpansion.m_endExpansionCE_.get(limit)).intValue() 
+         == endexpansion) {                                                     
+        result = limit;      
+    }                                            
+    if (result > -1) {
+        // found the ce in expansion, we'll just modify the size if it 
+        // is smaller
+        Object currentsize = maxexpansion.m_expansionCESize_.get(result);
+        if (((Byte)currentsize).byteValue() < expansionsize) {
+        maxexpansion.m_expansionCESize_.set(result, 
+                            new Byte(expansionsize));
+        }
+    }
+    else {
+        // we'll need to squeeze the value into the array. initial 
+        // implementation. shifting the subarray down by 1
+        maxexpansion.m_endExpansionCE_.insertElementAt(
+                                                   new Integer(endexpansion),
+                                                   start + 1);
+        maxexpansion.m_expansionCESize_.insertElementAt(
+                                new Byte(expansionsize),
+                                start + 1);
+    }
+    return maxexpansion.m_endExpansionCE_.size();
+    }
+    
+    /**
+     * Sets the maximum length of all jamo expansion sequences ending with the 
+     * same collation element. The size required for maxexpansion and maxsize 
+     * is returned if the arrays are too small.
+     * @param ch the jamo codepoint
+     * @param endexpansion the last expansion collation element to be added
+     * @param expansionsize size of the expansion
+     * @param maxexpansion data structure to store the maximum expansion data.
+     * @returns size of the maxexpansion and maxsize used.
+     */
+    private static int setMaxJamoExpansion(char ch, int endexpansion,
+                       byte expansionsize,
+                       MaxJamoExpansionTable maxexpansion)
+    {
+    boolean isV = true;
+    if (ch >= 0x1100 && ch <= 0x1112) {
+        // determines L for Jamo, doesn't need to store this since it is 
+        // never at the end of a expansion
+        if (maxexpansion.m_maxLSize_ < expansionsize) {
+        maxexpansion.m_maxLSize_ = expansionsize;
+        }
+        return maxexpansion.m_endExpansionCE_.size();
+    }
+    
+    if (ch >= 0x1161 && ch <= 0x1175) {
+        // determines V for Jamo
+        if (maxexpansion.m_maxVSize_ < expansionsize) {
+        maxexpansion.m_maxVSize_ = expansionsize;
+        }
+    }
+    
+    if (ch >= 0x11A8 && ch <= 0x11C2) {
+        isV = false;
+        // determines T for Jamo
+        if (maxexpansion.m_maxTSize_ < expansionsize) {
+        maxexpansion.m_maxTSize_ = expansionsize;
+        }
+    }
+
+        int pos = maxexpansion.m_endExpansionCE_.size();    
+    while (pos > 0) {
+        pos --;
+        if (((Integer)maxexpansion.m_endExpansionCE_.get(pos)).intValue() 
+        == endexpansion) {
+        return maxexpansion.m_endExpansionCE_.size();
+        }
+    }
+    maxexpansion.m_endExpansionCE_.add(new Integer(endexpansion));
+    maxexpansion.m_isV_.add(new Boolean(isV));
+          
+    return maxexpansion.m_endExpansionCE_.size();
+    }
+    
+    /**
+     * Adds a prefix to the table
+     * @param t build table to update
+     * @param CE collation element to add
+     * @param element rule element to add
+     * @return modified ce
+     */
+    private int addPrefix(BuildTable t, int CE, Elements element) 
+    {
+    // currently the longest prefix we're supporting in Japanese is two 
+    // characters long. Although this table could quite easily mimic 
+    // complete contraction stuff there is no good reason to make a general 
+    // solution, as it would require some error prone messing.
+    ContractionTable contractions = t.m_contractions_;
+    String oldCP = element.m_cPoints_;
+    int oldCPOffset = element.m_cPointsOffset_;
+        
+    contractions.m_currentTag_ = CE_SPEC_PROC_TAG_;
+    // here, we will normalize & add prefix to the table.
+    int size = element.m_prefixChars_.length() - element.m_prefix_;
+    for (int j = 1; j < size; j ++) {   
+        // First add NFD prefix chars to unsafe CP hash table 
+        // Unless it is a trail surrogate, which is handled algoritmically 
+        // and shouldn't take up space in the table.
+        char ch = element.m_prefixChars_.charAt(j + element.m_prefix_);
+        if (!UTF16.isTrailSurrogate(ch)) {
+        unsafeCPSet(t.m_unsafeCP_, ch);
+        }
+    }
+        
+    // StringBuffer reversed = new StringBuffer();
+        m_utilStringBuffer_.delete(0, m_utilStringBuffer_.length());
+    for (int j = 0; j < size; j ++) { 
+        // prefixes are going to be looked up backwards
+        // therefore, we will promptly reverse the prefix buffer...
+        int offset = element.m_prefixChars_.length() - j - 1;
+        m_utilStringBuffer_.append(element.m_prefixChars_.charAt(offset));
+    }
+    element.m_prefixChars_ = m_utilStringBuffer_.toString();
+    element.m_prefix_ = 0;
+    
+    // the first codepoint is also unsafe, as it forms a 'contraction' with 
+    // the prefix
+    if (!UTF16.isTrailSurrogate(element.m_cPoints_.charAt(0))) {
+        unsafeCPSet(t.m_unsafeCP_, element.m_cPoints_.charAt(0));
+    }
+        
+    element.m_cPoints_ = element.m_prefixChars_;
+    element.m_cPointsOffset_ = element.m_prefix_;
+    
+    // Add the last char of the contraction to the contraction-end hash 
+    // table. unless it is a trail surrogate, which is handled 
+    // algorithmically and shouldn't be in the table
+    if (!UTF16.isTrailSurrogate(
+                    element.m_cPoints_.charAt(element.m_cPoints_.length() - 1))) {
+        ContrEndCPSet(t.m_contrEndCP_, element.m_cPoints_.charAt(
+                                     element.m_cPoints_.length() - 1));
+    }
+    // First we need to check if contractions starts with a surrogate
+    // int cp = UTF16.charAt(element.m_cPoints_, element.m_cPointsOffset_);
+    
+    // If there are any Jamos in the contraction, we should turn on special 
+    // processing for Jamos
+    if (isJamo(element.m_prefixChars_.charAt(element.m_prefix_))) {
+        t.m_collator_.m_isJamoSpecial_ = true;
+    }
+    // then we need to deal with it 
+    // we could aready have something in table - or we might not 
+    if (!isPrefix(CE)) { 
+        // if it wasn't contraction, we wouldn't end up here
+        int firstContractionOffset = addContraction(contractions, 
+                            CONTRACTION_TABLE_NEW_ELEMENT_, 
+                            (char)0, CE);
+        int newCE = processContraction(contractions, element, 
+                       CE_NOT_FOUND_);
+        addContraction(contractions, firstContractionOffset, 
+                           element.m_prefixChars_.charAt(element.m_prefix_), 
+                           newCE);
+        addContraction(contractions, firstContractionOffset, (char)0xFFFF, 
+                           CE);
+        CE = constructSpecialCE(CE_SPEC_PROC_TAG_, firstContractionOffset);
+    } 
+    else { 
+        // we are adding to existing contraction 
+        // there were already some elements in the table, so we need to add 
+        // a new contraction 
+        // Two things can happen here: either the codepoint is already in 
+        // the table, or it is not
+        char ch = element.m_prefixChars_.charAt(element.m_prefix_);
+        int position = findCP(contractions, CE, ch);
+        if (position > 0) {       
+        // if it is we just continue down the chain 
+        int eCE = getCE(contractions, CE, position);
+        int newCE = processContraction(contractions, element, eCE);
+        setContraction(contractions, CE, position, ch, newCE);
+        } 
+        else {                  
+        // if it isn't, we will have to create a new sequence 
+        processContraction(contractions, element, CE_NOT_FOUND_);
+        insertContraction(contractions, CE, ch, element.m_mapCE_);
+        }
+    }
+    
+    element.m_cPoints_ = oldCP;
+    element.m_cPointsOffset_ = oldCPOffset;
+    
+    return CE;
+    }
+    
+    /**
+     * Checks if the argument ce is a contraction
+     * @param CE collation element
+     * @return true if argument ce is a contraction
+     */
+    private static final boolean isContraction(int CE) 
+    {
+    return isSpecial(CE) && (getCETag(CE) == CE_CONTRACTION_TAG_);
+    }
+    
+    /**
+     * Checks if the argument ce has a prefix
+     * @param CE collation element
+     * @return true if argument ce has a prefix
+     */
+    private static final boolean isPrefix(int CE) 
+    {
+    return isSpecial(CE) && (getCETag(CE) == CE_SPEC_PROC_TAG_);
+    }
+    
+    /**
+     * Checks if the argument ce is special
+     * @param CE collation element
+     * @return true if argument ce is special
+     */
+    private static final boolean isSpecial(int CE) 
+    {
+    return (CE & RuleBasedCollator.CE_SPECIAL_FLAG_) == 0xF0000000;
+    }
+    
+    /**
+     * Checks if the argument ce has a prefix
+     * @param CE collation element
+     * @return true if argument ce has a prefix
+     */
+    private static final int getCETag(int CE) 
+    {
+    return (CE & RuleBasedCollator.CE_TAG_MASK_) >>> 
+        RuleBasedCollator.CE_TAG_SHIFT_;
+    }
+    
+    /**
+     * Gets the ce at position in contraction table
+     * @param table contraction table
+     * @param position offset to the contraction table
+     * @return ce
+     */
+    private static final int getCE(ContractionTable table, int element, 
+                   int position) 
+    {
+    element &= 0xFFFFFF;
+        BasicContractionTable tbl = getBasicContractionTable(table, element);
+        
+        if (tbl == null) {
+            return CE_NOT_FOUND_;
+        }
+    if (position > tbl.m_CEs_.size() || position == -1) {
+        return CE_NOT_FOUND_;
+    } 
+    else {
+        return ((Integer)tbl.m_CEs_.get(position)).intValue();
+    }
+    }
+    
+    /**
+     * Sets the unsafe character
+     * @param table unsafe table
+     * @param c character to be added
+     */
+    private static final void unsafeCPSet(byte table[], char c) 
+    {
+    int hash = c;
+    if (hash >= (UNSAFECP_TABLE_SIZE_ << 3)) {
+        if (hash >= 0xd800 && hash <= 0xf8ff) {
+        // Part of a surrogate, or in private use area. 
+        // These don't go in the table                            
+        return;
+        }
+        hash = (hash & UNSAFECP_TABLE_MASK_) + 256;
+    }
+    table[hash >> 3] |= (1 << (hash & 7));
+    }
+    
+    /**
+     * Sets the contraction end character
+     * @param table contraction end table
+     * @param c character to be added
+     */
+    private static final void ContrEndCPSet(byte table[], char c) 
+    {
+    int hash = c;
+    if (hash >= (UNSAFECP_TABLE_SIZE_ << 3)) {
+        hash = (hash & UNSAFECP_TABLE_MASK_) + 256;
+    }
+    table[hash >> 3] |= (1 << (hash & 7));
+    }
+    
+    /** 
+     * Adds more contractions in table. If element is non existant, it creates 
+     * on. Returns element handle 
+     * @param table contraction table
+     * @param element offset to the contraction table
+     * @param codePoint codepoint to add
+     * @param value
+     * @return collation element
+     */
+    private static int addContraction(ContractionTable table, int element, 
+                                      char codePoint, int value) 
+    {
+    BasicContractionTable tbl = getBasicContractionTable(table, element);
+    if (tbl == null) {
+        tbl = addAContractionElement(table);
+        element = table.m_elements_.size() - 1;
+    } 
+    
+    tbl.m_CEs_.add(new Integer(value));
+    tbl.m_codePoints_.append(codePoint);
+    return constructSpecialCE(table.m_currentTag_, element);
+    }
+
+    /**
+     * Adds a contraction element to the table
+     * @param table contraction table to update
+     * @return contraction 
+     */
+    private static BasicContractionTable addAContractionElement(
+                                ContractionTable table) 
+    {
+    BasicContractionTable result = new BasicContractionTable();
+    table.m_elements_.add(result);
+    return result;
+    }
+
+    /**
+     * Constructs a special ce
+     * @param tag special tag
+     * @param ce 
+     * @return a contraction ce
+     */
+    private static final int constructSpecialCE(int tag, int CE) 
+    {
+    return RuleBasedCollator.CE_SPECIAL_FLAG_ 
+        | (tag << RuleBasedCollator.CE_TAG_SHIFT_) | (CE & 0xFFFFFF);
+    }
+    
+    /**
+     * Sets and inserts the element that has a contraction
+     * @param contraction table 
+     * @param element contracting element
+     * @param existingCE
+     * @return contraction ce
+     */
+    private static int processContraction(ContractionTable contractions, 
+                      Elements element, 
+                      int existingCE) 
+    {
+    int firstContractionOffset = 0;
+    // end of recursion 
+    if (element.m_cPoints_.length() - element.m_cPointsOffset_ == 1) {
+        if (isContractionTableElement(existingCE) 
+        && getCETag(existingCE) == contractions.m_currentTag_) {
+        changeContraction(contractions, existingCE, (char)0, 
+                  element.m_mapCE_);
+        changeContraction(contractions, existingCE, (char)0xFFFF,
+                                  element.m_mapCE_);
+        return existingCE;
+        } 
+        else {
+        // can't do just that. existingCe might be a contraction, 
+        // meaning that we need to do another step
+        return element.m_mapCE_; 
+        }
+    }
+    
+    // this recursion currently feeds on the only element we have... 
+    // We will have to copy it in order to accomodate for both backward 
+    // and forward cycles
+    // we encountered either an empty space or a non-contraction element 
+    // this means we are constructing a new contraction sequence 
+    element.m_cPointsOffset_ ++;
+    if (!isContractionTableElement(existingCE)) { 
+        // if it wasn't contraction, we wouldn't end up here
+        firstContractionOffset = addContraction(contractions, 
+                            CONTRACTION_TABLE_NEW_ELEMENT_, 
+                            (char)0, existingCE);
+        int newCE = processContraction(contractions, element, 
+                       CE_NOT_FOUND_);
+        addContraction(contractions, firstContractionOffset, 
+               element.m_cPoints_.charAt(element.m_cPointsOffset_), 
+               newCE);
+        addContraction(contractions, firstContractionOffset, 
+               (char)0xFFFF, existingCE);
+        existingCE = constructSpecialCE(contractions.m_currentTag_, 
+                        firstContractionOffset);
+    } 
+    else { 
+        // we are adding to existing contraction
+        // there were already some elements in the table, so we need to add 
+        // a new contraction 
+        // Two things can happen here: either the codepoint is already in 
+        // the table, or it is not
+        int position = findCP(contractions, existingCE, 
+                  element.m_cPoints_.charAt(element.m_cPointsOffset_));
+        if (position > 0) {       
+        // if it is we just continue down the chain 
+        int eCE = getCE(contractions, existingCE, position);
+        int newCE = processContraction(contractions, element, eCE);
+        setContraction(contractions, existingCE, position, 
+                           element.m_cPoints_.charAt(element.m_cPointsOffset_), 
+                   newCE);
+        } 
+        else {  
+        // if it isn't, we will have to create a new sequence 
+        int newCE = processContraction(contractions, element, 
+                           CE_NOT_FOUND_);
+        insertContraction(contractions, existingCE, 
+                  element.m_cPoints_.charAt(element.m_cPointsOffset_), 
+                  newCE);
+        }
+    }
+    element.m_cPointsOffset_ --;
+    return existingCE;
+    }
+    
+    /**
+     * Checks if CE belongs to the contraction table
+     * @param CE collation element to test
+     * @return true if CE belongs to the contraction table
+     */
+    private static final boolean isContractionTableElement(int CE) 
+    { 
+    return isSpecial(CE) 
+        && (getCETag(CE) == CE_CONTRACTION_TAG_
+        || getCETag(CE) == CE_SPEC_PROC_TAG_);
+    }
+    
+    /**
+     * Gets the codepoint 
+     * @param table contraction table
+     * @param element offset to the contraction element in the table
+     * @param codePoint code point to look for
+     * @return the offset to the code point
+     */
+    private static int findCP(ContractionTable table, int element, 
+                  char codePoint) 
+    {
+    BasicContractionTable tbl = getBasicContractionTable(table, element);
+    if (tbl == null) {
+        return -1;
+    }
+    
+    int position = 0;
+    while (codePoint > tbl.m_codePoints_.charAt(position)) {
+        position ++;
+        if (position > tbl.m_codePoints_.length()) {
+        return -1;
+        }
+    }
+    if (codePoint == tbl.m_codePoints_.charAt(position)) {
+        return position;
+    } 
+    else {
+        return -1;
+    }
+    }
+
+    /**
+     * Gets the contraction element out of the contraction table
+     * @param table contraction table
+     * @param offset to the element in the contraction table
+     * @return basic contraction element at offset in the contraction table
+     */
+    private static final BasicContractionTable getBasicContractionTable(
+                                    ContractionTable table,
+                                    int offset) 
+    {
+        offset &= 0xFFFFFF;
+        if (offset == 0xFFFFFF) {
+        return null;
+        }
+    return (BasicContractionTable)table.m_elements_.get(offset);
+    }
+    
+    /**
+     * Changes the contraction element
+     * @param table contraction table
+     * @param element offset to the element in the contraction table
+     * @param codePoint codepoint 
+     * @param newCE new collation element
+     * @return basic contraction element at offset in the contraction table
+     */
+    private static final int changeContraction(ContractionTable table, 
+                                               int element, char codePoint, 
+                                               int newCE) 
+    {
+    BasicContractionTable tbl = getBasicContractionTable(table, element);    
+    if (tbl == null) {
+        return 0;
+    }
+    int position = 0;
+    while (codePoint > tbl.m_codePoints_.charAt(position)) {
+        position ++;
+        if (position > tbl.m_codePoints_.length()) {
+        return CE_NOT_FOUND_;
+        }
+    }
+    if (codePoint == tbl.m_codePoints_.charAt(position)) {
+        tbl.m_CEs_.set(position, new Integer(newCE));
+        return element & 0xFFFFFF;
+    } 
+    else {
+        return CE_NOT_FOUND_;
+    }
+    }
+    
+    /** 
+     * Sets a part of contraction sequence in table. If element is non 
+     * existant, it creates on. Returns element handle.
+     * @param table contraction table
+     * @param element offset to the contraction table
+     * @param offset
+     * @param codePoint contraction character
+     * @param value ce value
+     * @return new contraction ce
+     */
+    private static final int setContraction(ContractionTable table, 
+                                            int element, int offset, 
+                                            char codePoint, int value) 
+    {
+        element &= 0xFFFFFF;
+    BasicContractionTable tbl = getBasicContractionTable(table, element);    
+    if (tbl == null) {
+        tbl = addAContractionElement(table);
+        element = table.m_elements_.size() - 1;
+    }
+    
+    tbl.m_CEs_.set(offset, new Integer(value));
+    tbl.m_codePoints_.setCharAt(offset, codePoint);
+    return constructSpecialCE(table.m_currentTag_, element);
+    }
+    
+    /** 
+     * Inserts a part of contraction sequence in table. Sequences behind the 
+     * offset are moved back. If element is non existent, it creates on. 
+     * @param table contraction
+     * @param element offset to the table contraction
+     * @param codePoint code point
+     * @param value collation element value
+     * @return contraction collation element
+     */
+    private static final int insertContraction(ContractionTable table, 
+                                               int element, char codePoint, 
+                                               int value) 
+    {
+    element &= 0xFFFFFF;
+    BasicContractionTable tbl = getBasicContractionTable(table, element);
+    if (tbl == null) {
+        tbl = addAContractionElement(table);
+        element = table.m_elements_.size() - 1;
+    }
+    
+    int offset = 0;
+    while (tbl.m_codePoints_.charAt(offset) < codePoint 
+           && offset < tbl.m_codePoints_.length()) {
+        offset ++;
+    }
+    
+    tbl.m_CEs_.insertElementAt(new Integer(value), offset);
+    tbl.m_codePoints_.insert(offset, codePoint);
+    
+    return constructSpecialCE(table.m_currentTag_, element);
+    }
+    
+    /**
+     * Finalize addition
+     * @param t build table
+     * @param element to add
+     */
+    private final static int finalizeAddition(BuildTable t, Elements element) 
+    {
+    int CE = CE_NOT_FOUND_;
+        // This should add a completely ignorable element to the  
+        // unsafe table, so that backward iteration will skip 
+        // over it when treating contractions. 
+        if (element.m_mapCE_ == 0) { 
+            for (int i = 0; i < element.m_cPoints_.length(); i ++) { 
+                char ch = element.m_cPoints_.charAt(i);
+                if (!UTF16.isTrailSurrogate(ch)) { 
+                    unsafeCPSet(t.m_unsafeCP_, ch); 
+                } 
+            } 
+        } 
+
+    if (element.m_cPoints_.length() - element.m_cPointsOffset_ > 1) { 
+        // we're adding a contraction
+        int cp = UTF16.charAt(element.m_cPoints_, element.m_cPointsOffset_);
+        CE = t.m_mapping_.getValue(cp);
+        CE = addContraction(t, CE, element);
+    } 
+    else { 
+        // easy case
+        CE = t.m_mapping_.getValue(element.m_cPoints_.charAt(
+                                 element.m_cPointsOffset_));
+        
+        if (CE != CE_NOT_FOUND_) {
+        if(isContractionTableElement(CE)) { 
+            // adding a non contraction element (thai, expansion, 
+            // single) to already existing contraction 
+            if (!isPrefix(element.m_mapCE_)) { 
+            // we cannot reenter prefix elements - as we are going 
+            // to create a dead loop
+            // Only expansions and regular CEs can go here... 
+            // Contractions will never happen in this place
+            setContraction(t.m_contractions_, CE, 0, (char)0, 
+                       element.m_mapCE_);
+            // This loop has to change the CE at the end of 
+            // contraction REDO!
+            changeLastCE(t.m_contractions_, CE, element.m_mapCE_);
+            }
+        } 
+        else {
+            t.m_mapping_.setValue(element.m_cPoints_.charAt(
+                                    element.m_cPointsOffset_), 
+                      element.m_mapCE_);
+        }
+        } 
+        else {
+        t.m_mapping_.setValue(element.m_cPoints_.charAt(
+                                element.m_cPointsOffset_), 
+                                      element.m_mapCE_);
+        }
+    }
+    return CE;
+    }
+    
+    /** 
+     * Note regarding surrogate handling: We are interested only in the single
+     * or leading surrogates in a contraction. If a surrogate is somewhere else
+     * in the contraction, it is going to be handled as a pair of code units,
+     * as it doesn't affect the performance AND handling surrogates specially
+     * would complicate code way too much.
+     */
+    private static int addContraction(BuildTable t, int CE, Elements element) 
+    {
+    ContractionTable contractions = t.m_contractions_;
+    contractions.m_currentTag_ = CE_CONTRACTION_TAG_;
+    
+    // First we need to check if contractions starts with a surrogate
+    int cp = UTF16.charAt(element.m_cPoints_, 0);
+    int cpsize = 1;
+    if (UCharacter.isSupplementary(cp)) {
+        cpsize = 2;
+    }
+    if (cpsize < element.m_cPoints_.length()) { 
+        // This is a real contraction, if there are other characters after 
+        // the first
+        int size = element.m_cPoints_.length() - element.m_cPointsOffset_;
+        for (int j = 1; j < size; j ++) {   
+        // First add contraction chars to unsafe CP hash table 
+        // Unless it is a trail surrogate, which is handled 
+        // algoritmically and shouldn't take up space in the table.
+        if (!UTF16.isTrailSurrogate(element.m_cPoints_.charAt(
+                                      element.m_cPointsOffset_ + j))) {
+            unsafeCPSet(t.m_unsafeCP_, 
+                element.m_cPoints_.charAt(
+                              element.m_cPointsOffset_ + j));
+        }
+        }
+        // Add the last char of the contraction to the contraction-end 
+        // hash table. unless it is a trail surrogate, which is handled 
+        // algorithmically and shouldn't be in the table
+        if (!UTF16.isTrailSurrogate(element.m_cPoints_.charAt(
+                                  element.m_cPoints_.length() -1))) {
+        ContrEndCPSet(t.m_contrEndCP_, 
+                  element.m_cPoints_.charAt(
+                            element.m_cPoints_.length() -1));
+        }
+    
+        // If there are any Jamos in the contraction, we should turn on 
+        // special processing for Jamos
+        if (isJamo(element.m_cPoints_.charAt(element.m_cPointsOffset_))) {
+        t.m_collator_.m_isJamoSpecial_ = true;
+        }
+        // then we need to deal with it 
+        // we could aready have something in table - or we might not 
+        element.m_cPointsOffset_ += cpsize;
+        if (!isContraction(CE)) { 
+        // if it wasn't contraction, we wouldn't end up here
+        int firstContractionOffset = addContraction(contractions, 
+                                CONTRACTION_TABLE_NEW_ELEMENT_, (char)0, CE);
+        int newCE = processContraction(contractions, element, 
+                           CE_NOT_FOUND_);
+        addContraction(contractions, firstContractionOffset, 
+                   element.m_cPoints_.charAt(element.m_cPointsOffset_), 
+                   newCE);
+        addContraction(contractions, firstContractionOffset, 
+                               (char)0xFFFF, CE);
+        CE = constructSpecialCE(CE_CONTRACTION_TAG_, 
+                    firstContractionOffset);
+        } 
+        else { 
+        // we are adding to existing contraction 
+        // there were already some elements in the table, so we need to 
+        // add a new contraction
+        // Two things can happen here: either the codepoint is already 
+        // in the table, or it is not 
+        int position = findCP(contractions, CE, 
+                      element.m_cPoints_.charAt(element.m_cPointsOffset_));
+        if (position > 0) {       
+            // if it is we just continue down the chain
+            int eCE = getCE(contractions, CE, position);
+            int newCE = processContraction(contractions, element, eCE);
+            setContraction(contractions, CE, position, 
+                   element.m_cPoints_.charAt(element.m_cPointsOffset_), 
+                   newCE);
+        } 
+        else {                  
+            // if it isn't, we will have to create a new sequence 
+            int newCE = processContraction(contractions, element, 
+                           CE_NOT_FOUND_);
+            insertContraction(contractions, CE, 
+                      element.m_cPoints_.charAt(element.m_cPointsOffset_), 
+                                      newCE);
+        }
+        }
+        element.m_cPointsOffset_ -= cpsize;
+        t.m_mapping_.setValue(cp, CE);
+    } 
+    else if (!isContraction(CE)) { 
+        // this is just a surrogate, and there is no contraction 
+        t.m_mapping_.setValue(cp, element.m_mapCE_);
+    } 
+    else { 
+        // fill out the first stage of the contraction with the surrogate 
+        // CE 
+        changeContraction(contractions, CE, (char)0, element.m_mapCE_);
+        changeContraction(contractions, CE, (char)0xFFFF, element.m_mapCE_);
+    }
+    return CE;
+    }
+    
+    /** 
+     * this is for adding non contractions 
+     * @param table contraction table
+     * @param element offset to the contraction table
+     * @param value collation element value
+     * @return new collation element 
+     */
+    private static final int changeLastCE(ContractionTable table, int element, 
+                                          int value) 
+    {
+    BasicContractionTable tbl = getBasicContractionTable(table, element);
+    if (tbl == null) {
+        return 0;
+    }
+    
+    tbl.m_CEs_.set(tbl.m_CEs_.size() - 1, new Integer(value));
+    return constructSpecialCE(table.m_currentTag_, element & 0xFFFFFF);
+    }
+    
+    /**
+     * Given a set of ranges calculated by allocWeights(), iterate through the 
+     * weights. Sets the next weight in cegenerator.m_current_.
+     * @param cegenerator object that contains ranges weight range array and
+     *        its rangeCount
+     * @return the next weight
+     */
+    private static int nextWeight(CEGenerator cegenerator) 
+    {
+        if (cegenerator.m_rangesLength_ > 0) {
+            // get maxByte from the .count field
+            int maxByte = cegenerator.m_ranges_[0].m_count_;
+            // get the next weight 
+            int weight = cegenerator.m_ranges_[0].m_start_;
+            if (weight == cegenerator.m_ranges_[0].m_end_) {
+                // this range is finished, remove it and move the following 
+                // ones up 
+                cegenerator.m_rangesLength_ --;
+                if (cegenerator.m_rangesLength_ > 0) {
+                    System.arraycopy(cegenerator.m_ranges_, 1, 
+                                     cegenerator.m_ranges_, 0, 
+                                     cegenerator.m_rangesLength_);
+                    cegenerator.m_ranges_[0].m_count_ = maxByte; 
+                    // keep maxByte in ranges[0]
+                }
+            } 
+            else {
+                // increment the weight for the next value
+                cegenerator.m_ranges_[0].m_start_ 
+            = incWeight(weight, cegenerator.m_ranges_[0].m_length2_, 
+                maxByte);
+            }
+            return weight;
+        }
+        return -1;
+    }
+    
+    /**
+     * Increment the collation weight
+     * @param weight to increment
+     * @param length
+     * @param maxByte
+     * @return new incremented weight
+     */
+    private static final int incWeight(int weight, int length, int maxByte) 
+    {
+        while (true) {
+            int b = getWeightByte(weight, length);
+            if (b < maxByte) {
+                return setWeightByte(weight, length, b + 1);
+            } 
+            else {
+                // roll over, set this byte to BYTE_FIRST_TAILORED_ and 
+                // increment the previous one
+                weight = setWeightByte(weight, length, 
+                                       RuleBasedCollator.BYTE_FIRST_TAILORED_);
+                -- length;
+            }
+        }
+    }
+    
+    /**
+     * Gets the weight byte
+     * @param weight
+     * @param index
+     * @return byte
+     */
+    private static final int getWeightByte(int weight, int index) 
+    {
+        return (weight >> ((4 - index) << 3)) & 0xff;
+    }
+    
+    /**
+     * Set the weight byte in table
+     * @param weight 
+     * @param index
+     * @param b byte
+     */
+    private static final int setWeightByte(int weight, int index, int b) 
+    {
+        index <<= 3;
+        // 0xffffffff except a 00 "hole" for the index-th byte
+        int mask = 0xffffffff >>> index;
+        index = 32 - index;
+        mask |= 0xffffff00 << index;
+        return (weight & mask) | (b << index);
+    }
+    
+    /**
+     * Call getWeightRanges and then determine heuristically which ranges to 
+     * use for a given number of weights between (excluding) two limits
+     * @param lowerlimit
+     * @param upperlimit
+     * @param n
+     * @param maxByte
+     * @param ranges
+     * @return
+     */
+    private int allocateWeights(int lowerLimit, int upperLimit, int n,
+                                int maxByte, WeightRange ranges[]) 
+    {
+        // number of usable byte values 3..maxByte
+        int countBytes = maxByte - RuleBasedCollator.BYTE_FIRST_TAILORED_ + 1;
+        // [0] unused, [5] to make index checks unnecessary, m_utilCountBuffer_
+        // countBytes to the power of index, m_utilLongBuffer_ for unsignedness
+        // gcc requires explicit initialization 
+        m_utilLongBuffer_[0] = 1;
+        m_utilLongBuffer_[1] = countBytes;
+        m_utilLongBuffer_[2] = m_utilLongBuffer_[1] * countBytes;
+        m_utilLongBuffer_[3] = m_utilLongBuffer_[2] * countBytes;
+        m_utilLongBuffer_[4] = m_utilLongBuffer_[3] * countBytes;
+        int rangeCount = getWeightRanges(lowerLimit, upperLimit, maxByte, 
+                                         countBytes, ranges);
+        if (rangeCount <= 0) {
+            return 0;
+        }
+        // what is the maximum number of weights with these ranges?
+        long maxCount = 0;
+        for (int i = 0; i < rangeCount; ++ i) {
+            maxCount += (long)ranges[i].m_count_ 
+        * m_utilLongBuffer_[4 - ranges[i].m_length_];
+        }
+        if (maxCount < n) {
+            return 0;
+        }
+        // set the length2 and count2 fields
+        for (int i = 0; i < rangeCount; ++ i) {
+            ranges[i].m_length2_ = ranges[i].m_length_;
+            ranges[i].m_count2_ = ranges[i].m_count_;
+        }
+        // try until we find suitably large ranges
+        while (true) {
+            // get the smallest number of bytes in a range
+            int minLength = ranges[0].m_length2_;
+            // sum up the number of elements that fit into ranges of each byte 
+            // length
+            Arrays.fill(m_utilCountBuffer_, 0);
+            for (int i = 0; i < rangeCount; ++ i) {
+                m_utilCountBuffer_[ranges[i].m_length2_] += ranges[i].m_count2_;
+            }
+            // now try to allocate n elements in the available short ranges 
+            if (n <= m_utilCountBuffer_[minLength] 
+        + m_utilCountBuffer_[minLength + 1]) {
+                // trivial cases, use the first few ranges
+                maxCount = 0;
+                rangeCount = 0;
+                do {
+                    maxCount += ranges[rangeCount].m_count2_;
+                    ++ rangeCount;
+                } while (n > maxCount);
+                break;
+            } 
+            else if (n <= ranges[0].m_count2_ * countBytes) {
+                // easy case, just make this one range large enough by 
+                // lengthening it once more, possibly split it
+                rangeCount = 1;
+                // calculate how to split the range between maxLength-1 
+                // (count1) and maxLength (count2) 
+                long power_1 
+            = m_utilLongBuffer_[minLength - ranges[0].m_length_];
+                long power = power_1 * countBytes;
+                int count2 = (int)((n + power - 1) / power);
+                int count1 = ranges[0].m_count_ - count2;
+                // split the range
+                if (count1 < 1) {
+                    // lengthen the entire range to maxLength 
+                    lengthenRange(ranges, 0, maxByte, countBytes);
+                } 
+                else {
+                    // really split the range
+                    // create a new range with the end and initial and current 
+                    // length of the old one
+                    rangeCount = 2;
+                    ranges[1].m_end_ = ranges[0].m_end_;
+                    ranges[1].m_length_ = ranges[0].m_length_;
+                    ranges[1].m_length2_ = minLength;
+                    // set the end of the first range according to count1
+                    int i = ranges[0].m_length_;
+                    int b = getWeightByte(ranges[0].m_start_, i) + count1 - 1;
+                    // ranges[0].count and count1 may be >countBytes from 
+                    // merging adjacent ranges; b > maxByte is possible
+                    if (b <= maxByte) {
+                        ranges[0].m_end_ = setWeightByte(ranges[0].m_start_, i, 
+                                                         b);
+                    } 
+                    else {
+                        ranges[0].m_end_ = setWeightByte(
+                             incWeight(ranges[0].m_start_, i - 1, 
+                                   maxByte), 
+                             i, b - countBytes);
+                    }
+                    // set the bytes in the end weight at length + 1..length2 
+                    // to maxByte
+                    b = (maxByte << 24) | (maxByte << 16) | (maxByte << 8)
+                        | maxByte; // this used to be 0xffffffff 
+                    ranges[0].m_end_ = truncateWeight(ranges[0].m_end_, i) 
+            | (b >>> (i << 3)) 
+            & (b << ((4 - minLength) << 3));
+                    // set the start of the second range to immediately follow 
+                    // the end of the first one
+                    ranges[1].m_start_ = incWeight(ranges[0].m_end_, minLength, 
+                                                   maxByte);
+                    // set the count values (informational)
+                    ranges[0].m_count_ = count1;
+                    ranges[1].m_count_ = count2;
+    
+                    ranges[0].m_count2_ = (int)(count1 * power_1);
+                    // will be *countBytes when lengthened 
+                    ranges[1].m_count2_ = (int)(count2 * power_1); 
+    
+                    // lengthen the second range to maxLength
+                    lengthenRange(ranges, 1, maxByte, countBytes);
+                }
+                break;
+            }
+            // no good match, lengthen all minLength ranges and iterate 
+            for (int i=0; ranges[i].m_length2_ == minLength; ++ i) {
+                lengthenRange(ranges, i, maxByte, countBytes);
+            }
+        }
+    
+        if (rangeCount > 1) {
+            // sort the ranges by weight values 
+            Arrays.sort(ranges, 0, rangeCount);
+        }
+    
+        // set maxByte in ranges[0] for ucol_nextWeight()
+        ranges[0].m_count_ = maxByte;
+    
+        return rangeCount;
+    }
+    
+    /**
+     * Updates the range length
+     * @param range weight range array
+     * @param offset to weight range array
+     * @param maxByte
+     * @param countBytes
+     * @return new length
+     */
+    private static final int lengthenRange(WeightRange range[], int offset, 
+                                           int maxByte, int countBytes) 
+    {
+        int length = range[offset].m_length2_ + 1;
+        range[offset].m_start_ = setWeightTrail(range[offset].m_start_, length, 
+                        RuleBasedCollator.BYTE_FIRST_TAILORED_);
+        range[offset].m_end_ = setWeightTrail(range[offset].m_end_, length, 
+                                              maxByte);
+        range[offset].m_count2_ *= countBytes;
+        range[offset].m_length2_ = length;
+        return length;
+    }
+    
+    /**
+     * Gets the weight 
+     * @param weight
+     * @param length
+     * @param trail
+     * @return new weight
+     */
+    private static final int setWeightTrail(int weight, int length, int trail) 
+    {
+        length = (4 - length) << 3;
+        return (weight & (0xffffff00 << length)) | (trail << length);
+    }
+    
+    /**
+     * take two CE weights and calculate the
+     * possible ranges of weights between the two limits, excluding them
+     * for weights with up to 4 bytes there are up to 2*4-1=7 ranges
+     * @param lowerlimit
+     * @param upperlimit
+     * @param maxByte
+     * @param countBytes
+     * @param ranges
+     * @return weight ranges
+     */
+    private int getWeightRanges(int lowerLimit, int upperLimit, int maxByte, 
+                                int countBytes, WeightRange ranges[]) 
+    {
+        // assume that both lowerLimit & upperLimit are not 0 
+        // get the lengths of the limits 
+        int lowerLength = lengthOfWeight(lowerLimit);
+        int upperLength = lengthOfWeight(upperLimit);
+        if (Utility.compareUnsigned(lowerLimit, upperLimit) >= 0) {
+            return 0;
+        }
+        // check that neither is a prefix of the other
+        if (lowerLength < upperLength) {
+            if (lowerLimit == truncateWeight(upperLimit, lowerLength)) {
+                return 0;
+            }
+        }
+        // if the upper limit is a prefix of the lower limit then the earlier 
+        // test lowerLimit >= upperLimit has caught it
+        // reset local variables
+        // With the limit lengths of 1..4, there are up to 7 ranges for 
+        // allocation:
+        // range     minimum length
+        // lower[4]  4
+        // lower[3]  3
+        // lower[2]  2
+        // middle    1
+        // upper[2]  2
+        // upper[3]  3
+        // upper[4]  4
+        // We are now going to calculate up to 7 ranges.
+        // Some of them will typically overlap, so we will then have to merge 
+        // and eliminate ranges.
+        
+        // We have to clean cruft from previous invocations
+        // before doing anything. C++ already does that
+        for(int length = 0; length < 5; length++) {
+            m_utilLowerWeightRange_[length].clear();
+            m_utilUpperWeightRange_[length].clear();
+        }
+        m_utilWeightRange_.clear();
+        
+        int weight = lowerLimit;
+        for (int length = lowerLength; length >= 2; -- length) {
+            m_utilLowerWeightRange_[length].clear();
+            int trail = getWeightByte(weight, length);
+            if (trail < maxByte) {
+                m_utilLowerWeightRange_[length].m_start_ 
+            = incWeightTrail(weight, length);
+                m_utilLowerWeightRange_[length].m_end_ 
+            = setWeightTrail(weight, length, maxByte);
+                m_utilLowerWeightRange_[length].m_length_ = length;
+                m_utilLowerWeightRange_[length].m_count_ = maxByte - trail;
+            }
+            weight = truncateWeight(weight, length - 1);
+        }
+        m_utilWeightRange_.m_start_ = incWeightTrail(weight, 1);
+    
+        weight = upperLimit;
+        // [0] and [1] are not used - this simplifies indexing, 
+        // m_utilUpperWeightRange_
+        
+        for (int length = upperLength; length >= 2; length --) {
+            int trail = getWeightByte(weight, length);
+            if (trail > RuleBasedCollator.BYTE_FIRST_TAILORED_) {
+                m_utilUpperWeightRange_[length].m_start_ 
+            = setWeightTrail(weight, length, 
+                     RuleBasedCollator.BYTE_FIRST_TAILORED_);
+                m_utilUpperWeightRange_[length].m_end_ 
+            = decWeightTrail(weight, length);
+                m_utilUpperWeightRange_[length].m_length_ = length;
+                m_utilUpperWeightRange_[length].m_count_ = trail
+            - RuleBasedCollator.BYTE_FIRST_TAILORED_;
+            }
+            weight = truncateWeight(weight, length - 1);
+        }
+        m_utilWeightRange_.m_end_ = decWeightTrail(weight, 1);
+    
+        // set the middle range
+        m_utilWeightRange_.m_length_ = 1;
+        if (Utility.compareUnsigned(m_utilWeightRange_.m_end_, m_utilWeightRange_.m_start_) >= 0) {
+        //if (m_utilWeightRange_.m_end_ >= m_utilWeightRange_.m_start_) {
+            m_utilWeightRange_.m_count_ 
+        = ((m_utilWeightRange_.m_end_ - m_utilWeightRange_.m_start_) 
+           >>> 24) + 1;
+        } 
+        else {
+            // eliminate overlaps
+            // remove the middle range
+            m_utilWeightRange_.m_count_ = 0;
+            // reduce or remove the lower ranges that go beyond upperLimit
+            for (int length = 4; length >= 2; -- length) {
+                if (m_utilLowerWeightRange_[length].m_count_ > 0 
+                    && m_utilUpperWeightRange_[length].m_count_ > 0) {
+                    int start = m_utilUpperWeightRange_[length].m_start_;
+                    int end = m_utilLowerWeightRange_[length].m_end_;
+                    if (end >= start || incWeight(end, length, maxByte) 
+            == start) {
+                        // lower and upper ranges collide or are directly 
+                        // adjacent: merge these two and remove all shorter 
+                        // ranges
+                        start = m_utilLowerWeightRange_[length].m_start_;
+                        end = m_utilLowerWeightRange_[length].m_end_ 
+                            = m_utilUpperWeightRange_[length].m_end_;
+                        // merging directly adjacent ranges needs to subtract 
+                        // the 0/1 gaps in between;
+                        // it may result in a range with count>countBytes
+                        m_utilLowerWeightRange_[length].m_count_ 
+                = getWeightByte(end, length)
+                - getWeightByte(start, length) + 1 
+                + countBytes * (getWeightByte(end, length - 1)
+                        - getWeightByte(start, 
+                                length - 1));
+                        m_utilUpperWeightRange_[length].m_count_ = 0;
+                        while (-- length >= 2) {
+                            m_utilLowerWeightRange_[length].m_count_ 
+                                = m_utilUpperWeightRange_[length].m_count_ = 0;
+                        }
+                        break;
+                    }
+                }
+            }
+        }
+    
+        // copy the ranges, shortest first, into the result array 
+        int rangeCount = 0;
+        if (m_utilWeightRange_.m_count_ > 0) {
+            ranges[0] = new WeightRange(m_utilWeightRange_);
+            rangeCount = 1;
+        }
+        for (int length = 2; length <= 4; ++ length) {
+            // copy upper first so that later the middle range is more likely 
+            // the first one to use
+            if (m_utilUpperWeightRange_[length].m_count_ > 0) {
+                ranges[rangeCount] 
+            = new WeightRange(m_utilUpperWeightRange_[length]);
+                ++ rangeCount;
+            }
+            if (m_utilLowerWeightRange_[length].m_count_ > 0) {
+                ranges[rangeCount] 
+            = new WeightRange(m_utilLowerWeightRange_[length]);
+                ++ rangeCount;
+            }
+        }
+        return rangeCount;
+    }
+    
+    /**
+     * Truncates the weight with length
+     * @param weight
+     * @param length
+     * @return truncated weight
+     */
+    private static final int truncateWeight(int weight, int length) 
+    {
+        return weight & (0xffffffff << ((4 - length) << 3));
+    }
+    
+    /**
+     * Length of the weight
+     * @param weight
+     * @return length of the weight
+     */
+    private static final int lengthOfWeight(int weight) 
+    {
+        if ((weight & 0xffffff) == 0) {
+            return 1;
+        } 
+        else if ((weight & 0xffff) == 0) {
+            return 2;
+        } 
+        else if ((weight & 0xff) == 0) {
+            return 3;
+        } 
+        return 4;
+    }
+    
+    /**
+     * Increment the weight trail
+     * @param weight 
+     * @param length
+     * @return new weight
+     */
+    private static final int incWeightTrail(int weight, int length) 
+    {
+        return weight + (1 << ((4-length) << 3));
+    }
+
+    /**
+     * Decrement the weight trail
+     * @param weight 
+     * @param length
+     * @return new weight
+     */
+    private static int decWeightTrail(int weight, int length) 
+    {
+        return weight - (1 << ((4 - length) << 3));
+    }
+    
+    /**
+     * Gets the codepoint 
+     * @param table contraction table
+     * @param codePoint code point to look for
+     * @return the offset to the code point
+     */
+    private static int findCP(BasicContractionTable tbl, char codePoint) 
+    {
+        int position = 0;
+        while (codePoint > tbl.m_codePoints_.charAt(position)) {
+        position ++;
+        if (position > tbl.m_codePoints_.length()) {
+        return -1;
+        }
+        }
+        if (codePoint == tbl.m_codePoints_.charAt(position)) {
+            return position;
+        } 
+        else {
+            return -1;
+        }
+    }
+
+    /**
+     * Finds a contraction ce
+     * @param table
+     * @param element
+     * @param ch
+     * @return ce
+     */
+    private static int findCE(ContractionTable table, int element, char ch) 
+    {
+        if (table == null) {
+            return CE_NOT_FOUND_;
+        }
+        BasicContractionTable tbl = getBasicContractionTable(table, element);
+        if (tbl == null) {
+            return CE_NOT_FOUND_;
+        }
+        int position = findCP(tbl, ch);
+        if (position > tbl.m_CEs_.size() || position < 0) {
+            return CE_NOT_FOUND_;
+        } 
+        return ((Integer)tbl.m_CEs_.get(position)).intValue();
+    }    
+    
+    /**
+     * Checks if the string is tailored in the contraction
+     * @param table contraction table
+     * @param element 
+     * @param array character array to check
+     * @param offset array offset
+     * @return true if it is tailored
+     */
+    private static boolean isTailored(ContractionTable table, int element, 
+                                      char array[], int offset) 
+    {
+        while (array[offset] != 0) {
+            element = findCE(table, element, array[offset]);
+            if (element == CE_NOT_FOUND_) {
+                return false;
+            }
+            if (!isContractionTableElement(element)) {
+                return true;
+            }
+            offset ++;
+        }
+        if (getCE(table, element, 0) != CE_NOT_FOUND_) {
+            return true;
+        } 
+        else {
+            return false; 
+        }
+    }
+    
+    /**
+     * Assemble RuleBasedCollator
+     * @param t build table
+     * @param collator to update
+     */
+    private void assembleTable(BuildTable t, RuleBasedCollator collator) 
+    {
+        IntTrieBuilder mapping = t.m_mapping_;
+        Vector expansions = t.m_expansions_;
+        ContractionTable contractions = t.m_contractions_;
+        MaxExpansionTable maxexpansion = t.m_maxExpansions_;
+        
+        // contraction offset has to be in since we are building on the 
+        // UCA contractions 
+        // int beforeContractions = (HEADER_SIZE_ 
+        //                         + paddedsize(expansions.size() << 2)) >>> 1;
+        collator.m_contractionOffset_ = 0;
+        int contractionsSize = constructTable(contractions);
+        
+        // the following operation depends on the trie data. Therefore, we have 
+        // to do it before the trie is compacted 
+        // sets jamo expansions
+        getMaxExpansionJamo(mapping, maxexpansion, t.m_maxJamoExpansions_,
+                            collator.m_isJamoSpecial_);
+        
+        // TODO: LATIN1 array is now in the utrie - it should be removed from 
+        // the calculation
+        setAttributes(collator, t.m_options_);
+        // copy expansions
+        int size = expansions.size();
+        collator.m_expansion_ = new int[size];
+        for (int i = 0; i < size; i ++) {
+            collator.m_expansion_[i] = ((Integer)expansions.get(i)).intValue();
+        }
+        // contractions block 
+        if (contractionsSize != 0) {
+            // copy contraction index 
+            collator.m_contractionIndex_ = new char[contractionsSize];
+            contractions.m_codePoints_.getChars(0, contractionsSize, 
+                                                collator.m_contractionIndex_, 
+                                                0);
+            // copy contraction collation elements
+            collator.m_contractionCE_ = new int[contractionsSize];
+            for (int i = 0; i < contractionsSize; i ++) {
+                collator.m_contractionCE_[i] = ((Integer)
+                        contractions.m_CEs_.get(i)).intValue();
+            }
+        }
+        // copy mapping table
+        collator.m_trie_ = mapping.serialize(t, 
+                         RuleBasedCollator.DataManipulate.getInstance());
+        // copy max expansion table
+        // not copying the first element which is a dummy
+        // to be in synch with icu4c's builder, we continue to use the 
+        // expansion offset
+        // omitting expansion offset in builder
+        collator.m_expansionOffset_ = 0; 
+        size = maxexpansion.m_endExpansionCE_.size();
+        collator.m_expansionEndCE_ = new int[size - 1];
+        for (int i = 1; i < size; i ++) {
+            collator.m_expansionEndCE_[i - 1] = ((Integer)
+                         maxexpansion.m_endExpansionCE_.get(i)).intValue();
+        }
+        collator.m_expansionEndCEMaxSize_ = new byte[size - 1];
+        for (int i = 1; i < size; i ++) {
+            collator.m_expansionEndCEMaxSize_[i - 1] 
+        = ((Byte)maxexpansion.m_expansionCESize_.get(i)).byteValue();
+        }
+        // Unsafe chars table.  Finish it off, then copy it.
+        unsafeCPAddCCNZ(t);
+        // Or in unsafebits from UCA, making a combined table.
+        for (int i = 0; i < UNSAFECP_TABLE_SIZE_; i ++) {    
+        t.m_unsafeCP_[i] |= RuleBasedCollator.UCA_.m_unsafe_[i];
+        }
+        collator.m_unsafe_ = t.m_unsafeCP_;
+    
+        // Finish building Contraction Ending chars hash table and then copy it 
+        // out.
+        // Or in unsafebits from UCA, making a combined table
+        for (int i = 0; i < UNSAFECP_TABLE_SIZE_; i ++) {    
+        t.m_contrEndCP_[i] |= RuleBasedCollator.UCA_.m_contractionEnd_[i];
+        }
+        collator.m_contractionEnd_ = t.m_contrEndCP_;
+    }
+    
+    /**
+     * Sets this collator to use the all options and tables in UCA. 
+     * @param collator which attribute is to be set 
+     * @param option to set with
+     */
+    private static final void setAttributes(RuleBasedCollator collator,
+                        CollationRuleParser.OptionSet option)
+    {
+        collator.latinOneFailed_ = true;
+        collator.m_caseFirst_ = option.m_caseFirst_;
+        collator.setDecomposition(option.m_decomposition_);
+        collator.setAlternateHandlingShifted(
+                         option.m_isAlternateHandlingShifted_);
+        collator.setCaseLevel(option.m_isCaseLevel_);
+        collator.setFrenchCollation(option.m_isFrenchCollation_);
+        collator.m_isHiragana4_ = option.m_isHiragana4_;
+        collator.setStrength(option.m_strength_);
+        collator.m_variableTopValue_ = option.m_variableTopValue_;    
+        collator.latinOneFailed_ = false;
+    }
+    
+    /**
+     * Constructing the contraction table
+     * @param table contraction table
+     * @return 
+     */
+    private int constructTable(ContractionTable table) 
+    {
+        // See how much memory we need 
+        int tsize = table.m_elements_.size();
+        if (tsize == 0) {
+            return 0;
+        }
+        table.m_offsets_.clear();
+        int position = 0;
+        for (int i = 0; i < tsize; i ++) {
+            table.m_offsets_.add(new Integer(position));
+            position += ((BasicContractionTable)
+             table.m_elements_.get(i)).m_CEs_.size();
+        }
+        table.m_CEs_.clear();
+        table.m_codePoints_.delete(0, table.m_codePoints_.length());
+        // Now stuff the things in
+        StringBuffer cpPointer = table.m_codePoints_;
+        Vector CEPointer = table.m_CEs_;
+        for (int i = 0; i < tsize; i ++) {
+            BasicContractionTable bct = (BasicContractionTable)
+        table.m_elements_.get(i);
+            int size = bct.m_CEs_.size();
+            char ccMax = 0;
+            char ccMin = 255;
+            int offset = CEPointer.size();
+            CEPointer.add(bct.m_CEs_.get(0));
+            for (int j = 1; j < size; j ++) {
+                char ch = bct.m_codePoints_.charAt(j);
+                char cc = (char)(UCharacter.getCombiningClass(ch) & 0xFF);
+                if (cc > ccMax) {
+                    ccMax = cc;
+                }
+                if (cc < ccMin) {
+                    ccMin = cc;
+                }
+                cpPointer.append(ch);
+                CEPointer.add(bct.m_CEs_.get(j));
+            }
+            cpPointer.insert(offset, 
+                             (char)(((ccMin == ccMax) ? 1 : 0 << 8) | ccMax));
+            for (int j = 0; j < size; j ++) {
+                if (isContractionTableElement(((Integer)
+                           CEPointer.get(offset + j)).intValue())) {
+                    int ce = ((Integer)CEPointer.get(offset + j)).intValue();
+                    CEPointer.set(offset + j, 
+                  new Integer(constructSpecialCE(getCETag(ce), 
+                                 ((Integer)table.m_offsets_.get(
+                                                getContractionOffset(ce))).intValue())));
+                }
+            }
+        }
+    
+        for (int i = 0; i <= 0x10FFFF; i ++) {
+            int CE = table.m_mapping_.getValue(i);
+            if (isContractionTableElement(CE)) {
+                CE = constructSpecialCE(getCETag(CE), 
+                                        ((Integer)table.m_offsets_.get(
+                                       getContractionOffset(CE))).intValue());
+                table.m_mapping_.setValue(i, CE);
+            }
+        }
+        return position;
+    }
+    
+    /**
+     * Get contraction offset
+     * @param ce collation element 
+     * @return contraction offset
+     */
+    private static final int getContractionOffset(int ce)
+    {
+        return ce & 0xFFFFFF;
+    }
+    
+    /**
+     * Gets the maximum Jamo expansion
+     * @param table trie table
+     * @param maxexpansion maximum expansion table
+     * @param maxjamoexpansion maximum jamo expansion table
+     * @param jamospecial is jamo special?
+     */
+    private static void getMaxExpansionJamo(IntTrieBuilder mapping, 
+                                            MaxExpansionTable maxexpansion,
+                                            MaxJamoExpansionTable 
+                        maxjamoexpansion,
+                                            boolean jamospecial)
+    {
+        int VBASE  = 0x1161;
+        int TBASE  = 0x11A8;
+        int VCOUNT = 21;
+        int TCOUNT = 28;
+        int v = VBASE + VCOUNT - 1;
+        int t = TBASE + TCOUNT - 1;
+        
+        while (v >= VBASE) {
+            int ce = mapping.getValue(v);
+            if ((ce & RuleBasedCollator.CE_SPECIAL_FLAG_) 
+        != RuleBasedCollator.CE_SPECIAL_FLAG_) {
+                setMaxExpansion(ce, (byte)2, maxexpansion);
+            }
+            v --;
+        }
+        
+        while (t >= TBASE)
+        {
+        int ce = mapping.getValue(t);
+        if ((ce & RuleBasedCollator.CE_SPECIAL_FLAG_) 
+            != RuleBasedCollator.CE_SPECIAL_FLAG_) {
+            setMaxExpansion(ce, (byte)3, maxexpansion);
+        }
+        t --;
+        }
+        // According to the docs, 99% of the time, the Jamo will not be special 
+        if (jamospecial) {
+            // gets the max expansion in all unicode characters
+            int count = maxjamoexpansion.m_endExpansionCE_.size();
+            byte maxTSize = (byte)(maxjamoexpansion.m_maxLSize_ + 
+                                   maxjamoexpansion.m_maxVSize_ +
+                                   maxjamoexpansion.m_maxTSize_);
+            byte maxVSize = (byte)(maxjamoexpansion.m_maxLSize_ + 
+                                   maxjamoexpansion.m_maxVSize_);
+        
+            while (count > 0) {
+                count --;
+                if (((Boolean)maxjamoexpansion.m_isV_.get(count)).booleanValue()
+            == true) {
+                    setMaxExpansion(((Integer)
+                     maxjamoexpansion.m_endExpansionCE_.get(count)).intValue(), 
+                    maxVSize, maxexpansion);
+                }
+                else {
+                    setMaxExpansion(((Integer)
+                     maxjamoexpansion.m_endExpansionCE_.get(count)).intValue(), 
+                    maxTSize, maxexpansion);
+                }
+            }
+        }
+    }
+    
+    /**  
+     * To the UnsafeCP hash table, add all chars with combining class != 0     
+     * @param t build table
+     */
+    private static final void unsafeCPAddCCNZ(BuildTable t) 
+    {
+    
+        for (char c = 0; c < 0xffff; c ++) {
+            char fcd = NormalizerImpl.getFCD16(c);
+            if (fcd >= 0x100 || // if the leading combining class(c) > 0 ||
+                (UTF16.isLeadSurrogate(c) && fcd != 0)) {
+                // c is a leading surrogate with some FCD data
+                unsafeCPSet(t.m_unsafeCP_, c);
+            }
+        }
+    
+        if (t.m_prefixLookup_ != null) {
+            Enumeration els = t.m_prefixLookup_.elements();
+            while (els.hasMoreElements()) {
+                Elements e = (Elements)els.nextElement();
+                // codepoints here are in the NFD form. We need to add the
+                // first code point of the NFC form to unsafe, because 
+                // strcoll needs to backup over them.
+                // weiv: This is wrong! See the comment above.
+                //String decomp = Normalizer.decompose(e.m_cPoints_, true);
+                //unsafeCPSet(t.m_unsafeCP_, decomp.charAt(0));
+                // it should be:
+                String comp = Normalizer.compose(e.m_cPoints_, false);
+                unsafeCPSet(t.m_unsafeCP_, comp.charAt(0));
+            } 
+        }
+    }
+    
+    /**
+     * Create closure
+     * @param t build table
+     * @param collator RuleBasedCollator
+     * @param colEl collation element iterator
+     * @param start 
+     * @param limit
+     * @param type character type
+     * @return 
+     */
+    private boolean enumCategoryRangeClosureCategory(BuildTable t, 
+                             RuleBasedCollator collator, 
+                             CollationElementIterator colEl, 
+                             int start, int limit, int type) 
+    {
+        if (type != UCharacterCategory.UNASSIGNED 
+            && type != UCharacterCategory.PRIVATE_USE) { 
+            // if the range is assigned - we might ommit more categories later
+            
+            for (int u32 = start; u32 < limit; u32 ++) {
+                int noOfDec = NormalizerImpl.getDecomposition(u32, false,
+                                                              m_utilCharBuffer_, 
+                                                              0, 256);
+                if (noOfDec > 0) {
+                    // if we're positive, that means there is no decomposition
+                    String comp = UCharacter.toString(u32);
+                    String decomp = new String(m_utilCharBuffer_, 0, noOfDec);
+                    if (!collator.equals(comp, decomp)) {
+                        m_utilElement_.m_cPoints_ = decomp;
+                        m_utilElement_.m_prefix_ = 0;
+                        Elements prefix 
+                = (Elements)t.m_prefixLookup_.get(m_utilElement_);
+                        if (prefix == null) {
+                            m_utilElement_.m_cPoints_ = comp;
+                            m_utilElement_.m_prefix_ = 0;
+                            m_utilElement_.m_prefixChars_ = null;
+                            colEl.setText(decomp);
+                            int ce = colEl.next();
+                            m_utilElement_.m_CELength_ = 0;
+                            while (ce != CollationElementIterator.NULLORDER) {
+                                m_utilElement_.m_CEs_[
+                              m_utilElement_.m_CELength_ ++] 
+                    = ce;
+                                ce = colEl.next();
+                            }
+                        } 
+                        else {
+                            m_utilElement_.m_cPoints_ = comp;
+                            m_utilElement_.m_prefix_ = 0;
+                            m_utilElement_.m_prefixChars_ = null;
+                            m_utilElement_.m_CELength_ = 1;
+                            m_utilElement_.m_CEs_[0] = prefix.m_mapCE_;
+                            // This character uses a prefix. We have to add it 
+                            // to the unsafe table, as it decomposed form is 
+                            // already in. In Japanese, this happens for \u309e 
+                            // & \u30fe
+                            // Since unsafeCPSet is static in ucol_elm, we are 
+                            // going to wrap it up in the unsafeCPAddCCNZ 
+                            // function
+                        }
+                        addAnElement(t, m_utilElement_);
+                    }
+                }
+            }
+        }
+        return true;
+    }
+    
+    /**
+     * Determine if a character is a Jamo
+     * @param ch character to test
+     * @return true if ch is a Jamo, false otherwise
+     */
+    private static final boolean isJamo(char ch)
+    { 
+    return (ch >= 0x1100 && ch <= 0x1112) 
+        || (ch >= 0x1175 && ch <= 0x1161) 
+        || (ch >= 0x11A8 && ch <= 0x11C2);
+    }
+    
+    /**
+     * Produces canonical closure
+     */
+    private void canonicalClosure(BuildTable t) 
+    {
+        BuildTable temp = new BuildTable(t);
+        assembleTable(temp, temp.m_collator_);
+        // produce canonical closure 
+        CollationElementIterator coleiter 
+        = temp.m_collator_.getCollationElementIterator("");
+        RangeValueIterator typeiter = UCharacter.getTypeIterator();
+        RangeValueIterator.Element element = new RangeValueIterator.Element();
+        while (typeiter.next(element)) {
+            enumCategoryRangeClosureCategory(t, temp.m_collator_, coleiter, 
+                         element.start, element.limit, 
+                         element.value);
+        }
+    }
+    
+    private void processUCACompleteIgnorables(BuildTable t) 
+    {
+        TrieIterator trieiterator 
+        = new TrieIterator(RuleBasedCollator.UCA_.m_trie_);
+        RangeValueIterator.Element element = new RangeValueIterator.Element();
+        while (trieiterator.next(element)) {
+            int start = element.start;
+            int limit = element.limit;
+            if (element.value == 0) {
+                while (start < limit) {
+                    int CE = t.m_mapping_.getValue(start);
+                    if (CE == CE_NOT_FOUND_) {
+                        m_utilElement_.m_prefix_ = 0;
+                        m_utilElement_.m_uchars_ = UCharacter.toString(start);
+                        m_utilElement_.m_cPoints_ = m_utilElement_.m_uchars_;
+                        m_utilElement_.m_cPointsOffset_ = 0;
+                        m_utilElement_.m_CELength_ = 1;
+                        m_utilElement_.m_CEs_[0] = 0;
+                        addAnElement(t, m_utilElement_);
+                    }
+                    start ++;
+                }
+            }
+        }
+    }
+}
diff --git a/src/com/ibm/icu/text/CollationRuleParser.java b/src/com/ibm/icu/text/CollationRuleParser.java
new file mode 100644
index 0000000..f0f53eb
--- /dev/null
+++ b/src/com/ibm/icu/text/CollationRuleParser.java
@@ -0,0 +1,2070 @@
+/**
+*******************************************************************************
+* Copyright (C) 1996-2004, International Business Machines Corporation and    *
+* others. All Rights Reserved.                                                *
+*******************************************************************************
+*/
+package com.ibm.icu.text;
+
+import java.text.ParseException;
+import java.util.Hashtable;
+import java.util.Arrays;
+import com.ibm.icu.lang.UCharacter;
+import com.ibm.icu.impl.UCharacterProperty;
+
+/**
+* Class for parsing collation rules, produces a list of tokens that will be
+* turned into collation elements
+* @author Syn Wee Quek
+* @since release 2.2, June 7 2002
+* @draft 2.2
+*/
+final class CollationRuleParser
+{
+    // public data members ---------------------------------------------------
+
+    // package private constructors ------------------------------------------
+
+    /**
+     * <p>RuleBasedCollator constructor that takes the rules.
+     * Please see RuleBasedCollator class description for more details on the
+     * collation rule syntax.</p>
+     * @see java.util.Locale
+     * @param rules the collation rules to build the collation table from.
+     * @exception ParseException thrown when argument rules have an invalid
+     *            syntax.
+     * @draft 2.2
+     */
+    CollationRuleParser(String rules) throws ParseException
+    {
+        extractSetsFromRules(rules);
+        m_source_ = new StringBuffer(Normalizer.decompose(rules, false).trim());
+        m_rules_ = m_source_.toString();
+        m_current_ = 0;
+        m_extraCurrent_ = m_source_.length();
+        m_variableTop_ = null;
+        m_parsedToken_ = new ParsedToken();
+        m_hashTable_ = new Hashtable();
+        m_options_ = new OptionSet(RuleBasedCollator.UCA_);
+        m_listHeader_ = new TokenListHeader[512];
+        m_resultLength_ = 0;
+        // call assembleTokenList() manually, so that we can
+        // init a parser and manually parse tokens
+        //assembleTokenList();
+    }
+
+    // package private inner classes -----------------------------------------
+
+    /**
+     * Collation options set
+     */
+    static class OptionSet
+    {
+        // package private constructor ---------------------------------------
+
+        /**
+         * Initializes the option set with the argument collators
+         * @param collator option to use
+         */
+        OptionSet(RuleBasedCollator collator)
+        {
+            m_variableTopValue_ = collator.m_variableTopValue_;
+            m_isFrenchCollation_ = collator.isFrenchCollation();
+            m_isAlternateHandlingShifted_
+                                   = collator.isAlternateHandlingShifted();
+            m_caseFirst_ = collator.m_caseFirst_;
+            m_isCaseLevel_ = collator.isCaseLevel();
+            m_decomposition_ = collator.getDecomposition();
+            m_strength_ = collator.getStrength();
+            m_isHiragana4_ = collator.m_isHiragana4_;
+        }
+
+        // package private data members --------------------------------------
+
+        int m_variableTopValue_;
+        boolean m_isFrenchCollation_;
+        /**
+         * Attribute for handling variable elements
+         */
+        boolean m_isAlternateHandlingShifted_;
+        /**
+         * who goes first, lower case or uppercase
+         */
+        int m_caseFirst_;
+        /**
+         * do we have an extra case level
+         */
+        boolean m_isCaseLevel_;
+        /**
+         * attribute for normalization
+         */
+        int m_decomposition_;
+        /**
+         * attribute for strength
+         */
+        int m_strength_;
+        /**
+         * attribute for special Hiragana
+         */
+        boolean m_isHiragana4_;
+    };
+
+    /**
+     * List of tokens used by the collation rules
+     */
+    static class TokenListHeader
+    {
+        Token m_first_;
+        Token m_last_;
+        Token m_reset_;
+        boolean m_indirect_;
+        int m_baseCE_;
+        int m_baseContCE_;
+        int m_nextCE_;
+        int m_nextContCE_;
+        int m_previousCE_;
+        int m_previousContCE_;
+        int m_pos_[] = new int[Collator.IDENTICAL + 1];
+        int m_gapsLo_[] = new int[3 * (Collator.TERTIARY + 1)];
+        int m_gapsHi_[] = new int[3 * (Collator.TERTIARY + 1)];
+        int m_numStr_[] = new int[3 * (Collator.TERTIARY + 1)];
+        Token m_fStrToken_[] = new Token[Collator.TERTIARY + 1];
+        Token m_lStrToken_[] = new Token[Collator.TERTIARY + 1];
+    };
+
+    /**
+     * Token wrapper for collation rules
+     */
+    static class Token
+    {
+       // package private data members ---------------------------------------
+
+       int m_CE_[];
+       int m_CELength_;
+       int m_expCE_[];
+       int m_expCELength_;
+       int m_source_;
+       int m_expansion_;
+       int m_prefix_;
+       int m_strength_;
+       int m_toInsert_;
+       int m_polarity_; // 1 for <, <<, <<<, , ; and 0 for >, >>, >>>
+       TokenListHeader m_listHeader_;
+       Token m_previous_;
+       Token m_next_;
+       StringBuffer m_rules_;
+       char m_flags_;
+
+       // package private constructors ---------------------------------------
+
+       Token()
+       {
+           m_CE_ = new int[128];
+           m_expCE_ = new int[128];
+           // TODO: this should also handle reverse
+           m_polarity_ = TOKEN_POLARITY_POSITIVE_;
+           m_next_ = null;
+           m_previous_ = null;
+           m_CELength_ = 0;
+           m_expCELength_ = 0;
+       }
+
+       // package private methods --------------------------------------------
+
+       /**
+        * Hashcode calculation for token
+        * @return the hashcode
+        */
+       public int hashCode()
+       {
+           int result = 0;
+           int len = (m_source_ & 0xFF000000) >>> 24;
+           int inc = ((len - 32) / 32) + 1;
+
+           int start = m_source_ & 0x00FFFFFF;
+           int limit = start + len;
+
+           while (start < limit) {
+               result = (result * 37) + m_rules_.charAt(start);
+               start += inc;
+           }
+           return result;
+       }
+
+       /**
+        * Equals calculation
+        * @param target object to compare
+        * @return true if target is the same as this object
+        */
+       public boolean equals(Object target)
+       {
+           if (target == this) {
+               return true;
+           }
+           if (target instanceof Token) {
+               Token t = (Token)target;
+               int sstart = m_source_ & 0x00FFFFFF;
+               int tstart = t.m_source_ & 0x00FFFFFF;
+               int slimit = (m_source_ & 0xFF000000) >> 24;
+               int tlimit = (m_source_ & 0xFF000000) >> 24;
+
+               int end = sstart + slimit - 1;
+
+               if (m_source_ == 0 || t.m_source_ == 0) {
+                   return false;
+               }
+               if (slimit != tlimit) {
+                   return false;
+               }
+               if (m_source_ == t.m_source_) {
+                   return true;
+               }
+
+               while (sstart < end
+                      && m_rules_.charAt(sstart) == t.m_rules_.charAt(tstart))
+               {
+                   ++ sstart;
+                   ++ tstart;
+               }
+               if (m_rules_.charAt(sstart) == t.m_rules_.charAt(tstart)) {
+                   return true;
+               }
+           }
+           return false;
+        }
+    };
+
+    // package private data member -------------------------------------------
+
+    /**
+     * Indicator that the token is resetted yet, ie & in the rules
+     */
+    static final int TOKEN_RESET_ = 0xDEADBEEF;
+
+    /**
+     * Size of the number of tokens
+     */
+    int m_resultLength_;
+    /**
+     * List of parsed tokens
+     */
+    TokenListHeader m_listHeader_[];
+    /**
+     * Variable top token
+     */
+    Token m_variableTop_;
+    /**
+     * Collation options
+     */
+    OptionSet m_options_;
+    /**
+     * Normalized collation rules with some extra characters
+     */
+    StringBuffer m_source_;
+    /**
+     * Hash table to keep all tokens
+     */
+    Hashtable m_hashTable_;
+
+    // package private method ------------------------------------------------
+
+    void setDefaultOptionsInCollator(RuleBasedCollator collator)
+    {
+        collator.m_defaultStrength_ = m_options_.m_strength_;
+        collator.m_defaultDecomposition_ = m_options_.m_decomposition_;
+        collator.m_defaultIsFrenchCollation_ = m_options_.m_isFrenchCollation_;
+        collator.m_defaultIsAlternateHandlingShifted_
+                                    = m_options_.m_isAlternateHandlingShifted_;
+        collator.m_defaultIsCaseLevel_ = m_options_.m_isCaseLevel_;
+        collator.m_defaultCaseFirst_ = m_options_.m_caseFirst_;
+        collator.m_defaultIsHiragana4_ = m_options_.m_isHiragana4_;
+        collator.m_defaultVariableTopValue_ = m_options_.m_variableTopValue_;
+    }
+
+    // private inner classes -------------------------------------------------
+
+    /**
+     * This is a token that has been parsed but not yet processed. Used to
+     * reduce the number of arguments in the parser
+     */
+    private static class ParsedToken
+    {
+        // private constructor ----------------------------------------------
+
+        /**
+         * Empty constructor
+         */
+        ParsedToken()
+        {
+            m_charsLen_ = 0;
+            m_charsOffset_ = 0;
+            m_extensionLen_ = 0;
+            m_extensionOffset_ = 0;
+            m_prefixLen_ = 0;
+            m_prefixOffset_ = 0;
+            m_flags_ = 0;
+            m_strength_ = TOKEN_UNSET_;
+        }
+
+        // private data members ---------------------------------------------
+
+        int m_strength_;
+        int m_charsOffset_;
+        int m_charsLen_;
+        int m_extensionOffset_;
+        int m_extensionLen_;
+        int m_prefixOffset_;
+        int m_prefixLen_;
+        char m_flags_;
+        char m_indirectIndex_;
+    };
+
+    /**
+     * Boundary wrappers
+     */
+    private static class IndirectBoundaries
+    {
+        // package private constructor ---------------------------------------
+
+        IndirectBoundaries(int startce[], int limitce[])
+        {
+            // Set values for the top - TODO: once we have values for all the
+            // indirects, we are going to initalize here.
+            m_startCE_ = startce[0];
+            m_startContCE_ = startce[1];
+            if (limitce != null) {
+                m_limitCE_ = limitce[0];
+                m_limitContCE_ = limitce[1];
+            }
+            else {
+                m_limitCE_ = 0;
+                m_limitContCE_ = 0;
+            }
+        }
+
+        // package private data members --------------------------------------
+
+        int m_startCE_;
+        int m_startContCE_;
+        int m_limitCE_;
+        int m_limitContCE_;
+    };
+
+    /**
+     * Collation option rule tag
+     */
+    private static class TokenOption
+    {
+        // package private constructor ---------------------------------------
+
+        TokenOption(String name, int attribute, String suboptions[],
+                    int suboptionattributevalue[])
+        {
+            m_name_ = name;
+            m_attribute_ = attribute;
+            m_subOptions_ = suboptions;
+            m_subOptionAttributeValues_ = suboptionattributevalue;
+        }
+
+        // package private data member ---------------------------------------
+
+        private String m_name_;
+        private int m_attribute_;
+        private String m_subOptions_[];
+        private int m_subOptionAttributeValues_[];
+    };
+
+    // private variables -----------------------------------------------------
+
+    /**
+     * Current parsed token
+     */
+    private ParsedToken m_parsedToken_;
+    /**
+     * Collation rule
+     */
+    private String m_rules_;
+    private int m_current_;
+    /**
+     * End of the option while reading.
+     * Need it for UnicodeSet reading support.
+     */
+    private int m_optionEnd_;
+    /**
+     * Current offset in m_source
+     */
+    private int m_sourceLimit_;
+    /**
+     * Offset to m_source_ ofr the extra expansion characters
+     */
+    private int m_extraCurrent_;
+
+    /**
+     * UnicodeSet that contains code points to be copied from the UCA
+     */
+    UnicodeSet m_copySet_;
+
+    /**
+     * UnicodeSet that contains code points for which we want to remove
+     * UCA contractions. It implies copying of these code points from
+     * the UCA.
+     */
+    UnicodeSet m_removeSet_;
+    /**
+     * This is space for the extra strings that need to be unquoted during the
+     * parsing of the rules
+     */
+    private static final int TOKEN_EXTRA_RULE_SPACE_SIZE_ = 2048;
+    /**
+     * Indicator that the token is not set yet
+     */
+    private static final int TOKEN_UNSET_ = 0xFFFFFFFF;
+    /**
+     * Indicator that the rule is in the > polarity, ie everything on the
+     * right of the rule is less than
+     */
+    private static final int TOKEN_POLARITY_NEGATIVE_ = 0;
+    /**
+     * Indicator that the rule is in the < polarity, ie everything on the
+     * right of the rule is greater than
+     */
+    private static final int TOKEN_POLARITY_POSITIVE_ = 1;
+    /**
+     * Flag mask to determine if top is set
+     */
+    private static final int TOKEN_TOP_MASK_ = 0x04;
+    /**
+     * Flag mask to determine if variable top is set
+     */
+    private static final int TOKEN_VARIABLE_TOP_MASK_ = 0x08;
+    /**
+     * Flag mask to determine if a before attribute is set
+     */
+    private static final int TOKEN_BEFORE_ = 0x03;
+    /**
+     * For use in parsing token options
+     */
+    private static final int TOKEN_SUCCESS_MASK_ = 0x10;
+
+    /**
+     * These values are used for finding CE values for indirect positioning.
+     * Indirect positioning is a mechanism for allowing resets on symbolic
+     * values. It only works for resets and you cannot tailor indirect names.
+     * An indirect name can define either an anchor point or a range. An anchor
+     * point behaves in exactly the same way as a code point in reset would,
+     * except that it cannot be tailored. A range (we currently only know for
+     * the [top] range will explicitly set the upper bound for generated CEs,
+     * thus allowing for better control over how many CEs can be squeezed
+     * between in the range without performance penalty. In that respect, we use
+     * [top] for tailoring of locales that use CJK characters. Other indirect
+     * values are currently a pure convenience, they can be used to assure that
+     * the CEs will be always positioned in the same place relative to a point
+     * with known properties (e.g. first primary ignorable).
+     */
+    private static final IndirectBoundaries INDIRECT_BOUNDARIES_[];
+
+    /**
+     * Inverse UCA constants
+     */
+    private static final int INVERSE_SIZE_MASK_ = 0xFFF00000;
+    private static final int INVERSE_OFFSET_MASK_ = 0x000FFFFF;
+    private static final int INVERSE_SHIFT_VALUE_ = 20;
+
+    /**
+     * Collation option tags
+     * [last variable] last variable value
+     * [last primary ignorable] largest CE for primary ignorable
+     * [last secondary ignorable] largest CE for secondary ignorable
+     * [last tertiary ignorable] largest CE for tertiary ignorable
+     * [top] guaranteed to be above all implicit CEs, for now and in the future (in 1.8)
+     */
+    private static final TokenOption RULES_OPTIONS_[];
+
+    static
+    {
+        INDIRECT_BOUNDARIES_ = new IndirectBoundaries[15];
+        // UCOL_RESET_TOP_VALUE
+        INDIRECT_BOUNDARIES_[0] = new IndirectBoundaries(
+                        RuleBasedCollator.UCA_CONSTANTS_.LAST_NON_VARIABLE_,
+                        RuleBasedCollator.UCA_CONSTANTS_.FIRST_IMPLICIT_);
+        // UCOL_FIRST_PRIMARY_IGNORABLE
+        INDIRECT_BOUNDARIES_[1] = new IndirectBoundaries(
+                    RuleBasedCollator.UCA_CONSTANTS_.FIRST_PRIMARY_IGNORABLE_,
+                    null);
+        // UCOL_LAST_PRIMARY_IGNORABLE
+        INDIRECT_BOUNDARIES_[2] = new IndirectBoundaries(
+                    RuleBasedCollator.UCA_CONSTANTS_.LAST_PRIMARY_IGNORABLE_,
+                    null);
+
+        // UCOL_FIRST_SECONDARY_IGNORABLE
+        INDIRECT_BOUNDARIES_[3] = new IndirectBoundaries(
+                   RuleBasedCollator.UCA_CONSTANTS_.FIRST_SECONDARY_IGNORABLE_,
+                   null);
+        // UCOL_LAST_SECONDARY_IGNORABLE
+        INDIRECT_BOUNDARIES_[4] = new IndirectBoundaries(
+                   RuleBasedCollator.UCA_CONSTANTS_.LAST_SECONDARY_IGNORABLE_,
+                   null);
+        // UCOL_FIRST_TERTIARY_IGNORABLE
+        INDIRECT_BOUNDARIES_[5] = new IndirectBoundaries(
+                   RuleBasedCollator.UCA_CONSTANTS_.FIRST_TERTIARY_IGNORABLE_,
+                   null);
+        // UCOL_LAST_TERTIARY_IGNORABLE
+        INDIRECT_BOUNDARIES_[6] = new IndirectBoundaries(
+                   RuleBasedCollator.UCA_CONSTANTS_.LAST_TERTIARY_IGNORABLE_,
+                   null);
+        // UCOL_FIRST_VARIABLE;
+        INDIRECT_BOUNDARIES_[7] = new IndirectBoundaries(
+                   RuleBasedCollator.UCA_CONSTANTS_.FIRST_VARIABLE_,
+                   null);
+        // UCOL_LAST_VARIABLE
+        INDIRECT_BOUNDARIES_[8] = new IndirectBoundaries(
+                   RuleBasedCollator.UCA_CONSTANTS_.LAST_VARIABLE_,
+                   null);
+        // UCOL_FIRST_NON_VARIABLE
+        INDIRECT_BOUNDARIES_[9] = new IndirectBoundaries(
+                   RuleBasedCollator.UCA_CONSTANTS_.FIRST_NON_VARIABLE_,
+                   null);
+        // UCOL_LAST_NON_VARIABLE
+        INDIRECT_BOUNDARIES_[10] = new IndirectBoundaries(
+                   RuleBasedCollator.UCA_CONSTANTS_.LAST_NON_VARIABLE_,
+                   RuleBasedCollator.UCA_CONSTANTS_.FIRST_IMPLICIT_);
+        // UCOL_FIRST_IMPLICIT
+        INDIRECT_BOUNDARIES_[11] = new IndirectBoundaries(
+                   RuleBasedCollator.UCA_CONSTANTS_.FIRST_IMPLICIT_,
+                   null);
+        // UCOL_LAST_IMPLICIT
+        INDIRECT_BOUNDARIES_[12] = new IndirectBoundaries(
+                   RuleBasedCollator.UCA_CONSTANTS_.LAST_IMPLICIT_,
+                   RuleBasedCollator.UCA_CONSTANTS_.FIRST_TRAILING_);
+        // UCOL_FIRST_TRAILING
+        INDIRECT_BOUNDARIES_[13] = new IndirectBoundaries(
+                   RuleBasedCollator.UCA_CONSTANTS_.FIRST_TRAILING_,
+                   null);
+        // UCOL_LAST_TRAILING
+        INDIRECT_BOUNDARIES_[14] = new IndirectBoundaries(
+                   RuleBasedCollator.UCA_CONSTANTS_.LAST_TRAILING_,
+                   null);
+        INDIRECT_BOUNDARIES_[14].m_limitCE_
+                 = RuleBasedCollator.UCA_CONSTANTS_.PRIMARY_SPECIAL_MIN_ << 24;
+
+        RULES_OPTIONS_ = new TokenOption[19];
+        String option[] = {"non-ignorable", "shifted"};
+        int value[] = {RuleBasedCollator.AttributeValue.NON_IGNORABLE_,
+                       RuleBasedCollator.AttributeValue.SHIFTED_};
+        RULES_OPTIONS_[0] = new TokenOption("alternate",
+                              RuleBasedCollator.Attribute.ALTERNATE_HANDLING_,
+                              option, value);
+        option = new String[1];
+        option[0] = "2";
+        value = new int[1];
+        value[0] = RuleBasedCollator.AttributeValue.ON_;
+        RULES_OPTIONS_[1] = new TokenOption("backwards",
+                                 RuleBasedCollator.Attribute.FRENCH_COLLATION_,
+                                 option, value);
+        String offonoption[] = new String[2];
+        offonoption[0] = "off";
+        offonoption[1] = "on";
+        int offonvalue[] = new int[2];
+        offonvalue[0] = RuleBasedCollator.AttributeValue.OFF_;
+        offonvalue[1] = RuleBasedCollator.AttributeValue.ON_;
+        RULES_OPTIONS_[2] = new TokenOption("caseLevel",
+                                       RuleBasedCollator.Attribute.CASE_LEVEL_,
+                                       offonoption, offonvalue);
+        option = new String[3];
+        option[0] = "lower";
+        option[1] = "upper";
+        option[2] = "off";
+        value = new int[3];
+        value[0] = RuleBasedCollator.AttributeValue.LOWER_FIRST_;
+        value[1] = RuleBasedCollator.AttributeValue.UPPER_FIRST_;
+        value[2] = RuleBasedCollator.AttributeValue.OFF_;
+        RULES_OPTIONS_[3] = new TokenOption("caseFirst",
+                                       RuleBasedCollator.Attribute.CASE_FIRST_,
+                                       option, value);
+        RULES_OPTIONS_[4] = new TokenOption("normalization",
+                               RuleBasedCollator.Attribute.NORMALIZATION_MODE_,
+                               offonoption, offonvalue);
+        RULES_OPTIONS_[5] = new TokenOption("hiraganaQ",
+                         RuleBasedCollator.Attribute.HIRAGANA_QUATERNARY_MODE_,
+                         offonoption, offonvalue);
+        option = new String[5];
+        option[0] = "1";
+        option[1] = "2";
+        option[2] = "3";
+        option[3] = "4";
+        option[4] = "I";
+        value = new int[5];
+        value[0] = RuleBasedCollator.AttributeValue.PRIMARY_;
+        value[1] = RuleBasedCollator.AttributeValue.SECONDARY_;
+        value[2] = RuleBasedCollator.AttributeValue.TERTIARY_;
+        value[3] = RuleBasedCollator.AttributeValue.QUATERNARY_;
+        value[4] = RuleBasedCollator.AttributeValue.IDENTICAL_;
+        RULES_OPTIONS_[6] = new TokenOption("strength",
+                                         RuleBasedCollator.Attribute.STRENGTH_,
+                                         option, value);
+        RULES_OPTIONS_[7] = new TokenOption("variable top",
+                                  RuleBasedCollator.Attribute.LIMIT_,
+                                  null, null);
+        RULES_OPTIONS_[8] = new TokenOption("rearrange",
+                                  RuleBasedCollator.Attribute.LIMIT_,
+                                  null, null);
+        option = new String[3];
+        option[0] = "1";
+        option[1] = "2";
+        option[2] = "3";
+        value = new int[3];
+        value[0] = RuleBasedCollator.AttributeValue.PRIMARY_;
+        value[1] = RuleBasedCollator.AttributeValue.SECONDARY_;
+        value[2] = RuleBasedCollator.AttributeValue.TERTIARY_;
+        RULES_OPTIONS_[9] = new TokenOption("before",
+                                  RuleBasedCollator.Attribute.LIMIT_,
+                                  option, value);
+        RULES_OPTIONS_[10] = new TokenOption("top",
+                                  RuleBasedCollator.Attribute.LIMIT_,
+                                  null, null);
+        String firstlastoption[] = new String[7];
+        firstlastoption[0] = "primary";
+        firstlastoption[1] = "secondary";
+        firstlastoption[2] = "tertiary";
+        firstlastoption[3] = "variable";
+        firstlastoption[4] = "regular";
+        firstlastoption[5] = "implicit";
+        firstlastoption[6] = "trailing";
+
+        int firstlastvalue[] = new int[7];
+        Arrays.fill(firstlastvalue, RuleBasedCollator.AttributeValue.PRIMARY_);
+
+        RULES_OPTIONS_[11] = new TokenOption("first",
+                                  RuleBasedCollator.Attribute.LIMIT_,
+                                  firstlastoption, firstlastvalue);
+        RULES_OPTIONS_[12] = new TokenOption("last",
+                                  RuleBasedCollator.Attribute.LIMIT_,
+                                  firstlastoption, firstlastvalue);
+        RULES_OPTIONS_[13] = new TokenOption("optimize",
+                                  RuleBasedCollator.Attribute.LIMIT_,
+                                  null, null);
+        RULES_OPTIONS_[14] = new TokenOption("suppressContractions",
+                                  RuleBasedCollator.Attribute.LIMIT_,
+                                  null, null);
+        RULES_OPTIONS_[15] = new TokenOption("undefined",
+                                  RuleBasedCollator.Attribute.LIMIT_,
+                                  null, null);
+        RULES_OPTIONS_[16] = new TokenOption("scriptOrder",
+                                  RuleBasedCollator.Attribute.LIMIT_,
+                                  null, null);
+        RULES_OPTIONS_[17] = new TokenOption("charsetname",
+                                  RuleBasedCollator.Attribute.LIMIT_,
+                                  null, null);
+        RULES_OPTIONS_[18] = new TokenOption("charset",
+                                  RuleBasedCollator.Attribute.LIMIT_,
+                                  null, null);
+    };
+
+    /**
+     * Utility data members
+     */
+    private Token m_utilToken_ = new Token();
+    private CollationElementIterator m_UCAColEIter_
+                      = RuleBasedCollator.UCA_.getCollationElementIterator("");
+    private int m_utilCEBuffer_[] = new int[2];
+
+    // private methods -------------------------------------------------------
+
+    /**
+     * Assembles the token list
+     * @param
+     * @exception ParseException thrown when rules syntax fails
+     */
+    int assembleTokenList() throws ParseException
+    {
+        Token lastToken = null;
+        m_parsedToken_.m_strength_ = TOKEN_UNSET_;
+        int sourcelimit = m_source_.length();
+        int expandNext = 0;
+
+        while (m_current_ < sourcelimit) {
+            m_parsedToken_.m_prefixOffset_ = 0;
+            if (parseNextToken(lastToken == null) < 0) {
+                // we have reached the end
+                continue;
+            }
+            char specs = m_parsedToken_.m_flags_;
+            boolean variableTop = ((specs & TOKEN_VARIABLE_TOP_MASK_) != 0);
+            boolean top = ((specs & TOKEN_TOP_MASK_) != 0);
+            int lastStrength = TOKEN_UNSET_;
+            if (lastToken != null) {
+                lastStrength = lastToken.m_strength_;
+            }
+            m_utilToken_.m_source_ = m_parsedToken_.m_charsLen_ << 24
+                                             | m_parsedToken_.m_charsOffset_;
+            m_utilToken_.m_rules_ = m_source_;
+            // 4 Lookup each source in the CharsToToken map, and find a
+            // sourcetoken
+            Token sourceToken = (Token)m_hashTable_.get(m_utilToken_);
+            if (m_parsedToken_.m_strength_ != TOKEN_RESET_) {
+                if (lastToken == null) {
+                    // this means that rules haven't started properly
+                    throwParseException(m_source_.toString(), 0);
+                }
+                //  6 Otherwise (when relation != reset)
+                if (sourceToken == null) {
+                    // If sourceToken is null, create new one
+                    sourceToken = new Token();
+                     sourceToken.m_rules_ = m_source_;
+                    sourceToken.m_source_ = m_parsedToken_.m_charsLen_ << 24
+                                           | m_parsedToken_.m_charsOffset_;
+                    sourceToken.m_prefix_ = m_parsedToken_.m_prefixLen_ << 24
+                                           | m_parsedToken_.m_prefixOffset_;
+                    // TODO: this should also handle reverse
+                    sourceToken.m_polarity_ = TOKEN_POLARITY_POSITIVE_;
+                    sourceToken.m_next_ = null;
+                     sourceToken.m_previous_ = null;
+                    sourceToken.m_CELength_ = 0;
+                    sourceToken.m_expCELength_ = 0;
+                    m_hashTable_.put(sourceToken, sourceToken);
+                }
+                else {
+                    // we could have fished out a reset here
+                    if (sourceToken.m_strength_ != TOKEN_RESET_
+                        && lastToken != sourceToken) {
+                        // otherwise remove sourceToken from where it was.
+                        if (sourceToken.m_next_ != null) {
+                            if (sourceToken.m_next_.m_strength_
+                                                   > sourceToken.m_strength_) {
+                                sourceToken.m_next_.m_strength_
+                                                   = sourceToken.m_strength_;
+                            }
+                            sourceToken.m_next_.m_previous_
+                                                    = sourceToken.m_previous_;
+                        }
+                        else {
+                            sourceToken.m_listHeader_.m_last_
+                                                    = sourceToken.m_previous_;
+                        }
+                        if (sourceToken.m_previous_ != null) {
+                            sourceToken.m_previous_.m_next_
+                                                        = sourceToken.m_next_;
+                        }
+                        else {
+                            sourceToken.m_listHeader_.m_first_
+                                                        = sourceToken.m_next_;
+                        }
+                        sourceToken.m_next_ = null;
+                        sourceToken.m_previous_ = null;
+                    }
+                }
+                sourceToken.m_strength_ = m_parsedToken_.m_strength_;
+                sourceToken.m_listHeader_ = lastToken.m_listHeader_;
+
+                // 1.  Find the strongest strength in each list, and set
+                // strongestP and strongestN accordingly in the headers.
+                if (lastStrength == TOKEN_RESET_
+                    || sourceToken.m_listHeader_.m_first_ == null) {
+                    // If LAST is a reset insert sourceToken in the list.
+                    if (sourceToken.m_listHeader_.m_first_ == null) {
+                        sourceToken.m_listHeader_.m_first_ = sourceToken;
+                        sourceToken.m_listHeader_.m_last_ = sourceToken;
+                    }
+                    else { // we need to find a place for us
+                           // and we'll get in front of the same strength
+                        if (sourceToken.m_listHeader_.m_first_.m_strength_
+                                                 <= sourceToken.m_strength_) {
+                            sourceToken.m_next_
+                                          = sourceToken.m_listHeader_.m_first_;
+                            sourceToken.m_next_.m_previous_ = sourceToken;
+                            sourceToken.m_listHeader_.m_first_ = sourceToken;
+                            sourceToken.m_previous_ = null;
+                        }
+                        else {
+                            lastToken = sourceToken.m_listHeader_.m_first_;
+                            while (lastToken.m_next_ != null
+                                   && lastToken.m_next_.m_strength_
+                                                 > sourceToken.m_strength_) {
+                                lastToken = lastToken.m_next_;
+                            }
+                            if (lastToken.m_next_ != null) {
+                                lastToken.m_next_.m_previous_ = sourceToken;
+                            }
+                            else {
+                                sourceToken.m_listHeader_.m_last_
+                                                               = sourceToken;
+                            }
+                            sourceToken.m_previous_ = lastToken;
+                            sourceToken.m_next_ = lastToken.m_next_;
+                            lastToken.m_next_ = sourceToken;
+                        }
+                    }
+                }
+                else {
+                    // Otherwise (when LAST is not a reset)
+                    // if polarity (LAST) == polarity(relation), insert
+                    // sourceToken after LAST, otherwise insert before.
+                    // when inserting after or before, search to the next
+                    // position with the same strength in that direction.
+                    // (This is called postpone insertion).
+                    if (sourceToken != lastToken) {
+                        if (lastToken.m_polarity_ == sourceToken.m_polarity_) {
+                            while (lastToken.m_next_ != null
+                                   && lastToken.m_next_.m_strength_
+                                                   > sourceToken.m_strength_) {
+                                lastToken = lastToken.m_next_;
+                            }
+                            sourceToken.m_previous_ = lastToken;
+                            if (lastToken.m_next_ != null) {
+                                lastToken.m_next_.m_previous_ = sourceToken;
+                            }
+                            else {
+                                sourceToken.m_listHeader_.m_last_ = sourceToken;
+                            }
+                            sourceToken.m_next_ = lastToken.m_next_;
+                            lastToken.m_next_ = sourceToken;
+                        }
+                        else {
+                            while (lastToken.m_previous_ != null
+                                   && lastToken.m_previous_.m_strength_
+                                                > sourceToken.m_strength_) {
+                                lastToken = lastToken.m_previous_;
+                            }
+                            sourceToken.m_next_ = lastToken;
+                            if (lastToken.m_previous_ != null) {
+                                lastToken.m_previous_.m_next_ = sourceToken;
+                            }
+                            else {
+                                sourceToken.m_listHeader_.m_first_
+                                                                 = sourceToken;
+                            }
+                            sourceToken.m_previous_ = lastToken.m_previous_;
+                            lastToken.m_previous_ = sourceToken;
+                        }
+                    }
+                    else { // repeated one thing twice in rules, stay with the
+                           // stronger strength
+                        if (lastStrength < sourceToken.m_strength_) {
+                            sourceToken.m_strength_ = lastStrength;
+                        }
+                    }
+                }
+                // if the token was a variable top, we're gonna put it in
+                if (variableTop == true && m_variableTop_ == null) {
+                    variableTop = false;
+                    m_variableTop_ = sourceToken;
+                }
+                // Treat the expansions.
+                // There are two types of expansions: explicit (x / y) and
+                // reset based propagating expansions
+                // (&abc * d * e <=> &ab * d / c * e / c)
+                // if both of them are in effect for a token, they are combined.
+               sourceToken.m_expansion_ = m_parsedToken_.m_extensionLen_ << 24
+                                          | m_parsedToken_.m_extensionOffset_;
+               if (expandNext != 0) {
+                   if (sourceToken.m_strength_ == RuleBasedCollator.PRIMARY) {
+                       // primary strength kills off the implicit expansion
+                       expandNext = 0;
+                   }
+                   else if (sourceToken.m_expansion_ == 0) {
+                       // if there is no expansion, implicit is just added to
+                       // the token
+                       sourceToken.m_expansion_ = expandNext;
+                   }
+                   else {
+                       // there is both explicit and implicit expansion.
+                       // We need to make a combination
+                       int start = expandNext & 0xFFFFFF;
+                       int size = expandNext >>> 24;
+                       if (size > 0) {
+                          m_source_.append(m_source_.substring(start,
+                                                               start + size));
+                       }
+                          start = m_parsedToken_.m_extensionOffset_;
+                       m_source_.append(m_source_.substring(start,
+                                      start + m_parsedToken_.m_extensionLen_));
+                       sourceToken.m_expansion_ = (size
+                                       + m_parsedToken_.m_extensionLen_) << 24
+                                       | m_extraCurrent_;
+                       m_extraCurrent_ += size + m_parsedToken_.m_extensionLen_;
+                   }
+                }
+               // if the previous token was a reset before, the strength of this
+               // token must match the strength of before. Otherwise we have an
+               // undefined situation.
+               // In other words, we currently have a cludge which we use to
+               // represent &a >> x. This is written as &[before 2]a << x.
+               if((lastToken.m_flags_ & TOKEN_BEFORE_) != 0) {
+                   int beforeStrength = (lastToken.m_flags_ & TOKEN_BEFORE_) - 1;
+                   if(beforeStrength != sourceToken.m_strength_) {
+                          throwParseException(m_source_.toString(), m_current_);
+                   }
+               }
+
+            }
+            else {
+                if (lastToken != null && lastStrength == TOKEN_RESET_) {
+                    // if the previous token was also a reset, this means that
+                    // we have two consecutive resets and we want to remove the
+                    // previous one if empty
+                    if (m_listHeader_[m_resultLength_ - 1].m_first_ == null) {
+                        m_resultLength_ --;
+                    }
+                }
+                if (sourceToken == null) {
+                    // this is a reset, but it might still be somewhere in the
+                    // tailoring, in shorter form
+                    int searchCharsLen = m_parsedToken_.m_charsLen_;
+                    while (searchCharsLen > 1 && sourceToken == null) {
+                        searchCharsLen --;
+                        // key = searchCharsLen << 24 | charsOffset;
+                        m_utilToken_.m_source_ = searchCharsLen << 24
+                                             | m_parsedToken_.m_charsOffset_;
+                        m_utilToken_.m_rules_ = m_source_;
+                        sourceToken = (Token)m_hashTable_.get(m_utilToken_);
+                    }
+                    if (sourceToken != null) {
+                        expandNext = (m_parsedToken_.m_charsLen_
+                                                      - searchCharsLen) << 24
+                                        | (m_parsedToken_.m_charsOffset_
+                                           + searchCharsLen);
+                    }
+                }
+                if ((specs & TOKEN_BEFORE_) != 0) {
+                    if (top == false) {
+                        // we're doing before & there is no indirection
+                        int strength = (specs & TOKEN_BEFORE_) - 1;
+                        if (sourceToken != null
+                            && sourceToken.m_strength_ != TOKEN_RESET_) {
+                            // this is a before that is already ordered in the UCA
+                            // - so we need to get the previous with good strength
+                            while (sourceToken.m_strength_ > strength
+                                   && sourceToken.m_previous_ != null) {
+                                sourceToken = sourceToken.m_previous_;
+                            }
+                            // here, either we hit the strength or NULL
+                            if (sourceToken.m_strength_ == strength) {
+                                if (sourceToken.m_previous_ != null) {
+                                    sourceToken = sourceToken.m_previous_;
+                                }
+                                else { // start of list
+                                    sourceToken
+                                         = sourceToken.m_listHeader_.m_reset_;
+                                }
+                            }
+                            else { // we hit NULL, we should be doing the else part
+                                sourceToken
+                                         = sourceToken.m_listHeader_.m_reset_;
+                                sourceToken = getVirginBefore(sourceToken,
+                                                              strength);
+                            }
+                        }
+                        else {
+                            sourceToken
+                                      = getVirginBefore(sourceToken, strength);
+                        }
+                    }
+                    else {
+                        // this is both before and indirection
+                        top = false;
+                        m_listHeader_[m_resultLength_] = new TokenListHeader();
+                        m_listHeader_[m_resultLength_].m_previousCE_ = 0;
+                        m_listHeader_[m_resultLength_].m_previousContCE_ = 0;
+                        m_listHeader_[m_resultLength_].m_indirect_ = true;
+                        // we need to do slightly more work. we need to get the
+                        // baseCE using the inverse UCA & getPrevious. The next
+                        // bound is not set, and will be decided in ucol_bld
+                        int strength = (specs & TOKEN_BEFORE_) - 1;
+                        int baseCE = INDIRECT_BOUNDARIES_[
+                                   m_parsedToken_.m_indirectIndex_].m_startCE_;
+                        int baseContCE = INDIRECT_BOUNDARIES_[
+                               m_parsedToken_.m_indirectIndex_].m_startContCE_;
+                        int ce[] = new int[2];
+                        if((baseCE >>> 24 >= RuleBasedCollator.UCA_CONSTANTS_.PRIMARY_IMPLICIT_MIN_)
+                        && (baseCE >>> 24 <=  RuleBasedCollator.UCA_CONSTANTS_.PRIMARY_IMPLICIT_MAX_)) { /* implicits - */
+                            int primary = baseCE & RuleBasedCollator.CE_PRIMARY_MASK_ | (baseContCE & RuleBasedCollator.CE_PRIMARY_MASK_) >> 16;
+                            int raw = RuleBasedCollator.impCEGen_.getRawFromImplicit(primary);
+                            int primaryCE = RuleBasedCollator.impCEGen_.getImplicitFromRaw(raw-1);
+                            ce[0] = primaryCE & RuleBasedCollator.CE_PRIMARY_MASK_ | 0x0505;
+                            ce[1] = (primaryCE << 16) & RuleBasedCollator.CE_PRIMARY_MASK_ | RuleBasedCollator.CE_CONTINUATION_MARKER_;
+                        } else {
+                            CollationParsedRuleBuilder.InverseUCA invuca
+                                = CollationParsedRuleBuilder.INVERSE_UCA_;
+                            invuca.getInversePrevCE(baseCE, baseContCE, strength,
+                                    ce);
+                        }
+                        m_listHeader_[m_resultLength_].m_baseCE_ = ce[0];
+                        m_listHeader_[m_resultLength_].m_baseContCE_ = ce[1];
+                        m_listHeader_[m_resultLength_].m_nextCE_ = 0;
+                        m_listHeader_[m_resultLength_].m_nextContCE_ = 0;
+
+                        sourceToken = new Token();
+                        expandNext = initAReset(0, sourceToken);
+                    }
+                }
+                // 5 If the relation is a reset:
+                // If sourceToken is null
+                // Create new list, create new sourceToken, make the baseCE
+                // from source, put the sourceToken in ListHeader of the new
+                // list
+                if (sourceToken == null) {
+                    if (m_listHeader_[m_resultLength_] == null) {
+                        m_listHeader_[m_resultLength_] = new TokenListHeader();
+                    }
+                    // 3 Consider each item: relation, source, and expansion:
+                    // e.g. ...< x / y ...
+                    // First convert all expansions into normal form.
+                    // Examples:
+                    // If "xy" doesn't occur earlier in the list or in the UCA,
+                    // convert &xy * c * d * ... into &x * c/y * d * ...
+                    // Note: reset values can never have expansions, although
+                    // they can cause the very next item to have one. They may
+                    // be contractions, if they are found earlier in the list.
+                    if (top == false) {
+                        CollationElementIterator coleiter
+                        = RuleBasedCollator.UCA_.getCollationElementIterator(
+                            m_source_.substring(m_parsedToken_.m_charsOffset_,
+                                                m_parsedToken_.m_charsOffset_
+                                                + m_parsedToken_.m_charsLen_));
+
+                        int CE = coleiter.next();
+                        // offset to the character in the full rule string
+                        int expand = coleiter.getOffset()
+                                     + m_parsedToken_.m_charsOffset_;
+                        int SecondCE = coleiter.next();
+
+                        m_listHeader_[m_resultLength_].m_baseCE_
+                                                             = CE & 0xFFFFFF3F;
+                        if (RuleBasedCollator.isContinuation(SecondCE)) {
+                            m_listHeader_[m_resultLength_].m_baseContCE_
+                                                                    = SecondCE;
+                        }
+                        else {
+                            m_listHeader_[m_resultLength_].m_baseContCE_ = 0;
+                        }
+                        m_listHeader_[m_resultLength_].m_nextCE_ = 0;
+                        m_listHeader_[m_resultLength_].m_nextContCE_ = 0;
+                        m_listHeader_[m_resultLength_].m_previousCE_ = 0;
+                        m_listHeader_[m_resultLength_].m_previousContCE_ = 0;
+                        m_listHeader_[m_resultLength_].m_indirect_ = false;
+                        sourceToken = new Token();
+                        expandNext = initAReset(expand, sourceToken);
+                    }
+                    else { // top == TRUE
+                        top = false;
+                        m_listHeader_[m_resultLength_].m_previousCE_ = 0;
+                        m_listHeader_[m_resultLength_].m_previousContCE_ = 0;
+                        m_listHeader_[m_resultLength_].m_indirect_ = true;
+                        IndirectBoundaries ib = INDIRECT_BOUNDARIES_[
+                                              m_parsedToken_.m_indirectIndex_];
+                        m_listHeader_[m_resultLength_].m_baseCE_
+                                                               = ib.m_startCE_;
+                        m_listHeader_[m_resultLength_].m_baseContCE_
+                                                           = ib.m_startContCE_;
+                        m_listHeader_[m_resultLength_].m_nextCE_
+                                                               = ib.m_limitCE_;
+                        m_listHeader_[m_resultLength_].m_nextContCE_
+                                                           = ib.m_limitContCE_;
+                        sourceToken = new Token();
+                        expandNext = initAReset(0, sourceToken);
+                    }
+                }
+                else { // reset to something already in rules
+                    top = false;
+                }
+            }
+            // 7 After all this, set LAST to point to sourceToken, and goto
+            // step 3.
+            lastToken = sourceToken;
+        }
+
+        if (m_resultLength_ > 0
+            && m_listHeader_[m_resultLength_ - 1].m_first_ == null) {
+            m_resultLength_ --;
+        }
+        return m_resultLength_;
+    }
+
+    /**
+     * Formats and throws a ParseException
+     * @param rules collation rule that failed
+     * @param offset failed offset in rules
+     * @throws ParseException with failure information
+     */
+    private static final void throwParseException(String rules, int offset)
+                                                          throws ParseException
+    {
+        // for pre-context
+        String precontext = rules.substring(0, offset);
+        String postcontext = rules.substring(offset, rules.length());
+        StringBuffer error = new StringBuffer(
+                                    "Parse error occurred in rule at offset ");
+        error.append(offset);
+        error.append("\n after the prefix \"");
+        error.append(precontext);
+        error.append("\" before the suffix \"");
+        error.append(postcontext);
+        throw new ParseException(error.toString(), offset);
+    }
+
+    private final boolean doSetTop() {
+        m_parsedToken_.m_charsOffset_ = m_extraCurrent_;
+        m_source_.append((char)0xFFFE);
+        IndirectBoundaries ib =
+                  INDIRECT_BOUNDARIES_[m_parsedToken_.m_indirectIndex_];
+        m_source_.append((char)(ib.m_startCE_ >> 16));
+        m_source_.append((char)(ib.m_startCE_ & 0xFFFF));
+        m_extraCurrent_ += 3;
+        if (INDIRECT_BOUNDARIES_[m_parsedToken_.m_indirectIndex_
+                                                       ].m_startContCE_ == 0) {
+            m_parsedToken_.m_charsLen_ = 3;
+        }
+        else {
+            m_source_.append((char)(INDIRECT_BOUNDARIES_[
+                                        m_parsedToken_.m_indirectIndex_
+                                    ].m_startContCE_ >> 16));
+            m_source_.append((char)(INDIRECT_BOUNDARIES_[
+                                        m_parsedToken_.m_indirectIndex_
+                                    ].m_startContCE_ & 0xFFFF));
+            m_extraCurrent_ += 2;
+            m_parsedToken_.m_charsLen_ = 5;
+        }
+        return true;
+    }
+
+    private static boolean isCharNewLine(char c) {
+        switch (c) {
+        case 0x000A: /* LF */
+        case 0x000D: /* CR */
+        case 0x000C: /* FF */
+        case 0x0085: /* NEL */
+        case 0x2028: /* LS */
+        case 0x2029: /* PS */
+            return true;
+        default:
+            return false;
+        }
+    }
+
+    /**
+     * Getting the next token
+     *
+     * @param startofrules
+     *            flag indicating if we are at the start of rules
+     * @return the offset of the rules
+     * @exception ParseException
+     *                thrown when rule parsing fails
+     */
+    private int parseNextToken(boolean startofrules) throws ParseException
+    {
+        // parsing part
+        boolean variabletop = false;
+        boolean top = false;
+        boolean inchars = true;
+        boolean inquote = false;
+        boolean wasinquote = false;
+        byte before = 0;
+        boolean isescaped = false;
+        int /*newcharslen = 0,*/ newextensionlen = 0;
+        int /*charsoffset = 0,*/ extensionoffset = 0;
+        int newstrength = TOKEN_UNSET_;
+
+        m_parsedToken_.m_charsLen_ = 0;
+        m_parsedToken_.m_charsOffset_ = 0;
+        m_parsedToken_.m_prefixOffset_ = 0;
+        m_parsedToken_.m_prefixLen_ = 0;
+        m_parsedToken_.m_indirectIndex_ = 0;
+
+        int limit = m_rules_.length();
+        while (m_current_ < limit) {
+            char ch = m_source_.charAt(m_current_);
+            if (inquote) {
+                if (ch == 0x0027) { // '\''
+                    inquote = false;
+                }
+                else {
+                    if ((m_parsedToken_.m_charsLen_ == 0) || inchars) {
+                         if (m_parsedToken_.m_charsLen_ == 0) {
+                             m_parsedToken_.m_charsOffset_ = m_extraCurrent_;
+                         }
+                         m_parsedToken_.m_charsLen_ ++;
+                    }
+                    else {
+                        if (newextensionlen == 0) {
+                            extensionoffset = m_extraCurrent_;
+                        }
+                        newextensionlen ++;
+                    }
+                }
+            }
+            else if (isescaped) {
+                isescaped = false;
+                if (newstrength == TOKEN_UNSET_) {
+                    throwParseException(m_rules_, m_current_);
+                }
+                if (ch != 0 && m_current_ != limit) {
+                    if (inchars) {
+                        if (m_parsedToken_.m_charsLen_ == 0) {
+                            m_parsedToken_.m_charsOffset_ = m_current_;
+                        }
+                        m_parsedToken_.m_charsLen_ ++;
+                    }
+                    else {
+                        if (newextensionlen == 0) {
+                            extensionoffset = m_current_;
+                        }
+                        newextensionlen ++;
+                    }
+                }
+            }
+            else {
+                if (!UCharacterProperty.isRuleWhiteSpace(ch)) {
+                    // Sets the strength for this entry
+                    switch (ch) {
+                    case 0x003D : // '='
+                        if (newstrength != TOKEN_UNSET_) {
+                            return doEndParseNextToken(newstrength,
+                                                       top,
+                                                       extensionoffset,
+                                                       newextensionlen,
+                                                       variabletop, before);
+                        }
+                        // if we start with strength, we'll reset to top
+                        if (startofrules == true) {
+                            m_parsedToken_.m_indirectIndex_ = 5;
+                            top = doSetTop();
+                            return doEndParseNextToken(TOKEN_RESET_,
+                                                       top,
+                                                       extensionoffset,
+                                                       newextensionlen,
+                                                       variabletop, before);
+                        }
+                        newstrength = Collator.IDENTICAL;
+                        break;
+                    case 0x002C : // ','
+                        if (newstrength != TOKEN_UNSET_) {
+                            return doEndParseNextToken(newstrength,
+                                                       top,
+                                                       extensionoffset,
+                                                       newextensionlen,
+                                                       variabletop, before);
+                        }
+                        // if we start with strength, we'll reset to top
+                        if (startofrules == true) {
+                            m_parsedToken_.m_indirectIndex_ = 5;
+                            top = doSetTop();
+                            return doEndParseNextToken(TOKEN_RESET_,
+                                                       top,
+                                                       extensionoffset,
+                                                       newextensionlen,
+                                                       variabletop, before);
+                        }
+                        newstrength = Collator.TERTIARY;
+                        break;
+                    case 0x003B : // ';'
+                        if (newstrength != TOKEN_UNSET_) {
+                            return doEndParseNextToken(newstrength,
+                                                       top,
+                                                       extensionoffset,
+                                                       newextensionlen,
+                                                       variabletop, before);
+                        }
+                        // if we start with strength, we'll reset to top
+                        if (startofrules == true) {
+                            m_parsedToken_.m_indirectIndex_ = 5;
+                            top = doSetTop();
+                            return doEndParseNextToken(TOKEN_RESET_,
+                                                       top,
+                                                       extensionoffset,
+                                                       newextensionlen,
+                                                       variabletop, before);
+                        }
+                        newstrength = Collator.SECONDARY;
+                        break;
+                    case 0x003C : // '<'
+                        if (newstrength != TOKEN_UNSET_) {
+                            return doEndParseNextToken(newstrength,
+                                                       top,
+                                                       extensionoffset,
+                                                       newextensionlen,
+                                                       variabletop, before);
+                        }
+                        // if we start with strength, we'll reset to top
+                        if (startofrules == true) {
+                            m_parsedToken_.m_indirectIndex_ = 5;
+                            top = doSetTop();
+                            return doEndParseNextToken(TOKEN_RESET_,
+                                                       top,
+                                                       extensionoffset,
+                                                       newextensionlen,
+                                                       variabletop, before);
+                        }
+                        // before this, do a scan to verify whether this is
+                        // another strength
+                        if (m_source_.charAt(m_current_ + 1) == 0x003C) {
+                            m_current_ ++;
+                            if (m_source_.charAt(m_current_ + 1) == 0x003C) {
+                                m_current_ ++; // three in a row!
+                                newstrength = Collator.TERTIARY;
+                            }
+                            else { // two in a row
+                                newstrength = Collator.SECONDARY;
+                            }
+                        }
+                        else { // just one
+                            newstrength = Collator.PRIMARY;
+                        }
+                        break;
+                    case 0x0026 : // '&'
+                        if (newstrength != TOKEN_UNSET_) {
+                            return doEndParseNextToken(newstrength,
+                                                       top,
+                                                       extensionoffset,
+                                                       newextensionlen,
+                                                       variabletop, before);
+                        }
+                        newstrength = TOKEN_RESET_; // PatternEntry::RESET = 0
+                        break;
+                    case 0x005b : // '['
+                        // options - read an option, analyze it
+                        m_optionEnd_ = m_rules_.indexOf(0x005d, m_current_);
+                        if (m_optionEnd_ != -1) { // ']'
+                            byte result = readAndSetOption();
+                            m_current_ = m_optionEnd_;
+                            if ((result & TOKEN_TOP_MASK_) != 0) {
+                                if (newstrength == TOKEN_RESET_) {
+                                    top = doSetTop();
+                                    if (before != 0) {
+                                        // This is a combination of before and
+                                        // indirection like
+                                        // '&[before 2][first regular]<b'
+                                        m_source_.append((char)0x002d);
+                                        m_source_.append((char)before);
+                                        m_extraCurrent_ += 2;
+                                        m_parsedToken_.m_charsLen_ += 2;
+                                    }
+                                    m_current_ ++;
+                                    return doEndParseNextToken(newstrength,
+                                                       true,
+                                                       extensionoffset,
+                                                       newextensionlen,
+                                                       variabletop, before);
+                                }
+                                else {
+                                    throwParseException(m_rules_, m_current_);
+                                }
+                            }
+                            else if ((result & TOKEN_VARIABLE_TOP_MASK_) != 0) {
+                                if (newstrength != TOKEN_RESET_
+                                    && newstrength != TOKEN_UNSET_) {
+                                    variabletop = true;
+                                    m_parsedToken_.m_charsOffset_
+                                                             = m_extraCurrent_;
+                                    m_source_.append((char)0xFFFF);
+                                    m_extraCurrent_ ++;
+                                    m_current_ ++;
+                                    m_parsedToken_.m_charsLen_ = 1;
+                                    return doEndParseNextToken(newstrength,
+                                                       top,
+                                                       extensionoffset,
+                                                       newextensionlen,
+                                                       variabletop, before);
+                                }
+                                else {
+                                    throwParseException(m_rules_, m_current_);
+                                }
+                            }
+                            else if ((result & TOKEN_BEFORE_) != 0){
+                                if (newstrength == TOKEN_RESET_) {
+                                    before = (byte)(result & TOKEN_BEFORE_);
+                                }
+                                else {
+                                    throwParseException(m_rules_, m_current_);
+                                }
+                            }
+                        }
+                        break;
+                    case 0x002F : // '/'
+                        wasinquote = false; // if we were copying source
+                                            // characters, we want to stop now
+                        inchars = false; // we're now processing expansion
+                        break;
+                    case 0x005C : // back slash for escaped chars
+                        isescaped = true;
+                        break;
+                    // found a quote, we're gonna start copying
+                    case 0x0027 : //'\''
+                        if (newstrength == TOKEN_UNSET_) {
+                            // quote is illegal until we have a strength
+                            throwParseException(m_rules_, m_current_);
+                        }
+                        inquote = true;
+                        if (inchars) { // we're doing characters
+                            if (wasinquote == false) {
+                                m_parsedToken_.m_charsOffset_ = m_extraCurrent_;
+                            }
+                            if (m_parsedToken_.m_charsLen_ != 0) {
+                                m_source_.append(m_source_.substring(
+                                       m_current_ - m_parsedToken_.m_charsLen_,
+                                       m_current_));
+                                m_extraCurrent_ += m_parsedToken_.m_charsLen_;
+                            }
+                            m_parsedToken_.m_charsLen_ ++;
+                        }
+                        else { // we're doing an expansion
+                            if (wasinquote == false) {
+                                extensionoffset = m_extraCurrent_;
+                            }
+                            if (newextensionlen != 0) {
+                                m_source_.append(m_source_.substring(
+                                                   m_current_ - newextensionlen,
+                                                   m_current_));
+                                m_extraCurrent_ += newextensionlen;
+                            }
+                            newextensionlen ++;
+                        }
+                        wasinquote = true;
+                        m_current_ ++;
+                        ch = m_source_.charAt(m_current_);
+                        if (ch == 0x0027) { // copy the double quote
+                            m_source_.append(ch);
+                            m_extraCurrent_ ++;
+                            inquote = false;
+                        }
+                        break;
+                    // '@' is french only if the strength is not currently set
+                    // if it is, it's just a regular character in collation
+                    case 0x0040 : // '@'
+                        if (newstrength == TOKEN_UNSET_) {
+                            m_options_.m_isFrenchCollation_ = true;
+                        break;
+                    }
+                    case 0x007C : //|
+                        // this means we have actually been reading prefix part
+                        // we want to store read characters to the prefix part
+                        // and continue reading the characters (proper way
+                        // would be to restart reading the chars, but in that
+                        // case we would have to complicate the token hasher,
+                        // which I do not intend to play with. Instead, we will
+                        // do prefixes when prefixes are due (before adding the
+                        // elements).
+                        m_parsedToken_.m_prefixOffset_
+                                                = m_parsedToken_.m_charsOffset_;
+                        m_parsedToken_.m_prefixLen_
+                                                = m_parsedToken_.m_charsLen_;
+                        if (inchars) { // we're doing characters
+                            if (wasinquote == false) {
+                                m_parsedToken_.m_charsOffset_ = m_extraCurrent_;
+                            }
+                            if (m_parsedToken_.m_charsLen_ != 0) {
+                                String prefix = m_source_.substring(
+                                       m_current_ - m_parsedToken_.m_charsLen_,
+                                       m_current_);
+                                m_source_.append(prefix);
+                                m_extraCurrent_ += m_parsedToken_.m_charsLen_;
+                            }
+                            m_parsedToken_.m_charsLen_ ++;
+                        }
+                        wasinquote = true;
+                        do {
+                            m_current_ ++;
+                            ch = m_source_.charAt(m_current_);
+                            // skip whitespace between '|' and the character
+                        } while (UCharacterProperty.isRuleWhiteSpace(ch));
+                        break;
+                    case 0x0023: // '#' // this is a comment, skip everything through the end of line
+                        do {
+                            m_current_ ++;
+                            ch = m_source_.charAt(m_current_);
+                        } while (!isCharNewLine(ch));
+                        break;
+                    case 0x0021: // '!' // ignoring java set thai reordering
+                        break;
+                    default :
+                        if (newstrength == TOKEN_UNSET_) {
+                            throwParseException(m_rules_, m_current_);
+                        }
+                        if (isSpecialChar(ch) && (inquote == false)) {
+                            throwParseException(m_rules_, m_current_);
+                        }
+                        if (ch == 0x0000 && m_current_ + 1 == limit) {
+                            break;
+                        }
+                        if (inchars) {
+                            if (m_parsedToken_.m_charsLen_ == 0) {
+                                m_parsedToken_.m_charsOffset_ = m_current_;
+                            }
+                            m_parsedToken_.m_charsLen_++;
+                        }
+                        else {
+                            if (newextensionlen == 0) {
+                                extensionoffset = m_current_;
+                            }
+                            newextensionlen ++;
+                        }
+                        break;
+                    }
+                }
+            }
+            if (wasinquote) {
+                if (ch != 0x27) {
+                      m_source_.append(ch);
+                    m_extraCurrent_ ++;
+                }
+            }
+            m_current_ ++;
+        }
+        return doEndParseNextToken(newstrength, top,
+                                   extensionoffset, newextensionlen,
+                                   variabletop, before);
+    }
+
+    /**
+     * End the next parse token
+     * @param newstrength new strength
+     * @return offset in rules, -1 for end of rules
+     */
+    private int doEndParseNextToken(int newstrength, /*int newcharslen,*/
+                                    boolean top, /*int charsoffset,*/
+                                    int extensionoffset, int newextensionlen,
+                                    boolean variabletop, int before)
+                                    throws ParseException
+    {
+        if (newstrength == TOKEN_UNSET_) {
+            return -1;
+        }
+        if (m_parsedToken_.m_charsLen_ == 0 && top == false) {
+            throwParseException(m_rules_, m_current_);
+        }
+
+        m_parsedToken_.m_strength_ = newstrength;
+        //m_parsedToken_.m_charsOffset_ = charsoffset;
+        //m_parsedToken_.m_charsLen_ = newcharslen;
+        m_parsedToken_.m_extensionOffset_ = extensionoffset;
+        m_parsedToken_.m_extensionLen_ = newextensionlen;
+        m_parsedToken_.m_flags_ = (char)
+                                  ((variabletop ? TOKEN_VARIABLE_TOP_MASK_ : 0)
+                                  | (top ? TOKEN_TOP_MASK_ : 0) | before);
+        return m_current_;
+    }
+
+    /**
+     * Token before this element
+     * @param sourcetoken
+     * @param strength collation strength
+     * @return the token before source token
+     * @exception ParseException thrown when rules have the wrong syntax
+     */
+    private Token getVirginBefore(Token sourcetoken, int strength)
+                                                          throws ParseException
+    {
+        // this is a virgin before - we need to fish the anchor from the UCA
+        if (sourcetoken != null) {
+            int offset = sourcetoken.m_source_ & 0xFFFFFF;
+            m_UCAColEIter_.setText(m_source_.substring(offset, offset + 1));
+        }
+        else {
+            m_UCAColEIter_.setText(
+                             m_source_.substring(m_parsedToken_.m_charsOffset_,
+                             m_parsedToken_.m_charsOffset_ + 1));
+        }
+
+        int basece = m_UCAColEIter_.next() & 0xFFFFFF3F;
+        int basecontce = m_UCAColEIter_.next();
+        if (basecontce == CollationElementIterator.NULLORDER) {
+            basecontce = 0;
+        }
+
+        int ch = 0;
+
+
+        if((basece >>> 24 >= RuleBasedCollator.UCA_CONSTANTS_.PRIMARY_IMPLICIT_MIN_)
+                && (basece >>> 24 <=  RuleBasedCollator.UCA_CONSTANTS_.PRIMARY_IMPLICIT_MAX_)) { /* implicits - */
+
+            int primary = basece & RuleBasedCollator.CE_PRIMARY_MASK_ | (basecontce & RuleBasedCollator.CE_PRIMARY_MASK_) >> 16;
+            int raw = RuleBasedCollator.impCEGen_.getRawFromImplicit(primary);
+            ch = RuleBasedCollator.impCEGen_.getCodePointFromRaw(raw-1);
+            int primaryCE = RuleBasedCollator.impCEGen_.getImplicitFromRaw(raw-1);
+            m_utilCEBuffer_[0] = primaryCE & RuleBasedCollator.CE_PRIMARY_MASK_ | 0x0505;
+            m_utilCEBuffer_[1] = (primaryCE << 16) & RuleBasedCollator.CE_PRIMARY_MASK_ | RuleBasedCollator.CE_CONTINUATION_MARKER_;
+
+            m_parsedToken_.m_charsOffset_ = m_extraCurrent_;
+            m_source_.append('\uFFFE');
+            m_source_.append((char)ch);
+            m_extraCurrent_ += 2;
+            m_parsedToken_.m_charsLen_++;
+
+            m_utilToken_.m_source_ = (m_parsedToken_.m_charsLen_ << 24)
+            | m_parsedToken_.m_charsOffset_;
+            m_utilToken_.m_rules_ = m_source_;
+            sourcetoken = (Token)m_hashTable_.get(m_utilToken_);
+
+            if(sourcetoken == null) {
+                m_listHeader_[m_resultLength_] = new TokenListHeader();
+                m_listHeader_[m_resultLength_].m_baseCE_
+                    = m_utilCEBuffer_[0] & 0xFFFFFF3F;
+                if (RuleBasedCollator.isContinuation(m_utilCEBuffer_[1])) {
+                    m_listHeader_[m_resultLength_].m_baseContCE_
+                    = m_utilCEBuffer_[1];
+                }
+                else {
+                    m_listHeader_[m_resultLength_].m_baseContCE_ = 0;
+                }
+                m_listHeader_[m_resultLength_].m_nextCE_ = 0;
+                m_listHeader_[m_resultLength_].m_nextContCE_ = 0;
+                m_listHeader_[m_resultLength_].m_previousCE_ = 0;
+                m_listHeader_[m_resultLength_].m_previousContCE_ = 0;
+                m_listHeader_[m_resultLength_].m_indirect_ = false;
+
+                sourcetoken = new Token();
+                initAReset(-1, sourcetoken);
+            }
+
+        } else {
+
+            // first ce and second ce m_utilCEBuffer_
+            int invpos = CollationParsedRuleBuilder.INVERSE_UCA_.getInversePrevCE(
+                                                         basece, basecontce,
+                                                         strength, m_utilCEBuffer_);
+            // we got the previous CE. Now we need to see if the difference between
+            // the two CEs is really of the requested strength.
+            // if it's a bigger difference (we asked for secondary and got primary), we
+            // need to modify the CE.
+            if(CollationParsedRuleBuilder.INVERSE_UCA_.getCEStrengthDifference(basece, basecontce, m_utilCEBuffer_[0], m_utilCEBuffer_[1]) < strength) {
+                // adjust the strength
+                // now we are in the situation where our baseCE should actually be modified in
+                // order to get the CE in the right position.
+                if(strength == Collator.SECONDARY) {
+                    m_utilCEBuffer_[0] = basece - 0x0200;
+                } else { // strength == UCOL_TERTIARY
+                    m_utilCEBuffer_[0] = basece - 0x02;
+                }
+                if(RuleBasedCollator.isContinuation(basecontce)) {
+                    if(strength == Collator.SECONDARY) {
+                        m_utilCEBuffer_[1] = basecontce - 0x0200;
+                    } else { // strength == UCOL_TERTIARY
+                        m_utilCEBuffer_[1] = basecontce - 0x02;
+                    }
+                }
+            }
+
+/*
+            // the code below relies on getting a code point from the inverse table, in order to be
+            // able to merge the situations like &x < 9 &[before 1]a < d. This won't work:
+            // 1. There are many code points that have the same CE
+            // 2. The CE to codepoint table (things pointed to by CETable[3*invPos+2] are broken.
+            // Also, in case when there is no equivalent strength before an element, we have to actually
+            // construct one. For example, &[before 2]a << x won't result in x << a, because the element
+            // before a is a primary difference.
+            ch = CollationParsedRuleBuilder.INVERSE_UCA_.m_table_[3 * invpos
+                                                                      + 2];
+            if ((ch &  INVERSE_SIZE_MASK_) != 0) {
+                int offset = ch & INVERSE_OFFSET_MASK_;
+                ch = CollationParsedRuleBuilder.INVERSE_UCA_.m_continuations_[
+                                                                           offset];
+            }
+            m_source_.append((char)ch);
+            m_extraCurrent_ ++;
+            m_parsedToken_.m_charsOffset_ = m_extraCurrent_ - 1;
+            m_parsedToken_.m_charsLen_ = 1;
+
+            // We got an UCA before. However, this might have been tailored.
+            // example:
+            // &\u30ca = \u306a
+            // &[before 3]\u306a<<<\u306a|\u309d
+
+            m_utilToken_.m_source_ = (m_parsedToken_.m_charsLen_ << 24)
+                                                 | m_parsedToken_.m_charsOffset_;
+            m_utilToken_.m_rules_ = m_source_;
+            sourcetoken = (Token)m_hashTable_.get(m_utilToken_);
+*/
+
+            // here is how it should be. The situation such as &[before 1]a < x, should be
+            // resolved exactly as if we wrote &a > x.
+            // therefore, I don't really care if the UCA value before a has been changed.
+            // However, I do care if the strength between my element and the previous element
+            // is bigger then I wanted. So, if CE < baseCE and I wanted &[before 2], then i'll
+            // have to construct the base CE.
+
+            // if we found a tailored thing, we have to use the UCA value and
+            // construct a new reset token with constructed name
+            //if (sourcetoken != null && sourcetoken.m_strength_ != TOKEN_RESET_) {
+                // character to which we want to anchor is already tailored.
+                // We need to construct a new token which will be the anchor point
+                //m_source_.setCharAt(m_extraCurrent_ - 1, '\uFFFE');
+                //m_source_.append(ch);
+                //m_extraCurrent_ ++;
+                //m_parsedToken_.m_charsLen_ ++;
+                // grab before
+                m_parsedToken_.m_charsOffset_ -= 10;
+                m_parsedToken_.m_charsLen_ += 10;
+                m_listHeader_[m_resultLength_] = new TokenListHeader();
+                m_listHeader_[m_resultLength_].m_baseCE_
+                                                 = m_utilCEBuffer_[0] & 0xFFFFFF3F;
+                if (RuleBasedCollator.isContinuation(m_utilCEBuffer_[1])) {
+                    m_listHeader_[m_resultLength_].m_baseContCE_
+                                                              = m_utilCEBuffer_[1];
+                }
+                else {
+                    m_listHeader_[m_resultLength_].m_baseContCE_ = 0;
+                }
+                m_listHeader_[m_resultLength_].m_nextCE_ = 0;
+                m_listHeader_[m_resultLength_].m_nextContCE_ = 0;
+                m_listHeader_[m_resultLength_].m_previousCE_ = 0;
+                m_listHeader_[m_resultLength_].m_previousContCE_ = 0;
+                m_listHeader_[m_resultLength_].m_indirect_ = false;
+                sourcetoken = new Token();
+                initAReset(-1, sourcetoken);
+            //}
+        }
+        return sourcetoken;
+    }
+
+    /**
+     * Processing Description.
+     * 1. Build a m_listHeader_. Each list has a header, which contains two lists
+     * (positive and negative), a reset token, a baseCE, nextCE, and
+     * previousCE. The lists and reset may be null.
+     * 2. As you process, you keep a LAST pointer that points to the last token
+     * you handled.
+     * @param expand string offset, -1 for null strings
+     * @param targetToken token to update
+     * @return expandnext offset
+     * @throws ParseException thrown when rules syntax failed
+     */
+    private int initAReset(int expand, Token targetToken) throws ParseException
+    {
+        if (m_resultLength_ == m_listHeader_.length - 1) {
+            // Unfortunately, this won't work, as we store addresses of lhs in
+            // token
+            TokenListHeader temp[] = new TokenListHeader[m_resultLength_ << 1];
+            System.arraycopy(m_listHeader_, 0, temp, 0, m_resultLength_ + 1);
+            m_listHeader_ = temp;
+        }
+        // do the reset thing
+        targetToken.m_rules_ = m_source_;
+        targetToken.m_source_ = m_parsedToken_.m_charsLen_ << 24
+                                | m_parsedToken_.m_charsOffset_;
+        targetToken.m_expansion_ = m_parsedToken_.m_extensionLen_ << 24
+                                   | m_parsedToken_.m_extensionOffset_;
+        // keep the flags around so that we know about before
+        targetToken.m_flags_ = m_parsedToken_.m_flags_;
+
+        if (m_parsedToken_.m_prefixOffset_ != 0) {
+            throwParseException(m_rules_, m_parsedToken_.m_charsOffset_ - 1);
+        }
+
+        targetToken.m_prefix_ = 0;
+        // TODO: this should also handle reverse
+        targetToken.m_polarity_ = TOKEN_POLARITY_POSITIVE_;
+        targetToken.m_strength_ = TOKEN_RESET_;
+        targetToken.m_next_ = null;
+        targetToken.m_previous_ = null;
+        targetToken.m_CELength_ = 0;
+        targetToken.m_expCELength_ = 0;
+        targetToken.m_listHeader_ = m_listHeader_[m_resultLength_];
+        m_listHeader_[m_resultLength_].m_first_ = null;
+        m_listHeader_[m_resultLength_].m_last_ = null;
+        m_listHeader_[m_resultLength_].m_first_ = null;
+        m_listHeader_[m_resultLength_].m_last_ = null;
+        m_listHeader_[m_resultLength_].m_reset_ = targetToken;
+
+        /* 3 Consider each item: relation, source, and expansion:
+         * e.g. ...< x / y ...
+         * First convert all expansions into normal form. Examples:
+         * If "xy" doesn't occur earlier in the list or in the UCA, convert
+         * &xy * c * d * ... into &x * c/y * d * ...
+         * Note: reset values can never have expansions, although they can
+         * cause the very next item to have one. They may be contractions, if
+         * they are found earlier in the list.
+         */
+        int result = 0;
+        if (expand > 0) {
+            // check to see if there is an expansion
+            if (m_parsedToken_.m_charsLen_ > 1) {
+                targetToken.m_source_ = ((expand
+                                          - m_parsedToken_.m_charsOffset_ )
+                                          << 24)
+                                          | m_parsedToken_.m_charsOffset_;
+                result = ((m_parsedToken_.m_charsLen_
+                               + m_parsedToken_.m_charsOffset_ - expand) << 24)
+                               | expand;
+            }
+        }
+
+        m_resultLength_ ++;
+        m_hashTable_.put(targetToken, targetToken);
+        return result;
+    }
+
+    /**
+     * Checks if an character is special
+     * @param ch character to test
+     * @return true if the character is special
+     */
+    private static final boolean isSpecialChar(char ch)
+    {
+        return (ch <= 0x002F && ch >= 0x0020) || (ch <= 0x003F && ch >= 0x003A)
+               || (ch <= 0x0060 && ch >= 0x005B)
+               || (ch <= 0x007E && ch >= 0x007D) || ch == 0x007B;
+    }
+
+    private
+    UnicodeSet readAndSetUnicodeSet(String source, int start) throws ParseException
+    {
+      while(source.charAt(start) != '[') { /* advance while we find the first '[' */
+        start++;
+      }
+      // now we need to get a balanced set of '[]'. The problem is that a set can have
+      // many, and *end point to the first closing '['
+      int noOpenBraces = 1;
+      int current = 1; // skip the opening brace
+      while(start+current < source.length() && noOpenBraces != 0) {
+        if(source.charAt(start+current) == '[') {
+          noOpenBraces++;
+        } else if(source.charAt(start+current) == ']') { // closing brace
+          noOpenBraces--;
+        }
+        current++;
+      }
+      //int nextBrace = -1;
+
+      if(noOpenBraces != 0 || (/*nextBrace =*/ source.indexOf("]", start+current) /*']'*/) == -1) {
+        throwParseException(m_rules_, start);
+      }
+      return new UnicodeSet(source.substring(start, start+current)); //uset_openPattern(start, current);
+    }
+
+
+    /** in C, optionarg is passed by reference to function.
+     *  We use a private int to simulate this.
+     */
+    private int m_optionarg_ = 0;
+
+    private int readOption(String rules, int start, int optionend)
+    {
+        m_optionarg_ = 0;
+        int i = 0;
+        while (i < RULES_OPTIONS_.length) {
+            String option = RULES_OPTIONS_[i].m_name_;
+            int optionlength = option.length();
+            if (rules.length() > start + optionlength
+                && option.equalsIgnoreCase(rules.substring(start,
+                                                      start + optionlength))) {
+                if (optionend - start > optionlength) {
+                    m_optionarg_ = start + optionlength;
+                    // start of the options, skip space
+                    while (m_optionarg_ < optionend && UCharacter.isWhitespace(rules.charAt(m_optionarg_)))
+                    {   // eat whitespace
+                        m_optionarg_ ++;
+                    }
+                }
+                break;
+            }
+            i ++;
+        }
+        if(i == RULES_OPTIONS_.length) {
+            i = -1;
+        }
+        return i;
+    }
+    /**
+     * Reads and set collation options
+     * @param optionend offset to the end of the option in rules
+     * @return TOKEN_SUCCESS if option is set correct, 0 otherwise
+     * @exception ParseException thrown when options in rules are wrong
+     */
+    private byte readAndSetOption() throws ParseException
+    {
+        int start = m_current_ + 1; // skip opening '['
+        int i = readOption(m_rules_, start, m_optionEnd_);
+
+        int optionarg = m_optionarg_;
+
+        if (i < 0) {
+            throwParseException(m_rules_, start);
+        }
+
+        if (i < 7) {
+            if (optionarg != 0) {
+                for (int j = 0; j < RULES_OPTIONS_[i].m_subOptions_.length;
+                                                                        j ++) {
+                     String subname = RULES_OPTIONS_[i].m_subOptions_[j];
+                     int size = optionarg + subname.length();
+                     if (m_rules_.length() > size
+                         && subname.equalsIgnoreCase(m_rules_.substring(
+                                                           optionarg, size))) {
+                         setOptions(m_options_, RULES_OPTIONS_[i].m_attribute_,
+                             RULES_OPTIONS_[i].m_subOptionAttributeValues_[j]);
+                         return TOKEN_SUCCESS_MASK_;
+                     }
+                }
+            }
+            throwParseException(m_rules_, optionarg);
+        }
+        else if (i == 7) { // variable top
+            return TOKEN_SUCCESS_MASK_ | TOKEN_VARIABLE_TOP_MASK_;
+        }
+        else if (i == 8) { // rearange
+            return TOKEN_SUCCESS_MASK_;
+        }
+        else if (i == 9) { // before
+            if (optionarg != 0) {
+                for (int j = 0; j < RULES_OPTIONS_[i].m_subOptions_.length;
+                                                                        j ++) {
+                     String subname = RULES_OPTIONS_[i].m_subOptions_[j];
+                     int size = optionarg + subname.length();
+                     if (m_rules_.length() > size
+                         && subname.equalsIgnoreCase(
+                                               m_rules_.substring(optionarg,
+                                              optionarg + subname.length()))) {
+                         return (byte)(TOKEN_SUCCESS_MASK_
+                            | RULES_OPTIONS_[i].m_subOptionAttributeValues_[j]
+                            + 1);
+                     }
+                }
+            }
+            throwParseException(m_rules_, optionarg);
+        }
+        else if (i == 10) {  // top, we are going to have an array with
+            // structures of limit CEs index to this array will be
+            // src->parsedToken.indirectIndex
+            m_parsedToken_.m_indirectIndex_ = 0;
+            return TOKEN_SUCCESS_MASK_ | TOKEN_TOP_MASK_;
+        }
+        else if (i < 13) { // first, last
+            for (int j = 0; j < RULES_OPTIONS_[i].m_subOptions_.length; j ++) {
+                String subname = RULES_OPTIONS_[i].m_subOptions_[j];
+                int size = optionarg + subname.length();
+                if (m_rules_.length() > size
+                    && subname.equalsIgnoreCase(m_rules_.substring(optionarg,
+                                                                   size))) {
+                    m_parsedToken_.m_indirectIndex_ = (char)(i - 10 + (j << 1));
+                    return TOKEN_SUCCESS_MASK_ | TOKEN_TOP_MASK_;
+                }
+            }
+            throwParseException(m_rules_, optionarg);
+        }
+        else if(i == 13 || i == 14) { // copy and remove are handled before normalization
+            // we need to move end here
+            int noOpenBraces = 1;
+            m_current_++; // skip opening brace
+            while(m_current_ < m_source_.length() && noOpenBraces != 0) {
+                if(m_source_.charAt(m_current_) == '[') {
+                  noOpenBraces++;
+                } else if(m_source_.charAt(m_current_) == ']') { // closing brace
+                  noOpenBraces--;
+                }
+                m_current_++;
+            }
+            m_optionEnd_ = m_current_-1;
+            return TOKEN_SUCCESS_MASK_;
+        }
+        else {
+            throwParseException(m_rules_, optionarg);
+        }
+        return TOKEN_SUCCESS_MASK_; // we will never reach here.
+    }
+
+    /**
+     * Set collation option
+     * @param optionset option set to set
+     * @param attribute type to set
+     * @param value attribute value
+     */
+    private void setOptions(OptionSet optionset, int attribute, int value)
+    {
+        switch (attribute) {
+            case RuleBasedCollator.Attribute.HIRAGANA_QUATERNARY_MODE_ :
+                optionset.m_isHiragana4_
+                            = (value == RuleBasedCollator.AttributeValue.ON_);
+                break;
+            case RuleBasedCollator.Attribute.FRENCH_COLLATION_ :
+                optionset.m_isFrenchCollation_
+                             = (value == RuleBasedCollator.AttributeValue.ON_);
+                break;
+            case RuleBasedCollator.Attribute.ALTERNATE_HANDLING_ :
+                optionset.m_isAlternateHandlingShifted_
+                             = (value
+                                == RuleBasedCollator.AttributeValue.SHIFTED_);
+                break;
+            case RuleBasedCollator.Attribute.CASE_FIRST_ :
+                optionset.m_caseFirst_ = value;
+                break;
+            case RuleBasedCollator.Attribute.CASE_LEVEL_ :
+                optionset.m_isCaseLevel_
+                             = (value == RuleBasedCollator.AttributeValue.ON_);
+                break;
+            case RuleBasedCollator.Attribute.NORMALIZATION_MODE_ :
+                if (value == RuleBasedCollator.AttributeValue.ON_) {
+                    value = Collator.CANONICAL_DECOMPOSITION;
+                }
+                optionset.m_decomposition_ = value;
+                break;
+            case RuleBasedCollator.Attribute.STRENGTH_ :
+                optionset.m_strength_ = value;
+                break;
+            default :
+                break;
+        }
+      }
+
+    UnicodeSet getTailoredSet() throws ParseException
+    {
+        boolean startOfRules = true;
+        UnicodeSet tailored = new UnicodeSet();
+        String pattern;
+        CanonicalIterator it = new CanonicalIterator("");
+
+        m_parsedToken_.m_strength_ = TOKEN_UNSET_;
+        int sourcelimit = m_source_.length();
+        //int expandNext = 0;
+
+        while (m_current_ < sourcelimit) {
+        m_parsedToken_.m_prefixOffset_ = 0;
+        if (parseNextToken(startOfRules) < 0) {
+            // we have reached the end
+            continue;
+        }
+        startOfRules = false;
+        // The idea is to tokenize the rule set. For each non-reset token,
+        // we add all the canonicaly equivalent FCD sequences
+            if(m_parsedToken_.m_strength_ != TOKEN_RESET_) {
+                it.setSource(m_source_.substring(
+                      m_parsedToken_.m_charsOffset_,
+                      m_parsedToken_.m_charsOffset_+m_parsedToken_.m_charsLen_));
+                pattern = it.next();
+                while(pattern != null) {
+                      if(Normalizer.quickCheck(pattern, Normalizer.FCD,0) != Normalizer.NO) {
+                        tailored.add(pattern);
+                    }
+                    pattern = it.next();
+                }
+            }
+        }
+        return tailored;
+    }
+
+    final private void extractSetsFromRules(String rules) throws ParseException {
+      int optionNumber = -1;
+      int setStart = 0;
+      int i = 0;
+      while(i < rules.length()) {
+        if(rules.charAt(i) == 0x005B) {
+          optionNumber = readOption(rules, i+1, rules.length());
+          setStart = m_optionarg_;
+          if(optionNumber == 13) { /* copy - parts of UCA to tailoring */
+            UnicodeSet newSet = readAndSetUnicodeSet(rules, setStart);
+              if(m_copySet_ == null) {
+                m_copySet_ = newSet;
+              } else {
+                m_copySet_.addAll(newSet);
+              }
+          } else if(optionNumber == 14) {
+            UnicodeSet newSet = readAndSetUnicodeSet(rules, setStart);
+              if(m_removeSet_ == null) {
+                m_removeSet_ = newSet;
+              } else {
+                m_removeSet_.addAll(newSet);
+              }
+          }
+        }
+        i++;
+      }
+    }
+}
diff --git a/src/com/ibm/icu/text/Collator.java b/src/com/ibm/icu/text/Collator.java
new file mode 100755
index 0000000..89b1379
--- /dev/null
+++ b/src/com/ibm/icu/text/Collator.java
@@ -0,0 +1,1044 @@
+/**
+*******************************************************************************
+* Copyright (C) 1996-2005, International Business Machines Corporation and    *
+* others. All Rights Reserved.                                                *
+*******************************************************************************
+*/
+package com.ibm.icu.text;
+
+import java.util.Comparator;
+import java.util.Locale;
+import java.util.MissingResourceException;
+import java.util.Set;
+
+import com.ibm.icu.impl.ICUDebug;
+import com.ibm.icu.impl.ICUResourceBundle;
+import com.ibm.icu.impl.LocaleUtility;
+import com.ibm.icu.util.ULocale;
+import com.ibm.icu.util.UResourceBundle;
+import com.ibm.icu.util.VersionInfo;
+
+/**
+* <p>Collator performs locale-sensitive string comparison. A concrete
+* subclass, RuleBasedCollator, allows customization of the collation
+* ordering by the use of rule sets.</p>
+*
+* <p>Following the <a href=http://www.unicode.org>Unicode
+* Consortium</a>'s specifications for the
+* <a href="http://www.unicode.org/unicode/reports/tr10/"> Unicode Collation
+* Algorithm (UCA)</a>, there are 5 different levels of strength used
+* in comparisons:
+*
+* <ul>
+* <li>PRIMARY strength: Typically, this is used to denote differences between
+*     base characters (for example, "a" &lt; "b").
+*     It is the strongest difference. For example, dictionaries are divided
+*     into different sections by base character.
+* <li>SECONDARY strength: Accents in the characters are considered secondary
+*     differences (for example, "as" &lt; "&agrave;s" &lt; "at"). Other
+*     differences
+*     between letters can also be considered secondary differences, depending
+*     on the language. A secondary difference is ignored when there is a
+*     primary difference anywhere in the strings.
+* <li>TERTIARY strength: Upper and lower case differences in characters are
+*     distinguished at tertiary strength (for example, "ao" &lt; "Ao" &lt;
+*     "a&ograve;"). In addition, a variant of a letter differs from the base
+*     form on the tertiary strength (such as "A" and "&#9398;"). Another
+*     example is the
+*     difference between large and small Kana. A tertiary difference is ignored
+*     when there is a primary or secondary difference anywhere in the strings.
+* <li>QUATERNARY strength: When punctuation is ignored
+*     <a href="http://icu.sourceforge.net/userguide/Collate_Concepts.html#Ignoring_Punctuation">
+*     (see Ignoring Punctuations in the user guide)</a> at PRIMARY to TERTIARY
+*     strength, an additional strength level can
+*     be used to distinguish words with and without punctuation (for example,
+*     "ab" &lt; "a-b" &lt; "aB").
+*     This difference is ignored when there is a PRIMARY, SECONDARY or TERTIARY
+*     difference. The QUATERNARY strength should only be used if ignoring
+*     punctuation is required.
+* <li>IDENTICAL strength:
+*     When all other strengths are equal, the IDENTICAL strength is used as a
+*     tiebreaker. The Unicode code point values of the NFD form of each string
+*     are compared, just in case there is no difference.
+*     For example, Hebrew cantellation marks are only distinguished at this
+*     strength. This strength should be used sparingly, as only code point
+*     value differences between two strings is an extremely rare occurrence.
+*     Using this strength substantially decreases the performance for both
+*     comparison and collation key generation APIs. This strength also
+*     increases the size of the collation key.
+* </ul>
+*
+* Unlike the JDK, ICU4J's Collator deals only with 2 decomposition modes,
+* the canonical decomposition mode and one that does not use any decomposition.
+* The compatibility decomposition mode, java.text.Collator.FULL_DECOMPOSITION
+* is not supported here. If the canonical
+* decomposition mode is set, the Collator handles un-normalized text properly,
+* producing the same results as if the text were normalized in NFD. If
+* canonical decomposition is turned off, it is the user's responsibility to
+* ensure that all text is already in the appropriate form before performing
+* a comparison or before getting a CollationKey.</p>
+*
+* <p>For more information about the collation service see the
+* <a href="http://icu.sourceforge.net/userguide/Collate_Intro.html">users
+* guide</a>.</p>
+*
+* <p>Examples of use
+* <pre>
+* // Get the Collator for US English and set its strength to PRIMARY
+* Collator usCollator = Collator.getInstance(Locale.US);
+* usCollator.setStrength(Collator.PRIMARY);
+* if (usCollator.compare("abc", "ABC") == 0) {
+*     System.out.println("Strings are equivalent");
+* }
+*
+* The following example shows how to compare two strings using the
+* Collator for the default locale.
+*
+* // Compare two strings in the default locale
+* Collator myCollator = Collator.getInstance();
+* myCollator.setDecomposition(NO_DECOMPOSITION);
+* if (myCollator.compare("&agrave;&#92;u0325", "a&#92;u0325&#768;") != 0) {
+*     System.out.println("&agrave;&#92;u0325 is not equals to a&#92;u0325&#768; without decomposition");
+*     myCollator.setDecomposition(CANONICAL_DECOMPOSITION);
+*     if (myCollator.compare("&agrave;&#92;u0325", "a&#92;u0325&#768;") != 0) {
+*         System.out.println("Error: &agrave;&#92;u0325 should be equals to a&#92;u0325&#768; with decomposition");
+*     }
+*     else {
+*         System.out.println("&agrave;&#92;u0325 is equals to a&#92;u0325&#768; with decomposition");
+*     }
+* }
+* else {
+*     System.out.println("Error: &agrave;&#92;u0325 should be not equals to a&#92;u0325&#768; without decomposition");
+* }
+* </pre>
+* </p>
+* @see RuleBasedCollator
+* @see CollationKey
+* @author Syn Wee Quek
+* @stable ICU 2.8
+*/
+public abstract class Collator implements Comparator, Cloneable
+{
+    // public data members ---------------------------------------------------
+
+    /**
+     * Strongest collator strength value. Typically used to denote differences
+     * between base characters. See class documentation for more explanation.
+     * @see #setStrength
+     * @see #getStrength
+     * @stable ICU 2.8
+     */
+    public final static int PRIMARY = 0;
+
+    /**
+     * Second level collator strength value.
+     * Accents in the characters are considered secondary differences.
+     * Other differences between letters can also be considered secondary
+     * differences, depending on the language.
+     * See class documentation for more explanation.
+     * @see #setStrength
+     * @see #getStrength
+     * @stable ICU 2.8
+     */
+    public final static int SECONDARY = 1;
+
+    /**
+     * Third level collator strength value.
+     * Upper and lower case differences in characters are distinguished at this
+     * strength level. In addition, a variant of a letter differs from the base
+     * form on the tertiary level.
+     * See class documentation for more explanation.
+     * @see #setStrength
+     * @see #getStrength
+     * @stable ICU 2.8
+     */
+    public final static int TERTIARY = 2;
+
+    /**
+     * Fourth level collator strength value.
+     * When punctuation is ignored
+     * <a href="http://icu.sourceforge.net/userguide/Collate_Concepts.html#Ignoring_Punctuation">
+     * (see Ignoring Punctuations in the user guide)</a> at PRIMARY to TERTIARY
+     * strength, an additional strength level can
+     * be used to distinguish words with and without punctuation.
+     * See class documentation for more explanation.
+     * @see #setStrength
+     * @see #getStrength
+     * @stable ICU 2.8
+     */
+    public final static int QUATERNARY = 3;
+
+    /**
+     * <p>
+     * Smallest Collator strength value. When all other strengths are equal,
+     * the IDENTICAL strength is used as a tiebreaker. The Unicode code point
+     * values of the NFD form of each string are compared, just in case there
+     * is no difference.
+     * See class documentation for more explanation.
+     * </p>
+     * <p>
+     * Note this value is different from JDK's
+     * </p>
+     * @stable ICU 2.8
+     */
+    public final static int IDENTICAL = 15;
+
+    /**
+     * This is for backwards compatibility with Java APIs only.  It
+     * should not be used, IDENTICAL should be used instead.  ICU's
+     * collation does not support Java's FULL_DECOMPOSITION mode.
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public final static int FULL_DECOMPOSITION = IDENTICAL;
+
+    /**
+     * <p>Decomposition mode value. With NO_DECOMPOSITION set, Strings
+     * will not be decomposed for collation. This is the default
+     * decomposition setting unless otherwise specified by the locale
+     * used to create the Collator.</p>
+     *
+     * <p><strong>Note</strong> this value is different from the JDK's.</p>
+     * @see #CANONICAL_DECOMPOSITION
+     * @see #getDecomposition
+     * @see #setDecomposition
+     * @stable ICU 2.8
+     */
+    public final static int NO_DECOMPOSITION = 16;
+
+    /**
+     * <p>Decomposition mode value. With CANONICAL_DECOMPOSITION set,
+     * characters that are canonical variants according to the Unicode standard
+     * will be decomposed for collation.</p>
+     *
+     * <p>CANONICAL_DECOMPOSITION corresponds to Normalization Form D as
+     * described in <a href="http://www.unicode.org/unicode/reports/tr15/">
+     * Unicode Technical Report #15</a>.
+     * </p>
+     * @see #NO_DECOMPOSITION
+     * @see #getDecomposition
+     * @see #setDecomposition
+     * @stable ICU 2.8
+     */
+    public final static int CANONICAL_DECOMPOSITION = 17;
+
+    // public methods --------------------------------------------------------
+
+    // public setters --------------------------------------------------------
+
+    /**
+     * <p>Sets this Collator's strength property. The strength property
+     * determines the minimum level of difference considered significant
+     * during comparison.</p>
+     *
+     * <p>The default strength for the Collator is TERTIARY, unless specified
+     * otherwise by the locale used to create the Collator.</p>
+     *
+     * <p>See the Collator class description for an example of use.</p>
+     * @param newStrength the new strength value.
+     * @see #getStrength
+     * @see #PRIMARY
+     * @see #SECONDARY
+     * @see #TERTIARY
+     * @see #QUATERNARY
+     * @see #IDENTICAL
+     * @exception IllegalArgumentException if the new strength value is not one
+     *                of PRIMARY, SECONDARY, TERTIARY, QUATERNARY or IDENTICAL.
+     * @stable ICU 2.8
+     */
+    public void setStrength(int newStrength)
+    {
+        if ((newStrength != PRIMARY) &&
+            (newStrength != SECONDARY) &&
+            (newStrength != TERTIARY) &&
+            (newStrength != QUATERNARY) &&
+            (newStrength != IDENTICAL)) {
+            throw new IllegalArgumentException("Incorrect comparison level.");
+        }
+        m_strength_ = newStrength;
+    }
+
+    /**
+     * <p>Set the decomposition mode of this Collator.  Setting this
+     * decomposition property with CANONICAL_DECOMPOSITION allows the
+     * Collator to handle un-normalized text properly, producing the
+     * same results as if the text were normalized. If
+     * NO_DECOMPOSITION is set, it is the user's responsibility to
+     * insure that all text is already in the appropriate form before
+     * a comparison or before getting a CollationKey. Adjusting
+     * decomposition mode allows the user to select between faster and
+     * more complete collation behavior.</p>
+     *
+     * <p>Since a great many of the world's languages do not require
+     * text normalization, most locales set NO_DECOMPOSITION as the
+     * default decomposition mode.</p>
+     *
+     * The default decompositon mode for the Collator is
+     * NO_DECOMPOSITON, unless specified otherwise by the locale used
+     * to create the Collator.</p>
+     *
+     * <p>See getDecomposition for a description of decomposition
+     * mode.</p>
+     *
+     * @param decomposition the new decomposition mode
+     * @see #getDecomposition
+     * @see #NO_DECOMPOSITION
+     * @see #CANONICAL_DECOMPOSITION
+     * @exception IllegalArgumentException If the given value is not a valid
+     *            decomposition mode.
+     * @stable ICU 2.8
+     */
+    public void setDecomposition(int decomposition)
+    {
+        if ((decomposition != NO_DECOMPOSITION) &&
+            (decomposition != CANONICAL_DECOMPOSITION)) {
+            throw new IllegalArgumentException("Wrong decomposition mode.");
+        }
+        m_decomposition_ = decomposition;
+    }
+
+    // public getters --------------------------------------------------------
+
+    /**
+     * Gets the Collator for the current default locale.
+     * The default locale is determined by java.util.Locale.getDefault().
+     * @return the Collator for the default locale (for example, en_US) if it
+     *         is created successfully. Otherwise if there is no Collator
+     *         associated with the current locale, the default UCA collator
+     *         will be returned.
+     * @see java.util.Locale#getDefault()
+     * @see #getInstance(Locale)
+     * @stable ICU 2.8
+     */
+    public static final Collator getInstance()
+    {
+        return getInstance(ULocale.getDefault());
+    }
+
+    /**
+     * Clone the collator.
+     * @stable ICU 2.6
+     * @return a clone of this collator.
+     */
+    public Object clone() throws CloneNotSupportedException {
+        return super.clone();
+    }
+
+    // begin registry stuff
+
+    /**
+     * A factory used with registerFactory to register multiple collators and provide
+     * display names for them.  If standard locale display names are sufficient, 
+     * Collator instances may be registered instead.
+     * <p><b>Note:</b> as of ICU4J 3.2, the default API for CollatorFactory uses
+     * ULocale instead of Locale.  Instead of overriding createCollator(Locale),
+     * new implementations should override createCollator(ULocale).  Note that
+     * one of these two methods <b>MUST</b> be overridden or else an infinite
+     * loop will occur.
+     * @stable ICU 2.6
+     */
+    public static abstract class CollatorFactory {
+        /**
+         * Return true if this factory will be visible.  Default is true.
+         * If not visible, the locales supported by this factory will not
+         * be listed by getAvailableLocales.
+         *
+         * @return true if this factory is visible
+         * @stable ICU 2.6
+         */
+        public boolean visible() {
+            return true;
+        }
+
+        /**
+         * Return an instance of the appropriate collator.  If the locale
+         * is not supported, return null.
+         * <b>Note:</b> as of ICU4J 3.2, implementations should override
+         * this method instead of createCollator(Locale).
+         * @param loc the locale for which this collator is to be created.
+         * @return the newly created collator.
+         * @draft ICU 3.2
+         * @deprecated This is a draft API and might change in a future release of ICU.
+         */
+        public Collator createCollator(ULocale loc) {
+            return createCollator(loc.toLocale());
+        }
+
+        /**
+         * Return an instance of the appropriate collator.  If the locale
+         * is not supported, return null.
+         * <p><b>Note:</b> as of ICU4J 3.2, implementations should override
+         * createCollator(ULocale) instead of this method, and inherit this
+         * method's implementation.  This method is no longer abstract
+         * and instead delegates to createCollator(ULocale).
+         * @param loc the locale for which this collator is to be created.
+         * @return the newly created collator.
+         * @stable ICU 2.6
+         */
+         public Collator createCollator(Locale loc) {
+            return createCollator(ULocale.forLocale(loc));
+        }
+
+        /**
+         * Return the name of the collator for the objectLocale, localized for the displayLocale.
+         * If objectLocale is not visible or not defined by the factory, return null.
+         * @param objectLocale the locale identifying the collator
+         * @param displayLocale the locale for which the display name of the collator should be localized
+         * @return the display name
+         * @stable ICU 2.6
+         */
+        public String getDisplayName(Locale objectLocale, Locale displayLocale) {
+            return getDisplayName(ULocale.forLocale(objectLocale), ULocale.forLocale(displayLocale));
+        }
+
+        /**
+         * Return the name of the collator for the objectLocale, localized for the displayLocale.
+         * If objectLocale is not visible or not defined by the factory, return null.
+         * @param objectLocale the locale identifying the collator
+         * @param displayLocale the locale for which the display name of the collator should be localized
+         * @return the display name
+         * @draft ICU 3.2
+         * @deprecated This is a draft API and might change in a future release of ICU.
+         */
+        public String getDisplayName(ULocale objectLocale, ULocale displayLocale) {
+            if (visible()) {
+                Set supported = getSupportedLocaleIDs();
+                String name = objectLocale.getBaseName();
+                if (supported.contains(name)) {
+                    return objectLocale.getDisplayName(displayLocale);
+                }
+            }
+            return null;
+        }
+
+        /**
+         * Return an unmodifiable collection of the locale names directly 
+         * supported by this factory.
+         *
+         * @return the set of supported locale IDs.
+         * @stable ICU 2.6
+         */
+        public abstract Set getSupportedLocaleIDs();
+
+        /**
+         * Empty default constructor.
+         * @stable ICU 2.6
+         */
+        protected CollatorFactory() {
+        }
+    }
+
+    static abstract class ServiceShim {
+        abstract Collator getInstance(ULocale l);
+        abstract Object registerInstance(Collator c, ULocale l);
+        abstract Object registerFactory(CollatorFactory f);
+        abstract boolean unregister(Object k);
+        abstract Locale[] getAvailableLocales(); // TODO remove
+        abstract ULocale[] getAvailableULocales();
+        abstract String getDisplayName(ULocale ol, ULocale dl);
+    }
+    
+    private static ServiceShim shim;
+    private static ServiceShim getShim() {
+        // Note: this instantiation is safe on loose-memory-model configurations
+        // despite lack of synchronization, since the shim instance has no state--
+        // it's all in the class init.  The worst problem is we might instantiate
+        // two shim instances, but they'll share the same state so that's ok.
+        if (shim == null) {
+            try {
+                Class cls = Class.forName("com.ibm.icu.text.CollatorServiceShim");
+                shim = (ServiceShim)cls.newInstance();
+            }
+            catch (MissingResourceException e)
+            {
+                throw e;
+            }
+            catch (Exception e) {
+                ///CLOVER:OFF
+                if(DEBUG){
+                    e.printStackTrace();
+                }
+                throw new RuntimeException(e.getMessage());
+                ///CLOVER:ON
+            }
+        }
+        return shim;
+    }
+
+    /**
+     * Gets the Collator for the desired locale.
+     * @param locale the desired locale.
+     * @return Collator for the desired locale if it is created successfully.
+     *         Otherwise if there is no Collator
+     *         associated with the current locale, a default UCA collator will
+     *         be returned.
+     * @see java.util.Locale
+     * @see java.util.ResourceBundle
+     * @see #getInstance(Locale)
+     * @see #getInstance()
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final Collator getInstance(ULocale locale) {
+        // fetching from service cache is faster than instantiation
+        return getShim().getInstance(locale);
+    }
+
+    /**
+     * Gets the Collator for the desired locale.
+     * @param locale the desired locale.
+     * @return Collator for the desired locale if it is created successfully.
+     *         Otherwise if there is no Collator
+     *         associated with the current locale, a default UCA collator will
+     *         be returned.
+     * @see java.util.Locale
+     * @see java.util.ResourceBundle
+     * @see #getInstance(ULocale)
+     * @see #getInstance()
+     * @stable ICU 2.8
+     */
+    public static final Collator getInstance(Locale locale) {
+        return getInstance(ULocale.forLocale(locale));
+    }
+
+    /**
+     * Register a collator as the default collator for the provided locale.  The
+     * collator should not be modified after it is registered.
+     *
+     * @param collator the collator to register
+     * @param locale the locale for which this is the default collator
+     * @return an object that can be used to unregister the registered collator.
+     *
+     * @draft ICU 3.2
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final Object registerInstance(Collator collator, ULocale locale) {
+        return getShim().registerInstance(collator, locale);
+    }
+
+    /**
+     * Register a collator factory.
+     *
+     * @param factory the factory to register
+     * @return an object that can be used to unregister the registered factory.
+     *
+     * @stable ICU 2.6
+     */
+    public static final Object registerFactory(CollatorFactory factory) {
+        return getShim().registerFactory(factory);
+    }
+
+    /**
+     * Unregister a collator previously registered using registerInstance.
+     * @param registryKey the object previously returned by registerInstance.
+     * @return true if the collator was successfully unregistered.
+     * @stable ICU 2.6
+     */
+    public static final boolean unregister(Object registryKey) {
+        if (shim == null) {
+            return false;
+        }
+        return shim.unregister(registryKey);
+    }
+
+    /**
+     * Get the set of locales, as Locale objects, for which collators
+     * are installed.  Note that Locale objects do not support RFC 3066.
+     * @return the list of locales in which collators are installed.
+     * This list includes any that have been registered, in addition to
+     * those that are installed with ICU4J.
+     * @stable ICU 2.4
+     */
+    public static Locale[] getAvailableLocales() {
+        // TODO make this wrap getAvailableULocales later
+        if (shim == null) {
+            return ICUResourceBundle.getAvailableLocales(ICUResourceBundle.ICU_COLLATION_BASE_NAME);
+        }
+        return shim.getAvailableLocales();
+    }
+
+    /**
+     * Get the set of locales, as ULocale objects, for which collators
+     * are installed.  ULocale objects support RFC 3066.
+     * @return the list of locales in which collators are installed.
+     * This list includes any that have been registered, in addition to
+     * those that are installed with ICU4J.
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final ULocale[] getAvailableULocales() {
+        if (shim == null) {
+            return ICUResourceBundle.getAvailableULocales(ICUResourceBundle.ICU_COLLATION_BASE_NAME);
+        }
+        return shim.getAvailableULocales();
+    }
+    
+    /**
+     * The list of keywords for this service.  This must be kept in sync with
+     * the resource data.
+     * @since ICU 3.0
+     */
+    private static final String[] KEYWORDS = { "collation" };
+
+    /**
+     * The resource name for this service.  Note that this is not the same as
+     * the keyword for this service.
+     * @since ICU 3.0
+     */
+    private static final String RESOURCE = "collations";
+
+    /**
+     * The resource bundle base name for this service.
+     * *since ICU 3.0
+     */
+    private static final String BASE = ICUResourceBundle.ICU_COLLATION_BASE_NAME;
+
+    /**
+     * Return an array of all possible keywords that are relevant to
+     * collation. At this point, the only recognized keyword for this
+     * service is "collation".
+     * @return an array of valid collation keywords.
+     * @see #getKeywordValues
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final String[] getKeywords() {
+        return KEYWORDS;
+    }
+    
+    /**
+     * Given a keyword, return an array of all values for
+     * that keyword that are currently in use.
+     * @param keyword one of the keywords returned by getKeywords.
+     * @see #getKeywords
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final String[] getKeywordValues(String keyword) {
+        if (!keyword.equals(KEYWORDS[0])) {
+            throw new IllegalArgumentException("Invalid keyword: " + keyword);
+        }
+        return ICUResourceBundle.getKeywordValues(BASE, RESOURCE);
+    }
+
+    /**
+     * Return the functionally equivalent locale for the given
+     * requested locale, with respect to given keyword, for the
+     * collation service.  If two locales return the same result, then
+     * collators instantiated for these locales will behave
+     * equivalently.  The converse is not always true; two collators
+     * may in fact be equivalent, but return different results, due to
+     * internal details.  The return result has no other meaning than
+     * that stated above, and implies nothing as to the relationship
+     * between the two locales.  This is intended for use by
+     * applications who wish to cache collators, or otherwise reuse
+     * collators when possible.  The functional equivalent may change
+     * over time.  For more information, please see the <a
+     * href="http://icu.sourceforge.net/userguide/locale.html#services">
+     * Locales and Services</a> section of the ICU User Guide.
+     * @param keyword a particular keyword as enumerated by
+     * getKeywords.
+     * @param locID The requested locale
+     * @param isAvailable If non-null, isAvailable[0] will receive and
+     * output boolean that indicates whether the requested locale was
+     * 'available' to the collation service. The locale is defined as
+     * 'available' if it physically exists within the collation locale
+     * data.  If non-null, isAvailable must have length >= 1.
+     * @return the locale
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final ULocale getFunctionalEquivalent(String keyword,
+                                                        ULocale locID,
+                                                        boolean isAvailable[]) {
+        return ICUResourceBundle.getFunctionalEquivalent(
+                                                         BASE, RESOURCE, keyword, locID, isAvailable);
+    }
+    
+    /**
+     * Return the functionally equivalent locale for the given
+     * requested locale, with respect to given keyword, for the
+     * collation service.
+     * @param keyword a particular keyword as enumerated by
+     * getKeywords.
+     * @param locID The requested locale
+     * @return the locale
+     * @see #getFunctionalEquivalent(String,ULocale,boolean[])
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final ULocale getFunctionalEquivalent(String keyword,
+                                                        ULocale locID) {
+        return getFunctionalEquivalent(keyword, locID, null);
+    }
+    
+    /**
+     * Get the name of the collator for the objectLocale, localized for the displayLocale.
+     * @param objectLocale the locale of the collator
+     * @param displayLocale the locale for the collator's display name
+     * @return the display name
+     * @stable ICU 2.6
+     */
+    static public String getDisplayName(Locale objectLocale, Locale displayLocale) {
+        return getShim().getDisplayName(ULocale.forLocale(objectLocale), 
+                                        ULocale.forLocale(displayLocale));
+    }
+
+    /**
+     * Get the name of the collator for the objectLocale, localized for the displayLocale.
+     * @param objectLocale the locale of the collator
+     * @param displayLocale the locale for the collator's display name
+     * @return the display name
+     * @draft ICU 3.2
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    static public String getDisplayName(ULocale objectLocale, ULocale displayLocale) {
+        return getShim().getDisplayName(objectLocale, displayLocale);
+    }
+
+    /**
+     * Get the name of the collator for the objectLocale, localized for the current locale.
+     * @param objectLocale the locale of the collator
+     * @return the display name
+     * @stable ICU 2.6
+     */
+    static public String getDisplayName(Locale objectLocale) {
+        return getShim().getDisplayName(ULocale.forLocale(objectLocale), ULocale.getDefault());
+    }
+
+    /**
+     * Get the name of the collator for the objectLocale, localized for the current locale.
+     * @param objectLocale the locale of the collator
+     * @return the display name
+     * @draft ICU 3.2
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    static public String getDisplayName(ULocale objectLocale) {
+        return getShim().getDisplayName(objectLocale, ULocale.getDefault());
+    }
+
+    /**
+     * <p>Returns this Collator's strength property. The strength property
+     * determines the minimum level of difference considered significant.
+     * </p>
+     * <p>
+     * See the Collator class description for more details.
+     * </p>
+     * @return this Collator's current strength property.
+     * @see #setStrength
+     * @see #PRIMARY
+     * @see #SECONDARY
+     * @see #TERTIARY
+     * @see #QUATERNARY
+     * @see #IDENTICAL
+     * @stable ICU 2.8
+     */
+    public int getStrength()
+    {
+        return m_strength_;
+    }
+
+    /**
+     * <p>
+     * Get the decomposition mode of this Collator. Decomposition mode
+     * determines how Unicode composed characters are handled.
+     * </p>
+     * <p>
+     * See the Collator class description for more details.
+     * </p>
+     * @return the decomposition mode
+     * @see #setDecomposition
+     * @see #NO_DECOMPOSITION
+     * @see #CANONICAL_DECOMPOSITION
+     * @stable ICU 2.8
+     */
+    public int getDecomposition()
+    {
+        return m_decomposition_;
+    }
+
+    /**
+     * <p>
+     * Compares the source text String to the target text String according to
+     * this Collator's rules, strength and decomposition mode.
+     * Returns an integer less than,
+     * equal to or greater than zero depending on whether the source String is
+     * less than, equal to or greater than the target String. See the Collator
+     * class description for an example of use.
+     * </p>
+     * @param source the source String.
+     * @param target the target String.
+     * @return Returns an integer value. Value is less than zero if source is
+     *         less than target, value is zero if source and target are equal,
+     *         value is greater than zero if source is greater than target.
+     * @see CollationKey
+     * @see #getCollationKey
+     * @exception NullPointerException thrown if either arguments is null.
+     *            IllegalArgumentException thrown if either source or target is
+     *            not of the class String.
+     * @stable ICU 2.8
+     */
+    public int compare(Object source, Object target)
+    {
+        if (!(source instanceof String) || !(target instanceof String)) {
+            throw new IllegalArgumentException("Arguments have to be of type String");
+        }
+        return compare((String)source, (String)target);
+    }
+
+    // public other methods -------------------------------------------------
+
+    /**
+     * Convenience method for comparing the equality of two text Strings using
+     * this Collator's rules, strength and decomposition mode.
+     * @param source the source string to be compared.
+     * @param target the target string to be compared.
+     * @return true if the strings are equal according to the collation
+     *         rules, otherwise false.
+     * @see #compare
+     * @exception NullPointerException thrown if either arguments is null.
+     * @stable ICU 2.8
+     */
+    public boolean equals(String source, String target)
+    {
+        return (compare(source, target) == 0);
+    }
+
+    /**
+     * Get an UnicodeSet that contains all the characters and sequences
+     * tailored in this collator.
+     * @return a pointer to a UnicodeSet object containing all the
+     *         code points and sequences that may sort differently than
+     *         in the UCA.
+     * @stable ICU 2.4
+     */
+    public UnicodeSet getTailoredSet()
+    {
+        return new UnicodeSet(0, 0x10FFFF);
+    }
+
+    /**
+     * <p>
+     * Compares the source text String to the target text String according to
+     * this Collator's rules, strength and decomposition mode.
+     * Returns an integer less than,
+     * equal to or greater than zero depending on whether the source String is
+     * less than, equal to or greater than the target String. See the Collator
+     * class description for an example of use.
+     * </p>
+     * @param source the source String.
+     * @param target the target String.
+     * @return Returns an integer value. Value is less than zero if source is
+     *         less than target, value is zero if source and target are equal,
+     *         value is greater than zero if source is greater than target.
+     * @see CollationKey
+     * @see #getCollationKey
+     * @exception NullPointerException thrown if either arguments is null.
+     * @stable ICU 2.8
+     */
+    public abstract int compare(String source, String target);
+
+    /**
+     * <p>
+     * Transforms the String into a CollationKey suitable for efficient
+     * repeated comparison.  The resulting key depends on the collator's
+     * rules, strength and decomposition mode.
+     * </p>
+     * <p>See the CollationKey class documentation for more information.</p>
+     * @param source the string to be transformed into a CollationKey.
+     * @return the CollationKey for the given String based on this Collator's
+     *         collation rules. If the source String is null, a null
+     *         CollationKey is returned.
+     * @see CollationKey
+     * @see #compare(String, String)
+     * @see #getRawCollationKey
+     * @stable ICU 2.8
+     */
+    public abstract CollationKey getCollationKey(String source);
+    
+    /**
+     * Gets the simpler form of a CollationKey for the String source following
+     * the rules of this Collator and stores the result into the user provided 
+     * argument key. 
+     * If key has a internal byte array of length that's too small for the 
+     * result, the internal byte array will be grown to the exact required 
+     * size.
+     * @param source the text String to be transformed into a RawCollationKey  
+     * @return If key is null, a new instance of RawCollationKey will be 
+     *         created and returned, otherwise the user provided key will be 
+     *         returned.
+     * @see #compare(String, String)
+     * @see #getCollationKey 
+     * @see RawCollationKey
+     * @stable ICU 2.8
+     */
+    public abstract RawCollationKey getRawCollationKey(String source, 
+                                                       RawCollationKey key);
+
+    /** 
+     * <p>
+     * Variable top is a two byte primary value which causes all the codepoints 
+     * with primary values that are less or equal than the variable top to be 
+     * shifted when alternate handling is set to SHIFTED.
+     * </p>
+     * <p>
+     * Sets the variable top to a collation element value of a string supplied.
+     * </p> 
+     * @param varTop one or more (if contraction) characters to which the 
+     *               variable top should be set
+     * @return a int value containing the value of the variable top in upper 16
+     *         bits. Lower 16 bits are undefined.
+     * @exception IllegalArgumentException is thrown if varTop argument is not 
+     *            a valid variable top element. A variable top element is 
+     *            invalid when it is a contraction that does not exist in the
+     *            Collation order or when the PRIMARY strength collation 
+     *            element for the variable top has more than two bytes
+     * @see #getVariableTop
+     * @see RuleBasedCollator#setAlternateHandlingShifted
+     * @stable ICU 2.6
+     */
+    public abstract int setVariableTop(String varTop);
+    
+    /** 
+     * Gets the variable top value of a Collator. 
+     * Lower 16 bits are undefined and should be ignored.
+     * @return the variable top value of a Collator.
+     * @see #setVariableTop
+     * @stable ICU 2.6
+     */
+    public abstract int getVariableTop();
+    
+    /** 
+     * Sets the variable top to a collation element value supplied.
+     * Variable top is set to the upper 16 bits. 
+     * Lower 16 bits are ignored.
+     * @param varTop Collation element value, as returned by setVariableTop or 
+     *               getVariableTop
+     * @see #getVariableTop
+     * @see #setVariableTop
+     * @stable ICU 2.6
+     */
+    public abstract void setVariableTop(int varTop);
+
+    /** 
+     * Get the version of this collator object.
+     * @return the version object associated with this collator
+     * @stable ICU 2.8
+     */
+    public abstract VersionInfo getVersion();
+        
+    /** 
+     * Get the UCA version of this collator object.
+     * @return the version object associated with this collator
+     * @stable ICU 2.8
+     */
+    public abstract VersionInfo getUCAVersion();
+        
+    // protected constructor -------------------------------------------------
+
+    /**
+     * Empty default constructor to make javadocs happy
+     * @stable ICU 2.4
+     */
+    protected Collator()
+    {
+    }
+    
+    // package private methods -----------------------------------------------
+
+    // private data members --------------------------------------------------
+
+    /**
+     * Collation strength
+     */
+    private int m_strength_ = TERTIARY;
+
+    /**
+     * Decomposition mode
+     */
+    private int m_decomposition_ = CANONICAL_DECOMPOSITION;
+    
+    private static final boolean DEBUG = ICUDebug.enabled("collator");
+    
+    // private methods -------------------------------------------------------
+    
+    // end registry stuff
+
+    // -------- BEGIN ULocale boilerplate --------
+
+    /**
+     * Return the locale that was used to create this object, or null.
+     * This may may differ from the locale requested at the time of
+     * this object's creation.  For example, if an object is created
+     * for locale <tt>en_US_CALIFORNIA</tt>, the actual data may be
+     * drawn from <tt>en</tt> (the <i>actual</i> locale), and
+     * <tt>en_US</tt> may be the most specific locale that exists (the
+     * <i>valid</i> locale).
+     *
+     * <p>Note: This method will be implemented in ICU 3.0; ICU 2.8
+     * contains a partial preview implementation.  The * <i>actual</i>
+     * locale is returned correctly, but the <i>valid</i> locale is
+     * not, in most cases.
+     * @param type type of information requested, either {@link
+     * com.ibm.icu.util.ULocale#VALID_LOCALE} or {@link
+     * com.ibm.icu.util.ULocale#ACTUAL_LOCALE}.
+     * @return the information specified by <i>type</i>, or null if
+     * this object was not constructed from locale data.
+     * @see com.ibm.icu.util.ULocale
+     * @see com.ibm.icu.util.ULocale#VALID_LOCALE
+     * @see com.ibm.icu.util.ULocale#ACTUAL_LOCALE
+     * @draft ICU 2.8 (retain)
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public final ULocale getLocale(ULocale.Type type) {
+        return type == ULocale.ACTUAL_LOCALE ?
+            this.actualLocale : this.validLocale;
+    }
+
+    /**
+     * Set information about the locales that were used to create this
+     * object.  If the object was not constructed from locale data,
+     * both arguments should be set to null.  Otherwise, neither
+     * should be null.  The actual locale must be at the same level or
+     * less specific than the valid locale.  This method is intended
+     * for use by factories or other entities that create objects of
+     * this class.
+     * @param valid the most specific locale containing any resource
+     * data, or null
+     * @param actual the locale containing data used to construct this
+     * object, or null
+     * @see com.ibm.icu.util.ULocale
+     * @see com.ibm.icu.util.ULocale#VALID_LOCALE
+     * @see com.ibm.icu.util.ULocale#ACTUAL_LOCALE
+     * @internal
+     */
+    final void setLocale(ULocale valid, ULocale actual) {
+        // Change the following to an assertion later
+        if ((valid == null) != (actual == null)) {
+            ///CLOVER:OFF
+            throw new IllegalArgumentException();
+            ///CLOVER:ON
+        }
+        // Another check we could do is that the actual locale is at
+        // the same level or less specific than the valid locale.
+        this.validLocale = valid;
+        this.actualLocale = actual;
+    }
+
+    /**
+     * The most specific locale containing any resource data, or null.
+     * @see com.ibm.icu.util.ULocale
+     * @internal
+     */
+    private ULocale validLocale;
+
+    /**
+     * The locale containing data used to construct this object, or
+     * null.
+     * @see com.ibm.icu.util.ULocale
+     * @internal
+     */
+    private ULocale actualLocale;
+
+    // -------- END ULocale boilerplate --------
+}
diff --git a/src/com/ibm/icu/text/CollatorReader.java b/src/com/ibm/icu/text/CollatorReader.java
new file mode 100644
index 0000000..82bc971
--- /dev/null
+++ b/src/com/ibm/icu/text/CollatorReader.java
@@ -0,0 +1,662 @@
+/**
+*******************************************************************************
+* Copyright (C) 1996-2004, International Business Machines Corporation and    *
+* others. All Rights Reserved.                                                *
+*******************************************************************************
+*/
+package com.ibm.icu.text;
+
+import java.io.BufferedInputStream;
+import java.io.ByteArrayInputStream;
+import java.io.InputStream;
+import java.io.DataInputStream;
+import java.io.IOException;
+
+import com.ibm.icu.impl.ICUBinary;
+import com.ibm.icu.impl.ICUData;
+import com.ibm.icu.impl.ICUResourceBundle;
+import com.ibm.icu.impl.IntTrie;
+import com.ibm.icu.lang.UCharacter;
+import com.ibm.icu.util.VersionInfo;
+import com.ibm.icu.text.CollationParsedRuleBuilder.InverseUCA;
+import com.ibm.icu.text.RuleBasedCollator.UCAConstants;
+
+/**
+* <p>Internal reader class for ICU data file uca.icu containing 
+* Unicode Collation Algorithm data.</p> 
+* <p>This class simply reads uca.icu, authenticates that it is a valid
+* ICU data file and split its contents up into blocks of data for use in
+* <a href=Collator.html>com.ibm.icu.text.Collator</a>.
+* </p> 
+* <p>uca.icu which is in big-endian format is jared together with this 
+* package.</p>
+* @author Syn Wee Quek
+* @since release 2.2, April 18 2002
+* @draft 2.2
+*/
+
+final class CollatorReader
+{          
+    static char[] read(RuleBasedCollator rbc, UCAConstants ucac) throws IOException {
+        InputStream i = ICUData.getRequiredStream(ICUResourceBundle.ICU_BUNDLE+"/ucadata.icu");
+        BufferedInputStream b = new BufferedInputStream(i, 90000);
+        CollatorReader reader = new CollatorReader(b);
+        char[] result = reader.readImp(rbc, ucac);
+        b.close();
+        return result;
+    }
+    
+    static void initRBC(RuleBasedCollator rbc, byte[] data) throws IOException {
+        final int MIN_BINARY_DATA_SIZE_ = (42 + 25) << 2;
+        
+        InputStream i = new ByteArrayInputStream(data);
+        BufferedInputStream b = new BufferedInputStream(i);
+        CollatorReader reader = new CollatorReader(b, false);
+        if (data.length > MIN_BINARY_DATA_SIZE_) {
+            reader.readImp(rbc, null);
+        } else {
+            reader.readHeader(rbc);
+            reader.readOptions(rbc);
+            // duplicating UCA_'s data
+            rbc.setWithUCATables();
+        }
+    }
+    
+    static InverseUCA getInverseUCA() throws IOException {
+        InverseUCA result = null;
+        InputStream i = ICUData.getRequiredStream(ICUResourceBundle.ICU_BUNDLE+"/invuca.icu");
+//        try    {
+//            String invdat = "/com/ibm/icu/impl/data/invuca.icu";
+//            InputStream i = CollationParsedRuleBuilder.class.getResourceAsStream(invdat);
+            BufferedInputStream b = new BufferedInputStream(i, 110000);
+            result = CollatorReader.readInverseUCA(b);
+            b.close();
+            i.close();
+            return result;
+//        } catch (Exception e) {
+//            throw new RuntimeException(e.getMessage());
+//        }
+    }
+    
+    // protected constructor ---------------------------------------------
+    
+    /**
+    * <p>Protected constructor.</p>
+    * @param inputStream ICU collator file input stream
+    * @exception IOException throw if data file fails authentication 
+    * @draft 2.1
+    */
+    private CollatorReader(InputStream inputStream) throws IOException
+    {
+        this(inputStream, true);
+        /*
+        byte[] UnicodeVersion = ICUBinary.readHeader(inputStream, DATA_FORMAT_ID_, UCA_AUTHENTICATE_);
+        // weiv: check that we have the correct Unicode version in 
+        // binary files
+        VersionInfo UCDVersion = UCharacter.getUnicodeVersion();
+        if(UnicodeVersion[0] != UCDVersion.getMajor() 
+        || UnicodeVersion[1] != UCDVersion.getMinor()) {
+            throw new IOException(WRONG_UNICODE_VERSION_ERROR_);
+        }
+        m_dataInputStream_ = new DataInputStream(inputStream);
+        */
+    }
+    
+    /**
+    * <p>Protected constructor.</p>
+    * @param inputStream ICU uprops.icu file input stream
+    * @param readICUHeader flag to indicate if the ICU header has to be read
+    * @exception IOException throw if data file fails authentication 
+    * @draft 2.1
+    */
+    private CollatorReader(InputStream inputStream, boolean readICUHeader) 
+                                                            throws IOException
+    {
+        if (readICUHeader) {
+            byte[] UnicodeVersion = ICUBinary.readHeader(inputStream, DATA_FORMAT_ID_, 
+                                 UCA_AUTHENTICATE_);
+            // weiv: check that we have the correct Unicode version in 
+            // binary files
+            VersionInfo UCDVersion = UCharacter.getUnicodeVersion();
+            if(UnicodeVersion[0] != UCDVersion.getMajor() 
+            || UnicodeVersion[1] != UCDVersion.getMinor()) {
+                throw new IOException(WRONG_UNICODE_VERSION_ERROR_);
+            }
+        }
+        m_dataInputStream_ = new DataInputStream(inputStream);
+    }
+  
+    // protected methods -------------------------------------------------
+      
+    /**
+    * Read and break up the header stream of data passed in as arguments into 
+    * meaningful Collator data.
+    * @param rbc RuleBasedCollator to populate with header information
+    * @exception IOException thrown when there's a data error.
+    */
+    private void readHeader(RuleBasedCollator rbc) throws IOException
+    {
+        m_size_ = m_dataInputStream_.readInt();
+        // all the offsets are in bytes
+          // to get the address add to the header address and cast properly 
+          // Default options int options
+        m_headerSize_ = m_dataInputStream_.readInt(); // start of options
+        int readcount = 8; // for size and headersize
+        // structure which holds values for indirect positioning and implicit 
+        // ranges
+          int UCAConst = m_dataInputStream_.readInt(); 
+        readcount += 4;
+        // this one is needed only for UCA, to copy the appropriate 
+        // contractions
+        m_dataInputStream_.skip(4);
+        readcount += 4;
+          // reserved for future use
+          m_dataInputStream_.skipBytes(4);
+        readcount += 4;
+          // const uint8_t *mappingPosition; 
+          int mapping = m_dataInputStream_.readInt();
+        readcount += 4;
+          // uint32_t *expansion; 
+          rbc.m_expansionOffset_ = m_dataInputStream_.readInt();
+        readcount += 4; 
+          // UChar *contractionIndex;     
+          rbc.m_contractionOffset_ = m_dataInputStream_.readInt();
+        readcount += 4; 
+          // uint32_t *contractionCEs;
+          int contractionCE = m_dataInputStream_.readInt();
+        readcount += 4;   
+          // needed for various closures int contractionSize 
+          int contractionSize = m_dataInputStream_.readInt();
+        readcount += 4;  
+          // array of last collation element in expansion
+          int expansionEndCE = m_dataInputStream_.readInt();
+        readcount += 4;  
+          // array of maximum expansion size corresponding to the expansion
+        // collation elements with last element in expansionEndCE
+          int expansionEndCEMaxSize = m_dataInputStream_.readInt();
+        readcount += 4;     
+          // size of endExpansionCE int expansionEndCESize
+          m_dataInputStream_.skipBytes(4);
+        readcount += 4; 
+          // hash table of unsafe code points 
+          int unsafe = m_dataInputStream_.readInt();
+        readcount += 4;            
+          // hash table of final code points in contractions.
+          int contractionEnd = m_dataInputStream_.readInt();
+        readcount += 4;
+          // int CEcount = m_dataInputStream_.readInt();
+          m_dataInputStream_.skipBytes(4);
+        readcount += 4;
+          // is jamoSpecial
+          rbc.m_isJamoSpecial_ = m_dataInputStream_.readBoolean();
+        readcount ++; 
+        // padding
+          m_dataInputStream_.skipBytes(3);
+        readcount += 3;
+        rbc.m_version_ = readVersion(m_dataInputStream_);
+        readcount += 4;
+        rbc.m_UCA_version_ = readVersion(m_dataInputStream_);
+        readcount += 4;
+        rbc.m_UCD_version_ = readVersion(m_dataInputStream_);
+        readcount += 4;
+          // byte charsetName[] = new byte[32]; // for charset CEs
+          m_dataInputStream_.skipBytes(32);
+        readcount += 32;
+          m_dataInputStream_.skipBytes(56); // for future use
+        readcount += 56; 
+        if (m_headerSize_ < readcount) {
+            throw new IOException("Internal Error: Header size error");
+        }
+        m_dataInputStream_.skipBytes(m_headerSize_ - readcount);
+        
+          if (rbc.m_contractionOffset_ == 0) { // contraction can be null
+              rbc.m_contractionOffset_ = mapping;
+              contractionCE = mapping;
+          }
+        m_optionSize_ = rbc.m_expansionOffset_ - m_headerSize_;
+          m_expansionSize_ = rbc.m_contractionOffset_ - rbc.m_expansionOffset_;
+          m_contractionIndexSize_ = contractionCE - rbc.m_contractionOffset_;
+          m_contractionCESize_ = mapping - contractionCE;
+          m_trieSize_ = expansionEndCE - mapping;
+          m_expansionEndCESize_ = expansionEndCEMaxSize - expansionEndCE;
+          m_expansionEndCEMaxSizeSize_ = unsafe - expansionEndCEMaxSize;
+          m_unsafeSize_ = contractionEnd - unsafe;
+        m_UCAValuesSize_ = m_size_ - UCAConst; // UCA value, will be handled later
+        // treat it as normal collator first
+        // for normal collator there is no UCA contraction
+        m_contractionEndSize_ = m_size_ - contractionEnd;    
+        
+          rbc.m_contractionOffset_ >>= 1; // casting to ints
+          rbc.m_expansionOffset_ >>= 2; // casting to chars
+    }
+    
+    /**
+     * Read and break up the collation options passed in the stream of data
+     * and update the argument Collator with the results
+     * @param rbc RuleBasedCollator to populate
+     * @exception IOException thrown when there's a data error.
+     * @draft 2.2
+     */
+    private void readOptions(RuleBasedCollator rbc) throws IOException
+    {
+        int readcount = 0;
+        rbc.m_defaultVariableTopValue_ = m_dataInputStream_.readInt();
+        readcount += 4;
+        rbc.m_defaultIsFrenchCollation_ = (m_dataInputStream_.readInt()
+                                      == RuleBasedCollator.AttributeValue.ON_);
+        readcount += 4;
+        rbc.m_defaultIsAlternateHandlingShifted_ 
+                                   = (m_dataInputStream_.readInt() == 
+                                    RuleBasedCollator.AttributeValue.SHIFTED_);
+        readcount += 4;
+        rbc.m_defaultCaseFirst_ = m_dataInputStream_.readInt();
+        readcount += 4;
+        rbc.m_defaultIsCaseLevel_ = (m_dataInputStream_.readInt() 
+                                     == RuleBasedCollator.AttributeValue.ON_);
+        readcount += 4;
+        int value = m_dataInputStream_.readInt();
+        readcount += 4;
+        if (value == RuleBasedCollator.AttributeValue.ON_) {
+            value = Collator.CANONICAL_DECOMPOSITION;
+        }
+        else {
+            value = Collator.NO_DECOMPOSITION;
+        }
+        rbc.m_defaultDecomposition_ = value;
+        rbc.m_defaultStrength_ = m_dataInputStream_.readInt();
+        readcount += 4;
+        rbc.m_defaultIsHiragana4_ = (m_dataInputStream_.readInt() 
+                                     == RuleBasedCollator.AttributeValue.ON_);
+        readcount += 4;
+        rbc.m_defaultIsNumericCollation_ = (m_dataInputStream_.readInt() 
+                                      == RuleBasedCollator.AttributeValue.ON_);
+        readcount += 4;
+        m_dataInputStream_.skip(60); // reserved for future use
+        readcount += 60;
+        m_dataInputStream_.skipBytes(m_optionSize_ - readcount);
+        if (m_optionSize_ < readcount) {
+            throw new IOException("Internal Error: Option size error");
+        }
+    }
+    
+    /**
+    * Read and break up the stream of data passed in as arguments into 
+    * meaningful Collator data.
+    * @param rbc RuleBasedCollator to populate
+    * @param UCAConst object to fill up with UCA constants if we are reading 
+    *                 the UCA collator, if not use a null
+    * @return UCAContractions array filled up with the UCA contractions if we
+    *                        are reading the UCA collator
+    * @exception IOException thrown when there's a data error.
+    * @draft 2.2
+    */
+    private char[] readImp(RuleBasedCollator rbc, 
+                          RuleBasedCollator.UCAConstants UCAConst) 
+                                                            throws IOException
+    {
+        readHeader(rbc);
+        // header size has been checked by readHeader
+        int readcount = m_headerSize_; 
+        // option size has been checked by readOptions
+        readOptions(rbc);
+        readcount += m_optionSize_;
+        m_expansionSize_ >>= 2;
+        rbc.m_expansion_ = new int[m_expansionSize_];
+        for (int i = 0; i < m_expansionSize_; i ++) {
+            rbc.m_expansion_[i] = m_dataInputStream_.readInt();
+        }
+        readcount += (m_expansionSize_ << 2);
+        if (m_contractionIndexSize_ > 0) { 
+            m_contractionIndexSize_ >>= 1;
+            rbc.m_contractionIndex_ = new char[m_contractionIndexSize_];
+            for (int i = 0; i < m_contractionIndexSize_; i ++) {
+                rbc.m_contractionIndex_[i] = m_dataInputStream_.readChar();
+            }
+            readcount += (m_contractionIndexSize_ << 1);
+            m_contractionCESize_ >>= 2;
+            rbc.m_contractionCE_ = new int[m_contractionCESize_];
+            for (int i = 0; i < m_contractionCESize_; i ++) {
+                rbc.m_contractionCE_[i] = m_dataInputStream_.readInt();
+            }
+            readcount += (m_contractionCESize_ << 2);
+        }
+        rbc.m_trie_ = new IntTrie(m_dataInputStream_, 
+                                 RuleBasedCollator.DataManipulate.getInstance());
+        if (!rbc.m_trie_.isLatin1Linear()) {
+            throw new IOException("Data corrupted, " 
+                                  + "Collator Tries expected to have linear "
+                                  + "latin one data arrays");
+        }
+        readcount += rbc.m_trie_.getSerializedDataSize();
+        m_expansionEndCESize_ >>= 2;
+        rbc.m_expansionEndCE_ = new int[m_expansionEndCESize_];
+        for (int i = 0; i < m_expansionEndCESize_; i ++) {
+            rbc.m_expansionEndCE_[i] = m_dataInputStream_.readInt();
+        }
+        readcount += (m_expansionEndCESize_ << 2);
+        rbc.m_expansionEndCEMaxSize_ = new byte[m_expansionEndCEMaxSizeSize_];
+        for (int i = 0; i < m_expansionEndCEMaxSizeSize_; i ++) {
+            rbc.m_expansionEndCEMaxSize_[i] = m_dataInputStream_.readByte();
+        }
+        readcount += m_expansionEndCEMaxSizeSize_;
+        rbc.m_unsafe_ = new byte[m_unsafeSize_];
+        for (int i = 0; i < m_unsafeSize_; i ++) {
+            rbc.m_unsafe_[i] = m_dataInputStream_.readByte();
+        }
+        readcount += m_unsafeSize_;
+        if (UCAConst != null) {
+            // we are reading the UCA
+            // unfortunately the UCA offset in any collator data is not 0 and
+            // only refers to the UCA data
+            m_contractionEndSize_ -= m_UCAValuesSize_;       
+        }
+        rbc.m_contractionEnd_ = new byte[m_contractionEndSize_];
+        for (int i = 0; i < m_contractionEndSize_; i ++) {
+            rbc.m_contractionEnd_[i] = m_dataInputStream_.readByte();
+        }
+        readcount += m_contractionEndSize_;
+        if (UCAConst != null) {
+            UCAConst.FIRST_TERTIARY_IGNORABLE_[0] 
+                                               = m_dataInputStream_.readInt();
+            int readUCAConstcount = 4;
+            UCAConst.FIRST_TERTIARY_IGNORABLE_[1] 
+                                               = m_dataInputStream_.readInt();
+            readUCAConstcount += 4;
+            UCAConst.LAST_TERTIARY_IGNORABLE_[0] 
+                                               = m_dataInputStream_.readInt();
+            readUCAConstcount += 4;
+            UCAConst.LAST_TERTIARY_IGNORABLE_[1] 
+                                               = m_dataInputStream_.readInt();
+            readUCAConstcount += 4;
+            UCAConst.FIRST_PRIMARY_IGNORABLE_[0] 
+                                               = m_dataInputStream_.readInt();
+            readUCAConstcount += 4;
+            UCAConst.FIRST_PRIMARY_IGNORABLE_[1] 
+                                               = m_dataInputStream_.readInt();
+            readUCAConstcount += 4;
+            UCAConst.FIRST_SECONDARY_IGNORABLE_[0] 
+                                               = m_dataInputStream_.readInt();
+            readUCAConstcount += 4;
+            UCAConst.FIRST_SECONDARY_IGNORABLE_[1] 
+                                               = m_dataInputStream_.readInt();
+            readUCAConstcount += 4;
+            UCAConst.LAST_SECONDARY_IGNORABLE_[0] 
+                                               = m_dataInputStream_.readInt();
+            readUCAConstcount += 4;
+            UCAConst.LAST_SECONDARY_IGNORABLE_[1] 
+                                               = m_dataInputStream_.readInt();
+            readUCAConstcount += 4;
+            UCAConst.LAST_PRIMARY_IGNORABLE_[0] 
+                                               = m_dataInputStream_.readInt();
+            readUCAConstcount += 4;
+            UCAConst.LAST_PRIMARY_IGNORABLE_[1] 
+                                               = m_dataInputStream_.readInt();
+            readUCAConstcount += 4;
+            UCAConst.FIRST_VARIABLE_[0] = m_dataInputStream_.readInt();     
+            readUCAConstcount += 4;
+            UCAConst.FIRST_VARIABLE_[1] = m_dataInputStream_.readInt();
+            readUCAConstcount += 4;
+            UCAConst.LAST_VARIABLE_[0] = m_dataInputStream_.readInt(); 
+            readUCAConstcount += 4;
+            UCAConst.LAST_VARIABLE_[1] = m_dataInputStream_.readInt();                     
+            readUCAConstcount += 4;
+            UCAConst.FIRST_NON_VARIABLE_[0] = m_dataInputStream_.readInt();  
+            readUCAConstcount += 4;
+            UCAConst.FIRST_NON_VARIABLE_[1] = m_dataInputStream_.readInt();  
+            readUCAConstcount += 4;
+            UCAConst.LAST_NON_VARIABLE_[0] = m_dataInputStream_.readInt();  
+            readUCAConstcount += 4;
+            UCAConst.LAST_NON_VARIABLE_[1] = m_dataInputStream_.readInt();  
+            readUCAConstcount += 4;
+            UCAConst.RESET_TOP_VALUE_[0] = m_dataInputStream_.readInt();  
+            readUCAConstcount += 4;
+            UCAConst.RESET_TOP_VALUE_[1] = m_dataInputStream_.readInt();  
+            readUCAConstcount += 4;
+            UCAConst.FIRST_IMPLICIT_[0] = m_dataInputStream_.readInt();  
+            readUCAConstcount += 4;
+            UCAConst.FIRST_IMPLICIT_[1] = m_dataInputStream_.readInt();  
+            readUCAConstcount += 4;
+            UCAConst.LAST_IMPLICIT_[0] = m_dataInputStream_.readInt();  
+            readUCAConstcount += 4;
+            UCAConst.LAST_IMPLICIT_[1] = m_dataInputStream_.readInt();  
+            readUCAConstcount += 4;
+            UCAConst.FIRST_TRAILING_[0] = m_dataInputStream_.readInt();  
+            readUCAConstcount += 4;
+            UCAConst.FIRST_TRAILING_[1] = m_dataInputStream_.readInt();  
+            readUCAConstcount += 4;
+            UCAConst.LAST_TRAILING_[0] = m_dataInputStream_.readInt();  
+            readUCAConstcount += 4;
+            UCAConst.LAST_TRAILING_[1] = m_dataInputStream_.readInt();   
+            readUCAConstcount += 4; 
+            UCAConst.PRIMARY_TOP_MIN_ = m_dataInputStream_.readInt();  
+            readUCAConstcount += 4;
+            UCAConst.PRIMARY_IMPLICIT_MIN_ = m_dataInputStream_.readInt();   
+            readUCAConstcount += 4;
+            UCAConst.PRIMARY_IMPLICIT_MAX_ = m_dataInputStream_.readInt();   
+            readUCAConstcount += 4;
+            UCAConst.PRIMARY_TRAILING_MIN_ = m_dataInputStream_.readInt();   
+            readUCAConstcount += 4;
+            UCAConst.PRIMARY_TRAILING_MAX_ = m_dataInputStream_.readInt();   
+            readUCAConstcount += 4;
+            UCAConst.PRIMARY_SPECIAL_MIN_ = m_dataInputStream_.readInt();   
+            readUCAConstcount += 4;
+            UCAConst.PRIMARY_SPECIAL_MAX_ = m_dataInputStream_.readInt();   
+            readUCAConstcount += 4;
+            int resultsize = (m_UCAValuesSize_ - readUCAConstcount) >> 1;
+            char result[] = new char[resultsize];
+            for (int i = 0; i < resultsize; i ++) {
+                result[i] = m_dataInputStream_.readChar();
+            }
+            readcount += m_UCAValuesSize_;
+            if (readcount != m_size_) {
+                throw new IOException("Internal Error: Data file size error");
+            }
+            return result;
+        }
+        if (readcount != m_size_) {
+            throw new IOException("Internal Error: Data file size error");
+        }
+        return null;
+    }
+    
+    /**
+     * Reads in the inverse uca data
+     * @param input input stream with the inverse uca data
+     * @return an object containing the inverse uca data
+     * @exception IOException thrown when error occurs while reading the 
+     *            inverse uca
+     */
+    private static CollationParsedRuleBuilder.InverseUCA readInverseUCA(
+                                                      InputStream inputStream)
+                                                      throws IOException
+    {
+         byte[] UnicodeVersion = ICUBinary.readHeader(inputStream, INVERSE_UCA_DATA_FORMAT_ID_, 
+                              INVERSE_UCA_AUTHENTICATE_);
+                              
+        // weiv: check that we have the correct Unicode version in 
+        // binary files
+        VersionInfo UCDVersion = UCharacter.getUnicodeVersion();
+        if(UnicodeVersion[0] != UCDVersion.getMajor() 
+        || UnicodeVersion[1] != UCDVersion.getMinor()) {
+            throw new IOException(WRONG_UNICODE_VERSION_ERROR_);
+        }
+                              
+        CollationParsedRuleBuilder.InverseUCA result = 
+                                  new CollationParsedRuleBuilder.InverseUCA();
+        DataInputStream input = new DataInputStream(inputStream);        
+        input.readInt(); // bytesize
+        int tablesize = input.readInt(); // in int size
+        int contsize = input.readInt();  // in char size
+        input.readInt(); // table in bytes
+        input.readInt(); // conts in bytes
+        result.m_UCA_version_ = readVersion(input);
+        input.skipBytes(8); // skip padding
+        
+        int size = tablesize * 3; // one column for each strength
+        result.m_table_ = new int[size];
+        result.m_continuations_ = new char[contsize];
+        
+        for (int i = 0; i < size; i ++) {
+            result.m_table_[i] = input.readInt();
+        }
+        for (int i = 0; i < contsize; i ++) {
+            result.m_continuations_[i] = input.readChar();
+        }
+        input.close();
+        return result;
+    }
+    
+    /**
+     * Reads four bytes from the input and returns a VersionInfo
+     * object. Use it to read different collator versions.
+     * @param input already instantiated DataInputStream, positioned 
+     *              at the start of four version bytes
+     * @return a ready VersionInfo object
+     * @throws IOException thrown when error occurs while reading  
+     *            version bytes
+     */
+    
+    protected static VersionInfo readVersion(DataInputStream input) 
+        throws IOException {
+        byte[] version = new byte[4];
+        version[0] = input.readByte();
+        version[1] = input.readByte();
+        version[2] = input.readByte();
+        version[3] = input.readByte();
+        
+        VersionInfo result = 
+        VersionInfo.getInstance(
+            (int)version[0], (int)version[1], 
+            (int)version[2], (int)version[3]);
+        
+        return result;
+    }
+    
+    // private inner class -----------------------------------------------
+    
+    // private variables -------------------------------------------------
+    
+    /**
+     * Authenticate uca data format version
+     */
+    private static final ICUBinary.Authenticate UCA_AUTHENTICATE_ 
+                = new ICUBinary.Authenticate() {
+                        public boolean isDataVersionAcceptable(byte version[])
+                        {
+                            return version[0] == DATA_FORMAT_VERSION_[0] 
+                                   && version[1] >= DATA_FORMAT_VERSION_[1];
+                                   // Too harsh 
+                                   //&& version[1] == DATA_FORMAT_VERSION_[1]
+                                   //&& version[2] == DATA_FORMAT_VERSION_[2] 
+                                   //&& version[3] == DATA_FORMAT_VERSION_[3];
+                        }
+                };
+                
+    /**
+     * Authenticate uca data format version
+     */
+    private static final ICUBinary.Authenticate INVERSE_UCA_AUTHENTICATE_ 
+                = new ICUBinary.Authenticate() {
+                        public boolean isDataVersionAcceptable(byte version[])
+                        {
+                            return version[0] 
+                                    == INVERSE_UCA_DATA_FORMAT_VERSION_[0] 
+                                && version[1] 
+                                    >= INVERSE_UCA_DATA_FORMAT_VERSION_[1];
+                        }
+                };
+  
+    /**
+    * Data input stream for uca.icu 
+    */
+    private DataInputStream m_dataInputStream_;
+   
+    /**
+    * File format version and id that this class understands.
+    * No guarantees are made if a older version is used
+    */
+    private static final byte DATA_FORMAT_VERSION_[] = 
+                                   {(byte)0x2, (byte)0x2, (byte)0x0, (byte)0x0};
+    private static final byte DATA_FORMAT_ID_[] = {(byte)0x55, (byte)0x43,  
+                                                    (byte)0x6f, (byte)0x6c};
+    /**
+    * Inverse UCA file format version and id that this class understands.
+    * No guarantees are made if a older version is used
+    */
+    private static final byte INVERSE_UCA_DATA_FORMAT_VERSION_[] = 
+                                   {(byte)0x2, (byte)0x1, (byte)0x0, (byte)0x0};
+    private static final byte INVERSE_UCA_DATA_FORMAT_ID_[] = {(byte)0x49, 
+                                                               (byte)0x6e,  
+                                                               (byte)0x76, 
+                                                               (byte)0x43};
+    /**
+    * Corrupted error string
+    */
+    private static final String CORRUPTED_DATA_ERROR_ =
+                                "Data corrupted in Collation data file";
+                                
+    /**
+    * Wrong unicode version error string
+    */
+    private static final String WRONG_UNICODE_VERSION_ERROR_ =
+                                "Unicode version in binary image is not compatible with the current Unicode version";
+
+    /**
+     * Size of expansion table in bytes
+     */
+    private int m_expansionSize_;
+    /**
+     * Size of contraction index table in bytes
+     */
+    private int m_contractionIndexSize_;
+    /**
+     * Size of contraction table in bytes
+     */
+    private int m_contractionCESize_;
+    /**
+     * Size of the Trie in bytes
+     */
+    private int m_trieSize_;
+    /**
+     * Size of the table that contains information about collation elements
+     * that end with an expansion 
+     */
+    private int m_expansionEndCESize_;
+    /**
+     * Size of the table that contains information about the maximum size of 
+     * collation elements that end with a particular expansion CE corresponding
+     * to the ones in expansionEndCE
+     */
+    private int m_expansionEndCEMaxSizeSize_;
+    /**
+     * Size of the option table that contains information about the collation
+     * options
+     */
+    private int m_optionSize_;
+    /**
+     * Size of the whole data file minusing the ICU header
+     */
+    private int m_size_;
+    /**
+     * Size of the collation data header
+     */
+    private int m_headerSize_;
+    /**
+     * Size of the table that contains information about the "Unsafe" 
+     * codepoints
+     */
+    private int m_unsafeSize_;
+    /**
+     * Size of the table that contains information about codepoints that ends
+     * with a contraction
+     */
+    private int m_contractionEndSize_;
+    /**
+     * Size of the table that contains UCA contraction information
+     */
+    private int m_UCAValuesSize_;
+      
+    // private methods ---------------------------------------------------
+      
+}
+
diff --git a/src/com/ibm/icu/text/CollatorServiceShim.java b/src/com/ibm/icu/text/CollatorServiceShim.java
new file mode 100644
index 0000000..cdd8fc9
--- /dev/null
+++ b/src/com/ibm/icu/text/CollatorServiceShim.java
@@ -0,0 +1,135 @@
+/**
+*******************************************************************************
+* Copyright (C) 2003-2005, International Business Machines Corporation and         *
+* others. All Rights Reserved.                                                *
+*******************************************************************************
+*/
+
+package com.ibm.icu.text;
+
+import java.util.Locale;
+import java.util.MissingResourceException;
+import java.util.Set;
+
+import com.ibm.icu.impl.ICULocaleService;
+import com.ibm.icu.impl.ICUResourceBundle;
+import com.ibm.icu.impl.ICULocaleService.LocaleKeyFactory;
+import com.ibm.icu.impl.ICUService;
+import com.ibm.icu.impl.ICUService.Factory;
+import com.ibm.icu.impl.LocaleUtility;
+import com.ibm.icu.text.Collator.CollatorFactory;
+import com.ibm.icu.util.ULocale;
+import com.ibm.icu.impl.ICUResourceBundle;
+
+final class CollatorServiceShim extends Collator.ServiceShim {
+
+    Collator getInstance(ULocale locale) {
+    // use service cache, it's faster than instantiation
+//          if (service.isDefault()) {
+//              return new RuleBasedCollator(locale);
+//          }
+
+        try {
+            ULocale[] actualLoc = new ULocale[1];
+            Collator coll = (Collator)service.get(locale, actualLoc);
+            if (coll == null) {
+                throw new MissingResourceException("Could not locate Collator data", "", "");
+            }
+            coll = (Collator) coll.clone();
+            coll.setLocale(actualLoc[0], actualLoc[0]); // services make no distinction between actual & valid
+            return coll;
+        }
+        catch (CloneNotSupportedException e) {
+        ///CLOVER:OFF
+            throw new InternalError(e.getMessage());
+        ///CLOVER:ON
+        }
+    }
+
+    Object registerInstance(Collator collator, ULocale locale) {
+        return service.registerObject(collator, locale);
+    }
+
+    Object registerFactory(CollatorFactory f) {
+        class CFactory extends LocaleKeyFactory {
+            CollatorFactory delegate;
+
+            CFactory(CollatorFactory f) {
+                super(f.visible()); 
+                this.delegate = f;
+            }
+
+            public Object handleCreate(ULocale loc, int kind, ICUService service) {
+                Object coll = delegate.createCollator(loc);
+                return coll;
+            }
+                
+            public String getDisplayName(String id, ULocale displayLocale) {
+                ULocale objectLocale = new ULocale(id);
+                return delegate.getDisplayName(objectLocale, displayLocale);
+            }
+
+            public Set getSupportedIDs() {
+                return delegate.getSupportedLocaleIDs();
+            }
+        }
+
+        return service.registerFactory(new CFactory(f));
+    }
+
+    boolean unregister(Object registryKey) {
+        return service.unregisterFactory((Factory)registryKey);
+    }
+
+    Locale[] getAvailableLocales() {
+        // TODO rewrite this to just wrap getAvailableULocales later
+        if (service.isDefault()) {
+            return ICUResourceBundle.getAvailableLocales(ICUResourceBundle.ICU_COLLATION_BASE_NAME);
+        }
+        return service.getAvailableLocales();
+    }
+
+    ULocale[] getAvailableULocales() {
+        if (service.isDefault()) {
+            return ICUResourceBundle.getAvailableULocales(ICUResourceBundle.ICU_COLLATION_BASE_NAME);
+        }
+        return service.getAvailableULocales();
+    }
+
+    String getDisplayName(ULocale objectLocale, ULocale displayLocale) {
+        String id = objectLocale.getName();
+        return service.getDisplayName(id, displayLocale);
+    }
+
+    private static class CService extends ICULocaleService {
+        CService() {
+            super("Collator");
+
+            class CollatorFactory extends ICUResourceBundleFactory {
+                CollatorFactory() {
+                    super(ICUResourceBundle.ICU_COLLATION_BASE_NAME);
+                }
+
+                protected Object handleCreate(ULocale uloc, int kind, ICUService service) {
+                    return new RuleBasedCollator(uloc);
+                }
+            }
+
+            this.registerFactory(new CollatorFactory());
+            markDefault();
+        }
+
+        protected Object handleDefault(Key key, String[] actualIDReturn) {
+            if (actualIDReturn != null) {
+                actualIDReturn[0] = "root";
+            }
+            try {
+                return new RuleBasedCollator(ULocale.ROOT);
+            }
+            catch (MissingResourceException e) {
+                return null;
+            }
+        }
+    }
+    private static ICULocaleService service = new CService();
+}
diff --git a/src/com/ibm/icu/text/ComposedCharIter.java b/src/com/ibm/icu/text/ComposedCharIter.java
new file mode 100755
index 0000000..62553fc
--- /dev/null
+++ b/src/com/ibm/icu/text/ComposedCharIter.java
@@ -0,0 +1,164 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.text;
+import com.ibm.icu.impl.NormalizerImpl;
+
+/**
+ * <tt>ComposedCharIter</tt> is an iterator class that returns all
+ * of the precomposed characters defined in the Unicode standard, along
+ * with their decomposed forms.  This is often useful when building
+ * data tables (<i>e.g.</i> collation tables) which need to treat composed
+ * and decomposed characters equivalently.
+ * <p>
+ * For example, imagine that you have built a collation table with ordering
+ * rules for the {@link Normalizer#DECOMP canonically decomposed} forms of all
+ * characters used in a particular language.  When you process input text using
+ * this table, the text must first be decomposed so that it matches the form
+ * used in the table.  This can impose a performance penalty that may be
+ * unacceptable in some situations.
+ * <p>
+ * You can avoid this problem by ensuring that the collation table contains
+ * rules for both the decomposed <i>and</i> composed versions of each character.
+ * To do so, use a <tt>ComposedCharIter</tt> to iterate through all of the
+ * composed characters in Unicode.  If the decomposition for that character
+ * consists solely of characters that are listed in your ruleset, you can
+ * add a new rule for the composed character that makes it equivalent to
+ * its decomposition sequence.
+ * <p>
+ * Note that <tt>ComposedCharIter</tt> iterates over a <em>static</em> table
+ * of the composed characters in Unicode.  If you want to iterate over the
+ * composed characters in a particular string, use {@link Normalizer} instead.
+ * <p>
+ * When constructing a <tt>ComposedCharIter</tt> there is one
+ * optional feature that you can enable or disable:
+ * <ul>
+ *   <li>{@link Normalizer#IGNORE_HANGUL} - Do not iterate over the Hangul
+ *          characters and their corresponding Jamo decompositions.
+ *          This option is off by default (<i>i.e.</i> Hangul processing is enabled)
+ *          since the Unicode standard specifies that Hangul to Jamo 
+ *          is a canonical decomposition.
+ * </ul>
+ * <p>
+ * <tt>ComposedCharIter</tt> is currently based on version 2.1.8 of the
+ * <a href="http://www.unicode.org" target="unicode">Unicode Standard</a>.
+ * It will be updated as later versions of Unicode are released.
+ * @deprecated ICU 2.2
+ */
+///CLOVER:OFF
+public final class ComposedCharIter {
+    
+    /**
+     * Constant that indicates the iteration has completed.
+     * {@link #next} returns this value when there are no more composed characters
+     * over which to iterate.
+     * @deprecated ICU 2.2
+     */
+    public static final  char DONE = (char) Normalizer.DONE;
+    
+    /**
+     * Construct a new <tt>ComposedCharIter</tt>.  The iterator will return
+     * all Unicode characters with canonical decompositions, including Korean
+     * Hangul characters.
+     * @deprecated ICU 2.2
+     */
+    public ComposedCharIter() {
+        compat = false;
+        options =0;
+    }
+    
+    
+    /**
+     * Constructs a non-default <tt>ComposedCharIter</tt> with optional behavior.
+     * <p>
+     * @param compat    <tt>false</tt> for canonical decompositions only;
+     *                  <tt>true</tt> for both canonical and compatibility
+     *                  decompositions.
+     *
+     * @param options   Optional decomposition features.  Currently, the only
+     *                  supported option is {@link Normalizer#IGNORE_HANGUL}, which
+     *                  causes this <tt>ComposedCharIter</tt> not to iterate
+     *                  over the Hangul characters and their corresponding
+     *                  Jamo decompositions.
+     * @deprecated ICU 2.2
+     */
+    public ComposedCharIter(boolean compat, int options) {
+        this.compat = compat;
+        this.options = options;
+    }
+    
+    /**
+     * Determines whether there any precomposed Unicode characters not yet returned
+     * by {@link #next}.
+     * @deprecated ICU 2.2
+     */
+    public boolean hasNext() {
+        if (nextChar == Normalizer.DONE)  {
+            findNextChar();
+        }
+        return nextChar != Normalizer.DONE;
+    }
+    
+    /**
+     * Returns the next precomposed Unicode character.
+     * Repeated calls to <tt>next</tt> return all of the precomposed characters defined
+     * by Unicode, in ascending order.  After all precomposed characters have
+     * been returned, {@link #hasNext} will return <tt>false</tt> and further calls
+     * to <tt>next</tt> will return {@link #DONE}.
+     * @deprecated ICU 2.2
+     */
+    public char next() {
+        if (nextChar == Normalizer.DONE)  {
+            findNextChar();
+        }
+        curChar = nextChar;
+        nextChar = Normalizer.DONE;
+        return (char) curChar;
+    }
+    
+    /**
+     * Returns the Unicode decomposition of the current character.
+     * This method returns the decomposition of the precomposed character most
+     * recently returned by {@link #next}.  The resulting decomposition is
+     * affected by the settings of the options passed to the constructor.
+     * @deprecated ICU 2.2
+     */
+    public String decomposition() {
+        // the decomposition buffer contains the decomposition of 
+        // current char so just return it
+        return new String(decompBuf,0, bufLen);
+    }
+    
+    private void findNextChar() {
+        int c=curChar+1;
+        for(;;){
+           if(c < 0xFFFF){
+               bufLen = NormalizerImpl.getDecomposition(c,compat,
+                                                        decompBuf,0,
+                                                        decompBuf.length);
+               if(bufLen>0){
+                    // the curChar can be decomposed... so it is a composed char
+                    // cache the result     
+                    break;
+               }
+               c++;
+           }else{
+               c=Normalizer.DONE;
+               break;
+           }
+        }
+        nextChar=c;  
+    }
+    
+    private int options;
+    private boolean compat;
+    private char[] decompBuf = new char[100];
+    private int bufLen=0;
+    private int curChar = 0;
+    private int nextChar = Normalizer.DONE;
+    
+
+};
diff --git a/src/com/ibm/icu/text/CompoundTransliterator.java b/src/com/ibm/icu/text/CompoundTransliterator.java
new file mode 100755
index 0000000..35e07f6
--- /dev/null
+++ b/src/com/ibm/icu/text/CompoundTransliterator.java
@@ -0,0 +1,515 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.text;
+import com.ibm.icu.impl.Utility;
+import com.ibm.icu.impl.UtilityExtensions;
+import java.util.Vector;
+
+/**
+ * A transliterator that is composed of two or more other
+ * transliterator objects linked together.  For example, if one
+ * transliterator transliterates from script A to script B, and
+ * another transliterates from script B to script C, the two may be
+ * combined to form a new transliterator from A to C.
+ *
+ * <p>Composed transliterators may not behave as expected.  For
+ * example, inverses may not combine to form the identity
+ * transliterator.  See the class documentation for {@link
+ * Transliterator} for details.
+ *
+ * <p>Copyright &copy; IBM Corporation 1999.  All rights reserved.
+ *
+ * @author Alan Liu
+ * @internal
+ */
+class CompoundTransliterator extends Transliterator {
+
+    private Transliterator[] trans;
+
+    private int numAnonymousRBTs = 0;
+
+    private static final String COPYRIGHT =
+        "\u00A9 IBM Corporation 1999-2001. All rights reserved.";
+
+    /**
+     * Constructs a new compound transliterator given an array of
+     * transliterators.  The array of transliterators may be of any
+     * length, including zero or one, however, useful compound
+     * transliterators have at least two components.
+     * @param transliterators array of <code>Transliterator</code>
+     * objects
+     * @param filter the filter.  Any character for which
+     * <tt>filter.contains()</tt> returns <tt>false</tt> will not be
+     * altered by this transliterator.  If <tt>filter</tt> is
+     * <tt>null</tt> then no filtering is applied.
+     * @internal
+     */
+    public CompoundTransliterator(Transliterator[] transliterators,
+                                  UnicodeFilter filter) {
+        super(joinIDs(transliterators), filter);
+        trans = new Transliterator[transliterators.length];
+        System.arraycopy(transliterators, 0, trans, 0, trans.length);
+        computeMaximumContextLength();
+    }
+
+    /**
+     * Constructs a new compound transliterator given an array of
+     * transliterators.  The array of transliterators may be of any
+     * length, including zero or one, however, useful compound
+     * transliterators have at least two components.
+     * @param transliterators array of <code>Transliterator</code>
+     * objects
+     * @internal
+     */
+    public CompoundTransliterator(Transliterator[] transliterators) {
+        this(transliterators, null);
+    }
+
+    /**
+     * Constructs a new compound transliterator.
+     * @param ID compound ID
+     * @param direction either Transliterator.FORWARD or Transliterator.REVERSE
+     * @param filter a global filter for this compound transliterator
+     * or null
+     * @internal
+     */
+    public CompoundTransliterator(String ID, int direction,
+                                  UnicodeFilter filter) {
+        super(ID, filter);
+        init(ID, direction, true);
+    }
+
+    /**
+     * Constructs a new compound transliterator with no filter.
+     * @param ID compound ID
+     * @param direction either Transliterator.FORWARD or Transliterator.REVERSE
+     * @internal
+     */
+    public CompoundTransliterator(String ID, int direction) {
+        this(ID, direction, null);
+    }
+
+    /**
+     * Constructs a new forward compound transliterator with no filter.
+     * @param ID compound ID
+     * @internal
+     */
+    public CompoundTransliterator(String ID) {
+        this(ID, FORWARD, null);
+    }
+
+    /**
+     * Package private constructor for Transliterator from a vector of
+     * transliterators.  The caller is responsible for fixing up the
+     * ID.
+     */
+    CompoundTransliterator(Vector list) {
+        this(list, 0);
+    }
+
+    CompoundTransliterator(Vector list, int numAnonymousRBTs) {
+        super("", null);
+        trans = null;
+        init(list, FORWARD, false);
+        this.numAnonymousRBTs = numAnonymousRBTs;
+        // assume caller will fixup ID
+    }
+
+    /**
+     * Finish constructing a transliterator: only to be called by
+     * constructors.  Before calling init(), set trans and filter to NULL.
+     * @param id the id containing ';'-separated entries
+     * @param direction either FORWARD or REVERSE
+     * @param idSplitPoint the index into id at which the
+     * splitTrans should be inserted, if there is one, or
+     * -1 if there is none.
+     * @param splitTrans a transliterator to be inserted
+     * before the entry at offset idSplitPoint in the id string.  May be
+     * NULL to insert no entry.
+     * @param fixReverseID if TRUE, then reconstruct the ID of reverse
+     * entries by calling getID() of component entries.  Some constructors
+     * do not require this because they apply a facade ID anyway.
+     */
+    private void init(String id,
+                      int direction,
+                      boolean fixReverseID) {
+        // assert(trans == 0);
+
+        Vector list = new Vector();
+        UnicodeSet[] compoundFilter = new UnicodeSet[1];
+        StringBuffer regenID = new StringBuffer();
+        if (!TransliteratorIDParser.parseCompoundID(id, direction,
+                 regenID, list, compoundFilter)) {
+            throw new IllegalArgumentException("Invalid ID " + id);
+        }
+
+        TransliteratorIDParser.instantiateList(list);
+
+        init(list, direction, fixReverseID);
+
+        if (compoundFilter[0] != null) {
+            setFilter(compoundFilter[0]);
+        }
+    }
+
+    /**
+     * Finish constructing a transliterator: only to be called by
+     * constructors.  Before calling init(), set trans and filter to NULL.
+     * @param list a vector of transliterator objects to be adopted.  It
+     * should NOT be empty.  The list should be in declared order.  That
+     * is, it should be in the FORWARD order; if direction is REVERSE then
+     * the list order will be reversed.
+     * @param direction either FORWARD or REVERSE
+     * @param fixReverseID if TRUE, then reconstruct the ID of reverse
+     * entries by calling getID() of component entries.  Some constructors
+     * do not require this because they apply a facade ID anyway.
+     */
+    private void init(Vector list,
+                      int direction,
+                      boolean fixReverseID) {
+        // assert(trans == 0);
+
+        // Allocate array
+        int count = list.size();
+        trans = new Transliterator[count];
+
+        // Move the transliterators from the vector into an array.
+        // Reverse the order if necessary.
+        int i;
+        for (i=0; i<count; ++i) {
+            int j = (direction == FORWARD) ? i : count - 1 - i;
+            trans[i] = (Transliterator) list.elementAt(j);
+        }
+
+        // If the direction is UTRANS_REVERSE then we may need to fix the
+        // ID.
+        if (direction == REVERSE && fixReverseID) {
+            StringBuffer newID = new StringBuffer();
+            for (i=0; i<count; ++i) {
+                if (i > 0) {
+                    newID.append(ID_DELIM);
+                }
+                newID.append(trans[i].getID());
+            }
+            setID(newID.toString());
+        }
+
+        computeMaximumContextLength();
+    }
+
+    /**
+     * Return the IDs of the given list of transliterators, concatenated
+     * with ';' delimiting them.  Equivalent to the perlish expression
+     * join(';', map($_.getID(), transliterators).
+     */
+    private static String joinIDs(Transliterator[] transliterators) {
+        StringBuffer id = new StringBuffer();
+        for (int i=0; i<transliterators.length; ++i) {
+            if (i > 0) {
+                id.append(';');
+            }
+            id.append(transliterators[i].getID());
+        }
+        return id.toString();
+    }
+
+    /**
+     * Returns the number of transliterators in this chain.
+     * @return number of transliterators in this chain.
+     * @internal
+     */
+    public int getCount() {
+        return trans.length;
+    }
+
+    /**
+     * Returns the transliterator at the given index in this chain.
+     * @param index index into chain, from 0 to <code>getCount() - 1</code>
+     * @return transliterator at the given index
+     * @internal
+     */
+    public Transliterator getTransliterator(int index) {
+        return trans[index];
+    }
+
+    /**
+     * Append c to buf, unless buf is empty or buf already ends in c.
+     */
+    private static void _smartAppend(StringBuffer buf, char c) {
+        if (buf.length() != 0 &&
+            buf.charAt(buf.length() - 1) != c) {
+            buf.append(c);
+        }
+    }
+
+    /**
+     * Override Transliterator:
+     * Create a rule string that can be passed to createFromRules()
+     * to recreate this transliterator.
+     * @param escapeUnprintable if TRUE then convert unprintable
+     * character to their hex escape representations, \\uxxxx or
+     * \\Uxxxxxxxx.  Unprintable characters are those other than
+     * U+000A, U+0020..U+007E.
+     * @return the rule string
+     * @internal
+     */
+    public String toRules(boolean escapeUnprintable) {
+        // We do NOT call toRules() on our component transliterators, in
+        // general.  If we have several rule-based transliterators, this
+        // yields a concatenation of the rules -- not what we want.  We do
+        // handle compound RBT transliterators specially -- those for which
+        // compoundRBTIndex >= 0.  For the transliterator at compoundRBTIndex,
+        // we do call toRules() recursively.
+        StringBuffer rulesSource = new StringBuffer();
+        if (numAnonymousRBTs >= 1 && getFilter() != null) {
+            // If we are a compound RBT and if we have a global
+            // filter, then emit it at the top.
+            rulesSource.append("::").append(getFilter().toPattern(escapeUnprintable)).append(ID_DELIM);
+        }
+        for (int i=0; i<trans.length; ++i) {
+            String rule;
+
+            // Anonymous RuleBasedTransliterators (inline rules and
+            // ::BEGIN/::END blocks) are given IDs that begin with
+            // "%Pass": use toRules() to write all the rules to the output
+            // (and insert "::Null;" if we have two in a row)
+            if (trans[i].getID().startsWith("%Pass")) {
+                rule = trans[i].toRules(escapeUnprintable);
+                if (numAnonymousRBTs > 1 && i > 0 && trans[i - 1].getID().startsWith("%Pass"))
+                    rule = "::Null;" + rule;
+
+            // we also use toRules() on CompoundTransliterators (which we
+            // check for by looking for a semicolon in the ID)-- this gets
+            // the list of their child transliterators output in the right
+            // format
+            } else if (trans[i].getID().indexOf(';') >= 0) {
+                rule = trans[i].toRules(escapeUnprintable);
+
+            // for everything else, use baseToRules()
+            } else {
+                rule = trans[i].baseToRules(escapeUnprintable);
+            }
+            _smartAppend(rulesSource, '\n');
+            rulesSource.append(rule);
+            _smartAppend(rulesSource, ID_DELIM);
+        }
+        return rulesSource.toString();
+    }
+
+    /**
+     * Return the set of all characters that may be modified by this
+     * Transliterator, ignoring the effect of our filter.
+     * @internal
+     */
+    protected UnicodeSet handleGetSourceSet() {
+        UnicodeSet set = new UnicodeSet();
+        for (int i=0; i<trans.length; ++i) {
+            set.addAll(trans[i].getSourceSet());
+            // Take the example of Hiragana-Latin.  This is really
+            // Hiragana-Katakana; Katakana-Latin.  The source set of
+            // these two is roughly [:Hiragana:] and [:Katakana:].
+            // But the source set for the entire transliterator is
+            // actually [:Hiragana:] ONLY -- that is, the first
+            // non-empty source set.
+
+            // This is a heuristic, and not 100% reliable.
+            if (!set.isEmpty()) {
+                break;
+            }
+        }
+        return set;
+    }
+
+    /**
+     * Returns the set of all characters that may be generated as
+     * replacement text by this transliterator.
+     * @internal
+     */
+    public UnicodeSet getTargetSet() {
+        UnicodeSet set = new UnicodeSet();
+        for (int i=0; i<trans.length; ++i) {
+            // This is a heuristic, and not 100% reliable.
+            set.addAll(trans[i].getTargetSet());
+        }
+        return set;
+    }
+
+    /**
+     * Implements {@link Transliterator#handleTransliterate}.
+     * @internal
+     */
+    protected void handleTransliterate(Replaceable text,
+                                       Position index, boolean incremental) {
+        /* Call each transliterator with the same start value and
+         * initial cursor index, but with the limit index as modified
+         * by preceding transliterators.  The cursor index must be
+         * reset for each transliterator to give each a chance to
+         * transliterate the text.  The initial cursor index is known
+         * to still point to the same place after each transliterator
+         * is called because each transliterator will not change the
+         * text between start and the initial value of cursor.
+         *
+         * IMPORTANT: After the first transliterator, each subsequent
+         * transliterator only gets to transliterate text committed by
+         * preceding transliterators; that is, the cursor (output
+         * value) of transliterator i becomes the limit (input value)
+         * of transliterator i+1.  Finally, the overall limit is fixed
+         * up before we return.
+         *
+         * Assumptions we make here:
+         * (1) contextStart <= start <= limit <= contextLimit <= text.length()
+         * (2) start <= start' <= limit'  ;cursor doesn't move back
+         * (3) start <= limit'            ;text before cursor unchanged
+         * - start' is the value of start after calling handleKT
+         * - limit' is the value of limit after calling handleKT
+         */
+
+        /**
+         * Example: 3 transliterators.  This example illustrates the
+         * mechanics we need to implement.  C, S, and L are the contextStart,
+         * start, and limit.  gl is the globalLimit.  contextLimit is
+         * equal to limit throughout.
+         *
+         * 1. h-u, changes hex to Unicode
+         *
+         *    4  7  a  d  0      4  7  a
+         *    abc/u0061/u    =>  abca/u
+         *    C  S       L       C   S L   gl=f->a
+         *
+         * 2. upup, changes "x" to "XX"
+         *
+         *    4  7  a       4  7  a
+         *    abca/u    =>  abcAA/u
+         *    C  SL         C    S
+         *                       L    gl=a->b
+         * 3. u-h, changes Unicode to hex
+         *
+         *    4  7  a        4  7  a  d  0  3
+         *    abcAA/u    =>  abc/u0041/u0041/u
+         *    C  S L         C              S
+         *                                  L   gl=b->15
+         * 4. return
+         *
+         *    4  7  a  d  0  3
+         *    abc/u0041/u0041/u
+         *    C S L
+         */
+
+        if (trans.length < 1) {
+            index.start = index.limit;
+            return; // Short circuit for empty compound transliterators
+        }
+
+        // compoundLimit is the limit value for the entire compound
+        // operation.  We overwrite index.limit with the previous
+        // index.start.  After each transliteration, we update
+        // compoundLimit for insertions or deletions that have happened.
+        int compoundLimit = index.limit;
+
+        // compoundStart is the start for the entire compound
+        // operation.
+        int compoundStart = index.start;
+
+        int delta = 0; // delta in length
+
+        StringBuffer log = null;
+        if (DEBUG) {
+            log = new StringBuffer("CompoundTransliterator{" + getID() +
+                                   (incremental ? "}i: IN=" : "}: IN="));
+            UtilityExtensions.formatInput(log, text, index);
+            System.out.println(Utility.escape(log.toString()));
+        }
+
+        // Give each transliterator a crack at the run of characters.
+        // See comments at the top of the method for more detail.
+        for (int i=0; i<trans.length; ++i) {
+            index.start = compoundStart; // Reset start
+            int limit = index.limit;
+
+            if (index.start == index.limit) {
+                // Short circuit for empty range
+                if (DEBUG) {
+                    System.out.println("CompoundTransliterator[" + i +
+                                       ".." + (trans.length-1) +
+                                       (incremental ? "]i: " : "]: ") +
+                                       UtilityExtensions.formatInput(text, index) +
+                                       " (NOTHING TO DO)");
+                }
+                break;
+            }
+
+            if (DEBUG) {
+                log.setLength(0);
+                log.append("CompoundTransliterator[" + i + "=" +
+                           trans[i].getID() +
+                           (incremental ? "]i: " : "]: "));
+                UtilityExtensions.formatInput(log, text, index);
+            }
+
+            trans[i].filteredTransliterate(text, index, incremental);
+
+            // In a properly written transliterator, start == limit after
+            // handleTransliterate() returns when incremental is false.
+            // Catch cases where the subclass doesn't do this, and throw
+            // an exception.  (Just pinning start to limit is a bad idea,
+            // because what's probably happening is that the subclass
+            // isn't transliterating all the way to the end, and it should
+            // in non-incremental mode.)
+            if (!incremental && index.start != index.limit) {
+                throw new RuntimeException("ERROR: Incomplete non-incremental transliteration by " + trans[i].getID());
+            }
+
+            if (DEBUG) {
+                log.append(" => ");
+                UtilityExtensions.formatInput(log, text, index);
+                System.out.println(Utility.escape(log.toString()));
+            }
+
+            // Cumulative delta for insertions/deletions
+            delta += index.limit - limit;
+
+            if (incremental) {
+                // In the incremental case, only allow subsequent
+                // transliterators to modify what has already been
+                // completely processed by prior transliterators.  In the
+                // non-incrmental case, allow each transliterator to
+                // process the entire text.
+                index.limit = index.start;
+            }
+        }
+
+        compoundLimit += delta;
+
+        // Start is good where it is -- where the last transliterator left
+        // it.  Limit needs to be put back where it was, modulo
+        // adjustments for deletions/insertions.
+        index.limit = compoundLimit;
+
+        if (DEBUG) {
+            log.setLength(0);
+            log.append("CompoundTransliterator{" + getID() +
+                       (incremental ? "}i: OUT=" : "}: OUT="));
+            UtilityExtensions.formatInput(log, text, index);
+            System.out.println(Utility.escape(log.toString()));
+        }
+    }
+
+    /**
+     * Compute and set the length of the longest context required by this transliterator.
+     * This is <em>preceding</em> context.
+     */
+    private void computeMaximumContextLength() {
+        int max = 0;
+        for (int i=0; i<trans.length; ++i) {
+            int len = trans[i].getMaximumContextLength();
+            if (len > max) {
+                max = len;
+            }
+        }
+        setMaximumContextLength(max);
+    }
+}
diff --git a/src/com/ibm/icu/text/CurrencyFormat.java b/src/com/ibm/icu/text/CurrencyFormat.java
new file mode 100644
index 0000000..968443a
--- /dev/null
+++ b/src/com/ibm/icu/text/CurrencyFormat.java
@@ -0,0 +1,61 @@
+/*
+**********************************************************************
+* Copyright (c) 2004, International Business Machines
+* Corporation and others.  All Rights Reserved.
+**********************************************************************
+* Author: Alan Liu
+* Created: April 20, 2004
+* Since: ICU 3.0
+**********************************************************************
+*/
+package com.ibm.icu.text;
+
+import java.text.FieldPosition;
+import java.text.ParsePosition;
+
+import com.ibm.icu.util.CurrencyAmount;
+import com.ibm.icu.util.ULocale;
+
+/**
+ * Temporary internal concrete subclass of MeasureFormat implementing
+ * parsing and formatting of CurrencyAmount objects.  This class is
+ * likely to be redesigned and rewritten in the near future.
+ *
+ * <p>This class currently delegates to DecimalFormat for parsing and
+ * formatting.
+ *
+ * @see com.ibm.icu.text.UFormat
+ * @see com.ibm.icu.text.DecimalFormat
+ * @author Alan Liu
+ * @internal
+ */
+class CurrencyFormat extends MeasureFormat {
+
+    private NumberFormat fmt;
+
+    public CurrencyFormat(ULocale locale) {
+        fmt = NumberFormat.getCurrencyInstance(locale.toLocale());
+    }
+
+    /**
+     * Override Format.format().
+     * @see java.text.Format#format(java.lang.Object, java.lang.StringBuffer, java.text.FieldPosition)
+     */
+    public StringBuffer format(Object obj, StringBuffer toAppendTo, FieldPosition pos) {
+        try {
+            CurrencyAmount currency = (CurrencyAmount) obj;
+            fmt.setCurrency(currency.getCurrency());
+            return fmt.format(currency.getNumber(), toAppendTo, pos);
+        } catch (ClassCastException e) {
+            throw new IllegalArgumentException("Invalid type: " + obj.getClass().getName());
+        }
+    }
+
+    /**
+     * Override Format.parseObject().
+     * @see java.text.Format#parseObject(java.lang.String, java.text.ParsePosition)
+     */
+    public Object parseObject(String source, ParsePosition pos) {
+        return fmt.parseCurrency(source, pos);
+    }
+}
diff --git a/src/com/ibm/icu/text/DateFormat.java b/src/com/ibm/icu/text/DateFormat.java
new file mode 100755
index 0000000..3e3fc1b
--- /dev/null
+++ b/src/com/ibm/icu/text/DateFormat.java
@@ -0,0 +1,1157 @@
+/*
+*   Copyright (C) 1996-2005, International Business Machines
+*   Corporation and others.  All Rights Reserved.
+*/
+
+package com.ibm.icu.text;
+
+//import com.ibm.icu.impl.ICULocaleData;
+import com.ibm.icu.util.Calendar;
+import com.ibm.icu.util.TimeZone;
+import com.ibm.icu.util.ULocale;
+import com.ibm.icu.util.UResourceBundle;
+import com.ibm.icu.impl.ICUResourceBundle;
+import com.ibm.icu.text.UFormat;
+
+import java.text.FieldPosition;
+import java.text.ParseException;
+import java.text.ParsePosition;
+import java.util.Date;
+import java.util.Locale;
+import java.util.MissingResourceException;
+
+/**
+ * DateFormat is an abstract class for date/time formatting subclasses which
+ * formats and parses dates or time in a language-independent manner.
+ * The date/time formatting subclass, such as SimpleDateFormat, allows for
+ * formatting (i.e., date -> text), parsing (text -> date), and
+ * normalization.  The date is represented as a <code>Date</code> object or
+ * as the milliseconds since January 1, 1970, 00:00:00 GMT.
+ *
+ * <p>DateFormat provides many class methods for obtaining default date/time
+ * formatters based on the default or a given loacle and a number of formatting
+ * styles. The formatting styles include FULL, LONG, MEDIUM, and SHORT. More
+ * detail and examples of using these styles are provided in the method
+ * descriptions.
+ *
+ * <p>DateFormat helps you to format and parse dates for any locale.
+ * Your code can be completely independent of the locale conventions for
+ * months, days of the week, or even the calendar format: lunar vs. solar.
+ *
+ * <p>To format a date for the current Locale, use one of the
+ * static factory methods:
+ * <pre>
+ *  myString = DateFormat.getDateInstance().format(myDate);
+ * </pre>
+ * <p>If you are formatting multiple numbers, it is
+ * more efficient to get the format and use it multiple times so that
+ * the system doesn't have to fetch the information about the local
+ * language and country conventions multiple times.
+ * <pre>
+ *  DateFormat df = DateFormat.getDateInstance();
+ *  for (int i = 0; i < a.length; ++i) {
+ *    output.println(df.format(myDate[i]) + "; ");
+ *  }
+ * </pre>
+ * <p>To format a number for a different Locale, specify it in the
+ * call to getDateInstance().
+ * <pre>
+ *  DateFormat df = DateFormat.getDateInstance(DateFormat.LONG, Locale.FRANCE);
+ * </pre>
+ * <p>You can use a DateFormat to parse also.
+ * <pre>
+ *  myDate = df.parse(myString);
+ * </pre>
+ * <p>Use getDateInstance to get the normal date format for that country.
+ * There are other static factory methods available.
+ * Use getTimeInstance to get the time format for that country.
+ * Use getDateTimeInstance to get a date and time format. You can pass in 
+ * different options to these factory methods to control the length of the
+ * result; from SHORT to MEDIUM to LONG to FULL. The exact result depends
+ * on the locale, but generally:
+ * <ul><li>SHORT is completely numeric, such as 12.13.52 or 3:30pm
+ * <li>MEDIUM is longer, such as Jan 12, 1952
+ * <li>LONG is longer, such as January 12, 1952 or 3:30:32pm
+ * <li>FULL is pretty completely specified, such as
+ * Tuesday, April 12, 1952 AD or 3:30:42pm PST.
+ * </ul>
+ *
+ * <p>You can also set the time zone on the format if you wish.
+ * If you want even more control over the format or parsing,
+ * (or want to give your users more control),
+ * you can try casting the DateFormat you get from the factory methods
+ * to a SimpleDateFormat. This will work for the majority
+ * of countries; just remember to put it in a try block in case you
+ * encounter an unusual one.
+ *
+ * <p>You can also use forms of the parse and format methods with
+ * ParsePosition and FieldPosition to
+ * allow you to
+ * <ul><li>progressively parse through pieces of a string.
+ * <li>align any particular field, or find out where it is for selection
+ * on the screen.
+ * </ul>
+ *
+ * <h4>Synchronization</h4>
+ *
+ * Date formats are not synchronized. It is recommended to create separate 
+ * format instances for each thread. If multiple threads access a format 
+ * concurrently, it must be synchronized externally. 
+ *
+ * @see          UFormat
+ * @see          NumberFormat
+ * @see          SimpleDateFormat
+ * @see          com.ibm.icu.util.Calendar
+ * @see          com.ibm.icu.util.GregorianCalendar
+ * @see          com.ibm.icu.util.TimeZone
+ * @author       Mark Davis, Chen-Lieh Huang, Alan Liu
+ * @stable ICU 2.0
+ */
+public abstract class DateFormat extends UFormat {
+
+    /**
+     * The calendar that <code>DateFormat</code> uses to produce the time field
+     * values needed to implement date and time formatting.  Subclasses should
+     * initialize this to a calendar appropriate for the locale associated with
+     * this <code>DateFormat</code>.
+     * @serial
+     * @stable ICU 2.0
+     */
+    protected Calendar calendar;
+
+    /**
+     * The number formatter that <code>DateFormat</code> uses to format numbers
+     * in dates and times.  Subclasses should initialize this to a number format
+     * appropriate for the locale associated with this <code>DateFormat</code>.
+     * @serial
+     * @stable ICU 2.0
+     */
+    protected NumberFormat numberFormat;
+
+    /**
+     * FieldPosition selector for 'G' field alignment,
+     * corresponding to the {@link Calendar#ERA} field.
+     * @stable ICU 2.0
+     */
+    public final static int ERA_FIELD = 0;
+
+    /**
+     * FieldPosition selector for 'y' field alignment,
+     * corresponding to the {@link Calendar#YEAR} field.
+     * @stable ICU 2.0
+     */
+    public final static int YEAR_FIELD = 1;
+
+    /**
+     * FieldPosition selector for 'M' field alignment,
+     * corresponding to the {@link Calendar#MONTH} field.
+     * @stable ICU 2.0
+     */
+    public final static int MONTH_FIELD = 2;
+
+    /**
+     * FieldPosition selector for 'd' field alignment,
+     * corresponding to the {@link Calendar#DATE} field.
+     * @stable ICU 2.0
+     */
+    public final static int DATE_FIELD = 3;
+
+    /**
+     * FieldPosition selector for 'k' field alignment,
+     * corresponding to the {@link Calendar#HOUR_OF_DAY} field.
+     * HOUR_OF_DAY1_FIELD is used for the one-based 24-hour clock.
+     * For example, 23:59 + 01:00 results in 24:59.
+     * @stable ICU 2.0
+     */
+    public final static int HOUR_OF_DAY1_FIELD = 4;
+
+    /**
+     * FieldPosition selector for 'H' field alignment,
+     * corresponding to the {@link Calendar#HOUR_OF_DAY} field.
+     * HOUR_OF_DAY0_FIELD is used for the zero-based 24-hour clock.
+     * For example, 23:59 + 01:00 results in 00:59.
+     * @stable ICU 2.0
+     */
+    public final static int HOUR_OF_DAY0_FIELD = 5;
+
+    /**
+     * FieldPosition selector for 'm' field alignment,
+     * corresponding to the {@link Calendar#MINUTE} field.
+     * @stable ICU 2.0
+     */
+    public final static int MINUTE_FIELD = 6;
+
+    /**
+     * FieldPosition selector for 's' field alignment,
+     * corresponding to the {@link Calendar#SECOND} field.
+     * @stable ICU 2.0
+     */
+    public final static int SECOND_FIELD = 7;
+
+    /**
+     * FieldPosition selector for 'S' field alignment,
+     * corresponding to the {@link Calendar#MILLISECOND} field.
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public final static int FRACTIONAL_SECOND_FIELD = 8;
+
+    /**
+     * Alias for FRACTIONAL_SECOND_FIELD.
+     * @deprecated ICU 3.0 use FRACTIONAL_SECOND_FIELD.
+     */
+    public final static int MILLISECOND_FIELD = FRACTIONAL_SECOND_FIELD;
+
+    /**
+     * FieldPosition selector for 'E' field alignment,
+     * corresponding to the {@link Calendar#DAY_OF_WEEK} field.
+     * @stable ICU 2.0
+     */
+    public final static int DAY_OF_WEEK_FIELD = 9;
+
+    /**
+     * FieldPosition selector for 'D' field alignment,
+     * corresponding to the {@link Calendar#DAY_OF_YEAR} field.
+     * @stable ICU 2.0
+     */
+    public final static int DAY_OF_YEAR_FIELD = 10;
+
+    /**
+     * FieldPosition selector for 'F' field alignment,
+     * corresponding to the {@link Calendar#DAY_OF_WEEK_IN_MONTH} field.
+     * @stable ICU 2.0
+     */
+    public final static int DAY_OF_WEEK_IN_MONTH_FIELD = 11;
+
+    /**
+     * FieldPosition selector for 'w' field alignment,
+     * corresponding to the {@link Calendar#WEEK_OF_YEAR} field.
+     * @stable ICU 2.0
+     */
+    public final static int WEEK_OF_YEAR_FIELD = 12;
+
+    /**
+     * FieldPosition selector for 'W' field alignment,
+     * corresponding to the {@link Calendar#WEEK_OF_MONTH} field.
+     * @stable ICU 2.0
+     */
+    public final static int WEEK_OF_MONTH_FIELD = 13;
+
+    /**
+     * FieldPosition selector for 'a' field alignment,
+     * corresponding to the {@link Calendar#AM_PM} field.
+     * @stable ICU 2.0
+     */
+    public final static int AM_PM_FIELD = 14;
+
+    /**
+     * FieldPosition selector for 'h' field alignment,
+     * corresponding to the {@link Calendar#HOUR} field.
+     * HOUR1_FIELD is used for the one-based 12-hour clock.
+     * For example, 11:30 PM + 1 hour results in 12:30 AM.
+     * @stable ICU 2.0
+     */
+    public final static int HOUR1_FIELD = 15;
+
+    /**
+     * FieldPosition selector for 'K' field alignment,
+     * corresponding to the {@link Calendar#HOUR} field.
+     * HOUR0_FIELD is used for the zero-based 12-hour clock.
+     * For example, 11:30 PM + 1 hour results in 00:30 AM.
+     * @stable ICU 2.0
+     */
+    public final static int HOUR0_FIELD = 16;
+
+    /**
+     * FieldPosition selector for 'z' field alignment,
+     * corresponding to the {@link Calendar#ZONE_OFFSET} and
+     * {@link Calendar#DST_OFFSET} fields.
+     * @stable ICU 2.0
+     */
+    public final static int TIMEZONE_FIELD = 17;
+
+    /**
+     * FieldPosition selector for 'Y' field alignment,
+     * corresponding to the {@link Calendar#YEAR_WOY} field.
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public final static int YEAR_WOY_FIELD = 18;
+
+    /**
+     * FieldPosition selector for 'e' field alignment,
+     * corresponding to the {@link Calendar#DOW_LOCAL} field.
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public final static int DOW_LOCAL_FIELD = 19;
+
+    /**
+     * FieldPosition selector for 'u' field alignment,
+     * corresponding to the {@link Calendar#EXTENDED_YEAR} field.
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public final static int EXTENDED_YEAR_FIELD = 20;
+
+    /**
+     * FieldPosition selector for 'g' field alignment,
+     * corresponding to the {@link Calendar#JULIAN_DAY} field.
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public final static int JULIAN_DAY_FIELD = 21;
+
+    /**
+     * FieldPosition selector for 'A' field alignment,
+     * corresponding to the {@link Calendar#MILLISECONDS_IN_DAY} field.
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public final static int MILLISECONDS_IN_DAY_FIELD = 22;
+
+    /**
+     * FieldPosition selector for 'Z' field alignment,
+     * corresponding to the {@link Calendar#ZONE_OFFSET} and
+     * {@link Calendar#DST_OFFSET} fields.
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public final static int TIMEZONE_RFC_FIELD = 23;
+
+    /**
+     * FieldPosition selector for 'v' field alignment,
+     * corresponding to the {@link Calendar#ZONE_OFFSET} and
+     * {@link Calendar#DST_OFFSET} fields.  This displays the generic zone
+     * name, if available.
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public final static int TIMEZONE_GENERIC_FIELD = 24;
+ 
+
+    
+    /**
+     * FieldPosition selector for 'c' field alignment,
+     * corresponding to the {@link Calendar#DAY_OF_WEEK} field. 
+     * This displays the stand alone day name, if available.
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public final static int STANDALONE_DAY_FIELD = 25;
+    
+    /**
+     * FieldPosition selector for 'L' field alignment,
+     * corresponding to the {@link Calendar#MONTH} field.  
+     * This displays the stand alone month name, if available.
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public final static int STANDALONE_MONTH_FIELD = 26;
+    
+    /**
+     * Number of FieldPosition selectors for DateFormat.
+     * Valid selectors range from 0 to FIELD_COUNT-1.
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public final static int FIELD_COUNT = 27; // must == DateFormatSymbols.patternChars.length()
+
+    // Proclaim serial compatibility with 1.1 FCS
+    private static final long serialVersionUID = 7218322306649953788L;
+
+    /**
+     * Overrides Format.
+     * Formats a time object into a time string. Examples of time objects
+     * are a time value expressed in milliseconds and a Date object.
+     * @param obj must be a Number or a Date or a Calendar.
+     * @param toAppendTo the string buffer for the returning time string.
+     * @return the formatted time string.
+     * @param fieldPosition keeps track of the position of the field
+     * within the returned string.
+     * On input: an alignment field,
+     * if desired. On output: the offsets of the alignment field. For
+     * example, given a time text "1996.07.10 AD at 15:08:56 PDT",
+     * if the given fieldPosition is DateFormat.YEAR_FIELD, the
+     * begin index and end index of fieldPosition will be set to
+     * 0 and 4, respectively.
+     * Notice that if the same time field appears
+     * more than once in a pattern, the fieldPosition will be set for the first
+     * occurence of that time field. For instance, formatting a Date to
+     * the time string "1 PM PDT (Pacific Daylight Time)" using the pattern
+     * "h a z (zzzz)" and the alignment field DateFormat.TIMEZONE_FIELD,
+     * the begin index and end index of fieldPosition will be set to
+     * 5 and 8, respectively, for the first occurence of the timezone
+     * pattern character 'z'.
+     * @see java.text.Format
+     * @stable ICU 2.0
+     */
+    public final StringBuffer format(Object obj, StringBuffer toAppendTo,
+                                     FieldPosition fieldPosition)
+    {
+        if (obj instanceof Calendar)
+            return format( (Calendar)obj, toAppendTo, fieldPosition );
+        else if (obj instanceof Date)
+            return format( (Date)obj, toAppendTo, fieldPosition );
+        else if (obj instanceof Number)
+            return format( new Date(((Number)obj).longValue()),
+                          toAppendTo, fieldPosition );
+        else 
+            throw new IllegalArgumentException("Cannot format given Object as a Date");
+    }
+
+    /**
+     * Formats a date into a date/time string.
+     * @param cal a Calendar set to the date and time to be formatted
+     * into a date/time string.
+     * @param toAppendTo the string buffer for the returning date/time string.
+     * @param fieldPosition keeps track of the position of the field
+     * within the returned string.
+     * On input: an alignment field,
+     * if desired. On output: the offsets of the alignment field. For
+     * example, given a time text "1996.07.10 AD at 15:08:56 PDT",
+     * if the given fieldPosition is DateFormat.YEAR_FIELD, the
+     * begin index and end index of fieldPosition will be set to
+     * 0 and 4, respectively.
+     * Notice that if the same time field appears
+     * more than once in a pattern, the fieldPosition will be set for the first
+     * occurence of that time field. For instance, formatting a Date to
+     * the time string "1 PM PDT (Pacific Daylight Time)" using the pattern
+     * "h a z (zzzz)" and the alignment field DateFormat.TIMEZONE_FIELD,
+     * the begin index and end index of fieldPosition will be set to
+     * 5 and 8, respectively, for the first occurence of the timezone
+     * pattern character 'z'.
+     * @return the formatted date/time string.
+     * @stable ICU 2.0
+     */
+    public abstract StringBuffer format(Calendar cal, StringBuffer toAppendTo,
+                                        FieldPosition fieldPosition);
+
+    /**
+     * Formats a Date into a date/time string.
+     * @param date a Date to be formatted into a date/time string.
+     * @param toAppendTo the string buffer for the returning date/time string.
+     * @param fieldPosition keeps track of the position of the field
+     * within the returned string.
+     * On input: an alignment field,
+     * if desired. On output: the offsets of the alignment field. For
+     * example, given a time text "1996.07.10 AD at 15:08:56 PDT",
+     * if the given fieldPosition is DateFormat.YEAR_FIELD, the
+     * begin index and end index of fieldPosition will be set to
+     * 0 and 4, respectively.
+     * Notice that if the same time field appears
+     * more than once in a pattern, the fieldPosition will be set for the first
+     * occurence of that time field. For instance, formatting a Date to
+     * the time string "1 PM PDT (Pacific Daylight Time)" using the pattern
+     * "h a z (zzzz)" and the alignment field DateFormat.TIMEZONE_FIELD,
+     * the begin index and end index of fieldPosition will be set to
+     * 5 and 8, respectively, for the first occurence of the timezone
+     * pattern character 'z'.
+     * @return the formatted date/time string.
+     * @stable ICU 2.0
+     */
+    public final StringBuffer format(Date date, StringBuffer toAppendTo,
+                                     FieldPosition fieldPosition) {
+        // Use our Calendar object
+        calendar.setTime(date);
+        return format(calendar, toAppendTo, fieldPosition);
+    }
+
+    /**
+     * Formats a Date into a date/time string.
+     * @param date the time value to be formatted into a time string.
+     * @return the formatted time string.
+     * @stable ICU 2.0
+     */
+    public final String format(Date date)
+    {
+        return format(date, new StringBuffer(64),new FieldPosition(0)).toString();
+    }
+
+    /**
+     * Parse a date/time string.
+     *
+     * @param text  The date/time string to be parsed
+     *
+     * @return      A Date, or null if the input could not be parsed
+     *
+     * @exception  ParseException  If the given string cannot be parsed as a date.
+     *
+     * @see #parse(String, ParsePosition)
+     * @stable ICU 2.0
+     */
+    public Date parse(String text) throws ParseException
+    {
+        ParsePosition pos = new ParsePosition(0);
+        Date result = parse(text, pos);
+        if (pos.getIndex() == 0) // ICU4J
+            throw new ParseException("Unparseable date: \"" + text + "\"" ,
+                                     pos.getErrorIndex()); // ICU4J
+        return result;
+    }
+
+    /**
+     * Parse a date/time string according to the given parse position.
+     * For example, a time text "07/10/96 4:5 PM, PDT" will be parsed
+     * into a Calendar that is equivalent to Date(837039928046).  The
+     * caller should clear the calendar before calling this method,
+     * unless existing field information is to be kept.
+     *
+     * <p> By default, parsing is lenient: If the input is not in the form used
+     * by this object's format method but can still be parsed as a date, then
+     * the parse succeeds.  Clients may insist on strict adherence to the
+     * format by calling setLenient(false).
+     *
+     * @see #setLenient(boolean)
+     *
+     * @param text  The date/time string to be parsed
+     *
+     * @param cal   The calendar into which parsed data will be stored.
+     *              In general, this should be cleared before calling this
+     *              method.  If this parse fails, the calendar may still
+     *              have been modified.
+     *
+     * @param pos   On input, the position at which to start parsing; on
+     *              output, the position at which parsing terminated, or the
+     *              start position if the parse failed.
+     * @stable ICU 2.0
+     */
+    public abstract void parse(String text, Calendar cal, ParsePosition pos);
+
+    /**
+     * Parse a date/time string according to the given parse position.  For
+     * example, a time text "07/10/96 4:5 PM, PDT" will be parsed into a Date
+     * that is equivalent to Date(837039928046).
+     *
+     * <p> By default, parsing is lenient: If the input is not in the form used
+     * by this object's format method but can still be parsed as a date, then
+     * the parse succeeds.  Clients may insist on strict adherence to the
+     * format by calling setLenient(false).
+     *
+     * @see #setLenient(boolean)
+     *
+     * @param text  The date/time string to be parsed
+     *
+     * @param pos   On input, the position at which to start parsing; on
+     *              output, the position at which parsing terminated, or the
+     *              start position if the parse failed.
+     *
+     * @return      A Date, or null if the input could not be parsed
+     * @stable ICU 2.0
+     */
+    public final Date parse(String text, ParsePosition pos) {
+        int start = pos.getIndex();
+        calendar.clear();
+        parse(text, calendar, pos);
+        if (pos.getIndex() != start) {
+            try {
+                return calendar.getTime();
+            } catch (IllegalArgumentException e) {
+                // This occurs if the calendar is non-lenient and there is
+                // an out-of-range field.  We don't know which field was
+                // illegal so we set the error index to the start.
+                pos.setIndex(start);
+                pos.setErrorIndex(start);
+            }
+        }
+        return null;
+    }
+
+    /**
+     * Parse a date/time string into an Object.  This convenience method simply
+     * calls parse(String, ParsePosition).
+     *
+     * @see #parse(String, ParsePosition)
+     * @stable ICU 2.0
+     */
+    public Object parseObject (String source, ParsePosition pos)
+    {
+        return parse(source, pos);
+    }
+
+    /**
+     * Constant for full style pattern.
+     * @stable ICU 2.0
+     */
+    public static final int FULL = 0;
+
+    /**
+     * Constant for long style pattern.
+     * @stable ICU 2.0
+     */
+    public static final int LONG = 1;
+
+    /**
+     * Constant for medium style pattern.
+     * @stable ICU 2.0
+     */
+    public static final int MEDIUM = 2;
+
+    /**
+     * Constant for short style pattern.
+     * @stable ICU 2.0
+     */
+    public static final int SHORT = 3;
+
+    /**
+     * Constant for default style pattern.  Its value is MEDIUM.
+     * @stable ICU 2.0
+     */
+    public static final int DEFAULT = MEDIUM;
+
+    /**
+     * Gets the time formatter with the default formatting style
+     * for the default locale.
+     * @return a time formatter.
+     * @stable ICU 2.0
+     */
+    public final static DateFormat getTimeInstance()
+    {
+        return get(-1, DEFAULT, ULocale.getDefault());
+    }
+
+    /**
+     * Gets the time formatter with the given formatting style
+     * for the default locale.
+     * @param style the given formatting style. For example,
+     * SHORT for "h:mm a" in the US locale.
+     * @return a time formatter.
+     * @stable ICU 2.0
+     */
+    public final static DateFormat getTimeInstance(int style)
+    {
+        return get(-1, style, ULocale.getDefault());
+    }
+
+    /**
+     * Gets the time formatter with the given formatting style
+     * for the given locale.
+     * @param style the given formatting style. For example,
+     * SHORT for "h:mm a" in the US locale.
+     * @param aLocale the given locale.
+     * @return a time formatter.
+     * @stable ICU 2.0
+     */
+    public final static DateFormat getTimeInstance(int style,
+                                                 Locale aLocale)
+    {
+        return get(-1, style, ULocale.forLocale(aLocale));
+    }
+
+    /**
+     * Gets the time formatter with the given formatting style
+     * for the given locale.
+     * @param style the given formatting style. For example,
+     * SHORT for "h:mm a" in the US locale.
+     * @param locale the given ulocale.
+     * @return a time formatter.
+     * @draft ICU 3.2
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public final static DateFormat getTimeInstance(int style,
+                                                 ULocale locale)
+    {
+        return get(-1, style, locale);
+    }
+
+    /**
+     * Gets the date formatter with the default formatting style
+     * for the default locale.
+     * @return a date formatter.
+     * @stable ICU 2.0
+     */
+    public final static DateFormat getDateInstance()
+    {
+        return get(DEFAULT, -1, ULocale.getDefault());
+    }
+
+    /**
+     * Gets the date formatter with the given formatting style
+     * for the default locale.
+     * @param style the given formatting style. For example,
+     * SHORT for "M/d/yy" in the US locale.
+     * @return a date formatter.
+     * @stable ICU 2.0
+     */
+    public final static DateFormat getDateInstance(int style)
+    {
+        return get(style, -1, ULocale.getDefault());
+    }
+
+    /**
+     * Gets the date formatter with the given formatting style
+     * for the given locale.
+     * @param style the given formatting style. For example,
+     * SHORT for "M/d/yy" in the US locale.
+     * @param aLocale the given locale.
+     * @return a date formatter.
+     * @stable ICU 2.0
+     */
+    public final static DateFormat getDateInstance(int style,
+                                                 Locale aLocale)
+    {
+        return get(style, -1, ULocale.forLocale(aLocale));
+    }
+
+    /**
+     * Gets the date formatter with the given formatting style
+     * for the given locale.
+     * @param style the given formatting style. For example,
+     * SHORT for "M/d/yy" in the US locale.
+     * @param locale the given ulocale.
+     * @return a date formatter.
+     * @draft ICU 3.2
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public final static DateFormat getDateInstance(int style,
+                                                 ULocale locale)
+    {
+        return get(style, -1, locale);
+    }
+
+    /**
+     * Gets the date/time formatter with the default formatting style
+     * for the default locale.
+     * @return a date/time formatter.
+     * @stable ICU 2.0
+     */
+    public final static DateFormat getDateTimeInstance()
+    {
+        return get(DEFAULT, DEFAULT, ULocale.getDefault());
+    }
+
+    /**
+     * Gets the date/time formatter with the given date and time
+     * formatting styles for the default locale.
+     * @param dateStyle the given date formatting style. For example,
+     * SHORT for "M/d/yy" in the US locale.
+     * @param timeStyle the given time formatting style. For example,
+     * SHORT for "h:mm a" in the US locale.
+     * @return a date/time formatter.
+     * @stable ICU 2.0
+     */
+    public final static DateFormat getDateTimeInstance(int dateStyle,
+                                                       int timeStyle)
+    {
+        return get(dateStyle, timeStyle, ULocale.getDefault());
+    }
+
+    /**
+     * Gets the date/time formatter with the given formatting styles
+     * for the given locale.
+     * @param dateStyle the given date formatting style.
+     * @param timeStyle the given time formatting style.
+     * @param aLocale the given locale.
+     * @return a date/time formatter.
+     * @stable ICU 2.0
+     */
+    public final static DateFormat
+        getDateTimeInstance(int dateStyle, int timeStyle, Locale aLocale)
+    {
+        return get(dateStyle, timeStyle, ULocale.forLocale(aLocale));
+    }
+
+    /**
+     * Gets the date/time formatter with the given formatting styles
+     * for the given locale.
+     * @param dateStyle the given date formatting style.
+     * @param timeStyle the given time formatting style.
+     * @param locale the given ulocale.
+     * @return a date/time formatter.
+     * @draft ICU 3.2
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public final static DateFormat
+        getDateTimeInstance(int dateStyle, int timeStyle, ULocale locale)
+    {
+        return get(dateStyle, timeStyle, locale);
+    }
+
+    /**
+     * Get a default date/time formatter that uses the SHORT style for both the
+     * date and the time.
+     * @stable ICU 2.0
+     */
+    public final static DateFormat getInstance() {
+        return getDateTimeInstance(SHORT, SHORT);
+    }
+
+    /**
+     * Gets the set of locales for which DateFormats are installed.
+     * @return the set of locales for which DateFormats are installed.
+     * @stable ICU 2.0
+     */
+    public static Locale[] getAvailableLocales()
+    {
+        return ICUResourceBundle.getAvailableLocales(ICUResourceBundle.ICU_BASE_NAME);
+    }
+
+    /**
+     * Gets the set of locales for which DateFormats are installed.
+     * @return the set of locales for which DateFormats are installed.
+     * @draft ICU 3.2
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static ULocale[] getAvailableULocales()
+    {
+        return ICUResourceBundle.getAvailableULocales(ICUResourceBundle.ICU_BASE_NAME);
+    }
+
+    /**
+     * Set the calendar to be used by this date format.  Initially, the default
+     * calendar for the specified or default locale is used.
+     * @param newCalendar the new Calendar to be used by the date format
+     * @stable ICU 2.0
+     */
+    public void setCalendar(Calendar newCalendar)
+    {
+        this.calendar = newCalendar;
+    }
+
+    /**
+     * Gets the calendar associated with this date/time formatter.
+     * @return the calendar associated with this date/time formatter.
+     * @stable ICU 2.0
+     */
+    public Calendar getCalendar()
+    {
+        return calendar;
+    }
+
+    /**
+     * Allows you to set the number formatter.
+     * @param newNumberFormat the given new NumberFormat.
+     * @stable ICU 2.0
+     */
+    public void setNumberFormat(NumberFormat newNumberFormat)
+    {
+        this.numberFormat = newNumberFormat;
+        /*In order to parse String like "11.10.2001" to DateTime correctly 
+          in Locale("fr","CH") [Richard/GCL]
+        */
+        this.numberFormat.setParseIntegerOnly(true);
+    }
+
+    /**
+     * Gets the number formatter which this date/time formatter uses to
+     * format and parse a time.
+     * @return the number formatter which this date/time formatter uses.
+     * @stable ICU 2.0
+     */
+    public NumberFormat getNumberFormat()
+    {
+        return numberFormat;
+    }
+
+    /**
+     * Sets the time zone for the calendar of this DateFormat object.
+     * @param zone the given new time zone.
+     * @stable ICU 2.0
+     */
+    public void setTimeZone(TimeZone zone)
+    {
+        calendar.setTimeZone(zone);
+    }
+
+    /**
+     * Gets the time zone.
+     * @return the time zone associated with the calendar of DateFormat.
+     * @stable ICU 2.0
+     */
+    public TimeZone getTimeZone()
+    {
+        return calendar.getTimeZone();
+    }
+
+    /**
+     * Specify whether or not date/time parsing is to be lenient.  With
+     * lenient parsing, the parser may use heuristics to interpret inputs that
+     * do not precisely match this object's format.  With strict parsing,
+     * inputs must match this object's format.
+     * @param lenient when true, parsing is lenient
+     * @see com.ibm.icu.util.Calendar#setLenient
+     * @stable ICU 2.0
+     */
+    public void setLenient(boolean lenient)
+    {
+        calendar.setLenient(lenient);
+    }
+
+    /**
+     * Tell whether date/time parsing is to be lenient.
+     * @stable ICU 2.0
+     */
+    public boolean isLenient()
+    {
+        return calendar.isLenient();
+    }
+
+    /**
+     * Overrides hashCode
+     * @stable ICU 2.0
+     */
+    ///CLOVER:OFF
+    // turn off code coverage since all subclasses override this
+    public int hashCode() {
+        return numberFormat.hashCode();
+        // just enough fields for a reasonable distribution
+    }
+    ///CLOVER:ON
+
+    /**
+     * Overrides equals
+     * @stable ICU 2.0
+     */
+    public boolean equals(Object obj) {
+        if (this == obj) return true;
+        if (obj == null || getClass() != obj.getClass()) return false;
+        DateFormat other = (DateFormat) obj;
+        return (calendar.isEquivalentTo(other.calendar) &&
+                numberFormat.equals(other.numberFormat));
+    }
+
+    /**
+     * Overrides Cloneable
+     * @stable ICU 2.0
+     */
+    public Object clone()
+    {
+        DateFormat other = (DateFormat) super.clone();
+        other.calendar = (Calendar) calendar.clone();
+        other.numberFormat = (NumberFormat) numberFormat.clone();
+        return other;
+    }
+
+    /**
+     * Creates a DateFormat with the given time and/or date style in the given
+     * locale.
+     * @param dateStyle a value from 0 to 3 indicating the time format,
+     * or -1 to indicate no date
+     * @param timeStyle a value from 0 to 3 indicating the time format,
+     * or -1 to indicate no time
+     * @param loc the locale for the format
+     */
+    private static DateFormat get(int dateStyle, int timeStyle, ULocale loc) {
+        if (timeStyle < -1 || timeStyle > 3) {
+            throw new IllegalArgumentException("Illegal time style " + timeStyle);
+        }
+        if (dateStyle < -1 || dateStyle > 3) {
+            throw new IllegalArgumentException("Illegal date style " + dateStyle);
+        }
+        try {
+            Calendar cal = Calendar.getInstance(loc);
+            DateFormat result = cal.getDateTimeFormat(dateStyle, timeStyle, loc);
+	    result.setLocale(cal.getLocale(ULocale.VALID_LOCALE),
+			     cal.getLocale(ULocale.ACTUAL_LOCALE));
+	    return result;
+        } catch (MissingResourceException e) {
+            ///CLOVER:OFF
+            // coverage requires separate run with no data, so skip
+            return new SimpleDateFormat("M/d/yy h:mm a");
+            ///CLOVER:ON
+        }
+    }
+
+    /**
+     * Create a new date format.
+     * @stable ICU 2.0
+     */
+    protected DateFormat() {}
+
+    //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+    //-------------------------------------------------------------------------
+    // Public static interface for creating custon DateFormats for different
+    // types of Calendars.
+    //-------------------------------------------------------------------------
+    
+    /**
+     * Create a {@link DateFormat} object that can be used to format dates in
+     * the calendar system specified by <code>cal</code>.
+     * <p>
+     * @param cal   The calendar system for which a date format is desired.
+     *
+     * @param dateStyle The type of date format desired.  This can be
+     *              {@link DateFormat#SHORT}, {@link DateFormat#MEDIUM},
+     *              etc.
+     *
+     * @param locale The locale for which the date format is desired.
+     * @stable ICU 2.0
+     */
+    static final public DateFormat getDateInstance(Calendar cal, int dateStyle, Locale locale)
+    {
+        return getDateTimeInstance(cal, dateStyle, -1, ULocale.forLocale(locale));
+    }
+    
+    /**
+     * Create a {@link DateFormat} object that can be used to format dates in
+     * the calendar system specified by <code>cal</code>.
+     * <p>
+     * @param cal   The calendar system for which a date format is desired.
+     *
+     * @param dateStyle The type of date format desired.  This can be
+     *              {@link DateFormat#SHORT}, {@link DateFormat#MEDIUM},
+     *              etc.
+     *
+     * @param locale The locale for which the date format is desired.
+     * @draft ICU 3.2
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    static final public DateFormat getDateInstance(Calendar cal, int dateStyle, ULocale locale)
+    {
+        return getDateTimeInstance(cal, dateStyle, -1, locale);
+    }
+    
+    /**
+     * Create a {@link DateFormat} object that can be used to format times in
+     * the calendar system specified by <code>cal</code>.
+     * <p>
+     * <b>Note:</b> When this functionality is moved into the core JDK, this method
+     * will probably be replaced by a new overload of {@link DateFormat#getInstance}.
+     * <p>
+     * @param cal   The calendar system for which a time format is desired.
+     *
+     * @param timeStyle The type of time format desired.  This can be
+     *              {@link DateFormat#SHORT}, {@link DateFormat#MEDIUM},
+     *              etc.
+     *
+     * @param locale The locale for which the time format is desired.
+     *
+     * @see DateFormat#getTimeInstance
+     * @stable ICU 2.0
+     */
+    static final public DateFormat getTimeInstance(Calendar cal, int timeStyle, Locale locale)
+    {
+        return getDateTimeInstance(cal, -1, timeStyle, ULocale.forLocale(locale));
+    }
+    
+    /**
+     * Create a {@link DateFormat} object that can be used to format times in
+     * the calendar system specified by <code>cal</code>.
+     * <p>
+     * <b>Note:</b> When this functionality is moved into the core JDK, this method
+     * will probably be replaced by a new overload of {@link DateFormat#getInstance}.
+     * <p>
+     * @param cal   The calendar system for which a time format is desired.
+     *
+     * @param timeStyle The type of time format desired.  This can be
+     *              {@link DateFormat#SHORT}, {@link DateFormat#MEDIUM},
+     *              etc.
+     *
+     * @param locale The locale for which the time format is desired.
+     *
+     * @see DateFormat#getTimeInstance
+     * @draft ICU 3.2
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    static final public DateFormat getTimeInstance(Calendar cal, int timeStyle, ULocale locale)
+    {
+        return getDateTimeInstance(cal, -1, timeStyle, locale);
+    }
+    
+    /**
+     * Create a {@link DateFormat} object that can be used to format dates and times in
+     * the calendar system specified by <code>cal</code>.
+     * <p>
+     * <b>Note:</b> When this functionality is moved into the core JDK, this method
+     * will probably be replaced by a new overload of {@link DateFormat#getInstance}.
+     * <p>
+     * @param cal   The calendar system for which a date/time format is desired.
+     *
+     * @param dateStyle The type of date format desired.  This can be
+     *              {@link DateFormat#SHORT}, {@link DateFormat#MEDIUM},
+     *              etc.
+     *
+     * @param timeStyle The type of time format desired.  This can be
+     *              {@link DateFormat#SHORT}, {@link DateFormat#MEDIUM},
+     *              etc.
+     *
+     * @param locale The locale for which the date/time format is desired.
+     *
+     * @see DateFormat#getDateTimeInstance
+     * @stable ICU 2.0
+     */
+    static final public DateFormat getDateTimeInstance(Calendar cal, int dateStyle,
+                                                 int timeStyle, Locale locale)
+    {
+        return cal.getDateTimeFormat(dateStyle, timeStyle, ULocale.forLocale(locale));
+    }
+
+    /**
+     * Create a {@link DateFormat} object that can be used to format dates and times in
+     * the calendar system specified by <code>cal</code>.
+     * <p>
+     * <b>Note:</b> When this functionality is moved into the core JDK, this method
+     * will probably be replaced by a new overload of {@link DateFormat#getInstance}.
+     * <p>
+     * @param cal   The calendar system for which a date/time format is desired.
+     *
+     * @param dateStyle The type of date format desired.  This can be
+     *              {@link DateFormat#SHORT}, {@link DateFormat#MEDIUM},
+     *              etc.
+     *
+     * @param timeStyle The type of time format desired.  This can be
+     *              {@link DateFormat#SHORT}, {@link DateFormat#MEDIUM},
+     *              etc.
+     *
+     * @param locale The locale for which the date/time format is desired.
+     *
+     * @see DateFormat#getDateTimeInstance
+     * @draft ICU 3.2
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    static final public DateFormat getDateTimeInstance(Calendar cal, int dateStyle,
+                                                 int timeStyle, ULocale locale)
+    {
+        return cal.getDateTimeFormat(dateStyle, timeStyle, locale);
+    }
+
+    /**
+     * Convenience overload
+     * @stable ICU 2.0
+     */
+    static final public DateFormat getInstance(Calendar cal, Locale locale) {
+        return getDateTimeInstance(cal, SHORT, SHORT, ULocale.forLocale(locale));
+    }
+
+    /**
+     * Convenience overload
+     * @draft ICU 3.2
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    static final public DateFormat getInstance(Calendar cal, ULocale locale) {
+        return getDateTimeInstance(cal, SHORT, SHORT, locale);
+    }
+
+    /**
+     * Convenience overload
+     * @stable ICU 2.0
+     */
+    static final public DateFormat getInstance(Calendar cal) {
+        return getInstance(cal, ULocale.getDefault());
+    }
+
+    /**
+     * Convenience overload
+     * @stable ICU 2.0
+     */
+    static final public DateFormat getDateInstance(Calendar cal, int dateStyle) {
+        return getDateInstance(cal, dateStyle, ULocale.getDefault());
+    }
+
+    /**
+     * Convenience overload
+     * @stable ICU 2.0
+     */
+    static final public DateFormat getTimeInstance(Calendar cal, int timeStyle) {
+        return getTimeInstance(cal, timeStyle, ULocale.getDefault());
+    }
+
+    /**
+     * Convenience overload
+     * @stable ICU 2.0
+     */
+    static final public DateFormat getDateTimeInstance(Calendar cal, int dateStyle, int timeStyle) {
+        return getDateTimeInstance(cal, dateStyle, timeStyle, ULocale.getDefault());
+    }
+}
diff --git a/src/com/ibm/icu/text/DateFormatSymbols.java b/src/com/ibm/icu/text/DateFormatSymbols.java
new file mode 100755
index 0000000..4569618
--- /dev/null
+++ b/src/com/ibm/icu/text/DateFormatSymbols.java
@@ -0,0 +1,1271 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+package com.ibm.icu.text;
+
+import com.ibm.icu.impl.ICULocaleData;
+import com.ibm.icu.impl.ICUResourceBundle;
+import com.ibm.icu.impl.CalendarData;
+import com.ibm.icu.impl.Utility;
+import com.ibm.icu.util.Calendar;
+import com.ibm.icu.util.GregorianCalendar;
+import com.ibm.icu.util.UResourceBundle;
+import com.ibm.icu.impl.ZoneMeta;
+import com.ibm.icu.util.ULocale;
+
+import java.io.Serializable;
+import java.util.Iterator;
+import java.util.LinkedHashMap;
+import java.util.Locale;
+import java.util.Map;
+import java.util.MissingResourceException;
+import java.util.ResourceBundle;
+
+/**
+ * <code>DateFormatSymbols</code> is a public class for encapsulating
+ * localizable date-time formatting data, such as the names of the
+ * months, the names of the days of the week, and the time zone data.
+ * <code>DateFormat</code> and <code>SimpleDateFormat</code> both use
+ * <code>DateFormatSymbols</code> to encapsulate this information.
+ *
+ * <p>
+ * Typically you shouldn't use <code>DateFormatSymbols</code> directly.
+ * Rather, you are encouraged to create a date-time formatter with the
+ * <code>DateFormat</code> class's factory methods: <code>getTimeInstance</code>,
+ * <code>getDateInstance</code>, or <code>getDateTimeInstance</code>.
+ * These methods automatically create a <code>DateFormatSymbols</code> for
+ * the formatter so that you don't have to. After the
+ * formatter is created, you may modify its format pattern using the
+ * <code>setPattern</code> method. For more information about
+ * creating formatters using <code>DateFormat</code>'s factory methods,
+ * see {@link DateFormat}.
+ *
+ * <p>
+ * If you decide to create a date-time formatter with a specific
+ * format pattern for a specific locale, you can do so with:
+ * <blockquote>
+ * <pre>
+ * new SimpleDateFormat(aPattern, new DateFormatSymbols(aLocale)).
+ * </pre>
+ * </blockquote>
+ *
+ * <p>
+ * <code>DateFormatSymbols</code> objects are clonable. When you obtain
+ * a <code>DateFormatSymbols</code> object, feel free to modify the
+ * date-time formatting data. For instance, you can replace the localized
+ * date-time format pattern characters with the ones that you feel easy
+ * to remember. Or you can change the representative cities
+ * to your favorite ones.
+ *
+ * <p>
+ * New <code>DateFormatSymbols</code> subclasses may be added to support
+ * <code>SimpleDateFormat</code> for date-time formatting for additional locales.
+
+ * @see          DateFormat
+ * @see          SimpleDateFormat
+ * @see          com.ibm.icu.util.SimpleTimeZone
+ * @author       Chen-Lieh Huang
+ * @stable ICU 2.0
+ */
+public class DateFormatSymbols implements Serializable, Cloneable {
+
+    // TODO make sure local pattern char string is 18 characters long,
+    // that is, that it encompasses the new 'u' char for
+    // EXTENDED_YEAR.  Two options: 1. Make sure resource data is
+    // correct; 2. Make code add in 'u' at end if len == 17.
+
+    // Constants for context
+    /**
+     * Constant for context.
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final int FORMAT = 0;
+
+    /**
+     * Constant for context.
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final int STANDALONE = 1;
+
+    // Constants for width
+    /**
+     * Constant for width.
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final int WIDE = 4;
+
+    /**
+     * Constant for width.
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final int ABBREVIATED = 3;
+
+    /**
+     * Constant for width.
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final int NARROW = 5;
+
+    /**
+     * Construct a DateFormatSymbols object by loading format data from
+     * resources for the default locale.
+     *
+     * @throws  java.util.MissingResourceException
+     *          if the resources for the default locale cannot be
+     *          found or cannot be loaded.
+     * @stable ICU 2.0
+     */
+    public DateFormatSymbols()
+    {
+        initializeData(ULocale.getDefault(), ""); // TODO: type?
+    }
+    
+    /**
+     * Construct a DateFormatSymbols object by loading format data from
+     * resources for the given locale.
+     *
+     * @throws  java.util.MissingResourceException
+     *          if the resources for the specified locale cannot be
+     *          found or cannot be loaded.
+     * @stable ICU 2.0
+     */
+    public DateFormatSymbols(Locale locale)
+    {
+        initializeData(ULocale.forLocale(locale), ""); // TODO: type?
+    }
+
+    /**
+     * Construct a DateFormatSymbols object by loading format data from
+     * resources for the given ulocale.
+     *
+     * @throws  java.util.MissingResourceException
+     *          if the resources for the specified locale cannot be
+     *          found or cannot be loaded.
+     * @draft ICU 3.2
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public DateFormatSymbols(ULocale locale)
+    {
+        initializeData(locale, ""); // TODO: type?
+    }
+
+    /**
+     * Era strings. For example: "AD" and "BC".  An array of 2 strings,
+     * indexed by <code>Calendar.BC</code> and <code>Calendar.AD</code>.
+     * @serial
+     */
+    String eras[] = null;
+
+    /**
+     * Era name strings. For example: "Anno Domini" and "Before Christ".  An array of 2 strings,
+     * indexed by <code>Calendar.BC</code> and <code>Calendar.AD</code>.
+     * @serial
+     */
+    String eraNames[] = null;
+
+    /**
+     * Month strings. For example: "January", "February", etc.  An array
+     * of 13 strings (some calendars have 13 months), indexed by
+     * <code>Calendar.JANUARY</code>, <code>Calendar.FEBRUARY</code>, etc.
+     * @serial
+     */
+    String months[] = null;
+
+    /**
+     * Short month strings. For example: "Jan", "Feb", etc.  An array of
+     * 13 strings (some calendars have 13 months), indexed by
+     * <code>Calendar.JANUARY</code>, <code>Calendar.FEBRUARY</code>, etc.
+
+     * @serial
+     */
+    String shortMonths[] = null;
+
+    /**
+     * Narrow month strings. For example: "J", "F", etc.  An array of
+     * 13 strings (some calendars have 13 months), indexed by
+     * <code>Calendar.JANUARY</code>, <code>Calendar.FEBRUARY</code>, etc.
+
+     * @serial
+     */
+    String narrowMonths[] = null;
+
+    /**
+     * Standalone month strings. For example: "January", "February", etc.  An array
+     * of 13 strings (some calendars have 13 months), indexed by
+     * <code>Calendar.JANUARY</code>, <code>Calendar.FEBRUARY</code>, etc.
+     * @serial
+     */
+    String standaloneMonths[] = null;
+
+    /**
+     * Standalone short month strings. For example: "Jan", "Feb", etc.  An array of
+     * 13 strings (some calendars have 13 months), indexed by
+     * <code>Calendar.JANUARY</code>, <code>Calendar.FEBRUARY</code>, etc.
+
+     * @serial
+     */
+    String standaloneShortMonths[] = null;
+
+    /**
+     * Standalone narrow month strings. For example: "J", "F", etc.  An array of
+     * 13 strings (some calendars have 13 months), indexed by
+     * <code>Calendar.JANUARY</code>, <code>Calendar.FEBRUARY</code>, etc.
+
+     * @serial
+     */
+    String standaloneNarrowMonths[] = null;
+
+    /**
+     * Weekday strings. For example: "Sunday", "Monday", etc.  An array
+     * of 8 strings, indexed by <code>Calendar.SUNDAY</code>,
+     * <code>Calendar.MONDAY</code>, etc.
+     * The element <code>weekdays[0]</code> is ignored.
+     * @serial
+     */
+    String weekdays[] = null;
+
+    /**
+     * Short weekday strings. For example: "Sun", "Mon", etc.  An array
+     * of 8 strings, indexed by <code>Calendar.SUNDAY</code>,
+     * <code>Calendar.MONDAY</code>, etc.
+     * The element <code>shortWeekdays[0]</code> is ignored.
+     * @serial
+     */
+    String shortWeekdays[] = null;
+
+    /**
+     * Narrow weekday strings. For example: "S", "M", etc.  An array
+     * of 8 strings, indexed by <code>Calendar.SUNDAY</code>,
+     * <code>Calendar.MONDAY</code>, etc.
+     * The element <code>narrowWeekdays[0]</code> is ignored.
+     * @serial
+     */
+    String narrowWeekdays[] = null;
+
+    /**
+     * Standalone weekday strings. For example: "Sunday", "Monday", etc.  An array
+     * of 8 strings, indexed by <code>Calendar.SUNDAY</code>,
+     * <code>Calendar.MONDAY</code>, etc.
+     * The element <code>standaloneWeekdays[0]</code> is ignored.
+     * @serial
+     */
+    String standaloneWeekdays[] = null;
+
+    /**
+     * Standalone short weekday strings. For example: "Sun", "Mon", etc.  An array
+     * of 8 strings, indexed by <code>Calendar.SUNDAY</code>,
+     * <code>Calendar.MONDAY</code>, etc.
+     * The element <code>standaloneShortWeekdays[0]</code> is ignored.
+     * @serial
+     */
+    String standaloneShortWeekdays[] = null;
+
+    /**
+     * Standalone narrow weekday strings. For example: "S", "M", etc.  An array
+     * of 8 strings, indexed by <code>Calendar.SUNDAY</code>,
+     * <code>Calendar.MONDAY</code>, etc.
+     * The element <code>standaloneNarrowWeekdays[0]</code> is ignored.
+     * @serial
+     */
+    String standaloneNarrowWeekdays[] = null;
+
+    /**
+     * AM and PM strings. For example: "AM" and "PM".  An array of
+     * 2 strings, indexed by <code>Calendar.AM</code> and
+     * <code>Calendar.PM</code>.
+     * @serial
+     */
+    String ampms[] = null;
+
+    /**
+     * Localized names of time zones in this locale.  This is a
+     * two-dimensional array of strings of size <em>n</em> by <em>m</em>,
+     * where <em>m</em> is at least 5 and up to 8.  Each of the <em>n</em> rows is an
+     * entry containing the localized names for a single <code>TimeZone</code>.
+     * Each such row contains (with <code>i</code> ranging from
+     * 0..<em>n</em>-1):
+     * <ul>
+     * <li><code>zoneStrings[i][0]</code> - time zone ID</li>
+     * <li><code>zoneStrings[i][1]</code> - long name of zone in standard
+     * time</li>
+     * <li><code>zoneStrings[i][2]</code> - short name of zone in
+     * standard time</li>
+     * <li><code>zoneStrings[i][3]</code> - long name of zone in daylight
+     * savings time</li>
+     * <li><code>zoneStrings[i][4]</code> - short name of zone in daylight
+     * savings time</li>
+     * <li>The remainder varies depending on whether there is data 
+     * on city name or generic time.  The city name, if available, comes
+     * first.  The long and short generic times, if available, come next,
+     * in that order. The length of the array (m) can be examined to 
+     * determine which optional information is available.</li>
+     * </ul>
+     * The zone ID is <em>not</em> localized; it corresponds to the ID
+     * value associated with a system time zone object.  All other entries
+     * are localized names.  If a zone does not implement daylight savings
+     * time, the daylight savings time names are ignored.
+     * @see com.ibm.icu.util.TimeZone
+     * @serial
+     */
+    String zoneStrings[][] = null;
+
+    /**
+     * Unlocalized date-time pattern characters. For example: 'y', 'd', etc.
+     * All locales use the same unlocalized pattern characters.
+     */
+    static final String  patternChars = "GyMdkHmsSEDFwWahKzYeugAZvcL";
+
+    /**
+     * Localized date-time pattern characters. For example, a locale may
+     * wish to use 'u' rather than 'y' to represent years in its date format
+     * pattern strings.
+     * This string must be exactly 18 characters long, with the index of
+     * the characters described by <code>DateFormat.ERA_FIELD</code>,
+     * <code>DateFormat.YEAR_FIELD</code>, etc.  Thus, if the string were
+     * "Xz...", then localized patterns would use 'X' for era and 'z' for year.
+     * @serial
+     */
+    String  localPatternChars = null;
+
+    /* use serialVersionUID from JDK 1.1.4 for interoperability */
+    private static final long serialVersionUID = -5987973545549424702L;
+
+    /**
+     * Gets era strings. For example: "AD" and "BC".
+     * @return the era strings.
+     * @stable ICU 2.0
+     */
+    public String[] getEras() {
+        return duplicate(eras);
+    }
+
+    /**
+     * Sets era strings. For example: "AD" and "BC".
+     * @param newEras the new era strings.
+     * @stable ICU 2.0
+     */
+    public void setEras(String[] newEras) {
+        eras = duplicate(newEras);
+    }
+
+    /**
+     * Gets era name strings. For example: "Anno Domini" and "Before Christ".
+     * @return the era strings.
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public String[] getEraNames() {
+    // TODO: Fill the era names in appropriately.  Just a placeholder right now.
+        return duplicate(eraNames);
+    }
+
+    /**
+     * Gets month strings. For example: "January", "February", etc.
+     * @return the month strings.
+     * @stable ICU 2.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public String[] getMonths() {
+        return duplicate(months);
+    }
+
+    /**
+     * Gets month strings. For example: "January", "February", etc.
+     * @param context    The month context, FORMAT or STANDALONE.
+     * @param width      The width or the returned month string,
+     *                   either WIDE, ABBREVIATED, or NARROW.
+     * @return the month strings.
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public String[] getMonths(int context, int width) {
+        String [] returnValue = null;
+        switch (context) {
+           case FORMAT :
+              switch(width) {
+                 case WIDE :
+                    returnValue = months;
+                    break;
+                 case ABBREVIATED :
+                    returnValue = shortMonths;
+                    break;
+                 case NARROW :
+                    returnValue = narrowMonths;
+                    break;
+              }
+              break;
+           case STANDALONE :
+              switch(width) {
+                 case WIDE :
+                    returnValue = standaloneMonths;
+                    break;
+                 case ABBREVIATED :
+                    returnValue = standaloneShortMonths;
+                    break;
+                 case NARROW :
+                    returnValue = standaloneNarrowMonths;
+                    break;
+              }
+              break;
+        }
+        return duplicate(returnValue);
+    }
+
+    /**
+     * Sets month strings. For example: "January", "February", etc.
+     * @param newMonths the new month strings.
+     * @stable ICU 2.0
+     */
+    public void setMonths(String[] newMonths) {
+        months = duplicate(newMonths);
+    }
+
+    /**
+     * Gets short month strings. For example: "Jan", "Feb", etc.
+     * @return the short month strings.
+     * @stable ICU 2.0
+     */
+    public String[] getShortMonths() {
+        return duplicate(shortMonths);
+    }
+
+    /**
+     * Sets short month strings. For example: "Jan", "Feb", etc.
+     * @param newShortMonths the new short month strings.
+     * @stable ICU 2.0
+     */
+    public void setShortMonths(String[] newShortMonths) {
+        shortMonths = duplicate(newShortMonths);
+    }
+
+    /**
+     * Gets weekday strings. For example: "Sunday", "Monday", etc.
+     * @return the weekday strings. Use <code>Calendar.SUNDAY</code>,
+     * <code>Calendar.MONDAY</code>, etc. to index the result array.
+     * @stable ICU 2.0
+     */
+    public String[] getWeekdays() {
+        return duplicate(weekdays);
+    }
+
+    /**
+     * Gets weekday strings. For example: "Sunday", "Monday", etc.
+     * @return the weekday strings. Use <code>Calendar.SUNDAY</code>,
+     * <code>Calendar.MONDAY</code>, etc. to index the result array.
+     * @param context    Weekday context, either FORMAT or STANDALONE.
+     * @param width      Width of strings to be returned, either
+     *                   WIDE, ABBREVIATED, or NARROW
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public String[] getWeekdays(int context, int width) {
+        String [] returnValue = null;
+        switch (context) {
+           case FORMAT :
+              switch(width) {
+                 case WIDE :
+                    returnValue = weekdays;
+                    break;
+                 case ABBREVIATED :
+                    returnValue = shortWeekdays;
+                    break;
+                 case NARROW :
+                    returnValue = narrowWeekdays;
+                    break;
+              }
+              break;
+           case STANDALONE :
+              switch(width) {
+                 case WIDE :
+                    returnValue = standaloneWeekdays;
+                    break;
+                 case ABBREVIATED :
+                    returnValue = standaloneShortWeekdays;
+                    break;
+                 case NARROW :
+                    returnValue = standaloneNarrowWeekdays;
+                    break;
+              }
+              break;
+        }
+        return duplicate(returnValue);
+    }
+
+    /**
+     * Sets weekday strings. For example: "Sunday", "Monday", etc.
+     * @param newWeekdays the new weekday strings. The array should
+     * be indexed by <code>Calendar.SUNDAY</code>,
+     * <code>Calendar.MONDAY</code>, etc.
+     * @stable ICU 2.0
+     */
+    public void setWeekdays(String[] newWeekdays) {
+        weekdays = duplicate(newWeekdays);
+    }
+
+    /**
+     * Gets short weekday strings. For example: "Sun", "Mon", etc.
+     * @return the short weekday strings. Use <code>Calendar.SUNDAY</code>,
+     * <code>Calendar.MONDAY</code>, etc. to index the result array.
+     * @stable ICU 2.0
+     */
+    public String[] getShortWeekdays() {
+        return duplicate(shortWeekdays);
+    }
+
+    /**
+     * Sets short weekday strings. For example: "Sun", "Mon", etc.
+     * @param newShortWeekdays the new short weekday strings. The array should
+     * be indexed by <code>Calendar.SUNDAY</code>,
+     * <code>Calendar.MONDAY</code>, etc.
+     * @stable ICU 2.0
+     */
+    public void setShortWeekdays(String[] newShortWeekdays) {
+        shortWeekdays = duplicate(newShortWeekdays);
+    }
+
+    /**
+     * Gets ampm strings. For example: "AM" and "PM".
+     * @return the weekday strings.
+     * @stable ICU 2.0
+     */
+    public String[] getAmPmStrings() {
+        return duplicate(ampms);
+    }
+
+    /**
+     * Sets ampm strings. For example: "AM" and "PM".
+     * @param newAmpms the new ampm strings.
+     * @stable ICU 2.0
+     */
+    public void setAmPmStrings(String[] newAmpms) {
+        ampms = duplicate(newAmpms);
+    }
+
+    /**
+     * Gets timezone strings.
+     * @return the timezone strings.
+     * @stable ICU 2.0
+     */
+    public String[][] getZoneStrings() {
+        return duplicate(zoneStrings);
+    }
+
+    /**
+     * Sets timezone strings.
+     * @param newZoneStrings the new timezone strings.
+     * @stable ICU 2.0
+     */
+    public void setZoneStrings(String[][] newZoneStrings) {
+        zoneStrings = duplicate(newZoneStrings);
+    }
+
+    /**
+     * Gets localized date-time pattern characters. For example: 'u', 't', etc.
+     * @return the localized date-time pattern characters.
+     * @stable ICU 2.0
+     */
+    public String getLocalPatternChars() {
+        return new String(localPatternChars);
+    }
+
+    /**
+     * Sets localized date-time pattern characters. For example: 'u', 't', etc.
+     * @param newLocalPatternChars the new localized date-time
+     * pattern characters.
+     * @stable ICU 2.0
+     */
+    public void setLocalPatternChars(String newLocalPatternChars) {
+        localPatternChars = newLocalPatternChars;
+    }
+
+    /**
+     * Overrides Cloneable
+     * @stable ICU 2.0
+     */
+    public Object clone()
+    {
+        try {
+            DateFormatSymbols other = (DateFormatSymbols)super.clone();
+            copyMembers(this, other);
+            return other;
+        } catch (CloneNotSupportedException e) {
+            ///CLOVER:OFF
+            throw new InternalError();
+            ///CLOVER:ON
+        }
+    }
+
+    /**
+     * Override hashCode.
+     * Generates a hash code for the DateFormatSymbols object.
+     * @stable ICU 2.0
+     */
+    public int hashCode() {
+        int hashcode = 0;
+        for (int index = 0; index < this.zoneStrings[0].length; ++index)
+            hashcode ^= this.zoneStrings[0][index].hashCode();
+        return hashcode;
+    }
+
+    /**
+     * Override equals
+     * @stable ICU 2.0
+     */
+    public boolean equals(Object obj)
+    {
+        if (this == obj) return true;
+        if (obj == null || getClass() != obj.getClass()) return false;
+        DateFormatSymbols that = (DateFormatSymbols) obj;
+        return (Utility.arrayEquals(eras, that.eras)
+                && Utility.arrayEquals(eraNames, that.eraNames)
+                && Utility.arrayEquals(months, that.months)
+                && Utility.arrayEquals(shortMonths, that.shortMonths)
+                && Utility.arrayEquals(narrowMonths, that.narrowMonths)
+                && Utility.arrayEquals(standaloneMonths, that.standaloneMonths)
+                && Utility.arrayEquals(standaloneShortMonths, that.standaloneShortMonths)
+                && Utility.arrayEquals(standaloneNarrowMonths, that.standaloneNarrowMonths)
+                && Utility.arrayEquals(weekdays, that.weekdays)
+                && Utility.arrayEquals(shortWeekdays, that.shortWeekdays)
+                && Utility.arrayEquals(narrowWeekdays, that.narrowWeekdays)
+                && Utility.arrayEquals(standaloneWeekdays, that.standaloneWeekdays)
+                && Utility.arrayEquals(standaloneShortWeekdays, that.standaloneShortWeekdays)
+                && Utility.arrayEquals(standaloneNarrowWeekdays, that.standaloneNarrowWeekdays)
+                && Utility.arrayEquals(ampms, that.ampms)
+                && Utility.arrayEquals(zoneStrings, that.zoneStrings)
+                && Utility.arrayEquals(localPatternChars,
+                                       that.localPatternChars));
+    }
+
+    // =======================privates===============================
+
+    /**
+     * Useful constant for defining timezone offsets.
+     */
+    static final int millisPerHour = 60*60*1000;
+    /**
+     * 
+     * @param desiredLocale
+     * @param type
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    protected void initializeData(ULocale desiredLocale, String type)
+    {
+        CalendarData calData = new CalendarData(desiredLocale, type);
+        initializeData(desiredLocale, calData);
+    }
+
+    /**
+     * 
+     * @param desiredLocale
+     * @param calData
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    protected void initializeData(ULocale desiredLocale, CalendarData calData)
+    {
+
+        // FIXME: cache only ResourceBundle. Hence every time, will do
+        // getObject(). This won't be necessary if the Resource itself
+        // is cached.
+        eras = calData.getEras("abbreviated");
+
+        try {
+           eraNames = calData.getEras("wide");
+        }
+        catch (MissingResourceException e) {
+           eraNames = calData.getEras("abbreviated");
+        }
+
+        months = calData.getStringArray("monthNames", "wide");
+        shortMonths = calData.getStringArray("monthNames", "abbreviated");
+
+        try {
+           narrowMonths = calData.getStringArray("monthNames", "narrow");
+        } 
+        catch (MissingResourceException e) {
+           narrowMonths = calData.getStringArray("monthNames", "abbreviated");
+        }
+
+        try {
+           standaloneMonths = calData.getStringArray("monthNames", "stand-alone", "wide");
+        } 
+        catch (MissingResourceException e) {
+           standaloneMonths = calData.getStringArray("monthNames", "format", "wide");
+        }
+
+        try {
+           standaloneShortMonths = calData.getStringArray("monthNames", "stand-alone", "abbreviated");
+        } 
+        catch (MissingResourceException e) {
+           standaloneShortMonths = calData.getStringArray("monthNames", "format", "abbreviated");
+        }
+
+        try {
+           standaloneNarrowMonths = calData.getStringArray("monthNames", "stand-alone", "narrow");
+        } 
+        catch (MissingResourceException e) {
+           try {
+              standaloneNarrowMonths = calData.getStringArray("monthNames", "format", "narrow");
+           }
+           catch (MissingResourceException e1) {
+              standaloneNarrowMonths = calData.getStringArray("monthNames", "format", "abbreviated");
+           }
+        }
+
+        String[] lWeekdays = calData.getStringArray("dayNames", "wide");
+        weekdays = new String[8];
+        weekdays[0] = "";  // 1-based
+        System.arraycopy(lWeekdays, 0, weekdays, 1, lWeekdays.length);
+
+        String[] sWeekdays = calData.getStringArray("dayNames", "abbreviated");
+        shortWeekdays = new String[8];
+        shortWeekdays[0] = "";  // 1-based
+        System.arraycopy(sWeekdays, 0, shortWeekdays, 1, sWeekdays.length);
+
+        String [] nWeekdays = null;
+        try {
+           nWeekdays = calData.getStringArray("dayNames", "narrow");
+        }
+        catch (MissingResourceException e) {
+           nWeekdays = calData.getStringArray("dayNames", "abbreviated");
+        }
+        narrowWeekdays = new String[8];
+        narrowWeekdays[0] = "";  // 1-based
+        System.arraycopy(nWeekdays, 0, narrowWeekdays, 1, nWeekdays.length);
+
+        String [] saWeekdays = null;
+        try {
+           saWeekdays = calData.getStringArray("dayNames", "stand-alone", "wide");
+        }
+        catch (MissingResourceException e) {
+           saWeekdays = calData.getStringArray("dayNames", "format", "wide");
+        }
+        standaloneWeekdays = new String[8];
+        standaloneWeekdays[0] = "";  // 1-based
+        System.arraycopy(saWeekdays, 0, standaloneWeekdays, 1, saWeekdays.length);
+
+        String [] ssWeekdays = null;
+        try {
+           ssWeekdays = calData.getStringArray("dayNames", "stand-alone", "abbreviated");
+        }
+        catch (MissingResourceException e) {
+           ssWeekdays = calData.getStringArray("dayNames", "format", "abbreviated");
+        }
+        standaloneShortWeekdays = new String[8];
+        standaloneShortWeekdays[0] = "";  // 1-based
+        System.arraycopy(ssWeekdays, 0, standaloneShortWeekdays, 1, ssWeekdays.length);
+
+        String [] snWeekdays = null;
+        try {
+           snWeekdays = calData.getStringArray("dayNames", "stand-alone", "narrow");
+        }
+        catch (MissingResourceException e) {
+           try {
+              snWeekdays = calData.getStringArray("dayNames", "format", "narrow");
+           }
+           catch (MissingResourceException e1) {
+              snWeekdays = calData.getStringArray("dayNames", "format", "abbreviated");
+           }
+        }
+        standaloneNarrowWeekdays = new String[8];
+        standaloneNarrowWeekdays[0] = "";  // 1-based
+        System.arraycopy(snWeekdays, 0, standaloneNarrowWeekdays, 1, snWeekdays.length);
+
+        ampms = calData.getStringArray("AmPmMarkers");
+
+/*  THE FOLLOWING DOESN'T WORK; A COUNTRY LOCALE WITH ONE ZONE BLOCKS THE LANGUAGE LOCALE
+        // These really do use rb and not calData
+        ICUResourceBundle rb = (ICUResourceBundle)UResourceBundle.getBundleInstance(ICUResourceBundle.ICU_BASE_NAME, desiredLocale);
+        // hack around class cast problem
+        // zoneStrings = (String[][])rb.getObject("zoneStrings");
+        ICUResourceBundle zoneObject = rb.get("zoneStrings");
+        zoneStrings = new String[zoneObject.getSize()][];
+        for(int i =0; i< zoneObject.getSize(); i++){
+            ICUResourceBundle zoneArr = zoneObject.get(i);
+            String[] strings = new String[zoneArr.getSize()];
+            for(int j=0; j<zoneArr.getSize(); j++){
+                strings[j]=zoneArr.get(j).getString();
+            }
+            zoneStrings[i] = strings;
+        }
+*/        
+        // severe HACK; these should be in a named table.
+        Map results = new LinkedHashMap();
+        for (ULocale tempLocale = desiredLocale; tempLocale != null; tempLocale = tempLocale.getFallback()) {
+            ICUResourceBundle rb = (ICUResourceBundle)UResourceBundle.getBundleInstance(ICUResourceBundle.ICU_BASE_NAME, tempLocale);
+            ICUResourceBundle zoneObject = rb.get("zoneStrings");
+            for(int i =0; i< zoneObject.getSize(); i++){
+                ICUResourceBundle zoneArr = zoneObject.get(i);
+                String[] strings = new String[zoneArr.getSize()];
+                for(int j=0; j<zoneArr.getSize(); j++){
+                    strings[j]=zoneArr.get(j).getString();
+                }
+                if (!results.containsKey(strings[0]))results.put(strings[0], strings); // only add if we don't have already
+            }
+        }
+        zoneStrings = new String[results.size()][];
+        int i = 0;
+        for (Iterator it = results.keySet().iterator(); it.hasNext();) {
+            zoneStrings[i++] = (String[]) results.get(it.next());
+        }
+        
+        ICUResourceBundle rb = (ICUResourceBundle)UResourceBundle.getBundleInstance(ICUResourceBundle.ICU_BASE_NAME, desiredLocale);
+        localPatternChars = rb.getString("localPatternChars");
+
+        // TODO: obtain correct actual/valid locale later
+        ULocale uloc = rb.getULocale();
+        setLocale(uloc, uloc);
+    }
+
+    /**
+     * Package private: used by SimpleDateFormat
+     * Gets the index for the given time zone ID to obtain the timezone
+     * strings for formatting. The time zone ID is just for programmatic
+     * lookup. NOT LOCALIZED!!!
+     * @param ID the given time zone ID.
+     * @return the index of the given time zone ID.  Returns -1 if
+     * the given time zone ID can't be located in the DateFormatSymbols object.
+     * @see com.ibm.icu.util.SimpleTimeZone
+     */
+    final int getZoneIndex(String ID) {
+        int result = _getZoneIndex(ID);
+        if (result >= 0) {
+            return result;
+        }
+        // Do a search through the equivalency group for the given ID
+        int n = ZoneMeta.countEquivalentIDs(ID);
+        if (n > 1) {
+            for (int i=0; i<n; ++i) {
+                String equivID = ZoneMeta.getEquivalentID(ID, i);
+                if (!equivID.equals(ID)) {
+                    int equivResult = _getZoneIndex(equivID);
+                    if (equivResult >= 0) {
+                        return equivResult;
+                    }
+                }
+            }
+        }
+        return -1;
+    }
+    
+    /**
+     * Lookup the given ID.  Do NOT do an equivalency search.
+     */
+    private int _getZoneIndex(String ID)
+    {
+        for (int index=0; index<zoneStrings.length; index++) {
+            if (ID.equalsIgnoreCase(zoneStrings[index][0])) return index;
+        }
+        return -1;
+    }
+
+    /**
+     * Clones an array of Strings.
+     * @param srcArray the source array to be cloned.
+     * @param count the number of elements in the given source array.
+     * @return a cloned array.
+     */
+    private final String[] duplicate(String[] srcArray)
+    {
+        return (String[])srcArray.clone();
+    }
+
+    private final String[][] duplicate(String[][] srcArray)
+    {
+        String[][] aCopy = new String[srcArray.length][];
+        for (int i = 0; i < srcArray.length; ++i)
+            aCopy[i] = duplicate(srcArray[i]);
+        return aCopy;
+    }
+
+    /**
+     * Clones all the data members from the source DateFormatSymbols to
+     * the target DateFormatSymbols. This is only for subclasses.
+     * @param src the source DateFormatSymbols.
+     * @param dst the target DateFormatSymbols.
+     */
+    private final void copyMembers(DateFormatSymbols src, DateFormatSymbols dst)
+    {
+        dst.eras = duplicate(src.eras);
+        dst.eraNames = duplicate(src.eraNames);
+        dst.months = duplicate(src.months);
+        dst.shortMonths = duplicate(src.shortMonths);
+        dst.narrowMonths = duplicate(src.narrowMonths);
+        dst.standaloneMonths = duplicate(src.standaloneMonths);
+        dst.standaloneShortMonths = duplicate(src.standaloneShortMonths);
+        dst.standaloneNarrowMonths = duplicate(src.standaloneNarrowMonths);
+        dst.weekdays = duplicate(src.weekdays);
+        dst.shortWeekdays = duplicate(src.shortWeekdays);
+        dst.narrowWeekdays = duplicate(src.narrowWeekdays);
+        dst.standaloneWeekdays = duplicate(src.standaloneWeekdays);
+        dst.standaloneShortWeekdays = duplicate(src.standaloneShortWeekdays);
+        dst.standaloneNarrowWeekdays = duplicate(src.standaloneNarrowWeekdays);
+        dst.ampms = duplicate(src.ampms);
+        dst.zoneStrings = duplicate(src.zoneStrings);
+        dst.localPatternChars = new String (src.localPatternChars);
+    }
+
+    /**
+     * Compares the equality of the two arrays of String.
+     * @param current this String array.
+     * @param other that String array.
+    private final boolean equals(String[] current, String[] other)
+    {
+        int count = current.length;
+
+        for (int i = 0; i < count; ++i)
+            if (!current[i].equals(other[i]))
+                return false;
+        return true;
+    }
+     */
+
+    //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+    /**
+     * Get the {@link DateFormatSymbols} object that should be used to format a
+     * calendar system's dates in the given locale.
+     * <p>
+     * <b>Subclassing:</b><br>
+     * When creating a new Calendar subclass, you must create the
+     * {@link ResourceBundle ResourceBundle}
+     * containing its {@link DateFormatSymbols DateFormatSymbols} in a specific place.
+     * The resource bundle name is based on the calendar's fully-specified
+     * class name, with ".resources" inserted at the end of the package name
+     * (just before the class name) and "Symbols" appended to the end.
+     * For example, the bundle corresponding to "com.ibm.icu.util.HebrewCalendar"
+     * is "com.ibm.icu.impl.data.HebrewCalendarSymbols".
+     * <p>
+     * Within the ResourceBundle, this method searches for five keys:
+     * <ul>
+     * <li><b>DayNames</b> -
+     *      An array of strings corresponding to each possible
+     *      value of the <code>DAY_OF_WEEK</code> field.  Even though
+     *      <code>DAY_OF_WEEK</code> starts with <code>SUNDAY</code> = 1,
+     *      This array is 0-based; the name for Sunday goes in the
+     *      first position, at index 0.  If this key is not found
+     *      in the bundle, the day names are inherited from the
+     *      default <code>DateFormatSymbols</code> for the requested locale.
+     *
+     * <li><b>DayAbbreviations</b> -
+     *      An array of abbreviated day names corresponding
+     *      to the values in the "DayNames" array.  If this key
+     *      is not found in the resource bundle, the "DayNames"
+     *      values are used instead.  If neither key is found,
+     *      the day abbreviations are inherited from the default
+     *      <code>DateFormatSymbols</code> for the locale.
+     *
+     * <li><b>MonthNames</b> -
+     *      An array of strings corresponding to each possible
+     *      value of the <code>MONTH</code> field.  If this key is not found
+     *      in the bundle, the month names are inherited from the
+     *      default <code>DateFormatSymbols</code> for the requested locale.
+     *
+     * <li><b>MonthAbbreviations</b> -
+     *      An array of abbreviated day names corresponding
+     *      to the values in the "MonthNames" array.  If this key
+     *      is not found in the resource bundle, the "MonthNames"
+     *      values are used instead.  If neither key is found,
+     *      the day abbreviations are inherited from the default
+     *      <code>DateFormatSymbols</code> for the locale.
+     *
+     * <li><b>Eras</b> -
+     *      An array of strings corresponding to each possible
+     *      value of the <code>ERA</code> field.  If this key is not found
+     *      in the bundle, the era names are inherited from the
+     *      default <code>DateFormatSymbols</code> for the requested locale.
+     * </ul>
+     * <p>
+     * @param cal       The calendar system whose date format symbols are desired.
+     * @param locale    The locale whose symbols are desired.
+     *
+     * @see DateFormatSymbols#DateFormatSymbols(java.util.Locale)
+     * @stable ICU 2.0
+     */
+    public DateFormatSymbols(Calendar cal, Locale locale) {
+        initializeData(ULocale.forLocale(locale), cal.getType());
+    }
+
+    /**
+     * Get the {@link DateFormatSymbols} object that should be used to format a
+     * calendar system's dates in the given locale.
+     * <p>
+     * <b>Subclassing:</b><br>
+     * When creating a new Calendar subclass, you must create the
+     * {@link ResourceBundle ResourceBundle}
+     * containing its {@link DateFormatSymbols DateFormatSymbols} in a specific place.
+     * The resource bundle name is based on the calendar's fully-specified
+     * class name, with ".resources" inserted at the end of the package name
+     * (just before the class name) and "Symbols" appended to the end.
+     * For example, the bundle corresponding to "com.ibm.icu.util.HebrewCalendar"
+     * is "com.ibm.icu.impl.data.HebrewCalendarSymbols".
+     * <p>
+     * Within the ResourceBundle, this method searches for five keys:
+     * <ul>
+     * <li><b>DayNames</b> -
+     *      An array of strings corresponding to each possible
+     *      value of the <code>DAY_OF_WEEK</code> field.  Even though
+     *      <code>DAY_OF_WEEK</code> starts with <code>SUNDAY</code> = 1,
+     *      This array is 0-based; the name for Sunday goes in the
+     *      first position, at index 0.  If this key is not found
+     *      in the bundle, the day names are inherited from the
+     *      default <code>DateFormatSymbols</code> for the requested locale.
+     *
+     * <li><b>DayAbbreviations</b> -
+     *      An array of abbreviated day names corresponding
+     *      to the values in the "DayNames" array.  If this key
+     *      is not found in the resource bundle, the "DayNames"
+     *      values are used instead.  If neither key is found,
+     *      the day abbreviations are inherited from the default
+     *      <code>DateFormatSymbols</code> for the locale.
+     *
+     * <li><b>MonthNames</b> -
+     *      An array of strings corresponding to each possible
+     *      value of the <code>MONTH</code> field.  If this key is not found
+     *      in the bundle, the month names are inherited from the
+     *      default <code>DateFormatSymbols</code> for the requested locale.
+     *
+     * <li><b>MonthAbbreviations</b> -
+     *      An array of abbreviated day names corresponding
+     *      to the values in the "MonthNames" array.  If this key
+     *      is not found in the resource bundle, the "MonthNames"
+     *      values are used instead.  If neither key is found,
+     *      the day abbreviations are inherited from the default
+     *      <code>DateFormatSymbols</code> for the locale.
+     *
+     * <li><b>Eras</b> -
+     *      An array of strings corresponding to each possible
+     *      value of the <code>ERA</code> field.  If this key is not found
+     *      in the bundle, the era names are inherited from the
+     *      default <code>DateFormatSymbols</code> for the requested locale.
+     * </ul>
+     * <p>
+     * @param cal       The calendar system whose date format symbols are desired.
+     * @param locale    The ulocale whose symbols are desired.
+     *
+     * @see DateFormatSymbols#DateFormatSymbols(java.util.Locale)
+     * @draft ICU 3.2
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public DateFormatSymbols(Calendar cal, ULocale locale) {
+        initializeData(locale, cal.getType());
+    }
+
+    /**
+     * Variant of DateFormatSymbols(Calendar, Locale) that takes the Calendar class
+     * instead of a Calandar instance.
+     * @see #DateFormatSymbols(Calendar, Locale)
+     * @stable ICU 2.2
+     */
+    public DateFormatSymbols(Class calendarClass, Locale locale) {
+        this(calendarClass, ULocale.forLocale(locale));
+    }
+
+    /**
+     * Variant of DateFormatSymbols(Calendar, ULocale) that takes the Calendar class
+     * instead of a Calandar instance.
+     * @see #DateFormatSymbols(Calendar, Locale)
+     * @draft ICU 3.2
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public DateFormatSymbols(Class calendarClass, ULocale locale) {
+        String fullName = calendarClass.getName();
+        int lastDot = fullName.lastIndexOf('.');
+        String className = fullName.substring(lastDot+1);
+        String calType = className.replaceAll("Calendar","").toLowerCase();
+        
+        initializeData(locale, calType);
+    }
+
+    /**
+     * Fetch a custom calendar's DateFormatSymbols out of the given resource
+     * bundle.  Symbols that are not overridden are inherited from the
+     * default DateFormatSymbols for the locale.
+     * @see DateFormatSymbols#DateFormatSymbols
+     * @stable ICU 2.0
+     */
+    public DateFormatSymbols(ResourceBundle bundle, Locale locale) {
+        this(bundle, ULocale.forLocale(locale));
+    }
+
+    /**
+     * Fetch a custom calendar's DateFormatSymbols out of the given resource
+     * bundle.  Symbols that are not overridden are inherited from the
+     * default DateFormatSymbols for the locale.
+     * @see DateFormatSymbols#DateFormatSymbols
+     * @draft ICU 3.2
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public DateFormatSymbols(ResourceBundle bundle, ULocale locale) {
+        initializeData(locale, 
+            new CalendarData((ICUResourceBundle)bundle, null));
+    }
+
+    /**
+     * Find the ResourceBundle containing the date format information for
+     * a specified calendar subclass in a given locale.
+     * <p>
+     * The resource bundle name is based on the calendar's fully-specified
+     * class name, with ".resources" inserted at the end of the package name
+     * (just before the class name) and "Symbols" appended to the end.
+     * For example, the bundle corresponding to "com.ibm.icu.util.HebrewCalendar"
+     * is "com.ibm.icu.impl.data.HebrewCalendarSymbols".
+     * @stable ICU 2.0
+     */
+    static public ResourceBundle getDateFormatBundle(Class calendarClass, Locale locale)
+        throws MissingResourceException {
+        return getDateFormatBundle(calendarClass, ULocale.forLocale(locale));
+    }
+        
+    /**
+     * Find the ResourceBundle containing the date format information for
+     * a specified calendar subclass in a given locale.
+     * <p>
+     * The resource bundle name is based on the calendar's fully-specified
+     * class name, with ".resources" inserted at the end of the package name
+     * (just before the class name) and "Symbols" appended to the end.
+     * For example, the bundle corresponding to "com.ibm.icu.util.HebrewCalendar"
+     * is "com.ibm.icu.impl.data.HebrewCalendarSymbols".
+     * @draft ICU 3.2
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    static public ResourceBundle getDateFormatBundle(Class calendarClass, ULocale locale)
+        throws MissingResourceException {
+        
+        // Find the calendar's class name, which we're going to use to construct the
+        // resource bundle name.
+        String fullName = calendarClass.getName();
+        int lastDot = fullName.lastIndexOf('.');
+        String className = fullName.substring(lastDot+1);
+
+        String bundleName = className + "Symbols";
+
+        ResourceBundle result = null;
+        try {
+            result = ICULocaleData.getResourceBundle(bundleName, locale);
+        }
+        catch (MissingResourceException e) {
+            ///CLOVER:OFF
+            // coverage requires test without data, so skip
+            //if (!(cal instanceof GregorianCalendar)) {
+            if (!(GregorianCalendar.class.isAssignableFrom(calendarClass))) {
+                // Ok for symbols to be missing for a Gregorian calendar, but
+                // not for any other type.
+                throw e;
+            }
+            ///CLOVER:ON
+        }
+        return result;
+    }
+
+    /**
+     * Variant of getDateFormatBundle(java.lang.Class, java.util.Locale) that takes
+     * a Calendar instance instead of a Calendar class.
+     * @see #getDateFormatBundle(java.lang.Class, java.util.Locale)
+     * @stable ICU 2.2
+     */
+    public static ResourceBundle getDateFormatBundle(Calendar cal, Locale locale)
+        throws MissingResourceException {
+        return getDateFormatBundle(cal.getClass(), ULocale.forLocale(locale));
+    }
+    
+    /**
+     * Variant of getDateFormatBundle(java.lang.Class, java.util.Locale) that takes
+     * a Calendar instance instead of a Calendar class.
+     * @see #getDateFormatBundle(java.lang.Class, java.util.Locale)
+     * @draft ICU 3.2
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static ResourceBundle getDateFormatBundle(Calendar cal, ULocale locale)
+        throws MissingResourceException {
+        return getDateFormatBundle(cal.getClass(), locale);
+    }
+    
+    // -------- BEGIN ULocale boilerplate --------
+
+    /**
+     * Return the locale that was used to create this object, or null.
+     * This may may differ from the locale requested at the time of
+     * this object's creation.  For example, if an object is created
+     * for locale <tt>en_US_CALIFORNIA</tt>, the actual data may be
+     * drawn from <tt>en</tt> (the <i>actual</i> locale), and
+     * <tt>en_US</tt> may be the most specific locale that exists (the
+     * <i>valid</i> locale).
+     *
+     * <p>Note: This method will be implemented in ICU 3.0; ICU 2.8
+     * contains a partial preview implementation.  The * <i>actual</i>
+     * locale is returned correctly, but the <i>valid</i> locale is
+     * not, in most cases.
+     * @param type type of information requested, either {@link
+     * com.ibm.icu.util.ULocale#VALID_LOCALE} or {@link
+     * com.ibm.icu.util.ULocale#ACTUAL_LOCALE}.
+     * @return the information specified by <i>type</i>, or null if
+     * this object was not constructed from locale data.
+     * @see com.ibm.icu.util.ULocale
+     * @see com.ibm.icu.util.ULocale#VALID_LOCALE
+     * @see com.ibm.icu.util.ULocale#ACTUAL_LOCALE
+     * @draft ICU 2.8 (retain)
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public final ULocale getLocale(ULocale.Type type) {
+        return type == ULocale.ACTUAL_LOCALE ?
+            this.actualLocale : this.validLocale;
+    }
+
+    /**
+     * Set information about the locales that were used to create this
+     * object.  If the object was not constructed from locale data,
+     * both arguments should be set to null.  Otherwise, neither
+     * should be null.  The actual locale must be at the same level or
+     * less specific than the valid locale.  This method is intended
+     * for use by factories or other entities that create objects of
+     * this class.
+     * @param valid the most specific locale containing any resource
+     * data, or null
+     * @param actual the locale containing data used to construct this
+     * object, or null
+     * @see com.ibm.icu.util.ULocale
+     * @see com.ibm.icu.util.ULocale#VALID_LOCALE
+     * @see com.ibm.icu.util.ULocale#ACTUAL_LOCALE
+     * @internal
+     */
+    final void setLocale(ULocale valid, ULocale actual) {
+        // Change the following to an assertion later
+        if ((valid == null) != (actual == null)) {
+            ///CLOVER:OFF
+            throw new IllegalArgumentException();
+            ///CLOVER:ON
+        }
+        // Another check we could do is that the actual locale is at
+        // the same level or less specific than the valid locale.
+        this.validLocale = valid;
+        this.actualLocale = actual;
+    }
+
+    /**
+     * The most specific locale containing any resource data, or null.
+     * @see com.ibm.icu.util.ULocale
+     * @internal
+     */
+    private ULocale validLocale;
+
+    /**
+     * The locale containing data used to construct this object, or
+     * null.
+     * @see com.ibm.icu.util.ULocale
+     * @internal
+     */
+    private ULocale actualLocale;
+
+    // -------- END ULocale boilerplate --------
+}
diff --git a/src/com/ibm/icu/text/DecimalFormat.java b/src/com/ibm/icu/text/DecimalFormat.java
new file mode 100755
index 0000000..a16eb87
--- /dev/null
+++ b/src/com/ibm/icu/text/DecimalFormat.java
@@ -0,0 +1,4372 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.text;
+
+import com.ibm.icu.util.Currency;
+import com.ibm.icu.util.CurrencyAmount;
+import com.ibm.icu.util.ULocale;
+import com.ibm.icu.lang.UCharacter;
+import com.ibm.icu.impl.UCharacterProperty;
+import java.text.ParsePosition;
+import java.text.FieldPosition;
+import java.text.ChoiceFormat;
+import java.math.BigInteger;
+import java.util.Locale;
+import java.io.IOException;
+import java.io.ObjectInputStream;
+
+/**
+ * <code>DecimalFormat</code> is a concrete subclass of
+ * {@link NumberFormat} that formats decimal numbers. It has a variety of
+ * features designed to make it possible to parse and format numbers in any
+ * locale, including support for Western, Arabic, or Indic digits.  It also
+ * supports different flavors of numbers, including integers ("123"),
+ * fixed-point numbers ("123.4"), scientific notation ("1.23E4"), percentages
+ * ("12%"), and currency amounts ("$123").  All of these flavors can be easily
+ * localized.
+ *
+ * <p><strong>This is an enhanced version of <code>DecimalFormat</code> that
+ * is based on the standard version in the JDK.  New or changed functionality
+ * is labeled
+ * <strong><font face=helvetica color=red>NEW</font></strong> or
+ * <strong><font face=helvetica color=red>CHANGED</font></strong>.</strong>
+ *
+ * <p>To obtain a {@link NumberFormat} for a specific locale (including the
+ * default locale) call one of <code>NumberFormat</code>'s factory methods such
+ * as {@link NumberFormat#getInstance}. Do not call the <code>DecimalFormat</code>
+ * constructors directly, unless you know what you are doing, since the
+ * {@link NumberFormat} factory methods may return subclasses other than
+ * <code>DecimalFormat</code>. If you need to customize the format object, do
+ * something like this:
+ *
+ * <blockquote><pre>
+ * NumberFormat f = NumberFormat.getInstance(loc);
+ * if (f instanceof DecimalFormat) {
+ *     ((DecimalFormat) f).setDecimalSeparatorAlwaysShown(true);
+ * }</pre></blockquote>
+ *
+ * <p><strong>Example Usage</strong>
+ *
+ * <blockquote><pre>
+ * <strong>// Print out a number using the localized number, currency,
+ * // and percent format for each locale</strong>
+ * Locale[] locales = NumberFormat.getAvailableLocales();
+ * double myNumber = -1234.56;
+ * NumberFormat format;
+ * for (int j=0; j<3; ++j) {
+ *     System.out.println("FORMAT");
+ *     for (int i = 0; i < locales.length; ++i) {
+ *         if (locales[i].getCountry().length() == 0) {
+ *            // Skip language-only locales
+ *            continue;
+ *         }
+ *         System.out.print(locales[i].getDisplayName());
+ *         switch (j) {
+ *         case 0:
+ *             format = NumberFormat.getInstance(locales[i]); break;
+ *         case 1:
+ *             format = NumberFormat.getCurrencyInstance(locales[i]); break;
+ *         default:
+ *             format = NumberFormat.getPercentInstance(locales[i]); break;
+ *         }
+ *         try {
+ *             // Assume format is a DecimalFormat
+ *             System.out.print(": " + ((DecimalFormat) format).toPattern()
+ *                              + " -> " + form.format(myNumber));
+ *         } catch (Exception e) {}
+ *         try {
+ *             System.out.println(" -> " + format.parse(form.format(myNumber)));
+ *         } catch (ParseException e) {}
+ *     }
+ * }</pre></blockquote>
+ *
+ * <h4>Patterns</h4>
+ *
+ * <p>A <code>DecimalFormat</code> consists of a <em>pattern</em> and a set of
+ * <em>symbols</em>.  The pattern may be set directly using
+ * {@link #applyPattern}, or indirectly using other API methods which
+ * manipulate aspects of the pattern, such as the minimum number of integer
+ * digits.  The symbols are stored in a {@link DecimalFormatSymbols}
+ * object.  When using the {@link NumberFormat} factory methods, the
+ * pattern and symbols are read from ICU's locale data.
+ * 
+ * <h4>Special Pattern Characters</h4>
+ *
+ * <p>Many characters in a pattern are taken literally; they are matched during
+ * parsing and output unchanged during formatting.  Special characters, on the
+ * other hand, stand for other characters, strings, or classes of characters.
+ * For example, the '#' character is replaced by a localized digit.  Often the
+ * replacement character is the same as the pattern character; in the U.S. locale,
+ * the ',' grouping character is replaced by ','.  However, the replacement is
+ * still happening, and if the symbols are modified, the grouping character
+ * changes.  Some special characters affect the behavior of the formatter by
+ * their presence; for example, if the percent character is seen, then the
+ * value is multiplied by 100 before being displayed.
+ *
+ * <p>To insert a special character in a pattern as a literal, that is, without
+ * any special meaning, the character must be quoted.  There are some exceptions to
+ * this which are noted below.
+ *
+ * <p>The characters listed here are used in non-localized patterns.  Localized
+ * patterns use the corresponding characters taken from this formatter's
+ * {@link DecimalFormatSymbols} object instead, and these characters lose
+ * their special status.  Two exceptions are the currency sign and quote, which
+ * are not localized.
+ *
+ * <blockquote>
+ * <table border=0 cellspacing=3 cellpadding=0 summary="Chart showing symbol,
+ *  location, localized, and meaning.">
+ *   <tr bgcolor="#ccccff">
+ *     <th align=left>Symbol
+ *     <th align=left>Location
+ *     <th align=left>Localized?
+ *     <th align=left>Meaning
+ *   <tr valign=top>
+ *     <td><code>0</code>
+ *     <td>Number
+ *     <td>Yes
+ *     <td>Digit
+ *   <tr valign=top bgcolor="#eeeeff">
+ *     <td><code>1-9</code>
+ *     <td>Number
+ *     <td>Yes
+ *     <td><strong><font face=helvetica color=red>NEW</font></strong>
+ *         '1' through '9' indicate rounding.
+ *   <tr valign=top>
+ *     <td><code>@</code>
+ *     <td>Number
+ *     <td>No
+ *     <td><strong><font face=helvetica color=red>NEW</font></strong>
+ *         Significant digit
+ *   <tr valign=top bgcolor="#eeeeff">
+ *     <td><code>#</code>
+ *     <td>Number
+ *     <td>Yes
+ *     <td>Digit, zero shows as absent
+ *   <tr valign=top>
+ *     <td><code>.</code>
+ *     <td>Number
+ *     <td>Yes
+ *     <td>Decimal separator or monetary decimal separator
+ *   <tr valign=top bgcolor="#eeeeff">
+ *     <td><code>-</code>
+ *     <td>Number
+ *     <td>Yes
+ *     <td>Minus sign
+ *   <tr valign=top>
+ *     <td><code>,</code>
+ *     <td>Number
+ *     <td>Yes
+ *     <td>Grouping separator
+ *   <tr valign=top bgcolor="#eeeeff">
+ *     <td><code>E</code>
+ *     <td>Number
+ *     <td>Yes
+ *     <td>Separates mantissa and exponent in scientific notation.
+ *         <em>Need not be quoted in prefix or suffix.</em>
+ *   <tr valign=top>
+ *     <td><code>+</code>
+ *     <td>Exponent
+ *     <td>Yes
+ *     <td><strong><font face=helvetica color=red>NEW</font></strong>
+ *         Prefix positive exponents with localized plus sign.
+ *         <em>Need not be quoted in prefix or suffix.</em>
+ *   <tr valign=top bgcolor="#eeeeff">
+ *     <td><code>;</code>
+ *     <td>Subpattern boundary
+ *     <td>Yes
+ *     <td>Separates positive and negative subpatterns
+ *   <tr valign=top>
+ *     <td><code>%</code>
+ *     <td>Prefix or suffix
+ *     <td>Yes
+ *     <td>Multiply by 100 and show as percentage
+ *   <tr valign=top bgcolor="#eeeeff">
+ *     <td><code>&#92;u2030</code>
+ *     <td>Prefix or suffix
+ *     <td>Yes
+ *     <td>Multiply by 1000 and show as per mille
+ *   <tr valign=top>
+ *     <td><code>&#164;</code> (<code>&#92;u00A4</code>)
+ *     <td>Prefix or suffix
+ *     <td>No
+ *     <td>Currency sign, replaced by currency symbol.  If
+ *         doubled, replaced by international currency symbol.
+ *         If present in a pattern, the monetary decimal separator
+ *         is used instead of the decimal separator.
+ *   <tr valign=top bgcolor="#eeeeff">
+ *     <td><code>'</code>
+ *     <td>Prefix or suffix
+ *     <td>No
+ *     <td>Used to quote special characters in a prefix or suffix,
+ *         for example, <code>"'#'#"</code> formats 123 to
+ *         <code>"#123"</code>.  To create a single quote
+ *         itself, use two in a row: <code>"# o''clock"</code>.
+ *   <tr valign=top>
+ *     <td><code>*</code>
+ *     <td>Prefix or suffix boundary
+ *     <td>Yes
+ *     <td><strong><font face=helvetica color=red>NEW</font></strong>
+ *         Pad escape, precedes pad character
+ * </table>
+ * </blockquote>
+ *
+ * <p>A <code>DecimalFormat</code> pattern contains a postive and negative
+ * subpattern, for example, "#,##0.00;(#,##0.00)".  Each subpattern has a
+ * prefix, a numeric part, and a suffix.  If there is no explicit negative
+ * subpattern, the negative subpattern is the localized minus sign prefixed to the
+ * positive subpattern. That is, "0.00" alone is equivalent to "0.00;-0.00".  If there
+ * is an explicit negative subpattern, it serves only to specify the negative
+ * prefix and suffix; the number of digits, minimal digits, and other
+ * characteristics are ignored in the negative subpattern. That means that
+ * "#,##0.0#;(#)" has precisely the same result as "#,##0.0#;(#,##0.0#)".
+ *
+ * <p>The prefixes, suffixes, and various symbols used for infinity, digits,
+ * thousands separators, decimal separators, etc. may be set to arbitrary
+ * values, and they will appear properly during formatting.  However, care must
+ * be taken that the symbols and strings do not conflict, or parsing will be
+ * unreliable.  For example, either the positive and negative prefixes or the
+ * suffixes must be distinct for {@link #parse} to be able
+ * to distinguish positive from negative values.  Another example is that the
+ * decimal separator and thousands separator should be distinct characters, or
+ * parsing will be impossible.
+ *
+ * <p>The <em>grouping separator</em> is a character that separates clusters of
+ * integer digits to make large numbers more legible.  It commonly used for
+ * thousands, but in some locales it separates ten-thousands.  The <em>grouping
+ * size</em> is the number of digits between the grouping separators, such as 3
+ * for "100,000,000" or 4 for "1 0000 0000". There are actually two different
+ * grouping sizes: One used for the least significant integer digits, the
+ * <em>primary grouping size</em>, and one used for all others, the
+ * <em>secondary grouping size</em>.  In most locales these are the same, but
+ * sometimes they are different. For example, if the primary grouping interval
+ * is 3, and the secondary is 2, then this corresponds to the pattern
+ * "#,##,##0", and the number 123456789 is formatted as "12,34,56,789".  If a
+ * pattern contains multiple grouping separators, the interval between the last
+ * one and the end of the integer defines the primary grouping size, and the
+ * interval between the last two defines the secondary grouping size. All others
+ * are ignored, so "#,##,###,####" == "###,###,####" == "##,#,###,####".
+ *
+ * <p>Illegal patterns, such as "#.#.#" or "#.###,###", will cause
+ * <code>DecimalFormat</code> to throw an {@link IllegalArgumentException}
+ * with a message that describes the problem.
+ *
+ * <h4>Pattern BNF</h4>
+ *
+ * <pre>
+ * pattern    := subpattern (';' subpattern)?
+ * subpattern := prefix? number exponent? suffix?
+ * number     := (integer ('.' fraction)?) | sigDigits
+ * prefix     := '&#92;u0000'..'&#92;uFFFD' - specialCharacters
+ * suffix     := '&#92;u0000'..'&#92;uFFFD' - specialCharacters
+ * integer    := '#'* '0'* '0'
+ * fraction   := '0'* '#'*
+ * sigDigits  := '#'* '@' '@'* '#'*
+ * exponent   := 'E' '+'? '0'* '0'
+ * padSpec    := '*' padChar
+ * padChar    := '&#92;u0000'..'&#92;uFFFD' - quote
+ * &#32;
+ * Notation:
+ *   X*       0 or more instances of X
+ *   X?       0 or 1 instances of X
+ *   X|Y      either X or Y
+ *   C..D     any character from C up to D, inclusive
+ *   S-T      characters in S, except those in T
+ * </pre>
+ * The first subpattern is for positive numbers. The second (optional)
+ * subpattern is for negative numbers.
+ * 
+ * <p>Not indicated in the BNF syntax above:
+ *
+ * <ul><li>The grouping separator ',' can occur inside the integer and
+ * sigDigits elements, between any two pattern characters of that
+ * element, as long as the integer or sigDigits element is not
+ * followed by the exponent element.
+ *
+ * <li><font color=red face=helvetica><strong>NEW</strong></font>
+ *     Two grouping intervals are recognized: That between the
+ *     decimal point and the first grouping symbol, and that
+ *     between the first and second grouping symbols. These
+ *     intervals are identical in most locales, but in some
+ *     locales they differ. For example, the pattern
+ *     &quot;#,##,###&quot; formats the number 123456789 as
+ *     &quot;12,34,56,789&quot;.</li>
+ * 
+ * <li>
+ * <strong><font face=helvetica color=red>NEW</font></strong>
+ * The pad specifier <code>padSpec</code> may appear before the prefix,
+ * after the prefix, before the suffix, after the suffix, or not at all.
+ *
+ * <li>
+ * <strong><font face=helvetica color=red>NEW</font></strong>
+ * In place of '0', the digits '1' through '9' may be used to
+ * indicate a rounding increment.
+ * </ul>
+ *
+ * <h4>Parsing</h4>
+ *
+ * <p><code>DecimalFormat</code> parses all Unicode characters that represent
+ * decimal digits, as defined by {@link UCharacter#digit}.  In addition,
+ * <code>DecimalFormat</code> also recognizes as digits the ten consecutive
+ * characters starting with the localized zero digit defined in the
+ * {@link DecimalFormatSymbols} object.  During formatting, the
+ * {@link DecimalFormatSymbols}-based digits are output.
+ *
+ * <p>During parsing, grouping separators are ignored.
+ *
+ * <p>If {@link #parse(String, ParsePosition)} fails to parse
+ * a string, it returns <code>null</code> and leaves the parse position
+ * unchanged.  The convenience method {@link #parse(String)}
+ * indicates parse failure by throwing a {@link java.text.ParseException}.
+ *
+ * <h4>Formatting</h4>
+ *
+ * <p>Formatting is guided by several parameters, all of which can be
+ * specified either using a pattern or using the API.  The following
+ * description applies to formats that do not use <a href="#sci">scientific
+ * notation</a> or <a href="#sigdig">significant digits</a>.
+ *
+ * <ul><li>If the number of actual integer digits exceeds the
+ * <em>maximum integer digits</em>, then only the least significant
+ * digits are shown.  For example, 1997 is formatted as "97" if the
+ * maximum integer digits is set to 2.
+ *
+ * <li>If the number of actual integer digits is less than the
+ * <em>minimum integer digits</em>, then leading zeros are added.  For
+ * example, 1997 is formatted as "01997" if the minimum integer digits
+ * is set to 5.
+ *
+ * <li>If the number of actual fraction digits exceeds the <em>maximum
+ * fraction digits</em>, then half-even rounding it performed to the
+ * maximum fraction digits.  For example, 0.125 is formatted as "0.12"
+ * if the maximum fraction digits is 2.  This behavior can be changed
+ * by specifying a rounding increment and a rounding mode.
+ *
+ * <li>If the number of actual fraction digits is less than the
+ * <em>minimum fraction digits</em>, then trailing zeros are added.
+ * For example, 0.125 is formatted as "0.1250" if the mimimum fraction
+ * digits is set to 4.
+ *
+ * <li>Trailing fractional zeros are not displayed if they occur
+ * <em>j</em> positions after the decimal, where <em>j</em> is less
+ * than the maximum fraction digits. For example, 0.10004 is
+ * formatted as "0.1" if the maximum fraction digits is four or less.
+ * </ul>
+ * 
+ * <p><strong>Special Values</strong>
+ *
+ * <p><code>NaN</code> is represented as a single character, typically
+ * <code>&#92;uFFFD</code>.  This character is determined by the
+ * {@link DecimalFormatSymbols} object.  This is the only value for which
+ * the prefixes and suffixes are not used.
+ *
+ * <p>Infinity is represented as a single character, typically
+ * <code>&#92;u221E</code>, with the positive or negative prefixes and suffixes
+ * applied.  The infinity character is determined by the
+ * {@link DecimalFormatSymbols} object.
+ *
+ * <a name="sci"><h4>Scientific Notation</h4></a>
+ *
+ * <p>Numbers in scientific notation are expressed as the product of a mantissa
+ * and a power of ten, for example, 1234 can be expressed as 1.234 x 10<sup>3</sup>. The
+ * mantissa is typically in the half-open interval [1.0, 10.0) or sometimes [0.0, 1.0),
+ * but it need not be.  <code>DecimalFormat</code> supports arbitrary mantissas.
+ * <code>DecimalFormat</code> can be instructed to use scientific
+ * notation through the API or through the pattern.  In a pattern, the exponent
+ * character immediately followed by one or more digit characters indicates
+ * scientific notation.  Example: "0.###E0" formats the number 1234 as
+ * "1.234E3".
+ *
+ * <ul>
+ * <li>The number of digit characters after the exponent character gives the
+ * minimum exponent digit count.  There is no maximum.  Negative exponents are
+ * formatted using the localized minus sign, <em>not</em> the prefix and suffix
+ * from the pattern.  This allows patterns such as "0.###E0 m/s".  To prefix
+ * positive exponents with a localized plus sign, specify '+' between the
+ * exponent and the digits: "0.###E+0" will produce formats "1E+1", "1E+0",
+ * "1E-1", etc.  (In localized patterns, use the localized plus sign rather than
+ * '+'.)
+ *
+ * <li>The minimum number of integer digits is achieved by adjusting the
+ * exponent.  Example: 0.00123 formatted with "00.###E0" yields "12.3E-4".  This
+ * only happens if there is no maximum number of integer digits.  If there is a
+ * maximum, then the minimum number of integer digits is fixed at one.
+ *
+ * <li>The maximum number of integer digits, if present, specifies the exponent
+ * grouping.  The most common use of this is to generate <em>engineering
+ * notation</em>, in which the exponent is a multiple of three, e.g.,
+ * "##0.###E0".  The number 12345 is formatted using "##0.####E0" as "12.345E3".
+ *
+ * <li>When using scientific notation, the formatter controls the
+ * digit counts using significant digits logic.  The maximum number of
+ * significant digits limits the total number of integer and fraction
+ * digits that will be shown in the mantissa; it does not affect
+ * parsing.  For example, 12345 formatted with "##0.##E0" is "12.3E3".
+ * See the section on significant digits for more details.
+ *
+ * <li>The number of significant digits shown is determined as
+ * follows: If areSignificantDigitsUsed() returns false, then the
+ * minimum number of significant digits shown is one, and the maximum
+ * number of significant digits shown is the sum of the <em>minimum
+ * integer</em> and <em>maximum fraction</em> digits, and is
+ * unaffected by the maximum integer digits.  If this sum is zero,
+ * then all significant digits are shown.  If
+ * areSignificantDigitsUsed() returns true, then the significant digit
+ * counts are specified by getMinimumSignificantDigits() and
+ * getMaximumSignificantDigits().  In this case, the number of
+ * integer digits is fixed at one, and there is no exponent grouping.
+ *
+ * <li>Exponential patterns may not contain grouping separators.
+ * </ul>
+ *
+ * <a name="sigdig"><h4>
+ * <strong><font face=helvetica color=red>NEW</font></strong>
+ * Significant Digits</h4></a>
+ *
+ * <code>DecimalFormat</code> has two ways of controlling how many
+ * digits are shows: (a) significant digits counts, or (b) integer and
+ * fraction digit counts.  Integer and fraction digit counts are
+ * described above.  When a formatter is using significant digits
+ * counts, the number of integer and fraction digits is not specified
+ * directly, and the formatter settings for these counts are ignored.
+ * Instead, the formatter uses however many integer and fraction
+ * digits are required to display the specified number of significant
+ * digits.  Examples:
+ *
+ * <blockquote>
+ * <table border=0 cellspacing=3 cellpadding=0>
+ *   <tr bgcolor="#ccccff">
+ *     <th align=left>Pattern
+ *     <th align=left>Minimum significant digits
+ *     <th align=left>Maximum significant digits
+ *     <th align=left>Number
+ *     <th align=left>Output of format()
+ *   <tr valign=top>
+ *     <td><code>@@@</code>
+ *     <td>3
+ *     <td>3
+ *     <td>12345
+ *     <td><code>12300</code>
+ *   <tr valign=top bgcolor="#eeeeff">
+ *     <td><code>@@@</code>
+ *     <td>3
+ *     <td>3
+ *     <td>0.12345
+ *     <td><code>0.123</code>
+ *   <tr valign=top>
+ *     <td><code>@@##</code>
+ *     <td>2
+ *     <td>4
+ *     <td>3.14159
+ *     <td><code>3.142</code>
+ *   <tr valign=top bgcolor="#eeeeff">
+ *     <td><code>@@##</code>
+ *     <td>2
+ *     <td>4
+ *     <td>1.23004
+ *     <td><code>1.23</code>
+ * </table>
+ * </blockquote>
+ *
+ * <ul>
+ * <li>Significant digit counts may be expressed using patterns that
+ * specify a minimum and maximum number of significant digits.  These
+ * are indicated by the <code>'@'</code> and <code>'#'</code>
+ * characters.  The minimum number of significant digits is the number
+ * of <code>'@'</code> characters.  The maximum number of significant
+ * digits is the number of <code>'@'</code> characters plus the number
+ * of <code>'#'</code> characters following on the right.  For
+ * example, the pattern <code>"@@@"</code> indicates exactly 3
+ * significant digits.  The pattern <code>"@##"</code> indicates from
+ * 1 to 3 significant digits.  Trailing zero digits to the right of
+ * the decimal separator are suppressed after the minimum number of
+ * significant digits have been shown.  For example, the pattern
+ * <code>"@##"</code> formats the number 0.1203 as
+ * <code>"0.12"</code>.
+ *
+ * <li>If a pattern uses significant digits, it may not contain a
+ * decimal separator, nor the <code>'0'</code> pattern character.
+ * Patterns such as <code>"@00"</code> or <code>"@.###"</code> are
+ * disallowed.
+ *
+ * <li>Any number of <code>'#'</code> characters may be prepended to
+ * the left of the leftmost <code>'@'</code> character.  These have no
+ * effect on the minimum and maximum significant digits counts, but
+ * may be used to position grouping separators.  For example,
+ * <code>"#,#@#"</code> indicates a minimum of one significant digits,
+ * a maximum of two significant digits, and a grouping size of three.
+ *
+ * <li>In order to enable significant digits formatting, use a pattern
+ * containing the <code>'@'</code> pattern character.  Alternatively,
+ * call {@link #setSignificantDigitsUsed setSignificantDigitsUsed(true)}.
+ *
+ * <li>In order to disable significant digits formatting, use a
+ * pattern that does not contain the <code>'@'</code> pattern
+ * character. Alternatively, call {@link #setSignificantDigitsUsed
+ * setSignificantDigitsUsed(false)}.
+ *
+ * <li>The number of significant digits has no effect on parsing.
+ *
+ * <li>Significant digits may be used together with exponential notation. Such
+ * patterns are equivalent to a normal exponential pattern with a minimum and
+ * maximum integer digit count of one, a minimum fraction digit count of
+ * <code>getMinimumSignificantDigits() - 1</code>, and a maximum fraction digit
+ * count of <code>getMaximumSignificantDigits() - 1</code>. For example, the
+ * pattern <code>"@@###E0"</code> is equivalent to <code>"0.0###E0"</code>.
+ *
+ * <li>If signficant digits are in use, then the integer and fraction
+ * digit counts, as set via the API, are ignored.  If significant
+ * digits are not in use, then the signficant digit counts, as set via
+ * the API, are ignored.
+ *
+ * </ul>
+ * 
+ * <h4>
+ * <strong><font face=helvetica color=red>NEW</font></strong>
+ * Padding</h4>
+ *
+ * <p><code>DecimalFormat</code> supports padding the result of
+ * {@link #format} to a specific width.  Padding may be specified either
+ * through the API or through the pattern syntax.  In a pattern the pad escape
+ * character, followed by a single pad character, causes padding to be parsed
+ * and formatted.  The pad escape character is '*' in unlocalized patterns, and
+ * can be localized using {@link DecimalFormatSymbols#setPadEscape}.  For
+ * example, <code>"$*x#,##0.00"</code> formats 123 to <code>"$xx123.00"</code>,
+ * and 1234 to <code>"$1,234.00"</code>.
+ *
+ * <ul>
+ * <li>When padding is in effect, the width of the positive subpattern,
+ * including prefix and suffix, determines the format width.  For example, in
+ * the pattern <code>"* #0 o''clock"</code>, the format width is 10.
+ *
+ * <li>The width is counted in 16-bit code units (Java <code>char</code>s).
+ *
+ * <li>Some parameters which usually do not matter have meaning when padding is
+ * used, because the pattern width is significant with padding.  In the pattern
+ * "* ##,##,#,##0.##", the format width is 14.  The initial characters "##,##,"
+ * do not affect the grouping size or maximum integer digits, but they do affect
+ * the format width.
+ *
+ * <li>Padding may be inserted at one of four locations: before the prefix,
+ * after the prefix, before the suffix, or after the suffix.  If padding is
+ * specified in any other location, {@link #applyPattern} throws an {@link
+ * IllegalArgumentException}.  If there is no prefix, before the
+ * prefix and after the prefix are equivalent, likewise for the suffix.
+ *
+ * <li>When specified in a pattern, the 16-bit <code>char</code> immediately
+ * following the pad escape is the pad character. This may be any character,
+ * including a special pattern character. That is, the pad escape
+ * <em>escapes</em> the following character. If there is no character after
+ * the pad escape, then the pattern is illegal.
+ *
+ * </ul>
+ *
+ * <p>
+ * <strong><font face=helvetica color=red>NEW</font></strong>
+ * <strong>Rounding</strong>
+ *
+ * <p><code>DecimalFormat</code> supports rounding to a specific increment.  For
+ * example, 1230 rounded to the nearest 50 is 1250.  1.234 rounded to the
+ * nearest 0.65 is 1.3.  The rounding increment may be specified through the API
+ * or in a pattern.  To specify a rounding increment in a pattern, include the
+ * increment in the pattern itself.  "#,#50" specifies a rounding increment of
+ * 50.  "#,##0.05" specifies a rounding increment of 0.05.
+ *
+ * <ul>
+ * <li>Rounding only affects the string produced by formatting.  It does
+ * not affect parsing or change any numerical values.
+ *
+ * <li>A <em>rounding mode</em> determines how values are rounded; see the
+ * {@link java.math.BigDecimal} documentation for a description of the
+ * modes.  Rounding increments specified in patterns use the default mode,
+ * {@link java.math.BigDecimal#ROUND_HALF_EVEN}.
+ *
+ * <li>Some locales use rounding in their currency formats to reflect the
+ * smallest currency denomination.
+ *
+ * <li>In a pattern, digits '1' through '9' specify rounding, but otherwise
+ * behave identically to digit '0'.
+ * </ul>
+ *
+ * <h4>Synchronization</h4>
+ *
+ * <p><code>DecimalFormat</code> objects are not synchronized.  Multiple
+ * threads should not access one formatter concurrently.
+ *
+ * @see          java.text.Format
+ * @see          NumberFormat
+ * @author       Mark Davis
+ * @author       Alan Liu
+ * @stable ICU 2.0
+ */
+public class DecimalFormat extends NumberFormat {
+
+    /**
+     * Create a DecimalFormat using the default pattern and symbols
+     * for the default locale. This is a convenient way to obtain a
+     * DecimalFormat when internationalization is not the main concern.
+     * <p>
+     * To obtain standard formats for a given locale, use the factory methods
+     * on NumberFormat such as getNumberInstance. These factories will
+     * return the most appropriate sub-class of NumberFormat for a given
+     * locale.
+     * @see NumberFormat#getInstance
+     * @see NumberFormat#getNumberInstance
+     * @see NumberFormat#getCurrencyInstance
+     * @see NumberFormat#getPercentInstance
+     * @stable ICU 2.0
+     */
+    public DecimalFormat() {
+        // [NEW]
+        ULocale def = ULocale.getDefault();
+        String pattern = getPattern(def, 0);
+        // Always applyPattern after the symbols are set
+        this.symbols = new DecimalFormatSymbols(def);
+        setCurrency(Currency.getInstance(def));
+        applyPattern(pattern, false);
+    }
+
+
+    /**
+     * Create a DecimalFormat from the given pattern and the symbols
+     * for the default locale. This is a convenient way to obtain a
+     * DecimalFormat when internationalization is not the main concern.
+     * <p>
+     * To obtain standard formats for a given locale, use the factory methods
+     * on NumberFormat such as getNumberInstance. These factories will
+     * return the most appropriate sub-class of NumberFormat for a given
+     * locale.
+     * @param pattern A non-localized pattern string.
+     * @exception IllegalArgumentException if the given pattern is invalid.
+     * @see NumberFormat#getInstance
+     * @see NumberFormat#getNumberInstance
+     * @see NumberFormat#getCurrencyInstance
+     * @see NumberFormat#getPercentInstance
+     * @stable ICU 2.0
+     */
+    public DecimalFormat(String pattern) {
+        // Always applyPattern after the symbols are set
+        ULocale def = ULocale.getDefault();
+        this.symbols = new DecimalFormatSymbols(def);
+        setCurrency(Currency.getInstance(def));
+        applyPattern( pattern, false );
+    }
+
+
+    /**
+     * Create a DecimalFormat from the given pattern and symbols.
+     * Use this constructor when you need to completely customize the
+     * behavior of the format.
+     * <p>
+     * To obtain standard formats for a given
+     * locale, use the factory methods on NumberFormat such as
+     * getInstance or getCurrencyInstance. If you need only minor adjustments
+     * to a standard format, you can modify the format returned by
+     * a NumberFormat factory method.
+     * @param pattern a non-localized pattern string
+     * @param symbols the set of symbols to be used
+     * @exception IllegalArgumentException if the given pattern is invalid
+     * @see NumberFormat#getInstance
+     * @see NumberFormat#getNumberInstance
+     * @see NumberFormat#getCurrencyInstance
+     * @see NumberFormat#getPercentInstance
+     * @see DecimalFormatSymbols
+     * @stable ICU 2.0
+     */
+    public DecimalFormat(String pattern, DecimalFormatSymbols symbols) {
+        // Always applyPattern after the symbols are set
+        this.symbols = (DecimalFormatSymbols) symbols.clone();
+        setCurrencyForSymbols();
+        applyPattern( pattern, false );
+    }
+
+
+    /**
+     * @stable ICU 2.0
+     */
+    public StringBuffer format(double number, StringBuffer result,
+                               FieldPosition fieldPosition)
+    {
+        fieldPosition.setBeginIndex(0);
+        fieldPosition.setEndIndex(0);
+
+        if (Double.isNaN(number))
+        {
+            if (fieldPosition.getField() == NumberFormat.INTEGER_FIELD) {
+                fieldPosition.setBeginIndex(result.length());
+            }
+
+            result.append(symbols.getNaN());
+
+            if (fieldPosition.getField() == NumberFormat.INTEGER_FIELD) {
+                fieldPosition.setEndIndex(result.length());
+            }
+
+            addPadding(result, fieldPosition, 0, 0);
+            return result;
+        }
+
+        /* Detecting whether a double is negative is easy with the exception of
+         * the value -0.0.  This is a double which has a zero mantissa (and
+         * exponent), but a negative sign bit.  It is semantically distinct from
+         * a zero with a positive sign bit, and this distinction is important
+         * to certain kinds of computations.  However, it's a little tricky to
+         * detect, since (-0.0 == 0.0) and !(-0.0 < 0.0).  How then, you may
+         * ask, does it behave distinctly from +0.0?  Well, 1/(-0.0) ==
+         * -Infinity.  Proper detection of -0.0 is needed to deal with the
+         * issues raised by bugs 4106658, 4106667, and 4147706.  Liu 7/6/98.
+         */
+        boolean isNegative = (number < 0.0) || (number == 0.0 && 1/number < 0.0);
+        if (isNegative) number = -number;
+
+        // Do this BEFORE checking to see if value is infinite!
+        if (multiplier != 1) number *= multiplier;
+
+        // Apply rounding after multiplier
+        if (roundingDouble > 0.0) {
+            // number = roundingDouble
+            //  * round(number / roundingDouble, roundingMode, isNegative);
+            number = round(number, roundingDouble, roundingMode, isNegative);
+        }
+
+        if (Double.isInfinite(number))
+        {
+            int prefixLen = appendAffix(result, isNegative, true);
+
+            if (fieldPosition.getField() == NumberFormat.INTEGER_FIELD) {
+                fieldPosition.setBeginIndex(result.length());
+            }
+
+            result.append(symbols.getInfinity());
+
+            if (fieldPosition.getField() == NumberFormat.INTEGER_FIELD) {
+                fieldPosition.setEndIndex(result.length());
+            }
+
+            int suffixLen = appendAffix(result, isNegative, false);
+
+            addPadding(result, fieldPosition, prefixLen, suffixLen);
+            return result;
+        }
+
+        // At this point we are guaranteed a nonnegative finite
+        // number.
+        synchronized(digitList) {
+            digitList.set(number, precision(false),
+                          !useExponentialNotation && !areSignificantDigitsUsed());
+            return subformat(result, fieldPosition, isNegative, false);
+        }
+    }
+    
+    /**
+     * <strong><font face=helvetica color=red>NEW</font></strong>
+     * Round a double value to the nearest multiple of the given
+     * rounding increment, according to the given mode.  This is
+     * equivalent to rounding value/roundingInc to the nearest
+     * integer, according to the given mode, and returning that
+     * integer * roundingInc.
+     * Note this is changed from the version in 2.4, since division of doubles
+     * have inaccuracies. jitterbug 1871.
+     * @param number the absolute value of the number to be rounded
+     * @param roundingInc the rounding increment
+     * @param mode a BigDecimal rounding mode
+     * @param isNegative true if the number to be rounded is negative
+     * @return the absolute value of the rounded result
+     */
+    private static double round(double number, double roundingInc, 
+                                int mode, boolean isNegative) {
+        double div = number / roundingInc;
+        switch (mode) {
+        case java.math.BigDecimal.ROUND_CEILING:
+            return (isNegative ? Math.floor(div) : Math.ceil(div)) 
+                                                                 * roundingInc;
+        case java.math.BigDecimal.ROUND_FLOOR:
+            return (isNegative ? Math.ceil(div) : Math.floor(div)) 
+                                                                 * roundingInc;
+        case java.math.BigDecimal.ROUND_DOWN:
+            return (Math.floor(div)) * roundingInc;
+        case java.math.BigDecimal.ROUND_UP:
+            return (Math.ceil(div)) * roundingInc;
+        case java.math.BigDecimal.ROUND_UNNECESSARY:
+            if (div != Math.floor(div)) {
+                throw new ArithmeticException("Rounding necessary");
+            }
+            return number;
+        }
+
+        // Handle complex cases
+        double ceil = Math.ceil(div);
+        double ceildiff = (ceil * roundingInc) - number;
+        double floor = Math.floor(div);
+        double floordiff = number - (floor * roundingInc);
+        switch (mode) {
+        case java.math.BigDecimal.ROUND_HALF_EVEN:
+            // We should be able to just return Math.rint(a), but this
+            // doesn't work in some VMs.
+            if (ceildiff != floordiff) {
+                return (Math.rint(div)) * roundingInc;
+            }
+            floor /= 2.0;
+            return (floor == Math.floor(floor) ? Math.floor(div) 
+                                              : (Math.floor(div) + 1.0)) 
+                                              * roundingInc;
+        case java.math.BigDecimal.ROUND_HALF_DOWN:
+            return ((floordiff <= ceildiff) ? floor : ceil) * roundingInc;
+        case java.math.BigDecimal.ROUND_HALF_UP:
+            return ((ceildiff <= floordiff) ? ceil : floor) * roundingInc;
+        default:
+            throw new IllegalArgumentException("Invalid rounding mode: " + mode);
+        }
+    }
+
+    /**
+     * @stable ICU 2.0
+     */
+    public StringBuffer format(long number, StringBuffer result,
+                               FieldPosition fieldPosition)
+    {
+        fieldPosition.setBeginIndex(0);
+        fieldPosition.setEndIndex(0);
+
+        // If we are to do rounding, we need to move into the BigDecimal
+        // domain in order to do divide/multiply correctly.
+        // [NEW]
+        if (roundingIncrement != null) {
+            return format(java.math.BigDecimal.valueOf(number), result, fieldPosition);
+        }
+
+        boolean isNegative = (number < 0);
+        if (isNegative) number = -number;
+
+        // In general, long values always represent real finite numbers, so
+        // we don't have to check for +/- Infinity or NaN.  However, there
+        // is one case we have to be careful of:  The multiplier can push
+        // a number near MIN_VALUE or MAX_VALUE outside the legal range.  We
+        // check for this before multiplying, and if it happens we use BigInteger
+        // instead.
+        // [NEW]
+        if (multiplier != 1) {
+            boolean tooBig = false;
+            if (number < 0) { // This can only happen if number == Long.MIN_VALUE
+                long cutoff = Long.MIN_VALUE / multiplier;
+                tooBig = (number < cutoff);
+            } else {
+                long cutoff = Long.MAX_VALUE / multiplier;
+                tooBig = (number > cutoff);
+            }
+            if (tooBig) {
+                return format(BigInteger.valueOf(isNegative ? -number : number),
+                              result, fieldPosition);
+            }
+        }
+
+        number *= multiplier;
+        synchronized(digitList) {
+            digitList.set(number, precision(true));
+            return subformat(result, fieldPosition, isNegative, true);
+        }
+    }
+
+    /**
+     * <strong><font face=helvetica color=red>NEW</font></strong>
+     * Format a BigInteger number.
+     * @stable ICU 2.0
+     */
+    public StringBuffer format(BigInteger number, StringBuffer result,
+                               FieldPosition fieldPosition) {
+        // If we are to do rounding, we need to move into the BigDecimal
+        // domain in order to do divide/multiply correctly.
+        if (roundingIncrement != null) {
+            return format(new java.math.BigDecimal(number), result, fieldPosition);
+        }
+
+        if (multiplier != 1) {
+            number = number.multiply(BigInteger.valueOf(multiplier));
+        }
+
+        // At this point we are guaranteed a nonnegative finite
+        // number.
+        synchronized(digitList) {
+            digitList.set(number, precision(true));
+            return subformat(result, fieldPosition, number.signum() < 0, false);
+        }
+    }
+
+    /**
+     * <strong><font face=helvetica color=red>NEW</font></strong>
+     * Format a BigDecimal number.
+     * @stable ICU 2.0
+     */
+    public StringBuffer format(java.math.BigDecimal number, StringBuffer result,
+                               FieldPosition fieldPosition) {
+        if (multiplier != 1) {
+            number = number.multiply(java.math.BigDecimal.valueOf(multiplier));
+        }
+
+        if (roundingIncrement != null) {
+            number = number.divide(roundingIncrement, 0, roundingMode)
+                    .multiply(roundingIncrement);
+        }
+
+        synchronized(digitList) {
+            digitList.set(number, precision(false),
+                          !useExponentialNotation && !areSignificantDigitsUsed());
+            return subformat(result, fieldPosition, number.signum() < 0, false);
+        }        
+    }
+
+    /**
+     * <strong><font face=helvetica color=red>NEW</font></strong>
+     * Format a BigDecimal number.
+     * @stable ICU 2.0
+     */
+    public StringBuffer format(com.ibm.icu.math.BigDecimal number, StringBuffer result,
+                               FieldPosition fieldPosition) {
+        /* This method is just a copy of the corresponding java.math.BigDecimal
+         * method for now.  It isn't very efficient since it must create a
+         * conversion object to do math on the rounding increment.  In the
+         * future we may try to clean this up, or even better, limit our support
+         * to just one flavor of BigDecimal.
+         */
+        if (multiplier != 1) {
+            number = number.multiply(com.ibm.icu.math.BigDecimal.valueOf(multiplier));
+        }
+
+        if (roundingIncrement != null) {
+            com.ibm.icu.math.BigDecimal ri = new com.ibm.icu.math.BigDecimal(roundingIncrement);
+            number = number.divide(ri, 0, roundingMode)
+                    .multiply(ri);
+        }
+
+        synchronized(digitList) {
+            digitList.set(number, precision(false),
+                          !useExponentialNotation && !areSignificantDigitsUsed());
+            return subformat(result, fieldPosition, number.signum() < 0, false);
+        }        
+    }
+
+    /**
+     * Return true if a grouping separator belongs at the given
+     * position, based on whether grouping is in use and the values of
+     * the primary and secondary grouping interval.
+     * @param pos the number of integer digits to the right of
+     * the current position.  Zero indicates the position after the
+     * rightmost integer digit.
+     * @return true if a grouping character belongs at the current
+     * position.
+     */
+    private boolean isGroupingPosition(int pos) {
+        boolean result = false;
+        if (isGroupingUsed() && (pos > 0) && (groupingSize > 0)) {
+            if ((groupingSize2 > 0) && (pos > groupingSize)) {
+                result = ((pos - groupingSize) % groupingSize2) == 0;
+            } else {
+                result = pos % groupingSize == 0;
+            }
+        }
+        return result;
+    }
+
+    /**
+     * Return the number of fraction digits to display, or the total
+     * number of digits for significant digit formats and exponential
+     * formats.
+     */
+    private int precision(boolean isIntegral) {
+        if (areSignificantDigitsUsed()) {
+            return getMaximumSignificantDigits();
+        } else if (useExponentialNotation) {
+            return getMinimumIntegerDigits() + getMaximumFractionDigits();
+        } else {
+            return isIntegral ? 0 : getMaximumFractionDigits();
+        }
+    }
+
+    /**
+     * Complete the formatting of a finite number.  On entry, the digitList must
+     * be filled in with the correct digits.
+     */
+    private StringBuffer subformat(StringBuffer result, FieldPosition fieldPosition,
+                                   boolean isNegative, boolean isInteger)
+    {
+        // NOTE: This isn't required anymore because DigitList takes care of this.
+        //
+        //  // The negative of the exponent represents the number of leading
+        //  // zeros between the decimal and the first non-zero digit, for
+        //  // a value < 0.1 (e.g., for 0.00123, -fExponent == 2).  If this
+        //  // is more than the maximum fraction digits, then we have an underflow
+        //  // for the printed representation.  We recognize this here and set
+        //  // the DigitList representation to zero in this situation.
+        //
+        //  if (-digitList.decimalAt >= getMaximumFractionDigits())
+        //  {
+        //      digitList.count = 0;
+        //  }
+
+        int i;
+        char zero = symbols.getZeroDigit();
+        int zeroDelta = zero - '0'; // '0' is the DigitList representation of zero
+        char grouping = symbols.getGroupingSeparator();
+        char decimal = isCurrencyFormat ?
+            symbols.getMonetaryDecimalSeparator() :
+            symbols.getDecimalSeparator();
+        boolean useSigDig = areSignificantDigitsUsed();
+        int maxIntDig = getMaximumIntegerDigits();
+        int minIntDig = getMinimumIntegerDigits();
+
+        /* Per bug 4147706, DecimalFormat must respect the sign of numbers which
+         * format as zero.  This allows sensible computations and preserves
+         * relations such as signum(1/x) = signum(x), where x is +Infinity or
+         * -Infinity.  Prior to this fix, we always formatted zero values as if
+         * they were positive.  Liu 7/6/98.
+         */
+        if (digitList.isZero())
+        {
+            digitList.decimalAt = 0; // Normalize
+        }
+
+        int prefixLen = appendAffix(result, isNegative, true);
+
+        if (useExponentialNotation)
+        {
+            // Record field information for caller.
+            if (fieldPosition.getField() == NumberFormat.INTEGER_FIELD) {
+                fieldPosition.setBeginIndex(result.length());
+                fieldPosition.setEndIndex(-1);
+            } else if (fieldPosition.getField() == NumberFormat.FRACTION_FIELD) {
+                fieldPosition.setBeginIndex(-1);
+            }
+
+            int minFracDig = 0;
+            if (useSigDig) {
+                maxIntDig = minIntDig = 1;
+                minFracDig = getMinimumSignificantDigits() - 1;
+            } else {
+                minFracDig = getMinimumFractionDigits();
+                if (maxIntDig > MAX_SCIENTIFIC_INTEGER_DIGITS) {
+                    maxIntDig = 1;
+                    if (maxIntDig < minIntDig) {
+                        maxIntDig = minIntDig;
+                    }
+                }
+                if (maxIntDig > minIntDig) {
+                    minIntDig = 1;
+                }
+            }            
+
+            // Minimum integer digits are handled in exponential format by
+            // adjusting the exponent.  For example, 0.01234 with 3 minimum
+            // integer digits is "123.4E-4".
+
+            // Maximum integer digits are interpreted as indicating the
+            // repeating range.  This is useful for engineering notation, in
+            // which the exponent is restricted to a multiple of 3.  For
+            // example, 0.01234 with 3 maximum integer digits is "12.34e-3".
+            // If maximum integer digits are defined and are larger than
+            // minimum integer digits, then minimum integer digits are
+            // ignored.
+
+            int exponent = digitList.decimalAt;
+            if (maxIntDig > 1 && maxIntDig != minIntDig) {
+                // A exponent increment is defined; adjust to it.
+                exponent = (exponent > 0) ? (exponent - 1) / maxIntDig
+                                          : (exponent / maxIntDig) - 1;
+                exponent *= maxIntDig;
+            } else {
+                // No exponent increment is defined; use minimum integer digits.
+                // If none is specified, as in "#E0", generate 1 integer digit.
+                exponent -= (minIntDig > 0 || minFracDig > 0)
+                    ? minIntDig : 1;
+            }
+
+            // We now output a minimum number of digits, and more if there
+            // are more digits, up to the maximum number of digits.  We
+            // place the decimal point after the "integer" digits, which
+            // are the first (decimalAt - exponent) digits.
+            int minimumDigits = minIntDig + minFracDig;
+            // The number of integer digits is handled specially if the number
+            // is zero, since then there may be no digits.
+            int integerDigits = digitList.isZero() ? minIntDig :
+                digitList.decimalAt - exponent;
+            int totalDigits = digitList.count;
+            if (minimumDigits > totalDigits) totalDigits = minimumDigits;
+            if (integerDigits > totalDigits) totalDigits = integerDigits;
+
+            for (i=0; i<totalDigits; ++i)
+            {
+                if (i == integerDigits)
+                {
+                    // Record field information for caller.
+                    if (fieldPosition.getField() == NumberFormat.INTEGER_FIELD) {
+                        fieldPosition.setEndIndex(result.length());
+                    }
+
+                    result.append(decimal);
+
+                    // Record field information for caller.
+                    if (fieldPosition.getField() == NumberFormat.FRACTION_FIELD) {
+                        fieldPosition.setBeginIndex(result.length());
+                    }
+                }
+                result.append((i < digitList.count) ?
+                          (char)(digitList.digits[i] + zeroDelta) :
+                          zero);
+            }
+            
+            //For ICU compatibility and format 0 to 0E0 with pattern "#E0" [Richard/GCL]
+            if (digitList.isZero() && (totalDigits ==0)) {
+                result.append(zero);
+            }
+
+            // Record field information
+            if (fieldPosition.getField() == NumberFormat.INTEGER_FIELD) {
+                if (fieldPosition.getEndIndex() < 0) {
+                    fieldPosition.setEndIndex(result.length());
+                }
+            } else if (fieldPosition.getField() == NumberFormat.FRACTION_FIELD) {
+                if (fieldPosition.getBeginIndex() < 0) {
+                    fieldPosition.setBeginIndex(result.length());
+                }
+                fieldPosition.setEndIndex(result.length());
+            }
+
+            // The exponent is output using the pattern-specified minimum
+            // exponent digits.  There is no maximum limit to the exponent
+            // digits, since truncating the exponent would result in an
+            // unacceptable inaccuracy.
+            result.append(symbols.getExponentSeparator());
+
+            // For zero values, we force the exponent to zero.  We
+            // must do this here, and not earlier, because the value
+            // is used to determine integer digit count above.
+            if (digitList.isZero()) exponent = 0;
+
+            boolean negativeExponent = exponent < 0;
+            if (negativeExponent) {
+                exponent = -exponent;
+                result.append(symbols.getMinusSign());
+            } else if (exponentSignAlwaysShown) {
+                result.append(symbols.getPlusSign());
+            }
+            digitList.set(exponent);
+            {
+                int expDig = minExponentDigits;
+                if (useExponentialNotation && expDig < 1) {
+                    expDig = 1;
+                }
+                for (i=digitList.decimalAt; i<expDig; ++i) result.append(zero);
+            }
+            for (i=0; i<digitList.decimalAt; ++i)
+            {
+                result.append((i < digitList.count) ?
+                          (char)(digitList.digits[i] + zeroDelta) : zero);
+            }
+        }
+        else
+        {
+            // Record field information for caller.
+            if (fieldPosition.getField() == NumberFormat.INTEGER_FIELD) {
+                fieldPosition.setBeginIndex(result.length());
+            }
+
+            int sigCount = 0;
+            int minSigDig = getMinimumSignificantDigits();
+            int maxSigDig = getMaximumSignificantDigits();
+            if (!useSigDig) {
+                minSigDig = 0;
+                maxSigDig = Integer.MAX_VALUE;
+            }
+
+            // Output the integer portion.  Here 'count' is the total
+            // number of integer digits we will display, including both
+            // leading zeros required to satisfy getMinimumIntegerDigits,
+            // and actual digits present in the number.
+            int count = useSigDig ?
+                Math.max(1, digitList.decimalAt) : minIntDig;
+            if (digitList.decimalAt > 0 && count < digitList.decimalAt) {
+                count = digitList.decimalAt;
+            }
+
+            // Handle the case where getMaximumIntegerDigits() is smaller
+            // than the real number of integer digits.  If this is so, we
+            // output the least significant max integer digits.  For example,
+            // the value 1997 printed with 2 max integer digits is just "97".
+
+            int digitIndex = 0; // Index into digitList.fDigits[]
+            if (count > maxIntDig && maxIntDig >= 0) {
+                count = maxIntDig;
+                digitIndex = digitList.decimalAt - count;
+            }
+
+            int sizeBeforeIntegerPart = result.length();
+            for (i=count-1; i>=0; --i)
+            {
+                if (i < digitList.decimalAt && digitIndex < digitList.count &&
+                    sigCount < maxSigDig) {
+                    // Output a real digit
+                    byte d = digitList.digits[digitIndex++];
+                    result.append((char)(d + zeroDelta));
+                    ++sigCount;
+                }
+                else
+                {
+                    // Output a zero (leading or trailing)
+                    result.append(zero);
+                    if (sigCount > 0) {
+                        ++sigCount;
+                    }
+                }
+
+                // Output grouping separator if necessary.
+                if (isGroupingPosition(i)) {
+                    result.append(grouping);
+                }
+            }
+
+            // Record field information for caller.
+            if (fieldPosition.getField() == NumberFormat.INTEGER_FIELD) {
+                fieldPosition.setEndIndex(result.length());
+            }
+
+            // Determine whether or not there are any printable fractional
+            // digits.  If we've used up the digits we know there aren't.
+            boolean fractionPresent = (!isInteger && digitIndex < digitList.count) ||
+                (useSigDig ? (sigCount < minSigDig) : (getMinimumFractionDigits() > 0));
+
+            // If there is no fraction present, and we haven't printed any
+            // integer digits, then print a zero.  Otherwise we won't print
+            // _any_ digits, and we won't be able to parse this string.
+            if (!fractionPresent && result.length() == sizeBeforeIntegerPart)
+                result.append(zero);
+
+            // Output the decimal separator if we always do so.
+            if (decimalSeparatorAlwaysShown || fractionPresent)
+                result.append(decimal);
+
+            // Record field information for caller.
+            if (fieldPosition.getField() == NumberFormat.FRACTION_FIELD) {
+                fieldPosition.setBeginIndex(result.length());
+            }
+
+            count = useSigDig ? Integer.MAX_VALUE : getMaximumFractionDigits();
+            if (useSigDig && (sigCount == maxSigDig ||
+                              (sigCount >= minSigDig && digitIndex == digitList.count))) {
+                count = 0;   
+            }
+            for (i=0; i < count; ++i) {
+                // Here is where we escape from the loop.  We escape
+                // if we've output the maximum fraction digits
+                // (specified in the for expression above).  We also
+                // stop when we've output the minimum digits and
+                // either: we have an integer, so there is no
+                // fractional stuff to display, or we're out of
+                // significant digits.
+                if (!useSigDig && i >= getMinimumFractionDigits() &&
+                    (isInteger || digitIndex >= digitList.count)) {
+                    break;
+                }
+
+                // Output leading fractional zeros.  These are zeros
+                // that come after the decimal but before any
+                // significant digits.  These are only output if
+                // abs(number being formatted) < 1.0.
+                if (-1-i > (digitList.decimalAt-1)) {
+                    result.append(zero);
+                    continue;
+                }
+
+                // Output a digit, if we have any precision left, or a
+                // zero if we don't.  We don't want to output noise digits.
+                if (!isInteger && digitIndex < digitList.count) {
+                    result.append((char)(digitList.digits[digitIndex++] + zeroDelta));
+                } else {
+                    result.append(zero);
+                }
+
+                // If we reach the maximum number of significant
+                // digits, or if we output all the real digits and
+                // reach the minimum, then we are done.
+                ++sigCount;
+                if (useSigDig &&
+                    (sigCount == maxSigDig ||
+                     (digitIndex == digitList.count && sigCount >= minSigDig))) {
+                    break;
+                }
+            }
+
+            // Record field information for caller.
+            if (fieldPosition.getField() == NumberFormat.FRACTION_FIELD) {
+                fieldPosition.setEndIndex(result.length());
+            }
+        }
+
+        int suffixLen = appendAffix(result, isNegative, false);
+
+        // [NEW]
+        addPadding(result, fieldPosition, prefixLen, suffixLen);
+        return result;
+    }
+
+    // [NEW]
+    private final void addPadding(StringBuffer result, FieldPosition fieldPosition,
+                                  int prefixLen, int suffixLen) {
+        if (formatWidth > 0) {
+            int len = formatWidth - result.length();
+            if (len > 0) {
+                char[] padding = new char[len];
+                for (int i=0; i<len; ++i) {
+                    padding[i] = pad;
+                }
+                switch (padPosition) {
+                case PAD_AFTER_PREFIX:
+                    result.insert(prefixLen, padding);
+                    break;
+                case PAD_BEFORE_PREFIX:
+                    result.insert(0, padding);
+                    break;
+                case PAD_BEFORE_SUFFIX:
+                    result.insert(result.length() - suffixLen, padding);
+                    break;
+                case PAD_AFTER_SUFFIX:
+                    result.append(padding);
+                    break;
+                }
+                if (padPosition == PAD_BEFORE_PREFIX ||
+                    padPosition == PAD_AFTER_PREFIX) {
+                    fieldPosition.setBeginIndex(fieldPosition.getBeginIndex() + len);
+                    fieldPosition.setEndIndex(fieldPosition.getEndIndex() + len);
+                }
+            }
+        }
+    }
+
+    /**
+     * <strong><font face=helvetica color=red>CHANGED</font></strong>
+     * Parse the given string, returning a <code>Number</code> object to
+     * represent the parsed value.  <code>Double</code> objects are returned to
+     * represent non-integral values which cannot be stored in a
+     * <code>BigDecimal</code>.  These are <code>NaN</code>, infinity,
+     * -infinity, and -0.0.  All other values are returned as <code>Long</code>,
+     * <code>BigInteger</code>, or <code>BigDecimal</code> values, in that order
+     * of preference.  If the parse fails, null is returned.
+     * @param text the string to be parsed
+     * @param parsePosition defines the position where parsing is to begin,
+     * and upon return, the position where parsing left off.  If the position
+     * has not changed upon return, then parsing failed.
+     * @return a <code>Number</code> object with the parsed value or
+     * <code>null</code> if the parse failed
+     * @stable ICU 2.0
+     */
+    public Number parse(String text, ParsePosition parsePosition) {
+       return (Number) parse(text, parsePosition, false);
+    }
+
+    /**
+     * <strong><font face=helvetica color=red>NEW</font></strong>
+     * Parses text from the given string as a CurrencyAmount.  Unlike
+     * the parse() method, this method will attempt to parse a generic
+     * currency name, searching for a match of this object's locale's
+     * currency display names, or for a 3-letter ISO currency code.
+     * This method will fail if this format is not a currency format,
+     * that is, if it does not contain the currency pattern symbol
+     * (U+00A4) in its prefix or suffix.
+     *
+     * @param text the string to parse
+     * @param pos input-output position; on input, the position within
+     * text to match; must have 0 <= pos.getIndex() < text.length();
+     * on output, the position after the last matched character. If
+     * the parse fails, the position in unchanged upon output.
+     * @return a CurrencyAmount, or null upon failure
+     * @internal
+     */
+    CurrencyAmount parseCurrency(String text, ParsePosition pos) {
+        return (CurrencyAmount) parse(text, pos, true);
+    }
+
+    /**
+     * Parses the given text as either a Number or a CurrencyAmount.
+     * @param text the string to parse
+     * @param parsePosition input-output position; on input, the
+     * position within text to match; must have 0 <= pos.getIndex() <
+     * text.length(); on output, the position after the last matched
+     * character. If the parse fails, the position in unchanged upon
+     * output.
+     * @param parseCurrency if true, a CurrencyAmount is parsed and
+     * returned; otherwise a Number is parsed and returned
+     * @return a Number or CurrencyAmount or null
+     */
+    private Object parse(String text, ParsePosition parsePosition, boolean parseCurrency) {
+        int backup;
+        int i = backup = parsePosition.getIndex();
+
+        // Handle NaN as a special case:
+
+        // Skip padding characters, if around prefix
+        if (formatWidth > 0 && (padPosition == PAD_BEFORE_PREFIX ||
+                                padPosition == PAD_AFTER_PREFIX)) {
+            i = skipPadding(text, i);
+        }
+        if (text.regionMatches(i, symbols.getNaN(),
+                               0, symbols.getNaN().length())) {
+            i += symbols.getNaN().length();
+            // Skip padding characters, if around suffix
+            if (formatWidth > 0 && (padPosition == PAD_BEFORE_SUFFIX ||
+                                    padPosition == PAD_AFTER_SUFFIX)) {
+                i = skipPadding(text, i);
+            }
+            parsePosition.setIndex(i);
+            return new Double(Double.NaN);
+        }
+
+        // NaN parse failed; start over
+        i = backup;
+
+        boolean[] status = new boolean[STATUS_LENGTH];
+        Currency[] currency = parseCurrency ? new Currency[1] : null;
+        if (!subparse(text, parsePosition, digitList, false, status, currency)) {
+            parsePosition.setIndex(backup);
+            return null;
+        }
+
+        Number n = null;
+
+        // Handle infinity
+        if (status[STATUS_INFINITE]) {
+            n = new Double(status[STATUS_POSITIVE]
+                           ? Double.POSITIVE_INFINITY
+                           : Double.NEGATIVE_INFINITY);
+        }
+
+        // Handle -0.0
+        else if (!status[STATUS_POSITIVE] && digitList.isZero()) {
+            n = new Double(-0.0);
+        }
+
+        else {
+            // Do as much of the multiplier conversion as possible without
+            // losing accuracy.
+            int mult = multiplier; // Don't modify this.multiplier
+            while (mult % 10 == 0) {
+                --digitList.decimalAt;
+                mult /= 10;
+            }
+
+            // Handle integral values
+            if (mult == 1 && digitList.isIntegral()) {
+                // hack quick long
+        if (digitList.decimalAt < 12) { // quick check for long
+            long l = 0;
+            if (digitList.count > 0) {
+            int nx = 0;
+                        while (nx < digitList.count) {
+                            l = l * 10 + (char)digitList.digits[nx++] - '0';
+                        }
+                        while (nx++ < digitList.decimalAt) {
+                            l *= 10;
+                        }
+                        if (!status[STATUS_POSITIVE]) {
+                            l = -l;
+                        }
+                    }
+                    n = new Long(l);
+        } else {
+                    BigInteger big = digitList.getBigInteger(status[STATUS_POSITIVE]);
+                    n = (big.bitLength() < 64) ?
+                        (Number) new Long(big.longValue()) : (Number) big;
+        }
+            }
+
+            // Handle non-integral values
+            else {
+                java.math.BigDecimal big = digitList.getBigDecimal(status[STATUS_POSITIVE]);
+                n = big;
+                if (mult != 1) {
+                    n = big.divide(java.math.BigDecimal.valueOf(mult),
+                                   java.math.BigDecimal.ROUND_HALF_EVEN);
+                }
+            }
+        }
+
+        // Assemble into CurrencyAmount if necessary
+        return parseCurrency ? (Object) new CurrencyAmount(n, currency[0])
+                             : (Object) n;
+    }
+
+    private static final int STATUS_INFINITE = 0;
+    private static final int STATUS_POSITIVE = 1;
+    private static final int STATUS_LENGTH   = 2;
+
+    /**
+     * <strong><font face=helvetica color=red>CHANGED</font></strong>
+     * Parse the given text into a number.  The text is parsed beginning at
+     * parsePosition, until an unparseable character is seen.
+     * @param text The string to parse.
+     * @param parsePosition The position at which to being parsing.  Upon
+     * return, the first unparseable character.
+     * @param digits The DigitList to set to the parsed value.
+     * @param isExponent If true, parse an exponent.  This means no
+     * infinite values and integer only.
+     * @param status Upon return contains boolean status flags indicating
+     * whether the value was infinite and whether it was positive.
+     * @param currency return value for parsed currency, for generic
+     * currency parsing mode, or null for normal parsing. In generic
+     * currency parsing mode, any currency is parsed, not just the
+     * currency that this formatter is set to.
+     */
+    private final boolean subparse(String text, ParsePosition parsePosition,
+                   DigitList digits, boolean isExponent,
+                   boolean status[], Currency currency[])
+    {
+        int position = parsePosition.getIndex();
+        int oldStart = parsePosition.getIndex();
+
+        // Match padding before prefix
+        if (formatWidth > 0 && padPosition == PAD_BEFORE_PREFIX) {
+            position = skipPadding(text, position);
+        }
+
+        // Match positive and negative prefixes; prefer longest match.
+        int posMatch = compareAffix(text, position, false, true, currency);
+        int negMatch = compareAffix(text, position, true, true, currency);
+        if (posMatch >= 0 && negMatch >= 0) {
+            if (posMatch > negMatch) {
+                negMatch = -1;
+            } else if (negMatch > posMatch) {
+                posMatch = -1;
+            }  
+        }
+        if (posMatch >= 0) {
+            position += posMatch;
+        } else if (negMatch >= 0) {
+            position += negMatch;
+        } else {
+            parsePosition.setErrorIndex(position);
+            return false;
+        }
+
+        // Match padding after prefix
+        if (formatWidth > 0 && padPosition == PAD_AFTER_PREFIX) {
+            position = skipPadding(text, position);
+        }
+
+        // process digits or Inf, find decimal position
+        status[STATUS_INFINITE] = false;
+        if (!isExponent && text.regionMatches(position,symbols.getInfinity(),0,
+                          symbols.getInfinity().length()))
+        {
+            position += symbols.getInfinity().length();
+            status[STATUS_INFINITE] = true;
+        } else {
+            // We now have a string of digits, possibly with grouping symbols,
+            // and decimal points.  We want to process these into a DigitList.
+            // We don't want to put a bunch of leading zeros into the DigitList
+            // though, so we keep track of the location of the decimal point,
+            // put only significant digits into the DigitList, and adjust the
+            // exponent as needed.
+
+            digits.decimalAt = digits.count = 0;
+            char zero = symbols.getZeroDigit();
+            char decimal = isCurrencyFormat ?
+            symbols.getMonetaryDecimalSeparator() : symbols.getDecimalSeparator();
+            char grouping = symbols.getGroupingSeparator();
+            String exponentSep = symbols.getExponentSeparator();
+            boolean sawDecimal = false;
+            boolean sawExponent = false;
+            boolean sawDigit = false;
+            int exponent = 0; // Set to the exponent value, if any
+            int digit = 0;
+
+            // We have to track digitCount ourselves, because digits.count will
+            // pin when the maximum allowable digits is reached.
+            int digitCount = 0;
+
+            int backup = -1;
+            for (; position < text.length(); ++position)
+            {
+                char ch = text.charAt(position);
+
+                /* We recognize all digit ranges, not only the Latin digit range
+                 * '0'..'9'.  We do so by using the UCharacter.digit() method,
+                 * which converts a valid Unicode digit to the range 0..9.
+                 *
+                 * The character 'ch' may be a digit.  If so, place its value
+                 * from 0 to 9 in 'digit'.  First try using the locale digit,
+                 * which may or MAY NOT be a standard Unicode digit range.  If
+                 * this fails, try using the standard Unicode digit ranges by
+                 * calling UCharacter.digit().  If this also fails, digit will
+                 * have a value outside the range 0..9.
+                 */
+                digit = ch - zero;
+                if (digit < 0 || digit > 9) digit = UCharacter.digit(ch, 10);
+
+                if (digit == 0)
+                {
+                    // Cancel out backup setting (see grouping handler below)
+                    backup = -1; // Do this BEFORE continue statement below!!!
+                    sawDigit = true;
+
+                    // Handle leading zeros
+                    if (digits.count == 0)
+                    {
+                        // Ignore leading zeros in integer part of number.
+                        if (!sawDecimal) continue;
+
+                        // If we have seen the decimal, but no significant digits yet,
+                        // then we account for leading zeros by decrementing the
+                        // digits.decimalAt into negative values.
+                        --digits.decimalAt;
+                    }
+                    else
+                    {
+                        ++digitCount;
+                        digits.append((char)(digit + '0'));
+                    }
+                }
+                else if (digit > 0 && digit <= 9) // [sic] digit==0 handled above
+                {
+                    sawDigit = true;
+                    ++digitCount;
+                    digits.append((char)(digit + '0'));
+
+                    // Cancel out backup setting (see grouping handler below)
+                    backup = -1;
+                }
+                else if (!isExponent && ch == decimal)
+                {
+                    // If we're only parsing integers, or if we ALREADY saw the
+                    // decimal, then don't parse this one.
+                    if (isParseIntegerOnly() || sawDecimal) break;
+                    digits.decimalAt = digitCount; // Not digits.count!
+                    sawDecimal = true;
+                }
+                else if (!isExponent && ch == grouping && isGroupingUsed())
+                {
+                    if (sawDecimal) {
+                        break;
+                    }
+                    // Ignore grouping characters, if we are using them, but require
+                    // that they be followed by a digit.  Otherwise we backup and
+                    // reprocess them.
+                    backup = position;
+                }
+                else if (!isExponent && !sawExponent &&
+                         text.regionMatches(position, exponentSep,
+                                            0, exponentSep.length()))
+                {
+                    // Parse sign, if present
+                    boolean negExp = false;
+                    int pos = position + exponentSep.length();
+                    if (pos < text.length()) {
+                        ch = text.charAt(pos);
+                        if (ch == symbols.getPlusSign()) {
+                            ++pos;
+                        } else if (ch == symbols.getMinusSign()) {
+                            ++pos;
+                            negExp = true;
+                        }
+                    }
+
+                    DigitList exponentDigits = new DigitList();
+                    exponentDigits.count = 0;
+                    while (pos < text.length()) {
+                        digit = text.charAt(pos) - zero;
+                        if (digit < 0 || digit > 9) {
+                            /*
+                              Can't parse "[1E0]" when pattern is "0.###E0;[0.###E0]"
+                              Should update reassign the value of 'ch' in the
+                              code:  digit = Character.digit(ch, 10);
+                              [Richard/GCL]
+                            */
+                            digit = UCharacter.digit(text.charAt(pos), 10);
+                        }
+                        if (digit >= 0 && digit <= 9) {
+                            exponentDigits.append((char)(digit + '0'));
+                            ++pos;
+                        } else {
+                            break;
+                        }
+                    }
+                    
+                    if (exponentDigits.count > 0) {
+                        exponentDigits.decimalAt = exponentDigits.count;
+                        exponent = (int) exponentDigits.getLong();
+                        if (negExp) {
+                            exponent = -exponent;
+                        }
+                        position = pos; // Advance past the exponent
+                        sawExponent = true;
+                    }
+
+                    break; // Whether we fail or succeed, we exit this loop
+                }
+                else break;
+            }
+
+            if (backup != -1) position = backup;
+
+            // If there was no decimal point we have an integer
+            if (!sawDecimal) digits.decimalAt = digitCount; // Not digits.count!
+
+            // Adjust for exponent, if any
+            digits.decimalAt += exponent;
+
+            // If none of the text string was recognized.  For example, parse
+            // "x" with pattern "#0.00" (return index and error index both 0)
+            // parse "$" with pattern "$#0.00". (return index 0 and error index
+            // 1).
+            if (!sawDigit && digitCount == 0) {
+                parsePosition.setIndex(oldStart);
+                parsePosition.setErrorIndex(oldStart);
+                return false;
+            }
+        }
+
+        // Match padding before suffix
+        if (formatWidth > 0 && padPosition == PAD_BEFORE_SUFFIX) {
+            position = skipPadding(text, position);
+        }
+
+        // Match positive and negative suffixes; prefer longest match.
+        if (posMatch >= 0) {
+            posMatch = compareAffix(text, position, false, false, currency);
+        }
+        if (negMatch >= 0) {
+            negMatch = compareAffix(text, position, true, false, currency);
+        }
+        if (posMatch >= 0 && negMatch >= 0) {
+            if (posMatch > negMatch) {
+                negMatch = -1;
+            } else if (negMatch > posMatch) {
+                posMatch = -1;
+            }  
+        }
+
+        // Fail if neither or both
+        if ((posMatch >= 0) == (negMatch >= 0)) {
+            parsePosition.setErrorIndex(position);
+            return false;
+        }
+
+        position += (posMatch>=0 ? posMatch : negMatch);
+
+        // Match padding after suffix
+        if (formatWidth > 0 && padPosition == PAD_AFTER_SUFFIX) {
+            position = skipPadding(text, position);
+        }
+
+        parsePosition.setIndex(position);
+
+        status[STATUS_POSITIVE] = (posMatch >= 0);
+
+        if (parsePosition.getIndex() == oldStart) {
+            parsePosition.setErrorIndex(position);
+            return false;
+        }
+        return true;
+    }
+
+    /**
+     * Starting at position, advance past a run of pad characters, if any.
+     * Return the index of the first character after position that is not a pad
+     * character.  Result is >= position.
+     */
+    private final int skipPadding(String text, int position) {
+        while (position < text.length() && text.charAt(position) == pad) {
+            ++position;
+        }
+        return position;
+    }
+
+    /**
+     * Return the length matched by the given affix, or -1 if none.
+     * Runs of white space in the affix, match runs of white space in
+     * the input.  Pattern white space and input white space are
+     * determined differently; see code.
+     * @param text input text
+     * @param pos offset into input at which to begin matching
+     * @param isNegative
+     * @param isPrefix
+     * @param currency return value for parsed currency, for generic
+     * currency parsing mode, or null for normal parsing. In generic
+     * currency parsing mode, any currency is parsed, not just the
+     * currency that this formatter is set to.
+     * @return length of input that matches, or -1 if match failure
+     */
+    private int compareAffix(String text, int pos, boolean isNegative,
+                             boolean isPrefix, Currency[] currency) {
+        if (currency != null || currencyChoice != null) {
+            if (isPrefix) {
+                return compareComplexAffix(isNegative ? negPrefixPattern : posPrefixPattern,
+                                           text, pos, currency);
+            } else {
+                return compareComplexAffix(isNegative ? negSuffixPattern : posSuffixPattern,
+                                           text, pos, currency);
+            }
+        }
+
+        if (isPrefix) {
+            return compareSimpleAffix(isNegative ? negativePrefix : positivePrefix,
+                                      text, pos);
+        } else {
+            return compareSimpleAffix(isNegative ? negativeSuffix : positiveSuffix,
+                                      text, pos);
+        }
+    }
+
+    /**
+     * Return the length matched by the given affix, or -1 if none.
+     * Runs of white space in the affix, match runs of white space in
+     * the input.  Pattern white space and input white space are
+     * determined differently; see code.
+     * @param affix pattern string, taken as a literal
+     * @param input input text
+     * @param pos offset into input at which to begin matching
+     * @return length of input that matches, or -1 if match failure
+     */
+    private static int compareSimpleAffix(String affix, String input, int pos) {
+        int start = pos;
+        for (int i=0; i<affix.length(); ) {
+            int c = UTF16.charAt(affix, i);
+            int len = UTF16.getCharCount(c);
+            if (UCharacterProperty.isRuleWhiteSpace(c)) {
+                // We may have a pattern like: \u200F \u0020
+                //        and input text like: \u200F \u0020
+                // Note that U+200F and U+0020 are RuleWhiteSpace but only
+                // U+0020 is UWhiteSpace.  So we have to first do a direct
+                // match of the run of RULE whitespace in the pattern,
+                // then match any extra characters.
+                boolean literalMatch = false;
+                while (pos < input.length() &&
+                       UTF16.charAt(input, pos) == c) {
+                    literalMatch = true;
+                    i += len;
+                    pos += len;
+                    if (i == affix.length()) {
+                        break;
+                    }
+                    c = UTF16.charAt(affix, i);
+                    len = UTF16.getCharCount(c);
+                    if (!UCharacterProperty.isRuleWhiteSpace(c)) {
+                        break;
+                    }
+                }
+                
+                // Advance over run in affix
+                i = skipRuleWhiteSpace(affix, i);
+                
+                // Advance over run in input text
+                // Must see at least one white space char in input,
+                // unless we've already matched some characters literally.
+                int s = pos;
+                pos = skipUWhiteSpace(input, pos);
+                if (pos == s && !literalMatch) {
+                    return -1;
+                }
+            } else {
+                if (pos < input.length() &&
+                    UTF16.charAt(input, pos) == c) {
+                    i += len;
+                    pos += len;
+                } else {
+                    return -1;
+                }
+            }
+        }
+        return pos - start;
+    }
+
+    /**
+     * Skip over a run of zero or more isRuleWhiteSpace() characters at
+     * pos in text.
+     */
+    private static int skipRuleWhiteSpace(String text, int pos) {
+        while (pos < text.length()) {
+            int c = UTF16.charAt(text, pos);
+            if (!UCharacterProperty.isRuleWhiteSpace(c)) {
+                break;
+            }
+            pos += UTF16.getCharCount(c);
+        }
+        return pos;
+    }
+
+    /**
+     * Skip over a run of zero or more isUWhiteSpace() characters at pos
+     * in text.
+     */
+    private static int skipUWhiteSpace(String text, int pos) {
+        while (pos < text.length()) {
+            int c = UTF16.charAt(text, pos);
+            if (!UCharacter.isUWhiteSpace(c)) {
+                break;
+            }
+            pos += UTF16.getCharCount(c);
+        }
+        return pos;
+    }
+
+    /**
+     * Return the length matched by the given affix, or -1 if none.
+     * @param affixPat pattern string
+     * @param text input text
+     * @param pos offset into input at which to begin matching
+     * @param currency return value for parsed currency, for generic
+     * currency parsing mode, or null for normal parsing. In generic
+     * currency parsing mode, any currency is parsed, not just the
+     * currency that this formatter is set to.
+     * @return length of input that matches, or -1 if match failure
+     */
+    private int compareComplexAffix(String affixPat, String text, int pos,
+                                    Currency[] currency) {
+
+        for (int i=0; i<affixPat.length() && pos >= 0; ) {
+            char c = affixPat.charAt(i++);
+            if (c == QUOTE) {
+                for (;;) {
+                    int j = affixPat.indexOf(QUOTE, i);
+                    if (j == i) {
+                        pos = match(text, pos, QUOTE);
+                        i = j+1;
+                        break;
+                    } else if (j > i) {
+                        pos = match(text, pos, affixPat.substring(i, j));
+                        i = j+1;
+                        if (i<affixPat.length() &&
+                            affixPat.charAt(i)==QUOTE) {
+                            pos = match(text, pos, QUOTE);
+                            ++i;
+                            // loop again
+                        } else {
+                            break;
+                        }
+                    } else {
+                        // Unterminated quote; should be caught by apply
+                        // pattern.
+                        throw new RuntimeException();
+                    }
+                }
+                continue;
+            }
+
+            switch (c) {
+            case CURRENCY_SIGN:
+                // If currency != null, then perform generic currency matching.
+                // Otherwise, do currency choice parsing.
+                //assert(currency != null ||
+                //       (getCurrency() != null && currencyChoice != null));
+                boolean intl = i<affixPat.length() &&
+                    affixPat.charAt(i) == CURRENCY_SIGN;
+
+                // Parse generic currency -- anything for which we
+                // have a display name, or any 3-letter ISO code.
+                if (currency != null) {
+                    // Try to parse display name for our locale; first
+                    // determine our locale.
+                    ULocale uloc = getLocale(ULocale.VALID_LOCALE);
+                    if (uloc == null) {
+                        // applyPattern has been called; use the symbols
+                        uloc = symbols.getLocale(ULocale.VALID_LOCALE);
+                    }
+                    // Delegate parse of display name => ISO code to Currency
+                    ParsePosition ppos = new ParsePosition(pos);
+                    String iso = Currency.parse(uloc, text, ppos);
+
+                    // If parse succeeds, populate currency[0]
+                    if (iso != null) {
+                        currency[0] = Currency.getInstance(iso);
+                        pos = ppos.getIndex();
+                    } else {
+                        pos = -1;
+                    }
+                } else {
+                    if (intl) {
+                        ++i;
+                        pos = match(text, pos, getCurrency().getCurrencyCode());
+                    } else {
+                        ParsePosition ppos = new ParsePosition(pos);
+                        /* Number n = */currencyChoice.parse(text, ppos);
+                        pos = (ppos.getIndex() == pos) ? -1 : ppos.getIndex();
+                    }
+                }
+                continue;
+            case PATTERN_PERCENT:
+                c = symbols.getPercent();
+                break;
+            case PATTERN_PER_MILLE:
+                c = symbols.getPerMill();
+                break;
+            case PATTERN_MINUS:
+                c = symbols.getMinusSign();
+                break;
+            }
+            pos = match(text, pos, c);
+            if (UCharacterProperty.isRuleWhiteSpace(c)) {
+                i = skipRuleWhiteSpace(affixPat, i);
+            }
+        }
+
+        return pos;
+    }
+
+    /**
+     * Match a single character at text[pos] and return the index of the
+     * next character upon success.  Return -1 on failure.  If
+     * isRuleWhiteSpace(ch) then match a run of white space in text.
+     */
+    static final int match(String text, int pos, int ch) {
+        if (UCharacterProperty.isRuleWhiteSpace(ch)) {
+            // Advance over run of white space in input text
+            // Must see at least one white space char in input
+            int s = pos;
+            pos = skipUWhiteSpace(text, pos);
+            if (pos == s) {
+                return -1;
+            }
+            return pos;
+        }
+        return (pos >= 0 && UTF16.charAt(text, pos) == ch) ?
+            (pos + UTF16.getCharCount(ch)) : -1;
+    }
+
+    /**
+     * Match a string at text[pos] and return the index of the next
+     * character upon success.  Return -1 on failure.  Match a run of
+     * white space in str with a run of white space in text.
+     */
+    static final int match(String text, int pos, String str) {
+        for (int i=0; i<str.length() && pos >= 0; ) {
+            int ch = UTF16.charAt(str, i);
+            i += UTF16.getCharCount(ch);
+            pos = match(text, pos, ch);
+            if (UCharacterProperty.isRuleWhiteSpace(ch)) {
+                i = skipRuleWhiteSpace(str, i);
+            }
+        }
+        return pos;
+    }
+
+    /**
+     * Returns a copy of the decimal format symbols used by this format.
+     * @return desired DecimalFormatSymbols
+     * @see DecimalFormatSymbols
+     * @stable ICU 2.0
+     */
+    public DecimalFormatSymbols getDecimalFormatSymbols() {
+        try {
+            // don't allow multiple references
+            return (DecimalFormatSymbols) symbols.clone();
+        } catch (Exception foo) {
+            return null; // should never happen
+        }
+    }
+
+
+    /**
+     * Sets the decimal format symbols used by this format.  The
+     * format uses a copy of the provided symbols.
+     * @param newSymbols desired DecimalFormatSymbols
+     * @see DecimalFormatSymbols
+     * @stable ICU 2.0
+     */
+    public void setDecimalFormatSymbols(DecimalFormatSymbols newSymbols) {
+        symbols = (DecimalFormatSymbols) newSymbols.clone();
+        setCurrencyForSymbols();
+        expandAffixes();
+    }
+
+    /**
+     * Update the currency object to match the symbols.  This method
+     * is used only when the caller has passed in a symbols object
+     * that may not be the default object for its locale.
+     */
+    private void setCurrencyForSymbols() {
+        /*Bug 4212072
+          Update the affix strings accroding to symbols in order to keep
+          the affix strings up to date.
+          [Richard/GCL]
+        */
+        
+        // With the introduction of the Currency object, the currency
+        // symbols in the DFS object are ignored.  For backward
+        // compatibility, we check any explicitly set DFS object.  If it
+        // is a default symbols object for its locale, we change the
+        // currency object to one for that locale.  If it is custom,
+        // we set the currency to null.
+        DecimalFormatSymbols def =
+            new DecimalFormatSymbols(symbols.getLocale());
+        
+        if (symbols.getCurrencySymbol().equals(
+                def.getCurrencySymbol()) &&
+            symbols.getInternationalCurrencySymbol().equals(
+                def.getInternationalCurrencySymbol())) {
+            setCurrency(Currency.getInstance(symbols.getLocale()));
+        } else {
+            setCurrency(null);
+        }
+    }
+
+    /**
+     * Get the positive prefix.
+     * <P>Examples: +123, $123, sFr123
+     * @stable ICU 2.0
+     */
+    public String getPositivePrefix () {
+        return positivePrefix;
+    }
+
+    /**
+     * Set the positive prefix.
+     * <P>Examples: +123, $123, sFr123
+     * @stable ICU 2.0
+     */
+    public void setPositivePrefix (String newValue) {
+        positivePrefix = newValue;
+        posPrefixPattern = null;
+    }
+
+    /**
+     * Get the negative prefix.
+     * <P>Examples: -123, ($123) (with negative suffix), sFr-123
+     * @stable ICU 2.0
+     */
+    public String getNegativePrefix () {
+        return negativePrefix;
+    }
+
+    /**
+     * Set the negative prefix.
+     * <P>Examples: -123, ($123) (with negative suffix), sFr-123
+     * @stable ICU 2.0
+     */
+    public void setNegativePrefix (String newValue) {
+        negativePrefix = newValue;
+        negPrefixPattern = null;
+    }
+
+    /**
+     * Get the positive suffix.
+     * <P>Example: 123%
+     * @stable ICU 2.0
+     */
+    public String getPositiveSuffix () {
+        return positiveSuffix;
+    }
+
+    /**
+     * Set the positive suffix.
+     * <P>Example: 123%
+     * @stable ICU 2.0
+     */
+    public void setPositiveSuffix (String newValue) {
+        positiveSuffix = newValue;
+        posSuffixPattern = null;
+    }
+
+    /**
+     * Get the negative suffix.
+     * <P>Examples: -123%, ($123) (with positive suffixes)
+     * @stable ICU 2.0
+     */
+    public String getNegativeSuffix () {
+        return negativeSuffix;
+    }
+
+    /**
+     * Set the positive suffix.
+     * <P>Examples: 123%
+     * @stable ICU 2.0
+     */
+    public void setNegativeSuffix (String newValue) {
+        negativeSuffix = newValue;
+        negSuffixPattern = null;
+    }
+
+    /**
+     * Get the multiplier for use in percent, permill, etc.
+     * For a percentage, set the suffixes to have "%" and the multiplier to be 100.
+     * (For Arabic, use arabic percent symbol).
+     * For a permill, set the suffixes to have "\u2031" and the multiplier to be 1000.
+     * <P>Examples: with 100, 1.23 -> "123", and "123" -> 1.23
+     * @stable ICU 2.0
+     */
+    public int getMultiplier () {
+        return multiplier;
+    }
+
+    /**
+     * Set the multiplier for use in percent, permill, etc.
+     * For a percentage, set the suffixes to have "%" and the multiplier to be 100.
+     * (For Arabic, use arabic percent symbol).
+     * For a permill, set the suffixes to have "\u2031" and the multiplier to be 1000.
+     * <P>Examples: with 100, 1.23 -> "123", and "123" -> 1.23
+     * @stable ICU 2.0
+     */
+    public void setMultiplier (int newValue) {
+        if (newValue <= 0) {
+            throw new IllegalArgumentException("Bad multiplier: " + newValue);
+        }
+        multiplier = newValue;
+    }
+
+    /**
+     * <strong><font face=helvetica color=red>NEW</font></strong>
+     * Get the rounding increment.
+     * @return A positive rounding increment, or <code>null</code> if rounding
+     * is not in effect.
+     * @see #setRoundingIncrement
+     * @see #getRoundingMode
+     * @see #setRoundingMode
+     * @stable ICU 2.0
+     */
+    public java.math.BigDecimal getRoundingIncrement() {
+        return roundingIncrement;
+    }
+
+    /**
+     * <strong><font face=helvetica color=red>NEW</font></strong>
+     * Set the rounding increment.  This method also controls whether
+     * rounding is enabled.
+     * @param newValue A positive rounding increment, or <code>null</code> or
+     * <code>BigDecimal(0.0)</code> to disable rounding.
+     * @exception IllegalArgumentException if <code>newValue</code> is < 0.0
+     * @see #getRoundingIncrement
+     * @see #getRoundingMode
+     * @see #setRoundingMode
+     * @stable ICU 2.0
+     */
+    public void setRoundingIncrement(java.math.BigDecimal newValue) {
+        int i = newValue == null
+                ? 0 : newValue.compareTo(java.math.BigDecimal.valueOf(0));
+        if (i < 0) {
+            throw new IllegalArgumentException("Illegal rounding increment");
+        }
+        if (i == 0) {
+            roundingIncrement = null;
+            roundingDouble = 0.0;
+        } else {
+            roundingIncrement = newValue;
+            roundingDouble = newValue.doubleValue();
+        }
+    }
+    
+    /**
+     * <strong><font face=helvetica color=red>NEW</font></strong>
+     * Set the rounding increment.  This method also controls whether
+     * rounding is enabled.
+     * @param newValue A positive rounding increment, or 0.0 to disable
+     * rounding.
+     * @exception IllegalArgumentException if <code>newValue</code> is < 0.0
+     * @see #getRoundingIncrement
+     * @see #getRoundingMode
+     * @see #setRoundingMode
+     * @stable ICU 2.0
+     */
+    public void setRoundingIncrement(double newValue) {
+        if (newValue < 0.0) {
+            throw new IllegalArgumentException("Illegal rounding increment");
+        }
+        roundingDouble = newValue;
+        roundingIncrement = (newValue > 0.0)
+            ? new java.math.BigDecimal(String.valueOf(newValue)) : null;
+    }
+    
+    /**
+     * <strong><font face=helvetica color=red>NEW</font></strong>
+     * Get the rounding mode.
+     * @return A rounding mode, between <code>BigDecimal.ROUND_UP</code>
+     * and <code>BigDecimal.ROUND_UNNECESSARY</code>.
+     * @see #setRoundingIncrement
+     * @see #getRoundingIncrement
+     * @see #setRoundingMode
+     * @see java.math.BigDecimal
+     * @stable ICU 2.0
+     */
+    public int getRoundingMode() {
+        return roundingMode;
+    }
+
+    /**
+     * <strong><font face=helvetica color=red>NEW</font></strong>
+     * Set the rounding mode.  This has no effect unless the rounding
+     * increment is greater than zero.
+     * @param roundingMode A rounding mode, between
+     * <code>BigDecimal.ROUND_UP</code> and
+     * <code>BigDecimal.ROUND_UNNECESSARY</code>.
+     * @exception IllegalArgumentException if <code>roundingMode</code>
+     * is unrecognized.
+     * @see #setRoundingIncrement
+     * @see #getRoundingIncrement
+     * @see #getRoundingMode
+     * @see java.math.BigDecimal
+     * @stable ICU 2.0
+     */
+    public void setRoundingMode(int roundingMode) {
+        if (roundingMode < java.math.BigDecimal.ROUND_UP
+            || roundingMode > java.math.BigDecimal.ROUND_UNNECESSARY) {
+            throw new IllegalArgumentException("Invalid rounding mode: "
+                                               + roundingMode);
+        }
+        this.roundingMode = roundingMode;
+    }
+
+    /**
+     * <strong><font face=helvetica color=red>NEW</font></strong>
+     * Get the width to which the output of <code>format()</code> is padded.
+     * The width is counted in 16-bit code units.
+     * @return the format width, or zero if no padding is in effect
+     * @see #setFormatWidth
+     * @see #getPadCharacter
+     * @see #setPadCharacter
+     * @see #getPadPosition
+     * @see #setPadPosition
+     * @stable ICU 2.0
+     */
+    public int getFormatWidth() {
+        return formatWidth;
+    }
+
+    /**
+     * <strong><font face=helvetica color=red>NEW</font></strong>
+     * Set the width to which the output of <code>format()</code> is padded.
+     * The width is counted in 16-bit code units.
+     * This method also controls whether padding is enabled.
+     * @param width the width to which to pad the result of
+     * <code>format()</code>, or zero to disable padding
+     * @exception IllegalArgumentException if <code>width</code> is < 0
+     * @see #getFormatWidth
+     * @see #getPadCharacter
+     * @see #setPadCharacter
+     * @see #getPadPosition
+     * @see #setPadPosition
+     * @stable ICU 2.0
+     */
+    public void setFormatWidth(int width) {
+        if (width < 0) {
+            throw new IllegalArgumentException("Illegal format width");
+        }
+        formatWidth = width;
+    }
+
+    /**
+     * <strong><font face=helvetica color=red>NEW</font></strong>
+     * Get the character used to pad to the format width.  The default is ' '.
+     * @return the pad character
+     * @see #setFormatWidth
+     * @see #getFormatWidth
+     * @see #setPadCharacter
+     * @see #getPadPosition
+     * @see #setPadPosition
+     * @stable ICU 2.0
+     */
+    public char getPadCharacter() {
+        return pad;
+    }
+
+    /**
+     * <strong><font face=helvetica color=red>NEW</font></strong>
+     * Set the character used to pad to the format width.  If padding
+     * is not enabled, then this will take effect if padding is later
+     * enabled.
+     * @param padChar the pad character
+     * @see #setFormatWidth
+     * @see #getFormatWidth
+     * @see #getPadCharacter
+     * @see #getPadPosition
+     * @see #setPadPosition
+     * @stable ICU 2.0
+     */
+    public void setPadCharacter(char padChar) {
+        pad = padChar;
+    }
+
+    /**
+     * <strong><font face=helvetica color=red>NEW</font></strong>
+     * Get the position at which padding will take place.  This is the location
+     * at which padding will be inserted if the result of <code>format()</code>
+     * is shorter than the format width.
+     * @return the pad position, one of <code>PAD_BEFORE_PREFIX</code>,
+     * <code>PAD_AFTER_PREFIX</code>, <code>PAD_BEFORE_SUFFIX</code>, or
+     * <code>PAD_AFTER_SUFFIX</code>.
+     * @see #setFormatWidth
+     * @see #getFormatWidth
+     * @see #setPadCharacter
+     * @see #getPadCharacter
+     * @see #setPadPosition
+     * @see #PAD_BEFORE_PREFIX
+     * @see #PAD_AFTER_PREFIX
+     * @see #PAD_BEFORE_SUFFIX
+     * @see #PAD_AFTER_SUFFIX
+     * @stable ICU 2.0
+     */
+    public int getPadPosition() {
+        return padPosition;
+    }
+
+    /**
+     * <strong><font face=helvetica color=red>NEW</font></strong>
+     * Set the position at which padding will take place.  This is the location
+     * at which padding will be inserted if the result of <code>format()</code>
+     * is shorter than the format width.  This has no effect unless padding is
+     * enabled.
+     * @param padPos the pad position, one of <code>PAD_BEFORE_PREFIX</code>,
+     * <code>PAD_AFTER_PREFIX</code>, <code>PAD_BEFORE_SUFFIX</code>, or
+     * <code>PAD_AFTER_SUFFIX</code>.
+     * @exception IllegalArgumentException if the pad position in
+     * unrecognized
+     * @see #setFormatWidth
+     * @see #getFormatWidth
+     * @see #setPadCharacter
+     * @see #getPadCharacter
+     * @see #getPadPosition
+     * @see #PAD_BEFORE_PREFIX
+     * @see #PAD_AFTER_PREFIX
+     * @see #PAD_BEFORE_SUFFIX
+     * @see #PAD_AFTER_SUFFIX
+     * @stable ICU 2.0
+     */
+    public void setPadPosition(int padPos) {
+        if (padPos < PAD_BEFORE_PREFIX || padPos > PAD_AFTER_SUFFIX) {
+            throw new IllegalArgumentException("Illegal pad position");
+        }
+        padPosition = padPos;
+    }
+
+    /**
+     * <strong><font face=helvetica color=red>NEW</font></strong>
+     * Return whether or not scientific notation is used.
+     * @return true if this object formats and parses scientific notation
+     * @see #setScientificNotation
+     * @see #getMinimumExponentDigits
+     * @see #setMinimumExponentDigits
+     * @see #isExponentSignAlwaysShown
+     * @see #setExponentSignAlwaysShown
+     * @stable ICU 2.0
+     */
+    public boolean isScientificNotation() {
+        return useExponentialNotation;
+    }
+
+    /**
+     * <strong><font face=helvetica color=red>NEW</font></strong>
+     * Set whether or not scientific notation is used.  When scientific notation
+     * is used, the effective maximum number of integer digits is <= 8.  If the
+     * maximum number of integer digits is set to more than 8, the effective
+     * maximum will be 1.  This allows this call to generate a 'default' scientific
+     * number format without additional changes.
+     * @param useScientific true if this object formats and parses scientific
+     * notation
+     * @see #isScientificNotation
+     * @see #getMinimumExponentDigits
+     * @see #setMinimumExponentDigits
+     * @see #isExponentSignAlwaysShown
+     * @see #setExponentSignAlwaysShown
+     * @stable ICU 2.0
+     */
+    public void setScientificNotation(boolean useScientific) {
+        useExponentialNotation = useScientific;
+    }
+
+    /**
+     * <strong><font face=helvetica color=red>NEW</font></strong>
+     * Return the minimum exponent digits that will be shown.
+     * @return the minimum exponent digits that will be shown
+     * @see #setScientificNotation
+     * @see #isScientificNotation
+     * @see #setMinimumExponentDigits
+     * @see #isExponentSignAlwaysShown
+     * @see #setExponentSignAlwaysShown
+     * @stable ICU 2.0
+     */
+    public byte getMinimumExponentDigits() {
+        return minExponentDigits;
+    }
+    
+    /**
+     * <strong><font face=helvetica color=red>NEW</font></strong>
+     * Set the minimum exponent digits that will be shown.  This has no
+     * effect unless scientific notation is in use.
+     * @param minExpDig a value >= 1 indicating the fewest exponent digits
+     * that will be shown
+     * @exception IllegalArgumentException if <code>minExpDig</code> < 1
+     * @see #setScientificNotation
+     * @see #isScientificNotation
+     * @see #getMinimumExponentDigits
+     * @see #isExponentSignAlwaysShown
+     * @see #setExponentSignAlwaysShown
+     * @stable ICU 2.0
+     */
+    public void setMinimumExponentDigits(byte minExpDig) {
+        if (minExpDig < 1) {
+            throw new IllegalArgumentException("Exponent digits must be >= 1");
+        }
+        minExponentDigits = minExpDig;
+    }
+
+    /**
+     * <strong><font face=helvetica color=red>NEW</font></strong>
+     * Return whether the exponent sign is always shown.
+     * @return true if the exponent is always prefixed with either the
+     * localized minus sign or the localized plus sign, false if only negative
+     * exponents are prefixed with the localized minus sign.
+     * @see #setScientificNotation
+     * @see #isScientificNotation
+     * @see #setMinimumExponentDigits
+     * @see #getMinimumExponentDigits
+     * @see #setExponentSignAlwaysShown
+     * @stable ICU 2.0
+     */
+    public boolean isExponentSignAlwaysShown() {
+        return exponentSignAlwaysShown;
+    }
+
+    /**
+     * <strong><font face=helvetica color=red>NEW</font></strong>
+     * Set whether the exponent sign is always shown.  This has no effect
+     * unless scientific notation is in use.
+     * @param expSignAlways true if the exponent is always prefixed with either
+     * the localized minus sign or the localized plus sign, false if only
+     * negative exponents are prefixed with the localized minus sign.
+     * @see #setScientificNotation
+     * @see #isScientificNotation
+     * @see #setMinimumExponentDigits
+     * @see #getMinimumExponentDigits
+     * @see #isExponentSignAlwaysShown
+     * @stable ICU 2.0
+     */
+    public void setExponentSignAlwaysShown(boolean expSignAlways) {
+        exponentSignAlwaysShown = expSignAlways;
+    }
+
+    /**
+     * Return the grouping size. Grouping size is the number of digits between
+     * grouping separators in the integer portion of a number.  For example,
+     * in the number "123,456.78", the grouping size is 3.
+     * @see #setGroupingSize
+     * @see NumberFormat#isGroupingUsed
+     * @see DecimalFormatSymbols#getGroupingSeparator
+     * @stable ICU 2.0
+     */
+    public int getGroupingSize () {
+        return groupingSize;
+    }
+
+    /**
+     * Set the grouping size. Grouping size is the number of digits between
+     * grouping separators in the integer portion of a number.  For example,
+     * in the number "123,456.78", the grouping size is 3.
+     * @see #getGroupingSize
+     * @see NumberFormat#setGroupingUsed
+     * @see DecimalFormatSymbols#setGroupingSeparator
+     * @stable ICU 2.0
+     */
+    public void setGroupingSize (int newValue) {
+        groupingSize = (byte)newValue;
+    }
+
+    /**
+     * Return the secondary grouping size. In some locales one
+     * grouping interval is used for the least significant integer
+     * digits (the primary grouping size), and another is used for all
+     * others (the secondary grouping size).  A formatter supporting a
+     * secondary grouping size will return a positive integer unequal
+     * to the primary grouping size returned by
+     * <code>getGroupingSize()</code>.  For example, if the primary
+     * grouping size is 4, and the secondary grouping size is 2, then
+     * the number 123456789 formats as "1,23,45,6789", and the pattern
+     * appears as "#,##,###0".
+     * [NEW]
+     * @return the secondary grouping size, or a value less than
+     * one if there is none
+     * @see #setSecondaryGroupingSize
+     * @see NumberFormat#isGroupingUsed
+     * @see DecimalFormatSymbols#getGroupingSeparator
+     * @stable ICU 2.0
+     */
+    public int getSecondaryGroupingSize () {
+        return groupingSize2;
+    }
+
+    /**
+     * Set the secondary grouping size. If set to a value less than 1,
+     * then secondary grouping is turned off, and the primary grouping
+     * size is used for all intervals, not just the least significant.
+     * [NEW]
+     * @see #getSecondaryGroupingSize
+     * @see NumberFormat#setGroupingUsed
+     * @see DecimalFormatSymbols#setGroupingSeparator
+     * @stable ICU 2.0
+     */
+    public void setSecondaryGroupingSize (int newValue) {
+        groupingSize2 = (byte)newValue;
+    }
+
+    /**
+     * Allows you to get the behavior of the decimal separator with integers.
+     * (The decimal separator will always appear with decimals.)
+     * <P>Example: Decimal ON: 12345 -> 12345.; OFF: 12345 -> 12345
+     * @stable ICU 2.0
+     */
+    public boolean isDecimalSeparatorAlwaysShown() {
+        return decimalSeparatorAlwaysShown;
+    }
+
+    /**
+     * Allows you to set the behavior of the decimal separator with integers.
+     * (The decimal separator will always appear with decimals.)
+     *
+     * <p>This only affects formatting, and only where
+     * there might be no digits after the decimal point, e.g.,
+     * if true,  3456.00 -> "3,456."
+     * if false, 3456.00 -> "3456"
+     * This is independent of parsing.  If you want parsing to stop at the decimal
+     * point, use setParseIntegerOnly.
+     *
+     * <P>Example: Decimal ON: 12345 -> 12345.; OFF: 12345 -> 12345
+     * @stable ICU 2.0
+     */
+    public void setDecimalSeparatorAlwaysShown(boolean newValue) {
+        decimalSeparatorAlwaysShown = newValue;
+    }
+
+    /**
+     * Standard override; no change in semantics.
+     * @stable ICU 2.0
+     */
+    public Object clone() {
+        try {
+            DecimalFormat other = (DecimalFormat) super.clone();
+            other.symbols = (DecimalFormatSymbols) symbols.clone();
+            return other;
+        } catch (Exception e) {
+            throw new InternalError();
+        }
+    }
+
+    /**
+     * Overrides equals
+     * @stable ICU 2.0
+     */
+    public boolean equals(Object obj)
+    {
+        if (obj == null) return false;
+        if (!super.equals(obj)) return false; // super does class check
+
+        DecimalFormat other = (DecimalFormat) obj;
+        /* Add the comparison of the four new added fields ,they are
+         * posPrefixPattern, posSuffixPattern, negPrefixPattern, negSuffixPattern.
+         * [Richard/GCL]
+         */
+        return ((posPrefixPattern == other.posPrefixPattern &&
+                 positivePrefix.equals(other.positivePrefix))
+                || (posPrefixPattern != null &&
+                    posPrefixPattern.equals(other.posPrefixPattern)))
+            && ((posSuffixPattern == other.posSuffixPattern &&
+                 positiveSuffix.equals(other.positiveSuffix))
+                || (posSuffixPattern != null &&
+                    posSuffixPattern.equals(other.posSuffixPattern)))
+            && ((negPrefixPattern == other.negPrefixPattern &&
+                 negativePrefix.equals(other.negativePrefix))
+                || (negPrefixPattern != null &&
+                    negPrefixPattern.equals(other.negPrefixPattern)))
+            && ((negSuffixPattern == other.negSuffixPattern &&
+                 negativeSuffix.equals(other.negativeSuffix))
+                || (negSuffixPattern != null &&
+                    negSuffixPattern.equals(other.negSuffixPattern)))
+            && multiplier == other.multiplier
+            && groupingSize == other.groupingSize
+            && groupingSize2 == other.groupingSize2
+            && decimalSeparatorAlwaysShown == other.decimalSeparatorAlwaysShown
+            && useExponentialNotation == other.useExponentialNotation
+            && (!useExponentialNotation ||
+                minExponentDigits == other.minExponentDigits)
+            && useSignificantDigits == other.useSignificantDigits
+            && (!useSignificantDigits ||
+                minSignificantDigits == other.minSignificantDigits &&
+                maxSignificantDigits == other.maxSignificantDigits)
+            && symbols.equals(other.symbols);
+    }
+
+//      protected void handleToString(StringBuffer buf) {
+//          buf.append("\nposPrefixPattern: '" + posPrefixPattern + "'\n");
+//          buf.append("positivePrefix: '" + positivePrefix + "'\n");
+//          buf.append("posSuffixPattern: '" + posSuffixPattern + "'\n");
+//          buf.append("positiveSuffix: '" + positiveSuffix + "'\n");
+//          buf.append("negPrefixPattern: '" + com.ibm.icu.impl.Utility.format1ForSource(negPrefixPattern) + "'\n");
+//          buf.append("negativePrefix: '" + com.ibm.icu.impl.Utility.format1ForSource(negativePrefix) + "'\n");
+//          buf.append("negSuffixPattern: '" + negSuffixPattern + "'\n");
+//          buf.append("negativeSuffix: '" + negativeSuffix + "'\n");
+//          buf.append("multiplier: '" + multiplier + "'\n");
+//          buf.append("groupingSize: '" + groupingSize + "'\n");
+//          buf.append("groupingSize2: '" + groupingSize2 + "'\n");
+//          buf.append("decimalSeparatorAlwaysShown: '" + decimalSeparatorAlwaysShown + "'\n");
+//          buf.append("useExponentialNotation: '" + useExponentialNotation + "'\n");
+//          buf.append("minExponentDigits: '" + minExponentDigits + "'\n");
+//          buf.append("useSignificantDigits: '" + useSignificantDigits + "'\n");
+//          buf.append("minSignificantDigits: '" + minSignificantDigits + "'\n");
+//          buf.append("maxSignificantDigits: '" + maxSignificantDigits + "'\n");           
+//          buf.append("symbols: '" + symbols + "'");
+//      }
+
+    /**
+     * Overrides hashCode
+     * @stable ICU 2.0
+     */
+    public int hashCode() {
+        return super.hashCode() * 37 + positivePrefix.hashCode();
+        // just enough fields for a reasonable distribution
+    }
+
+    /**
+     * Synthesizes a pattern string that represents the current state
+     * of this Format object.
+     * @see #applyPattern
+     * @stable ICU 2.0
+     */
+    public String toPattern() {
+        return toPattern( false );
+    }
+
+    /**
+     * Synthesizes a localized pattern string that represents the current
+     * state of this Format object.
+     * @see #applyPattern
+     * @stable ICU 2.0
+     */
+    public String toLocalizedPattern() {
+        return toPattern( true );
+    }
+
+    /**
+     * Expand the affix pattern strings into the expanded affix strings.  If any
+     * affix pattern string is null, do not expand it.  This method should be
+     * called any time the symbols or the affix patterns change in order to keep
+     * the expanded affix strings up to date.
+     */
+    //Bug 4212072 [Richard/GCL]
+    private void expandAffixes() {
+        // expandAffix() will set currencyChoice to a non-null value if
+        // appropriate AND if it is null.
+        currencyChoice = null;
+
+        // Reuse one StringBuffer for better performance
+        StringBuffer buffer = new StringBuffer();
+        if (posPrefixPattern != null) {
+            expandAffix(posPrefixPattern, buffer, false);
+            positivePrefix = buffer.toString();
+        }
+        if (posSuffixPattern != null) {
+            expandAffix(posSuffixPattern, buffer, false);
+            positiveSuffix = buffer.toString();
+        }
+        if (negPrefixPattern != null) {
+            expandAffix(negPrefixPattern, buffer, false);
+            negativePrefix = buffer.toString();
+        }
+        if (negSuffixPattern != null) {
+            expandAffix(negSuffixPattern, buffer, false);
+            negativeSuffix = buffer.toString();
+        }
+    }
+
+    /**
+     * Expand an affix pattern into an affix string.  All characters in
+     * the pattern are literal unless bracketed by QUOTEs.  The
+     * following characters outside QUOTE are recognized:
+     * PATTERN_PERCENT, PATTERN_PER_MILLE, PATTERN_MINUS, and
+     * CURRENCY_SIGN.  If CURRENCY_SIGN is doubled, it is interpreted as
+     * an international currency sign.  Any other character outside
+     * QUOTE represents itself.  Quoted text must be well-formed.
+     *
+     * This method is used in two distinct ways.  First, it is used to expand
+     * the stored affix patterns into actual affixes.  For this usage, doFormat
+     * must be false.  Second, it is used to expand the stored affix patterns
+     * given a specific number (doFormat == true), for those rare cases in
+     * which a currency format references a ChoiceFormat (e.g., en_IN display
+     * name for INR).  The number itself is taken from digitList.
+     *
+     * When used in the first way, this method has a side effect: It sets
+     * currencyChoice to a ChoiceFormat object, if the currency's display name
+     * in this locale is a ChoiceFormat pattern (very rare).  It only does this
+     * if currencyChoice is null to start with.
+     *
+     * @param pattern the non-null, possibly empty pattern
+     * @param buffer a scratch StringBuffer; its contents will be lost
+     * @param doFormat if false, then the pattern will be expanded, and if a
+     * currency symbol is encountered that expands to a ChoiceFormat, the
+     * currencyChoice member variable will be initialized if it is null.  If
+     * doFormat is true, then it is assumed that the currencyChoice has been
+     * created, and it will be used to format the value in digitList.
+     * @return the expanded equivalent of pattern
+     */
+    //Bug 4212072 [Richard/GCL]
+    private void expandAffix(String pattern, StringBuffer buffer,
+                             boolean doFormat) {
+        buffer.setLength(0);
+        for (int i=0; i<pattern.length(); ) {
+            char c = pattern.charAt(i++);
+            if (c == QUOTE) {
+                for (;;) {
+                    int j = pattern.indexOf(QUOTE, i);
+                    if (j == i) {
+                        buffer.append(QUOTE);
+                        i = j+1;
+                        break;
+                    } else if (j > i) {
+                        buffer.append(pattern.substring(i, j));
+                        i = j+1;
+                        if (i<pattern.length() &&
+                            pattern.charAt(i)==QUOTE) {
+                            buffer.append(QUOTE);
+                            ++i;
+                            // loop again
+                        } else {
+                            break;
+                        }
+                    } else {
+                        // Unterminated quote; should be caught by apply
+                        // pattern.
+                        throw new RuntimeException();
+                    }
+                }
+                continue;
+            }
+
+            switch (c) {
+            case CURRENCY_SIGN:
+                // As of ICU 2.2 we use the currency object, and
+                // ignore the currency symbols in the DFS, unless
+                // we have a null currency object.  This occurs if
+                // resurrecting a pre-2.2 object or if the user
+                // sets a custom DFS.
+                boolean intl = i<pattern.length() &&
+                    pattern.charAt(i) == CURRENCY_SIGN;
+                if (intl) {
+                    ++i;
+                }
+                String s = null;
+                Currency currency = getCurrency();
+                if (currency != null) {
+                    if (!intl) {
+                        boolean isChoiceFormat[] = new boolean[1];
+                        s = currency.getName(symbols.getULocale(),
+                                             Currency.SYMBOL_NAME,
+                                             isChoiceFormat);
+                        if (isChoiceFormat[0]) {
+                            // Two modes here: If doFormat is false, we set up
+                            // currencyChoice.  If doFormat is true, we use the
+                            // previously created currencyChoice to format the
+                            // value in digitList.
+                            if (!doFormat) {
+                                // If the currency is handled by a ChoiceFormat,
+                                // then we're not going to use the expanded
+                                // patterns.  Instantiate the ChoiceFormat and
+                                // return.
+                                if (currencyChoice == null) {
+                                    currencyChoice = new ChoiceFormat(s);
+                                }
+                                // We could almost return null or "" here, since the
+                                // expanded affixes are almost not used at all
+                                // in this situation.  However, one method --
+                                // toPattern() -- still does use the expanded
+                                // affixes, in order to set up a padding
+                                // pattern.  We use the CURRENCY_SIGN as a
+                                // placeholder.
+                                s = String.valueOf(CURRENCY_SIGN);
+                            } else {
+                                FieldPosition pos = new FieldPosition(0); // ignored
+                                currencyChoice.format(digitList.getDouble(), buffer, pos);
+                                continue;
+                            }
+                        }
+                    } else {
+                        s = currency.getCurrencyCode();
+                    }
+                } else {
+                    s = intl ? symbols.getInternationalCurrencySymbol()
+                        : symbols.getCurrencySymbol();
+                }
+                buffer.append(s);
+                continue;
+            case PATTERN_PERCENT:
+                c = symbols.getPercent();
+                break;
+            case PATTERN_PER_MILLE:
+                c = symbols.getPerMill();
+                break;
+            case PATTERN_MINUS:
+                c = symbols.getMinusSign();
+                break;
+            }
+            buffer.append(c);
+        }
+    }
+
+    /**
+     * Append an affix to the given StringBuffer.
+     * @param buf buffer to append to
+     * @param isNegative
+     * @param isPrefix
+     */
+    private int appendAffix(StringBuffer buf,
+                            boolean isNegative, boolean isPrefix) {
+        if (currencyChoice != null) {
+            String affixPat = null;
+            if (isPrefix) {
+                affixPat = isNegative ? negPrefixPattern : posPrefixPattern;
+            } else {
+                affixPat = isNegative ? negSuffixPattern : posSuffixPattern;
+            }
+            StringBuffer affixBuf = new StringBuffer();
+            expandAffix(affixPat, affixBuf, true);
+            buf.append(affixBuf.toString());
+            return affixBuf.length();
+        }
+
+        String affix = null;
+        if (isPrefix) {
+            affix = isNegative ? negativePrefix : positivePrefix;
+        } else {
+            affix = isNegative ? negativeSuffix : positiveSuffix;
+        }
+        buf.append(affix);
+        return affix.length();
+    }
+
+    /**
+     * Append an affix pattern to the given StringBuffer.  Localize unquoted
+     * specials.
+     */
+    private void appendAffixPattern(StringBuffer buffer,
+                                    boolean isNegative, boolean isPrefix,
+                                    boolean localized) {
+        String affixPat = null;
+        if (isPrefix) {
+            affixPat = isNegative ? negPrefixPattern : posPrefixPattern;
+        } else {
+            affixPat = isNegative ? negSuffixPattern : posSuffixPattern;
+        }
+
+        // When there is a null affix pattern, we use the affix itself.
+        if (affixPat == null) {
+            String affix = null;
+            if (isPrefix) {
+                affix = isNegative ? negativePrefix : positivePrefix;
+            } else {
+                affix = isNegative ? negativeSuffix : positiveSuffix;
+            }
+            // Do this crudely for now:  Wrap everything in quotes.
+            buffer.append(QUOTE);
+            for (int i=0; i<affix.length(); ++i) {
+                char ch = affix.charAt(i);
+                if (ch == QUOTE) {
+                    buffer.append(ch);
+                }
+                buffer.append(ch);
+            }
+            buffer.append(QUOTE);
+            return;
+        }
+
+        if (!localized) {
+            buffer.append(affixPat);
+        } else {
+            int i, j;
+            for (i=0; i<affixPat.length(); ++i) {
+                char ch = affixPat.charAt(i);
+                switch (ch) {
+                case QUOTE:
+                    j = affixPat.indexOf(QUOTE, i+1);
+                    if (j < 0) {
+                        throw new IllegalArgumentException("Malformed affix pattern: " + affixPat);
+                    }
+                    buffer.append(affixPat.substring(i, j+1));
+                    i = j;
+                    continue;
+                case PATTERN_PER_MILLE:
+                    ch = symbols.getPerMill();
+                    break;
+                case PATTERN_PERCENT:
+                    ch = symbols.getPercent();
+                    break;
+                case PATTERN_MINUS:
+                    ch = symbols.getMinusSign();
+                    break;
+                }
+                buffer.append(ch);
+            }
+        }
+    }
+
+    /**
+     * <strong><font face=helvetica color=red>CHANGED</font></strong>
+     * Does the real work of generating a pattern.
+     */
+    private String toPattern(boolean localized) {
+        StringBuffer result = new StringBuffer();
+        char zero = localized ? symbols.getZeroDigit() : PATTERN_ZERO_DIGIT;
+        char digit = localized ? symbols.getDigit() : PATTERN_DIGIT;
+        char sigDigit = 0;
+        boolean useSigDig = areSignificantDigitsUsed();
+        if (useSigDig) {
+            sigDigit = localized ? symbols.getSignificantDigit() : PATTERN_SIGNIFICANT_DIGIT;
+        }
+        char group = localized ? symbols.getGroupingSeparator()
+                               : PATTERN_GROUPING_SEPARATOR;
+        int i;
+        int roundingDecimalPos = 0; // Pos of decimal in roundingDigits
+        String roundingDigits = null;
+        int padPos = (formatWidth > 0) ? padPosition : -1;
+        String padSpec = (formatWidth > 0)
+            ? new StringBuffer(2).
+                append(localized ? symbols.getPadEscape() : PATTERN_PAD_ESCAPE).
+                append(pad).toString()
+            : null;
+        if (roundingIncrement != null) {
+            i = roundingIncrement.scale();
+            roundingDigits = roundingIncrement.movePointRight(i).toString();
+            roundingDecimalPos = roundingDigits.length() - i;
+        }
+        for (int part=0; part<2; ++part) {
+            // variable not used int partStart = result.length();
+            if (padPos == PAD_BEFORE_PREFIX) {
+                result.append(padSpec);
+            }
+            /* Use original symbols read from resources in pattern
+             * eg. use "\u00A4" instead of "$" in Locale.US [Richard/GCL]
+             */
+            appendAffixPattern(result, part!=0, true, localized);
+            if (padPos == PAD_AFTER_PREFIX) {
+                result.append(padSpec);
+            }
+            int sub0Start = result.length();
+            int g = isGroupingUsed() ? Math.max(0, groupingSize) : 0;
+            if (g > 0 && groupingSize2 > 0 && groupingSize2 != groupingSize) {
+                g += groupingSize2;
+            }
+            int maxDig = 0, minDig = 0, maxSigDig = 0;
+            if (useSigDig) {
+                minDig = getMinimumSignificantDigits();
+                maxDig = maxSigDig = getMaximumSignificantDigits();
+            } else {
+                minDig = getMinimumIntegerDigits();
+                maxDig = getMaximumIntegerDigits();
+            }
+            if (useExponentialNotation) {
+                if (maxDig > MAX_SCIENTIFIC_INTEGER_DIGITS) {
+                    maxDig = 1;
+                }
+            } else if (useSigDig) {
+                maxDig = Math.max(maxDig, g+1);
+            } else {
+                maxDig = Math.max(Math.max(g, getMinimumIntegerDigits()),
+                                  roundingDecimalPos) + 1;
+            }
+            for (i = maxDig; i > 0; --i) {
+                if (!useExponentialNotation && i<maxDig &&
+                    isGroupingPosition(i)) {
+                    result.append(group);
+                }
+                if (useSigDig) {
+                    //  #@,@###   (maxSigDig == 5, minSigDig == 2)
+                    //  65 4321   (1-based pos, count from the right)
+                    // Use # if pos > maxSigDig or 1 <= pos <= (maxSigDig - minSigDig)
+                    // Use @ if (maxSigDig - minSigDig) < pos <= maxSigDig
+                    result.append((maxSigDig >= i && i > (maxSigDig - minDig)) ? sigDigit : digit);
+                } else {
+                    if (roundingDigits != null) {
+                        int pos = roundingDecimalPos - i;
+                        if (pos >= 0 && pos < roundingDigits.length()) {
+                            result.append((char) (roundingDigits.charAt(pos) - '0' + zero));
+                            continue;
+                        }
+                    }
+                    result.append(i<=minDig ? zero : digit);
+                }
+            }
+            if (!useSigDig) {
+                if (getMaximumFractionDigits() > 0 || decimalSeparatorAlwaysShown) {
+                    result.append(localized ? symbols.getDecimalSeparator() :
+                                  PATTERN_DECIMAL_SEPARATOR);
+                }
+                int pos = roundingDecimalPos;
+                for (i = 0; i < getMaximumFractionDigits(); ++i) {
+                    if (roundingDigits != null &&
+                        pos < roundingDigits.length()) {
+                        result.append(pos < 0 ? zero :
+                                      (char) (roundingDigits.charAt(pos) - '0' + zero));
+                        ++pos;
+                        continue;
+                    }
+                    result.append(i<getMinimumFractionDigits() ? zero : digit);
+                }
+            }
+            if (useExponentialNotation) {
+                result.append(localized ? symbols.getExponentSeparator() :
+                              PATTERN_EXPONENT);
+                if (exponentSignAlwaysShown) {
+                    result.append(localized ? symbols.getPlusSign() :
+                                  PATTERN_PLUS_SIGN);
+                }
+                for (i=0; i<minExponentDigits; ++i) {
+                    result.append(zero);
+                }
+            }
+            if (padSpec != null && !useExponentialNotation) {
+                int add = formatWidth - result.length() + sub0Start
+                    - ((part == 0)
+                       ? positivePrefix.length() + positiveSuffix.length()
+                       : negativePrefix.length() + negativeSuffix.length());
+                while (add > 0) {
+                    result.insert(sub0Start, digit);
+                    ++maxDig;
+                    --add;
+                    // Only add a grouping separator if we have at least
+                    // 2 additional characters to be added, so we don't
+                    // end up with ",###".
+                    if (add>1 && isGroupingPosition(maxDig)) {
+                        result.insert(sub0Start, group);
+                        --add;                        
+                    }
+                }
+            }
+            if (padPos == PAD_BEFORE_SUFFIX) {
+                result.append(padSpec);
+            }
+            /* Use original symbols read from resources in pattern
+             * eg. use "\u00A4" instead of "$" in Locale.US [Richard/GCL]
+             */
+            appendAffixPattern(result, part!=0, false, localized);
+            if (padPos == PAD_AFTER_SUFFIX) {
+                result.append(padSpec);
+            }
+            if (part == 0) {
+                if (negativeSuffix.equals(positiveSuffix) &&
+                    negativePrefix.equals(symbols.getMinusSign() + positivePrefix)) {
+                    break;
+                } else {
+                    result.append(localized ? symbols.getPatternSeparator() :
+                                  PATTERN_SEPARATOR);
+                }
+            }
+        }
+        return result.toString();
+    }
+
+    /**
+     * Apply the given pattern to this Format object.  A pattern is a
+     * short-hand specification for the various formatting properties.
+     * These properties can also be changed individually through the
+     * various setter methods.
+     * <p>
+     * There is no limit to integer digits are set
+     * by this routine, since that is the typical end-user desire;
+     * use setMaximumInteger if you want to set a real value.
+     * For negative numbers, use a second pattern, separated by a semicolon
+     * <P>Example "#,#00.0#" -> 1,234.56
+     * <P>This means a minimum of 2 integer digits, 1 fraction digit, and
+     * a maximum of 2 fraction digits.
+     * <p>Example: "#,#00.0#;(#,#00.0#)" for negatives in parentheses.
+     * <p>In negative patterns, the minimum and maximum counts are ignored;
+     * these are presumed to be set in the positive pattern.
+     * @stable ICU 2.0
+     */
+    public void applyPattern( String pattern ) {
+        applyPattern( pattern, false );
+    }
+
+    /**
+     * Apply the given pattern to this Format object.  The pattern
+     * is assumed to be in a localized notation. A pattern is a
+     * short-hand specification for the various formatting properties.
+     * These properties can also be changed individually through the
+     * various setter methods.
+     * <p>
+     * There is no limit to integer digits are set
+     * by this routine, since that is the typical end-user desire;
+     * use setMaximumInteger if you want to set a real value.
+     * For negative numbers, use a second pattern, separated by a semicolon
+     * <P>Example "#,#00.0#" -> 1,234.56
+     * <P>This means a minimum of 2 integer digits, 1 fraction digit, and
+     * a maximum of 2 fraction digits.
+     * <p>Example: "#,#00.0#;(#,#00.0#)" for negatives in parantheses.
+     * <p>In negative patterns, the minimum and maximum counts are ignored;
+     * these are presumed to be set in the positive pattern.
+     * @stable ICU 2.0
+     */
+    public void applyLocalizedPattern( String pattern ) {
+        applyPattern( pattern, true );
+    }
+
+    /**
+     * <strong><font face=helvetica color=red>CHANGED</font></strong>
+     * Does the real work of applying a pattern.
+     */
+    private void applyPattern(String pattern, boolean localized) {
+        char zeroDigit         = PATTERN_ZERO_DIGIT; // '0'
+        char sigDigit          = PATTERN_SIGNIFICANT_DIGIT; // '@'
+        char groupingSeparator = PATTERN_GROUPING_SEPARATOR;
+        char decimalSeparator  = PATTERN_DECIMAL_SEPARATOR;
+        char percent           = PATTERN_PERCENT;
+        char perMill           = PATTERN_PER_MILLE;
+        char digit             = PATTERN_DIGIT; // '#'
+        char separator         = PATTERN_SEPARATOR;
+        String exponent        = PATTERN_EXPONENT;
+        char plus              = PATTERN_PLUS_SIGN;
+        char padEscape         = PATTERN_PAD_ESCAPE;
+        char minus             = PATTERN_MINUS; //Bug 4212072 [Richard/GCL]
+        if (localized) {
+            zeroDigit         = symbols.getZeroDigit();
+            sigDigit          = symbols.getSignificantDigit();
+            groupingSeparator = symbols.getGroupingSeparator();
+            decimalSeparator  = symbols.getDecimalSeparator();
+            percent           = symbols.getPercent();
+            perMill           = symbols.getPerMill();
+            digit             = symbols.getDigit();
+            separator         = symbols.getPatternSeparator();
+            exponent          = symbols.getExponentSeparator();
+            plus              = symbols.getPlusSign();
+            padEscape         = symbols.getPadEscape();
+            minus             = symbols.getMinusSign(); //Bug 4212072 [Richard/GCL]
+        }
+        char nineDigit = (char) (zeroDigit + 9);
+
+        boolean gotNegative = false;
+
+        int pos = 0;
+        // Part 0 is the positive pattern.  Part 1, if present, is the negative
+        // pattern.
+        for (int part=0; part<2 && pos<pattern.length(); ++part) {
+            // The subpart ranges from 0 to 4: 0=pattern proper, 1=prefix,
+            // 2=suffix, 3=prefix in quote, 4=suffix in quote.  Subpart 0 is
+            // between the prefix and suffix, and consists of pattern
+            // characters.  In the prefix and suffix, percent, permille, and
+            // currency symbols are recognized and translated.
+            int subpart = 1, sub0Start = 0, sub0Limit = 0, sub2Limit = 0;
+
+            // It's important that we don't change any fields of this object
+            // prematurely.  We set the following variables for the multiplier,
+            // grouping, etc., and then only change the actual object fields if
+            // everything parses correctly.  This also lets us register
+            // the data from part 0 and ignore the part 1, except for the
+            // prefix and suffix.
+            StringBuffer prefix = new StringBuffer();
+            StringBuffer suffix = new StringBuffer();
+            int decimalPos = -1;
+            int multiplier = 1;
+            int digitLeftCount = 0, zeroDigitCount = 0, digitRightCount = 0, sigDigitCount = 0;
+            byte groupingCount = -1;
+            byte groupingCount2 = -1;
+            int padPos = -1;
+            char padChar = 0;
+            int incrementPos = -1;
+            long incrementVal = 0;
+            byte expDigits = -1;
+            boolean expSignAlways = false;
+            boolean isCurrency = false;
+
+            // The affix is either the prefix or the suffix.
+            StringBuffer affix = prefix;
+
+            int start = pos;
+
+        PARTLOOP:
+            for (; pos < pattern.length(); ++pos) {
+                char ch = pattern.charAt(pos);
+                switch (subpart) {
+                case 0: // Pattern proper subpart (between prefix & suffix)
+                    // Process the digits, decimal, and grouping characters.  We
+                    // record five pieces of information.  We expect the digits
+                    // to occur in the pattern ####00.00####, and we record the
+                    // number of left digits, zero (central) digits, and right
+                    // digits.  The position of the last grouping character is
+                    // recorded (should be somewhere within the first two blocks
+                    // of characters), as is the position of the decimal point,
+                    // if any (should be in the zero digits).  If there is no
+                    // decimal point, then there should be no right digits.
+                    if (ch == digit) {
+                        if (zeroDigitCount > 0 || sigDigitCount > 0) {
+                            ++digitRightCount;
+                        } else {
+                            ++digitLeftCount;
+                        }
+                        if (groupingCount >= 0 && decimalPos < 0) {
+                            ++groupingCount;
+                        }
+                    } else if ((ch >= zeroDigit && ch <= nineDigit) ||
+                               ch == sigDigit) {
+                        if (digitRightCount > 0) {
+                            patternError("Unexpected '" + ch + '\'', pattern);
+                        }
+                        if (ch == sigDigit) {
+                            ++sigDigitCount;
+                        } else {
+                            ++zeroDigitCount;
+                            if (ch != zeroDigit) {
+                                int p = digitLeftCount + zeroDigitCount
+                                    + digitRightCount;
+                                if (incrementPos >= 0) {
+                                    while (incrementPos < p) {
+                                        incrementVal *= 10;
+                                        ++incrementPos;
+                                    }
+                                } else {
+                                    incrementPos = p;
+                                }
+                                incrementVal += ch - zeroDigit;
+                            }
+                        }
+                        if (groupingCount >= 0 && decimalPos < 0) {
+                            ++groupingCount;
+                        }
+                    } else if (ch == groupingSeparator) {
+                        /*Bug 4212072
+                          process the Localized pattern like "'Fr. '#'##0.05;'Fr.-'#'##0.05"
+                          (Locale="CH", groupingSeparator == QUOTE)                          
+                          [Richard/GCL]
+                        */
+                        if (ch == QUOTE && (pos+1) < pattern.length()) {
+                            char after = pattern.charAt(pos+1);
+                            if (!(after == digit || (after >= zeroDigit && after <= nineDigit))) {
+                                // A quote outside quotes indicates either the opening
+                                // quote or two quotes, which is a quote literal.  That is,
+                                // we have the first quote in 'do' or o''clock.
+                                if (after == QUOTE) {
+                                    ++pos;
+                                    // Fall through to append(ch)
+                                } else {
+                                    if (groupingCount < 0) {
+                                        subpart = 3; // quoted prefix subpart
+                                    } else {
+                                      // Transition to suffix subpart
+                                      subpart = 2; // suffix subpart
+                                      affix = suffix;
+                                      sub0Limit = pos--;
+                                    }
+                                    continue;
+                                }
+                            }
+                        }
+                        
+                        if (decimalPos >= 0) {
+                            patternError("Grouping separator after decimal", pattern);
+                        }
+                        groupingCount2 = groupingCount;
+                        groupingCount = 0;
+                    } else if (ch == decimalSeparator) {
+                        if (decimalPos >= 0) {
+                            patternError("Multiple decimal separators", pattern);
+                        }
+                        // Intentionally incorporate the digitRightCount,
+                        // even though it is illegal for this to be > 0
+                        // at this point.  We check pattern syntax below.
+                        decimalPos = digitLeftCount + zeroDigitCount + digitRightCount;
+                    } else {
+                        if (pattern.regionMatches(pos, exponent, 0, exponent.length())) {
+                            if (expDigits >= 0) {
+                                patternError("Multiple exponential symbols", pattern);
+                            }
+                            if (groupingCount >= 0) {
+                                patternError("Grouping separator in exponential", pattern);
+                            }
+                            pos += exponent.length();
+                            // Check for positive prefix
+                            if (pos < pattern.length()
+                                && pattern.charAt(pos) == plus) {
+                                expSignAlways = true;
+                                ++pos;
+                            }
+                            // Use lookahead to parse out the exponential part of the
+                            // pattern, then jump into suffix subpart.
+                            expDigits = 0;
+                            while (pos < pattern.length() &&
+                                   pattern.charAt(pos) == zeroDigit) {
+                                ++expDigits;
+                                ++pos;
+                            }
+                            
+                            // 1. Require at least one mantissa pattern digit
+                            // 2. Disallow "#+ @" in mantissa
+                            // 3. Require at least one exponent pattern digit
+                            if (((digitLeftCount + zeroDigitCount) < 1 &&
+                                 (sigDigitCount + digitRightCount) < 1) ||
+                                (sigDigitCount > 0 && digitLeftCount > 0) ||
+                                expDigits < 1) {
+                                patternError("Malformed exponential", pattern);
+                            }
+                        }
+                        // Transition to suffix subpart
+                        subpart = 2; // suffix subpart
+                        affix = suffix;
+                        sub0Limit = pos--; // backup: for() will increment
+                        continue;
+                    }
+                    break;
+                case 1: // Prefix subpart
+                case 2: // Suffix subpart
+                    // Process the prefix / suffix characters
+                    // Process unquoted characters seen in prefix or suffix
+                    // subpart.
+                    
+                    // Several syntax characters implicitly begins the
+                    // next subpart if we are in the prefix; otherwise
+                    // they are illegal if unquoted.
+                    if (ch == digit ||
+                        ch == groupingSeparator ||
+                        ch == decimalSeparator ||
+                        (ch >= zeroDigit && ch <= nineDigit) ||
+                        ch == sigDigit) {
+                        // Any of these characters implicitly begins the
+                        // next subpart if we are in the prefix
+                        if (subpart == 1) { // prefix subpart
+                            subpart = 0; // pattern proper subpart
+                            sub0Start = pos--; // Reprocess this character
+                            continue;
+                        } else if (ch == QUOTE) {
+                            /*Bug 4212072
+                              process the Localized pattern like "'Fr. '#'##0.05;'Fr.-'#'##0.05"
+                              (Locale="CH", groupingSeparator == QUOTE)                          
+                              [Richard/GCL]
+                            */
+                            // A quote outside quotes indicates either the opening
+                            // quote or two quotes, which is a quote literal.  That is,
+                            // we have the first quote in 'do' or o''clock.
+                            if ((pos+1) < pattern.length() &&
+                                pattern.charAt(pos+1) == QUOTE) {
+                                ++pos;
+                                affix.append(ch);
+                            } else {
+                                subpart += 2; // open quote
+                            }
+                            continue;
+                        }
+                        patternError("Unquoted special character '" + ch + '\'', pattern);
+                    } else if (ch == CURRENCY_SIGN) {
+                        // Use lookahead to determine if the currency sign is
+                        // doubled or not.
+                        boolean doubled = (pos + 1) < pattern.length() &&
+                            pattern.charAt(pos + 1) == CURRENCY_SIGN;
+                        /*Bug 4212072
+                         To meet the need of expandAffix(String, StirngBuffer)
+                         [Richard/GCL]
+                        */
+                        if (doubled) {
+                            ++pos; // Skip over the doubled character
+                            affix.append(ch); // append two: one here, one below
+                        }
+                        isCurrency = true;
+                        // Fall through to append(ch)
+                    } else if (ch == QUOTE) {
+                        // A quote outside quotes indicates either the opening
+                        // quote or two quotes, which is a quote literal.  That is,
+                        // we have the first quote in 'do' or o''clock.
+                        if ((pos+1) < pattern.length() &&
+                            pattern.charAt(pos+1) == QUOTE) {
+                            ++pos;
+                            affix.append(ch); // append two: one here, one below
+                        } else {
+                            subpart += 2; // open quote
+                        }
+                        // Fall through to append(ch)
+                    } else if (ch == separator) {
+                        // Don't allow separators in the prefix, and don't allow
+                        // separators in the second pattern (part == 1).
+                        if (subpart == 1 || part == 1) {
+                            patternError("Unquoted special character '" + ch + '\'', pattern);
+                        }
+                        sub2Limit = pos++;
+                        break PARTLOOP; // Go to next part
+                    } else if (ch == percent || ch == perMill) {
+                        // Next handle characters which are appended directly.
+                        if (multiplier != 1) {
+                            patternError("Too many percent/permille characters", pattern);
+                        }
+                        multiplier = (ch == percent) ? 100 : 1000;
+                        // Convert to non-localized pattern
+                        ch = (ch == percent) ? PATTERN_PERCENT : PATTERN_PER_MILLE;
+                        // Fall through to append(ch)
+                    } else if (ch == minus) {
+                        // Convert to non-localized pattern
+                        ch = PATTERN_MINUS;
+                        // Fall through to append(ch)
+                    } else if (ch == padEscape) {
+                        if (padPos >= 0) {
+                            patternError("Multiple pad specifiers", pattern);
+                        }
+                        if ((pos+1) == pattern.length()) {
+                            patternError("Invalid pad specifier", pattern);
+                        }
+                        padPos = pos++; // Advance past pad char
+                        padChar = pattern.charAt(pos);
+                        continue;
+                    }
+                    affix.append(ch);
+                    break;
+                case 3: // Prefix subpart, in quote
+                case 4: // Suffix subpart, in quote
+                    // A quote within quotes indicates either the closing
+                    // quote or two quotes, which is a quote literal.  That is,
+                    // we have the second quote in 'do' or 'don''t'.
+                    if (ch == QUOTE) {
+                        if ((pos+1) < pattern.length() &&
+                            pattern.charAt(pos+1) == QUOTE) {
+                            ++pos; 
+                            affix.append(ch);
+                        } else {
+                            subpart -= 2; // close quote
+                        }
+                        // Fall through to append(ch)
+                    }
+                    // NOTE: In ICU 2.2 there was code here to parse quoted
+                    // percent and permille characters _within quotes_ and give
+                    // them special meaning.  This is incorrect, since quoted
+                    // characters are literals without special meaning.
+                    affix.append(ch);
+                    break;                    
+                }
+            }
+            
+            if (subpart == 3 || subpart == 4) {
+                patternError("Unterminated quote", pattern);
+            }
+
+            if (sub0Limit == 0) {
+                sub0Limit = pattern.length();
+            }
+
+            if (sub2Limit == 0) {
+                sub2Limit = pattern.length();
+            }
+
+            /* Handle patterns with no '0' pattern character.  These patterns
+             * are legal, but must be recodified to make sense.  "##.###" ->
+             * "#0.###".  ".###" -> ".0##".
+             *
+             * We allow patterns of the form "####" to produce a zeroDigitCount
+             * of zero (got that?); although this seems like it might make it
+             * possible for format() to produce empty strings, format() checks
+             * for this condition and outputs a zero digit in this situation.
+             * Having a zeroDigitCount of zero yields a minimum integer digits
+             * of zero, which allows proper round-trip patterns.  We don't want
+             * "#" to become "#0" when toPattern() is called (even though that's
+             * what it really is, semantically).
+             */
+            if (zeroDigitCount == 0 && sigDigitCount == 0 &&
+                digitLeftCount > 0 && decimalPos >= 0) {
+                // Handle "###.###" and "###." and ".###"
+                int n = decimalPos;
+                if (n == 0) ++n; // Handle ".###"
+                digitRightCount = digitLeftCount - n;
+                digitLeftCount = n - 1;
+                zeroDigitCount = 1;
+            }
+
+            // Do syntax checking on the digits, decimal points, and quotes.
+            if ((decimalPos < 0 && digitRightCount > 0 && sigDigitCount == 0) ||
+                (decimalPos >= 0 &&
+                 (sigDigitCount > 0 ||
+                  decimalPos < digitLeftCount ||
+                  decimalPos > (digitLeftCount + zeroDigitCount))) ||
+                groupingCount == 0 || groupingCount2 == 0 ||
+                (sigDigitCount > 0 && zeroDigitCount > 0) ||
+                subpart > 2) { // subpart > 2 == unmatched quote
+                patternError("Malformed pattern", pattern);
+            }
+
+            // Make sure pad is at legal position before or after affix.
+            if (padPos >= 0) {
+                if (padPos == start) {
+                    padPos = PAD_BEFORE_PREFIX;
+                } else if (padPos+2 == sub0Start) {
+                    padPos = PAD_AFTER_PREFIX;
+                } else if (padPos == sub0Limit) {
+                    padPos = PAD_BEFORE_SUFFIX;
+                } else if (padPos+2 == sub2Limit) {
+                    padPos = PAD_AFTER_SUFFIX;
+                } else {
+                    patternError("Illegal pad position", pattern);
+                }
+            }
+
+            if (part == 0) {
+                // Set negative affixes temporarily to match the positive
+                // affixes.  Fix this up later after processing both parts.
+                /*Bug 4212072
+                  To meet the need of expandAffix(String, StirngBuffer)
+                  [Richard/GCL]
+                */
+                posPrefixPattern = negPrefixPattern = prefix.toString();
+                posSuffixPattern = negSuffixPattern = suffix.toString();
+
+                useExponentialNotation = (expDigits >= 0);
+                if (useExponentialNotation) {
+                    minExponentDigits = expDigits;
+                    exponentSignAlwaysShown = expSignAlways;
+                }
+                isCurrencyFormat = isCurrency;
+                int digitTotalCount = digitLeftCount + zeroDigitCount + digitRightCount;
+                // The effectiveDecimalPos is the position the decimal is at or
+                // would be at if there is no decimal.  Note that if
+                // decimalPos<0, then digitTotalCount == digitLeftCount +
+                // zeroDigitCount.
+                int effectiveDecimalPos = decimalPos >= 0 ? decimalPos : digitTotalCount;
+                boolean useSigDig = (sigDigitCount > 0);
+                setSignificantDigitsUsed(useSigDig);
+                if (useSigDig) {
+                    setMinimumSignificantDigits(sigDigitCount);
+                    setMaximumSignificantDigits(sigDigitCount + digitRightCount);
+                } else {
+                    int minInt = effectiveDecimalPos - digitLeftCount;
+                    setMinimumIntegerDigits(minInt);
+                    /*Upper limit on integer and fraction digits for a Java double
+                      [Richard/GCL]
+                    */
+                    setMaximumIntegerDigits(useExponentialNotation
+                        ? digitLeftCount + minInt : DOUBLE_INTEGER_DIGITS);
+                    setMaximumFractionDigits(decimalPos >= 0
+                        ? (digitTotalCount - decimalPos) : 0);
+                    setMinimumFractionDigits(decimalPos >= 0
+                        ? (digitLeftCount + zeroDigitCount - decimalPos) : 0);
+                }
+                setGroupingUsed(groupingCount > 0);
+                this.groupingSize = (groupingCount > 0) ? groupingCount : 0;
+                this.groupingSize2 = (groupingCount2 > 0 && groupingCount2 != groupingCount)
+                    ? groupingCount2 : 0;
+                this.multiplier = multiplier;
+                setDecimalSeparatorAlwaysShown(decimalPos == 0
+                        || decimalPos == digitTotalCount);
+                if (padPos >= 0) {
+                    padPosition = padPos;
+                    formatWidth = sub0Limit - sub0Start; // to be fixed up below
+                    pad = padChar;
+                } else {
+                    formatWidth = 0;
+                }
+                if (incrementVal != 0) {
+                    // BigDecimal scale cannot be negative (even though
+                    // this makes perfect sense), so we need to handle this.
+                    int scale = incrementPos - effectiveDecimalPos;
+                    roundingIncrement =
+                        java.math.BigDecimal.valueOf(incrementVal, scale > 0 ? scale : 0);
+                    if (scale < 0) {
+                        roundingIncrement =
+                            roundingIncrement.movePointRight(-scale);
+                    }
+                    roundingDouble = roundingIncrement.doubleValue();
+                    roundingMode = java.math.BigDecimal.ROUND_HALF_EVEN;
+                } else {
+                    setRoundingIncrement(null);
+                }
+            } else {
+                /*Bug 4212072
+                  To meet the need of expandAffix(String, StirngBuffer)
+                  [Richard/GCL]
+                */
+                negPrefixPattern = prefix.toString();
+                negSuffixPattern = suffix.toString();
+                gotNegative = true;
+            }
+        }
+
+        /*Bug 4140009
+          Process the empty pattern
+          [Richard/GCL]
+        */
+        if (pattern.length() == 0) {
+            posPrefixPattern = posSuffixPattern = "";
+            setMinimumIntegerDigits(0);
+            setMaximumIntegerDigits(DOUBLE_INTEGER_DIGITS);
+            setMinimumFractionDigits(0);
+            setMaximumFractionDigits(DOUBLE_FRACTION_DIGITS);
+        }
+        
+        // If there was no negative pattern, or if the negative pattern is
+        // identical to the positive pattern, then prepend the minus sign to the
+        // positive pattern to form the negative pattern.
+        /*Bug 4212072
+          To meet the need of expandAffix(String, StirngBuffer)
+          [Richard/GCL]
+        */
+        if (!gotNegative ||
+            (negPrefixPattern.equals(posPrefixPattern)
+             && negSuffixPattern.equals(posSuffixPattern))) {
+            negSuffixPattern = posSuffixPattern;
+            negPrefixPattern = PATTERN_MINUS + posPrefixPattern;
+        }
+        /*Bug 4212072
+          Update the affix strings accroding to symbols in order to keep
+          the affix strings up to date.
+          [Richard/GCL]
+        */
+        expandAffixes();
+
+        // Now that we have the actual prefix and suffix, fix up formatWidth
+        if (formatWidth > 0) {
+            formatWidth += positivePrefix.length() + positiveSuffix.length();
+        }
+        
+        setLocale(null, null);
+    }
+
+    private void patternError(String msg, String pattern) {
+        throw new IllegalArgumentException(msg + " in pattern \"" + pattern + '"');
+    }
+
+    /*Rewrite the following 4 "set" methods
+      Upper limit on integer and fraction digits for a Java double 
+      [Richard/GCL]
+    */
+    /**
+     * Sets the maximum number of digits allowed in the integer portion of a
+     * number. This override limits the integer digit count to 309.
+     * @see NumberFormat#setMaximumIntegerDigits
+     * @stable ICU 2.0
+     */
+    public void setMaximumIntegerDigits(int newValue) {
+        super.setMaximumIntegerDigits(Math.min(newValue, DOUBLE_INTEGER_DIGITS));
+    }
+
+    /**
+     * Sets the minimum number of digits allowed in the integer portion of a
+     * number. This override limits the integer digit count to 309.
+     * @see NumberFormat#setMinimumIntegerDigits
+     * @stable ICU 2.0
+     */
+    public void setMinimumIntegerDigits(int newValue) {
+        super.setMinimumIntegerDigits(Math.min(newValue, DOUBLE_INTEGER_DIGITS));
+    }
+
+    /**
+     * Returns the minimum number of significant digits that will be
+     * displayed. This value has no effect unless areSignificantDigitsUsed()
+     * returns true.
+     * @return the fewest significant digits that will be shown
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public int getMinimumSignificantDigits() {
+        return minSignificantDigits;
+    }
+
+    /**
+     * Returns the maximum number of significant digits that will be
+     * displayed. This value has no effect unless areSignificantDigitsUsed()
+     * returns true.
+     * @return the most significant digits that will be shown
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public int getMaximumSignificantDigits() {
+        return maxSignificantDigits;
+    }
+
+    /**
+     * Sets the minimum number of significant digits that will be
+     * displayed.  If <code>min</code> is less than one then it is set
+     * to one.  If the maximum significant digits count is less than
+     * <code>min</code>, then it is set to <code>min</code>. This
+     * value has no effect unless areSignificantDigitsUsed() returns true.
+     * @param min the fewest significant digits to be shown 
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public void setMinimumSignificantDigits(int min) {
+        if (min < 1) {
+            min = 1;   
+        }
+        // pin max sig dig to >= min
+        int max = Math.max(maxSignificantDigits, min);
+        minSignificantDigits = min;
+        maxSignificantDigits = max;
+    }
+
+    /**
+     * Sets the maximum number of significant digits that will be
+     * displayed.  If <code>max</code> is less than one then it is set
+     * to one.  If the minimum significant digits count is greater
+     * than <code>max</code>, then it is set to <code>max</code>. This
+     * value has no effect unless areSignificantDigitsUsed() returns true.
+     * @param max the most significant digits to be shown 
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public void setMaximumSignificantDigits(int max) {
+        if (max < 1) {
+            max = 1;
+        }
+        // pin min sig dig to 1..max
+        int min = Math.min(minSignificantDigits, max);
+        minSignificantDigits = min;
+        maxSignificantDigits = max;
+    }
+
+    /**
+     * Returns true if significant digits are in use or false if
+     * integer and fraction digit counts are in use.
+     * @return true if significant digits are in use
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public boolean areSignificantDigitsUsed() {
+        return useSignificantDigits;
+    }
+
+    /**
+     * Sets whether significant digits are in use, or integer and
+     * fraction digit counts are in use.
+     * @param useSignificantDigits true to use significant digits, or
+     * false to use integer and fraction digit counts
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public void setSignificantDigitsUsed(boolean useSignificantDigits) {
+        this.useSignificantDigits = useSignificantDigits;
+    }
+
+    /**
+     * Sets the <tt>Currency</tt> object used to display currency
+     * amounts.  This takes effect immediately, if this format is a
+     * currency format.  If this format is not a currency format, then
+     * the currency object is used if and when this object becomes a
+     * currency format through the application of a new pattern.
+     * @param theCurrency new currency object to use.  Must not be
+     * null.
+     * @stable ICU 2.2
+     */
+    public void setCurrency(Currency theCurrency) {
+        // If we are a currency format, then modify our affixes to
+        // encode the currency symbol for the given currency in our
+        // locale, and adjust the decimal digits and rounding for the
+        // given currency.
+
+        super.setCurrency(theCurrency);
+        if (theCurrency != null) {
+            boolean[] isChoiceFormat = new boolean[1];
+            String s = theCurrency.getName(symbols.getULocale(),
+                    Currency.SYMBOL_NAME,
+                    isChoiceFormat);
+                symbols.setCurrencySymbol(s);
+                symbols.setInternationalCurrencySymbol(theCurrency.getCurrencyCode());
+        }
+
+        if (isCurrencyFormat) {
+            if (theCurrency != null) {
+                setRoundingIncrement(theCurrency.getRoundingIncrement());
+                
+                int d = theCurrency.getDefaultFractionDigits();
+                setMinimumFractionDigits(d);
+                setMaximumFractionDigits(d);
+            }
+            expandAffixes();
+        }
+    }
+
+    /**
+     * Returns the currency in effect for this formatter.  Subclasses
+     * should override this method as needed.  Unlike getCurrency(),
+     * this method should never return null.
+     * @internal
+     */
+    protected Currency getEffectiveCurrency() {
+        Currency c = getCurrency();
+        if (c == null) {
+            c = Currency.getInstance(symbols.getInternationalCurrencySymbol());
+        }
+        return c;
+    }
+
+    /**
+     * Sets the maximum number of digits allowed in the fraction portion of a
+     * number. This override limits the fraction digit count to 340.
+     * @see NumberFormat#setMaximumFractionDigits
+     * @stable ICU 2.0
+     */
+    public void setMaximumFractionDigits(int newValue) {
+        super.setMaximumFractionDigits(Math.min(newValue, DOUBLE_FRACTION_DIGITS));
+    }
+
+    /**
+     * Sets the minimum number of digits allowed in the fraction portion of a
+     * number. This override limits the fraction digit count to 340.
+     * @see NumberFormat#setMinimumFractionDigits
+     * @stable ICU 2.0
+     */
+    public void setMinimumFractionDigits(int newValue) {
+        super.setMinimumFractionDigits(Math.min(newValue, DOUBLE_FRACTION_DIGITS));
+    }
+
+    /**
+     * First, read the default serializable fields from the stream.  Then
+     * if <code>serialVersionOnStream</code> is less than 1, indicating that
+     * the stream was written by JDK 1.1, initialize <code>useExponentialNotation</code>
+     * to false, since it was not present in JDK 1.1.
+     * Finally, set serialVersionOnStream back to the maximum allowed value so that
+     * default serialization will work properly if this object is streamed out again.
+     */
+    private void readObject(ObjectInputStream stream)
+         throws IOException, ClassNotFoundException
+    {
+        stream.defaultReadObject();
+        /*Bug 4185761 validate fields
+          [Richard/GCL]
+        */
+        // We only need to check the maximum counts because NumberFormat
+        // .readObject has already ensured that the maximum is greater than the
+        // minimum count.
+        /*Commented for compatibility with previous version, and reserved for further use
+        if (getMaximumIntegerDigits() > DOUBLE_INTEGER_DIGITS ||
+            getMaximumFractionDigits() > DOUBLE_FRACTION_DIGITS) {
+            throw new InvalidObjectException("Digit count out of range");
+        }*/
+        /* Truncate the maximumIntegerDigits to DOUBLE_INTEGER_DIGITS and maximumFractionDigits
+         * to DOUBLE_FRACTION_DIGITS
+         */
+        if (getMaximumIntegerDigits() > DOUBLE_INTEGER_DIGITS) {
+             setMaximumIntegerDigits(DOUBLE_INTEGER_DIGITS);
+        }
+        if (getMaximumFractionDigits() > DOUBLE_FRACTION_DIGITS) {
+            setMaximumFractionDigits(DOUBLE_FRACTION_DIGITS);
+        }
+        if (serialVersionOnStream < 2) {
+            exponentSignAlwaysShown = false;
+            roundingDouble = 0.0;
+            roundingIncrement = null;
+            roundingMode = java.math.BigDecimal.ROUND_HALF_EVEN;
+            formatWidth = 0;
+            pad = ' ';
+            padPosition = PAD_BEFORE_PREFIX;
+            if (serialVersionOnStream < 1) {
+                // Didn't have exponential fields
+                useExponentialNotation = false;
+            }
+        }
+        if (serialVersionOnStream < 3) {
+            // Versions prior to 3 do not store a currency object.
+            // Create one to match the DecimalFormatSymbols object.
+            setCurrencyForSymbols();
+        }
+        serialVersionOnStream = currentSerialVersion;
+        digitList = new DigitList();
+    }
+
+    //----------------------------------------------------------------------
+    // INSTANCE VARIABLES
+    //----------------------------------------------------------------------
+
+    private transient DigitList digitList = new DigitList();
+
+    /**
+     * The symbol used as a prefix when formatting positive numbers, e.g. "+".
+     *
+     * @serial
+     * @see #getPositivePrefix
+     */
+    private String  positivePrefix = "";
+
+    /**
+     * The symbol used as a suffix when formatting positive numbers.
+     * This is often an empty string.
+     *
+     * @serial
+     * @see #getPositiveSuffix
+     */
+    private String  positiveSuffix = "";
+
+    /**
+     * The symbol used as a prefix when formatting negative numbers, e.g. "-".
+     *
+     * @serial
+     * @see #getNegativePrefix
+     */
+    private String  negativePrefix = "-";
+
+    /**
+     * The symbol used as a suffix when formatting negative numbers.
+     * This is often an empty string.
+     *
+     * @serial
+     * @see #getNegativeSuffix
+     */
+    private String  negativeSuffix = "";
+    
+    /**
+     * The prefix pattern for non-negative numbers.  This variable corresponds
+     * to <code>positivePrefix</code>.
+     *
+     * <p>This pattern is expanded by the method <code>expandAffix()</code> to
+     * <code>positivePrefix</code> to update the latter to reflect changes in
+     * <code>symbols</code>.  If this variable is <code>null</code> then
+     * <code>positivePrefix</code> is taken as a literal value that does not
+     * change when <code>symbols</code> changes.  This variable is always
+     * <code>null</code> for <code>DecimalFormat</code> objects older than
+     * stream version 2 restored from stream.
+     *
+     * @serial
+     */
+    //[Richard/GCL]
+    private String posPrefixPattern;
+
+    /**
+     * The suffix pattern for non-negative numbers.  This variable corresponds
+     * to <code>positiveSuffix</code>.  This variable is analogous to
+     * <code>posPrefixPattern</code>; see that variable for further
+     * documentation.
+     *
+     * @serial
+     */
+    //[Richard/GCL]
+    private String posSuffixPattern;
+
+    /**
+     * The prefix pattern for negative numbers.  This variable corresponds
+     * to <code>negativePrefix</code>.  This variable is analogous to
+     * <code>posPrefixPattern</code>; see that variable for further
+     * documentation.
+     *
+     * @serial
+     */
+    //[Richard/GCL]
+    private String negPrefixPattern;
+
+    /**
+     * The suffix pattern for negative numbers.  This variable corresponds
+     * to <code>negativeSuffix</code>.  This variable is analogous to
+     * <code>posPrefixPattern</code>; see that variable for further
+     * documentation.
+     *
+     * @serial
+     */
+    //[Richard/GCL]
+    private String negSuffixPattern;
+
+    /**
+     * Formatter for ChoiceFormat-based currency names.  If this field
+     * is not null, then delegate to it to format currency symbols.
+     * @since ICU 2.6
+     */
+    private ChoiceFormat currencyChoice;
+
+    /**
+     * The multiplier for use in percent, permill, etc.
+     *
+     * @serial
+     * @see #getMultiplier
+     */
+    private int     multiplier = 1;
+    
+    /**
+     * The number of digits between grouping separators in the integer
+     * portion of a number.  Must be greater than 0 if
+     * <code>NumberFormat.groupingUsed</code> is true.
+     *
+     * @serial
+     * @see #getGroupingSize
+     * @see NumberFormat#isGroupingUsed
+     */
+    private byte    groupingSize = 3;  // invariant, > 0 if useThousands
+
+    /**
+     * The secondary grouping size.  This is only used for Hindi
+     * numerals, which use a primary grouping of 3 and a secondary
+     * grouping of 2, e.g., "12,34,567".  If this value is less than
+     * 1, then secondary grouping is equal to the primary grouping.
+     * [NEW]
+     */
+    private byte    groupingSize2 = 0;
+    
+    /**
+     * If true, forces the decimal separator to always appear in a formatted
+     * number, even if the fractional part of the number is zero.
+     *
+     * @serial
+     * @see #isDecimalSeparatorAlwaysShown
+     */
+    private boolean decimalSeparatorAlwaysShown = false;
+    
+    /**
+     * True if this object represents a currency format.  This determines
+     * whether the monetary decimal separator is used instead of the normal one.
+     */
+    private transient boolean isCurrencyFormat = false;
+    
+    /**
+     * The <code>DecimalFormatSymbols</code> object used by this format.
+     * It contains the symbols used to format numbers, e.g. the grouping separator,
+     * decimal separator, and so on.
+     *
+     * @serial
+     * @see #setDecimalFormatSymbols
+     * @see DecimalFormatSymbols
+     */
+    private DecimalFormatSymbols symbols = null; // LIU new DecimalFormatSymbols();
+
+    /**
+     * True to use significant digits rather than integer and fraction
+     * digit counts.
+     * @serial
+     * @since ICU 3.0
+     */
+    private boolean useSignificantDigits = false;
+
+    /**
+     * The minimum number of significant digits to show.  Must be >= 1
+     * and <= maxSignificantDigits.  Ignored unless
+     * useSignificantDigits == true.
+     * @serial
+     * @since ICU 3.0
+     */
+    private int minSignificantDigits = 1;
+
+    /**
+     * The maximum number of significant digits to show.  Must be >=
+     * minSignficantDigits.  Ignored unless useSignificantDigits ==
+     * true.
+     * @serial
+     * @since ICU 3.0
+     */
+    private int maxSignificantDigits = 6;
+
+    /**
+     * True to force the use of exponential (i.e. scientific) notation when formatting
+     * numbers.
+     * <p>
+     * Note that the JDK 1.2 public API provides no way to set this field,
+     * even though it is supported by the implementation and the stream format.
+     * The intent is that this will be added to the API in the future.
+     *
+     * @serial
+     */
+    private boolean useExponentialNotation;  // Newly persistent in JDK 1.2
+
+    /**
+     * The minimum number of digits used to display the exponent when a number is
+     * formatted in exponential notation.  This field is ignored if
+     * <code>useExponentialNotation</code> is not true.
+     * <p>
+     * Note that the JDK 1.2 public API provides no way to set this field,
+     * even though it is supported by the implementation and the stream format.
+     * The intent is that this will be added to the API in the future.
+     *
+     * @serial
+     */
+    private byte    minExponentDigits;       // Newly persistent in JDK 1.2
+
+    /**
+     * <strong><font face=helvetica color=red>NEW</font></strong>
+     * If true, the exponent is always prefixed with either the plus
+     * sign or the minus sign.  Otherwise, only negative exponents are
+     * prefixed with the minus sign.  This has no effect unless
+     * <code>useExponentialNotation</code> is true.
+     * @serial
+     * @since AlphaWorks NumberFormat
+     */
+    private boolean exponentSignAlwaysShown = false;
+
+    /**
+     * <strong><font face=helvetica color=red>NEW</font></strong>
+     * The value to which numbers are rounded during formatting.  For example,
+     * if the rounding increment is 0.05, then 13.371 would be formatted as
+     * 13.350, assuming 3 fraction digits.  Has the value <code>null</code> if
+     * rounding is not in effect, or a positive value if rounding is in effect.
+     * Default value <code>null</code>.
+     * @serial
+     * @since AlphaWorks NumberFormat
+     */
+    private java.math.BigDecimal roundingIncrement = null;
+
+    /**
+     * <strong><font face=helvetica color=red>NEW</font></strong>
+     * The rounding increment as a double.  If this value is <= 0, then no
+     * rounding is done.  This value is
+     * <code>roundingIncrement.doubleValue()</code>.  Default value 0.0.
+     */
+    private transient double roundingDouble = 0.0;
+
+    /**
+     * <strong><font face=helvetica color=red>NEW</font></strong>
+     * The rounding mode.  This value controls any rounding operations which
+     * occur when applying a rounding increment or when reducing the number of
+     * fraction digits to satisfy a maximum fraction digits limit.  The value
+     * may assume any of the <code>BigDecimal</code> rounding mode values.
+     * Default value <code>BigDecimal.ROUND_HALF_EVEN</code>.
+     * @serial
+     * @since AlphaWorks NumberFormat
+     */
+    private int roundingMode = java.math.BigDecimal.ROUND_HALF_EVEN;
+
+    /**
+     * <strong><font face=helvetica color=red>NEW</font></strong>
+     * The padded format width, or zero if there is no padding.  Must
+     * be >= 0.  Default value zero.
+     * @serial
+     * @since AlphaWorks NumberFormat
+     */
+    private int formatWidth = 0;
+
+    /**
+     * <strong><font face=helvetica color=red>NEW</font></strong>
+     * The character used to pad the result of format to
+     * <code>formatWidth</code>, if padding is in effect.  Default value ' '.
+     * @serial
+     * @since AlphaWorks NumberFormat
+     */
+    private char pad = ' ';
+
+    /**
+     * <strong><font face=helvetica color=red>NEW</font></strong>
+     * The position in the string at which the <code>pad</code> character
+     * will be inserted, if padding is in effect.  Must have a value from
+     * <code>PAD_BEFORE_PREFIX</code> to <code>PAD_AFTER_SUFFIX</code>.
+     * Default value <code>PAD_BEFORE_PREFIX</code>.
+     * @serial
+     * @since AlphaWorks NumberFormat
+     */
+    private int padPosition = PAD_BEFORE_PREFIX;
+
+    //----------------------------------------------------------------------
+
+    static final int currentSerialVersion = 3;
+
+    /**
+     * The internal serial version which says which version was written
+     * Possible values are:
+     * <ul>
+     * <li><b>0</b> (default): versions before JDK 1.2
+     * <li><b>1</b>: version from JDK 1.2 and later, which includes the two new fields
+     *      <code>useExponentialNotation</code> and <code>minExponentDigits</code>.
+     * <li><b>2</b>: version on AlphaWorks, which adds roundingMode, formatWidth,
+     *      pad, padPosition, exponentSignAlwaysShown, roundingIncrement.
+     * <li><b>3</b>: ICU 2.2.  Adds currency object.
+     * </ul>
+     * @serial */
+    private int serialVersionOnStream = currentSerialVersion;
+
+    //----------------------------------------------------------------------
+    // CONSTANTS
+    //----------------------------------------------------------------------
+
+    /**
+     * <strong><font face=helvetica color=red>NEW</font></strong>
+     * Constant for <code>getPadPosition()</code> and
+     * <code>setPadPosition()</code> specifying pad characters inserted before
+     * the prefix.
+     * @see #setPadPosition
+     * @see #getPadPosition
+     * @see #PAD_AFTER_PREFIX
+     * @see #PAD_BEFORE_SUFFIX
+     * @see #PAD_AFTER_SUFFIX
+     * @stable ICU 2.0
+     */
+    public static final int PAD_BEFORE_PREFIX = 0;
+
+    /**
+     * <strong><font face=helvetica color=red>NEW</font></strong>
+     * Constant for <code>getPadPosition()</code> and
+     * <code>setPadPosition()</code> specifying pad characters inserted after
+     * the prefix.
+     * @see #setPadPosition
+     * @see #getPadPosition
+     * @see #PAD_BEFORE_PREFIX
+     * @see #PAD_BEFORE_SUFFIX
+     * @see #PAD_AFTER_SUFFIX
+     * @stable ICU 2.0
+     */
+    public static final int PAD_AFTER_PREFIX  = 1;
+
+    /**
+     * <strong><font face=helvetica color=red>NEW</font></strong>
+     * Constant for <code>getPadPosition()</code> and
+     * <code>setPadPosition()</code> specifying pad characters inserted before
+     * the suffix.
+     * @see #setPadPosition
+     * @see #getPadPosition
+     * @see #PAD_BEFORE_PREFIX
+     * @see #PAD_AFTER_PREFIX
+     * @see #PAD_AFTER_SUFFIX
+     * @stable ICU 2.0
+     */
+    public static final int PAD_BEFORE_SUFFIX = 2;
+
+    /**
+     * <strong><font face=helvetica color=red>NEW</font></strong>
+     * Constant for <code>getPadPosition()</code> and
+     * <code>setPadPosition()</code> specifying pad characters inserted after
+     * the suffix.
+     * @see #setPadPosition
+     * @see #getPadPosition
+     * @see #PAD_BEFORE_PREFIX
+     * @see #PAD_AFTER_PREFIX
+     * @see #PAD_BEFORE_SUFFIX
+     * @stable ICU 2.0
+     */
+    public static final int PAD_AFTER_SUFFIX  = 3;
+
+    // Constants for characters used in programmatic (unlocalized) patterns.
+    private static final char       PATTERN_ZERO_DIGIT         = '0';
+    private static final char       PATTERN_GROUPING_SEPARATOR = ',';
+    private static final char       PATTERN_DECIMAL_SEPARATOR  = '.';
+    private static final char       PATTERN_DIGIT              = '#';
+            static final char       PATTERN_SIGNIFICANT_DIGIT  = '@';
+            static final String     PATTERN_EXPONENT           = "E"; // [NEW]
+            static final char       PATTERN_PLUS_SIGN          = '+'; // [NEW]
+
+    // Affix
+    private static final char       PATTERN_PER_MILLE          = '\u2030';
+    private static final char       PATTERN_PERCENT            = '%';
+            static final char       PATTERN_PAD_ESCAPE         = '*'; // [NEW]
+    /*Bug 4212072
+      To meet the need of expandAffix(String, StirngBuffer)
+      [Richard/GCL]
+    */
+    private static final char       PATTERN_MINUS              = '-'; //[Richard/GCL]
+
+    // Other    
+    private static final char       PATTERN_SEPARATOR          = ';';
+
+    // Pad escape is package private to allow access by DecimalFormatSymbols.
+    // Also plus sign.  Also exponent.
+
+    /**
+     * The CURRENCY_SIGN is the standard Unicode symbol for currency.  It
+     * is used in patterns and substitued with either the currency symbol,
+     * or if it is doubled, with the international currency symbol.  If the
+     * CURRENCY_SIGN is seen in a pattern, then the decimal separator is
+     * replaced with the monetary decimal separator.
+     *
+     * The CURRENCY_SIGN is not localized.
+     */
+    private static final char       CURRENCY_SIGN = '\u00A4';
+
+    private static final char       QUOTE = '\'';
+    
+    /* Upper limit on integer and fraction digits for a Java double
+       [Richard/GCL]
+    */
+    static final int DOUBLE_INTEGER_DIGITS  = 309;
+    static final int DOUBLE_FRACTION_DIGITS = 340;
+
+    /**
+     * When someone turns on scientific mode, we assume that more than this
+     * number of digits is due to flipping from some other mode that didn't
+     * restrict the maximum, and so we force 1 integer digit.  We don't bother
+     * to track and see if someone is using exponential notation with more than
+     * this number, it wouldn't make sense anyway, and this is just to make sure
+     * that someone turning on scientific mode with default settings doesn't
+     * end up with lots of zeroes.
+     */
+    static final int MAX_SCIENTIFIC_INTEGER_DIGITS = 8;
+
+    // Proclaim JDK 1.1 serial compatibility.
+    private static final long serialVersionUID = 864413376551465018L;
+
+    /**
+     * Cache to hold the NumberPattern of a Locale.
+     * [NEW] No longer needed -- share the NumberFormat cache
+     */
+    // private static Hashtable cachedLocaleData = new Hashtable(3);
+}
+
+//eof
diff --git a/src/com/ibm/icu/text/DecimalFormatSymbols.java b/src/com/ibm/icu/text/DecimalFormatSymbols.java
new file mode 100755
index 0000000..1556114
--- /dev/null
+++ b/src/com/ibm/icu/text/DecimalFormatSymbols.java
@@ -0,0 +1,952 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.text;
+
+import com.ibm.icu.impl.ICUResourceBundle;
+import com.ibm.icu.util.Currency;
+import com.ibm.icu.util.ULocale;
+import com.ibm.icu.util.UResourceBundle;
+
+import java.io.IOException;
+import java.io.ObjectInputStream;
+import java.io.Serializable;
+import java.text.ChoiceFormat;
+import java.util.Hashtable;
+import java.util.Locale;
+
+/**
+ * This class represents the set of symbols (such as the decimal separator, the
+ * grouping separator, and so on) needed by <code>DecimalFormat</code> to format
+ * numbers. <code>DecimalFormat</code> creates for itself an instance of
+ * <code>DecimalFormatSymbols</code> from its locale data.  If you need to
+ * change any of these symbols, you can get the
+ * <code>DecimalFormatSymbols</code> object from your <code>DecimalFormat</code>
+ * and modify it.
+ *
+ * <p><strong>This is an enhanced version of <code>DecimalFormatSymbols</code> that
+ * is based on the standard version in the JDK.  New or changed functionality
+ * is labeled
+ * <strong><font face=helvetica color=red>NEW</font></strong>.</strong>
+ *
+ * @see          java.util.Locale
+ * @see          DecimalFormat
+ * @author       Mark Davis
+ * @author       Alan Liu
+ * @stable ICU 2.0
+ */
+
+final public class DecimalFormatSymbols implements Cloneable, Serializable {
+
+    /**
+     * Create a DecimalFormatSymbols object for the default locale.
+     * @stable ICU 2.0
+     */
+    public DecimalFormatSymbols() {
+        initialize( ULocale.getDefault() );
+    }
+
+    /**
+     * Create a DecimalFormatSymbols object for the given locale.
+     * @param locale the locale
+     * @stable ICU 2.0
+     */
+    public DecimalFormatSymbols( Locale locale ) {
+        initialize( ULocale.forLocale(locale) );
+    }
+
+    /**
+     * Create a DecimalFormatSymbols object for the given locale.
+     * @param locale the locale
+     * @draft ICU 3.2
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public DecimalFormatSymbols( ULocale locale ) {
+        initialize( locale );
+    }
+
+    /**
+     * Return the character used for zero. Different for Arabic, etc.
+     * @return the character
+     * @stable ICU 2.0
+     */
+    public char getZeroDigit() {
+        return zeroDigit;
+    }
+
+    /**
+     * Set the character used for zero.
+     * @param zeroDigit the zero character.
+     * @stable ICU 2.0
+     */
+    public void setZeroDigit(char zeroDigit) {
+        this.zeroDigit = zeroDigit;
+    }
+
+    /**
+     * Return the character used to represent a significant digit in a pattern.
+     * @return the significant digit pattern character
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public char getSignificantDigit() {
+        return sigDigit;
+    }
+
+    /**
+     * Set the character used to represent a significant digit in a pattern.
+     * @param sigDigit the significant digit pattern character
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public void setSignificantDigit(char sigDigit) {
+        this.sigDigit = sigDigit;
+    }    
+    
+    /**
+     * Return the character used for thousands separator. Different for French, etc.
+     * @return the thousands character
+     * @stable ICU 2.0
+     */
+    public char getGroupingSeparator() {
+        return groupingSeparator;
+    }
+
+    /**
+     * Set the character used for thousands separator. Different for French, etc.
+     * @param groupingSeparator the thousands character
+     * @stable ICU 2.0
+     */
+    public void setGroupingSeparator(char groupingSeparator) {
+        this.groupingSeparator = groupingSeparator;
+    }
+
+    /**
+     * Return the character used for decimal sign. Different for French, etc.
+     * @return the decimal character
+     * @stable ICU 2.0
+     */
+    public char getDecimalSeparator() {
+        return decimalSeparator;
+    }
+
+    /**
+     * Set the character used for decimal sign. Different for French, etc.
+     * @param decimalSeparator the decimal character
+     * @stable ICU 2.0
+     */
+    public void setDecimalSeparator(char decimalSeparator) {
+        this.decimalSeparator = decimalSeparator;
+    }
+
+    /**
+     * Return the character used for mille percent sign. Different for Arabic, etc.
+     * @return the mille percent character
+     * @stable ICU 2.0
+     */
+    public char getPerMill() {
+        return perMill;
+    }
+
+    /**
+     * Set the character used for mille percent sign. Different for Arabic, etc.
+     * @param perMill the mille percent character
+     * @stable ICU 2.0
+     */
+    public void setPerMill(char perMill) {
+        this.perMill = perMill;
+    }
+
+    /**
+     * Return the character used for percent sign. Different for Arabic, etc.
+     * @return the percent character
+     * @stable ICU 2.0
+     */
+    public char getPercent() {
+        return percent;
+    }
+
+    /**
+     * Set the character used for percent sign. Different for Arabic, etc.
+     * @param percent the percent character
+     * @stable ICU 2.0
+     */
+    public void setPercent(char percent) {
+        this.percent = percent;
+    }
+
+    /**
+     * Return the character used for a digit in a pattern.
+     * @return the digit pattern character
+     * @stable ICU 2.0
+     */
+    public char getDigit() {
+        return digit;
+    }
+
+    /**
+     * Set the character used for a digit in a pattern.
+     * @param digit the digit pattern character
+     * @stable ICU 2.0
+     */
+    public void setDigit(char digit) {
+        this.digit = digit;
+    }
+
+    /**
+     * Return the character used to separate positive and negative subpatterns
+     * in a pattern.
+     * @return the pattern separator character
+     * @stable ICU 2.0
+     */
+    public char getPatternSeparator() {
+        return patternSeparator;
+    }
+
+    /**
+     * Set the character used to separate positive and negative subpatterns
+     * in a pattern.
+     * @param patternSeparator the pattern separator character
+     * @stable ICU 2.0
+     */
+    public void setPatternSeparator(char patternSeparator) {
+        this.patternSeparator = patternSeparator;
+    }
+
+    /**
+     * Return the String used to represent infinity. Almost always left
+     * unchanged.
+     * @return the Infinity string
+     * @stable ICU 2.0
+     */
+     //Bug 4194173 [Richard/GCL]
+
+    public String getInfinity() {
+        return infinity;
+    }
+
+    /**
+     * Set the String used to represent infinity. Almost always left
+     * unchanged.
+     * @param infinity the Infinity String
+     * @stable ICU 2.0
+     */
+    public void setInfinity(String infinity) {
+        this.infinity = infinity;
+    }
+
+    /**
+     * Return the String used to represent NaN. Almost always left
+     * unchanged.
+     * @return the NaN String
+     * @stable ICU 2.0
+     */
+     //Bug 4194173 [Richard/GCL]
+    public String getNaN() {
+        return NaN;
+    }
+
+    /**
+     * Set the String used to represent NaN. Almost always left
+     * unchanged.
+     * @param NaN the NaN String
+     * @stable ICU 2.0
+     */
+    public void setNaN(String NaN) {
+        this.NaN = NaN;
+    }
+
+    /**
+     * Return the character used to represent minus sign. If no explicit
+     * negative format is specified, one is formed by prefixing
+     * minusSign to the positive format.
+     * @return the minus sign character
+     * @stable ICU 2.0
+     */
+    public char getMinusSign() {
+        return minusSign;
+    }
+
+    /**
+     * Set the character used to represent minus sign. If no explicit
+     * negative format is specified, one is formed by prefixing
+     * minusSign to the positive format.
+     * @param minusSign the minus sign character
+     * @stable ICU 2.0
+     */
+    public void setMinusSign(char minusSign) {
+        this.minusSign = minusSign;
+    }
+
+    /**
+     * Return the string denoting the local currency.
+     * @return the local currency String.
+     * @stable ICU 2.0
+     */
+    public String getCurrencySymbol()
+    {
+        return currencySymbol;
+    }
+
+    /**
+     * Set the string denoting the local currency.
+     * @param currency the local currency String.
+     * @stable ICU 2.0
+     */
+    public void setCurrencySymbol(String currency)
+    {
+        currencySymbol = currency;
+    }
+
+    /**
+     * Return the international string denoting the local currency.
+     * @return the international string denoting the local currency
+     * @stable ICU 2.0
+     */
+    public String getInternationalCurrencySymbol()
+    {
+        return intlCurrencySymbol;
+    }
+
+    /**
+     * Set the international string denoting the local currency.
+     * @param currency the international string denoting the local currency.
+     * @stable ICU 2.0
+     */
+    public void setInternationalCurrencySymbol(String currency)
+    {
+        intlCurrencySymbol = currency;
+    }
+
+    /**
+     * Returns the currency symbol, for JDK 1.4 compatibility only.
+     * ICU clients should use the Currency API directly.
+     * @return the currency used, or null
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public Currency getCurrency() {
+        return currency;
+    }
+    
+    /**
+     * ICU does not use the DecimalFormatSymbols for the 
+     * currency any more.  This API is present
+     * for API compatibility only.
+     *
+     * This also sets the currency symbol attribute to the currency's symbol
+     * in the DecimalFormatSymbols' locale, and the international currency
+     * symbol attribute to the currency's ISO 4217 currency code.
+     *
+     * @param currency the new currency to be used
+     * @throws NullPointerException if <code>currency</code> is null
+     * @see #setCurrencySymbol
+     * @see #setInternationalCurrencySymbol
+     *
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public void setCurrency(Currency currency) {
+        if (currency == null) {
+            throw new NullPointerException();
+        }
+        this.currency = currency;
+        intlCurrencySymbol = currency.getCurrencyCode();
+        currencySymbol = currency.getSymbol(locale);
+    }
+    
+    /**
+     * Return the monetary decimal separator.
+     * @return the monetary decimal separator character
+     * @stable ICU 2.0
+     */
+    public char getMonetaryDecimalSeparator()
+    {
+        return monetarySeparator;
+    }
+
+    /**
+     * Set the monetary decimal separator.
+     * @param sep the monetary decimal separator character
+     * @stable ICU 2.0
+     */
+    public void setMonetaryDecimalSeparator(char sep)
+    {
+        monetarySeparator = sep;
+    }
+
+    /**
+     * <strong><font face=helvetica color=red>NEW</font></strong>
+     * Return the string used to separate the mantissa from the exponent.
+     * Examples: "x10^" for 1.23x10^4, "E" for 1.23E4.
+     * @return the localized exponent symbol, used in localized patterns
+     * and formatted strings
+     * @see #setExponentSeparator
+     * @stable ICU 2.0
+     */
+    public String getExponentSeparator()
+    {
+        return exponentSeparator;
+    }
+
+    /**
+     * <strong><font face=helvetica color=red>NEW</font></strong>
+     * Set the string used to separate the mantissa from the exponent.
+     * Examples: "x10^" for 1.23x10^4, "E" for 1.23E4.
+     * @param exp the localized exponent symbol, used in localized patterns
+     * and formatted strings
+     * @see #getExponentSeparator
+     * @stable ICU 2.0
+     */
+    public void setExponentSeparator(String exp)
+    {
+        exponentSeparator = exp;
+    }
+
+    /**
+     * <strong><font face=helvetica color=red>NEW</font></strong>
+     * Return the localized plus sign.
+     * @return the plus sign, used in localized patterns and formatted
+     * strings
+     * @see #setPlusSign
+     * @see #setMinusSign
+     * @see #getMinusSign
+     * @stable ICU 2.0
+     */
+    public char getPlusSign() {
+        return plusSign;
+    }
+
+    /**
+     * <strong><font face=helvetica color=red>NEW</font></strong>
+     * Set the localized plus sign.
+     * @param plus the plus sign, used in localized patterns and formatted
+     * strings
+     * @see #getPlusSign
+     * @see #setMinusSign
+     * @see #getMinusSign
+     * @stable ICU 2.0
+     */
+    public void setPlusSign(char plus) {
+        plusSign = plus;
+    }
+
+    /**
+     * <strong><font face=helvetica color=red>NEW</font></strong>
+     * Return the character used to pad numbers out to a specified width.  This
+     * is not the pad character itself; rather, it is the special pattern
+     * character <em>preceding</em> the pad character.  In the pattern
+     * "*_#,##0", '*' is the pad escape, and '_' is the pad character.
+     * @return the character 
+     * @see #setPadEscape
+     * @see DecimalFormat#getFormatWidth
+     * @see DecimalFormat#getPadPosition
+     * @see DecimalFormat#getPadCharacter
+     * @stable ICU 2.0
+     */
+    public char getPadEscape() {
+        return padEscape;
+    }
+
+    /**
+     * <strong><font face=helvetica color=red>NEW</font></strong>
+     * Set the character used to pad numbers out to a specified width.  This is
+     * not the pad character itself; rather, it is the special pattern character
+     * <em>preceding</em> the pad character.  In the pattern "*_#,##0", '*' is
+     * the pad escape, and '_' is the pad character.
+     * @see #getPadEscape
+     * @see DecimalFormat#setFormatWidth
+     * @see DecimalFormat#setPadPosition
+     * @see DecimalFormat#setPadCharacter
+     * @stable ICU 2.0
+     */
+    public void setPadEscape(char c) {
+        padEscape = c;
+    }
+
+    /**
+     * Returns the locale for which this object was constructed.
+     * @return the locale for which this object was constructed
+     * @stable ICU 2.0
+     */
+    public Locale getLocale() {
+        return locale;
+    }
+
+    /**
+     * Returns the locale for which this object was constructed.
+     * @return the locale for which this object was constructed
+     * @draft ICU 3.2
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public ULocale getULocale() {
+        return ulocale;
+    }
+
+    /**
+     * Standard override.
+     * @stable ICU 2.0
+     */
+    public Object clone() {
+        try {
+            return (DecimalFormatSymbols) super.clone();
+            // other fields are bit-copied
+        } catch (CloneNotSupportedException e) {
+            ///CLOVER:OFF
+            throw new InternalError();
+            ///CLOVER:ON
+        }
+    }
+
+    /**
+     * Override equals.
+     * @stable ICU 2.0
+     */
+    public boolean equals(Object obj) {
+        if (obj == null) return false;
+        if (this == obj) return true;
+        DecimalFormatSymbols other = (DecimalFormatSymbols) obj;
+        return (zeroDigit == other.zeroDigit &&
+        groupingSeparator == other.groupingSeparator &&
+        decimalSeparator == other.decimalSeparator &&
+        percent == other.percent &&
+        perMill == other.perMill &&
+        digit == other.digit &&
+        minusSign == other.minusSign &&
+        patternSeparator == other.patternSeparator &&
+        infinity.equals(other.infinity) &&
+        NaN.equals(other.NaN) &&
+        currencySymbol.equals(other.currencySymbol) &&
+        intlCurrencySymbol.equals(other.intlCurrencySymbol) &&
+        padEscape == other.padEscape && // [NEW]
+        plusSign == other.plusSign && // [NEW]
+        exponentSeparator.equals(other.exponentSeparator) && // [NEW]
+        monetarySeparator == other.monetarySeparator);
+    }
+
+    /**
+     * Override hashCode
+     * @stable ICU 2.0
+     */
+    public int hashCode() {
+            int result = zeroDigit;
+            result = result * 37 + groupingSeparator;
+            result = result * 37 + decimalSeparator;
+            return result;
+    }
+
+    /**
+     * Initializes the symbols from the LocaleElements resource bundle.
+     * Note: The organization of LocaleElements badly needs to be
+     * cleaned up.
+     */
+    private void initialize( ULocale locale ) {
+        this.locale = locale.toLocale();
+        this.ulocale = locale;
+
+        /* try the cache first */
+        String[][] data = (String[][]) cachedLocaleData.get(locale);
+        String[] numberElements;
+        if (data == null) {  /* cache miss */
+            data = new String[1][];
+            ICUResourceBundle rb = (ICUResourceBundle)UResourceBundle.
+                getBundleInstance(ICUResourceBundle.ICU_BASE_NAME, locale);
+            data[0] = rb.getStringArray("NumberElements");
+            /* update cache */
+            cachedLocaleData.put(locale, data);
+        }
+        numberElements = data[0];
+        
+        ICUResourceBundle r = (ICUResourceBundle)UResourceBundle.
+            getBundleInstance(ICUResourceBundle.ICU_BASE_NAME, locale);
+        
+        // TODO: Determine actual and valid locale correctly.
+        ULocale uloc = r.getULocale();
+        setLocale(uloc, uloc);
+
+    // {dlf} clean up below now that we have our own resource data
+        decimalSeparator = numberElements[0].charAt(0);
+        groupingSeparator = numberElements[1].charAt(0);
+        // Temporary hack to support old JDK 1.1 resources
+//        patternSeparator = numberElements[2].length() > 0 ?
+//            numberElements[2].charAt(0) : ';';
+        patternSeparator = numberElements[2].charAt(0);
+        percent = numberElements[3].charAt(0);
+        zeroDigit = numberElements[4].charAt(0); //different for Arabic,etc.
+        digit = numberElements[5].charAt(0);
+        minusSign = numberElements[6].charAt(0);
+        
+        // Temporary hack to support JDK versions before 1.1.6 (?)
+//        exponentSeparator = numberElements.length >= 9 ?
+//            numberElements[7] : DecimalFormat.PATTERN_EXPONENT;
+//        perMill = numberElements.length >= 9 ?
+//            numberElements[8].charAt(0) : '\u2030';
+//        infinity  = numberElements.length >= 10 ?
+//            numberElements[9] : "\u221e";
+//        NaN = numberElements.length >= 11 ?
+//            numberElements[10] : "\ufffd";
+        exponentSeparator = numberElements[7];
+        perMill = numberElements[8].charAt(0);
+        infinity = numberElements[9];
+        NaN = numberElements[10];
+        
+        plusSign  =numberElements[11].charAt(0);
+        padEscape = DecimalFormat.PATTERN_PAD_ESCAPE;
+        sigDigit  = DecimalFormat.PATTERN_SIGNIFICANT_DIGIT;
+        
+        // Obtain currency data from the currency API.  This is strictly
+        // for backward compatibility; we don't use DecimalFormatSymbols
+        // for currency data anymore.
+        String currname = null;
+        currency = Currency.getInstance(locale);
+        if (currency != null) {
+            intlCurrencySymbol = currency.getCurrencyCode();
+            boolean[] isChoiceFormat = new boolean[1];
+            currname = currency.getName(locale,
+                                    Currency.SYMBOL_NAME,
+                                    isChoiceFormat);
+            // If this is a ChoiceFormat currency, then format an
+            // arbitrary value; pick something != 1; more common.
+            currencySymbol = isChoiceFormat[0]
+                ? new ChoiceFormat(currname).format(2.0)
+                : currname;
+        } else {
+            intlCurrencySymbol = "XXX";
+            currencySymbol = "\u00A4"; // 'OX' currency symbol
+        }
+        // If there is a currency decimal, use it.
+        monetarySeparator =
+            numberElements[0].charAt(0);
+        //monetarySeparator = numberElements[11].charAt(0);
+    }
+
+    /**
+     * Read the default serializable fields, then if <code>serialVersionOnStream</code>
+     * is less than 1, initialize <code>monetarySeparator</code> to be
+     * the same as <code>decimalSeparator</code> and <code>exponential</code>
+     * to be 'E'.
+     * Finally, set serialVersionOnStream back to the maximum allowed value so that
+     * default serialization will work properly if this object is streamed out again.
+     */
+    private void readObject(ObjectInputStream stream)
+        throws IOException, ClassNotFoundException {
+
+        // TODO: it looks to me {dlf} that the serialization code was never updated
+        // to handle the actual/valid ulocale fields.
+
+        stream.defaultReadObject();
+        ///CLOVER:OFF
+        // we don't have data for these old serialized forms any more
+        if (serialVersionOnStream < 1) {
+            // Didn't have monetarySeparator or exponential field;
+            // use defaults.
+            monetarySeparator = decimalSeparator;
+            exponential = 'E';
+        }
+        if (serialVersionOnStream < 2) {
+            padEscape = DecimalFormat.PATTERN_PAD_ESCAPE;
+            plusSign = DecimalFormat.PATTERN_PLUS_SIGN;
+            exponentSeparator = String.valueOf(exponential);
+            // Although we read the exponential field on stream to create the
+            // exponentSeparator, we don't do the reverse, since scientific
+            // notation isn't supported by the old classes, even though the
+            // symbol is there.
+        }
+        ///CLOVER:ON
+        if (serialVersionOnStream < 3) {
+            // Resurrected objects from old streams will have no
+            // locale.  There is no 100% fix for this.  A
+            // 90% fix is to construct a mapping of data back to
+            // locale, perhaps a hash of all our members.  This is
+            // expensive and doesn't seem worth it.
+            locale = Locale.getDefault();
+        }
+        if (serialVersionOnStream < 4) {
+            // use same default behavior as for versions with no Locale
+            ulocale = ULocale.forLocale(locale);
+        }
+        serialVersionOnStream = currentSerialVersion;
+
+	// recreate
+	currency = Currency.getInstance(intlCurrencySymbol);
+    }
+
+    /**
+     * Character used for zero.
+     *
+     * @serial
+     * @see #getZeroDigit
+     */
+    private  char    zeroDigit;
+
+    /**
+     * Character used for thousands separator.
+     *
+     * @serial
+     * @see #getGroupingSeparator
+     */
+    private  char    groupingSeparator;
+
+    /**
+     * Character used for decimal sign.
+     *
+     * @serial
+     * @see #getDecimalSeparator
+     */
+    private  char    decimalSeparator;
+
+    /**
+     * Character used for mille percent sign.
+     *
+     * @serial
+     * @see #getPerMill
+     */
+    private  char    perMill;
+
+    /**
+     * Character used for percent sign.
+     * @serial
+     * @see #getPercent
+     */
+    private  char    percent;
+
+    /**
+     * Character used for a digit in a pattern.
+     *
+     * @serial
+     * @see #getDigit
+     */
+    private  char    digit;
+
+    /**
+     * Character used for a significant digit in a pattern.
+     *
+     * @serial
+     * @see #getSignificantDigit
+     */
+    private  char    sigDigit;
+
+    /**
+     * Character used to separate positive and negative subpatterns
+     * in a pattern.
+     *
+     * @serial
+     * @see #getPatternSeparator
+     */
+    private  char    patternSeparator;
+
+    /**
+     * Character used to represent infinity.
+     * @serial
+     * @see #getInfinity
+     */
+    private  String  infinity;
+
+    /**
+     * Character used to represent NaN.
+     * @serial
+     * @see #getNaN
+     */
+    private  String  NaN;
+
+    /**
+     * Character used to represent minus sign.
+     * @serial
+     * @see #getMinusSign
+     */
+    private  char    minusSign;
+
+    /**
+     * String denoting the local currency, e.g. "$".
+     * @serial
+     * @see #getCurrencySymbol
+     */
+    private  String  currencySymbol;
+
+    /**
+     * International string denoting the local currency, e.g. "USD".
+     * @serial
+     * @see #getInternationalCurrencySymbol
+     */
+    private  String  intlCurrencySymbol;
+
+    /**
+     * The decimal separator used when formatting currency values.
+     * @serial
+     * @see #getMonetaryDecimalSeparator
+     */
+    private  char    monetarySeparator; // Field new in JDK 1.1.6
+
+    /**
+     * The character used to distinguish the exponent in a number formatted
+     * in exponential notation, e.g. 'E' for a number such as "1.23E45".
+     * <p>
+     * Note that this field has been superseded by <code>exponentSeparator</code>.
+     * It is retained for backward compatibility.
+     *
+     * @serial
+     */
+    private  char    exponential;       // Field new in JDK 1.1.6
+
+    /**
+     * The string used to separate the mantissa from the exponent.
+     * Examples: "x10^" for 1.23x10^4, "E" for 1.23E4.
+     * <p>
+     * Note that this supersedes the <code>exponential</code> field.
+     *
+     * @serial
+     * @since AlphaWorks
+     */
+    private String exponentSeparator;
+
+    /**
+     * <strong><font face=helvetica color=red>NEW</font></strong>
+     * The character used to indicate a padding character in a format,
+     * e.g., '*' in a pattern such as "$*_#,##0.00".
+     * @serial
+     * @since AlphaWorks
+     */
+    private char padEscape;
+
+    /**
+     * <strong><font face=helvetica color=red>NEW</font></strong>
+     * The character used to indicate a plus sign.
+     * @serial
+     * @since AlphaWorks
+     */
+    private char plusSign;
+
+    /**
+     * The locale for which this object was constructed.  Set to the
+     * default locale for objects resurrected from old streams.
+     * @since ICU 2.2
+     */
+    private Locale locale;
+
+    /**
+     * The requested ULocale.  We keep the old locale for serialization compatibility.
+     * @since IDU 3.2
+     */
+    private ULocale ulocale;
+
+    // Proclaim JDK 1.1 FCS compatibility
+    private static final long serialVersionUID = 5772796243397350300L;
+
+    // The internal serial version which says which version was written
+    // - 0 (default) for version up to JDK 1.1.5
+    // - 1 for version from JDK 1.1.6, which includes two new fields:
+    //     monetarySeparator and exponential.
+    // - 2 for version from AlphaWorks, which includes 3 new fields:
+    //     padEscape, exponentSeparator, and plusSign.
+    // - 3 for ICU 2.2, which includes the locale field
+    // - 4 for ICU 3.2, which includes the ULocale field
+    private static final int currentSerialVersion = 4;
+    
+    /**
+     * Describes the version of <code>DecimalFormatSymbols</code> present on the stream.
+     * Possible values are:
+     * <ul>
+     * <li><b>0</b> (or uninitialized): versions prior to JDK 1.1.6.
+     *
+     * <li><b>1</b>: Versions written by JDK 1.1.6 or later, which includes
+     *      two new fields: <code>monetarySeparator</code> and <code>exponential</code>.
+     * <li><b>2</b>: Version for AlphaWorks.  Adds padEscape, exponentSeparator,
+     *      and plusSign.
+     * </ul>
+     * When streaming out a <code>DecimalFormatSymbols</code>, the most recent format
+     * (corresponding to the highest allowable <code>serialVersionOnStream</code>)
+     * is always written.
+     *
+     * @serial
+     */
+    private int serialVersionOnStream = currentSerialVersion;
+
+    /**
+     * cache to hold the NumberElements of a Locale.
+     */
+    private static final Hashtable cachedLocaleData = new Hashtable(3);
+ 
+    // -------- BEGIN ULocale boilerplate --------
+
+    /**
+     * Return the locale that was used to create this object, or null.
+     * This may may differ from the locale requested at the time of
+     * this object's creation.  For example, if an object is created
+     * for locale <tt>en_US_CALIFORNIA</tt>, the actual data may be
+     * drawn from <tt>en</tt> (the <i>actual</i> locale), and
+     * <tt>en_US</tt> may be the most specific locale that exists (the
+     * <i>valid</i> locale).
+     *
+     * <p>Note: This method will be implemented in ICU 3.0; ICU 2.8
+     * contains a partial preview implementation.  The * <i>actual</i>
+     * locale is returned correctly, but the <i>valid</i> locale is
+     * not, in most cases.
+     * @param type type of information requested, either {@link
+     * com.ibm.icu.util.ULocale#VALID_LOCALE} or {@link
+     * com.ibm.icu.util.ULocale#ACTUAL_LOCALE}.
+     * @return the information specified by <i>type</i>, or null if
+     * this object was not constructed from locale data.
+     * @see com.ibm.icu.util.ULocale
+     * @see com.ibm.icu.util.ULocale#VALID_LOCALE
+     * @see com.ibm.icu.util.ULocale#ACTUAL_LOCALE
+     * @draft ICU 2.8 (retain)
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public final ULocale getLocale(ULocale.Type type) {
+        return type == ULocale.ACTUAL_LOCALE ?
+            this.actualLocale : this.validLocale;
+    }
+
+    /**
+     * Set information about the locales that were used to create this
+     * object.  If the object was not constructed from locale data,
+     * both arguments should be set to null.  Otherwise, neither
+     * should be null.  The actual locale must be at the same level or
+     * less specific than the valid locale.  This method is intended
+     * for use by factories or other entities that create objects of
+     * this class.
+     * @param valid the most specific locale containing any resource
+     * data, or null
+     * @param actual the locale containing data used to construct this
+     * object, or null
+     * @see com.ibm.icu.util.ULocale
+     * @see com.ibm.icu.util.ULocale#VALID_LOCALE
+     * @see com.ibm.icu.util.ULocale#ACTUAL_LOCALE
+     * @internal
+     */
+    final void setLocale(ULocale valid, ULocale actual) {
+        // Change the following to an assertion later
+        if ((valid == null) != (actual == null)) {
+            ///CLOVER:OFF
+            throw new IllegalArgumentException();
+            ///CLOVER:ON
+        }
+        // Another check we could do is that the actual locale is at
+        // the same level or less specific than the valid locale.
+        this.validLocale = valid;
+        this.actualLocale = actual;
+    }
+
+    /**
+     * The most specific locale containing any resource data, or null.
+     * @see com.ibm.icu.util.ULocale
+     * @internal
+     */
+    private ULocale validLocale;
+
+    /**
+     * The locale containing data used to construct this object, or
+     * null.
+     * @see com.ibm.icu.util.ULocale
+     * @internal
+     */
+    private ULocale actualLocale;
+
+    // not serialized, reconstructed from intlCurrencyCode
+    private transient Currency currency;
+
+    // -------- END ULocale boilerplate --------
+}
diff --git a/src/com/ibm/icu/text/DecompData.java b/src/com/ibm/icu/text/DecompData.java
new file mode 100755
index 0000000..6ab7c47
--- /dev/null
+++ b/src/com/ibm/icu/text/DecompData.java
@@ -0,0 +1,745 @@
+/*
+************************************************************************
+*   Copyright (c) 1997-2000, International Business Machines
+*   Corporation and others.  All Rights Reserved.
+************************************************************************
+* > THIS FILE WAS MACHINE GENERATED <
+* >       DO NOT EDIT BY HAND       <
+* >      RUN TOOL TO REGENERATE     <
+* Tool: com.ibm.icu.text.Normalizer
+* Creation date: Tue Jul 18 11:05:28 PDT 2000
+*/
+
+package com.ibm.icu.text;
+import com.ibm.icu.util.*;
+
+class DecompData {
+    static final int MAX_CANONICAL = 21754;
+    static final int MAX_COMPAT = 11177;
+    static final int DECOMP_MASK = 32767;
+    static final int DECOMP_RECURSE = 32768;
+    static final short BASE = 0;
+
+    static final CompactCharArray offsets = new CompactCharArray(
+        "\000\u0800\uA5A5\005\000 @`\u0080\u00A0\u00C0\u00E0\000\u0100\u0120\u0140"+
+        "\u0160\u0180\000\000\000\u01A0\u01C0\u01E0\000\000\u0200\u0220\u0240\u0260"+
+        "\u0280\u02A0\u02C0\u02E0\u0300\u0320\000\000\u0340\u0360\uA5A5\004\000"+
+        "\u0380\uA5A5\004\000\u03A0\000\u03C0\000\000\u03E0\uA5A5\022\000\u0400"+
+        "\u0420\000\000\000\u0440\000\000\u0460\u0480\uA5A5\007\000\u04A0\000\u04C0"+
+        "\000\u04E0\000\000\000\u0500\000\000\000\u0520\000\000\000\u0540\000\000"+
+        "\000\u0560\000\000\u0580\000\000\000\u05A0\u05C0\000\u05E0\000\u0600\u0620"+
+        "\u0640\u0660\000\000\000\u0680\uA5A5n\000\u06A0\u06C0\u06E0\u0700\u0720"+
+        "\u0740\u0760\u0780\u07A0\u07C0\u07E0\u0800\u0820\u0840\u0860\u0880\u08A0"+
+        "\u08C0\u08E0\u0900\u0920\u0940\000\000\u0960\u0980\u09A0\u09C0\u09E0\u0A00"+
+        "\u0A20\000\u0A40\u0A60\u0A80\u0AA0\u0AC0\u0AE0\000\u0B00\000\u0B20\uA5A5"+
+        "\011\000\u0B40\u0B60\u0B80\u0BA0\u0BC0\uA5A5L\000\u0BE0\000\000\u0C00"+
+        "\u0C20\u0C40\u0C60\u0C80\u0CA0\u0CC0\u0CE0\000\u0D00\u0D20\u0D40\u0D60"+
+        "\u0D80\u0DA0\u0DC0\u0DE0\000\u0E00\u0E20\u0E40\u0E60\000\000\000\u0E80"+
+        "\u0EA0\u0EC0\u0EE0\u0F00\u0F20\u0F40\u0F60\u0F80\u0FA0\u0FC0\u0FE0\u1000"+
+        "\u1020\u1040\u1060\uA5A5\u0628\000\u1080\u10A0\u10C0\u10E0\u1100\u1120"+
+        "\u1140\u1160\u1180\u11A0\uA5A5\006\000\u11C0\u11E0\u1200\u1220\u1240\u1260"+
+        "\u1280\u12A0\u12C0\u12E0\u1300\u1320\u1340\u1360\u1380\u13A0\u13C0\u13E0"+
+        "\u1400\u1420\u1440\u1460\u1480\u14A0\000\u14C0\u14E0\u1500\u1520\u1540"+
+        "\u1560\u1580\u15A0\u15C0\u15E0\u1600\u1620\u1640\u1660\u1680"
+        ,
+        "\000\u16A0\uA5A5 \000\005\uA5A5\007\000\012\000\021\uA5A5\004\000\026"+
+        "\000\000\035!&-\000\00029=\000CO[\000\u2BAE\u2BB6\u2BBE\u2BC6\u2BCE\u2BD6"+
+        "\000\u2BDE\u2BE6\u2BEE\u2BF6\u2BFE\u2C06\u2C0E\u2C16\u2C1E\000\u2C26\u2C2E"+
+        "\u2C36\u2C3E\u2C46\u2C4E\000\000\u2C56\u2C5E\u2C66\u2C6E\u2C76\000\000"+
+        "\u2C7E\u2C86\u2C8E\u2C96\u2C9E\u2CA6\000\u2CAE\u2CB6\u2CBE\u2CC6\u2CCE"+
+        "\u2CD6\u2CDE\u2CE6\u2CEE\000\u2CF6\u2CFE\u2D06\u2D0E\u2D16\u2D1E\000\000"+
+        "\u2D26\u2D2E\u2D36\u2D3E\u2D46\000\u2D4E\u2D56\u2D5E\u2D66\u2D6E\u2D76"+
+        "\u2D7E\u2D86\u2D8E\u2D96\u2D9E\u2DA6\u2DAE\u2DB6\u2DBE\u2DC6\u2DCE\000"+
+        "\000\u2DD6\u2DDE\u2DE6\u2DEE\u2DF6\u2DFE\u2E06\u2E0E\u2E16\u2E1E\u2E26"+
+        "\u2E2E\u2E36\u2E3E\u2E46\u2E4E\u2E56\u2E5E\u2E66\u2E6E\000\000\u2E76\u2E7E"+
+        "\u2E86\u2E8E\u2E96\u2E9E\u2EA6\u2EAE\u2EB6\000fn\u2EBE\u2EC6\u2ECE\u2ED6"+
+        "\000\u2EDE\u2EE6\u2EEE\u2EF6\u2EFE\u2F06v~\000\000\u2F0E\u2F16\u2F1E\u2F26"+
+        "\u2F2E\u2F36\u0086\000\000\u2F3E\u2F46\u2F4E\u2F56\u2F5E\u2F66\000\000"+
+        "\u2F6E\u2F76\u2F7E\u2F86\u2F8E\u2F96\u2F9E\u2FA6\u2FAE\u2FB6\u2FBE\u2FC6"+
+        "\u2FCE\u2FD6\u2FDE\u2FE6\u2FEE\u2FF6\000\000\u2FFE\u3006\u300E\u3016\u301E"+
+        "\u3026\u302E\u3036\u303E\u3046\u304E\u3056\u305E\u3066\u306E\u3076\u307E"+
+        "\u3086\u308E\u3096\u309E\u30A6\u30AE\u008D\u30B6\u30BE\uA5A5\015\000\u30C6"+
+        "\u30CE\uA5A5\023\000\u0093\u009F\u00AB\u00B6\u00BE\u00C6\u00CE\u00D6\u00DE"+
+        "\u30D6\u30DE\u30E6\u30EE\u30F6\u30FE\u3106\u310E\u3117\u3123\u312F\u313B"+
+        "\u3147\u3153\u315F\u316B\000\u3177\u3183\u318F\u319B\u31A6\u31AE\000\000"+
+        "\u31B6\u31BE\u31C6\u31CE\u31D6\u31DE\u31E7\u31F3\u31FE\u3206\u320E\u0092"+
+        "\u009E\u00AA\u3216\u321E\000\000\u3226\u322E\u3237\u3243\u324E\u3256\u325E"+
+        "\u3266\u326E\u3276\u327E\u3286\u328E\u3296\u329E\u32A6\u32AE\u32B6\u32BE"+
+        "\u32C6\u32CE\u32D6\u32DE\u32E6\u32EE\u32F6\u32FE\u3306\u330E\u3316\u331E"+
+        "\u3326\u332E\u3336\u333E\u3346\000\000\u334E\u3356\uA5A5\006\000\u335E"+
+        "\u3366\u336E\u3376\u337F\u338B\u3397\u33A3\u33AE\u33B6\u33BF\u33CB\u33D6"+
+        "\u33DE\uA5A5\034\000\u00E5\u00E9q\u00ED\u00F1\u00F5\u00F9\u00FD\u0101"+
+        "\uA5A5\037\000\u0106\u010E\u0116\u011E\u0126\u012E\000\000\u0135}\u008D"+
+        "\u0139\u013D\uA5A5\033\000\u33E5\u33E9\000\u33ED\u33F2\uA5A5/\000\u33F9"+
+        "\uA5A5\005\000\u0142\000\000\000\u33FD\uA5A5\005\000&\uB402\u340A\u3411"+
+        "\u3416\u341E\u3426\000\u342E\000\u3436\u343E\u3447\uA5A5\031\000\u3452"+
+        "\u345A\u3462\u346A\u3472\u347A\u3483\uA5A5\031\000\u348E\u3496\u349E\u34A6"+
+        "\u34AE\000\u0149\u014D\u0151\uB4B6\uB4BE\u0155\u0159\uA5A5\031\000\u015D"+
+        "\u0161\u0165\uA5A5\015\000\u34C6\u34CE\000\u34D6\000\000\000\u34DE\uA5A5"+
+        "\004\000\u34E6\u34EE\u34F6\uA5A5\012\000\u34FE\uA5A5\037\000\u3506\uA5A5"+
+        "\026\000\u350E\u3516\000\u351E\000\000\000\u3526\uA5A5\004\000\u352E\u3536"+
+        "\u353E\uA5A5\027\000\u3546\u354E\uA5A5\011\000\u3556\u355E\uA5A5\015\000"+
+        "\u3566\u356E\u3576\u357E\000\000\u3586\u358E\000\000\u3596\u359E\u35A6"+
+        "\u35AE\u35B6\u35BE\000\000\u35C6\u35CE\u35D6\u35DE\u35E6\u35EE\000\000"+
+        "\u35F6\u35FE\u3606\u360E\u3616\u361E\u3626\u362E\u3636\u363E\u3646\u364E"+
+        "\000\000\u3656\u365E\uA5A5\015\000\u016A\uA5A5\032\000\u3666\u366E\u3676"+
+        "\u367E\u3686\uA5A5.\000\u0172\u017A\u0182\u018A\uA5A5\007\000\u368E\000"+
+        "\u3696\uA5A5\020\000\u369E\uA5A5\025\000\u36A6\uA5A5\007\000\u36AE\000"+
+        "\000\u36B6\uA5A5#\000\u36BE\u36C6\u36CE\u36D6\u36DE\u36E6\u36EE\u36F6"+
+        "\uA5A5\013\000\u36FE\u3706\uA5A5\017\000\u370E\u3716\000\u371E\uA5A5\023"+
+        "\000\u3726\000\000\u372E\uA5A5\042\000\u3736\u373E\u3746\000\000\u374E"+
+        "\uA5A5\011\000\u3756\000\000\u375E\u3766\uA5A5\017\000\u376E\u3776\uA5A5"+
+        "\026\000\u377E\uA5A5\025\000\u3786\u378E\u3796\uA5A5\033\000\u379E\uA5A5"+
+        "\027\000\u37A6\uA5A5\006\000\u37AE\u37B6\000\u37BE\u37C7\uA5A5\036\000"+
+        "\u37D2\u37DA\u37E2\uA5A5-\000\u37EA\000\u37F2\u37FB\u3806\uA5A5\024\000"+
+        "\u0192\uA5A5\037\000\u019A\uA5A5(\000\u01A2\u01AA\uA5A5\016\000\u01B1"+
+        "\uA5A5\026\000\u380E\uA5A5\011\000\u3816\uA5A5\004\000\u381E\uA5A5\004"+
+        "\000\u3826\uA5A5\004\000\u382E\uA5A5\014\000\u3836\uA5A5\011\000\u383E"+
+        "\000\u3846\u384E\u01B7\u3856\u01C3\uA5A5\007\000\u385E\uA5A5\021\000\u3866"+
+        "\uA5A5\011\000\u386E\uA5A5\004\000\u3876\uA5A5\004\000\u387E\uA5A5\004"+
+        "\000\u3886\uA5A5\014\000\u388E\uA5A5\014\000\u3896\uA5A5\031\000\u389E"+
+        "\u38A6\u38AE\u38B6\u38BE\u38C6\u38CE\u38D6\u38DF\u38EB\u38F6\u38FE\u3906"+
+        "\u390E\u3916\u391E\u3926\u392E\u3936\u393E\u3947\u3953\u395F\u396B\u3976"+
+        "\u397E\u3986\u398E\u3997\u39A3\u39AE\u39B6\u39BE\u39C6\u39CE\u39D6\u39DE"+
+        "\u39E6\u39EE\u39F6\u39FE\u3A06\u3A0E\u3A16\u3A1E\u3A26\u3A2F\u3A3B\u3A46"+
+        "\u3A4E\u3A56\u3A5E\u3A66\u3A6E\u3A76\u3A7E\u3A87\u3A93\u3A9E\u3AA6\u3AAE"+
+        "\u3AB6\u3ABE\u3AC6\u3ACE\u3AD6\u3ADE\u3AE6\u3AEE\u3AF6\u3AFE\u3B06\u3B0E"+
+        "\u3B16\u3B1E\u3B26\u3B2F\u3B3B\u3B47\u3B53\u3B5F\u3B6B\u3B77\u3B83\u3B8E"+
+        "\u3B96\u3B9E\u3BA6\u3BAE\u3BB6\u3BBE\u3BC6\u3BCF\u3BDB\u3BE6\u3BEE\u3BF6"+
+        "\u3BFE\u3C06\u3C0E\u3C17\u3C23\u3C2F\u3C3B\u3C47\u3C53\u3C5E\u3C66\u3C6E"+
+        "\u3C76\u3C7E\u3C86\u3C8E\u3C96\u3C9E\u3CA6\u3CAE\u3CB6\u3CBE\u3CC6\u3CCF"+
+        "\u3CDB\u3CE7\u3CF3\u3CFE\u3D06\u3D0E\u3D16\u3D1E\u3D26\u3D2E\u3D36\u3D3E"+
+        "\u3D46\u3D4E\u3D56\u3D5E\u3D66\u3D6E\u3D76\u3D7E\u3D86\u3D8E\u3D96\u3D9E"+
+        "\u3DA6\u3DAE\u3DB6\u3DBE\u3DC6\u3DCE\u3DD6\u3DDE\u3DE6\u01CE\uBDEE\uA5A5"+
+        "\004\000\u3DF6\u3DFE\u3E06\u3E0E\u3E17\u3E23\u3E2F\u3E3B\u3E47\u3E53\u3E5F"+
+        "\u3E6B\u3E77\u3E83\u3E8F\u3E9B\u3EA7\u3EB3\u3EBF\u3ECB\u3ED7\u3EE3\u3EEF"+
+        "\u3EFB\u3F06\u3F0E\u3F16\u3F1E\u3F26\u3F2E\u3F37\u3F43\u3F4F\u3F5B\u3F67"+
+        "\u3F73\u3F7F\u3F8B\u3F97\u3FA3\u3FAE\u3FB6\u3FBE\u3FC6\u3FCE\u3FD6\u3FDE"+
+        "\u3FE6\u3FEF\u3FFB\u4007\u4013\u401F\u402B\u4037\u4043\u404F\u405B\u4067"+
+        "\u4073\u407F\u408B\u4097\u40A3\u40AF\u40BB\u40C7\u40D3\u40DE\u40E6\u40EE"+
+        "\u40F6\u40FF\u410B\u4117\u4123\u412F\u413B\u4147\u4153\u415F\u416B\u4176"+
+        "\u417E\u4186\u418E\u4196\u419E\u41A6\u41AE\uA5A5\006\000\u41B6\u41BE\u41C7"+
+        "\u41D3\u41DF\u41EB\u41F7\u4203\u420E\u4216\u421F\u422B\u4237\u4243\u424F"+
+        "\u425B\u4266\u426E\u4277\u4283\u428F\u429B\000\000\u42A6\u42AE\u42B7\u42C3"+
+        "\u42CF\u42DB\000\000\u42E6\u42EE\u42F7\u4303\u430F\u431B\u4327\u4333\u433E"+
+        "\u4346\u434F\u435B\u4367\u4373\u437F\u438B\u4396\u439E\u43A7\u43B3\u43BF"+
+        "\u43CB\u43D7\u43E3\u43EE\u43F6\u43FF\u440B\u4417\u4423\u442F\u443B\u4446"+
+        "\u444E\u4457\u4463\u446F\u447B\000\000\u4486\u448E\u4497\u44A3\u44AF\u44BB"+
+        "\000\000\u44C6\u44CE\u44D7\u44E3\u44EF\u44FB\u4507\u4513\000\u451E\000"+
+        "\u4527\000\u4533\000\u453F\u454A\u4552\u455B\u4567\u4573\u457F\u458B\u4597"+
+        "\u45A2\u45AA\u45B3\u45BF\u45CB\u45D7\u45E3\u45EF\u45FA\u4602\u460A\u4612"+
+        "\u461A\u4622\u462A\u4632\u463A\u4642\u464A\u4652\u465A\u4662\000\000\u466B"+
+        "\u4677\u4680\u4694\u46A8\u46BC\u46D0\u46E4\u46FB\u4707\u4710\u4724\u4738"+
+        "\u474C\u4760\u4774\u478B\u4797\u47A0\u47B4\u47C8\u47DC\u47F0\u4804\u481B"+
+        "\u4827\u4830\u4844\u4858\u486C\u4880\u4894\u48AB\u48B7\u48C0\u48D4\u48E8"+
+        "\u48FC\u4910\u4924\u493B\u4947\u4950\u4964\u4978\u498C\u49A0\u49B4\u49CA"+
+        "\u49D2\u49DB\u49E6\u49EF\000\u49FA\u4A03\u4A0E\u4A16\u4A1E\u4A26\u4A2E"+
+        "\u01D6\u4A35\u01D6\u01DE\uCA3A\u4A43\u4A4E\u4A57\000\u4A62\u4A6B\u4A76"+
+        "\u4A7E\u4A86\u4A8E\u4A96\uCA9E\uCAA6\uCAAE\u4AB6\u4ABE\u4AC7\u4AD3\000"+
+        "\000\u4ADE\u4AE7\u4AF2\u4AFA\u4B02\u4B0A\000\uCB12\uCB1A\uCB22\u4B2A\u4B32"+
+        "\u4B3B\u4B47\u4B52\u4B5A\u4B62\u4B6B\u4B76\u4B7E\u4B86\u4B8E\u4B96\uCB9E"+
+        "\uCBA6\u4BAD\000\000\u4BB3\u4BBE\u4BC7\000\u4BD2\u4BDB\u4BE6\u4BEE\u4BF6"+
+        "\u4BFE\u4C06\uCC0D\u01E6\000\uCC11\uCC15\uA5A5\011\005\uA5A5\006\000\u01ED"+
+        "\uA5A5\005\000\u01F2\uA5A5\014\000\u01F9\u01FE\u01FB\uA5A5\010\000\005"+
+        "\000\000\000\u0206\u020F\000\u021A\u0223\uA5A5\004\000\u022E\000\u0236"+
+        "\uA5A5\011\000\u023E\u0246\uA5A5&\000\u024D\000\000\000I\u0251\u0255\u0259"+
+        "\u025D\u0261\u0265\u0269\u026D\u0271\u0275\u0089\u024D9\035!I\u0251\u0255"+
+        "\u0259\u025D\u0261\u0265\u0269\u026D\u0271\u0275\uA5A5\031\000\u027A\uA5A5"+
+        "\027\000\u0283\u028F\u0299\u029E\000\u02A7\u02B3\u02BD\000\u02C2\u02C9"+
+        "\u02CD\u02CD\u02CD\u00E5\u02D1eeu}\000\u00CD\u02D6\000\000\u02DD\u02E1"+
+        "\u0279\u0279\u0279\000\000\u02E6\u02EF\u02FA\000\u0095\000\u4C19\000\u0095"+
+        "\000\u4C1D\u4C22\u0301\u0299\000\u0305\u02F1\u02C5\000\u02E9=\u0309\u030D"+
+        "\u0311\u0315m\uA5A5\031\000\u031B\u0327\u0333\u033F\u034B\u0357\u0363"+
+        "\u036F\u037B\u0387\u0393\u039FBe\u03AA\u03B3\u03BE\u03C1\u03C6\u03CF\u03D8"+
+        "\u03EE\u03F1\u03F6\u03FFu\u0299\u0091\u02E9m\u040A\u0413\u041E\u0421\u0426"+
+        "\u042F\u0438\u044E\u0139\u0456\u045F}\u0289\u00A9\u0469\uA5A5\032\000"+
+        "\u4C2A\u4C32\uA5A5\022\000\u4C3A\uA5A5\036\000\u4C42\u4C4A\u4C52\uA5A5"+
+        "\024\000\u4C5A\uA5A5\004\000\u4C62\000\000\u4C6A\uA5A5\027\000\u4C72\000"+
+        "\u4C7A\uA5A5\005\000\u046E\u0477\000\u0482\u048B\uA5A5\020\000\u4C82\000"+
+        "\000\u4C8A\000\000\u4C92\000\u4C9A\uA5A5\026\000\u4CA2\000\u4CAA\uA5A5"+
+        "\012\000\u4CB2\u4CBA\u4CC2\u4CCA\u4CD2\000\000\u4CDA\u4CE2\000\000\u4CEA"+
+        "\u4CF2\uA5A5\006\000\u4CFA\u4D02\000\000\u4D0A\u4D12\000\000\u4D1A\u4D22"+
+        "\uA5A5\042\000\u4D2A\u4D32\u4D3A\u4D42\uA5A5\020\000\u4D4A\u4D52\u4D5A"+
+        "\u4D62\uA5A5\006\000\u4D6A\u4D72\u4D7A\u4D82\uA5A5\033\000\u4D89\u4D8D"+
+        "\uA5A5\025\0009\035!I\u0251\u0255\u0259\u025D\u0261\u0496\u049E\u04A6"+
+        "\u04AE\u04B6\u04BE\u04C6\u04CE\u04D6\u04DE\u04E6\u04EF\u04FB\u0507\u0513"+
+        "\u051F\u052B\u0537\u0543\u054F\u0558\u056C\u0580\u0594\u05A8\u05BC\u05D0"+
+        "\u05E4\u05F8\u060C\u0620\u0636\u063E\u0646\u064E\u0656\u065E\u0666\u066E"+
+        "\u0676\u067F\u068B\u0697\u06A3\u06AF\u06BB\u06C7\u06D3\u06DF\u06EB\u06F7"+
+        "\u0703\u070F\u071B\u0727\u0733\u073F\u074B\u0757\u0763\u076F\u077B\u0787"+
+        "\u0793\u079F\u07AB\u07B7\u07C3\u07CF\u07DB\u07E7\u07F3\u07FF\u080B\u0817"+
+        "\u0823\u082F\u0839\u0301\u0299\u0091\u02F1\u02C5\u083D\u02CDei\u0841u"+
+        "\u02E9\u00CD\u0845\u02DD\u02E1\u0279\u02E5\u02ED\u0849\u03C1\u084D\u03F1"+
+        "\u0851\u0095\021\u0711\u0289\u00A9\u0305\u0741\u02C9\u00E5mq\u077D}\u0469"+
+        "\u0089=\u07B9\u07C5\u00ED\u008D\u07E9\u02B9\u0421\u00FD\u0139\u0101\u00A1"+
+        "\u024D\uA5A54\000\u0855\uA5A5\023\000\u0859\uA5A5\014\000\u085D\u0861"+
+        "\u0865\u0869\u086D\u0871\u0875\u0879\u087D\u0881\u0885\u0889\u088D\u0891"+
+        "\u0895\u0899\u089D\u08A1\u08A5\u08A9\u08AD\u08B1\u08B5\u08B9\u08BD\u08C1"+
+        "\u08C5\u08C9\u08CD\u08D1\u08D5\u08D9\u08DD\u08E1\u08E5\u08E9\u08ED\u08F1"+
+        "\u08F5\u08F9\u08FD\u0901\u0905\u0909\u090D\u0911\u0915\u0919\u091D\u0921"+
+        "\u0925\u0929\u092D\u0931\u0935\u0939\u093D\u0941\u0945\u0949\u094D\u0951"+
+        "\u0955\u0959\u095D\u0961\u0965\u0969\u096D\u0971\u0975\u0979\u097D\u0981"+
+        "\u0985\u0989\u098D\u0991\u0995\u0999\u099D\u09A1\u09A5\u09A9\u09AD\u09B1"+
+        "\u09B5\u09B9\u09BD\u09C1\u09C5\u09C9\u09CD\u09D1\u09D5\u09D9\u09DD\u09E1"+
+        "\u09E5\u09E9\u09ED\u09F1\u09F5\u09F9\u09FD\u0A01\u0A05\u0A09\u0A0D\u0A11"+
+        "\u0A15\u0A19\u0A1D\u0A21\u0A25\u0A29\u0A2D\u0A31\u0A35\u0A39\u0A3D\u0A41"+
+        "\u0A45\u0A49\u0A4D\u0A51\u0A55\u0A59\u0A5D\u0A61\u0A65\u0A69\u0A6D\u0A71"+
+        "\u0A75\u0A79\u0A7D\u0A81\u0A85\u0A89\u0A8D\u0A91\u0A95\u0A99\u0A9D\u0AA1"+
+        "\u0AA5\u0AA9\u0AAD\u0AB1\u0AB5\u0AB9\u0ABD\u0AC1\u0AC5\u0AC9\u0ACD\u0AD1"+
+        "\u0AD5\u0AD9\u0ADD\u0AE1\u0AE5\u0AE9\u0AED\u0AF1\u0AF5\u0AF9\u0AFD\u0B01"+
+        "\u0B05\u0B09\u0B0D\u0B11\u0B15\u0B19\u0B1D\u0B21\u0B25\u0B29\u0B2D\u0B31"+
+        "\u0B35\u0B39\u0B3D\u0B41\u0B45\u0B49\u0B4D\u0B51\u0B55\u0B59\u0B5D\u0B61"+
+        "\u0B65\u0B69\u0B6D\u0B71\u0B75\u0B79\u0B7D\u0B81\u0B85\u0B89\u0B8D\u0B91"+
+        "\u0B95\u0B99\u0B9D\u0BA1\u0BA5\u0BA9\u0BAD\u0BB1\uA5A5\012\000\005\uA5A5"+
+        "5\000\u0BB5\000\u08B9\u0BB9\u0BBD\uA5A5\021\000\u4D92\000\u4D9A\000\u4DA2"+
+        "\000\u4DAA\000\u4DB2\000\u4DBA\000\u4DC2\000\u4DCA\000\u4DD2\000\u4DDA"+
+        "\000\u4DE2\000\u4DEA\000\000\u4DF2\000\u4DFA\000\u4E02\uA5A5\006\000\u4E0A"+
+        "\u4E12\000\u4E1A\u4E22\000\u4E2A\u4E32\000\u4E3A\u4E42\000\u4E4A\u4E52"+
+        "\uA5A5\026\000\u4E5A\uA5A5\006\000\u0BC2\u0BCA\000\u4E62\uA5A5\015\000"+
+        "\u4E6A\000\u4E72\000\u4E7A\000\u4E82\000\u4E8A\000\u4E92\000\u4E9A\000"+
+        "\u4EA2\000\u4EAA\000\u4EB2\000\u4EBA\000\u4EC2\000\000\u4ECA\000\u4ED2"+
+        "\000\u4EDA\uA5A5\006\000\u4EE2\u4EEA\000\u4EF2\u4EFA\000\u4F02\u4F0A\000"+
+        "\u4F12\u4F1A\000\u4F22\u4F2A\uA5A5\026\000\u4F32\000\000\u4F3A\u4F42\u4F4A"+
+        "\u4F52\000\000\000\u4F5A\uA5A5\022\000\u0BD1\u0BD5\u0BD9\u0BDD\u0BE1\u0BE5"+
+        "\u0BE9\u0BED\u0BF1\u0BF5\u0BF9\u0BFD\u0C01\u0C05\u0C09\u0C0D\u0C11\u0C15"+
+        "\u0C19\u0C1D\u0C21\u0C25\u0C29\u0C2D\u0C31\u0C35\u0C39\u0C3D\u0C41\u0C45"+
+        "\u0C49\u0C4D\u0C51\u0C55\u0C59\u0C5D\u0C61\u0C65\u0C69\u0C6D\u0C71\u0C75"+
+        "\u0C79\u0C7D\u0C81\u0C85\u0C89\u0C8D\u0C91\u0C95\u0C99\u0C9D\u0CA1\u0CA5"+
+        "\u0CA9\u0CAD\u0CB1\u0CB5\u0CB9\u0CBD\u0CC1\u0CC5\u0CC9\u0CCD\u0CD1\u0CD5"+
+        "\u0CD9\u0CDD\u0CE1\u0CE5\u0CE9\u0CED\u0CF1\u0CF5\u0CF9\u0CFD\u0D01\u0D05"+
+        "\u0D09\u0D0D\u0D11\u0D15\u0D19\u0D1D\u0D21\u0D25\u0D29\u0D2D\u0D31\u0D35"+
+        "\u0D39\u0D3D\u0D41\u0D45\000\000\000\u085D\u0875\u0D49\u0D4D\u0D51\u0D55"+
+        "\u0D59\u0D5D\u086D\u0D61\u0D65\u0D69\u0D6D\u087D\u0D73\u0D7F\u0D8B\u0D97"+
+        "\u0DA3\u0DAF\u0DBB\u0DC7\u0DD3\u0DDF\u0DEB\u0DF7\u0E03\u0E0F\u0E18\u0E2C"+
+        "\u0E40\u0E54\u0E68\u0E7C\u0E90\u0EA4\u0EB8\u0ECC\u0EE0\u0EF4\u0F08\u0F1C"+
+        "\u0F30\000\000\000\u0F47\u0F53\u0F5F\u0F6B\u0F77\u0F83\u0F8F\u0F9B\u0FA7"+
+        "\u0FB3\u0FBF\u0FCB\u0FD7\u0FE3\u0FEF\u0FFB\u1007\u1013\u101F\u102B\u1037"+
+        "\u1043\u104F\u105B\u1067\u1073\u107F\u108B\u1097\u10A3\u10AF\u10BB\u10C7"+
+        "\u10D3\u10DF\u10EB\uA5A5\034\000\u0BD1\u0BDD\u0BE9\u0BF1\u0C11\u0C15\u0C21"+
+        "\u0C29\u0C2D\u0C35\u0C39\u0C3D\u0C41\u0C45\u0E1E\u0E32\u0E46\u0E5A\u0E6E"+
+        "\u0E82\u0E96\u0EAA\u0EBE\u0ED2\u0EE6\u0EFA\u0F0E\u0C46\uA5A5\004\000\u085D"+
+        "\u0875\u0D49\u0D4D\u0F79\u0F85\u0F91\u0889\u0FA9\u08B9\u0981\u09B1\u09AD"+
+        "\u0985\u0AF5\u08D9\u0979\u1015\u1021\u102D\u1039\u1045\u1051\u105D\u1069"+
+        "\u10F5\u10F9\u08F1\u10FD\u1101\u1105\u1109\u110D\u10D5\u1111\u1115\u0D51"+
+        "\u0D55\u0D59\u1119\u111D\u1121\u1125\u108D\u1099\u10A5\u10B1\u10BD\u1129"+
+        "\uA5A5\017\000\u112E\u1136\u113E\u1146\u114E\u1156\u115E\u1166\u116E\u1177"+
+        "\u1183\u118F\uA5A5\004\000\u1199\u119D\u11A1\u11A5\u11A9\u11AD\u11B1\u11B5"+
+        "\u11B9\u11BD\u11C1\u11C5\u11C9\u11CD\u11D1\u11D5\u11D9\u11DD\u11E1\u11E5"+
+        "\u11E9\u11ED\u11F1\u11F5\u11F9\u11FD\u1201\u1205\u1209\u120D\u1211\u1215"+
+        "\u1219\u121D\u1221\u1225\u1229\u122D\u1231\u1235\u1239\u123D\u1241\u1245"+
+        "\u1249\u124D\u1251\000\u1254\u126C\u1280\u129B\u12A4\u12BF\u12CB\u12D4"+
+        "\u12F0\u1307\u1313\u131F\u1328\u133C\u1350\u1364\u1378\u138C\u13A0\u13B4"+
+        "\u13D2\u13D8\u13F4\u1410\u13E0\u1428\u1444\u1460\u1477\u1483\u148C\u14A0"+
+        "\u14B4\u14CC\u14E7\u14F3\u14FC\u1513\u151F\u143A\u152A\u1533\u153F\u1548"+
+        "\u1564\u1578\u1590\u15AC\u15C3\u15CF\u15D8\u15F4\u1608\u1627\u1630\u164B"+
+        "\u1654\u166B\u1674\u1688\u16A0\u16B4\u16CC\u16E2\u16E8\u1703\u170F\u1718"+
+        "\u172F\u173B\u1747\u1750\u1768\u177E\u1784\u17A3\u17AC\u13FC\u17C4\u17DB"+
+        "\u17E7\u17F0\u1806\u180C\u1820\u183A\u1840\u141B\u185E\u1866\u186E\u1876"+
+        "\u187E\u1886\u188E\u1896\u189E\u18A6\u18AF\u18BB\u18C7\u18D3\u18DF\u18EB"+
+        "\u18F7\u1903\u190F\u191B\u1927\u1933\u193F\u194B\u1957\u1963\u196E\u1976"+
+        "\u197F\u198A\u1992\uA5A5\004\000\u199A\u19A2\u19AA\u19B2\u19B8\u19CE\u19D6"+
+        "\u19DE\u19E6\u19EE\u19F6\u02FE\u19FE\u1A07\u1A10\u1A26\u1A2E\u1A36\u1A3E"+
+        "\u1A46\u1A4E\u1A56\u1A5F\u1A6B\u1A77\u1A83\u1A8E\u1A96\u1A9E\u1AA6\u1AAE"+
+        "\u1AB6\u1ABE\u1AC6\u1ACE\u1AD6\u1ADF\u1AEB\u1AE2\u1AF7\u1B03\u1B0F\u1B06"+
+        "\u1B1B\u1B27\u1B30\u1966\u1B47\u1B53\u1B5F\u1B6B\u1B74\u1B8C\u1BAA\u008A"+
+        "\u1BB2\u1BBA\u1BC2\u1BCA\u1BD2\u1BDA\u1BE2\u1BEA\u1BF2\u1BFA\u1C02\u1C0A"+
+        "\u1C12\u1C1A\u1C22\u1C2A\u1C30\u1C46\u1C4E\u1C56\u1C5C\u1C73\u1C7E\u1C86"+
+        "\u1C8E\u1C96\u1C9E\u1CA6\u1CAE\u1CB6\u1A92\u1CBE\u1CC7\u1CD2\u1CDA\u1CE3"+
+        "\u1CEF\u1CFA\u1D00\u1D17\u1D22\u1D2A\u1D32\u1D3A\000\000\u1D42\u1D4A\u1D52"+
+        "\u1D5A\u1D62\u1D6A\u1D72\u1D7A\u1D82\u1D8B\u1D97\u1DA3\u1DAF\u1DBB\u1DC7"+
+        "\u1DD3\u1DDF\u1DEB\u1DF7\u1E03\u1E0F\u1E1B\u1E27\u1E33\u1E3F\u1E4B\u1E57"+
+        "\u1E63\u1E6F\u1E7B\u1E87\000\u4F61\u4F65\u4F69\u4F6D\u4F71\u4F75\u4F79"+
+        "\u4F7D\u4F81\u4F85\u4F89\u4F8D\u4F91\u4F95\u4F99\u4F9D\u4FA1\u4FA5\u4FA9"+
+        "\u4FAD\u4FB1\u4FB5\u4FB9\u4FBD\u4FC1\u4FC5\u4FC9\u4FCD\u4FD1\u4FD5\u4FD9"+
+        "\u4FDD\u4FE1\u4FE5\u4FE9\u4FED\u4FF1\u4FF5\u4FF9\u4FFD\u5001\u5005\u5009"+
+        "\u500D\u5011\u5015\u5019\u501D\u5021\u5025\u5029\u502D\u5031\u5035\u5039"+
+        "\u503D\u5041\u5045\u5049\u504D\u5051\u5055\u5059\u505D\u5061\u5065\u5069"+
+        "\u506D\u5071\u5075\u5079\u507D\u5081\u5085\u5089\u508D\u5091\u5095\u5099"+
+        "\u509D\u50A1\u50A5\u50A9\u50AD\u50B1\u50B5\u50B9\u50BD\u50C1\u50C5\u50C9"+
+        "\u50CD\u50D1\u50D5\u50D9\u50DD\u50E1\u50E5\u50E9\u50ED\u50F1\u50F5\u50F9"+
+        "\u50FD\u5101\u5105\u5109\u510D\u5111\u5115\u5119\u511D\u5121\u5125\u5129"+
+        "\u512D\u5131\u5135\u5139\u513D\u5141\u5145\u5149\u514D\u5151\u5155\u5159"+
+        "\u515D\u5161\u5165\u5169\u516D\u5171\u5175\u5179\u517D\u5181\u5185\u5189"+
+        "\u518D\u5191\u5195\u5199\u519D\u51A1\u51A5\u51A9\u51AD\u51B1\u51B5\u51B9"+
+        "\u51BD\u51C1\u51C5\u51C9\u51CD\u51D1\u51D5\u51D9\u51DD\u51E1\u51E5\u51E9"+
+        "\u51ED\u51F1\u51F5\u51F9\u51FD\u5201\u5205\u5209\u520D\u5211\u5215\u5219"+
+        "\u521D\u5221\u5225\u5229\u522D\u5231\u5235\u5239\u523D\u5241\u5245\u5249"+
+        "\u524D\u5251\u5255\u5259\u525D\u5261\u5265\u5269\u526D\u5271\u5275\u5279"+
+        "\u527D\u5281\u5285\u5289\u528D\u5291\u5295\u5299\u529D\u52A1\u52A5\u52A9"+
+        "\u52AD\u52B1\u52B5\u52B9\u52BD\u52C1\u52C5\u52C9\u52CD\u52D1\u52D5\u52D9"+
+        "\u52DD\u52E1\u52E5\u52E9\u52ED\u52F1\u52F5\u52F9\u52FD\u5301\u5305\u5309"+
+        "\u530D\u5311\u5315\u5319\u531D\u5321\u5325\u5329\u532D\u5331\u5335\u5339"+
+        "\u533D\u5341\u5345\u5349\u534D\u5351\u5355\u5359\u535D\u5361\u5365\u5369"+
+        "\u536D\u5371\u5375\u5379\u537D\u5381\u5385\u5389\u538D\u5391\u5395\000"+
+        "\000\u5399\000\u539D\000\000\u53A1\u53A5\u53A9\u53AD\u53B1\u53B5\u53B9"+
+        "\u53BD\u53C1\u53C5\000\u53C9\000\u53CD\000\000\u53D1\u53D5\000\000\000"+
+        "\u53D9\u53DD\u53E1\u53E5\uA5A5\022\000\u1E92\u1E9A\u1EA2\u1E97\u1EAB\u1EB6"+
+        "\u1EB6\uA5A5\014\000\u1EBE\u1EC6\u1ECE\u1ED6\u1EDE\uA5A5\005\000\u53EA"+
+        "\000\u53F2\u1EE5\u0309\u0315\u1EE9\u1EED\u1EF1\u1EF5\u1EF9\u1EFD\u0265"+
+        "\u53FA\u5402\u540B\u5417\u5422\u542A\u5432\u543A\u5442\u544A\u5452\u545A"+
+        "\u5462\000\u546A\u5472\u547A\u5482\u548A\000\u5492\000\u549A\u54A2\000"+
+        "\u54AA\u54B2\000\u54BA\u54C2\u54CA\u54D2\u54DA\u54E2\u54EA\u54F2\u54FA"+
+        "\u1F02\u1F09\u1F09\uA5A5\004\u1F0D\uA5A5\004\u1F11\uA5A5\004\u1F15\uA5A5"+
+        "\004\u1F19\uA5A5\004\u1F1D\uA5A5\004\u1F21\uA5A5\004\u1F25\uA5A5\004\u1F29"+
+        "\uA5A5\004\u1F2D\uA5A5\004\u1F31\uA5A5\004\u1F35\uA5A5\004\u1F39\u1F3D"+
+        "\u1F3D\u1F41\u1F41\u1F45\u1F45\u1F49\u1F49\u1F4D\u1F4D\u1F51\u1F51\uA5A5"+
+        "\004\u1F55\uA5A5\004\u1F59\uA5A5\004\u1F5D\uA5A5\004\u1F61\u1F65\u1F65"+
+        "\uA5A5\004\u1F69\u1F6E\u1F6E\uA5A5\004\u1F75\uA5A5\004\u1F79\u1F7D\u1F7D"+
+        "\u1F82\u1F82\uA5A5!\000\uA5A5\004\u1F89\u0181\u0181\u1F8D\u1F8D\u1F91"+
+        "\u1F91\u0182\u1F95\u1F95\u1F99\u1F99\u1F9D\u1F9D\uA5A5\004\u1FA1\u1FA5"+
+        "\u1FA5\u1FAB\u1FAB\u1FB7\u1FB7\u1FC3\u1FC3\u1FCF\u1FCF\u1FDB\u1FDB\u1FE7"+
+        "\u1FE7\u1FF3\u1FF3\u1FF3\u1FFF\u1FFF\u1FFF\uA5A5\004\u2009\u200F\u201B"+
+        "\u2027\u1FFF\u2033\u203E\u2046\u204E\u2056\u205E\u2066\u206E\u2076\u207E"+
+        "\u2086\u208E\u2096\u209E\u20A6\u20AE\u20B6\u20BE\u20C6\u20C2\u20CE\u20D6"+
+        "\u20DE\u20E6\u20EE\u20F6\u20FE\u2106\u210E\u2116\u211E\u2126\u212E\u2136"+
+        "\u213E\u2146\u214E\u2156\u215E\u2166\u216E\u2176\u217E\u2186\u218E\u2196"+
+        "\u219E\u21A6\u21AE\u21B6\u21BE\u21C6\u21CE\u21D6\u21DE\u21E6\u21EE\u21F6"+
+        "\u21FE\u2206\u220E\u2216\u221E\u2226\u222E\u2236\u20CA\u20D2\u223E\u2246"+
+        "\u202E\u224E\u2256\u225E\u2266\u226E\u2276\u227E\u2286\u228E\u2296\u20BA"+
+        "\u229E\u22A6\u2232\u22AE\u229A\u22B6\u22BE\u22C6\u22CF\u22DB\u22E7\u22F3"+
+        "\u22FF\u230B\u2317\u2323\u2027\u232F\u1FFF\u2033\u233A\u2342\u2056\u234A"+
+        "\u205E\u2066\u2352\u235A\u2086\u2362\u208E\u2096\u236A\u2372\u20A6\u237A"+
+        "\u20AE\u20B6\u2196\u219E\u21B6\u21BE\u21C6\u21E6\u21EE\u21F6\u21FE\u221E"+
+        "\u2226\u222E\u2382\u223E\u238A\u2392\u2266\u239A\u226E\u2276\u22C6\u23A2"+
+        "\u23AA\u2232\u23B2\u22AE\u229A\u200F\u201B\u23BB\u2027\u23C7\u203E\u2046"+
+        "\u204E\u2056\u23D2\u206E\u2076\u207E\u2086\u23DA\u20A6\u20BE\u20C6\u20C2"+
+        "\u20CE\u20D6\u20E6\u20EE\u20F6\u20FE\u2106\u210E\u23E2\u2116\u211E\u2126"+
+        "\u212E\u2136\u213E\u214E\u2156\u215E\u2166\u216E\u2176\u217E\u2186\u218E"+
+        "\u21A6\u21AE\u21CE\u21D6\u21DE\u21E6\u21EE\u2206\u220E\u2216\u221E\u23EA"+
+        "\u2236\u20CA\u20D2\u223E\u224E\u2256\u225E\u2266\u23F2\u227E\u2286\u23FA"+
+        "\u20BA\u229E\u22A6\u2232\u227A\u2027\u23C7\u2056\u23D2\u2086\u23DA\u20A6"+
+        "\u2402\u2106\u240A\u2412\u241A\u21E6\u21EE\u221E\u2266\u23F2\u2232\u227A"+
+        "\u2423\u242F\u243B\u2446\u244E\u2456\u245E\u2466\u246E\u2476\u247E\u2486"+
+        "\u248E\u2496\u2022\u249E\u2016\u24A6\u22AA\u24AE\u24B6\u24BE\u24C6\u24CE"+
+        "\u24D6\u24DE\u2412\u24E6\u24EE\u24F6\u24FE\u2446\u244E\u2456\u245E\u2466"+
+        "\u246E\u2476\u247E\u2486\u248E\u2496\u2022\u249E\u2016\u24A6\u22AA\u24AE"+
+        "\u24B6\u24BE\u24C6\u24CE\u24D6\u24DE\u2412\u24E6\u24EE\u24F6\u24FE\u24CE"+
+        "\u24D6\u24DE\u2412\u240A\u241A\u2146\u20EE\u20F6\u20FE\u24CE\u24D6\u24DE"+
+        "\u2146\u214E\u2506\u2506\uA5A5\022\000\u250F\u251B\u251B\u2527\u2533\u253F"+
+        "\u254B\u2557\u20C7\u20C7\u2563\u256F\u257B\u2587\u2593\u259F\u259F\u25AB"+
+        "\u25B7\u25B7\u25C3\u25C3\u25CF\u25DB\u25DB\u25E7\u25F3\u25F3\u25FF\u25FF"+
+        "\u260B\u2617\u2617\u2623\u2623\u262F\u263B\u2647\u2653\u2653\u265F\u266B"+
+        "\u2677\u2683\u268F\u268F\u269B\u26A7\u26B3\u26BF\u26CB\u26D7\u26D7\u26E3"+
+        "\u26E3\u26EF\u26EF\u26FB\u20CB\u2707\u2713\u2237\u20D3\u271F\000\000\u272B"+
+        "\u2737\u2743\u274F\u275B\u2767\u2767\u2773\u277F\u278B\u2797\u2797\u27A3"+
+        "\u27AF\u27BB\u27C7\u27D3\u27DF\u27EB\u27F7\u2803\u280F\u281B\u2827\u2833"+
+        "\u283F\u284B\u2857\u229F\u2863\u286F\u287B\u2887\u2893\u269B\u26B3\u289F"+
+        "\u28AB\u28B7\u28C3\u28CF\u28DB\u28CF\u28B7\u28E7\u28F3\u28FF\u290B\u2917"+
+        "\u28DB\u2647\u25CF\u2923\u292F\uA5A5(\000\u293B\u2947\u2950\u2964\u2978"+
+        "\u298C\u29A0\u29B4\u29C8\u29DF\u29E8\u2A34\uA5A5\024\000\u01FA\u2A59\u2A5D"+
+        "\u2A61\u2A61\u0271\u0275\u2A65\u2A69\u2A6D\u2A71\u2A75\u2A79\u2A7D\u2A81"+
+        "\u2A85\u2A89\u2A8D\u2A91\u2A95\u2A99\uA5A5\004\000\uA5A5\004\u0236\u2A61"+
+        "\u2A61\u2A61\u2A9D\u2AA1\u01F9\000\u2AA5\u2AA9\u023D\u022D\u2A59\u0271"+
+        "\u0275\u2A65\u2A69\u2A6D\u2A71\u2AAD\u2AB1\u2AB5\u0265\u2AB9\u2ABD\u2AC1"+
+        "\u026D\000\u2AC5\u2AC9\u2ACD\u2AD1\uA5A5\004\000\u2AD6\u2ADE\u22CE\000"+
+        "\u22DA\000\u22E6\u2422\u22F2\u242E\u22FE\u243A\u230A\u2AE6\u2AEE\u2AF6"+
+        "\u2AFD\u2B02\u2B02\u2B0A\u2B0A\u2B12\u2B12\u2B1A\u2B1A\uA5A5\004\u1FAA"+
+        "\u0171\u0171\uA5A5\004\u203D\u2B21\u2B21\uA5A5\004\u206D\uA5A5\004\u209D"+
+        "\uA5A5\004\u2015\uA5A5\004\u2021\uA5A5\004\u2051\u2985\u2985\u22B5\u22B5"+
+        "\u22BD\u22BD\u2329\u2329\uA5A5\004\u20ED\uA5A5\004\u2411\uA5A5\004\u210D"+
+        "\uA5A5\004\u211D\uA5A5\004\u213D\uA5A5\004\u214D\uA5A5\004\u2155\uA5A5"+
+        "\004\u2165\uA5A5\004\u2175\uA5A5\004\u21A5\uA5A5\004\u21C5\uA5A5\004\u21E9"+
+        "\uA5A5\004\u202D\uA5A5\004\u224D\uA5A5\004\u227D\u0179\u0179\u1FA5\u1FA5"+
+        "\uA5A5\004\u0189\u2B27\u2B27\u2B33\u2B33\u2B3F\u2B3F\u2A46\u2A46\uA5A5"+
+        "\004\000\u022D\u2B49\u2AAD\u2AC9\u2ACD\u2AB1\u2B4D\u0271\u0275\u2AB5\u0265"+
+        "\u2A9D\u2AB9\u01F9\u0285\u024D9\035!I\u0251\u0255\u0259\u025D\u0261\u2AA9"+
+        "\u2AA5\u2ABD\u026D\u2AC1\u023D\u2AD1\u0839\u0301\u0299\u0091\u02F1\u02C5"+
+        "\u083D\u02CDei\u0841u\u02E9\u00CD\u0845\u02DD\u02E1\u0279\u02E5\u02ED"+
+        "\u0849\u03C1\u084D\u03F1\u0851\u0095\u2B51\u2AC5\u2B55\u2B59\u2A61\u2B5D"+
+        "\021\u0711\u0289\u00A9\u0305\u0741\u02C9\u00E5mq\u077D}\u0469\u0089=\u07B9"+
+        "\u07C5\u00ED\u008D\u07E9\u02B9\u0421\u00FD\u0139\u0101\u00A1\u2A65\u2B61"+
+        "\u2A69\u2B65\000\000\u2B69\u2A8D\u2A91\u2AA1\u2B6D\u1251\u1279\u15F9\u2B71"+
+        "\u1619\u12CD\u2B75\u13A5\u175D\u1331\u1261\u1199\u119D\u11A1\u11A5\u11A9"+
+        "\u11AD\u11B1\u11B5\u11B9\u11BD\u11C1\u11C5\u11C9\u11CD\u11D1\u11D5\u11D9"+
+        "\u11DD\u11E1\u11E5\u11E9\u11ED\u11F1\u11F5\u11F9\u11FD\u1201\u1205\u1209"+
+        "\u120D\u1211\u1215\u1219\u121D\u1221\u1225\u1229\u122D\u1231\u1235\u1239"+
+        "\u123D\u1241\u1245\u1285\u0BC5\u0BCD\u0C9D\u0BD1\u0BD5\u0BD9\u0BDD\u0BE1"+
+        "\u0BE5\u0BE9\u0BED\u0BF1\u0BF5\u0BF9\u0BFD\u0C01\u0C05\u0C09\u0C0D\u0C11"+
+        "\u0C15\u0C19\u0C1D\u0C21\u0C25\u0C29\u0C2D\u0C31\u0C35\u0C39\u0C3D\u0C41"+
+        "\u0C45\000\000\000\u0C49\u0C4D\u0C51\u0C55\u0C59\u0C5D\000\000\u0C61\u0C65"+
+        "\u0C69\u0C6D\u0C71\u0C75\000\000\u0C79\u0C7D\u0C81\u0C85\u0C89\u0C8D\000"+
+        "\000\u0C91\u0C95\u0C99\000\000\000\u2B79\u2B7D\u2B81\026\u2B85\u2B89\u2B8D"+
+        "\000\u2B91\u2B95\u2B99\u2B9D\u2BA1\u2BA5\u2BA9\uA5A5\021\000"
+        );
+
+    static final String contents = 
+        "\uFFFF  \u0308a \u030423 \u0301\u03BC \u03271o1\u204441\u204423\u2044"+
+        "4IJijL\u00B7l\u00B7\u02BCnsDZ\u030CDz\u030Cdz\u030CLJLjljNJNjnjh\u0266"+
+        "r\u0279\u027B\u0281wy \u0306 \u0307 \u030A \u0328 \u0303 \u030B\u0263"+
+        "x\u0295 \u0345\u03B2\u03B8\u03A5\u03C6\u03C0\u03BA\u03C1\u03C2\u0565\u0582"+
+        "\u0627\u0674\u0648\u0674\u06C7\u0674\u064A\u0674\u0E4D\u0E32\u0ECD\u0EB2"+
+        "\u0EAB\u0E99\u0EAB\u0EA1\u0F0B\u0FB2\u0F71\u0F80\u0FB3\u0F71\u0F80a\u02BE"+
+        " \u0313 \u0342 \u0314\u2010 \u0333...\u2032\u2032\u2032\u2032\u2032\u2035"+
+        "\u2035\u2035\u2035\u2035!! \u0305?!!?056789+\u2212=()Rsa/ca/sC\u00B0C"+
+        "c/oc/u\u0190\u00B0FgH\u0127NoPQSMTELTMBe\u05D0\u05D1\u05D2\u05D31\u2044"+
+        "32\u204431\u204452\u204453\u204454\u204451\u204465\u204461\u204483\u2044"+
+        "85\u204487\u20448IIIIIIVVIVIIVIII\000IXXIXIIiiiiiivviviiviii\000ixxix"+
+        "iim\u222B\u222B\u222B\u222B\u222B\u222E\u222E\u222E\u222E\u222E101112"+
+        "1314151617181920(1)(2)(3)(4)(5)(6)(7)(8)(9)(10)\000(11)\000(12)\000(1"+
+        "3)\000(14)\000(15)\000(16)\000(17)\000(18)\000(19)\000(20)\0001.2.3.4"+
+        ".5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.(a)(b)(c)(d)(e)(f)(g)(h)("+
+        "i)(j)(k)(l)(m)(n)(o)(p)(q)(r)(s)(t)(u)(v)(w)(x)(y)(z)AGKOUWY\u6BCD\u9F9F"+
+        "\u4E00\u4E28\u4E36\u4E3F\u4E59\u4E85\u4E8C\u4EA0\u4EBA\u513F\u5165\u516B"+
+        "\u5182\u5196\u51AB\u51E0\u51F5\u5200\u529B\u52F9\u5315\u531A\u5338\u5341"+
+        "\u535C\u5369\u5382\u53B6\u53C8\u53E3\u56D7\u571F\u58EB\u5902\u590A\u5915"+
+        "\u5927\u5973\u5B50\u5B80\u5BF8\u5C0F\u5C22\u5C38\u5C6E\u5C71\u5DDB\u5DE5"+
+        "\u5DF1\u5DFE\u5E72\u5E7A\u5E7F\u5EF4\u5EFE\u5F0B\u5F13\u5F50\u5F61\u5F73"+
+        "\u5FC3\u6208\u6236\u624B\u652F\u6534\u6587\u6597\u65A4\u65B9\u65E0\u65E5"+
+        "\u66F0\u6708\u6728\u6B20\u6B62\u6B79\u6BB3\u6BCB\u6BD4\u6BDB\u6C0F\u6C14"+
+        "\u6C34\u706B\u722A\u7236\u723B\u723F\u7247\u7259\u725B\u72AC\u7384\u7389"+
+        "\u74DC\u74E6\u7518\u751F\u7528\u7530\u758B\u7592\u7676\u767D\u76AE\u76BF"+
+        "\u76EE\u77DB\u77E2\u77F3\u793A\u79B8\u79BE\u7A74\u7ACB\u7AF9\u7C73\u7CF8"+
+        "\u7F36\u7F51\u7F8A\u7FBD\u8001\u800C\u8012\u8033\u807F\u8089\u81E3\u81EA"+
+        "\u81F3\u81FC\u820C\u821B\u821F\u826E\u8272\u8278\u864D\u866B\u8840\u884C"+
+        "\u8863\u897E\u898B\u89D2\u8A00\u8C37\u8C46\u8C55\u8C78\u8C9D\u8D64\u8D70"+
+        "\u8DB3\u8EAB\u8ECA\u8F9B\u8FB0\u8FB5\u9091\u9149\u91C6\u91CC\u91D1\u9577"+
+        "\u9580\u961C\u96B6\u96B9\u96E8\u9751\u975E\u9762\u9769\u97CB\u97ED\u97F3"+
+        "\u9801\u98A8\u98DB\u98DF\u9996\u9999\u99AC\u9AA8\u9AD8\u9ADF\u9B25\u9B2F"+
+        "\u9B32\u9B3C\u9B5A\u9CE5\u9E75\u9E7F\u9EA5\u9EBB\u9EC3\u9ECD\u9ED1\u9EF9"+
+        "\u9EFD\u9F0E\u9F13\u9F20\u9F3B\u9F4A\u9F52\u9F8D\u9F9C\u9FA0\u3012\u5344"+
+        "\u5345 \u3099 \u309A\u1100\u1101\u11AA\u1102\u11AC\u11AD\u1103\u1104\u1105"+
+        "\u11B0\u11B1\u11B2\u11B3\u11B4\u11B5\u111A\u1106\u1107\u1108\u1121\u1109"+
+        "\u110A\u110B\u110C\u110D\u110E\u110F\u1110\u1111\u1112\u1161\u1162\u1163"+
+        "\u1164\u1165\u1166\u1167\u1168\u1169\u116A\u116B\u116C\u116D\u116E\u116F"+
+        "\u1170\u1171\u1172\u1173\u1174\u1175\u1160\u1114\u1115\u11C7\u11C8\u11CC"+
+        "\u11CE\u11D3\u11D7\u11D9\u111C\u11DD\u11DF\u111D\u111E\u1120\u1122\u1123"+
+        "\u1127\u1129\u112B\u112C\u112D\u112E\u112F\u1132\u1136\u1140\u1147\u114C"+
+        "\u11F1\u11F2\u1157\u1158\u1159\u1184\u1185\u1188\u1191\u1192\u1194\u119E"+
+        "\u11A1\u4E09\u56DB\u4E0A\u4E2D\u4E0B\u7532\u4E19\u4E01\u5929\u5730(\u1100"+
+        ")(\u1102)(\u1103)(\u1105)(\u1106)(\u1107)(\u1109)(\u110B)(\u110C)(\u110E"+
+        ")(\u110F)(\u1110)(\u1111)(\u1112)(\u1100\u1161)\000(\u1102\u1161)\000"+
+        "(\u1103\u1161)\000(\u1105\u1161)\000(\u1106\u1161)\000(\u1107\u1161)\000"+
+        "(\u1109\u1161)\000(\u110B\u1161)\000(\u110C\u1161)\000(\u110E\u1161)\000"+
+        "(\u110F\u1161)\000(\u1110\u1161)\000(\u1111\u1161)\000(\u1112\u1161)\000"+
+        "(\u110C\u116E)\000(\u4E00)(\u4E8C)(\u4E09)(\u56DB)(\u4E94)(\u516D)(\u4E03"+
+        ")(\u516B)(\u4E5D)(\u5341)(\u6708)(\u706B)(\u6C34)(\u6728)(\u91D1)(\u571F"+
+        ")(\u65E5)(\u682A)(\u6709)(\u793E)(\u540D)(\u7279)(\u8CA1)(\u795D)(\u52B4"+
+        ")(\u4EE3)(\u547C)(\u5B66)(\u76E3)(\u4F01)(\u8CC7)(\u5354)(\u796D)(\u4F11"+
+        ")(\u81EA)(\u81F3)\u79D8\u7537\u9069\u512A\u5370\u6CE8\u9805\u5199\u6B63"+
+        "\u5DE6\u53F3\u533B\u5B97\u591C1\u67082\u67083\u67084\u67085\u67086\u6708"+
+        "7\u67088\u67089\u670810\u670811\u670812\u6708\u30A2\u30A4\u30A6\u30A8"+
+        "\u30AA\u30AB\u30AD\u30AF\u30B1\u30B3\u30B5\u30B7\u30B9\u30BB\u30BD\u30BF"+
+        "\u30C1\u30C4\u30C6\u30C8\u30CA\u30CB\u30CC\u30CD\u30CE\u30CF\u30D2\u30D5"+
+        "\u30D8\u30DB\u30DE\u30DF\u30E0\u30E1\u30E2\u30E4\u30E6\u30E8\u30E9\u30EA"+
+        "\u30EB\u30EC\u30ED\u30EF\u30F0\u30F1\u30F2\u30A2\u30CF\u309A\u30FC\u30C8"+
+        "\000\u30A2\u30EB\u30D5\u30A1\000\u30A2\u30F3\u30D8\u309A\u30A2\000\u30A2"+
+        "\u30FC\u30EB\u30A4\u30CB\u30F3\u30AF\u3099\000\u30A4\u30F3\u30C1\u30A6"+
+        "\u30A9\u30F3\u30A8\u30B9\u30AF\u30FC\u30C8\u3099\000\u30A8\u30FC\u30AB"+
+        "\u30FC\000\u30AA\u30F3\u30B9\u30AA\u30FC\u30E0\u30AB\u30A4\u30EA\u30AB"+
+        "\u30E9\u30C3\u30C8\000\u30AB\u30ED\u30EA\u30FC\000\u30AB\u3099\u30ED\u30F3"+
+        "\000\u30AB\u3099\u30F3\u30DE\000\u30AD\u3099\u30AB\u3099\000\u30AD\u3099"+
+        "\u30CB\u30FC\000\u30AD\u30E5\u30EA\u30FC\000\u30AD\u3099\u30EB\u30BF\u3099"+
+        "\u30FC\000\u30AD\u30ED\u30AD\u30ED\u30AF\u3099\u30E9\u30E0\000\u30AD\u30ED"+
+        "\u30E1\u30FC\u30C8\u30EB\000\u30AD\u30ED\u30EF\u30C3\u30C8\000\u30AF\u3099"+
+        "\u30E9\u30E0\u30C8\u30F3\000\u30AF\u30EB\u30BB\u3099\u30A4\u30ED\000\u30AF"+
+        "\u30ED\u30FC\u30CD\000\u30B1\u30FC\u30B9\u30B3\u30EB\u30CA\u30B3\u30FC"+
+        "\u30DB\u309A\000\u30B5\u30A4\u30AF\u30EB\000\u30B5\u30F3\u30C1\u30FC\u30E0"+
+        "\000\u30B7\u30EA\u30F3\u30AF\u3099\000\u30BB\u30F3\u30C1\u30BB\u30F3\u30C8"+
+        "\u30BF\u3099\u30FC\u30B9\000\u30C6\u3099\u30B7\u30C8\u3099\u30EB\u30CA"+
+        "\u30CE\u30CE\u30C3\u30C8\u30CF\u30A4\u30C4\u30CF\u309A\u30FC\u30BB\u30F3"+
+        "\u30C8\000\u30CF\u309A\u30FC\u30C4\000\u30CF\u3099\u30FC\u30EC\u30EB\000"+
+        "\u30D2\u309A\u30A2\u30B9\u30C8\u30EB\000\u30D2\u309A\u30AF\u30EB\000\u30D2"+
+        "\u309A\u30B3\u30D2\u3099\u30EB\u30D5\u30A1\u30E9\u30C3\u30C8\u3099\000"+
+        "\u30D5\u30A3\u30FC\u30C8\000\u30D5\u3099\u30C3\u30B7\u30A7\u30EB\000\u30D5"+
+        "\u30E9\u30F3\u30D8\u30AF\u30BF\u30FC\u30EB\000\u30D8\u309A\u30BD\u30D8"+
+        "\u309A\u30CB\u30D2\000\u30D8\u30EB\u30C4\u30D8\u309A\u30F3\u30B9\000\u30D8"+
+        "\u309A\u30FC\u30B7\u3099\000\u30D8\u3099\u30FC\u30BF\000\u30DB\u309A\u30A4"+
+        "\u30F3\u30C8\000\u30DB\u3099\u30EB\u30C8\000\u30DB\u30F3\u30DB\u309A\u30F3"+
+        "\u30C8\u3099\000\u30DB\u30FC\u30EB\u30DB\u30FC\u30F3\u30DE\u30A4\u30AF"+
+        "\u30ED\000\u30DE\u30A4\u30EB\u30DE\u30C3\u30CF\u30DE\u30EB\u30AF\u30DE"+
+        "\u30F3\u30B7\u30E7\u30F3\000\u30DF\u30AF\u30ED\u30F3\000\u30DF\u30EA\u30DF"+
+        "\u30EA\u30CF\u3099\u30FC\u30EB\000\u30E1\u30AB\u3099\u30E1\u30AB\u3099"+
+        "\u30C8\u30F3\000\u30E4\u30FC\u30C8\u3099\000\u30E4\u30FC\u30EB\u30E6\u30A2"+
+        "\u30F3\u30EA\u30C3\u30C8\u30EB\000\u30EA\u30E9\u30EB\u30D2\u309A\u30FC"+
+        "\000\u30EB\u30FC\u30D5\u3099\u30EB\000\u30EC\u30E0\u30EC\u30F3\u30C8\u30B1"+
+        "\u3099\u30F3\0000\u70B91\u70B92\u70B93\u70B94\u70B95\u70B96\u70B97\u70B9"+
+        "8\u70B99\u70B910\u70B911\u70B912\u70B913\u70B914\u70B915\u70B916\u70B9"+
+        "17\u70B918\u70B919\u70B920\u70B921\u70B922\u70B923\u70B924\u70B9hPada"+
+        "AUbaroVpc\u5E73\u6210\u662D\u548C\u5927\u6B63\u660E\u6CBB\u682A\u5F0F"+
+        "\u4F1A\u793E\000pAnA\u03BCAmAkAKBGBcalkcal\000pFnF\u03BCF\u03BCgmgkgH"+
+        "zkHzMHzGHzTHz\u03BClmldlklfmnm\u03BCmmmcmkmmm2cm2km2mm3cm3km3m\u2215s"+
+        "m\u2215s2\000kPaMPaGParadrad\u2215s\000rad\u2215s2\000ps\u03BCsmspVnV"+
+        "\u03BCVmVkVMVpWnW\u03BCWmWkWMWk\u03A9M\u03A9a.m.\000BqcccdC\u2215kg\000"+
+        "Co.dBGyhaHPinKKKMktlnloglxmbmilmolPHp.m.\000PPMPRsrSvWb1\u65E52\u65E5"+
+        "3\u65E54\u65E55\u65E56\u65E57\u65E58\u65E59\u65E510\u65E511\u65E512\u65E5"+
+        "13\u65E514\u65E515\u65E516\u65E517\u65E518\u65E519\u65E520\u65E521\u65E5"+
+        "22\u65E523\u65E524\u65E525\u65E526\u65E527\u65E528\u65E529\u65E530\u65E5"+
+        "31\u65E5fffiflfflst\u0574\u0576\u0574\u0565\u0574\u056B\u057E\u0576\u0574"+
+        "\u056D\u05E2\u05D4\u05DB\u05DC\u05DD\u05E8\u05EA\u05D0\u05DC\u0671\u067B"+
+        "\u067E\u0680\u067A\u067F\u0679\u06A4\u06A6\u0684\u0683\u0686\u0687\u068D"+
+        "\u068C\u068E\u0688\u0698\u0691\u06A9\u06AF\u06B3\u06B1\u06BA\u06BB\u06D5"+
+        "\u0654\u06C1\u06BE\u06D2\u06D2\u0654\u06AD\u06C6\u06C8\u06CB\u06C5\u06C9"+
+        "\u06D0\u0649\u064A\u0654\u0627\u064A\u0654\u06D5\u064A\u0654\u0648\u064A"+
+        "\u0654\u06C7\u064A\u0654\u06C6\u064A\u0654\u06C8\u064A\u0654\u06D0\u064A"+
+        "\u0654\u0649\u06CC\u064A\u0654\u062C\u064A\u0654\u062D\u064A\u0654\u0645"+
+        "\u064A\u0654\u064A\u0628\u062C\u0628\u062D\u0628\u062E\u0628\u0645\u0628"+
+        "\u0649\u0628\u064A\u062A\u062C\u062A\u062D\u062A\u062E\u062A\u0645\u062A"+
+        "\u0649\u062A\u064A\u062B\u062C\u062B\u0645\u062B\u0649\u062B\u064A\u062C"+
+        "\u062D\u062C\u0645\u062D\u0645\u062E\u062C\u062E\u062D\u062E\u0645\u0633"+
+        "\u062C\u0633\u062D\u0633\u062E\u0633\u0645\u0635\u062D\u0635\u0645\u0636"+
+        "\u062C\u0636\u062D\u0636\u062E\u0636\u0645\u0637\u062D\u0637\u0645\u0638"+
+        "\u0645\u0639\u062C\u0639\u0645\u063A\u062C\u063A\u0645\u0641\u062C\u0641"+
+        "\u062D\u0641\u062E\u0641\u0645\u0641\u0649\u0641\u064A\u0642\u062D\u0642"+
+        "\u0645\u0642\u0649\u0642\u064A\u0643\u0627\u0643\u062C\u0643\u062D\u0643"+
+        "\u062E\u0643\u0644\u0643\u0645\u0643\u0649\u0643\u064A\u0644\u062C\u0644"+
+        "\u062D\u0644\u062E\u0644\u0645\u0644\u0649\u0644\u064A\u0645\u062C\u0645"+
+        "\u0645\u0645\u0649\u0646\u062C\u0646\u062D\u0646\u062E\u0646\u0645\u0646"+
+        "\u0649\u0646\u064A\u0647\u062C\u0647\u0645\u0647\u0649\u0647\u064A\u064A"+
+        "\u062D\u064A\u062E\u064A\u0649\u0630\u0670\u0631\u0670\u0649\u0670 \u064C"+
+        "\u0651 \u064D\u0651 \u064E\u0651 \u064F\u0651 \u0650\u0651 \u0651\u0670"+
+        "\u064A\u0654\u0631\u064A\u0654\u0632\u064A\u0654\u0646\u0628\u0631\u0628"+
+        "\u0632\u0628\u0646\u062A\u0631\u062A\u0632\u062A\u0646\u062B\u0631\u062B"+
+        "\u0632\u062B\u0646\u0645\u0627\u0646\u0631\u0646\u0632\u0646\u0646\u064A"+
+        "\u0631\u064A\u0632\u064A\u0646\u064A\u0654\u062E\u064A\u0654\u0647\u0628"+
+        "\u0647\u062A\u0647\u0635\u062E\u0644\u0647\u0646\u0647\u0647\u0670\u062B"+
+        "\u0647\u0633\u0647\u0634\u0645\u0634\u0647\u0640\u064E\u0651\u0640\u064F"+
+        "\u0651\u0640\u0650\u0651\u0637\u0649\u0637\u064A\u0639\u0649\u0639\u064A"+
+        "\u063A\u0649\u063A\u064A\u0633\u0649\u0633\u064A\u0634\u0649\u0634\u064A"+
+        "\u062D\u0649\u062C\u0649\u062E\u0649\u0635\u0649\u0635\u064A\u0636\u0649"+
+        "\u0636\u064A\u0634\u062C\u0634\u062D\u0634\u062E\u0634\u0631\u0633\u0631"+
+        "\u0635\u0631\u0636\u0631\u0627\u064B\u062A\u062C\u0645\u062A\u062D\u062C"+
+        "\u062A\u062D\u0645\u062A\u062E\u0645\u062A\u0645\u062C\u062A\u0645\u062D"+
+        "\u062A\u0645\u062E\u062D\u0645\u064A\u062D\u0645\u0649\u0633\u062D\u062C"+
+        "\u0633\u062C\u062D\u0633\u062C\u0649\u0633\u0645\u062D\u0633\u0645\u062C"+
+        "\u0633\u0645\u0645\u0635\u062D\u062D\u0635\u0645\u0645\u0634\u062D\u0645"+
+        "\u0634\u062C\u064A\u0634\u0645\u062E\u0634\u0645\u0645\u0636\u062D\u0649"+
+        "\u0636\u062E\u0645\u0637\u0645\u062D\u0637\u0645\u0645\u0637\u0645\u064A"+
+        "\u0639\u062C\u0645\u0639\u0645\u0645\u0639\u0645\u0649\u063A\u0645\u0645"+
+        "\u063A\u0645\u064A\u063A\u0645\u0649\u0641\u062E\u0645\u0642\u0645\u062D"+
+        "\u0642\u0645\u0645\u0644\u062D\u0645\u0644\u062D\u064A\u0644\u062D\u0649"+
+        "\u0644\u062C\u062C\u0644\u062E\u0645\u0644\u0645\u062D\u0645\u062D\u062C"+
+        "\u0645\u062D\u064A\u0645\u062C\u062D\u0645\u062E\u0645\u0645\u062C\u062E"+
+        "\u0647\u0645\u062C\u0647\u0645\u0645\u0646\u062D\u0645\u0646\u062D\u0649"+
+        "\u0646\u062C\u0645\u0646\u062C\u0649\u0646\u0645\u064A\u0646\u0645\u0649"+
+        "\u064A\u0645\u0645\u0628\u062E\u064A\u062A\u062C\u064A\u062A\u062C\u0649"+
+        "\u062A\u062E\u064A\u062A\u062E\u0649\u062A\u0645\u064A\u062A\u0645\u0649"+
+        "\u062C\u0645\u064A\u062C\u062D\u0649\u062C\u0645\u0649\u0633\u062E\u0649"+
+        "\u0635\u062D\u064A\u0634\u062D\u064A\u0636\u062D\u064A\u0644\u062C\u064A"+
+        "\u0644\u0645\u064A\u064A\u062C\u064A\u064A\u0645\u064A\u0645\u0645\u064A"+
+        "\u0642\u0645\u064A\u0646\u062D\u064A\u0639\u0645\u064A\u0643\u0645\u064A"+
+        "\u0646\u062C\u062D\u0645\u062E\u064A\u0644\u062C\u0645\u0643\u0645\u0645"+
+        "\u062C\u062D\u064A\u062D\u062C\u064A\u0645\u062C\u064A\u0641\u0645\u064A"+
+        "\u0628\u062D\u064A\u0633\u062E\u064A\u0646\u062C\u064A\u0635\u0644\u06D2"+
+        "\u0642\u0644\u06D2\u0627\u0644\u0644\u0647\000\u0627\u0643\u0628\u0631"+
+        "\000\u0645\u062D\u0645\u062F\000\u0635\u0644\u0639\u0645\000\u0631\u0633"+
+        "\u0648\u0644\000\u0639\u0644\u064A\u0647\000\u0648\u0633\u0644\u0645\000"+
+        "\u0635\u0644\u0649\u0635\u0644\u0649 \u0627\u0644\u0644\u0647 \u0639\u0644"+
+        "\u064A\u0647 \u0648\u0633\u0644\u0645\000\u062C\u0644 \u062C\u0644\u0627"+
+        "\u0644\u0647\000\u2014\u2013_{}\u3014\u3015\u3010\u3011\u300A\u300B\u3008"+
+        "\u3009\u300C\u300D\u300E\u300F,\u3001;:#&*-<>\134$%@ \u064B\u0640\u064B"+
+        "\u0640\u0651 \u0652\u0640\u0652\u0621\u0627\u0653\u0627\u0654\u0648\u0654"+
+        "\u0627\u0655\u0629\u0644\u0627\u0653\u0644\u0627\u0654\u0644\u0627\u0655"+
+        "\042'[]^`|~\u3002\u30FB\u30A5\u30E3\u00A2\u00A3\u00AC\u00A6\u00A5\u20A9"+
+        "\u2502\u2190\u2191\u2192\u2193\u25A0\u25CBA\u0300A\u0301A\u0302A\u0303"+
+        "A\u0308A\u030AC\u0327E\u0300E\u0301E\u0302E\u0308I\u0300I\u0301I\u0302"+
+        "I\u0308N\u0303O\u0300O\u0301O\u0302O\u0303O\u0308U\u0300U\u0301U\u0302"+
+        "U\u0308Y\u0301a\u0300a\u0301a\u0302a\u0303a\u0308a\u030Ac\u0327e\u0300"+
+        "e\u0301e\u0302e\u0308i\u0300i\u0301i\u0302i\u0308n\u0303o\u0300o\u0301"+
+        "o\u0302o\u0303o\u0308u\u0300u\u0301u\u0302u\u0308y\u0301y\u0308A\u0304"+
+        "a\u0304A\u0306a\u0306A\u0328a\u0328C\u0301c\u0301C\u0302c\u0302C\u0307"+
+        "c\u0307C\u030Cc\u030CD\u030Cd\u030CE\u0304e\u0304E\u0306e\u0306E\u0307"+
+        "e\u0307E\u0328e\u0328E\u030Ce\u030CG\u0302g\u0302G\u0306g\u0306G\u0307"+
+        "g\u0307G\u0327g\u0327H\u0302h\u0302I\u0303i\u0303I\u0304i\u0304I\u0306"+
+        "i\u0306I\u0328i\u0328I\u0307J\u0302j\u0302K\u0327k\u0327L\u0301l\u0301"+
+        "L\u0327l\u0327L\u030Cl\u030CN\u0301n\u0301N\u0327n\u0327N\u030Cn\u030C"+
+        "O\u0304o\u0304O\u0306o\u0306O\u030Bo\u030BR\u0301r\u0301R\u0327r\u0327"+
+        "R\u030Cr\u030CS\u0301s\u0301S\u0302s\u0302S\u0327s\u0327S\u030Cs\u030C"+
+        "T\u0327t\u0327T\u030Ct\u030CU\u0303u\u0303U\u0304u\u0304U\u0306u\u0306"+
+        "U\u030Au\u030AU\u030Bu\u030BU\u0328u\u0328W\u0302w\u0302Y\u0302y\u0302"+
+        "Y\u0308Z\u0301z\u0301Z\u0307z\u0307Z\u030Cz\u030CO\u031Bo\u031BU\u031B"+
+        "u\u031BA\u030Ca\u030CI\u030Ci\u030CO\u030Co\u030CU\u030Cu\u030CU\u0308"+
+        "\u0304u\u0308\u0304U\u0308\u0301u\u0308\u0301U\u0308\u030Cu\u0308\u030C"+
+        "U\u0308\u0300u\u0308\u0300A\u0308\u0304a\u0308\u0304A\u0307\u0304a\u0307"+
+        "\u0304\u00C6\u0304\u00E6\u0304G\u030Cg\u030CK\u030Ck\u030CO\u0328o\u0328"+
+        "O\u0328\u0304o\u0328\u0304\u01B7\u030C\u0292\u030Cj\u030CG\u0301g\u0301"+
+        "N\u0300n\u0300A\u030A\u0301a\u030A\u0301\u00C6\u0301\u00E6\u0301\u00D8"+
+        "\u0301\u00F8\u0301A\u030Fa\u030FA\u0311a\u0311E\u030Fe\u030FE\u0311e\u0311"+
+        "I\u030Fi\u030FI\u0311i\u0311O\u030Fo\u030FO\u0311o\u0311R\u030Fr\u030F"+
+        "R\u0311r\u0311U\u030Fu\u030FU\u0311u\u0311S\u0326s\u0326T\u0326t\u0326"+
+        "H\u030Ch\u030CA\u0307a\u0307E\u0327e\u0327O\u0308\u0304o\u0308\u0304O"+
+        "\u0303\u0304o\u0303\u0304O\u0307o\u0307O\u0307\u0304o\u0307\u0304Y\u0304"+
+        "y\u0304\u0300\u0301\u0313\u0308\u0301\u02B9;\u00A8\u0301\u0391\u0301\u00B7"+
+        "\u0395\u0301\u0397\u0301\u0399\u0301\u039F\u0301\u03A5\u0301\u03A9\u0301"+
+        "\u03B9\u0308\u0301\u0399\u0308\u03A5\u0308\u03B1\u0301\u03B5\u0301\u03B7"+
+        "\u0301\u03B9\u0301\u03C5\u0308\u0301\u03B9\u0308\u03C5\u0308\u03BF\u0301"+
+        "\u03C5\u0301\u03C9\u0301\u03D2\u0301\u03D2\u0308\u0415\u0300\u0415\u0308"+
+        "\u0413\u0301\u0406\u0308\u041A\u0301\u0418\u0300\u0423\u0306\u0418\u0306"+
+        "\u0438\u0306\u0435\u0300\u0435\u0308\u0433\u0301\u0456\u0308\u043A\u0301"+
+        "\u0438\u0300\u0443\u0306\u0474\u030F\u0475\u030F\u0416\u0306\u0436\u0306"+
+        "\u0410\u0306\u0430\u0306\u0410\u0308\u0430\u0308\u0415\u0306\u0435\u0306"+
+        "\u04D8\u0308\u04D9\u0308\u0416\u0308\u0436\u0308\u0417\u0308\u0437\u0308"+
+        "\u0418\u0304\u0438\u0304\u0418\u0308\u0438\u0308\u041E\u0308\u043E\u0308"+
+        "\u04E8\u0308\u04E9\u0308\u042D\u0308\u044D\u0308\u0423\u0304\u0443\u0304"+
+        "\u0423\u0308\u0443\u0308\u0423\u030B\u0443\u030B\u0427\u0308\u0447\u0308"+
+        "\u042B\u0308\u044B\u0308\u0627\u0653\u0627\u0654\u0648\u0654\u0627\u0655"+
+        "\u064A\u0654\u06D5\u0654\u06C1\u0654\u06D2\u0654\u0928\u093C\u0930\u093C"+
+        "\u0933\u093C\u0915\u093C\u0916\u093C\u0917\u093C\u091C\u093C\u0921\u093C"+
+        "\u0922\u093C\u092B\u093C\u092F\u093C\u09C7\u09BE\u09C7\u09D7\u09A1\u09BC"+
+        "\u09A2\u09BC\u09AF\u09BC\u0A32\u0A3C\u0A38\u0A3C\u0A16\u0A3C\u0A17\u0A3C"+
+        "\u0A1C\u0A3C\u0A2B\u0A3C\u0B47\u0B56\u0B47\u0B3E\u0B47\u0B57\u0B21\u0B3C"+
+        "\u0B22\u0B3C\u0B92\u0BD7\u0BC6\u0BBE\u0BC7\u0BBE\u0BC6\u0BD7\u0C46\u0C56"+
+        "\u0CBF\u0CD5\u0CC6\u0CD5\u0CC6\u0CD6\u0CC6\u0CC2\u0CC6\u0CC2\u0CD5\u0D46"+
+        "\u0D3E\u0D47\u0D3E\u0D46\u0D57\u0DD9\u0DCA\u0DD9\u0DCF\u0DD9\u0DCF\u0DCA"+
+        "\u0DD9\u0DDF\u0F42\u0FB7\u0F4C\u0FB7\u0F51\u0FB7\u0F56\u0FB7\u0F5B\u0FB7"+
+        "\u0F40\u0FB5\u0F71\u0F72\u0F71\u0F74\u0FB2\u0F80\u0FB3\u0F80\u0F71\u0F80"+
+        "\u0F92\u0FB7\u0F9C\u0FB7\u0FA1\u0FB7\u0FA6\u0FB7\u0FAB\u0FB7\u0F90\u0FB5"+
+        "\u1025\u102EA\u0325a\u0325B\u0307b\u0307B\u0323b\u0323B\u0331b\u0331C"+
+        "\u0327\u0301c\u0327\u0301D\u0307d\u0307D\u0323d\u0323D\u0331d\u0331D\u0327"+
+        "d\u0327D\u032Dd\u032DE\u0304\u0300e\u0304\u0300E\u0304\u0301e\u0304\u0301"+
+        "E\u032De\u032DE\u0330e\u0330E\u0327\u0306e\u0327\u0306F\u0307f\u0307G"+
+        "\u0304g\u0304H\u0307h\u0307H\u0323h\u0323H\u0308h\u0308H\u0327h\u0327"+
+        "H\u032Eh\u032EI\u0330i\u0330I\u0308\u0301i\u0308\u0301K\u0301k\u0301K"+
+        "\u0323k\u0323K\u0331k\u0331L\u0323l\u0323L\u0323\u0304l\u0323\u0304L\u0331"+
+        "l\u0331L\u032Dl\u032DM\u0301m\u0301M\u0307m\u0307M\u0323m\u0323N\u0307"+
+        "n\u0307N\u0323n\u0323N\u0331n\u0331N\u032Dn\u032DO\u0303\u0301o\u0303"+
+        "\u0301O\u0303\u0308o\u0303\u0308O\u0304\u0300o\u0304\u0300O\u0304\u0301"+
+        "o\u0304\u0301P\u0301p\u0301P\u0307p\u0307R\u0307r\u0307R\u0323r\u0323"+
+        "R\u0323\u0304r\u0323\u0304R\u0331r\u0331S\u0307s\u0307S\u0323s\u0323S"+
+        "\u0301\u0307s\u0301\u0307S\u030C\u0307s\u030C\u0307S\u0323\u0307s\u0323"+
+        "\u0307T\u0307t\u0307T\u0323t\u0323T\u0331t\u0331T\u032Dt\u032DU\u0324"+
+        "u\u0324U\u0330u\u0330U\u032Du\u032DU\u0303\u0301u\u0303\u0301U\u0304\u0308"+
+        "u\u0304\u0308V\u0303v\u0303V\u0323v\u0323W\u0300w\u0300W\u0301w\u0301"+
+        "W\u0308w\u0308W\u0307w\u0307W\u0323w\u0323X\u0307x\u0307X\u0308x\u0308"+
+        "Y\u0307y\u0307Z\u0302z\u0302Z\u0323z\u0323Z\u0331z\u0331h\u0331t\u0308"+
+        "w\u030Ay\u030A\u017F\u0307A\u0323a\u0323A\u0309a\u0309A\u0302\u0301a\u0302"+
+        "\u0301A\u0302\u0300a\u0302\u0300A\u0302\u0309a\u0302\u0309A\u0302\u0303"+
+        "a\u0302\u0303A\u0323\u0302a\u0323\u0302A\u0306\u0301a\u0306\u0301A\u0306"+
+        "\u0300a\u0306\u0300A\u0306\u0309a\u0306\u0309A\u0306\u0303a\u0306\u0303"+
+        "A\u0323\u0306a\u0323\u0306E\u0323e\u0323E\u0309e\u0309E\u0303e\u0303E"+
+        "\u0302\u0301e\u0302\u0301E\u0302\u0300e\u0302\u0300E\u0302\u0309e\u0302"+
+        "\u0309E\u0302\u0303e\u0302\u0303E\u0323\u0302e\u0323\u0302I\u0309i\u0309"+
+        "I\u0323i\u0323O\u0323o\u0323O\u0309o\u0309O\u0302\u0301o\u0302\u0301O"+
+        "\u0302\u0300o\u0302\u0300O\u0302\u0309o\u0302\u0309O\u0302\u0303o\u0302"+
+        "\u0303O\u0323\u0302o\u0323\u0302O\u031B\u0301o\u031B\u0301O\u031B\u0300"+
+        "o\u031B\u0300O\u031B\u0309o\u031B\u0309O\u031B\u0303o\u031B\u0303O\u031B"+
+        "\u0323o\u031B\u0323U\u0323u\u0323U\u0309u\u0309U\u031B\u0301u\u031B\u0301"+
+        "U\u031B\u0300u\u031B\u0300U\u031B\u0309u\u031B\u0309U\u031B\u0303u\u031B"+
+        "\u0303U\u031B\u0323u\u031B\u0323Y\u0300y\u0300Y\u0323y\u0323Y\u0309y\u0309"+
+        "Y\u0303y\u0303\u03B1\u0313\u03B1\u0314\u03B1\u0313\u0300\u03B1\u0314\u0300"+
+        "\u03B1\u0313\u0301\u03B1\u0314\u0301\u03B1\u0313\u0342\u03B1\u0314\u0342"+
+        "\u0391\u0313\u0391\u0314\u0391\u0313\u0300\u0391\u0314\u0300\u0391\u0313"+
+        "\u0301\u0391\u0314\u0301\u0391\u0313\u0342\u0391\u0314\u0342\u03B5\u0313"+
+        "\u03B5\u0314\u03B5\u0313\u0300\u03B5\u0314\u0300\u03B5\u0313\u0301\u03B5"+
+        "\u0314\u0301\u0395\u0313\u0395\u0314\u0395\u0313\u0300\u0395\u0314\u0300"+
+        "\u0395\u0313\u0301\u0395\u0314\u0301\u03B7\u0313\u03B7\u0314\u03B7\u0313"+
+        "\u0300\u03B7\u0314\u0300\u03B7\u0313\u0301\u03B7\u0314\u0301\u03B7\u0313"+
+        "\u0342\u03B7\u0314\u0342\u0397\u0313\u0397\u0314\u0397\u0313\u0300\u0397"+
+        "\u0314\u0300\u0397\u0313\u0301\u0397\u0314\u0301\u0397\u0313\u0342\u0397"+
+        "\u0314\u0342\u03B9\u0313\u03B9\u0314\u03B9\u0313\u0300\u03B9\u0314\u0300"+
+        "\u03B9\u0313\u0301\u03B9\u0314\u0301\u03B9\u0313\u0342\u03B9\u0314\u0342"+
+        "\u0399\u0313\u0399\u0314\u0399\u0313\u0300\u0399\u0314\u0300\u0399\u0313"+
+        "\u0301\u0399\u0314\u0301\u0399\u0313\u0342\u0399\u0314\u0342\u03BF\u0313"+
+        "\u03BF\u0314\u03BF\u0313\u0300\u03BF\u0314\u0300\u03BF\u0313\u0301\u03BF"+
+        "\u0314\u0301\u039F\u0313\u039F\u0314\u039F\u0313\u0300\u039F\u0314\u0300"+
+        "\u039F\u0313\u0301\u039F\u0314\u0301\u03C5\u0313\u03C5\u0314\u03C5\u0313"+
+        "\u0300\u03C5\u0314\u0300\u03C5\u0313\u0301\u03C5\u0314\u0301\u03C5\u0313"+
+        "\u0342\u03C5\u0314\u0342\u03A5\u0314\u03A5\u0314\u0300\u03A5\u0314\u0301"+
+        "\u03A5\u0314\u0342\u03C9\u0313\u03C9\u0314\u03C9\u0313\u0300\u03C9\u0314"+
+        "\u0300\u03C9\u0313\u0301\u03C9\u0314\u0301\u03C9\u0313\u0342\u03C9\u0314"+
+        "\u0342\u03A9\u0313\u03A9\u0314\u03A9\u0313\u0300\u03A9\u0314\u0300\u03A9"+
+        "\u0313\u0301\u03A9\u0314\u0301\u03A9\u0313\u0342\u03A9\u0314\u0342\u03B1"+
+        "\u0300\u03B1\u0301\u03B5\u0300\u03B5\u0301\u03B7\u0300\u03B7\u0301\u03B9"+
+        "\u0300\u03B9\u0301\u03BF\u0300\u03BF\u0301\u03C5\u0300\u03C5\u0301\u03C9"+
+        "\u0300\u03C9\u0301\u03B1\u0313\u0345\u03B1\u0314\u0345\u03B1\u0313\u0300"+
+        "\u0345\000\u03B1\u0314\u0300\u0345\000\u03B1\u0313\u0301\u0345\000\u03B1"+
+        "\u0314\u0301\u0345\000\u03B1\u0313\u0342\u0345\000\u03B1\u0314\u0342\u0345"+
+        "\000\u0391\u0313\u0345\u0391\u0314\u0345\u0391\u0313\u0300\u0345\000\u0391"+
+        "\u0314\u0300\u0345\000\u0391\u0313\u0301\u0345\000\u0391\u0314\u0301\u0345"+
+        "\000\u0391\u0313\u0342\u0345\000\u0391\u0314\u0342\u0345\000\u03B7\u0313"+
+        "\u0345\u03B7\u0314\u0345\u03B7\u0313\u0300\u0345\000\u03B7\u0314\u0300"+
+        "\u0345\000\u03B7\u0313\u0301\u0345\000\u03B7\u0314\u0301\u0345\000\u03B7"+
+        "\u0313\u0342\u0345\000\u03B7\u0314\u0342\u0345\000\u0397\u0313\u0345\u0397"+
+        "\u0314\u0345\u0397\u0313\u0300\u0345\000\u0397\u0314\u0300\u0345\000\u0397"+
+        "\u0313\u0301\u0345\000\u0397\u0314\u0301\u0345\000\u0397\u0313\u0342\u0345"+
+        "\000\u0397\u0314\u0342\u0345\000\u03C9\u0313\u0345\u03C9\u0314\u0345\u03C9"+
+        "\u0313\u0300\u0345\000\u03C9\u0314\u0300\u0345\000\u03C9\u0313\u0301\u0345"+
+        "\000\u03C9\u0314\u0301\u0345\000\u03C9\u0313\u0342\u0345\000\u03C9\u0314"+
+        "\u0342\u0345\000\u03A9\u0313\u0345\u03A9\u0314\u0345\u03A9\u0313\u0300"+
+        "\u0345\000\u03A9\u0314\u0300\u0345\000\u03A9\u0313\u0301\u0345\000\u03A9"+
+        "\u0314\u0301\u0345\000\u03A9\u0313\u0342\u0345\000\u03A9\u0314\u0342\u0345"+
+        "\000\u03B1\u0306\u03B1\u0304\u03B1\u0300\u0345\u03B1\u0345\u03B1\u0301"+
+        "\u0345\u03B1\u0342\u03B1\u0342\u0345\u0391\u0306\u0391\u0304\u0391\u0300"+
+        "\u0391\u0301\u0391\u0345\u03B9\u00A8\u0342\u03B7\u0300\u0345\u03B7\u0345"+
+        "\u03B7\u0301\u0345\u03B7\u0342\u03B7\u0342\u0345\u0395\u0300\u0395\u0301"+
+        "\u0397\u0300\u0397\u0301\u0397\u0345\u1FBF\u0300\u1FBF\u0301\u1FBF\u0342"+
+        "\u03B9\u0306\u03B9\u0304\u03B9\u0308\u0300\u03B9\u0308\u0301\u03B9\u0342"+
+        "\u03B9\u0308\u0342\u0399\u0306\u0399\u0304\u0399\u0300\u0399\u0301\u1FFE"+
+        "\u0300\u1FFE\u0301\u1FFE\u0342\u03C5\u0306\u03C5\u0304\u03C5\u0308\u0300"+
+        "\u03C5\u0308\u0301\u03C1\u0313\u03C1\u0314\u03C5\u0342\u03C5\u0308\u0342"+
+        "\u03A5\u0306\u03A5\u0304\u03A5\u0300\u03A5\u0301\u03A1\u0314\u00A8\u0300"+
+        "\u00A8\u0301`\u03C9\u0300\u0345\u03C9\u0345\u03C9\u0301\u0345\u03C9\u0342"+
+        "\u03C9\u0342\u0345\u039F\u0300\u039F\u0301\u03A9\u0300\u03A9\u0301\u03A9"+
+        "\u0345\u00B4\u2002\u2003\u03A9KA\u030A\u2190\u0338\u2192\u0338\u2194\u0338"+
+        "\u21D0\u0338\u21D4\u0338\u21D2\u0338\u2203\u0338\u2208\u0338\u220B\u0338"+
+        "\u2223\u0338\u2225\u0338\u223C\u0338\u2243\u0338\u2245\u0338\u2248\u0338"+
+        "=\u0338\u2261\u0338\u224D\u0338<\u0338>\u0338\u2264\u0338\u2265\u0338"+
+        "\u2272\u0338\u2273\u0338\u2276\u0338\u2277\u0338\u227A\u0338\u227B\u0338"+
+        "\u2282\u0338\u2283\u0338\u2286\u0338\u2287\u0338\u22A2\u0338\u22A8\u0338"+
+        "\u22A9\u0338\u22AB\u0338\u227C\u0338\u227D\u0338\u2291\u0338\u2292\u0338"+
+        "\u22B2\u0338\u22B3\u0338\u22B4\u0338\u22B5\u0338\u3008\u3009\u304B\u3099"+
+        "\u304D\u3099\u304F\u3099\u3051\u3099\u3053\u3099\u3055\u3099\u3057\u3099"+
+        "\u3059\u3099\u305B\u3099\u305D\u3099\u305F\u3099\u3061\u3099\u3064\u3099"+
+        "\u3066\u3099\u3068\u3099\u306F\u3099\u306F\u309A\u3072\u3099\u3072\u309A"+
+        "\u3075\u3099\u3075\u309A\u3078\u3099\u3078\u309A\u307B\u3099\u307B\u309A"+
+        "\u3046\u3099\u309D\u3099\u30AB\u3099\u30AD\u3099\u30AF\u3099\u30B1\u3099"+
+        "\u30B3\u3099\u30B5\u3099\u30B7\u3099\u30B9\u3099\u30BB\u3099\u30BD\u3099"+
+        "\u30BF\u3099\u30C1\u3099\u30C4\u3099\u30C6\u3099\u30C8\u3099\u30CF\u3099"+
+        "\u30CF\u309A\u30D2\u3099\u30D2\u309A\u30D5\u3099\u30D5\u309A\u30D8\u3099"+
+        "\u30D8\u309A\u30DB\u3099\u30DB\u309A\u30A6\u3099\u30EF\u3099\u30F0\u3099"+
+        "\u30F1\u3099\u30F2\u3099\u30FD\u3099\u8C48\u66F4\u8ECA\u8CC8\u6ED1\u4E32"+
+        "\u53E5\u9F9C\u9F9C\u5951\u91D1\u5587\u5948\u61F6\u7669\u7F85\u863F\u87BA"+
+        "\u88F8\u908F\u6A02\u6D1B\u70D9\u73DE\u843D\u916A\u99F1\u4E82\u5375\u6B04"+
+        "\u721B\u862D\u9E1E\u5D50\u6FEB\u85CD\u8964\u62C9\u81D8\u881F\u5ECA\u6717"+
+        "\u6D6A\u72FC\u90CE\u4F86\u51B7\u52DE\u64C4\u6AD3\u7210\u76E7\u8001\u8606"+
+        "\u865C\u8DEF\u9732\u9B6F\u9DFA\u788C\u797F\u7DA0\u83C9\u9304\u9E7F\u8AD6"+
+        "\u58DF\u5F04\u7C60\u807E\u7262\u78CA\u8CC2\u96F7\u58D8\u5C62\u6A13\u6DDA"+
+        "\u6F0F\u7D2F\u7E37\u96FB\u52D2\u808B\u51DC\u51CC\u7A1C\u7DBE\u83F1\u9675"+
+        "\u8B80\u62CF\u6A02\u8AFE\u4E39\u5BE7\u6012\u7387\u7570\u5317\u78FB\u4FBF"+
+        "\u5FA9\u4E0D\u6CCC\u6578\u7D22\u53C3\u585E\u7701\u8449\u8AAA\u6BBA\u8FB0"+
+        "\u6C88\u62FE\u82E5\u63A0\u7565\u4EAE\u5169\u51C9\u6881\u7CE7\u826F\u8AD2"+
+        "\u91CF\u52F5\u5442\u5973\u5EEC\u65C5\u6FFE\u792A\u95AD\u9A6A\u9E97\u9ECE"+
+        "\u529B\u66C6\u6B77\u8F62\u5E74\u6190\u6200\u649A\u6F23\u7149\u7489\u79CA"+
+        "\u7DF4\u806F\u8F26\u84EE\u9023\u934A\u5217\u52A3\u54BD\u70C8\u88C2\u8AAA"+
+        "\u5EC9\u5FF5\u637B\u6BAE\u7C3E\u7375\u4EE4\u56F9\u5BE7\u5DBA\u601C\u73B2"+
+        "\u7469\u7F9A\u8046\u9234\u96F6\u9748\u9818\u4F8B\u79AE\u91B4\u96B8\u60E1"+
+        "\u4E86\u50DA\u5BEE\u5C3F\u6599\u6A02\u71CE\u7642\u84FC\u907C\u9F8D\u6688"+
+        "\u962E\u5289\u677B\u67F3\u6D41\u6E9C\u7409\u7559\u786B\u7D10\u985E\u516D"+
+        "\u622E\u9678\u502B\u5D19\u6DEA\u8F2A\u5F8B\u6144\u6817\u7387\u9686\u5229"+
+        "\u540F\u5C65\u6613\u674E\u68A8\u6CE5\u7406\u75E2\u7F79\u88CF\u88E1\u91CC"+
+        "\u96E2\u533F\u6EBA\u541D\u71D0\u7498\u85FA\u96A3\u9C57\u9E9F\u6797\u6DCB"+
+        "\u81E8\u7ACB\u7B20\u7C92\u72C0\u7099\u8B58\u4EC0\u8336\u523A\u5207\u5EA6"+
+        "\u62D3\u7CD6\u5B85\u6D1E\u66B4\u8F3B\u884C\u964D\u898B\u5ED3\u5140\u55C0"+
+        "\u585A\u6674\u51DE\u732A\u76CA\u793C\u795E\u7965\u798F\u9756\u7CBE\u7FBD"+
+        "\u8612\u8AF8\u9038\u90FD\u98EF\u98FC\u9928\u9DB4\u05D9\u05B4\u05F2\u05B7"+
+        "\u05E9\u05C1\u05E9\u05C2\u05E9\u05BC\u05C1\u05E9\u05BC\u05C2\u05D0\u05B7"+
+        "\u05D0\u05B8\u05D0\u05BC\u05D1\u05BC\u05D2\u05BC\u05D3\u05BC\u05D4\u05BC"+
+        "\u05D5\u05BC\u05D6\u05BC\u05D8\u05BC\u05D9\u05BC\u05DA\u05BC\u05DB\u05BC"+
+        "\u05DC\u05BC\u05DE\u05BC\u05E0\u05BC\u05E1\u05BC\u05E3\u05BC\u05E4\u05BC"+
+        "\u05E6\u05BC\u05E7\u05BC\u05E8\u05BC\u05E9\u05BC\u05EA\u05BC\u05D5\u05B9"+
+        "\u05D1\u05BF\u05DB\u05BF\u05E4\u05BF"
+    ;
+
+    static final CompactByteArray canonClass = new CompactByteArray(
+        "\000\u0200\uA5A5\006\000\u0080\000\000\u0100\000\u0180\u0200\u0280\u0300"+
+        "\000\000\000\u0380\uA5A5\004\u0400\u0480\u0500\u0480\u0480\u0580\u0600"+
+        "\u0680\u0700\u0780\u0800\uA5A5\016\000\u0880\000\u0900\uA5A5\017\000\u0980"+
+        "\uA5A5\036\000\u0A00\u0A80\uA5A5\u0194\000\u0B00\uA5A5\005\000\u0B80\000"+
+        "\000\000"
+        ,
+        "\000\u0C00\uA580\u00A5\u15E6\uE8A5\u04DC\uE8D8\uA505\uDCCA\uCAA5\u04DC"+
+        "\uCACA\uA50B\uDCA5\u0501\uA504\uDCA5\u08E6\uF0E6\uDCDC\uDCE6\uE6E6\uDCDC"+
+        "\uA511\u00EA\uEAE9\uA520\u00A5\u04E6\uA58A\u00DC\uA504\uE6DC\uE6E6\uE6DE"+
+        "\uDCA5\u06E6\u00A5\u05DC\uE6E6\uDCE6\uE6DE\uE4E6\u0A0B\u0C0D\u0E0F\u1011"+
+        "\u1213\024\u1516\027\030\u1900\uE6A5\u8600\u1B1C\u1D1E\u1F20\u2122\uE6E6"+
+        "\uDCA5\u1A00\u23A5\u6500\uA507\uE600\u00A5\u04E6\uDCE6\000\uE6E6\u00DC"+
+        "\uE6E6\uDCA5\u2300\u24A5\u1E00\uE6DC\uE6E6\uDCE6\uE6DC\uDCDC\uE6DC\uDCE6"+
+        "\uDCE6\uE6E6\uDCE6\uDCE6\uDCE6\uDCE6\uE6A5\u7100\u07A5\u1000\u0900\000"+
+        "\uE6DC\uE6E6\uA567\007\uA510\011\uA57F\011\uA57F\011\uA507T\u5BA5\u7300"+
+        "\u09A5\u6D00\u6767\u09A5\u0D00\uA504\u6BA5\u6C00\u7676\uA50E\u00A5\u047A"+
+        "\uA54C\u00DC\uDCA5\u1B00\uDC00\uDC00\uD8A5\u3700\u8182\u0084\uA505\u00A5"+
+        "\u0482\000\u8200\uE6E6\u0900\uE6E6\uA53E\u00DC\uA570\007\011\uA598\011"+
+        "\uA556\u00E4\uA5A6\u00E6\uE601\u01A5\u04E6\u0101\u01E6\uE6A5\u0400\uE6A5"+
+        "\u4800\uDAE4\uE8DE\uE0E0\uA569\010\u08A5\u8300\u1AA5\u8100\uA504\uE6A5"+
+        "\u5C00"
+        );
+}
diff --git a/src/com/ibm/icu/text/DictionaryBasedBreakIterator.java b/src/com/ibm/icu/text/DictionaryBasedBreakIterator.java
new file mode 100755
index 0000000..b860319
--- /dev/null
+++ b/src/com/ibm/icu/text/DictionaryBasedBreakIterator.java
@@ -0,0 +1,588 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+package com.ibm.icu.text;
+
+import java.util.Vector;
+import java.util.Stack;
+import java.util.Hashtable;
+import java.text.CharacterIterator;
+import java.io.InputStream;
+import java.io.IOException;
+
+import java.io.*;
+
+/**
+ * A subclass of RuleBasedBreakIterator_Old that adds the ability to use a dictionary
+ * to further subdivide ranges of text beyond what is possible using just the
+ * state-table-based algorithm.  This is necessary, for example, to handle
+ * word and line breaking in Thai, which doesn't use spaces between words.  The
+ * state-table-based algorithm used by RuleBasedBreakIterator_Old is used to divide
+ * up text as far as possible, and then contiguous ranges of letters are
+ * repeatedly compared against a list of known words (i.e., the dictionary)
+ * to divide them up into words.
+ *
+ * DictionaryBasedBreakIterator uses the same rule language as RuleBasedBreakIterator_Old,
+ * but adds one more special substitution name: _dictionary_.  This substitution
+ * name is used to identify characters in words in the dictionary.  The idea is that
+ * if the iterator passes over a chunk of text that includes two or more characters
+ * in a row that are included in _dictionary_, it goes back through that range and
+ * derives additional break positions (if possible) using the dictionary.
+ *
+ * DictionaryBasedBreakIterator is also constructed with the filename of a dictionary
+ * file.  It uses Class.getResource() to locate the dictionary file.  The
+ * dictionary file is in a serialized binary format.  We have a very primitive (and
+ * slow) BuildDictionaryFile utility for creating dictionary files, but aren't
+ * currently making it public.  Contact us for help.
+ *
+ * @stable ICU 2.0
+ */
+public class DictionaryBasedBreakIterator extends RuleBasedBreakIterator_Old {
+
+    /**
+     * a list of known words that is used to divide up contiguous ranges of letters,
+     * stored in a compressed, indexed, format that offers fast access
+     */
+    private BreakDictionary dictionary;
+
+    /**
+     * a list of flags indicating which character categories are contained in
+     * the dictionary file (this is used to determine which ranges of characters
+     * to apply the dictionary to)
+     */
+    private boolean[] categoryFlags;
+
+    /**
+     * a temporary hiding place for the number of dictionary characters in the
+     * last range passed over by next()
+     */
+    private int dictionaryCharCount;
+
+    /**
+     * when a range of characters is divided up using the dictionary, the break
+     * positions that are discovered are stored here, preventing us from having
+     * to use either the dictionary or the state table again until the iterator
+     * leaves this range of text
+     */
+    private int[] cachedBreakPositions;
+
+    /**
+     * if cachedBreakPositions is not null, this indicates which item in the
+     * cache the current iteration position refers to
+     */
+    private int positionInCache;
+
+    /**
+     * Special variable name for characters in words in dictionary
+     */
+    private static final String DICTIONARY_VAR = "_dictionary_";
+
+    /**
+     * Constructs a DictionaryBasedBreakIterator.
+     * @param description Same as the description parameter on RuleBasedBreakIterator_Old,
+     * except for the special meaning of DICTIONARY_VAR.  This parameter is just
+     * passed through to RuleBasedBreakIterator_Old's constructor.
+     * @param dictionaryStream the stream containing the dictionary data
+     * @stable ICU 2.0
+     */
+    public DictionaryBasedBreakIterator(String description,
+                                        InputStream dictionaryStream) throws IOException {
+        super(description);
+        dictionary = new BreakDictionary(dictionaryStream);
+    }
+
+    /**
+     * Returns a Builder that is customized to build a DictionaryBasedBreakIterator.
+     * This is the same as RuleBasedBreakIterator_Old.Builder, except for the extra code
+     * to handle the DICTIONARY_VAR tag.
+     * @internal
+     */
+    protected RuleBasedBreakIterator_Old.Builder makeBuilder() {
+        return new Builder();
+    }
+    
+    /** @internal */
+    public void writeTablesToFile(FileOutputStream file, boolean littleEndian) throws IOException {
+        super.writeTablesToFile(file, littleEndian);
+        
+        DataOutputStream out = new DataOutputStream(file);
+        
+        // --- write index to fields (there's only one entry, but this allows subclassing of this class)
+        writeSwappedInt((short)8, out, littleEndian);
+        writeSwappedInt((short)(categoryFlags.length + 3 & 0x0f), out, littleEndian);
+        
+        for (int i = 0; i < categoryFlags.length; i++)
+            out.writeBoolean(categoryFlags[i]);
+        switch (categoryFlags.length % 4) {
+            case 1: out.write(0);
+            case 2: out.write(0);
+            case 3: out.write(0);
+            default: break;
+        }
+    }
+
+    /** @stable ICU 2.0 */
+    public void setText(CharacterIterator newText) {
+        super.setText(newText);
+        cachedBreakPositions = null;
+        dictionaryCharCount = 0;
+        positionInCache = 0;
+    }
+
+    /**
+     * Sets the current iteration position to the beginning of the text.
+     * (i.e., the CharacterIterator's starting offset).
+     * @return The offset of the beginning of the text.
+     * @stable ICU 2.0
+     */
+    public int first() {
+        cachedBreakPositions = null;
+        dictionaryCharCount = 0;
+        positionInCache = 0;
+        return super.first();
+    }
+
+    /**
+     * Sets the current iteration position to the end of the text.
+     * (i.e., the CharacterIterator's ending offset).
+     * @return The text's past-the-end offset.
+     * @stable ICU 2.0
+     */
+    public int last() {
+        cachedBreakPositions = null;
+        dictionaryCharCount = 0;
+        positionInCache = 0;
+        return super.last();
+    }
+
+    /**
+     * Advances the iterator one step backwards.
+     * @return The position of the last boundary position before the
+     * current iteration position
+     * @stable ICU 2.0
+     */
+    public int previous() {
+        CharacterIterator text = getText();
+
+        // if we have cached break positions and we're still in the range
+        // covered by them, just move one step backward in the cache
+        if (cachedBreakPositions != null && positionInCache > 0) {
+            --positionInCache;
+            text.setIndex(cachedBreakPositions[positionInCache]);
+            return cachedBreakPositions[positionInCache];
+        }
+
+        // otherwise, dump the cache and use the inherited previous() method to move
+        // backward.  This may fill up the cache with new break positions, in which
+        // case we have to mark our position in the cache
+        else {
+            cachedBreakPositions = null;
+            int result = super.previous();
+            if (cachedBreakPositions != null)
+                positionInCache = cachedBreakPositions.length - 2;
+            return result;
+        }
+    }
+
+    /**
+     * Sets the current iteration position to the last boundary position
+     * before the specified position.
+     * @param offset The position to begin searching from
+     * @return The position of the last boundary before "offset"
+     * @stable ICU 2.0
+     */
+    public int preceding(int offset) {
+        CharacterIterator text = getText();
+        checkOffset(offset, text);
+
+        // if we have no cached break positions, or "offset" is outside the
+        // range covered by the cache, we can just call the inherited routine
+        // (which will eventually call other routines in this class that may
+        // refresh the cache)
+        if (cachedBreakPositions == null || offset <= cachedBreakPositions[0] ||
+                offset > cachedBreakPositions[cachedBreakPositions.length - 1]) {
+            cachedBreakPositions = null;
+            return super.preceding(offset);
+        }
+
+        // on the other hand, if "offset" is within the range covered by the cache,
+        // then all we have to do is search the cache for the last break position
+        // before "offset"
+        else {
+            positionInCache = 0;
+            while (positionInCache < cachedBreakPositions.length
+                   && offset > cachedBreakPositions[positionInCache])
+                ++positionInCache;
+            --positionInCache;
+            text.setIndex(cachedBreakPositions[positionInCache]);
+            return text.getIndex();
+        }
+    }
+
+    /**
+     * Sets the current iteration position to the first boundary position after
+     * the specified position.
+     * @param offset The position to begin searching forward from
+     * @return The position of the first boundary after "offset"
+     * @stable ICU 2.0
+     */
+    public int following(int offset) {
+        CharacterIterator text = getText();
+        checkOffset(offset, text);
+
+        // if we have no cached break positions, or if "offset" is outside the
+        // range covered by the cache, then dump the cache and call our
+        // inherited following() method.  This will call other methods in this
+        // class that may refresh the cache.
+        if (cachedBreakPositions == null || offset < cachedBreakPositions[0] ||
+                offset >= cachedBreakPositions[cachedBreakPositions.length - 1]) {
+            cachedBreakPositions = null;
+            return super.following(offset);
+        }
+
+        // on the other hand, if "offset" is within the range covered by the
+        // cache, then just search the cache for the first break position
+        // after "offset"
+        else {
+            positionInCache = 0;
+            while (positionInCache < cachedBreakPositions.length
+                   && offset >= cachedBreakPositions[positionInCache])
+                ++positionInCache;
+            text.setIndex(cachedBreakPositions[positionInCache]);
+            return text.getIndex();
+        }
+    }
+
+    /**
+     * This is the implementation function for next().
+     * @internal
+     */
+    protected int handleNext() {
+        CharacterIterator text = getText();
+
+        // if there are no cached break positions, or if we've just moved
+        // off the end of the range covered by the cache, we have to dump
+        // and possibly regenerate the cache
+        if (cachedBreakPositions == null || positionInCache == cachedBreakPositions.length - 1) {
+
+            // start by using the inherited handleNext() to find a tentative return
+            // value.   dictionaryCharCount tells us how many dictionary characters
+            // we passed over on our way to the tentative return value
+            int startPos = text.getIndex();
+            dictionaryCharCount = 0;
+            int result = super.handleNext();
+
+            // if we passed over more than one dictionary character, then we use
+            // divideUpDictionaryRange() to regenerate the cached break positions
+            // for the new range
+            if (dictionaryCharCount > 1 && result - startPos > 1) {
+                divideUpDictionaryRange(startPos, result);
+            }
+
+            // otherwise, the value we got back from the inherited fuction
+            // is our return value, and we can dump the cache
+            else {
+                cachedBreakPositions = null;
+                return result;
+            }
+        }
+
+        // if the cache of break positions has been regenerated (or existed all
+        // along), then just advance to the next break position in the cache
+        // and return it
+        if (cachedBreakPositions != null) {
+            ++positionInCache;
+            text.setIndex(cachedBreakPositions[positionInCache]);
+            return cachedBreakPositions[positionInCache];
+        }
+        return -9999;   // SHOULD NEVER GET HERE!
+    }
+
+    /**
+     * Looks up a character category for a character.
+     * @internal
+     */
+    protected int lookupCategory(char c) {
+        // this override of lookupCategory() exists only to keep track of whether we've
+        // passed over any dictionary characters.  It calls the inherited lookupCategory()
+        // to do the real work, and then checks whether its return value is one of the
+        // categories represented in the dictionary.  If it is, bump the dictionary-
+        // character count.
+        int result = super.lookupCategory(c);
+        if (result != RuleBasedBreakIterator_Old.IGNORE && categoryFlags[result]) {
+            ++dictionaryCharCount;
+        }
+        return result;
+    }
+
+    /**
+     * This is the function that actually implements the dictionary-based
+     * algorithm.  Given the endpoints of a range of text, it uses the
+     * dictionary to determine the positions of any boundaries in this
+     * range.  It stores all the boundary positions it discovers in
+     * cachedBreakPositions so that we only have to do this work once
+     * for each time we enter the range.
+     */
+    private void divideUpDictionaryRange(int startPos, int endPos) {
+        CharacterIterator text = getText();
+
+        // the range we're dividing may begin or end with non-dictionary characters
+        // (i.e., for line breaking, we may have leading or trailing punctuation
+        // that needs to be kept with the word).  Seek from the beginning of the
+        // range to the first dictionary character
+        text.setIndex(startPos);
+        char c = text.current();
+        int category = lookupCategory(c);
+        while (category == IGNORE || !categoryFlags[category]) {
+            c = text.next();
+            category = lookupCategory(c);
+        }
+//System.out.println("\nDividing up range from " + (text.getIndex() + 1) + " to " + endPos);
+
+        // initialize.  We maintain two stacks: currentBreakPositions contains
+        // the list of break positions that will be returned if we successfully
+        // finish traversing the whole range now.  possibleBreakPositions lists
+        // all other possible word ends we've passed along the way.  (Whenever
+        // we reach an error [a sequence of characters that can't begin any word
+        // in the dictionary], we back up, possibly delete some breaks from
+        // currentBreakPositions, move a break from possibleBreakPositions
+        // to currentBreakPositions, and start over from there.  This process
+        // continues in this way until we either successfully make it all the way
+        // across the range, or exhaust all of our combinations of break
+        // positions.)
+        Stack currentBreakPositions = new Stack();
+        Stack possibleBreakPositions = new Stack();
+        Vector wrongBreakPositions = new Vector();
+
+        // the dictionary is implemented as a trie, which is treated as a state
+        // machine.  -1 represents the end of a legal word.  Every word in the
+        // dictionary is represented by a path from the root node to -1.  A path
+        // that ends in state 0 is an illegal combination of characters.
+        int state = 0;
+
+        // these two variables are used for error handling.  We keep track of the
+        // farthest we've gotten through the range being divided, and the combination
+        // of breaks that got us that far.  If we use up all possible break
+        // combinations, the text contains an error or a word that's not in the
+        // dictionary.  In this case, we "bless" the break positions that got us the
+        // farthest as real break positions, and then start over from scratch with
+        // the character where the error occurred.
+        int farthestEndPoint = text.getIndex();
+        Stack bestBreakPositions = null;
+
+        // initialize (we always exit the loop with a break statement)
+        c = text.current();
+        while (true) {
+//System.out.print("c = " + Integer.toString(c, 16) + ", pos = " + text.getIndex());
+
+            // if we can transition to state "-1" from our current state, we're
+            // on the last character of a legal word.  Push that position onto
+            // the possible-break-positions stack
+            if (dictionary.at(state, 0) == -1) {
+                possibleBreakPositions.push(new Integer(text.getIndex()));
+            }
+
+            // look up the new state to transition to in the dictionary
+            state = (dictionary.at(state, c)) & 0xFFFF;
+//System.out.print(", state = " + state);
+
+            // if the character we're sitting on causes us to transition to
+            // the "end of word" state, then it was a non-dictionary character
+            // and we've successfully traversed the whole range.  Drop out
+            // of the loop.
+            if (state == /*-1*/ 0xFFFF) {
+                currentBreakPositions.push(new Integer(text.getIndex()));
+                break;
+            }
+
+            // if the character we're sitting on causes us to transition to
+            // the error state, or if we've gone off the end of the range
+            // without transitioning to the "end of word" state, we've hit
+            // an error...
+            else if (state == 0 || text.getIndex() >= endPos) {
+
+                // if this is the farthest we've gotten, take note of it in
+                // case there's an error in the text
+                if (text.getIndex() > farthestEndPoint) {
+                    farthestEndPoint = text.getIndex();
+                    bestBreakPositions = (Stack)(currentBreakPositions.clone());
+                }
+
+                // wrongBreakPositions is a list of all break positions we've tried starting
+                // that didn't allow us to traverse all the way through the text.  Every time
+                // we pop a break position off of currentBreakPositions, we put it into
+                // wrongBreakPositions to avoid trying it again later.  If we make it to this
+                // spot, we're either going to back up to a break in possibleBreakPositions
+                // and try starting over from there, or we've exhausted all possible break
+                // positions and are going to do the fallback procedure.  This loop prevents
+                // us from messing with anything in possibleBreakPositions that didn't work as
+                // a starting point the last time we tried it (this is to prevent a bunch of
+                // repetitive checks from slowing down some extreme cases)
+                // variable not used Integer newStartingSpot = null;
+                while (!possibleBreakPositions.isEmpty() && wrongBreakPositions.contains(
+                            possibleBreakPositions.peek())) {
+                    possibleBreakPositions.pop();
+                }
+
+                // if we've used up all possible break-position combinations, there's
+                // an error or an unknown word in the text.  In this case, we start
+                // over, treating the farthest character we've reached as the beginning
+                // of the range, and "blessing" the break positions that got us that
+                // far as real break positions
+                if (possibleBreakPositions.isEmpty()) {
+                    if (bestBreakPositions != null) {
+                        currentBreakPositions = bestBreakPositions;
+                        if (farthestEndPoint < endPos) {
+                            text.setIndex(farthestEndPoint + 1);
+                        }
+                        else {
+                            break;
+                        }
+                    }
+                    else {
+                        if ((currentBreakPositions.size() == 0
+                                || ((Integer)(currentBreakPositions.peek())).intValue() != text.getIndex())
+                                && text.getIndex() != startPos) {
+                            currentBreakPositions.push(new Integer(text.getIndex()));
+                        }
+                        text.next();
+                        currentBreakPositions.push(new Integer(text.getIndex()));
+                    }
+                }
+
+                // if we still have more break positions we can try, then promote the
+                // last break in possibleBreakPositions into currentBreakPositions,
+                // and get rid of all entries in currentBreakPositions that come after
+                // it.  Then back up to that position and start over from there (i.e.,
+                // treat that position as the beginning of a new word)
+                else {
+                    Integer temp = (Integer)possibleBreakPositions.pop();
+                    Object temp2 = null;
+                    while (!currentBreakPositions.isEmpty() && temp.intValue() <
+                           ((Integer)currentBreakPositions.peek()).intValue()) {
+                        temp2 = currentBreakPositions.pop();
+                        wrongBreakPositions.addElement(temp2);
+                    }
+                    currentBreakPositions.push(temp);
+                    text.setIndex(((Integer)currentBreakPositions.peek()).intValue());
+                }
+
+                // re-sync "c" for the next go-round, and drop out of the loop if
+                // we've made it off the end of the range
+                c = text.current();
+                state = 0;
+                if (text.getIndex() >= endPos) {
+                    break;
+                }
+            }
+
+            // if we didn't hit any exceptional conditions on this last iteration,
+            // just advance to the next character and loop
+            else {
+                c = text.next();
+            }
+//System.out.print(", possibleBreakPositions = { "); for (int i = 0; i < possibleBreakPositions.size(); i++) System.out.print(possibleBreakPositions.elementAt(i) + " "); System.out.print("}");
+//System.out.print(", currentBreakPositions = { "); for (int i = 0; i < currentBreakPositions.size(); i++) System.out.print(currentBreakPositions.elementAt(i) + " "); System.out.println("}");
+        }
+
+        // dump the last break position in the list, and replace it with the actual
+        // end of the range (which may be the same character, or may be further on
+        // because the range actually ended with non-dictionary characters we want to
+        // keep with the word)
+        if (!currentBreakPositions.isEmpty()) {
+            currentBreakPositions.pop();
+        }
+        currentBreakPositions.push(new Integer(endPos));
+
+        // create a regular array to hold the break positions and copy
+        // the break positions from the stack to the array (in addition,
+        // our starting position goes into this array as a break position).
+        // This array becomes the cache of break positions used by next()
+        // and previous(), so this is where we actually refresh the cache.
+        cachedBreakPositions = new int[currentBreakPositions.size() + 1];
+        cachedBreakPositions[0] = startPos;
+
+        for (int i = 0; i < currentBreakPositions.size(); i++) {
+            cachedBreakPositions[i + 1] = ((Integer)currentBreakPositions.elementAt(i)).intValue();
+        }
+        positionInCache = 0;
+    }
+
+    /**
+     * The Builder class for DictionaryBasedBreakIterator inherits almost all of
+     * its functionality from the Builder class for RuleBasedBreakIterator_Old, but
+     * extends it with extra logic to handle the DICTIONARY_VAR token
+     * @internal
+     */
+    protected class Builder extends RuleBasedBreakIterator_Old.Builder {
+
+        /**
+         * A UnicodeSet that contains all the characters represented in the dictionary
+         */
+        private UnicodeSet dictionaryChars = new UnicodeSet();
+        private String dictionaryExpression = "";
+
+        /**
+         * No special initialization
+     * @internal
+         */
+        public Builder() {
+        }
+
+        /**
+         * We override handleSpecialSubstitution() to add logic to handle
+         * the $dictionary tag.  If we see a substitution named DICTIONARY_VAR,
+         * parse the substitution expression and store the result in
+         * dictionaryChars.
+     * @internal
+         */
+        protected void handleSpecialSubstitution(String replace, String replaceWith,
+                                                 int startPos, String description) {
+            super.handleSpecialSubstitution(replace, replaceWith, startPos, description);
+
+            if (replace.equals(DICTIONARY_VAR)) {
+                if (replaceWith.charAt(0) == '(') {
+                    error("Dictionary group can't be enclosed in (", startPos, description);
+                }
+                dictionaryExpression = replaceWith;
+                dictionaryChars = new UnicodeSet(replaceWith, false);
+            }
+        }
+
+        /**
+         * The other half of the logic to handle the dictionary characters happens here.
+         * After the inherited builder has derived the real character categories, we
+         * set up the categoryFlags array in the iterator.  This array contains "true"
+         * for every character category that includes a dictionary character.
+     * @internal
+         */
+        protected void buildCharCategories(Vector tempRuleList) {
+            super.buildCharCategories(tempRuleList);
+
+            categoryFlags = new boolean[categories.size()];
+            for (int i = 0; i < categories.size(); i++) {
+                UnicodeSet cs = (UnicodeSet)categories.elementAt(i);
+
+                cs.retainAll(dictionaryChars);
+                if (!cs.isEmpty()) {
+                    categoryFlags[i] = true;
+                }
+            }
+        }
+
+        // This function is actually called by RuleBasedBreakIterator.buildCharCategories(),
+        // which is called by the function above.  This gives us a way to create a separate
+        // character category for the dictionary characters even when RuleBasedBreakIterator
+        // isn't making a distinction
+    /**
+     * @internal
+     */
+        protected void mungeExpressionList(Hashtable expressions) {
+            expressions.put(dictionaryExpression, dictionaryChars);
+        }
+    }
+}
diff --git a/src/com/ibm/icu/text/DigitList.java b/src/com/ibm/icu/text/DigitList.java
new file mode 100755
index 0000000..9ab8120
--- /dev/null
+++ b/src/com/ibm/icu/text/DigitList.java
@@ -0,0 +1,778 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.text;
+
+import java.math.BigInteger;
+
+/**
+ * <code>DigitList</code> handles the transcoding between numeric values and
+ * strings of characters.  It only represents non-negative numbers.  The
+ * division of labor between <code>DigitList</code> and
+ * <code>DecimalFormat</code> is that <code>DigitList</code> handles the radix
+ * 10 representation issues and numeric conversion, including rounding;
+ * <code>DecimalFormat</code> handles the locale-specific issues such as
+ * positive and negative representation, digit grouping, decimal point,
+ * currency, and so on.
+ *
+ * <p>A <code>DigitList</code> is a representation of a finite numeric value.
+ * <code>DigitList</code> objects do not represent <code>NaN</code> or infinite
+ * values.  A <code>DigitList</code> value can be converted to a
+ * <code>BigDecimal</code> without loss of precision.  Conversion to other
+ * numeric formats may involve loss of precision, depending on the specific
+ * value.
+ *
+ * <p>The <code>DigitList</code> representation consists of a string of
+ * characters, which are the digits radix 10, from '0' to '9'.  It also has a
+ * base 10 exponent associated with it.  The value represented by a
+ * <code>DigitList</code> object can be computed by mulitplying the fraction
+ * <em>f</em>, where 0 <= <em>f</em> < 1, derived by placing all the digits of
+ * the list to the right of the decimal point, by 10^exponent.
+ *
+ * @see java.util.Locale
+ * @see java.text.Format
+ * @see NumberFormat
+ * @see DecimalFormat
+ * @see java.text.ChoiceFormat
+ * @see java.text.MessageFormat
+ * @version      1.18 08/12/98
+ * @author       Mark Davis, Alan Liu
+ * */
+final class DigitList {
+    /**
+     * The maximum number of significant digits in an IEEE 754 double, that
+     * is, in a Java double.  This must not be increased, or garbage digits
+     * will be generated, and should not be decreased, or accuracy will be lost.
+     */
+    public static final int MAX_LONG_DIGITS = 19; // == Long.toString(Long.MAX_VALUE).length()
+    public static final int DBL_DIG = 17;
+
+    /**
+     * These data members are intentionally public and can be set directly.
+     *
+     * The value represented is given by placing the decimal point before
+     * digits[decimalAt].  If decimalAt is < 0, then leading zeros between
+     * the decimal point and the first nonzero digit are implied.  If decimalAt
+     * is > count, then trailing zeros between the digits[count-1] and the
+     * decimal point are implied.
+     *
+     * Equivalently, the represented value is given by f * 10^decimalAt.  Here
+     * f is a value 0.1 <= f < 1 arrived at by placing the digits in Digits to
+     * the right of the decimal.
+     *
+     * DigitList is normalized, so if it is non-zero, figits[0] is non-zero.  We
+     * don't allow denormalized numbers because our exponent is effectively of
+     * unlimited magnitude.  The count value contains the number of significant
+     * digits present in digits[].
+     *
+     * Zero is represented by any DigitList with count == 0 or with each digits[i]
+     * for all i <= count == '0'.
+     */
+    public int decimalAt = 0;
+    public int count = 0;
+    public byte[] digits = new byte[MAX_LONG_DIGITS];
+
+    private final void ensureCapacity(int digitCapacity, int digitsToCopy) {
+        if (digitCapacity > digits.length) {
+            byte[] newDigits = new byte[digitCapacity * 2];
+            System.arraycopy(digits, 0, newDigits, 0, digitsToCopy);
+            digits = newDigits;
+        }
+    }
+
+    /**
+     * Return true if the represented number is zero.
+     */
+    boolean isZero()
+    {
+        for (int i=0; i<count; ++i) if (digits[i] != '0') return false;
+        return true;
+    }
+
+// Unused as of ICU 2.6 - alan
+//    /**
+//     * Clears out the digits.
+//     * Use before appending them.
+//     * Typically, you set a series of digits with append, then at the point
+//     * you hit the decimal point, you set myDigitList.decimalAt = myDigitList.count;
+//     * then go on appending digits.
+//     */
+//    public void clear () {
+//        decimalAt = 0;
+//        count = 0;
+//    }
+
+    /**
+     * Appends digits to the list.
+     */
+    public void append (int digit) {
+        ensureCapacity(count+1, count);
+        digits[count++] = (byte) digit;
+    }
+    /**
+     * Utility routine to get the value of the digit list
+     * If (count == 0) this throws a NumberFormatException, which
+     * mimics Long.parseLong().
+     */
+    public final double getDouble() {
+        if (count == 0) return 0.0;
+        StringBuffer temp = new StringBuffer(count);
+        temp.append('.');
+        for (int i = 0; i < count; ++i) temp.append((char)(digits[i]));
+        temp.append('E');
+        temp.append(Integer.toString(decimalAt));
+        return Double.valueOf(temp.toString()).doubleValue();
+        // long value = Long.parseLong(temp.toString());
+        // return (value * Math.pow(10, decimalAt - count));
+    }
+
+    /**
+     * Utility routine to get the value of the digit list.
+     * If (count == 0) this returns 0, unlike Long.parseLong().
+     */
+    public final long getLong() {
+        // for now, simple implementation; later, do proper IEEE native stuff
+
+        if (count == 0) return 0;
+
+        // We have to check for this, because this is the one NEGATIVE value
+        // we represent.  If we tried to just pass the digits off to parseLong,
+        // we'd get a parse failure.
+        if (isLongMIN_VALUE()) return Long.MIN_VALUE;
+
+        StringBuffer temp = new StringBuffer(count);
+        for (int i = 0; i < decimalAt; ++i)
+        {
+            temp.append((i < count) ? (char)(digits[i]) : '0');
+        }
+        return Long.parseLong(temp.toString());
+    }
+
+    /**
+     * Return a <code>BigInteger</code> representing the value stored in this
+     * <code>DigitList</code>.  This method assumes that this object contains
+     * an integral value; if not, it will return an incorrect value.
+     * [bnf]
+     * @param isPositive determines the sign of the returned result
+     * @return the value of this object as a <code>BigInteger</code>
+     */
+    public BigInteger getBigInteger(boolean isPositive) {
+        if (isZero()) return BigInteger.valueOf(0);
+        if (false) {
+            StringBuffer stringRep = new StringBuffer(count);
+            if (!isPositive) {
+                stringRep.append('-');
+            }
+            for (int i=0; i<count; ++i) {
+                stringRep.append((char) digits[i]);
+            }
+            int d = decimalAt;
+            while (d-- > count) {
+                stringRep.append('0');
+            }
+            return new BigInteger(stringRep.toString());
+        } else {
+            int len = decimalAt > count ? decimalAt : count;
+            if (!isPositive) {
+                len += 1;
+            }
+            char[] text = new char[len];
+            int n = 0;
+            if (!isPositive) {
+                text[0] = '-';
+                for (int i = 0; i < count; ++i) {
+                    text[i+1] = (char)digits[i];
+                }
+                n = count+1;
+            } else {
+                for (int i = 0; i < count; ++i) {
+                    text[i] = (char)digits[i];
+                }
+                n = count;
+            }
+            for (int i = n; i < text.length; ++i) {
+                text[i] = '0';
+            } 
+            return new BigInteger(new String(text));
+        }
+    }
+
+    /**
+     * Return a <code>BigDecimal</code> representing the value stored in this
+     * <code>DigitList</code>.
+     * [bnf]
+     * @param isPositive determines the sign of the returned result
+     * @return the value of this object as a <code>BigDecimal</code>
+     */
+    public java.math.BigDecimal getBigDecimal(boolean isPositive) {
+        if (isZero()) return java.math.BigDecimal.valueOf(0);
+        StringBuffer stringRep = new StringBuffer(count+1);
+        if (!isPositive) {
+            stringRep.append('-');
+        }
+        int d = decimalAt;
+        if (d < 0) {
+            stringRep.append('.');
+            while (d < 0) {
+                stringRep.append('0');
+                ++d;
+            }
+            d = -1;
+        }
+        for (int i=0; i<count; ++i) {
+            if (d == i) {
+                stringRep.append('.');
+            }
+            stringRep.append((char) digits[i]);
+        }
+        while (d-- > count) {
+            stringRep.append('0');
+        }
+        return new java.math.BigDecimal(stringRep.toString());
+    }
+
+    /**
+     * Return whether or not this objects represented value is an integer.
+     * [bnf]
+     * @return true if the represented value of this object is an integer
+     */
+    boolean isIntegral() {
+        // Trim trailing zeros.  This does not change the represented value.
+        while (count > 0 && digits[count - 1] == (byte)'0') --count;
+        return count == 0 || decimalAt >= count;
+    }
+
+// Unused as of ICU 2.6 - alan
+//    /**
+//     * Return true if the number represented by this object can fit into
+//     * a long.
+//     */
+//    boolean fitsIntoLong(boolean isPositive)
+//    {
+//        // Figure out if the result will fit in a long.  We have to
+//        // first look for nonzero digits after the decimal point;
+//        // then check the size.  If the digit count is 18 or less, then
+//        // the value can definitely be represented as a long.  If it is 19
+//        // then it may be too large.
+//
+//        // Trim trailing zeros.  This does not change the represented value.
+//        while (count > 0 && digits[count - 1] == (byte)'0') --count;
+//
+//        if (count == 0) {
+//            // Positive zero fits into a long, but negative zero can only
+//            // be represented as a double. - bug 4162852
+//            return isPositive;
+//        }
+//
+//        if (decimalAt < count || decimalAt > MAX_LONG_DIGITS) return false;
+//
+//        if (decimalAt < MAX_LONG_DIGITS) return true;
+//
+//        // At this point we have decimalAt == count, and count == MAX_LONG_DIGITS.
+//        // The number will overflow if it is larger than 9223372036854775807
+//        // or smaller than -9223372036854775808.
+//        for (int i=0; i<count; ++i)
+//        {
+//            byte dig = digits[i], max = LONG_MIN_REP[i];
+//            if (dig > max) return false;
+//            if (dig < max) return true;
+//        }
+//
+//        // At this point the first count digits match.  If decimalAt is less
+//        // than count, then the remaining digits are zero, and we return true.
+//        if (count < decimalAt) return true;
+//
+//        // Now we have a representation of Long.MIN_VALUE, without the leading
+//        // negative sign.  If this represents a positive value, then it does
+//        // not fit; otherwise it fits.
+//        return !isPositive;
+//    }
+
+// Unused as of ICU 2.6 - alan
+//    /**
+//     * Set the digit list to a representation of the given double value.
+//     * This method supports fixed-point notation.
+//     * @param source Value to be converted; must not be Inf, -Inf, Nan,
+//     * or a value <= 0.
+//     * @param maximumFractionDigits The most fractional digits which should
+//     * be converted.
+//     */
+//    public final void set(double source, int maximumFractionDigits)
+//    {
+//        set(source, maximumFractionDigits, true);
+//    }
+
+    /**
+     * Set the digit list to a representation of the given double value.
+     * This method supports both fixed-point and exponential notation.
+     * @param source Value to be converted; must not be Inf, -Inf, Nan,
+     * or a value <= 0.
+     * @param maximumDigits The most fractional or total digits which should
+     * be converted.
+     * @param fixedPoint If true, then maximumDigits is the maximum
+     * fractional digits to be converted.  If false, total digits.
+     */
+    final void set(double source, int maximumDigits, boolean fixedPoint)
+    {
+        if (source == 0) source = 0;
+        // Generate a representation of the form DDDDD, DDDDD.DDDDD, or
+        // DDDDDE+/-DDDDD.
+        String rep = Double.toString(source);
+
+        set(rep, MAX_LONG_DIGITS);
+
+        if (fixedPoint) {
+            // The negative of the exponent represents the number of leading
+            // zeros between the decimal and the first non-zero digit, for
+            // a value < 0.1 (e.g., for 0.00123, -decimalAt == 2).  If this
+            // is more than the maximum fraction digits, then we have an underflow
+            // for the printed representation.
+            if (-decimalAt > maximumDigits) {
+                count = 0;
+                return;
+            } else if (-decimalAt == maximumDigits) {
+                if (shouldRoundUp(0)) {
+                    count = 1;
+                    ++decimalAt;
+                    digits[0] = (byte)'1';
+                } else {
+                    count = 0;
+                }
+                return;
+            }
+            // else fall through
+        }
+
+        // Eliminate trailing zeros.
+        while (count > 1 && digits[count - 1] == '0')
+            --count;
+
+        // Eliminate digits beyond maximum digits to be displayed.
+        // Round up if appropriate.
+        round(fixedPoint ? (maximumDigits + decimalAt) : maximumDigits == 0 ? -1 : maximumDigits);
+    }
+
+    /**
+     * Given a string representation of the form DDDDD, DDDDD.DDDDD,
+     * or DDDDDE+/-DDDDD, set this object's value to it.  Ignore
+     * any leading '-'.
+     */
+    private void set(String rep, int maxCount) {
+        decimalAt = -1;
+        count = 0;
+        int exponent = 0;
+        // Number of zeros between decimal point and first non-zero digit after
+        // decimal point, for numbers < 1.
+        int leadingZerosAfterDecimal = 0;
+        boolean nonZeroDigitSeen = false;
+        // Skip over leading '-'
+        int i=0;
+        if (rep.charAt(i) == '-') {
+            ++i;
+        }
+        for (; i < rep.length(); ++i) {
+            char c = rep.charAt(i);
+            if (c == '.') {
+                decimalAt = count;
+            } else if (c == 'e' || c == 'E') {
+                ++i;
+                // Integer.parseInt doesn't handle leading '+' signs
+                if (rep.charAt(i) == '+') {
+                    ++i;
+                }
+                exponent = Integer.valueOf(rep.substring(i)).intValue();
+                break;
+            } else if (count < maxCount) {
+                if (!nonZeroDigitSeen) {
+                    nonZeroDigitSeen = (c != '0');
+                    if (!nonZeroDigitSeen && decimalAt != -1) {
+                        ++leadingZerosAfterDecimal;
+                    }
+                }
+
+                if (nonZeroDigitSeen) {
+                    ensureCapacity(count+1, count);
+                    digits[count++] = (byte)c;
+                }
+            }
+        }
+        if (decimalAt == -1) {
+            decimalAt = count;
+        }
+        decimalAt += exponent - leadingZerosAfterDecimal;
+    }
+
+    /**
+     * Return true if truncating the representation to the given number
+     * of digits will result in an increment to the last digit.  This
+     * method implements half-even rounding, the default rounding mode.
+     * [bnf]
+     * @param maximumDigits the number of digits to keep, from 0 to
+     * <code>count-1</code>.  If 0, then all digits are rounded away, and
+     * this method returns true if a one should be generated (e.g., formatting
+     * 0.09 with "#.#").
+     * @return true if digit <code>maximumDigits-1</code> should be
+     * incremented
+     */
+    private boolean shouldRoundUp(int maximumDigits) {
+        // variable not used boolean increment = false;
+        // Implement IEEE half-even rounding
+        /*Bug 4243108
+          format(0.0) gives "0.1" if preceded by parse("99.99") [Richard/GCL]
+        */
+        if (maximumDigits < count) {
+            if (digits[maximumDigits] > '5') {
+                return true;
+            } else if (digits[maximumDigits] == '5' ) {
+                for (int i=maximumDigits+1; i<count; ++i) {
+                    if (digits[i] != '0') {
+                        return true;
+                    }
+                }
+                return maximumDigits > 0 && (digits[maximumDigits-1] % 2 != 0);
+            }
+        }
+        return false;
+    }
+
+    /**
+     * Round the representation to the given number of digits.
+     * @param maximumDigits The maximum number of digits to be shown.
+     * Upon return, count will be less than or equal to maximumDigits.
+     * This now performs rounding when maximumDigits is 0, formerly it did not.
+     */
+    public final void round(int maximumDigits) {        
+        // Eliminate digits beyond maximum digits to be displayed.
+        // Round up if appropriate.
+        // [bnf] rewritten to fix 4179818
+        if (maximumDigits >= 0 && maximumDigits < count) {
+            if (shouldRoundUp(maximumDigits)) {
+                // Rounding up involves incrementing digits from LSD to MSD.
+                // In most cases this is simple, but in a worst case situation
+                // (9999..99) we have to adjust the decimalAt value.
+                for (;;)
+                {
+                    --maximumDigits;
+                    if (maximumDigits < 0)
+                    {
+                        // We have all 9's, so we increment to a single digit
+                        // of one and adjust the exponent.
+                        digits[0] = (byte) '1';
+                        ++decimalAt;
+                        maximumDigits = 0; // Adjust the count
+                        break;
+                    }
+
+                    ++digits[maximumDigits];
+                    if (digits[maximumDigits] <= '9') break;
+                    // digits[maximumDigits] = '0'; // Unnecessary since we'll truncate this
+                }
+                ++maximumDigits; // Increment for use as count
+            }
+            count = maximumDigits;
+            /*Bug 4217661 DecimalFormat formats 1.001 to "1.00" instead of "1"
+              Eliminate trailing zeros. [Richard/GCL]
+            */
+            while (count > 1 && digits[count-1] == '0') {
+                --count;
+            } //[Richard/GCL]
+        }
+    }
+
+    /**
+     * Utility routine to set the value of the digit list from a long
+     */
+    public final void set(long source)
+    {
+        set(source, 0);
+    }
+
+    /**
+     * Set the digit list to a representation of the given long value.
+     * @param source Value to be converted; must be >= 0 or ==
+     * Long.MIN_VALUE.
+     * @param maximumDigits The most digits which should be converted.
+     * If maximumDigits is lower than the number of significant digits
+     * in source, the representation will be rounded.  Ignored if <= 0.
+     */
+    public final void set(long source, int maximumDigits)
+    {
+        // This method does not expect a negative number. However,
+        // "source" can be a Long.MIN_VALUE (-9223372036854775808),
+        // if the number being formatted is a Long.MIN_VALUE.  In that
+        // case, it will be formatted as -Long.MIN_VALUE, a number
+        // which is outside the legal range of a long, but which can
+        // be represented by DigitList.
+        // [NEW] Faster implementation
+        if (source <= 0) {
+            if (source == Long.MIN_VALUE) {
+                decimalAt = count = MAX_LONG_DIGITS;
+                System.arraycopy(LONG_MIN_REP, 0, digits, 0, count);
+            } else {
+                count = 0;
+                decimalAt = 0;
+            }
+        } else {
+            int left = MAX_LONG_DIGITS;
+            int right;
+            while (source > 0) {
+                digits[--left] = (byte) (((long) '0') + (source % 10));
+                source /= 10;
+            }
+            decimalAt = MAX_LONG_DIGITS-left;
+            // Don't copy trailing zeros
+            // we are guaranteed that there is at least one non-zero digit,
+            // so we don't have to check lower bounds
+            for (right = MAX_LONG_DIGITS - 1; digits[right] == (byte) '0'; --right) {}
+            count = right - left + 1;
+            System.arraycopy(digits, left, digits, 0, count);
+        }        
+        if (maximumDigits > 0) round(maximumDigits);
+    }
+
+    /**
+     * Set the digit list to a representation of the given BigInteger value.
+     * [bnf]
+     * @param source Value to be converted
+     * @param maximumDigits The most digits which should be converted.
+     * If maximumDigits is lower than the number of significant digits
+     * in source, the representation will be rounded.  Ignored if <= 0.
+     */
+    public final void set(BigInteger source, int maximumDigits) {
+        String stringDigits = source.toString();
+
+        count = decimalAt = stringDigits.length();
+
+        // Don't copy trailing zeros
+        while (count > 1 && stringDigits.charAt(count - 1) == '0') --count;
+
+        int offset = 0;
+        if (stringDigits.charAt(0) == '-') {
+            ++offset;
+            --count;
+            --decimalAt;
+        }
+
+        ensureCapacity(count, 0);
+        for (int i = 0; i < count; ++i) {
+            digits[i] = (byte) stringDigits.charAt(i + offset);
+        }
+
+        if (maximumDigits > 0) round(maximumDigits);
+    }
+
+    /**
+     * Internal method that sets this digit list to represent the
+     * given value.  The value is given as a String of the format
+     * returned by BigDecimal.
+     * @param stringDigits value to be represented with the following
+     * syntax, expressed as a regular expression: -?\d*.?\d*
+     * Must not be an empty string.
+     * @param maximumDigits The most digits which should be converted.
+     * If maximumDigits is lower than the number of significant digits
+     * in source, the representation will be rounded.  Ignored if <= 0.
+     * @param fixedPoint If true, then maximumDigits is the maximum
+     * fractional digits to be converted.  If false, total digits.
+     */
+    private void setBigDecimalDigits(String stringDigits,
+                                     int maximumDigits, boolean fixedPoint) {
+//|        // Find the first non-zero digit, the decimal, and the last non-zero digit.
+//|        int first=-1, last=stringDigits.length()-1, decimal=-1;
+//|        for (int i=0; (first<0 || decimal<0) && i<=last; ++i) {
+//|            char c = stringDigits.charAt(i);
+//|            if (c == '.') {
+//|                decimal = i;
+//|            } else if (first < 0 && (c >= '1' && c <= '9')) {
+//|                first = i;
+//|            }
+//|        }
+//|
+//|        if (first < 0) {
+//|            clear();
+//|            return;
+//|        }
+//|
+//|        // At this point we know there is at least one non-zero digit, so the
+//|        // following loop is safe.
+//|        for (;;) {
+//|            char c = stringDigits.charAt(last);
+//|            if (c != '0' && c != '.') {
+//|                break;
+//|            }
+//|            --last;
+//|        }
+//|
+//|        if (decimal < 0) {
+//|            decimal = stringDigits.length();
+//|        }
+//|
+//|        count = last - first;
+//|        if (decimal < first || decimal > last) {
+//|            ++count;
+//|        }
+//|        decimalAt = decimal - first;
+//|        if (decimalAt < 0) {
+//|            ++decimalAt;
+//|        }
+//|
+//|        ensureCapacity(count, 0);
+//|        for (int i = 0; i < count; ++i) {
+//|            digits[i] = (byte) stringDigits.charAt(first++);
+//|            if (first == decimal) {
+//|                ++first;
+//|            }
+//|        }
+
+        // The maxDigits here could also be Integer.MAX_VALUE
+        set(stringDigits, stringDigits.length());
+
+        // Eliminate digits beyond maximum digits to be displayed.
+        // Round up if appropriate.
+    // {dlf} Some callers depend on passing '0' to round to mean 'don't round', but
+    // rather than pass that information explicitly, we rely on some magic with maximumDigits
+    // and decimalAt.  Unfortunately, this is no good, because there are cases where maximumDigits
+    // is zero and we do want to round, e.g. BigDecimal values -1 < x < 1.  So since round
+    // changed to perform rounding when the argument is 0, we now force the argument
+    // to -1 in the situations where it matters.
+        round(fixedPoint ? (maximumDigits + decimalAt) : maximumDigits == 0 ? -1 : maximumDigits);
+    }
+
+    /**
+     * Set the digit list to a representation of the given BigDecimal value.
+     * [bnf]
+     * @param source Value to be converted
+     * @param maximumDigits The most digits which should be converted.
+     * If maximumDigits is lower than the number of significant digits
+     * in source, the representation will be rounded.  Ignored if <= 0.
+     * @param fixedPoint If true, then maximumDigits is the maximum
+     * fractional digits to be converted.  If false, total digits.
+     */
+    public final void set(java.math.BigDecimal source,
+                          int maximumDigits, boolean fixedPoint) {
+        setBigDecimalDigits(source.toString(), maximumDigits, fixedPoint);
+    }
+
+    /*
+     * Set the digit list to a representation of the given BigDecimal value.
+     * [bnf]
+     * @param source Value to be converted
+     * @param maximumDigits The most digits which should be converted.
+     * If maximumDigits is lower than the number of significant digits
+     * in source, the representation will be rounded.  Ignored if <= 0.
+     * @param fixedPoint If true, then maximumDigits is the maximum
+     * fractional digits to be converted.  If false, total digits.
+     */
+    public final void set(com.ibm.icu.math.BigDecimal source,
+                          int maximumDigits, boolean fixedPoint) {
+        setBigDecimalDigits(source.toString(), maximumDigits, fixedPoint);
+    }
+
+    /**
+     * Returns true if this DigitList represents Long.MIN_VALUE;
+     * false, otherwise.  This is required so that getLong() works.
+     */
+    private boolean isLongMIN_VALUE()
+    {
+        if (decimalAt != count || count != MAX_LONG_DIGITS)
+            return false;
+
+            for (int i = 0; i < count; ++i)
+        {
+            if (digits[i] != LONG_MIN_REP[i]) return false;
+        }
+
+        return true;
+    }
+
+    private static byte[] LONG_MIN_REP;
+
+    static
+    {
+        // Store the representation of LONG_MIN without the leading '-'
+        String s = Long.toString(Long.MIN_VALUE);
+        LONG_MIN_REP = new byte[MAX_LONG_DIGITS];
+        for (int i=0; i < MAX_LONG_DIGITS; ++i)
+        {
+            LONG_MIN_REP[i] = (byte)s.charAt(i + 1);
+        }
+    }
+
+// Unused -- Alan 2003-05
+//    /**
+//     * Return the floor of the log base 10 of a given double.
+//     * This method compensates for inaccuracies which arise naturally when
+//     * computing logs, and always give the correct value.  The parameter
+//     * must be positive and finite.
+//     */
+//    private static final int log10(double d)
+//    {
+//        // The reason this routine is needed is that simply taking the
+//        // log and dividing by log10 yields a result which may be off
+//        // by 1 due to rounding errors.  For example, the naive log10
+//        // of 1.0e300 taken this way is 299, rather than 300.
+//        double log10 = Math.log(d) / LOG10;
+//        int ilog10 = (int)Math.floor(log10);
+//        // Positive logs could be too small, e.g. 0.99 instead of 1.0
+//        if (log10 > 0 && d >= Math.pow(10, ilog10 + 1))
+//        {
+//            ++ilog10;
+//        }
+//        // Negative logs could be too big, e.g. -0.99 instead of -1.0
+//        else if (log10 < 0 && d < Math.pow(10, ilog10))
+//        {
+//            --ilog10;
+//        }
+//        return ilog10;
+//    }
+//
+//    private static final double LOG10 = Math.log(10.0);
+
+    // (The following boilerplate methods are currently not called,
+    // and cannot be called by tests since this class is
+    // package-private.  The methods may be useful in the future, so
+    // we do not delete them.  2003-06-11 ICU 2.6 Alan)
+    ///CLOVER:OFF
+    /**
+     * equality test between two digit lists.
+     */
+    public boolean equals(Object obj) {
+        if (this == obj)                      // quick check
+            return true;
+        if (!(obj instanceof DigitList))         // (1) same object?
+            return false;
+        DigitList other = (DigitList) obj;
+        if (count != other.count ||
+        decimalAt != other.decimalAt)
+            return false;
+        for (int i = 0; i < count; i++)
+            if (digits[i] != other.digits[i])
+                return false;
+        return true;
+    }
+
+    /**
+     * Generates the hash code for the digit list.
+     */
+    public int hashCode() {
+        int hashcode = decimalAt;
+
+        for (int i = 0; i < count; i++)
+            hashcode = hashcode * 37 + digits[i];
+
+        return hashcode;
+    }
+
+    public String toString()
+    {
+        if (isZero()) return "0";
+        StringBuffer buf = new StringBuffer("0.");
+        for (int i=0; i<count; ++i) buf.append((char)digits[i]);
+        buf.append("x10^");
+        buf.append(decimalAt);
+        return buf.toString();
+    }
+    ///CLOVER:ON
+}
diff --git a/src/com/ibm/icu/text/EscapeTransliterator.java b/src/com/ibm/icu/text/EscapeTransliterator.java
new file mode 100755
index 0000000..69e4cc0
--- /dev/null
+++ b/src/com/ibm/icu/text/EscapeTransliterator.java
@@ -0,0 +1,200 @@
+/*
+**********************************************************************
+*   Copyright (c) 2001-2004, International Business Machines
+*   Corporation and others.  All Rights Reserved.
+**********************************************************************
+*   Date        Name        Description
+*   11/19/2001  aliu        Creation.
+**********************************************************************
+*/
+package com.ibm.icu.text;
+import com.ibm.icu.impl.Utility;
+
+/**
+ * A transliterator that converts Unicode characters to an escape
+ * form.  Examples of escape forms are "U+4E01" and "&#x10FFFF;".
+ * Escape forms have a prefix and suffix, either of which may be
+ * empty, a radix, typically 16 or 10, a minimum digit count,
+ * typically 1, 4, or 8, and a boolean that specifies whether
+ * supplemental characters are handled as 32-bit code points or as two
+ * 16-bit code units.  Most escape forms handle 32-bit code points,
+ * but some, such as the Java form, intentionally break them into two
+ * surrogate pairs, for backward compatibility.
+ *
+ * <p>Some escape forms actually have two different patterns, one for
+ * BMP characters (0..FFFF) and one for supplements (>FFFF).  To
+ * handle this, a second EscapeTransliterator may be defined that
+ * specifies the pattern to be produced for supplementals.  An example
+ * of a form that requires this is the C form, which uses "\\uFFFF"
+ * for BMP characters and "\\U0010FFFF" for supplementals.
+ *
+ * <p>This class is package private.  It registers several standard
+ * variants with the system which are then accessed via their IDs.
+ *
+ * @author Alan Liu
+ */
+class EscapeTransliterator extends Transliterator {
+
+    /**
+     * The prefix of the escape form; may be empty, but usually isn't.
+     * May not be null.
+     */
+    private String prefix;
+
+    /**
+     * The prefix of the escape form; often empty.  May not be null.
+     */
+    private String suffix;
+
+    /**
+     * The radix to display the number in.  Typically 16 or 10.  Must
+     * be in the range 2 to 36.
+     */
+    private int radix;
+
+    /**
+     * The minimum number of digits.  Typically 1, 4, or 8.  Values
+     * less than 1 are equivalent to 1.
+     */
+    private int minDigits;
+
+    /**
+     * If true, supplementals are handled as 32-bit code points.  If
+     * false, they are handled as two 16-bit code units.
+     */
+    private boolean grokSupplementals;
+
+    /**
+     * The form to be used for supplementals.  If this is null then
+     * the same form is used for BMP characters and supplementals.  If
+     * this is not null and if grokSupplementals is true then the
+     * prefix, suffix, radix, and minDigits of this object are used
+     * for supplementals.
+     */
+    private EscapeTransliterator supplementalHandler;
+
+    /**
+     * Registers standard variants with the system.  Called by
+     * Transliterator during initialization.
+     */
+    static void register() {
+        // Unicode: "U+10FFFF" hex, min=4, max=6
+        Transliterator.registerFactory("Any-Hex/Unicode", new Transliterator.Factory() {
+            public Transliterator getInstance(String ID) {
+                return new EscapeTransliterator("Any-Hex/Unicode",
+                                                "U+", "", 16, 4, true, null);
+            }
+        });
+        
+        // Java: "\\uFFFF" hex, min=4, max=4
+        Transliterator.registerFactory("Any-Hex/Java", new Transliterator.Factory() {
+            public Transliterator getInstance(String ID) {
+                return new EscapeTransliterator("Any-Hex/Java",
+                                                "\\u", "", 16, 4, false, null);
+            }
+        });
+        
+        // C: "\\uFFFF" hex, min=4, max=4; \\U0010FFFF hex, min=8, max=8
+        Transliterator.registerFactory("Any-Hex/C", new Transliterator.Factory() {
+            public Transliterator getInstance(String ID) {
+                return new EscapeTransliterator("Any-Hex/C",
+                                                "\\u", "", 16, 4, true,
+                       new EscapeTransliterator("", "\\U", "", 16, 8, true, null));
+            }
+        });
+        
+        // XML: "&#x10FFFF;" hex, min=1, max=6
+        Transliterator.registerFactory("Any-Hex/XML", new Transliterator.Factory() {
+            public Transliterator getInstance(String ID) {
+                return new EscapeTransliterator("Any-Hex/XML",
+                                                "&#x", ";", 16, 1, true, null);
+            }
+        });
+
+        // XML10: "&1114111;" dec, min=1, max=7 (not really "Any-Hex")
+        Transliterator.registerFactory("Any-Hex/XML10", new Transliterator.Factory() {
+            public Transliterator getInstance(String ID) {
+                return new EscapeTransliterator("Any-Hex/XML10",
+                                                "&#", ";", 10, 1, true, null);
+            }
+        });
+
+        // Perl: "\\x{263A}" hex, min=1, max=6
+        Transliterator.registerFactory("Any-Hex/Perl", new Transliterator.Factory() {
+            public Transliterator getInstance(String ID) {
+                return new EscapeTransliterator("Any-Hex/Perl",
+                                                "\\x{", "}", 16, 1, true, null);
+            }
+        });
+
+        // Generic
+        Transliterator.registerFactory("Any-Hex", new Transliterator.Factory() {
+            public Transliterator getInstance(String ID) {
+                return new EscapeTransliterator("Any-Hex",
+                                                "\\u", "", 16, 4, false, null);
+            }
+        });
+    }
+
+    /**
+     * Constructs an escape transliterator with the given ID and
+     * parameters.  See the class member documentation for details.
+     */
+    EscapeTransliterator(String ID, String prefix, String suffix,
+                         int radix, int minDigits,
+                         boolean grokSupplementals,
+                         EscapeTransliterator supplementalHandler) {
+        super(ID, null);
+        this.prefix = prefix;
+        this.suffix = suffix;
+        this.radix = radix;
+        this.minDigits = minDigits;
+        this.grokSupplementals = grokSupplementals;
+        this.supplementalHandler = supplementalHandler;
+    }
+
+    /**
+     * Implements {@link Transliterator#handleTransliterate}.
+     */
+    protected void handleTransliterate(Replaceable text,
+                                       Position pos, boolean incremental) {
+        int start = pos.start;
+        int limit = pos.limit;
+
+        StringBuffer buf = new StringBuffer(prefix);
+        int prefixLen = prefix.length();
+        boolean redoPrefix = false;
+
+        while (start < limit) {
+            int c = grokSupplementals ? text.char32At(start) : text.charAt(start);
+            int charLen = grokSupplementals ? UTF16.getCharCount(c) : 1;
+
+            if ((c & 0xFFFF0000) != 0 && supplementalHandler != null) {
+                buf.setLength(0);
+                buf.append(supplementalHandler.prefix);
+                Utility.appendNumber(buf, c, supplementalHandler.radix,
+                                     supplementalHandler.minDigits);
+                buf.append(supplementalHandler.suffix);
+                redoPrefix = true;
+            } else {
+                if (redoPrefix) {
+                    buf.setLength(0);
+                    buf.append(prefix);
+                    redoPrefix = false;
+                } else {
+                    buf.setLength(prefixLen);
+                }
+                Utility.appendNumber(buf, c, radix, minDigits);
+                buf.append(suffix);
+            }
+
+            text.replace(start, start + charLen, buf.toString());
+            start += buf.length();
+            limit += buf.length() - charLen;
+        }
+
+        pos.contextLimit += limit - pos.limit;
+        pos.limit = limit;
+        pos.start = start;
+    }
+}
diff --git a/src/com/ibm/icu/text/FunctionReplacer.java b/src/com/ibm/icu/text/FunctionReplacer.java
new file mode 100755
index 0000000..bf66f3a
--- /dev/null
+++ b/src/com/ibm/icu/text/FunctionReplacer.java
@@ -0,0 +1,84 @@
+/*
+**********************************************************************
+*   Copyright (c) 2002-2003, International Business Machines Corporation
+*   and others.  All Rights Reserved.
+**********************************************************************
+*   Date        Name        Description
+*   01/14/2002  aliu        Creation.
+**********************************************************************
+*/
+
+package com.ibm.icu.text;
+
+/**
+ * A replacer that calls a transliterator to generate its output text.
+ * The input text to the transliterator is the output of another
+ * UnicodeReplacer object.  That is, this replacer wraps another
+ * replacer with a transliterator.
+ * @author Alan Liu
+ */
+class FunctionReplacer implements UnicodeReplacer {
+
+    /**
+     * The transliterator.  Must not be null.
+     */
+    private Transliterator translit;
+
+    /**
+     * The replacer object.  This generates text that is then
+     * processed by 'translit'.  Must not be null.
+     */
+    private UnicodeReplacer replacer;
+
+    /**
+     * Construct a replacer that takes the output of the given
+     * replacer, passes it through the given transliterator, and emits
+     * the result as output.
+     */
+    public FunctionReplacer(Transliterator theTranslit,
+                            UnicodeReplacer theReplacer) {
+        translit = theTranslit;
+        replacer = theReplacer;
+    }
+
+    /**
+     * UnicodeReplacer API
+     */
+    public int replace(Replaceable text,
+                       int start,
+                       int limit,
+                       int[] cursor) {
+
+        // First delegate to subordinate replacer
+        int len = replacer.replace(text, start, limit, cursor);
+        limit = start + len;
+
+        // Now transliterate
+        limit = translit.transliterate(text, start, limit);
+
+        return limit - start;
+    }
+
+    /**
+     * UnicodeReplacer API
+     */
+    public String toReplacerPattern(boolean escapeUnprintable) {
+        StringBuffer rule = new StringBuffer("&");
+        rule.append(translit.getID());
+        rule.append("( ");
+        rule.append(replacer.toReplacerPattern(escapeUnprintable));
+        rule.append(" )");
+        return rule.toString();
+    }
+
+    /**
+     * Union the set of all characters that may output by this object
+     * into the given set.
+     * @param toUnionTo the set into which to union the output characters
+     */
+    public void addReplacementSetTo(UnicodeSet toUnionTo) {
+        toUnionTo.addAll(translit.getTargetSet());
+    }
+}
+
+//eof
diff --git a/src/com/ibm/icu/text/IDNA.java b/src/com/ibm/icu/text/IDNA.java
new file mode 100644
index 0000000..eaffd14
--- /dev/null
+++ b/src/com/ibm/icu/text/IDNA.java
@@ -0,0 +1,948 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2003-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.text;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.MissingResourceException;
+
+import com.ibm.icu.impl.ICUData;
+import com.ibm.icu.impl.ICUResourceBundle;
+
+/**
+ *
+ * IDNA API implements the IDNA protocol as defined in the <a href="http://www.ietf.org/rfc/rfc3490.txt">IDNA RFC</a>.
+ * The draft defines 2 operations: ToASCII and ToUnicode. Domain labels 
+ * containing non-ASCII code points are required to be processed by
+ * ToASCII operation before passing it to resolver libraries. Domain names
+ * that are obtained from resolver libraries are required to be processed by
+ * ToUnicode operation before displaying the domain name to the user.
+ * IDNA requires that implementations process input strings with 
+ * <a href="http://www.ietf.org/rfc/rfc3491.txt">Nameprep</a>, 
+ * which is a profile of <a href="http://www.ietf.org/rfc/rfc3454.txt">Stringprep</a> , 
+ * and then with <a href="http://www.ietf.org/rfc/rfc3492.txt">Punycode</a>. 
+ * Implementations of IDNA MUST fully implement Nameprep and Punycode; 
+ * neither Nameprep nor Punycode are optional.
+ * The input and output of ToASCII and ToUnicode operations are Unicode 
+ * and are designed to be chainable, i.e., applying ToASCII or ToUnicode operations
+ * multiple times to an input string will yield the same result as applying the operation
+ * once.
+ * ToUnicode(ToUnicode(ToUnicode...(ToUnicode(string)))) == ToUnicode(string) 
+ * ToASCII(ToASCII(ToASCII...(ToASCII(string))) == ToASCII(string).
+ * 
+ * @author Ram Viswanadha
+ * @stable ICU 2.8
+ */
+public final class IDNA {
+
+    /* IDNA ACE Prefix is "xn--" */
+    private static char[] ACE_PREFIX = new char[]{ 0x0078,0x006E,0x002d,0x002d } ;
+    private static final int ACE_PREFIX_LENGTH  = 4;
+
+    private static final int MAX_LABEL_LENGTH   = 63;
+    private static final int HYPHEN             = 0x002D;
+    private static final int CAPITAL_A          = 0x0041;
+    private static final int CAPITAL_Z          = 0x005A;
+    private static final int LOWER_CASE_DELTA   = 0x0020;
+    private static final int FULL_STOP          = 0x002E;
+
+    /** 
+     * Option to prohibit processing of unassigned codepoints in the input and
+     * do not check if the input conforms to STD-3 ASCII rules.
+     * 
+     * @see  #convertToASCII #convertToUnicode
+     * @stable ICU 2.8
+     */
+    public static final int DEFAULT             = 0x0000;
+    /** 
+     * Option to allow processing of unassigned codepoints in the input
+     * 
+     * @see  #convertToASCII #convertToUnicode
+     * @stable ICU 2.8
+     */
+    public static final int ALLOW_UNASSIGNED    = 0x0001;
+    /** 
+     * Option to check if input conforms to STD-3 ASCII rules
+     * 
+     * @see #convertToASCII #convertToUnicode
+     * @stable ICU 2.8
+     */
+    public static final int USE_STD3_RULES      = 0x0002;
+    
+    // static final singleton object that is initialized
+    // at class initialization time, hence guaranteed to
+    // be initialized and thread safe
+    private static final IDNA singleton  = new IDNA();
+    
+    // The NamePrep profile object
+    private StringPrep namePrep;
+    
+    /* private constructor to prevent construction of the object */
+    private IDNA(){
+        try{
+           InputStream stream = ICUData.getRequiredStream(ICUResourceBundle.ICU_BUNDLE+"/uidna.spp");
+           namePrep = new StringPrep(stream);
+           stream.close();
+        }catch (IOException e){
+            throw new MissingResourceException(e.toString(),"","");
+        }
+    }
+    
+    private static boolean startsWithPrefix(StringBuffer src){
+        boolean startsWithPrefix = true;
+
+        if(src.length() < ACE_PREFIX_LENGTH){
+            return false;
+        }
+        for(int i=0; i<ACE_PREFIX_LENGTH;i++){
+            if(toASCIILower(src.charAt(i)) != ACE_PREFIX[i]){
+                startsWithPrefix = false;
+            }
+        }
+        return startsWithPrefix;
+    }
+
+    private static char toASCIILower(char ch){
+        if(CAPITAL_A <= ch && ch <= CAPITAL_Z){
+            return (char)(ch + LOWER_CASE_DELTA);
+        }
+        return ch;
+    }
+
+    private static StringBuffer toASCIILower(StringBuffer src){
+        StringBuffer dest = new StringBuffer();
+        for(int i=0; i<src.length();i++){
+            dest.append(toASCIILower(src.charAt(i)));
+        }
+        return dest;
+    }
+
+    private static int compareCaseInsensitiveASCII(StringBuffer s1, StringBuffer s2){
+        char c1,c2;
+        int rc;
+        for(int i =0;/* no condition */;i++) {
+            /* If we reach the ends of both strings then they match */
+            if(i == s1.length()) {
+                return 0;
+            }
+
+            c1 = s1.charAt(i);
+            c2 = s2.charAt(i);
+        
+            /* Case-insensitive comparison */
+            if(c1!=c2) {
+                rc=toASCIILower(c1)-toASCIILower(c2);
+                if(rc!=0) {
+                    return rc;
+                }
+            }
+        }
+    }
+   
+    private static int getSeparatorIndex(char[] src,int start, int limit){
+        for(; start<limit;start++){
+            if(isLabelSeparator(src[start])){
+                return start;
+            }
+        }
+        // we have not found the separator just return length
+        return start;
+    }
+    
+    /*
+    private static int getSeparatorIndex(UCharacterIterator iter){
+        int currentIndex = iter.getIndex();
+        int separatorIndex = 0;
+        int ch;
+        while((ch=iter.next())!= UCharacterIterator.DONE){
+            if(isLabelSeparator(ch)){
+                separatorIndex = iter.getIndex();
+                iter.setIndex(currentIndex);
+                return separatorIndex;
+            }
+        }
+        // reset index
+        iter.setIndex(currentIndex);
+        // we have not found the separator just return the length
+       
+    }
+    */
+    
+
+    private static boolean isLDHChar(int ch){
+        // high runner case
+        if(ch>0x007A){
+            return false;
+        }
+        //[\\u002D \\u0030-\\u0039 \\u0041-\\u005A \\u0061-\\u007A]
+        if( (ch==0x002D) || 
+            (0x0030 <= ch && ch <= 0x0039) ||
+            (0x0041 <= ch && ch <= 0x005A) ||
+            (0x0061 <= ch && ch <= 0x007A)
+          ){
+            return true;
+        }
+        return false;
+    }
+    
+    /**
+     * Ascertain if the given code point is a label separator as 
+     * defined by the IDNA RFC
+     * 
+     * @param ch The code point to be ascertained
+     * @return true if the char is a label separator
+     * @stable ICU 2.8
+     */
+    private static boolean isLabelSeparator(int ch){
+        switch(ch){
+            case 0x002e:
+            case 0x3002:
+            case 0xFF0E:
+            case 0xFF61:
+                return true;
+            default:
+                return false;           
+        }
+    }
+       
+    /**
+     * This function implements the ToASCII operation as defined in the IDNA RFC.
+     * This operation is done on <b>single labels</b> before sending it to something that expects
+     * ASCII names. A label is an individual part of a domain name. Labels are usually
+     * separated by dots; e.g." "www.example.com" is composed of 3 labels 
+     * "www","example", and "com".
+     *
+     * @param src       The input string to be processed
+     * @param options   A bit set of options:
+     *  - IDNA.DEFAULT              Use default options, i.e., do not process unassigned code points
+     *                              and do not use STD3 ASCII rules
+     *                              If unassigned code points are found the operation fails with 
+     *                              ParseException.
+     *
+     *  - IDNA.ALLOW_UNASSIGNED     Unassigned values can be converted to ASCII for query operations
+     *                              If this option is set, the unassigned code points are in the input 
+     *                              are treated as normal Unicode code points.
+     *                          
+     *  - IDNA.USE_STD3_RULES       Use STD3 ASCII rules for host name syntax restrictions
+     *                              If this option is set and the input does not satisfy STD3 rules,  
+     *                              the operation will fail with ParseException
+     * @return StringBuffer the converted String
+     * @throws ParseException
+     * @stable ICU 2.8
+     */    
+    public static StringBuffer convertToASCII(String src, int options)
+        throws StringPrepParseException{
+        UCharacterIterator iter = UCharacterIterator.getInstance(src);
+        return convertToASCII(iter,options);
+    }
+    
+    /**
+     * This function implements the ToASCII operation as defined in the IDNA RFC.
+     * This operation is done on <b>single labels</b> before sending it to something that expects
+     * ASCII names. A label is an individual part of a domain name. Labels are usually
+     * separated by dots; e.g." "www.example.com" is composed of 3 labels 
+     * "www","example", and "com".
+     *
+     * @param src       The input string as StringBuffer to be processed
+     * @param options   A bit set of options:
+     *  - IDNA.DEFAULT              Use default options, i.e., do not process unassigned code points
+     *                              and do not use STD3 ASCII rules
+     *                              If unassigned code points are found the operation fails with 
+     *                              ParseException.
+     *
+     *  - IDNA.ALLOW_UNASSIGNED     Unassigned values can be converted to ASCII for query operations
+     *                              If this option is set, the unassigned code points are in the input 
+     *                              are treated as normal Unicode code points.
+     *                          
+     *  - IDNA.USE_STD3_RULES       Use STD3 ASCII rules for host name syntax restrictions
+     *                              If this option is set and the input does not satisfy STD3 rules,  
+     *                              the operation will fail with ParseException
+     * @return StringBuffer the converted String
+     * @throws ParseException
+     * @stable ICU 2.8
+     */
+    public static StringBuffer convertToASCII(StringBuffer src, int options)
+        throws StringPrepParseException{
+        UCharacterIterator iter = UCharacterIterator.getInstance(src);
+        return convertToASCII(iter,options);
+    }
+    
+    /**
+     * This function implements the ToASCII operation as defined in the IDNA RFC.
+     * This operation is done on <b>single labels</b> before sending it to something that expects
+     * ASCII names. A label is an individual part of a domain name. Labels are usually
+     * separated by dots; e.g." "www.example.com" is composed of 3 labels 
+     * "www","example", and "com".
+     *
+     * @param src       The input string as UCharacterIterator to be processed
+     * @param options   A bit set of options:
+     *  - IDNA.DEFAULT              Use default options, i.e., do not process unassigned code points
+     *                              and do not use STD3 ASCII rules
+     *                              If unassigned code points are found the operation fails with 
+     *                              ParseException.
+     *
+     *  - IDNA.ALLOW_UNASSIGNED     Unassigned values can be converted to ASCII for query operations
+     *                              If this option is set, the unassigned code points are in the input 
+     *                              are treated as normal Unicode code points.
+     *                          
+     *  - IDNA.USE_STD3_RULES       Use STD3 ASCII rules for host name syntax restrictions
+     *                              If this option is set and the input does not satisfy STD3 rules,  
+     *                              the operation will fail with ParseException
+     * @return StringBuffer the converted String
+     * @throws ParseException
+     * @stable ICU 2.8
+     */
+    public static StringBuffer convertToASCII(UCharacterIterator src, int options)
+                throws StringPrepParseException{
+        
+        boolean[] caseFlags = null;
+    
+        // the source contains all ascii codepoints
+        boolean srcIsASCII  = true;
+        // assume the source contains all LDH codepoints
+        boolean srcIsLDH = true; 
+
+        //get the options
+        boolean useSTD3ASCIIRules = ((options & USE_STD3_RULES) != 0);
+        int ch;
+        // step 1
+        while((ch = src.next())!= UCharacterIterator.DONE){
+            if(ch> 0x7f){
+                srcIsASCII = false;
+            }
+        }
+        int failPos = -1;
+        src.setToStart();
+        StringBuffer processOut = null;
+        // step 2 is performed only if the source contains non ASCII
+        if(!srcIsASCII){
+            // step 2
+            processOut = singleton.namePrep.prepare(src, options);
+        }else{
+            processOut = new StringBuffer(src.getText());
+        }
+        int poLen = processOut.length();
+        
+        if(poLen==0){
+            throw new StringPrepParseException("Found zero length lable after NamePrep.",StringPrepParseException.ZERO_LENGTH_LABEL);
+        }
+        StringBuffer dest = new StringBuffer();
+        
+        // reset the variable to verify if output of prepare is ASCII or not
+        srcIsASCII = true;
+        
+        // step 3 & 4
+        for(int j=0;j<poLen;j++ ){
+            ch=processOut.charAt(j);
+            if(ch > 0x7F){
+                srcIsASCII = false;
+            }else if(isLDHChar(ch)==false){
+                // here we do not assemble surrogates
+                // since we know that LDH code points
+                // are in the ASCII range only
+                srcIsLDH = false;
+                failPos = j;
+            }
+        }
+    
+        if(useSTD3ASCIIRules == true){
+            // verify 3a and 3b
+            if( srcIsLDH == false /* source contains some non-LDH characters */
+                || processOut.charAt(0) ==  HYPHEN 
+                || processOut.charAt(processOut.length()-1) == HYPHEN){
+
+                /* populate the parseError struct */
+                if(srcIsLDH==false){
+                     throw new StringPrepParseException( "The input does not conform to the STD 3 ASCII rules",
+                                              StringPrepParseException.STD3_ASCII_RULES_ERROR,
+                                              processOut.toString(),
+                                             (failPos>0) ? (failPos-1) : failPos);
+                }else if(processOut.charAt(0) == HYPHEN){
+                    throw new StringPrepParseException("The input does not conform to the STD 3 ASCII rules",
+                                              StringPrepParseException.STD3_ASCII_RULES_ERROR,processOut.toString(),0);
+     
+                }else{
+                     throw new StringPrepParseException("The input does not conform to the STD 3 ASCII rules",
+                                              StringPrepParseException.STD3_ASCII_RULES_ERROR,
+                                              processOut.toString(),
+                                              (poLen>0) ? poLen-1 : poLen);
+
+                }
+            }
+        }
+        if(srcIsASCII){
+            dest =  processOut;
+        }else{
+            // step 5 : verify the sequence does not begin with ACE prefix
+            if(!startsWithPrefix(processOut)){
+
+                //step 6: encode the sequence with punycode
+                caseFlags = new boolean[poLen];
+
+                StringBuffer punyout = Punycode.encode(processOut,caseFlags);
+
+                // convert all codepoints to lower case ASCII
+                StringBuffer lowerOut = toASCIILower(punyout);
+
+                //Step 7: prepend the ACE prefix
+                dest.append(ACE_PREFIX,0,ACE_PREFIX_LENGTH);
+                //Step 6: copy the contents in b2 into dest
+                dest.append(lowerOut);
+            }else{
+
+                throw new StringPrepParseException("The input does not start with the ACE Prefix.",
+                                         StringPrepParseException.ACE_PREFIX_ERROR,processOut.toString(),0);
+            }
+        }
+        if(dest.length() > MAX_LABEL_LENGTH){
+            throw new StringPrepParseException("The labels in the input are too long. Length > 64.", 
+                                     StringPrepParseException.LABEL_TOO_LONG_ERROR,dest.toString(),0);
+        }
+        return dest;
+    }
+        
+    /**
+     * Convenience function that implements the IDNToASCII operation as defined in the IDNA RFC.
+     * This operation is done on complete domain names, e.g: "www.example.com". 
+     * It is important to note that this operation can fail. If it fails, then the input 
+     * domain name cannot be used as an Internationalized Domain Name and the application
+     * should have methods defined to deal with the failure.
+     * 
+     * <b>Note:</b> IDNA RFC specifies that a conformant application should divide a domain name
+     * into separate labels, decide whether to apply allowUnassigned and useSTD3ASCIIRules on each, 
+     * and then convert. This function does not offer that level of granularity. The options once  
+     * set will apply to all labels in the domain name
+     *
+     * @param src       The input string as UCharacterIterator to be processed
+     * @param options   A bit set of options:
+     *  - IDNA.DEFAULT              Use default options, i.e., do not process unassigned code points
+     *                              and do not use STD3 ASCII rules
+     *                              If unassigned code points are found the operation fails with 
+     *                              ParseException.
+     *
+     *  - IDNA.ALLOW_UNASSIGNED     Unassigned values can be converted to ASCII for query operations
+     *                              If this option is set, the unassigned code points are in the input 
+     *                              are treated as normal Unicode code points.
+     *                          
+     *  - IDNA.USE_STD3_RULES       Use STD3 ASCII rules for host name syntax restrictions
+     *                              If this option is set and the input does not satisfy STD3 rules,  
+     *                              the operation will fail with ParseException
+     * @return StringBuffer the converted String
+     * @throws ParseException
+     * @stable ICU 2.8
+     */
+    public static StringBuffer convertIDNToASCII(UCharacterIterator src, int options)
+            throws StringPrepParseException{
+        return convertIDNToASCII(src.getText(), options);          
+    }
+    
+    /**
+     * Convenience function that implements the IDNToASCII operation as defined in the IDNA RFC.
+     * This operation is done on complete domain names, e.g: "www.example.com". 
+     * It is important to note that this operation can fail. If it fails, then the input 
+     * domain name cannot be used as an Internationalized Domain Name and the application
+     * should have methods defined to deal with the failure.
+     * 
+     * <b>Note:</b> IDNA RFC specifies that a conformant application should divide a domain name
+     * into separate labels, decide whether to apply allowUnassigned and useSTD3ASCIIRules on each, 
+     * and then convert. This function does not offer that level of granularity. The options once  
+     * set will apply to all labels in the domain name
+     *
+     * @param src       The input string as a StringBuffer to be processed
+     * @param options   A bit set of options:
+     *  - IDNA.DEFAULT              Use default options, i.e., do not process unassigned code points
+     *                              and do not use STD3 ASCII rules
+     *                              If unassigned code points are found the operation fails with 
+     *                              ParseException.
+     *
+     *  - IDNA.ALLOW_UNASSIGNED     Unassigned values can be converted to ASCII for query operations
+     *                              If this option is set, the unassigned code points are in the input 
+     *                              are treated as normal Unicode code points.
+     *                          
+     *  - IDNA.USE_STD3_RULES       Use STD3 ASCII rules for host name syntax restrictions
+     *                              If this option is set and the input does not satisfy STD3 rules,  
+     *                              the operation will fail with ParseException
+     * @return StringBuffer the converted String
+     * @throws ParseException
+     * @stable ICU 2.8
+     */
+    public static StringBuffer convertIDNToASCII(StringBuffer src, int options)
+            throws StringPrepParseException{
+            return convertIDNToASCII(src.toString(), options);          
+    }
+    
+    /**
+     * Convenience function that implements the IDNToASCII operation as defined in the IDNA RFC.
+     * This operation is done on complete domain names, e.g: "www.example.com". 
+     * It is important to note that this operation can fail. If it fails, then the input 
+     * domain name cannot be used as an Internationalized Domain Name and the application
+     * should have methods defined to deal with the failure.
+     * 
+     * <b>Note:</b> IDNA RFC specifies that a conformant application should divide a domain name
+     * into separate labels, decide whether to apply allowUnassigned and useSTD3ASCIIRules on each, 
+     * and then convert. This function does not offer that level of granularity. The options once  
+     * set will apply to all labels in the domain name
+     *
+     * @param src       The input string to be processed
+     * @param options   A bit set of options:
+     *  - IDNA.DEFAULT              Use default options, i.e., do not process unassigned code points
+     *                              and do not use STD3 ASCII rules
+     *                              If unassigned code points are found the operation fails with 
+     *                              ParseException.
+     *
+     *  - IDNA.ALLOW_UNASSIGNED     Unassigned values can be converted to ASCII for query operations
+     *                              If this option is set, the unassigned code points are in the input 
+     *                              are treated as normal Unicode code points.
+     *                          
+     *  - IDNA.USE_STD3_RULES       Use STD3 ASCII rules for host name syntax restrictions
+     *                              If this option is set and the input does not satisfy STD3 rules,  
+     *                              the operation will fail with ParseException
+     * @return StringBuffer the converted String
+     * @throws ParseException
+     * @stable ICU 2.8
+     */
+    public static StringBuffer convertIDNToASCII(String src,int options)
+            throws StringPrepParseException{
+
+        char[] srcArr = src.toCharArray();
+        StringBuffer result = new StringBuffer();
+        int sepIndex=0;
+        int oldSepIndex=0;
+        for(;;){
+            sepIndex = getSeparatorIndex(srcArr,sepIndex,srcArr.length);
+            String label = new String(srcArr,oldSepIndex,sepIndex-oldSepIndex);
+            //make sure this is not a root label separator.
+            if(!(label.length()==0 && sepIndex==srcArr.length)){
+                UCharacterIterator iter = UCharacterIterator.getInstance(label);
+                result.append(convertToASCII(iter,options));
+            }
+            if(sepIndex==srcArr.length){
+                break;
+            }
+            
+            // increment the sepIndex to skip past the separator
+            sepIndex++;
+            oldSepIndex = sepIndex;
+            result.append((char)FULL_STOP);
+        }
+        return result;
+    }
+
+    
+    /**
+     * This function implements the ToUnicode operation as defined in the IDNA RFC.
+     * This operation is done on <b>single labels</b> before sending it to something that expects
+     * Unicode names. A label is an individual part of a domain name. Labels are usually
+     * separated by dots; for e.g." "www.example.com" is composed of 3 labels 
+     * "www","example", and "com".
+     * 
+     * @param src       The input string to be processed
+     * @param options   A bit set of options:
+     *  - IDNA.DEFAULT              Use default options, i.e., do not process unassigned code points
+     *                              and do not use STD3 ASCII rules
+     *                              If unassigned code points are found the operation fails with 
+     *                              ParseException.
+     *
+     *  - IDNA.ALLOW_UNASSIGNED     Unassigned values can be converted to ASCII for query operations
+     *                              If this option is set, the unassigned code points are in the input 
+     *                              are treated as normal Unicode code points.
+     *                          
+     *  - IDNA.USE_STD3_RULES       Use STD3 ASCII rules for host name syntax restrictions
+     *                              If this option is set and the input does not satisfy STD3 rules,  
+     *                              the operation will fail with ParseException
+     * @return StringBuffer the converted String
+     * @throws ParseException
+     * @stable ICU 2.8
+     */
+    public static StringBuffer convertToUnicode(String src, int options)
+           throws StringPrepParseException{
+        UCharacterIterator iter = UCharacterIterator.getInstance(src);
+        return convertToUnicode(iter,options);
+    }
+    
+    /**
+     * This function implements the ToUnicode operation as defined in the IDNA RFC.
+     * This operation is done on <b>single labels</b> before sending it to something that expects
+     * Unicode names. A label is an individual part of a domain name. Labels are usually
+     * separated by dots; for e.g." "www.example.com" is composed of 3 labels 
+     * "www","example", and "com".
+     * 
+     * @param src       The input string as StringBuffer to be processed
+     * @param options   A bit set of options:
+     *  - IDNA.DEFAULT              Use default options, i.e., do not process unassigned code points
+     *                              and do not use STD3 ASCII rules
+     *                              If unassigned code points are found the operation fails with 
+     *                              ParseException.
+     *
+     *  - IDNA.ALLOW_UNASSIGNED     Unassigned values can be converted to ASCII for query operations
+     *                              If this option is set, the unassigned code points are in the input 
+     *                              are treated as normal Unicode code points.
+     *                          
+     *  - IDNA.USE_STD3_RULES       Use STD3 ASCII rules for host name syntax restrictions
+     *                              If this option is set and the input does not satisfy STD3 rules,  
+     *                              the operation will fail with ParseException
+     * @return StringBuffer the converted String
+     * @throws ParseException
+     * @stable ICU 2.8
+     */
+    public static StringBuffer convertToUnicode(StringBuffer src, int options)
+           throws StringPrepParseException{
+        UCharacterIterator iter = UCharacterIterator.getInstance(src);
+        return convertToUnicode(iter,options);
+    }
+       
+    /**
+     * This function implements the ToUnicode operation as defined in the IDNA RFC.
+     * This operation is done on <b>single labels</b> before sending it to something that expects
+     * Unicode names. A label is an individual part of a domain name. Labels are usually
+     * separated by dots; for e.g." "www.example.com" is composed of 3 labels 
+     * "www","example", and "com".
+     * 
+     * @param src       The input string as UCharacterIterator to be processed
+     * @param options   A bit set of options:
+     *  - IDNA.DEFAULT              Use default options, i.e., do not process unassigned code points
+     *                              and do not use STD3 ASCII rules
+     *                              If unassigned code points are found the operation fails with 
+     *                              ParseException.
+     *
+     *  - IDNA.ALLOW_UNASSIGNED     Unassigned values can be converted to ASCII for query operations
+     *                              If this option is set, the unassigned code points are in the input 
+     *                              are treated as normal Unicode code points.
+     *                          
+     *  - IDNA.USE_STD3_RULES       Use STD3 ASCII rules for host name syntax restrictions
+     *                              If this option is set and the input does not satisfy STD3 rules,  
+     *                              the operation will fail with ParseException
+     * @return StringBuffer the converted String
+     * @throws ParseException
+     * @stable ICU 2.8
+     */
+    public static StringBuffer convertToUnicode(UCharacterIterator src, int options)
+           throws StringPrepParseException{
+        
+        boolean[] caseFlags = null;
+        
+        // the source contains all ascii codepoints
+        boolean srcIsASCII  = true;
+        // assume the source contains all LDH codepoints
+        boolean srcIsLDH = true; 
+        
+        //get the options
+        boolean useSTD3ASCIIRules = ((options & USE_STD3_RULES) != 0);
+        
+        int failPos = -1;
+        int ch;
+        int saveIndex = src.getIndex();
+        // step 1: find out if all the codepoints in src are ASCII  
+        while((ch=src.next())!= UCharacterIterator.DONE){
+            if(ch>0x7F){
+                srcIsASCII = false;
+            }else if((srcIsLDH = isLDHChar(ch))==false){
+                failPos = src.getIndex();
+            }
+        }
+        StringBuffer processOut;
+        
+        if(srcIsASCII == false){
+            // step 2: process the string
+            src.setIndex(saveIndex);
+            processOut = singleton.namePrep.prepare(src,options);
+
+        }else{
+            //just point to source
+            processOut = new StringBuffer(src.getText());
+        }
+        // TODO:
+        // The RFC states that 
+        // <quote>
+        // ToUnicode never fails. If any step fails, then the original input
+        // is returned immediately in that step.
+        // </quote>
+        
+        //step 3: verify ACE Prefix
+        if(startsWithPrefix(processOut)){
+
+            //step 4: Remove the ACE Prefix
+            String temp = processOut.substring(ACE_PREFIX_LENGTH,processOut.length());
+
+            //step 5: Decode using punycode
+            StringBuffer decodeOut = Punycode.decode(new StringBuffer(temp),caseFlags);
+        
+            //step 6:Apply toASCII
+            StringBuffer toASCIIOut = convertToASCII(decodeOut, options);
+
+            //step 7: verify
+            if(compareCaseInsensitiveASCII(processOut, toASCIIOut) !=0){
+                throw new StringPrepParseException("The verification step prescribed by the RFC 3491 failed",
+                                         StringPrepParseException.VERIFICATION_ERROR); 
+            }
+
+            //step 8: return output of step 5
+            return decodeOut;
+            
+        }else{
+            // verify that STD3 ASCII rules are satisfied
+            if(useSTD3ASCIIRules == true){
+                if( srcIsLDH == false /* source contains some non-LDH characters */
+                    || processOut.charAt(0) ==  HYPHEN 
+                    || processOut.charAt(processOut.length()-1) == HYPHEN){
+    
+                    if(srcIsLDH==false){
+                        throw new StringPrepParseException("The input does not conform to the STD 3 ASCII rules",
+                                                 StringPrepParseException.STD3_ASCII_RULES_ERROR,processOut.toString(),
+                                                 (failPos>0) ? (failPos-1) : failPos);
+                    }else if(processOut.charAt(0) == HYPHEN){
+                        throw new StringPrepParseException("The input does not conform to the STD 3 ASCII rules",
+                                                 StringPrepParseException.STD3_ASCII_RULES_ERROR,
+                                                 processOut.toString(),0);
+         
+                    }else{
+                        throw new StringPrepParseException("The input does not conform to the STD 3 ASCII rules",
+                                                 StringPrepParseException.STD3_ASCII_RULES_ERROR,
+                                                 processOut.toString(),
+                                                 processOut.length());
+    
+                    }
+                }
+            }
+            // just return the source
+            return new StringBuffer(src.getText());
+        }  
+    }
+    
+    /**
+     * Convenience function that implements the IDNToUnicode operation as defined in the IDNA RFC.
+     * This operation is done on complete domain names, e.g: "www.example.com". 
+     *
+     * <b>Note:</b> IDNA RFC specifies that a conformant application should divide a domain name
+     * into separate labels, decide whether to apply allowUnassigned and useSTD3ASCIIRules on each, 
+     * and then convert. This function does not offer that level of granularity. The options once  
+     * set will apply to all labels in the domain name
+     *
+     * @param src       The input string as UCharacterIterator to be processed
+     * @param options   A bit set of options:
+     *  - IDNA.DEFAULT              Use default options, i.e., do not process unassigned code points
+     *                              and do not use STD3 ASCII rules
+     *                              If unassigned code points are found the operation fails with 
+     *                              ParseException.
+     *
+     *  - IDNA.ALLOW_UNASSIGNED     Unassigned values can be converted to ASCII for query operations
+     *                              If this option is set, the unassigned code points are in the input 
+     *                              are treated as normal Unicode code points.
+     *                          
+     *  - IDNA.USE_STD3_RULES       Use STD3 ASCII rules for host name syntax restrictions
+     *                              If this option is set and the input does not satisfy STD3 rules,  
+     *                              the operation will fail with ParseException
+     * @return StringBuffer the converted String
+     * @throws ParseException
+     * @stable ICU 2.8
+     */
+    public static StringBuffer convertIDNToUnicode(UCharacterIterator src, int options)
+        throws StringPrepParseException{
+        return convertIDNToUnicode(src.getText(), options);
+    }
+    
+    /**
+     * Convenience function that implements the IDNToUnicode operation as defined in the IDNA RFC.
+     * This operation is done on complete domain names, e.g: "www.example.com". 
+     *
+     * <b>Note:</b> IDNA RFC specifies that a conformant application should divide a domain name
+     * into separate labels, decide whether to apply allowUnassigned and useSTD3ASCIIRules on each, 
+     * and then convert. This function does not offer that level of granularity. The options once  
+     * set will apply to all labels in the domain name
+     *
+     * @param src       The input string as StringBuffer to be processed
+     * @param options   A bit set of options:
+     *  - IDNA.DEFAULT              Use default options, i.e., do not process unassigned code points
+     *                              and do not use STD3 ASCII rules
+     *                              If unassigned code points are found the operation fails with 
+     *                              ParseException.
+     *
+     *  - IDNA.ALLOW_UNASSIGNED     Unassigned values can be converted to ASCII for query operations
+     *                              If this option is set, the unassigned code points are in the input 
+     *                              are treated as normal Unicode code points.
+     *                          
+     *  - IDNA.USE_STD3_RULES       Use STD3 ASCII rules for host name syntax restrictions
+     *                              If this option is set and the input does not satisfy STD3 rules,  
+     *                              the operation will fail with ParseException
+     * @return StringBuffer the converted String
+     * @throws ParseException
+     * @stable ICU 2.8
+     */
+    public static StringBuffer convertIDNToUnicode(StringBuffer src, int options)
+        throws StringPrepParseException{
+        return convertIDNToUnicode(src.toString(), options);
+    }
+    
+    /**
+     * Convenience function that implements the IDNToUnicode operation as defined in the IDNA RFC.
+     * This operation is done on complete domain names, e.g: "www.example.com". 
+     *
+     * <b>Note:</b> IDNA RFC specifies that a conformant application should divide a domain name
+     * into separate labels, decide whether to apply allowUnassigned and useSTD3ASCIIRules on each, 
+     * and then convert. This function does not offer that level of granularity. The options once  
+     * set will apply to all labels in the domain name
+     *
+     * @param src       The input string to be processed
+     * @param options   A bit set of options:
+     *  - IDNA.DEFAULT              Use default options, i.e., do not process unassigned code points
+     *                              and do not use STD3 ASCII rules
+     *                              If unassigned code points are found the operation fails with 
+     *                              ParseException.
+     *
+     *  - IDNA.ALLOW_UNASSIGNED     Unassigned values can be converted to ASCII for query operations
+     *                              If this option is set, the unassigned code points are in the input 
+     *                              are treated as normal Unicode code points.
+     *                          
+     *  - IDNA.USE_STD3_RULES       Use STD3 ASCII rules for host name syntax restrictions
+     *                              If this option is set and the input does not satisfy STD3 rules,  
+     *                              the operation will fail with ParseException
+     * @return StringBuffer the converted String
+     * @throws ParseException
+     * @stable ICU 2.8
+     */
+    public static StringBuffer convertIDNToUnicode(String src, int options)
+        throws StringPrepParseException{
+            
+        char[] srcArr = src.toCharArray();
+        StringBuffer result = new StringBuffer();
+        int sepIndex=0;
+        int oldSepIndex=0;
+        for(;;){
+            sepIndex = getSeparatorIndex(srcArr,sepIndex,srcArr.length);
+            String label = new String(srcArr,oldSepIndex,sepIndex-oldSepIndex);
+            if(label.length()==0 && sepIndex!=srcArr.length ){
+                throw new StringPrepParseException("Found zero length lable after NamePrep.",StringPrepParseException.ZERO_LENGTH_LABEL);
+            }
+            UCharacterIterator iter = UCharacterIterator.getInstance(label);
+            result.append(convertToUnicode(iter,options));
+            if(sepIndex==srcArr.length){
+                break;
+            }
+            // increment the sepIndex to skip past the separator
+            sepIndex++;
+            oldSepIndex =sepIndex;
+            result.append((char)FULL_STOP);
+        }
+        return result;
+    }
+    
+    /**
+     * Compare two IDN strings for equivalence.
+     * This function splits the domain names into labels and compares them.
+     * According to IDN RFC, whenever two labels are compared, they are 
+     * considered equal if and only if their ASCII forms (obtained by 
+     * applying toASCII) match using an case-insensitive ASCII comparison.
+     * Two domain names are considered a match if and only if all labels 
+     * match regardless of whether label separators match.
+     * 
+     * @param s1        First IDN string as StringBuffer
+     * @param s2        Second IDN string as StringBuffer
+     * @param options   A bit set of options:
+     *  - IDNA.DEFAULT              Use default options, i.e., do not process unassigned code points
+     *                              and do not use STD3 ASCII rules
+     *                              If unassigned code points are found the operation fails with 
+     *                              ParseException.
+     *
+     *  - IDNA.ALLOW_UNASSIGNED    Unassigned values can be converted to ASCII for query operations
+     *                              If this option is set, the unassigned code points are in the input 
+     *                              are treated as normal Unicode code points.
+     *                          
+     *  - IDNA.USE_STD3_RULES      Use STD3 ASCII rules for host name syntax restrictions
+     *                              If this option is set and the input does not satisfy STD3 rules,  
+     *                              the operation will fail with ParseException
+     * @return 0 if the strings are equal, > 0 if s1 > s2 and < 0 if s1 < s2
+     * @throws ParseException
+     * @stable ICU 2.8
+     */
+    //  TODO: optimize
+    public static int compare(StringBuffer s1, StringBuffer s2, int options)
+        throws StringPrepParseException{
+        if(s1==null || s2 == null){
+            throw new IllegalArgumentException("One of the source buffers is null");
+        }
+        StringBuffer s1Out = convertIDNToASCII(s1.toString(),options);
+        StringBuffer s2Out = convertIDNToASCII(s2.toString(), options);
+        return compareCaseInsensitiveASCII(s1Out,s2Out);
+    }
+    
+    /**
+     * Compare two IDN strings for equivalence.
+     * This function splits the domain names into labels and compares them.
+     * According to IDN RFC, whenever two labels are compared, they are 
+     * considered equal if and only if their ASCII forms (obtained by 
+     * applying toASCII) match using an case-insensitive ASCII comparison.
+     * Two domain names are considered a match if and only if all labels 
+     * match regardless of whether label separators match.
+     * 
+     * @param s1        First IDN string 
+     * @param s2        Second IDN string
+     * @param options   A bit set of options:
+     *  - IDNA.DEFAULT              Use default options, i.e., do not process unassigned code points
+     *                              and do not use STD3 ASCII rules
+     *                              If unassigned code points are found the operation fails with 
+     *                              ParseException.
+     *
+     *  - IDNA.ALLOW_UNASSIGNED    Unassigned values can be converted to ASCII for query operations
+     *                              If this option is set, the unassigned code points are in the input 
+     *                              are treated as normal Unicode code points.
+     *                          
+     *  - IDNA.USE_STD3_RULES      Use STD3 ASCII rules for host name syntax restrictions
+     *                              If this option is set and the input does not satisfy STD3 rules,  
+     *                              the operation will fail with ParseException
+     * @return 0 if the strings are equal, > 0 if s1 > s2 and < 0 if s1 < s2
+     * @throws ParseException
+     * @stable ICU 2.8
+     */
+    //  TODO: optimize
+    public static int compare(String s1, String s2, int options)
+        throws StringPrepParseException{
+        if(s1==null || s2 == null){
+            throw new IllegalArgumentException("One of the source buffers is null");
+        }
+        StringBuffer s1Out = convertIDNToASCII(s1, options);
+        StringBuffer s2Out = convertIDNToASCII(s2, options);
+        return compareCaseInsensitiveASCII(s1Out,s2Out);
+    }
+    /**
+     * Compare two IDN strings for equivalence.
+     * This function splits the domain names into labels and compares them.
+     * According to IDN RFC, whenever two labels are compared, they are 
+     * considered equal if and only if their ASCII forms (obtained by 
+     * applying toASCII) match using an case-insensitive ASCII comparison.
+     * Two domain names are considered a match if and only if all labels 
+     * match regardless of whether label separators match.
+     * 
+     * @param s1        First IDN string as UCharacterIterator
+     * @param s2        Second IDN string as UCharacterIterator
+     * @param options   A bit set of options:
+     *  - IDNA.DEFAULT              Use default options, i.e., do not process unassigned code points
+     *                              and do not use STD3 ASCII rules
+     *                              If unassigned code points are found the operation fails with 
+     *                              ParseException.
+     *
+     *  - IDNA.ALLOW_UNASSIGNED     Unassigned values can be converted to ASCII for query operations
+     *                              If this option is set, the unassigned code points are in the input 
+     *                              are treated as normal Unicode code points.
+     *                          
+     *  - IDNA.USE_STD3_RULES       Use STD3 ASCII rules for host name syntax restrictions
+     *                              If this option is set and the input does not satisfy STD3 rules,  
+     *                              the operation will fail with ParseException
+     * @return 0 if the strings are equal, > 0 if i1 > i2 and < 0 if i1 < i2
+     * @throws ParseException
+     * @stable ICU 2.8
+     */
+    //  TODO: optimize
+    public static int compare(UCharacterIterator s1, UCharacterIterator s2, int options)
+        throws StringPrepParseException{
+        if(s1==null || s2 == null){
+            throw new IllegalArgumentException("One of the source buffers is null");
+        }
+        StringBuffer s1Out = convertIDNToASCII(s1.getText(), options);
+        StringBuffer s2Out = convertIDNToASCII(s2.getText(), options);
+        return compareCaseInsensitiveASCII(s1Out,s2Out);
+    }
+}
diff --git a/src/com/ibm/icu/text/LowercaseTransliterator.java b/src/com/ibm/icu/text/LowercaseTransliterator.java
new file mode 100755
index 0000000..a713a7e
--- /dev/null
+++ b/src/com/ibm/icu/text/LowercaseTransliterator.java
@@ -0,0 +1,121 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.text;
+
+import java.io.IOException;
+
+import com.ibm.icu.impl.UCaseProps;
+
+import com.ibm.icu.util.ULocale;
+
+import com.ibm.icu.text.ReplaceableContextIterator;
+
+/**
+ * A transliterator that performs locale-sensitive toLower()
+ * case mapping.
+ */
+class LowercaseTransliterator extends Transliterator{
+
+    /**
+     * Package accessible ID.
+     */
+    static final String _ID = "Any-Lower";
+    
+    // TODO: Add variants for tr, az, lt, default = default locale
+
+    /**
+     * System registration hook.
+     */
+    static void register() {
+        Transliterator.registerFactory(_ID, new Transliterator.Factory() {
+            public Transliterator getInstance(String ID) {
+                return new LowercaseTransliterator(ULocale.US);
+            }
+        });
+
+        Transliterator.registerSpecialInverse("Lower", "Upper", true);
+    }
+
+    private ULocale locale;
+
+    private UCaseProps csp;
+    private ReplaceableContextIterator iter;
+    private StringBuffer result;
+    private int[] locCache;
+
+    /**
+     * Constructs a transliterator.
+     */
+
+    public LowercaseTransliterator(ULocale loc) {
+        super(_ID, null);
+        locale = loc;
+        try {
+            csp=UCaseProps.getSingleton();
+        } catch (IOException e) {
+            csp=null;
+        }
+        iter=new ReplaceableContextIterator();
+        result = new StringBuffer();
+        int[] locCache = new int[1];
+        locCache[0]=0;
+    }
+
+    /**
+     * Implements {@link Transliterator#handleTransliterate}.
+     */
+    protected void handleTransliterate(Replaceable text,
+                                       Position offsets, boolean isIncremental) {
+        if(csp==null) {
+            return;
+        }
+
+        if(offsets.start >= offsets.limit) {
+            return;
+        } 
+
+        iter.setText(text);
+        result.setLength(0);
+        int c, delta;
+
+        // Walk through original string
+        // If there is a case change, modify corresponding position in replaceable
+
+        iter.setIndex(offsets.start);
+        iter.setLimit(offsets.limit);
+        iter.setContextLimits(offsets.contextStart, offsets.contextLimit);
+        while((c=iter.nextCaseMapCP())>=0) {
+            c=csp.toFullLower(c, iter, result, locale, locCache);
+
+            if(iter.didReachLimit() && isIncremental) {
+                // the case mapping function tried to look beyond the context limit
+                // wait for more input
+                offsets.start=iter.getCaseMapCPStart();
+                return;
+            }
+
+            /* decode the result */
+            if(c<0) {
+                /* c mapped to itself, no change */
+                continue;
+            } else if(c<=UCaseProps.MAX_STRING_LENGTH) {
+                /* replace by the mapping string */
+                delta=iter.replace(result.toString());
+                result.setLength(0);
+            } else {
+                /* replace by single-code point mapping */
+                delta=iter.replace(UTF16.valueOf(c));
+            }
+
+            if(delta!=0) {
+                offsets.limit += delta;
+                offsets.contextLimit += delta;
+            }
+        }
+        offsets.start = offsets.limit;
+    }
+}
diff --git a/src/com/ibm/icu/text/MeasureFormat.java b/src/com/ibm/icu/text/MeasureFormat.java
new file mode 100644
index 0000000..603d3fa
--- /dev/null
+++ b/src/com/ibm/icu/text/MeasureFormat.java
@@ -0,0 +1,57 @@
+/*
+**********************************************************************
+* Copyright (c) 2004-2005, International Business Machines
+* Corporation and others.  All Rights Reserved.
+**********************************************************************
+* Author: Alan Liu
+* Created: April 20, 2004
+* Since: ICU 3.0
+**********************************************************************
+*/
+package com.ibm.icu.text;
+
+import com.ibm.icu.util.ULocale;
+
+/**
+ * A formatter for Measure objects.  This is an abstract base class.
+ *
+ * <p>To format or parse a Measure object, first create a formatter
+ * object using a MeasureFormat factory method.  Then use that
+ * object's format and parse methods.
+ *
+ * @see com.ibm.icu.text.UFormat
+ * @author Alan Liu
+ * @draft ICU 3.0
+ * @deprecated This is a draft API and might change in a future release of ICU.
+ */
+public abstract class MeasureFormat extends UFormat {
+    // no serialVersionUID, can't instantiate
+
+    /**
+     * @internal
+     */
+    protected MeasureFormat() {};
+    
+    /**
+     * Return a formatter for CurrencyAmount objects in the given
+     * locale.
+     * @param locale desired locale
+     * @return a formatter object
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static MeasureFormat getCurrencyFormat(ULocale locale) {
+        return new CurrencyFormat(locale);
+    }
+
+    /**
+     * Return a formatter for CurrencyAmount objects in the default
+     * locale.
+     * @return a formatter object
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static MeasureFormat getCurrencyFormat() {
+        return getCurrencyFormat(ULocale.getDefault());
+    }
+}
diff --git a/src/com/ibm/icu/text/MessageFormat.java b/src/com/ibm/icu/text/MessageFormat.java
new file mode 100644
index 0000000..32470df
--- /dev/null
+++ b/src/com/ibm/icu/text/MessageFormat.java
@@ -0,0 +1,1741 @@
+/*
+**********************************************************************
+* Copyright (c) 2004-2005, International Business Machines
+* Corporation and others.  All Rights Reserved.
+**********************************************************************
+* Author: Alan Liu
+* Created: April 6, 2004
+* Since: ICU 3.0
+**********************************************************************
+*/
+package com.ibm.icu.text;
+
+import java.io.IOException;
+import java.io.InvalidObjectException;
+import java.io.ObjectInputStream;
+import java.text.ChoiceFormat;
+import java.text.FieldPosition;
+import java.text.Format;
+import java.text.ParseException;
+import java.text.ParsePosition;
+import java.util.Date;
+import java.util.Locale;
+
+import com.ibm.icu.impl.Utility;
+import com.ibm.icu.text.RuleBasedNumberFormat;
+import com.ibm.icu.util.ULocale;
+
+/**
+ * <code>MessageFormat</code> provides a means to produce concatenated
+ * messages in language-neutral way. Use this to construct messages
+ * displayed for end users.
+ *
+ * <p>
+ * <code>MessageFormat</code> takes a set of objects, formats them, then
+ * inserts the formatted strings into the pattern at the appropriate places.
+ *
+ * <p>
+ * <strong>Note:</strong>
+ * <code>MessageFormat</code> differs from the other <code>Format</code>
+ * classes in that you create a <code>MessageFormat</code> object with one
+ * of its constructors (not with a <code>getInstance</code> style factory
+ * method). The factory methods aren't necessary because <code>MessageFormat</code>
+ * itself doesn't implement locale specific behavior. Any locale specific
+ * behavior is defined by the pattern that you provide as well as the
+ * subformats used for inserted arguments.
+ *
+ * <h4><a name="patterns">Patterns and Their Interpretation</a></h4>
+ *
+ * <code>MessageFormat</code> uses patterns of the following form:
+ * <blockquote><pre>
+ * <i>MessageFormatPattern:</i>
+ *         <i>String</i>
+ *         <i>MessageFormatPattern</i> <i>FormatElement</i> <i>String</i>
+ *
+ * <i>FormatElement:</i>
+ *         { <i>ArgumentIndex</i> }
+ *         { <i>ArgumentIndex</i> , <i>FormatType</i> }
+ *         { <i>ArgumentIndex</i> , <i>FormatType</i> , <i>FormatStyle</i> }
+ *
+ * <i>FormatType: one of </i>
+ *         number date time choice
+ *
+ * <i>FormatStyle:</i>
+ *         short
+ *         medium
+ *         long
+ *         full
+ *         integer
+ *         currency
+ *         percent
+ *         <i>SubformatPattern</i>
+ *
+ * <i>String:</i>
+ *         <i>StringPart<sub>opt</sub></i>
+ *         <i>String</i> <i>StringPart</i>
+ *
+ * <i>StringPart:</i>
+ *         ''
+ *         ' <i>QuotedString</i> '
+ *         <i>UnquotedString</i>
+ *
+ * <i>SubformatPattern:</i>
+ *         <i>SubformatPatternPart<sub>opt</sub></i>
+ *         <i>SubformatPattern</i> <i>SubformatPatternPart</i>
+ *
+ * <i>SubFormatPatternPart:</i>
+ *         ' <i>QuotedPattern</i> '
+ *         <i>UnquotedPattern</i>
+ * </pre></blockquote>
+ *
+ * <p>
+ * Within a <i>String</i>, <code>"''"</code> represents a single
+ * quote. A <i>QuotedString</i> can contain arbitrary characters
+ * except single quotes; the surrounding single quotes are removed.
+ * An <i>UnquotedString</i> can contain arbitrary characters
+ * except single quotes and left curly brackets. Thus, a string that
+ * should result in the formatted message "'{0}'" can be written as
+ * <code>"'''{'0}''"</code> or <code>"'''{0}'''"</code>.
+ * <p>
+ * Within a <i>SubformatPattern</i>, different rules apply.
+ * A <i>QuotedPattern</i> can contain arbitrary characters
+ * except single quotes; but the surrounding single quotes are
+ * <strong>not</strong> removed, so they may be interpreted by the
+ * subformat. For example, <code>"{1,number,$'#',##}"</code> will
+ * produce a number format with the pound-sign quoted, with a result
+ * such as: "$#31,45".
+ * An <i>UnquotedPattern</i> can contain arbitrary characters
+ * except single quotes, but curly braces within it must be balanced.
+ * For example, <code>"ab {0} de"</code> and <code>"ab '}' de"</code>
+ * are valid subformat patterns, but <code>"ab {0'}' de"</code> and
+ * <code>"ab } de"</code> are not.
+ * <p>
+ * <dl><dt><b>Warning:</b><dd>The rules for using quotes within message
+ * format patterns unfortunately have shown to be somewhat confusing.
+ * In particular, it isn't always obvious to localizers whether single
+ * quotes need to be doubled or not. Make sure to inform localizers about
+ * the rules, and tell them (for example, by using comments in resource
+ * bundle source files) which strings will be processed by MessageFormat.
+ * Note that localizers may need to use single quotes in translated
+ * strings where the original version doesn't have them.
+ * <br>Note also that the simplest way to avoid the problem is to
+ * use the real apostrophe (single quote) character \u2019 (') for
+ * human-readable text, and to use the ASCII apostrophe (\u0027 ' )
+ * only in program syntax, like quoting in MessageFormat.
+ * See the annotations for U+0027 Apostrophe in The Unicode Standard.</p>
+ * </dl>
+ * <p>
+ * The <i>ArgumentIndex</i> value is a non-negative integer written
+ * using the digits '0' through '9', and represents an index into the
+ * <code>arguments</code> array passed to the <code>format</code> methods
+ * or the result array returned by the <code>parse</code> methods.
+ * <p>
+ * The <i>FormatType</i> and <i>FormatStyle</i> values are used to create
+ * a <code>Format</code> instance for the format element. The following
+ * table shows how the values map to Format instances. Combinations not
+ * shown in the table are illegal. A <i>SubformatPattern</i> must
+ * be a valid pattern string for the Format subclass used.
+ * <p>
+ * <table border=1>
+ *    <tr>
+ *       <th>Format Type
+ *       <th>Format Style
+ *       <th>Subformat Created
+ *    <tr>
+ *       <td colspan=2><i>(none)</i>
+ *       <td><code>null</code>
+ *    <tr>
+ *       <td rowspan=5><code>number</code>
+ *       <td><i>(none)</i>
+ *       <td><code>NumberFormat.getInstance(getLocale())</code>
+ *    <tr>
+ *       <td><code>integer</code>
+ *       <td><code>NumberFormat.getIntegerInstance(getLocale())</code>
+ *    <tr>
+ *       <td><code>currency</code>
+ *       <td><code>NumberFormat.getCurrencyInstance(getLocale())</code>
+ *    <tr>
+ *       <td><code>percent</code>
+ *       <td><code>NumberFormat.getPercentInstance(getLocale())</code>
+ *    <tr>
+ *       <td><i>SubformatPattern</i>
+ *       <td><code>new DecimalFormat(subformatPattern, new DecimalFormatSymbols(getLocale()))</code>
+ *    <tr>
+ *       <td rowspan=6><code>date</code>
+ *       <td><i>(none)</i>
+ *       <td><code>DateFormat.getDateInstance(DateFormat.DEFAULT, getLocale())</code>
+ *    <tr>
+ *       <td><code>short</code>
+ *       <td><code>DateFormat.getDateInstance(DateFormat.SHORT, getLocale())</code>
+ *    <tr>
+ *       <td><code>medium</code>
+ *       <td><code>DateFormat.getDateInstance(DateFormat.DEFAULT, getLocale())</code>
+ *    <tr>
+ *       <td><code>long</code>
+ *       <td><code>DateFormat.getDateInstance(DateFormat.LONG, getLocale())</code>
+ *    <tr>
+ *       <td><code>full</code>
+ *       <td><code>DateFormat.getDateInstance(DateFormat.FULL, getLocale())</code>
+ *    <tr>
+ *       <td><i>SubformatPattern</i>
+ *       <td><code>new SimpleDateFormat(subformatPattern, getLocale())
+ *    <tr>
+ *       <td rowspan=6><code>time</code>
+ *       <td><i>(none)</i>
+ *       <td><code>DateFormat.getTimeInstance(DateFormat.DEFAULT, getLocale())</code>
+ *    <tr>
+ *       <td><code>short</code>
+ *       <td><code>DateFormat.getTimeInstance(DateFormat.SHORT, getLocale())</code>
+ *    <tr>
+ *       <td><code>medium</code>
+ *       <td><code>DateFormat.getTimeInstance(DateFormat.DEFAULT, getLocale())</code>
+ *    <tr>
+ *       <td><code>long</code>
+ *       <td><code>DateFormat.getTimeInstance(DateFormat.LONG, getLocale())</code>
+ *    <tr>
+ *       <td><code>full</code>
+ *       <td><code>DateFormat.getTimeInstance(DateFormat.FULL, getLocale())</code>
+ *    <tr>
+ *       <td><i>SubformatPattern</i>
+ *       <td><code>new SimpleDateFormat(subformatPattern, getLocale())
+ *    <tr>
+ *       <td><code>choice</code>
+ *       <td><i>SubformatPattern</i>
+ *       <td><code>new ChoiceFormat(subformatPattern)</code>
+ * </table>
+ * <p>
+ *
+ * <h4>Usage Information</h4>
+ *
+ * <p>
+ * Here are some examples of usage:
+ * <blockquote>
+ * <pre>
+ * Object[] arguments = {
+ *     new Integer(7),
+ *     new Date(System.currentTimeMillis()),
+ *     "a disturbance in the Force"
+ * };
+ *
+ * String result = MessageFormat.format(
+ *     "At {1,time} on {1,date}, there was {2} on planet {0,number,integer}.",
+ *     arguments);
+ *
+ * <em>output</em>: At 12:30 PM on Jul 3, 2053, there was a disturbance
+ *           in the Force on planet 7.
+ *
+ * </pre>
+ * </blockquote>
+ * Typically, the message format will come from resources, and the
+ * arguments will be dynamically set at runtime.
+ *
+ * <p>
+ * Example 2:
+ * <blockquote>
+ * <pre>
+ * Object[] testArgs = {new Long(3), "MyDisk"};
+ *
+ * MessageFormat form = new MessageFormat(
+ *     "The disk \"{1}\" contains {0} file(s).");
+ *
+ * System.out.println(form.format(testArgs));
+ *
+ * // output, with different testArgs
+ * <em>output</em>: The disk "MyDisk" contains 0 file(s).
+ * <em>output</em>: The disk "MyDisk" contains 1 file(s).
+ * <em>output</em>: The disk "MyDisk" contains 1,273 file(s).
+ * </pre>
+ * </blockquote>
+ *
+ * <p>
+ * For more sophisticated patterns, you can use a <code>ChoiceFormat</code> to get
+ * output such as:
+ * <blockquote>
+ * <pre>
+ * MessageFormat form = new MessageFormat("The disk \"{1}\" contains {0}.");
+ * double[] filelimits = {0,1,2};
+ * String[] filepart = {"no files","one file","{0,number} files"};
+ * ChoiceFormat fileform = new ChoiceFormat(filelimits, filepart);
+ * form.setFormatByArgumentIndex(0, fileform);
+ *
+ * Object[] testArgs = {new Long(12373), "MyDisk"};
+ *
+ * System.out.println(form.format(testArgs));
+ *
+ * // output, with different testArgs
+ * output: The disk "MyDisk" contains no files.
+ * output: The disk "MyDisk" contains one file.
+ * output: The disk "MyDisk" contains 1,273 files.
+ * </pre>
+ * </blockquote>
+ * You can either do this programmatically, as in the above example,
+ * or by using a pattern (see
+ * {@link ChoiceFormat}
+ * for more information) as in:
+ * <blockquote>
+ * <pre>
+ * form.applyPattern(
+ *    "There {0,choice,0#are no files|1#is one file|1&lt;are {0,number,integer} files}.");
+ * </pre>
+ * </blockquote>
+ * <p>
+ * <strong>Note:</strong> As we see above, the string produced
+ * by a <code>ChoiceFormat</code> in <code>MessageFormat</code> is treated specially;
+ * occurances of '{' are used to indicated subformats, and cause recursion.
+ * If you create both a <code>MessageFormat</code> and <code>ChoiceFormat</code>
+ * programmatically (instead of using the string patterns), then be careful not to
+ * produce a format that recurses on itself, which will cause an infinite loop.
+ * <p>
+ * When a single argument is parsed more than once in the string, the last match
+ * will be the final result of the parsing.  For example,
+ * <pre>
+ * MessageFormat mf = new MessageFormat("{0,number,#.##}, {0,number,#.#}");
+ * Object[] objs = {new Double(3.1415)};
+ * String result = mf.format( objs );
+ * // result now equals "3.14, 3.1"
+ * objs = null;
+ * objs = mf.parse(result, new ParsePosition(0));
+ * // objs now equals {new Double(3.1)}
+ * </pre>
+ * <p>
+ * Likewise, parsing with a MessageFormat object using patterns containing
+ * multiple occurances of the same argument would return the last match.  For
+ * example,
+ * <pre>
+ * MessageFormat mf = new MessageFormat("{0}, {0}, {0}");
+ * String forParsing = "x, y, z";
+ * Object[] objs = mf.parse(forParsing, new ParsePosition(0));
+ * // result now equals {new String("z")}
+ * </pre>
+ *
+ * <h4><a name="synchronization">Synchronization</a></h4>
+ *
+ * <p>
+ * Message formats are not synchronized.
+ * It is recommended to create separate format instances for each thread.
+ * If multiple threads access a format concurrently, it must be synchronized
+ * externally.
+ *
+ * @see          java.util.Locale
+ * @see          Format
+ * @see          NumberFormat
+ * @see          DecimalFormat
+ * @see          ChoiceFormat
+ * @author       Mark Davis
+ * @draft ICU 3.0
+ * @deprecated This is a draft API and might change in a future release of ICU.
+ */
+public class MessageFormat extends UFormat {
+
+    // TODO set up serialization
+    // private static final long serialVersionUID = 6479157306784022952L;
+
+    /**
+     * Constructs a MessageFormat for the default locale and the
+     * specified pattern.
+     * The constructor first sets the locale, then parses the pattern and
+     * creates a list of subformats for the format elements contained in it.
+     * Patterns and their interpretation are specified in the
+     * <a href="#patterns">class description</a>.
+     *
+     * @param pattern the pattern for this message format
+     * @exception IllegalArgumentException if the pattern is invalid
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public MessageFormat(String pattern) {
+        this.ulocale = ULocale.getDefault();
+        applyPattern(pattern);
+    }
+
+    /**
+     * Constructs a MessageFormat for the specified locale and
+     * pattern.
+     * The constructor first sets the locale, then parses the pattern and
+     * creates a list of subformats for the format elements contained in it.
+     * Patterns and their interpretation are specified in the
+     * <a href="#patterns">class description</a>.
+     *
+     * @param pattern the pattern for this message format
+     * @param locale the locale for this message format
+     * @exception IllegalArgumentException if the pattern is invalid
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public MessageFormat(String pattern, Locale locale) {
+        this(pattern, ULocale.forLocale(locale));
+    }
+
+    /**
+     * Constructs a MessageFormat for the specified locale and
+     * pattern.
+     * The constructor first sets the locale, then parses the pattern and
+     * creates a list of subformats for the format elements contained in it.
+     * Patterns and their interpretation are specified in the
+     * <a href="#patterns">class description</a>.
+     *
+     * @param pattern the pattern for this message format
+     * @param locale the locale for this message format
+     * @exception IllegalArgumentException if the pattern is invalid
+     * @draft ICU 3.2
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public MessageFormat(String pattern, ULocale locale) {
+        this.ulocale = locale;
+        applyPattern(pattern);
+    }
+
+    /**
+     * Sets the locale to be used when creating or comparing subformats.
+     * This affects subsequent calls to the {@link #applyPattern applyPattern}
+     * and {@link #toPattern toPattern} methods as well as to the
+     * <code>format</code> and
+     * {@link #formatToCharacterIterator formatToCharacterIterator} methods.
+     *
+     * @param locale the locale to be used when creating or comparing subformats
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public void setLocale(Locale locale) {
+        setLocale(ULocale.forLocale(locale));
+    }
+
+    /**
+     * Sets the locale to be used when creating or comparing subformats.
+     * This affects subsequent calls to the {@link #applyPattern applyPattern}
+     * and {@link #toPattern toPattern} methods as well as to the
+     * <code>format</code> and
+     * {@link #formatToCharacterIterator formatToCharacterIterator} methods.
+     *
+     * @param locale the locale to be used when creating or comparing subformats
+     * @draft ICU 3.2
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public void setLocale(ULocale locale) {
+        /* Save the pattern, and then reapply so that */
+        /* we pick up any changes in locale specific */
+        /* elements */
+        String existingPattern = toPattern();                       /*ibm.3550*/
+        this.ulocale = locale;
+        applyPattern(existingPattern);                              /*ibm.3550*/
+    }
+
+    /**
+     * Gets the locale that's used when creating or comparing subformats.
+     *
+     * @return the locale used when creating or comparing subformats
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public Locale getLocale() {
+        return ulocale.toLocale();
+    }
+
+    /**
+     * Gets the locale that's used when creating or comparing subformats.
+     *
+     * @return the locale used when creating or comparing subformats
+     * @draft ICU 3.2
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public ULocale getULocale() {
+        return ulocale;
+    }
+
+    /**
+     * Sets the pattern used by this message format.
+     * The method parses the pattern and creates a list of subformats
+     * for the format elements contained in it.
+     * Patterns and their interpretation are specified in the
+     * <a href="#patterns">class description</a>.
+     * 
+     * @param pattern the pattern for this message format
+     * @exception IllegalArgumentException if the pattern is invalid
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public void applyPattern(String pattern) {
+            StringBuffer[] segments = new StringBuffer[4];
+            for (int i = 0; i < segments.length; ++i) {
+                segments[i] = new StringBuffer();
+            }
+            int part = 0;
+            int formatNumber = 0;
+            boolean inQuote = false;
+            int braceStack = 0;
+            maxOffset = -1;
+            for (int i = 0; i < pattern.length(); ++i) {
+                char ch = pattern.charAt(i);
+                if (part == 0) {
+                    if (ch == '\'') {
+                        if (i + 1 < pattern.length()
+                            && pattern.charAt(i+1) == '\'') {
+                            segments[part].append(ch);  // handle doubles
+                            ++i;
+                        } else {
+                            inQuote = !inQuote;
+                        }
+                    } else if (ch == '{' && !inQuote) {
+                        part = 1;
+                    } else {
+                        segments[part].append(ch);
+                    }
+                } else  if (inQuote) {  // just copy quotes in parts
+                    segments[part].append(ch);
+                    if (ch == '\'') {
+                        inQuote = false;
+                    }
+                } else {
+                    switch (ch) {
+                    case ',':
+                        if (part < 3)
+                            part += 1;
+                        else
+                            segments[part].append(ch);
+                        break;
+                    case '{':
+                        ++braceStack;
+                        segments[part].append(ch);
+                        break;
+                    case '}':
+                        if (braceStack == 0) {
+                            part = 0;
+                            makeFormat(i, formatNumber, segments);
+                            formatNumber++;
+                        } else {
+                            --braceStack;
+                            segments[part].append(ch);
+                        }
+                        break;
+                    case '\'':
+                        inQuote = true;
+                        // fall through, so we keep quotes in other parts
+                    default:
+                        segments[part].append(ch);
+                        break;
+                    }
+                }
+            }
+            if (braceStack == 0 && part != 0) {
+                maxOffset = -1;
+                throw new IllegalArgumentException("Unmatched braces in the pattern.");
+            }
+            this.pattern = segments[0].toString();
+    }
+
+
+    /**
+     * Returns a pattern representing the current state of the message format.
+     * The string is constructed from internal information and therefore
+     * does not necessarily equal the previously applied pattern. 
+     *
+     * @return a pattern representing the current state of the message format
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public String toPattern() {
+        // later, make this more extensible
+        int lastOffset = 0;
+        StringBuffer result = new StringBuffer();
+        for (int i = 0; i <= maxOffset; ++i) {
+            copyAndFixQuotes(pattern, lastOffset, offsets[i],result);
+            lastOffset = offsets[i];
+            result.append('{');
+            result.append(argumentNumbers[i]);
+            if (formats[i] == null) {
+                // do nothing, string format
+            } else if (formats[i] instanceof DecimalFormat) {
+                if (formats[i].equals(NumberFormat.getInstance(ulocale))) {
+                    result.append(",number");
+                } else if (formats[i].equals(NumberFormat.getCurrencyInstance(ulocale))) {
+                    result.append(",number,currency");
+                } else if (formats[i].equals(NumberFormat.getPercentInstance(ulocale))) {
+                    result.append(",number,percent");
+                } else if (formats[i].equals(NumberFormat.getIntegerInstance(ulocale))) {
+                    result.append(",number,integer");
+                } else {
+                    result.append(",number," +
+                                  ((DecimalFormat)formats[i]).toPattern());
+                }
+            } else if (formats[i] instanceof SimpleDateFormat) {
+                if (formats[i].equals(DateFormat.getDateInstance(DateFormat.DEFAULT,ulocale))) {
+                    result.append(",date");
+                } else if (formats[i].equals(DateFormat.getDateInstance(DateFormat.SHORT,ulocale))) {
+                    result.append(",date,short");
+// This code will never be executed [alan]
+//                } else if (formats[i].equals(DateFormat.getDateInstance(DateFormat.DEFAULT,ulocale))) {
+//                    result.append(",date,medium");
+                } else if (formats[i].equals(DateFormat.getDateInstance(DateFormat.LONG,ulocale))) {
+                    result.append(",date,long");
+                } else if (formats[i].equals(DateFormat.getDateInstance(DateFormat.FULL,ulocale))) {
+                    result.append(",date,full");
+                } else if (formats[i].equals(DateFormat.getTimeInstance(DateFormat.DEFAULT,ulocale))) {
+                    result.append(",time");
+                } else if (formats[i].equals(DateFormat.getTimeInstance(DateFormat.SHORT,ulocale))) {
+                    result.append(",time,short");
+// This code will never be executed [alan]
+//                } else if (formats[i].equals(DateFormat.getTimeInstance(DateFormat.DEFAULT,ulocale))) {
+//                    result.append(",time,medium");
+                } else if (formats[i].equals(DateFormat.getTimeInstance(DateFormat.LONG,ulocale))) {
+                    result.append(",time,long");
+                } else if (formats[i].equals(DateFormat.getTimeInstance(DateFormat.FULL,ulocale))) {
+                    result.append(",time,full");
+                } else {
+                    result.append(",date," + ((SimpleDateFormat)formats[i]).toPattern());
+                }
+            } else if (formats[i] instanceof ChoiceFormat) {
+                result.append(",choice," + ((ChoiceFormat)formats[i]).toPattern());
+            } else {
+                //result.append(", unknown");
+            }
+            result.append('}');
+        }
+        copyAndFixQuotes(pattern, lastOffset, pattern.length(), result);
+        return result.toString();
+    }
+
+    /**
+     * Sets the formats to use for the values passed into
+     * <code>format</code> methods or returned from <code>parse</code>
+     * methods. The indices of elements in <code>newFormats</code>
+     * correspond to the argument indices used in the previously set
+     * pattern string.
+     * The order of formats in <code>newFormats</code> thus corresponds to
+     * the order of elements in the <code>arguments</code> array passed
+     * to the <code>format</code> methods or the result array returned
+     * by the <code>parse</code> methods.
+     * <p>
+     * If an argument index is used for more than one format element
+     * in the pattern string, then the corresponding new format is used
+     * for all such format elements. If an argument index is not used
+     * for any format element in the pattern string, then the
+     * corresponding new format is ignored. If fewer formats are provided
+     * than needed, then only the formats for argument indices less
+     * than <code>newFormats.length</code> are replaced.
+     *
+     * @param newFormats the new formats to use
+     * @exception NullPointerException if <code>newFormats</code> is null
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public void setFormatsByArgumentIndex(Format[] newFormats) {
+        for (int i = 0; i <= maxOffset; i++) {
+            int j = argumentNumbers[i];
+            if (j < newFormats.length) {
+                formats[i] = newFormats[j];
+            }
+        }
+    }
+
+    /**
+     * Sets the formats to use for the format elements in the
+     * previously set pattern string.
+     * The order of formats in <code>newFormats</code> corresponds to
+     * the order of format elements in the pattern string.
+     * <p>
+     * If more formats are provided than needed by the pattern string,
+     * the remaining ones are ignored. If fewer formats are provided
+     * than needed, then only the first <code>newFormats.length</code>
+     * formats are replaced.
+     * <p>
+     * Since the order of format elements in a pattern string often
+     * changes during localization, it is generally better to use the
+     * {@link #setFormatsByArgumentIndex setFormatsByArgumentIndex}
+     * method, which assumes an order of formats corresponding to the
+     * order of elements in the <code>arguments</code> array passed to
+     * the <code>format</code> methods or the result array returned by
+     * the <code>parse</code> methods.
+     *
+     * @param newFormats the new formats to use
+     * @exception NullPointerException if <code>newFormats</code> is null
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public void setFormats(Format[] newFormats) {
+        int runsToCopy = newFormats.length;
+        if (runsToCopy > maxOffset + 1) {
+            runsToCopy = maxOffset + 1;
+        }
+        for (int i = 0; i < runsToCopy; i++) {
+            formats[i] = newFormats[i];
+        }
+    }
+
+    /**
+     * Sets the format to use for the format elements within the
+     * previously set pattern string that use the given argument
+     * index.
+     * The argument index is part of the format element definition and
+     * represents an index into the <code>arguments</code> array passed
+     * to the <code>format</code> methods or the result array returned
+     * by the <code>parse</code> methods.
+     * <p>
+     * If the argument index is used for more than one format element
+     * in the pattern string, then the new format is used for all such
+     * format elements. If the argument index is not used for any format
+     * element in the pattern string, then the new format is ignored.
+     *
+     * @param argumentIndex the argument index for which to use the new format
+     * @param newFormat the new format to use
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public void setFormatByArgumentIndex(int argumentIndex, Format newFormat) {
+        for (int j = 0; j <= maxOffset; j++) {
+            if (argumentNumbers[j] == argumentIndex) {
+                formats[j] = newFormat;
+            }
+        }
+    }
+
+    /**
+     * Sets the format to use for the format element with the given
+     * format element index within the previously set pattern string.
+     * The format element index is the zero-based number of the format
+     * element counting from the start of the pattern string.
+     * <p>
+     * Since the order of format elements in a pattern string often
+     * changes during localization, it is generally better to use the
+     * {@link #setFormatByArgumentIndex setFormatByArgumentIndex}
+     * method, which accesses format elements based on the argument
+     * index they specify.
+     *
+     * @param formatElementIndex the index of a format element within the pattern
+     * @param newFormat the format to use for the specified format element
+     * @exception ArrayIndexOutOfBoundsException if formatElementIndex is equal to or
+     *            larger than the number of format elements in the pattern string
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public void setFormat(int formatElementIndex, Format newFormat) {
+        formats[formatElementIndex] = newFormat;
+    }
+
+    /**
+     * Gets the formats used for the values passed into
+     * <code>format</code> methods or returned from <code>parse</code>
+     * methods. The indices of elements in the returned array
+     * correspond to the argument indices used in the previously set
+     * pattern string.
+     * The order of formats in the returned array thus corresponds to
+     * the order of elements in the <code>arguments</code> array passed
+     * to the <code>format</code> methods or the result array returned
+     * by the <code>parse</code> methods.
+     * <p>
+     * If an argument index is used for more than one format element
+     * in the pattern string, then the format used for the last such
+     * format element is returned in the array. If an argument index
+     * is not used for any format element in the pattern string, then
+     * null is returned in the array.
+     *
+     * @return the formats used for the arguments within the pattern
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public Format[] getFormatsByArgumentIndex() {
+        int maximumArgumentNumber = -1;
+        for (int i = 0; i <= maxOffset; i++) {
+            if (argumentNumbers[i] > maximumArgumentNumber) {
+                maximumArgumentNumber = argumentNumbers[i];
+            }
+        }
+        Format[] resultArray = new Format[maximumArgumentNumber + 1];
+        for (int i = 0; i <= maxOffset; i++) {
+            resultArray[argumentNumbers[i]] = formats[i];
+        }
+        return resultArray;
+    }
+
+    /**
+     * Gets the formats used for the format elements in the
+     * previously set pattern string.
+     * The order of formats in the returned array corresponds to
+     * the order of format elements in the pattern string.
+     * <p>
+     * Since the order of format elements in a pattern string often
+     * changes during localization, it's generally better to use the
+     * {@link #getFormatsByArgumentIndex getFormatsByArgumentIndex}
+     * method, which assumes an order of formats corresponding to the
+     * order of elements in the <code>arguments</code> array passed to
+     * the <code>format</code> methods or the result array returned by
+     * the <code>parse</code> methods.
+     *
+     * @return the formats used for the format elements in the pattern
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public Format[] getFormats() {
+        Format[] resultArray = new Format[maxOffset + 1];
+        System.arraycopy(formats, 0, resultArray, 0, maxOffset + 1);
+        return resultArray;
+    }
+
+    /**
+     * Formats an array of objects and appends the <code>MessageFormat</code>'s
+     * pattern, with format elements replaced by the formatted objects, to the
+     * provided <code>StringBuffer</code>.
+     * <p>
+     * The text substituted for the individual format elements is derived from
+     * the current subformat of the format element and the
+     * <code>arguments</code> element at the format element's argument index
+     * as indicated by the first matching line of the following table. An
+     * argument is <i>unavailable</i> if <code>arguments</code> is
+     * <code>null</code> or has fewer than argumentIndex+1 elements.
+     * <p>
+     * <table border=1>
+     *    <tr>
+     *       <th>Subformat
+     *       <th>Argument
+     *       <th>Formatted Text
+     *    <tr>
+     *       <td><i>any</i>
+     *       <td><i>unavailable</i>
+     *       <td><code>"{" + argumentIndex + "}"</code>
+     *    <tr>
+     *       <td><i>any</i>
+     *       <td><code>null</code>
+     *       <td><code>"null"</code>
+     *    <tr>
+     *       <td><code>instanceof ChoiceFormat</code>
+     *       <td><i>any</i>
+     *       <td><code>subformat.format(argument).indexOf('{') >= 0 ?<br>
+     *           (new MessageFormat(subformat.format(argument), getLocale())).format(argument) :
+     *           subformat.format(argument)</code>
+     *    <tr>
+     *       <td><code>!= null</code>
+     *       <td><i>any</i>
+     *       <td><code>subformat.format(argument)</code>
+     *    <tr>
+     *       <td><code>null</code>
+     *       <td><code>instanceof Number</code>
+     *       <td><code>NumberFormat.getInstance(getLocale()).format(argument)</code>
+     *    <tr>
+     *       <td><code>null</code>
+     *       <td><code>instanceof Date</code>
+     *       <td><code>DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.SHORT, getLocale()).format(argument)</code>
+     *    <tr>
+     *       <td><code>null</code>
+     *       <td><code>instanceof String</code>
+     *       <td><code>argument</code>
+     *    <tr>
+     *       <td><code>null</code>
+     *       <td><i>any</i>
+     *       <td><code>argument.toString()</code>
+     * </table>
+     * <p>
+     * If <code>pos</code> is non-null, and refers to
+     * <code>Field.ARGUMENT</code>, the location of the first formatted
+     * string will be returned.
+     *
+     * @param arguments an array of objects to be formatted and substituted.
+     * @param result where text is appended.
+     * @param pos On input: an alignment field, if desired.
+     *            On output: the offsets of the alignment field.
+     * @exception IllegalArgumentException if an argument in the
+     *            <code>arguments</code> array is not of the type
+     *            expected by the format element(s) that use it.
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public final StringBuffer format(Object[] arguments, StringBuffer result,
+                                     FieldPosition pos)
+    {
+        return subformat(arguments, result, pos);
+    }
+
+    /**
+     * Creates a MessageFormat with the given pattern and uses it
+     * to format the given arguments. This is equivalent to
+     * <blockquote>
+     *     <code>(new {@link #MessageFormat(String) MessageFormat}(pattern)).{@link #format(java.lang.Object[], java.lang.StringBuffer, java.text.FieldPosition) format}(arguments, new StringBuffer(), null).toString()</code>
+     * </blockquote>
+     *
+     * @exception IllegalArgumentException if the pattern is invalid,
+     *            or if an argument in the <code>arguments</code> array
+     *            is not of the type expected by the format element(s)
+     *            that use it.
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static String format(String pattern, Object[] arguments) {
+        MessageFormat temp = new MessageFormat(pattern);
+        return temp.format(arguments);
+    }
+
+    // Overrides
+    /**
+     * Formats an array of objects and appends the <code>MessageFormat</code>'s
+     * pattern, with format elements replaced by the formatted objects, to the
+     * provided <code>StringBuffer</code>.
+     * This is equivalent to
+     * <blockquote>
+     *     <code>{@link #format(java.lang.Object[], java.lang.StringBuffer, java.text.FieldPosition) format}((Object[]) arguments, result, pos)</code>
+     * </blockquote>
+     *
+     * @param arguments an array of objects to be formatted and substituted.
+     * @param result where text is appended.
+     * @param pos On input: an alignment field, if desired.
+     *            On output: the offsets of the alignment field.
+     * @exception IllegalArgumentException if an argument in the
+     *            <code>arguments</code> array is not of the type
+     *            expected by the format element(s) that use it.
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public final StringBuffer format(Object arguments, StringBuffer result,
+                                     FieldPosition pos)
+    {
+        return subformat((Object[]) arguments, result, pos);
+    }
+
+// TODO Do not remove, this is API in JDK that we need to implement
+//    /**
+//     * Formats an array of objects and inserts them into the
+//     * <code>MessageFormat</code>'s pattern, producing an
+//     * <code>AttributedCharacterIterator</code>.
+//     * You can use the returned <code>AttributedCharacterIterator</code>
+//     * to build the resulting String, as well as to determine information
+//     * about the resulting String.
+//     * <p>
+//     * The text of the returned <code>AttributedCharacterIterator</code> is
+//     * the same that would be returned by
+//     * <blockquote>
+//     *     <code>{@link #format(java.lang.Object[], java.lang.StringBuffer, java.text.FieldPosition) format}(arguments, new StringBuffer(), null).toString()</code>
+//     * </blockquote>
+//     * <p>
+//     * In addition, the <code>AttributedCharacterIterator</code> contains at
+//     * least attributes indicating where text was generated from an
+//     * argument in the <code>arguments</code> array. The keys of these attributes are of
+//     * type <code>MessageFormat.Field</code>, their values are
+//     * <code>Integer</code> objects indicating the index in the <code>arguments</code>
+//     * array of the argument from which the text was generated.
+//     * <p>
+//     * The attributes/value from the underlying <code>Format</code>
+//     * instances that <code>MessageFormat</code> uses will also be
+//     * placed in the resulting <code>AttributedCharacterIterator</code>.
+//     * This allows you to not only find where an argument is placed in the
+//     * resulting String, but also which fields it contains in turn.
+//     *
+//     * @param arguments an array of objects to be formatted and substituted.
+//     * @return AttributedCharacterIterator describing the formatted value.
+//     * @exception NullPointerException if <code>arguments</code> is null.
+//     * @exception IllegalArgumentException if an argument in the
+//     *            <code>arguments</code> array is not of the type
+//     *            expected by the format element(s) that use it.
+//     */
+//    public AttributedCharacterIterator formatToCharacterIterator(Object arguments) {
+//        StringBuffer result = new StringBuffer();
+//        ArrayList iterators = new ArrayList();
+//
+//        if (arguments == null) {
+//            throw new NullPointerException(
+//                   "formatToCharacterIterator must be passed non-null object");
+//        }
+//        subformat((Object[]) arguments, result, null, iterators);
+//        if (iterators.size() == 0) {
+//            return createAttributedCharacterIterator("");
+//        }
+//        return createAttributedCharacterIterator(
+//                     (AttributedCharacterIterator[])iterators.toArray(
+//                     new AttributedCharacterIterator[iterators.size()]));
+//    }
+
+    /**
+     * Parses the string.
+     *
+     * <p>Caveats: The parse may fail in a number of circumstances.
+     * For example:
+     * <ul>
+     * <li>If one of the arguments does not occur in the pattern.
+     * <li>If the format of an argument loses information, such as
+     *     with a choice format where a large number formats to "many".
+     * <li>Does not yet handle recursion (where
+     *     the substituted strings contain {n} references.)
+     * <li>Will not always find a match (or the correct match)
+     *     if some part of the parse is ambiguous.
+     *     For example, if the pattern "{1},{2}" is used with the
+     *     string arguments {"a,b", "c"}, it will format as "a,b,c".
+     *     When the result is parsed, it will return {"a", "b,c"}.
+     * <li>If a single argument is parsed more than once in the string,
+     *     then the later parse wins.
+     * </ul>
+     * When the parse fails, use ParsePosition.getErrorIndex() to find out
+     * where in the string did the parsing failed.  The returned error
+     * index is the starting offset of the sub-patterns that the string
+     * is comparing with.  For example, if the parsing string "AAA {0} BBB"
+     * is comparing against the pattern "AAD {0} BBB", the error index is
+     * 0. When an error occurs, the call to this method will return null.
+     * If the source is null, return an empty array.
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public Object[] parse(String source, ParsePosition pos) {
+        if (source == null) {
+            Object[] empty = {};
+            return empty;
+        }
+
+        int maximumArgumentNumber = -1;
+        for (int i = 0; i <= maxOffset; i++) {
+            if (argumentNumbers[i] > maximumArgumentNumber) {
+                maximumArgumentNumber = argumentNumbers[i];
+            }
+        }
+        Object[] resultArray = new Object[maximumArgumentNumber + 1];
+
+        int patternOffset = 0;
+        int sourceOffset = pos.getIndex();
+        ParsePosition tempStatus = new ParsePosition(0);
+        for (int i = 0; i <= maxOffset; ++i) {
+            // match up to format
+            int len = offsets[i] - patternOffset;
+            if (len == 0 || pattern.regionMatches(patternOffset,
+                                                  source, sourceOffset, len)) {
+                sourceOffset += len;
+                patternOffset += len;
+            } else {
+                pos.setErrorIndex(sourceOffset);
+                return null; // leave index as is to signal error
+            }
+
+            // now use format
+            if (formats[i] == null) {   // string format
+                // if at end, use longest possible match
+                // otherwise uses first match to intervening string
+                // does NOT recursively try all possibilities
+                int tempLength = (i != maxOffset) ? offsets[i+1] : pattern.length();
+
+                int next;
+                if (patternOffset >= tempLength) {
+                    next = source.length();
+                }else{
+                    next = source.indexOf( pattern.substring(patternOffset,tempLength), sourceOffset);
+                }
+
+                if (next < 0) {
+                    pos.setErrorIndex(sourceOffset);
+                    return null; // leave index as is to signal error
+                } else {
+                    String strValue= source.substring(sourceOffset,next);
+                    if (!strValue.equals("{"+argumentNumbers[i]+"}"))
+                        resultArray[argumentNumbers[i]]
+                            = source.substring(sourceOffset,next);
+                    sourceOffset = next;
+                }
+            } else {
+                tempStatus.setIndex(sourceOffset);
+                resultArray[argumentNumbers[i]]
+                    = formats[i].parseObject(source,tempStatus);
+                if (tempStatus.getIndex() == sourceOffset) {
+                    pos.setErrorIndex(sourceOffset);
+                    return null; // leave index as is to signal error
+                }
+                sourceOffset = tempStatus.getIndex(); // update
+            }
+        }
+        int len = pattern.length() - patternOffset;
+        if (len == 0 || pattern.regionMatches(patternOffset,
+                                              source, sourceOffset, len)) {
+            pos.setIndex(sourceOffset + len);
+        } else {
+            pos.setErrorIndex(sourceOffset);
+            return null; // leave index as is to signal error
+        }
+        return resultArray;
+    }
+
+    /**
+     * Parses text from the beginning of the given string to produce an object
+     * array.
+     * The method may not use the entire text of the given string.
+     * <p>
+     * See the {@link #parse(String, ParsePosition)} method for more information
+     * on message parsing.
+     *
+     * @param source A <code>String</code> whose beginning should be parsed.
+     * @return An <code>Object</code> array parsed from the string.
+     * @exception ParseException if the beginning of the specified string
+     *            cannot be parsed.
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public Object[] parse(String source) throws ParseException {
+        ParsePosition pos  = new ParsePosition(0);
+        Object[] result = parse(source, pos);
+        if (pos.getIndex() == 0)  // unchanged, returned object is null
+            throw new ParseException("MessageFormat parse error!", pos.getErrorIndex());
+
+        return result;
+    }
+
+    /**
+     * Parses text from a string to produce an object array.
+     * <p>
+     * The method attempts to parse text starting at the index given by
+     * <code>pos</code>.
+     * If parsing succeeds, then the index of <code>pos</code> is updated
+     * to the index after the last character used (parsing does not necessarily
+     * use all characters up to the end of the string), and the parsed
+     * object array is returned. The updated <code>pos</code> can be used to
+     * indicate the starting point for the next call to this method.
+     * If an error occurs, then the index of <code>pos</code> is not
+     * changed, the error index of <code>pos</code> is set to the index of
+     * the character where the error occurred, and null is returned.
+     * <p>
+     * See the {@link #parse(String, ParsePosition)} method for more information
+     * on message parsing.
+     *
+     * @param source A <code>String</code>, part of which should be parsed.
+     * @param pos A <code>ParsePosition</code> object with index and error
+     *            index information as described above.
+     * @return An <code>Object</code> array parsed from the string. In case of
+     *         error, returns null.
+     * @exception NullPointerException if <code>pos</code> is null.
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public Object parseObject(String source, ParsePosition pos) {
+        return parse(source, pos);
+    }
+
+    /**
+     * Creates and returns a copy of this object.
+     *
+     * @return a clone of this instance.
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public Object clone() {
+        MessageFormat other = (MessageFormat) super.clone();
+
+        // clone arrays. Can't do with utility because of bug in Cloneable
+        other.formats = (Format[]) formats.clone(); // shallow clone
+        for (int i = 0; i < formats.length; ++i) {
+            if (formats[i] != null)
+                other.formats[i] = (Format)formats[i].clone();
+        }
+        // for primitives or immutables, shallow clone is enough
+        other.offsets = (int[]) offsets.clone();
+        other.argumentNumbers = (int[]) argumentNumbers.clone();
+
+        return other;
+    }
+
+    /**
+     * Equality comparison between two message format objects
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public boolean equals(Object obj) {
+        if (this == obj)                      // quick check
+            return true;
+        if (obj == null || getClass() != obj.getClass())
+            return false;
+        MessageFormat other = (MessageFormat) obj;
+        return (maxOffset == other.maxOffset
+                && pattern.equals(other.pattern)
+                && Utility.objectEquals(ulocale, other.ulocale)   // does null check
+                && Utility.arrayEquals(offsets,other.offsets)
+                && Utility.arrayEquals(argumentNumbers,other.argumentNumbers)
+                && Utility.arrayEquals(formats,other.formats));
+    }
+
+    /**
+     * Generates a hash code for the message format object.
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public int hashCode() {
+        return pattern.hashCode(); // enough for reasonable distribution
+    }
+
+// TODO Do not remove, this is API in JDK that we need to implement
+//    /**
+//     * Defines constants that are used as attribute keys in the
+//     * <code>AttributedCharacterIterator</code> returned
+//     * from <code>MessageFormat.formatToCharacterIterator</code>.
+//     * @draft ICU 3.0
+//     * @deprecated This is a draft API and might change in a future release of ICU.
+//     */
+//    public static class Field extends Format.Field {
+//        /**
+//         * Creates a Field with the specified name.
+//         *
+//         * @param name Name of the attribute
+//         */
+//        protected Field(String name) {
+//            super(name);
+//        }
+//
+//        /**
+//         * Resolves instances being deserialized to the predefined constants.
+//         *
+//         * @throws InvalidObjectException if the constant could not be
+//         *         resolved.
+//         * @return resolved MessageFormat.Field constant
+//         */
+//        protected Object readResolve() throws InvalidObjectException {
+//            if (this.getClass() != MessageFormat.Field.class) {
+//                throw new InvalidObjectException("subclass didn't correctly implement readResolve");
+//            }
+//
+//            return ARGUMENT;
+//        }
+//
+//        //
+//        // The constants
+//        //
+//
+//        /**
+//         * Constant identifying a portion of a message that was generated
+//         * from an argument passed into <code>formatToCharacterIterator</code>.
+//         * The value associated with the key will be an <code>Integer</code>
+//         * indicating the index in the <code>arguments</code> array of the
+//         * argument from which the text was generated.
+//         */
+//        public final static Field ARGUMENT =
+//                           new Field("message argument field");
+//    }
+
+    // ===========================privates============================
+
+    /**
+     * The locale to use for formatting numbers and dates.
+     * This is no longer used, and here only for serialization compatibility.
+     * @serial
+     */
+    private Locale locale;
+
+    /**
+     * The locale to use for formatting numbers and dates.
+     * @serial
+     */
+    private ULocale ulocale;
+
+    /**
+     * The string that the formatted values are to be plugged into.  In other words, this
+     * is the pattern supplied on construction with all of the {} expressions taken out.
+     * @serial
+     */
+    private String pattern = "";
+
+    /** The initially expected number of subformats in the format */
+    private static final int INITIAL_FORMATS = 10;
+
+    /**
+     * An array of formatters, which are used to format the arguments.
+     * @serial
+     */
+    private Format[] formats = new Format[INITIAL_FORMATS];
+
+    /**
+     * The positions where the results of formatting each argument are to be inserted
+     * into the pattern.
+     * @serial
+     */
+    private int[] offsets = new int[INITIAL_FORMATS];
+
+    /**
+     * The argument numbers corresponding to each formatter.  (The formatters are stored
+     * in the order they occur in the pattern, not in the order in which the arguments
+     * are specified.)
+     * @serial
+     */
+    private int[] argumentNumbers = new int[INITIAL_FORMATS];
+
+    /**
+     * One less than the number of entries in <code>offsets</code>.  Can also be thought of
+     * as the index of the highest-numbered element in <code>offsets</code> that is being used.
+     * All of these arrays should have the same number of elements being used as <code>offsets</code>
+     * does, and so this variable suffices to tell us how many entries are in all of them.
+     * @serial
+     */
+    private int maxOffset = -1;
+
+    /**
+     * Internal routine used by format. If <code>characterIterators</code> is
+     * non-null, AttributedCharacterIterator will be created from the
+     * subformats as necessary. If <code>characterIterators</code> is null
+     * and <code>fp</code> is non-null and identifies
+     * <code>Field.MESSAGE_ARGUMENT</code>, the location of
+     * the first replaced argument will be set in it.
+     *
+     * @exception IllegalArgumentException if an argument in the
+     *            <code>arguments</code> array is not of the type
+     *            expected by the format element(s) that use it.
+     */
+    private StringBuffer subformat(Object[] arguments, StringBuffer result,
+                                   FieldPosition fp
+                                   /*, List characterIterators*/) {
+        // note: this implementation assumes a fast substring & index.
+        // if this is not true, would be better to append chars one by one.
+        int lastOffset = 0;
+        int last = result.length();
+        for (int i = 0; i <= maxOffset; ++i) {
+            result.append(pattern.substring(lastOffset, offsets[i]));
+            lastOffset = offsets[i];
+            int argumentNumber = argumentNumbers[i];
+            if (arguments == null || argumentNumber >= arguments.length) {
+                result.append("{" + argumentNumber + "}");
+                continue;
+            }
+            // int argRecursion = ((recursionProtection >> (argumentNumber*2)) & 0x3);
+            if (false) { // if (argRecursion == 3){
+                // prevent loop!!!
+                result.append('\uFFFD');
+            } else {
+                Object obj = arguments[argumentNumber];
+                String arg = null;
+                Format subFormatter = null;
+                if (obj == null) {
+                    arg = "null";
+                } else if (formats[i] != null) {
+                    subFormatter = formats[i];
+                    if (subFormatter instanceof ChoiceFormat) {
+                        arg = formats[i].format(obj);
+                        if (arg.indexOf('{') >= 0) {
+                            subFormatter = new MessageFormat(arg, ulocale);
+                            obj = arguments;
+                            arg = null;
+                        }
+                    }
+                } else if (obj instanceof Number) {
+                    // format number if can
+                    subFormatter = NumberFormat.getInstance(ulocale);
+                } else if (obj instanceof Date) {
+                    // format a Date if can
+                    subFormatter = DateFormat.getDateTimeInstance(
+                             DateFormat.SHORT, DateFormat.SHORT, ulocale);//fix
+                } else if (obj instanceof String) {
+                    arg = (String) obj;
+
+                } else {
+                    arg = obj.toString();
+                    if (arg == null) arg = "null";
+                }
+
+                // At this point we are in two states, either subFormatter
+                // is non-null indicating we should format obj using it,
+                // or arg is non-null and we should use it as the value.
+
+// TODO Do not remove, this is API in JDK that we need to implement
+//                if (characterIterators != null) {
+//                    // If characterIterators is non-null, it indicates we need
+//                    // to get the CharacterIterator from the child formatter.
+//                    if (last != result.length()) {
+//                        characterIterators.add(
+//                            createAttributedCharacterIterator(result.substring
+//                                                              (last)));
+//                        last = result.length();
+//                    }
+//                    if (subFormatter != null) {
+//                        AttributedCharacterIterator subIterator =
+//                                   subFormatter.formatToCharacterIterator(obj);
+//
+//                        append(result, subIterator);
+//                        if (last != result.length()) {
+//                            characterIterators.add(
+//                                         createAttributedCharacterIterator(
+//                                         subIterator, Field.ARGUMENT,
+//                                         new Integer(argumentNumber)));
+//                            last = result.length();
+//                        }
+//                        arg = null;
+//                    }
+//                    if (arg != null && arg.length() > 0) {
+//                        result.append(arg);
+//                        characterIterators.add(
+//                                 createAttributedCharacterIterator(
+//                                 arg, Field.ARGUMENT,
+//                                 new Integer(argumentNumber)));
+//                        last = result.length();
+//                    }
+//                }
+//                else
+                {
+                    if (subFormatter != null) {
+                        arg = subFormatter.format(obj);
+                    }
+//                    last = result.length(); // Useless? [alan]
+                    result.append(arg);
+// TODO Do not remove, this is JDK API we need to implement.
+//                    if (i == 0 && fp != null && Field.ARGUMENT.equals(
+//                                  fp.getFieldAttribute())) {
+//                        fp.setBeginIndex(last);
+//                        fp.setEndIndex(result.length());
+//                    }
+                    last = result.length();
+                }
+            }
+        }
+        result.append(pattern.substring(lastOffset, pattern.length()));
+// TODO Do not remove, this is JDK API we need to implement.
+//        if (characterIterators != null && last != result.length()) {
+//            characterIterators.add(createAttributedCharacterIterator(
+//                                   result.substring(last)));
+//        }
+        return result;
+    }
+
+// TODO Do not remove, this is JDK API we need to implement.
+//    /**
+//     * Convenience method to append all the characters in
+//     * <code>iterator</code> to the StringBuffer <code>result</code>.
+//     */
+//    private void append(StringBuffer result, CharacterIterator iterator) {
+//        if (iterator.first() != CharacterIterator.DONE) {
+//            char aChar;
+//
+//            result.append(iterator.first());
+//            while ((aChar = iterator.next()) != CharacterIterator.DONE) {
+//                result.append(aChar);
+//            }
+//        }
+//    }
+
+    private static final String[] typeList =
+        {"", "number", "date", "time", "choice", "spellout", "ordinal", "duration"};
+    private static final int 
+        TYPE_EMPTY = 0,
+        TYPE_NUMBER = 1,
+        TYPE_DATE = 2,
+        TYPE_TIME = 3,
+        TYPE_CHOICE = 4,
+        TYPE_SPELLOUT = 5,
+        TYPE_ORDINAL = 6,
+        TYPE_DURATION = 7;
+
+    private static final String[] modifierList =
+        {"", "currency", "percent", "integer"};
+    private static final int
+        MODIFIER_EMPTY = 0,
+        MODIFIER_CURRENCY = 1,
+        MODIFIER_PERCENT = 2,
+        MODIFIER_INTEGER = 3;
+
+    private static final String[] dateModifierList =
+        {"", "short", "medium", "long", "full"};
+    private static final int
+        DATE_MODIFIER_EMPTY = 0,
+        DATE_MODIFIER_SHORT = 1,
+        DATE_MODIFIER_MEDIUM = 2,
+        DATE_MODIFIER_LONG = 3,
+        DATE_MODIFIER_FULL = 4;
+
+    private void makeFormat(int position, int offsetNumber,
+                            StringBuffer[] segments)
+    {
+        // get the argument number
+        int argumentNumber;
+        try {
+            argumentNumber = Integer.parseInt(segments[1].toString()); // always unlocalized!
+        } catch (NumberFormatException e) {
+            throw new IllegalArgumentException("can't parse argument number " + segments[1]);
+        }
+        if (argumentNumber < 0) {
+            throw new IllegalArgumentException("negative argument number " + argumentNumber);
+        }
+
+        // resize format information arrays if necessary
+        if (offsetNumber >= formats.length) {
+            int newLength = formats.length * 2;
+            Format[] newFormats = new Format[newLength];
+            int[] newOffsets = new int[newLength];
+            int[] newArgumentNumbers = new int[newLength];
+            System.arraycopy(formats, 0, newFormats, 0, maxOffset + 1);
+            System.arraycopy(offsets, 0, newOffsets, 0, maxOffset + 1);
+            System.arraycopy(argumentNumbers, 0, newArgumentNumbers, 0, maxOffset + 1);
+            formats = newFormats;
+            offsets = newOffsets;
+            argumentNumbers = newArgumentNumbers;
+        }
+        int oldMaxOffset = maxOffset;
+        maxOffset = offsetNumber;
+        offsets[offsetNumber] = segments[0].length();
+        argumentNumbers[offsetNumber] = argumentNumber;
+
+        // now get the format
+        Format newFormat = null;
+        switch (findKeyword(segments[2].toString(), typeList)) {
+        case TYPE_EMPTY:
+            break;
+        case TYPE_NUMBER:
+            switch (findKeyword(segments[3].toString(), modifierList)) {
+            case MODIFIER_EMPTY:
+                newFormat = NumberFormat.getInstance(ulocale);
+                break;
+            case MODIFIER_CURRENCY:
+                newFormat = NumberFormat.getCurrencyInstance(ulocale);
+                break;
+            case MODIFIER_PERCENT:
+                newFormat = NumberFormat.getPercentInstance(ulocale);
+                break;
+            case MODIFIER_INTEGER:
+                newFormat = NumberFormat.getIntegerInstance(ulocale);
+                break;
+            default: // pattern
+                newFormat = new DecimalFormat(segments[3].toString(), new DecimalFormatSymbols(ulocale));
+                break;
+            }
+            break;
+        case TYPE_DATE:
+            switch (findKeyword(segments[3].toString(), dateModifierList)) {
+            case DATE_MODIFIER_EMPTY:
+                newFormat = DateFormat.getDateInstance(DateFormat.DEFAULT, ulocale);
+                break;
+            case DATE_MODIFIER_SHORT:
+                newFormat = DateFormat.getDateInstance(DateFormat.SHORT, ulocale);
+                break;
+            case DATE_MODIFIER_MEDIUM:
+                newFormat = DateFormat.getDateInstance(DateFormat.DEFAULT, ulocale);
+                break;
+            case DATE_MODIFIER_LONG:
+                newFormat = DateFormat.getDateInstance(DateFormat.LONG, ulocale);
+                break;
+            case DATE_MODIFIER_FULL:
+                newFormat = DateFormat.getDateInstance(DateFormat.FULL, ulocale);
+                break;
+            default:
+                newFormat = new SimpleDateFormat(segments[3].toString(), ulocale);
+                break;
+            }
+            break;
+        case TYPE_TIME:
+            switch (findKeyword(segments[3].toString(), dateModifierList)) {
+            case DATE_MODIFIER_EMPTY:
+                newFormat = DateFormat.getTimeInstance(DateFormat.DEFAULT, ulocale);
+                break;
+            case DATE_MODIFIER_SHORT:
+                newFormat = DateFormat.getTimeInstance(DateFormat.SHORT, ulocale);
+                break;
+            case DATE_MODIFIER_MEDIUM:
+                newFormat = DateFormat.getTimeInstance(DateFormat.DEFAULT, ulocale);
+                break;
+            case DATE_MODIFIER_LONG:
+                newFormat = DateFormat.getTimeInstance(DateFormat.LONG, ulocale);
+                break;
+            case DATE_MODIFIER_FULL:
+                newFormat = DateFormat.getTimeInstance(DateFormat.FULL, ulocale);
+                break;
+            default:
+                newFormat = new SimpleDateFormat(segments[3].toString(), ulocale);
+                break;
+            }
+            break;
+        case TYPE_CHOICE:
+            try {
+                newFormat = new ChoiceFormat(segments[3].toString());
+            } catch (Exception e) {
+                maxOffset = oldMaxOffset;
+                throw new IllegalArgumentException(
+                                         "Choice Pattern incorrect");
+            }
+            break;
+        case TYPE_SPELLOUT: 
+            {
+                RuleBasedNumberFormat rbnf = new RuleBasedNumberFormat(ulocale, RuleBasedNumberFormat.SPELLOUT);
+                String ruleset = segments[3].toString().trim();
+                if (ruleset.length() != 0) {
+                    try {
+                        rbnf.setDefaultRuleSet(ruleset);
+                    }
+                    catch (Exception e) {
+                        // warn invalid ruleset
+                    }
+                }
+                newFormat = rbnf;
+            } 
+            break;
+        case TYPE_ORDINAL:
+            {
+                RuleBasedNumberFormat rbnf = new RuleBasedNumberFormat(ulocale, RuleBasedNumberFormat.ORDINAL);
+                String ruleset = segments[3].toString().trim();
+                if (ruleset.length() != 0) {
+                    try {
+                        rbnf.setDefaultRuleSet(ruleset);
+                    }
+                    catch (Exception e) {
+                        // warn invalid ruleset
+                    }
+                }
+                newFormat = rbnf;
+            } 
+            break;
+        case TYPE_DURATION:
+            {
+                RuleBasedNumberFormat rbnf = new RuleBasedNumberFormat(ulocale, RuleBasedNumberFormat.DURATION);
+                String ruleset = segments[3].toString().trim();
+                if (ruleset.length() != 0) {
+                    try {
+                        rbnf.setDefaultRuleSet(ruleset);
+                    }
+                    catch (Exception e) {
+                        // warn invalid ruleset
+                    }
+                }
+                newFormat = rbnf;
+            } 
+            break;
+        default:
+            maxOffset = oldMaxOffset;
+            throw new IllegalArgumentException("unknown format type at ");
+        }
+        formats[offsetNumber] = newFormat;
+        segments[1].setLength(0);   // throw away other segments
+        segments[2].setLength(0);
+        segments[3].setLength(0);
+    }
+
+    private static final int findKeyword(String s, String[] list) {
+        s = s.trim().toLowerCase();
+        for (int i = 0; i < list.length; ++i) {
+            if (s.equals(list[i]))
+                return i;
+        }
+        return -1;
+    }
+
+    private static final void copyAndFixQuotes(String source, int start, int end, StringBuffer target) {
+        // added 'gotLB' logic from ICU4C - questionable [alan]
+        boolean gotLB = false;
+        for (int i = start; i < end; ++i) {
+            char ch = source.charAt(i);
+            if (ch == '{') {
+                target.append("'{'");
+                gotLB = true;
+            } else if (ch == '}') {
+                if (gotLB) {
+                    target.append(ch);
+                    gotLB = false;
+                } else {
+                    target.append("'}'");
+                }
+            } else if (ch == '\'') {
+                target.append("''");
+            } else {
+                target.append(ch);
+            }
+        }
+    }
+
+    /**
+     * After reading an object from the input stream, do a simple verification
+     * to maintain class invariants.
+     * @throws InvalidObjectException if the objects read from the stream is invalid.
+     */
+    private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException {
+        in.defaultReadObject();
+        boolean isValid = maxOffset >= -1
+                && formats.length > maxOffset
+                && offsets.length > maxOffset
+                && argumentNumbers.length > maxOffset;
+        if (isValid) {
+            int lastOffset = pattern.length() + 1;
+            for (int i = maxOffset; i >= 0; --i) {
+                if ((offsets[i] < 0) || (offsets[i] > lastOffset)) {
+                    isValid = false;
+                    break;
+                } else {
+                    lastOffset = offsets[i];
+                }
+            }
+        }
+        if (!isValid) {
+            throw new InvalidObjectException("Could not reconstruct MessageFormat from corrupt stream.");
+        }
+        if (ulocale == null) {
+            ulocale = ULocale.forLocale(locale);
+        }
+    }
+
+    private static final char SINGLE_QUOTE = '\'';
+    private static final char CURLY_BRACE_LEFT = '{';
+    private static final char CURLY_BRACE_RIGHT = '}';
+
+    private static final int STATE_INITIAL = 0;
+    private static final int STATE_SINGLE_QUOTE = 1;
+    private static final int STATE_IN_QUOTE = 2;
+    private static final int STATE_MSG_ELEMENT = 3;
+
+    /**
+     * Convert an 'apostrophe-friendly' pattern into a standard
+     * pattern.  Standard patterns treat all apostrophes as
+     * quotes, which is problematic in some languages, e.g. 
+     * French, where apostrophe is commonly used.  This utility
+     * assumes that only an unpaired apostrophe immediately before
+     * a brace is a true quote.  Other unpaired apostrophes are paired,
+     * and the resulting standard pattern string is returned.
+     *
+     * <p><b>Note</b> it is not guaranteed that the returned pattern
+     * is indeed a valid pattern.  The only effect is to convert
+     * between patterns having different quoting semantics.
+     *
+     * @param pattern the 'apostrophe-friendly' patttern to convert
+     * @return the standard equivalent of the original pattern
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static String autoQuoteApostrophe(String pattern) {
+        StringBuffer buf = new StringBuffer(pattern.length()*2);
+        int state = STATE_INITIAL;
+        int braceCount = 0;
+        for (int i = 0, j = pattern.length(); i < j; ++i) {
+            char c = pattern.charAt(i);
+            switch (state) {
+            case STATE_INITIAL:
+                switch (c) {
+                case SINGLE_QUOTE:
+                    state = STATE_SINGLE_QUOTE;
+                    break;
+                case CURLY_BRACE_LEFT:
+                    state = STATE_MSG_ELEMENT;
+                    ++braceCount;
+                    break;
+                }
+                break;
+            case STATE_SINGLE_QUOTE:
+                switch (c) {
+                case SINGLE_QUOTE:
+                    state = STATE_INITIAL;
+                    break;
+                case CURLY_BRACE_LEFT:
+                case CURLY_BRACE_RIGHT:
+                    state = STATE_IN_QUOTE;
+                    break;
+                default:
+                    buf.append(SINGLE_QUOTE);
+                    state = STATE_INITIAL;
+                    break;
+                }
+                break;
+            case STATE_IN_QUOTE:
+                switch (c) {
+                case SINGLE_QUOTE:
+                    state = STATE_INITIAL;
+                    break;
+                }
+                break;
+            case STATE_MSG_ELEMENT:
+                switch (c) {
+                case CURLY_BRACE_LEFT:
+                    ++braceCount;
+                    break;
+                case CURLY_BRACE_RIGHT:
+                    if (--braceCount == 0) {
+                        state = STATE_INITIAL;
+                    }
+                    break;
+                }
+                break;
+            default: // Never happens.
+                break;
+            }
+            buf.append(c);
+        }
+        // End of scan
+        if (state == STATE_SINGLE_QUOTE || state == STATE_IN_QUOTE) {
+            buf.append(SINGLE_QUOTE);
+        }
+        return new String(buf);
+    }
+}
diff --git a/src/com/ibm/icu/text/NFRule.java b/src/com/ibm/icu/text/NFRule.java
new file mode 100755
index 0000000..7540758
--- /dev/null
+++ b/src/com/ibm/icu/text/NFRule.java
@@ -0,0 +1,1337 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.text;
+
+import com.ibm.icu.impl.UCharacterProperty;
+
+import java.text.*;
+
+/**
+ * A class represnting a single rule in a RuleBasedNumberFormat.  A rule
+ * inserts its text into the result string and then passes control to its
+ * substitutions, which do the same thing.
+ */
+final class NFRule {
+    //-----------------------------------------------------------------------
+    // constants
+    //-----------------------------------------------------------------------
+
+    /**
+     * Puts a copyright in the .class file
+     */
+    private static final String copyrightNotice
+        = "Copyright \u00a91997-1998 IBM Corp.  All rights reserved.";
+
+    /**
+     * Special base value used to identify a negative-number rule
+     */
+    public static final int NEGATIVE_NUMBER_RULE = -1;
+
+    /**
+     * Special base value used to identify an improper fraction (x.x) rule
+     */
+    public static final int IMPROPER_FRACTION_RULE = -2;
+
+    /**
+     * Special base value used to identify a proper fraction (0.x) rule
+     */
+    public static final int PROPER_FRACTION_RULE = -3;
+
+    /**
+     * Special base value used to identify a master rule
+     */
+    public static final int MASTER_RULE = -4;
+
+    //-----------------------------------------------------------------------
+    // data members
+    //-----------------------------------------------------------------------
+
+    /**
+     * The rule's base value
+     */
+    private long baseValue;
+
+    /**
+     * The rule's radix (the radix to the power of the exponent equals
+     * the rule's divisor)
+     */
+    private int radix = 10;
+
+    /**
+     * The rule's exponent (the radx rased to the power of the exponsnt
+     * equals the rule's divisor)
+     */
+    private short exponent = 0;
+
+    /**
+     * The rule's rule text.  When formatting a number, the rule's text
+     * is inserted into the result string, and then the text from any
+     * substitutions is inserted into the result string
+     */
+    private String ruleText = null;
+
+    /**
+     * The rule's first substitution (the one with the lower offset
+     * into the rule text)
+     */
+    private NFSubstitution sub1 = null;
+
+    /**
+     * The rule's second substitution (the one with the higher offset
+     * into the rule text)
+     */
+    private NFSubstitution sub2 = null;
+
+    /**
+     * The RuleBasedNumberFormat that owns this rule
+     */
+    private RuleBasedNumberFormat formatter = null;
+
+    //-----------------------------------------------------------------------
+    // construction
+    //-----------------------------------------------------------------------
+
+    /**
+     * Creates one or more rules based on the description passed in.
+     * @param description The description of the rule(s).
+     * @param owner The rule set containing the new rule(s).
+     * @param predecessor The rule that precedes the new one(s) in "owner"'s
+     * rule list
+     * @param ownersOwner The RuleBasedNumberFormat that owns the
+     * rule set that owns the new rule(s)
+     * @return An instance of NFRule, or an array of NFRules
+     */
+    public static Object makeRules(String                description,
+                                   NFRuleSet             owner,
+                                   NFRule                predecessor,
+                                   RuleBasedNumberFormat ownersOwner) {
+        // we know we're making at least one rule, so go ahead and
+        // new it up and initialize its basevalue and divisor
+        // (this also strips the rule descriptor, if any, off the
+        // descripton string)
+        NFRule rule1 = new NFRule(ownersOwner);
+        description = rule1.parseRuleDescriptor(description);
+
+        // check the description to see whether there's text enclosed
+        // in brackets
+        int brack1 = description.indexOf("[");
+        int brack2 = description.indexOf("]");
+
+        // if the description doesn't contain a matched pair of brackets,
+        // or if it's of a type that doesn't recognize bracketed text,
+        // then leave the description alone, initialize the rule's
+        // rule text and substitutions, and return that rule
+        if (brack1 == -1 || brack2 == -1 || brack1 > brack2
+            || rule1.getBaseValue() == PROPER_FRACTION_RULE
+            || rule1.getBaseValue() == NEGATIVE_NUMBER_RULE) {
+            rule1.ruleText = description;
+            rule1.extractSubstitutions(owner, predecessor, ownersOwner);
+            return rule1;
+        } else {
+            // if the description does contain a matched pair of brackets,
+            // then it's really shorthand for two rules (with one exception)
+            NFRule rule2 = null;
+            StringBuffer sbuf = new StringBuffer();
+
+            // we'll actually only split the rule into two rules if its
+            // base value is an even multiple of its divisor (or it's one
+            // of the special rules)
+            if ((rule1.baseValue > 0
+                 && rule1.baseValue % (Math.pow(rule1.radix, rule1.exponent)) == 0)
+                || rule1.baseValue == IMPROPER_FRACTION_RULE
+                || rule1.baseValue == MASTER_RULE) {
+
+                // if it passes that test, new up the second rule.  If the
+                // rule set both rules will belong to is a fraction rule
+                // set, they both have the same base value; otherwise,
+                // increment the original rule's base value ("rule1" actually
+                // goes SECOND in the rule set's rule list)
+                rule2 = new NFRule(ownersOwner);
+                if (rule1.baseValue >= 0) {
+                    rule2.baseValue = rule1.baseValue;
+                    if (!owner.isFractionSet()) {
+                        ++rule1.baseValue;
+                    }
+                }
+
+                // if the description began with "x.x" and contains bracketed
+                // text, it describes both the improper fraction rule and
+                // the proper fraction rule
+                else if (rule1.baseValue == IMPROPER_FRACTION_RULE) {
+                    rule2.baseValue = PROPER_FRACTION_RULE;
+                }
+
+                // if the description began with "x.0" and contains bracketed
+                // text, it describes both the master rule and the
+                // improper fraction rule
+                else if (rule1.baseValue == MASTER_RULE) {
+                    rule2.baseValue = rule1.baseValue;
+                    rule1.baseValue = IMPROPER_FRACTION_RULE;
+                }
+
+                // both rules have the same radix and exponent (i.e., the
+                // same divisor)
+                rule2.radix = rule1.radix;
+                rule2.exponent = rule1.exponent;
+
+                // rule2's rule text omits the stuff in brackets: initalize
+                // its rule text and substitutions accordingly
+                sbuf.append(description.substring(0, brack1));
+                if (brack2 + 1 < description.length()) {
+                    sbuf.append(description.substring(brack2 + 1));
+                }
+                rule2.ruleText = sbuf.toString();
+                rule2.extractSubstitutions(owner, predecessor, ownersOwner);
+            }
+
+            // rule1's text includes the text in the brackets but omits
+            // the brackets themselves: initialize _its_ rule text and
+            // substitutions accordingly
+            sbuf.setLength(0);
+            sbuf.append(description.substring(0, brack1));
+            sbuf.append(description.substring(brack1 + 1, brack2));
+            if (brack2 + 1 < description.length()) {
+                sbuf.append(description.substring(brack2 + 1));
+            }
+            rule1.ruleText = sbuf.toString();
+            rule1.extractSubstitutions(owner, predecessor, ownersOwner);
+
+            // if we only have one rule, return it; if we have two, return
+            // a two-element array containing them (notice that rule2 goes
+            // BEFORE rule1 in the list: in all cases, rule2 OMITS the
+            // material in the brackets and rule1 INCLUDES the material
+            // in the brackets)
+            if (rule2 == null) {
+                return rule1;
+            } else {
+                return new NFRule[] { rule2, rule1 };
+            }
+        }
+    }
+
+    /**
+     * Nominal constructor for NFRule.  Most of the work of constructing
+     * an NFRule is actually performed by makeRules().
+     */
+    public NFRule(RuleBasedNumberFormat formatter) {
+        this.formatter = formatter;
+    }
+
+    /**
+     * This function parses the rule's rule descriptor (i.e., the base
+     * value and/or other tokens that precede the rule's rule text
+     * in the description) and sets the rule's base value, radix, and
+     * exponent according to the descriptor.  (If the description doesn't
+     * include a rule descriptor, then this function sets everything to
+     * default values and the rule set sets the rule's real base value).
+     * @param description The rule's description
+     * @return If "description" included a rule descriptor, this is
+     * "description" with the descriptor and any trailing whitespace
+     * stripped off.  Otherwise; it's "descriptor" unchangd.
+     */
+    private String parseRuleDescriptor(String description) {
+        String descriptor;
+
+        // the description consists of a rule descriptor and a rule body,
+        // separated by a colon.  The rule descriptor is optional.  If
+        // it's omitted, just set the base value to 0.
+        int p = description.indexOf(":");
+        if (p == -1) {
+            setBaseValue(0);
+        } else {
+            // copy the descriptor out into its own string and strip it,
+            // along with any trailing whitespace, out of the original
+            // description
+            descriptor = description.substring(0, p);
+            ++p;
+            while (p < description.length() && UCharacterProperty.isRuleWhiteSpace(description.charAt(p)))
+                ++p;
+            description = description.substring(p);
+
+            // check first to see if the rule descriptor matches the token
+            // for one of the special rules.  If it does, set the base
+            // value to the correct identfier value
+            if (descriptor.equals("-x")) {
+                setBaseValue(NEGATIVE_NUMBER_RULE);
+            }
+            else if (descriptor.equals("x.x")) {
+                setBaseValue(IMPROPER_FRACTION_RULE);
+            }
+            else if (descriptor.equals("0.x")) {
+                setBaseValue(PROPER_FRACTION_RULE);
+            }
+            else if (descriptor.equals("x.0")) {
+                setBaseValue(MASTER_RULE);
+            }
+
+            // if the rule descriptor begins with a digit, it's a descriptor
+            // for a normal rule
+            else if (descriptor.charAt(0) >= '0' && descriptor.charAt(0) <= '9') {
+                StringBuffer tempValue = new StringBuffer();
+                p = 0;
+                char c = ' ';
+
+                // begin parsing the descriptor: copy digits
+                // into "tempValue", skip periods, commas, and spaces,
+                // stop on a slash or > sign (or at the end of the string),
+                // and throw an exception on any other character
+                while (p < descriptor.length()) {
+                    c = descriptor.charAt(p);
+                    if (c >= '0' && c <= '9') {
+                        tempValue.append(c);
+                    }
+                    else if (c == '/' || c == '>') {
+                        break;
+                    }
+                    else if (UCharacterProperty.isRuleWhiteSpace(c) || c == ',' || c == '.') {
+                    }
+                    else {
+                        throw new IllegalArgumentException("Illegal character in rule descriptor");
+                    }
+                    ++p;
+                }
+
+                // tempValue now contains a string representation of the
+                // rule's base value with the punctuation stripped out.
+                // Set the rule's base value accordingly
+                setBaseValue(Long.parseLong(tempValue.toString()));
+
+                // if we stopped the previous loop on a slash, we're
+                // now parsing the rule's radix.  Again, accumulate digits
+                // in tempValue, skip punctuation, stop on a > mark, and
+                // throw an exception on anything else
+                if (c == '/') {
+                    tempValue.setLength(0);
+                    ++p;
+                    while (p < descriptor.length()) {
+                        c = descriptor.charAt(p);
+                        if (c >= '0' && c <= '9') {
+                            tempValue.append(c);
+                        }
+                        else if (c == '>') {
+                            break;
+                        }
+                        else if (UCharacterProperty.isRuleWhiteSpace(c) || c == ',' || c == '.') {
+                        }
+                        else {
+                            throw new IllegalArgumentException("Illegal character is rule descriptor");
+                        }
+                        ++p;
+                    }
+
+                    // tempValue now contain's the rule's radix.  Set it
+                    // accordingly, and recalculate the rule's exponent
+                    radix = Integer.parseInt(tempValue.toString());
+                    if (radix == 0) {
+                        throw new IllegalArgumentException("Rule can't have radix of 0");
+                    }
+                    exponent = expectedExponent();
+                }
+
+                // if we stopped the previous loop on a > sign, then continue
+                // for as long as we still see > signs.  For each one,
+                // decrement the exponent (unless the exponent is already 0).
+                // If we see another character before reaching the end of
+                // the descriptor, that's also a syntax error.
+                if (c == '>') {
+                    while (p < descriptor.length()) {
+                        c = descriptor.charAt(p);
+                        if (c == '>' && exponent > 0) {
+                            --exponent;
+                        } else {
+                            throw new IllegalArgumentException("Illegal character in rule descriptor");
+                        }
+                        ++p;
+                    }
+                }
+            }
+        }
+
+        // finally, if the rule body begins with an apostrophe, strip it off
+        // (this is generally used to put whitespace at the beginning of
+        // a rule's rule text)
+        if (description.length() > 0 && description.charAt(0) == '\'') {
+            description = description.substring(1);
+        }
+
+        // return the description with all the stuff we've just waded through
+        // stripped off the front.  It now contains just the rule body.
+        return description;
+    }
+
+    /**
+     * Searches the rule's rule text for the substitution tokens,
+     * creates the substitutions, and removes the substitution tokens
+     * from the rule's rule text.
+     * @param owner The rule set containing this rule
+     * @param predecessor The rule preseding this one in "owners" rule list
+     * @param ownersOwner The RuleBasedFormat that owns this rule
+     */
+    private void extractSubstitutions(NFRuleSet             owner,
+                                      NFRule                predecessor,
+                                      RuleBasedNumberFormat ownersOwner) {
+        sub1 = extractSubstitution(owner, predecessor, ownersOwner);
+        sub2 = extractSubstitution(owner, predecessor, ownersOwner);
+    }
+
+    /**
+     * Searches the rule's rule text for the first substitution token,
+     * creates a substitution based on it, and removes the token from
+     * the rule's rule text.
+     * @param owner The rule set containing this rule
+     * @param predecessor The rule preceding this one in the rule set's
+     * rule list
+     * @param ownersOwner The RuleBasedNumberFormat that owns this rule
+     * @return The newly-created substitution.  This is never null; if
+     * the rule text doesn't contain any substitution tokens, this will
+     * be a NullSubstitution.
+     */
+    private NFSubstitution extractSubstitution(NFRuleSet             owner,
+                                               NFRule                predecessor,
+                                               RuleBasedNumberFormat ownersOwner) {
+        NFSubstitution result = null;
+        int subStart;
+        int subEnd;
+
+        // search the rule's rule text for the first two characters of
+        // a substitution token
+        subStart = indexOfAny(new String[] { "<<", "<%", "<#", "<0",
+                                             ">>", ">%", ">#", ">0",
+                                             "=%", "=#", "=0" } );
+
+        // if we didn't find one, create a null substitution positioned
+        // at the end of the rule text
+        if (subStart == -1) {
+            return NFSubstitution.makeSubstitution(ruleText.length(), this, predecessor,
+                                                   owner, ownersOwner, "");
+        }
+
+        // special-case the ">>>" token, since searching for the > at the
+        // end will actually find the > in the middle
+        if (ruleText.substring(subStart).startsWith(">>>")) {
+            subEnd = subStart + 2;
+
+            // otherwise the substitution token ends with the same character
+            // it began with
+        } else {
+            char c = ruleText.charAt(subStart);
+            subEnd = ruleText.indexOf(c, subStart + 1);
+            // special case for '<%foo<<'
+            if (c == '<' && subEnd != -1 && subEnd < ruleText.length() - 1 && ruleText.charAt(subEnd+1) == c) {
+                // ordinals use "=#,##0==%abbrev=" as their rule.  Notice that the '==' in the middle
+                // occurs because of the juxtaposition of two different rules.  The check for '<' is a hack
+                // to get around this.  Having the duplicate at the front would cause problems with
+                // rules like "<<%" to format, say, percents...
+                ++subEnd;
+            }
+        }
+
+        // if we don't find the end of the token (i.e., if we're on a single,
+        // unmatched token character), create a null substitution positioned
+        // at the end of the rule
+        if (subEnd == -1) {
+            return NFSubstitution.makeSubstitution(ruleText.length(), this, predecessor,
+                                                   owner, ownersOwner, "");
+        }
+
+        // if we get here, we have a real substitution token (or at least
+        // some text bounded by substitution token characters).  Use
+        // makeSubstitution() to create the right kind of substitution
+        result = NFSubstitution.makeSubstitution(subStart, this, predecessor, owner,
+                                                 ownersOwner, ruleText.substring(subStart, subEnd + 1));
+
+        // remove the substitution from the rule text
+        ruleText = ruleText.substring(0, subStart) + ruleText.substring(subEnd + 1);
+        return result;
+    }
+
+    /**
+     * Sets the rule's base value, and causes the radix and exponent
+     * to be recalculated.  This is used during construction when we
+     * don't know the rule's base value until after it's been
+     * constructed.  It should not be used at any other time.
+     * @param The new base value for the rule.
+     */
+    public final void setBaseValue(long newBaseValue) {
+        // set the base value
+        baseValue = newBaseValue;
+
+        // if this isn't a special rule, recalculate the radix and exponent
+        // (the radix always defaults to 10; if it's supposed to be something
+        // else, it's cleaned up by the caller and the exponent is
+        // recalculated again-- the only function that does this is
+        // NFRule.parseRuleDescriptor() )
+        if (baseValue >= 1) {
+            radix = 10;
+            exponent = expectedExponent();
+
+            // this function gets called on a fully-constructed rule whose
+            // description didn't specify a base value.  This means it
+            // has substitutions, and some substitutions hold on to copies
+            // of the rule's divisor.  Fix their copies of the divisor.
+            if (sub1 != null) {
+                sub1.setDivisor(radix, exponent);
+            }
+            if (sub2 != null) {
+                sub2.setDivisor(radix, exponent);
+            }
+
+            // if this is a special rule, its radix and exponent are basically
+            // ignored.  Set them to "safe" default values
+        } else {
+            radix = 10;
+            exponent = 0;
+        }
+    }
+
+    /**
+     * This calculates the rule's exponent based on its radix and base
+     * value.  This will be the highest power the radix can be raised to
+     * and still produce a result less than or equal to the base value.
+     */
+    private short expectedExponent() {
+        // since the log of 0, or the log base 0 of something, causes an
+        // error, declare the exponent in these cases to be 0 (we also
+        // deal with the special-rule identifiers here)
+        if (radix == 0 || baseValue < 1) {
+            return 0;
+        }
+
+        // we get rounding error in some cases-- for example, log 1000 / log 10
+        // gives us 1.9999999996 instead of 2.  The extra logic here is to take
+        // that into account
+        short tempResult = (short)(Math.log(baseValue) / Math.log(radix));
+        if (Math.pow(radix, tempResult + 1) <= baseValue) {
+            return (short)(tempResult + 1);
+        } else {
+            return tempResult;
+        }
+    }
+
+    /**
+     * Searches the rule's rule text for any of the specified strings.
+     * @param strings An array of strings to search the rule's rule
+     * text for
+     * @return The index of the first match in the rule's rule text
+     * (i.e., the first substring in the rule's rule text that matches
+     * _any_ of the strings in "strings").  If none of the strings in
+     * "strings" is found in the rule's rule text, returns -1.
+     */
+    private int indexOfAny(String[] strings) {
+        int pos;
+        int result = -1;
+        for (int i = 0; i < strings.length; i++) {
+            pos = ruleText.indexOf(strings[i]);
+            if (pos != -1 && (result == -1 || pos < result)) {
+                result = pos;
+            }
+        }
+        return result;
+    }
+
+    //-----------------------------------------------------------------------
+    // boilerplate
+    //-----------------------------------------------------------------------
+
+    /**
+     * Tests two rules for equality.
+     * @param that The rule to compare this one against
+     * @return True if the two rules are functionally equivalent
+     */
+    public boolean equals(Object that) {
+        if (that instanceof NFRule) {
+            NFRule that2 = (NFRule)that;
+
+            return baseValue == that2.baseValue
+                && radix == that2.radix
+                && exponent == that2.exponent
+                && ruleText.equals(that2.ruleText)
+                && sub1.equals(that2.sub1)
+                && sub2.equals(that2.sub2);
+        }
+        return false;
+    }
+
+    /**
+     * Returns a textual representation of the rule.  This won't
+     * necessarily be the same as the description that this rule
+     * was created with, but it will produce the same result.
+     * @return A textual description of the rule
+     */
+    public String toString() {
+        StringBuffer result = new StringBuffer();
+
+        // start with the rule descriptor.  Special-case the special rules
+        if (baseValue == NEGATIVE_NUMBER_RULE) {
+            result.append("-x: ");
+        }
+        else if (baseValue == IMPROPER_FRACTION_RULE) {
+            result.append("x.x: ");
+        }
+        else if (baseValue == PROPER_FRACTION_RULE) {
+            result.append("0.x: ");
+        }
+        else if (baseValue == MASTER_RULE) {
+            result.append("x.0: ");
+        }
+
+        // for a normal rule, write out its base value, and if the radix is
+        // something other than 10, write out the radix (with the preceding
+        // slash, of course).  Then calculate the expected exponent and if
+        // if isn't the same as the actual exponent, write an appropriate
+        // number of > signs.  Finally, terminate the whole thing with
+        // a colon.
+        else {
+            result.append(String.valueOf(baseValue));
+            if (radix != 10) {
+                result.append('/');
+                result.append(String.valueOf(radix));
+            }
+            int numCarets = expectedExponent() - exponent;
+            for (int i = 0; i < numCarets; i++)
+                result.append('>');
+            result.append(": ");
+        }
+
+        // if the rule text begins with a space, write an apostrophe
+        // (whitespace after the rule descriptor is ignored; the
+        // apostrophe is used to make the whitespace significant)
+        if (ruleText.startsWith(" ") && (sub1 == null || sub1.getPos() != 0)) {
+            result.append("\'");
+        }
+
+        // now, write the rule's rule text, inserting appropriate
+        // substitution tokens in the appropriate places
+        StringBuffer ruleTextCopy = new StringBuffer(ruleText);
+        ruleTextCopy.insert(sub2.getPos(), sub2.toString());
+        ruleTextCopy.insert(sub1.getPos(), sub1.toString());
+        result.append(ruleTextCopy.toString());
+
+        // and finally, top the whole thing off with a semicolon and
+        // return the result
+        result.append(';');
+        return result.toString();
+    }
+
+    //-----------------------------------------------------------------------
+    // simple accessors
+    //-----------------------------------------------------------------------
+
+    /**
+     * Returns the rule's base value
+     * @return The rule's base value
+     */
+    public final long getBaseValue() {
+        return baseValue;
+    }
+
+    /**
+     * Returns the rule's divisor (the value that cotrols the behavior
+     * of its substitutions)
+     * @return The rule's divisor
+     */
+    public double getDivisor() {
+        return Math.pow(radix, exponent);
+    }
+
+    //-----------------------------------------------------------------------
+    // formatting
+    //-----------------------------------------------------------------------
+
+    /**
+     * Formats the number, and inserts the resulting text into
+     * toInsertInto.
+     * @param number The number being formatted
+     * @param toInsertInto The string where the resultant text should
+     * be inserted
+     * @param pos The position in toInsertInto where the resultant text
+     * should be inserted
+     */
+    public void doFormat(long number, StringBuffer toInsertInto, int pos) {
+        // first, insert the rule's rule text into toInsertInto at the
+        // specified position, then insert the results of the substitutions
+        // into the right places in toInsertInto (notice we do the
+        // substitutions in reverse order so that the offsets don't get
+        // messed up)
+        toInsertInto.insert(pos, ruleText);
+        sub2.doSubstitution(number, toInsertInto, pos);
+        sub1.doSubstitution(number, toInsertInto, pos);
+    }
+
+    /**
+     * Formats the number, and inserts the resulting text into
+     * toInsertInto.
+     * @param number The number being formatted
+     * @param toInsertInto The string where the resultant text should
+     * be inserted
+     * @param pos The position in toInsertInto where the resultant text
+     * should be inserted
+     */
+    public void doFormat(double number, StringBuffer toInsertInto, int pos) {
+        // first, insert the rule's rule text into toInsertInto at the
+        // specified position, then insert the results of the substitutions
+        // into the right places in toInsertInto
+        // [again, we have two copies of this routine that do the same thing
+        // so that we don't sacrifice precision in a long by casting it
+        // to a double]
+        toInsertInto.insert(pos, ruleText);
+        sub2.doSubstitution(number, toInsertInto, pos);
+        sub1.doSubstitution(number, toInsertInto, pos);
+    }
+
+    /**
+     * Used by the owning rule set to determine whether to invoke the
+     * rollback rule (i.e., whether this rule or the one that precedes
+     * it in the rule set's list should be used to format the number)
+     * @param The number being formatted
+     * @return True if the rule set should use the rule that precedes
+     * this one in its list; false if it should use this rule
+     */
+    public boolean shouldRollBack(double number) {
+        // we roll back if the rule contains a modulus substitution,
+        // the number being formatted is an even multiple of the rule's
+        // divisor, and the rule's base value is NOT an even multiple
+        // of its divisor
+        // In other words, if the original description had
+        //    100: << hundred[ >>];
+        // that expands into
+        //    100: << hundred;
+        //    101: << hundred >>;
+        // internally.  But when we're formatting 200, if we use the rule
+        // at 101, which would normally apply, we get "two hundred zero".
+        // To prevent this, we roll back and use the rule at 100 instead.
+        // This is the logic that makes this happen: the rule at 101 has
+        // a modulus substitution, its base value isn't an even multiple
+        // of 100, and the value we're trying to format _is_ an even
+        // multiple of 100.  This is called the "rollback rule."
+        if ((sub1.isModulusSubstitution()) || (sub2.isModulusSubstitution())) {
+            return (number % Math.pow(radix, exponent)) == 0
+                && (baseValue % Math.pow(radix, exponent)) != 0;
+        }
+        return false;
+    }
+
+    //-----------------------------------------------------------------------
+    // parsing
+    //-----------------------------------------------------------------------
+
+    /**
+     * Attempts to parse the string with this rule.
+     * @param text The string being parsed
+     * @param parsePosition On entry, the value is ignored and assumed to
+     * be 0. On exit, this has been updated with the position of the first
+     * character not consumed by matching the text against this rule
+     * (if this rule doesn't match the text at all, the parse position
+     * if left unchanged (presumably at 0) and the function returns
+     * new Long(0)).
+     * @param isFractionRule True if this rule is contained within a
+     * fraction rule set.  This is only used if the rule has no
+     * substitutions.
+     * @return If this rule matched the text, this is the rule's base value
+     * combined appropriately with the results of parsing the substitutions.
+     * If nothing matched, this is new Long(0) and the parse position is
+     * left unchanged.  The result will be an instance of Long if the
+     * result is an integer and Double otherwise.  The result is never null.
+     */
+    public Number doParse(String text, ParsePosition parsePosition, boolean isFractionRule,
+                          double upperBound) {
+
+        // internally we operate on a copy of the string being parsed
+        // (because we're going to change it) and use our own ParsePosition
+        ParsePosition pp = new ParsePosition(0);
+        String workText = new String(text);
+
+        // check to see whether the text before the first substitution
+        // matches the text at the beginning of the string being
+        // parsed.  If it does, strip that off the front of workText;
+        // otherwise, dump out with a mismatch
+        workText = stripPrefix(workText, ruleText.substring(0, sub1.getPos()), pp);
+        int prefixLength = text.length() - workText.length();
+
+        if (pp.getIndex() == 0 && sub1.getPos() != 0) {
+            // commented out because ParsePosition doesn't have error index in 1.1.x
+            //                parsePosition.setErrorIndex(pp.getErrorIndex());
+            return new Long(0);
+        }
+
+        // this is the fun part.  The basic guts of the rule-matching
+        // logic is matchToDelimiter(), which is called twice.  The first
+        // time it searches the input string for the rule text BETWEEN
+        // the substitutions and tries to match the intervening text
+        // in the input string with the first substitution.  If that
+        // succeeds, it then calls it again, this time to look for the
+        // rule text after the second substitution and to match the
+        // intervening input text against the second substitution.
+        //
+        // For example, say we have a rule that looks like this:
+        //    first << middle >> last;
+        // and input text that looks like this:
+        //    first one middle two last
+        // First we use stripPrefix() to match "first " in both places and
+        // strip it off the front, leaving
+        //    one middle two last
+        // Then we use matchToDelimiter() to match " middle " and try to
+        // match "one" against a substitution.  If it's successful, we now
+        // have
+        //    two last
+        // We use matchToDelimiter() a second time to match " last" and
+        // try to match "two" against a substitution.  If "two" matches
+        // the substitution, we have a successful parse.
+        //
+        // Since it's possible in many cases to find multiple instances
+        // of each of these pieces of rule text in the input string,
+        // we need to try all the possible combinations of these
+        // locations.  This prevents us from prematurely declaring a mismatch,
+        // and makes sure we match as much input text as we can.
+        int highWaterMark = 0;
+        double result = 0;
+        int start = 0;
+        double tempBaseValue = Math.max(0, baseValue);
+
+        do {
+            // our partial parse result starts out as this rule's base
+            // value.  If it finds a successful match, matchToDelimiter()
+            // will compose this in some way with what it gets back from
+            // the substitution, giving us a new partial parse result
+            pp.setIndex(0);
+            double partialResult = matchToDelimiter(workText, start, tempBaseValue,
+                                                    ruleText.substring(sub1.getPos(), sub2.getPos()), pp, sub1,
+                                                    upperBound).doubleValue();
+
+            // if we got a successful match (or were trying to match a
+            // null substitution), pp is now pointing at the first unmatched
+            // character.  Take note of that, and try matchToDelimiter()
+            // on the input text again
+            if (pp.getIndex() != 0 || sub1.isNullSubstitution()) {
+                start = pp.getIndex();
+
+                String workText2 = workText.substring(pp.getIndex());
+                ParsePosition pp2 = new ParsePosition(0);
+
+                // the second matchToDelimiter() will compose our previous
+                // partial result with whatever it gets back from its
+                // substitution if there's a successful match, giving us
+                // a real result
+                partialResult = matchToDelimiter(workText2, 0, partialResult,
+                                                 ruleText.substring(sub2.getPos()), pp2, sub2,
+                                                 upperBound).doubleValue();
+
+                // if we got a successful match on this second
+                // matchToDelimiter() call, update the high-water mark
+                // and result (if necessary)
+                if (pp2.getIndex() != 0 || sub2.isNullSubstitution()) {
+                    if (prefixLength + pp.getIndex() + pp2.getIndex() > highWaterMark) {
+                        highWaterMark = prefixLength + pp.getIndex() + pp2.getIndex();
+                        result = partialResult;
+                    }
+                }
+                // commented out because ParsePosition doesn't have error index in 1.1.x
+                //                    else {
+                //                        int temp = pp2.getErrorIndex() + sub1.getPos() + pp.getIndex();
+                //                        if (temp> parsePosition.getErrorIndex()) {
+                //                            parsePosition.setErrorIndex(temp);
+                //                        }
+                //                    }
+            }
+            // commented out because ParsePosition doesn't have error index in 1.1.x
+            //                else {
+            //                    int temp = sub1.getPos() + pp.getErrorIndex();
+            //                    if (temp > parsePosition.getErrorIndex()) {
+            //                        parsePosition.setErrorIndex(temp);
+            //                    }
+            //                }
+            // keep trying to match things until the outer matchToDelimiter()
+            // call fails to make a match (each time, it picks up where it
+            // left off the previous time)
+        } while (sub1.getPos() != sub2.getPos() && pp.getIndex() > 0 && pp.getIndex()
+                 < workText.length() && pp.getIndex() != start);
+
+        // update the caller's ParsePosition with our high-water mark
+        // (i.e., it now points at the first character this function
+        // didn't match-- the ParsePosition is therefore unchanged if
+        // we didn't match anything)
+        parsePosition.setIndex(highWaterMark);
+        // commented out because ParsePosition doesn't have error index in 1.1.x
+        //        if (highWaterMark > 0) {
+        //            parsePosition.setErrorIndex(0);
+        //        }
+
+        // this is a hack for one unusual condition: Normally, whether this
+        // rule belong to a fraction rule set or not is handled by its
+        // substitutions.  But if that rule HAS NO substitutions, then
+        // we have to account for it here.  By definition, if the matching
+        // rule in a fraction rule set has no substitutions, its numerator
+        // is 1, and so the result is the reciprocal of its base value.
+        if (isFractionRule && highWaterMark > 0 && sub1.isNullSubstitution()) {
+            result = 1 / result;
+        }
+
+        // return the result as a Long if possible, or as a Double
+        if (result == (long)result) {
+            return new Long((long)result);
+        } else {
+            return new Double(result);
+        }
+    }
+
+    /**
+     * This function is used by parse() to match the text being parsed
+     * against a possible prefix string.  This function
+     * matches characters from the beginning of the string being parsed
+     * to characters from the prospective prefix.  If they match, pp is
+     * updated to the first character not matched, and the result is
+     * the unparsed part of the string.  If they don't match, the whole
+     * string is returned, and pp is left unchanged.
+     * @param text The string being parsed
+     * @param prefix The text to match against
+     * @param pp On entry, ignored and assumed to be 0.  On exit, points
+     * to the first unmatched character (assuming the whole prefix matched),
+     * or is unchanged (if the whole prefix didn't match).
+     * @return If things match, this is the unparsed part of "text";
+     * if they didn't match, this is "text".
+     */
+    private String stripPrefix(String text, String prefix, ParsePosition pp) {
+        // if the prefix text is empty, dump out without doing anything
+        if (prefix.length() == 0) {
+            return text;
+        } else {
+            // otherwise, use prefixLength() to match the beginning of
+            // "text" against "prefix".  This function returns the
+            // number of characters from "text" that matched (or 0 if
+            // we didn't match the whole prefix)
+            int pfl = prefixLength(text, prefix);
+            if (pfl != 0) {
+                // if we got a successful match, update the parse position
+                // and strip the prefix off of "text"
+                pp.setIndex(pp.getIndex() + pfl);
+                return text.substring(pfl);
+
+                // if we didn't get a successful match, leave everything alone
+            } else {
+                return text;
+            }
+        }
+    }
+
+    /**
+     * Used by parse() to match a substitution and any following text.
+     * "text" is searched for instances of "delimiter".  For each instance
+     * of delimiter, the intervening text is tested to see whether it
+     * matches the substitution.  The longest match wins.
+     * @param text The string being parsed
+     * @param startPos The position in "text" where we should start looking
+     * for "delimiter".
+     * @param baseValue A partial parse result (often the rule's base value),
+     * which is combined with the result from matching the substitution
+     * @param delimiter The string to search "text" for.
+     * @param pp Ignored and presumed to be 0 on entry.  If there's a match,
+     * on exit this will point to the first unmatched character.
+     * @param sub If we find "delimiter" in "text", this substitution is used
+     * to match the text between the beginning of the string and the
+     * position of "delimiter."  (If "delimiter" is the empty string, then
+     * this function just matches against this substitution and updates
+     * everything accordingly.)
+     * @param upperBound When matching the substitution, it will only
+     * consider rules with base values lower than this value.
+     * @return If there's a match, this is the result of composing
+     * baseValue with the result of matching the substitution.  Otherwise,
+     * this is new Long(0).  It's never null.  If the result is an integer,
+     * this will be an instance of Long; otherwise, it's an instance of
+     * Double.
+     */
+    private Number matchToDelimiter(String text, int startPos, double baseValue,
+                                    String delimiter, ParsePosition pp, NFSubstitution sub, double upperBound) {
+        // if "delimiter" contains real (i.e., non-ignorable) text, search
+        // it for "delimiter" beginning at "start".  If that succeeds, then
+        // use "sub"'s doParse() method to match the text before the
+        // instance of "delimiter" we just found.
+        if (!allIgnorable(delimiter)) {
+            ParsePosition tempPP = new ParsePosition(0);
+            Number tempResult;
+
+            // use findText() to search for "delimiter".  It returns a two-
+            // element array: element 0 is the position of the match, and
+            // element 1 is the number of characters that matched
+            // "delimiter".
+            int[] temp = findText(text, delimiter, startPos);
+            int dPos = temp[0];
+            int dLen = temp[1];
+
+            // if findText() succeeded, isolate the text preceding the
+            // match, and use "sub" to match that text
+            while (dPos >= 0) {
+                String subText = text.substring(0, dPos);
+                if (subText.length() > 0) {
+                    tempResult = sub.doParse(subText, tempPP, baseValue, upperBound,
+                                             formatter.lenientParseEnabled());
+
+                    // if the substitution could match all the text up to
+                    // where we found "delimiter", then this function has
+                    // a successful match.  Bump the caller's parse position
+                    // to point to the first character after the text
+                    // that matches "delimiter", and return the result
+                    // we got from parsing the substitution.
+                    if (tempPP.getIndex() == dPos) {
+                        pp.setIndex(dPos + dLen);
+                        return tempResult;
+                    }
+                    // commented out because ParsePosition doesn't have error index in 1.1.x
+                    //                    else {
+                    //                        if (tempPP.getErrorIndex() > 0) {
+                    //                            pp.setErrorIndex(tempPP.getErrorIndex());
+                    //                        } else {
+                    //                            pp.setErrorIndex(tempPP.getIndex());
+                    //                        }
+                    //                    }
+                }
+
+                // if we didn't match the substitution, search for another
+                // copy of "delimiter" in "text" and repeat the loop if
+                // we find it
+                tempPP.setIndex(0);
+                temp = findText(text, delimiter, dPos + dLen);
+                dPos = temp[0];
+                dLen = temp[1];
+            }
+            // if we make it here, this was an unsuccessful match, and we
+            // leave pp unchanged and return 0
+            pp.setIndex(0);
+            return new Long(0);
+
+            // if "delimiter" is empty, or consists only of ignorable characters
+            // (i.e., is semantically empty), thwe we obviously can't search
+            // for "delimiter".  Instead, just use "sub" to parse as much of
+            // "text" as possible.
+        } else {
+            ParsePosition tempPP = new ParsePosition(0);
+            Number result = new Long(0);
+            Number tempResult;
+
+            // try to match the whole string against the substitution
+            tempResult = sub.doParse(text, tempPP, baseValue, upperBound,
+                                     formatter.lenientParseEnabled());
+            if (tempPP.getIndex() != 0 || sub.isNullSubstitution()) {
+                // if there's a successful match (or it's a null
+                // substitution), update pp to point to the first
+                // character we didn't match, and pass the result from
+                // sub.doParse() on through to the caller
+                pp.setIndex(tempPP.getIndex());
+                if (tempResult != null) {
+                    result = tempResult;
+                }
+            }
+            // commented out because ParsePosition doesn't have error index in 1.1.x
+            //            else {
+            //                pp.setErrorIndex(tempPP.getErrorIndex());
+            //            }
+
+            // and if we get to here, then nothing matched, so we return
+            // 0 and leave pp alone
+            return result;
+        }
+    }
+
+    /**
+     * Used by stripPrefix() to match characters.  If lenient parse mode
+     * is off, this just calls startsWith().  If lenient parse mode is on,
+     * this function uses CollationElementIterators to match characters in
+     * the strings (only primary-order differences are significant in
+     * determining whether there's a match).
+     * @param str The string being tested
+     * @param prefix The text we're hoping to see at the beginning
+     * of "str"
+     * @return If "prefix" is found at the beginning of "str", this
+     * is the number of characters in "str" that were matched (this
+     * isn't necessarily the same as the length of "prefix" when matching
+     * text with a collator).  If there's no match, this is 0.
+     */
+    private int prefixLength(String str, String prefix) {
+        // if we're looking for an empty prefix, it obviously matches
+        // zero characters.  Just go ahead and return 0.
+        if (prefix.length() == 0) {
+            return 0;
+        }
+
+        // go through all this grief if we're in lenient-parse mode
+        if (formatter.lenientParseEnabled()) {
+            // get the formatter's collator and use it to create two
+            // collation element iterators, one over the target string
+            // and another over the prefix (right now, we'll throw an
+            // exception if the collator we get back from the formatter
+            // isn't a RuleBasedCollator, because RuleBasedCollator defines
+            // the CollationElementIteratoer protocol.  Hopefully, this
+            // will change someday.)
+            //
+            // Previous code was matching "fifty-" against " fifty" and leaving
+            // the number " fifty-7" to parse as 43 (50 - 7).
+            // Also it seems that if we consume the entire prefix, that's ok even
+            // if we've consumed the entire string, so I switched the logic to
+            // reflect this.
+            RuleBasedCollator collator = (RuleBasedCollator)formatter.getCollator();
+            CollationElementIterator strIter = collator.getCollationElementIterator(str);
+            CollationElementIterator prefixIter = collator.getCollationElementIterator(prefix);
+
+            // match collation elements between the strings
+            int oStr = strIter.next();
+            int oPrefix = prefixIter.next();
+
+            while (oPrefix != CollationElementIterator.NULLORDER) {
+                // skip over ignorable characters in the target string
+                while (CollationElementIterator.primaryOrder(oStr) == 0 && oStr !=
+                       CollationElementIterator.NULLORDER) {
+                    oStr = strIter.next();
+                }
+
+                // skip over ignorable characters in the prefix
+                while (CollationElementIterator.primaryOrder(oPrefix) == 0 && oPrefix !=
+                       CollationElementIterator.NULLORDER) {
+                    oPrefix = prefixIter.next();
+                }
+
+                // if skipping over ignorables brought to the end of
+                // the prefix, we DID match: drop out of the loop
+                if (oPrefix == CollationElementIterator.NULLORDER) {
+                    break;
+                }
+
+                // if skipping over ignorables brought us to the end
+                // of the target string, we didn't match and return 0
+                if (oStr == CollationElementIterator.NULLORDER) {
+                    return 0;
+                }
+
+                // match collation elements from the two strings
+                // (considering only primary differences).  If we
+                // get a mismatch, dump out and return 0
+                if (CollationElementIterator.primaryOrder(oStr) != CollationElementIterator.
+                    primaryOrder(oPrefix)) {
+                    return 0;
+                }
+                // otherwise, advance to the next character in each string
+                // and loop (we drop out of the loop when we exhaust
+                // collation elements in the prefix)
+
+                oStr = strIter.next();
+                oPrefix = prefixIter.next();
+            }
+
+            // we are not compatible with jdk 1.1 any longer
+            int result = strIter.getOffset();
+            if (oStr != CollationElementIterator.NULLORDER) {
+                --result;
+            }
+            return result;
+
+            /*
+              //----------------------------------------------------------------
+              // JDK 1.2-specific API call
+              // return strIter.getOffset();
+              //----------------------------------------------------------------
+              // JDK 1.1 HACK (take out for 1.2-specific code)
+
+              // if we make it to here, we have a successful match.  Now we
+              // have to find out HOW MANY characters from the target string
+              // matched the prefix (there isn't necessarily a one-to-one
+              // mapping between collation elements and characters).
+              // In JDK 1.2, there's a simple getOffset() call we can use.
+              // In JDK 1.1, on the other hand, we have to go through some
+              // ugly contortions.  First, use the collator to compare the
+              // same number of characters from the prefix and target string.
+              // If they're equal, we're done.
+              collator.setStrength(Collator.PRIMARY);
+              if (str.length() >= prefix.length()
+              && collator.equals(str.substring(0, prefix.length()), prefix)) {
+              return prefix.length();
+              }
+
+              // if they're not equal, then we have to compare successively
+              // larger and larger substrings of the target string until we
+              // get to one that matches the prefix.  At that point, we know
+              // how many characters matched the prefix, and we can return.
+              int p = 1;
+              while (p <= str.length()) {
+              if (collator.equals(str.substring(0, p), prefix)) {
+              return p;
+              } else {
+              ++p;
+              }
+              }
+
+              // SHOULKD NEVER GET HERE!!!
+              return 0;
+              //----------------------------------------------------------------
+            */
+
+            // If lenient parsing is turned off, forget all that crap above.
+            // Just use String.startsWith() and be done with it.
+        } else {
+            if (str.startsWith(prefix)) {
+                return prefix.length();
+            } else {
+                return 0;
+            }
+        }
+    }
+
+    /**
+     * Searches a string for another string.  If lenient parsing is off,
+     * this just calls indexOf().  If lenient parsing is on, this function
+     * uses CollationElementIterator to match characters, and only
+     * primary-order differences are significant in determining whether
+     * there's a match.
+     * @param str The string to search
+     * @param key The string to search "str" for
+     * @return A two-element array of ints.  Element 0 is the position
+     * of the match, or -1 if there was no match.  Element 1 is the
+     * number of characters in "str" that matched (which isn't necessarily
+     * the same as the length of "key")
+     */
+    private int[] findText(String str, String key) {
+        return findText(str, key, 0);
+    }
+
+    /**
+     * Searches a string for another string.  If lenient parsing is off,
+     * this just calls indexOf().  If lenient parsing is on, this function
+     * uses CollationElementIterator to match characters, and only
+     * primary-order differences are significant in determining whether
+     * there's a match.
+     * @param str The string to search
+     * @param key The string to search "str" for
+     * @param startingAt The index into "str" where the search is to
+     * begin
+     * @return A two-element array of ints.  Element 0 is the position
+     * of the match, or -1 if there was no match.  Element 1 is the
+     * number of characters in "str" that matched (which isn't necessarily
+     * the same as the length of "key")
+     */
+    private int[] findText(String str, String key, int startingAt) {
+        // if lenient parsing is turned off, this is easy: just call
+        // String.indexOf() and we're done
+        if (!formatter.lenientParseEnabled()) {
+            return new int[] { str.indexOf(key, startingAt), key.length() };
+
+            // but if lenient parsing is turned ON, we've got some work
+            // ahead of us
+        } else {
+            //----------------------------------------------------------------
+            // JDK 1.1 HACK (take out of 1.2-specific code)
+
+            // in JDK 1.2, CollationElementIterator provides us with an
+            // API to map between character offsets and collation elements
+            // and we can do this by marching through the string comparing
+            // collation elements.  We can't do that in JDK 1.1.  Insted,
+            // we have to go through this horrible slow mess:
+            int p = startingAt;
+            int keyLen = 0;
+
+            // basically just isolate smaller and smaller substrings of
+            // the target string (each running to the end of the string,
+            // and with the first one running from startingAt to the end)
+            // and then use prefixLength() to see if the search key is at
+            // the beginning of each substring.  This is excruciatingly
+            // slow, but it will locate the key and tell use how long the
+            // matching text was.
+            while (p < str.length() && keyLen == 0) {
+                keyLen = prefixLength(str.substring(p), key);
+                if (keyLen != 0) {
+                    return new int[] { p, keyLen };
+                }
+                ++p;
+            }
+            // if we make it to here, we didn't find it.  Return -1 for the
+            // location.  The length should be ignored, but set it to 0,
+            // which should be "safe"
+            return new int[] { -1, 0 };
+
+            //----------------------------------------------------------------
+            // JDK 1.2 version of this routine
+            //RuleBasedCollator collator = (RuleBasedCollator)formatter.getCollator();
+            //
+            //CollationElementIterator strIter = collator.getCollationElementIterator(str);
+            //CollationElementIterator keyIter = collator.getCollationElementIterator(key);
+            //
+            //int keyStart = -1;
+            //
+            //str.setOffset(startingAt);
+            //
+            //int oStr = strIter.next();
+            //int oKey = keyIter.next();
+            //while (oKey != CollationElementIterator.NULLORDER) {
+            //    while (oStr != CollationElementIterator.NULLORDER &&
+            //                CollationElementIterator.primaryOrder(oStr) == 0)
+            //        oStr = strIter.next();
+            //
+            //    while (oKey != CollationElementIterator.NULLORDER &&
+            //                CollationElementIterator.primaryOrder(oKey) == 0)
+            //        oKey = keyIter.next();
+            //
+            //    if (oStr == CollationElementIterator.NULLORDER) {
+            //        return new int[] { -1, 0 };
+            //    }
+            //
+            //    if (oKey == CollationElementIterator.NULLORDER) {
+            //        break;
+            //    }
+            //
+            //    if (CollationElementIterator.primaryOrder(oStr) ==
+            //            CollationElementIterator.primaryOrder(oKey)) {
+            //        keyStart = strIter.getOffset();
+            //        oStr = strIter.next();
+            //        oKey = keyIter.next();
+            //    } else {
+            //        if (keyStart != -1) {
+            //            keyStart = -1;
+            //            keyIter.reset();
+            //        } else {
+            //            oStr = strIter.next();
+            //        }
+            //    }
+            //}
+            //
+            //if (oKey == CollationElementIterator.NULLORDER) {
+            //    return new int[] { keyStart, strIter.getOffset() - keyStart };
+            //} else {
+            //    return new int[] { -1, 0 };
+            //}
+        }
+    }
+
+    /**
+     * Checks to see whether a string consists entirely of ignorable
+     * characters.
+     * @param str The string to test.
+     * @return true if the string is empty of consists entirely of
+     * characters that the number formatter's collator says are
+     * ignorable at the primary-order level.  false otherwise.
+     */
+    private boolean allIgnorable(String str) {
+        // if the string is empty, we can just return true
+        if (str.length() == 0) {
+            return true;
+        }
+
+        // if lenient parsing is turned on, walk through the string with
+        // a collation element iterator and make sure each collation
+        // element is 0 (ignorable) at the primary level
+        if (formatter.lenientParseEnabled()) {
+            RuleBasedCollator collator = (RuleBasedCollator)(formatter.getCollator());
+            CollationElementIterator iter = collator.getCollationElementIterator(str);
+
+            int o = iter.next();
+            while (o != CollationElementIterator.NULLORDER
+                   && CollationElementIterator.primaryOrder(o) == 0) {
+                o = iter.next();
+            }
+            return o == CollationElementIterator.NULLORDER;
+            // if lenient parsing is turned off, there is no such thing as
+            // an ignorable character: return true only if the string is empty
+        } else {
+            return false;
+        }
+    }
+}
diff --git a/src/com/ibm/icu/text/NFRuleSet.java b/src/com/ibm/icu/text/NFRuleSet.java
new file mode 100755
index 0000000..1ba8244
--- /dev/null
+++ b/src/com/ibm/icu/text/NFRuleSet.java
@@ -0,0 +1,788 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.text;
+
+import com.ibm.icu.impl.UCharacterProperty;
+import com.ibm.icu.impl.Utility;
+
+import java.text.*;
+import java.util.Vector;
+
+/**
+ * A collection of rules used by a RuleBasedNumberFormat to format and
+ * parse numbers.  It is the responsibility of a RuleSet to select an
+ * appropriate rule for formatting a particular number and dispatch
+ * control to it, and to arbitrate between different rules when parsing
+ * a number.
+ */
+
+final class NFRuleSet {
+    //-----------------------------------------------------------------------
+    // constants
+    //-----------------------------------------------------------------------
+
+    /**
+     * Puts a copyright in the .class file
+     */
+    private static final String copyrightNotice
+        = "Copyright \u00a91997-1998 IBM Corp.  All rights reserved.";
+
+    //-----------------------------------------------------------------------
+    // data members
+    //-----------------------------------------------------------------------
+
+    /**
+     * The rule set's name
+     */
+    private String name;
+
+    /**
+     * The rule set's regular rules
+     */
+    private NFRule[] rules;
+
+    /**
+     * The rule set's negative-number rule
+     */
+    private NFRule negativeNumberRule = null;
+
+    /**
+     * The rule set's fraction rules: element 0 is the proper fraction
+     * (0.x) rule, element 1 is the improper fraction (x.x) rule, and
+     * element 2 is the master (x.0) rule.
+     */
+    private NFRule[] fractionRules = new NFRule[3];
+
+    /**
+     * True if the rule set is a fraction rule set.  A fraction rule set
+     * is a rule set that is used to format the fractional part of a
+     * number.  It is called from a >> substitution in another rule set's
+     * fraction rule, and is only called upon to format values between
+     * 0 and 1.  A fraction rule set has different rule-selection
+     * behavior than a regular rule set.
+     */
+    private boolean isFractionRuleSet = false;
+    
+    /**
+     * Used to limit recursion for bad rule sets.
+     */
+    private int recursionCount = 0;
+
+    /**
+      * Limit of recursion.
+      */
+    private static final int RECURSION_LIMIT = 50;
+
+    //-----------------------------------------------------------------------
+    // construction
+    //-----------------------------------------------------------------------
+
+    /*
+     * Constructs a rule set.
+     * @param descriptions An array of Strings representing rule set
+     * descriptions.  On exit, this rule set's entry in the array will
+     * have been stripped of its rule set name and any trailing whitespace.
+     * @param index The index into "descriptions" of the description
+     * for the rule to be constructed
+     */
+    public NFRuleSet(String[] descriptions, int index) throws IllegalArgumentException {
+        String description = descriptions[index];
+
+    if (description.length() == 0) {
+      throw new IllegalArgumentException("Empty rule set description");
+    }
+
+        // if the description begins with a rule set name (the rule set
+        // name can be omitted in formatter descriptions that consist
+        // of only one rule set), copy it out into our "name" member
+        // and delete it from the description
+        if (description.charAt(0) == '%') {
+            int pos = description.indexOf(':');
+            if (pos == -1) {
+                throw new IllegalArgumentException("Rule set name doesn't end in colon");
+            } else {
+                name = description.substring(0, pos);
+                while (pos < description.length() && UCharacterProperty.isRuleWhiteSpace(description.
+                                charAt(++pos))) {
+                }
+                description = description.substring(pos);
+                descriptions[index] = description;
+            }
+
+        // if the description doesn't begin with a rule set name, its
+        // name is "%default"
+        } else {
+            name = "%default";
+        }
+
+        if (description.length() == 0) {
+            throw new IllegalArgumentException("Empty rule set description");
+        }
+
+        // all of the other members of NFRuleSet are initialized
+        // by parseRules()
+    }
+
+    /**
+     * Construct the subordinate data structures used by this object.
+     * This function is called by the RuleBasedNumberFormat constructor
+     * after all the rule sets have been created to actually parse
+     * the description and build rules from it.  Since any rule set
+     * can refer to any other rule set, we have to have created all of
+     * them before we can create anything else.
+     * @param description The textual description of this rule set
+     * @param owner The formatter that owns this rule set
+     */
+    public void parseRules(String                description,
+                           RuleBasedNumberFormat owner) {
+        // start by creating a Vector whose elements are Strings containing
+        // the descriptions of the rules (one rule per element).  The rules
+        // are separated by semicolons (there's no escape facility: ALL
+        // semicolons are rule delimiters)
+        Vector ruleDescriptions = new Vector();
+
+        int oldP = 0;
+        int p = description.indexOf(';');
+        while (oldP != -1) {
+            if (p != -1) {
+                ruleDescriptions.addElement(description.substring(oldP, p));
+                oldP = p + 1;
+            } else {
+                if (oldP < description.length()) {
+                    ruleDescriptions.addElement(description.substring(oldP));
+                }
+                oldP = p;
+            }
+            p = description.indexOf(';', p + 1);
+        }
+
+        // now go back through and build a vector of the rules themselves
+        // (the number of elements in the description list isn't necessarily
+        // the number of rules-- some descriptions may expend into two rules)
+        Vector tempRules = new Vector();
+
+        // we keep track of the rule before the one we're currently working
+        // on solely to support >>> substitutions
+        NFRule predecessor = null;
+        for (int i = 0; i < ruleDescriptions.size(); i++) {
+            // makeRules (a factory method on NFRule) will return either
+            // a single rule or an array of rules.  Either way, add them
+            // to our rule vector
+            Object temp = NFRule.makeRules((String)ruleDescriptions.elementAt(i),
+                            this, predecessor, owner);
+
+            if (temp instanceof NFRule) {
+                tempRules.addElement(temp);
+                predecessor = (NFRule)temp;
+            }
+            else if (temp instanceof NFRule[]) {
+                NFRule[] rulesToAdd = (NFRule[])temp;
+
+                for (int j = 0; j < rulesToAdd.length; j++) {
+                    tempRules.addElement(rulesToAdd[j]);
+                    predecessor = rulesToAdd[j];
+                }
+            }
+        }
+        // now we can bag the description list
+        ruleDescriptions = null;
+
+        // for rules that didn't specify a base value, their base values
+        // were initialized to 0.  Make another pass through the list and
+        // set all those rules' base values.  We also remove any special
+        // rules from the list and put them into their own member variables
+        long defaultBaseValue = 0;
+
+        // (this isn't a for loop because we might be deleting items from
+        // the vector-- we want to make sure we only increment i when
+        // we _didn't_ delete aything from the vector)
+        int i = 0;
+        while (i < tempRules.size()) {
+            NFRule rule = (NFRule)tempRules.elementAt(i);
+
+            switch ((int)rule.getBaseValue()) {
+                // if the rule's base value is 0, fill in a default
+                // base value (this will be 1 plus the preceding
+                // rule's base value for regular rule sets, and the
+                // same as the preceding rule's base value in fraction
+                // rule sets)
+                case 0:
+                    rule.setBaseValue(defaultBaseValue);
+                    if (!isFractionRuleSet) {
+                        ++defaultBaseValue;
+                    }
+                    ++i;
+                    break;
+
+                // if it's the negative-number rule, copy it into its own
+                // data member and delete it from the list
+                case NFRule.NEGATIVE_NUMBER_RULE:
+                    negativeNumberRule = rule;
+                    tempRules.removeElementAt(i);
+                    break;
+
+                // if it's the improper fraction rule, copy it into the
+                // correct element of fractionRules
+                case NFRule.IMPROPER_FRACTION_RULE:
+                    fractionRules[0] = rule;
+                    tempRules.removeElementAt(i);
+                    break;
+
+                // if it's the proper fraction rule, copy it into the
+                // correct element of fractionRules
+                case NFRule.PROPER_FRACTION_RULE:
+                    fractionRules[1] = rule;
+                    tempRules.removeElementAt(i);
+                    break;
+
+                // if it's the master rule, copy it into the
+                // correct element of fractionRules
+                case NFRule.MASTER_RULE:
+                    fractionRules[2] = rule;
+                    tempRules.removeElementAt(i);
+                    break;
+
+                // if it's a regular rule that already knows its base value,
+                // check to make sure the rules are in order, and update
+                // the default base value for the next rule
+                default:
+                    if (rule.getBaseValue() < defaultBaseValue) {
+                        throw new IllegalArgumentException("Rules are not in order, base: " + 
+                               rule.getBaseValue() + " < " + defaultBaseValue);
+                    }
+                    defaultBaseValue = rule.getBaseValue();
+                    if (!isFractionRuleSet) {
+                        ++defaultBaseValue;
+                    }
+                    ++i;
+                    break;
+            }
+        }
+
+        // finally, we can copy the rules from the vector into a
+        // fixed-length array
+        rules = new NFRule[tempRules.size()];
+        tempRules.copyInto((Object[])rules);
+    }
+
+    /**
+     * Flags this rule set as a fraction rule set.  This function is
+     * called during the construction process once we know this rule
+     * set is a fraction rule set.  We don't know a rule set is a
+     * fraction rule set until we see it used somewhere.  This function
+     * is not ad must not be called at any time other than during
+     * construction of a RuleBasedNumberFormat.
+     */
+    public void makeIntoFractionRuleSet() {
+        isFractionRuleSet = true;
+    }
+
+    //-----------------------------------------------------------------------
+    // boilerplate
+    //-----------------------------------------------------------------------
+
+    /**
+     * Compares two rule sets for equality.
+     * @param that The other rule set
+     * @return true if the two rule sets are functionally equivalent.
+     */
+    public boolean equals(Object that) {
+        // if different classes, they're not equal
+        if (!(that instanceof NFRuleSet)) {
+            return false;
+        } else {
+            // otherwise, compare the members one by one...
+            NFRuleSet that2 = (NFRuleSet)that;
+
+            if (!name.equals(that2.name)
+        || !Utility.objectEquals(negativeNumberRule, that2.negativeNumberRule)
+        || !Utility.objectEquals(fractionRules[0], that2.fractionRules[0])
+        || !Utility.objectEquals(fractionRules[1], that2.fractionRules[1])
+        || !Utility.objectEquals(fractionRules[2], that2.fractionRules[2])
+        || rules.length != that2.rules.length
+                || isFractionRuleSet != that2.isFractionRuleSet) {
+
+                return false;
+            }
+
+            // ...then compare the rule lists...
+            for (int i = 0; i < rules.length; i++) {
+                if (!rules[i].equals(that2.rules[i])) {
+                    return false;
+                }
+            }
+
+            // ...and if we make it here, tney're equal
+            return true;
+        }
+    }
+
+
+    /**
+     * Builds a textual representation of a rule set.
+     * @return A textual representation of a rule set.  This won't
+     * necessarily be the same description that the rule set was
+     * constructed with, but it will produce the same results.
+     */
+    public String toString() {
+        StringBuffer result = new StringBuffer();
+
+        // the rule set name goes first...
+        result.append(name + ":\n");
+
+        // followed by the regular rules...
+        for (int i = 0; i < rules.length; i++) {
+            result.append("    " + rules[i].toString() + "\n");
+        }
+
+        // followed by the special rules (if they exist)
+        if (negativeNumberRule != null) {
+            result.append("    " + negativeNumberRule.toString() + "\n");
+        }
+        if (fractionRules[0] != null) {
+            result.append("    " + fractionRules[0].toString() + "\n");
+        }
+        if (fractionRules[1] != null) {
+            result.append("    " + fractionRules[1].toString() + "\n");
+        }
+        if (fractionRules[2] != null) {
+            result.append("    " + fractionRules[2].toString() + "\n");
+        }
+
+        return result.toString();
+    }
+
+    //-----------------------------------------------------------------------
+    // simple accessors
+    //-----------------------------------------------------------------------
+
+    /**
+     * Says whether this rule set is a fraction rule set.
+     * @return true if this rule is a fraction rule set; false if it isn't
+     */
+    public boolean isFractionSet() {
+        return isFractionRuleSet;
+    }
+
+    /**
+     * Returns the rule set's name
+     * @return The rule set's name
+     */
+    public String getName() {
+        return name;
+    }
+
+    /**
+     * Return true if the rule set is public.
+     * @return true if the rule set is public
+     */
+    public boolean isPublic() {
+    return !name.startsWith("%%");
+    }
+
+    //-----------------------------------------------------------------------
+    // formatting
+    //-----------------------------------------------------------------------
+
+    /**
+     * Formats a long.  Selects an appropriate rule and dispatches
+     * control to it.
+     * @param number The number being formatted
+     * @param toInsertInto The string where the result is to be placed
+     * @param pos The position in toInsertInto where the result of
+     * this operation is to be inserted
+     */
+    public void format(long number, StringBuffer toInsertInto, int pos) {
+        NFRule applicableRule = findNormalRule(number);
+
+        if (++recursionCount >= RECURSION_LIMIT) {
+            recursionCount = 0;
+            throw new IllegalStateException("Recursion limit exceeded when applying ruleSet " + name);
+        }
+        applicableRule.doFormat(number, toInsertInto, pos);
+        --recursionCount;
+    }
+
+    /**
+     * Formats a double.  Selects an appropriate rule and dispatches
+     * control to it.
+     * @param number The number being formatted
+     * @param toInsertInto The string where the result is to be placed
+     * @param pos The position in toInsertInto where the result of
+     * this operation is to be inserted
+     */
+    public void format(double number, StringBuffer toInsertInto, int pos) {
+        NFRule applicableRule = findRule(number);
+
+        if (++recursionCount >= RECURSION_LIMIT) {
+            recursionCount = 0;
+            throw new IllegalStateException("Recursion limit exceeded when applying ruleSet " + name);
+        }
+        applicableRule.doFormat(number, toInsertInto, pos);
+        --recursionCount;
+    }
+
+    /**
+     * Selects an apropriate rule for formatting the number.
+     * @param number The number being formatted.
+     * @return The rule that should be used to format it
+     */
+    private NFRule findRule(double number) {
+        // if this is a fraction rule set, use findFractionRuleSetRule()
+        if (isFractionRuleSet) {
+            return findFractionRuleSetRule(number);
+        }
+
+        // if the number is negative, return the negative number rule
+        // (if there isn't a negative-number rule, we pretend it's a
+        // positive number)
+        if (number < 0) {
+            if (negativeNumberRule != null) {
+                return negativeNumberRule;
+            } else {
+                number = -number;
+            }
+        }
+
+        // if the number isn't an integer, we use one f the fraction rules...
+        if (number != Math.floor(number)) {
+            // if the number is between 0 and 1, return the proper
+            // fraction rule
+            if (number < 1 && fractionRules[1] != null) {
+                return fractionRules[1];
+            }
+
+            // otherwise, return the improper fraction rule
+            else if (fractionRules[0] != null) {
+                return fractionRules[0];
+            }
+        }
+
+        // if there's a master rule, use it to format the number
+        if (fractionRules[2] != null) {
+            return fractionRules[2];
+
+        // and if we haven't yet returned a rule, use findNormalRule()
+        // to find the applicable rule
+        } else {
+            return findNormalRule((long)Math.round(number));
+        }
+    }
+
+    /**
+     * If the value passed to findRule() is a positive integer, findRule()
+     * uses this function to select the appropriate rule.  The result will
+     * generally be the rule with the highest base value less than or equal
+     * to the number.  There is one exception to this: If that rule has
+     * two substitutions and a base value that is not an even multiple of
+     * its divisor, and the number itself IS an even multiple of the rule's
+     * divisor, then the result will be the rule that preceded the original
+     * result in the rule list.  (This behavior is known as the "rollback
+     * rule", and is used to handle optional text: a rule with optional
+     * text is represented internally as two rules, and the rollback rule
+     * selects appropriate between them.  This avoids things like "two
+     * hundred zero".)
+     * @param number The number being formatted
+     * @return The rule to use to format this number
+     */
+    private NFRule findNormalRule(long number) {
+        // if this is a fraction rule set, use findFractionRuleSetRule()
+        // to find the rule (we should only go into this clause if the
+        // value is 0)
+        if (isFractionRuleSet) {
+            return findFractionRuleSetRule(number);
+        }
+
+        // if the number is negative, return the negative-number rule
+        // (if there isn't one, pretend the number is positive)
+        if (number < 0) {
+            if (negativeNumberRule != null) {
+                return negativeNumberRule;
+            } else {
+                number = -number;
+            }
+        }
+
+        // we have to repeat the preceding two checks, even though we
+        // do them in findRule(), because the version of format() that
+        // takes a long bypasses findRule() and goes straight to this
+        // function.  This function does skip the fraction rules since
+        // we know the value is an integer (it also skips the master
+        // rule, since it's considered a fraction rule.  Skipping the
+        // master rule in this function is also how we avoid infinite
+        // recursion)
+
+        // binary-search the rule list for the applicable rule
+        // (a rule is used for all values from its base value to
+        // the next rule's base value)
+        int lo = 0;
+        int hi = rules.length;
+    if (hi > 0) {
+        while (lo < hi) {
+        int mid = (lo + hi) / 2;
+        if (rules[mid].getBaseValue() == number) {
+            return rules[mid];
+        }
+        else if (rules[mid].getBaseValue() > number) {
+            hi = mid;
+        }
+        else {
+            lo = mid + 1;
+        }
+        }
+        if (hi == 0) { // bad rule set
+        throw new IllegalStateException("The rule set " + name + " cannot format the value " + number);
+        }
+        NFRule result = rules[hi - 1];
+
+        // use shouldRollBack() to see whether we need to invoke the
+        // rollback rule (see shouldRollBack()'s documentation for
+        // an explanation of the rollback rule).  If we do, roll back
+        // one rule and return that one instead of the one we'd normally
+        // return
+        if (result.shouldRollBack(number)) {
+        if (hi == 1) { // bad rule set
+            throw new IllegalStateException("The rule set " + name + " cannot roll back from the rule '" +
+                            result + "'");
+        }
+        result = rules[hi - 2];
+        }
+        return result;
+    }
+    // else use the master rule
+    return fractionRules[2];
+    }
+
+    /**
+     * If this rule is a fraction rule set, this function is used by
+     * findRule() to select the most appropriate rule for formatting
+     * the number.  Basically, the base value of each rule in the rule
+     * set is treated as the denominator of a fraction.  Whichever
+     * denominator can produce the fraction closest in value to the
+     * number passed in is the result.  If there's a tie, the earlier
+     * one in the list wins.  (If there are two rules in a row with the
+     * same base value, the first one is used when the numerator of the
+     * fraction would be 1, and the second rule is used the rest of the
+     * time.
+     * @param number The number being formatted (which will always be
+     * a number between 0 and 1)
+     * @return The rule to use to format this number
+     */
+    private NFRule findFractionRuleSetRule(double number) {
+        // the obvious way to do this (multiply the value being formatted
+        // by each rule's base value until you get an integral result)
+        // doesn't work because of rounding error.  This method is more
+        // accurate
+
+        // find the least common multiple of the rules' base values
+        // and multiply this by the number being formatted.  This is
+        // all the precision we need, and we can do all of the rest
+        // of the math using integer arithmetic
+        long leastCommonMultiple = rules[0].getBaseValue();
+        for (int i = 1; i < rules.length; i++) {
+            leastCommonMultiple = lcm(leastCommonMultiple, rules[i].getBaseValue());
+        }
+        long numerator = (long)(Math.round(number * leastCommonMultiple));
+
+        // for each rule, do the following...
+        long tempDifference;
+        long difference = Long.MAX_VALUE;
+        int winner = 0;
+        for (int i = 0; i < rules.length; i++) {
+            // "numerator" is the numerator of the fraction is the
+            // denominator is the LCD.  The numerator if the the rule's
+            // base value is the denomiator is "numerator" times the
+            // base value divided bythe LCD.  Here we check to see if
+            // that's an integer, and if not, how close it is to being
+            // an integer.
+            tempDifference = numerator * rules[i].getBaseValue() % leastCommonMultiple;
+
+            // normalize the result of the above calculation: we want
+            // the numerator's distance from the CLOSEST multiple
+            // of the LCD
+            if (leastCommonMultiple - tempDifference < tempDifference) {
+                tempDifference = leastCommonMultiple - tempDifference;
+            }
+
+            // if this is as close as we've come, keep track of how close
+            // that is, and the line number of the rule that did it.  If
+            // we've scored a direct hit, we don't have to look at any more
+            // rules
+            if (tempDifference < difference) {
+                difference = tempDifference;
+                winner = i;
+                if (difference == 0) {
+                    break;
+                }
+            }
+        }
+
+        // if we have two successive rules that both have the winning base
+        // value, then the first one (the one we found above) is used if
+        // the numerator of the fraction is 1 and the second one is used if
+        // the numerator of the fraction is anything else (this lets us
+        // do things like "one third"/"two thirds" without haveing to define
+        // a whole bunch of extra rule sets)
+        if (winner + 1 < rules.length
+                && rules[winner + 1].getBaseValue() == rules[winner].getBaseValue()) {
+            if (Math.round(number * rules[winner].getBaseValue()) < 1
+                    || Math.round(number * rules[winner].getBaseValue()) >= 2) {
+                ++winner;
+            }
+        }
+
+        // finally, return the winning rule
+        return rules[winner];
+    }
+
+    /**
+     * Calculates the least common multiple of x and y.
+     */
+    private static long lcm(long x, long y) {
+        // binary gcd algorithm from Knuth, "The Art of Computer Programming,"
+        // vol. 2, 1st ed., pp. 298-299
+        long x1 = x;
+        long y1 = y;
+
+        int p2 = 0;
+        while ((x1 & 1) == 0 && (y1 & 1) == 0) {
+            ++p2;
+            x1 >>= 1;
+            y1 >>= 1;
+        }
+
+        long t;
+        if ((x1 & 1) == 1) {
+            t = -y1;
+        } else {
+            t = x1;
+        }
+
+        while (t != 0) {
+            while ((t & 1) == 0) {
+                t >>= 1;
+            }
+            if (t > 0) {
+                x1 = t;
+            } else {
+                y1 = -t;
+            }
+            t = x1 - y1;
+        }
+        long gcd = x1 << p2;
+
+        // x * y == gcd(x, y) * lcm(x, y)
+        return x / gcd * y;
+    }
+
+    //-----------------------------------------------------------------------
+    // parsing
+    //-----------------------------------------------------------------------
+
+    /**
+     * Parses a string.  Matches the string to be parsed against each
+     * of its rules (with a base value less than upperBound) and returns
+     * the value produced by the rule that matched the most charcters
+     * in the source string.
+     * @param text The string to parse
+     * @param parsePosition The initial position is ignored and assumed
+     * to be 0.  On exit, this object has been updated to point to the
+     * first character position this rule set didn't consume.
+     * @param upperBound Limits the rules that can be allowed to match.
+     * Only rules whose base values are strictly less than upperBound
+     * are considered.
+     * @return The numerical result of parsing this string.  This will
+     * be the matching rule's base value, composed appropriately with
+     * the results of matching any of its substitutions.  The object
+     * will be an instance of Long if it's an integral value; otherwise,
+     * it will be an instance of Double.  This function always returns
+     * a valid object: If nothing matched the input string at all,
+     * this function returns new Long(0), and the parse position is
+     * left unchanged.
+     */
+    public Number parse(String text, ParsePosition parsePosition, double upperBound) {
+        // try matching each rule in the rule set against the text being
+        // parsed.  Whichever one matches the most characters is the one
+        // that determines the value we return.
+
+        ParsePosition highWaterMark = new ParsePosition(0);
+        Number result = new Long(0);
+        Number tempResult = null;
+
+        // dump out if there's no text to parse
+        if (text.length() == 0) {
+            return result;
+        }
+
+        // start by trying the nehative number rule (if there is one)
+        if (negativeNumberRule != null) {
+            tempResult = negativeNumberRule.doParse(text, parsePosition, false, upperBound);
+            if (parsePosition.getIndex() > highWaterMark.getIndex()) {
+                result = tempResult;
+                highWaterMark.setIndex(parsePosition.getIndex());
+            }
+// commented out because the error-index API on ParsePosition isn't there in 1.1.x
+//            if (parsePosition.getErrorIndex() > highWaterMark.getErrorIndex()) {
+//                highWaterMark.setErrorIndex(parsePosition.getErrorIndex());
+//            }
+            parsePosition.setIndex(0);
+        }
+
+        // then try each of the fraction rules
+        for (int i = 0; i < 3; i++) {
+            if (fractionRules[i] != null) {
+                tempResult = fractionRules[i].doParse(text, parsePosition, false, upperBound);
+                if (parsePosition.getIndex() > highWaterMark.getIndex()) {
+                    result = tempResult;
+                    highWaterMark.setIndex(parsePosition.getIndex());
+                }
+// commented out because the error-index API on ParsePosition isn't there in 1.1.x
+//            if (parsePosition.getErrorIndex() > highWaterMark.getErrorIndex()) {
+//                highWaterMark.setErrorIndex(parsePosition.getErrorIndex());
+//            }
+                parsePosition.setIndex(0);
+            }
+        }
+
+        // finally, go through the regular rules one at a time.  We start
+        // at the end of the list because we want to try matching the most
+        // sigificant rule first (this helps ensure that we parse
+        // "five thousand three hundred six" as
+        // "(five thousand) (three hundred) (six)" rather than
+        // "((five thousand three) hundred) (six)").  Skip rules whose
+        // base values are higher than the upper bound (again, this helps
+        // limit ambiguity by making sure the rules that match a rule's
+        // are less significant than the rule containing the substitutions)/
+        for (int i = rules.length - 1; i >= 0 && highWaterMark.getIndex() < text.length(); i--) {
+            if (!isFractionRuleSet && rules[i].getBaseValue() >= upperBound) {
+                continue;
+            }
+
+            tempResult = rules[i].doParse(text, parsePosition, isFractionRuleSet, upperBound);
+            if (parsePosition.getIndex() > highWaterMark.getIndex()) {
+                result = tempResult;
+                highWaterMark.setIndex(parsePosition.getIndex());
+            }
+// commented out because the error-index API on ParsePosition isn't there in 1.1.x
+//            if (parsePosition.getErrorIndex() > highWaterMark.getErrorIndex()) {
+//                highWaterMark.setErrorIndex(parsePosition.getErrorIndex());
+//            }
+            parsePosition.setIndex(0);
+        }
+
+        // finally, update the parse postion we were passed to point to the
+        // first character we didn't use, and return the result that
+        // cporresponds to that string of characters
+        parsePosition.setIndex(highWaterMark.getIndex());
+// commented out because the error-index API on ParsePosition isn't there in 1.1.x
+//        if (parsePosition.getIndex() == 0) {
+//            parsePosition.setErrorIndex(highWaterMark.getErrorIndex());
+//        }
+
+        return result;
+    }
+}
diff --git a/src/com/ibm/icu/text/NFSubstitution.java b/src/com/ibm/icu/text/NFSubstitution.java
new file mode 100755
index 0000000..1451e94
--- /dev/null
+++ b/src/com/ibm/icu/text/NFSubstitution.java
@@ -0,0 +1,1933 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.text;
+
+import java.text.*;
+
+//===================================================================
+// NFSubstitution (abstract base class)
+//===================================================================
+
+/**
+ * An abstract class defining protocol for substitutions.  A substitution
+ * is a section of a rule that inserts text into the rule's rule text
+ * based on some part of the number being formatted.
+ * @author Richard Gillam
+ */
+abstract class NFSubstitution {
+    //-----------------------------------------------------------------------
+    // constants
+    //-----------------------------------------------------------------------
+
+    /**
+     * Puts a copyright in the .class file
+     */
+    private static final String copyrightNotice
+        = "Copyright \u00a91997-2004 IBM Corp.  All rights reserved.";
+
+    //-----------------------------------------------------------------------
+    // data members
+    //-----------------------------------------------------------------------
+
+    /**
+     * The substitution's position in the rule text of the rule that owns it
+     */
+    int pos;
+
+    /**
+     * The rule set this substitution uses to format its result, or null.
+     * (Either this or numberFormat has to be non-null.)
+     */
+    NFRuleSet ruleSet = null;
+
+    /**
+     * The DecimalFormat this substitution uses to format its result,
+     * or null.  (Either this or ruleSet has to be non-null.)
+     */
+    DecimalFormat numberFormat = null;
+
+    //-----------------------------------------------------------------------
+    // construction
+    //-----------------------------------------------------------------------
+
+    /**
+     * Parses the description, creates the right kind of substitution,
+     * and initializes it based on the description.
+     * @param pos The substitution's position in the rule text of the
+     * rule that owns it.
+     * @param rule The rule containing this substitution
+     * @param rulePredecessor The rule preceding the one that contains
+     * this substitution in the rule set's rule list (this is used
+     * only for >>> substitutions).
+     * @param ruleSet The rule set containing the rule containing this
+     * substitution
+     * @param formatter The RuleBasedNumberFormat that ultimately owns
+     * this substitution
+     * @param description The description to parse to build the substitution
+     * (this is just the substring of the rule's description containing
+     * the substitution token itself)
+     * @return A new substitution constructed according to the description
+     */
+    public static NFSubstitution makeSubstitution(int pos,
+                                                  NFRule rule,
+                                                  NFRule rulePredecessor,
+                                                  NFRuleSet ruleSet,
+                                                  RuleBasedNumberFormat formatter,
+                                                  String description) {
+        // if the description is empty, return a NummSubstitution
+        if (description.length() == 0) {
+            return new NullSubstitution(pos, ruleSet, formatter, description);
+        }
+
+        switch (description.charAt(0)) {
+            // if the description begins with '<'...
+        case '<':
+            // throw an exception if the rule is a negative number
+            // rule
+            if (rule.getBaseValue() == NFRule.NEGATIVE_NUMBER_RULE) {
+                throw new IllegalArgumentException("<< not allowed in negative-number rule");
+            }
+
+            // if the rule is a fraction rule, return an
+            // IntegralPartSubstitution
+            else if (rule.getBaseValue() == NFRule.IMPROPER_FRACTION_RULE
+                     || rule.getBaseValue() == NFRule.PROPER_FRACTION_RULE
+                     || rule.getBaseValue() == NFRule.MASTER_RULE) {
+                return new IntegralPartSubstitution(pos, ruleSet, formatter, description);
+            }
+
+            // if the rule set containing the rule is a fraction
+            // rule set, return a NumeratorSubstitution
+            else if (ruleSet.isFractionSet()) {
+                return new NumeratorSubstitution(pos, rule.getBaseValue(),
+                                                 formatter.getDefaultRuleSet(), formatter, description);
+            }
+
+            // otherwise, return a MultiplierSubstitution
+            else {
+                return new MultiplierSubstitution(pos, rule.getDivisor(), ruleSet,
+                                                  formatter, description);
+            }
+
+            // if the description begins with '>'...
+        case '>':
+            // if the rule is a negative-number rule, return
+            // an AbsoluteValueSubstitution
+            if (rule.getBaseValue() == NFRule.NEGATIVE_NUMBER_RULE) {
+                return new AbsoluteValueSubstitution(pos, ruleSet, formatter, description);
+            }
+
+            // if the rule is a fraction rule, return a
+            // FractionalPartSubstitution
+            else if (rule.getBaseValue() == NFRule.IMPROPER_FRACTION_RULE
+                     || rule.getBaseValue() == NFRule.PROPER_FRACTION_RULE
+                     || rule.getBaseValue() == NFRule.MASTER_RULE) {
+                return new FractionalPartSubstitution(pos, ruleSet, formatter, description);
+            }
+
+            // if the rule set owning the rule is a fraction rule set,
+            // throw an exception
+            else if (ruleSet.isFractionSet()) {
+                throw new IllegalArgumentException(">> not allowed in fraction rule set");
+            }
+
+            // otherwise, return a ModulusSubstitution
+            else {
+                return new ModulusSubstitution(pos, rule.getDivisor(), rulePredecessor,
+                                               ruleSet, formatter, description);
+            }
+
+            // if the description begins with '=', always return a
+            // SameValueSubstitution
+        case '=':
+            return new SameValueSubstitution(pos, ruleSet, formatter, description);
+
+            // and if it's anything else, throw an exception
+        default:
+            throw new IllegalArgumentException("Illegal substitution character");
+        }
+    }
+
+    /**
+     * Base constructor for substitutions.  This constructor sets up the
+     * fields which are common to all substitutions.
+     * @param pos The substitution's position in the owning rule's rule
+     * text
+     * @param ruleSet The rule set that owns this substitution
+     * @param formatter The RuleBasedNumberFormat that owns this substitution
+     * @param description The substitution descriptor (i.e., the text
+     * inside the token characters)
+     */
+    NFSubstitution(int pos,
+                   NFRuleSet ruleSet,
+                   RuleBasedNumberFormat formatter,
+                   String description) {
+        // initialize the substitution's position in its parent rule
+        this.pos = pos;
+
+        // the description should begin and end with the same character.
+        // If it doesn't that's a syntax error.  Otherwise,
+        // makeSubstitution() was the only thing that needed to know
+        // about these characters, so strip them off
+        if (description.length() >= 2 && description.charAt(0) == description.charAt(
+                                                                                     description.length() - 1)) {
+            description = description.substring(1, description.length() - 1);
+        }
+        else if (description.length() != 0) {
+            throw new IllegalArgumentException("Illegal substitution syntax");
+        }
+
+        // if the description was just two paired token characters
+        // (i.e., "<<" or ">>"), it uses the rule set it belongs to to
+        // format its result
+        if (description.length() == 0) {
+            this.ruleSet = ruleSet;
+        }
+
+        // if the description contains a rule set name, that's the rule
+        // set we use to format the result: get a reference to the
+        // names rule set
+        else if (description.charAt(0) == '%') {
+            this.ruleSet = formatter.findRuleSet(description);
+        }
+
+        // if the description begins with 0 or #, treat it as a
+        // DecimalFormat pattern, and initialize a DecimalFormat with
+        // that pattern (then set it to use the DecimalFormatSymbols
+        // belonging to our formatter)
+        else if (description.charAt(0) == '#' || description.charAt(0) == '0') {
+            this.numberFormat = new DecimalFormat(description);
+            this.numberFormat.setDecimalFormatSymbols(formatter.getDecimalFormatSymbols());
+        }
+
+        // if the description is ">>>", this substitution bypasses the
+        // usual rule-search process and always uses the rule that precedes
+        // it in its own rule set's rule list (this is used for place-value
+        // notations: formats where you want to see a particular part of
+        // a number even when it's 0)
+        else if (description.charAt(0) == '>') {
+            this.ruleSet = ruleSet; // was null, thai rules added to control space
+            this.numberFormat = null;
+        }
+
+        // and of the description is none of these things, it's a syntax error
+        else {
+            throw new IllegalArgumentException("Illegal substitution syntax");
+        }
+    }
+
+    /**
+     * Set's the substitution's divisor.  Used by NFRule.setBaseValue().
+     * A no-op for all substitutions except multiplier and modulus
+     * substitutions.
+     * @param radix The radix of the divisor
+     * @param exponent The exponent of the divisor
+     */
+    public void setDivisor(int radix, int exponent) {
+        // a no-op for all substitutions except multiplier and modulus substitutions
+    }
+
+    //-----------------------------------------------------------------------
+    // boilerplate
+    //-----------------------------------------------------------------------
+
+    /**
+     * Compares two substitutions for equality
+     * @param The substitution to compare this one to
+     * @return true if the two substitutions are functionally equivalent
+     */
+    public boolean equals(Object that) {
+        // compare class and all of the fields all substitutions have
+        // in common
+        if (this.getClass() == that.getClass()) {
+            NFSubstitution that2 = (NFSubstitution)that;
+
+            return pos == that2.pos
+                && (ruleSet == null ? that2.ruleSet == null : true) // can't compare tree structure, no .equals or recurse
+                && (numberFormat == null ? (that2.numberFormat == null) : numberFormat.equals(that2.numberFormat));
+        }
+        return false;
+    }
+
+    /**
+     * Returns a textual description of the substitution
+     * @return A textual description of the substitution.  This might
+     * not be identical to the description it was created from, but
+     * it'll produce the same result.
+     */
+    public String toString() {
+        // use tokenChar() to get the character at the beginning and
+        // end of the substitution token.  In between them will go
+        // either the name of the rule set it uses, or the pattern of
+        // the DecimalFormat it uses
+        if (ruleSet != null) {
+            return tokenChar() + ruleSet.getName() + tokenChar();
+        } else {
+            return tokenChar() + numberFormat.toPattern() + tokenChar();
+        }
+    }
+
+    //-----------------------------------------------------------------------
+    // formatting
+    //-----------------------------------------------------------------------
+
+    /**
+     * Performs a mathematical operation on the number, formats it using
+     * either ruleSet or decimalFormat, and inserts the result into
+     * toInsertInto.
+     * @param number The number being formatted.
+     * @param toInsertInto The string we insert the result into
+     * @param pos The position in toInsertInto where the owning rule's
+     * rule text begins (this value is added to this substitution's
+     * position to determine exactly where to insert the new text)
+     */
+    public void doSubstitution(long number, StringBuffer toInsertInto, int pos) {
+        if (ruleSet != null) {
+            // perform a transformation on the number that is dependent
+            // on the type of substitution this is, then just call its
+            // rule set's format() method to format the result
+            long numberToFormat = transformNumber(number);
+
+            ruleSet.format(numberToFormat, toInsertInto, pos + this.pos);
+        } else {
+            // or perform the transformation on the number (preserving
+            // the result's fractional part if the formatter it set
+            // to show it), then use that formatter's format() method
+            // to format the result
+            double numberToFormat = transformNumber((double)number);
+            if (numberFormat.getMaximumFractionDigits() == 0) {
+                numberToFormat = Math.floor(numberToFormat);
+            }
+
+            toInsertInto.insert(pos + this.pos, numberFormat.format(numberToFormat));
+        }
+    }
+
+    /**
+     * Performs a mathematical operation on the number, formats it using
+     * either ruleSet or decimalFormat, and inserts the result into
+     * toInsertInto.
+     * @param number The number being formatted.
+     * @param toInsertInto The string we insert the result into
+     * @param pos The position in toInsertInto where the owning rule's
+     * rule text begins (this value is added to this substitution's
+     * position to determine exactly where to insert the new text)
+     */
+    public void doSubstitution(double number, StringBuffer toInsertInto, int pos) {
+        // perform a transformation on the number being formatted that
+        // is dependent on the type of substitution this is
+        double numberToFormat = transformNumber(number);
+
+        // if the result is an integer, from here on out we work in integer
+        // space (saving time and memory and preserving accuracy)
+        if (numberToFormat == Math.floor(numberToFormat) && ruleSet != null) {
+            ruleSet.format((long)numberToFormat, toInsertInto, pos + this.pos);
+
+            // if the result isn't an integer, then call either our rule set's
+            // format() method or our DecimalFormat's format() method to
+            // format the result
+        } else {
+            if (ruleSet != null) {
+                ruleSet.format(numberToFormat, toInsertInto, pos + this.pos);
+            } else {
+                toInsertInto.insert(pos + this.pos, numberFormat.format(numberToFormat));
+            }
+        }
+    }
+
+    /**
+     * Subclasses override this function to perform some kind of
+     * mathematical operation on the number.  The result of this operation
+     * is formatted using the rule set or DecimalFormat that this
+     * substitution refers to, and the result is inserted into the result
+     * string.
+     * @param The number being formatted
+     * @return The result of performing the opreration on the number
+     */
+    public abstract long transformNumber(long number);
+
+    /**
+     * Subclasses override this function to perform some kind of
+     * mathematical operation on the number.  The result of this operation
+     * is formatted using the rule set or DecimalFormat that this
+     * substitution refers to, and the result is inserted into the result
+     * string.
+     * @param The number being formatted
+     * @return The result of performing the opreration on the number
+     */
+    public abstract double transformNumber(double number);
+
+    //-----------------------------------------------------------------------
+    // parsing
+    //-----------------------------------------------------------------------
+
+    /**
+     * Parses a string using the rule set or DecimalFormat belonging
+     * to this substitution.  If there's a match, a mathematical
+     * operation (the inverse of the one used in formatting) is
+     * performed on the result of the parse and the value passed in
+     * and returned as the result.  The parse position is updated to
+     * point to the first unmatched character in the string.
+     * @param text The string to parse
+     * @param parsePosition On entry, ignored, but assumed to be 0.
+     * On exit, this is updated to point to the first unmatched
+     * character (or 0 if the substitution didn't match)
+     * @param baseValue A partial parse result that should be
+     * combined with the result of this parse
+     * @param upperBound When searching the rule set for a rule
+     * matching the string passed in, only rules with base values
+     * lower than this are considered
+     * @param lenientParse If true and matching against rules fails,
+     * the substitution will also try matching the text against
+     * numerals using a default-costructed NumberFormat.  If false,
+     * no extra work is done.  (This value is false whenever the
+     * formatter isn't in lenient-parse mode, but is also false
+     * under some conditions even when the formatter _is_ in
+     * lenient-parse mode.)
+     * @return If there's a match, this is the result of composing
+     * baseValue with whatever was returned from matching the
+     * characters.  This will be either a Long or a Double.  If there's
+     * no match this is new Long(0) (not null), and parsePosition
+     * is left unchanged.
+     */
+    public Number doParse(String text, ParsePosition parsePosition, double baseValue,
+                          double upperBound, boolean lenientParse) {
+        Number tempResult;
+
+        // figure out the highest base value a rule can have and match
+        // the text being parsed (this varies according to the type of
+        // substitutions: multiplier, modulus, and numerator substitutions
+        // restrict the search to rules with base values lower than their
+        // own; same-value substitutions leave the upper bound wherever
+        // it was, and the others allow any rule to match
+        upperBound = calcUpperBound(upperBound);
+
+        // use our rule set to parse the text.  If that fails and
+        // lenient parsing is enabled (this is always false if the
+        // formatter's lenient-parsing mode is off, but it may also
+        // be false even when the formatter's lenient-parse mode is
+        // on), then also try parsing the text using a default-
+        // constructed NumberFormat
+        if (ruleSet != null) {
+            tempResult = ruleSet.parse(text, parsePosition, upperBound);
+            if (lenientParse && !ruleSet.isFractionSet() && parsePosition.getIndex() == 0) {
+                tempResult = NumberFormat.getInstance().parse(text, parsePosition);
+            }
+
+            // ...or use our DecimalFormat to parse the text
+        } else {
+            tempResult = numberFormat.parse(text, parsePosition);
+        }
+
+        // if the parse was successful, we've already advanced the caller's
+        // parse position (this is the one function that doesn't have one
+        // of its own).  Derive a parse result and return it as a Long,
+        // if possible, or a Double
+        if (parsePosition.getIndex() != 0) {
+            double result = tempResult.doubleValue();
+
+            // composeRuleValue() produces a full parse result from
+            // the partial parse result passed to this function from
+            // the caller (this is either the owning rule's base value
+            // or the partial result obtained from composing the
+            // owning rule's base value with its other substitution's
+            // parse result) and the partial parse result obtained by
+            // matching the substitution (which will be the same value
+            // the caller would get by parsing just this part of the
+            // text with RuleBasedNumberFormat.parse() ).  How the two
+            // values are used to derive the full parse result depends
+            // on the types of substitutions: For a regular rule, the
+            // ultimate result is its multiplier substitution's result
+            // times the rule's divisor (or the rule's base value) plus
+            // the modulus substitution's result (which will actually
+            // supersede part of the rule's base value).  For a negative-
+            // number rule, the result is the negative of its substitution's
+            // result.  For a fraction rule, it's the sum of its two
+            // substitution results.  For a rule in a fraction rule set,
+            // it's the numerator substitution's result divided by
+            // the rule's base value.  Results from same-value substitutions
+            // propagate back upard, and null substitutions don't affect
+            // the result.
+            result = composeRuleValue(result, baseValue);
+            if (result == (long)result) {
+                return new Long((long)result);
+            } else {
+                return new Double(result);
+            }
+
+            // if the parse was UNsuccessful, return 0
+        } else {
+            return tempResult;
+        }
+    }
+
+    /**
+     * Derives a new value from the two values passed in.  The two values
+     * are typically either the base values of two rules (the one containing
+     * the substitution and the one matching the substitution) or partial
+     * parse results derived in some other way.  The operation is generally
+     * the inverse of the operation performed by transformNumber().
+     * @param newRuleValue The value produced by matching this substitution
+     * @param oldRuleValue The value that was passed to the substitution
+     * by the rule that owns it
+     * @return A third value derived from the other two, representing a
+     * partial parse result
+     */
+    public abstract double composeRuleValue(double newRuleValue, double oldRuleValue);
+
+    /**
+     * Calculates an upper bound when searching for a rule that matches
+     * this substitution.  Rules with base values greater than or equal
+     * to upperBound are not considered.
+     * @param oldUpperBound The current upper-bound setting.  The new
+     * upper bound can't be any higher.
+     */
+    public abstract double calcUpperBound(double oldUpperBound);
+
+    //-----------------------------------------------------------------------
+    // simple accessors
+    //-----------------------------------------------------------------------
+
+    /**
+     * Returns the substitution's position in the rule that owns it.
+     * @return The substitution's position in the rule that owns it.
+     */
+    public final int getPos() {
+        return pos;
+    }
+
+    /**
+     * Returns the character used in the textual representation of
+     * substitutions of this type.  Used by toString().
+     * @return This substitution's token character.
+     */
+    abstract char tokenChar();
+
+    /**
+     * Returns true if this is a null substitution.  (We didn't do this
+     * with instanceof partially because it causes source files to
+     * proliferate and partially because we have to port this to C++.)
+     * @return true if this object is an instance of NullSubstitution
+     */
+    public boolean isNullSubstitution() {
+        return false;
+    }
+
+    /**
+     * Returns true if this is a modulus substitution.  (We didn't do this
+     * with instanceof partially because it causes source files to
+     * proliferate and partially because we have to port this to C++.)
+     * @return true if this object is an instance of ModulusSubstitution
+     */
+    public boolean isModulusSubstitution() {
+        return false;
+    }
+}
+
+//===================================================================
+// SameValueSubstitution
+//===================================================================
+
+/**
+ * A substitution that passes the value passed to it through unchanged.
+ * Represented by == in rule descriptions.
+ */
+class SameValueSubstitution extends NFSubstitution {
+    //-----------------------------------------------------------------------
+    // constants
+    //-----------------------------------------------------------------------
+
+    /**
+     * Puts a copyright in the .class file
+     */
+    private static final String copyrightNotice
+        = "Copyright \u00a91997-1998 IBM Corp.  All rights reserved.";
+
+    //-----------------------------------------------------------------------
+    // construction
+    //-----------------------------------------------------------------------
+
+    /**
+     * Constructs a SameValueSubstution.  This function just uses the
+     * superclass constructor, but it performs a check that this
+     * substitution doesn't call the rule set that owns it, since that
+     * would lead to infinite recursion.
+     */
+    SameValueSubstitution(int pos,
+                          NFRuleSet ruleSet,
+                          RuleBasedNumberFormat formatter,
+                          String description) {
+        super(pos, ruleSet, formatter, description);
+        if (description.equals("==")) {
+            throw new IllegalArgumentException("== is not a legal token");
+        }
+    }
+
+    //-----------------------------------------------------------------------
+    // formatting
+    //-----------------------------------------------------------------------
+
+    /**
+     * Returns "number" unchanged.
+     * @return "number"
+     */
+    public long transformNumber(long number) {
+        return number;
+    }
+
+    /**
+     * Returns "number" unchanged.
+     * @return "number"
+     */
+    public double transformNumber(double number) {
+        return number;
+    }
+
+    //-----------------------------------------------------------------------
+    // parsing
+    //-----------------------------------------------------------------------
+
+    /**
+     * Returns newRuleValue and ignores oldRuleValue. (The value we got
+     * matching the substitution supersedes the value of the rule
+     * that owns the substitution.)
+     * @param newRuleValue The value resulting from matching the substituion
+     * @param oldRuleValue The value of the rule containing the
+     * substitution.
+     * @return newRuleValue
+     */
+    public double composeRuleValue(double newRuleValue, double oldRuleValue) {
+        return newRuleValue;
+    }
+
+    /**
+     * SameValueSubstitution doesn't change the upper bound.
+     * @param oldUpperBound The current upper bound.
+     * @return oldUpperBound
+     */
+    public double calcUpperBound(double oldUpperBound) {
+        return oldUpperBound;
+    }
+
+    //-----------------------------------------------------------------------
+    // simple accessor
+    //-----------------------------------------------------------------------
+
+    /**
+     * The token character for a SameValueSubstitution is =.
+     * @return '='
+     */
+    char tokenChar() {
+        return '=';
+    }
+}
+
+//===================================================================
+// MultiplierSubstitution
+//===================================================================
+
+/**
+ * A substitution that divides the number being formatted by the rule's
+ * divisor and formats the quotient.  Represented by &lt;&lt; in normal
+ * rules.
+ */
+class MultiplierSubstitution extends NFSubstitution {
+    //-----------------------------------------------------------------------
+    // constants
+    //-----------------------------------------------------------------------
+
+    /**
+     * Puts a copyright in the .class file
+     */
+    private static final String copyrightNotice
+        = "Copyright \u00a91997-1998 IBM Corp.  All rights reserved.";
+
+    //-----------------------------------------------------------------------
+    // data members
+    //-----------------------------------------------------------------------
+
+    /**
+     * The divisor of the rule that owns this substitution.
+     */
+    double divisor;
+
+    //-----------------------------------------------------------------------
+    // construction
+    //-----------------------------------------------------------------------
+
+    /**
+     * Constructs a MultiplierSubstitution.  This uses the superclass
+     * constructor to initialize most members, but this substitution
+     * also maintains its own copy of its rule's divisor.
+     * @param pos The substitution's position in its rule's rule text
+     * @param divisor The owning rule's divisor
+     * @ruleSet The ruleSet this substitution uses to format its result
+     * @formatter The formatter that owns this substitution
+     * @description The description describing this substitution
+     */
+    MultiplierSubstitution(int pos,
+                           double divisor,
+                           NFRuleSet ruleSet,
+                           RuleBasedNumberFormat formatter,
+                           String description) {
+        super(pos, ruleSet, formatter, description);
+
+        // the owning rule's divisor affects the behavior of this
+        // substitution.  Rather than keeping a back-pointer to the
+        // rule, we keep a copy of the divisor
+        this.divisor = divisor;
+
+    if (divisor == 0) { // this will cause recursion
+        throw new IllegalStateException("Substitution with bad divisor (" + divisor + ") " + description.substring(0, pos) + 
+                     " | " + description.substring(pos));
+    }
+    }
+
+    /**
+     * Sets the substitution's divisor based on the values passed in.
+     * @param radix The radix of the divisor.
+     * @param exponent The exponent of the divisor.
+     */
+    public void setDivisor(int radix, int exponent) {
+        divisor = Math.pow(radix, exponent);
+
+    if (divisor == 0) {
+        throw new IllegalStateException("Substitution with divisor 0");
+    }
+    }
+
+    //-----------------------------------------------------------------------
+    // boilerplate
+    //-----------------------------------------------------------------------
+
+    /**
+     * Augments the superclass's equals() function by comparing divisors.
+     * @param that The other substitution
+     * @return true if the two substitutions are functionally equal
+     */
+    public boolean equals(Object that) {
+        if (super.equals(that)) {
+            MultiplierSubstitution that2 = (MultiplierSubstitution)that;
+
+            return divisor == that2.divisor;
+        } else {
+            return false;
+        }
+    }
+
+    //-----------------------------------------------------------------------
+    // formatting
+    //-----------------------------------------------------------------------
+
+    /**
+     * Divides the number by the rule's divisor and returns the quotient.
+     * @param number The number being formatted.
+     * @return "number" divided by the rule's divisor
+     */
+    public long transformNumber(long number) {
+        return (long)Math.floor(number / divisor);
+    }
+
+    /**
+     * Divides the number by the rule's divisor and returns the quotient.
+     * This is an integral quotient if we're filling in the substitution
+     * using another rule set, but it's the full quotient (integral and
+     * fractional parts) if we're filling in the substitution using
+     * a DecimalFormat.  (This allows things such as "1.2 million".)
+     * @param number The number being formatted
+     * @return "number" divided by the rule's divisor
+     */
+    public double transformNumber(double number) {
+        if (ruleSet == null) {
+            return number / divisor;
+        } else {
+            return Math.floor(number / divisor);
+        }
+    }
+
+    //-----------------------------------------------------------------------
+    // parsing
+    //-----------------------------------------------------------------------
+
+    /**
+     * Returns newRuleValue times the divisor.  Ignores oldRuleValue.
+     * (The result of matching a << substitution supersedes the base
+     * value of the rule that contains it.)
+     * @param newRuleValue The result of matching the substitution
+     * @param oldRuleValue The base value of the rule containing the
+     * substitution
+     * @return newRuleValue * divisor
+     */
+    public double composeRuleValue(double newRuleValue, double oldRuleValue) {
+        return newRuleValue * divisor;
+    }
+
+    /**
+     * Sets the upper bound down to the rule's divisor.
+     * @param oldUpperBound Ignored.
+     * @return The rule's divisor.
+     */
+    public double calcUpperBound(double oldUpperBound) {
+        return divisor;
+    }
+
+    //-----------------------------------------------------------------------
+    // simple accessor
+    //-----------------------------------------------------------------------
+
+    /**
+     * The token character for a multiplier substitution is &lt;.
+     * @return '&lt;'
+     */
+    char tokenChar() {
+        return '<';
+    }
+}
+
+//===================================================================
+// ModulusSubstitution
+//===================================================================
+
+/**
+ * A substitution that divides the number being formatted by the its rule's
+ * divisor and formats the remainder.  Represented by "&gt;&gt;" in a
+ * regular rule.
+ */
+class ModulusSubstitution extends NFSubstitution {
+    //-----------------------------------------------------------------------
+    // constants
+    //-----------------------------------------------------------------------
+
+    /**
+     * Puts a copyright in the .class file
+     */
+    private static final String copyrightNotice
+        = "Copyright \u00a91997-1998 IBM Corp.  All rights reserved.";
+
+    //-----------------------------------------------------------------------
+    // data members
+    //-----------------------------------------------------------------------
+
+    /**
+     * The divisor of the rule owning this substitution
+     */
+    double divisor;
+
+    /**
+     * If this is a &gt;&gt;&gt; substitution, the rule to use to format
+     * the substitution value.  Otherwise, null.
+     */
+    NFRule ruleToUse;
+
+    //-----------------------------------------------------------------------
+    // construction
+    //-----------------------------------------------------------------------
+
+    /**
+     * Constructs a ModulusSubstution.  In addition to the inherited
+     * members, a ModulusSubstitution keeps track of the divisor of the
+     * rule that owns it, and may also keep a reference to the rule
+     * that precedes the rule containing this substitution in the rule
+     * set's rule list.
+     * @param pos The substitution's position in its rule's rule text
+     * @param divisor The divisor of the rule that owns this substitution
+     * @param rulePredecessor The rule that precedes this substitution's
+     * rule in its rule set's rule list
+     * @param formatter The RuleBasedNumberFormat owning this substitution
+     * @param description The description for this substitution
+     */
+    ModulusSubstitution(int pos,
+                        double divisor,
+                        NFRule rulePredecessor,
+                        NFRuleSet ruleSet,
+                        RuleBasedNumberFormat formatter,
+                        String description) {
+        super(pos, ruleSet, formatter, description);
+
+        // the owning rule's divisor controls the behavior of this
+        // substitution: rather than keeping a backpointer to the rule,
+        // we keep a copy of the divisor
+        this.divisor = divisor;
+
+    if (divisor == 0) { // this will cause recursion
+        throw new IllegalStateException("Substitution with bad divisor (" + divisor + ") "+ description.substring(0, pos) + 
+                     " | " + description.substring(pos));
+    }
+
+        // the >>> token doesn't alter how this substituion calculates the
+        // values it uses for formatting and parsing, but it changes
+        // what's done with that value after it's obtained: >>> short-
+        // circuits the rule-search process and goes straight to the
+        // specified rule to format the substitution value
+        if (description.equals(">>>")) {
+            ruleToUse = rulePredecessor;
+        } else {
+            ruleToUse = null;
+        }
+    }
+
+    /**
+     * Makes the substitution's divisor conform to that of the rule
+     * that owns it.  Used when the divisor is determined after creation.
+     * @param radix The radix of the divsor.
+     * @param exponent The exponent of the divisor.
+     */
+    public void setDivisor(int radix, int exponent) {
+        divisor = Math.pow(radix, exponent);
+
+    if (divisor == 0) { // this will cause recursion
+        throw new IllegalStateException("Substitution with bad divisor");
+    }
+    }
+
+    //-----------------------------------------------------------------------
+    // boilerplate
+    //-----------------------------------------------------------------------
+
+    /**
+     * Augments the inherited equals() function by comparing divisors and
+     * ruleToUse.
+     * @param that The other substitution
+     * @return true if the two substitutions are functionally equivalent
+     */
+    public boolean equals(Object that) {
+        if (super.equals(that)) {
+            ModulusSubstitution that2 = (ModulusSubstitution)that;
+
+            return divisor == that2.divisor;
+        } else {
+            return false;
+        }
+    }
+
+    //-----------------------------------------------------------------------
+    // formatting
+    //-----------------------------------------------------------------------
+
+    /**
+     * If this is a &gt;&gt;&gt; substitution, use ruleToUse to fill in
+     * the substitution.  Otherwise, just use the superclass function.
+     * @param number The number being formatted
+     * @toInsertInto The string to insert the result of this substitution
+     * into
+     * @param pos The position of the rule text in toInsertInto
+     */
+    public void doSubstitution(long number, StringBuffer toInsertInto, int pos) {
+        // if this isn't a >>> substitution, just use the inherited version
+        // of this function (which uses either a rule set or a DecimalFormat
+        // to format its substitution value)
+        if (ruleToUse == null) {
+            super.doSubstitution(number, toInsertInto, pos);
+
+        // a >>> substitution goes straight to a particular rule to
+        // format the substitution value
+        } else {
+            long numberToFormat = transformNumber(number);
+            ruleToUse.doFormat(numberToFormat, toInsertInto, pos + this.pos);
+        }
+    }
+
+    /**
+     * If this is a &gt;&gt;&gt; substitution, use ruleToUse to fill in
+     * the substitution.  Otherwise, just use the superclass function.
+     * @param number The number being formatted
+     * @toInsertInto The string to insert the result of this substitution
+     * into
+     * @param pos The position of the rule text in toInsertInto
+     */
+    public void doSubstitution(double number, StringBuffer toInsertInto, int pos) {
+        // if this isn't a >>> substitution, just use the inherited version
+        // of this function (which uses either a rule set or a DecimalFormat
+        // to format its substitution value)
+        if (ruleToUse == null) {
+            super.doSubstitution(number, toInsertInto, pos);
+
+        // a >>> substitution goes straight to a particular rule to
+        // format the substitution value
+        } else {
+            double numberToFormat = transformNumber(number);
+
+            ruleToUse.doFormat(numberToFormat, toInsertInto, pos + this.pos);
+        }
+    }
+
+    /**
+     * Divides the number being formatted by the rule's divisor and
+     * returns the remainder.
+     * @param number The number being formatted
+     * @return "number" mod divisor
+     */
+    public long transformNumber(long number) {
+        return (long)Math.floor(number % divisor);
+    }
+
+    /**
+     * Divides the number being formatted by the rule's divisor and
+     * returns the remainder.
+     * @param number The number being formatted
+     * @return "number" mod divisor
+     */
+    public double transformNumber(double number) {
+        return Math.floor(number % divisor);
+    }
+
+    //-----------------------------------------------------------------------
+    // parsing
+    //-----------------------------------------------------------------------
+
+    /**
+     * If this is a &gt;&gt;&gt; substitution, match only against ruleToUse.
+     * Otherwise, use the superclass function.
+     * @param text The string to parse
+     * @param parsePosition Ignored on entry, updated on exit to point to
+     * the first unmatched character.
+     * @param baseValue The partial parse result prior to calling this
+     * routine.
+     */
+    public Number doParse(String text, ParsePosition parsePosition, double baseValue,
+                        double upperBound, boolean lenientParse) {
+        // if this isn't a >>> substitution, we can just use the
+        // inherited parse() routine to do the parsing
+        if (ruleToUse == null) {
+            return super.doParse(text, parsePosition, baseValue, upperBound, lenientParse);
+
+        // but if it IS a >>> substitution, we have to do it here: we
+        // use the specific rule's doParse() method, and then we have to
+        // do some of the other work of NFRuleSet.parse()
+        } else {
+            Number tempResult = ruleToUse.doParse(text, parsePosition, false, upperBound);
+
+            if (parsePosition.getIndex() != 0) {
+                double result = tempResult.doubleValue();
+
+                result = composeRuleValue(result, baseValue);
+                if (result == (long)result) {
+                    return new Long((long)result);
+                } else {
+                    return new Double(result);
+                }
+            } else {
+                return tempResult;
+            }
+        }
+    }
+
+    /**
+     * Returns the highest multiple of the rule's divisor that its less
+     * than or equal to oldRuleValue, plus newRuleValue.  (The result
+     * is the sum of the result of parsing the substitution plus the
+     * base valueof the rule containing the substitution, but if the
+     * owning rule's base value isn't an even multiple of its divisor,
+     * we have to round it down to a multiple of the divisor, or we
+     * get unwanted digits in the result.)
+     * @param newRuleValue The result of parsing the substitution
+     * @param oldRuleValue The base value of the rule containing the
+     * substitution
+     * @return (oldRuleValue - (oldRuleValue % divisor)) + newRuleValue
+     */
+    public double composeRuleValue(double newRuleValue, double oldRuleValue) {
+        return (oldRuleValue - (oldRuleValue % divisor)) + newRuleValue;
+    }
+
+    /**
+     * Sets the upper bound down to the owning rule's divisor
+     * @param oldUpperBound Ignored
+     * @return The owning rule's dvisor
+     */
+    public double calcUpperBound(double oldUpperBound) {
+        return divisor;
+    }
+
+    //-----------------------------------------------------------------------
+    // simple accessors
+    //-----------------------------------------------------------------------
+
+    /**
+     * Returns true.  This _is_ a ModulusSubstitution.
+     * @return true
+     */
+    public boolean isModulusSubstitution() {
+        return true;
+    }
+
+    /**
+     * The token character of a ModulusSubstitution is &gt;.
+     * @return '&gt;'
+     */
+    char tokenChar() {
+        return '>';
+    }
+}
+
+//===================================================================
+// IntegralPartSubstitution
+//===================================================================
+
+/**
+ * A substitution that formats the number's integral part.  This is
+ * represented by &lt;&lt; in a fraction rule.
+ */
+class IntegralPartSubstitution extends NFSubstitution {
+    //-----------------------------------------------------------------------
+    // constants
+    //-----------------------------------------------------------------------
+
+    /**
+     * Puts a copyright in the .class file
+     */
+    private static final String copyrightNotice
+        = "Copyright \u00a91997-1998 IBM Corp.  All rights reserved.";
+
+    //-----------------------------------------------------------------------
+    // construction
+    //-----------------------------------------------------------------------
+
+    /**
+     * Constructs an IntegralPartSubstitution.  This just calls
+     * the superclass constructor.
+     */
+    IntegralPartSubstitution(int pos,
+                             NFRuleSet ruleSet,
+                             RuleBasedNumberFormat formatter,
+                             String description) {
+        super(pos, ruleSet, formatter, description);
+    }
+
+    //-----------------------------------------------------------------------
+    // formatting
+    //-----------------------------------------------------------------------
+
+    /**
+     * Returns the number's integral part. (For a long, that's just the
+     * number unchanged.)
+     * @param number The number being formatted
+     * @return "number" unchanged
+     */
+    public long transformNumber(long number) {
+        return number;
+    }
+
+    /**
+     * Returns the number's integral part.
+     * @param number The integral part of the number being formatted
+     * @return floor(number)
+     */
+    public double transformNumber(double number) {
+        return Math.floor(number);
+    }
+
+    //-----------------------------------------------------------------------
+    // parsing
+    //-----------------------------------------------------------------------
+
+    /**
+     * Returns the sum of the result of parsing the substitution and the
+     * owning rule's base value.  (The owning rule, at best, has an
+     * integral-part substitution and a fractional-part substitution,
+     * so we can safely just add them.)
+     * @param newRuleValue The result of matching the substitution
+     * @param oldRuleValue The partial result of the parse prior to
+     * calling this function
+     * @return oldRuleValue + newRuleValue
+     */
+    public double composeRuleValue(double newRuleValue, double oldRuleValue) {
+        return newRuleValue + oldRuleValue;
+    }
+
+    /**
+     * An IntegralPartSubstitution sets the upper bound back up so all
+     * potentially matching rules are considered.
+     * @param oldUpperBound Ignored
+     * @return Double.MAX_VALUE
+     */
+    public double calcUpperBound(double oldUpperBound) {
+        return Double.MAX_VALUE;
+    }
+
+    //-----------------------------------------------------------------------
+    // simple accessor
+    //-----------------------------------------------------------------------
+
+    /**
+     * An IntegralPartSubstitution's token character is &lt;
+     * @return '&lt;'
+     */
+    char tokenChar() {
+        return '<';
+    }
+}
+
+//===================================================================
+// FractionalPartSubstitution
+//===================================================================
+
+/**
+ * A substitution that formats the fractional part of a number.  This is
+ * represented by &gt;&gt; in a fraction rule.
+ */
+class FractionalPartSubstitution extends NFSubstitution {
+    //-----------------------------------------------------------------------
+    // constants
+    //-----------------------------------------------------------------------
+
+    /**
+     * Puts a copyright in the .class file
+     */
+    private static final String copyrightNotice
+        = "Copyright \u00a91997-1998 IBM Corp.  All rights reserved.";
+
+    //-----------------------------------------------------------------------
+    // data members
+    //-----------------------------------------------------------------------
+
+    /**
+     * true if this substitution should have the default "by digits"
+     * behavior, false otherwise
+     */
+    private boolean byDigits = false;
+
+    /**
+     * true if we automatically insert spaces to separate names of digits
+     * set to false by '>>>' in fraction rules, used by Thai.
+     */
+    private boolean useSpaces = true;
+
+    /**
+     * The largest number of digits after the decimal point that this
+     * object will show in "by digits" mode
+     */
+    private static final int MAXDECIMALDIGITS = 18; // 8
+
+    //-----------------------------------------------------------------------
+    // construction
+    //-----------------------------------------------------------------------
+
+    /**
+     * Constructs a FractionalPartSubstitution.  This object keeps a flag
+     * telling whether it should format by digits or not.  In addition,
+     * it marks the rule set it calls (if any) as a fraction rule set.
+     */
+    FractionalPartSubstitution(int pos,
+                               NFRuleSet ruleSet,
+                               RuleBasedNumberFormat formatter,
+                               String description) {
+        super(pos, ruleSet, formatter, description);
+//    boolean chevron = description.startsWith(">>") || ruleSet == this.ruleSet;
+//      if (chevron || ruleSet == this.ruleSet) {
+
+        if (description.equals(">>") || description.equals(">>>") || ruleSet == this.ruleSet) {
+            byDigits = true;
+            if (description.equals(">>>")) {
+              useSpaces = false;
+            }
+        } else {
+            this.ruleSet.makeIntoFractionRuleSet();
+        }
+    }
+
+    //-----------------------------------------------------------------------
+    // formatting
+    //-----------------------------------------------------------------------
+
+    /**
+     * If in "by digits" mode, fills in the substitution one decimal digit
+     * at a time using the rule set containing this substitution.
+     * Otherwise, uses the superclass function.
+     * @param number The number being formatted
+     * @param toInsertInto The string to insert the result of formatting
+     * the substitution into
+     * @param pos The position of the owning rule's rule text in
+     * toInsertInto
+     */
+    public void doSubstitution(double number, StringBuffer toInsertInto, int pos) {
+        // if we're not in "byDigits" mode, just use the inherited
+        // doSubstitution() routine
+        if (!byDigits) {
+            super.doSubstitution(number, toInsertInto, pos);
+
+        // if we're in "byDigits" mode, transform the value into an integer
+        // by moving the decimal point eight places to the right and
+        // pulling digits off the right one at a time, formatting each digit
+        // as an integer using this substitution's owning rule set
+        // (this is slower, but more accurate, than doing it from the
+        // other end)
+        } else {
+//              int numberToFormat = (int)Math.round(transformNumber(number) * Math.pow(
+//                              10, MAXDECIMALDIGITS));
+//        long numberToFormat = (long)Math.round(transformNumber(number) * Math.pow(10, MAXDECIMALDIGITS));
+
+        // just print to string and then use that
+        DigitList dl = new DigitList();
+        dl.set(number, 20, true);
+
+            // this flag keeps us from formatting trailing zeros.  It starts
+            // out false because we're pulling from the right, and switches
+            // to true the first time we encounter a non-zero digit
+//              boolean doZeros = false;
+//          System.out.println("class: " + getClass().getName());
+//          System.out.println("number: " + number + " transformed: " + transformNumber(number));
+//          System.out.println("formatting " + numberToFormat);
+//              for (int i = 0; i < MAXDECIMALDIGITS; i++) {
+//                  int digit = (int)(numberToFormat % 10);
+//          System.out.println("   #: '" + numberToFormat + "'" + " digit '" + digit + "'");
+//                  if (digit != 0 || doZeros) {
+//                      if (doZeros && useSpaces) {
+//                          toInsertInto.insert(pos + this.pos, ' ');
+//                      }
+//                      doZeros = true;
+//                      ruleSet.format(digit, toInsertInto, pos + this.pos);
+//                  }
+//                  numberToFormat /= 10;
+//              }
+
+        boolean pad = false;
+        while (dl.count > Math.max(0, dl.decimalAt)) {
+        if (pad && useSpaces) {
+            toInsertInto.insert(pos + this.pos, ' ');
+        } else {
+            pad = true;
+        }
+        ruleSet.format(dl.digits[--dl.count] - '0', toInsertInto, pos + this.pos);
+        }
+        while (dl.decimalAt < 0) {
+        if (pad && useSpaces) {
+            toInsertInto.insert(pos + this.pos, ' ');
+        } else {
+            pad = true;
+        }
+        ruleSet.format(0, toInsertInto, pos + this.pos);
+        ++dl.decimalAt;
+        }
+    }
+    }
+
+    /**
+     * Returns the fractional part of the number, which will always be
+     * zero if it's a long.
+     * @param number The number being formatted
+     * @return 0
+     */
+    public long transformNumber(long number) {
+        return 0;
+    }
+
+    /**
+     * Returns the fractional part of the number.
+     * @param number The number being formatted.
+     * @return number - floor(number)
+     */
+    public double transformNumber(double number) {
+        return number - Math.floor(number);
+    }
+
+    //-----------------------------------------------------------------------
+    // parsing
+    //-----------------------------------------------------------------------
+
+    /**
+     * If in "by digits" mode, parses the string as if it were a string
+     * of individual digits; otherwise, uses the superclass function.
+     * @param text The string to parse
+     * @param parsePosition Ignored on entry, but updated on exit to point
+     * to the first unmatched character
+     * @param baseValue The partial parse result prior to entering this
+     * function
+     * @param upperBound Only consider rules with base values lower than
+     * this when filling in the substitution
+     * @param lenientParse If true, try matching the text as numerals if
+     * matching as words doesn't work
+     * @return If the match was successful, the current partial parse
+     * result; otherwise new Long(0).  The result is either a Long or
+     * a Double.
+     */
+    public Number doParse(String text, ParsePosition parsePosition, double baseValue,
+                        double upperBound, boolean lenientParse) {
+        // if we're not in byDigits mode, we can just use the inherited
+        // doParse()
+        if (!byDigits) {
+            return super.doParse(text, parsePosition, baseValue, 0, lenientParse);
+
+        // if we ARE in byDigits mode, parse the text one digit at a time
+        // using this substitution's owning rule set (we do this by setting
+        // upperBound to 10 when calling doParse() ) until we reach
+        // nonmatching text
+        } else {
+            String workText = new String(text);
+            ParsePosition workPos = new ParsePosition(1);
+            double result = 0;
+        int digit;
+//              double p10 = 0.1;
+
+//              while (workText.length() > 0 && workPos.getIndex() != 0) {
+//                  workPos.setIndex(0);
+//                  digit = ruleSet.parse(workText, workPos, 10).intValue();
+//                  if (lenientParse && workPos.getIndex() == 0) {
+//                      digit = NumberFormat.getInstance().parse(workText, workPos).intValue();
+//                  }
+
+//                  if (workPos.getIndex() != 0) {
+//                      result += digit * p10;
+//                      p10 /= 10;
+//                      parsePosition.setIndex(parsePosition.getIndex() + workPos.getIndex());
+//                      workText = workText.substring(workPos.getIndex());
+//                      while (workText.length() > 0 && workText.charAt(0) == ' ') {
+//                          workText = workText.substring(1);
+//                          parsePosition.setIndex(parsePosition.getIndex() + 1);
+//                      }
+//                  }
+//              }
+
+
+        DigitList dl = new DigitList();
+            while (workText.length() > 0 && workPos.getIndex() != 0) {
+                workPos.setIndex(0);
+                digit = ruleSet.parse(workText, workPos, 10).intValue();
+                if (lenientParse && workPos.getIndex() == 0) {
+                    digit = NumberFormat.getInstance().parse(workText, workPos).intValue();
+                }
+
+                if (workPos.getIndex() != 0) {
+            dl.append('0'+digit);
+
+                    parsePosition.setIndex(parsePosition.getIndex() + workPos.getIndex());
+                    workText = workText.substring(workPos.getIndex());
+                    while (workText.length() > 0 && workText.charAt(0) == ' ') {
+                        workText = workText.substring(1);
+                        parsePosition.setIndex(parsePosition.getIndex() + 1);
+                    }
+                }
+            }
+        result = dl.count == 0 ? 0 : dl.getDouble();
+
+            result = composeRuleValue(result, baseValue);
+            return new Double(result);
+        }
+    }
+
+    /**
+     * Returns the sum of the two partial parse results.
+     * @param newRuleValue The result of parsing the substitution
+     * @param oldRuleValue The partial parse result prior to calling
+     * this function
+     * @return newRuleValue + oldRuleValue
+     */
+    public double composeRuleValue(double newRuleValue, double oldRuleValue) {
+        return newRuleValue + oldRuleValue;
+    }
+
+    /**
+     * Not used.
+     */
+    public double calcUpperBound(double oldUpperBound) {
+        return 0;   // this value is ignored
+    }
+
+    //-----------------------------------------------------------------------
+    // simple accessor
+    //-----------------------------------------------------------------------
+
+    /**
+     * The token character for a FractionalPartSubstitution is &gt;.
+     * @return '&gt;'
+     */
+    char tokenChar() {
+        return '>';
+    }
+}
+
+//===================================================================
+// AbsoluteValueSubstitution
+//===================================================================
+
+ /**
+  * A substitution that formats the absolute value of the number.
+  * This substition is represented by &gt;&gt; in a negative-number rule.
+  */
+class AbsoluteValueSubstitution extends NFSubstitution {
+    //-----------------------------------------------------------------------
+    // constants
+    //-----------------------------------------------------------------------
+
+    /**
+     * Puts a copyright in the .class file
+     */
+    private static final String copyrightNotice
+        = "Copyright \u00a91997-1998 IBM Corp.  All rights reserved.";
+
+    //-----------------------------------------------------------------------
+    // construction
+    //-----------------------------------------------------------------------
+
+    /**
+     * Constructs an AbsoluteValueSubstitution.  This just uses the
+     * superclass constructor.
+     */
+    AbsoluteValueSubstitution(int pos,
+                              NFRuleSet ruleSet,
+                              RuleBasedNumberFormat formatter,
+                              String description) {
+        super(pos, ruleSet, formatter, description);
+    }
+
+    //-----------------------------------------------------------------------
+    // formatting
+    //-----------------------------------------------------------------------
+
+    /**
+     * Returns the absolute value of the number.
+     * @param number The number being formatted.
+     * @return abs(number)
+     */
+    public long transformNumber(long number) {
+        return Math.abs(number);
+    }
+
+    /**
+     * Returns the absolute value of the number.
+     * @param number The number being formatted.
+     * @return abs(number)
+     */
+    public double transformNumber(double number) {
+        return Math.abs(number);
+    }
+
+    //-----------------------------------------------------------------------
+    // parsing
+    //-----------------------------------------------------------------------
+
+    /**
+     * Returns the addtive inverse of the result of parsing the
+     * substitution (this supersedes the earlier partial result)
+     * @param newRuleValue The result of parsing the substitution
+     * @param oldRuleValue The partial parse result prior to calling
+     * this function
+     * @return -newRuleValue
+     */
+    public double composeRuleValue(double newRuleValue, double oldRuleValue) {
+        return -newRuleValue;
+    }
+
+    /**
+     * Sets the upper bound beck up to consider all rules
+     * @param oldUpperBound Ignored.
+     * @return Double.MAX_VALUE
+     */
+    public double calcUpperBound(double oldUpperBound) {
+        return Double.MAX_VALUE;
+    }
+
+    //-----------------------------------------------------------------------
+    // simple accessor
+    //-----------------------------------------------------------------------
+
+    /**
+     * The token character for an AbsoluteValueSubstitution is &gt;
+     * @return '&gt;'
+     */
+    char tokenChar() {
+        return '>';
+    }
+}
+
+//===================================================================
+// NumeratorSubstitution
+//===================================================================
+
+/**
+ * A substitution that multiplies the number being formatted (which is
+ * between 0 and 1) by the base value of the rule that owns it and
+ * formats the result.  It is represented by &lt;&lt; in the rules
+ * in a fraction rule set.
+ */
+class NumeratorSubstitution extends NFSubstitution {
+    //-----------------------------------------------------------------------
+    // constants
+    //-----------------------------------------------------------------------
+
+    /**
+     * Puts a copyright in the .class file
+     */
+    private static final String copyrightNotice
+        = "Copyright \u00a91997-1998 IBM Corp.  All rights reserved.";
+
+    //-----------------------------------------------------------------------
+    // data members
+    //-----------------------------------------------------------------------
+
+    /**
+     * The denominator of the fraction we're finding the numerator for.
+     * (The base value of the rule that owns this substitution.)
+     */
+    double denominator;
+
+    /**
+     * True if we format leading zeros (this is a hack for Hebrew spellout)
+     */
+    boolean withZeros;
+
+    //-----------------------------------------------------------------------
+    // construction
+    //-----------------------------------------------------------------------
+
+    /**
+     * Constructs a NumberatorSubstitution.  In addition to the inherited
+     * fields, a NumeratorSubstitution keeps track of a denominator, which
+     * is merely the base value of the rule that owns it.
+     */
+    NumeratorSubstitution(int pos,
+                          double denominator,
+                          NFRuleSet ruleSet,
+                          RuleBasedNumberFormat formatter,
+                          String description) {
+        super(pos, ruleSet, formatter, fixdesc(description));
+
+        // this substitution's behavior depends on the rule's base value
+        // Rather than keeping a backpointer to the rule, we copy its
+        // base value here
+        this.denominator = denominator;
+        
+        this.withZeros = description.endsWith("<<");
+    }
+
+    static String fixdesc(String description) {
+        return description.endsWith("<<") 
+            ? description.substring(0,description.length()-1) 
+            : description;
+    }
+
+    //-----------------------------------------------------------------------
+    // boilerplate
+    //-----------------------------------------------------------------------
+
+    /**
+     * Tests two NumeratorSubstitutions for equality
+     * @param that The other NumeratorSubstitution
+     * @return true if the two objects are functionally equivalent
+     */
+    public boolean equals(Object that) {
+        if (super.equals(that)) {
+            NumeratorSubstitution that2 = (NumeratorSubstitution)that;
+            return denominator == that2.denominator;
+        } else {
+            return false;
+        }
+    }
+
+    //-----------------------------------------------------------------------
+    // formatting
+    //-----------------------------------------------------------------------
+
+    /**
+     * Performs a mathematical operation on the number, formats it using
+     * either ruleSet or decimalFormat, and inserts the result into
+     * toInsertInto.
+     * @param number The number being formatted.
+     * @param toInsertInto The string we insert the result into
+     * @param pos The position in toInsertInto where the owning rule's
+     * rule text begins (this value is added to this substitution's
+     * position to determine exactly where to insert the new text)
+     */
+    public void doSubstitution(double number, StringBuffer toInsertInto, int pos) {
+        // perform a transformation on the number being formatted that
+        // is dependent on the type of substitution this is
+        String s = toInsertInto.toString();
+        double numberToFormat = transformNumber(number);
+
+        if (withZeros && ruleSet != null) {
+            // if there are leading zeros in the decimal expansion then emit them
+            long nf = (long)numberToFormat;
+            int len = toInsertInto.length();
+            while ((nf *= 10) < denominator) {
+                toInsertInto.insert(pos + this.pos, ' ');
+                ruleSet.format(0, toInsertInto, pos + this.pos);
+            }
+            pos += toInsertInto.length() - len;
+        }
+
+        // if the result is an integer, from here on out we work in integer
+        // space (saving time and memory and preserving accuracy)
+        if (numberToFormat == Math.floor(numberToFormat) && ruleSet != null) {
+            ruleSet.format((long)numberToFormat, toInsertInto, pos + this.pos);
+
+            // if the result isn't an integer, then call either our rule set's
+            // format() method or our DecimalFormat's format() method to
+            // format the result
+        } else {
+            if (ruleSet != null) {
+                ruleSet.format(numberToFormat, toInsertInto, pos + this.pos);
+            } else {
+                toInsertInto.insert(pos + this.pos, numberFormat.format(numberToFormat));
+            }
+        }
+    }
+
+    /**
+     * Returns the number being formatted times the denominator.
+     * @param number The number being formatted
+     * @return number * denominator
+     */
+    public long transformNumber(long number) {
+        return Math.round(number * denominator);
+    }
+
+    /**
+     * Returns the number being formatted times the denominator.
+     * @param number The number being formatted
+     * @return number * denominator
+     */
+    public double transformNumber(double number) {
+        return Math.round(number * denominator);
+    }
+
+    //-----------------------------------------------------------------------
+    // parsing
+    //-----------------------------------------------------------------------
+
+    /**
+     * Dispatches to the inherited version of this function, but makes
+     * sure that lenientParse is off.
+     */
+    public Number doParse(String text, ParsePosition parsePosition, double baseValue,
+                        double upperBound, boolean lenientParse) {
+        // we don't have to do anything special to do the parsing here,
+        // but we have to turn lenient parsing off-- if we leave it on,
+        // it SERIOUSLY messes up the algorithm
+
+        // if withZeros is true, we need to count the zeros
+        // and use that to adjust the parse result
+        int zeroCount = 0;
+        if (withZeros) {
+            String workText = new String(text);
+            ParsePosition workPos = new ParsePosition(1);
+            int digit;
+
+            while (workText.length() > 0 && workPos.getIndex() != 0) {
+                workPos.setIndex(0);
+                digit = ruleSet.parse(workText, workPos, 1).intValue(); // parse zero or nothing at all
+                if (workPos.getIndex() == 0) {
+                    // we failed, either there were no more zeros, or the number was formatted with digits
+                    // either way, we're done
+                    break;
+                }
+
+                ++zeroCount;
+                parsePosition.setIndex(parsePosition.getIndex() + workPos.getIndex());
+                workText = workText.substring(workPos.getIndex());
+                while (workText.length() > 0 && workText.charAt(0) == ' ') {
+                    workText = workText.substring(1);
+                    parsePosition.setIndex(parsePosition.getIndex() + 1);
+                }
+            }
+
+            text = text.substring(parsePosition.getIndex()); // arrgh!
+            parsePosition.setIndex(0);
+        }
+
+        // we've parsed off the zeros, now let's parse the rest from our current position
+        Number result =  super.doParse(text, parsePosition, withZeros ? 1 : baseValue, upperBound, false);
+
+        if (withZeros) {
+            // any base value will do in this case.  is there a way to
+            // force this to not bother trying all the base values?
+            
+            // compute the 'effective' base and prescale the value down
+            long n = result.longValue();
+            long d = 1;
+            int pow = 0;
+            while (d <= n) {
+                d *= 10;
+                ++pow;
+            }
+            // now add the zeros
+            while (zeroCount > 0) {
+                d *= 10;
+                --zeroCount;
+            }
+            // d is now our true denominator
+            result = new Double(n/(double)d);
+        }
+
+        return result;
+    }
+
+    /**
+     * Divides the result of parsing the substitution by the partial
+     * parse result.
+     * @param newRuleValue The result of parsing the substitution
+     * @param oldRuleValue The owning rule's base value
+     * @return newRuleValue / oldRuleValue
+     */
+    public double composeRuleValue(double newRuleValue, double oldRuleValue) {
+        return newRuleValue / oldRuleValue;
+    }
+
+    /**
+     * Sets the uper bound down to this rule's base value
+     * @param oldUpperBound Ignored
+     * @return The base value of the rule owning this substitution
+     */
+    public double calcUpperBound(double oldUpperBound) {
+        return denominator;
+    }
+
+    //-----------------------------------------------------------------------
+    // simple accessor
+    //-----------------------------------------------------------------------
+
+    /**
+     * The token character for a NumeratorSubstitution is &lt;
+     * @return '&lt;'
+     */
+    char tokenChar() {
+        return '<';
+    }
+}
+
+//===================================================================
+// NullSubstitution
+//===================================================================
+
+/**
+ * A substitution which does nothing.  This class exists just to simplify
+ * the logic in some other routines so that they don't have to worry
+ * about how many substitutions a rule has.
+ */
+class NullSubstitution extends NFSubstitution {
+    //-----------------------------------------------------------------------
+    // constants
+    //-----------------------------------------------------------------------
+
+    /**
+     * Puts a copyright in the .class file
+     */
+    private static final String copyrightNotice
+        = "Copyright \u00a91997-1998 IBM Corp.  All rights reserved.";
+
+    //-----------------------------------------------------------------------
+    // construction
+    //-----------------------------------------------------------------------
+
+    /**
+     * Constructs a NullSubstitution.  This just delegates to the superclass
+     * constructor, but the only value we really care about is the position.
+     */
+    NullSubstitution(int pos,
+                     NFRuleSet ruleSet,
+                     RuleBasedNumberFormat formatter,
+                     String description) {
+        super(pos, ruleSet, formatter, description);
+    }
+
+    //-----------------------------------------------------------------------
+    // boilerplate
+    //-----------------------------------------------------------------------
+
+    /**
+     * Only checks for class equality
+     */
+    public boolean equals(Object that) {
+        return super.equals(that);
+    }
+
+    /**
+     * NullSubstitutions don't show up in the textual representation
+     * of a RuleBasedNumberFormat
+     */
+    public String toString() {
+        return "";
+    }
+
+    //-----------------------------------------------------------------------
+    // formatting
+    //-----------------------------------------------------------------------
+
+    /**
+     * Does nothing.
+     */
+    public void doSubstitution(long number, StringBuffer toInsertInto, int pos) {
+    }
+
+    /**
+     * Does nothing.
+     */
+    public void doSubstitution(double number, StringBuffer toInsertInto, int pos) {
+    }
+
+    /**
+     * Never called.
+     */
+    ///CLOVER:OFF
+    public long transformNumber(long number) {
+        return 0;
+    }
+    ///CLOVER:ON
+
+    /**
+     * Never called.
+     */
+    ///CLOVER:OFF
+    public double transformNumber(double number) {
+        return 0;
+    }
+    ///CLOVER:ON
+
+    //-----------------------------------------------------------------------
+    // parsing
+    //-----------------------------------------------------------------------
+
+    /**
+     * Returns the partial parse result unchanged
+     */
+    public Number doParse(String text, ParsePosition parsePosition, double baseValue,
+                        double upperBound, boolean lenientParse) {
+        if (baseValue == (long)baseValue) {
+            return new Long((long)baseValue);
+        } else {
+            return new Double(baseValue);
+        }
+    }
+
+    /**
+     * Never called.
+     */
+    ///CLOVER:OFF
+    public double composeRuleValue(double newRuleValue, double oldRuleValue) {
+        return 0;
+    }
+    ///CLOVER:ON
+
+    /**
+     * Never called.
+     */
+    ///CLOVER:OFF
+    public double calcUpperBound(double oldUpperBound) {
+        return 0;
+    }
+    ///CLOVER:ON
+
+    //-----------------------------------------------------------------------
+    // simple accessors
+    //-----------------------------------------------------------------------
+
+    /**
+     * Returns true (this _is_ a NullSubstitution).
+     * @return true
+     */
+    public boolean isNullSubstitution() {
+        return true;
+    }
+
+    /**
+     * Never called.
+     */
+    ///CLOVER:OFF
+    char tokenChar() {
+        return ' ';
+    }
+    ///CLOVER:ON
+}
+
diff --git a/src/com/ibm/icu/text/NameUnicodeTransliterator.java b/src/com/ibm/icu/text/NameUnicodeTransliterator.java
new file mode 100755
index 0000000..b567ced
--- /dev/null
+++ b/src/com/ibm/icu/text/NameUnicodeTransliterator.java
@@ -0,0 +1,171 @@
+/*
+ * Copyright (C) 1996-2004, International Business Machines Corporation and
+ * others. All Rights Reserved.
+ */
+package com.ibm.icu.text;
+import com.ibm.icu.lang.*;
+import com.ibm.icu.impl.Utility;
+import com.ibm.icu.impl.UCharacterProperty;
+import com.ibm.icu.impl.UCharacterName;
+
+/**
+ * A transliterator that performs name to character mapping.
+ * @author Alan Liu
+ */
+class NameUnicodeTransliterator extends Transliterator {
+
+    char openDelimiter;
+    char closeDelimiter;
+
+    static final String _ID = "Name-Any";
+
+    static final String OPEN_PAT    = "\\N~{~";
+    static final char   OPEN_DELIM  = '\\'; // first char of OPEN_PAT
+    static final char   CLOSE_DELIM = '}';
+    static final char   SPACE       = ' ';
+
+
+    /**
+     * System registration hook.
+     */
+    static void register() {
+        Transliterator.registerFactory(_ID, new Transliterator.Factory() {
+            public Transliterator getInstance(String ID) {
+                return new NameUnicodeTransliterator(null);
+            }
+        });
+    }
+
+    /**
+     * Constructs a transliterator.
+     */
+    public NameUnicodeTransliterator(UnicodeFilter filter) {
+        super(_ID, filter);
+    }
+
+    /**
+     * Implements {@link Transliterator#handleTransliterate}.
+     */
+    protected void handleTransliterate(Replaceable text,
+                                       Position offsets, boolean isIncremental) {
+
+        int maxLen = UCharacterName.getInstance().getMaxCharNameLength() + 1; // allow for temporary trailing space
+
+        StringBuffer name = new StringBuffer(maxLen);
+
+        // Get the legal character set
+        UnicodeSet legal = new UnicodeSet();
+        UCharacterName.getInstance().getCharNameCharacters(legal);
+
+        int cursor = offsets.start;
+        int limit = offsets.limit;
+
+        // Modes:
+        // 0 - looking for open delimiter
+        // 1 - after open delimiter
+        int mode = 0;
+        int openPos = -1; // open delim candidate pos
+        
+        int c;
+        while (cursor < limit) {
+            c = text.char32At(cursor);
+
+            switch (mode) {
+            case 0: // looking for open delimiter
+                if (c == OPEN_DELIM) { // quick check first
+                    openPos = cursor;
+                    int i = Utility.parsePattern(OPEN_PAT, text, cursor, limit);
+                    if (i >= 0 && i < limit) {
+                        mode = 1;
+                        name.setLength(0);
+                        cursor = i;
+                        continue; // *** reprocess char32At(cursor)
+                    }
+                }
+                break;
+
+            case 1: // after open delimiter
+                // Look for legal chars.  If \s+ is found, convert it
+                // to a single space.  If closeDelimiter is found, exit
+                // the loop.  If any other character is found, exit the
+                // loop.  If the limit is reached, exit the loop.
+                
+                // Convert \s+ => SPACE.  This assumes there are no
+                // runs of >1 space characters in names.
+                if (UCharacterProperty.isRuleWhiteSpace(c)) {
+                    // Ignore leading whitespace
+                    if (name.length() > 0 &&
+                        name.charAt(name.length()-1) != SPACE) {
+                        name.append(SPACE);
+                        // If we are too long then abort.  maxLen includes
+                        // temporary trailing space, so use '>'.
+                        if (name.length() > maxLen) {
+                            mode = 0;
+                        }
+                    }
+                    break;
+                }
+
+                if (c == CLOSE_DELIM) {
+
+                    int len = name.length();
+                    
+                    // Delete trailing space, if any
+                    if (len > 0 &&
+                        name.charAt(len-1) == SPACE) {
+                        name.setLength(--len);
+                    }
+
+                    c = UCharacter.getCharFromExtendedName(name.toString());
+                    if (c != -1) {
+                        // Lookup succeeded
+
+                        // assert(UTF16.getCharCount(CLOSE_DELIM) == 1);
+                        cursor++; // advance over CLOSE_DELIM
+
+                        String str = UTF16.valueOf(c);
+                        text.replace(openPos, cursor, str);
+
+                        // Adjust indices for the change in the length of
+                        // the string.  Do not assume that str.length() ==
+                        // 1, in case of surrogates.
+                        int delta = cursor - openPos - str.length();
+                        cursor -= delta;
+                        limit -= delta;
+                        // assert(cursor == openPos + str.length());
+                    }
+                    // If the lookup failed, we leave things as-is and
+                    // still switch to mode 0 and continue.
+                    mode = 0;
+                    openPos = -1; // close off candidate
+                    continue; // *** reprocess char32At(cursor)
+                }
+
+                if (legal.contains(c)) {
+                    UTF16.append(name, c);
+                    // If we go past the longest possible name then abort.
+                    // maxLen includes temporary trailing space, so use '>='.
+                    if (name.length() >= maxLen) {
+                        mode = 0;
+                    }
+                }
+
+                // Invalid character
+                else {
+                    --cursor; // Backup and reprocess this character
+                    mode = 0;
+                }
+
+                break;
+            }
+
+            cursor += UTF16.getCharCount(c);
+        }
+
+        offsets.contextLimit += limit - offsets.limit;
+        offsets.limit = limit;
+        // In incremental mode, only advance the cursor up to the last
+        // open delimiter candidate.
+        offsets.start = (isIncremental && openPos >= 0) ? openPos : cursor;
+    }
+}
diff --git a/src/com/ibm/icu/text/NormalizationTransliterator.java b/src/com/ibm/icu/text/NormalizationTransliterator.java
new file mode 100755
index 0000000..17c39cb
--- /dev/null
+++ b/src/com/ibm/icu/text/NormalizationTransliterator.java
@@ -0,0 +1,618 @@
+/*
+**********************************************************************
+*   Copyright (C) 2001-2004, International Business Machines
+*   Corporation and others.  All Rights Reserved.
+**********************************************************************
+*   Date        Name        Description
+*   06/08/01    aliu        Creation.
+**********************************************************************
+*/
+
+package com.ibm.icu.text;
+import com.ibm.icu.lang.*;
+
+/**
+ * @author Alan Liu
+ */
+final class NormalizationTransliterator extends Transliterator {
+    
+    static final boolean DEBUG = false;
+
+    /**
+     * The normalization mode of this transliterator.
+     */
+    private Normalizer.Mode mode;
+
+    /**
+     * Normalization options for this transliterator.
+     */
+    private int options;
+
+    /**
+     * The set of "unsafe start" characters.  These are characters
+     * with cc==0 but which may interact with previous characters.  We
+     * effectively consider these to be cc!=0, for our purposes.
+     *
+     * From http://www.macchiato.com/utc/NFUnsafeStart-3.1.1dX.txt
+     * Generated in unicodetools, NFSkippable
+     *
+     */
+     
+    static final UnicodeSet[] UNSAFE_STARTS = new UnicodeSet[4];
+    static final UnicodeSet[] SKIPPABLES = new UnicodeSet[4];
+    
+    static final int
+        D = 0, C = 1, KD= 2, KC = 3;
+    
+    // Instance data, simply pointer to one of the sets below
+    final UnicodeSet unsafeStart;
+    final UnicodeSet skippable;
+    
+    /**
+     * System registration hook.
+     */
+    static void register() {
+        Transliterator.registerFactory("Any-NFC", new Transliterator.Factory() {
+            public Transliterator getInstance(String ID) {
+                return NormalizationTransliterator.
+                    getInstance(Normalizer.NFC);
+            }
+        });
+        Transliterator.registerFactory("Any-NFD", new Transliterator.Factory() {
+            public Transliterator getInstance(String ID) {
+                return NormalizationTransliterator.
+                    getInstance(Normalizer.NFD);
+            }
+        });
+        Transliterator.registerFactory("Any-NFKC", new Transliterator.Factory() {
+            public Transliterator getInstance(String ID) {
+                return NormalizationTransliterator.
+                    getInstance(Normalizer.NFKC);
+            }
+        });
+        Transliterator.registerFactory("Any-NFKD", new Transliterator.Factory() {
+            public Transliterator getInstance(String ID) {
+                return NormalizationTransliterator.
+                    getInstance(Normalizer.NFKD);
+            }
+        });
+        Transliterator.registerSpecialInverse("NFC", "NFD", true);
+        Transliterator.registerSpecialInverse("NFKC", "NFKD", true);
+    }
+
+    /**
+     * Factory method.
+     */
+    public static NormalizationTransliterator getInstance(Normalizer.Mode m,
+                                                          int opt) {
+        StringBuffer id = new StringBuffer("NF");
+        int choice = 0;
+        if(m==Normalizer.NFC){
+            id.append("C");
+            choice |= C;
+        }else if(m==Normalizer.NFKC){
+            id.append("KC");
+            choice |= KC;
+        }else if(m==Normalizer.NFD){
+            id.append("D");
+            choice |= D;
+        }else if(m==Normalizer.NFKD){
+            id.append("KD");
+            choice |= KD;
+        }
+        
+        /*if (m.compat()) {
+            id.append('K');
+            choice |= KD;
+        }
+        if (m.compose()) {
+            id.append('C');
+            choice |= C;
+        } else {
+            id.append('D');
+        }*/
+        return new NormalizationTransliterator(id.toString(), m, choice, opt);
+    }
+
+    /**
+     * Factory method.
+     */
+    public static NormalizationTransliterator getInstance(Normalizer.Mode m) {
+        return getInstance(m, 0);
+    }
+
+    /**
+     * Constructs a transliterator.
+     */
+    private NormalizationTransliterator(String id, Normalizer.Mode m, int startChoice,
+                                        int opt) {
+        super(id, null);
+        mode = m;
+        options = opt;
+        if (UNSAFE_STARTS[startChoice] == null) {
+            initStatics(startChoice);
+        }
+        unsafeStart = UNSAFE_STARTS[startChoice];
+        skippable = SKIPPABLES[startChoice];
+    }
+
+    /**
+     * Implements {@link Transliterator#handleTransliterate}.
+     */
+    protected void handleTransliterate(Replaceable text,
+                                       Position offsets, boolean isIncremental) {
+        int start = offsets.start;
+        int limit = offsets.limit;
+        if (start >= limit) return;
+
+        int overallDelta = 0;
+            
+        // Walk through the string looking for safe characters.
+        // Whenever you hit one normalize from the start of the last
+        // safe character up to just before the next safe character
+        // Also, if you hit the end and we are not in incremental mode,
+        // do to end.
+            
+        // TODO: fix for surrogates
+        // TODO: add QuickCheck, so we rarely convert OK stuff
+            
+        int lastSafe = start; // go back to start in any event
+        int cp;
+        for (int i = start+1; i < limit; i += UTF16.getCharCount(cp)) {
+            cp = text.char32At(i);
+            if (UCharacter.getCombiningClass(cp) == 0 && !unsafeStart.contains(cp)) {
+                int delta = convert(text, lastSafe, i, null);
+                i += delta;
+                limit += delta;
+                overallDelta += delta;
+                lastSafe = i;
+            }
+        }
+        if (!isIncremental) {
+            int delta = convert(text, lastSafe, limit, null);
+            overallDelta += delta;
+            lastSafe = limit + delta;
+        } else {
+            // We are incremental, so accept the last characters IF they turn into skippables
+            int delta = convert(text, lastSafe, limit, skippable);
+            if (delta != Integer.MIN_VALUE) {
+                overallDelta += delta;
+                lastSafe = limit + delta;
+            }
+        }
+        offsets.contextLimit += overallDelta;
+        offsets.limit += overallDelta;
+        offsets.start = lastSafe;
+    }
+    
+    /**
+     * Converts the range from lastSafe to limit.
+     * @param verify If non-null, check to see that all replacement characters are in it. If not,
+     * abort the conversion and return Integer.MIN_VALUE.
+     * @return return the delta in length (new - old), or Integer.MIN_VALUE if the verify aborted.
+     */
+    int convert(Replaceable text, int lastSafe, int limit, UnicodeSet verify) {        
+        //System.out.println("t: " + com.ibm.icu.impl.Utility.hex(text.toString()) + ", s: " + lastSafe + ", l: " + limit);
+
+        int len = limit - lastSafe;
+        if (buffer.length < len) {
+            buffer = new char[len]; // rare, and we don't care if we grow too large
+        }
+        text.getChars(lastSafe, limit, buffer, 0);
+        String input = new String(buffer, 0, len); // TODO: fix normalizer to take char[]
+        String output = Normalizer.normalize(input, mode);
+        
+        // verify OK, if specified
+        if (verify != null) {
+            boolean skip = !skippable.containsAll(output);
+            if (DEBUG) {
+                System.out.println((skip ? "  SKIP: " : "NOSKIP: ") 
+                    + com.ibm.icu.impl.Utility.escape(input) 
+                    + " => " + com.ibm.icu.impl.Utility.escape(output));
+            }
+            if (skip) return Integer.MIN_VALUE;
+        }
+        
+        if (output.equals(input)) {
+            return 0;
+        }
+        text.replace(lastSafe, limit, output);
+        return output.length() - len;
+    }
+    
+    private char buffer[] = new char[30];
+    
+    /**
+     * Initialize statics for the given mode.  This is slow, so we
+     * defer it.
+     */
+    private static final void initStatics(int startChoice) {
+        switch (startChoice) {
+        case D:
+          UNSAFE_STARTS[D] = new UnicodeSet("[\u0F73\u0F75\u0F81]", false);
+          SKIPPABLES[D] = new UnicodeSet(
+            "[^\\u00C0-\\u00C5\\u00C7-\\u00CF\\u00D1-\\u00D6\\u00D9-\\u00DD"
+            + "\\u00E0-\\u00E5\\u00E7-\\u00EF\\u00F1-\\u00F6\\u00F9-\\u00FD"
+            + "\\u00FF-\\u010F\\u0112-\\u0125\\u0128-\\u0130\\u0134-\\u0137"
+            + "\\u0139-\\u013E\\u0143-\\u0148\\u014C-\\u0151\\u0154-\\u0165"
+            + "\\u0168-\\u017E\\u01A0-\\u01A1\\u01AF-\\u01B0\\u01CD-\\u01DC"
+            + "\\u01DE-\\u01E3\\u01E6-\\u01F0\\u01F4-\\u01F5\\u01F8-\\u021B"
+            + "\\u021E-\\u021F\\u0226-\\u0233\\u0300-\\u034E\\u0360-\\u036F"
+            + "\\u0374\\u037E\\u0385-\\u038A\\u038C\\u038E-\\u0390\\u03AA-"
+            + "\\u03B0\\u03CA-\\u03CE\\u03D3-\\u03D4\\u0400-\\u0401\\u0403"
+            + "\\u0407\\u040C-\\u040E\\u0419\\u0439\\u0450-\\u0451\\u0453"
+            + "\\u0457\\u045C-\\u045E\\u0476-\\u0477\\u0483-\\u0486\\u04C1-"
+            + "\\u04C2\\u04D0-\\u04D3\\u04D6-\\u04D7\\u04DA-\\u04DF\\u04E2-"
+            + "\\u04E7\\u04EA-\\u04F5\\u04F8-\\u04F9\\u0591-\\u05A1\\u05A3-"
+            + "\\u05B9\\u05BB-\\u05BD\\u05BF\\u05C1-\\u05C2\\u05C4\\u0622-"
+            + "\\u0626\\u064B-\\u0655\\u0670\\u06C0\\u06C2\\u06D3\\u06D6-"
+            + "\\u06DC\\u06DF-\\u06E4\\u06E7-\\u06E8\\u06EA-\\u06ED\\u0711"
+            + "\\u0730-\\u074A\\u0929\\u0931\\u0934\\u093C\\u094D\\u0951-"
+            + "\\u0954\\u0958-\\u095F\\u09BC\\u09CB-\\u09CD\\u09DC-\\u09DD"
+            + "\\u09DF\\u0A33\\u0A36\\u0A3C\\u0A4D\\u0A59-\\u0A5B\\u0A5E\\u0ABC"
+            + "\\u0ACD\\u0B3C\\u0B48\\u0B4B-\\u0B4D\\u0B5C-\\u0B5D\\u0B94"
+            + "\\u0BCA-\\u0BCD\\u0C48\\u0C4D\\u0C55-\\u0C56\\u0CC0\\u0CC7-"
+            + "\\u0CC8\\u0CCA-\\u0CCB\\u0CCD\\u0D4A-\\u0D4D\\u0DCA\\u0DDA"
+            + "\\u0DDC-\\u0DDE\\u0E38-\\u0E3A\\u0E48-\\u0E4B\\u0EB8-\\u0EB9"
+            + "\\u0EC8-\\u0ECB\\u0F18-\\u0F19\\u0F35\\u0F37\\u0F39\\u0F43"
+            + "\\u0F4D\\u0F52\\u0F57\\u0F5C\\u0F69\\u0F71-\\u0F76\\u0F78\\u0F7A"
+            + "-\\u0F7D\\u0F80-\\u0F84\\u0F86-\\u0F87\\u0F93\\u0F9D\\u0FA2"
+            + "\\u0FA7\\u0FAC\\u0FB9\\u0FC6\\u1026\\u1037\\u1039\\u1714\\u1734"
+            + "\\u17D2\\u18A9\\u1E00-\\u1E99\\u1E9B\\u1EA0-\\u1EF9\\u1F00-"
+            + "\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-"
+            + "\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4"
+            + "\\u1FB6-\\u1FBC\\u1FBE\\u1FC1-\\u1FC4\\u1FC6-\\u1FD3\\u1FD6-"
+            + "\\u1FDB\\u1FDD-\\u1FEF\\u1FF2-\\u1FF4\\u1FF6-\\u1FFD\\u2000-"
+            + "\\u2001\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20EA\\u2126\\u212A-"
+            + "\\u212B\\u219A-\\u219B\\u21AE\\u21CD-\\u21CF\\u2204\\u2209"
+            + "\\u220C\\u2224\\u2226\\u2241\\u2244\\u2247\\u2249\\u2260\\u2262"
+            + "\\u226D-\\u2271\\u2274-\\u2275\\u2278-\\u2279\\u2280-\\u2281"
+            + "\\u2284-\\u2285\\u2288-\\u2289\\u22AC-\\u22AF\\u22E0-\\u22E3"
+            + "\\u22EA-\\u22ED\\u2329-\\u232A\\u2ADC\\u302A-\\u302F\\u304C"
+            + "\\u304E\\u3050\\u3052\\u3054\\u3056\\u3058\\u305A\\u305C\\u305E"
+            + "\\u3060\\u3062\\u3065\\u3067\\u3069\\u3070-\\u3071\\u3073-"
+            + "\\u3074\\u3076-\\u3077\\u3079-\\u307A\\u307C-\\u307D\\u3094"
+            + "\\u3099-\\u309A\\u309E\\u30AC\\u30AE\\u30B0\\u30B2\\u30B4\\u30B6"
+            + "\\u30B8\\u30BA\\u30BC\\u30BE\\u30C0\\u30C2\\u30C5\\u30C7\\u30C9"
+            + "\\u30D0-\\u30D1\\u30D3-\\u30D4\\u30D6-\\u30D7\\u30D9-\\u30DA"
+            + "\\u30DC-\\u30DD\\u30F4\\u30F7-\\u30FA\\u30FE\\uAC00-\\uD7A3"
+            + "\\uF900-\\uFA0D\\uFA10\\uFA12\\uFA15-\\uFA1E\\uFA20\\uFA22"
+            + "\\uFA25-\\uFA26\\uFA2A-\\uFA2D\\uFA30-\\uFA6A\\uFB1D-\\uFB1F"
+            + "\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40-\\uFB41\\uFB43-"
+            + "\\uFB44\\uFB46-\\uFB4E\\uFE20-\\uFE23\\U0001D15E-\\U0001D169"
+            + "\\U0001D16D-\\U0001D172\\U0001D17B-\\U0001D182\\U0001D185-"
+            + "\\U0001D18B\\U0001D1AA-\\U0001D1AD\\U0001D1BB-\\U0001D1C0\\U0002"
+            + "F800-\\U0002FA1D]", false);
+          break;
+        case C:
+          UNSAFE_STARTS[C] = new UnicodeSet("[\u09BE\u09D7\u0B3E\u0B56-\u0B57\u0BBE\u0BD7\u0CC2\u0CD5-\u0CD6"
+            + "\u0D3E\u0D57\u0DCF\u0DDF\u0F73\u0F75\u0F81\u102E\u1161-\u1175\u11A8-\u11C2]", false);
+          SKIPPABLES[C] = new UnicodeSet(
+            "[^<->A-PR-Za-pr-z\\u00A8\\u00C0-\\u00CF\\u00D1-\\u00D6\\u00D8-"
+            + "\\u00DD\\u00E0-\\u00EF\\u00F1-\\u00F6\\u00F8-\\u00FD\\u00FF-"
+            + "\\u0103\\u0106-\\u010F\\u0112-\\u0117\\u011A-\\u0121\\u0124-"
+            + "\\u0125\\u0128-\\u012D\\u0130\\u0139-\\u013A\\u013D-\\u013E"
+            + "\\u0143-\\u0144\\u0147-\\u0148\\u014C-\\u0151\\u0154-\\u0155"
+            + "\\u0158-\\u015D\\u0160-\\u0161\\u0164-\\u0165\\u0168-\\u0171"
+            + "\\u0174-\\u017F\\u01A0-\\u01A1\\u01AF-\\u01B0\\u01B7\\u01CD-"
+            + "\\u01DC\\u01DE-\\u01E1\\u01E6-\\u01EB\\u01F4-\\u01F5\\u01F8-"
+            + "\\u01FB\\u0200-\\u021B\\u021E-\\u021F\\u0226-\\u0233\\u0292"
+            + "\\u0300-\\u034E\\u0360-\\u036F\\u0374\\u037E\\u0387\\u0391"
+            + "\\u0395\\u0397\\u0399\\u039F\\u03A1\\u03A5\\u03A9\\u03AC\\u03AE"
+            + "\\u03B1\\u03B5\\u03B7\\u03B9\\u03BF\\u03C1\\u03C5\\u03C9-\\u03CB"
+            + "\\u03CE\\u03D2\\u0406\\u0410\\u0413\\u0415-\\u0418\\u041A\\u041E"
+            + "\\u0423\\u0427\\u042B\\u042D\\u0430\\u0433\\u0435-\\u0438\\u043A"
+            + "\\u043E\\u0443\\u0447\\u044B\\u044D\\u0456\\u0474-\\u0475\\u0483"
+            + "-\\u0486\\u04D8-\\u04D9\\u04E8-\\u04E9\\u0591-\\u05A1\\u05A3-"
+            + "\\u05B9\\u05BB-\\u05BD\\u05BF\\u05C1-\\u05C2\\u05C4\\u0622-"
+            + "\\u0623\\u0627\\u0648\\u064A-\\u0655\\u0670\\u06C1\\u06D2\\u06D5"
+            + "-\\u06DC\\u06DF-\\u06E4\\u06E7-\\u06E8\\u06EA-\\u06ED\\u0711"
+            + "\\u0730-\\u074A\\u0928\\u0930\\u0933\\u093C\\u094D\\u0951-"
+            + "\\u0954\\u0958-\\u095F\\u09BC\\u09BE\\u09C7\\u09CD\\u09D7\\u09DC"
+            + "-\\u09DD\\u09DF\\u0A33\\u0A36\\u0A3C\\u0A4D\\u0A59-\\u0A5B"
+            + "\\u0A5E\\u0ABC\\u0ACD\\u0B3C\\u0B3E\\u0B47\\u0B4D\\u0B56-\\u0B57"
+            + "\\u0B5C-\\u0B5D\\u0B92\\u0BBE\\u0BC6-\\u0BC7\\u0BCD\\u0BD7"
+            + "\\u0C46\\u0C4D\\u0C55-\\u0C56\\u0CBF\\u0CC2\\u0CC6\\u0CCA\\u0CCD"
+            + "\\u0CD5-\\u0CD6\\u0D3E\\u0D46-\\u0D47\\u0D4D\\u0D57\\u0DCA"
+            + "\\u0DCF\\u0DD9\\u0DDC\\u0DDF\\u0E38-\\u0E3A\\u0E48-\\u0E4B"
+            + "\\u0EB8-\\u0EB9\\u0EC8-\\u0ECB\\u0F18-\\u0F19\\u0F35\\u0F37"
+            + "\\u0F39\\u0F43\\u0F4D\\u0F52\\u0F57\\u0F5C\\u0F69\\u0F71-\\u0F76"
+            + "\\u0F78\\u0F7A-\\u0F7D\\u0F80-\\u0F84\\u0F86-\\u0F87\\u0F93"
+            + "\\u0F9D\\u0FA2\\u0FA7\\u0FAC\\u0FB9\\u0FC6\\u1025\\u102E\\u1037"
+            + "\\u1039\\u1100-\\u1112\\u1161-\\u1175\\u11A8-\\u11C2\\u1714"
+            + "\\u1734\\u17D2\\u18A9\\u1E00-\\u1E03\\u1E0A-\\u1E0F\\u1E12-"
+            + "\\u1E1B\\u1E20-\\u1E27\\u1E2A-\\u1E41\\u1E44-\\u1E53\\u1E58-"
+            + "\\u1E7D\\u1E80-\\u1E87\\u1E8E-\\u1E91\\u1E96-\\u1E99\\u1EA0-"
+            + "\\u1EF3\\u1EF6-\\u1EF9\\u1F00-\\u1F11\\u1F18-\\u1F19\\u1F20-"
+            + "\\u1F31\\u1F38-\\u1F39\\u1F40-\\u1F41\\u1F48-\\u1F49\\u1F50-"
+            + "\\u1F51\\u1F59\\u1F60-\\u1F71\\u1F73-\\u1F75\\u1F77\\u1F79"
+            + "\\u1F7B-\\u1F7D\\u1F80-\\u1F81\\u1F88-\\u1F89\\u1F90-\\u1F91"
+            + "\\u1F98-\\u1F99\\u1FA0-\\u1FA1\\u1FA8-\\u1FA9\\u1FB3\\u1FB6"
+            + "\\u1FBB-\\u1FBC\\u1FBE-\\u1FBF\\u1FC3\\u1FC6\\u1FC9\\u1FCB-"
+            + "\\u1FCC\\u1FD3\\u1FDB\\u1FE3\\u1FEB\\u1FEE-\\u1FEF\\u1FF3\\u1FF6"
+            + "\\u1FF9\\u1FFB-\\u1FFE\\u2000-\\u2001\\u20D0-\\u20DC\\u20E1"
+            + "\\u20E5-\\u20EA\\u2126\\u212A-\\u212B\\u2190\\u2192\\u2194"
+            + "\\u21D0\\u21D2\\u21D4\\u2203\\u2208\\u220B\\u2223\\u2225\\u223C"
+            + "\\u2243\\u2245\\u2248\\u224D\\u2261\\u2264-\\u2265\\u2272-"
+            + "\\u2273\\u2276-\\u2277\\u227A-\\u227D\\u2282-\\u2283\\u2286-"
+            + "\\u2287\\u2291-\\u2292\\u22A2\\u22A8-\\u22A9\\u22AB\\u22B2-"
+            + "\\u22B5\\u2329-\\u232A\\u2ADC\\u302A-\\u302F\\u3046\\u304B"
+            + "\\u304D\\u304F\\u3051\\u3053\\u3055\\u3057\\u3059\\u305B\\u305D"
+            + "\\u305F\\u3061\\u3064\\u3066\\u3068\\u306F\\u3072\\u3075\\u3078"
+            + "\\u307B\\u3099-\\u309A\\u309D\\u30A6\\u30AB\\u30AD\\u30AF\\u30B1"
+            + "\\u30B3\\u30B5\\u30B7\\u30B9\\u30BB\\u30BD\\u30BF\\u30C1\\u30C4"
+            + "\\u30C6\\u30C8\\u30CF\\u30D2\\u30D5\\u30D8\\u30DB\\u30EF-\\u30F2"
+            + "\\u30FD\\uAC00\\uAC1C\\uAC38\\uAC54\\uAC70\\uAC8C\\uACA8\\uACC4"
+            + "\\uACE0\\uACFC\\uAD18\\uAD34\\uAD50\\uAD6C\\uAD88\\uADA4\\uADC0"
+            + "\\uADDC\\uADF8\\uAE14\\uAE30\\uAE4C\\uAE68\\uAE84\\uAEA0\\uAEBC"
+            + "\\uAED8\\uAEF4\\uAF10\\uAF2C\\uAF48\\uAF64\\uAF80\\uAF9C\\uAFB8"
+            + "\\uAFD4\\uAFF0\\uB00C\\uB028\\uB044\\uB060\\uB07C\\uB098\\uB0B4"
+            + "\\uB0D0\\uB0EC\\uB108\\uB124\\uB140\\uB15C\\uB178\\uB194\\uB1B0"
+            + "\\uB1CC\\uB1E8\\uB204\\uB220\\uB23C\\uB258\\uB274\\uB290\\uB2AC"
+            + "\\uB2C8\\uB2E4\\uB300\\uB31C\\uB338\\uB354\\uB370\\uB38C\\uB3A8"
+            + "\\uB3C4\\uB3E0\\uB3FC\\uB418\\uB434\\uB450\\uB46C\\uB488\\uB4A4"
+            + "\\uB4C0\\uB4DC\\uB4F8\\uB514\\uB530\\uB54C\\uB568\\uB584\\uB5A0"
+            + "\\uB5BC\\uB5D8\\uB5F4\\uB610\\uB62C\\uB648\\uB664\\uB680\\uB69C"
+            + "\\uB6B8\\uB6D4\\uB6F0\\uB70C\\uB728\\uB744\\uB760\\uB77C\\uB798"
+            + "\\uB7B4\\uB7D0\\uB7EC\\uB808\\uB824\\uB840\\uB85C\\uB878\\uB894"
+            + "\\uB8B0\\uB8CC\\uB8E8\\uB904\\uB920\\uB93C\\uB958\\uB974\\uB990"
+            + "\\uB9AC\\uB9C8\\uB9E4\\uBA00\\uBA1C\\uBA38\\uBA54\\uBA70\\uBA8C"
+            + "\\uBAA8\\uBAC4\\uBAE0\\uBAFC\\uBB18\\uBB34\\uBB50\\uBB6C\\uBB88"
+            + "\\uBBA4\\uBBC0\\uBBDC\\uBBF8\\uBC14\\uBC30\\uBC4C\\uBC68\\uBC84"
+            + "\\uBCA0\\uBCBC\\uBCD8\\uBCF4\\uBD10\\uBD2C\\uBD48\\uBD64\\uBD80"
+            + "\\uBD9C\\uBDB8\\uBDD4\\uBDF0\\uBE0C\\uBE28\\uBE44\\uBE60\\uBE7C"
+            + "\\uBE98\\uBEB4\\uBED0\\uBEEC\\uBF08\\uBF24\\uBF40\\uBF5C\\uBF78"
+            + "\\uBF94\\uBFB0\\uBFCC\\uBFE8\\uC004\\uC020\\uC03C\\uC058\\uC074"
+            + "\\uC090\\uC0AC\\uC0C8\\uC0E4\\uC100\\uC11C\\uC138\\uC154\\uC170"
+            + "\\uC18C\\uC1A8\\uC1C4\\uC1E0\\uC1FC\\uC218\\uC234\\uC250\\uC26C"
+            + "\\uC288\\uC2A4\\uC2C0\\uC2DC\\uC2F8\\uC314\\uC330\\uC34C\\uC368"
+            + "\\uC384\\uC3A0\\uC3BC\\uC3D8\\uC3F4\\uC410\\uC42C\\uC448\\uC464"
+            + "\\uC480\\uC49C\\uC4B8\\uC4D4\\uC4F0\\uC50C\\uC528\\uC544\\uC560"
+            + "\\uC57C\\uC598\\uC5B4\\uC5D0\\uC5EC\\uC608\\uC624\\uC640\\uC65C"
+            + "\\uC678\\uC694\\uC6B0\\uC6CC\\uC6E8\\uC704\\uC720\\uC73C\\uC758"
+            + "\\uC774\\uC790\\uC7AC\\uC7C8\\uC7E4\\uC800\\uC81C\\uC838\\uC854"
+            + "\\uC870\\uC88C\\uC8A8\\uC8C4\\uC8E0\\uC8FC\\uC918\\uC934\\uC950"
+            + "\\uC96C\\uC988\\uC9A4\\uC9C0\\uC9DC\\uC9F8\\uCA14\\uCA30\\uCA4C"
+            + "\\uCA68\\uCA84\\uCAA0\\uCABC\\uCAD8\\uCAF4\\uCB10\\uCB2C\\uCB48"
+            + "\\uCB64\\uCB80\\uCB9C\\uCBB8\\uCBD4\\uCBF0\\uCC0C\\uCC28\\uCC44"
+            + "\\uCC60\\uCC7C\\uCC98\\uCCB4\\uCCD0\\uCCEC\\uCD08\\uCD24\\uCD40"
+            + "\\uCD5C\\uCD78\\uCD94\\uCDB0\\uCDCC\\uCDE8\\uCE04\\uCE20\\uCE3C"
+            + "\\uCE58\\uCE74\\uCE90\\uCEAC\\uCEC8\\uCEE4\\uCF00\\uCF1C\\uCF38"
+            + "\\uCF54\\uCF70\\uCF8C\\uCFA8\\uCFC4\\uCFE0\\uCFFC\\uD018\\uD034"
+            + "\\uD050\\uD06C\\uD088\\uD0A4\\uD0C0\\uD0DC\\uD0F8\\uD114\\uD130"
+            + "\\uD14C\\uD168\\uD184\\uD1A0\\uD1BC\\uD1D8\\uD1F4\\uD210\\uD22C"
+            + "\\uD248\\uD264\\uD280\\uD29C\\uD2B8\\uD2D4\\uD2F0\\uD30C\\uD328"
+            + "\\uD344\\uD360\\uD37C\\uD398\\uD3B4\\uD3D0\\uD3EC\\uD408\\uD424"
+            + "\\uD440\\uD45C\\uD478\\uD494\\uD4B0\\uD4CC\\uD4E8\\uD504\\uD520"
+            + "\\uD53C\\uD558\\uD574\\uD590\\uD5AC\\uD5C8\\uD5E4\\uD600\\uD61C"
+            + "\\uD638\\uD654\\uD670\\uD68C\\uD6A8\\uD6C4\\uD6E0\\uD6FC\\uD718"
+            + "\\uD734\\uD750\\uD76C\\uD788\\uF900-\\uFA0D\\uFA10\\uFA12\\uFA15"
+            + "-\\uFA1E\\uFA20\\uFA22\\uFA25-\\uFA26\\uFA2A-\\uFA2D\\uFA30-"
+            + "\\uFA6A\\uFB1D-\\uFB1F\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E"
+            + "\\uFB40-\\uFB41\\uFB43-\\uFB44\\uFB46-\\uFB4E\\uFE20-\\uFE23"
+            + "\\U0001D15E-\\U0001D169\\U0001D16D-\\U0001D172\\U0001D17B-"
+            + "\\U0001D182\\U0001D185-\\U0001D18B\\U0001D1AA-\\U0001D1AD\\U0001"
+            + "D1BB-\\U0001D1C0\\U0002F800-\\U0002FA1D]", false);
+          break;
+        case KD:
+          UNSAFE_STARTS[KD] = new UnicodeSet("[\u0F73\u0F75\u0F81\uFF9E-\uFF9F]", false);
+          SKIPPABLES[KD] = new UnicodeSet(
+            "[^\\u00A0\\u00A8\\u00AA\\u00AF\\u00B2-\\u00B5\\u00B8-\\u00BA"
+            + "\\u00BC-\\u00BE\\u00C0-\\u00C5\\u00C7-\\u00CF\\u00D1-\\u00D6"
+            + "\\u00D9-\\u00DD\\u00E0-\\u00E5\\u00E7-\\u00EF\\u00F1-\\u00F6"
+            + "\\u00F9-\\u00FD\\u00FF-\\u010F\\u0112-\\u0125\\u0128-\\u0130"
+            + "\\u0132-\\u0137\\u0139-\\u0140\\u0143-\\u0149\\u014C-\\u0151"
+            + "\\u0154-\\u0165\\u0168-\\u017F\\u01A0-\\u01A1\\u01AF-\\u01B0"
+            + "\\u01C4-\\u01DC\\u01DE-\\u01E3\\u01E6-\\u01F5\\u01F8-\\u021B"
+            + "\\u021E-\\u021F\\u0226-\\u0233\\u02B0-\\u02B8\\u02D8-\\u02DD"
+            + "\\u02E0-\\u02E4\\u0300-\\u034E\\u0360-\\u036F\\u0374\\u037A"
+            + "\\u037E\\u0384-\\u038A\\u038C\\u038E-\\u0390\\u03AA-\\u03B0"
+            + "\\u03CA-\\u03CE\\u03D0-\\u03D6\\u03F0-\\u03F2\\u03F4-\\u03F5"
+            + "\\u0400-\\u0401\\u0403\\u0407\\u040C-\\u040E\\u0419\\u0439"
+            + "\\u0450-\\u0451\\u0453\\u0457\\u045C-\\u045E\\u0476-\\u0477"
+            + "\\u0483-\\u0486\\u04C1-\\u04C2\\u04D0-\\u04D3\\u04D6-\\u04D7"
+            + "\\u04DA-\\u04DF\\u04E2-\\u04E7\\u04EA-\\u04F5\\u04F8-\\u04F9"
+            + "\\u0587\\u0591-\\u05A1\\u05A3-\\u05B9\\u05BB-\\u05BD\\u05BF"
+            + "\\u05C1-\\u05C2\\u05C4\\u0622-\\u0626\\u064B-\\u0655\\u0670"
+            + "\\u0675-\\u0678\\u06C0\\u06C2\\u06D3\\u06D6-\\u06DC\\u06DF-"
+            + "\\u06E4\\u06E7-\\u06E8\\u06EA-\\u06ED\\u0711\\u0730-\\u074A"
+            + "\\u0929\\u0931\\u0934\\u093C\\u094D\\u0951-\\u0954\\u0958-"
+            + "\\u095F\\u09BC\\u09CB-\\u09CD\\u09DC-\\u09DD\\u09DF\\u0A33"
+            + "\\u0A36\\u0A3C\\u0A4D\\u0A59-\\u0A5B\\u0A5E\\u0ABC\\u0ACD\\u0B3C"
+            + "\\u0B48\\u0B4B-\\u0B4D\\u0B5C-\\u0B5D\\u0B94\\u0BCA-\\u0BCD"
+            + "\\u0C48\\u0C4D\\u0C55-\\u0C56\\u0CC0\\u0CC7-\\u0CC8\\u0CCA-"
+            + "\\u0CCB\\u0CCD\\u0D4A-\\u0D4D\\u0DCA\\u0DDA\\u0DDC-\\u0DDE"
+            + "\\u0E33\\u0E38-\\u0E3A\\u0E48-\\u0E4B\\u0EB3\\u0EB8-\\u0EB9"
+            + "\\u0EC8-\\u0ECB\\u0EDC-\\u0EDD\\u0F0C\\u0F18-\\u0F19\\u0F35"
+            + "\\u0F37\\u0F39\\u0F43\\u0F4D\\u0F52\\u0F57\\u0F5C\\u0F69\\u0F71-"
+            + "\\u0F7D\\u0F80-\\u0F84\\u0F86-\\u0F87\\u0F93\\u0F9D\\u0FA2"
+            + "\\u0FA7\\u0FAC\\u0FB9\\u0FC6\\u1026\\u1037\\u1039\\u1714\\u1734"
+            + "\\u17D2\\u18A9\\u1E00-\\u1E9B\\u1EA0-\\u1EF9\\u1F00-\\u1F15"
+            + "\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57"
+            + "\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-"
+            + "\\u1FC4\\u1FC6-\\u1FD3\\u1FD6-\\u1FDB\\u1FDD-\\u1FEF\\u1FF2-"
+            + "\\u1FF4\\u1FF6-\\u1FFE\\u2000-\\u200A\\u2011\\u2017\\u2024-"
+            + "\\u2026\\u202F\\u2033-\\u2034\\u2036-\\u2037\\u203C\\u203E"
+            + "\\u2047-\\u2049\\u2057\\u205F\\u2070-\\u2071\\u2074-\\u208E"
+            + "\\u20A8\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20EA\\u2100-\\u2103"
+            + "\\u2105-\\u2107\\u2109-\\u2113\\u2115-\\u2116\\u2119-\\u211D"
+            + "\\u2120-\\u2122\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-"
+            + "\\u2131\\u2133-\\u2139\\u213D-\\u2140\\u2145-\\u2149\\u2153-"
+            + "\\u217F\\u219A-\\u219B\\u21AE\\u21CD-\\u21CF\\u2204\\u2209"
+            + "\\u220C\\u2224\\u2226\\u222C-\\u222D\\u222F-\\u2230\\u2241"
+            + "\\u2244\\u2247\\u2249\\u2260\\u2262\\u226D-\\u2271\\u2274-"
+            + "\\u2275\\u2278-\\u2279\\u2280-\\u2281\\u2284-\\u2285\\u2288-"
+            + "\\u2289\\u22AC-\\u22AF\\u22E0-\\u22E3\\u22EA-\\u22ED\\u2329-"
+            + "\\u232A\\u2460-\\u24EA\\u2A0C\\u2A74-\\u2A76\\u2ADC\\u2E9F"
+            + "\\u2EF3\\u2F00-\\u2FD5\\u3000\\u302A-\\u302F\\u3036\\u3038-"
+            + "\\u303A\\u304C\\u304E\\u3050\\u3052\\u3054\\u3056\\u3058\\u305A"
+            + "\\u305C\\u305E\\u3060\\u3062\\u3065\\u3067\\u3069\\u3070-\\u3071"
+            + "\\u3073-\\u3074\\u3076-\\u3077\\u3079-\\u307A\\u307C-\\u307D"
+            + "\\u3094\\u3099-\\u309C\\u309E-\\u309F\\u30AC\\u30AE\\u30B0"
+            + "\\u30B2\\u30B4\\u30B6\\u30B8\\u30BA\\u30BC\\u30BE\\u30C0\\u30C2"
+            + "\\u30C5\\u30C7\\u30C9\\u30D0-\\u30D1\\u30D3-\\u30D4\\u30D6-"
+            + "\\u30D7\\u30D9-\\u30DA\\u30DC-\\u30DD\\u30F4\\u30F7-\\u30FA"
+            + "\\u30FE-\\u30FF\\u3131-\\u318E\\u3192-\\u319F\\u3200-\\u321C"
+            + "\\u3220-\\u3243\\u3251-\\u327B\\u3280-\\u32CB\\u32D0-\\u32FE"
+            + "\\u3300-\\u3376\\u337B-\\u33DD\\u33E0-\\u33FE\\uAC00-\\uD7A3"
+            + "\\uF900-\\uFA0D\\uFA10\\uFA12\\uFA15-\\uFA1E\\uFA20\\uFA22"
+            + "\\uFA25-\\uFA26\\uFA2A-\\uFA2D\\uFA30-\\uFA6A\\uFB00-\\uFB06"
+            + "\\uFB13-\\uFB17\\uFB1D-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40-"
+            + "\\uFB41\\uFB43-\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-"
+            + "\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFC\\uFE20-\\uFE23\\uFE30-"
+            + "\\uFE44\\uFE49-\\uFE52\\uFE54-\\uFE66\\uFE68-\\uFE6B\\uFE70-"
+            + "\\uFE72\\uFE74\\uFE76-\\uFEFC\\uFF01-\\uFFBE\\uFFC2-\\uFFC7"
+            + "\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC\\uFFE0-\\uFFE6"
+            + "\\uFFE8-\\uFFEE\\U0001D15E-\\U0001D169\\U0001D16D-\\U0001D172"
+            + "\\U0001D17B-\\U0001D182\\U0001D185-\\U0001D18B\\U0001D1AA-"
+            + "\\U0001D1AD\\U0001D1BB-\\U0001D1C0\\U0001D400-\\U0001D454\\U0001"
+            + "D456-\\U0001D49C\\U0001D49E-\\U0001D49F\\U0001D4A2\\U0001D4A5-"
+            + "\\U0001D4A6\\U0001D4A9-\\U0001D4AC\\U0001D4AE-\\U0001D4B9\\U0001"
+            + "D4BB\\U0001D4BD-\\U0001D4C0\\U0001D4C2-\\U0001D4C3\\U0001D4C5-"
+            + "\\U0001D505\\U0001D507-\\U0001D50A\\U0001D50D-\\U0001D514\\U0001"
+            + "D516-\\U0001D51C\\U0001D51E-\\U0001D539\\U0001D53B-\\U0001D53E"
+            + "\\U0001D540-\\U0001D544\\U0001D546\\U0001D54A-\\U0001D550\\U0001"
+            + "D552-\\U0001D6A3\\U0001D6A8-\\U0001D7C9\\U0001D7CE-\\U0001D7FF"
+            + "\\U0002F800-\\U0002FA1D]", false);
+          break;
+        case KC:
+          UNSAFE_STARTS[KC] = new UnicodeSet("[\u09BE\u09D7\u0B3E\u0B56-\u0B57\u0BBE\u0BD7\u0CC2\u0CD5-\u0CD6"
+            + "\u0D3E\u0D57\u0DCF\u0DDF\u0F73\u0F75\u0F81\u102E\u1161-\u1175\u11A8-\u11C2\u3133\u3135-\u3136"
+            + "\u313A-\u313F\u314F-\u3163\uFF9E-\uFF9F\uFFA3\uFFA5-\uFFA6\uFFAA-\uFFAF\uFFC2-\uFFC7\uFFCA-\uFFCF"
+            + "\uFFD2-\uFFD7\uFFDA-\uFFDC]", false);
+          SKIPPABLES[KC] = new UnicodeSet(
+            "[^<->A-PR-Za-pr-z\\u00A0\\u00A8\\u00AA\\u00AF\\u00B2-\\u00B5"
+            + "\\u00B8-\\u00BA\\u00BC-\\u00BE\\u00C0-\\u00CF\\u00D1-\\u00D6"
+            + "\\u00D8-\\u00DD\\u00E0-\\u00EF\\u00F1-\\u00F6\\u00F8-\\u00FD"
+            + "\\u00FF-\\u0103\\u0106-\\u010F\\u0112-\\u0117\\u011A-\\u0121"
+            + "\\u0124-\\u0125\\u0128-\\u012D\\u0130\\u0132-\\u0133\\u0139-"
+            + "\\u013A\\u013D-\\u0140\\u0143-\\u0144\\u0147-\\u0149\\u014C-"
+            + "\\u0151\\u0154-\\u0155\\u0158-\\u015D\\u0160-\\u0161\\u0164-"
+            + "\\u0165\\u0168-\\u0171\\u0174-\\u017F\\u01A0-\\u01A1\\u01AF-"
+            + "\\u01B0\\u01B7\\u01C4-\\u01DC\\u01DE-\\u01E1\\u01E6-\\u01EB"
+            + "\\u01F1-\\u01F5\\u01F8-\\u01FB\\u0200-\\u021B\\u021E-\\u021F"
+            + "\\u0226-\\u0233\\u0292\\u02B0-\\u02B8\\u02D8-\\u02DD\\u02E0-"
+            + "\\u02E4\\u0300-\\u034E\\u0360-\\u036F\\u0374\\u037A\\u037E"
+            + "\\u0384-\\u0385\\u0387\\u0391\\u0395\\u0397\\u0399\\u039F\\u03A1"
+            + "\\u03A5\\u03A9\\u03AC\\u03AE\\u03B1\\u03B5\\u03B7\\u03B9\\u03BF"
+            + "\\u03C1\\u03C5\\u03C9-\\u03CB\\u03CE\\u03D0-\\u03D6\\u03F0-"
+            + "\\u03F2\\u03F4-\\u03F5\\u0406\\u0410\\u0413\\u0415-\\u0418"
+            + "\\u041A\\u041E\\u0423\\u0427\\u042B\\u042D\\u0430\\u0433\\u0435-"
+            + "\\u0438\\u043A\\u043E\\u0443\\u0447\\u044B\\u044D\\u0456\\u0474-"
+            + "\\u0475\\u0483-\\u0486\\u04D8-\\u04D9\\u04E8-\\u04E9\\u0587"
+            + "\\u0591-\\u05A1\\u05A3-\\u05B9\\u05BB-\\u05BD\\u05BF\\u05C1-"
+            + "\\u05C2\\u05C4\\u0622-\\u0623\\u0627\\u0648\\u064A-\\u0655"
+            + "\\u0670\\u0675-\\u0678\\u06C1\\u06D2\\u06D5-\\u06DC\\u06DF-"
+            + "\\u06E4\\u06E7-\\u06E8\\u06EA-\\u06ED\\u0711\\u0730-\\u074A"
+            + "\\u0928\\u0930\\u0933\\u093C\\u094D\\u0951-\\u0954\\u0958-"
+            + "\\u095F\\u09BC\\u09BE\\u09C7\\u09CD\\u09D7\\u09DC-\\u09DD\\u09DF"
+            + "\\u0A33\\u0A36\\u0A3C\\u0A4D\\u0A59-\\u0A5B\\u0A5E\\u0ABC\\u0ACD"
+            + "\\u0B3C\\u0B3E\\u0B47\\u0B4D\\u0B56-\\u0B57\\u0B5C-\\u0B5D"
+            + "\\u0B92\\u0BBE\\u0BC6-\\u0BC7\\u0BCD\\u0BD7\\u0C46\\u0C4D\\u0C55"
+            + "-\\u0C56\\u0CBF\\u0CC2\\u0CC6\\u0CCA\\u0CCD\\u0CD5-\\u0CD6"
+            + "\\u0D3E\\u0D46-\\u0D47\\u0D4D\\u0D57\\u0DCA\\u0DCF\\u0DD9\\u0DDC"
+            + "\\u0DDF\\u0E33\\u0E38-\\u0E3A\\u0E48-\\u0E4B\\u0EB3\\u0EB8-"
+            + "\\u0EB9\\u0EC8-\\u0ECB\\u0EDC-\\u0EDD\\u0F0C\\u0F18-\\u0F19"
+            + "\\u0F35\\u0F37\\u0F39\\u0F43\\u0F4D\\u0F52\\u0F57\\u0F5C\\u0F69"
+            + "\\u0F71-\\u0F7D\\u0F80-\\u0F84\\u0F86-\\u0F87\\u0F93\\u0F9D"
+            + "\\u0FA2\\u0FA7\\u0FAC\\u0FB9\\u0FC6\\u1025\\u102E\\u1037\\u1039"
+            + "\\u1100-\\u1112\\u1161-\\u1175\\u11A8-\\u11C2\\u1714\\u1734"
+            + "\\u17D2\\u18A9\\u1E00-\\u1E03\\u1E0A-\\u1E0F\\u1E12-\\u1E1B"
+            + "\\u1E20-\\u1E27\\u1E2A-\\u1E41\\u1E44-\\u1E53\\u1E58-\\u1E7D"
+            + "\\u1E80-\\u1E87\\u1E8E-\\u1E91\\u1E96-\\u1E9B\\u1EA0-\\u1EF3"
+            + "\\u1EF6-\\u1EF9\\u1F00-\\u1F11\\u1F18-\\u1F19\\u1F20-\\u1F31"
+            + "\\u1F38-\\u1F39\\u1F40-\\u1F41\\u1F48-\\u1F49\\u1F50-\\u1F51"
+            + "\\u1F59\\u1F60-\\u1F71\\u1F73-\\u1F75\\u1F77\\u1F79\\u1F7B-"
+            + "\\u1F7D\\u1F80-\\u1F81\\u1F88-\\u1F89\\u1F90-\\u1F91\\u1F98-"
+            + "\\u1F99\\u1FA0-\\u1FA1\\u1FA8-\\u1FA9\\u1FB3\\u1FB6\\u1FBB-"
+            + "\\u1FC1\\u1FC3\\u1FC6\\u1FC9\\u1FCB-\\u1FCF\\u1FD3\\u1FDB\\u1FDD"
+            + "-\\u1FDF\\u1FE3\\u1FEB\\u1FED-\\u1FEF\\u1FF3\\u1FF6\\u1FF9"
+            + "\\u1FFB-\\u1FFE\\u2000-\\u200A\\u2011\\u2017\\u2024-\\u2026"
+            + "\\u202F\\u2033-\\u2034\\u2036-\\u2037\\u203C\\u203E\\u2047-"
+            + "\\u2049\\u2057\\u205F\\u2070-\\u2071\\u2074-\\u208E\\u20A8"
+            + "\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20EA\\u2100-\\u2103\\u2105-"
+            + "\\u2107\\u2109-\\u2113\\u2115-\\u2116\\u2119-\\u211D\\u2120-"
+            + "\\u2122\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2131"
+            + "\\u2133-\\u2139\\u213D-\\u2140\\u2145-\\u2149\\u2153-\\u217F"
+            + "\\u2190\\u2192\\u2194\\u21D0\\u21D2\\u21D4\\u2203\\u2208\\u220B"
+            + "\\u2223\\u2225\\u222C-\\u222D\\u222F-\\u2230\\u223C\\u2243"
+            + "\\u2245\\u2248\\u224D\\u2261\\u2264-\\u2265\\u2272-\\u2273"
+            + "\\u2276-\\u2277\\u227A-\\u227D\\u2282-\\u2283\\u2286-\\u2287"
+            + "\\u2291-\\u2292\\u22A2\\u22A8-\\u22A9\\u22AB\\u22B2-\\u22B5"
+            + "\\u2329-\\u232A\\u2460-\\u24EA\\u2A0C\\u2A74-\\u2A76\\u2ADC"
+            + "\\u2E9F\\u2EF3\\u2F00-\\u2FD5\\u3000\\u302A-\\u302F\\u3036"
+            + "\\u3038-\\u303A\\u3046\\u304B\\u304D\\u304F\\u3051\\u3053\\u3055"
+            + "\\u3057\\u3059\\u305B\\u305D\\u305F\\u3061\\u3064\\u3066\\u3068"
+            + "\\u306F\\u3072\\u3075\\u3078\\u307B\\u3099-\\u309D\\u309F\\u30A6"
+            + "\\u30AB\\u30AD\\u30AF\\u30B1\\u30B3\\u30B5\\u30B7\\u30B9\\u30BB"
+            + "\\u30BD\\u30BF\\u30C1\\u30C4\\u30C6\\u30C8\\u30CF\\u30D2\\u30D5"
+            + "\\u30D8\\u30DB\\u30EF-\\u30F2\\u30FD\\u30FF\\u3131-\\u318E"
+            + "\\u3192-\\u319F\\u3200-\\u321C\\u3220-\\u3243\\u3251-\\u327B"
+            + "\\u3280-\\u32CB\\u32D0-\\u32FE\\u3300-\\u3376\\u337B-\\u33DD"
+            + "\\u33E0-\\u33FE\\uAC00\\uAC1C\\uAC38\\uAC54\\uAC70\\uAC8C\\uACA8"
+            + "\\uACC4\\uACE0\\uACFC\\uAD18\\uAD34\\uAD50\\uAD6C\\uAD88\\uADA4"
+            + "\\uADC0\\uADDC\\uADF8\\uAE14\\uAE30\\uAE4C\\uAE68\\uAE84\\uAEA0"
+            + "\\uAEBC\\uAED8\\uAEF4\\uAF10\\uAF2C\\uAF48\\uAF64\\uAF80\\uAF9C"
+            + "\\uAFB8\\uAFD4\\uAFF0\\uB00C\\uB028\\uB044\\uB060\\uB07C\\uB098"
+            + "\\uB0B4\\uB0D0\\uB0EC\\uB108\\uB124\\uB140\\uB15C\\uB178\\uB194"
+            + "\\uB1B0\\uB1CC\\uB1E8\\uB204\\uB220\\uB23C\\uB258\\uB274\\uB290"
+            + "\\uB2AC\\uB2C8\\uB2E4\\uB300\\uB31C\\uB338\\uB354\\uB370\\uB38C"
+            + "\\uB3A8\\uB3C4\\uB3E0\\uB3FC\\uB418\\uB434\\uB450\\uB46C\\uB488"
+            + "\\uB4A4\\uB4C0\\uB4DC\\uB4F8\\uB514\\uB530\\uB54C\\uB568\\uB584"
+            + "\\uB5A0\\uB5BC\\uB5D8\\uB5F4\\uB610\\uB62C\\uB648\\uB664\\uB680"
+            + "\\uB69C\\uB6B8\\uB6D4\\uB6F0\\uB70C\\uB728\\uB744\\uB760\\uB77C"
+            + "\\uB798\\uB7B4\\uB7D0\\uB7EC\\uB808\\uB824\\uB840\\uB85C\\uB878"
+            + "\\uB894\\uB8B0\\uB8CC\\uB8E8\\uB904\\uB920\\uB93C\\uB958\\uB974"
+            + "\\uB990\\uB9AC\\uB9C8\\uB9E4\\uBA00\\uBA1C\\uBA38\\uBA54\\uBA70"
+            + "\\uBA8C\\uBAA8\\uBAC4\\uBAE0\\uBAFC\\uBB18\\uBB34\\uBB50\\uBB6C"
+            + "\\uBB88\\uBBA4\\uBBC0\\uBBDC\\uBBF8\\uBC14\\uBC30\\uBC4C\\uBC68"
+            + "\\uBC84\\uBCA0\\uBCBC\\uBCD8\\uBCF4\\uBD10\\uBD2C\\uBD48\\uBD64"
+            + "\\uBD80\\uBD9C\\uBDB8\\uBDD4\\uBDF0\\uBE0C\\uBE28\\uBE44\\uBE60"
+            + "\\uBE7C\\uBE98\\uBEB4\\uBED0\\uBEEC\\uBF08\\uBF24\\uBF40\\uBF5C"
+            + "\\uBF78\\uBF94\\uBFB0\\uBFCC\\uBFE8\\uC004\\uC020\\uC03C\\uC058"
+            + "\\uC074\\uC090\\uC0AC\\uC0C8\\uC0E4\\uC100\\uC11C\\uC138\\uC154"
+            + "\\uC170\\uC18C\\uC1A8\\uC1C4\\uC1E0\\uC1FC\\uC218\\uC234\\uC250"
+            + "\\uC26C\\uC288\\uC2A4\\uC2C0\\uC2DC\\uC2F8\\uC314\\uC330\\uC34C"
+            + "\\uC368\\uC384\\uC3A0\\uC3BC\\uC3D8\\uC3F4\\uC410\\uC42C\\uC448"
+            + "\\uC464\\uC480\\uC49C\\uC4B8\\uC4D4\\uC4F0\\uC50C\\uC528\\uC544"
+            + "\\uC560\\uC57C\\uC598\\uC5B4\\uC5D0\\uC5EC\\uC608\\uC624\\uC640"
+            + "\\uC65C\\uC678\\uC694\\uC6B0\\uC6CC\\uC6E8\\uC704\\uC720\\uC73C"
+            + "\\uC758\\uC774\\uC790\\uC7AC\\uC7C8\\uC7E4\\uC800\\uC81C\\uC838"
+            + "\\uC854\\uC870\\uC88C\\uC8A8\\uC8C4\\uC8E0\\uC8FC\\uC918\\uC934"
+            + "\\uC950\\uC96C\\uC988\\uC9A4\\uC9C0\\uC9DC\\uC9F8\\uCA14\\uCA30"
+            + "\\uCA4C\\uCA68\\uCA84\\uCAA0\\uCABC\\uCAD8\\uCAF4\\uCB10\\uCB2C"
+            + "\\uCB48\\uCB64\\uCB80\\uCB9C\\uCBB8\\uCBD4\\uCBF0\\uCC0C\\uCC28"
+            + "\\uCC44\\uCC60\\uCC7C\\uCC98\\uCCB4\\uCCD0\\uCCEC\\uCD08\\uCD24"
+            + "\\uCD40\\uCD5C\\uCD78\\uCD94\\uCDB0\\uCDCC\\uCDE8\\uCE04\\uCE20"
+            + "\\uCE3C\\uCE58\\uCE74\\uCE90\\uCEAC\\uCEC8\\uCEE4\\uCF00\\uCF1C"
+            + "\\uCF38\\uCF54\\uCF70\\uCF8C\\uCFA8\\uCFC4\\uCFE0\\uCFFC\\uD018"
+            + "\\uD034\\uD050\\uD06C\\uD088\\uD0A4\\uD0C0\\uD0DC\\uD0F8\\uD114"
+            + "\\uD130\\uD14C\\uD168\\uD184\\uD1A0\\uD1BC\\uD1D8\\uD1F4\\uD210"
+            + "\\uD22C\\uD248\\uD264\\uD280\\uD29C\\uD2B8\\uD2D4\\uD2F0\\uD30C"
+            + "\\uD328\\uD344\\uD360\\uD37C\\uD398\\uD3B4\\uD3D0\\uD3EC\\uD408"
+            + "\\uD424\\uD440\\uD45C\\uD478\\uD494\\uD4B0\\uD4CC\\uD4E8\\uD504"
+            + "\\uD520\\uD53C\\uD558\\uD574\\uD590\\uD5AC\\uD5C8\\uD5E4\\uD600"
+            + "\\uD61C\\uD638\\uD654\\uD670\\uD68C\\uD6A8\\uD6C4\\uD6E0\\uD6FC"
+            + "\\uD718\\uD734\\uD750\\uD76C\\uD788\\uF900-\\uFA0D\\uFA10\\uFA12"
+            + "\\uFA15-\\uFA1E\\uFA20\\uFA22\\uFA25-\\uFA26\\uFA2A-\\uFA2D"
+            + "\\uFA30-\\uFA6A\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D-\\uFB36"
+            + "\\uFB38-\\uFB3C\\uFB3E\\uFB40-\\uFB41\\uFB43-\\uFB44\\uFB46-"
+            + "\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-"
+            + "\\uFDFC\\uFE20-\\uFE23\\uFE30-\\uFE44\\uFE49-\\uFE52\\uFE54-"
+            + "\\uFE66\\uFE68-\\uFE6B\\uFE70-\\uFE72\\uFE74\\uFE76-\\uFEFC"
+            + "\\uFF01-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7"
+            + "\\uFFDA-\\uFFDC\\uFFE0-\\uFFE6\\uFFE8-\\uFFEE\\U0001D15E-\\U0001"
+            + "D169\\U0001D16D-\\U0001D172\\U0001D17B-\\U0001D182\\U0001D185-"
+            + "\\U0001D18B\\U0001D1AA-\\U0001D1AD\\U0001D1BB-\\U0001D1C0\\U0001"
+            + "D400-\\U0001D454\\U0001D456-\\U0001D49C\\U0001D49E-\\U0001D49F"
+            + "\\U0001D4A2\\U0001D4A5-\\U0001D4A6\\U0001D4A9-\\U0001D4AC\\U0001"
+            + "D4AE-\\U0001D4B9\\U0001D4BB\\U0001D4BD-\\U0001D4C0\\U0001D4C2-"
+            + "\\U0001D4C3\\U0001D4C5-\\U0001D505\\U0001D507-\\U0001D50A\\U0001"
+            + "D50D-\\U0001D514\\U0001D516-\\U0001D51C\\U0001D51E-\\U0001D539"
+            + "\\U0001D53B-\\U0001D53E\\U0001D540-\\U0001D544\\U0001D546\\U0001"
+            + "D54A-\\U0001D550\\U0001D552-\\U0001D6A3\\U0001D6A8-\\U0001D7C9"
+            + "\\U0001D7CE-\\U0001D7FF\\U0002F800-\\U0002FA1D]", false);
+          break;
+        }
+    }    
+}
diff --git a/src/com/ibm/icu/text/Normalizer.java b/src/com/ibm/icu/text/Normalizer.java
new file mode 100755
index 0000000..59d00f2
--- /dev/null
+++ b/src/com/ibm/icu/text/Normalizer.java
@@ -0,0 +1,2817 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2000-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.text;
+import com.ibm.icu.impl.NormalizerImpl;
+import com.ibm.icu.impl.UCharacterProperty;
+import com.ibm.icu.lang.UCharacter;
+import com.ibm.icu.util.VersionInfo;
+
+import java.text.CharacterIterator;
+import com.ibm.icu.impl.Utility;
+
+/**
+ * Unicode Normalization 
+ *
+ * <h2>Unicode normalization API</h2>
+ *
+ * <code>normalize</code> transforms Unicode text into an equivalent composed or
+ * decomposed form, allowing for easier sorting and searching of text.
+ * <code>normalize</code> supports the standard normalization forms described in
+ * <a href="http://www.unicode.org/unicode/reports/tr15/" target="unicode">
+ * Unicode Standard Annex #15 &mdash; Unicode Normalization Forms</a>.
+ *
+ * Characters with accents or other adornments can be encoded in
+ * several different ways in Unicode.  For example, take the character A-acute.
+ * In Unicode, this can be encoded as a single character (the
+ * "composed" form):
+ *
+ * <p>
+ *      00C1    LATIN CAPITAL LETTER A WITH ACUTE
+ * </p>
+ *
+ * or as two separate characters (the "decomposed" form):
+ *
+ * <p>
+ *      0041    LATIN CAPITAL LETTER A
+ *      0301    COMBINING ACUTE ACCENT
+ * </p>
+ *
+ * To a user of your program, however, both of these sequences should be
+ * treated as the same "user-level" character "A with acute accent".  When you 
+ * are searching or comparing text, you must ensure that these two sequences are 
+ * treated equivalently.  In addition, you must handle characters with more than
+ * one accent.  Sometimes the order of a character's combining accents is
+ * significant, while in other cases accent sequences in different orders are
+ * really equivalent.
+ *
+ * Similarly, the string "ffi" can be encoded as three separate letters:
+ *
+ * <p>
+ *      0066    LATIN SMALL LETTER F
+ *      0066    LATIN SMALL LETTER F
+ *      0069    LATIN SMALL LETTER I
+ * <\p>
+ *
+ * or as the single character
+ *
+ * <p>
+ *      FB03    LATIN SMALL LIGATURE FFI
+ * <\p>
+ *
+ * The ffi ligature is not a distinct semantic character, and strictly speaking
+ * it shouldn't be in Unicode at all, but it was included for compatibility
+ * with existing character sets that already provided it.  The Unicode standard
+ * identifies such characters by giving them "compatibility" decompositions
+ * into the corresponding semantic characters.  When sorting and searching, you
+ * will often want to use these mappings.
+ *
+ * <code>normalize</code> helps solve these problems by transforming text into 
+ * the canonical composed and decomposed forms as shown in the first example 
+ * above. In addition, you can have it perform compatibility decompositions so 
+ * that you can treat compatibility characters the same as their equivalents.
+ * Finally, <code>normalize</code> rearranges accents into the proper canonical
+ * order, so that you do not have to worry about accent rearrangement on your
+ * own.
+ *
+ * Form FCD, "Fast C or D", is also designed for collation.
+ * It allows to work on strings that are not necessarily normalized
+ * with an algorithm (like in collation) that works under "canonical closure", 
+ * i.e., it treats precomposed characters and their decomposed equivalents the 
+ * same.
+ *
+ * It is not a normalization form because it does not provide for uniqueness of 
+ * representation. Multiple strings may be canonically equivalent (their NFDs 
+ * are identical) and may all conform to FCD without being identical themselves.
+ *
+ * The form is defined such that the "raw decomposition", the recursive 
+ * canonical decomposition of each character, results in a string that is 
+ * canonically ordered. This means that precomposed characters are allowed for 
+ * as long as their decompositions do not need canonical reordering.
+ *
+ * Its advantage for a process like collation is that all NFD and most NFC texts
+ * - and many unnormalized texts - already conform to FCD and do not need to be 
+ * normalized (NFD) for such a process. The FCD quick check will return YES for 
+ * most strings in practice.
+ *
+ * normalize(FCD) may be implemented with NFD.
+ *
+ * For more details on FCD see the collation design document:
+ * http://oss.software.ibm.com/cvs/icu/~checkout~/icuhtml/design/collation/ICU_collation_design.htm
+ *
+ * ICU collation performs either NFD or FCD normalization automatically if 
+ * normalization is turned on for the collator object. Beyond collation and 
+ * string search, normalized strings may be useful for string equivalence 
+ * comparisons, transliteration/transcription, unique representations, etc.
+ *
+ * The W3C generally recommends to exchange texts in NFC.
+ * Note also that most legacy character encodings use only precomposed forms and
+ * often do not encode any combining marks by themselves. For conversion to such
+ * character encodings the Unicode text needs to be normalized to NFC.
+ * For more usage examples, see the Unicode Standard Annex.
+ * @stable ICU 2.8
+ */
+
+public final class Normalizer implements Cloneable {
+    
+    //-------------------------------------------------------------------------
+    // Private data
+    //-------------------------------------------------------------------------  
+    private char[] buffer = new char[100];
+    private int bufferStart = 0;
+    private int bufferPos   = 0;
+    private int bufferLimit = 0;
+    
+    // This tells us what the bits in the "mode" object mean.
+    private static final int COMPAT_BIT = 1;
+    private static final int DECOMP_BIT = 2;
+    private static final int COMPOSE_BIT = 4;
+    
+    // The input text and our position in it
+    private UCharacterIterator  text;
+    private Mode                mode = NFC;
+    private int                 options = 0;
+    private int                 currentIndex;
+    private int                 nextIndex;
+    
+    /**
+     * Options bit set value to select Unicode 3.2 normalization
+     * (except NormalizationCorrections).
+     * At most one Unicode version can be selected at a time.
+     * @stable ICU 2.6
+     */
+    public static final int UNICODE_3_2=0x20;
+
+    /**
+     * Constant indicating that the end of the iteration has been reached.
+     * This is guaranteed to have the same value as {@link UCharacterIterator#DONE}.
+     * @stable ICU 2.8
+     */
+    public static final int DONE = UCharacterIterator.DONE;
+
+    /**
+     * Constants for normalization modes.
+     * @stable ICU 2.8
+     */
+    public static class Mode {
+        private int modeValue;
+        private Mode(int value) {
+            modeValue = value;
+        }
+
+        /**
+         * This method is used for method dispatch
+         * @stable ICU 2.6
+         */
+        protected int normalize(char[] src, int srcStart, int srcLimit,
+                                char[] dest,int destStart,int destLimit, 
+                                UnicodeSet nx) {
+            int srcLen = (srcLimit - srcStart);
+            int destLen = (destLimit - destStart);
+            if( srcLen > destLen ) {
+                return srcLen;
+            }
+            System.arraycopy(src,srcStart,dest,destStart,srcLen);
+            return srcLen;
+        }
+
+        /**
+         * This method is used for method dispatch
+         * @stable ICU 2.6
+         */
+        protected int normalize(char[] src, int srcStart, int srcLimit,
+                                char[] dest,int destStart,int destLimit,
+                                int options) {
+            return normalize(   src, srcStart, srcLimit,
+                                dest,destStart,destLimit,
+                                NormalizerImpl.getNX(options)
+                                );
+        }
+        
+        /**
+         * This method is used for method dispatch
+         * @stable ICU 2.6
+         */
+        protected String normalize(String src, int options) {
+            return src;
+        }
+
+        /**
+         * This method is used for method dispatch
+         * @stable ICU 2.8
+         */
+        protected int getMinC() {
+            return -1;
+        }
+
+        /**
+         * This method is used for method dispatch
+         * @stable ICU 2.8
+         */
+        protected int getMask() {
+            return -1;
+        }
+
+        /**
+         * This method is used for method dispatch
+         * @stable ICU 2.8
+         */
+        protected IsPrevBoundary getPrevBoundary() {
+            return null;
+        }
+
+        /**
+         * This method is used for method dispatch
+         * @stable ICU 2.8
+         */
+        protected IsNextBoundary getNextBoundary() {
+            return null;
+        }
+
+        /**
+         * This method is used for method dispatch
+         * @stable ICU 2.6
+         */
+        protected QuickCheckResult quickCheck(char[] src,int start, int limit, 
+                                              boolean allowMaybe,UnicodeSet nx) {
+            if(allowMaybe) {
+                return MAYBE;
+            }
+            return NO;
+        }
+
+        /**
+         * This method is used for method dispatch
+         * @stable ICU 2.8
+         */
+        protected boolean isNFSkippable(int c) {
+            return true;
+        }
+    }
+    
+    /** 
+     * No decomposition/composition.  
+     * @stable ICU 2.8
+     */
+    public static final Mode NONE = new Mode(1);
+
+    /** 
+     * Canonical decomposition.  
+     * @stable ICU 2.8
+     */
+    public static final Mode NFD = new NFDMode(2);
+    
+    private static final class NFDMode extends Mode {
+        private NFDMode(int value) {
+            super(value);
+        }
+
+        protected int normalize(char[] src, int srcStart, int srcLimit,
+                                char[] dest,int destStart,int destLimit, 
+                                UnicodeSet nx) {
+            int[] trailCC = new int[1];
+            return NormalizerImpl.decompose(src,  srcStart,srcLimit,
+                                            dest, destStart,destLimit,
+                                            false, trailCC,nx);
+        }
+        
+        protected String normalize( String src, int options) {
+            return decompose(src,false);
+        }
+
+        protected int getMinC() {
+            return NormalizerImpl.MIN_WITH_LEAD_CC;
+        }
+
+        protected IsPrevBoundary getPrevBoundary() {
+            return new IsPrevNFDSafe();
+        }
+
+        protected IsNextBoundary getNextBoundary() {
+            return new IsNextNFDSafe();
+        }
+
+        protected int getMask() {
+            return (NormalizerImpl.CC_MASK|NormalizerImpl.QC_NFD);
+        }
+
+        protected QuickCheckResult quickCheck(char[] src,int start, 
+                                              int limit,boolean allowMaybe,
+                                              UnicodeSet nx) {
+            return NormalizerImpl.quickCheck(
+                                             src, start,limit,
+                                             NormalizerImpl.getFromIndexesArr(
+                                                                              NormalizerImpl.INDEX_MIN_NFD_NO_MAYBE
+                                                                              ),
+                                             NormalizerImpl.QC_NFD,
+                                             0,
+                                             allowMaybe,
+                                             nx
+                                             );
+        }
+
+        protected boolean isNFSkippable(int c) {
+            return NormalizerImpl.isNFSkippable(c,this,
+                                                (NormalizerImpl.CC_MASK|NormalizerImpl.QC_NFD)
+                                                );
+        }           
+    }
+                                         
+    /** 
+     * Compatibility decomposition.  
+     * @stable ICU 2.8
+     */
+    public static final Mode NFKD = new NFKDMode(3);
+    
+    private static final class NFKDMode extends Mode {
+        private NFKDMode(int value) {
+            super(value);
+        }
+
+        protected int normalize(char[] src, int srcStart, int srcLimit,
+                                char[] dest,int destStart,int destLimit, 
+                                UnicodeSet nx) {
+            int[] trailCC = new int[1];
+            return NormalizerImpl.decompose(src,  srcStart,srcLimit,
+                                            dest, destStart,destLimit,
+                                            true, trailCC, nx);
+        }
+
+        protected String normalize( String src, int options) {
+            return decompose(src,true);
+        }
+
+        protected int getMinC() {
+            return NormalizerImpl.MIN_WITH_LEAD_CC;
+        }
+
+        protected IsPrevBoundary getPrevBoundary() {
+            return new IsPrevNFDSafe();
+        }
+
+        protected IsNextBoundary getNextBoundary() {
+            return new IsNextNFDSafe();
+        }
+
+        protected int getMask() {
+            return (NormalizerImpl.CC_MASK|NormalizerImpl.QC_NFKD);
+        }
+
+        protected QuickCheckResult quickCheck(char[] src,int start, 
+                                              int limit,boolean allowMaybe,
+                                              UnicodeSet nx) {
+            return NormalizerImpl.quickCheck(
+                                             src,start,limit,
+                                             NormalizerImpl.getFromIndexesArr(
+                                                                              NormalizerImpl.INDEX_MIN_NFKD_NO_MAYBE
+                                                                              ),
+                                             NormalizerImpl.QC_NFKD,
+                                             NormalizerImpl.OPTIONS_COMPAT,
+                                             allowMaybe,
+                                             nx
+                                             );
+        }
+
+        protected boolean isNFSkippable(int c) {
+            return NormalizerImpl.isNFSkippable(c, this,
+                                                (NormalizerImpl.CC_MASK|NormalizerImpl.QC_NFKD)
+                                                );
+        }                                         
+    }
+                                         
+    /** 
+     * Canonical decomposition followed by canonical composition.  
+     * @stable ICU 2.8
+     */
+    public static final Mode NFC = new NFCMode(4);
+    
+    private static final class NFCMode extends Mode{
+        private NFCMode(int value) {
+            super(value);
+        }
+        protected int normalize(char[] src, int srcStart, int srcLimit,
+                                char[] dest,int destStart,int destLimit,
+                                UnicodeSet nx) {
+            return NormalizerImpl.compose( src, srcStart, srcLimit,
+                                           dest,destStart,destLimit,
+                                           0, nx);
+        }
+  
+        protected String normalize( String src, int options) {
+            return compose(src, false, options);
+        }
+       
+        protected int getMinC() {
+            return NormalizerImpl.getFromIndexesArr(
+                                                    NormalizerImpl.INDEX_MIN_NFC_NO_MAYBE
+                                                    );
+        }
+        protected IsPrevBoundary getPrevBoundary() {
+            return new IsPrevTrueStarter();
+        }
+        protected IsNextBoundary getNextBoundary() {
+            return new IsNextTrueStarter();
+        }
+        protected int getMask() {
+            return (NormalizerImpl.CC_MASK|NormalizerImpl.QC_NFC);
+        }
+        protected QuickCheckResult quickCheck(char[] src,int start, 
+                                              int limit,boolean allowMaybe,
+                                              UnicodeSet nx) {
+            return NormalizerImpl.quickCheck(
+                                             src,start,limit,
+                                             NormalizerImpl.getFromIndexesArr(
+                                                                              NormalizerImpl.INDEX_MIN_NFC_NO_MAYBE
+                                                                              ),
+                                             NormalizerImpl.QC_NFC,
+                                             0,
+                                             allowMaybe,
+                                             nx
+                                             );
+        }
+        protected boolean isNFSkippable(int c) {
+            return NormalizerImpl.isNFSkippable(c,this,
+                                                ( NormalizerImpl.CC_MASK|NormalizerImpl.COMBINES_ANY|
+                                                  (NormalizerImpl.QC_NFC & NormalizerImpl.QC_ANY_NO)
+                                                  )
+                                                );
+        } 
+    };
+                                         
+    /** 
+     * Default normalization.  
+     * @stable ICU 2.8
+     */
+    public static final Mode DEFAULT = NFC; 
+    
+    /** 
+     * Compatibility decomposition followed by canonical composition. 
+     * @stable ICU 2.8
+     */
+    public static final Mode NFKC =new NFKCMode(5);
+    
+    private static final class NFKCMode extends Mode{
+        private NFKCMode(int value) {
+            super(value);
+        }
+        protected int normalize(char[] src, int srcStart, int srcLimit,
+                                char[] dest,int destStart,int destLimit, 
+                                UnicodeSet nx) {
+            return NormalizerImpl.compose(src,  srcStart,srcLimit,
+                                          dest, destStart,destLimit,
+                                          NormalizerImpl.OPTIONS_COMPAT, nx);
+        }
+
+        protected String normalize( String src, int options) {
+            return compose(src, true, options);
+        }
+        protected int getMinC() {
+            return NormalizerImpl.getFromIndexesArr(
+                                                    NormalizerImpl.INDEX_MIN_NFKC_NO_MAYBE
+                                                    );
+        }
+        protected IsPrevBoundary getPrevBoundary() {
+            return new IsPrevTrueStarter();
+        }
+        protected IsNextBoundary getNextBoundary() {
+            return new IsNextTrueStarter();
+        }
+        protected int getMask() {
+            return (NormalizerImpl.CC_MASK|NormalizerImpl.QC_NFKC);
+        }
+        protected QuickCheckResult quickCheck(char[] src,int start, 
+                                              int limit,boolean allowMaybe,
+                                              UnicodeSet nx) {
+            return NormalizerImpl.quickCheck(
+                                             src,start,limit,
+                                             NormalizerImpl.getFromIndexesArr(
+                                                                              NormalizerImpl.INDEX_MIN_NFKC_NO_MAYBE
+                                                                              ),
+                                             NormalizerImpl.QC_NFKC,
+                                             NormalizerImpl.OPTIONS_COMPAT,
+                                             allowMaybe,
+                                             nx
+                                             );
+        }
+        protected boolean isNFSkippable(int c) {
+            return NormalizerImpl.isNFSkippable(c, this,
+                                                ( NormalizerImpl.CC_MASK|NormalizerImpl.COMBINES_ANY|
+                                                  (NormalizerImpl.QC_NFKC & NormalizerImpl.QC_ANY_NO)
+                                                  )
+                                                );
+        } 
+    };
+                                        
+    /** 
+     * "Fast C or D" form. 
+     * @stable ICU 2.8 
+     */
+    public static final Mode FCD = new FCDMode(6);
+    
+    private static final class FCDMode extends Mode{
+        private FCDMode(int value) {
+            super(value);
+        }
+        protected int normalize(char[] src, int srcStart, int srcLimit,
+                                char[] dest,int destStart,int destLimit, 
+                                UnicodeSet nx) {
+            return NormalizerImpl.makeFCD(src, srcStart,srcLimit,
+                                          dest, destStart,destLimit, nx);
+        }
+        protected String normalize( String src, int options) {
+            return makeFCD(src, options);
+        }
+        protected int getMinC() {
+            return NormalizerImpl.MIN_WITH_LEAD_CC;
+        }
+        protected IsPrevBoundary getPrevBoundary() {
+            return new IsPrevNFDSafe();
+        }
+        protected IsNextBoundary getNextBoundary() {
+            return new IsNextNFDSafe();
+        }
+        protected int getMask() {
+            return NormalizerImpl.CC_MASK|NormalizerImpl.QC_NFD;
+        }
+        protected QuickCheckResult quickCheck(char[] src,int start, 
+                                              int limit,boolean allowMaybe,
+                                              UnicodeSet nx) {
+            return NormalizerImpl.checkFCD(src,start,limit,nx) ? YES : NO;
+        }
+        protected boolean isNFSkippable(int c) {
+            /* FCD: skippable if lead cc==0 and trail cc<=1 */
+            return (NormalizerImpl.getFCD16(c)>1);
+        }   
+    };
+
+    
+    /**
+     * Null operation for use with the {@link #Normalizer constructors}
+     * and the static {@link #normalize normalize} method.  This value tells
+     * the <tt>Normalizer</tt> to do nothing but return unprocessed characters
+     * from the underlying String or CharacterIterator.  If you have code which
+     * requires raw text at some times and normalized text at others, you can
+     * use <tt>NO_OP</tt> for the cases where you want raw text, rather
+     * than having a separate code path that bypasses <tt>Normalizer</tt>
+     * altogether.
+     * <p>
+     * @see #setMode
+     * @deprecated ICU 2.8. Use Nomalizer.NONE
+     * @see #NONE
+     */
+    public static final Mode NO_OP = NONE;
+
+    /**
+     * Canonical decomposition followed by canonical composition.  Used with the
+     * {@link #Normalizer constructors} and the static 
+     * {@link #normalize normalize} method to determine the operation to be 
+     * performed.
+     * <p>
+     * If all optional features (<i>e.g.</i> {@link #IGNORE_HANGUL}) are turned
+     * off, this operation produces output that is in
+     * <a href=http://www.unicode.org/unicode/reports/tr15/>Unicode Canonical 
+     * Form</a>
+     * <b>C</b>.
+     * <p>
+     * @see #setMode
+     * @deprecated ICU 2.8. Use Normalier.NFC
+     * @see #NFC
+     */
+    public static final Mode COMPOSE = NFC;
+
+    /**
+     * Compatibility decomposition followed by canonical composition.
+     * Used with the {@link #Normalizer constructors} and the static
+     * {@link #normalize normalize} method to determine the operation to be 
+     * performed.
+     * <p>
+     * If all optional features (<i>e.g.</i> {@link #IGNORE_HANGUL}) are turned
+     * off, this operation produces output that is in
+     * <a href=http://www.unicode.org/unicode/reports/tr15/>Unicode Canonical 
+     * Form</a>
+     * <b>KC</b>.
+     * <p>
+     * @see #setMode
+     * @deprecated ICU 2.8. Use Normalizer.NFKC
+     * @see #NFKC
+     */
+    public static final Mode COMPOSE_COMPAT = NFKC;
+
+    /**
+     * Canonical decomposition.  This value is passed to the
+     * {@link #Normalizer constructors} and the static
+     * {@link #normalize normalize}
+     * method to determine the operation to be performed.
+     * <p>
+     * If all optional features (<i>e.g.</i> {@link #IGNORE_HANGUL}) are turned
+     * off, this operation produces output that is in
+     * <a href=http://www.unicode.org/unicode/reports/tr15/>Unicode Canonical 
+     * Form</a>
+     * <b>D</b>.
+     * <p>
+     * @see #setMode
+     * @deprecated ICU 2.8. Use Normalizer.NFD
+     * @see #NFD
+     */
+    public static final Mode DECOMP = NFD;
+
+    /**
+     * Compatibility decomposition.  This value is passed to the
+     * {@link #Normalizer constructors} and the static 
+     * {@link #normalize normalize}
+     * method to determine the operation to be performed.
+     * <p>
+     * If all optional features (<i>e.g.</i> {@link #IGNORE_HANGUL}) are turned
+     * off, this operation produces output that is in
+     * <a href=http://www.unicode.org/unicode/reports/tr15/>Unicode Canonical 
+     * Form</a>
+     * <b>KD</b>.
+     * <p>
+     * @see #setMode
+     * @deprecated ICU 2.8. Use Normalizer.NFKD
+     * @see #NFKD
+     */
+    public static final Mode DECOMP_COMPAT = NFKD;
+
+    /**
+     * Option to disable Hangul/Jamo composition and decomposition.
+     * This option applies to Korean text,
+     * which can be represented either in the Jamo alphabet or in Hangul
+     * characters, which are really just two or three Jamo combined
+     * into one visual glyph.  Since Jamo takes up more storage space than
+     * Hangul, applications that process only Hangul text may wish to turn
+     * this option on when decomposing text.
+     * <p>
+     * The Unicode standard treates Hangul to Jamo conversion as a
+     * canonical decomposition, so this option must be turned <b>off</b> if you
+     * wish to transform strings into one of the standard
+     * <a href="http://www.unicode.org/unicode/reports/tr15/" target="unicode">
+     * Unicode Normalization Forms</a>.
+     * <p>
+     * @see #setOption
+     * @deprecated ICU 2.8. This option is no longer supported. TODO: check with Ram
+     */
+    public static final int IGNORE_HANGUL = 0x0001;
+          
+    /**
+     * Result values for quickCheck().
+     * For details see Unicode Technical Report 15.
+     * @stable ICU 2.8
+     */
+    public static final class QuickCheckResult{
+        private int resultValue;
+        private QuickCheckResult(int value) {
+            resultValue=value;
+        }
+    }
+    /** 
+     * Indicates that string is not in the normalized format
+     * @stable ICU 2.8
+     */
+    public static final QuickCheckResult NO = new QuickCheckResult(0);
+        
+    /** 
+     * Indicates that string is in the normalized format
+     * @stable ICU 2.8
+     */
+    public static final QuickCheckResult YES = new QuickCheckResult(1);
+
+    /** 
+     * Indicates it cannot be determined if string is in the normalized 
+     * format without further thorough checks.
+     * @stable ICU 2.8
+     */
+    public static final QuickCheckResult MAYBE = new QuickCheckResult(2);
+    
+    /**
+     * Option bit for compare:
+     * Case sensitively compare the strings
+     * @stable ICU 2.8
+     */
+    public static final int FOLD_CASE_DEFAULT =  UCharacter.FOLD_CASE_DEFAULT;
+    
+    /**
+     * Option bit for compare:
+     * Both input strings are assumed to fulfill FCD conditions.
+     * @stable ICU 2.8
+     */
+    public static final int INPUT_IS_FCD    =      0x20000;
+        
+    /**
+     * Option bit for compare:
+     * Perform case-insensitive comparison.
+     * @stable ICU 2.8
+     */
+    public static final int COMPARE_IGNORE_CASE  =     0x10000;
+        
+    /**
+     * Option bit for compare:
+     * Compare strings in code point order instead of code unit order.
+     * @stable ICU 2.8
+     */
+    public static final int COMPARE_CODE_POINT_ORDER = 0x8000;
+    
+    /** 
+     * Option value for case folding: exclude the mappings for dotted I 
+     * and dotless i marked with 'I' in CaseFolding.txt. 
+     * @stable ICU 2.8
+     */
+    public static final int FOLD_CASE_EXCLUDE_SPECIAL_I = UCharacter.FOLD_CASE_EXCLUDE_SPECIAL_I;
+    
+    /**
+     * Lowest-order bit number of compare() options bits corresponding to
+     * normalization options bits.
+     *
+     * The options parameter for compare() uses most bits for
+     * itself and for various comparison and folding flags.
+     * The most significant bits, however, are shifted down and passed on
+     * to the normalization implementation.
+     * (That is, from compare(..., options, ...),
+     * options>>COMPARE_NORM_OPTIONS_SHIFT will be passed on to the
+     * internal normalization functions.)
+     *
+     * @see #compare
+     * @stable ICU 2.6
+     */
+    public static final int COMPARE_NORM_OPTIONS_SHIFT  = 20;
+        
+    //-------------------------------------------------------------------------
+    // Constructors
+    //-------------------------------------------------------------------------
+
+    /**
+     * Creates a new <tt>Normalizer</tt> object for iterating over the
+     * normalized form of a given string.
+     * <p>
+     * The <tt>options</tt> parameter specifies which optional
+     * <tt>Normalizer</tt> features are to be enabled for this object.
+     * <p>
+     * @param str  The string to be normalized.  The normalization
+     *              will start at the beginning of the string.
+     *
+     * @param mode The normalization mode.
+     *
+     * @param opt Any optional features to be enabled.
+     *            Currently the only available option is {@link #UNICODE_3_2}.
+     *            If you want the default behavior corresponding to one of the
+     *            standard Unicode Normalization Forms, use 0 for this argument.
+     * @stable ICU 2.6
+     */
+    public Normalizer(String str, Mode mode, int opt) {
+        this.text = UCharacterIterator.getInstance(str);
+        this.mode = mode; 
+        this.options=opt;
+    }
+
+    /**
+     * Creates a new <tt>Normalizer</tt> object for iterating over the
+     * normalized form of the given text.
+     * <p>
+     * @param iter  The input text to be normalized.  The normalization
+     *              will start at the beginning of the string.
+     *
+     * @param mode  The normalization mode.
+     *
+     * @param opt Any optional features to be enabled.
+     *            Currently the only available option is {@link #UNICODE_3_2}.
+     *            If you want the default behavior corresponding to one of the
+     *            standard Unicode Normalization Forms, use 0 for this argument.
+     * @stable ICU 2.6
+     */
+    public Normalizer(CharacterIterator iter, Mode mode, int opt) {
+        this.text = UCharacterIterator.getInstance(
+                                                   (CharacterIterator)iter.clone()
+                                                   );
+        this.mode = mode;
+        this.options = opt;
+    }
+    
+    /**
+     * Creates a new <tt>Normalizer</tt> object for iterating over the
+     * normalized form of the given text.
+     * <p>
+     * @param iter  The input text to be normalized.  The normalization
+     *              will start at the beginning of the string.
+     *
+     * @param mode  The normalization mode.
+     * @param options The normalization options, ORed together (0 for no options).
+     * @stable ICU 2.6
+     */
+    public Normalizer(UCharacterIterator iter, Mode mode, int options) {
+        try {
+            this.text     = (UCharacterIterator)iter.clone();
+            this.mode     = mode;
+            this.options  = options;
+        } catch (CloneNotSupportedException e) {
+            throw new InternalError(e.toString());
+        }
+    }
+
+    /**
+     * Clones this <tt>Normalizer</tt> object.  All properties of this
+     * object are duplicated in the new object, including the cloning of any
+     * {@link CharacterIterator} that was passed in to the constructor
+     * or to {@link #setText(CharacterIterator) setText}.
+     * However, the text storage underlying
+     * the <tt>CharacterIterator</tt> is not duplicated unless the
+     * iterator's <tt>clone</tt> method does so.
+     * @stable ICU 2.8
+     */
+    public Object clone() {
+        try {
+            Normalizer copy = (Normalizer) super.clone();
+            copy.text = (UCharacterIterator) text.clone();
+            //clone the internal buffer
+            if (buffer != null) {
+                copy.buffer = new char[buffer.length];
+                System.arraycopy(buffer,0,copy.buffer,0,buffer.length);
+            }
+            return copy;
+        }
+        catch (CloneNotSupportedException e) {
+            throw new InternalError(e.toString());
+        }
+    }
+    
+    //--------------------------------------------------------------------------
+    // Static Utility methods
+    //--------------------------------------------------------------------------
+    
+    /**
+     * Compose a string.
+     * The string will be composed to according the the specified mode.
+     * @param str        The string to compose.
+     * @param compat     If true the string will be composed accoding to 
+     *                    NFKC rules and if false will be composed according to 
+     *                    NFC rules.
+     * @return String    The composed string   
+     * @stable ICU 2.8
+     */            
+    public static String compose(String str, boolean compat) {
+        return compose(str,compat,0);           
+    }
+    
+    /**
+     * Compose a string.
+     * The string will be composed to according the the specified mode.
+     * @param str        The string to compose.
+     * @param compat     If true the string will be composed accoding to 
+     *                    NFKC rules and if false will be composed according to 
+     *                    NFC rules.
+     * @param options    The only recognized option is UNICODE_3_2
+     * @return String    The composed string   
+     * @stable ICU 2.6
+     */            
+    public static String compose(String str, boolean compat, int options) {
+           
+        char[] dest = new char[str.length()*MAX_BUF_SIZE_COMPOSE];
+        int destSize=0;
+        char[] src = str.toCharArray();
+        UnicodeSet nx = NormalizerImpl.getNX(options);
+
+        /* reset options bits that should only be set here or inside compose() */
+        options&=~(NormalizerImpl.OPTIONS_SETS_MASK|NormalizerImpl.OPTIONS_COMPAT|NormalizerImpl.OPTIONS_COMPOSE_CONTIGUOUS);
+
+        if(compat) {
+            options|=NormalizerImpl.OPTIONS_COMPAT;
+        }
+
+        for(;;) {
+            destSize=NormalizerImpl.compose(src,0,src.length,
+                                            dest,0,dest.length,options,
+                                            nx);
+            if(destSize<=dest.length) {
+                return new String(dest,0,destSize);  
+            } else {
+                dest = new char[destSize];
+            }
+        }                   
+    }
+    
+    /**
+     * Compose a string.
+     * The string will be composed to according the the specified mode.
+     * @param source The char array to compose.
+     * @param target A char buffer to receive the normalized text.
+     * @param compat If true the char array will be composed accoding to 
+     *                NFKC rules and if false will be composed according to 
+     *                NFC rules.
+     * @param options The normalization options, ORed together (0 for no options).
+     * @return int   The total buffer size needed;if greater than length of 
+     *                result, the output was truncated.
+     * @exception IndexOutOfBoundsException if target.length is less than the 
+     *             required length
+     * @stable ICU 2.6  
+     */         
+    public static int compose(char[] source,char[] target, boolean compat, int options) {
+        UnicodeSet nx = NormalizerImpl.getNX(options);
+
+        /* reset options bits that should only be set here or inside compose() */
+        options&=~(NormalizerImpl.OPTIONS_SETS_MASK|NormalizerImpl.OPTIONS_COMPAT|NormalizerImpl.OPTIONS_COMPOSE_CONTIGUOUS);
+
+        if(compat) {
+            options|=NormalizerImpl.OPTIONS_COMPAT;
+        }
+
+        int length = NormalizerImpl.compose(source,0,source.length,
+                                            target,0,target.length,
+                                            options,nx);
+        if(length<=target.length) {
+            return length;
+        } else {
+            throw new IndexOutOfBoundsException(Integer.toString(length));
+        } 
+    }
+    
+    /**
+     * Compose a string.
+     * The string will be composed to according the the specified mode.
+     * @param src       The char array to compose.
+     * @param srcStart  Start index of the source
+     * @param srcLimit  Limit index of the source
+     * @param dest      The char buffer to fill in
+     * @param destStart Start index of the destination buffer  
+     * @param destLimit End index of the destination buffer
+     * @param compat If true the char array will be composed accoding to 
+     *                NFKC rules and if false will be composed according to 
+     *                NFC rules.
+     * @param options The normalization options, ORed together (0 for no options).
+     * @return int   The total buffer size needed;if greater than length of 
+     *                result, the output was truncated.
+     * @exception IndexOutOfBoundsException if target.length is less than the 
+     *             required length 
+     * @stable ICU 2.6 
+     */         
+    public static int compose(char[] src,int srcStart, int srcLimit,
+                              char[] dest,int destStart, int destLimit,
+                              boolean compat, int options) {
+        UnicodeSet nx = NormalizerImpl.getNX(options);
+
+        /* reset options bits that should only be set here or inside compose() */
+        options&=~(NormalizerImpl.OPTIONS_SETS_MASK|NormalizerImpl.OPTIONS_COMPAT|NormalizerImpl.OPTIONS_COMPOSE_CONTIGUOUS);
+
+        if(compat) {
+            options|=NormalizerImpl.OPTIONS_COMPAT;
+        }
+
+        int length = NormalizerImpl.compose(src,srcStart,srcLimit,
+                                            dest,destStart,destLimit,
+                                            options, nx);
+        if(length<=(destLimit-destStart)) {
+            return length;
+        } else {
+            throw new IndexOutOfBoundsException(Integer.toString(length));
+        } 
+    }
+    
+    private static final int MAX_BUF_SIZE_COMPOSE = 2;
+    private static final int MAX_BUF_SIZE_DECOMPOSE = 3;
+    
+    /**
+     * Decompose a string.
+     * The string will be decomposed to according the the specified mode.
+     * @param str       The string to decompose.
+     * @param compat    If true the string will be decomposed accoding to NFKD 
+     *                   rules and if false will be decomposed according to NFD 
+     *                   rules.
+     * @return String   The decomposed string  
+     * @stable ICU 2.8 
+     */         
+    public static String decompose(String str, boolean compat) {
+        return decompose(str,compat,0);                  
+    }
+    
+    /**
+     * Decompose a string.
+     * The string will be decomposed to according the the specified mode.
+     * @param str     The string to decompose.
+     * @param compat  If true the string will be decomposed accoding to NFKD 
+     *                 rules and if false will be decomposed according to NFD 
+     *                 rules.
+     * @param options The normalization options, ORed together (0 for no options).
+     * @return String The decomposed string 
+     * @stable ICU 2.6
+     */         
+    public static String decompose(String str, boolean compat, int options) {
+        
+        char[] dest = new char[str.length()*MAX_BUF_SIZE_DECOMPOSE];
+        int[] trailCC = new int[1];
+        int destSize=0;
+        UnicodeSet nx = NormalizerImpl.getNX(options);
+        for(;;) {
+            destSize=NormalizerImpl.decompose(str.toCharArray(),0,str.length(),
+                                              dest,0,dest.length,
+                                              compat,trailCC, nx);
+            if(destSize<=dest.length) {
+                return new String(dest,0,destSize); 
+            } else {
+                dest = new char[destSize];
+            }
+        } 
+                
+    }
+    
+    /**
+     * Decompose a string.
+     * The string will be decomposed to according the the specified mode.
+     * @param source The char array to decompose.
+     * @param target A char buffer to receive the normalized text.
+     * @param compat If true the char array will be decomposed accoding to NFKD 
+     *                rules and if false will be decomposed according to 
+     *                NFD rules.
+     * @return int   The total buffer size needed;if greater than length of 
+     *                result,the output was truncated.
+     * @param options The normalization options, ORed together (0 for no options).
+     * @exception IndexOutOfBoundsException if the target capacity is less than
+     *             the required length   
+     * @stable ICU 2.6
+     */
+    public static int decompose(char[] source,char[] target, boolean compat, int options) {
+        int[] trailCC = new int[1];
+        UnicodeSet nx = NormalizerImpl.getNX(options);
+        int length = NormalizerImpl.decompose(source,0,source.length,
+                                              target,0,target.length,
+                                              compat,trailCC,nx);
+        if(length<=target.length) {
+            return length;
+        } else {
+            throw new IndexOutOfBoundsException(Integer.toString(length));
+        } 
+    }
+    
+    /**
+     * Decompose a string.
+     * The string will be decomposed to according the the specified mode.
+     * @param src       The char array to compose.
+     * @param srcStart  Start index of the source
+     * @param srcLimit  Limit index of the source
+     * @param dest      The char buffer to fill in
+     * @param destStart Start index of the destination buffer  
+     * @param destLimit End index of the destination buffer
+     * @param compat If true the char array will be decomposed accoding to NFKD 
+     *                rules and if false will be decomposed according to 
+     *                NFD rules.
+     * @param options The normalization options, ORed together (0 for no options).
+     * @return int   The total buffer size needed;if greater than length of 
+     *                result,the output was truncated.
+     * @exception IndexOutOfBoundsException if the target capacity is less than
+     *             the required length  
+     * @stable ICU 2.6 
+     */
+    public static int decompose(char[] src,int srcStart, int srcLimit,
+                                char[] dest,int destStart, int destLimit,
+                                boolean compat, int options) {
+        int[] trailCC = new int[1];
+        UnicodeSet nx = NormalizerImpl.getNX(options);
+        int length = NormalizerImpl.decompose(src,srcStart,srcLimit,
+                                              dest,destStart,destLimit,
+                                              compat,trailCC,nx);
+        if(length<=(destLimit-destStart)) {
+            return length;
+        } else {
+            throw new IndexOutOfBoundsException(Integer.toString(length));
+        } 
+    }
+        
+    private static String makeFCD(String src,int options) {
+        int srcLen = src.length();
+        char[] dest = new char[MAX_BUF_SIZE_DECOMPOSE*srcLen];
+        int length = 0;
+        UnicodeSet nx = NormalizerImpl.getNX(options);
+        for(;;) {
+            length = NormalizerImpl.makeFCD(src.toCharArray(),0,srcLen,
+                                            dest,0,dest.length,nx);
+            if(length <= dest.length) {
+                return new String(dest,0,length);
+            } else {
+                dest = new char[length];
+            }
+        }
+    }
+    
+    /**
+     * Normalizes a <tt>String</tt> using the given normalization operation.
+     * <p>
+     * The <tt>options</tt> parameter specifies which optional
+     * <tt>Normalizer</tt> features are to be enabled for this operation.
+     * Currently the only available option is {@link #UNICODE_3_2}.
+     * If you want the default behavior corresponding to one of the standard
+     * Unicode Normalization Forms, use 0 for this argument.
+     * <p>
+     * @param str       the input string to be normalized.
+     * @param mode      the normalization mode
+     * @param options   the optional features to be enabled.
+     * @return String   the normalized string
+     * @stable ICU 2.6
+     */
+    public static String normalize(String str, Mode mode, int options) {
+        return mode.normalize(str,options);
+    }
+    
+    /**
+     * Normalize a string.
+     * The string will be normalized according the the specified normalization 
+     * mode and options.
+     * @param src        The string to normalize.
+     * @param mode       The normalization mode; one of Normalizer.NONE, 
+     *                    Normalizer.NFD, Normalizer.NFC, Normalizer.NFKC, 
+     *                    Normalizer.NFKD, Normalizer.DEFAULT
+     * @return the normalized string
+     * @stable ICU 2.8
+     *   
+     */
+    public static String normalize(String src,Mode mode) {
+        return normalize(src, mode, 0);    
+    }
+    /**
+     * Normalize a string.
+     * The string will be normalized according the the specified normalization 
+     * mode and options.
+     * @param source The char array to normalize.
+     * @param target A char buffer to receive the normalized text.
+     * @param mode   The normalization mode; one of Normalizer.NONE, 
+     *                Normalizer.NFD, Normalizer.NFC, Normalizer.NFKC, 
+     *                Normalizer.NFKD, Normalizer.DEFAULT
+     * @param options The normalization options, ORed together (0 for no options).
+     * @return int   The total buffer size needed;if greater than length of 
+     *                result, the output was truncated.
+     * @exception    IndexOutOfBoundsException if the target capacity is less 
+     *                than the required length
+     * @stable ICU 2.6     
+     */
+    public static int normalize(char[] source,char[] target, Mode  mode, int options) {
+        int length = normalize(source,0,source.length,target,0,target.length,mode, options);
+        if(length<=target.length) {
+            return length;
+        } else {
+            throw new IndexOutOfBoundsException(Integer.toString(length));
+        } 
+    }
+    
+    /**
+     * Normalize a string.
+     * The string will be normalized according the the specified normalization
+     * mode and options.
+     * @param src       The char array to compose.
+     * @param srcStart  Start index of the source
+     * @param srcLimit  Limit index of the source
+     * @param dest      The char buffer to fill in
+     * @param destStart Start index of the destination buffer  
+     * @param destLimit End index of the destination buffer
+     * @param mode      The normalization mode; one of Normalizer.NONE, 
+     *                   Normalizer.NFD, Normalizer.NFC, Normalizer.NFKC, 
+     *                   Normalizer.NFKD, Normalizer.DEFAULT
+     * @param options The normalization options, ORed together (0 for no options). 
+     * @return int      The total buffer size needed;if greater than length of 
+     *                   result, the output was truncated.
+     * @exception       IndexOutOfBoundsException if the target capacity is 
+     *                   less than the required length
+     * @stable ICU 2.6    
+     */       
+    public static int normalize(char[] src,int srcStart, int srcLimit, 
+                                char[] dest,int destStart, int destLimit,
+                                Mode  mode, int options) {
+        int length = mode.normalize(src,srcStart,srcLimit,dest,destStart,destLimit, options);
+       
+        if(length<=(destLimit-destStart)) {
+            return length;
+        } else {
+            throw new IndexOutOfBoundsException(Integer.toString(length));
+        } 
+    }
+    
+    /**
+     * Normalize a codepoint accoding to the given mode
+     * @param char32    The input string to be normalized.
+     * @param mode      The normalization mode
+     * @param options   Options for use with exclusion set an tailored Normalization
+     *                                   The only option that is currently recognized is UNICODE_3_2
+     * @return String   The normalized string
+     * @stable ICU 2.6
+     * @see #UNICODE_3_2
+     */
+    // TODO: actually do the optimization when the guts of Normalizer are 
+    // upgraded --has just dumb implementation for now
+    public static String normalize(int char32, Mode mode, int options) {
+        return normalize(UTF16.valueOf(char32), mode, options);
+    }
+
+    /**
+     * Conveinience method to normalize a codepoint accoding to the given mode
+     * @param char32    The input string to be normalized.
+     * @param mode      The normalization mode
+     * @return String   The normalized string
+     * @see #UNICODE_3_2                
+     * @stable ICU 2.6
+     */
+    // TODO: actually do the optimization when the guts of Normalizer are 
+    // upgraded --has just dumb implementation for now
+    public static String normalize(int char32, Mode mode) {
+        return normalize(UTF16.valueOf(char32), mode, 0);
+    }
+    
+    /**
+     * Convenience method.
+     *
+     * @param source   string for determining if it is in a normalized format
+     * @param mode     normalization format (Normalizer.NFC,Normalizer.NFD,  
+     *                  Normalizer.NFKC,Normalizer.NFKD)
+     * @return         Return code to specify if the text is normalized or not 
+     *                     (Normalizer.YES, Normalizer.NO or Normalizer.MAYBE)
+     * @stable ICU 2.8
+     */
+    public static QuickCheckResult quickCheck( String source, Mode mode) {
+        return mode.quickCheck(source.toCharArray(),0,source.length(),true,null);
+    }
+    
+    /**
+     * Convenience method.
+     *
+     * @param source   string for determining if it is in a normalized format
+     * @param mode     normalization format (Normalizer.NFC,Normalizer.NFD,  
+     *                  Normalizer.NFKC,Normalizer.NFKD)
+     * @param options   Options for use with exclusion set an tailored Normalization
+     *                                   The only option that is currently recognized is UNICODE_3_2     
+     * @return         Return code to specify if the text is normalized or not 
+     *                     (Normalizer.YES, Normalizer.NO or Normalizer.MAYBE)
+     * @stable ICU 2.6
+     */
+    public static QuickCheckResult quickCheck( String source, Mode mode, int options) {
+        return mode.quickCheck(source.toCharArray(),0,source.length(),true,NormalizerImpl.getNX(options));
+    }
+    
+    /**
+     * Convenience method.
+     *
+     * @param source Array of characters for determining if it is in a 
+     *                normalized format
+     * @param mode   normalization format (Normalizer.NFC,Normalizer.NFD,  
+     *                Normalizer.NFKC,Normalizer.NFKD)
+     * @param options   Options for use with exclusion set an tailored Normalization
+     *                                   The only option that is currently recognized is UNICODE_3_2
+     * @return       Return code to specify if the text is normalized or not 
+     *                (Normalizer.YES, Normalizer.NO or Normalizer.MAYBE)
+     * @stable ICU 2.6
+     */
+    public static QuickCheckResult quickCheck(char[] source, Mode mode, int options) {
+        return mode.quickCheck(source,0,source.length,true, NormalizerImpl.getNX(options));
+    }
+    
+    /**
+     * Performing quick check on a string, to quickly determine if the string is 
+     * in a particular normalization format.
+     * Three types of result can be returned Normalizer.YES, Normalizer.NO or
+     * Normalizer.MAYBE. Result Normalizer.YES indicates that the argument
+     * string is in the desired normalized format, Normalizer.NO determines that
+     * argument string is not in the desired normalized format. A 
+     * Normalizer.MAYBE result indicates that a more thorough check is required, 
+     * the user may have to put the string in its normalized form and compare 
+     * the results.
+     *
+     * @param source    string for determining if it is in a normalized format
+     * @param start     the start index of the source
+     * @param limit     the limit index of the source it is equal to the length
+     * @param mode      normalization format (Normalizer.NFC,Normalizer.NFD,  
+     *                   Normalizer.NFKC,Normalizer.NFKD)
+     * @param options   Options for use with exclusion set an tailored Normalization
+     *                                   The only option that is currently recognized is UNICODE_3_2    
+     * @return          Return code to specify if the text is normalized or not 
+     *                   (Normalizer.YES, Normalizer.NO or
+     *                   Normalizer.MAYBE)
+     * @stable ICU 2.6
+     */
+
+    public static QuickCheckResult quickCheck(char[] source,int start, 
+                                              int limit, Mode mode,int options) {       
+        return mode.quickCheck(source,start,limit,true,NormalizerImpl.getNX(options));
+    }
+    
+    //-------------------------------------------------------------------------
+    // Internal methods (for now)
+    //-------------------------------------------------------------------------
+
+    /**
+     * Test if a string is in a given normalization form.
+     * This is semantically equivalent to source.equals(normalize(source, mode)).
+     *
+     * Unlike quickCheck(), this function returns a definitive result,
+     * never a "maybe".
+     * For NFD, NFKD, and FCD, both functions work exactly the same.
+     * For NFC and NFKC where quickCheck may return "maybe", this function will
+     * perform further tests to arrive at a true/false result.
+     * @param src       The input array of characters to be checked to see if 
+     *                   it is normalized
+     * @param start     The strart index in the source
+     * @param limit     The limit index in the source
+     * @param mode      the normalization mode
+     * @param options   Options for use with exclusion set an tailored Normalization
+     *                                   The only option that is currently recognized is UNICODE_3_2    
+     * @return Boolean value indicating whether the source string is in the
+     *         "mode" normalization form
+     * @stable ICU 2.6
+     */
+    public static boolean isNormalized(char[] src,int start,
+                                       int limit, Mode mode, 
+                                       int options) {
+        return (mode.quickCheck(src,start,limit,false,NormalizerImpl.getNX(options))==YES);
+    }
+    
+    /**
+     * Convenience Method
+     * @param str       the input string to be checked to see if it is 
+     *                   normalized
+     * @param mode      the normalization mode
+     * @param options   Options for use with exclusion set an tailored Normalization
+     *                                   The only option that is currently recognized is UNICODE_3_2   
+     * @see #isNormalized
+     * @stable ICU 2.6
+     */
+    public static boolean isNormalized(String str, Mode mode, int options) {
+        return (mode.quickCheck(str.toCharArray(),0,str.length(),false,NormalizerImpl.getNX(options))==YES);
+    }
+    
+    /**
+     * Convenience Method
+     * @param char32    the input code point to be checked to see if it is 
+     *                   normalized
+     * @param mode      the normalization mode
+     * @param options   Options for use with exclusion set an tailored Normalization
+     *                                   The only option that is currently recognized is UNICODE_3_2    
+     *
+     * @see #isNormalized
+     * @stable ICU 2.6
+     */
+    // TODO: actually do the optimization when the guts of Normalizer are 
+    // upgraded --has just dumb implementation for now
+    public static boolean isNormalized(int char32, Mode mode,int options) {
+        return isNormalized(UTF16.valueOf(char32), mode, options);
+    }
+     
+    /**
+     * Compare two strings for canonical equivalence.
+     * Further options include case-insensitive comparison and
+     * code point order (as opposed to code unit order).
+     *
+     * Canonical equivalence between two strings is defined as their normalized
+     * forms (NFD or NFC) being identical.
+     * This function compares strings incrementally instead of normalizing
+     * (and optionally case-folding) both strings entirely,
+     * improving performance significantly.
+     *
+     * Bulk normalization is only necessary if the strings do not fulfill the 
+     * FCD conditions. Only in this case, and only if the strings are relatively 
+     * long, is memory allocated temporarily.
+     * For FCD strings and short non-FCD strings there is no memory allocation.
+     *
+     * Semantically, this is equivalent to
+     *   strcmp[CodePointOrder](foldCase(NFD(s1)), foldCase(NFD(s2)))
+     * where code point order and foldCase are all optional.
+     *
+     * @param s1        First source character array.
+     * @param s1Start   start index of source
+     * @param s1Limit   limit of the source
+     *
+     * @param s2        Second source character array.
+     * @param s2Start   start index of the source
+     * @param s2Limit   limit of the source
+     * 
+     * @param options A bit set of options:
+     *   - FOLD_CASE_DEFAULT or 0 is used for default options:
+     *     Case-sensitive comparison in code unit order, and the input strings
+     *     are quick-checked for FCD.
+     *
+     *   - INPUT_IS_FCD
+     *     Set if the caller knows that both s1 and s2 fulfill the FCD 
+     *     conditions.If not set, the function will quickCheck for FCD
+     *     and normalize if necessary.
+     *
+     *   - COMPARE_CODE_POINT_ORDER
+     *     Set to choose code point order instead of code unit order
+     *
+     *   - COMPARE_IGNORE_CASE
+     *     Set to compare strings case-insensitively using case folding,
+     *     instead of case-sensitively.
+     *     If set, then the following case folding options are used.
+     *
+     *
+     * @return <0 or 0 or >0 as usual for string comparisons
+     *
+     * @see #normalize
+     * @see #FCD
+     * @stable ICU 2.8
+     */
+    public static int compare(char[] s1, int s1Start, int s1Limit,
+                              char[] s2, int s2Start, int s2Limit,
+                              int options) {
+        return internalCompare(s1, s1Start, s1Limit, 
+                               s2, s2Start, s2Limit, 
+                               options);
+    } 
+       
+    /**
+     * Compare two strings for canonical equivalence.
+     * Further options include case-insensitive comparison and
+     * code point order (as opposed to code unit order).
+     * Convenience method.
+     *
+     * @param s1 First source string.
+     * @param s2 Second source string.
+     *
+     * @param options A bit set of options:
+     *   - FOLD_CASE_DEFAULT or 0 is used for default options:
+     *     Case-sensitive comparison in code unit order, and the input strings
+     *     are quick-checked for FCD.
+     *
+     *   - INPUT_IS_FCD
+     *     Set if the caller knows that both s1 and s2 fulfill the FCD 
+     *     conditions. If not set, the function will quickCheck for FCD
+     *     and normalize if necessary.
+     *
+     *   - COMPARE_CODE_POINT_ORDER
+     *     Set to choose code point order instead of code unit order
+     *
+     *   - COMPARE_IGNORE_CASE
+     *     Set to compare strings case-insensitively using case folding,
+     *     instead of case-sensitively.
+     *     If set, then the following case folding options are used.
+     *
+     * @return <0 or 0 or >0 as usual for string comparisons
+     *
+     * @see #normalize
+     * @see #FCD
+     * @stable ICU 2.8
+     */
+    public static int compare(String s1, String s2, int options) {
+         
+        return compare(s1.toCharArray(),0,s1.length(),
+                       s2.toCharArray(),0,s2.length(),
+                       options);
+    }
+     
+    /**
+     * Compare two strings for canonical equivalence.
+     * Further options include case-insensitive comparison and
+     * code point order (as opposed to code unit order).
+     * Convenience method.
+     *
+     * @param s1 First source string.
+     * @param s2 Second source string.
+     *
+     * @param options A bit set of options:
+     *   - FOLD_CASE_DEFAULT or 0 is used for default options:
+     *     Case-sensitive comparison in code unit order, and the input strings
+     *     are quick-checked for FCD.
+     *
+     *   - INPUT_IS_FCD
+     *     Set if the caller knows that both s1 and s2 fulfill the FCD 
+     *     conditions. If not set, the function will quickCheck for FCD
+     *     and normalize if necessary.
+     *
+     *   - COMPARE_CODE_POINT_ORDER
+     *     Set to choose code point order instead of code unit order
+     *
+     *   - COMPARE_IGNORE_CASE
+     *     Set to compare strings case-insensitively using case folding,
+     *     instead of case-sensitively.
+     *     If set, then the following case folding options are used.
+     *
+     * @return <0 or 0 or >0 as usual for string comparisons
+     *
+     * @see #normalize
+     * @see #FCD
+     * @stable ICU 2.8
+     */
+    public static int compare(char[] s1, char[] s2, int options) {
+        return compare(s1,0,s1.length,s2,0,s2.length,options);
+    } 
+        
+    /**
+     * Convenience method that can have faster implementation
+     * by not allocating buffers.
+     * @param char32a    the first code point to be checked against the
+     * @param char32b    the second code point
+     * @param options    A bit set of options
+     * @stable ICU 2.8
+     */
+    // TODO: actually do the optimization when the guts of Normalizer are 
+    // upgraded --has just dumb implementation for now
+    public static int compare(int char32a, int char32b,int options) {
+        return compare(UTF16.valueOf(char32a), UTF16.valueOf(char32b), options);
+    }
+    
+    /**
+     * Convenience method that can have faster implementation
+     * by not allocating buffers.
+     * @param char32a   the first code point to be checked against
+     * @param str2      the second string
+     * @param options   A bit set of options
+     * @stable ICU 2.8
+     */
+    // TODO: actually do the optimization when the guts of Normalizer are 
+    // upgraded --has just dumb implementation for now
+    public static int compare(int char32a, String str2, int options) {
+        return compare(UTF16.valueOf(char32a), str2, options);
+    }
+   
+    /**
+     * Concatenate normalized strings, making sure that the result is normalized
+     * as well.
+     *
+     * If both the left and the right strings are in
+     * the normalization form according to "mode",
+     * then the result will be
+     *
+     * <code>
+     *     dest=normalize(left+right, mode)
+     * </code>
+     *
+     * With the input strings already being normalized,
+     * this function will use next() and previous()
+     * to find the adjacent end pieces of the input strings.
+     * Only the concatenation of these end pieces will be normalized and
+     * then concatenated with the remaining parts of the input strings.
+     *
+     * It is allowed to have dest==left to avoid copying the entire left string.
+     *
+     * @param left Left source array, may be same as dest.
+     * @param leftStart start in the left array.
+     * @param leftLimit limit in the left array (==length)
+     * @param right Right source array.
+     * @param rightStart start in the right array.
+     * @param rightLimit limit in the right array (==length)
+     * @param dest The output buffer; can be null if destStart==destLimit==0 
+     *              for pure preflighting.
+     * @param destStart start in the destination array
+     * @param destLimit limit in the destination array (==length)
+     * @param mode The normalization mode.
+     * @param options The normalization options, ORed together (0 for no options).
+     * @return Length of output (number of chars) when successful or 
+     *          IndexOutOfBoundsException
+     * @exception IndexOutOfBoundsException whose message has the string 
+     *             representation of destination capacity required. 
+     * @see #normalize
+     * @see #next
+     * @see #previous
+     * @exception IndexOutOfBoundsException if target capacity is less than the
+     *             required length
+     * @stable ICU 2.8
+     */
+    /* Concatenation of normalized strings --------------------------------- */
+    
+    public static int concatenate(char[] left,  int leftStart,  int leftLimit,
+                                  char[] right, int rightStart, int rightLimit, 
+                                  char[] dest,  int destStart,  int destLimit,
+                                  Normalizer.Mode mode, int options) {
+                               
+    
+        UCharacterIterator iter;
+        
+        int leftBoundary, rightBoundary, destLength;
+    
+        if(dest == null) {
+            throw new IllegalArgumentException();
+        }
+    
+        /* check for overlapping right and destination */
+        if (right == dest && rightStart < destLimit && destStart < rightLimit) {
+            throw new IllegalArgumentException("overlapping right and dst ranges");
+        }
+    
+        /* allow left==dest */
+    
+        /*
+         * Input: left[0..leftLength[ + right[0..rightLength[
+         *
+         * Find normalization-safe boundaries leftBoundary and rightBoundary
+         * and copy the end parts together:
+         * buffer=left[leftBoundary..leftLength[ + right[0..rightBoundary[
+         *
+         * dest=left[0..leftBoundary[ +
+         *      normalize(buffer) +
+         *      right[rightBoundary..rightLength[
+         */
+    
+        /*
+         * find a normalization boundary at the end of the left string
+         * and copy the end part into the buffer
+         */
+
+        iter = UCharacterIterator.getInstance(left, leftStart, leftLimit);
+                                             
+        iter.setIndex(iter.getLength()); /* end of left string */
+        char[] buffer=new char[100];
+        int bufferLength;
+        bufferLength=previous(iter, buffer,0,buffer.length,mode,false,null,options);
+        
+        leftBoundary=iter.getIndex();
+        
+        if(bufferLength>buffer.length) {
+            char[] newBuf = new char[buffer.length*2];
+            buffer = newBuf;
+            newBuf = null; // null the reference for GC
+            /* just copy from the left string: we know the boundary already */
+            System.arraycopy(left,leftBoundary,buffer,0,bufferLength);
+        }
+    
+        /*
+         * find a normalization boundary at the beginning of the right string
+         * and concatenate the beginning part to the buffer
+         */
+
+        iter = UCharacterIterator.getInstance(right, rightStart, rightLimit);
+        
+        rightBoundary=next(iter,buffer,bufferLength, buffer.length-bufferLength,
+                           mode, false,null, options);
+                           
+        if(bufferLength>buffer.length) {
+            char[] newBuf = new char[buffer.length*2];
+            buffer = newBuf;
+            newBuf = null; // null the reference for GC
+            /* just copy from the right string: we know the boundary already */
+            System.arraycopy(right,rightBoundary,buffer,
+                             bufferLength,rightBoundary);
+        }
+
+        bufferLength+=rightBoundary;
+    
+        /* copy left[0..leftBoundary[ to dest */
+        if(left!=dest && leftBoundary>0 && (destLimit)>0) {
+            System.arraycopy(left,0,dest,0, Math.min(leftBoundary,destLimit)); 
+        }
+        destLength=leftBoundary;
+    
+        /* concatenate the normalization of the buffer to dest */
+        if(destLimit>destLength) {
+            destLength+=Normalizer.normalize(buffer,0,bufferLength,dest,
+                                             destLength,destLimit,mode,options);
+            
+        } else {
+            destLength+=Normalizer.normalize(buffer, 0, bufferLength,null,0,0,mode,options);
+        }
+    
+        /* concatenate right[rightBoundary..rightLength[ to dest */
+        rightStart+=rightBoundary;
+        int rightLength=(rightLimit-rightStart);
+        if(rightLength>0 && destLimit>destLength) {
+            System.arraycopy(right,rightStart,dest,destLength,
+                             Math.min(rightLength,destLength)
+                             );
+        }
+        destLength+=rightLength;
+        
+        if(destLength<=(destLimit-destStart)) {
+            return destLength;
+        } else {
+            throw new IndexOutOfBoundsException(Integer.toString(destLength));
+        }  
+    }
+    
+    /**
+     * Concatenate normalized strings, making sure that the result is normalized
+     * as well.
+     *
+     * If both the left and the right strings are in
+     * the normalization form according to "mode",
+     * then the result will be
+     *
+     * <code>
+     *     dest=normalize(left+right, mode)
+     * </code>
+     *
+     * For details see concatenate 
+     *
+     * @param left Left source string.
+     * @param right Right source string.
+     * @param mode The normalization mode.
+     * @param options The normalization options, ORed together (0 for no options).
+     * @return result
+     *
+     * @see #concatenate
+     * @see #normalize
+     * @see #next
+     * @see #previous
+     * @see #concatenate
+     * @stable ICU 2.8
+     */
+    public static String concatenate(char[] left, char[] right,Mode mode, int options) {
+        char[] result = new char[(left.length+right.length)* MAX_BUF_SIZE_DECOMPOSE];
+        for(;;) {
+               
+            int length = concatenate(left,  0, left.length,
+                                     right, 0, right.length,
+                                     result,0, result.length,
+                                     mode, options);
+            if(length<=result.length) {
+                return new String(result,0,length);
+            } else {
+                result = new char[length];
+            }
+        }            
+    }
+    
+    /**
+     * Concatenate normalized strings, making sure that the result is normalized
+     * as well.
+     *
+     * If both the left and the right strings are in
+     * the normalization form according to "mode",
+     * then the result will be
+     *
+     * <code>
+     *     dest=normalize(left+right, mode)
+     * </code>
+     *
+     * For details see concatenate
+     *
+     * @param left Left source string.
+     * @param right Right source string.
+     * @param mode The normalization mode.
+     * @param options The normalization options, ORed together (0 for no options).
+     * @return result
+     *
+     * @see #concatenate
+     * @see #normalize
+     * @see #next
+     * @see #previous
+     * @see #concatenate
+     * @stable ICU 2.8
+     */
+    public static String concatenate(String left, String right,Mode mode, int options) {
+        char[] result = new char[(left.length()+right.length())* MAX_BUF_SIZE_DECOMPOSE];
+        for(;;) {
+               
+            int length = concatenate(left.toCharArray(), 0, left.length(),
+                                     right.toCharArray(),0, right.length(),
+                                     result,             0, result.length,
+                                     mode, options);
+            if(length<=result.length) {
+                return new String(result,0,length);
+            } else {
+                result = new char[length];
+            }
+        }            
+    }
+    
+    /**
+     * Gets the FC_NFKC closure set from the normalization data
+     * @param c The code point whose closure set is to be retrieved
+     * @param dest The char array to recive the closure set
+     * @internal
+     * @stable ICU 2.4
+     */
+    public static int getFC_NFKC_Closure(int c,char[] dest) {
+        return NormalizerImpl.getFC_NFKC_Closure(c,dest);
+    }
+    /**
+     * Gets the FC_NFKC closure set from the normalization data
+     * @param c The the code point whose closure set is to be retrieved
+     * @return String representation of the closure set
+     * @internal
+     * @stable ICU 2.4
+     */ 
+    public static String getFC_NFKC_Closure(int c) {
+        char[] dest = new char[10];
+        for(;;) {
+            int length = getFC_NFKC_Closure(c,dest);
+            if(length<=dest.length) {
+                return new String(dest,0,length);
+            } else {
+                dest = new char[length];
+            }
+        }
+    }
+    //-------------------------------------------------------------------------
+    // Iteration API
+    //-------------------------------------------------------------------------
+        
+    /**
+     * Return the current character in the normalized text->
+     * @return The codepoint as an int
+     * @stable ICU 2.8
+     */
+    public int current() {
+        if(bufferPos<bufferLimit || nextNormalize()) {
+            return getCodePointAt(bufferPos);
+        } else {
+            return DONE;
+        }
+    }
+        
+    /**
+     * Return the next character in the normalized text and advance
+     * the iteration position by one.  If the end
+     * of the text has already been reached, {@link #DONE} is returned.
+     * @return The codepoint as an int
+     * @stable ICU 2.8
+     */
+    public int next() {
+        if(bufferPos<bufferLimit ||  nextNormalize()) {
+            int c=getCodePointAt(bufferPos);
+            bufferPos+=(c>0xFFFF) ? 2 : 1;
+            return c;
+        } else {
+            return DONE;
+        }
+    }
+        
+        
+    /**
+     * Return the previous character in the normalized text and decrement
+     * the iteration position by one.  If the beginning
+     * of the text has already been reached, {@link #DONE} is returned.
+     * @return The codepoint as an int
+     * @stable ICU 2.8
+     */
+    public int previous() {
+        if(bufferPos>0 || previousNormalize()) {
+            int c=getCodePointAt(bufferPos-1);
+            bufferPos-=(c>0xFFFF) ? 2 : 1;
+            return c;
+        } else {
+            return DONE;
+        }
+    }
+        
+    /**
+     * Reset the index to the beginning of the text.
+     * This is equivalent to setIndexOnly(startIndex)).
+     * @stable ICU 2.8
+     */
+    public void reset() {
+        text.setIndex(0);
+        currentIndex=nextIndex=0;
+        clearBuffer();
+    }
+    
+    /**
+     * Set the iteration position in the input text that is being normalized,
+     * without any immediate normalization.
+     * After setIndexOnly(), getIndex() will return the same index that is
+     * specified here.
+     *
+     * @param index the desired index in the input text.
+     * @stable ICU 2.8
+     */
+    public void setIndexOnly(int index) {
+        text.setIndex(index);
+        currentIndex=nextIndex=index; // validates index
+        clearBuffer();
+    }
+        
+    /**
+     * Set the iteration position in the input text that is being normalized
+     * and return the first normalized character at that position.
+     * <p>
+     * <b>Note:</b> This method sets the position in the <em>input</em> text,
+     * while {@link #next} and {@link #previous} iterate through characters
+     * in the normalized <em>output</em>.  This means that there is not
+     * necessarily a one-to-one correspondence between characters returned
+     * by <tt>next</tt> and <tt>previous</tt> and the indices passed to and
+     * returned from <tt>setIndex</tt> and {@link #getIndex}.
+     * <p>
+     * @param index the desired index in the input text->
+     *
+     * @return   the first normalized character that is the result of iterating
+     *            forward starting at the given index.
+     *
+     * @throws IllegalArgumentException if the given index is less than
+     *          {@link #getBeginIndex} or greater than {@link #getEndIndex}.
+     * @return The codepoint as an int
+     * @deprecated ICU 3.2
+     * @obsolete ICU 3.2
+     */
+     ///CLOVER:OFF
+     public int setIndex(int index) {
+         setIndexOnly(index);
+         return current();
+     }
+     ///CLOVER:ON
+    /**
+     * Retrieve the index of the start of the input text. This is the begin 
+     * index of the <tt>CharacterIterator</tt> or the start (i.e. 0) of the 
+     * <tt>String</tt> over which this <tt>Normalizer</tt> is iterating
+     * @deprecated ICU 2.2. Use startIndex() instead.
+     * @return The codepoint as an int
+     * @see #startIndex
+     */
+    public int getBeginIndex() {
+        return 0;
+    }
+
+    /**
+     * Retrieve the index of the end of the input text.  This is the end index
+     * of the <tt>CharacterIterator</tt> or the length of the <tt>String</tt>
+     * over which this <tt>Normalizer</tt> is iterating
+     * @deprecated ICU 2.2. Use endIndex() instead.
+     * @return The codepoint as an int
+     * @see #endIndex
+     */
+    public int getEndIndex() {
+        return endIndex();
+    }
+    /**
+     * Return the first character in the normalized text->  This resets
+     * the <tt>Normalizer's</tt> position to the beginning of the text->
+     * @return The codepoint as an int
+     * @stable ICU 2.8
+     */
+    public int first() {
+        reset();
+        return next();
+    }
+        
+    /**
+     * Return the last character in the normalized text->  This resets
+     * the <tt>Normalizer's</tt> position to be just before the
+     * the input text corresponding to that normalized character.
+     * @return The codepoint as an int
+     * @stable ICU 2.8
+     */
+    public int last() {
+        text.setToLimit();
+        currentIndex=nextIndex=text.getIndex();
+        clearBuffer();
+        return previous();
+    }
+        
+    /**
+     * Retrieve the current iteration position in the input text that is
+     * being normalized.  This method is useful in applications such as
+     * searching, where you need to be able to determine the position in
+     * the input text that corresponds to a given normalized output character.
+     * <p>
+     * <b>Note:</b> This method sets the position in the <em>input</em>, while
+     * {@link #next} and {@link #previous} iterate through characters in the
+     * <em>output</em>.  This means that there is not necessarily a one-to-one
+     * correspondence between characters returned by <tt>next</tt> and
+     * <tt>previous</tt> and the indices passed to and returned from
+     * <tt>setIndex</tt> and {@link #getIndex}.
+     * @return The current iteration position
+     * @stable ICU 2.8
+     */
+    public int getIndex() {
+        if(bufferPos<bufferLimit) {
+            return currentIndex;
+        } else {
+            return nextIndex;
+        }
+    }
+        
+    /**
+     * Retrieve the index of the start of the input text. This is the begin 
+     * index of the <tt>CharacterIterator</tt> or the start (i.e. 0) of the 
+     * <tt>String</tt> over which this <tt>Normalizer</tt> is iterating
+     * @return The current iteration position
+     * @stable ICU 2.8
+     */
+    public int startIndex() {
+        return 0;
+    }
+        
+    /**
+     * Retrieve the index of the end of the input text->  This is the end index
+     * of the <tt>CharacterIterator</tt> or the length of the <tt>String</tt>
+     * over which this <tt>Normalizer</tt> is iterating
+     * @return The current iteration position
+     * @stable ICU 2.8
+     */
+    public int endIndex() {
+        return text.getLength();
+    }
+    
+    //-------------------------------------------------------------------------
+    // Property access methods
+    //-------------------------------------------------------------------------
+    /**
+     * Set the normalization mode for this object.
+     * <p>
+     * <b>Note:</b>If the normalization mode is changed while iterating
+     * over a string, calls to {@link #next} and {@link #previous} may
+     * return previously buffers characters in the old normalization mode
+     * until the iteration is able to re-sync at the next base character.
+     * It is safest to call {@link #setText setText()}, {@link #first},
+     * {@link #last}, etc. after calling <tt>setMode</tt>.
+     * <p>
+     * @param newMode the new mode for this <tt>Normalizer</tt>.
+     * The supported modes are:
+     * <ul>
+     *  <li>{@link #COMPOSE}        - Unicode canonical decompositiion
+     *                                  followed by canonical composition.
+     *  <li>{@link #COMPOSE_COMPAT} - Unicode compatibility decompositiion
+     *                                  follwed by canonical composition.
+     *  <li>{@link #DECOMP}         - Unicode canonical decomposition
+     *  <li>{@link #DECOMP_COMPAT}  - Unicode compatibility decomposition.
+     *  <li>{@link #NO_OP}          - Do nothing but return characters
+     *                                  from the underlying input text.
+     * </ul>
+     *
+     * @see #getMode
+     * @stable ICU 2.8
+     */
+    public void setMode(Mode newMode) {
+        mode = newMode;
+    }
+    /**
+     * Return the basic operation performed by this <tt>Normalizer</tt>
+     *
+     * @see #setMode
+     * @stable ICU 2.8
+     */
+    public Mode getMode() {
+        return mode;
+    }
+    /**
+     * Set options that affect this <tt>Normalizer</tt>'s operation.
+     * Options do not change the basic composition or decomposition operation
+     * that is being performed , but they control whether
+     * certain optional portions of the operation are done.
+     * Currently the only available option is:
+     * <p>
+     * <ul>
+     *   <li>{@link #UNICODE_3_2} - Use Normalization conforming to Unicode version 3.2.
+     * </ul>
+     * <p>
+     * @param   option  the option whose value is to be set.
+     * @param   value   the new setting for the option.  Use <tt>true</tt> to
+     *                  turn the option on and <tt>false</tt> to turn it off.
+     *
+     * @see #getOption
+     * @stable ICU 2.6
+     */
+    public void setOption(int option,boolean value) {
+        if (value) {
+            options |= option;
+        } else {
+            options &= (~option);
+        }
+    }
+        
+    /**
+     * Determine whether an option is turned on or off.
+     * <p>
+     * @see #setOption
+     * @stable ICU 2.6
+     */
+    public int getOption(int option) {
+        if((options & option)!=0) {
+            return 1 ;
+        } else {
+            return 0;
+        }
+    }
+    
+    /**
+     * Gets the underlying text storage
+     * @param fillIn the char buffer to fill the UTF-16 units.
+     *         The length of the buffer should be equal to the length of the
+     *         underlying text storage
+     * @throws IndexOutOfBoundsException
+     * @see   #getLength
+     * @stable ICU 2.8
+     */
+    public int getText(char[] fillIn) {
+        return text.getText(fillIn);
+    }
+    
+    /**
+     * Gets the length of underlying text storage
+     * @return the length
+     * @stable ICU 2.8
+     */ 
+    public int getLength() {
+        return text.getLength();
+    }
+    
+    /**
+     * Returns the text under iteration as a string
+     * @return a copy of the text under iteration.
+     * @stable ICU 2.8
+     */
+    public String getText() {
+        return text.getText();
+    }
+    
+    /**
+     * Set the input text over which this <tt>Normalizer</tt> will iterate.
+     * The iteration position is set to the beginning of the input text->
+     * @param newText   The new string to be normalized.
+     * @stable ICU 2.8
+     */
+    public void setText(StringBuffer newText) {
+        
+        UCharacterIterator newIter = UCharacterIterator.getInstance(newText);
+        if (newIter == null) {
+            throw new InternalError("Could not create a new UCharacterIterator");
+        }  
+        text = newIter;
+        reset();
+    }
+        
+    /**
+     * Set the input text over which this <tt>Normalizer</tt> will iterate.
+     * The iteration position is set to the beginning of the input text->
+     * @param newText   The new string to be normalized.
+     * @stable ICU 2.8
+     */
+    public void setText(char[] newText) {
+        
+        UCharacterIterator newIter = UCharacterIterator.getInstance(newText);
+        if (newIter == null) {
+            throw new InternalError("Could not create a new UCharacterIterator");
+        }  
+        text = newIter;
+        reset();
+    }
+    
+    /**
+     * Set the input text over which this <tt>Normalizer</tt> will iterate.
+     * The iteration position is set to the beginning of the input text->
+     * @param newText   The new string to be normalized.
+     * @stable ICU 2.8
+     */
+    public void setText(String newText) {
+            
+        UCharacterIterator newIter = UCharacterIterator.getInstance(newText);
+        if (newIter == null) {
+            throw new InternalError("Could not create a new UCharacterIterator");
+        }  
+        text = newIter;
+        reset();
+    }
+    
+    /**
+     * Set the input text over which this <tt>Normalizer</tt> will iterate.
+     * The iteration position is set to the beginning of the input text->
+     * @param newText   The new string to be normalized.
+     * @stable ICU 2.8
+     */
+    public void setText(CharacterIterator newText) {
+        
+        UCharacterIterator newIter = UCharacterIterator.getInstance(newText);
+        if (newIter == null) {
+            throw new InternalError("Could not create a new UCharacterIterator");
+        }  
+        text = newIter;
+        reset();
+    }
+    
+    /**
+     * Set the input text over which this <tt>Normalizer</tt> will iterate.
+     * The iteration position is set to the beginning of the string.
+     * @param newText   The new string to be normalized.
+     * @stable ICU 2.8
+     */
+    public void setText(UCharacterIterator newText) { 
+        try{
+            UCharacterIterator newIter = (UCharacterIterator)newText.clone();
+            if (newIter == null) {
+                throw new InternalError("Could not create a new UCharacterIterator");
+            }
+            text = newIter;
+            reset();
+        }catch(CloneNotSupportedException e) {
+            throw new InternalError("Could not clone the UCharacterIterator");
+        }
+    }
+    
+    //-------------------------------------------------------------------------
+    // Private utility methods
+    //-------------------------------------------------------------------------
+    
+
+    /* backward iteration --------------------------------------------------- */
+               
+    /*
+     * read backwards and get norm32
+     * return 0 if the character is <minC
+     * if c2!=0 then (c2, c) is a surrogate pair (reversed - c2 is first 
+     * surrogate but read second!)
+     */
+
+    private static  long getPrevNorm32(UCharacterIterator src, 
+                                       int/*unsigned*/ minC, 
+                                       int/*unsigned*/ mask, 
+                                       char[] chars) {
+        long norm32;
+        int ch=0;
+        /* need src.hasPrevious() */
+        if((ch=src.previous()) == UCharacterIterator.DONE) {
+            return 0;
+        }
+        chars[0]=(char)ch;
+        chars[1]=0;
+    
+        /* check for a surrogate before getting norm32 to see if we need to 
+         * predecrement further */
+        if(chars[0]<minC) {
+            return 0;
+        } else if(!UTF16.isSurrogate(chars[0])) {
+            return NormalizerImpl.getNorm32(chars[0]);
+        } else if(UTF16.isLeadSurrogate(chars[0]) || (src.getIndex()==0)) {
+            /* unpaired surrogate */
+            chars[1]=(char)src.current();
+            return 0;
+        } else if(UTF16.isLeadSurrogate(chars[1]=(char)src.previous())) {
+            norm32=NormalizerImpl.getNorm32(chars[1]);
+            if((norm32&mask)==0) {
+                /* all surrogate pairs with this lead surrogate have irrelevant 
+                 * data */
+                return 0;
+            } else {
+                /* norm32 must be a surrogate special */
+                return NormalizerImpl.getNorm32FromSurrogatePair(norm32,chars[0]);
+            }
+        } else {
+            /* unpaired second surrogate, undo the c2=src.previous() movement */
+            src.moveIndex( 1);
+            return 0;
+        }
+    }
+ 
+    private interface IsPrevBoundary{
+        public boolean isPrevBoundary(UCharacterIterator src,
+                                      int/*unsigned*/ minC, 
+                                      int/*unsigned*/ mask, 
+                                      char[] chars);
+    }
+    private static final class IsPrevNFDSafe implements IsPrevBoundary{
+        /*
+         * for NF*D:
+         * read backwards and check if the lead combining class is 0
+         * if c2!=0 then (c2, c) is a surrogate pair (reversed - c2 is first 
+         * surrogate but read second!)
+         */
+        public boolean isPrevBoundary(UCharacterIterator src,
+                                      int/*unsigned*/ minC, 
+                                      int/*unsigned*/ ccOrQCMask, 
+                                      char[] chars) {
+    
+            return NormalizerImpl.isNFDSafe(getPrevNorm32(src, minC, 
+                                                          ccOrQCMask, chars), 
+                                            ccOrQCMask, 
+                                            ccOrQCMask& NormalizerImpl.QC_MASK);
+        }
+    }
+    
+    private static final class IsPrevTrueStarter implements IsPrevBoundary{
+        /*
+         * read backwards and check if the character is (or its decomposition 
+         * begins with) a "true starter" (cc==0 and NF*C_YES)
+         * if c2!=0 then (c2, c) is a surrogate pair (reversed - c2 is first 
+         * surrogate but read second!)
+         */
+        public boolean isPrevBoundary(UCharacterIterator src, 
+                                      int/*unsigned*/ minC,
+                                      int/*unsigned*/ ccOrQCMask,
+                                      char[] chars) {
+            long norm32; 
+            int/*unsigned*/ decompQCMask;
+            
+            decompQCMask=(ccOrQCMask<<2)&0xf; /*decomposition quick check mask*/
+            norm32=getPrevNorm32(src, minC, ccOrQCMask|decompQCMask, chars);
+            return NormalizerImpl.isTrueStarter(norm32,ccOrQCMask,decompQCMask);
+        }
+    }
+    
+    private static int findPreviousIterationBoundary(UCharacterIterator src,
+                                                     IsPrevBoundary obj, 
+                                                     int/*unsigned*/ minC,
+                                                     int/*mask*/ mask,
+                                                     char[] buffer, 
+                                                     int[] startIndex) {
+        char[] chars=new char[2];
+        boolean isBoundary;
+    
+        /* fill the buffer from the end backwards */
+        startIndex[0] = buffer.length;
+        chars[0]=0;
+        while(src.getIndex()>0 && chars[0]!=UCharacterIterator.DONE) {
+            isBoundary=obj.isPrevBoundary(src, minC, mask, chars);
+    
+            /* always write this character to the front of the buffer */
+            /* make sure there is enough space in the buffer */
+            if(startIndex[0] < (chars[1]==0 ? 1 : 2)) {
+
+                // grow the buffer
+                char[] newBuf = new char[buffer.length*2];
+                /* move the current buffer contents up */
+                System.arraycopy(buffer,startIndex[0],newBuf,
+                                 newBuf.length-(buffer.length-startIndex[0]),
+                                 buffer.length-startIndex[0]);
+                //adjust the startIndex
+                startIndex[0]+=newBuf.length-buffer.length;
+                
+                buffer=newBuf;
+                newBuf=null;                
+                
+            }
+    
+            buffer[--startIndex[0]]=chars[0];
+            if(chars[1]!=0) {
+                buffer[--startIndex[0]]=chars[1];
+            }
+    
+            /* stop if this just-copied character is a boundary */
+            if(isBoundary) {
+                break;
+            }
+        }
+    
+        /* return the length of the buffer contents */
+        return buffer.length-startIndex[0];
+    }
+    
+    private static int previous(UCharacterIterator src,
+                                char[] dest, int destStart, int destLimit, 
+                                Mode mode, 
+                                boolean doNormalize, 
+                                boolean[] pNeededToNormalize,
+                                int options) {
+
+        IsPrevBoundary isPreviousBoundary;
+        int destLength, bufferLength;
+        int/*unsigned*/ mask;
+        
+        int c,c2;
+        
+        char minC;
+        int destCapacity = destLimit-destStart;
+        destLength=0;
+        
+        
+        if(pNeededToNormalize!=null) {
+            pNeededToNormalize[0]=false;
+        }
+        minC = (char)mode.getMinC();
+        mask = mode.getMask();
+        isPreviousBoundary = mode.getPrevBoundary();
+
+        if(isPreviousBoundary==null) {
+            destLength=0;
+            if((c=src.previous())>=0) {
+                destLength=1;
+                if(UTF16.isTrailSurrogate((char)c)) {
+                    c2= src.previous();
+                    if(c2!= UCharacterIterator.DONE) {
+                        if(UTF16.isLeadSurrogate((char)c2)) {
+                            if(destCapacity>=2) {
+                                dest[1]=(char)c; // trail surrogate 
+                                destLength=2;
+                            }
+                            // lead surrogate to be written below 
+                            c=c2; 
+                        } else {
+                            src.moveIndex(1);
+                        }
+                    }
+                }
+    
+                if(destCapacity>0) {
+                    dest[0]=(char)c;
+                }
+            }
+            return destLength;
+        }
+        
+        char[] buffer = new char[100];
+        int[] startIndex= new int[1];
+        bufferLength=findPreviousIterationBoundary(src,
+                                                   isPreviousBoundary, 
+                                                   minC, mask,buffer, 
+                                                   startIndex);
+        if(bufferLength>0) {
+            if(doNormalize) {
+                destLength=Normalizer.normalize(buffer,startIndex[0],
+                                                startIndex[0]+bufferLength,
+                                                dest, destStart,destLimit,
+                                                mode, options);
+                
+                if(pNeededToNormalize!=null) {
+                    pNeededToNormalize[0]=(boolean)(destLength!=bufferLength ||
+                                                    Utility.arrayRegionMatches(
+                                                                               buffer,0,dest,
+                                                                               destStart,destLimit
+                                                                               ));
+                }
+            } else {
+                /* just copy the source characters */
+                if(destCapacity>0) {
+                    System.arraycopy(buffer,startIndex[0],dest,0,
+                                     (bufferLength<destCapacity) ? 
+                                     bufferLength : destCapacity
+                                     );
+                }
+            }
+        } 
+
+    
+        return destLength;
+    }
+
+ 
+    
+    /* forward iteration ---------------------------------------------------- */
+    /*
+     * read forward and check if the character is a next-iteration boundary
+     * if c2!=0 then (c, c2) is a surrogate pair
+     */
+    private interface IsNextBoundary{
+        boolean isNextBoundary(UCharacterIterator src, 
+                               int/*unsigned*/ minC, 
+                               int/*unsigned*/ mask, 
+                               int[] chars);
+    }   
+    /*
+     * read forward and get norm32
+     * return 0 if the character is <minC
+     * if c2!=0 then (c2, c) is a surrogate pair
+     * always reads complete characters
+     */
+    private static long /*unsigned*/ getNextNorm32(UCharacterIterator src, 
+                                                   int/*unsigned*/ minC, 
+                                                   int/*unsigned*/ mask, 
+                                                   int[] chars) {
+        long norm32;
+    
+        /* need src.hasNext() to be true */
+        chars[0]=src.next();
+        chars[1]=0;
+    
+        if(chars[0]<minC) {
+            return 0;
+        }
+    
+        norm32=NormalizerImpl.getNorm32((char)chars[0]);
+        if(UTF16.isLeadSurrogate((char)chars[0])) {
+            if(src.current()!=UCharacterIterator.DONE &&
+               UTF16.isTrailSurrogate((char)(chars[1]=src.current()))) {
+                src.moveIndex(1); /* skip the c2 surrogate */
+                if((norm32&mask)==0) {
+                    /* irrelevant data */
+                    return 0;
+                } else {
+                    /* norm32 must be a surrogate special */
+                    return NormalizerImpl.getNorm32FromSurrogatePair(norm32,(char)chars[1]);
+                }
+            } else {
+                /* unmatched surrogate */
+                return 0;
+            }
+        }
+        return norm32;
+    }
+
+
+    /*
+     * for NF*D:
+     * read forward and check if the lead combining class is 0
+     * if c2!=0 then (c, c2) is a surrogate pair
+     */
+    private static final class IsNextNFDSafe implements IsNextBoundary{
+        public boolean isNextBoundary(UCharacterIterator src, 
+                                      int/*unsigned*/ minC, 
+                                      int/*unsigned*/ ccOrQCMask, 
+                                      int[] chars) {
+            return NormalizerImpl.isNFDSafe(getNextNorm32(src,minC,ccOrQCMask,chars), 
+                                            ccOrQCMask, ccOrQCMask&NormalizerImpl.QC_MASK);
+        }
+    }
+    
+    /*
+     * for NF*C:
+     * read forward and check if the character is (or its decomposition begins 
+     * with) a "true starter" (cc==0 and NF*C_YES)
+     * if c2!=0 then (c, c2) is a surrogate pair
+     */
+    private static final class IsNextTrueStarter implements IsNextBoundary{
+        public boolean isNextBoundary(UCharacterIterator src, 
+                                      int/*unsigned*/ minC, 
+                                      int/*unsigned*/ ccOrQCMask, 
+                                      int[] chars) {
+            long norm32;
+            int/*unsigned*/ decompQCMask;
+            
+            decompQCMask=(ccOrQCMask<<2)&0xf; /*decomposition quick check mask*/
+            norm32=getNextNorm32(src, minC, ccOrQCMask|decompQCMask, chars);
+            return NormalizerImpl.isTrueStarter(norm32, ccOrQCMask, decompQCMask);
+        }
+    }
+    
+    private static int findNextIterationBoundary(UCharacterIterator src,
+                                                 IsNextBoundary obj, 
+                                                 int/*unsigned*/ minC, 
+                                                 int/*unsigned*/ mask,
+                                                 char[] buffer) {
+        int[] chars = new int[2];
+        int bufferIndex =0;
+        
+        if(src.current()==UCharacterIterator.DONE) {
+            return 0;
+        }
+        /* get one character and ignore its properties */
+        chars[0]=src.next();
+        buffer[0]=(char)chars[0];
+        bufferIndex=1;
+        
+        if(UTF16.isLeadSurrogate((char)chars[0])&& 
+           src.current()!=UCharacterIterator.DONE) {
+            if(UTF16.isTrailSurrogate((char)(chars[1]=src.next()))) {
+                buffer[bufferIndex++]=(char)chars[1];
+            } else {
+                src.moveIndex(-1); /* back out the non-trail-surrogate */
+            }
+        }
+    
+        /* get all following characters until we see a boundary */
+        /* checking hasNext() instead of c!=DONE on the off-chance that U+ffff 
+         * is part of the string */
+        while( src.current()!=UCharacterIterator.DONE) {
+            if(obj.isNextBoundary(src, minC, mask, chars)) {
+                /* back out the latest movement to stop at the boundary */
+                src.moveIndex(chars[1]==0 ? -1 : -2);
+                break;
+            } else {
+                if(bufferIndex+(chars[1]==0 ? 1 : 2)<=buffer.length) {
+                    buffer[bufferIndex++]=(char)chars[0];
+                    if(chars[1]!=0) {
+                        buffer[bufferIndex++]=(char)chars[1];
+                    }
+                } else {
+                    char[] newBuf = new char[buffer.length    *2];
+                    System.arraycopy(buffer,0,newBuf,0,bufferIndex);
+                    buffer = newBuf;
+                    buffer[bufferIndex++]=(char)chars[0];
+                    if(chars[1]!=0) {
+                        buffer[bufferIndex++]=(char)chars[1];
+                    }
+                }
+            }
+        }
+    
+        /* return the length of the buffer contents */
+        return bufferIndex;
+    }
+    
+    private static int next(UCharacterIterator src,
+                            char[] dest, int destStart, int destLimit,
+                            Normalizer.Mode mode,
+                            boolean doNormalize, 
+                            boolean[] pNeededToNormalize,
+                            int options) {
+                                
+        IsNextBoundary isNextBoundary;
+        int /*unsigned*/ mask;
+        int /*unsigned*/ bufferLength;
+        int c,c2;
+        char minC;
+        int destCapacity = destLimit - destStart;
+        int destLength = 0;
+        
+        if(pNeededToNormalize!=null) {
+            pNeededToNormalize[0]=false;
+        }
+
+        minC = (char)mode.getMinC();
+        mask = mode.getMask();
+        isNextBoundary = mode.getNextBoundary();
+        
+        if(isNextBoundary==null) {
+            destLength=0;
+            c=src.next();
+            if(c!=UCharacterIterator.DONE) {
+                destLength=1;
+                if(UTF16.isLeadSurrogate((char)c)) {
+                    c2= src.next();
+                    if(c2!= UCharacterIterator.DONE) {
+                        if(UTF16.isTrailSurrogate((char)c2)) {
+                            if(destCapacity>=2) {
+                                dest[1]=(char)c2; // trail surrogate 
+                                destLength=2;
+                            }
+                            // lead surrogate to be written below 
+                        } else {
+                            src.moveIndex(-1);
+                        }
+                    }
+                }
+    
+                if(destCapacity>0) {
+                    dest[0]=(char)c;
+                }
+            }
+            return destLength;
+        }
+
+        char[] buffer=new char[100];
+        int[] startIndex = new int[1];
+        
+        bufferLength=findNextIterationBoundary(src,isNextBoundary, minC, mask,
+                                               buffer);
+        if(bufferLength>0) {
+            if(doNormalize) {
+                destLength=mode.normalize(buffer,startIndex[0],bufferLength,
+                                          dest,destStart,destLimit, options);
+                
+                if(pNeededToNormalize!=null) {
+                    pNeededToNormalize[0]=(boolean)(destLength!=bufferLength ||
+                                                    Utility.arrayRegionMatches(buffer,startIndex[0],
+                                                                               dest,destStart,
+                                                                               destLength));
+                }
+            } else {
+                /* just copy the source characters */
+                if(destCapacity>0) {
+                    System.arraycopy(buffer,0,dest,destStart,
+                                     Math.min(bufferLength,destCapacity)
+                                     );
+                }
+                                      
+               
+            }
+        }
+        return destLength;
+    } 
+
+    private void clearBuffer() {
+        bufferLimit=bufferStart=bufferPos=0;
+    }
+        
+    private boolean nextNormalize() {
+        
+        clearBuffer();
+        currentIndex=nextIndex;
+        text.setIndex(nextIndex);
+                
+        bufferLimit=next(text,buffer,bufferStart,buffer.length,mode,true,null,options);
+                        
+        nextIndex=text.getIndex();
+        return (bufferLimit>0);
+    }
+        
+    private boolean     previousNormalize() {
+
+        clearBuffer();
+        nextIndex=currentIndex;
+        text.setIndex(currentIndex);
+        bufferLimit=previous(text,buffer,bufferStart,buffer.length,mode,true,null,options);
+                
+        currentIndex=text.getIndex();
+        bufferPos = bufferLimit;
+        return bufferLimit>0;
+    }
+    
+    private int getCodePointAt(int index) {
+        if( UTF16.isSurrogate(buffer[index])) {
+            if(UTF16.isLeadSurrogate(buffer[index])) {
+                if((index+1)<bufferLimit &&
+                   UTF16.isTrailSurrogate(buffer[index+1])) {
+                    return UCharacterProperty.getRawSupplementary(
+                                                                  buffer[index], 
+                                                                  buffer[index+1]
+                                                                  );
+                }
+            }else if(UTF16.isTrailSurrogate(buffer[index])) {
+                if(index>0 && UTF16.isLeadSurrogate(buffer[index-1])) {
+                    return UCharacterProperty.getRawSupplementary(
+                                                                  buffer[index-1],
+                                                                  buffer[index]
+                                                                  );
+                }
+            }   
+        }
+        return buffer[index];
+        
+    }
+    
+    /**
+     * Internal API
+     * @internal
+     */
+    public static boolean isNFSkippable(int c, Mode mode) {
+        return mode.isNFSkippable(c);
+    }    
+
+        
+    private static int internalCompare(char[] s1, int s1Start,int s1Limit,
+                                       char[] s2, int s2Start,int s2Limit,
+                                       int options) {
+                                  
+        char[] fcd1  = new char[300];
+        char[] fcd2  = new char[300];
+        
+        Normalizer.Mode mode;
+        int result;
+        
+        if(    s1==null || s1Start<0 || s1Limit<0 || 
+               s2==null || s2Start<0 || s2Limit<0 ||
+               s1Limit<s1Start || s2Limit<s2Start
+               ) {
+                
+            throw new IllegalArgumentException();
+        }
+
+        UnicodeSet nx=NormalizerImpl.getNX((int)(options>>Normalizer.COMPARE_NORM_OPTIONS_SHIFT));
+        options|= NormalizerImpl.COMPARE_EQUIV;
+        result=0;
+
+        /*
+         * UAX #21 Case Mappings, as fixed for Unicode version 4
+         * (see Jitterbug 2021), defines a canonical caseless match as
+         *
+         * A string X is a canonical caseless match
+         * for a string Y if and only if
+         * NFD(toCasefold(NFD(X))) = NFD(toCasefold(NFD(Y)))
+         *
+         * For better performance, we check for FCD (or let the caller tell us that
+         * both strings are in FCD) for the inner normalization.
+         * BasicNormalizerTest::FindFoldFCDExceptions() makes sure that
+         * case-folding preserves the FCD-ness of a string.
+         * The outer normalization is then only performed by NormalizerImpl.cmpEquivFold()
+         * when there is a difference.
+         *
+         * Exception: When using the Turkic case-folding option, we do perform
+         * full NFD first. This is because in the Turkic case precomposed characters
+         * with 0049 capital I or 0069 small i fold differently whether they
+         * are first decomposed or not, so an FCD check - a check only for
+         * canonical order - is not sufficient.
+         */
+        if((options& Normalizer.FOLD_CASE_EXCLUDE_SPECIAL_I) >0 ) {
+            mode=Normalizer.NFD;
+            options&=~ Normalizer.INPUT_IS_FCD;
+        } else {
+            mode=Normalizer.FCD;
+        }
+        if((options& Normalizer.INPUT_IS_FCD)==0) {
+            char[] dest;
+            int fcdLen1, fcdLen2;
+            boolean isFCD1, isFCD2;
+        
+            // check if s1 and/or s2 fulfill the FCD conditions
+            isFCD1= Normalizer.YES==mode.quickCheck(s1, s1Start, s1Limit, true, nx);
+            isFCD2= Normalizer.YES==mode.quickCheck(s2, s2Start, s2Limit, true, nx);
+            /*
+             * ICU 2.4 had a further optimization:
+             * If both strings were not in FCD, then they were both NFD'ed,
+             * and the COMPARE_EQUIV option was turned off.
+             * It is not entirely clear that this is valid with the current
+             * definition of the canonical caseless match.
+             * Therefore, ICU 2.6 removes that optimization.
+             */
+
+            if(!isFCD1) {
+                fcdLen1=mode.normalize(s1, 0, s1.length,
+                                       fcd1, 0, fcd1.length,
+                                       nx);
+                                       
+                if(fcdLen1>fcd1.length) {
+                    dest=new char[fcdLen1];
+                    fcdLen1=mode.normalize( s1, 0, s1.length,
+                                            dest, 0, dest.length,
+                                            nx);
+                    s1=dest;
+                } else {
+                    s1=fcd1;
+                }
+                s1Limit=fcdLen1;
+                s1Start=0;
+            }
+
+            if(!isFCD2) {
+                fcdLen2=mode.normalize(s2,s2Start,s2Limit,
+                                       fcd2,0,fcd2.length,
+                                       nx);
+                
+                if(fcdLen2>fcd2.length) {
+                    dest=new char[fcdLen2];
+                    fcdLen2=mode.normalize( s2,s2Start,s2Limit,
+                                            dest,0,dest.length,
+                                            nx);
+                    s2=dest;
+                } else {
+                    s2=fcd2;
+                }
+                s2Limit=fcdLen2;
+                s2Start=0;
+            }
+                
+        }
+        
+
+        result=NormalizerImpl.cmpEquivFold(s1, s1Start, s1Limit, 
+                                           s2, s2Start, s2Limit, options);
+        return result;
+    }    
+    
+    /**
+     * Fetches the Unicode version burned into the Normalization data file
+     * @return VersionInfo version information of the normalizer
+     * @internal
+     * @author ram
+     */
+    static VersionInfo getUnicodeVersion() {
+        return NormalizerImpl.getUnicodeVersion();
+    }
+}
diff --git a/src/com/ibm/icu/text/NullTransliterator.java b/src/com/ibm/icu/text/NullTransliterator.java
new file mode 100755
index 0000000..da42da4
--- /dev/null
+++ b/src/com/ibm/icu/text/NullTransliterator.java
@@ -0,0 +1,39 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.text;
+
+/**
+ * A transliterator that leaves text unchanged.
+ * @internal
+ */
+class NullTransliterator extends Transliterator {
+    private static final String COPYRIGHT =
+        "\u00A9 IBM Corporation 2000. All rights reserved.";
+
+    /**
+     * Package accessible IDs for this transliterator.
+     */
+    static String SHORT_ID = "Null";
+    static String _ID      = "Any-Null";
+
+    /**
+     * Constructs a transliterator.
+     * @internal
+     */
+    public NullTransliterator() {
+        super(_ID, null);
+    }
+
+    /**
+     * Implements {@link Transliterator#handleTransliterate}.
+     * @internal
+     */
+    protected void handleTransliterate(Replaceable text,
+                                       Position offsets, boolean incremental) {
+        offsets.start = offsets.limit;
+    }
+}
diff --git a/src/com/ibm/icu/text/NumberFormat.java b/src/com/ibm/icu/text/NumberFormat.java
new file mode 100755
index 0000000..b4dc0e5
--- /dev/null
+++ b/src/com/ibm/icu/text/NumberFormat.java
@@ -0,0 +1,1488 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.text;
+
+import java.io.IOException;
+import java.io.InvalidObjectException;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
+import java.math.BigInteger;
+import java.text.FieldPosition;
+import java.text.ParseException;
+import java.text.ParsePosition;
+import java.util.Collections;
+import java.util.Locale;
+import java.util.MissingResourceException;
+import java.util.Set;
+
+//import com.ibm.icu.impl.ICULocaleData;
+import com.ibm.icu.impl.ICUResourceBundle;
+import com.ibm.icu.impl.LocaleUtility;
+import com.ibm.icu.util.Currency;
+import com.ibm.icu.util.CurrencyAmount;
+import com.ibm.icu.util.ULocale;
+import com.ibm.icu.util.UResourceBundle;
+import com.ibm.icu.text.UFormat;
+
+/**
+ * <code>NumberFormat</code> is the abstract base class for all number
+ * formats. This class provides the interface for formatting and parsing
+ * numbers. <code>NumberFormat</code> also provides methods for determining
+ * which locales have number formats, and what their names are.
+ *
+ * <p><strong>This is an enhanced version of <code>NumberFormat</code> that
+ * is based on the standard version in the JDK.  New or changed functionality
+ * is labeled
+ * <strong><font face=helvetica color=red>NEW</font></strong> or
+ * <strong><font face=helvetica color=red>CHANGED</font></strong>.</strong>
+ *
+ * <p>
+ * <code>NumberFormat</code> helps you to format and parse numbers for any locale.
+ * Your code can be completely independent of the locale conventions for
+ * decimal points, thousands-separators, or even the particular decimal
+ * digits used, or whether the number format is even decimal.
+ *
+ * <p>
+ * To format a number for the current Locale, use one of the factory
+ * class methods:
+ * <blockquote>
+ * <pre>
+ *  myString = NumberFormat.getInstance().format(myNumber);
+ * </pre>
+ * </blockquote>
+ * If you are formatting multiple numbers, it is
+ * more efficient to get the format and use it multiple times so that
+ * the system doesn't have to fetch the information about the local
+ * language and country conventions multiple times.
+ * <blockquote>
+ * <pre>
+ * NumberFormat nf = NumberFormat.getInstance();
+ * for (int i = 0; i < a.length; ++i) {
+ *     output.println(nf.format(myNumber[i]) + "; ");
+ * }
+ * </pre>
+ * </blockquote>
+ * To format a number for a different Locale, specify it in the
+ * call to <code>getInstance</code>.
+ * <blockquote>
+ * <pre>
+ * NumberFormat nf = NumberFormat.getInstance(Locale.FRENCH);
+ * </pre>
+ * </blockquote>
+ * You can also use a <code>NumberFormat</code> to parse numbers:
+ * <blockquote>
+ * <pre>
+ * myNumber = nf.parse(myString);
+ * </pre>
+ * </blockquote>
+ * Use <code>getInstance</code> or <code>getNumberInstance</code> to get the
+ * normal number format. Use <code>getIntegerInstance</code> to get an
+ * integer number format. Use <code>getCurrencyInstance</code> to get the
+ * currency number format. And use <code>getPercentInstance</code> to get a
+ * format for displaying percentages. With this format, a fraction like
+ * 0.53 is displayed as 53%.
+ *
+ * <p>
+ * You can also control the display of numbers with such methods as
+ * <code>setMinimumFractionDigits</code>.
+ * If you want even more control over the format or parsing,
+ * or want to give your users more control,
+ * you can try casting the <code>NumberFormat</code> you get from the factory methods
+ * to a <code>DecimalFormat</code>. This will work for the vast majority
+ * of locales; just remember to put it in a <code>try</code> block in case you
+ * encounter an unusual one.
+ *
+ * <p>
+ * NumberFormat is designed such that some controls
+ * work for formatting and others work for parsing.  The following is
+ * the detailed description for each these control methods,
+ * <p>
+ * setParseIntegerOnly : only affects parsing, e.g.
+ * if true,  "3456.78" -> 3456 (and leaves the parse position just after '6')
+ * if false, "3456.78" -> 3456.78 (and leaves the parse position just after '8')
+ * This is independent of formatting.  If you want to not show a decimal point
+ * where there might be no digits after the decimal point, use
+ * setDecimalSeparatorAlwaysShown on DecimalFormat.
+ * <p>
+ * You can also use forms of the <code>parse</code> and <code>format</code>
+ * methods with <code>ParsePosition</code> and <code>FieldPosition</code> to
+ * allow you to:
+ * <ul>
+ * <li> progressively parse through pieces of a string
+ * <li> align the decimal point and other areas
+ * </ul>
+ * For example, you can align numbers in two ways:
+ * <ol>
+ * <li> If you are using a monospaced font with spacing for alignment,
+ *      you can pass the <code>FieldPosition</code> in your format call, with
+ *      <code>field</code> = <code>INTEGER_FIELD</code>. On output,
+ *      <code>getEndIndex</code> will be set to the offset between the
+ *      last character of the integer and the decimal. Add
+ *      (desiredSpaceCount - getEndIndex) spaces at the front of the string.
+ *
+ * <li> If you are using proportional fonts,
+ *      instead of padding with spaces, measure the width
+ *      of the string in pixels from the start to <code>getEndIndex</code>.
+ *      Then move the pen by
+ *      (desiredPixelWidth - widthToAlignmentPoint) before drawing the text.
+ *      It also works where there is no decimal, but possibly additional
+ *      characters at the end, e.g., with parentheses in negative
+ *      numbers: "(12)" for -12.
+ * </ol>
+ *
+ * <h4>Synchronization</h4>
+ * <p>
+ * Number formats are generally not synchronized. It is recommended to create 
+ * separate format instances for each thread. If multiple threads access a format
+ * concurrently, it must be synchronized externally. 
+ * <p>
+ *
+ * <h4>DecimalFormat</h4>
+ * <p>DecimalFormat is the concrete implementation of NumberFormat, and the
+ * NumberFormat API is essentially an abstraction from DecimalFormat's API.
+ * Refer to DecimalFormat for more information about this API.</p>
+ *
+ * see          DecimalFormat
+ * see          java.text.ChoiceFormat
+ * @author       Mark Davis
+ * @author       Helena Shih
+ * @author       Alan Liu
+ * @stable ICU 2.0
+ */
+public abstract class NumberFormat extends UFormat {
+
+    // Constants used by factory methods to specify a style of format.
+    private static final int NUMBERSTYLE = 0;
+    private static final int CURRENCYSTYLE = 1;
+    private static final int PERCENTSTYLE = 2;
+    private static final int SCIENTIFICSTYLE = 3;
+    private static final int INTEGERSTYLE = 4;
+
+    /**
+     * Field constant used to construct a FieldPosition object. Signifies that
+     * the position of the integer part of a formatted number should be returned.
+     * @see java.text.FieldPosition
+     * @stable ICU 2.0
+     */
+    public static final int INTEGER_FIELD = 0;
+
+    /**
+     * Field constant used to construct a FieldPosition object. Signifies that
+     * the position of the fraction part of a formatted number should be returned.
+     * @see java.text.FieldPosition
+     * @stable ICU 2.0
+     */
+    public static final int FRACTION_FIELD = 1;
+
+    /**
+     * <strong><font face=helvetica color=red>CHANGED</font></strong>
+     * Format an object.  Change: recognizes <code>BigInteger</code>
+     * and <code>BigDecimal</code> objects.
+     * @stable ICU 2.0
+     */
+    public StringBuffer format(Object number,
+			       StringBuffer toAppendTo,
+			       FieldPosition pos)
+    {
+        if (number instanceof Long) {
+            return format(((Long)number).longValue(), toAppendTo, pos);
+        } else if (number instanceof BigInteger) {
+            return format((BigInteger) number, toAppendTo, pos);
+        } else if (number instanceof java.math.BigDecimal) {
+            return format((java.math.BigDecimal) number, toAppendTo, pos);
+        } else if (number instanceof com.ibm.icu.math.BigDecimal) {
+            return format((com.ibm.icu.math.BigDecimal) number, toAppendTo, pos);
+        } else if (number instanceof CurrencyAmount) {
+            return format((CurrencyAmount)number, toAppendTo, pos);
+        } else if (number instanceof Number) {
+            return format(((Number)number).doubleValue(), toAppendTo, pos);
+        } else {
+            throw new IllegalArgumentException("Cannot format given Object as a Number");
+        }
+    }
+
+    /**
+     * @stable ICU 2.0
+     */
+    public final Object parseObject(String source,
+                                    ParsePosition parsePosition)
+    {
+        return parse(source, parsePosition);
+    }
+
+    /**
+     * Specialization of format.
+     * @see java.text.Format#format(Object)
+     * @stable ICU 2.0
+     */
+    public final String format(double number) {
+        return format(number,new StringBuffer(),
+                      new FieldPosition(0)).toString();
+    }
+
+    /**
+     * Specialization of format.
+     * @see java.text.Format#format(Object)
+     * @stable ICU 2.0
+     */
+    public final String format(long number) {
+        StringBuffer buf = new StringBuffer(19);
+        FieldPosition pos = new FieldPosition(0);
+        format(number, buf, pos);
+        return buf.toString();
+    }
+
+    /**
+     * <strong><font face=helvetica color=red>NEW</font></strong>
+     * Convenience method to format a BigInteger.
+     * @stable ICU 2.0
+     */
+    public final String format(BigInteger number) {
+        return format(number, new StringBuffer(),
+                      new FieldPosition(0)).toString();
+    }
+
+    /**
+     * <strong><font face=helvetica color=red>NEW</font></strong>
+     * Convenience method to format a BigDecimal.
+     * @stable ICU 2.0
+     */
+    public final String format(java.math.BigDecimal number) {
+        return format(number, new StringBuffer(),
+                      new FieldPosition(0)).toString();
+    }
+
+    /**
+     * <strong><font face=helvetica color=red>NEW</font></strong>
+     * Convenience method to format an ICU BigDecimal.
+     * @stable ICU 2.0
+     */
+    public final String format(com.ibm.icu.math.BigDecimal number) {
+        return format(number, new StringBuffer(),
+                      new FieldPosition(0)).toString();
+    }
+
+    /**
+     * <strong><font face=helvetica color=red>NEW</font></strong>
+     * Convenience method to format a CurrencyAmount.
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public final String format(CurrencyAmount currAmt) {
+        return format(currAmt, new StringBuffer(),
+                      new FieldPosition(0)).toString();
+    }
+
+    /**
+     * Specialization of format.
+     * @see java.text.Format#format(Object, StringBuffer, FieldPosition)
+     * @stable ICU 2.0
+     */
+    public abstract StringBuffer format(double number,
+                                        StringBuffer toAppendTo,
+                                        FieldPosition pos);
+
+    /**
+     * Specialization of format.
+     * @see java.text.Format#format(Object, StringBuffer, FieldPosition)
+     * @stable ICU 2.0
+     */
+    public abstract StringBuffer format(long number,
+                                        StringBuffer toAppendTo,
+                                        FieldPosition pos);
+
+    /**
+     * <strong><font face=helvetica color=red>NEW</font></strong>
+     * Format a BigInteger.
+     * @see java.text.Format#format(Object, StringBuffer, FieldPosition)
+     * @stable ICU 2.0
+     */
+    public abstract StringBuffer format(BigInteger number,
+                                        StringBuffer toAppendTo,
+                                        FieldPosition pos); 
+
+    /**
+     * <strong><font face=helvetica color=red>NEW</font></strong>
+     * Format a BigDecimal.
+     * @see java.text.Format#format(Object, StringBuffer, FieldPosition)
+     * @stable ICU 2.0
+     */
+    public abstract StringBuffer format(java.math.BigDecimal number,
+                                        StringBuffer toAppendTo,
+                                        FieldPosition pos);
+
+    /**
+     * <strong><font face=helvetica color=red>NEW</font></strong>
+     * Format a BigDecimal.
+     * @see java.text.Format#format(Object, StringBuffer, FieldPosition)
+     * @stable ICU 2.0
+     */
+    public abstract StringBuffer format(com.ibm.icu.math.BigDecimal number,
+                                        StringBuffer toAppendTo,
+                                        FieldPosition pos);
+
+    /**
+     * <strong><font face=helvetica color=red>NEW</font></strong>
+     * Format a CurrencyAmount.
+     * @see java.text.Format#format(Object, StringBuffer, FieldPosition)
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public StringBuffer format(CurrencyAmount currAmt,
+                               StringBuffer toAppendTo,
+                               FieldPosition pos) {
+        // Default implementation -- subclasses may override
+        Currency save = getCurrency(), curr = currAmt.getCurrency();
+        boolean same = curr.equals(save);
+        if (!same) setCurrency(curr);
+        format(currAmt.getNumber(), toAppendTo, pos);
+        if (!same) setCurrency(save);
+        return toAppendTo;
+    }
+
+    /**
+     * Returns a Long if possible (e.g., within the range [Long.MIN_VALUE,
+     * Long.MAX_VALUE] and with no decimals), otherwise a Double.
+     * If IntegerOnly is set, will stop at a decimal
+     * point (or equivalent; e.g., for rational numbers "1 2/3", will stop
+     * after the 1).
+     * Does not throw an exception; if no object can be parsed, index is
+     * unchanged!
+     * @see #isParseIntegerOnly
+     * @see java.text.Format#parseObject(String, ParsePosition)
+     * @stable ICU 2.0
+     */
+    public abstract Number parse(String text, ParsePosition parsePosition);
+
+    /**
+     * Parses text from the beginning of the given string to produce a number.
+     * The method might not use the entire text of the given string.
+     *
+     * @param text A String whose beginning should be parsed.
+     * @return A Number parsed from the string.
+     * @exception ParseException if the beginning of the specified string 
+     * cannot be parsed.
+     * @see #format
+     * @stable ICU 2.0
+     */
+    //Bug 4375399 [Richard/GCL]
+    public Number parse(String text) throws ParseException {
+        ParsePosition parsePosition = new ParsePosition(0);
+        Number result = parse(text, parsePosition);
+        if (parsePosition.getIndex() == 0) {
+            throw new ParseException("Unparseable number: \"" + text + '"',
+                                     parsePosition.getErrorIndex());
+        }
+        return result;
+    }
+
+    /**
+     * <strong><font face=helvetica color=red>NEW</font></strong>
+     * Parses text from the given string as a CurrencyAmount.  Unlike
+     * the parse() method, this method will attempt to parse a generic
+     * currency name, searching for a match of this object's locale's
+     * currency display names, or for a 3-letter ISO currency code.
+     * This method will fail if this format is not a currency format,
+     * that is, if it does not contain the currency pattern symbol
+     * (U+00A4) in its prefix or suffix.
+     *
+     * @param text the string to parse
+     * @param pos input-output position; on input, the position within
+     * text to match; must have 0 <= pos.getIndex() < text.length();
+     * on output, the position after the last matched character. If
+     * the parse fails, the position in unchanged upon output.
+     * @return a CurrencyAmount, or null upon failure
+     * @internal
+     */
+    CurrencyAmount parseCurrency(String text, ParsePosition pos) {
+        // Default implementation only -- subclasses should override
+        Number n = parse(text, pos);
+        return n == null ? null : new CurrencyAmount(n, getEffectiveCurrency());
+    }
+
+    /**
+     * Returns true if this format will parse numbers as integers only.
+     * For example in the English locale, with ParseIntegerOnly true, the
+     * string "1234." would be parsed as the integer value 1234 and parsing
+     * would stop at the "." character.  The decimal separator accepted
+     * by the parse operation is locale-dependent and determined by the
+     * subclass.
+     * @return true if this will parse integers only
+     * @stable ICU 2.0
+     */
+    public boolean isParseIntegerOnly() {
+        return parseIntegerOnly;
+    }
+
+    /**
+     * Sets whether or not numbers should be parsed as integers only.
+     * @param value true if this should parse integers only
+     * @see #isParseIntegerOnly
+     * @stable ICU 2.0
+     */
+    public void setParseIntegerOnly(boolean value) {
+        parseIntegerOnly = value;
+    }
+
+    //============== Locale Stuff =====================
+
+    /**
+     * Returns the default number format for the current default locale.
+     * The default format is one of the styles provided by the other
+     * factory methods: getNumberInstance, getIntegerInstance,
+     * getCurrencyInstance or getPercentInstance.
+     * Exactly which one is locale-dependent.
+     * @stable ICU 2.0
+     */
+    //Bug 4408066 [Richard/GCL]
+    public final static NumberFormat getInstance() {
+        return getInstance(ULocale.getDefault(), NUMBERSTYLE);
+    }
+
+    /**
+     * Returns the default number format for the specified locale.
+     * The default format is one of the styles provided by the other
+     * factory methods: getNumberInstance, getCurrencyInstance or getPercentInstance.
+     * Exactly which one is locale-dependent.
+     * @stable ICU 2.0
+     */
+    public static NumberFormat getInstance(Locale inLocale) {
+        return getInstance(ULocale.forLocale(inLocale), NUMBERSTYLE);
+    }
+
+    /**
+     * Returns the default number format for the specified locale.
+     * The default format is one of the styles provided by the other
+     * factory methods: getNumberInstance, getCurrencyInstance or getPercentInstance.
+     * Exactly which one is locale-dependent.
+     * @draft ICU 3.2
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static NumberFormat getInstance(ULocale inLocale) {
+        return getInstance(inLocale, NUMBERSTYLE);
+    }
+
+    /**
+     * Returns a general-purpose number format for the current default locale.
+     * @stable ICU 2.0
+     */
+    public final static NumberFormat getNumberInstance() {
+        return getInstance(ULocale.getDefault(), NUMBERSTYLE);
+    }
+
+    /**
+     * Returns a general-purpose number format for the specified locale.
+     * @stable ICU 2.0
+     */
+    public static NumberFormat getNumberInstance(Locale inLocale) {
+        return getInstance(ULocale.forLocale(inLocale), NUMBERSTYLE);
+    }
+
+    /**
+     * Returns a general-purpose number format for the specified locale.
+     * @draft ICU 3.2
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static NumberFormat getNumberInstance(ULocale inLocale) {
+        return getInstance(inLocale, NUMBERSTYLE);
+    }
+
+    /**
+     * Returns an integer number format for the current default locale. The
+     * returned number format is configured to round floating point numbers
+     * to the nearest integer using IEEE half-even rounding (see {@link 
+     * com.ibm.icu.math.BigDecimal#ROUND_HALF_EVEN ROUND_HALF_EVEN}) for formatting,
+     * and to parse only the integer part of an input string (see {@link
+     * #isParseIntegerOnly isParseIntegerOnly}).
+     *
+     * @return a number format for integer values
+     * @stable ICU 2.0
+     */
+    //Bug 4408066 [Richard/GCL]
+    public final static NumberFormat getIntegerInstance() {
+        return getInstance(ULocale.getDefault(), INTEGERSTYLE);
+    }
+
+    /**
+     * Returns an integer number format for the specified locale. The
+     * returned number format is configured to round floating point numbers
+     * to the nearest integer using IEEE half-even rounding (see {@link 
+     * com.ibm.icu.math.BigDecimal#ROUND_HALF_EVEN ROUND_HALF_EVEN}) for formatting,
+     * and to parse only the integer part of an input string (see {@link
+     * #isParseIntegerOnly isParseIntegerOnly}).
+     *
+     * @param inLocale the locale for which a number format is needed
+     * @return a number format for integer values
+     * @stable ICU 2.0
+     */
+    //Bug 4408066 [Richard/GCL]
+    public static NumberFormat getIntegerInstance(Locale inLocale) {
+        return getInstance(ULocale.forLocale(inLocale), INTEGERSTYLE);
+    }
+
+    /**
+     * Returns an integer number format for the specified locale. The
+     * returned number format is configured to round floating point numbers
+     * to the nearest integer using IEEE half-even rounding (see {@link 
+     * com.ibm.icu.math.BigDecimal#ROUND_HALF_EVEN ROUND_HALF_EVEN}) for formatting,
+     * and to parse only the integer part of an input string (see {@link
+     * #isParseIntegerOnly isParseIntegerOnly}).
+     *
+     * @param inLocale the locale for which a number format is needed
+     * @return a number format for integer values
+     * @draft ICU 3.2
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static NumberFormat getIntegerInstance(ULocale inLocale) {
+        return getInstance(inLocale, INTEGERSTYLE);
+    }
+
+    /**
+     * Returns a currency format for the current default locale.
+     * @return a number format for currency
+     * @stable ICU 2.0
+     */
+    public final static NumberFormat getCurrencyInstance() {
+        return getInstance(ULocale.getDefault(), CURRENCYSTYLE);
+    }
+
+    /**
+     * Returns a currency format for the specified locale.
+     * @return a number format for currency
+     * @stable ICU 2.0
+     */
+    public static NumberFormat getCurrencyInstance(Locale inLocale) {
+        return getInstance(ULocale.forLocale(inLocale), CURRENCYSTYLE);
+    }
+
+    /**
+     * Returns a currency format for the specified locale.
+     * @return a number format for currency
+     * @draft ICU 3.2
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static NumberFormat getCurrencyInstance(ULocale inLocale) {
+        return getInstance(inLocale, CURRENCYSTYLE);
+    }
+
+    /**
+     * Returns a percentage format for the current default locale.
+     * @return a number format for percents
+     * @stable ICU 2.0
+     */
+    public final static NumberFormat getPercentInstance() {
+        return getInstance(ULocale.getDefault(), PERCENTSTYLE);
+    }
+
+    /**
+     * Returns a percentage format for the specified locale.
+     * @return a number format for percents
+     * @stable ICU 2.0
+     */
+    public static NumberFormat getPercentInstance(Locale inLocale) {
+        return getInstance(ULocale.forLocale(inLocale), PERCENTSTYLE);
+    }
+
+    /**
+     * Returns a percentage format for the specified locale.
+     * @return a number format for percents
+     * @draft ICU 3.2
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static NumberFormat getPercentInstance(ULocale inLocale) {
+        return getInstance(inLocale, PERCENTSTYLE);
+    }
+
+    /**
+     * <strong><font face=helvetica color=red>NEW</font></strong>
+     * Returns a scientific format for the current default locale.
+     * @return a scientific number format
+     * @stable ICU 2.0
+     */
+    public final static NumberFormat getScientificInstance() {
+        return getInstance(ULocale.getDefault(), SCIENTIFICSTYLE);
+    }
+
+    /**
+     * <strong><font face=helvetica color=red>NEW</font></strong>
+     * Returns a scientific format for the specified locale.
+     * @return a scientific number format
+     * @stable ICU 2.0
+     */
+    public static NumberFormat getScientificInstance(Locale inLocale) {
+        return getInstance(ULocale.forLocale(inLocale), SCIENTIFICSTYLE);
+    }
+
+    /**
+     * <strong><font face=helvetica color=red>NEW</font></strong>
+     * Returns a scientific format for the specified locale.
+     * @return a scientific number format
+     * @draft ICU 3.2
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static NumberFormat getScientificInstance(ULocale inLocale) {
+        return getInstance(inLocale, SCIENTIFICSTYLE);
+    }
+
+    // ===== Factory stuff =====
+    /**
+     * A NumberFormatFactory is used to register new number formats.  The factory
+     * should be able to create any of the predefined formats for each locale it
+     * supports.  When registered, the locales it supports extend or override the
+     * locales already supported by ICU.
+     * <p><b>Note:</b> as of ICU4J 3.2, the default API for NumberFormatFactory uses
+     * ULocale instead of Locale.  Instead of overriding createFormat(Locale, int),
+     * new implementations should override createFactory(ULocale, int).  Note that
+     * one of these two methods <b>MUST</b> be overridden or else an infinite
+     * loop will occur.
+     *
+     * @stable ICU 2.6
+     */
+    public static abstract class NumberFormatFactory {
+        /**
+         * Value passed to format requesting a default number format.
+         * @stable ICU 2.6
+         */
+        public static final int FORMAT_NUMBER = NUMBERSTYLE;
+
+        /**
+         * Value passed to format requesting a currency format.
+         * @stable ICU 2.6
+         */
+        public static final int FORMAT_CURRENCY = CURRENCYSTYLE;
+
+        /**
+         * Value passed to format requesting a percent format.
+         * @stable ICU 2.6
+         */
+        public static final int FORMAT_PERCENT = PERCENTSTYLE;
+
+        /**
+         * Value passed to format requesting a scientific format.
+         * @stable ICU 2.6
+         */
+        public static final int FORMAT_SCIENTIFIC = SCIENTIFICSTYLE;
+
+        /**
+         * Value passed to format requesting an integer format.
+         * @stable ICU 2.6
+         */
+        public static final int FORMAT_INTEGER = INTEGERSTYLE;
+
+        /**
+         * Returns true if this factory is visible.  Default is true.
+         * If not visible, the locales supported by this factory will not
+         * be listed by getAvailableLocales.  This value must not change.
+         * @return true if the factory is visible.
+         * @stable ICU 2.6
+         */
+        ///CLOVER:OFF
+        public boolean visible() {
+            return true;
+        }
+        ///CLOVER:ON
+
+        /**
+         * Returns an immutable collection of the locale names directly 
+         * supported by this factory.
+         * @return the supported locale names.
+         * @stable ICU 2.6
+         */
+         public abstract Set getSupportedLocaleNames();
+
+        /**
+         * Returns a number format of the appropriate type.  If the locale
+         * is not supported, return null.  If the locale is supported, but
+         * the type is not provided by this service, return null.  Otherwise
+         * return an appropriate instance of NumberFormat.
+         * <b>Note:</b> as of ICU4J 3.2, implementations should override
+         * this method instead of createFormat(Locale, int).
+         * @param loc the locale for which to create the format
+         * @param formatType the type of format
+         * @return the NumberFormat, or null.
+         * @draft ICU 3.2
+         * @deprecated This is a draft API and might change in a future release of ICU.
+         */
+        public NumberFormat createFormat(ULocale loc, int formatType) {
+            return createFormat(loc.toLocale(), formatType);
+        }
+
+        /**
+         * Returns a number format of the appropriate type.  If the locale
+         * is not supported, return null.  If the locale is supported, but
+         * the type is not provided by this service, return null.  Otherwise
+         * return an appropriate instance of NumberFormat.
+         * <b>Note:</b> as of ICU4J 3.2, createFormat(ULocale, int) should be
+         * overridden instead of this method.  This method is no longer 
+         * abstract and delegates to that method.
+         * @param loc the locale for which to create the format
+         * @param formatType the type of format
+         * @return the NumberFormat, or null.
+         * @stable ICU 2.6
+         */
+        public NumberFormat createFormat(Locale loc, int formatType) {
+            return createFormat(ULocale.forLocale(loc), formatType);
+        }
+
+        /**
+         * @stable ICU 2.6
+         */
+        protected NumberFormatFactory() {
+        }
+    }
+
+    /**
+     * A NumberFormatFactory that supports a single locale.  It can be visible or invisible.
+     * @stable ICU 2.6
+     */
+    public static abstract class SimpleNumberFormatFactory extends NumberFormatFactory {
+        final Set localeNames;
+        final boolean visible;
+
+        /**
+         * @stable ICU 2.6
+         */
+        public SimpleNumberFormatFactory(Locale locale) {
+            this(locale, true);
+        }
+        
+        /**
+         * @stable ICU 2.6
+         */
+        public SimpleNumberFormatFactory(Locale locale, boolean visible) {
+            localeNames = Collections.singleton(ULocale.forLocale(locale).getBaseName());
+            this.visible = visible;
+        }
+
+        /**
+         * @draft ICU 3.2
+         * @deprecated This is a draft API and might change in a future release of ICU.
+         */
+        public SimpleNumberFormatFactory(ULocale locale) {
+            this(locale, true);
+        }
+        
+        /**
+         * @draft ICU 3.2
+	 * @deprecated This is a draft API and might change in a future release of ICU.
+         */
+        public SimpleNumberFormatFactory(ULocale locale, boolean visible) {
+            localeNames = Collections.singleton(locale.getBaseName());
+            this.visible = visible;
+        }
+
+        /**
+         * @stable ICU 2.6
+         */
+        public final boolean visible() {
+            return visible;
+        }
+
+        /**
+         * @stable ICU 2.6
+         */
+        public final Set getSupportedLocaleNames() {
+            return localeNames;
+        }
+    }
+
+    // shim so we can build without service code
+    static abstract class NumberFormatShim {
+        abstract Locale[] getAvailableLocales();
+        abstract ULocale[] getAvailableULocales();
+        abstract Object registerFactory(NumberFormatFactory f);
+        abstract boolean unregister(Object k);
+        abstract NumberFormat createInstance(ULocale l, int k);
+    }
+
+    private static NumberFormatShim shim;
+    private static NumberFormatShim getShim() {
+        // Note: this instantiation is safe on loose-memory-model configurations
+        // despite lack of synchronization, since the shim instance has no state--
+        // it's all in the class init.  The worst problem is we might instantiate
+        // two shim instances, but they'll share the same state so that's ok.
+        if (shim == null) {
+            try {
+                Class cls = Class.forName("com.ibm.icu.text.NumberFormatServiceShim");
+                shim = (NumberFormatShim)cls.newInstance();
+            }
+            catch (MissingResourceException e){
+                throw e;
+            }
+            catch (Exception e) {
+                ///CLOVER:OFF
+               // e.printStackTrace();
+                throw new RuntimeException(e.getMessage());
+                ///CLOVER:ON
+            }
+        }
+        return shim;
+    }
+
+    /**
+     * Get the list of Locales for which NumberFormats are available.
+     * @return the available locales
+     * @stable ICU 2.0
+     */
+    public static Locale[] getAvailableLocales() {
+        if (shim == null) {
+            return ICUResourceBundle.getAvailableLocales(ICUResourceBundle.ICU_BASE_NAME);
+        }
+        return getShim().getAvailableLocales();
+    }
+
+    /**
+     * Get the list of Locales for which NumberFormats are available.
+     * @return the available locales
+     * @draft ICU 3.2
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static ULocale[] getAvailableULocales() {
+        if (shim == null) {
+            return ICUResourceBundle.getAvailableULocales(ICUResourceBundle.ICU_BASE_NAME);
+        }
+        return getShim().getAvailableULocales();
+    }
+
+    /**
+     * Registers a new NumberFormatFactory.  The factory is adopted by
+     * the service and must not be modified.  The returned object is a
+     * key that can be used to unregister this factory.
+     * @param factory the factory to register
+     * @return a key with which to unregister the factory
+     * @stable ICU 2.6 
+     */
+    public static Object registerFactory(NumberFormatFactory factory) {
+        if (factory == null) {
+            throw new IllegalArgumentException("factory must not be null");
+        }
+        return getShim().registerFactory(factory);
+    }
+
+    /**
+     * Unregister the factory or instance associated with this key (obtained from
+     * registerInstance or registerFactory).
+     * @param registryKey a key obtained from registerFactory
+     * @return true if the object was successfully unregistered
+     * @stable ICU 2.6
+     */
+    public static boolean unregister(Object registryKey) {
+        if (registryKey == null) {
+            throw new IllegalArgumentException("registryKey must not be null");
+        }
+
+        if (shim == null) {
+            return false;
+        }
+
+        return shim.unregister(registryKey);
+    }
+
+    // ===== End of factory stuff =====
+
+    /**
+     * Overrides hashCode
+     * @stable ICU 2.0
+     */
+    public int hashCode() {
+        return maximumIntegerDigits * 37 + maxFractionDigits;
+        // just enough fields for a reasonable distribution
+    }
+
+    /**
+     * Overrides equals.  Two NumberFormats are equal if they are of the same class
+     * and the settings (groupingUsed, parseIntegerOnly, maximumIntegerDigits, etc.
+     * are equal.
+     * @param obj the object to compare against
+     * @return true if the object is equal to this.
+     * @stable ICU 2.0
+     */
+    public boolean equals(Object obj) {
+        if (obj == null) return false;
+        if (this == obj)
+            return true;
+        if (getClass() != obj.getClass())
+            return false;
+        NumberFormat other = (NumberFormat) obj;
+        return maximumIntegerDigits == other.maximumIntegerDigits
+            && minimumIntegerDigits == other.minimumIntegerDigits
+            && maximumFractionDigits == other.maximumFractionDigits
+            && minimumFractionDigits == other.minimumFractionDigits
+            && groupingUsed == other.groupingUsed
+            && parseIntegerOnly == other.parseIntegerOnly;
+    }
+
+    /**
+     * Overrides Cloneable.
+     * @stable ICU 2.0
+     */
+    public Object clone()
+    {
+        NumberFormat other = (NumberFormat) super.clone();
+        return other;
+    }
+
+    /**
+     * Returns true if grouping is used in this format. For example, in the
+     * en_US locale, with grouping on, the number 1234567 will be formatted
+     * as "1,234,567". The grouping separator as well as the size of each group
+     * is locale-dependent and is determined by subclasses of NumberFormat.
+     * Grouping affects both parsing and formatting.
+     * @return true if grouping is used
+     * @see #setGroupingUsed
+     * @stable ICU 2.0
+     */
+    public boolean isGroupingUsed() {
+        return groupingUsed;
+    }
+
+    /**
+     * Sets whether or not grouping will be used in this format.  Grouping
+     * affects both parsing and formatting.
+     * @see #isGroupingUsed
+     * @param newValue true to use grouping.
+     * @stable ICU 2.0
+     */
+    public void setGroupingUsed(boolean newValue) {
+        groupingUsed = newValue;
+    }
+
+    /**
+     * Returns the maximum number of digits allowed in the integer portion of a
+     * number.  The default value is 40, which subclasses can override.
+     * When formatting, the exact behavior when this value is exceeded is
+     * subclass-specific.  When parsing, this has no effect.
+     * @return the maximum number of integer digits
+     * @see #setMaximumIntegerDigits
+     * @stable ICU 2.0
+     */
+    public int getMaximumIntegerDigits() {
+        return maximumIntegerDigits;
+    }
+
+    /**
+     * Sets the maximum number of digits allowed in the integer portion of a
+     * number. This must be >= minimumIntegerDigits.  If the
+     * new value for maximumIntegerDigits is less than the current value
+     * of minimumIntegerDigits, then minimumIntegerDigits will also be set to
+     * the new value.
+     * @param newValue the maximum number of integer digits to be shown; if
+     * less than zero, then zero is used.  Subclasses might enforce an
+     * upper limit to this value appropriate to the numeric type being formatted.
+     * @see #getMaximumIntegerDigits
+     * @stable ICU 2.0
+     */
+    public void setMaximumIntegerDigits(int newValue) {
+        maximumIntegerDigits = Math.max(0,newValue);
+        if (minimumIntegerDigits > maximumIntegerDigits)
+            minimumIntegerDigits = maximumIntegerDigits;
+    }
+
+    /**
+     * Returns the minimum number of digits allowed in the integer portion of a
+     * number.  The default value is 1, which subclasses can override.
+     * When formatting, if this value is not reached, numbers are padded on the
+     * left with the locale-specific '0' character to ensure at least this
+     * number of integer digits.  When parsing, this has no effect.
+     * @return the minimum number of integer digits
+     * @see #setMinimumIntegerDigits
+     * @stable ICU 2.0
+     */
+    public int getMinimumIntegerDigits() {
+        return minimumIntegerDigits;
+    }
+
+    /**
+     * Sets the minimum number of digits allowed in the integer portion of a
+     * number.  This must be <= maximumIntegerDigits.  If the
+     * new value for minimumIntegerDigits is more than the current value
+     * of maximumIntegerDigits, then maximumIntegerDigits will also be set to
+     * the new value.
+     * @param newValue the minimum number of integer digits to be shown; if
+     * less than zero, then zero is used. Subclasses might enforce an
+     * upper limit to this value appropriate to the numeric type being formatted.
+     * @see #getMinimumIntegerDigits
+     * @stable ICU 2.0
+     */
+    public void setMinimumIntegerDigits(int newValue) {
+        minimumIntegerDigits = Math.max(0,newValue);
+        if (minimumIntegerDigits > maximumIntegerDigits)
+            maximumIntegerDigits = minimumIntegerDigits;
+    }
+
+    /**
+     * Returns the maximum number of digits allowed in the fraction
+     * portion of a number.  The default value is 3, which subclasses
+     * can override.  When formatting, the exact behavior when this
+     * value is exceeded is subclass-specific.  When parsing, this has 
+     * no effect.
+     * @return the maximum number of fraction digits
+     * @see #setMaximumFractionDigits
+     * @stable ICU 2.0 
+     */
+    public int getMaximumFractionDigits() {
+        return maximumFractionDigits;
+    }
+
+    /**
+     * Sets the maximum number of digits allowed in the fraction portion of a
+     * number. This must be >= minimumFractionDigits.  If the
+     * new value for maximumFractionDigits is less than the current value
+     * of minimumFractionDigits, then minimumFractionDigits will also be set to
+     * the new value.
+     * @param newValue the maximum number of fraction digits to be shown; if
+     * less than zero, then zero is used. The concrete subclass may enforce an
+     * upper limit to this value appropriate to the numeric type being formatted.
+     * @see #getMaximumFractionDigits
+     * @stable ICU 2.0
+     */
+    public void setMaximumFractionDigits(int newValue) {
+        maximumFractionDigits = Math.max(0,newValue);
+        if (maximumFractionDigits < minimumFractionDigits)
+            minimumFractionDigits = maximumFractionDigits;
+    }
+
+    /**
+     * Returns the minimum number of digits allowed in the fraction portion of a
+     * number.  The default value is 0, which subclasses can override.
+     * When formatting, if this value is not reached, numbers are padded on
+     * the right with the locale-specific '0' character to ensure at least
+     * this number of fraction digits.  When parsing, this has no effect.
+     * @return the minimum number of fraction digits
+     * @see #setMinimumFractionDigits
+     * @stable ICU 2.0
+     */
+    public int getMinimumFractionDigits() {
+        return minimumFractionDigits;
+    }
+
+    /**
+     * Sets the minimum number of digits allowed in the fraction portion of a
+     * number.  This must be <= maximumFractionDigits.  If the
+     * new value for minimumFractionDigits exceeds the current value
+     * of maximumFractionDigits, then maximumFractionDigits will also be set to
+     * the new value.
+     * @param newValue the minimum number of fraction digits to be shown; if
+     * less than zero, then zero is used.  Subclasses might enforce an
+     * upper limit to this value appropriate to the numeric type being formatted.
+     * @see #getMinimumFractionDigits
+     * @stable ICU 2.0
+     */
+    public void setMinimumFractionDigits(int newValue) {
+        minimumFractionDigits = Math.max(0,newValue);
+        if (maximumFractionDigits < minimumFractionDigits)
+            maximumFractionDigits = minimumFractionDigits;
+    }
+
+    /**
+     * Sets the <tt>Currency</tt> object used to display currency
+     * amounts.  This takes effect immediately, if this format is a
+     * currency format.  If this format is not a currency format, then
+     * the currency object is used if and when this object becomes a
+     * currency format.
+     * @param theCurrency new currency object to use.  May be null for
+     * some subclasses.
+     * @stable ICU 2.6
+     */
+    public void setCurrency(Currency theCurrency) {
+        currency = theCurrency;
+    }
+
+    /**
+     * Gets the <tt>Currency</tt> object used to display currency
+     * amounts.  This may be null.
+     * @stable ICU 2.6
+     */
+    public Currency getCurrency() {
+        return currency;
+    }
+    
+    /**
+     * Returns the currency in effect for this formatter.  Subclasses
+     * should override this method as needed.  Unlike getCurrency(),
+     * this method should never return null.
+     * @return a non-null Currency
+     * @internal
+     */
+    protected Currency getEffectiveCurrency() {
+        Currency c = getCurrency();
+        if (c == null) {
+            ULocale uloc = getLocale(ULocale.VALID_LOCALE);
+            if (uloc == null) {
+                uloc = ULocale.getDefault();
+            }
+            c = Currency.getInstance(uloc);
+        }
+        return c;
+    }
+
+    // =======================privates===============================
+
+    // Hook for service
+    private static NumberFormat getInstance(ULocale desiredLocale, int choice) {
+//          if (shim == null) {
+//              return createInstance(desiredLocale, choice);
+//          } else {
+//              // TODO: shims must call setLocale() on object they create
+//              return getShim().createInstance(desiredLocale, choice);
+//          }
+        return getShim().createInstance(desiredLocale, choice);
+    }
+
+    // [NEW]
+    static NumberFormat createInstance(ULocale desiredLocale, int choice) {
+        String pattern = getPattern(desiredLocale, choice);
+        DecimalFormatSymbols symbols = new DecimalFormatSymbols(desiredLocale);
+        DecimalFormat format = new DecimalFormat(pattern, symbols);
+        // System.out.println("loc: " + desiredLocale + " choice: " + choice + " pat: " + pattern + " sym: " + symbols + " result: " + format);
+                                 
+        /*Bug 4408066
+         Add codes for the new method getIntegerInstance() [Richard/GCL]
+        */
+        // TODO: revisit this -- this is almost certainly not the way we want
+        // to do this.  aliu 1/6/2004
+        if (choice == INTEGERSTYLE) {
+            format.setMaximumFractionDigits(0);
+            format.setDecimalSeparatorAlwaysShown(false);
+            format.setParseIntegerOnly(true);
+        }
+        
+        // TODO: the actual locale of the *pattern* may differ from that
+        // for the *symbols*.  For now, we use the data for the symbols.
+        // Revisit this.
+        ULocale valid = symbols.getLocale(ULocale.VALID_LOCALE);
+        ULocale actual = symbols.getLocale(ULocale.ACTUAL_LOCALE);
+        format.setLocale(valid, actual);
+        
+        return format;
+    }
+
+    /**
+     * Returns the pattern for the provided locale and choice.
+     * @param forLocale the locale of the data.
+     * @param choice the pattern format.
+     * @return the pattern
+     * @stable ICU 2.2
+     * @deprecated subclassers should override getPattern(ULocale, int) instead of this method.
+     */
+    protected static String getPattern(Locale forLocale, int choice) {
+        return getPattern(ULocale.forLocale(forLocale), choice);
+    }
+
+    /**
+     * Returns the pattern for the provided locale and choice.
+     * @param forLocale the locale of the data.
+     * @param choice the pattern format.
+     * @return the pattern
+     * @draft ICU 3.2
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    protected static String getPattern(ULocale forLocale, int choice) {
+
+        /* The following code takes care of a few cases where the
+         * resource data in the underlying JDK lags the new features
+         * we have added to ICU4J: scientific notation, rounding, and
+         * secondary grouping.
+         *
+         * We detect these cases here and return various hard-coded
+         * resource data.  This is the simplest solution for now, but
+         * it is not a good long-term mechanism.
+         * 
+         * We should replace this code with a data-driven mechanism
+         * that reads the bundle com.ibm.icu.impl.data.LocaleElements
+         * and parses an exception table that overrides the standard
+         * data at java.text.resource.LocaleElements*.java.
+         * Alternatively, we should create our own copy of the
+         * resource data, and use that exclusively.
+         */
+
+        // TEMPORARY, until we get scientific patterns into the main
+        // resources:  Retrieve scientific patterns from our resources.
+        if (choice == SCIENTIFICSTYLE) {
+            // Temporarily hard code; retrieve from resource later
+            /*For ICU compatibility [Richard/GCL]*/
+            return "#E0";
+            // return NumberFormat.getBaseStringArray("NumberPatterns")[SCIENTIFICSTYLE];
+        }
+        // TEMPORARY: Use rounding for Swiss currency
+        //if (choice == CURRENCYSTYLE &&
+        //    forLocale.getCountry().equals("CH")) {
+        //    return "'Fr. '#,##0.05;'Fr.-'#,##0.05";
+        //}
+        // TEMPORARY: Special case IN number format
+        //if (choice == NUMBERSTYLE &&
+        //    forLocale.getCountry().equals("IN")) {
+        //    return "#,##,##0.###";
+        //}
+
+        // {dlf}
+        ICUResourceBundle rb = (ICUResourceBundle)UResourceBundle.
+            getBundleInstance(ICUResourceBundle.ICU_BASE_NAME, forLocale);
+        String[] numberPatterns = rb.getStringArray("NumberPatterns");
+
+        /* {dlf}
+        // Try the cache first
+        String[] numberPatterns = (String[]) cachedLocaleData.get(forLocale);
+        if (numberPatterns == null) {
+            OverlayBundle resource = new OverlayBundle(new String[]
+                { "com.ibm.icu.impl.data.LocaleElements", RESOURCE_BASE }, forLocale);
+            numberPatterns = resource.getStringArray("NumberPatterns");
+            // Update the cache
+            cachedLocaleData.put(forLocale, numberPatterns); 
+        }
+        */
+
+        /*Bug 4408066
+         Add codes for the new method getIntegerInstance() [Richard/GCL]
+        */
+        int entry = (choice == INTEGERSTYLE) ? NUMBERSTYLE : choice; //[Richard/GCL]
+        return numberPatterns[entry]; //[Richard/GCL]
+    }
+
+    /**
+     * First, read in the default serializable data.
+     *
+     * Then, if <code>serialVersionOnStream</code> is less than 1, indicating that
+     * the stream was written by JDK 1.1,
+     * set the <code>int</code> fields such as <code>maximumIntegerDigits</code>
+     * to be equal to the <code>byte</code> fields such as <code>maxIntegerDigits</code>,
+     * since the <code>int</code> fields were not present in JDK 1.1.
+     * Finally, set serialVersionOnStream back to the maximum allowed value so that
+     * default serialization will work properly if this object is streamed out again.
+     */
+    private void readObject(ObjectInputStream stream)
+         throws IOException, ClassNotFoundException
+    {
+        stream.defaultReadObject();
+        ///CLOVER:OFF
+        // we don't have serialization data for this format
+        if (serialVersionOnStream < 1) {
+            // Didn't have additional int fields, reassign to use them.
+            maximumIntegerDigits = maxIntegerDigits;
+            minimumIntegerDigits = minIntegerDigits;
+            maximumFractionDigits = maxFractionDigits;
+            minimumFractionDigits = minFractionDigits;
+        }
+        ///CLOVER:ON
+        /*Bug 4185761
+          Validate the min and max fields [Richard/GCL]
+        */
+        if (minimumIntegerDigits > maximumIntegerDigits ||
+            minimumFractionDigits > maximumFractionDigits ||
+            minimumIntegerDigits < 0 || minimumFractionDigits < 0) {
+            throw new InvalidObjectException("Digit count range invalid");
+        }
+        serialVersionOnStream = currentSerialVersion;
+    }
+
+    /**
+     * Write out the default serializable data, after first setting
+     * the <code>byte</code> fields such as <code>maxIntegerDigits</code> to be
+     * equal to the <code>int</code> fields such as <code>maximumIntegerDigits</code>
+     * (or to <code>Byte.MAX_VALUE</code>, whichever is smaller), for compatibility
+     * with the JDK 1.1 version of the stream format.
+     */
+    private void writeObject(ObjectOutputStream stream)
+         throws IOException
+    {
+        maxIntegerDigits = (maximumIntegerDigits > Byte.MAX_VALUE) ? Byte.MAX_VALUE :
+            (byte)maximumIntegerDigits;
+        minIntegerDigits = (minimumIntegerDigits > Byte.MAX_VALUE) ? Byte.MAX_VALUE :
+            (byte)minimumIntegerDigits;
+        maxFractionDigits = (maximumFractionDigits > Byte.MAX_VALUE) ? Byte.MAX_VALUE :
+            (byte)maximumFractionDigits;
+        minFractionDigits = (minimumFractionDigits > Byte.MAX_VALUE) ? Byte.MAX_VALUE :
+            (byte)minimumFractionDigits;
+        stream.defaultWriteObject();
+    }
+
+// Unused -- Alan 2003-05
+//    /**
+//     * Cache to hold the NumberPatterns of a Locale.
+//     */
+//    private static final Hashtable cachedLocaleData = new Hashtable(3);
+
+    /*Bug 4408066
+      Add Field for the new method getIntegerInstance() [Richard/GCL]
+    */
+
+    /**
+     * True if the the grouping (i.e. thousands) separator is used when
+     * formatting and parsing numbers.
+     *
+     * @serial
+     * @see #isGroupingUsed
+     */
+    private boolean groupingUsed = true;
+
+    /**
+     * The maximum number of digits allowed in the integer portion of a
+     * number.  <code>maxIntegerDigits</code> must be greater than or equal to
+     * <code>minIntegerDigits</code>.
+     * <p>
+     * <strong>Note:</strong> This field exists only for serialization
+     * compatibility with JDK 1.1.  In JDK 1.2 and higher, the new
+     * <code>int</code> field <code>maximumIntegerDigits</code> is used instead.
+     * When writing to a stream, <code>maxIntegerDigits</code> is set to
+     * <code>maximumIntegerDigits</code> or <code>Byte.MAX_VALUE</code>,
+     * whichever is smaller.  When reading from a stream, this field is used
+     * only if <code>serialVersionOnStream</code> is less than 1. 
+     *
+     * @serial
+     * @see #getMaximumIntegerDigits
+     */
+    private byte    maxIntegerDigits = 40;
+
+    /**
+     * The minimum number of digits allowed in the integer portion of a
+     * number.  <code>minimumIntegerDigits</code> must be less than or equal to
+     * <code>maximumIntegerDigits</code>.
+     * <p>
+     * <strong>Note:</strong> This field exists only for serialization
+     * compatibility with JDK 1.1.  In JDK 1.2 and higher, the new
+     * <code>int</code> field <code>minimumIntegerDigits</code> is used instead.
+     * When writing to a stream, <code>minIntegerDigits</code> is set to
+     * <code>minimumIntegerDigits</code> or <code>Byte.MAX_VALUE</code>,
+     * whichever is smaller.  When reading from a stream, this field is used
+     * only if <code>serialVersionOnStream</code> is less than 1. 
+     *
+     * @serial
+     * @see #getMinimumIntegerDigits
+     */
+    private byte    minIntegerDigits = 1;
+
+    /**
+     * The maximum number of digits allowed in the fractional portion of a
+     * number.  <code>maximumFractionDigits</code> must be greater than or equal to
+     * <code>minimumFractionDigits</code>.
+     * <p>
+     * <strong>Note:</strong> This field exists only for serialization
+     * compatibility with JDK 1.1.  In JDK 1.2 and higher, the new
+     * <code>int</code> field <code>maximumFractionDigits</code> is used instead.
+     * When writing to a stream, <code>maxFractionDigits</code> is set to
+     * <code>maximumFractionDigits</code> or <code>Byte.MAX_VALUE</code>,
+     * whichever is smaller.  When reading from a stream, this field is used
+     * only if <code>serialVersionOnStream</code> is less than 1. 
+     *
+     * @serial
+     * @see #getMaximumFractionDigits
+     */
+    private byte    maxFractionDigits = 3;    // invariant, >= minFractionDigits
+
+    /**
+     * The minimum number of digits allowed in the fractional portion of a
+     * number.  <code>minimumFractionDigits</code> must be less than or equal to
+     * <code>maximumFractionDigits</code>.
+     * <p>
+     * <strong>Note:</strong> This field exists only for serialization
+     * compatibility with JDK 1.1.  In JDK 1.2 and higher, the new
+     * <code>int</code> field <code>minimumFractionDigits</code> is used instead.
+     * When writing to a stream, <code>minFractionDigits</code> is set to
+     * <code>minimumFractionDigits</code> or <code>Byte.MAX_VALUE</code>,
+     * whichever is smaller.  When reading from a stream, this field is used
+     * only if <code>serialVersionOnStream</code> is less than 1. 
+     *
+     * @serial
+     * @see #getMinimumFractionDigits
+     */
+    private byte    minFractionDigits = 0;
+
+    /**
+     * True if this format will parse numbers as integers only.
+     *
+     * @serial
+     * @see #isParseIntegerOnly
+     */
+    private boolean parseIntegerOnly = false;
+
+    // new fields for 1.2.  byte is too small for integer digits.
+
+    /**
+     * The maximum number of digits allowed in the integer portion of a
+     * number.  <code>maximumIntegerDigits</code> must be greater than or equal to
+     * <code>minimumIntegerDigits</code>.
+     *
+     * @serial
+     * @see #getMaximumIntegerDigits
+     */
+    private int    maximumIntegerDigits = 40;
+
+    /**
+     * The minimum number of digits allowed in the integer portion of a
+     * number.  <code>minimumIntegerDigits</code> must be less than or equal to
+     * <code>maximumIntegerDigits</code>.
+     *
+     * @serial
+     * @see #getMinimumIntegerDigits
+     */
+    private int    minimumIntegerDigits = 1;
+
+    /**
+     * The maximum number of digits allowed in the fractional portion of a
+     * number.  <code>maximumFractionDigits</code> must be greater than or equal to
+     * <code>minimumFractionDigits</code>.
+     *
+     * @serial
+     * @see #getMaximumFractionDigits
+     */
+    private int    maximumFractionDigits = 3;    // invariant, >= minFractionDigits
+
+    /**
+     * The minimum number of digits allowed in the fractional portion of a
+     * number.  <code>minimumFractionDigits</code> must be less than or equal to
+     * <code>maximumFractionDigits</code>.
+     *
+     * @serial
+     * @see #getMinimumFractionDigits
+     */
+    private int    minimumFractionDigits = 0;
+
+    /**
+     * Currency object used to format currencies.  Subclasses may
+     * ignore this if they are not currency formats.  This will be
+     * null unless a subclass sets it to a non-null value.
+     * @since ICU 2.6
+     */
+    private Currency currency;
+
+    static final int currentSerialVersion = 1;
+
+    /**
+     * Describes the version of <code>NumberFormat</code> present on the stream.
+     * Possible values are:
+     * <ul>
+     * <li><b>0</b> (or uninitialized): the JDK 1.1 version of the stream format.
+     *     In this version, the <code>int</code> fields such as
+     *     <code>maximumIntegerDigits</code> were not present, and the <code>byte</code>
+     *     fields such as <code>maxIntegerDigits</code> are used instead.
+     *
+     * <li><b>1</b>: the JDK 1.2 version of the stream format.  The values of the
+     *     <code>byte</code> fields such as <code>maxIntegerDigits</code> are ignored,
+     *     and the <code>int</code> fields such as <code>maximumIntegerDigits</code>
+     *     are used instead.
+     * </ul>
+     * When streaming out a <code>NumberFormat</code>, the most recent format
+     * (corresponding to the highest allowable <code>serialVersionOnStream</code>)
+     * is always written.
+     *
+     * @serial
+     */
+    private int serialVersionOnStream = currentSerialVersion;
+
+    // Removed "implements Cloneable" clause.  Needs to update serialization
+    // ID for backward compatibility.
+    private static final long serialVersionUID = -2308460125733713944L;
+
+    /**
+     * Empty constructor.  Public for compatibily with JDK which lets the
+     * compiler generate a default public constructor even though this is
+     * an abstract class.
+     * @stable ICU 2.6
+     */
+    public NumberFormat() {
+    }
+}
diff --git a/src/com/ibm/icu/text/NumberFormatServiceShim.java b/src/com/ibm/icu/text/NumberFormatServiceShim.java
new file mode 100644
index 0000000..6db62b7
--- /dev/null
+++ b/src/com/ibm/icu/text/NumberFormatServiceShim.java
@@ -0,0 +1,115 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2003-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+package com.ibm.icu.text;
+
+import java.util.Locale;
+import java.util.Set;
+import java.util.MissingResourceException;
+
+//import com.ibm.icu.impl.ICULocaleData;
+import com.ibm.icu.impl.ICUResourceBundle;
+import com.ibm.icu.impl.ICUService;
+import com.ibm.icu.impl.ICUService.Factory;
+import com.ibm.icu.impl.ICUService.Key;
+import com.ibm.icu.impl.ICULocaleService;
+import com.ibm.icu.impl.ICULocaleService.LocaleKey;
+import com.ibm.icu.impl.ICULocaleService.LocaleKeyFactory;
+import com.ibm.icu.text.NumberFormat;
+import com.ibm.icu.text.NumberFormat.NumberFormatFactory;
+import com.ibm.icu.util.ULocale;
+import com.ibm.icu.util.UResourceBundle;
+
+class NumberFormatServiceShim extends NumberFormat.NumberFormatShim {
+
+    Locale[] getAvailableLocales() {
+        if (service.isDefault()) {
+            return ICUResourceBundle.getAvailableLocales(ICUResourceBundle.ICU_BASE_NAME);
+        }
+        return service.getAvailableLocales();
+    }
+
+    ULocale[] getAvailableULocales() {
+        if (service.isDefault()) {
+            return ICUResourceBundle.getAvailableULocales(ICUResourceBundle.ICU_BASE_NAME);
+        }
+        return service.getAvailableULocales();
+    }
+
+    private static final class NFFactory extends LocaleKeyFactory {
+        private NumberFormatFactory delegate;
+
+        NFFactory(NumberFormatFactory delegate) {
+            super(delegate.visible() ? VISIBLE : INVISIBLE);
+
+            this.delegate = delegate;
+        }
+
+        public Object create(Key key, ICUService service) {
+            if (handlesKey(key)) {
+                LocaleKey lkey = (LocaleKey)key;
+                ULocale loc = lkey.canonicalLocale();
+                int kind = lkey.kind();
+
+                Object result = delegate.createFormat(loc, kind);
+                if (result == null) {
+                    result = service.getKey(key, null, this);
+                }
+                return result;
+            }
+            return null;
+        }
+
+        protected Set getSupportedIDs() {
+            return delegate.getSupportedLocaleNames();
+        }
+    }
+
+    Object registerFactory(NumberFormatFactory factory) {
+        return service.registerFactory(new NFFactory(factory));
+    }
+
+    boolean unregister(Object registryKey) {
+        return service.unregisterFactory((Factory)registryKey);
+    }
+
+    NumberFormat createInstance(ULocale desiredLocale, int choice) {
+
+    // use service cache
+//          if (service.isDefault()) {
+//              return NumberFormat.createInstance(desiredLocale, choice);
+//          }
+
+        ULocale[] actualLoc = new ULocale[1];
+        NumberFormat fmt = (NumberFormat)service.get(desiredLocale, choice,
+                                                     actualLoc);
+        if (fmt == null) {
+            throw new MissingResourceException("Unable to construct NumberFormat", "", "");
+        }
+        fmt = (NumberFormat)fmt.clone();
+
+        ULocale uloc = actualLoc[0];
+        fmt.setLocale(uloc, uloc); // services make no distinction between actual & valid
+        return fmt;
+    }
+
+    private static class NFService extends ICULocaleService {
+        NFService() {
+            super("NumberFormat");
+
+            class RBNumberFormatFactory extends ICUResourceBundleFactory {
+                protected Object handleCreate(ULocale loc, int kind, ICUService service) {
+                    return NumberFormat.createInstance(loc, kind);
+                }
+            }
+                
+            this.registerFactory(new RBNumberFormatFactory());
+            markDefault();
+        }
+    }
+    private static ICULocaleService service = new NFService();
+}
diff --git a/src/com/ibm/icu/text/Punycode.java b/src/com/ibm/icu/text/Punycode.java
new file mode 100644
index 0000000..be74fc5
--- /dev/null
+++ b/src/com/ibm/icu/text/Punycode.java
@@ -0,0 +1,476 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2003-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.text;
+
+import com.ibm.icu.lang.UCharacter;
+
+/**
+ * Ported code from ICU punycode.c 
+ * @author ram
+ */
+
+/* Package Private class */
+final class Punycode {
+
+    /* Punycode parameters for Bootstring */
+    private static final int BASE           = 36;
+    private static final int TMIN           = 1;
+    private static final int TMAX           = 26;
+    private static final int SKEW           = 38;
+    private static final int DAMP           = 700;
+    private static final int INITIAL_BIAS   = 72;
+    private static final int INITIAL_N      = 0x80;
+    
+    /* "Basic" Unicode/ASCII code points */
+    private static final int HYPHEN         = 0x2d;
+    private static final int DELIMITER      = HYPHEN;
+    
+    private static final int ZERO           = 0x30;
+    private static final int NINE           = 0x39;
+    
+    private static final int SMALL_A        = 0x61;
+    private static final int SMALL_Z        = 0x7a;
+    
+    private static final int CAPITAL_A      = 0x41;
+    private static final int CAPITAL_Z      = 0x5a;
+    private static final int MAX_CP_COUNT   = 200;
+    private static final int UINT_MAGIC     = 0x80000000;
+    private static final long ULONG_MAGIC   = 0x8000000000000000L;
+    
+    private static int adaptBias(int delta, int length, boolean firstTime){
+        if(firstTime){
+            delta /=DAMP;
+        }else{
+            delta /=  2;
+        }
+        delta += delta/length;
+
+        int count=0;
+        for(; delta>((BASE-TMIN)*TMAX)/2; count+=BASE) {
+            delta/=(BASE-TMIN);
+        }
+
+        return count+(((BASE-TMIN+1)*delta)/(delta+SKEW));         
+    }
+
+    /**
+     * basicToDigit[] contains the numeric value of a basic code
+     * point (for use in representing integers) in the range 0 to
+     * BASE-1, or -1 if b is does not represent a value.
+     */
+    static final int[]    basicToDigit= new int[]{
+        -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+        -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+    
+        -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+        26, 27, 28, 29, 30, 31, 32, 33, 34, 35, -1, -1, -1, -1, -1, -1,
+    
+        -1,  0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14,
+        15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, -1, -1, -1, -1, -1,
+    
+        -1,  0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14,
+        15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, -1, -1, -1, -1, -1,
+    
+        -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+        -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+    
+        -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+        -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+    
+        -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+        -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+    
+        -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+        -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1
+    };
+
+    ///CLOVER:OFF
+    private static char asciiCaseMap(char b, boolean uppercase) {
+        if(uppercase) {
+            if(SMALL_A<=b && b<=SMALL_Z) {
+                b-=(SMALL_A-CAPITAL_A);
+            }
+        } else {
+            if(CAPITAL_A<=b && b<=CAPITAL_Z) {
+                b+=(SMALL_A-CAPITAL_A);
+            }
+        }
+        return b;
+    }    
+    ///CLOVER:ON
+    /**
+     * digitToBasic() returns the basic code point whose value
+     * (when used for representing integers) is d, which must be in the
+     * range 0 to BASE-1. The lowercase form is used unless the uppercase flag is
+     * nonzero, in which case the uppercase form is used.
+     */
+    private static char digitToBasic(int digit, boolean uppercase) {
+        /*  0..25 map to ASCII a..z or A..Z */
+        /* 26..35 map to ASCII 0..9         */
+        if(digit<26) {
+            if(uppercase) {
+                return (char)(CAPITAL_A+digit);
+            } else {
+                return (char)(SMALL_A+digit);
+            }
+        } else {
+            return (char)((ZERO-26)+digit);
+        }
+    }
+    /**
+     * Converts Unicode to Punycode.
+     * The input string must not contain single, unpaired surrogates.
+     * The output will be represented as an array of ASCII code points.
+     * 
+     * @param src
+     * @param caseFlags
+     * @return
+     * @throws ParseException
+     */
+    public static StringBuffer encode(StringBuffer src, boolean[] caseFlags) throws StringPrepParseException{
+        
+        int[] cpBuffer = new int[MAX_CP_COUNT];
+        int n, delta, handledCPCount, basicLength, destLength, bias, j, m, q, k, t, srcCPCount;
+        char c, c2;
+        int srcLength = src.length();
+        int destCapacity = MAX_CP_COUNT;
+        char[] dest = new char[destCapacity];
+        StringBuffer result = new StringBuffer();
+        /*
+         * Handle the basic code points and
+         * convert extended ones to UTF-32 in cpBuffer (caseFlag in sign bit):
+         */
+        srcCPCount=destLength=0;
+        
+        for(j=0; j<srcLength; ++j) {
+            if(srcCPCount==MAX_CP_COUNT) {
+                /* too many input code points */
+                throw new IndexOutOfBoundsException();
+            }
+            c=src.charAt(j);
+            if(isBasic(c)) {
+                if(destLength<destCapacity) {
+                    cpBuffer[srcCPCount++]=0;
+                    dest[destLength]=
+                        caseFlags!=null ?
+                            asciiCaseMap((char)c, caseFlags[j]) :
+                            (char)c;
+                }
+                ++destLength;
+            } else {
+                n=((caseFlags!=null && caseFlags[j])? 1 : 0)<<31L;
+                if(!UTF16.isSurrogate(c)) {
+                    n|=c;
+                } else if(UTF16.isLeadSurrogate(c) && (j+1)<srcLength && UTF16.isTrailSurrogate(c2=src.charAt(j+1))) {
+                    ++j;
+                    
+                    n|=UCharacter.getCodePoint(c, c2);
+                } else {
+                    /* error: unmatched surrogate */
+                    throw new StringPrepParseException("Illegal char found",StringPrepParseException.ILLEGAL_CHAR_FOUND);
+                }
+                cpBuffer[srcCPCount++]=n;
+            }
+        }
+
+        /* Finish the basic string - if it is not empty - with a delimiter. */
+        basicLength=destLength;
+        if(basicLength>0) {
+            if(destLength<destCapacity) {
+                dest[destLength]=DELIMITER;
+            }
+            ++destLength;
+        }
+
+        /*
+         * handledCPCount is the number of code points that have been handled
+         * basicLength is the number of basic code points
+         * destLength is the number of chars that have been output
+         */
+
+        /* Initialize the state: */
+        n=INITIAL_N;
+        delta=0;
+        bias=INITIAL_BIAS;
+
+        /* Main encoding loop: */
+        for(handledCPCount=basicLength; handledCPCount<srcCPCount; /* no op */) {
+            /*
+             * All non-basic code points < n have been handled already.
+             * Find the next larger one:
+             */
+            for(m=0x7fffffff, j=0; j<srcCPCount; ++j) {
+                q=cpBuffer[j]&0x7fffffff; /* remove case flag from the sign bit */
+                if(n<=q && q<m) {
+                    m=q;
+                }
+            }
+
+            /*
+             * Increase delta enough to advance the decoder's
+             * <n,i> state to <m,0>, but guard against overflow:
+             */
+            if(m-n>(0x7fffffff-MAX_CP_COUNT-delta)/(handledCPCount+1)) {
+                throw new InternalError("Internal program error");
+            }
+            delta+=(m-n)*(handledCPCount+1);
+            n=m;
+
+            /* Encode a sequence of same code points n */
+            for(j=0; j<srcCPCount; ++j) {
+                q=cpBuffer[j]&0x7fffffff; /* remove case flag from the sign bit */
+                if(q<n) {
+                    ++delta;
+                } else if(q==n) {
+                    /* Represent delta as a generalized variable-length integer: */
+                    for(q=delta, k=BASE; /* no condition */; k+=BASE) {
+
+                        /** RAM: comment out the old code for conformance with draft-ietf-idn-punycode-03.txt   
+
+                        t=k-bias;
+                        if(t<TMIN) {
+                            t=TMIN;
+                        } else if(t>TMAX) {
+                            t=TMAX;
+                        }
+                        */
+                    
+                        t=k-bias;
+                        if(t<TMIN) {
+                            t=TMIN;
+                        } else if(k>=(bias+TMAX)) {
+                            t=TMAX;
+                        }
+
+                        if(q<t) {
+                            break;
+                        }
+
+                        if(destLength<destCapacity) {
+                            dest[destLength++]=digitToBasic(t+(q-t)%(BASE-t), false);
+                        }
+                        q=(q-t)/(BASE-t);
+                    }
+
+                    if(destLength<destCapacity) {
+                        dest[destLength++]=digitToBasic(q, (cpBuffer[j]<0));
+                    }
+                    bias=adaptBias(delta, handledCPCount+1,(handledCPCount==basicLength));
+                    delta=0;
+                    ++handledCPCount;
+                }
+            }
+
+            ++delta;
+            ++n;
+        }
+
+        return result.append(dest, 0, destLength);
+    }
+    
+    private static boolean isBasic(int ch){
+        return (ch < INITIAL_N);
+    }
+    ///CLOVER:OFF
+    private static boolean isBasicUpperCase(int ch){
+        return( CAPITAL_A<=ch && ch >= CAPITAL_Z);
+    }
+    ///CLOVER:ON
+    private static boolean isSurrogate(int ch){
+        return (((ch)&0xfffff800)==0xd800);
+    }
+    /**
+     * Converts Punycode to Unicode.
+     * The Unicode string will be at most as long as the Punycode string.
+     * 
+     * @param src
+     * @param caseFlags
+     * @return
+     * @throws ParseException
+     */
+    public static StringBuffer decode(StringBuffer src, boolean[] caseFlags) 
+                               throws StringPrepParseException{
+        int srcLength = src.length();
+        StringBuffer result = new StringBuffer();
+        int n, destLength, i, bias, basicLength, j, in, oldi, w, k, digit, t,
+                destCPCount, firstSupplementaryIndex, cpLength;
+        char b;
+        int destCapacity = MAX_CP_COUNT;
+        char[] dest = new char[destCapacity];
+
+        /*
+         * Handle the basic code points:
+         * Let basicLength be the number of input code points
+         * before the last delimiter, or 0 if there is none,
+         * then copy the first basicLength code points to the output.
+         *
+         * The two following loops iterate backward.
+         */
+        for(j=srcLength; j>0;) {
+            if(src.charAt(--j)==DELIMITER) {
+                break;
+            }
+        }
+        destLength=basicLength=destCPCount=j;
+
+        while(j>0) {
+            b=src.charAt(--j);
+            if(!isBasic(b)) {
+                throw new StringPrepParseException("Illegal char found", StringPrepParseException.INVALID_CHAR_FOUND);
+            }
+
+            if(j<destCapacity) {
+                dest[j]= b;
+
+                if(caseFlags!=null) {
+                    caseFlags[j]=isBasicUpperCase(b);
+                }
+            }
+        }
+
+        /* Initialize the state: */
+        n=INITIAL_N;
+        i=0;
+        bias=INITIAL_BIAS;
+        firstSupplementaryIndex=1000000000;
+
+        /*
+         * Main decoding loop:
+         * Start just after the last delimiter if any
+         * basic code points were copied; start at the beginning otherwise.
+         */
+        for(in=basicLength>0 ? basicLength+1 : 0; in<srcLength; /* no op */) {
+            /*
+             * in is the index of the next character to be consumed, and
+             * destCPCount is the number of code points in the output array.
+             *
+             * Decode a generalized variable-length integer into delta,
+             * which gets added to i.  The overflow checking is easier
+             * if we increase i as we go, then subtract off its starting
+             * value at the end to obtain delta.
+             */
+            for(oldi=i, w=1, k=BASE; /* no condition */; k+=BASE) {
+                if(in>=srcLength) {
+                    throw new StringPrepParseException("Illegal char found", StringPrepParseException.ILLEGAL_CHAR_FOUND);
+                }
+
+                digit=basicToDigit[(byte)src.charAt(in++)];
+                if(digit<0) {
+                    throw new StringPrepParseException("Invalid char found", StringPrepParseException.INVALID_CHAR_FOUND);
+                }
+                if(digit>(0x7fffffff-i)/w) {
+                    /* integer overflow */
+                    throw new StringPrepParseException("Illegal char found", StringPrepParseException.ILLEGAL_CHAR_FOUND);
+                }
+
+                i+=digit*w;
+                t=k-bias;
+                if(t<TMIN) {
+                    t=TMIN;
+                } else if(k>=(bias+TMAX)) {
+                    t=TMAX;
+                }
+                if(digit<t) {
+                    break;
+                }
+
+                if(w>0x7fffffff/(BASE-t)) {
+                    /* integer overflow */
+                    throw new StringPrepParseException("Illegal char found", StringPrepParseException.ILLEGAL_CHAR_FOUND);
+                }
+                w*=BASE-t;
+            }
+
+            /*
+             * Modification from sample code:
+             * Increments destCPCount here,
+             * where needed instead of in for() loop tail.
+             */
+            ++destCPCount;
+            bias=adaptBias(i-oldi, destCPCount, (oldi==0));
+
+            /*
+             * i was supposed to wrap around from (incremented) destCPCount to 0,
+             * incrementing n each time, so we'll fix that now:
+             */
+            if(i/destCPCount>(0x7fffffff-n)) {
+                /* integer overflow */
+                throw new StringPrepParseException("Illegal char found", StringPrepParseException.ILLEGAL_CHAR_FOUND);
+            }
+
+            n+=i/destCPCount;
+            i%=destCPCount;
+            /* not needed for Punycode: */
+            /* if (decode_digit(n) <= BASE) return punycode_invalid_input; */
+
+            if(n>0x10ffff || isSurrogate(n)) {
+                /* Unicode code point overflow */
+                throw new StringPrepParseException("Illegal char found", StringPrepParseException.ILLEGAL_CHAR_FOUND);
+            }
+
+            /* Insert n at position i of the output: */
+            cpLength=UTF16.getCharCount(n);
+            if((destLength+cpLength)<destCapacity) {
+                int codeUnitIndex;
+
+                /*
+                 * Handle indexes when supplementary code points are present.
+                 *
+                 * In almost all cases, there will be only BMP code points before i
+                 * and even in the entire string.
+                 * This is handled with the same efficiency as with UTF-32.
+                 *
+                 * Only the rare cases with supplementary code points are handled
+                 * more slowly - but not too bad since this is an insertion anyway.
+                 */
+                if(i<=firstSupplementaryIndex) {
+                    codeUnitIndex=i;
+                    if(cpLength>1) {
+                        firstSupplementaryIndex=codeUnitIndex;
+                    } else {
+                        ++firstSupplementaryIndex;
+                    }
+                } else {
+                    codeUnitIndex=firstSupplementaryIndex;
+                    codeUnitIndex=UTF16.moveCodePointOffset(dest, 0, destLength, codeUnitIndex, i-codeUnitIndex);
+                }
+
+                /* use the UChar index codeUnitIndex instead of the code point index i */
+                if(codeUnitIndex<destLength) {
+                    System.arraycopy(dest, codeUnitIndex,
+                                     dest, codeUnitIndex+cpLength,
+                                    (destLength-codeUnitIndex));
+                    if(caseFlags!=null) {
+                        System.arraycopy(caseFlags, codeUnitIndex,
+                                         caseFlags, codeUnitIndex+cpLength,
+                                         destLength-codeUnitIndex);
+                    }
+                }
+                if(cpLength==1) {
+                    /* BMP, insert one code unit */
+                    dest[codeUnitIndex]=(char)n;
+                } else {
+                    /* supplementary character, insert two code units */
+                    dest[codeUnitIndex]=UTF16.getLeadSurrogate(n);
+                    dest[codeUnitIndex+1]=UTF16.getTrailSurrogate(n);
+                }
+                if(caseFlags!=null) {
+                    /* Case of last character determines uppercase flag: */
+                    caseFlags[codeUnitIndex]=isBasicUpperCase(src.charAt(in-1));
+                    if(cpLength==2) {
+                        caseFlags[codeUnitIndex+1]=false;
+                    }
+                }
+            }
+            destLength+=cpLength;
+            ++i;
+        }
+        result.append(dest, 0, destLength);
+        return result;
+    }
+}
+
diff --git a/src/com/ibm/icu/text/Quantifier.java b/src/com/ibm/icu/text/Quantifier.java
new file mode 100755
index 0000000..d26d607
--- /dev/null
+++ b/src/com/ibm/icu/text/Quantifier.java
@@ -0,0 +1,115 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2001-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.text;
+import com.ibm.icu.impl.Utility;
+
+class Quantifier implements UnicodeMatcher {
+
+    private UnicodeMatcher matcher;
+
+    private int minCount;
+
+    private int maxCount;
+
+    /**
+     * Maximum count a quantifier can have.
+     */
+    public static final int MAX = Integer.MAX_VALUE;
+
+    public Quantifier(UnicodeMatcher theMatcher,
+                      int theMinCount, int theMaxCount) {
+        if (theMatcher == null || minCount < 0 || maxCount < 0 || minCount > maxCount) {
+            throw new IllegalArgumentException();
+        }
+        matcher = theMatcher;
+        minCount = theMinCount;
+        maxCount = theMaxCount;
+    }
+
+    /**
+     * Implement UnicodeMatcher API.
+     */
+    public int matches(Replaceable text,
+                       int[] offset,
+                       int limit,
+                       boolean incremental) {
+        int start = offset[0];
+        int count = 0;
+        while (count < maxCount) {
+            int pos = offset[0];
+            int m = matcher.matches(text, offset, limit, incremental);
+            if (m == U_MATCH) {
+                ++count;
+                if (pos == offset[0]) {
+                    // If offset has not moved we have a zero-width match.
+                    // Don't keep matching it infinitely.
+                    break;
+                }
+            } else if (incremental && m == U_PARTIAL_MATCH) {
+                return U_PARTIAL_MATCH;
+            } else {
+                break;
+            }
+        }
+        if (incremental && offset[0] == limit) {
+            return U_PARTIAL_MATCH;
+        }
+        if (count >= minCount) {
+            return U_MATCH;
+        }
+        offset[0] = start;
+        return U_MISMATCH;
+    }
+
+    /**
+     * Implement UnicodeMatcher API
+     */
+    public String toPattern(boolean escapeUnprintable) {
+        StringBuffer result = new StringBuffer();
+        result.append(matcher.toPattern(escapeUnprintable));
+        if (minCount == 0) {
+            if (maxCount == 1) {
+                return result.append('?').toString();
+            } else if (maxCount == MAX) {
+                return result.append('*').toString();
+            }
+            // else fall through
+        } else if (minCount == 1 && maxCount == MAX) {
+            return result.append('+').toString();
+        }
+        result.append('{');
+        Utility.appendNumber(result, minCount);
+        result.append(',');
+        if (maxCount != MAX) {
+            Utility.appendNumber(result, maxCount);
+        }
+        result.append('}');
+        return result.toString();
+    }
+
+    /**
+     * Implement UnicodeMatcher API
+     */
+    public boolean matchesIndexValue(int v) {
+        return (minCount == 0) || matcher.matchesIndexValue(v);
+    }
+
+    /**
+     * Implementation of UnicodeMatcher API.  Union the set of all
+     * characters that may be matched by this object into the given
+     * set.
+     * @param toUnionTo the set into which to union the source characters
+     * @returns a reference to toUnionTo
+     */
+    public void addMatchSetTo(UnicodeSet toUnionTo) {
+        if (maxCount > 0) {
+            matcher.addMatchSetTo(toUnionTo);
+        }
+    }
+}
+
+//eof
diff --git a/src/com/ibm/icu/text/RBBIDataWrapper.java b/src/com/ibm/icu/text/RBBIDataWrapper.java
new file mode 100644
index 0000000..1f87385
--- /dev/null
+++ b/src/com/ibm/icu/text/RBBIDataWrapper.java
@@ -0,0 +1,484 @@
+/**
+*******************************************************************************
+* Copyright (C) 1996-2005, International Business Machines Corporation and    *
+* others. All Rights Reserved.                                                *
+*******************************************************************************
+*/
+
+package com.ibm.icu.text;
+
+import java.io.BufferedInputStream;
+import java.io.InputStream;
+import java.io.DataInputStream;
+import java.io.IOException;
+
+import com.ibm.icu.impl.ICUData;
+import com.ibm.icu.impl.ICUResourceBundle;
+import com.ibm.icu.impl.Trie;
+import com.ibm.icu.impl.CharTrie;
+
+/**
+* <p>Internal class used for Rule Based Break Iterators</p>
+* <p>This class provides access to the compiled break rule data, as
+* it is stored in a .brk file.  
+* @internal
+* 
+*/
+final class RBBIDataWrapper {
+    //
+    // These fields are the ready-to-use compiled rule data, as
+    //   read from the file.
+    //
+    RBBIDataHeader fHeader;
+    short          fFTable[];
+    short          fRTable[];
+    short          fSFTable[];
+    short          fSRTable[];
+    CharTrie       fTrie;
+    String         fRuleSource;
+    int            fStatusTable[];
+    
+    // Index offsets to the fields in a state table row.
+    //    Corresponds to struct RBBIStateTableRow in the C version.
+    //   
+    final static int      ACCEPTING  = 0;
+    final static int      LOOKAHEAD  = 1;
+    final static int      TAGIDX     = 2;
+    final static int      RESERVED   = 3;
+    final static int      NEXTSTATES = 4;
+    
+    // Index offsets to header fields of a state table
+    //     struct RBBIStateTable {...   in the C version.
+    //
+    final static int      NUMSTATES  = 0;
+    final static int      ROWLEN     = 2;
+    final static int      FLAGS      = 4;
+    final static int      RESERVED_2 = 6;
+    final static int      ROW_DATA   = 8;
+    
+    //  Bit selectors for the "FLAGS" field of the state table header
+    //     enum RBBIStateTableFlags in the C version.
+    //
+    final static int      RBBI_LOOKAHEAD_HARD_BREAK = 1;
+    
+    //  Getters for fields from the state table header
+    //
+    final static int   getNumStates(short  table[]) {
+        int  hi = table[NUMSTATES];
+        int  lo = table[NUMSTATES+1];
+        int  val = (hi<<16) + (lo&0x0000ffff);
+        return val;
+     }
+    
+    
+    /**
+     * Data Header.  A struct-like class with the fields from the RBBI data file header.
+     */
+    final static class RBBIDataHeader {
+        int         fMagic;         //  == 0xbla0 
+        int         fVersion;       //  == 1 (for ICU 3.2 and earlier. 
+        byte[]      fFormatVersion; //  For ICU 3.4 and later.
+        int         fLength;        //  Total length in bytes of this RBBI Data, 
+                                       //      including all sections, not just the header. 
+        int         fCatCount;      //  Number of character categories. 
+
+        //  
+        //  Offsets and sizes of each of the subsections within the RBBI data. 
+        //  All offsets are bytes from the start of the RBBIDataHeader. 
+        //  All sizes are in bytes. 
+        //  
+        int         fFTable;         //  forward state transition table. 
+        int         fFTableLen;
+        int         fRTable;         //  Offset to the reverse state transition table. 
+        int         fRTableLen;
+        int         fSFTable;        //  safe point forward transition table 
+        int         fSFTableLen;
+        int         fSRTable;        //  safe point reverse transition table 
+        int         fSRTableLen;
+        int         fTrie;           //  Offset to Trie data for character categories 
+        int         fTrieLen;
+        int         fRuleSource;     //  Offset to the source for for the break 
+        int         fRuleSourceLen;  //    rules.  Stored UChar *. 
+        int         fStatusTable;    // Offset to the table of rule status values 
+        int         fStatusTableLen;
+
+        public RBBIDataHeader() {
+            fMagic = 0;
+            fFormatVersion = new byte[4];
+        };
+    };
+    
+    /**
+     * RBBI State Table Indexing Function.  Given a state number, return the
+     * array index of the start of the state table row for that state.
+     * 
+     */
+    int getRowIndex(int state){
+        return ROW_DATA + state * (fHeader.fCatCount + 4);
+    }
+    
+    static class TrieFoldingFunc implements  Trie.DataManipulate {
+        public int getFoldingOffset(int data) {
+            if ((data & 0x8000) != 0) {
+                return data & 0x7fff;
+            } else {
+                return 0;
+            }
+        }
+    };
+    static TrieFoldingFunc  fTrieFoldingFunc = new TrieFoldingFunc();
+ 
+    
+    RBBIDataWrapper() {
+     };
+
+    static RBBIDataWrapper get(String name) throws IOException {
+        String  fullName = "data/" + name;
+        InputStream is = ICUData.getRequiredStream(fullName);
+        return get(is);
+    }
+    
+    /*
+     *  Get an RBBIDataWrapper from an InputStream onto a pre-compiled set
+     *  of RBBI rules.
+     */
+    static RBBIDataWrapper get(InputStream is) throws IOException {
+        int i;
+        
+        DataInputStream dis = new DataInputStream(new BufferedInputStream(is));
+        RBBIDataWrapper This = new RBBIDataWrapper();
+        
+        // Seek past the ICU data header.
+        //   TODO:  verify that the header looks good.
+        dis.skip(0x80);
+        
+        // Read in the RBBI data header...
+        This.fHeader = new  RBBIDataHeader();
+        This.fHeader.fMagic          = dis.readInt();
+        This.fHeader.fVersion        = dis.readInt();
+        This.fHeader.fFormatVersion[0] = (byte) (This.fHeader.fVersion >> 24);
+        This.fHeader.fFormatVersion[1] = (byte) (This.fHeader.fVersion >> 16);
+        This.fHeader.fFormatVersion[2] = (byte) (This.fHeader.fVersion >> 8);
+        This.fHeader.fFormatVersion[3] = (byte) (This.fHeader.fVersion);
+        This.fHeader.fLength         = dis.readInt();
+        This.fHeader.fCatCount       = dis.readInt();
+        This.fHeader.fFTable         = dis.readInt();
+        This.fHeader.fFTableLen      = dis.readInt();
+        This.fHeader.fRTable         = dis.readInt();
+        This.fHeader.fRTableLen      = dis.readInt();
+        This.fHeader.fSFTable        = dis.readInt();
+        This.fHeader.fSFTableLen     = dis.readInt();
+        This.fHeader.fSRTable        = dis.readInt();
+        This.fHeader.fSRTableLen     = dis.readInt();
+        This.fHeader.fTrie           = dis.readInt();
+        This.fHeader.fTrieLen        = dis.readInt();
+        This.fHeader.fRuleSource     = dis.readInt();
+        This.fHeader.fRuleSourceLen  = dis.readInt();
+        This.fHeader.fStatusTable    = dis.readInt();
+        This.fHeader.fStatusTableLen = dis.readInt();
+        dis.skip(6 * 4);    // uint32_t  fReserved[6];
+        
+        
+        if (This.fHeader.fMagic != 0xb1a0 || 
+                ! (This.fHeader.fVersion == 1  ||         // ICU 3.2 and earlier
+                   This.fHeader.fFormatVersion[0] == 3)   // ICU 3.4
+            ) {
+            throw new IOException("Break Iterator Rule Data Magic Number Incorrect, or unsupported data version.");
+        }
+        
+        // Current position in input stream.  
+        int pos = 24 * 4;     // offset of end of header, which has 24 fields, all int32_t (4 bytes)
+        
+        //
+        // Read in the Forward state transition table as an array of shorts.
+        //
+        
+        //   Quick Sanity Check
+        if (This.fHeader.fFTable < pos || This.fHeader.fFTable > This.fHeader.fLength) {
+             throw new IOException("Break iterator Rule data corrupt");
+        }
+        
+        //    Skip over any padding preceding this table
+        dis.skip(This.fHeader.fFTable - pos);
+        pos = This.fHeader.fFTable;
+        
+        This.fFTable = new short[This.fHeader.fFTableLen / 2];
+        for ( i=0; i<This.fFTable.length; i++) {
+            This.fFTable[i] = dis.readShort(); 
+            pos += 2;
+        }
+        
+        //
+        // Read in the Reverse state table
+        //
+        
+        // Skip over any padding in the file
+        dis.skip(This.fHeader.fRTable - pos);
+        pos = This.fHeader.fRTable;
+        
+        // Create & fill the table itself.
+        This.fRTable = new short[This.fHeader.fRTableLen / 2];
+        for (i=0; i<This.fRTable.length; i++) {
+            This.fRTable[i] = dis.readShort(); 
+            pos += 2;
+        }
+        
+        //
+        // Read in the Safe Forward state table
+        // 
+        if (This.fHeader.fSFTableLen > 0) {
+            // Skip over any padding in the file
+            dis.skip(This.fHeader.fSFTable - pos);
+            pos = This.fHeader.fSFTable;
+            
+            // Create & fill the table itself.
+            This.fSFTable = new short[This.fHeader.fSFTableLen / 2];
+            for (i=0; i<This.fSFTable.length; i++) {
+                This.fSFTable[i] = dis.readShort(); 
+                pos += 2;
+            }           
+        }
+        
+        //
+        // Read in the Safe Reverse state table
+        // 
+        if (This.fHeader.fSRTableLen > 0) {
+            // Skip over any padding in the file
+            dis.skip(This.fHeader.fSRTable - pos);
+            pos = This.fHeader.fSRTable;
+            
+            // Create & fill the table itself.
+            This.fSRTable = new short[This.fHeader.fSRTableLen / 2];
+            for (i=0; i<This.fSRTable.length; i++) {
+                This.fSRTable[i] = dis.readShort(); 
+                pos += 2;
+            }           
+        }
+        
+        //
+        // Unserialize the Character categories TRIE
+        //     Because we can't be absolutely certain where the Trie deserialize will
+        //     leave the input stream, leave position unchanged.
+        //     The seek to the start of the next item following the TRIE will get us
+        //     back in sync.
+        //
+        dis.skip(This.fHeader.fTrie - pos);     // seek input stream from end of previous section to
+        pos = This.fHeader.fTrie;               //   to the start of the trie
+    
+        dis.mark(This.fHeader.fTrieLen+100);    // Mark position of start of TRIE in the input
+                                                //  and tell Java to keep the mark valid so long
+                                                //  as we don't go more than 100 bytes past the
+                                                //  past the end of the TRIE.
+    
+        This.fTrie = new CharTrie(dis, fTrieFoldingFunc);  // Deserialize the TRIE, leaving input
+                                                //  stream at an unknown position, preceding the
+                                                //  padding between TRIE and following section.
+    
+        dis.reset();                            // Move input stream back to marked position at
+                                                //   the start of the serialized TRIE.  Now our
+                                                //   "pos" variable and the input stream are in
+                                                //   agreement.
+        
+        //
+        // Read the Rule Status Table
+        //
+        if (pos > This.fHeader.fStatusTable) {
+            throw new IOException("Break iterator Rule data corrupt");            
+        }
+        dis.skip(This.fHeader.fStatusTable - pos);
+        pos = This.fHeader.fStatusTable;
+        This.fStatusTable = new int[This.fHeader.fStatusTableLen / 4];
+        for (i=0; i<This.fStatusTable.length; i++) {
+            This.fStatusTable[i] = dis.readInt(); 
+            pos += 4;
+        }
+        
+        //
+        // Put the break rule source into a String
+        //
+        if (pos > This.fHeader.fRuleSource) {
+            throw new IOException("Break iterator Rule data corrupt");            
+        }
+        dis.skip(This.fHeader.fRuleSource - pos);
+        pos = This.fHeader.fRuleSource;
+        StringBuffer sb = new StringBuffer(This.fHeader.fRuleSourceLen / 2);
+        for (i=0; i<This.fHeader.fRuleSourceLen; i+=2) {
+            sb.append(dis.readChar()); 
+            pos += 2;
+        }
+        This.fRuleSource = sb.toString();
+        
+        // This.dump();
+        return This;
+    }
+    
+    
+    
+    /** Debug function to display the break iterator data.  
+     *  @internal
+     */
+    void dump() {
+        System.out.println("RBBI Data Wrapper dump ...");
+        System.out.println();
+        System.out.println("Forward State Table");
+        dumpTable(fFTable);
+        System.out.println("Reverse State Table");
+        dumpTable(fRTable);
+        System.out.println("Forward Safe Points Table");
+        dumpTable(fSFTable);
+        System.out.println("Reverse Safe Points Table");
+        dumpTable(fSRTable);
+        
+        dumpCharCategories();
+        System.out.println("Source Rules: " + fRuleSource);
+        
+    }
+    
+    /** Fixed width int-to-string conversion.   
+     *  @internal
+     * 
+     */
+    static public String intToString(int n, int width) {
+        StringBuffer  dest = new StringBuffer(width);   
+        dest.append(n);
+        while (dest.length() < width) {
+           dest.insert(0, ' ');   
+        }
+        return dest.toString();
+    }
+    
+    /** Fixed width int-to-string conversion.   
+     *  @internal
+     * 
+     */
+    static public String intToHexString(int n, int width) {
+        StringBuffer  dest = new StringBuffer(width);   
+        dest.append(Integer.toHexString(n));
+        while (dest.length() < width) {
+           dest.insert(0, ' ');   
+        }
+        return dest.toString();
+    }
+    
+    /** Dump a state table.  (A full set of RBBI rules has 4 state tables.)  */
+    private void dumpTable(short table[]) {
+        int n;
+        int state;
+        String header = " Row  Acc Look  Tag";
+        for (n=0; n<fHeader.fCatCount; n++) {
+            header += intToString(n, 5);     
+        }
+        System.out.println(header);
+        for (n=0; n<header.length(); n++) {
+            System.out.print("-");
+        }
+        System.out.println();
+        for (state=0; state< getNumStates(table); state++) {
+            dumpRow(table, state);   
+        }
+        System.out.println();
+    }
+    
+    /**
+     * Dump (for debug) a single row of an RBBI state table
+     * @param table
+     * @param state
+     * @internal
+     */
+    private void dumpRow(short table[], int   state) {
+        StringBuffer dest = new StringBuffer(fHeader.fCatCount*5 + 20);
+        dest.append(intToString(state, 4));
+        int row = getRowIndex(state);
+        if (table[row+ACCEPTING] != 0) {
+           dest.append(intToString(table[row+ACCEPTING], 5)); 
+        }else {
+            dest.append("     ");
+        }
+        if (table[row+LOOKAHEAD] != 0) {
+            dest.append(intToString(table[row+LOOKAHEAD], 5)); 
+        }else {
+            dest.append("     ");
+        }
+        dest.append(intToString(table[row+TAGIDX], 5)); 
+        
+        for (int col=0; col<fHeader.fCatCount; col++) {
+            dest.append(intToString(table[row+NEXTSTATES+col], 5));   
+        }
+
+        System.out.println(dest);
+    }
+    
+    private void dumpCharCategories() {
+        int n = fHeader.fCatCount;
+        String   catStrings[] = new  String[n+1];
+        int      rangeStart = 0;
+        int      rangeEnd = 0;
+        int      lastCat = -1;
+        int      char32;
+        int      category;
+        int      lastNewline[] = new int[n+1];
+        
+        for (category = 0; category <= fHeader.fCatCount; category ++) {
+            catStrings[category] = "";   
+        }
+        System.out.println("\nCharacter Categories");
+        System.out.println("--------------------");
+        for (char32 = 0; char32<=0x10ffff; char32++) {
+            category = fTrie.getCodePointValue(char32);
+            category &= ~0x4000;            // Mask off dictionary bit.
+            if (category < 0 || category > fHeader.fCatCount) {
+                System.out.println("Error, bad category " + Integer.toHexString(category) + 
+                        " for char " + Integer.toHexString(char32)); 
+                break;
+            }
+            if (category == lastCat ) {
+                rangeEnd = char32;   
+            } else {
+                if (lastCat >= 0) {
+                    if (catStrings[lastCat].length() > lastNewline[lastCat] + 70) {
+                        lastNewline[lastCat] = catStrings[lastCat].length() + 10;
+                        catStrings[lastCat] += "\n       ";
+                    }
+                    
+                    catStrings[lastCat] += " " + Integer.toHexString(rangeStart);
+                    if (rangeEnd != rangeStart) {
+                        catStrings[lastCat] += "-" + Integer.toHexString(rangeEnd);   
+                    }
+                }
+                lastCat = category;
+                rangeStart = rangeEnd = char32;
+            }
+        }
+        catStrings[lastCat] += " " + Integer.toHexString(rangeStart);
+        if (rangeEnd != rangeStart) {
+            catStrings[lastCat] += "-" + Integer.toHexString(rangeEnd);   
+        }
+        
+        for (category = 0; category <= fHeader.fCatCount; category ++) {
+            System.out.println (intToString(category, 5) + "  " + catStrings[category]);   
+        }
+        System.out.println();
+    }
+    
+    public static void main(String[] args) {
+        String s;
+        if (args.length == 0) {
+            s = "char";
+        } else {
+            s = args[0];
+        }
+        System.out.println("RBBIDataWrapper.main(" + s + ") ");
+        
+        String versionedName = ICUResourceBundle.ICU_BUNDLE+"/"+ s + ".brk";
+        
+        try {
+            RBBIDataWrapper This = RBBIDataWrapper.get(versionedName);
+            This.dump();
+        }
+       catch (Exception e) {
+           System.out.println("Exception: " + e.toString());
+       }
+           
+    }
+
+}
diff --git a/src/com/ibm/icu/text/RBNFChinesePostProcessor.java b/src/com/ibm/icu/text/RBNFChinesePostProcessor.java
new file mode 100644
index 0000000..c2c3330
--- /dev/null
+++ b/src/com/ibm/icu/text/RBNFChinesePostProcessor.java
@@ -0,0 +1,158 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2004-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+package com.ibm.icu.text;
+
+/**
+ * A post-processor for Chinese text.
+ */
+final class RBNFChinesePostProcessor extends RBNFPostProcessor {
+    private NFRuleSet lastRuleSet;
+    private boolean longForm;
+    private int format;
+
+    private static final String[] rulesetNames = {
+        "%traditional", "%simplified", "%accounting", "%time"
+    };
+
+    /**
+     * Initialization routine for this instance, called once
+     * immediately after first construction and never again.  
+     */
+    void init(RuleBasedNumberFormat formatter, String rules) {
+    }
+
+    /**
+     * Work routine.  Post process the output, which was generated by the
+     * ruleset with the given name.
+     */
+    void process(StringBuffer buf, NFRuleSet ruleSet) {
+        // markers depend on what rule set we are using
+
+        if (ruleSet != lastRuleSet) {
+            String name = ruleSet.getName();
+            for (int i = 0; i < rulesetNames.length; ++i) {
+                if (rulesetNames[i].equals(name)) {
+                    format = i;
+                    longForm = i == 1 || i == 3;
+                    break;
+                }
+            }
+        }
+
+        if (longForm) {
+            for (int i = buf.indexOf("*"); i != -1; i = buf.indexOf("*", i)) {
+                buf.delete(i, i+1);
+            }
+            return;
+        }
+
+        final String DIAN = "\u9ede"; // decimal point
+
+        final String[][] markers = {
+            { "\u842c", "\u5104", "\u5146", "\u3007" }, // marker chars, last char is the 'zero'
+            { "\u4e07", "\u4ebf", "\u5146", "\u3007" },
+            { "\u842c", "\u5104", "\u5146", "\u96f6" }
+            // need markers for time?
+        };
+
+        // remove unwanted lings
+        // a '0' (ling) with * might be removed
+        // mark off 10,000 'chunks', markers are Z, Y, W (zhao, yii, and wan)
+        // already, we avoid two lings in the same chunk -- ling without * wins
+        // now, just need  to avoid optional lings in adjacent chunks
+        // process right to left
+
+        // decision matrix:
+        // state, situation
+        //     state         none       opt.          req.
+        //     -----         ----       ----          ----
+        // none to right     none       opt.          req.  
+        // opt. to right     none   clear, none  clear right, req.
+        // req. to right     none   clear, none       req.
+
+        // mark chunks with '|' for convenience
+        {
+            String[] m = markers[format];
+            for (int i = 0; i < m.length-1; ++i) {
+                int n = buf.indexOf(m[i]);
+                if (n != -1) {
+                    buf.insert(n+m[i].length(), '|');
+                }
+            }
+        }
+
+        int x = buf.indexOf(DIAN);
+        if (x == -1) {
+            x = buf.length();
+        }
+        int s = 0; // 0 = none to right, 1 = opt. to right, 2 = req. to right
+        int n = -1; // previous optional ling
+        String ling = markers[format][3];
+        while (x >= 0) {
+            int m = buf.lastIndexOf("|", x);
+            int nn = buf.lastIndexOf(ling, x);
+            int ns = 0;
+            if (nn > m) {
+                ns = (nn > 0 && buf.charAt(nn-1) != '*') ? 2 : 1;
+            }
+            x = m - 1;
+
+            // actually much simpler, but leave this verbose for now so it's easier to follow
+            switch (s*3+ns) {
+            case 0: /* none, none */
+                s = ns; // redundant
+                n = -1;
+                break;
+            case 1: /* none, opt. */
+                s = ns;
+                n = nn; // remember optional ling to right
+                break;
+            case 2: /* none, req. */
+                s = ns;
+                n = -1;
+                break;
+            case 3: /* opt., none */
+                s = ns;
+                n = -1;
+                break;
+            case 4: /* opt., opt. */
+                buf.delete(nn-1, nn+ling.length()); // delete current optional ling
+                s = 0;
+                n = -1;
+                break;
+            case 5: /* opt., req. */
+                buf.delete(n-1, n+ling.length()); // delete previous optional ling
+                s = ns;
+                n = -1;
+                break;
+            case 6: /* req., none */
+                s = ns;
+                n = -1;
+                break;
+            case 7: /* req., opt. */
+                buf.delete(nn-1, nn+ling.length()); // delete current optional ling
+                s = 0;
+                n = -1;
+                break;
+            case 8: /* req., req. */
+                s = ns;
+                n = -1;
+                break;
+            default:
+                throw new InternalError();
+            }
+        }
+
+        for (int i = buf.length(); --i >= 0;) {
+            char c = buf.charAt(i);
+            if (c == '*' || c == '|') {
+                buf.delete(i, i+1);
+            }
+        }
+    }
+}
diff --git a/src/com/ibm/icu/text/RBNFPostProcessor.java b/src/com/ibm/icu/text/RBNFPostProcessor.java
new file mode 100644
index 0000000..ca5a630
--- /dev/null
+++ b/src/com/ibm/icu/text/RBNFPostProcessor.java
@@ -0,0 +1,32 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2004, International Business Machines Corporation and         *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+package com.ibm.icu.text;
+
+/**
+ * Post processor for RBNF output.
+ * @internal
+ */
+class RBNFPostProcessor {
+    /**
+     * Initialization routine for this instance, called once
+     * immediately after first construction and never again.
+     * @param formatter the formatter that will be using this post-processor
+     * @param the special rules for this post-procesor
+     */
+    void init(RuleBasedNumberFormat formatter, String rules) {
+    }
+
+    /**
+     * Work routine.  Post process the output, which was generated by the
+     * ruleset with the given name.
+     * @param output the output of the main RBNF processing
+     * @param ruleSet the rule set originally invoked to generate the output
+     */
+    void process(StringBuffer output, NFRuleSet ruleSet) {
+    }
+}
diff --git a/src/com/ibm/icu/text/RawCollationKey.java b/src/com/ibm/icu/text/RawCollationKey.java
new file mode 100644
index 0000000..db9857e
--- /dev/null
+++ b/src/com/ibm/icu/text/RawCollationKey.java
@@ -0,0 +1,102 @@
+/**
+ *******************************************************************************
+ * Copyright (C) 1996-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.text;
+
+import com.ibm.icu.util.ByteArrayWrapper;
+
+/**
+ * <p>
+ * Simple class wrapper to store the internal byte representation of a 
+ * CollationKey. Unlike the CollationKey, this class do not contain information 
+ * on the source string the sort order represents. RawCollationKey is mutable 
+ * and users can reuse its objects with the method in 
+ * RuleBasedCollator.getRawCollationKey(..).
+ * </p>
+ * <p>
+ * Please refer to the documentation on CollationKey for a detail description
+ * on the internal byte representation. Note the internal byte representation 
+ * is always null-terminated.
+ * </p> 
+ * <code>
+ * Example of use:<br>
+ * String str[] = {.....};
+ * RuleBasedCollator collator = (RuleBasedCollator)Collator.getInstance();
+ * RawCollationKey key = new RawCollationKey(128);
+ * for (int i = 0; i &lt; str.length; i ++) {
+ *     collator.getRawCollationKey(str[i], key);
+ *     // do something with key.bytes
+ * }
+ * </code>
+ * <p><strong>Note:</strong> Comparison between RawCollationKeys created by 
+ * different Collators might return incorrect results.  
+ * See class documentation for Collator.</p>
+ * @stable ICU 2.8
+ * @see RuleBasedCollator
+ * @see CollationKey
+ */
+public final class RawCollationKey extends ByteArrayWrapper
+{
+    // public constructors --------------------------------------------------
+    
+    /**
+     * Default constructor, internal byte array is null and its size set to 0.
+     * @stable ICU 2.8
+     */
+    public RawCollationKey() 
+    {
+    }
+
+    /**
+     * RawCollationKey created with an empty internal byte array of length 
+     * capacity. Size of the internal byte array will be set to 0.
+     * @param capacity length of internal byte array
+     * @stable ICU 2.8
+     */
+    public RawCollationKey(int capacity) 
+    {
+        bytes = new byte[capacity];
+    }
+
+    /**
+     * RawCollationKey created, adopting bytes as the internal byte array.
+     * Size of the internal byte array will be set to 0.
+     * @param bytes byte array to be adopted by RawCollationKey
+     * @stable ICU 2.8
+     */
+    public RawCollationKey(byte[] bytes) 
+    {
+        this.bytes = bytes;
+    }
+    
+    /**
+     * Construct a RawCollationKey from a byte array and size.
+     * @param bytesToAdopt the byte array to adopt
+     * @param size the length of valid data in the byte array
+     * @throws IndexOutOfBoundsException if bytesToAdopt == null and size != 0, or
+     * size < 0, or size > bytesToAdopt.length.
+     * @stable ICU 2.8
+     */
+    public RawCollationKey(byte[] bytesToAdopt, int size) 
+    {
+        super(bytesToAdopt, size);
+    }
+
+    /**
+     * Compare this RawCollationKey to another, which must not be null.  This overrides
+     * the inherited implementation to ensure the returned values are -1, 0, or 1.
+     * @param rhs the RawCollationKey to compare to.
+     * @return -1, 0, or 1 as this compares less than, equal to, or
+     * greater than rhs.
+     * @throws ClassCastException if the other object is not a RawCollationKey.
+     * @draft ICU 3.2
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public int compareTo(Object rhs) {
+        int result = super.compareTo((RawCollationKey)rhs);
+        return result < 0 ? -1 : result == 0 ? 0 : 1;
+    }
+}
diff --git a/src/com/ibm/icu/text/RemoveTransliterator.java b/src/com/ibm/icu/text/RemoveTransliterator.java
new file mode 100755
index 0000000..3d02002
--- /dev/null
+++ b/src/com/ibm/icu/text/RemoveTransliterator.java
@@ -0,0 +1,52 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.text;
+
+
+/**
+ * A transliterator that removes characters.  This is useful in conjunction
+ * with a filter.
+ */
+class RemoveTransliterator extends Transliterator {
+
+    /**
+     * ID for this transliterator.
+     */
+    private static String _ID = "Any-Remove";
+
+    /**
+     * System registration hook.
+     */
+    static void register() {
+        Transliterator.registerFactory(_ID, new Transliterator.Factory() {
+            public Transliterator getInstance(String ID) {
+                return new RemoveTransliterator();
+            }
+        });
+        Transliterator.registerSpecialInverse("Remove", "Null", false);
+    }
+
+    /**
+     * Constructs a transliterator.
+     */
+    public RemoveTransliterator() {
+        super(_ID, null);
+    }
+
+    /**
+     * Implements {@link Transliterator#handleTransliterate}.
+     */
+    protected void handleTransliterate(Replaceable text,
+                                       Position index, boolean incremental) {
+        // Our caller (filteredTransliterate) has already narrowed us
+        // to an unfiltered run.  Delete it.
+        text.replace(index.start, index.limit, "");
+        int len = index.limit - index.start;
+        index.contextLimit -= len;
+        index.limit -= len;
+    }
+}
diff --git a/src/com/ibm/icu/text/Replaceable.java b/src/com/ibm/icu/text/Replaceable.java
new file mode 100755
index 0000000..8bf2743
--- /dev/null
+++ b/src/com/ibm/icu/text/Replaceable.java
@@ -0,0 +1,186 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.text;
+
+/**
+ * <code>Replaceable</code> is an interface representing a
+ * string of characters that supports the replacement of a range of
+ * itself with a new string of characters.  It is used by APIs that
+ * change a piece of text while retaining metadata.  Metadata is data
+ * other than the Unicode characters returned by char32At().  One
+ * example of metadata is style attributes; another is an edit
+ * history, marking each character with an author and revision number.
+ *
+ * <p>An implicit aspect of the <code>Replaceable</code> API is that
+ * during a replace operation, new characters take on the metadata of
+ * the old characters.  For example, if the string "the <b>bold</b>
+ * font" has range (4, 8) replaced with "strong", then it becomes "the
+ * <b>strong</b> font".
+ *
+ * <p><code>Replaceable</code> specifies ranges using a start
+ * offset and a limit offset.  The range of characters thus specified
+ * includes the characters at offset start..limit-1.  That is, the
+ * start offset is inclusive, and the limit offset is exclusive.
+ *
+ * <p><code>Replaceable</code> also includes API to access characters
+ * in the string: <code>length()</code>, <code>charAt()</code>,
+ * <code>char32At()</code>, and <code>extractBetween()</code>.
+ *
+ * <p>For a subclass to support metadata, typical behavior of
+ * <code>replace()</code> is the following:
+ * <ul>
+ *   <li>Set the metadata of the new text to the metadata of the first
+ *   character replaced</li>
+ *   <li>If no characters are replaced, use the metadata of the
+ *   previous character</li>
+ *   <li>If there is no previous character (i.e. start == 0), use the
+ *   following character</li>
+ *   <li>If there is no following character (i.e. the replaceable was
+ *   empty), use default metadata<br>
+ *   <li>If the code point U+FFFF is seen, it should be interpreted as
+ *   a special marker having no metadata<li>
+ *   </li>
+ * </ul>
+ * If this is not the behavior, the subclass should document any differences.
+ * 
+ * <p>Copyright &copy; IBM Corporation 1999.  All rights reserved.
+ *
+ * @author Alan Liu
+ * @stable ICU 2.0
+ */
+public interface Replaceable {
+    /**
+     * Returns the number of 16-bit code units in the text.
+     * @return number of 16-bit code units in text
+     * @stable ICU 2.0
+     */ 
+    int length();
+
+    /**
+     * Returns the 16-bit code unit at the given offset into the text.
+     * @param offset an integer between 0 and <code>length()</code>-1
+     * inclusive
+     * @return 16-bit code unit of text at given offset
+     * @stable ICU 2.0
+     */
+    char charAt(int offset);
+
+    /**
+     * Returns the 32-bit code point at the given 16-bit offset into
+     * the text.  This assumes the text is stored as 16-bit code units
+     * with surrogate pairs intermixed.  If the offset of a leading or
+     * trailing code unit of a surrogate pair is given, return the
+     * code point of the surrogate pair.
+     *
+     * <p>Most subclasses can return
+     * <code>com.ibm.icu.text.UTF16.charAt(this, offset)</code>.
+     * @param offset an integer between 0 and <code>length()</code>-1
+     * inclusive
+     * @return 32-bit code point of text at given offset
+     * @stable ICU 2.0
+     */
+    int char32At(int offset);
+
+    /**
+     * Copies characters from this object into the destination
+     * character array.  The first character to be copied is at index
+     * <code>srcStart</code>; the last character to be copied is at
+     * index <code>srcLimit-1</code> (thus the total number of
+     * characters to be copied is <code>srcLimit-srcStart</code>). The
+     * characters are copied into the subarray of <code>dst</code>
+     * starting at index <code>dstStart</code> and ending at index
+     * <code>dstStart + (srcLimit-srcStart) - 1</code>.
+     *
+     * @param srcStart the beginning index to copy, inclusive; <code>0
+     * <= start <= limit</code>.
+     * @param srcLimit the ending index to copy, exclusive;
+     * <code>start <= limit <= length()</code>.
+     * @param dst the destination array.
+     * @param dstStart the start offset in the destination array.
+     * @stable ICU 2.0
+     */
+    void getChars(int srcStart, int srcLimit, char dst[], int dstStart);
+
+    /**
+     * Replaces a substring of this object with the given text.
+     *
+     * <p>Subclasses must ensure that if the text between start and
+     * limit is equal to the replacement text, that replace has no
+     * effect. That is, any metadata
+     * should be unaffected. In addition, subclasses are encouraged to
+     * check for initial and trailing identical characters, and make a
+     * smaller replacement if possible. This will preserve as much
+     * metadata as possible.
+     * @param start the beginning index, inclusive; <code>0 <= start
+     * <= limit</code>.
+     * @param limit the ending index, exclusive; <code>start <= limit
+     * <= length()</code>.
+     * @param text the text to replace characters <code>start</code>
+     * to <code>limit - 1</code>
+     * @stable ICU 2.0
+     */
+    void replace(int start, int limit, String text);
+
+    /**
+     * Replaces a substring of this object with the given text.
+     *
+     * <p>Subclasses must ensure that if the text between start and
+     * limit is equal to the replacement text, that replace has no
+     * effect. That is, any metadata
+     * should be unaffected. In addition, subclasses are encouraged to
+     * check for initial and trailing identical characters, and make a
+     * smaller replacement if possible. This will preserve as much
+     * metadata as possible.
+     * @param start the beginning index, inclusive; <code>0 <= start
+     * <= limit</code>.
+     * @param limit the ending index, exclusive; <code>start <= limit
+     * <= length()</code>.
+     * @param chars the text to replace characters <code>start</code>
+     * to <code>limit - 1</code>
+     * @param charsStart the beginning index into <code>chars</code>,
+     * inclusive; <code>0 <= start <= limit</code>.
+     * @param charsLen the number of characters of <code>chars</code>.
+     * @stable ICU 2.0
+     */
+    void replace(int start, int limit, char[] chars,
+                 int charsStart, int charsLen);
+    // Note: We use length rather than limit to conform to StringBuffer
+    // and System.arraycopy.
+
+    /**
+     * Copies a substring of this object, retaining metadata.
+     * This method is used to duplicate or reorder substrings.
+     * The destination index must not overlap the source range.
+     * If <code>hasMetaData()</code> returns false, subclasses
+     * may use the naive implementation:
+     *
+     * <pre> char[] text = new char[limit - start];
+     * getChars(start, limit, text, 0);
+     * replace(dest, dest, text, 0, limit - start);</pre>
+     * 
+     * @param start the beginning index, inclusive; <code>0 <= start <=
+     * limit</code>.
+     * @param limit the ending index, exclusive; <code>start <= limit <=
+     * length()</code>.
+     * @param dest the destination index.  The characters from
+     * <code>start..limit-1</code> will be copied to <code>dest</code>.
+     * Implementations of this method may assume that <code>dest <= start ||
+     * dest >= limit</code>.
+     * @stable ICU 2.0
+     */
+    void copy(int start, int limit, int dest);
+    
+    /**
+     * Returns true if this object contains metadata.  If a
+     * Replaceable object has metadata, calls to the Replaceable API
+     * must be made so as to preserve metadata.  If it does not, calls
+     * to the Replaceable API may be optimized to improve performance.
+     * @return true if this object contains metadata
+     * @stable ICU 2.2
+     */
+    boolean hasMetaData();
+}
diff --git a/src/com/ibm/icu/text/ReplaceableContextIterator.java b/src/com/ibm/icu/text/ReplaceableContextIterator.java
new file mode 100644
index 0000000..8f86e72
--- /dev/null
+++ b/src/com/ibm/icu/text/ReplaceableContextIterator.java
@@ -0,0 +1,200 @@
+/*
+*******************************************************************************
+*
+*   Copyright (C) 2004-2005, International Business Machines
+*   Corporation and others.  All Rights Reserved.
+*
+*******************************************************************************
+*   file name:  ReplaceableContextIterator.java
+*   encoding:   US-ASCII
+*   tab size:   8 (not used)
+*   indentation:4
+*
+*   created on: 2005feb04
+*   created by: Markus W. Scherer
+*
+*   Implementation of UCaseProps.ContextIterator, iterates over a Replaceable.
+*   Java port of casetrn.cpp/utrans_rep_caseContextIterator().
+*/
+
+package com.ibm.icu.text;
+
+import com.ibm.icu.impl.UCaseProps;
+import com.ibm.icu.impl.UCharacterProperty;
+
+import com.ibm.icu.util.ULocale;
+
+/**
+ * Implementation of UCaseProps.ContextIterator, iterates over a Replaceable.
+ * See casetrn.cpp/utrans_rep_caseContextIterator().
+ * See also UCharacter.StringContextIterator.
+ * @internal
+ */
+class ReplaceableContextIterator implements UCaseProps.ContextIterator {
+    /**
+     * Constructor.
+     * @param rep Replaceable to iterate over. 
+     */
+    ReplaceableContextIterator() {
+        this.rep=null;
+        limit=cpStart=cpLimit=index=contextStart=contextLimit=0;
+        dir=0;
+        reachedLimit=false;
+    }
+
+    /**
+     * Set the text for iteration.
+     * @param rep Iteration text.
+     */
+    public void setText(Replaceable rep) {
+        this.rep=rep;
+        limit=contextLimit=rep.length();
+        cpStart=cpLimit=index=contextStart=0;
+        dir=0;
+        reachedLimit=false;
+    }
+
+    /**
+     * Set the index where nextCaseMapCP() is to start iterating.
+     * @param index Iteration start index for nextCaseMapCP().
+     */
+    public void setIndex(int index) {
+        cpStart=cpLimit=index;
+        this.index=0;
+        dir=0;
+        reachedLimit=false;
+    }
+
+    /**
+     * Get the index of where the code point currently being case-mapped starts.
+     * @return The start index of the current code point.
+     */
+    public int getCaseMapCPStart() {
+        return cpStart;
+    }
+
+    /**
+     * Set the iteration limit for nextCaseMapCP() to an index within the string.
+     * If the limit parameter is negative or past the string, then the
+     * string length is restored as the iteration limit.
+     *
+     * @param lim The iteration limit.
+     */
+    public void setLimit(int lim) {
+        if(0<=lim && lim<=rep.length()) {
+            limit=lim;
+        } else {
+            limit=rep.length();
+        }
+        reachedLimit=false;
+    }
+
+    /**
+     * Set the start and limit indexes for context iteration with next().
+     * @param contextStart Start of context for next().
+     * @param contextLimit Limit of context for next().
+     */
+    public void setContextLimits(int contextStart, int contextLimit) {
+        if(contextStart<0) {
+            this.contextStart=0;
+        } else if(contextStart<=rep.length()) {
+            this.contextStart=contextStart;
+        } else {
+            this.contextStart=rep.length();
+        }
+        if(contextLimit<this.contextStart) {
+            this.contextLimit=this.contextStart;
+        } else if(contextLimit<=rep.length()) {
+            this.contextLimit=contextLimit;
+        } else {
+            this.contextLimit=rep.length();
+        }
+        reachedLimit=false;
+    }
+
+    /**
+     * Iterate forward through the string to fetch the next code point
+     * to be case-mapped, and set the context indexes for it.
+     *
+     * @return The next code point to be case-mapped, or <0 when the iteration is done.
+     */
+    public int nextCaseMapCP() {
+        int c;
+        if(cpLimit<limit) {
+            cpStart=cpLimit;
+            c=rep.char32At(cpLimit);
+            cpLimit+=UTF16.getCharCount(c);
+            return c;
+        } else {
+            return -1;
+        }
+    }
+
+    /**
+     * Replace the current code point by its case mapping,
+     * and update the indexes.
+     *
+     * @param text Replacement text.
+     * @return The delta for the change of the text length.
+     */
+    public int replace(String text) {
+        int delta=text.length()-(cpLimit-cpStart);
+        rep.replace(cpStart, cpLimit, text);
+        cpLimit+=delta;
+        limit+=delta;
+        contextLimit+=delta;
+        return delta;
+    }
+
+    /**
+     * Did forward context iteration with next() reach the iteration limit?
+     * @return Boolean value.
+     */
+    public boolean didReachLimit() {
+        return reachedLimit;
+    }
+
+    // implement UCaseProps.ContextIterator
+    public void reset(int dir) {
+        if(dir>0) {
+            /* reset for forward iteration */
+            this.dir=1;
+            index=cpLimit;
+        } else if(dir<0) {
+            /* reset for backward iteration */
+            this.dir=-1;
+            index=cpStart;
+        } else {
+            // not a valid direction
+            this.dir=0;
+            index=0;
+        }
+        reachedLimit=false;
+    }
+
+    public int next() {
+        int c;
+
+        if(dir>0) {
+            if(index<contextLimit) {
+                c=rep.char32At(index);
+                index+=UTF16.getCharCount(c);
+                return c;
+            } else {
+                // forward context iteration reached the limit
+                reachedLimit=true;
+            }
+        } else if(dir<0 && index>contextStart) {
+            c=rep.char32At(index-1);
+            index-=UTF16.getCharCount(c);
+            return c;
+        }
+        return -1;
+    }
+
+    // variables
+    protected Replaceable rep;
+    protected int index, limit, cpStart, cpLimit, contextStart, contextLimit;
+    protected int dir; // 0=initial state  >0=forward  <0=backward
+    protected boolean reachedLimit;
+}
diff --git a/src/com/ibm/icu/text/ReplaceableString.java b/src/com/ibm/icu/text/ReplaceableString.java
new file mode 100755
index 0000000..4b666de
--- /dev/null
+++ b/src/com/ibm/icu/text/ReplaceableString.java
@@ -0,0 +1,200 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.text;
+
+import com.ibm.icu.impl.Utility;
+
+/**
+ * <code>ReplaceableString</code> is an adapter class that implements the
+ * <code>Replaceable</code> API around an ordinary <code>StringBuffer</code>.
+ *
+ * <p><em>Note:</em> This class does not support attributes and is not
+ * intended for general use.  Most clients will need to implement
+ * {@link Replaceable} in their text representation class.
+ *
+ * <p>Copyright &copy; IBM Corporation 1999.  All rights reserved.
+ *
+ * @see Replaceable
+ * @author Alan Liu
+ * @stable ICU 2.0
+ */
+public class ReplaceableString implements Replaceable {
+    private StringBuffer buf;
+
+    private static final String COPYRIGHT =
+        "\u00A9 IBM Corporation 1999. All rights reserved.";
+
+    /**
+     * Construct a new object with the given initial contents.
+     * @param str initial contents
+     * @stable ICU 2.0
+     */
+    public ReplaceableString(String str) {
+        buf = new StringBuffer(str);
+    }
+
+    /**
+     * Construct a new object using <code>buf</code> for internal
+     * storage.  The contents of <code>buf</code> at the time of
+     * construction are used as the initial contents.  <em>Note!
+     * Modifications to <code>buf</code> will modify this object, and
+     * vice versa.</em>
+     * @param buf object to be used as internal storage
+     * @stable ICU 2.0
+     */
+    public ReplaceableString(StringBuffer buf) {
+        this.buf = buf;
+    }
+
+    /**
+     * Construct a new empty object.
+     * @stable ICU 2.0
+     */
+    public ReplaceableString() {
+        buf = new StringBuffer();
+    }
+
+    /**
+     * Return the contents of this object as a <code>String</code>.
+     * @return string contents of this object
+     * @stable ICU 2.0
+     */
+    public String toString() {
+        return buf.toString();
+    }
+
+    /**
+     * Return a substring of the given string.
+     * @stable ICU 2.0
+     */
+    public String substring(int start, int limit) {
+        return buf.substring(start, limit);
+    }
+
+    /**
+     * Return the number of characters contained in this object.
+     * <code>Replaceable</code> API.
+     * @stable ICU 2.0
+     */ 
+    public int length() {
+        return buf.length();
+    }
+
+    /**
+     * Return the character at the given position in this object.
+     * <code>Replaceable</code> API.
+     * @param offset offset into the contents, from 0 to
+     * <code>length()</code> - 1
+     * @stable ICU 2.0
+     */
+    public char charAt(int offset) {
+        return buf.charAt(offset);
+    }
+
+    /**
+     * Return the 32-bit code point at the given 16-bit offset into
+     * the text.  This assumes the text is stored as 16-bit code units
+     * with surrogate pairs intermixed.  If the offset of a leading or
+     * trailing code unit of a surrogate pair is given, return the
+     * code point of the surrogate pair.
+     * @param offset an integer between 0 and <code>length()</code>-1
+     * inclusive
+     * @return 32-bit code point of text at given offset
+     * @stable ICU 2.0
+     */
+    public int char32At(int offset) {
+        return UTF16.charAt(buf, offset);
+    }
+
+    /**
+     * Copies characters from this object into the destination
+     * character array.  The first character to be copied is at index
+     * <code>srcStart</code>; the last character to be copied is at
+     * index <code>srcLimit-1</code> (thus the total number of
+     * characters to be copied is <code>srcLimit-srcStart</code>). The
+     * characters are copied into the subarray of <code>dst</code>
+     * starting at index <code>dstStart</code> and ending at index
+     * <code>dstStart + (srcLimit-srcStart) - 1</code>.
+     *
+     * @param srcStart the beginning index to copy, inclusive; <code>0
+     * <= start <= limit</code>.
+     * @param srcLimit the ending index to copy, exclusive;
+     * <code>start <= limit <= length()</code>.
+     * @param dst the destination array.
+     * @param dstStart the start offset in the destination array.
+     * @stable ICU 2.0
+     */
+    public void getChars(int srcStart, int srcLimit, char dst[], int dstStart) {
+        Utility.getChars(buf, srcStart, srcLimit, dst, dstStart);
+    }
+
+    /**
+     * Replace zero or more characters with new characters.
+     * <code>Replaceable</code> API.
+     * @param start the beginning index, inclusive; <code>0 <= start
+     * <= limit</code>.
+     * @param limit the ending index, exclusive; <code>start <= limit
+     * <= length()</code>.
+     * @param text new text to replace characters <code>start</code> to
+     * <code>limit - 1</code>
+     * @stable ICU 2.0
+     */
+    public void replace(int start, int limit, String text) {
+        buf.replace(start, limit, text);
+    }
+
+    /**
+     * Replace a substring of this object with the given text.
+     * @param start the beginning index, inclusive; <code>0 <= start
+     * <= limit</code>.
+     * @param limit the ending index, exclusive; <code>start <= limit
+     * <= length()</code>.
+     * @param chars the text to replace characters <code>start</code>
+     * to <code>limit - 1</code>
+     * @param charsStart the beginning index into <code>chars</code>,
+     * inclusive; <code>0 <= start <= limit</code>.
+     * @param charsLen the number of characters of <code>chars</code>.
+     * @stable ICU 2.0
+     */
+    public void replace(int start, int limit, char[] chars,
+                        int charsStart, int charsLen) {
+        buf.delete(start, limit);
+        buf.insert(start, chars, charsStart, charsLen);
+    }
+
+    /**
+     * Copy a substring of this object, retaining attribute (out-of-band)
+     * information.  This method is used to duplicate or reorder substrings.
+     * The destination index must not overlap the source range.
+     * 
+     * @param start the beginning index, inclusive; <code>0 <= start <=
+     * limit</code>.
+     * @param limit the ending index, exclusive; <code>start <= limit <=
+     * length()</code>.
+     * @param dest the destination index.  The characters from
+     * <code>start..limit-1</code> will be copied to <code>dest</code>.
+     * Implementations of this method may assume that <code>dest <= start ||
+     * dest >= limit</code>.
+     * @stable ICU 2.0
+     */
+    public void copy(int start, int limit, int dest) {
+        if (start == limit && start >= 0 && start <= buf.length()) {
+            return;
+        }
+        char[] text = new char[limit - start];
+        getChars(start, limit, text, 0);
+        replace(dest, dest, text, 0, limit - start);
+    }
+    
+    /**
+     * Implements Replaceable
+     * @stable ICU 2.0
+     */
+    public boolean hasMetaData() {
+        return false;
+    }
+}
diff --git a/src/com/ibm/icu/text/RuleBasedBreakIterator.java b/src/com/ibm/icu/text/RuleBasedBreakIterator.java
new file mode 100755
index 0000000..5820c5b
--- /dev/null
+++ b/src/com/ibm/icu/text/RuleBasedBreakIterator.java
@@ -0,0 +1,363 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+package com.ibm.icu.text;
+
+import java.text.CharacterIterator;
+import java.io.InputStream;
+import java.io.IOException;
+
+/**
+ * <p>A subclass of BreakIterator whose behavior is specified using a list of rules.</p>
+ * @stable ICU 2.0
+ */
+
+public class RuleBasedBreakIterator extends BreakIterator {
+
+    private RuleBasedBreakIterator delegatedThis = null;
+
+    //=======================================================================
+    // constructors
+    //=======================================================================
+
+    /**
+     * Constructs a RuleBasedBreakIterator_Old according to the description
+     * provided.  If the description is malformed, throws an
+     * IllegalArgumentException.  Normally, instead of constructing a
+     * RuleBasedBreakIterator_Old directory, you'll use the factory methods
+     * on BreakIterator to create one indirectly from a description
+     * in the framework's resource files.  You'd use this when you want
+     * special behavior not provided by the built-in iterators.
+     * @stable ICU 2.0
+     */
+    public RuleBasedBreakIterator(String description) {
+        delegatedThis = new RuleBasedBreakIterator_Old(description);
+    }
+
+    /**
+     * This default constructor is used when creating derived classes
+     * of RulesBasedBreakIterator.  Not intended for use by normal
+     * clients of break iterators.
+     * @internal ICU 3.0
+     */
+    protected RuleBasedBreakIterator() {
+        delegatedThis = this;
+    }
+    
+    /**
+     * Get a break iterator based on a set of pre-compiled break rules.
+     * 
+     * @param is An input stream that supplies the compiled rule data.  The
+     * format of the rule data on the stream is that of a rule data file
+     * produced by the ICU4C tool "genbrk".
+     * @return A RuleBasedBreakIterator based on the supplied break rules.
+     * @throws IOException
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static RuleBasedBreakIterator getInstanceFromCompiledRules(InputStream is) throws IOException {
+        return RuleBasedBreakIterator_New.getInstanceFromCompiledRules(is);      
+    }
+    
+    //=======================================================================
+    // boilerplate
+    //=======================================================================
+
+    /**
+     * Clones this iterator.
+     * @return A newly-constructed RuleBasedBreakIterator with the same
+     * behavior as this one.
+     * @stable ICU 2.0
+     */
+    public Object clone()
+    {
+        RuleBasedBreakIterator result = (RuleBasedBreakIterator) super.clone();
+        result.delegatedThis = result;
+        if (delegatedThis != this) {
+            // We will come here if "this" is an actual RuleBasedBreakIterator that
+            //  was instantiated via a constructor.  In this situation, delegatedThis
+            //  refers to a separately instantiated RuleBasedBreakIterator_old, to
+            //  which all operations are delegated.  For the more common case of a
+            //  break iterator instantiated from one of the factory methods, the
+            //  actual object type is RuleBasedBreakIterator_New, and delegatedThis
+            //  for the object refers to itself.
+            result.delegatedThis = (RuleBasedBreakIterator) delegatedThis.clone();
+        }
+        return result;
+    }
+
+    /**
+     * Returns true if both BreakIterators are of the same class, have the same
+     * rules, and iterate over the same text.
+     * @stable ICU 2.0
+     */
+    public boolean equals(Object that) {
+        return delegatedThis.equals(that);
+    }
+
+    /**
+     * Returns the description used to create this iterator
+     * @stable ICU 2.0
+     */
+    public String toString() {
+        return delegatedThis.toString();
+    }
+
+    /**
+     * Compute a hashcode for this BreakIterator
+     * @return A hash code
+     * @stable ICU 2.0
+     */
+    public int hashCode()
+    {
+        return delegatedThis.hashCode();
+    }
+
+    /** 
+     * Tag value for "words" that do not fit into any of other categories. 
+     * Includes spaces and most punctuation. 
+     * @draft ICU 3.0 
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final int WORD_NONE           = 0;
+
+    /**
+     * Upper bound for tags for uncategorized words. 
+     * @draft ICU 3.0 
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final int WORD_NONE_LIMIT     = 100;
+
+    /**
+     * Tag value for words that appear to be numbers, lower limit. 
+     * @draft ICU 3.0 
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final int WORD_NUMBER         = 100;
+
+    /** 
+     * Tag value for words that appear to be numbers, upper limit.
+     * @draft ICU 3.0 
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final int WORD_NUMBER_LIMIT   = 200;
+
+    /** 
+     * Tag value for words that contain letters, excluding
+     * hiragana, katakana or ideographic characters, lower limit. 
+     * @draft ICU 3.0 
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final int WORD_LETTER         = 200;
+
+    /** 
+     * Tag value for words containing letters, upper limit 
+     * @draft ICU 3.0 
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final int WORD_LETTER_LIMIT   = 300;
+
+    /** 
+     * Tag value for words containing kana characters, lower limit
+     * @draft ICU 3.0 
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final int WORD_KANA           = 300;
+
+    /** 
+     * Tag value for words containing kana characters, upper limit
+     * @draft ICU 3.0 
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final int WORD_KANA_LIMIT     = 400;
+
+    /**
+     * Tag value for words containing ideographic characters, lower limit
+     * @draft ICU 3.0 
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final int WORD_IDEO           = 400;
+
+    /**
+     * Tag value for words containing ideographic characters, upper limit
+     * @draft ICU 3.0 
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final int WORD_IDEO_LIMIT     = 500;
+
+    //=======================================================================
+    // BreakIterator overrides
+    //=======================================================================
+
+    /**
+     * Sets the current iteration position to the beginning of the text.
+     * (i.e., the CharacterIterator's starting offset).
+     * @return The offset of the beginning of the text.
+     * @stable ICU 2.0
+     */
+    public int first() {
+        return delegatedThis.first();
+    }
+
+    /**
+     * Sets the current iteration position to the end of the text.
+     * (i.e., the CharacterIterator's ending offset).
+     * @return The text's past-the-end offset.
+     * @stable ICU 2.0
+     */
+    public int last() {
+        return delegatedThis.last();
+    }
+
+    /**
+     * Advances the iterator either forward or backward the specified number of steps.
+     * Negative values move backward, and positive values move forward.  This is
+     * equivalent to repeatedly calling next() or previous().
+     * @param n The number of steps to move.  The sign indicates the direction
+     * (negative is backwards, and positive is forwards).
+     * @return The character offset of the boundary position n boundaries away from
+     * the current one.
+     * @stable ICU 2.0
+     */
+    public int next(int n) {
+        return delegatedThis.next(n);
+    }
+
+    /**
+     * Advances the iterator to the next boundary position.
+     * @return The position of the first boundary after this one.
+     * @stable ICU 2.0
+     */
+    public int next() {
+        return delegatedThis.next();
+    }
+
+    /**
+     * Advances the iterator backwards, to the last boundary preceding this one.
+     * @return The position of the last boundary position preceding this one.
+     * @stable ICU 2.0
+     */
+    public int previous() {
+        return delegatedThis.previous();
+    }
+
+    /**
+     * Sets the iterator to refer to the first boundary position following
+     * the specified position.
+     * @param offset The position from which to begin searching for a break position.
+     * @return The position of the first break after the current position.
+     * @stable ICU 2.0
+     */
+    public int following(int offset) {
+        return delegatedThis.following(offset);
+    }
+
+    /**
+     * Sets the iterator to refer to the last boundary position before the
+     * specified position.
+     * @param offset The position to begin searching for a break from.
+     * @return The position of the last boundary before the starting position.
+     * @stable ICU 2.0
+     */
+    public int preceding(int offset) {
+        return delegatedThis.preceding(offset);
+    }
+
+    /**
+     * Returns true if the specfied position is a boundary position.  As a side
+     * effect, leaves the iterator pointing to the first boundary position at
+     * or after "offset".
+     * @param offset the offset to check.
+     * @return True if "offset" is a boundary position.
+     * @stable ICU 2.0
+     */
+    public boolean isBoundary(int offset) {
+        return delegatedThis.isBoundary(offset);
+    }
+
+    /**
+     * Returns the current iteration position.
+     * @return The current iteration position.
+     * @stable ICU 2.0
+     */
+    public int current() {
+        return delegatedThis.current();
+    }
+
+    /**
+     * Return the status tag from the break rule that determined the most recently
+     * returned break position.  The values appear in the rule source
+     * within brackets, {123}, for example.  For rules that do not specify a
+     * status, a default value of 0 is returned.  If more than one rule applies,
+     * the numerically largest of the possible status values is returned.
+     * <p>
+     * The values used by the standard ICU break rules are defined as
+     * constants in this class, and allow distinguishing between words
+     * that contain alphabetic letters, "words" that appear to be numbers,
+     * punctuation and spaces, words containing ideographic characters, and
+     * more.  Call <code>getRuleStatus</code> after obtaining a boundary
+     * position from <code>next()<code>, <code>previous()</code>, or 
+     * any other break iterator functions that returns a boundary position.
+     * <p>
+     * @return the status from the break rule that determined the most recently
+     * returned break position.
+     *
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public int  getRuleStatus() {
+        return delegatedThis.getRuleStatus();
+    }
+
+    /**
+     * Get the status (tag) values from the break rule(s) that determined the most 
+     * recently returned break position.  The values appear in the rule source
+     * within brackets, {123}, for example.  The default status value for rules
+     * that do not explicitly provide one is zero.
+     * <p>
+     * The values used by the standard ICU rules are defined as contants in
+     * this class.
+     * <p>
+     * If the size  of the output array is insufficient to hold the data,
+     *  the output will be truncated to the available length.  No exception
+     *  will be thrown.
+     *
+     * @param fillInArray an array to be filled in with the status values.  
+     * @return          The number of rule status values from rules that determined 
+     *                  the most recent boundary returned by the break iterator.
+     *                  In the event that the array is too small, the return value
+     *                  is the total number of status values that were available,
+     *                  not the reduced number that were actually returned.
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public int getRuleStatusVec(int[] fillInArray) {
+        return delegatedThis.getRuleStatusVec(fillInArray);
+    }
+
+    /**
+     * Return a CharacterIterator over the text being analyzed.  This version
+     * of this method returns the actual CharacterIterator we're using internally.
+     * Changing the state of this iterator can have undefined consequences.  If
+     * you need to change it, clone it first.
+     * @return An iterator over the text being analyzed.
+     * @stable ICU 2.0
+     */
+    public CharacterIterator getText() {
+        return delegatedThis.getText();
+    }
+
+    /**
+     * Set the iterator to analyze a new piece of text.  This function resets
+     * the current iteration position to the beginning of the text.
+     * @param newText An iterator over the text to analyze.
+     * @stable ICU 2.0
+     */
+    public void setText(CharacterIterator newText) {
+        delegatedThis.setText(newText);
+    }
+}
diff --git a/src/com/ibm/icu/text/RuleBasedBreakIterator_New.java b/src/com/ibm/icu/text/RuleBasedBreakIterator_New.java
new file mode 100644
index 0000000..cd91592
--- /dev/null
+++ b/src/com/ibm/icu/text/RuleBasedBreakIterator_New.java
@@ -0,0 +1,1187 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2005 International Business Machines Corporation and          *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.text;
+
+import java.text.CharacterIterator;
+import java.io.IOException;
+import java.io.InputStream;
+
+
+/**
+ * Rule Based Break Iterator implementation.
+ * This is a port of the C++ class RuleBasedBreakIterator from ICU4C.
+ * 
+ *   A note on future plans:  Once a new DictionaryBasedBreakIterator implementation
+ *                            is completed, the archaic implementation class
+ *                            RuleBasedBreakIterator_Old can be completely removed,
+ *                            and this class can be renamed to be simply
+ *                            RuleBasedBreakIterator.
+ * @internal
+ */
+public class RuleBasedBreakIterator_New extends RuleBasedBreakIterator {
+    
+    private static final int  START_STATE = 1;     // The state number of the starting state
+    private static final int  STOP_STATE  = 0;     // The state-transition value indicating "stop"
+
+    /** @internal */
+    RuleBasedBreakIterator_New() {
+    }
+
+    /**
+     * The character iterator through which this BreakIterator accesses the text
+     * @internal
+     */
+    private CharacterIterator   fText;
+    
+    /**
+     * The rule data for this BreakIterator instance
+     * @internal
+     */
+    private RBBIDataWrapper     fRData;
+
+    /** Index of the Rule {tag} values for the most recent match. 
+     *  @internal
+    */
+    private int                 fLastRuleStatusIndex;
+
+    /**
+     * Rule tag value valid flag.
+     * Some iterator operations don't intrinsically set the correct tag value.
+     * This flag lets us lazily compute the value if we are ever asked for it.
+     * @internal
+     */
+    private boolean             fLastStatusIndexValid;
+    
+    /**
+     * Debugging flag.  Trace operation of state machine when true.
+     * @internal
+     */
+    public static boolean       fTrace;
+    
+    
+    /**
+     * Dump the contents of the state table and character classes for this break iterator.
+     * For debugging only.
+     * @internal
+     */
+    public void dump() {
+        this.fRData.dump();   
+    }
+
+
+    //=======================================================================
+    // boilerplate
+    //=======================================================================
+    /**
+     * Clones this iterator.
+     * @return A newly-constructed RuleBasedBreakIterator with the same
+     * behavior as this one.
+     * @stable ICU 2.0
+     */
+    public Object clone()
+    {
+        RuleBasedBreakIterator_New result = (RuleBasedBreakIterator_New) super.clone();
+        if (fText != null) {
+            fText = (CharacterIterator)fText.clone();   
+        }
+        return result;
+    }
+
+    /**
+     * Returns true if both BreakIterators are of the same class, have the same
+     * rules, and iterate over the same text.
+     * @stable ICU 2.0
+     */
+    public boolean equals(Object that) {
+        try {
+            RuleBasedBreakIterator_New other = (RuleBasedBreakIterator_New) that;
+            if (fRData != other.fRData && (fRData == null || other.fRData == null)) {
+                return false;   
+            }
+            if (fRData != null && other.fRData != null && 
+                    (!fRData.fRuleSource.equals(other.fRData.fRuleSource))) {
+                return false;
+            }
+            if (fText == null && other.fText == null) {
+                return true;   
+            }
+            if (fText == null || other.fText == null) {
+                return false;   
+            }
+            return fText.equals(other.fText);
+        }
+        catch(ClassCastException e) {
+            return false;
+        }
+     }
+
+    /**
+     * Returns the description (rules) used to create this iterator.
+     * (In ICU4C, the same function is RuleBasedBreakIterator::getRules())
+     * @stable ICU 2.0
+     */
+    public String toString() {
+        String   retStr = null;
+        if (fRData != null) {
+            retStr =  fRData.fRuleSource;
+        }
+        return retStr;
+    }
+
+    /**
+     * Compute a hashcode for this BreakIterator
+     * @return A hash code
+     * @stable ICU 2.0
+     */
+    public int hashCode()
+    {
+        return fRData.fRuleSource.hashCode(); 
+    }
+
+    
+    //=======================================================================
+    // Constructors & Factories
+    //=======================================================================
+    
+    /**
+     * Create a break iterator from a precompiled set of rules.
+     * @internal
+     */
+    public static RuleBasedBreakIterator getInstanceFromCompiledRules(InputStream is) throws IOException {
+        RuleBasedBreakIterator_New  This = new RuleBasedBreakIterator_New();
+        This.fRData = RBBIDataWrapper.get(is);
+        This.fText = new java.text.StringCharacterIterator("");  // Note: some old tests fail if fText is null
+                                                                 //       on a newly created instance.
+        return This;   
+    }
+
+    
+    
+    //=======================================================================
+    // BreakIterator overrides
+    //=======================================================================
+
+    /**
+     * Sets the current iteration position to the beginning of the text.
+     * (i.e., the CharacterIterator's starting offset).
+     * @return The offset of the beginning of the text.
+     * @stable ICU 2.0
+     */
+    public int first() {
+        fLastRuleStatusIndex  = 0;
+        fLastStatusIndexValid = true;
+        if (fText == null) {
+            return BreakIterator.DONE;
+        }
+        fText.first();
+        return fText.getIndex();
+    }
+    
+    
+    /**
+     * Sets the current iteration position to the end of the text.
+     * (i.e., the CharacterIterator's ending offset).
+     * @return The text's past-the-end offset.
+     * @stable ICU 2.0
+     */
+    public int last() {
+        if (fText == null) {
+            fLastRuleStatusIndex  = 0;
+            fLastStatusIndexValid = true;
+            return BreakIterator.DONE;
+        }
+
+        // I'm not sure why, but t.last() returns the offset of the last character,
+        // rather than the past-the-end offset
+        //
+        //   (It's so a loop like for(p=it.last(); p!=DONE; p=it.previous()) ...
+        //     will work correctly.)
+
+
+        fLastStatusIndexValid = false;
+        int pos = fText.getEndIndex();
+        fText.setIndex(pos);
+        return pos;
+    }
+    
+    
+    /**
+     * Advances the iterator either forward or backward the specified number of steps.
+     * Negative values move backward, and positive values move forward.  This is
+     * equivalent to repeatedly calling next() or previous().
+     * @param n The number of steps to move.  The sign indicates the direction
+     * (negative is backwards, and positive is forwards).
+     * @return The character offset of the boundary position n boundaries away from
+     * the current one.
+     * @stable ICU 2.0
+     */
+    public int next(int n) {
+        int result = current();
+        while (n > 0) {
+            result = handleNext(fRData.fFTable);
+            --n;
+        }
+        while (n < 0) {
+            result = previous();
+            ++n;
+        }
+        return result;
+    }
+    
+    
+    /**
+     * Advances the iterator to the next boundary position.
+     * @return The position of the first boundary after this one.
+     * @stable ICU 2.0
+     */
+    public int next() {
+        return handleNext(fRData.fFTable);
+    }
+    
+    
+    /**
+     * Moves the iterator backwards, to the last boundary preceding this one.
+     * @return The position of the last boundary position preceding this one.
+     * @stable ICU 2.0
+     */
+    public int previous() {
+        // if we're already sitting at the beginning of the text, return DONE
+        if (fText == null || current() == fText.getBeginIndex()) {
+            fLastRuleStatusIndex  = 0;
+            fLastStatusIndexValid = true;
+            return BreakIterator.DONE;
+        }
+
+        if (fRData.fSRTable != null || fRData.fSFTable != null) {
+            return handlePrevious(fRData.fRTable);
+        }
+
+        // old rule syntax
+        // set things up.  handlePrevious() will back us up to some valid
+        // break position before the current position (we back our internal
+        // iterator up one step to prevent handlePrevious() from returning
+        // the current position), but not necessarily the last one before
+        // where we started
+
+        int       start = current();
+
+        CIPrevious32(fText);
+        int       lastResult    = handlePrevious();
+        int       result        = lastResult;
+        int       lastTag       = 0;
+        boolean   breakTagValid = false;
+
+        // iterate forward from the known break position until we pass our
+        // starting point.  The last break position before the starting
+        // point is our return value
+
+        for (;;) {
+            result         = handleNext(fRData.fFTable);
+            if (result == BreakIterator.DONE || result >= start) {
+                break;
+            }
+            lastResult     = result;
+            lastTag        = fLastRuleStatusIndex;
+            breakTagValid  = true;
+        }
+
+        // fLastBreakTag wants to have the value for section of text preceding
+        // the result position that we are to return (in lastResult.)  If
+        // the backwards rules overshot and the above loop had to do two or more
+        // handleNext()s to move up to the desired return position, we will have a valid
+        // tag value. But, if handlePrevious() took us to exactly the correct result positon,
+        // we wont have a tag value for that position, which is only set by handleNext().
+
+        // set the current iteration position to be the last break position
+        // before where we started, and then return that value
+        fText.setIndex(lastResult);
+        fLastRuleStatusIndex  = lastTag;       // for use by getRuleStatus()
+        fLastStatusIndexValid = breakTagValid;
+        return lastResult;
+    }
+    /**
+     * Sets the iterator to refer to the first boundary position following
+     * the specified position.
+     * @param offset The position from which to begin searching for a break position.
+     * @return The position of the first break after the current position.
+     * @stable ICU 2.0
+     */
+    public int following(int offset) {
+        // if the offset passed in is already past the end of the text,
+        // just return DONE; if it's before the beginning, return the
+        // text's starting offset
+        fLastRuleStatusIndex  = 0;
+        fLastStatusIndexValid = true;
+        if (fText == null || offset >= fText.getEndIndex()) {
+            last();
+            return next();
+        }
+        else if (offset < fText.getBeginIndex()) {
+            return first();
+        }
+
+        // otherwise, set our internal iteration position (temporarily)
+        // to the position passed in.  If this is the _beginning_ position,
+        // then we can just use next() to get our return value
+
+        int result = 0;
+
+        if (fRData.fSRTable != null) {
+            // Safe Point Reverse rules exist.
+            //   This allows us to use the optimum algorithm.
+            fText.setIndex(offset);
+            // move forward one codepoint to prepare for moving back to a
+            // safe point.
+            // this handles offset being between a supplementary character
+            CINext32(fText);
+            // handlePrevious will move most of the time to < 1 boundary away
+            handlePrevious(fRData.fSRTable);
+            result = next();
+            while (result <= offset) {
+                result = next();
+            }
+            return result;
+        }
+        if (fRData.fSFTable != null) {
+            // No Safe point reverse table, but there is a safe pt forward table.
+            // 
+            fText.setIndex(offset);
+            CIPrevious32(fText);
+            // handle next will give result >= offset
+            handleNext(fRData.fSFTable);
+            // previous will give result 0 or 1 boundary away from offset,
+            // most of the time
+            // we have to
+            int oldresult = previous();
+            while (oldresult > offset) {
+                result = previous();
+                if (result <= offset) {
+                    return oldresult;
+                }
+                oldresult = result;
+            }
+            result = next();
+            if (result <= offset) {
+                return next();
+            }
+            return result;
+        }
+        // otherwise, we have to sync up first.  Use handlePrevious() to back
+        // us up to a known break position before the specified position (if
+        // we can determine that the specified position is a break position,
+        // we don't back up at all).  This may or may not be the last break
+        // position at or before our starting position.  Advance forward
+        // from here until we've passed the starting position.  The position
+        // we stop on will be the first break position after the specified one.
+        // old rule syntax
+
+        fText.setIndex(offset);
+        if (offset == fText.getBeginIndex()) {
+            return handleNext(fRData.fFTable);
+        }
+        result = previous();
+
+        while (result != BreakIterator.DONE && result <= offset) {
+            result = next();
+        }
+
+        return result;
+    }
+    /**
+     * Sets the iterator to refer to the last boundary position before the
+     * specified position.
+     * @param offset The position to begin searching for a break from.
+     * @return The position of the last boundary before the starting position.
+     * @stable ICU 2.0
+     */
+    public int preceding(int offset) {
+        // if the offset passed in is already past the end of the text,
+        // just return DONE; if it's before the beginning, return the
+
+        // text's starting offset
+        if (fText == null || offset > fText.getEndIndex()) {
+            // return BreakIterator::DONE;
+            return last();
+        }
+        else if (offset < fText.getBeginIndex()) {
+            return first();
+        }
+
+        // if we start by updating the current iteration position to the
+        // position specified by the caller, we can just use previous()
+        // to carry out this operation
+
+        int  result;
+        if (fRData.fSFTable != null) {
+            /// todo synwee
+            // new rule syntax
+            fText.setIndex(offset);
+            // move backwards one codepoint to prepare for moving forwards to a
+            // safe point.
+            // this handles offset being between a supplementary character
+            CIPrevious32(fText);
+            handleNext(fRData.fSFTable);
+            result = previous();
+            while (result >= offset) {
+                result = previous();
+            }
+            return result;
+        }
+        if (fRData.fSRTable != null) {
+            // backup plan if forward safe table is not available
+            fText.setIndex(offset);
+            CINext32(fText);
+            // handle previous will give result <= offset
+            handlePrevious(fRData.fSRTable);
+
+            // next will give result 0 or 1 boundary away from offset,
+            // most of the time
+            // we have to
+            int oldresult = next();
+            while (oldresult < offset) {
+                result = next();
+                if (result >= offset) {
+                    return oldresult;
+                }
+                oldresult = result;
+            }
+            result = previous();
+            if (result >= offset) {
+                return previous();
+            }
+            return result;
+        }
+
+        // old rule syntax
+        fText.setIndex(offset);
+        return previous();
+    }
+
+    /**
+     * Throw IllegalArgumentException unless begin <= offset < end.
+     * @stable ICU 2.0
+     */
+    protected static final void checkOffset(int offset, CharacterIterator text) {
+        if (offset < text.getBeginIndex() || offset > text.getEndIndex()) {
+            throw new IllegalArgumentException("offset out of bounds");
+        }
+    }
+
+
+/**
+ * Returns true if the specfied position is a boundary position.  As a side
+ * effect, leaves the iterator pointing to the first boundary position at
+ * or after "offset".
+ * @param offset the offset to check.
+ * @return True if "offset" is a boundary position.
+ * @stable ICU 2.0
+ */
+public boolean isBoundary(int offset) {
+    checkOffset(offset, fText);
+    
+    // the beginning index of the iterator is always a boundary position by definition
+    if (offset == fText.getBeginIndex()) {
+        first();       // For side effects on current position, tag values.
+        return true;
+    }
+
+    if (offset == fText.getEndIndex()) {
+        last();       // For side effects on current position, tag values.
+        return true;
+    }
+
+    // out-of-range indexes are never boundary positions
+    if (offset < fText.getBeginIndex()) {
+        first();       // For side effects on current position, tag values.
+        return false;
+    }
+
+    if (offset > fText.getEndIndex()) {
+        last();        // For side effects on current position, tag values.
+        return false;
+    }
+
+    // otherwise, we can use following() on the position before the specified
+    // one and return true if the position we get back is the one the user
+    // specified
+    return following(offset - 1) == offset;
+}
+
+/**
+ * Returns the current iteration position.
+ * @return The current iteration position.
+ * @stable ICU 2.0
+ */
+public int current() {
+    return (fText != null) ? fText.getIndex() : BreakIterator.DONE;
+    }
+
+
+
+private void makeRuleStatusValid() {
+    if (fLastStatusIndexValid == false) {
+        //  No cached status is available.
+        if (fText == null || current() == fText.getBeginIndex()) {
+            //  At start of text, or there is no text.  Status is always zero.
+            fLastRuleStatusIndex = 0;
+            fLastStatusIndexValid = true;
+        } else {
+            //  Not at start of text.  Find status the tedious way.
+            int pa = current();
+            previous();
+            int pb = next();
+            assert pa == pb;
+        }
+    }
+    assert fLastStatusIndexValid == true;
+    assert fLastRuleStatusIndex >= 0  &&  fLastRuleStatusIndex < fRData.fStatusTable.length;
+}
+
+
+/**
+ * Return the status tag from the break rule that determined the most recently
+ * returned break position.  The values appear in the rule source
+ * within brackets, {123}, for example.  For rules that do not specify a
+ * status, a default value of 0 is returned.  If more than one rule applies,
+ * the numerically largest of the possible status values is returned.
+ * <p>
+ * Of the standard types of ICU break iterators, only the word break
+ * iterator provides status values.  The values are defined in
+ * class RuleBasedBreakIterator, and allow distinguishing between words
+ * that contain alphabetic letters, "words" that appear to be numbers,
+ * punctuation and spaces, words containing ideographic characters, and
+ * more.  Call <code>getRuleStatus</code> after obtaining a boundary
+ * position from <code>next()<code>, <code>previous()</code>, or 
+ * any other break iterator functions that returns a boundary position.
+ * <p>
+ * @return the status from the break rule that determined the most recently
+ * returned break position.
+ *
+ * @draft ICU 3.0
+ * @deprecated This is a draft API and might change in a future release of ICU.
+ */
+
+public int  getRuleStatus() {
+    makeRuleStatusValid();
+    //   Status records have this form:
+    //           Count N         <--  fLastRuleStatusIndex points here.
+    //           Status val 0
+    //           Status val 1
+    //              ...
+    //           Status val N-1  <--  the value we need to return
+    //   The status values are sorted in ascending order.
+    //   This function returns the last (largest) of the array of status values.
+    int  idx = fLastRuleStatusIndex + fRData.fStatusTable[fLastRuleStatusIndex];
+    int  tagVal = fRData.fStatusTable[idx];
+
+    return tagVal;
+}
+
+
+
+/**
+ * Get the status (tag) values from the break rule(s) that determined the most 
+ * recently returned break position.  The values appear in the rule source
+ * within brackets, {123}, for example.  The default status value for rules
+ * that do not explicitly provide one is zero.
+ * <p>
+ * The status values used by the standard ICU break rules are defined
+ * as public constants in class RuleBasedBreakIterator.
+ * <p>
+ * If the size  of the output array is insufficient to hold the data,
+ *  the output will be truncated to the available length.  No exception
+ *  will be thrown.
+ *
+ * @param fillInArray an array to be filled in with the status values.  
+ * @return          The number of rule status values from rules that determined 
+ *                  the most recent boundary returned by the break iterator.
+ *                  In the event that the array is too small, the return value
+ *                  is the total number of status values that were available,
+ *                  not the reduced number that were actually returned.
+ * @draft ICU 3.0
+ * @deprecated This is a draft API and might change in a future release of ICU.
+ */
+public int getRuleStatusVec(int[] fillInArray) {
+    makeRuleStatusValid();
+    int numStatusVals = fRData.fStatusTable[fLastRuleStatusIndex];
+    if (fillInArray != null) {  
+        int numToCopy = Math.min(numStatusVals, fillInArray.length);
+        for (int i=0; i<numToCopy; i++) {
+            fillInArray[i] = fRData.fStatusTable[fLastRuleStatusIndex + i + 1];
+        }
+    }
+    return numStatusVals;
+ }
+
+
+/**
+ * Return a CharacterIterator over the text being analyzed.  This version
+ * of this method returns the actual CharacterIterator we're using internally.
+ * Changing the state of this iterator can have undefined consequences.  If
+ * you need to change it, clone it first.
+ * @return An iterator over the text being analyzed.
+ * @stable ICU 2.0
+ */
+    public CharacterIterator getText() {
+        return fText;
+    }
+
+
+    /**
+     * Set the iterator to analyze a new piece of text.  This function resets
+     * the current iteration position to the beginning of the text.
+     * @param newText An iterator over the text to analyze.
+     * @stable ICU 2.0
+     */
+    public void setText(CharacterIterator newText) {
+        fText = newText;
+        this.first();
+    }
+    
+    // 23 bit Char value returned from when an iterator has run out of range.
+    //     Positive value so fast case (not end, not surrogate) can be checked
+    //     with a single test.
+    private static int CI_DONE32 = 0x7fffffff;
+    
+    /**
+     * Move the iterator forward to the next code point, and return that code point,
+     *   leaving the iterator positioned at char returned.
+     *   For Supplementary chars, the iterator is left positioned at the lead surrogate.
+     * @param ci  The character iterator
+     * @return    The next code point.
+     */
+    private static int CINext32(CharacterIterator ci) {
+        // If the current position is at a surrogate pair, move to the trail surrogate
+        //   which leaves it in positon for underlying iterator's next() to work.
+        int c= ci.current();
+        if (c >= UTF16.LEAD_SURROGATE_MIN_VALUE && c<=UTF16.LEAD_SURROGATE_MAX_VALUE) {
+            c = ci.next();   
+            if (c<UTF16.TRAIL_SURROGATE_MIN_VALUE || c>UTF16.TRAIL_SURROGATE_MAX_VALUE) {
+               c = ci.previous();   
+            }
+        }
+
+        // For BMP chars, this next() is the real deal.
+        c = ci.next();
+        
+        // If we might have a lead surrogate, we need to peak ahead to get the trail 
+        //  even though we don't want to really be positioned there.
+        if (c >= UTF16.LEAD_SURROGATE_MIN_VALUE) {
+            c = CINextTrail32(ci, c);   
+        }
+        
+        if (c >= UTF16.SUPPLEMENTARY_MIN_VALUE && c != CI_DONE32) {
+            // We got a supplementary char.  Back the iterator up to the postion
+            // of the lead surrogate.
+            ci.previous();   
+        }
+        return c;
+   }
+
+    
+    // Out-of-line portion of the in-line Next32 code.
+    // The call site does an initial ci.next() and calls this function
+    //    if the 16 bit value it gets is >= LEAD_SURROGATE_MIN_VALUE.
+    // NOTE:  we leave the underlying char iterator positioned in the
+    //        middle of a surroage pair.  ci.next() will work correctly
+    //        from there, but the ci.getIndex() will be wrong, and needs
+    //        adjustment.
+    private static int CINextTrail32(CharacterIterator ci, int lead) {
+        int retVal = lead;
+        if (lead <= UTF16.LEAD_SURROGATE_MAX_VALUE) {
+            char  cTrail = ci.next();
+            if (UTF16.isTrailSurrogate(cTrail)) {
+                retVal = ((lead  - UTF16.LEAD_SURROGATE_MIN_VALUE) << 10) +
+                            (cTrail - UTF16.TRAIL_SURROGATE_MIN_VALUE) +
+                            UTF16.SUPPLEMENTARY_MIN_VALUE;
+            } else {
+                ci.previous();
+            }
+        } else {
+            if (lead == CharacterIterator.DONE && ci.getIndex() >= ci.getEndIndex()) {
+                retVal = CI_DONE32;
+            }
+        }
+        return retVal;
+    }
+       
+    private static int CIPrevious32(CharacterIterator ci) {
+        if (ci.getIndex() <= ci.getBeginIndex()) {
+            return CI_DONE32;   
+        }
+        char trail = ci.previous();
+        int retVal = trail;
+        if (UTF16.isTrailSurrogate(trail)) {
+            char lead = ci.previous();
+            if (UTF16.isLeadSurrogate(lead)) {
+                retVal = (((int)lead  - UTF16.LEAD_SURROGATE_MIN_VALUE) << 10) +
+                          ((int)trail - UTF16.TRAIL_SURROGATE_MIN_VALUE) +
+                          UTF16.SUPPLEMENTARY_MIN_VALUE;
+            } else {
+                ci.next();
+            }           
+        }
+        return retVal;
+    }
+    
+
+    
+    private static int CICurrent32(CharacterIterator ci) {
+        char  lead   = ci.current();
+        int   retVal = lead;
+        if (retVal < UTF16.LEAD_SURROGATE_MIN_VALUE) {
+            return retVal;   
+        }
+        if (UTF16.isLeadSurrogate(lead)) {
+            int  trail = (int)ci.next();
+            ci.previous();
+            if (UTF16.isTrailSurrogate((char)trail)) {
+                retVal = ((lead  - UTF16.LEAD_SURROGATE_MIN_VALUE) << 10) +
+                         (trail - UTF16.TRAIL_SURROGATE_MIN_VALUE) +
+                         UTF16.SUPPLEMENTARY_MIN_VALUE;
+            }
+         } else {
+            if (lead == CharacterIterator.DONE) {
+                if (ci.getIndex() >= ci.getEndIndex())   {
+                    retVal = CI_DONE32;   
+                }
+            }
+         }
+        return retVal;
+    }
+    
+
+    /**
+     * The State Machine Engine for moving forward is here.
+     * @param stateTable
+     * @return the new iterator position
+     * 
+     * A note on supplementary characters and the position of underlying
+     * Java CharacterIterator:   Normally, a character iterator is positioned at
+     * the char most recently returned by next().  Within this function, when
+     * a supplementary char is being processed, the char iterator is left
+     * sitting on the trail surrogate, in the middle of the code point.
+     * This is different from everywhere else, where an iterator always
+     * points at the lead surrogate of a supplementary.
+     */
+    private int handleNext(short stateTable[]) {
+        if (fTrace) {
+            System.out.println("Handle Next   pos      char  state category");
+        }
+
+        // No matter what, handleNext alway correctly sets the break tag value.
+        fLastStatusIndexValid = true;
+
+        // if we're already at the end of the text, return DONE.
+        if (fText == null) {
+            fLastRuleStatusIndex = 0;
+            return BreakIterator.DONE;
+        }
+
+        int initialPosition = fText.getIndex();
+        int result          = initialPosition;
+        int lookaheadResult = 0;
+
+        // Initialize the state machine.  Begin in state 1
+        int               state           = START_STATE;
+        short             category;
+        int               c               = fText.current();
+        if (c >= UTF16.LEAD_SURROGATE_MIN_VALUE) {
+            c = CINextTrail32(fText, c);
+            if (c == CI_DONE32) {
+                fLastRuleStatusIndex = 0;
+                return BreakIterator.DONE;
+            }
+        }
+        int               row             = fRData.getRowIndex(state); 
+        int               lookaheadStatus = 0;
+        int               lookaheadTagIdx = 0;
+
+        fLastRuleStatusIndex = 0;
+
+        // Character Category fetch for starting character.
+        //    See comments on character category code within loop, below.
+        category = (short)fRData.fTrie.getCodePointValue(c);
+        //if ((category & 0x4000) != 0)  {
+              // fDictionaryCharCount++;
+        //      category &= ~0x4000;
+        //    }
+
+        // loop until we reach the end of the text or transition to state 0
+        while (state != STOP_STATE) {
+            if (c == CI_DONE32) {
+                // Reached end of input string.
+ 
+                if (lookaheadResult > result) {
+                    // We ran off the end of the string with a pending look-ahead match.
+                    // Treat this as if the look-ahead condition had been met, and return
+                    //  the match at the / position from the look-ahead rule.
+                    result               = lookaheadResult;
+                    fLastRuleStatusIndex = lookaheadTagIdx;
+                    lookaheadStatus      = 0;
+                } else if (result == initialPosition) {
+                    // Ran off end, no match found.
+                    // move forward one
+                    fText.setIndex(initialPosition);
+                    CINext32(fText);
+                }
+                break;
+            }
+            // look up the current character's character category, which tells us
+            // which column in the state table to look at.
+            //
+            category = (short)fRData.fTrie.getCodePointValue(c);
+
+            //  Clear the dictionary flag bit in the character's category.
+            //  Note:  not using the old style dictionary stuff in this Java engine.
+            //         But the bit can be set by the C++ rule compiler, and
+            //         we need to clear it out here to be safe.
+            //category &= ~0x4000;  // TODO:  commented out for perf.  
+
+            if (fTrace) {
+                System.out.print("            " +  RBBIDataWrapper.intToString(fText.getIndex(), 5)); 
+                System.out.print(RBBIDataWrapper.intToHexString(c, 10));
+                System.out.println(RBBIDataWrapper.intToString(state,7) + RBBIDataWrapper.intToString(category,6));
+            }
+
+            // look up a state transition in the state table
+            //     state = row->fNextState[category];
+            state = stateTable[row + RBBIDataWrapper.NEXTSTATES + category];
+            row   = fRData.getRowIndex(state);  
+
+            // Get the next character.  Doing it here positions the iterator
+            //    to the correct position for recording matches in the code that
+            //    follows.
+            c = (int)fText.next(); 
+            if (c >= UTF16.LEAD_SURROGATE_MIN_VALUE) {
+                c = CINextTrail32(fText, c);
+            }
+
+            if (stateTable[row + RBBIDataWrapper.ACCEPTING] == -1) {
+                // Match found, common case, could have lookahead so we move on to check it
+                result = fText.getIndex();
+                if (c >= UTF16.SUPPLEMENTARY_MIN_VALUE && c != CI_DONE32) {
+                    // The iterator has been left in the middle of a surrogate pair.
+                    // We want the start of it.
+                    result--;
+                }
+
+                //  Remember the break status (tag) values.
+                fLastRuleStatusIndex = stateTable[row + RBBIDataWrapper.TAGIDX];
+            }
+
+            if (stateTable[row + RBBIDataWrapper.LOOKAHEAD] != 0) {
+                if (lookaheadStatus != 0
+                    && stateTable[row + RBBIDataWrapper.ACCEPTING] == lookaheadStatus) {
+                    // Lookahead match is completed.  Set the result accordingly, but only
+                    // if no other rule has matched further in the mean time.
+                    result               = lookaheadResult;
+                    fLastRuleStatusIndex = lookaheadTagIdx;
+                    lookaheadStatus      = 0;
+                    continue;
+                }
+
+                lookaheadResult = fText.getIndex();
+                if (c>=UTF16.SUPPLEMENTARY_MIN_VALUE && c!=CI_DONE32) {
+                    // The iterator has been left in the middle of a surrogate pair.
+                    // We want the beginning  of it.
+                    lookaheadResult--;
+                }
+                lookaheadStatus = stateTable[row + RBBIDataWrapper.LOOKAHEAD];
+                lookaheadTagIdx = stateTable[row + RBBIDataWrapper.TAGIDX];
+                continue;
+            }
+
+
+            if (stateTable[row + RBBIDataWrapper.ACCEPTING] != 0) {
+                lookaheadStatus = 0;           // clear out any pending look-ahead matches.
+            }
+        }        // End of state machine main loop
+
+        // The state machine is done.  Check whether it found a match...
+
+        // If the iterator failed to advance in the match engine, force it ahead by one.
+        //   (This really indicates a defect in the break rules.  They should always match
+        //    at least one character.)
+        if (result == initialPosition) {
+            result = fText.setIndex(initialPosition);
+            CINext32(fText);
+            result = fText.getIndex();
+        }
+
+        // Leave the iterator at our result position.
+        fText.setIndex(result);
+        if (fTrace) {
+            System.out.println("result = " + result);
+        }
+        return result;
+    }
+
+    /*
+     * handlePrevious
+     */
+    private int  handlePrevious() {
+        if (fText == null || fRData == null) {
+            return 0;
+        }
+        if (fRData.fRTable == null) {
+            fText.first();
+            return fText.getIndex();
+        }
+
+        short          stateTable[]    = fRData.fRTable;
+        int            state           = START_STATE;
+        int            category;
+        int            lastCategory    = 0;
+        int            result          = fText.getIndex();
+        int            lookaheadStatus = 0;
+        int            lookaheadResult = 0;
+        int            lookaheadTagIdx = 0;
+        int            c               = CICurrent32(fText);
+        int            row;
+
+        row = fRData.getRowIndex(state);
+        category = (short)fRData.fTrie.getCodePointValue(c);
+        //category &= ~0x4000;    // Clear the dictionary bit, just in case.
+
+        if (fTrace) {
+            System.out.println("Handle Prev   pos   char  state category ");
+        }
+
+        // loop until we reach the beginning of the text or transition to state 0
+        for (;;) {
+            if (c == CI_DONE32) {
+                break;
+            }
+
+            // save the last character's category and look up the current
+            // character's category
+            lastCategory = category;
+            category = (short)fRData.fTrie.getCodePointValue(c);
+
+            // Check the dictionary bit in the character's category.
+            //    Don't exist in this Java engine implementation.  Clear the bit.
+            //
+            // category &= ~0x4000;
+
+            if (fTrace) {
+                System.out.print("             " + fText.getIndex()+ "   ");
+                if (0x20<=c && c<0x7f) {
+                    System.out.print("  " +  c + "  ");
+                } else {
+                    System.out.print(" " + Integer.toHexString(c) + " ");
+                }
+                System.out.println(" " + state + "  " + category + " ");
+            }
+
+            // look up a state transition in the backwards state table
+            state = stateTable[row + RBBIDataWrapper.NEXTSTATES + category];
+            row = fRData.getRowIndex(state);
+
+            continueOn: {
+                if (stateTable[row + RBBIDataWrapper.ACCEPTING] == 0 &&
+                        stateTable[row + RBBIDataWrapper.LOOKAHEAD] == 0) {
+                    break continueOn;
+                }
+                
+                if (stateTable[row + RBBIDataWrapper.ACCEPTING] == -1) {
+                    // Match found, common case, no lookahead involved.
+                    result = fText.getIndex();
+                    lookaheadStatus = 0;     // clear out any pending look-ahead matches.
+                    break continueOn;
+                }
+                
+                if (stateTable[row + RBBIDataWrapper.ACCEPTING] == 0 &&
+                    stateTable[row + RBBIDataWrapper.LOOKAHEAD] != 0) {
+                    // Lookahead match point.  Remember it, but only if no other rule
+                    //                         has unconditionally matched to this point.
+                    // TODO:  handle case where there's a pending match from a different rule
+                    //        where lookaheadStatus != 0  && lookaheadStatus != row->fLookAhead.
+                    int  r = fText.getIndex();
+                    if (r > result) {
+                        lookaheadResult = r;
+                        lookaheadStatus = stateTable[row + RBBIDataWrapper.LOOKAHEAD];
+                        lookaheadTagIdx = stateTable[row + RBBIDataWrapper.TAGIDX];
+                    }
+                    break continueOn;
+                }
+                
+                if (stateTable[row + RBBIDataWrapper.ACCEPTING] != 0 &&
+                        stateTable[row + RBBIDataWrapper.LOOKAHEAD] != 0) {
+                    // Lookahead match is completed.  Set the result accordingly, but only
+                    //   if no other rule has matched further in the mean time.
+                    //  TODO:  CHECK THIS LOGIC.  It looks backwards.
+                    //         These are _reverse_ rules.  
+                    if (lookaheadResult > result) {
+                        if (stateTable[row + RBBIDataWrapper.ACCEPTING] != lookaheadStatus) {  
+                            // TODO:  handle this case of overlapping lookahead matches.
+                            //        With correctly written rules, we won't get here.
+                            // System.out.println("Trouble in handlePrevious()"); 
+                        }
+                        result               = lookaheadResult;
+                        fLastRuleStatusIndex = lookaheadTagIdx;
+                        lookaheadStatus      = 0;
+                    }
+                    break continueOn;
+                }   
+            }   // end of continueOn block.
+
+            if (state == STOP_STATE) {
+                break;
+            }
+
+            // then move one character backwards
+            c = CIPrevious32(fText);
+       }
+
+        // Note:  the result position isn't what is returned to the user by previous(),
+        //        but where the implementation of previous() turns around and
+        //        starts iterating forward again.
+        if (c == CI_DONE32) {
+            result = fText.getBeginIndex();
+        }
+        fText.setIndex(result);
+
+        return result;
+    }
+    
+    
+    private int handlePrevious(short stateTable[]) {
+        if (fText == null || stateTable == null) {
+            return 0;
+        }
+        // break tag is no longer valid after icu switched to exact backwards
+        // positioning.
+        fLastStatusIndexValid = false;
+        if (stateTable == null) {
+            return fText.getBeginIndex();
+        }
+
+        int            state              = START_STATE;
+        int            category;
+        int            c                  = CIPrevious32(fText);
+        // previous character
+        int            result             = fText.getIndex();
+        int            lookaheadStatus    = 0;
+        int            lookaheadResult    = 0;
+        boolean        lookAheadHardBreak = 
+            (stateTable[RBBIDataWrapper.FLAGS+1] & RBBIDataWrapper.RBBI_LOOKAHEAD_HARD_BREAK) != 0;
+  
+        int            row = fRData.getRowIndex(state);
+
+        category = (short)fRData.fTrie.getCodePointValue(c);
+
+        if (fTrace) {
+            System.out.println("Handle Prev   pos   char  state category ");
+        }
+        
+        // loop until we reach the beginning of the text or transition to state 0
+        for (;;) {
+            if (c==CI_DONE32) {
+                if (fRData.fHeader.fVersion == 1) {
+                    // This is the old (ICU 3.2 and earlier) format data.
+                    //  No explicit support for matching {eof}.  Did have hacke, though...
+                    if (stateTable[row + RBBIDataWrapper.LOOKAHEAD] != 0 &&
+                            lookaheadResult == 0) {
+                        result = 0;
+                    }
+                    break;
+                }
+                // Newer data format, with support for {eof}.
+                //    end of input is hardwired by rule builder as category 1
+                category = 1;
+            } else {
+                // not at {eof}  
+                //  look up the current character's category (the table column)
+                category = (short)fRData.fTrie.getCodePointValue(c);
+            }
+
+            // category &= ~0x4000;    // Clear the dictionary bit flag
+            //                         //   (Should be unused; holdover from old RBBI)
+
+            if (fTrace) {
+                System.out.print("             " + fText.getIndex()+ "   ");
+                if (0x20<=c && c<0x7f) {
+                    System.out.print("  " +  c + "  ");
+                } else {
+                    System.out.print(" " + Integer.toHexString(c) + " ");
+                }
+                System.out.println(" " + state + "  " + category + " ");
+            } 
+
+            // look up a state transition in the backwards state table
+            state = stateTable[row + RBBIDataWrapper.NEXTSTATES + category];
+            row = fRData.getRowIndex(state);
+
+            if (stateTable[row + RBBIDataWrapper.ACCEPTING] == -1) {
+                // Match found, common case, could have lookahead so we move on to check it
+                result = fText.getIndex();
+            }
+
+            if (stateTable[row + RBBIDataWrapper.LOOKAHEAD] != 0) {
+                if (lookaheadStatus != 0
+                    && stateTable[row + RBBIDataWrapper.ACCEPTING] == lookaheadStatus) {
+                    // Lookahead match is completed.  Set the result accordingly, but only
+                    // if no other rule has matched further in the mean time.
+                    result               = lookaheadResult;
+                    lookaheadStatus      = 0;
+                    /// i think we have to back up to read the lookahead character again
+                    /// fText->setIndex(lookaheadResult);
+                    /// TODO: this is a simple hack since reverse rules only have simple
+                    /// lookahead rules that we can definitely break out from.
+                    /// we need to make the lookahead rules not chain eventually.
+                    /// return result;
+                    /// this is going to be the longest match again
+
+                    /// syn wee todo hard coded for line breaks stuff
+                    /// needs to provide a tag in rules to ensure a stop.
+                    
+                    if (lookAheadHardBreak) {
+                        break;
+                    }
+                    fText.setIndex(result);
+                } else {
+                    // Hit a possible look-ahead match.  We are at the
+                    // position of the '/'.  Remember this position.
+                    lookaheadResult      = fText.getIndex();
+                    lookaheadStatus      = stateTable[row + RBBIDataWrapper.LOOKAHEAD];
+                }
+            } else {               
+                // not lookahead...                
+                if (stateTable[row + RBBIDataWrapper.ACCEPTING] != 0) {
+                    // This is a plain (non-look-ahead) acceptiong state.
+                    if (!lookAheadHardBreak) {
+                        lookaheadStatus = 0;     //  Clear out any pending look-ahead matches,
+                                                 //   but only if not doing the lookAheadHardBreak option
+                                                 //   which needs to force a break no matter what is going
+                                                 //   on with the rest of the match, i.e. we can't abandon
+                                                 //   a partially completed look-ahead match because some
+                                                 //   other rule matched further than the '/' position
+                                                 //   in the look-ahead match.
+                    }
+                }
+            }
+            
+            if (state == STOP_STATE) {
+                break;
+            }
+
+            // then move iterator position backwards one character
+            c = CIPrevious32(fText);
+        }
+
+        fText.setIndex(result);
+
+        return result;
+    }
+
+}
+
+
+
+
+
diff --git a/src/com/ibm/icu/text/RuleBasedBreakIterator_Old.java b/src/com/ibm/icu/text/RuleBasedBreakIterator_Old.java
new file mode 100644
index 0000000..78957dd
--- /dev/null
+++ b/src/com/ibm/icu/text/RuleBasedBreakIterator_Old.java
@@ -0,0 +1,3250 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+
+/*
+ * @(#)RuleBasedBreakIterator.java    1.3 99/04/07
+ *
+ */
+
+package com.ibm.icu.text;
+
+import com.ibm.icu.util.CompactByteArray;
+import com.ibm.icu.impl.Utility;
+import java.util.Vector;
+import java.util.Stack;
+import java.util.Hashtable;
+import java.util.Enumeration;
+import java.text.CharacterIterator;
+import java.text.StringCharacterIterator;
+
+import java.io.*;
+
+/**
+ * <p>A subclass of BreakIterator whose behavior is specified using a list of rules.</p>
+ *
+ * <p>There are two kinds of rules, which are separated by semicolons: <i>substitutions</i>
+ * and <i>regular expressions.</i></p>
+ *
+ * <p>A substitution rule defines a name that can be used in place of an expression. It
+ * consists of a name, an equals sign, and an expression. (There can be no whitespace on
+ * either side of the equals sign.)  To keep its syntactic meaning intact, the expression
+ * must be enclosed in parentheses or square brackets. A substitution is visible after its
+ * definition, and is filled in using simple textual substitution (when a substitution is
+ * used, its name is enclosed in curly braces.  The curly braces are optional in the
+ * substition's definition). Substitution definitions can contain other substitutions, as
+ * long as those substitutions have been defined first. Substitutions are generally used to
+ * make the regular expressions (which can get quite complex) shorter and easier to read.
+ * They typically define either character categories or commonly-used subexpressions.</p>
+ *
+ * <p>There is one special substitution.&nbsp; If the description defines a substitution
+ * called &quot;_ignore_&quot;, the expression must be a [] expression, and the
+ * expression defines a set of characters (the &quot;<em>ignore characters</em>&quot;) that
+ * will be transparent to the BreakIterator.&nbsp; A sequence of characters will break the
+ * same way it would if any ignore characters it contains are taken out.&nbsp; Break
+ * positions never occur before ignore characters, except when the character before the
+ * ignore characters is a line or paragraph terminator.</p>
+ *
+ * <p>A regular expression uses a syntax similar to the normal Unix regular-expression
+ * syntax, and defines a sequence of characters to be kept together. With one significant
+ * exception, the iterator uses a longest-possible-match algorithm when matching text to regular
+ * expressions. The iterator also treats descriptions containing multiple regular expressions
+ * as if they were ORed together (i.e., as if they were separated by |).</p>
+ *
+ * <p>The special characters recognized by the regular-expression parser are as follows:</p>
+ *
+ * <blockquote>
+ *   <table border="1" width="100%">
+ *     <tr>
+ *       <td width="6%">*</td>
+ *       <td width="94%">Specifies that the expression preceding the asterisk may occur any number
+ *       of times (including not at all).</td>
+ *     </tr>
+ *     <tr>
+ *       <td width="6%">+</td>
+ *       <td width="94%">Specifies that the expression preceding the asterisk may occur one or
+ *       more times, but must occur at least once.</td>
+ *     </tr>
+ *     <tr>
+ *       <td width="6%">?</td>
+ *       <td width="94%">Specifies that the expression preceding the asterisk may occur once
+ *       or not at all (i.e., it makes the preceding expression optional).</td>
+ *     </tr>
+ *     <tr>
+ *       <td width="6%">()</td>
+ *       <td width="94%">Encloses a sequence of characters.  If followed by * or +, the
+ *       sequence repeats.  If followed by ?, the sequence is optional.  Otherwise, the
+ *       parentheses are just a grouping device and a way to delimit the ends of expressions
+ *       containing |.</td>
+ *     </tr>
+ *     <tr>
+ *       <td width="6%">|</td>
+ *       <td width="94%">Separates two alternative sequences of characters.&nbsp; Either one
+ *       sequence or the other, but not both, matches this expression.&nbsp; The | character can
+ *       only occur inside ().</td>
+ *     </tr>
+ *     <tr>
+ *       <td width="6%">.</td>
+ *       <td width="94%">Matches any character.</td>
+ *     </tr>
+ *     <tr>
+ *       <td width="6%">*?</td>
+ *       <td width="94%">Specifies a non-greedy asterisk.&nbsp; *? works the same way as *, except
+ *       when there is overlap between the last group of characters in the expression preceding the
+ *       * and the first group of characters following the *.&nbsp; When there is this kind of
+ *       overlap, * will match the longest sequence of characters that match the expression before
+ *       the *, and *? will match the shortest sequence of characters matching the expression
+ *       before the *?.&nbsp; For example, if you have &quot;xxyxyyyxyxyxxyxyxyy&quot; in the text,
+ *       &quot;x[xy]*x&quot; will match through to the last x (i.e., &quot;<strong>xxyxyyyxyxyxxyxyx</strong>yy&quot;,
+ *       but &quot;x[xy]*?x&quot; will only match the first two xes (&quot;<strong>xx</strong>yxyyyxyxyxxyxyxyy&quot;).</td>
+ *     </tr>
+ *     <tr>
+ *       <td width="6%">[]</td>
+ *       <td width="94%">Specifies a group of alternative characters.&nbsp; A [] expression will
+ *       match any single character that is specified in the [] expression.&nbsp; For more on the
+ *       syntax of [] expressions, see below.</td>
+ *     </tr>
+ *     <tr>
+ *       <td width="6%">/</td>
+ *       <td width="94%">Specifies where the break position should go if text matches this
+ *       expression.&nbsp; (e.g., &quot;[a-z]&#42;/[:Zs:]*[1-0]&quot; will match if the iterator sees a run
+ *       of letters, followed by a run of whitespace, followed by a digit, but the break position
+ *       will actually go before the whitespace).&nbsp; Expressions that don't contain / put the
+ *       break position at the end of the matching text.</td>
+ *     </tr>
+ *     <tr>
+ *       <td width="6%">\</td>
+ *       <td width="94%">Escape character.&nbsp; The \ itself is ignored, but causes the next
+ *       character to be treated as literal character.&nbsp; This has no effect for many
+ *       characters, but for the characters listed above, this deprives them of their special
+ *       meaning.&nbsp; (There are no special escape sequences for Unicode characters, or tabs and
+ *       newlines; these are all handled by a higher-level protocol.&nbsp; In a Java string,
+ *       &quot;\n&quot; will be converted to a literal newline character by the time the
+ *       regular-expression parser sees it.&nbsp; Of course, this means that \ sequences that are
+ *       visible to the regexp parser must be written as \\ when inside a Java string.)&nbsp; All
+ *       characters in the ASCII range except for letters, digits, and control characters are
+ *       reserved characters to the parser and must be preceded by \ even if they currently don't
+ *       mean anything.</td>
+ *     </tr>
+ *     <tr>
+ *       <td width="6%">!</td>
+ *       <td width="94%">If ! appears at the beginning of a regular expression, it tells the regexp
+ *       parser that this expression specifies the backwards-iteration behavior of the iterator,
+ *       and not its normal iteration behavior.&nbsp; This is generally only used in situations
+ *       where the automatically-generated backwards-iteration behavior doesn't produce
+ *       satisfactory results and must be supplemented with extra client-specified rules.</td>
+ *     </tr>
+ *     <tr>
+ *       <td width="6%"><em>(all others)</em></td>
+ *       <td width="94%">All other characters are treated as literal characters, which must match
+ *       the corresponding character(s) in the text exactly.</td>
+ *     </tr>
+ *   </table>
+ * </blockquote>
+ *
+ * <p>Within a [] expression, a number of other special characters can be used to specify
+ * groups of characters:</p>
+ *
+ * <blockquote>
+ *   <table border="1" width="100%">
+ *     <tr>
+ *       <td width="6%">-</td>
+ *       <td width="94%">Specifies a range of matching characters.&nbsp; For example
+ *       &quot;[a-p]&quot; matches all lowercase Latin letters from a to p (inclusive).&nbsp; The -
+ *       sign specifies ranges of continuous Unicode numeric values, not ranges of characters in a
+ *       language's alphabetical order: &quot;[a-z]&quot; doesn't include capital letters, nor does
+ *       it include accented letters such as a-umlaut.</td>
+ *     </tr>
+ *     <tr>
+ *       <td width="6%">^</td>
+ *       <td width="94%">Inverts the expression.  All characters the expression includes are
+ *       excluded, and vice versa.  (i.e., it has the effect of saying "all Unicode characters
+ *       except...")  This character only has its special meaning when it's the first character
+ *       in the [] expression.  (Generally, you only see the ^ character inside a nested []
+ *       expression used in conjunction with the syntax below.)</td>
+ *     </tr>
+ *     <tr>
+ *       <td width="6%"><em>(all others)</em></td>
+ *       <td width="94%">All other characters are treated as literal characters.&nbsp; (For
+ *       example, &quot;[aeiou]&quot; specifies just the letters a, e, i, o, and u.)</td>
+ *     </tr>
+ *   </table>
+ * </blockquote>
+ *
+ * <p>[] expressions can nest.  There are some other characters that have special meaning only
+ * when used in conjunction with nester [] expressions:</p>
+ *
+ * <blockquote>
+ *   <table border="1" width="100%">
+ *     <tr>
+ *       <td width="6%">::</td>
+ *       <td width="94%">Within a nested [] expression, a pair of colons containing a one- or
+ *       two-letter code matches all characters in the corresponding Unicode category.&nbsp;
+ *       The :: expression has to be the only thing inside the [] expression. The two-letter codes
+ *       are the same as the two-letter codes in the Unicode database (for example,
+ *       &quot;[[:Sc:][:Sm:]]&quot; matches all currency symbols and all math symbols).&nbsp;
+ *       Specifying a one-letter code is the same as specifying all two-letter codes that begin
+ *       with that letter (for example, &quot;[[:L:]]&quot; matches all letters, and is equivalent
+ *       to &quot;[[:Lu:][:Ll:][:Lo:][:Lm:][:Lt:]]&quot;).&nbsp; Anything other than a valid
+ *       two-letter Unicode category code or a single letter that begins a valide Unicode category
+ *       code is illegal within the colons.</td>
+ *     </tr>
+ *     <tr>
+ *       <td width="6%">|</td>
+ *       <td width="94%">Two nested [] expressions juxtaposed or separated only by a | character
+ *       are merged together into a single [] expression matching all the characters in either
+ *       of the original [] expressions.  (e.g., "[[ab][bc]]" is equivalent to "[abc]", and so
+ *       is "[[ab]|[bc]]". <b>NOTE:</b>  "[ab][bc]" is NOT the same thing as "[[ab][bc]]".
+ *       The first expression will match two characters: an a or b followed by either another
+ *       b or a c.  The second expression will match a single character, which may be a, b, or c.
+ *       The nesting is <em>required</em> for the expressions to merge together.</td>
+ *     </tr>
+ *     <tr>
+ *       <td width="6%">&</td>
+ *       <td width="94%">Two nested [] expressions with only & between them will match any
+ *       character that appears in both nested [] expressions (this is a set intersection).
+ *       (e.g., "[[ab]&[bc]]" will only match the letter b.)</td>
+ *     </tr>
+ *     <tr>
+ *       <td width="6%">-</td>
+ *       <td width="94%">Two nested [] expressions with - between them will match any
+ *       character that appears in the first nested [] expression <em>but not</em> the
+ *       second one (this is an asymmetrical set difference).  (e.g., "[[:Sc:]-[$]]"
+ *       matches any currency symbol except the dollar sign.  "[[ab]-[bc]] will match
+ *       only the letter a.  This has exactly the same effect as "[[ab]&[^bc]]".)</td>
+ *     </tr>
+ *
+ * <p>For a more complete explanation, see <a
+ * href="http://oss.software.ibm.com/icu/docs/papers/text_boundary_analysis_in_java/index.html">http://oss.software.ibm.com/icu/docs/papers/text_boundary_analysis_in_java/index.html</a>.
+ * &nbsp; For examples, see the resource data (which is annotated).</p>
+ *
+ * @author Richard Gillam
+ * @internal ICU 2.0
+ */
+public class RuleBasedBreakIterator_Old extends RuleBasedBreakIterator {
+
+    /**
+     * A token used as a character-category value to identify ignore characters
+     * @stable ICU 2.0
+     */
+    protected static final byte IGNORE = -1;
+
+    /**
+     * Special variable used to define ignore characters
+     * @stable ICU 2.0
+     */
+    private static final String IGNORE_VAR = "_ignore_";
+
+    /**
+     * The state number of the starting state
+     */
+    private static final short START_STATE = 1;
+
+    /**
+     * The state-transition value indicating "stop"
+     */
+    private static final short STOP_STATE = 0;
+
+    /**
+     * The textual description this iterator was created from
+     */
+    private String description;
+
+    /**
+     * A table that indexes from character values to character category numbers
+     */
+    private CompactByteArray charCategoryTable = null;
+
+    /**
+     * The table of state transitions used for forward iteration
+     */
+    private short[] stateTable = null;
+
+    /**
+     * The table of state transitions used to sync up the iterator with the
+     * text in backwards and random-access iteration
+     */
+    private short[] backwardsStateTable = null;
+
+    /**
+     * A list of flags indicating which states in the state table are accepting
+     * ("end") states
+     */
+    private boolean[] endStates = null;
+
+    /**
+     * A list of flags indicating which states in the state table are
+     * lookahead states (states which turn lookahead on and off)
+     */
+    private boolean[] lookaheadStates = null;
+
+    /**
+     * The number of character categories (and, thus, the number of columns in
+     * the state tables)
+     */
+    private int numCategories;
+
+    /**
+     * The character iterator through which this BreakIterator accesses the text
+     */
+    private CharacterIterator text = null;
+
+    //=======================================================================
+    // constructors
+    //=======================================================================
+
+    /**
+     * Constructs a RuleBasedBreakIterator_Old according to the description
+     * provided.  If the description is malformed, throws an
+     * IllegalArgumentException.  Normally, instead of constructing a
+     * RuleBasedBreakIterator_Old directory, you'll use the factory methods
+     * on BreakIterator to create one indirectly from a description
+     * in the framework's resource files.  You'd use this when you want
+     * special behavior not provided by the built-in iterators.
+     * @stable ICU 2.0
+     */
+    public RuleBasedBreakIterator_Old(String description) {
+//System.out.println(">>>RBBI constructor");
+        this.description = description;
+
+        // the actual work is done by the Builder class
+        Builder builder = makeBuilder();
+        builder.buildBreakIterator();
+//System.out.println("<<<RBBI constructor");
+    }
+
+    /**
+     * Creates a Builder.
+     * @stable ICU 2.0
+     */
+    protected Builder makeBuilder() {
+        return new Builder();
+    }
+
+    //=======================================================================
+    // boilerplate
+    //=======================================================================
+    /**
+     * Clones this iterator.
+     * @return A newly-constructed RuleBasedBreakIterator_Old with the same
+     * behavior as this one.
+     * @stable ICU 2.0
+     */
+    public Object clone()
+    {
+        RuleBasedBreakIterator_Old result = (RuleBasedBreakIterator_Old) super.clone();
+        if (text != null) {
+            result.text = (CharacterIterator) text.clone();
+        }
+        return result;
+    }
+
+    /**
+     * Returns true if both BreakIterators are of the same class, have the same
+     * rules, and iterate over the same text.
+     * @stable ICU 2.0
+     */
+    public boolean equals(Object that) {
+        try {
+            RuleBasedBreakIterator_Old other = (RuleBasedBreakIterator_Old) that;
+            if (!description.equals(other.description)) {
+                return false;
+            }
+            return getText().equals(other.getText());
+        }
+        catch(ClassCastException e) {
+            return false;
+        }
+    }
+
+    /**
+     * Returns the description used to create this iterator
+     * @stable ICU 2.0
+     */
+    public String toString() {
+        return description;
+    }
+
+    /**
+     * Compute a hashcode for this BreakIterator
+     * @return A hash code
+     * @stable ICU 2.0
+     */
+    public int hashCode()
+    {
+        return description.hashCode();
+    }
+
+/**
+ *   Dump out a more-or-less human readable form of the
+ *   complete state table and character class definitions
+ *   @internal
+ */
+    ///CLOVER:OFF
+public void debugDumpTables() {
+    System.out.println("Character Classes:");
+    int currentCharClass = 257;
+    int startCurrentRange = 0;
+    int initialStringLength = 0;
+
+    StringBuffer[] charClassRanges = new StringBuffer[numCategories];
+    for (int i=0; i<numCategories; i++) {
+        charClassRanges[i] = new StringBuffer();
+    }
+
+    for (int i = 0; i < 0xffff; i++) {
+        if ((int)charCategoryTable.elementAt((char)i) != currentCharClass) {
+            if (currentCharClass != 257) {
+                // Complete the output of the previous range.
+                if (i != startCurrentRange+1) {
+                    charClassRanges[currentCharClass].append("-"+ Integer.toHexString(i-1));
+                }
+                if (charClassRanges[currentCharClass].length() % 72 < initialStringLength % 72) {
+                    charClassRanges[currentCharClass].append("\n     ");
+                }
+            }
+
+            // Output the start of the new range.
+            currentCharClass = (int)charCategoryTable.elementAt((char)i);
+            startCurrentRange = i;
+            initialStringLength = charClassRanges[currentCharClass].length();
+            if (charClassRanges[currentCharClass].length() > 0)
+                charClassRanges[currentCharClass].append(", ");
+            charClassRanges[currentCharClass].append(Integer.toHexString(i));
+        }
+    }
+
+    for (int i=0; i<numCategories; i++) {
+        System.out.println(i + ":     " + charClassRanges[i]);
+    }
+
+
+    System.out.println("\n\nState Table.   *: end state     %: look ahead state");
+    System.out.print("C:\t");
+    for (int i = 0; i < numCategories; i++)
+        System.out.print(Integer.toString(i) + "\t");
+    System.out.println(); System.out.print("=================================================");
+    for (int i = 0; i < stateTable.length; i++) {
+        if (i % numCategories == 0) {
+            System.out.println();
+            if (endStates[i / numCategories])
+                System.out.print("*");
+            else
+                System.out.print(" ");
+            if (lookaheadStates[i / numCategories]) {
+                System.out.print("%");
+            }
+            else
+                System.out.print(" ");
+            System.out.print(Integer.toString(i / numCategories) + ":\t");
+        }
+        if (stateTable[i] == 0) {
+            System.out.print(".\t");
+        } else {
+            System.out.print(Integer.toString(stateTable[i]) + "\t");
+        }
+    }
+    System.out.println();
+}
+    ///CLOVER:ON
+
+    ///CLOVER:OFF
+// DELETE ME BEFORE RELEASE!!!
+    /**
+     * Write the RBBI runtime engine state transition tables to a file.
+     *  Formerly used to export the tables to the C++ RBBI Implementation.
+     *  Now obsolete, as C++ builds its own tables.
+     * @internal
+     */
+public void writeTablesToFile(FileOutputStream file, boolean littleEndian) throws IOException {
+    // NOTE: The format being written here is designed to be compatible with
+    // the ICU udata interfaces and may not be useful for much else
+    DataOutputStream out = new DataOutputStream(file);
+    
+//    --- write the file header ---
+    byte[] comment = "Copyright (C) 1999, International Business Machines Corp. and others. All Rights Reserved.".getBytes("US-ASCII");
+//    write the size of the header (rounded up to the next 16-byte boundary)
+    short headerSize = (short)(comment.length + 1 // length of comment
+            + 24); // size of static header data
+    short realHeaderSize = (short)(headerSize + ((headerSize % 16 == 0) ? 0 : 16 - (headerSize % 16)));
+    writeSwappedShort(realHeaderSize, out, littleEndian);
+//    write magic byte values
+    out.write(0xda);
+    out.write(0x27);
+//    write size of core header data
+    writeSwappedShort((short)20, out, littleEndian);
+//    write reserved bytes
+    writeSwappedShort((short)0, out, littleEndian);
+    
+//    write flag indicating whether we're big-endian
+    if (littleEndian) {
+        out.write(0);
+    } else {
+        out.write(1);
+    }
+    
+//    write character set family code (0 means ASCII)
+    out.write(0);
+//    write size of UChar in this file
+    out.write(2);
+//    write reserved byte
+    out.write(0);
+//    write data format identifier (this is an array of bytes in ICU, so the value is NOT swapped!)
+    out.writeInt(0x42524b53);   // ("BRKS")
+//    write file format version number (NOT swapped!)
+    out.writeInt(0);
+//    write data version number (NOT swapped!)
+    out.writeInt(0);
+//    write copyright notice
+    out.write(comment);
+    out.write(0);
+//    fill in padding bytes
+    while (headerSize < realHeaderSize) {
+        out.write(0);
+        ++headerSize;
+    }
+    
+//    --- write index to the file ---
+//    write the number of columns in the state table
+    writeSwappedInt(numCategories, out, littleEndian);
+    int fileEnd = 36;
+//    write the location in the file of the BreakIterator description string
+    writeSwappedInt(fileEnd, out, littleEndian);
+    fileEnd += (description.length() + 1) * 2;
+    fileEnd += (fileEnd % 4 == 0) ? 0 : 4 - (fileEnd % 4);
+//    write the location of the character category table's index
+    writeSwappedInt(fileEnd, out, littleEndian);
+    fileEnd += charCategoryTable.getIndexArray().length * 2;
+    fileEnd += (fileEnd % 4 == 0) ? 0 : 4 - (fileEnd % 4);
+//    write the location of the character category table's values array
+    writeSwappedInt(fileEnd, out, littleEndian);
+    fileEnd += charCategoryTable.getValueArray().length;
+    fileEnd += (fileEnd % 4 == 0) ? 0 : 4 - (fileEnd % 4);
+//    write the location of the forward state table
+    writeSwappedInt(fileEnd, out, littleEndian);
+    fileEnd += stateTable.length * 2;
+    fileEnd += (fileEnd % 4 == 0) ? 0 : 4 - (fileEnd % 4);
+//    write the location of the backward state table
+    writeSwappedInt(fileEnd, out, littleEndian);
+    fileEnd += backwardsStateTable.length * 2;
+    fileEnd += (fileEnd % 4 == 0) ? 0 : 4 - (fileEnd % 4);
+//    write the location of the endStates flags
+    writeSwappedInt(fileEnd, out, littleEndian);
+    fileEnd += endStates.length;
+    fileEnd += (fileEnd % 4 == 0) ? 0 : 4 - (fileEnd % 4);
+//    write the location of the lookaheadStates flags
+    writeSwappedInt(fileEnd, out, littleEndian);
+    fileEnd += lookaheadStates.length;
+    fileEnd += (fileEnd % 4 == 0) ? 0 : 4 - (fileEnd % 4);
+//    write the length of the file
+    writeSwappedInt(fileEnd, out, littleEndian);
+    
+//    --- write the actual data ---
+//    write description string
+    for (int i = 0; i < description.length(); i++)
+        writeSwappedShort((short)description.charAt(i), out, littleEndian);
+    out.writeShort(0);
+    if ((description.length() + 1) % 2 == 1)
+        out.writeShort(0);
+//    write character category table
+    char[] temp1 = charCategoryTable.getIndexArray();
+    for (int i = 0; i < temp1.length; i++)
+        writeSwappedShort((short)temp1[i], out, littleEndian);
+    if (temp1.length % 2 == 1)
+        out.writeShort(0);
+    byte[] temp2 = charCategoryTable.getValueArray();
+    out.write(temp2);
+    switch (temp2.length % 4) {
+        case 1: out.write(0);
+        case 2: out.write(0);
+        case 3: out.write(0);
+        default: break;
+    }
+//    write the state transition tables
+    for (int i = 0; i < stateTable.length; i++)
+        writeSwappedShort(stateTable[i], out, littleEndian);
+    if (stateTable.length % 2 == 1)
+        out.writeShort(0);
+    for (int i = 0; i < backwardsStateTable.length; i++)
+        writeSwappedShort(backwardsStateTable[i], out, littleEndian);
+    if (backwardsStateTable.length % 2 == 1)
+        out.writeShort(0);
+//    write the flag arrays
+    for (int i = 0; i < endStates.length; i++)
+        out.writeBoolean(endStates[i]);
+    switch (endStates.length % 4) {
+        case 1: out.write(0);
+        case 2: out.write(0);
+        case 3: out.write(0);
+        default: break;
+    }
+    for (int i = 0; i < lookaheadStates.length; i++)
+        out.writeBoolean(lookaheadStates[i]);
+    switch (lookaheadStates.length % 4) {
+        case 1: out.write(0);
+        case 2: out.write(0);
+        case 3: out.write(0);
+        default: break;
+    }
+}
+
+/**
+ * @internal
+ */
+protected void writeSwappedShort(short x, DataOutputStream out, boolean littleEndian)
+throws IOException{
+    if (littleEndian) {
+        out.write((byte)(x & 0xff));
+        out.write((byte)((x >> 8) & 0xff));
+    }
+    else {
+        out.write((byte)((x >> 8) & 0xff));
+        out.write((byte)(x & 0xff));
+    }
+}
+
+/**
+ * @internal
+ */
+protected void writeSwappedInt(int x, DataOutputStream out, boolean littleEndian)
+throws IOException {
+    if (littleEndian) {
+        out.write((byte)(x & 0xff));
+        out.write((byte)((x >> 8) & 0xff));
+        out.write((byte)((x >> 16) & 0xff));
+        out.write((byte)((x >> 24) & 0xff));
+    }
+    else {
+        out.write((byte)((x >> 24) & 0xff));
+        out.write((byte)((x >> 16) & 0xff));
+        out.write((byte)((x >> 8) & 0xff));
+        out.write((byte)(x & 0xff));
+    }
+}
+    ///CLOVER:ON
+
+    //=======================================================================
+    // BreakIterator overrides
+    //=======================================================================
+
+    /**
+     * Sets the current iteration position to the beginning of the text.
+     * (i.e., the CharacterIterator's starting offset).
+     * @return The offset of the beginning of the text.
+     * @stable ICU 2.0
+     */
+    public int first() {
+        CharacterIterator t = getText();
+
+        t.first();
+        return t.getIndex();
+    }
+
+    /**
+     * Sets the current iteration position to the end of the text.
+     * (i.e., the CharacterIterator's ending offset).
+     * @return The text's past-the-end offset.
+     * @stable ICU 2.0
+     */
+    public int last() {
+        CharacterIterator t = getText();
+
+        // I'm not sure why, but t.last() returns the offset of the last character,
+        // rather than the past-the-end offset
+        t.setIndex(t.getEndIndex());
+        return t.getIndex();
+    }
+
+    /**
+     * Advances the iterator either forward or backward the specified number of steps.
+     * Negative values move backward, and positive values move forward.  This is
+     * equivalent to repeatedly calling next() or previous().
+     * @param n The number of steps to move.  The sign indicates the direction
+     * (negative is backwards, and positive is forwards).
+     * @return The character offset of the boundary position n boundaries away from
+     * the current one.
+     * @stable ICU 2.0
+     */
+    public int next(int n) {
+        int result = current();
+        while (n > 0) {
+            result = handleNext();
+            --n;
+        }
+        while (n < 0) {
+            result = previous();
+            ++n;
+        }
+        return result;
+    }
+
+    /**
+     * Advances the iterator to the next boundary position.
+     * @return The position of the first boundary after this one.
+     * @stable ICU 2.0
+     */
+    public int next() {
+        return handleNext();
+    }
+
+    /**
+     * Advances the iterator backwards, to the last boundary preceding this one.
+     * @return The position of the last boundary position preceding this one.
+     * @stable ICU 2.0
+     */
+    public int previous() {
+        // if we're already sitting at the beginning of the text, return DONE
+        CharacterIterator text = getText();
+        if (current() == text.getBeginIndex()) {
+            return BreakIterator.DONE;
+        }
+
+        // set things up.  handlePrevious() will back us up to some valid
+        // break position before the current position (we back our internal
+        // iterator up one step to prevent handlePrevious() from returning
+        // the current position), but not necessarily the last one before
+        // where we started
+        int start = current();
+        text.previous();
+        int lastResult = handlePrevious();
+        int result = lastResult;
+
+        // iterate forward from the known break position until we pass our
+        // starting point.  The last break position before the starting
+        // point is our return value
+        while (result != BreakIterator.DONE && result < start) {
+            lastResult = result;
+            result = handleNext();
+        }
+
+        // set the current iteration position to be the last break position
+        // before where we started, and then return that value
+        text.setIndex(lastResult);
+        return lastResult;
+    }
+
+    /**
+     * Throw IllegalArgumentException unless begin <= offset < end.
+     * @stable ICU 2.0
+     */
+    protected static final void checkOffset(int offset, CharacterIterator text) {
+        if (offset < text.getBeginIndex() || offset > text.getEndIndex()) {
+            throw new IllegalArgumentException("offset out of bounds");
+        }
+    }
+
+    /**
+     * Sets the iterator to refer to the first boundary position following
+     * the specified position.
+     * @param offset The position from which to begin searching for a break position.
+     * @return The position of the first break after the current position.
+     * @stable ICU 2.0
+     */
+    public int following(int offset) {
+        // if the offset passed in is already past the end of the text,
+        // just return DONE
+        CharacterIterator text = getText();
+        if (offset == text.getEndIndex()) {
+            return BreakIterator.DONE;
+        }
+        checkOffset(offset, text);
+
+        // otherwise, set our internal iteration position (temporarily)
+        // to the position passed in.  If this is the _beginning_ position,
+        // then we can just use next() to get our return value
+        text.setIndex(offset);
+        if (offset == text.getBeginIndex()) {
+            return handleNext();
+        }
+
+        // otherwise, we have to sync up first.  Use handlePrevious() to back
+        // us up to a known break position before the specified position (if
+        // we can determine that the specified position is a break position,
+        // we don't back up at all).  This may or may not be the last break
+        // position at or before our starting position.  Advance forward
+        // from here until we've passed the starting position.  The position
+        // we stop on will be the first break position after the specified one.
+        int result = handlePrevious();
+        while (result != BreakIterator.DONE && result <= offset) {
+            result = handleNext();
+        }
+        return result;
+    }
+
+    /**
+     * Sets the iterator to refer to the last boundary position before the
+     * specified position.
+     * @param offset The position to begin searching for a break from.
+     * @return The position of the last boundary before the starting position.
+     * @stable ICU 2.0
+     */
+    public int preceding(int offset) {
+        // if we start by updating the current iteration position to the
+        // position specified by the caller, we can just use previous()
+        // to carry out this operation
+        CharacterIterator text = getText();
+        checkOffset(offset, text);
+        text.setIndex(offset);
+        return previous();
+    }
+
+    /**
+     * Returns true if the specfied position is a boundary position.  As a side
+     * effect, leaves the iterator pointing to the first boundary position at
+     * or after "offset".
+     * @param offset the offset to check.
+     * @return True if "offset" is a boundary position.
+     * @stable ICU 2.0
+     */
+    public boolean isBoundary(int offset) {
+        CharacterIterator text = getText();
+        checkOffset(offset, text);
+        if (offset == text.getBeginIndex()) {
+            return true;
+        }
+
+        // to check whether this is a boundary, we can use following() on the
+        // position before the specified one and return true if the position we
+        // get back is the one the user specified
+        else {
+            return following(offset - 1) == offset;
+        }
+    }
+
+    /**
+     * Returns the current iteration position.
+     * @return The current iteration position.
+     * @stable ICU 2.0
+     */
+    public int current() {
+        return getText().getIndex();
+    }
+
+    
+    /**
+     * Return the status tag from the break rule that determined the most recently
+     * returned break position.  The values appear in the rule source
+     * within brackets, {123}, for example.  For rules that do not specify a
+     * status, a default value of 0 is returned.  If more than one rule applies,
+     * the numerically largest of the possible status values is returned.
+     * <p>
+     * Note that for old style break iterators (implemented by this class), no
+     * status can be declared, and a status of zero is always assumed.
+     * <p>
+     *
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public int  getRuleStatus() {
+        return 0;
+    }
+
+
+
+    /**
+     * Get the status (tag) values from the break rule(s) that determined the most 
+     * recently returned break position.  The values appear in the rule source
+     * within brackets, {123}, for example.  The default status value for rules
+     * that do not explicitly provide one is zero.
+     * <p>
+     * Note that for old style break iterators (implemented by this class), no
+     * status can be declared, and a status of zero is always assumed.
+     * <p>
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+     public int getRuleStatusVec(int[] fillInArray) {
+         if (fillInArray != null && fillInArray.length >= 1) {
+             fillInArray[0] = 0;
+         }
+         return 1;
+     }
+
+
+
+    /**
+     * Return a CharacterIterator over the text being analyzed.  This version
+     * of this method returns the actual CharacterIterator we're using internally.
+     * Changing the state of this iterator can have undefined consequences.  If
+     * you need to change it, clone it first.
+     * @return An iterator over the text being analyzed.
+     * @stable ICU 2.0
+     */
+    public CharacterIterator getText() {
+        // The iterator is initialized pointing to no text at all, so if this
+        // function is called while we're in that state, we have to fudge an
+        // an iterator to return.
+        if (text == null) {
+            text = new StringCharacterIterator("");
+        }
+        return text;
+    }
+
+    /**
+     * Set the iterator to analyze a new piece of text.  This function resets
+     * the current iteration position to the beginning of the text.
+     * @param newText An iterator over the text to analyze.
+     * @stable ICU 2.0
+     */
+    public void setText(CharacterIterator newText) {
+        // Test text to see if we need to wrap it in a SafeCharIterator:
+        int end = newText.getEndIndex();
+        newText.setIndex(end);
+        if (newText.getIndex() != end) {
+            // failed - wrap in correct implementation
+            text = new SafeCharIterator(newText);
+        }
+        else {
+            text = newText;
+        }
+        text.first();
+    }
+
+
+    //=======================================================================
+    // implementation
+    //=======================================================================
+
+    /**
+     * This method is the actual implementation of the next() method.  All iteration
+     * vectors through here.  This method initializes the state machine to state 1
+     * and advances through the text character by character until we reach the end
+     * of the text or the state machine transitions to state 0.  We update our return
+     * value every time the state machine passes through a possible end state.
+     * @stable ICU 2.0
+     */
+    protected int handleNext() {
+        // if we're already at the end of the text, return DONE.
+        CharacterIterator text = getText();
+        if (text.getIndex() == text.getEndIndex()) {
+            return BreakIterator.DONE;
+        }
+
+        // no matter what, we always advance at least one character forward
+        int result = text.getIndex() + 1;
+        int lookaheadResult = 0;
+
+        // begin in state 1
+        int state = START_STATE;
+        int category;
+        char c = text.current();
+        char lastC = c;
+        int lastCPos = 0;
+
+        // if the first character in this segment is an ignore character (which can happen
+        // when it's either the first character in the file or follows a mandatory break
+        // character), and the first non-ignore character isn't a glue character, always
+        // put a break between the ignore characters and the rest of the text
+        if (lookupCategory(c) == IGNORE) {
+            while (lookupCategory(c) == IGNORE)
+                c = text.next();
+
+            if (Character.getType(c) == Character.NON_SPACING_MARK || Character.getType(c)
+                    == Character.ENCLOSING_MARK) {
+                return text.getIndex();
+            }
+        }
+
+        // loop until we reach the end of the text or transition to state 0
+        while (c != CharacterIterator.DONE && state != STOP_STATE) {
+
+            // look up the current character's character category (which tells us
+            // which column in the state table to look at)
+            category = lookupCategory(c);
+
+            // if the character isn't an ignore character, look up a state
+            // transition in the state table
+            if (category != IGNORE) {
+                state = lookupState(state, category);
+            }
+
+            // if the state we've just transitioned to is a lookahead state,
+            // (but not also an end state), save its position.  If it's
+            // both a lookahead state and an end state, update the break position
+            // to the last saved lookup-state position
+            if (lookaheadStates[state]) {
+                if (endStates[state]) {
+                    if (lookaheadResult > 0) {
+                        result = lookaheadResult;
+                    }
+                    else {
+                        result = text.getIndex() + 1;
+                    }
+                }
+                else {
+                    lookaheadResult = text.getIndex() + 1;
+                }
+            }
+
+            // otherwise, if the state we've just transitioned to is an accepting
+            // state, update the break position to be the current iteration position
+            else {
+                if (endStates[state]) {
+                    result = text.getIndex() + 1;
+                }
+            }
+
+            // keep track of the last "real" character we saw.  If this character isn't an
+            // ignore character, take note of it and its position in the text
+            if (category != IGNORE && state != STOP_STATE) {
+                lastC = c;
+                lastCPos = text.getIndex();
+            }
+            c = text.next();
+        }
+
+        // if we've run off the end of the text, and the very last character took us into
+        // a lookahead state, advance the break position to the lookahead position
+        // (the theory here is that if there are no characters at all after the lookahead
+        // position, that always matches the lookahead criteria)
+        if (c == CharacterIterator.DONE && lookaheadResult == text.getEndIndex()) {
+            result = lookaheadResult;
+        }
+
+        // if the last character we saw before the one that took us into the stop state
+        // was a mandatory breaking character, then the break position goes right after it
+        // (this is here so that breaks come before, rather than after, a string of
+        // ignore characters when they follow a mandatory break character)
+        else if ("\n\r\f\u2028\u2029".indexOf(lastC) != -1) {
+            result = lastCPos + 1;
+        }
+
+        text.setIndex(result);
+        return result;
+    }
+
+    /**
+     * This method backs the iterator back up to a "safe position" in the text.
+     * This is a position that we know, without any context, must be a break position.
+     * The various calling methods then iterate forward from this safe position to
+     * the appropriate position to return.  (For more information, see the description
+     * of buildBackwardsStateTable() in RuleBasedBreakIterator_Old.Builder.)
+     * @stable ICU 2.0
+     */
+    protected int handlePrevious() {
+        CharacterIterator text = getText();
+        int state = START_STATE;
+        int category = 0;
+        int lastCategory = 0;
+        char c = text.current();
+
+        // loop until we reach the beginning of the text or transition to state 0
+        while (c != CharacterIterator.DONE && state != STOP_STATE) {
+//System.out.print(" " + text.getIndex());
+
+            // save the last character's category and look up the current
+            // character's category
+            lastCategory = category;
+            category = lookupCategory(c);
+
+            // if the current character isn't an ignore character, look up a
+            // state transition in the backwards state table
+            if (category != IGNORE) {
+                state = lookupBackwardState(state, category);
+            }
+
+            // then advance one character backwards
+            c = text.previous();
+        }
+
+        // if we didn't march off the beginning of the text, we're either one or two
+        // positions away from the real break position.  (One because of the call to
+        // previous() at the end of the loop above, and another because the character
+        // that takes us into the stop state will always be the character BEFORE
+        // the break position.)
+        if (c != CharacterIterator.DONE) {
+            if (lastCategory != IGNORE) {
+                text.setIndex(text.getIndex() + 2);
+            }
+            else {
+                text.next();
+            }
+        }
+//System.out.print(",");
+        return text.getIndex();
+    }
+
+//static int visitedChars = 0;
+    /**
+     * Looks up a character's category (i.e., its category for breaking purposes,
+     * not its Unicode category)
+     * @internal
+     */
+    protected int lookupCategory(char c) {
+//++visitedChars;
+        return charCategoryTable.elementAt(c);
+    }
+
+/*
+static void printVisitedCharCount() {
+System.out.println("Total number of characters visited = " + visitedChars);
+visitedChars = 0;
+}
+*/
+
+    /**
+     * Given a current state and a character category, looks up the
+     * next state to transition to in the state table.
+     * @internal
+     */
+    protected int lookupState(int state, int category) {
+        return stateTable[state * numCategories + category];
+    }
+
+    /**
+     * Given a current state and a character category, looks up the
+     * next state to transition to in the backwards state table.
+     * @internal
+     */
+    protected int lookupBackwardState(int state, int category) {
+        return backwardsStateTable[state * numCategories + category];
+    }
+
+    /**
+     * This is a helper function for computing the intersection of
+     * two <code>UnicodeSet</code> objects.
+     * @param a, b the two <code>UnicodeSet</code>s to intersect
+     * @return a new <code>UnicodeSet</code> which is the intersection of a and b
+     */
+    private static UnicodeSet intersection(UnicodeSet a, UnicodeSet b)
+    {
+        UnicodeSet result = new UnicodeSet(a);
+
+        result.retainAll(b);
+
+        return result;
+    }
+
+    //=======================================================================
+    // RuleBasedBreakIterator.Builder
+    //=======================================================================
+    /**
+     * The Builder class has the job of constructing a RuleBasedBreakIterator_Old from a
+     * textual description.  A Builder is constructed by RuleBasedBreakIterator_Old's
+     * constructor, which uses it to construct the iterator itself and then throws it
+     * away.
+     * <p>The construction logic is separated out into its own class for two primary
+     * reasons:
+     * <ul><li>The construction logic is quite sophisticated and large.  Separating it
+     * out into its own class means the code must only be loaded into memory while a
+     * RuleBasedBreakIterator_Old is being constructed, and can be purged after that.
+     * <li>There is a fair amount of state that must be maintained throughout the
+     * construction process that is not needed by the iterator after construction.
+     * Separating this state out into another class prevents all of the functions that
+     * construct the iterator from having to have really long parameter lists,
+     * (hopefully) contributing to readability and maintainability.</ul>
+     * <p>It'd be really nice if this could be an independent class rather than an
+     * inner class, because that would shorten the source file considerably, but
+     * making Builder an inner class of RuleBasedBreakIterator_Old allows it direct access
+     * to RuleBasedBreakIterator_Old's private members, which saves us from having to
+     * provide some kind of "back door" to the Builder class that could then also be
+     * used by other classes.
+     * @internal
+     */
+    protected class Builder {
+        /**
+         * A temporary holding place used for calculating the character categories.
+         * This object contains UnicodeSet objects.
+         * @internal
+         */
+        protected Vector categories = null;
+
+        /**
+         * A table used to map parts of regexp text to lists of character categories,
+         * rather than having to figure them out from scratch each time
+         * @internal
+         */
+        protected Hashtable expressions = null;
+
+        /**
+         * A temporary holding place for the list of ignore characters
+         * @internal
+         */
+        protected UnicodeSet ignoreChars = null;
+
+        /**
+         * A temporary holding place where the forward state table is built
+         * @internal
+         */
+        protected Vector tempStateTable = null;
+
+        /**
+         * A list of all the states that have to be filled in with transitions to the
+         * next state that is created.  Used when building the state table from the
+         * regular expressions.
+         * @internal
+         */
+        protected Vector decisionPointList = null;
+
+        /**
+         * A stack for holding decision point lists.  This is used to handle nested
+         * parentheses and braces in regexps.
+         * @internal
+         */
+        protected Stack decisionPointStack = null;
+
+        /**
+         * A list of states that loop back on themselves.  Used to handle .*?
+         * @internal
+         */
+        protected Vector loopingStates = null;
+
+        /**
+         * Looping states actually have to be backfilled later in the process
+         * than everything else.  This is where a the list of states to backfill
+         * is accumulated.  This is also used to handle .*?
+         * @internal
+         */
+        protected Vector statesToBackfill = null;
+
+        /**
+         * A list mapping pairs of state numbers for states that are to be combined
+         * to the state number of the state representing their combination.  Used
+         * in the process of making the state table deterministic to prevent
+         * infinite recursion.
+         * @internal
+         */
+        protected Vector mergeList = null;
+
+        /**
+         * A flag that is used to indicate when the list of looping states can
+         * be reset.
+         * @internal
+         */
+        protected boolean clearLoopingStates = false;
+
+        /**
+         * A bit mask used to indicate a bit in the table's flags column that marks a
+         * state as an accepting state.
+         * @internal
+         */
+        protected static final int END_STATE_FLAG = 0x8000;
+
+        /**
+         * A bit mask used to indicate a bit in the table's flags column that marks a
+         * state as one the builder shouldn't loop to any looping states
+         * @internal
+         */
+        protected static final int DONT_LOOP_FLAG = 0x4000;
+
+        /**
+         * A bit mask used to indicate a bit in the table's flags column that marks a
+         * state as a lookahead state.
+         * @internal
+         */
+        protected static final int LOOKAHEAD_STATE_FLAG = 0x2000;
+
+        /**
+         * A bit mask representing the union of the mask values listed above.
+         * Used for clearing or masking off the flag bits.
+         * @internal
+         */
+        protected static final int ALL_FLAGS = END_STATE_FLAG | LOOKAHEAD_STATE_FLAG
+                | DONT_LOOP_FLAG;
+
+        /**
+         * No special construction is required for the Builder.
+         * @internal
+         */
+        public Builder() {
+        }
+
+        /**
+         * This is the main function for setting up the BreakIterator's tables.  It
+         * just vectors different parts of the job off to other functions.
+         * @internal
+         */
+        public void buildBreakIterator() {
+            Vector tempRuleList = buildRuleList(description);
+            buildCharCategories(tempRuleList);
+            buildStateTable(tempRuleList);
+            buildBackwardsStateTable(tempRuleList);
+        }
+
+        /**
+         * Thus function has three main purposes:
+         * <ul><li>Perform general syntax checking on the description, so the rest of the
+         * build code can assume that it's parsing a legal description.
+         * <li>Split the description into separate rules
+         * <li>Perform variable-name substitutions (so that no one else sees variable names)
+         * </ul>
+         */
+        private Vector buildRuleList(String description) {
+            // invariants:
+            // - parentheses must be balanced: ()[]{}<>
+            // - nothing can be nested inside {}
+            // - nothing can be nested inside [] except more []s
+            // - pairs of ()[]{}<> must not be empty
+            // - ; can only occur at the outer level
+            // - | can only appear inside ()
+            // - only one = or / can occur in a single rule
+            // - = and / cannot both occur in the same rule
+            // - the right-hand side of a = expression must be enclosed in [] or ()
+            // - * may not occur at the beginning of a rule, nor may it follow
+            //   =, /, (, (, |, }, ;, or *
+            // - ? may only follow *
+            // - the rule list must contain at least one / rule
+            // - no rule may be empty
+            // - all printing characters in the ASCII range except letters and digits
+            //   are reserved and must be preceded by \
+            // - ! may only occur at the beginning of a rule
+
+            // set up a vector to contain the broken-up description (each entry in the
+            // vector is a separate rule) and a stack for keeping track of opening
+            // punctuation
+            Vector tempRuleList = new Vector();
+            Stack parenStack = new Stack();
+
+            int p = 0;
+            int ruleStart = 0;
+            char c = '\u0000';
+            char lastC = '\u0000';
+            char lastOpen = '\u0000';
+            boolean haveEquals = false;
+            boolean havePipe = false;
+            boolean sawVarName = false;
+            boolean sawIllegalChar = false;
+            int illegalCharPos = 0;
+            final String charsThatCantPrecedeAsterisk = "=/<(|>*+?;\u0000";
+
+            // if the description doesn't end with a semicolon, tack a semicolon onto the end
+            if (description.length() != 0 && description.charAt(description.length() - 1) != ';') {
+                description = description + ";";
+            }
+
+            // for each character, do...
+            while (p < description.length()) {
+                c = description.charAt(p);
+                switch (c) {
+                    // if the character is opening punctuation, verify that no nesting
+                    // rules are broken, and push the character onto the stack
+                    case '{':
+                    case '[':
+                    case '(':
+                        if (lastOpen == '{') {
+                            error("Can't nest brackets inside {}", p, description);
+                        }
+                        if (lastOpen == '[' && c != '[') {
+                            error("Can't nest anything in [] but []", p, description);
+                        }
+
+                        // if we see { anywhere except on the left-hand side of =,
+                        // we must be seeing a variable name that was never defined
+                        if (c == '{' && (haveEquals || havePipe)) {
+                            error("Unknown variable name", p, description);
+                        }
+
+                        lastOpen = c;
+                        parenStack.push(new Character(c));
+                        if (c == '{') {
+                            sawVarName = true;
+                        }
+                        break;
+
+                    // if the character is closing punctuation, verify that it matches the
+                    // last opening punctuation we saw, and that the brackets contain
+                    // something, then pop the stack
+                    case '}':
+                    case ']':
+                    case ')':
+                        char expectedClose = '\u0000';
+                        switch (lastOpen) {
+                            case '{':
+                                expectedClose = '}';
+                                break;
+                            case '[':
+                                expectedClose = ']';
+                                break;
+                            case '(':
+                                expectedClose = ')';
+                                break;
+                        }
+                        if (c != expectedClose) {
+                            error("Unbalanced parentheses", p, description);
+                        }
+                        if (lastC == lastOpen) {
+                            error("Parens don't contain anything", p, description);
+                        }
+                        parenStack.pop();
+                        if (!parenStack.empty()) {
+                            lastOpen = ((Character)(parenStack.peek())).charValue();
+                        }
+                        else {
+                            lastOpen = '\u0000';
+                        }
+
+                        break;
+
+                    // if the character is an asterisk, make sure it occurs in a place
+                    // where an asterisk can legally go
+                    case '*': case '+': case '?':
+                        if (charsThatCantPrecedeAsterisk.indexOf(lastC) != -1
+                                && (c != '?' || lastC != '*')) {
+                            error("Misplaced *, +, or ?", p, description);
+                        }
+                        break;
+
+                    // if the character is an equals sign, make sure we haven't seen another
+                    // equals sign or a slash yet
+                    case '=':
+                        if (haveEquals || havePipe) {
+                            error("More than one = or / in rule", p, description);
+                        }
+                        haveEquals = true;
+                        sawIllegalChar = false;
+                        break;
+
+                    // if the character is a slash, make sure we haven't seen another slash
+                    // or an equals sign yet
+                    case '/':
+                        if (haveEquals || havePipe) {
+                            error("More than one = or / in rule", p, description);
+                        }
+                        if (sawVarName) {
+                            error("Unknown variable name", p, description);
+                        }
+                        havePipe = true;
+                        break;
+
+                    // if the character is an exclamation point, make sure it occurs only
+                    // at the beginning of a rule
+                    case '!':
+                        if (lastC != ';' && lastC != '\u0000') {
+                            error("! can only occur at the beginning of a rule", p, description);
+                        }
+                        break;
+
+                    // if the character is a backslash, skip the character that follows it
+                    // (it'll get treated as a literal character)
+                    case '\\':
+                        ++p;
+                        break;
+
+                    // we don't have to do anything special on a period
+                    case '.':
+                        break;
+
+                    // if the character is a syntax character that can only occur
+                    // inside [], make sure that it does in fact only occur inside []
+                    // (or in a variable name)
+                    case '^':
+                    case '-':
+                    case ':':
+                    case '&':
+                        if (lastOpen != '[' && lastOpen != '{' && !sawIllegalChar) {
+                            sawIllegalChar = true;
+                            illegalCharPos = p;
+                        }
+                        break;
+
+                    // if the character is a semicolon, do the following...
+                    case ';':
+                        // if we saw any illegal characters along the way, throw
+                        // an error
+                        if (sawIllegalChar) {
+                            error("Illegal character", illegalCharPos, description);
+                        }
+
+                        // make sure the rule contains something and that there are no
+                        // unbalanced parentheses or brackets
+                        if (lastC == ';' || lastC == '\u0000') {
+                            error("Empty rule", p, description);
+                        }
+                        if (!parenStack.empty()) {
+                            error("Unbalanced parenheses", p, description);
+                        }
+
+                        if (parenStack.empty()) {
+                            // if the rule contained an = sign, call processSubstitution()
+                            // to replace the substitution name with the substitution text
+                            // wherever it appears in the description
+                            if (haveEquals) {
+                                description = processSubstitution(description.substring(ruleStart,
+                                                p), description, p + 1);
+                            }
+                            else {
+                                // otherwise, check to make sure the rule doesn't reference
+                                // any undefined substitutions
+                                if (sawVarName) {
+                                    error("Unknown variable name", p, description);
+                                }
+
+                                // then add it to tempRuleList
+                                tempRuleList.addElement(description.substring(ruleStart, p));
+                            }
+
+                            // and reset everything to process the next rule
+                            ruleStart = p + 1;
+                            haveEquals = havePipe = sawVarName = sawIllegalChar = false;
+                        }
+                        break;
+
+                    // if the character is a vertical bar, check to make sure that it
+                    // occurs inside a () expression and that the character that precedes
+                    // it isn't also a vertical bar
+                    case '|':
+                        if (lastC == '|') {
+                            error("Empty alternative", p, description);
+                        }
+                        if (parenStack.empty() || lastOpen != '(') {
+                            error("Misplaced |", p, description);
+                        }
+                        break;
+
+                    // if the character is anything else (escaped characters are
+                    // skipped and don't make it here), it's an error
+                    default:
+                        if (c >= ' ' && c < '\u007f' && !Character.isLetter(c)
+                                && !Character.isDigit(c) && !sawIllegalChar) {
+                            sawIllegalChar = true;
+                            illegalCharPos = p;
+                        }
+                        break;
+                }
+                lastC = c;
+                ++p;
+            }
+            if (tempRuleList.size() == 0) {
+                error("No valid rules in description", p, description);
+            }
+            return tempRuleList;
+        }
+
+        /**
+         * This function performs variable-name substitutions.  First it does syntax
+         * checking on the variable-name definition.  If it's syntactically valid, it
+         * then goes through the remainder of the description and does a simple
+         * find-and-replace of the variable name with its text.  (The variable text
+         * must be enclosed in either [] or () for this to work.)
+         * @internal
+         */
+        protected String processSubstitution(String substitutionRule, String description,
+                        int startPos) {
+            // isolate out the text on either side of the equals sign
+            String replace;
+            String replaceWith;
+            int equalPos = substitutionRule.indexOf('=');
+            if (substitutionRule.charAt(0) != '$') {
+                error("Missing '$' on left-hand side of =", startPos, description);
+            }
+            replace = substitutionRule.substring(1, equalPos);
+            replaceWith = substitutionRule.substring(equalPos + 1);
+
+            // check to see whether the substitution name is something we've declared
+            // to be "special".  For RuleBasedBreakIterator itself, this is IGNORE_VAR.
+            // This function takes care of any extra processing that has to be done
+            // with "special" substitution names.
+            handleSpecialSubstitution(replace, replaceWith, startPos, description);
+
+            // perform various other syntax checks on the rule
+            if (replaceWith.length() == 0) {
+                error("Nothing on right-hand side of =", startPos, description);
+            }
+            if (replace.length() == 0) {
+                error("Nothing on left-hand side of =", startPos, description);
+            }
+            if (!(replaceWith.charAt(0) == '[' && replaceWith.charAt(replaceWith.length() - 1)
+                    == ']') && !(replaceWith.charAt(0) == '(' && replaceWith.charAt(
+                    replaceWith.length() - 1) == ')')) {
+                error("Illegal right-hand side for =", startPos, description);
+            }
+
+            // now go through the rest of the description (which hasn't been broken up
+            // into separate rules yet) and replace every occurrence of the
+            // substitution name with the substitution body
+            replace = "$" + replace;
+            StringBuffer result = new StringBuffer();
+            result.append(description.substring(0, startPos));
+            int lastPos = startPos;
+            int pos = description.indexOf(replace, startPos);
+            while (pos != -1) {
+                // [liu] Check that the string we've found isn't a redefinition
+                // of the variable.
+                if (description.charAt(pos-1) == ';' &&
+                    description.charAt(pos + replace.length()) == '=') {
+                    error("Attempt to redefine " + replace, pos, description);
+                }
+                result.append(description.substring(lastPos, pos));
+                result.append(replaceWith);
+                lastPos = pos + replace.length();
+                pos = description.indexOf(replace, lastPos);
+            }
+            result.append(description.substring(lastPos));
+            return result.toString();
+        }
+
+        /**
+         * This function defines a protocol for handling substitution names that
+         * are "special," i.e., that have some property beyond just being
+         * substitutions.  At the RuleBasedBreakIterator_Old level, we have one
+         * special substitution name, IGNORE_VAR.  Subclasses can override this
+         * function to add more.  Any special processing that has to go on beyond
+         * that which is done by the normal substitution-processing code is done
+         * here.
+         * @internal
+         */
+        protected void handleSpecialSubstitution(String replace, String replaceWith,
+                    int startPos, String description) {
+            // if we get a definition for a substitution called IGNORE_VAR, it defines
+            // the ignore characters for the iterator.  Check to make sure the expression
+            // is a [] expression, and if it is, parse it and store the characters off
+            // to the side.
+            if (replace.equals(IGNORE_VAR)) {
+                if (replaceWith.charAt(0) == '(') {
+                    error("Ignore group can't be enclosed in (", startPos, description);
+                }
+                ignoreChars = new UnicodeSet(replaceWith, false);
+            }
+        }
+
+        /**
+         * This function builds the character category table.  On entry,
+         * tempRuleList is a vector of break rules that has had variable names substituted.
+         * On exit, the charCategoryTable data member has been initialized to hold the
+         * character category table, and tempRuleList's rules have been munged to contain
+         * character category numbers everywhere a literal character or a [] expression
+         * originally occurred.
+         * @internal
+         */
+        protected void buildCharCategories(Vector tempRuleList) {
+            int bracketLevel = 0;
+            int p = 0;
+            int lineNum = 0;
+
+            // build hash table of every literal character or [] expression in the rule list
+            // and derive a UnicodeSet object representing the characters each refers to
+            expressions = new Hashtable();
+            while (lineNum < tempRuleList.size()) {
+                String line = (String)(tempRuleList.elementAt(lineNum));
+                p = 0;
+                while (p < line.length()) {
+                    char c = line.charAt(p);
+                    switch (c) {
+                        // skip over all syntax characters except [
+                        case '(': case ')': case '*': case '.': case '/':
+                        case '|': case ';': case '?': case '!': case '+':
+                            break;
+
+                        // for [, find the matching ] (taking nested [] pairs into account)
+                        // and add the whole expression to the expression list
+                        case '[':
+                            int q = p + 1;
+                            ++bracketLevel;
+                            while (q < line.length() && bracketLevel != 0) {
+                                c = line.charAt(q);
+                                if (c == '[') {
+                                    ++bracketLevel;
+                                }
+                                else if (c == ']') {
+                                    --bracketLevel;
+                                }
+                                ++q;
+                            }
+                            if (expressions.get(line.substring(p, q)) == null) {
+                                expressions.put(line.substring(p, q), new UnicodeSet(line.
+                                                substring(p, q), false));
+//Test.debugPrintln("1. Adding expression: " + line.substring(p, q));
+                            }
+                            p = q - 1;
+                            break;
+
+                        // for \ sequences, just move to the next character and treat
+                        // it as a single character
+                        case '\\':
+                            ++p;
+                            c = line.charAt(p);
+                            // DON'T break; fall through into "default" clause
+
+                        // for an isolated single character, add it to the expression list
+                        default:
+                            UnicodeSet s = new UnicodeSet();
+                            s.add(line.charAt(p));
+                            expressions.put(line.substring(p, p + 1), s);
+//Test.debugPrintln("2. Adding expression: " + line.substring(p, p + 1));
+                            break;
+                    }
+                    ++p;
+                }
+                ++lineNum;
+            }
+
+            // create the temporary category table (which is a vector of UnicodeSet objects)
+            categories = new Vector();
+            if (ignoreChars != null) {
+                categories.addElement(ignoreChars);
+            }
+            else {
+                categories.addElement(new UnicodeSet());
+            }
+            ignoreChars = null;
+
+            // this is a hook to allow subclasses to add categories on their own
+            mungeExpressionList(expressions);
+
+            // Derive the character categories.  Go through the existing character categories
+            // looking for overlap.  Any time there's overlap, we create a new character
+            // category for the characters that overlapped and remove them from their original
+            // category.  At the end, any characters that are left in the expression haven't
+            // been mentioned in any category, so another new category is created for them.
+            // For example, if the first expression is [abc], then a, b, and c will be placed
+            // into a single character category.  If the next expression is [bcd], we will first
+            // remove b and c from their existing category (leaving a behind), create a new
+            // category for b and c, and then create another new category for d (which hadn't
+            // been mentioned in the previous expression).
+            // At no time should a character ever occur in more than one character category.
+
+            // for each expression in the expressions list, do...
+            Enumeration iter = expressions.elements();
+            while (iter.hasMoreElements()) {
+                // initialize the working char set to the chars in the current expression
+                UnicodeSet work = new UnicodeSet((UnicodeSet)iter.nextElement());
+
+                // for each category in the category list, do...
+                for (int j = categories.size() - 1; !work.isEmpty() && j > 0; j--) {
+
+                    // if there's overlap between the current working set of chars
+                    // and the current category...
+                    UnicodeSet cat = (UnicodeSet)(categories.elementAt(j));
+                    UnicodeSet overlap = intersection(work, cat);
+
+                    if (!overlap.isEmpty()) {
+                        // if the current category is not a subset of the current
+                        // working set of characters, then remove the overlapping
+                        // characters from the current category and create a new
+                        // category for them
+                        if (!overlap.equals(cat)) {
+                            cat.removeAll(overlap);
+                            categories.addElement(overlap);
+                        }
+
+                        // and always remove the overlapping characters from the current
+                        // working set of characters
+                        work.removeAll(overlap);
+                    }
+                }
+
+                // if there are still characters left in the working char set,
+                // add a new category containing them
+                if (!work.isEmpty()) {
+                    categories.addElement(work);
+                }
+            }
+
+            // we have the ignore characters stored in position 0.  Make an extra pass through
+            // the character category list and remove anything from the ignore list that shows
+            // up in some other category
+            UnicodeSet allChars = new UnicodeSet();
+            for (int i = 1; i < categories.size(); i++)
+                allChars.addAll((UnicodeSet)(categories.elementAt(i)));
+            UnicodeSet ignoreChars = (UnicodeSet)(categories.elementAt(0));
+            ignoreChars.removeAll(allChars);
+
+            // now that we've derived the character categories, go back through the expression
+            // list and replace each UnicodeSet object with a String that represents the
+            // character categories that expression refers to.  The String is encoded: each
+            // character is a character category number (plus 0x100 to avoid confusing them
+            // with syntax characters in the rule grammar)
+            iter = expressions.keys();
+            while (iter.hasMoreElements()) {
+                String key = (String)iter.nextElement();
+                UnicodeSet cs = (UnicodeSet)expressions.get(key);
+                StringBuffer cats = new StringBuffer();
+
+                // for each category...
+                for (int j = 1; j < categories.size(); j++) {
+                    UnicodeSet cat = new UnicodeSet((UnicodeSet) categories.elementAt(j));
+
+                    // if the current expression contains characters in that category...
+                    if (cs.containsAll(cat)) {
+
+                        // then add the encoded category number to the String for this
+                        // expression
+                        cats.append((char)(0x100 + j));
+                        if (cs.equals(cat)) {
+                            break;
+                        }
+                    }
+                }
+
+                // once we've finished building the encoded String for this expression,
+                // replace the UnicodeSet object with it
+                expressions.put(key, cats.toString());
+            }
+
+            // and finally, we turn the temporary category table into a permanent category
+            // table, which is a CompactByteArray. (we skip category 0, which by definition
+            // refers to all characters not mentioned specifically in the rules)
+            charCategoryTable = new CompactByteArray((byte)0);
+
+            // for each category...
+            for (int i = 0; i < categories.size(); i++) {
+                UnicodeSet chars = (UnicodeSet)(categories.elementAt(i));
+                int n = chars.getRangeCount();
+
+                // go through the character ranges in the category one by one...
+                for (int j = 0; j < n; ++j) {
+                    int rangeStart = chars.getRangeStart(j);
+
+                    // (ignore anything above the BMP for now...)
+                    if (rangeStart >= 0x10000) {
+                        break;
+                    }
+
+                    // and set the corresponding elements in the CompactArray accordingly
+                    if (i != 0) {
+                        charCategoryTable.setElementAt((char)rangeStart,
+                            (char)chars.getRangeEnd(j), (byte)i);
+                    }
+
+                    // (category 0 is special-- it's the hiding place for the ignore
+                    // characters, whose real category number in the CompactArray is
+                    // -1 [this is because category 0 contains all characters not
+                    // specifically mentioned anywhere in the rules] )
+                    else {
+                        charCategoryTable.setElementAt((char)rangeStart,
+                            (char)chars.getRangeEnd(j), IGNORE);
+                    }
+                }
+            }
+
+            // once we've populated the CompactArray, compact it
+            charCategoryTable.compact();
+
+            // initialize numCategories
+            numCategories = categories.size();
+        }
+
+        /**   @internal */
+        protected void mungeExpressionList(Hashtable expressions) {
+            // empty in the parent class.  This function provides a hook for subclasses
+            // to mess with the character category table.
+        }
+
+        /**
+         * This is the function that builds the forward state table.  Most of the real
+         * work is done in parseRule(), which is called once for each rule in the
+         * description.
+         */
+        private void buildStateTable(Vector tempRuleList) {
+            // initialize our temporary state table, and fill it with two states:
+            // state 0 is a dummy state that allows state 1 to be the starting state
+            // and 0 to represent "stop".  State 1 is added here to seed things
+            // before we start parsing
+            tempStateTable = new Vector();
+            tempStateTable.addElement(new short[numCategories + 1]);
+            tempStateTable.addElement(new short[numCategories + 1]);
+
+            // call parseRule() for every rule in the rule list (except those which
+            // start with !, which are actually backwards-iteration rules)
+            // variable not used int n = tempRuleList.size();
+            for (int i = 0; i < tempRuleList.size(); i++) {
+                String rule = (String)tempRuleList.elementAt(i);
+                if (rule.charAt(0) != '!') {
+                    parseRule(rule, true);
+                }
+            }
+
+            // finally, use finishBuildingStateTable() to minimize the number of
+            // states in the table and perform some other cleanup work
+            finishBuildingStateTable(true);
+/*
+System.out.print("C:\t");
+for (int i = 0; i < numCategories; i++)
+System.out.print(Integer.toString(i) + "\t");
+System.out.println(); System.out.print("=================================================");
+for (int i = 0; i < stateTable.length; i++) {
+if (i % numCategories == 0) {
+System.out.println();
+if (endStates[i / numCategories])
+System.out.print("*");
+else
+System.out.print(" ");
+if (lookaheadStates[i / numCategories]) {
+System.out.print("%");
+}
+else
+System.out.print(" ");
+System.out.print(Integer.toString(i / numCategories) + ":\t");
+}
+if (stateTable[i] == 0) System.out.print(".\t"); else System.out.print(Integer.toString(stateTable[i]) + "\t");
+}
+System.out.println();
+*/
+    }
+
+        /**
+         * This is where most of the work really happens.  This routine parses a single
+         * rule in the rule description, adding and modifying states in the state
+         * table according to the new expression.  The state table is kept deterministic
+         * throughout the whole operation, although some ugly postprocessing is needed
+         * to handle the *? token.
+         */
+        private void parseRule(String rule, boolean forward) {
+            // algorithm notes:
+            //   - The basic idea here is to read successive character-category groups
+            //   from the input string.  For each group, you create a state and point
+            //   the appropriate entries in the previous state to it.  This produces a
+            //   straight line from the start state to the end state.  The ?, +, *, and (|)
+            //   idioms produce branches in this straight line.  These branches (states
+            //   that can transition to more than one other state) are called "decision
+            //   points."  A list of decision points is kept.  This contains a list of
+            //   all states that can transition to the next state to be created.  For a
+            //   straight line progression, the only thing in the decision-point list is
+            //   the current state.  But if there's a branch, the decision-point list
+            //   will contain all of the beginning points of the branch when the next
+            //   state to be created represents the end point of the branch.  A stack is
+            //   used to save decision point lists in the presence of nested parentheses
+            //   and the like.  For example, when a { is encountered, the current decision
+            //   point list is saved on the stack and restored when the corresponding }
+            //   is encountered.  This way, after the } is read, the decision point list
+            //   will contain both the state right before the } _and_ the state before
+            //   the whole {} expression.  Both of these states can transition to the next
+            //   state after the {} expression.
+            //   - one complication arises when we have to stamp a transition value into
+            //   an array cell that already contains one.  The updateStateTable() and
+            //   mergeStates() functions handle this case.  Their basic approach is to
+            //   create a new state that combines the two states that conflict and point
+            //   at it when necessary.  This happens recursively, so if the merged states
+            //   also conflict, they're resolved in the same way, and so on.  There are
+            //   a number of tests aimed at preventing infinite recursion.
+            //   - another complication arises with repeating characters.  It's somewhat
+            //   ambiguous whether the user wants a greedy or non-greedy match in these cases.
+            //   (e.g., whether "[a-z]*abc" means the SHORTEST sequence of letters ending in
+            //   "abc" or the LONGEST sequence of letters ending in "abc".  We've adopted
+            //   the *? to mean "shortest" and * by itself to mean "longest".  (You get the
+            //   same result with both if there's no overlap between the repeating character
+            //   group and the group immediately following it.)  Handling the *? token is
+            //   rather complicated and involves keeping track of whether a state needs to
+            //   be merged (as described above) or merely overwritten when you update one of
+            //   its cells, and copying the contents of a state that loops with a *? token
+            //   into some of the states that follow it after the rest of the table-building
+            //   process is complete ("backfilling").
+            // implementation notes:
+            //   - This function assumes syntax checking has been performed on the input string
+            //   prior to its being passed in here.  It assumes that parentheses are
+            //   balanced, all literal characters are enclosed in [] and turned into category
+            //   numbers, that there are no illegal characters or character sequences, and so
+            //   on.  Violation of these invariants will lead to undefined behavior.
+            //   - It'd probably be better to use linked lists rather than Vector and Stack
+            //   to maintain the decision point list and stack.  I went for simplicity in
+            //   this initial implementation.  If performance is critical enough, we can go
+            //   back and fix this later.
+            //   -There are a number of important limitations on the *? token.  It does not work
+            //   right when followed by a repeating character sequence (e.g., ".*?(abc)*")
+            //   (although it does work right when followed by a single repeating character).
+            //   It will not always work right when nested in parentheses or braces (although
+            //   sometimes it will).  It also will not work right if the group of repeating
+            //   characters and the group of characters that follows overlap partially
+            //   (e.g., "[a-g]*?[e-j]").  None of these capabilites was deemed necessary for
+            //   describing breaking rules we know about, so we left them out for
+            //   expeditiousness.
+            //   - Rules such as "[a-z]*?abc;" will be treated the same as "[a-z]*?aa*bc;"--
+            //   that is, if the string ends in "aaaabc", the break will go before the first
+            //   "a" rather than the last one.  Both of these are limitations in the design
+            //   of RuleBasedBreakIterator and not limitations of the rule parser.
+
+            int p = 0;
+            int currentState = 1;   // don't use state number 0; 0 means "stop"
+            int lastState = currentState;
+            String pendingChars = "";
+
+            decisionPointStack = new Stack();
+            decisionPointList = new Vector();
+            loopingStates = new Vector();
+            statesToBackfill = new Vector();
+
+            short[] state;
+            boolean sawEarlyBreak = false;
+
+            // if we're adding rules to the backward state table, mark the initial state
+            // as a looping state
+            if (!forward) {
+                loopingStates.addElement(new Integer(1));
+            }
+
+            // put the current state on the decision point list before we start
+            decisionPointList.addElement(new Integer(currentState)); // we want currentState to
+                                                                     // be 1 here...
+            currentState = tempStateTable.size() - 1;   // but after that, we want it to be
+                                                        // 1 less than the state number of the next state
+            while (p < rule.length()) {
+                char c = rule.charAt(p);
+                clearLoopingStates = false;
+
+                // this section handles literal characters, escaped characters (which are
+                // effectively literal characters too), the . token, and [] expressions
+                if (c == '['
+                    || c == '\\'
+                    || Character.isLetter(c)
+                    || Character.isDigit(c)
+                    || c < ' '
+                    || c == '.'
+                    || c >= '\u007f') {
+
+                    // if we're not on a period, isolate the expression and look up
+                    // the corresponding category list
+                    if (c != '.') {
+                        int q = p;
+
+                        // if we're on a backslash, the expression is the character
+                        // after the backslash
+                        if (c == '\\') {
+                            q = p + 2;
+                            ++p;
+                        }
+
+                        // if we're on an opening bracket, scan to the closing bracket
+                        // to isolate the expression
+                        else if (c == '[') {
+                            int bracketLevel = 1;
+                            while (bracketLevel > 0) {
+                                ++q;
+                                c = rule.charAt(q);
+                                if (c == '[') {
+                                    ++bracketLevel;
+                                }
+                                else if (c == ']') {
+                                    --bracketLevel;
+                                }
+                                else if (c == '\\') {
+                                    ++q;
+                                }
+                            }
+                            ++q;
+                        }
+
+                        // otherwise, the expression is just the character itself
+                        else {
+                            q = p + 1;
+                        }
+
+                        // look up the category list for the expression and store it
+                        // in pendingChars
+                        pendingChars = (String)expressions.get(rule.substring(p, q));
+
+                        // advance the current position past the expression
+                        p = q - 1;
+                    }
+
+                    // if the character we're on is a period, we end up down here
+                    else {
+                        int rowNum = ((Integer)decisionPointList.lastElement()).intValue();
+                        state = (short[])tempStateTable.elementAt(rowNum);
+
+                        // if the period is followed by an asterisk, then just set the current
+                        // state to loop back on itself
+                        if (p + 1 < rule.length() && rule.charAt(p + 1) == '*' && state[0] != 0) {
+                            decisionPointList.addElement(new Integer(state[0]));
+                            pendingChars = "";
+                            ++p;
+                            if (p + 1 < rule.length() && rule.charAt(p + 1) == '?') {
+//System.out.println("Saw *?");
+                                setLoopingStates(decisionPointList, decisionPointList);
+                                ++p;
+                            }
+//System.out.println("Saw .*");
+                        }
+
+                        // otherwise, fabricate a category list ("pendingChars") with
+                        // every category in it
+                        else {
+                            StringBuffer temp = new StringBuffer();
+                            for (int i = 0; i < numCategories; i++)
+                                temp.append((char)(i + 0x100));
+                            pendingChars = temp.toString();
+                        }
+                    }
+
+                    // we'll end up in here for all expressions except for .*, which is
+                    // special-cased above
+                    if (pendingChars.length() != 0) {
+
+                        // if the expression is followed by an asterisk or a question mark,
+                        //  then push a copy of the current decision point list onto the stack
+                        if (p + 1 < rule.length() && (
+                            rule.charAt(p + 1) == '*' ||
+                            rule.charAt(p + 1) == '?'
+                        )) {
+                            decisionPointStack.push(decisionPointList.clone());
+                        }
+
+                        // create a new state, add it to the list of states to backfill
+                        // if we have looping states to worry about, set its "don't make
+                        // me an accepting state" flag if we've seen a slash, and add
+                        // it to the end of the state table
+                        int newState = tempStateTable.size();
+                        if (loopingStates.size() != 0) {
+                            statesToBackfill.addElement(new Integer(newState));
+                        }
+                        state = new short[numCategories + 1];
+                        if (sawEarlyBreak) {
+                            state[numCategories] = DONT_LOOP_FLAG;
+                        }
+                        tempStateTable.addElement(state);
+
+                        // update everybody in the decision point list to point to
+                        // the new state (this also performs all the reconciliation
+                        // needed to make the table deterministic), then clear the
+                        // decision point list
+                        updateStateTable(decisionPointList, pendingChars, (short)newState);
+                        decisionPointList.removeAllElements();
+
+                        // add all states created since the last literal character we've
+                        // seen to the decision point list
+                        lastState = currentState;
+                        do {
+                            ++currentState;
+                            decisionPointList.addElement(new Integer(currentState));
+                        } while (currentState + 1 < tempStateTable.size());
+                    }
+                }
+
+                // a * or a + denotes a repeating character or group, and a ? denotes an
+                // optional character group. (*, + and ? after () are handled separately below.)
+                if (c == '+' || c == '*' || c == '?') {
+                    // when there's a * or a +, update the current state to loop back on itself
+                    // on the character categories that caused us to enter this state
+                    if (c == '*' || c == '+') {
+                        // Note: we process one state at a time because updateStateTable
+                        // may add new states, and we want to process them as well.
+                        for (int i = lastState + 1; i < tempStateTable.size(); i++) {
+                            Vector temp = new Vector();
+                            temp.addElement(new Integer(i));
+                            updateStateTable(temp, pendingChars, (short)(lastState + 1));
+                        }
+
+                        // If we just added any new states, add them to the decison point list
+                        // Note: it might be a good idea to avoid adding new states to the
+                        // decision point list in more than one place...
+                        while (currentState + 1 < tempStateTable.size()) {
+                            decisionPointList.addElement(new Integer(++currentState));
+                        }
+                    }
+
+                    // for * and ? pop the top element off the decision point stack and merge
+                    // it with the current decision point list (this causes the divergent
+                    // paths through the state table to come together again on the next
+                    // new state)
+                    if (c == '*' || c == '?') {
+                        Vector temp = (Vector)decisionPointStack.pop();
+                        for (int i = 0; i < decisionPointList.size(); i++)
+                            temp.addElement(decisionPointList.elementAt(i));
+                        decisionPointList = temp;
+
+                        // a ? after a * modifies the behavior of * in cases where there is overlap
+                        // between the set of characters that repeat and the characters which follow.
+                        // Without the ?, all states following the repeating state, up to a state which
+                        // is reached by a character that doesn't overlap, will loop back into the
+                        // repeating state.  With the ?, the mark states following the *? DON'T loop
+                        // back into the repeating state.  Thus, "[a-z]*xyz" will match the longest
+                        // sequence of letters that ends in "xyz," while "[a-z]*? will match the
+                        // _shortest_ sequence of letters that ends in "xyz".
+                        // We use extra bookkeeping to achieve this effect, since everything else works
+                        // according to the "longest possible match" principle.  The basic principle
+                        // is that transitions out of a looping state are written in over the looping
+                        // value instead of being reconciled, and that we copy the contents of the
+                        // looping state into empty cells of all non-terminal states that follow the
+                        // looping state.
+//System.out.println("c = " + c + ", p = " + p + ", rule.length() = " + rule.length());
+                        if (c == '*' && p + 1 < rule.length() && rule.charAt(p + 1) == '?') {
+//System.out.println("Saw *?");
+                            setLoopingStates(decisionPointList, decisionPointList);
+                            ++p;
+                        }
+                    }
+                }
+
+                // a ( marks the beginning of a sequence of characters.  Parentheses can either
+                // contain several alternative character sequences (i.e., "(ab|cd|ef)"), or
+                // they can contain a sequence of characters that can repeat (i.e., "(abc)*").  Thus,
+                // A () group can have multiple entry and exit points.  To keep track of this,
+                // we reserve TWO spots on the decision-point stack.  The top of the stack is
+                // the list of exit points, which becomes the current decision point list when
+                // the ) is reached.  The next entry down is the decision point list at the
+                // beginning of the (), which becomes the current decision point list at every
+                // entry point.
+                // In addition to keeping track of the exit points and the active decision
+                // points before the ( (i.e., the places from which the () can be entered),
+                // we need to keep track of the entry points in case the expression loops
+                // (i.e., is followed by *).  We do that by creating a dummy state in the
+                // state table and adding it to the decision point list (BEFORE it's duplicated
+                // on the stack).  Nobody points to this state, so it'll get optimized out
+                // at the end.  It exists only to hold the entry points in case the ()
+                // expression loops.
+                if (c == '(') {
+
+                    // add a new state to the state table to hold the entry points into
+                    // the () expression
+                    tempStateTable.addElement(new short[numCategories + 1]);
+
+                    // we have to adjust lastState and currentState to account for the
+                    // new dummy state
+                    lastState = currentState;
+                    ++currentState;
+
+                    // add the current state to the decision point list (add it at the
+                    // BEGINNING so we can find it later)
+                    decisionPointList.insertElementAt(new Integer(currentState), 0);
+
+                    // finally, push a copy of the current decision point list onto the
+                    // stack (this keeps track of the active decision point list before
+                    // the () expression), followed by an empty decision point list
+                    // (this will hold the exit points)
+                    decisionPointStack.push(decisionPointList.clone());
+                    decisionPointStack.push(new Vector());
+                }
+
+                // a | separates alternative character sequences in a () expression.  When
+                // a | is encountered, we add the current decision point list to the exit-point
+                // list, and restore the decision point list to its state prior to the (.
+                if (c == '|') {
+
+                    // pick out the top two decision point lists on the stack
+                    Vector oneDown = (Vector)decisionPointStack.pop();
+                    Vector twoDown = (Vector)decisionPointStack.peek();
+                    decisionPointStack.push(oneDown);
+
+                    // append the current decision point list to the list below it
+                    // on the stack (the list of exit points), and restore the
+                    // current decision point list to its state before the () expression
+                    for (int i = 0; i < decisionPointList.size(); i++)
+                        oneDown.addElement(decisionPointList.elementAt(i));
+                    decisionPointList = (Vector)twoDown.clone();
+                }
+
+                // a ) marks the end of a sequence of characters.  We do one of two things
+                // depending on whether the sequence repeats (i.e., whether the ) is followed
+                // by *):  If the sequence doesn't repeat, then the exit-point list is merged
+                // with the current decision point list and the decision point list from before
+                // the () is thrown away.  If the sequence does repeat, then we fish out the
+                // state we were in before the ( and copy all of its forward transitions
+                // (i.e., every transition added by the () expression) into every state in the
+                // exit-point list and the current decision point list.  The current decision
+                // point list is then merged with both the exit-point list AND the saved version
+                // of the decision point list from before the ().  Then we throw out the *.
+                if (c == ')') {
+
+                    // pull the exit point list off the stack, merge it with the current
+                    // decision point list, and make the merged version the current
+                    // decision point list
+                    Vector exitPoints = (Vector)decisionPointStack.pop();
+                    for (int i = 0; i < decisionPointList.size(); i++)
+                        exitPoints.addElement(decisionPointList.elementAt(i));
+                    decisionPointList = exitPoints;
+
+                    // if the ) isn't followed by a *, + or ?, then all we have to do is throw
+                    // away the other list on the decision point stack, and we're done
+                    if (p + 1 >= rule.length() || (
+                            rule.charAt(p + 1) != '*' &&
+                            rule.charAt(p + 1) != '+' &&
+                            rule.charAt(p + 1) != '?')
+                    ) {
+                        decisionPointStack.pop();
+                    }
+
+                    // but if the sequence is conditional or it repeats,
+                    // we have a lot more work to do...
+                    else {
+
+                        // now exitPoints and decisionPointList have to point to equivalent
+                        // vectors, but not the SAME vector
+                        exitPoints = (Vector)decisionPointList.clone();
+
+                        // pop the original decision point list off the stack
+                        Vector temp = (Vector)decisionPointStack.pop();
+
+                        // we squirreled away the row number of our entry point list
+                        // at the beginning of the original decision point list.  Fish
+                        // that state number out and retrieve the entry point list
+                        int tempStateNum = ((Integer)temp.firstElement()).intValue();
+                        short[] tempState = (short[])tempStateTable.elementAt(tempStateNum);
+
+                        // merge the original decision point list with the current
+                        // decision point list
+                        if (rule.charAt(p + 1) == '?' || rule.charAt(p + 1) == '*') {
+                            for (int i = 0; i < decisionPointList.size(); i++)
+                                temp.addElement(decisionPointList.elementAt(i));
+                            decisionPointList = temp;
+                        }
+
+                        // finally, for * and + copy every forward reference from the entry point
+                        // list into every state in the new decision point list
+                        if (rule.charAt(p + 1) == '+' || rule.charAt(p + 1) == '*') {
+                            for (int i = 0; i < tempState.length; i++) {
+                                if (tempState[i] > tempStateNum) {
+                                    updateStateTable(exitPoints,
+                                                     new Character((char)(i + 0x100)).toString(),
+                                                     tempState[i]);
+                                }
+                            }
+                        }
+
+                        // update lastState and currentState, and throw away the *, +, or ?
+                        lastState = currentState;
+                        currentState = tempStateTable.size() - 1;
+                        ++p;
+                    }
+                }
+
+                // a / marks the position where the break is to go if the character sequence
+                // matches this rule.  We update the flag word of every state on the decision
+                // point list to mark them as ending states, and take note of the fact that
+                // we've seen the slash
+                if (c == '/') {
+                    sawEarlyBreak = true;
+                    for (int i = 0; i < decisionPointList.size(); i++) {
+                        state = (short[])tempStateTable.elementAt(((Integer)decisionPointList.
+                                        elementAt(i)).intValue());
+                        state[numCategories] |= LOOKAHEAD_STATE_FLAG;
+                    }
+                }
+
+                // if we get here without executing any of the above clauses, we have a
+                // syntax error.  However, for now we just ignore the offending character
+                // and move on
+/*
+debugPrintln("====Parsed \"" + rule.substring(0, p + 1) + "\"...");
+System.out.println("      currentState = " + currentState);
+debugPrintVectorOfVectors("      decisionPointStack:", "        ", decisionPointStack);
+debugPrintVector("        ", decisionPointList);
+debugPrintVector("      loopingStates = ", loopingStates);
+debugPrintVector("      statesToBackfill = ", statesToBackfill);
+System.out.println("      sawEarlyBreak = " + sawEarlyBreak);
+debugPrintTempStateTable();
+*/
+
+                // clearLoopingStates is a signal back from updateStateTable() that we've
+                // transitioned to a state that won't loop back to the current looping
+                // state.  (In other words, we've gotten to a point where we can no longer
+                // go back into a *? we saw earlier.)  Clear out the list of looping states
+                // and backfill any states that need to be backfilled.
+                if (clearLoopingStates) {
+                    setLoopingStates(null, decisionPointList);
+                }
+
+                // advance to the next character, now that we've processed the current
+                // character
+                ++p;
+            }
+
+            // this takes care of backfilling any states that still need to be backfilled
+            setLoopingStates(null, decisionPointList);
+
+            // when we reach the end of the string, we do a postprocessing step to mark the
+            // end states.  The decision point list contains every state that can transition
+            // to the end state-- that is, every state that is the last state in a sequence
+            // that matches the rule.  All of these states are considered "mark states"
+            // or "accepting states"-- that is, states that cause the position returned from
+            // next() to be updated.  A mark state represents a possible break position.
+            // This allows us to look ahead and remember how far the rule matched
+            // before following the new branch (see next() for more information).
+            // The temporary state table has an extra "flag column" at the end where this
+            // information is stored.  We mark the end states by setting a flag in their
+            // flag column.
+            // Now if we saw the / in the rule, then everything after it is lookahead
+            // material and the break really goes where the slash is.  In this case,
+            // we mark these states as BOTH accepting states and lookahead states.  This
+            // signals that these states cause the break position to be updated to the
+            // position of the slash rather than the current break position.
+            for (int i = 0; i < decisionPointList.size(); i++) {
+                int rowNum = ((Integer)decisionPointList.elementAt(i)).intValue();
+                state = (short[])tempStateTable.elementAt(rowNum);
+                state[numCategories] |= END_STATE_FLAG;
+                if (sawEarlyBreak) {
+                    state[numCategories] |= LOOKAHEAD_STATE_FLAG;
+                }
+            }
+/*
+debugPrintln("====Parsed \"" + rule + ";");
+System.out.println();
+System.out.println("      currentState = " + currentState);
+debugPrintVectorOfVectors("      decisionPointStack:", "        ", decisionPointStack);
+debugPrintVector("        ", decisionPointList);
+debugPrintVector("      loopingStates = ", loopingStates);
+debugPrintVector("      statesToBackfill = ", statesToBackfill);
+System.out.println("      sawEarlyBreak = " + sawEarlyBreak);
+debugPrintTempStateTable();
+*/
+        }
+
+
+        /**
+         * Update entries in the state table, and merge states when necessary to keep
+         * the table deterministic.
+         * @param rows The list of rows that need updating (the decision point list)
+         * @param pendingChars A character category list, encoded in a String.  This is the
+         * list of the columns that need updating.
+         * @param newValue Update the cells specfied above to contain this value
+         */
+        private void updateStateTable(Vector rows,
+                                      String pendingChars,
+                                      short newValue) {
+            // create a dummy state that has the specified row number (newValue) in
+            // the cells that need to be updated (those specified by pendingChars)
+            // and 0 in the other cells
+            short[] newValues = new short[numCategories + 1];
+            for (int i = 0; i < pendingChars.length(); i++)
+                newValues[(int)(pendingChars.charAt(i)) - 0x100] = newValue;
+
+            // go through the list of rows to update, and update them by calling
+            // mergeStates() to merge them the the dummy state we created
+            for (int i = 0; i < rows.size(); i++) {
+                mergeStates(((Integer)rows.elementAt(i)).intValue(), newValues, rows);
+            }
+        }
+
+        /**
+         * The real work of making the state table deterministic happens here.  This function
+         * merges a state in the state table (specified by rowNum) with a state that is
+         * passed in (newValues).  The basic process is to copy the nonzero cells in newStates
+         * into the state in the state table (we'll call that oldValues).  If there's a
+         * collision (i.e., if the same cell has a nonzero value in both states, and it's
+         * not the SAME value), then we have to reconcile the collision.  We do this by
+         * creating a new state, adding it to the end of the state table, and using this
+         * function recursively to merge the original two states into a single, combined
+         * state.  This process may happen recursively (i.e., each successive level may
+         * involve collisions).  To prevent infinite recursion, we keep a log of merge
+         * operations.  Any time we're merging two states we've merged before, we can just
+         * supply the row number for the result of that merge operation rather than creating
+         * a new state just like it.
+         * @param rowNum The row number in the state table of the state to be updated
+         * @param newValues The state to merge it with.
+         * @param rowsBeingUpdated A copy of the list of rows passed to updateStateTable()
+         * (itself a copy of the decision point list from parseRule()).  Newly-created
+         * states get added to the decision point list if their "parents" were on it.
+         */
+        private void mergeStates(int rowNum,
+                                 short[] newValues,
+                                 Vector rowsBeingUpdated) {
+            short[] oldValues = (short[])(tempStateTable.elementAt(rowNum));
+/*
+System.out.print("***Merging " + rowNum + ":");
+for (int i = 0; i < oldValues.length; i++) System.out.print("\t" + oldValues[i]);
+System.out.println();
+System.out.print("    with   \t");
+for (int i = 0; i < newValues.length; i++) System.out.print("\t" + newValues[i]);
+System.out.println();
+*/
+
+            boolean isLoopingState = loopingStates.contains(new Integer(rowNum));
+
+            // for each of the cells in the rows we're reconciling, do...
+            for (int i = 0; i < oldValues.length; i++) {
+
+                // if they contain the same value, we don't have to do anything
+                if (oldValues[i] == newValues[i]) {
+                    continue;
+                }
+
+                // if oldValues is a looping state and the state the current cell points to
+                // is too, then we can just stomp over the current value of that cell (and
+                // set the clear-looping-states flag if necessary)
+                else if (isLoopingState && loopingStates.contains(new Integer(oldValues[i]))) {
+                    if (newValues[i] != 0) {
+                        if (oldValues[i] == 0) {
+                            clearLoopingStates = true;
+                        }
+                        oldValues[i] = newValues[i];
+                    }
+                }
+
+                // if the current cell in oldValues is 0, copy in the corresponding value
+                // from newValues
+                else if (oldValues[i] == 0) {
+                    oldValues[i] = newValues[i];
+                }
+
+                // the last column of each row is the flag column.  Take care to merge the
+                // flag words correctly
+                else if (i == numCategories) {
+                    oldValues[i] = (short)((newValues[i] & ALL_FLAGS) | oldValues[i]);
+                }
+
+                // if both newValues and oldValues have a nonzero value in the current
+                // cell, and it isn't the same value both places...
+                else if (oldValues[i] != 0 && newValues[i] != 0) {
+
+                    // look up this pair of cell values in the merge list.  If it's
+                    // found, update the cell in oldValues to point to the merged state
+                    int combinedRowNum = searchMergeList(oldValues[i], newValues[i]);
+                    if (combinedRowNum != 0) {
+                        oldValues[i] = (short)combinedRowNum;
+                    }
+
+                    // otherwise, we have to reconcile them...
+                    else {
+                        // copy our row numbers into variables to make things easier
+                        int oldRowNum = oldValues[i];
+                        int newRowNum = newValues[i];
+                        combinedRowNum = tempStateTable.size();
+
+                        // add this pair of row numbers to the merge list (create it first
+                        // if we haven't created the merge list yet)
+                        if (mergeList == null) {
+                            mergeList = new Vector();
+                        }
+                        mergeList.addElement(new int[] { oldRowNum, newRowNum, combinedRowNum });
+
+//System.out.println("***At " + rowNum + ", merging " + oldRowNum + " and " + newRowNum + " into " + combinedRowNum);
+
+                        // create a new row to represent the merged state, and copy the
+                        // contents of oldRow into it, then add it to the end of the
+                        // state table and update the original row (oldValues) to point
+                        // to the new, merged, state
+                        short[] newRow = new short[numCategories + 1];
+                        short[] oldRow = (short[])(tempStateTable.elementAt(oldRowNum));
+                        System.arraycopy(oldRow, 0, newRow, 0, numCategories + 1);
+                        tempStateTable.addElement(newRow);
+                        oldValues[i] = (short)combinedRowNum;
+
+
+//System.out.println("lastOldRowNum = " + lastOldRowNum);
+//System.out.println("lastCombinedRowNum = " + lastCombinedRowNum);
+//System.out.println("decisionPointList.contains(lastOldRowNum) = " + decisionPointList.contains(new Integer(lastOldRowNum)));
+//System.out.println("decisionPointList.contains(lastCombinedRowNum) = " + decisionPointList.contains(new Integer(lastCombinedRowNum)));
+
+                        // if the decision point list contains either of the parent rows,
+                        // update it to include the new row as well
+                        if ((decisionPointList.contains(new Integer(oldRowNum))
+                                || decisionPointList.contains(new Integer(newRowNum)))
+                            && !decisionPointList.contains(new Integer(combinedRowNum))
+                        ) {
+                            decisionPointList.addElement(new Integer(combinedRowNum));
+                        }
+
+                        // do the same thing with the list of rows being updated
+                        if ((rowsBeingUpdated.contains(new Integer(oldRowNum))
+                                || rowsBeingUpdated.contains(new Integer(newRowNum)))
+                            && !rowsBeingUpdated.contains(new Integer(combinedRowNum))
+                        ) {
+                            decisionPointList.addElement(new Integer(combinedRowNum));
+                        }
+                        // now (groan) do the same thing for all the entries on the
+                        // decision point stack
+                        for (int k = 0; k < decisionPointStack.size(); k++) {
+                            Vector dpl = (Vector)decisionPointStack.elementAt(k);
+                            if ((dpl.contains(new Integer(oldRowNum))
+                                    || dpl.contains(new Integer(newRowNum)))
+                                && !dpl.contains(new Integer(combinedRowNum))
+                            ) {
+                                dpl.addElement(new Integer(combinedRowNum));
+                            }
+                        }
+
+                        // FINALLY (puff puff puff), call mergeStates() recursively to copy
+                        // the row referred to by newValues into the new row and resolve any
+                        // conflicts that come up at that level
+                        mergeStates(combinedRowNum, (short[])(tempStateTable.elementAt(
+                                        newValues[i])), rowsBeingUpdated);
+                    }
+                }
+            }
+            return;
+        }
+
+        /**
+         * The merge list is a list of pairs of rows that have been merged somewhere in
+         * the process of building this state table, along with the row number of the
+         * row containing the merged state.  This function looks up a pair of row numbers
+         * and returns the row number of the row they combine into.  (It returns 0 if
+         * this pair of rows isn't in the merge list.)
+         */
+        private int searchMergeList(int a, int b) {
+            // if there is no merge list, there obviously isn't anything in it
+            if (mergeList == null) {
+                return 0;
+            }
+
+            // otherwise, for each element in the merge list...
+            else {
+                int[] entry;
+                for (int i = 0; i < mergeList.size(); i++) {
+                    entry = (int[])(mergeList.elementAt(i));
+
+                    // we have a hit if the two row numbers match the two row numbers
+                    // in the beginning of the entry (the two that combine), in either
+                    // order
+                    if ((entry[0] == a && entry[1] == b) || (entry[0] == b && entry[1] == a)) {
+                        return entry[2];
+                    }
+
+                    // we also have a hit if one of the two row numbers matches the marged
+                    // row number and the other one matches one of the original row numbers
+                    if ((entry[2] == a && (entry[0] == b || entry[1] == b))) {
+                        return entry[2];
+                    }
+                    if ((entry[2] == b && (entry[0] == a || entry[1] == a))) {
+                        return entry[2];
+                    }
+                }
+                return 0;
+            }
+        }
+
+        /**
+         * This function is used to update the list of current loooping states (i.e.,
+         * states that are controlled by a *? construct).  It backfills values from
+         * the looping states into unpopulated cells of the states that are currently
+         * marked for backfilling, and then updates the list of looping states to be
+         * the new list
+         * @param newLoopingStates The list of new looping states
+         * @param endStates The list of states to treat as end states (states that
+         * can exit the loop).
+         */
+        private void setLoopingStates(Vector newLoopingStates, Vector endStates) {
+
+            // if the current list of looping states isn't empty, we have to backfill
+            // values from the looping states into the states that are waiting to be
+            // backfilled
+            if (!loopingStates.isEmpty()) {
+                int loopingState = ((Integer)loopingStates.lastElement()).intValue();
+                int rowNum;
+
+                // don't backfill into an end state OR any state reachable from an end state
+                // (since the search for reachable states is recursive, it's split out into
+                // a separate function, eliminateBackfillStates(), below)
+                for (int i = 0; i < endStates.size(); i++) {
+                    eliminateBackfillStates(((Integer)endStates.elementAt(i)).intValue());
+                }
+
+                // we DON'T actually backfill the states that need to be backfilled here.
+                // Instead, we MARK them for backfilling.  The reason for this is that if
+                // there are multiple rules in the state-table description, the looping
+                // states may have some of their values changed by a succeeding rule, and
+                // this wouldn't be reflected in the backfilled states.  We mark a state
+                // for backfilling by putting the row number of the state to copy from
+                // into the flag cell at the end of the row
+                for (int i = 0; i < statesToBackfill.size(); i++) {
+                    rowNum = ((Integer)statesToBackfill.elementAt(i)).intValue();
+                    short[] state = (short[])tempStateTable.elementAt(rowNum);
+                    state[numCategories] =
+                        (short)((state[numCategories] & ALL_FLAGS) | loopingState);
+                }
+                statesToBackfill.removeAllElements();
+                loopingStates.removeAllElements();
+            }
+
+            if (newLoopingStates != null) {
+                loopingStates = (Vector)newLoopingStates.clone();
+            }
+        }
+
+        /**
+         * This removes "ending states" and states reachable from them from the
+         * list of states to backfill.
+         * @param The row number of the state to remove from the backfill list
+         */
+        private void eliminateBackfillStates(int baseState) {
+
+            // don't do anything unless this state is actually in the backfill list...
+            if (statesToBackfill.contains(new Integer(baseState))) {
+
+                // if it is, take it out
+                statesToBackfill.removeElement(new Integer(baseState));
+
+                // then go through and recursively call this function for every
+                // state that the base state points to
+                short[] state = (short[])tempStateTable.elementAt(baseState);
+                for (int i = 0; i < numCategories; i++) {
+                    if (state[i] != 0) {
+                        eliminateBackfillStates(state[i]);
+                    }
+                }
+            }
+        }
+
+        /**
+         * This function completes the backfilling process by actually doing the
+         * backfilling on the states that are marked for it
+         */
+        private void backfillLoopingStates() {
+            short[] state;
+            short[] loopingState = null;
+            int loopingStateRowNum = 0;
+            int fromState;
+
+            // for each state in the state table...
+            for (int i = 0; i < tempStateTable.size(); i++) {
+                state = (short[])tempStateTable.elementAt(i);
+
+                // check the state's flag word to see if it's marked for backfilling
+                // (it's marked for backfilling if any bits other than the two high-order
+                // bits are set-- if they are, then the flag word, minus the two high bits,
+                // is the row number to copy from)
+                fromState = state[numCategories] & ~ALL_FLAGS;
+                if (fromState > 0) {
+
+                    // load up the state to copy from (if we haven't already)
+                    if (fromState != loopingStateRowNum) {
+                        loopingStateRowNum = fromState;
+                        loopingState = (short[])tempStateTable.elementAt(loopingStateRowNum);
+                    }
+
+                    // clear out the backfill part of the flag word
+                    state[numCategories] &= ALL_FLAGS;
+
+                    // then fill all zero cells in the current state with values
+                    // from the corresponding cells of the fromState
+                    for (int j = 0; j < state.length; j++) {
+                        if (state[j] == 0) {
+                            state[j] = loopingState[j];
+                        }
+                        else if (state[j] == DONT_LOOP_FLAG) {
+                            state[j] = 0;
+                        }
+                    }
+                }
+            }
+        }
+
+        /**
+         * This function completes the state-table-building process by doing several
+         * postprocessing steps and copying everything into its final resting place
+         * in the iterator itself
+         * @param forward True if we're working on the forward state table
+         */
+        private void finishBuildingStateTable(boolean forward) {
+//debugPrintTempStateTable();
+            // start by backfilling the looping states
+            backfillLoopingStates();
+//debugPrintTempStateTable();
+
+            int[] rowNumMap = new int[tempStateTable.size()];
+            Stack rowsToFollow = new Stack();
+            rowsToFollow.push(new Integer(1));
+            rowNumMap[1] = 1;
+
+            // determine which states are no longer reachable from the start state
+            // (the reachable states will have their row numbers in the row number
+            // map, and the nonreachable states will have zero in the row number map)
+            while (rowsToFollow.size() != 0) {
+                int rowNum = ((Integer)rowsToFollow.pop()).intValue();
+                short[] row = (short[])(tempStateTable.elementAt(rowNum));
+
+                for (int i = 0; i < numCategories; i++) {
+                    if (row[i] != 0) {
+                        if (rowNumMap[row[i]] == 0) {
+                            rowNumMap[row[i]] = row[i];
+                            rowsToFollow.push(new Integer(row[i]));
+                        }
+                    }
+                }
+            }
+/*
+System.out.println("The following rows are not reachable:");
+for (int i = 1; i < rowNumMap.length; i++)
+if (rowNumMap[i] == 0) System.out.print("\t" + i);
+System.out.println();
+*/
+
+            // variable not used boolean madeChange;
+            int newRowNum;
+
+            // algorithm for minimizing the number of states in the table adapted from
+            // Aho & Ullman, "Principles of Compiler Design"
+            // The basic idea here is to organize the states into classes.  When we're done,
+            // all states in the same class can be considered identical and all but one eliminated.
+
+            // initially assign states to classes based on the number of populated cells they
+            // contain (the class number is the number of populated cells)
+            int[] stateClasses = new int[tempStateTable.size()];
+            int nextClass = numCategories + 1;
+            short[] state1, state2;
+            for (int i = 1; i < stateClasses.length; i++) {
+                if (rowNumMap[i] == 0) {
+                    continue;
+                }
+                state1 = (short[])tempStateTable.elementAt(i);
+                for (int j = 0; j < numCategories; j++) {
+                    if (state1[j] != 0) {
+                        ++stateClasses[i];
+                    }
+                }
+                if (stateClasses[i] == 0) {
+                    stateClasses[i] = nextClass;
+                }
+            }
+            ++nextClass;
+
+            // then, for each class, elect the first member of that class as that class's
+            // "representative".  For each member of the class, compare it to the "representative."
+            // If there's a column position where the state being tested transitions to a
+            // state in a DIFFERENT class from the class where the "representative" transitions,
+            // then move the state into a new class.  Repeat this process until no new classes
+            // are created.
+            int currentClass;
+            int lastClass;
+            boolean split;
+
+            do {
+//System.out.println("Making a pass...");
+                currentClass = 1;
+                lastClass = nextClass;
+                while (currentClass < nextClass) {
+//System.out.print("States in class #" + currentClass +":");
+                    split = false;
+                    state1 = state2 = null;
+                    for (int i = 0; i < stateClasses.length; i++) {
+                        if (stateClasses[i] == currentClass) {
+//System.out.print("\t" + i);
+                            if (state1 == null) {
+                                state1 = (short[])tempStateTable.elementAt(i);
+                            }
+                            else {
+                                state2 = (short[])tempStateTable.elementAt(i);
+                                for (int j = 0; j < state2.length; j++)
+                                    if ((j == numCategories && state1[j] != state2[j] && forward)
+                                            || (j != numCategories && stateClasses[state1[j]]
+                                            != stateClasses[state2[j]])) {
+                                        stateClasses[i] = nextClass;
+                                        split = true;
+                                        break;
+                                    }
+                            }
+                        }
+                    }
+                    if (split) {
+                        ++nextClass;
+                    }
+                    ++currentClass;
+//System.out.println();
+                }
+            } while (lastClass != nextClass);
+
+            // at this point, all of the states in a class except the first one (the
+            //"representative") can be eliminated, so update the row-number map accordingly
+            int[] representatives = new int[nextClass];
+            for (int i = 1; i < stateClasses.length; i++)
+                if (representatives[stateClasses[i]] == 0) {
+                    representatives[stateClasses[i]] = i;
+                }
+                else {
+                    rowNumMap[i] = representatives[stateClasses[i]];
+                }
+//System.out.println("Renumbering...");
+
+            // renumber all remaining rows...
+            // first drop all that are either unreferenced or not a class representative
+            for (int i = 1; i < rowNumMap.length; i++) {
+                if (rowNumMap[i] != i) {
+                    tempStateTable.setElementAt(null, i);
+                }
+            }
+
+            // then calculate everybody's new row number and update the row
+            // number map appropriately (the first pass updates the row numbers
+            // of all the class representatives [the rows we're keeping], and the
+            // second pass updates the cross references for all the rows that
+            // are being deleted)
+            newRowNum = 1;
+            for (int i = 1; i < rowNumMap.length; i++) {
+                if (tempStateTable.elementAt(i) != null) {
+                    rowNumMap[i] = newRowNum++;
+                }
+            }
+            for (int i = 1; i < rowNumMap.length; i++) {
+                if (tempStateTable.elementAt(i) == null) {
+                    rowNumMap[i] = rowNumMap[rowNumMap[i]];
+                }
+            }
+//for (int i = 1; i < rowNumMap.length; i++) rowNumMap[i] = i; int newRowNum = rowNumMap.length;
+
+            // allocate the permanent state table, and copy the remaining rows into it
+            // (adjusting all the cell values, of course)
+
+            // this section does that for the forward state table
+            if (forward) {
+                endStates = new boolean[newRowNum];
+                lookaheadStates = new boolean[newRowNum];
+                stateTable = new short[newRowNum * numCategories];
+                int p = 0;
+                int p2 = 0;
+                for (int i = 0; i < tempStateTable.size(); i++) {
+                    short[] row = (short[])(tempStateTable.elementAt(i));
+                    if (row == null) {
+                        continue;
+                    }
+                    for (int j = 0; j < numCategories; j++) {
+                        stateTable[p] = (short)(rowNumMap[row[j]]);
+                        ++p;
+                    }
+                    endStates[p2] = ((row[numCategories] & END_STATE_FLAG) != 0);
+                    lookaheadStates[p2] = ((row[numCategories] & LOOKAHEAD_STATE_FLAG) != 0);
+                    ++p2;
+                }
+            }
+
+            // and this section does it for the backward state table
+            else {
+                backwardsStateTable = new short[newRowNum * numCategories];
+                int p = 0;
+                for (int i = 0; i < tempStateTable.size(); i++) {
+                    short[] row = (short[])(tempStateTable.elementAt(i));
+                    if (row == null) {
+                        continue;
+                    }
+                    for (int j = 0; j < numCategories; j++) {
+                        backwardsStateTable[p] = (short)(rowNumMap[row[j]]);
+                        ++p;
+                    }
+                }
+            }
+        }
+
+        /**
+         * This function builds the backward state table from the forward state
+         * table and any additional rules (identified by the ! on the front)
+         * supplied in the description
+         */
+        private void buildBackwardsStateTable(Vector tempRuleList) {
+
+            // create the temporary state table and seed it with two rows (row 0
+            // isn't used for anything, and we have to create row 1 (the initial
+            // state) before we can do anything else
+            tempStateTable = new Vector();
+            tempStateTable.addElement(new short[numCategories + 1]);
+            tempStateTable.addElement(new short[numCategories + 1]);
+
+            // although the backwards state table is built automatically from the forward
+            // state table, there are some situations (the default sentence-break rules,
+            // for example) where this doesn't yield enough stop states, causing a dramatic
+            // drop in performance.  To help with these cases, the user may supply
+            // supplemental rules that are added to the backward state table.  These have
+            // the same syntax as the normal break rules, but begin with '!' to distinguish
+            // them from normal break rules
+            for (int i = 0; i < tempRuleList.size(); i++) {
+                String rule = (String)tempRuleList.elementAt(i);
+                if (rule.charAt(0) == '!') {
+                    parseRule(rule.substring(1), false);
+                }
+            }
+            backfillLoopingStates();
+
+            // Backwards iteration is qualitatively different from forwards iteration.
+            // This is because backwards iteration has to be made to operate from no context
+            // at all-- the user should be able to ask BreakIterator for the break position
+            // immediately on either side of some arbitrary offset in the text.  The
+            // forward iteration table doesn't let us do that-- it assumes complete
+            // information on the context, which means starting from the beginning of the
+            // document.
+            // The way we do backward and random-access iteration is to back up from the
+            // current (or user-specified) position until we see something we're sure is
+            // a break position (it may not be the last break position immediately
+            // preceding our starting point, however).  Then we roll forward from there to
+            // locate the actual break position we're after.
+            // This means that the backwards state table doesn't have to identify every
+            // break position, allowing the building algorithm to be much simpler.  Here,
+            // we use a "pairs" approach, scanning the forward-iteration state table for
+            // pairs of character categories we ALWAYS break between, and building a state
+            // table from that information.  No context is required-- all this state table
+            // looks at is a pair of adjacent characters.
+
+            // It's possible that the user has supplied supplementary rules (see above).
+            // This has to be done first to keep parseRule() and friends from becoming
+            // EVEN MORE complicated.  The automatically-generated states are appended
+            // onto the end of the state table, and then the two sets of rules are
+            // stitched together at the end.  Take note of the row number of the
+            // first row of the auromatically-generated part.
+            int backTableOffset = tempStateTable.size();
+            if (backTableOffset > 2) {
+                ++backTableOffset;
+            }
+
+            // the automatically-generated part of the table models a two-dimensional
+            // array where the two dimensions represent the two characters we're currently
+            // looking at.  To model this as a state table, we actually need one additional
+            // row to represent the initial state.  It gets populated with the row numbers
+            // of the other rows (in order).
+            for (int i = 0; i < numCategories + 1; i++)
+                tempStateTable.addElement(new short[numCategories + 1]);
+
+            short[] state = (short[])tempStateTable.elementAt(backTableOffset - 1);
+            for (int i = 0; i < numCategories; i++)
+                state[i] = (short)(i + backTableOffset);
+
+            // scavenge the forward state table for pairs of character categories
+            // that always have a break between them.  The algorithm is as follows:
+            // Look down each column in the state table.  For each nonzero cell in
+            // that column, look up the row it points to.  For each nonzero cell in
+            // that row, populate a cell in the backwards state table: the row number
+            // of that cell is the number of the column we were scanning (plus the
+            // offset that locates this sub-table), and the column number of that cell
+            // is the column number of the nonzero cell we just found.  This cell is
+            // populated with its own column number (adjusted according to the actual
+            // location of the sub-table).  This process will produce a state table
+            // whose behavior is the same as looking up successive pairs of characters
+            // in an array of Booleans to determine whether there is a break.
+            int numRows = stateTable.length / numCategories;
+            for (int column = 0; column < numCategories; column++) {
+                for (int row = 0; row < numRows; row++) {
+                    int nextRow = lookupState(row, column);
+                    if (nextRow != 0) {
+                        for (int nextColumn = 0; nextColumn < numCategories; nextColumn++) {
+                            int cellValue = lookupState(nextRow, nextColumn);
+                            if (cellValue != 0) {
+                                state = (short[])tempStateTable.elementAt(nextColumn +
+                                                backTableOffset);
+                                state[column] = (short)(column + backTableOffset);
+                            }
+                        }
+                    }
+                }
+            }
+
+//debugPrintTempStateTable();
+            // if the user specified some backward-iteration rules with the ! token,
+            // we have to merge the resulting state table with the auto-generated one
+            // above.  First copy the populated cells from row 1 over the populated
+            // cells in the auto-generated table.  Then copy values from row 1 of the
+            // auto-generated table into all of the the unpopulated cells of the
+            // rule-based table.
+            if (backTableOffset > 1) {
+
+                // for every row in the auto-generated sub-table, if a cell is
+                // populated that is also populated in row 1 of the rule-based
+                // sub-table, copy the value from row 1 over the value in the
+                // auto-generated sub-table
+                state = (short[])tempStateTable.elementAt(1);
+                for (int i = backTableOffset - 1; i < tempStateTable.size(); i++) {
+                    short[] state2 = (short[])tempStateTable.elementAt(i);
+                    for (int j = 0; j < numCategories; j++) {
+                        if (state[j] != 0 && state2[j] != 0) {
+                            state2[j] = state[j];
+                        }
+                    }
+                }
+
+                // now, for every row in the rule-based sub-table that is not
+                // an end state, fill in all unpopulated cells with the values
+                // of the corresponding cells in the first row of the auto-
+                // generated sub-table.
+                state = (short[])tempStateTable.elementAt(backTableOffset - 1);
+                for (int i = 1; i < backTableOffset - 1; i++) {
+                    short[] state2 = (short[])tempStateTable.elementAt(i);
+                    if ((state2[numCategories] & END_STATE_FLAG) == 0) {
+                        for (int j = 0; j < numCategories; j++) {
+                            if (state2[j] == 0) {
+                                state2[j] = state[j];
+                            }
+                        }
+                    }
+                }
+            }
+
+//debugPrintTempStateTable();
+
+            // finally, clean everything up and copy it into the actual BreakIterator
+            // by calling finishBuildingStateTable()
+            finishBuildingStateTable(false);
+/*
+System.out.print("C:\t");
+for (int i = 0; i < numCategories; i++)
+System.out.print(Integer.toString(i) + "\t");
+System.out.println(); System.out.print("=================================================");
+for (int i = 0; i < backwardsStateTable.length; i++) {
+if (i % numCategories == 0) {
+System.out.println();
+System.out.print(Integer.toString(i / numCategories) + ":\t");
+}
+if (backwardsStateTable[i] == 0) System.out.print(".\t"); else System.out.print(Integer.toString(backwardsStateTable[i]) + "\t");
+}
+System.out.println();
+*/
+        }
+
+        /**
+         * Throws an IllegalArgumentException representing a syntax error in the rule
+         * description.  The exception's message contains some debugging information.
+         * @param message A message describing the problem
+         * @param position The position in the description where the problem was
+         * discovered
+         * @param context The string containing the error
+         * @internal
+         */
+        protected void error(String message, int position, String context) {
+            throw new IllegalArgumentException("Parse error: " + message + "\n" +
+                    Utility.escape(context.substring(0, position)) + "\n\n" +
+                    Utility.escape(context.substring(position)));
+        }
+
+    ///CLOVER:OFF
+        /**
+         * @internal
+         */
+        protected void debugPrintVector(String label, Vector v) {
+            System.out.print(label);
+            for (int i = 0; i < v.size(); i++)
+                System.out.print(v.elementAt(i).toString() + "\t");
+            System.out.println();
+        }
+
+        /**
+         * @internal
+         */
+        protected void debugPrintVectorOfVectors(String label1, String label2, Vector v) {
+            System.out.println(label1);
+            for (int i = 0; i < v.size(); i++)
+                debugPrintVector(label2, (Vector)v.elementAt(i));
+        }
+
+        /**
+         * @internal
+         */
+        protected void debugPrintTempStateTable() {
+            System.out.println("      tempStateTable:");
+            System.out.print("        C:\t");
+            for (int i = 0; i <= numCategories; i++)
+                System.out.print(Integer.toString(i) + "\t");
+            System.out.println();
+            for (int i = 1; i < tempStateTable.size(); i++) {
+                short[] row = (short[])(tempStateTable.elementAt(i));
+                System.out.print("        " + i + ":\t");
+                for (int j = 0; j < row.length; j++) {
+                    if (row[j] == 0) {
+                        System.out.print(".\t");
+                    }
+                    else {
+                        System.out.print(Integer.toString(row[j]) + "\t");
+                    }
+                }
+                System.out.println();
+            }
+        }
+
+    }
+    ///CLOVER:ON
+
+    /*
+     * This class exists to work around a bug in HotJava's implementation
+     * of CharacterIterator, which incorrectly handles setIndex(endIndex).
+     * This iterator relies only on base.setIndex(n) where n is less than
+     * endIndex.
+     *
+     * One caveat:  if the base iterator's begin and end indices change
+     * the change will not be reflected by this wrapper.  Does that matter?
+     */
+    ///CLOVER:OFF
+    // Only used for HotJava, so clover won't encounter it
+    private static final class SafeCharIterator implements CharacterIterator,
+                                                           Cloneable {
+
+        private CharacterIterator base;
+        private int rangeStart;
+        private int rangeLimit;
+        private int currentIndex;
+
+        SafeCharIterator(CharacterIterator base) {
+            this.base = base;
+            this.rangeStart = base.getBeginIndex();
+            this.rangeLimit = base.getEndIndex();
+            this.currentIndex = base.getIndex();
+        }
+
+        public char first() {
+            return setIndex(rangeStart);
+        }
+
+        public char last() {
+            return setIndex(rangeLimit - 1);
+        }
+
+        public char current() {
+            if (currentIndex < rangeStart || currentIndex >= rangeLimit) {
+                return DONE;
+            }
+            else {
+                return base.setIndex(currentIndex);
+            }
+        }
+
+        public char next() {
+
+            currentIndex++;
+            if (currentIndex >= rangeLimit) {
+                currentIndex = rangeLimit;
+                return DONE;
+            }
+            else {
+                return base.setIndex(currentIndex);
+            }
+        }
+
+        public char previous() {
+
+            currentIndex--;
+            if (currentIndex < rangeStart) {
+                currentIndex = rangeStart;
+                return DONE;
+            }
+            else {
+                return base.setIndex(currentIndex);
+            }
+        }
+
+        public char setIndex(int i) {
+
+            if (i < rangeStart || i > rangeLimit) {
+                throw new IllegalArgumentException("Invalid position");
+            }
+            currentIndex = i;
+            return current();
+        }
+
+        public int getBeginIndex() {
+            return rangeStart;
+        }
+
+        public int getEndIndex() {
+            return rangeLimit;
+        }
+
+        public int getIndex() {
+            return currentIndex;
+        }
+
+        public Object clone() {
+
+            SafeCharIterator copy = null;
+            try {
+                copy = (SafeCharIterator) super.clone();
+            }
+            catch(CloneNotSupportedException e) {
+                throw new Error("Clone not supported: " + e);
+            }
+
+            CharacterIterator copyOfBase = (CharacterIterator) base.clone();
+            copy.base = copyOfBase;
+            return copy;
+        }
+    }
+    ///CLOVER:ON
+
+    ///CLOVER:OFF
+   /**
+     * @internal
+     */
+    public static void debugPrintln(String s) {
+        final String zeros = "0000";
+        String temp;
+        StringBuffer out = new StringBuffer();
+        for (int i = 0; i < s.length(); i++) {
+            char c = s.charAt(i);
+            if (c >= ' ' && c < '\u007f') {
+                out.append(c);
+            }
+            else {
+                out.append("\\u");
+                temp = Integer.toHexString((int)c);
+                out.append(zeros.substring(0, 4 - temp.length()));
+                out.append(temp);
+            }
+        }
+        System.out.println(out);
+    }
+    ///CLOVER:ON
+}
+
diff --git a/src/com/ibm/icu/text/RuleBasedCollator.java b/src/com/ibm/icu/text/RuleBasedCollator.java
new file mode 100755
index 0000000..015d8d5
--- /dev/null
+++ b/src/com/ibm/icu/text/RuleBasedCollator.java
@@ -0,0 +1,4634 @@
+/**
+*******************************************************************************
+* Copyright (C) 1996-2005, International Business Machines Corporation and    *
+* others. All Rights Reserved.                                                *
+*******************************************************************************
+*/
+package com.ibm.icu.text;
+
+import java.io.IOException;
+import java.nio.ByteBuffer;
+import java.text.CharacterIterator;
+import java.text.ParseException;
+import java.util.Arrays;
+import java.util.MissingResourceException;
+
+import com.ibm.icu.impl.BOCU;
+import com.ibm.icu.impl.ICUDebug;
+import com.ibm.icu.impl.ICUResourceBundle;
+import com.ibm.icu.impl.ImplicitCEGenerator;
+import com.ibm.icu.impl.IntTrie;
+import com.ibm.icu.impl.StringUCharacterIterator;
+import com.ibm.icu.impl.Trie;
+import com.ibm.icu.impl.TrieIterator;
+import com.ibm.icu.impl.Utility;
+import com.ibm.icu.lang.UCharacter;
+import com.ibm.icu.util.RangeValueIterator;
+import com.ibm.icu.util.ULocale;
+import com.ibm.icu.util.UResourceBundle;
+import com.ibm.icu.util.VersionInfo;
+
+/**
+ * <p>RuleBasedCollator is a concrete subclass of Collator. It allows
+ * customization of the Collator via user-specified rule sets.
+ * RuleBasedCollator is designed to be fully compliant to the <a
+ * href="http://www.unicode.org/unicode/reports/tr10/"> Unicode
+ * Collation Algorithm (UCA)</a> and conforms to ISO 14651.</p>
+ *
+ * <p>Users are strongly encouraged to read <a
+ * href="http://icu.sourceforge.net/userguide/Collate_Intro.html">
+ * the users guide</a> for more information about the collation
+ * service before using this class.</p>
+ *
+ * <p>Create a RuleBasedCollator from a locale by calling the
+ * getInstance(Locale) factory method in the base class Collator.
+ * Collator.getInstance(Locale) creates a RuleBasedCollator object
+ * based on the collation rules defined by the argument locale.  If a
+ * customized collation ordering ar attributes is required, use the
+ * RuleBasedCollator(String) constructor with the appropriate
+ * rules. The customized RuleBasedCollator will base its ordering on
+ * UCA, while re-adjusting the attributes and orders of the characters
+ * in the specified rule accordingly.</p>
+ *
+ * <p>RuleBasedCollator provides correct collation orders for most
+ * locales supported in ICU. If specific data for a locale is not
+ * available, the orders eventually falls back to the <a
+ * href="http://www.unicode.org/unicode/reports/tr10/">UCA collation
+ * order </a>.</p>
+ *
+ * <p>For information about the collation rule syntax and details
+ * about customization, please refer to the
+ * <a href="http://icu.sourceforge.net/userguide/Collate_Customization.html">
+ * Collation customization</a> section of the user's guide.</p>
+ *
+ * <p><strong>Note</strong> that there are some differences between
+ * the Collation rule syntax used in Java and ICU4J:
+ *
+ * <ul>
+ * <li>According to the JDK documentation:
+ * <i>
+ * <p>
+ * Modifier '!' : Turns on Thai/Lao vowel-consonant swapping. If this rule
+ * is in force when a Thai vowel of the range &#92;U0E40-&#92;U0E44 precedes a
+ * Thai consonant of the range &#92;U0E01-&#92;U0E2E OR a Lao vowel of the
+ * range &#92;U0EC0-&#92;U0EC4 precedes a Lao consonant of the range
+ * &#92;U0E81-&#92;U0EAE then the
+ * vowel is placed after the consonant for collation purposes.
+ * </p>
+ * <p>
+ * If a rule is without the modifier '!', the Thai/Lao vowel-consonant
+ * swapping is not turned on.
+ * </p>
+ * </i>
+ * <p>
+ * ICU4J's RuleBasedCollator does not support turning off the Thai/Lao
+ * vowel-consonant swapping, since the UCA clearly states that it has to be
+ * supported to ensure a correct sorting order. If a '!' is encountered, it is
+ * ignored.
+ * </p>
+ * <li>As mentioned in the documentation of the base class Collator,
+ *     compatibility decomposition mode is not supported.
+ * </ul>
+ * <p>
+ * <strong>Examples</strong>
+ * </p>
+ * <p>
+ * Creating Customized RuleBasedCollators:
+ * <blockquote>
+ * <pre>
+ * String simple = "&amp; a &lt; b &lt; c &lt; d";
+ * RuleBasedCollator simpleCollator = new RuleBasedCollator(simple);
+ *
+ * String norwegian = "&amp; a , A &lt; b , B &lt; c , C &lt; d , D &lt; e , E "
+ *                    + "&lt; f , F &lt; g , G &lt; h , H &lt; i , I &lt; j , "
+ *                    + "J &lt; k , K &lt; l , L &lt; m , M &lt; n , N &lt; "
+ *                    + "o , O &lt; p , P &lt; q , Q &lt r , R &lt s , S &lt; "
+ *                    + "t , T &lt; u , U &lt; v , V &lt; w , W &lt; x , X "
+ *                    + "&lt; y , Y &lt; z , Z &lt; &#92;u00E5 = a&#92;u030A "
+ *                    + ", &#92;u00C5 = A&#92;u030A ; aa , AA &lt; &#92;u00E6 "
+ *                    + ", &#92;u00C6 &lt; &#92;u00F8 , &#92;u00D8";
+ * RuleBasedCollator norwegianCollator = new RuleBasedCollator(norwegian);
+ * </pre>
+ * </blockquote>
+ *
+ * Concatenating rules to combine <code>Collator</code>s:
+ * <blockquote>
+ * <pre>
+ * // Create an en_US Collator object
+ * RuleBasedCollator en_USCollator = (RuleBasedCollator)
+ *     Collator.getInstance(new Locale("en", "US", ""));
+ * // Create a da_DK Collator object
+ * RuleBasedCollator da_DKCollator = (RuleBasedCollator)
+ *     Collator.getInstance(new Locale("da", "DK", ""));
+ * // Combine the two
+ * // First, get the collation rules from en_USCollator
+ * String en_USRules = en_USCollator.getRules();
+ * // Second, get the collation rules from da_DKCollator
+ * String da_DKRules = da_DKCollator.getRules();
+ * RuleBasedCollator newCollator =
+ *                             new RuleBasedCollator(en_USRules + da_DKRules);
+ * // newCollator has the combined rules
+ * </pre>
+ * </blockquote>
+ *
+ * Making changes to an existing RuleBasedCollator to create a new
+ * <code>Collator</code> object, by appending changes to the existing rule:
+ * <blockquote>
+ * <pre>
+ * // Create a new Collator object with additional rules
+ * String addRules = "&amp; C &lt; ch, cH, Ch, CH";
+ * RuleBasedCollator myCollator =
+ *     new RuleBasedCollator(en_USCollator + addRules);
+ * // myCollator contains the new rules
+ * </pre>
+ * </blockquote>
+ *
+ * How to change the order of non-spacing accents:
+ * <blockquote>
+ * <pre>
+ * // old rule with main accents
+ * String oldRules = "= &#92;u0301 ; &#92;u0300 ; &#92;u0302 ; &#92;u0308 "
+ *                 + "; &#92;u0327 ; &#92;u0303 ; &#92;u0304 ; &#92;u0305 "
+ *                 + "; &#92;u0306 ; &#92;u0307 ; &#92;u0309 ; &#92;u030A "
+ *                 + "; &#92;u030B ; &#92;u030C ; &#92;u030D ; &#92;u030E "
+ *                 + "; &#92;u030F ; &#92;u0310 ; &#92;u0311 ; &#92;u0312 "
+ *                 + "&lt; a , A ; ae, AE ; &#92;u00e6 , &#92;u00c6 "
+ *                 + "&lt; b , B &lt; c, C &lt; e, E &amp; C &lt; d , D";
+ * // change the order of accent characters
+ * String addOn = "&amp; &#92;u0300 ; &#92;u0308 ; &#92;u0302";
+ * RuleBasedCollator myCollator = new RuleBasedCollator(oldRules + addOn);
+ * </pre>
+ * </blockquote>
+ *
+ * Putting in a new primary ordering before the default setting,
+ * e.g. sort English characters before or after Japanese characters in the Japanese
+ * <code>Collator</code>:
+ * <blockquote>
+ * <pre>
+ * // get en_US Collator rules
+ * RuleBasedCollator en_USCollator
+ *                        = (RuleBasedCollator)Collator.getInstance(Locale.US);
+ * // add a few Japanese characters to sort before English characters
+ * // suppose the last character before the first base letter 'a' in
+ * // the English collation rule is &#92;u2212
+ * String jaString = "& &#92;u2212 &lt &#92;u3041, &#92;u3042 &lt &#92;u3043, "
+ *                   + "&#92;u3044";
+ * RuleBasedCollator myJapaneseCollator
+ *              = new RuleBasedCollator(en_USCollator.getRules() + jaString);
+ * </pre>
+ * </blockquote>
+ * </p>
+ * <p>
+ * This class is not subclassable
+ * </p>
+ * @author Syn Wee Quek
+ * @stable ICU 2.8
+ */
+public final class RuleBasedCollator extends Collator
+{   
+    // public constructors ---------------------------------------------------
+
+    /**
+     * <p>
+     * Constructor that takes the argument rules for
+     * customization. The collator will be based on UCA,
+     * with the attributes and re-ordering of the characters specified in the
+     * argument rules.
+     * </p>
+     * <p>See the user guide's section on
+     * <a href="http://icu.sourceforge.net/userguide/Collate_Customization.html">
+     * Collation Customization</a> for details on the rule syntax.
+     * </p>
+     * @param rules the collation rules to build the collation table from.
+     * @exception ParseException and IOException thrown. ParseException thrown
+     *            when argument rules have an invalid syntax. IOException
+     *            thrown when an error occured while reading internal data.
+     * @stable ICU 2.8
+     */
+    public RuleBasedCollator(String rules) throws Exception
+    {
+        checkUCA();
+        if (rules == null) {
+            throw new IllegalArgumentException(
+                                            "Collation rules can not be null");
+        }
+        init(rules);
+    }
+
+    // public methods --------------------------------------------------------
+
+    /**
+     * Clones the RuleBasedCollator
+     * @return a new instance of this RuleBasedCollator object
+     * @stable ICU 2.8
+     */
+    public Object clone() throws CloneNotSupportedException
+    {
+        RuleBasedCollator result = (RuleBasedCollator)super.clone();
+        // since all collation data in the RuleBasedCollator do not change
+        // we can safely assign the result.fields to this collator
+        result.initUtility(); // let the new clone have their own util
+                                    // iterators
+        return result;
+    }
+
+    /**
+     * Return a CollationElementIterator for the given String.
+     * @see CollationElementIterator
+     * @stable ICU 2.8
+     */
+    public CollationElementIterator getCollationElementIterator(String source)
+    {
+        return new CollationElementIterator(source, this);
+    }
+
+    /**
+     * Return a CollationElementIterator for the given CharacterIterator.
+     * The source iterator's integrity will be preserved since a new copy
+     * will be created for use.
+     * @see CollationElementIterator
+     * @stable ICU 2.8
+     */
+    public CollationElementIterator getCollationElementIterator(
+                                                CharacterIterator source)
+    {
+        CharacterIterator newsource = (CharacterIterator)source.clone();
+        return new CollationElementIterator(newsource, this);
+    }
+    
+    /**
+     * Return a CollationElementIterator for the given UCharacterIterator.
+     * The source iterator's integrity will be preserved since a new copy
+     * will be created for use.
+     * @see CollationElementIterator
+     * @stable ICU 2.8
+     */
+    public CollationElementIterator getCollationElementIterator(
+                                                UCharacterIterator source)
+    {
+        return new CollationElementIterator(source, this);
+    }
+
+    // public setters --------------------------------------------------------
+
+    /**
+     * Sets the Hiragana Quaternary mode to be on or off.
+     * When the Hiragana Quaternary mode is turned on, the collator
+     * positions Hiragana characters before all non-ignorable characters in
+     * QUATERNARY strength. This is to produce a correct JIS collation order,
+     * distinguishing between Katakana  and Hiragana characters.
+     * @param flag true if Hiragana Quaternary mode is to be on, false
+     *        otherwise
+     * @see #setHiraganaQuaternaryDefault
+     * @see #isHiraganaQuaternary
+     * @stable ICU 2.8
+     */
+    public void setHiraganaQuaternary(boolean flag)
+    {
+        m_isHiragana4_ = flag;
+        updateInternalState();        
+    }
+
+    /**
+     * Sets the Hiragana Quaternary mode to the initial mode set during
+     * construction of the RuleBasedCollator.
+     * See setHiraganaQuaternary(boolean) for more details.
+     * @see #setHiraganaQuaternary(boolean)
+     * @see #isHiraganaQuaternary
+     * @stable ICU 2.8
+     */
+    public void setHiraganaQuaternaryDefault()
+    {
+        m_isHiragana4_ = m_defaultIsHiragana4_;
+        updateInternalState();
+    }
+
+    /**
+     * Sets whether uppercase characters sort before lowercase
+     * characters or vice versa, in strength TERTIARY. The default
+     * mode is false, and so lowercase characters sort before uppercase
+     * characters.
+     * If true, sort upper case characters first.
+     * @param upperfirst true to sort uppercase characters before
+     *                   lowercase characters, false to sort lowercase
+     *                   characters before uppercase characters
+     * @see #isLowerCaseFirst
+     * @see #isUpperCaseFirst
+     * @see #setLowerCaseFirst
+     * @see #setCaseFirstDefault
+     * @stable ICU 2.8
+     */
+    public void setUpperCaseFirst(boolean upperfirst)
+    {
+        if (upperfirst) {
+            if(m_caseFirst_ != AttributeValue.UPPER_FIRST_) {
+                latinOneRegenTable_ = true;
+            }
+            m_caseFirst_ = AttributeValue.UPPER_FIRST_;
+        }
+        else {
+            if(m_caseFirst_ != AttributeValue.OFF_) {
+                latinOneRegenTable_ = true;
+            }
+            m_caseFirst_ = AttributeValue.OFF_;
+        }
+        updateInternalState();
+    }
+
+    /**
+     * Sets the orders of lower cased characters to sort before upper cased
+     * characters, in strength TERTIARY. The default
+     * mode is false.
+     * If true is set, the RuleBasedCollator will sort lower cased characters
+     * before the upper cased ones.
+     * Otherwise, if false is set, the RuleBasedCollator will ignore case
+     * preferences.
+     * @param lowerfirst true for sorting lower cased characters before
+     *                   upper cased characters, false to ignore case
+     *                   preferences.
+     * @see #isLowerCaseFirst
+     * @see #isUpperCaseFirst
+     * @see #setUpperCaseFirst
+     * @see #setCaseFirstDefault
+     * @stable ICU 2.8
+     */
+    public void setLowerCaseFirst(boolean lowerfirst)
+    {
+        if (lowerfirst) {
+                if(m_caseFirst_ != AttributeValue.LOWER_FIRST_) {
+                    latinOneRegenTable_ = true;
+                }
+                m_caseFirst_ = AttributeValue.LOWER_FIRST_;
+        }
+        else {
+                if(m_caseFirst_ != AttributeValue.OFF_) {
+                    latinOneRegenTable_ = true;
+                }
+            m_caseFirst_ = AttributeValue.OFF_;
+            }
+        updateInternalState();
+    }
+
+    /**
+     * Sets the case first mode to the initial mode set during
+     * construction of the RuleBasedCollator.
+     * See setUpperCaseFirst(boolean) and setLowerCaseFirst(boolean) for more
+     * details.
+     * @see #isLowerCaseFirst
+     * @see #isUpperCaseFirst
+     * @see #setLowerCaseFirst(boolean)
+     * @see #setUpperCaseFirst(boolean)
+     * @stable ICU 2.8
+     */
+    public final void setCaseFirstDefault()
+    {
+        if(m_caseFirst_ != m_defaultCaseFirst_) {
+            latinOneRegenTable_ = true;
+        }
+        m_caseFirst_ = m_defaultCaseFirst_;
+        updateInternalState();
+    }
+
+    /**
+     * Sets the alternate handling mode to the initial mode set during
+     * construction of the RuleBasedCollator.
+     * See setAlternateHandling(boolean) for more details.
+     * @see #setAlternateHandlingShifted(boolean)
+     * @see #isAlternateHandlingShifted()
+     * @stable ICU 2.8
+     */
+    public void setAlternateHandlingDefault()
+    {
+        m_isAlternateHandlingShifted_ = m_defaultIsAlternateHandlingShifted_;
+        updateInternalState();
+    }
+
+    /**
+     * Sets the case level mode to the initial mode set during
+     * construction of the RuleBasedCollator.
+     * See setCaseLevel(boolean) for more details.
+     * @see #setCaseLevel(boolean)
+     * @see #isCaseLevel
+     * @stable ICU 2.8
+     */
+    public void setCaseLevelDefault()
+    {
+        m_isCaseLevel_ = m_defaultIsCaseLevel_;
+        updateInternalState();
+    }
+
+    /**
+     * Sets the decomposition mode to the initial mode set during construction
+     * of the RuleBasedCollator.
+     * See setDecomposition(int) for more details.
+     * @see #getDecomposition
+     * @see #setDecomposition(int)
+     * @stable ICU 2.8
+     */
+    public void setDecompositionDefault()
+    {
+        setDecomposition(m_defaultDecomposition_);
+        updateInternalState();        
+    }
+
+    /**
+     * Sets the French collation mode to the initial mode set during
+     * construction of the RuleBasedCollator.
+     * See setFrenchCollation(boolean) for more details.
+     * @see #isFrenchCollation
+     * @see #setFrenchCollation(boolean)
+     * @stable ICU 2.8
+     */
+    public void setFrenchCollationDefault()
+    {
+        if(m_isFrenchCollation_ != m_defaultIsFrenchCollation_) {
+            latinOneRegenTable_ = true;
+        }
+        m_isFrenchCollation_ = m_defaultIsFrenchCollation_;
+        updateInternalState();
+    }
+
+    /**
+     * Sets the collation strength to the initial mode set during the
+     * construction of the RuleBasedCollator.
+     * See setStrength(int) for more details.
+     * @see #setStrength(int)
+     * @see #getStrength
+     * @stable ICU 2.8
+     */
+    public void setStrengthDefault()
+    {
+        setStrength(m_defaultStrength_);
+        updateInternalState();        
+    }
+    
+    /**
+     * Method to set numeric collation to its default value.
+     * When numeric collation is turned on, this Collator generates a collation 
+     * key for the numeric value of substrings of digits. This is a way to get 
+     * '100' to sort AFTER '2'
+     * @see #getNumericCollation
+     * @see #setNumericCollation
+     * @stable ICU 2.8
+     */
+    public void setNumericCollationDefault()
+    {
+        setNumericCollation(m_defaultIsNumericCollation_);
+        updateInternalState();        
+    }
+
+    /**
+     * Sets the mode for the direction of SECONDARY weights to be used in
+     * French collation.
+     * The default value is false, which treats SECONDARY weights in the order
+     * they appear.
+     * If set to true, the SECONDARY weights will be sorted backwards.
+     * See the section on
+     * <a href="http://icu.sourceforge.net/userguide/Collate_ServiceArchitecture.html">
+     * French collation</a> for more information.
+     * @param flag true to set the French collation on, false to set it off
+     * @stable ICU 2.8
+     * @see #isFrenchCollation
+     * @see #setFrenchCollationDefault
+     */
+    public void setFrenchCollation(boolean flag)
+    {
+        if(m_isFrenchCollation_ != flag) {
+            latinOneRegenTable_ = true;
+        }
+        m_isFrenchCollation_ = flag;
+        updateInternalState();
+    }
+
+    /**
+     * Sets the alternate handling for QUATERNARY strength to be either
+     * shifted or non-ignorable.
+     * See the UCA definition on
+     * <a href="http://www.unicode.org/unicode/reports/tr10/#Variable_Weighting">
+     * Alternate Weighting</a>.
+     * This attribute will only be effective when QUATERNARY strength is set.
+     * The default value for this mode is false, corresponding to the
+     * NON_IGNORABLE mode in UCA. In the NON-IGNORABLE mode, the
+     * RuleBasedCollator will treats all the codepoints with non-ignorable
+     * primary weights in the same way.
+     * If the mode is set to true, the behaviour corresponds to SHIFTED defined
+     * in UCA, this causes codepoints with PRIMARY orders that are equal or
+     * below the variable top value to be ignored in PRIMARY order and
+     * moved to the QUATERNARY order.
+     * @param shifted true if SHIFTED behaviour for alternate handling is
+     *        desired, false for the NON_IGNORABLE behaviour.
+     * @see #isAlternateHandlingShifted
+     * @see #setAlternateHandlingDefault
+     * @stable ICU 2.8
+     */
+    public void setAlternateHandlingShifted(boolean shifted)
+    {
+        m_isAlternateHandlingShifted_ = shifted;
+        updateInternalState();
+    }
+
+    /**
+     * <p>
+     * When case level is set to true, an additional weight is formed
+     * between the SECONDARY and TERTIARY weight, known as the case level.
+     * The case level is used to distinguish large and small Japanese Kana
+     * characters. Case level could also be used in other situations.
+     * For example to distinguish certain Pinyin characters.
+     * The default value is false, which means the case level is not generated.
+     * The contents of the case level are affected by the case first
+     * mode. A simple way to ignore accent differences in a string is to set
+     * the strength to PRIMARY and enable case level.
+     * </p>
+     * <p>
+     * See the section on
+     * <a href="http://icu.sourceforge.net/userguide/Collate_ServiceArchitecture.html">
+     * case level</a> for more information.
+     * </p>
+     * @param flag true if case level sorting is required, false otherwise
+     * @stable ICU 2.8
+     * @see #setCaseLevelDefault
+     * @see #isCaseLevel
+     */
+    public void setCaseLevel(boolean flag)
+    {
+        m_isCaseLevel_ = flag;
+        updateInternalState();
+    }
+
+    /**
+     * <p>
+     * Sets this Collator's strength property. The strength property
+     * determines the minimum level of difference considered significant
+     * during comparison.
+     * </p>
+     * <p>See the Collator class description for an example of use.</p>
+     * @param newStrength the new strength value.
+     * @see #getStrength
+     * @see #setStrengthDefault
+     * @see #PRIMARY
+     * @see #SECONDARY
+     * @see #TERTIARY
+     * @see #QUATERNARY
+     * @see #IDENTICAL
+     * @exception IllegalArgumentException If the new strength value is not one
+     *              of PRIMARY, SECONDARY, TERTIARY, QUATERNARY or IDENTICAL.
+     * @stable ICU 2.8
+     */
+    public void setStrength(int newStrength)
+    {
+        super.setStrength(newStrength);
+        updateInternalState();
+    }
+    
+    /** 
+     * <p>
+     * Variable top is a two byte primary value which causes all the codepoints 
+     * with primary values that are less or equal than the variable top to be 
+     * shifted when alternate handling is set to SHIFTED.
+     * </p>
+     * <p>
+     * Sets the variable top to a collation element value of a string supplied.
+     * </p> 
+     * @param varTop one or more (if contraction) characters to which the 
+     *               variable top should be set
+     * @return a int value containing the value of the variable top in upper 16
+     *         bits. Lower 16 bits are undefined.
+     * @exception IllegalArgumentException is thrown if varTop argument is not 
+     *            a valid variable top element. A variable top element is 
+     *            invalid when 
+     *            <ul>
+     *            <li>it is a contraction that does not exist in the
+     *                Collation order
+     *            <li>when the PRIMARY strength collation element for the 
+     *                variable top has more than two bytes
+     *            <li>when the varTop argument is null or zero in length.
+     *            </ul>
+     * @see #getVariableTop
+     * @see RuleBasedCollator#setAlternateHandlingShifted
+     * @stable ICU 2.6
+     */
+    public int setVariableTop(String varTop)
+    {
+        if (varTop == null || varTop.length() == 0) {
+            throw new IllegalArgumentException(
+            "Variable top argument string can not be null or zero in length.");
+        }
+        
+        m_srcUtilColEIter_.setText(varTop);
+        int ce = m_srcUtilColEIter_.next();
+        
+        // here we check if we have consumed all characters 
+        // you can put in either one character or a contraction
+        // you shouldn't put more... 
+        if (m_srcUtilColEIter_.getOffset() != varTop.length() 
+            || ce == CollationElementIterator.NULLORDER) {
+            throw new IllegalArgumentException(
+            "Variable top argument string is a contraction that does not exist "
+            + "in the Collation order");
+        }
+        
+        int nextCE = m_srcUtilColEIter_.next();
+        
+        if ((nextCE != CollationElementIterator.NULLORDER) 
+            && (!isContinuation(nextCE) || (nextCE & CE_PRIMARY_MASK_) != 0)) {
+                throw new IllegalArgumentException(
+                "Variable top argument string can only have a single collation "
+                + "element that has less than or equal to two PRIMARY strength "
+                + "bytes");
+        }
+        
+        m_variableTopValue_ = (ce & CE_PRIMARY_MASK_) >> 16;
+        
+        return ce & CE_PRIMARY_MASK_;
+    }
+    
+    /** 
+     * Sets the variable top to a collation element value supplied.
+     * Variable top is set to the upper 16 bits. 
+     * Lower 16 bits are ignored.
+     * @param varTop Collation element value, as returned by setVariableTop or 
+     *               getVariableTop
+     * @see #getVariableTop
+     * @see #setVariableTop(String)
+     * @stable ICU 2.6
+     */
+    public void setVariableTop(int varTop)
+    {
+        m_variableTopValue_ = (varTop & CE_PRIMARY_MASK_) >> 16;
+    }
+    
+    /**
+     * When numeric collation is turned on, this Collator generates a collation 
+     * key for the numeric value of substrings of digits. This is a way to get 
+     * '100' to sort AFTER '2'
+     * @param flag true to turn numeric collation on and false to turn it off
+     * @see #getNumericCollation
+     * @see #setNumericCollationDefault
+     * @stable ICU 2.8
+     */
+    public void setNumericCollation(boolean flag)
+    {
+        // sort substrings of digits as numbers
+        m_isNumericCollation_ = flag;
+        updateInternalState();
+    }
+
+    // public getters --------------------------------------------------------
+
+    /**
+     * Gets the collation rules for this RuleBasedCollator.
+     * Equivalent to String getRules(RuleOption.FULL_RULES).
+     * @return returns the collation rules
+     * @see #getRules(boolean)
+     * @stable ICU 2.8
+     */
+    public String getRules()
+    {
+        return m_rules_;
+    }
+    
+    /**
+     * Returns current rules. The argument defines whether full rules 
+     * (UCA + tailored) rules are returned or just the tailoring. 
+     * @param fullrules true if the rules that defines the full set of 
+     *        collation order is required, otherwise false for returning only 
+     *        the tailored rules
+     * @return the current rules that defines this Collator.
+     * @see #getRules()
+     * @stable ICU 2.6
+     */
+    public String getRules(boolean fullrules)
+    {
+        if (!fullrules) {
+            return m_rules_;
+        }
+        // take the UCA rules and append real rules at the end 
+        return UCA_.m_rules_.concat(m_rules_);
+    }
+
+    /**
+     * Get an UnicodeSet that contains all the characters and sequences
+     * tailored in this collator.
+     * @return a pointer to a UnicodeSet object containing all the
+     *         code points and sequences that may sort differently than
+     *         in the UCA.
+     * @exception ParseException thrown when argument rules have an
+     *            invalid syntax. IOException
+     * @stable ICU 2.4
+     */
+    public UnicodeSet getTailoredSet()
+    {
+        try {
+           CollationRuleParser src = new CollationRuleParser(getRules());
+           return src.getTailoredSet();
+        } catch(Exception e) {
+            throw new InternalError("A tailoring rule should not have errors. Something is quite wrong!");
+        }
+    }
+
+    private class contContext {
+        RuleBasedCollator coll;
+        UnicodeSet contractions;
+        UnicodeSet expansions;
+        UnicodeSet removedContractions;
+        boolean addPrefixes;       
+        contContext(RuleBasedCollator coll, UnicodeSet contractions, UnicodeSet expansions, 
+                UnicodeSet removedContractions, boolean addPrefixes) {
+            this.coll = coll;
+            this.contractions = contractions;
+            this.expansions = expansions;
+            this.removedContractions = removedContractions;
+            this.addPrefixes = addPrefixes;
+        }
+    }
+    
+    private void
+    addSpecial(contContext c, StringBuffer buffer, int CE)
+    {
+        StringBuffer b = new StringBuffer();
+        int offset = (CE & 0xFFFFFF) - c.coll.m_contractionOffset_;
+        int newCE = c.coll.m_contractionCE_[offset];
+        // we might have a contraction that ends from previous level
+        if(newCE != CollationElementIterator.CE_NOT_FOUND_) {
+            if(isSpecial(CE) && getTag(CE) == CollationElementIterator.CE_CONTRACTION_TAG_ 
+                    && isSpecial(newCE) && getTag(newCE) == CollationElementIterator.CE_SPEC_PROC_TAG_ 
+                    && c.addPrefixes) {
+                addSpecial(c, buffer, newCE);
+            }
+            if(buffer.length() > 1) {
+                if(c.contractions != null) {
+                    c.contractions.add(buffer.toString());
+                }
+                if(c.expansions != null && isSpecial(CE) && getTag(CE) == CollationElementIterator.CE_EXPANSION_TAG_) {
+                    c.expansions.add(buffer.toString());
+                }
+            }
+        }    
+        
+        offset++;
+        // check whether we're doing contraction or prefix
+        if(getTag(CE) == CollationElementIterator.CE_SPEC_PROC_TAG_ && c.addPrefixes) {
+            while(c.coll.m_contractionIndex_[offset] != 0xFFFF) {
+                b.delete(0, b.length());
+                b.append(buffer);
+                newCE = c.coll.m_contractionCE_[offset];
+                b.insert(0, c.coll.m_contractionIndex_[offset]);
+                if(isSpecial(newCE) && (getTag(newCE) == CollationElementIterator.CE_CONTRACTION_TAG_ || getTag(newCE) == CollationElementIterator.CE_SPEC_PROC_TAG_)) {
+                    addSpecial(c, b, newCE);
+                } else {
+                    if(c.contractions != null) {
+                        c.contractions.add(b.toString());
+                    }
+                    if(c.expansions != null && isSpecial(newCE) && getTag(newCE) == CollationElementIterator.CE_EXPANSION_TAG_) {
+                        c.expansions.add(b.toString());
+                    }
+                }
+                offset++;
+            }
+        } else if(getTag(CE) == CollationElementIterator.CE_CONTRACTION_TAG_) {
+            while(c.coll.m_contractionIndex_[offset] != 0xFFFF) {
+                b.delete(0, b.length());
+                b.append(buffer);
+                newCE = c.coll.m_contractionCE_[offset];
+                b.append(c.coll.m_contractionIndex_[offset]);
+                if(isSpecial(newCE) && (getTag(newCE) == CollationElementIterator.CE_CONTRACTION_TAG_ || getTag(newCE) == CollationElementIterator.CE_SPEC_PROC_TAG_)) {
+                    addSpecial(c, b, newCE);
+                } else {
+                    if(c.contractions != null) {
+                        c.contractions.add(b.toString());
+                    }
+                    if(c.expansions != null && isSpecial(newCE) && getTag(newCE) == CollationElementIterator.CE_EXPANSION_TAG_) {
+                        c.expansions.add(b.toString());
+                    }
+                }
+                offset++;
+            }
+        }
+    }
+    
+    private
+    void processSpecials(contContext c) 
+    {
+        int internalBufferSize = 512;
+        TrieIterator trieiterator 
+        = new TrieIterator(c.coll.m_trie_);
+        RangeValueIterator.Element element = new RangeValueIterator.Element();
+        while (trieiterator.next(element)) {
+            int start = element.start;
+            int limit = element.limit;
+            int CE = element.value;
+            StringBuffer contraction = new StringBuffer(internalBufferSize);
+            
+            if(isSpecial(CE)) {
+                if(((getTag(CE) == CollationElementIterator.CE_SPEC_PROC_TAG_ && c.addPrefixes) || getTag(CE) == CollationElementIterator.CE_CONTRACTION_TAG_)) {
+                    while(start < limit) {
+                        // if there are suppressed contractions, we don't 
+                        // want to add them.
+                        if(c.removedContractions != null && c.removedContractions.contains(start)) {
+                            start++;
+                            continue;
+                        }
+                        // we start our contraction from middle, since we don't know if it
+                        // will grow toward right or left
+                        contraction.append((char) start);
+                        addSpecial(c, contraction, CE);
+                        start++;
+                    }
+                } else if(c.expansions != null && getTag(CE) == CollationElementIterator.CE_EXPANSION_TAG_) {
+                    while(start < limit) {
+                        c.expansions.add(start++);
+                    }
+                }
+            }
+        }
+    }
+    
+    /**
+     * Gets unicode sets containing contractions and/or expansions of a collator
+     * @param contractions if not null, set to contain contractions
+     * @param expansions if not null, set to contain expansions
+     * @param addPrefixes add the prefix contextual elements to contractions
+     * @throws Exception 
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public void
+    getContractionsAndExpansions(UnicodeSet contractions, UnicodeSet expansions,
+            boolean addPrefixes) throws Exception {
+        if(contractions != null) {
+            contractions.clear();
+        }
+        if(expansions != null) {
+            expansions.clear();
+        }
+        int rulesLen = 0;
+        String rules = getRules();
+        try {
+            CollationRuleParser src = new CollationRuleParser(rules);
+            contContext c = new contContext(RuleBasedCollator.UCA_, 
+                    contractions, expansions, src.m_removeSet_, addPrefixes);
+            
+            // Add the UCA contractions
+            processSpecials(c);
+            // This is collator specific. Add contractions from a collator
+            c.coll = this;
+            c.removedContractions =  null;
+            processSpecials(c);
+        } catch (Exception e) {
+            throw e;
+        }
+    }
+    
+    /**
+     * <p>
+     * Get a Collation key for the argument String source from this
+     * RuleBasedCollator.
+     * </p>
+     * <p>
+     * General recommendation: <br>
+     * If comparison are to be done to the same String multiple times, it would
+     * be more efficient to generate CollationKeys for the Strings and use
+     * CollationKey.compareTo(CollationKey) for the comparisons.
+     * If the each Strings are compared to only once, using the method
+     * RuleBasedCollator.compare(String, String) will have a better performance.
+     * </p>
+     * <p>
+     * See the class documentation for an explanation about CollationKeys.
+     * </p>
+     * @param source the text String to be transformed into a collation key.
+     * @return the CollationKey for the given String based on this
+     *         RuleBasedCollator's collation rules. If the source String is
+     *         null, a null CollationKey is returned.
+     * @see CollationKey
+     * @see #compare(String, String)
+     * @see #getRawCollationKey
+     * @stable ICU 2.8
+     */
+    public CollationKey getCollationKey(String source) {
+        if (source == null) {
+            return null;
+        }
+        m_utilRawCollationKey_ = getRawCollationKey(source, 
+                                                    m_utilRawCollationKey_);
+        return new CollationKey(source, m_utilRawCollationKey_);
+    }
+    
+    /**
+     * Gets the simpler form of a CollationKey for the String source following
+     * the rules of this Collator and stores the result into the user provided 
+     * argument key. 
+     * If key has a internal byte array of length that's too small for the 
+     * result, the internal byte array will be grown to the exact required 
+     * size.
+     * @param source the text String to be transformed into a RawCollationKey  
+     * @param key output RawCollationKey to store results
+     * @return If key is null, a new instance of RawCollationKey will be 
+     *         created and returned, otherwise the user provided key will be 
+     *         returned.
+     * @see #getCollationKey 
+     * @see #compare(String, String)
+     * @see RawCollationKey
+     * @stable ICU 2.8
+     */
+    public RawCollationKey getRawCollationKey(String source, 
+                                              RawCollationKey key)
+    {
+        if (source == null) {
+            return null;
+        }
+        int strength = getStrength();
+        m_utilCompare0_ = m_isCaseLevel_;
+        m_utilCompare1_ = true;
+        m_utilCompare2_ = strength >= SECONDARY;
+        m_utilCompare3_ = strength >= TERTIARY;
+        m_utilCompare4_ = strength >= QUATERNARY;
+        m_utilCompare5_ = strength == IDENTICAL;
+
+        m_utilBytesCount0_ = 0;
+        m_utilBytesCount1_ = 0;
+        m_utilBytesCount2_ = 0;
+        m_utilBytesCount3_ = 0;
+        m_utilBytesCount4_ = 0;
+        m_utilBytesCount5_ = 0;
+        m_utilCount0_ = 0;
+        m_utilCount1_ = 0;
+        m_utilCount2_ = 0;
+        m_utilCount3_ = 0;
+        m_utilCount4_ = 0;
+        m_utilCount5_ = 0;
+        boolean doFrench = m_isFrenchCollation_ && m_utilCompare2_;
+        // TODO: UCOL_COMMON_BOT4 should be a function of qShifted.
+        // If we have no qShifted, we don't need to set UCOL_COMMON_BOT4 so
+        // high.
+        int commonBottom4 = ((m_variableTopValue_ >>> 8) + 1) & LAST_BYTE_MASK_;
+        byte hiragana4 = 0;
+        if (m_isHiragana4_ && m_utilCompare4_) {
+            // allocate one more space for hiragana, value for hiragana
+            hiragana4 = (byte)commonBottom4;
+            commonBottom4 ++;
+        }
+
+        int bottomCount4 = 0xFF - commonBottom4;
+        // If we need to normalize, we'll do it all at once at the beginning!
+        if (m_utilCompare5_ && Normalizer.quickCheck(source, Normalizer.NFD,0)
+                                                    != Normalizer.YES) {
+            // if it is identical strength, we have to normalize the string to
+            // NFD so that it will be appended correctly to the end of the sort
+            // key
+            source = Normalizer.decompose(source, false);
+        }
+        else if (getDecomposition() != NO_DECOMPOSITION
+            && Normalizer.quickCheck(source, Normalizer.FCD,0)
+                                                    != Normalizer.YES) {
+            // for the rest of the strength, if decomposition is on, FCD is
+            // enough for us to work on.
+            source = Normalizer.normalize(source,Normalizer.FCD);
+        }
+        getSortKeyBytes(source, doFrench, hiragana4, commonBottom4,
+                        bottomCount4);
+        if (key == null) {
+            key = new RawCollationKey();
+        }
+        getSortKey(source, doFrench, commonBottom4, bottomCount4, key);
+        return key;
+    }
+
+    /**
+     * Return true if an uppercase character is sorted before the corresponding lowercase character.
+     * See setCaseFirst(boolean) for details.
+     * @see #setUpperCaseFirst
+     * @see #setLowerCaseFirst
+     * @see #isLowerCaseFirst
+     * @see #setCaseFirstDefault
+     * @return true if upper cased characters are sorted before lower cased
+     *         characters, false otherwise
+     * @stable ICU 2.8
+     */
+     public boolean isUpperCaseFirst()
+     {
+        return (m_caseFirst_ == AttributeValue.UPPER_FIRST_);
+     }
+     
+    /**
+     * Return true if a lowercase character is sorted before the corresponding uppercase character.
+     * See setCaseFirst(boolean) for details.
+     * @see #setUpperCaseFirst
+     * @see #setLowerCaseFirst
+     * @see #isUpperCaseFirst
+     * @see #setCaseFirstDefault
+     * @return true lower cased characters are sorted before upper cased
+     *         characters, false otherwise
+     * @stable ICU 2.8
+     */
+    public boolean isLowerCaseFirst()
+    {
+        return (m_caseFirst_ == AttributeValue.LOWER_FIRST_);
+    }
+
+    /**
+     * Checks if the alternate handling behaviour is the UCA defined SHIFTED or
+     * NON_IGNORABLE.
+     * If return value is true, then the alternate handling attribute for the
+     * Collator is SHIFTED. Otherwise if return value is false, then the
+     * alternate handling attribute for the Collator is NON_IGNORABLE
+     * See setAlternateHandlingShifted(boolean) for more details.
+     * @return true or false
+     * @see #setAlternateHandlingShifted(boolean)
+     * @see #setAlternateHandlingDefault
+     * @stable ICU 2.8
+     */
+    public boolean isAlternateHandlingShifted()
+    {
+        return m_isAlternateHandlingShifted_;
+    }
+
+    /**
+     * Checks if case level is set to true.
+     * See setCaseLevel(boolean) for details.
+     * @return the case level mode
+     * @see #setCaseLevelDefault
+     * @see #isCaseLevel
+     * @see #setCaseLevel(boolean)
+     * @stable ICU 2.8
+     */
+    public boolean isCaseLevel()
+    {
+        return m_isCaseLevel_;
+    }
+
+    /**
+     * Checks if French Collation is set to true.
+     * See setFrenchCollation(boolean) for details.
+     * @return true if French Collation is set to true, false otherwise
+     * @see #setFrenchCollation(boolean)
+     * @see #setFrenchCollationDefault
+     * @stable ICU 2.8
+     */
+     public boolean isFrenchCollation()
+     {
+         return m_isFrenchCollation_;
+     }
+
+    /**
+     * Checks if the Hiragana Quaternary mode is set on.
+     * See setHiraganaQuaternary(boolean) for more details.
+     * @return flag true if Hiragana Quaternary mode is on, false otherwise
+     * @see #setHiraganaQuaternaryDefault
+     * @see #setHiraganaQuaternary(boolean)
+     * @stable ICU 2.8
+     */
+    public boolean isHiraganaQuaternary()
+    {
+        return m_isHiragana4_;
+    }
+
+    /** 
+     * Gets the variable top value of a Collator. 
+     * Lower 16 bits are undefined and should be ignored.
+     * @return the variable top value of a Collator.
+     * @see #setVariableTop
+     * @stable ICU 2.6
+     */
+    public int getVariableTop()
+    {
+          return m_variableTopValue_ << 16;
+    }
+    
+    /** 
+     * Method to retrieve the numeric collation value.
+     * When numeric collation is turned on, this Collator generates a collation 
+     * key for the numeric value of substrings of digits. This is a way to get 
+     * '100' to sort AFTER '2'
+     * @see #setNumericCollation
+     * @see #setNumericCollationDefault
+     * @return true if numeric collation is turned on, false otherwise
+     * @stable ICU 2.8
+     */
+    public boolean getNumericCollation()
+    {
+        return m_isNumericCollation_;
+    }
+    
+    // public other methods -------------------------------------------------
+
+    /**
+     * Compares the equality of two RuleBasedCollator objects.
+     * RuleBasedCollator objects are equal if they have the same collation
+     * rules and the same attributes.
+     * @param obj the RuleBasedCollator to be compared to.
+     * @return true if this RuleBasedCollator has exactly the same
+     *         collation behaviour as obj, false otherwise.
+     * @stable ICU 2.8
+     */
+    public boolean equals(Object obj)
+    {
+        if (obj == null) {
+            return false;  // super does class check
+        }
+        if (this == obj) {
+            return true;
+        }
+        if (getClass() != obj.getClass()) {
+            return false;
+        }
+        RuleBasedCollator other = (RuleBasedCollator)obj;
+        // all other non-transient information is also contained in rules.
+        if (getStrength() != other.getStrength()
+               || getDecomposition() != other.getDecomposition()
+               || other.m_caseFirst_ != m_caseFirst_
+               || other.m_caseSwitch_ != m_caseSwitch_
+               || other.m_isAlternateHandlingShifted_
+                                             != m_isAlternateHandlingShifted_
+               || other.m_isCaseLevel_ != m_isCaseLevel_
+               || other.m_isFrenchCollation_ != m_isFrenchCollation_
+               || other.m_isHiragana4_ != m_isHiragana4_) {
+            return false;
+        }
+        boolean rules = m_rules_ == other.m_rules_;
+        if (!rules && (m_rules_ != null && other.m_rules_ != null)) {
+            rules = m_rules_.equals(other.m_rules_);
+        }
+        if (!rules || !ICUDebug.enabled("collation")) {
+            return rules;
+        }
+        if (m_addition3_ != other.m_addition3_
+                  || m_bottom3_ != other.m_bottom3_
+                  || m_bottomCount3_ != other.m_bottomCount3_
+                  || m_common3_ != other.m_common3_
+                  || m_isSimple3_ != other.m_isSimple3_
+                  || m_mask3_ != other.m_mask3_
+                  || m_minContractionEnd_ != other.m_minContractionEnd_
+                  || m_minUnsafe_ != other.m_minUnsafe_
+                  || m_top3_ != other.m_top3_
+                  || m_topCount3_ != other.m_topCount3_
+                  || !Arrays.equals(m_unsafe_, other.m_unsafe_)) {
+            return false;
+        }
+        if (!m_trie_.equals(other.m_trie_)) {
+            // we should use the trie iterator here, but then this part is
+            // only used in the test.
+            for (int i = UCharacter.MAX_VALUE; i >= UCharacter.MIN_VALUE; i --)
+            {
+                int v = m_trie_.getCodePointValue(i);
+                int otherv = other.m_trie_.getCodePointValue(i);
+                if (v != otherv) {
+                    int mask = v & (CE_TAG_MASK_ | CE_SPECIAL_FLAG_);
+                    if (mask == (otherv & 0xff000000)) {
+                        v &= 0xffffff;
+                        otherv &= 0xffffff;
+                        if (mask == 0xf1000000) {
+                            v -= (m_expansionOffset_ << 4);
+                            otherv -= (other.m_expansionOffset_ << 4);
+                        }
+                        else if (mask == 0xf2000000) {
+                            v -= m_contractionOffset_;
+                            otherv -= other.m_contractionOffset_;
+                        }
+                        if (v == otherv) {
+                            continue;
+                        }
+                    }
+                    return false;
+                }
+            }
+        }
+        if (Arrays.equals(m_contractionCE_, other.m_contractionCE_)
+            && Arrays.equals(m_contractionEnd_, other.m_contractionEnd_)
+            && Arrays.equals(m_contractionIndex_, other.m_contractionIndex_)
+            && Arrays.equals(m_expansion_, other.m_expansion_)
+            && Arrays.equals(m_expansionEndCE_, other.m_expansionEndCE_)) {
+            // not comparing paddings
+            for (int i = 0; i < m_expansionEndCE_.length; i ++) {
+                 if (m_expansionEndCEMaxSize_[i]
+                     != other.m_expansionEndCEMaxSize_[i]) {
+                     return false;
+                 }
+                 return true;
+            }
+        }
+        return false;
+    }
+
+    /**
+     * Generates a unique hash code for this RuleBasedCollator.
+     * @return the unique hash code for this Collator
+     * @stable ICU 2.8
+     */
+    public int hashCode()
+    {
+        String rules = getRules();
+        if (rules == null) {
+            rules = "";
+        }
+        return rules.hashCode();
+    }
+
+    /**
+     * Compares the source text String to the target text String according to
+     * the collation rules, strength and decomposition mode for this
+     * RuleBasedCollator.
+     * Returns an integer less than,
+     * equal to or greater than zero depending on whether the source String is
+     * less than, equal to or greater than the target String. See the Collator
+     * class description for an example of use.
+     * </p>
+     * <p>
+     * General recommendation: <br>
+     * If comparison are to be done to the same String multiple times, it would
+     * be more efficient to generate CollationKeys for the Strings and use
+     * CollationKey.compareTo(CollationKey) for the comparisons.
+     * If speed performance is critical and object instantiation is to be 
+     * reduced, further optimization may be achieved by generating a simpler 
+     * key of the form RawCollationKey and reusing this RawCollationKey 
+     * object with the method RuleBasedCollator.getRawCollationKey. Internal 
+     * byte representation can be directly accessed via RawCollationKey and
+     * stored for future use. Like CollationKey, RawCollationKey provides a
+     * method RawCollationKey.compareTo for key comparisons.
+     * If the each Strings are compared to only once, using the method
+     * RuleBasedCollator.compare(String, String) will have a better performance.
+     * </p>
+     * @param source the source text String.
+     * @param target the target text String.
+     * @return Returns an integer value. Value is less than zero if source is
+     *         less than target, value is zero if source and target are equal,
+     *         value is greater than zero if source is greater than target.
+     * @see CollationKey
+     * @see #getCollationKey
+     * @stable ICU 2.8
+     */
+    public int compare(String source, String target)
+    {
+        if (source == target) {
+            return 0;
+        }
+
+        // Find the length of any leading portion that is equal
+        int offset = getFirstUnmatchedOffset(source, target);
+        //return compareRegular(source, target, offset);
+        if(latinOneUse_) {
+          if ((offset < source.length() 
+               && source.charAt(offset) > ENDOFLATINONERANGE_) 
+              || (offset < target.length() 
+                  && target.charAt(offset) > ENDOFLATINONERANGE_)) { 
+              // source or target start with non-latin-1
+            return compareRegular(source, target, offset);
+          } else {
+            return compareUseLatin1(source, target, offset);
+          }
+        } else {
+          return compareRegular(source, target, offset);
+        }
+    }
+    
+    // package private inner interfaces --------------------------------------
+
+    /**
+     * Attribute values to be used when setting the Collator options
+     */
+    static interface AttributeValue
+    {
+        /**
+         * Indicates that the default attribute value will be used.
+         * See individual attribute for details on its default value.
+         */
+        static final int DEFAULT_ = -1;
+        /**
+         * Primary collation strength
+         */
+        static final int PRIMARY_ = Collator.PRIMARY;
+        /**
+         * Secondary collation strength
+         */
+        static final int SECONDARY_ = Collator.SECONDARY;
+        /**
+         * Tertiary collation strength
+         */
+        static final int TERTIARY_ = Collator.TERTIARY;
+        /**
+         * Default collation strength
+         */
+        static final int DEFAULT_STRENGTH_ = Collator.TERTIARY;
+        /**
+         * Internal use for strength checks in Collation elements
+         */
+        static final int CE_STRENGTH_LIMIT_ = Collator.TERTIARY + 1;
+        /**
+         * Quaternary collation strength
+         */
+        static final int QUATERNARY_ = 3;
+        /**
+         * Identical collation strength
+         */
+        static final int IDENTICAL_ = Collator.IDENTICAL;
+        /**
+         * Internal use for strength checks
+         */
+        static final int STRENGTH_LIMIT_ = Collator.IDENTICAL + 1;
+        /**
+         * Turn the feature off - works for FRENCH_COLLATION, CASE_LEVEL,
+         * HIRAGANA_QUATERNARY_MODE and DECOMPOSITION_MODE
+         */
+        static final int OFF_ = 16;
+        /**
+         * Turn the feature on - works for FRENCH_COLLATION, CASE_LEVEL,
+         * HIRAGANA_QUATERNARY_MODE and DECOMPOSITION_MODE
+         */
+        static final int ON_ = 17;
+        /**
+         * Valid for ALTERNATE_HANDLING. Alternate handling will be shifted
+         */
+        static final int SHIFTED_ = 20;
+        /**
+         * Valid for ALTERNATE_HANDLING. Alternate handling will be non
+         * ignorable
+         */
+        static final int NON_IGNORABLE_ = 21;
+        /**
+         * Valid for CASE_FIRST - lower case sorts before upper case
+         */
+        static final int LOWER_FIRST_ = 24;
+        /**
+         * Upper case sorts before lower case
+         */
+        static final int UPPER_FIRST_ = 25;
+        /**
+         * Number of attribute values
+         */
+        static final int LIMIT_ = 29;
+    }
+
+    /**
+     * Attributes that collation service understands. All the attributes can
+     * take DEFAULT value, as well as the values specific to each one.
+     */
+    static interface Attribute
+    {
+        /**
+         * Attribute for direction of secondary weights - used in French.
+         * Acceptable values are ON, which results in secondary weights being
+         * considered backwards and OFF which treats secondary weights in the
+         * order they appear.
+         */
+        static final int FRENCH_COLLATION_ = 0;
+        /**
+         * Attribute for handling variable elements. Acceptable values are
+         * NON_IGNORABLE (default) which treats all the codepoints with
+         * non-ignorable primary weights in the same way, and SHIFTED which
+         * causes codepoints with primary weights that are equal or below the
+         * variable top value to be ignored on primary level and moved to the
+         * quaternary level.
+         */
+        static final int ALTERNATE_HANDLING_ = 1;
+        /**
+         * Controls the ordering of upper and lower case letters. Acceptable
+         * values are OFF (default), which orders upper and lower case letters
+         * in accordance to their tertiary weights, UPPER_FIRST which forces
+         * upper case letters to sort before lower case letters, and
+         * LOWER_FIRST which does the opposite.
+         */
+        static final int CASE_FIRST_ = 2;
+        /**
+         * Controls whether an extra case level (positioned before the third
+         * level) is generated or not. Acceptable values are OFF (default),
+         * when case level is not generated, and ON which causes the case
+         * level to be generated. Contents of the case level are affected by
+         * the value of CASE_FIRST attribute. A simple way to ignore accent
+         * differences in a string is to set the strength to PRIMARY and
+         * enable case level.
+         */
+        static final int CASE_LEVEL_ = 3;
+        /**
+         * Controls whether the normalization check and necessary
+         * normalizations are performed. When set to OFF (default) no
+         * normalization check is performed. The correctness of the result is
+         * guaranteed only if the input data is in so-called FCD form (see
+         * users manual for more info). When set to ON, an incremental check
+         * is performed to see whether the input data is in the FCD form. If
+         * the data is not in the FCD form, incremental NFD normalization is
+         * performed.
+         */
+        static final int NORMALIZATION_MODE_ = 4;
+        /**
+         * The strength attribute. Can be either PRIMARY, SECONDARY, TERTIARY,
+         * QUATERNARY or IDENTICAL. The usual strength for most locales
+         * (except Japanese) is tertiary. Quaternary strength is useful when
+         * combined with shifted setting for alternate handling attribute and
+         * for JIS x 4061 collation, when it is used to distinguish between
+         * Katakana  and Hiragana (this is achieved by setting the
+         * HIRAGANA_QUATERNARY mode to on. Otherwise, quaternary level is
+         * affected only by the number of non ignorable code points in the
+         * string. Identical strength is rarely useful, as it amounts to
+         * codepoints of the NFD form of the string.
+         */
+        static final int STRENGTH_ = 5;
+        /**
+         * When turned on, this attribute positions Hiragana before all
+         * non-ignorables on quaternary level. This is a sneaky way to produce
+         * JIS sort order.
+         */
+        static final int HIRAGANA_QUATERNARY_MODE_ = 6;
+        /**
+         * Attribute count
+         */
+        static final int LIMIT_ = 7;
+    }
+
+    /**
+     * DataManipulate singleton
+     */
+    static class DataManipulate implements Trie.DataManipulate
+    {
+        // public methods ----------------------------------------------------
+
+        /**
+         * Internal method called to parse a lead surrogate's ce for the offset
+         * to the next trail surrogate data.
+         * @param ce collation element of the lead surrogate
+         * @return data offset or 0 for the next trail surrogate
+         * @stable ICU 2.8
+         */
+        public final int getFoldingOffset(int ce)
+        {
+            if (isSpecial(ce) && getTag(ce) == CE_SURROGATE_TAG_) {
+                return (ce & 0xFFFFFF);
+            }
+            return 0;
+        }
+
+        /**
+         * Get singleton object
+         */
+        public static final DataManipulate getInstance()
+        {
+            if (m_instance_ == null) {
+                m_instance_ =  new DataManipulate();
+            }
+            return m_instance_;
+        }
+
+        // private data member ----------------------------------------------
+
+        /**
+         * Singleton instance
+         */
+        private static DataManipulate m_instance_;
+
+        // private constructor ----------------------------------------------
+
+        /**
+         * private to prevent initialization
+         */
+        private DataManipulate()
+        {
+        }
+    }
+
+    /**
+     * UCAConstants
+     */
+    static final class UCAConstants
+    {
+         int FIRST_TERTIARY_IGNORABLE_[] = new int[2];       // 0x00000000
+         int LAST_TERTIARY_IGNORABLE_[] = new int[2];        // 0x00000000
+         int FIRST_PRIMARY_IGNORABLE_[] = new int[2];        // 0x00008705
+         int FIRST_SECONDARY_IGNORABLE_[] = new int[2];      // 0x00000000
+         int LAST_SECONDARY_IGNORABLE_[] = new int[2];       // 0x00000500
+         int LAST_PRIMARY_IGNORABLE_[] = new int[2];         // 0x0000DD05
+         int FIRST_VARIABLE_[] = new int[2];                 // 0x05070505
+         int LAST_VARIABLE_[] = new int[2];                  // 0x13CF0505
+         int FIRST_NON_VARIABLE_[] = new int[2];             // 0x16200505
+         int LAST_NON_VARIABLE_[] = new int[2];              // 0x767C0505
+         int RESET_TOP_VALUE_[] = new int[2];                // 0x9F000303
+         int FIRST_IMPLICIT_[] = new int[2];
+         int LAST_IMPLICIT_[] = new int[2];
+         int FIRST_TRAILING_[] = new int[2];
+         int LAST_TRAILING_[] = new int[2];
+         int PRIMARY_TOP_MIN_;
+         int PRIMARY_IMPLICIT_MIN_; // 0xE8000000
+         int PRIMARY_IMPLICIT_MAX_; // 0xF0000000
+         int PRIMARY_TRAILING_MIN_; // 0xE8000000
+         int PRIMARY_TRAILING_MAX_; // 0xF0000000
+         int PRIMARY_SPECIAL_MIN_; // 0xE8000000
+         int PRIMARY_SPECIAL_MAX_; // 0xF0000000
+    }
+
+    // package private data member -------------------------------------------
+
+    static final byte BYTE_FIRST_TAILORED_ = (byte)0x04;
+    static final byte BYTE_COMMON_ = (byte)0x05;
+    static final int COMMON_TOP_2_ = 0x86; // int for unsigness
+    static final int COMMON_BOTTOM_2_ = BYTE_COMMON_;
+    /**
+     * Case strength mask
+     */
+    static final int CE_CASE_BIT_MASK_ = 0xC0;
+    static final int CE_TAG_SHIFT_ = 24;
+    static final int CE_TAG_MASK_ = 0x0F000000;
+
+    static final int CE_SPECIAL_FLAG_ = 0xF0000000;
+    /**
+     * Lead surrogate that is tailored and doesn't start a contraction
+     */
+    static final int CE_SURROGATE_TAG_ = 5;
+    /**
+     * Mask to get the primary strength of the collation element
+     */
+    static final int CE_PRIMARY_MASK_ = 0xFFFF0000;
+    /**
+     * Mask to get the secondary strength of the collation element
+     */
+    static final int CE_SECONDARY_MASK_ = 0xFF00;
+    /**
+     * Mask to get the tertiary strength of the collation element
+     */
+    static final int CE_TERTIARY_MASK_ = 0xFF;
+    /**
+     * Primary strength shift
+     */
+    static final int CE_PRIMARY_SHIFT_ = 16;
+    /**
+     * Secondary strength shift
+     */
+    static final int CE_SECONDARY_SHIFT_ = 8;
+    /**
+     * Continuation marker
+     */
+    static final int CE_CONTINUATION_MARKER_ = 0xC0;
+
+    /**
+     * Size of collator raw data headers and options before the expansion
+     * data. This is used when expansion ces are to be retrieved. ICU4C uses
+     * the expansion offset starting from UCollator.UColHeader, hence ICU4J
+     * will have to minus that off to get the right expansion ce offset. In
+     * number of ints.
+     */
+    int m_expansionOffset_;
+    /**
+     * Size of collator raw data headers, options and expansions before
+     * contraction data. This is used when contraction ces are to be retrieved.
+     * ICU4C uses contraction offset starting from UCollator.UColHeader, hence
+     * ICU4J will have to minus that off to get the right contraction ce
+     * offset. In number of chars.
+     */
+    int m_contractionOffset_;
+    /**
+     * Flag indicator if Jamo is special
+     */
+    boolean m_isJamoSpecial_;
+
+    // Collator options ------------------------------------------------------
+    
+    int m_defaultVariableTopValue_;
+    boolean m_defaultIsFrenchCollation_;
+    boolean m_defaultIsAlternateHandlingShifted_;
+    int m_defaultCaseFirst_;
+    boolean m_defaultIsCaseLevel_;
+    int m_defaultDecomposition_;
+    int m_defaultStrength_;
+    boolean m_defaultIsHiragana4_;
+    boolean m_defaultIsNumericCollation_;
+    
+    /**
+     * Value of the variable top
+     */
+    int m_variableTopValue_;
+    /**
+     * Attribute for special Hiragana
+     */
+    boolean m_isHiragana4_;
+    /**
+     * Case sorting customization
+     */
+    int m_caseFirst_;
+    /**
+     * Numeric collation option
+     */
+    boolean m_isNumericCollation_;
+
+    // end Collator options --------------------------------------------------
+
+    /**
+     * Expansion table
+     */
+    int m_expansion_[];
+    /**
+     * Contraction index table
+     */
+    char m_contractionIndex_[];
+    /**
+     * Contraction CE table
+     */
+    int m_contractionCE_[];
+    /**
+     * Data trie
+     */
+    IntTrie m_trie_;
+    /**
+     * Table to store all collation elements that are the last element of an
+     * expansion. This is for use in StringSearch.
+     */
+    int m_expansionEndCE_[];
+    /**
+     * Table to store the maximum size of any expansions that end with the
+     * corresponding collation element in m_expansionEndCE_. For use in
+     * StringSearch too
+     */
+    byte m_expansionEndCEMaxSize_[];
+    /**
+     * Heuristic table to store information on whether a char character is
+     * considered "unsafe". "Unsafe" character are combining marks or those
+     * belonging to some contraction sequence from the offset 1 onwards.
+     * E.g. if "ABC" is the only contraction, then 'B' and 'C' are considered
+     * unsafe. If we have another contraction "ZA" with the one above, then
+     * 'A', 'B', 'C' are "unsafe" but 'Z' is not.
+     */
+    byte m_unsafe_[];
+    /**
+     * Table to store information on whether a codepoint can occur as the last
+     * character in a contraction
+     */
+    byte m_contractionEnd_[];
+    /**
+     * Original collation rules
+     */
+    String m_rules_;
+    /**
+     * The smallest "unsafe" codepoint
+     */
+    char m_minUnsafe_;
+    /**
+     * The smallest codepoint that could be the end of a contraction
+     */
+    char m_minContractionEnd_;
+    /**
+     * General version of the collator
+     */
+    VersionInfo m_version_;
+    /**
+     * UCA version
+     */
+    VersionInfo m_UCA_version_;
+    /**
+     * UCD version
+     */
+    VersionInfo m_UCD_version_;
+
+    /**
+     * UnicodeData.txt property object
+     */
+    static final RuleBasedCollator UCA_;
+    /**
+     * UCA Constants
+     */
+    static final UCAConstants UCA_CONSTANTS_;
+    /**
+     * Table for UCA and builder use
+     */
+    static final char UCA_CONTRACTIONS_[];
+
+    private static boolean UCA_INIT_COMPLETE;
+
+    /**
+     * Implicit generator
+     */
+    static final ImplicitCEGenerator impCEGen_;
+//    /**
+//     * Implicit constants
+//     */
+//    static final int IMPLICIT_BASE_BYTE_;
+//    static final int IMPLICIT_LIMIT_BYTE_;
+//    static final int IMPLICIT_4BYTE_BOUNDARY_;
+//    static final int LAST_MULTIPLIER_;
+//    static final int LAST2_MULTIPLIER_;
+//    static final int IMPLICIT_BASE_3BYTE_;
+//    static final int IMPLICIT_BASE_4BYTE_;
+//    static final int BYTES_TO_AVOID_ = 3;
+//    static final int OTHER_COUNT_ = 256 - BYTES_TO_AVOID_;
+//    static final int LAST_COUNT_ = OTHER_COUNT_ / 2;
+//    /**
+//     * Room for intervening, without expanding to 5 bytes
+//     */
+//    static final int LAST_COUNT2_ = OTHER_COUNT_ / 21;
+//    static final int IMPLICIT_3BYTE_COUNT_ = 1;
+//    
+    static final byte SORT_LEVEL_TERMINATOR_ = 1;
+
+//  These are values from UCA required for
+//  implicit generation and supressing sort key compression
+//  they should regularly be in the UCA, but if one
+//  is running without UCA, it could be a problem
+     static final int maxRegularPrimary  = 0xA0;
+     static final int minImplicitPrimary = 0xE0;
+     static final int maxImplicitPrimary = 0xE4;
+
+
+    // block to initialise character property database
+    static
+    {
+        // take pains to let static class init succeed, otherwise the class itself won't exist and
+        // clients will get a NoClassDefFoundException.  Instead, make the constructors fail if
+        // we can't load the UCA data.
+
+        RuleBasedCollator iUCA_ = null;
+        UCAConstants iUCA_CONSTANTS_ = null;
+        char iUCA_CONTRACTIONS_[] = null;
+        ImplicitCEGenerator iimpCEGen_ = null;
+        try
+        {
+            // !!! note what's going on here...
+            // even though the static init of the class is not yet complete, we
+            // instantiate an instance of the class.  So we'd better be sure that
+            // instantiation doesn't rely on the static initialization that's
+            // not complete yet!
+            iUCA_ = new RuleBasedCollator();
+            iUCA_CONSTANTS_ = new UCAConstants();
+            iUCA_CONTRACTIONS_ = CollatorReader.read(iUCA_, iUCA_CONSTANTS_);
+
+            // called before doing canonical closure for the UCA.
+         	iimpCEGen_ = new ImplicitCEGenerator(minImplicitPrimary, maxImplicitPrimary);
+            //iimpCEGen_ = new ImplicitCEGenerator(iUCA_CONSTANTS_.PRIMARY_IMPLICIT_MIN_, iUCA_CONSTANTS_.PRIMARY_IMPLICIT_MAX_);
+            iUCA_.init();
+            ICUResourceBundle rb = (ICUResourceBundle)UResourceBundle.getBundleInstance(ICUResourceBundle.ICU_COLLATION_BASE_NAME, ULocale.ENGLISH);
+            iUCA_.m_rules_ = (String)rb.getObject("UCARules");
+        }
+        catch (MissingResourceException ex)
+        {
+//             throw ex;
+        }
+        catch (IOException e)
+        {
+           // e.printStackTrace();
+//             throw new MissingResourceException(e.getMessage(),"","");
+        }
+
+        UCA_ = iUCA_;
+        UCA_CONSTANTS_ = iUCA_CONSTANTS_;
+        UCA_CONTRACTIONS_ = iUCA_CONTRACTIONS_;
+        impCEGen_ = iimpCEGen_;
+
+        UCA_INIT_COMPLETE = true;
+    }
+
+
+    private static void checkUCA() throws MissingResourceException {
+        if (UCA_INIT_COMPLETE && UCA_ == null) {
+            throw new MissingResourceException("Collator UCA data unavailable", "", "");
+        }
+    }
+        
+    // package private constructors ------------------------------------------
+
+    /**
+    * <p>Private contructor for use by subclasses.
+    * Public access to creating Collators is handled by the API
+    * Collator.getInstance() or RuleBasedCollator(String rules).
+    * </p>
+    * <p>
+    * This constructor constructs the UCA collator internally
+    * </p>
+    */
+    RuleBasedCollator()
+    {
+        checkUCA();
+        initUtility();
+    }
+
+    /**
+     * Constructors a RuleBasedCollator from the argument locale.
+     * If no resource bundle is associated with the locale, UCA is used
+     * instead.
+     * @param locale
+     */
+    RuleBasedCollator(ULocale locale)
+    {
+        checkUCA();
+        ICUResourceBundle rb = (ICUResourceBundle)UResourceBundle.getBundleInstance(ICUResourceBundle.ICU_COLLATION_BASE_NAME, locale);
+        initUtility();
+        if (rb != null) {
+            try {
+                // Use keywords, if supplied for lookup
+                String collkey = locale.getKeywordValue("collation");
+                  if(collkey == null) {
+                      collkey = rb.getStringWithFallback("collations/default");
+                }
+                       
+                // collations/default will always give a string back
+                // keyword for the real collation data
+                // if "collations/collkey" will return null if collkey == null 
+                ICUResourceBundle elements = rb.getWithFallback("collations/" + collkey);
+                if (elements != null) {
+                    // TODO: Determine actual & valid locale correctly
+                    ULocale uloc = rb.getULocale();
+                    setLocale(uloc, uloc);
+
+                    m_rules_ = elements.getString("Sequence");
+                    ByteBuffer buf = elements.get("%%CollationBin").getBinary();
+                    // %%CollationBin
+                    if(buf!=null){
+                    //     m_rules_ = (String)rules[1][1];
+                        byte map[] = buf.array();
+                        CollatorReader.initRBC(this, map);
+                        /*
+                        BufferedInputStream input =
+                                                 new BufferedInputStream(
+                                                    new ByteArrayInputStream(map));
+                        /*
+                        CollatorReader reader = new CollatorReader(input, false);
+                        if (map.length > MIN_BINARY_DATA_SIZE_) {
+                            reader.read(this, null);
+                        }
+                        else {
+                            reader.readHeader(this);
+                            reader.readOptions(this);
+                            // duplicating UCA_'s data
+                            setWithUCATables();
+                        }
+                        */
+                        // at this point, we have read in the collator
+                        // now we need to check whether the binary image has
+                        // the right UCA and other versions
+                        if(!m_UCA_version_.equals(UCA_.m_UCA_version_) ||
+                        !m_UCD_version_.equals(UCA_.m_UCD_version_)) {
+                            init(m_rules_);
+                            return;
+                        }
+                        init();
+                        return;
+                    }
+                    else {
+                        // due to resource redirection ICUListResourceBundle does not
+                        // raise missing resource error
+                        //throw new MissingResourceException("Could not get resource for constructing RuleBasedCollator","com.ibm.icu.impl.data.LocaleElements_"+locale.toString(), "%%CollationBin");
+                        
+                        init(m_rules_);
+                        return;
+                    }
+                }
+            }
+            catch (Exception e) {
+                // e.printStackTrace();
+                // if failed use UCA.
+            }
+        }
+        setWithUCAData();
+    }
+
+    // package private methods -----------------------------------------------
+
+    /**
+     * Sets this collator to use the tables in UCA. Note options not taken
+     * care of here.
+     */
+    final void setWithUCATables()
+    {
+        m_contractionOffset_ = UCA_.m_contractionOffset_;
+        m_expansionOffset_ = UCA_.m_expansionOffset_;
+        m_expansion_ = UCA_.m_expansion_;
+        m_contractionIndex_ = UCA_.m_contractionIndex_;
+        m_contractionCE_ = UCA_.m_contractionCE_;
+        m_trie_ = UCA_.m_trie_;
+        m_expansionEndCE_ = UCA_.m_expansionEndCE_;
+        m_expansionEndCEMaxSize_ = UCA_.m_expansionEndCEMaxSize_;
+        m_unsafe_ = UCA_.m_unsafe_;
+        m_contractionEnd_ = UCA_.m_contractionEnd_;
+        m_minUnsafe_ = UCA_.m_minUnsafe_;
+        m_minContractionEnd_ = UCA_.m_minContractionEnd_;
+    }
+
+    /**
+     * Sets this collator to use the all options and tables in UCA.
+     */
+    final void setWithUCAData()
+    {
+        latinOneFailed_ = true;
+
+        m_addition3_ = UCA_.m_addition3_;
+        m_bottom3_ = UCA_.m_bottom3_;
+        m_bottomCount3_ = UCA_.m_bottomCount3_;
+        m_caseFirst_ = UCA_.m_caseFirst_;
+        m_caseSwitch_ = UCA_.m_caseSwitch_;
+        m_common3_ = UCA_.m_common3_;
+        m_contractionOffset_ = UCA_.m_contractionOffset_;
+        setDecomposition(UCA_.getDecomposition());
+        m_defaultCaseFirst_ = UCA_.m_defaultCaseFirst_;
+        m_defaultDecomposition_ = UCA_.m_defaultDecomposition_;
+        m_defaultIsAlternateHandlingShifted_
+                                   = UCA_.m_defaultIsAlternateHandlingShifted_;
+        m_defaultIsCaseLevel_ = UCA_.m_defaultIsCaseLevel_;
+        m_defaultIsFrenchCollation_ = UCA_.m_defaultIsFrenchCollation_;
+        m_defaultIsHiragana4_ = UCA_.m_defaultIsHiragana4_;
+        m_defaultStrength_ = UCA_.m_defaultStrength_;
+        m_defaultVariableTopValue_ = UCA_.m_defaultVariableTopValue_;
+        m_defaultIsNumericCollation_ = UCA_.m_defaultIsNumericCollation_;
+        m_expansionOffset_ = UCA_.m_expansionOffset_;
+        m_isAlternateHandlingShifted_ = UCA_.m_isAlternateHandlingShifted_;
+        m_isCaseLevel_ = UCA_.m_isCaseLevel_;
+        m_isFrenchCollation_ = UCA_.m_isFrenchCollation_;
+        m_isHiragana4_ = UCA_.m_isHiragana4_;
+        m_isJamoSpecial_ = UCA_.m_isJamoSpecial_;
+        m_isSimple3_ = UCA_.m_isSimple3_;
+        m_mask3_ = UCA_.m_mask3_;
+        m_minContractionEnd_ = UCA_.m_minContractionEnd_;
+        m_minUnsafe_ = UCA_.m_minUnsafe_;
+        m_rules_ = UCA_.m_rules_;
+        setStrength(UCA_.getStrength());
+        m_top3_ = UCA_.m_top3_;
+        m_topCount3_ = UCA_.m_topCount3_;
+        m_variableTopValue_ = UCA_.m_variableTopValue_;
+        m_isNumericCollation_ = UCA_.m_isNumericCollation_;
+        setWithUCATables();
+        latinOneFailed_ = false;
+    }
+
+    /**
+     * Test whether a char character is potentially "unsafe" for use as a
+     * collation starting point. "Unsafe" characters are combining marks or
+     * those belonging to some contraction sequence from the offset 1 onwards.
+     * E.g. if "ABC" is the only contraction, then 'B' and
+     * 'C' are considered unsafe. If we have another contraction "ZA" with
+     * the one above, then 'A', 'B', 'C' are "unsafe" but 'Z' is not.
+     * @param ch character to determin
+     * @return true if ch is unsafe, false otherwise
+     */
+    final boolean isUnsafe(char ch)
+    {
+        if (ch < m_minUnsafe_) {
+            return false;
+        }
+        
+        if (ch >= (HEURISTIC_SIZE_ << HEURISTIC_SHIFT_)) {
+            if (UTF16.isLeadSurrogate(ch) 
+                || UTF16.isTrailSurrogate(ch)) {
+                //  Trail surrogate are always considered unsafe.
+                return true;
+            }
+            ch &= HEURISTIC_OVERFLOW_MASK_;
+            ch += HEURISTIC_OVERFLOW_OFFSET_;
+        }
+        int value = m_unsafe_[ch >> HEURISTIC_SHIFT_];
+        return ((value >> (ch & HEURISTIC_MASK_)) & 1) != 0;
+    }
+
+    /**
+     * Approximate determination if a char character is at a contraction end.
+     * Guaranteed to be true if a character is at the end of a contraction,
+     * otherwise it is not deterministic.
+     * @param ch character to be determined
+     */
+    final boolean isContractionEnd(char ch)
+    {
+        if (UTF16.isTrailSurrogate(ch)) {
+            return true;
+        }
+
+        if (ch < m_minContractionEnd_) {
+            return false;
+        }
+
+        if (ch >= (HEURISTIC_SIZE_ << HEURISTIC_SHIFT_)) {
+            ch &= HEURISTIC_OVERFLOW_MASK_;
+            ch += HEURISTIC_OVERFLOW_OFFSET_;
+        }
+        int value = m_contractionEnd_[ch >> HEURISTIC_SHIFT_];
+        return ((value >> (ch & HEURISTIC_MASK_)) & 1) != 0;
+    }
+
+    /**
+     * Retrieve the tag of a special ce
+     * @param ce ce to test
+     * @return tag of ce
+     */
+    static int getTag(int ce)
+    {
+        return (ce & CE_TAG_MASK_) >> CE_TAG_SHIFT_;
+    }
+
+    /**
+     * Checking if ce is special
+     * @param ce to check
+     * @return true if ce is special
+     */
+    static boolean isSpecial(int ce)
+    {
+        return (ce & CE_SPECIAL_FLAG_) == CE_SPECIAL_FLAG_;
+    }
+
+    /**
+     * Checks if the argument ce is a continuation
+     * @param ce collation element to test
+     * @return true if ce is a continuation
+     */
+    static final boolean isContinuation(int ce)
+    {
+        return ce != CollationElementIterator.NULLORDER
+                       && (ce & CE_CONTINUATION_TAG_) == CE_CONTINUATION_TAG_;
+    }
+
+    // private inner classes ------------------------------------------------
+
+    // private variables -----------------------------------------------------
+
+    /**
+     * The smallest natural unsafe or contraction end char character before
+     * tailoring.
+     * This is a combining mark.
+     */
+    private static final int DEFAULT_MIN_HEURISTIC_ = 0x300;
+    /**
+     * Heuristic table table size. Size is 32 bytes, 1 bit for each
+     * latin 1 char, and some power of two for hashing the rest of the chars.
+     * Size in bytes.
+     */
+    private static final char HEURISTIC_SIZE_ = 1056;
+    /**
+     * Mask value down to "some power of two" - 1,
+     * number of bits, not num of bytes.
+     */
+    private static final char HEURISTIC_OVERFLOW_MASK_ = 0x1fff;
+    /**
+     * Unsafe character shift
+     */
+    private static final int HEURISTIC_SHIFT_ = 3;
+    /**
+     * Unsafe character addition for character too large, it has to be folded
+     * then incremented.
+     */
+    private static final char HEURISTIC_OVERFLOW_OFFSET_ = 256;
+    /**
+     * Mask value to get offset in heuristic table.
+     */
+    private static final char HEURISTIC_MASK_ = 7;
+
+    private int m_caseSwitch_;
+    private int m_common3_;
+    private int m_mask3_;
+    /**
+     * When switching case, we need to add or subtract different values.
+     */
+    private int m_addition3_;
+    /**
+     * Upper range when compressing
+     */
+    private int m_top3_;
+    /**
+     * Upper range when compressing
+     */
+    private int m_bottom3_;
+    private int m_topCount3_;
+    private int m_bottomCount3_;
+    /**
+     * Case first constants
+     */
+    private static final int CASE_SWITCH_ = 0xC0;
+    private static final int NO_CASE_SWITCH_ = 0;
+    /**
+     * Case level constants
+     */
+    private static final int CE_REMOVE_CASE_ = 0x3F;
+    private static final int CE_KEEP_CASE_ = 0xFF;
+    /**
+     * Case strength mask
+     */
+    private static final int CE_CASE_MASK_3_ = 0xFF;
+    /**
+     * Sortkey size factor. Values can be changed.
+     */
+    private static final double PROPORTION_2_ = 0.5;
+    private static final double PROPORTION_3_ = 0.667;
+
+    // These values come from the UCA ----------------------------------------
+
+    /**
+     * This is an enum that lists magic special byte values from the
+     * fractional UCA
+     */
+    private static final byte BYTE_ZERO_ = 0x0;
+    private static final byte BYTE_LEVEL_SEPARATOR_ = (byte)0x01;
+    private static final byte BYTE_SORTKEY_GLUE_ = (byte)0x02;
+    private static final byte BYTE_SHIFT_PREFIX_ = (byte)0x03;
+    /*private*/ static final byte BYTE_UNSHIFTED_MIN_ = BYTE_SHIFT_PREFIX_;
+    private static final byte BYTE_FIRST_UCA_ = BYTE_COMMON_;
+    static final byte CODAN_PLACEHOLDER = 0x24;
+    private static final byte BYTE_LAST_LATIN_PRIMARY_ = (byte)0x4C;
+    private static final byte BYTE_FIRST_NON_LATIN_PRIMARY_ = (byte)0x4D;
+    private static final byte BYTE_UNSHIFTED_MAX_ = (byte)0xFF;
+    private static final int TOTAL_2_ = COMMON_TOP_2_ - COMMON_BOTTOM_2_ - 1;
+    private static final int FLAG_BIT_MASK_CASE_SWITCH_OFF_ = 0x80;
+    private static final int FLAG_BIT_MASK_CASE_SWITCH_ON_ = 0x40;
+    private static final int COMMON_TOP_CASE_SWITCH_OFF_3_ = 0x85;
+    private static final int COMMON_TOP_CASE_SWITCH_LOWER_3_ = 0x45;
+    private static final int COMMON_TOP_CASE_SWITCH_UPPER_3_ = 0xC5;
+    private static final int COMMON_BOTTOM_3_ = 0x05;
+    private static final int COMMON_BOTTOM_CASE_SWITCH_UPPER_3_ = 0x86;
+    private static final int COMMON_BOTTOM_CASE_SWITCH_LOWER_3_ =
+                                                              COMMON_BOTTOM_3_;
+    private static final int TOP_COUNT_2_ = (int)(PROPORTION_2_ * TOTAL_2_);
+    private static final int BOTTOM_COUNT_2_ = TOTAL_2_ - TOP_COUNT_2_;
+    private static final int COMMON_2_ = COMMON_BOTTOM_2_;
+    private static final int COMMON_UPPER_FIRST_3_ = 0xC5;
+    private static final int COMMON_NORMAL_3_ = COMMON_BOTTOM_3_;
+    private static final int COMMON_4_ = (byte)0xFF;
+
+
+
+    /**
+     * Minimum size required for the binary collation data in bytes.
+     * Size of UCA header + size of options to 4 bytes
+     */
+    //private static final int MIN_BINARY_DATA_SIZE_ = (42 + 25) << 2;
+
+    /**
+     * If this collator is to generate only simple tertiaries for fast path
+     */
+    private boolean m_isSimple3_;
+
+    /**
+     * French collation sorting flag
+     */
+    private boolean m_isFrenchCollation_;
+    /**
+     * Flag indicating if shifted is requested for Quaternary alternate
+     * handling. If this is not true, the default for alternate handling will
+     * be non-ignorable.
+     */
+    private boolean m_isAlternateHandlingShifted_;
+    /**
+     * Extra case level for sorting
+     */
+    private boolean m_isCaseLevel_;
+
+    private static final int SORT_BUFFER_INIT_SIZE_ = 128;
+    private static final int SORT_BUFFER_INIT_SIZE_1_ =
+                                                    SORT_BUFFER_INIT_SIZE_ << 3;
+    private static final int SORT_BUFFER_INIT_SIZE_2_ = SORT_BUFFER_INIT_SIZE_;
+    private static final int SORT_BUFFER_INIT_SIZE_3_ = SORT_BUFFER_INIT_SIZE_;
+    private static final int SORT_BUFFER_INIT_SIZE_CASE_ =
+                                                SORT_BUFFER_INIT_SIZE_ >> 2;
+    private static final int SORT_BUFFER_INIT_SIZE_4_ = SORT_BUFFER_INIT_SIZE_;
+
+    private static final int CE_CONTINUATION_TAG_ = 0xC0;
+    private static final int CE_REMOVE_CONTINUATION_MASK_ = 0xFFFFFF3F;
+
+    private static final int LAST_BYTE_MASK_ = 0xFF;
+
+    private static final int CE_RESET_TOP_VALUE_ = 0x9F000303;
+    private static final int CE_NEXT_TOP_VALUE_ = 0xE8960303;
+
+    private static final byte SORT_CASE_BYTE_START_ = (byte)0x80;
+    private static final byte SORT_CASE_SHIFT_START_ = (byte)7;
+
+    /**
+     * CE buffer size
+     */
+    private static final int CE_BUFFER_SIZE_ = 512;
+
+    // variables for Latin-1 processing
+    boolean latinOneUse_        = false;
+    boolean latinOneRegenTable_ = false;
+    boolean latinOneFailed_     = false;
+
+    int latinOneTableLen_ = 0;
+    int latinOneCEs_[] = null;
+    /**
+     * Bunch of utility iterators
+     */
+    private StringUCharacterIterator m_srcUtilIter_;
+    private CollationElementIterator m_srcUtilColEIter_;
+    private StringUCharacterIterator m_tgtUtilIter_;
+    private CollationElementIterator m_tgtUtilColEIter_;
+    /**
+     * Utility comparison flags
+     */
+    private boolean m_utilCompare0_;
+    private boolean m_utilCompare1_;
+    private boolean m_utilCompare2_;
+    private boolean m_utilCompare3_;
+    private boolean m_utilCompare4_;
+    private boolean m_utilCompare5_;
+    /**
+     * Utility byte buffer
+     */
+    private byte m_utilBytes0_[];
+    private byte m_utilBytes1_[];
+    private byte m_utilBytes2_[];
+    private byte m_utilBytes3_[];
+    private byte m_utilBytes4_[];
+    private byte m_utilBytes5_[];
+    private RawCollationKey m_utilRawCollationKey_;
+
+    private int m_utilBytesCount0_;
+    private int m_utilBytesCount1_;
+    private int m_utilBytesCount2_;
+    private int m_utilBytesCount3_;
+    private int m_utilBytesCount4_;
+    private int m_utilBytesCount5_;
+    private int m_utilCount0_;
+    private int m_utilCount1_;
+    private int m_utilCount2_;
+    private int m_utilCount3_;
+    private int m_utilCount4_;
+    private int m_utilCount5_;
+
+    private int m_utilFrenchStart_;
+    private int m_utilFrenchEnd_;
+
+    /**
+     * Preparing the CE buffers. will be filled during the primary phase
+     */
+    private int m_srcUtilCEBuffer_[];
+    private int m_tgtUtilCEBuffer_[];
+    private int m_srcUtilCEBufferSize_;
+    private int m_tgtUtilCEBufferSize_;
+
+    private int m_srcUtilContOffset_;
+    private int m_tgtUtilContOffset_;
+
+    private int m_srcUtilOffset_;
+    private int m_tgtUtilOffset_;
+
+    // private methods -------------------------------------------------------
+
+    private void init(String rules) throws Exception
+    {
+        setWithUCAData();
+        CollationParsedRuleBuilder builder
+                                       = new CollationParsedRuleBuilder(rules);
+        builder.setRules(this);
+        m_rules_ = rules;
+        init();
+        initUtility();
+    }
+    
+    private final int compareRegular(String source, String target, int offset) {
+        int strength = getStrength();
+        // setting up the collator parameters
+        m_utilCompare0_ = m_isCaseLevel_;
+        m_utilCompare1_ = true;
+        m_utilCompare2_ = strength >= SECONDARY;
+        m_utilCompare3_ = strength >= TERTIARY;
+        m_utilCompare4_ = strength >= QUATERNARY;
+        m_utilCompare5_ = strength == IDENTICAL;
+        boolean doFrench = m_isFrenchCollation_ && m_utilCompare2_;
+        boolean doShift4 = m_isAlternateHandlingShifted_ && m_utilCompare4_;
+        boolean doHiragana4 = m_isHiragana4_ && m_utilCompare4_;
+
+        if (doHiragana4 && doShift4) {
+            String sourcesub = source.substring(offset);
+            String targetsub = target.substring(offset);
+            return compareBySortKeys(sourcesub, targetsub);
+        }
+
+        // This is the lowest primary value that will not be ignored if shifted
+        int lowestpvalue = m_isAlternateHandlingShifted_
+                                            ? m_variableTopValue_ << 16 : 0;
+        m_srcUtilCEBufferSize_ = 0;
+        m_tgtUtilCEBufferSize_ = 0;
+        int result = doPrimaryCompare(doHiragana4, lowestpvalue, source,
+                                      target, offset);
+        if (m_srcUtilCEBufferSize_ == -1
+            && m_tgtUtilCEBufferSize_ == -1) {
+            // since the cebuffer is cleared when we have determined that
+            // either source is greater than target or vice versa, the return
+            // result is the comparison result and not the hiragana result
+            return result;
+        }
+
+        int hiraganaresult = result;
+
+        if (m_utilCompare2_) {
+            result = doSecondaryCompare(doFrench);
+            if (result != 0) {
+                return result;
+            }
+        }
+        // doing the case bit
+        if (m_utilCompare0_) {
+            result = doCaseCompare();
+            if (result != 0) {
+                return result;
+            }
+        }
+        // Tertiary level
+        if (m_utilCompare3_) {
+            result = doTertiaryCompare();
+            if (result != 0) {
+                return result;
+            }
+        }
+
+        if (doShift4) {  // checkQuad
+            result = doQuaternaryCompare(lowestpvalue);
+            if (result != 0) {
+                return result;
+            }
+        }
+        else if (doHiragana4 && hiraganaresult != 0) {
+            // If we're fine on quaternaries, we might be different
+            // on Hiragana. This, however, might fail us in shifted.
+            return hiraganaresult;
+        }
+
+        // For IDENTICAL comparisons, we use a bitwise character comparison
+        // as a tiebreaker if all else is equal.
+        // Getting here  should be quite rare - strings are not identical -
+        // that is checked first, but compared == through all other checks.
+        if (m_utilCompare5_) {
+            return doIdenticalCompare(source, target, offset, true);
+        }
+        return 0;
+    }
+
+    /**
+     * Gets the 2 bytes of primary order and adds it to the primary byte array
+     * @param ce current ce
+     * @param notIsContinuation flag indicating if the current bytes belong to
+     *          a continuation ce
+     * @param doShift flag indicating if ce is to be shifted
+     * @param leadPrimary lead primary used for compression
+     * @param commonBottom4 common byte value for Quaternary
+     * @param bottomCount4 smallest byte value for Quaternary
+     * @return the new lead primary for compression
+     */
+    private final int doPrimaryBytes(int ce, boolean notIsContinuation,
+                                  boolean doShift, int leadPrimary,
+                                  int commonBottom4, int bottomCount4)
+    {
+
+        int p2 = (ce >>= 16) & LAST_BYTE_MASK_; // in ints for unsigned
+        int p1 = ce >>> 8;  // comparison
+        if (doShift) {
+            if (m_utilCount4_ > 0) {
+                while (m_utilCount4_ > bottomCount4) {
+                    m_utilBytes4_ = append(m_utilBytes4_, m_utilBytesCount4_,
+                                         (byte)(commonBottom4 + bottomCount4));
+                    m_utilBytesCount4_ ++;
+                    m_utilCount4_ -= bottomCount4;
+                }
+                m_utilBytes4_ = append(m_utilBytes4_, m_utilBytesCount4_,
+                                       (byte)(commonBottom4
+                                              + (m_utilCount4_ - 1)));
+                m_utilBytesCount4_ ++;
+                m_utilCount4_ = 0;
+            }
+            // dealing with a variable and we're treating them as shifted
+            // This is a shifted ignorable
+            if (p1 != 0) {
+                // we need to check this since we could be in continuation
+                m_utilBytes4_ = append(m_utilBytes4_, m_utilBytesCount4_,
+                                       (byte)p1);
+                m_utilBytesCount4_ ++;
+            }
+            if (p2 != 0) {
+                m_utilBytes4_ = append(m_utilBytes4_, m_utilBytesCount4_,
+                                       (byte)p2);
+                m_utilBytesCount4_ ++;
+            }
+        }
+        else {
+            // Note: This code assumes that the table is well built
+            // i.e. not having 0 bytes where they are not supposed to be.
+            // Usually, we'll have non-zero primary1 & primary2, except
+            // in cases of LatinOne and friends, when primary2 will be
+            // regular and simple sortkey calc
+            if (p1 != CollationElementIterator.IGNORABLE) {
+                if (notIsContinuation) {
+                    if (leadPrimary == p1) {
+                        m_utilBytes1_ = append(m_utilBytes1_,
+                                               m_utilBytesCount1_, (byte)p2);
+                        m_utilBytesCount1_ ++;
+                    }
+                    else {
+                        if (leadPrimary != 0) {
+                            m_utilBytes1_ = append(m_utilBytes1_,
+                                                   m_utilBytesCount1_,
+                                    ((p1 > leadPrimary)
+                                            ? BYTE_UNSHIFTED_MAX_
+                                            : BYTE_UNSHIFTED_MIN_));
+                            m_utilBytesCount1_ ++;
+                        }
+                        if (p2 == CollationElementIterator.IGNORABLE) {
+                            // one byter, not compressed
+                            m_utilBytes1_ = append(m_utilBytes1_,
+                                                   m_utilBytesCount1_,
+                                                   (byte)p1);
+                            m_utilBytesCount1_ ++;
+                            leadPrimary = 0;
+                        }
+                        else if (p1 < BYTE_FIRST_NON_LATIN_PRIMARY_
+                              || (p1 > maxRegularPrimary
+                    //> (RuleBasedCollator.UCA_CONSTANTS_.LAST_NON_VARIABLE_[0]
+                    //                                              >>> 24)
+                                && p1 < minImplicitPrimary
+                    //< (RuleBasedCollator.UCA_CONSTANTS_.FIRST_IMPLICIT_[0]
+                    //                                              >>> 24)
+                    )) {
+                                // not compressible
+                                leadPrimary = 0;
+                                m_utilBytes1_ = append(m_utilBytes1_,
+                                                       m_utilBytesCount1_,
+                                                       (byte)p1);
+                                m_utilBytesCount1_ ++;
+                                m_utilBytes1_ = append(m_utilBytes1_,
+                                                       m_utilBytesCount1_,
+                                                       (byte)p2);
+                                m_utilBytesCount1_ ++;
+                        }
+                        else { // compress
+                            leadPrimary = p1;
+                            m_utilBytes1_ = append(m_utilBytes1_,
+                                                   m_utilBytesCount1_,
+                                                   (byte)p1);
+                            m_utilBytesCount1_ ++;
+                            m_utilBytes1_ = append(m_utilBytes1_,
+                                                  m_utilBytesCount1_, (byte)p2);
+                            m_utilBytesCount1_ ++;
+                        }
+                    }
+                }
+                else {
+                    // continuation, add primary to the key, no compression
+                    m_utilBytes1_ = append(m_utilBytes1_,
+                                           m_utilBytesCount1_, (byte)p1);
+                    m_utilBytesCount1_ ++;
+                    if (p2 != CollationElementIterator.IGNORABLE) {
+                        m_utilBytes1_ = append(m_utilBytes1_,
+                                           m_utilBytesCount1_, (byte)p2);
+                        // second part
+                        m_utilBytesCount1_ ++;
+                    }
+                }
+            }
+        }
+        return leadPrimary;
+    }
+
+    /**
+     * Gets the secondary byte and adds it to the secondary byte array
+     * @param ce current ce
+     * @param notIsContinuation flag indicating if the current bytes belong to
+     *          a continuation ce
+     * @param doFrench flag indicator if french sort is to be performed
+     */
+    private final void doSecondaryBytes(int ce, boolean notIsContinuation,
+                                        boolean doFrench)
+    {
+        int s = (ce >>= 8) & LAST_BYTE_MASK_; // int for comparison
+        if (s != 0) {
+            if (!doFrench) {
+                // This is compression code.
+                if (s == COMMON_2_ && notIsContinuation) {
+                   m_utilCount2_ ++;
+                }
+                else {
+                    if (m_utilCount2_ > 0) {
+                        if (s > COMMON_2_) { // not necessary for 4th level.
+                            while (m_utilCount2_ > TOP_COUNT_2_) {
+                                m_utilBytes2_ = append(m_utilBytes2_,
+                                        m_utilBytesCount2_,
+                                        (byte)(COMMON_TOP_2_ - TOP_COUNT_2_));
+                                m_utilBytesCount2_ ++;
+                                m_utilCount2_ -= TOP_COUNT_2_;
+                            }
+                            m_utilBytes2_ = append(m_utilBytes2_,
+                                                   m_utilBytesCount2_,
+                                                   (byte)(COMMON_TOP_2_
+                                                       - (m_utilCount2_ - 1)));
+                            m_utilBytesCount2_ ++;
+                        }
+                        else {
+                            while (m_utilCount2_ > BOTTOM_COUNT_2_) {
+                                m_utilBytes2_ = append(m_utilBytes2_,
+                                                       m_utilBytesCount2_,
+                                    (byte)(COMMON_BOTTOM_2_ + BOTTOM_COUNT_2_));
+                                m_utilBytesCount2_ ++;
+                                m_utilCount2_ -= BOTTOM_COUNT_2_;
+                            }
+                            m_utilBytes2_ = append(m_utilBytes2_,
+                                                   m_utilBytesCount2_,
+                                                   (byte)(COMMON_BOTTOM_2_
+                                                       + (m_utilCount2_ - 1)));
+                            m_utilBytesCount2_ ++;
+                        }
+                        m_utilCount2_ = 0;
+                    }
+                    m_utilBytes2_ = append(m_utilBytes2_, m_utilBytesCount2_,
+                                           (byte)s);
+                    m_utilBytesCount2_ ++;
+                }
+            }
+            else {
+                  m_utilBytes2_ = append(m_utilBytes2_, m_utilBytesCount2_,
+                                         (byte)s);
+                  m_utilBytesCount2_ ++;
+                  // Do the special handling for French secondaries
+                  // We need to get continuation elements and do intermediate
+                  // restore
+                  // abc1c2c3de with french secondaries need to be edc1c2c3ba
+                  // NOT edc3c2c1ba
+                  if (notIsContinuation) {
+                        if (m_utilFrenchStart_ != -1) {
+                            // reverse secondaries from frenchStartPtr up to
+                            // frenchEndPtr
+                            reverseBuffer(m_utilBytes2_);
+                            m_utilFrenchStart_ = -1;
+                        }
+                  }
+                  else {
+                        if (m_utilFrenchStart_ == -1) {
+                            m_utilFrenchStart_  = m_utilBytesCount2_ - 2;
+                        }
+                        m_utilFrenchEnd_ = m_utilBytesCount2_ - 1;
+                  }
+            }
+        }
+    }
+
+    /**
+     * Reverse the argument buffer
+     * @param buffer to reverse
+     */
+    private void reverseBuffer(byte buffer[])
+    {
+        int start = m_utilFrenchStart_;
+        int end = m_utilFrenchEnd_;
+        while (start < end) {
+            byte b = buffer[start];
+            buffer[start ++] = buffer[end];
+            buffer[end --] = b;
+        }
+    }
+
+    /**
+     * Insert the case shifting byte if required
+     * @param caseshift value
+     * @return new caseshift value
+     */
+    private final int doCaseShift(int caseshift)
+    {
+        if (caseshift  == 0) {
+            m_utilBytes0_ = append(m_utilBytes0_, m_utilBytesCount0_,
+                                   SORT_CASE_BYTE_START_);
+            m_utilBytesCount0_ ++;
+            caseshift = SORT_CASE_SHIFT_START_;
+        }
+        return caseshift;
+    }
+
+    /**
+     * Performs the casing sort
+     * @param tertiary byte in ints for easy comparison
+     * @param notIsContinuation flag indicating if the current bytes belong to
+     *          a continuation ce
+     * @param caseshift
+     * @return the new value of case shift
+     */
+    private final int doCaseBytes(int tertiary, boolean notIsContinuation,
+                                  int caseshift)
+    {
+        caseshift = doCaseShift(caseshift);
+
+        if (notIsContinuation && tertiary != 0) {
+            byte casebits = (byte)(tertiary & 0xC0);
+            if (m_caseFirst_ == AttributeValue.UPPER_FIRST_) {
+                if (casebits == 0) {
+                    m_utilBytes0_[m_utilBytesCount0_ - 1]
+                                                      |= (1 << (-- caseshift));
+                }
+                else {
+                     // second bit
+                     caseshift = doCaseShift(caseshift - 1);
+                     m_utilBytes0_[m_utilBytesCount0_ - 1]
+                                    |= ((casebits >> 6) & 1) << (-- caseshift);
+                }
+            }
+            else {
+                if (casebits != 0) {
+                    m_utilBytes0_[m_utilBytesCount0_ - 1]
+                                                        |= 1 << (-- caseshift);
+                    // second bit
+                    caseshift = doCaseShift(caseshift);
+                    m_utilBytes0_[m_utilBytesCount0_ - 1]
+                                  |= ((casebits >> 7) & 1) << (-- caseshift);
+                }
+                else {
+                    caseshift --;
+                }
+            }
+        }
+
+        return caseshift;
+    }
+
+    /**
+     * Gets the tertiary byte and adds it to the tertiary byte array
+     * @param tertiary byte in int for easy comparison
+     * @param notIsContinuation flag indicating if the current bytes belong to
+     *          a continuation ce
+     */
+    private final void doTertiaryBytes(int tertiary, boolean notIsContinuation)
+    {
+        if (tertiary != 0) {
+            // This is compression code.
+            // sequence size check is included in the if clause
+            if (tertiary == m_common3_ && notIsContinuation) {
+                 m_utilCount3_ ++;
+            }
+            else {
+                int common3 = m_common3_ & LAST_BYTE_MASK_;
+                if (tertiary > common3 && m_common3_ == COMMON_NORMAL_3_) {
+                    tertiary += m_addition3_;
+                }
+                else if (tertiary <= common3
+                         && m_common3_ == COMMON_UPPER_FIRST_3_) {
+                    tertiary -= m_addition3_;
+                }
+                if (m_utilCount3_ > 0) {
+                    if (tertiary > common3) {
+                        while (m_utilCount3_ > m_topCount3_) {
+                            m_utilBytes3_ = append(m_utilBytes3_,
+                                                   m_utilBytesCount3_,
+                                            (byte)(m_top3_ - m_topCount3_));
+                            m_utilBytesCount3_ ++;
+                            m_utilCount3_ -= m_topCount3_;
+                        }
+                        m_utilBytes3_ = append(m_utilBytes3_,
+                                               m_utilBytesCount3_,
+                                               (byte)(m_top3_
+                                                      - (m_utilCount3_ - 1)));
+                        m_utilBytesCount3_ ++;
+                    }
+                    else {
+                        while (m_utilCount3_ > m_bottomCount3_) {
+                            m_utilBytes3_ = append(m_utilBytes3_,
+                                                   m_utilBytesCount3_,
+                                         (byte)(m_bottom3_ + m_bottomCount3_));
+                            m_utilBytesCount3_ ++;
+                            m_utilCount3_ -= m_bottomCount3_;
+                        }
+                        m_utilBytes3_ = append(m_utilBytes3_,
+                                               m_utilBytesCount3_,
+                                               (byte)(m_bottom3_
+                                                      + (m_utilCount3_ - 1)));
+                        m_utilBytesCount3_ ++;
+                    }
+                    m_utilCount3_ = 0;
+                }
+                m_utilBytes3_ = append(m_utilBytes3_, m_utilBytesCount3_,
+                                       (byte)tertiary);
+                m_utilBytesCount3_ ++;
+            }
+        }
+    }
+
+    /**
+     * Gets the Quaternary byte and adds it to the Quaternary byte array
+     * @param isCodePointHiragana flag indicator if the previous codepoint
+     *          we dealt with was Hiragana
+     * @param commonBottom4 smallest common Quaternary byte
+     * @param bottomCount4 smallest Quaternary byte
+     * @param hiragana4 hiragana Quaternary byte
+     */
+    private final void doQuaternaryBytes(boolean isCodePointHiragana,
+                                      int commonBottom4, int bottomCount4,
+                                      byte hiragana4)
+    {
+        if (isCodePointHiragana) { // This was Hiragana, need to note it
+            if (m_utilCount4_ > 0) { // Close this part
+                while (m_utilCount4_ > bottomCount4) {
+                    m_utilBytes4_ = append(m_utilBytes4_, m_utilBytesCount4_,
+                                           (byte)(commonBottom4
+                                                        + bottomCount4));
+                    m_utilBytesCount4_ ++;
+                    m_utilCount4_ -= bottomCount4;
+                }
+                m_utilBytes4_ = append(m_utilBytes4_, m_utilBytesCount4_,
+                                      (byte)(commonBottom4
+                                             + (m_utilCount4_ - 1)));
+                m_utilBytesCount4_ ++;
+                m_utilCount4_ = 0;
+            }
+            m_utilBytes4_ = append(m_utilBytes4_, m_utilBytesCount4_,
+                                   hiragana4); // Add the Hiragana
+            m_utilBytesCount4_ ++;
+        }
+        else { // This wasn't Hiragana, so we can continue adding stuff
+            m_utilCount4_ ++;
+        }
+    }
+
+    /**
+     * Iterates through the argument string for all ces.
+     * Split the ces into their relevant primaries, secondaries etc.
+     * @param source normalized string
+     * @param doFrench flag indicator if special handling of French has to be
+     *                  done
+     * @param hiragana4 offset for Hiragana quaternary
+     * @param commonBottom4 smallest common quaternary byte
+     * @param bottomCount4 smallest quaternary byte
+     */
+    private final void getSortKeyBytes(String source, boolean doFrench,
+                                       byte hiragana4, int commonBottom4,
+                                       int bottomCount4)
+
+    {
+        int backupDecomposition = getDecomposition();
+        setDecomposition(NO_DECOMPOSITION); // have to revert to backup later
+        m_srcUtilIter_.setText(source);
+        m_srcUtilColEIter_.setText(m_srcUtilIter_);
+        m_utilFrenchStart_ = -1;
+        m_utilFrenchEnd_ = -1;
+
+        // scriptorder not implemented yet
+        // const uint8_t *scriptOrder = coll->scriptOrder;
+
+        boolean doShift = false;
+        boolean notIsContinuation = false;
+
+        int leadPrimary = 0; // int for easier comparison
+        int caseShift = 0;
+
+        while (true) {
+            int ce = m_srcUtilColEIter_.next();
+            if (ce == CollationElementIterator.NULLORDER) {
+                break;
+            }
+
+            if (ce == CollationElementIterator.IGNORABLE) {
+                continue;
+            }
+
+            notIsContinuation = !isContinuation(ce);
+
+            /*
+             * if (notIsContinuation) {
+                    if (scriptOrder != NULL) {
+                        primary1 = scriptOrder[primary1];
+                    }
+                }*/
+            boolean isPrimaryByteIgnorable = (ce & CE_PRIMARY_MASK_) == 0;
+            // actually we can just check that the first byte is 0
+            // generation stuffs the order left first
+            boolean isSmallerThanVariableTop = (ce >>> CE_PRIMARY_SHIFT_)
+                                               <= m_variableTopValue_;
+            doShift = (m_isAlternateHandlingShifted_
+                        && ((notIsContinuation && isSmallerThanVariableTop
+                            && !isPrimaryByteIgnorable) // primary byte not 0
+                        || (!notIsContinuation && doShift))
+                        || (doShift && isPrimaryByteIgnorable));
+            if (doShift && isPrimaryByteIgnorable) {
+                // amendment to the UCA says that primary ignorables and other
+                // ignorables should be removed if following a shifted code
+                // point
+                // if we were shifted and we got an ignorable code point
+                // we should just completely ignore it
+                continue;
+            }
+            leadPrimary = doPrimaryBytes(ce, notIsContinuation, doShift,
+                                         leadPrimary, commonBottom4,
+                                         bottomCount4);
+            if (doShift) {
+                continue;
+            }
+            if (m_utilCompare2_) {
+                doSecondaryBytes(ce, notIsContinuation, doFrench);
+            }
+
+            int t = ce & LAST_BYTE_MASK_;
+            if (!notIsContinuation) {
+                t = ce & CE_REMOVE_CONTINUATION_MASK_;
+            }
+
+            if (m_utilCompare0_) {
+                caseShift = doCaseBytes(t, notIsContinuation, caseShift);
+            }
+            else if (notIsContinuation) {
+                 t ^= m_caseSwitch_;
+            }
+
+            t &= m_mask3_;
+
+            if (m_utilCompare3_) {
+                doTertiaryBytes(t, notIsContinuation);
+            }
+
+            if (m_utilCompare4_ && notIsContinuation) { // compare quad
+                doQuaternaryBytes(m_srcUtilColEIter_.m_isCodePointHiragana_,
+                                  commonBottom4, bottomCount4, hiragana4);
+            }
+        }
+        setDecomposition(backupDecomposition); // reverts to original
+        if (m_utilFrenchStart_ != -1) {
+            // one last round of checks
+            reverseBuffer(m_utilBytes2_);
+        }
+    }
+
+    /**
+     * From the individual strength byte results the final compact sortkey
+     * will be calculated.
+     * @param source text string
+     * @param doFrench flag indicating that special handling of French has to
+     *                  be done
+     * @param commonBottom4 smallest common quaternary byte
+     * @param bottomCount4 smallest quaternary byte
+     * @param key output RawCollationKey to store results, key cannot be null
+     */
+    private final void getSortKey(String source, boolean doFrench,
+                                             int commonBottom4, 
+                                             int bottomCount4,
+                                             RawCollationKey key)
+    {
+        // we have done all the CE's, now let's put them together to form
+        // a key
+        if (m_utilCompare2_) {
+            doSecondary(doFrench);
+            if (m_utilCompare0_) {
+                doCase();
+            }
+            if (m_utilCompare3_) {
+                doTertiary();
+                if (m_utilCompare4_) {
+                    doQuaternary(commonBottom4, bottomCount4);
+                    if (m_utilCompare5_) {
+                        doIdentical(source);
+                    }
+
+                }
+            }
+        }
+        m_utilBytes1_ = append(m_utilBytes1_, m_utilBytesCount1_, (byte)0);
+        m_utilBytesCount1_ ++;
+
+        key.set(m_utilBytes1_, 0, m_utilBytesCount1_);
+    }
+
+    /**
+     * Packs the French bytes
+     */
+    private final void doFrench()
+    {
+        for (int i = 0; i < m_utilBytesCount2_; i ++) {
+            byte s = m_utilBytes2_[m_utilBytesCount2_ - i - 1];
+            // This is compression code.
+            if (s == COMMON_2_) {
+                ++ m_utilCount2_;
+            }
+            else {
+                if (m_utilCount2_ > 0) {
+                    // getting the unsigned value
+                    if ((s & LAST_BYTE_MASK_) > COMMON_2_) {
+                        // not necessary for 4th level.
+                        while (m_utilCount2_ > TOP_COUNT_2_) {
+                            m_utilBytes1_ = append(m_utilBytes1_,
+                                                   m_utilBytesCount1_,
+                                        (byte)(COMMON_TOP_2_ - TOP_COUNT_2_));
+                            m_utilBytesCount1_ ++;
+                            m_utilCount2_ -= TOP_COUNT_2_;
+                        }
+                        m_utilBytes1_ = append(m_utilBytes1_,
+                                               m_utilBytesCount1_,
+                                               (byte)(COMMON_TOP_2_
+                                                      - (m_utilCount2_ - 1)));
+                        m_utilBytesCount1_ ++;
+                    }
+                    else {
+                        while (m_utilCount2_ > BOTTOM_COUNT_2_) {
+                            m_utilBytes1_ = append(m_utilBytes1_,
+                                                   m_utilBytesCount1_,
+                                (byte)(COMMON_BOTTOM_2_ + BOTTOM_COUNT_2_));
+                            m_utilBytesCount1_ ++;
+                            m_utilCount2_ -= BOTTOM_COUNT_2_;
+                        }
+                        m_utilBytes1_ = append(m_utilBytes1_,
+                                               m_utilBytesCount1_,
+                                               (byte)(COMMON_BOTTOM_2_
+                                                      + (m_utilCount2_ - 1)));
+                        m_utilBytesCount1_ ++;
+                    }
+                    m_utilCount2_ = 0;
+                }
+                m_utilBytes1_ = append(m_utilBytes1_, m_utilBytesCount1_, s);
+                m_utilBytesCount1_ ++;
+            }
+        }
+        if (m_utilCount2_ > 0) {
+            while (m_utilCount2_ > BOTTOM_COUNT_2_) {
+                m_utilBytes1_ = append(m_utilBytes1_, m_utilBytesCount1_,
+                                       (byte)(COMMON_BOTTOM_2_
+                                                    + BOTTOM_COUNT_2_));
+                m_utilBytesCount1_ ++;
+                m_utilCount2_ -= BOTTOM_COUNT_2_;
+            }
+            m_utilBytes1_ = append(m_utilBytes1_, m_utilBytesCount1_,
+                                   (byte)(COMMON_BOTTOM_2_
+                                                    + (m_utilCount2_ - 1)));
+            m_utilBytesCount1_ ++;
+        }
+    }
+
+    /**
+     * Compacts the secondary bytes and stores them into the primary array
+     * @param doFrench flag indicator that French has to be handled specially
+     */
+    private final void doSecondary(boolean doFrench)
+    {
+        if (m_utilCount2_ > 0) {
+            while (m_utilCount2_ > BOTTOM_COUNT_2_) {
+                m_utilBytes2_ = append(m_utilBytes2_, m_utilBytesCount2_,
+                                       (byte)(COMMON_BOTTOM_2_
+                                                        + BOTTOM_COUNT_2_));
+                m_utilBytesCount2_ ++;
+                m_utilCount2_ -= BOTTOM_COUNT_2_;
+            }
+            m_utilBytes2_ = append(m_utilBytes2_, m_utilBytesCount2_,
+                                   (byte)(COMMON_BOTTOM_2_ +
+                                                    (m_utilCount2_ - 1)));
+            m_utilBytesCount2_ ++;
+        }
+
+        m_utilBytes1_ = append(m_utilBytes1_, m_utilBytesCount1_,
+                               SORT_LEVEL_TERMINATOR_);
+        m_utilBytesCount1_ ++;
+
+        if (doFrench) { // do the reverse copy
+            doFrench();
+        }
+        else {
+            if (m_utilBytes1_.length <= m_utilBytesCount1_
+                                        + m_utilBytesCount2_) {
+                m_utilBytes1_ = increase(m_utilBytes1_, m_utilBytesCount1_,
+                                         m_utilBytesCount2_);
+            }
+            System.arraycopy(m_utilBytes2_, 0, m_utilBytes1_,
+                             m_utilBytesCount1_, m_utilBytesCount2_);
+            m_utilBytesCount1_ += m_utilBytesCount2_;
+        }
+    }
+
+    /**
+     * Increase buffer size
+     * @param buffer array of bytes
+     * @param size of the byte array
+     * @param incrementsize size to increase
+     * @return the new buffer
+     */
+    private static final byte[] increase(byte buffer[], int size,
+                                         int incrementsize)
+    {
+        byte result[] = new byte[buffer.length + incrementsize];
+        System.arraycopy(buffer, 0, result, 0, size);
+        return result;
+    }
+
+    /**
+     * Increase buffer size
+     * @param buffer array of ints
+     * @param size of the byte array
+     * @param incrementsize size to increase
+     * @return the new buffer
+     */
+    private static final int[] increase(int buffer[], int size,
+                                        int incrementsize)
+    {
+        int result[] = new int[buffer.length + incrementsize];
+        System.arraycopy(buffer, 0, result, 0, size);
+        return result;
+    }
+
+    /**
+     * Compacts the case bytes and stores them into the primary array
+     */
+    private final void doCase()
+    {
+        m_utilBytes1_ = append(m_utilBytes1_, m_utilBytesCount1_,
+                               SORT_LEVEL_TERMINATOR_);
+        m_utilBytesCount1_ ++;
+        if (m_utilBytes1_.length <= m_utilBytesCount1_ + m_utilBytesCount0_) {
+            m_utilBytes1_ = increase(m_utilBytes1_, m_utilBytesCount1_,
+                                     m_utilBytesCount0_);
+        }
+        System.arraycopy(m_utilBytes0_, 0, m_utilBytes1_, m_utilBytesCount1_,
+                         m_utilBytesCount0_);
+        m_utilBytesCount1_ += m_utilBytesCount0_;
+    }
+
+    /**
+     * Compacts the tertiary bytes and stores them into the primary array
+     */
+    private final void doTertiary()
+    {
+        if (m_utilCount3_ > 0) {
+            if (m_common3_ != COMMON_BOTTOM_3_) {
+                while (m_utilCount3_ >= m_topCount3_) {
+                    m_utilBytes3_ = append(m_utilBytes3_, m_utilBytesCount3_,
+                                           (byte)(m_top3_ - m_topCount3_));
+                    m_utilBytesCount3_ ++;
+                    m_utilCount3_ -= m_topCount3_;
+                }
+                m_utilBytes3_ = append(m_utilBytes3_, m_utilBytesCount3_,
+                                       (byte)(m_top3_ - m_utilCount3_));
+                m_utilBytesCount3_ ++;
+            }
+            else {
+                while (m_utilCount3_ > m_bottomCount3_) {
+                    m_utilBytes3_ = append(m_utilBytes3_, m_utilBytesCount3_,
+                                           (byte)(m_bottom3_
+                                                        + m_bottomCount3_));
+                    m_utilBytesCount3_ ++;
+                    m_utilCount3_ -= m_bottomCount3_;
+                }
+                m_utilBytes3_ = append(m_utilBytes3_, m_utilBytesCount3_,
+                                       (byte)(m_bottom3_
+                                              + (m_utilCount3_ - 1)));
+                m_utilBytesCount3_ ++;
+            }
+        }
+        m_utilBytes1_ = append(m_utilBytes1_, m_utilBytesCount1_,
+                               SORT_LEVEL_TERMINATOR_);
+        m_utilBytesCount1_ ++;
+        if (m_utilBytes1_.length <= m_utilBytesCount1_ + m_utilBytesCount3_) {
+            m_utilBytes1_ = increase(m_utilBytes1_, m_utilBytesCount1_,
+                                     m_utilBytesCount3_);
+        }
+        System.arraycopy(m_utilBytes3_, 0, m_utilBytes1_, m_utilBytesCount1_,
+                         m_utilBytesCount3_);
+        m_utilBytesCount1_ += m_utilBytesCount3_;
+    }
+
+    /**
+     * Compacts the quaternary bytes and stores them into the primary array
+     */
+    private final void doQuaternary(int commonbottom4, int bottomcount4)
+    {
+        if (m_utilCount4_ > 0) {
+            while (m_utilCount4_ > bottomcount4) {
+                m_utilBytes4_ = append(m_utilBytes4_, m_utilBytesCount4_,
+                                       (byte)(commonbottom4 + bottomcount4));
+                m_utilBytesCount4_ ++;
+                m_utilCount4_ -= bottomcount4;
+            }
+            m_utilBytes4_ = append(m_utilBytes4_, m_utilBytesCount4_,
+                                   (byte)(commonbottom4
+                                                + (m_utilCount4_ - 1)));
+            m_utilBytesCount4_ ++;
+        }
+        m_utilBytes1_ = append(m_utilBytes1_, m_utilBytesCount1_,
+                               SORT_LEVEL_TERMINATOR_);
+        m_utilBytesCount1_ ++;
+        if (m_utilBytes1_.length <= m_utilBytesCount1_ + m_utilBytesCount4_) {
+            m_utilBytes1_ = increase(m_utilBytes1_, m_utilBytesCount1_,
+                                     m_utilBytesCount4_);
+        }
+        System.arraycopy(m_utilBytes4_, 0, m_utilBytes1_, m_utilBytesCount1_,
+                         m_utilBytesCount4_);
+        m_utilBytesCount1_ += m_utilBytesCount4_;
+    }
+
+    /**
+     * Deals with the identical sort.
+     * Appends the BOCSU version of the source string to the ends of the
+     * byte buffer.
+     * @param source text string
+     */
+    private final void doIdentical(String source)
+    {
+        int isize = BOCU.getCompressionLength(source);
+        m_utilBytes1_ = append(m_utilBytes1_, m_utilBytesCount1_,
+                               SORT_LEVEL_TERMINATOR_);
+        m_utilBytesCount1_ ++;
+        if (m_utilBytes1_.length <= m_utilBytesCount1_ + isize) {
+            m_utilBytes1_ = increase(m_utilBytes1_, m_utilBytesCount1_,
+                                     1 + isize);
+        }
+        m_utilBytesCount1_ = BOCU.compress(source, m_utilBytes1_,
+                                           m_utilBytesCount1_);
+    }
+
+    /**
+     * Gets the offset of the first unmatched characters in source and target.
+     * This method returns the offset of the start of a contraction or a
+     * combining sequence, if the first difference is in the middle of such a
+     * sequence.
+     * @param source string
+     * @param target string
+     * @return offset of the first unmatched characters in source and target.
+     */
+    private final int getFirstUnmatchedOffset(String source, String target)
+    {
+        int result = 0;
+        int slength = source.length();
+        int tlength = target.length();
+        int minlength = slength;
+        if (minlength > tlength) {
+            minlength = tlength;
+        }
+        while (result < minlength
+                && source.charAt(result) == target.charAt(result)) {
+            result ++;
+        }
+        if (result > 0) {
+            // There is an identical portion at the beginning of the two
+            // strings. If the identical portion ends within a contraction or a
+            // combining character sequence, back up to the start of that
+            // sequence.
+            char schar = 0;
+            char tchar = 0;
+            if (result < minlength) {
+                schar = source.charAt(result); // first differing chars
+                tchar = target.charAt(result);
+            }
+            else {
+                schar = source.charAt(minlength - 1);
+                if (isUnsafe(schar)) {
+                    tchar = schar;
+                }
+                else if (slength == tlength) {
+                        return result;
+                }
+                else if (slength < tlength) {
+                    tchar = target.charAt(result);
+                }
+                else {
+                    schar = source.charAt(result);
+                }
+            }
+            if (isUnsafe(schar) || isUnsafe(tchar))
+            {
+                // We are stopped in the middle of a contraction or combining
+                // sequence.
+                // Look backwards for the part of the string for the start of
+                // the sequence
+                // It doesn't matter which string we scan, since they are the
+                // same in this region.
+                do {
+                    result --;
+                }
+                while (result > 0 && isUnsafe(source.charAt(result)));
+            }
+        }
+        return result;
+    }
+
+    /**
+     * Appending an byte to an array of bytes and increases it if we run out of
+     * space
+     * @param array of byte arrays
+     * @param appendindex index in the byte array to append
+     * @param value to append
+     * @return array if array size can accomodate the new value, otherwise
+     *         a bigger array will be created and returned
+     */
+    private static final byte[] append(byte array[], int appendindex,
+                                       byte value)
+    {
+        try {
+            array[appendindex] = value;
+        }
+        catch (ArrayIndexOutOfBoundsException e) {
+            array = increase(array, appendindex, SORT_BUFFER_INIT_SIZE_);
+            array[appendindex] = value;
+        }
+        return array;
+    }
+
+    /**
+     * This is a trick string compare function that goes in and uses sortkeys
+     * to compare. It is used when compare gets in trouble and needs to bail
+     * out.
+     * @param source text string
+     * @param target text string
+     */
+    private final int compareBySortKeys(String source, String target)
+
+    {
+        m_utilRawCollationKey_ = getRawCollationKey(source, 
+                                                    m_utilRawCollationKey_);
+        // this method is very seldom called
+        RawCollationKey targetkey = getRawCollationKey(target, null);
+        return m_utilRawCollationKey_.compareTo(targetkey);
+    }
+
+    /**
+     * Performs the primary comparisons, and fills up the CE buffer at the
+     * same time.
+     * The return value toggles between the comparison result and the hiragana
+     * result. If either the source is greater than target or vice versa, the
+     * return result is the comparison result, ie 1 or -1, furthermore the
+     * cebuffers will be cleared when that happens. If the primary comparisons
+     * are equal, we'll have to continue with secondary comparison. In this case
+     * the cebuffer will not be cleared and the return result will be the
+     * hiragana result.
+     * @param doHiragana4 flag indicator that Hiragana Quaternary has to be
+     *                  observed
+     * @param lowestpvalue the lowest primary value that will not be ignored if
+     *                      alternate handling is shifted
+     * @param source text string
+     * @param target text string
+     * @param textoffset offset in text to start the comparison
+     * @return comparion result if a primary difference is found, otherwise
+     *                      hiragana result
+     */
+    private final int doPrimaryCompare(boolean doHiragana4, int lowestpvalue,
+                                        String source, String target,
+                                        int textoffset)
+
+    {
+        // Preparing the context objects for iterating over strings
+        m_srcUtilIter_.setText(source);
+        m_srcUtilColEIter_.setText(m_srcUtilIter_, textoffset);
+        m_tgtUtilIter_.setText(target);
+        m_tgtUtilColEIter_.setText(m_tgtUtilIter_, textoffset);
+
+        // Non shifted primary processing is quite simple
+        if (!m_isAlternateHandlingShifted_) {
+            int hiraganaresult = 0;
+            while (true) {
+                int sorder = 0;
+                // We fetch CEs until we hit a non ignorable primary or end.
+                do {
+                    sorder = m_srcUtilColEIter_.next();
+                    m_srcUtilCEBuffer_ = append(m_srcUtilCEBuffer_,
+                                                m_srcUtilCEBufferSize_, sorder);
+                    m_srcUtilCEBufferSize_ ++;
+                    sorder &= CE_PRIMARY_MASK_;
+                } while (sorder == CollationElementIterator.IGNORABLE);
+
+                int torder = 0;
+                do {
+                    torder = m_tgtUtilColEIter_.next();
+                    m_tgtUtilCEBuffer_ = append(m_tgtUtilCEBuffer_,
+                                                m_tgtUtilCEBufferSize_, torder);
+                    m_tgtUtilCEBufferSize_ ++;
+                    torder &= CE_PRIMARY_MASK_;
+                } while (torder == CollationElementIterator.IGNORABLE);
+
+                // if both primaries are the same
+                if (sorder == torder) {
+                    // and there are no more CEs, we advance to the next level
+                    // see if we are at the end of either string
+                    if (m_srcUtilCEBuffer_[m_srcUtilCEBufferSize_ - 1]
+                                        == CollationElementIterator.NULLORDER) {
+                        if (m_tgtUtilCEBuffer_[m_tgtUtilCEBufferSize_ - 1] 
+                            != CollationElementIterator.NULLORDER) {
+                            return -1;
+                        }
+                        break;
+                    }
+                    else if (m_tgtUtilCEBuffer_[m_tgtUtilCEBufferSize_ - 1]
+                             == CollationElementIterator.NULLORDER) {
+                        return 1;
+                    }
+                    if (doHiragana4 && hiraganaresult == 0
+                        && m_srcUtilColEIter_.m_isCodePointHiragana_ !=
+                                        m_tgtUtilColEIter_.m_isCodePointHiragana_) {
+                        if (m_srcUtilColEIter_.m_isCodePointHiragana_) {
+                            hiraganaresult = -1;
+                        }
+                        else {
+                            hiraganaresult = 1;
+                        }
+                    }
+                }
+                else {
+                    // if two primaries are different, we are done
+                    return endPrimaryCompare(sorder, torder);
+                }
+            }
+            // no primary difference... do the rest from the buffers
+            return hiraganaresult;
+        }
+        else { // shifted - do a slightly more complicated processing :)
+            while (true) {
+                int sorder = getPrimaryShiftedCompareCE(m_srcUtilColEIter_,
+                                                        lowestpvalue, true);
+                int torder = getPrimaryShiftedCompareCE(m_tgtUtilColEIter_,
+                                                        lowestpvalue, false);
+                if (sorder == torder) {
+                    if (m_srcUtilCEBuffer_[m_srcUtilCEBufferSize_ - 1]
+                            == CollationElementIterator.NULLORDER) {
+                        break;
+                    }
+                    else {
+                        continue;
+                    }
+                }
+                else {
+                    return endPrimaryCompare(sorder, torder);
+                }
+            } // no primary difference... do the rest from the buffers
+        }
+        return 0;
+    }
+
+    /**
+     * This is used only for primary strength when we know that sorder is
+     * already different from torder.
+     * Compares sorder and torder, returns -1 if sorder is less than torder.
+     * Clears the cebuffer at the same time.
+     * @param sorder source strength order
+     * @param torder target strength order
+     * @return the comparison result of sorder and torder
+     */
+    private final int endPrimaryCompare(int sorder, int torder)
+    {
+        // if we reach here, the ce offset accessed is the last ce
+        // appended to the buffer
+        boolean isSourceNullOrder = (m_srcUtilCEBuffer_[
+                                                    m_srcUtilCEBufferSize_ - 1]
+                                        == CollationElementIterator.NULLORDER);
+        boolean isTargetNullOrder = (m_tgtUtilCEBuffer_[
+                                                    m_tgtUtilCEBufferSize_ - 1]
+                                        == CollationElementIterator.NULLORDER);
+        m_srcUtilCEBufferSize_ = -1;
+        m_tgtUtilCEBufferSize_ = -1;
+        if (isSourceNullOrder) {
+            return -1;
+        }
+        if (isTargetNullOrder) {
+            return 1;
+        }
+        // getting rid of the sign
+        sorder >>>= CE_PRIMARY_SHIFT_;
+        torder >>>= CE_PRIMARY_SHIFT_;
+        if (sorder < torder) {
+            return -1;
+        }
+        return 1;
+    }
+
+    /**
+     * Calculates the next primary shifted value and fills up cebuffer with the
+     * next non-ignorable ce.
+     * @param coleiter collation element iterator
+     * @param doHiragana4 flag indicator if hiragana quaternary is to be
+     *                      handled
+     * @param lowestpvalue lowest primary shifted value that will not be
+     *                      ignored
+     * @return result next modified ce
+     */
+    private final int getPrimaryShiftedCompareCE(
+                                        CollationElementIterator coleiter,
+                                        int lowestpvalue, boolean isSrc)
+
+    {
+        boolean shifted = false;
+        int result = CollationElementIterator.IGNORABLE;
+        int cebuffer[] = m_srcUtilCEBuffer_;
+        int cebuffersize = m_srcUtilCEBufferSize_;
+        if (!isSrc) {
+            cebuffer = m_tgtUtilCEBuffer_;
+            cebuffersize = m_tgtUtilCEBufferSize_;
+        }
+        while (true) {
+            result = coleiter.next();
+            if (result == CollationElementIterator.NULLORDER) {
+                cebuffer = append(cebuffer, cebuffersize, result);
+                cebuffersize ++;
+                break;
+            }
+            else if (result == CollationElementIterator.IGNORABLE
+                     || (shifted
+                         && (result & CE_PRIMARY_MASK_)
+                                      == CollationElementIterator.IGNORABLE)) {
+                // UCA amendment - ignore ignorables that follow shifted code
+                // points
+                continue;
+            }
+            else if (isContinuation(result)) {
+                if ((result & CE_PRIMARY_MASK_)
+                                    != CollationElementIterator.IGNORABLE) {
+                    // There is primary value
+                    if (shifted) {
+                        result = (result & CE_PRIMARY_MASK_)
+                                            | CE_CONTINUATION_MARKER_;
+                        // preserve interesting continuation
+                        cebuffer = append(cebuffer, cebuffersize, result);
+                        cebuffersize ++;
+                        continue;
+                    }
+                    else {
+                        cebuffer = append(cebuffer, cebuffersize, result);
+                        cebuffersize ++;
+                        break;
+                    }
+                }
+                else { // Just lower level values
+                    if (!shifted) {
+                        cebuffer = append(cebuffer, cebuffersize, result);
+                        cebuffersize ++;
+                    }
+                }
+            }
+            else { // regular
+                if (Utility.compareUnsigned(result & CE_PRIMARY_MASK_,
+                                            lowestpvalue) > 0) {
+                    cebuffer = append(cebuffer, cebuffersize, result);
+                    cebuffersize ++;
+                    break;
+                }
+                else {
+                    if ((result & CE_PRIMARY_MASK_) != 0) {
+                        shifted = true;
+                        result &= CE_PRIMARY_MASK_;
+                        cebuffer = append(cebuffer, cebuffersize, result);
+                        cebuffersize ++;
+                        continue;
+                    }
+                    else {
+                        cebuffer = append(cebuffer, cebuffersize, result);
+                        cebuffersize ++;
+                        shifted = false;
+                        continue;
+                    }
+                }
+            }
+        }
+        if (isSrc) {
+            m_srcUtilCEBuffer_ = cebuffer;
+            m_srcUtilCEBufferSize_ = cebuffersize;
+        }
+        else {
+            m_tgtUtilCEBuffer_ = cebuffer;
+            m_tgtUtilCEBufferSize_ = cebuffersize;
+        }
+        result &= CE_PRIMARY_MASK_;
+        return result;
+    }
+
+    /**
+     * Appending an int to an array of ints and increases it if we run out of
+     * space
+     * @param array of int arrays
+     * @param appendindex index at which value will be appended
+     * @param value to append
+     * @return array if size is not increased, otherwise a new array will be
+     *         returned
+     */
+    private static final int[] append(int array[], int appendindex, int value)
+    {
+        if (appendindex + 1 >= array.length) {
+            array = increase(array, appendindex, CE_BUFFER_SIZE_);
+        }
+        array[appendindex] = value;
+        return array;
+    }
+
+    /**
+     * Does secondary strength comparison based on the collected ces.
+     * @param doFrench flag indicates if French ordering is to be done
+     * @return the secondary strength comparison result
+     */
+    private final int doSecondaryCompare(boolean doFrench)
+    {
+        // now, we're gonna reexamine collected CEs
+        if (!doFrench) { // normal
+            int soffset = 0;
+            int toffset = 0;
+            while (true) {
+                int sorder = CollationElementIterator.IGNORABLE;
+                while (sorder == CollationElementIterator.IGNORABLE) {
+                    sorder = m_srcUtilCEBuffer_[soffset ++]
+                             & CE_SECONDARY_MASK_;
+                }
+                int torder = CollationElementIterator.IGNORABLE;
+                while (torder == CollationElementIterator.IGNORABLE) {
+                    torder = m_tgtUtilCEBuffer_[toffset ++]
+                             & CE_SECONDARY_MASK_;
+                }
+
+                if (sorder == torder) {
+                    if (m_srcUtilCEBuffer_[soffset - 1]
+                                    == CollationElementIterator.NULLORDER) {
+                        if (m_tgtUtilCEBuffer_[toffset - 1] 
+                            != CollationElementIterator.NULLORDER) {
+                            return -1;
+                        }
+                        break;
+                    }
+                    else if (m_tgtUtilCEBuffer_[toffset - 1]
+                             == CollationElementIterator.NULLORDER) {
+                        return 1;
+                    }
+                }
+                else {
+                    if (m_srcUtilCEBuffer_[soffset - 1] ==
+                            CollationElementIterator.NULLORDER) {
+                        return -1;
+                    }
+                    if (m_tgtUtilCEBuffer_[toffset - 1] ==
+                            CollationElementIterator.NULLORDER) {
+                        return 1;
+                    }
+                    return (sorder < torder) ? -1 : 1;
+                }
+            }
+        }
+        else { // do the French
+            m_srcUtilContOffset_ = 0;
+            m_tgtUtilContOffset_ = 0;
+            m_srcUtilOffset_ = m_srcUtilCEBufferSize_ - 2;
+            m_tgtUtilOffset_ = m_tgtUtilCEBufferSize_ - 2;
+            while (true) {
+                int sorder = getSecondaryFrenchCE(true);
+                int torder = getSecondaryFrenchCE(false);
+                if (sorder == torder) {
+                    if ((m_srcUtilOffset_ < 0 && m_tgtUtilOffset_ < 0)
+                        || (m_srcUtilOffset_ >= 0 
+                            && m_srcUtilCEBuffer_[m_srcUtilOffset_]
+                                    == CollationElementIterator.NULLORDER)) {
+                        break;
+                    }
+                }
+                else {
+                    return (sorder < torder) ? -1 : 1;
+                }
+            }
+        }
+        return 0;
+    }
+
+    /**
+     * Calculates the next secondary french CE.
+     * @param isSrc flag indicator if we are calculating the src ces
+     * @return result next modified ce
+     */
+    private final int getSecondaryFrenchCE(boolean isSrc)
+    {
+        int result = CollationElementIterator.IGNORABLE;
+        int offset = m_srcUtilOffset_;
+        int continuationoffset = m_srcUtilContOffset_;
+        int cebuffer[] = m_srcUtilCEBuffer_;
+        if (!isSrc) {
+            offset = m_tgtUtilOffset_;
+            continuationoffset = m_tgtUtilContOffset_;
+            cebuffer = m_tgtUtilCEBuffer_;
+        }
+
+        while (result == CollationElementIterator.IGNORABLE
+                && offset >= 0) {
+            if (continuationoffset == 0) {
+                result = cebuffer[offset];
+                while (isContinuation(cebuffer[offset --])){
+                }
+                // after this, sorder is at the start of continuation,
+                // and offset points before that
+                if (isContinuation(cebuffer[offset + 1])) {
+                    // save offset for later
+                    continuationoffset = offset;
+                    offset += 2;
+                }
+            }
+            else {
+                result = cebuffer[offset ++];
+                if (!isContinuation(result)) {
+                    // we have finished with this continuation
+                    offset = continuationoffset;
+                    // reset the pointer to before continuation
+                    continuationoffset = 0;
+                    continue;
+                }
+            }
+            result &= CE_SECONDARY_MASK_; // remove continuation bit
+        }
+        if (isSrc) {
+            m_srcUtilOffset_ = offset;
+            m_srcUtilContOffset_ = continuationoffset;
+        }
+        else {
+            m_tgtUtilOffset_ = offset;
+            m_tgtUtilContOffset_ = continuationoffset;
+        }
+        return result;
+    }
+
+    /**
+     * Does case strength comparison based on the collected ces.
+     * @return the case strength comparison result
+     */
+    private final int doCaseCompare()
+    {
+        int soffset = 0;
+        int toffset = 0;
+        while (true) {
+            int sorder = CollationElementIterator.IGNORABLE;
+            int torder = CollationElementIterator.IGNORABLE;
+            while ((sorder & CE_REMOVE_CASE_)
+                                    == CollationElementIterator.IGNORABLE) {
+                sorder = m_srcUtilCEBuffer_[soffset ++];
+                if (!isContinuation(sorder)) {
+                    sorder &= CE_CASE_MASK_3_;
+                    sorder ^= m_caseSwitch_;
+                }
+                else {
+                    sorder = CollationElementIterator.IGNORABLE;
+                }
+            }
+
+            while ((torder & CE_REMOVE_CASE_)
+                                    == CollationElementIterator.IGNORABLE) {
+                torder = m_tgtUtilCEBuffer_[toffset ++];
+                if (!isContinuation(torder)) {
+                    torder &= CE_CASE_MASK_3_;
+                    torder ^= m_caseSwitch_;
+                }
+                else {
+                    torder = CollationElementIterator.IGNORABLE;
+                }
+            }
+
+            sorder &= CE_CASE_BIT_MASK_;
+            torder &= CE_CASE_BIT_MASK_;
+            if (sorder == torder) {
+                // checking end of strings
+                if (m_srcUtilCEBuffer_[soffset - 1]
+                                        == CollationElementIterator.NULLORDER) {
+                    if (m_tgtUtilCEBuffer_[toffset - 1] 
+                        != CollationElementIterator.NULLORDER) {
+                        return -1;
+                    }
+                    break;
+                }
+                else if (m_tgtUtilCEBuffer_[toffset - 1]
+                            == CollationElementIterator.NULLORDER) {
+                    return 1;
+                }
+            }
+            else {
+                if (m_srcUtilCEBuffer_[soffset - 1]
+                                    == CollationElementIterator.NULLORDER) {
+                    return -1;
+                }
+                if (m_tgtUtilCEBuffer_[soffset - 1]
+                                    == CollationElementIterator.NULLORDER) {
+                    return 1;
+                }
+                return (sorder < torder) ? -1 : 1;
+            }
+        }
+        return 0;
+    }
+
+    /**
+     * Does tertiary strength comparison based on the collected ces.
+     * @return the tertiary strength comparison result
+     */
+    private final int doTertiaryCompare()
+    {
+        int soffset = 0;
+        int toffset = 0;
+        while (true) {
+            int sorder = CollationElementIterator.IGNORABLE;
+            int torder = CollationElementIterator.IGNORABLE;
+            while ((sorder & CE_REMOVE_CASE_)
+                                == CollationElementIterator.IGNORABLE) {
+                sorder = m_srcUtilCEBuffer_[soffset ++] & m_mask3_;
+                if (!isContinuation(sorder)) {
+                    sorder ^= m_caseSwitch_;
+                }
+                else {
+                    sorder &= CE_REMOVE_CASE_;
+                }
+            }
+
+            while ((torder & CE_REMOVE_CASE_)
+                                == CollationElementIterator.IGNORABLE) {
+                torder = m_tgtUtilCEBuffer_[toffset ++] & m_mask3_;
+                if (!isContinuation(torder)) {
+                    torder ^= m_caseSwitch_;
+                }
+                else {
+                    torder &= CE_REMOVE_CASE_;
+                }
+            }
+
+            if (sorder == torder) {
+                if (m_srcUtilCEBuffer_[soffset - 1]
+                                    == CollationElementIterator.NULLORDER) {
+                    if (m_tgtUtilCEBuffer_[toffset - 1]
+                        != CollationElementIterator.NULLORDER) {
+                        return -1;
+                    }
+                    break;
+                }
+                else if (m_tgtUtilCEBuffer_[toffset - 1]
+                            == CollationElementIterator.NULLORDER) {
+                    return 1;
+                }
+            }
+            else {
+                if (m_srcUtilCEBuffer_[soffset - 1] ==
+                                        CollationElementIterator.NULLORDER) {
+                    return -1;
+                }
+                if (m_tgtUtilCEBuffer_[toffset - 1] ==
+                            CollationElementIterator.NULLORDER) {
+                    return 1;
+                }
+                return (sorder < torder) ? -1 : 1;
+            }
+        }
+        return 0;
+    }
+
+    /**
+     * Does quaternary strength comparison based on the collected ces.
+     * @param lowestpvalue the lowest primary value that will not be ignored if
+     *                      alternate handling is shifted
+     * @return the quaternary strength comparison result
+     */
+    private final int doQuaternaryCompare(int lowestpvalue)
+    {
+        boolean sShifted = true;
+        boolean tShifted = true;
+        int soffset = 0;
+        int toffset = 0;
+        while (true) {
+            int sorder = CollationElementIterator.IGNORABLE;
+            int torder = CollationElementIterator.IGNORABLE;
+            while (sorder == CollationElementIterator.IGNORABLE
+                    || (isContinuation(sorder) && !sShifted)) {
+                sorder = m_srcUtilCEBuffer_[soffset ++];
+                if (isContinuation(sorder)) {
+                    if (!sShifted) {
+                        continue;
+                    }
+                }
+                else if (Utility.compareUnsigned(sorder, lowestpvalue) > 0
+                            || (sorder & CE_PRIMARY_MASK_)
+                                    == CollationElementIterator.IGNORABLE) {
+                    // non continuation
+                    sorder = CE_PRIMARY_MASK_;
+                    sShifted = false;
+                }
+                else {
+                    sShifted = true;
+                }
+            }
+            sorder >>>= CE_PRIMARY_SHIFT_;
+            while (torder == CollationElementIterator.IGNORABLE
+                    || (isContinuation(torder) && !tShifted)) {
+                torder = m_tgtUtilCEBuffer_[toffset ++];
+                if (isContinuation(torder)) {
+                    if (!tShifted) {
+                        continue;
+                    }
+                }
+                else if (Utility.compareUnsigned(torder, lowestpvalue) > 0
+                            || (torder & CE_PRIMARY_MASK_)
+                                    == CollationElementIterator.IGNORABLE) {
+                    // non continuation
+                    torder = CE_PRIMARY_MASK_;
+                    tShifted = false;
+                }
+                else {
+                    tShifted = true;
+                }
+            }
+            torder >>>= CE_PRIMARY_SHIFT_;
+
+            if (sorder == torder) {
+                if (m_srcUtilCEBuffer_[soffset - 1]
+                    == CollationElementIterator.NULLORDER) {
+                    if (m_tgtUtilCEBuffer_[toffset - 1]
+                        != CollationElementIterator.NULLORDER) {
+                        return -1;
+                    }
+                    break;
+                }
+                else if (m_tgtUtilCEBuffer_[toffset - 1]
+                            == CollationElementIterator.NULLORDER) {
+                    return 1;
+                }
+            }
+            else {
+                if (m_srcUtilCEBuffer_[soffset - 1] ==
+                    CollationElementIterator.NULLORDER) {
+                    return -1;
+                }
+                if (m_tgtUtilCEBuffer_[toffset - 1] ==
+                    CollationElementIterator.NULLORDER) {
+                    return 1;
+                }
+                return (sorder < torder) ? -1 : 1;
+            }
+        }
+        return 0;
+    }
+
+    /**
+     * Internal function. Does byte level string compare. Used by strcoll if
+     * strength == identical and strings are otherwise equal. This is a rare
+     * case. Comparison must be done on NFD normalized strings. FCD is not good
+     * enough.
+     * @param source text
+     * @param target text
+     * @param offset of the first difference in the text strings
+     * @param normalize flag indicating if we are to normalize the text before
+     *              comparison
+     * @return 1 if source is greater than target, -1 less than and 0 if equals
+     */
+    private static final int doIdenticalCompare(String source, String target,
+                                                int offset, boolean normalize)
+
+    {
+        if (normalize) {
+            if (Normalizer.quickCheck(source, Normalizer.NFD,0)
+                                                    != Normalizer.YES) {
+                source = Normalizer.decompose(source, false);
+            }
+
+            if (Normalizer.quickCheck(target, Normalizer.NFD,0)
+                                                        != Normalizer.YES) {
+                target = Normalizer.decompose(target, false);
+            }
+            offset = 0;
+        }
+
+        return doStringCompare(source, target, offset);
+    }
+
+    /**
+     * Compares string for their codepoint order.
+     * This comparison handles surrogate characters and place them after the
+     * all non surrogate characters.
+     * @param source text
+     * @param target text
+     * @param offset start offset for comparison
+     * @return 1 if source is greater than target, -1 less than and 0 if equals
+     */
+    private static final int doStringCompare(String source,
+                                             String target,
+                                             int offset)
+    {
+        // compare identical prefixes - they do not need to be fixed up
+        char schar = 0;
+        char tchar = 0;
+        int slength = source.length();
+        int tlength = target.length();
+        int minlength = Math.min(slength, tlength);
+        while (offset < minlength) {
+            schar = source.charAt(offset);
+            tchar = target.charAt(offset ++);
+            if (schar != tchar) {
+                break;
+            }
+        }
+
+        if (schar == tchar && offset == minlength) {
+            if (slength > minlength) {
+                return 1;
+            }
+            if (tlength > minlength) {
+                return -1;
+            }
+            return 0;
+        }
+
+        //  if both values are in or above the surrogate range, Fix them up.
+        if (schar >= UTF16.LEAD_SURROGATE_MIN_VALUE
+            && tchar >= UTF16.LEAD_SURROGATE_MIN_VALUE) {
+            schar = fixupUTF16(schar);
+            tchar = fixupUTF16(tchar);
+        }
+
+        // now c1 and c2 are in UTF-32-compatible order
+        return (schar < tchar) ? -1 : 1; // schar and tchar has to be different
+    }
+
+    /**
+     * Rotate surrogates to the top to get code point order
+     */
+    private static final char fixupUTF16(char ch)
+    {
+        if (ch >= 0xe000) {
+            ch -= 0x800;
+        }
+        else {
+            ch += 0x2000;
+        }
+        return ch;
+    }
+
+    /**
+     * Resets the internal case data members and compression values.
+     */
+    private void updateInternalState()
+    {
+        if (m_caseFirst_ == AttributeValue.UPPER_FIRST_) {
+            m_caseSwitch_ = CASE_SWITCH_;
+        }
+        else {
+            m_caseSwitch_ = NO_CASE_SWITCH_;
+        }
+
+        if (m_isCaseLevel_ || m_caseFirst_ == AttributeValue.OFF_) {
+            m_mask3_ = CE_REMOVE_CASE_;
+            m_common3_ = COMMON_NORMAL_3_;
+            m_addition3_ = FLAG_BIT_MASK_CASE_SWITCH_OFF_;
+            m_top3_ = COMMON_TOP_CASE_SWITCH_OFF_3_;
+            m_bottom3_ = COMMON_BOTTOM_3_;
+        }
+        else {
+            m_mask3_ = CE_KEEP_CASE_;
+            m_addition3_ = FLAG_BIT_MASK_CASE_SWITCH_ON_;
+            if (m_caseFirst_ == AttributeValue.UPPER_FIRST_) {
+                m_common3_ = COMMON_UPPER_FIRST_3_;
+                m_top3_ = COMMON_TOP_CASE_SWITCH_UPPER_3_;
+                m_bottom3_ = COMMON_BOTTOM_CASE_SWITCH_UPPER_3_;
+            } else {
+                m_common3_ = COMMON_NORMAL_3_;
+                m_top3_ = COMMON_TOP_CASE_SWITCH_LOWER_3_;
+                m_bottom3_ = COMMON_BOTTOM_CASE_SWITCH_LOWER_3_;
+            }
+        }
+
+        // Set the compression values
+        int total3 = m_top3_ - COMMON_BOTTOM_3_ - 1;
+        // we multilply double with int, but need only int
+        m_topCount3_ = (int)(PROPORTION_3_ * total3);
+        m_bottomCount3_ = total3 - m_topCount3_;
+
+        if (!m_isCaseLevel_ && getStrength() == AttributeValue.TERTIARY_
+            && !m_isFrenchCollation_ && !m_isAlternateHandlingShifted_) {
+            m_isSimple3_ = true;
+        }
+        else {
+            m_isSimple3_ = false;
+        }
+        if(!m_isCaseLevel_ && getStrength() <= AttributeValue.TERTIARY_ && !m_isNumericCollation_
+          && !m_isAlternateHandlingShifted_ && !latinOneFailed_) {
+          if(latinOneCEs_ == null || latinOneRegenTable_) {
+            if(setUpLatinOne()) { // if we succeed in building latin1 table, we'll use it
+              latinOneUse_ = true;
+            } else {
+              latinOneUse_ = false;
+              latinOneFailed_ = true;
+            }
+            latinOneRegenTable_ = false;
+          } else { // latin1Table exists and it doesn't need to be regenerated, just use it
+            latinOneUse_ = true;
+          }
+        } else {
+          latinOneUse_ = false;
+        }
+
+    }
+
+    /**
+     * Initializes the RuleBasedCollator
+     */
+    private final void init()
+    {
+        for (m_minUnsafe_ = 0; m_minUnsafe_ < DEFAULT_MIN_HEURISTIC_;
+             m_minUnsafe_ ++) {
+            // Find the smallest unsafe char.
+            if (isUnsafe(m_minUnsafe_)) {
+                break;
+            }
+        }
+
+        for (m_minContractionEnd_ = 0;
+             m_minContractionEnd_ < DEFAULT_MIN_HEURISTIC_;
+             m_minContractionEnd_ ++) {
+            // Find the smallest contraction-ending char.
+            if (isContractionEnd(m_minContractionEnd_)) {
+                break;
+            }
+        }
+        latinOneFailed_ = true;
+        setStrength(m_defaultStrength_);
+        setDecomposition(m_defaultDecomposition_);
+        m_variableTopValue_ = m_defaultVariableTopValue_;
+        m_isFrenchCollation_ = m_defaultIsFrenchCollation_;
+        m_isAlternateHandlingShifted_ = m_defaultIsAlternateHandlingShifted_;
+        m_isCaseLevel_ = m_defaultIsCaseLevel_;
+        m_caseFirst_ = m_defaultCaseFirst_;
+        m_isHiragana4_ = m_defaultIsHiragana4_;
+        m_isNumericCollation_ = m_defaultIsNumericCollation_;
+        latinOneFailed_ = false;
+        updateInternalState();
+    }
+
+    /**
+     *  Initializes utility iterators and byte buffer used by compare
+     */
+    private final void initUtility() {
+       m_srcUtilIter_ = new StringUCharacterIterator();
+       m_srcUtilColEIter_ = new CollationElementIterator(m_srcUtilIter_, this);
+       m_tgtUtilIter_ = new StringUCharacterIterator();
+       m_tgtUtilColEIter_ = new CollationElementIterator(m_tgtUtilIter_, this);
+       m_utilBytes0_ = new byte[SORT_BUFFER_INIT_SIZE_CASE_]; // case
+       m_utilBytes1_ = new byte[SORT_BUFFER_INIT_SIZE_1_]; // primary
+       m_utilBytes2_ = new byte[SORT_BUFFER_INIT_SIZE_2_]; // secondary
+       m_utilBytes3_ = new byte[SORT_BUFFER_INIT_SIZE_3_]; // tertiary
+       m_utilBytes4_ = new byte[SORT_BUFFER_INIT_SIZE_4_];  // Quaternary
+       m_srcUtilCEBuffer_ = new int[CE_BUFFER_SIZE_];
+       m_tgtUtilCEBuffer_ = new int[CE_BUFFER_SIZE_];
+    }
+
+
+
+    // Consts for Latin-1 special processing
+    private static final int ENDOFLATINONERANGE_ = 0xFF;
+    private static final int LATINONETABLELEN_   = (ENDOFLATINONERANGE_+50);
+    private static final int BAIL_OUT_CE_        = 0xFF000000;
+
+     /**
+     * Generate latin-1 tables
+     */
+
+    private class shiftValues {
+        int primShift = 24;
+        int secShift = 24;
+        int terShift = 24;
+    }
+
+    private final void
+    addLatinOneEntry(char ch, int CE, shiftValues sh) {
+      int primary1 = 0, primary2 = 0, secondary = 0, tertiary = 0;
+      boolean reverseSecondary = false;
+      if(!isContinuation(CE)) {
+        tertiary = ((CE & m_mask3_));
+        tertiary ^= m_caseSwitch_;
+        reverseSecondary = true;
+      } else {
+        tertiary = (byte)((CE & CE_REMOVE_CONTINUATION_MASK_));
+        tertiary &= CE_REMOVE_CASE_;
+        reverseSecondary = false;
+      }
+
+      secondary = ((CE >>>= 8) & LAST_BYTE_MASK_);
+      primary2 =  ((CE >>>= 8) & LAST_BYTE_MASK_);
+      primary1 =  (CE >>> 8);
+
+      if(primary1 != 0) {
+        latinOneCEs_[ch] |= (primary1 << sh.primShift);
+        sh.primShift -= 8;
+      }
+      if(primary2 != 0) {
+        if(sh.primShift < 0) {
+          latinOneCEs_[ch] = BAIL_OUT_CE_;
+          latinOneCEs_[latinOneTableLen_+ch] = BAIL_OUT_CE_;
+          latinOneCEs_[2*latinOneTableLen_+ch] = BAIL_OUT_CE_;
+          return;
+        }
+        latinOneCEs_[ch] |= (primary2 << sh.primShift);
+        sh.primShift -= 8;
+      }
+      if(secondary != 0) {
+        if(reverseSecondary && m_isFrenchCollation_) { // reverse secondary
+          latinOneCEs_[latinOneTableLen_+ch] >>>= 8; // make space for secondary
+          latinOneCEs_[latinOneTableLen_+ch] |= (secondary << 24);
+        } else { // normal case
+          latinOneCEs_[latinOneTableLen_+ch] |= (secondary << sh.secShift);
+        }
+        sh.secShift -= 8;
+      }
+      if(tertiary != 0) {
+        latinOneCEs_[2*latinOneTableLen_+ch] |= (tertiary << sh.terShift);
+        sh.terShift -= 8;
+      }
+    }
+
+    private final void
+    resizeLatinOneTable(int newSize) {
+        int newTable[] = new int[3*newSize];
+        int sizeToCopy = ((newSize<latinOneTableLen_)?newSize:latinOneTableLen_);
+        //uprv_memset(newTable, 0, newSize*sizeof(uint32_t)*3); // automatically cleared.
+        System.arraycopy(latinOneCEs_, 0, newTable, 0, sizeToCopy);
+        System.arraycopy(latinOneCEs_, latinOneTableLen_, newTable, newSize, sizeToCopy);
+        System.arraycopy(latinOneCEs_, 2*latinOneTableLen_, newTable, 2*newSize, sizeToCopy);
+        latinOneTableLen_ = newSize;
+        latinOneCEs_ = newTable;
+    }
+
+    private final boolean setUpLatinOne() {
+      if(latinOneCEs_ == null) {
+        latinOneCEs_ = new int[3*LATINONETABLELEN_];
+        latinOneTableLen_ = LATINONETABLELEN_;
+      } else {
+        Arrays.fill(latinOneCEs_, 0);
+      }
+      if(m_ContInfo_ == null) {
+        m_ContInfo_ = new ContractionInfo();
+      }
+      char ch = 0;
+      //StringBuffer sCh = new StringBuffer();
+      //CollationElementIterator it = getCollationElementIterator(sCh.toString());
+      CollationElementIterator it = getCollationElementIterator("");
+
+      shiftValues s = new shiftValues();
+      int CE = 0;
+      char contractionOffset = ENDOFLATINONERANGE_+1;
+
+      for(ch = 0; ch <= ENDOFLATINONERANGE_; ch++) {
+        s.primShift = 24; s.secShift = 24; s.terShift = 24;
+        if(ch < 0x100) {
+          CE = m_trie_.getLatin1LinearValue(ch);
+        } else {
+          CE = m_trie_.getLeadValue(ch);
+          if(CE == CollationElementIterator.CE_NOT_FOUND_) {
+            CE = UCA_.m_trie_.getLeadValue(ch);
+          }
+        }
+        if(!isSpecial(CE)) {
+          addLatinOneEntry(ch, CE, s);
+        } else {
+          switch (RuleBasedCollator.getTag(CE)) {
+          case CollationElementIterator.CE_EXPANSION_TAG_:
+          case CollationElementIterator.CE_DIGIT_TAG_:
+            //sCh.delete(0, sCh.length());
+            //sCh.append(ch);
+            //it.setText(sCh.toString());
+            it.setText(UCharacter.toString(ch));
+            while((CE = it.next()) != CollationElementIterator.NULLORDER) {
+              if(s.primShift < 0 || s.secShift < 0 || s.terShift < 0) {
+                latinOneCEs_[ch] = BAIL_OUT_CE_;
+                latinOneCEs_[latinOneTableLen_+ch] = BAIL_OUT_CE_;
+                latinOneCEs_[2*latinOneTableLen_+ch] = BAIL_OUT_CE_;
+                break;
+              }
+              addLatinOneEntry(ch, CE, s);
+            }
+            break;
+          case CollationElementIterator.CE_CONTRACTION_TAG_:
+            // here is the trick
+            // F2 is contraction. We do something very similar to contractions
+            // but have two indices, one in the real contraction table and the
+            // other to where we stuffed things. This hopes that we don't have
+            // many contractions (this should work for latin-1 tables).
+            {
+              if((CE & 0x00FFF000) != 0) {
+                latinOneFailed_ = true;
+                return false;
+              }
+
+              int UCharOffset = (CE & 0xFFFFFF) - m_contractionOffset_; //getContractionOffset(CE)]
+
+              CE |= (contractionOffset & 0xFFF) << 12; // insert the offset in latin-1 table
+
+              latinOneCEs_[ch] = CE;
+              latinOneCEs_[latinOneTableLen_+ch] = CE;
+              latinOneCEs_[2*latinOneTableLen_+ch] = CE;
+
+              // We're going to jump into contraction table, pick the elements
+              // and use them
+              do {
+                  //CE = *(contractionCEs + (UCharOffset - contractionIndex));
+                  CE = m_contractionCE_[UCharOffset];
+                  if(isSpecial(CE) 
+                     && getTag(CE) 
+                               == CollationElementIterator.CE_EXPANSION_TAG_) {
+                    int i;    /* general counter */
+                    //uint32_t *CEOffset = (uint32_t *)image+getExpansionOffset(CE); /* find the offset to expansion table */
+                    int offset = ((CE & 0xFFFFF0) >> 4) - m_expansionOffset_; //it.getExpansionOffset(this, CE);
+                    int size = CE & 0xF; // getExpansionCount(CE);
+                    //CE = *CEOffset++;
+                    if(size != 0) { /* if there are less than 16 elements in expansion, we don't terminate */
+                      for(i = 0; i<size; i++) {
+                        if(s.primShift < 0 || s.secShift < 0 || s.terShift < 0) {
+                          latinOneCEs_[contractionOffset] = BAIL_OUT_CE_;
+                          latinOneCEs_[latinOneTableLen_+contractionOffset] = BAIL_OUT_CE_;
+                          latinOneCEs_[2*latinOneTableLen_+contractionOffset] = BAIL_OUT_CE_;
+                          break;
+                        }
+                        addLatinOneEntry(contractionOffset, m_expansion_[offset+i], s);
+                      }
+                    } else { /* else, we do */
+                      while(m_expansion_[offset] != 0) {
+                        if(s.primShift < 0 || s.secShift < 0 || s.terShift < 0) {
+                          latinOneCEs_[contractionOffset] = BAIL_OUT_CE_;
+                          latinOneCEs_[latinOneTableLen_+contractionOffset] = BAIL_OUT_CE_;
+                          latinOneCEs_[2*latinOneTableLen_+contractionOffset] = BAIL_OUT_CE_;
+                          break;
+                        }
+                        addLatinOneEntry(contractionOffset, m_expansion_[offset++], s);
+                      }
+                    }
+                    contractionOffset++;
+                  } else if(!isSpecial(CE)) {
+                    addLatinOneEntry(contractionOffset++, CE, s);
+                  } else {
+                      latinOneCEs_[contractionOffset] = BAIL_OUT_CE_;
+                      latinOneCEs_[latinOneTableLen_+contractionOffset] = BAIL_OUT_CE_;
+                      latinOneCEs_[2*latinOneTableLen_+contractionOffset] = BAIL_OUT_CE_;
+                      contractionOffset++;
+                  }
+                  UCharOffset++;
+                  s.primShift = 24; s.secShift = 24; s.terShift = 24;
+                  if(contractionOffset == latinOneTableLen_) { // we need to reallocate
+                   resizeLatinOneTable(2*latinOneTableLen_);
+                  }
+              } while(m_contractionIndex_[UCharOffset] != 0xFFFF);
+            }
+            break;
+          default:
+            latinOneFailed_ = true;
+            return false;
+          }
+        }
+      }
+      // compact table
+      if(contractionOffset < latinOneTableLen_) {
+        resizeLatinOneTable(contractionOffset);
+      }
+      return true;
+    }
+
+    private class ContractionInfo {
+        int index;
+    }
+
+    ContractionInfo m_ContInfo_;
+
+    private int
+    getLatinOneContraction(int strength, int CE, String s) {
+    //int strength, int CE, String s, Integer ind) {
+      int len = s.length();
+      //const UChar *UCharOffset = (UChar *)coll->image+getContractOffset(CE&0xFFF);
+      int UCharOffset = (CE & 0xFFF) - m_contractionOffset_;
+      int offset = 1;
+      int latinOneOffset = (CE & 0x00FFF000) >>> 12;
+      char schar = 0, tchar = 0;
+
+      for(;;) {
+        /*
+        if(len == -1) {
+          if(s[*index] == 0) { // end of string
+            return(coll->latinOneCEs[strength*coll->latinOneTableLen+latinOneOffset]);
+          } else {
+            schar = s[*index];
+          }
+        } else {
+        */
+          if(m_ContInfo_.index == len) {
+            return(latinOneCEs_[strength*latinOneTableLen_+latinOneOffset]);
+          } else {
+            schar = s.charAt(m_ContInfo_.index);
+          }
+        //}
+
+        while(schar > (tchar = m_contractionIndex_[UCharOffset+offset]/**(UCharOffset+offset)*/)) { /* since the contraction codepoints should be ordered, we skip all that are smaller */
+          offset++;
+        }
+
+        if (schar == tchar) {
+          m_ContInfo_.index++;
+          return(latinOneCEs_[strength*latinOneTableLen_+latinOneOffset+offset]);
+        }
+        else
+        {
+          if(schar  > ENDOFLATINONERANGE_ /*& 0xFF00*/) {
+            return BAIL_OUT_CE_;
+          }
+          // skip completely ignorables
+          int isZeroCE = m_trie_.getLeadValue(schar); //UTRIE_GET32_FROM_LEAD(coll->mapping, schar);
+          if(isZeroCE == 0) { // we have to ignore completely ignorables
+            m_ContInfo_.index++;
+            continue;
+          }
+
+          return(latinOneCEs_[strength*latinOneTableLen_+latinOneOffset]);
+        }
+      }
+    }
+
+
+    /**
+     * This is a fast strcoll, geared towards text in Latin-1.
+     * It supports contractions of size two, French secondaries
+     * and case switching. You can use it with strengths primary
+     * to tertiary. It does not support shifted and case level.
+     * It relies on the table build by setupLatin1Table. If it
+     * doesn't understand something, it will go to the regular
+     * strcoll.
+     */
+    private final int
+    compareUseLatin1(String source, String target, int startOffset)
+    {
+        int sLen = source.length();
+        int tLen = target.length();
+
+        int strength = getStrength();
+
+        int sIndex = startOffset, tIndex = startOffset;
+        char sChar = 0, tChar = 0;
+        int sOrder=0, tOrder=0;
+
+        boolean endOfSource = false;
+
+        //uint32_t *elements = coll->latinOneCEs;
+
+        boolean haveContractions = false; // if we have contractions in our string
+                                        // we cannot do French secondary
+
+        int offset = latinOneTableLen_;
+
+        // Do the primary level
+    primLoop:
+        for(;;) {
+          while(sOrder==0) { // this loop skips primary ignorables
+            // sOrder=getNextlatinOneCE(source);
+              if(sIndex==sLen) {
+                endOfSource = true;
+                break;
+              }
+              sChar=source.charAt(sIndex++); //[sIndex++];
+            //}
+            if(sChar > ENDOFLATINONERANGE_) { // if we encounter non-latin-1, we bail out
+              //fprintf(stderr, "R");
+              return compareRegular(source, target, startOffset);
+            }
+            sOrder = latinOneCEs_[sChar];
+            if(isSpecial(sOrder)) { // if we got a special
+              // specials can basically be either contractions or bail-out signs. If we get anything
+              // else, we'll bail out anywasy
+              if(getTag(sOrder) == CollationElementIterator.CE_CONTRACTION_TAG_) {
+                m_ContInfo_.index = sIndex;
+                sOrder = getLatinOneContraction(0, sOrder, source);
+                sIndex = m_ContInfo_.index;
+                haveContractions = true; // if there are contractions, we cannot do French secondary
+                // However, if there are contractions in the table, but we always use just one char,
+                // we might be able to do French. This should be checked out.
+              }
+              if(isSpecial(sOrder) /*== UCOL_BAIL_OUT_CE*/) {
+                //fprintf(stderr, "S");
+                return compareRegular(source, target, startOffset);
+              }
+            }
+          }
+
+          while(tOrder==0) {  // this loop skips primary ignorables
+            // tOrder=getNextlatinOneCE(target);
+            if(tIndex==tLen) {
+              if(endOfSource) {
+                break primLoop;
+              } else {
+                return 1;
+              }
+            }
+            tChar=target.charAt(tIndex++); //[tIndex++];
+            if(tChar > ENDOFLATINONERANGE_) { // if we encounter non-latin-1, we bail out
+              //fprintf(stderr, "R");
+              return compareRegular(source, target, startOffset);
+            }
+            tOrder = latinOneCEs_[tChar];
+            if(isSpecial(tOrder)) {
+              // Handling specials, see the comments for source
+              if(getTag(tOrder) == CollationElementIterator.CE_CONTRACTION_TAG_) {
+                m_ContInfo_.index = tIndex;
+                tOrder = getLatinOneContraction(0, tOrder, target);
+                tIndex = m_ContInfo_.index;
+                haveContractions = true;
+              }
+              if(isSpecial(tOrder)/*== UCOL_BAIL_OUT_CE*/) {
+                //fprintf(stderr, "S");
+                return compareRegular(source, target, startOffset);
+              }
+            }
+          }
+          if(endOfSource) { // source is finished, but target is not, say the result.
+              return -1;
+          }
+
+          if(sOrder == tOrder) { // if we have same CEs, we continue the loop
+            sOrder = 0; tOrder = 0;
+            continue;
+          } else {
+            // compare current top bytes
+            if(((sOrder^tOrder)&0xFF000000)!=0) {
+              // top bytes differ, return difference
+              if(sOrder >>> 8 < tOrder >>> 8) {
+                return -1;
+              } else {
+                return 1;
+              }
+              // instead of return (int32_t)(sOrder>>24)-(int32_t)(tOrder>>24);
+              // since we must return enum value
+            }
+
+            // top bytes match, continue with following bytes
+            sOrder<<=8;
+            tOrder<<=8;
+          }
+        }
+
+        // after primary loop, we definitely know the sizes of strings,
+        // so we set it and use simpler loop for secondaries and tertiaries
+        //sLen = sIndex; tLen = tIndex;
+        if(strength >= SECONDARY) {
+          // adjust the table beggining
+          //latinOneCEs_ += coll->latinOneTableLen;
+          endOfSource = false;
+
+          if(!m_isFrenchCollation_) { // non French
+            // This loop is a simplified copy of primary loop
+            // at this point we know that whole strings are latin-1, so we don't
+            // check for that. We also know that we only have contractions as
+            // specials.
+            //sIndex = 0; tIndex = 0;
+            sIndex = startOffset; tIndex = startOffset;
+    secLoop:
+            for(;;) {
+              while(sOrder==0) {
+                if(sIndex==sLen) {
+                  endOfSource = true;
+                  break;
+                }
+                sChar=source.charAt(sIndex++); //[sIndex++];
+                sOrder = latinOneCEs_[offset+sChar];
+                if(isSpecial(sOrder)) {
+                    m_ContInfo_.index = sIndex;
+                    sOrder = getLatinOneContraction(1, sOrder, source);
+                    sIndex = m_ContInfo_.index;
+                }
+              }
+
+              while(tOrder==0) {
+                if(tIndex==tLen) {
+                  if(endOfSource) {
+                    break secLoop;
+                  } else {
+                    return 1;
+                  }
+                }
+                tChar=target.charAt(tIndex++); //[tIndex++];
+                tOrder = latinOneCEs_[offset+tChar];
+                if(isSpecial(tOrder)) {
+                    m_ContInfo_.index = tIndex;
+                    tOrder = getLatinOneContraction(1, tOrder, target);
+                    tIndex = m_ContInfo_.index;
+                }
+              }
+              if(endOfSource) {
+                  return -1;
+              }
+
+              if(sOrder == tOrder) {
+                sOrder = 0; tOrder = 0;
+                continue;
+              } else {
+                // see primary loop for comments on this
+                if(((sOrder^tOrder)&0xFF000000)!=0) {
+                  if(sOrder >>> 8 < tOrder >>> 8) {
+                    return -1;
+                  } else {
+                    return 1;
+                  }
+                }
+                sOrder<<=8;
+                tOrder<<=8;
+              }
+            }
+          } else { // French
+            if(haveContractions) { // if we have contractions, we have to bail out
+              // since we don't really know how to handle them here
+              return compareRegular(source, target, startOffset);
+            }
+            // For French, we go backwards
+            sIndex = sLen; tIndex = tLen;
+    secFLoop:
+            for(;;) {
+              while(sOrder==0) {
+                if(sIndex==startOffset) {
+                  endOfSource = true;
+                  break;
+                }
+                sChar=source.charAt(--sIndex); //[--sIndex];
+                sOrder = latinOneCEs_[offset+sChar];
+                // don't even look for contractions
+              }
+
+              while(tOrder==0) {
+                if(tIndex==startOffset) {
+                  if(endOfSource) {
+                    break secFLoop;
+                  } else {
+                    return 1;
+                  }
+                }
+                tChar=target.charAt(--tIndex); //[--tIndex];
+                tOrder = latinOneCEs_[offset+tChar];
+                // don't even look for contractions
+              }
+              if(endOfSource) {
+                  return -1;
+              }
+
+              if(sOrder == tOrder) {
+                sOrder = 0; tOrder = 0;
+                continue;
+              } else {
+                // see the primary loop for comments
+                if(((sOrder^tOrder)&0xFF000000)!=0) {
+                  if(sOrder >>> 8 < tOrder >>> 8) {
+                    return -1;
+                  } else {
+                    return 1;
+                  }
+                }
+                sOrder<<=8;
+                tOrder<<=8;
+              }
+            }
+          }
+        }
+
+        if(strength >= TERTIARY) {
+          // tertiary loop is the same as secondary (except no French)
+          offset += latinOneTableLen_;
+          //sIndex = 0; tIndex = 0;
+          sIndex = startOffset; tIndex = startOffset;
+          endOfSource = false;
+          for(;;) {
+            while(sOrder==0) {
+              if(sIndex==sLen) {
+                endOfSource = true;
+                break;
+              }
+              sChar=source.charAt(sIndex++); //[sIndex++];
+              sOrder = latinOneCEs_[offset+sChar];
+              if(isSpecial(sOrder)) {
+                m_ContInfo_.index = sIndex;
+                sOrder = getLatinOneContraction(2, sOrder, source);
+                sIndex = m_ContInfo_.index;
+              }
+            }
+            while(tOrder==0) {
+              if(tIndex==tLen) {
+                if(endOfSource) {
+                  return 0; // if both strings are at the end, they are equal
+                } else {
+                  return 1;
+                }
+              }
+              tChar=target.charAt(tIndex++); //[tIndex++];
+              tOrder = latinOneCEs_[offset+tChar];
+              if(isSpecial(tOrder)) {
+                m_ContInfo_.index = tIndex;
+                tOrder = getLatinOneContraction(2, tOrder, target);
+                tIndex = m_ContInfo_.index;
+              }
+            }
+            if(endOfSource) {
+                return -1;
+            }
+            if(sOrder == tOrder) {
+              sOrder = 0; tOrder = 0;
+              continue;
+            } else {
+              if(((sOrder^tOrder)&0xff000000)!=0) {
+                if(sOrder >>> 8 < tOrder >>> 8) {
+                  return -1;
+                } else {
+                  return 1;
+                }
+              }
+              sOrder<<=8;
+              tOrder<<=8;
+            }
+          }
+        }
+        return 0;
+    }
+    /** 
+     * Get the version of this collator object.
+     * @return the version object associated with this collator
+     * @stable ICU 2.8
+     */
+    public VersionInfo getVersion() {
+        /* RunTime version  */
+        int rtVersion = VersionInfo.UCOL_RUNTIME_VERSION.getMajor();
+        /* Builder version*/
+        int bdVersion = m_version_.getMajor();
+
+        /* Charset Version. Need to get the version from cnv files
+         * makeconv should populate cnv files with version and
+         * an api has to be provided in ucnv.h to obtain this version
+         */
+        int csVersion = 0;
+
+        /* combine the version info */
+        int cmbVersion = ((rtVersion<<11) | (bdVersion<<6) | (csVersion)) & 0xFFFF;
+        
+        /* Tailoring rules */
+        return VersionInfo.getInstance(cmbVersion>>8, 
+                cmbVersion & 0xFF, 
+                m_version_.getMinor(), 
+                UCA_.m_UCA_version_.getMajor());
+
+//        versionInfo[0] = (uint8_t)(cmbVersion>>8);
+//        versionInfo[1] = (uint8_t)cmbVersion;
+//        versionInfo[2] = coll->image->version[1];
+//        versionInfo[3] = coll->UCA->image->UCAVersion[0];
+    }
+    
+    /** 
+     * Get the UCA version of this collator object.
+     * @return the version object associated with this collator
+     * @stable ICU 2.8
+     */
+    public VersionInfo getUCAVersion() {
+        return UCA_.m_UCA_version_;
+    }
+}
diff --git a/src/com/ibm/icu/text/RuleBasedNumberFormat.java b/src/com/ibm/icu/text/RuleBasedNumberFormat.java
new file mode 100755
index 0000000..72d235f
--- /dev/null
+++ b/src/com/ibm/icu/text/RuleBasedNumberFormat.java
@@ -0,0 +1,1709 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+package com.ibm.icu.text;
+
+//import com.ibm.icu.impl.ICULocaleData;
+import com.ibm.icu.impl.ICUDebug;
+import com.ibm.icu.impl.ICUResourceBundle;
+import com.ibm.icu.impl.UCharacterProperty;
+import com.ibm.icu.util.ULocale;
+import com.ibm.icu.util.UResourceBundle;
+
+import java.math.BigInteger;
+import java.text.FieldPosition;
+import java.text.ParsePosition;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.Locale;
+import java.util.Map;
+import java.util.MissingResourceException;
+import java.util.Set;
+
+//import java.util.ResourceBundle;
+
+
+/**
+ * <p>A class that formats numbers according to a set of rules. This number formatter is
+ * typically used for spelling out numeric values in words (e.g., 25,3476 as
+ * &quot;twenty-five thousand three hundred seventy-six&quot; or &quot;vingt-cinq mille trois
+ * cents soixante-seize&quot; or
+ * &quot;funfundzwanzigtausenddreihundertsechsundsiebzig&quot;), but can also be used for
+ * other complicated formatting tasks, such as formatting a number of seconds as hours,
+ * minutes and seconds (e.g., 3,730 as &quot;1:02:10&quot;).</p>
+ *
+ * <p>The resources contain three predefined formatters for each locale: spellout, which
+ * spells out a value in words (123 is &quot;one hundred twenty-three&quot;); ordinal, which
+ * appends an ordinal suffix to the end of a numeral (123 is &quot;123rd&quot;); and
+ * duration, which shows a duration in seconds as hours, minutes, and seconds (123 is
+ * &quot;2:03&quot;).&nbsp; The client can also define more specialized <tt>RuleBasedNumberFormat</tt>s
+ * by supplying programmer-defined rule sets.</p>
+ *
+ * <p>The behavior of a <tt>RuleBasedNumberFormat</tt> is specified by a textual description
+ * that is either passed to the constructor as a <tt>String</tt> or loaded from a resource
+ * bundle. In its simplest form, the description consists of a semicolon-delimited list of <em>rules.</em>
+ * Each rule has a string of output text and a value or range of values it is applicable to.
+ * In a typical spellout rule set, the first twenty rules are the words for the numbers from
+ * 0 to 19:</p>
+ *
+ * <pre>zero; one; two; three; four; five; six; seven; eight; nine;
+ * ten; eleven; twelve; thirteen; fourteen; fifteen; sixteen; seventeen; eighteen; nineteen;</pre>
+ *
+ * <p>For larger numbers, we can use the preceding set of rules to format the ones place, and
+ * we only have to supply the words for the multiples of 10:</p>
+ *
+ * <pre>20: twenty[-&gt;&gt;];
+ * 30: thirty{-&gt;&gt;];
+ * 40: forty[-&gt;&gt;];
+ * 50: fifty[-&gt;&gt;];
+ * 60: sixty[-&gt;&gt;];
+ * 70: seventy[-&gt;&gt;];
+ * 80: eighty[-&gt;&gt;];
+ * 90: ninety[-&gt;&gt;];</pre>
+ *
+ * <p>In these rules, the <em>base value</em> is spelled out explicitly and set off from the
+ * rule's output text with a colon. The rules are in a sorted list, and a rule is applicable
+ * to all numbers from its own base value to one less than the next rule's base value. The
+ * &quot;&gt;&gt;&quot; token is called a <em>substitution</em> and tells the fomatter to
+ * isolate the number's ones digit, format it using this same set of rules, and place the
+ * result at the position of the &quot;&gt;&gt;&quot; token. Text in brackets is omitted if
+ * the number being formatted is an even multiple of 10 (the hyphen is a literal hyphen; 24
+ * is &quot;twenty-four,&quot; not &quot;twenty four&quot;).</p>
+ *
+ * <p>For even larger numbers, we can actually look up several parts of the number in the
+ * list:</p>
+ *
+ * <pre>100: &lt;&lt; hundred[ &gt;&gt;];</pre>
+ *
+ * <p>The &quot;&lt;&lt;&quot; represents a new kind of substitution. The &lt;&lt; isolates
+ * the hundreds digit (and any digits to its left), formats it using this same rule set, and
+ * places the result where the &quot;&lt;&lt;&quot; was. Notice also that the meaning of
+ * &gt;&gt; has changed: it now refers to both the tens and the ones digits. The meaning of
+ * both substitutions depends on the rule's base value. The base value determines the rule's <em>divisor,</em>
+ * which is the highest power of 10 that is less than or equal to the base value (the user
+ * can change this). To fill in the substitutions, the formatter divides the number being
+ * formatted by the divisor. The integral quotient is used to fill in the &lt;&lt;
+ * substitution, and the remainder is used to fill in the &gt;&gt; substitution. The meaning
+ * of the brackets changes similarly: text in brackets is omitted if the value being
+ * formatted is an even multiple of the rule's divisor. The rules are applied recursively, so
+ * if a substitution is filled in with text that includes another substitution, that
+ * substitution is also filled in.</p>
+ *
+ * <p>This rule covers values up to 999, at which point we add another rule:</p>
+ *
+ * <pre>1000: &lt;&lt; thousand[ &gt;&gt;];</pre>
+ *
+ * <p>Again, the meanings of the brackets and substitution tokens shift because the rule's
+ * base value is a higher power of 10, changing the rule's divisor. This rule can actually be
+ * used all the way up to 999,999. This allows us to finish out the rules as follows:</p>
+ *
+ * <pre>1,000,000: &lt;&lt; million[ &gt;&gt;];
+ * 1,000,000,000: &lt;&lt; billion[ &gt;&gt;];
+ * 1,000,000,000,000: &lt;&lt; trillion[ &gt;&gt;];
+ * 1,000,000,000,000,000: OUT OF RANGE!;</pre>
+ *
+ * <p>Commas, periods, and spaces can be used in the base values to improve legibility and
+ * are ignored by the rule parser. The last rule in the list is customarily treated as an
+ * &quot;overflow rule,&quot; applying to everything from its base value on up, and often (as
+ * in this example) being used to print out an error message or default representation.
+ * Notice also that the size of the major groupings in large numbers is controlled by the
+ * spacing of the rules: because in English we group numbers by thousand, the higher rules
+ * are separated from each other by a factor of 1,000.</p>
+ *
+ * <p>To see how these rules actually work in practice, consider the following example:
+ * Formatting 25,430 with this rule set would work like this:</p>
+ *
+ * <table border="0" width="630">
+ *   <tr>
+ *     <td width="21"></td>
+ *     <td width="257" valign="top"><strong>&lt;&lt; thousand &gt;&gt;</strong></td>
+ *     <td width="340" valign="top">[the rule whose base value is 1,000 is applicable to 25,340]</td>
+ *   </tr>
+ *   <tr>
+ *     <td width="21"></td>
+ *     <td width="257" valign="top"><strong>twenty-&gt;&gt;</strong> thousand &gt;&gt;</td>
+ *     <td width="340" valign="top">[25,340 over 1,000 is 25. The rule for 20 applies.]</td>
+ *   </tr>
+ *   <tr>
+ *     <td width="21"></td>
+ *     <td width="257" valign="top">twenty-<strong>five</strong> thousand &gt;&gt;</td>
+ *     <td width="340" valign="top">[25 mod 10 is 5. The rule for 5 is &quot;five.&quot;</td>
+ *   </tr>
+ *   <tr>
+ *     <td width="21"></td>
+ *     <td width="257" valign="top">twenty-five thousand <strong>&lt;&lt; hundred &gt;&gt;</strong></td>
+ *     <td width="340" valign="top">[25,340 mod 1,000 is 340. The rule for 100 applies.]</td>
+ *   </tr>
+ *   <tr>
+ *     <td width="21"></td>
+ *     <td width="257" valign="top">twenty-five thousand <strong>three</strong> hundred &gt;&gt;</td>
+ *     <td width="340" valign="top">[340 over 100 is 3. The rule for 3 is &quot;three.&quot;]</td>
+ *   </tr>
+ *   <tr>
+ *     <td width="21"></td>
+ *     <td width="257" valign="top">twenty-five thousand three hundred <strong>forty</strong></td>
+ *     <td width="340" valign="top">[340 mod 100 is 40. The rule for 40 applies. Since 40 divides
+ *     evenly by 10, the hyphen and substitution in the brackets are omitted.]</td>
+ *   </tr>
+ * </table>
+ *
+ * <p>The above syntax suffices only to format positive integers. To format negative numbers,
+ * we add a special rule:</p>
+ *
+ * <pre>-x: minus &gt;&gt;;</pre>
+ *
+ * <p>This is called a <em>negative-number rule,</em> and is identified by &quot;-x&quot;
+ * where the base value would be. This rule is used to format all negative numbers. the
+ * &gt;&gt; token here means &quot;find the number's absolute value, format it with these
+ * rules, and put the result here.&quot;</p>
+ *
+ * <p>We also add a special rule called a <em>fraction rule </em>for numbers with fractional
+ * parts:</p>
+ *
+ * <pre>x.x: &lt;&lt; point &gt;&gt;;</pre>
+ *
+ * <p>This rule is used for all positive non-integers (negative non-integers pass through the
+ * negative-number rule first and then through this rule). Here, the &lt;&lt; token refers to
+ * the number's integral part, and the &gt;&gt; to the number's fractional part. The
+ * fractional part is formatted as a series of single-digit numbers (e.g., 123.456 would be
+ * formatted as &quot;one hundred twenty-three point four five six&quot;).</p>
+ *
+ * <p>To see how this rule syntax is applied to various languages, examine the resource data.</p>
+ *
+ * <p>There is actually much more flexibility built into the rule language than the
+ * description above shows. A formatter may own multiple rule sets, which can be selected by
+ * the caller, and which can use each other to fill in their substitutions. Substitutions can
+ * also be filled in with digits, using a DecimalFormat object. There is syntax that can be
+ * used to alter a rule's divisor in various ways. And there is provision for much more
+ * flexible fraction handling. A complete description of the rule syntax follows:</p>
+ *
+ * <hr>
+ *
+ * <p>The description of a <tt>RuleBasedNumberFormat</tt>'s behavior consists of one or more <em>rule
+ * sets.</em> Each rule set consists of a name, a colon, and a list of <em>rules.</em> A rule
+ * set name must begin with a % sign. Rule sets with names that begin with a single % sign
+ * are <em>public:</em> the caller can specify that they be used to format and parse numbers.
+ * Rule sets with names that begin with %% are <em>private:</em> they exist only for the use
+ * of other rule sets. If a formatter only has one rule set, the name may be omitted.</p>
+ *
+ * <p>The user can also specify a special &quot;rule set&quot; named <tt>%%lenient-parse</tt>.
+ * The body of <tt>%%lenient-parse</tt> isn't a set of number-formatting rules, but a <tt>RuleBasedCollator</tt>
+ * description which is used to define equivalences for lenient parsing. For more information
+ * on the syntax, see <tt>RuleBasedCollator</tt>. For more information on lenient parsing,
+ * see <tt>setLenientParse()</tt>. <em>Note:</em> symbols that have syntactic meaning
+ * in collation rules, such as '&amp;', have no particular meaning when appearing outside
+ * of the <tt>lenient-parse</tt> rule set.</p>
+ *
+ * <p>The body of a rule set consists of an ordered, semicolon-delimited list of <em>rules.</em>
+ * Internally, every rule has a base value, a divisor, rule text, and zero, one, or two <em>substitutions.</em>
+ * These parameters are controlled by the description syntax, which consists of a <em>rule
+ * descriptor,</em> a colon, and a <em>rule body.</em></p>
+ *
+ * <p>A rule descriptor can take one of the following forms (text in <em>italics</em> is the
+ * name of a token):</p>
+ *
+ * <table border="0" width="100%">
+ *   <tr>
+ *     <td width="5%" valign="top"></td>
+ *     <td width="8%" valign="top"><em>bv</em>:</td>
+ *     <td valign="top"><em>bv</em> specifies the rule's base value. <em>bv</em> is a decimal
+ *     number expressed using ASCII digits. <em>bv</em> may contain spaces, period, and commas,
+ *     which are irgnored. The rule's divisor is the highest power of 10 less than or equal to
+ *     the base value.</td>
+ *   </tr>
+ *   <tr>
+ *     <td width="5%" valign="top"></td>
+ *     <td width="8%" valign="top"><em>bv</em>/<em>rad</em>:</td>
+ *     <td valign="top"><em>bv</em> specifies the rule's base value. The rule's divisor is the
+ *     highest power of <em>rad</em> less than or equal to the base value.</td>
+ *   </tr>
+ *   <tr>
+ *     <td width="5%" valign="top"></td>
+ *     <td width="8%" valign="top"><em>bv</em>&gt;:</td>
+ *     <td valign="top"><em>bv</em> specifies the rule's base value. To calculate the divisor,
+ *     let the radix be 10, and the exponent be the highest exponent of the radix that yields a
+ *     result less than or equal to the base value. Every &gt; character after the base value
+ *     decreases the exponent by 1. If the exponent is positive or 0, the divisor is the radix
+ *     raised to the power of the exponent; otherwise, the divisor is 1.</td>
+ *   </tr>
+ *   <tr>
+ *     <td width="5%" valign="top"></td>
+ *     <td width="8%" valign="top"><em>bv</em>/<em>rad</em>&gt;:</td>
+ *     <td valign="top"><em>bv</em> specifies the rule's base value. To calculate the divisor,
+ *     let the radix be <em>rad</em>, and the exponent be the highest exponent of the radix that
+ *     yields a result less than or equal to the base value. Every &gt; character after the radix
+ *     decreases the exponent by 1. If the exponent is positive or 0, the divisor is the radix
+ *     raised to the power of the exponent; otherwise, the divisor is 1.</td>
+ *   </tr>
+ *   <tr>
+ *     <td width="5%" valign="top"></td>
+ *     <td width="8%" valign="top">-x:</td>
+ *     <td valign="top">The rule is a negative-number rule.</td>
+ *   </tr>
+ *   <tr>
+ *     <td width="5%" valign="top"></td>
+ *     <td width="8%" valign="top">x.x:</td>
+ *     <td valign="top">The rule is an <em>improper fraction rule.</em></td>
+ *   </tr>
+ *   <tr>
+ *     <td width="5%" valign="top"></td>
+ *     <td width="8%" valign="top">0.x:</td>
+ *     <td valign="top">The rule is a <em>proper fraction rule.</em></td>
+ *   </tr>
+ *   <tr>
+ *     <td width="5%" valign="top"></td>
+ *     <td width="8%" valign="top">x.0:</td>
+ *     <td valign="top">The rule is a <em>master rule.</em></td>
+ *   </tr>
+ *   <tr>
+ *     <td width="5%" valign="top"></td>
+ *     <td width="8%" valign="top"><em>nothing</em></td>
+ *     <td valign="top">If the rule's rule descriptor is left out, the base value is one plus the
+ *     preceding rule's base value (or zero if this is the first rule in the list) in a normal
+ *     rule set.&nbsp; In a fraction rule set, the base value is the same as the preceding rule's
+ *     base value.</td>
+ *   </tr>
+ * </table>
+ *
+ * <p>A rule set may be either a regular rule set or a <em>fraction rule set,</em> depending
+ * on whether it is used to format a number's integral part (or the whole number) or a
+ * number's fractional part. Using a rule set to format a rule's fractional part makes it a
+ * fraction rule set.</p>
+ *
+ * <p>Which rule is used to format a number is defined according to one of the following
+ * algorithms: If the rule set is a regular rule set, do the following:
+ *
+ * <ul>
+ *   <li>If the rule set includes a master rule (and the number was passed in as a <tt>double</tt>),
+ *     use the master rule.&nbsp; (If the number being formatted was passed in as a <tt>long</tt>,
+ *     the master rule is ignored.)</li>
+ *   <li>If the number is negative, use the negative-number rule.</li>
+ *   <li>If the number has a fractional part and is greater than 1, use the improper fraction
+ *     rule.</li>
+ *   <li>If the number has a fractional part and is between 0 and 1, use the proper fraction
+ *     rule.</li>
+ *   <li>Binary-search the rule list for the rule with the highest base value less than or equal
+ *     to the number. If that rule has two substitutions, its base value is not an even multiple
+ *     of its divisor, and the number <em>is</em> an even multiple of the rule's divisor, use the
+ *     rule that precedes it in the rule list. Otherwise, use the rule itself.</li>
+ * </ul>
+ *
+ * <p>If the rule set is a fraction rule set, do the following:
+ *
+ * <ul>
+ *   <li>Ignore negative-number and fraction rules.</li>
+ *   <li>For each rule in the list, multiply the number being formatted (which will always be
+ *     between 0 and 1) by the rule's base value. Keep track of the distance between the result
+ *     the nearest integer.</li>
+ *   <li>Use the rule that produced the result closest to zero in the above calculation. In the
+ *     event of a tie or a direct hit, use the first matching rule encountered. (The idea here is
+ *     to try each rule's base value as a possible denominator of a fraction. Whichever
+ *     denominator produces the fraction closest in value to the number being formatted wins.) If
+ *     the rule following the matching rule has the same base value, use it if the numerator of
+ *     the fraction is anything other than 1; if the numerator is 1, use the original matching
+ *     rule. (This is to allow singular and plural forms of the rule text without a lot of extra
+ *     hassle.)</li>
+ * </ul>
+ *
+ * <p>A rule's body consists of a string of characters terminated by a semicolon. The rule
+ * may include zero, one, or two <em>substitution tokens,</em> and a range of text in
+ * brackets. The brackets denote optional text (and may also include one or both
+ * substitutions). The exact meanings of the substitution tokens, and under what conditions
+ * optional text is omitted, depend on the syntax of the substitution token and the context.
+ * The rest of the text in a rule body is literal text that is output when the rule matches
+ * the number being formatted.</p>
+ *
+ * <p>A substitution token begins and ends with a <em>token character.</em> The token
+ * character and the context together specify a mathematical operation to be performed on the
+ * number being formatted. An optional <em>substitution descriptor </em>specifies how the
+ * value resulting from that operation is used to fill in the substitution. The position of
+ * the substitution token in the rule body specifies the location of the resultant text in
+ * the original rule text.</p>
+ *
+ * <p>The meanings of the substitution token characters are as follows:</p>
+ *
+ * <table border="0" width="100%">
+ *   <tr>
+ *     <td width="37"></td>
+ *     <td width="23">&gt;&gt;</td>
+ *     <td width="165" valign="top">in normal rule</td>
+ *     <td>Divide the number by the rule's divisor and format the remainder</td>
+ *   </tr>
+ *   <tr>
+ *     <td width="37"></td>
+ *     <td width="23"></td>
+ *     <td width="165" valign="top">in negative-number rule</td>
+ *     <td>Find the absolute value of the number and format the result</td>
+ *   </tr>
+ *   <tr>
+ *     <td width="37"></td>
+ *     <td width="23"></td>
+ *     <td width="165" valign="top">in fraction or master rule</td>
+ *     <td>Isolate the number's fractional part and format it.</td>
+ *   </tr>
+ *   <tr>
+ *     <td width="37"></td>
+ *     <td width="23"></td>
+ *     <td width="165" valign="top">in rule in fraction rule set</td>
+ *     <td>Not allowed.</td>
+ *   </tr>
+ *   <tr>
+ *     <td width="37"></td>
+ *     <td width="23">&gt;&gt;&gt;</td>
+ *     <td width="165" valign="top">in normal rule</td>
+ *     <td>Divide the number by the rule's divisor and format the remainder,
+ *       but bypass the normal rule-selection process and just use the
+ *       rule that precedes this one in this rule list.</td>
+ *   </tr>
+ *   <tr>
+ *     <td width="37"></td>
+ *     <td width="23"></td>
+ *     <td width="165" valign="top">in all other rules</td>
+ *     <td>Not allowed.</td>
+ *   </tr>
+ *   <tr>
+ *     <td width="37"></td>
+ *     <td width="23">&lt;&lt;</td>
+ *     <td width="165" valign="top">in normal rule</td>
+ *     <td>Divide the number by the rule's divisor and format the quotient</td>
+ *   </tr>
+ *   <tr>
+ *     <td width="37"></td>
+ *     <td width="23"></td>
+ *     <td width="165" valign="top">in negative-number rule</td>
+ *     <td>Not allowed.</td>
+ *   </tr>
+ *   <tr>
+ *     <td width="37"></td>
+ *     <td width="23"></td>
+ *     <td width="165" valign="top">in fraction or master rule</td>
+ *     <td>Isolate the number's integral part and format it.</td>
+ *   </tr>
+ *   <tr>
+ *     <td width="37"></td>
+ *     <td width="23"></td>
+ *     <td width="165" valign="top">in rule in fraction rule set</td>
+ *     <td>Multiply the number by the rule's base value and format the result.</td>
+ *   </tr>
+ *   <tr>
+ *     <td width="37"></td>
+ *     <td width="23">==</td>
+ *     <td width="165" valign="top">in all rule sets</td>
+ *     <td>Format the number unchanged</td>
+ *   </tr>
+ *   <tr>
+ *     <td width="37"></td>
+ *     <td width="23">[]</td>
+ *     <td width="165" valign="top">in normal rule</td>
+ *     <td>Omit the optional text if the number is an even multiple of the rule's divisor</td>
+ *   </tr>
+ *   <tr>
+ *     <td width="37"></td>
+ *     <td width="23"></td>
+ *     <td width="165" valign="top">in negative-number rule</td>
+ *     <td>Not allowed.</td>
+ *   </tr>
+ *   <tr>
+ *     <td width="37"></td>
+ *     <td width="23"></td>
+ *     <td width="165" valign="top">in improper-fraction rule</td>
+ *     <td>Omit the optional text if the number is between 0 and 1 (same as specifying both an
+ *     x.x rule and a 0.x rule)</td>
+ *   </tr>
+ *   <tr>
+ *     <td width="37"></td>
+ *     <td width="23"></td>
+ *     <td width="165" valign="top">in master rule</td>
+ *     <td>Omit the optional text if the number is an integer (same as specifying both an x.x
+ *     rule and an x.0 rule)</td>
+ *   </tr>
+ *   <tr>
+ *     <td width="37"></td>
+ *     <td width="23"></td>
+ *     <td width="165" valign="top">in proper-fraction rule</td>
+ *     <td>Not allowed.</td>
+ *   </tr>
+ *   <tr>
+ *     <td width="37"></td>
+ *     <td width="23"></td>
+ *     <td width="165" valign="top">in rule in fraction rule set</td>
+ *     <td>Omit the optional text if multiplying the number by the rule's base value yields 1.</td>
+ *   </tr>
+ * </table>
+ *
+ * <p>The substitution descriptor (i.e., the text between the token characters) may take one
+ * of three forms:</p>
+ *
+ * <table border="0" width="100%">
+ *   <tr>
+ *     <td width="42"></td>
+ *     <td width="166" valign="top">a rule set name</td>
+ *     <td>Perform the mathematical operation on the number, and format the result using the
+ *     named rule set.</td>
+ *   </tr>
+ *   <tr>
+ *     <td width="42"></td>
+ *     <td width="166" valign="top">a DecimalFormat pattern</td>
+ *     <td>Perform the mathematical operation on the number, and format the result using a
+ *     DecimalFormat with the specified pattern.&nbsp; The pattern must begin with 0 or #.</td>
+ *   </tr>
+ *   <tr>
+ *     <td width="42"></td>
+ *     <td width="166" valign="top">nothing</td>
+ *     <td>Perform the mathematical operation on the number, and format the result using the rule
+ *     set containing the current rule, except:<ul>
+ *       <li>You can't have an empty substitution descriptor with a == substitution.</li>
+ *       <li>If you omit the substitution descriptor in a &gt;&gt; substitution in a fraction rule,
+ *         format the result one digit at a time using the rule set containing the current rule.</li>
+ *       <li>If you omit the substitution descriptor in a &lt;&lt; substitution in a rule in a
+ *         fraction rule set, format the result using the default rule set for this formatter.</li>
+ *     </ul>
+ *     </td>
+ *   </tr>
+ * </table>
+ *
+ * <p>Whitespace is ignored between a rule set name and a rule set body, between a rule
+ * descriptor and a rule body, or between rules. If a rule body begins with an apostrophe,
+ * the apostrophe is ignored, but all text after it becomes significant (this is how you can
+ * have a rule's rule text begin with whitespace). There is no escape function: the semicolon
+ * is not allowed in rule set names or in rule text, and the colon is not allowed in rule set
+ * names. The characters beginning a substitution token are always treated as the beginning
+ * of a substitution token.</p>
+ *
+ * <p>See the resource data and the demo program for annotated examples of real rule sets
+ * using these features.</p>
+ *
+ * @author Richard Gillam
+ * @see NumberFormat
+ * @see DecimalFormat
+ * @stable ICU 2.0
+ */
+public class RuleBasedNumberFormat extends NumberFormat {
+
+    //-----------------------------------------------------------------------
+    // constants
+    //-----------------------------------------------------------------------
+
+    /**
+     * Puts a copyright in the .class file
+     */
+    private static final String copyrightNotice
+        = "Copyright \u00a91997-2004 IBM Corp.  All rights reserved.";
+
+    /**
+     * Selector code that tells the constructor to create a spellout formatter
+     * @stable ICU 2.0
+     */
+    public static final int SPELLOUT = 1;
+
+    /**
+     * Selector code that tells the constructor to create an ordinal formatter
+     * @stable ICU 2.0
+     */
+    public static final int ORDINAL = 2;
+
+    /**
+     * Selector code that tells the constructor to create a duration formatter
+     * @stable ICU 2.0
+     */
+    public static final int DURATION = 3;
+
+    //-----------------------------------------------------------------------
+    // data members
+    //-----------------------------------------------------------------------
+
+    /**
+     * The formatter's rule sets.
+     */
+    private transient NFRuleSet[] ruleSets = null;
+
+    /**
+     * A pointer to the formatter's default rule set.  This is always included
+     * in ruleSets.
+     */
+    private transient NFRuleSet defaultRuleSet = null;
+
+    /**
+     * The formatter's locale.  This is used to create DecimalFormatSymbols and
+     * Collator objects.
+     * @serial
+     */
+    private ULocale locale = null;
+
+    /**
+     * Collator to be used in lenient parsing.  This variable is lazy-evaluated:
+     * the collator is actually created the first time the client does a parse
+     * with lenient-parse mode turned on.
+     */
+    private transient Collator collator = null;
+
+    /**
+     * The DecimalFormatSymbols object that any DecimalFormat objects this
+     * formatter uses should use.  This variable is lazy-evaluated: it isn't
+     * filled in if the rule set never uses a DecimalFormat pattern.
+     */
+    private transient DecimalFormatSymbols decimalFormatSymbols = null;
+
+    /**
+     * Flag specifying whether lenient parse mode is on or off.  Off by default.
+     * @serial
+     */
+    private boolean lenientParse = false;
+
+    /**
+     * If the description specifies lenient-parse rules, they're stored here until
+     * the collator is created.
+     */
+    private transient String lenientParseRules;
+
+    /**
+     * If the description specifies post-process rules, they're stored here until
+     * post-processing is required.
+     */
+    private transient String postProcessRules;
+
+    /**
+     * Post processor lazily constructed from the postProcessRules.
+     */
+    private transient RBNFPostProcessor postProcessor;
+
+    /**
+     * Localizations for rule set names.
+     * @serial
+     */
+    private Map ruleSetDisplayNames;
+
+    /**
+     * The public rule set names;
+     * @serial
+     */
+    private String[] publicRuleSetNames;
+    
+    private static final boolean DEBUG  =  ICUDebug.enabled("rbnf");
+
+    //-----------------------------------------------------------------------
+    // constructors
+    //-----------------------------------------------------------------------
+
+    /**
+     * Creates a RuleBasedNumberFormat that behaves according to the description
+     * passed in.  The formatter uses the default locale.
+     * @param description A description of the formatter's desired behavior.
+     * See the class documentation for a complete explanation of the description
+     * syntax.
+     * @stable ICU 2.0
+     */
+    public RuleBasedNumberFormat(String description) {
+        locale = ULocale.getDefault();
+        init(description, null);
+    }
+
+    /**
+     * Creates a RuleBasedNumberFormat that behaves according to the description
+     * passed in.  The formatter uses the default locale.
+     * <p>
+     * The localizations data provides information about the public
+     * rule sets and their localized display names for different
+     * locales. The first element in the list is an array of the names
+     * of the public rule sets.  The first element in this array is
+     * the initial default ruleset.  The remaining elements in the
+     * list are arrays of localizations of the names of the public
+     * rule sets.  Each of these is one longer than the initial array,
+     * with the first String being the ULocale ID, and the remaining
+     * Strings being the localizations of the rule set names, in the
+     * same order as the initial array.
+     * @param description A description of the formatter's desired behavior.
+     * See the class documentation for a complete explanation of the description
+     * syntax.
+     * @param localizations a list of localizations for the rule set
+     * names in the description.
+     * @draft ICU 3.2
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public RuleBasedNumberFormat(String description, String[][] localizations) {
+        locale = ULocale.getDefault();
+        init(description, localizations);
+    }
+
+    /**
+     * Creates a RuleBasedNumberFormat that behaves according to the description
+     * passed in.  The formatter uses the specified locale to determine the
+     * characters to use when formatting in numerals, and to define equivalences
+     * for lenient parsing.
+     * @param description A description of the formatter's desired behavior.
+     * See the class documentation for a complete explanation of the description
+     * syntax.
+     * @param locale A locale, which governs which characters are used for
+     * formatting values in numerals, and which characters are equivalent in
+     * lenient parsing.
+     * @stable ICU 2.0
+     */
+    public RuleBasedNumberFormat(String description, Locale locale) {
+        this(description, ULocale.forLocale(locale));
+    }
+
+    /**
+     * Creates a RuleBasedNumberFormat that behaves according to the description
+     * passed in.  The formatter uses the specified locale to determine the
+     * characters to use when formatting in numerals, and to define equivalences
+     * for lenient parsing.
+     * @param description A description of the formatter's desired behavior.
+     * See the class documentation for a complete explanation of the description
+     * syntax.
+     * @param locale A locale, which governs which characters are used for
+     * formatting values in numerals, and which characters are equivalent in
+     * lenient parsing.
+     * @draft ICU 3.2
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public RuleBasedNumberFormat(String description, ULocale locale) {
+        this.locale = locale;
+        init(description, null);
+    }
+
+    /**
+     * Creates a RuleBasedNumberFormat that behaves according to the description
+     * passed in.  The formatter uses the specified locale to determine the
+     * characters to use when formatting in numerals, and to define equivalences
+     * for lenient parsing.
+     * <p>
+     * The localizations data provides information about the public
+     * rule sets and their localized display names for different
+     * locales. The first element in the list is an array of the names
+     * of the public rule sets.  The first element in this array is
+     * the initial default ruleset.  The remaining elements in the
+     * list are arrays of localizations of the names of the public
+     * rule sets.  Each of these is one longer than the initial array,
+     * with the first String being the ULocale ID, and the remaining
+     * Strings being the localizations of the rule set names, in the
+     * same order as the initial array.
+     * @param description A description of the formatter's desired behavior.
+     * See the class documentation for a complete explanation of the description
+     * syntax.
+     * @param localizations a list of localizations for the rule set names in the description.
+     * @param locale A ulocale that governs which characters are used for
+     * formatting values in numerals, and determines which characters are equivalent in
+     * lenient parsing.
+     * @draft ICU 3.2
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public RuleBasedNumberFormat(String description, String[][] localizations, ULocale locale) {
+        this.locale = locale;
+        init(description, localizations);
+    }
+
+    /**
+     * Creates a RuleBasedNumberFormat from a predefined description.  The selector
+     * code choosed among three possible predefined formats: spellout, ordinal,
+     * and duration.
+     * @param locale The locale for the formatter.
+     * @param format A selector code specifying which kind of formatter to create for that
+     * locale.  There are three legal values: SPELLOUT, which creates a formatter that
+     * spells out a value in words in the desired language, ORDINAL, which attaches
+     * an ordinal suffix from the desired language to the end of a number (e.g. "123rd"),
+     * and DURATION, which formats a duration in seconds as hours, minutes, and seconds.
+     * @stable ICU 2.0
+     */
+    public RuleBasedNumberFormat(Locale locale, int format) {
+        this(ULocale.forLocale(locale), format);
+    }
+
+    /**
+     * Creates a RuleBasedNumberFormat from a predefined description.  The selector
+     * code choosed among three possible predefined formats: spellout, ordinal,
+     * and duration.
+     * @param locale The locale for the formatter.
+     * @param format A selector code specifying which kind of formatter to create for that
+     * locale.  There are three legal values: SPELLOUT, which creates a formatter that
+     * spells out a value in words in the desired language, ORDINAL, which attaches
+     * an ordinal suffix from the desired language to the end of a number (e.g. "123rd"),
+     * and DURATION, which formats a duration in seconds as hours, minutes, and seconds.
+     * @draft ICU 3.2
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public RuleBasedNumberFormat(ULocale locale, int format) {
+        this.locale = locale;
+
+        ICUResourceBundle bundle = (ICUResourceBundle)UResourceBundle.
+            getBundleInstance(ICUResourceBundle.ICU_RBNF_BASE_NAME, locale);
+
+        // TODO: determine correct actual/valid locale.  Note ambiguity
+        // here -- do actual/valid refer to pattern, DecimalFormatSymbols,
+        // or Collator?
+        ULocale uloc = bundle.getULocale();
+        setLocale(uloc, uloc);
+
+        String description = "";
+        String[][] localizations = null;
+
+        try {
+            description = bundle.getString(rulenames[format-1]);
+            ICUResourceBundle locb = bundle.get(locnames[format-1]);
+            localizations = new String[locb.getSize()][];
+            for (int i = 0; i < localizations.length; ++i) {
+                localizations[i] = locb.get(i).getStringArray();
+            }
+        }
+        catch (MissingResourceException e) {
+            // might have description and no localizations, or no description...
+        }
+
+        init(description, localizations);
+    }
+
+    private static final String[] rulenames = {
+        "SpelloutRules", "OrdinalRules", "DurationRules",
+    };
+    private static final String[] locnames = {
+        "SpelloutLocalizations", "OrdinalLocalizations", "DurationLocalizations",
+    };
+
+    /**
+     * Creates a RuleBasedNumberFormat from a predefined description.  Uses the
+     * default locale.
+     * @param format A selector code specifying which kind of formatter to create.
+     * There are three legal values: SPELLOUT, which creates a formatter that spells
+     * out a value in words in the default locale's langyage, ORDINAL, which attaches
+     * an ordinal suffix from the default locale's language to a numeral, and
+     * DURATION, which formats a duration in seconds as hours, minutes, and seconds.
+     * @stable ICU 2.0
+     */
+    public RuleBasedNumberFormat(int format) {
+        this(ULocale.getDefault(), format);
+    }
+
+    //-----------------------------------------------------------------------
+    // boilerplate
+    //-----------------------------------------------------------------------
+
+    /**
+     * Duplicates this formatter.
+     * @return A RuleBasedNumberFormat that is equal to this one.
+     * @stable ICU 2.0
+     */
+    public Object clone() {
+        return super.clone();
+    }
+
+    /**
+     * Tests two RuleBasedNumberFormats for equality.
+     * @param that The formatter to compare against this one.
+     * @return true if the two formatters have identical behavior.
+     * @stable ICU 2.0
+     */
+    public boolean equals(Object that) {
+        // if the other object isn't a RuleBasedNumberFormat, that's
+        // all we need to know
+        if (!(that instanceof RuleBasedNumberFormat)) {
+            return false;
+        } else {
+            // cast the other object's pointer to a pointer to a
+            // RuleBasedNumberFormat
+            RuleBasedNumberFormat that2 = (RuleBasedNumberFormat)that;
+
+            // compare their locales and lenient-parse modes
+            if (!locale.equals(that2.locale) || lenientParse != that2.lenientParse) {
+                return false;
+            }
+
+            // if that succeeds, then compare their rule set lists
+            if (ruleSets.length != that2.ruleSets.length) {
+                return false;
+            }
+            for (int i = 0; i < ruleSets.length; i++) {
+                if (!ruleSets[i].equals(that2.ruleSets[i])) {
+                    return false;
+                }
+            }
+
+            return true;
+        }
+    }
+
+    /**
+     * Generates a textual description of this formatter.
+     * @return a String containing a rule set that will produce a RuleBasedNumberFormat
+     * with identical behavior to this one.  This won't necessarily be identical
+     * to the rule set description that was originally passed in, but will produce
+     * the same result.
+     * @stable ICU 2.0
+     */
+    public String toString() {
+
+        // accumulate the descriptions of all the rule sets in a
+        // StringBuffer, then cast it to a String and return it
+        StringBuffer result = new StringBuffer();
+        for (int i = 0; i < ruleSets.length; i++) {
+            result.append(ruleSets[i].toString());
+        }
+        return result.toString();
+    }
+
+    /**
+     * Writes this object to a stream.
+     * @param out The stream to write to.
+     */
+    private void writeObject(java.io.ObjectOutputStream out)
+        throws java.io.IOException {
+        // we just write the textual description to the stream, so we
+        // have an implementation-independent streaming format
+        out.writeUTF(this.toString());
+    }
+
+    /**
+     * Reads this object in from a stream.
+     * @param in The stream to read from.
+     */
+    private void readObject(java.io.ObjectInputStream in)
+        throws java.io.IOException {
+
+        // read the description in from the stream
+        String description = in.readUTF();
+
+        // build a brand-new RuleBasedNumberFormat from the description,
+        // then steal its substructure.  This object's substructure and
+        // the temporary RuleBasedNumberFormat drop on the floor and
+        // get swept up by the garbage collector
+        RuleBasedNumberFormat temp = new RuleBasedNumberFormat(description);
+        ruleSets = temp.ruleSets;
+        defaultRuleSet = temp.defaultRuleSet;
+    }
+
+
+    //-----------------------------------------------------------------------
+    // public API functions
+    //-----------------------------------------------------------------------
+
+    /**
+     * Returns a list of the names of all of this formatter's public rule sets.
+     * @return A list of the names of all of this formatter's public rule sets.
+     * @stable ICU 2.0
+     */
+    public String[] getRuleSetNames() {
+        return (String[])publicRuleSetNames.clone();
+    }
+
+    /**
+     * Return a list of locales for which there are locale-specific display names
+     * for the rule sets in this formatter.  If there are no localized display names, return null.
+     * @return an array of the ulocales for which there is rule set display name information
+     * @draft ICU 3.2
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public ULocale[] getRuleSetDisplayNameLocales() {
+        if (ruleSetDisplayNames != null) {
+            Set s = ruleSetDisplayNames.keySet();
+            String[] locales = (String[])s.toArray(new String[s.size()]);
+            Arrays.sort(locales, String.CASE_INSENSITIVE_ORDER);
+            ULocale[] result = new ULocale[locales.length];
+            for (int i = 0; i < locales.length; ++i) {
+                result[i] = new ULocale(locales[i]);
+            }
+            return result;
+        }
+        return null;
+    }
+
+    private String[] getNameListForLocale(ULocale locale) {
+        if (locale != null && ruleSetDisplayNames != null) {
+            String[] localeNames = { locale.getBaseName(), ULocale.getDefault().getBaseName() };
+            for (int i = 0; i < localeNames.length; ++i) {
+                String lname = localeNames[i];
+                while (lname.length() > 0) {
+                    String[] names = (String[])ruleSetDisplayNames.get(lname);
+                    if (names != null) {
+                        return names;
+                    }
+                    lname = ULocale.getFallback(lname);
+                }
+            }
+        }
+        return null;
+    }
+
+    /**
+     * Return the rule set display names for the provided locale.  These are in the same order
+     * as those returned by getRuleSetNames.  The locale is matched against the locales for
+     * which there is display name data, using normal fallback rules.  If no locale matches,
+     * the default display names are returned.  (These are the internal rule set names minus
+     * the leading '%'.)
+     * @return an array of the locales that have display name information
+     * @see #getRuleSetNames
+     * @draft ICU 3.2
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public String[] getRuleSetDisplayNames(ULocale locale) {
+        String[] names = getNameListForLocale(locale);
+        if (names != null) {
+            return (String[])names.clone();
+        }
+        names = getRuleSetNames();
+        for (int i = 0; i < names.length; ++i) {
+            names[i] = names[i].substring(1);
+        }
+        return names;
+    }
+
+    /**
+     * Return the rule set display names for the current default locale.
+     * @return an array of the display names
+     * @draft ICU 3.2
+     * @see #getRuleSetDisplayNames(ULocale)
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public String[] getRuleSetDisplayNames() {
+        return getRuleSetDisplayNames(ULocale.getDefault());
+    }
+
+    /**
+     * Return the rule set display name for the provided rule set and locale.
+     * The locale is matched against the locales for which there is display name data, using
+     * normal fallback rules.  If no locale matches, the default display name is returned.
+     * @return the display name for the rule set
+     * @draft ICU 3.2
+     * @see #getRuleSetDisplayNames
+     * @throws IllegalArgumentException if ruleSetName is not a valid rule set name for this format
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public String getRuleSetDisplayName(String ruleSetName, ULocale locale) {
+        String[] rsnames = publicRuleSetNames;
+        for (int ix = 0; ix < rsnames.length; ++ix) {
+            if (rsnames[ix].equals(ruleSetName)) {
+                String[] names = getNameListForLocale(locale);
+                if (names != null) {
+                    return names[ix];
+                }
+                return rsnames[ix].substring(1);
+            }
+        }
+        throw new IllegalArgumentException("unrecognized rule set name: " + ruleSetName);
+    }
+
+    /**
+     * Return the rule set display name for the provided rule set in the current default locale.
+     * @return the display name for the rule set
+     * @draft ICU 3.2
+     * @see #getRuleSetDisplayName(String,ULocale)
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public String getRuleSetDisplayName(String ruleSetName) {
+        return getRuleSetDisplayName(ruleSetName, ULocale.getDefault());
+    }
+
+    /**
+     * Formats the specified number according to the specified rule set.
+     * @param number The number to format.
+     * @param ruleSet The name of the rule set to format the number with.
+     * This must be the name of a valid public rule set for this formatter.
+     * @return A textual representation of the number.
+     * @stable ICU 2.0
+     */
+    public String format(double number, String ruleSet) throws IllegalArgumentException {
+        if (ruleSet.startsWith("%%")) {
+            throw new IllegalArgumentException("Can't use internal rule set");
+        }
+        return format(number, findRuleSet(ruleSet));
+    }
+
+    /**
+     * Formats the specified number according to the specified rule set.
+     * (If the specified rule set specifies a master ["x.0"] rule, this function
+     * ignores it.  Convert the number to a double first if you ned it.)  This
+     * function preserves all the precision in the long-- it doesn't convert it
+     * to a double.
+     * @param number The number to format.
+     * @param ruleSet The name of the rule set to format the number with.
+     * This must be the name of a valid public rule set for this formatter.
+     * @return A textual representation of the number.
+     * @stable ICU 2.0
+     */
+    public String format(long number, String ruleSet) throws IllegalArgumentException {
+        if (ruleSet.startsWith("%%")) {
+            throw new IllegalArgumentException("Can't use internal rule set");
+        }
+        return format(number, findRuleSet(ruleSet));
+    }
+
+    /**
+     * Formats the specified number using the formatter's default rule set.
+     * (The default rule set is the last public rule set defined in the description.)
+     * @param number The number to format.
+     * @param toAppendTo A StringBuffer that the result should be appended to.
+     * @param ignore This function doesn't examine or update the field position.
+     * @return toAppendTo
+     * @stable ICU 2.0
+     */
+    public StringBuffer format(double number,
+                               StringBuffer toAppendTo,
+                               FieldPosition ignore) {
+        // this is one of the inherited format() methods.  Since it doesn't
+        // have a way to select the rule set to use, it just uses the
+        // default one
+        toAppendTo.append(format(number, defaultRuleSet));
+        return toAppendTo;
+    }
+
+    /**
+     * Formats the specified number using the formatter's default rule set.
+     * (The default rule set is the last public rule set defined in the description.)
+     * (If the specified rule set specifies a master ["x.0"] rule, this function
+     * ignores it.  Convert the number to a double first if you ned it.)  This
+     * function preserves all the precision in the long-- it doesn't convert it
+     * to a double.
+     * @param number The number to format.
+     * @param toAppendTo A StringBuffer that the result should be appended to.
+     * @param ignore This function doesn't examine or update the field position.
+     * @return toAppendTo
+     * @stable ICU 2.0
+     */
+    public StringBuffer format(long number,
+                               StringBuffer toAppendTo,
+                               FieldPosition ignore) {
+        // this is one of the inherited format() methods.  Since it doesn't
+        // have a way to select the rule set to use, it just uses the
+        // default one
+        toAppendTo.append(format(number, defaultRuleSet));
+        return toAppendTo;
+    }
+
+    /**
+     * <strong><font face=helvetica color=red>NEW</font></strong>
+     * Implement com.ibm.icu.text.NumberFormat:
+     * Format a BigInteger.
+     * @stable ICU 2.0
+     */
+    public StringBuffer format(BigInteger number,
+                               StringBuffer toAppendTo,
+                               FieldPosition pos) {
+        return format(new com.ibm.icu.math.BigDecimal(number), toAppendTo, pos);
+    }
+
+    /**
+     * <strong><font face=helvetica color=red>NEW</font></strong>
+     * Implement com.ibm.icu.text.NumberFormat:
+     * Format a BigDecimal.
+     * @stable ICU 2.0
+     */
+    public StringBuffer format(java.math.BigDecimal number,
+                               StringBuffer toAppendTo,
+                               FieldPosition pos) {
+        return format(new com.ibm.icu.math.BigDecimal(number), toAppendTo, pos);
+    }
+
+    /**
+     * <strong><font face=helvetica color=red>NEW</font></strong>
+     * Implement com.ibm.icu.text.NumberFormat:
+     * Format a BigDecimal.
+     * @stable ICU 2.0
+     */
+    public StringBuffer format(com.ibm.icu.math.BigDecimal number,
+                               StringBuffer toAppendTo,
+                               FieldPosition pos) {
+        // TEMPORARY:
+        return format(number.doubleValue(), toAppendTo, pos);
+    }
+
+    /**
+     * Parses the specfied string, beginning at the specified position, according
+     * to this formatter's rules.  This will match the string against all of the
+     * formatter's public rule sets and return the value corresponding to the longest
+     * parseable substring.  This function's behavior is affected by the lenient
+     * parse mode.
+     * @param text The string to parse
+     * @param parsePosition On entry, contains the position of the first character
+     * in "text" to examine.  On exit, has been updated to contain the position
+     * of the first character in "text" that wasn't consumed by the parse.
+     * @return The number that corresponds to the parsed text.  This will be an
+     * instance of either Long or Double, depending on whether the result has a
+     * fractional part.
+     * @see #setLenientParseMode
+     * @stable ICU 2.0
+     */
+    public Number parse(String text, ParsePosition parsePosition) {
+
+        // parsePosition tells us where to start parsing.  We copy the
+        // text in the string from here to the end inro a new string,
+        // and create a new ParsePosition and result variable to use
+        // for the duration of the parse operation
+        String workingText = text.substring(parsePosition.getIndex());
+        ParsePosition workingPos = new ParsePosition(0);
+        Number tempResult = null;
+
+        // keep track of the largest number of characters consumed in
+        // the various trials, and the result that corresponds to it
+        Number result = new Long(0);
+        ParsePosition highWaterMark = new ParsePosition(workingPos.getIndex());
+
+        // iterate over the public rule sets (beginning with the default one)
+        // and try parsing the text with each of them.  Keep track of which
+        // one consumes the most characters: that's the one that determines
+        // the result we return
+        for (int i = ruleSets.length - 1; i >= 0; i--) {
+            // skip private rule sets
+            if (ruleSets[i].getName().startsWith("%%")) {
+                continue;
+            }
+
+            // try parsing the string with the rule set.  If it gets past the
+            // high-water mark, update the high-water mark and the result
+            tempResult = ruleSets[i].parse(workingText, workingPos, Double.MAX_VALUE);
+            if (workingPos.getIndex() > highWaterMark.getIndex()) {
+                result = tempResult;
+                highWaterMark.setIndex(workingPos.getIndex());
+            }
+            // commented out because this API on ParsePosition doesn't exist in 1.1.x
+            //            if (workingPos.getErrorIndex() > highWaterMark.getErrorIndex()) {
+            //                highWaterMark.setErrorIndex(workingPos.getErrorIndex());
+            //            }
+
+            // if we manage to use up all the characters in the string,
+            // we don't have to try any more rule sets
+            if (highWaterMark.getIndex() == workingText.length()) {
+                break;
+            }
+
+            // otherwise, reset our internal parse position to the
+            // beginning and try again with the next rule set
+            workingPos.setIndex(0);
+        }
+
+        // add the high water mark to our original parse position and
+        // return the result
+        parsePosition.setIndex(parsePosition.getIndex() + highWaterMark.getIndex());
+        // commented out because this API on ParsePosition doesn't exist in 1.1.x
+        //        if (highWaterMark.getIndex() == 0) {
+        //            parsePosition.setErrorIndex(parsePosition.getIndex() + highWaterMark.getErrorIndex());
+        //        }
+        return result;
+    }
+
+    /**
+     * Turns lenient parse mode on and off.
+     *
+     * When in lenient parse mode, the formatter uses a Collator for parsing the text.
+     * Only primary differences are treated as significant.  This means that case
+     * differences, accent differences, alternate spellings of the same letter
+     * (e.g., ae and a-umlaut in German), ignorable characters, etc. are ignored in
+     * matching the text.  In many cases, numerals will be accepted in place of words
+     * or phrases as well.
+     *
+     * For example, all of the following will correctly parse as 255 in English in
+     * lenient-parse mode:
+     * <br>"two hundred fifty-five"
+     * <br>"two hundred fifty five"
+     * <br>"TWO HUNDRED FIFTY-FIVE"
+     * <br>"twohundredfiftyfive"
+     * <br>"2 hundred fifty-5"
+     *
+     * The Collator used is determined by the locale that was
+     * passed to this object on construction.  The description passed to this object
+     * on construction may supply additional collation rules that are appended to the
+     * end of the default collator for the locale, enabling additional equivalences
+     * (such as adding more ignorable characters or permitting spelled-out version of
+     * symbols; see the demo program for examples).
+     *
+     * It's important to emphasize that even strict parsing is relatively lenient: it
+     * will accept some text that it won't produce as output.  In English, for example,
+     * it will correctly parse "two hundred zero" and "fifteen hundred".
+     *
+     * @param enabled If true, turns lenient-parse mode on; if false, turns it off.
+     * @see RuleBasedCollator
+     * @stable ICU 2.0
+     */
+    public void setLenientParseMode(boolean enabled) {
+        lenientParse = enabled;
+
+        // if we're leaving lenient-parse mode, throw away the collator
+        // we've been using
+        if (!enabled) {
+            collator = null;
+        }
+    }
+
+    /**
+     * Returns true if lenient-parse mode is turned on.  Lenient parsing is off
+     * by default.
+     * @return true if lenient-parse mode is turned on.
+     * @see #setLenientParseMode
+     * @stable ICU 2.0
+     */
+    public boolean lenientParseEnabled() {
+        return lenientParse;
+    }
+
+    /**
+     * Override the default rule set to use.  If ruleSetName is null, reset
+     * to the initial default rule set.
+     * @param ruleSetName the name of the rule set, or null to reset the initial default.
+     * @throws IllegalArgumentException if ruleSetName is not the name of a public ruleset.
+     * @stable ICU 2.0
+     */
+    public void setDefaultRuleSet(String ruleSetName) {
+        if (ruleSetName == null) {
+            if (publicRuleSetNames.length > 0) {
+                defaultRuleSet = findRuleSet(publicRuleSetNames[0]);
+            } else {
+            defaultRuleSet = null;
+            int n = ruleSets.length;
+        while (--n >= 0) {
+          if (ruleSets[n].isPublic()) {
+            defaultRuleSet = ruleSets[n];
+            break;
+          }
+        }
+            }
+        } else if (ruleSetName.startsWith("%%")) {
+            throw new IllegalArgumentException("cannot use private rule set: " + ruleSetName);
+        } else {
+            defaultRuleSet = findRuleSet(ruleSetName);
+        }
+    }
+
+    /**
+     * Return the name of the current default rule set.
+     * @return the name of the current default rule set, if it is public, else the empty string.
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public String getDefaultRuleSetName() {
+        if (defaultRuleSet != null && defaultRuleSet.isPublic()) {
+            return defaultRuleSet.getName();
+        }
+        return "";
+    }
+
+    //-----------------------------------------------------------------------
+    // package-internal API
+    //-----------------------------------------------------------------------
+
+    /**
+     * Returns a reference to the formatter's default rule set.  The default
+     * rule set is the last public rule set in the description, or the one
+     * most recently set by setDefaultRuleSet.
+     * @return The formatter's default rule set.
+     */
+    NFRuleSet getDefaultRuleSet() {
+        return defaultRuleSet;
+    }
+
+    /**
+     * Returns the collator to use for lenient parsing.  The collator is lazily created:
+     * this function creates it the first time it's called.
+     * @return The collator to use for lenient parsing, or null if lenient parsing
+     * is turned off.
+     */
+    Collator getCollator() {
+        // lazy-evaulate the collator
+        if (collator == null && lenientParse) {
+            try {
+                // create a default collator based on the formatter's locale,
+                // then pull out that collator's rules, append any additional
+                // rules specified in the description, and create a _new_
+                // collator based on the combinaiton of those rules
+                RuleBasedCollator temp = (RuleBasedCollator)Collator.getInstance(locale);
+                String rules = temp.getRules() + lenientParseRules;
+
+                collator = new RuleBasedCollator(rules);
+                collator.setDecomposition(Collator.CANONICAL_DECOMPOSITION);
+            }
+            catch (Exception e) {
+                // If we get here, it means we have a malformed set of
+                // collation rules, which hopefully won't happen
+                if(DEBUG){
+                    e.printStackTrace();
+                }
+                collator = null;
+            }
+        }
+
+        // if lenient-parse mode is off, this will be null
+        // (see setLenientParseMode())
+        return collator;
+    }
+
+    /**
+     * Returns the DecimalFormatSymbols object that should be used by all DecimalFormat
+     * instances owned by this formatter.  This object is lazily created: this function
+     * creates it the first time it's called.
+     * @return The DecimalFormatSymbols object that should be used by all DecimalFormat
+     * instances owned by this formatter.
+     */
+    DecimalFormatSymbols getDecimalFormatSymbols() {
+        // lazy-evaluate the DecimalFormatSymbols object.  This object
+        // is shared by all DecimalFormat instances belonging to this
+        // formatter
+        if (decimalFormatSymbols == null) {
+            decimalFormatSymbols = new DecimalFormatSymbols(locale);
+        }
+        return decimalFormatSymbols;
+    }
+
+    //-----------------------------------------------------------------------
+    // construction implementation
+    //-----------------------------------------------------------------------
+
+    /**
+     * This extracts the special information from the rule sets before the
+     * main parsing starts.  Extra whitespace must have already been removed
+     * from the description.  If found, the special information is removed from the
+     * description and returned, otherwise the description is unchanged and null
+     * is returned.  Note: the trailing semicolon at the end of the special
+     * rules is stripped.
+     * @param description the rbnf description with extra whitespace removed
+     * @param specialName the name of the special rule text to extract
+     * @return the special rule text, or null if the rule was not found
+     */
+    private String extractSpecial(StringBuffer description, String specialName) {
+        String result = null;
+        int lp = description.indexOf(specialName);
+        if (lp != -1) {
+            // we've got to make sure we're not in the middle of a rule
+            // (where specialName would actually get treated as
+            // rule text)
+            if (lp == 0 || description.charAt(lp - 1) == ';') {
+                // locate the beginning and end of the actual special
+                // rules (there may be whitespace between the name and
+                // the first token in the description)
+                int lpEnd = description.indexOf(";%", lp);
+
+                if (lpEnd == -1) {
+                    lpEnd = description.length() - 1; // later we add 1 back to get the '%'
+                }
+                int lpStart = lp + specialName.length();
+                while (lpStart < lpEnd &&
+                       UCharacterProperty.isRuleWhiteSpace(description.charAt(lpStart))) {
+                    ++lpStart;
+                }
+
+                // copy out the special rules
+                result = description.substring(lpStart, lpEnd);
+
+                // remove the special rule from the description
+                description.delete(lp, lpEnd+1); // delete the semicolon but not the '%'
+            }
+        }
+        return result;
+    }
+
+    /**
+     * This function parses the description and uses it to build all of
+     * internal data structures that the formatter uses to do formatting
+     * @param description The description of the formatter's desired behavior.
+     * This is either passed in by the caller or loaded out of a resource
+     * by one of the constructors, and is in the description format specified
+     * in the class docs.
+     */
+    private void init(String description, String[][] localizations) {
+        initLocalizations(localizations);
+
+        // start by stripping the trailing whitespace from all the rules
+        // (this is all the whitespace follwing each semicolon in the
+        // description).  This allows us to look for rule-set boundaries
+        // by searching for ";%" without having to worry about whitespace
+        // between the ; and the %
+        StringBuffer descBuf = stripWhitespace(description);
+
+        // check to see if there's a set of lenient-parse rules.  If there
+        // is, pull them out into our temporary holding place for them,
+        // and delete them from the description before the real desciption-
+        // parsing code sees them
+
+        lenientParseRules = extractSpecial(descBuf, "%%lenient-parse:");
+        postProcessRules = extractSpecial(descBuf, "%%post-process:");
+
+        // pre-flight parsing the description and count the number of
+        // rule sets (";%" marks the end of one rule set and the beginning
+        // of the next)
+        int numRuleSets = 0;
+        for (int p = descBuf.indexOf(";%"); p != -1; p = descBuf.indexOf(";%", p)) {
+            ++numRuleSets;
+            ++p;
+        }
+        ++numRuleSets;
+
+        // our rule list is an array of the apprpriate size
+        ruleSets = new NFRuleSet[numRuleSets];
+
+        // divide up the descriptions into individual rule-set descriptions
+        // and store them in a temporary array.  At each step, we also
+        // new up a rule set, but all this does is initialize its name
+        // and remove it from its description.  We can't actually parse
+        // the rest of the descriptions and finish initializing everything
+        // because we have to know the names and locations of all the rule
+        // sets before we can actually set everything up
+        String[] ruleSetDescriptions = new String[numRuleSets];
+
+        int curRuleSet = 0;
+        int start = 0;
+        for (int p = descBuf.indexOf(";%"); p != -1; p = descBuf.indexOf(";%", start)) {
+            ruleSetDescriptions[curRuleSet] = descBuf.substring(start, p + 1);
+            ruleSets[curRuleSet] = new NFRuleSet(ruleSetDescriptions, curRuleSet);
+            ++curRuleSet;
+            start = p + 1;
+        }
+        ruleSetDescriptions[curRuleSet] = descBuf.substring(start);
+        ruleSets[curRuleSet] = new NFRuleSet(ruleSetDescriptions, curRuleSet);
+
+        // now we can take note of the formatter's default rule set, which
+        // is the last public rule set in the description (it's the last
+        // rather than the first so that a user can create a new formatter
+        // from an existing formatter and change its default bevhaior just
+        // by appending more rule sets to the end)
+
+        // {dlf} Initialization of a fraction rule set requires the default rule
+        // set to be known.  For purposes of initialization, this is always the
+        // last public rule set, no matter what the localization data says.
+        defaultRuleSet = ruleSets[ruleSets.length - 1];
+        for (int i = ruleSets.length - 1; i >= 0; --i) {
+            if (!ruleSets[i].getName().startsWith("%%")) {
+                defaultRuleSet = ruleSets[i];
+                break;
+            }
+        }
+
+        // finally, we can go back through the temporary descriptions
+        // list and finish seting up the substructure (and we throw
+        // away the temporary descriptions as we go)
+        for (int i = 0; i < ruleSets.length; i++) {
+            ruleSets[i].parseRules(ruleSetDescriptions[i], this);
+            ruleSetDescriptions[i] = null;
+        }
+
+        // Now that the rules are initialized, the 'real' default rule
+        // set can be adjusted by the localization data.
+
+        // count the number of public rule sets
+        // (public rule sets have names that begin with % instead of %%)
+        int publicRuleSetCount = 0;
+        for (int i = 0; i < ruleSets.length; i++) {
+            if (!ruleSets[i].getName().startsWith("%%")) {
+                ++publicRuleSetCount;
+            }
+        }
+
+        // prepare an array of the proper size and copy the names into it
+        String[] publicRuleSetTemp = new String[publicRuleSetCount];
+        publicRuleSetCount = 0;
+        for (int i = ruleSets.length - 1; i >= 0; i--) {
+            if (!ruleSets[i].getName().startsWith("%%")) {
+                publicRuleSetTemp[publicRuleSetCount++] = ruleSets[i].getName();
+            }
+        }
+
+        if (publicRuleSetNames != null) {
+            // confirm the names, if any aren't in the rules, that's an error
+            // it is ok if the rules contain public rule sets that are not in this list
+            loop: for (int i = 0; i < publicRuleSetNames.length; ++i) {
+                String name = publicRuleSetNames[i];
+                for (int j = 0; j < publicRuleSetTemp.length; ++j) {
+                    if (name.equals(publicRuleSetTemp[j])) {
+                        continue loop;
+                    }
+                }
+                throw new IllegalArgumentException("did not find public rule set: " + name);
+            }
+
+            defaultRuleSet = findRuleSet(publicRuleSetNames[0]); // might be different
+        } else {
+            publicRuleSetNames = publicRuleSetTemp;
+        }
+    }
+
+    /**
+     * Take the localizations array and create a Map from the locale strings to
+     * the localization arrays.
+     */
+    private void initLocalizations(String[][] localizations) {
+        if (localizations != null) {
+            publicRuleSetNames = (String[])localizations[0].clone();
+
+            Map m = new HashMap();
+            for (int i = 1; i < localizations.length; ++i) {
+                String[] data = localizations[i];
+                String locale = data[0];
+                String[] names = new String[data.length-1];
+                if (names.length != publicRuleSetNames.length) {
+                    throw new IllegalArgumentException("public name length: " + publicRuleSetNames.length +
+                                                       " != localized names[" + i + "] length: " + names.length);
+                }
+                System.arraycopy(data, 1, names, 0, names.length);
+                m.put(locale, names);
+            }
+
+            if (!m.isEmpty()) {
+                ruleSetDisplayNames = m;
+            }
+        }
+    }
+
+    /**
+     * This function is used by init() to strip whitespace between rules (i.e.,
+     * after semicolons).
+     * @param description The formatter description
+     * @return The description with all the whitespace that follows semicolons
+     * taken out.
+     */
+    private StringBuffer stripWhitespace(String description) {
+        // since we don't have a method that deletes characters (why?!!)
+        // create a new StringBuffer to copy the text into
+        StringBuffer result = new StringBuffer();
+
+        // iterate through the characters...
+        int start = 0;
+        while (start != -1 && start < description.length()) {
+            // seek to the first non-whitespace character...
+            while (start < description.length()
+                   && UCharacterProperty.isRuleWhiteSpace(description.charAt(start))) {
+                ++start;
+            }
+
+            //if the first non-whitespace character is semicolon, skip it and continue
+            if (start < description.length() && description.charAt(start) == ';') {
+                start += 1;
+                continue;
+            }
+
+            // locate the next semicolon in the text and copy the text from
+            // our current position up to that semicolon into the result
+            int p;
+            p = description.indexOf(';', start);
+            if (p == -1) {
+                // or if we don't find a semicolon, just copy the rest of
+                // the string into the result
+                result.append(description.substring(start));
+                start = -1;
+            }
+            else if (p < description.length()) {
+                result.append(description.substring(start, p + 1));
+                start = p + 1;
+            }
+
+            // when we get here, we've seeked off the end of the sring, and
+            // we terminate the loop (we continue until *start* is -1 rather
+            // than until *p* is -1, because otherwise we'd miss the last
+            // rule in the description)
+            else {
+                start = -1;
+            }
+        }
+        return result;
+    }
+
+    /**
+     * This function is called ONLY DURING CONSTRUCTION to fill in the
+     * defaultRuleSet variable once we've set up all the rule sets.
+     * The default rule set is the last public rule set in the description.
+     * (It's the last rather than the first so that a caller can append
+     * text to the end of an existing formatter description to change its
+     * behavior.)
+     */
+    private void initDefaultRuleSet() {
+        // seek backward from the end of the list until we reach a rule set
+        // whose name DOESN'T begin with %%.  That's the default rule set
+        for (int i = ruleSets.length - 1; i >= 0; --i) {
+            if (!ruleSets[i].getName().startsWith("%%")) {
+                defaultRuleSet = ruleSets[i];
+                return;
+            }
+        }
+        defaultRuleSet = ruleSets[ruleSets.length - 1];
+    }
+
+    //-----------------------------------------------------------------------
+    // formatting implementation
+    //-----------------------------------------------------------------------
+
+    /**
+     * Bottleneck through which all the public format() methods
+     * that take a double pass. By the time we get here, we know
+     * which rule set we're using to do the formatting.
+     * @param number The number to format
+     * @param ruleSet The rule set to use to format the number
+     * @return The text that resulted from formatting the number
+     */
+    private String format(double number, NFRuleSet ruleSet) {
+        // all API format() routines that take a double vector through
+        // here.  Create an empty string buffer where the result will
+        // be built, and pass it to the rule set (along with an insertion
+        // position of 0 and the number being formatted) to the rule set
+        // for formatting
+        StringBuffer result = new StringBuffer();
+        ruleSet.format(number, result, 0);
+        postProcess(result, ruleSet);
+        return result.toString();
+    }
+
+    /**
+     * Bottleneck through which all the public format() methods
+     * that take a long pass. By the time we get here, we know
+     * which rule set we're using to do the formatting.
+     * @param number The number to format
+     * @param ruleSet The rule set to use to format the number
+     * @return The text that resulted from formatting the number
+     */
+    private String format(long number, NFRuleSet ruleSet) {
+        // all API format() routines that take a double vector through
+        // here.  We have these two identical functions-- one taking a
+        // double and one taking a long-- the couple digits of precision
+        // that long has but double doesn't (both types are 8 bytes long,
+        // but double has to borrow some of the mantissa bits to hold
+        // the exponent).
+        // Create an empty string buffer where the result will
+        // be built, and pass it to the rule set (along with an insertion
+        // position of 0 and the number being formatted) to the rule set
+        // for formatting
+        StringBuffer result = new StringBuffer();
+        ruleSet.format(number, result, 0);
+        postProcess(result, ruleSet);
+        return result.toString();
+    }
+
+    /**
+     * Post-process the rules if we have a post-processor.
+     */
+    private void postProcess(StringBuffer result, NFRuleSet ruleSet) {
+        if (postProcessRules != null) {
+            if (postProcessor == null) {
+                int ix = postProcessRules.indexOf(";");
+                if (ix == -1) {
+                    ix = postProcessRules.length();
+                }
+                String ppClassName = postProcessRules.substring(0, ix).trim();
+                try {
+                    Class cls = Class.forName(ppClassName);
+                    postProcessor = (RBNFPostProcessor)cls.newInstance();
+                    postProcessor.init(this, postProcessRules);
+                }
+                catch (Exception e) {
+                    // if debug, print it out
+                    System.out.println("could not locate " + ppClassName + ", error " +
+                                       e.getClass().getName() + ", " + e.getMessage());
+                    postProcessor = null;
+                    postProcessRules = null; // don't try again
+                    return;
+                }
+            }
+
+            postProcessor.process(result, ruleSet);
+        }
+    }
+
+    /**
+     * Returns the named rule set.  Throws an IllegalArgumentException
+     * if this formatter doesn't have a rule set with that name.
+     * @param name The name of the desired rule set
+     * @return The rule set with that name
+     */
+    NFRuleSet findRuleSet(String name) throws IllegalArgumentException {
+        for (int i = 0; i < ruleSets.length; i++) {
+            if (ruleSets[i].getName().equals(name)) {
+                return ruleSets[i];
+            }
+        }
+        throw new IllegalArgumentException("No rule set named " + name);
+    }
+}
diff --git a/src/com/ibm/icu/text/RuleBasedTransliterator.java b/src/com/ibm/icu/text/RuleBasedTransliterator.java
new file mode 100755
index 0000000..fa55324
--- /dev/null
+++ b/src/com/ibm/icu/text/RuleBasedTransliterator.java
@@ -0,0 +1,640 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.text;
+
+import java.util.Hashtable;
+
+
+/**
+ * <code>RuleBasedTransliterator</code> is a transliterator
+ * that reads a set of rules in order to determine how to perform
+ * translations. Rule sets are stored in resource bundles indexed by
+ * name. Rules within a rule set are separated by semicolons (';').
+ * To include a literal semicolon, prefix it with a backslash ('\').
+ * Whitespace, as defined by <code>UCharacterProperty.isRuleWhiteSpace()</code>,
+ * is ignored. If the first non-blank character on a line is '#',
+ * the entire line is ignored as a comment. </p>
+ *
+ * <p>Each set of rules consists of two groups, one forward, and one
+ * reverse. This is a convention that is not enforced; rules for one
+ * direction may be omitted, with the result that translations in
+ * that direction will not modify the source text. In addition,
+ * bidirectional forward-reverse rules may be specified for
+ * symmetrical transformations.</p>
+ *
+ * <p><b>Rule syntax</b> </p>
+ *
+ * <p>Rule statements take one of the following forms: </p>
+ *
+ * <dl>
+ *     <dt><code>$alefmadda=\u0622;</code></dt>
+ *     <dd><strong>Variable definition.</strong> The name on the
+ *         left is assigned the text on the right. In this example,
+ *         after this statement, instances of the left hand name,
+ *         &quot;<code>$alefmadda</code>&quot;, will be replaced by
+ *         the Unicode character U+0622. Variable names must begin
+ *         with a letter and consist only of letters, digits, and
+ *         underscores. Case is significant. Duplicate names cause
+ *         an exception to be thrown, that is, variables cannot be
+ *         redefined. The right hand side may contain well-formed
+ *         text of any length, including no text at all (&quot;<code>$empty=;</code>&quot;).
+ *         The right hand side may contain embedded <code>UnicodeSet</code>
+ *         patterns, for example, &quot;<code>$softvowel=[eiyEIY]</code>&quot;.</dd>
+ *     <dd>&nbsp;</dd>
+ *     <dt><code>ai&gt;$alefmadda;</code></dt>
+ *     <dd><strong>Forward translation rule.</strong> This rule
+ *         states that the string on the left will be changed to the
+ *         string on the right when performing forward
+ *         transliteration.</dd>
+ *     <dt>&nbsp;</dt>
+ *     <dt><code>ai&lt;$alefmadda;</code></dt>
+ *     <dd><strong>Reverse translation rule.</strong> This rule
+ *         states that the string on the right will be changed to
+ *         the string on the left when performing reverse
+ *         transliteration.</dd>
+ * </dl>
+ *
+ * <dl>
+ *     <dt><code>ai&lt;&gt;$alefmadda;</code></dt>
+ *     <dd><strong>Bidirectional translation rule.</strong> This
+ *         rule states that the string on the right will be changed
+ *         to the string on the left when performing forward
+ *         transliteration, and vice versa when performing reverse
+ *         transliteration.</dd>
+ * </dl>
+ *
+ * <p>Translation rules consist of a <em>match pattern</em> and an <em>output
+ * string</em>. The match pattern consists of literal characters,
+ * optionally preceded by context, and optionally followed by
+ * context. Context characters, like literal pattern characters,
+ * must be matched in the text being transliterated. However, unlike
+ * literal pattern characters, they are not replaced by the output
+ * text. For example, the pattern &quot;<code>abc{def}</code>&quot;
+ * indicates the characters &quot;<code>def</code>&quot; must be
+ * preceded by &quot;<code>abc</code>&quot; for a successful match.
+ * If there is a successful match, &quot;<code>def</code>&quot; will
+ * be replaced, but not &quot;<code>abc</code>&quot;. The final '<code>}</code>'
+ * is optional, so &quot;<code>abc{def</code>&quot; is equivalent to
+ * &quot;<code>abc{def}</code>&quot;. Another example is &quot;<code>{123}456</code>&quot;
+ * (or &quot;<code>123}456</code>&quot;) in which the literal
+ * pattern &quot;<code>123</code>&quot; must be followed by &quot;<code>456</code>&quot;.
+ * </p>
+ *
+ * <p>The output string of a forward or reverse rule consists of
+ * characters to replace the literal pattern characters. If the
+ * output string contains the character '<code>|</code>', this is
+ * taken to indicate the location of the <em>cursor</em> after
+ * replacement. The cursor is the point in the text at which the
+ * next replacement, if any, will be applied. The cursor is usually
+ * placed within the replacement text; however, it can actually be
+ * placed into the precending or following context by using the
+ * special character '<code>@</code>'. Examples:</p>
+ *
+ * <blockquote>
+ *     <p><code>a {foo} z &gt; | @ bar; # foo -&gt; bar, move cursor
+ *     before a<br>
+ *     {foo} xyz &gt; bar @@|; #&nbsp;foo -&gt; bar, cursor between
+ *     y and z</code></p>
+ * </blockquote>
+ *
+ * <p><b>UnicodeSet</b></p>
+ *
+ * <p><code>UnicodeSet</code> patterns may appear anywhere that
+ * makes sense. They may appear in variable definitions.
+ * Contrariwise, <code>UnicodeSet</code> patterns may themselves
+ * contain variable references, such as &quot;<code>$a=[a-z];$not_a=[^$a]</code>&quot;,
+ * or &quot;<code>$range=a-z;$ll=[$range]</code>&quot;.</p>
+ *
+ * <p><code>UnicodeSet</code> patterns may also be embedded directly
+ * into rule strings. Thus, the following two rules are equivalent:</p>
+ *
+ * <blockquote>
+ *     <p><code>$vowel=[aeiou]; $vowel&gt;'*'; # One way to do this<br>
+ *     [aeiou]&gt;'*';
+ *     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#
+ *     Another way</code></p>
+ * </blockquote>
+ *
+ * <p>See {@link UnicodeSet} for more documentation and examples.</p>
+ *
+ * <p><b>Segments</b></p>
+ *
+ * <p>Segments of the input string can be matched and copied to the
+ * output string. This makes certain sets of rules simpler and more
+ * general, and makes reordering possible. For example:</p>
+ *
+ * <blockquote>
+ *     <p><code>([a-z]) &gt; $1 $1;
+ *     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#
+ *     double lowercase letters<br>
+ *     ([:Lu:]) ([:Ll:]) &gt; $2 $1; # reverse order of Lu-Ll pairs</code></p>
+ * </blockquote>
+ *
+ * <p>The segment of the input string to be copied is delimited by
+ * &quot;<code>(</code>&quot; and &quot;<code>)</code>&quot;. Up to
+ * nine segments may be defined. Segments may not overlap. In the
+ * output string, &quot;<code>$1</code>&quot; through &quot;<code>$9</code>&quot;
+ * represent the input string segments, in left-to-right order of
+ * definition.</p>
+ *
+ * <p><b>Anchors</b></p>
+ *
+ * <p>Patterns can be anchored to the beginning or the end of the text. This is done with the
+ * special characters '<code>^</code>' and '<code>$</code>'. For example:</p>
+ *
+ * <blockquote>
+ *   <p><code>^ a&nbsp;&nbsp; &gt; 'BEG_A'; &nbsp;&nbsp;# match 'a' at start of text<br>
+ *   &nbsp; a&nbsp;&nbsp; &gt; 'A';&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # match other instances
+ *   of 'a'<br>
+ *   &nbsp; z $ &gt; 'END_Z'; &nbsp;&nbsp;# match 'z' at end of text<br>
+ *   &nbsp; z&nbsp;&nbsp; &gt; 'Z';&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # match other instances
+ *   of 'z'</code></p>
+ * </blockquote>
+ *
+ * <p>It is also possible to match the beginning or the end of the text using a <code>UnicodeSet</code>.
+ * This is done by including a virtual anchor character '<code>$</code>' at the end of the
+ * set pattern. Although this is usually the match chafacter for the end anchor, the set will
+ * match either the beginning or the end of the text, depending on its placement. For
+ * example:</p>
+ *
+ * <blockquote>
+ *   <p><code>$x = [a-z$]; &nbsp;&nbsp;# match 'a' through 'z' OR anchor<br>
+ *   $x 1&nbsp;&nbsp;&nbsp; &gt; 2;&nbsp;&nbsp; # match '1' after a-z or at the start<br>
+ *   &nbsp;&nbsp; 3 $x &gt; 4; &nbsp;&nbsp;# match '3' before a-z or at the end</code></p>
+ * </blockquote>
+ *
+ * <p><b>Example</b> </p>
+ *
+ * <p>The following example rules illustrate many of the features of
+ * the rule language. </p>
+ *
+ * <table border="0" cellpadding="4">
+ *     <tr>
+ *         <td valign="top">Rule 1.</td>
+ *         <td valign="top" nowrap><code>abc{def}&gt;x|y</code></td>
+ *     </tr>
+ *     <tr>
+ *         <td valign="top">Rule 2.</td>
+ *         <td valign="top" nowrap><code>xyz&gt;r</code></td>
+ *     </tr>
+ *     <tr>
+ *         <td valign="top">Rule 3.</td>
+ *         <td valign="top" nowrap><code>yz&gt;q</code></td>
+ *     </tr>
+ * </table>
+ *
+ * <p>Applying these rules to the string &quot;<code>adefabcdefz</code>&quot;
+ * yields the following results: </p>
+ *
+ * <table border="0" cellpadding="4">
+ *     <tr>
+ *         <td valign="top" nowrap><code>|adefabcdefz</code></td>
+ *         <td valign="top">Initial state, no rules match. Advance
+ *         cursor.</td>
+ *     </tr>
+ *     <tr>
+ *         <td valign="top" nowrap><code>a|defabcdefz</code></td>
+ *         <td valign="top">Still no match. Rule 1 does not match
+ *         because the preceding context is not present.</td>
+ *     </tr>
+ *     <tr>
+ *         <td valign="top" nowrap><code>ad|efabcdefz</code></td>
+ *         <td valign="top">Still no match. Keep advancing until
+ *         there is a match...</td>
+ *     </tr>
+ *     <tr>
+ *         <td valign="top" nowrap><code>ade|fabcdefz</code></td>
+ *         <td valign="top">...</td>
+ *     </tr>
+ *     <tr>
+ *         <td valign="top" nowrap><code>adef|abcdefz</code></td>
+ *         <td valign="top">...</td>
+ *     </tr>
+ *     <tr>
+ *         <td valign="top" nowrap><code>adefa|bcdefz</code></td>
+ *         <td valign="top">...</td>
+ *     </tr>
+ *     <tr>
+ *         <td valign="top" nowrap><code>adefab|cdefz</code></td>
+ *         <td valign="top">...</td>
+ *     </tr>
+ *     <tr>
+ *         <td valign="top" nowrap><code>adefabc|defz</code></td>
+ *         <td valign="top">Rule 1 matches; replace &quot;<code>def</code>&quot;
+ *         with &quot;<code>xy</code>&quot; and back up the cursor
+ *         to before the '<code>y</code>'.</td>
+ *     </tr>
+ *     <tr>
+ *         <td valign="top" nowrap><code>adefabcx|yz</code></td>
+ *         <td valign="top">Although &quot;<code>xyz</code>&quot; is
+ *         present, rule 2 does not match because the cursor is
+ *         before the '<code>y</code>', not before the '<code>x</code>'.
+ *         Rule 3 does match. Replace &quot;<code>yz</code>&quot;
+ *         with &quot;<code>q</code>&quot;.</td>
+ *     </tr>
+ *     <tr>
+ *         <td valign="top" nowrap><code>adefabcxq|</code></td>
+ *         <td valign="top">The cursor is at the end;
+ *         transliteration is complete.</td>
+ *     </tr>
+ * </table>
+ *
+ * <p>The order of rules is significant. If multiple rules may match
+ * at some point, the first matching rule is applied. </p>
+ *
+ * <p>Forward and reverse rules may have an empty output string.
+ * Otherwise, an empty left or right hand side of any statement is a
+ * syntax error. </p>
+ *
+ * <p>Single quotes are used to quote any character other than a
+ * digit or letter. To specify a single quote itself, inside or
+ * outside of quotes, use two single quotes in a row. For example,
+ * the rule &quot;<code>'&gt;'&gt;o''clock</code>&quot; changes the
+ * string &quot;<code>&gt;</code>&quot; to the string &quot;<code>o'clock</code>&quot;.
+ * </p>
+ *
+ * <p><b>Notes</b> </p>
+ *
+ * <p>While a RuleBasedTransliterator is being built, it checks that
+ * the rules are added in proper order. For example, if the rule
+ * &quot;a&gt;x&quot; is followed by the rule &quot;ab&gt;y&quot;,
+ * then the second rule will throw an exception. The reason is that
+ * the second rule can never be triggered, since the first rule
+ * always matches anything it matches. In other words, the first
+ * rule <em>masks</em> the second rule. </p>
+ *
+ * <p>Copyright (c) IBM Corporation 1999-2000. All rights reserved.</p>
+ *
+ * @author Alan Liu
+ * @internal
+ */
+class RuleBasedTransliterator extends Transliterator {
+
+    private Data data;
+
+    private static final String COPYRIGHT =
+        "\u00A9 IBM Corporation 1999. All rights reserved.";
+
+    /**
+     * Constructs a new transliterator from the given rules.
+     * @param rules rules, separated by ';'
+     * @param direction either FORWARD or REVERSE.
+     * @exception IllegalArgumentException if rules are malformed
+     * or direction is invalid.
+     * @internal
+     */
+    public RuleBasedTransliterator(String ID, String rules, int direction,
+                                   UnicodeFilter filter) {
+        super(ID, filter);
+        if (direction != FORWARD && direction != REVERSE) {
+            throw new IllegalArgumentException("Invalid direction");
+        }
+
+        TransliteratorParser parser = new TransliteratorParser();
+        parser.parse(rules, direction);
+        if (parser.idBlockVector.size() != 0 ||
+            parser.compoundFilter != null) {
+            throw new IllegalArgumentException("::ID blocks illegal in RuleBasedTransliterator constructor");
+        }
+
+        data = (Data)parser.dataVector.get(0);
+        setMaximumContextLength(data.ruleSet.getMaximumContextLength());
+    }
+
+    /**
+     * Constructs a new transliterator from the given rules in the
+     * <code>FORWARD</code> direction.
+     * @param rules rules, separated by ';'
+     * @exception IllegalArgumentException if rules are malformed
+     * or direction is invalid.
+     * @internal
+     */
+    public RuleBasedTransliterator(String ID, String rules) {
+        this(ID, rules, FORWARD, null);
+    }
+
+    RuleBasedTransliterator(String ID, Data data, UnicodeFilter filter) {
+        super(ID, filter);
+        this.data = data;
+        setMaximumContextLength(data.ruleSet.getMaximumContextLength());
+    }
+
+    /**
+     * Implements {@link Transliterator#handleTransliterate}.
+     * @internal
+     */
+    protected synchronized void handleTransliterate(Replaceable text,
+                                       Position index, boolean incremental) {
+        /* We keep start and limit fixed the entire time,
+         * relative to the text -- limit may move numerically if text is
+         * inserted or removed.  The cursor moves from start to limit, with
+         * replacements happening under it.
+         *
+         * Example: rules 1. ab>x|y
+         *                2. yc>z
+         *
+         * |eabcd   start - no match, advance cursor
+         * e|abcd   match rule 1 - change text & adjust cursor
+         * ex|ycd   match rule 2 - change text & adjust cursor
+         * exz|d    no match, advance cursor
+         * exzd|    done
+         */
+
+        /* A rule like
+         *   a>b|a
+         * creates an infinite loop. To prevent that, we put an arbitrary
+         * limit on the number of iterations that we take, one that is
+         * high enough that any reasonable rules are ok, but low enough to
+         * prevent a server from hanging.  The limit is 16 times the
+         * number of characters n, unless n is so large that 16n exceeds a
+         * uint32_t.
+         */
+        int loopCount = 0;
+        int loopLimit = (index.limit - index.start) << 4;
+        if (loopLimit < 0) {
+            loopLimit = 0x7FFFFFFF;
+        }
+
+        while (index.start < index.limit &&
+               loopCount <= loopLimit &&
+               data.ruleSet.transliterate(text, index, incremental)) {
+            ++loopCount;
+        }
+    }
+
+
+    static class Data {
+        public Data() {
+            variableNames = new Hashtable();
+            ruleSet = new TransliterationRuleSet();
+        }
+
+        /**
+         * Rule table.  May be empty.
+         */
+        public TransliterationRuleSet ruleSet;
+
+        /**
+         * Map variable name (String) to variable (char[]).  A variable name
+         * corresponds to zero or more characters, stored in a char[] array in
+         * this hash.  One or more of these chars may also correspond to a
+         * UnicodeSet, in which case the character in the char[] in this hash is
+         * a stand-in: it is an index for a secondary lookup in
+         * data.variables.  The stand-in also represents the UnicodeSet in
+         * the stored rules.
+         */
+        Hashtable variableNames;
+
+        /**
+         * Map category variable (Character) to UnicodeMatcher or UnicodeReplacer.
+         * Variables that correspond to a set of characters are mapped
+         * from variable name to a stand-in character in data.variableNames.
+         * The stand-in then serves as a key in this hash to lookup the
+         * actual UnicodeSet object.  In addition, the stand-in is
+         * stored in the rule text to represent the set of characters.
+         * variables[i] represents character (variablesBase + i).
+         */
+        Object[] variables;
+
+        /**
+         * The character that represents variables[0].  Characters
+         * variablesBase through variablesBase +
+         * variables.length - 1 represent UnicodeSet objects.
+         */
+        char variablesBase;
+
+        /**
+         * Return the UnicodeMatcher represented by the given character, or
+         * null if none.
+         */
+        public UnicodeMatcher lookupMatcher(int standIn) {
+            int i = standIn - variablesBase;
+            return (i >= 0 && i < variables.length)
+                ? (UnicodeMatcher) variables[i] : null;
+        }
+
+        /**
+         * Return the UnicodeReplacer represented by the given character, or
+         * null if none.
+         */
+        public UnicodeReplacer lookupReplacer(int standIn) {
+            int i = standIn - variablesBase;
+            return (i >= 0 && i < variables.length)
+                ? (UnicodeReplacer) variables[i] : null;
+        }
+    }
+
+
+    /**
+     * Return a representation of this transliterator as source rules.
+     * These rules will produce an equivalent transliterator if used
+     * to construct a new transliterator.
+     * @param escapeUnprintable if TRUE then convert unprintable
+     * character to their hex escape representations, \\uxxxx or
+     * \\Uxxxxxxxx.  Unprintable characters are those other than
+     * U+000A, U+0020..U+007E.
+     * @return rules string
+     * @internal
+     */
+    public String toRules(boolean escapeUnprintable) {
+        return data.ruleSet.toRules(escapeUnprintable);
+    }
+
+    /**
+     * Return the set of all characters that may be modified by this
+     * Transliterator, ignoring the effect of our filter.
+     * @internal
+     */
+    protected UnicodeSet handleGetSourceSet() {
+        return data.ruleSet.getSourceTargetSet(false);
+    }
+
+    /**
+     * Returns the set of all characters that may be generated as
+     * replacement text by this transliterator.
+     * @internal
+     */
+    public UnicodeSet getTargetSet() {
+        return data.ruleSet.getSourceTargetSet(true);
+    }
+}
+
+/**
+ * Revision 1.61  2004/02/25 01:26:23  alan
+ * jitterbug 3517: make concrete transilterators package private and @internal
+ *
+ * Revision 1.60  2003/06/03 18:49:35  alan
+ * jitterbug 2959: update copyright dates to include 2003
+ *
+ * Revision 1.59  2003/05/14 19:03:30  rviswanadha
+ * jitterbug 2836: fix compiler warnings
+ *
+ * Revision 1.58  2002/12/03 18:57:36  alan
+ * jitterbug 2087: fix @ tags
+ *
+ * Revision 1.57  2002/07/26 21:12:36  alan
+ * jitterbug 1997: use UCharacterProperty.isRuleWhiteSpace() in parsers
+ *
+ * Revision 1.56  2002/06/28 19:15:52  alan
+ * jitterbug 1434: improve method names; minor cleanup
+ *
+ * Revision 1.55  2002/06/26 18:12:39  alan
+ * jitterbug 1434: initial public implementation of getSourceSet and getTargetSet
+ *
+ * Revision 1.54  2002/02/25 22:43:58  ram
+ * Move Utility class to icu.impl
+ *
+ * Revision 1.53  2002/02/16 03:06:13  Mohan
+ * ICU4J reorganization
+ *
+ * Revision 1.52  2002/02/07 00:53:54  alan
+ * jitterbug 1234: make output side of RBTs object-oriented; rewrite ID parsers and modularize them; implement &Any-Lower() support
+ *
+ * Revision 1.51  2001/11/29 22:31:18  alan
+ * jitterbug 1560: add source-set methods and TransliteratorUtility class
+ *
+ * Revision 1.50  2001/11/27 22:07:33  alan
+ * jitterbug 1389: incorporate Mark's review comments - comments only
+ *
+ * Revision 1.49  2001/10/10 20:26:27  alan
+ * jitterbug 81: initial implementation of compound filters in IDs and ::ID blocks
+ *
+ * Revision 1.48  2001/10/05 18:15:54  alan
+ * jitterbug 74: finish port of Source-Target/Variant code incl. TransliteratorRegistry and tests
+ *
+ * Revision 1.47  2001/10/03 00:14:22  alan
+ * jitterbug 73: finish quantifier and supplemental char support
+ *
+ * Revision 1.46  2001/09/26 18:00:06  alan
+ * jitterbug 67: sync parser with icu4c, allow unlimited, nested segments
+ *
+ * Revision 1.45  2001/09/24 19:57:17  alan
+ * jitterbug 60: implement toPattern in UnicodeSet; update UnicodeFilter.contains to take an int; update UnicodeSet to support code points to U+10FFFF
+ *
+ * Revision 1.44  2001/09/21 21:24:04  alan
+ * jitterbug 64: allow ::ID blocks in rules
+ *
+ * Revision 1.43  2001/09/19 17:43:37  alan
+ * jitterbug 60: initial implementation of toRules()
+ *
+ * Revision 1.42  2001/02/20 17:59:40  alan4j
+ * Remove backslash-u from log
+ *
+ * Revision 1.41  2001/02/16 18:53:55  alan4j
+ * Handle backslash-u escapes
+ *
+ * Revision 1.40  2001/02/03 00:46:21  alan4j
+ * Load RuleBasedTransliterator files from UTF8 files instead of ResourceBundles
+ *
+ * Revision 1.39  2000/08/31 17:11:42  alan4j
+ * Implement anchors.
+ *
+ * Revision 1.38  2000/08/30 20:40:30  alan4j
+ * Implement anchors.
+ *
+ * Revision 1.37  2000/07/12 16:31:36  alan4j
+ * Simplify loop limit logic
+ *
+ * Revision 1.36  2000/06/29 21:59:23  alan4j
+ * Fix handling of Transliterator.Position fields
+ *
+ * Revision 1.35  2000/06/28 20:49:54  alan4j
+ * Fix handling of Positions fields
+ *
+ * Revision 1.34  2000/06/28 20:36:32  alan4j
+ * Clean up Transliterator::Position - rename temporary names
+ *
+ * Revision 1.33  2000/06/28 20:31:43  alan4j
+ * Clean up Transliterator::Position and rename fields (related to jitterbug 450)
+ *
+ * Revision 1.32  2000/05/24 22:21:00  alan4j
+ * Compact UnicodeSets
+ *
+ * Revision 1.31  2000/05/23 16:48:27  alan4j
+ * Fix doc; remove unused auto
+ *
+ * Revision 1.30  2000/05/18 22:49:51  alan
+ * Update docs
+ *
+ * Revision 1.29  2000/04/28 00:25:42  alan
+ * Improve error reporting
+ *
+ * Revision 1.28  2000/04/25 17:38:00  alan
+ * Minor parser cleanup.
+ *
+ * Revision 1.27  2000/04/25 01:42:58  alan
+ * Allow arbitrary length variable values. Clean up Data API. Update javadocs.
+ *
+ * Revision 1.26  2000/04/22 01:25:10  alan
+ * Add support for cursor positioner '@'; update javadoc
+ *
+ * Revision 1.25  2000/04/22 00:08:43  alan
+ * Narrow range to 21 - 7E for mandatory quoting.
+ *
+ * Revision 1.24  2000/04/22 00:03:54  alan
+ * Disallow unquoted special chars. Report multiple errors at once.
+ *
+ * Revision 1.23  2000/04/21 22:23:40  alan
+ * Clean up parseReference. Previous log should read 'delegate', not 'delete'.
+ *
+ * Revision 1.22  2000/04/21 22:16:29  alan
+ * Delete variable name parsing to SymbolTable interface to consolidate parsing code.
+ *
+ * Revision 1.21  2000/04/21 21:16:40  alan
+ * Modify rule syntax
+ *
+ * Revision 1.20  2000/04/19 17:35:23  alan
+ * Update javadoc; fix compile error
+ *
+ * Revision 1.19  2000/04/19 16:34:18  alan
+ * Add segment support.
+ *
+ * Revision 1.18  2000/04/12 20:17:45  alan
+ * Delegate replace operation to rule object
+ *
+ * Revision 1.17  2000/03/10 04:07:23  johnf
+ * Copyright update
+ *
+ * Revision 1.16  2000/02/24 20:46:49  liu
+ * Add infinite loop check
+ *
+ * Revision 1.15  2000/02/10 07:36:25  johnf
+ * fixed imports for com.ibm.icu.impl.Utility
+ *
+ * Revision 1.14  2000/02/03 18:18:42  Alan
+ * Use array rather than hashtable for char-to-set map
+ *
+ * Revision 1.13  2000/01/27 18:59:19  Alan
+ * Use Position rather than int[] and move all subclass overrides to one method (handleTransliterate)
+ *
+ * Revision 1.12  2000/01/18 17:51:09  Alan
+ * Remove "keyboard" from method names. Make maximum context a field of Transliterator, and have subclasses set it.
+ *
+ * Revision 1.11  2000/01/18 02:30:49  Alan
+ * Add Jamo-Hangul, Hangul-Jamo, fix rules, add compound ID support
+ *
+ * Revision 1.10  2000/01/13 23:53:23  Alan
+ * Fix bugs found during ICU port
+ *
+ * Revision 1.9  2000/01/11 04:12:06  Alan
+ * Cleanup, embellish comments
+ *
+ * Revision 1.8  2000/01/11 02:25:03  Alan
+ * Rewrite UnicodeSet and RBT parsers for better performance and new syntax
+ *
+ * Revision 1.7  2000/01/06 01:36:36  Alan
+ * Allow string arrays in rule resource bundles
+ *
+ * Revision 1.6  2000/01/04 21:43:57  Alan
+ * Add rule indexing, and move masking check to TransliterationRuleSet.
+ *
+ * Revision 1.5  1999/12/22 01:40:54  Alan
+ * Consolidate rule pattern anteContext, key, and postContext into one string.
+ *
+ * Revision 1.4  1999/12/22 01:05:54  Alan
+ * Improve masking checking; turn it off by default, for better performance
+ */
diff --git a/src/com/ibm/icu/text/SCSU.java b/src/com/ibm/icu/text/SCSU.java
new file mode 100755
index 0000000..a380995
--- /dev/null
+++ b/src/com/ibm/icu/text/SCSU.java
@@ -0,0 +1,184 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+package com.ibm.icu.text;
+
+/**
+ * An interface defining  constants for the Standard Compression Scheme
+ * for Unicode (SCSU) as outlined in <A
+ * HREF="http://www.unicode.org/unicode/reports/tr6">Unicode Technical
+ * Report #6</A>.
+ *
+ * @author Stephen F. Booth
+ * @version 1.1 05 Aug 99
+ * @version 1.0 26 Jul 99
+ */
+interface SCSU
+{
+    //==========================
+    // Generic window shift
+    //==========================
+    final static int COMPRESSIONOFFSET           = 0x80;
+
+    //==========================
+    // Number of windows
+    //==========================
+    final static int NUMWINDOWS                  = 8;
+    final static int NUMSTATICWINDOWS            = 8;
+
+    //==========================
+    // Indicates a window index is invalid
+    //==========================
+    final static int INVALIDWINDOW               = -1;
+
+    //==========================
+    // Indicates a character doesn't exist in input (past end of buffer)
+    //==========================
+    final static int INVALIDCHAR                 = -1;
+
+    //==========================
+    // Compression modes
+    //==========================
+    final static int SINGLEBYTEMODE              = 0;
+    final static int UNICODEMODE                 = 1;
+
+    //==========================
+    // Maximum value for a window's index
+    //==========================
+    final static int MAXINDEX                    = 0xFF;
+
+    //==========================
+    // Reserved index value (characters belongs to first block)
+    //==========================
+    final static int RESERVEDINDEX               = 0x00;
+
+    //==========================
+    // Indices for scripts which cross a half-block boundary
+    //==========================
+    final static int LATININDEX                  = 0xF9;
+    final static int IPAEXTENSIONINDEX           = 0xFA;
+    final static int GREEKINDEX                  = 0xFB;
+    final static int ARMENIANINDEX               = 0xFC;
+    final static int HIRAGANAINDEX               = 0xFD;
+    final static int KATAKANAINDEX               = 0xFE;
+    final static int HALFWIDTHKATAKANAINDEX      = 0xFF;
+
+    //==========================
+    // Single-byte mode tags
+    //==========================
+    final static int SDEFINEX                    = 0x0B;
+    final static int SRESERVED                   = 0x0C;  // reserved value
+    final static int SQUOTEU                     = 0x0E;
+    final static int SCHANGEU                    = 0x0F;
+
+    final static int SQUOTE0                     = 0x01;
+    final static int SQUOTE1                     = 0x02;
+    final static int SQUOTE2                     = 0x03;
+    final static int SQUOTE3                     = 0x04;
+    final static int SQUOTE4                     = 0x05;
+    final static int SQUOTE5                     = 0x06;
+    final static int SQUOTE6                     = 0x07;
+    final static int SQUOTE7                     = 0x08;
+
+    final static int SCHANGE0                    = 0x10;
+    final static int SCHANGE1                    = 0x11;
+    final static int SCHANGE2                    = 0x12;
+    final static int SCHANGE3                    = 0x13;
+    final static int SCHANGE4                    = 0x14;
+    final static int SCHANGE5                    = 0x15;
+    final static int SCHANGE6                    = 0x16;
+    final static int SCHANGE7                    = 0x17;
+
+    final static int SDEFINE0                    = 0x18;
+    final static int SDEFINE1                    = 0x19;
+    final static int SDEFINE2                    = 0x1A;
+    final static int SDEFINE3                    = 0x1B;
+    final static int SDEFINE4                    = 0x1C;
+    final static int SDEFINE5                    = 0x1D;
+    final static int SDEFINE6                    = 0x1E;
+    final static int SDEFINE7                    = 0x1F;
+
+    //==========================
+    // Unicode mode tags
+    //==========================
+    final static int UCHANGE0                    = 0xE0;
+    final static int UCHANGE1                    = 0xE1;
+    final static int UCHANGE2                    = 0xE2;
+    final static int UCHANGE3                    = 0xE3;
+    final static int UCHANGE4                    = 0xE4;
+    final static int UCHANGE5                    = 0xE5;
+    final static int UCHANGE6                    = 0xE6;
+    final static int UCHANGE7                    = 0xE7;
+
+    final static int UDEFINE0                    = 0xE8;
+    final static int UDEFINE1                    = 0xE9;
+    final static int UDEFINE2                    = 0xEA;
+    final static int UDEFINE3                    = 0xEB;
+    final static int UDEFINE4                    = 0xEC;
+    final static int UDEFINE5                    = 0xED;
+    final static int UDEFINE6                    = 0xEE;
+    final static int UDEFINE7                    = 0xEF;
+
+    final static int UQUOTEU                     = 0xF0;
+    final static int UDEFINEX                    = 0xF1;
+    final static int URESERVED                   = 0xF2;  // reserved value
+
+
+    //==========================
+    // Class variables
+    //==========================
+
+    /** For window offset mapping */
+    final static int [] sOffsetTable = { 
+        // table generated by CompressionTableGenerator
+        0x0, 0x80, 0x100, 0x180, 0x200, 0x280, 0x300, 0x380, 0x400,
+    0x480, 0x500, 0x580, 0x600, 0x680, 0x700, 0x780, 0x800, 0x880,
+    0x900, 0x980, 0xa00, 0xa80, 0xb00, 0xb80, 0xc00, 0xc80, 0xd00,
+    0xd80, 0xe00, 0xe80, 0xf00, 0xf80, 0x1000, 0x1080, 0x1100,
+    0x1180, 0x1200, 0x1280, 0x1300, 0x1380, 0x1400, 0x1480,
+    0x1500, 0x1580, 0x1600, 0x1680, 0x1700, 0x1780, 0x1800,
+    0x1880, 0x1900, 0x1980, 0x1a00, 0x1a80, 0x1b00, 0x1b80,
+    0x1c00, 0x1c80, 0x1d00, 0x1d80, 0x1e00, 0x1e80, 0x1f00,
+    0x1f80, 0x2000, 0x2080, 0x2100, 0x2180, 0x2200, 0x2280,
+    0x2300, 0x2380, 0x2400, 0x2480, 0x2500, 0x2580, 0x2600,
+    0x2680, 0x2700, 0x2780, 0x2800, 0x2880, 0x2900, 0x2980,
+    0x2a00, 0x2a80, 0x2b00, 0x2b80, 0x2c00, 0x2c80, 0x2d00,
+    0x2d80, 0x2e00, 0x2e80, 0x2f00, 0x2f80, 0x3000, 0x3080,
+    0x3100, 0x3180, 0x3200, 0x3280, 0x3300, 0x3380, 0xe000,
+    0xe080, 0xe100, 0xe180, 0xe200, 0xe280, 0xe300, 0xe380,
+    0xe400, 0xe480, 0xe500, 0xe580, 0xe600, 0xe680, 0xe700,
+    0xe780, 0xe800, 0xe880, 0xe900, 0xe980, 0xea00, 0xea80,
+    0xeb00, 0xeb80, 0xec00, 0xec80, 0xed00, 0xed80, 0xee00,
+    0xee80, 0xef00, 0xef80, 0xf000, 0xf080, 0xf100, 0xf180,
+    0xf200, 0xf280, 0xf300, 0xf380, 0xf400, 0xf480, 0xf500,
+    0xf580, 0xf600, 0xf680, 0xf700, 0xf780, 0xf800, 0xf880,
+    0xf900, 0xf980, 0xfa00, 0xfa80, 0xfb00, 0xfb80, 0xfc00,
+    0xfc80, 0xfd00, 0xfd80, 0xfe00, 0xfe80, 0xff00, 0xff80, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc0, 0x250, 0x370,
+    0x530, 0x3040, 0x30a0, 0xff60  
+    };
+
+    /** Static compression window offsets */
+    final static int [] sOffsets = {
+        0x0000,  // for quoting single-byte mode tags
+        0x0080,  // Latin-1 Supplement
+        0x0100,  // Latin Extended-A
+        0x0300,  // Combining Diacritical Marks
+        0x2000,  // General Punctuation
+        0x2080,  // Curency Symbols
+        0x2100,  // Letterlike Symbols and Number Forms
+        0x3000   // CJK Symbols and Punctuation
+    };
+
+};
+
diff --git a/src/com/ibm/icu/text/SearchIterator.java b/src/com/ibm/icu/text/SearchIterator.java
new file mode 100755
index 0000000..14de531
--- /dev/null
+++ b/src/com/ibm/icu/text/SearchIterator.java
@@ -0,0 +1,788 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+package com.ibm.icu.text;
+
+import java.text.CharacterIterator;
+
+/**
+ * <p>SearchIterator is an abstract base class that defines a protocol
+ * for text searching. Subclasses provide concrete implementations of
+ * various search algorithms.  A concrete subclass, StringSearch, is
+ * provided that implements language-sensitive pattern matching based
+ * on the comparison rules defined in a RuleBasedCollator
+ * object. Instances of SearchIterator maintain a current position and
+ * scan over the target text, returning the indices where a match is
+ * found and the length of each match. Generally, the sequence of forward 
+ * matches will be equivalent to the sequence of backward matches.One
+ * case where this statement may not hold is when non-overlapping mode 
+ * is set on and there are continuous repetitive patterns in the text. 
+ * Consider the case searching for pattern "aba" in the text 
+ * "ababababa", setting overlapping mode off will produce forward matches
+ * at offsets 0, 4. However when a backwards search is done, the
+ * results will be at offsets 6 and 2.</p>
+ * 
+ * <p>If matches searched for have boundary restrictions. BreakIterators 
+ * can be used to define the valid boundaries of such a match. Once a 
+ * BreakIterator is set, potential matches will be tested against the
+ * BreakIterator to determine if the boundaries are valid and that all
+ * characters in the potential match are equivalent to the pattern 
+ * searched for. For example, looking for the pattern "fox" in the text
+ * "foxy fox" will produce match results at offset 0 and 5 with length 3
+ * if no BreakIterators were set. However if a WordBreakIterator is set,
+ * the only match that would be found will be at the offset 5. Since,
+ * the SearchIterator guarantees that if a BreakIterator is set, all its
+ * matches will match the given pattern exactly, a potential match that 
+ * passes the BreakIterator might still not produce a valid match. For 
+ * instance the pattern "e" will not be found in the string 
+ * "&#92;u00e9" (latin small letter e with acute) if a 
+ * CharacterBreakIterator is used. Even though "e" is
+ * a part of the character "&#92;u00e9" and the potential match at
+ * offset 0 length 1 passes the CharacterBreakIterator test, "&#92;u00e9"
+ * is not equivalent to "e", hence the SearchIterator rejects the potential
+ * match. By default, the SearchIterator
+ * does not impose any boundary restriction on the matches, it will 
+ * return all results that match the pattern. Illustrating with the 
+ * above example, "e" will
+ * be found in the string "&#92;u00e9" if no BreakIterator is
+ * specified.</p>
+ * 
+ * <p>SearchIterator also provides a means to handle overlapping
+ * matches via the API setOverlapping(boolean). For example, if
+ * overlapping mode is set, searching for the pattern "abab" in the
+ * text "ababab" will match at positions 0 and 2, whereas if
+ * overlapping is not set, SearchIterator will only match at position
+ * 0. By default, overlapping mode is not set.</p>
+ * 
+ * <p>The APIs in SearchIterator are similar to that of other text
+ * iteration classes such as BreakIterator. Using this class, it is
+ * easy to scan through text looking for all occurances of a
+ * match.</p>
+ * <p>
+ * Example of use:<br>
+ * <pre>
+ * String target = "The quick brown fox jumped over the lazy fox";
+ * String pattern = "fox";
+ * SearchIterator iter = new StringSearch(pattern, target);
+ * for (int pos = iter.first(); pos != SearchIterator.DONE; 
+ *                                                       pos = iter.next()) {
+ *     // println matches at offset 16 and 41 with length 3
+ *     System.out.println("Found match at " + pos + ", length is " 
+ *                        + iter.getMatchLength());
+ * }
+ * target = "ababababa";
+ * pattern = "aba";
+ * iter.setTarget(new StringCharacterIterator(pattern));
+ * iter.setOverlapping(false);
+ * System.out.println("Overlapping mode set to false");
+ * System.out.println("Forward matches of pattern " + pattern + " in text "
+ *                    + text + ": ");
+ * for (int pos = iter.first(); pos != SearchIterator.DONE; 
+ *                                                       pos = iter.next()) {
+ *     // println matches at offset 0 and 4 with length 3
+ *     System.out.println("offset " + pos + ", length " 
+ *                        + iter.getMatchLength());
+ * }
+ * System.out.println("Backward matches of pattern " + pattern + " in text "
+ *                    + text + ": ");
+ * for (int pos = iter.last(); pos != SearchIterator.DONE; 
+ *                                                    pos = iter.previous()) {
+ *     // println matches at offset 6 and 2 with length 3
+ *     System.out.println("offset " + pos + ", length " 
+ *                        + iter.getMatchLength());
+ * }
+ * System.out.println("Overlapping mode set to true");
+ * System.out.println("Index set to 2");
+ * iter.setIndex(2);
+ * iter.setOverlapping(true);
+ * System.out.println("Forward matches of pattern " + pattern + " in text "
+ *                    + text + ": ");
+ * for (int pos = iter.first(); pos != SearchIterator.DONE; 
+ *                                                       pos = iter.next()) {
+ *     // println matches at offset 2, 4 and 6 with length 3
+ *     System.out.println("offset " + pos + ", length " 
+ *                        + iter.getMatchLength());
+ * }
+ * System.out.println("Index set to 2");
+ * iter.setIndex(2);
+ * System.out.println("Backward matches of pattern " + pattern + " in text "
+ *                    + text + ": ");
+ * for (int pos = iter.last(); pos != SearchIterator.DONE; 
+ *                                                    pos = iter.previous()) {
+ *     // println matches at offset 0 with length 3
+ *     System.out.println("offset " + pos + ", length " 
+ *                        + iter.getMatchLength());
+ * }
+ * </pre>
+ * </p>
+ * @author Laura Werner, synwee
+ * @stable ICU 2.0
+ * @see BreakIterator
+ */
+public abstract class SearchIterator 
+{
+    
+    // public data members -------------------------------------------------
+    
+    /**
+     * DONE is returned by previous() and next() after all valid matches have 
+     * been returned, and by first() and last() if there are no matches at all.
+     * @see #previous
+     * @see #next
+     * @stable ICU 2.0
+     */
+    public static final int DONE = -1;
+    
+    // public methods -----------------------------------------------------
+    
+    // public setters -----------------------------------------------------
+    
+    /**
+     * <p>
+     * Sets the position in the target text at which the next search will start.
+     * This method clears any previous match.
+     * </p>
+     * @param position position from which to start the next search
+     * @exception IndexOutOfBoundsException thrown if argument position is out
+     *            of the target text range.
+     * @see #getIndex
+     * @stable ICU 2.8
+     */
+    public void setIndex(int position) {
+        if (position < targetText.getBeginIndex() 
+            || position > targetText.getEndIndex()) {
+            throw new IndexOutOfBoundsException(
+                "setIndex(int) expected position to be between " +
+                targetText.getBeginIndex() + " and " + targetText.getEndIndex());
+        }
+        m_setOffset_ = position;
+        m_reset_ = false;
+        matchLength = 0;
+    }
+    
+    /**
+     * <p>
+     * Determines whether overlapping matches are returned. See the class 
+     * documentation for more information about overlapping matches.
+     * </p>
+     * <p>
+     * The default setting of this property is false
+     * </p>
+     * @param allowOverlap flag indicator if overlapping matches are allowed
+     * @see #isOverlapping
+     * @stable ICU 2.8
+     */
+    public void setOverlapping(boolean allowOverlap)
+    {
+        m_isOverlap_ = allowOverlap;
+    }
+    
+    /**
+     * Set the BreakIterator that is used to restrict the points at which 
+     * matches are detected.
+     * Using <tt>null</tt> as the parameter is legal; it means that break 
+     * detection should not be attempted.
+     * See class documentation for more information.
+     * @param breakiter A BreakIterator that will be used to restrict the 
+     *                     points at which matches are detected.
+     * @see #getBreakIterator
+     * @see BreakIterator
+     * @stable ICU 2.0
+     */
+    public void setBreakIterator(BreakIterator breakiter) 
+    {
+        breakIterator = breakiter;
+        if (breakIterator != null) {
+            breakIterator.setText(targetText);
+        }
+    }
+    
+    /**
+     * Set the target text to be searched. Text iteration will then begin at 
+      * the start of the text string. This method is useful if you want to 
+     * reuse an iterator to search within a different body of text.
+     * @param text new text iterator to look for match, 
+     * @exception IllegalArgumentException thrown when text is null or has
+     *               0 length
+     * @see #getTarget
+     * @stable ICU 2.4
+     */
+    public void setTarget(CharacterIterator text)
+    {
+        if (text == null || text.getEndIndex() == text.getIndex()) {
+            throw new IllegalArgumentException("Illegal null or empty text");
+        }
+        
+        targetText = text;
+        targetText.setIndex(targetText.getBeginIndex());
+        matchLength = 0;
+        m_reset_ = true;
+        m_isForwardSearching_ = true;
+        if (breakIterator != null) {
+            breakIterator.setText(targetText);
+        }
+    }
+
+    // public getters ----------------------------------------------------
+    
+    /**
+     * <p>
+     * Returns the index of the most recent match in the target text.
+     * This call returns a valid result only after a successful call to 
+     * {@link #first}, {@link #next}, {@link #previous}, or {@link #last}.
+     * Just after construction, or after a searching method returns 
+     * <tt>DONE</tt>, this method will return <tt>DONE</tt>.
+     * </p>
+     * <p>
+     * Use <tt>getMatchLength</tt> to get the length of the matched text.
+     * <tt>getMatchedText</tt> will return the subtext in the searched 
+     * target text from index getMatchStart() with length getMatchLength(). 
+     * </p>
+     * @return index to a substring within the text string that is being 
+     *         searched.
+     * @see #getMatchLength
+     * @see #getMatchedText
+     * @see #first
+     * @see #next
+     * @see #previous
+     * @see #last
+     * @see #DONE
+     * @stable ICU 2.8
+     */
+    public int getMatchStart()
+    {
+        return m_lastMatchStart_;
+    }
+
+    /**
+     * Return the index in the target text at which the iterator is currently
+     * positioned. 
+     * If the iteration has gone past the end of the target text, or past 
+     * the beginning for a backwards search, {@link #DONE} is returned.
+     * @return index in the target text at which the iterator is currently 
+     *         positioned.
+     * @stable ICU 2.8
+     * @see #first
+     * @see #next
+     * @see #previous
+     * @see #last
+     * @see #DONE
+     */
+    public abstract int getIndex();
+    
+    /**
+     * <p>
+     * Returns the length of the most recent match in the target text. 
+     * This call returns a valid result only after a successful
+     * call to {@link #first}, {@link #next}, {@link #previous}, or 
+     * {@link #last}.
+     * Just after construction, or after a searching method returns
+     * <tt>DONE</tt>, this method will return 0. See getMatchStart() for 
+     * more details.
+     * </p>
+     * @return The length of the most recent match in the target text, or 0 if 
+     *         there is no match.
+     * @see #getMatchStart
+     * @see #getMatchedText
+     * @see #first
+     * @see #next
+     * @see #previous
+     * @see #last
+     * @see #DONE
+     * @stable ICU 2.0
+     */
+    public int getMatchLength() 
+    {
+        return matchLength;
+    }
+    
+    /**
+     * Returns the BreakIterator that is used to restrict the indexes at which 
+     * matches are detected. This will be the same object that was passed to 
+     * the constructor or to <code>setBreakIterator</code>.
+     * If the BreakIterator has not been set, <tt>null</tt> will be returned.
+     * See setBreakIterator for more information.
+     * @return the BreakIterator set to restrict logic matches
+     * @see #setBreakIterator
+     * @see BreakIterator
+     * @stable ICU 2.0
+     */
+    public BreakIterator getBreakIterator() 
+    {
+        return breakIterator;
+    }
+    
+    /**
+     * Return the target text that is being searched.
+     * @return target text being searched.
+     * @see #setTarget
+     * @stable ICU 2.0
+     */
+    public CharacterIterator getTarget() 
+    {
+        return targetText;
+    }
+    
+    /**
+     * Returns the text that was matched by the most recent call to 
+     * {@link #first}, {@link #next}, {@link #previous}, or {@link #last}. 
+     * If the iterator is not pointing at a valid match, for instance just 
+     * after construction or after <tt>DONE</tt> has been returned, an empty 
+     * String will be returned. See getMatchStart for more information
+     * @see #getMatchStart
+     * @see #getMatchLength
+     * @see #first
+     * @see #next
+     * @see #previous
+     * @see #last
+     * @see #DONE
+     * @return the substring in the target text of the most recent match 
+     * @stable ICU 2.0
+     */
+    public String getMatchedText() 
+    {
+        if (matchLength > 0) {
+            int limit = m_lastMatchStart_ + matchLength;
+            StringBuffer result = new StringBuffer(matchLength);
+            result.append(targetText.current());
+            targetText.next();
+            while (targetText.getIndex() < limit) {
+                result.append(targetText.current());
+                targetText.next();
+            }
+            targetText.setIndex(m_lastMatchStart_);
+            return result.toString();
+        }
+        return null;
+    }
+
+    // miscellaneous public methods -----------------------------------------
+        
+    /**
+     * Search <b>forwards</b> in the target text for the next valid match,
+     * starting the search from the current iterator position. The iterator is 
+     * adjusted so that its current index, as returned by {@link #getIndex},
+     * is the starting position of the match if one was found. If a match is 
+     * found, the index of the match is returned, otherwise <tt>DONE</tt> is
+     * returned.  If overlapping mode is set, the beginning of the found match
+     * can be before the end of the current match, if any.
+     * @return The starting index of the next forward match after the current 
+     *         iterator position, or 
+     *         <tt>DONE</tt> if there are no more matches.
+     * @see #getMatchStart
+     * @see #getMatchLength
+     * @see #getMatchedText
+     * @see #following
+     * @see #preceding
+     * @see #previous
+     * @see #first
+     * @see #last
+     * @see #DONE
+     * @stable ICU 2.0
+     */
+    public int next()
+    {
+        int start = targetText.getIndex();
+        if (m_setOffset_ != DONE) {
+            start = m_setOffset_;    
+            m_setOffset_ = DONE;    
+        }
+        if (m_isForwardSearching_) {
+            if (!m_reset_ && 
+                start + matchLength >= targetText.getEndIndex()) {
+                // not enough characters to match
+                matchLength = 0;
+                targetText.setIndex(targetText.getEndIndex());
+                m_lastMatchStart_ = DONE;
+                return DONE; 
+            }
+            m_reset_ = false;
+        }
+        else {
+            // switching direction. 
+            // if matchedIndex == USEARCH_DONE, it means that either a 
+            // setIndex has been called or that previous ran off the text
+            // string. the iterator would have been set to offset 0 if a 
+            // match is not found.
+            m_isForwardSearching_ = true;
+            if (start != DONE) {
+                // there's no need to set the collation element iterator
+                // the next call to next will set the offset.
+                return start;
+            }
+        }
+        
+        if (start == DONE) {
+            start = targetText.getBeginIndex();
+        }
+        if (matchLength > 0) {
+            // if match length is 0 we are at the start of the iteration
+            if (m_isOverlap_) {
+                start ++;
+            }
+            else {
+                start += matchLength;
+            }
+        }
+        m_lastMatchStart_ = handleNext(start);
+        return m_lastMatchStart_;
+    }
+
+    /**
+     * Search <b>backwards</b> in the target text for the next valid match,
+     * starting the search from the current iterator position. The iterator is 
+     * adjusted so that its current index, as returned by {@link #getIndex},
+     * is the starting position of the match if one was found. If a match is 
+     * found, the index is returned, otherwise <tt>DONE</tt> is returned.  If
+     * overlapping mode is set, the end of the found match can be after the
+     * beginning of the previous match, if any.
+     * @return The starting index of the next backwards match after the current 
+     *         iterator position, or 
+     *         <tt>DONE</tt> if there are no more matches.
+     * @see #getMatchStart
+     * @see #getMatchLength
+     * @see #getMatchedText
+     * @see #following
+     * @see #preceding
+     * @see #next
+     * @see #first
+     * @see #last
+     * @see #DONE
+     * @stable ICU 2.0
+     */
+    public int previous()
+    {
+        int start = targetText.getIndex();
+        if (m_setOffset_ != DONE) {
+            start = m_setOffset_;    
+            m_setOffset_ = DONE;    
+        }
+        if (m_reset_) {
+            m_isForwardSearching_ = false;
+            m_reset_ = false;
+            start = targetText.getEndIndex();
+        }
+        
+        if (m_isForwardSearching_ == true) {
+            // switching direction. 
+            // if matchedIndex == USEARCH_DONE, it means that either a 
+            // setIndex has been called or that next ran off the text
+            // string. the iterator would have been set to offset textLength if 
+            // a match is not found.
+            m_isForwardSearching_ = false;
+            if (start != targetText.getEndIndex()) {
+                return start;
+            }
+        }
+        else {
+            if (start == targetText.getBeginIndex()) {
+                // not enough characters to match
+                matchLength = 0;
+                targetText.setIndex(targetText.getBeginIndex());
+                m_lastMatchStart_ = DONE;
+                return DONE; 
+            }
+        }
+
+        m_lastMatchStart_ = handlePrevious(start);
+        return m_lastMatchStart_;
+    }
+
+    /**
+     * Return true if the overlapping property has been set.
+     * See setOverlapping(boolean) for more information.
+     * @see #setOverlapping
+     * @return true if the overlapping property has been set, false otherwise
+     * @stable ICU 2.8
+     */
+    public boolean isOverlapping() 
+    {
+        return m_isOverlap_;
+    }
+    
+    /** 
+     * <p>
+     * Resets the search iteration. All properties will be reset to their
+     * default values.
+     * </p>
+     * <p>
+     * If a forward iteration is initiated, the next search will begin at the
+     * start of the target text. Otherwise, if a backwards iteration is initiated,
+     * the next search will begin at the end of the target text.
+     * </p>
+     * @stable ICU 2.8
+     */
+    public void reset()
+    {
+        // reset is setting the attributes that are already in string search
+        matchLength = 0;
+        setIndex(targetText.getBeginIndex());
+        m_isOverlap_ = false;
+        m_isForwardSearching_ = true;
+        m_reset_ = true;
+        m_setOffset_ = DONE;
+    }
+    
+    /**
+     * Return the index of the first <b>forward</b> match in the target text. 
+     * This method sets the iteration to begin at the start of the 
+     * target text and searches forward from there.
+     * @return The index of the first forward match, or <code>DONE</code> 
+     *            if there are no matches.
+     * @see #getMatchStart
+     * @see #getMatchLength
+     * @see #getMatchedText
+     * @see #following
+     * @see #preceding
+     * @see #next
+     * @see #previous
+     * @see #last
+     * @see #DONE
+     * @stable ICU 2.0
+     */
+    public final int first() 
+    {
+        m_isForwardSearching_ = true;
+        setIndex(targetText.getBeginIndex());
+        return next();
+    }
+
+    /**
+     * Return the index of the first <b>forward</b> match in target text that 
+     * is at or after argument <tt>position</tt>. 
+     * This method sets the iteration to begin at the specified
+     * position in the the target text and searches forward from there.
+     * @return The index of the first forward match, or <code>DONE</code> 
+     *         if there are no matches.
+     * @see #getMatchStart
+     * @see #getMatchLength
+     * @see #getMatchedText
+     * @see #first
+     * @see #preceding
+     * @see #next
+     * @see #previous
+     * @see #last
+     * @see #DONE
+     * @stable ICU 2.0
+     */
+    public final int following(int position) 
+    {
+        m_isForwardSearching_ = true;
+        // position checked in usearch_setOffset
+        setIndex(position);
+        return next();
+    }
+    
+    /**
+     * Return the index of the first <b>backward</b> match in target text. 
+     * This method sets the iteration to begin at the end of the 
+     * target text and searches backwards from there.
+     * @return The starting index of the first backward match, or 
+     *         <code>DONE</code> if there are no matches.
+     * @see #getMatchStart
+     * @see #getMatchLength
+     * @see #getMatchedText
+     * @see #first
+     * @see #preceding
+     * @see #next
+     * @see #previous
+     * @see #following
+     * @see #DONE
+     * @stable ICU 2.0
+     */
+    public final int last() 
+    {
+        m_isForwardSearching_ = false;
+        setIndex(targetText.getEndIndex());
+        return previous();
+    }
+     
+    /**
+     * Return the index of the first <b>backwards</b> match in target 
+     * text that ends at or before argument <tt>position</tt>. 
+     * This method sets the iteration to begin at the argument
+     * position index of the target text and searches backwards from there.
+     * @return The starting index of the first backwards match, or 
+     *         <code>DONE</code> 
+     *         if there are no matches.
+     * @see #getMatchStart
+     * @see #getMatchLength
+     * @see #getMatchedText
+     * @see #first
+     * @see #following
+     * @see #next
+     * @see #previous
+     * @see #last
+     * @see #DONE
+     * @stable ICU 2.0
+     */
+    public final int preceding(int position) 
+    {
+        m_isForwardSearching_ = false;
+        // position checked in usearch_setOffset
+        setIndex(position);
+        return previous();   
+    }
+    
+    // protected data member ----------------------------------------------
+    
+    /**
+     * The BreakIterator to define the boundaries of a logical match.
+     * This value can be a null.
+     * See class documentation for more information.
+     * @see #setBreakIterator(BreakIterator)
+     * @see #getBreakIterator
+     * @see BreakIterator
+     * @stable ICU 2.0
+     */
+    protected BreakIterator breakIterator; 
+
+    /**
+     * Target text for searching.
+     * @see #setTarget(CharacterIterator)
+     * @see #getTarget
+     * @stable ICU 2.0
+     */
+    protected CharacterIterator targetText;
+    /**
+     * Length of the most current match in target text. 
+     * Value 0 is the default value.
+     * @see #setMatchLength
+     * @see #getMatchLength
+     * @stable ICU 2.0
+     */
+    protected int matchLength;
+    
+    // protected constructor ----------------------------------------------
+    
+    /**
+     * Protected constructor for use by subclasses.
+     * Initializes the iterator with the argument target text for searching 
+     * and sets the BreakIterator.
+     * See class documentation for more details on the use of the target text
+     * and BreakIterator.
+     * @param target The target text to be searched.
+     * @param breaker A {@link BreakIterator} that is used to determine the 
+     *                boundaries of a logical match. This argument can be null.
+     * @exception IllegalArgumentException thrown when argument target is null,
+     *            or of length 0
+     * @see BreakIterator  
+     * @stable ICU 2.0
+     */
+    protected SearchIterator(CharacterIterator target, BreakIterator breaker)
+    {
+        if (target == null 
+            || (target.getEndIndex() - target.getBeginIndex()) == 0) {
+                throw new IllegalArgumentException(
+                                   "Illegal argument target. " +
+                                   " Argument can not be null or of length 0");
+        }
+        targetText = target;
+        breakIterator = breaker;
+        if (breakIterator != null) {
+            breakIterator.setText(target);
+        }
+        matchLength = 0;
+        m_lastMatchStart_ = DONE;
+        m_isOverlap_ = false;
+        m_isForwardSearching_ = true;
+        m_reset_ = true;
+        m_setOffset_ = DONE;
+    }    
+    
+    // protected methods --------------------------------------------------
+
+   
+    /**
+     * Sets the length of the most recent match in the target text. 
+     * Subclasses' handleNext() and handlePrevious() methods should call this 
+     * after they find a match in the target text.    
+     * @param length new length to set
+     * @see #handleNext
+     * @see #handlePrevious
+     * @stable ICU 2.0
+     */
+    protected void setMatchLength(int length)
+    {
+        matchLength = length;
+    }
+
+    /**
+     * <p>
+     * Abstract method that subclasses override to provide the mechanism 
+     * for finding the next <b>forwards</b> match in the target text. This 
+     * allows different subclasses to provide different search algorithms.
+     * </p> 
+     * <p>
+     * If a match is found, this function must call setMatchLength(int) to
+     * set the length of the result match.
+     * The iterator is adjusted so that its current index, as returned by 
+     * {@link #getIndex}, is the starting position of the match if one was 
+     * found. If a match is not found, <tt>DONE</tt> will be returned.
+     * </p> 
+     * @param start index in the target text at which the forwards search 
+     *        should begin.
+     * @return the starting index of the next forwards match if found, DONE 
+     *         otherwise
+     * @see #setMatchLength(int)
+     * @see #handlePrevious(int)
+     * @see #DONE
+     * @stable ICU 2.0
+     */
+    protected abstract int handleNext(int start);
+    
+    /**
+     * <p>
+     * Abstract method which subclasses override to provide the mechanism 
+     * for finding the next <b>backwards</b> match in the target text. 
+     * This allows different 
+     * subclasses to provide different search algorithms. 
+     * </p> 
+     * <p>
+     * If a match is found, this function must call setMatchLength(int) to
+     * set the length of the result match.
+     * The iterator is adjusted so that its current index, as returned by 
+     * {@link #getIndex}, is the starting position of the match if one was 
+     * found. If a match is not found, <tt>DONE</tt> will be returned.
+     * </p> 
+     * @param startAt index in the target text at which the backwards search 
+     *        should begin.
+     * @return the starting index of the next backwards match if found, 
+     *         DONE otherwise
+     * @see #setMatchLength(int)
+     * @see #handleNext(int)
+     * @see #DONE
+     * @stable ICU 2.0
+     */
+    protected abstract int handlePrevious(int startAt);
+    
+    // private data members ------------------------------------------------
+    
+    /**
+     * Flag indicates if we are doing a forwards search
+     */
+    private boolean m_isForwardSearching_;
+    /**
+     * Flag to indicate if overlapping search is to be done.
+     * E.g. looking for "aa" in "aaa" will yield matches at offset 0 and 1.
+     */
+    private boolean m_isOverlap_;
+    /**
+     * Flag indicates if we are at the start of a string search.
+     * This indicates that we are in forward search and at the start of m_text.
+     */ 
+    private boolean m_reset_;
+    /**
+     * Data member to store user defined position in setIndex().
+     * If setIndex() is not called, this value will be DONE.
+     */ 
+    private int m_setOffset_;
+    /**
+     * Offset of the beginning of the last match
+     */
+    private int m_lastMatchStart_;
+}
diff --git a/src/com/ibm/icu/text/SimpleDateFormat.java b/src/com/ibm/icu/text/SimpleDateFormat.java
new file mode 100755
index 0000000..d67b6cc
--- /dev/null
+++ b/src/com/ibm/icu/text/SimpleDateFormat.java
@@ -0,0 +1,1865 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+package com.ibm.icu.text;
+
+import com.ibm.icu.util.Calendar;
+import com.ibm.icu.lang.UCharacter;
+import com.ibm.icu.impl.CalendarData;
+import com.ibm.icu.impl.UCharacterProperty;
+import com.ibm.icu.impl.ZoneMeta;
+import com.ibm.icu.util.TimeZone;
+import com.ibm.icu.util.ULocale;
+
+import java.io.IOException;
+import java.io.ObjectInputStream;
+import java.lang.ref.SoftReference;
+import java.text.FieldPosition;
+import java.text.MessageFormat;
+import java.text.ParsePosition;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.Hashtable;
+import java.util.Locale;
+import java.util.Map;
+
+import com.ibm.icu.impl.LocaleUtility;
+
+/**
+ * <code>SimpleDateFormat</code> is a concrete class for formatting and
+ * parsing dates in a locale-sensitive manner. It allows for formatting
+ * (date -> text), parsing (text -> date), and normalization.
+ *
+ * <p>
+ * <code>SimpleDateFormat</code> allows you to start by choosing
+ * any user-defined patterns for date-time formatting. However, you
+ * are encouraged to create a date-time formatter with either
+ * <code>getTimeInstance</code>, <code>getDateInstance</code>, or
+ * <code>getDateTimeInstance</code> in <code>DateFormat</code>. Each
+ * of these class methods can return a date/time formatter initialized
+ * with a default format pattern. You may modify the format pattern
+ * using the <code>applyPattern</code> methods as desired.
+ * For more information on using these methods, see
+ * {@link DateFormat}.
+ *
+ * <p>
+ * <strong>Time Format Syntax:</strong>
+ * <p>
+ * To specify the time format use a <em>time pattern</em> string.
+ * In this pattern, all ASCII letters are reserved as pattern letters,
+ * which are defined as the following:
+ * <blockquote>
+ * <pre>
+ * Symbol   Meaning                 Presentation        Example
+ * ------   -------                 ------------        -------
+ * G        era designator          (Text)              AD
+ * y&#x2020;       year                    (Number)            1996
+ * Y*       year (week of year)     (Number)            1997
+ * u*       extended year           (Number)            4601
+ * M        month in year           (Text & Number)     July & 07
+ * d        day in month            (Number)            10
+ * h        hour in am/pm (1~12)    (Number)            12
+ * H        hour in day (0~23)      (Number)            0
+ * m        minute in hour          (Number)            30
+ * s        second in minute        (Number)            55
+ * S        fractional second       (Number)            978
+ * E        day of week             (Text)              Tuesday
+ * e*       day of week (local 1~7) (Number)            2
+ * D        day in year             (Number)            189
+ * F        day of week in month    (Number)            2 (2nd Wed in July)
+ * w        week in year            (Number)            27
+ * W        week in month           (Number)            2
+ * a        am/pm marker            (Text)              PM
+ * k        hour in day (1~24)      (Number)            24
+ * K        hour in am/pm (0~11)    (Number)            0
+ * z        time zone               (Text)              Pacific Standard Time
+ * Z        time zone (RFC 822)     (Number)            -0800
+ * v        time zone (generic)     (Text)              Pacific Time
+ * g*       Julian day              (Number)            2451334
+ * A*       milliseconds in day     (Number)            69540000
+ * '        escape for text         (Delimiter)         'Date='
+ * ''       single quote            (Literal)           'o''clock'
+ * </pre>
+ * </blockquote>
+ * <tt><b>*</b></tt> These items are not supported by Java's SimpleDateFormat.<br>
+ * <tt><b>&#x2020;</b></tt> ICU interprets a single 'y' differently than Java.</p>
+ * <p>
+ * The count of pattern letters determine the format.
+ * <p>
+ * <strong>(Text)</strong>: 4 or more pattern letters--use full form,
+ * &lt; 4--use short or abbreviated form if one exists.
+ * <p>
+ * <strong>(Number)</strong>: the minimum number of digits. Shorter
+ * numbers are zero-padded to this amount. Year is handled specially;
+ * that is, if the count of 'y' is 2, the Year will be truncated to 2 digits.
+ * (e.g., if "yyyy" produces "1997", "yy" produces "97".)
+ * Unlike other fields, fractional seconds are padded on the right with zero.
+ * <p>
+ * <strong>(Text & Number)</strong>: 3 or over, use text, otherwise use number.
+ * <p>
+ * Any characters in the pattern that are not in the ranges of ['a'..'z']
+ * and ['A'..'Z'] will be treated as quoted text. For instance, characters
+ * like ':', '.', ' ', '#' and '@' will appear in the resulting time text
+ * even they are not embraced within single quotes.
+ * <p>
+ * A pattern containing any invalid pattern letter will result in a thrown
+ * exception during formatting or parsing.
+ *
+ * <p>
+ * <strong>Examples Using the US Locale:</strong>
+ * <blockquote>
+ * <pre>
+ * Format Pattern                         Result
+ * --------------                         -------
+ * "yyyy.MM.dd G 'at' HH:mm:ss vvvv" ->>  1996.07.10 AD at 15:08:56 Pacific Time
+ * "EEE, MMM d, ''yy"                ->>  Wed, July 10, '96
+ * "h:mm a"                          ->>  12:08 PM
+ * "hh 'o''clock' a, zzzz"           ->>  12 o'clock PM, Pacific Daylight Time
+ * "K:mm a, vvv"                     ->>  0:00 PM, PT
+ * "yyyyy.MMMMM.dd GGG hh:mm aaa"    ->>  01996.July.10 AD 12:08 PM
+ * </pre>
+ * </blockquote>
+ * <strong>Code Sample:</strong>
+ * <blockquote>
+ * <pre>
+ * SimpleTimeZone pdt = new SimpleTimeZone(-8 * 60 * 60 * 1000, "PST");
+ * pdt.setStartRule(Calendar.APRIL, 1, Calendar.SUNDAY, 2*60*60*1000);
+ * pdt.setEndRule(Calendar.OCTOBER, -1, Calendar.SUNDAY, 2*60*60*1000);
+ * <br>
+ * // Format the current time.
+ * SimpleDateFormat formatter
+ *     = new SimpleDateFormat ("yyyy.MM.dd G 'at' hh:mm:ss a zzz");
+ * Date currentTime_1 = new Date();
+ * String dateString = formatter.format(currentTime_1);
+ * <br>
+ * // Parse the previous string back into a Date.
+ * ParsePosition pos = new ParsePosition(0);
+ * Date currentTime_2 = formatter.parse(dateString, pos);
+ * </pre>
+ * </blockquote>
+ * In the example, the time value <code>currentTime_2</code> obtained from
+ * parsing will be equal to <code>currentTime_1</code>. However, they may not be
+ * equal if the am/pm marker 'a' is left out from the format pattern while
+ * the "hour in am/pm" pattern symbol is used. This information loss can
+ * happen when formatting the time in PM.
+ *
+ * <p>
+ * When parsing a date string using the abbreviated year pattern ("yy"),
+ * SimpleDateFormat must interpret the abbreviated year
+ * relative to some century.  It does this by adjusting dates to be
+ * within 80 years before and 20 years after the time the SimpleDateFormat
+ * instance is created. For example, using a pattern of "MM/dd/yy" and a
+ * SimpleDateFormat instance created on Jan 1, 1997,  the string
+ * "01/11/12" would be interpreted as Jan 11, 2012 while the string "05/04/64"
+ * would be interpreted as May 4, 1964.
+ * During parsing, only strings consisting of exactly two digits, as defined by
+ * {@link java.lang.Character#isDigit(char)}, will be parsed into the default
+ * century.
+ * Any other numeric string, such as a one digit string, a three or more digit
+ * string, or a two digit string that isn't all digits (for example, "-1"), is
+ * interpreted literally.  So "01/02/3" or "01/02/003" are parsed, using the
+ * same pattern, as Jan 2, 3 AD.  Likewise, "01/02/-3" is parsed as Jan 2, 4 BC.
+ *
+ * <p>
+ * If the year pattern does not have exactly two 'y' characters, the year is
+ * interpreted literally, regardless of the number of digits.  So using the
+ * pattern "MM/dd/yyyy", "01/11/12" parses to Jan 11, 12 A.D.
+ *
+ * <p>
+ * When numeric fields abut one another directly, with no intervening delimiter
+ * characters, they constitute a run of abutting numeric fields.  Such runs are
+ * parsed specially.  For example, the format "HHmmss" parses the input text
+ * "123456" to 12:34:56, parses the input text "12345" to 1:23:45, and fails to
+ * parse "1234".  In other words, the leftmost field of the run is flexible,
+ * while the others keep a fixed width.  If the parse fails anywhere in the run,
+ * then the leftmost field is shortened by one character, and the entire run is
+ * parsed again. This is repeated until either the parse succeeds or the
+ * leftmost field is one character in length.  If the parse still fails at that
+ * point, the parse of the run fails.
+ *
+ * <p>
+ * For time zones that have no names, use strings GMT+hours:minutes or
+ * GMT-hours:minutes.
+ *
+ * <p>
+ * The calendar defines what is the first day of the week, the first week
+ * of the year, whether hours are zero based or not (0 vs 12 or 24), and the
+ * time zone. There is one common decimal format to handle all the numbers;
+ * the digit count is handled programmatically according to the pattern.
+ *
+ * <h4>Synchronization</h4>
+ *
+ * Date formats are not synchronized. It is recommended to create separate
+ * format instances for each thread. If multiple threads access a format
+ * concurrently, it must be synchronized externally.
+ *
+ * @see          com.ibm.icu.util.Calendar
+ * @see          com.ibm.icu.util.GregorianCalendar
+ * @see          com.ibm.icu.util.TimeZone
+ * @see          DateFormat
+ * @see          DateFormatSymbols
+ * @see          DecimalFormat
+ * @author       Mark Davis, Chen-Lieh Huang, Alan Liu
+ * @stable ICU 2.0
+ */
+public class SimpleDateFormat extends DateFormat {
+
+    // the official serial version ID which says cryptically
+    // which version we're compatible with
+    private static final long serialVersionUID = 4774881970558875024L;
+
+    // the internal serial version which says which version was written
+    // - 0 (default) for version up to JDK 1.1.3
+    // - 1 for version from JDK 1.1.4, which includes a new field
+    static final int currentSerialVersion = 1;
+
+    /**
+     * The version of the serialized data on the stream.  Possible values:
+     * <ul>
+     * <li><b>0</b> or not present on stream: JDK 1.1.3.  This version
+     * has no <code>defaultCenturyStart</code> on stream.
+     * <li><b>1</b> JDK 1.1.4 or later.  This version adds
+     * <code>defaultCenturyStart</code>.
+     * </ul>
+     * When streaming out this class, the most recent format
+     * and the highest allowable <code>serialVersionOnStream</code>
+     * is written.
+     * @serial
+     */
+    private int serialVersionOnStream = currentSerialVersion;
+
+    /**
+     * The pattern string of this formatter.  This is always a non-localized
+     * pattern.  May not be null.  See class documentation for details.
+     * @serial
+     */
+    private String pattern;
+
+    /**
+     * The symbols used by this formatter for week names, month names,
+     * etc.  May not be null.
+     * @serial
+     * @see DateFormatSymbols
+     */
+    private DateFormatSymbols formatData;
+
+    private transient ULocale locale;
+    private transient boolean formatDataIsValid;
+
+    /**
+     * We map dates with two-digit years into the century starting at
+     * <code>defaultCenturyStart</code>, which may be any date.  May
+     * not be null.
+     * @serial
+     * @since JDK1.1.4
+     */
+    private Date defaultCenturyStart;
+
+    transient private int defaultCenturyStartYear;
+
+    private transient TimeZone parsedTimeZone;
+
+    private static final int millisPerHour = 60 * 60 * 1000;
+    private static final int millisPerMinute = 60 * 1000;
+
+    // For time zones that have no names, use strings GMT+minutes and
+    // GMT-minutes. For instance, in France the time zone is GMT+60.
+    private static final String GMT_PLUS = "GMT+";
+    private static final String GMT_MINUS = "GMT-";
+    private static final String GMT = "GMT";
+
+    // This prefix is designed to NEVER MATCH real text, in order to
+    // suppress the parsing of negative numbers.  Adjust as needed (if
+    // this becomes valid Unicode).
+    private static final String SUPPRESS_NEGATIVE_PREFIX = "\uAB00";
+
+    /**
+     * Cache to hold the DateTimePatterns of a Locale.
+     */
+    private static Hashtable cachedLocaleData = new Hashtable(3);
+
+    /**
+     * If true, this object supports fast formatting using the
+     * subFormat variant that takes a StringBuffer.
+     */
+    private transient boolean useFastFormat;
+
+    /**
+     * Construct a SimpleDateFormat using the default pattern for the default
+     * locale.  <b>Note:</b> Not all locales support SimpleDateFormat; for full
+     * generality, use the factory methods in the DateFormat class.
+     *
+     * @see DateFormat
+     * @stable ICU 2.0
+     */
+    public SimpleDateFormat() {
+        this(SHORT, SHORT, ULocale.getDefault());
+    }
+
+    /**
+     * Construct a SimpleDateFormat using the given pattern in the default
+     * locale.  <b>Note:</b> Not all locales support SimpleDateFormat; for full
+     * generality, use the factory methods in the DateFormat class.
+     * @stable ICU 2.0
+     */
+    public SimpleDateFormat(String pattern)
+    {
+        this(pattern, ULocale.getDefault());
+    }
+
+    /**
+     * Construct a SimpleDateFormat using the given pattern and locale.
+     * <b>Note:</b> Not all locales support SimpleDateFormat; for full
+     * generality, use the factory methods in the DateFormat class.
+     * @stable ICU 2.0
+     */
+    public SimpleDateFormat(String pattern, Locale loc)
+    {
+        this(pattern, ULocale.forLocale(loc));
+    }
+
+    /**
+     * Construct a SimpleDateFormat using the given pattern and locale.
+     * <b>Note:</b> Not all locales support SimpleDateFormat; for full
+     * generality, use the factory methods in the DateFormat class.
+     * @draft ICU 3.2
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public SimpleDateFormat(String pattern, ULocale loc)
+    {
+        this.pattern = pattern;
+        this.formatData = new DateFormatSymbols(loc);
+        initialize(loc);
+    }
+
+    /**
+     * Construct a SimpleDateFormat using the given pattern and
+     * locale-specific symbol data.
+     * Warning: uses default locale for digits!
+     * @stable ICU 2.0
+     */
+    public SimpleDateFormat(String pattern, DateFormatSymbols formatData)
+    {
+        this(pattern, formatData, ULocale.getDefault());
+    }
+
+    /**
+     * @internal ICU 3.2
+     */
+    public SimpleDateFormat(String pattern, DateFormatSymbols formatData, ULocale loc)
+    {
+        this.pattern = pattern;
+        this.formatData = (DateFormatSymbols) formatData.clone();
+
+        initialize(loc);
+    }
+
+    /**
+     * Package-private constructor that allows a subclass to specify
+     * whether it supports fast formatting.
+     *
+     * TODO make this API public.
+     */
+    SimpleDateFormat(String pattern, DateFormatSymbols formatData,
+                     boolean useFastFormat) {
+        this.pattern = pattern;
+        this.formatData = (DateFormatSymbols) formatData.clone();
+        initialize(ULocale.getDefault());
+        // this.useFastFormat is set by initialize(); fix it up afterwards
+        this.useFastFormat = useFastFormat;
+    }
+
+    // try caching
+    private static final boolean CACHE = true;
+    private static long cacheAge;
+    private static SoftReference highCacheRef;
+
+    /* Package-private, called by DateFormat factory methods */
+    SimpleDateFormat(int timeStyle, int dateStyle, ULocale loc) {
+        // try a high level cache first!
+
+        Map map = null;
+        String key = null;
+        if (CACHE) {
+            // age test is so we don't have to compute the century start all the time... once a day is enough.
+            long time = System.currentTimeMillis();
+            if (((time - cacheAge) < 1000*60*60*24L) && highCacheRef != null) {
+                map = (Map)highCacheRef.get();
+            }
+            if (map == null) {
+                map = new HashMap(3);
+                highCacheRef = new SoftReference(map);
+                cacheAge = time;
+            }
+            key = loc.toString() + timeStyle + dateStyle;
+            SimpleDateFormat target = (SimpleDateFormat)map.get(key);
+            if (target != null) { // kindof skanky
+                //          if ("en_US22".equals(key))
+                //              System.out.println("\nfound key: " + key + " pat: " + target.pattern +
+                //                         " cal: " + target.calendar + " fmt: " + target.numberFormat);
+                this.pattern = target.pattern;
+                this.formatData = target.formatData;
+                this.defaultCenturyStart = target.defaultCenturyStart;
+                this.defaultCenturyStartYear = target.defaultCenturyStartYear;
+                this.calendar = (Calendar)target.calendar.clone();
+                this.calendar.setTimeZone(TimeZone.getDefault()); // might have changed since cached
+                this.numberFormat = (NumberFormat)target.numberFormat.clone();
+                return;
+            }
+        }
+
+        /* try the cache first */
+        String[] dateTimePatterns = (String[]) cachedLocaleData.get(loc);
+        if (dateTimePatterns == null) { /* cache miss */
+            CalendarData calData = new CalendarData(loc, null); // TODO: type?
+            // TODO: get correct actual/valid locale here
+            ULocale uloc = calData.getULocale();
+            setLocale(uloc, uloc);
+
+            dateTimePatterns = calData.getStringArray("DateTimePatterns");
+            /* update cache */
+            cachedLocaleData.put(loc, dateTimePatterns);
+        } else {
+        // for now, just assume this is correct, so we have non-null locale info.
+        // we may have to cache the result of calData.getULocale with the pattern strings
+        // and set the locale with that.
+        setLocale(loc, loc);
+    }
+        formatData = new DateFormatSymbols(loc);
+        if ((timeStyle >= 0) && (dateStyle >= 0)) {
+            Object[] dateTimeArgs = {dateTimePatterns[timeStyle],
+                                     dateTimePatterns[dateStyle + 4]};
+            pattern = MessageFormat.format(dateTimePatterns[8], dateTimeArgs);
+        }
+        else if (timeStyle >= 0) {
+            pattern = dateTimePatterns[timeStyle];
+        }
+        else if (dateStyle >= 0) {
+            pattern = dateTimePatterns[dateStyle + 4];
+        }
+        else {
+            throw new IllegalArgumentException("No date or time style specified");
+        }
+
+        initialize(loc);
+
+        if (CACHE) {
+            //          if ("en_US22".equals(key))
+            //          System.out.println("\nregister key: " + key + " pat: " + this.pattern +
+            //                     " cal: " + this.calendar + " fmt: " + this.numberFormat);
+            map.put(key, this.clone()); // ok if we stomp existing target due to threading
+        }
+    }
+
+    /* Initialize calendar and numberFormat fields */
+    private void initialize(ULocale loc) {
+        // time zone formatting
+        locale = loc;
+        this.formatDataIsValid = 
+            LocaleUtility.isFallbackOf(formatData.getLocale(ULocale.ACTUAL_LOCALE).getBaseName(),
+                                       loc.getBaseName());
+
+        // The format object must be constructed using the symbols for this zone.
+        // However, the calendar should use the current default TimeZone.
+        // If this is not contained in the locale zone strings, then the zone
+        // will be formatted using generic GMT+/-H:MM nomenclature.
+        calendar = Calendar.getInstance(TimeZone.getDefault(), loc);
+        // TODO: convert to use ULocale APIs when we get to the text package
+        numberFormat = NumberFormat.getInstance(loc);
+        numberFormat.setGroupingUsed(false);
+        ///CLOVER:OFF
+        // difficult to test for case where NumberFormat.getInstance does not
+        // return a DecimalFormat
+        if (numberFormat instanceof DecimalFormat)
+            ((DecimalFormat)numberFormat).setDecimalSeparatorAlwaysShown(false);
+        ///CLOVER:ON
+        numberFormat.setParseIntegerOnly(true); /* So that dd.MM.yy can be parsed */
+        numberFormat.setMinimumFractionDigits(0); // To prevent "Jan 1.00, 1997.00"
+
+        initializeDefaultCentury();
+
+        // Currently, we only support fast formatting in SimpleDateFormat
+        // itself.  TODO add constructor parameters to allow subclasses
+        // to say that they implement fast formatting.
+        useFastFormat = (getClass() == SimpleDateFormat.class);
+    }
+
+    /* Initialize the fields we use to disambiguate ambiguous years. Separate
+     * so we can call it from readObject().
+     */
+    private void initializeDefaultCentury() {
+        calendar.setTime( new Date() );
+        calendar.add( Calendar.YEAR, -80 );
+        parseAmbiguousDatesAsAfter(calendar.getTime());
+    }
+
+    /* Define one-century window into which to disambiguate dates using
+     * two-digit years.
+     */
+    private void parseAmbiguousDatesAsAfter(Date startDate) {
+        defaultCenturyStart = startDate;
+        calendar.setTime(startDate);
+        defaultCenturyStartYear = calendar.get(Calendar.YEAR);
+    }
+
+    /**
+     * Sets the 100-year period 2-digit years will be interpreted as being in
+     * to begin on the date the user specifies.
+     * @param startDate During parsing, two digit years will be placed in the range
+     * <code>startDate</code> to <code>startDate + 100 years</code>.
+     * @stable ICU 2.0
+     */
+    public void set2DigitYearStart(Date startDate) {
+        parseAmbiguousDatesAsAfter(startDate);
+    }
+
+    /**
+     * Returns the beginning date of the 100-year period 2-digit years are interpreted
+     * as being within.
+     * @return the start of the 100-year period into which two digit years are
+     * parsed
+     * @stable ICU 2.0
+     */
+    public Date get2DigitYearStart() {
+        return defaultCenturyStart;
+    }
+
+    /**
+     * Overrides DateFormat.
+     * <p>Formats a date or time, which is the standard millis
+     * since January 1, 1970, 00:00:00 GMT.
+     * <p>Example: using the US locale:
+     * "yyyy.MM.dd G 'at' HH:mm:ss zzz" ->> 1996.07.10 AD at 15:08:56 PDT
+     * @param cal the calendar whose date-time value is to be formatted into a date-time string
+     * @param toAppendTo where the new date-time text is to be appended
+     * @param pos the formatting position. On input: an alignment field,
+     * if desired. On output: the offsets of the alignment field.
+     * @return the formatted date-time string.
+     * @see DateFormat
+     * @stable ICU 2.0
+     */
+    public StringBuffer format(Calendar cal, StringBuffer toAppendTo,
+                               FieldPosition pos) {
+        if (!useFastFormat) {
+            return slowFormat(cal, toAppendTo, pos);
+        }
+
+        // Initialize
+        pos.setBeginIndex(0);
+        pos.setEndIndex(0);
+
+        // Careful: For best performance, minimize the number of calls
+        // to StringBuffer.append() by consolidating appends when
+        // possible.
+
+        int j, n = pattern.length();
+        for (int i=0; i<n; ) {
+            char ch = pattern.charAt(i);
+            if ((ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z')) {
+                // ch is a date-time pattern character to be interpreted
+                // by subFormat(); count the number of times it is repeated
+                for (j=i+1; j<n && pattern.charAt(j)==ch; ++j) {}
+                subFormat(toAppendTo, ch, j-i, toAppendTo.length(), pos, cal);
+                i = j;
+            } else if (ch == '\'') {
+                // Handle an entire quoted string, included embedded
+                // doubled apostrophes (as in 'o''clock').
+                int start = i+1;
+                for (;;) {
+                    ++i; // i points after '
+                    if (i==n) { // trailing ' (pathological)
+                        break;
+                    }
+
+                    for (j=i; j<n && pattern.charAt(j)!='\''; ++j) {}
+                    // j points to next ' or EOS
+
+                    if (j==start) { // '' outside of quotes
+                        toAppendTo.append('\'');
+                        ++i;
+                        break;
+                    }
+
+                    // look ahead to detect '' within quotes
+                    int k = j, jj = j+1;
+                    if (jj<n && pattern.charAt(jj)=='\'') {
+                        ++k;
+                    }
+
+                    // append this run, and if there is '' within
+                    // quotes, append a trailing ' as well
+                    toAppendTo.append(pattern.substring(i, k));
+
+                    i = jj;
+
+                    if (k==j) {
+                        break;
+                    }
+                }
+            } else {
+                // Append unquoted literal characters
+                toAppendTo.append(ch);
+                ++i;
+            }
+        }
+
+        return toAppendTo;
+    }
+
+    private StringBuffer slowFormat(Calendar cal, StringBuffer toAppendTo,
+                                    FieldPosition pos) {
+        // Initialize
+        pos.setBeginIndex(0);
+        pos.setEndIndex(0);
+
+        boolean inQuote = false; // true when between single quotes
+        char prevCh = 0; // previous pattern character
+        int count = 0;  // number of time prevCh repeated
+        for (int i=0; i<pattern.length(); ++i) {
+            char ch = pattern.charAt(i);
+            // Use subFormat() to format a repeated pattern character
+            // when a different pattern or non-pattern character is seen
+            if (ch != prevCh && count > 0) {
+                toAppendTo.append(
+                                  subFormat(prevCh, count, toAppendTo.length(), pos, formatData, cal));
+                count = 0;
+            }
+            if (ch == '\'') {
+                // Consecutive single quotes are a single quote literal,
+                // either outside of quotes or between quotes
+                if ((i+1)<pattern.length() && pattern.charAt(i+1) == '\'') {
+                    toAppendTo.append('\'');
+                    ++i;
+                } else {
+                    inQuote = !inQuote;
+                }
+            } else if (!inQuote
+                       && (ch >= 'a' && ch <= 'z' || ch >= 'A' && ch <= 'Z')) {
+                // ch is a date-time pattern character to be interpreted
+                // by subFormat(); count the number of times it is repeated
+                prevCh = ch;
+                ++count;
+            }
+            else {
+                // Append quoted characters and unquoted non-pattern characters
+                toAppendTo.append(ch);
+            }
+        }
+        // Format the last item in the pattern, if any
+        if (count > 0) {
+            toAppendTo.append(
+                              subFormat(prevCh, count, toAppendTo.length(), pos, formatData, cal));
+        }
+        return toAppendTo;
+    }
+
+    // Map index into pattern character string to Calendar field number
+    private static final int[] PATTERN_INDEX_TO_CALENDAR_FIELD =
+    {
+        /*GyM*/ Calendar.ERA, Calendar.YEAR, Calendar.MONTH,
+        /*dkH*/ Calendar.DATE, Calendar.HOUR_OF_DAY, Calendar.HOUR_OF_DAY,
+        /*msS*/ Calendar.MINUTE, Calendar.SECOND, Calendar.MILLISECOND,
+        /*EDF*/ Calendar.DAY_OF_WEEK, Calendar.DAY_OF_YEAR, Calendar.DAY_OF_WEEK_IN_MONTH,
+        /*wWa*/ Calendar.WEEK_OF_YEAR, Calendar.WEEK_OF_MONTH, Calendar.AM_PM,
+        /*hKz*/ Calendar.HOUR, Calendar.HOUR, Calendar.ZONE_OFFSET,
+        /*Yeu*/ Calendar.YEAR_WOY, Calendar.DOW_LOCAL, Calendar.EXTENDED_YEAR,
+        /*gAZ*/ Calendar.JULIAN_DAY, Calendar.MILLISECONDS_IN_DAY, Calendar.ZONE_OFFSET,
+        /*v*/   Calendar.ZONE_OFFSET,
+        /*c*/   Calendar.DAY_OF_WEEK,
+        /*L*/   Calendar.MONTH
+    };
+
+    // Map index into pattern character string to DateFormat field number
+    private static final int[] PATTERN_INDEX_TO_DATE_FORMAT_FIELD = {
+        /*GyM*/ DateFormat.ERA_FIELD, DateFormat.YEAR_FIELD, DateFormat.MONTH_FIELD,
+        /*dkH*/ DateFormat.DATE_FIELD, DateFormat.HOUR_OF_DAY1_FIELD, DateFormat.HOUR_OF_DAY0_FIELD,
+        /*msS*/ DateFormat.MINUTE_FIELD, DateFormat.SECOND_FIELD, DateFormat.FRACTIONAL_SECOND_FIELD,
+        /*EDF*/ DateFormat.DAY_OF_WEEK_FIELD, DateFormat.DAY_OF_YEAR_FIELD, DateFormat.DAY_OF_WEEK_IN_MONTH_FIELD,
+        /*wWa*/ DateFormat.WEEK_OF_YEAR_FIELD, DateFormat.WEEK_OF_MONTH_FIELD, DateFormat.AM_PM_FIELD,
+        /*hKz*/ DateFormat.HOUR1_FIELD, DateFormat.HOUR0_FIELD, DateFormat.TIMEZONE_FIELD,
+        /*Yeu*/ DateFormat.YEAR_WOY_FIELD, DateFormat.DOW_LOCAL_FIELD, DateFormat.EXTENDED_YEAR_FIELD,
+        /*gAZ*/ DateFormat.JULIAN_DAY_FIELD, DateFormat.MILLISECONDS_IN_DAY_FIELD, DateFormat.TIMEZONE_RFC_FIELD,
+        /*v*/   DateFormat.TIMEZONE_GENERIC_FIELD, 
+        /*c*/   DateFormat.STANDALONE_DAY_FIELD,
+        /*L*/   DateFormat.STANDALONE_MONTH_FIELD,
+    };
+
+    /**
+     * Format a single field, given its pattern character.  Subclasses may
+     * override this method in order to modify or add formatting
+     * capabilities.
+     * @param ch the pattern character
+     * @param count the number of times ch is repeated in the pattern
+     * @param beginOffset the offset of the output string at the start of
+     * this field; used to set pos when appropriate
+     * @param pos receives the position of a field, when appropriate
+     * @param formatData the symbols for this formatter
+     * @stable ICU 2.0
+     */
+    protected String subFormat(char ch, int count, int beginOffset,
+                               FieldPosition pos, DateFormatSymbols formatData,
+                               Calendar cal)
+        throws IllegalArgumentException
+    {
+        // Note: formatData is ignored
+        StringBuffer buf = new StringBuffer();
+        subFormat(buf, ch, count, beginOffset, pos, cal);
+        return buf.toString();
+    }
+
+    /**
+     * Format a single field; useFastFormat variant.  Reuses a
+     * StringBuffer for results instead of creating a String on the
+     * heap for each call.
+     *
+     * NOTE We don't really need the beginOffset parameter, EXCEPT for
+     * the need to support the slow subFormat variant (above) which
+     * has to pass it in to us.
+     *
+     * TODO make this API public
+     *
+     * @internal
+     */
+    protected void subFormat(StringBuffer buf,
+                             char ch, int count, int beginOffset,
+                             FieldPosition pos,
+                             Calendar cal) {
+        final int maxIntCount = Integer.MAX_VALUE;
+        final int bufstart = buf.length();
+
+        final int patternCharIndex = DateFormatSymbols.patternChars.indexOf(ch);
+        if (patternCharIndex == -1) {
+            throw new IllegalArgumentException("Illegal pattern character " +
+                                               "'" + ch + "' in \"" +
+                                               new String(pattern) + '"');
+        }
+
+        final int field = PATTERN_INDEX_TO_CALENDAR_FIELD[patternCharIndex];
+        int value = cal.get(field);
+
+        switch (patternCharIndex) {
+        case 0: // 'G' - ERA
+            if (count >= 4)
+               buf.append(formatData.eraNames[value]);
+            else
+               buf.append(formatData.eras[value]);
+            break;
+        case 1: // 'y' - YEAR
+            /* According to the specification, if the number of pattern letters ('y') is 2,
+             * the year is truncated to 2 digits; otherwise it is interpreted as a number.
+             * But the original code process 'y', 'yy', 'yyy' in the same way. and process
+             * patterns with 4 or more than 4 'y' characters in the same way.
+             * So I change the codes to meet the specification. [Richard/GCl]
+             */
+            if (count == 2)
+                zeroPaddingNumber(buf, value, 2, 2); // clip 1996 to 96
+            else //count = 1 or count > 2
+                zeroPaddingNumber(buf, value, count, maxIntCount);
+            break;
+        case 2: // 'M' - MONTH
+            if (count == 5) 
+                buf.append(formatData.narrowMonths[value]);
+            else if (count == 4)
+                buf.append(formatData.months[value]);
+            else if (count == 3)
+                buf.append(formatData.shortMonths[value]);
+            else
+                zeroPaddingNumber(buf, value+1, count, maxIntCount);
+            break;
+        case 4: // 'k' - HOUR_OF_DAY (1..24)
+            if (value == 0)
+                zeroPaddingNumber(buf,
+                                  cal.getMaximum(Calendar.HOUR_OF_DAY)+1,
+                                  count, maxIntCount);
+            else
+                zeroPaddingNumber(buf, value, count, maxIntCount);
+            break;
+        case 8: // 'S' - FRACTIONAL_SECOND
+            // Fractional seconds left-justify
+            {
+                numberFormat.setMinimumIntegerDigits(Math.min(3, count));
+                numberFormat.setMaximumIntegerDigits(maxIntCount);
+                if (count == 1) {
+                    value = (value + 50) / 100;
+                } else if (count == 2) {
+                    value = (value + 5) / 10;
+                }
+                FieldPosition p = new FieldPosition(-1);
+                numberFormat.format((long) value, buf, p);
+                if (count > 3) {
+                    numberFormat.setMinimumIntegerDigits(count - 3);
+                    numberFormat.format(0L, buf, p);
+                }
+            }
+            break;
+        case 9: // 'E' - DAY_OF_WEEK
+            if (count >= 4)
+                buf.append(formatData.weekdays[value]);
+            else // count < 4, use abbreviated form if exists
+                buf.append(formatData.shortWeekdays[value]);
+            break;
+        case 14: // 'a' - AM_PM
+            buf.append(formatData.ampms[value]);
+            break;
+        case 15: // 'h' - HOUR (1..12)
+            if (value == 0)
+                zeroPaddingNumber(buf,
+                                  cal.getLeastMaximum(Calendar.HOUR)+1,
+                                  count, maxIntCount);
+            else
+                zeroPaddingNumber(buf, value, count, maxIntCount);
+            break;
+        case 17: // 'z' - ZONE_OFFSET
+        case 24: // 'v' - TIMEZONE_GENERIC 
+            {
+                String res = null;
+                boolean isGeneric = patternCharIndex == 24;
+
+                String tzid = ZoneMeta.getCanonicalID(cal.getTimeZone().getID());
+
+                String[] zs = null;
+                if (tzid !=null && formatDataIsValid) {
+                    int zoneIndex = formatData.getZoneIndex(tzid);
+                    if (zoneIndex != -1) {
+                        zs = formatData.zoneStrings[zoneIndex];
+                    }
+                }
+                // The zoneStrings have the following format:
+                // 0: time zone ID
+                // 1: long standard
+                // 2: short standard
+                // 3: long daylight
+                // 4: short daylight
+                // 5: city         OR   5: long generic    OR   5: city
+                //                      6: short generic        6: long generic 
+                //                                              7: short generic
+                String city = null;
+                if (zs != null) {
+                    if (isGeneric) {
+                        int ix = count < 4 ? 6 : 5;
+                        if (zs.length > 7) {
+                          ix += 1;
+                        }
+                        if (zs.length > 6) res = getZoneArrayValue(zs,ix);
+                        if (zs.length == 6 || zs.length == 8) {
+                            city = getZoneArrayValue(zs, 5);
+                        } 
+                    } else {
+                        int ix = count < 4 ? 2 : 1;
+                        if (cal.get(Calendar.DST_OFFSET) != 0) {
+                            ix += 2;
+                        }
+                        res = getZoneArrayValue(zs, ix);
+                    }
+                }
+
+                if (res == null || res.length() == 0) {
+                    // note, tr35 does not describe the special case for 'no country' 
+                    // implemented below, this is from discussion with Mark
+                    if (tzid == null || !isGeneric || ZoneMeta.getCanonicalCountry(tzid) == null) {
+                        long offset = cal.get(Calendar.ZONE_OFFSET) +
+                            cal.get(Calendar.DST_OFFSET);
+                        res = ZoneMeta.displayGMT(offset, locale);
+                    } else { 
+                        res = ZoneMeta.displayFallback(tzid, city, locale);
+                    }
+                }
+
+                buf.append(res);
+            } break;
+        case 23: // 'Z' - TIMEZONE_RFC
+            {
+                if (count < 4) {
+                    // 'short' (standard Java) form, must use ASCII digits
+                    long val= (cal.get(Calendar.ZONE_OFFSET) +
+                           cal.get(Calendar.DST_OFFSET)) / millisPerMinute;
+                    char sign = '+';
+                    if (val < 0) {
+                        val = -val;
+                        sign = '-';
+                    }
+                    val = (val / 3) * 5 + (val % 60); // minutes => KKmm
+                    buf.append(sign);
+                    buf.append(new DecimalFormat("0000").format(val));
+                } else {
+                    // long form, localized GMT pattern
+                    // not in 3.4 locale data, need to add, so use same default as for general time zone names
+                    long val = cal.get(Calendar.ZONE_OFFSET) +
+                        cal.get(Calendar.DST_OFFSET);
+                    buf.append(ZoneMeta.displayGMT(val, locale));
+                }
+            }
+            break;
+        case 25: // 'c' - STANDALONE DAY
+            if (count == 5) 
+                buf.append(formatData.standaloneNarrowWeekdays[value]);
+            else if (count == 4)
+                buf.append(formatData.standaloneWeekdays[value]);
+            else if (count == 3)
+                buf.append(formatData.standaloneShortWeekdays[value]);
+            else
+                zeroPaddingNumber(buf, value, 1, maxIntCount);
+            break;
+        case 26: // 'L' - STANDALONE MONTH
+            if (count == 5) 
+                buf.append(formatData.standaloneNarrowMonths[value]);
+            else if (count == 4)
+                buf.append(formatData.standaloneMonths[value]);
+            else if (count == 3)
+                buf.append(formatData.standaloneShortMonths[value]);
+            else
+                zeroPaddingNumber(buf, value+1, count, maxIntCount);
+            break;
+        default:
+            // case 3: // 'd' - DATE
+            // case 5: // 'H' - HOUR_OF_DAY (0..23)
+            // case 6: // 'm' - MINUTE
+            // case 7: // 's' - SECOND
+            // case 10: // 'D' - DAY_OF_YEAR
+            // case 11: // 'F' - DAY_OF_WEEK_IN_MONTH
+            // case 12: // 'w' - WEEK_OF_YEAR
+            // case 13: // 'W' - WEEK_OF_MONTH
+            // case 16: // 'K' - HOUR (0..11)
+            // case 18: // 'Y' - YEAR_WOY
+            // case 19: // 'e' - DOW_LOCAL
+            // case 20: // 'u' - EXTENDED_YEAR
+            // case 21: // 'g' - JULIAN_DAY
+            // case 22: // 'A' - MILLISECONDS_IN_DAY
+
+            zeroPaddingNumber(buf, value, count, maxIntCount);
+            break;
+        } // switch (patternCharIndex)
+
+        // Set the FieldPosition (for the first occurence only)
+        if (pos.getBeginIndex() == pos.getEndIndex() &&
+            pos.getField() == PATTERN_INDEX_TO_DATE_FORMAT_FIELD[patternCharIndex]) {
+            pos.setBeginIndex(beginOffset);
+            pos.setEndIndex(beginOffset + buf.length() - bufstart);
+        }
+    }
+
+    /**
+     * Internal method. Returns null if the value of an array is empty, or if the
+     * index is out of bounds
+     */
+    private String getZoneArrayValue(String[] zs, int ix) {
+        if (ix >= 0 && ix < zs.length) {
+            String result = zs[ix];
+            if (result != null && result.length() != 0) {
+                return result;
+            }
+        }
+        return null;
+    }
+
+    /**
+     * Internal high-speed method.  Reuses a StringBuffer for results
+     * instead of creating a String on the heap for each call.
+     * @internal
+     */
+    protected void zeroPaddingNumber(StringBuffer buf, int value,
+                                     int minDigits, int maxDigits) {
+        FieldPosition pos = new FieldPosition(-1);
+        numberFormat.setMinimumIntegerDigits(minDigits);
+        numberFormat.setMaximumIntegerDigits(maxDigits);
+        numberFormat.format(value, buf, pos);
+    }
+
+    /**
+     * Formats a number with the specified minimum and maximum number of digits.
+     * @stable ICU 2.0
+     */
+    protected String zeroPaddingNumber(long value, int minDigits, int maxDigits)
+    {
+        numberFormat.setMinimumIntegerDigits(minDigits);
+        numberFormat.setMaximumIntegerDigits(maxDigits);
+        return numberFormat.format(value);
+    }
+
+    /**
+     * Format characters that indicate numeric fields.  The character
+     * at index 0 is treated specially.
+     */
+    private static final String NUMERIC_FORMAT_CHARS = "MyudhHmsSDFwWkK";
+
+    /**
+     * Return true if the given format character, occuring count
+     * times, represents a numeric field.
+     */
+    private static final boolean isNumeric(char formatChar, int count) {
+        int i = NUMERIC_FORMAT_CHARS.indexOf(formatChar);
+        return (i > 0 || (i == 0 && count < 3));
+    }
+
+    /**
+     * Overrides DateFormat
+     * @see DateFormat
+     * @stable ICU 2.0
+     */
+    public void parse(String text, Calendar cal, ParsePosition parsePos)
+    {
+        int pos = parsePos.getIndex();
+        int start = pos;
+        boolean[] ambiguousYear = { false };
+        int count = 0;
+
+        // hack, clear parsedTimeZone
+        parsedTimeZone = null;
+
+        // For parsing abutting numeric fields. 'abutPat' is the
+        // offset into 'pattern' of the first of 2 or more abutting
+        // numeric fields.  'abutStart' is the offset into 'text'
+        // where parsing the fields begins. 'abutPass' starts off as 0
+        // and increments each time we try to parse the fields.
+        int abutPat = -1; // If >=0, we are in a run of abutting numeric fields
+        int abutStart = 0;
+        int abutPass = 0;
+        boolean inQuote = false;
+
+        for (int i=0; i<pattern.length(); ++i) {
+            char ch = pattern.charAt(i);
+
+            // Handle alphabetic field characters.
+            if (!inQuote && (ch >= 'A' && ch <= 'Z' || ch >= 'a' && ch <= 'z')) {
+                int fieldPat = i;
+
+                // Count the length of this field specifier
+                count = 1;
+                while ((i+1)<pattern.length() &&
+                       pattern.charAt(i+1) == ch) {
+                    ++count;
+                    ++i;
+                }
+
+                if (isNumeric(ch, count)) {
+                    if (abutPat < 0) {
+                        // Determine if there is an abutting numeric field.  For
+                        // most fields we can just look at the next characters,
+                        // but the 'm' field is either numeric or text,
+                        // depending on the count, so we have to look ahead for
+                        // that field.
+                        if ((i+1)<pattern.length()) {
+                            boolean abutting;
+                            char nextCh = pattern.charAt(i+1);
+                            int k = NUMERIC_FORMAT_CHARS.indexOf(nextCh);
+                            if (k == 0) {
+                                int j = i+2;
+                                while (j<pattern.length() &&
+                                       pattern.charAt(j) == nextCh) {
+                                    ++j;
+                                }
+                                abutting = (j-i) < 4; // nextCount < 3
+                            } else {
+                                abutting = k > 0;
+                            }
+
+                            // Record the start of a set of abutting numeric
+                            // fields.
+                            if (abutting) {
+                                abutPat = fieldPat;
+                                abutStart = pos;
+                                abutPass = 0;
+                            }
+                        }
+                    }
+                } else {
+                    abutPat = -1; // End of any abutting fields
+                }
+
+                // Handle fields within a run of abutting numeric fields.  Take
+                // the pattern "HHmmss" as an example. We will try to parse
+                // 2/2/2 characters of the input text, then if that fails,
+                // 1/2/2.  We only adjust the width of the leftmost field; the
+                // others remain fixed.  This allows "123456" => 12:34:56, but
+                // "12345" => 1:23:45.  Likewise, for the pattern "yyyyMMdd" we
+                // try 4/2/2, 3/2/2, 2/2/2, and finally 1/2/2.
+                if (abutPat >= 0) {
+                    // If we are at the start of a run of abutting fields, then
+                    // shorten this field in each pass.  If we can't shorten
+                    // this field any more, then the parse of this set of
+                    // abutting numeric fields has failed.
+                    if (fieldPat == abutPat) {
+                        count -= abutPass++;
+                        if (count == 0) {
+                            parsePos.setIndex(start);
+                            parsePos.setErrorIndex(pos);
+                            return;
+                        }
+                    }
+
+                    pos = subParse(text, pos, ch, count,
+                                   true, false, ambiguousYear, cal);
+
+                    // If the parse fails anywhere in the run, back up to the
+                    // start of the run and retry.
+                    if (pos < 0) {
+                        i = abutPat - 1;
+                        pos = abutStart;
+                        continue;
+                    }
+                }
+
+                // Handle non-numeric fields and non-abutting numeric
+                // fields.
+                else {
+                    int s = pos;
+                    pos = subParse(text, pos, ch, count,
+                                   false, true, ambiguousYear, cal);
+
+                    if (pos < 0) {
+                        parsePos.setErrorIndex(s);
+                        parsePos.setIndex(start);
+                        return;
+                    }
+                }
+            }
+
+            // Handle literal pattern characters.  These are any
+            // quoted characters and non-alphabetic unquoted
+            // characters.
+            else {
+
+                abutPat = -1; // End of any abutting fields
+
+                // Handle quotes.  Two consecutive quotes is a quote
+                // literal, inside or outside of quotes.  Otherwise a
+                // quote indicates entry or exit from a quoted region.
+                if (ch == '\'') {
+                    // Match a quote literal '' within OR outside of quotes
+                    if ((i+1)<pattern.length() && pattern.charAt(i+1)==ch) {
+                        ++i; // Skip over doubled quote
+                        // Fall through and treat quote as a literal
+                    } else {
+                        // Enter or exit quoted region
+                        inQuote = !inQuote;
+                        continue;
+                    }
+                }
+
+                // A run of white space in the pattern matches a run
+                // of white space in the input text.
+                if (UCharacterProperty.isRuleWhiteSpace(ch)) {
+                    // Advance over run in pattern
+                    while ((i+1)<pattern.length() &&
+                           UCharacterProperty.isRuleWhiteSpace(pattern.charAt(i+1))) {
+                        ++i;
+                    }
+
+                    // Advance over run in input text
+                    int s = pos;
+                    while (pos<text.length() &&
+                           UCharacter.isUWhiteSpace(text.charAt(pos))) {
+                        ++pos;
+                    }
+
+                    // Must see at least one white space char in input
+                    if (pos > s) {
+                        continue;
+                    }
+                } else if (pos<text.length() && text.charAt(pos)==ch) {
+                    // Match a literal
+                    ++pos;
+                    continue;
+                }
+
+                // We fall through to this point if the match fails
+                parsePos.setIndex(start);
+                parsePos.setErrorIndex(pos);
+                return;
+            }
+        }
+
+        // At this point the fields of Calendar have been set.  Calendar
+        // will fill in default values for missing fields when the time
+        // is computed.
+
+        parsePos.setIndex(pos);
+
+        // This part is a problem:  When we call parsedDate.after, we compute the time.
+        // Take the date April 3 2004 at 2:30 am.  When this is first set up, the year
+        // will be wrong if we're parsing a 2-digit year pattern.  It will be 1904.
+        // April 3 1904 is a Sunday (unlike 2004) so it is the DST onset day.  2:30 am
+        // is therefore an "impossible" time, since the time goes from 1:59 to 3:00 am
+        // on that day.  It is therefore parsed out to fields as 3:30 am.  Then we
+        // add 100 years, and get April 3 2004 at 3:30 am.  Note that April 3 2004 is
+        // a Saturday, so it can have a 2:30 am -- and it should. [LIU]
+        /*
+          Date parsedDate = cal.getTime();
+          if( ambiguousYear[0] && !parsedDate.after(defaultCenturyStart) ) {
+          cal.add(Calendar.YEAR, 100);
+          parsedDate = cal.getTime();
+          }
+        */
+        // Because of the above condition, save off the fields in case we need to readjust.
+        // The procedure we use here is not particularly efficient, but there is no other
+        // way to do this given the API restrictions present in Calendar.  We minimize
+        // inefficiency by only performing this computation when it might apply, that is,
+        // when the two-digit year is equal to the start year, and thus might fall at the
+        // front or the back of the default century.  This only works because we adjust
+        // the year correctly to start with in other cases -- see subParse().
+        try {
+            if (ambiguousYear[0] || parsedTimeZone != null) {
+                // We need a copy of the fields, and we need to avoid triggering a call to
+                // complete(), which will recalculate the fields.  Since we can't access
+                // the fields[] array in Calendar, we clone the entire object.  This will
+                // stop working if Calendar.clone() is ever rewritten to call complete().
+                Calendar copy = (Calendar)cal.clone();
+                if (ambiguousYear[0]) { // the two-digit year == the default start year
+                    Date parsedDate = copy.getTime();
+                    if (parsedDate.before(defaultCenturyStart)) {
+                        // We can't use add here because that does a complete() first.
+                        cal.set(Calendar.YEAR, defaultCenturyStartYear + 100);
+                    }
+                }
+
+                if (parsedTimeZone != null) {
+                    TimeZone tz = parsedTimeZone;
+
+                    // the calendar represents the parse as gmt time
+                    // we need to turn this into local time, so we add the raw offset
+                    // then we ask the timezone to handle this local time
+                    int[] offsets = new int[2];
+                    tz.getOffset(copy.getTimeInMillis()+tz.getRawOffset(), true, offsets);
+                    cal.set(Calendar.ZONE_OFFSET, offsets[0]);
+                    cal.set(Calendar.DST_OFFSET, offsets[1]);
+                }
+            }
+        }
+        // An IllegalArgumentException will be thrown by Calendar.getTime()
+        // if any fields are out of range, e.g., MONTH == 17.
+        catch (IllegalArgumentException e) {
+            parsePos.setErrorIndex(pos);
+            parsePos.setIndex(start);
+        }
+    }
+
+    /**
+     * Attempt to match the text at a given position against an array of
+     * strings.  Since multiple strings in the array may match (for
+     * example, if the array contains "a", "ab", and "abc", all will match
+     * the input string "abcd") the longest match is returned.  As a side
+     * effect, the given field of <code>cal</code> is set to the index
+     * of the best match, if there is one.
+     * @param text the time text being parsed.
+     * @param start where to start parsing.
+     * @param field the date field being parsed.
+     * @param data the string array to parsed.
+     * @return the new start position if matching succeeded; a negative
+     * number indicating matching failure, otherwise.  As a side effect,
+     * sets the <code>cal</code> field <code>field</code> to the index
+     * of the best match, if matching succeeded.
+     * @stable ICU 2.0
+     */
+    protected int matchString(String text, int start, int field, String[] data, Calendar cal)
+    {
+        int i = 0;
+        int count = data.length;
+
+        if (field == Calendar.DAY_OF_WEEK) i = 1;
+
+        // There may be multiple strings in the data[] array which begin with
+        // the same prefix (e.g., Cerven and Cervenec (June and July) in Czech).
+        // We keep track of the longest match, and return that.  Note that this
+        // unfortunately requires us to test all array elements.
+        int bestMatchLength = 0, bestMatch = -1;
+        for (; i<count; ++i)
+            {
+                int length = data[i].length();
+                // Always compare if we have no match yet; otherwise only compare
+                // against potentially better matches (longer strings).
+                if (length > bestMatchLength &&
+                    text.regionMatches(true, start, data[i], 0, length))
+                    {
+                        bestMatch = i;
+                        bestMatchLength = length;
+                    }
+            }
+        if (bestMatch >= 0)
+            {
+                cal.set(field, bestMatch);
+                return start + bestMatchLength;
+            }
+        return -start;
+    }
+
+    private int matchZoneString(String text, int start, int zoneIndex) {
+        String[] zs = formatData.zoneStrings[zoneIndex];
+        for (int j = 1; j < zs.length; ++j) {
+            if (j == 5 && (zs.length ==6 || zs.length >= 8)) { // skip city name if we have it
+                continue;
+            }
+            if (zs[j].length() == 0) continue; // SKIP over empty zone strings
+            // Checking long and short zones [1 & 2],
+            // and long and short daylight [3 & 4],
+            // and long and short generic [6 & 7]
+            if (text.regionMatches(true, start, zs[j], 0, zs[j].length())) {
+                return j;
+            }
+        }
+        return -1;
+    }
+
+    /**
+     * find time zone 'text' matched zoneStrings and set cal
+     */
+    private int subParseZoneString(String text, int start, Calendar cal) {
+        // At this point, check for named time zones by looking through
+        // the locale data from the DateFormatZoneData strings.
+        // Want to be able to parse both short and long forms.
+        int zoneIndex =
+            formatData.getZoneIndex (getTimeZone().getID());
+
+        TimeZone tz = null;
+        int j = 0, i = 0;
+        if (zoneIndex != -1) {
+            j = matchZoneString(text, start, zoneIndex);
+            if (j > 0) {
+                tz = TimeZone.getTimeZone(formatData.zoneStrings[zoneIndex][0]);
+                i = zoneIndex;
+            }
+        }
+
+        if (tz == null) {
+            zoneIndex =
+                formatData.getZoneIndex (TimeZone.getDefault().getID());
+            if (zoneIndex != -1) {
+                j = matchZoneString(text, start, zoneIndex);
+                if (j > 0) {
+                    tz = TimeZone.getTimeZone(formatData.zoneStrings[zoneIndex][0]);
+                    i = zoneIndex;
+                }
+            }
+        }
+
+        if (tz == null) {
+            for (i = 0; i < formatData.zoneStrings.length; i++) {
+                j = matchZoneString(text, start, i);
+                if (j > 0) {
+                    tz = TimeZone.getTimeZone(formatData.zoneStrings[i][0]);
+                    break;
+                }
+            }
+        }
+
+        if (tz != null) { // Matched any ?
+            // always set zone offset, needed to get correct hour in wall time
+            // when checking daylight savings
+            cal.set(Calendar.ZONE_OFFSET, tz.getRawOffset());
+            if (j < 3) {
+                // standard time
+                cal.set(Calendar.DST_OFFSET, 0);
+            } else if (j < 5) {
+                // daylight time
+                cal.set(Calendar.DST_OFFSET, tz.getDSTSavings());
+            } else { 
+                // either standard or daylight
+                // need to finish getting the date, then compute dst offset as appropriate
+
+                // !!! hack for api compatibility, can't modify subParse(...) so can't
+                // pass this back any other way.
+                parsedTimeZone = tz;
+            }
+            return (start + formatData.zoneStrings[i][j].length());
+        }
+        return 0;
+    }
+
+    /**
+     * Protected method that converts one field of the input string into a
+     * numeric field value in <code>cal</code>.  Returns -start (for
+     * ParsePosition) if failed.  Subclasses may override this method to
+     * modify or add parsing capabilities.
+     * @param text the time text to be parsed.
+     * @param start where to start parsing.
+     * @param ch the pattern character for the date field text to be parsed.
+     * @param count the count of a pattern character.
+     * @param obeyCount if true, then the next field directly abuts this one,
+     * and we should use the count to know when to stop parsing.
+     * @param ambiguousYear return parameter; upon return, if ambiguousYear[0]
+     * is true, then a two-digit year was parsed and may need to be readjusted.
+     * @return the new start position if matching succeeded; a negative
+     * number indicating matching failure, otherwise.  As a side effect,
+     * set the appropriate field of <code>cal</code> with the parsed
+     * value.
+     * @stable ICU 2.0
+     */
+    protected int subParse(String text, int start, char ch, int count,
+                           boolean obeyCount, boolean allowNegative,
+                           boolean[] ambiguousYear, Calendar cal)
+    {
+        Number number = null;
+        int value = 0;
+        int i;
+        ParsePosition pos = new ParsePosition(0);
+        int patternCharIndex = DateFormatSymbols.patternChars.indexOf(ch);
+
+        if (patternCharIndex == -1) {
+            return -start;
+        }
+
+        int field = PATTERN_INDEX_TO_CALENDAR_FIELD[patternCharIndex];
+
+        // If there are any spaces here, skip over them.  If we hit the end
+        // of the string, then fail.
+        for (;;) {
+            if (start >= text.length()) {
+                return -start;
+            }
+            int c = UTF16.charAt(text, start);
+            if (!UCharacter.isUWhiteSpace(c)) {
+                break;
+            }
+            start += UTF16.getCharCount(c);
+        }
+        pos.setIndex(start);
+
+        // We handle a few special cases here where we need to parse
+        // a number value.  We handle further, more generic cases below.  We need
+        // to handle some of them here because some fields require extra processing on
+        // the parsed value.
+        if (patternCharIndex == 4 /*HOUR_OF_DAY1_FIELD*/ ||
+            patternCharIndex == 15 /*HOUR1_FIELD*/ ||
+            (patternCharIndex == 2 /*MONTH_FIELD*/ && count <= 2) ||
+            patternCharIndex == 1 ||
+            patternCharIndex == 8)
+            {
+                // It would be good to unify this with the obeyCount logic below,
+                // but that's going to be difficult.
+                if (obeyCount)
+                    {
+                        if ((start+count) > text.length()) return -start;
+                        number = parseInt(text.substring(0, start+count), pos, allowNegative);
+                    }
+                else number = parseInt(text, pos, allowNegative);
+                if (number == null)
+                    return -start;
+                value = number.intValue();
+            }
+
+        switch (patternCharIndex)
+            {
+            case 0: // 'G' - ERA
+                return matchString(text, start, Calendar.ERA, formatData.eras, cal);
+            case 1: // 'y' - YEAR
+                // If there are 3 or more YEAR pattern characters, this indicates
+                // that the year value is to be treated literally, without any
+                // two-digit year adjustments (e.g., from "01" to 2001).  Otherwise
+                // we made adjustments to place the 2-digit year in the proper
+                // century, for parsed strings from "00" to "99".  Any other string
+                // is treated literally:  "2250", "-1", "1", "002".
+                /* 'yy' is the only special case, 'y' is interpreted as number. [Richard/GCL]*/
+                if (count == 2 && (pos.getIndex() - start) == 2
+                    && Character.isDigit(text.charAt(start))
+                    && Character.isDigit(text.charAt(start+1)))
+                    {
+                        // Assume for example that the defaultCenturyStart is 6/18/1903.
+                        // This means that two-digit years will be forced into the range
+                        // 6/18/1903 to 6/17/2003.  As a result, years 00, 01, and 02
+                        // correspond to 2000, 2001, and 2002.  Years 04, 05, etc. correspond
+                        // to 1904, 1905, etc.  If the year is 03, then it is 2003 if the
+                        // other fields specify a date before 6/18, or 1903 if they specify a
+                        // date afterwards.  As a result, 03 is an ambiguous year.  All other
+                        // two-digit years are unambiguous.
+                        int ambiguousTwoDigitYear = defaultCenturyStartYear % 100;
+                        ambiguousYear[0] = value == ambiguousTwoDigitYear;
+                        value += (defaultCenturyStartYear/100)*100 +
+                            (value < ambiguousTwoDigitYear ? 100 : 0);
+                    }
+                cal.set(Calendar.YEAR, value);
+                return pos.getIndex();
+            case 2: // 'M' - MONTH
+                if (count <= 2) // i.e., M or MM.
+                    {
+                        // Don't want to parse the month if it is a string
+                        // while pattern uses numeric style: M or MM.
+                        // [We computed 'value' above.]
+                        cal.set(Calendar.MONTH, value - 1);
+                        return pos.getIndex();
+                    }
+                else
+                    {
+                        // count >= 3 // i.e., MMM or MMMM
+                        // Want to be able to parse both short and long forms.
+                        // Try count == 4 first:
+                        int newStart = matchString(text, start, Calendar.MONTH,
+                                                   formatData.months, cal);
+                        if (newStart > 0) {
+                            return newStart;
+                        } else { // count == 4 failed, now try count == 3
+                            return matchString(text, start, Calendar.MONTH,
+                                               formatData.shortMonths, cal);
+                        }
+                    }
+            case 4: // 'k' - HOUR_OF_DAY (1..24)
+                // [We computed 'value' above.]
+                if (value == cal.getMaximum(Calendar.HOUR_OF_DAY)+1) value = 0;
+                cal.set(Calendar.HOUR_OF_DAY, value);
+                return pos.getIndex();
+            case 8: // 'S' - FRACTIONAL_SECOND
+                // Fractional seconds left-justify
+                i = pos.getIndex() - start;
+                if (i < 3) {
+                    while (i < 3) {
+                        value *= 10;
+                        i++;
+                    }
+                } else {
+                    int a = 1;
+                    while (i > 3) {
+                        a *= 10;
+                        i--;
+                    }
+                    value = (value + (a>>1)) / a;
+                }
+                cal.set(Calendar.MILLISECOND, value);
+                return pos.getIndex();
+            case 9: { // 'E' - DAY_OF_WEEK
+                // Want to be able to parse both short and long forms.
+                // Try count == 4 (DDDD) first:
+                int newStart = matchString(text, start, Calendar.DAY_OF_WEEK,
+                                           formatData.weekdays, cal);
+                if (newStart > 0) {
+                    return newStart;
+                } else { // DDDD failed, now try DDD
+                    return matchString(text, start, Calendar.DAY_OF_WEEK,
+                                       formatData.shortWeekdays, cal);
+                }
+            }
+            case 14: // 'a' - AM_PM
+                return matchString(text, start, Calendar.AM_PM, formatData.ampms, cal);
+            case 15: // 'h' - HOUR (1..12)
+                // [We computed 'value' above.]
+                if (value == cal.getLeastMaximum(Calendar.HOUR)+1) value = 0;
+                cal.set(Calendar.HOUR, value);
+                return pos.getIndex();
+            case 17: // 'z' - ZONE_OFFSET
+            case 23: // 'Z' - TIMEZONE_RFC
+            case 24: // 'v' - TIMEZONE_GENERIC
+                // First try to parse generic forms such as GMT-07:00. Do this first
+                // in case localized DateFormatZoneData contains the string "GMT"
+                // for a zone; in that case, we don't want to match the first three
+                // characters of GMT+/-HH:MM etc.
+                {
+                    int sign = 0;
+                    int offset;
+
+                    // For time zones that have no known names, look for strings
+                    // of the form:
+                    //    GMT[+-]hours:minutes or
+                    //    GMT[+-]hhmm or
+                    //    GMT.
+                    if ((text.length() - start) >= GMT.length() &&
+                        text.regionMatches(true, start, GMT, 0, GMT.length()))
+                        {
+                            cal.set(Calendar.DST_OFFSET, 0);
+
+                            pos.setIndex(start + GMT.length());
+
+                            try { // try-catch for "GMT" only time zone string
+                                switch (text.charAt(pos.getIndex())) {
+                                case '+':
+                                    sign = 1;
+                                    break;
+                                case '-':
+                                    sign = -1;
+                                    break;
+                                }
+                            } catch(StringIndexOutOfBoundsException e) {
+                            }
+                            if (sign == 0) {
+                                cal.set(Calendar.ZONE_OFFSET, 0 );
+                                return pos.getIndex();
+                            }
+
+                            // Look for hours:minutes or hhmm.
+                            pos.setIndex(pos.getIndex() + 1);
+                            int st = pos.getIndex();
+                            Number tzNumber = numberFormat.parse(text, pos);
+                            if( tzNumber == null) {
+                                return -start;
+                            }
+                            if( pos.getIndex() < text.length() &&
+                                text.charAt(pos.getIndex()) == ':' ) {
+
+                                // This is the hours:minutes case
+                                offset = tzNumber.intValue() * 60;
+                                pos.setIndex(pos.getIndex() + 1);
+                                tzNumber = numberFormat.parse(text, pos);
+                                if( tzNumber == null) {
+                                    return -start;
+                                }
+                                offset += tzNumber.intValue();
+                            }
+                            else {
+                                // This is the hhmm case.
+                                offset = tzNumber.intValue();
+                                // Assume "-23".."+23" refers to hours.
+                                if( offset < 24 && (pos.getIndex() - st) <= 2)
+                                    offset *= 60;
+                                else
+                                    // todo: this looks questionable, should have more error checking
+                                    offset = offset % 100 + offset / 100 * 60;
+                            }
+
+                            // Fall through for final processing below of 'offset' and 'sign'.
+                        }
+                    else {
+                        // At this point, check for named time zones by looking through
+                        // the locale data from the DateFormatZoneData strings.
+                        // Want to be able to parse both short and long forms.
+                        i = subParseZoneString(text, start, cal);
+                        if (i != 0)
+                            return i;
+
+                        // As a last resort, look for numeric timezones of the form
+                        // [+-]hhmm as specified by RFC 822.  This code is actually
+                        // a little more permissive than RFC 822.  It will try to do
+                        // its best with numbers that aren't strictly 4 digits long.
+                        DecimalFormat fmt = new DecimalFormat("+####;-####");
+                        fmt.setParseIntegerOnly(true);
+                        Number tzNumber = fmt.parse( text, pos );
+                        if( tzNumber == null) {
+                            return -start;   // Wasn't actually a number.
+                        }
+                        offset = tzNumber.intValue();
+                        sign = 1;
+                        if( offset < 0 ) {
+                            sign = -1;
+                            offset = -offset;
+                        }
+                        // Assume "-23".."+23" refers to hours. Length includes sign.
+                        if( offset < 24 && (pos.getIndex() - start) <= 3)
+                            offset = offset * 60;
+                        else
+                            offset = offset % 100 + offset / 100 * 60;
+
+                        // Fall through for final processing below of 'offset' and 'sign'.
+                    }
+
+                    // Do the final processing for both of the above cases.  We only
+                    // arrive here if the form GMT+/-... or an RFC 822 form was seen.
+
+                    // assert (sign != 0) : sign; // enable when guaranteed JDK >= 1.4
+                    offset *= millisPerMinute * sign;
+
+                    if (cal.getTimeZone().useDaylightTime())
+                        {
+                            cal.set(Calendar.DST_OFFSET, millisPerHour);
+                            offset -= millisPerHour;
+                        }
+                    cal.set(Calendar.ZONE_OFFSET, offset);
+
+                    return pos.getIndex();
+                }
+
+            default:
+                // case 3: // 'd' - DATE
+                // case 5: // 'H' - HOUR_OF_DAY (0..23)
+                // case 6: // 'm' - MINUTE
+                // case 7: // 's' - SECOND
+                // case 10: // 'D' - DAY_OF_YEAR
+                // case 11: // 'F' - DAY_OF_WEEK_IN_MONTH
+                // case 12: // 'w' - WEEK_OF_YEAR
+                // case 13: // 'W' - WEEK_OF_MONTH
+                // case 16: // 'K' - HOUR (0..11)
+                // case 18: // 'Y' - YEAR_WOY
+                // case 19: // 'e' - DOW_LOCAL
+                // case 20: // 'u' - EXTENDED_YEAR
+                // case 21: // 'g' - JULIAN_DAY
+                // case 22: // 'A' - MILLISECONDS_IN_DAY
+
+                // Handle "generic" fields
+                if (obeyCount)
+                    {
+                        if ((start+count) > text.length()) return -start;
+                        number = parseInt(text.substring(0, start+count), pos, allowNegative);
+                    }
+                else number = parseInt(text, pos, allowNegative);
+                if (number != null) {
+                    cal.set(field, number.intValue());
+                    return pos.getIndex();
+                }
+                return -start;
+            }
+    }
+
+    /**
+     * Parse an integer using fNumberFormat.  This method is semantically
+     * const, but actually may modify fNumberFormat.
+     */
+    private Number parseInt(String text,
+                            ParsePosition pos,
+                            boolean allowNegative) {
+        String oldPrefix = null;
+        DecimalFormat df = null;
+        if (!allowNegative) {
+            try {
+                df = (DecimalFormat)numberFormat;
+                oldPrefix = df.getNegativePrefix();
+                df.setNegativePrefix(SUPPRESS_NEGATIVE_PREFIX);
+            } catch (ClassCastException e1) {}
+        }
+        Number number = numberFormat.parse(text, pos);
+        if (df != null) {
+            df.setNegativePrefix(oldPrefix);
+        }
+        return number;
+    }
+
+    /**
+     * Translate a pattern, mapping each character in the from string to the
+     * corresponding character in the to string.
+     */
+    private String translatePattern(String pattern, String from, String to) {
+        StringBuffer result = new StringBuffer();
+        boolean inQuote = false;
+        for (int i = 0; i < pattern.length(); ++i) {
+            char c = pattern.charAt(i);
+            if (inQuote) {
+                if (c == '\'')
+                    inQuote = false;
+            }
+            else {
+                if (c == '\'')
+                    inQuote = true;
+                else if ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z')) {
+                    int ci = from.indexOf(c);
+                    if (ci == -1)
+                        throw new IllegalArgumentException("Illegal pattern " +
+                                                           " character '" +
+                                                           c + "'");
+                    c = to.charAt(ci);
+                }
+            }
+            result.append(c);
+        }
+        if (inQuote)
+            throw new IllegalArgumentException("Unfinished quote in pattern");
+        return result.toString();
+    }
+
+    /**
+     * Return a pattern string describing this date format.
+     * @stable ICU 2.0
+     */
+    public String toPattern() {
+        return pattern;
+    }
+
+    /**
+     * Return a localized pattern string describing this date format.
+     * @stable ICU 2.0
+     */
+    public String toLocalizedPattern() {
+        return translatePattern(pattern,
+                                DateFormatSymbols.patternChars,
+                                formatData.localPatternChars);
+    }
+
+    /**
+     * Apply the given unlocalized pattern string to this date format.
+     * @stable ICU 2.0
+     */
+    public void applyPattern(String pattern)
+    {
+        this.pattern = pattern;
+        setLocale(null, null);
+    }
+
+    /**
+     * Apply the given localized pattern string to this date format.
+     * @stable ICU 2.0
+     */
+    public void applyLocalizedPattern(String pattern) {
+        this.pattern = translatePattern(pattern,
+                                        formatData.localPatternChars,
+                                        DateFormatSymbols.patternChars);
+        setLocale(null, null);
+    }
+
+    /**
+     * Gets the date/time formatting data.
+     * @return a copy of the date-time formatting data associated
+     * with this date-time formatter.
+     * @stable ICU 2.0
+     */
+    public DateFormatSymbols getDateFormatSymbols()
+    {
+        return (DateFormatSymbols)formatData.clone();
+    }
+
+    /**
+     * Allows you to set the date/time formatting data.
+     * @param newFormatSymbols the new symbols
+     * @stable ICU 2.0
+     */
+    public void setDateFormatSymbols(DateFormatSymbols newFormatSymbols)
+    {
+        this.formatData = (DateFormatSymbols)newFormatSymbols.clone();
+    }
+
+    /**
+     * Method for subclasses to access the DateFormatSymbols.
+     * @stable ICU 2.0
+     */
+    protected DateFormatSymbols getSymbols() {
+        return formatData;
+    }
+
+    /**
+     * Overrides Cloneable
+     * @stable ICU 2.0
+     */
+    public Object clone() {
+        SimpleDateFormat other = (SimpleDateFormat) super.clone();
+        other.formatData = (DateFormatSymbols) formatData.clone();
+        return other;
+    }
+
+    /**
+     * Override hashCode.
+     * Generates the hash code for the SimpleDateFormat object
+     * @stable ICU 2.0
+     */
+    public int hashCode()
+    {
+        return pattern.hashCode();
+        // just enough fields for a reasonable distribution
+    }
+
+    /**
+     * Override equals.
+     * @stable ICU 2.0
+     */
+    public boolean equals(Object obj)
+    {
+        if (!super.equals(obj)) return false; // super does class check
+        SimpleDateFormat that = (SimpleDateFormat) obj;
+        return (pattern.equals(that.pattern)
+                && formatData.equals(that.formatData));
+    }
+
+    /**
+     * Override readObject.
+     */
+    private void readObject(ObjectInputStream stream)
+        throws IOException, ClassNotFoundException {
+        stream.defaultReadObject();
+        ///CLOVER:OFF
+        // don't have old serial data to test with
+        if (serialVersionOnStream < 1) {
+            // didn't have defaultCenturyStart field
+            initializeDefaultCentury();
+        }
+        ///CLOVER:ON
+        else {
+            // fill in dependent transient field
+            parseAmbiguousDatesAsAfter(defaultCenturyStart);
+        }
+        serialVersionOnStream = currentSerialVersion;
+    }
+}
diff --git a/src/com/ibm/icu/text/StringCharacterIterator.java b/src/com/ibm/icu/text/StringCharacterIterator.java
new file mode 100755
index 0000000..e418922
--- /dev/null
+++ b/src/com/ibm/icu/text/StringCharacterIterator.java
@@ -0,0 +1,281 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+
+// NOTE:  This class is identical to java.text.StringCharacterIterator
+// in JDK 1.2.  It's copied here because the JDK 1.1 version of
+// StringCharacterIterator has a bug that prevents it from working
+// right with RuleBasedBreakIterator.  This class is unnecessary
+// when using RuleBasedBreakIterator with JDK 1.2.
+
+package com.ibm.icu.text;
+import java.text.CharacterIterator;
+
+/**
+ * <code>StringCharacterIterator</code> implements the
+ * <code>CharacterIterater</code> protocol for a <code>String</code>.
+ * The <code>StringCharacterIterator</code> class iterates over the
+ * entire <code>String</code>.
+ *
+ * @see CharacterIterator
+ * @deprecated ICU 2.4. Use java.text.StringCharacterIterator instead.
+ */
+///CLOVER:OFF
+public final class StringCharacterIterator implements CharacterIterator
+{
+    private String text;
+    private int begin;
+    private int end;
+    // invariant: begin <= pos <= end
+    private int pos;
+
+    /**
+     * Constructs an iterator with an initial index of 0.
+     * @deprecated ICU 2.4. Use java.text.StringCharacterIterator instead.
+     */
+    public StringCharacterIterator(String text)
+    {
+        this(text, 0);
+    }
+
+    /**
+     * Constructs an iterator with the specified initial index.
+     *
+     * @param  text   The String to be iterated over
+     * @param  pos    Initial iterator position     
+     * @deprecated ICU 2.4. Use java.text.StringCharacterIterator instead.
+     */
+    public StringCharacterIterator(String text, int pos)
+    {
+    this(text, 0, text.length(), pos);
+    }
+
+    /**
+     * Constructs an iterator over the given range of the given string, with the
+     * index set at the specified position.
+     *
+     * @param  text   The String to be iterated over
+     * @param  begin  Index of the first character
+     * @param  end    Index of the character following the last character
+     * @param  pos    Initial iterator position 
+     * @deprecated ICU 2.4. Use java.text.StringCharacterIterator instead.
+     */
+    public StringCharacterIterator(String text, int begin, int end, int pos) {
+        if (text == null) {
+            throw new NullPointerException();
+        }
+        this.text = text;
+
+        if (begin < 0 || begin > end || end > text.length()) {
+            throw new IllegalArgumentException("Invalid substring range");
+        }
+
+        if (pos < begin || pos > end) {
+            throw new IllegalArgumentException("Invalid position");
+        }
+
+        this.begin = begin;
+        this.end = end;
+        this.pos = pos;
+    }
+
+    /**
+     * Reset this iterator to point to a new string.  This package-visible
+     * method is used by other java.text classes that want to avoid allocating
+     * new StringCharacterIterator objects every time their setText method
+     * is called.
+     *
+     * @param  text   The String to be iterated over 
+     * @deprecated ICU 2.4. Use java.text.StringCharacterIterator instead.
+     */
+    public void setText(String text) {
+        if (text == null) {
+            throw new NullPointerException();
+        }
+        this.text = text;
+        this.begin = 0;
+        this.end = text.length();
+        this.pos = 0;
+    }
+
+    /**
+     * Implements CharacterIterator.first() for String.
+     * @see CharacterIterator#first 
+     * @deprecated ICU 2.4. Use java.text.StringCharacterIterator instead.
+     */
+    public char first()
+    {
+        pos = begin;
+        return current();
+    }
+
+    /**
+     * Implements CharacterIterator.last() for String.
+     * @see CharacterIterator#last 
+     * @deprecated ICU 2.4. Use java.text.StringCharacterIterator instead.
+     */
+    public char last()
+    {
+        if (end != begin) {
+            pos = end - 1;
+        } else {
+            pos = end;
+        }
+        return current();
+     }
+
+    /**
+     * Implements CharacterIterator.setIndex() for String.
+     * @see CharacterIterator#setIndex 
+     * @deprecated ICU 2.4. Use java.text.StringCharacterIterator instead.
+     */
+    public char setIndex(int p)
+    {
+    if (p < begin || p > end) {
+            throw new IllegalArgumentException("Invalid index");
+    }
+        pos = p;
+        return current();
+    }
+
+    /**
+     * Implements CharacterIterator.current() for String.
+     * @see CharacterIterator#current 
+     * @deprecated ICU 2.4. Use java.text.StringCharacterIterator instead.
+     */
+    public char current()
+    {
+        if (pos >= begin && pos < end) {
+            return text.charAt(pos);
+        }
+        else {
+            return DONE;
+        }
+    }
+
+    /**
+     * Implements CharacterIterator.next() for String.
+     * @see CharacterIterator#next 
+     * @deprecated ICU 2.4. Use java.text.StringCharacterIterator instead.
+     */
+    public char next()
+    {
+        if (pos < end - 1) {
+            pos++;
+            return text.charAt(pos);
+        }
+        else {
+            pos = end;
+            return DONE;
+        }
+    }
+
+    /**
+     * Implements CharacterIterator.previous() for String.
+     * @see CharacterIterator#previous 
+     * @deprecated ICU 2.4. Use java.text.StringCharacterIterator instead.
+     */
+    public char previous()
+    {
+        if (pos > begin) {
+            pos--;
+            return text.charAt(pos);
+        }
+        else {
+            return DONE;
+        }
+    }
+
+    /**
+     * Implements CharacterIterator.getBeginIndex() for String.
+     * @see CharacterIterator#getBeginIndex 
+     * @deprecated ICU 2.4. Use java.text.StringCharacterIterator instead.
+     */
+    public int getBeginIndex()
+    {
+        return begin;
+    }
+
+    /**
+     * Implements CharacterIterator.getEndIndex() for String.
+     * @see CharacterIterator#getEndIndex 
+     * @deprecated ICU 2.4. Use java.text.StringCharacterIterator instead.
+     */
+    public int getEndIndex()
+    {
+        return end;
+    }
+
+    /**
+     * Implements CharacterIterator.getIndex() for String.
+     * @see CharacterIterator#getIndex 
+     * @deprecated ICU 2.4. Use java.text.StringCharacterIterator instead.
+     */
+    public int getIndex()
+    {
+        return pos;
+    }
+
+    /**
+     * Compares the equality of two StringCharacterIterator objects.
+     * @param obj the StringCharacterIterator object to be compared with.
+     * @return true if the given obj is the same as this
+     * StringCharacterIterator object; false otherwise. 
+     * @deprecated ICU 2.4. Use java.text.StringCharacterIterator instead.
+     */
+    public boolean equals(Object obj)
+    {
+        if (this == obj) {
+            return true;
+        }
+        if (!(obj instanceof StringCharacterIterator)) {
+            return false;
+        }
+
+        StringCharacterIterator that = (StringCharacterIterator) obj;
+
+        if (hashCode() != that.hashCode()) {
+            return false;
+        }
+        if (!text.equals(that.text)) {
+            return false;
+        }
+        if (pos != that.pos || begin != that.begin || end != that.end) {
+            return false;
+        }
+        return true;
+    }
+
+    /**
+     * Computes a hashcode for this iterator.
+     * @return A hash code 
+     * @deprecated ICU 2.4. Use java.text.StringCharacterIterator instead.
+     */
+    public int hashCode()
+    {
+        return text.hashCode() ^ pos ^ begin ^ end;
+    }
+
+    /**
+     * Creates a copy of this iterator.
+     * @return A copy of this 
+     * @deprecated ICU 2.4. Use java.text.StringCharacterIterator instead.
+     */
+    public Object clone()
+    {
+        try {
+            StringCharacterIterator other
+            = (StringCharacterIterator) super.clone();
+            return other;
+        }
+        catch (CloneNotSupportedException e) {
+            throw new InternalError();
+        }
+    }
+
+}
+///CLOVER:ON
diff --git a/src/com/ibm/icu/text/StringMatcher.java b/src/com/ibm/icu/text/StringMatcher.java
new file mode 100755
index 0000000..eefcc4c
--- /dev/null
+++ b/src/com/ibm/icu/text/StringMatcher.java
@@ -0,0 +1,289 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2001-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.text;
+import com.ibm.icu.impl.Utility;
+
+/**
+ * An object that matches a fixed input string, implementing the
+ * UnicodeMatcher API.  This object also implements the
+ * UnicodeReplacer API, allowing it to emit the matched text as
+ * output.  Since the match text may contain flexible match elements,
+ * such as UnicodeSets, the emitted text is not the match pattern, but
+ * instead a substring of the actual matched text.  Following
+ * convention, the output text is the leftmost match seen up to this
+ * point.
+ *
+ * A StringMatcher may represent a segment, in which case it has a
+ * positive segment number.  This affects how the matcher converts
+ * itself to a pattern but does not otherwise affect its function.
+ *
+ * A StringMatcher that is not a segment should not be used as a
+ * UnicodeReplacer.
+ */
+class StringMatcher implements UnicodeMatcher, UnicodeReplacer {
+
+    /**
+     * The text to be matched.
+     */
+    private String pattern;
+
+    /**
+     * Start offset, in the match text, of the <em>rightmost</em>
+     * match.
+     */
+    private int matchStart;
+    
+    /**
+     * Limit offset, in the match text, of the <em>rightmost</em>
+     * match.
+     */
+    private int matchLimit;
+
+    /**
+     * The segment number, 1-based, or 0 if not a segment.
+     */
+    private int segmentNumber;
+
+    /**
+     * Context object that maps stand-ins to matcher and replacer
+     * objects.
+     */
+    private final RuleBasedTransliterator.Data data;
+
+    /**
+     * Construct a matcher that matches the given pattern string.
+     * @param theString the pattern to be matched, possibly containing
+     * stand-ins that represent nested UnicodeMatcher objects.
+     * @param segmentNum the segment number from 1..n, or 0 if this is
+     * not a segment.
+     * @param theData context object mapping stand-ins to
+     * UnicodeMatcher objects.
+     */
+    public StringMatcher(String theString,
+                         int segmentNum,
+                         RuleBasedTransliterator.Data theData) {
+        data = theData;
+        pattern = theString;
+        matchStart = matchLimit = -1;
+        segmentNumber = segmentNum;
+    }
+
+    /**
+     * Construct a matcher that matches a substring of the given
+     * pattern string.
+     * @param theString the pattern to be matched, possibly containing
+     * stand-ins that represent nested UnicodeMatcher objects.
+     * @param start first character of theString to be matched
+     * @param limit index after the last character of theString to be
+     * matched.
+     * @param segmentNum the segment number from 1..n, or 0 if this is
+     * not a segment.
+     * @param theData context object mapping stand-ins to
+     * UnicodeMatcher objects.
+     */
+    public StringMatcher(String theString,
+                         int start,
+                         int limit,
+                         int segmentNum,
+                         RuleBasedTransliterator.Data theData) {
+        this(theString.substring(start, limit), segmentNum, theData);
+    }
+
+    /**
+     * Implement UnicodeMatcher
+     */
+    public int matches(Replaceable text,
+                       int[] offset,
+                       int limit,
+                       boolean incremental) {
+        // Note (1): We process text in 16-bit code units, rather than
+        // 32-bit code points.  This works because stand-ins are
+        // always in the BMP and because we are doing a literal match
+        // operation, which can be done 16-bits at a time.
+        int i;
+        int[] cursor = new int[] { offset[0] };
+        if (limit < cursor[0]) {
+            // Match in the reverse direction
+            for (i=pattern.length()-1; i>=0; --i) {
+                char keyChar = pattern.charAt(i); // OK; see note (1) above
+                UnicodeMatcher subm = data.lookupMatcher(keyChar);
+                if (subm == null) {
+                    if (cursor[0] > limit &&
+                        keyChar == text.charAt(cursor[0])) { // OK; see note (1) above
+                        --cursor[0];
+                    } else {
+                        return U_MISMATCH;
+                    }
+                } else {
+                    int m =
+                        subm.matches(text, cursor, limit, incremental);
+                    if (m != U_MATCH) {
+                        return m;
+                    }
+                }
+            }
+            // Record the match position, but adjust for a normal
+            // forward start, limit, and only if a prior match does not
+            // exist -- we want the rightmost match.
+            if (matchStart < 0) {
+                matchStart = cursor[0]+1;
+                matchLimit = offset[0]+1;
+            }
+        } else {
+            for (i=0; i<pattern.length(); ++i) {
+                if (incremental && cursor[0] == limit) {
+                    // We've reached the context limit without a mismatch and
+                    // without completing our match.
+                    return U_PARTIAL_MATCH;
+                }
+                char keyChar = pattern.charAt(i); // OK; see note (1) above
+                UnicodeMatcher subm = data.lookupMatcher(keyChar);
+                if (subm == null) {
+                    // Don't need the cursor < limit check if
+                    // incremental is true (because it's done above); do need
+                    // it otherwise.
+                    if (cursor[0] < limit &&
+                        keyChar == text.charAt(cursor[0])) { // OK; see note (1) above
+                        ++cursor[0];
+                    } else {
+                        return U_MISMATCH;
+                    }
+                } else {
+                    int m =
+                        subm.matches(text, cursor, limit, incremental);
+                    if (m != U_MATCH) {
+                        return m;
+                    }
+                }
+            }
+            // Record the match position
+            matchStart = offset[0];
+            matchLimit = cursor[0];
+        }
+
+        offset[0] = cursor[0];
+        return U_MATCH;
+    }
+
+    /**
+     * Implement UnicodeMatcher
+     */
+    public String toPattern(boolean escapeUnprintable) {
+        StringBuffer result = new StringBuffer();
+        StringBuffer quoteBuf = new StringBuffer();
+        if (segmentNumber > 0) { // i.e., if this is a segment
+            result.append('(');
+        }
+        for (int i=0; i<pattern.length(); ++i) {
+            char keyChar = pattern.charAt(i); // OK; see note (1) above
+            UnicodeMatcher m = data.lookupMatcher(keyChar);
+            if (m == null) {
+                Utility.appendToRule(result, keyChar, false, escapeUnprintable, quoteBuf);
+            } else {
+                Utility.appendToRule(result, m.toPattern(escapeUnprintable),
+                                     true, escapeUnprintable, quoteBuf);
+            }
+        }
+        if (segmentNumber > 0) { // i.e., if this is a segment
+            result.append(')');
+        }
+        // Flush quoteBuf out to result
+        Utility.appendToRule(result, -1,
+                             true, escapeUnprintable, quoteBuf);
+        return result.toString();
+    }
+
+    /**
+     * Implement UnicodeMatcher
+     */
+    public boolean matchesIndexValue(int v) {
+        if (pattern.length() == 0) {
+            return true;
+        }
+        int c = UTF16.charAt(pattern, 0);
+        UnicodeMatcher m = data.lookupMatcher(c);
+        return (m == null) ? ((c & 0xFF) == v) : m.matchesIndexValue(v);
+    }
+
+    /**
+     * Implementation of UnicodeMatcher API.  Union the set of all
+     * characters that may be matched by this object into the given
+     * set.
+     * @param toUnionTo the set into which to union the source characters
+     */
+    public void addMatchSetTo(UnicodeSet toUnionTo) {
+        int ch;
+        for (int i=0; i<pattern.length(); i+=UTF16.getCharCount(ch)) {
+            ch = UTF16.charAt(pattern, i);
+            UnicodeMatcher matcher = data.lookupMatcher(ch);
+            if (matcher == null) {
+                toUnionTo.add(ch);
+            } else {
+                matcher.addMatchSetTo(toUnionTo);
+            }
+        }
+    }
+
+    /**
+     * UnicodeReplacer API
+     */
+    public int replace(Replaceable text,
+                       int start,
+                       int limit,
+                       int[] cursor) {
+
+        int outLen = 0;
+
+        // Copy segment with out-of-band data
+        int dest = limit;
+        // If there was no match, that means that a quantifier
+        // matched zero-length.  E.g., x (a)* y matched "xy".
+        if (matchStart >= 0) {
+            if (matchStart != matchLimit) {
+                text.copy(matchStart, matchLimit, dest);
+                outLen = matchLimit - matchStart;
+            }
+        }
+
+        text.replace(start, limit, ""); // delete original text
+
+        return outLen;
+    }
+
+    /**
+     * UnicodeReplacer API
+     */
+    public String toReplacerPattern(boolean escapeUnprintable) {
+        // assert(segmentNumber > 0);
+        StringBuffer rule = new StringBuffer("$");
+        Utility.appendNumber(rule, segmentNumber, 10, 1);
+        return rule.toString();
+    }
+
+    /**
+     * Remove any match data.  This must be called before performing a
+     * set of matches with this segment.
+     */
+    public void resetMatch() {
+        matchStart = matchLimit = -1;
+    }
+
+    /**
+     * Union the set of all characters that may output by this object
+     * into the given set.
+     * @param toUnionTo the set into which to union the output characters
+     */
+    public void addReplacementSetTo(UnicodeSet toUnionTo) {
+        // The output of this replacer varies; it is the source text between
+        // matchStart and matchLimit.  Since this varies depending on the
+        // input text, we can't compute it here.  We can either do nothing
+        // or we can add ALL characters to the set.  It's probably more useful
+        // to do nothing.
+    }
+}
+
+//eof
diff --git a/src/com/ibm/icu/text/StringPrep.java b/src/com/ibm/icu/text/StringPrep.java
new file mode 100644
index 0000000..50053cc
--- /dev/null
+++ b/src/com/ibm/icu/text/StringPrep.java
@@ -0,0 +1,443 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2003-2005, International Business Machines Corporation and         *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.text;
+
+import java.io.BufferedInputStream;
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+
+import com.ibm.icu.impl.CharTrie;
+import com.ibm.icu.impl.StringPrepDataReader;
+import com.ibm.icu.impl.Trie;
+import com.ibm.icu.impl.NormalizerImpl;
+import com.ibm.icu.impl.UBiDiProps;
+
+import com.ibm.icu.util.VersionInfo;
+
+import com.ibm.icu.lang.UCharacter;
+import com.ibm.icu.lang.UCharacterDirection;
+
+/**
+ * StringPrep API implements the StingPrep framework as described by 
+ * <a href="http://www.ietf.org/rfc/rfc3454.txt">RFC 3454</a>.
+ * StringPrep prepares Unicode strings for use in network protocols.
+ * Profiles of StingPrep are set of rules and data according to which the
+ * Unicode Strings are prepared. Each profiles contains tables which describe
+ * how a code point should be treated. The tables are broadly classied into
+ * <ul>
+ *     <li> Unassigned Table: Contains code points that are unassigned 
+ *          in the Unicode Version supported by StringPrep. Currently 
+ *          RFC 3454 supports Unicode 3.2. </li>
+ *     <li> Prohibited Table: Contains code points that are prohibted from
+ *          the output of the StringPrep processing function. </li>
+ *     <li> Mapping Table: Contains code ponts that are deleted from the output or case mapped. </li>
+ * </ul>
+ * 
+ * The procedure for preparing Unicode strings:
+ * <ol>
+ *      <li> Map: For each character in the input, check if it has a mapping
+ *           and, if so, replace it with its mapping. </li>
+ *      <li> Normalize: Possibly normalize the result of step 1 using Unicode
+ *           normalization. </li>
+ *      <li> Prohibit: Check for any characters that are not allowed in the
+ *           output.  If any are found, return an error.</li>
+ *      <li> Check bidi: Possibly check for right-to-left characters, and if
+ *           any are found, make sure that the whole string satisfies the
+ *           requirements for bidirectional strings.  If the string does not
+ *           satisfy the requirements for bidirectional strings, return an
+ *           error.  </li>
+ * </ol>
+ * @author Ram Viswanadha
+ * @stable ICU 2.8
+ */
+public final class StringPrep {
+    /** 
+     * Option to prohibit processing of unassigned code points in the input
+     * 
+     * @see   #prepare
+     * @stable ICU 2.8
+     */
+    public static final int DEFAULT = 0x0000;
+
+    /** 
+     * Option to allow processing of unassigned code points in the input
+     * 
+     * @see   #prepare
+     * @stable ICU 2.8
+     */
+    public static final int ALLOW_UNASSIGNED = 0x0001;
+    
+    private static final int UNASSIGNED        = 0x0000; 
+    private static final int MAP               = 0x0001; 
+    private static final int PROHIBITED        = 0x0002; 
+    private static final int DELETE            = 0x0003;
+    private static final int TYPE_LIMIT        = 0x0004;
+    
+    private static final int NORMALIZATION_ON  = 0x0001;
+    private static final int CHECK_BIDI_ON     = 0x0002;
+    
+    private static final int TYPE_THRESHOLD       = 0xFFF0;
+    private static final int MAX_INDEX_VALUE      = 0x3FBF;   /*16139*/ 
+    private static final int MAX_INDEX_TOP_LENGTH = 0x0003;
+    
+    /* indexes[] value names */
+    private static final int INDEX_TRIE_SIZE                  =  0; /* number of bytes in normalization trie */
+    private static final int INDEX_MAPPING_DATA_SIZE          =  1; /* The array that contains the mapping   */
+    private static final int NORM_CORRECTNS_LAST_UNI_VERSION  =  2; /* The index of Unicode version of last entry in NormalizationCorrections.txt */ 
+    private static final int ONE_UCHAR_MAPPING_INDEX_START    =  3; /* The starting index of 1 UChar mapping index in the mapping data array */
+    private static final int TWO_UCHARS_MAPPING_INDEX_START   =  4; /* The starting index of 2 UChars mapping index in the mapping data array */
+    private static final int THREE_UCHARS_MAPPING_INDEX_START =  5;
+    private static final int FOUR_UCHARS_MAPPING_INDEX_START  =  6;
+    private static final int OPTIONS                          =  7; /* Bit set of options to turn on in the profile */
+    private static final int INDEX_TOP                        = 16;                          /* changing this requires a new formatVersion */
+   
+   
+    /**
+     * Default buffer size of datafile
+     */
+    private static final int DATA_BUFFER_SIZE = 25000;
+    
+    // CharTrie implmentation for reading the trie data
+    private CharTrie sprepTrie;
+    // Indexes read from the data file
+    private int[] indexes;
+    // mapping data read from the data file
+    private char[] mappingData;
+    // format version of the data file
+    private byte[] formatVersion;
+    // the version of Unicode supported by the data file
+    private VersionInfo sprepUniVer;
+    // the Unicode version of last entry in the
+    // NormalizationCorrections.txt file if normalization
+    // is turned on 
+    private VersionInfo normCorrVer;
+    // Option to turn on Normalization
+    private boolean doNFKC;
+    // Option to turn on checking for BiDi rules
+    private boolean checkBiDi;
+    // bidi properties
+    private UBiDiProps bdp;
+    
+    private char getCodePointValue(int ch){
+        return sprepTrie.getCodePointValue(ch);
+    }
+  
+    private static VersionInfo getVersionInfo(int comp){
+        int micro = comp & 0xFF;
+        int milli =(comp >> 8)  & 0xFF;
+        int minor =(comp >> 16) & 0xFF;
+        int major =(comp >> 24) & 0xFF;
+        return VersionInfo.getInstance(major,minor,milli,micro);
+    }
+    private static VersionInfo getVersionInfo(byte[] version){
+        if(version.length != 4){
+            return null;
+        }
+        return VersionInfo.getInstance((int)version[0],(int) version[1],(int) version[2],(int) version[3]);
+    }
+    /**
+     * Creates an StringPrep object after reading the input stream.
+     * The object does not hold a reference to the input steam, so the stream can be
+     * closed after the method returns.
+     * 
+     * @param inputStream The stream for reading the StringPrep profile binarySun 
+     * @throws IOException
+     * @stable ICU 2.8
+     */
+    public StringPrep(InputStream inputStream) throws IOException{
+
+        BufferedInputStream b = new BufferedInputStream(inputStream,DATA_BUFFER_SIZE);
+  
+        StringPrepDataReader reader = new StringPrepDataReader(b);
+        
+        // read the indexes            
+        indexes = reader.readIndexes(INDEX_TOP);
+   
+        byte[] sprepBytes = new byte[indexes[INDEX_TRIE_SIZE]];
+   
+
+        //indexes[INDEX_MAPPING_DATA_SIZE] store the size of mappingData in bytes           
+        mappingData = new char[indexes[INDEX_MAPPING_DATA_SIZE]/2]; 
+        // load the rest of the data data and initialize the data members
+        reader.read(sprepBytes,mappingData);
+                                   
+        sprepTrie = new CharTrie(new ByteArrayInputStream(sprepBytes), null);
+              
+        // get the data format version                           
+        formatVersion = reader.getDataFormatVersion();
+ 
+        // get the options
+        doNFKC            = ((indexes[OPTIONS] & NORMALIZATION_ON) > 0);
+        checkBiDi         = ((indexes[OPTIONS] & CHECK_BIDI_ON) > 0);
+        sprepUniVer   = getVersionInfo(reader.getUnicodeVersion());
+        normCorrVer   = getVersionInfo(indexes[NORM_CORRECTNS_LAST_UNI_VERSION]);
+        VersionInfo normUniVer = Normalizer.getUnicodeVersion();
+        if(normUniVer.compareTo(sprepUniVer) < 0 && /* the Unicode version of SPREP file must be less than the Unicode Vesion of the normalization data */
+           normUniVer.compareTo(normCorrVer) < 0 && /* the Unicode version of the NormalizationCorrections.txt file should be less than the Unicode Vesion of the normalization data */
+           ((indexes[OPTIONS] & NORMALIZATION_ON) > 0) /* normalization turned on*/
+           ){
+            throw new IOException("Normalization Correction version not supported");
+        }
+        b.close();
+        
+        if(checkBiDi) {
+            bdp=UBiDiProps.getSingleton();
+        }
+    }
+ 
+    private static final class Values{
+        boolean isIndex;
+        int value;
+        int type;
+        public void reset(){
+            isIndex = false;
+            value = 0;
+            type = -1;
+        }
+    }
+
+    private static final void getValues(char trieWord,Values values){
+        values.reset();
+        if(trieWord == 0){
+            /* 
+             * Initial value stored in the mapping table 
+             * just return TYPE_LIMIT .. so that
+             * the source codepoint is copied to the destination
+             */
+            values.type = TYPE_LIMIT;
+        }else if(trieWord >= TYPE_THRESHOLD){
+            values.type = (trieWord - TYPE_THRESHOLD);
+        }else{
+            /* get the type */
+            values.type = MAP;
+            /* ascertain if the value is index or delta */
+            if((trieWord & 0x02)>0){
+                values.isIndex = true;
+                values.value = trieWord  >> 2; //mask off the lower 2 bits and shift
+
+            }else{
+                values.isIndex = false;
+                values.value = ((int)(trieWord<<16))>>16;
+                values.value =  (values.value >> 2);
+
+            }
+ 
+            if((trieWord>>2) == MAX_INDEX_VALUE){
+                values.type = DELETE;
+                values.isIndex = false;
+                values.value = 0;
+            }
+        }
+    }
+
+
+
+    private StringBuffer map( UCharacterIterator iter, int options)
+                            throws StringPrepParseException{
+    
+        Values val = new Values();
+        char result = 0;
+        int ch  = UCharacterIterator.DONE;
+        StringBuffer dest = new StringBuffer();
+        boolean allowUnassigned = ((options & ALLOW_UNASSIGNED)>0);
+        
+        while((ch=iter.nextCodePoint())!= UCharacterIterator.DONE){
+            
+            result = getCodePointValue(ch);
+            getValues(result,val);
+
+            // check if the source codepoint is unassigned
+            if(val.type == UNASSIGNED && allowUnassigned == false){
+                 throw new StringPrepParseException("An unassigned code point was found in the input",
+                                          StringPrepParseException.UNASSIGNED_ERROR,
+                                          iter.getText(),iter.getIndex());    
+            }else if((val.type == MAP)){
+                int index, length;
+
+                if(val.isIndex){
+                    index = val.value;
+                    if(index >= indexes[ONE_UCHAR_MAPPING_INDEX_START] &&
+                             index < indexes[TWO_UCHARS_MAPPING_INDEX_START]){
+                        length = 1;
+                    }else if(index >= indexes[TWO_UCHARS_MAPPING_INDEX_START] &&
+                             index < indexes[THREE_UCHARS_MAPPING_INDEX_START]){
+                        length = 2;
+                    }else if(index >= indexes[THREE_UCHARS_MAPPING_INDEX_START] &&
+                             index < indexes[FOUR_UCHARS_MAPPING_INDEX_START]){
+                        length = 3;
+                    }else{
+                        length = mappingData[index++];
+                    }
+                    /* copy mapping to destination */
+                    dest.append(mappingData,index,length);                    
+                    continue;
+                    
+                }else{
+                    ch -= val.value;
+                }
+            }else if(val.type == DELETE){
+                // just consume the codepoint and contine
+                continue;
+            }
+            //copy the source into destination
+            UTF16.append(dest,ch);
+        }
+        
+        return dest;
+    }
+
+
+    private StringBuffer normalize(StringBuffer src){
+        /*
+         * Option UNORM_BEFORE_PRI_29:
+         *
+         * IDNA as interpreted by IETF members (see unicode mailing list 2004H1)
+         * requires strict adherence to Unicode 3.2 normalization,
+         * including buggy composition from before fixing Public Review Issue #29.
+         * Note that this results in some valid but nonsensical text to be
+         * either corrupted or rejected, depending on the text.
+         * See http://www.unicode.org/review/resolved-pri.html#pri29
+         * See unorm.cpp and cnormtst.c
+         */
+        return new StringBuffer(
+            Normalizer.normalize(
+                src.toString(),
+                Normalizer.NFKC,
+                Normalizer.UNICODE_3_2|NormalizerImpl.BEFORE_PRI_29));
+    }
+    /*
+    boolean isLabelSeparator(int ch){
+        int result = getCodePointValue(ch);
+        if( (result & 0x07)  == LABEL_SEPARATOR){
+            return true;
+        }
+        return false;
+    }
+    */
+     /*
+       1) Map -- For each character in the input, check if it has a mapping
+          and, if so, replace it with its mapping.  
+
+       2) Normalize -- Possibly normalize the result of step 1 using Unicode
+          normalization. 
+
+       3) Prohibit -- Check for any characters that are not allowed in the
+          output.  If any are found, return an error.  
+
+       4) Check bidi -- Possibly check for right-to-left characters, and if
+          any are found, make sure that the whole string satisfies the
+          requirements for bidirectional strings.  If the string does not
+          satisfy the requirements for bidirectional strings, return an
+          error.  
+          [Unicode3.2] defines several bidirectional categories; each character
+           has one bidirectional category assigned to it.  For the purposes of
+           the requirements below, an "RandALCat character" is a character that
+           has Unicode bidirectional categories "R" or "AL"; an "LCat character"
+           is a character that has Unicode bidirectional category "L".  Note
+
+
+           that there are many characters which fall in neither of the above
+           definitions; Latin digits (<U+0030> through <U+0039>) are examples of
+           this because they have bidirectional category "EN".
+
+           In any profile that specifies bidirectional character handling, all
+           three of the following requirements MUST be met:
+
+           1) The characters in section 5.8 MUST be prohibited.
+
+           2) If a string contains any RandALCat character, the string MUST NOT
+              contain any LCat character.
+
+           3) If a string contains any RandALCat character, a RandALCat
+              character MUST be the first character of the string, and a
+              RandALCat character MUST be the last character of the string.
+    */
+    /**
+     * Prepare the input buffer for use in applications with the given profile. This operation maps, normalizes(NFKC),
+     * checks for prohited and BiDi characters in the order defined by RFC 3454
+     * depending on the options specified in the profile.
+     *
+     * @param src           A UCharacterIterator object containing the source string
+     * @param options       A bit set of options:
+     *
+     *  - StringPrep.NONE               Prohibit processing of unassigned code points in the input
+     *
+     *  - StringPrep.ALLOW_UNASSIGNED   Treat the unassigned code points are in the input 
+     *                                  as normal Unicode code points.
+     *
+     * @return StringBuffer A StringBuffer containing the output
+     * @throws ParseException
+     * @stable ICU 2.8
+     */
+    public StringBuffer prepare(UCharacterIterator src, int options)
+                        throws StringPrepParseException{
+                                              
+        // map 
+        StringBuffer mapOut = map(src,options);
+        StringBuffer normOut = mapOut;// initialize 
+        
+        if(doNFKC){
+            // normalize 
+            normOut = normalize(mapOut);
+        }
+
+        int ch;
+        char result;
+        UCharacterIterator iter = UCharacterIterator.getInstance(normOut);
+        Values val = new Values(); 
+        int direction=UCharacterDirection.CHAR_DIRECTION_COUNT,
+            firstCharDir=UCharacterDirection.CHAR_DIRECTION_COUNT;    
+        int rtlPos=-1, ltrPos=-1;
+        boolean rightToLeft=false, leftToRight=false;
+           
+        while((ch=iter.nextCodePoint())!= UCharacterIterator.DONE){
+            result = getCodePointValue(ch);
+            getValues(result,val);
+
+            if(val.type == PROHIBITED ){
+                throw new StringPrepParseException("A prohibited code point was found in the input",
+                                         StringPrepParseException.PROHIBITED_ERROR,iter.getText(),val.value);
+            }
+
+            if(checkBiDi) {
+                direction = bdp.getClass(ch);
+                if(firstCharDir == UCharacterDirection.CHAR_DIRECTION_COUNT){
+                    firstCharDir = direction;
+                }
+                if(direction == UCharacterDirection.LEFT_TO_RIGHT){
+                    leftToRight = true;
+                    ltrPos = iter.getIndex()-1;
+                }
+                if(direction == UCharacterDirection.RIGHT_TO_LEFT || direction == UCharacterDirection.RIGHT_TO_LEFT_ARABIC){
+                    rightToLeft = true;
+                    rtlPos = iter.getIndex()-1;
+                }
+            }
+        }           
+        if(checkBiDi == true){
+            // satisfy 2
+            if( leftToRight == true && rightToLeft == true){
+                throw new StringPrepParseException("The input does not conform to the rules for BiDi code points.",
+                                         StringPrepParseException.CHECK_BIDI_ERROR,iter.getText(),
+                                         (rtlPos>ltrPos) ? rtlPos : ltrPos);
+             }
+    
+            //satisfy 3
+            if( rightToLeft == true && 
+                !((firstCharDir == UCharacterDirection.RIGHT_TO_LEFT || firstCharDir == UCharacterDirection.RIGHT_TO_LEFT_ARABIC) &&
+                (direction == UCharacterDirection.RIGHT_TO_LEFT || direction == UCharacterDirection.RIGHT_TO_LEFT_ARABIC))
+              ){
+                throw new StringPrepParseException("The input does not conform to the rules for BiDi code points.",
+                                         StringPrepParseException.CHECK_BIDI_ERROR,iter.getText(),
+                                         (rtlPos>ltrPos) ? rtlPos : ltrPos);
+            }
+        }
+        return normOut;
+
+      }
+}
diff --git a/src/com/ibm/icu/text/StringPrepParseException.java b/src/com/ibm/icu/text/StringPrepParseException.java
new file mode 100644
index 0000000..46c2e7d
--- /dev/null
+++ b/src/com/ibm/icu/text/StringPrepParseException.java
@@ -0,0 +1,203 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2003-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.text;
+
+import java.text.ParseException;
+
+/**
+ * Exception that signals an error has occurred while parsing the 
+ * input to StringPrep or IDNA. 
+ *
+ * @author Ram Viswanadha
+ * @stable ICU 2.8
+ */
+public class StringPrepParseException extends ParseException {
+    /**
+     * @stable ICU 2.8
+     */
+    public static final int INVALID_CHAR_FOUND      = 0;
+    /**
+     * @stable ICU 2.8
+     */
+    public static final int ILLEGAL_CHAR_FOUND      = 1;
+    /**
+     * @stable ICU 2.8
+     */
+    public static final int PROHIBITED_ERROR        = 2;
+    /**
+     * @stable ICU 2.8
+     */
+    public static final int UNASSIGNED_ERROR        = 3;
+    /**
+     * @stable ICU 2.8
+     */
+    public static final int CHECK_BIDI_ERROR        = 4;
+    /**
+     * @stable ICU 2.8
+     */
+    public static final int STD3_ASCII_RULES_ERROR  = 5;
+    /**
+     * @stable ICU 2.8
+     */
+    public static final int ACE_PREFIX_ERROR        = 6;
+    /**
+     * @stable ICU 2.8
+     */
+    public static final int VERIFICATION_ERROR      = 7;
+    /**
+     * @stable ICU 2.8
+     */
+    public static final int LABEL_TOO_LONG_ERROR    = 8;
+    /**
+     * @stable ICU 2.8
+     */
+    public static final int BUFFER_OVERFLOW_ERROR   = 9;
+    
+    /**
+     * @stable ICU 2.2
+     */
+    public static final int ZERO_LENGTH_LABEL   = 10;
+    
+    /**
+     * Construct a ParseException object with the given message
+     * and error code
+     * 
+     * @param message A string describing the type of error that occurred
+     * @param error   The error that has occurred
+     * @stable ICU 2.8
+     */
+    public StringPrepParseException(String message,int error){
+        super(message, -1);
+        this.error = error;
+        this.line = 0;
+    }
+    
+    /**
+     * Construct a ParseException object with the given message and
+     * error code
+     * 
+     * @param message A string describing the type of error that occurred
+     * @param error   The error that has occurred
+     * @param rules   The input rules string 
+     * @param pos     The position of error in the rules string
+     * @stable ICU 2.8
+     */
+    public StringPrepParseException(String message,int error, String rules, int pos){
+        super(message, -1);
+        this.error = error;
+        setContext(rules,pos);  
+        this.line = 0;
+    }
+    /**
+     * Construct  a ParseException object with the given message and error code
+     * 
+     * @param message    A string describing the type of error that occurred
+     * @param error      The error that has occurred
+     * @param rules      The input rules string 
+     * @param pos        The position of error in the rules string
+     * @param lineNumber The line number at which the error has occurred. 
+     *                   If the parse engine is not using this field, it should set it to zero.  Otherwise
+     *                   it should be a positive integer. The default value of this field
+     *                   is -1. It will be set to 0 if the code populating this struct is not
+     *                   using line numbers.
+     * @stable ICU 2.8
+     */
+    public StringPrepParseException(String message, int error, String rules, int pos, int lineNumber){
+        super(message, -1);
+        this.error = error;
+        setContext(rules,pos);   
+        this.line = lineNumber;
+    }
+    /**
+     * Compare this ParseException to another and evaluate if they are equal.
+     * The comparison works only on the type of error and does not compare
+     * the rules strings, if any, for equality.
+     * 
+     * @param other The exception that this object should be compared to
+     * @return true if the objects are equal, false if unequal
+     * @stable ICU 2.8
+     */
+    public boolean equals(Object other){
+        if(!(other instanceof StringPrepParseException)){
+            return false;
+        }
+        return ((StringPrepParseException)other).error == this.error;
+        
+    }
+    /**
+     * Returns the position of error in the rules string
+     * 
+     * @return String
+     * @stable ICU 2.8
+     */
+    public String toString(){
+        StringBuffer buf = new StringBuffer();
+        buf.append(super.getMessage());
+        buf.append(". preContext:  ");
+        buf.append(preContext);
+        buf.append(". postContext: ");
+        buf.append(postContext);
+        buf.append("\n");
+        return buf.toString();
+    }
+
+    private int error;
+    
+    /**
+     * The line on which the error occured.  If the parse engine
+     * is not using this field, it should set it to zero.  Otherwise
+     * it should be a positive integer. The default value of this field
+     * is -1. It will be set to 0 if the code populating this struct is not
+     * using line numbers.
+     * @stable ICU 2.8  
+     */
+    private int line;
+
+
+    /**
+     * Textual context before the error.  Null-terminated.
+     * May be the empty string if not implemented by parser.
+     * @stable ICU 2.8
+     */
+    private StringBuffer preContext = new StringBuffer();
+
+    /**
+     * Textual context after the error.  Null-terminated.
+     * May be the empty string if not implemented by parser.
+     * @stable ICU 2.8   
+     */
+    private StringBuffer postContext =  new StringBuffer();
+    
+    private static final int PARSE_CONTEXT_LEN = 16;
+    
+    private void setPreContext(String str, int pos){
+        setPreContext(str.toCharArray(),pos);
+    }
+    
+    private void setPreContext(char[] str, int pos){
+        int start = (pos <= PARSE_CONTEXT_LEN)? 0 : (pos - (PARSE_CONTEXT_LEN-1));
+        int len = (start <= PARSE_CONTEXT_LEN)? start : PARSE_CONTEXT_LEN;
+        preContext.append(str,start,len);
+ 
+    }
+    
+    private void setPostContext(String str, int pos){
+        setPostContext(str.toCharArray(),pos);
+    }
+    
+    private void setPostContext(char[] str, int pos){
+        int start = pos;
+        int len  = str.length - start; 
+        postContext.append(str,start,len);
+
+    }
+    
+    private void setContext(String str,int pos){
+        setPreContext(str,pos);
+        setPostContext(str,pos);
+    }
+}
diff --git a/src/com/ibm/icu/text/StringReplacer.java b/src/com/ibm/icu/text/StringReplacer.java
new file mode 100755
index 0000000..8f8ade6
--- /dev/null
+++ b/src/com/ibm/icu/text/StringReplacer.java
@@ -0,0 +1,328 @@
+/*
+**********************************************************************
+*   Copyright (c) 2002, International Business Machines Corporation
+*   and others.  All Rights Reserved.
+**********************************************************************
+*   Date        Name        Description
+*   01/14/2002  aliu        Creation.
+**********************************************************************
+*/
+
+package com.ibm.icu.text;
+import com.ibm.icu.impl.Utility;
+
+/**
+ * A replacer that produces static text as its output.  The text may
+ * contain transliterator stand-in characters that represent nested
+ * UnicodeReplacer objects, making it possible to encode a tree of
+ * replacers in a StringReplacer.  A StringReplacer that contains such
+ * stand-ins is called a <em>complex</em> StringReplacer.  A complex
+ * StringReplacer has a slower processing loop than a non-complex one.
+ * @author Alan Liu
+ */
+class StringReplacer implements UnicodeReplacer {
+
+    /**
+     * Output text, possibly containing stand-in characters that
+     * represent nested UnicodeReplacers.
+     */
+    private String output;
+
+    /**
+     * Cursor position.  Value is ignored if hasCursor is false.
+     */
+    private int cursorPos;
+
+    /**
+     * True if this object outputs a cursor position.
+     */
+    private boolean hasCursor;
+
+    /**
+     * A complex object contains nested replacers and requires more
+     * complex processing.  StringReplacers are initially assumed to
+     * be complex.  If no nested replacers are seen during processing,
+     * then isComplex is set to false, and future replacements are
+     * short circuited for better performance.
+     */
+    private boolean isComplex;
+
+    /**
+     * Object that translates stand-in characters in 'output' to
+     * UnicodeReplacer objects.
+     */
+    private final RuleBasedTransliterator.Data data;
+
+    /**
+     * Construct a StringReplacer that sets the emits the given output
+     * text and sets the cursor to the given position.
+     * @param theOutput text that will replace input text when the
+     * replace() method is called.  May contain stand-in characters
+     * that represent nested replacers.
+     * @param theCursorPos cursor position that will be returned by
+     * the replace() method
+     * @param theData transliterator context object that translates
+     * stand-in characters to UnicodeReplacer objects
+     */
+    public StringReplacer(String theOutput,
+                          int theCursorPos,
+                          RuleBasedTransliterator.Data theData) {
+        output = theOutput;
+        cursorPos = theCursorPos;
+        hasCursor = true;
+        data = theData;
+        isComplex = true;
+    }
+
+    /**
+     * Construct a StringReplacer that sets the emits the given output
+     * text and does not modify the cursor.
+     * @param theOutput text that will replace input text when the
+     * replace() method is called.  May contain stand-in characters
+     * that represent nested replacers.
+     * @param theData transliterator context object that translates
+     * stand-in characters to UnicodeReplacer objects
+     */
+    public StringReplacer(String theOutput,
+                          RuleBasedTransliterator.Data theData) {
+        output = theOutput;
+        cursorPos = 0;
+        hasCursor = false;
+        data = theData;
+        isComplex = true;
+    }
+
+//=    public static UnicodeReplacer valueOf(String output,
+//=                                          int cursorPos,
+//=                                          RuleBasedTransliterator.Data data) {
+//=        if (output.length() == 1) {
+//=            char c = output.charAt(0);
+//=            UnicodeReplacer r = data.lookupReplacer(c);
+//=            if (r != null) {
+//=                return r;
+//=            }
+//=        }
+//=        return new StringReplacer(output, cursorPos, data);
+//=    }
+
+    /**
+     * UnicodeReplacer API
+     */
+    public int replace(Replaceable text,
+                       int start,
+                       int limit,
+                       int[] cursor) {
+        int outLen;
+        int newStart = 0;
+
+        // NOTE: It should be possible to _always_ run the complex
+        // processing code; just slower.  If not, then there is a bug
+        // in the complex processing code.
+
+        // Simple (no nested replacers) Processing Code :
+        if (!isComplex) {
+            text.replace(start, limit, output);
+            outLen = output.length();
+
+            // Setup default cursor position (for cursorPos within output)
+            newStart = cursorPos;
+        }
+
+        // Complex (nested replacers) Processing Code :
+        else {
+            /* When there are segments to be copied, use the Replaceable.copy()
+             * API in order to retain out-of-band data.  Copy everything to the
+             * end of the string, then copy them back over the key.  This preserves
+             * the integrity of indices into the key and surrounding context while
+             * generating the output text.
+             */
+            StringBuffer buf = new StringBuffer();
+            int oOutput; // offset into 'output'
+            isComplex = false;
+
+            // The temporary buffer starts at tempStart, and extends
+            // to destLimit + tempExtra.  The start of the buffer has a single
+            // character from before the key.  This provides style
+            // data when addition characters are filled into the
+            // temporary buffer.  If there is nothing to the left, use
+            // the non-character U+FFFF, which Replaceable subclasses
+            // should treat specially as a "no-style character."
+            // destStart points to the point after the style context
+            // character, so it is tempStart+1 or tempStart+2.
+            int tempStart = text.length(); // start of temp buffer
+            int destStart = tempStart; // copy new text to here
+            if (start > 0) {
+                int len = UTF16.getCharCount(text.char32At(start-1));
+                text.copy(start-len, start, tempStart);
+                destStart += len;
+            } else {
+                text.replace(tempStart, tempStart, "\uFFFF");
+                destStart++;
+            }
+            int destLimit = destStart;
+            int tempExtra = 0; // temp chars after destLimit
+
+            for (oOutput=0; oOutput<output.length(); ) {
+                if (oOutput == cursorPos) {
+                    // Record the position of the cursor
+                    newStart = destLimit - destStart; // relative to start
+                }
+                int c = UTF16.charAt(output, oOutput);
+
+                // When we are at the last position copy the right style
+                // context character into the temporary buffer.  We don't
+                // do this before because it will provide an incorrect
+                // right context for previous replace() operations.
+                int nextIndex = oOutput + UTF16.getCharCount(c);
+                if (nextIndex == output.length()) {
+                    tempExtra = UTF16.getCharCount(text.char32At(limit));
+                    text.copy(limit, limit+tempExtra, destLimit);
+                }
+
+                UnicodeReplacer r = data.lookupReplacer(c);
+                if (r == null) {
+                    // Accumulate straight (non-segment) text.
+                    UTF16.append(buf, c);
+                } else {
+                    isComplex = true;
+
+                    // Insert any accumulated straight text.
+                    if (buf.length() > 0) {
+                        text.replace(destLimit, destLimit, buf.toString());
+                        destLimit += buf.length();
+                        buf.setLength(0);
+                    }
+
+                    // Delegate output generation to replacer object
+                    int len = r.replace(text, destLimit, destLimit, cursor);
+                    destLimit += len;
+                }
+                oOutput = nextIndex;
+            }
+            // Insert any accumulated straight text.
+            if (buf.length() > 0) {
+                text.replace(destLimit, destLimit, buf.toString());
+                destLimit += buf.length();
+            }
+            if (oOutput == cursorPos) {
+                // Record the position of the cursor
+                newStart = destLimit - destStart; // relative to start
+            }
+
+            outLen = destLimit - destStart;
+
+            // Copy new text to start, and delete it
+            text.copy(destStart, destLimit, start);
+            text.replace(tempStart + outLen, destLimit + tempExtra + outLen, "");
+
+            // Delete the old text (the key)
+            text.replace(start + outLen, limit + outLen, "");
+        }        
+
+        if (hasCursor) {
+            // Adjust the cursor for positions outside the key.  These
+            // refer to code points rather than code units.  If cursorPos
+            // is within the output string, then use newStart, which has
+            // already been set above.
+            if (cursorPos < 0) {
+                newStart = start;
+                int n = cursorPos;
+                // Outside the output string, cursorPos counts code points
+                while (n < 0 && newStart > 0) {
+                    newStart -= UTF16.getCharCount(text.char32At(newStart-1));
+                    ++n;
+                }
+                newStart += n;
+            } else if (cursorPos > output.length()) {
+                newStart = start + outLen;
+                int n = cursorPos - output.length();
+                // Outside the output string, cursorPos counts code points
+                while (n > 0 && newStart < text.length()) {
+                    newStart += UTF16.getCharCount(text.char32At(newStart));
+                    --n;
+                }
+                newStart += n;
+            } else {
+                // Cursor is within output string.  It has been set up above
+                // to be relative to start.
+                newStart += start;
+            }
+
+            cursor[0] = newStart;
+        }
+
+        return outLen;
+    }
+
+    /**
+     * UnicodeReplacer API
+     */
+    public String toReplacerPattern(boolean escapeUnprintable) {
+        StringBuffer rule = new StringBuffer();
+        StringBuffer quoteBuf = new StringBuffer();
+
+        int cursor = cursorPos;
+
+        // Handle a cursor preceding the output
+        if (hasCursor && cursor < 0) {
+            while (cursor++ < 0) {
+                Utility.appendToRule(rule, '@', true, escapeUnprintable, quoteBuf);
+            }
+            // Fall through and append '|' below
+        }
+
+        for (int i=0; i<output.length(); ++i) {
+            if (hasCursor && i == cursor) {
+                Utility.appendToRule(rule, '|', true, escapeUnprintable, quoteBuf);
+            }
+            char c = output.charAt(i); // Ok to use 16-bits here
+
+            UnicodeReplacer r = data.lookupReplacer(c);
+            if (r == null) {
+                Utility.appendToRule(rule, c, false, escapeUnprintable, quoteBuf);
+            } else {
+                StringBuffer buf = new StringBuffer(" ");
+                buf.append(r.toReplacerPattern(escapeUnprintable));
+                buf.append(' ');
+                Utility.appendToRule(rule, buf.toString(),
+                                     true, escapeUnprintable, quoteBuf);
+            }
+        }
+
+        // Handle a cursor after the output.  Use > rather than >= because
+        // if cursor == output.length() it is at the end of the output,
+        // which is the default position, so we need not emit it.
+        if (hasCursor && cursor > output.length()) {
+            cursor -= output.length();
+            while (cursor-- > 0) {
+                Utility.appendToRule(rule, '@', true, escapeUnprintable, quoteBuf);
+            }
+            Utility.appendToRule(rule, '|', true, escapeUnprintable, quoteBuf);
+        }
+        // Flush quoteBuf out to result
+        Utility.appendToRule(rule, -1,
+                             true, escapeUnprintable, quoteBuf);
+
+        return rule.toString();
+    }
+
+    /**
+     * Union the set of all characters that may output by this object
+     * into the given set.
+     * @param toUnionTo the set into which to union the output characters
+     */
+    public void addReplacementSetTo(UnicodeSet toUnionTo) {
+        int ch;
+        for (int i=0; i<output.length(); i+=UTF16.getCharCount(ch)) {
+            ch = UTF16.charAt(output, i);
+            UnicodeReplacer r = data.lookupReplacer(ch);
+            if (r == null) {
+                toUnionTo.add(ch);
+            } else {
+                r.addReplacementSetTo(toUnionTo);
+            }
+        }
+    }
+}
+
+//eof
diff --git a/src/com/ibm/icu/text/StringSearch.java b/src/com/ibm/icu/text/StringSearch.java
new file mode 100755
index 0000000..fd92e17
--- /dev/null
+++ b/src/com/ibm/icu/text/StringSearch.java
@@ -0,0 +1,3109 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+package com.ibm.icu.text;
+
+import java.text.CharacterIterator;
+import java.text.StringCharacterIterator;
+import java.util.Locale;
+
+import com.ibm.icu.impl.CharacterIteratorWrapper;
+import com.ibm.icu.impl.NormalizerImpl;
+import com.ibm.icu.lang.UCharacter;
+import com.ibm.icu.util.ULocale;
+
+/**
+ * <p>
+ * <code>StringSearch</code> is the concrete subclass of 
+ * <code>SearchIterator</code> that provides language-sensitive text searching 
+ * based on the comparison rules defined in a {@link RuleBasedCollator} object.
+ * </p>
+ * <p>
+ * <code>StringSearch</code> uses a version of the fast Boyer-Moore search
+ * algorithm that has been adapted to work with the large character set of
+ * Unicode. Refer to 
+ * <a href="http://icu.sourceforge.net/docs/papers/efficient_text_searching_in_java.html">
+ * "Efficient Text Searching in Java"</a>, published in the 
+ * <i>Java Report</i> on February, 1999, for further information on the 
+ * algorithm.
+ * </p>
+ * <p>
+ * Users are also strongly encouraged to read the section on 
+ * <a href="http://icu.sourceforge.net/userguide/searchString.html">
+ * String Search</a> and 
+ * <a href="http://icu.sourceforge.net/userguide/Collate_Intro.html">
+ * Collation</a> in the user guide before attempting to use this class.
+ * </p>
+ * <p>
+ * String searching gets alittle complicated when accents are encountered at
+ * match boundaries. If a match is found and it has preceding or trailing 
+ * accents not part of the match, the result returned will include the 
+ * preceding accents up to the first base character, if the pattern searched 
+ * for starts an accent. Likewise, 
+ * if the pattern ends with an accent, all trailing accents up to the first
+ * base character will be included in the result.
+ * </p>
+ * <p>
+ * For example, if a match is found in target text "a&#92;u0325&#92;u0300" for 
+ * the pattern
+ * "a&#92;u0325", the result returned by StringSearch will be the index 0 and
+ * length 3 &lt;0, 3&gt;. If a match is found in the target 
+ * "a&#92;u0325&#92;u0300" 
+ * for the pattern "&#92;u0300", then the result will be index 1 and length 2 
+ * <1, 2>.
+ * </p>
+ * <p>
+ * In the case where the decomposition mode is on for the RuleBasedCollator,
+ * all matches that starts or ends with an accent will have its results include 
+ * preceding or following accents respectively. For example, if pattern "a" is
+ * looked for in the target text "&aacute;&#92;u0325", the result will be
+ * index 0 and length 2 &lt;0, 2&gt;.
+ * </p>
+ * <p>
+ * The StringSearch class provides two options to handle accent matching 
+ * described below:
+ * </p>
+ * <p>
+ * Let S' be the sub-string of a text string S between the offsets start and 
+ * end &lt;start, end&gt;.
+ * <br>
+ * A pattern string P matches a text string S at the offsets &lt;start, 
+ * length&gt; 
+ * <br>
+ * if
+ * <pre> 
+ * option 1. P matches some canonical equivalent string of S'. Suppose the 
+ *           RuleBasedCollator used for searching has a collation strength of 
+ *           TERTIARY, all accents are non-ignorable. If the pattern 
+ *           "a&#92;u0300" is searched in the target text 
+ *           "a&#92;u0325&#92;u0300", 
+ *           a match will be found, since the target text is canonically 
+ *           equivalent to "a&#92;u0300&#92;u0325"
+ * option 2. P matches S' and if P starts or ends with a combining mark, 
+ *           there exists no non-ignorable combining mark before or after S' 
+ *           in S respectively. Following the example above, the pattern 
+ *           "a&#92;u0300" will not find a match in "a&#92;u0325&#92;u0300", 
+ *           since
+ *           there exists a non-ignorable accent '&#92;u0325' in the middle of 
+ *           'a' and '&#92;u0300'. Even with a target text of 
+ *           "a&#92;u0300&#92;u0325" a match will not be found because of the 
+ *           non-ignorable trailing accent &#92;u0325.
+ * </pre>
+ * Option 2. will be the default mode for dealing with boundary accents unless
+ * specified via the API setCanonical(boolean).
+ * One restriction is to be noted for option 1. Currently there are no 
+ * composite characters that consists of a character with combining class > 0 
+ * before a character with combining class == 0. However, if such a character 
+ * exists in the future, the StringSearch may not work correctly with option 1
+ * when such characters are encountered.
+ * </p>
+ * <p>
+ * <tt>SearchIterator</tt> provides APIs to specify the starting position 
+ * within the text string to be searched, e.g. <tt>setIndex</tt>,
+ * <tt>preceding</tt> and <tt>following</tt>. Since the starting position will 
+ * be set as it is specified, please take note that there are some dangerous 
+ * positions which the search may render incorrect results:
+ * <ul>
+ * <li> The midst of a substring that requires decomposition.
+ * <li> If the following match is to be found, the position should not be the
+ *      second character which requires to be swapped with the preceding 
+ *      character. Vice versa, if the preceding match is to be found, 
+ *      position to search from should not be the first character which 
+ *      requires to be swapped with the next character. E.g certain Thai and
+ *      Lao characters require swapping.
+ * <li> If a following pattern match is to be found, any position within a 
+ *      contracting sequence except the first will fail. Vice versa if a 
+ *      preceding pattern match is to be found, a invalid starting point 
+ *      would be any character within a contracting sequence except the last.
+ * </ul>
+ * </p>
+ * <p>
+ * Though collator attributes will be taken into consideration while 
+ * performing matches, there are no APIs provided in StringSearch for setting 
+ * and getting the attributes. These attributes can be set by getting the 
+ * collator from <tt>getCollator</tt> and using the APIs in 
+ * <tt>com.ibm.icu.text.Collator</tt>. To update StringSearch to the new 
+ * collator attributes, <tt>reset()</tt> or 
+ * <tt>setCollator(RuleBasedCollator)</tt> has to be called.
+ * </p>
+ * <p>
+ * Consult the 
+ * <a href="http://icu.sourceforge.net/userguide/searchString.html">
+ * String Search</a> user guide and the <code>SearchIterator</code> 
+ * documentation for more information and examples of use.
+ * </p>
+ * <p>
+ * This class is not subclassable
+ * </p>
+ * @see SearchIterator
+ * @see RuleBasedCollator
+ * @author Laura Werner, synwee
+ * @stable ICU 2.0
+ */
+// internal notes: all methods do not guarantee the correct status of the 
+// characteriterator. the caller has to maintain the original index position
+// if necessary. methods could change the index position as it deems fit
+public final class StringSearch extends SearchIterator
+{
+    
+    // public constructors --------------------------------------------------
+    
+    /**
+     * Initializes the iterator to use the language-specific rules defined in 
+     * the argument collator to search for argument pattern in the argument 
+     * target text. The argument breakiter is used to define logical matches.
+     * See super class documentation for more details on the use of the target 
+     * text and BreakIterator.
+     * @param pattern text to look for.
+     * @param target target text to search for pattern. 
+     * @param collator RuleBasedCollator that defines the language rules
+     * @param breakiter A {@link BreakIterator} that is used to determine the 
+     *                boundaries of a logical match. This argument can be null.
+     * @exception IllegalArgumentException thrown when argument target is null,
+     *            or of length 0
+     * @see BreakIterator
+     * @see RuleBasedCollator
+     * @see SearchIterator
+     * @stable ICU 2.0
+     */
+    public StringSearch(String pattern, CharacterIterator target,
+                        RuleBasedCollator collator, BreakIterator breakiter) 
+    {
+        super(target, breakiter);
+        m_textBeginOffset_ = targetText.getBeginIndex();
+        m_textLimitOffset_ = targetText.getEndIndex();
+        m_collator_ = collator;
+        m_colEIter_ = m_collator_.getCollationElementIterator(target);
+        m_utilColEIter_ = collator.getCollationElementIterator("");
+        m_ceMask_ = getMask(m_collator_.getStrength());
+        m_isCanonicalMatch_ = false;
+        m_pattern_ = new Pattern(pattern);
+        m_matchedIndex_ = DONE;
+        
+        initialize();
+    }
+
+    /**
+     * Initializes the iterator to use the language-specific rules defined in 
+     * the argument collator to search for argument pattern in the argument 
+     * target text. No BreakIterators are set to test for logical matches.
+     * @param pattern text to look for.
+     * @param target target text to search for pattern. 
+     * @param collator RuleBasedCollator that defines the language rules
+     * @exception IllegalArgumentException thrown when argument target is null,
+     *            or of length 0
+     * @see RuleBasedCollator
+     * @see SearchIterator
+     * @stable ICU 2.0
+     */
+    public StringSearch(String pattern, CharacterIterator target,
+                        RuleBasedCollator collator) 
+    {
+        this(pattern, target, collator, BreakIterator.getCharacterInstance());
+    }
+
+    /**
+     * Initializes the iterator to use the language-specific rules and 
+     * break iterator rules defined in the argument locale to search for 
+     * argument pattern in the argument target text. 
+     * See super class documentation for more details on the use of the target 
+     * text and BreakIterator.
+     * @param pattern text to look for.
+     * @param target target text to search for pattern. 
+     * @param locale locale to use for language and break iterator rules
+     * @exception IllegalArgumentException thrown when argument target is null,
+     *            or of length 0. ClassCastException thrown if the collator for 
+     *            the specified locale is not a RuleBasedCollator.
+     * @see BreakIterator
+     * @see RuleBasedCollator
+     * @see SearchIterator
+     * @stable ICU 2.0
+     */
+    public StringSearch(String pattern, CharacterIterator target, Locale locale)
+    {
+        this(pattern, target, ULocale.forLocale(locale));
+    }
+
+    /**
+     * Initializes the iterator to use the language-specific rules and 
+     * break iterator rules defined in the argument locale to search for 
+     * argument pattern in the argument target text. 
+     * See super class documentation for more details on the use of the target 
+     * text and BreakIterator.
+     * @param pattern text to look for.
+     * @param target target text to search for pattern. 
+     * @param locale ulocale to use for language and break iterator rules
+     * @exception IllegalArgumentException thrown when argument target is null,
+     *            or of length 0. ClassCastException thrown if the collator for 
+     *            the specified locale is not a RuleBasedCollator.
+     * @see BreakIterator
+     * @see RuleBasedCollator
+     * @see SearchIterator
+     * @draft ICU 3.2
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public StringSearch(String pattern, CharacterIterator target, ULocale locale)
+    {
+        this(pattern, target, (RuleBasedCollator)Collator.getInstance(locale),
+             BreakIterator.getCharacterInstance(locale));
+    }
+
+    /**
+     * Initializes the iterator to use the language-specific rules and 
+     * break iterator rules defined in the default locale to search for 
+     * argument pattern in the argument target text. 
+     * See super class documentation for more details on the use of the target 
+     * text and BreakIterator.
+     * @param pattern text to look for.
+     * @param target target text to search for pattern. 
+     * @exception IllegalArgumentException thrown when argument target is null,
+     *            or of length 0. ClassCastException thrown if the collator for 
+     *            the default locale is not a RuleBasedCollator.
+     * @see BreakIterator
+     * @see RuleBasedCollator
+     * @see SearchIterator
+     * @stable ICU 2.0
+     */
+    public StringSearch(String pattern, String target) 
+    {
+        this(pattern, new StringCharacterIterator(target),
+             (RuleBasedCollator)Collator.getInstance(),
+             BreakIterator.getCharacterInstance());
+    }
+
+    // public getters -----------------------------------------------------
+    
+    /**
+     * <p>
+     * Gets the RuleBasedCollator used for the language rules.
+     * </p>
+     * <p>
+     * Since StringSearch depends on the returned RuleBasedCollator, any 
+     * changes to the RuleBasedCollator result should follow with a call to 
+     * either StringSearch.reset() or 
+     * StringSearch.setCollator(RuleBasedCollator) to ensure the correct 
+     * search behaviour.
+     * </p>
+     * @return RuleBasedCollator used by this StringSearch
+     * @see RuleBasedCollator
+     * @see #setCollator
+     * @stable ICU 2.0
+     */
+    public RuleBasedCollator getCollator() 
+    {
+        return m_collator_;
+    }
+    
+    /**
+     * Returns the pattern for which StringSearch is searching for.
+     * @return the pattern searched for
+     * @stable ICU 2.0
+     */
+    public String getPattern() 
+    {
+        return m_pattern_.targetText;
+    }
+    
+    /**
+     * Return the index in the target text where the iterator is currently 
+     * positioned at. 
+     * If the iteration has gone past the end of the target text or past 
+     * the beginning for a backwards search, {@link #DONE} is returned.
+     * @return index in the target text where the iterator is currently 
+     *         positioned at
+     * @stable ICU 2.8
+     */
+    public int getIndex() 
+    {
+        int result = m_colEIter_.getOffset();
+        if (isOutOfBounds(m_textBeginOffset_, m_textLimitOffset_, result)) {
+            return DONE;
+        }
+        return result;
+    }
+    
+    /**
+     * Determines whether canonical matches (option 1, as described in the 
+     * class documentation) is set.
+     * See setCanonical(boolean) for more information.
+     * @see #setCanonical
+     * @return true if canonical matches is set, false otherwise
+     * @stable ICU 2.8
+     */
+    public boolean isCanonical() 
+    {
+        return m_isCanonicalMatch_;
+    }
+    
+    // public setters -----------------------------------------------------
+    
+    /**
+     * <p>
+     * Sets the RuleBasedCollator to be used for language-specific searching.
+     * </p>
+     * <p>
+     * This method causes internal data such as Boyer-Moore shift tables
+     * to be recalculated, but the iterator's position is unchanged.
+     * </p>
+     * @param collator to use for this StringSearch
+     * @exception IllegalArgumentException thrown when collator is null
+     * @see #getCollator
+     * @stable ICU 2.0
+     */
+    public void setCollator(RuleBasedCollator collator) 
+    {
+        if (collator == null) {
+            throw new IllegalArgumentException("Collator can not be null");
+        }
+        m_collator_ = collator;
+        m_ceMask_ = getMask(m_collator_.getStrength());
+        // if status is a failure, ucol_getAttribute returns UCOL_DEFAULT
+        initialize();
+        m_colEIter_.setCollator(m_collator_);
+        m_utilColEIter_.setCollator(m_collator_);
+    }
+    
+    /**
+     * <p>
+     * Set the pattern to search for.  
+     * </p>
+     * <p>
+     * This method causes internal data such as Boyer-Moore shift tables
+     * to be recalculated, but the iterator's position is unchanged.
+     * </p>
+     * @param pattern for searching
+     * @see #getPattern
+     * @exception IllegalArgumentException thrown if pattern is null or of
+     *               length 0
+     * @stable ICU 2.0
+     */
+    public void setPattern(String pattern) 
+    {
+        if (pattern == null || pattern.length() <= 0) {
+            throw new IllegalArgumentException(
+                    "Pattern to search for can not be null or of length 0");
+        }
+        m_pattern_.targetText = pattern;
+        initialize();
+    }
+    
+    /**
+      * Set the target text to be searched. Text iteration will hence begin at 
+     * the start of the text string. This method is useful if you want to 
+     * re-use an iterator to search within a different body of text.
+     * @param text new text iterator to look for match, 
+     * @exception IllegalArgumentException thrown when text is null or has
+     *            0 length
+     * @see #getTarget
+     * @stable ICU 2.8
+     */
+    public void setTarget(CharacterIterator text)
+    {
+        super.setTarget(text);
+        m_textBeginOffset_ = targetText.getBeginIndex();
+        m_textLimitOffset_ = targetText.getEndIndex();
+        m_colEIter_.setText(targetText);
+    }
+    
+    /**
+     * <p>
+     * Sets the position in the target text which the next search will start 
+     * from to the argument. This method clears all previous states.
+     * </p>
+     * <p>
+     * This method takes the argument position and sets the position in the 
+     * target text accordingly, without checking if position is pointing to a 
+     * valid starting point to begin searching.
+     * </p>
+     * <p>
+     * Search positions that may render incorrect results are highlighted in 
+     * the class documentation.
+     * </p>
+     * @param position index to start next search from.
+     * @exception IndexOutOfBoundsException thrown if argument position is out
+     *            of the target text range.
+     * @see #getIndex
+     * @stable ICU 2.8
+     */
+    public void setIndex(int position)
+    {
+        super.setIndex(position);
+        m_matchedIndex_ = DONE;
+        m_colEIter_.setExactOffset(position);
+    }
+    
+    /**
+     * <p>
+     * Set the canonical match mode. See class documentation for details.
+     * The default setting for this property is false.
+     * </p>
+     * @param allowCanonical flag indicator if canonical matches are allowed
+     * @see #isCanonical
+     * @stable ICU 2.8
+     */
+    public void setCanonical(boolean allowCanonical)
+    {
+        m_isCanonicalMatch_ = allowCanonical;
+        if (m_isCanonicalMatch_ == true) {
+            if (m_canonicalPrefixAccents_ == null) {
+                m_canonicalPrefixAccents_ = new StringBuffer();
+            }
+            else {
+                m_canonicalPrefixAccents_.delete(0, 
+                                            m_canonicalPrefixAccents_.length());
+            }
+            if (m_canonicalSuffixAccents_ == null) {
+                m_canonicalSuffixAccents_ = new StringBuffer();
+            }
+            else {
+                m_canonicalSuffixAccents_.delete(0, 
+                                            m_canonicalSuffixAccents_.length());
+            }
+        }
+    }
+    
+    // public miscellaneous methods -----------------------------------------
+    
+    /** 
+     * <p>
+     * Resets the search iteration. All properties will be reset to the 
+     * default value.
+     * </p>
+     * <p>
+     * Search will begin at the start of the target text if a forward iteration 
+     * is initiated before a backwards iteration. Otherwise if a 
+     * backwards iteration is initiated before a forwards iteration, the search 
+     * will begin at the end of the target text.
+     * </p>
+     * <p>
+     * Canonical match option will be reset to false, ie an exact match.
+     * </p>
+     * @stable ICU 2.8
+     */
+    public void reset()
+    {
+        // reset is setting the attributes that are already in string search, 
+        // hence all attributes in the collator should be retrieved without any 
+        // problems
+        super.reset();
+        m_isCanonicalMatch_ = false;
+        m_ceMask_ = getMask(m_collator_.getStrength());
+        // if status is a failure, ucol_getAttribute returns UCOL_DEFAULT
+        initialize();
+        m_colEIter_.setCollator(m_collator_);
+        m_colEIter_.reset();
+        m_utilColEIter_.setCollator(m_collator_);
+    }
+
+    // protected methods -----------------------------------------------------
+    
+    /**
+     * <p>
+     * Concrete method to provide the mechanism 
+     * for finding the next <b>forwards</b> match in the target text.
+     * See super class documentation for its use.
+     * </p>  
+     * @param start index in the target text at which the forwards search 
+     *        should begin.
+     * @return the starting index of the next forwards match if found, DONE 
+     *         otherwise
+     * @see #handlePrevious(int)
+     * @see #DONE
+     * @stable ICU 2.8
+     */
+    protected int handleNext(int start)
+    {
+        if (m_pattern_.m_CELength_ == 0) {
+            matchLength = 0;
+            if (m_matchedIndex_ == DONE && start == m_textBeginOffset_) {
+                m_matchedIndex_ = start;
+                return m_matchedIndex_;
+            }
+            
+            targetText.setIndex(start);
+            char ch = targetText.current();
+            // ch can never be done, it is handled by next()
+            char ch2 = targetText.next();
+            if (ch2 == CharacterIterator.DONE) {
+                m_matchedIndex_ = DONE;    
+            }
+            else {
+                m_matchedIndex_ = targetText.getIndex();
+            }
+            if (UTF16.isLeadSurrogate(ch) && UTF16.isTrailSurrogate(ch2)) {
+                targetText.next();
+                m_matchedIndex_ = targetText.getIndex();
+            }
+        }
+        else {
+            if (matchLength <= 0) {
+                // we must have reversed direction after we reached the start
+                // of the target text
+                // see SearchIterator next(), it checks the bounds and returns
+                // if it exceeds the range. It does not allow setting of
+                // m_matchedIndex
+                if (start == m_textBeginOffset_) {
+                    m_matchedIndex_ = DONE;
+                }
+                else {
+                    // for boundary check purposes. this will ensure that the
+                    // next match will not preceed the current offset
+                    // note search->matchedIndex will always be set to something
+                    // in the code
+                    m_matchedIndex_ = start - 1;
+                }
+            }
+    
+            // status checked below
+            if (m_isCanonicalMatch_) {
+                // can't use exact here since extra accents are allowed.
+                handleNextCanonical(start);
+            }
+            else {
+                handleNextExact(start);
+            }
+        }
+        if (m_matchedIndex_ == DONE) {
+            targetText.setIndex(m_textLimitOffset_);
+        }
+        else {
+            targetText.setIndex(m_matchedIndex_);
+        }
+        return m_matchedIndex_;
+    }
+    
+    /**
+     * <p>
+     * Concrete method to provide the mechanism 
+     * for finding the next <b>backwards</b> match in the target text.
+     * See super class documentation for its use.
+     * </p>  
+     * @param start index in the target text at which the backwards search 
+     *        should begin.
+     * @return the starting index of the next backwards match if found, DONE 
+     *         otherwise
+     * @see #handleNext(int)
+     * @see #DONE
+     * @stable ICU 2.8
+     */
+    protected int handlePrevious(int start)
+    {
+        if (m_pattern_.m_CELength_ == 0) {
+            matchLength = 0;
+            // start can never be DONE or 0, it is handled in previous
+            targetText.setIndex(start);
+            char ch = targetText.previous();
+            if (ch == CharacterIterator.DONE) {
+                m_matchedIndex_ = DONE;
+            }
+            else {
+                m_matchedIndex_ = targetText.getIndex();
+                if (UTF16.isTrailSurrogate(ch)) {
+                    if (UTF16.isLeadSurrogate(targetText.previous())) {
+                        m_matchedIndex_ = targetText.getIndex();
+                    }
+                }
+            }            
+        }
+        else {
+            if (matchLength == 0) {
+                // we must have reversed direction after we reached the end
+                // of the target text
+                // see SearchIterator next(), it checks the bounds and returns
+                // if it exceeds the range. It does not allow setting of
+                // m_matchedIndex
+                m_matchedIndex_ = DONE;
+            }
+            if (m_isCanonicalMatch_) {
+                // can't use exact here since extra accents are allowed.
+                handlePreviousCanonical(start);
+            }
+            else {
+                handlePreviousExact(start);
+            }
+        }
+
+        if (m_matchedIndex_ == DONE) {
+            targetText.setIndex(m_textBeginOffset_);
+        }
+        else {
+            targetText.setIndex(m_matchedIndex_);
+        }
+        return m_matchedIndex_;
+    }
+
+    // private static inner classes ----------------------------------------
+    
+    private static class Pattern 
+    {
+        // protected methods -----------------------------------------------
+        
+        /**
+         * Pattern string
+         */
+        protected String targetText;
+        /**
+         * Array containing the collation elements of targetText
+         */
+        protected int m_CE_[];
+        /**
+         * Number of collation elements in m_CE_
+         */
+        protected int m_CELength_; 
+        /**
+         * Flag indicator if targetText starts with an accent
+         */
+        protected boolean m_hasPrefixAccents_;
+        /**
+         * Flag indicator if targetText ends with an accent
+         */
+        protected boolean m_hasSuffixAccents_;
+        /**
+         * Default number of characters to shift for Boyer Moore
+         */
+        protected int m_defaultShiftSize_;
+        /**
+         * Number of characters to shift for Boyer Moore, depending on the
+         * source text to search
+         */
+        protected char m_shift_[];
+        /**
+         * Number of characters to shift backwards for Boyer Moore, depending 
+         * on the source text to search
+         */
+        protected char m_backShift_[];
+        
+        // protected constructors ------------------------------------------
+        
+        /**
+         * Empty constructor 
+         */
+        protected Pattern(String pattern) 
+        {
+            targetText = pattern;
+            m_CE_ = new int[INITIAL_ARRAY_SIZE_];    
+            m_CELength_ = 0;
+            m_hasPrefixAccents_ = false;
+            m_hasSuffixAccents_ = false;
+            m_defaultShiftSize_ = 1;        
+            m_shift_ = new char[MAX_TABLE_SIZE_];
+            m_backShift_ = new char[MAX_TABLE_SIZE_];
+        }
+    };
+
+
+    // private data members ------------------------------------------------
+    
+    /**
+     * target text begin offset. Each targetText has a valid contiguous region 
+     * to iterate and this data member is the offset to the first such
+     * character in the region.
+     */
+    private int m_textBeginOffset_;
+    /**
+     * target text limit offset. Each targetText has a valid contiguous region 
+     * to iterate and this data member is the offset to 1 after the last such
+     * character in the region.
+     */
+    private int m_textLimitOffset_;
+    /**
+     * Upon completion of a search, m_matchIndex_ will store starting offset in
+     * m_text for the match. The Value DONE is the default value. 
+     * If we are not at the start of the text or the end of the text and 
+     * m_matchedIndex_ is DONE it means that we can find any more matches in 
+     * that particular direction
+     */
+    private int m_matchedIndex_; 
+    /**
+     * Current pattern to search for
+     */
+    private Pattern m_pattern_;
+    /**
+     * Collator whose rules are used to perform the search
+     */
+    private RuleBasedCollator m_collator_;
+    /** 
+     * The collation element iterator for the text source.
+     */
+    private CollationElementIterator m_colEIter_;
+    /** 
+     * Utility collation element, used throughout program for temporary 
+     * iteration.
+     */
+    private CollationElementIterator m_utilColEIter_;
+    /**
+     * The mask used on the collation elements to retrieve the valid strength
+     * weight 
+     */
+    private int m_ceMask_;
+    /**
+     * Buffer storing accents during a canonical search
+     */
+    private StringBuffer m_canonicalPrefixAccents_;
+    /**
+     * Buffer storing accents during a canonical search
+     */
+    private StringBuffer m_canonicalSuffixAccents_;
+    /**
+     * Flag to indicate if canonical search is to be done.
+     * E.g looking for "a\u0300" in "a\u0318\u0300" will yield the match at 0.
+     */
+    private boolean m_isCanonicalMatch_;
+    /**
+     * Size of the shift tables
+     */
+    private static final int MAX_TABLE_SIZE_ = 257; 
+    /**
+     * Initial array size
+     */
+    private static final int INITIAL_ARRAY_SIZE_ = 256;
+    /**
+     * Utility mask
+     */
+    private static final int SECOND_LAST_BYTE_SHIFT_ = 8;
+    /**
+     * Utility mask
+     */
+    private static final int LAST_BYTE_MASK_ = 0xff;
+    /**
+     * Utility buffer for return values and temporary storage
+     */
+    private int m_utilBuffer_[] = new int[2];
+
+    // private methods -------------------------------------------------------
+
+    /**
+     * Hash a collation element from its full size (32 bits) down into a
+     * value that can be used as an index into the shift tables.  Right
+     * now we do a modulus by the size of the hash table.
+     * @param ce collation element
+     * @return collapsed version of the collation element
+     */
+    private static final int hash(int ce) 
+    {
+        // the old value UCOL_PRIMARYORDER(ce) % MAX_TABLE_SIZE_ does not work
+        // well with the new collation where most of the latin 1 characters
+        // are of the value xx000xxx. their hashes will most of the time be 0
+        // to be discussed on the hash algo.
+        return CollationElementIterator.primaryOrder(ce) % MAX_TABLE_SIZE_;
+    }
+    
+    /**
+     * Gets the fcd value for a character at the argument index.
+     * This method takes into accounts of the supplementary characters.
+     * Note this method changes the offset in the character iterator.
+     * @param str UTF16 string where character for fcd retrieval resides
+     * @param offset position of the character whose fcd is to be retrieved
+     * @return fcd value
+     */
+    private static final char getFCD(CharacterIterator str, int offset)
+    {
+        str.setIndex(offset);
+        char ch = str.current();
+        char result = NormalizerImpl.getFCD16(ch);
+        
+        if ((result != 0) && (str.getEndIndex() != offset + 1) && 
+            UTF16.isLeadSurrogate(ch)) {
+            ch = str.next();
+            if (UTF16.isTrailSurrogate(ch)) {
+                result = NormalizerImpl.getFCD16FromSurrogatePair(result, ch);
+            } else {
+                result = 0;
+            }
+        }
+        return result;
+    }
+    
+    /**
+     * Gets the fcd value for a character at the argument index.
+     * This method takes into accounts of the supplementary characters.
+     * @param str UTF16 string where character for fcd retrieval resides
+     * @param offset position of the character whose fcd is to be retrieved
+     * @return fcd value
+     */
+    private static final char getFCD(String str, int offset)
+    {
+        char ch = str.charAt(offset);
+        char result = NormalizerImpl.getFCD16(ch);
+        
+        if ((result != 0) && (str.length() != offset + 1) && 
+            UTF16.isLeadSurrogate(ch)) {
+            ch = str.charAt(offset + 1);
+            if (UTF16.isTrailSurrogate(ch)) {
+                result = NormalizerImpl.getFCD16FromSurrogatePair(result, ch);
+            } else {
+                result = 0;
+            }
+        }
+        return result;
+    }
+    
+    /**
+    * Getting the modified collation elements taking into account the collation 
+    * attributes
+    * @param ce 
+    * @return the modified collation element
+    */
+    private final int getCE(int ce)
+    {
+        // note for tertiary we can't use the collator->tertiaryMask, that
+        // is a preprocessed mask that takes into account case options. since
+        // we are only concerned with exact matches, we don't need that.
+        ce &= m_ceMask_;
+        
+        if (m_collator_.isAlternateHandlingShifted()) {
+            // alternate handling here, since only the 16 most significant 
+            // digits is only used, we can safely do a compare without masking
+            // if the ce is a variable, we mask and get only the primary values
+            // no shifting to quartenary is required since all primary values
+            // less than variabletop will need to be masked off anyway.
+            if ((m_collator_.m_variableTopValue_  << 16) > ce) {
+                if (m_collator_.getStrength() == Collator.QUATERNARY) {
+                    ce = CollationElementIterator.primaryOrder(ce);
+                }
+                else { 
+                    ce = CollationElementIterator.IGNORABLE;
+                }
+            }
+        }
+    
+        return ce;
+    }
+    
+    /**
+     * Appends a int to a int array, increasing the size of the array when 
+     * we are out of space.
+     * @param offset in array to append to
+     * @param value to append
+     * @param array to append to
+     * @return the array appended to, this could be a new and bigger array
+     */
+    private static final int[] append(int offset, int value, int array[])
+    {
+        if (offset >= array.length) {
+            int temp[] = new int[offset + INITIAL_ARRAY_SIZE_];
+            System.arraycopy(array, 0, temp, 0, array.length);
+            array = temp;
+        }
+        array[offset] = value;
+        return array;
+    }
+    
+    /**
+     * Initializing the ce table for a pattern. Stores non-ignorable collation 
+     * keys. Table size will be estimated by the size of the pattern text. 
+     * Table expansion will be perform as we go along. Adding 1 to ensure that 
+     * the table size definitely increases.
+     * Internal method, status assumed to be a success.
+     * @return total number of expansions 
+     */
+    private final int initializePatternCETable()
+    {
+        m_utilColEIter_.setText(m_pattern_.targetText);
+        
+        int offset = 0;
+        int result = 0;
+        int ce = m_utilColEIter_.next();
+    
+        while (ce != CollationElementIterator.NULLORDER) {
+            int newce = getCE(ce);
+            if (newce != CollationElementIterator.IGNORABLE) {
+                m_pattern_.m_CE_ = append(offset, newce, m_pattern_.m_CE_);
+                offset ++;            
+            }
+            result += m_utilColEIter_.getMaxExpansion(ce) - 1;
+            ce = m_utilColEIter_.next();
+        }
+    
+        m_pattern_.m_CE_ = append(offset, 0, m_pattern_.m_CE_);
+        m_pattern_.m_CELength_ = offset;
+    
+        return result;
+    }
+    
+    /**
+     * Initializes the pattern struct.
+     * Internal method, status assumed to be success.
+     * @return expansionsize the total expansion size of the pattern
+     */ 
+    private final int initializePattern()
+    {
+        m_pattern_.m_hasPrefixAccents_ = (getFCD(m_pattern_.targetText, 0) 
+                                             >> SECOND_LAST_BYTE_SHIFT_) != 0;
+        m_pattern_.m_hasSuffixAccents_ = (getFCD(m_pattern_.targetText, 
+                                                 m_pattern_.targetText.length() 
+                                                 - 1) 
+                                            & LAST_BYTE_MASK_) != 0;
+        // since intializePattern is an internal method status is a success.
+        return initializePatternCETable();   
+    }
+    
+    /**
+     * Initializing shift tables, with the default values.
+     * If a corresponding default value is 0, the shift table is not set.
+     * @param shift table for forwards shift 
+     * @param backshift table for backwards shift
+     * @param cetable table containing pattern ce
+     * @param cesize size of the pattern ces
+     * @param expansionsize total size of the expansions
+     * @param defaultforward the default forward value
+     * @param defaultbackward the default backward value
+     */
+     private final void setShiftTable(char shift[], 
+                                                    char backshift[], 
+                                                    int cetable[], int cesize, 
+                                                      int expansionsize,
+                                                    char defaultforward,
+                                                      char defaultbackward)
+    {
+        // estimate the value to shift. to do that we estimate the smallest 
+        // number of characters to give the relevant ces, ie approximately
+        // the number of ces minus their expansion, since expansions can come 
+        // from a character.
+        for (int count = 0; count < MAX_TABLE_SIZE_; count ++) {
+            shift[count] = defaultforward;
+        }
+        cesize --; // down to the last index
+        for (int count = 0; count < cesize; count ++) {
+            // number of ces from right of array to the count
+            int temp = defaultforward - count - 1;
+            shift[hash(cetable[count])] = temp > 1 ? ((char)temp) : 1;
+        }
+        shift[hash(cetable[cesize])] = 1;
+        // for ignorables we just shift by one. see test examples.
+        shift[hash(0)] = 1;
+        
+        for (int count = 0; count < MAX_TABLE_SIZE_; count ++) {
+            backshift[count] = defaultbackward;
+        }
+        for (int count = cesize; count > 0; count --) {
+            // the original value count does not seem to work
+            backshift[hash(cetable[count])] = (char)(count > expansionsize ? 
+                                                      count - expansionsize : 1);
+        }
+        backshift[hash(cetable[0])] = 1;
+        backshift[hash(0)] = 1;
+    }
+    
+    /**
+     * <p>Building of the pattern collation element list and the Boyer Moore 
+     * StringSearch table.</p>
+     * <p>The canonical match will only be performed after the default match 
+     * fails.</p>
+     * <p>For both cases we need to remember the size of the composed and 
+     * decomposed versions of the string. Since the Boyer-Moore shift 
+     * calculations shifts by a number of characters in the text and tries to 
+     * match the pattern from that offset, the shift value can not be too large 
+     * in case we miss some characters. To choose a right shift size, we 
+     * estimate the NFC form of the and use its size as a shift guide. The NFC 
+     * form should be the small possible representation of the pattern. Anyways, 
+     * we'll err on the smaller shift size. Hence the calculation for 
+     * minlength. Canonical match will be performed slightly differently. We'll 
+     * split the pattern into 3 parts, the prefix accents (PA), the middle 
+     * string bounded by the first and last base character (MS), the ending 
+     * accents (EA). Matches will be done on MS first, and only when we match 
+     * MS then some processing will be required for the prefix and end accents 
+     * in order to determine if they match PA and EA. Hence the default shift 
+     * values for the canonical match will take the size of either end's accent 
+     * into consideration. Forwards search will take the end accents into 
+     * consideration for the default shift values and the backwards search will 
+     * take the prefix accents into consideration.</p>
+     * <p>If pattern has no non-ignorable ce, we return a illegal argument 
+     * error.</p>
+     */ 
+    private final void initialize()
+    {
+        int expandlength  = initializePattern();   
+        if (m_pattern_.m_CELength_ > 0) {
+            char minlength = (char)(m_pattern_.m_CELength_ > expandlength 
+                                ? m_pattern_.m_CELength_ - expandlength : 1);
+            m_pattern_.m_defaultShiftSize_ = minlength;
+            setShiftTable(m_pattern_.m_shift_, m_pattern_.m_backShift_, 
+                          m_pattern_.m_CE_, m_pattern_.m_CELength_, 
+                          expandlength, minlength, minlength);
+        }
+        else {
+            m_pattern_.m_defaultShiftSize_ = 0;
+        }
+    }
+    
+    /**
+     * Determine whether the search text bounded by the offset start and end is 
+     * one or more whole units of text as determined by the breakiterator in 
+     * StringSearch.
+     * @param start target text start offset
+     * @param end target text end offset
+     */
+    private final boolean isBreakUnit(int start, int end) 
+    {
+        if (breakIterator != null) {
+            int startindex = breakIterator.first();
+            int endindex   = breakIterator.last();
+            
+            // out-of-range indexes are never boundary positions
+            if (start < startindex || start > endindex || end < startindex 
+                || end > endindex) {
+                return false;
+            }
+            // otherwise, we can use following() on the position before the 
+            // specified one and return true of the position we get back is the 
+            // one the user specified
+            boolean result = (start == startindex 
+                              || breakIterator.following(start - 1) == start) 
+                             && (end == endindex 
+                                  || breakIterator.following(end - 1) == end);
+            if (result) {
+                // iterates the individual ces
+                m_utilColEIter_.setText(
+                    new CharacterIteratorWrapper(targetText), start);
+                for (int count = 0; count < m_pattern_.m_CELength_;
+                     count ++) {
+                    int ce = getCE(m_utilColEIter_.next());
+                    if (ce == CollationElementIterator.IGNORABLE) {
+                        count --;
+                        continue;
+                    }
+                    if (ce != m_pattern_.m_CE_[count]) {
+                        return false;
+                    }
+                }
+                int nextce = m_utilColEIter_.next();
+                while (m_utilColEIter_.getOffset() == end 
+                       && getCE(nextce) == CollationElementIterator.IGNORABLE) {
+                    nextce = m_utilColEIter_.next();       
+                }
+                if (nextce != CollationElementIterator.NULLORDER 
+                    && m_utilColEIter_.getOffset() == end) {
+                    // extra collation elements at the end of the match
+                    return false;
+                }
+            }
+            return result;
+        }
+        return true;
+    }
+    
+    /**
+     * Getting the next base character offset if current offset is an accent, 
+     * or the current offset if the current character contains a base character. 
+     * accents the following base character will be returned
+     * @param text string
+     * @param textoffset current offset
+     * @param textlength length of text string
+     * @return the next base character or the current offset
+     *         if the current character is contains a base character.
+     */
+    private final int getNextBaseOffset(CharacterIterator text, 
+                                                        int textoffset)
+    {
+        if (textoffset < text.getEndIndex()) {
+            while (text.getIndex() < text.getEndIndex()) { 
+                int result = textoffset;
+                if ((getFCD(text, textoffset ++) 
+                            >> SECOND_LAST_BYTE_SHIFT_) == 0) {
+                     return result;
+                }
+            }
+            return text.getEndIndex();
+        }
+        return textoffset;
+    }
+    
+    /**
+     * Gets the next base character offset depending on the string search 
+     * pattern data
+     * @param textoffset one offset away from the last character
+     *                   to search for.
+     * @return start index of the next base character or the current offset
+     *         if the current character is contains a base character.
+     */
+    private final int getNextBaseOffset(int textoffset)
+    {
+        if (m_pattern_.m_hasSuffixAccents_ 
+            && textoffset < m_textLimitOffset_) {
+            targetText.setIndex(textoffset);
+            targetText.previous();
+            if ((getFCD(targetText, targetText.getIndex()) & LAST_BYTE_MASK_) != 0) {
+                return getNextBaseOffset(targetText, textoffset);
+            }
+        }
+        return textoffset;
+    }
+    
+    /**
+     * Shifting the collation element iterator position forward to prepare for
+     * a following match. If the last character is a unsafe character, we'll 
+     * only shift by 1 to capture contractions, normalization etc.
+     * Internal method, status assumed to be success.
+     * @param textoffset start text position to do search
+     * @param ce the text ce which failed the match.
+     * @param patternceindex index of the ce within the pattern ce buffer which
+     *        failed the match
+     * @return final offset
+     */
+    private int shiftForward(int textoffset, int ce, int patternceindex)
+                                    
+    {
+        if (ce != CollationElementIterator.NULLORDER) {
+            int shift = m_pattern_.m_shift_[hash(ce)];
+            // this is to adjust for characters in the middle of the 
+            // substring for matching that failed.
+            int adjust = m_pattern_.m_CELength_ - patternceindex;
+            if (adjust > 1 && shift >= adjust) {
+                shift -= adjust - 1;
+            }
+            textoffset += shift;
+        }
+        else {
+            textoffset += m_pattern_.m_defaultShiftSize_;
+        }
+         
+        textoffset = getNextBaseOffset(textoffset);
+        // check for unsafe characters
+        // * if it is the start or middle of a contraction: to be done after 
+        //   a initial match is found
+        // * thai or lao base consonant character: similar to contraction
+        // * high surrogate character: similar to contraction
+        // * next character is a accent: shift to the next base character
+        return textoffset;
+    }
+    
+    /**
+     * Gets the offset to the next safe point in text.
+     * ie. not the middle of a contraction, swappable characters or 
+     * supplementary characters.
+     * @param textoffset offset in string
+     * @param end offset in string
+     * @return offset to the next safe character
+     */
+    private final int getNextSafeOffset(int textoffset, int end)
+    {
+        int result = textoffset; // first contraction character
+        targetText.setIndex(result);
+        while (result != end && 
+            m_collator_.isUnsafe(targetText.current())) {
+               result ++;
+               targetText.setIndex(result);
+        }
+        return result; 
+    }
+    
+    /** 
+     * This checks for accents in the potential match started with a composite 
+     * character.
+     * This is really painful... we have to check that composite character do 
+     * not have any extra accents. We have to normalize the potential match and 
+     * find the immediate decomposed character before the match.
+     * The first composite character would have been taken care of by the fcd 
+     * checks in checkForwardExactMatch.
+     * This is the slow path after the fcd of the first character and 
+     * the last character has been checked by checkForwardExactMatch and we 
+     * determine that the potential match has extra non-ignorable preceding
+     * ces.
+     * E.g. looking for \u0301 acute in \u01FA A ring above and acute, 
+     * checkExtraMatchAccent should fail since there is a middle ring in 
+     * \u01FA Note here that accents checking are slow and cautioned in the API 
+     * docs.
+     * Internal method, status assumed to be a success, caller should check 
+     * status before calling this method
+     * @param start index of the potential unfriendly composite character
+     * @param end index of the potential unfriendly composite character
+     * @return true if there is non-ignorable accents before at the beginning
+     *              of the match, false otherwise.
+     */
+    private final boolean checkExtraMatchAccents(int start, int end)
+    {
+        boolean result = false;
+        if (m_pattern_.m_hasPrefixAccents_) {
+            targetText.setIndex(start);
+            
+            if (UTF16.isLeadSurrogate(targetText.next())) {
+                if (!UTF16.isTrailSurrogate(targetText.next())) {
+                    targetText.previous();
+                }
+            }
+            // we are only concerned with the first composite character
+            String str = getString(targetText, start, end);
+            if (Normalizer.quickCheck(str, Normalizer.NFD,0) 
+                                                    == Normalizer.NO) {
+                int safeoffset = getNextSafeOffset(start, end);
+                if (safeoffset != end) {
+                    safeoffset ++;
+                }
+                String decomp = Normalizer.decompose(
+                                str.substring(0, safeoffset - start), false);
+                m_utilColEIter_.setText(decomp);
+                int firstce = m_pattern_.m_CE_[0];
+                boolean ignorable = true;
+                int ce = CollationElementIterator.IGNORABLE;
+                int offset = 0;
+                while (ce != firstce) {
+                    offset = m_utilColEIter_.getOffset();
+                    if (ce != firstce 
+                        && ce != CollationElementIterator.IGNORABLE) {
+                        ignorable = false;
+                    }
+                    ce = m_utilColEIter_.next();
+                }
+                m_utilColEIter_.setExactOffset(offset); // back up 1 to the 
+                m_utilColEIter_.previous();             // right offset
+                offset = m_utilColEIter_.getOffset();
+                result = !ignorable && (UCharacter.getCombiningClass(
+                                            UTF16.charAt(decomp, offset)) != 0);
+            }
+        }
+    
+        return result;
+    }
+    
+    /**
+    * Used by exact matches, checks if there are accents before the match. 
+    * This is really painful... we have to check that composite characters at
+    * the start of the matches have to not have any extra accents. 
+    * We check the FCD of the character first, if it starts with an accent and 
+    * the first pattern ce does not match the first ce of the character, we 
+    * bail.
+    * Otherwise we try normalizing the first composite 
+    * character and find the immediate decomposed character before the match to 
+    * see if it is an non-ignorable accent.
+    * Now normalizing the first composite character is enough because we ensure 
+    * that when the match is passed in here with extra beginning ces, the 
+    * first or last ce that match has to occur within the first character.
+    * E.g. looking for \u0301 acute in \u01FA A ring above and acute, 
+    * checkExtraMatchAccent should fail since there is a middle ring in \u01FA
+    * Note here that accents checking are slow and cautioned in the API docs.
+    * @param start offset 
+    * @param end offset
+    * @return true if there are accents on either side of the match, 
+    *         false otherwise
+    */
+    private final boolean hasAccentsBeforeMatch(int start, int end) 
+    {
+        if (m_pattern_.m_hasPrefixAccents_) {
+            // we have been iterating forwards previously
+            boolean ignorable = true;
+            int firstce = m_pattern_.m_CE_[0];
+            m_colEIter_.setExactOffset(start);
+            int ce  = getCE(m_colEIter_.next());
+            while (ce != firstce) {
+                if (ce != CollationElementIterator.IGNORABLE) {
+                    ignorable = false;
+                }
+                ce = getCE(m_colEIter_.next());
+            }
+            if (!ignorable && m_colEIter_.isInBuffer()) {
+                // within normalization buffer, discontiguous handled here
+                return true;
+            }
+    
+            // within text
+            boolean accent = (getFCD(targetText, start) >> SECOND_LAST_BYTE_SHIFT_)
+                                                        != 0; 
+            if (!accent) {
+                return checkExtraMatchAccents(start, end);
+            }
+            if (!ignorable) {
+                return true;
+            }
+            if (start > m_textBeginOffset_) {
+                targetText.setIndex(start);
+                targetText.previous();
+                if ((getFCD(targetText, targetText.getIndex()) & LAST_BYTE_MASK_) 
+                                                                        != 0) {
+                    m_colEIter_.setExactOffset(start);
+                    ce = m_colEIter_.previous();
+                    if (ce != CollationElementIterator.NULLORDER 
+                        && ce != CollationElementIterator.IGNORABLE) {
+                        return true;
+                    }
+                }
+            }
+        }
+      
+        return false;
+    }
+    
+    /**
+     * Used by exact matches, checks if there are accents bounding the match.
+     * Note this is the initial boundary check. If the potential match
+     * starts or ends with composite characters, the accents in those
+     * characters will be determined later.
+     * Not doing backwards iteration here, since discontiguos contraction for 
+     * backwards collation element iterator, use up too many characters.
+     * E.g. looking for \u030A ring in \u01FA A ring above and acute, 
+     * should fail since there is a acute at the end of \u01FA
+     * Note here that accents checking are slow and cautioned in the API docs.
+     * @param start offset of match
+     * @param end end offset of the match
+     * @return true if there are accents on either side of the match, 
+     *         false otherwise
+     */
+    private final boolean hasAccentsAfterMatch(int start, int end) 
+    {
+        if (m_pattern_.m_hasSuffixAccents_) {
+            targetText.setIndex(end);
+            if (end > m_textBeginOffset_ 
+                && UTF16.isTrailSurrogate(targetText.previous())) {
+                if (targetText.getIndex() > m_textBeginOffset_ &&
+                    !UTF16.isLeadSurrogate(targetText.previous())) {
+                    targetText.next();
+                }
+            }
+            if ((getFCD(targetText, targetText.getIndex()) & LAST_BYTE_MASK_) != 0) {
+                int firstce  = m_pattern_.m_CE_[0];
+                m_colEIter_.setExactOffset(start);
+                while (getCE(m_colEIter_.next()) != firstce) {
+                }
+                int count = 1;
+                while (count < m_pattern_.m_CELength_) {
+                    if (getCE(m_colEIter_.next()) 
+                        == CollationElementIterator.IGNORABLE) {
+                        count --;
+                    }
+                    count ++;
+                }
+                int ce = getCE(m_colEIter_.next());
+                if (ce != CollationElementIterator.NULLORDER 
+                            && ce != CollationElementIterator.IGNORABLE) {
+                    if (m_colEIter_.getOffset() <= end) {
+                        return true;
+                    }
+                    if ((getFCD(targetText, end) >> SECOND_LAST_BYTE_SHIFT_) 
+                        != 0) {
+                        return true;
+                    }
+                }
+            }
+        }
+        return false;
+    }
+    
+    /**
+    * Checks if the offset runs out of the text string range
+    * @param textstart offset of the first character in the range
+    * @param textlimit limit offset of the text string range
+    * @param offset to test
+    * @return true if offset is out of bounds, false otherwise
+    */
+    private static final boolean isOutOfBounds(int textstart, int textlimit, 
+                                                int offset)
+    {
+        return offset < textstart || offset > textlimit;
+    }
+    
+    /**
+     * Checks for identical match
+     * @param strsrch string search data
+     * @param start offset of possible match
+     * @param end offset of possible match
+     * @return true if identical match is found
+     */
+    private final boolean checkIdentical(int start, int end) 
+    {
+        if (m_collator_.getStrength() != Collator.IDENTICAL) {
+            return true;
+        }
+    
+        String textstr = getString(targetText, start, end - start);
+        if (Normalizer.quickCheck(textstr, Normalizer.NFD,0) 
+                                                    == Normalizer.NO) {
+            textstr = Normalizer.decompose(textstr, false);
+        }
+        String patternstr = m_pattern_.targetText;
+        if (Normalizer.quickCheck(patternstr, Normalizer.NFD,0) 
+                                                    == Normalizer.NO) {
+            patternstr = Normalizer.decompose(patternstr, false);
+        }
+        return textstr.equals(patternstr);
+    }
+    
+    /**
+     * Checks to see if the match is repeated
+     * @param start new match start index
+     * @param limit new match limit index
+     * @return true if the the match is repeated, false otherwise
+     */
+    private final boolean checkRepeatedMatch(int start, int limit)
+    {
+        if (m_matchedIndex_ == DONE) {
+            return false;
+        }
+        int end = limit - 1; // last character in the match
+        int lastmatchend = m_matchedIndex_ + matchLength - 1; 
+        if (!isOverlapping()) {
+            return (start >= m_matchedIndex_ && start <= lastmatchend) 
+                    || (end >= m_matchedIndex_ && end <= lastmatchend)
+                    || (start <= m_matchedIndex_ && end >= lastmatchend);
+                      
+        }
+        return start <= m_matchedIndex_ && end >= lastmatchend;
+    }
+    
+    /**
+     * Checks match for contraction. 
+     * If the match ends with a partial contraction we fail.
+     * If the match starts too far off (because of backwards iteration) we try 
+     * to chip off the extra characters depending on whether a breakiterator 
+     * has been used.
+     * Temporary utility buffer used to return modified start and end.
+     * @param start offset of potential match, to be modified if necessary
+     * @param end offset of potential match, to be modified if necessary
+     * @return true if match passes the contraction test, false otherwise.
+     */
+    private final boolean checkNextExactContractionMatch(int start, int end) 
+    {
+        // This part checks if either ends of the match contains potential 
+        // contraction. If so we'll have to iterate through them
+        char endchar = 0;
+        if (end < m_textLimitOffset_) {
+            targetText.setIndex(end);
+            endchar = targetText.current();
+        }
+        char poststartchar = 0;
+        if (start + 1 < m_textLimitOffset_) {
+            targetText.setIndex(start + 1);
+            poststartchar = targetText.current();
+        }
+        if (m_collator_.isUnsafe(endchar) 
+            || m_collator_.isUnsafe(poststartchar)) {
+            // expansion prefix, what's left to iterate
+            int bufferedCEOffset = m_colEIter_.m_CEBufferOffset_;
+            boolean hasBufferedCE = bufferedCEOffset > 0;
+            m_colEIter_.setExactOffset(start);
+            int temp = start;
+            while (bufferedCEOffset > 0) {
+                // getting rid of the redundant ce, caused by setOffset.
+                // since backward contraction/expansion may have extra ces if 
+                // we are in the normalization buffer, hasAccentsBeforeMatch 
+                // would have taken care of it.
+                // E.g. the character \u01FA will have an expansion of 3, but 
+                // if we are only looking for acute and ring \u030A and \u0301, 
+                // we'll have to skip the first ce in the expansion buffer.
+                m_colEIter_.next();
+                if (m_colEIter_.getOffset() != temp) {
+                    start = temp;
+                    temp  = m_colEIter_.getOffset();
+                }
+                bufferedCEOffset --;
+            }
+    
+            int count = 0;
+            while (count < m_pattern_.m_CELength_) {
+                int ce = getCE(m_colEIter_.next());
+                if (ce == CollationElementIterator.IGNORABLE) {
+                    continue;
+                }
+                if (hasBufferedCE && count == 0 
+                    && m_colEIter_.getOffset() != temp) {
+                    start = temp;
+                    temp   = m_colEIter_.getOffset();
+                }
+                if (ce != m_pattern_.m_CE_[count]) {
+                    end ++;
+                    end = getNextBaseOffset(end);  
+                    m_utilBuffer_[0] = start;
+                    m_utilBuffer_[1] = end;
+                    return false;
+                }
+                count ++;
+            }
+        } 
+        m_utilBuffer_[0] = start;
+        m_utilBuffer_[1] = end;
+        return true;
+    }
+    
+    
+    /**
+     * Checks and sets the match information if found.
+     * Checks 
+     * <ul>
+     * <li> the potential match does not repeat the previous match
+     * <li> boundaries are correct
+     * <li> exact matches has no extra accents
+     * <li> identical matchesb
+     * <li> potential match does not end in the middle of a contraction
+     * </ul>
+     * Otherwise the offset will be shifted to the next character.
+     * The result m_matchIndex_ and m_matchLength_ will be set to the truncated
+     * more fitting result value.
+     * Uses the temporary utility buffer for storing the modified textoffset.
+     * @param textoffset offset in the collation element text.
+     * @return true if the match is valid, false otherwise
+     */
+    private final boolean checkNextExactMatch(int textoffset)
+    {
+        int start = m_colEIter_.getOffset();        
+        if (!checkNextExactContractionMatch(start, textoffset)) {
+            // returns the modified textoffset
+            m_utilBuffer_[0] = m_utilBuffer_[1];
+            return false;
+        }
+    
+        start = m_utilBuffer_[0];
+        textoffset = m_utilBuffer_[1];
+        // this totally matches, however we need to check if it is repeating
+        if (!isBreakUnit(start, textoffset) 
+            || checkRepeatedMatch(start, textoffset) 
+            || hasAccentsBeforeMatch(start, textoffset) 
+            || !checkIdentical(start, textoffset) 
+            || hasAccentsAfterMatch(start, textoffset)) {
+            textoffset ++;
+            textoffset = getNextBaseOffset(textoffset);  
+            m_utilBuffer_[0] = textoffset;
+            return false;
+        }
+            
+        // totally match, we will get rid of the ending ignorables.
+        m_matchedIndex_  = start;
+        matchLength = textoffset - start;
+        return true;
+    }
+    
+    /**
+    * Getting the previous base character offset, or the current offset if the 
+    * current character is a base character
+    * @param text the source text to work on
+    * @param textoffset one offset after the current character
+    * @return the offset of the next character after the base character or the 
+    *             first composed character with accents
+    */
+    private final int getPreviousBaseOffset(CharacterIterator text, 
+                                            int textoffset)
+    {
+        if (textoffset > m_textBeginOffset_) {
+            while (true) {
+                int result = textoffset;
+                text.setIndex(result);
+                if (UTF16.isTrailSurrogate(text.previous())) {
+                    if (text.getIndex() != text.getBeginIndex() &&
+                        !UTF16.isLeadSurrogate(text.previous())) {
+                        text.next();
+                    }
+                }
+                textoffset = text.getIndex();
+                char fcd = getFCD(text, textoffset);
+                if ((fcd >> SECOND_LAST_BYTE_SHIFT_) == 0) {
+                    if ((fcd & LAST_BYTE_MASK_) != 0) {
+                        return textoffset;
+                    }
+                    return result;
+                }
+                if (textoffset == m_textBeginOffset_) {
+                    return m_textBeginOffset_;
+                }
+            }
+        }
+        return textoffset;
+    }
+    
+    /**
+    * Getting the indexes of the accents that are not blocked in the argument
+    * accent array
+    * @param accents accents in nfd.
+    * @param accentsindex array to store the indexes of accents in accents that 
+    *         are not blocked
+    * @return the length of populated accentsindex
+    */
+    private int getUnblockedAccentIndex(StringBuffer accents, 
+                                        int accentsindex[])
+    {
+        int index = 0;
+        int length = accents.length();
+        int cclass = 0;
+        int result = 0;
+        while (index < length) {
+            int codepoint = UTF16.charAt(accents, index);
+            int tempclass = UCharacter.getCombiningClass(codepoint);
+            if (tempclass != cclass) {
+                cclass = tempclass;
+                accentsindex[result] = index;
+                result ++;
+            }
+            if (UCharacter.isSupplementary(codepoint)) {
+                index += 2;
+            }
+            else {
+                index ++;
+            }
+        }
+        accentsindex[result] = length;
+        return result;
+    }
+
+    /**
+     * Appends 3 StringBuffer/CharacterIterator together into a destination 
+     * string buffer.
+     * @param source1 string buffer
+     * @param source2 character iterator
+     * @param start2 start of the character iterator to merge
+     * @param end2 end of the character iterator to merge
+     * @param source3 string buffer
+     * @return appended string buffer
+     */
+    private static final StringBuffer merge(StringBuffer source1, 
+                                             CharacterIterator source2,
+                                             int start2, int end2,
+                                             StringBuffer source3) 
+    {
+        StringBuffer result = new StringBuffer();    
+        if (source1 != null && source1.length() != 0) {
+            // jdk 1.3.1 does not have append(StringBuffer) yet
+            if(com.ibm.icu.impl.ICUDebug.isJDK14OrHigher){
+                result.append(source1);
+            }else{
+                result.append(source1.toString());
+            }
+        }
+        source2.setIndex(start2);
+        while (source2.getIndex() < end2) {
+            result.append(source2.current());
+            source2.next();
+        }
+        if (source3 != null && source3.length() != 0) {
+            // jdk 1.3.1 does not have append(StringBuffer) yet
+            if(com.ibm.icu.impl.ICUDebug.isJDK14OrHigher){
+                result.append(source3);
+            }else{
+                result.append(source3.toString());
+            }
+        }
+        return result;
+    }
+    
+    /**
+    * Running through a collation element iterator to see if the contents 
+    * matches pattern in string search data
+    * @param coleiter collation element iterator to test
+    * @return true if a match if found, false otherwise
+    */
+    private final boolean checkCollationMatch(CollationElementIterator coleiter)
+    {
+        int patternceindex = m_pattern_.m_CELength_;
+        int offset = 0;
+        while (patternceindex > 0) {
+            int ce = getCE(coleiter.next());
+            if (ce == CollationElementIterator.IGNORABLE) {
+                continue;
+            }
+            if (ce != m_pattern_.m_CE_[offset]) {
+                return false;
+            }
+            offset ++;
+            patternceindex --;
+        }
+        return true;
+    }
+    
+    /**
+     * Rearranges the front accents to try matching.
+     * Prefix accents in the text will be grouped according to their combining 
+     * class and the groups will be mixed and matched to try find the perfect 
+     * match with the pattern.
+     * So for instance looking for "\u0301" in "\u030A\u0301\u0325"
+     * step 1: split "\u030A\u0301" into 6 other type of potential accent 
+     *            substrings "\u030A", "\u0301", "\u0325", "\u030A\u0301", 
+     *            "\u030A\u0325", "\u0301\u0325".
+     * step 2: check if any of the generated substrings matches the pattern.
+     * Internal method, status is assumed to be success, caller has to check 
+     * status before calling this method.
+     * @param start first offset of the accents to start searching
+     * @param end start of the last accent set
+     * @return DONE if a match is not found, otherwise return the starting
+     *         offset of the match. Note this start includes all preceding 
+     *            accents.
+     */
+    private int doNextCanonicalPrefixMatch(int start, int end)
+    {
+        if ((getFCD(targetText, start) & LAST_BYTE_MASK_) == 0) {
+            // die... failed at a base character
+            return DONE;
+        }
+    
+        start = targetText.getIndex(); // index changed by fcd
+        int offset = getNextBaseOffset(targetText, start);
+        start = getPreviousBaseOffset(start);
+    
+        StringBuffer accents = new StringBuffer();
+        String accentstr = getString(targetText, start, offset - start);
+        // normalizing the offensive string
+        if (Normalizer.quickCheck(accentstr, Normalizer.NFD,0) 
+                                                    == Normalizer.NO) {
+            accentstr = Normalizer.decompose(accentstr, false);
+        }
+        accents.append(accentstr);
+            
+        int accentsindex[] = new int[INITIAL_ARRAY_SIZE_];      
+        int accentsize = getUnblockedAccentIndex(accents, accentsindex);
+        int count = (2 << (accentsize - 1)) - 1;  
+        while (count > 0) {
+            // copy the base characters
+            m_canonicalPrefixAccents_.delete(0, 
+                                        m_canonicalPrefixAccents_.length());
+            int k = 0;
+            for (; k < accentsindex[0]; k ++) {
+                m_canonicalPrefixAccents_.append(accents.charAt(k));
+            }
+            // forming all possible canonical rearrangement by dropping
+            // sets of accents
+            for (int i = 0; i <= accentsize - 1; i ++) {
+                int mask = 1 << (accentsize - i - 1);
+                if ((count & mask) != 0) {
+                    for (int j = accentsindex[i]; j < accentsindex[i + 1]; 
+                                                                        j ++) {
+                        m_canonicalPrefixAccents_.append(accents.charAt(j));
+                    }
+                }
+            }
+            StringBuffer match = merge(m_canonicalPrefixAccents_,
+                                       targetText, offset, end,
+                                       m_canonicalSuffixAccents_);
+                
+            // if status is a failure, ucol_setText does nothing.
+            // run the collator iterator through this match
+            m_utilColEIter_.setText(match.toString());
+            if (checkCollationMatch(m_utilColEIter_)) {
+                 return start;
+            }
+            count --;
+        }
+        return DONE;
+    }
+
+    /**
+    * Gets the offset to the safe point in text before textoffset.
+    * ie. not the middle of a contraction, swappable characters or 
+    * supplementary characters.
+    * @param start offset in string
+    * @param textoffset offset in string
+    * @return offset to the previous safe character
+    */
+    private final int getPreviousSafeOffset(int start, int textoffset)
+    {
+        int result = textoffset; // first contraction character
+        targetText.setIndex(textoffset);
+        while (result >= start && m_collator_.isUnsafe(targetText.previous())) {
+            result = targetText.getIndex();
+        }
+        if (result != start) {
+            // the first contraction character is consider unsafe here
+            result = targetText.getIndex(); // originally result --;
+        }
+        return result; 
+    }
+
+    /**
+     * Take the rearranged end accents and tries matching. If match failed at
+     * a seperate preceding set of accents (seperated from the rearranged on by
+     * at least a base character) then we rearrange the preceding accents and 
+     * tries matching again.
+     * We allow skipping of the ends of the accent set if the ces do not match. 
+     * However if the failure is found before the accent set, it fails.
+     * Internal method, status assumed to be success, caller has to check 
+     * status before calling this method.
+     * @param textoffset of the start of the rearranged accent
+     * @return DONE if a match is not found, otherwise return the starting
+     *         offset of the match. Note this start includes all preceding 
+     *         accents.
+     */
+    private int doNextCanonicalSuffixMatch(int textoffset)
+    {
+        int safelength = 0;
+        StringBuffer safetext;
+        int safeoffset = m_textBeginOffset_; 
+        
+        if (textoffset != m_textBeginOffset_ 
+            && m_canonicalSuffixAccents_.length() > 0
+            && m_collator_.isUnsafe(m_canonicalSuffixAccents_.charAt(0))) {
+            safeoffset     = getPreviousSafeOffset(m_textBeginOffset_, 
+                                                    textoffset);
+            safelength     = textoffset - safeoffset;
+            safetext       = merge(null, targetText, safeoffset, textoffset, 
+                                   m_canonicalSuffixAccents_);
+        }
+        else {
+            safetext = m_canonicalSuffixAccents_;
+        }
+    
+        // if status is a failure, ucol_setText does nothing
+        CollationElementIterator coleiter = m_utilColEIter_;
+        coleiter.setText(safetext.toString());
+        // status checked in loop below
+    
+        int ceindex = m_pattern_.m_CELength_ - 1;
+        boolean isSafe = true; // indication flag for position in safe zone
+        
+        while (ceindex >= 0) {
+            int textce = coleiter.previous();
+            if (textce == CollationElementIterator.NULLORDER) {
+                // check if we have passed the safe buffer
+                if (coleiter == m_colEIter_) {
+                    return DONE;
+                }
+                coleiter = m_colEIter_;
+                if (safetext != m_canonicalSuffixAccents_) {
+                    safetext.delete(0, safetext.length());
+                }
+                coleiter.setExactOffset(safeoffset);
+                // status checked at the start of the loop
+                isSafe = false;
+                continue;
+            }
+            textce = getCE(textce);
+            if (textce != CollationElementIterator.IGNORABLE 
+                && textce != m_pattern_.m_CE_[ceindex]) {
+                // do the beginning stuff
+                int failedoffset = coleiter.getOffset();
+                if (isSafe && failedoffset >= safelength) {
+                    // alas... no hope. failed at rearranged accent set
+                    return DONE;
+                }
+                else {
+                    if (isSafe) {
+                        failedoffset += safeoffset;
+                    }
+                    
+                    // try rearranging the front accents
+                    int result = doNextCanonicalPrefixMatch(failedoffset, 
+                                                            textoffset);
+                    if (result != DONE) {
+                        // if status is a failure, ucol_setOffset does nothing
+                        m_colEIter_.setExactOffset(result);
+                    }
+                    return result;
+                }
+            }
+            if (textce == m_pattern_.m_CE_[ceindex]) {
+                ceindex --;
+            }
+        }
+        // set offset here
+        if (isSafe) {
+            int result = coleiter.getOffset();
+            // sets the text iterator with the correct expansion and offset
+            int leftoverces = coleiter.m_CEBufferOffset_;
+            if (result >= safelength) { 
+                result = textoffset;
+            }
+            else {
+                result += safeoffset;
+            }
+            m_colEIter_.setExactOffset(result);
+            m_colEIter_.m_CEBufferOffset_ = leftoverces;
+            return result;
+        }
+        
+        return coleiter.getOffset();              
+    }
+    
+    /**
+     * Trying out the substring and sees if it can be a canonical match.
+     * This will try normalizing the end accents and arranging them into 
+     * canonical equivalents and check their corresponding ces with the pattern 
+     * ce.
+     * Suffix accents in the text will be grouped according to their combining 
+     * class and the groups will be mixed and matched to try find the perfect 
+     * match with the pattern.
+     * So for instance looking for "\u0301" in "\u030A\u0301\u0325"
+     * step 1: split "\u030A\u0301" into 6 other type of potential accent 
+     *         substrings
+     *         "\u030A", "\u0301", "\u0325", "\u030A\u0301", "\u030A\u0325", 
+     *         "\u0301\u0325".
+     * step 2: check if any of the generated substrings matches the pattern.
+     * @param textoffset end offset in the collation element text that ends with 
+     *                   the accents to be rearranged
+     * @return true if the match is valid, false otherwise
+     */
+    private boolean doNextCanonicalMatch(int textoffset)
+    {
+        int offset = m_colEIter_.getOffset();
+        targetText.setIndex(textoffset);
+        if (UTF16.isTrailSurrogate(targetText.previous()) 
+            && targetText.getIndex() > m_textBeginOffset_) { 
+            if (!UTF16.isLeadSurrogate(targetText.previous())) {
+                targetText.next();
+            }
+        }
+        if ((getFCD(targetText, targetText.getIndex()) & LAST_BYTE_MASK_) == 0) {
+            if (m_pattern_.m_hasPrefixAccents_) {
+                offset = doNextCanonicalPrefixMatch(offset, textoffset);
+                if (offset != DONE) {
+                    m_colEIter_.setExactOffset(offset);
+                    return true;
+                }
+            }
+            return false;
+        }
+    
+        if (!m_pattern_.m_hasSuffixAccents_) {
+            return false;
+        }
+    
+        StringBuffer accents = new StringBuffer();
+        // offset to the last base character in substring to search
+        int baseoffset = getPreviousBaseOffset(targetText, textoffset);
+        // normalizing the offensive string
+        String accentstr = getString(targetText, baseoffset, 
+                                     textoffset - baseoffset);
+        if (Normalizer.quickCheck(accentstr, Normalizer.NFD,0) 
+                                                    == Normalizer.NO) {
+            accentstr = Normalizer.decompose(accentstr, false);
+        }
+        accents.append(accentstr);
+        // status checked in loop below
+            
+        int accentsindex[] = new int[INITIAL_ARRAY_SIZE_];
+        int size = getUnblockedAccentIndex(accents, accentsindex);
+    
+        // 2 power n - 1 plus the full set of accents
+        int  count = (2 << (size - 1)) - 1;  
+        while (count > 0) {
+            m_canonicalSuffixAccents_.delete(0, 
+                                           m_canonicalSuffixAccents_.length());
+            // copy the base characters
+            for (int k = 0; k < accentsindex[0]; k ++) {
+                m_canonicalSuffixAccents_.append(accents.charAt(k));
+            }
+            // forming all possible canonical rearrangement by dropping
+            // sets of accents
+            for (int i = 0; i <= size - 1; i ++) {
+                int mask = 1 << (size - i - 1);
+                if ((count & mask) != 0) {
+                    for (int j = accentsindex[i]; j < accentsindex[i + 1]; 
+                        j ++) {
+                        m_canonicalSuffixAccents_.append(accents.charAt(j));
+                    }
+                }
+            }
+            offset = doNextCanonicalSuffixMatch(baseoffset);
+            if (offset != DONE) {
+                return true; // match found
+            }
+            count --;
+        }
+        return false;
+    }
+    
+    /**
+     * Gets the previous base character offset depending on the string search 
+     * pattern data
+     * @param strsrch string search data
+     * @param textoffset current offset, current character
+     * @return the offset of the next character after this base character or 
+     *             itself if it is a composed character with accents
+     */
+    private final int getPreviousBaseOffset(int textoffset)
+    {
+        if (m_pattern_.m_hasPrefixAccents_ && textoffset > m_textBeginOffset_) {
+            int offset = textoffset;
+            if ((getFCD(targetText, offset) >> SECOND_LAST_BYTE_SHIFT_) != 0) {
+                return getPreviousBaseOffset(targetText, textoffset);
+            }
+        }
+        return textoffset;
+    }
+    
+    /**
+     * Checks match for contraction. 
+     * If the match ends with a partial contraction we fail.
+     * If the match starts too far off (because of backwards iteration) we try 
+     * to chip off the extra characters.
+     * Uses the temporary util buffer for return values of the modified start
+     * and end.
+     * @param start offset of potential match, to be modified if necessary
+     * @param end offset of potential match, to be modified if necessary
+     * @return true if match passes the contraction test, false otherwise. 
+     */
+    private boolean checkNextCanonicalContractionMatch(int start, int end) 
+    {
+        // This part checks if either ends of the match contains potential 
+        // contraction. If so we'll have to iterate through them
+        char schar = 0;
+        char echar = 0;
+        if (end < m_textLimitOffset_) {
+            targetText.setIndex(end);
+            echar = targetText.current();
+        }
+        if (start < m_textLimitOffset_) {
+            targetText.setIndex(start + 1);
+            schar = targetText.current();
+        }
+        if (m_collator_.isUnsafe(echar) || m_collator_.isUnsafe(schar)) {
+            int expansion  = m_colEIter_.m_CEBufferOffset_;
+            boolean hasExpansion = expansion > 0;
+            m_colEIter_.setExactOffset(start);
+            int temp = start;
+            while (expansion > 0) {
+                // getting rid of the redundant ce, caused by setOffset.
+                // since backward contraction/expansion may have extra ces if 
+                // we are in the normalization buffer, hasAccentsBeforeMatch 
+                // would have taken care of it.
+                // E.g. the character \u01FA will have an expansion of 3, but 
+                // if we are only looking for acute and ring \u030A and \u0301, 
+                // we'll have to skip the first ce in the expansion buffer.
+                m_colEIter_.next();
+                if (m_colEIter_.getOffset() != temp) {
+                    start = temp;
+                    temp  = m_colEIter_.getOffset();
+                }
+                expansion --;
+            }
+    
+            int count = 0;
+            while (count < m_pattern_.m_CELength_) {
+                int ce = getCE(m_colEIter_.next());
+                // status checked below, note that if status is a failure
+                // ucol_next returns UCOL_NULLORDER
+                if (ce == CollationElementIterator.IGNORABLE) {
+                    continue;
+                }
+                if (hasExpansion && count == 0 
+                    && m_colEIter_.getOffset() != temp) {
+                    start = temp;
+                    temp = m_colEIter_.getOffset();
+                }
+    
+                if (count == 0 && ce != m_pattern_.m_CE_[0]) {
+                    // accents may have extra starting ces, this occurs when a 
+                    // pure accent pattern is matched without rearrangement
+                    // text \u0325\u0300 and looking for \u0300
+                    int expected = m_pattern_.m_CE_[0]; 
+                    if ((getFCD(targetText, start) & LAST_BYTE_MASK_) != 0) {
+                        ce = getCE(m_colEIter_.next());
+                        while (ce != expected 
+                               && ce != CollationElementIterator.NULLORDER 
+                               && m_colEIter_.getOffset() <= end) {
+                            ce = getCE(m_colEIter_.next());
+                        }
+                    }
+                }
+                if (ce != m_pattern_.m_CE_[count]) {
+                    end ++;
+                    end = getNextBaseOffset(end);  
+                    m_utilBuffer_[0] = start;
+                    m_utilBuffer_[1] = end;
+                    return false;
+                }
+                count ++;
+            }
+        } 
+        m_utilBuffer_[0] = start;
+        m_utilBuffer_[1] = end;
+        return true;
+    }
+
+    /**
+     * Checks and sets the match information if found.
+     * Checks 
+     * <ul>
+     * <li> the potential match does not repeat the previous match
+     * <li> boundaries are correct
+     * <li> potential match does not end in the middle of a contraction
+     * <li> identical matches
+     * </ul>
+     * Otherwise the offset will be shifted to the next character.
+     * The result m_matchIndex_ and m_matchLength_ will be set to the truncated
+     * more fitting result value.
+     * Uses the temporary utility buffer for storing the modified textoffset.
+     * @param textoffset offset in the collation element text.
+     * @return true if the match is valid, false otherwise
+     */
+    private boolean checkNextCanonicalMatch(int textoffset)
+    {
+        // to ensure that the start and ends are not composite characters
+        // if we have a canonical accent match
+        if ((m_pattern_.m_hasSuffixAccents_ 
+                && m_canonicalSuffixAccents_.length() != 0) || 
+            (m_pattern_.m_hasPrefixAccents_ 
+                && m_canonicalPrefixAccents_.length() != 0)) {
+            m_matchedIndex_ = getPreviousBaseOffset(m_colEIter_.getOffset());
+            matchLength = textoffset - m_matchedIndex_;
+            return true;
+        }
+    
+        int start = m_colEIter_.getOffset();
+        if (!checkNextCanonicalContractionMatch(start, textoffset)) {
+            // return the modified textoffset
+            m_utilBuffer_[0] = m_utilBuffer_[1]; 
+            return false;
+        }
+        start = m_utilBuffer_[0];
+        textoffset = m_utilBuffer_[1];
+        start = getPreviousBaseOffset(start);
+        // this totally matches, however we need to check if it is repeating
+        if (checkRepeatedMatch(start, textoffset) 
+            || !isBreakUnit(start, textoffset) 
+            || !checkIdentical(start, textoffset)) {
+            textoffset ++;
+            textoffset = getNextBaseOffset(targetText, textoffset);
+            m_utilBuffer_[0] = textoffset;
+            return false;
+        }
+        
+        m_matchedIndex_  = start;
+        matchLength = textoffset - start;
+        return true;
+    }
+    
+    /**
+     * Shifting the collation element iterator position forward to prepare for
+     * a preceding match. If the first character is a unsafe character, we'll 
+     * only shift by 1 to capture contractions, normalization etc.
+     * @param textoffset start text position to do search
+     * @param ce the text ce which failed the match.
+     * @param patternceindex index of the ce within the pattern ce buffer which
+     *        failed the match
+     * @return final offset
+     */
+    private int reverseShift(int textoffset, int ce, int patternceindex)
+    {         
+        if (isOverlapping()) {
+            if (textoffset != m_textLimitOffset_) {
+                textoffset --;
+            }
+            else {
+                textoffset -= m_pattern_.m_defaultShiftSize_;
+            }
+        }
+        else {
+            if (ce != CollationElementIterator.NULLORDER) {
+                int shift = m_pattern_.m_backShift_[hash(ce)];
+                
+                // this is to adjust for characters in the middle of the substring 
+                // for matching that failed.
+                int adjust = patternceindex;
+                if (adjust > 1 && shift > adjust) {
+                    shift -= adjust - 1;
+                }
+                textoffset -= shift;
+            }
+            else {
+                textoffset -= m_pattern_.m_defaultShiftSize_;
+            }
+        }    
+        
+        textoffset = getPreviousBaseOffset(textoffset);
+        return textoffset;
+    }
+
+    /**
+     * Checks match for contraction. 
+     * If the match starts with a partial contraction we fail.
+     * Uses the temporary utility buffer to return the modified start and end.
+     * @param start offset of potential match, to be modified if necessary
+     * @param end offset of potential match, to be modified if necessary
+     * @return true if match passes the contraction test, false otherwise.
+     */
+    private boolean checkPreviousExactContractionMatch(int start, int end) 
+    {
+        // This part checks if either ends of the match contains potential 
+        // contraction. If so we'll have to iterate through them
+        char echar = 0;
+        if (end < m_textLimitOffset_) {
+            targetText.setIndex(end);
+            echar = targetText.current();
+        }
+        char schar = 0;
+        if (start + 1 < m_textLimitOffset_) {
+            targetText.setIndex(start + 1);
+            schar = targetText.current();
+        }
+        if (m_collator_.isUnsafe(echar) || m_collator_.isUnsafe(schar)) {
+            // expansion suffix, what's left to iterate
+            int expansion = m_colEIter_.m_CEBufferSize_ 
+                                            - m_colEIter_.m_CEBufferOffset_;
+            boolean hasExpansion = expansion > 0;
+            m_colEIter_.setExactOffset(end);
+            int temp = end;
+            while (expansion > 0) {
+                // getting rid of the redundant ce
+                // since forward contraction/expansion may have extra ces
+                // if we are in the normalization buffer, hasAccentsBeforeMatch
+                // would have taken care of it.
+                // E.g. the character \u01FA will have an expansion of 3, but if
+                // we are only looking for A ring A\u030A, we'll have to skip the 
+                // last ce in the expansion buffer
+                m_colEIter_.previous();
+                if (m_colEIter_.getOffset() != temp) {
+                    end = temp;
+                    temp = m_colEIter_.getOffset();
+                }
+                expansion --;
+            }
+    
+            int count = m_pattern_.m_CELength_;
+            while (count > 0) {
+                int ce = getCE(m_colEIter_.previous());
+                // status checked below, note that if status is a failure
+                // ucol_previous returns UCOL_NULLORDER
+                if (ce == CollationElementIterator.IGNORABLE) {
+                    continue;
+                }
+                if (hasExpansion && count == 0 
+                    && m_colEIter_.getOffset() != temp) {
+                    end = temp;
+                    temp = m_colEIter_.getOffset();
+                }
+                if (ce != m_pattern_.m_CE_[count - 1]) {
+                    start --;
+                    start = getPreviousBaseOffset(targetText, start);
+                    m_utilBuffer_[0] = start;
+                    m_utilBuffer_[1] = end;
+                    return false;
+                }
+                count --;
+            }
+        } 
+        m_utilBuffer_[0] = start;
+        m_utilBuffer_[1] = end;
+        return true;
+    }
+    
+    /**
+     * Checks and sets the match information if found.
+     * Checks 
+     * <ul>
+     * <li> the current match does not repeat the last match
+     * <li> boundaries are correct
+     * <li> exact matches has no extra accents
+     * <li> identical matches
+     * </ul>
+     * Otherwise the offset will be shifted to the preceding character.
+     * Uses the temporary utility buffer to store the modified textoffset.
+     * @param textoffset offset in the collation element text. the returned value
+     *        will be the truncated start offset of the match or the new start 
+     *        search offset.
+     * @return true if the match is valid, false otherwise
+     */
+    private final boolean checkPreviousExactMatch(int textoffset)
+    {
+        // to ensure that the start and ends are not composite characters
+        int end = m_colEIter_.getOffset();        
+        if (!checkPreviousExactContractionMatch(textoffset, end)) {
+            return false;
+        }
+        textoffset = m_utilBuffer_[0];
+        end = m_utilBuffer_[1];
+            
+        // this totally matches, however we need to check if it is repeating
+        // the old match
+        if (checkRepeatedMatch(textoffset, end) 
+            || !isBreakUnit(textoffset, end) 
+            || hasAccentsBeforeMatch(textoffset, end) 
+            || !checkIdentical(textoffset, end) 
+            || hasAccentsAfterMatch(textoffset, end)) {
+            textoffset --;
+            textoffset = getPreviousBaseOffset(targetText, textoffset);
+            m_utilBuffer_[0] = textoffset;
+            return false;
+        }
+        m_matchedIndex_ = textoffset;
+        matchLength = end - textoffset;
+        return true;
+    }
+
+    /**
+     * Rearranges the end accents to try matching.
+     * Suffix accents in the text will be grouped according to their combining 
+     * class and the groups will be mixed and matched to try find the perfect 
+     * match with the pattern.
+     * So for instance looking for "\u0301" in "\u030A\u0301\u0325"
+     * step 1: split "\u030A\u0301" into 6 other type of potential accent 
+     *             substrings
+     *         "\u030A", "\u0301", "\u0325", "\u030A\u0301", "\u030A\u0325", 
+     *         "\u0301\u0325".
+     * step 2: check if any of the generated substrings matches the pattern.
+     * @param start offset of the first base character
+     * @param end start of the last accent set
+     * @return DONE if a match is not found, otherwise return the ending
+     *         offset of the match. Note this start includes all following 
+     *         accents.
+     */
+    private int doPreviousCanonicalSuffixMatch(int start, int end)
+    {
+        targetText.setIndex(end);
+        if (UTF16.isTrailSurrogate(targetText.previous()) 
+            && targetText.getIndex() > m_textBeginOffset_) {
+            if (!UTF16.isLeadSurrogate(targetText.previous())) {
+                targetText.next();
+            } 
+        }
+        if ((getFCD(targetText, targetText.getIndex()) & LAST_BYTE_MASK_) == 0) {
+            // die... failed at a base character
+            return DONE;
+        }
+        end = getNextBaseOffset(targetText, end);
+    
+        StringBuffer accents = new StringBuffer();
+        int offset = getPreviousBaseOffset(targetText, end);
+        // normalizing the offensive string
+        String accentstr = getString(targetText, offset, end - offset);
+        if (Normalizer.quickCheck(accentstr, Normalizer.NFD,0) 
+                                                    == Normalizer.NO) {
+            accentstr = Normalizer.decompose(accentstr, false);
+        }
+        accents.append(accentstr);    
+            
+        int accentsindex[] = new int[INITIAL_ARRAY_SIZE_];      
+        int accentsize = getUnblockedAccentIndex(accents, accentsindex);
+        int count = (2 << (accentsize - 1)) - 1;  
+        while (count > 0) {
+            m_canonicalSuffixAccents_.delete(0, 
+                                           m_canonicalSuffixAccents_.length());
+            // copy the base characters
+            for (int k = 0; k < accentsindex[0]; k ++) {
+                 m_canonicalSuffixAccents_.append(accents.charAt(k));
+            }
+            // forming all possible canonical rearrangement by dropping
+            // sets of accents
+            for (int i = 0; i <= accentsize - 1; i ++) {
+                int mask = 1 << (accentsize - i - 1);
+                if ((count & mask) != 0) {
+                    for (int j = accentsindex[i]; j < accentsindex[i + 1]; 
+                                                                        j ++) {
+                        m_canonicalSuffixAccents_.append(accents.charAt(j));
+                    }
+                }
+            }
+            StringBuffer match = merge(m_canonicalPrefixAccents_, targetText,
+                                        start, offset, 
+                                        m_canonicalSuffixAccents_);
+            // run the collator iterator through this match
+            // if status is a failure ucol_setText does nothing
+            m_utilColEIter_.setText(match.toString());
+            if (checkCollationMatch(m_utilColEIter_)) {
+                return end;
+            }
+            count --;
+        }
+        return DONE;
+    }
+    
+    /**
+     * Take the rearranged start accents and tries matching. If match failed at
+     * a seperate following set of accents (seperated from the rearranged on by
+     * at least a base character) then we rearrange the preceding accents and 
+     * tries matching again.
+     * We allow skipping of the ends of the accent set if the ces do not match. 
+     * However if the failure is found before the accent set, it fails.
+     * Internal method, status assumed to be success, caller has to check 
+     * status before calling this method.
+     * @param textoffset of the ends of the rearranged accent
+     * @return DONE if a match is not found, otherwise return the ending offset 
+     *             of the match. Note this start includes all following accents.
+     */
+    private int doPreviousCanonicalPrefixMatch(int textoffset)
+    {
+       // int safelength = 0;
+        StringBuffer safetext;
+        int safeoffset = textoffset;
+    
+        if (textoffset > m_textBeginOffset_
+            && m_collator_.isUnsafe(m_canonicalPrefixAccents_.charAt(
+                                    m_canonicalPrefixAccents_.length() - 1))) {
+            safeoffset = getNextSafeOffset(textoffset, m_textLimitOffset_);
+            //safelength = safeoffset - textoffset;
+            safetext = merge(m_canonicalPrefixAccents_, targetText, textoffset, 
+                             safeoffset, null);
+        }
+        else {
+            safetext = m_canonicalPrefixAccents_;
+        }
+    
+        // if status is a failure, ucol_setText does nothing
+        CollationElementIterator coleiter = m_utilColEIter_;
+        coleiter.setText(safetext.toString());
+        // status checked in loop below
+        
+        int ceindex = 0;
+        boolean isSafe = true; // safe zone indication flag for position
+        int prefixlength = m_canonicalPrefixAccents_.length();
+        
+        while (ceindex < m_pattern_.m_CELength_) {
+            int textce = coleiter.next();
+            if (textce == CollationElementIterator.NULLORDER) {
+                // check if we have passed the safe buffer
+                if (coleiter == m_colEIter_) {
+                    return DONE;
+                }
+                if (safetext != m_canonicalPrefixAccents_) {
+                    safetext.delete(0, safetext.length());
+                }
+                coleiter = m_colEIter_;
+                coleiter.setExactOffset(safeoffset);
+                // status checked at the start of the loop
+                isSafe = false;
+                continue;
+            }
+            textce = getCE(textce);
+            if (textce != CollationElementIterator.IGNORABLE 
+                && textce != m_pattern_.m_CE_[ceindex]) {
+                // do the beginning stuff
+                int failedoffset = coleiter.getOffset();
+                if (isSafe && failedoffset <= prefixlength) {
+                    // alas... no hope. failed at rearranged accent set
+                    return DONE;
+                }
+                else {
+                    if (isSafe) {
+                        failedoffset = safeoffset - failedoffset;
+                        if (safetext != m_canonicalPrefixAccents_) {
+                            safetext.delete(0, safetext.length());
+                        }
+                    }
+                    
+                    // try rearranging the end accents
+                    int result = doPreviousCanonicalSuffixMatch(textoffset, 
+                                                                failedoffset);
+                    if (result != DONE) {
+                        // if status is a failure, ucol_setOffset does nothing
+                        m_colEIter_.setExactOffset(result);
+                    }
+                    return result;
+                }
+            }
+            if (textce == m_pattern_.m_CE_[ceindex]) {
+                ceindex ++;
+            }
+        }
+        // set offset here
+        if (isSafe) {
+            int result = coleiter.getOffset();
+            // sets the text iterator here with the correct expansion and offset
+            int leftoverces = coleiter.m_CEBufferSize_ 
+                                                - coleiter.m_CEBufferOffset_;
+            if (result <= prefixlength) { 
+                result = textoffset;
+            }
+            else {
+                result = textoffset + (safeoffset - result);
+            }
+            m_colEIter_.setExactOffset(result);
+            m_colEIter_.m_CEBufferOffset_ = m_colEIter_.m_CEBufferSize_ 
+                                                                - leftoverces;
+            return result;
+        }
+        
+        return coleiter.getOffset();              
+    }
+    
+    /**
+     * Trying out the substring and sees if it can be a canonical match.
+     * This will try normalizing the starting accents and arranging them into 
+     * canonical equivalents and check their corresponding ces with the pattern 
+     * ce.
+     * Prefix accents in the text will be grouped according to their combining 
+     * class and the groups will be mixed and matched to try find the perfect 
+     * match with the pattern.
+     * So for instance looking for "\u0301" in "\u030A\u0301\u0325"
+     * step 1: split "\u030A\u0301" into 6 other type of potential accent 
+     *            substrings
+     *         "\u030A", "\u0301", "\u0325", "\u030A\u0301", "\u030A\u0325", 
+     *         "\u0301\u0325".
+     * step 2: check if any of the generated substrings matches the pattern.
+     * @param textoffset start offset in the collation element text that starts 
+     *                   with the accents to be rearranged
+     * @return true if the match is valid, false otherwise
+     */
+    private boolean doPreviousCanonicalMatch(int textoffset)
+    {
+        int offset = m_colEIter_.getOffset();
+        if ((getFCD(targetText, textoffset) >> SECOND_LAST_BYTE_SHIFT_) == 0) {
+            if (m_pattern_.m_hasSuffixAccents_) {
+                offset = doPreviousCanonicalSuffixMatch(textoffset, offset);
+                if (offset != DONE) {
+                    m_colEIter_.setExactOffset(offset);
+                    return true;
+                }
+            }
+            return false;
+        }
+    
+        if (!m_pattern_.m_hasPrefixAccents_) {
+            return false;
+        }
+    
+        StringBuffer accents = new StringBuffer();
+        // offset to the last base character in substring to search
+        int baseoffset = getNextBaseOffset(targetText, textoffset);
+        // normalizing the offensive string
+        String textstr = getString(targetText, textoffset, 
+                                                    baseoffset - textoffset);
+        if (Normalizer.quickCheck(textstr, Normalizer.NFD,0) 
+                                                    == Normalizer.NO) {
+            textstr = Normalizer.decompose(textstr, false);
+        }
+        accents.append(textstr);
+        // status checked in loop
+            
+        int accentsindex[] = new int[INITIAL_ARRAY_SIZE_];
+        int size = getUnblockedAccentIndex(accents, accentsindex);
+    
+        // 2 power n - 1 plus the full set of accents
+        int count = (2 << (size - 1)) - 1;  
+        while (count > 0) {
+            m_canonicalPrefixAccents_.delete(0, 
+                                        m_canonicalPrefixAccents_.length());
+            // copy the base characters
+            for (int k = 0; k < accentsindex[0]; k ++) {
+                m_canonicalPrefixAccents_.append(accents.charAt(k));
+            }
+            // forming all possible canonical rearrangement by dropping
+            // sets of accents
+            for (int i = 0; i <= size - 1; i ++) {
+                int mask = 1 << (size - i - 1);
+                if ((count & mask) != 0) {
+                    for (int j = accentsindex[i]; j < accentsindex[i + 1]; 
+                         j ++) {
+                        m_canonicalPrefixAccents_.append(accents.charAt(j));
+                    }
+                }
+            }
+            offset = doPreviousCanonicalPrefixMatch(baseoffset);
+            if (offset != DONE) {
+                return true; // match found
+            }
+            count --;
+        }
+        return false;
+    }
+    
+    /**
+     * Checks match for contraction. 
+     * If the match starts with a partial contraction we fail.
+     * Uses the temporary utility buffer to return the modified start and end.
+     * @param start offset of potential match, to be modified if necessary
+     * @param end offset of potential match, to be modified if necessary
+     * @return true if match passes the contraction test, false otherwise.
+     */
+    private boolean checkPreviousCanonicalContractionMatch(int start, int end) 
+    {
+        int temp = end;
+        // This part checks if either ends of the match contains potential 
+        // contraction. If so we'll have to iterate through them
+        char echar = 0;
+        char schar = 0;
+        if (end < m_textLimitOffset_) {
+            targetText.setIndex(end);
+            echar = targetText.current();
+        }
+        if (start + 1 < m_textLimitOffset_) {
+            targetText.setIndex(start + 1);
+            schar = targetText.current();
+        }
+        if (m_collator_.isUnsafe(echar) || m_collator_.isUnsafe(schar)) {
+            int expansion = m_colEIter_.m_CEBufferSize_ 
+                                            - m_colEIter_.m_CEBufferOffset_;
+            boolean hasExpansion = expansion > 0;
+            m_colEIter_.setExactOffset(end);
+            while (expansion > 0) {
+                // getting rid of the redundant ce
+                // since forward contraction/expansion may have extra ces
+                // if we are in the normalization buffer, hasAccentsBeforeMatch
+                // would have taken care of it.
+                // E.g. the character \u01FA will have an expansion of 3, but 
+                // if we are only looking for A ring A\u030A, we'll have to 
+                // skip the last ce in the expansion buffer
+                m_colEIter_.previous();
+                if (m_colEIter_.getOffset() != temp) {
+                    end = temp;
+                    temp = m_colEIter_.getOffset();
+                }
+                expansion --;
+            }
+    
+            int count = m_pattern_.m_CELength_;
+            while (count > 0) {
+                int ce = getCE(m_colEIter_.previous());
+                // status checked below, note that if status is a failure
+                // previous() returns NULLORDER
+                if (ce == CollationElementIterator.IGNORABLE) {
+                    continue;
+                }
+                if (hasExpansion && count == 0 
+                    && m_colEIter_.getOffset() != temp) {
+                    end = temp;
+                    temp = m_colEIter_.getOffset();
+                }
+                if (count == m_pattern_.m_CELength_ 
+                    && ce != m_pattern_.m_CE_[m_pattern_.m_CELength_ - 1]) {
+                    // accents may have extra starting ces, this occurs when a 
+                    // pure accent pattern is matched without rearrangement
+                    int expected = m_pattern_.m_CE_[m_pattern_.m_CELength_ - 1];
+                    targetText.setIndex(end);
+                    if (UTF16.isTrailSurrogate(targetText.previous())) {
+                        if (targetText.getIndex() > m_textBeginOffset_ &&
+                            !UTF16.isLeadSurrogate(targetText.previous())) {
+                            targetText.next();
+                        }
+                    }
+                    end = targetText.getIndex();
+                    if ((getFCD(targetText, end) & LAST_BYTE_MASK_) != 0) {
+                        ce = getCE(m_colEIter_.previous());
+                        while (ce != expected 
+                                && ce != CollationElementIterator.NULLORDER 
+                                && m_colEIter_.getOffset() <= start) {
+                            ce = getCE(m_colEIter_.previous());
+                        }
+                    }
+                }
+                if (ce != m_pattern_.m_CE_[count - 1]) {
+                    start --;
+                    start = getPreviousBaseOffset(start);
+                    m_utilBuffer_[0] = start;
+                    m_utilBuffer_[1] = end;
+                    return false;
+                }
+                count --;
+            }
+        } 
+        m_utilBuffer_[0] = start;
+        m_utilBuffer_[1] = end;
+        return true;
+    }
+    
+    /**
+     * Checks and sets the match information if found.
+     * Checks 
+     * <ul>
+     * <li> the potential match does not repeat the previous match
+     * <li> boundaries are correct
+     * <li> potential match does not end in the middle of a contraction
+     * <li> identical matches
+     * </ul>
+     * Otherwise the offset will be shifted to the next character.
+     * Uses the temporary utility buffer for storing the modified textoffset.
+     * @param textoffset offset in the collation element text. the returned 
+     *             value will be the truncated start offset of the match or the 
+     *             new start search offset.
+     * @return true if the match is valid, false otherwise
+     */
+    private boolean checkPreviousCanonicalMatch(int textoffset)
+    {
+        // to ensure that the start and ends are not composite characters
+        // if we have a canonical accent match
+        if (m_pattern_.m_hasSuffixAccents_ 
+            && m_canonicalSuffixAccents_.length() != 0 
+            || m_pattern_.m_hasPrefixAccents_ 
+            && m_canonicalPrefixAccents_.length() != 0) {
+            m_matchedIndex_ = textoffset;
+            matchLength = getNextBaseOffset(m_colEIter_.getOffset()) 
+                                                                - textoffset;
+            return true;
+        }
+    
+        int end = m_colEIter_.getOffset();
+        if (!checkPreviousCanonicalContractionMatch(textoffset, end)) {
+            // storing the modified textoffset
+            return false;
+        }
+        textoffset = m_utilBuffer_[0];
+        end = m_utilBuffer_[1];
+        end = getNextBaseOffset(end);
+        // this totally matches, however we need to check if it is repeating
+        if (checkRepeatedMatch(textoffset, end) 
+            || !isBreakUnit(textoffset, end) 
+            || !checkIdentical(textoffset, end)) {
+            textoffset --;
+            textoffset = getPreviousBaseOffset(textoffset);
+            m_utilBuffer_[0] = textoffset;
+            return false;
+        }
+        
+        m_matchedIndex_ = textoffset;
+        matchLength = end - textoffset;
+        return true;
+    }
+    
+    /**
+     * Method that does the next exact match
+     * @param start the offset to start shifting from and performing the 
+     *        next exact match
+     */
+    private void handleNextExact(int start)
+    {
+        int textoffset = shiftForward(start, 
+                                         CollationElementIterator.NULLORDER,
+                                         m_pattern_.m_CELength_);
+        int targetce = CollationElementIterator.IGNORABLE;
+        while (textoffset <= m_textLimitOffset_) {
+            m_colEIter_.setExactOffset(textoffset);
+            int patternceindex = m_pattern_.m_CELength_ - 1;
+            boolean found = false;
+            int lastce = CollationElementIterator.NULLORDER;
+            
+            while (true) {
+                // finding the last pattern ce match, imagine composite 
+                // characters. for example: search for pattern A in text \u00C0
+                // we'll have to skip \u0300 the grave first before we get to A
+                targetce = m_colEIter_.previous();
+                if (targetce == CollationElementIterator.NULLORDER) {
+                    found = false;
+                    break;
+                }
+                targetce = getCE(targetce);
+                if (targetce == CollationElementIterator.IGNORABLE && 
+                    m_colEIter_.isInBuffer()) { 
+                    // this is for the text \u0315\u0300 that requires 
+                    // normalization and pattern \u0300, where \u0315 is ignorable
+                    continue;
+                }
+                if (lastce == CollationElementIterator.NULLORDER 
+                    || lastce == CollationElementIterator.IGNORABLE) {
+                    lastce = targetce;
+                }
+                if (targetce == m_pattern_.m_CE_[patternceindex]) {
+                    // the first ce can be a contraction
+                    found = true;
+                    break;
+                }
+                if (m_colEIter_.m_CEBufferOffset_ <= 0) {
+                    found = false;
+                    break;
+                }
+            }
+    
+            while (found && patternceindex > 0) {
+                targetce = m_colEIter_.previous();
+                if (targetce == CollationElementIterator.NULLORDER) {
+                    found = false;
+                    break;
+                }
+                targetce = getCE(targetce);
+                if (targetce == CollationElementIterator.IGNORABLE) {
+                    continue;
+                }
+    
+                patternceindex --;
+                found = found && targetce == m_pattern_.m_CE_[patternceindex]; 
+            }
+    
+            if (!found) {
+                textoffset = shiftForward(textoffset, lastce, patternceindex);
+                // status checked at loop.
+                patternceindex = m_pattern_.m_CELength_;
+                continue;
+            }
+            
+            if (checkNextExactMatch(textoffset)) {
+                // status checked in ucol_setOffset
+                return;
+            }
+            textoffset = m_utilBuffer_[0];
+        }
+        setMatchNotFound();
+    }
+
+    /**
+     * Method that does the next canonical match
+     * @param start the offset to start shifting from and performing the 
+     *        next canonical match
+     */
+    private void handleNextCanonical(int start)
+    {
+        boolean hasPatternAccents = 
+           m_pattern_.m_hasSuffixAccents_ || m_pattern_.m_hasPrefixAccents_;
+              
+        // shifting it check for setting offset
+        // if setOffset is called previously or there was no previous match, we
+        // leave the offset as it is.
+        int textoffset = shiftForward(start, CollationElementIterator.NULLORDER, 
+                                        m_pattern_.m_CELength_);
+        m_canonicalPrefixAccents_.delete(0, m_canonicalPrefixAccents_.length());
+        m_canonicalSuffixAccents_.delete(0, m_canonicalSuffixAccents_.length());
+        int targetce = CollationElementIterator.IGNORABLE;
+        
+        while (textoffset <= m_textLimitOffset_)
+        {
+            m_colEIter_.setExactOffset(textoffset);
+            int patternceindex = m_pattern_.m_CELength_ - 1;
+            boolean found = false;
+            int lastce = CollationElementIterator.NULLORDER;
+            
+            while (true) {
+                // finding the last pattern ce match, imagine composite characters
+                // for example: search for pattern A in text \u00C0
+                // we'll have to skip \u0300 the grave first before we get to A
+                targetce = m_colEIter_.previous();
+                if (targetce == CollationElementIterator.NULLORDER) {
+                    found = false;
+                    break;
+                }
+                targetce = getCE(targetce);
+                if (lastce == CollationElementIterator.NULLORDER 
+                            || lastce == CollationElementIterator.IGNORABLE) {
+                    lastce = targetce;
+                }
+                if (targetce == m_pattern_.m_CE_[patternceindex]) {
+                    // the first ce can be a contraction
+                    found = true;
+                    break;
+                }
+                if (m_colEIter_.m_CEBufferOffset_ <= 0) {
+                    found = false;
+                    break;
+                }
+            }
+            
+            while (found && patternceindex > 0) {
+                targetce    = m_colEIter_.previous();
+                if (targetce == CollationElementIterator.NULLORDER) {
+                    found = false;
+                    break;
+                }
+                targetce    = getCE(targetce);
+                if (targetce == CollationElementIterator.IGNORABLE) {
+                    continue;
+                }
+    
+                patternceindex --;
+                found = found && targetce == m_pattern_.m_CE_[patternceindex]; 
+            }
+    
+            // initializing the rearranged accent array
+            if (hasPatternAccents && !found) {
+                found = doNextCanonicalMatch(textoffset);
+            }
+    
+            if (!found) {
+                textoffset = shiftForward(textoffset, lastce, patternceindex);
+                // status checked at loop
+                patternceindex = m_pattern_.m_CELength_;
+                continue;
+            }
+            
+            if (checkNextCanonicalMatch(textoffset)) {
+                return;
+            }
+            textoffset = m_utilBuffer_[0];
+        }
+        setMatchNotFound();
+    }
+    
+    /**
+     * Method that does the previous exact match
+     * @param start the offset to start shifting from and performing the 
+     *        previous exact match
+     */
+    private void handlePreviousExact(int start)
+    {
+        int textoffset = reverseShift(start, CollationElementIterator.NULLORDER, 
+                                      m_pattern_.m_CELength_);
+        while (textoffset >= m_textBeginOffset_)
+        {
+            m_colEIter_.setExactOffset(textoffset);
+            int patternceindex = 1;
+            int targetce = CollationElementIterator.IGNORABLE;
+            boolean found = false;
+            int firstce = CollationElementIterator.NULLORDER;
+            
+            while (true) {
+                // finding the first pattern ce match, imagine composite 
+                // characters. for example: search for pattern \u0300 in text 
+                // \u00C0, we'll have to skip A first before we get to 
+                // \u0300 the grave accent
+                targetce = m_colEIter_.next();
+                if (targetce == CollationElementIterator.NULLORDER) {
+                    found = false;
+                    break;
+                }
+                targetce = getCE(targetce);
+                if (firstce == CollationElementIterator.NULLORDER 
+                    || firstce == CollationElementIterator.IGNORABLE) {
+                    firstce = targetce;
+                }
+                if (targetce == CollationElementIterator.IGNORABLE) {
+                    continue;
+                }         
+                if (targetce == m_pattern_.m_CE_[0]) {
+                    found = true;
+                    break;
+                }
+                if (m_colEIter_.m_CEBufferOffset_ == -1 
+                    || m_colEIter_.m_CEBufferOffset_ 
+                                            == m_colEIter_.m_CEBufferSize_) {
+                    // checking for accents in composite character
+                    found = false;
+                    break;
+                }
+            }
+    
+            targetce = firstce;
+            
+            while (found && patternceindex < m_pattern_.m_CELength_) {
+                targetce = m_colEIter_.next();
+                if (targetce == CollationElementIterator.NULLORDER) {
+                    found = false;
+                    break;
+                }
+                targetce = getCE(targetce);
+                if (targetce == CollationElementIterator.IGNORABLE) {
+                    continue;
+                }
+    
+                found = found && targetce == m_pattern_.m_CE_[patternceindex]; 
+                patternceindex ++;
+            }
+    
+            if (!found) {
+                textoffset = reverseShift(textoffset, targetce, patternceindex);
+                patternceindex = 0;
+                continue;
+            }
+            
+            if (checkPreviousExactMatch(textoffset)) {
+                return;
+            }
+            textoffset = m_utilBuffer_[0];
+        }
+        setMatchNotFound();
+    }
+    
+    /**
+     * Method that does the previous canonical match
+     * @param start the offset to start shifting from and performing the 
+     *        previous canonical match
+     */
+    private void handlePreviousCanonical(int start)
+    {
+        boolean hasPatternAccents = 
+           m_pattern_.m_hasSuffixAccents_ || m_pattern_.m_hasPrefixAccents_;
+              
+        // shifting it check for setting offset
+        // if setOffset is called previously or there was no previous match, we
+        // leave the offset as it is.
+        int textoffset = reverseShift(start, CollationElementIterator.NULLORDER, 
+                                          m_pattern_.m_CELength_);
+        m_canonicalPrefixAccents_.delete(0, m_canonicalPrefixAccents_.length());
+        m_canonicalSuffixAccents_.delete(0, m_canonicalSuffixAccents_.length());
+        
+        while (textoffset >= m_textBeginOffset_)
+        {
+            m_colEIter_.setExactOffset(textoffset);
+            int patternceindex = 1;
+            int targetce = CollationElementIterator.IGNORABLE;
+            boolean found = false;
+            int firstce = CollationElementIterator.NULLORDER;
+            
+            while (true) {
+                // finding the first pattern ce match, imagine composite 
+                // characters. for example: search for pattern \u0300 in text 
+                // \u00C0, we'll have to skip A first before we get to 
+                // \u0300 the grave accent
+                targetce = m_colEIter_.next();
+                if (targetce == CollationElementIterator.NULLORDER) {
+                    found = false;
+                    break;
+                }
+                targetce = getCE(targetce);
+                if (firstce == CollationElementIterator.NULLORDER 
+                    || firstce == CollationElementIterator.IGNORABLE) {
+                    firstce = targetce;
+                }
+                
+                if (targetce == m_pattern_.m_CE_[0]) {
+                    // the first ce can be a contraction
+                    found = true;
+                    break;
+                }
+                if (m_colEIter_.m_CEBufferOffset_ == -1 
+                    || m_colEIter_.m_CEBufferOffset_ 
+                                            == m_colEIter_.m_CEBufferSize_) {
+                    // checking for accents in composite character
+                    found = false;
+                    break;
+                }
+            }
+    
+            targetce = firstce;
+            
+            while (found && patternceindex < m_pattern_.m_CELength_) {
+                targetce = m_colEIter_.next();
+                if (targetce == CollationElementIterator.NULLORDER) {
+                    found = false;
+                    break;
+                }
+                targetce = getCE(targetce);
+                if (targetce == CollationElementIterator.IGNORABLE) {
+                    continue;
+                }
+    
+                found = found && targetce == m_pattern_.m_CE_[patternceindex]; 
+                patternceindex ++;
+            }
+    
+            // initializing the rearranged accent array
+            if (hasPatternAccents && !found) {
+                found = doPreviousCanonicalMatch(textoffset);
+            }
+    
+            if (!found) {
+                textoffset = reverseShift(textoffset, targetce, patternceindex);
+                patternceindex = 0;
+                continue;
+            }
+    
+            if (checkPreviousCanonicalMatch(textoffset)) {
+                return;
+            }
+            textoffset = m_utilBuffer_[0];
+        }
+        setMatchNotFound();
+    }
+    
+    /**
+     * Gets a substring out of a CharacterIterator
+     * @param text CharacterIterator
+     * @param start start offset
+     * @param length of substring
+     * @return substring from text starting at start and length length
+     */
+    private static final String getString(CharacterIterator text, int start,
+                                            int length)
+    {
+        StringBuffer result = new StringBuffer(length);
+        int offset = text.getIndex();
+        text.setIndex(start);
+        for (int i = 0; i < length; i ++) {
+            result.append(text.current());
+            text.next();
+        }
+        text.setIndex(offset);
+        return result.toString();
+    }
+    
+    /**
+     * Getting the mask for collation strength
+     * @param strength collation strength
+      * @return collation element mask
+     */
+    private static final int getMask(int strength) 
+    {
+        switch (strength) 
+        {
+            case Collator.PRIMARY:
+                return RuleBasedCollator.CE_PRIMARY_MASK_;
+            case Collator.SECONDARY:
+                return RuleBasedCollator.CE_SECONDARY_MASK_ 
+                       | RuleBasedCollator.CE_PRIMARY_MASK_;
+            default:
+                return RuleBasedCollator.CE_TERTIARY_MASK_ 
+                       | RuleBasedCollator.CE_SECONDARY_MASK_ 
+                       | RuleBasedCollator.CE_PRIMARY_MASK_;
+        }
+    }
+    
+    /**
+     * Sets match not found 
+     */
+    private void setMatchNotFound() 
+    {
+        // this method resets the match result regardless of the error status.
+        m_matchedIndex_ = DONE;
+        setMatchLength(0);
+    }
+}
diff --git a/src/com/ibm/icu/text/SymbolTable.java b/src/com/ibm/icu/text/SymbolTable.java
new file mode 100755
index 0000000..040e9fb
--- /dev/null
+++ b/src/com/ibm/icu/text/SymbolTable.java
@@ -0,0 +1,82 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.text;
+import java.text.ParsePosition;
+
+/**
+ * An interface that defines both lookup protocol and parsing of
+ * symbolic names.
+ *
+ * <p>A symbol table maintains two kinds of mappings.  The first is
+ * between symbolic names and their values.  For example, if the
+ * variable with the name "start" is set to the value "alpha"
+ * (perhaps, though not necessarily, through an expression such as
+ * "$start=alpha"), then the call lookup("start") will return the
+ * char[] array ['a', 'l', 'p', 'h', 'a'].
+ *
+ * <p>The second kind of mapping is between character values and
+ * UnicodeMatcher objects.  This is used by RuleBasedTransliterator,
+ * which uses characters in the private use area to represent objects
+ * such as UnicodeSets.  If U+E015 is mapped to the UnicodeSet [a-z],
+ * then lookupMatcher(0xE015) will return the UnicodeSet [a-z].
+ *
+ * <p>Finally, a symbol table defines parsing behavior for symbolic
+ * names.  All symbolic names start with the SYMBOL_REF character.
+ * When a parser encounters this character, it calls parseReference()
+ * with the position immediately following the SYMBOL_REF.  The symbol
+ * table parses the name, if there is one, and returns it.
+ *
+ * @stable ICU 2.8
+ */
+public interface SymbolTable {
+
+    /**
+     * The character preceding a symbol reference name.
+     * @stable ICU 2.8
+     */
+    static final char SYMBOL_REF = '$';
+
+    /**
+     * Lookup the characters associated with this string and return it.
+     * Return <tt>null</tt> if no such name exists.  The resultant
+     * array may have length zero.
+     * @param s the symbolic name to lookup
+     * @return a char array containing the name's value, or null if
+     * there is no mapping for s.
+     * @stable ICU 2.8
+     */
+    char[] lookup(String s);
+
+    /**
+     * Lookup the UnicodeMatcher associated with the given character, and
+     * return it.  Return <tt>null</tt> if not found.
+     * @param ch a 32-bit code point from 0 to 0x10FFFF inclusive.
+     * @return the UnicodeMatcher object represented by the given
+     * character, or null if there is no mapping for ch.
+     * @stable ICU 2.8
+     */
+    UnicodeMatcher lookupMatcher(int ch);
+
+    /**
+     * Parse a symbol reference name from the given string, starting
+     * at the given position.  If no valid symbol reference name is
+     * found, return null and leave pos unchanged.  That is, if the
+     * character at pos cannot start a name, or if pos is at or after
+     * text.length(), then return null.  This indicates an isolated
+     * SYMBOL_REF character.
+     * @param text the text to parse for the name
+     * @param pos on entry, the index of the first character to parse.
+     * This is the character following the SYMBOL_REF character.  On
+     * exit, the index after the last parsed character.  If the parse
+     * failed, pos is unchanged on exit.
+     * @param limit the index after the last character to be parsed.
+     * @return the parsed name, or null if there is no valid symbolic
+     * name at the given position.
+     * @stable ICU 2.8
+     */
+    String parseReference(String text, ParsePosition pos, int limit);
+}
diff --git a/src/com/ibm/icu/text/TitlecaseTransliterator.java b/src/com/ibm/icu/text/TitlecaseTransliterator.java
new file mode 100755
index 0000000..689efe9
--- /dev/null
+++ b/src/com/ibm/icu/text/TitlecaseTransliterator.java
@@ -0,0 +1,159 @@
+/*
+ * Copyright (C) 1996-2005, International Business Machines Corporation and
+ * others. All Rights Reserved.
+ *
+ */
+package com.ibm.icu.text;
+
+import java.io.IOException;
+
+import com.ibm.icu.impl.UCaseProps;
+
+import com.ibm.icu.util.ULocale;
+
+import com.ibm.icu.text.ReplaceableContextIterator;
+
+/**
+ * A transliterator that converts all letters (as defined by
+ * <code>UCharacter.isLetter()</code>) to lower case, except for those
+ * letters preceded by non-letters.  The latter are converted to title
+ * case using <code>UCharacter.toTitleCase()</code>.
+ * @author Alan Liu
+ */
+class TitlecaseTransliterator extends Transliterator {
+
+    static final String _ID = "Any-Title";
+
+    /**
+     * System registration hook.
+     */
+    static void register() {
+        Transliterator.registerFactory(_ID, new Transliterator.Factory() {
+            public Transliterator getInstance(String ID) {
+                return new TitlecaseTransliterator(ULocale.US);
+            }
+        });
+
+        registerSpecialInverse("Title", "Lower", false);
+    }
+
+    private ULocale locale;
+
+    private UCaseProps csp;
+    private ReplaceableContextIterator iter;
+    private StringBuffer result;
+    private int[] locCache;
+
+   /**
+     * Constructs a transliterator.
+     */
+    public TitlecaseTransliterator(ULocale loc) {
+        super(_ID, null);
+        locale = loc;
+        // Need to look back 2 characters in the case of "can't"
+        setMaximumContextLength(2);
+        try {
+            csp=UCaseProps.getSingleton();
+        } catch (IOException e) {
+            csp=null;
+        }
+        iter=new ReplaceableContextIterator();
+        result = new StringBuffer();
+        int[] locCache = new int[1];
+        locCache[0]=0;
+    }
+     
+    /**
+     * Implements {@link Transliterator#handleTransliterate}.
+     */
+    protected void handleTransliterate(Replaceable text,
+                                       Position offsets, boolean isIncremental) {
+        // TODO reimplement, see ustrcase.c
+        // using a real word break iterator
+        //   instead of just looking for a transition between cased and uncased characters
+        // call CaseMapTransliterator::handleTransliterate() for lowercasing? (set fMap)
+        // needs to take isIncremental into account because case mappings are context-sensitive
+        //   also detect when lowercasing function did not finish because of context
+
+        if (offsets.start >= offsets.limit) {
+            return;
+        }
+
+        // case type: >0 cased (UCaseProps.LOWER etc.)  ==0 uncased  <0 case-ignorable
+        int type;
+
+        // Our mode; we are either converting letter toTitle or
+        // toLower.
+        boolean doTitle = true;
+
+        // Determine if there is a preceding context of cased case-ignorable*,
+        // in which case we want to start in toLower mode.  If the
+        // prior context is anything else (including empty) then start
+        // in toTitle mode.
+        int c, start;
+        for (start = offsets.start - 1; start >= offsets.contextStart; start -= UTF16.getCharCount(c)) {
+            c = text.char32At(start);
+            type=csp.getTypeOrIgnorable(c);
+            if(type>0) { // cased
+                doTitle=false;
+                break;
+            } else if(type==0) { // uncased but not ignorable
+                break;
+            }
+            // else (type<0) case-ignorable: continue
+        }
+
+        // Convert things after a cased character toLower; things
+        // after a uncased, non-case-ignorable character toTitle.  Case-ignorable
+        // characters are copied directly and do not change the mode.
+
+        iter.setText(text);
+        iter.setIndex(offsets.start);
+        iter.setLimit(offsets.limit);
+        iter.setContextLimits(offsets.contextStart, offsets.contextLimit);
+
+        result.setLength(0);
+
+        // Walk through original string
+        // If there is a case change, modify corresponding position in replaceable
+        int delta;
+
+        while((c=iter.nextCaseMapCP())>=0) {
+            type=csp.getTypeOrIgnorable(c);
+            if(type>=0) { // not case-ignorable
+                if(doTitle) {
+                    c=csp.toFullTitle(c, iter, result, locale, locCache);
+                } else {
+                    c=csp.toFullLower(c, iter, result, locale, locCache);
+                }
+                doTitle = type==0; // doTitle=isUncased
+
+                if(iter.didReachLimit() && isIncremental) {
+                    // the case mapping function tried to look beyond the context limit
+                    // wait for more input
+                    offsets.start=iter.getCaseMapCPStart();
+                    return;
+                }
+
+                /* decode the result */
+                if(c<0) {
+                    /* c mapped to itself, no change */
+                    continue;
+                } else if(c<=UCaseProps.MAX_STRING_LENGTH) {
+                    /* replace by the mapping string */
+                    delta=iter.replace(result.toString());
+                    result.setLength(0);
+                } else {
+                    /* replace by single-code point mapping */
+                    delta=iter.replace(UTF16.valueOf(c));
+                }
+
+                if(delta!=0) {
+                    offsets.limit += delta;
+                    offsets.contextLimit += delta;
+                }
+            }
+        }
+        offsets.start = offsets.limit;
+    }
+}
diff --git a/src/com/ibm/icu/text/TransformTransliterator.java b/src/com/ibm/icu/text/TransformTransliterator.java
new file mode 100755
index 0000000..311bf3c
--- /dev/null
+++ b/src/com/ibm/icu/text/TransformTransliterator.java
@@ -0,0 +1,127 @@
+/*
+ * Copyright (C) 1996-2004, International Business Machines Corporation and
+ * others. All Rights Reserved.
+ *
+ */
+package com.ibm.icu.text;
+//import java.util.*;
+
+abstract class TransformTransliterator {
+    // Currently unused
+}
+
+///**
+// * An abstract class for transliterators based on a transform
+// * operation.  To create a transliterator that implements a
+// * transformation, create a subclass of this class and implement the
+// * abstract <code>transform()</code> and <code>hasTransform()</code>
+// * methods.
+// * @author Alan Liu
+// */
+//abstract class TransformTransliterator extends Transliterator {
+//
+//    /**
+//     * Constructs a transliterator.  For use by subclasses.
+//     */
+//    protected TransformTransliterator(String id, UnicodeFilter f) {
+//        super(id, f);
+//    }
+//
+//    /**
+//     * Implements {@link Transliterator#handleTransliterate}.
+//     */
+//    protected void handleTransliterate(Replaceable text,
+//                                       Position offsets, boolean incremental) {
+//
+//        int start;
+//        for (start = offsets.start; start < offsets.limit; ++start) {
+//            // Scan for the first character that is != its transform.
+//            // If there are none, we fall out without doing anything.
+//            char c = text.charAt(start);
+//            if (hasTransform(c)) {
+//                // There is a transforming character at start.  Break
+//                // up the remaining string, from start to
+//                // offsets.limit, into segments of unfiltered and
+//                // filtered characters.  Only transform the unfiltered
+//                // characters.  As always, minimize the number of
+//                // calls to Replaceable.replace().
+//
+//                int len = offsets.limit - start;
+//                // assert(len >= 1);
+//                
+//                char[] buf = new char[len];
+//                text.getChars(start, offsets.limit, buf, 0);
+//
+//                int segStart = 0;
+//                int segLimit;
+//                UnicodeFilter filt = getFilter();
+//
+//                // lenDelta is the accumulated length difference for
+//                // all transformed segments.  It is new length - old
+//                // length.
+//                int lenDelta = 0;
+//
+//                // Set segStart, segLimit to the unfiltered segment
+//                // starting with start.  If the filter is null, then
+//                // segStart/Limit will be set to the whole string,
+//                // that is, 0/len.
+//                do {
+//                    // Set segLimit to the first filtered char at or
+//                    // after segStart.
+//                    segLimit = len;
+//                    if (filt != null) {
+//                        segLimit = segStart;
+//                        while (segLimit < len && filt.contains(buf[segLimit])) {
+//                             ++segLimit;
+//                        }
+//                    }
+//
+//                    // Transform the unfiltered chars between segStart
+//                    // and segLimit.
+//                    int segLen = segLimit - segStart;
+//                    if (segLen != 0) {
+//                        String newStr = transform(
+//                            new String(buf, segStart, segLen));
+//                        text.replace(start, start + segLen, newStr);
+//                        start += newStr.length();
+//                        lenDelta += newStr.length() - segLen;
+//                    }
+//
+//                    // Set segStart to the first unfiltered char at or
+//                    // after segLimit.
+//                    segStart = segLimit;
+//                    if (filt != null) {
+//                        while (segStart < len && !filt.contains(buf[segStart])) {
+//                            ++segStart;
+//                        }
+//                    }
+//                    start += segStart - segLimit;
+//
+//                } while (segStart < len);
+//                
+//                offsets.limit += lenDelta;
+//                offsets.contextLimit += lenDelta;
+//                offsets.start = offsets.limit;
+//                return;
+//            }
+//        }
+//        // assert(start == offsets.limit);
+//        offsets.start = start;
+//    }
+//
+//    /**
+//     * Subclasses must implement this method to determine whether a
+//     * given character has a transform that is not equal to itself.
+//     * This is approximately equivalent to <code>c !=
+//     * transform(String.valueOf(c))</code>, where
+//     * <code>String.valueOf(c)</code> returns a String containing the
+//     * single character (not integer) <code>c</code>.  Subclasses that
+//     * transform all their input can simply return <code>true</code>.
+//     */
+//    protected abstract boolean hasTransform(int c);
+//
+//    /**
+//     * Subclasses must implement this method to transform a string.
+//     */
+//    protected abstract String transform(String s);
+//}
diff --git a/src/com/ibm/icu/text/TransliterationRule.java b/src/com/ibm/icu/text/TransliterationRule.java
new file mode 100755
index 0000000..ad9a7a8
--- /dev/null
+++ b/src/com/ibm/icu/text/TransliterationRule.java
@@ -0,0 +1,575 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.text;
+
+import com.ibm.icu.impl.Utility;
+
+/**
+ * A transliteration rule used by
+ * <code>RuleBasedTransliterator</code>.
+ * <code>TransliterationRule</code> is an immutable object.
+ *
+ * <p>A rule consists of an input pattern and an output string.  When
+ * the input pattern is matched, the output string is emitted.  The
+ * input pattern consists of zero or more characters which are matched
+ * exactly (the key) and optional context.  Context must match if it
+ * is specified.  Context may be specified before the key, after the
+ * key, or both.  The key, preceding context, and following context
+ * may contain variables.  Variables represent a set of Unicode
+ * characters, such as the letters <i>a</i> through <i>z</i>.
+ * Variables are detected by looking up each character in a supplied
+ * variable list to see if it has been so defined.
+ *
+ * <p>A rule may contain segments in its input string and segment
+ * references in its output string.  A segment is a substring of the
+ * input pattern, indicated by an offset and limit.  The segment may
+ * be in the preceding or following context.  It may not span a
+ * context boundary.  A segment reference is a special character in
+ * the output string that causes a segment of the input string (not
+ * the input pattern) to be copied to the output string.  The range of
+ * special characters that represent segment references is defined by
+ * RuleBasedTransliterator.Data.
+ *
+ * <p>Example: The rule "([a-z]) . ([0-9]) > $2 . $1" will change the input
+ * string "abc.123" to "ab1.c23".
+ *
+ * <p>Copyright &copy; IBM Corporation 1999.  All rights reserved.
+ *
+ * @author Alan Liu
+ */
+class TransliterationRule {
+
+    // TODO Eliminate the pattern and keyLength data members.  They
+    // are used only by masks() and getIndexValue() which are called
+    // only during build time, not during run-time.  Perhaps these
+    // methods and pattern/keyLength can be isolated into a separate
+    // object.
+
+    /**
+     * The match that must occur before the key, or null if there is no
+     * preceding context.
+     */
+    private StringMatcher anteContext;
+
+    /**
+     * The matcher object for the key.  If null, then the key is empty.
+     */
+    private StringMatcher key;
+
+    /**
+     * The match that must occur after the key, or null if there is no
+     * following context.
+     */
+    private StringMatcher postContext;
+
+    /**
+     * The object that performs the replacement if the key,
+     * anteContext, and postContext are matched.  Never null.
+     */
+    private UnicodeReplacer output;
+
+    /**
+     * The string that must be matched, consisting of the anteContext, key,
+     * and postContext, concatenated together, in that order.  Some components
+     * may be empty (zero length).
+     * @see anteContextLength
+     * @see keyLength
+     */
+    private String pattern;
+
+    /**
+     * An array of matcher objects corresponding to the input pattern
+     * segments.  If there are no segments this is null.  N.B. This is
+     * a UnicodeMatcher for generality, but in practice it is always a
+     * StringMatcher.  In the future we may generalize this, but for
+     * now we sometimes cast down to StringMatcher.
+     */
+    UnicodeMatcher[] segments;
+
+    /**
+     * The length of the string that must match before the key.  If
+     * zero, then there is no matching requirement before the key.
+     * Substring [0,anteContextLength) of pattern is the anteContext.
+     */
+    private int anteContextLength;
+
+    /**
+     * The length of the key.  Substring [anteContextLength,
+     * anteContextLength + keyLength) is the key.
+     */
+    private int keyLength;
+
+    /**
+     * Miscellaneous attributes.
+     */
+    byte flags;
+
+    /**
+     * Flag attributes.
+     */
+    static final int ANCHOR_START = 1;
+    static final int ANCHOR_END   = 2;
+
+    /**
+     * An alias pointer to the data for this rule.  The data provides
+     * lookup services for matchers and segments.
+     */
+    private final RuleBasedTransliterator.Data data;
+
+
+    private static final String COPYRIGHT =
+        "\u00A9 IBM Corporation 1999-2001. All rights reserved.";
+
+    /**
+     * Construct a new rule with the given input, output text, and other
+     * attributes.  A cursor position may be specified for the output text.
+     * @param input input string, including key and optional ante and
+     * post context
+     * @param anteContextPos offset into input to end of ante context, or -1 if
+     * none.  Must be <= input.length() if not -1.
+     * @param postContextPos offset into input to start of post context, or -1
+     * if none.  Must be <= input.length() if not -1, and must be >=
+     * anteContextPos.
+     * @param output output string
+     * @param cursorPos offset into output at which cursor is located, or -1 if
+     * none.  If less than zero, then the cursor is placed after the
+     * <code>output</code>; that is, -1 is equivalent to
+     * <code>output.length()</code>.  If greater than
+     * <code>output.length()</code> then an exception is thrown.
+     * @param cursorOffset an offset to be added to cursorPos to position the
+     * cursor either in the ante context, if < 0, or in the post context, if >
+     * 0.  For example, the rule "abc{def} > | @@@ xyz;" changes "def" to
+     * "xyz" and moves the cursor to before "a".  It would have a cursorOffset
+     * of -3.
+     * @param segs array of UnicodeMatcher corresponding to input pattern
+     * segments, or null if there are none
+     * @param anchorStart true if the the rule is anchored on the left to
+     * the context start
+     * @param anchorEnd true if the rule is anchored on the right to the
+     * context limit
+     */
+    public TransliterationRule(String input,
+                               int anteContextPos, int postContextPos,
+                               String output,
+                               int cursorPos, int cursorOffset,
+                               UnicodeMatcher[] segs,
+                               boolean anchorStart, boolean anchorEnd,
+                               RuleBasedTransliterator.Data theData) {
+        data = theData;
+
+        // Do range checks only when warranted to save time
+        if (anteContextPos < 0) {
+            anteContextLength = 0;
+        } else {
+            if (anteContextPos > input.length()) {
+                throw new IllegalArgumentException("Invalid ante context");
+            }
+            anteContextLength = anteContextPos;
+        }
+        if (postContextPos < 0) {
+            keyLength = input.length() - anteContextLength;
+        } else {
+            if (postContextPos < anteContextLength ||
+                postContextPos > input.length()) {
+                throw new IllegalArgumentException("Invalid post context");
+            }
+            keyLength = postContextPos - anteContextLength;
+        }
+        if (cursorPos < 0) {
+            cursorPos = output.length();
+        } else if (cursorPos > output.length()) {
+            throw new IllegalArgumentException("Invalid cursor position");
+        }
+
+        // We don't validate the segments array.  The caller must
+        // guarantee that the segments are well-formed (that is, that
+        // all $n references in the output refer to indices of this
+        // array, and that no array elements are null).
+        this.segments = segs;
+
+        pattern = input;
+        flags = 0;
+        if (anchorStart) {
+            flags |= ANCHOR_START;
+        }
+        if (anchorEnd) {
+            flags |= ANCHOR_END;
+        }
+
+        anteContext = null;
+        if (anteContextLength > 0) {
+            anteContext = new StringMatcher(pattern.substring(0, anteContextLength),
+                                            0, data);
+        }
+
+        key = null;
+        if (keyLength > 0) {
+            key = new StringMatcher(pattern.substring(anteContextLength, anteContextLength + keyLength),
+                                    0, data);
+        }
+
+        int postContextLength = pattern.length() - keyLength - anteContextLength;
+        postContext = null;
+        if (postContextLength > 0) {
+            postContext = new StringMatcher(pattern.substring(anteContextLength + keyLength),
+                                            0, data);
+        }
+
+        this.output = new StringReplacer(output, cursorPos + cursorOffset, data);
+    }
+
+    /**
+     * Return the preceding context length.  This method is needed to
+     * support the <code>Transliterator</code> method
+     * <code>getMaximumContextLength()</code>.
+     */
+    public int getAnteContextLength() {
+        return anteContextLength + (((flags & ANCHOR_START) != 0) ? 1 : 0);
+    }
+
+    /**
+     * Internal method.  Returns 8-bit index value for this rule.
+     * This is the low byte of the first character of the key,
+     * unless the first character of the key is a set.  If it's a
+     * set, or otherwise can match multiple keys, the index value is -1.
+     */
+    final int getIndexValue() {
+        if (anteContextLength == pattern.length()) {
+            // A pattern with just ante context {such as foo)>bar} can
+            // match any key.
+            return -1;
+        }
+        int c = UTF16.charAt(pattern, anteContextLength);
+        return data.lookupMatcher(c) == null ? (c & 0xFF) : -1;
+    }
+
+    /**
+     * Internal method.  Returns true if this rule matches the given
+     * index value.  The index value is an 8-bit integer, 0..255,
+     * representing the low byte of the first character of the key.
+     * It matches this rule if it matches the first character of the
+     * key, or if the first character of the key is a set, and the set
+     * contains any character with a low byte equal to the index
+     * value.  If the rule contains only ante context, as in foo)>bar,
+     * then it will match any key.
+     */
+    final boolean matchesIndexValue(int v) {
+        // Delegate to the key, or if there is none, to the postContext.
+        // If there is neither then we match any key; return true.
+        UnicodeMatcher m = (key != null) ? key : postContext;
+        return (m != null) ? m.matchesIndexValue(v) : true;
+    }
+
+    /**
+     * Return true if this rule masks another rule.  If r1 masks r2 then
+     * r1 matches any input string that r2 matches.  If r1 masks r2 and r2 masks
+     * r1 then r1 == r2.  Examples: "a>x" masks "ab>y".  "a>x" masks "a[b]>y".
+     * "[c]a>x" masks "[dc]a>y".
+     */
+    public boolean masks(TransliterationRule r2) {
+        /* Rule r1 masks rule r2 if the string formed of the
+         * antecontext, key, and postcontext overlaps in the following
+         * way:
+         *
+         * r1:      aakkkpppp
+         * r2:     aaakkkkkpppp
+         *            ^
+         *
+         * The strings must be aligned at the first character of the
+         * key.  The length of r1 to the left of the alignment point
+         * must be <= the length of r2 to the left; ditto for the
+         * right.  The characters of r1 must equal (or be a superset
+         * of) the corresponding characters of r2.  The superset
+         * operation should be performed to check for UnicodeSet
+         * masking.
+         *
+         * Anchors:  Two patterns that differ only in anchors only
+         * mask one another if they are exactly equal, and r2 has
+         * all the anchors r1 has (optionally, plus some).  Here Y
+         * means the row masks the column, N means it doesn't.
+         *
+         *         ab   ^ab    ab$  ^ab$
+         *   ab    Y     Y     Y     Y
+         *  ^ab    N     Y     N     Y
+         *   ab$   N     N     Y     Y
+         *  ^ab$   N     N     N     Y
+         *
+         * Post context: {a}b masks ab, but not vice versa, since {a}b
+         * matches everything ab matches, and {a}b matches {|a|}b but ab
+         * does not.  Pre context is different (a{b} does not align with
+         * ab).
+         */
+
+        /* LIMITATION of the current mask algorithm: Some rule
+         * maskings are currently not detected.  For example,
+         * "{Lu}]a>x" masks "A]a>y".  This can be added later. TODO
+         */
+
+        int len = pattern.length();
+        int left = anteContextLength;
+        int left2 = r2.anteContextLength;
+        int right = pattern.length() - left;
+        int right2 = r2.pattern.length() - left2;
+
+        // TODO Clean this up -- some logic might be combinable with the
+        // next statement.
+
+        // Test for anchor masking
+        if (left == left2 && right == right2 &&
+            keyLength <= r2.keyLength &&
+            r2.pattern.regionMatches(0, pattern, 0, len)) {
+            // The following boolean logic implements the table above
+            return (flags == r2.flags) ||
+                (!((flags & ANCHOR_START) != 0) && !((flags & ANCHOR_END) != 0)) ||
+                (((r2.flags & ANCHOR_START) != 0) && ((r2.flags & ANCHOR_END) != 0));
+        }
+
+        return left <= left2 &&
+            (right < right2 ||
+             (right == right2 && keyLength <= r2.keyLength)) &&
+            r2.pattern.regionMatches(left2 - left, pattern, 0, len);
+    }
+
+    static final int posBefore(Replaceable str, int pos) {
+        return (pos > 0) ?
+            pos - UTF16.getCharCount(str.char32At(pos-1)) :
+            pos - 1;
+    }
+
+    static final int posAfter(Replaceable str, int pos) {
+        return (pos >= 0 && pos < str.length()) ?
+            pos + UTF16.getCharCount(str.char32At(pos)) :
+            pos + 1;
+    }
+
+    /**
+     * Attempt a match and replacement at the given position.  Return
+     * the degree of match between this rule and the given text.  The
+     * degree of match may be mismatch, a partial match, or a full
+     * match.  A mismatch means at least one character of the text
+     * does not match the context or key.  A partial match means some
+     * context and key characters match, but the text is not long
+     * enough to match all of them.  A full match means all context
+     * and key characters match.
+     *
+     * If a full match is obtained, perform a replacement, update pos,
+     * and return U_MATCH.  Otherwise both text and pos are unchanged.
+     *
+     * @param text the text
+     * @param pos the position indices
+     * @param incremental if TRUE, test for partial matches that may
+     * be completed by additional text inserted at pos.limit.
+     * @return one of <code>U_MISMATCH</code>,
+     * <code>U_PARTIAL_MATCH</code>, or <code>U_MATCH</code>.  If
+     * incremental is FALSE then U_PARTIAL_MATCH will not be returned.
+     */
+    public int matchAndReplace(Replaceable text,
+                               Transliterator.Position pos,
+                               boolean incremental) {
+        // Matching and replacing are done in one method because the
+        // replacement operation needs information obtained during the
+        // match.  Another way to do this is to have the match method
+        // create a match result struct with relevant offsets, and to pass
+        // this into the replace method.
+
+        // ============================ MATCH ===========================
+
+        // Reset segment match data
+        if (segments != null) {
+            for (int i=0; i<segments.length; ++i) {
+                ((StringMatcher) segments[i]).resetMatch();
+            }
+        }
+
+        int keyLimit;
+        int[] intRef = new int[1];
+
+        // ------------------------ Ante Context ------------------------
+
+        // A mismatch in the ante context, or with the start anchor,
+        // is an outright U_MISMATCH regardless of whether we are
+        // incremental or not.
+        int oText; // offset into 'text'
+        int minOText;
+
+        // Note (1): We process text in 16-bit code units, rather than
+        // 32-bit code points.  This works because stand-ins are
+        // always in the BMP and because we are doing a literal match
+        // operation, which can be done 16-bits at a time.
+
+        int anteLimit = posBefore(text, pos.contextStart);
+
+        int match;
+
+        // Start reverse match at char before pos.start
+        intRef[0] = posBefore(text, pos.start);
+
+        if (anteContext != null) {
+            match = anteContext.matches(text, intRef, anteLimit, false);
+            if (match != UnicodeMatcher.U_MATCH) {
+                return UnicodeMatcher.U_MISMATCH;
+            }
+        }
+
+        oText = intRef[0];
+
+        minOText = posAfter(text, oText);
+
+        // ------------------------ Start Anchor ------------------------
+
+        if (((flags & ANCHOR_START) != 0) && oText != anteLimit) {
+            return UnicodeMatcher.U_MISMATCH;
+        }
+
+        // -------------------- Key and Post Context --------------------
+
+        intRef[0] = pos.start;
+
+        if (key != null) {
+            match = key.matches(text, intRef, pos.limit, incremental);
+            if (match != UnicodeMatcher.U_MATCH) {
+                return match;
+            }
+        }
+
+        keyLimit = intRef[0];
+
+        if (postContext != null) {
+            if (incremental && keyLimit == pos.limit) {
+                // The key matches just before pos.limit, and there is
+                // a postContext.  Since we are in incremental mode,
+                // we must assume more characters may be inserted at
+                // pos.limit -- this is a partial match.
+                return UnicodeMatcher.U_PARTIAL_MATCH;
+            }
+
+            match = postContext.matches(text, intRef, pos.contextLimit, incremental);
+            if (match != UnicodeMatcher.U_MATCH) {
+                return match;
+            }
+        }
+
+        oText = intRef[0];
+
+        // ------------------------- Stop Anchor ------------------------
+
+        if (((flags & ANCHOR_END)) != 0) {
+            if (oText != pos.contextLimit) {
+                return UnicodeMatcher.U_MISMATCH;
+            }
+            if (incremental) {
+                return UnicodeMatcher.U_PARTIAL_MATCH;
+            }
+        }
+
+        // =========================== REPLACE ==========================
+
+        // We have a full match.  The key is between pos.start and
+        // keyLimit.
+
+        int newLength = output.replace(text, pos.start, keyLimit, intRef);
+        int lenDelta = newLength - (keyLimit - pos.start);
+        int newStart = intRef[0];
+
+        oText += lenDelta;
+        pos.limit += lenDelta;
+        pos.contextLimit += lenDelta;
+        // Restrict new value of start to [minOText, min(oText, pos.limit)].
+        pos.start = Math.max(minOText, Math.min(Math.min(oText, pos.limit), newStart));
+        return UnicodeMatcher.U_MATCH;
+    }
+
+    /**
+     * Create a source string that represents this rule.  Append it to the
+     * given string.
+     */
+    public String toRule(boolean escapeUnprintable) {
+       // int i;
+
+        StringBuffer rule = new StringBuffer();
+
+        // Accumulate special characters (and non-specials following them)
+        // into quoteBuf.  Append quoteBuf, within single quotes, when
+        // a non-quoted element must be inserted.
+        StringBuffer quoteBuf = new StringBuffer();
+
+        // Do not emit the braces '{' '}' around the pattern if there
+        // is neither anteContext nor postContext.
+        boolean emitBraces =
+            (anteContext != null) || (postContext != null);
+
+        // Emit start anchor
+        if ((flags & ANCHOR_START) != 0) {
+            rule.append('^');
+        }
+
+        // Emit the input pattern
+        Utility.appendToRule(rule, anteContext, escapeUnprintable, quoteBuf);
+
+        if (emitBraces) {
+            Utility.appendToRule(rule, '{', true, escapeUnprintable, quoteBuf);
+        }
+
+        Utility.appendToRule(rule, key, escapeUnprintable, quoteBuf);
+
+        if (emitBraces) {
+            Utility.appendToRule(rule, '}', true, escapeUnprintable, quoteBuf);
+        }
+
+        Utility.appendToRule(rule, postContext, escapeUnprintable, quoteBuf);
+
+        // Emit end anchor
+        if ((flags & ANCHOR_END) != 0) {
+            rule.append('$');
+        }
+
+        Utility.appendToRule(rule, " > ", true, escapeUnprintable, quoteBuf);
+
+        // Emit the output pattern
+
+        Utility.appendToRule(rule, output.toReplacerPattern(escapeUnprintable),
+                     true, escapeUnprintable, quoteBuf);
+
+        Utility.appendToRule(rule, ';', true, escapeUnprintable, quoteBuf);
+
+        return rule.toString();
+    }
+
+    /**
+     * Return a string representation of this object.
+     * @return string representation of this object
+     */
+    public String toString() {
+        return '{' + toRule(true) + '}';
+    }
+
+    /**
+     * Union the set of all characters that may be modified by this rule
+     * into the given set.
+     */
+    void addSourceSetTo(UnicodeSet toUnionTo) {
+        int limit = anteContextLength + keyLength;
+        for (int i=anteContextLength; i<limit; ) {
+            int ch = UTF16.charAt(pattern, i);
+            i += UTF16.getCharCount(ch);
+            UnicodeMatcher matcher = data.lookupMatcher(ch);
+            if (matcher == null) {
+                toUnionTo.add(ch);
+            } else {
+                matcher.addMatchSetTo(toUnionTo);
+            }
+        }
+    }
+
+    /**
+     * Union the set of all characters that may be emitted by this rule
+     * into the given set.
+     */
+    void addTargetSetTo(UnicodeSet toUnionTo) {
+        output.addReplacementSetTo(toUnionTo);
+    }
+}
diff --git a/src/com/ibm/icu/text/TransliterationRuleSet.java b/src/com/ibm/icu/text/TransliterationRuleSet.java
new file mode 100755
index 0000000..f483f39
--- /dev/null
+++ b/src/com/ibm/icu/text/TransliterationRuleSet.java
@@ -0,0 +1,257 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.text;
+
+import java.util.*;
+import com.ibm.icu.impl.UtilityExtensions;
+
+/**
+ * A set of rules for a <code>RuleBasedTransliterator</code>.  This set encodes
+ * the transliteration in one direction from one set of characters or short
+ * strings to another.  A <code>RuleBasedTransliterator</code> consists of up to
+ * two such sets, one for the forward direction, and one for the reverse.
+ *
+ * <p>A <code>TransliterationRuleSet</code> has one important operation, that of
+ * finding a matching rule at a given point in the text.  This is accomplished
+ * by the <code>findMatch()</code> method.
+ *
+ * <p>Copyright &copy; IBM Corporation 1999.  All rights reserved.
+ *
+ * @author Alan Liu
+ */
+class TransliterationRuleSet {
+    /**
+     * Vector of rules, in the order added.
+     */
+    private Vector ruleVector;
+
+    /**
+     * Length of the longest preceding context
+     */
+    private int maxContextLength;
+
+    /**
+     * Sorted and indexed table of rules.  This is created by freeze() from
+     * the rules in ruleVector.  rules.length >= ruleVector.size(), and the
+     * references in rules[] are aliases of the references in ruleVector.
+     * A single rule in ruleVector is listed one or more times in rules[].
+     */
+    private TransliterationRule[] rules;
+
+    /**
+     * Index table.  For text having a first character c, compute x = c&0xFF.
+     * Now use rules[index[x]..index[x+1]-1].  This index table is created by
+     * freeze().
+     */
+    private int[] index;
+
+    private static final String COPYRIGHT =
+        "\u00A9 IBM Corporation 1999-2001. All rights reserved.";
+
+    /**
+     * Construct a new empty rule set.
+     */
+    public TransliterationRuleSet() {
+        ruleVector = new Vector();
+        maxContextLength = 0;
+    }
+
+    /**
+     * Return the maximum context length.
+     * @return the length of the longest preceding context.
+     */
+    public int getMaximumContextLength() {
+        return maxContextLength;
+    }
+
+    /**
+     * Add a rule to this set.  Rules are added in order, and order is
+     * significant.
+     * @param rule the rule to add
+     */
+    public void addRule(TransliterationRule rule) {
+        ruleVector.addElement(rule);
+        int len;
+        if ((len = rule.getAnteContextLength()) > maxContextLength) {
+            maxContextLength = len;
+        }
+
+        rules = null;
+    }
+
+    /**
+     * Close this rule set to further additions, check it for masked rules,
+     * and index it to optimize performance.
+     * @exception IllegalArgumentException if some rules are masked
+     */
+    public void freeze() {
+        /* Construct the rule array and index table.  We reorder the
+         * rules by sorting them into 256 bins.  Each bin contains all
+         * rules matching the index value for that bin.  A rule
+         * matches an index value if string whose first key character
+         * has a low byte equal to the index value can match the rule.
+         *
+         * Each bin contains zero or more rules, in the same order
+         * they were found originally.  However, the total rules in
+         * the bins may exceed the number in the original vector,
+         * since rules that have a variable as their first key
+         * character will generally fall into more than one bin.
+         *
+         * That is, each bin contains all rules that either have that
+         * first index value as their first key character, or have
+         * a set containing the index value as their first character.
+         */
+        int n = ruleVector.size();
+        index = new int[257]; // [sic]
+        Vector v = new Vector(2*n); // heuristic; adjust as needed
+
+        /* Precompute the index values.  This saves a LOT of time.
+         */
+        int[] indexValue = new int[n];
+        for (int j=0; j<n; ++j) {
+            TransliterationRule r = (TransliterationRule) ruleVector.elementAt(j);
+            indexValue[j] = r.getIndexValue();
+        }
+        for (int x=0; x<256; ++x) {
+            index[x] = v.size();
+            for (int j=0; j<n; ++j) {
+                if (indexValue[j] >= 0) {
+                    if (indexValue[j] == x) {
+                        v.addElement(ruleVector.elementAt(j));
+                    }
+                } else {
+                    // If the indexValue is < 0, then the first key character is
+                    // a set, and we must use the more time-consuming
+                    // matchesIndexValue check.  In practice this happens
+                    // rarely, so we seldom tread this code path.
+                    TransliterationRule r = (TransliterationRule) ruleVector.elementAt(j);
+                    if (r.matchesIndexValue(x)) {
+                        v.addElement(r);
+                    }
+                }
+            }
+        }
+        index[256] = v.size();
+
+        /* Freeze things into an array.
+         */
+        rules = new TransliterationRule[v.size()];
+        v.copyInto(rules);
+
+        StringBuffer errors = null;
+
+        /* Check for masking.  This is MUCH faster than our old check,
+         * which was each rule against each following rule, since we
+         * only have to check for masking within each bin now.  It's
+         * 256*O(n2^2) instead of O(n1^2), where n1 is the total rule
+         * count, and n2 is the per-bin rule count.  But n2<<n1, so
+         * it's a big win.
+         */
+        for (int x=0; x<256; ++x) {
+            for (int j=index[x]; j<index[x+1]-1; ++j) {
+                TransliterationRule r1 = rules[j];
+                for (int k=j+1; k<index[x+1]; ++k) {
+                    TransliterationRule r2 = rules[k];
+                    if (r1.masks(r2)) {
+                        if (errors == null) {
+                            errors = new StringBuffer();
+                        } else {
+                            errors.append("\n");
+                        }
+                        errors.append("Rule " + r1 + " masks " + r2);
+                    }
+                }
+            }
+        }
+
+        if (errors != null) {
+            throw new IllegalArgumentException(errors.toString());
+        }
+    }
+
+    /**
+     * Transliterate the given text with the given UTransPosition
+     * indices.  Return TRUE if the transliteration should continue
+     * or FALSE if it should halt (because of a U_PARTIAL_MATCH match).
+     * Note that FALSE is only ever returned if isIncremental is TRUE.
+     * @param text the text to be transliterated
+     * @param pos the position indices, which will be updated
+     * @param incremental if TRUE, assume new text may be inserted
+     * at index.limit, and return FALSE if thre is a partial match.
+     * @return TRUE unless a U_PARTIAL_MATCH has been obtained,
+     * indicating that transliteration should stop until more text
+     * arrives.
+     */
+    public boolean transliterate(Replaceable text,
+                                 Transliterator.Position pos,
+                                 boolean incremental) {
+        int indexByte = text.char32At(pos.start) & 0xFF;
+        for (int i=index[indexByte]; i<index[indexByte+1]; ++i) {
+            int m = rules[i].matchAndReplace(text, pos, incremental);
+            switch (m) {
+            case UnicodeMatcher.U_MATCH:
+                if (Transliterator.DEBUG) {
+                    System.out.println((incremental ? "Rule.i: match ":"Rule: match ") +
+                                       rules[i].toRule(true) + " => " +
+                                       UtilityExtensions.formatInput(text, pos));
+                }
+                return true;
+            case UnicodeMatcher.U_PARTIAL_MATCH:
+                if (Transliterator.DEBUG) {
+                    System.out.println((incremental ? "Rule.i: partial match ":"Rule: partial match ") +
+                                       rules[i].toRule(true) + " => " +
+                                       UtilityExtensions.formatInput(text, pos));
+                }
+                return false;
+            }
+        }
+        // No match or partial match from any rule
+        pos.start += UTF16.getCharCount(text.char32At(pos.start));
+        if (Transliterator.DEBUG) {
+            System.out.println((incremental ? "Rule.i: no match => ":"Rule: no match => ") +
+                               UtilityExtensions.formatInput(text, pos));
+        }
+        return true;
+    }
+
+    /**
+     * Create rule strings that represents this rule set.
+     */
+    String toRules(boolean escapeUnprintable) {
+        int i;
+        int count = ruleVector.size();
+        StringBuffer ruleSource = new StringBuffer();
+        for (i=0; i<count; ++i) {
+            if (i != 0) {
+                ruleSource.append('\n');
+            }
+            TransliterationRule r =
+                (TransliterationRule) ruleVector.elementAt(i);
+            ruleSource.append(r.toRule(escapeUnprintable));
+        }
+        return ruleSource.toString();
+    }
+
+    /**
+     * Return the set of all characters that may be modified (getTarget=false)
+     * or emitted (getTarget=true) by this set.
+     */
+    UnicodeSet getSourceTargetSet(boolean getTarget) {
+        UnicodeSet set = new UnicodeSet();
+        int count = ruleVector.size();
+        for (int i=0; i<count; ++i) {
+            TransliterationRule r =
+                (TransliterationRule) ruleVector.elementAt(i);
+            if (getTarget) {
+                r.addTargetSetTo(set);
+            } else {
+                r.addSourceSetTo(set);
+            }
+        }
+        return set;
+    }
+}
diff --git a/src/com/ibm/icu/text/Transliterator.java b/src/com/ibm/icu/text/Transliterator.java
new file mode 100755
index 0000000..3ba8fb4
--- /dev/null
+++ b/src/com/ibm/icu/text/Transliterator.java
@@ -0,0 +1,1892 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.text;
+
+import com.ibm.icu.impl.ICUResourceBundle;
+import com.ibm.icu.impl.Utility;
+import com.ibm.icu.impl.UtilityExtensions;
+import com.ibm.icu.util.CaseInsensitiveString;
+import com.ibm.icu.util.ULocale;
+import com.ibm.icu.util.UResourceBundle;
+import com.ibm.icu.impl.UCharacterProperty;
+
+import java.text.MessageFormat;
+import java.util.Enumeration;
+import java.util.Hashtable;
+import java.util.Locale;
+import java.util.MissingResourceException;
+import java.util.Vector;
+
+/**
+ * <code>Transliterator</code> is an abstract class that
+ * transliterates text from one format to another.  The most common
+ * kind of transliterator is a script, or alphabet, transliterator.
+ * For example, a Russian to Latin transliterator changes Russian text
+ * written in Cyrillic characters to phonetically equivalent Latin
+ * characters.  It does not <em>translate</em> Russian to English!
+ * Transliteration, unlike translation, operates on characters, without
+ * reference to the meanings of words and sentences.
+ *
+ * <p>Although script conversion is its most common use, a
+ * transliterator can actually perform a more general class of tasks.
+ * In fact, <code>Transliterator</code> defines a very general API
+ * which specifies only that a segment of the input text is replaced
+ * by new text.  The particulars of this conversion are determined
+ * entirely by subclasses of <code>Transliterator</code>.
+ *
+ * <p><b>Transliterators are stateless</b>
+ *
+ * <p><code>Transliterator</code> objects are <em>stateless</em>; they
+ * retain no information between calls to
+ * <code>transliterate()</code>.  As a result, threads may share
+ * transliterators without synchronizing them.  This might seem to
+ * limit the complexity of the transliteration operation.  In
+ * practice, subclasses perform complex transliterations by delaying
+ * the replacement of text until it is known that no other
+ * replacements are possible.  In other words, although the
+ * <code>Transliterator</code> objects are stateless, the source text
+ * itself embodies all the needed information, and delayed operation
+ * allows arbitrary complexity.
+ *
+ * <p><b>Batch transliteration</b>
+ *
+ * <p>The simplest way to perform transliteration is all at once, on a
+ * string of existing text.  This is referred to as <em>batch</em>
+ * transliteration.  For example, given a string <code>input</code>
+ * and a transliterator <code>t</code>, the call
+ *
+ * <blockquote><code>String result = t.transliterate(input);
+ * </code></blockquote>
+ *
+ * will transliterate it and return the result.  Other methods allow
+ * the client to specify a substring to be transliterated and to use
+ * {@link Replaceable} objects instead of strings, in order to
+ * preserve out-of-band information (such as text styles).
+ *
+ * <p><b>Keyboard transliteration</b>
+ *
+ * <p>Somewhat more involved is <em>keyboard</em>, or incremental
+ * transliteration.  This is the transliteration of text that is
+ * arriving from some source (typically the user's keyboard) one
+ * character at a time, or in some other piecemeal fashion.
+ *
+ * <p>In keyboard transliteration, a <code>Replaceable</code> buffer
+ * stores the text.  As text is inserted, as much as possible is
+ * transliterated on the fly.  This means a GUI that displays the
+ * contents of the buffer may show text being modified as each new
+ * character arrives.
+ *
+ * <p>Consider the simple <code>RuleBasedTransliterator</code>:
+ *
+ * <blockquote><code>
+ * th&gt;{theta}<br>
+ * t&gt;{tau}
+ * </code></blockquote>
+ *
+ * When the user types 't', nothing will happen, since the
+ * transliterator is waiting to see if the next character is 'h'.  To
+ * remedy this, we introduce the notion of a cursor, marked by a '|'
+ * in the output string:
+ *
+ * <blockquote><code>
+ * t&gt;|{tau}<br>
+ * {tau}h&gt;{theta}
+ * </code></blockquote>
+ *
+ * Now when the user types 't', tau appears, and if the next character
+ * is 'h', the tau changes to a theta.  This is accomplished by
+ * maintaining a cursor position (independent of the insertion point,
+ * and invisible in the GUI) across calls to
+ * <code>transliterate()</code>.  Typically, the cursor will
+ * be coincident with the insertion point, but in a case like the one
+ * above, it will precede the insertion point.
+ *
+ * <p>Keyboard transliteration methods maintain a set of three indices
+ * that are updated with each call to
+ * <code>transliterate()</code>, including the cursor, start,
+ * and limit.  These indices are changed by the method, and they are
+ * passed in and out via a Position object. The <code>start</code> index
+ * marks the beginning of the substring that the transliterator will
+ * look at.  It is advanced as text becomes committed (but it is not
+ * the committed index; that's the <code>cursor</code>).  The
+ * <code>cursor</code> index, described above, marks the point at
+ * which the transliterator last stopped, either because it reached
+ * the end, or because it required more characters to disambiguate
+ * between possible inputs.  The <code>cursor</code> can also be
+ * explicitly set by rules in a <code>RuleBasedTransliterator</code>.
+ * Any characters before the <code>cursor</code> index are frozen;
+ * future keyboard transliteration calls within this input sequence
+ * will not change them.  New text is inserted at the
+ * <code>limit</code> index, which marks the end of the substring that
+ * the transliterator looks at.
+ *
+ * <p>Because keyboard transliteration assumes that more characters
+ * are to arrive, it is conservative in its operation.  It only
+ * transliterates when it can do so unambiguously.  Otherwise it waits
+ * for more characters to arrive.  When the client code knows that no
+ * more characters are forthcoming, perhaps because the user has
+ * performed some input termination operation, then it should call
+ * <code>finishTransliteration()</code> to complete any
+ * pending transliterations.
+ *
+ * <p><b>Inverses</b>
+ *
+ * <p>Pairs of transliterators may be inverses of one another.  For
+ * example, if transliterator <b>A</b> transliterates characters by
+ * incrementing their Unicode value (so "abc" -> "def"), and
+ * transliterator <b>B</b> decrements character values, then <b>A</b>
+ * is an inverse of <b>B</b> and vice versa.  If we compose <b>A</b>
+ * with <b>B</b> in a compound transliterator, the result is the
+ * indentity transliterator, that is, a transliterator that does not
+ * change its input text.
+ *
+ * The <code>Transliterator</code> method <code>getInverse()</code>
+ * returns a transliterator's inverse, if one exists, or
+ * <code>null</code> otherwise.  However, the result of
+ * <code>getInverse()</code> usually will <em>not</em> be a true
+ * mathematical inverse.  This is because true inverse transliterators
+ * are difficult to formulate.  For example, consider two
+ * transliterators: <b>AB</b>, which transliterates the character 'A'
+ * to 'B', and <b>BA</b>, which transliterates 'B' to 'A'.  It might
+ * seem that these are exact inverses, since
+ *
+ * <blockquote>"A" x <b>AB</b> -> "B"<br>
+ * "B" x <b>BA</b> -> "A"</blockquote>
+ *
+ * where 'x' represents transliteration.  However,
+ *
+ * <blockquote>"ABCD" x <b>AB</b> -> "BBCD"<br>
+ * "BBCD" x <b>BA</b> -> "AACD"</blockquote>
+ *
+ * so <b>AB</b> composed with <b>BA</b> is not the
+ * identity. Nonetheless, <b>BA</b> may be usefully considered to be
+ * <b>AB</b>'s inverse, and it is on this basis that
+ * <b>AB</b><code>.getInverse()</code> could legitimately return
+ * <b>BA</b>.
+ *
+ * <p><b>IDs and display names</b>
+ *
+ * <p>A transliterator is designated by a short identifier string or
+ * <em>ID</em>.  IDs follow the format <em>source-destination</em>,
+ * where <em>source</em> describes the entity being replaced, and
+ * <em>destination</em> describes the entity replacing
+ * <em>source</em>.  The entities may be the names of scripts,
+ * particular sequences of characters, or whatever else it is that the
+ * transliterator converts to or from.  For example, a transliterator
+ * from Russian to Latin might be named "Russian-Latin".  A
+ * transliterator from keyboard escape sequences to Latin-1 characters
+ * might be named "KeyboardEscape-Latin1".  By convention, system
+ * entity names are in English, with the initial letters of words
+ * capitalized; user entity names may follow any format so long as
+ * they do not contain dashes.
+ *
+ * <p>In addition to programmatic IDs, transliterator objects have
+ * display names for presentation in user interfaces, returned by
+ * {@link #getDisplayName}.
+ *
+ * <p><b>Factory methods and registration</b>
+ *
+ * <p>In general, client code should use the factory method
+ * <code>getInstance()</code> to obtain an instance of a
+ * transliterator given its ID.  Valid IDs may be enumerated using
+ * <code>getAvailableIDs()</code>.  Since transliterators are
+ * stateless, multiple calls to <code>getInstance()</code> with the
+ * same ID will return the same object.
+ *
+ * <p>In addition to the system transliterators registered at startup,
+ * user transliterators may be registered by calling
+ * <code>registerInstance()</code> at run time.  To register a
+ * transliterator subclass without instantiating it (until it is
+ * needed), users may call <code>registerClass()</code>.
+ *
+ * <p><b>Composed transliterators</b>
+ *
+ * <p>In addition to built-in system transliterators like
+ * "Latin-Greek", there are also built-in <em>composed</em>
+ * transliterators.  These are implemented by composing two or more
+ * component transliterators.  For example, if we have scripts "A",
+ * "B", "C", and "D", and we want to transliterate between all pairs
+ * of them, then we need to write 12 transliterators: "A-B", "A-C",
+ * "A-D", "B-A",..., "D-A", "D-B", "D-C".  If it is possible to
+ * convert all scripts to an intermediate script "M", then instead of
+ * writing 12 rule sets, we only need to write 8: "A~M", "B~M", "C~M",
+ * "D~M", "M~A", "M~B", "M~C", "M~D".  (This might not seem like a big
+ * win, but it's really 2<em>n</em> vs. <em>n</em><sup>2</sup> -
+ * <em>n</em>, so as <em>n</em> gets larger the gain becomes
+ * significant.  With 9 scripts, it's 18 vs. 72 rule sets, a big
+ * difference.)  Note the use of "~" rather than "-" for the script
+ * separator here; this indicates that the given transliterator is
+ * intended to be composed with others, rather than be used as is.
+ *
+ * <p>Composed transliterators can be instantiated as usual.  For
+ * example, the system transliterator "Devanagari-Gujarati" is a
+ * composed transliterator built internally as
+ * "Devanagari~InterIndic;InterIndic~Gujarati".  When this
+ * transliterator is instantiated, it appears externally to be a
+ * standard transliterator (e.g., getID() returns
+ * "Devanagari-Gujarati").
+ *
+ * <p><b>Subclassing</b>
+ *
+ * <p>Subclasses must implement the abstract method
+ * <code>handleTransliterate()</code>.  <p>Subclasses should override
+ * the <code>transliterate()</code> method taking a
+ * <code>Replaceable</code> and the <code>transliterate()</code>
+ * method taking a <code>String</code> and <code>StringBuffer</code>
+ * if the performance of these methods can be improved over the
+ * performance obtained by the default implementations in this class.
+ *
+ * <p>Copyright &copy; IBM Corporation 1999.  All rights reserved.
+ *
+ * @author Alan Liu
+ * @stable ICU 2.0
+ */
+public abstract class Transliterator {
+    /**
+     * Direction constant indicating the forward direction in a transliterator,
+     * e.g., the forward rules of a RuleBasedTransliterator.  An "A-B"
+     * transliterator transliterates A to B when operating in the forward
+     * direction, and B to A when operating in the reverse direction.
+     * @stable ICU 2.0
+     */
+    public static final int FORWARD = 0;
+
+    /**
+     * Direction constant indicating the reverse direction in a transliterator,
+     * e.g., the reverse rules of a RuleBasedTransliterator.  An "A-B"
+     * transliterator transliterates A to B when operating in the forward
+     * direction, and B to A when operating in the reverse direction.
+     * @stable ICU 2.0
+     */
+    public static final int REVERSE = 1;
+
+    /**
+     * Position structure for incremental transliteration.  This data
+     * structure defines two substrings of the text being
+     * transliterated.  The first region, [contextStart,
+     * contextLimit), defines what characters the transliterator will
+     * read as context.  The second region, [start, limit), defines
+     * what characters will actually be transliterated.  The second
+     * region should be a subset of the first.
+     *
+     * <p>After a transliteration operation, some of the indices in this
+     * structure will be modified.  See the field descriptions for
+     * details.
+     *
+     * <p>contextStart <= start <= limit <= contextLimit
+     *
+     * <p>Note: All index values in this structure must be at code point
+     * boundaries.  That is, none of them may occur between two code units
+     * of a surrogate pair.  If any index does split a surrogate pair,
+     * results are unspecified.
+     * @stable ICU 2.0
+     */
+    public static class Position {
+
+        /**
+         * Beginning index, inclusive, of the context to be considered for
+         * a transliteration operation.  The transliterator will ignore
+         * anything before this index.  INPUT/OUTPUT parameter: This parameter
+         * is updated by a transliteration operation to reflect the maximum
+         * amount of antecontext needed by a transliterator.
+         * @stable ICU 2.0
+         */
+        public int contextStart;
+
+        /**
+         * Ending index, exclusive, of the context to be considered for a
+         * transliteration operation.  The transliterator will ignore
+         * anything at or after this index.  INPUT/OUTPUT parameter: This
+         * parameter is updated to reflect changes in the length of the
+         * text, but points to the same logical position in the text.
+         * @stable ICU 2.0
+         */
+        public int contextLimit;
+
+        /**
+         * Beginning index, inclusive, of the text to be transliteratd.
+         * INPUT/OUTPUT parameter: This parameter is advanced past
+         * characters that have already been transliterated by a
+         * transliteration operation.
+         * @stable ICU 2.0
+         */
+        public int start;
+
+        /**
+         * Ending index, exclusive, of the text to be transliteratd.
+         * INPUT/OUTPUT parameter: This parameter is updated to reflect
+         * changes in the length of the text, but points to the same
+         * logical position in the text.
+         * @stable ICU 2.0
+         */
+        public int limit;
+
+        /**
+         * Constructs a Position object with start, limit,
+         * contextStart, and contextLimit all equal to zero.
+         * @stable ICU 2.0
+         */
+        public Position() {
+            this(0, 0, 0, 0);
+        }
+
+        /**
+         * Constructs a Position object with the given start,
+         * contextStart, and contextLimit.  The limit is set to the
+         * contextLimit.
+         * @stable ICU 2.0
+         */
+        public Position(int contextStart, int contextLimit, int start) {
+            this(contextStart, contextLimit, start, contextLimit);
+        }
+
+        /**
+         * Constructs a Position object with the given start, limit,
+         * contextStart, and contextLimit.
+         * @stable ICU 2.0
+         */
+        public Position(int contextStart, int contextLimit,
+                        int start, int limit) {
+            this.contextStart = contextStart;
+            this.contextLimit = contextLimit;
+            this.start = start;
+            this.limit = limit;
+        }
+
+        /**
+         * Constructs a Position object that is a copy of another.
+         * @stable ICU 2.6
+         */
+        public Position(Position pos) {
+            set(pos);
+        }
+
+        /**
+         * Copies the indices of this position from another.
+         * @stable ICU 2.6
+         */
+        public void set(Position pos) {
+            contextStart = pos.contextStart;
+            contextLimit = pos.contextLimit;
+            start = pos.start;
+            limit = pos.limit;
+        }
+
+        /**
+         * Returns true if this Position is equal to the given object.
+         * @stable ICU 2.6
+         */
+        public boolean equals(Object obj) {
+            if (obj instanceof Position) {
+                Position pos = (Position) obj;
+                return contextStart == pos.contextStart &&
+                    contextLimit == pos.contextLimit &&
+                    start == pos.start &&
+                    limit == pos.limit;
+            }
+            return false;
+        }
+
+        /**
+         * Returns a string representation of this Position.
+         * @stable ICU 2.6
+         */
+        public String toString() {
+            return "[cs=" + contextStart
+                + ", s=" + start
+                + ", l=" + limit
+                + ", cl=" + contextLimit
+                + "]";
+        }
+
+        /**
+         * Check all bounds.  If they are invalid, throw an exception.
+         * @param length the length of the string this object applies to
+         * @exception IllegalArgumentException if any indices are out
+         * of bounds
+         * @stable ICU 2.0
+         */
+        public final void validate(int length) {
+            if (contextStart < 0 ||
+                start < contextStart ||
+                limit < start ||
+                contextLimit < limit ||
+                length < contextLimit) {
+                throw new IllegalArgumentException("Invalid Position {cs=" +
+                                                   contextStart + ", s=" +
+                                                   start + ", l=" +
+                                                   limit + ", cl=" +
+                                                   contextLimit + "}, len=" +
+                                                   length);
+            }
+        }
+    }
+
+    /**
+     * Programmatic name, e.g., "Latin-Arabic".
+     */
+    private String ID;
+
+    /**
+     * This transliterator's filter.  Any character for which
+     * <tt>filter.contains()</tt> returns <tt>false</tt> will not be
+     * altered by this transliterator.  If <tt>filter</tt> is
+     * <tt>null</tt> then no filtering is applied.
+     */
+    private UnicodeFilter filter;
+
+    private int maximumContextLength = 0;
+
+    /**
+     * System transliterator registry.
+     */
+    private static TransliteratorRegistry registry;
+
+    private static Hashtable displayNameCache;
+
+    /**
+     * Prefix for resource bundle key for the display name for a
+     * transliterator.  The ID is appended to this to form the key.
+     * The resource bundle value should be a String.
+     */
+    private static final String RB_DISPLAY_NAME_PREFIX = "%Translit%%";
+
+    /**
+     * Prefix for resource bundle key for the display name for a
+     * transliterator SCRIPT.  The ID is appended to this to form the key.
+     * The resource bundle value should be a String.
+     */
+    private static final String RB_SCRIPT_DISPLAY_NAME_PREFIX = "%Translit%";
+
+    /**
+     * Resource bundle key for display name pattern.
+     * The resource bundle value should be a String forming a
+     * MessageFormat pattern, e.g.:
+     * "{0,choice,0#|1#{1} Transliterator|2#{1} to {2} Transliterator}".
+     */
+    private static final String RB_DISPLAY_NAME_PATTERN = "TransliteratorNamePattern";
+
+    /**
+     * Delimiter between elements in a compound ID.
+     * @internal
+     */
+    static final char ID_DELIM = ';';
+
+    /**
+     * Delimiter before target in an ID.
+     * @internal
+     */
+    static final char ID_SEP = '-';
+
+    /**
+     * Delimiter before variant in an ID.
+     * @internal
+     */
+    static final char VARIANT_SEP = '/';
+
+    /**
+     * To enable debugging output in the Transliterator component, set
+     * DEBUG to true.
+     *
+     * N.B. Make sure to recompile all of the com.ibm.icu.text package
+     * after changing this.  Easiest way to do this is 'ant clean
+     * core' ('ant' will NOT pick up the dependency automatically).
+     *
+     * <<This generates a lot of output.>>
+     */
+    static final boolean DEBUG = false;
+
+    private static final String COPYRIGHT =
+        "\u00A9 IBM Corporation 1999. All rights reserved.";
+
+    /**
+     * Default constructor.
+     * @param ID the string identifier for this transliterator
+     * @param filter the filter.  Any character for which
+     * <tt>filter.contains()</tt> returns <tt>false</tt> will not be
+     * altered by this transliterator.  If <tt>filter</tt> is
+     * <tt>null</tt> then no filtering is applied.
+     * @stable ICU 2.0
+     */
+    protected Transliterator(String ID, UnicodeFilter filter) {
+        if (ID == null) {
+            throw new NullPointerException();
+        }
+        this.ID = ID;
+        this.filter = filter;
+    }
+
+    /**
+     * Transliterates a segment of a string, with optional filtering.
+     *
+     * @param text the string to be transliterated
+     * @param start the beginning index, inclusive; <code>0 <= start
+     * <= limit</code>.
+     * @param limit the ending index, exclusive; <code>start <= limit
+     * <= text.length()</code>.
+     * @return The new limit index.  The text previously occupying <code>[start,
+     * limit)</code> has been transliterated, possibly to a string of a different
+     * length, at <code>[start, </code><em>new-limit</em><code>)</code>, where
+     * <em>new-limit</em> is the return value. If the input offsets are out of bounds,
+     * the returned value is -1 and the input string remains unchanged.
+     * @stable ICU 2.0
+     */
+    public final int transliterate(Replaceable text, int start, int limit) {
+        if (start < 0 ||
+            limit < start ||
+            text.length() < limit) {
+            return -1;
+        }
+
+        Position pos = new Position(start, limit, start);
+        filteredTransliterate(text, pos, false, true);
+        return pos.limit;
+    }
+
+    /**
+     * Transliterates an entire string in place. Convenience method.
+     * @param text the string to be transliterated
+     * @stable ICU 2.0
+     */
+    public final void transliterate(Replaceable text) {
+        transliterate(text, 0, text.length());
+    }
+
+    /**
+     * Transliterate an entire string and returns the result. Convenience method.
+     *
+     * @param text the string to be transliterated
+     * @return The transliterated text
+     * @stable ICU 2.0
+     */
+    public final String transliterate(String text) {
+        ReplaceableString result = new ReplaceableString(text);
+        transliterate(result);
+        return result.toString();
+    }
+
+    /**
+     * Transliterates the portion of the text buffer that can be
+     * transliterated unambiguosly after new text has been inserted,
+     * typically as a result of a keyboard event.  The new text in
+     * <code>insertion</code> will be inserted into <code>text</code>
+     * at <code>index.contextLimit</code>, advancing
+     * <code>index.contextLimit</code> by <code>insertion.length()</code>.
+     * Then the transliterator will try to transliterate characters of
+     * <code>text</code> between <code>index.start</code> and
+     * <code>index.contextLimit</code>.  Characters before
+     * <code>index.start</code> will not be changed.
+     *
+     * <p>Upon return, values in <code>index</code> will be updated.
+     * <code>index.contextStart</code> will be advanced to the first
+     * character that future calls to this method will read.
+     * <code>index.start</code> and <code>index.contextLimit</code> will
+     * be adjusted to delimit the range of text that future calls to
+     * this method may change.
+     *
+     * <p>Typical usage of this method begins with an initial call
+     * with <code>index.contextStart</code> and <code>index.contextLimit</code>
+     * set to indicate the portion of <code>text</code> to be
+     * transliterated, and <code>index.start == index.contextStart</code>.
+     * Thereafter, <code>index</code> can be used without
+     * modification in future calls, provided that all changes to
+     * <code>text</code> are made via this method.
+     *
+     * <p>This method assumes that future calls may be made that will
+     * insert new text into the buffer.  As a result, it only performs
+     * unambiguous transliterations.  After the last call to this
+     * method, there may be untransliterated text that is waiting for
+     * more input to resolve an ambiguity.  In order to perform these
+     * pending transliterations, clients should call {@link
+     * #finishTransliteration} after the last call to this
+     * method has been made.
+     *
+     * @param text the buffer holding transliterated and untransliterated text
+     * @param index the start and limit of the text, the position
+     * of the cursor, and the start and limit of transliteration.
+     * @param insertion text to be inserted and possibly
+     * transliterated into the translation buffer at
+     * <code>index.contextLimit</code>.  If <code>null</code> then no text
+     * is inserted.
+     * @see #handleTransliterate
+     * @exception IllegalArgumentException if <code>index</code>
+     * is invalid
+     * @stable ICU 2.0
+     */
+    public final void transliterate(Replaceable text, Position index,
+                                    String insertion) {
+        index.validate(text.length());
+
+//        int originalStart = index.contextStart;
+        if (insertion != null) {
+            text.replace(index.limit, index.limit, insertion);
+            index.limit += insertion.length();
+            index.contextLimit += insertion.length();
+        }
+
+        if (index.limit > 0 &&
+            UTF16.isLeadSurrogate(text.charAt(index.limit - 1))) {
+            // Oops, there is a dangling lead surrogate in the buffer.
+            // This will break most transliterators, since they will
+            // assume it is part of a pair.  Don't transliterate until
+            // more text comes in.
+            return;
+        }
+
+        filteredTransliterate(text, index, true, true);
+
+// TODO
+// This doesn't work once we add quantifier support.  Need to rewrite
+// this code to support quantifiers and 'use maximum backup <n>;'.
+//
+//        index.contextStart = Math.max(index.start - getMaximumContextLength(),
+//                                      originalStart);
+    }
+
+    /**
+     * Transliterates the portion of the text buffer that can be
+     * transliterated unambiguosly after a new character has been
+     * inserted, typically as a result of a keyboard event.  This is a
+     * convenience method; see {@link #transliterate(Replaceable,
+     * Transliterator.Position, String)} for details.
+     * @param text the buffer holding transliterated and
+     * untransliterated text
+     * @param index the start and limit of the text, the position
+     * of the cursor, and the start and limit of transliteration.
+     * @param insertion text to be inserted and possibly
+     * transliterated into the translation buffer at
+     * <code>index.contextLimit</code>.
+     * @see #transliterate(Replaceable, Transliterator.Position, String)
+     * @stable ICU 2.0
+     */
+    public final void transliterate(Replaceable text, Position index,
+                                    int insertion) {
+        transliterate(text, index, UTF16.valueOf(insertion));
+    }
+
+    /**
+     * Transliterates the portion of the text buffer that can be
+     * transliterated unambiguosly.  This is a convenience method; see
+     * {@link #transliterate(Replaceable, Transliterator.Position,
+     * String)} for details.
+     * @param text the buffer holding transliterated and
+     * untransliterated text
+     * @param index the start and limit of the text, the position
+     * of the cursor, and the start and limit of transliteration.
+     * @see #transliterate(Replaceable, Transliterator.Position, String)
+     * @stable ICU 2.0
+     */
+    public final void transliterate(Replaceable text, Position index) {
+        transliterate(text, index, null);
+    }
+
+    /**
+     * Finishes any pending transliterations that were waiting for
+     * more characters.  Clients should call this method as the last
+     * call after a sequence of one or more calls to
+     * <code>transliterate()</code>.
+     * @param text the buffer holding transliterated and
+     * untransliterated text.
+     * @param index the array of indices previously passed to {@link
+     * #transliterate}
+     * @stable ICU 2.0
+     */
+    public final void finishTransliteration(Replaceable text,
+                                            Position index) {
+        index.validate(text.length());
+        filteredTransliterate(text, index, false, true);
+    }
+
+    /**
+     * Abstract method that concrete subclasses define to implement
+     * their transliteration algorithm.  This method handles both
+     * incremental and non-incremental transliteration.  Let
+     * <code>originalStart</code> refer to the value of
+     * <code>pos.start</code> upon entry.
+     *
+     * <ul>
+     *  <li>If <code>incremental</code> is false, then this method
+     *  should transliterate all characters between
+     *  <code>pos.start</code> and <code>pos.limit</code>. Upon return
+     *  <code>pos.start</code> must == <code> pos.limit</code>.</li>
+     *
+     *  <li>If <code>incremental</code> is true, then this method
+     *  should transliterate all characters between
+     *  <code>pos.start</code> and <code>pos.limit</code> that can be
+     *  unambiguously transliterated, regardless of future insertions
+     *  of text at <code>pos.limit</code>.  Upon return,
+     *  <code>pos.start</code> should be in the range
+     *  [<code>originalStart</code>, <code>pos.limit</code>).
+     *  <code>pos.start</code> should be positioned such that
+     *  characters [<code>originalStart</code>, <code>
+     *  pos.start</code>) will not be changed in the future by this
+     *  transliterator and characters [<code>pos.start</code>,
+     *  <code>pos.limit</code>) are unchanged.</li>
+     * </ul>
+     *
+     * <p>Implementations of this method should also obey the
+     * following invariants:</p>
+     *
+     * <ul>
+     *  <li> <code>pos.limit</code> and <code>pos.contextLimit</code>
+     *  should be updated to reflect changes in length of the text
+     *  between <code>pos.start</code> and <code>pos.limit</code>. The
+     *  difference <code> pos.contextLimit - pos.limit</code> should
+     *  not change.</li>
+     *
+     *  <li><code>pos.contextStart</code> should not change.</li>
+     *
+     *  <li>Upon return, neither <code>pos.start</code> nor
+     *  <code>pos.limit</code> should be less than
+     *  <code>originalStart</code>.</li>
+     *
+     *  <li>Text before <code>originalStart</code> and text after
+     *  <code>pos.limit</code> should not change.</li>
+     *
+     *  <li>Text before <code>pos.contextStart</code> and text after
+     *  <code> pos.contextLimit</code> should be ignored.</li>
+     * </ul>
+     *
+     * <p>Subclasses may safely assume that all characters in
+     * [<code>pos.start</code>, <code>pos.limit</code>) are filtered.
+     * In other words, the filter has already been applied by the time
+     * this method is called.  See
+     * <code>filteredTransliterate()</code>.
+     *
+     * <p>This method is <b>not</b> for public consumption.  Calling
+     * this method directly will transliterate
+     * [<code>pos.start</code>, <code>pos.limit</code>) without
+     * applying the filter. End user code should call <code>
+     * transliterate()</code> instead of this method. Subclass code
+     * should call <code>filteredTransliterate()</code> instead of
+     * this method.<p>
+     *
+     * @param text the buffer holding transliterated and
+     * untransliterated text
+     *
+     * @param pos the indices indicating the start, limit, context
+     * start, and context limit of the text.
+     *
+     * @param incremental if true, assume more text may be inserted at
+     * <code>pos.limit</code> and act accordingly.  Otherwise,
+     * transliterate all text between <code>pos.start</code> and
+     * <code>pos.limit</code> and move <code>pos.start</code> up to
+     * <code>pos.limit</code>.
+     *
+     * @see #transliterate
+     * @stable ICU 2.0
+     */
+    protected abstract void handleTransliterate(Replaceable text,
+                                                Position pos, boolean incremental);
+
+    /**
+     * Top-level transliteration method, handling filtering, incremental and
+     * non-incremental transliteration, and rollback.  All transliteration
+     * public API methods eventually call this method with a rollback argument
+     * of TRUE.  Other entities may call this method but rollback should be
+     * FALSE.
+     *
+     * <p>If this transliterator has a filter, break up the input text into runs
+     * of unfiltered characters.  Pass each run to
+     * <subclass>.handleTransliterate().
+     *
+     * <p>In incremental mode, if rollback is TRUE, perform a special
+     * incremental procedure in which several passes are made over the input
+     * text, adding one character at a time, and committing successful
+     * transliterations as they occur.  Unsuccessful transliterations are rolled
+     * back and retried with additional characters to give correct results.
+     *
+     * @param text the text to be transliterated
+     * @param index the position indices
+     * @param incremental if TRUE, then assume more characters may be inserted
+     * at index.limit, and postpone processing to accomodate future incoming
+     * characters
+     * @param rollback if TRUE and if incremental is TRUE, then perform special
+     * incremental processing, as described above, and undo partial
+     * transliterations where necessary.  If incremental is FALSE then this
+     * parameter is ignored.
+     */
+    private void filteredTransliterate(Replaceable text,
+                                       Position index,
+                                       boolean incremental,
+                                       boolean rollback) {
+        // Short circuit path for transliterators with no filter in
+        // non-incremental mode.
+        if (filter == null && !rollback) {
+            handleTransliterate(text, index, incremental);
+            return;
+        }
+
+        //----------------------------------------------------------------------
+        // This method processes text in two groupings:
+        //
+        // RUNS -- A run is a contiguous group of characters which are contained
+        // in the filter for this transliterator (filter.contains(ch) == true).
+        // Text outside of runs may appear as context but it is not modified.
+        // The start and limit Position values are narrowed to each run.
+        //
+        // PASSES (incremental only) -- To make incremental mode work correctly,
+        // each run is broken up into n passes, where n is the length (in code
+        // points) of the run.  Each pass contains the first n characters.  If a
+        // pass is completely transliterated, it is committed, and further passes
+        // include characters after the committed text.  If a pass is blocked,
+        // and does not transliterate completely, then this method rolls back
+        // the changes made during the pass, extends the pass by one code point,
+        // and tries again.
+        //----------------------------------------------------------------------
+
+        // globalLimit is the limit value for the entire operation.  We
+        // set index.limit to the end of each unfiltered run before
+        // calling handleTransliterate(), so we need to maintain the real
+        // value of index.limit here.  After each transliteration, we
+        // update globalLimit for insertions or deletions that have
+        // happened.
+        int globalLimit = index.limit;
+
+        // If there is a non-null filter, then break the input text up.  Say the
+        // input text has the form:
+        //   xxxabcxxdefxx
+        // where 'x' represents a filtered character (filter.contains('x') ==
+        // false).  Then we break this up into:
+        //   xxxabc xxdef xx
+        // Each pass through the loop consumes a run of filtered
+        // characters (which are ignored) and a subsequent run of
+        // unfiltered characters (which are transliterated).
+
+        StringBuffer log = null;
+        if (DEBUG) {
+            log = new StringBuffer();
+        }
+
+        for (;;) {
+
+            if (filter != null) {
+                // Narrow the range to be transliterated to the first run
+                // of unfiltered characters at or after index.start.
+
+                // Advance past filtered chars
+                int c;
+                while (index.start < globalLimit &&
+                       !filter.contains(c=text.char32At(index.start))) {
+                    index.start += UTF16.getCharCount(c);
+                }
+
+                // Find the end of this run of unfiltered chars
+                index.limit = index.start;
+                while (index.limit < globalLimit &&
+                       filter.contains(c=text.char32At(index.limit))) {
+                    index.limit += UTF16.getCharCount(c);
+                }
+            }
+
+            // Check to see if the unfiltered run is empty.  This only
+            // happens at the end of the string when all the remaining
+            // characters are filtered.
+            if (index.start == index.limit) {
+                break;
+            }
+
+            // Is this run incremental?  If there is additional
+            // filtered text (if limit < globalLimit) then we pass in
+            // an incremental value of FALSE to force the subclass to
+            // complete the transliteration for this run.
+            boolean isIncrementalRun =
+                (index.limit < globalLimit ? false : incremental);
+
+            int delta;
+
+            // Implement rollback.  To understand the need for rollback,
+            // consider the following transliterator:
+            //
+            //  "t" is "a > A;"
+            //  "u" is "A > b;"
+            //  "v" is a compound of "t; NFD; u" with a filter [:Ll:]
+            //
+            // Now apply "v" to the input text "a".  The result is "b".  But if
+            // the transliteration is done incrementally, then the NFD holds
+            // things up after "t" has already transformed "a" to "A".  When
+            // finishTransliterate() is called, "A" is _not_ processed because
+            // it gets excluded by the [:Ll:] filter, and the end result is "A"
+            // -- incorrect.  The problem is that the filter is applied to a
+            // partially-transliterated result, when we only want it to apply to
+            // input text.  Although this example describes a compound
+            // transliterator containing NFD and a specific filter, it can
+            // happen with any transliterator which does a partial
+            // transformation in incremental mode into characters outside its
+            // filter.
+            //
+            // To handle this, when in incremental mode we supply characters to
+            // handleTransliterate() in several passes.  Each pass adds one more
+            // input character to the input text.  That is, for input "ABCD", we
+            // first try "A", then "AB", then "ABC", and finally "ABCD".  If at
+            // any point we block (upon return, start < limit) then we roll
+            // back.  If at any point we complete the run (upon return start ==
+            // limit) then we commit that run.
+
+            if (rollback && isIncrementalRun) {
+
+                if (DEBUG) {
+                    log.setLength(0);
+                    System.out.println("filteredTransliterate{"+getID()+"}i: IN=" +
+                                       UtilityExtensions.formatInput(text, index));
+                }
+
+                int runStart = index.start;
+                int runLimit = index.limit;
+                int runLength =  runLimit - runStart;
+
+                // Make a rollback copy at the end of the string
+                int rollbackOrigin = text.length();
+                text.copy(runStart, runLimit, rollbackOrigin);
+
+                // Variables reflecting the commitment of completely
+                // transliterated text.  passStart is the runStart, advanced
+                // past committed text.  rollbackStart is the rollbackOrigin,
+                // advanced past rollback text that corresponds to committed
+                // text.
+                int passStart = runStart;
+                int rollbackStart = rollbackOrigin;
+
+                // The limit for each pass; we advance by one code point with
+                // each iteration.
+                int passLimit = index.start;
+
+                // Total length, in 16-bit code units, of uncommitted text.
+                // This is the length to be rolled back.
+                int uncommittedLength = 0;
+
+                // Total delta (change in length) for all passes
+                int totalDelta = 0;
+
+                // PASS MAIN LOOP -- Start with a single character, and extend
+                // the text by one character at a time.  Roll back partial
+                // transliterations and commit complete transliterations.
+                for (;;) {
+                    // Length of additional code point, either one or two
+                    int charLength =
+                        UTF16.getCharCount(text.char32At(passLimit));
+                    passLimit += charLength;
+                    if (passLimit > runLimit) {
+                        break;
+                    }
+                    uncommittedLength += charLength;
+
+                    index.limit = passLimit;
+
+                    if (DEBUG) {
+                        log.setLength(0);
+                        log.append("filteredTransliterate{"+getID()+"}i: ");
+                        UtilityExtensions.formatInput(log, text, index);
+                    }
+
+                    // Delegate to subclass for actual transliteration.  Upon
+                    // return, start will be updated to point after the
+                    // transliterated text, and limit and contextLimit will be
+                    // adjusted for length changes.
+                    handleTransliterate(text, index, true);
+
+                    if (DEBUG) {
+                        log.append(" => ");
+                        UtilityExtensions.formatInput(log, text, index);
+                    }
+
+                    delta = index.limit - passLimit; // change in length
+
+                    // We failed to completely transliterate this pass.
+                    // Roll back the text.  Indices remain unchanged; reset
+                    // them where necessary.
+                    if (index.start != index.limit) {
+                        // Find the rollbackStart, adjusted for length changes
+                        // and the deletion of partially transliterated text.
+                        int rs = rollbackStart + delta - (index.limit - passStart);
+
+                        // Delete the partially transliterated text
+                        text.replace(passStart, index.limit, "");
+
+                        // Copy the rollback text back
+                        text.copy(rs, rs + uncommittedLength, passStart);
+
+                        // Restore indices to their original values
+                        index.start = passStart;
+                        index.limit = passLimit;
+                        index.contextLimit -= delta;
+
+                        if (DEBUG) {
+                            log.append(" (ROLLBACK)");
+                        }
+                    }
+
+                    // We did completely transliterate this pass.  Update the
+                    // commit indices to record how far we got.  Adjust indices
+                    // for length change.
+                    else {
+                        // Move the pass indices past the committed text.
+                        passStart = passLimit = index.start;
+
+                        // Adjust the rollbackStart for length changes and move
+                        // it past the committed text.  All characters we've
+                        // processed to this point are committed now, so zero
+                        // out the uncommittedLength.
+                        rollbackStart += delta + uncommittedLength;
+                        uncommittedLength = 0;
+
+                        // Adjust indices for length changes.
+                        runLimit += delta;
+                        totalDelta += delta;
+                    }
+
+                    if (DEBUG) {
+                        System.out.println(Utility.escape(log.toString()));
+                    }
+                }
+
+                // Adjust overall limit and rollbackOrigin for insertions and
+                // deletions.  Don't need to worry about contextLimit because
+                // handleTransliterate() maintains that.
+                rollbackOrigin += totalDelta;
+                globalLimit += totalDelta;
+
+                // Delete the rollback copy
+                text.replace(rollbackOrigin, rollbackOrigin + runLength, "");
+
+                // Move start past committed text
+                index.start = passStart;
+            }
+
+            else {
+                // Delegate to subclass for actual transliteration.
+                if (DEBUG) {
+                    log.setLength(0);
+                    log.append("filteredTransliterate{"+getID()+"}: ");
+                    UtilityExtensions.formatInput(log, text, index);
+                }
+
+                int limit = index.limit;
+                handleTransliterate(text, index, isIncrementalRun);
+                delta = index.limit - limit; // change in length
+
+                if (DEBUG) {
+                    log.append(" => ");
+                    UtilityExtensions.formatInput(log, text, index);
+                }
+
+                // In a properly written transliterator, start == limit after
+                // handleTransliterate() returns when incremental is false.
+                // Catch cases where the subclass doesn't do this, and throw
+                // an exception.  (Just pinning start to limit is a bad idea,
+                // because what's probably happening is that the subclass
+                // isn't transliterating all the way to the end, and it should
+                // in non-incremental mode.)
+                if (!isIncrementalRun && index.start != index.limit) {
+                    throw new RuntimeException("ERROR: Incomplete non-incremental transliteration by " + getID());
+                }
+
+                // Adjust overall limit for insertions/deletions.  Don't need
+                // to worry about contextLimit because handleTransliterate()
+                // maintains that.
+                globalLimit += delta;
+
+                if (DEBUG) {
+                    System.out.println(Utility.escape(log.toString()));
+                }
+            }
+
+            if (filter == null || isIncrementalRun) {
+                break;
+            }
+
+            // If we did completely transliterate this
+            // run, then repeat with the next unfiltered run.
+        }
+
+        // Start is valid where it is.  Limit needs to be put back where
+        // it was, modulo adjustments for deletions/insertions.
+        index.limit = globalLimit;
+
+        if (DEBUG) {
+            System.out.println("filteredTransliterate{"+getID()+"}: OUT=" +
+                               UtilityExtensions.formatInput(text, index));
+        }
+    }
+
+    /**
+     * Transliterate a substring of text, as specified by index, taking filters
+     * into account.  This method is for subclasses that need to delegate to
+     * another transliterator, such as CompoundTransliterator.
+     * @param text the text to be transliterated
+     * @param index the position indices
+     * @param incremental if TRUE, then assume more characters may be inserted
+     * at index.limit, and postpone processing to accomodate future incoming
+     * characters
+     * @stable ICU 2.0
+     */
+    protected void filteredTransliterate(Replaceable text,
+                                         Position index,
+                                         boolean incremental) {
+        filteredTransliterate(text, index, incremental, false);
+    }
+
+    /**
+     * Returns the length of the longest context required by this transliterator.
+     * This is <em>preceding</em> context.  The default value is zero, but
+     * subclasses can change this by calling <code>setMaximumContextLength()</code>.
+     * For example, if a transliterator translates "ddd" (where
+     * d is any digit) to "555" when preceded by "(ddd)", then the preceding
+     * context length is 5, the length of "(ddd)".
+     *
+     * @return The maximum number of preceding context characters this
+     * transliterator needs to examine
+     * @stable ICU 2.0
+     */
+    public final int getMaximumContextLength() {
+        return maximumContextLength;
+    }
+
+    /**
+     * Method for subclasses to use to set the maximum context length.
+     * @see #getMaximumContextLength
+     * @stable ICU 2.0
+     */
+    protected void setMaximumContextLength(int a) {
+        if (a < 0) {
+            throw new IllegalArgumentException("Invalid context length " + a);
+        }
+        maximumContextLength = a;
+    }
+
+    /**
+     * Returns a programmatic identifier for this transliterator.
+     * If this identifier is passed to <code>getInstance()</code>, it
+     * will return this object, if it has been registered.
+     * @see #registerClass
+     * @see #getAvailableIDs
+     * @stable ICU 2.0
+     */
+    public final String getID() {
+        return ID;
+    }
+
+    /**
+     * Set the programmatic identifier for this transliterator.  Only
+     * for use by subclasses.
+     * @stable ICU 2.0
+     */
+    protected final void setID(String id) {
+        ID = id;
+    }
+
+    /**
+     * Returns a name for this transliterator that is appropriate for
+     * display to the user in the default locale.  See {@link
+     * #getDisplayName(String,Locale)} for details.
+     * @stable ICU 2.0
+     */
+    public final static String getDisplayName(String ID) {
+        return getDisplayName(ID, ULocale.getDefault());
+    }
+
+    /**
+     * Returns a name for this transliterator that is appropriate for
+     * display to the user in the given locale.  This name is taken
+     * from the locale resource data in the standard manner of the
+     * <code>java.text</code> package.
+     *
+     * <p>If no localized names exist in the system resource bundles,
+     * a name is synthesized using a localized
+     * <code>MessageFormat</code> pattern from the resource data.  The
+     * arguments to this pattern are an integer followed by one or two
+     * strings.  The integer is the number of strings, either 1 or 2.
+     * The strings are formed by splitting the ID for this
+     * transliterator at the first '-'.  If there is no '-', then the
+     * entire ID forms the only string.
+     * @param inLocale the Locale in which the display name should be
+     * localized.
+     * @see java.text.MessageFormat
+     * @stable ICU 2.0
+     */
+    public static String getDisplayName(String id, Locale inLocale) {
+        return getDisplayName(id, ULocale.forLocale(inLocale));
+    }
+
+    /**
+     * Returns a name for this transliterator that is appropriate for
+     * display to the user in the given locale.  This name is taken
+     * from the locale resource data in the standard manner of the
+     * <code>java.text</code> package.
+     *
+     * <p>If no localized names exist in the system resource bundles,
+     * a name is synthesized using a localized
+     * <code>MessageFormat</code> pattern from the resource data.  The
+     * arguments to this pattern are an integer followed by one or two
+     * strings.  The integer is the number of strings, either 1 or 2.
+     * The strings are formed by splitting the ID for this
+     * transliterator at the first '-'.  If there is no '-', then the
+     * entire ID forms the only string.
+     * @param inLocale the ULocale in which the display name should be
+     * localized.
+     * @see java.text.MessageFormat
+     * @draft ICU 3.2
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static String getDisplayName(String id, ULocale inLocale) {
+
+        // Resource bundle containing display name keys and the
+        // RB_RULE_BASED_IDS array.
+        //
+        //If we ever integrate this with the Sun JDK, the resource bundle
+        // root will change to sun.text.resources.LocaleElements
+
+        ICUResourceBundle bundle = (ICUResourceBundle)UResourceBundle.
+            getBundleInstance(ICUResourceBundle.ICU_TRANSLIT_BASE_NAME, inLocale);
+
+        // Normalize the ID
+        String stv[] = TransliteratorIDParser.IDtoSTV(id);
+        if (stv == null) {
+            // No target; malformed id
+            return "";
+        }
+        String ID = stv[0] + '-' + stv[1];
+        if (stv[2] != null && stv[2].length() > 0) {
+            ID = ID + '/' + stv[2];
+        }
+
+        // Use the registered display name, if any
+        String n = (String) displayNameCache.get(new CaseInsensitiveString(ID));
+        if (n != null) {
+            return n;
+        }
+
+        // Use display name for the entire transliterator, if it
+        // exists.
+        try {
+            return bundle.getString(RB_DISPLAY_NAME_PREFIX + ID);
+        } catch (MissingResourceException e) {}
+
+        try {
+            // Construct the formatter first; if getString() fails
+            // we'll exit the try block
+            MessageFormat format = new MessageFormat(
+                    bundle.getString(RB_DISPLAY_NAME_PATTERN));
+            // Construct the argument array
+            Object[] args = new Object[] { new Integer(2), stv[0], stv[1] };
+
+            // Use display names for the scripts, if they exist
+            for (int j=1; j<=2; ++j) {
+                try {
+                    args[j] = bundle.getString(RB_SCRIPT_DISPLAY_NAME_PREFIX +
+                                               (String) args[j]);
+                } catch (MissingResourceException e) {}
+            }
+
+            // Format it using the pattern in the resource
+            return (stv[2].length() > 0) ?
+                (format.format(args) + '/' + stv[2]) :
+                format.format(args);
+        } catch (MissingResourceException e2) {}
+
+        // We should not reach this point unless there is something
+        // wrong with the build or the RB_DISPLAY_NAME_PATTERN has
+        // been deleted from the root RB_LOCALE_ELEMENTS resource.
+        throw new RuntimeException();
+    }
+
+    /**
+     * Returns the filter used by this transliterator, or <tt>null</tt>
+     * if this transliterator uses no filter.
+     * @stable ICU 2.0
+     */
+    public final UnicodeFilter getFilter() {
+        return filter;
+    }
+
+    /**
+     * Changes the filter used by this transliterator.  If the filter
+     * is set to <tt>null</tt> then no filtering will occur.
+     *
+     * <p>Callers must take care if a transliterator is in use by
+     * multiple threads.  The filter should not be changed by one
+     * thread while another thread may be transliterating.
+     * @stable ICU 2.0
+     */
+    public void setFilter(UnicodeFilter filter) {
+        this.filter = filter;
+    }
+
+    /**
+     * Returns a <code>Transliterator</code> object given its ID.
+     * The ID must be either a system transliterator ID or a ID registered
+     * using <code>registerClass()</code>.
+     *
+     * @param ID a valid ID, as enumerated by <code>getAvailableIDs()</code>
+     * @return A <code>Transliterator</code> object with the given ID
+     * @exception IllegalArgumentException if the given ID is invalid.
+     * @stable ICU 2.0
+     */
+    public static final Transliterator getInstance(String ID) {
+        return getInstance(ID, FORWARD);
+    }
+
+    /**
+     * Returns a <code>Transliterator</code> object given its ID.
+     * The ID must be either a system transliterator ID or a ID registered
+     * using <code>registerClass()</code>.
+     *
+     * @param ID a valid ID, as enumerated by <code>getAvailableIDs()</code>
+     * @param dir either FORWARD or REVERSE.  If REVERSE then the
+     * inverse of the given ID is instantiated.
+     * @return A <code>Transliterator</code> object with the given ID
+     * @exception IllegalArgumentException if the given ID is invalid.
+     * @see #registerClass
+     * @see #getAvailableIDs
+     * @see #getID
+     * @stable ICU 2.0
+     */
+    public static Transliterator getInstance(String ID,
+                                             int dir) {
+        StringBuffer canonID = new StringBuffer();
+        Vector list = new Vector();
+        UnicodeSet[] globalFilter = new UnicodeSet[1];
+        if (!TransliteratorIDParser.parseCompoundID(ID, dir, canonID, list, globalFilter)) {
+            throw new IllegalArgumentException("Invalid ID " + ID);
+        }
+
+        TransliteratorIDParser.instantiateList(list);
+
+        // assert(list.size() > 0);
+        Transliterator t = null;
+        if (list.size() > 1 || canonID.indexOf(";") >= 0) {
+            // [NOTE: If it's a compoundID, we instantiate a CompoundTransliterator even if it only
+            // has one child transliterator.  This is so that toRules() will return the right thing
+            // (without any inactive ID), but our main ID still comes out correct.  That is, if we
+            // instantiate "(Lower);Latin-Greek;", we want the rules to come out as "::Latin-Greek;"
+            // even though the ID is "(Lower);Latin-Greek;".
+            t = new CompoundTransliterator(list);
+        }
+        else {
+            t = (Transliterator)list.elementAt(0);
+        }
+
+        t.setID(canonID.toString());
+        if (globalFilter[0] != null) {
+            t.setFilter(globalFilter[0]);
+        }
+        return t;
+    }
+
+    /**
+     * Create a transliterator from a basic ID.  This is an ID
+     * containing only the forward direction source, target, and
+     * variant.
+     * @param id a basic ID of the form S-T or S-T/V.
+     * @param canonID canonical ID to apply to the result, or
+     * null to leave the ID unchanged
+     * @return a newly created Transliterator or null if the ID is
+     * invalid.
+     */
+    static Transliterator getBasicInstance(String id, String canonID) {
+        StringBuffer s = new StringBuffer();
+        Transliterator t = registry.get(id, s);
+        if (s.length() != 0) {
+            // assert(t==0);
+            // Instantiate an alias
+            t = getInstance(s.toString(), FORWARD);
+        }
+        if (t != null && canonID != null) {
+            t.setID(canonID);
+        }
+        return t;
+    }
+
+    /**
+     * Returns a <code>Transliterator</code> object constructed from
+     * the given rule string.  This will be a RuleBasedTransliterator,
+     * if the rule string contains only rules, or a
+     * CompoundTransliterator, if it contains ID blocks, or a
+     * NullTransliterator, if it contains ID blocks which parse as
+     * empty for the given direction.
+     * @stable ICU 2.0
+     */
+    public static final Transliterator createFromRules(String ID, String rules, int dir) {
+        Transliterator t = null;
+
+        TransliteratorParser parser = new TransliteratorParser();
+        parser.parse(rules, dir);
+
+        // NOTE: The logic here matches that in TransliteratorRegistry.
+        if (parser.idBlockVector.size() == 0 && parser.dataVector.size() == 0) {
+            t = new NullTransliterator();
+        }
+        else if (parser.idBlockVector.size() == 0 && parser.dataVector.size() == 1) {
+            t = new RuleBasedTransliterator(ID, (RuleBasedTransliterator.Data)parser.dataVector.get(0), null);
+        }
+        else if (parser.idBlockVector.size() == 1 && parser.dataVector.size() == 0) {
+            // idBlock, no data -- this is an alias.  The ID has
+            // been munged from reverse into forward mode, if
+            // necessary, so instantiate the ID in the forward
+            // direction.
+            if (parser.compoundFilter != null)
+                t = getInstance(parser.compoundFilter.toPattern(false) + ";"
+                        + (String)parser.idBlockVector.get(0));
+            else
+                t = getInstance((String)parser.idBlockVector.get(0));
+
+
+            if (t != null) {
+                t.setID(ID);
+            }
+        }
+        else {
+            Vector transliterators = new Vector();
+            int passNumber = 1;
+
+            int limit = Math.max(parser.idBlockVector.size(), parser.dataVector.size());
+            for (int i = 0; i < limit; i++) {
+                if (i < parser.idBlockVector.size()) {
+                    String idBlock = (String)parser.idBlockVector.get(i);
+                    if (idBlock.length() > 0) {
+                        Transliterator temp = getInstance(idBlock);
+                        if (!(temp instanceof NullTransliterator))
+                            transliterators.add(getInstance(idBlock));
+                    }
+                }
+                if (i < parser.dataVector.size()) {
+                    RuleBasedTransliterator.Data data = (RuleBasedTransliterator.Data)parser.dataVector.get(i);
+                    transliterators.add(new RuleBasedTransliterator("%Pass" + passNumber++, data, null));
+                }
+            }
+
+            t = new CompoundTransliterator(transliterators, passNumber - 1);
+            t.setID(ID);
+            if (parser.compoundFilter != null) {
+                t.setFilter(parser.compoundFilter);
+            }
+        }
+
+        return t;
+    }
+
+    /**
+     * Returns a rule string for this transliterator.
+     * @param escapeUnprintable if true, then unprintable characters
+     * will be converted to escape form backslash-'u' or
+     * backslash-'U'.
+     * @stable ICU 2.0
+     */
+    public String toRules(boolean escapeUnprintable) {
+        return baseToRules(escapeUnprintable);
+    }
+
+    /**
+     * Returns a rule string for this transliterator.  This is
+     * a non-overrideable base class implementation that subclasses
+     * may call.  It simply munges the ID into the correct format,
+     * that is, "foo" => "::foo".
+     * @param escapeUnprintable if true, then unprintable characters
+     * will be converted to escape form backslash-'u' or
+     * backslash-'U'.
+     * @stable ICU 2.0
+     */
+    protected final String baseToRules(boolean escapeUnprintable) {
+        // The base class implementation of toRules munges the ID into
+        // the correct format.  That is: foo => ::foo
+        // KEEP in sync with rbt_pars
+        if (escapeUnprintable) {
+            StringBuffer rulesSource = new StringBuffer();
+            String id = getID();
+            for (int i=0; i<id.length();) {
+                int c = UTF16.charAt(id, i);
+                if (!Utility.escapeUnprintable(rulesSource, c)) {
+                    UTF16.append(rulesSource, c);
+                }
+                i += UTF16.getCharCount(c);
+            }
+            rulesSource.insert(0, "::");
+            rulesSource.append(ID_DELIM);
+            return rulesSource.toString();
+        }
+        return "::" + getID() + ID_DELIM;
+    }
+
+    /**
+     * Return the elements that make up this transliterator.  For
+     * example, if the transliterator "NFD;Jamo-Latin;Latin-Greek"
+     * were created, the return value of this method would be an array
+     * of the three transliterator objects that make up that
+     * transliterator: [NFD, Jamo-Latin, Latin-Greek].
+     *
+     * <p>If this transliterator is not composed of other
+     * transliterators, then this method will return an array of
+     * length one containing a reference to this transliterator.
+     * @return an array of one or more transliterators that make up
+     * this transliterator
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public Transliterator[] getElements() {
+        Transliterator result[];
+        if (this instanceof CompoundTransliterator) {
+            CompoundTransliterator cpd = (CompoundTransliterator) this;
+            result = new Transliterator[cpd.getCount()];
+            for (int i=0; i<result.length; ++i) {
+                result[i] = cpd.getTransliterator(i);
+            }
+        } else {
+            result = new Transliterator[] { this };
+        }
+        return result;
+    }
+
+    /**
+     * Returns the set of all characters that may be modified in the
+     * input text by this Transliterator.  This incorporates this
+     * object's current filter; if the filter is changed, the return
+     * value of this function will change.  The default implementation
+     * returns an empty set.  Some subclasses may override {@link
+     * #handleGetSourceSet} to return a more precise result.  The
+     * return result is approximate in any case and is intended for
+     * use by tests, tools, or utilities.
+     * @see #getTargetSet
+     * @see #handleGetSourceSet
+     * @stable ICU 2.2
+     */
+    public final UnicodeSet getSourceSet() {
+        UnicodeSet set = handleGetSourceSet();
+        if (filter != null) {
+            UnicodeSet filterSet;
+            // Most, but not all filters will be UnicodeSets.  Optimize for
+            // the high-runner case.
+            try {
+                filterSet = (UnicodeSet) filter;
+            } catch (ClassCastException e) {
+                filterSet = new UnicodeSet();
+                filter.addMatchSetTo(filterSet);
+            }
+            set.retainAll(filterSet);
+        }
+        return set;
+    }
+
+    /**
+     * Framework method that returns the set of all characters that
+     * may be modified in the input text by this Transliterator,
+     * ignoring the effect of this object's filter.  The base class
+     * implementation returns the empty set.  Subclasses that wish to
+     * implement this should override this method.
+     * @return the set of characters that this transliterator may
+     * modify.  The set may be modified, so subclasses should return a
+     * newly-created object.
+     * @see #getSourceSet
+     * @see #getTargetSet
+     * @stable ICU 2.2
+     */
+    protected UnicodeSet handleGetSourceSet() {
+        return new UnicodeSet();
+    }
+
+    /**
+     * Returns the set of all characters that may be generated as
+     * replacement text by this transliterator.  The default
+     * implementation returns the empty set.  Some subclasses may
+     * override this method to return a more precise result.  The
+     * return result is approximate in any case and is intended for
+     * use by tests, tools, or utilities requiring such
+     * meta-information.
+     * @see #getTargetSet
+     * @stable ICU 2.2
+     */
+    public UnicodeSet getTargetSet() {
+        return new UnicodeSet();
+    }
+
+    /**
+     * Returns this transliterator's inverse.  See the class
+     * documentation for details.  This implementation simply inverts
+     * the two entities in the ID and attempts to retrieve the
+     * resulting transliterator.  That is, if <code>getID()</code>
+     * returns "A-B", then this method will return the result of
+     * <code>getInstance("B-A")</code>, or <code>null</code> if that
+     * call fails.
+     *
+     * <p>Subclasses with knowledge of their inverse may wish to
+     * override this method.
+     *
+     * @return a transliterator that is an inverse, not necessarily
+     * exact, of this transliterator, or <code>null</code> if no such
+     * transliterator is registered.
+     * @see #registerClass
+     * @stable ICU 2.0
+     */
+    public final Transliterator getInverse() {
+        return getInstance(ID, REVERSE);
+    }
+
+    /**
+     * Registers a subclass of <code>Transliterator</code> with the
+     * system.  This subclass must have a public constructor taking no
+     * arguments.  When that constructor is called, the resulting
+     * object must return the <code>ID</code> passed to this method if
+     * its <code>getID()</code> method is called.
+     *
+     * @param ID the result of <code>getID()</code> for this
+     * transliterator
+     * @param transClass a subclass of <code>Transliterator</code>
+     * @see #unregister
+     * @stable ICU 2.0
+     */
+    public static void registerClass(String ID, Class transClass, String displayName) {
+        registry.put(ID, transClass, true);
+        if (displayName != null) {
+            displayNameCache.put(new CaseInsensitiveString(ID), displayName);
+        }
+    }
+
+    /**
+     * Register a factory object with the given ID.  The factory
+     * method should return a new instance of the given transliterator.
+     * @param ID the ID of this transliterator
+     * @param factory the factory object
+     * @stable ICU 2.0
+     */
+    public static void registerFactory(String ID, Factory factory) {
+        registry.put(ID, factory, true);
+    }
+
+    /**
+     * Register a Transliterator object with the given ID.
+     * @param trans the Transliterator object
+     * @stable ICU 2.2
+     */
+    public static void registerInstance(Transliterator trans) {
+        registry.put(trans.getID(), trans, true);
+    }
+
+    /**
+     * Register a Transliterator object with the given ID.
+     * @param ID the ID of this transliterator
+     * @param trans the Transliterator object
+     */
+    static void registerInstance(Transliterator trans, boolean visible) {
+        registry.put(trans.getID(), trans, visible);
+    }
+
+    /**
+     * Register two targets as being inverses of one another.  For
+     * example, calling registerSpecialInverse("NFC", "NFD", true) causes
+     * Transliterator to form the following inverse relationships:
+     *
+     * <pre>NFC => NFD
+     * Any-NFC => Any-NFD
+     * NFD => NFC
+     * Any-NFD => Any-NFC</pre>
+     *
+     * (Without the special inverse registration, the inverse of NFC
+     * would be NFC-Any.)  Note that NFD is shorthand for Any-NFD, but
+     * that the presence or absence of "Any-" is preserved.
+     *
+     * <p>The relationship is symmetrical; registering (a, b) is
+     * equivalent to registering (b, a).
+     *
+     * <p>The relevant IDs must still be registered separately as
+     * factories or classes.
+     *
+     * <p>Only the targets are specified.  Special inverses always
+     * have the form Any-Target1 <=> Any-Target2.  The target should
+     * have canonical casing (the casing desired to be produced when
+     * an inverse is formed) and should contain no whitespace or other
+     * extraneous characters.
+     *
+     * @param target the target against which to register the inverse
+     * @param inverseTarget the inverse of target, that is
+     * Any-target.getInverse() => Any-inverseTarget
+     * @param bidirectional if true, register the reverse relation
+     * as well, that is, Any-inverseTarget.getInverse() => Any-target
+     */
+    static void registerSpecialInverse(String target,
+                                       String inverseTarget,
+                                       boolean bidirectional) {
+        TransliteratorIDParser.registerSpecialInverse(target, inverseTarget, bidirectional);
+    }
+
+    /**
+     * Unregisters a transliterator or class.  This may be either
+     * a system transliterator or a user transliterator or class.
+     *
+     * @param ID the ID of the transliterator or class
+     * @see #registerClass
+     * @stable ICU 2.0
+     */
+    public static void unregister(String ID) {
+        displayNameCache.remove(new CaseInsensitiveString(ID));
+        registry.remove(ID);
+    }
+
+    /**
+     * Returns an enumeration over the programmatic names of registered
+     * <code>Transliterator</code> objects.  This includes both system
+     * transliterators and user transliterators registered using
+     * <code>registerClass()</code>.  The enumerated names may be
+     * passed to <code>getInstance()</code>.
+     *
+     * @return An <code>Enumeration</code> over <code>String</code> objects
+     * @see #getInstance
+     * @see #registerClass
+     * @stable ICU 2.0
+     */
+    public static final Enumeration getAvailableIDs() {
+        return registry.getAvailableIDs();
+    }
+
+    /**
+     * Returns an enumeration over the source names of registered
+     * transliterators.  Source names may be passed to
+     * getAvailableTargets() to obtain available targets for each
+     * source.
+     * @stable ICU 2.0
+     */
+    public static final Enumeration getAvailableSources() {
+        return registry.getAvailableSources();
+    }
+
+    /**
+     * Returns an enumeration over the target names of registered
+     * transliterators having a given source name.  Target names may
+     * be passed to getAvailableVariants() to obtain available
+     * variants for each source and target pair.
+     * @stable ICU 2.0
+     */
+    public static final Enumeration getAvailableTargets(String source) {
+        return registry.getAvailableTargets(source);
+    }
+
+    /**
+     * Returns an enumeration over the variant names of registered
+     * transliterators having a given source name and target name.
+     * @stable ICU 2.0
+     */
+    public static final Enumeration getAvailableVariants(String source,
+                                                         String target) {
+        return registry.getAvailableVariants(source, target);
+    }
+    private static final String INDEX = "index",
+                                RB_RULE_BASED_IDS ="RuleBasedTransliteratorIDs";
+    static {
+        registry = new TransliteratorRegistry();
+
+        // The display name cache starts out empty
+        displayNameCache = new Hashtable();
+        /* The following code parses the index table located in
+         * icu/data/translit/root.txt.  The index is an n x 4 table
+         * that follows this format:
+         *  <id>{
+         *      file{
+         *          resource{"<resource>"}
+         *          direction{"<direction>"}
+         *      }
+         *  }
+         *  <id>{
+         *      internal{
+         *          resource{"<resource>"}
+         *          direction{"<direction"}
+         *       }
+         *  }
+         *  <id>{
+         *      alias{"<getInstanceArg"}
+         *  }
+         * <id> is the ID of the system transliterator being defined.  These
+         * are public IDs enumerated by Transliterator.getAvailableIDs(),
+         * unless the second field is "internal".
+         * 
+         * <resource> is a ResourceReader resource name.  Currently these refer
+         * to file names under com/ibm/text/resources.  This string is passed
+         * directly to ResourceReader, together with <encoding>.
+         * 
+         * <direction> is either "FORWARD" or "REVERSE".
+         * 
+         * <getInstanceArg> is a string to be passed directly to
+         * Transliterator.getInstance().  The returned Transliterator object
+         * then has its ID changed to <id> and is returned.
+         *
+         * The extra blank field on "alias" lines is to make the array square.
+         */
+        ICUResourceBundle bundle, transIDs, colBund;
+        bundle = (ICUResourceBundle)UResourceBundle.getBundleInstance(ICUResourceBundle.ICU_TRANSLIT_BASE_NAME, INDEX);
+        transIDs = bundle.get(RB_RULE_BASED_IDS);
+
+        int row, maxRows;
+        maxRows = transIDs.getSize();
+        for (row = 0; row < maxRows; row++) {
+            colBund = transIDs.get(row);
+            String ID = colBund.getKey();
+            ICUResourceBundle res = colBund.get(0);
+            String type = res.getKey();
+            if (type.equals("file") || type.equals("internal")) {
+                // Rest of line is <resource>:<encoding>:<direction>
+                //                pos       colon      c2
+                String resString = res.getString("resource");
+                int dir;
+                String direction = res.getString("direction");
+                switch (direction.charAt(0)) {
+                case 'F':
+                    dir = FORWARD;
+                    break;
+                case 'R':
+                    dir = REVERSE;
+                    break;
+                default:
+                    throw new RuntimeException("Can't parse direction: " + direction);
+                }
+                registry.put(ID,
+                             resString, // resource
+                             "UTF-16", // encoding
+                             dir,
+                             !type.equals("internal"));
+            } else if (type.equals("alias")) {
+                //'alias'; row[2]=createInstance argument
+                String resString = res.getString();
+                registry.put(ID, resString, true);
+            } else {
+                // Unknown type
+                throw new RuntimeException("Unknow type: " + type);
+            }
+        }
+
+        registerSpecialInverse(NullTransliterator.SHORT_ID, NullTransliterator.SHORT_ID, false);
+
+        // Register non-rule-based transliterators
+        registerClass(NullTransliterator._ID,
+                      NullTransliterator.class, null);
+        RemoveTransliterator.register();
+        EscapeTransliterator.register();
+        UnescapeTransliterator.register();
+        LowercaseTransliterator.register();
+        UppercaseTransliterator.register();
+        TitlecaseTransliterator.register();
+        UnicodeNameTransliterator.register();
+        NameUnicodeTransliterator.register();
+        NormalizationTransliterator.register();
+        BreakTransliterator.register();
+        AnyTransliterator.register(); // do this last!
+    }
+
+    /**
+     * The factory interface for transliterators.  Transliterator
+     * subclasses can register factory objects for IDs using the
+     * registerFactory() method of Transliterator.  When invoked, the
+     * factory object will be passed the ID being instantiated.  This
+     * makes it possible to register one factory method to more than
+     * one ID, or for a factory method to parameterize its result
+     * based on the variant.
+     * @stable ICU 2.0
+     */
+    public static interface Factory {
+        /**
+         * Return a transliterator for the given ID.
+         * @stable ICU 2.0
+         */
+        Transliterator getInstance(String ID);
+    }
+}
diff --git a/src/com/ibm/icu/text/TransliteratorIDParser.java b/src/com/ibm/icu/text/TransliteratorIDParser.java
new file mode 100755
index 0000000..de23cd4
--- /dev/null
+++ b/src/com/ibm/icu/text/TransliteratorIDParser.java
@@ -0,0 +1,771 @@
+/*
+**********************************************************************
+*   Copyright (c) 2002-2005, International Business Machines Corporation
+*   and others.  All Rights Reserved.
+**********************************************************************
+*   Date        Name        Description
+*   01/14/2002  aliu        Creation.
+**********************************************************************
+*/
+
+package com.ibm.icu.text;
+
+import com.ibm.icu.util.CaseInsensitiveString;
+import com.ibm.icu.impl.Utility;
+import java.text.ParsePosition;
+import java.util.Hashtable;
+import java.util.Vector;
+
+/**
+ * Parsing component for transliterator IDs.  This class contains only
+ * static members; it cannot be instantiated.  Methods in this class
+ * parse various ID formats, including the following:
+ *
+ * A basic ID, which contains source, target, and variant, but no
+ * filter and no explicit inverse.  Examples include
+ * "Latin-Greek/UNGEGN" and "Null".
+ *
+ * A single ID, which is a basic ID plus optional filter and optional
+ * explicit inverse.  Examples include "[a-zA-Z] Latin-Greek" and
+ * "Lower (Upper)".
+ *
+ * A compound ID, which is a sequence of one or more single IDs,
+ * separated by semicolons, with optional forward and reverse global
+ * filters.  The global filters are UnicodeSet patterns prepended or
+ * appended to the IDs, separated by semicolons.  An appended filter
+ * must be enclosed in parentheses and applies in the reverse
+ * direction.
+ *
+ * @author Alan Liu
+ */
+class TransliteratorIDParser {
+
+    private static final char ID_DELIM = ';';
+
+    private static final char TARGET_SEP = '-';
+
+    private static final char VARIANT_SEP = '/';
+
+    private static final char OPEN_REV = '(';
+
+    private static final char CLOSE_REV = ')';
+
+    private static final String ANY = "Any";
+
+    private static final int FORWARD = Transliterator.FORWARD;
+
+    private static final int REVERSE = Transliterator.REVERSE;
+
+    private static final Hashtable SPECIAL_INVERSES = new Hashtable();
+
+    /**
+     * A structure containing the parsed data of a filtered ID, that
+     * is, a basic ID optionally with a filter.
+     *
+     * 'source' and 'target' will always be non-null.  The 'variant'
+     * will be non-null only if a non-empty variant was parsed.
+     *
+     * 'sawSource' is true if there was an explicit source in the
+     * parsed id.  If there was no explicit source, then an implied
+     * source of ANY is returned and 'sawSource' is set to false.
+     * 
+     * 'filter' is the parsed filter pattern, or null if there was no
+     * filter.
+     */
+    private static class Specs {
+        public String source; // not null
+        public String target; // not null
+        public String variant; // may be null
+        public String filter; // may be null
+        public boolean sawSource;
+        Specs(String s, String t, String v, boolean sawS, String f) {
+            source = s;
+            target = t;
+            variant = v;
+            sawSource = sawS;
+            filter = f;
+        }
+    }
+
+    /**
+     * A structure containing the canonicalized data of a filtered ID,
+     * that is, a basic ID optionally with a filter.
+     *
+     * 'canonID' is always non-null.  It may be the empty string "".
+     * It is the id that should be assigned to the created
+     * transliterator.  It _cannot_ be instantiated directly.
+     *
+     * 'basicID' is always non-null and non-empty.  It is always of
+     * the form S-T or S-T/V.  It is designed to be fed to low-level
+     * instantiation code that only understands these two formats.
+     *
+     * 'filter' may be null, if there is none, or non-null and
+     * non-empty.
+     */
+    static class SingleID {
+        public String canonID;
+        public String basicID;
+        public String filter;
+        SingleID(String c, String b, String f) {
+            canonID = c;
+            basicID = b;
+            filter = f;
+        }
+        SingleID(String c, String b) {
+            this(c, b, null);
+        }
+        Transliterator getInstance() {
+            Transliterator t;
+            if (basicID == null || basicID.length() == 0) {
+                t = Transliterator.getBasicInstance("Any-Null", canonID);
+            } else {
+                t = Transliterator.getBasicInstance(basicID, canonID);
+            }
+            if (t != null) {
+                if (filter != null) {
+                    t.setFilter(new UnicodeSet(filter));
+                }
+            }
+            return t;
+        }
+    }
+
+    /**
+     * Parse a filter ID, that is, an ID of the general form
+     * "[f1] s1-t1/v1", with the filters optional, and the variants optional.
+     * @param id the id to be parsed
+     * @param pos INPUT-OUTPUT parameter.  On input, the position of
+     * the first character to parse.  On output, the position after
+     * the last character parsed.
+     * @return a SingleID object or null if the parse fails
+     */
+    public static SingleID parseFilterID(String id, int[] pos) {
+
+        int start = pos[0];
+        Specs specs = parseFilterID(id, pos, true);
+        if (specs == null) {
+            pos[0] = start;
+            return null;
+        }
+
+        // Assemble return results
+        SingleID single = specsToID(specs, FORWARD);
+        single.filter = specs.filter;
+        return single;
+    }
+
+    /**
+     * Parse a single ID, that is, an ID of the general form
+     * "[f1] s1-t1/v1 ([f2] s2-t3/v2)", with the parenthesized element
+     * optional, the filters optional, and the variants optional.
+     * @param id the id to be parsed
+     * @param pos INPUT-OUTPUT parameter.  On input, the position of
+     * the first character to parse.  On output, the position after
+     * the last character parsed.
+     * @param dir the direction.  If the direction is REVERSE then the
+     * SingleID is constructed for the reverse direction.
+     * @return a SingleID object or null
+     */
+    public static SingleID parseSingleID(String id, int[] pos, int dir) {
+
+        int start = pos[0];
+
+        // The ID will be of the form A, A(), A(B), or (B), where
+        // A and B are filter IDs.
+        Specs specsA = null;
+        Specs specsB = null;
+        boolean sawParen = false;
+
+        // On the first pass, look for (B) or ().  If this fails, then
+        // on the second pass, look for A, A(B), or A().
+        for (int pass=1; pass<=2; ++pass) {
+            if (pass == 2) {
+                specsA = parseFilterID(id, pos, true);
+                if (specsA == null) {
+                    pos[0] = start;
+                    return null;
+                }
+            }
+            if (Utility.parseChar(id, pos, OPEN_REV)) {
+                sawParen = true;
+                if (!Utility.parseChar(id, pos, CLOSE_REV)) {
+                    specsB = parseFilterID(id, pos, true);
+                    // Must close with a ')'
+                    if (specsB == null || !Utility.parseChar(id, pos, CLOSE_REV)) {
+                        pos[0] = start;
+                        return null;
+                    }
+                }
+                break;
+            }
+        }
+
+        // Assemble return results
+        SingleID single;
+        if (sawParen) {
+            if (dir == FORWARD) {
+                single = specsToID(specsA, FORWARD);
+                single.canonID = single.canonID +
+                    OPEN_REV + specsToID(specsB, FORWARD).canonID + CLOSE_REV;
+                if (specsA != null) {
+                    single.filter = specsA.filter;
+                }
+            } else {
+                single = specsToID(specsB, FORWARD);
+                single.canonID = single.canonID +
+                    OPEN_REV + specsToID(specsA, FORWARD).canonID + CLOSE_REV;
+                if (specsB != null) {
+                    single.filter = specsB.filter;
+                }
+            }
+        } else {
+            // assert(specsA != null);
+            if (dir == FORWARD) {
+                single = specsToID(specsA, FORWARD);
+            } else {
+                single = specsToSpecialInverse(specsA);
+                if (single == null) {
+                    single = specsToID(specsA, REVERSE);
+                }
+            }
+            single.filter = specsA.filter;
+        }
+
+        return single;
+    }
+
+    /**
+     * Parse a global filter of the form "[f]" or "([f])", depending
+     * on 'withParens'.
+     * @param id the pattern the parse
+     * @param pos INPUT-OUTPUT parameter.  On input, the position of
+     * the first character to parse.  On output, the position after
+     * the last character parsed.
+     * @param dir the direction.
+     * @param withParens INPUT-OUTPUT parameter.  On entry, if
+     * withParens[0] is 0, then parens are disallowed.  If it is 1,
+     * then parens are requires.  If it is -1, then parens are
+     * optional, and the return result will be set to 0 or 1.
+     * @param canonID OUTPUT parameter.  The pattern for the filter
+     * added to the canonID, either at the end, if dir is FORWARD, or
+     * at the start, if dir is REVERSE.  The pattern will be enclosed
+     * in parentheses if appropriate, and will be suffixed with an
+     * ID_DELIM character.  May be null.
+     * @return a UnicodeSet object or null.  A non-null results
+     * indicates a successful parse, regardless of whether the filter
+     * applies to the given direction.  The caller should discard it
+     * if withParens != (dir == REVERSE).
+     */
+    public static UnicodeSet parseGlobalFilter(String id, int[] pos, int dir,
+                                               int[] withParens,
+                                               StringBuffer canonID) {
+        UnicodeSet filter = null;
+        int start = pos[0];
+
+        if (withParens[0] == -1) {
+            withParens[0] = Utility.parseChar(id, pos, OPEN_REV) ? 1 : 0;
+        } else if (withParens[0] == 1) {
+            if (!Utility.parseChar(id, pos, OPEN_REV)) {
+                pos[0] = start;
+                return null;
+            }
+        }
+        
+        Utility.skipWhitespace(id, pos);
+
+        if (UnicodeSet.resemblesPattern(id, pos[0])) {
+            ParsePosition ppos = new ParsePosition(pos[0]);
+            try {
+                filter = new UnicodeSet(id, ppos, null);
+            } catch (IllegalArgumentException e) {
+                pos[0] = start;
+                return null;
+            }
+
+            String pattern = id.substring(pos[0], ppos.getIndex());
+            pos[0] = ppos.getIndex();
+
+            if (withParens[0] == 1 && !Utility.parseChar(id, pos, CLOSE_REV)) {
+                pos[0] = start;
+                return null;
+            }
+
+            // In the forward direction, append the pattern to the
+            // canonID.  In the reverse, insert it at zero, and invert
+            // the presence of parens ("A" <-> "(A)").
+            if (canonID != null) {
+                if (dir == FORWARD) {
+                    if (withParens[0] == 1) {
+                        pattern = String.valueOf(OPEN_REV) + pattern + CLOSE_REV;
+                    }
+                    canonID.append(pattern + ID_DELIM);
+                } else {
+                    if (withParens[0] == 0) {
+                        pattern = String.valueOf(OPEN_REV) + pattern + CLOSE_REV;
+                    }
+                    canonID.insert(0, pattern + ID_DELIM);
+                }
+            }
+        }
+
+        return filter;
+    }
+
+    /**
+     * Parse a compound ID, consisting of an optional forward global
+     * filter, a separator, one or more single IDs delimited by
+     * separators, an an optional reverse global filter.  The
+     * separator is a semicolon.  The global filters are UnicodeSet
+     * patterns.  The reverse global filter must be enclosed in
+     * parentheses.
+     * @param id the pattern the parse
+     * @param dir the direction.
+     * @param canonID OUTPUT parameter that receives the canonical ID,
+     * consisting of canonical IDs for all elements, as returned by
+     * parseSingleID(), separated by semicolons.  Previous contents
+     * are discarded.
+     * @param list OUTPUT parameter that receives a list of SingleID
+     * objects representing the parsed IDs.  Previous contents are
+     * discarded.
+     * @param globalFilter OUTPUT parameter that receives a pointer to
+     * a newly created global filter for this ID in this direction, or
+     * null if there is none.
+     * @return true if the parse succeeds, that is, if the entire
+     * id is consumed without syntax error.
+     */
+    public static boolean parseCompoundID(String id, int dir,
+                                          StringBuffer canonID,
+                                          Vector list,
+                                          UnicodeSet[] globalFilter) {
+        int[] pos = new int[] { 0 };
+        int[] withParens = new int[1];
+        list.removeAllElements();
+        UnicodeSet filter;
+        globalFilter[0] = null;
+        canonID.setLength(0);
+
+        // Parse leading global filter, if any
+        withParens[0] = 0; // parens disallowed
+        filter = parseGlobalFilter(id, pos, dir, withParens, canonID);
+        if (filter != null) {
+            if (!Utility.parseChar(id, pos, ID_DELIM)) {
+                // Not a global filter; backup and resume
+                canonID.setLength(0);
+                pos[0] = 0;
+            }
+            if (dir == FORWARD) {
+                globalFilter[0] = filter;
+            }
+        }
+
+        boolean sawDelimiter = true;
+        for (;;) {
+            SingleID single = parseSingleID(id, pos, dir);
+            if (single == null) {
+                break;
+            }
+            if (dir == FORWARD) {
+                list.addElement(single);
+            } else {
+                list.insertElementAt(single, 0);
+            }
+            if (!Utility.parseChar(id, pos, ID_DELIM)) {
+                sawDelimiter = false;
+                break;
+            }
+        }
+
+        if (list.size() == 0) {
+            return false;
+        }
+
+        // Construct canonical ID
+        for (int i=0; i<list.size(); ++i) {
+            SingleID single = (SingleID) list.elementAt(i);
+            canonID.append(single.canonID);
+            if (i != (list.size()-1)) {
+                canonID.append(ID_DELIM);
+            }
+        }
+
+        // Parse trailing global filter, if any, and only if we saw
+        // a trailing delimiter after the IDs.
+        if (sawDelimiter) {
+            withParens[0] = 1; // parens required
+            filter = parseGlobalFilter(id, pos, dir, withParens, canonID);
+            if (filter != null) {
+                // Don't require trailing ';', but parse it if present
+                Utility.parseChar(id, pos, ID_DELIM);
+                
+                if (dir == REVERSE) {
+                    globalFilter[0] = filter;
+                }
+            }
+        }
+
+        // Trailing unparsed text is a syntax error
+        Utility.skipWhitespace(id, pos[0]);
+        if (pos[0] != id.length()) {
+            return false;
+        }
+
+        return true;
+    }
+
+    /**
+     * Convert the elements of the 'list' vector, which are SingleID
+     * objects, into actual Transliterator objects.  In the course of
+     * this, some (or all) entries may be removed.  If all entries
+     * are removed, the Null transliterator will be added.
+     *
+     * Delete entries with empty basicIDs; these are generated by
+     * elements like "(A)" in the forward direction, or "A()" in
+     * the reverse.  THIS MAY RESULT IN AN EMPTY VECTOR.  Convert
+     * SingleID entries to actual transliterators.
+     *
+     * @param list vector of SingleID objects.  On exit, vector
+     * of one or more Transliterators.
+     */
+    public static void instantiateList(Vector list) {
+        Transliterator t;
+        for (int i=0; i<=list.size(); ) { // [sic]: i<=list.size()
+            // We run the loop too long by one, so we can
+            // do an insert after the last element
+            if (i==list.size()) {
+                break;
+            }
+            
+            SingleID single = (SingleID) list.elementAt(i);
+            if (single.basicID.length() == 0) {
+                list.removeElementAt(i);
+            } else {
+                t = single.getInstance();
+                if (t == null) {
+                    throw new IllegalArgumentException("Illegal ID " + single.canonID);
+                }
+                list.setElementAt(t, i);
+                ++i;
+            }
+        }
+        
+        // An empty list is equivalent to a Null transliterator.
+        if (list.size() == 0) {
+            t = Transliterator.getBasicInstance("Any-Null", null);
+            if (t == null) {
+                // Should never happen
+                throw new IllegalArgumentException("Internal error; cannot instantiate Any-Null");
+            }
+            list.addElement(t);
+        }
+    }
+
+    /**
+     * Parse an ID into pieces.  Take IDs of the form T, T/V, S-T,
+     * S-T/V, or S/V-T.  If the source is missing, return a source of
+     * ANY.
+     * @param id the id string, in any of several forms
+     * @return an array of 4 strings: source, target, variant, and
+     * isSourcePresent.  If the source is not present, ANY will be
+     * given as the source, and isSourcePresent will be null.  Otherwise
+     * isSourcePresent will be non-null.  The target may be empty if the
+     * id is not well-formed.  The variant may be empty.
+     */
+    public static String[] IDtoSTV(String id) {
+        String source = ANY;
+        String target = null;
+        String variant = "";
+        
+        int sep = id.indexOf(TARGET_SEP);
+        int var = id.indexOf(VARIANT_SEP);
+        if (var < 0) {
+            var = id.length();
+        }
+        boolean isSourcePresent = false;
+        
+        if (sep < 0) {
+            // Form: T/V or T (or /V)
+            target = id.substring(0, var);
+            variant = id.substring(var);
+        } else if (sep < var) {
+            // Form: S-T/V or S-T (or -T/V or -T)
+            if (sep > 0) {
+                source = id.substring(0, sep);
+              isSourcePresent = true;
+            }
+            target = id.substring(++sep, var);
+            variant = id.substring(var);
+        } else {
+            // Form: (S/V-T or /V-T)
+            if (var > 0) {
+                source = id.substring(0, var);
+                isSourcePresent = true;
+            }
+            variant = id.substring(var, sep++);
+            target = id.substring(sep);
+        }
+
+        if (variant.length() > 0) {
+            variant = variant.substring(1);
+        }
+        
+        return new String[] { source, target, variant,
+                              isSourcePresent ? "" : null };
+    }
+
+    /**
+     * Given source, target, and variant strings, concatenate them into a
+     * full ID.  If the source is empty, then "Any" will be used for the
+     * source, so the ID will always be of the form s-t/v or s-t.
+     */
+    public static String STVtoID(String source,
+                                 String target,
+                                 String variant) {
+        StringBuffer id = new StringBuffer(source);
+        if (id.length() == 0) {
+            id.append(ANY);
+        }
+        id.append(TARGET_SEP).append(target);
+        if (variant != null && variant.length() != 0) {
+            id.append(VARIANT_SEP).append(variant);
+        }
+        return id.toString();
+    }
+
+    /**
+     * Register two targets as being inverses of one another.  For
+     * example, calling registerSpecialInverse("NFC", "NFD", true) causes
+     * Transliterator to form the following inverse relationships:
+     *
+     * <pre>NFC => NFD
+     * Any-NFC => Any-NFD
+     * NFD => NFC
+     * Any-NFD => Any-NFC</pre>
+     *
+     * (Without the special inverse registration, the inverse of NFC
+     * would be NFC-Any.)  Note that NFD is shorthand for Any-NFD, but
+     * that the presence or absence of "Any-" is preserved.
+     *
+     * <p>The relationship is symmetrical; registering (a, b) is
+     * equivalent to registering (b, a).
+     *
+     * <p>The relevant IDs must still be registered separately as
+     * factories or classes.
+     *
+     * <p>Only the targets are specified.  Special inverses always
+     * have the form Any-Target1 <=> Any-Target2.  The target should
+     * have canonical casing (the casing desired to be produced when
+     * an inverse is formed) and should contain no whitespace or other
+     * extraneous characters.
+     *
+     * @param target the target against which to register the inverse
+     * @param inverseTarget the inverse of target, that is
+     * Any-target.getInverse() => Any-inverseTarget
+     * @param bidirectional if true, register the reverse relation
+     * as well, that is, Any-inverseTarget.getInverse() => Any-target
+     */
+    public static void registerSpecialInverse(String target,
+                                              String inverseTarget,
+                                              boolean bidirectional) {
+        SPECIAL_INVERSES.put(new CaseInsensitiveString(target), inverseTarget);
+        if (bidirectional && !target.equalsIgnoreCase(inverseTarget)) {
+            SPECIAL_INVERSES.put(new CaseInsensitiveString(inverseTarget), target);
+        }
+    }
+
+    //----------------------------------------------------------------
+    // Private implementation
+    //----------------------------------------------------------------
+
+    /**
+     * Parse an ID into component pieces.  Take IDs of the form T,
+     * T/V, S-T, S-T/V, or S/V-T.  If the source is missing, return a
+     * source of ANY.
+     * @param id the id string, in any of several forms
+     * @param pos INPUT-OUTPUT parameter.  On input, pos[0] is the
+     * offset of the first character to parse in id.  On output,
+     * pos[0] is the offset after the last parsed character.  If the
+     * parse failed, pos[0] will be unchanged.
+     * @param allowFilter if true, a UnicodeSet pattern is allowed
+     * at any location between specs or delimiters, and is returned
+     * as the fifth string in the array.
+     * @return a Specs object, or null if the parse failed.  If
+     * neither source nor target was seen in the parsed id, then the
+     * parse fails.  If allowFilter is true, then the parsed filter
+     * pattern is returned in the Specs object, otherwise the returned
+     * filter reference is null.  If the parse fails for any reason
+     * null is returned.
+     */
+    private static Specs parseFilterID(String id, int[] pos,
+                                       boolean allowFilter) {
+        String first = null;
+        String source = null;
+        String target = null;
+        String variant = null;
+        String filter = null;
+        char delimiter = 0;
+        int specCount = 0;
+        int start = pos[0];
+
+        // This loop parses one of the following things with each
+        // pass: a filter, a delimiter character (either '-' or '/'),
+        // or a spec (source, target, or variant).
+        for (;;) {
+            Utility.skipWhitespace(id, pos);
+            if (pos[0] == id.length()) {
+                break;
+            }
+
+            // Parse filters
+            if (allowFilter && filter == null &&
+                UnicodeSet.resemblesPattern(id, pos[0])) {
+
+                ParsePosition ppos = new ParsePosition(pos[0]);
+                UnicodeSet set = new UnicodeSet(id, ppos, null);
+                filter = id.substring(pos[0], ppos.getIndex());
+                pos[0] = ppos.getIndex();
+                continue;
+            }
+
+            if (delimiter == 0) {
+                char c = id.charAt(pos[0]);
+                if ((c == TARGET_SEP && target == null) ||
+                    (c == VARIANT_SEP && variant == null)) {
+                    delimiter = c;
+                    ++pos[0];
+                    continue;
+                }
+            }
+
+            // We are about to try to parse a spec with no delimiter
+            // when we can no longer do so (we can only do so at the
+            // start); break.
+            if (delimiter == 0 && specCount > 0) {
+                break;
+            }
+
+            String spec = Utility.parseUnicodeIdentifier(id, pos);
+            if (spec == null) {
+                // Note that if there was a trailing delimiter, we
+                // consume it.  So Foo-, Foo/, Foo-Bar/, and Foo/Bar-
+                // are legal.
+                break;
+            }
+
+            switch (delimiter) {
+            case 0:
+                first = spec;
+                break;
+            case TARGET_SEP:
+                target = spec;
+                break;
+            case VARIANT_SEP:
+                variant = spec;
+                break;
+            }
+            ++specCount;
+            delimiter = 0;
+        }
+
+        // A spec with no prior character is either source or target,
+        // depending on whether an explicit "-target" was seen.
+        if (first != null) {
+            if (target == null) {
+                target = first;
+            } else {
+                source = first;
+            }
+        }
+
+        // Must have either source or target
+        if (source == null && target == null) {
+            pos[0] = start;
+            return null;
+        }
+
+        // Empty source or target defaults to ANY
+        boolean sawSource = true;
+        if (source == null) {
+            source = ANY;
+            sawSource = false;
+        }
+        if (target == null) {
+            target = ANY;
+        }
+
+        return new Specs(source, target, variant, sawSource, filter);
+    }
+
+    /**
+     * Givens a Spec object, convert it to a SingleID object.  The
+     * Spec object is a more unprocessed parse result.  The SingleID
+     * object contains information about canonical and basic IDs.
+     * @return a SingleID; never returns null.  Returned object always
+     * has 'filter' field of null.
+     */
+    private static SingleID specsToID(Specs specs, int dir) {
+        String canonID = "";
+        String basicID = "";
+        String basicPrefix = "";
+        if (specs != null) {
+            StringBuffer buf = new StringBuffer();
+            if (dir == FORWARD) {
+                if (specs.sawSource) {
+                    buf.append(specs.source).append(TARGET_SEP);
+                } else {
+                    basicPrefix = specs.source + TARGET_SEP;
+                }
+                buf.append(specs.target);
+            } else {
+                buf.append(specs.target).append(TARGET_SEP).append(specs.source);
+            }
+            if (specs.variant != null) {
+                buf.append(VARIANT_SEP).append(specs.variant);
+            }
+            basicID = basicPrefix + buf.toString();
+            if (specs.filter != null) {
+                buf.insert(0, specs.filter);
+            }
+            canonID = buf.toString();
+        }
+        return new SingleID(canonID, basicID);
+    }
+
+    /**
+     * Given a Specs object, return a SingleID representing the
+     * special inverse of that ID.  If there is no special inverse
+     * then return null.
+     * @return a SingleID or null.  Returned object always has
+     * 'filter' field of null.
+     */
+    private static SingleID specsToSpecialInverse(Specs specs) {
+        if (!specs.source.equalsIgnoreCase(ANY)) {
+            return null;
+        }
+        String inverseTarget = (String) SPECIAL_INVERSES.get(
+            new CaseInsensitiveString(specs.target));
+        if (inverseTarget != null) {
+            // If the original ID contained "Any-" then make the
+            // special inverse "Any-Foo"; otherwise make it "Foo".
+            // So "Any-NFC" => "Any-NFD" but "NFC" => "NFD".
+            StringBuffer buf = new StringBuffer();
+            if (specs.filter != null) {
+                buf.append(specs.filter);
+            }
+            if (specs.sawSource) {
+                buf.append(ANY).append(TARGET_SEP);
+            }
+            buf.append(inverseTarget);
+
+            String basicID = ANY + TARGET_SEP + inverseTarget;
+
+            if (specs.variant != null) {
+                buf.append(VARIANT_SEP).append(specs.variant);
+                basicID = basicID + VARIANT_SEP + specs.variant;
+            }
+            return new SingleID(buf.toString(), basicID);
+        }
+        return null;
+    }
+}
+
+//eof
diff --git a/src/com/ibm/icu/text/TransliteratorParser.java b/src/com/ibm/icu/text/TransliteratorParser.java
new file mode 100755
index 0000000..e9debe7
--- /dev/null
+++ b/src/com/ibm/icu/text/TransliteratorParser.java
@@ -0,0 +1,1539 @@
+/*
+**********************************************************************
+*   Copyright (c) 2001-2005, International Business Machines
+*   Corporation and others.  All Rights Reserved.
+**********************************************************************
+*/
+package com.ibm.icu.text;
+
+import com.ibm.icu.impl.data.ResourceReader;
+import com.ibm.icu.impl.Utility;
+import java.util.Vector;
+import java.util.Hashtable;
+import java.text.ParsePosition;
+import com.ibm.icu.lang.*;
+import com.ibm.icu.impl.UCharacterProperty;
+
+class TransliteratorParser {
+
+    //----------------------------------------------------------------------
+    // Data members
+    //----------------------------------------------------------------------
+
+    /**
+     * PUBLIC data member.
+     * A Vector of RuleBasedTransliterator.Data objects, one for each discrete group
+     * of rules in the rule set
+     */
+    public Vector dataVector;
+
+    /**
+     * PUBLIC data member.
+     * A Vector of Strings containing all of the ID blocks in the rule set
+     */
+    public Vector idBlockVector;
+
+    /**
+     * The current data object for which we are parsing rules
+     */
+    private RuleBasedTransliterator.Data curData;
+
+    /**
+     * PUBLIC data member containing the parsed compound filter, if any.
+     */
+    public UnicodeSet compoundFilter;
+
+
+    private int direction;
+
+    /**
+     * Temporary symbol table used during parsing.
+     */
+    private ParseData parseData;
+
+    /**
+     * Temporary vector of set variables.  When parsing is complete, this
+     * is copied into the array data.variables.  As with data.variables,
+     * element 0 corresponds to character data.variablesBase.
+     */
+    private Vector variablesVector;
+
+    /**
+     * Temporary table of variable names.  When parsing is complete, this is
+     * copied into data.variableNames.
+     */
+    private Hashtable variableNames;
+
+    /**
+     * String of standins for segments.  Used during the parsing of a single
+     * rule.  segmentStandins.charAt(0) is the standin for "$1" and corresponds
+     * to StringMatcher object segmentObjects.elementAt(0), etc.
+     */
+    private StringBuffer segmentStandins;
+
+    /**
+     * Vector of StringMatcher objects for segments.  Used during the
+     * parsing of a single rule.  
+     * segmentStandins.charAt(0) is the standin for "$1" and corresponds
+     * to StringMatcher object segmentObjects.elementAt(0), etc.
+     */
+    private Vector segmentObjects;
+
+    /**
+     * The next available stand-in for variables.  This starts at some point in
+     * the private use area (discovered dynamically) and increments up toward
+     * <code>variableLimit</code>.  At any point during parsing, available
+     * variables are <code>variableNext..variableLimit-1</code>.
+     */
+    private char variableNext;
+
+    /**
+     * The last available stand-in for variables.  This is discovered
+     * dynamically.  At any point during parsing, available variables are
+     * <code>variableNext..variableLimit-1</code>.  During variable definition
+     * we use the special value variableLimit-1 as a placeholder.
+     */
+    private char variableLimit;
+
+    /**
+     * When we encounter an undefined variable, we do not immediately signal
+     * an error, in case we are defining this variable, e.g., "$a = [a-z];".
+     * Instead, we save the name of the undefined variable, and substitute
+     * in the placeholder char variableLimit - 1, and decrement
+     * variableLimit.
+     */
+    private String undefinedVariableName;
+
+    /**
+     * The stand-in character for the 'dot' set, represented by '.' in
+     * patterns.  This is allocated the first time it is needed, and
+     * reused thereafter.
+     */
+    private int dotStandIn = -1;
+
+    //----------------------------------------------------------------------
+    // Constants
+    //----------------------------------------------------------------------
+
+    // Indicator for ID blocks
+    private static final String ID_TOKEN = "::";
+    private static final int ID_TOKEN_LEN = 2;
+
+/*
+(reserved for future expansion)
+    // markers for beginning and end of rule groups
+    private static final String BEGIN_TOKEN = "BEGIN";
+    private static final String END_TOKEN = "END";
+*/
+
+    // Operators
+    private static final char VARIABLE_DEF_OP   = '=';
+    private static final char FORWARD_RULE_OP   = '>';
+    private static final char REVERSE_RULE_OP   = '<';
+    private static final char FWDREV_RULE_OP    = '~'; // internal rep of <> op
+
+    private static final String OPERATORS = "=><\u2190\u2192\u2194";
+    private static final String HALF_ENDERS = "=><\u2190\u2192\u2194;";
+
+    // Other special characters
+    private static final char QUOTE               = '\'';
+    private static final char ESCAPE              = '\\';
+    private static final char END_OF_RULE         = ';';
+    private static final char RULE_COMMENT_CHAR   = '#';
+
+    private static final char CONTEXT_ANTE        = '{'; // ante{key
+    private static final char CONTEXT_POST        = '}'; // key}post
+    private static final char CURSOR_POS          = '|';
+    private static final char CURSOR_OFFSET       = '@';
+    private static final char ANCHOR_START        = '^';
+
+    private static final char KLEENE_STAR         = '*';
+    private static final char ONE_OR_MORE         = '+';
+    private static final char ZERO_OR_ONE         = '?';
+
+    private static final char DOT                 = '.';
+    private static final String DOT_SET           = "[^[:Zp:][:Zl:]\\r\\n$]";
+
+    // By definition, the ANCHOR_END special character is a
+    // trailing SymbolTable.SYMBOL_REF character.
+    // private static final char ANCHOR_END       = '$';
+
+    // Segments of the input string are delimited by "(" and ")".  In the
+    // output string these segments are referenced as "$1", "$2", etc.
+    private static final char SEGMENT_OPEN        = '(';
+    private static final char SEGMENT_CLOSE       = ')';
+
+    // A function is denoted &Source-Target/Variant(text)
+    private static final char FUNCTION            = '&';
+
+    // Aliases for some of the syntax characters. These are provided so
+    // transliteration rules can be expressed in XML without clashing with
+    // XML syntax characters '<', '>', and '&'.
+    private static final char ALT_REVERSE_RULE_OP = '\u2190'; // Left Arrow
+    private static final char ALT_FORWARD_RULE_OP = '\u2192'; // Right Arrow
+    private static final char ALT_FWDREV_RULE_OP  = '\u2194'; // Left Right Arrow
+    private static final char ALT_FUNCTION        = '\u2206'; // Increment (~Greek Capital Delta)
+    
+    // Special characters disallowed at the top level
+    private static UnicodeSet ILLEGAL_TOP = new UnicodeSet("[\\)]");
+
+    // Special characters disallowed within a segment
+    private static UnicodeSet ILLEGAL_SEG = new UnicodeSet("[\\{\\}\\|\\@]");
+
+    // Special characters disallowed within a function argument
+    private static UnicodeSet ILLEGAL_FUNC = new UnicodeSet("[\\^\\(\\.\\*\\+\\?\\{\\}\\|\\@]");
+
+    //----------------------------------------------------------------------
+    // class ParseData
+    //----------------------------------------------------------------------
+
+    /**
+     * This class implements the SymbolTable interface.  It is used
+     * during parsing to give UnicodeSet access to variables that
+     * have been defined so far.  Note that it uses variablesVector,
+     * _not_ data.variables.
+     */
+    private class ParseData implements SymbolTable {
+
+        /**
+         * Implement SymbolTable API.
+         */
+        public char[] lookup(String name) {
+            return (char[]) variableNames.get(name);
+        }
+
+        /**
+         * Implement SymbolTable API.
+         */
+        public UnicodeMatcher lookupMatcher(int ch) {
+            // Note that we cannot use data.lookup() because the
+            // set array has not been constructed yet.
+            int i = ch - curData.variablesBase;
+            if (i >= 0 && i < variablesVector.size()) {
+                return (UnicodeMatcher) variablesVector.elementAt(i);
+            }
+            return null;
+        }
+
+        /**
+         * Implement SymbolTable API.  Parse out a symbol reference
+         * name.
+         */
+        public String parseReference(String text, ParsePosition pos, int limit) {
+            int start = pos.getIndex();
+            int i = start;
+            while (i < limit) {
+                char c = text.charAt(i);
+                if ((i==start && !Character.isUnicodeIdentifierStart(c)) ||
+                    !Character.isUnicodeIdentifierPart(c)) {
+                    break;
+                }
+                ++i;
+            }
+            if (i == start) { // No valid name chars
+                return null;
+            }
+            pos.setIndex(i);
+            return text.substring(start, i);
+        }
+
+        /**
+         * Return true if the given character is a matcher standin or a plain
+         * character (non standin).
+         */
+        public boolean isMatcher(int ch) {
+            // Note that we cannot use data.lookup() because the
+            // set array has not been constructed yet.
+            int i = ch - curData.variablesBase;
+            if (i >= 0 && i < variablesVector.size()) {
+                return variablesVector.elementAt(i) instanceof UnicodeMatcher;
+            }
+            return true;
+        }
+
+        /**
+         * Return true if the given character is a replacer standin or a plain
+         * character (non standin).
+         */
+        public boolean isReplacer(int ch) {
+            // Note that we cannot use data.lookup() because the
+            // set array has not been constructed yet.
+            int i = ch - curData.variablesBase;
+            if (i >= 0 && i < variablesVector.size()) {
+                return variablesVector.elementAt(i) instanceof UnicodeReplacer;
+            }
+            return true;
+        }
+    }
+
+    //----------------------------------------------------------------------
+    // classes RuleBody, RuleArray, and RuleReader
+    //----------------------------------------------------------------------
+
+    /**
+     * A private abstract class representing the interface to rule
+     * source code that is broken up into lines.  Handles the
+     * folding of lines terminated by a backslash.  This folding
+     * is limited; it does not account for comments, quotes, or
+     * escapes, so its use to be limited.
+     */
+    private static abstract class RuleBody {
+
+        /**
+         * Retrieve the next line of the source, or return null if
+         * none.  Folds lines terminated by a backslash into the
+         * next line, without regard for comments, quotes, or
+         * escapes.
+         */
+        String nextLine() {
+            String s = handleNextLine();
+            if (s != null &&
+                s.length() > 0 &&
+                s.charAt(s.length() - 1) == '\\') {
+
+                StringBuffer b = new StringBuffer(s);
+                do {
+                    b.deleteCharAt(b.length()-1);
+                    s = handleNextLine();
+                    if (s == null) {
+                        break;
+                    }
+                    b.append(s);
+                } while (s.length() > 0 &&
+                         s.charAt(s.length() - 1) == '\\');
+
+                s = b.toString();
+            }
+            return s;
+        }
+
+        /**
+         * Reset to the first line of the source.
+         */
+        abstract void reset();
+
+        /**
+         * Subclass method to return the next line of the source.
+         */
+        abstract String handleNextLine();
+    }
+
+    /**
+     * RuleBody subclass for a String[] array.
+     */
+    private static class RuleArray extends RuleBody {
+        String[] array;
+        int i;
+        public RuleArray(String[] array) { this.array = array; i = 0; }
+        public String handleNextLine() {
+            return (i < array.length) ? array[i++] : null;
+        }
+        public void reset() {
+            i = 0;
+        }
+    }
+
+    /**
+     * RuleBody subclass for a ResourceReader.
+     */
+    private static class RuleReader extends RuleBody {
+        ResourceReader reader;
+        public RuleReader(ResourceReader reader) { this.reader = reader; }
+        public String handleNextLine() {
+            try {
+                return reader.readLine();
+            } catch (java.io.IOException e) {}
+            return null;
+        }
+        public void reset() {
+            reader.reset();
+        }
+    }
+
+    //----------------------------------------------------------------------
+    // class RuleHalf
+    //----------------------------------------------------------------------
+
+    /**
+     * A class representing one side of a rule.  This class knows how to
+     * parse half of a rule.  It is tightly coupled to the method
+     * TransliteratorParser.parseRule().
+     */
+    private static class RuleHalf {
+
+        public String text;
+
+        public int cursor = -1; // position of cursor in text
+        public int ante = -1;   // position of ante context marker '{' in text
+        public int post = -1;   // position of post context marker '}' in text
+
+        // Record the offset to the cursor either to the left or to the
+        // right of the key.  This is indicated by characters on the output
+        // side that allow the cursor to be positioned arbitrarily within
+        // the matching text.  For example, abc{def} > | @@@ xyz; changes
+        // def to xyz and moves the cursor to before abc.  Offset characters
+        // must be at the start or end, and they cannot move the cursor past
+        // the ante- or postcontext text.  Placeholders are only valid in
+        // output text.  The length of the ante and post context is
+        // determined at runtime, because of supplementals and quantifiers.
+        public int cursorOffset = 0; // only nonzero on output side
+
+        // Position of first CURSOR_OFFSET on _right_.  This will be -1
+        // for |@, -2 for |@@, etc., and 1 for @|, 2 for @@|, etc.
+        private int cursorOffsetPos = 0;
+
+        public boolean anchorStart = false;
+        public boolean anchorEnd   = false;
+
+        /**
+         * The segment number from 1..n of the next '(' we see
+         * during parsing; 1-based.
+         */
+        private int nextSegmentNumber = 1;
+
+        /**
+         * Parse one side of a rule, stopping at either the limit,
+         * the END_OF_RULE character, or an operator.
+         * @return the index after the terminating character, or
+         * if limit was reached, limit
+         */
+        public int parse(String rule, int pos, int limit,
+                         TransliteratorParser parser) {
+            int start = pos;
+            StringBuffer buf = new StringBuffer();
+            pos = parseSection(rule, pos, limit, parser, buf, ILLEGAL_TOP, false);
+            text = buf.toString();
+
+            if (cursorOffset > 0 && cursor != cursorOffsetPos) {
+                syntaxError("Misplaced " + CURSOR_POS, rule, start);
+            }
+
+            return pos;
+        }
+
+        /**
+         * Parse a section of one side of a rule, stopping at either
+         * the limit, the END_OF_RULE character, an operator, or a
+         * segment close character.  This method parses both a
+         * top-level rule half and a segment within such a rule half.
+         * It calls itself recursively to parse segments and nested
+         * segments.
+         * @param buf buffer into which to accumulate the rule pattern
+         * characters, either literal characters from the rule or
+         * standins for UnicodeMatcher objects including segments.
+         * @param illegal the set of special characters that is illegal during
+         * this parse.
+         * @param isSegment if true, then we've already seen a '(' and
+         * pos on entry points right after it.  Accumulate everything
+         * up to the closing ')', put it in a segment matcher object,
+         * generate a standin for it, and add the standin to buf.  As
+         * a side effect, update the segments vector with a reference
+         * to the segment matcher.  This works recursively for nested
+         * segments.  If isSegment is false, just accumulate
+         * characters into buf.
+         * @return the index after the terminating character, or
+         * if limit was reached, limit
+         */
+        private int parseSection(String rule, int pos, int limit,
+                                 TransliteratorParser parser,
+                                 StringBuffer buf,
+                                 UnicodeSet illegal,
+                                 boolean isSegment) {
+            int start = pos;
+            ParsePosition pp = null;
+            int quoteStart = -1; // Most recent 'single quoted string'
+            int quoteLimit = -1;
+            int varStart = -1; // Most recent $variableReference
+            int varLimit = -1;
+            int[] iref = new int[1];
+            int bufStart = buf.length();
+
+        main:
+            while (pos < limit) {
+                // Since all syntax characters are in the BMP, fetching
+                // 16-bit code units suffices here.
+                char c = rule.charAt(pos++);
+                if (UCharacterProperty.isRuleWhiteSpace(c)) {
+                    continue;
+                }
+                // HALF_ENDERS is all chars that end a rule half: "<>=;"
+                if (HALF_ENDERS.indexOf(c) >= 0) {
+                    if (isSegment) {
+                        syntaxError("Unclosed segment", rule, start);
+                    }
+                    break main;
+                }
+                if (anchorEnd) {
+                    // Text after a presumed end anchor is a syntax err
+                    syntaxError("Malformed variable reference", rule, start);
+                }
+                if (UnicodeSet.resemblesPattern(rule, pos-1)) {
+                    if (pp == null) {
+                        pp = new ParsePosition(0);
+                    }
+                    pp.setIndex(pos-1); // Backup to opening '['
+                    buf.append(parser.parseSet(rule, pp));
+                    pos = pp.getIndex();                    
+                    continue;
+                }
+                // Handle escapes
+                if (c == ESCAPE) {
+                    if (pos == limit) {
+                        syntaxError("Trailing backslash", rule, start);
+                    }
+                    iref[0] = pos;
+                    int escaped = Utility.unescapeAt(rule, iref);
+                    pos = iref[0];
+                    if (escaped == -1) {
+                        syntaxError("Malformed escape", rule, start);
+                    }
+                    parser.checkVariableRange(escaped, rule, start);
+                    UTF16.append(buf, escaped);
+                    continue;
+                }
+                // Handle quoted matter
+                if (c == QUOTE) {
+                    int iq = rule.indexOf(QUOTE, pos);
+                    if (iq == pos) {
+                        buf.append(c); // Parse [''] outside quotes as [']
+                        ++pos;
+                    } else {
+                        /* This loop picks up a run of quoted text of the
+                         * form 'aaaa' each time through.  If this run
+                         * hasn't really ended ('aaaa''bbbb') then it keeps
+                         * looping, each time adding on a new run.  When it
+                         * reaches the final quote it breaks.
+                         */
+                        quoteStart = buf.length();
+                        for (;;) {
+                            if (iq < 0) {
+                                syntaxError("Unterminated quote", rule, start);
+                            }
+                            buf.append(rule.substring(pos, iq));
+                            pos = iq+1;
+                            if (pos < limit && rule.charAt(pos) == QUOTE) {
+                            // Parse [''] inside quotes as [']
+                                iq = rule.indexOf(QUOTE, pos+1);
+                            // Continue looping
+                            } else {
+                                break;
+                            }
+                        }
+                        quoteLimit = buf.length();
+                        
+                        for (iq=quoteStart; iq<quoteLimit; ++iq) {
+                            parser.checkVariableRange(buf.charAt(iq), rule, start);
+                        }
+                    }
+                    continue;
+                }
+
+                parser.checkVariableRange(c, rule, start);
+
+                if (illegal.contains(c)) {
+                    syntaxError("Illegal character '" + c + '\'', rule, start);
+                }
+
+                switch (c) {
+                    
+                //------------------------------------------------------
+                // Elements allowed within and out of segments
+                //------------------------------------------------------
+                case ANCHOR_START:
+                    if (buf.length() == 0 && !anchorStart) {
+                        anchorStart = true;
+                    } else {
+                        syntaxError("Misplaced anchor start",
+                                    rule, start);
+                    }
+                    break;
+                case SEGMENT_OPEN:
+                    {
+                        // bufSegStart is the offset in buf to the first
+                        // character of the segment we are parsing.
+                        int bufSegStart = buf.length();
+
+                        // Record segment number now, since nextSegmentNumber
+                        // will be incremented during the call to parseSection
+                        // if there are nested segments.
+                        int segmentNumber = nextSegmentNumber++; // 1-based
+
+                        // Parse the segment
+                        pos = parseSection(rule, pos, limit, parser, buf, ILLEGAL_SEG, true);
+
+                        // After parsing a segment, the relevant characters are
+                        // in buf, starting at offset bufSegStart.  Extract them
+                        // into a string matcher, and replace them with a
+                        // standin for that matcher.
+                        StringMatcher m =
+                            new StringMatcher(buf.substring(bufSegStart),
+                                              segmentNumber, parser.curData);
+
+                        // Record and associate object and segment number
+                        parser.setSegmentObject(segmentNumber, m);
+                        buf.setLength(bufSegStart);
+                        buf.append(parser.getSegmentStandin(segmentNumber));
+                    }
+                    break;
+                case FUNCTION:
+                case ALT_FUNCTION:
+                    {
+                        iref[0] = pos;
+                        TransliteratorIDParser.SingleID single = TransliteratorIDParser.parseFilterID(rule, iref);
+                        // The next character MUST be a segment open
+                        if (single == null ||
+                            !Utility.parseChar(rule, iref, SEGMENT_OPEN)) {
+                            syntaxError("Invalid function", rule, start);
+                        }
+
+                        Transliterator t = single.getInstance();
+                        if (t == null) {
+                            syntaxError("Invalid function ID", rule, start);
+                        }
+
+                        // bufSegStart is the offset in buf to the first
+                        // character of the segment we are parsing.
+                        int bufSegStart = buf.length();
+
+                        // Parse the segment
+                        pos = parseSection(rule, iref[0], limit, parser, buf, ILLEGAL_FUNC, true);
+
+                        // After parsing a segment, the relevant characters are
+                        // in buf, starting at offset bufSegStart.
+                        FunctionReplacer r =
+                            new FunctionReplacer(t,
+                                new StringReplacer(buf.substring(bufSegStart), parser.curData));
+
+                        // Replace the buffer contents with a stand-in
+                        buf.setLength(bufSegStart);
+                        buf.append(parser.generateStandInFor(r));
+                    }
+                    break;
+                case SymbolTable.SYMBOL_REF:
+                    // Handle variable references and segment references "$1" .. "$9"
+                    {
+                        // A variable reference must be followed immediately
+                        // by a Unicode identifier start and zero or more
+                        // Unicode identifier part characters, or by a digit
+                        // 1..9 if it is a segment reference.
+                        if (pos == limit) {
+                            // A variable ref character at the end acts as
+                            // an anchor to the context limit, as in perl.
+                            anchorEnd = true;
+                            break;
+                        }
+                        // Parse "$1" "$2" .. "$9" .. (no upper limit)
+                        c = rule.charAt(pos);
+                        int r = UCharacter.digit(c, 10);
+                        if (r >= 1 && r <= 9) {
+                            iref[0] = pos;
+                            r = Utility.parseNumber(rule, iref, 10);
+                            if (r < 0) {
+                                syntaxError("Undefined segment reference",
+                                            rule, start);
+                            }
+                            pos = iref[0];
+                            buf.append(parser.getSegmentStandin(r));
+                        } else {
+                            if (pp == null) { // Lazy create
+                                pp = new ParsePosition(0);
+                            }
+                            pp.setIndex(pos);
+                            String name = parser.parseData.
+                                parseReference(rule, pp, limit);
+                            if (name == null) {
+                                // This means the '$' was not followed by a
+                                // valid name.  Try to interpret it as an
+                                // end anchor then.  If this also doesn't work
+                                // (if we see a following character) then signal
+                                // an error.
+                                anchorEnd = true;
+                                break;
+                            }
+                            pos = pp.getIndex();
+                            // If this is a variable definition statement,
+                            // then the LHS variable will be undefined.  In
+                            // that case appendVariableDef() will append the
+                            // special placeholder char variableLimit-1.
+                            varStart = buf.length();
+                            parser.appendVariableDef(name, buf);
+                            varLimit = buf.length();
+                        }
+                    }
+                    break;
+                case DOT:
+                    buf.append(parser.getDotStandIn());
+                    break;
+                case KLEENE_STAR:
+                case ONE_OR_MORE:
+                case ZERO_OR_ONE:
+                    // Quantifiers.  We handle single characters, quoted strings,
+                    // variable references, and segments.
+                    //  a+      matches  aaa
+                    //  'foo'+  matches  foofoofoo
+                    //  $v+     matches  xyxyxy if $v == xy
+                    //  (seg)+  matches  segsegseg
+                    {
+                        if (isSegment && buf.length() == bufStart) {
+                            // The */+ immediately follows '('
+                            syntaxError("Misplaced quantifier", rule, start);
+                            break;
+                        } 
+ 
+                        int qstart, qlimit;
+                        // The */+ follows an isolated character or quote
+                        // or variable reference
+                        if (buf.length() == quoteLimit) {
+                            // The */+ follows a 'quoted string'
+                            qstart = quoteStart;
+                            qlimit = quoteLimit;
+                        } else if (buf.length() == varLimit) {
+                            // The */+ follows a $variableReference
+                            qstart = varStart;
+                            qlimit = varLimit;
+                        } else {
+                            // The */+ follows a single character, possibly
+                            // a segment standin
+                            qstart = buf.length() - 1;
+                            qlimit = qstart + 1;
+                        }
+
+                        UnicodeMatcher m =
+                            new StringMatcher(buf.toString(), qstart, qlimit,
+                                              0, parser.curData);
+                        int min = 0;
+                        int max = Quantifier.MAX;
+                        switch (c) {
+                        case ONE_OR_MORE:
+                            min = 1;
+                            break;
+                        case ZERO_OR_ONE:
+                            min = 0;
+                            max = 1;
+                            break;
+                            // case KLEENE_STAR:
+                            //    do nothing -- min, max already set
+                        }
+                        m = new Quantifier(m, min, max);
+                        buf.setLength(qstart);
+                        buf.append(parser.generateStandInFor(m));
+                    }
+                    break;
+
+                //------------------------------------------------------
+                // Elements allowed ONLY WITHIN segments
+                //------------------------------------------------------
+                case SEGMENT_CLOSE:
+                    // assert(isSegment);
+                    // We're done parsing a segment.
+                    break main;
+
+                //------------------------------------------------------
+                // Elements allowed ONLY OUTSIDE segments
+                //------------------------------------------------------
+                case CONTEXT_ANTE:
+                    if (ante >= 0) {
+                        syntaxError("Multiple ante contexts", rule, start);
+                    }
+                    ante = buf.length();
+                    break;
+                case CONTEXT_POST:
+                    if (post >= 0) {
+                        syntaxError("Multiple post contexts", rule, start);
+                    }
+                    post = buf.length();
+                    break;
+                case CURSOR_POS:
+                    if (cursor >= 0) {
+                        syntaxError("Multiple cursors", rule, start);
+                    }
+                    cursor = buf.length();
+                    break;
+                case CURSOR_OFFSET:
+                    if (cursorOffset < 0) {
+                        if (buf.length() > 0) {
+                            syntaxError("Misplaced " + c, rule, start);
+                        }
+                        --cursorOffset;
+                    } else if (cursorOffset > 0) {
+                        if (buf.length() != cursorOffsetPos || cursor >= 0) {
+                            syntaxError("Misplaced " + c, rule, start);
+                        }
+                        ++cursorOffset;
+                    } else {
+                        if (cursor == 0 && buf.length() == 0) {
+                            cursorOffset = -1;
+                        } else if (cursor < 0) {
+                            cursorOffsetPos = buf.length();
+                            cursorOffset = 1;
+                        } else {
+                            syntaxError("Misplaced " + c, rule, start);
+                        }
+                    }
+                    break;
+
+                //------------------------------------------------------
+                // Non-special characters
+                //------------------------------------------------------
+                default:
+                    // Disallow unquoted characters other than [0-9A-Za-z]
+                    // in the printable ASCII range.  These characters are
+                    // reserved for possible future use.
+                    if (c >= 0x0021 && c <= 0x007E &&
+                        !((c >= '0' && c <= '9') ||
+                          (c >= 'A' && c <= 'Z') ||
+                          (c >= 'a' && c <= 'z'))) {
+                        syntaxError("Unquoted " + c, rule, start);
+                    }
+                    buf.append(c);
+                    break;
+                }
+            }
+            return pos;
+        }
+
+        /**
+         * Remove context.
+         */
+        void removeContext() {
+            text = text.substring(ante < 0 ? 0 : ante,
+                                  post < 0 ? text.length() : post);
+            ante = post = -1;
+            anchorStart = anchorEnd = false;
+        }
+
+        /**
+         * Return true if this half looks like valid output, that is, does not
+         * contain quantifiers or other special input-only elements.
+         */
+        public boolean isValidOutput(TransliteratorParser parser) {
+            for (int i=0; i<text.length(); ) {
+                int c = UTF16.charAt(text, i);
+                i += UTF16.getCharCount(c);
+                if (!parser.parseData.isReplacer(c)) {
+                    return false;
+                }
+            }
+            return true;
+        }
+
+        /**
+         * Return true if this half looks like valid input, that is, does not
+         * contain functions or other special output-only elements.
+         */
+        public boolean isValidInput(TransliteratorParser parser) {
+            for (int i=0; i<text.length(); ) {
+                int c = UTF16.charAt(text, i);
+                i += UTF16.getCharCount(c);
+                if (!parser.parseData.isMatcher(c)) {
+                    return false;
+                }
+            }
+            return true;
+        }
+    }
+
+    //----------------------------------------------------------------------
+    // PUBLIC methods
+    //----------------------------------------------------------------------
+
+    /**
+     * Constructor.
+     */
+    public TransliteratorParser() {
+    }
+
+    /**
+     * Parse a set of rules.  After the parse completes, examine the public
+     * data members for results.
+     */
+    public void parse(String rules, int direction) {
+        parseRules(new RuleArray(new String[] { rules }), direction);
+    }
+   
+    /**
+     * Parse a set of rules.  After the parse completes, examine the public
+     * data members for results.
+     */
+    public void parse(ResourceReader rules, int direction) {
+        parseRules(new RuleReader(rules), direction);
+    }
+
+    //----------------------------------------------------------------------
+    // PRIVATE methods
+    //----------------------------------------------------------------------
+
+    /**
+     * Parse an array of zero or more rules.  The strings in the array are
+     * treated as if they were concatenated together, with rule terminators
+     * inserted between array elements if not present already.
+     *
+     * Any previous rules are discarded.  Typically this method is called exactly
+     * once, during construction.
+     *
+     * The member this.data will be set to null if there are no rules.
+     *
+     * @exception IllegalArgumentException if there is a syntax error in the
+     * rules
+     */
+    void parseRules(RuleBody ruleArray, int dir) {
+        boolean parsingIDs = true;
+        boolean inBeginEndBlock = false;
+        int ruleCount = 0;
+
+        dataVector = new Vector();
+        idBlockVector = new Vector();
+        curData = null;
+        direction = dir;
+        compoundFilter = null;
+        variablesVector = new Vector();
+        variableNames = new Hashtable();
+        parseData = new ParseData();
+
+        StringBuffer errors = null;
+        int errorCount = 0;
+
+        ruleArray.reset();
+
+        StringBuffer idBlockResult = new StringBuffer();
+
+        // The compound filter offset is an index into idBlockResult.
+        // If it is 0, then the compound filter occurred at the start,
+        // and it is the offset to the _start_ of the compound filter
+        // pattern.  Otherwise it is the offset to the _limit_ of the
+        // compound filter pattern within idBlockResult.
+        this.compoundFilter = null;
+        int compoundFilterOffset = -1;
+
+    main:
+        for (;;) {
+            String rule = ruleArray.nextLine();
+            if (rule == null) {
+                break;
+            }
+            int pos = 0;
+            int limit = rule.length();
+            while (pos < limit) {
+                char c = rule.charAt(pos++);
+                if (UCharacterProperty.isRuleWhiteSpace(c)) {
+                    continue;
+                }
+                // Skip lines starting with the comment character
+                if (c == RULE_COMMENT_CHAR) {
+                    pos = rule.indexOf("\n", pos) + 1;
+                    if (pos == 0) {
+                        break; // No "\n" found; rest of rule is a commnet
+                    }
+                    continue; // Either fall out or restart with next line
+                }
+
+                // skip empty rules
+                if (c == END_OF_RULE)
+                    continue;
+
+                // Often a rule file contains multiple errors.  It's
+                // convenient to the rule author if these are all reported
+                // at once.  We keep parsing rules even after a failure, up
+                // to a specified limit, and report all errors at once.
+                try {
+                    ++ruleCount;
+
+                    // We've found the start of a rule or ID.  c is its first
+                    // character, and pos points past c.
+                    --pos;
+                    // Look for an ID token.  Must have at least ID_TOKEN_LEN + 1
+                    // chars left.
+                    if ((pos + ID_TOKEN_LEN + 1) <= limit &&
+                            rule.regionMatches(pos, ID_TOKEN, 0, ID_TOKEN_LEN)) {
+                        pos += ID_TOKEN_LEN;
+                        c = rule.charAt(pos);
+                        while (UCharacterProperty.isRuleWhiteSpace(c) && pos < limit) {
+                            ++pos;
+                            c = rule.charAt(pos);
+                        }
+                        int[] p = new int[] { pos };
+
+                        if (!parsingIDs) {
+                            if (curData != null) {
+                                if (direction == Transliterator.FORWARD)
+                                    dataVector.add(curData);
+                                else
+                                    dataVector.insertElementAt(curData, 0);
+                                curData = null;
+                            }
+                            parsingIDs = true;
+                        }
+
+                        TransliteratorIDParser.SingleID id =
+                            TransliteratorIDParser.parseSingleID(
+                                          rule, p, direction);
+                        if (p[0] != pos && Utility.parseChar(rule, p, END_OF_RULE)) {
+                            // Successful ::ID parse.
+
+                            if (direction == Transliterator.FORWARD) {
+                                idBlockResult.append(id.canonID).append(END_OF_RULE);
+                            } else {
+                                idBlockResult.insert(0, id.canonID + END_OF_RULE);
+                            }
+
+                        } else {
+                            // Couldn't parse an ID.  Try to parse a global filter
+                            int[] withParens = new int[] { -1 };
+                            UnicodeSet f = TransliteratorIDParser.parseGlobalFilter(rule, p, direction, withParens, null);
+                            if (f != null && Utility.parseChar(rule, p, END_OF_RULE)) {
+                                if ((direction == Transliterator.FORWARD) ==
+                                    (withParens[0] == 0)) {
+                                    if (compoundFilter != null) {
+                                        // Multiple compound filters
+                                        syntaxError("Multiple global filters", rule, pos);
+                                    }
+                                    compoundFilter = f;
+                                    compoundFilterOffset = ruleCount;
+                               }
+                            } else {
+                                // Invalid ::id
+                                // Can be parsed as neither an ID nor a global filter
+                                syntaxError("Invalid ::ID", rule, pos);
+                            }
+                        }
+
+                        pos = p[0];
+                    } else {
+                        if (parsingIDs) {
+                            if (direction == Transliterator.FORWARD)
+                                idBlockVector.add(idBlockResult.toString());
+                            else
+                                idBlockVector.insertElementAt(idBlockResult.toString(), 0);
+                            idBlockResult.delete(0, idBlockResult.length());
+                            parsingIDs = false;
+                            curData = new RuleBasedTransliterator.Data();
+
+                            // By default, rules use part of the private use area
+                            // E000..F8FF for variables and other stand-ins.  Currently
+                            // the range F000..F8FF is typically sufficient.  The 'use
+                            // variable range' pragma allows rule sets to modify this.
+                            setVariableRange(0xF000, 0xF8FF);
+                        }
+
+                        if (resemblesPragma(rule, pos, limit)) {
+                            int ppp = parsePragma(rule, pos, limit);
+                            if (ppp < 0) {
+                                syntaxError("Unrecognized pragma", rule, pos);
+                            }
+                            pos = ppp;
+                        // Parse a rule
+                        } else {
+                            pos = parseRule(rule, pos, limit);
+                        }
+                    }
+                } catch (IllegalArgumentException e) {
+                    if (errorCount == 30) {
+                        errors.append("\nMore than 30 errors; further messages squelched");
+                        break main;
+                    }
+                    if (errors == null) {
+                        errors = new StringBuffer(e.getMessage());
+                    } else {
+                        errors.append("\n" + e.getMessage());
+                    }
+                    ++errorCount;
+                    pos = ruleEnd(rule, pos, limit) + 1; // +1 advances past ';'
+                }
+            }
+        }
+        if (parsingIDs && idBlockResult.length() > 0) {
+            if (direction == Transliterator.FORWARD)
+                idBlockVector.add(idBlockResult.toString());
+            else
+                idBlockVector.insertElementAt(idBlockResult.toString(), 0);
+        }
+        else if (!parsingIDs && curData != null) {
+            if (direction == Transliterator.FORWARD)
+                dataVector.add(curData);
+            else
+                dataVector.insertElementAt(curData, 0);
+        }
+
+        // Convert the set vector to an array
+        for (int i = 0; i < dataVector.size(); i++) {
+            RuleBasedTransliterator.Data data = (RuleBasedTransliterator.Data)dataVector.get(i);
+            data.variables = new Object[variablesVector.size()];
+            variablesVector.copyInto(data.variables);
+            data.variableNames = new Hashtable();
+            data.variableNames.putAll(variableNames);
+        }
+        variablesVector = null;
+
+        // Do more syntax checking and index the rules
+        try {
+            if (compoundFilter != null) {
+                if ((direction == Transliterator.FORWARD &&
+                     compoundFilterOffset != 1) ||
+                    (direction == Transliterator.REVERSE &&
+                     compoundFilterOffset != ruleCount)) {
+                    throw new IllegalArgumentException("Compound filters misplaced");
+                }
+            }
+
+            for (int i = 0; i < dataVector.size(); i++) {
+                RuleBasedTransliterator.Data data = (RuleBasedTransliterator.Data)dataVector.get(i);
+                data.ruleSet.freeze();
+            }
+
+            if (idBlockVector.size() == 1 && ((String)idBlockVector.get(0)).length() == 0)
+                idBlockVector.remove(0);
+
+        } catch (IllegalArgumentException e) {
+            if (errors == null) {
+                errors = new StringBuffer(e.getMessage());
+            } else {
+                errors.append("\n").append(e.getMessage());
+            }
+        }
+
+        if (errors != null) {
+            throw new IllegalArgumentException(errors.toString());
+        }
+    }
+
+    /**
+     * MAIN PARSER.  Parse the next rule in the given rule string, starting
+     * at pos.  Return the index after the last character parsed.  Do not
+     * parse characters at or after limit.
+     *
+     * Important:  The character at pos must be a non-whitespace character
+     * that is not the comment character.
+     *
+     * This method handles quoting, escaping, and whitespace removal.  It
+     * parses the end-of-rule character.  It recognizes context and cursor
+     * indicators.  Once it does a lexical breakdown of the rule at pos, it
+     * creates a rule object and adds it to our rule list.
+     *
+     * This method is tightly coupled to the inner class RuleHalf.
+     */
+    private int parseRule(String rule, int pos, int limit) {
+        // Locate the left side, operator, and right side
+        int start = pos;
+        char operator = 0;
+
+        // Set up segments data
+        segmentStandins = new StringBuffer();
+        segmentObjects = new Vector();
+
+        RuleHalf left  = new RuleHalf();
+        RuleHalf right = new RuleHalf();
+
+        undefinedVariableName = null;
+        pos = left.parse(rule, pos, limit, this);
+
+        if (pos == limit ||
+            OPERATORS.indexOf(operator = rule.charAt(--pos)) < 0) {
+            syntaxError("No operator pos=" + pos, rule, start);
+        }
+        ++pos;
+
+        // Found an operator char.  Check for forward-reverse operator.
+        if (operator == REVERSE_RULE_OP &&
+            (pos < limit && rule.charAt(pos) == FORWARD_RULE_OP)) {
+            ++pos;
+            operator = FWDREV_RULE_OP;
+        }
+
+        // Translate alternate op characters.
+        switch (operator) {
+        case ALT_FORWARD_RULE_OP:
+            operator = FORWARD_RULE_OP;
+            break;
+        case ALT_REVERSE_RULE_OP:
+            operator = REVERSE_RULE_OP;
+            break;
+        case ALT_FWDREV_RULE_OP:
+            operator = FWDREV_RULE_OP;
+            break;
+        }
+
+        pos = right.parse(rule, pos, limit, this);
+
+        if (pos < limit) {
+            if (rule.charAt(--pos) == END_OF_RULE) {
+                ++pos;
+            } else {
+                // RuleHalf parser must have terminated at an operator
+                syntaxError("Unquoted operator", rule, start);
+            }
+        }
+
+        if (operator == VARIABLE_DEF_OP) {
+            // LHS is the name.  RHS is a single character, either a literal
+            // or a set (already parsed).  If RHS is longer than one
+            // character, it is either a multi-character string, or multiple
+            // sets, or a mixture of chars and sets -- syntax error.
+
+            // We expect to see a single undefined variable (the one being
+            // defined).
+            if (undefinedVariableName == null) {
+                syntaxError("Missing '$' or duplicate definition", rule, start);
+            }
+            if (left.text.length() != 1 || left.text.charAt(0) != variableLimit) {
+                syntaxError("Malformed LHS", rule, start);
+            }
+            if (left.anchorStart || left.anchorEnd ||
+                right.anchorStart || right.anchorEnd) {
+                syntaxError("Malformed variable def", rule, start);
+            }
+            // We allow anything on the right, including an empty string.
+            int n = right.text.length();
+            char[] value = new char[n];
+            right.text.getChars(0, n, value, 0);
+            variableNames.put(undefinedVariableName, value);
+
+            ++variableLimit;
+            return pos;
+        }
+
+        // If this is not a variable definition rule, we shouldn't have
+        // any undefined variable names.
+        if (undefinedVariableName != null) {
+            syntaxError("Undefined variable $" + undefinedVariableName,
+                        rule, start);
+        }
+
+        // Verify segments
+        if (segmentStandins.length() > segmentObjects.size()) {
+            syntaxError("Undefined segment reference", rule, start);
+        }
+        for (int i=0; i<segmentStandins.length(); ++i) {
+            if (segmentStandins.charAt(i) == 0) {
+                syntaxError("Internal error", rule, start); // will never happen
+            }
+        }
+        for (int i=0; i<segmentObjects.size(); ++i) {
+            if (segmentObjects.elementAt(i) == null) {
+                syntaxError("Internal error", rule, start); // will never happen
+            }
+        }
+
+        // If the direction we want doesn't match the rule
+        // direction, do nothing.
+        if (operator != FWDREV_RULE_OP &&
+            ((direction == Transliterator.FORWARD) != (operator == FORWARD_RULE_OP))) {
+            return pos;
+        }
+
+        // Transform the rule into a forward rule by swapping the
+        // sides if necessary.
+        if (direction == Transliterator.REVERSE) {
+            RuleHalf temp = left;
+            left = right;
+            right = temp;
+        }
+
+        // Remove non-applicable elements in forward-reverse
+        // rules.  Bidirectional rules ignore elements that do not
+        // apply.
+        if (operator == FWDREV_RULE_OP) {
+            right.removeContext();
+            left.cursor = -1;
+            left.cursorOffset = 0;
+        }
+
+        // Normalize context
+        if (left.ante < 0) {
+            left.ante = 0;
+        }
+        if (left.post < 0) {
+            left.post = left.text.length();
+        }
+
+        // Context is only allowed on the input side.  Cursors are only
+        // allowed on the output side.  Segment delimiters can only appear
+        // on the left, and references on the right.  Cursor offset
+        // cannot appear without an explicit cursor.  Cursor offset
+        // cannot place the cursor outside the limits of the context.
+        // Anchors are only allowed on the input side.
+        if (right.ante >= 0 || right.post >= 0 || left.cursor >= 0 ||
+            (right.cursorOffset != 0 && right.cursor < 0) ||
+            // - The following two checks were used to ensure that the
+            // - the cursor offset stayed within the ante- or postcontext.
+            // - However, with the addition of quantifiers, we have to
+            // - allow arbitrary cursor offsets and do runtime checking.
+            //(right.cursorOffset > (left.text.length() - left.post)) ||
+            //(-right.cursorOffset > left.ante) ||
+            right.anchorStart || right.anchorEnd ||
+            !left.isValidInput(this) || !right.isValidOutput(this) ||
+            left.ante > left.post) {
+            syntaxError("Malformed rule", rule, start);
+        }
+
+        // Flatten segment objects vector to an array
+        UnicodeMatcher[] segmentsArray = null;
+        if (segmentObjects.size() > 0) {
+            segmentsArray = new UnicodeMatcher[segmentObjects.size()];
+            segmentObjects.toArray(segmentsArray);
+        }
+
+        curData.ruleSet.addRule(new TransliterationRule(
+                                     left.text, left.ante, left.post,
+                                     right.text, right.cursor, right.cursorOffset,
+                                     segmentsArray,
+                                     left.anchorStart, left.anchorEnd,
+                                     curData));
+
+        return pos;
+    }
+
+    /**
+     * Set the variable range to [start, end] (inclusive).
+     */
+    private void setVariableRange(int start, int end) {
+        if (start > end || start < 0 || end > 0xFFFF) {
+            throw new IllegalArgumentException("Invalid variable range " + start + ", " + end);
+        }
+        
+        curData.variablesBase = (char) start; // first private use
+
+        if (dataVector.size() == 0) {
+            variableNext = (char) start;
+            variableLimit = (char) (end + 1);
+        }
+    }
+
+    /**
+     * Assert that the given character is NOT within the variable range.
+     * If it is, signal an error.  This is neccesary to ensure that the
+     * variable range does not overlap characters used in a rule.
+     */
+    private void checkVariableRange(int ch, String rule, int start) {
+        if (ch >= curData.variablesBase && ch < variableLimit) {
+            syntaxError("Variable range character in rule", rule, start);
+        }
+    }
+
+    // (The following method is part of an unimplemented feature.
+    // Remove this clover pragma after the feature is implemented.
+    // 2003-06-11 ICU 2.6 Alan)
+    ///CLOVER:OFF
+    /**
+     * Set the maximum backup to 'backup', in response to a pragma
+     * statement.
+     */
+    private void pragmaMaximumBackup(int backup) {
+        //TODO Finish
+        throw new IllegalArgumentException("use maximum backup pragma not implemented yet");
+    }
+    ///CLOVER:ON
+
+    // (The following method is part of an unimplemented feature.
+    // Remove this clover pragma after the feature is implemented.
+    // 2003-06-11 ICU 2.6 Alan)
+    ///CLOVER:OFF
+    /**
+     * Begin normalizing all rules using the given mode, in response
+     * to a pragma statement.
+     */
+    private void pragmaNormalizeRules(Normalizer.Mode mode) {
+        //TODO Finish
+        throw new IllegalArgumentException("use normalize rules pragma not implemented yet");
+    }
+    ///CLOVER:ON
+
+    /**
+     * Return true if the given rule looks like a pragma.
+     * @param pos offset to the first non-whitespace character
+     * of the rule.
+     * @param limit pointer past the last character of the rule.
+     */
+    static boolean resemblesPragma(String rule, int pos, int limit) {
+        // Must start with /use\s/i
+        return Utility.parsePattern(rule, pos, limit, "use ", null) >= 0;
+    }
+
+    /**
+     * Parse a pragma.  This method assumes resemblesPragma() has
+     * already returned true.
+     * @param pos offset to the first non-whitespace character
+     * of the rule.
+     * @param limit pointer past the last character of the rule.
+     * @return the position index after the final ';' of the pragma,
+     * or -1 on failure.
+     */
+    private int parsePragma(String rule, int pos, int limit) {
+        int[] array = new int[2];
+
+        // resemblesPragma() has already returned true, so we
+        // know that pos points to /use\s/i; we can skip 4 characters
+        // immediately
+        pos += 4;
+        
+        // Here are the pragmas we recognize:
+        // use variable range 0xE000 0xEFFF;
+        // use maximum backup 16;
+        // use nfd rules;
+        int p = Utility.parsePattern(rule, pos, limit, "~variable range # #~;", array);
+        if (p >= 0) {
+            setVariableRange(array[0], array[1]);
+            return p;
+        }
+
+        p = Utility.parsePattern(rule, pos, limit, "~maximum backup #~;", array);
+        if (p >= 0) {
+            pragmaMaximumBackup(array[0]);
+            return p;
+        }
+
+        p = Utility.parsePattern(rule, pos, limit, "~nfd rules~;", null);
+        if (p >= 0) {
+            pragmaNormalizeRules(Normalizer.NFD);
+            return p;
+        }
+
+        p = Utility.parsePattern(rule, pos, limit, "~nfc rules~;", null);
+        if (p >= 0) {
+            pragmaNormalizeRules(Normalizer.NFC);
+            return p;
+        }
+
+        // Syntax error: unable to parse pragma
+        return -1;
+    }
+
+    /**
+     * Throw an exception indicating a syntax error.  Search the rule string
+     * for the probable end of the rule.  Of course, if the error is that
+     * the end of rule marker is missing, then the rule end will not be found.
+     * In any case the rule start will be correctly reported.
+     * @param msg error description
+     * @param rule pattern string
+     * @param start position of first character of current rule
+     */
+    static final void syntaxError(String msg, String rule, int start) {
+        int end = ruleEnd(rule, start, rule.length());
+        throw new IllegalArgumentException(msg + " in \"" +
+                                           Utility.escape(rule.substring(start, end)) + '"');
+    }
+
+    static final int ruleEnd(String rule, int start, int limit) {
+        int end = Utility.quotedIndexOf(rule, start, limit, ";");
+        if (end < 0) {
+            end = limit;
+        }
+        return end;
+    }
+
+    /**
+     * Parse a UnicodeSet out, store it, and return the stand-in character
+     * used to represent it.
+     */
+    private final char parseSet(String rule, ParsePosition pos) {
+        UnicodeSet set = new UnicodeSet(rule, pos, parseData);
+        if (variableNext >= variableLimit) {
+            throw new RuntimeException("Private use variables exhausted");
+        }
+        set.compact();
+        return generateStandInFor(set);
+    }
+
+    /**
+     * Generate and return a stand-in for a new UnicodeMatcher or UnicodeReplacer.
+     * Store the object.
+     */
+    char generateStandInFor(Object obj) {
+        // assert(obj != null);
+
+        // Look up previous stand-in, if any.  This is a short list
+        // (typical n is 0, 1, or 2); linear search is optimal.
+        for (int i=0; i<variablesVector.size(); ++i) {
+            if (variablesVector.elementAt(i) == obj) { // [sic] pointer comparison
+                return (char) (curData.variablesBase + i);
+            }
+        }
+
+        if (variableNext >= variableLimit) {
+            throw new RuntimeException("Variable range exhausted");
+        }
+        variablesVector.addElement(obj);
+        return variableNext++;
+    }
+
+    /**
+     * Return the standin for segment seg (1-based).
+     */
+    public char getSegmentStandin(int seg) {
+        if (segmentStandins.length() < seg) {
+            segmentStandins.setLength(seg);
+        }
+        char c = segmentStandins.charAt(seg-1);
+        if (c == 0) {
+            if (variableNext >= variableLimit) {
+                throw new RuntimeException("Variable range exhausted");
+            }
+            c = variableNext++;
+            // Set a placeholder in the master variables vector that will be
+            // filled in later by setSegmentObject().  We know that we will get
+            // called first because setSegmentObject() will call us.
+            variablesVector.addElement(null);
+            segmentStandins.setCharAt(seg-1, c);
+        }
+        return c;
+    }
+    
+    /**
+     * Set the object for segment seg (1-based).
+     */
+    public void setSegmentObject(int seg, StringMatcher obj) {
+        // Since we call parseSection() recursively, nested
+        // segments will result in segment i+1 getting parsed
+        // and stored before segment i; be careful with the
+        // vector handling here.
+        if (segmentObjects.size() < seg) {
+            segmentObjects.setSize(seg);
+        }
+        int index = getSegmentStandin(seg) - curData.variablesBase;
+        if (segmentObjects.elementAt(seg-1) != null ||
+            variablesVector.elementAt(index) != null) {
+            throw new RuntimeException(); // should never happen
+        }
+        segmentObjects.setElementAt(obj, seg-1);
+        variablesVector.setElementAt(obj, index);
+    }
+
+    /**
+     * Return the stand-in for the dot set.  It is allocated the first
+     * time and reused thereafter.
+     */
+    char getDotStandIn() {
+        if (dotStandIn == -1) {
+            dotStandIn = generateStandInFor(new UnicodeSet(DOT_SET));
+        }
+        return (char) dotStandIn;
+    }
+
+    /**
+     * Append the value of the given variable name to the given
+     * StringBuffer.
+     * @exception IllegalArgumentException if the name is unknown.
+     */
+    private void appendVariableDef(String name, StringBuffer buf) {
+        char[] ch = (char[]) variableNames.get(name);
+        if (ch == null) {
+            // We allow one undefined variable so that variable definition
+            // statements work.  For the first undefined variable we return
+            // the special placeholder variableLimit-1, and save the variable
+            // name.
+            if (undefinedVariableName == null) {
+                undefinedVariableName = name;
+                if (variableNext >= variableLimit) {
+                    throw new RuntimeException("Private use variables exhausted");
+                }
+                buf.append((char) --variableLimit);
+            } else {
+                throw new IllegalArgumentException("Undefined variable $"
+                                                   + name);
+            }
+        } else {
+            buf.append(ch);
+        }
+    }
+}
+
+//eof
diff --git a/src/com/ibm/icu/text/TransliteratorRegistry.java b/src/com/ibm/icu/text/TransliteratorRegistry.java
new file mode 100755
index 0000000..ac8417c
--- /dev/null
+++ b/src/com/ibm/icu/text/TransliteratorRegistry.java
@@ -0,0 +1,893 @@
+/*
+**********************************************************************
+*   Copyright (c) 2001-2005, International Business Machines
+*   Corporation and others.  All Rights Reserved.
+**********************************************************************
+*   Date        Name        Description
+*   08/19/2001  aliu        Creation.
+**********************************************************************
+*/
+
+package com.ibm.icu.text;
+
+//import com.ibm.icu.impl.ICULocaleData;
+import com.ibm.icu.impl.ICUResourceBundle;
+import com.ibm.icu.impl.LocaleUtility;
+import com.ibm.icu.lang.UScript;
+import com.ibm.icu.util.CaseInsensitiveString;
+import com.ibm.icu.util.UResourceBundle;
+
+import java.util.Enumeration;
+import java.util.Hashtable;
+import java.util.Locale;
+import java.util.MissingResourceException;
+import java.util.ResourceBundle;
+import java.util.Vector;
+
+class TransliteratorRegistry {
+
+    // char constants
+    private static final char LOCALE_SEP  = '_';
+
+    // String constants
+    private static final String NO_VARIANT = ""; // empty string
+    private static final String ANY = "Any";
+
+    /**
+     * Dynamic registry mapping full IDs to Entry objects.  This
+     * contains both public and internal entities.  The visibility is
+     * controlled by whether an entry is listed in availableIDs and
+     * specDAG or not.
+     *
+     * Keys are CaseInsensitiveString objects.
+     * Values are objects of class Class (subclass of Transliterator),
+     * RuleBasedTransliterator.Data, Transliterator.Factory, or one
+     * of the entry classes defined here (AliasEntry or ResourceEntry).
+     */
+    private Hashtable registry;
+
+    /**
+     * DAG of visible IDs by spec.  Hashtable: source => (Hashtable:
+     * target => (Vector: variant)) The Vector of variants is never
+     * empty.  For a source-target with no variant, the special
+     * variant NO_VARIANT (the empty string) is stored in slot zero of
+     * the UVector.
+     *
+     * Keys are CaseInsensitiveString objects.
+     * Values are Hashtable of (CaseInsensitiveString -> Vector of
+     * CaseInsensitiveString)
+     */
+    private Hashtable specDAG;
+
+    /**
+     * Vector of public full IDs (CaseInsensitiveString objects).
+     */
+    private Vector availableIDs;
+
+    //----------------------------------------------------------------------
+    // class Spec
+    //----------------------------------------------------------------------
+
+    /**
+     * A Spec is a string specifying either a source or a target.  In more
+     * general terms, it may also specify a variant, but we only use the
+     * Spec class for sources and targets.
+     *
+     * A Spec may be a locale or a script.  If it is a locale, it has a
+     * fallback chain that goes xx_YY_ZZZ -> xx_YY -> xx -> ssss, where
+     * ssss is the script mapping of xx_YY_ZZZ.  The Spec API methods
+     * hasFallback(), next(), and reset() iterate over this fallback
+     * sequence.
+     *
+     * The Spec class canonicalizes itself, so the locale is put into
+     * canonical form, or the script is transformed from an abbreviation
+     * to a full name.
+     */
+    static class Spec {
+
+        private String top;        // top spec
+        private String spec;       // current spec
+        private String nextSpec;   // next spec
+        private String scriptName; // script name equivalent of top, if != top
+        private boolean isSpecLocale; // TRUE if spec is a locale
+        private boolean isNextLocale; // TRUE if nextSpec is a locale
+        private ICUResourceBundle res;
+
+        public Spec(String theSpec) {
+            top = theSpec;
+            spec = null;
+            scriptName = null;
+            try{
+                // Canonicalize script name.  If top is a script name then
+                // script != UScript.INVALID_CODE.
+                int script = UScript.getCodeFromName(top);
+
+                // Canonicalize script name -or- do locale->script mapping
+                int[] s = UScript.getCode(top);
+                if (s != null) {
+                    scriptName = UScript.getName(s[0]);
+                    // If the script name is the same as top then it's redundant
+                    if (scriptName.equalsIgnoreCase(top)) {
+                        scriptName = null;
+                    }
+                }
+
+                isSpecLocale = false;
+                res = null;
+                // If 'top' is not a script name, try a locale lookup
+                if (script == UScript.INVALID_CODE) {
+                    Locale toploc = LocaleUtility.getLocaleFromName(top);
+                    res  = (ICUResourceBundle)UResourceBundle.getBundleInstance(ICUResourceBundle.ICU_TRANSLIT_BASE_NAME,toploc);
+                    // Make sure we got the bundle we wanted; otherwise, don't use it
+                    if (res!=null && LocaleUtility.isFallbackOf(res.getULocale().toString(), top)) {
+                        isSpecLocale = true;
+                    }
+                }
+            }catch(MissingResourceException e){
+                scriptName = null;
+            }
+            // assert(spec != top);
+            reset();
+        }
+
+        public boolean hasFallback() {
+            return nextSpec != null;
+        }
+
+        public void reset() {
+            if (spec != top) { // [sic] pointer comparison
+                spec = top;
+                isSpecLocale = (res != null);
+                setupNext();
+            }
+        }
+
+        private void setupNext() {
+            isNextLocale = false;
+            if (isSpecLocale) {
+                nextSpec = spec;
+                int i = nextSpec.lastIndexOf(LOCALE_SEP);
+                // If i == 0 then we have _FOO, so we fall through
+                // to the scriptName.
+                if (i > 0) {
+                    nextSpec = spec.substring(0, i);
+                    isNextLocale = true;
+                } else {
+                    nextSpec = scriptName; // scriptName may be null
+                }
+            } else {
+                // Fallback to the script, which may be null
+                if (nextSpec != scriptName) {
+                    nextSpec = scriptName;
+                } else {
+                    nextSpec = null;
+                }
+            }
+        }
+
+        // Protocol:
+        // for(String& s(spec.get());
+        //     spec.hasFallback(); s(spec.next())) { ...
+
+        public String next() {
+            spec = nextSpec;
+            isSpecLocale = isNextLocale;
+            setupNext();
+            return spec;
+        }
+
+        public String get() {
+            return spec;
+        }
+
+        public boolean isLocale() {
+            return isSpecLocale;
+        }
+
+        /**
+         * Return the ResourceBundle for this spec, at the current
+         * level of iteration.  The level of iteration goes from
+         * aa_BB_CCC to aa_BB to aa.  If the bundle does not
+         * correspond to the current level of iteration, return null.
+         * If isLocale() is false, always return null.
+         */
+        public ResourceBundle getBundle() {
+            if (res != null &&
+                res.getULocale().toString().equals(spec)) {
+                return res;
+            }
+            return null;
+        }
+
+        public String getTop() {
+            return top;
+        }
+    }
+
+    //----------------------------------------------------------------------
+    // Entry classes
+    //----------------------------------------------------------------------
+
+    static class ResourceEntry {
+        public String resource;
+        public String encoding;
+        public int direction;
+        public ResourceEntry(String n, String enc, int d) {
+            resource = n;
+            encoding = enc;
+            direction = d;
+        }
+    }
+
+    // An entry representing a rule in a locale resource bundle
+    static class LocaleEntry {
+        public String rule;
+        public int direction;
+        public LocaleEntry(String r, int d) {
+            rule = r;
+            direction = d;
+        }
+    }
+
+    static class AliasEntry {
+        public String alias;
+        public AliasEntry(String a) {
+            alias = a;
+        }
+    }
+
+    static class CompoundRBTEntry {
+        private String ID;
+        private Vector idBlockVector;
+        private Vector dataVector;
+        private UnicodeSet compoundFilter;
+
+        public CompoundRBTEntry(String theID, Vector theIDBlockVector,
+                                Vector theDataVector,
+                                UnicodeSet theCompoundFilter) {
+            ID = theID;
+            idBlockVector = theIDBlockVector;
+            dataVector = theDataVector;
+            compoundFilter = theCompoundFilter;
+        }
+
+        public Transliterator getInstance() {
+            Vector transliterators = new Vector();
+            int passNumber = 1;
+
+            int limit = Math.max(idBlockVector.size(), dataVector.size());
+            for (int i = 0; i < limit; i++) {
+                if (i < idBlockVector.size()) {
+                    String idBlock = (String)idBlockVector.get(i);
+                    if (idBlock.length() > 0)
+                        transliterators.add(Transliterator.getInstance(idBlock));
+                }
+                if (i < dataVector.size()) {
+                    RuleBasedTransliterator.Data data = (RuleBasedTransliterator.Data)dataVector.get(i);
+                    transliterators.add(new RuleBasedTransliterator("%Pass" + passNumber++, data, null));
+                }
+            }
+
+            Transliterator t = new CompoundTransliterator(transliterators, passNumber - 1);
+            t.setID(ID);
+            if (compoundFilter != null) {
+                t.setFilter(compoundFilter);
+            }
+            return t;
+        }
+    }
+
+    //----------------------------------------------------------------------
+    // class TransliteratorRegistry: Basic public API
+    //----------------------------------------------------------------------
+
+    public TransliteratorRegistry() {
+        registry = new Hashtable();
+        specDAG = new Hashtable();
+        availableIDs = new Vector();
+    }
+
+    /**
+     * Given a simple ID (forward direction, no inline filter, not
+     * compound) attempt to instantiate it from the registry.  Return
+     * 0 on failure.
+     *
+     * Return a non-empty aliasReturn value if the ID points to an alias.
+     * We cannot instantiate it ourselves because the alias may contain
+     * filters or compounds, which we do not understand.  Caller should
+     * make aliasReturn empty before calling.
+     */
+    public Transliterator get(String ID,
+                              StringBuffer aliasReturn) {
+        Object[] entry = find(ID);
+        return (entry == null) ? null
+            : instantiateEntry(ID, entry, aliasReturn);
+    }
+
+    /**
+     * Register a class.  This adds an entry to the
+     * dynamic store, or replaces an existing entry.  Any entry in the
+     * underlying static locale resource store is masked.
+     */
+    public void put(String ID,
+                    Class transliteratorSubclass,
+                    boolean visible) {
+        registerEntry(ID, transliteratorSubclass, visible);
+    }
+
+    /**
+     * Register an ID and a factory function pointer.  This adds an
+     * entry to the dynamic store, or replaces an existing entry.  Any
+     * entry in the underlying static locale resource store is masked.
+     */
+    public void put(String ID,
+                    Transliterator.Factory factory,
+                    boolean visible) {
+        registerEntry(ID, factory, visible);
+    }
+
+    /**
+     * Register an ID and a resource name.  This adds an entry to the
+     * dynamic store, or replaces an existing entry.  Any entry in the
+     * underlying static locale resource store is masked.
+     */
+    public void put(String ID,
+                    String resourceName,
+                    String encoding,
+                    int dir,
+                    boolean visible) {
+        registerEntry(ID, new ResourceEntry(resourceName, encoding, dir), visible);
+    }
+
+    /**
+     * Register an ID and an alias ID.  This adds an entry to the
+     * dynamic store, or replaces an existing entry.  Any entry in the
+     * underlying static locale resource store is masked.
+     */
+    public void put(String ID,
+                    String alias,
+                    boolean visible) {
+        registerEntry(ID, new AliasEntry(alias), visible);
+    }
+
+    /**
+     * Register an ID and a Transliterator object.  This adds an entry
+     * to the dynamic store, or replaces an existing entry.  Any entry
+     * in the underlying static locale resource store is masked.
+     */
+    public void put(String ID,
+                    Transliterator trans,
+                    boolean visible) {
+        registerEntry(ID, trans, visible);
+    }
+
+    /**
+     * Unregister an ID.  This removes an entry from the dynamic store
+     * if there is one.  The static locale resource store is
+     * unaffected.
+     */
+    public void remove(String ID) {
+        String[] stv = TransliteratorIDParser.IDtoSTV(ID);
+        // Only need to do this if ID.indexOf('-') < 0
+        String id = TransliteratorIDParser.STVtoID(stv[0], stv[1], stv[2]);
+        registry.remove(new CaseInsensitiveString(id));
+        removeSTV(stv[0], stv[1], stv[2]);
+        availableIDs.removeElement(new CaseInsensitiveString(id));
+    }
+
+    //----------------------------------------------------------------------
+    // class TransliteratorRegistry: Public ID and spec management
+    //----------------------------------------------------------------------
+
+    /**
+     * An internal class that adapts an enumeration over
+     * CaseInsensitiveStrings to an enumeration over Strings.
+     */
+    private static class IDEnumeration implements Enumeration {
+        Enumeration en;
+
+        public IDEnumeration(Enumeration e) {
+            en = e;
+        }
+
+        public boolean hasMoreElements() {
+            return en != null && en.hasMoreElements();
+        }
+
+        public Object nextElement() {
+            return ((CaseInsensitiveString) en.nextElement()).getString();
+        }
+    }
+
+    /**
+     * Returns an enumeration over the programmatic names of visible
+     * registered transliterators.
+     *
+     * @return An <code>Enumeration</code> over <code>String</code> objects
+     */
+    public Enumeration getAvailableIDs() {
+        // Since the cache contains CaseInsensitiveString objects, but
+        // the caller expects Strings, we have to use an intermediary.
+        return new IDEnumeration(availableIDs.elements());
+    }
+
+    /**
+     * Returns an enumeration over all visible source names.
+     *
+     * @return An <code>Enumeration</code> over <code>String</code> objects
+     */
+    public Enumeration getAvailableSources() {
+        return new IDEnumeration(specDAG.keys());
+    }
+
+    /**
+     * Returns an enumeration over visible target names for the given
+     * source.
+     *
+     * @return An <code>Enumeration</code> over <code>String</code> objects
+     */
+    public Enumeration getAvailableTargets(String source) {
+        CaseInsensitiveString cisrc = new CaseInsensitiveString(source);
+        Hashtable targets = (Hashtable) specDAG.get(cisrc);
+        if (targets == null) {
+            return new IDEnumeration(null);
+        }
+        return new IDEnumeration(targets.keys());
+    }
+
+    /**
+     * Returns an enumeration over visible variant names for the given
+     * source and target.
+     *
+     * @return An <code>Enumeration</code> over <code>String</code> objects
+     */
+    public Enumeration getAvailableVariants(String source, String target) {
+        CaseInsensitiveString cisrc = new CaseInsensitiveString(source);
+        CaseInsensitiveString citrg = new CaseInsensitiveString(target);
+        Hashtable targets = (Hashtable) specDAG.get(cisrc);
+        if (targets == null) {
+            return new IDEnumeration(null);
+        }
+        Vector variants = (Vector) targets.get(citrg);
+        if (variants == null) {
+            return new IDEnumeration(null);
+        }
+        return new IDEnumeration(variants.elements());
+    }
+
+    //----------------------------------------------------------------------
+    // class TransliteratorRegistry: internal
+    //----------------------------------------------------------------------
+
+    /**
+     * Convenience method.  Calls 6-arg registerEntry().
+     */
+    private void registerEntry(String source,
+                               String target,
+                               String variant,
+                               Object entry,
+                               boolean visible) {
+        String s = source;
+        if (s.length() == 0) {
+            s = ANY;
+        }
+        String ID = TransliteratorIDParser.STVtoID(source, target, variant);
+        registerEntry(ID, s, target, variant, entry, visible);
+    }
+
+    /**
+     * Convenience method.  Calls 6-arg registerEntry().
+     */
+    private void registerEntry(String ID,
+                               Object entry,
+                               boolean visible) {
+        String[] stv = TransliteratorIDParser.IDtoSTV(ID);
+        // Only need to do this if ID.indexOf('-') < 0
+        String id = TransliteratorIDParser.STVtoID(stv[0], stv[1], stv[2]);
+        registerEntry(id, stv[0], stv[1], stv[2], entry, visible);
+    }
+
+    /**
+     * Register an entry object (adopted) with the given ID, source,
+     * target, and variant strings.
+     */
+    private void registerEntry(String ID,
+                               String source,
+                               String target,
+                               String variant,
+                               Object entry,
+                               boolean visible) {
+        CaseInsensitiveString ciID = new CaseInsensitiveString(ID);
+
+        // Store the entry within an array so it can be modified later
+        if (!(entry instanceof Object[])) {
+            entry = new Object[] { entry };
+        }
+
+        registry.put(ciID, entry);
+        if (visible) {
+            registerSTV(source, target, variant);
+            if (!availableIDs.contains(ciID)) {
+                availableIDs.addElement(ciID);
+            }
+        } else {
+            removeSTV(source, target, variant);
+            availableIDs.removeElement(ciID);
+        }
+    }
+
+    /**
+     * Register a source-target/variant in the specDAG.  Variant may be
+     * empty, but source and target must not be.  If variant is empty then
+     * the special variant NO_VARIANT is stored in slot zero of the
+     * UVector of variants.
+     */
+    private void registerSTV(String source,
+                             String target,
+                             String variant) {
+        // assert(source.length() > 0);
+        // assert(target.length() > 0);
+        CaseInsensitiveString cisrc = new CaseInsensitiveString(source);
+        CaseInsensitiveString citrg = new CaseInsensitiveString(target);
+        CaseInsensitiveString civar = new CaseInsensitiveString(variant);
+        Hashtable targets = (Hashtable) specDAG.get(cisrc);
+        if (targets == null) {
+            targets = new Hashtable();
+            specDAG.put(cisrc, targets);
+        }
+        Vector variants = (Vector) targets.get(citrg);
+        if (variants == null) {
+            variants = new Vector();
+            targets.put(citrg, variants);
+        }
+        // assert(NO_VARIANT == "");
+        // We add the variant string.  If it is the special "no variant"
+        // string, that is, the empty string, we add it at position zero.
+        if (!variants.contains(civar)) {
+            if (variant.length() > 0) {
+                variants.addElement(civar);
+            } else {
+                variants.insertElementAt(civar, 0);
+            }
+        }
+    }
+
+    /**
+     * Remove a source-target/variant from the specDAG.
+     */
+    private void removeSTV(String source,
+                           String target,
+                           String variant) {
+        // assert(source.length() > 0);
+        // assert(target.length() > 0);
+        CaseInsensitiveString cisrc = new CaseInsensitiveString(source);
+        CaseInsensitiveString citrg = new CaseInsensitiveString(target);
+        CaseInsensitiveString civar = new CaseInsensitiveString(variant);
+        Hashtable targets = (Hashtable) specDAG.get(cisrc);
+        if (targets == null) {
+            return; // should never happen for valid s-t/v
+        }
+        Vector variants = (Vector) targets.get(citrg);
+        if (variants == null) {
+            return; // should never happen for valid s-t/v
+        }
+        variants.removeElement(civar);
+        if (variants.size() == 0) {
+            targets.remove(citrg); // should delete variants
+            if (targets.size() == 0) {
+                specDAG.remove(cisrc); // should delete targets
+            }
+        }
+    }
+
+    private static final boolean DEBUG = false;
+
+    /**
+     * Attempt to find a source-target/variant in the dynamic registry
+     * store.  Return 0 on failure.
+     */
+    private Object[] findInDynamicStore(Spec src,
+                                      Spec trg,
+                                      String variant) {
+        String ID = TransliteratorIDParser.STVtoID(src.get(), trg.get(), variant);
+        if (DEBUG) {
+            System.out.println("TransliteratorRegistry.findInDynamicStore:" +
+                               ID);
+        }
+        return (Object[]) registry.get(new CaseInsensitiveString(ID));
+    }
+
+    /**
+     * Attempt to find a source-target/variant in the static locale
+     * resource store.  Do not perform fallback.  Return 0 on failure.
+     *
+     * On success, create a new entry object, register it in the dynamic
+     * store, and return a pointer to it, but do not make it public --
+     * just because someone requested something, we do not expand the
+     * available ID list (or spec DAG).
+     */
+    private Object[] findInStaticStore(Spec src,
+                                     Spec trg,
+                                     String variant) {
+        if (DEBUG) {
+            String ID = TransliteratorIDParser.STVtoID(src.get(), trg.get(), variant);
+            System.out.println("TransliteratorRegistry.findInStaticStore:" +
+                               ID);
+        }
+        Object[] entry = null;
+        if (src.isLocale()) {
+            entry = findInBundle(src, trg, variant, Transliterator.FORWARD);
+        } else if (trg.isLocale()) {
+            entry = findInBundle(trg, src, variant, Transliterator.REVERSE);
+        }
+
+        // If we found an entry, store it in the Hashtable for next
+        // time.
+        if (entry != null) {
+            registerEntry(src.getTop(), trg.getTop(), variant, entry, false);
+        }
+
+        return entry;
+    }
+
+    /**
+     * Attempt to find an entry in a single resource bundle.  This is
+     * a one-sided lookup.  findInStaticStore() performs up to two such
+     * lookups, one for the source, and one for the target.
+     *
+     * Do not perform fallback.  Return 0 on failure.
+     *
+     * On success, create a new Entry object, populate it, and return it.
+     * The caller owns the returned object.
+     */
+    private Object[] findInBundle(Spec specToOpen,
+                                  Spec specToFind,
+                                  String variant,
+                                  int direction) {
+        // assert(specToOpen.isLocale());
+        ResourceBundle res = specToOpen.getBundle();
+
+        if (res == null) {
+            // This means that the bundle's locale does not match
+            // the current level of iteration for the spec.
+            return null;
+        }
+
+        for (int pass=0; pass<2; ++pass) {
+            StringBuffer tag = new StringBuffer();
+            // First try either TransliteratorTo_xxx or
+            // TransliterateFrom_xxx, then try the bidirectional
+            // Transliterate_xxx.  This precedence order is arbitrary
+            // but must be consistent and documented.
+            if (pass == 0) {
+                tag.append(direction == Transliterator.FORWARD ?
+                           "TransliterateTo" : "TransliterateFrom");
+            } else {
+                tag.append("Transliterate");
+            }
+            tag.append(specToFind.get().toUpperCase());
+
+            try {
+                // The Transliterate*_xxx resource is an array of
+                // strings of the format { <v0>, <r0>, ... }.  Each
+                // <vi> is a variant name, and each <ri> is a rule.
+                String[] subres = res.getStringArray(tag.toString());
+
+                // assert(subres != null);
+                // assert(subres.length % 2 == 0);
+                int i = 0;
+                if (variant.length() != 0) {
+                    for (i=0; i<subres.length; i+= 2) {
+                        if (subres[i].equalsIgnoreCase(variant)) {
+                            break;
+                        }
+                    }
+                }
+
+                if (i < subres.length) {
+                    // We have a match, or there is no variant and i == 0.
+                    // We have succeeded in loading a string from the
+                    // locale resources.  Return the rule string which
+                    // will itself become the registry entry.
+
+                    // The direction is always forward for the
+                    // TransliterateTo_xxx and TransliterateFrom_xxx
+                    // items; those are unidirectional forward rules.
+                    // For the bidirectional Transliterate_xxx items,
+                    // the direction is the value passed in to this
+                    // function.
+                    int dir = (pass == 0) ? Transliterator.FORWARD : direction;
+                    return new Object[] { new LocaleEntry(subres[i+1], dir) };
+                }
+
+            } catch (MissingResourceException e) {
+                if (DEBUG) System.out.println("missing resource: " + e);
+            }
+        }
+
+        // If we get here we had a missing resource exception or we
+        // failed to find a desired variant.
+        return null;
+    }
+
+    /**
+     * Convenience method.  Calls 3-arg find().
+     */
+    private Object[] find(String ID) {
+        String[] stv = TransliteratorIDParser.IDtoSTV(ID);
+        return find(stv[0], stv[1], stv[2]);
+    }
+
+    /**
+     * Top-level find method.  Attempt to find a source-target/variant in
+     * either the dynamic or the static (locale resource) store.  Perform
+     * fallback.
+     *
+     * Lookup sequence for ss_SS_SSS-tt_TT_TTT/v:
+     *
+     *   ss_SS_SSS-tt_TT_TTT/v -- in hashtable
+     *   ss_SS_SSS-tt_TT_TTT/v -- in ss_SS_SSS (no fallback)
+     *
+     *     repeat with t = tt_TT_TTT, tt_TT, tt, and tscript
+     *
+     *     ss_SS_SSS-t/*
+     *     ss_SS-t/*
+     *     ss-t/*
+     *     sscript-t/*
+     *
+     * Here * matches the first variant listed.
+     *
+     * Caller does NOT own returned object.  Return 0 on failure.
+     */
+    private Object[] find(String source,
+                          String target,
+                          String variant) {
+
+        Spec src = new Spec(source);
+        Spec trg = new Spec(target);
+        Object[] entry = null;
+
+        if (variant.length() != 0) {
+
+            // Seek exact match in hashtable
+            entry = findInDynamicStore(src, trg, variant);
+            if (entry != null) {
+                return entry;
+            }
+
+            // Seek exact match in locale resources
+            entry = findInStaticStore(src, trg, variant);
+            if (entry != null) {
+                return entry;
+            }
+        }
+
+        for (;;) {
+            src.reset();
+            for (;;) {
+                // Seek match in hashtable
+                entry = findInDynamicStore(src, trg, NO_VARIANT);
+                if (entry != null) {
+                    return entry;
+                }
+
+                // Seek match in locale resources
+                entry = findInStaticStore(src, trg, NO_VARIANT);
+                if (entry != null) {
+                    return entry;
+                }
+                if (!src.hasFallback()) {
+                    break;
+                }
+                src.next();
+            }
+            if (!trg.hasFallback()) {
+                break;
+            }
+            trg.next();
+        }
+
+        return null;
+    }
+
+    /**
+     * Given an Entry object, instantiate it.  Caller owns result.  Return
+     * 0 on failure.
+     *
+     * Return a non-empty aliasReturn value if the ID points to an alias.
+     * We cannot instantiate it ourselves because the alias may contain
+     * filters or compounds, which we do not understand.  Caller should
+     * make aliasReturn empty before calling.
+     *
+     * The entry object is assumed to reside in the dynamic store.  It may be
+     * modified.
+     */
+    private Transliterator instantiateEntry(String ID,
+                                            Object[] entryWrapper,
+                                            StringBuffer aliasReturn) {
+        // We actually modify the entry object in some cases.  If it
+        // is a string, we may partially parse it and turn it into a
+        // more processed precursor.  This makes the next
+        // instantiation faster and allows sharing of immutable
+        // components like the RuleBasedTransliterator.Data objects.
+        // For this reason, the entry object is an Object[] of length
+        // 1.
+
+        for (;;) {
+            Object entry = entryWrapper[0];
+
+            if (entry instanceof RuleBasedTransliterator.Data) {
+                RuleBasedTransliterator.Data data = (RuleBasedTransliterator.Data) entry;
+                return new RuleBasedTransliterator(ID, data, null);
+            } else if (entry instanceof Class) {
+                try {
+                    return (Transliterator) ((Class) entry).newInstance();
+                } catch (InstantiationException e) {
+                } catch (IllegalAccessException e2) {}
+                return null;
+            } else if (entry instanceof AliasEntry) {
+                aliasReturn.append(((AliasEntry) entry).alias);
+                return null;
+            } else if (entry instanceof Transliterator.Factory) {
+                return ((Transliterator.Factory) entry).getInstance(ID);
+            } else if (entry instanceof CompoundRBTEntry) {
+                return ((CompoundRBTEntry) entry).getInstance();
+            } else if (entry instanceof Transliterator) {
+                return (Transliterator) entry;
+            }
+
+            // At this point entry type must be either RULES_FORWARD or
+            // RULES_REVERSE.  We process the rule data into a
+            // TransliteratorRuleData object, and possibly also into an
+            // .id header and/or footer.  Then we modify the registry with
+            // the parsed data and retry.
+
+            TransliteratorParser parser = new TransliteratorParser();
+
+            try {
+               
+                ResourceEntry re = (ResourceEntry) entry;
+                parser.parse(re.resource, re.direction);
+                
+            } catch (ClassCastException e) {
+                // If we pull a rule from a locale resource bundle it will
+                // be a LocaleEntry.
+                LocaleEntry le = (LocaleEntry) entry;
+                parser.parse(le.rule, le.direction);
+            }
+
+            // Reset entry to something that we process at the
+            // top of the loop, then loop back to the top.  As long as we
+            // do this, we only loop through twice at most.
+            // NOTE: The logic here matches that in
+            // Transliterator.createFromRules().
+            if (parser.idBlockVector.size() == 0 && parser.dataVector.size() == 0) {
+                // No idBlock, no data -- this is just an
+                // alias for Null
+                entryWrapper[0] = new AliasEntry(NullTransliterator._ID);
+            }
+            else if (parser.idBlockVector.size() == 0 && parser.dataVector.size() == 1) {
+                // No idBlock, data != 0 -- this is an
+                // ordinary RBT_DATA
+                entryWrapper[0] = parser.dataVector.get(0);
+            }
+            else if (parser.idBlockVector.size() == 1 && parser.dataVector.size() == 0) {
+                // idBlock, no data -- this is an alias.  The ID has
+                // been munged from reverse into forward mode, if
+                // necessary, so instantiate the ID in the forward
+                // direction.
+                if (parser.compoundFilter != null)
+                    entryWrapper[0] = new AliasEntry(parser.compoundFilter.toPattern(false) + ";"
+                            + (String)parser.idBlockVector.get(0));
+                else
+                    entryWrapper[0] = new AliasEntry((String)parser.idBlockVector.get(0));
+            }
+            else {
+                entryWrapper[0] = new CompoundRBTEntry(ID, parser.idBlockVector, parser.dataVector,
+                        parser.compoundFilter);
+            }
+        }
+    }
+}
+
+//eof
diff --git a/src/com/ibm/icu/text/UCharacterIterator.java b/src/com/ibm/icu/text/UCharacterIterator.java
new file mode 100644
index 0000000..5408532
--- /dev/null
+++ b/src/com/ibm/icu/text/UCharacterIterator.java
@@ -0,0 +1,409 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.text;
+
+
+import java.text.CharacterIterator;
+
+import com.ibm.icu.impl.CharacterIteratorWrapper;
+import com.ibm.icu.impl.ReplaceableUCharacterIterator;
+import com.ibm.icu.impl.UCharArrayIterator;
+import com.ibm.icu.impl.UCharacterIteratorWrapper;
+import com.ibm.icu.impl.UCharacterProperty;
+
+
+/**
+ * Abstract class that defines an API for iteration on text objects.This is an 
+ * interface for forward and backward iteration and random access into a text 
+ * object. Forward iteration is done with post-increment and backward iteration 
+ * is done with pre-decrement semantics, while the 
+ * <code>java.text.CharacterIterator</code> interface methods provided forward 
+ * iteration with "pre-increment" and backward iteration with pre-decrement 
+ * semantics. This API is more efficient for forward iteration over code points.
+ * The other major difference is that this API can do both code unit and code point 
+ * iteration, <code>java.text.CharacterIterator</code> can only iterate over 
+ * code units and is limited to BMP (0 - 0xFFFF)
+ * @author Ram
+ * @stable ICU 2.4
+ */
+public abstract class UCharacterIterator 
+                      implements Cloneable,UForwardCharacterIterator {
+
+    /**
+     * Protected default constructor for the subclasses
+     * @stable ICU 2.4
+     */
+    protected UCharacterIterator(){
+    }
+    
+    // static final methods ----------------------------------------------------
+    
+    /**
+     * Returns a <code>UCharacterIterator</code> object given a 
+     * <code>Replaceable</code> object.
+     * @param source a valid source as a <code>Replaceable</code> object
+     * @return UCharacterIterator object
+     * @exception IllegalArgumentException if the argument is null
+     * @stable ICU 2.4
+     */
+    public static final UCharacterIterator getInstance(Replaceable source){
+        return new ReplaceableUCharacterIterator(source);
+    }
+    
+    /**
+     * Returns a <code>UCharacterIterator</code> object given a 
+     * source string.
+     * @param source a string
+     * @return UCharacterIterator object
+     * @exception IllegalArgumentException if the argument is null
+     * @stable ICU 2.4
+     */
+    public static final UCharacterIterator getInstance(String source){
+        return new ReplaceableUCharacterIterator(source);
+    }
+    
+    /**
+     * Returns a <code>UCharacterIterator</code> object given a 
+     * source character array.
+     * @param source an array of UTF-16 code units
+     * @return UCharacterIterator object
+     * @exception IllegalArgumentException if the argument is null
+     * @stable ICU 2.4
+     */
+    public static final UCharacterIterator getInstance(char[] source){
+        return getInstance(source,0,source.length);
+    }
+    
+    /**
+     * Returns a <code>UCharacterIterator</code> object given a 
+     * source character array.
+     * @param source an array of UTF-16 code units
+     * @return UCharacterIterator object
+     * @exception IllegalArgumentException if the argument is null
+     * @stable ICU 2.4
+     */
+    public static final UCharacterIterator getInstance(char[] source, int start, int limit){
+        return new UCharArrayIterator(source,start,limit);
+    }
+    /**
+     * Returns a <code>UCharacterIterator</code> object given a 
+     * source StringBuffer.
+     * @param source an string buffer of UTF-16 code units
+     * @return UCharacterIterator object
+     * @exception IllegalArgumentException if the argument is null
+     * @stable ICU 2.4
+     */
+    public static final UCharacterIterator getInstance(StringBuffer source){
+        return new ReplaceableUCharacterIterator(source);
+    }
+
+    /**
+     * Returns a <code>UCharacterIterator</code> object given a 
+     * CharacterIterator.
+     * @param source a valid CharacterIterator object.
+     * @return UCharacterIterator object
+     * @exception IllegalArgumentException if the argument is null
+     * @stable ICU 2.4
+     */    
+    public static final UCharacterIterator getInstance(CharacterIterator source){
+        return new CharacterIteratorWrapper(source);
+    }
+       
+    // public methods ----------------------------------------------------------
+    /**
+     * Returns a <code>java.text.CharacterIterator</code> object for
+     * the underlying text of this iterator.  The returned iterator is
+     * independent of this iterator.
+     * @return java.text.CharacterIterator object
+     * @stable ICU 2.4 
+     */
+    public CharacterIterator getCharacterIterator(){
+        return new UCharacterIteratorWrapper(this);
+    }    
+   
+    /**
+     * Returns the code unit at the current index.  If index is out
+     * of range, returns DONE.  Index is not changed.
+     * @return current code unit
+     * @stable ICU 2.4
+     */
+    public abstract int current();
+    
+    /**
+     * Returns the codepoint at the current index.
+     * If the current index is invalid, DONE is returned.
+     * If the current index points to a lead surrogate, and there is a following
+     * trail surrogate, then the code point is returned.  Otherwise, the code
+     * unit at index is returned.  Index is not changed. 
+     * @return current codepoint
+     * @stable ICU 2.4
+     */
+    public int currentCodePoint(){
+        int ch = current();
+        if(UTF16.isLeadSurrogate((char)ch)){
+            // advance the index to get the
+            // next code point
+            next();
+            // due to post increment semantics
+            // current() after next() actually
+            // returns the char we want
+            int ch2 = current();
+            // current should never change
+            // the current index so back off
+            previous();
+            
+            if(UTF16.isTrailSurrogate((char)ch2)){
+                // we found a surrogate pair 
+                // return the codepoint
+                return UCharacterProperty.getRawSupplementary(
+                                                          (char)ch,(char)ch2
+                                                             );
+            }
+        }
+        return ch;
+    }
+    
+    /**
+     * Returns the length of the text
+     * @return length of the text
+     * @stable ICU 2.4
+     */
+    public abstract int getLength();
+
+    
+    /**
+     * Gets the current index in text.
+     * @return current index in text.
+     * @stable ICU 2.4
+     */
+    public abstract int getIndex();
+
+
+    /**
+     * Returns the UTF16 code unit at index, and increments to the next
+     * code unit (post-increment semantics).  If index is out of
+     * range, DONE is returned, and the iterator is reset to the limit
+     * of the text.
+     * @return the next UTF16 code unit, or DONE if the index is at the limit
+     *         of the text.
+     * @stable ICU 2.4  
+     */
+    public abstract int next();
+
+    /**
+     * Returns the code point at index, and increments to the next code
+     * point (post-increment semantics).  If index does not point to a
+     * valid surrogate pair, the behavior is the same as
+     * <code>next()<code>.  Otherwise the iterator is incremented past
+     * the surrogate pair, and the code point represented by the pair
+     * is returned.
+     * @return the next codepoint in text, or DONE if the index is at
+     *         the limit of the text.
+     * @stable ICU 2.4  
+     */
+    public int nextCodePoint(){
+        int ch1 = next();
+        if(UTF16.isLeadSurrogate((char)ch1)){
+            int ch2 = next();
+            if(UTF16.isTrailSurrogate((char)ch2)){
+                return UCharacterProperty.getRawSupplementary((char)ch1,
+                                                              (char)ch2);
+            }else if (ch2 != DONE) {
+                // unmatched surrogate so back out
+                previous();
+            }
+        }
+        return ch1;
+    }
+
+    /**
+     * Decrement to the position of the previous code unit in the
+     * text, and return it (pre-decrement semantics).  If the
+     * resulting index is less than 0, the index is reset to 0 and
+     * DONE is returned.
+     * @return the previous code unit in the text, or DONE if the new
+     *         index is before the start of the text.
+     * @stable ICU 2.4  
+     */
+    public abstract int previous();
+
+    
+    /**
+     * Retreat to the start of the previous code point in the text,
+     * and return it (pre-decrement semantics).  If the index is not
+     * preceeded by a valid surrogate pair, the behavior is the same
+     * as <code>previous()</code>.  Otherwise the iterator is
+     * decremented to the start of the surrogate pair, and the code
+     * point represented by the pair is returned.
+     * @return the previous code point in the text, or DONE if the new
+     *         index is before the start of the text.
+     * @stable ICU 2.4  
+     */
+    public int previousCodePoint(){
+        int ch1 = previous();
+        if(UTF16.isTrailSurrogate((char)ch1)){
+            int ch2 = previous();
+            if(UTF16.isLeadSurrogate((char)ch2)){
+                return UCharacterProperty.getRawSupplementary((char)ch2,
+                                                              (char)ch1);
+            }else if (ch2 != DONE) {
+                //unmatched trail surrogate so back out
+                next();
+            }   
+        }
+        return ch1;
+    }
+
+    /**
+     * Sets the index to the specified index in the text.
+     * @param index the index within the text. 
+     * @exception IndexOutOfBoundsException is thrown if an invalid index is 
+     *            supplied
+     * @stable ICU 2.4
+     */
+    public abstract void setIndex(int index);
+
+    /**
+     * Sets the current index to the limit.
+     * @stable ICU 2.4
+     */
+    public void setToLimit() {
+        setIndex(getLength());
+    }
+    
+    /**
+     * Sets the current index to the start.
+     * @stable ICU 2.4
+     */
+    public void setToStart() {
+        setIndex(0);
+    }
+
+    /**
+     * Fills the buffer with the underlying text storage of the iterator
+     * If the buffer capacity is not enough a exception is thrown. The capacity
+     * of the fill in buffer should at least be equal to length of text in the 
+     * iterator obtained by calling <code>getLength()</code).
+     * <b>Usage:</b>
+     * 
+     * <code>
+     * <pre>
+     *         UChacterIterator iter = new UCharacterIterator.getInstance(text);
+     *         char[] buf = new char[iter.getLength()];
+     *         iter.getText(buf);
+     *         
+     *         OR
+     *         char[] buf= new char[1];
+     *         int len = 0;
+     *         for(;;){
+     *             try{
+     *                 len = iter.getText(buf);
+     *                 break;
+     *             }catch(IndexOutOfBoundsException e){
+     *                 buf = new char[iter.getLength()];
+     *             }
+     *         }
+     * </pre>
+     * </code>
+     *             
+     * @param fillIn an array of chars to fill with the underlying UTF-16 code 
+     *         units.
+     * @param offset the position within the array to start putting the data.
+     * @return the number of code units added to fillIn, as a convenience
+     * @exception IndexOutOfBounds exception if there is not enough
+     *            room after offset in the array, or if offset < 0.
+     * @stable ICU 2.4  
+     */
+    public abstract int getText(char[] fillIn, int offset); 
+
+    /**
+     * Convenience override for <code>getText(char[], int)>/code> that provides
+     * an offset of 0.
+     * @param fillIn an array of chars to fill with the underlying UTF-16 code 
+     *         units.
+     * @return the number of code units added to fillIn, as a convenience
+     * @exception IndexOutOfBounds exception if there is not enough
+     *            room in the array.
+     * @stable ICU 2.4  
+     */
+    public final int getText(char[] fillIn) {
+        return getText(fillIn, 0);
+    }
+         
+    /**
+     * Convenience method for returning the underlying text storage as as string
+     * @return the underlying text storage in the iterator as a string
+     * @stable ICU 2.4
+     */
+    public String getText() {
+        char[] text = new char[getLength()];
+        getText(text);
+        return new String(text);
+    }
+       
+    /**
+     * Moves the current position by the number of code units
+     * specified, either forward or backward depending on the sign
+     * of delta (positive or negative respectively).  If the resulting
+     * index would be less than zero, the index is set to zero, and if
+     * the resulting index would be greater than limit, the index is
+     * set to limit.
+     *
+     * @param delta the number of code units to move the current
+     *              index.
+     * @return the new index.
+     * @exception IndexOutOfBoundsException is thrown if an invalid index is 
+     *            supplied 
+     * @stable ICU 2.4 
+     * 
+     */
+    public int moveIndex(int delta) {
+        int x = Math.max(0, Math.min(getIndex() + delta, getLength()));
+        setIndex(x);
+        return x;
+    }
+
+    /**
+     * Moves the current position by the number of code points
+     * specified, either forward or backward depending on the sign of
+     * delta (positive or negative respectively). If the current index
+     * is at a trail surrogate then the first adjustment is by code
+     * unit, and the remaining adjustments are by code points.  If the
+     * resulting index would be less than zero, the index is set to
+     * zero, and if the resulting index would be greater than limit,
+     * the index is set to limit.
+     * @param delta the number of code units to move the current index.
+     * @return the new index  
+     * @exception IndexOutOfBoundsException is thrown if an invalid delta is 
+     *            supplied
+     * @stable ICU 2.4
+     */
+    public int moveCodePointIndex(int delta){
+        if(delta>0){
+            while(delta>0 && nextCodePoint() != DONE){delta--;}
+        }else{
+            while(delta<0 && previousCodePoint() != DONE){delta++;}
+        }
+        if(delta!=0){
+            throw new IndexOutOfBoundsException();
+        }
+          
+        return getIndex();
+    }
+
+    /**
+     * Creates a copy of this iterator, independent from other iterators.
+     * If it is not possible to clone the iterator, returns null.
+     * @return copy of this iterator
+     * @stable ICU 2.4
+     */
+    public Object clone() throws CloneNotSupportedException{
+        return super.clone();
+    }   
+    
+}
+
diff --git a/src/com/ibm/icu/text/UFormat.java b/src/com/ibm/icu/text/UFormat.java
new file mode 100644
index 0000000..b38bc8a
--- /dev/null
+++ b/src/com/ibm/icu/text/UFormat.java
@@ -0,0 +1,110 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2003-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.text;
+
+import java.text.Format;
+import com.ibm.icu.util.ULocale;
+
+/**
+ * An abstract class that extends {@link java.text.Format} to provide
+ * additional ICU protocol, specifically, the <tt>getLocale()</tt>
+ * API.  All ICU format classes are subclasses of this class.
+ *
+ * @see com.ibm.icu.util.ULocale
+ * @author weiv
+ * @author Alan Liu
+ * @draft ICU 2.8 (retain)
+ * @deprecated This is a draft API and might change in a future release of ICU.
+ */
+public abstract class UFormat extends Format {
+    // jdk1.4.2 serialver
+    private static final long serialVersionUID = -4964390515840164416L;
+
+    /**
+     * @draft ICU 2.8 (retain)
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public UFormat() {}
+
+    // -------- BEGIN ULocale boilerplate --------
+
+    /**
+     * Return the locale that was used to create this object, or null.
+     * This may may differ from the locale requested at the time of
+     * this object's creation.  For example, if an object is created
+     * for locale <tt>en_US_CALIFORNIA</tt>, the actual data may be
+     * drawn from <tt>en</tt> (the <i>actual</i> locale), and
+     * <tt>en_US</tt> may be the most specific locale that exists (the
+     * <i>valid</i> locale).
+     *
+     * <p>Note: This method will be implemented in ICU 3.0; ICU 2.8
+     * contains a partial preview implementation.  The <i>actual</i>
+     * locale is returned correctly, but the <i>valid</i> locale is
+     * not, in most cases.
+     * @param type type of information requested, either {@link
+     * com.ibm.icu.util.ULocale#VALID_LOCALE} or {@link
+     * com.ibm.icu.util.ULocale#ACTUAL_LOCALE}.
+     * @return the information specified by <i>type</i>, or null if
+     * this object was not constructed from locale data.
+     * @see com.ibm.icu.util.ULocale
+     * @see com.ibm.icu.util.ULocale#VALID_LOCALE
+     * @see com.ibm.icu.util.ULocale#ACTUAL_LOCALE
+     * @draft ICU 2.8 (retain)
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public final ULocale getLocale(ULocale.Type type) {
+        return type == ULocale.ACTUAL_LOCALE ?
+            this.actualLocale : this.validLocale;
+    }
+
+    /**
+     * Set information about the locales that were used to create this
+     * object.  If the object was not constructed from locale data,
+     * both arguments should be set to null.  Otherwise, neither
+     * should be null.  The actual locale must be at the same level or
+     * less specific than the valid locale.  This method is intended
+     * for use by factories or other entities that create objects of
+     * this class.
+     * @param valid the most specific locale containing any resource
+     * data, or null
+     * @param actual the locale containing data used to construct this
+     * object, or null
+     * @see com.ibm.icu.util.ULocale
+     * @see com.ibm.icu.util.ULocale#VALID_LOCALE
+     * @see com.ibm.icu.util.ULocale#ACTUAL_LOCALE
+     * @internal
+     */
+    final void setLocale(ULocale valid, ULocale actual) {
+        // Change the following to an assertion later
+        if ((valid == null) != (actual == null)) {
+            ///CLOVER:OFF
+            throw new IllegalArgumentException();
+            ///CLOVER:ON
+        }
+        // Another check we could do is that the actual locale is at
+        // the same level or less specific than the valid locale.
+        this.validLocale = valid;
+        this.actualLocale = actual;
+    }
+
+    /**
+     * The most specific locale containing any resource data, or null.
+     * @see com.ibm.icu.util.ULocale
+     * @internal
+     */
+    private ULocale validLocale;
+
+    /**
+     * The locale containing data used to construct this object, or
+     * null.
+     * @see com.ibm.icu.util.ULocale
+     * @internal
+     */
+    private ULocale actualLocale;
+
+    // -------- END ULocale boilerplate --------
+}
diff --git a/src/com/ibm/icu/text/UForwardCharacterIterator.java b/src/com/ibm/icu/text/UForwardCharacterIterator.java
new file mode 100644
index 0000000..26ae00f
--- /dev/null
+++ b/src/com/ibm/icu/text/UForwardCharacterIterator.java
@@ -0,0 +1,91 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.text;
+
+/**
+ * Interface that defines an API for forward-only iteration
+ * on text objects.
+ * This is a minimal interface for iteration without random access
+ * or backwards iteration. It is especially useful for wrapping
+ * streams with converters into an object for collation or
+ * normalization.
+ *
+ * <p>Characters can be accessed in two ways: as code units or as
+ * code points.
+ * Unicode code points are 21-bit integers and are the scalar values
+ * of Unicode characters. ICU uses the type <code>int</code> for them.
+ * Unicode code units are the storage units of a given
+ * Unicode/UCS Transformation Format (a character encoding scheme).
+ * With UTF-16, all code points can be represented with either one
+ * or two code units ("surrogates").
+ * String storage is typically based on code units, while properties
+ * of characters are typically determined using code point values.
+ * Some processes may be designed to work with sequences of code units,
+ * or it may be known that all characters that are important to an
+ * algorithm can be represented with single code units.
+ * Other processes will need to use the code point access functions.</p>
+ *
+ * <p>ForwardCharacterIterator provides next() to access
+ * a code unit and advance an internal position into the text object,
+ * similar to a <code>return text[position++]</code>.<br>
+ * It provides nextCodePoint() to access a code point and advance an internal
+ * position.</p>
+ *
+ * <p>nextCodePoint() assumes that the current position is that of
+ * the beginning of a code point, i.e., of its first code unit.
+ * After nextCodePoint(), this will be true again.
+ * In general, access to code units and code points in the same
+ * iteration loop should not be mixed. In UTF-16, if the current position
+ * is on a second code unit (Low Surrogate), then only that code unit
+ * is returned even by nextCodePoint().</p>
+ *
+ * Usage:
+ * <code> 
+ *  public void function1(UForwardCharacterIterator it) {
+ *     int c;
+ *     while((c=it.next())!=UForwardCharacterIterator.DONE) {
+ *         // use c
+ *      }
+ *  }
+ * </code>
+ * </p>
+ * @stable ICU 2.4
+ *
+ */
+
+public interface UForwardCharacterIterator {
+      
+    /**
+     * Indicator that we have reached the ends of the UTF16 text.
+     * @stable ICU 2.4
+     */
+    public static final int DONE = -1;
+    /**
+     * Returns the UTF16 code unit at index, and increments to the next
+     * code unit (post-increment semantics).  If index is out of
+     * range, DONE is returned, and the iterator is reset to the limit
+     * of the text.
+     * @return the next UTF16 code unit, or DONE if the index is at the limit
+     *         of the text.
+     * @stable ICU 2.4  
+     */
+    public int next();
+
+    /**
+     * Returns the code point at index, and increments to the next code
+     * point (post-increment semantics).  If index does not point to a
+     * valid surrogate pair, the behavior is the same as
+     * <code>next()<code>.  Otherwise the iterator is incremented past
+     * the surrogate pair, and the code point represented by the pair
+     * is returned.
+     * @return the next codepoint in text, or DONE if the index is at
+     *         the limit of the text.
+     * @stable ICU 2.4  
+     */
+    public int nextCodePoint();
+
+}
diff --git a/src/com/ibm/icu/text/UTF16.java b/src/com/ibm/icu/text/UTF16.java
new file mode 100755
index 0000000..42aa3d0
--- /dev/null
+++ b/src/com/ibm/icu/text/UTF16.java
@@ -0,0 +1,2785 @@
+/**
+*******************************************************************************
+* Copyright (C) 1996-2004, International Business Machines Corporation and    *
+* others. All Rights Reserved.                                                *
+*******************************************************************************
+*/
+
+package com.ibm.icu.text;
+
+import com.ibm.icu.impl.UCharacterProperty;
+import com.ibm.icu.impl.NormalizerImpl;
+
+/**
+ * <p>Standalone utility class providing UTF16 character conversions and
+ * indexing conversions.</p>
+ * <p>Code that uses strings alone rarely need modification.
+ * By design, UTF-16 does not allow overlap, so searching for strings is a safe
+ * operation. Similarly, concatenation is always safe. Substringing is safe if
+ * the start and end are both on UTF-32 boundaries. In normal code, the values
+ * for start and end are on those boundaries, since they arose from operations
+ * like searching. If not, the nearest UTF-32 boundaries can be determined
+ * using <code>bounds()</code>.</p>
+ * <strong>Examples:</strong>
+ * <p>The following examples illustrate use of some of these methods.
+ * <pre>
+ * // iteration forwards: Original
+ * for (int i = 0; i &lt; s.length(); ++i) {
+ *     char ch = s.charAt(i);
+ *     doSomethingWith(ch);
+ * }
+ *
+ * // iteration forwards: Changes for UTF-32
+ * int ch;
+ * for (int i = 0; i &lt; s.length(); i+=UTF16.getCharCount(ch)) {
+ *     ch = UTF16.charAt(s,i);
+ *     doSomethingWith(ch);
+ * }
+ *
+ * // iteration backwards: Original
+ * for (int i = s.length() -1; i >= 0; --i) {
+ *     char ch = s.charAt(i);
+ *     doSomethingWith(ch);
+ * }
+ *
+ * // iteration backwards: Changes for UTF-32
+ * int ch;
+ * for (int i = s.length() -1; i > 0; i-=UTF16.getCharCount(ch)) {
+ *     ch = UTF16.charAt(s,i);
+ *     doSomethingWith(ch);
+ * }
+ * </pre>
+ * <strong>Notes:</strong>
+ * <ul>
+ *   <li>
+ *   <strong>Naming:</strong> For clarity, High and Low surrogates are called
+ *   <code>Lead</code> and <code>Trail</code> in the API, which gives a better
+ *   sense of their ordering in a string. <code>offset16</code> and
+ *   <code>offset32</code> are used to distinguish offsets to UTF-16
+ *   boundaries vs offsets to UTF-32 boundaries. <code>int char32</code> is
+ *   used to contain UTF-32 characters, as opposed to <code>char16</code>,
+ *   which is a UTF-16 code unit.
+ *   </li>
+ *   <li>
+ *   <strong>Roundtripping Offsets:</strong> You can always roundtrip from a
+ *   UTF-32 offset to a UTF-16 offset and back. Because of the difference in
+ *   structure, you can roundtrip from a UTF-16 offset to a UTF-32 offset and
+ *   back if and only if <code>bounds(string, offset16) != TRAIL</code>.
+ *   </li>
+ *   <li>
+ *    <strong>Exceptions:</strong> The error checking will throw an exception
+ *   if indices are out of bounds. Other than than that, all methods will
+ *   behave reasonably, even if unmatched surrogates or out-of-bounds UTF-32
+ *   values are present. <code>UCharacter.isLegal()</code> can be used to check
+ *   for validity if desired.
+ *   </li>
+ *   <li>
+ *   <strong>Unmatched Surrogates:</strong> If the string contains unmatched
+ *   surrogates, then these are counted as one UTF-32 value. This matches
+ *   their iteration behavior, which is vital. It also matches common display
+ *   practice as missing glyphs (see the Unicode Standard Section 5.4, 5.5).
+ *   </li>
+ *   <li>
+ *     <strong>Optimization:</strong> The method implementations may need
+ *     optimization if the compiler doesn't fold static final methods. Since
+ *     surrogate pairs will form an exceeding small percentage of all the text
+ *     in the world, the singleton case should always be optimized for.
+ *   </li>
+ * </ul>
+ * @author Mark Davis, with help from Markus Scherer
+ * @stable ICU 2.1
+ */
+
+public final class UTF16
+{
+    // public variables ---------------------------------------------------
+
+    /**
+     * Value returned in <code><a href="#bounds(java.lang.String, int)">
+     * bounds()</a></code>.
+     * These values are chosen specifically so that it actually represents
+     * the position of the character
+     * [offset16 - (value >> 2), offset16 + (value & 3)]
+     * @stable ICU 2.1
+     */
+    public static final int SINGLE_CHAR_BOUNDARY = 1,
+        LEAD_SURROGATE_BOUNDARY = 2,
+        TRAIL_SURROGATE_BOUNDARY = 5;
+    /**
+     * The lowest Unicode code point value.
+     * @stable ICU 2.1
+     */
+    public static final int CODEPOINT_MIN_VALUE = 0;
+    /**
+     * The highest Unicode code point value (scalar value) according to the
+     * Unicode Standard.
+     * @stable ICU 2.1
+     */
+    public static final int CODEPOINT_MAX_VALUE = 0x10ffff;
+    /**
+     * The minimum value for Supplementary code points
+     * @stable ICU 2.1
+     */
+    public static final int SUPPLEMENTARY_MIN_VALUE  = 0x10000;
+    /**
+     * Lead surrogate minimum value
+     * @stable ICU 2.1
+     */
+    public static final int LEAD_SURROGATE_MIN_VALUE = 0xD800;
+    /**
+     * Trail surrogate minimum value
+     * @stable ICU 2.1
+     */
+    public static final int TRAIL_SURROGATE_MIN_VALUE = 0xDC00;
+    /**
+     * Lead surrogate maximum value
+     * @stable ICU 2.1
+     */
+    public static final int LEAD_SURROGATE_MAX_VALUE = 0xDBFF;
+    /**
+     * Trail surrogate maximum value
+     * @stable ICU 2.1
+     */
+    public static final int TRAIL_SURROGATE_MAX_VALUE = 0xDFFF;
+    /**
+     * Surrogate minimum value
+     * @stable ICU 2.1
+     */
+    public static final int SURROGATE_MIN_VALUE = LEAD_SURROGATE_MIN_VALUE;
+    /**
+     * Maximum surrogate value
+     * @stable ICU 2.1
+     */
+    public static final int SURROGATE_MAX_VALUE = TRAIL_SURROGATE_MAX_VALUE;
+
+    // constructor --------------------------------------------------------
+
+    ///CLOVER:OFF
+    /**
+     * Prevent instance from being created.
+     */
+    private UTF16()
+    {
+    }
+    ///CLOVER:ON
+    // public method ------------------------------------------------------
+
+    /**
+     * Extract a single UTF-32 value from a string.
+     * Used when iterating forwards or backwards (with
+     * <code>UTF16.getCharCount()</code>, as well as random access. If a
+     * validity check is required, use
+     * <code><a href="../lang/UCharacter.html#isLegal(char)">
+     * UCharacter.isLegal()</a></code> on the return value.
+     * If the char retrieved is part of a surrogate pair, its supplementary
+     * character will be returned. If a complete supplementary character is
+     * not found the incomplete character will be returned
+     * @param source array of UTF-16 chars
+     * @param offset16 UTF-16 offset to the start of the character.
+     * @return UTF-32 value for the UTF-32 value that contains the char at
+     *         offset16. The boundaries of that codepoint are the same as in
+     *         <code>bounds32()</code>.
+     * @exception IndexOutOfBoundsException thrown if offset16 is out of
+     *            bounds.
+     * @stable ICU 2.1
+     */
+    public static int charAt(String source, int offset16)
+    {
+        if (offset16 < 0 || offset16 >= source.length()) {
+            throw new StringIndexOutOfBoundsException(offset16);
+        }
+
+        char single = source.charAt(offset16);
+        if (single < LEAD_SURROGATE_MIN_VALUE ||
+            single > TRAIL_SURROGATE_MAX_VALUE) {
+            return single;
+        }
+
+        // Convert the UTF-16 surrogate pair if necessary.
+        // For simplicity in usage, and because the frequency of pairs is
+        // low, look both directions.
+
+        if (single <= LEAD_SURROGATE_MAX_VALUE) {
+            ++ offset16;
+            if (source.length() != offset16) {
+                char trail = source.charAt(offset16);
+                if (trail >= TRAIL_SURROGATE_MIN_VALUE &&
+                    trail <= TRAIL_SURROGATE_MAX_VALUE) {
+                    return UCharacterProperty.getRawSupplementary(single,
+                                                                  trail);
+                }
+            }
+        }
+        else
+            {
+                -- offset16;
+                if (offset16 >= 0) {
+                    // single is a trail surrogate so
+                    char lead = source.charAt(offset16);
+                    if (lead >= LEAD_SURROGATE_MIN_VALUE &&
+                        lead <= LEAD_SURROGATE_MAX_VALUE) {
+                        return UCharacterProperty.getRawSupplementary(lead,
+                                                                      single);
+                    }
+                }
+            }
+        return single; // return unmatched surrogate
+    }
+
+    /**
+     * Extract a single UTF-32 value from a string.
+     * Used when iterating forwards or backwards (with
+     * <code>UTF16.getCharCount()</code>, as well as random access. If a
+     * validity check is required, use
+     * <code><a href="../lang/UCharacter.html#isLegal(char)">UCharacter.isLegal()
+     * </a></code> on the return value.
+     * If the char retrieved is part of a surrogate pair, its supplementary
+     * character will be returned. If a complete supplementary character is
+     * not found the incomplete character will be returned
+     * @param source UTF-16 chars string buffer
+     * @param offset16 UTF-16 offset to the start of the character.
+     * @return UTF-32 value for the UTF-32 value that contains the char at
+     *         offset16. The boundaries of that codepoint are the same as in
+     *         <code>bounds32()</code>.
+     * @exception IndexOutOfBoundsException thrown if offset16 is out of
+     *            bounds.
+     * @stable ICU 2.1
+     */
+    public static int charAt(StringBuffer source, int offset16)
+    {
+        if (offset16 < 0 || offset16 >= source.length()) {
+            throw new StringIndexOutOfBoundsException(offset16);
+        }
+
+        char single = source.charAt(offset16);
+        if (!isSurrogate(single)) {
+            return single;
+        }
+
+        // Convert the UTF-16 surrogate pair if necessary.
+        // For simplicity in usage, and because the frequency of pairs is
+        // low, look both directions.
+
+        if (single <= LEAD_SURROGATE_MAX_VALUE)
+            {
+                ++ offset16;
+                if (source.length() != offset16)
+                    {
+                        char trail = source.charAt(offset16);
+                        if (isTrailSurrogate(trail))
+                            return UCharacterProperty.getRawSupplementary(single, trail);
+                    }
+            }
+        else
+            {
+                -- offset16;
+                if (offset16 >= 0)
+                    {
+                        // single is a trail surrogate so
+                        char lead = source.charAt(offset16);
+                        if (isLeadSurrogate(lead)) {
+                            return UCharacterProperty.getRawSupplementary(lead, single);
+                        }
+                    }
+            }
+        return single; // return unmatched surrogate
+    }
+
+    /**
+     * Extract a single UTF-32 value from a substring.
+     * Used when iterating forwards or backwards (with
+     * <code>UTF16.getCharCount()</code>, as well as random access. If a
+     * validity check is required, use
+     * <code><a href="../lang/UCharacter.html#isLegal(char)">UCharacter.isLegal()
+     * </a></code> on the return value.
+     * If the char retrieved is part of a surrogate pair, its supplementary
+     * character will be returned. If a complete supplementary character is
+     * not found the incomplete character will be returned
+     * @param source array of UTF-16 chars
+     * @param start offset to substring in the source array for analyzing
+     * @param limit offset to substring in the source array for analyzing
+     * @param offset16 UTF-16 offset relative to start
+     * @return UTF-32 value for the UTF-32 value that contains the char at
+     *         offset16. The boundaries of that codepoint are the same as in
+     *         <code>bounds32()</code>.
+     * @exception IndexOutOfBoundsException thrown if offset16 is not within
+     *            the range of start and limit.
+     * @stable ICU 2.1
+     */
+    public static int charAt(char source[], int start, int limit,
+                             int offset16)
+    {
+        offset16 += start;
+        if (offset16 < start || offset16 >= limit) {
+            throw new ArrayIndexOutOfBoundsException(offset16);
+        }
+
+        char single = source[offset16];
+        if (!isSurrogate(single)) {
+            return single;
+        }
+
+        // Convert the UTF-16 surrogate pair if necessary.
+        // For simplicity in usage, and because the frequency of pairs is
+        // low, look both directions.
+        if (single <= LEAD_SURROGATE_MAX_VALUE) {
+            offset16 ++;
+            if (offset16 >= limit) {
+                return single;
+            }
+            char trail = source[offset16];
+            if (isTrailSurrogate(trail)) {
+                return UCharacterProperty.getRawSupplementary(single, trail);
+            }
+        }
+        else { // isTrailSurrogate(single), so
+            if (offset16 == start) {
+                return single;
+            }
+            offset16 --;
+            char lead = source[offset16];
+            if (isLeadSurrogate(lead))
+                return UCharacterProperty.getRawSupplementary(lead, single);
+        }
+        return single; // return unmatched surrogate
+    }
+
+    /**
+     * Extract a single UTF-32 value from a string.
+     * Used when iterating forwards or backwards (with
+     * <code>UTF16.getCharCount()</code>, as well as random access. If a
+     * validity check is required, use
+     * <code><a href="../lang/UCharacter.html#isLegal(char)">UCharacter.isLegal()
+     * </a></code> on the return value.
+     * If the char retrieved is part of a surrogate pair, its supplementary
+     * character will be returned. If a complete supplementary character is
+     * not found the incomplete character will be returned
+     * @param source UTF-16 chars string buffer
+     * @param offset16 UTF-16 offset to the start of the character.
+     * @return UTF-32 value for the UTF-32 value that contains the char at
+     *         offset16. The boundaries of that codepoint are the same as in
+     *         <code>bounds32()</code>.
+     * @exception IndexOutOfBoundsException thrown if offset16 is out of
+     *            bounds.
+     * @stable ICU 2.1
+     */
+    public static int charAt(Replaceable source, int offset16)
+    {
+        if (offset16 < 0 || offset16 >= source.length()) {
+            throw new StringIndexOutOfBoundsException(offset16);
+        }
+
+        char single = source.charAt(offset16);
+        if (!isSurrogate(single)) {
+            return single;
+        }
+
+        // Convert the UTF-16 surrogate pair if necessary.
+        // For simplicity in usage, and because the frequency of pairs is
+        // low, look both directions.
+
+        if (single <= LEAD_SURROGATE_MAX_VALUE)
+            {
+                ++ offset16;
+                if (source.length() != offset16)
+                    {
+                        char trail = source.charAt(offset16);
+                        if (isTrailSurrogate(trail))
+                            return UCharacterProperty.getRawSupplementary(single, trail);
+                    }
+            }
+        else
+            {
+                -- offset16;
+                if (offset16 >= 0)
+                    {
+                        // single is a trail surrogate so
+                        char lead = source.charAt(offset16);
+                        if (isLeadSurrogate(lead)) {
+                            return UCharacterProperty.getRawSupplementary(lead, single);
+                        }
+                    }
+            }
+        return single; // return unmatched surrogate
+    }
+
+    /**
+     * Determines how many chars this char32 requires.
+     * If a validity check is required, use <code>
+     * <a href="../lang/UCharacter.html#isLegal(char)">isLegal()</a></code> on
+     * char32 before calling.
+     * @param char32 the input codepoint.
+     * @return 2 if is in supplementary space, otherwise 1.
+     * @stable ICU 2.1
+     */
+    public static int getCharCount(int char32)
+    {
+        if (char32 < SUPPLEMENTARY_MIN_VALUE) {
+            return 1;
+        }
+        return 2;
+    }
+
+    /**
+     * Returns the type of the boundaries around the char at offset16.
+     * Used for random access.
+     * @param source text to analyse
+     * @param offset16 UTF-16 offset
+     * @return <ul>
+     *           <li> SINGLE_CHAR_BOUNDARY : a single char; the bounds are
+     *                                       [offset16, offset16+1]
+     *           <li> LEAD_SURROGATE_BOUNDARY : a surrogate pair starting at
+     *                                          offset16;
+     *                                          the bounds are
+     *                                          [offset16, offset16 + 2]
+     *           <li> TRAIL_SURROGATE_BOUNDARY : a surrogate pair starting at
+     *                                           offset16 - 1; the bounds are
+     *                                           [offset16 - 1, offset16 + 1]
+     *         </ul>
+     *         For bit-twiddlers, the return values for these are chosen so
+     *         that the boundaries can be gotten by:
+     *         [offset16 - (value >> 2), offset16 + (value & 3)].
+     * @exception IndexOutOfBoundsException if offset16 is out of bounds.
+     * @stable ICU 2.1
+     */
+    public static int bounds(String source, int offset16)
+    {
+        char ch = source.charAt(offset16);
+        if (isSurrogate(ch)) {
+            if (isLeadSurrogate(ch))
+                {
+                    if (++ offset16 < source.length() &&
+                        isTrailSurrogate(source.charAt(offset16))) {
+                        return LEAD_SURROGATE_BOUNDARY;
+                    }
+                }
+            else {
+                // isTrailSurrogate(ch), so
+                -- offset16;
+                if (offset16 >= 0 && isLeadSurrogate(source.charAt(offset16))) {
+                    return TRAIL_SURROGATE_BOUNDARY;
+                }
+            }
+        }
+        return SINGLE_CHAR_BOUNDARY;
+    }
+
+    /**
+     * Returns the type of the boundaries around the char at offset16. Used
+     * for random access.
+     * @param source string buffer to analyse
+     * @param offset16 UTF16 offset
+     * @return
+     *     <ul>
+     *     <li> SINGLE_CHAR_BOUNDARY : a single char; the bounds are
+     *                                               [offset16, offset16 + 1]
+     *     <li> LEAD_SURROGATE_BOUNDARY : a surrogate pair starting at
+     *                                    offset16; the bounds are
+     *                                    [offset16, offset16 + 2]
+     *     <li> TRAIL_SURROGATE_BOUNDARY : a surrogate pair starting at
+     *                                     offset16 - 1; the bounds are
+     *                                     [offset16 - 1, offset16 + 1]
+     *     </ul>
+     * For bit-twiddlers, the return values for these are chosen so that the
+     * boundaries can be gotten by:
+     *                    [offset16 - (value >> 2), offset16 + (value & 3)].
+     * @exception IndexOutOfBoundsException if offset16 is out of bounds.
+     * @stable ICU 2.1
+     */
+    public static int bounds(StringBuffer source, int offset16)
+    {
+        char ch = source.charAt(offset16);
+        if (isSurrogate(ch)) {
+            if (isLeadSurrogate(ch))
+                {
+                    if (++ offset16 < source.length() &&
+                        isTrailSurrogate(source.charAt(offset16))) {
+                        return LEAD_SURROGATE_BOUNDARY;
+                    }
+                }
+            else {
+                // isTrailSurrogate(ch), so
+                -- offset16;
+                if (offset16 >= 0 &&
+                    isLeadSurrogate(source.charAt(offset16))) {
+                    return TRAIL_SURROGATE_BOUNDARY;
+                }
+            }
+        }
+        return SINGLE_CHAR_BOUNDARY;
+    }
+
+    /**
+     * Returns the type of the boundaries around the char at offset16. Used
+     * for random access. Note that the boundaries are determined with respect
+     * to the subarray, hence the char array {0xD800, 0xDC00} has the result
+     * SINGLE_CHAR_BOUNDARY for start = offset16 = 0 and limit = 1.
+     * @param source char array to analyse
+     * @param start offset to substring in the source array for analyzing
+     * @param limit offset to substring in the source array for analyzing
+     * @param offset16 UTF16 offset relative to start
+     * @return
+     *     <ul>
+     *         <li> SINGLE_CHAR_BOUNDARY : a single char; the bounds are
+     *         <li> LEAD_SURROGATE_BOUNDARY : a surrogate pair starting at
+     *                       offset16; the bounds are [offset16, offset16 + 2]
+     *         <li> TRAIL_SURROGATE_BOUNDARY : a surrogate pair starting at
+     *               offset16 - 1; the bounds are [offset16 - 1, offset16 + 1]
+     *     </ul>
+     * For bit-twiddlers, the boundary values for these are chosen so that the
+     * boundaries can be gotten by: [offset16 - (boundvalue >> 2), offset16
+     *                                                    + (boundvalue & 3)].
+     * @exception IndexOutOfBoundsException if offset16 is not within the
+     *                                      range of start and limit.
+     * @stable ICU 2.1
+     */
+    public static int bounds(char source[], int start, int limit,
+                             int offset16)
+    {
+        offset16 += start;
+        if (offset16 < start || offset16 >= limit) {
+            throw new ArrayIndexOutOfBoundsException(offset16);
+        }
+        char ch = source[offset16];
+        if (isSurrogate(ch)) {
+            if (isLeadSurrogate(ch)) {
+                ++ offset16;
+                if (offset16 < limit && isTrailSurrogate(source[offset16])) {
+                    return LEAD_SURROGATE_BOUNDARY;
+                }
+            }
+            else { // isTrailSurrogate(ch), so
+                -- offset16;
+                if (offset16 >= start && isLeadSurrogate(source[offset16])) {
+                    return TRAIL_SURROGATE_BOUNDARY;
+                }
+            }
+        }
+        return SINGLE_CHAR_BOUNDARY;
+    }
+
+    /**
+     * Determines whether the code value is a surrogate.
+     * @param char16 the input character.
+     * @return true iff the input character is a surrogate.
+     * @stable ICU 2.1
+     */
+    public static boolean isSurrogate(char char16)
+    {
+        return LEAD_SURROGATE_MIN_VALUE <= char16 &&
+            char16 <= TRAIL_SURROGATE_MAX_VALUE;
+    }
+
+    /**
+     * Determines whether the character is a trail surrogate.
+     * @param char16 the input character.
+     * @return true iff the input character is a trail surrogate.
+     * @stable ICU 2.1
+     */
+    public static boolean isTrailSurrogate(char char16)
+    {
+        return (TRAIL_SURROGATE_MIN_VALUE <= char16 &&
+                char16 <= TRAIL_SURROGATE_MAX_VALUE);
+    }
+
+    /**
+     * Determines whether the character is a lead surrogate.
+     * @param char16 the input character.
+     * @return true iff the input character is a lead surrogate
+     * @stable ICU 2.1
+     */
+    public static boolean isLeadSurrogate(char char16)
+    {
+        return LEAD_SURROGATE_MIN_VALUE <= char16 &&
+            char16 <= LEAD_SURROGATE_MAX_VALUE;
+    }
+
+    /**
+     * Returns the lead surrogate.
+     * If a validity check is required, use
+     * <code><a href="../lang/UCharacter.html#isLegal(char)">isLegal()</a></code>
+     * on char32 before calling.
+     * @param char32 the input character.
+     * @return lead surrogate if the getCharCount(ch) is 2; <br>
+     *         and 0 otherwise (note: 0 is not a valid lead surrogate).
+     * @stable ICU 2.1
+     */
+    public static char getLeadSurrogate(int char32)
+    {
+        if (char32 >= SUPPLEMENTARY_MIN_VALUE) {
+            return (char)(LEAD_SURROGATE_OFFSET_ +
+                          (char32 >> LEAD_SURROGATE_SHIFT_));
+        }
+
+        return 0;
+    }
+
+    /**
+     * Returns the trail surrogate.
+     * If a validity check is required, use
+     * <code><a href="../lang/UCharacter.html#isLegal(char)">isLegal()</a></code>
+     * on char32 before calling.
+     * @param char32 the input character.
+     * @return the trail surrogate if the getCharCount(ch) is 2; <br>otherwise
+     *         the character itself
+     * @stable ICU 2.1
+     */
+    public static char getTrailSurrogate(int char32)
+    {
+        if (char32 >= SUPPLEMENTARY_MIN_VALUE) {
+            return (char)(TRAIL_SURROGATE_MIN_VALUE +
+                          (char32 & TRAIL_SURROGATE_MASK_));
+        }
+
+        return (char)char32;
+    }
+
+    /**
+     * Convenience method corresponding to String.valueOf(char). Returns a one
+     * or two char string containing the UTF-32 value in UTF16 format. If a
+     * validity check is required, use
+     * <a href="../lang/UCharacter.html#isLegal(char)">isLegal()</a></code> on
+     * char32 before calling.
+     * @param char32 the input character.
+     * @return string value of char32 in UTF16 format
+     * @exception IllegalArgumentException thrown if char32 is a invalid
+     *            codepoint.
+     * @stable ICU 2.1
+     */
+    public static String valueOf(int char32)
+    {
+        if (char32 < CODEPOINT_MIN_VALUE || char32 > CODEPOINT_MAX_VALUE) {
+            throw new IllegalArgumentException("Illegal codepoint");
+        }
+        return toString(char32);
+    }
+
+    /**
+     * Convenience method corresponding to String.valueOf(codepoint at
+     * offset16).
+     * Returns a one or two char string containing the UTF-32 value in UTF16
+     * format. If offset16 indexes a surrogate character, the whole
+     * supplementary codepoint will be returned.
+     * If a validity check is required, use
+     * <a href="../lang/UCharacter.html#isLegal(char)">isLegal()</a></code> on the
+     * codepoint at offset16 before calling.
+     * The result returned will be a newly created String obtained by calling
+     * source.substring(..) with the appropriate indexes.
+     * @param source the input string.
+     * @param offset16 the UTF16 index to the codepoint in source
+     * @return string value of char32 in UTF16 format
+     * @stable ICU 2.1
+     */
+    public static String valueOf(String source, int offset16)
+    {
+        switch (bounds(source, offset16)) {
+        case LEAD_SURROGATE_BOUNDARY:
+            return source.substring(offset16, offset16 + 2);
+        case TRAIL_SURROGATE_BOUNDARY:
+            return source.substring(offset16 - 1, offset16 + 1);
+        default: return source.substring(offset16, offset16 + 1);
+        }
+    }
+
+    /**
+     * Convenience method corresponding to
+     * StringBuffer.valueOf(codepoint at offset16).
+     * Returns a one or two char string containing the UTF-32 value in UTF16
+     * format. If offset16 indexes a surrogate character, the whole
+     * supplementary codepoint will be returned.
+     * If a validity check is required, use
+     * <a href="../lang/UCharacter.html#isLegal(char)">isLegal()</a></code> on the
+     * codepoint at offset16 before calling.
+     * The result returned will be a newly created String obtained by calling
+     * source.substring(..) with the appropriate indexes.
+     * @param source the input string buffer.
+     * @param offset16 the UTF16 index to the codepoint in source
+     * @return string value of char32 in UTF16 format
+     * @stable ICU 2.1
+     */
+    public static String valueOf(StringBuffer source, int offset16)
+    {
+        switch (bounds(source, offset16)) {
+        case LEAD_SURROGATE_BOUNDARY:
+            return source.substring(offset16, offset16 + 2);
+        case TRAIL_SURROGATE_BOUNDARY:
+            return source.substring(offset16 - 1, offset16 + 1);
+        default: return source.substring(offset16, offset16 + 1);
+        }
+    }
+
+    /**
+     * Convenience method.
+     * Returns a one or two char string containing the UTF-32 value in UTF16
+     * format. If offset16 indexes a surrogate character, the whole
+     * supplementary codepoint will be returned, except when either the
+     * leading or trailing surrogate character lies out of the specified
+     * subarray. In the latter case, only the surrogate character within
+     * bounds will be returned.
+     * If a validity check is required, use
+     * <a href="../lang/UCharacter.html#isLegal(char)">isLegal()</a></code> on the
+     * codepoint at offset16 before calling.
+     * The result returned will be a newly created String containing the
+     * relevant characters.
+     * @param source the input char array.
+     * @param start start index of the subarray
+     * @param limit end index of the subarray
+     * @param offset16 the UTF16 index to the codepoint in source relative to
+     *        start
+     * @return string value of char32 in UTF16 format
+     * @stable ICU 2.1
+     */
+    public static String valueOf(char source[], int start, int limit,
+                                 int offset16)
+    {
+        switch (bounds(source, start, limit, offset16)) {
+        case LEAD_SURROGATE_BOUNDARY:
+            return new String(source, start + offset16, 2);
+        case TRAIL_SURROGATE_BOUNDARY:
+            return new String(source, start + offset16 - 1, 2);
+        }
+        return new String(source, start + offset16, 1);
+    }
+
+    /**
+     * Returns the UTF-16 offset that corresponds to a UTF-32 offset.
+     * Used for random access. See the <a name="_top_">class description</a>
+     * for notes on roundtripping.
+     * @param source the UTF-16 string
+     * @param offset32 UTF-32 offset
+     * @return UTF-16 offset
+     * @exception IndexOutOfBoundsException if offset32 is out of bounds.
+     * @stable ICU 2.1
+     */
+    public static int findOffsetFromCodePoint(String source, int offset32)
+    {
+        char ch;
+        int size = source.length(),
+            result = 0,
+            count = offset32;
+        if (offset32 < 0 || offset32 > size) {
+            throw new StringIndexOutOfBoundsException(offset32);
+        }
+        while (result < size && count > 0)
+            {
+                ch = source.charAt(result);
+                if (isLeadSurrogate(ch) && ((result + 1) < size) &&
+                    isTrailSurrogate(source.charAt(result + 1))) {
+                    result ++;
+                }
+
+                count --;
+                result ++;
+            }
+        if (count != 0) {
+            throw new StringIndexOutOfBoundsException(offset32);
+        }
+        return result;
+    }
+
+    /**
+     * Returns the UTF-16 offset that corresponds to a UTF-32 offset.
+     * Used for random access. See the <a name="_top_">class description</a>
+     * for notes on roundtripping.
+     * @param source the UTF-16 string buffer
+     * @param offset32 UTF-32 offset
+     * @return UTF-16 offset
+     * @exception IndexOutOfBoundsException if offset32 is out of bounds.
+     * @stable ICU 2.1
+     */
+    public static int findOffsetFromCodePoint(StringBuffer source,
+                                              int offset32)
+    {
+        char ch;
+        int size = source.length(),
+            result = 0,
+            count = offset32;
+        if (offset32 < 0 || offset32 > size) {
+            throw new StringIndexOutOfBoundsException(offset32);
+        }
+        while (result < size && count > 0)
+            {
+                ch = source.charAt(result);
+                if (isLeadSurrogate(ch) && ((result + 1) < size) &&
+                    isTrailSurrogate(source.charAt(result + 1))) {
+                    result ++;
+                }
+
+                count --;
+                result ++;
+            }
+        if (count != 0) {
+            throw new StringIndexOutOfBoundsException(offset32);
+        }
+        return result;
+    }
+
+    /**
+     * Returns the UTF-16 offset that corresponds to a UTF-32 offset.
+     * Used for random access. See the <a name="_top_">class description</a>
+     * for notes on roundtripping.
+     * @param source the UTF-16 char array whose substring is to be analysed
+     * @param start offset of the substring to be analysed
+     * @param limit offset of the substring to be analysed
+     * @param offset32 UTF-32 offset relative to start
+     * @return UTF-16 offset relative to start
+     * @exception IndexOutOfBoundsException if offset32 is out of bounds.
+     * @stable ICU 2.1
+     */
+    public static int findOffsetFromCodePoint(char source[], int start,
+                                              int limit, int offset32)
+    {
+        char ch;
+        int result = start,
+            count = offset32;
+        if (offset32 > limit - start) {
+            throw new ArrayIndexOutOfBoundsException(offset32);
+        }
+        while (result < limit && count > 0)
+            {
+                ch = source[result];
+                if (isLeadSurrogate(ch) && ((result + 1) < limit) &&
+                    isTrailSurrogate(source[result + 1])) {
+                    result ++;
+                }
+
+                count --;
+                result ++;
+            }
+        if (count != 0) {
+            throw new ArrayIndexOutOfBoundsException(offset32);
+        }
+        return result - start;
+    }
+
+    /**
+     * Returns the UTF-32 offset corresponding to the first UTF-32 boundary at
+     * or after the given UTF-16 offset. Used for random access. See the
+     * <a name="_top_">class description</a> for notes on roundtripping.<br>
+     * <i>Note: If the UTF-16 offset is into the middle of a surrogate pair,
+     * then the UTF-32 offset of the <strong>lead</strong> of the pair is
+     * returned.
+     * </i>
+     * <p>
+     * To find the UTF-32 length of a string, use:
+     *   <pre>
+     *     len32 = countCodePoint(source, source.length());
+     *   </pre>
+     * </p>
+     * <p>
+     * @param source text to analyse
+     * @param offset16 UTF-16 offset < source text length.
+     * @return UTF-32 offset
+     * @exception IndexOutOfBoundsException if offset16 is out of bounds.
+     * @stable ICU 2.1
+     */
+    public static int findCodePointOffset(String source, int offset16)
+    {
+        if (offset16 < 0 || offset16 > source.length()) {
+            throw new StringIndexOutOfBoundsException(offset16);
+        }
+
+        int result = 0;
+        char ch;
+        boolean hadLeadSurrogate = false;
+
+        for (int i = 0; i < offset16; ++ i)
+            {
+                ch = source.charAt(i);
+                if (hadLeadSurrogate && isTrailSurrogate(ch)) {
+                    hadLeadSurrogate = false;           // count valid trail as zero
+                }
+                else
+                    {
+                        hadLeadSurrogate = isLeadSurrogate(ch);
+                        ++ result;                          // count others as 1
+                    }
+            }
+
+        if (offset16 == source.length()) {
+            return result;
+        }
+
+        // end of source being the less significant surrogate character
+        // shift result back to the start of the supplementary character
+        if (hadLeadSurrogate && (isTrailSurrogate(source.charAt(offset16)))) {
+            result --;
+        }
+
+        return result;
+    }
+
+    /**
+     * Returns the UTF-32 offset corresponding to the first UTF-32 boundary at
+     * the given UTF-16 offset. Used for random access. See the
+     * <a name="_top_">class description</a> for notes on roundtripping.<br>
+     * <i>Note: If the UTF-16 offset is into the middle of a surrogate pair,
+     * then the UTF-32 offset of the <strong>lead</strong> of the pair is
+     * returned.
+     * </i>
+     * <p>
+     * To find the UTF-32 length of a string, use:
+     *   <pre>
+     *     len32 = countCodePoint(source);
+     *   </pre>
+     * </p>
+     * <p>
+     * @param source text to analyse
+     * @param offset16 UTF-16 offset < source text length.
+     * @return UTF-32 offset
+     * @exception IndexOutOfBoundsException if offset16 is out of bounds.
+     * @stable ICU 2.1
+     */
+    public static int findCodePointOffset(StringBuffer source, int offset16)
+    {
+        if (offset16 < 0 || offset16 > source.length()) {
+            throw new StringIndexOutOfBoundsException(offset16);
+        }
+
+        int result = 0;
+        char ch;
+        boolean hadLeadSurrogate = false;
+
+        for (int i = 0; i < offset16; ++ i)
+            {
+                ch = source.charAt(i);
+                if (hadLeadSurrogate && isTrailSurrogate(ch)) {
+                    hadLeadSurrogate = false;           // count valid trail as zero
+                }
+                else
+                    {
+                        hadLeadSurrogate = isLeadSurrogate(ch);
+                        ++ result;                          // count others as 1
+                    }
+            }
+
+        if (offset16 == source.length()) {
+            return result;
+        }
+
+        // end of source being the less significant surrogate character
+        // shift result back to the start of the supplementary character
+        if (hadLeadSurrogate && (isTrailSurrogate(source.charAt(offset16))))
+            {
+                result --;
+            }
+
+        return result;
+    }
+
+    /**
+     * Returns the UTF-32 offset corresponding to the first UTF-32 boundary at
+     * the given UTF-16 offset. Used for random access. See the
+     * <a name="_top_">class description</a> for notes on roundtripping.<br>
+     * <i>Note: If the UTF-16 offset is into the middle of a surrogate pair,
+     * then the UTF-32 offset of the <strong>lead</strong> of the pair is
+     * returned.
+     * </i>
+     * <p>
+     * To find the UTF-32 length of a substring, use:
+     *   <pre>
+     *     len32 = countCodePoint(source, start, limit);
+     *   </pre>
+     * </p>
+     * <p>
+     * @param source text to analyse
+     * @param start offset of the substring
+     * @param limit offset of the substring
+     * @param offset16 UTF-16 relative to start
+     * @return UTF-32 offset relative to start
+     * @exception IndexOutOfBoundsException if offset16 is not within the
+     *            range of start and limit.
+     * @stable ICU 2.1
+     */
+    public static int findCodePointOffset(char source[], int start, int limit,
+                                          int offset16)
+    {
+        offset16 += start;
+        if (offset16 > limit) {
+            throw new StringIndexOutOfBoundsException(offset16);
+        }
+
+        int result = 0;
+        char ch;
+        boolean hadLeadSurrogate = false;
+
+        for (int i = start; i < offset16; ++ i)
+            {
+                ch = source[i];
+                if (hadLeadSurrogate && isTrailSurrogate(ch)) {
+                    hadLeadSurrogate = false; // count valid trail as zero
+                }
+                else
+                    {
+                        hadLeadSurrogate = isLeadSurrogate(ch);
+                        ++ result;                          // count others as 1
+                    }
+            }
+
+        if (offset16 == limit) {
+            return result;
+        }
+
+        // end of source being the less significant surrogate character
+        // shift result back to the start of the supplementary character
+        if (hadLeadSurrogate && (isTrailSurrogate(source[offset16]))) {
+            result --;
+        }
+
+        return result;
+    }
+
+    /**
+     * Append a single UTF-32 value to the end of a StringBuffer.
+     * If a validity check is required, use
+     * <a href="../lang/UCharacter.html#isLegal(char)">isLegal()</a></code> on
+     * char32 before calling.
+     * @param target the buffer to append to
+     * @param char32 value to append.
+     * @return the updated StringBuffer
+     * @exception IllegalArgumentException thrown when char32 does not lie
+     *            within the range of the Unicode codepoints
+     * @stable ICU 2.1
+     */
+    public static StringBuffer append(StringBuffer target, int char32)
+    {
+        // Check for irregular values
+        if (char32 < CODEPOINT_MIN_VALUE || char32 > CODEPOINT_MAX_VALUE) {
+            throw new IllegalArgumentException("Illegal codepoint: " + Integer.toHexString(char32));
+        }
+
+        // Write the UTF-16 values
+        if (char32 >= SUPPLEMENTARY_MIN_VALUE)
+            {
+                target.append(getLeadSurrogate(char32));
+                target.append(getTrailSurrogate(char32));
+            }
+        else {
+            target.append((char)char32);
+        }
+        return target;
+    }
+
+    /**
+     * Cover JDK 1.5 APIs.  Append the code point to the buffer and return the buffer
+     * as a convenience.
+     *
+     * @param target the buffer to append to
+     * @param cp the code point to append
+     * @return the updated StringBuffer
+     * @throws IllegalArgumentException if cp is not a valid code point
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static StringBuffer appendCodePoint(StringBuffer target, int cp) {
+        return append(target, cp);
+    }
+
+    /**
+     * Adds a codepoint to offset16 position of the argument char array.
+     * @param target char array to be append with the new code point
+     * @param limit UTF16 offset which the codepoint will be appended.
+     * @param char32 code point to be appended
+     * @return offset after char32 in the array.
+     * @exception IllegalArgumentException thrown if there is not enough
+     *            space for the append, or when char32 does not lie within
+     *            the range of the Unicode codepoints.
+     * @stable ICU 2.1
+     */
+    public static int append(char[] target, int limit, int char32)
+    {
+        // Check for irregular values
+        if (char32 < CODEPOINT_MIN_VALUE || char32 > CODEPOINT_MAX_VALUE) {
+            throw new IllegalArgumentException("Illegal codepoint");
+        }
+        // Write the UTF-16 values
+        if (char32 >= SUPPLEMENTARY_MIN_VALUE)
+            {
+                target[limit ++] = getLeadSurrogate(char32);
+                target[limit ++] = getTrailSurrogate(char32);
+            }
+        else {
+            target[limit ++] = (char)char32;
+        }
+        return limit;
+    }
+
+    /**
+     * Number of codepoints in a UTF16 String
+     * @param source UTF16 string
+     * @return number of codepoint in string
+     * @stable ICU 2.1
+     */
+    public static int countCodePoint(String source)
+    {
+        if (source == null || source.length() == 0) {
+            return 0;
+        }
+        return findCodePointOffset(source, source.length());
+    }
+
+    /**
+     * Number of codepoints in a UTF16 String buffer
+     * @param source UTF16 string buffer
+     * @return number of codepoint in string
+     * @stable ICU 2.1
+     */
+    public static int countCodePoint(StringBuffer source)
+    {
+        if (source == null || source.length() == 0) {
+            return 0;
+        }
+        return findCodePointOffset(source, source.length());
+    }
+
+    /**
+     * Number of codepoints in a UTF16 char array substring
+     * @param source UTF16 char array
+     * @param start offset of the substring
+     * @param limit offset of the substring
+     * @return number of codepoint in the substring
+     * @exception IndexOutOfBoundsException if start and limit are not valid.
+     * @stable ICU 2.1
+     */
+    public static int countCodePoint(char source[], int start, int limit)
+    {
+        if (source == null || source.length == 0) {
+            return 0;
+        }
+        return findCodePointOffset(source, start, limit, limit - start);
+    }
+
+    /**
+     * Set a code point into a UTF16 position.
+     * Adjusts target according if we are replacing a non-supplementary
+     * codepoint with a supplementary and vice versa.
+     * @param target stringbuffer
+     * @param offset16 UTF16 position to insert into
+     * @param char32 code point
+     * @stable ICU 2.1
+     */
+    public static void setCharAt(StringBuffer target, int offset16,
+                                 int char32)
+    {
+        int count = 1;
+        char single = target.charAt(offset16);
+
+        if (isSurrogate(single))
+            {
+                // pairs of the surrogate with offset16 at the lead char found
+                if (isLeadSurrogate(single) && (target.length() > offset16 + 1)
+                    && isTrailSurrogate(target.charAt(offset16 + 1))) {
+                    count ++;
+                }
+                else {
+                    // pairs of the surrogate with offset16 at the trail char
+                    // found
+                    if (isTrailSurrogate(single) && (offset16 > 0) &&
+                        isLeadSurrogate(target.charAt(offset16 -1)))
+                        {
+                            offset16 --;
+                            count ++;
+                        }
+                }
+            }
+        target.replace(offset16, offset16 + count, valueOf(char32));
+    }
+
+    /**
+     * Set a code point into a UTF16 position in a char array.
+     * Adjusts target according if we are replacing a non-supplementary
+     * codepoint with a supplementary and vice versa.
+     * @param target char array
+     * @param limit numbers of valid chars in target, different from
+     *        target.length. limit counts the number of chars in target
+     *        that represents a string, not the size of array target.
+     * @param offset16 UTF16 position to insert into
+     * @param char32 code point
+     * @return new number of chars in target that represents a string
+     * @exception IndexOutOfBoundsException if offset16 is out of range
+     * @stable ICU 2.1
+     */
+    public static int setCharAt(char target[], int limit,
+                                int offset16, int char32)
+    {
+        if (offset16 >= limit) {
+            throw new ArrayIndexOutOfBoundsException(offset16);
+        }
+        int count = 1;
+        char single = target[offset16];
+
+        if (isSurrogate(single))
+            {
+                // pairs of the surrogate with offset16 at the lead char found
+                if (isLeadSurrogate(single) && (target.length > offset16 + 1) &&
+                    isTrailSurrogate(target[offset16 + 1])) {
+                    count ++;
+                }
+                else {
+                    // pairs of the surrogate with offset16 at the trail char
+                    // found
+                    if (isTrailSurrogate(single) && (offset16 > 0) &&
+                        isLeadSurrogate(target[offset16 -1]))
+                        {
+                            offset16 --;
+                            count ++;
+                        }
+                }
+            }
+
+        String str = valueOf(char32);
+        int result = limit;
+        int strlength = str.length();
+        target[offset16] = str.charAt(0);
+        if (count == strlength) {
+            if (count == 2) {
+                target[offset16 + 1] = str.charAt(1);
+            }
+        }
+        else {
+            // this is not exact match in space, we'll have to do some
+            // shifting
+            System.arraycopy(target, offset16 + count, target,
+                             offset16 + strlength, limit - (offset16 + count));
+            if (count < strlength) {
+                // char32 is a supplementary character trying to squeeze into
+                // a non-supplementary space
+                target[offset16 + 1] = str.charAt(1);
+                result ++;
+                if (result < target.length) {
+                    target[result] = 0;
+                }
+            }
+            else {
+                // char32 is a non-supplementary character trying to fill
+                // into a supplementary space
+                result --;
+                target[result] = 0;
+            }
+        }
+        return result;
+    }
+
+    /**
+     * Shifts offset16 by the argument number of codepoints
+     * @param source string
+     * @param offset16 UTF16 position to shift
+     * @param shift32 number of codepoints to shift
+     * @return new shifted offset16
+     * @exception IndexOutOfBoundsException if the new offset16 is out of
+     *                                      bounds.
+     * @stable ICU 2.1
+     */
+    public static int moveCodePointOffset(String source, int offset16,
+                                          int shift32)
+    {
+        int result = offset16;
+        int size = source.length();
+        int count;
+        char ch;
+        if (offset16<0 || offset16>size) {
+            throw new StringIndexOutOfBoundsException(offset16);
+        }
+        if (shift32 > 0 ) {
+            if (shift32 + offset16 > size) {
+                throw new StringIndexOutOfBoundsException(offset16);
+            }
+            count = shift32;
+            while (result < size && count > 0)
+            {
+                ch = source.charAt(result);
+                if (isLeadSurrogate(ch) && ((result + 1) < size) &&
+                        isTrailSurrogate(source.charAt(result + 1))) {
+                    result ++;
+                }
+                count --;
+                result ++;
+            }
+        } else {
+            if (offset16 + shift32 < 0) {
+                throw new StringIndexOutOfBoundsException(offset16);
+            }
+            for (count=-shift32; count>0; count--) {
+                result--;
+                if (result<0) {
+                    break;
+                }
+                ch = source.charAt(result);
+                if (isTrailSurrogate(ch) && result>0 && isLeadSurrogate(source.charAt(result-1))) {
+                    result--;
+                }
+            }
+        }
+        if (count != 0)  {
+            throw new StringIndexOutOfBoundsException(shift32);
+        }
+        return result;
+    }
+
+    /**
+     * Shifts offset16 by the argument number of codepoints
+     * @param source string buffer
+     * @param offset16 UTF16 position to shift
+     * @param shift32 number of codepoints to shift
+     * @return new shifted offset16
+     * @exception IndexOutOfBoundsException if the new offset16 is out of
+     *                                      bounds.
+     * @stable ICU 2.1
+     */
+    public static int moveCodePointOffset(StringBuffer source, int offset16,
+                                          int shift32)
+    {
+        int result = offset16;
+        int size = source.length();
+        int count;
+        char ch;
+        if (offset16<0 || offset16>size) {
+            throw new StringIndexOutOfBoundsException(offset16);
+        }
+        if (shift32 > 0 ) {
+            if (shift32 + offset16 > size) {
+                throw new StringIndexOutOfBoundsException(offset16);
+            }
+            count = shift32;
+            while (result < size && count > 0)
+            {
+                ch = source.charAt(result);
+                if (isLeadSurrogate(ch) && ((result + 1) < size) &&
+                        isTrailSurrogate(source.charAt(result + 1))) {
+                    result ++;
+                }
+                count --;
+                result ++;
+            }
+        } else {
+            if (offset16 + shift32 < 0) {
+                throw new StringIndexOutOfBoundsException(offset16);
+            }
+            for (count=-shift32; count>0; count--) {
+                result--;
+                if (result<0) {
+                    break;
+                }
+                ch = source.charAt(result);
+                if (isTrailSurrogate(ch) && result>0 && isLeadSurrogate(source.charAt(result-1))) {
+                    result--;
+                }
+            }
+        }
+        if (count != 0)  {
+            throw new StringIndexOutOfBoundsException(shift32);
+        }
+        return result;
+    }
+
+    /**
+     * Shifts offset16 by the argument number of codepoints within a subarray.
+     * @param source char array
+     * @param start position of the subarray to be performed on
+     * @param limit position of the subarray to be performed on
+     * @param offset16 UTF16 position to shift relative to start
+     * @param shift32 number of codepoints to shift
+     * @return new shifted offset16 relative to start
+     * @exception IndexOutOfBoundsException if the new offset16 is out of
+     *            bounds with respect to the subarray or the subarray bounds
+     *            are out of range.
+     * @stable ICU 2.1
+     */
+    public static int moveCodePointOffset(char source[], int start, int limit,
+                                          int offset16, int shift32)
+    {
+        int         size = source.length;
+        int         count;
+        char        ch;
+        int         result = offset16 + start;
+        if (start<0 || limit<start) {
+            throw new StringIndexOutOfBoundsException(start);
+        }
+        if (limit>size) {
+            throw new StringIndexOutOfBoundsException(limit);
+        }
+        if (offset16<0 || result>limit) {
+            throw new StringIndexOutOfBoundsException(offset16);
+        }
+        if (shift32 > 0 ) {
+            if (shift32 + result > size) {
+                throw new StringIndexOutOfBoundsException(result);
+            }
+            count = shift32;
+            while (result < limit && count > 0)
+            {
+                ch = source[result];
+                if (isLeadSurrogate(ch) && (result+1 < limit) &&
+                        isTrailSurrogate(source[result+1])) {
+                    result ++;
+                }
+                count --;
+                result ++;
+            }
+        } else {
+            if (result + shift32 < start) {
+                throw new StringIndexOutOfBoundsException(result);
+            }
+            for (count=-shift32; count>0; count--) {
+                result--;
+                if (result<start) {
+                    break;
+                }
+                ch = source[result];
+                if (isTrailSurrogate(ch) && result>start && isLeadSurrogate(source[result-1])) {
+                    result--;
+                }
+            }
+        }
+        if (count != 0)  {
+            throw new StringIndexOutOfBoundsException(shift32);
+        }
+        result -= start;
+        return result;
+    }
+
+    /**
+     * Inserts char32 codepoint into target at the argument offset16.
+     * If the offset16 is in the middle of a supplementary codepoint, char32
+     * will be inserted after the supplementary codepoint.
+     * The length of target increases by one if codepoint is non-supplementary,
+     * 2 otherwise.
+     * <p>
+     * The overall effect is exactly as if the argument were converted to a
+     * string by the method valueOf(char) and the characters in that string
+     * were then inserted into target at the position indicated by offset16.
+     * </p>
+     * <p>
+     * The offset argument must be greater than or equal to 0, and less than
+     * or equal to the length of source.
+     * @param target string buffer to insert to
+     * @param offset16 offset which char32 will be inserted in
+     * @param char32 codepoint to be inserted
+     * @return a reference to target
+     * @exception IndexOutOfBoundsException thrown if offset16 is invalid.
+     * @stable ICU 2.1
+     */
+    public static StringBuffer insert(StringBuffer target, int offset16,
+                                      int char32)
+    {
+        String str = valueOf(char32);
+        if (offset16 != target.length() &&
+            bounds(target, offset16) == TRAIL_SURROGATE_BOUNDARY) {
+            offset16 ++;
+        }
+        target.insert(offset16, str);
+        return target;
+    }
+
+    /**
+     * Inserts char32 codepoint into target at the argument offset16.
+     * If the offset16 is in the middle of a supplementary codepoint, char32
+     * will be inserted after the supplementary codepoint.
+     * Limit increases by one if codepoint is non-supplementary, 2 otherwise.
+     * <p>
+     * The overall effect is exactly as if the argument were converted to a
+     * string by the method valueOf(char) and the characters in that string
+     * were then inserted into target at the position indicated by offset16.
+     * </p>
+     * <p>
+     * The offset argument must be greater than or equal to 0, and less than
+     * or equal to the limit.
+     * @param target char array to insert to
+     * @param limit end index of the char array, limit <= target.length
+     * @param offset16 offset which char32 will be inserted in
+     * @param char32 codepoint to be inserted
+     * @return new limit size
+     * @exception IndexOutOfBoundsException thrown if offset16 is invalid.
+     * @stable ICU 2.1
+     */
+    public static int insert(char target[], int limit, int offset16,
+                             int char32)
+    {
+        String str = valueOf(char32);
+        if (offset16 != limit &&
+            bounds(target, 0, limit, offset16) == TRAIL_SURROGATE_BOUNDARY) {
+            offset16 ++;
+        }
+        int size = str.length();
+        if (limit + size > target.length) {
+            throw new ArrayIndexOutOfBoundsException(offset16 + size);
+        }
+        System.arraycopy(target, offset16, target, offset16 + size,
+                         limit - offset16);
+        target[offset16] = str.charAt(0);
+        if (size == 2) {
+            target[offset16 + 1] = str.charAt(1);
+        }
+        return limit + size;
+    }
+
+    /**
+     * Removes the codepoint at the specified position in this target
+     * (shortening target by 1 character if the codepoint is a
+     * non-supplementary, 2 otherwise).
+     * @param target string buffer to remove codepoint from
+     * @param offset16 offset which the codepoint will be removed
+     * @return a reference to target
+     * @exception IndexOutOfBoundsException thrown if offset16 is invalid.
+     * @stable ICU 2.1
+     */
+    public static StringBuffer delete(StringBuffer target, int offset16)
+    {
+        int count = 1;
+        switch (bounds(target, offset16)) {
+        case LEAD_SURROGATE_BOUNDARY:
+            count ++;
+            break;
+        case TRAIL_SURROGATE_BOUNDARY:
+            count ++;
+            offset16 --;
+            break;
+        }
+        target.delete(offset16, offset16 + count);
+        return target;
+    }
+
+    /**
+     * Removes the codepoint at the specified position in this target
+     * (shortening target by 1 character if the codepoint is a
+     * non-supplementary, 2 otherwise).
+     * @param target string buffer to remove codepoint from
+     * @param limit end index of the char array, limit <= target.length
+     * @param offset16 offset which the codepoint will be removed
+     * @return a new limit size
+     * @exception IndexOutOfBoundsException thrown if offset16 is invalid.
+     * @stable ICU 2.1
+     */
+    public static int delete(char target[], int limit, int offset16)
+    {
+        int count = 1;
+        switch (bounds(target, 0, limit, offset16)) {
+        case LEAD_SURROGATE_BOUNDARY:
+            count ++;
+            break;
+        case TRAIL_SURROGATE_BOUNDARY:
+            count ++;
+            offset16 --;
+            break;
+        }
+        System.arraycopy(target, offset16 + count, target, offset16,
+                         limit - (offset16 + count));
+        target[limit - count] = 0;
+        return limit - count;
+    }
+
+    /**
+     * Returns the index within the argument UTF16 format Unicode string of
+     * the first occurrence of the argument codepoint. I.e., the smallest
+     * index <code>i</code> such that <code>UTF16.charAt(source, i) ==
+     * char32</code> is true.
+     * <p>If no such character occurs in this string, then -1 is returned.</p>
+     * <p>
+     * Examples:<br>
+     * UTF16.indexOf("abc", 'a') returns 0<br>
+     * UTF16.indexOf("abc\ud800\udc00", 0x10000) returns 3<br>
+     * UTF16.indexOf("abc\ud800\udc00", 0xd800) returns -1<br>
+     * </p>
+     * Note this method is provided as support to jdk 1.3, which does not
+     * support supplementary characters to its fullest.
+     * @param source UTF16 format Unicode string that will be searched
+     * @param char32 codepoint to search for
+     * @return the index of the first occurrence of the codepoint in the
+     *         argument Unicode string, or -1 if the codepoint does not occur.
+     * @stable ICU 2.6
+     */
+    public static int indexOf(String source, int char32)
+    {
+        if (char32 < CODEPOINT_MIN_VALUE ||
+            char32 > CODEPOINT_MAX_VALUE) {
+            throw new IllegalArgumentException(
+                                               "Argument char32 is not a valid codepoint");
+        }
+        // non-surrogate bmp
+        if (char32 < LEAD_SURROGATE_MIN_VALUE ||
+            (char32 > TRAIL_SURROGATE_MAX_VALUE &&
+             char32 < SUPPLEMENTARY_MIN_VALUE)) {
+            return source.indexOf((char)char32);
+        }
+        // surrogate
+        if (char32 < SUPPLEMENTARY_MIN_VALUE) {
+            int result = source.indexOf((char)char32);
+            if (result >= 0) {
+                if (isLeadSurrogate((char)char32) &&
+                    (result < source.length() - 1) &&
+                    isTrailSurrogate(source.charAt(result + 1))) {
+                    return indexOf(source, char32, result + 1);
+                }
+                // trail surrogate
+                if (result > 0 &&
+                    isLeadSurrogate(source.charAt(result - 1))) {
+                    return indexOf(source, char32, result + 1);
+                }
+            }
+            return result;
+        }
+        // supplementary
+        String char32str = toString(char32);
+        return source.indexOf(char32str);
+    }
+
+    /**
+     * Returns the index within the argument UTF16 format Unicode string of
+     * the first occurrence of the argument string str. This method is
+     * implemented based on codepoints, hence a "lead surrogate character +
+     * trail surrogate character" is treated as one entity.e
+     * Hence if the str starts with trail surrogate character at index 0, a
+     * source with a leading a surrogate character before str found at in
+     * source will not have a valid match. Vice versa for lead surrogates
+     * that ends str.
+     * See example below.
+     * <p>If no such string str occurs in this source, then -1 is returned.
+     * </p> <p>
+     * Examples:<br>
+     * UTF16.indexOf("abc", "ab") returns 0<br>
+     * UTF16.indexOf("abc\ud800\udc00", "\ud800\udc00") returns 3<br>
+     * UTF16.indexOf("abc\ud800\udc00", "\ud800") returns -1<br>
+     * </p>
+     * Note this method is provided as support to jdk 1.3, which does not
+     * support supplementary characters to its fullest.
+     * @param source UTF16 format Unicode string that will be searched
+     * @param str UTF16 format Unicode string to search for
+     * @return the index of the first occurrence of the codepoint in the
+     *         argument Unicode string, or -1 if the codepoint does not occur.
+     * @stable ICU 2.6
+     */
+    public static int indexOf(String source, String str)
+    {
+        int strLength = str.length();
+        // non-surrogate ends
+        if (!isTrailSurrogate(str.charAt(0)) &&
+            !isLeadSurrogate(str.charAt(strLength - 1))) {
+            return source.indexOf(str);
+        }
+
+        int result    = source.indexOf(str);
+        int resultEnd = result + strLength;
+        if (result >= 0) {
+            // check last character
+            if (isLeadSurrogate(str.charAt(strLength - 1)) &&
+                (result < source.length() - 1) &&
+                isTrailSurrogate(source.charAt(resultEnd + 1))) {
+                return indexOf(source, str, resultEnd + 1);
+            }
+            // check first character which is a trail surrogate
+            if (isTrailSurrogate(str.charAt(0)) && result > 0 &&
+                isLeadSurrogate(source.charAt(result - 1))) {
+                return indexOf(source, str, resultEnd + 1);
+            }
+        }
+        return result;
+    }
+
+    /**
+     * Returns the index within the argument UTF16 format Unicode string of
+     * the first occurrence of the argument codepoint. I.e., the smallest
+     * index i such that: <br>
+     * (UTF16.charAt(source, i) == char32 && i >= fromIndex) is true.
+     * <p>If no such character occurs in this string, then -1 is returned.</p>
+     * <p>
+     * Examples:<br>
+     * UTF16.indexOf("abc", 'a', 1) returns -1<br>
+     * UTF16.indexOf("abc\ud800\udc00", 0x10000, 1) returns 3<br>
+     * UTF16.indexOf("abc\ud800\udc00", 0xd800, 1) returns -1<br>
+     * </p>
+     * Note this method is provided as support to jdk 1.3, which does not
+     * support supplementary characters to its fullest.
+     * @param source UTF16 format Unicode string that will be searched
+     * @param char32 codepoint to search for
+     * @param fromIndex the index to start the search from.
+     * @return the index of the first occurrence of the codepoint in the
+     *         argument Unicode string at or after fromIndex, or -1 if the
+     *         codepoint does not occur.
+     * @stable ICU 2.6
+     */
+    public static int indexOf(String source, int char32, int fromIndex)
+    {
+        if (char32 < CODEPOINT_MIN_VALUE || char32 > CODEPOINT_MAX_VALUE) {
+            throw new IllegalArgumentException(
+                                               "Argument char32 is not a valid codepoint");
+        }
+        // non-surrogate bmp
+        if (char32 < LEAD_SURROGATE_MIN_VALUE ||
+            (char32 > TRAIL_SURROGATE_MAX_VALUE &&
+             char32 < SUPPLEMENTARY_MIN_VALUE)) {
+            return source.indexOf((char)char32, fromIndex);
+        }
+        // surrogate
+        if (char32 < SUPPLEMENTARY_MIN_VALUE) {
+            int result = source.indexOf((char)char32, fromIndex);
+            if (result >= 0) {
+                if (isLeadSurrogate((char)char32) &&
+                    (result < source.length() - 1) &&
+                    isTrailSurrogate(source.charAt(result + 1))) {
+                    return indexOf(source, char32, result + 1);
+                }
+                // trail surrogate
+                if (result > 0 &&
+                    isLeadSurrogate(source.charAt(result - 1))) {
+                    return indexOf(source, char32, result + 1);
+                }
+            }
+            return result;
+        }
+        // supplementary
+        String char32str = toString(char32);
+        return source.indexOf(char32str, fromIndex);
+    }
+
+    /**
+     * Returns the index within the argument UTF16 format Unicode string of
+     * the first occurrence of the argument string str. This method is
+     * implemented based on codepoints, hence a "lead surrogate character +
+     * trail surrogate character" is treated as one entity.e
+     * Hence if the str starts with trail surrogate character at index 0, a
+     * source with a leading a surrogate character before str found at in
+     * source will not have a valid match. Vice versa for lead surrogates
+     * that ends str.
+     * See example below.
+     * <p>If no such string str occurs in this source, then -1 is returned.
+     * </p> <p>
+     * Examples:<br>
+     * UTF16.indexOf("abc", "ab", 0) returns 0<br>
+     * UTF16.indexOf("abc\ud800\udc00", "\ud800\udc00", 0) returns 3<br>
+     * UTF16.indexOf("abc\ud800\udc00", "\ud800\udc00", 2) returns 3<br>
+     * UTF16.indexOf("abc\ud800\udc00", "\ud800", 0) returns -1<br>
+     * </p>
+     * Note this method is provided as support to jdk 1.3, which does not
+     * support supplementary characters to its fullest.
+     * @param source UTF16 format Unicode string that will be searched
+     * @param str UTF16 format Unicode string to search for
+     * @param fromIndex the index to start the search from.
+     * @return the index of the first occurrence of the codepoint in the
+     *         argument Unicode string, or -1 if the codepoint does not occur.
+     * @stable ICU 2.6
+     */
+    public static int indexOf(String source, String str, int fromIndex)
+    {
+        int strLength = str.length();
+        // non-surrogate ends
+        if (!isTrailSurrogate(str.charAt(0)) &&
+            !isLeadSurrogate(str.charAt(strLength - 1))) {
+            return source.indexOf(str, fromIndex);
+        }
+
+        int result    = source.indexOf(str, fromIndex);
+        int resultEnd = result + strLength;
+        if (result >= 0) {
+            // check last character
+            if (isLeadSurrogate(str.charAt(strLength - 1)) &&
+                (result < source.length() - 1) &&
+                isTrailSurrogate(source.charAt(resultEnd))) {
+                return indexOf(source, str, resultEnd + 1);
+            }
+            // check first character which is a trail surrogate
+            if (isTrailSurrogate(str.charAt(0)) && result > 0 &&
+                isLeadSurrogate(source.charAt(result - 1))) {
+                return indexOf(source, str, resultEnd + 1);
+            }
+        }
+        return result;
+    }
+
+    /**
+     * Returns the index within the argument UTF16 format Unicode string of
+     * the last occurrence of the argument codepoint. I.e., the index returned
+     * is the largest value i such that: UTF16.charAt(source, i) == char32
+     * is true.
+     * <p>
+     * Examples:<br>
+     * UTF16.lastIndexOf("abc", 'a') returns 0<br>
+     * UTF16.lastIndexOf("abc\ud800\udc00", 0x10000) returns 3<br>
+     * UTF16.lastIndexOf("abc\ud800\udc00", 0xd800) returns -1<br>
+     * </p>
+     * <p>source is searched backwards starting at the last character.</p>
+     * Note this method is provided as support to jdk 1.3, which does not
+     * support supplementary characters to its fullest.
+     * @param source UTF16 format Unicode string that will be searched
+     * @param char32 codepoint to search for
+     * @return the index of the last occurrence of the codepoint in source,
+     *         or -1 if the codepoint does not occur.
+     * @stable ICU 2.6
+     */
+    public static int lastIndexOf(String source, int char32)
+    {
+        if (char32 < CODEPOINT_MIN_VALUE || char32 > CODEPOINT_MAX_VALUE) {
+            throw new IllegalArgumentException(
+                                               "Argument char32 is not a valid codepoint");
+        }
+        // non-surrogate bmp
+        if (char32 < LEAD_SURROGATE_MIN_VALUE ||
+            (char32 > TRAIL_SURROGATE_MAX_VALUE &&
+             char32 < SUPPLEMENTARY_MIN_VALUE)) {
+            return source.lastIndexOf((char)char32);
+        }
+        // surrogate
+        if (char32 < SUPPLEMENTARY_MIN_VALUE) {
+            int result = source.lastIndexOf((char)char32);
+            if (result >= 0) {
+                if (isLeadSurrogate((char)char32) &&
+                    (result < source.length() - 1) &&
+                    isTrailSurrogate(source.charAt(result + 1))) {
+                    return lastIndexOf(source, char32, result - 1);
+                }
+                // trail surrogate
+                if (result > 0 &&
+                    isLeadSurrogate(source.charAt(result - 1))) {
+                    return lastIndexOf(source, char32, result - 1);
+                }
+            }
+            return result;
+        }
+        // supplementary
+        String char32str = toString(char32);
+        return source.lastIndexOf(char32str);
+    }
+
+    /**
+     * Returns the index within the argument UTF16 format Unicode string of
+     * the last occurrence of the argument string str. This method is
+     * implemented based on codepoints, hence a "lead surrogate character +
+     * trail surrogate character" is treated as one entity.e
+     * Hence if the str starts with trail surrogate character at index 0, a
+     * source with a leading a surrogate character before str found at in
+     * source will not have a valid match. Vice versa for lead surrogates
+     * that ends str.
+     * See example below.
+     * <p>
+     * Examples:<br>
+     * UTF16.lastIndexOf("abc", "a") returns 0<br>
+     * UTF16.lastIndexOf("abc\ud800\udc00", "\ud800\udc00") returns 3<br>
+     * UTF16.lastIndexOf("abc\ud800\udc00", "\ud800") returns -1<br>
+     * </p>
+     * <p>source is searched backwards starting at the last character.</p>
+     * Note this method is provided as support to jdk 1.3, which does not
+     * support supplementary characters to its fullest.
+     * @param source UTF16 format Unicode string that will be searched
+     * @param str UTF16 format Unicode string to search for
+     * @return the index of the last occurrence of the codepoint in source,
+     *         or -1 if the codepoint does not occur.
+     * @stable ICU 2.6
+     */
+    public static int lastIndexOf(String source, String str)
+    {
+        int strLength = str.length();
+        // non-surrogate ends
+        if (!isTrailSurrogate(str.charAt(0)) &&
+            !isLeadSurrogate(str.charAt(strLength - 1))) {
+            return source.lastIndexOf(str);
+        }
+
+        int result    = source.lastIndexOf(str);
+        if (result >= 0) {
+            // check last character
+            if (isLeadSurrogate(str.charAt(strLength - 1)) &&
+                (result < source.length() - 1) &&
+                isTrailSurrogate(source.charAt(result + strLength + 1))) {
+                return lastIndexOf(source, str, result - 1);
+            }
+            // check first character which is a trail surrogate
+            if (isTrailSurrogate(str.charAt(0)) && result > 0 &&
+                isLeadSurrogate(source.charAt(result - 1))) {
+                return lastIndexOf(source, str, result - 1);
+            }
+        }
+        return result;
+    }
+
+    /**
+     * <p>Returns the index within the argument UTF16 format Unicode string of
+     * the last occurrence of the argument codepoint, where the result is less
+     * than or equals to fromIndex.</p>
+     * <p>This method is implemented based on codepoints, hence a single
+     * surrogate character will not match a supplementary character.</p>
+     * <p>source is searched backwards starting at the last character starting
+     * at the specified index.</p>
+     * <p>
+     * Examples:<br>
+     * UTF16.lastIndexOf("abc", 'c', 2) returns 2<br>
+     * UTF16.lastIndexOf("abc", 'c', 1) returns -1<br>
+     * UTF16.lastIndexOf("abc\ud800\udc00", 0x10000, 5) returns 3<br>
+     * UTF16.lastIndexOf("abc\ud800\udc00", 0x10000, 3) returns 3<br>
+     * UTF16.lastIndexOf("abc\ud800\udc00", 0xd800) returns -1<br>
+     * </p>
+     * Note this method is provided as support to jdk 1.3, which does not
+     * support supplementary characters to its fullest.
+     * @param source UTF16 format Unicode string that will be searched
+     * @param char32 codepoint to search for
+     * @param fromIndex the index to start the search from. There is no
+     *                  restriction on the value of fromIndex. If it is
+     *                  greater than or equal to the length of this string,
+     *                  it has the same effect as if it were equal to one
+     *                  less than the length of this string: this entire
+     *                  string may be searched. If it is negative, it has
+     *                  the same effect as if it were -1: -1 is returned.
+     * @return the index of the last occurrence of the codepoint in source,
+     *         or -1 if the codepoint does not occur.
+     * @stable ICU 2.6
+     */
+    public static int lastIndexOf(String source, int char32, int fromIndex)
+    {
+        if (char32 < CODEPOINT_MIN_VALUE || char32 > CODEPOINT_MAX_VALUE) {
+            throw new IllegalArgumentException(
+                                               "Argument char32 is not a valid codepoint");
+        }
+        // non-surrogate bmp
+        if (char32 < LEAD_SURROGATE_MIN_VALUE ||
+            (char32 > TRAIL_SURROGATE_MAX_VALUE &&
+             char32 < SUPPLEMENTARY_MIN_VALUE)) {
+            return source.lastIndexOf((char)char32, fromIndex);
+        }
+        // surrogate
+        if (char32 < SUPPLEMENTARY_MIN_VALUE) {
+            int result = source.lastIndexOf((char)char32, fromIndex);
+            if (result >= 0) {
+                if (isLeadSurrogate((char)char32) &&
+                    (result < source.length() - 1) &&
+                    isTrailSurrogate(source.charAt(result + 1))) {
+                    return lastIndexOf(source, char32, result - 1);
+                }
+                // trail surrogate
+                if (result > 0 &&
+                    isLeadSurrogate(source.charAt(result - 1))) {
+                    return lastIndexOf(source, char32, result - 1);
+                }
+            }
+            return result;
+        }
+        // supplementary
+        String char32str = toString(char32);
+        return source.lastIndexOf(char32str, fromIndex);
+    }
+
+    /**
+     * <p>Returns the index within the argument UTF16 format Unicode string of
+     * the last occurrence of the argument string str, where the result is less
+     * than or equals to fromIndex.</p>
+     * <p>This method is implemented based on codepoints, hence a
+     * "lead surrogate character + trail surrogate character" is treated as one
+     * entity.
+     * Hence if the str starts with trail surrogate character at index 0, a
+     * source with a leading a surrogate character before str found at in
+     * source will not have a valid match. Vice versa for lead surrogates
+     * that ends str.
+     * </p>
+     * See example below.
+     * <p>
+     * Examples:<br>
+     * UTF16.lastIndexOf("abc", "c", 2) returns 2<br>
+     * UTF16.lastIndexOf("abc", "c", 1) returns -1<br>
+     * UTF16.lastIndexOf("abc\ud800\udc00", "\ud800\udc00", 5) returns 3<br>
+     * UTF16.lastIndexOf("abc\ud800\udc00", "\ud800\udc00", 3) returns 3<br>
+     * UTF16.lastIndexOf("abc\ud800\udc00", "\ud800", 4) returns -1<br>
+     * </p>
+     * <p>source is searched backwards starting at the last character.</p>
+     * Note this method is provided as support to jdk 1.3, which does not
+     * support supplementary characters to its fullest.
+     * @param source UTF16 format Unicode string that will be searched
+     * @param str UTF16 format Unicode string to search for
+     * @param fromIndex the index to start the search from. There is no
+     *                  restriction on the value of fromIndex. If it is
+     *                  greater than or equal to the length of this string,
+     *                  it has the same effect as if it were equal to one
+     *                  less than the length of this string: this entire
+     *                  string may be searched. If it is negative, it has
+     *                  the same effect as if it were -1: -1 is returned.
+     * @return the index of the last occurrence of the codepoint in source,
+     *         or -1 if the codepoint does not occur.
+     * @stable ICU 2.6
+     */
+    public static int lastIndexOf(String source, String str, int fromIndex)
+    {
+        int strLength = str.length();
+        // non-surrogate ends
+        if (!isTrailSurrogate(str.charAt(0)) &&
+            !isLeadSurrogate(str.charAt(strLength - 1))) {
+            return source.lastIndexOf(str, fromIndex);
+        }
+
+        int result    = source.lastIndexOf(str, fromIndex);
+        if (result >= 0) {
+            // check last character
+            if (isLeadSurrogate(str.charAt(strLength - 1)) &&
+                (result < source.length() - 1) &&
+                isTrailSurrogate(source.charAt(result + strLength))) {
+                return lastIndexOf(source, str, result - 1);
+            }
+            // check first character which is a trail surrogate
+            if (isTrailSurrogate(str.charAt(0)) && result > 0 &&
+                isLeadSurrogate(source.charAt(result - 1))) {
+                return lastIndexOf(source, str, result - 1);
+            }
+        }
+        return result;
+    }
+
+    /**
+     * Returns a new UTF16 format Unicode string resulting from replacing all
+     * occurrences of oldChar32 in source with newChar32.
+     * If the character oldChar32 does not occur in the UTF16 format Unicode
+     * string source, then source will be returned. Otherwise, a new String
+     * object is created that represents a codepoint sequence identical to the
+     * codepoint sequence represented by source, except that every occurrence
+     * of oldChar32 is replaced by an occurrence of newChar32.
+     * <p>
+     * Examples: <br>
+     * UTF16.replace("mesquite in your cellar", 'e', 'o');<br>
+     *        returns "mosquito in your collar"<br>
+     * UTF16.replace("JonL", 'q', 'x');<br>
+     *        returns "JonL" (no change)<br>
+     * UTF16.replace("Supplementary character \ud800\udc00", 0x10000, '!');
+     * <br>   returns "Supplementary character !"<br>
+     * UTF16.replace("Supplementary character \ud800\udc00", 0xd800, '!');
+     * <br>   returns "Supplementary character \ud800\udc00"<br>
+     * </p>
+     * Note this method is provided as support to jdk 1.3, which does not
+     * support supplementary characters to its fullest.
+     * @param source UTF16 format Unicode string which the codepoint
+     *               replacements will be based on.
+     * @param oldChar32 non-zero old codepoint to be replaced.
+     * @param newChar32 the new codepoint to replace oldChar32
+     * @return new String derived from source by replacing every occurrence
+     *         of oldChar32 with newChar32, unless when no oldChar32 is found
+     *         in source then source will be returned.
+     * @stable ICU 2.6
+     */
+    public static String replace(String source, int oldChar32,
+                                 int newChar32)
+    {
+        if (oldChar32 <= 0 || oldChar32 > CODEPOINT_MAX_VALUE) {
+            throw new IllegalArgumentException(
+                                               "Argument oldChar32 is not a valid codepoint");
+        }
+        if (newChar32 <= 0 || newChar32 > CODEPOINT_MAX_VALUE) {
+            throw new IllegalArgumentException(
+                                               "Argument newChar32 is not a valid codepoint");
+        }
+
+        int index     = indexOf(source, oldChar32);
+        if (index == -1) {
+            return source;
+        }
+        String       newChar32Str    = toString(newChar32);
+        int          oldChar32Size   = 1;
+        int          newChar32Size   = newChar32Str.length();
+        StringBuffer result = new StringBuffer(source);
+        int          resultIndex     = index;
+
+        if (oldChar32 >= SUPPLEMENTARY_MIN_VALUE) {
+            oldChar32Size = 2;
+        }
+
+        while (index != -1) {
+            int endResultIndex  = resultIndex + oldChar32Size;
+            result.replace(resultIndex, endResultIndex, newChar32Str);
+            int lastEndIndex    = index + oldChar32Size;
+            index       = indexOf(source, oldChar32, lastEndIndex);
+            resultIndex += newChar32Size + index - lastEndIndex;
+        }
+        return result.toString();
+    }
+
+    /**
+     * Returns a new UTF16 format Unicode string resulting from replacing all
+     * occurrences of oldStr in source with newStr.
+     * If the string oldStr does not occur in the UTF16 format Unicode
+     * string source, then source will be returned. Otherwise, a new String
+     * object is created that represents a codepoint sequence identical to the
+     * codepoint sequence represented by source, except that every occurrence
+     * of oldStr is replaced by an occurrence of newStr.
+     * <p>
+     * Examples: <br>
+     * UTF16.replace("mesquite in your cellar", "e", "o");<br>
+     *        returns "mosquito in your collar"<br>
+     * UTF16.replace("mesquite in your cellar", "mesquite", "cat");<br>
+     *        returns "cat in your cellar"<br>
+     * UTF16.replace("JonL", "q", "x");<br>
+     *        returns "JonL" (no change)<br>
+     * UTF16.replace("Supplementary character \ud800\udc00", "\ud800\udc00",
+     *               '!');
+     * <br>   returns "Supplementary character !"<br>
+     * UTF16.replace("Supplementary character \ud800\udc00", "\ud800", '!');
+     * <br>   returns "Supplementary character \ud800\udc00"<br>
+     * </p>
+     * Note this method is provided as support to jdk 1.3, which does not
+     * support supplementary characters to its fullest.
+     * @param source UTF16 format Unicode string which the
+     *               replacements will be based on.
+     * @param oldStr non-zero-length string to be replaced.
+     * @param newStr the new string to replace oldStr
+     * @return new String derived from source by replacing every occurrence
+     *         of oldStr with newStr.  When no oldStr is found
+     *         in source, then source will be returned.
+     * @stable ICU 2.6
+     */
+    public static String replace(String source, String oldStr,
+                                 String newStr)
+    {
+        int index     = indexOf(source, oldStr);
+        if (index == -1) {
+            return source;
+        }
+        int          oldStrSize   = oldStr.length();
+        int          newStrSize   = newStr.length();
+        StringBuffer result       = new StringBuffer(source);
+        int          resultIndex     = index;
+
+        while (index != -1) {
+            int endResultIndex  = resultIndex + oldStrSize;
+            result.replace(resultIndex, endResultIndex, newStr);
+            int lastEndIndex    = index + oldStrSize;
+            index       = indexOf(source, oldStr, lastEndIndex);
+            resultIndex += newStrSize + index - lastEndIndex;
+        }
+        return result.toString();
+    }
+
+    /**
+     * Reverses a UTF16 format Unicode string and replaces source's content
+     * with it.
+     * This method will reverse surrogate characters correctly, instead of
+     * blindly reversing every character.
+     * <p>
+     * Examples:<br>
+     * UTF16.reverse(new StringBuffer(
+     *             "Supplementary characters \ud800\udc00\ud801\udc01"))<br>
+     * returns "\ud801\udc01\ud800\udc00 sretcarahc yratnemelppuS".
+     * @param source the source StringBuffer that contains UTF16 format
+     *        Unicode string to be reversed
+     * @return a modified source with reversed UTF16 format Unicode string.
+     * @stable ICU 2.6
+     */
+    public static StringBuffer reverse(StringBuffer source)
+    {
+    int length = source.length();
+    StringBuffer result = new StringBuffer(length);
+    for (int i = length; i-- > 0;) {
+        char ch = source.charAt(i);
+        if (isTrailSurrogate(ch) && i > 0) {
+        char ch2 = source.charAt(i-1);
+        if (isLeadSurrogate(ch2)) {
+            result.append(ch2);
+            result.append(ch);
+            --i;
+            continue;
+        }
+        }
+        result.append(ch);
+    }
+    return result;
+    }
+
+    /**
+     * Check if the string contains more Unicode code points than a certain
+     * number. This is more efficient than counting all code points in the
+     * entire string and comparing that number with a threshold.
+     * This function may not need to scan the string at all if the length is
+     * within a certain range, and never needs to count more than 'number + 1'
+     * code points. Logically equivalent to (countCodePoint(s) > number). A
+     * Unicode code point may occupy either one or two code units.
+     * @param source The input string.
+     * @param number The number of code points in the string is compared
+     *               against the 'number' parameter.
+     * @return boolean value for whether the string contains more Unicode code
+     *         points than 'number'.
+     * @stable ICU 2.4
+     */
+    public static boolean hasMoreCodePointsThan(String source, int number)
+    {
+        if (number < 0) {
+            return true;
+        }
+        if (source == null) {
+            return false;
+        }
+        int length = source.length();
+
+        // length >= 0 known
+        // source contains at least (length + 1) / 2 code points: <= 2
+        // chars per cp
+        if (((length + 1) >> 1) > number) {
+            return true;
+        }
+
+        // check if source does not even contain enough chars
+        int maxsupplementary = length - number;
+        if (maxsupplementary <= 0) {
+            return false;
+        }
+
+        // there are maxsupplementary = length - number more chars than
+        // asked-for code points
+
+        // count code points until they exceed and also check that there are
+        // no more than maxsupplementary supplementary code points (char pairs)
+        int start = 0;
+        while (true) {
+            if (length == 0) {
+                return false;
+            }
+            if (number == 0) {
+                return true;
+            }
+            if (isLeadSurrogate(source.charAt(start ++)) && start != length
+                && isTrailSurrogate(source.charAt(start))) {
+                start ++;
+                if (-- maxsupplementary <= 0) {
+                    // too many pairs - too few code points
+                    return false;
+                }
+            }
+            -- number;
+        }
+    }
+
+    /**
+     * Check if the sub-range of char array, from argument start to limit,
+     * contains more Unicode code points than a certain
+     * number. This is more efficient than counting all code points in the
+     * entire char array range and comparing that number with a threshold.
+     * This function may not need to scan the char array at all if start and
+     * limit is within a certain range, and never needs to count more than
+     * 'number + 1' code points.
+     * Logically equivalent to (countCodePoint(source, start, limit) > number).
+     * A Unicode code point may occupy either one or two code units.
+     * @param source array of UTF-16 chars
+     * @param start offset to substring in the source array for analyzing
+     * @param limit offset to substring in the source array for analyzing
+     * @param number The number of code points in the string is compared
+     *               against the 'number' parameter.
+     * @return boolean value for whether the string contains more Unicode code
+     *         points than 'number'.
+     * @exception IndexOutOfBoundsException thrown when limit &lt; start
+     * @stable ICU 2.4
+     */
+    public static boolean hasMoreCodePointsThan(char source[], int start,
+                                                int limit, int number)
+    {
+        int length = limit - start;
+        if (length < 0 || start < 0 || limit < 0) {
+            throw new IndexOutOfBoundsException(
+                                                "Start and limit indexes should be non-negative and start <= limit");
+        }
+        if (number < 0) {
+            return true;
+        }
+        if (source == null) {
+            return false;
+        }
+
+        // length >= 0 known
+        // source contains at least (length + 1) / 2 code points: <= 2
+        // chars per cp
+        if (((length + 1) >> 1) > number) {
+            return true;
+        }
+
+        // check if source does not even contain enough chars
+        int maxsupplementary = length - number;
+        if (maxsupplementary <= 0) {
+            return false;
+        }
+
+        // there are maxsupplementary = length - number more chars than
+        // asked-for code points
+
+        // count code points until they exceed and also check that there are
+        // no more than maxsupplementary supplementary code points (char pairs)
+        while (true) {
+            if (length == 0) {
+                return false;
+            }
+            if (number == 0) {
+                return true;
+            }
+            if (isLeadSurrogate(source[start ++]) && start != limit
+                && isTrailSurrogate(source[start])) {
+                start ++;
+                if (-- maxsupplementary <= 0) {
+                    // too many pairs - too few code points
+                    return false;
+                }
+            }
+            -- number;
+        }
+    }
+
+    /**
+     * Check if the string buffer contains more Unicode code points than a
+     * certain number. This is more efficient than counting all code points in
+     * the entire string buffer and comparing that number with a threshold.
+     * This function may not need to scan the string buffer at all if the
+     * length is within a certain range, and never needs to count more than
+     * 'number + 1' code points. Logically equivalent to
+     * (countCodePoint(s) > number). A Unicode code point may occupy either one
+     * or two code units.
+     * @param source The input string buffer.
+     * @param number The number of code points in the string buffer is compared
+     *               against the 'number' parameter.
+     * @return boolean value for whether the string buffer contains more
+     *         Unicode code points than 'number'.
+     * @stable ICU 2.4
+     */
+    public static boolean hasMoreCodePointsThan(StringBuffer source, int number)
+    {
+        if (number < 0) {
+            return true;
+        }
+        if (source == null) {
+            return false;
+        }
+        int length = source.length();
+
+        // length >= 0 known
+        // source contains at least (length + 1) / 2 code points: <= 2
+        // chars per cp
+        if (((length + 1) >> 1) > number) {
+            return true;
+        }
+
+        // check if source does not even contain enough chars
+        int maxsupplementary = length - number;
+        if (maxsupplementary <= 0) {
+            return false;
+        }
+
+        // there are maxsupplementary = length - number more chars than
+        // asked-for code points
+
+        // count code points until they exceed and also check that there are
+        // no more than maxsupplementary supplementary code points (char pairs)
+        int start = 0;
+        while (true) {
+            if (length == 0) {
+                return false;
+            }
+            if (number == 0) {
+                return true;
+            }
+            if (isLeadSurrogate(source.charAt(start ++)) && start != length
+                && isTrailSurrogate(source.charAt(start))) {
+                start ++;
+                if (-- maxsupplementary <= 0) {
+                    // too many pairs - too few code points
+                    return false;
+                }
+            }
+            -- number;
+        }
+    }
+
+    /**
+     * Cover JDK 1.5 API.  Create a String from an array of codePoints.
+     * @param codePoints the code array
+     * @param offset     the start of the text in the code point array
+     * @param count      the number of code points
+     * @return a String representing the code points between offset and count
+     * @throws IllegalArgumentException if an invalid code point is encountered
+     * @throws IndexOutOfBoundsException  if the offset or count are out of bounds.
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static String newString(int[] codePoints, int offset, int count) {
+        if (count < 0) {
+            throw new IllegalArgumentException();
+        }
+        char[] chars = new char[count];
+        int w = 0;
+        for (int r = offset, e = offset + count; r < e; ++r) {
+            int cp = codePoints[r];
+            if (cp < 0 || cp > 0x10ffff) {
+                throw new IllegalArgumentException();
+            }
+            while (true) {
+                try {
+                    if (cp < 0x010000) {
+                        chars[w] = (char)cp;
+                        w++;
+                    } else {
+                        chars[w] = (char)(LEAD_SURROGATE_OFFSET_ +
+                                          (cp >> LEAD_SURROGATE_SHIFT_));
+                        chars[w+1] = (char)(TRAIL_SURROGATE_MIN_VALUE +
+                                            (cp & TRAIL_SURROGATE_MASK_));
+                        w += 2;
+                    }
+                    break;
+                }
+                catch (IndexOutOfBoundsException ex) {
+                    int newlen = (int)(Math.ceil((double)codePoints.length * (w+2) / (r-offset+1)));
+                    char[] temp = new char[newlen];
+                    System.arraycopy(chars, 0, temp, 0, w);
+                    chars = temp;
+                }
+            }
+        }
+        return new String(chars, 0, w);
+    }
+
+    /**
+     * <p>UTF16 string comparator class.
+     * Allows UTF16 string comparison to be done with the various modes</p>
+     * <ul>
+     * <li> Code point comparison or code unit comparison
+     * <li> Case sensitive comparison, case insensitive comparison or case
+     *      insensitive comparison with special handling for character 'i'.
+     * </ul>
+     * <p>The code unit or code point comparison differ only when comparing
+     * supplementary code points (&#92;u10000..&#92;u10ffff) to BMP code points
+     * near the end of the BMP (i.e., &#92;ue000..&#92;uffff). In code unit
+     * comparison, high BMP code points sort after supplementary code points
+     * because they are stored as pairs of surrogates which are at
+     * &#92;ud800..&#92;udfff.</p>
+     * @see #FOLD_CASE_DEFAULT
+     * @see #FOLD_CASE_EXCLUDE_SPECIAL_I
+     * @stable ICU 2.1
+     */
+    public static final class StringComparator implements java.util.Comparator
+    {
+        // public constructor ------------------------------------------------
+
+        /**
+         * Default constructor that does code unit comparison and case
+         * sensitive comparison.
+         * @stable ICU 2.1
+         */
+        public StringComparator()
+        {
+            this(false, false, FOLD_CASE_DEFAULT);
+        }
+
+        /**
+         * Constructor that does comparison based on the argument options.
+         * @param codepointcompare flag to indicate true for code point
+         *        comparison or false for code unit comparison.
+         * @param ignorecase false for case sensitive comparison, true for
+         *        case-insensitive comparison
+         * @param foldcaseoption FOLD_CASE_DEFAULT or
+         *        FOLD_CASE_EXCLUDE_SPECIAL_I. This option is used only when
+         *        ignorecase is set to true. If ignorecase is false, this option
+         *        is ignored.
+         * @see #FOLD_CASE_DEFAULT
+         * @see #FOLD_CASE_EXCLUDE_SPECIAL_I
+         * @throws IllegalArgumentException if foldcaseoption is out of range
+         * @stable ICU 2.4
+         */
+        public StringComparator(boolean codepointcompare,
+                                boolean ignorecase,
+                                int foldcaseoption)
+        {
+            setCodePointCompare(codepointcompare);
+            m_ignoreCase_ = ignorecase;
+            if (foldcaseoption < FOLD_CASE_DEFAULT
+                || foldcaseoption > FOLD_CASE_EXCLUDE_SPECIAL_I) {
+                throw new IllegalArgumentException("Invalid fold case option");
+            }
+            m_foldCase_ = foldcaseoption;
+        }
+
+        // public data member ------------------------------------------------
+
+        /**
+         * <p>Option value for case folding comparison:</p>
+         * <p>Comparison is case insensitive, strings are folded using default
+         * mappings defined in Unicode data file CaseFolding.txt, before
+         * comparison.
+         * </p>
+         * @stable ICU 2.4
+         */
+        public static final int FOLD_CASE_DEFAULT = 0;
+        /**
+         * <p>Option value for case folding comparison:</p>
+         * <p>Comparison is case insensitive, strings are folded using modified
+         * mappings defined in Unicode data file CaseFolding.txt, before
+         * comparison.
+         * </p>
+         * <p>The modified set of mappings is provided in a Unicode data file
+         * CaseFolding.txt to handle dotted I and dotless i appropriately for
+         * Turkic languages (tr, az).</p>
+         * <p>Before Unicode 3.2, CaseFolding.txt contains mappings marked with
+         * 'I' that are to be included for default mappings and excluded for
+         * the Turkic-specific mappings.</p>
+         * <p>Unicode 3.2 CaseFolding.txt instead contains mappings marked with
+         * 'T' that are to be excluded for default mappings and included for
+         * the Turkic-specific mappings.</p>
+         * @stable ICU 2.4
+         */
+        public static final int FOLD_CASE_EXCLUDE_SPECIAL_I = 1;
+
+        // public methods ----------------------------------------------------
+
+        // public setters ----------------------------------------------------
+
+        /**
+         * Sets the comparison mode to code point compare if flag is true.
+         * Otherwise comparison mode is set to code unit compare
+         * @param flag true for code point compare, false for code unit compare
+         * @stable ICU 2.4
+         */
+        public void setCodePointCompare(boolean flag)
+        {
+            if (flag) {
+                m_codePointCompare_ = Normalizer.COMPARE_CODE_POINT_ORDER;
+            }
+            else {
+                m_codePointCompare_ = 0;
+            }
+        }
+
+        /**
+         * Sets the Comparator to case-insensitive comparison mode if argument
+         * is true, otherwise case sensitive comparison mode if set to false.
+         * @param ignorecase true for case-insitive comparison, false for
+         *        case sensitive comparison
+         * @param foldcaseoption FOLD_CASE_DEFAULT or
+         *        FOLD_CASE_EXCLUDE_SPECIAL_I. This option is used only when
+         *        ignorecase is set to true. If ignorecase is false, this option
+         *        is ignored.
+         * @see #FOLD_CASE_DEFAULT
+         * @see #FOLD_CASE_EXCLUDE_SPECIAL_I
+         * @stable ICU 2.4
+         */
+        public void setIgnoreCase(boolean ignorecase, int foldcaseoption)
+        {
+            m_ignoreCase_ = ignorecase;
+            if (foldcaseoption < FOLD_CASE_DEFAULT
+                || foldcaseoption > FOLD_CASE_EXCLUDE_SPECIAL_I) {
+                throw new IllegalArgumentException("Invalid fold case option");
+            }
+            m_foldCase_ = foldcaseoption;
+        }
+
+        // public getters ----------------------------------------------------
+
+        /**
+         * Checks if the comparison mode is code point compare.
+         * @return true for code point compare, false for code unit compare
+         * @stable ICU 2.4
+         */
+        public boolean getCodePointCompare()
+        {
+            return m_codePointCompare_ == Normalizer.COMPARE_CODE_POINT_ORDER;
+        }
+
+        /**
+         * Checks if Comparator is in the case insensitive mode.
+         * @return true if Comparator performs case insensitive comparison,
+         *         false otherwise
+         * @stable ICU 2.4
+         */
+        public boolean getIgnoreCase()
+        {
+            return m_ignoreCase_;
+        }
+
+        /**
+         * Gets the fold case options set in Comparator to be used with case
+         * insensitive comparison.
+         * @return either FOLD_CASE_DEFAULT or FOLD_CASE_EXCLUDE_SPECIAL_I
+         * @see #FOLD_CASE_DEFAULT
+         * @see #FOLD_CASE_EXCLUDE_SPECIAL_I
+         * @stable ICU 2.4
+         */
+        public int getIgnoreCaseOption()
+        {
+            return m_foldCase_;
+        }
+
+        // public other methods ----------------------------------------------
+
+        /**
+         * Compare two strings depending on the options selected during
+         * construction.
+         * @param a first source string.
+         * @param b second source string.
+         * @return 0 returned if a == b. If a < b, a negative value is returned.
+         *         Otherwise if a > b, a positive value is returned.
+         * @exception ClassCastException thrown when either a or b is not a
+         *            String object
+         * @stable ICU 2.4
+         */
+        public int compare(Object a, Object b)
+        {
+            String str1 = (String)a;
+            String str2 = (String)b;
+
+            if (str1 == str2) {
+                return 0;
+            }
+            if (str1 == null) {
+                return -1;
+            }
+            if (str2 == null) {
+                return 1;
+            }
+
+            if (m_ignoreCase_) {
+                return compareCaseInsensitive(str1, str2);
+            }
+            return compareCaseSensitive(str1, str2);
+        }
+
+        // private data member ----------------------------------------------
+
+        /**
+         * Code unit comparison flag. True if code unit comparison is required.
+         * False if code point comparison is required.
+         */
+        private int m_codePointCompare_;
+
+        /**
+         * Fold case comparison option.
+         */
+        private int m_foldCase_;
+
+        /**
+         * Flag indicator if ignore case is to be used during comparison
+         */
+        private boolean m_ignoreCase_;
+
+        /**
+         * Code point order offset for surrogate characters
+         */
+        private static final int CODE_POINT_COMPARE_SURROGATE_OFFSET_ = 0x2800;
+
+        // private method ---------------------------------------------------
+
+        /**
+         * Compares case insensitive. This is a direct port of ICU4C, to make
+         * maintainence life easier.
+         * @param s1 first string to compare
+         * @param s2 second string to compare
+         * @return -1 is s1 &lt; s2, 0 if equals,
+         */
+        private int compareCaseInsensitive(String s1, String s2)
+        {
+            return NormalizerImpl.cmpEquivFold(s1, s2,
+                                               m_foldCase_ | m_codePointCompare_
+                                               | Normalizer.COMPARE_IGNORE_CASE);
+        }
+
+        /**
+         * Compares case sensitive. This is a direct port of ICU4C, to make
+         * maintainence life easier.
+         * @param s1 first string to compare
+         * @param s2 second string to compare
+         * @return -1 is s1 &lt; s2, 0 if equals,
+         */
+        private int compareCaseSensitive(String s1, String s2)
+        {
+            // compare identical prefixes - they do not need to be fixed up
+            // limit1 = start1 + min(lenght1, length2)
+            int length1 = s1.length();
+            int length2 = s2.length();
+            int minlength = length1;
+            int result = 0;
+            if (length1 < length2) {
+                result = -1;
+            }
+            else if (length1 > length2) {
+                result = 1;
+                minlength = length2;
+            }
+
+            char c1 = 0;
+            char c2 = 0;
+            int index = 0;
+            for (; index < minlength; index ++) {
+                c1 = s1.charAt(index);
+                c2 = s2.charAt(index);
+                // check pseudo-limit
+                if (c1 != c2) {
+                    break;
+                }
+            }
+
+            if (index == minlength) {
+                return result;
+            }
+
+            boolean codepointcompare
+                = m_codePointCompare_ == Normalizer.COMPARE_CODE_POINT_ORDER;
+            // if both values are in or above the surrogate range, fix them up
+            if (c1 >= LEAD_SURROGATE_MIN_VALUE
+                && c2 >= LEAD_SURROGATE_MIN_VALUE && codepointcompare) {
+                // subtract 0x2800 from BMP code points to make them smaller
+                // than supplementary ones
+                if ((c1 <= LEAD_SURROGATE_MAX_VALUE && (index + 1) != length1
+                     && isTrailSurrogate(s1.charAt(index + 1)))
+                    || (isTrailSurrogate(c1) && index != 0
+                        && isLeadSurrogate(s1.charAt(index - 1)))) {
+                    // part of a surrogate pair, leave >=d800
+                }
+                else {
+                    // BMP code point - may be surrogate code point - make
+                    // < d800
+                    c1 -= CODE_POINT_COMPARE_SURROGATE_OFFSET_;
+                }
+
+                if ((c2 <= LEAD_SURROGATE_MAX_VALUE
+                     && (index + 1) != length2
+                     && isTrailSurrogate(s2.charAt(index + 1))) ||
+                    (isTrailSurrogate(c2) && index != 0
+                     && isLeadSurrogate(s2.charAt(index - 1)))) {
+                    // part of a surrogate pair, leave >=d800
+                }
+                else {
+                    // BMP code point - may be surrogate code point - make <d800
+                    c2 -= CODE_POINT_COMPARE_SURROGATE_OFFSET_;
+                }
+            }
+
+            // now c1 and c2 are in UTF-32-compatible order
+            return c1 - c2;
+        }
+    }
+
+    // private data members -------------------------------------------------
+
+    /**
+     * Shift value for lead surrogate to form a supplementary character.
+     */
+    private static final int LEAD_SURROGATE_SHIFT_ = 10;
+
+    /**
+     * Mask to retrieve the significant value from a trail surrogate.
+     */
+    private static final int TRAIL_SURROGATE_MASK_     = 0x3FF;
+
+    /**
+     * Value that all lead surrogate starts with
+     */
+    private static final int LEAD_SURROGATE_OFFSET_ =
+        LEAD_SURROGATE_MIN_VALUE -
+        (SUPPLEMENTARY_MIN_VALUE
+         >> LEAD_SURROGATE_SHIFT_);
+
+    // private methods ------------------------------------------------------
+
+    /**
+     * <p>Converts argument code point and returns a String object representing
+     * the code point's value in UTF16 format.</p>
+     * <p>This method does not check for the validity of the codepoint, the
+     * results are not guaranteed if a invalid codepoint is passed as
+     * argument.</p>
+     * <p>The result is a string whose length is 1 for non-supplementary code
+     * points, 2 otherwise.</p>
+     * @param ch code point
+     * @return string representation of the code point
+     */
+    private static String toString(int ch)
+    {
+        if (ch < SUPPLEMENTARY_MIN_VALUE) {
+            return String.valueOf((char)ch);
+        }
+
+        StringBuffer result = new StringBuffer();
+        result.append(getLeadSurrogate(ch));
+        result.append(getTrailSurrogate(ch));
+        return result.toString();
+    }
+}
diff --git a/src/com/ibm/icu/text/UnescapeTransliterator.java b/src/com/ibm/icu/text/UnescapeTransliterator.java
new file mode 100755
index 0000000..b914d1e
--- /dev/null
+++ b/src/com/ibm/icu/text/UnescapeTransliterator.java
@@ -0,0 +1,251 @@
+/*
+**********************************************************************
+*   Copyright (c) 2001-2004, International Business Machines
+*   Corporation and others.  All Rights Reserved.
+**********************************************************************
+*   Date        Name        Description
+*   11/19/2001  aliu        Creation.
+**********************************************************************
+*/
+package com.ibm.icu.text;
+import com.ibm.icu.lang.*;
+
+/**
+ * A transliterator that converts Unicode escape forms to the
+ * characters they represent.  Escape forms have a prefix, a suffix, a
+ * radix, and minimum and maximum digit counts.
+ *
+ * <p>This class is package private.  It registers several standard
+ * variants with the system which are then accessed via their IDs.
+ *
+ * @author Alan Liu
+ */
+class UnescapeTransliterator extends Transliterator {
+
+    /**
+     * The encoded pattern specification.  The pattern consists of
+     * zero or more forms.  Each form consists of a prefix, suffix,
+     * radix, minimum digit count, and maximum digit count.  These
+     * values are stored as a five character header.  That is, their
+     * numeric values are cast to 16-bit characters and stored in the
+     * string.  Following these five characters, the prefix
+     * characters, then suffix characters are stored.  Each form thus
+     * takes n+5 characters, where n is the total length of the prefix
+     * and suffix.  The end is marked by a header of length one
+     * consisting of the character END.
+     */
+    private char spec[];
+
+    /**
+     * Special character marking the end of the spec[] array.
+     */
+    private static final char END = 0xFFFF;
+
+    /**
+     * Registers standard variants with the system.  Called by
+     * Transliterator during initialization.
+     */
+    static void register() {
+        // Unicode: "U+10FFFF" hex, min=4, max=6
+        Transliterator.registerFactory("Hex-Any/Unicode", new Transliterator.Factory() {
+            public Transliterator getInstance(String ID) {
+                return new UnescapeTransliterator("Hex-Any/Unicode", new char[] {
+                    2, 0, 16, 4, 6, 'U', '+',
+                    END
+                });
+            }
+        });
+        
+        // Java: "\\uFFFF" hex, min=4, max=4
+        Transliterator.registerFactory("Hex-Any/Java", new Transliterator.Factory() {
+            public Transliterator getInstance(String ID) {
+                return new UnescapeTransliterator("Hex-Any/Java", new char[] {
+                    2, 0, 16, 4, 4, '\\', 'u',
+                    END
+                });
+            }
+        });
+        
+        // C: "\\uFFFF" hex, min=4, max=4; \\U0010FFFF hex, min=8, max=8
+        Transliterator.registerFactory("Hex-Any/C", new Transliterator.Factory() {
+            public Transliterator getInstance(String ID) {
+                return new UnescapeTransliterator("Hex-Any/C", new char[] {
+                    2, 0, 16, 4, 4, '\\', 'u',
+                    2, 0, 16, 8, 8, '\\', 'U',
+                    END
+                });
+            }
+        });
+        
+        // XML: "&#x10FFFF;" hex, min=1, max=6
+        Transliterator.registerFactory("Hex-Any/XML", new Transliterator.Factory() {
+            public Transliterator getInstance(String ID) {
+                return new UnescapeTransliterator("Hex-Any/XML", new char[] {
+                    3, 1, 16, 1, 6, '&', '#', 'x', ';',
+                    END
+                });
+            }
+        });
+
+        // XML10: "&1114111;" dec, min=1, max=7 (not really "Hex-Any")
+        Transliterator.registerFactory("Hex-Any/XML10", new Transliterator.Factory() {
+            public Transliterator getInstance(String ID) {
+                return new UnescapeTransliterator("Hex-Any/XML10", new char[] {
+                    2, 1, 10, 1, 7, '&', '#', ';',
+                    END
+                });
+            }
+        });
+
+        // Perl: "\\x{263A}" hex, min=1, max=6
+        Transliterator.registerFactory("Hex-Any/Perl", new Transliterator.Factory() {
+            public Transliterator getInstance(String ID) {
+                return new UnescapeTransliterator("Hex-Any/Perl", new char[] {
+                    3, 1, 16, 1, 6, '\\', 'x', '{', '}',
+                    END
+                });
+            }
+        });
+
+        // All: Java, C, Perl, XML, XML10, Unicode
+        Transliterator.registerFactory("Hex-Any", new Transliterator.Factory() {
+            public Transliterator getInstance(String ID) {
+                return new UnescapeTransliterator("Hex-Any", new char[] {
+                    2, 0, 16, 4, 6, 'U', '+',            // Unicode
+                    2, 0, 16, 4, 4, '\\', 'u',           // Java
+                    2, 0, 16, 8, 8, '\\', 'U',           // C (surrogates)
+                    3, 1, 16, 1, 6, '&', '#', 'x', ';',  // XML
+                    2, 1, 10, 1, 7, '&', '#', ';',       // XML10
+                    3, 1, 16, 1, 6, '\\', 'x', '{', '}', // Perl
+                    END
+                });
+            }
+        });
+    }
+
+    /**
+     * Package private constructor.  Takes the encoded spec array.
+     */
+    UnescapeTransliterator(String ID, char spec[]) {
+        super(ID, null);
+        this.spec = spec;
+    }
+
+    /**
+     * Implements {@link Transliterator#handleTransliterate}.
+     */
+    protected void handleTransliterate(Replaceable text,
+                                       Position pos, boolean isIncremental) {
+        int start = pos.start;
+        int limit = pos.limit;
+        int i, j, ipat;
+
+      loop:
+        while (start < limit) {
+            // Loop over the forms in spec[].  Exit this loop when we
+            // match one of the specs.  Exit the outer loop if a
+            // partial match is detected and isIncremental is true.
+            for (j=0, ipat=0; spec[ipat] != END; ++j) {
+
+                // Read the header
+                int prefixLen = spec[ipat++];
+                int suffixLen = spec[ipat++];
+                int radix     = spec[ipat++];
+                int minDigits = spec[ipat++];
+                int maxDigits = spec[ipat++];
+
+                // s is a copy of start that is advanced over the
+                // characters as we parse them.
+                int s = start;
+                boolean match = true;
+
+                for (i=0; i<prefixLen; ++i) {
+                    if (s >= limit) {
+                        if (i > 0) {
+                            // We've already matched a character.  This is
+                            // a partial match, so we return if in
+                            // incremental mode.  In non-incremental mode,
+                            // go to the next spec.
+                            if (isIncremental) {
+                                break loop;
+                            }
+                            match = false;
+                            break;
+                        }
+                    }
+                    char c = text.charAt(s++);
+                    if (c != spec[ipat + i]) {
+                        match = false;
+                        break;
+                    }
+                }
+
+                if (match) {
+                    int u = 0;
+                    int digitCount = 0;
+                    for (;;) {
+                        if (s >= limit) {
+                            // Check for partial match in incremental mode.
+                            if (s > start && isIncremental) {
+                                break loop;
+                            }
+                            break;
+                        }
+                        int ch = text.char32At(s);
+                        int digit = UCharacter.digit(ch, radix);
+                        if (digit < 0) {
+                            break;
+                        }
+                        s += UTF16.getCharCount(ch);
+                        u = (u * radix) + digit;
+                        if (++digitCount == maxDigits) {
+                            break;
+                        }
+                    }
+
+                    match = (digitCount >= minDigits);
+
+                    if (match) {
+                        for (i=0; i<suffixLen; ++i) {
+                            if (s >= limit) {
+                                // Check for partial match in incremental mode.
+                                if (s > start && isIncremental) {
+                                    break loop;
+                                }
+                                match = false;
+                                break;
+                            }
+                            char c = text.charAt(s++);
+                            if (c != spec[ipat + prefixLen + i]) {
+                                match = false;
+                                break;
+                            }
+                        }
+
+                        if (match) {
+                            // At this point, we have a match
+                            String str = UTF16.valueOf(u);
+                            text.replace(start, s, str);
+                            limit -= s - start - str.length();
+                            // The following break statement leaves the
+                            // loop that is traversing the forms in
+                            // spec[].  We then parse the next input
+                            // character.
+                            break;
+                        }
+                    }
+                }
+
+                ipat += prefixLen + suffixLen;
+            }
+
+            if (start < limit) {
+                start += UTF16.getCharCount(text.char32At(start));
+            }
+        }
+
+        pos.contextLimit += limit - pos.limit;
+        pos.limit = limit;
+        pos.start = start;
+    }
+}
diff --git a/src/com/ibm/icu/text/UnicodeCompressor.java b/src/com/ibm/icu/text/UnicodeCompressor.java
new file mode 100755
index 0000000..828535d
--- /dev/null
+++ b/src/com/ibm/icu/text/UnicodeCompressor.java
@@ -0,0 +1,1006 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.text;
+
+/**
+* A compression engine implementing the Standard Compression Scheme
+* for Unicode (SCSU) as outlined in <A
+* HREF="http://www.unicode.org/unicode/reports/tr6">Unicode Technical
+* Report #6</A>.
+*
+* <P>The SCSU works by using dynamically positioned <EM>windows</EM>
+* consisting of 128 consecutive characters in Unicode.  During compression, 
+* characters within a window are encoded in the compressed stream as the bytes 
+* <TT>0x7F - 0xFF</TT>. The SCSU provides transparency for the characters 
+* (bytes) between <TT>U+0000 - U+00FF</TT>.  The SCSU approximates the 
+* storage size of traditional character sets, for example 1 byte per
+* character for ASCII or Latin-1 text, and 2 bytes per character for CJK
+* ideographs.</P>
+*
+* <P><STRONG>USAGE</STRONG></P>
+*
+* <P>The static methods on <TT>UnicodeCompressor</TT> may be used in a
+* straightforward manner to compress simple strings:</P>
+*
+* <PRE>
+*  String s = ... ; // get string from somewhere
+*  byte [] compressed = UnicodeCompressor.compress(s);
+* </PRE>
+*
+* <P>The static methods have a fairly large memory footprint.
+* For finer-grained control over memory usage, 
+* <TT>UnicodeCompressor</TT> offers more powerful APIs allowing
+* iterative compression:</P>
+*
+* <PRE>
+*  // Compress an array "chars" of length "len" using a buffer of 512 bytes
+*  // to the OutputStream "out"
+*
+*  UnicodeCompressor myCompressor         = new UnicodeCompressor();
+*  final static int  BUFSIZE              = 512;
+*  byte []           byteBuffer           = new byte [ BUFSIZE ];
+*  int               bytesWritten         = 0;
+*  int []            unicharsRead         = new int [1];
+*  int               totalCharsCompressed = 0;
+*  int               totalBytesWritten    = 0;
+*
+*  do {
+*    // do the compression
+*    bytesWritten = myCompressor.compress(chars, totalCharsCompressed, 
+*                                         len, unicharsRead,
+*                                         byteBuffer, 0, BUFSIZE);
+*
+*    // do something with the current set of bytes
+*    out.write(byteBuffer, 0, bytesWritten);
+*
+*    // update the no. of characters compressed
+*    totalCharsCompressed += unicharsRead[0];
+*
+*    // update the no. of bytes written
+*    totalBytesWritten += bytesWritten;
+*
+*  } while(totalCharsCompressed < len);
+*
+*  myCompressor.reset(); // reuse compressor
+* </PRE>
+*
+* @see UnicodeDecompressor
+*
+* @author Stephen F. Booth
+* @stable ICU 2.4
+*/
+
+/*
+*
+* COMPRESSION STRATEGY
+*
+* Single Byte Mode
+*
+* There are three relevant cases.
+* If the character is in the current window or is Latin-1 (U+0000,
+* U+0009, U+000A, U+000D, U+0020 - U+007F), the character is placed
+* directly in the stream as a single byte.
+*
+*  1. Current character is in defined, inactive window.
+*  2. Current character is in undefined window.
+*  3. Current character is uncompressible Unicode (U+3400 - U+DFFF).
+* 
+*  1. Current character is in defined, inactive window
+*    A. Look ahead two characters
+*    B. If both following characters in same window as current character, 
+*       switch to defined window
+*    C. If only next character is in same window as current character, 
+*       quote defined window
+*    D. If neither of following characters is in same window as current, 
+*       quote defined window
+*   
+*  2. Current character is in undefined window
+*    A. Look ahead two characters
+*    B. If both following characters in same window as current character, 
+*       define new window
+*    C. If only next character in same window as current character, 
+*       switch to Unicode mode
+*       NOTE: This costs us one extra byte.  However, 
+*        since we have a limited number of windows to work with, it is 
+*        assumed the cost will pay off later in savings from a window with
+*        more characters in it.
+*    D. If neither of following characters in same window as current, 
+*       switch to Unicode mode.  Alternative to above: just quote 
+*       Unicode (same byte cost)
+*   
+*  3. Current character is uncompressible Unicode (U+3400 - U+DFFF)
+*    A. Look ahead one character
+*    B. If next character in non-compressible region, switch to 
+*       Unicode mode
+*    C. If next character not in non-compressible region, quote Unicode
+*   
+*
+* The following chart illustrates the bytes required for encoding characters
+* in each possible way
+*
+* 
+*                                   SINGLE BYTE MODE
+*                                       Characters in a row with same index
+*               tag encountered             1       2       3       4
+*               ---------------------------------------------------------------
+*               none (in current window)    1       2       3       4
+*
+*               quote Unicode               3       6       9       12
+*
+*   window not  switch to Unicode           3       5       7       9     byte
+*   defined     define window               3       4       5       6     cost
+*      
+*   window      switch to window            2       3       4       5
+*   defined     quote window                2       4       6       8
+*
+*  Unicode Mode
+*
+* There are two relevant cases.
+* If the character is in the non-compressible region
+* (U+3400 - U+DFFF), the character is simply written to the
+* stream as a pair of bytes.
+*
+* 1. Current character is in defined, inactive window.
+* 2. Current character is in undefined window.
+*
+*  1.Current character is in defined, inactive window
+*    A. Look ahead one character
+*    B. If next character has same index as current character, 
+*       switch to defined window (and switch to single-byte mode)
+*    C. If not, just put bytes in stream
+*   
+*  
+*  2. Current character is in undefined window
+*    A. Look ahead two characters
+*    B. If both in same window as current character, define window 
+*       (and switch to single-byte mode)
+*    C. If only next character in same window, just put bytes in stream
+*        NOTE: This costs us one extra byte.  However, 
+*        since we have a limited number of windows to work with, it is 
+*        assumed the cost will pay off later in savings from a window with 
+*        more characters in it.
+*    D. If neither in same window, put bytes in stream
+*   
+*
+* The following chart illustrates the bytes required for encoding characters
+* in each possible way
+*
+* 
+*                                   UNICODE MODE
+*                                       Characters in a row with same index
+*               tag encountered             1       2       3       4
+*               ---------------------------------------------------------------
+*               none                        2       4       6       8
+*
+*               quote Unicode               3       6       9       12
+*
+*   window not  define window               3       4       5       6     byte
+*   defined                                                               cost
+*   window      switch to window            2       3       4       5
+*   defined
+*/
+public final class UnicodeCompressor implements SCSU
+{
+    //==========================
+    // Class variables
+    //==========================
+
+    /** For quick identification of a byte as a single-byte mode tag */
+    private static boolean [] sSingleTagTable = {
+        // table generated by CompressionTableGenerator
+        false, true, true, true, true, true, true, true, true, false,
+    false, true, true, false, true, true, true, true, true, true,
+    true, true, true, true, true, true, true, true, true, true,
+    true, true, false, false, false, false, false, false,false,
+    false, false, false, false, false, false, false, false, false,
+    false, false, false, false, false, false, false, false, false,
+    false, false, false, false, false, false, false, false, false,
+    false, false, false, false, false, false, false, false, false,
+    false, false, false, false, false, false, false, false, false,
+    false, false, false, false, false, false, false, false, false,
+    false, false, false, false, false, false, false, false, false,
+    false, false, false, false, false, false, false, false, false,
+    false, false, false, false, false, false, false, false, false,
+    false, false, false, false, false, false, false, false, false,
+    false, false, false, false, false, false, false, false, false,
+    false, false, false, false, false, false, false, false, false,
+    false, false, false, false, false, false, false, false, false,
+    false, false, false, false, false, false, false, false, false,
+    false, false, false, false, false, false, false, false, false,
+    false, false, false, false, false, false, false, false, false,
+    false, false, false, false, false, false, false, false, false,
+    false, false, false, false, false, false, false, false, false,
+    false, false, false, false, false, false, false, false, false,
+    false, false, false, false, false, false, false, false, false,
+    false, false, false, false, false, false, false, false, false,
+    false, false, false, false, false, false, false, false, false,
+    false, false, false, false, false, false, false, false, false,
+    false, false, false, false, false, false, false, false, false,
+    false   
+    };
+
+    /** For quick identification of a byte as a unicode mode tag */
+    private static boolean [] sUnicodeTagTable = {
+        // table generated by CompressionTableGenerator
+        false, false, false, false, false, false, false, false, false,
+    false, false, false, false, false, false, false, false, false,
+    false, false, false, false, false, false, false, false, false,
+    false, false, false, false, false, false, false, false, false,
+    false, false, false, false, false, false, false, false, false,
+    false, false, false, false, false, false, false, false, false,
+    false, false, false, false, false, false, false, false, false,
+    false, false, false, false, false, false, false, false, false,
+    false, false, false, false, false, false, false, false, false,
+    false, false, false, false, false, false, false, false, false,
+    false, false, false, false, false, false, false, false, false,
+    false, false, false, false, false, false, false, false, false,
+    false, false, false, false, false, false, false, false, false,
+    false, false, false, false, false, false, false, false, false,
+    false, false, false, false, false, false, false, false, false,
+    false, false, false, false, false, false, false, false, false,
+    false, false, false, false, false, false, false, false, false,
+    false, false, false, false, false, false, false, false, false,
+    false, false, false, false, false, false, false, false, false,
+    false, false, false, false, false, false, false, false, false,
+    false, false, false, false, false, false, false, false, false,
+    false, false, false, false, false, false, false, false, false,
+    false, false, false, false, false, false, false, false, false,
+    false, false, false, false, false, false, false, false, false,
+    false, false, false, false, false, false, false, false, true,
+    true, true, true, true, true, true, true, true, true, true,
+    true, true, true, true, true, true, true, true, false, false,
+    false, false, false, false, false, false, false, false, false,
+    false, false 
+    };
+
+    //==========================
+    // Instance variables
+    //==========================
+    
+    /** Alias to current dynamic window */
+    private int       fCurrentWindow   = 0;
+
+    /** Dynamic compression window offsets */
+    private int []    fOffsets         = new int [ NUMWINDOWS ];
+
+    /** Current compression mode */
+    private int       fMode            = SINGLEBYTEMODE;
+
+    /** Keeps count of times character indices are encountered */
+    private int []    fIndexCount      = new int [ MAXINDEX + 1 ];
+
+    /** The time stamps indicate when a window was last defined */
+    private int []    fTimeStamps      = new int [ NUMWINDOWS ];
+    
+    /** The current time stamp */
+    private int       fTimeStamp       = 0;
+    
+
+    /**
+     * Create a UnicodeCompressor.
+     * Sets all windows to their default values.
+     * @see #reset
+     * @stable ICU 2.4
+     */
+    public UnicodeCompressor()
+    {
+    reset();              // initialize to defaults
+    }
+
+    /**
+     * Compress a string into a byte array.
+     * @param buffer The string to compress.
+     * @return A byte array containing the compressed characters.
+     * @see #compress(char [], int, int)
+     * @stable ICU 2.4
+     */
+    public static byte [] compress(String buffer)
+    {
+    return compress(buffer.toCharArray(), 0, buffer.length());
+    }
+
+    /**
+     * Compress a Unicode character array into a byte array.
+     * @param buffer The character buffer to compress.
+     * @param start The start of the character run to compress.
+     * @param limit The limit of the character run to compress.
+     * @return A byte array containing the compressed characters.
+     * @see #compress(String)
+     * @stable ICU 2.4
+     */
+    public static byte [] compress(char [] buffer,
+                   int start,
+                   int limit)
+    {
+    UnicodeCompressor comp = new UnicodeCompressor();
+
+    // use a buffer that we know will never overflow
+    // in the worst case, each character will take 3 bytes
+    // to encode: UQU, hibyte, lobyte.  In this case, the
+    // compressed data will look like: SCU, UQU, hibyte, lobyte, ...
+    // buffer must be at least 4 bytes in size
+    int len = Math.max(4, 3 * (limit - start) + 1);
+    byte [] temp = new byte [len];
+
+    int byteCount = comp.compress(buffer, start, limit, null, 
+                      temp, 0, len);
+
+    byte [] result = new byte [byteCount];
+    System.arraycopy(temp, 0, result, 0, byteCount);
+    return result;
+    }
+
+    /**
+     * Compress a Unicode character array into a byte array.
+     *
+     * This function will only consume input that can be completely
+     * output.
+     *
+     * @param charBuffer The character buffer to compress.
+     * @param charBufferStart The start of the character run to compress.
+     * @param charBufferLimit The limit of the character run to compress.
+     * @param charsRead A one-element array.  If not null, on return 
+     * the number of characters read from charBuffer.
+     * @param byteBuffer A buffer to receive the compressed data.  This 
+     * buffer must be at minimum four bytes in size.
+     * @param byteBufferStart The starting offset to which to write 
+     * compressed data.
+     * @param byteBufferLimit The limiting offset for writing compressed data.
+     * @return The number of bytes written to byteBuffer.
+     * @stable ICU 2.4
+     */
+    public int compress(char []     charBuffer,
+            int         charBufferStart,
+            int         charBufferLimit,
+            int []      charsRead,
+            byte []     byteBuffer,
+            int         byteBufferStart,
+            int         byteBufferLimit)
+    {
+        // the current position in the target byte buffer
+    int     bytePos       = byteBufferStart;
+    
+    // the current position in the source unicode character buffer
+    int     ucPos         = charBufferStart;
+    
+    // the current unicode character from the source buffer
+    int     curUC         = INVALIDCHAR;
+    
+    // the index for the current character
+        int     curIndex      = -1;
+        
+    // look ahead
+    int     nextUC        = INVALIDCHAR;
+    int     forwardUC     = INVALIDCHAR;
+    
+        // temporary for window searching
+    int     whichWindow   = 0;
+    
+    // high and low bytes of the current unicode character
+    int     hiByte        = 0;
+    int     loByte        = 0;
+
+
+    // byteBuffer must be at least 4 bytes in size
+    if(byteBuffer.length < 4 || (byteBufferLimit - byteBufferStart) < 4)
+        throw new IllegalArgumentException("byteBuffer.length < 4");
+
+    mainLoop:
+    while(ucPos < charBufferLimit && bytePos < byteBufferLimit) {
+        switch(fMode) {
+        // main single byte mode compression loop
+        case SINGLEBYTEMODE:
+        singleByteModeLoop:
+        while(ucPos < charBufferLimit && bytePos < byteBufferLimit) {
+        // get current char
+        curUC = charBuffer[ucPos++];
+
+        // get next char
+        if(ucPos < charBufferLimit) 
+            nextUC = charBuffer[ucPos];
+        else
+            nextUC = INVALIDCHAR;
+        
+        // chars less than 0x0080 (excluding tags) go straight
+        // in stream
+        if(curUC < 0x0080) {
+            loByte = curUC & 0xFF;
+
+            // we need to check and make sure we don't
+            // accidentally write a single byte mode tag to
+            // the stream unless it's quoted
+            if(sSingleTagTable[loByte]) {
+                                // make sure there is enough room to
+                                // write both bytes if not, rewind the
+                                // source stream and break out
+            if( (bytePos + 1) >= byteBufferLimit) 
+                { --ucPos; break mainLoop; }
+
+            // since we know the byte is less than 0x80, SQUOTE0
+            // will use static window 0, or ASCII
+            byteBuffer[bytePos++] = (byte) SQUOTE0;
+            }
+
+            byteBuffer[bytePos++] = (byte) loByte;
+        }
+
+        // if the char belongs to current window, convert it
+        // to a byte by adding the generic compression offset
+        // and subtracting the window's offset
+        else if(inDynamicWindow(curUC, fCurrentWindow) ) {
+            byteBuffer[bytePos++] = (byte) 
+            (curUC - fOffsets[ fCurrentWindow ] 
+             + COMPRESSIONOFFSET);
+        }
+        
+        // if char is not in compressible range, either switch to or
+        // quote from unicode
+        else if( ! isCompressible(curUC) ) {
+            // only check next character if it is valid
+            if(nextUC != INVALIDCHAR && isCompressible(nextUC)) {
+                                // make sure there is enough room to
+                                // write all three bytes if not,
+                                // rewind the source stream and break
+                                // out
+            if( (bytePos + 2) >= byteBufferLimit) 
+                { --ucPos; break mainLoop; }
+
+            byteBuffer[bytePos++] = (byte) SQUOTEU;
+            byteBuffer[bytePos++] = (byte) (curUC >>> 8);
+            byteBuffer[bytePos++] = (byte) (curUC & 0xFF);
+            }
+            else {
+                                // make sure there is enough room to
+                                // write all four bytes if not, rewind
+                                // the source stream and break out
+            if((bytePos + 3) >= byteBufferLimit) 
+                { --ucPos; break mainLoop; }
+
+            byteBuffer[bytePos++] = (byte) SCHANGEU;
+
+            hiByte = curUC >>> 8;
+            loByte = curUC & 0xFF;
+
+            if(sUnicodeTagTable[hiByte])
+                // add quote Unicode tag
+                byteBuffer[bytePos++]   = (byte) UQUOTEU;    
+
+            byteBuffer[bytePos++] = (byte) hiByte;
+            byteBuffer[bytePos++] = (byte) loByte;
+                
+            fMode = UNICODEMODE;
+            break singleByteModeLoop;
+            }
+        }
+
+        // if the char is in a currently defined dynamic
+        // window, figure out which one, and either switch to
+        // it or quote from it
+        else if((whichWindow = findDynamicWindow(curUC)) 
+            != INVALIDWINDOW ) {
+            // look ahead
+            if( (ucPos + 1) < charBufferLimit )
+            forwardUC = charBuffer[ucPos + 1];
+            else
+            forwardUC = INVALIDCHAR;
+            
+            // all three chars in same window, switch to that
+            // window inDynamicWindow will return false for
+            // INVALIDCHAR
+            if(inDynamicWindow(nextUC, whichWindow) 
+               && inDynamicWindow(forwardUC, whichWindow)) {
+                                // make sure there is enough room to
+                                // write both bytes if not, rewind the
+                                // source stream and break out
+            if( (bytePos + 1) >= byteBufferLimit) 
+                { --ucPos; break mainLoop; }
+
+            byteBuffer[bytePos++] = (byte)(SCHANGE0 + whichWindow);
+            byteBuffer[bytePos++] = (byte) 
+                (curUC - fOffsets[whichWindow] 
+                 + COMPRESSIONOFFSET);
+            fTimeStamps [ whichWindow ] = ++fTimeStamp;
+            fCurrentWindow = whichWindow;
+            }
+            
+            // either only next char or neither in same
+            // window, so quote
+            else {
+                                // make sure there is enough room to
+                                // write both bytes if not, rewind the
+                                // source stream and break out
+            if((bytePos + 1) >= byteBufferLimit) 
+                { --ucPos; break mainLoop; }
+
+            byteBuffer[bytePos++] = (byte) (SQUOTE0 + whichWindow);
+            byteBuffer[bytePos++] = (byte) 
+                (curUC - fOffsets[whichWindow] 
+                 + COMPRESSIONOFFSET);
+            }
+        }
+
+        // if a static window is defined, and the following
+        // character is not in that static window, quote from
+        // the static window Note: to quote from a static
+        // window, don't add 0x80
+        else if((whichWindow = findStaticWindow(curUC)) 
+            != INVALIDWINDOW 
+            && ! inStaticWindow(nextUC, whichWindow) ) {
+            // make sure there is enough room to write both
+            // bytes if not, rewind the source stream and
+            // break out
+            if((bytePos + 1) >= byteBufferLimit) 
+            { --ucPos; break mainLoop; }
+
+            byteBuffer[bytePos++] = (byte) (SQUOTE0 + whichWindow);
+            byteBuffer[bytePos++] = (byte) 
+            (curUC - sOffsets[whichWindow]);
+        }
+        
+        // if a window is not defined, decide if we want to
+        // define a new one or switch to unicode mode
+        else {
+            // determine index for current char (char is compressible)
+            curIndex = makeIndex(curUC);
+            fIndexCount[curIndex]++;
+
+            // look ahead
+            if((ucPos + 1) < charBufferLimit)
+            forwardUC = charBuffer[ucPos + 1];
+            else
+            forwardUC = INVALIDCHAR;
+
+            // if we have encountered this index at least once
+            // before, define a new window
+            // OR
+            // three chars in a row with same index, define a
+            // new window (makeIndex will return RESERVEDINDEX
+            // for INVALIDCHAR)
+            if((fIndexCount[curIndex] > 1) ||
+               (curIndex == makeIndex(nextUC) 
+            && curIndex == makeIndex(forwardUC))) {
+            // make sure there is enough room to write all
+            // three bytes if not, rewind the source
+            // stream and break out
+            if( (bytePos + 2) >= byteBufferLimit) 
+                { --ucPos; break mainLoop; }
+
+            // get least recently defined window
+            whichWindow = getLRDefinedWindow();
+
+            byteBuffer[bytePos++] = (byte)(SDEFINE0 + whichWindow);
+            byteBuffer[bytePos++] = (byte) curIndex;
+            byteBuffer[bytePos++] = (byte) 
+                (curUC - sOffsetTable[curIndex] 
+                 + COMPRESSIONOFFSET);
+
+            fOffsets[whichWindow] = sOffsetTable[curIndex];
+            fCurrentWindow = whichWindow;
+            fTimeStamps [whichWindow] = ++fTimeStamp;
+            }
+
+            // only two chars in a row with same index, so
+            // switch to unicode mode (makeIndex will return
+            // RESERVEDINDEX for INVALIDCHAR)
+            // OR
+            // three chars have different indices, so switch
+            // to unicode mode
+            else {
+            // make sure there is enough room to write all
+            // four bytes if not, rewind the source stream
+            // and break out
+            if((bytePos + 3) >= byteBufferLimit) 
+                { --ucPos; break mainLoop; }
+
+            byteBuffer[bytePos++] = (byte) SCHANGEU;
+
+            hiByte = curUC >>> 8;
+            loByte = curUC & 0xFF;
+
+            if(sUnicodeTagTable[hiByte])
+                // add quote Unicode tag
+                byteBuffer[bytePos++] = (byte) UQUOTEU; 
+
+            byteBuffer[bytePos++] = (byte) hiByte;
+            byteBuffer[bytePos++] = (byte) loByte;
+
+            fMode = UNICODEMODE;
+            break singleByteModeLoop;
+            }
+        }
+        }
+        break;
+
+        case UNICODEMODE:
+        // main unicode mode compression loop
+        unicodeModeLoop:
+        while(ucPos < charBufferLimit && bytePos < byteBufferLimit) {
+        // get current char
+        curUC = charBuffer[ucPos++];    
+
+        // get next char
+        if( ucPos < charBufferLimit )
+            nextUC = charBuffer[ucPos];
+        else
+            nextUC = INVALIDCHAR;
+
+        // if we have two uncompressible chars in a row,
+        // put the current char's bytes in the stream
+        if( ! isCompressible(curUC) 
+            || (nextUC != INVALIDCHAR && ! isCompressible(nextUC))) {
+            // make sure there is enough room to write all three bytes
+            // if not, rewind the source stream and break out
+            if( (bytePos + 2) >= byteBufferLimit) 
+            { --ucPos; break mainLoop; }
+
+            hiByte = curUC >>> 8;
+            loByte = curUC & 0xFF;
+
+            if(sUnicodeTagTable[ hiByte ])
+            // add quote Unicode tag
+            byteBuffer[bytePos++] = (byte) UQUOTEU;
+                
+            byteBuffer[bytePos++] = (byte) hiByte;
+            byteBuffer[bytePos++] = (byte) loByte;
+        }
+        
+        // bytes less than 0x80 can go straight in the stream,
+        // but in single-byte mode
+        else if(curUC < 0x0080) {
+            loByte = curUC & 0xFF;
+
+            // if two chars in a row below 0x80 and the
+            // current char is not a single-byte mode tag,
+            // switch to single-byte mode
+            if(nextUC != INVALIDCHAR 
+               && nextUC < 0x0080 && ! sSingleTagTable[ loByte ] ) {
+                                // make sure there is enough room to
+                                // write both bytes if not, rewind the
+                                // source stream and break out
+            if( (bytePos + 1) >= byteBufferLimit) 
+                { --ucPos; break mainLoop; }
+
+            // use the last-active window
+            whichWindow = fCurrentWindow;
+            byteBuffer[bytePos++] = (byte)(UCHANGE0 + whichWindow);
+            byteBuffer[bytePos++] = (byte) loByte;
+
+            //fCurrentWindow = 0;
+            fTimeStamps [whichWindow] = ++fTimeStamp;
+            fMode = SINGLEBYTEMODE;
+            break unicodeModeLoop;
+            }
+
+            // otherwise, just write the bytes to the stream
+            // (this will cover the case of only 1 char less than 0x80
+            // and single-byte mode tags)
+            else {
+                                // make sure there is enough room to
+                                // write both bytes if not, rewind the
+                                // source stream and break out
+            if((bytePos + 1) >= byteBufferLimit) 
+                { --ucPos; break mainLoop; }
+
+            // since the character is less than 0x80, the
+            // high byte is always 0x00 - no need for
+            // (curUC >>> 8)
+            byteBuffer[bytePos++] = (byte) 0x00;
+            byteBuffer[bytePos++] = (byte) loByte;
+            }
+        }
+
+        // figure out if the current char is in a defined window
+        else if((whichWindow = findDynamicWindow(curUC)) 
+            != INVALIDWINDOW ) {
+            // if two chars in a row in the same window,
+            // switch to that window and go to single-byte mode
+            // inDynamicWindow will return false for INVALIDCHAR
+            if(inDynamicWindow(nextUC, whichWindow)) {
+                                // make sure there is enough room to
+                                // write both bytes if not, rewind the
+                                // source stream and break out
+            if((bytePos + 1) >= byteBufferLimit) 
+                { --ucPos; break mainLoop; }
+
+            byteBuffer[bytePos++] = (byte)(UCHANGE0 + whichWindow);
+            byteBuffer[bytePos++] = (byte) 
+                (curUC - fOffsets[whichWindow] 
+                 + COMPRESSIONOFFSET);
+
+            fTimeStamps [ whichWindow ] = ++fTimeStamp;
+            fCurrentWindow = whichWindow;
+            fMode = SINGLEBYTEMODE;
+            break unicodeModeLoop;
+            }
+
+            // otherwise, just quote the unicode for the char
+            else {
+                                // make sure there is enough room to
+                                // write all three bytes if not,
+                                // rewind the source stream and break
+                                // out
+            if((bytePos + 2) >= byteBufferLimit) 
+                { --ucPos; break mainLoop; }
+
+            hiByte = curUC >>> 8;
+            loByte = curUC & 0xFF;
+
+            if(sUnicodeTagTable[ hiByte ])
+                // add quote Unicode tag
+                byteBuffer[bytePos++] = (byte) UQUOTEU;
+
+            byteBuffer[bytePos++] = (byte) hiByte;
+            byteBuffer[bytePos++] = (byte) loByte;
+            }
+        }
+        
+        // char is not in a defined window
+        else {
+            // determine index for current char (char is compressible)
+            curIndex = makeIndex(curUC);
+            fIndexCount[curIndex]++;
+            
+            // look ahead
+            if( (ucPos + 1) < charBufferLimit )
+            forwardUC = charBuffer[ucPos + 1];
+            else
+            forwardUC = INVALIDCHAR;
+            
+            // if we have encountered this index at least once
+            // before, define a new window for it that hasn't
+            // previously been redefined
+            // OR
+            // if three chars in a row with the same index,
+            // define a new window (makeIndex will return
+            // RESERVEDINDEX for INVALIDCHAR)
+            if((fIndexCount[curIndex] > 1) ||
+               (curIndex == makeIndex(nextUC) 
+            && curIndex == makeIndex(forwardUC))) {
+                                // make sure there is enough room to
+                                // write all three bytes if not,
+                                // rewind the source stream and break
+                                // out
+            if((bytePos + 2) >= byteBufferLimit) 
+                { --ucPos; break mainLoop; }
+
+            // get least recently defined window
+            whichWindow = getLRDefinedWindow();
+
+            byteBuffer[bytePos++] = (byte)(UDEFINE0 + whichWindow);
+            byteBuffer[bytePos++] = (byte) curIndex;
+            byteBuffer[bytePos++] = (byte) 
+                (curUC - sOffsetTable[curIndex] 
+                 + COMPRESSIONOFFSET);
+            
+            fOffsets[whichWindow] = sOffsetTable[curIndex];
+            fCurrentWindow = whichWindow;
+            fTimeStamps [whichWindow] = ++fTimeStamp;
+            fMode = SINGLEBYTEMODE;
+            break unicodeModeLoop;
+            }
+            
+            // otherwise just quote the unicode, and save our
+            // windows for longer runs
+            else {
+                                // make sure there is enough room to
+                                // write all three bytes if not,
+                                // rewind the source stream and break
+                                // out
+            if((bytePos + 2) >= byteBufferLimit) 
+                { --ucPos; break mainLoop; }
+
+            hiByte = curUC >>> 8;
+            loByte = curUC & 0xFF;
+
+            if(sUnicodeTagTable[ hiByte ])
+                // add quote Unicode tag
+                byteBuffer[bytePos++] = (byte) UQUOTEU;  
+            
+            byteBuffer[bytePos++] = (byte) hiByte;
+            byteBuffer[bytePos++] = (byte) loByte;
+            }
+        }
+        }
+        }  // end switch
+    }
+    
+        // fill in output parameter
+    if(charsRead != null)
+        charsRead [0] = (ucPos - charBufferStart);
+        
+        // return # of bytes written
+        return (bytePos - byteBufferStart);
+    }
+
+    /** 
+     * Reset the compressor to its initial state.
+     * @stable ICU 2.4
+     */
+    public void reset()
+    {
+    int i;
+
+        // reset dynamic windows
+        fOffsets[0] = 0x0080;    // Latin-1
+        fOffsets[1] = 0x00C0;    // Latin-1 Supplement + Latin Extended-A
+        fOffsets[2] = 0x0400;    // Cyrillic
+        fOffsets[3] = 0x0600;    // Arabic
+        fOffsets[4] = 0x0900;    // Devanagari
+        fOffsets[5] = 0x3040;    // Hiragana
+        fOffsets[6] = 0x30A0;    // Katakana
+        fOffsets[7] = 0xFF00;    // Fullwidth ASCII
+
+
+        // reset time stamps
+        for(i = 0; i < NUMWINDOWS; i++) {
+            fTimeStamps[i]          = 0;
+        }
+
+        // reset count of seen indices
+        for(i = 0; i <= MAXINDEX; i++ ) {
+            fIndexCount[i] = 0;
+        }
+
+        fTimeStamp      = 0;                // Reset current time stamp
+        fCurrentWindow  = 0;                // Make current window Latin-1
+        fMode           = SINGLEBYTEMODE;   // Always start in single-byte mode
+    }
+
+    //==========================
+    // Determine the index for a character
+    //==========================
+
+    /**
+     * Create the index value for a character.
+     * For more information on this function, refer to table X-3
+     * <A HREF="http://www.unicode.org/unicode/reports/tr6">UTR6</A>.
+     * @param c The character in question.
+     * @return An index for c
+     */
+    private static int makeIndex(int c)
+    {
+        // check the predefined indices
+        if(c >= 0x00C0 && c < 0x0140)
+            return LATININDEX;
+        else if(c >= 0x0250 && c < 0x02D0)
+            return IPAEXTENSIONINDEX;
+        else if(c >= 0x0370 && c < 0x03F0)
+            return GREEKINDEX;
+        else if(c >= 0x0530 && c < 0x0590)
+            return ARMENIANINDEX;
+        else if(c >= 0x3040 && c < 0x30A0)
+            return HIRAGANAINDEX;
+        else if(c >= 0x30A0 && c < 0x3120)
+            return KATAKANAINDEX;
+        else if(c >= 0xFF60 && c < 0xFF9F)
+            return HALFWIDTHKATAKANAINDEX;
+
+        // calculate index
+        else if(c >= 0x0080 && c < 0x3400)
+            return (c / 0x80) & 0xFF;
+        else if(c >= 0xE000 && c <= 0xFFFF)
+            return ((c - 0xAC00) / 0x80) & 0xFF;
+            
+        // should never happen
+        else {
+            return RESERVEDINDEX;
+        }
+    }
+
+    //==========================
+    // Check if a given character fits in a window
+    //==========================
+
+    /**
+    * Determine if a character is in a dynamic window.
+    * @param c The character to test
+    * @param whichWindow The dynamic window the test
+    * @return true if <TT>c</TT> will fit in <TT>whichWindow</TT>, 
+    * false otherwise.
+    */
+    private boolean inDynamicWindow(int c, 
+                    int whichWindow)
+    {
+        return (c >= fOffsets[whichWindow] 
+        && c < (fOffsets[whichWindow] + 0x80));
+    }
+
+    /**
+     * Determine if a character is in a static window.
+    * @param c The character to test
+    * @param whichWindow The static window the test
+    * @return true if <TT>c</TT> will fit in <TT>whichWindow</TT>, 
+    * false otherwise.
+    */
+    private static boolean inStaticWindow(int c, 
+                      int whichWindow)
+    {
+        return (c >= sOffsets[whichWindow]
+        && c < (sOffsets[whichWindow] + 0x80));
+    }
+
+    //==========================
+    // Check if a given character is compressible
+    //==========================
+
+    /**
+    * Determine if a character is compressible.
+    * @param c The character to test.
+    * @return true if the <TT>c</TT> is compressible, false otherwise.
+    */
+    private static boolean isCompressible(int c)
+    {
+        return (c < 0x3400 || c >= 0xE000);
+    }
+
+    //==========================
+    // Check if a window is defined for a given character
+    //==========================
+
+    /**
+     * Determine if a dynamic window for a certain character is defined
+     * @param c The character in question
+     * @return The dynamic window containing <TT>c</TT>, or 
+     * INVALIDWINDOW if not defined.
+     */
+    private int findDynamicWindow(int c)
+    {
+    // supposedly faster to count down
+        //for(int i = 0; i < NUMWINDOWS; i++) {
+    for(int i = NUMWINDOWS - 1; i >= 0; --i) {
+        if(inDynamicWindow(c, i)) {
+        ++fTimeStamps[i];
+                return i;
+        }
+    }
+        
+        return INVALIDWINDOW;
+    }
+
+    /**
+     * Determine if a static window for a certain character is defined
+     * @param c The character in question
+     * @return The static window containing <TT>c</TT>, or 
+     * INVALIDWINDOW if not defined.
+     */
+    private static int findStaticWindow(int c)
+    {
+    // supposedly faster to count down
+        //for(int i = 0; i < NUMSTATICWINDOWS; i++) {
+    for(int i = NUMSTATICWINDOWS - 1; i >= 0; --i) {
+        if(inStaticWindow(c, i)) {
+                return i;
+        }
+    }
+    
+        return INVALIDWINDOW;
+    }
+    
+    //==========================
+    // Find the least-recently used window
+    //==========================
+
+    /** Find the least-recently defined window */
+    private int getLRDefinedWindow()
+    {
+        int leastRU         = Integer.MAX_VALUE;
+        int whichWindow     = INVALIDWINDOW;
+
+        // find least recently used window
+        // supposedly faster to count down
+        //for( int i = 0; i < NUMWINDOWS; i++ ) {
+        for(int i = NUMWINDOWS - 1; i >= 0; --i ) {
+            if( fTimeStamps[i] < leastRU ) {
+                leastRU   = fTimeStamps[i];
+                whichWindow  = i;
+            }
+        }
+
+        return whichWindow;
+    }
+    
+};
diff --git a/src/com/ibm/icu/text/UnicodeDecompressor.java b/src/com/ibm/icu/text/UnicodeDecompressor.java
new file mode 100755
index 0000000..43d07e6
--- /dev/null
+++ b/src/com/ibm/icu/text/UnicodeDecompressor.java
@@ -0,0 +1,562 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+package com.ibm.icu.text;
+
+/**
+* A decompression engine implementing the Standard Compression Scheme
+* for Unicode (SCSU) as outlined in <A
+* HREF="http://www.unicode.org/unicode/reports/tr6">Unicode Technical
+* Report #6</A>.
+*
+* <P><STRONG>USAGE</STRONG></P>
+*
+* <P>The static methods on <TT>UnicodeDecompressor</TT> may be used in a
+* straightforward manner to decompress simple strings:</P>
+*
+* <PRE>
+*  byte [] compressed = ... ; // get compressed bytes from somewhere
+*  String result = UnicodeDecompressor.decompress(compressed);
+* </PRE>
+*
+* <P>The static methods have a fairly large memory footprint.
+* For finer-grained control over memory usage, 
+* <TT>UnicodeDecompressor</TT> offers more powerful APIs allowing
+* iterative decompression:</P>
+*
+* <PRE>
+*  // Decompress an array "bytes" of length "len" using a buffer of 512 chars
+*  // to the Writer "out"
+*
+*  UnicodeDecompressor myDecompressor         = new UnicodeDecompressor();
+*  final static int    BUFSIZE                = 512;
+*  char []             charBuffer             = new char [ BUFSIZE ];
+*  int                 charsWritten           = 0;
+*  int []              bytesRead              = new int [1];
+*  int                 totalBytesDecompressed = 0;
+*  int                 totalCharsWritten      = 0;
+*
+*  do {
+*    // do the decompression
+*    charsWritten = myDecompressor.decompress(bytes, totalBytesDecompressed, 
+*                                             len, bytesRead,
+*                                             charBuffer, 0, BUFSIZE);
+*
+*    // do something with the current set of chars
+*    out.write(charBuffer, 0, charsWritten);
+*
+*    // update the no. of bytes decompressed
+*    totalBytesDecompressed += bytesRead[0];
+*
+*    // update the no. of chars written
+*    totalCharsWritten += charsWritten;
+*
+*  } while(totalBytesDecompressed < len);
+*
+*  myDecompressor.reset(); // reuse decompressor
+* </PRE>
+*
+* <P>Decompression is performed according to the standard set forth in 
+* <A HREF="http://www.unicode.org/unicode/reports/tr6">Unicode Technical 
+* Report #6</A></P>
+*
+* @see UnicodeCompressor
+*
+* @author Stephen F. Booth
+* @stable ICU 2.4
+*/
+public final class UnicodeDecompressor implements SCSU
+{
+    //==========================
+    // Instance variables
+    //==========================
+    
+    /** Alias to current dynamic window */
+    private int       fCurrentWindow   = 0;
+
+    /** Dynamic compression window offsets */
+    private int []    fOffsets         = new int [ NUMWINDOWS ];
+
+    /** Current compression mode */
+    private int       fMode            = SINGLEBYTEMODE;
+
+    /** Size of our internal buffer */
+    private final static int BUFSIZE   = 3;
+
+    /** Internal buffer for saving state */
+    private byte []   fBuffer          = new byte [BUFSIZE];
+
+    /** Number of characters in our internal buffer */
+    private int       fBufferLength    = 0;
+    
+
+    /**
+     * Create a UnicodeDecompressor.
+     * Sets all windows to their default values.
+     * @see #reset
+     * @stable ICU 2.4
+     */
+    public UnicodeDecompressor()
+    {
+    reset();              // initialize to defaults
+    }
+
+    /**
+     * Decompress a byte array into a String.
+     * @param buffer The byte array to decompress.
+     * @return A String containing the decompressed characters.
+     * @see #decompress(byte [], int, int)
+     * @stable ICU 2.4
+     */
+    public static String decompress(byte [] buffer)
+    {
+    char [] buf = decompress(buffer, 0, buffer.length);
+    return new String(buf);
+    }
+
+    /**
+     * Decompress a byte array into a Unicode character array.
+     * @param buffer The byte array to decompress.
+     * @param start The start of the byte run to decompress.
+     * @param limit The limit of the byte run to decompress.
+     * @return A character array containing the decompressed bytes.
+     * @see #decompress(byte [])
+     * @stable ICU 2.4
+     */
+    public static char [] decompress(byte [] buffer,
+                     int start,
+                     int limit)
+    {
+    UnicodeDecompressor comp = new UnicodeDecompressor();
+
+    // use a buffer we know will never overflow
+    // in the worst case, each byte will decompress
+    // to a surrogate pair (buffer must be at least 2 chars)
+    int len = Math.max(2, 2 * (limit - start));
+    char [] temp = new char [len];
+
+    int charCount = comp.decompress(buffer, start, limit, null, 
+                    temp, 0, len);
+
+    char [] result = new char [charCount];
+    System.arraycopy(temp, 0, result, 0, charCount);
+    return result;
+    }
+    
+    /**
+     * Decompress a byte array into a Unicode character array.
+     *
+     * This function will either completely fill the output buffer, 
+     * or consume the entire input.  
+     *
+     * @param byteBuffer The byte buffer to decompress.
+     * @param byteBufferStart The start of the byte run to decompress.
+     * @param byteBufferLimit The limit of the byte run to decompress.
+     * @param bytesRead A one-element array.  If not null, on return
+     * the number of bytes read from byteBuffer.
+     * @param charBuffer A buffer to receive the decompressed data. 
+     * This buffer must be at minimum two characters in size.
+     * @param charBufferStart The starting offset to which to write 
+     * decompressed data.
+     * @param charBufferLimit The limiting offset for writing 
+     * decompressed data.
+     * @return The number of Unicode characters written to charBuffer.
+     * @stable ICU 2.4
+     */
+    public int decompress(byte []    byteBuffer,
+              int        byteBufferStart,
+              int        byteBufferLimit,
+              int []     bytesRead,
+              char []    charBuffer,
+              int        charBufferStart,
+              int        charBufferLimit)
+    {
+    // the current position in the source byte buffer
+    int bytePos      = byteBufferStart;
+    
+    // the current position in the target char buffer
+    int ucPos        = charBufferStart;
+        
+        // the current byte from the source buffer
+    int aByte        = 0x00;
+
+
+    // charBuffer must be at least 2 chars in size
+    if(charBuffer.length < 2 || (charBufferLimit - charBufferStart) < 2)
+        throw new IllegalArgumentException("charBuffer.length < 2");
+    
+    // if our internal buffer isn't empty, flush its contents
+    // to the output buffer before doing any more decompression
+    if(fBufferLength > 0) {
+
+        int newBytes = 0;
+
+        // fill the buffer completely, to guarantee one full character
+        if(fBufferLength != BUFSIZE) {
+        newBytes = fBuffer.length - fBufferLength;
+
+        // verify there are newBytes bytes in byteBuffer
+        if(byteBufferLimit - byteBufferStart < newBytes)
+            newBytes = byteBufferLimit - byteBufferStart;
+
+        System.arraycopy(byteBuffer, byteBufferStart, 
+                 fBuffer, fBufferLength, newBytes);
+        }
+
+        // reset buffer length to 0 before recursive call
+        fBufferLength = 0;
+
+        // call self recursively to decompress the buffer
+        int count = decompress(fBuffer, 0, fBuffer.length, null,
+                   charBuffer, charBufferStart, 
+                   charBufferLimit);
+
+        // update the positions into the arrays
+        ucPos += count;
+        bytePos += newBytes;
+    }
+
+        // the main decompression loop
+    mainLoop:
+    while(bytePos < byteBufferLimit && ucPos < charBufferLimit) {
+        switch(fMode) {  
+        case SINGLEBYTEMODE:
+        // single-byte mode decompression loop
+        singleByteModeLoop:
+        while(bytePos < byteBufferLimit && ucPos < charBufferLimit) {
+        aByte = byteBuffer[bytePos++] & 0xFF;
+        switch(aByte) {
+            // All bytes from 0x80 through 0xFF are remapped
+            // to chars or surrogate pairs according to the
+            // currently active window
+        case 0x80: case 0x81: case 0x82: case 0x83: case 0x84: 
+        case 0x85: case 0x86: case 0x87: case 0x88: case 0x89:
+        case 0x8A: case 0x8B: case 0x8C: case 0x8D: case 0x8E:
+        case 0x8F: case 0x90: case 0x91: case 0x92: case 0x93:
+        case 0x94: case 0x95: case 0x96: case 0x97: case 0x98:
+        case 0x99: case 0x9A: case 0x9B: case 0x9C: case 0x9D:
+        case 0x9E: case 0x9F: case 0xA0: case 0xA1: case 0xA2:
+        case 0xA3: case 0xA4: case 0xA5: case 0xA6: case 0xA7:
+        case 0xA8: case 0xA9: case 0xAA: case 0xAB: case 0xAC:
+        case 0xAD: case 0xAE: case 0xAF: case 0xB0: case 0xB1:
+        case 0xB2: case 0xB3: case 0xB4: case 0xB5: case 0xB6:
+        case 0xB7: case 0xB8: case 0xB9: case 0xBA: case 0xBB:
+        case 0xBC: case 0xBD: case 0xBE: case 0xBF: case 0xC0:
+        case 0xC1: case 0xC2: case 0xC3: case 0xC4: case 0xC5:
+        case 0xC6: case 0xC7: case 0xC8: case 0xC9: case 0xCA:
+        case 0xCB: case 0xCC: case 0xCD: case 0xCE: case 0xCF:
+        case 0xD0: case 0xD1: case 0xD2: case 0xD3: case 0xD4:
+        case 0xD5: case 0xD6: case 0xD7: case 0xD8: case 0xD9:
+        case 0xDA: case 0xDB: case 0xDC: case 0xDD: case 0xDE:
+        case 0xDF: case 0xE0: case 0xE1: case 0xE2: case 0xE3:
+        case 0xE4: case 0xE5: case 0xE6: case 0xE7: case 0xE8:
+        case 0xE9: case 0xEA: case 0xEB: case 0xEC: case 0xED:
+        case 0xEE: case 0xEF: case 0xF0: case 0xF1: case 0xF2:
+        case 0xF3: case 0xF4: case 0xF5: case 0xF6: case 0xF7:
+        case 0xF8: case 0xF9: case 0xFA: case 0xFB: case 0xFC:
+        case 0xFD: case 0xFE: case 0xFF: 
+            // For offsets <= 0xFFFF, convert to a single char
+            // by adding the window's offset and subtracting
+            // the generic compression offset
+            if(fOffsets[ fCurrentWindow ] <= 0xFFFF) {
+            charBuffer[ucPos++] = (char) 
+                (aByte + fOffsets[ fCurrentWindow ] 
+                 - COMPRESSIONOFFSET);
+            }
+            // For offsets > 0x10000, convert to a surrogate pair by 
+            // normBase = window's offset - 0x10000
+            // high surr. = 0xD800 + (normBase >> 10)
+            // low  surr. = 0xDC00 + (normBase & 0x3FF) + (byte & 0x7F)
+            else {
+            // make sure there is enough room to write
+            // both characters 
+            // if not, save state and break out
+            if((ucPos + 1) >= charBufferLimit) {
+                --bytePos;
+                System.arraycopy(byteBuffer, bytePos,
+                         fBuffer, 0, 
+                         byteBufferLimit - bytePos);
+                fBufferLength = byteBufferLimit - bytePos;
+                bytePos += fBufferLength;
+                break mainLoop; 
+            }
+            
+            int normalizedBase = fOffsets[ fCurrentWindow ] 
+                - 0x10000;
+            charBuffer[ucPos++] = (char) 
+                (0xD800 + (normalizedBase >> 10));
+            charBuffer[ucPos++] = (char) 
+                (0xDC00 + (normalizedBase & 0x3FF)+(aByte & 0x7F));
+            }
+            break;
+
+            // bytes from 0x20 through 0x7F are treated as ASCII and
+            // are remapped to chars by padding the high byte
+            // (this is the same as quoting from static window 0)
+            // NUL (0x00), HT (0x09), CR (0x0A), LF (0x0D) 
+            // are treated as ASCII as well
+        case 0x00: case 0x09: case 0x0A: case 0x0D:
+        case 0x20: case 0x21: case 0x22: case 0x23: case 0x24:
+        case 0x25: case 0x26: case 0x27: case 0x28: case 0x29:
+        case 0x2A: case 0x2B: case 0x2C: case 0x2D: case 0x2E:
+        case 0x2F: case 0x30: case 0x31: case 0x32: case 0x33:
+        case 0x34: case 0x35: case 0x36: case 0x37: case 0x38:
+        case 0x39: case 0x3A: case 0x3B: case 0x3C: case 0x3D:
+        case 0x3E: case 0x3F: case 0x40: case 0x41: case 0x42:
+        case 0x43: case 0x44: case 0x45: case 0x46: case 0x47:
+        case 0x48: case 0x49: case 0x4A: case 0x4B: case 0x4C:
+        case 0x4D: case 0x4E: case 0x4F: case 0x50: case 0x51:
+        case 0x52: case 0x53: case 0x54: case 0x55: case 0x56:
+        case 0x57: case 0x58: case 0x59: case 0x5A: case 0x5B:
+        case 0x5C: case 0x5D: case 0x5E: case 0x5F: case 0x60:
+        case 0x61: case 0x62: case 0x63: case 0x64: case 0x65:
+        case 0x66: case 0x67: case 0x68: case 0x69: case 0x6A:
+        case 0x6B: case 0x6C: case 0x6D: case 0x6E: case 0x6F:
+        case 0x70: case 0x71: case 0x72: case 0x73: case 0x74:
+        case 0x75: case 0x76: case 0x77: case 0x78: case 0x79:
+        case 0x7A: case 0x7B: case 0x7C: case 0x7D: case 0x7E:
+        case 0x7F: 
+            charBuffer[ucPos++] = (char) aByte;
+            break;
+
+            // quote unicode
+        case SQUOTEU:
+            // verify we have two bytes following tag
+            // if not, save state and break out
+            if( (bytePos + 1) >= byteBufferLimit ) {
+            --bytePos;
+            System.arraycopy(byteBuffer, bytePos,
+                     fBuffer, 0, 
+                     byteBufferLimit - bytePos);
+            fBufferLength = byteBufferLimit - bytePos;
+            bytePos += fBufferLength;
+            break mainLoop; 
+            }
+                
+            aByte = byteBuffer[bytePos++];
+            charBuffer[ucPos++] = (char)
+            (aByte << 8 | (byteBuffer[bytePos++] & 0xFF));
+            break;
+
+            // switch to Unicode mode
+        case SCHANGEU:
+            fMode = UNICODEMODE;
+            break singleByteModeLoop;
+            //break;
+
+            // handle all quote tags
+        case SQUOTE0: case SQUOTE1: case SQUOTE2: case SQUOTE3:
+        case SQUOTE4: case SQUOTE5: case SQUOTE6: case SQUOTE7:
+            // verify there is a byte following the tag
+            // if not, save state and break out
+            if(bytePos >= byteBufferLimit) {
+            --bytePos;
+            System.arraycopy(byteBuffer, bytePos,
+                     fBuffer, 0, 
+                     byteBufferLimit - bytePos);
+            fBufferLength = byteBufferLimit - bytePos;
+            bytePos += fBufferLength;
+            break mainLoop; 
+            }
+                
+            // if the byte is in the range 0x00 - 0x7F, use
+            // static window n otherwise, use dynamic window n
+            int dByte = byteBuffer[bytePos++] & 0xFF;
+            charBuffer[ucPos++] = (char) 
+            (dByte+ (dByte >= 0x00 && dByte < 0x80 
+                 ? sOffsets[aByte - SQUOTE0] 
+                 : (fOffsets[aByte - SQUOTE0] 
+                    - COMPRESSIONOFFSET))); 
+            break;
+
+            // handle all change tags
+        case SCHANGE0: case SCHANGE1: case SCHANGE2: case SCHANGE3:
+        case SCHANGE4: case SCHANGE5: case SCHANGE6: case SCHANGE7:
+            fCurrentWindow = aByte - SCHANGE0;
+            break;
+
+            // handle all define tags
+        case SDEFINE0: case SDEFINE1: case SDEFINE2: case SDEFINE3:
+        case SDEFINE4: case SDEFINE5: case SDEFINE6: case SDEFINE7:
+            // verify there is a byte following the tag
+            // if not, save state and break out
+            if(bytePos >= byteBufferLimit) {
+            --bytePos;
+            System.arraycopy(byteBuffer, bytePos,
+                     fBuffer, 0, 
+                     byteBufferLimit - bytePos);
+            fBufferLength = byteBufferLimit - bytePos;
+            bytePos += fBufferLength;
+            break mainLoop; 
+            }
+
+            fCurrentWindow = aByte - SDEFINE0;
+            fOffsets[fCurrentWindow] = 
+            sOffsetTable[byteBuffer[bytePos++] & 0xFF];
+            break;
+
+            // handle define extended tag
+        case SDEFINEX:
+            // verify we have two bytes following tag
+            // if not, save state and break out
+            if((bytePos + 1) >= byteBufferLimit ) {
+            --bytePos;
+            System.arraycopy(byteBuffer, bytePos,
+                     fBuffer, 0, 
+                     byteBufferLimit - bytePos);
+            fBufferLength = byteBufferLimit - bytePos;
+            bytePos += fBufferLength;
+            break mainLoop; 
+            }
+                
+            aByte = byteBuffer[bytePos++] & 0xFF;
+            fCurrentWindow = (aByte & 0xE0) >> 5;
+            fOffsets[fCurrentWindow] = 0x10000 + 
+            (0x80 * (((aByte & 0x1F) << 8) 
+                 | (byteBuffer[bytePos++] & 0xFF)));
+            break;
+                            
+            // reserved, shouldn't happen
+        case SRESERVED:
+            break;
+
+        } // end switch
+        } // end while
+        break;
+
+        case UNICODEMODE:
+        // unicode mode decompression loop
+        unicodeModeLoop:
+        while(bytePos < byteBufferLimit && ucPos < charBufferLimit) {
+        aByte = byteBuffer[bytePos++] & 0xFF;
+        switch(aByte) {
+            // handle all define tags
+        case UDEFINE0: case UDEFINE1: case UDEFINE2: case UDEFINE3:
+        case UDEFINE4: case UDEFINE5: case UDEFINE6: case UDEFINE7:
+            // verify there is a byte following tag
+            // if not, save state and break out
+            if(bytePos >= byteBufferLimit ) {
+            --bytePos;
+            System.arraycopy(byteBuffer, bytePos,
+                     fBuffer, 0, 
+                     byteBufferLimit - bytePos);
+            fBufferLength = byteBufferLimit - bytePos;
+            bytePos += fBufferLength;
+            break mainLoop; 
+            }
+                
+            fCurrentWindow = aByte - UDEFINE0;
+            fOffsets[fCurrentWindow] = 
+            sOffsetTable[byteBuffer[bytePos++] & 0xFF];
+            fMode = SINGLEBYTEMODE;
+            break unicodeModeLoop;
+            //break;
+
+            // handle define extended tag
+        case UDEFINEX:
+            // verify we have two bytes following tag
+            // if not, save state and break out
+            if((bytePos + 1) >= byteBufferLimit ) {
+            --bytePos;
+            System.arraycopy(byteBuffer, bytePos,
+                     fBuffer, 0, 
+                     byteBufferLimit - bytePos);
+            fBufferLength = byteBufferLimit - bytePos;
+            bytePos += fBufferLength;
+            break mainLoop; 
+            }
+            
+            aByte = byteBuffer[bytePos++] & 0xFF;
+            fCurrentWindow = (aByte & 0xE0) >> 5;
+            fOffsets[fCurrentWindow] = 0x10000 + 
+            (0x80 * (((aByte & 0x1F) << 8) 
+                 | (byteBuffer[bytePos++] & 0xFF)));
+            fMode = SINGLEBYTEMODE;
+            break unicodeModeLoop;
+            //break;
+
+            // handle all change tags
+        case UCHANGE0: case UCHANGE1: case UCHANGE2: case UCHANGE3:
+        case UCHANGE4: case UCHANGE5: case UCHANGE6: case UCHANGE7:
+            fCurrentWindow = aByte - UCHANGE0;
+            fMode = SINGLEBYTEMODE;
+            break unicodeModeLoop;
+            //break;
+
+            // quote unicode
+        case UQUOTEU:
+            // verify we have two bytes following tag
+            // if not, save state and break out
+            if(bytePos >= byteBufferLimit  - 1) {
+            --bytePos;
+            System.arraycopy(byteBuffer, bytePos,
+                     fBuffer, 0, 
+                     byteBufferLimit - bytePos);
+            fBufferLength = byteBufferLimit - bytePos;
+            bytePos += fBufferLength;
+            break mainLoop; 
+            }
+                
+            aByte = byteBuffer[bytePos++];
+            charBuffer[ucPos++] = (char) 
+            (aByte << 8 | (byteBuffer[bytePos++] & 0xFF));
+            break;
+
+        default:
+            // verify there is a byte following tag
+            // if not, save state and break out
+            if(bytePos >= byteBufferLimit ) {
+            --bytePos;
+            System.arraycopy(byteBuffer, bytePos,
+                     fBuffer, 0, 
+                     byteBufferLimit - bytePos);
+            fBufferLength = byteBufferLimit - bytePos;
+            bytePos += fBufferLength;
+            break mainLoop; 
+            }
+
+            charBuffer[ucPos++] = (char) 
+            (aByte << 8 | (byteBuffer[bytePos++] & 0xFF));
+            break;
+
+        } // end switch
+        } // end while
+        break;
+        
+        } // end switch( fMode )
+    } // end while
+
+        // fill in output parameter
+    if(bytesRead != null)
+        bytesRead [0] = (bytePos - byteBufferStart);
+
+        // return # of chars written
+    return (ucPos - charBufferStart);
+    }
+
+    /** 
+     * Reset the decompressor to its initial state. 
+     * @stable ICU 2.4
+     */
+    public void reset()
+    {
+        // reset dynamic windows
+        fOffsets[0] = 0x0080;    // Latin-1
+        fOffsets[1] = 0x00C0;    // Latin-1 Supplement + Latin Extended-A
+        fOffsets[2] = 0x0400;    // Cyrillic
+        fOffsets[3] = 0x0600;    // Arabic
+        fOffsets[4] = 0x0900;    // Devanagari
+        fOffsets[5] = 0x3040;    // Hiragana
+        fOffsets[6] = 0x30A0;    // Katakana
+        fOffsets[7] = 0xFF00;    // Fullwidth ASCII
+
+
+        fCurrentWindow  = 0;                // Make current window Latin-1
+        fMode           = SINGLEBYTEMODE;   // Always start in single-byte mode
+    fBufferLength   = 0;                // Empty buffer
+    }
+};
diff --git a/src/com/ibm/icu/text/UnicodeFilter.java b/src/com/ibm/icu/text/UnicodeFilter.java
new file mode 100755
index 0000000..3934327
--- /dev/null
+++ b/src/com/ibm/icu/text/UnicodeFilter.java
@@ -0,0 +1,69 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.text;
+
+/**
+ * <code>UnicodeFilter</code> defines a protocol for selecting a
+ * subset of the full range (U+0000 to U+FFFF) of Unicode characters.
+ * Currently, filters are used in conjunction with classes like {@link
+ * Transliterator} to only process selected characters through a
+ * transformation.
+ * @stable ICU 2.0
+ */
+public abstract class UnicodeFilter implements UnicodeMatcher {
+
+    /**
+     * Returns <tt>true</tt> for characters that are in the selected
+     * subset.  In other words, if a character is <b>to be
+     * filtered</b>, then <tt>contains()</tt> returns
+     * <b><tt>false</tt></b>.
+     * @stable ICU 2.0
+     */
+    public abstract boolean contains(int c);
+
+    /**
+     * Default implementation of UnicodeMatcher::matches() for Unicode
+     * filters.  Matches a single 16-bit code unit at offset.
+     * @stable ICU 2.0
+     */
+    public int matches(Replaceable text,
+                       int[] offset,
+                       int limit,
+                       boolean incremental) {
+        int c;
+        if (offset[0] < limit &&
+            contains(c = text.char32At(offset[0]))) {
+            offset[0] += UTF16.getCharCount(c);
+            return U_MATCH;
+        }
+        if (offset[0] > limit &&
+            contains(c = text.char32At(offset[0]))) {
+            // Backup offset by 1, unless the preceding character is a
+            // surrogate pair -- then backup by 2 (keep offset pointing at
+            // the lead surrogate).
+            --offset[0];
+            if (offset[0] >= 0) {
+                offset[0] -= UTF16.getCharCount(text.char32At(offset[0])) - 1;
+            }
+            return U_MATCH;
+        }
+        if (incremental && offset[0] == limit) {
+            return U_PARTIAL_MATCH;
+        }
+        return U_MISMATCH;
+    }
+
+    /**
+     * (This should not be here; it is declared to make CheckTags
+     * happy.  Java inserts a synthetic constructor and CheckTags
+     * can't tell that it's synthetic.)
+     *
+     * TODO Remove this when the JDK property implements MemberDoc.isSynthetic
+     * @internal
+     */
+    protected UnicodeFilter() {}
+}
diff --git a/src/com/ibm/icu/text/UnicodeMatcher.java b/src/com/ibm/icu/text/UnicodeMatcher.java
new file mode 100755
index 0000000..a82359a
--- /dev/null
+++ b/src/com/ibm/icu/text/UnicodeMatcher.java
@@ -0,0 +1,138 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2001-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.text;
+
+/**
+ * <code>UnicodeMatcher</code> defines a protocol for objects that can
+ * match a range of characters in a Replaceable string.
+ * @stable ICU 2.0
+ */
+public interface UnicodeMatcher {
+
+    /**
+     * Constant returned by <code>matches()</code> indicating a
+     * mismatch between the text and this matcher.  The text contains
+     * a character which does not match, or the text does not contain
+     * all desired characters for a non-incremental match.
+     * @stable ICU 2.0
+     */
+    public static final int U_MISMATCH = 0;
+
+    /**
+     * Constant returned by <code>matches()</code> indicating a
+     * partial match between the text and this matcher.  This value is
+     * only returned for incremental match operations.  All characters
+     * of the text match, but more characters are required for a
+     * complete match.  Alternatively, for variable-length matchers,
+     * all characters of the text match, and if more characters were
+     * supplied at limit, they might also match.
+     * @stable ICU 2.0
+     */
+    public static final int U_PARTIAL_MATCH = 1;
+
+    /**
+     * Constant returned by <code>matches()</code> indicating a
+     * complete match between the text and this matcher.  For an
+     * incremental variable-length match, this value is returned if
+     * the given text matches, and it is known that additional
+     * characters would not alter the extent of the match.
+     * @stable ICU 2.0
+     */
+    public static final int U_MATCH = 2;
+
+    /**
+     * The character at index i, where i < contextStart || i >= contextLimit,
+     * is ETHER.  This allows explicit matching by rules and UnicodeSets
+     * of text outside the context.  In traditional terms, this allows anchoring
+     * at the start and/or end.
+     * @stable ICU 2.0
+     */
+    static final char ETHER = '\uFFFF';
+
+    /**
+     * Return a UMatchDegree value indicating the degree of match for
+     * the given text at the given offset.  Zero, one, or more
+     * characters may be matched.
+     *
+     * Matching in the forward direction is indicated by limit >
+     * offset.  Characters from offset forwards to limit-1 will be
+     * considered for matching.
+     *
+     * Matching in the reverse direction is indicated by limit <
+     * offset.  Characters from offset backwards to limit+1 will be
+     * considered for matching.
+     *
+     * If limit == offset then the only match possible is a zero
+     * character match (which subclasses may implement if desired).
+     *
+     * If U_MATCH is returned, then as a side effect, advance the
+     * offset parameter to the limit of the matched substring.  In the
+     * forward direction, this will be the index of the last matched
+     * character plus one.  In the reverse direction, this will be the
+     * index of the last matched character minus one.
+     *
+     * @param text the text to be matched
+     * @param offset on input, the index into text at which to begin
+     * matching.  On output, the limit of the matched text.  The
+     * number of matched characters is the output value of offset
+     * minus the input value.  Offset should always point to the
+     * HIGH SURROGATE (leading code unit) of a pair of surrogates,
+     * both on entry and upon return.
+     * @param limit the limit index of text to be matched.  Greater
+     * than offset for a forward direction match, less than offset for
+     * a backward direction match.  The last character to be
+     * considered for matching will be text.charAt(limit-1) in the
+     * forward direction or text.charAt(limit+1) in the backward
+     * direction.
+     * @param incremental if TRUE, then assume further characters may
+     * be inserted at limit and check for partial matching.  Otherwise
+     * assume the text as given is complete.
+     * @return a match degree value indicating a full match, a partial
+     * match, or a mismatch.  If incremental is FALSE then
+     * U_PARTIAL_MATCH should never be returned.
+     * @stable ICU 2.0
+     */
+    public abstract int matches(Replaceable text,
+                                int[] offset,
+                                int limit,
+                                boolean incremental);
+
+    /**
+     * Returns a string representation of this matcher.  If the result of
+     * calling this function is passed to the appropriate parser, it
+     * will produce another matcher that is equal to this one.
+     * @param escapeUnprintable if TRUE then convert unprintable
+     * character to their hex escape representations, \\uxxxx or
+     * \\Uxxxxxxxx.  Unprintable characters are those other than
+     * U+000A, U+0020..U+007E.
+     * @stable ICU 2.0
+     */
+    public abstract String toPattern(boolean escapeUnprintable);
+
+    /**
+     * Returns TRUE if this matcher will match a character c, where c
+     * & 0xFF == v, at offset, in the forward direction (with limit >
+     * offset).  This is used by <tt>RuleBasedTransliterator</tt> for
+     * indexing.
+     *
+     * <p>Note:  This API uses an int even though the value will be
+     * restricted to 8 bits in order to avoid complications with
+     * signedness (bytes convert to ints in the range -128..127).
+     * @stable ICU 2.0
+     */
+    public abstract boolean matchesIndexValue(int v);
+
+    /**
+     * Union the set of all characters that may be matched by this object
+     * into the given set.
+     * @param toUnionTo the set into which to union the source characters
+     * @stable ICU 2.2
+     */
+    public abstract void addMatchSetTo(UnicodeSet toUnionTo);
+}
+
+//eof
diff --git a/src/com/ibm/icu/text/UnicodeNameTransliterator.java b/src/com/ibm/icu/text/UnicodeNameTransliterator.java
new file mode 100755
index 0000000..60fe496
--- /dev/null
+++ b/src/com/ibm/icu/text/UnicodeNameTransliterator.java
@@ -0,0 +1,73 @@
+/*
+ * Copyright (C) 1996-2004, International Business Machines Corporation and
+ * others. All Rights Reserved.
+ */
+package com.ibm.icu.text;
+import com.ibm.icu.lang.*;
+
+/**
+ * A transliterator that performs character to name mapping.
+ * It generates the Perl syntax \N{name}.
+ * @author Alan Liu
+ */
+class UnicodeNameTransliterator extends Transliterator {
+
+    static final String _ID = "Any-Name";
+
+    static final String OPEN_DELIM = "\\N{";
+    static final char CLOSE_DELIM = '}';
+    static final int OPEN_DELIM_LEN = 3;
+
+    /**
+     * System registration hook.
+     */
+    static void register() {
+        Transliterator.registerFactory(_ID, new Transliterator.Factory() {
+            public Transliterator getInstance(String ID) {
+                return new UnicodeNameTransliterator(null);
+            }
+        });
+    }
+
+    /**
+     * Constructs a transliterator.
+     */
+    public UnicodeNameTransliterator(UnicodeFilter filter) {
+        super(_ID, filter);
+    }
+
+    /**
+     * Implements {@link Transliterator#handleTransliterate}.
+     */
+    protected void handleTransliterate(Replaceable text,
+                                       Position offsets, boolean isIncremental) {
+        int cursor = offsets.start;
+        int limit = offsets.limit;
+        
+        StringBuffer str = new StringBuffer();
+        str.append(OPEN_DELIM);
+        int len;
+        String name;
+        
+        while (cursor < limit) {
+            int c = text.char32At(cursor);
+            if ((name=UCharacter.getExtendedName(c)) != null) {
+                
+                str.setLength(OPEN_DELIM_LEN);
+                str.append(name).append(CLOSE_DELIM);
+
+                int clen = UTF16.getCharCount(c);
+                text.replace(cursor, cursor+clen, str.toString());
+                len = str.length();
+                cursor += len; // advance cursor by 1 and adjust for new text
+                limit += len-clen; // change in length
+            } else {
+                ++cursor;
+            }
+        }
+
+        offsets.contextLimit += limit - offsets.limit;
+        offsets.limit = limit;
+        offsets.start = cursor;
+    }
+}
diff --git a/src/com/ibm/icu/text/UnicodeReplacer.java b/src/com/ibm/icu/text/UnicodeReplacer.java
new file mode 100755
index 0000000..49c4c37
--- /dev/null
+++ b/src/com/ibm/icu/text/UnicodeReplacer.java
@@ -0,0 +1,64 @@
+/*
+**********************************************************************
+*   Copyright (c) 2002, International Business Machines Corporation
+*   and others.  All Rights Reserved.
+**********************************************************************
+*   Date        Name        Description
+*   01/14/2002  aliu        Creation.
+**********************************************************************
+*/
+
+package com.ibm.icu.text;
+
+/**
+ * <code>UnicodeReplacer</code> defines a protocol for objects that
+ * replace a range of characters in a Replaceable string with output
+ * text.  The replacement is done via the Replaceable API so as to
+ * preserve out-of-band data.
+ * @author Alan Liu
+ */
+interface UnicodeReplacer {
+
+    /**
+     * Replace characters in 'text' from 'start' to 'limit' with the
+     * output text of this object.  Update the 'cursor' parameter to
+     * give the cursor position and return the length of the
+     * replacement text.
+     *
+     * @param text the text to be matched
+     * @param start inclusive start index of text to be replaced
+     * @param limit exclusive end index of text to be replaced;
+     * must be greater than or equal to start
+     * @param cursor output parameter for the cursor position.
+     * Not all replacer objects will update this, but in a complete
+     * tree of replacer objects, representing the entire output side
+     * of a transliteration rule, at least one must update it.
+     * @return the number of 16-bit code units in the text replacing
+     * the characters at offsets start..(limit-1) in text
+     */
+    public abstract int replace(Replaceable text,
+                                int start,
+                                int limit,
+                                int[] cursor);
+
+    /**
+     * Returns a string representation of this replacer.  If the
+     * result of calling this function is passed to the appropriate
+     * parser, typically TransliteratorParser, it will produce another
+     * replacer that is equal to this one.
+     * @param escapeUnprintable if TRUE then convert unprintable
+     * character to their hex escape representations, \\uxxxx or
+     * \\Uxxxxxxxx.  Unprintable characters are defined by
+     * Utility.isUnprintable().
+     */
+    public abstract String toReplacerPattern(boolean escapeUnprintable);
+
+    /**
+     * Union the set of all characters that may output by this object
+     * into the given set.
+     * @param toUnionTo the set into which to union the output characters
+     */
+    public abstract void addReplacementSetTo(UnicodeSet toUnionTo);
+}
+
+//eof
diff --git a/src/com/ibm/icu/text/UnicodeSet.java b/src/com/ibm/icu/text/UnicodeSet.java
new file mode 100755
index 0000000..8d48775
--- /dev/null
+++ b/src/com/ibm/icu/text/UnicodeSet.java
@@ -0,0 +1,3402 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.text;
+
+import java.text.*;
+import com.ibm.icu.lang.*;
+
+import java.io.IOException;
+
+import com.ibm.icu.impl.NormalizerImpl;
+import com.ibm.icu.impl.Utility;
+import com.ibm.icu.impl.UCharacterProperty;
+import com.ibm.icu.impl.UBiDiProps;
+import com.ibm.icu.impl.UCaseProps;
+import com.ibm.icu.impl.UPropertyAliases;
+import com.ibm.icu.impl.SortedSetRelation;
+import com.ibm.icu.impl.RuleCharacterIterator;
+
+import com.ibm.icu.util.ULocale;
+import com.ibm.icu.util.VersionInfo;
+
+import com.ibm.icu.text.BreakIterator;
+
+import java.util.Map;
+import java.util.HashMap;
+import java.util.MissingResourceException;
+import java.util.TreeSet;
+import java.util.Iterator;
+import java.util.Collection;
+
+/**
+ * A mutable set of Unicode characters and multicharacter strings.  Objects of this class
+ * represent <em>character classes</em> used in regular expressions.
+ * A character specifies a subset of Unicode code points.  Legal
+ * code points are U+0000 to U+10FFFF, inclusive.
+ *
+ * <p>The UnicodeSet class is not designed to be subclassed.
+ *
+ * <p><code>UnicodeSet</code> supports two APIs. The first is the
+ * <em>operand</em> API that allows the caller to modify the value of
+ * a <code>UnicodeSet</code> object. It conforms to Java 2's
+ * <code>java.util.Set</code> interface, although
+ * <code>UnicodeSet</code> does not actually implement that
+ * interface. All methods of <code>Set</code> are supported, with the
+ * modification that they take a character range or single character
+ * instead of an <code>Object</code>, and they take a
+ * <code>UnicodeSet</code> instead of a <code>Collection</code>.  The
+ * operand API may be thought of in terms of boolean logic: a boolean
+ * OR is implemented by <code>add</code>, a boolean AND is implemented
+ * by <code>retain</code>, a boolean XOR is implemented by
+ * <code>complement</code> taking an argument, and a boolean NOT is
+ * implemented by <code>complement</code> with no argument.  In terms
+ * of traditional set theory function names, <code>add</code> is a
+ * union, <code>retain</code> is an intersection, <code>remove</code>
+ * is an asymmetric difference, and <code>complement</code> with no
+ * argument is a set complement with respect to the superset range
+ * <code>MIN_VALUE-MAX_VALUE</code>
+ *
+ * <p>The second API is the
+ * <code>applyPattern()</code>/<code>toPattern()</code> API from the
+ * <code>java.text.Format</code>-derived classes.  Unlike the
+ * methods that add characters, add categories, and control the logic
+ * of the set, the method <code>applyPattern()</code> sets all
+ * attributes of a <code>UnicodeSet</code> at once, based on a
+ * string pattern.
+ *
+ * <p><b>Pattern syntax</b></p>
+ *
+ * Patterns are accepted by the constructors and the
+ * <code>applyPattern()</code> methods and returned by the
+ * <code>toPattern()</code> method.  These patterns follow a syntax
+ * similar to that employed by version 8 regular expression character
+ * classes.  Here are some simple examples:
+ *
+ * <blockquote>
+ *   <table>
+ *     <tr align="top">
+ *       <td nowrap valign="top" align="left"><code>[]</code></td>
+ *       <td valign="top">No characters</td>
+ *     </tr><tr align="top">
+ *       <td nowrap valign="top" align="left"><code>[a]</code></td>
+ *       <td valign="top">The character 'a'</td>
+ *     </tr><tr align="top">
+ *       <td nowrap valign="top" align="left"><code>[ae]</code></td>
+ *       <td valign="top">The characters 'a' and 'e'</td>
+ *     </tr>
+ *     <tr>
+ *       <td nowrap valign="top" align="left"><code>[a-e]</code></td>
+ *       <td valign="top">The characters 'a' through 'e' inclusive, in Unicode code
+ *       point order</td>
+ *     </tr>
+ *     <tr>
+ *       <td nowrap valign="top" align="left"><code>[\\u4E01]</code></td>
+ *       <td valign="top">The character U+4E01</td>
+ *     </tr>
+ *     <tr>
+ *       <td nowrap valign="top" align="left"><code>[a{ab}{ac}]</code></td>
+ *       <td valign="top">The character 'a' and the multicharacter strings &quot;ab&quot; and
+ *       &quot;ac&quot;</td>
+ *     </tr>
+ *     <tr>
+ *       <td nowrap valign="top" align="left"><code>[\p{Lu}]</code></td>
+ *       <td valign="top">All characters in the general category Uppercase Letter</td>
+ *     </tr>
+ *   </table>
+ * </blockquote>
+ *
+ * Any character may be preceded by a backslash in order to remove any special
+ * meaning.  White space characters, as defined by UCharacterProperty.isRuleWhiteSpace(), are
+ * ignored, unless they are escaped.
+ *
+ * <p>Property patterns specify a set of characters having a certain
+ * property as defined by the Unicode standard.  Both the POSIX-like
+ * "[:Lu:]" and the Perl-like syntax "\p{Lu}" are recognized.  For a
+ * complete list of supported property patterns, see the User's Guide
+ * for UnicodeSet at
+ * <a href="http://icu.sourceforge.net/userguide/unicodeSet.html">
+ * http://icu.sourceforge.net/userguide/unicodeSet.html</a>.
+ * Actual determination of property data is defined by the underlying
+ * Unicode database as implemented by UCharacter.
+ *
+ * <p>Patterns specify individual characters, ranges of characters, and
+ * Unicode property sets.  When elements are concatenated, they
+ * specify their union.  To complement a set, place a '^' immediately
+ * after the opening '['.  Property patterns are inverted by modifying
+ * their delimiters; "[:^foo]" and "\P{foo}".  In any other location,
+ * '^' has no special meaning.
+ *
+ * <p>Ranges are indicated by placing two a '-' between two
+ * characters, as in "a-z".  This specifies the range of all
+ * characters from the left to the right, in Unicode order.  If the
+ * left character is greater than or equal to the
+ * right character it is a syntax error.  If a '-' occurs as the first
+ * character after the opening '[' or '[^', or if it occurs as the
+ * last character before the closing ']', then it is taken as a
+ * literal.  Thus "[a\\-b]", "[-ab]", and "[ab-]" all indicate the same
+ * set of three characters, 'a', 'b', and '-'.
+ *
+ * <p>Sets may be intersected using the '&' operator or the asymmetric
+ * set difference may be taken using the '-' operator, for example,
+ * "[[:L:]&[\\u0000-\\u0FFF]]" indicates the set of all Unicode letters
+ * with values less than 4096.  Operators ('&' and '|') have equal
+ * precedence and bind left-to-right.  Thus
+ * "[[:L:]-[a-z]-[\\u0100-\\u01FF]]" is equivalent to
+ * "[[[:L:]-[a-z]]-[\\u0100-\\u01FF]]".  This only really matters for
+ * difference; intersection is commutative.
+ *
+ * <table>
+ * <tr valign=top><td nowrap><code>[a]</code><td>The set containing 'a'
+ * <tr valign=top><td nowrap><code>[a-z]</code><td>The set containing 'a'
+ * through 'z' and all letters in between, in Unicode order
+ * <tr valign=top><td nowrap><code>[^a-z]</code><td>The set containing
+ * all characters but 'a' through 'z',
+ * that is, U+0000 through 'a'-1 and 'z'+1 through U+10FFFF
+ * <tr valign=top><td nowrap><code>[[<em>pat1</em>][<em>pat2</em>]]</code>
+ * <td>The union of sets specified by <em>pat1</em> and <em>pat2</em>
+ * <tr valign=top><td nowrap><code>[[<em>pat1</em>]&[<em>pat2</em>]]</code>
+ * <td>The intersection of sets specified by <em>pat1</em> and <em>pat2</em>
+ * <tr valign=top><td nowrap><code>[[<em>pat1</em>]-[<em>pat2</em>]]</code>
+ * <td>The asymmetric difference of sets specified by <em>pat1</em> and
+ * <em>pat2</em>
+ * <tr valign=top><td nowrap><code>[:Lu:] or \p{Lu}</code>
+ * <td>The set of characters having the specified
+ * Unicode property; in
+ * this case, Unicode uppercase letters
+ * <tr valign=top><td nowrap><code>[:^Lu:] or \P{Lu}</code>
+ * <td>The set of characters <em>not</em> having the given
+ * Unicode property
+ * </table>
+ *
+ * <p><b>Warning</b>: you cannot add an empty string ("") to a UnicodeSet.</p>
+ *
+ * <p><b>Formal syntax</b></p>
+ *
+ * <blockquote>
+ *   <table>
+ *     <tr align="top">
+ *       <td nowrap valign="top" align="right"><code>pattern :=&nbsp; </code></td>
+ *       <td valign="top"><code>('[' '^'? item* ']') |
+ *       property</code></td>
+ *     </tr>
+ *     <tr align="top">
+ *       <td nowrap valign="top" align="right"><code>item :=&nbsp; </code></td>
+ *       <td valign="top"><code>char | (char '-' char) | pattern-expr<br>
+ *       </code></td>
+ *     </tr>
+ *     <tr align="top">
+ *       <td nowrap valign="top" align="right"><code>pattern-expr :=&nbsp; </code></td>
+ *       <td valign="top"><code>pattern | pattern-expr pattern |
+ *       pattern-expr op pattern<br>
+ *       </code></td>
+ *     </tr>
+ *     <tr align="top">
+ *       <td nowrap valign="top" align="right"><code>op :=&nbsp; </code></td>
+ *       <td valign="top"><code>'&amp;' | '-'<br>
+ *       </code></td>
+ *     </tr>
+ *     <tr align="top">
+ *       <td nowrap valign="top" align="right"><code>special :=&nbsp; </code></td>
+ *       <td valign="top"><code>'[' | ']' | '-'<br>
+ *       </code></td>
+ *     </tr>
+ *     <tr align="top">
+ *       <td nowrap valign="top" align="right"><code>char :=&nbsp; </code></td>
+ *       <td valign="top"><em>any character that is not</em><code> special<br>
+ *       | ('\\' </code><em>any character</em><code>)<br>
+ *       | ('&#92;u' hex hex hex hex)<br>
+ *       </code></td>
+ *     </tr>
+ *     <tr align="top">
+ *       <td nowrap valign="top" align="right"><code>hex :=&nbsp; </code></td>
+ *       <td valign="top"><em>any character for which
+ *       </em><code>Character.digit(c, 16)</code><em>
+ *       returns a non-negative result</em></td>
+ *     </tr>
+ *     <tr>
+ *       <td nowrap valign="top" align="right"><code>property :=&nbsp; </code></td>
+ *       <td valign="top"><em>a Unicode property set pattern</td>
+ *     </tr>
+ *   </table>
+ *   <br>
+ *   <table border="1">
+ *     <tr>
+ *       <td>Legend: <table>
+ *         <tr>
+ *           <td nowrap valign="top"><code>a := b</code></td>
+ *           <td width="20" valign="top">&nbsp; </td>
+ *           <td valign="top"><code>a</code> may be replaced by <code>b</code> </td>
+ *         </tr>
+ *         <tr>
+ *           <td nowrap valign="top"><code>a?</code></td>
+ *           <td valign="top"></td>
+ *           <td valign="top">zero or one instance of <code>a</code><br>
+ *           </td>
+ *         </tr>
+ *         <tr>
+ *           <td nowrap valign="top"><code>a*</code></td>
+ *           <td valign="top"></td>
+ *           <td valign="top">one or more instances of <code>a</code><br>
+ *           </td>
+ *         </tr>
+ *         <tr>
+ *           <td nowrap valign="top"><code>a | b</code></td>
+ *           <td valign="top"></td>
+ *           <td valign="top">either <code>a</code> or <code>b</code><br>
+ *           </td>
+ *         </tr>
+ *         <tr>
+ *           <td nowrap valign="top"><code>'a'</code></td>
+ *           <td valign="top"></td>
+ *           <td valign="top">the literal string between the quotes </td>
+ *         </tr>
+ *       </table>
+ *       </td>
+ *     </tr>
+ *   </table>
+ * </blockquote>
+ *
+ * @author Alan Liu
+ * @stable ICU 2.0
+ */
+public class UnicodeSet extends UnicodeFilter {
+
+    private static final int LOW = 0x000000; // LOW <= all valid values. ZERO for codepoints
+    private static final int HIGH = 0x110000; // HIGH > all valid values. 10000 for code units.
+                                             // 110000 for codepoints
+
+    /**
+     * Minimum value that can be stored in a UnicodeSet.
+     * @stable ICU 2.0
+     */
+    public static final int MIN_VALUE = LOW;
+
+    /**
+     * Maximum value that can be stored in a UnicodeSet.
+     * @stable ICU 2.0
+     */
+    public static final int MAX_VALUE = HIGH - 1;
+
+    private int len;      // length used; list may be longer to minimize reallocs
+    private int[] list;   // MUST be terminated with HIGH
+    private int[] rangeList; // internal buffer
+    private int[] buffer; // internal buffer
+
+    // NOTE: normally the field should be of type SortedSet; but that is missing a public clone!!
+    // is not private so that UnicodeSetIterator can get access
+    TreeSet strings = new TreeSet();
+
+    /**
+     * The pattern representation of this set.  This may not be the
+     * most economical pattern.  It is the pattern supplied to
+     * applyPattern(), with variables substituted and whitespace
+     * removed.  For sets constructed without applyPattern(), or
+     * modified using the non-pattern API, this string will be null,
+     * indicating that toPattern() must generate a pattern
+     * representation from the inversion list.
+     */
+    private String pat = null;
+
+    private static final int START_EXTRA = 16;         // initial storage. Must be >= 0
+    private static final int GROW_EXTRA = START_EXTRA; // extra amount for growth. Must be >= 0
+
+    // Special property set IDs
+    private static final String ANY_ID   = "ANY";   // [\u0000-\U0010FFFF]
+    private static final String ASCII_ID = "ASCII"; // [\u0000-\u007F]
+    private static final String ASSIGNED = "Assigned"; // [:^Cn:]
+
+    /**
+     * A set of all characters _except_ the second through last characters of
+     * certain ranges.  These ranges are ranges of characters whose
+     * properties are all exactly alike, e.g. CJK Ideographs from
+     * U+4E00 to U+9FA5.
+     */
+    private static UnicodeSet INCLUSIONS[] = null;
+
+    //----------------------------------------------------------------
+    // Public API
+    //----------------------------------------------------------------
+
+    /**
+     * Constructs an empty set.
+     * @stable ICU 2.0
+     */
+    public UnicodeSet() {
+        list = new int[1 + START_EXTRA];
+        list[len++] = HIGH;
+    }
+
+    /**
+     * Constructs a copy of an existing set.
+     * @stable ICU 2.0
+     */
+    public UnicodeSet(UnicodeSet other) {
+        set(other);
+    }
+
+    /**
+     * Constructs a set containing the given range. If <code>end >
+     * start</code> then an empty set is created.
+     *
+     * @param start first character, inclusive, of range
+     * @param end last character, inclusive, of range
+     * @stable ICU 2.0
+     */
+    public UnicodeSet(int start, int end) {
+        this();
+        complement(start, end);
+    }
+
+    /**
+     * Constructs a set from the given pattern.  See the class description
+     * for the syntax of the pattern language.  Whitespace is ignored.
+     * @param pattern a string specifying what characters are in the set
+     * @exception java.lang.IllegalArgumentException if the pattern contains
+     * a syntax error.
+     * @stable ICU 2.0
+     */
+    public UnicodeSet(String pattern) {
+        this();
+        applyPattern(pattern, null, null, IGNORE_SPACE);
+    }
+
+    /**
+     * Constructs a set from the given pattern.  See the class description
+     * for the syntax of the pattern language.
+     * @param pattern a string specifying what characters are in the set
+     * @param ignoreWhitespace if true, ignore characters for which
+     * UCharacterProperty.isRuleWhiteSpace() returns true
+     * @exception java.lang.IllegalArgumentException if the pattern contains
+     * a syntax error.
+     * @stable ICU 2.0
+     */
+    public UnicodeSet(String pattern, boolean ignoreWhitespace) {
+        this();
+        applyPattern(pattern, null, null, ignoreWhitespace ? IGNORE_SPACE : 0);
+    }
+
+    /**
+     * Constructs a set from the given pattern.  See the class description
+     * for the syntax of the pattern language.
+     * @param pattern a string specifying what characters are in the set
+     * @param options a bitmask indicating which options to apply.
+     * Valid options are IGNORE_SPACE and CASE.
+     * @exception java.lang.IllegalArgumentException if the pattern contains
+     * a syntax error.
+     * @internal
+     */
+    public UnicodeSet(String pattern, int options) {
+        this();
+        applyPattern(pattern, null, null, options);
+    }
+
+    /**
+     * Constructs a set from the given pattern.  See the class description
+     * for the syntax of the pattern language.
+     * @param pattern a string specifying what characters are in the set
+     * @param pos on input, the position in pattern at which to start parsing.
+     * On output, the position after the last character parsed.
+     * @param symbols a symbol table mapping variables to char[] arrays
+     * and chars to UnicodeSets
+     * @exception java.lang.IllegalArgumentException if the pattern
+     * contains a syntax error.
+     * @stable ICU 2.0
+     */
+    public UnicodeSet(String pattern, ParsePosition pos, SymbolTable symbols) {
+        this();
+        applyPattern(pattern, pos, symbols, IGNORE_SPACE);
+    }
+
+    /**
+     * Constructs a set from the given pattern.  See the class description
+     * for the syntax of the pattern language.
+     * @param pattern a string specifying what characters are in the set
+     * @param pos on input, the position in pattern at which to start parsing.
+     * On output, the position after the last character parsed.
+     * @param symbols a symbol table mapping variables to char[] arrays
+     * and chars to UnicodeSets
+     * @param options a bitmask indicating which options to apply.
+     * Valid options are IGNORE_SPACE and CASE.
+     * @exception java.lang.IllegalArgumentException if the pattern
+     * contains a syntax error.
+     * @draft ICU 3.2
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public UnicodeSet(String pattern, ParsePosition pos, SymbolTable symbols, int options) {
+        this();
+        applyPattern(pattern, pos, symbols, options);
+    }
+
+
+    /**
+     * Return a new set that is equivalent to this one.
+     * @stable ICU 2.0
+     */
+    public Object clone() {
+        return new UnicodeSet(this);
+    }
+
+    /**
+     * Make this object represent the range <code>start - end</code>.
+     * If <code>end > start</code> then this object is set to an
+     * an empty range.
+     *
+     * @param start first character in the set, inclusive
+     * @param end last character in the set, inclusive
+     * @stable ICU 2.0
+     */
+    public UnicodeSet set(int start, int end) {
+        clear();
+        complement(start, end);
+        return this;
+    }
+
+    /**
+     * Make this object represent the same set as <code>other</code>.
+     * @param other a <code>UnicodeSet</code> whose value will be
+     * copied to this object
+     * @stable ICU 2.0
+     */
+    public UnicodeSet set(UnicodeSet other) {
+        list = (int[]) other.list.clone();
+        len = other.len;
+        pat = other.pat;
+        strings = (TreeSet)other.strings.clone();
+        return this;
+    }
+
+    /**
+     * Modifies this set to represent the set specified by the given pattern.
+     * See the class description for the syntax of the pattern language.
+     * Whitespace is ignored.
+     * @param pattern a string specifying what characters are in the set
+     * @exception java.lang.IllegalArgumentException if the pattern
+     * contains a syntax error.
+     * @stable ICU 2.0
+     */
+    public final UnicodeSet applyPattern(String pattern) {
+        return applyPattern(pattern, null, null, IGNORE_SPACE);
+    }
+
+    /**
+     * Modifies this set to represent the set specified by the given pattern,
+     * optionally ignoring whitespace.
+     * See the class description for the syntax of the pattern language.
+     * @param pattern a string specifying what characters are in the set
+     * @param ignoreWhitespace if true then characters for which
+     * UCharacterProperty.isRuleWhiteSpace() returns true are ignored
+     * @exception java.lang.IllegalArgumentException if the pattern
+     * contains a syntax error.
+     * @stable ICU 2.0
+     */
+    public UnicodeSet applyPattern(String pattern, boolean ignoreWhitespace) {
+        return applyPattern(pattern, null, null, ignoreWhitespace ? IGNORE_SPACE : 0);
+    }
+
+    /**
+     * Modifies this set to represent the set specified by the given pattern,
+     * optionally ignoring whitespace.
+     * See the class description for the syntax of the pattern language.
+     * @param pattern a string specifying what characters are in the set
+     * @param options a bitmask indicating which options to apply.
+     * Valid options are IGNORE_SPACE and CASE.
+     * @exception java.lang.IllegalArgumentException if the pattern
+     * contains a syntax error.
+     * @internal
+     */
+    public UnicodeSet applyPattern(String pattern, int options) {
+        return applyPattern(pattern, null, null, options);
+    }
+
+    /**
+     * Return true if the given position, in the given pattern, appears
+     * to be the start of a UnicodeSet pattern.
+     * @stable ICU 2.0
+     */
+    public static boolean resemblesPattern(String pattern, int pos) {
+        return ((pos+1) < pattern.length() &&
+                pattern.charAt(pos) == '[') ||
+            resemblesPropertyPattern(pattern, pos);
+    }
+
+    /**
+     * Append the <code>toPattern()</code> representation of a
+     * string to the given <code>StringBuffer</code>.
+     */
+    private static void _appendToPat(StringBuffer buf, String s, boolean escapeUnprintable) {
+        for (int i = 0; i < s.length(); i += UTF16.getCharCount(i)) {
+            _appendToPat(buf, UTF16.charAt(s, i), escapeUnprintable);
+        }
+    }
+
+    /**
+     * Append the <code>toPattern()</code> representation of a
+     * character to the given <code>StringBuffer</code>.
+     */
+    private static void _appendToPat(StringBuffer buf, int c, boolean escapeUnprintable) {
+        if (escapeUnprintable && Utility.isUnprintable(c)) {
+            // Use hex escape notation (<backslash>uxxxx or <backslash>Uxxxxxxxx) for anything
+            // unprintable
+            if (Utility.escapeUnprintable(buf, c)) {
+                return;
+            }
+        }
+        // Okay to let ':' pass through
+        switch (c) {
+        case '[': // SET_OPEN:
+        case ']': // SET_CLOSE:
+        case '-': // HYPHEN:
+        case '^': // COMPLEMENT:
+        case '&': // INTERSECTION:
+        case '\\': //BACKSLASH:
+        case '{':
+        case '}':
+        case '$':
+        case ':':
+            buf.append('\\');
+            break;
+        default:
+            // Escape whitespace
+            if (UCharacterProperty.isRuleWhiteSpace(c)) {
+                buf.append('\\');
+            }
+            break;
+        }
+        UTF16.append(buf, c);
+    }
+
+    /**
+     * Returns a string representation of this set.  If the result of
+     * calling this function is passed to a UnicodeSet constructor, it
+     * will produce another set that is equal to this one.
+     * @stable ICU 2.0
+     */
+    public String toPattern(boolean escapeUnprintable) {
+        StringBuffer result = new StringBuffer();
+        return _toPattern(result, escapeUnprintable).toString();
+    }
+
+    /**
+     * Append a string representation of this set to result.  This will be
+     * a cleaned version of the string passed to applyPattern(), if there
+     * is one.  Otherwise it will be generated.
+     */
+    private StringBuffer _toPattern(StringBuffer result,
+                                    boolean escapeUnprintable) {
+        if (pat != null) {
+            int i;
+            int backslashCount = 0;
+            for (i=0; i<pat.length(); ) {
+                int c = UTF16.charAt(pat, i);
+                i += UTF16.getCharCount(c);
+                if (escapeUnprintable && Utility.isUnprintable(c)) {
+                    // If the unprintable character is preceded by an odd
+                    // number of backslashes, then it has been escaped.
+                    // Before unescaping it, we delete the final
+                    // backslash.
+                    if ((backslashCount % 2) == 1) {
+                        result.setLength(result.length() - 1);
+                    }
+                    Utility.escapeUnprintable(result, c);
+                    backslashCount = 0;
+                } else {
+                    UTF16.append(result, c);
+                    if (c == '\\') {
+                        ++backslashCount;
+                    } else {
+                        backslashCount = 0;
+                    }
+                }
+            }
+            return result;
+        }
+
+        return _generatePattern(result, escapeUnprintable);
+    }
+
+    /**
+     * Generate and append a string representation of this set to result.
+     * This does not use this.pat, the cleaned up copy of the string
+     * passed to applyPattern().
+     * @stable ICU 2.0
+     */
+    public StringBuffer _generatePattern(StringBuffer result,
+                                         boolean escapeUnprintable) {
+        result.append('[');
+
+//      // Check against the predefined categories.  We implicitly build
+//      // up ALL category sets the first time toPattern() is called.
+//      for (int cat=0; cat<CATEGORY_COUNT; ++cat) {
+//          if (this.equals(getCategorySet(cat))) {
+//              result.append(':');
+//              result.append(CATEGORY_NAMES.substring(cat*2, cat*2+2));
+//              return result.append(":]");
+//          }
+//      }
+
+        int count = getRangeCount();
+
+        // If the set contains at least 2 intervals and includes both
+        // MIN_VALUE and MAX_VALUE, then the inverse representation will
+        // be more economical.
+        if (count > 1 &&
+            getRangeStart(0) == MIN_VALUE &&
+            getRangeEnd(count-1) == MAX_VALUE) {
+
+            // Emit the inverse
+            result.append('^');
+
+            for (int i = 1; i < count; ++i) {
+                int start = getRangeEnd(i-1)+1;
+                int end = getRangeStart(i)-1;
+                _appendToPat(result, start, escapeUnprintable);
+                if (start != end) {
+                    if ((start+1) != end) {
+                        result.append('-');
+                    }
+                    _appendToPat(result, end, escapeUnprintable);
+                }
+            }
+        }
+
+        // Default; emit the ranges as pairs
+        else {
+            for (int i = 0; i < count; ++i) {
+                int start = getRangeStart(i);
+                int end = getRangeEnd(i);
+                _appendToPat(result, start, escapeUnprintable);
+                if (start != end) {
+                    if ((start+1) != end) {
+                        result.append('-');
+                    }
+                    _appendToPat(result, end, escapeUnprintable);
+                }
+            }
+        }
+
+        if (strings.size() > 0) {
+            Iterator it = strings.iterator();
+            while (it.hasNext()) {
+                result.append('{');
+                _appendToPat(result, (String) it.next(), escapeUnprintable);
+                result.append('}');
+            }
+        }
+        return result.append(']');
+    }
+
+    /**
+     * Returns the number of elements in this set (its cardinality)
+     * Note than the elements of a set may include both individual
+     * codepoints and strings.
+     *
+     * @return the number of elements in this set (its cardinality).
+     * @stable ICU 2.0
+     */
+    public int size() {
+        int n = 0;
+        int count = getRangeCount();
+        for (int i = 0; i < count; ++i) {
+            n += getRangeEnd(i) - getRangeStart(i) + 1;
+        }
+        return n + strings.size();
+    }
+
+    /**
+     * Returns <tt>true</tt> if this set contains no elements.
+     *
+     * @return <tt>true</tt> if this set contains no elements.
+     * @stable ICU 2.0
+     */
+    public boolean isEmpty() {
+        return len == 1 && strings.size() == 0;
+    }
+
+    /**
+     * Implementation of UnicodeMatcher API.  Returns <tt>true</tt> if
+     * this set contains any character whose low byte is the given
+     * value.  This is used by <tt>RuleBasedTransliterator</tt> for
+     * indexing.
+     * @stable ICU 2.0
+     */
+    public boolean matchesIndexValue(int v) {
+        /* The index value v, in the range [0,255], is contained in this set if
+         * it is contained in any pair of this set.  Pairs either have the high
+         * bytes equal, or unequal.  If the high bytes are equal, then we have
+         * aaxx..aayy, where aa is the high byte.  Then v is contained if xx <=
+         * v <= yy.  If the high bytes are unequal we have aaxx..bbyy, bb>aa.
+         * Then v is contained if xx <= v || v <= yy.  (This is identical to the
+         * time zone month containment logic.)
+         */
+        for (int i=0; i<getRangeCount(); ++i) {
+            int low = getRangeStart(i);
+            int high = getRangeEnd(i);
+            if ((low & ~0xFF) == (high & ~0xFF)) {
+                if ((low & 0xFF) <= v && v <= (high & 0xFF)) {
+                    return true;
+                }
+            } else if ((low & 0xFF) <= v || v <= (high & 0xFF)) {
+                return true;
+            }
+        }
+        if (strings.size() != 0) {
+            Iterator it = strings.iterator();
+            while (it.hasNext()) {
+                String s = (String) it.next();
+                //if (s.length() == 0) {
+                //    // Empty strings match everything
+                //    return true;
+                //}
+                // assert(s.length() != 0); // We enforce this elsewhere
+                int c = UTF16.charAt(s, 0);
+                if ((c & 0xFF) == v) {
+                    return true;
+                }
+            }
+        }
+        return false;
+    }
+
+    /**
+     * Implementation of UnicodeMatcher.matches().  Always matches the
+     * longest possible multichar string.
+     * @stable ICU 2.0
+     */
+    public int matches(Replaceable text,
+                       int[] offset,
+                       int limit,
+                       boolean incremental) {
+
+        if (offset[0] == limit) {
+            // Strings, if any, have length != 0, so we don't worry
+            // about them here.  If we ever allow zero-length strings
+            // we much check for them here.
+            if (contains(UnicodeMatcher.ETHER)) {
+                return incremental ? U_PARTIAL_MATCH : U_MATCH;
+            } else {
+                return U_MISMATCH;
+            }
+        } else {
+            if (strings.size() != 0) { // try strings first
+
+                // might separate forward and backward loops later
+                // for now they are combined
+
+                // TODO Improve efficiency of this, at least in the forward
+                // direction, if not in both.  In the forward direction we
+                // can assume the strings are sorted.
+
+                Iterator it = strings.iterator();
+                boolean forward = offset[0] < limit;
+
+                // firstChar is the leftmost char to match in the
+                // forward direction or the rightmost char to match in
+                // the reverse direction.
+                char firstChar = text.charAt(offset[0]);
+
+                // If there are multiple strings that can match we
+                // return the longest match.
+                int highWaterLength = 0;
+
+                while (it.hasNext()) {
+                    String trial = (String) it.next();
+
+                    //if (trial.length() == 0) {
+                    //    return U_MATCH; // null-string always matches
+                    //}
+                    // assert(trial.length() != 0); // We ensure this elsewhere
+
+                    char c = trial.charAt(forward ? 0 : trial.length() - 1);
+
+                    // Strings are sorted, so we can optimize in the
+                    // forward direction.
+                    if (forward && c > firstChar) break;
+                    if (c != firstChar) continue;
+
+                    int len = matchRest(text, offset[0], limit, trial);
+
+                    if (incremental) {
+                        int maxLen = forward ? limit-offset[0] : offset[0]-limit;
+                        if (len == maxLen) {
+                            // We have successfully matched but only up to limit.
+                            return U_PARTIAL_MATCH;
+                        }
+                    }
+
+                    if (len == trial.length()) {
+                        // We have successfully matched the whole string.
+                        if (len > highWaterLength) {
+                            highWaterLength = len;
+                        }
+                        // In the forward direction we know strings
+                        // are sorted so we can bail early.
+                        if (forward && len < highWaterLength) {
+                            break;
+                        }
+                        continue;
+                    }
+                }
+
+                // We've checked all strings without a partial match.
+                // If we have full matches, return the longest one.
+                if (highWaterLength != 0) {
+                    offset[0] += forward ? highWaterLength : -highWaterLength;
+                    return U_MATCH;
+                }
+            }
+            return super.matches(text, offset, limit, incremental);
+        }
+    }
+
+    /**
+     * Returns the longest match for s in text at the given position.
+     * If limit > start then match forward from start+1 to limit
+     * matching all characters except s.charAt(0).  If limit < start,
+     * go backward starting from start-1 matching all characters
+     * except s.charAt(s.length()-1).  This method assumes that the
+     * first character, text.charAt(start), matches s, so it does not
+     * check it.
+     * @param text the text to match
+     * @param start the first character to match.  In the forward
+     * direction, text.charAt(start) is matched against s.charAt(0).
+     * In the reverse direction, it is matched against
+     * s.charAt(s.length()-1).
+     * @param limit the limit offset for matching, either last+1 in
+     * the forward direction, or last-1 in the reverse direction,
+     * where last is the index of the last character to match.
+     * @return If part of s matches up to the limit, return |limit -
+     * start|.  If all of s matches before reaching the limit, return
+     * s.length().  If there is a mismatch between s and text, return
+     * 0
+     */
+    private static int matchRest (Replaceable text, int start, int limit, String s) {
+        int maxLen;
+        int slen = s.length();
+        if (start < limit) {
+            maxLen = limit - start;
+            if (maxLen > slen) maxLen = slen;
+            for (int i = 1; i < maxLen; ++i) {
+                if (text.charAt(start + i) != s.charAt(i)) return 0;
+            }
+        } else {
+            maxLen = start - limit;
+            if (maxLen > slen) maxLen = slen;
+            --slen; // <=> slen = s.length() - 1;
+            for (int i = 1; i < maxLen; ++i) {
+                if (text.charAt(start - i) != s.charAt(slen - i)) return 0;
+            }
+        }
+        return maxLen;
+    }
+
+
+    /**
+     * Implementation of UnicodeMatcher API.  Union the set of all
+     * characters that may be matched by this object into the given
+     * set.
+     * @param toUnionTo the set into which to union the source characters
+     * @stable ICU 2.2
+     */
+    public void addMatchSetTo(UnicodeSet toUnionTo) {
+        toUnionTo.addAll(this);
+    }
+
+    /**
+     * Returns the index of the given character within this set, where
+     * the set is ordered by ascending code point.  If the character
+     * is not in this set, return -1.  The inverse of this method is
+     * <code>charAt()</code>.
+     * @return an index from 0..size()-1, or -1
+     * @stable ICU 2.0
+     */
+    public int indexOf(int c) {
+        if (c < MIN_VALUE || c > MAX_VALUE) {
+            throw new IllegalArgumentException("Invalid code point U+" + Utility.hex(c, 6));
+        }
+        int i = 0;
+        int n = 0;
+        for (;;) {
+            int start = list[i++];
+            if (c < start) {
+                return -1;
+            }
+            int limit = list[i++];
+            if (c < limit) {
+                return n + c - start;
+            }
+            n += limit - start;
+        }
+    }
+
+    /**
+     * Returns the character at the given index within this set, where
+     * the set is ordered by ascending code point.  If the index is
+     * out of range, return -1.  The inverse of this method is
+     * <code>indexOf()</code>.
+     * @param index an index from 0..size()-1
+     * @return the character at the given index, or -1.
+     * @stable ICU 2.0
+     */
+    public int charAt(int index) {
+        if (index >= 0) {
+            // len2 is the largest even integer <= len, that is, it is len
+            // for even values and len-1 for odd values.  With odd values
+            // the last entry is UNICODESET_HIGH.
+            int len2 = len & ~1;
+            for (int i=0; i < len2;) {
+                int start = list[i++];
+                int count = list[i++] - start;
+                if (index < count) {
+                    return start + index;
+                }
+                index -= count;
+            }
+        }
+        return -1;
+    }
+
+    /**
+     * Adds the specified range to this set if it is not already
+     * present.  If this set already contains the specified range,
+     * the call leaves this set unchanged.  If <code>end > start</code>
+     * then an empty range is added, leaving the set unchanged.
+     *
+     * @param start first character, inclusive, of range to be added
+     * to this set.
+     * @param end last character, inclusive, of range to be added
+     * to this set.
+     * @stable ICU 2.0
+     */
+    public UnicodeSet add(int start, int end) {
+        if (start < MIN_VALUE || start > MAX_VALUE) {
+            throw new IllegalArgumentException("Invalid code point U+" + Utility.hex(start, 6));
+        }
+        if (end < MIN_VALUE || end > MAX_VALUE) {
+            throw new IllegalArgumentException("Invalid code point U+" + Utility.hex(end, 6));
+        }
+        if (start < end) {
+            add(range(start, end), 2, 0);
+        } else if (start == end) {
+            add(start);
+        }
+        return this;
+    }
+
+//    /**
+//     * Format out the inversion list as a string, for debugging.  Uncomment when
+//     * needed.
+//     */
+//    public final String dump() {
+//        StringBuffer buf = new StringBuffer("[");
+//        for (int i=0; i<len; ++i) {
+//            if (i != 0) buf.append(", ");
+//            int c = list[i];
+//            //if (c <= 0x7F && c != '\n' && c != '\r' && c != '\t' && c != ' ') {
+//            //    buf.append((char) c);
+//            //} else {
+//                buf.append("U+").append(Utility.hex(c, (c<0x10000)?4:6));
+//            //}
+//        }
+//        buf.append("]");
+//        return buf.toString();
+//    }
+
+    /**
+     * Adds the specified character to this set if it is not already
+     * present.  If this set already contains the specified character,
+     * the call leaves this set unchanged.
+     * @stable ICU 2.0
+     */
+    public final UnicodeSet add(int c) {
+        if (c < MIN_VALUE || c > MAX_VALUE) {
+            throw new IllegalArgumentException("Invalid code point U+" + Utility.hex(c, 6));
+        }
+
+        // find smallest i such that c < list[i]
+        // if odd, then it is IN the set
+        // if even, then it is OUT of the set
+        int i = findCodePoint(c);
+
+        // already in set?
+        if ((i & 1) != 0) return this;
+
+        // HIGH is 0x110000
+        // assert(list[len-1] == HIGH);
+
+        // empty = [HIGH]
+        // [start_0, limit_0, start_1, limit_1, HIGH]
+
+        // [..., start_k-1, limit_k-1, start_k, limit_k, ..., HIGH]
+        //                             ^
+        //                             list[i]
+
+        // i == 0 means c is before the first range
+
+        if (c == list[i]-1) {
+            // c is before start of next range
+            list[i] = c;
+            // if we touched the HIGH mark, then add a new one
+            if (c == MAX_VALUE) {
+                ensureCapacity(len+1);
+                list[len++] = HIGH;
+            }
+            if (i > 0 && c == list[i-1]) {
+                // collapse adjacent ranges
+
+                // [..., start_k-1, c, c, limit_k, ..., HIGH]
+                //                     ^
+                //                     list[i]
+                System.arraycopy(list, i+1, list, i-1, len-i-1);
+                len -= 2;
+            }
+        }
+
+        else if (i > 0 && c == list[i-1]) {
+            // c is after end of prior range
+            list[i-1]++;
+            // no need to chcek for collapse here
+        }
+
+        else {
+            // At this point we know the new char is not adjacent to
+            // any existing ranges, and it is not 10FFFF.
+
+
+            // [..., start_k-1, limit_k-1, start_k, limit_k, ..., HIGH]
+            //                             ^
+            //                             list[i]
+
+            // [..., start_k-1, limit_k-1, c, c+1, start_k, limit_k, ..., HIGH]
+            //                             ^
+            //                             list[i]
+
+            // Don't use ensureCapacity() to save on copying.
+            // NOTE: This has no measurable impact on performance,
+            // but it might help in some usage patterns.
+            if (len+2 > list.length) {
+                int[] temp = new int[len + 2 + GROW_EXTRA];
+                if (i != 0) System.arraycopy(list, 0, temp, 0, i);
+                System.arraycopy(list, i, temp, i+2, len-i);
+                list = temp;
+            } else {
+                System.arraycopy(list, i, list, i+2, len-i);
+            }
+
+            list[i] = c;
+            list[i+1] = c+1;
+            len += 2;
+        }
+
+        pat = null;
+        return this;
+    }
+
+    /**
+     * Adds the specified multicharacter to this set if it is not already
+     * present.  If this set already contains the multicharacter,
+     * the call leaves this set unchanged.
+     * Thus "ch" => {"ch"}
+     * <br><b>Warning: you cannot add an empty string ("") to a UnicodeSet.</b>
+     * @param s the source string
+     * @return this object, for chaining
+     * @stable ICU 2.0
+     */
+    public final UnicodeSet add(String s) {
+
+        int cp = getSingleCP(s);
+        if (cp < 0) {
+            strings.add(s);
+            pat = null;
+        } else {
+            add(cp, cp);
+        }
+        return this;
+    }
+
+    /**
+     * @return a code point IF the string consists of a single one.
+     * otherwise returns -1.
+     * @param string to test
+     */
+    private static int getSingleCP(String s) {
+        if (s.length() < 1) {
+            throw new IllegalArgumentException("Can't use zero-length strings in UnicodeSet");
+        }
+        if (s.length() > 2) return -1;
+        if (s.length() == 1) return s.charAt(0);
+
+        // at this point, len = 2
+        int cp = UTF16.charAt(s, 0);
+        if (cp > 0xFFFF) { // is surrogate pair
+            return cp;
+        }
+        return -1;
+    }
+
+    /**
+     * Adds each of the characters in this string to the set. Thus "ch" => {"c", "h"}
+     * If this set already any particular character, it has no effect on that character.
+     * @param s the source string
+     * @return this object, for chaining
+     * @stable ICU 2.0
+     */
+    public final UnicodeSet addAll(String s) {
+        int cp;
+        for (int i = 0; i < s.length(); i += UTF16.getCharCount(cp)) {
+            cp = UTF16.charAt(s, i);
+            add(cp, cp);
+        }
+        return this;
+    }
+
+    /**
+     * Retains EACH of the characters in this string. Note: "ch" == {"c", "h"}
+     * If this set already any particular character, it has no effect on that character.
+     * @param s the source string
+     * @return this object, for chaining
+     * @stable ICU 2.0
+     */
+    public final UnicodeSet retainAll(String s) {
+        return retainAll(fromAll(s));
+    }
+
+    /**
+     * Complement EACH of the characters in this string. Note: "ch" == {"c", "h"}
+     * If this set already any particular character, it has no effect on that character.
+     * @param s the source string
+     * @return this object, for chaining
+     * @stable ICU 2.0
+     */
+    public final UnicodeSet complementAll(String s) {
+        return complementAll(fromAll(s));
+    }
+
+    /**
+     * Remove EACH of the characters in this string. Note: "ch" == {"c", "h"}
+     * If this set already any particular character, it has no effect on that character.
+     * @param s the source string
+     * @return this object, for chaining
+     * @stable ICU 2.0
+     */
+    public final UnicodeSet removeAll(String s) {
+        return removeAll(fromAll(s));
+    }
+
+    /**
+     * Makes a set from a multicharacter string. Thus "ch" => {"ch"}
+     * <br><b>Warning: you cannot add an empty string ("") to a UnicodeSet.</b>
+     * @param s the source string
+     * @return a newly created set containing the given string
+     * @stable ICU 2.0
+     */
+    public static UnicodeSet from(String s) {
+        return new UnicodeSet().add(s);
+    }
+
+
+    /**
+     * Makes a set from each of the characters in the string. Thus "ch" => {"c", "h"}
+     * @param s the source string
+     * @return a newly created set containing the given characters
+     * @stable ICU 2.0
+     */
+    public static UnicodeSet fromAll(String s) {
+        return new UnicodeSet().addAll(s);
+    }
+
+
+    /**
+     * Retain only the elements in this set that are contained in the
+     * specified range.  If <code>end > start</code> then an empty range is
+     * retained, leaving the set empty.
+     *
+     * @param start first character, inclusive, of range to be retained
+     * to this set.
+     * @param end last character, inclusive, of range to be retained
+     * to this set.
+     * @stable ICU 2.0
+     */
+    public UnicodeSet retain(int start, int end) {
+        if (start < MIN_VALUE || start > MAX_VALUE) {
+            throw new IllegalArgumentException("Invalid code point U+" + Utility.hex(start, 6));
+        }
+        if (end < MIN_VALUE || end > MAX_VALUE) {
+            throw new IllegalArgumentException("Invalid code point U+" + Utility.hex(end, 6));
+        }
+        if (start <= end) {
+            retain(range(start, end), 2, 0);
+        } else {
+            clear();
+        }
+        return this;
+    }
+
+    /**
+     * Retain the specified character from this set if it is present.
+     * Upon return this set will be empty if it did not contain c, or
+     * will only contain c if it did contain c.
+     * @param c the character to be retained
+     * @return this object, for chaining
+     * @stable ICU 2.0
+     */
+    public final UnicodeSet retain(int c) {
+        return retain(c, c);
+    }
+
+    /**
+     * Retain the specified string in this set if it is present.
+     * Upon return this set will be empty if it did not contain s, or
+     * will only contain s if it did contain s.
+     * @param s the string to be retained
+     * @return this object, for chaining
+     * @stable ICU 2.0
+     */
+    public final UnicodeSet retain(String s) {
+        int cp = getSingleCP(s);
+        if (cp < 0) {
+            boolean isIn = strings.contains(s);
+            if (isIn && size() == 1) {
+                return this;
+            }
+            clear();
+            strings.add(s);
+            pat = null;
+        } else {
+            retain(cp, cp);
+        }
+        return this;
+    }
+
+    /**
+     * Removes the specified range from this set if it is present.
+     * The set will not contain the specified range once the call
+     * returns.  If <code>end > start</code> then an empty range is
+     * removed, leaving the set unchanged.
+     *
+     * @param start first character, inclusive, of range to be removed
+     * from this set.
+     * @param end last character, inclusive, of range to be removed
+     * from this set.
+     * @stable ICU 2.0
+     */
+    public UnicodeSet remove(int start, int end) {
+        if (start < MIN_VALUE || start > MAX_VALUE) {
+            throw new IllegalArgumentException("Invalid code point U+" + Utility.hex(start, 6));
+        }
+        if (end < MIN_VALUE || end > MAX_VALUE) {
+            throw new IllegalArgumentException("Invalid code point U+" + Utility.hex(end, 6));
+        }
+        if (start <= end) {
+            retain(range(start, end), 2, 2);
+        }
+        return this;
+    }
+
+    /**
+     * Removes the specified character from this set if it is present.
+     * The set will not contain the specified character once the call
+     * returns.
+     * @param c the character to be removed
+     * @return this object, for chaining
+     * @stable ICU 2.0
+     */
+    public final UnicodeSet remove(int c) {
+        return remove(c, c);
+    }
+
+    /**
+     * Removes the specified string from this set if it is present.
+     * The set will not contain the specified string once the call
+     * returns.
+     * @param s the string to be removed
+     * @return this object, for chaining
+     * @stable ICU 2.0
+     */
+    public final UnicodeSet remove(String s) {
+        int cp = getSingleCP(s);
+        if (cp < 0) {
+            strings.remove(s);
+            pat = null;
+        } else {
+            remove(cp, cp);
+        }
+        return this;
+    }
+
+    /**
+     * Complements the specified range in this set.  Any character in
+     * the range will be removed if it is in this set, or will be
+     * added if it is not in this set.  If <code>end > start</code>
+     * then an empty range is complemented, leaving the set unchanged.
+     *
+     * @param start first character, inclusive, of range to be removed
+     * from this set.
+     * @param end last character, inclusive, of range to be removed
+     * from this set.
+     * @stable ICU 2.0
+     */
+    public UnicodeSet complement(int start, int end) {
+        if (start < MIN_VALUE || start > MAX_VALUE) {
+            throw new IllegalArgumentException("Invalid code point U+" + Utility.hex(start, 6));
+        }
+        if (end < MIN_VALUE || end > MAX_VALUE) {
+            throw new IllegalArgumentException("Invalid code point U+" + Utility.hex(end, 6));
+        }
+        if (start <= end) {
+            xor(range(start, end), 2, 0);
+        }
+        pat = null;
+        return this;
+    }
+
+    /**
+     * Complements the specified character in this set.  The character
+     * will be removed if it is in this set, or will be added if it is
+     * not in this set.
+     * @stable ICU 2.0
+     */
+    public final UnicodeSet complement(int c) {
+        return complement(c, c);
+    }
+
+    /**
+     * This is equivalent to
+     * <code>complement(MIN_VALUE, MAX_VALUE)</code>.
+     * @stable ICU 2.0
+     */
+    public UnicodeSet complement() {
+        if (list[0] == LOW) {
+            System.arraycopy(list, 1, list, 0, len-1);
+            --len;
+        } else {
+            ensureCapacity(len+1);
+            System.arraycopy(list, 0, list, 1, len);
+            list[0] = LOW;
+            ++len;
+        }
+        pat = null;
+        return this;
+    }
+
+    /**
+     * Complement the specified string in this set.
+     * The set will not contain the specified string once the call
+     * returns.
+     * <br><b>Warning: you cannot add an empty string ("") to a UnicodeSet.</b>
+     * @param s the string to complement
+     * @return this object, for chaining
+     * @stable ICU 2.0
+     */
+    public final UnicodeSet complement(String s) {
+        int cp = getSingleCP(s);
+        if (cp < 0) {
+            if (strings.contains(s)) strings.remove(s);
+            else strings.add(s);
+            pat = null;
+        } else {
+            complement(cp, cp);
+        }
+        return this;
+    }
+
+    /**
+     * Returns true if this set contains the given character.
+     * @param c character to be checked for containment
+     * @return true if the test condition is met
+     * @stable ICU 2.0
+     */
+    public boolean contains(int c) {
+        if (c < MIN_VALUE || c > MAX_VALUE) {
+            throw new IllegalArgumentException("Invalid code point U+" + Utility.hex(c, 6));
+        }
+
+        /*
+        // Set i to the index of the start item greater than ch
+        // We know we will terminate without length test!
+        int i = -1;
+        while (true) {
+            if (c < list[++i]) break;
+        }
+        */
+
+        int i = findCodePoint(c);
+
+        return ((i & 1) != 0); // return true if odd
+    }
+
+    /**
+     * Returns the smallest value i such that c < list[i].  Caller
+     * must ensure that c is a legal value or this method will enter
+     * an infinite loop.  This method performs a binary search.
+     * @param c a character in the range MIN_VALUE..MAX_VALUE
+     * inclusive
+     * @return the smallest integer i in the range 0..len-1,
+     * inclusive, such that c < list[i]
+     */
+    private final int findCodePoint(int c) {
+        /* Examples:
+                                           findCodePoint(c)
+           set              list[]         c=0 1 3 4 7 8
+           ===              ==============   ===========
+           []               [110000]         0 0 0 0 0 0
+           [\u0000-\u0003]  [0, 4, 110000]   1 1 1 2 2 2
+           [\u0004-\u0007]  [4, 8, 110000]   0 0 0 1 1 2
+           [:all:]          [0, 110000]      1 1 1 1 1 1
+         */
+
+        // Return the smallest i such that c < list[i].  Assume
+        // list[len - 1] == HIGH and that c is legal (0..HIGH-1).
+        if (c < list[0]) return 0;
+        // High runner test.  c is often after the last range, so an
+        // initial check for this condition pays off.
+        if (len >= 2 && c >= list[len-2]) return len-1;
+        int lo = 0;
+        int hi = len - 1;
+        // invariant: c >= list[lo]
+        // invariant: c < list[hi]
+        for (;;) {
+            int i = (lo + hi) >>> 1;
+            if (i == lo) return hi;
+            if (c < list[i]) {
+                hi = i;
+            } else {
+                lo = i;
+            }
+        }
+    }
+
+//    //----------------------------------------------------------------
+//    // Unrolled binary search
+//    //----------------------------------------------------------------
+//
+//    private int validLen = -1; // validated value of len
+//    private int topOfLow;
+//    private int topOfHigh;
+//    private int power;
+//    private int deltaStart;
+//
+//    private void validate() {
+//        if (len <= 1) {
+//            throw new IllegalArgumentException("list.len==" + len + "; must be >1");
+//        }
+//
+//        // find greatest power of 2 less than or equal to len
+//        for (power = exp2.length-1; power > 0 && exp2[power] > len; power--) {}
+//
+//        // assert(exp2[power] <= len);
+//
+//        // determine the starting points
+//        topOfLow = exp2[power] - 1;
+//        topOfHigh = len - 1;
+//        deltaStart = exp2[power-1];
+//        validLen = len;
+//    }
+//
+//    private static final int exp2[] = {
+//        0x1, 0x2, 0x4, 0x8,
+//        0x10, 0x20, 0x40, 0x80,
+//        0x100, 0x200, 0x400, 0x800,
+//        0x1000, 0x2000, 0x4000, 0x8000,
+//        0x10000, 0x20000, 0x40000, 0x80000,
+//        0x100000, 0x200000, 0x400000, 0x800000,
+//        0x1000000, 0x2000000, 0x4000000, 0x8000000,
+//        0x10000000, 0x20000000 // , 0x40000000 // no unsigned int in Java
+//    };
+//
+//    /**
+//     * Unrolled lowest index GT.
+//     */
+//    private final int leastIndexGT(int searchValue) {
+//
+//        if (len != validLen) {
+//            if (len == 1) return 0;
+//            validate();
+//        }
+//        int temp;
+//
+//        // set up initial range to search. Each subrange is a power of two in length
+//        int high = searchValue < list[topOfLow] ? topOfLow : topOfHigh;
+//
+//        // Completely unrolled binary search, folhighing "Programming Pearls"
+//        // Each case deliberately falls through to the next
+//        // Logically, list[-1] < all_search_values && list[count] > all_search_values
+//        // although the values -1 and count are never actually touched.
+//
+//        // The bounds at each point are low & high,
+//        // where low == high - delta*2
+//        // so high - delta is the midpoint
+//
+//        // The invariant AFTER each line is that list[low] < searchValue <= list[high]
+//
+//        switch (power) {
+//        //case 31: if (searchValue < list[temp = high-0x40000000]) high = temp; // no unsigned int in Java
+//        case 30: if (searchValue < list[temp = high-0x20000000]) high = temp;
+//        case 29: if (searchValue < list[temp = high-0x10000000]) high = temp;
+//
+//        case 28: if (searchValue < list[temp = high- 0x8000000]) high = temp;
+//        case 27: if (searchValue < list[temp = high- 0x4000000]) high = temp;
+//        case 26: if (searchValue < list[temp = high- 0x2000000]) high = temp;
+//        case 25: if (searchValue < list[temp = high- 0x1000000]) high = temp;
+//
+//        case 24: if (searchValue < list[temp = high-  0x800000]) high = temp;
+//        case 23: if (searchValue < list[temp = high-  0x400000]) high = temp;
+//        case 22: if (searchValue < list[temp = high-  0x200000]) high = temp;
+//        case 21: if (searchValue < list[temp = high-  0x100000]) high = temp;
+//
+//        case 20: if (searchValue < list[temp = high-   0x80000]) high = temp;
+//        case 19: if (searchValue < list[temp = high-   0x40000]) high = temp;
+//        case 18: if (searchValue < list[temp = high-   0x20000]) high = temp;
+//        case 17: if (searchValue < list[temp = high-   0x10000]) high = temp;
+//
+//        case 16: if (searchValue < list[temp = high-    0x8000]) high = temp;
+//        case 15: if (searchValue < list[temp = high-    0x4000]) high = temp;
+//        case 14: if (searchValue < list[temp = high-    0x2000]) high = temp;
+//        case 13: if (searchValue < list[temp = high-    0x1000]) high = temp;
+//
+//        case 12: if (searchValue < list[temp = high-     0x800]) high = temp;
+//        case 11: if (searchValue < list[temp = high-     0x400]) high = temp;
+//        case 10: if (searchValue < list[temp = high-     0x200]) high = temp;
+//        case  9: if (searchValue < list[temp = high-     0x100]) high = temp;
+//
+//        case  8: if (searchValue < list[temp = high-      0x80]) high = temp;
+//        case  7: if (searchValue < list[temp = high-      0x40]) high = temp;
+//        case  6: if (searchValue < list[temp = high-      0x20]) high = temp;
+//        case  5: if (searchValue < list[temp = high-      0x10]) high = temp;
+//
+//        case  4: if (searchValue < list[temp = high-       0x8]) high = temp;
+//        case  3: if (searchValue < list[temp = high-       0x4]) high = temp;
+//        case  2: if (searchValue < list[temp = high-       0x2]) high = temp;
+//        case  1: if (searchValue < list[temp = high-       0x1]) high = temp;
+//        }
+//
+//        return high;
+//    }
+//
+//    // For debugging only
+//    public int len() {
+//        return len;
+//    }
+//
+//    //----------------------------------------------------------------
+//    //----------------------------------------------------------------
+
+    /**
+     * Returns true if this set contains every character
+     * of the given range.
+     * @param start first character, inclusive, of the range
+     * @param end last character, inclusive, of the range
+     * @return true if the test condition is met
+     * @stable ICU 2.0
+     */
+    public boolean contains(int start, int end) {
+        if (start < MIN_VALUE || start > MAX_VALUE) {
+            throw new IllegalArgumentException("Invalid code point U+" + Utility.hex(start, 6));
+        }
+        if (end < MIN_VALUE || end > MAX_VALUE) {
+            throw new IllegalArgumentException("Invalid code point U+" + Utility.hex(end, 6));
+        }
+        //int i = -1;
+        //while (true) {
+        //    if (start < list[++i]) break;
+        //}
+        int i = findCodePoint(start);
+        return ((i & 1) != 0 && end < list[i]);
+    }
+
+    /**
+     * Returns <tt>true</tt> if this set contains the given
+     * multicharacter string.
+     * @param s string to be checked for containment
+     * @return <tt>true</tt> if this set contains the specified string
+     * @stable ICU 2.0
+     */
+    public final boolean contains(String s) {
+
+        int cp = getSingleCP(s);
+        if (cp < 0) {
+            return strings.contains(s);
+        } else {
+            return contains(cp);
+        }
+    }
+
+    /**
+     * Returns true if this set contains all the characters and strings
+     * of the given set.
+     * @param c set to be checked for containment
+     * @return true if the test condition is met
+     * @stable ICU 2.0
+     */
+    public boolean containsAll(UnicodeSet c) {
+        // The specified set is a subset if all of its pairs are contained in
+        // this set.  It's possible to code this more efficiently in terms of
+        // direct manipulation of the inversion lists if the need arises.
+        int n = c.getRangeCount();
+        for (int i=0; i<n; ++i) {
+            if (!contains(c.getRangeStart(i), c.getRangeEnd(i))) {
+                return false;
+            }
+        }
+        if (!strings.containsAll(c.strings)) return false;
+        return true;
+    }
+
+    /**
+     * Returns true if this set contains all the characters
+     * of the given string.
+     * @param s string containing characters to be checked for containment
+     * @return true if the test condition is met
+     * @stable ICU 2.0
+     */
+    public boolean containsAll(String s) {
+        int cp;
+        for (int i = 0; i < s.length(); i += UTF16.getCharCount(cp)) {
+            cp = UTF16.charAt(s, i);
+            if (!contains(cp)) return false;
+        }
+        return true;
+    }
+
+    /**
+     * Returns true if this set contains none of the characters
+     * of the given range.
+     * @param start first character, inclusive, of the range
+     * @param end last character, inclusive, of the range
+     * @return true if the test condition is met
+     * @stable ICU 2.0
+     */
+    public boolean containsNone(int start, int end) {
+        if (start < MIN_VALUE || start > MAX_VALUE) {
+            throw new IllegalArgumentException("Invalid code point U+" + Utility.hex(start, 6));
+        }
+        if (end < MIN_VALUE || end > MAX_VALUE) {
+            throw new IllegalArgumentException("Invalid code point U+" + Utility.hex(end, 6));
+        }
+        int i = -1;
+        while (true) {
+            if (start < list[++i]) break;
+        }
+        return ((i & 1) == 0 && end < list[i]);
+    }
+
+    /**
+     * Returns true if this set contains none of the characters and strings
+     * of the given set.
+     * @param c set to be checked for containment
+     * @return true if the test condition is met
+     * @stable ICU 2.0
+     */
+    public boolean containsNone(UnicodeSet c) {
+        // The specified set is a subset if all of its pairs are contained in
+        // this set.  It's possible to code this more efficiently in terms of
+        // direct manipulation of the inversion lists if the need arises.
+        int n = c.getRangeCount();
+        for (int i=0; i<n; ++i) {
+            if (!containsNone(c.getRangeStart(i), c.getRangeEnd(i))) {
+                return false;
+            }
+        }
+        if (!SortedSetRelation.hasRelation(strings, SortedSetRelation.DISJOINT, c.strings)) return false;
+        return true;
+    }
+
+    /**
+     * Returns true if this set contains none of the characters
+     * of the given string.
+     * @param s string containing characters to be checked for containment
+     * @return true if the test condition is met
+     * @stable ICU 2.0
+     */
+    public boolean containsNone(String s) {
+        int cp;
+        for (int i = 0; i < s.length(); i += UTF16.getCharCount(cp)) {
+            cp = UTF16.charAt(s, i);
+            if (contains(cp)) return false;
+        }
+        return true;
+    }
+
+    /**
+     * Returns true if this set contains one or more of the characters
+     * in the given range.
+     * @param start first character, inclusive, of the range
+     * @param end last character, inclusive, of the range
+     * @return true if the condition is met
+     * @stable ICU 2.0
+     */
+    public final boolean containsSome(int start, int end) {
+        return !containsNone(start, end);
+    }
+
+    /**
+     * Returns true if this set contains one or more of the characters
+     * and strings of the given set.
+     * @param s set to be checked for containment
+     * @return true if the condition is met
+     * @stable ICU 2.0
+     */
+    public final boolean containsSome(UnicodeSet s) {
+        return !containsNone(s);
+    }
+
+    /**
+     * Returns true if this set contains one or more of the characters
+     * of the given string.
+     * @param s string containing characters to be checked for containment
+     * @return true if the condition is met
+     * @stable ICU 2.0
+     */
+    public final boolean containsSome(String s) {
+        return !containsNone(s);
+    }
+
+
+    /**
+     * Adds all of the elements in the specified set to this set if
+     * they're not already present.  This operation effectively
+     * modifies this set so that its value is the <i>union</i> of the two
+     * sets.  The behavior of this operation is unspecified if the specified
+     * collection is modified while the operation is in progress.
+     *
+     * @param c set whose elements are to be added to this set.
+     * @stable ICU 2.0
+     */
+    public UnicodeSet addAll(UnicodeSet c) {
+        add(c.list, c.len, 0);
+        strings.addAll(c.strings);
+        return this;
+    }
+
+    /**
+     * Retains only the elements in this set that are contained in the
+     * specified set.  In other words, removes from this set all of
+     * its elements that are not contained in the specified set.  This
+     * operation effectively modifies this set so that its value is
+     * the <i>intersection</i> of the two sets.
+     *
+     * @param c set that defines which elements this set will retain.
+     * @stable ICU 2.0
+     */
+    public UnicodeSet retainAll(UnicodeSet c) {
+        retain(c.list, c.len, 0);
+        strings.retainAll(c.strings);
+        return this;
+    }
+
+    /**
+     * Removes from this set all of its elements that are contained in the
+     * specified set.  This operation effectively modifies this
+     * set so that its value is the <i>asymmetric set difference</i> of
+     * the two sets.
+     *
+     * @param c set that defines which elements will be removed from
+     *          this set.
+     * @stable ICU 2.0
+     */
+    public UnicodeSet removeAll(UnicodeSet c) {
+        retain(c.list, c.len, 2);
+        strings.removeAll(c.strings);
+        return this;
+    }
+
+    /**
+     * Complements in this set all elements contained in the specified
+     * set.  Any character in the other set will be removed if it is
+     * in this set, or will be added if it is not in this set.
+     *
+     * @param c set that defines which elements will be complemented from
+     *          this set.
+     * @stable ICU 2.0
+     */
+    public UnicodeSet complementAll(UnicodeSet c) {
+        xor(c.list, c.len, 0);
+        SortedSetRelation.doOperation(strings, SortedSetRelation.COMPLEMENTALL, c.strings);
+        return this;
+    }
+
+    /**
+     * Removes all of the elements from this set.  This set will be
+     * empty after this call returns.
+     * @stable ICU 2.0
+     */
+    public UnicodeSet clear() {
+        list[0] = HIGH;
+        len = 1;
+        pat = null;
+        strings.clear();
+        return this;
+    }
+
+    /**
+     * Iteration method that returns the number of ranges contained in
+     * this set.
+     * @see #getRangeStart
+     * @see #getRangeEnd
+     * @stable ICU 2.0
+     */
+    public int getRangeCount() {
+        return len/2;
+    }
+
+    /**
+     * Iteration method that returns the first character in the
+     * specified range of this set.
+     * @exception ArrayIndexOutOfBoundsException if index is outside
+     * the range <code>0..getRangeCount()-1</code>
+     * @see #getRangeCount
+     * @see #getRangeEnd
+     * @stable ICU 2.0
+     */
+    public int getRangeStart(int index) {
+        return list[index*2];
+    }
+
+    /**
+     * Iteration method that returns the last character in the
+     * specified range of this set.
+     * @exception ArrayIndexOutOfBoundsException if index is outside
+     * the range <code>0..getRangeCount()-1</code>
+     * @see #getRangeStart
+     * @see #getRangeEnd
+     * @stable ICU 2.0
+     */
+    public int getRangeEnd(int index) {
+        return (list[index*2 + 1] - 1);
+    }
+
+    /**
+     * Reallocate this objects internal structures to take up the least
+     * possible space, without changing this object's value.
+     * @stable ICU 2.0
+     */
+    public UnicodeSet compact() {
+        if (len != list.length) {
+            int[] temp = new int[len];
+            System.arraycopy(list, 0, temp, 0, len);
+            list = temp;
+        }
+        rangeList = null;
+        buffer = null;
+        return this;
+    }
+
+    /**
+     * Compares the specified object with this set for equality.  Returns
+     * <tt>true</tt> if the specified object is also a set, the two sets
+     * have the same size, and every member of the specified set is
+     * contained in this set (or equivalently, every member of this set is
+     * contained in the specified set).
+     *
+     * @param o Object to be compared for equality with this set.
+     * @return <tt>true</tt> if the specified Object is equal to this set.
+     * @stable ICU 2.0
+     */
+    public boolean equals(Object o) {
+        try {
+            UnicodeSet that = (UnicodeSet) o;
+            if (len != that.len) return false;
+            for (int i = 0; i < len; ++i) {
+                if (list[i] != that.list[i]) return false;
+            }
+            if (!strings.equals(that.strings)) return false;
+        } catch (Exception e) {
+            return false;
+        }
+        return true;
+    }
+
+    /**
+     * Returns the hash code value for this set.
+     *
+     * @return the hash code value for this set.
+     * @see java.lang.Object#hashCode()
+     * @stable ICU 2.0
+     */
+    public int hashCode() {
+        int result = len;
+        for (int i = 0; i < len; ++i) {
+            result *= 1000003;
+            result += list[i];
+        }
+        return result;
+    }
+
+    /**
+     * Return a programmer-readable string representation of this object.
+     * @stable ICU 2.0
+     */
+    public String toString() {
+        return toPattern(true);
+    }
+
+    //----------------------------------------------------------------
+    // Implementation: Pattern parsing
+    //----------------------------------------------------------------
+
+    /**
+     * Parses the given pattern, starting at the given position.  The character
+     * at pattern.charAt(pos.getIndex()) must be '[', or the parse fails.
+     * Parsing continues until the corresponding closing ']'.  If a syntax error
+     * is encountered between the opening and closing brace, the parse fails.
+     * Upon return from a successful parse, the ParsePosition is updated to
+     * point to the character following the closing ']', and an inversion
+     * list for the parsed pattern is returned.  This method
+     * calls itself recursively to parse embedded subpatterns.
+     *
+     * @param pattern the string containing the pattern to be parsed.  The
+     * portion of the string from pos.getIndex(), which must be a '[', to the
+     * corresponding closing ']', is parsed.
+     * @param pos upon entry, the position at which to being parsing.  The
+     * character at pattern.charAt(pos.getIndex()) must be a '['.  Upon return
+     * from a successful parse, pos.getIndex() is either the character after the
+     * closing ']' of the parsed pattern, or pattern.length() if the closing ']'
+     * is the last character of the pattern string.
+     * @return an inversion list for the parsed substring
+     * of <code>pattern</code>
+     * @exception java.lang.IllegalArgumentException if the parse fails.
+     */
+    UnicodeSet applyPattern(String pattern,
+                      ParsePosition pos,
+                      SymbolTable symbols,
+                      int options) {
+
+        // Need to build the pattern in a temporary string because
+        // _applyPattern calls add() etc., which set pat to empty.
+        boolean parsePositionWasNull = pos == null;
+        if (parsePositionWasNull) {
+            pos = new ParsePosition(0);
+        }
+
+        StringBuffer rebuiltPat = new StringBuffer();
+        RuleCharacterIterator chars =
+            new RuleCharacterIterator(pattern, symbols, pos);
+        applyPattern(chars, symbols, rebuiltPat, options);
+        if (chars.inVariable()) {
+            syntaxError(chars, "Extra chars in variable value");
+        }
+        pat = rebuiltPat.toString();
+        if (parsePositionWasNull) {
+            int i = pos.getIndex();
+
+            // Skip over trailing whitespace
+            if ((options & IGNORE_SPACE) != 0) {
+                i = Utility.skipWhitespace(pattern, i);
+            }
+
+            if (i != pattern.length()) {
+                throw new IllegalArgumentException("Parse of \"" + pattern +
+                                                   "\" failed at " + i);
+            }
+        }
+        return this;
+    }
+
+    /**
+     * Parse the pattern from the given RuleCharacterIterator.  The
+     * iterator is advanced over the parsed pattern.
+     * @param chars iterator over the pattern characters.  Upon return
+     * it will be advanced to the first character after the parsed
+     * pattern, or the end of the iteration if all characters are
+     * parsed.
+     * @param symbols symbol table to use to parse and dereference
+     * variables, or null if none.
+     * @param rebuiltPat the pattern that was parsed, rebuilt or
+     * copied from the input pattern, as appropriate.
+     * @param options a bit mask of zero or more of the following:
+     * IGNORE_SPACE, CASE.
+     */
+    void applyPattern(RuleCharacterIterator chars, SymbolTable symbols,
+                      StringBuffer rebuiltPat, int options) {
+
+        // Syntax characters: [ ] ^ - & { }
+
+        // Recognized special forms for chars, sets: c-c s-s s&s
+
+        int opts = RuleCharacterIterator.PARSE_VARIABLES |
+                   RuleCharacterIterator.PARSE_ESCAPES;
+        if ((options & IGNORE_SPACE) != 0) {
+            opts |= RuleCharacterIterator.SKIP_WHITESPACE;
+        }
+
+        StringBuffer pat = new StringBuffer(), buf = null;
+        boolean usePat = false;
+        UnicodeSet scratch = null;
+        Object backup = null;
+
+        // mode: 0=before [, 1=between [...], 2=after ]
+        // lastItem: 0=none, 1=char, 2=set
+        int lastItem = 0, lastChar = 0, mode = 0;
+        char op = 0;
+
+        boolean invert = false;
+
+        clear();
+
+        while (mode != 2 && !chars.atEnd()) {
+            if (false) {
+                // Debugging assertion
+                if (!((lastItem == 0 && op == 0) ||
+                      (lastItem == 1 && (op == 0 || op == '-')) ||
+                      (lastItem == 2 && (op == 0 || op == '-' || op == '&')))) {
+                    throw new IllegalArgumentException();
+                }
+            }
+
+            int c = 0;
+            boolean literal = false;
+            UnicodeSet nested = null;
+
+            // -------- Check for property pattern
+
+            // setMode: 0=none, 1=unicodeset, 2=propertypat, 3=preparsed
+            int setMode = 0;
+            if (resemblesPropertyPattern(chars, opts)) {
+                setMode = 2;
+            }
+
+            // -------- Parse '[' of opening delimiter OR nested set.
+            // If there is a nested set, use `setMode' to define how
+            // the set should be parsed.  If the '[' is part of the
+            // opening delimiter for this pattern, parse special
+            // strings "[", "[^", "[-", and "[^-".  Check for stand-in
+            // characters representing a nested set in the symbol
+            // table.
+
+            else {
+                // Prepare to backup if necessary
+                backup = chars.getPos(backup);
+                c = chars.next(opts);
+                literal = chars.isEscaped();
+
+                if (c == '[' && !literal) {
+                    if (mode == 1) {
+                        chars.setPos(backup); // backup
+                        setMode = 1;
+                    } else {
+                        // Handle opening '[' delimiter
+                        mode = 1;
+                        pat.append('[');
+                        backup = chars.getPos(backup); // prepare to backup
+                        c = chars.next(opts);
+                        literal = chars.isEscaped();
+                        if (c == '^' && !literal) {
+                            invert = true;
+                            pat.append('^');
+                            backup = chars.getPos(backup); // prepare to backup
+                            c = chars.next(opts);
+                            literal = chars.isEscaped();
+                        }
+                        // Fall through to handle special leading '-';
+                        // otherwise restart loop for nested [], \p{}, etc.
+                        if (c == '-') {
+                            literal = true;
+                            // Fall through to handle literal '-' below
+                        } else {
+                            chars.setPos(backup); // backup
+                            continue;
+                        }
+                    }
+                } else if (symbols != null) {
+                     UnicodeMatcher m = symbols.lookupMatcher(c); // may be null
+                     if (m != null) {
+                         try {
+                             nested = (UnicodeSet) m;
+                             setMode = 3;
+                         } catch (ClassCastException e) {
+                             syntaxError(chars, "Syntax error");
+                         }
+                     }
+                }
+            }
+
+            // -------- Handle a nested set.  This either is inline in
+            // the pattern or represented by a stand-in that has
+            // previously been parsed and was looked up in the symbol
+            // table.
+
+            if (setMode != 0) {
+                if (lastItem == 1) {
+                    if (op != 0) {
+                        syntaxError(chars, "Char expected after operator");
+                    }
+                    add(lastChar, lastChar);
+                    _appendToPat(pat, lastChar, false);
+                    lastItem = op = 0;
+                }
+
+                if (op == '-' || op == '&') {
+                    pat.append(op);
+                }
+
+                if (nested == null) {
+                    if (scratch == null) scratch = new UnicodeSet();
+                    nested = scratch;
+                }
+                switch (setMode) {
+                case 1:
+                    nested.applyPattern(chars, symbols, pat, options);
+                    break;
+                case 2:
+                    chars.skipIgnored(opts);
+                    nested.applyPropertyPattern(chars, pat, symbols);
+                    break;
+                case 3: // `nested' already parsed
+                    nested._toPattern(pat, false);
+                    break;
+                }
+
+                usePat = true;
+
+                if (mode == 0) {
+                    // Entire pattern is a category; leave parse loop
+                    set(nested);
+                    mode = 2;
+                    break;
+                }
+
+                switch (op) {
+                case '-':
+                    removeAll(nested);
+                    break;
+                case '&':
+                    retainAll(nested);
+                    break;
+                case 0:
+                    addAll(nested);
+                    break;
+                }
+
+                op = 0;
+                lastItem = 2;
+
+                continue;
+            }
+
+            if (mode == 0) {
+                syntaxError(chars, "Missing '['");
+            }
+
+            // -------- Parse special (syntax) characters.  If the
+            // current character is not special, or if it is escaped,
+            // then fall through and handle it below.
+
+            if (!literal) {
+                switch (c) {
+                case ']':
+                    if (lastItem == 1) {
+                        add(lastChar, lastChar);
+                        _appendToPat(pat, lastChar, false);
+                    }
+                    // Treat final trailing '-' as a literal
+                    if (op == '-') {
+                        add(op, op);
+                        pat.append(op);
+                    } else if (op == '&') {
+                        syntaxError(chars, "Trailing '&'");
+                    }
+                    pat.append(']');
+                    mode = 2;
+                    continue;
+                case '-':
+                    if (op == 0) {
+                        if (lastItem != 0) {
+                            op = (char) c;
+                            continue;
+                        } else {
+                            // Treat final trailing '-' as a literal
+                            add(c, c);
+                            c = chars.next(opts);
+                            literal = chars.isEscaped();
+                            if (c == ']' && !literal) {
+                                pat.append("-]");
+                                mode = 2;
+                                continue;
+                            }
+                        }
+                    }
+                    syntaxError(chars, "'-' not after char or set");
+                case '&':
+                    if (lastItem == 2 && op == 0) {
+                        op = (char) c;
+                        continue;
+                    }
+                    syntaxError(chars, "'&' not after set");
+                case '^':
+                    syntaxError(chars, "'^' not after '['");
+                case '{':
+                    if (op != 0) {
+                        syntaxError(chars, "Missing operand after operator");
+                    }
+                    if (lastItem == 1) {
+                        add(lastChar, lastChar);
+                        _appendToPat(pat, lastChar, false);
+                    }
+                    lastItem = 0;
+                    if (buf == null) {
+                        buf = new StringBuffer();
+                    } else {
+                        buf.setLength(0);
+                    }
+                    boolean ok = false;
+                    while (!chars.atEnd()) {
+                        c = chars.next(opts);
+                        literal = chars.isEscaped();
+                        if (c == '}' && !literal) {
+                            ok = true;
+                            break;
+                        }
+                        UTF16.append(buf, c);
+                    }
+                    if (buf.length() < 1 || !ok) {
+                        syntaxError(chars, "Invalid multicharacter string");
+                    }
+                    // We have new string. Add it to set and continue;
+                    // we don't need to drop through to the further
+                    // processing
+                    add(buf.toString());
+                    pat.append('{');
+                    _appendToPat(pat, buf.toString(), false);
+                    pat.append('}');
+                    continue;
+                case SymbolTable.SYMBOL_REF:
+                    //         symbols  nosymbols
+                    // [a-$]   error    error (ambiguous)
+                    // [a$]    anchor   anchor
+                    // [a-$x]  var "x"* literal '$'
+                    // [a-$.]  error    literal '$'
+                    // *We won't get here in the case of var "x"
+                    backup = chars.getPos(backup);
+                    c = chars.next(opts);
+                    literal = chars.isEscaped();
+                    boolean anchor = (c == ']' && !literal);
+                    if (symbols == null && !anchor) {
+                        c = SymbolTable.SYMBOL_REF;
+                        chars.setPos(backup);
+                        break; // literal '$'
+                    }
+                    if (anchor && op == 0) {
+                        if (lastItem == 1) {
+                            add(lastChar, lastChar);
+                            _appendToPat(pat, lastChar, false);
+                        }
+                        add(UnicodeMatcher.ETHER);
+                        usePat = true;
+                        pat.append(SymbolTable.SYMBOL_REF).append(']');
+                        mode = 2;
+                        continue;
+                    }
+                    syntaxError(chars, "Unquoted '$'");
+                default:
+                    break;
+                }
+            }
+
+            // -------- Parse literal characters.  This includes both
+            // escaped chars ("\u4E01") and non-syntax characters
+            // ("a").
+
+            switch (lastItem) {
+            case 0:
+                lastItem = 1;
+                lastChar = c;
+                break;
+            case 1:
+                if (op == '-') {
+                    if (lastChar >= c) {
+                        // Don't allow redundant (a-a) or empty (b-a) ranges;
+                        // these are most likely typos.
+                        syntaxError(chars, "Invalid range");
+                    }
+                    add(lastChar, c);
+                    _appendToPat(pat, lastChar, false);
+                    pat.append(op);
+                    _appendToPat(pat, c, false);
+                    lastItem = op = 0;
+                } else {
+                    add(lastChar, lastChar);
+                    _appendToPat(pat, lastChar, false);
+                    lastChar = c;
+                }
+                break;
+            case 2:
+                if (op != 0) {
+                    syntaxError(chars, "Set expected after operator");
+                }
+                lastChar = c;
+                lastItem = 1;
+                break;
+            }
+        }
+
+        if (mode != 2) {
+            syntaxError(chars, "Missing ']'");
+        }
+
+        chars.skipIgnored(opts);
+
+        /**
+         * Handle global flags (invert, case insensitivity).  If this
+         * pattern should be compiled case-insensitive, then we need
+         * to close over case BEFORE COMPLEMENTING.  This makes
+         * patterns like /[^abc]/i work.
+         */
+        if ((options & CASE) != 0) {
+            closeOver(CASE);
+        }
+        if (invert) {
+            complement();
+        }
+
+        // Use the rebuilt pattern (pat) only if necessary.  Prefer the
+        // generated pattern.
+        if (usePat) {
+            rebuiltPat.append(pat.toString());
+        } else {
+            _generatePattern(rebuiltPat, false);
+        }
+    }
+
+    private static void syntaxError(RuleCharacterIterator chars, String msg) {
+        throw new IllegalArgumentException("Error: " + msg + " at \"" +
+                                           Utility.escape(chars.toString()) +
+                                           '"');
+    }
+
+    /**
+     * Add the contents of the UnicodeSet (as strings) into a collection.
+     * @param target collection to add into
+     * @stable ICU 2.8
+     */
+    public void addAllTo(Collection target) {
+        UnicodeSetIterator it = new UnicodeSetIterator(this);
+        while (it.next()) {
+            target.add(it.getString());
+        }
+    }
+
+    /**
+     * Add the contents of the collection (as strings) into this UnicodeSet.
+     * @param source the collection to add
+     * @stable ICU 2.8
+     */
+    public void addAll(Collection source) {
+        Iterator it = source.iterator();
+        while (it.hasNext()) {
+            add(it.next().toString());
+        }
+    }
+
+    //----------------------------------------------------------------
+    // Implementation: Utility methods
+    //----------------------------------------------------------------
+
+    private void ensureCapacity(int newLen) {
+        if (newLen <= list.length) return;
+        int[] temp = new int[newLen + GROW_EXTRA];
+        System.arraycopy(list, 0, temp, 0, len);
+        list = temp;
+    }
+
+    private void ensureBufferCapacity(int newLen) {
+        if (buffer != null && newLen <= buffer.length) return;
+        buffer = new int[newLen + GROW_EXTRA];
+    }
+
+    /**
+     * Assumes start <= end.
+     */
+    private int[] range(int start, int end) {
+        if (rangeList == null) {
+            rangeList = new int[] { start, end+1, HIGH };
+        } else {
+            rangeList[0] = start;
+            rangeList[1] = end+1;
+        }
+        return rangeList;
+    }
+
+    //----------------------------------------------------------------
+    // Implementation: Fundamental operations
+    //----------------------------------------------------------------
+
+    // polarity = 0, 3 is normal: x xor y
+    // polarity = 1, 2: x xor ~y == x === y
+
+    private UnicodeSet xor(int[] other, int otherLen, int polarity) {
+        ensureBufferCapacity(len + otherLen);
+        int i = 0, j = 0, k = 0;
+        int a = list[i++];
+        int b;
+        if (polarity == 1 || polarity == 2) {
+            b = LOW;
+            if (other[j] == LOW) { // skip base if already LOW
+                ++j;
+                b = other[j];
+            }
+        } else {
+            b = other[j++];
+        }
+        // simplest of all the routines
+        // sort the values, discarding identicals!
+        while (true) {
+            if (a < b) {
+                buffer[k++] = a;
+                a = list[i++];
+            } else if (b < a) {
+                buffer[k++] = b;
+                b = other[j++];
+            } else if (a != HIGH) { // at this point, a == b
+                // discard both values!
+                a = list[i++];
+                b = other[j++];
+            } else { // DONE!
+                buffer[k++] = HIGH;
+                len = k;
+                break;
+            }
+        }
+        // swap list and buffer
+        int[] temp = list;
+        list = buffer;
+        buffer = temp;
+        pat = null;
+        return this;
+    }
+
+    // polarity = 0 is normal: x union y
+    // polarity = 2: x union ~y
+    // polarity = 1: ~x union y
+    // polarity = 3: ~x union ~y
+
+    private UnicodeSet add(int[] other, int otherLen, int polarity) {
+        ensureBufferCapacity(len + otherLen);
+        int i = 0, j = 0, k = 0;
+        int a = list[i++];
+        int b = other[j++];
+        // change from xor is that we have to check overlapping pairs
+        // polarity bit 1 means a is second, bit 2 means b is.
+        main:
+        while (true) {
+            switch (polarity) {
+              case 0: // both first; take lower if unequal
+                if (a < b) { // take a
+                    // Back up over overlapping ranges in buffer[]
+                    if (k > 0 && a <= buffer[k-1]) {
+                        // Pick latter end value in buffer[] vs. list[]
+                        a = max(list[i], buffer[--k]);
+                    } else {
+                        // No overlap
+                        buffer[k++] = a;
+                        a = list[i];
+                    }
+                    i++; // Common if/else code factored out
+                    polarity ^= 1;
+                } else if (b < a) { // take b
+                    if (k > 0 && b <= buffer[k-1]) {
+                        b = max(other[j], buffer[--k]);
+                    } else {
+                        buffer[k++] = b;
+                        b = other[j];
+                    }
+                    j++;
+                    polarity ^= 2;
+                } else { // a == b, take a, drop b
+                    if (a == HIGH) break main;
+                    // This is symmetrical; it doesn't matter if
+                    // we backtrack with a or b. - liu
+                    if (k > 0 && a <= buffer[k-1]) {
+                        a = max(list[i], buffer[--k]);
+                    } else {
+                        // No overlap
+                        buffer[k++] = a;
+                        a = list[i];
+                    }
+                    i++;
+                    polarity ^= 1;
+                    b = other[j++]; polarity ^= 2;
+                }
+                break;
+              case 3: // both second; take higher if unequal, and drop other
+                if (b <= a) { // take a
+                    if (a == HIGH) break main;
+                    buffer[k++] = a;
+                } else { // take b
+                    if (b == HIGH) break main;
+                    buffer[k++] = b;
+                }
+                a = list[i++]; polarity ^= 1;   // factored common code
+                b = other[j++]; polarity ^= 2;
+                break;
+              case 1: // a second, b first; if b < a, overlap
+                if (a < b) { // no overlap, take a
+                    buffer[k++] = a; a = list[i++]; polarity ^= 1;
+                } else if (b < a) { // OVERLAP, drop b
+                    b = other[j++]; polarity ^= 2;
+                } else { // a == b, drop both!
+                    if (a == HIGH) break main;
+                    a = list[i++]; polarity ^= 1;
+                    b = other[j++]; polarity ^= 2;
+                }
+                break;
+              case 2: // a first, b second; if a < b, overlap
+                if (b < a) { // no overlap, take b
+                    buffer[k++] = b; b = other[j++]; polarity ^= 2;
+                } else  if (a < b) { // OVERLAP, drop a
+                    a = list[i++]; polarity ^= 1;
+                } else { // a == b, drop both!
+                    if (a == HIGH) break main;
+                    a = list[i++]; polarity ^= 1;
+                    b = other[j++]; polarity ^= 2;
+                }
+                break;
+            }
+        }
+        buffer[k++] = HIGH;    // terminate
+        len = k;
+        // swap list and buffer
+        int[] temp = list;
+        list = buffer;
+        buffer = temp;
+        pat = null;
+        return this;
+    }
+
+    // polarity = 0 is normal: x intersect y
+    // polarity = 2: x intersect ~y == set-minus
+    // polarity = 1: ~x intersect y
+    // polarity = 3: ~x intersect ~y
+
+    private UnicodeSet retain(int[] other, int otherLen, int polarity) {
+        ensureBufferCapacity(len + otherLen);
+        int i = 0, j = 0, k = 0;
+        int a = list[i++];
+        int b = other[j++];
+        // change from xor is that we have to check overlapping pairs
+        // polarity bit 1 means a is second, bit 2 means b is.
+        main:
+        while (true) {
+            switch (polarity) {
+              case 0: // both first; drop the smaller
+                if (a < b) { // drop a
+                    a = list[i++]; polarity ^= 1;
+                } else if (b < a) { // drop b
+                    b = other[j++]; polarity ^= 2;
+                } else { // a == b, take one, drop other
+                    if (a == HIGH) break main;
+                    buffer[k++] = a; a = list[i++]; polarity ^= 1;
+                    b = other[j++]; polarity ^= 2;
+                }
+                break;
+              case 3: // both second; take lower if unequal
+                if (a < b) { // take a
+                    buffer[k++] = a; a = list[i++]; polarity ^= 1;
+                } else if (b < a) { // take b
+                    buffer[k++] = b; b = other[j++]; polarity ^= 2;
+                } else { // a == b, take one, drop other
+                    if (a == HIGH) break main;
+                    buffer[k++] = a; a = list[i++]; polarity ^= 1;
+                    b = other[j++]; polarity ^= 2;
+                }
+                break;
+              case 1: // a second, b first;
+                if (a < b) { // NO OVERLAP, drop a
+                    a = list[i++]; polarity ^= 1;
+                } else if (b < a) { // OVERLAP, take b
+                    buffer[k++] = b; b = other[j++]; polarity ^= 2;
+                } else { // a == b, drop both!
+                    if (a == HIGH) break main;
+                    a = list[i++]; polarity ^= 1;
+                    b = other[j++]; polarity ^= 2;
+                }
+                break;
+              case 2: // a first, b second; if a < b, overlap
+                if (b < a) { // no overlap, drop b
+                    b = other[j++]; polarity ^= 2;
+                } else  if (a < b) { // OVERLAP, take a
+                    buffer[k++] = a; a = list[i++]; polarity ^= 1;
+                } else { // a == b, drop both!
+                    if (a == HIGH) break main;
+                    a = list[i++]; polarity ^= 1;
+                    b = other[j++]; polarity ^= 2;
+                }
+                break;
+            }
+        }
+        buffer[k++] = HIGH;    // terminate
+        len = k;
+        // swap list and buffer
+        int[] temp = list;
+        list = buffer;
+        buffer = temp;
+        pat = null;
+        return this;
+    }
+
+    private static final int max(int a, int b) {
+        return (a > b) ? a : b;
+    }
+
+    //----------------------------------------------------------------
+    // Generic filter-based scanning code
+    //----------------------------------------------------------------
+
+    private static interface Filter {
+        boolean contains(int codePoint);
+    }
+
+    private static class NumericValueFilter implements Filter {
+        double value;
+        NumericValueFilter(double value) { this.value = value; }
+        public boolean contains(int ch) {
+            return UCharacter.getUnicodeNumericValue(ch) == value;
+        }
+    }
+
+    private static class GeneralCategoryMaskFilter implements Filter {
+        int mask;
+        GeneralCategoryMaskFilter(int mask) { this.mask = mask; }
+        public boolean contains(int ch) {
+            return ((1 << UCharacter.getType(ch)) & mask) != 0;
+        }
+    }
+
+    private static class IntPropertyFilter implements Filter {
+        int prop;
+        int value;
+        IntPropertyFilter(int prop, int value) {
+            this.prop = prop;
+            this.value = value;
+        }
+        public boolean contains(int ch) {
+            return UCharacter.getIntPropertyValue(ch, prop) == value;
+        }
+    }
+
+    // VersionInfo for unassigned characters
+    static final VersionInfo NO_VERSION = VersionInfo.getInstance(0, 0, 0, 0);
+
+    private static class VersionFilter implements Filter {
+        VersionInfo version;
+        VersionFilter(VersionInfo version) { this.version = version; }
+        public boolean contains(int ch) {
+            VersionInfo v = UCharacter.getAge(ch);
+            // Reference comparison ok; VersionInfo caches and reuses
+            // unique objects.
+            return v != NO_VERSION &&
+                   v.compareTo(version) <= 0;
+        }
+    }
+
+    private static synchronized UnicodeSet getInclusions(int src) {
+        if (INCLUSIONS == null) {
+            INCLUSIONS = new UnicodeSet[UCharacterProperty.SRC_COUNT];
+        }
+        if(INCLUSIONS[src] == null) {
+            UnicodeSet incl = new UnicodeSet();
+            switch(src) {
+            case UCharacterProperty.SRC_CHAR:
+                UCharacterProperty.getInstance().addPropertyStarts(incl);
+                break;
+            case UCharacterProperty.SRC_PROPSVEC:
+                UCharacterProperty.getInstance().upropsvec_addPropertyStarts(incl);
+                break;
+            case UCharacterProperty.SRC_CHAR_AND_PROPSVEC:
+                UCharacterProperty.getInstance().addPropertyStarts(incl);
+                UCharacterProperty.getInstance().upropsvec_addPropertyStarts(incl);
+                break;
+            case UCharacterProperty.SRC_HST:
+                UCharacterProperty.getInstance().uhst_addPropertyStarts(incl);
+                break;
+            case UCharacterProperty.SRC_NORM:
+                NormalizerImpl.addPropertyStarts(incl);
+                break;
+            case UCharacterProperty.SRC_CASE:
+                try {
+                    UCaseProps.getSingleton().addPropertyStarts(incl);
+                } catch(IOException e) {
+                    throw new MissingResourceException(e.getMessage(),"","");
+                }
+                break;
+            case UCharacterProperty.SRC_BIDI:
+                try {
+                    UBiDiProps.getSingleton().addPropertyStarts(incl);
+                } catch(IOException e) {
+                    throw new MissingResourceException(e.getMessage(),"","");
+                }
+                break;
+            default:
+                throw new InternalError("UnicodeSet.getInclusions(unknown src "+src+")");
+            }
+            INCLUSIONS[src] = incl;
+        }
+        return INCLUSIONS[src];
+    }
+
+    /**
+     * Generic filter-based scanning code for UCD property UnicodeSets.
+     */
+    private UnicodeSet applyFilter(Filter filter, int src) {
+        // Walk through all Unicode characters, noting the start
+        // and end of each range for which filter.contain(c) is
+        // true.  Add each range to a set.
+        //
+        // To improve performance, use the INCLUSIONS set, which
+        // encodes information about character ranges that are known
+        // to have identical properties, such as the CJK Ideographs
+        // from U+4E00 to U+9FA5.  INCLUSIONS contains all characters
+        // except the first characters of such ranges.
+        //
+        // TODO Where possible, instead of scanning over code points,
+        // use internal property data to initialize UnicodeSets for
+        // those properties.  Scanning code points is slow.
+
+        clear();
+
+        int startHasProperty = -1;
+        UnicodeSet inclusions = getInclusions(src);
+        int limitRange = inclusions.getRangeCount();
+
+        for (int j=0; j<limitRange; ++j) {
+            // get current range
+            int start = inclusions.getRangeStart(j);
+            int end = inclusions.getRangeEnd(j);
+
+            // for all the code points in the range, process
+            for (int ch = start; ch <= end; ++ch) {
+                // only add to the unicodeset on inflection points --
+                // where the hasProperty value changes to false
+                if (filter.contains(ch)) {
+                    if (startHasProperty < 0) {
+                        startHasProperty = ch;
+                    }
+                } else if (startHasProperty >= 0) {
+                    add(startHasProperty, ch-1);
+                    startHasProperty = -1;
+                }
+            }
+        }
+        if (startHasProperty >= 0) {
+            add(startHasProperty, 0x10FFFF);
+        }
+
+        return this;
+    }
+
+
+    /**
+     * Remove leading and trailing rule white space and compress
+     * internal rule white space to a single space character.
+     *
+     * @see UCharacterProperty#isRuleWhiteSpace
+     */
+    private static String mungeCharName(String source) {
+        StringBuffer buf = new StringBuffer();
+        for (int i=0; i<source.length(); ) {
+            int ch = UTF16.charAt(source, i);
+            i += UTF16.getCharCount(ch);
+            if (UCharacterProperty.isRuleWhiteSpace(ch)) {
+                if (buf.length() == 0 ||
+                    buf.charAt(buf.length() - 1) == ' ') {
+                    continue;
+                }
+                ch = ' '; // convert to ' '
+            }
+            UTF16.append(buf, ch);
+        }
+        if (buf.length() != 0 &&
+            buf.charAt(buf.length() - 1) == ' ') {
+            buf.setLength(buf.length() - 1);
+        }
+        return buf.toString();
+    }
+
+    //----------------------------------------------------------------
+    // Property set API
+    //----------------------------------------------------------------
+
+    /**
+     * Modifies this set to contain those code points which have the
+     * given value for the given binary or enumerated property, as
+     * returned by UCharacter.getIntPropertyValue.  Prior contents of
+     * this set are lost.
+     *
+     * @param prop a property in the range
+     * UProperty.BIN_START..UProperty.BIN_LIMIT-1 or
+     * UProperty.INT_START..UProperty.INT_LIMIT-1 or.
+     * UProperty.MASK_START..UProperty.MASK_LIMIT-1.
+     *
+     * @param value a value in the range
+     * UCharacter.getIntPropertyMinValue(prop)..
+     * UCharacter.getIntPropertyMaxValue(prop), with one exception.
+     * If prop is UProperty.GENERAL_CATEGORY_MASK, then value should not be
+     * a UCharacter.getType() result, but rather a mask value produced
+     * by logically ORing (1 << UCharacter.getType()) values together.
+     * This allows grouped categories such as [:L:] to be represented.
+     *
+     * @return a reference to this set
+     *
+     * @stable ICU 2.4
+     */
+    public UnicodeSet applyIntPropertyValue(int prop, int value) {
+        if (prop == UProperty.GENERAL_CATEGORY_MASK) {
+            applyFilter(new GeneralCategoryMaskFilter(value), UCharacterProperty.SRC_CHAR);
+        } else {
+            applyFilter(new IntPropertyFilter(prop, value), UCharacterProperty.getInstance().getSource(prop));
+        }
+        return this;
+    }
+
+
+
+    /**
+     * Modifies this set to contain those code points which have the
+     * given value for the given property.  Prior contents of this
+     * set are lost.
+     *
+     * @param propertyAlias a property alias, either short or long.
+     * The name is matched loosely.  See PropertyAliases.txt for names
+     * and a description of loose matching.  If the value string is
+     * empty, then this string is interpreted as either a
+     * General_Category value alias, a Script value alias, a binary
+     * property alias, or a special ID.  Special IDs are matched
+     * loosely and correspond to the following sets:
+     *
+     * "ANY" = [\u0000-\U0010FFFF],
+     * "ASCII" = [\u0000-\u007F].
+     *
+     * @param valueAlias a value alias, either short or long.  The
+     * name is matched loosely.  See PropertyValueAliases.txt for
+     * names and a description of loose matching.  In addition to
+     * aliases listed, numeric values and canonical combining classes
+     * may be expressed numerically, e.g., ("nv", "0.5") or ("ccc",
+     * "220").  The value string may also be empty.
+     *
+     * @return a reference to this set
+     *
+     * @stable ICU 2.4
+     */
+    public UnicodeSet applyPropertyAlias(String propertyAlias, String valueAlias) {
+        return applyPropertyAlias(propertyAlias, valueAlias, null);
+    }
+
+    /**
+     * Modifies this set to contain those code points which have the
+     * given value for the given property.  Prior contents of this
+     * set are lost.
+     * @param propertyAlias
+     * @param valueAlias
+     * @param symbols if not null, then symbols are first called to see if a property
+     * is available. If true, then everything else is skipped.
+     * @return this set
+     * @draft ICU 3.2
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public UnicodeSet applyPropertyAlias(String propertyAlias,
+                                         String valueAlias, SymbolTable symbols) {
+        int p;
+        int v;
+        boolean mustNotBeEmpty = false, invert = false;
+
+        if (symbols != null
+                && (symbols instanceof XSymbolTable)
+                && ((XSymbolTable)symbols).applyPropertyAlias(propertyAlias, valueAlias, this)) {
+                return this;
+        }
+
+        if (valueAlias.length() > 0) {
+            p = UCharacter.getPropertyEnum(propertyAlias);
+
+            // Treat gc as gcm
+            if (p == UProperty.GENERAL_CATEGORY) {
+                p = UProperty.GENERAL_CATEGORY_MASK;
+            }
+
+            if ((p >= UProperty.BINARY_START && p < UProperty.BINARY_LIMIT) ||
+                (p >= UProperty.INT_START && p < UProperty.INT_LIMIT) ||
+                (p >= UProperty.MASK_START && p < UProperty.MASK_LIMIT)) {
+                try {
+                    v = UCharacter.getPropertyValueEnum(p, valueAlias);
+                } catch (IllegalArgumentException e) {
+                    // Handle numeric CCC
+                    if (p == UProperty.CANONICAL_COMBINING_CLASS ||
+                        p == UProperty.LEAD_CANONICAL_COMBINING_CLASS ||
+                        p == UProperty.TRAIL_CANONICAL_COMBINING_CLASS) {
+                        v = Integer.parseInt(Utility.deleteRuleWhiteSpace(valueAlias));
+                        // If the resultant set is empty then the numeric value
+                        // was invalid.
+                        mustNotBeEmpty = true;
+                    } else {
+                        throw e;
+                    }
+                }
+            }
+
+            else {
+
+                switch (p) {
+                case UProperty.NUMERIC_VALUE:
+                    {
+                        double value = Double.parseDouble(Utility.deleteRuleWhiteSpace(valueAlias));
+                        applyFilter(new NumericValueFilter(value), UCharacterProperty.SRC_CHAR);
+                        return this;
+                    }
+                case UProperty.NAME:
+                case UProperty.UNICODE_1_NAME:
+                    {
+                        // Must munge name, since
+                        // UCharacter.charFromName() does not do
+                        // 'loose' matching.
+                        String buf = mungeCharName(valueAlias);
+                        int ch =
+                            (p == UProperty.NAME) ?
+                            UCharacter.getCharFromExtendedName(buf) :
+                            UCharacter.getCharFromName1_0(buf);
+                        if (ch == -1) {
+                            throw new IllegalArgumentException("Invalid character name");
+                        }
+                        clear();
+                        add(ch);
+                        return this;
+                    }
+                case UProperty.AGE:
+                    {
+                        // Must munge name, since
+                        // VersionInfo.getInstance() does not do
+                        // 'loose' matching.
+                        VersionInfo version = VersionInfo.getInstance(mungeCharName(valueAlias));
+                        applyFilter(new VersionFilter(version), UCharacterProperty.SRC_PROPSVEC);
+                        return this;
+                    }
+                }
+
+                // p is a non-binary, non-enumerated property that we
+                // don't support (yet).
+                throw new IllegalArgumentException("Unsupported property");
+            }
+        }
+
+        else {
+            // valueAlias is empty.  Interpret as General Category, Script,
+            // Binary property, or ANY or ASCII.  Upon success, p and v will
+            // be set.
+            try {
+                p = UProperty.GENERAL_CATEGORY_MASK;
+                v = UCharacter.getPropertyValueEnum(p, propertyAlias);
+            } catch (IllegalArgumentException e) {
+                try {
+                    p = UProperty.SCRIPT;
+                    v = UCharacter.getPropertyValueEnum(p, propertyAlias);
+                } catch (IllegalArgumentException e2) {
+                    try {
+                        p = UCharacter.getPropertyEnum(propertyAlias);
+                    } catch (IllegalArgumentException e3) {
+                        p = -1;
+                    }
+                    if (p >= UProperty.BINARY_START && p < UProperty.BINARY_LIMIT) {
+                        v = 1;
+                    } else if (p == -1) {
+                        if (0 == UPropertyAliases.compare(ANY_ID, propertyAlias)) {
+                            set(MIN_VALUE, MAX_VALUE);
+                            return this;
+                        } else if (0 == UPropertyAliases.compare(ASCII_ID, propertyAlias)) {
+                            set(0, 0x7F);
+                            return this;
+                        } else if (0 == UPropertyAliases.compare(ASSIGNED, propertyAlias)) {
+                            // [:Assigned:]=[:^Cn:]
+                            p = UProperty.GENERAL_CATEGORY_MASK;
+                            v = (1<<UCharacter.UNASSIGNED);
+                            invert = true;
+                        } else {
+                            // Property name was never matched.
+                            throw new IllegalArgumentException("Invalid property alias: " + propertyAlias + "=" + valueAlias);
+                        }
+                    } else {
+                        // Valid propery name, but it isn't binary, so the value
+                        // must be supplied.
+                        throw new IllegalArgumentException("Missing property value");
+                    }
+                }
+            }
+        }
+
+        applyIntPropertyValue(p, v);
+        if(invert) {
+            complement();
+        }
+
+        if (mustNotBeEmpty && isEmpty()) {
+            // mustNotBeEmpty is set to true if an empty set indicates
+            // invalid input.
+            throw new IllegalArgumentException("Invalid property value");
+        }
+
+        return this;
+    }
+
+    //----------------------------------------------------------------
+    // Property set patterns
+    //----------------------------------------------------------------
+
+    /**
+     * Return true if the given position, in the given pattern, appears
+     * to be the start of a property set pattern.
+     */
+    private static boolean resemblesPropertyPattern(String pattern, int pos) {
+        // Patterns are at least 5 characters long
+        if ((pos+5) > pattern.length()) {
+            return false;
+        }
+
+        // Look for an opening [:, [:^, \p, or \P
+        return pattern.regionMatches(pos, "[:", 0, 2) ||
+            pattern.regionMatches(true, pos, "\\p", 0, 2) ||
+            pattern.regionMatches(pos, "\\N", 0, 2);
+    }
+
+    /**
+     * Return true if the given iterator appears to point at a
+     * property pattern.  Regardless of the result, return with the
+     * iterator unchanged.
+     * @param chars iterator over the pattern characters.  Upon return
+     * it will be unchanged.
+     * @param iterOpts RuleCharacterIterator options
+     */
+    private static boolean resemblesPropertyPattern(RuleCharacterIterator chars,
+                                                    int iterOpts) {
+        boolean result = false;
+        iterOpts &= ~RuleCharacterIterator.PARSE_ESCAPES;
+        Object pos = chars.getPos(null);
+        int c = chars.next(iterOpts);
+        if (c == '[' || c == '\\') {
+            int d = chars.next(iterOpts & ~RuleCharacterIterator.SKIP_WHITESPACE);
+            result = (c == '[') ? (d == ':') :
+                     (d == 'N' || d == 'p' || d == 'P');
+        }
+        chars.setPos(pos);
+        return result;
+    }
+
+    /**
+     * Parse the given property pattern at the given parse position.
+     * @param symbols TODO
+     */
+    private UnicodeSet applyPropertyPattern(String pattern, ParsePosition ppos, SymbolTable symbols) {
+        int pos = ppos.getIndex();
+
+        // On entry, ppos should point to one of the following locations:
+
+        // Minimum length is 5 characters, e.g. \p{L}
+        if ((pos+5) > pattern.length()) {
+            return null;
+        }
+
+        boolean posix = false; // true for [:pat:], false for \p{pat} \P{pat} \N{pat}
+        boolean isName = false; // true for \N{pat}, o/w false
+        boolean invert = false;
+
+        // Look for an opening [:, [:^, \p, or \P
+        if (pattern.regionMatches(pos, "[:", 0, 2)) {
+            posix = true;
+            pos = Utility.skipWhitespace(pattern, pos+2);
+            if (pos < pattern.length() && pattern.charAt(pos) == '^') {
+                ++pos;
+                invert = true;
+            }
+        } else if (pattern.regionMatches(true, pos, "\\p", 0, 2) ||
+                   pattern.regionMatches(pos, "\\N", 0, 2)) {
+            char c = pattern.charAt(pos+1);
+            invert = (c == 'P');
+            isName = (c == 'N');
+            pos = Utility.skipWhitespace(pattern, pos+2);
+            if (pos == pattern.length() || pattern.charAt(pos++) != '{') {
+                // Syntax error; "\p" or "\P" not followed by "{"
+                return null;
+            }
+        } else {
+            // Open delimiter not seen
+            return null;
+        }
+
+        // Look for the matching close delimiter, either :] or }
+        int close = pattern.indexOf(posix ? ":]" : "}", pos);
+        if (close < 0) {
+            // Syntax error; close delimiter missing
+            return null;
+        }
+
+        // Look for an '=' sign.  If this is present, we will parse a
+        // medium \p{gc=Cf} or long \p{GeneralCategory=Format}
+        // pattern.
+        int equals = pattern.indexOf('=', pos);
+        String propName, valueName;
+        if (equals >= 0 && equals < close && !isName) {
+            // Equals seen; parse medium/long pattern
+            propName = pattern.substring(pos, equals);
+            valueName = pattern.substring(equals+1, close);
+        }
+
+        else {
+            // Handle case where no '=' is seen, and \N{}
+            propName = pattern.substring(pos, close);
+            valueName = "";
+
+            // Handle \N{name}
+            if (isName) {
+                // This is a little inefficient since it means we have to
+                // parse "na" back to UProperty.NAME even though we already
+                // know it's UProperty.NAME.  If we refactor the API to
+                // support args of (int, String) then we can remove
+                // "na" and make this a little more efficient.
+                valueName = propName;
+                propName = "na";
+            }
+        }
+
+        applyPropertyAlias(propName, valueName, symbols);
+
+        if (invert) {
+            complement();
+        }
+
+        // Move to the limit position after the close delimiter
+        ppos.setIndex(close + (posix ? 2 : 1));
+
+        return this;
+    }
+
+    /**
+     * Parse a property pattern.
+     * @param chars iterator over the pattern characters.  Upon return
+     * it will be advanced to the first character after the parsed
+     * pattern, or the end of the iteration if all characters are
+     * parsed.
+     * @param rebuiltPat the pattern that was parsed, rebuilt or
+     * copied from the input pattern, as appropriate.
+     * @param symbols TODO
+     */
+    private void applyPropertyPattern(RuleCharacterIterator chars,
+                                      StringBuffer rebuiltPat, SymbolTable symbols) {
+        String pat = chars.lookahead();
+        ParsePosition pos = new ParsePosition(0);
+        applyPropertyPattern(pat, pos, symbols);
+        if (pos.getIndex() == 0) {
+            syntaxError(chars, "Invalid property pattern");
+        }
+        chars.jumpahead(pos.getIndex());
+        rebuiltPat.append(pat.substring(0, pos.getIndex()));
+    }
+
+    //----------------------------------------------------------------
+    // Case folding API
+    //----------------------------------------------------------------
+
+    /**
+     * Bitmask for constructor and applyPattern() indicating that
+     * white space should be ignored.  If set, ignore characters for
+     * which UCharacterProperty.isRuleWhiteSpace() returns true,
+     * unless they are quoted or escaped.  This may be ORed together
+     * with other selectors.
+     * @internal
+     */
+    public static final int IGNORE_SPACE = 1;
+
+    /**
+     * Bitmask for constructor, applyPattern(), and closeOver()
+     * indicating letter case.  This may be ORed together with other
+     * selectors.
+     *
+     * Enable case insensitive matching.  E.g., "[ab]" with this flag
+     * will match 'a', 'A', 'b', and 'B'.  "[^ab]" with this flag will
+     * match all except 'a', 'A', 'b', and 'B'. This performs a full
+     * closure over case mappings, e.g. U+017F for s.
+     *
+     * The resulting set is a superset of the input for the code points but
+     * not for the strings.
+     * It performs a case mapping closure of the code points and adds
+     * full case folding strings for the code points, and reduces strings of
+     * the original set to their full case folding equivalents.
+     *
+     * This is designed for case-insensitive matches, for example
+     * in regular expressions. The full code point case closure allows checking of
+     * an input character directly against the closure set.
+     * Strings are matched by comparing the case-folded form from the closure
+     * set with an incremental case folding of the string in question.
+     *
+     * The closure set will also contain single code points if the original
+     * set contained case-equivalent strings (like U+00DF for "ss" or "Ss" etc.).
+     * This is not necessary (that is, redundant) for the above matching method
+     * but results in the same closure sets regardless of whether the original
+     * set contained the code point or a string.
+     *
+     * @internal
+     */
+    public static final int CASE = 2;
+
+    /**
+     * Alias for UnicodeSet.CASE, for ease of porting from C++ where ICU4C
+     * also has both USET_CASE and USET_CASE_INSENSITIVE (see uset.h).
+     * @see #CASE
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final int CASE_INSENSITIVE = 2;
+
+    /**
+     * Bitmask for constructor, applyPattern(), and closeOver()
+     * indicating letter case.  This may be ORed together with other
+     * selectors.
+     *
+     * Enable case insensitive matching.  E.g., "[ab]" with this flag
+     * will match 'a', 'A', 'b', and 'B'.  "[^ab]" with this flag will
+     * match all except 'a', 'A', 'b', and 'B'. This adds the lower-,
+     * title-, and uppercase mappings as well as the case folding
+     * of each existing element in the set.
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final int ADD_CASE_MAPPINGS = 4;
+
+    //  add the result of a full case mapping to the set
+    //  use str as a temporary string to avoid constructing one
+    private static final void addCaseMapping(UnicodeSet set, int result, StringBuffer full) {
+        if(result >= 0) {
+            if(result > UCaseProps.MAX_STRING_LENGTH) {
+                // add a single-code point case mapping
+                set.add(result);
+            } else {
+                // add a string case mapping from full with length result
+                set.add(full.toString());
+                full.setLength(0);
+            }
+        }
+        // result < 0: the code point mapped to itself, no need to add it
+        // see UCaseProps
+    }
+
+    /**
+     * Close this set over the given attribute.  For the attribute
+     * CASE, the result is to modify this set so that:
+     *
+     * 1. For each character or string 'a' in this set, all strings
+     * 'b' such that foldCase(a) == foldCase(b) are added to this set.
+     * (For most 'a' that are single characters, 'b' will have
+     * b.length() == 1.)
+     *
+     * 2. For each string 'e' in the resulting set, if e !=
+     * foldCase(e), 'e' will be removed.
+     *
+     * Example: [aq\u00DF{Bc}{bC}{Fi}] => [aAqQ\u00DF\uFB01{ss}{bc}{fi}]
+     *
+     * (Here foldCase(x) refers to the operation
+     * UCharacter.foldCase(x, true), and a == b actually denotes
+     * a.equals(b), not pointer comparison.)
+     *
+     * @param attribute bitmask for attributes to close over.
+     * Currently only the CASE bit is supported.  Any undefined bits
+     * are ignored.
+     * @return a reference to this set.
+     * @internal
+     */
+    public UnicodeSet closeOver(int attribute) {
+        if ((attribute & (CASE | ADD_CASE_MAPPINGS)) != 0) {
+            UCaseProps csp;
+            try {
+                csp = UCaseProps.getSingleton();
+            } catch(IOException e) {
+                return this;
+            }
+            UnicodeSet foldSet = new UnicodeSet(this);
+            ULocale root = ULocale.ROOT;
+
+            // start with input set to guarantee inclusion
+            // CASE: remove strings because the strings will actually be reduced (folded);
+            //       therefore, start with no strings and add only those needed
+            if((attribute & CASE) != 0) {
+                foldSet.strings.clear();
+            }
+
+            int n = getRangeCount();
+            int result;
+            StringBuffer full = new StringBuffer();
+            int locCache[] = new int[1];
+
+            for (int i=0; i<n; ++i) {
+                int start = getRangeStart(i);
+                int end   = getRangeEnd(i);
+
+                if((attribute & CASE) != 0) {
+                    // full case closure
+                    for (int cp=start; cp<=end; ++cp) {
+                        csp.addCaseClosure(cp, foldSet);
+                    }
+                } else {
+                    // add case mappings
+                    // (does not add long s for regular s, or Kelvin for k, for example)
+                    for (int cp=start; cp<=end; ++cp) {
+                        result = csp.toFullLower(cp, null, full, root, locCache);
+                        addCaseMapping(foldSet, result, full);
+
+                        result = csp.toFullTitle(cp, null, full, root, locCache);
+                        addCaseMapping(foldSet, result, full);
+
+                        result = csp.toFullUpper(cp, null, full, root, locCache);
+                        addCaseMapping(foldSet, result, full);
+
+                        result = csp.toFullFolding(cp, full, 0);
+                        addCaseMapping(foldSet, result, full);
+                    }
+                }
+            }
+            if (!strings.isEmpty()) {
+                String str;
+                if ((attribute & CASE) != 0) {
+                    Iterator it = strings.iterator();
+                    while (it.hasNext()) {
+                        str = UCharacter.foldCase((String)it.next(), 0);
+                        if(!csp.addStringCaseClosure(str, foldSet)) {
+                            foldSet.add(str); // does not map to code points: add the folded string itself
+                        }
+                    }
+                } else {
+                    BreakIterator bi = BreakIterator.getWordInstance(root);
+                    Iterator it = strings.iterator();
+                    while (it.hasNext()) {
+                        str = (String)it.next();
+                        foldSet.add(UCharacter.toLowerCase(root, str));
+                        foldSet.add(UCharacter.toTitleCase(root, str, bi));
+                        foldSet.add(UCharacter.toUpperCase(root, str));
+                        foldSet.add(UCharacter.foldCase(str, 0));
+                    }
+                }
+            }
+            set(foldSet);
+        }
+        return this;
+    }
+
+    /**
+     * Internal class for customizing UnicodeSet parsing of properties.
+     * TODO: extend to allow customizing of codepoint ranges
+     * @internal
+     * @deprecated
+     * @author medavis
+     */
+    abstract static class XSymbolTable implements SymbolTable {
+        public UnicodeMatcher lookupMatcher(int i) {
+        return null;
+    }
+        public boolean applyPropertyAlias(String propertyName, String propertyValue, UnicodeSet result) {
+        return false;
+        }
+    public char[] lookup(String s) {
+        return null;
+    }
+    public String parseReference(String text, ParsePosition pos, int limit) {
+        return null;
+    }
+    }
+}
diff --git a/src/com/ibm/icu/text/UnicodeSetIterator.java b/src/com/ibm/icu/text/UnicodeSetIterator.java
new file mode 100755
index 0000000..71a6de6
--- /dev/null
+++ b/src/com/ibm/icu/text/UnicodeSetIterator.java
@@ -0,0 +1,249 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.text;
+
+import java.util.*;
+
+/**
+ * UnicodeSetIterator iterates over the contents of a UnicodeSet.  It
+ * iterates over either code points or code point ranges.  After all
+ * code points or ranges have been returned, it returns the
+ * multicharacter strings of the UnicodSet, if any.
+ *
+ * <p>To iterate over code points, use a loop like this:
+ * <pre>
+ * UnicodeSetIterator it(set);
+ * while (set.next()) {
+ *   if (set.codepoint != UnicodeSetIterator::IS_STRING) {
+ *     processCodepoint(set.codepoint);
+ *   } else {
+ *     processString(set.string);
+ *   }
+ * }
+ * </pre>
+ *
+ * <p>To iterate over code point ranges, use a loop like this:
+ * <pre>
+ * UnicodeSetIterator it(set);
+ * while (set.nextRange()) {
+ *   if (set.codepoint != UnicodeSetIterator::IS_STRING) {
+ *     processCodepointRange(set.codepoint, set.codepointEnd);
+ *   } else {
+ *     processString(set.string);
+ *   }
+ * }
+ * </pre>
+ * @author M. Davis
+ * @stable ICU 2.0
+ */
+public class UnicodeSetIterator {
+    
+    /**
+     * Value of <tt>codepoint</tt> if the iterator points to a string.
+     * If <tt>codepoint == IS_STRING</tt>, then examine
+     * <tt>string</tt> for the current iteration result.
+     * @stable ICU 2.0
+     */
+    public static int IS_STRING = -1;
+    
+    /**
+     * Current code point, or the special value <tt>IS_STRING</tt>, if
+     * the iterator points to a string.
+     * @stable ICU 2.0
+     */
+    public int codepoint;
+
+    /**
+     * When iterating over ranges using <tt>nextRange()</tt>,
+     * <tt>codepointEnd</tt> contains the inclusive end of the
+     * iteration range, if <tt>codepoint != IS_STRING</tt>.  If
+     * iterating over code points using <tt>next()</tt>, or if
+     * <tt>codepoint == IS_STRING</tt>, then the value of
+     * <tt>codepointEnd</tt> is undefined.
+     * @stable ICU 2.0
+     */
+    public int codepointEnd;
+
+    /**
+     * If <tt>codepoint == IS_STRING</tt>, then <tt>string</tt> points
+     * to the current string.  If <tt>codepoint != IS_STRING</tt>, the
+     * value of <tt>string</tt> is undefined.
+     * @stable ICU 2.0
+     */
+    public String string;
+
+    /**
+     * Create an iterator over the given set.
+     * @param set set to iterate over
+     * @stable ICU 2.0
+     */
+    public UnicodeSetIterator(UnicodeSet set) {
+        reset(set);
+    }
+        
+    /**
+     * Create an iterator over nothing.  <tt>next()</tt> and
+     * <tt>nextRange()</tt> return false. This is a convenience
+     * constructor allowing the target to be set later.
+     * @stable ICU 2.0
+     */
+    public UnicodeSetIterator() {
+        reset(new UnicodeSet());
+    }
+        
+    /**
+     * Returns the next element in the set, either a single code point
+     * or a string.  If there are no more elements in the set, return
+     * false.  If <tt>codepoint == IS_STRING</tt>, the value is a
+     * string in the <tt>string</tt> field.  Otherwise the value is a
+     * single code point in the <tt>codepoint</tt> field.
+     * 
+     * <p>The order of iteration is all code points in sorted order,
+     * followed by all strings sorted order.  <tt>codepointEnd</tt> is
+     * undefined after calling this method.  <tt>string</tt> is
+     * undefined unless <tt>codepoint == IS_STRING</tt>.  Do not mix
+     * calls to <tt>next()</tt> and <tt>nextRange()</tt> without
+     * calling <tt>reset()</tt> between them.  The results of doing so
+     * are undefined.
+     *
+     * @return true if there was another element in the set and this
+     * object contains the element.
+     * @stable ICU 2.0
+     */
+    public boolean next() {
+        if (nextElement <= endElement) {
+            codepoint = codepointEnd = nextElement++;
+            return true;
+        }
+        if (range < endRange) {
+            loadRange(++range);
+            codepoint = codepointEnd = nextElement++;
+            return true;
+        }
+        
+        // stringIterator == null iff there are no string elements remaining
+        
+        if (stringIterator == null) return false;
+        codepoint = IS_STRING; // signal that value is actually a string
+        string = (String)stringIterator.next();
+        if (!stringIterator.hasNext()) stringIterator = null;
+        return true;
+    }
+        
+    /**
+     * Returns the next element in the set, either a code point range
+     * or a string.  If there are no more elements in the set, return
+     * false.  If <tt>codepoint == IS_STRING</tt>, the value is a
+     * string in the <tt>string</tt> field.  Otherwise the value is a
+     * range of one or more code points from <tt>codepoint</tt> to
+     * <tt>codepointeEnd</tt> inclusive.
+     * 
+     * <p>The order of iteration is all code points ranges in sorted
+     * order, followed by all strings sorted order.  Ranges are
+     * disjoint and non-contiguous.  <tt>string</tt> is undefined
+     * unless <tt>codepoint == IS_STRING</tt>.  Do not mix calls to
+     * <tt>next()</tt> and <tt>nextRange()</tt> without calling
+     * <tt>reset()</tt> between them.  The results of doing so are
+     * undefined.
+     *
+     * @return true if there was another element in the set and this
+     * object contains the element.
+     * @stable ICU 2.0
+     */
+    public boolean nextRange() {
+        if (nextElement <= endElement) {
+            codepointEnd = endElement;
+            codepoint = nextElement;
+            nextElement = endElement+1;
+            return true;
+        }
+        if (range < endRange) {
+            loadRange(++range);
+            codepointEnd = endElement;
+            codepoint = nextElement;
+            nextElement = endElement+1;
+            return true;
+        }
+        
+        // stringIterator == null iff there are no string elements remaining
+        
+        if (stringIterator == null) return false;
+        codepoint = IS_STRING; // signal that value is actually a string
+        string = (String)stringIterator.next();
+        if (!stringIterator.hasNext()) stringIterator = null;
+        return true;
+    }
+        
+    /**
+     * Sets this iterator to visit the elements of the given set and
+     * resets it to the start of that set.  The iterator is valid only
+     * so long as <tt>set</tt> is valid.
+     * @param set the set to iterate over.
+     * @stable ICU 2.0
+     */
+    public void reset(UnicodeSet set) {
+        this.set = set;
+        reset();
+    }
+        
+    /**
+     * Resets this iterator to the start of the set.
+     * @stable ICU 2.0
+     */
+    public void reset() {
+        endRange = set.getRangeCount() - 1;
+        range = 0;
+        endElement = -1;
+        nextElement = 0;            
+        if (endRange >= 0) {
+            loadRange(range);
+        }
+        stringIterator = null;
+        if (set.strings != null) {
+            stringIterator = set.strings.iterator();
+            if (!stringIterator.hasNext()) stringIterator = null;
+        }
+    }
+    
+    /**
+     * Gets the current string from the iterator. Only use after calling next(), not nextRange().
+     * @internal
+     */
+    public String getString() {
+        if (codepoint != IS_STRING) {
+            return UTF16.valueOf(codepoint);
+        }
+        return string;
+    }
+    
+    // ======================= PRIVATES ===========================
+    
+    private UnicodeSet set;
+    private int endRange = 0;
+    private int range = 0;
+    /**
+     * @internal
+     */
+    protected int endElement;
+    /**
+     * @internal
+     */
+    protected int nextElement;
+    private Iterator stringIterator = null;
+    
+    /**
+     * Invariant: stringIterator is null when there are no (more) strings remaining
+     */
+
+    /**
+     * @internal
+     */
+    protected void loadRange(int range) {
+        nextElement = set.getRangeStart(range);
+        endElement = set.getRangeEnd(range);
+    }
+}
diff --git a/src/com/ibm/icu/text/UppercaseTransliterator.java b/src/com/ibm/icu/text/UppercaseTransliterator.java
new file mode 100755
index 0000000..3085ddb
--- /dev/null
+++ b/src/com/ibm/icu/text/UppercaseTransliterator.java
@@ -0,0 +1,117 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.text;
+
+import java.io.IOException;
+
+import com.ibm.icu.impl.UCaseProps;
+
+import com.ibm.icu.util.ULocale;
+
+import com.ibm.icu.text.ReplaceableContextIterator;
+
+/**
+ * A transliterator that performs locale-sensitive toUpper()
+ * case mapping.
+ */
+class UppercaseTransliterator extends Transliterator {
+
+    /**
+     * Package accessible ID.
+     */
+    static final String _ID = "Any-Upper";
+    // TODO: Add variants for tr, az, lt, default = default locale
+
+    /**
+     * System registration hook.
+     */
+    static void register() {
+        Transliterator.registerFactory(_ID, new Transliterator.Factory() {
+            public Transliterator getInstance(String ID) {
+                return new UppercaseTransliterator(ULocale.US);
+            }
+        });
+    }
+
+    private ULocale locale;
+
+    private UCaseProps csp;
+    private ReplaceableContextIterator iter;
+    private StringBuffer result;
+    private int[] locCache;
+
+    /**
+     * Constructs a transliterator.
+     */
+    public UppercaseTransliterator(ULocale loc) {
+        super(_ID, null);
+        locale = loc;
+        try {
+            csp=UCaseProps.getSingleton();
+        } catch (IOException e) {
+            csp=null;
+        }
+        iter=new ReplaceableContextIterator();
+        result = new StringBuffer();
+        int[] locCache = new int[1];
+        locCache[0]=0;
+    }
+
+    /**
+     * Implements {@link Transliterator#handleTransliterate}.
+     */
+    protected void handleTransliterate(Replaceable text,
+                                       Position offsets, boolean isIncremental) {
+    if(csp==null) {
+        return;
+    }
+
+    if(offsets.start >= offsets.limit) {
+        return;
+    } 
+
+    iter.setText(text);
+    result.setLength(0);
+    int c, delta;
+
+    // Walk through original string
+    // If there is a case change, modify corresponding position in replaceable
+
+    iter.setIndex(offsets.start);
+    iter.setLimit(offsets.limit);
+    iter.setContextLimits(offsets.contextStart, offsets.contextLimit);
+    while((c=iter.nextCaseMapCP())>=0) {
+        c=csp.toFullUpper(c, iter, result, locale, locCache);
+
+        if(iter.didReachLimit() && isIncremental) {
+            // the case mapping function tried to look beyond the context limit
+            // wait for more input
+            offsets.start=iter.getCaseMapCPStart();
+            return;
+        }
+
+        /* decode the result */
+        if(c<0) {
+            /* c mapped to itself, no change */
+            continue;
+        } else if(c<=UCaseProps.MAX_STRING_LENGTH) {
+            /* replace by the mapping string */
+            delta=iter.replace(result.toString());
+            result.setLength(0);
+        } else {
+            /* replace by single-code point mapping */
+                delta=iter.replace(UTF16.valueOf(c));
+            }
+
+            if(delta!=0) {
+                offsets.limit += delta;
+                offsets.contextLimit += delta;
+            }
+        }
+        offsets.start = offsets.limit;
+    }
+}
diff --git a/src/com/ibm/icu/text/package.html b/src/com/ibm/icu/text/package.html
new file mode 100755
index 0000000..6bd070d
--- /dev/null
+++ b/src/com/ibm/icu/text/package.html
@@ -0,0 +1,25 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html>
+<head>
+<!--  Copyright (C) 2000-2004, International Business Machines Corporation and
+  others. All Rights Reserved.
+
+-->
+</head>
+<body bgcolor="white">
+Extensions and enhancements to java.text to support unicode transforms, UnicodeSet, surrogate char utilities, UCA collation, normalization, break iteration (rule and dictionary based), enhanced number format, international string searching, and arabic shaping.</p>
+
+<ul>
+<li>Unicode Transforms (Transliteration) convert between different representations of unicode text.</li>
+<li>UnicodeSet provides set operations on unicode characters and strings, and are representable as compact expressions.</li>
+<li>Surrogate character utilities (UTF16) provides indexing and substring operations on text containing surrogates.</li>
+<li>UCA collation implements the current Unicode Collation Algorithm.  Data for many locale-specific collations is provided.</li>
+<li>Normalization supports standard Unicode normalization forms as well as FCD.</li>
+<li>Break iteration supports character, word, line, sentences, and title case breaks.</li>
+<li>Enhanced number format to 'spell out' numbers, padding and rounding control.</li>
+<li>Internationally sensitive string searching, uses collation.</li>
+<li>Arabic shaping converts between shaped and unshaped arabic characters and digits.</li>
+</ul>
+
+</body>
+</html>
\ No newline at end of file
diff --git a/src/com/ibm/icu/util/BuddhistCalendar.java b/src/com/ibm/icu/util/BuddhistCalendar.java
new file mode 100755
index 0000000..e1688d3
--- /dev/null
+++ b/src/com/ibm/icu/util/BuddhistCalendar.java
@@ -0,0 +1,264 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+package com.ibm.icu.util;
+
+import com.ibm.icu.util.TimeZone;
+import java.util.Date;
+import java.util.Locale;
+
+/**
+ * <code>BuddhistCalendar</code> is a subclass of <code>GregorianCalendar</code>
+ * that numbers years since the birth of the Buddha.  This is the civil calendar
+ * in some predominantly Buddhist countries such as Thailand, and it is used for
+ * religious purposes elsewhere.
+ * <p>
+ * The Buddhist calendar is identical to the Gregorian calendar in all respects
+ * except for the year and era.  Years are numbered since the birth of the
+ * Buddha in 543 BC (Gregorian), so that 1 AD (Gregorian) is equivalent to 544
+ * BE (Buddhist Era) and 1998 AD is 2541 BE.
+ * <p>
+ * The Buddhist Calendar has only one allowable era: <code>BE</code>.  If the
+ * calendar is not in lenient mode (see <code>setLenient</code>), dates before
+ * 1/1/1 BE are rejected with an <code>IllegalArgumentException</code>.
+ * <p>
+ * This class should not be subclassed.</p>
+ * <p>
+ * BuddhistCalendar usually should be instantiated using 
+ * {@link com.ibm.icu.util.Calendar#getInstance(ULocale)} passing in a <code>ULocale</code>
+ * with the tag <code>"@calendar=buddhist"</code>.</p>
+ * 
+ * @see com.ibm.icu.util.Calendar
+ * @see com.ibm.icu.util.GregorianCalendar
+ *
+ * @author Laura Werner
+ * @author Alan Liu
+ * @stable ICU 2.8
+ */
+public class BuddhistCalendar extends GregorianCalendar {
+    // jdk1.4.2 serialver
+    private static final long serialVersionUID = 2583005278132380631L;
+    private static String copyright = "Copyright \u00a9 1998 IBM Corp. All Rights Reserved.";
+
+    //-------------------------------------------------------------------------
+    // Constructors...
+    //-------------------------------------------------------------------------
+
+    /**
+     * Constant for the Buddhist Era.  This is the only allowable <code>ERA</code>
+     * value for the Buddhist calendar.
+     *
+     * @see com.ibm.icu.util.Calendar#ERA
+     * @stable ICU 2.8
+     */
+    public static final int BE = 0;
+    
+    /**
+     * Constructs a <code>BuddhistCalendar</code> using the current time
+     * in the default time zone with the default locale.
+     * @stable ICU 2.8
+     */
+    public BuddhistCalendar() {
+        super();
+    }
+
+    /**
+     * Constructs a <code>BuddhistCalendar</code> based on the current time
+     * in the given time zone with the default locale.
+     *
+     * @param zone the given time zone.
+     * @stable ICU 2.8
+     */
+    public BuddhistCalendar(TimeZone zone) {
+        super(zone);
+    }
+
+    /**
+     * Constructs a <code>BuddhistCalendar</code> based on the current time
+     * in the default time zone with the given locale.
+     *
+     * @param aLocale the given locale.
+     * @stable ICU 2.8
+     */
+    public BuddhistCalendar(Locale aLocale) {
+        super(aLocale);
+    }
+
+    /**
+     * Constructs a <code>BuddhistCalendar</code> based on the current time
+     * in the default time zone with the given locale.
+     *
+     * @param locale the given ulocale.
+     * @draft ICU 3.2
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public BuddhistCalendar(ULocale locale) {
+        super(locale);
+    }
+
+    /**
+     * Constructs a <code>BuddhistCalendar</code> based on the current time
+     * in the given time zone with the given locale.
+     *
+     * @param zone the given time zone.
+     *
+     * @param aLocale the given locale.
+     * @stable ICU 2.8
+     */
+    public BuddhistCalendar(TimeZone zone, Locale aLocale) {
+        super(zone, aLocale);
+    }
+
+    /**
+     * Constructs a <code>BuddhistCalendar</code> based on the current time
+     * in the given time zone with the given locale.
+     *
+     * @param zone the given time zone.
+     *
+     * @param locale the given ulocale.
+     * @draft ICU 3.2
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public BuddhistCalendar(TimeZone zone, ULocale locale) {
+        super(zone, locale);
+    }
+
+    /**
+     * Constructs a <code>BuddhistCalendar</code> with the given date set
+     * in the default time zone with the default locale.
+     *
+     * @param date      The date to which the new calendar is set.
+     * @stable ICU 2.8
+     */
+    public BuddhistCalendar(Date date) {
+        this();
+        setTime(date);
+    }
+
+    /**
+     * Constructs a <code>BuddhistCalendar</code> with the given date set
+     * in the default time zone with the default locale.
+     *
+     * @param year      The value used to set the calendar's {@link #YEAR YEAR} time field.
+     *
+     * @param month     The value used to set the calendar's {@link #MONTH MONTH} time field.
+     *                  The value is 0-based. e.g., 0 for January.
+     *
+     * @param date      The value used to set the calendar's {@link #DATE DATE} time field.
+     * @stable ICU 2.8
+     */
+    public BuddhistCalendar(int year, int month, int date) {
+        super(year, month, date);
+    }
+
+    /**
+     * Constructs a BuddhistCalendar with the given date
+     * and time set for the default time zone with the default locale.
+     *
+     * @param year      The value used to set the calendar's {@link #YEAR YEAR} time field.
+     *
+     * @param month     The value used to set the calendar's {@link #MONTH MONTH} time field.
+     *                  The value is 0-based. e.g., 0 for January.
+     *
+     * @param date      The value used to set the calendar's {@link #DATE DATE} time field.
+     *
+     * @param hour      The value used to set the calendar's {@link #HOUR_OF_DAY HOUR_OF_DAY} time field.
+     *
+     * @param minute    The value used to set the calendar's {@link #MINUTE MINUTE} time field.
+     *
+     * @param second    The value used to set the calendar's {@link #SECOND SECOND} time field.
+     * @stable ICU 2.8
+     */
+    public BuddhistCalendar(int year, int month, int date, int hour,
+                             int minute, int second)
+    {
+        super(year, month, date, hour, minute, second);
+    }
+
+
+    //-------------------------------------------------------------------------
+    // The only practical difference from a Gregorian calendar is that years
+    // are numbered since the birth of the Buddha.  A couple of overrides will
+    // take care of that....
+    //-------------------------------------------------------------------------
+    
+    // Starts in -543 AD, ie 544 BC
+    private static final int BUDDHIST_ERA_START = -543;
+
+    /**
+     * @stable ICU 2.8
+     */    
+    protected int handleGetExtendedYear() {
+        int year;
+        if (newerField(EXTENDED_YEAR, YEAR) == EXTENDED_YEAR) {
+            year = internalGet(EXTENDED_YEAR, 1);
+        } else {
+            // Ignore the era, as there is only one
+            year = internalGet(YEAR, 1);
+        }
+        return year;
+    }
+
+    // Return JD of start of given month/year
+    /**
+     * @stable ICU 2.8
+     */    
+    protected int handleComputeMonthStart(int eyear, int month, boolean useMonth) {
+        return super.handleComputeMonthStart(eyear + BUDDHIST_ERA_START, month, useMonth);
+    }
+
+    /**
+     * @stable ICU 2.8
+     */    
+    protected void handleComputeFields(int julianDay) {
+        super.handleComputeFields(julianDay);
+        int y = internalGet(EXTENDED_YEAR) - BUDDHIST_ERA_START;
+        internalSet(EXTENDED_YEAR, y);
+        internalSet(ERA, 0);
+        internalSet(YEAR, y);
+    }
+
+    /**
+     * Override GregorianCalendar.  There is only one Buddhist ERA.  We
+     * should really handle YEAR, YEAR_WOY, and EXTENDED_YEAR here too to
+     * implement the 1..5000000 range, but it's not critical.
+     * @stable ICU 2.8
+     */
+    protected int handleGetLimit(int field, int limitType) {
+        if (field == ERA) {
+            return BE;
+        }
+        return super.handleGetLimit(field, limitType);
+    }
+    
+    /**
+     * Return the current Calendar type.
+     * @return type of calendar (gregorian, etc.)
+     * @internal ICU 3.0
+     */
+    public String getType() {
+        return "buddhist";
+    }
+
+    /*
+    private static CalendarFactory factory;
+    public static CalendarFactory factory() {
+        if (factory == null) {
+            factory = new CalendarFactory() {
+                public Calendar create(TimeZone tz, ULocale loc) {
+                    return new BuddhistCalendar(tz, loc);
+                }
+
+                public String factoryName() {
+                    return "Buddhist";
+                }
+            };
+        }
+        return factory;
+    }
+    */
+}
diff --git a/src/com/ibm/icu/util/ByteArrayWrapper.java b/src/com/ibm/icu/util/ByteArrayWrapper.java
new file mode 100644
index 0000000..723744f
--- /dev/null
+++ b/src/com/ibm/icu/util/ByteArrayWrapper.java
@@ -0,0 +1,293 @@
+/**
+ *******************************************************************************
+ * Copyright (C) 1996-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+package com.ibm.icu.util;
+
+import java.nio.ByteBuffer;
+
+import com.ibm.icu.impl.Utility;
+
+/**
+ * <p>
+ * A simple utility class to wrap a byte array.
+ * </p>
+ * <p>
+ * Generally passed as an argument object into a method. The method takes
+ * responsibility of writing into the internal byte array and increasing its
+ * size when necessary.
+ * </p> 
+ * @author syn wee
+ * @stable ICU 2.8
+ */
+public class ByteArrayWrapper implements Comparable
+{
+    // public data member ------------------------------------------------
+    
+    /**
+     * Internal byte array.
+     * @stable ICU 2.8
+     */
+    public byte[] bytes;
+
+    /**
+     * Size of the internal byte array used. 
+     * Different from bytes.length, size will be &lt;= bytes.length. 
+     * Semantics of size is similar to java.util.Vector.size().
+     * @stable ICU 2.8
+     */
+    public int size;
+    
+    // public constructor ------------------------------------------------
+
+    /** 
+     * Construct a new ByteArrayWrapper with no data.
+     * @stable ICU 2.8
+     */
+    public ByteArrayWrapper() {
+        // leave bytes null, don't allocate twice
+    }
+
+    /**
+     * Construct a new ByteArrayWrapper from a byte array and size
+     * @param bytesToAdopt the byte array to adopt
+     * @param size the length of valid data in the byte array
+     * @throws IndexOutOfBoundsException if bytesToAdopt == null and size != 0, or
+     * size < 0, or size > bytesToAdopt.length.
+     * @draft ICU 3.2
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public ByteArrayWrapper(byte[] bytesToAdopt, int size) {
+        if ((bytesToAdopt == null && size != 0) || size < 0 || size > bytesToAdopt.length) {
+            throw new IndexOutOfBoundsException("illegal size: " + size);
+        }
+        this.bytes = bytesToAdopt;
+        this.size = size;
+    }
+
+    /**
+     * Construct a new ByteArrayWrapper from the contents of a ByteBuffer.
+     * @param source the ByteBuffer from which to get the data.
+     * @draft ICU 3.2
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public ByteArrayWrapper(ByteBuffer source) {
+        size = source.limit();
+        bytes = new byte[size];
+        source.get(bytes,0,size);
+    }
+
+    /**
+     * Create from ByteBuffer
+     * @param byteBuffer
+    public ByteArrayWrapper(ByteArrayWrapper source) {
+        size = source.size;
+        bytes = new byte[size];
+        copyBytes(source.bytes, 0, bytes, 0, size);
+    }
+     */
+
+    /**
+     * create from byte buffer
+     * @param src
+     * @param start
+     * @param limit
+    public ByteArrayWrapper(byte[] src, int start, int limit) {
+        size = limit - start;
+        bytes = new byte[size];
+        copyBytes(src, start, bytes, 0, size);
+    }
+     */
+
+    // public methods ----------------------------------------------------
+
+    /**
+     * Ensure that the internal byte array is at least of length capacity.     
+     * If the byte array is null or its length is less than capacity, a new 
+     * byte array of length capacity will be allocated.  
+     * The contents of the array (between 0 and size) remain unchanged. 
+     * @param capacity minimum length of internal byte array.
+     * @return this ByteArrayWrapper
+     * @draft ICU 3.2
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public ByteArrayWrapper ensureCapacity(int capacity) 
+    {
+        if (bytes == null || bytes.length < capacity) {
+            byte[] newbytes = new byte[capacity];
+            copyBytes(bytes, 0, newbytes, 0, size);
+            bytes = newbytes;
+        }
+        return this;
+    }
+    
+    /**
+     * Set the internal byte array from offset 0 to (limit - start) with the 
+     * contents of src from offset start to limit. If the byte array is null or its length is less than capacity, a new 
+     * byte array of length (limit - start) will be allocated.  
+     * This resets the size of the internal byte array to (limit - start).
+     * @param src source byte array to copy from
+     * @param start start offset of src to copy from
+     * @param limit end + 1 offset of src to copy from
+     * @return this ByteArrayWrapper
+     * @draft ICU 3.2
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public final ByteArrayWrapper set(byte[] src, int start, int limit) 
+    {
+        size = 0;
+        append(src, start, limit);
+        return this;
+    }
+    
+    /*
+    public final ByteArrayWrapper get(byte[] target, int start, int limit) 
+    {
+        int len = limit - start;
+        if (len > size) throw new IllegalArgumentException("limit too long");
+        copyBytes(bytes, 0, target, start, len);
+        return this;
+    }
+    */
+
+    /**
+     * Appends the internal byte array from offset size with the 
+     * contents of src from offset start to limit. This increases the size of
+     * the internal byte array to (size + limit - start).
+     * @param src source byte array to copy from
+     * @param start start offset of src to copy from
+     * @param limit end + 1 offset of src to copy from
+     * @return this ByteArrayWrapper
+     * @draft ICU 3.2
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public final ByteArrayWrapper append(byte[] src, int start, int limit) 
+    {
+        int len = limit - start;
+        ensureCapacity(size + len);
+        copyBytes(src, start, bytes, size, len);
+        size += len;
+        return this;
+    }
+
+    /*
+    public final ByteArrayWrapper append(ByteArrayWrapper other) 
+    {
+        return append(other.bytes, 0, other.size);
+    }
+    */
+
+    /**
+     * Releases the internal byte array to the caller, resets the internal
+     * byte array to null and its size to 0.
+     * @return internal byte array.
+     * @stable ICU 2.8
+     */
+    public final byte[] releaseBytes()
+    {
+        byte result[] = bytes;
+        bytes = null;
+        size = 0;
+        return result;
+    }
+    
+    // Boilerplate ----------------------------------------------------
+    
+    /**
+     * Returns string value for debugging
+     * @draft ICU 3.2
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public String toString() {
+        StringBuffer result = new StringBuffer();
+        for (int i = 0; i < size; ++i) {
+            if (i != 0) result.append(" ");
+            result.append(Utility.hex(bytes[i]&0xFF,2));
+        }
+        return result.toString();
+    }
+
+    /**
+     * Return true if the bytes in each wrapper are equal.
+     * @param other the object to compare to.
+     * @return true if the two objects are equal.
+     * @draft ICU 3.2
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public boolean equals(Object other) {
+        if (this == other) return true;
+        if (other == null) return false;
+        try {
+            ByteArrayWrapper that = (ByteArrayWrapper)other;
+            if (size != that.size) return false;
+            for (int i = 0; i < size; ++i) {
+                if (bytes[i] != that.bytes[i]) return false;
+            }
+            return true;
+        }
+        catch (ClassCastException e) {
+        }
+        return false;
+    }
+
+    /**
+     * Return the hashcode.
+     * @return the hashcode.
+     * @draft ICU 3.2
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public int hashCode() {
+        int result = bytes.length;
+        for (int i = 0; i < size; ++i) {
+            result = 37*result + bytes[i];
+        }
+        return result;
+    }
+
+    /**
+     * Compare this object to another ByteArrayWrapper, which must not be null.
+     * @param other the object to compare to.
+     * @return a value <0, 0, or >0 as this compares less than, equal to, or
+     * greater than other.
+     * @throws ClassCastException if the other object is not a ByteArrayWrapper
+     * @draft ICU 3.2
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public int compareTo(Object other) {
+        if (this == other) return 0;
+        ByteArrayWrapper that = (ByteArrayWrapper) other;
+        int minSize = size < that.size ? size : that.size;
+        for (int i = 0; i < minSize; ++i) {
+            if (bytes[i] != that.bytes[i]) {
+                return (bytes[i] & 0xFF) - (that.bytes[i] & 0xFF);
+            }
+        }
+        return size - that.size;
+    }
+    
+    // private methods -----------------------------------------------------
+    
+    /**
+     * Copies the contents of src byte array from offset srcoff to the 
+     * target of tgt byte array at the offset tgtoff.
+     * @param src source byte array to copy from
+     * @param srcoff start offset of src to copy from
+     * @param tgt target byte array to copy to
+     * @param tgtoff start offset of tgt to copy to
+     * @param length size of contents to copy
+     */
+    private static final void copyBytes(byte[] src, int srcoff, byte[] tgt, 
+                                       int tgtoff, int length) {
+        if (length < 64) {
+            for (int i = srcoff, n = tgtoff; -- length >= 0; ++ i, ++ n) {
+                tgt[n] = src[i];
+            }
+        } 
+        else {
+            System.arraycopy(src, srcoff, tgt, tgtoff, length);
+        }
+    }      
+}
diff --git a/src/com/ibm/icu/util/CECalendar.java b/src/com/ibm/icu/util/CECalendar.java
new file mode 100644
index 0000000..a364457
--- /dev/null
+++ b/src/com/ibm/icu/util/CECalendar.java
@@ -0,0 +1,300 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2005, International Business Machines Corporation and         *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.util;
+
+import java.util.Date;
+import java.util.Locale;
+
+/**
+ * Base class for EthiopicCalendar and CopticCalendar.
+ * @internal
+ */
+class CECalendar extends Calendar {
+    // jdk1.4.2 serialver
+    private static final long serialVersionUID = -999547623066414271L;
+
+    private static final int LIMITS[][] = {
+        // Minimum  Greatest    Least  Maximum
+        //           Minimum  Maximum
+        {0, 0, 1, 1                          }, // ERA
+        {1, 1, 5828963, 5838270              }, // YEAR
+        {0, 0, 13, 13                        }, // MONTH
+        {1, 1, 52, 53                        }, // WEEK_OF_YEAR
+        {0, 0, 1, 6                          }, // WEEK_OF_MONTH
+        {1, 1, 5, 30                         }, // DAY_OF_MONTH
+        {1, 1, 365, 366                      }, // DAY_OF_YEAR
+        {/*                                */}, // DAY_OF_WEEK
+        {-1, -1, 4, 6                        }, // DAY_OF_WEEK_IN_MONTH
+        {/*                                */}, // AM_PM
+        {/*                                */}, // HOUR
+        {/*                                */}, // HOUR_OF_DAY
+        {/*                                */}, // MINUTE
+        {/*                                */}, // SECOND
+        {/*                                */}, // MILLISECOND
+        {/*                                */}, // ZONE_OFFSET
+        {/*                                */}, // DST_OFFSET
+        {-5838270, -5838270, 5828964, 5838271}, // YEAR_WOY
+        {/*                                */}, // DOW_LOCAL
+        {-5838269, -5838269, 5828963, 5838270}, // EXTENDED_YEAR
+        {/*                                */}, // JULIAN_DAY
+        {/*                                */}, // MILLISECONDS_IN_DAY
+    };
+
+    private static final int[][] ceMONTH_COUNT = {
+        //len len2 st  st2
+        {30, 30,   0,   0}, // Meskerem
+        {30, 30,  30,  30}, // Tekemt 
+        {30, 30,  60,  60}, // Hedar 
+        {30, 30,  90,  90}, // Tahsas 
+        {30, 30, 120, 120}, // Ter 
+        {30, 30, 150, 150}, // Yekatit
+        {30, 30, 180, 180}, // Megabit
+        {30, 30, 210, 210}, // Miazia
+        {30, 30, 240, 244}, // Genbot
+        {30, 30, 270, 270}, // Sene 
+        {30, 30, 300, 300}, // Hamle 
+        {30, 30, 330, 330}, // Nehasse 
+        { 5,  6, 360, 360}  // Pwagme
+        // len  length of month
+        // len2 length of month in a leap year
+        // st   days in year before start of month
+        // st2  days in year before month in leap year
+    };
+    
+    // The Coptic and Ethiopic calendars differ only in their epochs.
+    // We handle this by setting the jdOffset to the difference between
+    // the Julian and Coptic or Ethiopic epoch.
+    // This value is set in the class initialization phase of the two
+    // subclasses, CopticCalendar and EthiopicCalendar
+    protected int jdEpochOffset  = -1;
+    
+
+    protected int handleGetLimit(int field, int limitType) {
+        return LIMITS[field][limitType];
+    }
+    
+    //-------------------------------------------------------------------------
+    // Constructors...
+    //-------------------------------------------------------------------------
+
+    /**
+     * Constructs a default <code>CECalendar</code> using the current time
+     * in the default time zone with the default locale.
+     */
+    protected CECalendar() {
+        this(TimeZone.getDefault(), ULocale.getDefault());
+    }
+
+    /**
+     * Constructs a <code>CECalendar</code> based on the current time
+     * in the given time zone with the default locale.
+     *
+     * @param zone The time zone for the new calendar.
+     */
+    protected CECalendar(TimeZone zone) {
+        this(zone, ULocale.getDefault());
+    }
+
+    /**
+     * Constructs a <code>CECalendar</code> based on the current time
+     * in the default time zone with the given locale.
+     *
+     * @param aLocale The locale for the new calendar.
+     */
+    protected CECalendar(Locale aLocale) {
+        this(TimeZone.getDefault(), aLocale);
+    }
+
+    /**
+     * Constructs a <code>CECalendar</code> based on the current time
+     * in the default time zone with the given locale.
+     *
+     * @param locale The locale for the new calendar.
+     */
+    protected CECalendar(ULocale locale) {
+        this(TimeZone.getDefault(), locale);
+    }
+
+    /**
+     * Constructs a <code>CECalendar</code> based on the current time
+     * in the given time zone with the given locale.
+     *
+     * @param zone The time zone for the new calendar.
+     *
+     * @param aLocale The locale for the new calendar.
+     */
+    protected CECalendar(TimeZone zone, Locale aLocale) {
+        super(zone, aLocale);
+        setTimeInMillis(System.currentTimeMillis());
+    }
+
+    /**
+     * Constructs a <code>CECalendar</code> based on the current time
+     * in the given time zone with the given locale.
+     *
+     * @param zone The time zone for the new calendar.
+     *
+     * @param locale The locale for the new calendar.
+     */
+    protected CECalendar(TimeZone zone, ULocale locale) {
+        super(zone, locale);
+        setTimeInMillis(System.currentTimeMillis());
+    }
+
+    /**
+     * Constructs a <code>CECalendar</code> with the given date set
+     * in the default time zone with the default locale.
+     *
+     * @param year      The value used to set the calendar's {@link #YEAR YEAR} time field.
+     *
+     * @param month     The value used to set the calendar's {@link #MONTH MONTH} time field.
+     *                  The value is 0-based. e.g., 0 for Tishri.
+     *
+     * @param date      The value used to set the calendar's {@link #DATE DATE} time field.
+     */
+    protected CECalendar(int year, int month, int date) {
+        super(TimeZone.getDefault(), ULocale.getDefault());
+        this.set(year, month, date);
+    }
+
+    /**
+     * Constructs a <code>CECalendar</code> with the given date set
+     * in the default time zone with the default locale.
+     *
+     * @param date      The date to which the new calendar is set.
+     */
+    protected CECalendar(Date date) {
+        super(TimeZone.getDefault(), ULocale.getDefault());
+        this.setTime(date);
+    }
+
+    /**
+     * Constructs a <code>CECalendar</code> with the given date
+     * and time set for the default time zone with the default locale.
+     *
+     * @param year      The value used to set the calendar's {@link #YEAR YEAR} time field.
+     * @param month     The value used to set the calendar's {@link #MONTH MONTH} time field.
+     *                  The value is 0-based. e.g., 0 for Tishri.
+     * @param date      The value used to set the calendar's {@link #DATE DATE} time field.
+     * @param hour      The value used to set the calendar's {@link #HOUR_OF_DAY HOUR_OF_DAY} time field.
+     * @param minute    The value used to set the calendar's {@link #MINUTE MINUTE} time field.
+     * @param second    The value used to set the calendar's {@link #SECOND SECOND} time field.
+     */
+    protected CECalendar(int year, int month, int date, int hour,
+                         int minute, int second)
+    {
+        super(TimeZone.getDefault(), ULocale.getDefault());
+        this.set(year, month, date, hour, minute, second);
+    }
+    
+    
+    //-------------------------------------------------------------------------
+    // Calendar system Converstion methods...
+    //-------------------------------------------------------------------------
+
+    /**
+     * @internal
+     */
+    protected int handleComputeMonthStart(int eyear,
+                                          int emonth,
+                                          boolean useMonth) {
+        return ceToJD(eyear, emonth, 0, jdEpochOffset);
+    }
+
+    /**
+     * @internal
+     */
+    protected int handleGetExtendedYear() {
+        int year;
+        if (newerField(EXTENDED_YEAR, YEAR) == EXTENDED_YEAR) {
+            year = internalGet(EXTENDED_YEAR, 1); // Default to year 1
+        } else {
+            year = internalGet(YEAR, 1); // Default to year 1
+        }
+        return year;
+    }
+
+    /**
+     * @internal
+     */
+    protected void handleComputeFields(int julianDay) {
+        Integer[] date = getDateFromJD(julianDay, jdEpochOffset);
+        int _year  = date[0].intValue();
+        int _month = date[1].intValue();
+        int _day   = date[2].intValue();
+        int ceyear = 0;
+
+        // Do we want to use EthiopicCalendar.AA, .AM here?
+        int era = GregorianCalendar.AD;
+        if (_year < 0) { // dlf: this is what the test says to do
+            era   = GregorianCalendar.BC;
+            ceyear = 1 - _year;
+        } else {
+            ceyear = _year;
+        }
+
+        internalSet(MONTH, _month);
+        internalSet(DAY_OF_MONTH, _day);
+        internalSet(DAY_OF_YEAR, (30 * _month) + _day);
+        internalSet(EXTENDED_YEAR, ceyear);
+        internalSet(ERA, era);
+        internalSet(YEAR, _year);
+    }
+
+    /**
+     * @internal
+     */
+    public static int ceToJD(long year, int month, int date, int jdEpochOffset) {
+
+        // Julian<->Ethiopic algorithms from:
+        // "Calendars in Ethiopia", Berhanu Beyene, Manfred Kudlek, International Conference
+        // of Ethiopian Studies XV, Hamburg, 2003
+
+        return (int) (
+            (jdEpochOffset+365)     // difference from Julian epoch to 1,1,1
+            + 365 * (year - 1)      // number of days from years
+            + quotient(year, 4)     // extra day of leap year
+            + 30 * (month + 1)      // number of days from months
+            + date                  // number of days for present month
+            - 31                    // slack?
+            );
+    }
+
+    /**
+     * @internal
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static Integer[] getDateFromJD(int julianDay, int jdEpochOffset) {
+        // 1461 is the number of days in 4 years
+        long r4 = mod(julianDay - jdEpochOffset, 1461); // number of days within a 4 year period
+        long  n = mod(r4, 365) + 365 * quotient(r4, 1460);  // days in present year
+
+        long aprime = 4   // number of years in the leap year cycle
+            * quotient(julianDay - jdEpochOffset, 1461)  // number of 4 year periods between epochs?
+            + quotient(r4, 365)   // number of regular years?
+            - quotient(r4, 1460)  // number of 4 year periods?
+            - 1;
+
+        int _year   = (int) (aprime + 1);
+        int _month  = (int) (quotient(n, 30));
+        int _day    = mod(n, 30) + 1;
+
+        return new Integer[]{ new Integer(_year), new Integer(_month), new Integer(_day) };
+    }
+ 
+    /**
+     * These utility functions can be replaced by equivalent 
+     * functions from ICU if available.
+     */
+    static int mod(long i, int j) {
+        return (int) (i - (long) j * quotient(i, j));
+    }
+    
+    static int quotient(long i, int j) {
+        return (int) Math.floor((double) i / j);
+    }
+}
diff --git a/src/com/ibm/icu/util/Calendar.java b/src/com/ibm/icu/util/Calendar.java
new file mode 100755
index 0000000..493a6e5
--- /dev/null
+++ b/src/com/ibm/icu/util/Calendar.java
@@ -0,0 +1,5182 @@
+/*
+*   Copyright (C) 1996-2005, International Business Machines
+*   Corporation and others.  All Rights Reserved.
+*/
+
+package com.ibm.icu.util;
+
+import com.ibm.icu.impl.ICULocaleService;
+import com.ibm.icu.impl.ICULocaleService.LocaleKeyFactory;
+import com.ibm.icu.impl.ICUResourceBundle;
+import com.ibm.icu.impl.ICUService.Factory;
+import com.ibm.icu.impl.CalendarData;
+import com.ibm.icu.text.DateFormat;
+import com.ibm.icu.text.DateFormatSymbols;
+import com.ibm.icu.text.SimpleDateFormat;
+import com.ibm.icu.util.TimeZone;
+import com.ibm.icu.util.BuddhistCalendar;
+import com.ibm.icu.util.ChineseCalendar;
+import com.ibm.icu.util.CopticCalendar;
+import com.ibm.icu.util.EthiopicCalendar;
+import com.ibm.icu.util.GregorianCalendar;
+import com.ibm.icu.util.HebrewCalendar;
+import com.ibm.icu.util.IslamicCalendar;
+import com.ibm.icu.util.JapaneseCalendar;
+
+import java.io.IOException;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
+import java.io.Serializable;
+import java.text.MessageFormat;
+import java.util.Collections;
+import java.util.Date;
+import java.util.Hashtable;
+import java.util.HashMap;
+import java.util.Locale;
+import java.util.Map;
+import java.util.MissingResourceException;
+import java.util.ResourceBundle;
+import java.util.Set;
+
+/**
+ * <code>Calendar</code> is an abstract base class for converting between
+ * a <code>Date</code> object and a set of integer fields such as
+ * <code>YEAR</code>, <code>MONTH</code>, <code>DAY</code>, <code>HOUR</code>,
+ * and so on. (A <code>Date</code> object represents a specific instant in
+ * time with millisecond precision. See
+ * {@link Date}
+ * for information about the <code>Date</code> class.)
+ *
+ * <p><b>Note:</b>  This class is similar, but not identical, to the class
+ * <code>java.util.Calendar</code>.  Changes are detailed below.
+ *
+ * <p>
+ * Subclasses of <code>Calendar</code> interpret a <code>Date</code>
+ * according to the rules of a specific calendar system.  ICU4J contains
+ * several subclasses implementing different international calendar systems.
+ *
+ * <p>
+ * Like other locale-sensitive classes, <code>Calendar</code> provides a
+ * class method, <code>getInstance</code>, for getting a generally useful
+ * object of this type. <code>Calendar</code>'s <code>getInstance</code> method
+ * returns a calendar of a type appropriate to the locale, whose
+ * time fields have been initialized with the current date and time:
+ * <blockquote>
+ * <pre>Calendar rightNow = Calendar.getInstance()</pre>
+ * </blockquote>
+ *
+ * <p>When a <code>ULocale</code> is used by <code>getInstance</code>, its
+ * '<code>calendar</code>' tag and value are retrieved if present.  If a recognized
+ * value is supplied, a calendar is provided and configured as appropriate.
+ * Currently recognized tags are "buddhist", "chinese", "coptic", "ethiopic", 
+ * "gregorian", "hebrew", "islamic", "islamic-civil", and "japanese".  For
+ * example: <blockquote>
+ * <pre>Calendar cal = Calendar.getInstance(new ULocale("en_US@calendar=japanese"));</pre>
+ * </blockquote> will return an instance of JapaneseCalendar (using en_US conventions for
+ * minimum days in first week, start day of week, et cetera).
+ *
+ * <p>A <code>Calendar</code> object can produce all the time field values
+ * needed to implement the date-time formatting for a particular language and
+ * calendar style (for example, Japanese-Gregorian, Japanese-Traditional).
+ * <code>Calendar</code> defines the range of values returned by certain fields,
+ * as well as their meaning.  For example, the first month of the year has value
+ * <code>MONTH</code> == <code>JANUARY</code> for all calendars.  Other values
+ * are defined by the concrete subclass, such as <code>ERA</code> and
+ * <code>YEAR</code>.  See individual field documentation and subclass
+ * documentation for details.
+ *
+ * <p>When a <code>Calendar</code> is <em>lenient</em>, it accepts a wider range
+ * of field values than it produces.  For example, a lenient
+ * <code>GregorianCalendar</code> interprets <code>MONTH</code> ==
+ * <code>JANUARY</code>, <code>DAY_OF_MONTH</code> == 32 as February 1.  A
+ * non-lenient <code>GregorianCalendar</code> throws an exception when given
+ * out-of-range field settings.  When calendars recompute field values for
+ * return by <code>get()</code>, they normalize them.  For example, a
+ * <code>GregorianCalendar</code> always produces <code>DAY_OF_MONTH</code>
+ * values between 1 and the length of the month.
+ *
+ * <p><code>Calendar</code> defines a locale-specific seven day week using two
+ * parameters: the first day of the week and the minimal days in first week
+ * (from 1 to 7).  These numbers are taken from the locale resource data when a
+ * <code>Calendar</code> is constructed.  They may also be specified explicitly
+ * through the API.
+ *
+ * <p>When setting or getting the <code>WEEK_OF_MONTH</code> or
+ * <code>WEEK_OF_YEAR</code> fields, <code>Calendar</code> must determine the
+ * first week of the month or year as a reference point.  The first week of a
+ * month or year is defined as the earliest seven day period beginning on
+ * <code>getFirstDayOfWeek()</code> and containing at least
+ * <code>getMinimalDaysInFirstWeek()</code> days of that month or year.  Weeks
+ * numbered ..., -1, 0 precede the first week; weeks numbered 2, 3,... follow
+ * it.  Note that the normalized numbering returned by <code>get()</code> may be
+ * different.  For example, a specific <code>Calendar</code> subclass may
+ * designate the week before week 1 of a year as week <em>n</em> of the previous
+ * year.
+ *
+ * <p> When computing a <code>Date</code> from time fields, two special
+ * circumstances may arise: there may be insufficient information to compute the
+ * <code>Date</code> (such as only year and month but no day in the month), or
+ * there may be inconsistent information (such as "Tuesday, July 15, 1996" --
+ * July 15, 1996 is actually a Monday).
+ *
+ * <p>
+ * <strong>Insufficient information.</strong> The calendar will use default
+ * information to specify the missing fields. This may vary by calendar; for
+ * the Gregorian calendar, the default for a field is the same as that of the
+ * start of the epoch: i.e., YEAR = 1970, MONTH = JANUARY, DATE = 1, etc.
+ *
+ * <p>
+ * <strong>Inconsistent information.</strong> If fields conflict, the calendar
+ * will give preference to fields set more recently. For example, when
+ * determining the day, the calendar will look for one of the following
+ * combinations of fields.  The most recent combination, as determined by the
+ * most recently set single field, will be used.
+ *
+ * <blockquote>
+ * <pre>
+ * MONTH + DAY_OF_MONTH
+ * MONTH + WEEK_OF_MONTH + DAY_OF_WEEK
+ * MONTH + DAY_OF_WEEK_IN_MONTH + DAY_OF_WEEK
+ * DAY_OF_YEAR
+ * DAY_OF_WEEK + WEEK_OF_YEAR</pre>
+ * </blockquote>
+ *
+ * For the time of day:
+ *
+ * <blockquote>
+ * <pre>
+ * HOUR_OF_DAY
+ * AM_PM + HOUR</pre>
+ * </blockquote>
+ *
+ * <p>
+ * <strong>Note:</strong> for some non-Gregorian calendars, different
+ * fields may be necessary for complete disambiguation. For example, a full
+ * specification of the historial Arabic astronomical calendar requires year,
+ * month, day-of-month <em>and</em> day-of-week in some cases.
+ *
+ * <p>
+ * <strong>Note:</strong> There are certain possible ambiguities in
+ * interpretation of certain singular times, which are resolved in the
+ * following ways:
+ * <ol>
+ *     <li> 24:00:00 "belongs" to the following day. That is,
+ *          23:59 on Dec 31, 1969 &lt; 24:00 on Jan 1, 1970 &lt; 24:01:00 on Jan 1, 1970
+ *
+ *     <li> Although historically not precise, midnight also belongs to "am",
+ *          and noon belongs to "pm", so on the same day,
+ *          12:00 am (midnight) &lt; 12:01 am, and 12:00 pm (noon) &lt; 12:01 pm
+ * </ol>
+ *
+ * <p>
+ * The date or time format strings are not part of the definition of a
+ * calendar, as those must be modifiable or overridable by the user at
+ * runtime. Use {@link DateFormat}
+ * to format dates.
+ *
+ * <p><strong>Field manipulation methods</strong></p>
+ *
+ * <p><code>Calendar</code> fields can be changed using three methods:
+ * <code>set()</code>, <code>add()</code>, and <code>roll()</code>.</p>
+ *
+ * <p><strong><code>set(f, value)</code></strong> changes field
+ * <code>f</code> to <code>value</code>.  In addition, it sets an
+ * internal member variable to indicate that field <code>f</code> has
+ * been changed. Although field <code>f</code> is changed immediately,
+ * the calendar's milliseconds is not recomputed until the next call to
+ * <code>get()</code>, <code>getTime()</code>, or
+ * <code>getTimeInMillis()</code> is made. Thus, multiple calls to
+ * <code>set()</code> do not trigger multiple, unnecessary
+ * computations. As a result of changing a field using
+ * <code>set()</code>, other fields may also change, depending on the
+ * field, the field value, and the calendar system. In addition,
+ * <code>get(f)</code> will not necessarily return <code>value</code>
+ * after the fields have been recomputed. The specifics are determined by
+ * the concrete calendar class.</p>
+ *
+ * <p><em>Example</em>: Consider a <code>GregorianCalendar</code>
+ * originally set to August 31, 1999. Calling <code>set(Calendar.MONTH,
+ * Calendar.SEPTEMBER)</code> sets the calendar to September 31,
+ * 1999. This is a temporary internal representation that resolves to
+ * October 1, 1999 if <code>getTime()</code>is then called. However, a
+ * call to <code>set(Calendar.DAY_OF_MONTH, 30)</code> before the call to
+ * <code>getTime()</code> sets the calendar to September 30, 1999, since
+ * no recomputation occurs after <code>set()</code> itself.</p>
+ *
+ * <p><strong><code>add(f, delta)</code></strong> adds <code>delta</code>
+ * to field <code>f</code>.  This is equivalent to calling <code>set(f,
+ * get(f) + delta)</code> with two adjustments:</p>
+ *
+ * <blockquote>
+ *   <p><strong>Add rule 1</strong>. The value of field <code>f</code>
+ *   after the call minus the value of field <code>f</code> before the
+ *   call is <code>delta</code>, modulo any overflow that has occurred in
+ *   field <code>f</code>. Overflow occurs when a field value exceeds its
+ *   range and, as a result, the next larger field is incremented or
+ *   decremented and the field value is adjusted back into its range.</p>
+ *
+ *   <p><strong>Add rule 2</strong>. If a smaller field is expected to be
+ *   invariant, but &nbsp; it is impossible for it to be equal to its
+ *   prior value because of changes in its minimum or maximum after field
+ *   <code>f</code> is changed, then its value is adjusted to be as close
+ *   as possible to its expected value. A smaller field represents a
+ *   smaller unit of time. <code>HOUR</code> is a smaller field than
+ *   <code>DAY_OF_MONTH</code>. No adjustment is made to smaller fields
+ *   that are not expected to be invariant. The calendar system
+ *   determines what fields are expected to be invariant.</p>
+ * </blockquote>
+ *
+ * <p>In addition, unlike <code>set()</code>, <code>add()</code> forces
+ * an immediate recomputation of the calendar's milliseconds and all
+ * fields.</p>
+ *
+ * <p><em>Example</em>: Consider a <code>GregorianCalendar</code>
+ * originally set to August 31, 1999. Calling <code>add(Calendar.MONTH,
+ * 13)</code> sets the calendar to September 30, 2000. <strong>Add rule
+ * 1</strong> sets the <code>MONTH</code> field to September, since
+ * adding 13 months to August gives September of the next year. Since
+ * <code>DAY_OF_MONTH</code> cannot be 31 in September in a
+ * <code>GregorianCalendar</code>, <strong>add rule 2</strong> sets the
+ * <code>DAY_OF_MONTH</code> to 30, the closest possible value. Although
+ * it is a smaller field, <code>DAY_OF_WEEK</code> is not adjusted by
+ * rule 2, since it is expected to change when the month changes in a
+ * <code>GregorianCalendar</code>.</p>
+ *
+ * <p><strong><code>roll(f, delta)</code></strong> adds
+ * <code>delta</code> to field <code>f</code> without changing larger
+ * fields. This is equivalent to calling <code>add(f, delta)</code> with
+ * the following adjustment:</p>
+ *
+ * <blockquote>
+ *   <p><strong>Roll rule</strong>. Larger fields are unchanged after the
+ *   call. A larger field represents a larger unit of
+ *   time. <code>DAY_OF_MONTH</code> is a larger field than
+ *   <code>HOUR</code>.</p>
+ * </blockquote>
+ *
+ * <p><em>Example</em>: Consider a <code>GregorianCalendar</code>
+ * originally set to August 31, 1999. Calling <code>roll(Calendar.MONTH,
+ * 8)</code> sets the calendar to April 30, <strong>1999</strong>.  Add
+ * rule 1 sets the <code>MONTH</code> field to April. Using a
+ * <code>GregorianCalendar</code>, the <code>DAY_OF_MONTH</code> cannot
+ * be 31 in the month April. Add rule 2 sets it to the closest possible
+ * value, 30. Finally, the <strong>roll rule</strong> maintains the
+ * <code>YEAR</code> field value of 1999.</p>
+ *
+ * <p><em>Example</em>: Consider a <code>GregorianCalendar</code>
+ * originally set to Sunday June 6, 1999. Calling
+ * <code>roll(Calendar.WEEK_OF_MONTH, -1)</code> sets the calendar to
+ * Tuesday June 1, 1999, whereas calling
+ * <code>add(Calendar.WEEK_OF_MONTH, -1)</code> sets the calendar to
+ * Sunday May 30, 1999. This is because the roll rule imposes an
+ * additional constraint: The <code>MONTH</code> must not change when the
+ * <code>WEEK_OF_MONTH</code> is rolled. Taken together with add rule 1,
+ * the resultant date must be between Tuesday June 1 and Saturday June
+ * 5. According to add rule 2, the <code>DAY_OF_WEEK</code>, an invariant
+ * when changing the <code>WEEK_OF_MONTH</code>, is set to Tuesday, the
+ * closest possible value to Sunday (where Sunday is the first day of the
+ * week).</p>
+ *
+ * <p><strong>Usage model</strong>. To motivate the behavior of
+ * <code>add()</code> and <code>roll()</code>, consider a user interface
+ * component with increment and decrement buttons for the month, day, and
+ * year, and an underlying <code>GregorianCalendar</code>. If the
+ * interface reads January 31, 1999 and the user presses the month
+ * increment button, what should it read? If the underlying
+ * implementation uses <code>set()</code>, it might read March 3, 1999. A
+ * better result would be February 28, 1999. Furthermore, if the user
+ * presses the month increment button again, it should read March 31,
+ * 1999, not March 28, 1999. By saving the original date and using either
+ * <code>add()</code> or <code>roll()</code>, depending on whether larger
+ * fields should be affected, the user interface can behave as most users
+ * will intuitively expect.</p>
+ *
+ * <p><b>Note:</b> You should always use {@link #roll roll} and {@link #add add} rather
+ * than attempting to perform arithmetic operations directly on the fields
+ * of a <tt>Calendar</tt>.  It is quite possible for <tt>Calendar</tt> subclasses
+ * to have fields with non-linear behavior, for example missing months
+ * or days during non-leap years.  The subclasses' <tt>add</tt> and <tt>roll</tt>
+ * methods will take this into account, while simple arithmetic manipulations
+ * may give invalid results.
+ *
+ * <p><big><big><b>Calendar Architecture in ICU4J</b></big></big></p>
+ *
+ * <p>Recently the implementation of <code>Calendar</code> has changed
+ * significantly in order to better support subclassing. The original
+ * <code>Calendar</code> class was designed to support subclassing, but
+ * it had only one implemented subclass, <code>GregorianCalendar</code>.
+ * With the implementation of several new calendar subclasses, including
+ * the <code>BuddhistCalendar</code>, <code>ChineseCalendar</code>,
+ * <code>HebrewCalendar</code>, <code>IslamicCalendar</code>, and
+ * <code>JapaneseCalendar</code>, the subclassing API has been reworked
+ * thoroughly. This section details the new subclassing API and other
+ * ways in which <code>com.ibm.icu.util.Calendar</code> differs from
+ * <code>java.util.Calendar</code>.
+ * </p>
+ *
+ * <p><big><b>Changes</b></big></p>
+ *
+ * <p>Overview of changes between the classic <code>Calendar</code>
+ * architecture and the new architecture.
+ *
+ * <ul>
+ *
+ *   <li>The <code>fields[]</code> array is <code>private</code> now
+ *     instead of <code>protected</code>.  Subclasses must access it
+ *     using the methods {@link #internalSet} and
+ *     {@link #internalGet}.  <b>Motivation:</b> Subclasses should
+ *     not directly access data members.</li>
+ *
+ *   <li>The <code>time</code> long word is <code>private</code> now
+ *     instead of <code>protected</code>.  Subclasses may access it using
+ *     the method {@link #internalGetTimeInMillis}, which does not
+ *     provoke an update. <b>Motivation:</b> Subclasses should not
+ *     directly access data members.</li>
+ *
+ *   <li>The scope of responsibility of subclasses has been drastically
+ *     reduced. As much functionality as possible is implemented in the
+ *     <code>Calendar</code> base class. As a result, it is much easier
+ *     to subclass <code>Calendar</code>. <b>Motivation:</b> Subclasses
+ *     should not have to reimplement common code. Certain behaviors are
+ *     common across calendar systems: The definition and behavior of
+ *     week-related fields and time fields, the arithmetic
+ *     ({@link #add(int, int) add} and {@link #roll(int, int) roll}) behavior of many
+ *     fields, and the field validation system.</li>
+ *
+ *   <li>The subclassing API has been completely redesigned.</li>
+ *
+ *   <li>The <code>Calendar</code> base class contains some Gregorian
+ *     calendar algorithmic support that subclasses can use (specifically
+ *     in {@link #handleComputeFields}).  Subclasses can use the
+ *     methods <code>getGregorianXxx()</code> to obtain precomputed
+ *     values. <b>Motivation:</b> This is required by all
+ *     <code>Calendar</code> subclasses in order to implement consistent
+ *     time zone behavior, and Gregorian-derived systems can use the
+ *     already computed data.</li>
+ *
+ *   <li>The <code>FIELD_COUNT</code> constant has been removed. Use
+ *     {@link #getFieldCount}.  In addition, framework API has been
+ *     added to allow subclasses to define additional fields.
+ *     <b>Motivation: </b>The number of fields is not constant across
+ *     calendar systems.</li>
+ *
+ *   <li>The range of handled dates has been narrowed from +/-
+ *     ~300,000,000 years to +/- ~5,000,000 years. In practical terms
+ *     this should not affect clients. However, it does mean that client
+ *     code cannot be guaranteed well-behaved results with dates such as
+ *     <code>Date(Long.MIN_VALUE)</code> or
+ *     <code>Date(Long.MAX_VALUE)</code>. Instead, the
+ *     <code>Calendar</code> constants {@link #MIN_DATE},
+ *     {@link #MAX_DATE}, {@link #MIN_MILLIS},
+ *     {@link #MAX_MILLIS}, {@link #MIN_JULIAN}, and
+ *     {@link #MAX_JULIAN} should be used. <b>Motivation:</b> With
+ *     the addition of the {@link #JULIAN_DAY} field, Julian day
+ *     numbers must be restricted to a 32-bit <code>int</code>.  This
+ *     restricts the overall supported range. Furthermore, restricting
+ *     the supported range simplifies the computations by removing
+ *     special case code that was used to accomodate arithmetic overflow
+ *     at millis near <code>Long.MIN_VALUE</code> and
+ *     <code>Long.MAX_VALUE</code>.</li>
+ *
+ *   <li>New fields are implemented: {@link #JULIAN_DAY} defines
+ *     single-field specification of the
+ *     date. {@link #MILLISECONDS_IN_DAY} defines a single-field
+ *     specification of the wall time. {@link #DOW_LOCAL} and
+ *     {@link #YEAR_WOY} implement localized day-of-week and
+ *     week-of-year behavior.</li>
+ *
+ *   <li>Subclasses can access millisecond constants
+ *     {@link #ONE_SECOND}, {@link #ONE_MINUTE},
+ *     {@link #ONE_HOUR}, {@link #ONE_DAY}, and
+ *     {@link #ONE_WEEK} defined in <code>Calendar</code>.</li>
+ *
+ *   <li>New API has been added to suport calendar-specific subclasses
+ *     of <code>DateFormat</code>.</li>
+ *
+ *   <li>Several subclasses have been implemented, representing
+ *     various international calendar systems.</li>
+ *
+ * </ul>
+ *
+ * <p><big><b>Subclass API</b></big></p>
+ *
+ * <p>The original <code>Calendar</code> API was based on the experience
+ * of implementing a only a single subclass,
+ * <code>GregorianCalendar</code>. As a result, all of the subclassing
+ * kinks had not been worked out. The new subclassing API has been
+ * refined based on several implemented subclasses. This includes methods
+ * that must be overridden and methods for subclasses to call. Subclasses
+ * no longer have direct access to <code>fields</code> and
+ * <code>stamp</code>. Instead, they have new API to access
+ * these. Subclasses are able to allocate the <code>fields</code> array
+ * through a protected framework method; this allows subclasses to
+ * specify additional fields. </p>
+ *
+ * <p>More functionality has been moved into the base class. The base
+ * class now contains much of the computational machinery to support the
+ * Gregorian calendar. This is based on two things: (1) Many calendars
+ * are based on the Gregorian calendar (such as the Buddhist and Japanese
+ * imperial calendars). (2) <em>All</em> calendars require basic
+ * Gregorian support in order to handle timezone computations. </p>
+ *
+ * <p>Common computations have been moved into
+ * <code>Calendar</code>. Subclasses no longer compute the week related
+ * fields and the time related fields. These are commonly handled for all
+ * calendars by the base class. </p>
+ *
+ * <p><b>Subclass computation of time <tt>=&gt;</tt> fields</b>
+ *
+ * <p>The {@link #ERA}, {@link #YEAR},
+ * {@link #EXTENDED_YEAR}, {@link #MONTH},
+ * {@link #DAY_OF_MONTH}, and {@link #DAY_OF_YEAR} fields are
+ * computed by the subclass, based on the Julian day. All other fields
+ * are computed by <code>Calendar</code>.
+ *
+ * <ul>
+ *
+ *   <li>Subclasses should implement {@link #handleComputeFields}
+ *     to compute the {@link #ERA}, {@link #YEAR},
+ *     {@link #EXTENDED_YEAR}, {@link #MONTH},
+ *     {@link #DAY_OF_MONTH}, and {@link #DAY_OF_YEAR} fields,
+ *     based on the value of the {@link #JULIAN_DAY} field. If there
+ *     are calendar-specific fields not defined by <code>Calendar</code>,
+ *     they must also be computed. These are the only fields that the
+ *     subclass should compute. All other fields are computed by the base
+ *     class, so time and week fields behave in a consistent way across
+ *     all calendars. The default version of this method in
+ *     <code>Calendar</code> implements a proleptic Gregorian
+ *     calendar. Within this method, subclasses may call
+ *     <code>getGregorianXxx()</code> to obtain the Gregorian calendar
+ *     month, day of month, and extended year for the given date.</li>
+ *
+ * </ul>
+ *
+ * <p><b>Subclass computation of fields <tt>=&gt;</tt> time</b>
+ *
+ * <p>The interpretation of most field values is handled entirely by
+ * <code>Calendar</code>. <code>Calendar</code> determines which fields
+ * are set, which are not, which are set more recently, and so on. In
+ * addition, <code>Calendar</code> handles the computation of the time
+ * from the time fields and handles the week-related fields. The only
+ * thing the subclass must do is determine the extended year, based on
+ * the year fields, and then, given an extended year and a month, it must
+ * return a Julian day number.
+ *
+ * <ul>
+ *
+ *   <li>Subclasses should implement {@link #handleGetExtendedYear}
+ *     to return the extended year for this calendar system, based on the
+ *     {@link #YEAR}, {@link #EXTENDED_YEAR}, and any fields that
+ *     the calendar system uses that are larger than a year, such as
+ *     {@link #ERA}.</li>
+ *
+ *   <li>Subclasses should implement {@link #handleComputeMonthStart}
+ *     to return the Julian day number
+ *     associated with a month and extended year. This is the Julian day
+ *     number of the day before the first day of the month. The month
+ *     number is zero-based. This computation should not depend on any
+ *     field values.</li>
+ *
+ * </ul>
+ *
+ * <p><b>Other methods</b>
+ *
+ * <ul>
+ *
+ *   <li>Subclasses should implement {@link #handleGetMonthLength}
+ *     to return the number of days in a
+ *     given month of a given extended year. The month number, as always,
+ *     is zero-based.</li>
+ *
+ *   <li>Subclasses should implement {@link #handleGetYearLength}
+ *     to return the number of days in the given
+ *     extended year. This method is used by
+ *     <tt>computeWeekFields</tt> to compute the
+ *     {@link #WEEK_OF_YEAR} and {@link #YEAR_WOY} fields.</li>
+ *
+ *   <li>Subclasses should implement {@link #handleGetLimit}
+ *     to return the {@link #MINIMUM},
+ *     {@link #GREATEST_MINIMUM}, {@link #LEAST_MAXIMUM}, or
+ *     {@link #MAXIMUM} of a field, depending on the value of
+ *     <code>limitType</code>. This method only needs to handle the
+ *     fields {@link #ERA}, {@link #YEAR}, {@link #MONTH},
+ *     {@link #WEEK_OF_YEAR}, {@link #WEEK_OF_MONTH},
+ *     {@link #DAY_OF_MONTH}, {@link #DAY_OF_YEAR},
+ *     {@link #DAY_OF_WEEK_IN_MONTH}, {@link #YEAR_WOY}, and
+ *     {@link #EXTENDED_YEAR}.  Other fields are invariant (with
+ *     respect to calendar system) and are handled by the base
+ *     class.</li>
+ *
+ *   <li>Optionally, subclasses may override {@link #validateField}
+ *     to check any subclass-specific fields. If the
+ *     field's value is out of range, the method should throw an
+ *     <code>IllegalArgumentException</code>. The method may call
+ *     <code>super.validateField(field)</code> to handle fields in a
+ *     generic way, that is, to compare them to the range
+ *     <code>getMinimum(field)</code>..<code>getMaximum(field)</code>.</li>
+ *
+ *   <li>Optionally, subclasses may override
+ *     {@link #handleCreateFields} to create an <code>int[]</code>
+ *     array large enough to hold the calendar's fields. This is only
+ *     necessary if the calendar defines additional fields beyond those
+ *     defined by <code>Calendar</code>. The length of the result must be
+ *     at least {@link #BASE_FIELD_COUNT} and no more than
+ *     {@link #MAX_FIELD_COUNT}.</li>
+ *
+ *   <li>Optionally, subclasses may override
+ *     {@link #handleGetDateFormat} to create a
+ *     <code>DateFormat</code> appropriate to this calendar. This is only
+ *     required if a calendar subclass redefines the use of a field (for
+ *     example, changes the {@link #ERA} field from a symbolic field
+ *     to a numeric one) or defines an additional field.</li>
+ *
+ *   <li>Optionally, subclasses may override {@link #roll roll} and
+ *     {@link #add add} to handle fields that are discontinuous. For
+ *     example, in the Hebrew calendar the month &quot;Adar I&quot; only
+ *     occurs in leap years; in other years the calendar jumps from
+ *     Shevat (month #4) to Adar (month #6). The {@link
+ *     HebrewCalendar#add HebrewCalendar.add} and {@link
+ *     HebrewCalendar#roll HebrewCalendar.roll} methods take this into
+ *     account, so that adding 1 month to Shevat gives the proper result
+ *     (Adar) in a non-leap year. The protected utility method {@link
+ *     #pinField pinField} is often useful when implementing these two
+ *     methods. </li>
+ *
+ * </ul>
+ *
+ * <p><big><b>Normalized behavior</b></big>
+ *
+ * <p>The behavior of certain fields has been made consistent across all
+ * calendar systems and implemented in <code>Calendar</code>.
+ *
+ * <ul>
+ *
+ *   <li>Time is normalized. Even though some calendar systems transition
+ *     between days at sunset or at other times, all ICU4J calendars
+ *     transition between days at <em>local zone midnight</em>.  This
+ *     allows ICU4J to centralize the time computations in
+ *     <code>Calendar</code> and to maintain basic correpsondences
+ *     between calendar systems. Affected fields: {@link #AM_PM},
+ *     {@link #HOUR}, {@link #HOUR_OF_DAY}, {@link #MINUTE},
+ *     {@link #SECOND}, {@link #MILLISECOND},
+ *     {@link #ZONE_OFFSET}, and {@link #DST_OFFSET}.</li>
+ *
+ *   <li>DST behavior is normalized. Daylight savings time behavior is
+ *     computed the same for all calendar systems, and depends on the
+ *     value of several <code>GregorianCalendar</code> fields: the
+ *     {@link #YEAR}, {@link #MONTH}, and
+ *     {@link #DAY_OF_MONTH}. As a result, <code>Calendar</code>
+ *     always computes these fields, even for non-Gregorian calendar
+ *     systems. These fields are available to subclasses.</li>
+ *
+ *   <li>Weeks are normalized. Although locales define the week
+ *     differently, in terms of the day on which it starts, and the
+ *     designation of week number one of a month or year, they all use a
+ *     common mechanism. Furthermore, the day of the week has a simple
+ *     and consistent definition throughout history. For example,
+ *     although the Gregorian calendar introduced a discontinuity when
+ *     first instituted, the day of week was not disrupted. For this
+ *     reason, the fields {@link #DAY_OF_WEEK}, <code>WEEK_OF_YEAR,
+ *     WEEK_OF_MONTH</code>, {@link #DAY_OF_WEEK_IN_MONTH},
+ *     {@link #DOW_LOCAL}, {@link #YEAR_WOY} are all computed in
+ *     a consistent way in the base class, based on the
+ *     {@link #EXTENDED_YEAR}, {@link #DAY_OF_YEAR},
+ *     {@link #MONTH}, and {@link #DAY_OF_MONTH}, which are
+ *     computed by the subclass.</li>
+ *
+ * </ul>
+ *
+ * <p><big><b>Supported range</b></big>
+ *
+ * <p>The allowable range of <code>Calendar</code> has been
+ * narrowed. <code>GregorianCalendar</code> used to attempt to support
+ * the range of dates with millisecond values from
+ * <code>Long.MIN_VALUE</code> to <code>Long.MAX_VALUE</code>. This
+ * introduced awkward constructions (hacks) which slowed down
+ * performance. It also introduced non-uniform behavior at the
+ * boundaries. The new <code>Calendar</code> protocol specifies the
+ * maximum range of supportable dates as those having Julian day numbers
+ * of <code>-0x7F000000</code> to <code>+0x7F000000</code>. This
+ * corresponds to years from ~5,000,000 BCE to ~5,000,000 CE. Programmers
+ * should use the constants {@link #MIN_DATE} (or
+ * {@link #MIN_MILLIS} or {@link #MIN_JULIAN}) and
+ * {@link #MAX_DATE} (or {@link #MAX_MILLIS} or
+ * {@link #MAX_JULIAN}) in <code>Calendar</code> to specify an
+ * extremely early or extremely late date.</p>
+ *
+ * <p><big><b>General notes</b></big>
+ *
+ * <ul>
+ *
+ *   <li>Calendars implementations are <em>proleptic</em>. For example,
+ *     even though the Gregorian calendar was not instituted until the
+ *     16th century, the <code>GregorianCalendar</code> class supports
+ *     dates before the historical onset of the calendar by extending the
+ *     calendar system backward in time. Similarly, the
+ *     <code>HebrewCalendar</code> extends backward before the start of
+ *     its epoch into zero and negative years. Subclasses do not throw
+ *     exceptions because a date precedes the historical start of a
+ *     calendar system. Instead, they implement
+ *     {@link #handleGetLimit} to return appropriate limits on
+ *     {@link #YEAR}, {@link #ERA}, etc. fields. Then, if the
+ *     calendar is set to not be lenient, out-of-range field values will
+ *     trigger an exception.</li>
+ *
+ *   <li>Calendar system subclasses compute a <em>extended
+ *     year</em>. This differs from the {@link #YEAR} field in that
+ *     it ranges over all integer values, including zero and negative
+ *     values, and it encapsulates the information of the
+ *     {@link #YEAR} field and all larger fields.  Thus, for the
+ *     Gregorian calendar, the {@link #EXTENDED_YEAR} is computed as
+ *     <code>ERA==AD ? YEAR : 1-YEAR</code>. Another example is the Mayan
+ *     long count, which has years (<code>KUN</code>) and nested cycles
+ *     of years (<code>KATUN</code> and <code>BAKTUN</code>). The Mayan
+ *     {@link #EXTENDED_YEAR} is computed as <code>TUN + 20 * (KATUN
+ *     + 20 * BAKTUN)</code>. The <code>Calendar</code> base class uses
+ *     the {@link #EXTENDED_YEAR} field to compute the week-related
+ *     fields.</li>
+ *
+ * </ul>
+ *
+ * @see          Date
+ * @see          GregorianCalendar
+ * @see          TimeZone
+ * @see          DateFormat
+ * @author Mark Davis, David Goldsmith, Chen-Lieh Huang, Alan Liu, Laura Werner
+ * @stable ICU 2.0
+ */
+public abstract class Calendar implements Serializable, Cloneable, Comparable {
+
+    // Data flow in Calendar
+    // ---------------------
+
+    // The current time is represented in two ways by Calendar: as UTC
+    // milliseconds from the epoch start (1 January 1970 0:00 UTC), and as local
+    // fields such as MONTH, HOUR, AM_PM, etc.  It is possible to compute the
+    // millis from the fields, and vice versa.  The data needed to do this
+    // conversion is encapsulated by a TimeZone object owned by the Calendar.
+    // The data provided by the TimeZone object may also be overridden if the
+    // user sets the ZONE_OFFSET and/or DST_OFFSET fields directly. The class
+    // keeps track of what information was most recently set by the caller, and
+    // uses that to compute any other information as needed.
+
+    // If the user sets the fields using set(), the data flow is as follows.
+    // This is implemented by the Calendar subclass's computeTime() method.
+    // During this process, certain fields may be ignored.  The disambiguation
+    // algorithm for resolving which fields to pay attention to is described
+    // above.
+
+    //   local fields (YEAR, MONTH, DATE, HOUR, MINUTE, etc.)
+    //           |
+    //           | Using Calendar-specific algorithm
+    //           V
+    //   local standard millis
+    //           |
+    //           | Using TimeZone or user-set ZONE_OFFSET / DST_OFFSET
+    //           V
+    //   UTC millis (in time data member)
+
+    // If the user sets the UTC millis using setTime(), the data flow is as
+    // follows.  This is implemented by the Calendar subclass's computeFields()
+    // method.
+
+    //   UTC millis (in time data member)
+    //           |
+    //           | Using TimeZone getOffset()
+    //           V
+    //   local standard millis
+    //           |
+    //           | Using Calendar-specific algorithm
+    //           V
+    //   local fields (YEAR, MONTH, DATE, HOUR, MINUTE, etc.)
+
+    // In general, a round trip from fields, through local and UTC millis, and
+    // back out to fields is made when necessary.  This is implemented by the
+    // complete() method.  Resolving a partial set of fields into a UTC millis
+    // value allows all remaining fields to be generated from that value.  If
+    // the Calendar is lenient, the fields are also renormalized to standard
+    // ranges when they are regenerated.
+
+    /**
+     * Field number for <code>get</code> and <code>set</code> indicating the
+     * era, e.g., AD or BC in the Julian calendar. This is a calendar-specific
+     * value; see subclass documentation.
+     * @see GregorianCalendar#AD
+     * @see GregorianCalendar#BC
+     * @stable ICU 2.0
+     */
+    public final static int ERA = 0;
+
+    /**
+     * Field number for <code>get</code> and <code>set</code> indicating the
+     * year. This is a calendar-specific value; see subclass documentation.
+     * @stable ICU 2.0
+     */
+    public final static int YEAR = 1;
+
+    /**
+     * Field number for <code>get</code> and <code>set</code> indicating the
+     * month. This is a calendar-specific value. The first month of the year is
+     * <code>JANUARY</code>; the last depends on the number of months in a year.
+     * @see #JANUARY
+     * @see #FEBRUARY
+     * @see #MARCH
+     * @see #APRIL
+     * @see #MAY
+     * @see #JUNE
+     * @see #JULY
+     * @see #AUGUST
+     * @see #SEPTEMBER
+     * @see #OCTOBER
+     * @see #NOVEMBER
+     * @see #DECEMBER
+     * @see #UNDECIMBER
+     * @stable ICU 2.0
+     */
+    public final static int MONTH = 2;
+
+    /**
+     * Field number for <code>get</code> and <code>set</code> indicating the
+     * week number within the current year.  The first week of the year, as
+     * defined by <code>getFirstDayOfWeek()</code> and
+     * <code>getMinimalDaysInFirstWeek()</code>, has value 1.  Subclasses define
+     * the value of <code>WEEK_OF_YEAR</code> for days before the first week of
+     * the year.
+     * @see #getFirstDayOfWeek
+     * @see #getMinimalDaysInFirstWeek
+     * @stable ICU 2.0
+     */
+    public final static int WEEK_OF_YEAR = 3;
+
+    /**
+     * Field number for <code>get</code> and <code>set</code> indicating the
+     * week number within the current month.  The first week of the month, as
+     * defined by <code>getFirstDayOfWeek()</code> and
+     * <code>getMinimalDaysInFirstWeek()</code>, has value 1.  Subclasses define
+     * the value of <code>WEEK_OF_MONTH</code> for days before the first week of
+     * the month.
+     * @see #getFirstDayOfWeek
+     * @see #getMinimalDaysInFirstWeek
+     * @stable ICU 2.0
+     */
+    public final static int WEEK_OF_MONTH = 4;
+
+    /**
+     * Field number for <code>get</code> and <code>set</code> indicating the
+     * day of the month. This is a synonym for <code>DAY_OF_MONTH</code>.
+     * The first day of the month has value 1.
+     * @see #DAY_OF_MONTH
+     * @stable ICU 2.0
+     */
+    public final static int DATE = 5;
+
+    /**
+     * Field number for <code>get</code> and <code>set</code> indicating the
+     * day of the month. This is a synonym for <code>DATE</code>.
+     * The first day of the month has value 1.
+     * @see #DATE
+     * @stable ICU 2.0
+     */
+    public final static int DAY_OF_MONTH = 5;
+
+    /**
+     * Field number for <code>get</code> and <code>set</code> indicating the day
+     * number within the current year.  The first day of the year has value 1.
+     * @stable ICU 2.0
+     */
+    public final static int DAY_OF_YEAR = 6;
+
+    /**
+     * Field number for <code>get</code> and <code>set</code> indicating the day
+     * of the week.  This field takes values <code>SUNDAY</code>,
+     * <code>MONDAY</code>, <code>TUESDAY</code>, <code>WEDNESDAY</code>,
+     * <code>THURSDAY</code>, <code>FRIDAY</code>, and <code>SATURDAY</code>.
+     * @see #SUNDAY
+     * @see #MONDAY
+     * @see #TUESDAY
+     * @see #WEDNESDAY
+     * @see #THURSDAY
+     * @see #FRIDAY
+     * @see #SATURDAY
+     * @stable ICU 2.0
+     */
+    public final static int DAY_OF_WEEK = 7;
+
+    /**
+     * Field number for <code>get</code> and <code>set</code> indicating the
+     * ordinal number of the day of the week within the current month. Together
+     * with the <code>DAY_OF_WEEK</code> field, this uniquely specifies a day
+     * within a month.  Unlike <code>WEEK_OF_MONTH</code> and
+     * <code>WEEK_OF_YEAR</code>, this field's value does <em>not</em> depend on
+     * <code>getFirstDayOfWeek()</code> or
+     * <code>getMinimalDaysInFirstWeek()</code>.  <code>DAY_OF_MONTH 1</code>
+     * through <code>7</code> always correspond to <code>DAY_OF_WEEK_IN_MONTH
+     * 1</code>; <code>8</code> through <code>15</code> correspond to
+     * <code>DAY_OF_WEEK_IN_MONTH 2</code>, and so on.
+     * <code>DAY_OF_WEEK_IN_MONTH 0</code> indicates the week before
+     * <code>DAY_OF_WEEK_IN_MONTH 1</code>.  Negative values count back from the
+     * end of the month, so the last Sunday of a month is specified as
+     * <code>DAY_OF_WEEK = SUNDAY, DAY_OF_WEEK_IN_MONTH = -1</code>.  Because
+     * negative values count backward they will usually be aligned differently
+     * within the month than positive values.  For example, if a month has 31
+     * days, <code>DAY_OF_WEEK_IN_MONTH -1</code> will overlap
+     * <code>DAY_OF_WEEK_IN_MONTH 5</code> and the end of <code>4</code>.
+     * @see #DAY_OF_WEEK
+     * @see #WEEK_OF_MONTH
+     * @stable ICU 2.0
+     */
+    public final static int DAY_OF_WEEK_IN_MONTH = 8;
+
+    /**
+     * Field number for <code>get</code> and <code>set</code> indicating
+     * whether the <code>HOUR</code> is before or after noon.
+     * E.g., at 10:04:15.250 PM the <code>AM_PM</code> is <code>PM</code>.
+     * @see #AM
+     * @see #PM
+     * @see #HOUR
+     * @stable ICU 2.0
+     */
+    public final static int AM_PM = 9;
+
+    /**
+     * Field number for <code>get</code> and <code>set</code> indicating the
+     * hour of the morning or afternoon. <code>HOUR</code> is used for the 12-hour
+     * clock.
+     * E.g., at 10:04:15.250 PM the <code>HOUR</code> is 10.
+     * @see #AM_PM
+     * @see #HOUR_OF_DAY
+     * @stable ICU 2.0
+     */
+    public final static int HOUR = 10;
+
+    /**
+     * Field number for <code>get</code> and <code>set</code> indicating the
+     * hour of the day. <code>HOUR_OF_DAY</code> is used for the 24-hour clock.
+     * E.g., at 10:04:15.250 PM the <code>HOUR_OF_DAY</code> is 22.
+     * @see #HOUR
+     * @stable ICU 2.0
+     */
+    public final static int HOUR_OF_DAY = 11;
+
+    /**
+     * Field number for <code>get</code> and <code>set</code> indicating the
+     * minute within the hour.
+     * E.g., at 10:04:15.250 PM the <code>MINUTE</code> is 4.
+     * @stable ICU 2.0
+     */
+    public final static int MINUTE = 12;
+
+    /**
+     * Field number for <code>get</code> and <code>set</code> indicating the
+     * second within the minute.
+     * E.g., at 10:04:15.250 PM the <code>SECOND</code> is 15.
+     * @stable ICU 2.0
+     */
+    public final static int SECOND = 13;
+
+    /**
+     * Field number for <code>get</code> and <code>set</code> indicating the
+     * millisecond within the second.
+     * E.g., at 10:04:15.250 PM the <code>MILLISECOND</code> is 250.
+     * @stable ICU 2.0
+     */
+    public final static int MILLISECOND = 14;
+
+    /**
+     * Field number for <code>get</code> and <code>set</code> indicating the
+     * raw offset from GMT in milliseconds.
+     * @stable ICU 2.0
+     */
+    public final static int ZONE_OFFSET = 15;
+
+    /**
+     * Field number for <code>get</code> and <code>set</code> indicating the
+     * daylight savings offset in milliseconds.
+     * @stable ICU 2.0
+     */
+    public final static int DST_OFFSET = 16;
+
+    /**
+     * Field number for <code>get()</code> and <code>set()</code>
+     * indicating the extended year corresponding to the
+     * <code>WEEK_OF_YEAR</code> field.  This may be one greater or less
+     * than the value of <code>EXTENDED_YEAR</code>.
+     * @stable ICU 2.0
+     */
+    public static final int YEAR_WOY = 17;
+
+    /**
+     * Field number for <code>get()</code> and <code>set()</code>
+     * indicating the localized day of week.  This will be a value from 1
+     * to 7 inclusive, with 1 being the localized first day of the week.
+     * @stable ICU 2.0
+     */
+    public static final int DOW_LOCAL = 18;
+
+    /**
+     * Field number for <code>get()</code> and <code>set()</code>
+     * indicating the extended year.  This is a single number designating
+     * the year of this calendar system, encompassing all supra-year
+     * fields.  For example, for the Julian calendar system, year numbers
+     * are positive, with an era of BCE or CE.  An extended year value for
+     * the Julian calendar system assigns positive values to CE years and
+     * negative values to BCE years, with 1 BCE being year 0.
+     * @stable ICU 2.0
+     */
+    public static final int EXTENDED_YEAR = 19;
+
+    /**
+     * Field number for <code>get()</code> and <code>set()</code>
+     * indicating the modified Julian day number.  This is different from
+     * the conventional Julian day number in two regards.  First, it
+     * demarcates days at local zone midnight, rather than noon GMT.
+     * Second, it is a local number; that is, it depends on the local time
+     * zone.  It can be thought of as a single number that encompasses all
+     * the date-related fields.
+     * @stable ICU 2.0
+     */
+    public static final int JULIAN_DAY = 20;
+
+    /**
+     * Field number for <code>get()</code> and <code>set()</code>
+     * indicating the milliseconds in the day.  This ranges from 0 to
+     * 23:59:59.999 (regardless of DST).  This field behaves
+     * <em>exactly</em> like a composite of all time-related fields, not
+     * including the zone fields.  As such, it also reflects
+     * discontinuities of those fields on DST transition days.  On a day of
+     * DST onset, it will jump forward.  On a day of DST cessation, it will
+     * jump backward.  This reflects the fact that is must be combined with
+     * the DST_OFFSET field to obtain a unique local time value.
+     * @stable ICU 2.0
+     */
+    public static final int MILLISECONDS_IN_DAY = 21;
+
+    /**
+     * The number of fields defined by this class.  Subclasses may define
+     * addition fields starting with this number.
+     * @stable ICU 2.0
+     */
+    protected static final int BASE_FIELD_COUNT = 22;
+
+    /**
+     * The maximum number of fields possible.  Subclasses must not define
+     * more total fields than this number.
+     * @stable ICU 2.0
+     */
+    protected static final int MAX_FIELD_COUNT = 32;
+
+    /**
+     * Value of the <code>DAY_OF_WEEK</code> field indicating
+     * Sunday.
+     * @stable ICU 2.0
+     */
+    public final static int SUNDAY = 1;
+
+    /**
+     * Value of the <code>DAY_OF_WEEK</code> field indicating
+     * Monday.
+     * @stable ICU 2.0
+     */
+    public final static int MONDAY = 2;
+
+    /**
+     * Value of the <code>DAY_OF_WEEK</code> field indicating
+     * Tuesday.
+     * @stable ICU 2.0
+     */
+    public final static int TUESDAY = 3;
+
+    /**
+     * Value of the <code>DAY_OF_WEEK</code> field indicating
+     * Wednesday.
+     * @stable ICU 2.0
+     */
+    public final static int WEDNESDAY = 4;
+
+    /**
+     * Value of the <code>DAY_OF_WEEK</code> field indicating
+     * Thursday.
+     * @stable ICU 2.0
+     */
+    public final static int THURSDAY = 5;
+
+    /**
+     * Value of the <code>DAY_OF_WEEK</code> field indicating
+     * Friday.
+     * @stable ICU 2.0
+     */
+    public final static int FRIDAY = 6;
+
+    /**
+     * Value of the <code>DAY_OF_WEEK</code> field indicating
+     * Saturday.
+     * @stable ICU 2.0
+     */
+    public final static int SATURDAY = 7;
+
+    /**
+     * Value of the <code>MONTH</code> field indicating the
+     * first month of the year.
+     * @stable ICU 2.0
+     */
+    public final static int JANUARY = 0;
+
+    /**
+     * Value of the <code>MONTH</code> field indicating the
+     * second month of the year.
+     * @stable ICU 2.0
+     */
+    public final static int FEBRUARY = 1;
+
+    /**
+     * Value of the <code>MONTH</code> field indicating the
+     * third month of the year.
+     * @stable ICU 2.0
+     */
+    public final static int MARCH = 2;
+
+    /**
+     * Value of the <code>MONTH</code> field indicating the
+     * fourth month of the year.
+     * @stable ICU 2.0
+     */
+    public final static int APRIL = 3;
+
+    /**
+     * Value of the <code>MONTH</code> field indicating the
+     * fifth month of the year.
+     * @stable ICU 2.0
+     */
+    public final static int MAY = 4;
+
+    /**
+     * Value of the <code>MONTH</code> field indicating the
+     * sixth month of the year.
+     * @stable ICU 2.0
+     */
+    public final static int JUNE = 5;
+
+    /**
+     * Value of the <code>MONTH</code> field indicating the
+     * seventh month of the year.
+     * @stable ICU 2.0
+     */
+    public final static int JULY = 6;
+
+    /**
+     * Value of the <code>MONTH</code> field indicating the
+     * eighth month of the year.
+     * @stable ICU 2.0
+     */
+    public final static int AUGUST = 7;
+
+    /**
+     * Value of the <code>MONTH</code> field indicating the
+     * ninth month of the year.
+     * @stable ICU 2.0
+     */
+    public final static int SEPTEMBER = 8;
+
+    /**
+     * Value of the <code>MONTH</code> field indicating the
+     * tenth month of the year.
+     * @stable ICU 2.0
+     */
+    public final static int OCTOBER = 9;
+
+    /**
+     * Value of the <code>MONTH</code> field indicating the
+     * eleventh month of the year.
+     * @stable ICU 2.0
+     */
+    public final static int NOVEMBER = 10;
+
+    /**
+     * Value of the <code>MONTH</code> field indicating the
+     * twelfth month of the year.
+     * @stable ICU 2.0
+     */
+    public final static int DECEMBER = 11;
+
+    /**
+     * Value of the <code>MONTH</code> field indicating the
+     * thirteenth month of the year. Although <code>GregorianCalendar</code>
+     * does not use this value, lunar calendars do.
+     * @stable ICU 2.0
+     */
+    public final static int UNDECIMBER = 12;
+
+    /**
+     * Value of the <code>AM_PM</code> field indicating the
+     * period of the day from midnight to just before noon.
+     * @stable ICU 2.0
+     */
+    public final static int AM = 0;
+
+    /**
+     * Value of the <code>AM_PM</code> field indicating the
+     * period of the day from noon to just before midnight.
+     * @stable ICU 2.0
+     */
+    public final static int PM = 1;
+
+    /**
+     * Value returned by getDayOfWeekType(int dayOfWeek) to indicate a
+     * weekday.
+     * @see #WEEKEND
+     * @see #WEEKEND_ONSET
+     * @see #WEEKEND_CEASE
+     * @see #getDayOfWeekType
+     * @stable ICU 2.0
+     */
+    public static final int WEEKDAY = 0;
+
+    /**
+     * Value returned by getDayOfWeekType(int dayOfWeek) to indicate a
+     * weekend day.
+     * @see #WEEKDAY
+     * @see #WEEKEND_ONSET
+     * @see #WEEKEND_CEASE
+     * @see #getDayOfWeekType
+     * @stable ICU 2.0
+     */
+    public static final int WEEKEND = 1;
+
+    /**
+     * Value returned by getDayOfWeekType(int dayOfWeek) to indicate a
+     * day that starts as a weekday and transitions to the weekend.
+     * Call getWeekendTransition() to get the point of transition.
+     * @see #WEEKDAY
+     * @see #WEEKEND
+     * @see #WEEKEND_CEASE
+     * @see #getDayOfWeekType
+     * @stable ICU 2.0
+     */
+    public static final int WEEKEND_ONSET = 2;
+
+    /**
+     * Value returned by getDayOfWeekType(int dayOfWeek) to indicate a
+     * day that starts as the weekend and transitions to a weekday.
+     * Call getWeekendTransition() to get the point of transition.
+     * @see #WEEKDAY
+     * @see #WEEKEND
+     * @see #WEEKEND_ONSET
+     * @see #getDayOfWeekType
+     * @stable ICU 2.0
+     */
+    public static final int WEEKEND_CEASE = 3;
+
+    /**
+     * The number of milliseconds in one second.
+     * @stable ICU 2.0
+     */
+    protected static final int  ONE_SECOND = 1000;
+
+    /**
+     * The number of milliseconds in one minute.
+     * @stable ICU 2.0
+     */
+    protected static final int  ONE_MINUTE = 60*ONE_SECOND;
+
+    /**
+     * The number of milliseconds in one hour.
+     * @stable ICU 2.0
+     */
+    protected static final int  ONE_HOUR   = 60*ONE_MINUTE;
+
+    /**
+     * The number of milliseconds in one day.  Although ONE_DAY and
+     * ONE_WEEK can fit into ints, they must be longs in order to prevent
+     * arithmetic overflow when performing (bug 4173516).
+     * @stable ICU 2.0
+     */
+    protected static final long ONE_DAY    = 24*ONE_HOUR;
+
+    /**
+     * The number of milliseconds in one week.  Although ONE_DAY and
+     * ONE_WEEK can fit into ints, they must be longs in order to prevent
+     * arithmetic overflow when performing (bug 4173516).
+     * @stable ICU 2.0
+     */
+    protected static final long ONE_WEEK   = 7*ONE_DAY;
+
+    /**
+     * The Julian day of the Gregorian epoch, that is, January 1, 1 on the
+     * Gregorian calendar.
+     * @stable ICU 2.0
+     */
+    protected static final int JAN_1_1_JULIAN_DAY = 1721426;
+
+    /**
+     * The Julian day of the epoch, that is, January 1, 1970 on the
+     * Gregorian calendar.
+     * @stable ICU 2.0
+     */
+    protected static final int EPOCH_JULIAN_DAY   = 2440588;
+
+    /**
+     * The minimum supported Julian day.  This value is equivalent to
+     * <code>MIN_MILLIS</code> and <code>MIN_DATE</code>.
+     * @see #JULIAN_DAY
+     * @stable ICU 2.0
+     */
+    protected static final int MIN_JULIAN = -0x7F000000;
+
+    /**
+     * The minimum supported epoch milliseconds.  This value is equivalent
+     * to <code>MIN_JULIAN</code> and <code>MIN_DATE</code>.
+     * @stable ICU 2.0
+     */
+    protected static final long MIN_MILLIS = -184303902528000000L;
+
+    // Get around bug in jikes 1.12 for now.  Later, use:
+    //protected static final long MIN_MILLIS = (MIN_JULIAN - EPOCH_JULIAN_DAY) * ONE_DAY;
+
+    /**
+     * The minimum supported <code>Date</code>.  This value is equivalent
+     * to <code>MIN_JULIAN</code> and <code>MIN_MILLIS</code>.
+     * @stable ICU 2.0
+     */
+    protected static final Date MIN_DATE = new Date(MIN_MILLIS);
+
+    /**
+     * The maximum supported Julian day.  This value is equivalent to
+     * <code>MAX_MILLIS</code> and <code>MAX_DATE</code>.
+     * @see #JULIAN_DAY
+     * @stable ICU 2.0
+     */
+    protected static final int MAX_JULIAN = +0x7F000000;
+
+    /**
+     * The maximum supported epoch milliseconds.  This value is equivalent
+     * to <code>MAX_JULIAN</code> and <code>MAX_DATE</code>.
+     * @stable ICU 2.0
+     */
+    protected static final long MAX_MILLIS = (MAX_JULIAN - EPOCH_JULIAN_DAY) * ONE_DAY;
+
+    /**
+     * The maximum supported <code>Date</code>.  This value is equivalent
+     * to <code>MAX_JULIAN</code> and <code>MAX_MILLIS</code>.
+     * @stable ICU 2.0
+     */
+    protected static final Date MAX_DATE = new Date(MAX_MILLIS);
+
+    // Internal notes:
+    // Calendar contains two kinds of time representations: current "time" in
+    // milliseconds, and a set of time "fields" representing the current time.
+    // The two representations are usually in sync, but can get out of sync
+    // as follows.
+    // 1. Initially, no fields are set, and the time is invalid.
+    // 2. If the time is set, all fields are computed and in sync.
+    // 3. If a single field is set, the time is invalid.
+    // Recomputation of the time and fields happens when the object needs
+    // to return a result to the user, or use a result for a computation.
+
+    /**
+     * The field values for the currently set time for this calendar.
+     * This is an array of at least <code>BASE_FIELD_COUNT</code> integers.
+     * @see #handleCreateFields
+     * @serial
+     */
+    private transient int           fields[];
+
+    /**
+     * Pseudo-time-stamps which specify when each field was set. There
+     * are two special values, UNSET and INTERNALLY_SET. Values from
+     * MINIMUM_USER_SET to Integer.MAX_VALUE are legal user set values.
+     */
+    private transient int           stamp[];
+
+    /**
+     * The currently set time for this calendar, expressed in milliseconds after
+     * January 1, 1970, 0:00:00 GMT.
+     * @see <tt>isTimeSet</tt>
+     * @serial
+     */
+    private long          time;
+
+    /**
+     * True if then the value of <code>time</code> is valid.
+     * The time is made invalid by a change to an item of <code>field[]</code>.
+     * @see #time
+     * @serial
+     */
+    private transient boolean       isTimeSet;
+
+    /**
+     * True if <code>fields[]</code> are in sync with the currently set time.
+     * If false, then the next attempt to get the value of a field will
+     * force a recomputation of all fields from the current value of
+     * <code>time</code>.
+     * @serial
+     */
+    private transient boolean       areFieldsSet;
+
+    /**
+     * True if all fields have been set.  This is only false in a few
+     * situations: In a newly created, partially constructed object.  After
+     * a call to clear().  In an object just read from a stream using
+     * readObject().  Once computeFields() has been called this is set to
+     * true and stays true until one of the above situations recurs.
+     * @serial
+     */
+    private transient boolean       areAllFieldsSet;
+
+    /**
+     * True if all fields have been virtually set, but have not yet been
+     * computed.  This occurs only in setTimeInMillis().  A calendar set
+     * to this state will compute all fields from the time if it becomes
+     * necessary, but otherwise will delay such computation.
+     */
+    private transient boolean areFieldsVirtuallySet;
+
+    /**
+     * True if this calendar allows out-of-range field values during computation
+     * of <code>time</code> from <code>fields[]</code>.
+     * @see #setLenient
+     * @serial
+     */
+    private boolean         lenient = true;
+
+    /**
+     * The <code>TimeZone</code> used by this calendar. </code>Calendar</code>
+     * uses the time zone data to translate between locale and GMT time.
+     * @serial
+     */
+    private TimeZone        zone;
+
+    /**
+     * The first day of the week, with possible values <code>SUNDAY</code>,
+     * <code>MONDAY</code>, etc.  This is a locale-dependent value.
+     * @serial
+     */
+    private int             firstDayOfWeek;
+
+    /**
+     * The number of days required for the first week in a month or year,
+     * with possible values from 1 to 7.  This is a locale-dependent value.
+     * @serial
+     */
+    private int             minimalDaysInFirstWeek;
+
+    /**
+     * First day of the weekend in this calendar's locale.  Must be in
+     * the range SUNDAY...SATURDAY (1..7).  The weekend starts at
+     * weekendOnsetMillis milliseconds after midnight on that day of
+     * the week.  This value is taken from locale resource data.
+     */
+    private int weekendOnset;
+
+    /**
+     * Milliseconds after midnight at which the weekend starts on the
+     * day of the week weekendOnset.  Times that are greater than or
+     * equal to weekendOnsetMillis are considered part of the weekend.
+     * Must be in the range 0..24*60*60*1000-1.  This value is taken
+     * from locale resource data.
+     */
+    private int weekendOnsetMillis;
+
+    /**
+     * Day of the week when the weekend stops in this calendar's
+     * locale.  Must be in the range SUNDAY...SATURDAY (1..7).  The
+     * weekend stops at weekendCeaseMillis milliseconds after midnight
+     * on that day of the week.  This value is taken from locale
+     * resource data.
+     */
+    private int weekendCease;
+
+    /**
+     * Milliseconds after midnight at which the weekend stops on the
+     * day of the week weekendCease.  Times that are greater than or
+     * equal to weekendCeaseMillis are considered not to be the
+     * weekend.  Must be in the range 0..24*60*60*1000-1.  This value
+     * is taken from locale resource data.
+     */
+    private int weekendCeaseMillis;
+
+    /**
+     * Cache to hold the firstDayOfWeek and minimalDaysInFirstWeek
+     * of a Locale.
+     */
+    private static Hashtable cachedLocaleData = new Hashtable(3);
+
+    /**
+     * Value of the time stamp <code>stamp[]</code> indicating that
+     * a field has not been set since the last call to <code>clear()</code>.
+     * @see #INTERNALLY_SET
+     * @see #MINIMUM_USER_STAMP
+     * @stable ICU 2.0
+     */
+    protected static final int UNSET = 0;
+
+    /**
+     * Value of the time stamp <code>stamp[]</code> indicating that a field
+     * has been set via computations from the time or from other fields.
+     * @see #UNSET
+     * @see #MINIMUM_USER_STAMP
+     * @stable ICU 2.0
+     */
+    protected static final int INTERNALLY_SET = 1;
+
+    /**
+     * If the time stamp <code>stamp[]</code> has a value greater than or
+     * equal to <code>MINIMUM_USER_SET</code> then it has been set by the
+     * user via a call to <code>set()</code>.
+     * @see #UNSET
+     * @see #INTERNALLY_SET
+     * @stable ICU 2.0
+     */
+    protected static final int MINIMUM_USER_STAMP = 2;
+
+    /**
+     * The next available value for <code>stamp[]</code>, an internal array.
+     * This actually should not be written out to the stream, and will probably
+     * be removed from the stream in the near future.  In the meantime,
+     * a value of <code>MINIMUM_USER_STAMP</code> should be used.
+     * @serial
+     */
+    private transient int             nextStamp = MINIMUM_USER_STAMP;
+
+    // the internal serial version which says which version was written
+    // - 0 (default) for version up to JDK 1.1.5
+    // - 1 for version from JDK 1.1.6, which writes a correct 'time' value
+    //     as well as compatible values for other fields.  This is a
+    //     transitional format.
+    // - 2 (not implemented yet) a future version, in which fields[],
+    //     areFieldsSet, and isTimeSet become transient, and isSet[] is
+    //     removed. In JDK 1.1.6 we write a format compatible with version 2.
+    // static final int        currentSerialVersion = 1;
+
+    /**
+     * The version of the serialized data on the stream.  Possible values:
+     * <dl>
+     * <dt><b>0</b> or not present on stream</dt>
+     * <dd>
+     * JDK 1.1.5 or earlier.
+     * </dd>
+     * <dt><b>1</b></dt>
+     * <dd>
+     * JDK 1.1.6 or later.  Writes a correct 'time' value
+     * as well as compatible values for other fields.  This is a
+     * transitional format.
+     * </dd>
+     * </dl>
+     * When streaming out this class, the most recent format
+     * and the highest allowable <code>serialVersionOnStream</code>
+     * is written.
+     * @serial
+     * @since JDK1.1.6
+     */
+    // private int             serialVersionOnStream = currentSerialVersion;
+
+    // Proclaim serialization compatibility with JDK 1.1
+    // static final long       serialVersionUID = -1807547505821590642L;
+    
+    // haven't been compatible for awhile, no longer try
+    // jdk1.4.2 serialver
+    private static final long serialVersionUID = 6222646104888790989L;
+
+    /**
+     * Bitmask for internalSet() defining which fields may legally be set
+     * by subclasses.  Any attempt to set a field not in this bitmask
+     * results in an exception, because such fields must be set by the base
+     * class.
+     */
+    private transient int internalSetMask;
+
+    /**
+     * The Gregorian year, as computed by computeGregorianFields() and
+     * returned by getGregorianYear().
+     */
+    private transient int gregorianYear;
+
+    /**
+     * The Gregorian month, as computed by computeGregorianFields() and
+     * returned by getGregorianMonth().
+     */
+    private transient int gregorianMonth;
+
+    /**
+     * The Gregorian day of the year, as computed by
+     * computeGregorianFields() and returned by getGregorianDayOfYear().
+     */
+    private transient int gregorianDayOfYear;
+
+    /**
+     * The Gregorian day of the month, as computed by
+     * computeGregorianFields() and returned by getGregorianDayOfMonth().
+     */
+    private transient int gregorianDayOfMonth;
+
+    /**
+     * Constructs a Calendar with the default time zone
+     * and locale.
+     * @see     TimeZone#getDefault
+     * @stable ICU 2.0
+     */
+    protected Calendar()
+    {
+        this(TimeZone.getDefault(), ULocale.getDefault());
+    }
+
+    /**
+     * Constructs a calendar with the specified time zone and locale.
+     * @param zone the time zone to use
+     * @param aLocale the locale for the week data
+     * @stable ICU 2.0
+     */
+    protected Calendar(TimeZone zone, Locale aLocale)
+    {
+        this(zone, ULocale.forLocale(aLocale));
+    }
+
+    /**
+     * Constructs a calendar with the specified time zone and locale.
+     * @param zone the time zone to use
+     * @param locale the ulocale for the week data
+     * @draft ICU 3.2
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    protected Calendar(TimeZone zone, ULocale locale)
+    {
+        this.zone = zone;
+        setWeekData(locale);
+        initInternal();
+    }
+
+    private void initInternal()
+    {
+        // Allocate fields through the framework method.  Subclasses
+        // may override this to define additional fields.
+        fields = handleCreateFields();
+        ///CLOVER:OFF
+        // todo: fix, difficult to test without subclassing
+        if (fields == null || fields.length < BASE_FIELD_COUNT ||
+            fields.length > MAX_FIELD_COUNT) {
+            throw new InternalError("Invalid fields[]");
+        }
+        ///CLOVER:ON
+        stamp = new int[fields.length];
+        int mask = (1 << ERA) |
+            (1 << YEAR) |
+            (1 << MONTH) |
+            (1 << DAY_OF_MONTH) |
+            (1 << DAY_OF_YEAR) |
+            (1 << EXTENDED_YEAR);
+        for (int i=BASE_FIELD_COUNT; i<fields.length; ++i) {
+            mask |= (1 << i);
+        }
+        internalSetMask = mask;
+    }
+
+    /**
+     * Gets a calendar using the default time zone and locale.
+     * @return a Calendar.
+     * @stable ICU 2.0
+     */
+    public static synchronized Calendar getInstance()
+    {
+        return getInstance(TimeZone.getDefault(), ULocale.getDefault(), null);
+    }
+
+    /**
+     * Gets a calendar using the specified time zone and default locale.
+     * @param zone the time zone to use
+     * @return a Calendar.
+     * @stable ICU 2.0
+     */
+    public static synchronized Calendar getInstance(TimeZone zone)
+    {
+        return getInstance(zone, ULocale.getDefault(), null);
+    }
+
+    /**
+     * Gets a calendar using the default time zone and specified locale.
+     * @param aLocale the locale for the week data
+     * @return a Calendar.
+     * @stable ICU 2.0
+     */
+    public static synchronized Calendar getInstance(Locale aLocale)
+    {
+        return getInstance(TimeZone.getDefault(), ULocale.forLocale(aLocale), null);
+    }
+
+    /**
+     * Gets a calendar using the default time zone and specified locale.  
+     * @param locale the ulocale for the week data
+     * @return a Calendar.
+     * @draft ICU 3.2
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static synchronized Calendar getInstance(ULocale locale)
+    {
+        return getInstance(TimeZone.getDefault(), locale, null);
+    }
+
+    /**
+     * Gets a calendar with the specified time zone and locale.
+     * @param zone the time zone to use
+     * @param aLocale the locale for the week data
+     * @return a Calendar.
+     * @stable ICU 2.0
+     */
+    public static synchronized Calendar getInstance(TimeZone zone,
+                                                    Locale aLocale) {
+        return getInstance(zone, ULocale.forLocale(aLocale), null);
+    }
+
+    /**
+     * Gets a calendar with the specified time zone and locale.
+     * @param zone the time zone to use
+     * @param locale the ulocale for the week data
+     * @return a Calendar.
+     * @draft ICU 3.2
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static synchronized Calendar getInstance(TimeZone zone,
+                                                    ULocale locale) {
+        return getInstance(zone, locale, null);
+    }
+
+    // ==== Factory Stuff ====
+    ///CLOVER:OFF
+    /**
+     * Return a calendar of for the TimeZone and locale.  If factoryName is
+     * not null, looks in the collection of CalendarFactories for a match
+     * and uses that factory to instantiate the calendar.  Otherwise, it
+     * uses the default factory that has been registered for the locale.
+     * @prototype
+     */
+    /* public */ static synchronized Calendar getInstance(TimeZone zone,
+                                                    ULocale locale,
+                                                    String factoryName)
+    {
+        CalendarFactory factory = null;
+        if (factoryName != null) {
+            factory = (CalendarFactory)getFactoryMap().get(factoryName);
+        }
+
+        ULocale[] actualReturn = new ULocale[1];
+        if (factory == null && service != null) {
+            factory = (CalendarFactory)service.get(locale, actualReturn);
+        }
+
+        if (factory == null) {
+            int calType = getCalendarType(locale);
+            switch (calType) {
+            case BUDDHIST:
+                return new BuddhistCalendar(zone, locale);
+            case CHINESE:
+                return new ChineseCalendar(zone, locale);
+            case COPTIC:
+                return new CopticCalendar(zone, locale);
+            case ETHIOPIC:
+                return new EthiopicCalendar(zone, locale);
+            case GREGORIAN:
+                return new GregorianCalendar(zone, locale);
+            case HEBREW:
+                return new HebrewCalendar(zone, locale);
+            case ISLAMIC:
+            case ISLAMIC_CIVIL: {
+                IslamicCalendar result = new IslamicCalendar(zone, locale);
+                result.setCivil(calType == ISLAMIC_CIVIL);
+                return result;
+            }
+            case JAPANESE:
+                return new JapaneseCalendar(zone, locale);
+            default:
+                throw new InternalError();
+            }
+        } else {
+            Calendar result = factory.create(zone, locale);
+
+            // TODO: get the actual/valid locale properly
+            ULocale uloc = actualReturn[0];
+            result.setLocale(uloc, uloc);
+
+            return result;
+        }
+    }
+    
+    private static final int BUDDHIST = 0;
+    private static final int CHINESE = 1;
+    private static final int COPTIC = 2;
+    private static final int ETHIOPIC = 3;
+    private static final int GREGORIAN = 4;
+    private static final int HEBREW = 5;
+    private static final int ISLAMIC = 6;
+    private static final int ISLAMIC_CIVIL = 7;
+    private static final int JAPANESE = 8;
+
+    private static final String[] calTypes = {
+        "buddhist", "chinese", "coptic", "ethiopic", "gregorian", "hebrew", 
+        "islamic", "islamic-civil", "japanese",
+    };
+
+    private static int getCalendarType(ULocale l) {
+        String s = l.getKeywordValue("calendar");
+        if (s == null) {
+            l = ICUResourceBundle.getFunctionalEquivalent(
+                ICUResourceBundle.ICU_BASE_NAME, "calendar", "calendar", l, null);
+            s = l.getKeywordValue("calendar");
+        }
+        return getCalendarType(s);
+    }
+
+    private static int getCalendarType(String s) {
+        if (s != null) {
+            s = s.toLowerCase();
+            for (int i = 0; i < calTypes.length; ++i) {
+                if (s.equals(calTypes[i])) {
+                    return i;
+                }
+            }
+        }
+        return GREGORIAN;
+    }
+
+    ///CLOVER:ON
+    /**
+     * Gets the list of locales for which Calendars are installed.
+     * @return the list of locales for which Calendars are installed.
+     * @stable ICU 2.0
+     */
+    public static Locale[] getAvailableLocales()
+    {
+        return service == null
+            ? ICUResourceBundle.getAvailableLocales(ICUResourceBundle.ICU_BASE_NAME)
+            : service.getAvailableLocales();
+    }
+
+    /**
+     * Gets the list of locales for which Calendars are installed.
+     * @return the list of locales for which Calendars are installed.
+     * @draft ICU 3.2
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static ULocale[] getAvailableULocales()
+    {
+        return service == null
+            ? ICUResourceBundle.getAvailableULocales(ICUResourceBundle.ICU_BASE_NAME)
+            : service.getAvailableULocales();
+    }
+
+    ///CLOVER:OFF
+    private static Map factoryMap;
+    private static Map getFactoryMap() {
+        if (factoryMap == null) {
+            Map m = new HashMap(5);
+            /*
+            addFactory(m, BuddhistCalendar.factory());
+            addFactory(m, ChineseCalendar.factory());
+            addFactory(m, GregorianCalendar.factory());
+            addFactory(m, HebrewCalendar.factory());
+            addFactory(m, IslamicCalendar.factory());
+            addFactory(m, JapaneseCalendar.factory());
+            */
+            factoryMap = m;
+        }
+        return factoryMap;
+    }
+
+// Never used -- why is this here? Alan 2003-05
+//    private static void addFactory(Map m, CalendarFactory f) {
+//        m.put(f.factoryName(), f);
+//    }
+
+    /**
+     * Return a set of all the registered calendar factory names.
+     * @prototype
+     */
+    /* public */ static Set getCalendarFactoryNames() {
+        return Collections.unmodifiableSet(getFactoryMap().keySet());
+    }
+
+    /**
+     * Register a new CalendarFactory.  getInstance(TimeZone, ULocale, String) will
+     * try to locate a registered factories matching the factoryName.  Only registered
+     * factories will be found.
+     * @prototype
+     */
+    private static void registerFactory(CalendarFactory factory) {
+        if (factory == null) {
+            throw new IllegalArgumentException("Factory must not be null");
+        }
+        getFactoryMap().put(factory.factoryName(), factory);
+    }
+
+    /**
+     * Convenience override of register(CalendarFactory, ULocale, boolean);
+     * @prototype
+     */
+    /* public */ static Object register(CalendarFactory factory, ULocale locale) {
+        return register(factory, locale, true);
+    }
+
+    /**
+     * Registers a default CalendarFactory for the provided locale.
+     * If the factory has not already been registered with
+     * registerFactory, it will be.
+     * @prototype
+     */
+    /* public */ static Object register(CalendarFactory factory, ULocale locale, boolean visible) {
+        if (factory == null) {
+            throw new IllegalArgumentException("calendar must not be null");
+        }
+        registerFactory(factory);
+        return getService().registerObject(factory, locale, visible);
+    }
+
+    /**
+     * Unregister the CalendarFactory associated with this key
+     * (obtained from register).
+     * @prototype
+     */
+    /* public */ static boolean unregister(Object registryKey) {
+        return service == null
+            ? false
+            : service.unregisterFactory((Factory)registryKey);
+    }
+
+    private static ICULocaleService service = null;
+    private static ICULocaleService getService() {
+        synchronized (Calendar.class) {
+            if (service == null) {
+                service = new ICULocaleService("Calendar");
+            }
+        }
+        return service;
+    }
+    ///CLOVER:ON
+    // ==== End of factory Stuff ====
+
+    /**
+     * Gets this Calendar's current time.
+     * @return the current time.
+     * @stable ICU 2.0
+     */
+    public final Date getTime() {
+        return new Date( getTimeInMillis() );
+    }
+
+    /**
+     * Sets this Calendar's current time with the given Date.
+     * <p>
+     * Note: Calling <code>setTime()</code> with
+     * <code>Date(Long.MAX_VALUE)</code> or <code>Date(Long.MIN_VALUE)</code>
+     * may yield incorrect field values from <code>get()</code>.
+     * @param date the given Date.
+     * @stable ICU 2.0
+     */
+    public final void setTime(Date date) {
+        setTimeInMillis( date.getTime() );
+    }
+
+    /**
+     * Gets this Calendar's current time as a long.
+     * @return the current time as UTC milliseconds from the epoch.
+     * @stable ICU 2.0
+     */
+    public long getTimeInMillis() {
+        if (!isTimeSet) updateTime();
+        return time;
+    }
+
+    /**
+     * Sets this Calendar's current time from the given long value.
+     * @param millis the new time in UTC milliseconds from the epoch.
+     * @stable ICU 2.0
+     */
+    public void setTimeInMillis( long millis ) {
+        if (millis > MAX_MILLIS) {
+            millis = MAX_MILLIS;
+        } else if (millis < MIN_MILLIS) {
+            millis = MIN_MILLIS;
+        }
+        time = millis;
+        areFieldsSet = areAllFieldsSet = false;
+        isTimeSet = areFieldsVirtuallySet = true;
+    }
+
+    /**
+     * Gets the value for a given time field.
+     * @param field the given time field.
+     * @return the value for the given time field.
+     * @stable ICU 2.0
+     */
+    public final int get(int field)
+    {
+        complete();
+        return fields[field];
+    }
+
+    /**
+     * Gets the value for a given time field.  This is an internal method
+     * for subclasses that does <em>not</em> trigger any calculations.
+     * @param field the given time field.
+     * @return the value for the given time field.
+     * @stable ICU 2.0
+     */
+    protected final int internalGet(int field)
+    {
+        return fields[field];
+    }
+
+    /**
+     * Get the value for a given time field, or return the given default
+     * value if the field is not set.  This is an internal method for
+     * subclasses that does <em>not</em> trigger any calculations.
+     * @param field the given time field.
+     * @param defaultValue value to return if field is not set
+     * @return the value for the given time field of defaultValue if the
+     * field is unset
+     * @stable ICU 2.0
+     */
+    protected final int internalGet(int field, int defaultValue) {
+        return (stamp[field] > UNSET) ? fields[field] : defaultValue;
+    }
+
+    /**
+     * Sets the time field with the given value.
+     * @param field the given time field.
+     * @param value the value to be set for the given time field.
+     * @stable ICU 2.0
+     */
+    public final void set(int field, int value)
+    {
+        if (areFieldsVirtuallySet) {
+            computeFields();
+        }
+        fields[field] = value;
+        stamp[field] = nextStamp++;
+        isTimeSet = areFieldsSet = areFieldsVirtuallySet = false;
+    }
+
+    /**
+     * Sets the values for the fields year, month, and date.
+     * Previous values of other fields are retained.  If this is not desired,
+     * call <code>clear</code> first.
+     * @param year the value used to set the YEAR time field.
+     * @param month the value used to set the MONTH time field.
+     * Month value is 0-based. e.g., 0 for January.
+     * @param date the value used to set the DATE time field.
+     * @stable ICU 2.0
+     */
+    public final void set(int year, int month, int date)
+    {
+        set(YEAR, year);
+        set(MONTH, month);
+        set(DATE, date);
+    }
+
+    /**
+     * Sets the values for the fields year, month, date, hour, and minute.
+     * Previous values of other fields are retained.  If this is not desired,
+     * call <code>clear</code> first.
+     * @param year the value used to set the YEAR time field.
+     * @param month the value used to set the MONTH time field.
+     * Month value is 0-based. e.g., 0 for January.
+     * @param date the value used to set the DATE time field.
+     * @param hour the value used to set the HOUR_OF_DAY time field.
+     * @param minute the value used to set the MINUTE time field.
+     * @stable ICU 2.0
+     */
+    public final void set(int year, int month, int date, int hour, int minute)
+    {
+        set(YEAR, year);
+        set(MONTH, month);
+        set(DATE, date);
+        set(HOUR_OF_DAY, hour);
+        set(MINUTE, minute);
+    }
+
+    /**
+     * Sets the values for the fields year, month, date, hour, minute, and second.
+     * Previous values of other fields are retained.  If this is not desired,
+     * call <code>clear</code> first.
+     * @param year the value used to set the YEAR time field.
+     * @param month the value used to set the MONTH time field.
+     * Month value is 0-based. e.g., 0 for January.
+     * @param date the value used to set the DATE time field.
+     * @param hour the value used to set the HOUR_OF_DAY time field.
+     * @param minute the value used to set the MINUTE time field.
+     * @param second the value used to set the SECOND time field.
+     * @stable ICU 2.0
+     */
+    public final void set(int year, int month, int date, int hour, int minute,
+                          int second)
+    {
+        set(YEAR, year);
+        set(MONTH, month);
+        set(DATE, date);
+        set(HOUR_OF_DAY, hour);
+        set(MINUTE, minute);
+        set(SECOND, second);
+    }
+
+    /**
+     * Clears the values of all the time fields.
+     * @stable ICU 2.0
+     */
+    public final void clear()
+    {
+        for (int i=0; i<fields.length; ++i) {
+            fields[i] = stamp[i] = 0; // UNSET == 0
+        }
+        isTimeSet = areFieldsSet = areAllFieldsSet = areFieldsVirtuallySet = false;
+    }
+
+    /**
+     * Clears the value in the given time field.
+     * @param field the time field to be cleared.
+     * @stable ICU 2.0
+     */
+    public final void clear(int field)
+    {
+        if (areFieldsVirtuallySet) {
+            computeFields();
+        }
+        fields[field] = 0;
+        stamp[field] = UNSET;
+        isTimeSet = areFieldsSet = areAllFieldsSet = areFieldsVirtuallySet = false;
+    }
+
+    /**
+     * Determines if the given time field has a value set.
+     * @return true if the given time field has a value set; false otherwise.
+     * @stable ICU 2.0
+     */
+    public final boolean isSet(int field)
+    {
+        return areFieldsVirtuallySet || (stamp[field] != UNSET);
+    }
+
+    /**
+     * Fills in any unset fields in the time field list.
+     * @stable ICU 2.0
+     */
+    protected void complete()
+    {
+        if (!isTimeSet) updateTime();
+        if (!areFieldsSet) {
+            computeFields(); // fills in unset fields
+            areFieldsSet = true;
+            areAllFieldsSet = true;
+        }
+    }
+
+    /**
+     * Compares this calendar to the specified object.
+     * The result is <code>true</code> if and only if the argument is
+     * not <code>null</code> and is a <code>Calendar</code> object that
+     * represents the same calendar as this object.
+     * @param obj the object to compare with.
+     * @return <code>true</code> if the objects are the same;
+     * <code>false</code> otherwise.
+     * @stable ICU 2.0
+     */
+    public boolean equals(Object obj) {
+        if (this == obj) {
+            return true;
+        }
+        if (this.getClass() != obj.getClass()) {
+            return false;
+        }
+
+        Calendar that = (Calendar) obj;
+
+        return isEquivalentTo(that) &&
+            getTimeInMillis() == that.getTime().getTime();
+    }
+
+    /**
+     * Returns true if the given Calendar object is equivalent to this
+     * one.  An equivalent Calendar will behave exactly as this one
+     * does, but it may be set to a different time.  By contrast, for
+     * the equals() method to return true, the other Calendar must
+     * be set to the same time.
+     *
+     * @param other the Calendar to be compared with this Calendar
+     * @stable ICU 2.4
+     */
+    public boolean isEquivalentTo(Calendar other) {
+        return this.getClass() == other.getClass() &&
+            isLenient() == other.isLenient() &&
+            getFirstDayOfWeek() == other.getFirstDayOfWeek() &&
+            getMinimalDaysInFirstWeek() == other.getMinimalDaysInFirstWeek() &&
+            getTimeZone().equals(other.getTimeZone());
+    }
+
+    /**
+     * Returns a hash code for this calendar.
+     * @return a hash code value for this object.
+     * @stable ICU 2.0
+     */
+    public int hashCode() {
+        /* Don't include the time because (a) we don't want the hash value to
+         * move around just because a calendar is set to different times, and
+         * (b) we don't want to trigger a time computation just to get a hash.
+         * Note that it is not necessary for unequal objects to always have
+         * unequal hashes, but equal objects must have equal hashes.  */
+        return (lenient ? 1 : 0)
+            | (firstDayOfWeek << 1)
+            | (minimalDaysInFirstWeek << 4)
+            | (zone.hashCode() << 7);
+    }
+
+    /**
+     * Return the difference in milliseconds between the moment this
+     * calendar is set to and the moment the given calendar or Date object
+     * is set to.
+     */
+    private long compare(Object that) {
+        long thatMs;
+        if (that instanceof Calendar) {
+            thatMs = ((Calendar)that).getTimeInMillis();
+        } else if (that instanceof Date) {
+            thatMs = ((Date)that).getTime();
+        } else {
+            throw new IllegalArgumentException(that + "is not a Calendar or Date");
+        }
+        return getTimeInMillis() - thatMs;
+    }
+
+    /**
+     * Compares the time field records.
+     * Equivalent to comparing result of conversion to UTC.
+     * @param when the Calendar to be compared with this Calendar.
+     * @return true if the current time of this Calendar is before
+     * the time of Calendar when; false otherwise.
+     * @stable ICU 2.0
+     */
+    public boolean before(Object when) {
+        return compare(when) < 0;
+    }
+
+    /**
+     * Compares the time field records.
+     * Equivalent to comparing result of conversion to UTC.
+     * @param when the Calendar to be compared with this Calendar.
+     * @return true if the current time of this Calendar is after
+     * the time of Calendar when; false otherwise.
+     * @stable ICU 2.0
+     */
+    public boolean after(Object when) {
+        return compare(when) > 0;
+    }
+
+    /**
+     * Return the maximum value that this field could have, given the
+     * current date.  For example, with the Gregorian date February 3, 1997
+     * and the {@link #DAY_OF_MONTH DAY_OF_MONTH} field, the actual maximum
+     * is 28; for February 3, 1996 it is 29.
+     *
+     * <p>The actual maximum computation ignores smaller fields and the
+     * current value of like-sized fields.  For example, the actual maximum
+     * of the DAY_OF_YEAR or MONTH depends only on the year and supra-year
+     * fields.  The actual maximum of the DAY_OF_MONTH depends, in
+     * addition, on the MONTH field and any other fields at that
+     * granularity (such as ChineseCalendar.IS_LEAP_MONTH).  The
+     * DAY_OF_WEEK_IN_MONTH field does not depend on the current
+     * DAY_OF_WEEK; it returns the maximum for any day of week in the
+     * current month.  Likewise for the WEEK_OF_MONTH and WEEK_OF_YEAR
+     * fields.
+     *
+     * @param field the field whose maximum is desired
+     * @return the maximum of the given field for the current date of this calendar
+     * @see #getMaximum
+     * @see #getLeastMaximum
+     * @stable ICU 2.0
+     */
+    public int getActualMaximum(int field) {
+        int result;
+
+        switch (field) {
+        case DAY_OF_MONTH:
+            {
+                Calendar cal = (Calendar) clone();
+                cal.prepareGetActual(field, false);
+                result = handleGetMonthLength(cal.get(EXTENDED_YEAR), cal.get(MONTH));
+            }
+            break;
+
+        case DAY_OF_YEAR:
+            {
+                Calendar cal = (Calendar) clone();
+                cal.prepareGetActual(field, false);
+                result = handleGetYearLength(cal.get(EXTENDED_YEAR));
+            }
+            break;
+
+        case DAY_OF_WEEK:
+        case AM_PM:
+        case HOUR:
+        case HOUR_OF_DAY:
+        case MINUTE:
+        case SECOND:
+        case MILLISECOND:
+        case ZONE_OFFSET:
+        case DST_OFFSET:
+        case DOW_LOCAL:
+        case JULIAN_DAY:
+        case MILLISECONDS_IN_DAY:
+            // These fields all have fixed minima/maxima
+            result = getMaximum(field);
+            break;
+
+        default:
+            // For all other fields, do it the hard way....
+            result = getActualHelper(field, getLeastMaximum(field), getMaximum(field));
+            break;
+        }
+        return result;
+    }
+
+    /**
+     * Return the minimum value that this field could have, given the current date.
+     * For most fields, this is the same as {@link #getMinimum getMinimum}
+     * and {@link #getGreatestMinimum getGreatestMinimum}.  However, some fields,
+     * especially those related to week number, are more complicated.
+     * <p>
+     * For example, assume {@link #getMinimalDaysInFirstWeek getMinimalDaysInFirstWeek}
+     * returns 4 and {@link #getFirstDayOfWeek getFirstDayOfWeek} returns SUNDAY.
+     * If the first day of the month is Sunday, Monday, Tuesday, or Wednesday
+     * there will be four or more days in the first week, so it will be week number 1,
+     * and <code>getActualMinimum(WEEK_OF_MONTH)</code> will return 1.  However,
+     * if the first of the month is a Thursday, Friday, or Saturday, there are
+     * <em>not</em> four days in that week, so it is week number 0, and
+     * <code>getActualMinimum(WEEK_OF_MONTH)</code> will return 0.
+     * <p>
+     * @param field the field whose actual minimum value is desired.
+     * @return the minimum of the given field for the current date of this calendar
+     *
+     * @see #getMinimum
+     * @see #getGreatestMinimum
+     * @stable ICU 2.0
+     */
+    public int getActualMinimum(int field) {
+        int result;
+
+        switch (field) {
+        case DAY_OF_WEEK:
+        case AM_PM:
+        case HOUR:
+        case HOUR_OF_DAY:
+        case MINUTE:
+        case SECOND:
+        case MILLISECOND:
+        case ZONE_OFFSET:
+        case DST_OFFSET:
+        case DOW_LOCAL:
+        case JULIAN_DAY:
+        case MILLISECONDS_IN_DAY:
+            // These fields all have fixed minima/maxima
+            result = getMinimum(field);
+            break;
+
+        default:
+            // For all other fields, do it the hard way....
+            result = getActualHelper(field, getGreatestMinimum(field), getMinimum(field));
+            break;
+        }
+        return result;
+    }
+
+    /**
+     * Prepare this calendar for computing the actual minimum or maximum.
+     * This method modifies this calendar's fields; it is called on a
+     * temporary calendar.
+     *
+     * <p>Rationale: The semantics of getActualXxx() is to return the
+     * maximum or minimum value that the given field can take, taking into
+     * account other relevant fields.  In general these other fields are
+     * larger fields.  For example, when computing the actual maximum
+     * DAY_OF_MONTH, the current value of DAY_OF_MONTH itself is ignored,
+     * as is the value of any field smaller.
+     *
+     * <p>The time fields all have fixed minima and maxima, so we don't
+     * need to worry about them.  This also lets us set the
+     * MILLISECONDS_IN_DAY to zero to erase any effects the time fields
+     * might have when computing date fields.
+     *
+     * <p>DAY_OF_WEEK is adjusted specially for the WEEK_OF_MONTH and
+     * WEEK_OF_YEAR fields to ensure that they are computed correctly.
+     * @stable ICU 2.0
+     */
+    protected void prepareGetActual(int field, boolean isMinimum) {
+        set(MILLISECONDS_IN_DAY, 0);
+
+        switch (field) {
+        case YEAR:
+        case YEAR_WOY:
+        case EXTENDED_YEAR:
+            set(DAY_OF_YEAR, getGreatestMinimum(DAY_OF_YEAR));
+            break;
+
+        case MONTH:
+            set(DAY_OF_MONTH, getGreatestMinimum(DAY_OF_MONTH));
+            break;
+
+        case DAY_OF_WEEK_IN_MONTH:
+            // For dowim, the maximum occurs for the DOW of the first of the
+            // month.
+            set(DAY_OF_MONTH, 1);
+            set(DAY_OF_WEEK, get(DAY_OF_WEEK)); // Make this user set
+            break;
+
+        case WEEK_OF_MONTH:
+        case WEEK_OF_YEAR:
+            // If we're counting weeks, set the day of the week to either the
+            // first or last localized DOW.  We know the last week of a month
+            // or year will contain the first day of the week, and that the
+            // first week will contain the last DOW.
+            {
+                int dow = firstDayOfWeek;
+                if (isMinimum) {
+                    dow = (dow + 6) % 7; // set to last DOW
+                    if (dow < SUNDAY) {
+                        dow += 7;
+                    }
+                }
+                set(DAY_OF_WEEK, dow);
+            }
+            break;
+        }
+
+        // Do this last to give it the newest time stamp
+        set(field, getGreatestMinimum(field));
+    }
+
+    private int getActualHelper(int field, int startValue, int endValue) {
+
+        if (startValue == endValue) {
+            // if we know that the maximum value is always the same, just return it
+            return startValue;
+        }
+
+        final int delta = (endValue > startValue) ? 1 : -1;
+
+        // clone the calendar so we don't mess with the real one, and set it to
+        // accept anything for the field values
+        Calendar work = (Calendar) clone();
+        work.setLenient(true);
+        work.prepareGetActual(field, delta < 0);
+
+        // now try each value from the start to the end one by one until
+        // we get a value that normalizes to another value.  The last value that
+        // normalizes to itself is the actual maximum for the current date
+        int result = startValue;
+        do {
+            work.set(field, startValue);
+            if (work.get(field) != startValue) {
+                break;
+            } else {
+                result = startValue;
+                startValue += delta;
+            }
+        } while (result != endValue);
+
+        return result;
+    }
+
+    /**
+     * Rolls (up/down) a single unit of time on the given field.  If the
+     * field is rolled past its maximum allowable value, it will "wrap" back
+     * to its minimum and continue rolling. For
+     * example, to roll the current date up by one day, you can call:
+     * <p>
+     * <code>roll({@link #DATE}, true)</code>
+     * <p>
+     * When rolling on the {@link #YEAR} field, it will roll the year
+     * value in the range between 1 and the value returned by calling
+     * {@link #getMaximum getMaximum}({@link #YEAR}).
+     * <p>
+     * When rolling on certain fields, the values of other fields may conflict and
+     * need to be changed.  For example, when rolling the <code>MONTH</code> field
+     * for the Gregorian date 1/31/96 upward, the <code>DAY_OF_MONTH</code> field
+     * must be adjusted so that the result is 2/29/96 rather than the invalid
+     * 2/31/96.
+     * <p>
+     * <b>Note:</b> Calling <tt>roll(field, true)</tt> N times is <em>not</em>
+     * necessarily equivalent to calling <tt>roll(field, N)</tt>.  For example,
+     * imagine that you start with the date Gregorian date January 31, 1995.  If you call
+     * <tt>roll(Calendar.MONTH, 2)</tt>, the result will be March 31, 1995.
+     * But if you call <tt>roll(Calendar.MONTH, true)</tt>, the result will be
+     * February 28, 1995.  Calling it one more time will give March 28, 1995, which
+     * is usually not the desired result.
+     * <p>
+     * <b>Note:</b> You should always use <tt>roll</tt> and <tt>add</tt> rather
+     * than attempting to perform arithmetic operations directly on the fields
+     * of a <tt>Calendar</tt>.  It is quite possible for <tt>Calendar</tt> subclasses
+     * to have fields with non-linear behavior, for example missing months
+     * or days during non-leap years.  The subclasses' <tt>add</tt> and <tt>roll</tt>
+     * methods will take this into account, while simple arithmetic manipulations
+     * may give invalid results.
+     * <p>
+     * @param field the calendar field to roll.
+     *
+     * @param up    indicates if the value of the specified time field is to be
+     *              rolled up or rolled down. Use <code>true</code> if rolling up,
+     *              <code>false</code> otherwise.
+     *
+     * @exception   IllegalArgumentException if the field is invalid or refers
+     *              to a field that cannot be handled by this method.
+     * @see #roll(int, int)
+     * @see #add
+     * @stable ICU 2.0
+     */
+    public final void roll(int field, boolean up)
+    {
+        roll(field, up ? +1 : -1);
+    }
+
+    /**
+     * Rolls (up/down) a specified amount time on the given field.  For
+     * example, to roll the current date up by three days, you can call
+     * <code>roll(Calendar.DATE, 3)</code>.  If the
+     * field is rolled past its maximum allowable value, it will "wrap" back
+     * to its minimum and continue rolling.
+     * For example, calling <code>roll(Calendar.DATE, 10)</code>
+     * on a Gregorian calendar set to 4/25/96 will result in the date 4/5/96.
+     * <p>
+     * When rolling on certain fields, the values of other fields may conflict and
+     * need to be changed.  For example, when rolling the {@link #MONTH MONTH} field
+     * for the Gregorian date 1/31/96 by +1, the {@link #DAY_OF_MONTH DAY_OF_MONTH} field
+     * must be adjusted so that the result is 2/29/96 rather than the invalid
+     * 2/31/96.
+     * <p>
+     * The <code>com.ibm.icu.util.Calendar</code> implementation of this method is able to roll
+     * all fields except for {@link #ERA ERA}, {@link #DST_OFFSET DST_OFFSET},
+     * and {@link #ZONE_OFFSET ZONE_OFFSET}.  Subclasses may, of course, add support for
+     * additional fields in their overrides of <code>roll</code>.
+     * <p>
+     * <b>Note:</b> You should always use <tt>roll</tt> and <tt>add</tt> rather
+     * than attempting to perform arithmetic operations directly on the fields
+     * of a <tt>Calendar</tt>.  It is quite possible for <tt>Calendar</tt> subclasses
+     * to have fields with non-linear behavior, for example missing months
+     * or days during non-leap years.  The subclasses' <tt>add</tt> and <tt>roll</tt>
+     * methods will take this into account, while simple arithmetic manipulations
+     * may give invalid results.
+     * <p>
+     * <b>Subclassing:</b><br>
+     * This implementation of <code>roll</code> assumes that the behavior of the
+     * field is continuous between its minimum and maximum, which are found by
+     * calling {@link #getActualMinimum getActualMinimum} and {@link #getActualMaximum getActualMaximum}.
+     * For most such fields, simple addition, subtraction, and modulus operations
+     * are sufficient to perform the roll.  For week-related fields,
+     * the results of {@link #getFirstDayOfWeek getFirstDayOfWeek} and
+     * {@link #getMinimalDaysInFirstWeek getMinimalDaysInFirstWeek} are also necessary.
+     * Subclasses can override these two methods if their values differ from the defaults.
+     * <p>
+     * Subclasses that have fields for which the assumption of continuity breaks
+     * down must overide <code>roll</code> to handle those fields specially.
+     * For example, in the Hebrew calendar the month "Adar I"
+     * only occurs in leap years; in other years the calendar jumps from
+     * Shevat (month #4) to Adar (month #6).  The
+     * {@link HebrewCalendar#roll HebrewCalendar.roll} method takes this into account,
+     * so that rolling the month of Shevat by one gives the proper result (Adar) in a
+     * non-leap year.
+     * <p>
+     * @param field     the calendar field to roll.
+     * @param amount    the amount by which the field should be rolled.
+     *
+     * @exception   IllegalArgumentException if the field is invalid or refers
+     *              to a field that cannot be handled by this method.
+     * @see #roll(int, boolean)
+     * @see #add
+     * @stable ICU 2.0
+     */
+    public void roll(int field, int amount) {
+
+        if (amount == 0) {
+            return; // Nothing to do
+        }
+
+        complete();
+
+        switch (field) {
+        case DAY_OF_MONTH:
+        case AM_PM:
+        case MINUTE:
+        case SECOND:
+        case MILLISECOND:
+        case MILLISECONDS_IN_DAY:
+        case ERA:
+            // These are the standard roll instructions.  These work for all
+            // simple cases, that is, cases in which the limits are fixed, such
+            // as the hour, the day of the month, and the era.
+            {
+                int min = getActualMinimum(field);
+                int max = getActualMaximum(field);
+                int gap = max - min + 1;
+
+                int value = internalGet(field) + amount;
+                value = (value - min) % gap;
+                if (value < 0) {
+                    value += gap;
+                }
+                value += min;
+
+                set(field, value);
+                return;
+            }
+
+        case HOUR:
+        case HOUR_OF_DAY:
+            // Rolling the hour is difficult on the ONSET and CEASE days of
+            // daylight savings.  For example, if the change occurs at
+            // 2 AM, we have the following progression:
+            // ONSET: 12 Std -> 1 Std -> 3 Dst -> 4 Dst
+            // CEASE: 12 Dst -> 1 Dst -> 1 Std -> 2 Std
+            // To get around this problem we don't use fields; we manipulate
+            // the time in millis directly.
+            {
+                // Assume min == 0 in calculations below
+                long start = getTimeInMillis();
+                int oldHour = internalGet(field);
+                int max = getMaximum(field);
+                int newHour = (oldHour + amount) % (max + 1);
+                if (newHour < 0) {
+                    newHour += max + 1;
+                }
+                setTimeInMillis(start + ONE_HOUR * (newHour - oldHour));
+                return;
+            }
+
+        case MONTH:
+            // Rolling the month involves both pinning the final value
+            // and adjusting the DAY_OF_MONTH if necessary.  We only adjust the
+            // DAY_OF_MONTH if, after updating the MONTH field, it is illegal.
+            // E.g., <jan31>.roll(MONTH, 1) -> <feb28> or <feb29>.
+            {
+                int max = getActualMaximum(MONTH);
+                int mon = (internalGet(MONTH) + amount) % (max+1);
+
+                if (mon < 0) {
+                    mon += (max + 1);
+                }
+                set(MONTH, mon);
+
+                // Keep the day of month in range.  We don't want to spill over
+                // into the next month; e.g., we don't want jan31 + 1 mo -> feb31 ->
+                // mar3.
+                pinField(DAY_OF_MONTH);
+                return;
+            }
+
+        case YEAR:
+        case YEAR_WOY:
+        case EXTENDED_YEAR:
+            // Rolling the year can involve pinning the DAY_OF_MONTH.
+            set(field, internalGet(field) + amount);
+            pinField(MONTH);
+            pinField(DAY_OF_MONTH);
+            return;
+
+        case WEEK_OF_MONTH:
+            {
+                // This is tricky, because during the roll we may have to shift
+                // to a different day of the week.  For example:
+
+                //    s  m  t  w  r  f  s
+                //          1  2  3  4  5
+                //    6  7  8  9 10 11 12
+
+                // When rolling from the 6th or 7th back one week, we go to the
+                // 1st (assuming that the first partial week counts).  The same
+                // thing happens at the end of the month.
+
+                // The other tricky thing is that we have to figure out whether
+                // the first partial week actually counts or not, based on the
+                // minimal first days in the week.  And we have to use the
+                // correct first day of the week to delineate the week
+                // boundaries.
+
+                // Here's our algorithm.  First, we find the real boundaries of
+                // the month.  Then we discard the first partial week if it
+                // doesn't count in this locale.  Then we fill in the ends with
+                // phantom days, so that the first partial week and the last
+                // partial week are full weeks.  We then have a nice square
+                // block of weeks.  We do the usual rolling within this block,
+                // as is done elsewhere in this method.  If we wind up on one of
+                // the phantom days that we added, we recognize this and pin to
+                // the first or the last day of the month.  Easy, eh?
+
+                // Normalize the DAY_OF_WEEK so that 0 is the first day of the week
+                // in this locale.  We have dow in 0..6.
+                int dow = internalGet(DAY_OF_WEEK) - getFirstDayOfWeek();
+                if (dow < 0) dow += 7;
+
+                // Find the day of the week (normalized for locale) for the first
+                // of the month.
+                int fdm = (dow - internalGet(DAY_OF_MONTH) + 1) % 7;
+                if (fdm < 0) fdm += 7;
+
+                // Get the first day of the first full week of the month,
+                // including phantom days, if any.  Figure out if the first week
+                // counts or not; if it counts, then fill in phantom days.  If
+                // not, advance to the first real full week (skip the partial week).
+                int start;
+                if ((7 - fdm) < getMinimalDaysInFirstWeek())
+                    start = 8 - fdm; // Skip the first partial week
+                else
+                    start = 1 - fdm; // This may be zero or negative
+
+                // Get the day of the week (normalized for locale) for the last
+                // day of the month.
+                int monthLen = getActualMaximum(DAY_OF_MONTH);
+                int ldm = (monthLen - internalGet(DAY_OF_MONTH) + dow) % 7;
+                // We know monthLen >= DAY_OF_MONTH so we skip the += 7 step here.
+
+                // Get the limit day for the blocked-off rectangular month; that
+                // is, the day which is one past the last day of the month,
+                // after the month has already been filled in with phantom days
+                // to fill out the last week.  This day has a normalized DOW of 0.
+                int limit = monthLen + 7 - ldm;
+
+                // Now roll between start and (limit - 1).
+                int gap = limit - start;
+                int day_of_month = (internalGet(DAY_OF_MONTH) + amount*7 -
+                                    start) % gap;
+                if (day_of_month < 0) day_of_month += gap;
+                day_of_month += start;
+
+                // Finally, pin to the real start and end of the month.
+                if (day_of_month < 1) day_of_month = 1;
+                if (day_of_month > monthLen) day_of_month = monthLen;
+
+                // Set the DAY_OF_MONTH.  We rely on the fact that this field
+                // takes precedence over everything else (since all other fields
+                // are also set at this point).  If this fact changes (if the
+                // disambiguation algorithm changes) then we will have to unset
+                // the appropriate fields here so that DAY_OF_MONTH is attended
+                // to.
+                set(DAY_OF_MONTH, day_of_month);
+                return;
+            }
+        case WEEK_OF_YEAR:
+            {
+                // This follows the outline of WEEK_OF_MONTH, except it applies
+                // to the whole year.  Please see the comment for WEEK_OF_MONTH
+                // for general notes.
+
+                // Normalize the DAY_OF_WEEK so that 0 is the first day of the week
+                // in this locale.  We have dow in 0..6.
+                int dow = internalGet(DAY_OF_WEEK) - getFirstDayOfWeek();
+                if (dow < 0) dow += 7;
+
+                // Find the day of the week (normalized for locale) for the first
+                // of the year.
+                int fdy = (dow - internalGet(DAY_OF_YEAR) + 1) % 7;
+                if (fdy < 0) fdy += 7;
+
+                // Get the first day of the first full week of the year,
+                // including phantom days, if any.  Figure out if the first week
+                // counts or not; if it counts, then fill in phantom days.  If
+                // not, advance to the first real full week (skip the partial week).
+                int start;
+                if ((7 - fdy) < getMinimalDaysInFirstWeek())
+                    start = 8 - fdy; // Skip the first partial week
+                else
+                    start = 1 - fdy; // This may be zero or negative
+
+                // Get the day of the week (normalized for locale) for the last
+                // day of the year.
+                int yearLen = getActualMaximum(DAY_OF_YEAR);
+                int ldy = (yearLen - internalGet(DAY_OF_YEAR) + dow) % 7;
+                // We know yearLen >= DAY_OF_YEAR so we skip the += 7 step here.
+
+                // Get the limit day for the blocked-off rectangular year; that
+                // is, the day which is one past the last day of the year,
+                // after the year has already been filled in with phantom days
+                // to fill out the last week.  This day has a normalized DOW of 0.
+                int limit = yearLen + 7 - ldy;
+
+                // Now roll between start and (limit - 1).
+                int gap = limit - start;
+                int day_of_year = (internalGet(DAY_OF_YEAR) + amount*7 -
+                                    start) % gap;
+                if (day_of_year < 0) day_of_year += gap;
+                day_of_year += start;
+
+                // Finally, pin to the real start and end of the month.
+                if (day_of_year < 1) day_of_year = 1;
+                if (day_of_year > yearLen) day_of_year = yearLen;
+
+                // Make sure that the year and day of year are attended to by
+                // clearing other fields which would normally take precedence.
+                // If the disambiguation algorithm is changed, this section will
+                // have to be updated as well.
+                set(DAY_OF_YEAR, day_of_year);
+                clear(MONTH);
+                return;
+            }
+        case DAY_OF_YEAR:
+            {
+                // Roll the day of year using millis.  Compute the millis for
+                // the start of the year, and get the length of the year.
+                long delta = amount * ONE_DAY; // Scale up from days to millis
+                long min2 = time - (internalGet(DAY_OF_YEAR) - 1) * ONE_DAY;
+                int yearLength = getActualMaximum(DAY_OF_YEAR);
+                time = (time + delta - min2) % (yearLength*ONE_DAY);
+                if (time < 0) time += yearLength*ONE_DAY;
+                setTimeInMillis(time + min2);
+                return;
+            }
+        case DAY_OF_WEEK:
+        case DOW_LOCAL:
+            {
+                // Roll the day of week using millis.  Compute the millis for
+                // the start of the week, using the first day of week setting.
+                // Restrict the millis to [start, start+7days).
+                long delta = amount * ONE_DAY; // Scale up from days to millis
+                // Compute the number of days before the current day in this
+                // week.  This will be a value 0..6.
+                int leadDays = internalGet(field);
+                leadDays -= (field == DAY_OF_WEEK) ? getFirstDayOfWeek() : 1;
+                if (leadDays < 0) leadDays += 7;
+                long min2 = time - leadDays * ONE_DAY;
+                time = (time + delta - min2) % ONE_WEEK;
+                if (time < 0) time += ONE_WEEK;
+                setTimeInMillis(time + min2);
+                return;
+            }
+        case DAY_OF_WEEK_IN_MONTH:
+            {
+                // Roll the day of week in the month using millis.  Determine
+                // the first day of the week in the month, and then the last,
+                // and then roll within that range.
+                long delta = amount * ONE_WEEK; // Scale up from weeks to millis
+                // Find the number of same days of the week before this one
+                // in this month.
+                int preWeeks = (internalGet(DAY_OF_MONTH) - 1) / 7;
+                // Find the number of same days of the week after this one
+                // in this month.
+                int postWeeks = (getActualMaximum(DAY_OF_MONTH) -
+                                 internalGet(DAY_OF_MONTH)) / 7;
+                // From these compute the min and gap millis for rolling.
+                long min2 = time - preWeeks * ONE_WEEK;
+                long gap2 = ONE_WEEK * (preWeeks + postWeeks + 1); // Must add 1!
+                // Roll within this range
+                time = (time + delta - min2) % gap2;
+                if (time < 0) time += gap2;
+                setTimeInMillis(time + min2);
+                return;
+            }
+        case JULIAN_DAY:
+            set(field, internalGet(field) + amount);
+            return;
+        default:
+            // Other fields cannot be rolled by this method
+            throw new IllegalArgumentException("Calendar.roll(" + fieldName(field) +
+                                               ") not supported");
+        }
+    }
+
+    /**
+     * Add a signed amount to a specified field, using this calendar's rules.
+     * For example, to add three days to the current date, you can call
+     * <code>add(Calendar.DATE, 3)</code>.
+     * <p>
+     * When adding to certain fields, the values of other fields may conflict and
+     * need to be changed.  For example, when adding one to the {@link #MONTH MONTH} field
+     * for the Gregorian date 1/31/96, the {@link #DAY_OF_MONTH DAY_OF_MONTH} field
+     * must be adjusted so that the result is 2/29/96 rather than the invalid
+     * 2/31/96.
+     * <p>
+     * The <code>com.ibm.icu.util.Calendar</code> implementation of this method is able to add to
+     * all fields except for {@link #ERA ERA}, {@link #DST_OFFSET DST_OFFSET},
+     * and {@link #ZONE_OFFSET ZONE_OFFSET}.  Subclasses may, of course, add support for
+     * additional fields in their overrides of <code>add</code>.
+     * <p>
+     * <b>Note:</b> You should always use <tt>roll</tt> and <tt>add</tt> rather
+     * than attempting to perform arithmetic operations directly on the fields
+     * of a <tt>Calendar</tt>.  It is quite possible for <tt>Calendar</tt> subclasses
+     * to have fields with non-linear behavior, for example missing months
+     * or days during non-leap years.  The subclasses' <tt>add</tt> and <tt>roll</tt>
+     * methods will take this into account, while simple arithmetic manipulations
+     * may give invalid results.
+     * <p>
+     * <b>Subclassing:</b><br>
+     * This implementation of <code>add</code> assumes that the behavior of the
+     * field is continuous between its minimum and maximum, which are found by
+     * calling {@link #getActualMinimum getActualMinimum} and
+     * {@link #getActualMaximum getActualMaximum}.
+     * For such fields, simple arithmetic operations are sufficient to
+     * perform the add.
+     * <p>
+     * Subclasses that have fields for which this assumption of continuity breaks
+     * down must overide <code>add</code> to handle those fields specially.
+     * For example, in the Hebrew calendar the month "Adar I"
+     * only occurs in leap years; in other years the calendar jumps from
+     * Shevat (month #4) to Adar (month #6).  The
+     * {@link HebrewCalendar#add HebrewCalendar.add} method takes this into account,
+     * so that adding one month
+     * to a date in Shevat gives the proper result (Adar) in a non-leap year.
+     * <p>
+     * @param field     the time field.
+     * @param amount    the amount to add to the field.
+     *
+     * @exception   IllegalArgumentException if the field is invalid or refers
+     *              to a field that cannot be handled by this method.
+     * @see #roll(int, int)
+     * @stable ICU 2.0
+     */
+    public void add(int field, int amount) {
+
+        if (amount == 0) {
+            return;   // Do nothing!
+        }
+
+        // We handle most fields in the same way.  The algorithm is to add
+        // a computed amount of millis to the current millis.  The only
+        // wrinkle is with DST -- for some fields, like the DAY_OF_MONTH,
+        // we don't want the HOUR to shift due to changes in DST.  If the
+        // result of the add operation is to move from DST to Standard, or
+        // vice versa, we need to adjust by an hour forward or back,
+        // respectively.  For such fields we set keepHourInvariant to true.
+
+        // We only adjust the DST for fields larger than an hour.  For
+        // fields smaller than an hour, we cannot adjust for DST without
+        // causing problems.  for instance, if you add one hour to April 5,
+        // 1998, 1:00 AM, in PST, the time becomes "2:00 AM PDT" (an
+        // illegal value), but then the adjustment sees the change and
+        // compensates by subtracting an hour.  As a result the time
+        // doesn't advance at all.
+
+        // For some fields larger than a day, such as a MONTH, we pin the
+        // DAY_OF_MONTH.  This allows <March 31>.add(MONTH, 1) to be
+        // <April 30>, rather than <April 31> => <May 1>.
+
+        long delta = amount; // delta in ms
+        boolean keepHourInvariant = true;
+
+        switch (field) {
+        case ERA:
+            set(field, get(field) + amount);
+            pinField(ERA);
+            return;
+
+        case YEAR:
+        case EXTENDED_YEAR:
+        case YEAR_WOY:
+        case MONTH:
+            set(field, get(field) + amount);
+            pinField(DAY_OF_MONTH);
+            return;
+
+        case WEEK_OF_YEAR:
+        case WEEK_OF_MONTH:
+        case DAY_OF_WEEK_IN_MONTH:
+            delta *= ONE_WEEK;
+            break;
+
+        case AM_PM:
+            delta *= 12 * ONE_HOUR;
+            break;
+
+        case DAY_OF_MONTH:
+        case DAY_OF_YEAR:
+        case DAY_OF_WEEK:
+        case DOW_LOCAL:
+        case JULIAN_DAY:
+            delta *= ONE_DAY;
+            break;
+
+        case HOUR_OF_DAY:
+        case HOUR:
+            delta *= ONE_HOUR;
+            keepHourInvariant = false;
+            break;
+
+        case MINUTE:
+            delta *= ONE_MINUTE;
+            keepHourInvariant = false;
+            break;
+
+        case SECOND:
+            delta *= ONE_SECOND;
+            keepHourInvariant = false;
+            break;
+
+        case MILLISECOND:
+        case MILLISECONDS_IN_DAY:
+            keepHourInvariant = false;
+            break;
+
+        default:
+            throw new IllegalArgumentException("Calendar.add(" + fieldName(field) +
+                                               ") not supported");
+        }
+
+        // In order to keep the hour invariant (for fields where this is
+        // appropriate), record the DST_OFFSET before and after the add()
+        // operation.  If it has changed, then adjust the millis to
+        // compensate.
+        int dst = 0;
+        int hour = 0;
+        if (keepHourInvariant) {
+            dst = get(DST_OFFSET);
+            hour = internalGet(HOUR_OF_DAY);
+        }
+
+        setTimeInMillis(getTimeInMillis() + delta);
+
+        if (keepHourInvariant) {
+            dst -= get(DST_OFFSET);
+            if (dst != 0) {
+                // We have done an hour-invariant adjustment but the
+                // DST offset has altered.  We adjust millis to keep
+                // the hour constant.  In cases such as midnight after
+                // a DST change which occurs at midnight, there is the
+                // danger of adjusting into a different day.  To avoid
+                // this we make the adjustment only if it actually
+                // maintains the hour.
+                long t = time;
+                setTimeInMillis(time + dst);
+                if (get(HOUR_OF_DAY) != hour) {
+                    setTimeInMillis(t);
+                }
+            }
+        }
+    }
+
+    /**
+     * Return the name of this calendar in the language of the given locale.
+     * @stable ICU 2.0
+     */
+    public String getDisplayName(Locale loc) {
+        return this.getClass().getName();
+    }
+
+    /**
+     * Return the name of this calendar in the language of the given locale.
+     * @draft ICU 3.2
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public String getDisplayName(ULocale loc) {
+        return this.getClass().getName();
+    }
+
+    /**
+     * Compares the times (in millis) represented by two
+     * <code>Calendar</code> objects.
+     *
+     * @param that the <code>Calendar</code> to compare to this.
+     * @return <code>0</code> if the time represented by 
+     * this <code>Calendar</code> is equal to the time represented 
+     * by that <code>Calendar</code>, a value less than 
+     * <code>0</code> if the time represented by this is before
+     * the time represented by that, and a value greater than
+     * <code>0</code> if the time represented by this
+     * is after the time represented by that.
+     * @throws NullPointerException if that 
+     * <code>Calendar</code> is null.
+     * @throws IllegalArgumentException if the time of that 
+     * <code>Calendar</code> can't be obtained because of invalid
+     * calendar values.
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public int compareTo(Calendar that) {
+        long v = getTimeInMillis() - that.getTimeInMillis();
+        return v < 0 ? -1 : (v > 0 ? 1 : 0);
+    }
+
+    /**
+     * Implement comparable API as a convenience override of
+     * {@link #compareTo(Calendar)}.
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public int compareTo(Object that) {
+        return compareTo((Calendar)that);
+    }
+
+    //-------------------------------------------------------------------------
+    // Interface for creating custon DateFormats for different types of Calendars
+    //-------------------------------------------------------------------------
+
+    /**
+     * Return a <code>DateFormat</code> appropriate to this calendar.
+     * Subclasses wishing to specialize this behavior should override
+     * <code>handleGetDateFormat()</code>
+     * @see #handleGetDateFormat
+     * @stable ICU 2.0
+     */
+    public DateFormat getDateTimeFormat(int dateStyle, int timeStyle, Locale loc) {
+        return formatHelper(this, ULocale.forLocale(loc), dateStyle, timeStyle);
+    }
+
+    /**
+     * Return a <code>DateFormat</code> appropriate to this calendar.
+     * Subclasses wishing to specialize this behavior should override
+     * <code>handleGetDateFormat()</code>
+     * @see #handleGetDateFormat
+     * @draft ICU 3.2
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public DateFormat getDateTimeFormat(int dateStyle, int timeStyle, ULocale loc) {
+        return formatHelper(this, loc, dateStyle, timeStyle);
+    }
+
+    /**
+     * Create a <code>DateFormat</code> appropriate to this calendar.
+     * This is a framework method for subclasses to override.  This method
+     * is responsible for creating the calendar-specific DateFormat and
+     * DateFormatSymbols objects as needed.
+     * @param pattern the pattern, specific to the <code>DateFormat</code>
+     * subclass
+     * @param locale the locale for which the symbols should be drawn
+     * @return a <code>DateFormat</code> appropriate to this calendar
+     * @stable ICU 2.0
+     */
+    protected DateFormat handleGetDateFormat(String pattern, Locale locale) {
+        return handleGetDateFormat(pattern, ULocale.forLocale(locale));
+    }
+
+    /**
+     * Create a <code>DateFormat</code> appropriate to this calendar.
+     * This is a framework method for subclasses to override.  This method
+     * is responsible for creating the calendar-specific DateFormat and
+     * DateFormatSymbols objects as needed.
+     * @param pattern the pattern, specific to the <code>DateFormat</code>
+     * subclass
+     * @param locale the locale for which the symbols should be drawn
+     * @return a <code>DateFormat</code> appropriate to this calendar
+     * @draft ICU 3.2
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    protected DateFormat handleGetDateFormat(String pattern, ULocale locale) {
+        DateFormatSymbols symbols = new DateFormatSymbols(this, locale);
+        return new SimpleDateFormat(pattern, symbols, locale);
+    }
+
+    static private DateFormat formatHelper(Calendar cal, ULocale loc,
+                                            int dateStyle, int timeStyle)
+    {
+        // See if there are any custom resources for this calendar
+        // If not, just use the default DateFormat
+        DateFormat result = null;
+ 
+            try {
+                CalendarData calData = new CalendarData(loc, cal.getType());
+               String[] patterns = calData.get("DateTimePatterns").getStringArray();
+
+                String pattern = null;
+                if ((timeStyle >= 0) && (dateStyle >= 0)) {
+                    Object[] dateTimeArgs = { patterns[timeStyle],
+                                              patterns[dateStyle + 4] };
+                    pattern = MessageFormat.format(patterns[8], dateTimeArgs);
+                }
+                else if (timeStyle >= 0) {
+                    pattern = patterns[timeStyle];
+                }
+                else if (dateStyle >= 0) {
+                    pattern = patterns[dateStyle + 4];
+                }
+                else {
+                    throw new IllegalArgumentException("No date or time style specified");
+                }
+                result = cal.handleGetDateFormat(pattern, loc);
+            } catch (MissingResourceException e) {
+                // !!! need dateformat subclass appropriate to calendar type here!
+                // No custom patterns
+                // !!! note: possible circularity here, if getDateTimeInstance calls us because of
+                // loc specifying a calendar.
+                result = DateFormat.getDateTimeInstance(dateStyle, timeStyle, loc);
+
+                DateFormatSymbols symbols = new DateFormatSymbols(cal, loc);
+                ((SimpleDateFormat) result).setDateFormatSymbols(symbols); // aliu
+            }
+        result.setCalendar(cal);
+        return result;
+    }
+
+    //-------------------------------------------------------------------------
+    // Protected utility methods for use by subclasses.  These are very handy
+    // for implementing add, roll, and computeFields.
+    //-------------------------------------------------------------------------
+
+    /**
+     * Adjust the specified field so that it is within
+     * the allowable range for the date to which this calendar is set.
+     * For example, in a Gregorian calendar pinning the {@link #DAY_OF_MONTH DAY_OF_MONTH}
+     * field for a calendar set to April 31 would cause it to be set
+     * to April 30.
+     * <p>
+     * <b>Subclassing:</b>
+     * <br>
+     * This utility method is intended for use by subclasses that need to implement
+     * their own overrides of {@link #roll roll} and {@link #add add}.
+     * <p>
+     * <b>Note:</b>
+     * <code>pinField</code> is implemented in terms of
+     * {@link #getActualMinimum getActualMinimum}
+     * and {@link #getActualMaximum getActualMaximum}.  If either of those methods uses
+     * a slow, iterative algorithm for a particular field, it would be
+     * unwise to attempt to call <code>pinField</code> for that field.  If you
+     * really do need to do so, you should override this method to do
+     * something more efficient for that field.
+     * <p>
+     * @param field The calendar field whose value should be pinned.
+     *
+     * @see #getActualMinimum
+     * @see #getActualMaximum
+     * @stable ICU 2.0
+     */
+    protected void pinField(int field) {
+        int max = getActualMaximum(field);
+        int min = getActualMinimum(field);
+
+        if (fields[field] > max) {
+            set(field, max);
+        } else if (fields[field] < min) {
+            set(field, min);
+        }
+    }
+
+    /**
+     * Return the week number of a day, within a period. This may be the week number in
+     * a year or the week number in a month. Usually this will be a value >= 1, but if
+     * some initial days of the period are excluded from week 1, because
+     * {@link #getMinimalDaysInFirstWeek getMinimalDaysInFirstWeek} is > 1, then
+     * the week number will be zero for those
+     * initial days. This method requires the day number and day of week for some
+     * known date in the period in order to determine the day of week
+     * on the desired day.
+     * <p>
+     * <b>Subclassing:</b>
+     * <br>
+     * This method is intended for use by subclasses in implementing their
+     * {@link #computeTime computeTime} and/or {@link #computeFields computeFields} methods.
+     * It is often useful in {@link #getActualMinimum getActualMinimum} and
+     * {@link #getActualMaximum getActualMaximum} as well.
+     * <p>
+     * This variant is handy for computing the week number of some other
+     * day of a period (often the first or last day of the period) when its day
+     * of the week is not known but the day number and day of week for some other
+     * day in the period (e.g. the current date) <em>is</em> known.
+     * <p>
+     * @param desiredDay    The {@link #DAY_OF_YEAR DAY_OF_YEAR} or
+     *              {@link #DAY_OF_MONTH DAY_OF_MONTH} whose week number is desired.
+     *              Should be 1 for the first day of the period.
+     *
+     * @param dayOfPeriod   The {@link #DAY_OF_YEAR DAY_OF_YEAR}
+     *              or {@link #DAY_OF_MONTH DAY_OF_MONTH} for a day in the period whose
+     *              {@link #DAY_OF_WEEK DAY_OF_WEEK} is specified by the
+     *              <code>dayOfWeek</code> parameter.
+     *              Should be 1 for first day of period.
+     *
+     * @param dayOfWeek  The {@link #DAY_OF_WEEK DAY_OF_WEEK} for the day
+     *              corresponding to the <code>dayOfPeriod</code> parameter.
+     *              1-based with 1=Sunday.
+     *
+     * @return      The week number (one-based), or zero if the day falls before
+     *              the first week because
+     *              {@link #getMinimalDaysInFirstWeek getMinimalDaysInFirstWeek}
+     *              is more than one.
+     * @stable ICU 2.0
+     */
+    protected int weekNumber(int desiredDay, int dayOfPeriod, int dayOfWeek)
+    {
+        // Determine the day of the week of the first day of the period
+        // in question (either a year or a month).  Zero represents the
+        // first day of the week on this calendar.
+        int periodStartDayOfWeek = (dayOfWeek - getFirstDayOfWeek() - dayOfPeriod + 1) % 7;
+        if (periodStartDayOfWeek < 0) periodStartDayOfWeek += 7;
+
+        // Compute the week number.  Initially, ignore the first week, which
+        // may be fractional (or may not be).  We add periodStartDayOfWeek in
+        // order to fill out the first week, if it is fractional.
+        int weekNo = (desiredDay + periodStartDayOfWeek - 1)/7;
+
+        // If the first week is long enough, then count it.  If
+        // the minimal days in the first week is one, or if the period start
+        // is zero, we always increment weekNo.
+        if ((7 - periodStartDayOfWeek) >= getMinimalDaysInFirstWeek()) ++weekNo;
+
+        return weekNo;
+    }
+
+    /**
+     * Return the week number of a day, within a period. This may be the week number in
+     * a year, or the week number in a month. Usually this will be a value >= 1, but if
+     * some initial days of the period are excluded from week 1, because
+     * {@link #getMinimalDaysInFirstWeek getMinimalDaysInFirstWeek} is > 1,
+     * then the week number will be zero for those
+     * initial days. This method requires the day of week for the given date in order to
+     * determine the result.
+     * <p>
+     * <b>Subclassing:</b>
+     * <br>
+     * This method is intended for use by subclasses in implementing their
+     * {@link #computeTime computeTime} and/or {@link #computeFields computeFields} methods.
+     * It is often useful in {@link #getActualMinimum getActualMinimum} and
+     * {@link #getActualMaximum getActualMaximum} as well.
+     * <p>
+     * @param dayOfPeriod   The {@link #DAY_OF_YEAR DAY_OF_YEAR} or
+     *                      {@link #DAY_OF_MONTH DAY_OF_MONTH} whose week number is desired.
+     *                      Should be 1 for the first day of the period.
+     *
+     * @param dayOfWeek     The {@link #DAY_OF_WEEK DAY_OF_WEEK} for the day
+     *                      corresponding to the <code>dayOfPeriod</code> parameter.
+     *                      1-based with 1=Sunday.
+     *
+     * @return      The week number (one-based), or zero if the day falls before
+     *              the first week because
+     *              {@link #getMinimalDaysInFirstWeek getMinimalDaysInFirstWeek}
+     *              is more than one.
+     * @stable ICU 2.0
+     */
+    protected final int weekNumber(int dayOfPeriod, int dayOfWeek)
+    {
+        return weekNumber(dayOfPeriod, dayOfPeriod, dayOfWeek);
+    }
+
+    //-------------------------------------------------------------------------
+    // Constants
+    //-------------------------------------------------------------------------
+
+    /**
+     * [NEW]
+     * Return the difference between the given time and the time this
+     * calendar object is set to.  If this calendar is set
+     * <em>before</em> the given time, the returned value will be
+     * positive.  If this calendar is set <em>after</em> the given
+     * time, the returned value will be negative.  The
+     * <code>field</code> parameter specifies the units of the return
+     * value.  For example, if <code>fieldDifference(when,
+     * Calendar.MONTH)</code> returns 3, then this calendar is set to
+     * 3 months before <code>when</code>, and possibly some additional
+     * time less than one month.
+     *
+     * <p>As a side effect of this call, this calendar is advanced
+     * toward <code>when</code> by the given amount.  That is, calling
+     * this method has the side effect of calling <code>add(field,
+     * n)</code>, where <code>n</code> is the return value.
+     *
+     * <p>Usage: To use this method, call it first with the largest
+     * field of interest, then with progressively smaller fields.  For
+     * example:
+     *
+     * <pre>
+     * int y = cal.fieldDifference(when, Calendar.YEAR);
+     * int m = cal.fieldDifference(when, Calendar.MONTH);
+     * int d = cal.fieldDifference(when, Calendar.DATE);</pre>
+     *
+     * computes the difference between <code>cal</code> and
+     * <code>when</code> in years, months, and days.
+     *
+     * <p>Note: <code>fieldDifference()</code> is
+     * <em>asymmetrical</em>.  That is, in the following code:
+     *
+     * <pre>
+     * cal.setTime(date1);
+     * int m1 = cal.fieldDifference(date2, Calendar.MONTH);
+     * int d1 = cal.fieldDifference(date2, Calendar.DATE);
+     * cal.setTime(date2);
+     * int m2 = cal.fieldDifference(date1, Calendar.MONTH);
+     * int d2 = cal.fieldDifference(date1, Calendar.DATE);</pre>
+     *
+     * one might expect that <code>m1 == -m2 && d1 == -d2</code>.
+     * However, this is not generally the case, because of
+     * irregularities in the underlying calendar system (e.g., the
+     * Gregorian calendar has a varying number of days per month).
+     *
+     * @param when the date to compare this calendar's time to
+     * @param field the field in which to compute the result
+     * @return the difference, either positive or negative, between
+     * this calendar's time and <code>when</code>, in terms of
+     * <code>field</code>.
+     * @stable ICU 2.0
+     */
+    public int fieldDifference(Date when, int field) {
+        int min = 0;
+        long startMs = getTimeInMillis();
+        long targetMs = when.getTime();
+        // Always add from the start millis.  This accomodates
+        // operations like adding years from February 29, 2000 up to
+        // February 29, 2004.  If 1, 1, 1, 1 is added to the year
+        // field, the DOM gets pinned to 28 and stays there, giving an
+        // incorrect DOM difference of 1.  We have to add 1, reset, 2,
+        // reset, 3, reset, 4.
+        if (startMs < targetMs) {
+            int max = 1;
+            // Find a value that is too large
+            for (;;) {
+                setTimeInMillis(startMs);
+                add(field, max);
+                long ms = getTimeInMillis();
+                if (ms == targetMs) {
+                    return max;
+                } else if (ms > targetMs) {
+                    break;
+                } else {
+                    max <<= 1;
+                    if (max < 0) {
+                        // Field difference too large to fit into int
+                        throw new RuntimeException();
+                    }
+                }
+            }
+            // Do a binary search
+            while ((max - min) > 1) {
+                int t = (min + max) / 2;
+                setTimeInMillis(startMs);
+                add(field, t);
+                long ms = getTimeInMillis();
+                if (ms == targetMs) {
+                    return t;
+                } else if (ms > targetMs) {
+                    max = t;
+                } else {
+                    min = t;
+                }
+            }
+        } else if (startMs > targetMs) {
+            if (false) {
+                // This works, and makes the code smaller, but costs
+                // an extra object creation and an extra couple cycles
+                // of calendar computation.
+                setTimeInMillis(targetMs);
+                min = -fieldDifference(new Date(startMs), field);
+            }
+            int max = -1;
+            // Find a value that is too small
+            for (;;) {
+                setTimeInMillis(startMs);
+                add(field, max);
+                long ms = getTimeInMillis();
+                if (ms == targetMs) {
+                    return max;
+                } else if (ms < targetMs) {
+                    break;
+                } else {
+                    max <<= 1;
+                    if (max == 0) {
+                        // Field difference too large to fit into int
+                        throw new RuntimeException();
+                    }
+                }
+            }
+            // Do a binary search
+            while ((min - max) > 1) {
+                int t = (min + max) / 2;
+                setTimeInMillis(startMs);
+                add(field, t);
+                long ms = getTimeInMillis();
+                if (ms == targetMs) {
+                    return t;
+                } else if (ms < targetMs) {
+                    max = t;
+                } else {
+                    min = t;
+                }
+            }
+        }
+        // Set calendar to end point
+        setTimeInMillis(startMs);
+        add(field, min);
+        return min;
+    }
+
+    /**
+     * Sets the time zone with the given time zone value.
+     * @param value the given time zone.
+     * @stable ICU 2.0
+     */
+    public void setTimeZone(TimeZone value)
+    {
+        zone = value;
+        /* Recompute the fields from the time using the new zone.  This also
+         * works if isTimeSet is false (after a call to set()).  In that case
+         * the time will be computed from the fields using the new zone, then
+         * the fields will get recomputed from that.  Consider the sequence of
+         * calls: cal.setTimeZone(EST); cal.set(HOUR, 1); cal.setTimeZone(PST).
+         * Is cal set to 1 o'clock EST or 1 o'clock PST?  Answer: PST.  More
+         * generally, a call to setTimeZone() affects calls to set() BEFORE AND
+         * AFTER it up to the next call to complete().
+         */
+        areFieldsSet = false;
+    }
+
+    /**
+     * Gets the time zone.
+     * @return the time zone object associated with this calendar.
+     * @stable ICU 2.0
+     */
+    public TimeZone getTimeZone()
+    {
+        return zone;
+    }
+
+    /**
+     * Specify whether or not date/time interpretation is to be lenient.  With
+     * lenient interpretation, a date such as "February 942, 1996" will be
+     * treated as being equivalent to the 941st day after February 1, 1996.
+     * With strict interpretation, such dates will cause an exception to be
+     * thrown.
+     *
+     * @see DateFormat#setLenient
+     * @stable ICU 2.0
+     */
+    public void setLenient(boolean lenient)
+    {
+        this.lenient = lenient;
+    }
+
+    /**
+     * Tell whether date/time interpretation is to be lenient.
+     * @stable ICU 2.0
+     */
+    public boolean isLenient()
+    {
+        return lenient;
+    }
+
+    /**
+     * Sets what the first day of the week is; e.g., Sunday in US,
+     * Monday in France.
+     * @param value the given first day of the week.
+     * @stable ICU 2.0
+     */
+    public void setFirstDayOfWeek(int value)
+    {
+        if (firstDayOfWeek != value) {
+            if (value < SUNDAY || value > SATURDAY) {
+                throw new IllegalArgumentException("Invalid day of week");
+            }
+            firstDayOfWeek = value;
+            areFieldsSet = false;
+        }
+    }
+
+    /**
+     * Gets what the first day of the week is; e.g., Sunday in US,
+     * Monday in France.
+     * @return the first day of the week.
+     * @stable ICU 2.0
+     */
+    public int getFirstDayOfWeek()
+    {
+        return firstDayOfWeek;
+    }
+
+    /**
+     * Sets what the minimal days required in the first week of the year are.
+     * For example, if the first week is defined as one that contains the first
+     * day of the first month of a year, call the method with value 1. If it
+     * must be a full week, use value 7.
+     * @param value the given minimal days required in the first week
+     * of the year.
+     * @stable ICU 2.0
+     */
+    public void setMinimalDaysInFirstWeek(int value)
+    {
+        // Values less than 1 have the same effect as 1; values greater
+        // than 7 have the same effect as 7. However, we normalize values
+        // so operator== and so forth work.
+        if (value < 1) {
+            value = 1;
+        } else if (value > 7) {
+            value = 7;
+        }
+        if (minimalDaysInFirstWeek != value) {
+            minimalDaysInFirstWeek = value;
+            areFieldsSet = false;
+        }
+    }
+
+    /**
+     * Gets what the minimal days required in the first week of the year are;
+     * e.g., if the first week is defined as one that contains the first day
+     * of the first month of a year, getMinimalDaysInFirstWeek returns 1. If
+     * the minimal days required must be a full week, getMinimalDaysInFirstWeek
+     * returns 7.
+     * @return the minimal days required in the first week of the year.
+     * @stable ICU 2.0
+     */
+    public int getMinimalDaysInFirstWeek()
+    {
+        return minimalDaysInFirstWeek;
+    }
+
+    private static final int LIMITS[][] = {
+        //    Minimum  Greatest min      Least max   Greatest max
+        {/*                                                      */}, // ERA
+        {/*                                                      */}, // YEAR
+        {/*                                                      */}, // MONTH
+        {/*                                                      */}, // WEEK_OF_YEAR
+        {/*                                                      */}, // WEEK_OF_MONTH
+        {/*                                                      */}, // DAY_OF_MONTH
+        {/*                                                      */}, // DAY_OF_YEAR
+        {           1,            1,             7,             7  }, // DAY_OF_WEEK
+        {/*                                                      */}, // DAY_OF_WEEK_IN_MONTH
+        {           0,            0,             1,             1  }, // AM_PM
+        {           0,            0,            11,            11  }, // HOUR
+        {           0,            0,            23,            23  }, // HOUR_OF_DAY
+        {           0,            0,            59,            59  }, // MINUTE
+        {           0,            0,            59,            59  }, // SECOND
+        {           0,            0,           999,           999  }, // MILLISECOND
+        {-12*ONE_HOUR, -12*ONE_HOUR,   12*ONE_HOUR,   12*ONE_HOUR  }, // ZONE_OFFSET
+        {           0,            0,    1*ONE_HOUR,    1*ONE_HOUR  }, // DST_OFFSET
+        {/*                                                      */}, // YEAR_WOY
+        {           1,            1,             7,             7  }, // DOW_LOCAL
+        {/*                                                      */}, // EXTENDED_YEAR
+        { -0x7F000000,  -0x7F000000,    0x7F000000,    0x7F000000  }, // JULIAN_DAY
+        {           0,            0, 24*ONE_HOUR-1, 24*ONE_HOUR-1  }, // MILLISECONDS_IN_DAY
+    };
+
+    /**
+     * Subclass API for defining limits of different types.
+     * Subclasses must implement this method to return limits for the
+     * following fields:
+     *
+     * <pre>ERA
+     * YEAR
+     * MONTH
+     * WEEK_OF_YEAR
+     * WEEK_OF_MONTH
+     * DAY_OF_MONTH
+     * DAY_OF_YEAR
+     * DAY_OF_WEEK_IN_MONTH
+     * YEAR_WOY
+     * EXTENDED_YEAR</pre>
+     *
+     * @param field one of the above field numbers
+     * @param limitType one of <code>MINIMUM</code>, <code>GREATEST_MINIMUM</code>,
+     * <code>LEAST_MAXIMUM</code>, or <code>MAXIMUM</code>
+     * @stable ICU 2.0
+     */
+    abstract protected int handleGetLimit(int field, int limitType);
+
+    /**
+     * Return a limit for a field.
+     * @param field the field, from 0..</code>getFieldCount()-1</code>
+     * @param limitType the type specifier for the limit
+     * @see #MINIMUM
+     * @see #GREATEST_MINIMUM
+     * @see #LEAST_MAXIMUM
+     * @see #MAXIMUM
+     * @stable ICU 2.0
+     */
+    protected int getLimit(int field, int limitType) {
+        switch (field) {
+        case DAY_OF_WEEK:
+        case AM_PM:
+        case HOUR:
+        case HOUR_OF_DAY:
+        case MINUTE:
+        case SECOND:
+        case MILLISECOND:
+        case ZONE_OFFSET:
+        case DST_OFFSET:
+        case DOW_LOCAL:
+        case JULIAN_DAY:
+        case MILLISECONDS_IN_DAY:
+            return LIMITS[field][limitType];
+        }
+        return handleGetLimit(field, limitType);
+    }
+
+    /**
+     * Limit type for <code>getLimit()</code> and <code>handleGetLimit()</code>
+     * indicating the minimum value that a field can take (least minimum).
+     * @see #getLimit
+     * @see #handleGetLimit
+     * @stable ICU 2.0
+     */
+    protected static final int MINIMUM = 0;
+
+    /**
+     * Limit type for <code>getLimit()</code> and <code>handleGetLimit()</code>
+     * indicating the greatest minimum value that a field can take.
+     * @see #getLimit
+     * @see #handleGetLimit
+     * @stable ICU 2.0
+     */
+    protected static final int GREATEST_MINIMUM = 1;
+
+    /**
+     * Limit type for <code>getLimit()</code> and <code>handleGetLimit()</code>
+     * indicating the least maximum value that a field can take.
+     * @see #getLimit
+     * @see #handleGetLimit
+     * @stable ICU 2.0
+     */
+    protected static final int LEAST_MAXIMUM = 2;
+
+    /**
+     * Limit type for <code>getLimit()</code> and <code>handleGetLimit()</code>
+     * indicating the maximum value that a field can take (greatest maximum).
+     * @see #getLimit
+     * @see #handleGetLimit
+     * @stable ICU 2.0
+     */
+    protected static final int MAXIMUM = 3;
+
+    /**
+     * Gets the minimum value for the given time field.
+     * e.g., for Gregorian DAY_OF_MONTH, 1.
+     * @param field the given time field.
+     * @return the minimum value for the given time field.
+     * @stable ICU 2.0
+     */
+    public final int getMinimum(int field) {
+        return getLimit(field, MINIMUM);
+    }
+
+    /**
+     * Gets the maximum value for the given time field.
+     * e.g. for Gregorian DAY_OF_MONTH, 31.
+     * @param field the given time field.
+     * @return the maximum value for the given time field.
+     * @stable ICU 2.0
+     */
+    public final int getMaximum(int field) {
+        return getLimit(field, MAXIMUM);
+    }
+
+    /**
+     * Gets the highest minimum value for the given field if varies.
+     * Otherwise same as getMinimum(). For Gregorian, no difference.
+     * @param field the given time field.
+     * @return the highest minimum value for the given time field.
+     * @stable ICU 2.0
+     */
+    public final int getGreatestMinimum(int field) {
+        return getLimit(field, GREATEST_MINIMUM);
+    }
+
+    /**
+     * Gets the lowest maximum value for the given field if varies.
+     * Otherwise same as getMaximum(). e.g., for Gregorian DAY_OF_MONTH, 28.
+     * @param field the given time field.
+     * @return the lowest maximum value for the given time field.
+     * @stable ICU 2.0
+     */
+    public final int getLeastMaximum(int field) {
+        return getLimit(field, LEAST_MAXIMUM);
+    }
+
+    //-------------------------------------------------------------------------
+    // Weekend support -- determining which days of the week are the weekend
+    // in a given locale
+    //-------------------------------------------------------------------------
+
+    /**
+     * Return whether the given day of the week is a weekday, a
+     * weekend day, or a day that transitions from one to the other,
+     * in this calendar system.  If a transition occurs at midnight,
+     * then the days before and after the transition will have the
+     * type WEEKDAY or WEEKEND.  If a transition occurs at a time
+     * other than midnight, then the day of the transition will have
+     * the type WEEKEND_ONSET or WEEKEND_CEASE.  In this case, the
+     * method getWeekendTransition() will return the point of
+     * transition.
+     * @param dayOfWeek either SUNDAY, MONDAY, TUESDAY, WEDNESDAY,
+     * THURSDAY, FRIDAY, or SATURDAY
+     * @return either WEEKDAY, WEEKEND, WEEKEND_ONSET, or
+     * WEEKEND_CEASE
+     * @exception IllegalArgumentException if dayOfWeek is not
+     * between SUNDAY and SATURDAY, inclusive
+     * @see #WEEKDAY
+     * @see #WEEKEND
+     * @see #WEEKEND_ONSET
+     * @see #WEEKEND_CEASE
+     * @see #getWeekendTransition
+     * @see #isWeekend(Date)
+     * @see #isWeekend()
+     * @stable ICU 2.0
+     */
+    public int getDayOfWeekType(int dayOfWeek) {
+        if (dayOfWeek < SUNDAY || dayOfWeek > SATURDAY) {
+            throw new IllegalArgumentException("Invalid day of week");
+        }
+        if (weekendOnset < weekendCease) {
+            if (dayOfWeek < weekendOnset || dayOfWeek > weekendCease) {
+                return WEEKDAY;
+            }
+        } else {
+            if (dayOfWeek > weekendCease && dayOfWeek < weekendOnset) {
+                return WEEKDAY;
+            }
+        }
+        if (dayOfWeek == weekendOnset) {
+            return (weekendOnsetMillis == 0) ? WEEKEND : WEEKEND_ONSET;
+        }
+        if (dayOfWeek == weekendCease) {
+            return (weekendCeaseMillis == 0) ? WEEKDAY : WEEKEND_CEASE;
+        }
+        return WEEKEND;
+    }
+
+    /**
+     * Return the time during the day at which the weekend begins or end in
+     * this calendar system.  If getDayOfWeekType(dayOfWeek) ==
+     * WEEKEND_ONSET return the time at which the weekend begins.  If
+     * getDayOfWeekType(dayOfWeek) == WEEKEND_CEASE return the time at
+     * which the weekend ends.  If getDayOfWeekType(dayOfWeek) has some
+     * other value, then throw an exception.
+     * @param dayOfWeek either SUNDAY, MONDAY, TUESDAY, WEDNESDAY,
+     * THURSDAY, FRIDAY, or SATURDAY
+     * @return the milliseconds after midnight at which the
+     * weekend begins or ends
+     * @exception IllegalArgumentException if dayOfWeek is not
+     * WEEKEND_ONSET or WEEKEND_CEASE
+     * @see #getDayOfWeekType
+     * @see #isWeekend(Date)
+     * @see #isWeekend()
+     * @stable ICU 2.0
+     */
+    public int getWeekendTransition(int dayOfWeek) {
+        if (dayOfWeek == weekendOnset) {
+            return weekendOnsetMillis;
+        } else if (dayOfWeek == weekendCease) {
+            return weekendCeaseMillis;
+        }
+        throw new IllegalArgumentException("Not weekend transition day");
+    }
+
+    /**
+     * Return true if the given date and time is in the weekend in
+     * this calendar system.  Equivalent to calling setTime() followed
+     * by isWeekend().  Note: This method changes the time this
+     * calendar is set to.
+     * @param date the date and time
+     * @return true if the given date and time is part of the
+     * weekend
+     * @see #getDayOfWeekType
+     * @see #getWeekendTransition
+     * @see #isWeekend()
+     * @stable ICU 2.0
+     */
+    public boolean isWeekend(Date date) {
+        setTime(date);
+        return isWeekend();
+    }
+
+    /**
+     * Return true if this Calendar's current date and time is in the
+     * weekend in this calendar system.
+     * @return true if the given date and time is part of the
+     * weekend
+     * @see #getDayOfWeekType
+     * @see #getWeekendTransition
+     * @see #isWeekend(Date)
+     * @stable ICU 2.0
+     */
+    public boolean isWeekend() {
+        int dow =  get(DAY_OF_WEEK);
+        int dowt = getDayOfWeekType(dow);
+        switch (dowt) {
+        case WEEKDAY:
+            return false;
+        case WEEKEND:
+            return true;
+        default: // That is, WEEKEND_ONSET or WEEKEND_CEASE
+            // Use internalGet() because the above call to get() populated
+            // all fields.
+            // [Note: There should be a better way to get millis in day.
+            //  For ICU4J, submit request for a MILLIS_IN_DAY field
+            //  and a DAY_NUMBER field (could be Julian day #). - aliu]
+            int millisInDay = internalGet(MILLISECOND) + 1000 * (internalGet(SECOND) +
+                60 * (internalGet(MINUTE) + 60 * internalGet(HOUR_OF_DAY)));
+            int transition = getWeekendTransition(dow);
+            return (dowt == WEEKEND_ONSET)
+                ? (millisInDay >= transition)
+                : (millisInDay <  transition);
+        }
+        // (We can never reach this point.)
+    }
+
+    //-------------------------------------------------------------------------
+    // End of weekend support
+    //-------------------------------------------------------------------------
+
+    /**
+     * Overrides Cloneable
+     * @stable ICU 2.0
+     */
+    public Object clone()
+    {
+        try {
+            Calendar other = (Calendar) super.clone();
+
+            other.fields = new int[fields.length];
+            other.stamp = new int[fields.length];
+            System.arraycopy(this.fields, 0, other.fields, 0, fields.length);
+            System.arraycopy(this.stamp, 0, other.stamp, 0, fields.length);
+
+            other.zone = (TimeZone) zone.clone();
+            return other;
+        }
+        catch (CloneNotSupportedException e) {
+            // this shouldn't happen, since we are Cloneable
+            throw new InternalError();
+        }
+    }
+
+    /**
+     * Return a string representation of this calendar. This method
+     * is intended to be used only for debugging purposes, and the
+     * format of the returned string may vary between implementations.
+     * The returned string may be empty but may not be <code>null</code>.
+     *
+     * @return  a string representation of this calendar.
+     * @stable ICU 2.0
+     */
+    public String toString() {
+        StringBuffer buffer = new StringBuffer();
+        buffer.append(getClass().getName());
+        buffer.append("[time=");
+        buffer.append(isTimeSet ? String.valueOf(time) : "?");
+        buffer.append(",areFieldsSet=");
+        buffer.append(areFieldsSet);
+        buffer.append(",areAllFieldsSet=");
+        buffer.append(areAllFieldsSet);
+        buffer.append(",lenient=");
+        buffer.append(lenient);
+        buffer.append(",zone=");
+        buffer.append(zone);
+        buffer.append(",firstDayOfWeek=");
+        buffer.append(firstDayOfWeek);
+        buffer.append(",minimalDaysInFirstWeek=");
+        buffer.append(minimalDaysInFirstWeek);
+        for (int i=0; i<fields.length; ++i) {
+            buffer.append(',').append(FIELD_NAME[i]).append('=');
+            buffer.append(isSet(i) ? String.valueOf(fields[i]) : "?");
+        }
+        buffer.append(']');
+        return buffer.toString();
+    }
+
+    // =======================privates===============================
+
+    /**
+     * Internal class that holds cached locale data.
+     */
+    private static class WeekData {
+        public int firstDayOfWeek;
+        public int minimalDaysInFirstWeek;
+        public int weekendOnset;
+        public int weekendOnsetMillis;
+        public int weekendCease;
+        public int weekendCeaseMillis;
+        public ULocale actualLocale;
+        public WeekData(int fdow, int mdifw,
+                        int weekendOnset, int weekendOnsetMillis,
+                        int weekendCease, int weekendCeaseMillis,
+                        ULocale actualLoc) {
+            this.firstDayOfWeek = fdow;
+            this.minimalDaysInFirstWeek = mdifw;
+            this.actualLocale = actualLoc;
+            this.weekendOnset = weekendOnset;
+            this.weekendOnsetMillis = weekendOnsetMillis;
+            this.weekendCease = weekendCease;
+            this.weekendCeaseMillis = weekendCeaseMillis;
+        }
+    }
+    
+    /**
+     * Set this calendar to contain week and weekend data for the given
+     * locale.
+     * @param locale the locale
+     */
+    private void setWeekData(ULocale locale)
+    {
+        /* try to get the Locale data from the cache */
+        WeekData data = (WeekData) cachedLocaleData.get(locale);
+        
+        if (data == null) {  /* cache miss */
+
+            CalendarData calData = new CalendarData(locale, getType());
+            int[] dateTimeElements = calData.get("DateTimeElements").getIntVector();
+            int[] weekend = calData.get("weekend").getIntVector();
+            data = new WeekData(dateTimeElements[0],dateTimeElements[1],
+                                weekend[0],
+                                weekend[1],
+                                weekend[2],
+                                weekend[3],
+                                calData.getULocale());
+            /* cache update */
+            cachedLocaleData.put(locale, data);
+        }
+        setFirstDayOfWeek(data.firstDayOfWeek);
+        setMinimalDaysInFirstWeek(data.minimalDaysInFirstWeek);
+        weekendOnset       = data.weekendOnset;
+        weekendOnsetMillis = data.weekendOnsetMillis;
+        weekendCease       = data.weekendCease;
+        weekendCeaseMillis = data.weekendCeaseMillis;
+
+        // TODO: determine the actual/valid locale
+        ULocale uloc = data.actualLocale;
+        setLocale(uloc, uloc);
+    }
+
+    /**
+     * Recompute the time and update the status fields isTimeSet
+     * and areFieldsSet.  Callers should check isTimeSet and only
+     * call this method if isTimeSet is false.
+     */
+    private void updateTime() {
+        computeTime();
+        // If we are lenient, we need to recompute the fields to normalize
+        // the values.  Also, if we haven't set all the fields yet (i.e.,
+        // in a newly-created object), we need to fill in the fields. [LIU]
+        if (isLenient() || !areAllFieldsSet) areFieldsSet = false;
+        isTimeSet = true;
+        areFieldsVirtuallySet = false;
+    }
+
+    /**
+     * Save the state of this object to a stream (i.e., serialize it).
+     *
+     * Ideally, <code>Calendar</code> would only write out its state data and
+     * the current time, and not write any field data out, such as
+     * <code>fields[]</code>, <code>isTimeSet</code>, <code>areFieldsSet</code>,
+     * and <code>isSet[]</code>.  <code>nextStamp</code> also should not be part
+     * of the persistent state. Unfortunately, this didn't happen before JDK 1.1
+     * shipped. To be compatible with JDK 1.1, we will always have to write out
+     * the field values and state flags.  However, <code>nextStamp</code> can be
+     * removed from the serialization stream; this will probably happen in the
+     * near future.
+     */
+    private void writeObject(ObjectOutputStream stream)
+         throws IOException
+    {
+        // Try to compute the time correctly, for the future (stream
+        // version 2) in which we don't write out fields[] or isSet[].
+        if (!isTimeSet) {
+            try {
+                updateTime();
+            }
+            catch (IllegalArgumentException e) {}
+        }
+
+        // Write out the 1.1 FCS object.
+        stream.defaultWriteObject();
+    }
+
+    /**
+     * Reconstitute this object from a stream (i.e., deserialize it).
+     */
+    private void readObject(ObjectInputStream stream)
+        throws IOException, ClassNotFoundException {
+
+        stream.defaultReadObject();
+
+        initInternal();
+
+        isTimeSet = true;
+        areFieldsSet = areAllFieldsSet = false;
+        nextStamp = MINIMUM_USER_STAMP;
+    }
+
+
+    //----------------------------------------------------------------------
+    // Time -> Fields
+    //----------------------------------------------------------------------
+
+    /**
+     * Converts the current millisecond time value <code>time</code> to
+     * field values in <code>fields[]</code>.  This synchronizes the time
+     * field values with a new time that is set for the calendar.  The time
+     * is <em>not</em> recomputed first; to recompute the time, then the
+     * fields, call the <code>complete</code> method.
+     * @see #complete
+     * @stable ICU 2.0
+     */
+    protected void computeFields() {
+        int offsets[] = new int[2];
+        getTimeZone().getOffset(time, false, offsets);
+        long localMillis = time + offsets[0] + offsets[1];
+
+        // Mark fields as set.  Do this before calling handleComputeFields().
+        int mask = internalSetMask;
+        for (int i=0; i<fields.length; ++i) {
+            if ((mask & 1) == 0) {
+                stamp[i] = INTERNALLY_SET;
+            } else {
+                stamp[i] = UNSET;
+            }
+            mask >>= 1;
+        }
+
+        // We used to check for and correct extreme millis values (near
+        // Long.MIN_VALUE or Long.MAX_VALUE) here.  Such values would cause
+        // overflows from positive to negative (or vice versa) and had to
+        // be manually tweaked.  We no longer need to do this because we
+        // have limited the range of supported dates to those that have a
+        // Julian day that fits into an int.  This allows us to implement a
+        // JULIAN_DAY field and also removes some inelegant code. - Liu
+        // 11/6/00
+
+        long days = floorDivide(localMillis, ONE_DAY);
+
+        fields[JULIAN_DAY] = (int) days + EPOCH_JULIAN_DAY;
+
+        // In some cases we will have to call this method again below to
+        // adjust for DST pushing us into the next Julian day.
+        computeGregorianAndDOWFields(fields[JULIAN_DAY]);
+
+        // Call framework method to have subclass compute its fields.
+        // These must include, at a minimum, MONTH, DAY_OF_MONTH,
+        // EXTENDED_YEAR, YEAR, DAY_OF_YEAR.  This method will call internalSet(),
+        // which will update stamp[].
+        handleComputeFields(fields[JULIAN_DAY]);
+
+        // Compute week-related fields, based on the subclass-computed
+        // fields computed by handleComputeFields().
+        computeWeekFields();
+
+        // Compute time-related fields.  These are indepent of the date and
+        // of the subclass algorithm.  They depend only on the local zone
+        // wall milliseconds in day.
+        int millisInDay = (int) (localMillis - (days * ONE_DAY));
+        fields[MILLISECONDS_IN_DAY] = millisInDay;
+        fields[MILLISECOND] = millisInDay % 1000;
+        millisInDay /= 1000;
+        fields[SECOND] = millisInDay % 60;
+        millisInDay /= 60;
+        fields[MINUTE] = millisInDay % 60;
+        millisInDay /= 60;
+        fields[HOUR_OF_DAY] = millisInDay;
+        fields[AM_PM] = millisInDay / 12; // Assume AM == 0
+        fields[HOUR] = millisInDay % 12;
+        fields[ZONE_OFFSET] = offsets[0];
+        fields[DST_OFFSET] = offsets[1];
+    }
+
+    /**
+     * Compute the Gregorian calendar year, month, and day of month from
+     * the given Julian day.  These values are not stored in fields, but in
+     * member variables gregorianXxx.  Also compute the DAY_OF_WEEK and
+     * DOW_LOCAL fields.
+     */
+    private final void computeGregorianAndDOWFields(int julianDay) {
+        computeGregorianFields(julianDay);
+
+        // Compute day of week: JD 0 = Monday
+        int dow = fields[DAY_OF_WEEK] = julianDayToDayOfWeek(julianDay);
+
+        // Calculate 1-based localized day of week
+        int dowLocal = dow - getFirstDayOfWeek() + 1;
+        if (dowLocal < 1) {
+            dowLocal += 7;
+        }
+        fields[DOW_LOCAL] = dowLocal;
+    }
+
+    /**
+     * Compute the Gregorian calendar year, month, and day of month from the
+     * Julian day.  These values are not stored in fields, but in member
+     * variables gregorianXxx.  They are used for time zone computations and by
+     * subclasses that are Gregorian derivatives.  Subclasses may call this
+     * method to perform a Gregorian calendar millis->fields computation.
+     * To perform a Gregorian calendar fields->millis computation, call
+     * computeGregorianMonthStart().
+     * @see #computeGregorianMonthStart
+     * @stable ICU 2.0
+     */
+    protected final void computeGregorianFields(int julianDay) {
+        int year, month, dayOfMonth, dayOfYear;
+
+        // The Gregorian epoch day is zero for Monday January 1, year 1.
+        long gregorianEpochDay = julianDay - JAN_1_1_JULIAN_DAY;
+
+        // Here we convert from the day number to the multiple radix
+        // representation.  We use 400-year, 100-year, and 4-year cycles.
+        // For example, the 4-year cycle has 4 years + 1 leap day; giving
+        // 1461 == 365*4 + 1 days.
+        int[] rem = new int[1];
+        int n400 = floorDivide(gregorianEpochDay, 146097, rem); // 400-year cycle length
+        int n100 = floorDivide(rem[0], 36524, rem); // 100-year cycle length
+        int n4 = floorDivide(rem[0], 1461, rem); // 4-year cycle length
+        int n1 = floorDivide(rem[0], 365, rem);
+        year = 400*n400 + 100*n100 + 4*n4 + n1;
+        dayOfYear = rem[0]; // zero-based day of year
+        if (n100 == 4 || n1 == 4) {
+            dayOfYear = 365; // Dec 31 at end of 4- or 400-yr cycle
+        } else {
+            ++year;
+        }
+
+        boolean isLeap = ((year&0x3) == 0) && // equiv. to (year%4 == 0)
+            (year%100 != 0 || year%400 == 0);
+
+        int correction = 0;
+        int march1 = isLeap ? 60 : 59; // zero-based DOY for March 1
+        if (dayOfYear >= march1) correction = isLeap ? 1 : 2;
+        month = (12 * (dayOfYear + correction) + 6) / 367; // zero-based month
+        dayOfMonth = dayOfYear -
+            GREGORIAN_MONTH_COUNT[month][isLeap?3:2] + 1; // one-based DOM
+
+        gregorianYear = year;
+        gregorianMonth = month; // 0-based already
+        gregorianDayOfMonth = dayOfMonth; // 1-based already
+        gregorianDayOfYear = dayOfYear + 1; // Convert from 0-based to 1-based
+    }
+
+    /**
+     * Compute the fields WEEK_OF_YEAR, YEAR_WOY, WEEK_OF_MONTH,
+     * DAY_OF_WEEK_IN_MONTH, and DOW_LOCAL from EXTENDED_YEAR, YEAR,
+     * DAY_OF_WEEK, and DAY_OF_YEAR.  The latter fields are computed by the
+     * subclass based on the calendar system.
+     *
+     * <p>The YEAR_WOY field is computed simplistically.  It is equal to YEAR
+     * most of the time, but at the year boundary it may be adjusted to YEAR-1
+     * or YEAR+1 to reflect the overlap of a week into an adjacent year.  In
+     * this case, a simple increment or decrement is performed on YEAR, even
+     * though this may yield an invalid YEAR value.  For instance, if the YEAR
+     * is part of a calendar system with an N-year cycle field CYCLE, then
+     * incrementing the YEAR may involve incrementing CYCLE and setting YEAR
+     * back to 0 or 1.  This is not handled by this code, and in fact cannot be
+     * simply handled without having subclasses define an entire parallel set of
+     * fields for fields larger than or equal to a year.  This additional
+     * complexity is not warranted, since the intention of the YEAR_WOY field is
+     * to support ISO 8601 notation, so it will typically be used with a
+     * proleptic Gregorian calendar, which has no field larger than a year.
+     */
+    private final void computeWeekFields() {
+        int eyear = fields[EXTENDED_YEAR];
+        int year = fields[YEAR];
+        int dayOfWeek = fields[DAY_OF_WEEK];
+        int dayOfYear = fields[DAY_OF_YEAR];
+
+        // WEEK_OF_YEAR start
+        // Compute the week of the year.  For the Gregorian calendar, valid week
+        // numbers run from 1 to 52 or 53, depending on the year, the first day
+        // of the week, and the minimal days in the first week.  For other
+        // calendars, the valid range may be different -- it depends on the year
+        // length.  Days at the start of the year may fall into the last week of
+        // the previous year; days at the end of the year may fall into the
+        // first week of the next year.  ASSUME that the year length is less than
+        // 7000 days.
+        int yearOfWeekOfYear = year;
+        int relDow = (dayOfWeek + 7 - getFirstDayOfWeek()) % 7; // 0..6
+        int relDowJan1 = (dayOfWeek - dayOfYear + 7001 - getFirstDayOfWeek()) % 7; // 0..6
+        int woy = (dayOfYear - 1 + relDowJan1) / 7; // 0..53
+        if ((7 - relDowJan1) >= getMinimalDaysInFirstWeek()) {
+            ++woy;
+        }
+
+        // Adjust for weeks at the year end that overlap into the previous or
+        // next calendar year.
+        if (woy == 0) {
+            // We are the last week of the previous year.
+            // Check to see if we are in the last week; if so, we need
+            // to handle the case in which we are the first week of the
+            // next year.
+
+            int prevDoy = dayOfYear + handleGetYearLength(eyear - 1);
+            woy = weekNumber(prevDoy, dayOfWeek);
+            yearOfWeekOfYear--;
+        } else {
+            int lastDoy = handleGetYearLength(eyear);
+            // Fast check: For it to be week 1 of the next year, the DOY
+            // must be on or after L-5, where L is yearLength(), then it
+            // cannot possibly be week 1 of the next year:
+            //          L-5                  L
+            // doy: 359 360 361 362 363 364 365 001
+            // dow:      1   2   3   4   5   6   7
+            if (dayOfYear >= (lastDoy - 5)) {
+                int lastRelDow = (relDow + lastDoy - dayOfYear) % 7;
+                if (lastRelDow < 0) {
+                    lastRelDow += 7;
+                }
+                if (((6 - lastRelDow) >= getMinimalDaysInFirstWeek()) &&
+                    ((dayOfYear + 7 - relDow) > lastDoy)) {
+                    woy = 1;
+                    yearOfWeekOfYear++;
+                }
+            }
+        }
+        fields[WEEK_OF_YEAR] = woy;
+        fields[YEAR_WOY] = yearOfWeekOfYear;
+        // WEEK_OF_YEAR end
+
+        int dayOfMonth = fields[DAY_OF_MONTH];
+        fields[WEEK_OF_MONTH] = weekNumber(dayOfMonth, dayOfWeek);
+        fields[DAY_OF_WEEK_IN_MONTH] = (dayOfMonth-1) / 7 + 1;
+    }
+
+    //----------------------------------------------------------------------
+    // Fields -> Time
+    //----------------------------------------------------------------------
+
+    /**
+     * Value to OR against resolve table field values for remapping.
+     * @see #resolveFields
+     * @stable ICU 2.0
+     */
+    protected static final int RESOLVE_REMAP = 32;
+    // A power of 2 greater than or equal to MAX_FIELD_COUNT
+
+    // Default table for day in year
+    static final int[][][] DATE_PRECEDENCE = {
+        {
+            { DAY_OF_MONTH },
+            { WEEK_OF_YEAR, DAY_OF_WEEK },
+            { WEEK_OF_MONTH, DAY_OF_WEEK },
+            { DAY_OF_WEEK_IN_MONTH, DAY_OF_WEEK },
+            { WEEK_OF_YEAR, DOW_LOCAL },
+            { WEEK_OF_MONTH, DOW_LOCAL },
+            { DAY_OF_WEEK_IN_MONTH, DOW_LOCAL },
+            { DAY_OF_YEAR },
+        },
+        {
+            { WEEK_OF_YEAR },
+            { WEEK_OF_MONTH },
+            { DAY_OF_WEEK_IN_MONTH },
+            { RESOLVE_REMAP | DAY_OF_WEEK_IN_MONTH, DAY_OF_WEEK },
+            { RESOLVE_REMAP | DAY_OF_WEEK_IN_MONTH, DOW_LOCAL },
+        },
+    };
+
+    static final int[][][] DOW_PRECEDENCE = {
+        {
+            { DAY_OF_WEEK },
+            { DOW_LOCAL },
+        },
+    };
+
+    /**
+     * Given a precedence table, return the newest field combination in
+     * the table, or -1 if none is found.
+     *
+     * <p>The precedence table is a 3-dimensional array of integers.  It
+     * may be thought of as an array of groups.  Each group is an array of
+     * lines.  Each line is an array of field numbers.  Within a line, if
+     * all fields are set, then the time stamp of the line is taken to be
+     * the stamp of the most recently set field.  If any field of a line is
+     * unset, then the line fails to match.  Within a group, the line with
+     * the newest time stamp is selected.  The first field of the line is
+     * returned to indicate which line matched.
+     *
+     * <p>In some cases, it may be desirable to map a line to field that
+     * whose stamp is NOT examined.  For example, if the best field is
+     * DAY_OF_WEEK then the DAY_OF_WEEK_IN_MONTH algorithm may be used.  In
+     * order to do this, insert the value <code>REMAP_RESOLVE | F</code> at
+     * the start of the line, where <code>F</code> is the desired return
+     * field value.  This field will NOT be examined; it only determines
+     * the return value if the other fields in the line are the newest.
+     *
+     * <p>If all lines of a group contain at least one unset field, then no
+     * line will match, and the group as a whole will fail to match.  In
+     * that case, the next group will be processed.  If all groups fail to
+     * match, then -1 is returned.
+     * @stable ICU 2.0
+     */
+    protected int resolveFields(int[][][] precedenceTable) {
+        int bestField = -1;
+        for (int g=0; g<precedenceTable.length && bestField < 0; ++g) {
+            int[][] group = precedenceTable[g];
+            int bestStamp = UNSET;
+        linesInGroup:
+            for (int l=0; l<group.length; ++l) {
+                int[] line= group[l];
+                int lineStamp = UNSET;
+                // Skip over first entry if it is negative
+                for (int i=(line[0]>=RESOLVE_REMAP)?1:0; i<line.length; ++i) {
+                    int s = stamp[line[i]];
+                    // If any field is unset then don't use this line
+                    if (s == UNSET) {
+                        continue linesInGroup;
+                    } else {
+                        lineStamp = Math.max(lineStamp, s);
+                    }
+                }
+                // Record new maximum stamp & field no.
+                if (lineStamp > bestStamp) {
+                    bestStamp = lineStamp;
+                    bestField = line[0]; // First field refers to entire line
+                }
+            }
+        }
+        return (bestField>=RESOLVE_REMAP)?(bestField&(RESOLVE_REMAP-1)):bestField;
+    }
+
+    /**
+     * Return the newest stamp of a given range of fields.
+     * @stable ICU 2.0
+     */
+    protected int newestStamp(int first, int last, int bestStampSoFar) {
+        int bestStamp = bestStampSoFar;
+        for (int i=first; i<=last; ++i) {
+            if (stamp[i] > bestStamp) {
+                bestStamp = stamp[i];
+            }
+        }
+        return bestStamp;
+    }
+
+    /**
+     * Return the timestamp of a field.
+     * @stable ICU 2.0
+     */
+    protected final int getStamp(int field) {
+        return stamp[field];
+    }
+
+    /**
+     * Return the field that is newer, either defaultField, or
+     * alternateField.  If neither is newer or neither is set, return defaultField.
+     * @stable ICU 2.0
+     */
+    protected int newerField(int defaultField, int alternateField) {
+        if (stamp[alternateField] > stamp[defaultField]) {
+            return alternateField;
+        }
+        return defaultField;
+    }
+
+    /**
+     * Ensure that each field is within its valid range by calling {@link
+     * #validateField(int)} on each field that has been set.  This method
+     * should only be called if this calendar is not lenient.
+     * @see #isLenient
+     * @see #validateField(int)
+     * @stable ICU 2.0
+     */
+    protected void validateFields() {
+        for (int field = 0; field < fields.length; field++) {
+            if (isSet(field)) {
+                validateField(field);
+            }
+        }
+    }
+
+    /**
+     * Validate a single field of this calendar.  Subclasses should
+     * override this method to validate any calendar-specific fields.
+     * Generic fields can be handled by
+     * <code>Calendar.validateField()</code>.
+     * @see #validateField(int, int, int)
+     * @stable ICU 2.0
+     */
+    protected void validateField(int field) {
+        int y;
+        switch (field) {
+        case DAY_OF_MONTH:
+            y = handleGetExtendedYear();
+            validateField(field, 1, handleGetMonthLength(y, internalGet(MONTH)));
+            break;
+        case DAY_OF_YEAR:
+            y = handleGetExtendedYear();
+            validateField(field, 1, handleGetYearLength(y));
+            break;
+        case DAY_OF_WEEK_IN_MONTH:
+            if (internalGet(field) == 0) {
+                throw new IllegalArgumentException("DAY_OF_WEEK_IN_MONTH cannot be zero");
+            }
+            validateField(field, getMinimum(field), getMaximum(field));
+            break;
+        default:
+            validateField(field, getMinimum(field), getMaximum(field));
+            break;
+        }
+    }
+
+    /**
+     * Validate a single field of this calendar given its minimum and
+     * maximum allowed value.  If the field is out of range, throw a
+     * descriptive <code>IllegalArgumentException</code>.  Subclasses may
+     * use this method in their implementation of {@link
+     * #validateField(int)}.
+     * @stable ICU 2.0
+     */
+    protected final void validateField(int field, int min, int max) {
+        int value = fields[field];
+        if (value < min || value > max) {
+            throw new IllegalArgumentException(fieldName(field) +
+                                               '=' + value + ", valid range=" +
+                                               min + ".." + max);
+        }
+    }
+
+    /**
+     * Converts the current field values in <code>fields[]</code> to the
+     * millisecond time value <code>time</code>.
+     * @stable ICU 2.0
+     */
+   protected void computeTime() {
+        if (!isLenient()) {
+            validateFields();
+        }
+
+        // Compute the Julian day
+        int julianDay = computeJulianDay();
+
+        long millis = julianDayToMillis(julianDay);
+
+        int millisInDay;
+
+        // We only use MILLISECONDS_IN_DAY if it has been set by the user.
+        // This makes it possible for the caller to set the calendar to a
+        // time and call clear(MONTH) to reset the MONTH to January.  This
+        // is legacy behavior.  Without this, clear(MONTH) has no effect,
+        // since the internally set JULIAN_DAY is used.
+        if (stamp[MILLISECONDS_IN_DAY] >= MINIMUM_USER_STAMP &&
+            newestStamp(AM_PM, MILLISECOND, UNSET) <= stamp[MILLISECONDS_IN_DAY]) {
+            millisInDay = internalGet(MILLISECONDS_IN_DAY);
+        } else {
+            millisInDay = computeMillisInDay();
+        }
+
+        // Compute the time zone offset and DST offset.  There are two potential
+        // ambiguities here.  We'll assume a 2:00 am (wall time) switchover time
+        // for discussion purposes here.
+        // 1. The transition into DST.  Here, a designated time of 2:00 am - 2:59 am
+        //    can be in standard or in DST depending.  However, 2:00 am is an invalid
+        //    representation (the representation jumps from 1:59:59 am Std to 3:00:00 am DST).
+        //    We assume standard time.
+        // 2. The transition out of DST.  Here, a designated time of 1:00 am - 1:59 am
+        //    can be in standard or DST.  Both are valid representations (the rep
+        //    jumps from 1:59:59 DST to 1:00:00 Std).
+        //    Again, we assume standard time.
+        // We use the TimeZone object, unless the user has explicitly set the ZONE_OFFSET
+        // or DST_OFFSET fields; then we use those fields.
+        if (stamp[ZONE_OFFSET] >= MINIMUM_USER_STAMP ||
+            stamp[DST_OFFSET] >= MINIMUM_USER_STAMP) {
+            millisInDay -= internalGet(ZONE_OFFSET) + internalGet(DST_OFFSET);
+        } else {
+            millisInDay -= computeZoneOffset(millis, millisInDay);
+        }
+
+        time = millis + millisInDay;
+    }
+
+    /**
+     * Compute the milliseconds in the day from the fields.  This is a
+     * value from 0 to 23:59:59.999 inclusive, unless fields are out of
+     * range, in which case it can be an arbitrary value.  This value
+     * reflects local zone wall time.
+     * @stable ICU 2.0
+     */
+    protected int computeMillisInDay() {
+        // Do the time portion of the conversion.
+
+        int millisInDay = 0;
+
+        // Find the best set of fields specifying the time of day.  There
+        // are only two possibilities here; the HOUR_OF_DAY or the
+        // AM_PM and the HOUR.
+        int hourOfDayStamp = stamp[HOUR_OF_DAY];
+        int hourStamp = Math.max(stamp[HOUR], stamp[AM_PM]);
+        int bestStamp = (hourStamp > hourOfDayStamp) ? hourStamp : hourOfDayStamp;
+
+        // Hours
+        if (bestStamp != UNSET) {
+            if (bestStamp == hourOfDayStamp) {
+                // Don't normalize here; let overflow bump into the next period.
+                // This is consistent with how we handle other fields.
+                millisInDay += internalGet(HOUR_OF_DAY);
+            } else {
+                // Don't normalize here; let overflow bump into the next period.
+                // This is consistent with how we handle other fields.
+                millisInDay += internalGet(HOUR);
+                millisInDay += 12 * internalGet(AM_PM); // Default works for unset AM_PM
+            }
+        }
+
+        // We use the fact that unset == 0; we start with millisInDay
+        // == HOUR_OF_DAY.
+        millisInDay *= 60;
+        millisInDay += internalGet(MINUTE); // now have minutes
+        millisInDay *= 60;
+        millisInDay += internalGet(SECOND); // now have seconds
+        millisInDay *= 1000;
+        millisInDay += internalGet(MILLISECOND); // now have millis
+
+        return millisInDay;
+    }
+
+    /**
+     * This method can assume EXTENDED_YEAR has been set.
+     * @param millis milliseconds of the date fields (local midnight millis)
+     * @param millisInDay milliseconds of the time fields; may be out
+     * or range.
+     * @return total zone offset (raw + DST) for the given moment
+     * @stable ICU 2.0
+     */
+    protected int computeZoneOffset(long millis, int millisInDay) {
+        int offsets[] = new int[2];
+        zone.getOffset(millis + millisInDay, true, offsets);
+        return offsets[0] + offsets[1];
+
+        // Note: Because we pass in wall millisInDay, rather than
+        // standard millisInDay, we interpret "1:00 am" on the day
+        // of cessation of DST as "1:00 am Std" (assuming the time
+        // of cessation is 2:00 am).
+    }
+
+    /**
+     * Compute the Julian day number as specified by this calendar's fields.
+     * @stable ICU 2.0
+     */
+    protected int computeJulianDay() {
+
+        // We want to see if any of the date fields is newer than the
+        // JULIAN_DAY.  If not, then we use JULIAN_DAY.  If so, then we do
+        // the normal resolution.  We only use JULIAN_DAY if it has been
+        // set by the user.  This makes it possible for the caller to set
+        // the calendar to a time and call clear(MONTH) to reset the MONTH
+        // to January.  This is legacy behavior.  Without this,
+        // clear(MONTH) has no effect, since the internally set JULIAN_DAY
+        // is used.
+        if (stamp[JULIAN_DAY] >= MINIMUM_USER_STAMP) {
+            int bestStamp = newestStamp(ERA, DAY_OF_WEEK_IN_MONTH, UNSET);
+            bestStamp = newestStamp(YEAR_WOY, EXTENDED_YEAR, bestStamp);
+            if (bestStamp <= stamp[JULIAN_DAY]) {
+                return internalGet(JULIAN_DAY);
+            }
+        }
+
+        int bestField = resolveFields(getFieldResolutionTable());
+        if (bestField < 0) {
+            bestField = DAY_OF_MONTH;
+        }
+
+        return handleComputeJulianDay(bestField);
+    }
+
+    /**
+     * Return the field resolution array for this calendar.  Calendars that
+     * define additional fields or change the semantics of existing fields
+     * should override this method to adjust the field resolution semantics
+     * accordingly.  Other subclasses should not override this method.
+     * @see #resolveFields
+     * @stable ICU 2.0
+     */
+    protected int[][][] getFieldResolutionTable() {
+        return DATE_PRECEDENCE;
+    }
+
+    /**
+     * Return the Julian day number of day before the first day of the
+     * given month in the given extended year.  Subclasses should override
+     * this method to implement their calendar system.
+     * @param eyear the extended year
+     * @param month the zero-based month, or 0 if useMonth is false
+     * @param useMonth if false, compute the day before the first day of
+     * the given year, otherwise, compute the day before the first day of
+     * the given month
+     * @return the Julian day number of the day before the first
+     * day of the given month and year
+     * @stable ICU 2.0
+     */
+    abstract protected int handleComputeMonthStart(int eyear, int month,
+                                                   boolean useMonth);
+
+    /**
+     * Return the extended year defined by the current fields.  This will
+     * use the EXTENDED_YEAR field or the YEAR and supra-year fields (such
+     * as ERA) specific to the calendar system, depending on which set of
+     * fields is newer.
+     * @return the extended year
+     * @stable ICU 2.0
+     */
+    abstract protected int handleGetExtendedYear();
+
+    // (The following method is not called because all existing subclasses
+    // override it.  2003-06-11 ICU 2.6 Alan)
+    ///CLOVER:OFF
+    /**
+     * Return the number of days in the given month of the given extended
+     * year of this calendar system.  Subclasses should override this
+     * method if they can provide a more correct or more efficient
+     * implementation than the default implementation in Calendar.
+     * @stable ICU 2.0
+     */
+    protected int handleGetMonthLength(int extendedYear, int month) {
+        return handleComputeMonthStart(extendedYear, month+1, true) -
+               handleComputeMonthStart(extendedYear, month, true);
+    }
+    ///CLOVER:ON
+
+    /**
+     * Return the number of days in the given extended year of this
+     * calendar system.  Subclasses should override this method if they can
+     * provide a more correct or more efficient implementation than the
+     * default implementation in Calendar.
+     * @stable ICU 2.0
+     */
+    protected int handleGetYearLength(int eyear) {
+        return handleComputeMonthStart(eyear+1, 0, false) -
+               handleComputeMonthStart(eyear, 0, false);
+    }
+
+    /**
+     * Subclasses that use additional fields beyond those defined in
+     * <code>Calendar</code> should override this method to return an
+     * <code>int[]</code> array of the appropriate length.  The length
+     * must be at least <code>BASE_FIELD_COUNT</code> and no more than
+     * <code>MAX_FIELD_COUNT</code>.
+     * @stable ICU 2.0
+     */
+    protected int[] handleCreateFields() {
+        return new int[BASE_FIELD_COUNT];
+    }
+
+    /**
+     * Subclasses may override this.  This method calls
+     * handleGetMonthLength() to obtain the calendar-specific month
+     * length.
+     * @stable ICU 2.0
+     */
+    protected int handleComputeJulianDay(int bestField) {
+
+        boolean useMonth = (bestField == DAY_OF_MONTH ||
+                            bestField == WEEK_OF_MONTH ||
+                            bestField == DAY_OF_WEEK_IN_MONTH);
+
+        int year = handleGetExtendedYear();
+        internalSet(EXTENDED_YEAR, year);
+
+        // Get the Julian day of the day BEFORE the start of this year.
+        // If useMonth is true, get the day before the start of the month.
+        int julianDay = handleComputeMonthStart(year, useMonth ? internalGet(MONTH) : 0, useMonth);
+
+        if (bestField == DAY_OF_MONTH) {
+            return julianDay + internalGet(DAY_OF_MONTH, 1);
+        }
+
+        if (bestField == DAY_OF_YEAR) {
+            return julianDay + internalGet(DAY_OF_YEAR);
+        }
+
+        int firstDayOfWeek = getFirstDayOfWeek(); // Localized fdw
+
+        // At this point julianDay is the 0-based day BEFORE the first day of
+        // January 1, year 1 of the given calendar.  If julianDay == 0, it
+        // specifies (Jan. 1, 1) - 1, in whatever calendar we are using (Julian
+        // or Gregorian).
+
+        // At this point we need to process the WEEK_OF_MONTH or
+        // WEEK_OF_YEAR, which are similar, or the DAY_OF_WEEK_IN_MONTH.
+        // First, perform initial shared computations.  These locate the
+        // first week of the period.
+
+        // Get the 0-based localized DOW of day one of the month or year.
+        // Valid range 0..6.
+        int first = julianDayToDayOfWeek(julianDay + 1) - firstDayOfWeek;
+        if (first < 0) {
+            first += 7;
+        }
+
+        // Get zero-based localized DOW, valid range 0..6.  This is the DOW
+        // we are looking for.
+        int dowLocal = 0;
+        switch (resolveFields(DOW_PRECEDENCE)) {
+        case DAY_OF_WEEK:
+            dowLocal = internalGet(DAY_OF_WEEK) - firstDayOfWeek;
+            break;
+        case DOW_LOCAL:
+            dowLocal = internalGet(DOW_LOCAL) - 1;
+            break;
+        }
+        dowLocal = dowLocal % 7;
+        if (dowLocal < 0) {
+            dowLocal += 7;
+        }
+
+        // Find the first target DOW (dowLocal) in the month or year.
+        // Actually, it may be just before the first of the month or year.
+        // It will be an integer from -5..7.
+        int date = 1 - first + dowLocal;
+
+        if (bestField == DAY_OF_WEEK_IN_MONTH) {
+
+            // Adjust the target DOW to be in the month or year.
+            if (date < 1) {
+                date += 7;
+            }
+
+            // The only trickiness occurs if the day-of-week-in-month is
+            // negative.
+            int dim = internalGet(DAY_OF_WEEK_IN_MONTH, 1);
+            if (dim >= 0) {
+                date += 7*(dim - 1);
+
+            } else {
+                // Move date to the last of this day-of-week in this month,
+                // then back up as needed.  If dim==-1, we don't back up at
+                // all.  If dim==-2, we back up once, etc.  Don't back up
+                // past the first of the given day-of-week in this month.
+                // Note that we handle -2, -3, etc. correctly, even though
+                // values < -1 are technically disallowed.
+                int m = internalGet(MONTH, JANUARY);
+                int monthLength = handleGetMonthLength(year, m);
+                date += ((monthLength - date) / 7 + dim + 1) * 7;
+            }
+        } else {
+            // assert(bestField == WEEK_OF_MONTH || bestField == WEEK_OF_YEAR)
+
+            // Adjust for minimal days in first week
+            if ((7 - first) < getMinimalDaysInFirstWeek()) {
+                date += 7;
+            }
+
+            // Now adjust for the week number.
+            date += 7 * (internalGet(bestField) - 1);
+        }
+
+        return julianDay + date;
+    }
+
+    /**
+     * Compute the Julian day of a month of the Gregorian calendar.
+     * Subclasses may call this method to perform a Gregorian calendar
+     * fields->millis computation.  To perform a Gregorian calendar
+     * millis->fields computation, call computeGregorianFields().
+     * @param year extended Gregorian year
+     * @param month zero-based Gregorian month
+     * @return the Julian day number of the day before the first
+     * day of the given month in the given extended year
+     * @see #computeGregorianFields
+     * @stable ICU 2.0
+     */
+    protected int computeGregorianMonthStart(int year, int month) {
+
+        // If the month is out of range, adjust it into range, and
+        // modify the extended year value accordingly.
+        if (month < 0 || month > 11) {
+            int[] rem = new int[1];
+            year += floorDivide(month, 12, rem);
+            month = rem[0];
+        }
+
+        boolean isLeap = (year%4 == 0) && ((year%100 != 0) || (year%400 == 0));
+        int y = year - 1;
+        // This computation is actually ... + (JAN_1_1_JULIAN_DAY - 3) + 2.
+        // Add 2 because Gregorian calendar starts 2 days after Julian
+        // calendar.
+        int julianDay = 365*y + floorDivide(y, 4) - floorDivide(y, 100) +
+            floorDivide(y, 400) + JAN_1_1_JULIAN_DAY - 1;
+
+        // At this point julianDay indicates the day BEFORE the first day
+        // of January 1, <eyear> of the Gregorian calendar.
+        if (month != 0) {
+            julianDay += GREGORIAN_MONTH_COUNT[month][isLeap?3:2];
+        }
+
+        return julianDay;
+    }
+
+    //----------------------------------------------------------------------
+    // Subclass API
+    // For subclasses to override
+    //----------------------------------------------------------------------
+
+    // (The following method is not called because all existing subclasses
+    // override it.  2003-06-11 ICU 2.6 Alan)
+    ///CLOVER:OFF
+    /**
+     * Subclasses may override this method to compute several fields
+     * specific to each calendar system.  These are:
+     *
+     * <ul><li>ERA
+     * <li>YEAR
+     * <li>MONTH
+     * <li>DAY_OF_MONTH
+     * <li>DAY_OF_YEAR
+     * <li>EXTENDED_YEAR</ul>
+     *
+     * Subclasses can refer to the DAY_OF_WEEK and DOW_LOCAL fields, which
+     * will be set when this method is called.  Subclasses can also call
+     * the getGregorianXxx() methods to obtain Gregorian calendar
+     * equivalents for the given Julian day.
+     *
+     * <p>In addition, subclasses should compute any subclass-specific
+     * fields, that is, fields from BASE_FIELD_COUNT to
+     * getFieldCount() - 1.
+     *
+     * <p>The default implementation in <code>Calendar</code> implements
+     * a pure proleptic Gregorian calendar.
+     * @stable ICU 2.0
+     */
+    protected void handleComputeFields(int julianDay) {
+        internalSet(MONTH, getGregorianMonth());
+        internalSet(DAY_OF_MONTH, getGregorianDayOfMonth());
+        internalSet(DAY_OF_YEAR, getGregorianDayOfYear());
+        int eyear = getGregorianYear();
+        internalSet(EXTENDED_YEAR, eyear);
+        int era = GregorianCalendar.AD;
+        if (eyear < 1) {
+            era = GregorianCalendar.BC;
+            eyear = 1 - eyear;
+        }
+        internalSet(ERA, era);
+        internalSet(YEAR, eyear);
+    }
+    ///CLOVER:ON
+
+    //----------------------------------------------------------------------
+    // Subclass API
+    // For subclasses to call
+    //----------------------------------------------------------------------
+
+    /**
+     * Return the extended year on the Gregorian calendar as computed by
+     * <code>computeGregorianFields()</code>.
+     * @see #computeGregorianFields
+     * @stable ICU 2.0
+     */
+    protected final int getGregorianYear() {
+        return gregorianYear;
+    }
+
+    /**
+     * Return the month (0-based) on the Gregorian calendar as computed by
+     * <code>computeGregorianFields()</code>.
+     * @see #computeGregorianFields
+     * @stable ICU 2.0
+     */
+    protected final int getGregorianMonth() {
+        return gregorianMonth;
+    }
+
+    /**
+     * Return the day of year (1-based) on the Gregorian calendar as
+     * computed by <code>computeGregorianFields()</code>.
+     * @see #computeGregorianFields
+     * @stable ICU 2.0
+     */
+    protected final int getGregorianDayOfYear() {
+        return gregorianDayOfYear;
+    }
+
+    /**
+     * Return the day of month (1-based) on the Gregorian calendar as
+     * computed by <code>computeGregorianFields()</code>.
+     * @see #computeGregorianFields
+     * @stable ICU 2.0
+     */
+    protected final int getGregorianDayOfMonth() {
+        return gregorianDayOfMonth;
+    }
+
+    /**
+     * Return the number of fields defined by this calendar.  Valid field
+     * arguments to <code>set()</code> and <code>get()</code> are
+     * <code>0..getFieldCount()-1</code>.
+     * @stable ICU 2.0
+     */
+    public final int getFieldCount() {
+        return fields.length;
+    }
+
+    /**
+     * Set a field to a value.  Subclasses should use this method when
+     * computing fields.  It sets the time stamp in the
+     * <code>stamp[]</code> array to <code>INTERNALLY_SET</code>.  If a
+     * field that may not be set by subclasses is passed in, an
+     * <code>IllegalArgumentException</code> is thrown.  This prevents
+     * subclasses from modifying fields that are intended to be
+     * calendar-system invariant.
+     * @stable ICU 2.0
+     */
+    protected final void internalSet(int field, int value) {
+        if (((1 << field) & internalSetMask) == 0) {
+            throw new InternalError("Subclass cannot set " +
+                                               fieldName(field));
+        }
+        fields[field] = value;
+        stamp[field] = INTERNALLY_SET;
+    }
+
+    private static final int[][] GREGORIAN_MONTH_COUNT = {
+        //len len2   st  st2
+        {  31,  31,   0,   0 }, // Jan
+        {  28,  29,  31,  31 }, // Feb
+        {  31,  31,  59,  60 }, // Mar
+        {  30,  30,  90,  91 }, // Apr
+        {  31,  31, 120, 121 }, // May
+        {  30,  30, 151, 152 }, // Jun
+        {  31,  31, 181, 182 }, // Jul
+        {  31,  31, 212, 213 }, // Aug
+        {  30,  30, 243, 244 }, // Sep
+        {  31,  31, 273, 274 }, // Oct
+        {  30,  30, 304, 305 }, // Nov
+        {  31,  31, 334, 335 }  // Dec
+        // len  length of month
+        // len2 length of month in a leap year
+        // st   days in year before start of month
+        // st2  days in year before month in leap year
+    };
+
+    /**
+     * Determines if the given year is a leap year. Returns true if the
+     * given year is a leap year.
+     * @param year the given year.
+     * @return true if the given year is a leap year; false otherwise.
+     * @stable ICU 2.0
+     */
+    protected static final boolean isGregorianLeapYear(int year) {
+        return (year%4 == 0) && ((year%100 != 0) || (year%400 == 0));
+    }
+
+    /**
+     * Return the length of a month of the Gregorian calendar.
+     * @param y the extended year
+     * @param m the 0-based month number
+     * @return the number of days in the given month
+     * @stable ICU 2.0
+     */
+    protected static final int gregorianMonthLength(int y, int m) {
+        return GREGORIAN_MONTH_COUNT[m][isGregorianLeapYear(y)?1:0];
+    }
+
+    /**
+     * Return the length of a previous month of the Gregorian calendar.
+     * @param y the extended year
+     * @param m the 0-based month number
+     * @return the number of days in the month previous to the given month
+     * @stable ICU 2.0
+     */
+    protected static final int gregorianPreviousMonthLength(int y, int m) {
+        return (m > 0) ? gregorianMonthLength(y, m-1) : 31;
+    }
+
+    /**
+     * Divide two long integers, returning the floor of the quotient.
+     * <p>
+     * Unlike the built-in division, this is mathematically well-behaved.
+     * E.g., <code>-1/4</code> => 0
+     * but <code>floorDivide(-1,4)</code> => -1.
+     * @param numerator the numerator
+     * @param denominator a divisor which must be > 0
+     * @return the floor of the quotient.
+     * @stable ICU 2.0
+     */
+    protected static final long floorDivide(long numerator, long denominator) {
+        // We do this computation in order to handle
+        // a numerator of Long.MIN_VALUE correctly
+        return (numerator >= 0) ?
+            numerator / denominator :
+            ((numerator + 1) / denominator) - 1;
+    }
+
+    /**
+     * Divide two integers, returning the floor of the quotient.
+     * <p>
+     * Unlike the built-in division, this is mathematically well-behaved.
+     * E.g., <code>-1/4</code> => 0
+     * but <code>floorDivide(-1,4)</code> => -1.
+     * @param numerator the numerator
+     * @param denominator a divisor which must be > 0
+     * @return the floor of the quotient.
+     * @stable ICU 2.0
+     */
+    protected static final int floorDivide(int numerator, int denominator) {
+        // We do this computation in order to handle
+        // a numerator of Integer.MIN_VALUE correctly
+        return (numerator >= 0) ?
+            numerator / denominator :
+            ((numerator + 1) / denominator) - 1;
+    }
+
+    /**
+     * Divide two integers, returning the floor of the quotient, and
+     * the modulus remainder.
+     * <p>
+     * Unlike the built-in division, this is mathematically well-behaved.
+     * E.g., <code>-1/4</code> => 0 and <code>-1%4</code> => -1,
+     * but <code>floorDivide(-1,4)</code> => -1 with <code>remainder[0]</code> => 3.
+     * @param numerator the numerator
+     * @param denominator a divisor which must be > 0
+     * @param remainder an array of at least one element in which the value
+     * <code>numerator mod denominator</code> is returned. Unlike <code>numerator
+     * % denominator</code>, this will always be non-negative.
+     * @return the floor of the quotient.
+     * @stable ICU 2.0
+     */
+    protected static final int floorDivide(int numerator, int denominator, int[] remainder) {
+        if (numerator >= 0) {
+            remainder[0] = numerator % denominator;
+            return numerator / denominator;
+        }
+    int quotient = ((numerator + 1) / denominator) - 1;
+        remainder[0] = numerator - (quotient * denominator);
+        return quotient;
+    }
+
+    /**
+     * Divide two integers, returning the floor of the quotient, and
+     * the modulus remainder.
+     * <p>
+     * Unlike the built-in division, this is mathematically well-behaved.
+     * E.g., <code>-1/4</code> => 0 and <code>-1%4</code> => -1,
+     * but <code>floorDivide(-1,4)</code> => -1 with <code>remainder[0]</code> => 3.
+     * @param numerator the numerator
+     * @param denominator a divisor which must be > 0
+     * @param remainder an array of at least one element in which the value
+     * <code>numerator mod denominator</code> is returned. Unlike <code>numerator
+     * % denominator</code>, this will always be non-negative.
+     * @return the floor of the quotient.
+     * @stable ICU 2.0
+     */
+    protected static final int floorDivide(long numerator, int denominator, int[] remainder) {
+        if (numerator >= 0) {
+            remainder[0] = (int)(numerator % denominator);
+            return (int)(numerator / denominator);
+        }
+        int quotient = (int)(((numerator + 1) / denominator) - 1);
+        remainder[0] = (int)(numerator - (quotient * denominator));
+        return quotient;
+    }
+
+    private static final String[] FIELD_NAME = {
+        "ERA", "YEAR", "MONTH", "WEEK_OF_YEAR", "WEEK_OF_MONTH",
+        "DAY_OF_MONTH", "DAY_OF_YEAR", "DAY_OF_WEEK",
+        "DAY_OF_WEEK_IN_MONTH", "AM_PM", "HOUR", "HOUR_OF_DAY",
+        "MINUTE", "SECOND", "MILLISECOND", "ZONE_OFFSET",
+        "DST_OFFSET", "YEAR_WOY", "DOW_LOCAL", "EXTENDED_YEAR",
+        "JULIAN_DAY", "MILLISECONDS_IN_DAY",
+    };
+
+    /**
+     * Return a string name for a field, for debugging and exceptions.
+     * @stable ICU 2.0
+     */
+    protected String fieldName(int field) {
+        try {
+            return FIELD_NAME[field];
+        } catch (ArrayIndexOutOfBoundsException e) {
+            return "Field " + field;
+        }
+    }
+
+    /**
+     * Converts time as milliseconds to Julian day.
+     * @param millis the given milliseconds.
+     * @return the Julian day number.
+     * @stable ICU 2.0
+     */
+    protected static final int millisToJulianDay(long millis) {
+        return (int) (EPOCH_JULIAN_DAY + floorDivide(millis, ONE_DAY));
+    }
+
+    /**
+     * Converts Julian day to time as milliseconds.
+     * @param julian the given Julian day number.
+     * @return time as milliseconds.
+     * @stable ICU 2.0
+     */
+    protected static final long julianDayToMillis(int julian) {
+        return (julian - EPOCH_JULIAN_DAY) * ONE_DAY;
+    }
+
+    /**
+     * Return the day of week, from SUNDAY to SATURDAY, given a Julian day.
+     * @stable ICU 2.0
+     */
+    protected static final int julianDayToDayOfWeek(int julian) {
+        // If julian is negative, then julian%7 will be negative, so we adjust
+        // accordingly.  Julian day 0 is Monday.
+        int dayOfWeek = (julian + MONDAY) % 7;
+        if (dayOfWeek < SUNDAY) {
+            dayOfWeek += 7;
+        }
+        return dayOfWeek;
+    }
+
+    /**
+     * Return the current milliseconds without recomputing.
+     * @stable ICU 2.0
+     */
+    protected final long internalGetTimeInMillis() {
+        return time;
+    }
+    
+    /**
+     * Return the current Calendar type.
+     * Note, in 3.0 this function will return 'gregorian' in Calendar to emulate legacy behavior
+     * @return type of calendar (gregorian, etc)
+     * @internal ICU 3.0
+     */
+    public String getType() {
+        return "gregorian";
+    }
+    
+    // -------- BEGIN ULocale boilerplate --------
+
+    /**
+     * Return the locale that was used to create this object, or null.
+     * This may may differ from the locale requested at the time of
+     * this object's creation.  For example, if an object is created
+     * for locale <tt>en_US_CALIFORNIA</tt>, the actual data may be
+     * drawn from <tt>en</tt> (the <i>actual</i> locale), and
+     * <tt>en_US</tt> may be the most specific locale that exists (the
+     * <i>valid</i> locale).
+     *
+     * <p>Note: This method will be implemented in ICU 3.0; ICU 2.8
+     * contains a partial preview implementation.  The * <i>actual</i>
+     * locale is returned correctly, but the <i>valid</i> locale is
+     * not, in most cases.
+     * @param type type of information requested, either {@link
+     * com.ibm.icu.util.ULocale#VALID_LOCALE} or {@link
+     * com.ibm.icu.util.ULocale#ACTUAL_LOCALE}.
+     * @return the information specified by <i>type</i>, or null if
+     * this object was not constructed from locale data.
+     * @see com.ibm.icu.util.ULocale
+     * @see com.ibm.icu.util.ULocale#VALID_LOCALE
+     * @see com.ibm.icu.util.ULocale#ACTUAL_LOCALE
+     * @draft ICU 2.8 (retain)
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public final ULocale getLocale(ULocale.Type type) {
+        return type == ULocale.ACTUAL_LOCALE ?
+            this.actualLocale : this.validLocale;
+    }
+
+    /**
+     * Set information about the locales that were used to create this
+     * object.  If the object was not constructed from locale data,
+     * both arguments should be set to null.  Otherwise, neither
+     * should be null.  The actual locale must be at the same level or
+     * less specific than the valid locale.  This method is intended
+     * for use by factories or other entities that create objects of
+     * this class.
+     * @param valid the most specific locale containing any resource
+     * data, or null
+     * @param actual the locale containing data used to construct this
+     * object, or null
+     * @see com.ibm.icu.util.ULocale
+     * @see com.ibm.icu.util.ULocale#VALID_LOCALE
+     * @see com.ibm.icu.util.ULocale#ACTUAL_LOCALE
+     * @internal
+     */
+    final void setLocale(ULocale valid, ULocale actual) {
+        // Change the following to an assertion later
+        if ((valid == null) != (actual == null)) {
+            ///CLOVER:OFF
+            throw new IllegalArgumentException();
+            ///CLOVER:ON
+        }
+        // Another check we could do is that the actual locale is at
+        // the same level or less specific than the valid locale.
+        this.validLocale = valid;
+        this.actualLocale = actual;
+    }
+
+    /**
+     * The most specific locale containing any resource data, or null.
+     * @see com.ibm.icu.util.ULocale
+     * @internal
+     */
+    private ULocale validLocale;
+
+    /**
+     * The locale containing data used to construct this object, or
+     * null.
+     * @see com.ibm.icu.util.ULocale
+     * @internal
+     */
+    private ULocale actualLocale;
+
+    // -------- END ULocale boilerplate --------
+}
+
diff --git a/src/com/ibm/icu/util/CalendarFactory.java b/src/com/ibm/icu/util/CalendarFactory.java
new file mode 100644
index 0000000..44652a1
--- /dev/null
+++ b/src/com/ibm/icu/util/CalendarFactory.java
@@ -0,0 +1,18 @@
+/**
+*******************************************************************************
+* Copyright (C) 2002-2004, International Business Machines Corporation and    *
+* others. All Rights Reserved.                                                *
+*******************************************************************************
+*/
+package com.ibm.icu.util;
+
+import com.ibm.icu.util.TimeZone;
+import java.util.Locale;
+/**
+ * @prototype
+ */
+interface CalendarFactory {
+    public Calendar create(TimeZone tz, ULocale loc);
+    public String factoryName();
+}
+        
diff --git a/src/com/ibm/icu/util/CaseInsensitiveString.java b/src/com/ibm/icu/util/CaseInsensitiveString.java
new file mode 100755
index 0000000..498a24b
--- /dev/null
+++ b/src/com/ibm/icu/util/CaseInsensitiveString.java
@@ -0,0 +1,66 @@
+/**
+ *******************************************************************************
+ * Copyright (C) 2001-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.util;
+
+import com.ibm.icu.lang.UCharacter;
+
+/**
+ * A string used as a key in java.util.Hashtable and other
+ * collections.  It retains case information, but its equals() and
+ * hashCode() methods ignore case.
+ * @stable ICU 2.0
+ */
+public class CaseInsensitiveString {
+    
+    private String string;
+
+    private int hash = 0;
+    /**
+     * Constructs an CaseInsentiveString object from the given string
+     * @param s The string to construct this object from 
+     * @stable ICU 2.0
+     */
+    public CaseInsensitiveString(String s) {
+        string = s;
+    }
+    /**
+     * returns the underlying string 
+     * @return String
+     * @stable ICU 2.0
+     */
+    public String getString() {
+        return string;
+    }
+    /**
+     * Compare the object with this 
+     * @param o Object to compare this object with 
+     * @stable ICU 2.0
+     */
+    public boolean equals(Object o) {
+        try {
+            return string.equalsIgnoreCase(((CaseInsensitiveString)o).string);
+        } catch (ClassCastException e) {
+            try {
+                return string.equalsIgnoreCase((String)o);
+            } catch (ClassCastException e2) {
+                return false;
+            }
+        }
+    }
+    
+    /**
+     * Returns the hashCode of this object
+     * @return int hashcode
+     * @stable ICU 2.0
+     */
+    public int hashCode() {
+        if (hash == 0) {
+            hash = UCharacter.foldCase(string, true).hashCode();
+        }
+        return hash;
+    }
+}
diff --git a/src/com/ibm/icu/util/ChineseCalendar.java b/src/com/ibm/icu/util/ChineseCalendar.java
new file mode 100755
index 0000000..022d48a
--- /dev/null
+++ b/src/com/ibm/icu/util/ChineseCalendar.java
@@ -0,0 +1,849 @@
+/*********************************************************************
+ * Copyright (C) 2000-2005, International Business Machines Corporation and
+ * others. All Rights Reserved.
+ *********************************************************************
+ */
+package com.ibm.icu.util;
+import com.ibm.icu.text.*;
+import com.ibm.icu.util.TimeZone;
+import com.ibm.icu.impl.CalendarAstronomer;
+import com.ibm.icu.impl.CalendarCache;
+import java.util.Locale;
+
+/**
+ * <code>ChineseCalendar</code> is a concrete subclass of {@link Calendar}
+ * that implements a traditional Chinese calendar.  The traditional Chinese
+ * calendar is a lunisolar calendar: Each month starts on a new moon, and
+ * the months are numbered according to solar events, specifically, to
+ * guarantee that month 11 always contains the winter solstice.  In order
+ * to accomplish this, leap months are inserted in certain years.  Leap
+ * months are numbered the same as the month they follow.  The decision of
+ * which month is a leap month depends on the relative movements of the sun
+ * and moon.
+ *
+ * <p>This class defines one addition field beyond those defined by
+ * <code>Calendar</code>: The <code>IS_LEAP_MONTH</code> field takes the
+ * value of 0 for normal months, or 1 for leap months.
+ *
+ * <p>All astronomical computations are performed with respect to a time
+ * zone of GMT+8:00 and a longitude of 120 degrees east.  Although some
+ * calendars implement a historically more accurate convention of using
+ * Beijing's local longitude (116 degrees 25 minutes east) and time zone
+ * (GMT+7:45:40) for dates before 1929, we do not implement this here.
+ *
+ * <p>Years are counted in two different ways in the Chinese calendar.  The
+ * first method is by sequential numbering from the 61st year of the reign
+ * of Huang Di, 2637 BCE, which is designated year 1 on the Chinese
+ * calendar.  The second method uses 60-year cycles from the same starting
+ * point, which is designated year 1 of cycle 1.  In this class, the
+ * <code>EXTENDED_YEAR</code> field contains the sequential year count.
+ * The <code>ERA</code> field contains the cycle number, and the
+ * <code>YEAR</code> field contains the year of the cycle, a value between
+ * 1 and 60.
+ *
+ * <p>There is some variation in what is considered the starting point of
+ * the calendar, with some sources starting in the first year of the reign
+ * of Huang Di, rather than the 61st.  This gives continuous year numbers
+ * 60 years greater and cycle numbers one greater than what this class
+ * implements.
+ *
+ * <p>Because <code>ChineseCalendar</code> defines an additional field and
+ * redefines the way the <code>ERA</code> field is used, it requires a new
+ * format class, <code>ChineseDateFormat</code>.  As always, use the
+ * methods <code>DateFormat.getXxxInstance(Calendar cal,...)</code> to
+ * obtain a formatter for this calendar.
+ *
+ * <p>References:<ul>
+ * 
+ * <li>Dershowitz and Reingold, <i>Calendrical Calculations</i>,
+ * Cambridge University Press, 1997</li>
+ * 
+ * <li>Helmer Aslaksen's
+ * <a href="http://www.math.nus.edu.sg/aslaksen/calendar/chinese.shtml">
+ * Chinese Calendar page</a></li>
+ *
+ * <li>The <a href="http://www.tondering.dk/claus/calendar.html">
+ * Calendar FAQ</a></li>
+ *
+ * </ul>
+ *
+ * <p>
+ * This class should not be subclassed.</p>
+ * <p>
+ * ChineseCalendar usually should be instantiated using 
+ * {@link com.ibm.icu.util.Calendar#getInstance(ULocale)} passing in a <code>ULocale</code>
+ * with the tag <code>"@calendar=chinese"</code>.</p>
+ *
+ * @see com.ibm.icu.text.ChineseDateFormat
+ * @see com.ibm.icu.util.Calendar
+ * @author Alan Liu
+ * @stable ICU 2.8
+ */
+public class ChineseCalendar extends Calendar {
+    // jdk1.4.2 serialver
+    private static final long serialVersionUID = 7312110751940929420L;
+
+    //------------------------------------------------------------------
+    // Developer Notes
+    // 
+    // Time is represented as a scalar in two ways in this class.  One is
+    // the usual UTC epoch millis, that is, milliseconds after January 1,
+    // 1970 Gregorian, 0:00:00.000 UTC.  The other is in terms of 'local
+    // days.'  This is the number of days after January 1, 1970 Gregorian,
+    // local to Beijing, China (since all computations of the Chinese
+    // calendar are done in Beijing).  That is, 0 represents January 1,
+    // 1970 0:00 Asia/Shanghai.  Conversion of local days to and from
+    // standard epoch milliseconds is accomplished by the daysToMillis()
+    // and millisToDays() methods.
+    // 
+    // Several methods use caches to improve performance.  Caches are at
+    // the object, not class level, under the assumption that typical
+    // usage will be to have one instance of ChineseCalendar at a time.
+ 
+    /**
+     * We have one instance per object, and we don't synchronize it because
+     * Calendar doesn't support multithreaded execution in the first place.
+     */
+    private transient CalendarAstronomer astro = new CalendarAstronomer();
+
+    /**
+     * Cache that maps Gregorian year to local days of winter solstice.
+     * @see #winterSolstice
+     */
+    private transient CalendarCache winterSolsticeCache = new CalendarCache();
+
+    /**
+     * Cache that maps Gregorian year to local days of Chinese new year.
+     * @see #newYear
+     */
+    private transient CalendarCache newYearCache = new CalendarCache();
+
+    /**
+     * True if the current year is a leap year.  Updated with each time to
+     * fields resolution.
+     * @see #computeChineseFields
+     */
+    private transient boolean isLeapYear;
+
+    //------------------------------------------------------------------
+    // Constructors
+    //------------------------------------------------------------------
+
+    /**
+     * Construct a Chinese calendar with the default time zone and locale.
+     * @stable ICU 2.8
+     */
+    public ChineseCalendar() {
+        super();
+    }
+
+    /**
+     * Construct a Chinese calendar with the given time zone and locale.
+     * @param zone time zone for this calendar
+     * @param locale locale for this calendar
+     * @stable ICU 2.8
+     */
+    public ChineseCalendar(TimeZone zone, Locale locale) {
+        super(zone, locale);
+    }
+
+    /**
+     * Construct a Chinese calendar with the given time zone and locale.
+     * @param zone time zone for this calendar
+     * @param locale ulocale for this calendar
+     * @draft ICU 3.2
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public ChineseCalendar(TimeZone zone, ULocale locale) {
+        super(zone, locale);
+    }
+
+    //------------------------------------------------------------------
+    // Public constants
+    //------------------------------------------------------------------
+
+    /**
+     * Field indicating whether or not the current month is a leap month.
+     * Should have a value of 0 for non-leap months, and 1 for leap months.
+     * @stable ICU 2.8
+     */
+    public static int IS_LEAP_MONTH = BASE_FIELD_COUNT;
+
+    /**
+     * Count of fields in this class.
+     */
+    private static final int FIELD_COUNT = IS_LEAP_MONTH + 1;
+
+    //------------------------------------------------------------------
+    // Calendar framework
+    //------------------------------------------------------------------
+
+    /**
+     * Override Calendar to allocate our additional field.
+     * @stable ICU 2.8
+     */
+    protected int[] handleCreateFields() {
+        return new int[FIELD_COUNT];
+    }
+
+    /**
+     * Array defining the limits of field values for this class.  Field
+     * limits which are invariant with respect to calendar system and
+     * defined by Calendar are left blank.
+     *
+     * Notes:
+     *
+     * ERA 5000000 / 60 = 83333.
+     *
+     * MONTH There are 12 or 13 lunar months in a year.  However, we always
+     * number them 0..11, with an intercalated, identically numbered leap
+     * month, when necessary.
+     *
+     * DAY_OF_YEAR In a non-leap year there are 353, 354, or 355 days.  In
+     * a leap year there are 383, 384, or 385 days.
+     *
+     * WEEK_OF_YEAR The least maximum occurs if there are 353 days in the
+     * year, and the first 6 are the last week of the previous year.  Then
+     * we have 49 full weeks and 4 days in the last week: 6 + 49*7 + 4 =
+     * 353.  So the least maximum is 50.  The maximum occurs if there are
+     * 385 days in the year, and WOY 1 extends 6 days into the prior year.
+     * Then there are 54 full weeks, and 6 days in the last week: 1 + 54*7
+     * + 6 = 385.  The 6 days of the last week will fall into WOY 1 of the
+     * next year.  Maximum is 55.
+     *
+     * WEEK_OF_MONTH In a 29 day month, if the first 7 days make up week 1
+     * that leaves 3 full weeks and 1 day at the end.  The least maximum is
+     * thus 5.  In a 30 days month, if the previous 6 days belong WOM 1 of
+     * this month, we have 4 full weeks and 1 days at the end (which
+     * technically will be WOM 1 of the next month, but will be reported by
+     * time->fields and hence by getActualMaximum as WOM 6 of this month).
+     * Maximum is 6.
+     *
+     * DAY_OF_WEEK_IN_MONTH In a 29 or 30 day month, there are 4 full weeks
+     * plus 1 or 2 days at the end, so the maximum is always 5.
+     */
+    private static final int LIMITS[][] = {
+        // Minimum  Greatest    Least  Maximum
+        //           Minimum  Maximum
+        {        1,        1,   83333,   83333 }, // ERA
+        {        1,        1,      70,      70 }, // YEAR
+        {        0,        0,      11,      11 }, // MONTH
+        {        1,        1,      50,      55 }, // WEEK_OF_YEAR
+        {        1,        1,       5,       6 }, // WEEK_OF_MONTH
+        {        1,        1,      29,      30 }, // DAY_OF_MONTH
+        {        1,        1,     353,     385 }, // DAY_OF_YEAR
+        {/*                                  */}, // DAY_OF_WEEK
+        {       -1,       -1,       5,       5 }, // DAY_OF_WEEK_IN_MONTH
+        {/*                                  */}, // AM_PM
+        {/*                                  */}, // HOUR
+        {/*                                  */}, // HOUR_OF_DAY
+        {/*                                  */}, // MINUTE
+        {/*                                  */}, // SECOND
+        {/*                                  */}, // MILLISECOND
+        {/*                                  */}, // ZONE_OFFSET
+        {/*                                  */}, // DST_OFFSET
+        { -5000001, -5000001, 5000001, 5000001 }, // YEAR_WOY
+        {/*                                  */}, // DOW_LOCAL
+        { -5000000, -5000000, 5000000, 5000000 }, // EXTENDED_YEAR
+        {/*                                  */}, // JULIAN_DAY
+        {/*                                  */}, // MILLISECONDS_IN_DAY
+        {        0,        0,       1,       1 }, // IS_LEAP_MONTH
+    };
+
+    /**
+     * Override Calendar to return the limit value for the given field.
+     * @stable ICU 2.8
+     */
+    protected int handleGetLimit(int field, int limitType) {
+        return LIMITS[field][limitType];
+    }
+
+    /**
+     * Implement abstract Calendar method to return the extended year
+     * defined by the current fields.  This will use either the ERA and
+     * YEAR field as the cycle and year-of-cycle, or the EXTENDED_YEAR
+     * field as the continuous year count, depending on which is newer.
+     * @stable ICU 2.8
+     */
+    protected int handleGetExtendedYear() {
+        int year;
+        if (newestStamp(ERA, YEAR, UNSET) <= getStamp(EXTENDED_YEAR)) {
+            year = internalGet(EXTENDED_YEAR, 1); // Default to year 1
+        } else {
+            int cycle = internalGet(ERA, 1) - 1; // 0-based cycle
+            year = cycle * 60 + internalGet(YEAR, 1);
+        }
+        return year;
+    }
+
+    /**
+     * Override Calendar method to return the number of days in the given
+     * extended year and month.
+     *
+     * <p>Note: This method also reads the IS_LEAP_MONTH field to determine
+     * whether or not the given month is a leap month.
+     * @stable ICU 2.8
+     */
+    protected int handleGetMonthLength(int extendedYear, int month) {
+        int thisStart = handleComputeMonthStart(extendedYear, month, true) -
+            EPOCH_JULIAN_DAY + 1; // Julian day -> local days
+        int nextStart = newMoonNear(thisStart + SYNODIC_GAP, true);
+        return nextStart - thisStart;
+    }
+
+    /**
+     * Framework method to create a calendar-specific DateFormat object
+     * using the the given pattern.  This method is responsible for
+     * creating the calendar- specific DateFormat and DateFormatSymbols
+     * objects as needed.
+     * @stable ICU 2.8
+     */
+    protected DateFormat handleGetDateFormat(String pattern, ULocale locale) {
+        return new ChineseDateFormat(pattern, locale);
+    }
+
+    /**
+     * Field resolution table that incorporates IS_LEAP_MONTH.
+     */
+    static final int[][][] CHINESE_DATE_PRECEDENCE = {
+        {
+            { DAY_OF_MONTH },
+            { WEEK_OF_YEAR, DAY_OF_WEEK },
+            { WEEK_OF_MONTH, DAY_OF_WEEK },
+            { DAY_OF_WEEK_IN_MONTH, DAY_OF_WEEK },
+            { WEEK_OF_YEAR, DOW_LOCAL },
+            { WEEK_OF_MONTH, DOW_LOCAL },
+            { DAY_OF_WEEK_IN_MONTH, DOW_LOCAL },
+            { DAY_OF_YEAR },
+            { RESOLVE_REMAP | DAY_OF_MONTH, IS_LEAP_MONTH },
+        },
+        {
+            { WEEK_OF_YEAR },
+            { WEEK_OF_MONTH },
+            { DAY_OF_WEEK_IN_MONTH },
+            { RESOLVE_REMAP | DAY_OF_WEEK_IN_MONTH, DAY_OF_WEEK },
+            { RESOLVE_REMAP | DAY_OF_WEEK_IN_MONTH, DOW_LOCAL },
+        },
+    };
+
+    /**
+     * Override Calendar to add IS_LEAP_MONTH to the field resolution
+     * table.
+     * @stable ICU 2.8
+     */
+    protected int[][][] getFieldResolutionTable() {
+        return CHINESE_DATE_PRECEDENCE;
+    }
+
+    /**
+     * Adjust this calendar to be delta months before or after a given
+     * start position, pinning the day of month if necessary.  The start
+     * position is given as a local days number for the start of the month
+     * and a day-of-month.  Used by add() and roll().
+     * @param newMoon the local days of the first day of the month of the
+     * start position (days after January 1, 1970 0:00 Asia/Shanghai)
+     * @param dom the 1-based day-of-month of the start position
+     * @param delta the number of months to move forward or backward from
+     * the start position
+     */
+    private void offsetMonth(int newMoon, int dom, int delta) {
+        // Move to the middle of the month before our target month.
+        newMoon += (int) (CalendarAstronomer.SYNODIC_MONTH * (delta - 0.5));
+
+        // Search forward to the target month's new moon
+        newMoon = newMoonNear(newMoon, true);
+
+        // Find the target dom
+        int jd = newMoon + EPOCH_JULIAN_DAY - 1 + dom;
+
+        // Pin the dom.  In this calendar all months are 29 or 30 days
+        // so pinning just means handling dom 30.
+        if (dom > 29) {
+            set(JULIAN_DAY, jd-1);
+            // TODO Fix this.  We really shouldn't ever have to
+            // explicitly call complete().  This is either a bug in
+            // this method, in ChineseCalendar, or in
+            // Calendar.getActualMaximum().  I suspect the last.
+            complete();
+            if (getActualMaximum(DAY_OF_MONTH) >= dom) {
+                set(JULIAN_DAY, jd);
+            }
+        } else {
+            set(JULIAN_DAY, jd);
+        }
+    }
+
+    /**
+     * Override Calendar to handle leap months properly.
+     * @stable ICU 2.8
+     */
+    public void add(int field, int amount) {
+        switch (field) {
+        case MONTH:
+            if (amount != 0) {
+                int dom = get(DAY_OF_MONTH);
+                int day = get(JULIAN_DAY) - EPOCH_JULIAN_DAY; // Get local day
+                int moon = day - dom + 1; // New moon 
+                offsetMonth(moon, dom, amount);
+            }
+            break;
+        default:
+            super.add(field, amount);
+            break;
+        }
+    }
+
+    /**
+     * Override Calendar to handle leap months properly.
+     * @stable ICU 2.8
+     */
+    public void roll(int field, int amount) {
+        switch (field) {
+        case MONTH:
+            if (amount != 0) {
+                int dom = get(DAY_OF_MONTH);
+                int day = get(JULIAN_DAY) - EPOCH_JULIAN_DAY; // Get local day
+                int moon = day - dom + 1; // New moon (start of this month)
+
+                // Note throughout the following:  Months 12 and 1 are never
+                // followed by a leap month (D&R p. 185).
+
+                // Compute the adjusted month number m.  This is zero-based
+                // value from 0..11 in a non-leap year, and from 0..12 in a
+                // leap year.
+                int m = get(MONTH); // 0-based month
+                if (isLeapYear) { // (member variable)
+                    if (get(IS_LEAP_MONTH) == 1) {
+                        ++m;
+                    } else {
+                        // Check for a prior leap month.  (In the
+                        // following, month 0 is the first month of the
+                        // year.)  Month 0 is never followed by a leap
+                        // month, and we know month m is not a leap month.
+                        // moon1 will be the start of month 0 if there is
+                        // no leap month between month 0 and month m;
+                        // otherwise it will be the start of month 1.
+                        int moon1 = moon -
+                            (int) (CalendarAstronomer.SYNODIC_MONTH * (m - 0.5));
+                        moon1 = newMoonNear(moon1, true);
+                        if (isLeapMonthBetween(moon1, moon)) {
+                            ++m;
+                        }
+                    }
+                }
+
+                // Now do the standard roll computation on m, with the
+                // allowed range of 0..n-1, where n is 12 or 13.
+                int n = isLeapYear ? 13 : 12; // Months in this year
+                int newM = (m + amount) % n;
+                if (newM < 0) {
+                    newM += n;
+                }
+
+                if (newM != m) {
+                    offsetMonth(moon, dom, newM - m);
+                }
+            }
+            break;
+        default:
+            super.roll(field, amount);
+            break;
+        }
+    }
+
+    //------------------------------------------------------------------
+    // Support methods and constants
+    //------------------------------------------------------------------
+   
+    /**
+     * The start year of the Chinese calendar, the 61st year of the reign
+     * of Huang Di.  Some sources use the first year of his reign,
+     * resulting in EXTENDED_YEAR values 60 years greater and ERA (cycle)
+     * values one greater.
+     */
+    private static final int CHINESE_EPOCH_YEAR = -2636; // Gregorian year
+
+    /**
+     * The offset from GMT in milliseconds at which we perform astronomical
+     * computations.  Some sources use a different historically accurate
+     * offset of GMT+7:45:40 for years before 1929; we do not do this.
+     */
+    private static final long CHINA_OFFSET = 8*ONE_HOUR;
+
+    /**
+     * Value to be added or subtracted from the local days of a new moon to
+     * get close to the next or prior new moon, but not cross it.  Must be
+     * >= 1 and < CalendarAstronomer.SYNODIC_MONTH.
+     */
+    private static final int SYNODIC_GAP = 25;
+
+    /**
+     * Convert local days to UTC epoch milliseconds.
+     * @param days days after January 1, 1970 0:00 Asia/Shanghai
+     * @return milliseconds after January 1, 1970 0:00 GMT
+     */
+    private static final long daysToMillis(int days) {
+        return (days * ONE_DAY) - CHINA_OFFSET;
+    }
+
+    /**
+     * Convert UTC epoch milliseconds to local days.
+     * @param millis milliseconds after January 1, 1970 0:00 GMT
+     * @return days after January 1, 1970 0:00 Asia/Shanghai
+     */
+    private static final int millisToDays(long millis) {
+        return (int) floorDivide(millis + CHINA_OFFSET, ONE_DAY);
+    }
+
+    //------------------------------------------------------------------
+    // Astronomical computations
+    //------------------------------------------------------------------
+    
+    /**
+     * Return the major solar term on or after December 15 of the given
+     * Gregorian year, that is, the winter solstice of the given year.
+     * Computations are relative to Asia/Shanghai time zone.
+     * @param gyear a Gregorian year
+     * @return days after January 1, 1970 0:00 Asia/Shanghai of the
+     * winter solstice of the given year
+     */
+    private int winterSolstice(int gyear) {
+
+        long cacheValue = winterSolsticeCache.get(gyear);
+
+        if (cacheValue == CalendarCache.EMPTY) {
+            // In books December 15 is used, but it fails for some years
+            // using our algorithms, e.g.: 1298 1391 1492 1553 1560.  That
+            // is, winterSolstice(1298) starts search at Dec 14 08:00:00
+            // PST 1298 with a final result of Dec 14 10:31:59 PST 1299.
+            long ms = daysToMillis(computeGregorianMonthStart(gyear, DECEMBER) +
+                                   1 - EPOCH_JULIAN_DAY);
+            astro.setTime(ms);
+            
+            // Winter solstice is 270 degrees solar longitude aka Dongzhi
+            long solarLong = astro.getSunTime(CalendarAstronomer.WINTER_SOLSTICE,
+                                              true);
+            cacheValue = millisToDays(solarLong);
+            winterSolsticeCache.put(gyear, cacheValue);
+        }
+        return (int) cacheValue;
+    }
+
+    /**
+     * Return the closest new moon to the given date, searching either
+     * forward or backward in time.
+     * @param days days after January 1, 1970 0:00 Asia/Shanghai
+     * @param after if true, search for a new moon on or after the given
+     * date; otherwise, search for a new moon before it
+     * @return days after January 1, 1970 0:00 Asia/Shanghai of the nearest
+     * new moon after or before <code>days</code>
+     */
+    private int newMoonNear(int days, boolean after) {
+        
+        astro.setTime(daysToMillis(days));
+        long newMoon = astro.getMoonTime(CalendarAstronomer.NEW_MOON, after);
+        
+        return millisToDays(newMoon);
+    }
+
+    /**
+     * Return the nearest integer number of synodic months between
+     * two dates.
+     * @param day1 days after January 1, 1970 0:00 Asia/Shanghai
+     * @param day2 days after January 1, 1970 0:00 Asia/Shanghai
+     * @return the nearest integer number of months between day1 and day2
+     */
+    private int synodicMonthsBetween(int day1, int day2) {
+        return (int) Math.round((day2 - day1) / CalendarAstronomer.SYNODIC_MONTH);
+    }
+
+    /**
+     * Return the major solar term on or before a given date.  This
+     * will be an integer from 1..12, with 1 corresponding to 330 degrees,
+     * 2 to 0 degrees, 3 to 30 degrees,..., and 12 to 300 degrees.
+     * @param days days after January 1, 1970 0:00 Asia/Shanghai
+     */
+    private int majorSolarTerm(int days) {
+        
+        astro.setTime(daysToMillis(days));
+
+        // Compute (floor(solarLongitude / (pi/6)) + 2) % 12
+        int term = ((int) Math.floor(6 * astro.getSunLongitude() / Math.PI) + 2) % 12;
+        if (term < 1) {
+            term += 12;
+        }
+        return term;
+    }
+
+    /**
+     * Return true if the given month lacks a major solar term.
+     * @param newMoon days after January 1, 1970 0:00 Asia/Shanghai of a new
+     * moon
+     */
+    private boolean hasNoMajorSolarTerm(int newMoon) {
+        
+        int mst = majorSolarTerm(newMoon);
+        int nmn = newMoonNear(newMoon + SYNODIC_GAP, true);
+        int mstt = majorSolarTerm(nmn);
+        return mst == mstt;
+        /*
+        return majorSolarTerm(newMoon) ==
+            majorSolarTerm(newMoonNear(newMoon + SYNODIC_GAP, true));
+        */
+    }
+
+    //------------------------------------------------------------------
+    // Time to fields
+    //------------------------------------------------------------------
+    
+    /**
+     * Return true if there is a leap month on or after month newMoon1 and
+     * at or before month newMoon2.
+     * @param newMoon1 days after January 1, 1970 0:00 Asia/Shanghai of a
+     * new moon
+     * @param newMoon2 days after January 1, 1970 0:00 Asia/Shanghai of a
+     * new moon
+     */
+    private boolean isLeapMonthBetween(int newMoon1, int newMoon2) {
+
+        // This is only needed to debug the timeOfAngle divergence bug.
+        // Remove this later. Liu 11/9/00
+        // DEBUG
+        if (synodicMonthsBetween(newMoon1, newMoon2) >= 50) {
+            throw new IllegalArgumentException("isLeapMonthBetween(" + newMoon1 +
+                                               ", " + newMoon2 +
+                                               "): Invalid parameters");
+        }
+
+        return (newMoon2 >= newMoon1) &&
+            (isLeapMonthBetween(newMoon1, newMoonNear(newMoon2 - SYNODIC_GAP, false)) ||
+             hasNoMajorSolarTerm(newMoon2));
+    }
+
+    /**
+     * Override Calendar to compute several fields specific to the Chinese
+     * calendar system.  These are:
+     *
+     * <ul><li>ERA
+     * <li>YEAR
+     * <li>MONTH
+     * <li>DAY_OF_MONTH
+     * <li>DAY_OF_YEAR
+     * <li>EXTENDED_YEAR</ul>
+     * 
+     * The DAY_OF_WEEK and DOW_LOCAL fields are already set when this
+     * method is called.  The getGregorianXxx() methods return Gregorian
+     * calendar equivalents for the given Julian day.
+     *
+     * <p>Compute the ChineseCalendar-specific field IS_LEAP_MONTH.
+     * @stable ICU 2.8
+     */
+    protected void handleComputeFields(int julianDay) {
+
+        computeChineseFields(julianDay - EPOCH_JULIAN_DAY, // local days
+                             getGregorianYear(), getGregorianMonth(),
+                             true); // set all fields
+    }
+
+    /**
+     * Compute fields for the Chinese calendar system.  This method can
+     * either set all relevant fields, as required by
+     * <code>handleComputeFields()</code>, or it can just set the MONTH and
+     * IS_LEAP_MONTH fields, as required by
+     * <code>handleComputeMonthStart()</code>.
+     *
+     * <p>As a side effect, this method sets {@link #isLeapYear}.
+     * @param days days after January 1, 1970 0:00 Asia/Shanghai of the
+     * date to compute fields for
+     * @param gyear the Gregorian year of the given date
+     * @param gmonth the Gregorian month of the given date
+     * @param setAllFields if true, set the EXTENDED_YEAR, ERA, YEAR,
+     * DAY_OF_MONTH, and DAY_OF_YEAR fields.  In either case set the MONTH
+     * and IS_LEAP_MONTH fields.
+     */
+    private void computeChineseFields(int days, int gyear, int gmonth,
+                                      boolean setAllFields) {
+
+        // Find the winter solstices before and after the target date.
+        // These define the boundaries of this Chinese year, specifically,
+        // the position of month 11, which always contains the solstice.
+        // We want solsticeBefore <= date < solsticeAfter.
+        int solsticeBefore;
+        int solsticeAfter = winterSolstice(gyear);
+        if (days < solsticeAfter) {
+            solsticeBefore = winterSolstice(gyear - 1);
+        } else {
+            solsticeBefore = solsticeAfter;
+            solsticeAfter = winterSolstice(gyear + 1);
+        }
+
+        // Find the start of the month after month 11.  This will be either
+        // the prior month 12 or leap month 11 (very rare).  Also find the
+        // start of the following month 11.
+        int firstMoon = newMoonNear(solsticeBefore + 1, true);
+        int lastMoon = newMoonNear(solsticeAfter + 1, false);
+        int thisMoon = newMoonNear(days + 1, false); // Start of this month
+        // Note: isLeapYear is a member variable
+        isLeapYear = synodicMonthsBetween(firstMoon, lastMoon) == 12;
+
+        int month = synodicMonthsBetween(firstMoon, thisMoon);
+        if (isLeapYear && isLeapMonthBetween(firstMoon, thisMoon)) {
+            month--;
+        }
+        if (month < 1) {
+            month += 12;
+        }
+
+        boolean isLeapMonth = isLeapYear &&
+            hasNoMajorSolarTerm(thisMoon) &&
+            !isLeapMonthBetween(firstMoon, newMoonNear(thisMoon - SYNODIC_GAP, false));
+
+        internalSet(MONTH, month-1); // Convert from 1-based to 0-based
+        internalSet(IS_LEAP_MONTH, isLeapMonth?1:0);
+
+        if (setAllFields) {
+
+            int year = gyear - CHINESE_EPOCH_YEAR;
+            if (month < 11 ||
+                gmonth >= JULY) {
+                year++;
+            }
+            int dayOfMonth = days - thisMoon + 1;
+
+            internalSet(EXTENDED_YEAR, year);
+
+            // 0->0,60  1->1,1  60->1,60  61->2,1  etc.
+            int[] yearOfCycle = new int[1];
+            int cycle = floorDivide(year-1, 60, yearOfCycle);
+            internalSet(ERA, cycle+1);
+            internalSet(YEAR, yearOfCycle[0]+1);
+
+            internalSet(DAY_OF_MONTH, dayOfMonth);
+
+            // Days will be before the first new year we compute if this
+            // date is in month 11, leap 11, 12.  There is never a leap 12.
+            // New year computations are cached so this should be cheap in
+            // the long run.
+            int newYear = newYear(gyear);
+            if (days < newYear) {
+                newYear = newYear(gyear-1);
+            }
+            internalSet(DAY_OF_YEAR, days - newYear + 1);
+        }
+    }
+
+    //------------------------------------------------------------------
+    // Fields to time
+    //------------------------------------------------------------------
+    
+    /**
+     * Return the Chinese new year of the given Gregorian year.
+     * @param gyear a Gregorian year
+     * @return days after January 1, 1970 0:00 Asia/Shanghai of the
+     * Chinese new year of the given year (this will be a new moon)
+     */
+    private int newYear(int gyear) {
+
+        long cacheValue = newYearCache.get(gyear);
+
+        if (cacheValue == CalendarCache.EMPTY) {
+
+            int solsticeBefore= winterSolstice(gyear - 1);
+            int solsticeAfter = winterSolstice(gyear);
+            int newMoon1 = newMoonNear(solsticeBefore + 1, true);
+            int newMoon2 = newMoonNear(newMoon1 + SYNODIC_GAP, true);
+            int newMoon11 = newMoonNear(solsticeAfter + 1, false);
+            
+            if (synodicMonthsBetween(newMoon1, newMoon11) == 12 &&
+                (hasNoMajorSolarTerm(newMoon1) || hasNoMajorSolarTerm(newMoon2))) {
+                cacheValue = newMoonNear(newMoon2 + SYNODIC_GAP, true);
+            } else {
+                cacheValue = newMoon2;
+            }
+
+            newYearCache.put(gyear, cacheValue);
+        }
+        return (int) cacheValue;
+    }
+
+    /**
+     * Return the Julian day number of day before the first day of the
+     * given month in the given extended year.
+     * 
+     * <p>Note: This method reads the IS_LEAP_MONTH field to determine
+     * whether the given month is a leap month.
+     * @param eyear the extended year
+     * @param month the zero-based month.  The month is also determined
+     * by reading the IS_LEAP_MONTH field.
+     * @return the Julian day number of the day before the first
+     * day of the given month and year
+     * @stable ICU 2.8
+     */
+    protected int handleComputeMonthStart(int eyear, int month, boolean useMonth) {
+
+        // If the month is out of range, adjust it into range, and
+        // modify the extended year value accordingly.
+        if (month < 0 || month > 11) {
+            int[] rem = new int[1];
+            eyear += floorDivide(month, 12, rem);
+            month = rem[0];
+        }
+
+        int gyear = eyear + CHINESE_EPOCH_YEAR - 1; // Gregorian year
+        int newYear = newYear(gyear);
+        int newMoon = newMoonNear(newYear + month * 29, true);
+        
+        int julianDay = newMoon + EPOCH_JULIAN_DAY;
+
+        // Save fields for later restoration
+        int saveMonth = internalGet(MONTH);
+        int saveIsLeapMonth = internalGet(IS_LEAP_MONTH);
+
+        // Ignore IS_LEAP_MONTH field if useMonth is false
+        int isLeapMonth = useMonth ? saveIsLeapMonth : 0;
+
+        computeGregorianFields(julianDay);
+        
+        // This will modify the MONTH and IS_LEAP_MONTH fields (only)
+        computeChineseFields(newMoon, getGregorianYear(),
+                             getGregorianMonth(), false);        
+
+        if (month != internalGet(MONTH) ||
+            isLeapMonth != internalGet(IS_LEAP_MONTH)) {
+            newMoon = newMoonNear(newMoon + SYNODIC_GAP, true);
+            julianDay = newMoon + EPOCH_JULIAN_DAY;
+        }
+
+        internalSet(MONTH, saveMonth);
+        internalSet(IS_LEAP_MONTH, saveIsLeapMonth);
+
+        return julianDay - 1;
+    }
+
+    /**
+     * Return the current Calendar type.
+     * @return type of calendar (gregorian, etc.)
+     * @internal ICU 3.0
+     */
+    public String getType() {
+        return "chinese";
+    }
+
+    /*
+    private static CalendarFactory factory;
+    public static CalendarFactory factory() {
+        if (factory == null) {
+            factory = new CalendarFactory() {
+                public Calendar create(TimeZone tz, ULocale loc) {
+                    return new ChineseCalendar(tz, loc);
+                }
+
+                public String factoryName() {
+                    return "Chinese";
+                }
+            };
+        }
+        return factory;
+    }
+    */
+}
diff --git a/src/com/ibm/icu/util/CompactByteArray.java b/src/com/ibm/icu/util/CompactByteArray.java
new file mode 100755
index 0000000..63b02ec
--- /dev/null
+++ b/src/com/ibm/icu/util/CompactByteArray.java
@@ -0,0 +1,368 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.util;
+import com.ibm.icu.impl.Utility;
+
+/**
+ * class CompactATypeArray : use only on primitive data types
+ * Provides a compact way to store information that is indexed by Unicode
+ * values, such as character properties, types, keyboard values, etc.This
+ * is very useful when you have a block of Unicode data that contains
+ * significant values while the rest of the Unicode data is unused in the
+ * application or when you have a lot of redundance, such as where all 21,000
+ * Han ideographs have the same value.  However, lookup is much faster than a
+ * hash table.
+ * A compact array of any primitive data type serves two purposes:
+ * <UL type = round>
+ *     <LI>Fast access of the indexed values.
+ *     <LI>Smaller memory footprint.
+ * </UL>
+ * A compact array is composed of a index array and value array.  The index
+ * array contains the indicies of Unicode characters to the value array.
+ *
+ * @see                CompactCharArray
+ * @author             Helena Shih
+ * @internal
+ */
+public final class CompactByteArray implements Cloneable {
+
+    /**
+     * The total number of Unicode characters.
+     * @internal
+     */
+    public static  final int UNICODECOUNT =65536;
+
+    /**
+     * Default constructor for CompactByteArray, the default value of the
+     * compact array is 0.
+     * @internal
+     */
+    public CompactByteArray()
+    {
+        this((byte)0);
+    }
+
+    /**
+     * Constructor for CompactByteArray.
+     * @param defaultValue the default value of the compact array.
+     * @internal
+     */
+    public CompactByteArray(byte defaultValue)
+    {
+        int i;
+        values = new byte[UNICODECOUNT];
+        indices = new char[INDEXCOUNT];
+        hashes = new int[INDEXCOUNT];
+        for (i = 0; i < UNICODECOUNT; ++i) {
+            values[i] = defaultValue;
+        }
+        for (i = 0; i < INDEXCOUNT; ++i) {
+            indices[i] = (char)(i<<BLOCKSHIFT);
+            hashes[i] = 0;
+        }
+        isCompact = false;
+
+        this.defaultValue = defaultValue;
+    }
+
+    /**
+     * Constructor for CompactByteArray.
+     * @param indexArray the indicies of the compact array.
+     * @param newValues the values of the compact array.
+     * @exception IllegalArgumentException If the index is out of range.
+     * @internal
+     */
+    public CompactByteArray(char indexArray[],
+                            byte newValues[])
+    {
+        int i;
+        if (indexArray.length != INDEXCOUNT)
+            throw new IllegalArgumentException("Index out of bounds.");
+        for (i = 0; i < INDEXCOUNT; ++i) {
+            char index = indexArray[i];
+            if ((index < 0) || (index >= newValues.length+BLOCKCOUNT))
+                throw new IllegalArgumentException("Index out of bounds.");
+        }
+        indices = indexArray;
+        values = newValues;
+        isCompact = true;
+    }
+
+    /**
+     * Constructor for CompactByteArray.
+     *
+     * @param indexArray the RLE-encoded indicies of the compact array.
+     * @param valueArray the RLE-encoded values of the compact array.
+     *
+     * @throws IllegalArgumentException if the index or value array is
+     *          the wrong size.
+     * @internal
+     */
+    public CompactByteArray(String indexArray,
+                            String valueArray)
+    {
+        this( Utility.RLEStringToCharArray(indexArray),
+              Utility.RLEStringToByteArray(valueArray));
+    }
+
+    /**
+     * Get the mapped value of a Unicode character.
+     * @param index the character to get the mapped value with
+     * @return the mapped value of the given character
+     * @internal
+     */
+    public byte elementAt(char index)
+    {
+        return (values[(indices[index >> BLOCKSHIFT] & 0xFFFF)
+                       + (index & BLOCKMASK)]);
+    }
+
+    /**
+     * Set a new value for a Unicode character.
+     * Set automatically expands the array if it is compacted.
+     * @param index the character to set the mapped value with
+     * @param value the new mapped value
+     * @internal
+     */
+    public void setElementAt(char index, byte value)
+    {
+        if (isCompact)
+            expand();
+        values[(int)index] = value;
+        touchBlock(index >> BLOCKSHIFT, value);
+    }
+
+    /**
+     * Set new values for a range of Unicode character.
+     *
+     * @param start the starting offset of the range
+     * @param end the ending offset of the range
+     * @param value the new mapped value
+     * @internal
+     */
+    public void setElementAt(char start, char end, byte value)
+    {
+        int i;
+        if (isCompact) {
+            expand();
+        }
+        for (i = start; i <= end; ++i) {
+            values[i] = value;
+            touchBlock(i >> BLOCKSHIFT, value);
+        }
+    }
+    /**
+     * Compact the array.
+     * @internal
+     */
+    public void compact() {
+        compact(false);
+    }
+
+    /**
+     * Compact the array.
+     * @internal
+     */
+    public void compact(boolean exhaustive)
+    {
+        if (!isCompact) {
+            int limitCompacted = 0;
+            int iBlockStart = 0;
+            char iUntouched = 0xFFFF;
+
+            for (int i = 0; i < indices.length; ++i, iBlockStart += BLOCKCOUNT) {
+                indices[i] = 0xFFFF;
+                boolean touched = blockTouched(i);
+                if (!touched && iUntouched != 0xFFFF) {
+                    // If no values in this block were set, we can just set its
+                    // index to be the same as some other block with no values
+                    // set, assuming we've seen one yet.
+                    indices[i] = iUntouched;
+                } else {
+                    int jBlockStart = 0;
+                    int j = 0;
+                    for (j = 0; j < limitCompacted;
+                            ++j, jBlockStart += BLOCKCOUNT) {
+                        if (hashes[i] == hashes[j] &&
+                                arrayRegionMatches(values, iBlockStart,
+                                values, jBlockStart, BLOCKCOUNT)) {
+                            indices[i] = (char)jBlockStart;
+                            break;
+                        }
+                    }
+                    if (indices[i] == 0xFFFF) {
+                        // we didn't match, so copy & update
+                        System.arraycopy(values, iBlockStart,
+                            values, jBlockStart, BLOCKCOUNT);
+                        indices[i] = (char)jBlockStart;
+                        hashes[j] = hashes[i];
+                        ++limitCompacted;
+
+                        if (!touched) {
+                            // If this is the first untouched block we've seen,
+                            // remember its index.
+                            iUntouched = (char)jBlockStart;
+                        }
+                    }
+                }
+            }
+            // we are done compacting, so now make the array shorter
+            int newSize = limitCompacted*BLOCKCOUNT;
+            byte[] result = new byte[newSize];
+            System.arraycopy(values, 0, result, 0, newSize);
+            values = result;
+            isCompact = true;
+            hashes = null;
+        }
+    }
+
+    /**
+     * Convenience utility to compare two arrays of doubles.
+     * @param len the length to compare.
+     * The start indices and start+len must be valid.
+     */
+    final static boolean arrayRegionMatches(byte[] source, int sourceStart,
+                                            byte[] target, int targetStart,
+                                            int len)
+    {
+        int sourceEnd = sourceStart + len;
+        int delta = targetStart - sourceStart;
+        for (int i = sourceStart; i < sourceEnd; i++) {
+            if (source[i] != target[i + delta])
+            return false;
+        }
+        return true;
+    }
+
+    /**
+     * Remember that a specified block was "touched", i.e. had a value set.
+     * Untouched blocks can be skipped when compacting the array
+     */
+    private final void touchBlock(int i, int value) {
+        hashes[i] = (hashes[i] + (value<<1)) | 1;
+    }
+
+    /**
+     * Query whether a specified block was "touched", i.e. had a value set.
+     * Untouched blocks can be skipped when compacting the array
+     */
+    private final boolean blockTouched(int i) {
+        return hashes[i] != 0;
+    }
+
+    /**
+     * For internal use only.  Do not modify the result, the behavior of
+     * modified results are undefined.
+     * @internal
+     */
+    public char[] getIndexArray()
+    {
+        return indices;
+    }
+
+    /**
+     * For internal use only.  Do not modify the result, the behavior of
+     * modified results are undefined.
+     * @internal
+     */
+    public byte[] getValueArray()
+    {
+        return values;
+    }
+
+    /**
+     * Overrides Cloneable
+     * @internal
+     */
+    public Object clone()
+    {
+        try {
+            CompactByteArray other = (CompactByteArray) super.clone();
+            other.values = (byte[])values.clone();
+            other.indices = (char[])indices.clone();
+            if (hashes != null) other.hashes = (int[])hashes.clone();
+            return other;
+        } catch (CloneNotSupportedException e) {
+            throw new InternalError();
+        }
+    }
+
+    /**
+     * Compares the equality of two compact array objects.
+     * @param obj the compact array object to be compared with this.
+     * @return true if the current compact array object is the same
+     * as the compact array object obj; false otherwise.
+     * @internal
+     */
+    public boolean equals(Object obj) {
+        if (obj == null) return false;
+        if (this == obj)                      // quick check
+            return true;
+        if (getClass() != obj.getClass())         // same class?
+            return false;
+        CompactByteArray other = (CompactByteArray) obj;
+        for (int i = 0; i < UNICODECOUNT; i++) {
+            // could be sped up later
+            if (elementAt((char)i) != other.elementAt((char)i))
+                return false;
+        }
+        return true; // we made it through the guantlet.
+    }
+
+    /**
+     * Generates the hash code for the compact array object
+     * @internal
+     */
+    public int hashCode() {
+        int result = 0;
+        int increment = Math.min(3, values.length/16);
+        for (int i = 0; i < values.length; i+= increment) {
+            result = result * 37 + values[i];
+        }
+        return result;
+    }
+
+    // --------------------------------------------------------------
+    // private
+    // --------------------------------------------------------------
+
+    /**
+     * Expanding takes the array back to a 65536 element array.
+     */
+    private void expand()
+    {
+        int i;
+        if (isCompact) {
+            byte[]  tempArray;
+            hashes = new int[INDEXCOUNT];
+            tempArray = new byte[UNICODECOUNT];
+            for (i = 0; i < UNICODECOUNT; ++i) {
+                byte value = elementAt((char)i);
+                tempArray[i] = value;
+                touchBlock(i >> BLOCKSHIFT, value);
+            }
+            for (i = 0; i < INDEXCOUNT; ++i) {
+                indices[i] = (char)(i<<BLOCKSHIFT);
+            }
+            values = null;
+            values = tempArray;
+            isCompact = false;
+        }
+    }
+
+    private static  final int BLOCKSHIFT =7;
+    private static  final int BLOCKCOUNT =(1<<BLOCKSHIFT);
+    private static  final int INDEXSHIFT =(16-BLOCKSHIFT);
+    private static  final int INDEXCOUNT =(1<<INDEXSHIFT);
+    private static  final int BLOCKMASK = BLOCKCOUNT - 1;
+
+    private byte[] values;
+    private char indices[];
+    private int[] hashes;
+    private boolean isCompact;
+    byte defaultValue;
+};
diff --git a/src/com/ibm/icu/util/CompactCharArray.java b/src/com/ibm/icu/util/CompactCharArray.java
new file mode 100755
index 0000000..7da7749
--- /dev/null
+++ b/src/com/ibm/icu/util/CompactCharArray.java
@@ -0,0 +1,393 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+package com.ibm.icu.util;
+
+import com.ibm.icu.impl.Utility;
+
+/**
+ * class CompactATypeArray : use only on primitive data types
+ * Provides a compact way to store information that is indexed by Unicode
+ * values, such as character properties, types, keyboard values, etc.This
+ * is very useful when you have a block of Unicode data that contains
+ * significant values while the rest of the Unicode data is unused in the
+ * application or when you have a lot of redundance, such as where all 21,000
+ * Han ideographs have the same value.  However, lookup is much faster than a
+ * hash table.
+ * A compact array of any primitive data type serves two purposes:
+ * <UL type = round>
+ *     <LI>Fast access of the indexed values.
+ *     <LI>Smaller memory footprint.
+ * </UL>
+ * A compact array is composed of a index array and value array.  The index
+ * array contains the indicies of Unicode characters to the value array.
+ * @see                CompactByteArray
+ * @author             Helena Shih
+ * @internal
+ */
+public final class CompactCharArray implements Cloneable {
+
+    /**
+     * The total number of Unicode characters.
+     * @internal
+     */
+    public static  final int UNICODECOUNT = 65536;
+
+    /**
+     * Default constructor for CompactCharArray, the default value of the
+     * compact array is 0.
+     * @internal
+     */
+    public CompactCharArray()
+    {
+        this((char)0);
+    }
+
+    /**
+     * Constructor for CompactCharArray.
+     * @param defaultValue the default value of the compact array.
+     * @internal
+     */
+    public CompactCharArray(char defaultValue)
+    {
+        int i;
+        values = new char[UNICODECOUNT];
+        indices = new char[INDEXCOUNT];
+        hashes = new int[INDEXCOUNT];
+        for (i = 0; i < UNICODECOUNT; ++i) {
+            values[i] = defaultValue;
+        }
+        for (i = 0; i < INDEXCOUNT; ++i) {
+            indices[i] = (char)(i<<BLOCKSHIFT);
+            hashes[i] = 0;
+        }
+        isCompact = false;
+
+        this.defaultValue = defaultValue;
+    }
+
+    /**
+     * Constructor for CompactCharArray.
+     * @param indexArray the indicies of the compact array.
+     * @param newValues the values of the compact array.
+     * @exception IllegalArgumentException If the index is out of range.
+     * @internal
+     */
+    public CompactCharArray(char indexArray[],
+                             char newValues[])
+    {
+        int i;
+        if (indexArray.length != INDEXCOUNT)
+            throw new IllegalArgumentException("Index out of bounds.");
+        for (i = 0; i < INDEXCOUNT; ++i) {
+            char index = indexArray[i];
+            if ((index < 0) || (index >= newValues.length+BLOCKCOUNT))
+                throw new IllegalArgumentException("Index out of bounds.");
+        }
+        indices = indexArray;
+        values = newValues;
+        isCompact = true;
+    }
+
+    /**
+     * Constructor for CompactCharArray.
+     *
+     * @param indexArray the RLE-encoded indicies of the compact array.
+     * @param valueArray the RLE-encoded values of the compact array.
+     *
+     * @throws IllegalArgumentException if the index or value array is
+     *          the wrong size.
+     * @internal
+     */
+    public CompactCharArray(String indexArray,
+                String valueArray)
+    {
+        this( Utility.RLEStringToCharArray(indexArray),
+              Utility.RLEStringToCharArray(valueArray));
+    }
+
+    /**
+     * Get the mapped value of a Unicode character.
+     * @param index the character to get the mapped value with
+     * @return the mapped value of the given character
+     * @internal
+     */
+    public char elementAt(char index)
+    {
+    int ix = (indices[index >> BLOCKSHIFT] & 0xFFFF)
+        + (index & BLOCKMASK);
+    return ix >= values.length ? defaultValue : values[ix];
+    }
+
+    /**
+     * Set a new value for a Unicode character.
+     * Set automatically expands the array if it is compacted.
+     * @param index the character to set the mapped value with
+     * @param value the new mapped value
+     * @internal
+     */
+    public void setElementAt(char index, char value)
+    {
+        if (isCompact)
+            expand();
+         values[(int)index] = value;
+        touchBlock(index >> BLOCKSHIFT, value);
+    }
+
+    /**
+     * Set new values for a range of Unicode character.
+     *
+     * @param start the starting offset of the range
+     * @param end the ending offset of the range
+     * @param value the new mapped value
+     * @internal
+     */
+    public void setElementAt(char start, char end, char value)
+    {
+        int i;
+        if (isCompact) {
+            expand();
+        }
+        for (i = start; i <= end; ++i) {
+            values[i] = value;
+            touchBlock(i >> BLOCKSHIFT, value);
+        }
+    }
+    /**
+     * Compact the array
+     * @internal
+     */
+    public void compact() {
+        compact(true);
+    }
+
+    /**
+     * Compact the array.
+     * @internal
+     */
+    public void compact(boolean exhaustive)
+    {
+        if (!isCompact) {
+            int iBlockStart = 0;
+            char iUntouched = 0xFFFF;
+            int newSize = 0;
+
+            char[] target = exhaustive ? new char[UNICODECOUNT] : values;
+
+            for (int i = 0; i < indices.length; ++i, iBlockStart += BLOCKCOUNT) {
+                indices[i] = 0xFFFF;
+                boolean touched = blockTouched(i);
+                if (!touched && iUntouched != 0xFFFF) {
+                    // If no values in this block were set, we can just set its
+                    // index to be the same as some other block with no values
+                    // set, assuming we've seen one yet.
+                    indices[i] = iUntouched;
+                } else {
+                    int jBlockStart = 0;
+                    // See if we can find a previously compacted block that's identical
+                    for (int j = 0; j < i; ++j, jBlockStart += BLOCKCOUNT) {
+                        if (hashes[i] == hashes[j] &&
+                                arrayRegionMatches(values, iBlockStart,
+                                                   values, jBlockStart, BLOCKCOUNT)) {
+                            indices[i] = indices[j];
+                        }
+                    }
+                    if (indices[i] == 0xFFFF) {
+                        int dest;   // Where to copy
+                        if (exhaustive) {
+                            // See if we can find some overlap with another block
+                            dest = FindOverlappingPosition(iBlockStart, target,
+                                                            newSize);
+                        } else {
+                            // Just copy to the end; it's quicker
+                            dest = newSize;
+                        }
+                        int limit = dest + BLOCKCOUNT;
+                        if (limit > newSize) {
+                            for (int j = newSize; j < limit; ++j) {
+                                target[j] = values[iBlockStart + j - dest];
+                            }
+                            newSize = limit;
+                        }
+                        indices[i] = (char)dest;
+                        if (!touched) {
+                            // If this is the first untouched block we've seen,
+                            // remember its index.
+                            iUntouched = (char)jBlockStart;
+                        }
+                    }
+                }
+            }
+            // we are done compacting, so now make the array shorter
+            char[] result = new char[newSize];
+            System.arraycopy(target, 0, result, 0, newSize);
+            values = result;
+            isCompact = true;
+            hashes = null;
+        }
+    }
+
+    private int FindOverlappingPosition(int start, char[] tempValues, int tempCount)
+    {
+        for (int i = 0; i < tempCount; i += 1) {
+            int currentCount = BLOCKCOUNT;
+            if (i + BLOCKCOUNT > tempCount) {
+                currentCount = tempCount - i;
+            }
+            if (arrayRegionMatches(values, start, tempValues, i, currentCount))
+                return i;
+        }
+        return tempCount;
+    }
+
+    /**
+     * Convenience utility to compare two arrays of doubles.
+     * @param len the length to compare.
+     * The start indices and start+len must be valid.
+     */
+    final static boolean arrayRegionMatches(char[] source, int sourceStart,
+                                            char[] target, int targetStart,
+                                            int len)
+    {
+        int sourceEnd = sourceStart + len;
+        int delta = targetStart - sourceStart;
+        for (int i = sourceStart; i < sourceEnd; i++) {
+            if (source[i] != target[i + delta])
+            return false;
+        }
+        return true;
+    }
+
+    /**
+     * Remember that a specified block was "touched", i.e. had a value set.
+     * Untouched blocks can be skipped when compacting the array
+     */
+    private final void touchBlock(int i, int value) {
+        hashes[i] = (hashes[i] + (value<<1)) | 1;
+    }
+
+    /**
+     * Query whether a specified block was "touched", i.e. had a value set.
+     * Untouched blocks can be skipped when compacting the array
+     */
+    private final boolean blockTouched(int i) {
+        return hashes[i] != 0;
+    }
+
+    /**
+     * For internal use only.  Do not modify the result, the behavior of
+     * modified results are undefined.
+     * @internal
+     */
+    public char[] getIndexArray()
+    {
+        return indices;
+    }
+
+    /**
+     * For internal use only.  Do not modify the result, the behavior of
+     * modified results are undefined.
+     * @internal
+     */
+    public char[] getValueArray()
+    {
+        return values;
+    }
+
+    /**
+     * Overrides Cloneable
+     * @internal
+     */
+    public Object clone()
+    {
+        try {
+            CompactCharArray other = (CompactCharArray) super.clone();
+            other.values = (char[])values.clone();
+            other.indices = (char[])indices.clone();
+            if (hashes != null) other.hashes = (int[])hashes.clone();
+            return other;
+        } catch (CloneNotSupportedException e) {
+            throw new InternalError();
+        }
+    }
+
+    /**
+     * Compares the equality of two compact array objects.
+     * @param obj the compact array object to be compared with this.
+     * @return true if the current compact array object is the same
+     * as the compact array object obj; false otherwise.
+     * @internal
+     */
+    public boolean equals(Object obj) {
+        if (obj == null) return false;
+        if (this == obj)                      // quick check
+            return true;
+        if (getClass() != obj.getClass())         // same class?
+            return false;
+        CompactCharArray other = (CompactCharArray) obj;
+        for (int i = 0; i < UNICODECOUNT; i++) {
+            // could be sped up later
+            if (elementAt((char)i) != other.elementAt((char)i))
+                return false;
+        }
+        return true; // we made it through the guantlet.
+    }
+
+    /**
+     * Generates the hash code for the compact array object
+     * @internal
+     */
+    public int hashCode() {
+        int result = 0;
+        int increment = Math.min(3, values.length/16);
+        for (int i = 0; i < values.length; i+= increment) {
+            result = result * 37 + values[i];
+        }
+        return result;
+    }
+
+
+    // --------------------------------------------------------------
+    // private
+    // --------------------------------------------------------------
+
+    /**
+     * Expanding takes the array back to a 65536 element array.
+     */
+    private void expand()
+    {
+        int i;
+        if (isCompact) {
+            char[] tempArray;
+            hashes = new int[INDEXCOUNT];
+            tempArray = new char[UNICODECOUNT];
+            for (i = 0; i < UNICODECOUNT; ++i) {
+                tempArray[i] = elementAt((char)i);
+            }
+            for (i = 0; i < INDEXCOUNT; ++i) {
+                indices[i] = (char)(i<<BLOCKSHIFT);
+            }
+            values = null;
+            values = tempArray;
+            isCompact = false;
+        }
+    }
+    /**
+     * @internal
+     */
+    public static  final int BLOCKSHIFT = 5; // NormalizerBuilder needs - liu
+    static  final int BLOCKCOUNT =(1<<BLOCKSHIFT);
+    static  final int INDEXSHIFT =(16-BLOCKSHIFT);
+    static  final int INDEXCOUNT =(1<<INDEXSHIFT);
+    static  final int BLOCKMASK = BLOCKCOUNT - 1;
+
+    private char values[];
+    private char indices[];
+    private int[] hashes;
+    private boolean isCompact;
+    char defaultValue;
+};
diff --git a/src/com/ibm/icu/util/CopticCalendar.java b/src/com/ibm/icu/util/CopticCalendar.java
new file mode 100644
index 0000000..53dedd4
--- /dev/null
+++ b/src/com/ibm/icu/util/CopticCalendar.java
@@ -0,0 +1,297 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2005, International Business Machines Corporation and         *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.util;
+
+import java.util.Date;
+import java.util.Locale;
+
+/**
+ * Implement the Coptic calendar system.
+ * <p>
+ * CopticCalendar usually should be instantiated using 
+ * {@link com.ibm.icu.util.Calendar#getInstance(ULocale)} passing in a <code>ULocale</code>
+ * with the tag <code>"@calendar=coptic"</code>.</p>
+ *
+ * @see com.ibm.icu.util.Calendar
+ * @draft ICU 3.4
+ * @deprecated This is a draft API and might change in a future release of ICU.
+ */
+public final class CopticCalendar extends CECalendar 
+{
+    // jdk1.4.2 serialver
+    private static final long serialVersionUID = 5903818751846742911L;
+
+    /** 
+     * Constant for \u03c9\u03bf\u03b3\u03c4/\u062a\ufeee\ufe97,
+     * the 1st month of the Coptic year. 
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final int TOUT = 0;
+
+    /** 
+     * Constant for \u03a0\u03b1\u03bf\u03c0\u03b9/\ufeea\ufe91\ufe8e\ufe91,
+     * the 2nd month of the Coptic year. 
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final int BABA = 1;
+
+    /** 
+     * Constant for \u0391\u03b8\u03bf\u03c1/\u0631\ufeee\ufe97\ufe8e\ufeeb,
+     * the 3rd month of the Coptic year. 
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final int HATOR = 2;
+
+    /** 
+     * Constant for \u03a7\u03bf\u03b9\u03b1\u03ba/\ufeda\ufeec\ufef4\ufedb,
+     * the 4th month of the Coptic year. 
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final int KIAHK = 3;
+
+    /** 
+     * Constant for \u03a4\u03c9\u03b2\u03b9/\u0637\ufeee\ufe92\ufeeb,
+     * the 5th month of the Coptic year. 
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final int TOBA = 4;
+
+    /** 
+     * Constant for \u039c\u03b5\u03e3\u03b9\u03c1/\ufeae\ufef4\ufeb8\ufee3\u0623,
+     * the 6th month of the Coptic year. 
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final int AMSHIR = 5;
+
+    /** 
+     * Constant for \u03a0\u03b1\u03c1\u03b5\u03bc\u03e9\u03b1\u03c4/\u062a\ufe8e\ufeec\ufee3\ufeae\ufe91,
+     * the 7th month of the Coptic year. 
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final int BARAMHAT = 6;
+
+    /** 
+     * Constant for \u03a6\u03b1\u03c1\u03bc\u03bf\u03b8\u03b9/\u0647\u062f\ufeee\ufee3\ufeae\ufe91, 
+     * the 8th month of the Coptic year. 
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final int BARAMOUDA = 7;
+
+    /** 
+     * Constant for \u03a0\u03b1\u03e3\u03b1\u03bd/\ufeb2\ufee8\ufeb8\ufe91, 
+     * the 9th month of the Coptic year. 
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final int BASHANS = 8;
+
+    /** 
+     * Constant for \u03a0\u03b1\u03c9\u03bd\u03b9/\ufeea\ufee7\u0624\ufeee\ufe91, 
+     * the 10th month of the Coptic year. 
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final int PAONA = 9;
+
+    /** 
+     * Constant for \u0395\u03c0\u03b7\u03c0/\ufe90\ufef4\ufe91\u0623, 
+     * the 11th month of the Coptic year. 
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final int EPEP = 10;
+
+    /** 
+     * Constant for \u039c\u03b5\u03f2\u03c9\u03c1\u03b7/\u0649\ufeae\ufeb4\ufee3, 
+     * the 12th month of the Coptic year. 
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final int MESRA = 11;
+
+    /** 
+     * Constant for \u03a0\u03b9\u03ba\u03bf\u03b3\u03eb\u03b9 
+     * \u03bc\u03b1\u03b2\u03bf\u03c4/\ufeae\ufef4\ufed0\ufebc\ufedf\u0627 
+     * \ufeae\ufeec\ufeb8\ufedf\u0627, 
+     * the 13th month of the Coptic year. 
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final int NASIE = 12;
+  
+    private static final int JD_EPOCH_OFFSET  = 1824665;
+
+    // init base class value, common to all constructors
+    {
+        jdEpochOffset = JD_EPOCH_OFFSET;
+    }
+
+    /**
+     * Constructs a default <code>CopticCalendar</code> using the current time
+     * in the default time zone with the default locale.
+     *
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public CopticCalendar() {
+        super();
+    }
+
+    /**
+     * Constructs a <code>CopticCalendar</code> based on the current time
+     * in the given time zone with the default locale.
+     *
+     * @param zone The time zone for the new calendar.
+     *
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public CopticCalendar(TimeZone zone) {
+        super(zone);
+    }
+
+    /**
+     * Constructs a <code>CopticCalendar</code> based on the current time
+     * in the default time zone with the given locale.
+     *
+     * @param aLocale The locale for the new calendar.
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public CopticCalendar(Locale aLocale) {
+        super(aLocale);
+    }
+
+    /**
+     * Constructs a <code>CopticCalendar</code> based on the current time
+     * in the default time zone with the given locale.
+     *
+     * @param locale The icu locale for the new calendar.
+     *
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public CopticCalendar(ULocale locale) {
+        super(locale);
+    }
+
+    /**
+     * Constructs a <code>CopticCalendar</code> based on the current time
+     * in the given time zone with the given locale.
+     *
+     * @param zone The time zone for the new calendar.
+     * @param aLocale The locale for the new calendar.
+     *
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public CopticCalendar(TimeZone zone, Locale aLocale) {
+        super(zone, aLocale);
+    }
+    
+    /**
+     * Constructs a <code>CopticCalendar</code> based on the current time
+     * in the given time zone with the given locale.
+     *
+     * @param zone The time zone for the new calendar.
+     * @param locale The icu locale for the new calendar.
+     *
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public CopticCalendar(TimeZone zone, ULocale locale) {
+        super(zone, locale);
+    }
+    
+    /**
+     * Constructs a <code>CopticCalendar</code> with the given date set
+     * in the default time zone with the default locale.
+     *
+     * @param year      The value used to set the calendar's {@link #YEAR YEAR} time field.
+     * @param month     The value used to set the calendar's {@link #MONTH MONTH} time field.
+     *                  The value is 0-based. e.g., 0 for Tout.
+     * @param date      The value used to set the calendar's {@link #DATE DATE} time field.
+     *
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public CopticCalendar(int year, int month, int date) {
+        super(year, month, date);
+    }
+
+    /**
+     * Constructs a <code>CopticCalendar</code> with the given date set
+     * in the default time zone with the default locale.
+     *
+     * @param date      The date to which the new calendar is set.
+     *
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public CopticCalendar(Date date) {
+        super(date);
+    }
+
+    /**
+     * Constructs a <code>CopticCalendar</code> with the given date
+     * and time set for the default time zone with the default locale.
+     *
+     * @param year      The value used to set the calendar's {@link #YEAR YEAR} time field.
+     * @param month     The value used to set the calendar's {@link #MONTH MONTH} time field.
+     *                  The value is 0-based. e.g., 0 for Tout.
+     * @param date      The value used to set the calendar's {@link #DATE DATE} time field.
+     * @param hour      The value used to set the calendar's {@link #HOUR_OF_DAY HOUR_OF_DAY} time field.
+     * @param minute    The value used to set the calendar's {@link #MINUTE MINUTE} time field.
+     * @param second    The value used to set the calendar's {@link #SECOND SECOND} time field.
+     *
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public CopticCalendar(int year, int month, int date, int hour,
+                          int minute, int second) {
+        super(year, month, date, hour, minute, second);
+    }
+
+    /**
+     * Convert an Coptic year, month, and day to a Julian day.
+     *
+     * @param year the year
+     * @param month the month
+     * @param date the day
+     *
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static int copticToJD(long year, int month, int date) {
+        return ceToJD(year, month, date, JD_EPOCH_OFFSET);
+    }
+    
+    /**
+     * @internal ICU 3.4
+     */
+    public static Integer[] getDateFromJD(int julianDay) {
+        return getDateFromJD(julianDay, JD_EPOCH_OFFSET);
+    }
+
+    /**
+     * Return the current Calendar type.
+     * @return type of calendar (gregorian, etc.)
+     * @internal ICU 3.4
+     */
+    public String getType() {
+        return "coptic";
+    }
+}
+
diff --git a/src/com/ibm/icu/util/Currency.java b/src/com/ibm/icu/util/Currency.java
new file mode 100644
index 0000000..f991be8
--- /dev/null
+++ b/src/com/ibm/icu/util/Currency.java
@@ -0,0 +1,747 @@
+/**
+ *******************************************************************************
+ * Copyright (C) 2001-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.util;
+
+import java.io.Serializable;
+import java.text.ChoiceFormat;
+import java.text.ParsePosition;
+import java.util.Locale;
+import java.util.MissingResourceException;
+
+import com.ibm.icu.impl.ICUDebug;
+import com.ibm.icu.impl.ICUResourceBundle;
+import com.ibm.icu.impl.LocaleUtility;
+
+/**
+ * A class encapsulating a currency, as defined by ISO 4217.  A
+ * <tt>Currency</tt> object can be created given a <tt>Locale</tt> or
+ * given an ISO 4217 code.  Once created, the <tt>Currency</tt> object
+ * can return various data necessary to its proper display:
+ *
+ * <ul><li>A display symbol, for a specific locale
+ * <li>The number of fraction digits to display
+ * <li>A rounding increment
+ * </ul>
+ *
+ * The <tt>DecimalFormat</tt> class uses these data to display
+ * currencies.
+ *
+ * <p>Note: This class deliberately resembles
+ * <tt>java.util.Currency</tt> but it has a completely independent
+ * implementation, and adds features not present in the JDK.
+ * @author Alan Liu
+ * @stable ICU 2.2
+ */
+public class Currency extends MeasureUnit implements Serializable {
+    // using serialver from jdk1.4.2_05
+    private static final long serialVersionUID = -5839973855554750484L;
+    private static final boolean DEBUG = ICUDebug.enabled("currency");
+    /**
+     * ISO 4217 3-letter code.
+     */
+    private String isoCode;
+
+    /**
+     * Selector for getName() indicating a symbolic name for a
+     * currency, such as "$" for USD.
+     * @stable ICU 2.6
+     */
+    public static final int SYMBOL_NAME = 0;
+
+    /**
+     * Selector for ucurr_getName indicating the long name for a
+     * currency, such as "US Dollar" for USD.
+     * @stable ICU 2.6
+     */
+    public static final int LONG_NAME = 1;
+
+    // begin registry stuff
+
+    // shim for service code
+    /* package */ static abstract class ServiceShim {
+        abstract ULocale[] getAvailableULocales();
+        abstract Locale[] getAvailableLocales();
+        abstract Currency createInstance(ULocale l);
+        abstract Object registerInstance(Currency c, ULocale l);
+        abstract boolean unregister(Object f);
+    }
+
+    private static ServiceShim shim;
+    private static ServiceShim getShim() {
+        // Note: this instantiation is safe on loose-memory-model configurations
+        // despite lack of synchronization, since the shim instance has no state--
+        // it's all in the class init.  The worst problem is we might instantiate
+        // two shim instances, but they'll share the same state so that's ok.
+        if (shim == null) {
+            try {
+                Class cls = Class.forName("com.ibm.icu.util.CurrencyServiceShim");
+                shim = (ServiceShim)cls.newInstance();
+            }
+            catch (Exception e) {
+                if(DEBUG){
+                    e.printStackTrace();
+                }
+                throw new RuntimeException(e.getMessage());
+            }
+        }
+        return shim;
+    }
+
+    /**
+     * Returns a currency object for the default currency in the given
+     * locale.
+     * @param locale the locale
+     * @return the currency object for this locale
+     * @stable ICU 2.2
+     */
+    public static Currency getInstance(Locale locale) {
+        return getInstance(ULocale.forLocale(locale));
+    }
+
+    /**
+     * Returns a currency object for the default currency in the given
+     * locale.
+     * @draft ICU 3.2
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static Currency getInstance(ULocale locale) {
+    String currency = locale.getKeywordValue("currency");
+    if (currency != null) {
+        return getInstance(currency);
+    }
+
+        if (shim == null) {
+            return createCurrency(locale);
+        }
+
+        return shim.createInstance(locale);
+    }
+
+    /**
+     * Instantiate a currency from a resource bundle found in Locale loc.
+     */
+    /* package */ static Currency createCurrency(ULocale loc) {
+        // TODO: check, this munging might not be required for ULocale
+        String country = loc.getCountry();
+        String variant = loc.getVariant();
+        if (variant.equals("PREEURO") || variant.equals("EURO")) {
+            country = country + '_' + variant;
+        }
+        ICUResourceBundle bundle = (ICUResourceBundle) ICUResourceBundle.getBundleInstance(ICUResourceBundle.ICU_BASE_NAME,"CurrencyData", true);
+        if(bundle==null){
+            //throw new MissingResourceException()
+        }
+        ICUResourceBundle cm = bundle.get("CurrencyMap");
+
+        // Do a linear search
+        String curriso = null;
+        try{
+            curriso = cm.getString(country);
+        if (curriso != null) {
+        return new Currency(curriso);
+        }
+        }catch(MissingResourceException ex){
+         //do nothing
+        }
+    return null;
+        /*
+        for (int i=0; i<cm.length; ++i) {
+            if (country.equals((String) cm[i][0])) {
+                curriso = (String) cm[i][1];
+                break;
+            }
+        }
+
+        Currency curr = null;
+        if (curriso != null) {
+
+            curr = new Currency(curriso);
+
+            // TODO: Determine valid and actual locale correctly.
+            ULocale uloc = bundle.getULocale();
+            curr.setLocale(uloc, uloc);
+        }
+        return curr;
+        */
+    }
+
+    /**
+     * Returns a currency object given an ISO 4217 3-letter code.
+     * @param theISOCode the iso code
+     * @return the currency for this iso code
+     * @stable ICU 2.2
+     */
+    public static Currency getInstance(String theISOCode) {
+        return new Currency(theISOCode);
+    }
+
+    /**
+     * Registers a new currency for the provided locale.  The returned object
+     * is a key that can be used to unregister this currency object.
+     * @param currency the currency to register
+     * @param locale the ulocale under which to register the currency
+     * @return a registry key that can be used to unregister this currency
+     * @see #unregister
+     * @draft ICU 3.2
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static Object registerInstance(Currency currency, ULocale locale) {
+        return getShim().registerInstance(currency, locale);
+    }
+
+    /**
+     * Unregister the currency associated with this key (obtained from
+     * registerInstance).
+     * @param registryKey the registry key returned from registerInstance
+     * @see #registerInstance
+     * @stable ICU 2.6
+     */
+    public static boolean unregister(Object registryKey) {
+        if (registryKey == null) {
+            throw new IllegalArgumentException("registryKey must not be null");
+        }
+        if (shim == null) {
+            return false;
+        }
+        return shim.unregister(registryKey);
+    }
+
+    /**
+     * Return an array of the locales for which a currency
+     * is defined.
+     * @return an array of the available locales
+     * @stable ICU 2.2
+     */
+    public static Locale[] getAvailableLocales() {
+        if (shim == null) {
+            return ICUResourceBundle.getAvailableLocales(ICUResourceBundle.ICU_BASE_NAME);
+        } else {
+            return shim.getAvailableLocales();
+        }
+    }
+
+    /**
+     * Return an array of the ulocales for which a currency
+     * is defined.
+     * @return an array of the available ulocales
+     * @stable ICU 3.2
+     */
+    public static ULocale[] getAvailableULocales() {
+        if (shim == null) {
+            return ICUResourceBundle.getAvailableULocales(ICUResourceBundle.ICU_BASE_NAME);
+        } else {
+            return shim.getAvailableULocales();
+        }
+    }
+
+    // end registry stuff
+
+    /**
+     * Return a hashcode for this currency.
+     * @stable ICU 2.2
+     */
+    public int hashCode() {
+        return isoCode.hashCode();
+    }
+
+    /**
+     * Return true if rhs is a Currency instance,
+     * is non-null, and has the same currency code.
+     * @stable ICU 2.2
+     */
+    public boolean equals(Object rhs) {
+        if (rhs == null) return false;
+        if (rhs == this) return true;
+        try {
+            Currency c = (Currency) rhs;
+            return isoCode.equals(c.isoCode);
+        }
+        catch (ClassCastException e) {
+            return false;
+        }
+    }
+
+    /**
+     * Returns the ISO 4217 3-letter code for this currency object.
+     * @stable ICU 2.2
+     */
+    public String getCurrencyCode() {
+        return isoCode;
+    }
+
+    /**
+     * Convenience and compatibility override of getName that
+     * requests the symbol name.
+     * @see #getName
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public String getSymbol() {
+	return getSymbol(ULocale.getDefault());
+    }
+
+    /**
+     * Convenience and compatibility override of getName that
+     * requests the symbol name.
+     * @param loc the Locale for the symbol
+     * @see #getName
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public String getSymbol(Locale loc) {
+	return getSymbol(ULocale.forLocale(loc));
+    }
+
+    /**
+     * Convenience and compatibility override of getName that
+     * requests the symbol name.
+     * @param uloc the ULocale for the symbol
+     * @see #getName
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public String getSymbol(ULocale uloc) {
+	return getName(uloc, SYMBOL_NAME, new boolean[1]);
+    }
+
+    /**
+     * Returns the display name for the given currency in the
+     * given locale.  For example, the display name for the USD
+     * currency object in the en_US locale is "$".
+     * @param locale locale in which to display currency
+     * @param nameStyle selector for which kind of name to return
+     * @param isChoiceFormat fill-in; isChoiceFormat[0] is set to true
+     * if the returned value is a ChoiceFormat pattern; otherwise it
+     * is set to false
+     * @return display string for this currency.  If the resource data
+     * contains no entry for this currency, then the ISO 4217 code is
+     * returned.  If isChoiceFormat[0] is true, then the result is a
+     * ChoiceFormat pattern.  Otherwise it is a static string.
+     * @draft ICU 3.2
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public String getName(Locale locale,
+                          int nameStyle,
+                          boolean[] isChoiceFormat) {
+	return getName(ULocale.forLocale(locale), nameStyle, isChoiceFormat);
+    }
+
+    /**
+     * Returns the display name for the given currency in the
+     * given locale.  For example, the display name for the USD
+     * currency object in the en_US locale is "$".
+     * @param locale locale in which to display currency
+     * @param nameStyle selector for which kind of name to return
+     * @param isChoiceFormat fill-in; isChoiceFormat[0] is set to true
+     * if the returned value is a ChoiceFormat pattern; otherwise it
+     * is set to false
+     * @return display string for this currency.  If the resource data
+     * contains no entry for this currency, then the ISO 4217 code is
+     * returned.  If isChoiceFormat[0] is true, then the result is a
+     * ChoiceFormat pattern.  Otherwise it is a static string.
+     * @draft ICU 3.2
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public String getName(ULocale locale,
+                          int nameStyle,
+                          boolean[] isChoiceFormat) {
+
+        // Look up the Currencies resource for the given locale.  The
+        // Currencies locale data looks like this:
+        //|en {
+        //|  Currencies {
+        //|    USD { "US$", "US Dollar" }
+        //|    CHF { "Sw F", "Swiss Franc" }
+        //|    INR { "=0#Rs|1#Re|1<Rs", "=0#Rupees|1#Rupee|1<Rupees" }
+        //|    //...
+        //|  }
+        //|}
+
+        if (nameStyle < 0 || nameStyle > 1) {
+            throw new IllegalArgumentException();
+        }
+
+        // In the future, resource bundles may implement multi-level
+        // fallback.  That is, if a currency is not found in the en_US
+        // Currencies data, then the en Currencies data will be searched.
+        // Currently, if a Currencies datum exists in en_US and en, the
+        // en_US entry hides that in en.
+
+        // We want multi-level fallback for this resource, so we implement
+        // it manually.
+
+        String s = null;
+
+        // Multi-level resource inheritance fallback loop
+         try {
+             ICUResourceBundle rb = (ICUResourceBundle)UResourceBundle.getBundleInstance(ICUResourceBundle.ICU_BASE_NAME,locale);
+             // We can't cast this to String[][]; the cast has to happen later
+
+            ICUResourceBundle currencies = rb.get("Currencies");
+            s = currencies.getWithFallback(isoCode).getString(nameStyle);
+        }catch (MissingResourceException e) {
+            //TODO what should be done here?
+        }
+
+        // Determine if this is a ChoiceFormat pattern.  One leading mark
+        // indicates a ChoiceFormat.  Two indicates a static string that
+        // starts with a mark.  In either case, the first mark is ignored,
+        // if present.  Marks in the rest of the string have no special
+        // meaning.
+        isChoiceFormat[0] = false;
+        if (s != null) {
+            int i=0;
+            while (i < s.length() && s.charAt(i) == '=' && i < 2) {
+                ++i;
+            }
+            isChoiceFormat[0]= (i == 1);
+            if (i != 0) {
+                // Skip over first mark
+                s = s.substring(1);
+            }
+            return s;
+        }
+
+        // If we fail to find a match, use the ISO 4217 code
+        return isoCode;
+    }
+
+    /**
+     * Attempt to parse the given string as a currency, either as a
+     * display name in the given locale, or as a 3-letter ISO 4217
+     * code.  If multiple display names match, then the longest one is
+     * selected.  If both a display name and a 3-letter ISO code
+     * match, then the display name is preferred, unless it's length
+     * is less than 3.
+     *
+     * @param locale the locale of the display names to match
+     * @param text the text to parse
+     * @param pos input-output position; on input, the position within
+     * text to match; must have 0 <= pos.getIndex() < text.length();
+     * on output, the position after the last matched character. If
+     * the parse fails, the position in unchanged upon output.
+     * @return the ISO 4217 code, as a string, of the best match, or
+     * null if there is no match
+     *
+     * @internal
+     */
+    public static String parse(ULocale locale, String text, ParsePosition pos) {
+
+        // TODO: There is a slight problem with the pseudo-multi-level
+        // fallback implemented here.  More-specific locales don't
+        // properly shield duplicate entries in less-specific locales.
+        // This problem will go away when real multi-level fallback is
+        // implemented.  We could also fix this by recording (in a
+        // hash) which codes are used at each level of fallback, but
+        // this doesn't seem warranted.
+
+        int start = pos.getIndex();
+        String fragment = text.substring(start);
+
+        String iso = null;
+        int max = 0;
+
+        // Look up the Currencies resource for the given locale.  The
+        // Currencies locale data looks like this:
+        //|en {
+        //|  Currencies {
+        //|    USD { "US$", "US Dollar" }
+        //|    CHF { "Sw F", "Swiss Franc" }
+        //|    INR { "=0#Rs|1#Re|1<Rs", "=0#Rupees|1#Rupee|1<Rupees" }
+        //|    //...
+        //|  }
+        //|}
+
+        // In the future, resource bundles may implement multi-level
+        // fallback.  That is, if a currency is not found in the en_US
+        // Currencies data, then the en Currencies data will be searched.
+        // Currently, if a Currencies datum exists in en_US and en, the
+        // en_US entry hides that in en.
+
+        // We want multi-level fallback for this resource, so we implement
+        // it manually.
+
+        // Multi-level resource inheritance fallback loop
+
+        while (locale != null) {
+            ICUResourceBundle rb = (ICUResourceBundle)UResourceBundle.getBundleInstance(ICUResourceBundle.ICU_BASE_NAME,locale);
+            // We can't cast this to String[][]; the cast has to happen later
+
+            try {
+                ICUResourceBundle currencies = rb.get("Currencies");
+                // Do a linear search
+                for (int i=0; i<currencies.getSize(); ++i) {
+                    //String name = ((String[]) currencies[i][1])[0];
+                    ICUResourceBundle item = currencies.get(i);
+                    String name = item.getString(0);
+                    if (name.length() < 1) {
+                        // Ignore zero-length names -- later, change this
+                        // when zero-length is used to mean something.
+                        continue;
+                    } else if (name.charAt(0) == '=') {
+                        name = name.substring(1);
+                        if (name.length() > 0 && name.charAt(0) != '=') {
+                            ChoiceFormat choice = new ChoiceFormat(name);
+                            // Number n =
+                            choice.parse(text, pos);
+                            int len = pos.getIndex() - start;
+                            if (len > max) {
+                                iso = item.getKey();
+                                max = len;
+                            }
+                            pos.setIndex(start);
+                            continue;
+                        }
+                    }
+                    if (name.length() > max && fragment.startsWith(name)) {
+                        iso = item.getKey();
+                        max = name.length();
+                    }
+                }
+            }
+            catch (MissingResourceException e) {}
+
+            locale = locale.getFallback();
+        }
+
+        /*
+        1. Look at the Currencies array from the locale
+            1a. Iterate through it, and check each row to see if row[1] matches
+                1a1. If row[1] is a pattern, use ChoiceFormat to attempt a parse
+            1b. Upon a match, return the ISO code stored at row[0]
+        2. If there is no match, fall back to "en" and try again
+        3. If there is no match, fall back to root and try again
+        4. If still no match, parse 3-letter ISO {this code is probably unchanged}.
+
+        ICUResourceBundle rb = (ICUResourceBundle)UResourceBundle.getBundleInstance(UResourceBundle.ICU_BASE_NAME, locale);
+        ICUResourceBundle currencies = rb.get("Currencies");
+        */
+        // If display name parse fails or if it matches fewer than 3
+        // characters, try to parse 3-letter ISO.  Do this after the
+        // display name processing so 3-letter display names are
+        // preferred.  Consider /[A-Z]{3}/ to be valid ISO, and parse
+        // it manually--UnicodeSet/regex are too slow and heavy.
+        if (max < 3 && (text.length() - start) >= 3) {
+            boolean valid = true;
+            for (int k=0; k<3; ++k) {
+                char ch = text.charAt(start + k); // 16-bit ok
+                if (ch < 'A' || ch > 'Z') {
+                    valid = false;
+                    break;
+                }
+            }
+            if (valid) {
+                iso = text.substring(start, start+3);
+                max = 3;
+            }
+        }
+
+        pos.setIndex(start + max);
+        return iso;
+    }
+
+    /**
+     * Returns the number of the number of fraction digits that should
+     * be displayed for this currency.
+     * @return a non-negative number of fraction digits to be
+     * displayed
+     * @stable ICU 2.2
+     */
+    public int getDefaultFractionDigits() {
+        return (findData())[0];
+    }
+
+    /**
+     * Returns the rounding increment for this currency, or 0.0 if no
+     * rounding is done by this currency.
+     * @return the non-negative rounding increment, or 0.0 if none
+     * @stable ICU 2.2
+     */
+    public double getRoundingIncrement() {
+        int[] data = findData();
+
+        int data1 = data[1]; // rounding increment
+
+        // If there is no rounding return 0.0 to indicate no rounding.
+        // This is the high-runner case, by far.
+        if (data1 == 0) {
+            return 0.0;
+        }
+
+        int data0 = data[0]; // fraction digits
+
+        // If the meta data is invalid, return 0.0 to indicate no rounding.
+        if (data0 < 0 || data0 >= POW10.length) {
+            return 0.0;
+        }
+
+        // Return data[1] / 10^(data[0]).  The only actual rounding data,
+        // as of this writing, is CHF { 2, 25 }.
+        return (double) data1 / POW10[data0];
+    }
+
+    /**
+     * Returns the ISO 4217 code for this currency.
+     * @stable ICU 2.2
+     */
+    public String toString() {
+        return isoCode;
+    }
+
+    /**
+     * Constructs a currency object for the given ISO 4217 3-letter
+     * code.  This constructor assumes that the code is valid.
+     * 
+     * @param theISOCode The iso code used to construct the currency.
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    protected Currency(String theISOCode) {
+        isoCode = theISOCode;
+    }
+
+    /**
+     * Internal function to look up currency data.  Result is an array of
+     * two Integers.  The first is the fraction digits.  The second is the
+     * rounding increment, or 0 if none.  The rounding increment is in
+     * units of 10^(-fraction_digits).
+     */
+    private int[] findData() {
+
+        try {
+            // Get CurrencyMeta resource out of root locale file.  [This may
+            // move out of the root locale file later; if it does, update this
+            // code.]
+            ICUResourceBundle root = ICUResourceBundle.createBundle(ICUResourceBundle.ICU_BASE_NAME,"CurrencyData", ICUResourceBundle.ICU_DATA_CLASS_LOADER);
+            ICUResourceBundle currencyMeta = root.get("CurrencyMeta");
+
+            //Integer[] i = null;
+            //int defaultPos = -1;
+            int[] i = currencyMeta.get(isoCode).getIntVector();
+
+            // Do a linear search for isoCode.  At the same time,
+            // record the position of the DEFAULT meta data.  If the
+            // meta data becomes large, make this faster.
+            /*for (int j=0; j<currencyMeta.length; ++j) {
+                Object[] row = currencyMeta[j];
+                String s = (String) row[0];
+                int c = isoCode.compareToIgnoreCase(s);
+                if (c == 0) {
+                    i = (Integer[]) row[1];
+                    break;
+                }
+                if ("DEFAULT".equalsIgnoreCase(s)) {
+                    defaultPos = j;
+                }
+                if (c < 0 && defaultPos >= 0) {
+                    break;
+                }
+            }
+            */
+            if (i == null) {
+                i = currencyMeta.get("DEFAULT").getIntVector();
+            }
+
+            if (i != null && i.length >= 2) {
+                return i;
+            }
+        }
+        catch (MissingResourceException e) {}
+
+        // Config/build error; return hard-coded defaults
+        return LAST_RESORT_DATA;
+    }
+
+    // Default currency meta data of last resort.  We try to use the
+    // defaults encoded in the meta data resource bundle.  If there is a
+    // configuration/build error and these are not available, we use these
+    // hard-coded defaults (which should be identical).
+    private static final int[] LAST_RESORT_DATA = new int[] { 2, 0 };
+
+    // POW10[i] = 10^i
+    private static final int[] POW10 = { 1, 10, 100, 1000, 10000, 100000,
+                                1000000, 10000000, 100000000, 1000000000 };
+
+    // -------- BEGIN ULocale boilerplate --------
+
+    /**
+     * Return the locale that was used to create this object, or null.
+     * This may may differ from the locale requested at the time of
+     * this object's creation.  For example, if an object is created
+     * for locale <tt>en_US_CALIFORNIA</tt>, the actual data may be
+     * drawn from <tt>en</tt> (the <i>actual</i> locale), and
+     * <tt>en_US</tt> may be the most specific locale that exists (the
+     * <i>valid</i> locale).
+     *
+     * <p>Note: This method will be obsoleted.  The implementation is
+     * no longer locale-specific and so there is no longer a valid or
+     * actual locale associated with the Currency object.  Until
+     * it is removed, this method will return the root locale.
+     * @param type type of information requested, either {@link
+     * com.ibm.icu.util.ULocale#VALID_LOCALE} or {@link
+     * com.ibm.icu.util.ULocale#ACTUAL_LOCALE}.
+     * @return the information specified by <i>type</i>, or null if
+     * this object was not constructed from locale data.
+     * @see com.ibm.icu.util.ULocale
+     * @see com.ibm.icu.util.ULocale#VALID_LOCALE
+     * @see com.ibm.icu.util.ULocale#ACTUAL_LOCALE
+     * @obsolete ICU 3.2 to be removed
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public final ULocale getLocale(ULocale.Type type) {
+    return ULocale.ROOT;
+    }
+
+    /**
+     * Set information about the locales that were used to create this
+     * object.  If the object was not constructed from locale data,
+     * both arguments should be set to null.  Otherwise, neither
+     * should be null.  The actual locale must be at the same level or
+     * less specific than the valid locale.  This method is intended
+     * for use by factories or other entities that create objects of
+     * this class.
+     * @param valid the most specific locale containing any resource
+     * data, or null
+     * @param actual the locale containing data used to construct this
+     * object, or null
+     * @see com.ibm.icu.util.ULocale
+     * @see com.ibm.icu.util.ULocale#VALID_LOCALE
+     * @see com.ibm.icu.util.ULocale#ACTUAL_LOCALE
+     * @internal
+     */
+    final void setLocale(ULocale valid, ULocale actual) {
+        // Change the following to an assertion later
+        if ((valid == null) != (actual == null)) {
+            ///CLOVER:OFF
+            throw new IllegalArgumentException();
+            ///CLOVER:ON
+        }
+        // Another check we could do is that the actual locale is at
+        // the same level or less specific than the valid locale.
+        this.validLocale = valid;
+        this.actualLocale = actual;
+    }
+
+    /**
+     * The most specific locale containing any resource data, or null.
+     * @see com.ibm.icu.util.ULocale
+     * @internal
+     */
+    private ULocale validLocale;
+
+    /**
+     * The locale containing data used to construct this object, or
+     * null.
+     * @see com.ibm.icu.util.ULocale
+     * @internal
+     */
+    private ULocale actualLocale;
+
+    // -------- END ULocale boilerplate --------
+}
+
+//eof
diff --git a/src/com/ibm/icu/util/CurrencyAmount.java b/src/com/ibm/icu/util/CurrencyAmount.java
new file mode 100644
index 0000000..dcb3bd4
--- /dev/null
+++ b/src/com/ibm/icu/util/CurrencyAmount.java
@@ -0,0 +1,58 @@
+/*
+**********************************************************************
+* Copyright (c) 2004, International Business Machines
+* Corporation and others.  All Rights Reserved.
+**********************************************************************
+* Author: Alan Liu
+* Created: April 12, 2004
+* Since: ICU 3.0
+**********************************************************************
+*/
+package com.ibm.icu.util;
+
+import java.lang.Number;
+
+/**
+ * An amount of currency, consisting of a Number and a Currency.
+ * CurrencyAmount objects are immutable.
+ *
+ * @see java.lang.Number
+ * @see Currency
+ * @author Alan Liu
+ * @draft ICU 3.0
+ * @deprecated This is a draft API and might change in a future release of ICU.
+ */
+public class CurrencyAmount extends Measure {
+    
+    /**
+     * Constructs a new object given a number and a currency.
+     * @param number the number
+     * @param currency the currency
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public CurrencyAmount(Number number, Currency currency) {
+        super(number, currency);
+    }
+
+    /**
+     * Constructs a new object given a double value and a currency.
+     * @param number a double value
+     * @param currency the currency
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public CurrencyAmount(double number, Currency currency) {
+        super(new Double(number), currency);
+    }    
+    
+    /**
+     * Returns the currency of this object.
+     * @return this object's Currency
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public Currency getCurrency() {
+        return (Currency) getUnit();
+    }
+}
diff --git a/src/com/ibm/icu/util/CurrencyServiceShim.java b/src/com/ibm/icu/util/CurrencyServiceShim.java
new file mode 100644
index 0000000..8058cb3
--- /dev/null
+++ b/src/com/ibm/icu/util/CurrencyServiceShim.java
@@ -0,0 +1,75 @@
+/**
+ *******************************************************************************
+ * Copyright (C) 2001-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+package com.ibm.icu.util;
+
+import java.util.Locale;
+
+import com.ibm.icu.impl.ICUResourceBundle;
+import com.ibm.icu.impl.ICUService;
+import com.ibm.icu.impl.ICUService.Factory;
+import com.ibm.icu.impl.ICULocaleService;
+
+/**
+ * This is a package-access implementation of registration for
+ * currency.  The shim is instantiated by reflection in Currency, all
+ * dependencies on ICUService are located in this file. This structure
+ * is to allow ICU4J to be built without service registration support.  
+ */
+final class CurrencyServiceShim extends Currency.ServiceShim {
+    
+    Locale[] getAvailableLocales() {
+        if (service.isDefault()) {
+            return ICUResourceBundle.getAvailableLocales(ICUResourceBundle.ICU_BASE_NAME);
+        }
+        return service.getAvailableLocales();
+    }
+
+    ULocale[] getAvailableULocales() {
+        if (service.isDefault()) {
+            return ICUResourceBundle.getAvailableULocales(ICUResourceBundle.ICU_BASE_NAME);
+        }
+        return service.getAvailableULocales();
+    }
+
+    Currency createInstance(ULocale loc) {
+        // TODO: convert to ULocale when service switches over
+
+        if (service.isDefault()) {
+            return Currency.createCurrency(loc);
+        }
+        ULocale[] actualLoc = new ULocale[1];
+    Currency curr = (Currency)service.get(loc, actualLoc);
+        ULocale uloc = actualLoc[0];
+        curr.setLocale(uloc, uloc); // services make no distinction between actual & valid
+        return curr;
+    }
+
+    Object registerInstance(Currency currency, ULocale locale) {
+        return service.registerObject(currency, locale);
+    }
+    
+    boolean unregister(Object registryKey) {
+        return service.unregisterFactory((Factory)registryKey);
+    }
+
+    private static class CFService extends ICULocaleService {
+        CFService() {
+            super("Currency");
+
+            class CurrencyFactory extends ICUResourceBundleFactory {
+                protected Object handleCreate(ULocale loc, int kind, ICUService service) {
+                    return Currency.createCurrency(loc);
+                }
+            }
+            
+            registerFactory(new CurrencyFactory());
+            markDefault();
+        }
+    }
+    static final ICULocaleService service = new CFService();
+}
diff --git a/src/com/ibm/icu/util/DateRule.java b/src/com/ibm/icu/util/DateRule.java
new file mode 100755
index 0000000..c6725b9
--- /dev/null
+++ b/src/com/ibm/icu/util/DateRule.java
@@ -0,0 +1,77 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+package com.ibm.icu.util;
+
+import java.util.Date;
+
+/**
+ * DateRule is an interface for calculating the date of an event.
+ * It supports both recurring events and those which occur only once.
+ * DateRule is useful for storing information about holidays,
+ * Daylight Savings Time rules, and other events such as meetings.
+ *
+ * @see SimpleDateRule
+ * @draft ICU 2.8 (retainAll)
+ * @deprecated This is a draft API and might change in a future release of ICU.
+ */
+public interface DateRule
+{
+    /**
+     * Return the first occurrance of the event represented by this rule
+     * that is on or after the given start date.
+     *
+     * @param start Only occurrances on or after this date are returned.
+     *
+     * @return      The date on which this event occurs, or null if it
+     *              does not occur on or after the start date.
+     *
+     * @see #firstBetween
+     * @draft ICU 2.8
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    abstract public Date    firstAfter(Date start);
+
+    /**
+     * Return the first occurrance of the event represented by this rule
+     * that is on or after the given start date and before the given
+     * end date.
+     *
+     * @param start Only occurrances on or after this date are returned.
+     * @param end   Only occurrances before this date are returned.
+     *
+     * @return      The date on which this event occurs, or null if it
+     *              does not occur between the start and end dates.
+     *
+     * @see #firstAfter
+     * @draft ICU 2.8
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    abstract public Date    firstBetween(Date start, Date end);
+
+    /**
+     * Checks whether this event occurs on the given date.  This does
+     * <em>not</em> take time of day into account; instead it checks
+     * whether this event and the given date are on the same day.
+     * This is useful for applications such as determining whether a given
+     * day is a holiday.
+     *
+     * @param date  The date to check.
+     * @return      true if this event occurs on the given date.
+     * @draft ICU 2.8
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    abstract public boolean isOn(Date date);
+
+    /**
+     * Check whether this event occurs at least once between the two
+     * dates given.
+     * @draft ICU 2.8
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    abstract public boolean isBetween(Date start, Date end);
+};
diff --git a/src/com/ibm/icu/util/EasterHoliday.java b/src/com/ibm/icu/util/EasterHoliday.java
new file mode 100755
index 0000000..ddd06f1
--- /dev/null
+++ b/src/com/ibm/icu/util/EasterHoliday.java
@@ -0,0 +1,287 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+package com.ibm.icu.util;
+
+import java.util.Date;
+
+/**
+ * A Holiday subclass which represents holidays that occur
+ * a fixed number of days before or after Easter.  Supports both the
+ * Western and Orthodox methods for calculating Easter.
+ * @draft ICU 2.8 (retainAll)
+ * @deprecated This is a draft API and might change in a future release of ICU.
+ */
+public class EasterHoliday extends Holiday
+{
+    /**
+     * Construct a holiday that falls on Easter Sunday every year
+     *
+     * @param name The name of the holiday
+     * @draft ICU 2.8
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public EasterHoliday(String name)
+    {
+        super(name, new EasterRule(0, false));
+    }
+
+    /**
+     * Construct a holiday that falls a specified number of days before
+     * or after Easter Sunday each year.
+     *
+     * @param daysAfter The number of days before (-) or after (+) Easter
+     * @param name      The name of the holiday
+     * @draft ICU 2.8
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public EasterHoliday(int daysAfter, String name)
+    {
+        super(name, new EasterRule(daysAfter, false));
+    }
+
+    /**
+     * Construct a holiday that falls a specified number of days before
+     * or after Easter Sunday each year, using either the Western
+     * or Orthodox calendar.
+     *
+     * @param daysAfter The number of days before (-) or after (+) Easter
+     * @param orthodox  Use the Orthodox calendar?
+     * @param name      The name of the holiday
+     * @draft ICU 2.8
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public EasterHoliday(int daysAfter, boolean orthodox, String name)
+    {
+        super(name, new EasterRule(daysAfter, orthodox));
+    }
+
+    /**
+     * Shrove Tuesday, aka Mardi Gras, 48 days before Easter
+     * @draft ICU 2.8
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    static public final EasterHoliday SHROVE_TUESDAY  = new EasterHoliday(-48,    "Shrove Tuesday");
+
+    /**
+     * Ash Wednesday, start of Lent, 47 days before Easter
+     * @draft ICU 2.8
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    static public final EasterHoliday ASH_WEDNESDAY   = new EasterHoliday(-47,    "Ash Wednesday");
+
+    /**
+     * Palm Sunday, 7 days before Easter
+     * @draft ICU 2.8
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    static public final EasterHoliday PALM_SUNDAY     = new EasterHoliday( -7,    "Palm Sunday");
+
+    /**
+     * Maundy Thursday, 3 days before Easter
+     * @draft ICU 2.8
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    static public final EasterHoliday MAUNDY_THURSDAY = new EasterHoliday( -3,    "Maundy Thursday");
+
+    /**
+     * Good Friday, 2 days before Easter
+     * @draft ICU 2.8
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    static public final EasterHoliday GOOD_FRIDAY     = new EasterHoliday( -2,    "Good Friday");
+
+    /**
+     * Easter Sunday
+     * @draft ICU 2.8
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    static public final EasterHoliday EASTER_SUNDAY   = new EasterHoliday(  0,    "Easter Sunday");
+
+    /**
+     * Easter Monday, 1 day after Easter
+     * @draft ICU 2.8
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    static public final EasterHoliday EASTER_MONDAY   = new EasterHoliday(  1,    "Easter Monday");
+
+    /**
+     * Ascension, 39 days after Easter
+     * @draft ICU 2.8
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    static public final EasterHoliday ASCENSION       = new EasterHoliday( 39,    "Ascension");
+
+    /**
+     * Pentecost (aka Whit Sunday), 49 days after Easter
+     * @draft ICU 2.8
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    static public final EasterHoliday PENTECOST       = new EasterHoliday( 49,    "Pentecost");
+
+    /**
+     * Whit Sunday (aka Pentecost), 49 days after Easter
+     * @draft ICU 2.8
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    static public final EasterHoliday WHIT_SUNDAY     = new EasterHoliday( 49,    "Whit Sunday");
+
+    /**
+     * Whit Monday, 50 days after Easter
+     * @draft ICU 2.8
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    static public final EasterHoliday WHIT_MONDAY     = new EasterHoliday( 50,    "Whit Monday");
+
+    /**
+     * Corpus Christi, 60 days after Easter
+     * @draft ICU 2.8
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    static public final EasterHoliday CORPUS_CHRISTI  = new EasterHoliday( 60,    "Corpus Christi");
+}
+
+class EasterRule implements DateRule {
+    public EasterRule(int daysAfterEaster, boolean isOrthodox) {
+        this.daysAfterEaster = daysAfterEaster;
+        if (isOrthodox) {
+            orthodox.setGregorianChange(new Date(Long.MAX_VALUE));
+            calendar = orthodox;
+        }
+    }
+
+    /**
+     * Return the first occurrance of this rule on or after the given date
+     */
+    public Date firstAfter(Date start)
+    {
+        return doFirstBetween(start, null);
+    }
+
+    /**
+     * Return the first occurrance of this rule on or after
+     * the given start date and before the given end date.
+     */
+    public Date firstBetween(Date start, Date end)
+    {
+        return doFirstBetween(start, end);
+    }
+
+    /**
+     * Return true if the given Date is on the same day as Easter
+     */
+    public boolean isOn(Date date)
+    {
+        synchronized(calendar) {
+            calendar.setTime(date);
+            int dayOfYear = calendar.get(Calendar.DAY_OF_YEAR);
+
+            calendar.setTime(computeInYear(calendar.getTime(), calendar));
+
+            return calendar.get(Calendar.DAY_OF_YEAR) == dayOfYear;
+        }
+    }
+
+    /**
+     * Return true if Easter occurs between the two dates given
+     */
+    public boolean isBetween(Date start, Date end)
+    {
+        return firstBetween(start, end) != null; // TODO: optimize?
+    }
+
+    private Date doFirstBetween(Date start, Date end)
+    {
+        //System.out.println("doFirstBetween: start   = " + start.toString());
+        //System.out.println("doFirstBetween: end     = " + end.toString());
+
+        synchronized(calendar) {
+            // Figure out when this holiday lands in the given year
+            Date result = computeInYear(start, calendar);
+
+         //System.out.println("                result  = " + result.toString());
+
+            // We might have gotten a date that's in the same year as "start", but
+            // earlier in the year.  If so, go to next year
+            if (result.before(start))
+            {
+                calendar.setTime(start);
+                calendar.get(Calendar.YEAR);    // JDK 1.1.2 bug workaround
+                calendar.add(Calendar.YEAR, 1);
+
+                //System.out.println("                Result before start, going to next year: "
+                //                        + calendar.getTime().toString());
+
+                result = computeInYear(calendar.getTime(), calendar);
+                //System.out.println("                result  = " + result.toString());
+            }
+
+            if (end != null && result.after(end)) {
+                //System.out.println("Result after end, returning null");
+                return null;
+            }
+            return result;
+        }
+    }
+
+    /**
+     * Compute the month and date on which this holiday falls in the year
+     * containing the date "date".  First figure out which date Easter
+     * lands on in this year, and then add the offset for this holiday to get
+     * the right date.
+     * <p>
+     * The algorithm here is taken from the
+     * <a href="http://www.faqs.org/faqs/calendars/faq/">Calendar FAQ</a>.
+     */
+    private Date computeInYear(Date date, GregorianCalendar cal)
+    {
+        if (cal == null) cal = calendar;
+
+        synchronized(cal) {
+            cal.setTime(date);
+
+            int year = cal.get(Calendar.YEAR);
+            int g = year % 19;  // "Golden Number" of year - 1
+            int i = 0;          // # of days from 3/21 to the Paschal full moon
+            int j = 0;          // Weekday (0-based) of Paschal full moon
+
+            if (cal.getTime().after( cal.getGregorianChange()))
+            {
+                // We're past the Gregorian switchover, so use the Gregorian rules.
+                int c = year / 100;
+                int h = (c - c/4 - (8*c+13)/25 + 19*g + 15) % 30;
+                i = h - (h/28)*(1 - (h/28)*(29/(h+1))*((21-g)/11));
+                j = (year + year/4 + i + 2 - c + c/4) % 7;
+            }
+            else
+            {
+                // Use the old Julian rules.
+                i = (19*g + 15) % 30;
+                j = (year + year/4 + i) % 7;
+            }
+            int l = i - j;
+            int m = 3 + (l+40)/44;              // 1-based month in which Easter falls
+            int d = l + 28 - 31*(m/4);          // Date of Easter within that month
+
+            cal.clear();
+            cal.set(Calendar.ERA, GregorianCalendar.AD);
+            cal.set(Calendar.YEAR, year);
+            cal.set(Calendar.MONTH, m-1);       // 0-based
+            cal.set(Calendar.DATE, d);
+            cal.getTime();                      // JDK 1.1.2 bug workaround
+            cal.add(Calendar.DATE, daysAfterEaster);
+
+            return cal.getTime();
+        }
+    }
+
+    private static GregorianCalendar gregorian = new GregorianCalendar(/* new SimpleTimeZone(0, "UTC") */);
+    private static GregorianCalendar orthodox = new GregorianCalendar(/* new SimpleTimeZone(0, "UTC") */);
+
+    private int               daysAfterEaster;
+    private GregorianCalendar calendar = gregorian;
+}
diff --git a/src/com/ibm/icu/util/EthiopicCalendar.java b/src/com/ibm/icu/util/EthiopicCalendar.java
new file mode 100644
index 0000000..cc9593a
--- /dev/null
+++ b/src/com/ibm/icu/util/EthiopicCalendar.java
@@ -0,0 +1,332 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2005, International Business Machines Corporation and         *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.util;
+
+import java.util.Date;
+import java.util.Locale;
+
+/**
+ * Implement the Ethiopic calendar system.
+ * <p>
+ * EthiopicCalendar usually should be instantiated using 
+ * {@link com.ibm.icu.util.Calendar#getInstance(ULocale)} passing in a <code>ULocale</code>
+ * with the tag <code>"@calendar=ethiopic"</code>.</p>
+ *
+ * @see com.ibm.icu.util.Calendar
+ * @draft ICU 3.4
+ * @deprecated This is a draft API and might change in a future release of ICU.
+ */
+public final class EthiopicCalendar extends CECalendar 
+{
+    //jdk1.4.2 serialver
+    private static final long serialVersionUID = -2438495771339315608L;
+
+    /** 
+     * Constant for \u1218\u1235\u12a8\u1228\u121d, the 1st month of the Ethiopic year. 
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final int MESKEREM = 0;
+
+    /** 
+     * Constant for \u1325\u1245\u121d\u1275, the 2nd month of the Ethiopic year. 
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final int TEKEMT = 1;
+
+    /** 
+     * Constant for \u1285\u12f3\u122d, the 3rd month of the Ethiopic year. 
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final int HEDAR = 2;
+
+    /** 
+     * Constant for \u1273\u1285\u1223\u1225, the 4th month of the Ethiopic year. 
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final int TAHSAS = 3;
+
+    /** 
+     * Constant for \u1325\u122d, the 5th month of the Ethiopic year. 
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final int TER = 4;
+
+    /** 
+     * Constant for \u12e8\u12ab\u1272\u1275, the 6th month of the Ethiopic year. 
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final int YEKATIT = 5;
+
+    /** 
+     * Constant for \u1218\u130b\u1262\u1275, the 7th month of the Ethiopic year. 
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final int MEGABIT = 6;
+
+    /** 
+     * Constant for \u121a\u12eb\u12dd\u12eb, the 8th month of the Ethiopic year. 
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final int MIAZIA = 7;
+
+    /** 
+     * Constant for \u130d\u1295\u1266\u1275, the 9th month of the Ethiopic year. 
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final int GENBOT = 8;
+
+    /** 
+     * Constant for \u1230\u1294, the 10th month of the Ethiopic year. 
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final int SENE = 9;
+
+    /** 
+     * Constant for \u1210\u121d\u120c, the 11th month of the Ethiopic year. 
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final int HAMLE = 10;
+
+    /** 
+     * Constant for \u1290\u1210\u1234, the 12th month of the Ethiopic year. 
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final int NEHASSE = 11;
+
+    /** 
+     * Constant for \u1333\u1309\u121c\u1295, the 13th month of the Ethiopic year. 
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final int PAGUMEN = 12;
+ 
+    // Up until the end of the 19th century the prevailant convention was to
+    // reference the Ethiopic Calendar from the creation of the world, 
+    // \u12d3\u1218\u1270\u1361\u12d3\u1208\u121d
+    // (Amete Alem 5500 BC).  As Ethiopia modernized the reference epoch from
+    // the birth of Christ (\u12d3\u1218\u1270\u1361\u121d\u1215\u1228\u1275) 
+    // began to displace the creation of the
+    // world reference point.  However, years before the birth of Christ are
+    // still referenced in the creation of the world system.   
+    // Thus -100 \u12d3/\u121d
+    // would be rendered as 5400  \u12d3/\u12d3.
+    //
+    // The creation of the world in Ethiopic cannon was 
+    // Meskerem 1, -5500  \u12d3/\u121d 00:00:00
+    // applying the birth of Christ reference and Ethiopian time conventions.  This is
+    // 6 hours less than the Julian epoch reference point (noon).  In Gregorian
+    // the date and time was July 18th -5493 BC 06:00 AM.
+	
+    // Julian Days relative to the 
+    // \u12d3\u1218\u1270\u1361\u121d\u1215\u1228\u1275 epoch
+    private static final int JD_EPOCH_OFFSET_AMETE_ALEM = -285019;
+
+    // Julian Days relative to the 
+    // \u12d3\u1218\u1270\u1361\u12d3\u1208\u121d epoch
+    private static final int JD_EPOCH_OFFSET_AMETE_MIHRET = 1723856;
+
+    // initialize base class constant, common to all constructors
+    {
+    	jdEpochOffset = JD_EPOCH_OFFSET_AMETE_MIHRET;
+    }
+
+    /**
+     * Constructs a default <code>EthiopicCalendar</code> using the current time
+     * in the default time zone with the default locale.
+     *
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public EthiopicCalendar() {
+    	super();
+    }
+
+    /**
+     * Constructs a <code>EthiopicCalendar</code> based on the current time
+     * in the given time zone with the default locale.
+     *
+     * @param zone The time zone for the new calendar.
+     *
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public EthiopicCalendar(TimeZone zone) {
+        super(zone);
+    }
+
+    /**
+     * Constructs a <code>EthiopicCalendar</code> based on the current time
+     * in the default time zone with the given locale.
+     *
+     * @param aLocale The locale for the new calendar.
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public EthiopicCalendar(Locale aLocale) {
+        super(aLocale);
+    }
+
+    /**
+     * Constructs a <code>EthiopicCalendar</code> based on the current time
+     * in the default time zone with the given locale.
+     *
+     * @param locale The icu locale for the new calendar.
+     *
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public EthiopicCalendar(ULocale locale) {
+        super(locale);
+    }
+
+    /**
+     * Constructs a <code>EthiopicCalendar</code> based on the current time
+     * in the given time zone with the given locale.
+     *
+     * @param zone The time zone for the new calendar.
+     * @param aLocale The locale for the new calendar.
+     *
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public EthiopicCalendar(TimeZone zone, Locale aLocale) {
+        super(zone, aLocale);
+    }
+    
+    /**
+     * Constructs a <code>EthiopicCalendar</code> based on the current time
+     * in the given time zone with the given locale.
+     *
+     * @param zone The time zone for the new calendar.
+     * @param locale The icu locale for the new calendar.
+     *
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public EthiopicCalendar(TimeZone zone, ULocale locale) {
+        super(zone, locale);
+    }
+    
+    /**
+     * Constructs a <code>EthiopicCalendar</code> with the given date set
+     * in the default time zone with the default locale.
+     *
+     * @param year      The value used to set the calendar's {@link #YEAR YEAR} time field.
+     * @param month     The value used to set the calendar's {@link #MONTH MONTH} time field.
+     *                  The value is 0-based. e.g., 0 for Meskerem.
+     * @param date      The value used to set the calendar's {@link #DATE DATE} time field.
+     *
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public EthiopicCalendar(int year, int month, int date) {
+    	super(year, month, date);
+    }
+
+    /**
+     * Constructs a <code>EthiopicCalendar</code> with the given date set
+     * in the default time zone with the default locale.
+     *
+     * @param date      The date to which the new calendar is set.
+     *
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public EthiopicCalendar(Date date) {
+    	super(date);
+    }
+
+    /**
+     * Constructs a <code>EthiopicCalendar</code> with the given date
+     * and time set for the default time zone with the default locale.
+     *
+     * @param year      The value used to set the calendar's {@link #YEAR YEAR} time field.
+     * @param month     The value used to set the calendar's {@link #MONTH MONTH} time field.
+     *                  The value is 0-based. e.g., 0 for Meskerem.
+     * @param date      The value used to set the calendar's {@link #DATE DATE} time field.
+     * @param hour      The value used to set the calendar's {@link #HOUR_OF_DAY HOUR_OF_DAY} time field.
+     * @param minute    The value used to set the calendar's {@link #MINUTE MINUTE} time field.
+     * @param second    The value used to set the calendar's {@link #SECOND SECOND} time field.
+     *
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public EthiopicCalendar(int year, int month, int date, int hour,
+                            int minute, int second)
+    {
+    	super(year, month, date, hour, minute, second);
+    }
+
+    /**
+     * Convert an Ethiopic year, month, and day to a Julian day.
+     *
+     * @param year the year
+     * @param month the month
+     * @param date the day
+     *
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static int EthiopicToJD(long year, int month, int date) {
+    	return ceToJD(year, month, date, JD_EPOCH_OFFSET_AMETE_MIHRET);
+    }
+    
+    /**
+     * @internal ICU 3.4
+     */
+    public static Integer[] getDateFromJD(int julianDay) {
+    	return getDateFromJD(julianDay, JD_EPOCH_OFFSET_AMETE_MIHRET);
+    }
+    
+    /**
+     * Set Alem or Mihret era.
+     *
+     * @param onOff Set Amete Alem era if true, otherwise set Amete Mihret era.
+     *
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public void setAmeteAlemEra(boolean onOff) {
+    	this.jdEpochOffset = onOff 
+	    ? JD_EPOCH_OFFSET_AMETE_ALEM 
+	    : JD_EPOCH_OFFSET_AMETE_MIHRET;
+    }
+    
+    /**
+     * Return true if this calendar is set to the Amete Alem era.
+     *
+     * @return true if set to the Amete Alem era.
+     *
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public boolean isAmeteAlemEra() {
+    	return this.jdEpochOffset == JD_EPOCH_OFFSET_AMETE_ALEM;
+    }
+
+    /**
+     * Return the current Calendar type.
+     * @return type of calendar (gregorian, etc.)
+     * @internal ICU 3.4
+     */
+    public String getType() {
+        return "ethiopic";
+    }
+}
+
diff --git a/src/com/ibm/icu/util/GregorianCalendar.java b/src/com/ibm/icu/util/GregorianCalendar.java
new file mode 100755
index 0000000..fc62d79
--- /dev/null
+++ b/src/com/ibm/icu/util/GregorianCalendar.java
@@ -0,0 +1,904 @@
+/*
+ * Copyright (C) 1996-2005, International Business Machines
+ * Corporation and others.  All Rights Reserved.
+ */
+package com.ibm.icu.util;
+
+import java.util.Date;
+import java.util.Locale;
+
+/**
+ * <code>GregorianCalendar</code> is a concrete subclass of
+ * {@link Calendar}
+ * and provides the standard calendar used by most of the world.
+ *
+ * <p>
+ * The standard (Gregorian) calendar has 2 eras, BC and AD.
+ *
+ * <p>
+ * This implementation handles a single discontinuity, which corresponds by
+ * default to the date the Gregorian calendar was instituted (October 15, 1582
+ * in some countries, later in others).  The cutover date may be changed by the
+ * caller by calling <code>setGregorianChange()</code>.
+ *
+ * <p>
+ * Historically, in those countries which adopted the Gregorian calendar first,
+ * October 4, 1582 was thus followed by October 15, 1582. This calendar models
+ * this correctly.  Before the Gregorian cutover, <code>GregorianCalendar</code>
+ * implements the Julian calendar.  The only difference between the Gregorian
+ * and the Julian calendar is the leap year rule. The Julian calendar specifies
+ * leap years every four years, whereas the Gregorian calendar omits century
+ * years which are not divisible by 400.
+ *
+ * <p>
+ * <code>GregorianCalendar</code> implements <em>proleptic</em> Gregorian and
+ * Julian calendars. That is, dates are computed by extrapolating the current
+ * rules indefinitely far backward and forward in time. As a result,
+ * <code>GregorianCalendar</code> may be used for all years to generate
+ * meaningful and consistent results. However, dates obtained using
+ * <code>GregorianCalendar</code> are historically accurate only from March 1, 4
+ * AD onward, when modern Julian calendar rules were adopted.  Before this date,
+ * leap year rules were applied irregularly, and before 45 BC the Julian
+ * calendar did not even exist.
+ *
+ * <p>
+ * Prior to the institution of the Gregorian calendar, New Year's Day was
+ * March 25. To avoid confusion, this calendar always uses January 1. A manual
+ * adjustment may be made if desired for dates that are prior to the Gregorian
+ * changeover and which fall between January 1 and March 24.
+ *
+ * <p>Values calculated for the <code>WEEK_OF_YEAR</code> field range from 1 to
+ * 53.  Week 1 for a year is the earliest seven day period starting on
+ * <code>getFirstDayOfWeek()</code> that contains at least
+ * <code>getMinimalDaysInFirstWeek()</code> days from that year.  It thus
+ * depends on the values of <code>getMinimalDaysInFirstWeek()</code>,
+ * <code>getFirstDayOfWeek()</code>, and the day of the week of January 1.
+ * Weeks between week 1 of one year and week 1 of the following year are
+ * numbered sequentially from 2 to 52 or 53 (as needed).
+
+ * <p>For example, January 1, 1998 was a Thursday.  If
+ * <code>getFirstDayOfWeek()</code> is <code>MONDAY</code> and
+ * <code>getMinimalDaysInFirstWeek()</code> is 4 (these are the values
+ * reflecting ISO 8601 and many national standards), then week 1 of 1998 starts
+ * on December 29, 1997, and ends on January 4, 1998.  If, however,
+ * <code>getFirstDayOfWeek()</code> is <code>SUNDAY</code>, then week 1 of 1998
+ * starts on January 4, 1998, and ends on January 10, 1998; the first three days
+ * of 1998 then are part of week 53 of 1997.
+ *
+ * <p>Values calculated for the <code>WEEK_OF_MONTH</code> field range from 0 or
+ * 1 to 4 or 5.  Week 1 of a month (the days with <code>WEEK_OF_MONTH =
+ * 1</code>) is the earliest set of at least
+ * <code>getMinimalDaysInFirstWeek()</code> contiguous days in that month,
+ * ending on the day before <code>getFirstDayOfWeek()</code>.  Unlike
+ * week 1 of a year, week 1 of a month may be shorter than 7 days, need
+ * not start on <code>getFirstDayOfWeek()</code>, and will not include days of
+ * the previous month.  Days of a month before week 1 have a
+ * <code>WEEK_OF_MONTH</code> of 0.
+ *
+ * <p>For example, if <code>getFirstDayOfWeek()</code> is <code>SUNDAY</code>
+ * and <code>getMinimalDaysInFirstWeek()</code> is 4, then the first week of
+ * January 1998 is Sunday, January 4 through Saturday, January 10.  These days
+ * have a <code>WEEK_OF_MONTH</code> of 1.  Thursday, January 1 through
+ * Saturday, January 3 have a <code>WEEK_OF_MONTH</code> of 0.  If
+ * <code>getMinimalDaysInFirstWeek()</code> is changed to 3, then January 1
+ * through January 3 have a <code>WEEK_OF_MONTH</code> of 1.
+ *
+ * <p>
+ * <strong>Example:</strong>
+ * <blockquote>
+ * <pre>
+ * // get the supported ids for GMT-08:00 (Pacific Standard Time)
+ * String[] ids = TimeZone.getAvailableIDs(-8 * 60 * 60 * 1000);
+ * // if no ids were returned, something is wrong. get out.
+ * if (ids.length == 0)
+ *     System.exit(0);
+ *
+ *  // begin output
+ * System.out.println("Current Time");
+ *
+ * // create a Pacific Standard Time time zone
+ * SimpleTimeZone pdt = new SimpleTimeZone(-8 * 60 * 60 * 1000, ids[0]);
+ *
+ * // set up rules for daylight savings time
+ * pdt.setStartRule(Calendar.APRIL, 1, Calendar.SUNDAY, 2 * 60 * 60 * 1000);
+ * pdt.setEndRule(Calendar.OCTOBER, -1, Calendar.SUNDAY, 2 * 60 * 60 * 1000);
+ *
+ * // create a GregorianCalendar with the Pacific Daylight time zone
+ * // and the current date and time
+ * Calendar calendar = new GregorianCalendar(pdt);
+ * Date trialTime = new Date();
+ * calendar.setTime(trialTime);
+ *
+ * // print out a bunch of interesting things
+ * System.out.println("ERA: " + calendar.get(Calendar.ERA));
+ * System.out.println("YEAR: " + calendar.get(Calendar.YEAR));
+ * System.out.println("MONTH: " + calendar.get(Calendar.MONTH));
+ * System.out.println("WEEK_OF_YEAR: " + calendar.get(Calendar.WEEK_OF_YEAR));
+ * System.out.println("WEEK_OF_MONTH: " + calendar.get(Calendar.WEEK_OF_MONTH));
+ * System.out.println("DATE: " + calendar.get(Calendar.DATE));
+ * System.out.println("DAY_OF_MONTH: " + calendar.get(Calendar.DAY_OF_MONTH));
+ * System.out.println("DAY_OF_YEAR: " + calendar.get(Calendar.DAY_OF_YEAR));
+ * System.out.println("DAY_OF_WEEK: " + calendar.get(Calendar.DAY_OF_WEEK));
+ * System.out.println("DAY_OF_WEEK_IN_MONTH: "
+ *                    + calendar.get(Calendar.DAY_OF_WEEK_IN_MONTH));
+ * System.out.println("AM_PM: " + calendar.get(Calendar.AM_PM));
+ * System.out.println("HOUR: " + calendar.get(Calendar.HOUR));
+ * System.out.println("HOUR_OF_DAY: " + calendar.get(Calendar.HOUR_OF_DAY));
+ * System.out.println("MINUTE: " + calendar.get(Calendar.MINUTE));
+ * System.out.println("SECOND: " + calendar.get(Calendar.SECOND));
+ * System.out.println("MILLISECOND: " + calendar.get(Calendar.MILLISECOND));
+ * System.out.println("ZONE_OFFSET: "
+ *                    + (calendar.get(Calendar.ZONE_OFFSET)/(60*60*1000)));
+ * System.out.println("DST_OFFSET: "
+ *                    + (calendar.get(Calendar.DST_OFFSET)/(60*60*1000)));
+
+ * System.out.println("Current Time, with hour reset to 3");
+ * calendar.clear(Calendar.HOUR_OF_DAY); // so doesn't override
+ * calendar.set(Calendar.HOUR, 3);
+ * System.out.println("ERA: " + calendar.get(Calendar.ERA));
+ * System.out.println("YEAR: " + calendar.get(Calendar.YEAR));
+ * System.out.println("MONTH: " + calendar.get(Calendar.MONTH));
+ * System.out.println("WEEK_OF_YEAR: " + calendar.get(Calendar.WEEK_OF_YEAR));
+ * System.out.println("WEEK_OF_MONTH: " + calendar.get(Calendar.WEEK_OF_MONTH));
+ * System.out.println("DATE: " + calendar.get(Calendar.DATE));
+ * System.out.println("DAY_OF_MONTH: " + calendar.get(Calendar.DAY_OF_MONTH));
+ * System.out.println("DAY_OF_YEAR: " + calendar.get(Calendar.DAY_OF_YEAR));
+ * System.out.println("DAY_OF_WEEK: " + calendar.get(Calendar.DAY_OF_WEEK));
+ * System.out.println("DAY_OF_WEEK_IN_MONTH: "
+ *                    + calendar.get(Calendar.DAY_OF_WEEK_IN_MONTH));
+ * System.out.println("AM_PM: " + calendar.get(Calendar.AM_PM));
+ * System.out.println("HOUR: " + calendar.get(Calendar.HOUR));
+ * System.out.println("HOUR_OF_DAY: " + calendar.get(Calendar.HOUR_OF_DAY));
+ * System.out.println("MINUTE: " + calendar.get(Calendar.MINUTE));
+ * System.out.println("SECOND: " + calendar.get(Calendar.SECOND));
+ * System.out.println("MILLISECOND: " + calendar.get(Calendar.MILLISECOND));
+ * System.out.println("ZONE_OFFSET: "
+ *        + (calendar.get(Calendar.ZONE_OFFSET)/(60*60*1000))); // in hours
+ * System.out.println("DST_OFFSET: "
+ *        + (calendar.get(Calendar.DST_OFFSET)/(60*60*1000))); // in hours</pre>
+ * </blockquote>
+ * <p>
+ * GregorianCalendar usually should be instantiated using 
+ * {@link com.ibm.icu.util.Calendar#getInstance(ULocale)} passing in a <code>ULocale</code>
+ * with the tag <code>"@calendar=gregorian"</code>.</p>
+
+ * @see          Calendar
+ * @see          TimeZone
+ * @author David Goldsmith, Mark Davis, Chen-Lieh Huang, Alan Liu
+ * @stable ICU 2.0
+ */
+public class GregorianCalendar extends Calendar {
+    // jdk1.4.2 serialver
+    private static final long serialVersionUID = 9199388694351062137L;
+
+    /*
+     * Implementation Notes
+     *
+     * The Julian day number, as used here, is a modified number which has its
+     * onset at midnight, rather than noon.
+     *
+     * The epoch is the number of days or milliseconds from some defined
+     * starting point. The epoch for java.util.Date is used here; that is,
+     * milliseconds from January 1, 1970 (Gregorian), midnight UTC.  Other
+     * epochs which are used are January 1, year 1 (Gregorian), which is day 1
+     * of the Gregorian calendar, and December 30, year 0 (Gregorian), which is
+     * day 1 of the Julian calendar.
+     *
+     * We implement the proleptic Julian and Gregorian calendars.  This means we
+     * implement the modern definition of the calendar even though the
+     * historical usage differs.  For example, if the Gregorian change is set
+     * to new Date(Long.MIN_VALUE), we have a pure Gregorian calendar which
+     * labels dates preceding the invention of the Gregorian calendar in 1582 as
+     * if the calendar existed then.
+     *
+     * Likewise, with the Julian calendar, we assume a consistent 4-year leap
+     * rule, even though the historical pattern of leap years is irregular,
+     * being every 3 years from 45 BC through 9 BC, then every 4 years from 8 AD
+     * onwards, with no leap years in-between.  Thus date computations and
+     * functions such as isLeapYear() are not intended to be historically
+     * accurate.
+     *
+     * Given that milliseconds are a long, day numbers such as Julian day
+     * numbers, Gregorian or Julian calendar days, or epoch days, are also
+     * longs. Years can fit into an int.
+     */
+
+//////////////////
+// Class Variables
+//////////////////
+
+    /**
+     * Value of the <code>ERA</code> field indicating
+     * the period before the common era (before Christ), also known as BCE.
+     * The sequence of years at the transition from <code>BC</code> to <code>AD</code> is
+     * ..., 2 BC, 1 BC, 1 AD, 2 AD,...
+     * @see Calendar#ERA
+     * @stable ICU 2.0
+     */
+    public static final int BC = 0;
+
+    /**
+     * Value of the <code>ERA</code> field indicating
+     * the common era (Anno Domini), also known as CE.
+     * The sequence of years at the transition from <code>BC</code> to <code>AD</code> is
+     * ..., 2 BC, 1 BC, 1 AD, 2 AD,...
+     * @see Calendar#ERA
+     * @stable ICU 2.0
+     */
+    public static final int AD = 1;
+
+    private static final int EPOCH_YEAR = 1970;
+
+    private static final int[][] MONTH_COUNT = {
+        //len len2   st  st2
+        {  31,  31,   0,   0 }, // Jan
+        {  28,  29,  31,  31 }, // Feb
+        {  31,  31,  59,  60 }, // Mar
+        {  30,  30,  90,  91 }, // Apr
+        {  31,  31, 120, 121 }, // May
+        {  30,  30, 151, 152 }, // Jun
+        {  31,  31, 181, 182 }, // Jul
+        {  31,  31, 212, 213 }, // Aug
+        {  30,  30, 243, 244 }, // Sep
+        {  31,  31, 273, 274 }, // Oct
+        {  30,  30, 304, 305 }, // Nov
+        {  31,  31, 334, 335 }  // Dec
+        // len  length of month
+        // len2 length of month in a leap year
+        // st   days in year before start of month
+        // st2  days in year before month in leap year
+    };
+    
+    /**
+     * Old year limits were least max 292269054, max 292278994.
+     */
+    private static final int LIMITS[][] = {
+        // Minimum  Greatest    Least  Maximum
+        //           Minimum  Maximum
+        {        0,        0,       1,       1 }, // ERA
+        {        1,        1, 5828963, 5838270 }, // YEAR
+        {        0,        0,      11,      11 }, // MONTH
+        {        1,        1,      52,      53 }, // WEEK_OF_YEAR
+        {        0,        0,       4,       6 }, // WEEK_OF_MONTH
+        {        1,        1,      28,      31 }, // DAY_OF_MONTH
+        {        1,        1,     365,     366 }, // DAY_OF_YEAR
+        {/*                                  */}, // DAY_OF_WEEK
+        {       -1,       -1,       4,       6 }, // DAY_OF_WEEK_IN_MONTH
+        {/*                                  */}, // AM_PM
+        {/*                                  */}, // HOUR
+        {/*                                  */}, // HOUR_OF_DAY
+        {/*                                  */}, // MINUTE
+        {/*                                  */}, // SECOND
+        {/*                                  */}, // MILLISECOND
+        {/*                                  */}, // ZONE_OFFSET
+        {/*                                  */}, // DST_OFFSET
+        { -5838270, -5838270, 5828964, 5838271 }, // YEAR_WOY
+        {/*                                  */}, // DOW_LOCAL
+        { -5838269, -5838269, 5828963, 5838270 }, // EXTENDED_YEAR
+        {/*                                  */}, // JULIAN_DAY
+        {/*                                  */}, // MILLISECONDS_IN_DAY
+    };
+
+    /**
+     * @stable ICU 2.0
+     */
+    protected int handleGetLimit(int field, int limitType) {
+        return LIMITS[field][limitType];
+    }
+
+/////////////////////
+// Instance Variables
+/////////////////////
+
+    /**
+     * The point at which the Gregorian calendar rules are used, measured in
+     * milliseconds from the standard epoch.  Default is October 15, 1582
+     * (Gregorian) 00:00:00 UTC or -12219292800000L.  For this value, October 4,
+     * 1582 (Julian) is followed by October 15, 1582 (Gregorian).  This
+     * corresponds to Julian day number 2299161.
+     * @serial
+     */
+    private long gregorianCutover = -12219292800000L;
+
+    /**
+     * Julian day number of the Gregorian cutover.
+     */
+    private transient int cutoverJulianDay = 2299161;
+    
+    /**
+     * The year of the gregorianCutover, with 0 representing
+     * 1 BC, -1 representing 2 BC, etc.
+     */
+    private transient int gregorianCutoverYear = 1582;
+
+    /**
+     * Used by handleComputeJulianDay() and handleComputeMonthStart().
+     * @stable ICU 2.0
+     */
+    transient protected boolean isGregorian;
+
+    /**
+     * Used by handleComputeJulianDay() and handleComputeMonthStart().
+     * @stable ICU 2.0
+     */
+    transient protected boolean invertGregorian;
+
+///////////////
+// Constructors
+///////////////
+
+    /**
+     * Constructs a default GregorianCalendar using the current time
+     * in the default time zone with the default locale.
+     * @stable ICU 2.0
+     */
+    public GregorianCalendar() {
+        this(TimeZone.getDefault(), ULocale.getDefault());
+    }
+
+    /**
+     * Constructs a GregorianCalendar based on the current time
+     * in the given time zone with the default locale.
+     * @param zone the given time zone.
+     * @stable ICU 2.0
+     */
+    public GregorianCalendar(TimeZone zone) {
+        this(zone, ULocale.getDefault());
+    }
+
+    /**
+     * Constructs a GregorianCalendar based on the current time
+     * in the default time zone with the given locale.
+     * @param aLocale the given locale.
+     * @stable ICU 2.0
+     */
+    public GregorianCalendar(Locale aLocale) {
+        this(TimeZone.getDefault(), aLocale);
+    }
+
+    /**
+     * Constructs a GregorianCalendar based on the current time
+     * in the default time zone with the given locale.
+     * @param locale the given ulocale.
+     * @draft ICU 3.2
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public GregorianCalendar(ULocale locale) {
+        this(TimeZone.getDefault(), locale);
+    }
+
+    /**
+     * Constructs a GregorianCalendar based on the current time
+     * in the given time zone with the given locale.
+     * @param zone the given time zone.
+     * @param aLocale the given locale.
+     * @stable ICU 2.0
+     */
+    public GregorianCalendar(TimeZone zone, Locale aLocale) {
+        super(zone, aLocale);
+        setTimeInMillis(System.currentTimeMillis());
+    }
+
+    /**
+     * Constructs a GregorianCalendar based on the current time
+     * in the given time zone with the given locale.
+     * @param zone the given time zone.
+     * @param locale the given ulocale.
+     * @draft ICU 3.2
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public GregorianCalendar(TimeZone zone, ULocale locale) {
+        super(zone, locale);
+        setTimeInMillis(System.currentTimeMillis());
+    }
+
+    /**
+     * Constructs a GregorianCalendar with the given date set
+     * in the default time zone with the default locale.
+     * @param year the value used to set the YEAR time field in the calendar.
+     * @param month the value used to set the MONTH time field in the calendar.
+     * Month value is 0-based. e.g., 0 for January.
+     * @param date the value used to set the DATE time field in the calendar.
+     * @stable ICU 2.0
+     */
+    public GregorianCalendar(int year, int month, int date) {
+        super(TimeZone.getDefault(), ULocale.getDefault());
+        set(ERA, AD);
+        set(YEAR, year);
+        set(MONTH, month);
+        set(DATE, date);
+    }
+
+    /**
+     * Constructs a GregorianCalendar with the given date
+     * and time set for the default time zone with the default locale.
+     * @param year the value used to set the YEAR time field in the calendar.
+     * @param month the value used to set the MONTH time field in the calendar.
+     * Month value is 0-based. e.g., 0 for January.
+     * @param date the value used to set the DATE time field in the calendar.
+     * @param hour the value used to set the HOUR_OF_DAY time field
+     * in the calendar.
+     * @param minute the value used to set the MINUTE time field
+     * in the calendar.
+     * @stable ICU 2.0
+     */
+    public GregorianCalendar(int year, int month, int date, int hour,
+                             int minute) {
+        super(TimeZone.getDefault(), ULocale.getDefault());
+        set(ERA, AD);
+        set(YEAR, year);
+        set(MONTH, month);
+        set(DATE, date);
+        set(HOUR_OF_DAY, hour);
+        set(MINUTE, minute);
+    }
+
+    /**
+     * Constructs a GregorianCalendar with the given date
+     * and time set for the default time zone with the default locale.
+     * @param year the value used to set the YEAR time field in the calendar.
+     * @param month the value used to set the MONTH time field in the calendar.
+     * Month value is 0-based. e.g., 0 for January.
+     * @param date the value used to set the DATE time field in the calendar.
+     * @param hour the value used to set the HOUR_OF_DAY time field
+     * in the calendar.
+     * @param minute the value used to set the MINUTE time field
+     * in the calendar.
+     * @param second the value used to set the SECOND time field
+     * in the calendar.
+     * @stable ICU 2.0
+     */
+    public GregorianCalendar(int year, int month, int date, int hour,
+                             int minute, int second) {
+        super(TimeZone.getDefault(), ULocale.getDefault());
+        set(ERA, AD);
+        set(YEAR, year);
+        set(MONTH, month);
+        set(DATE, date);
+        set(HOUR_OF_DAY, hour);
+        set(MINUTE, minute);
+        set(SECOND, second);
+    }
+
+/////////////////
+// Public methods
+/////////////////
+
+    /**
+     * Sets the GregorianCalendar change date. This is the point when the switch
+     * from Julian dates to Gregorian dates occurred. Default is October 15,
+     * 1582. Previous to this, dates will be in the Julian calendar.
+     * <p>
+     * To obtain a pure Julian calendar, set the change date to
+     * <code>Date(Long.MAX_VALUE)</code>.  To obtain a pure Gregorian calendar,
+     * set the change date to <code>Date(Long.MIN_VALUE)</code>.
+     *
+     * @param date the given Gregorian cutover date.
+     * @stable ICU 2.0
+     */
+    public void setGregorianChange(Date date) {
+        gregorianCutover = date.getTime();
+
+        // If the cutover has an extreme value, then create a pure
+        // Gregorian or pure Julian calendar by giving the cutover year and
+        // JD extreme values.
+        if (gregorianCutover <= MIN_MILLIS) {
+            gregorianCutoverYear = cutoverJulianDay = Integer.MIN_VALUE;
+        } else if (gregorianCutover >= MAX_MILLIS) {
+            gregorianCutoverYear = cutoverJulianDay = Integer.MAX_VALUE;
+        } else {
+            // Precompute two internal variables which we use to do the actual
+            // cutover computations.  These are the Julian day of the cutover
+            // and the cutover year.
+            cutoverJulianDay = (int) floorDivide(gregorianCutover, ONE_DAY);
+            
+            // Convert cutover millis to extended year
+            GregorianCalendar cal = new GregorianCalendar(getTimeZone());
+            cal.setTime(date);
+            gregorianCutoverYear = cal.get(EXTENDED_YEAR);
+        }
+    }
+
+    /**
+     * Gets the Gregorian Calendar change date.  This is the point when the
+     * switch from Julian dates to Gregorian dates occurred. Default is
+     * October 15, 1582. Previous to this, dates will be in the Julian
+     * calendar.
+     * @return the Gregorian cutover date for this calendar.
+     * @stable ICU 2.0
+     */
+    public final Date getGregorianChange() {
+        return new Date(gregorianCutover);
+    }
+
+    /**
+     * Determines if the given year is a leap year. Returns true if the
+     * given year is a leap year.
+     * @param year the given year.
+     * @return true if the given year is a leap year; false otherwise.
+     * @stable ICU 2.0
+     */
+    public boolean isLeapYear(int year) {
+        return year >= gregorianCutoverYear ?
+            ((year%4 == 0) && ((year%100 != 0) || (year%400 == 0))) : // Gregorian
+            (year%4 == 0); // Julian
+    }
+
+    /**
+     * Returns true if the given Calendar object is equivalent to this
+     * one.  Calendar override.
+     *
+     * @param other the Calendar to be compared with this Calendar   
+     * @stable ICU 2.4
+     */
+    public boolean isEquivalentTo(Calendar other) {
+        return super.isEquivalentTo(other) &&
+            gregorianCutover == ((GregorianCalendar)other).gregorianCutover;
+    }
+
+    /**
+     * Override hashCode.
+     * Generates the hash code for the GregorianCalendar object
+     * @stable ICU 2.0
+     */
+    public int hashCode() {
+        return super.hashCode() ^ (int)gregorianCutover;
+    }
+
+    /**
+     * Roll a field by a signed amount.
+     * @stable ICU 2.0
+     */
+    public void roll(int field, int amount) {
+
+        switch (field) {
+        case WEEK_OF_YEAR:
+            {
+                // Unlike WEEK_OF_MONTH, WEEK_OF_YEAR never shifts the day of the
+                // week.  Also, rolling the week of the year can have seemingly
+                // strange effects simply because the year of the week of year
+                // may be different from the calendar year.  For example, the
+                // date Dec 28, 1997 is the first day of week 1 of 1998 (if
+                // weeks start on Sunday and the minimal days in first week is
+                // <= 3).
+                int woy = get(WEEK_OF_YEAR);
+                // Get the ISO year, which matches the week of year.  This
+                // may be one year before or after the calendar year.
+                int isoYear = get(YEAR_WOY);
+                int isoDoy = internalGet(DAY_OF_YEAR);
+                if (internalGet(MONTH) == Calendar.JANUARY) {
+                    if (woy >= 52) {
+                        isoDoy += handleGetYearLength(isoYear);
+                    }
+                } else {
+                    if (woy == 1) {
+                        isoDoy -= handleGetYearLength(isoYear - 1);
+                    }
+                }
+                woy += amount;
+                // Do fast checks to avoid unnecessary computation:
+                if (woy < 1 || woy > 52) {
+                    // Determine the last week of the ISO year.
+                    // We do this using the standard formula we use
+                    // everywhere in this file.  If we can see that the
+                    // days at the end of the year are going to fall into
+                    // week 1 of the next year, we drop the last week by
+                    // subtracting 7 from the last day of the year.
+                    int lastDoy = handleGetYearLength(isoYear);
+                    int lastRelDow = (lastDoy - isoDoy + internalGet(DAY_OF_WEEK) -
+                                      getFirstDayOfWeek()) % 7;
+                    if (lastRelDow < 0) lastRelDow += 7;
+                    if ((6 - lastRelDow) >= getMinimalDaysInFirstWeek()) lastDoy -= 7;
+                    int lastWoy = weekNumber(lastDoy, lastRelDow + 1);
+                    woy = ((woy + lastWoy - 1) % lastWoy) + 1;
+                }
+                set(WEEK_OF_YEAR, woy);
+                set(YEAR, isoYear); // Why not YEAR_WOY? - Alan 11/6/00
+                return;
+            }
+
+        default:
+            super.roll(field, amount);
+            return;
+        }
+    }
+
+    /**
+     * Return the minimum value that this field could have, given the current date.
+     * For the Gregorian calendar, this is the same as getMinimum() and getGreatestMinimum().
+     * @stable ICU 2.0
+     */
+    public int getActualMinimum(int field) {
+        return getMinimum(field);
+    }
+
+    /**
+     * Return the maximum value that this field could have, given the current date.
+     * For example, with the date "Feb 3, 1997" and the DAY_OF_MONTH field, the actual
+     * maximum would be 28; for "Feb 3, 1996" it s 29.  Similarly for a Hebrew calendar,
+     * for some years the actual maximum for MONTH is 12, and for others 13.
+     * @stable ICU 2.0
+     */
+    public int getActualMaximum(int field) {
+        /* It is a known limitation that the code here (and in getActualMinimum)
+         * won't behave properly at the extreme limits of GregorianCalendar's
+         * representable range (except for the code that handles the YEAR
+         * field).  That's because the ends of the representable range are at
+         * odd spots in the year.  For calendars with the default Gregorian
+         * cutover, these limits are Sun Dec 02 16:47:04 GMT 292269055 BC to Sun
+         * Aug 17 07:12:55 GMT 292278994 AD, somewhat different for non-GMT
+         * zones.  As a result, if the calendar is set to Aug 1 292278994 AD,
+         * the actual maximum of DAY_OF_MONTH is 17, not 30.  If the date is Mar
+         * 31 in that year, the actual maximum month might be Jul, whereas is
+         * the date is Mar 15, the actual maximum might be Aug -- depending on
+         * the precise semantics that are desired.  Similar considerations
+         * affect all fields.  Nonetheless, this effect is sufficiently arcane
+         * that we permit it, rather than complicating the code to handle such
+         * intricacies. - liu 8/20/98
+
+         * UPDATE: No longer true, since we have pulled in the limit values on
+         * the year. - Liu 11/6/00 */
+
+        switch (field) {
+
+        case YEAR:
+            /* The year computation is no different, in principle, from the
+             * others, however, the range of possible maxima is large.  In
+             * addition, the way we know we've exceeded the range is different.
+             * For these reasons, we use the special case code below to handle
+             * this field.
+             *
+             * The actual maxima for YEAR depend on the type of calendar:
+             *
+             *     Gregorian = May 17, 292275056 BC - Aug 17, 292278994 AD
+             *     Julian    = Dec  2, 292269055 BC - Jan  3, 292272993 AD
+             *     Hybrid    = Dec  2, 292269055 BC - Aug 17, 292278994 AD
+             *
+             * We know we've exceeded the maximum when either the month, date,
+             * time, or era changes in response to setting the year.  We don't
+             * check for month, date, and time here because the year and era are
+             * sufficient to detect an invalid year setting.  NOTE: If code is
+             * added to check the month and date in the future for some reason,
+             * Feb 29 must be allowed to shift to Mar 1 when setting the year.
+             */
+            {
+                Calendar cal = (Calendar) clone();
+                cal.setLenient(true);
+                
+                int era = cal.get(ERA);
+                Date d = cal.getTime();
+
+                /* Perform a binary search, with the invariant that lowGood is a
+                 * valid year, and highBad is an out of range year.
+                 */
+                int lowGood = LIMITS[YEAR][1];
+                int highBad = LIMITS[YEAR][2]+1;
+                while ((lowGood + 1) < highBad) {
+                    int y = (lowGood + highBad) / 2;
+                    cal.set(YEAR, y);
+                    if (cal.get(YEAR) == y && cal.get(ERA) == era) {
+                        lowGood = y;
+                    } else {
+                        highBad = y;
+                        cal.setTime(d); // Restore original fields
+                    }
+                }
+                
+                return lowGood;
+            }
+
+        default:
+            return super.getActualMaximum(field);
+        }
+    }
+
+//////////////////////
+// Proposed public API
+//////////////////////
+
+    /**
+     * Return true if the current time for this Calendar is in Daylignt
+     * Savings Time.
+     *
+     * Note -- MAKE THIS PUBLIC AT THE NEXT API CHANGE.  POSSIBLY DEPRECATE
+     * AND REMOVE TimeZone.inDaylightTime().
+     */
+    boolean inDaylightTime() {
+        if (!getTimeZone().useDaylightTime()) return false;
+        complete(); // Force update of DST_OFFSET field
+        return internalGet(DST_OFFSET) != 0;
+    }
+
+
+/////////////////////
+// Calendar framework
+/////////////////////
+
+    /**
+     * @stable ICU 2.0
+     */
+    protected int handleGetMonthLength(int extendedYear, int month) {
+        return MONTH_COUNT[month][isLeapYear(extendedYear)?1:0];
+    }
+
+    /**
+     * @stable ICU 2.0
+     */
+    protected int handleGetYearLength(int eyear) {
+        return isLeapYear(eyear) ? 366 : 365;
+    }
+
+/////////////////////////////
+// Time => Fields computation
+/////////////////////////////
+
+    /**
+     * Override Calendar to compute several fields specific to the hybrid
+     * Gregorian-Julian calendar system.  These are:
+     *
+     * <ul><li>ERA
+     * <li>YEAR
+     * <li>MONTH
+     * <li>DAY_OF_MONTH
+     * <li>DAY_OF_YEAR
+     * <li>EXTENDED_YEAR</ul>
+     * @stable ICU 2.0
+     */
+    protected void handleComputeFields(int julianDay) {
+        int eyear, month, dayOfMonth, dayOfYear;
+
+        if (julianDay >= cutoverJulianDay) {
+            month = getGregorianMonth();
+            dayOfMonth = getGregorianDayOfMonth();
+            dayOfYear = getGregorianDayOfYear();
+            eyear = getGregorianYear();
+        } else {
+            // The Julian epoch day (not the same as Julian Day)
+            // is zero on Saturday December 30, 0 (Gregorian).
+            long julianEpochDay = julianDay - (JAN_1_1_JULIAN_DAY - 2);
+            eyear = (int) floorDivide(4*julianEpochDay + 1464, 1461);
+            
+            // Compute the Julian calendar day number for January 1, eyear
+            long january1 = 365*(eyear-1) + floorDivide(eyear-1, 4);
+            dayOfYear = (int)(julianEpochDay - january1); // 0-based
+            
+            // Julian leap years occurred historically every 4 years starting
+            // with 8 AD.  Before 8 AD the spacing is irregular; every 3 years
+            // from 45 BC to 9 BC, and then none until 8 AD.  However, we don't
+            // implement this historical detail; instead, we implement the
+            // computatinally cleaner proleptic calendar, which assumes
+            // consistent 4-year cycles throughout time.
+            boolean isLeap = ((eyear&0x3) == 0); // equiv. to (eyear%4 == 0)
+            
+            // Common Julian/Gregorian calculation
+            int correction = 0;
+            int march1 = isLeap ? 60 : 59; // zero-based DOY for March 1
+            if (dayOfYear >= march1) {
+                correction = isLeap ? 1 : 2;
+            }
+            month = (12 * (dayOfYear + correction) + 6) / 367; // zero-based month
+            dayOfMonth = dayOfYear - MONTH_COUNT[month][isLeap?3:2] + 1; // one-based DOM
+            ++dayOfYear;
+        }
+        internalSet(MONTH, month);
+        internalSet(DAY_OF_MONTH, dayOfMonth);
+        internalSet(DAY_OF_YEAR, dayOfYear);
+        internalSet(EXTENDED_YEAR, eyear);
+        int era = AD;
+        if (eyear < 1) {
+            era = BC;
+            eyear = 1 - eyear;
+        }
+        internalSet(ERA, era);
+        internalSet(YEAR, eyear);
+    }
+
+/////////////////////////////
+// Fields => Time computation
+/////////////////////////////
+
+    /**
+     * @stable ICU 2.0
+     */
+    protected int handleGetExtendedYear() {
+        int year;
+        if (newerField(EXTENDED_YEAR, YEAR) == EXTENDED_YEAR) {
+            year = internalGet(EXTENDED_YEAR, EPOCH_YEAR);
+        } else {
+            // The year defaults to the epoch start, the era to AD
+            int era = internalGet(ERA, AD);
+            if (era == BC) {
+                year = 1 - internalGet(YEAR, 1); // Convert to extended year
+            } else {
+                year = internalGet(YEAR, EPOCH_YEAR);
+            }
+        }
+        return year;
+    }
+
+    /**
+     * @stable ICU 2.0
+     */
+    protected int handleComputeJulianDay(int bestField) {
+
+        invertGregorian = false;
+
+        int jd = super.handleComputeJulianDay(bestField);
+
+        // The following check handles portions of the cutover year BEFORE the
+        // cutover itself happens.
+        if (isGregorian != (jd >= cutoverJulianDay)) {
+            invertGregorian = true;
+            jd = super.handleComputeJulianDay(bestField);
+        }
+        
+        return jd;
+    }
+
+    /**
+     * Return JD of start of given month/year
+     * @stable ICU 2.0
+     */
+    protected int handleComputeMonthStart(int eyear, int month, boolean useMonth) {
+
+        // If the month is out of range, adjust it into range, and
+        // modify the extended year value accordingly.
+        if (month < 0 || month > 11) {
+            int[] rem = new int[1];
+            eyear += floorDivide(month, 12, rem);
+            month = rem[0];
+        }
+
+        boolean isLeap = eyear%4 == 0;
+        int y = eyear - 1;
+        int julianDay = 365*y + floorDivide(y, 4) + (JAN_1_1_JULIAN_DAY - 3);
+
+        isGregorian = (eyear >= gregorianCutoverYear);
+        if (invertGregorian) {
+            isGregorian = !isGregorian;
+        }
+        if (isGregorian) {
+            isLeap = isLeap && ((eyear%100 != 0) || (eyear%400 == 0));
+            // Add 2 because Gregorian calendar starts 2 days after
+            // Julian calendar
+            julianDay += floorDivide(y, 400) - floorDivide(y, 100) + 2;
+        }
+
+        // At this point julianDay indicates the day BEFORE the first
+        // day of January 1, <eyear> of either the Julian or Gregorian
+        // calendar.
+
+        if (month != 0) {
+            julianDay += MONTH_COUNT[month][isLeap?3:2];
+        }
+
+        return julianDay;
+    }
+
+    /**
+     * Return the current Calendar type.
+     * @return type of calendar (gregorian, etc.)
+     * @internal ICU 3.0
+     */
+    public String getType() {
+        return "gregorian";
+    }
+
+    /*
+    private static CalendarFactory factory;
+    public static CalendarFactory factory() {
+        if (factory == null) {
+            factory = new CalendarFactory() {
+                public Calendar create(TimeZone tz, ULocale loc) {
+                    return new GregorianCalendar(tz, loc);
+                }
+
+                public String factoryName() {
+                    return "Gregorian";
+                }
+            };
+        }
+        return factory;
+    }
+    */
+}
diff --git a/src/com/ibm/icu/util/HebrewCalendar.java b/src/com/ibm/icu/util/HebrewCalendar.java
new file mode 100755
index 0000000..7e64506
--- /dev/null
+++ b/src/com/ibm/icu/util/HebrewCalendar.java
@@ -0,0 +1,868 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.util;
+import com.ibm.icu.util.TimeZone;
+import com.ibm.icu.impl.CalendarCache;
+import java.util.Date;
+import java.util.Locale;
+
+/**
+ * <code>HebrewCalendar</code> is a subclass of <code>Calendar</code>
+ * that that implements the traditional Hebrew calendar.
+ * This is the civil calendar in Israel and the liturgical calendar
+ * of the Jewish faith worldwide.
+ * <p>
+ * The Hebrew calendar is lunisolar and thus has a number of interesting
+ * properties that distinguish it from the Gregorian.  Months start
+ * on the day of (an arithmetic approximation of) each new moon.  Since the
+ * solar year (approximately 365.24 days) is not an even multiple of
+ * the lunar month (approximately 29.53 days) an extra "leap month" is
+ * inserted in 7 out of every 19 years.  To make matters even more
+ * interesting, the start of a year can be delayed by up to three days
+ * in order to prevent certain holidays from falling on the Sabbath and
+ * to prevent certain illegal year lengths.  Finally, the lengths of certain
+ * months can vary depending on the number of days in the year.
+ * <p>
+ * The leap month is known as "Adar 1" and is inserted between the
+ * months of Shevat and Adar in leap years.  Since the leap month does
+ * not come at the end of the year, calculations involving
+ * month numbers are particularly complex.  Users of this class should
+ * make sure to use the {@link #roll roll} and {@link #add add} methods
+ * rather than attempting to perform date arithmetic by manipulating
+ * the fields directly.
+ * <p>
+ * <b>Note:</b> In the traditional Hebrew calendar, days start at sunset.
+ * However, in order to keep the time fields in this class
+ * synchronized with those of the other calendars and with local clock time,
+ * we treat days and months as beginning at midnight,
+ * roughly 6 hours after the corresponding sunset.
+ * <p>
+ * If you are interested in more information on the rules behind the Hebrew
+ * calendar, see one of the following references:
+ * <ul>
+ * <li>"<a href="http://www.amazon.com/exec/obidos/ASIN/0521564743">Calendrical Calculations</a>",
+ *      by Nachum Dershowitz & Edward Reingold, Cambridge University Press, 1997, pages 85-91.
+ *
+ * <li>Hebrew Calendar Science and Myths,
+ *      <a href="http://www.geocities.com/Athens/1584/">
+ *      http://www.geocities.com/Athens/1584/</a>
+ *
+ * <li>The Calendar FAQ,
+ *      <a href="http://www.faqs.org/faqs/calendars/faq/">
+ *      http://www.faqs.org/faqs/calendars/faq/</a>
+ * </ul>
+ *
+ * <p>
+ * This class should not be subclassed.</p>
+ * <p>
+ * HebrewCalendar usually should be instantiated using 
+ * {@link com.ibm.icu.util.Calendar#getInstance(ULocale)} passing in a <code>ULocale</code>
+ * with the tag <code>"@calendar=hebrew"</code>.</p>
+ *
+ * @see com.ibm.icu.util.GregorianCalendar
+ * @see com.ibm.icu.util.Calendar
+ *
+ * @author Laura Werner
+ * @author Alan Liu
+ * @stable ICU 2.8
+ */
+public class HebrewCalendar extends Calendar {
+    // jdk1.4.2 serialver
+    private static final long serialVersionUID = -1952524560588825816L;
+
+    private static String copyright = "Copyright \u00a9 1997-1998 IBM Corp. All Rights Reserved.";
+
+    //-------------------------------------------------------------------------
+    // Tons o' Constants...
+    //-------------------------------------------------------------------------
+
+
+    /** 
+     * Constant for Tishri, the 1st month of the Hebrew year. 
+     * @stable ICU 2.8 
+     */
+    public static final int TISHRI = 0;
+
+    /**
+     * Constant for Heshvan, the 2nd month of the Hebrew year. 
+     * @stable ICU 2.8 
+     */
+    public static final int HESHVAN = 1;
+
+    /**
+     * Constant for Kislev, the 3rd month of the Hebrew year. 
+     * @stable ICU 2.8 
+     */
+    public static final int KISLEV = 2;
+
+    /**
+     * Constant for Tevet, the 4th month of the Hebrew year. 
+     * @stable ICU 2.8 
+     */
+    public static final int TEVET = 3;
+
+    /**
+     * Constant for Shevat, the 5th month of the Hebrew year. 
+     * @stable ICU 2.8 
+     */
+    public static final int SHEVAT = 4;
+
+    /**
+     * Constant for Adar I, the 6th month of the Hebrew year
+     * (present in leap years only). In non-leap years, the calendar
+     * jumps from Shevat (5th month) to Adar (7th month).
+     * @stable ICU 2.8
+     */
+    public static final int ADAR_1 = 5;
+
+    /** 
+     * Constant for the Adar, the 7th month of the Hebrew year. 
+     * @stable ICU 2.8 
+     */
+    public static final int ADAR = 6;
+
+    /**
+     * Constant for Nisan, the 8th month of the Hebrew year. 
+     * @stable ICU 2.8 
+     */
+    public static final int NISAN = 7;
+
+    /**
+     * Constant for Iyar, the 9th month of the Hebrew year. 
+     * @stable ICU 2.8 
+     */
+    public static final int IYAR = 8;
+
+    /**
+     * Constant for Sivan, the 10th month of the Hebrew year. 
+     * @stable ICU 2.8 
+     */
+    public static final int SIVAN = 9;
+
+    /**
+     * Constant for Tammuz, the 11th month of the Hebrew year. 
+     * @stable ICU 2.8 
+     */
+    public static final int TAMUZ = 10;
+
+    /**
+     * Constant for Av, the 12th month of the Hebrew year. 
+     * @stable ICU 2.8 
+     */
+    public static final int AV = 11;
+
+    /**
+     * Constant for Elul, the 13th month of the Hebrew year. 
+     * @stable ICU 2.8 
+     */
+    public static final int ELUL = 12;
+
+    /**
+     * The absolute date, in milliseconds since 1/1/1970 AD, Gregorian,
+     * of the start of the Hebrew calendar.  In order to keep this calendar's
+     * time of day in sync with that of the Gregorian calendar, we use
+     * midnight, rather than sunset the day before.
+     */
+    //private static final long EPOCH_MILLIS = -180799862400000L; // 1/1/1 HY
+
+    private static final int LIMITS[][] = {
+        // Minimum  Greatest    Least  Maximum
+        //           Minimum  Maximum
+        {        0,        0,       0,       0 }, // ERA
+        {        1,        1, 5000000, 5000000 }, // YEAR
+        {        0,        0,      12,      12 }, // MONTH
+        {        1,        1,      51,      56 }, // WEEK_OF_YEAR
+        {        0,        0,       5,       6 }, // WEEK_OF_MONTH
+        {        1,        1,      29,      30 }, // DAY_OF_MONTH
+        {        1,        1,     353,     385 }, // DAY_OF_YEAR
+        {/*                                  */}, // DAY_OF_WEEK
+        {       -1,       -1,       4,       6 }, // DAY_OF_WEEK_IN_MONTH
+        {/*                                  */}, // AM_PM
+        {/*                                  */}, // HOUR
+        {/*                                  */}, // HOUR_OF_DAY
+        {/*                                  */}, // MINUTE
+        {/*                                  */}, // SECOND
+        {/*                                  */}, // MILLISECOND
+        {/*                                  */}, // ZONE_OFFSET
+        {/*                                  */}, // DST_OFFSET
+        { -5000001, -5000001, 5000001, 5000001 }, // YEAR_WOY
+        {/*                                  */}, // DOW_LOCAL
+        { -5000000, -5000000, 5000000, 5000000 }, // EXTENDED_YEAR
+        {/*                                  */}, // JULIAN_DAY
+        {/*                                  */}, // MILLISECONDS_IN_DAY
+    };
+
+    /**
+     * The lengths of the Hebrew months.  This is complicated, because there
+     * are three different types of years, or six if you count leap years.
+     * Due to the rules for postponing the start of the year to avoid having
+     * certain holidays fall on the sabbath, the year can end up being three
+     * different lengths, called "deficient", "normal", and "complete".
+     */
+    private static final int MONTH_LENGTH[][] = {
+        // Deficient  Normal     Complete
+        {   30,         30,         30     },           //Tishri
+        {   29,         29,         30     },           //Heshvan
+        {   29,         30,         30     },           //Kislev
+        {   29,         29,         29     },           //Tevet
+        {   30,         30,         30     },           //Shevat
+        {   30,         30,         30     },           //Adar I (leap years only)
+        {   29,         29,         29     },           //Adar
+        {   30,         30,         30     },           //Nisan
+        {   29,         29,         29     },           //Iyar
+        {   30,         30,         30     },           //Sivan
+        {   29,         29,         29     },           //Tammuz
+        {   30,         30,         30     },           //Av
+        {   29,         29,         29     },           //Elul
+    };
+
+    /**
+     * The cumulative # of days to the end of each month in a non-leap year
+     * Although this can be calculated from the MONTH_LENGTH table,
+     * keeping it around separately makes some calculations a lot faster
+     */
+    private static final int MONTH_START[][] = {
+        // Deficient  Normal     Complete
+        {    0,          0,          0  },          // (placeholder)
+        {   30,         30,         30  },          // Tishri
+        {   59,         59,         60  },          // Heshvan
+        {   88,         89,         90  },          // Kislev
+        {  117,        118,        119  },          // Tevet
+        {  147,        148,        149  },          // Shevat
+        {  147,        148,        149  },          // (Adar I placeholder)
+        {  176,        177,        178  },          // Adar
+        {  206,        207,        208  },          // Nisan
+        {  235,        236,        237  },          // Iyar
+        {  265,        266,        267  },          // Sivan
+        {  294,        295,        296  },          // Tammuz
+        {  324,        325,        326  },          // Av
+        {  353,        354,        355  },          // Elul
+    };
+
+    /**
+     * The cumulative # of days to the end of each month in a leap year
+     */
+    private static final int LEAP_MONTH_START[][] = {
+        // Deficient  Normal     Complete
+        {    0,          0,          0  },          // (placeholder)
+        {   30,         30,         30  },          // Tishri
+        {   59,         59,         60  },          // Heshvan
+        {   88,         89,         90  },          // Kislev
+        {  117,        118,        119  },          // Tevet
+        {  147,        148,        149  },          // Shevat
+        {  177,        178,        179  },          // Adar I
+        {  206,        207,        208  },          // Adar II
+        {  236,        237,        238  },          // Nisan
+        {  265,        266,        267  },          // Iyar
+        {  295,        296,        297  },          // Sivan
+        {  324,        325,        326  },          // Tammuz
+        {  354,        355,        356  },          // Av
+        {  383,        384,        385  },          // Elul
+    };
+
+    //-------------------------------------------------------------------------
+    // Data Members...
+    //-------------------------------------------------------------------------
+
+    private static CalendarCache cache = new CalendarCache();
+    
+    //-------------------------------------------------------------------------
+    // Constructors...
+    //-------------------------------------------------------------------------
+
+    /**
+     * Constructs a default <code>HebrewCalendar</code> using the current time
+     * in the default time zone with the default locale.
+     * @stable ICU 2.8
+     */
+    public HebrewCalendar() {
+        this(TimeZone.getDefault(), ULocale.getDefault());
+    }
+
+    /**
+     * Constructs a <code>HebrewCalendar</code> based on the current time
+     * in the given time zone with the default locale.
+     *
+     * @param zone The time zone for the new calendar.
+     * @stable ICU 2.8
+     */
+    public HebrewCalendar(TimeZone zone) {
+        this(zone, ULocale.getDefault());
+    }
+
+    /**
+     * Constructs a <code>HebrewCalendar</code> based on the current time
+     * in the default time zone with the given locale.
+     *
+     * @param aLocale The locale for the new calendar.
+     * @stable ICU 2.8
+     */
+    public HebrewCalendar(Locale aLocale) {
+        this(TimeZone.getDefault(), aLocale);
+    }
+
+    /**
+     * Constructs a <code>HebrewCalendar</code> based on the current time
+     * in the default time zone with the given locale.
+     *
+     * @param locale The locale for the new calendar.
+     * @draft ICU 3.2
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public HebrewCalendar(ULocale locale) {
+        this(TimeZone.getDefault(), locale);
+    }
+
+    /**
+     * Constructs a <code>HebrewCalendar</code> based on the current time
+     * in the given time zone with the given locale.
+     *
+     * @param zone The time zone for the new calendar.
+     *
+     * @param aLocale The locale for the new calendar.
+     * @stable ICU 2.8
+     */
+    public HebrewCalendar(TimeZone zone, Locale aLocale) {
+        super(zone, aLocale);
+        setTimeInMillis(System.currentTimeMillis());
+    }
+
+    /**
+     * Constructs a <code>HebrewCalendar</code> based on the current time
+     * in the given time zone with the given locale.
+     *
+     * @param zone The time zone for the new calendar.
+     *
+     * @param locale The locale for the new calendar.
+     * @draft ICU 3.2
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public HebrewCalendar(TimeZone zone, ULocale locale) {
+        super(zone, locale);
+        setTimeInMillis(System.currentTimeMillis());
+    }
+
+    /**
+     * Constructs a <code>HebrewCalendar</code> with the given date set
+     * in the default time zone with the default locale.
+     *
+     * @param year      The value used to set the calendar's {@link #YEAR YEAR} time field.
+     *
+     * @param month     The value used to set the calendar's {@link #MONTH MONTH} time field.
+     *                  The value is 0-based. e.g., 0 for Tishri.
+     *
+     * @param date      The value used to set the calendar's {@link #DATE DATE} time field.
+     * @stable ICU 2.8
+     */
+    public HebrewCalendar(int year, int month, int date) {
+        super(TimeZone.getDefault(), ULocale.getDefault());
+        this.set(YEAR, year);
+        this.set(MONTH, month);
+        this.set(DATE, date);
+    }
+
+    /**
+     * Constructs a <code>HebrewCalendar</code> with the given date set
+     * in the default time zone with the default locale.
+     *
+     * @param date      The date to which the new calendar is set.
+     * @stable ICU 2.8
+     */
+    public HebrewCalendar(Date date) {
+        super(TimeZone.getDefault(), ULocale.getDefault());
+        this.setTime(date);
+    }
+
+    /**
+     * Constructs a <code>HebrewCalendar</code> with the given date
+     * and time set for the default time zone with the default locale.
+     *
+     * @param year      The value used to set the calendar's {@link #YEAR YEAR} time field.
+     *
+     * @param month     The value used to set the calendar's {@link #MONTH MONTH} time field.
+     *                  The value is 0-based. e.g., 0 for Tishri.
+     *
+     * @param date      The value used to set the calendar's {@link #DATE DATE} time field.
+     *
+     * @param hour      The value used to set the calendar's {@link #HOUR_OF_DAY HOUR_OF_DAY} time field.
+     *
+     * @param minute    The value used to set the calendar's {@link #MINUTE MINUTE} time field.
+     *
+     * @param second    The value used to set the calendar's {@link #SECOND SECOND} time field.
+     * @stable ICU 2.8
+     */
+    public HebrewCalendar(int year, int month, int date, int hour,
+                             int minute, int second)
+    {
+        super(TimeZone.getDefault(), ULocale.getDefault());
+        this.set(YEAR, year);
+        this.set(MONTH, month);
+        this.set(DATE, date);
+        this.set(HOUR_OF_DAY, hour);
+        this.set(MINUTE, minute);
+        this.set(SECOND, second);
+    }
+
+    //-------------------------------------------------------------------------
+    // Rolling and adding functions overridden from Calendar
+    //
+    // These methods call through to the default implementation in IBMCalendar
+    // for most of the fields and only handle the unusual ones themselves.
+    //-------------------------------------------------------------------------
+
+    /**
+     * Add a signed amount to a specified field, using this calendar's rules.
+     * For example, to add three days to the current date, you can call
+     * <code>add(Calendar.DATE, 3)</code>. 
+     * <p>
+     * When adding to certain fields, the values of other fields may conflict and
+     * need to be changed.  For example, when adding one to the {@link #MONTH MONTH} field
+     * for the date "30 Av 5758", the {@link #DAY_OF_MONTH DAY_OF_MONTH} field
+     * must be adjusted so that the result is "29 Elul 5758" rather than the invalid
+     * "30 Elul 5758".
+     * <p>
+     * This method is able to add to
+     * all fields except for {@link #ERA ERA}, {@link #DST_OFFSET DST_OFFSET},
+     * and {@link #ZONE_OFFSET ZONE_OFFSET}.
+     * <p>
+     * <b>Note:</b> You should always use {@link #roll roll} and add rather
+     * than attempting to perform arithmetic operations directly on the fields
+     * of a <tt>HebrewCalendar</tt>.  Since the {@link #MONTH MONTH} field behaves
+     * discontinuously in non-leap years, simple arithmetic can give invalid results.
+     * <p>
+     * @param field     the time field.
+     * @param amount    the amount to add to the field.
+     *
+     * @exception   IllegalArgumentException if the field is invalid or refers
+     *              to a field that cannot be handled by this method.
+     * @stable ICU 2.8
+     */
+    public void add(int field, int amount)
+    {
+        switch (field) {
+        case MONTH: 
+            {
+                // We can't just do a set(MONTH, get(MONTH) + amount).  The
+                // reason is ADAR_1.  Suppose amount is +2 and we land in
+                // ADAR_1 -- then we have to bump to ADAR_2 aka ADAR.  But
+                // if amount is -2 and we land in ADAR_1, then we have to
+                // bump the other way -- down to SHEVAT.  - Alan 11/00
+                int month = get(MONTH);
+                int year = get(YEAR);
+                boolean acrossAdar1;
+                if (amount > 0) {
+                    acrossAdar1 = (month < ADAR_1); // started before ADAR_1?
+                    month += amount;
+                    for (;;) {
+                        if (acrossAdar1 && month>=ADAR_1 && !isLeapYear(year)) {
+                            ++month;
+                        }
+                        if (month <= ELUL) {
+                            break;
+                        }
+                        month -= ELUL+1;
+                        ++year;
+                        acrossAdar1 = true;
+                    }
+                } else {
+                    acrossAdar1 = (month > ADAR_1); // started after ADAR_1?
+                    month += amount;
+                    for (;;) {
+                        if (acrossAdar1 && month<=ADAR_1 && !isLeapYear(year)) {
+                            --month;
+                        }
+                        if (month >= 0) {
+                            break;
+                        }
+                        month += ELUL+1;
+                        --year;
+                        acrossAdar1 = true;
+                    }
+                }
+                set(MONTH, month);
+                set(YEAR, year);
+                pinField(DAY_OF_MONTH);
+                break;
+            }
+            
+        default:
+            super.add(field, amount);
+            break;
+        }
+    }
+
+    /**
+     * Rolls (up/down) a specified amount time on the given field.  For
+     * example, to roll the current date up by three days, you can call
+     * <code>roll(Calendar.DATE, 3)</code>.  If the
+     * field is rolled past its maximum allowable value, it will "wrap" back
+     * to its minimum and continue rolling.  
+     * For example, calling <code>roll(Calendar.DATE, 10)</code>
+     * on a Hebrew calendar set to "25 Av 5758" will result in the date "5 Av 5758".
+     * <p>
+     * When rolling certain fields, the values of other fields may conflict and
+     * need to be changed.  For example, when rolling the {@link #MONTH MONTH} field
+     * upward by one for the date "30 Av 5758", the {@link #DAY_OF_MONTH DAY_OF_MONTH} field
+     * must be adjusted so that the result is "29 Elul 5758" rather than the invalid
+     * "30 Elul".
+     * <p>
+     * This method is able to roll
+     * all fields except for {@link #ERA ERA}, {@link #DST_OFFSET DST_OFFSET},
+     * and {@link #ZONE_OFFSET ZONE_OFFSET}.  Subclasses may, of course, add support for
+     * additional fields in their overrides of <code>roll</code>.
+     * <p>
+     * <b>Note:</b> You should always use roll and {@link #add add} rather
+     * than attempting to perform arithmetic operations directly on the fields
+     * of a <tt>HebrewCalendar</tt>.  Since the {@link #MONTH MONTH} field behaves
+     * discontinuously in non-leap years, simple arithmetic can give invalid results.
+     * <p>
+     * @param field     the time field.
+     * @param amount    the amount by which the field should be rolled.
+     *
+     * @exception   IllegalArgumentException if the field is invalid or refers
+     *              to a field that cannot be handled by this method.
+     * @stable ICU 2.8
+     */
+    public void roll(int field, int amount)
+    {
+        switch (field) {
+        case MONTH:
+            {
+                int month = get(MONTH);
+                int year = get(YEAR);
+                
+                boolean leapYear = isLeapYear(year);
+                int yearLength = monthsInYear(year);
+                int newMonth = month + (amount % yearLength);
+                //
+                // If it's not a leap year and we're rolling past the missing month
+                // of ADAR_1, we need to roll an extra month to make up for it.
+                //
+                if (!leapYear) {
+                    if (amount > 0 && month < ADAR_1 && newMonth >= ADAR_1) {
+                        newMonth++;
+                    } else if (amount < 0 && month > ADAR_1 && newMonth <= ADAR_1) {
+                        newMonth--;
+                    }
+                }
+                set(MONTH, (newMonth + 13) % 13);
+                pinField(DAY_OF_MONTH);
+                return;
+            }
+        default:
+            super.roll(field, amount);
+        }
+    }
+
+    //-------------------------------------------------------------------------
+    // Support methods
+    //-------------------------------------------------------------------------
+
+    // Hebrew date calculations are performed in terms of days, hours, and
+    // "parts" (or halakim), which are 1/1080 of an hour, or 3 1/3 seconds.
+    private static final long HOUR_PARTS = 1080;
+    private static final long DAY_PARTS  = 24*HOUR_PARTS;
+    
+    // An approximate value for the length of a lunar month.
+    // It is used to calculate the approximate year and month of a given
+    // absolute date.
+    static private final int  MONTH_DAYS = 29;
+    static private final long MONTH_FRACT = 12*HOUR_PARTS + 793;
+    static private final long MONTH_PARTS = MONTH_DAYS*DAY_PARTS + MONTH_FRACT;
+    
+    // The time of the new moon (in parts) on 1 Tishri, year 1 (the epoch)
+    // counting from noon on the day before.  BAHARAD is an abbreviation of
+    // Bet (Monday), Hey (5 hours from sunset), Resh-Daled (204).
+    static private final long BAHARAD = 11*HOUR_PARTS + 204;
+
+    /**
+     * Finds the day # of the first day in the given Hebrew year.
+     * To do this, we want to calculate the time of the Tishri 1 new moon
+     * in that year.
+     * <p>
+     * The algorithm here is similar to ones described in a number of
+     * references, including:
+     * <ul>
+     * <li>"Calendrical Calculations", by Nachum Dershowitz & Edward Reingold,
+     *     Cambridge University Press, 1997, pages 85-91.
+     *
+     * <li>Hebrew Calendar Science and Myths,
+     *     <a href="http://www.geocities.com/Athens/1584/">
+     *     http://www.geocities.com/Athens/1584/</a>
+     *
+     * <li>The Calendar FAQ,
+     *      <a href="http://www.faqs.org/faqs/calendars/faq/">
+     *      http://www.faqs.org/faqs/calendars/faq/</a>
+     * </ul>
+     */
+    private static long startOfYear(int year)
+    {
+        long day = cache.get(year);
+        
+        if (day == CalendarCache.EMPTY) {
+            int months = (235 * year - 234) / 19;           // # of months before year
+
+            long frac = months * MONTH_FRACT + BAHARAD;     // Fractional part of day #
+            day  = months * 29 + (frac / DAY_PARTS);        // Whole # part of calculation
+            frac = frac % DAY_PARTS;                        // Time of day
+
+            int wd = (int)(day % 7);                        // Day of week (0 == Monday)
+
+            if (wd == 2 || wd == 4 || wd == 6) {
+                // If the 1st is on Sun, Wed, or Fri, postpone to the next day
+                day += 1;
+                wd = (int)(day % 7);
+            }
+            if (wd == 1 && frac > 15*HOUR_PARTS+204 && !isLeapYear(year) ) {
+                // If the new moon falls after 3:11:20am (15h204p from the previous noon)
+                // on a Tuesday and it is not a leap year, postpone by 2 days.
+                // This prevents 356-day years.
+                day += 2;
+            }
+            else if (wd == 0 && frac > 21*HOUR_PARTS+589 && isLeapYear(year-1) ) {
+                // If the new moon falls after 9:32:43 1/3am (21h589p from yesterday noon)
+                // on a Monday and *last* year was a leap year, postpone by 1 day.
+                // Prevents 382-day years.
+                day += 1;
+            }
+            cache.put(year, day);
+        }
+        return day;
+    }
+
+    /**
+     * Find the day of the week for a given day
+     *
+     * @param day   The # of days since the start of the Hebrew calendar,
+     *              1-based (i.e. 1/1/1 AM is day 1).
+     */
+    ///CLOVER:OFF
+    private static int absoluteDayToDayOfWeek(long day)
+    {
+        // We know that 1/1/1 AM is a Monday, which makes the math easy...
+        return (int)(day % 7) + 1;
+    }
+    ///CLOVER:ON
+
+    /**
+     * Returns the the type of a given year.
+     *  0   "Deficient" year with 353 or 383 days
+     *  1   "Normal"    year with 354 or 384 days
+     *  2   "Complete"  year with 355 or 385 days
+     */
+    private final int yearType(int year)
+    {
+        int yearLength = handleGetYearLength(year);
+
+        if (yearLength > 380) {
+           yearLength -= 30;        // Subtract length of leap month.
+        }
+
+        int type = 0;
+
+        switch (yearLength) {
+            case 353:
+                type = 0; break;
+            case 354:
+                type = 1; break;
+            case 355:
+                type = 2; break;
+            default:
+                throw new IllegalArgumentException("Illegal year length " + yearLength + " in year " + year);
+
+        }
+        return type;
+    }
+
+    /**
+     * Determine whether a given Hebrew year is a leap year
+     *
+     * The rule here is that if (year % 19) == 0, 3, 6, 8, 11, 14, or 17.
+     * The formula below performs the same test, believe it or not.
+     */
+    private static final boolean isLeapYear(int year) {
+        //return (year * 12 + 17) % 19 >= 12;
+        int x = (year*12 + 17) % 19;
+        return x >= ((x < 0) ? -7 : 12);
+    }
+
+    private static int monthsInYear(int year) {
+        return isLeapYear(year) ? 13 : 12;
+    }
+
+    //-------------------------------------------------------------------------
+    // Calendar framework
+    //-------------------------------------------------------------------------
+
+    /**
+     * @stable ICU 2.8
+     */
+    protected int handleGetLimit(int field, int limitType) {
+        return LIMITS[field][limitType];
+    }
+
+    /**
+     * Returns the length of the given month in the given year
+     * @stable ICU 2.8
+     */
+    protected int handleGetMonthLength(int extendedYear, int month) {
+
+        switch (month) {
+            case HESHVAN:
+            case KISLEV:
+                // These two month lengths can vary
+                return MONTH_LENGTH[month][yearType(extendedYear)];
+                
+            default:
+                // The rest are a fixed length
+                return MONTH_LENGTH[month][0];
+        }
+    }
+
+    /**
+     * Returns the number of days in the given Hebrew year
+     * @stable ICU 2.8
+     */
+    protected int handleGetYearLength(int eyear) {
+        return (int)(startOfYear(eyear+1) - startOfYear(eyear));
+    }
+
+    //-------------------------------------------------------------------------
+    // Functions for converting from milliseconds to field values
+    //-------------------------------------------------------------------------
+
+    /**
+     * Subclasses may override this method to compute several fields
+     * specific to each calendar system.  These are:
+     *
+     * <ul><li>ERA
+     * <li>YEAR
+     * <li>MONTH
+     * <li>DAY_OF_MONTH
+     * <li>DAY_OF_YEAR
+     * <li>EXTENDED_YEAR</ul>
+     * 
+     * Subclasses can refer to the DAY_OF_WEEK and DOW_LOCAL fields,
+     * which will be set when this method is called.  Subclasses can
+     * also call the getGregorianXxx() methods to obtain Gregorian
+     * calendar equivalents for the given Julian day.
+     *
+     * <p>In addition, subclasses should compute any subclass-specific
+     * fields, that is, fields from BASE_FIELD_COUNT to
+     * getFieldCount() - 1.
+     * @stable ICU 2.8
+     */
+    protected void handleComputeFields(int julianDay) {
+        long d = julianDay - 347997;
+        long m = (d * DAY_PARTS) / MONTH_PARTS;         // Months (approx)
+        int year = (int)((19 * m + 234) / 235) + 1;     // Years (approx)
+        long ys  = startOfYear(year);                   // 1st day of year
+        int dayOfYear = (int)(d - ys);
+
+        // Because of the postponement rules, it's possible to guess wrong.  Fix it.
+        while (dayOfYear < 1) {
+            year--;
+            ys  = startOfYear(year);
+            dayOfYear = (int)(d - ys);
+        }
+
+        // Now figure out which month we're in, and the date within that month
+        int yearType = yearType(year);
+        int monthStart[][] = isLeapYear(year) ? LEAP_MONTH_START : MONTH_START;
+
+        int month = 0;
+        while (dayOfYear > monthStart[month][yearType]) {
+            month++;
+        }
+        month--;
+        int dayOfMonth = dayOfYear - monthStart[month][yearType];
+
+        internalSet(ERA, 0);
+        internalSet(YEAR, year);
+        internalSet(EXTENDED_YEAR, year);
+        internalSet(MONTH, month);
+        internalSet(DAY_OF_MONTH, dayOfMonth);
+        internalSet(DAY_OF_YEAR, dayOfYear);       
+    }
+
+    //-------------------------------------------------------------------------
+    // Functions for converting from field values to milliseconds
+    //-------------------------------------------------------------------------
+
+    /**
+     * @stable ICU 2.8
+     */
+    protected int handleGetExtendedYear() {
+        int year;
+        if (newerField(EXTENDED_YEAR, YEAR) == EXTENDED_YEAR) {
+            year = internalGet(EXTENDED_YEAR, 1); // Default to year 1
+        } else {
+            year = internalGet(YEAR, 1); // Default to year 1
+        }
+        return year;
+    }
+
+    /**
+     * Return JD of start of given month/year.
+     * @stable ICU 2.8
+     */
+    protected int handleComputeMonthStart(int eyear, int month, boolean useMonth) {
+
+        // Resolve out-of-range months.  This is necessary in order to
+        // obtain the correct year.  We correct to
+        // a 12- or 13-month year (add/subtract 12 or 13, depending
+        // on the year) but since we _always_ number from 0..12, and
+        // the leap year determines whether or not month 5 (Adar 1)
+        // is present, we allow 0..12 in any given year.
+        while (month < 0) {
+            month += monthsInYear(--eyear);
+        }
+        // Careful: allow 0..12 in all years
+        while (month > 12) {
+            month -= monthsInYear(eyear++);
+        }
+
+        long day = startOfYear(eyear);
+
+        if (month != 0) {
+            if (isLeapYear(eyear)) {
+                day += LEAP_MONTH_START[month][yearType(eyear)];
+            } else {
+                day += MONTH_START[month][yearType(eyear)];
+            }
+        }
+
+        return (int) (day + 347997);
+    }
+
+    /**
+     * Return the current Calendar type.
+     * @return type of calendar (gregorian, etc.)
+     * @internal ICU 3.0
+     */
+    public String getType() {
+        return "hebrew";
+    }
+
+    /*
+    private static CalendarFactory factory;
+    public static CalendarFactory factory() {
+        if (factory == null) {
+            factory = new CalendarFactory() {
+                public Calendar create(TimeZone tz, ULocale loc) {
+                    return new HebrewCalendar(tz, loc);
+                }
+
+                public String factoryName() {
+                    return "Hebrew";
+                }
+            };
+        }
+        return factory;
+    }
+    */
+}
diff --git a/src/com/ibm/icu/util/HebrewHoliday.java b/src/com/ibm/icu/util/HebrewHoliday.java
new file mode 100755
index 0000000..20adea8
--- /dev/null
+++ b/src/com/ibm/icu/util/HebrewHoliday.java
@@ -0,0 +1,182 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+package com.ibm.icu.util;
+
+/**
+ * @draft ICU 2.8 (retainAll)
+ * @deprecated This is a draft API and might change in a future release of ICU.
+ */
+public class HebrewHoliday extends Holiday
+{
+    private static final HebrewCalendar gCalendar = new HebrewCalendar();
+
+    /**
+     * Construct a holiday defined in reference to the Hebrew calendar.
+     *
+     * @param name The name of the holiday
+     * @draft ICU 2.8
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public HebrewHoliday(int month, int date, String name)
+    {
+        this(month, date, 1, name);
+    }
+
+    /**
+     * @draft ICU 2.8
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public HebrewHoliday(int month, int date, int length, String name)
+    {
+        super(name, new SimpleDateRule(month, date, gCalendar));
+    }
+
+    /**
+     * @draft ICU 2.8
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static HebrewHoliday ROSH_HASHANAH   = new HebrewHoliday(HebrewCalendar.TISHRI,  1,  2,  "Rosh Hashanah");
+
+    /**
+     * @draft ICU 2.8
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static HebrewHoliday GEDALIAH        = new HebrewHoliday(HebrewCalendar.TISHRI,  3,      "Fast of Gedaliah");
+
+    /**
+     * @draft ICU 2.8
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static HebrewHoliday YOM_KIPPUR      = new HebrewHoliday(HebrewCalendar.TISHRI, 10,      "Yom Kippur");
+
+    /**
+     * @draft ICU 2.8
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static HebrewHoliday SUKKOT          = new HebrewHoliday(HebrewCalendar.TISHRI, 15,  6,  "Sukkot");
+
+    /**
+     * @draft ICU 2.8
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static HebrewHoliday HOSHANAH_RABBAH = new HebrewHoliday(HebrewCalendar.TISHRI, 21,      "Hoshanah Rabbah");
+
+    /**
+     * @draft ICU 2.8
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static HebrewHoliday SHEMINI_ATZERET = new HebrewHoliday(HebrewCalendar.TISHRI, 22,      "Shemini Atzeret");
+
+    /**
+     * @draft ICU 2.8
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static HebrewHoliday SIMCHAT_TORAH   = new HebrewHoliday(HebrewCalendar.TISHRI, 23,      "Simchat Torah");
+
+    /**
+     * @draft ICU 2.8
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static HebrewHoliday HANUKKAH        = new HebrewHoliday(HebrewCalendar.KISLEV, 25,      "Hanukkah");
+
+    /**
+     * @draft ICU 2.8
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static HebrewHoliday TEVET_10        = new HebrewHoliday(HebrewCalendar.TEVET,  10,      "Fast of Tevet 10");
+
+    /**
+     * @draft ICU 2.8
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static HebrewHoliday TU_BSHEVAT      = new HebrewHoliday(HebrewCalendar.SHEVAT, 15,      "Tu B'Shevat");
+
+    /**
+     * @draft ICU 2.8
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static HebrewHoliday ESTHER          = new HebrewHoliday(HebrewCalendar.ADAR,   13,      "Fast of Esther");
+
+    /**
+     * @draft ICU 2.8
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static HebrewHoliday PURIM           = new HebrewHoliday(HebrewCalendar.ADAR,   14,      "Purim");
+
+    /**
+     * @draft ICU 2.8
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static HebrewHoliday SHUSHAN_PURIM   = new HebrewHoliday(HebrewCalendar.ADAR,   15,      "Shushan Purim");
+
+    /**
+     * @draft ICU 2.8
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static HebrewHoliday PASSOVER        = new HebrewHoliday(HebrewCalendar.NISAN,  15,  8,  "Passover");
+
+    /**
+     * @draft ICU 2.8
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static HebrewHoliday YOM_HASHOAH     = new HebrewHoliday(HebrewCalendar.NISAN,  27,      "Yom Hashoah");
+
+    /**
+     * @draft ICU 2.8
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static HebrewHoliday YOM_HAZIKARON   = new HebrewHoliday(HebrewCalendar.IYAR,    4,      "Yom Hazikaron");
+
+    /**
+     * @draft ICU 2.8
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static HebrewHoliday YOM_HAATZMAUT   = new HebrewHoliday(HebrewCalendar.IYAR,    5,      "Yom Ha'Atzmaut");
+
+    /**
+     * @draft ICU 2.8
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static HebrewHoliday PESACH_SHEINI   = new HebrewHoliday(HebrewCalendar.IYAR,   14,      "Pesach Sheini");
+
+    /**
+     * @draft ICU 2.8
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static HebrewHoliday LAG_BOMER       = new HebrewHoliday(HebrewCalendar.IYAR,   18,      "Lab B'Omer");
+
+    /**
+     * @draft ICU 2.8
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static HebrewHoliday YOM_YERUSHALAYIM = new HebrewHoliday(HebrewCalendar.IYAR,   28,      "Yom Yerushalayim");
+
+    /**
+     * @draft ICU 2.8
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static HebrewHoliday SHAVUOT         = new HebrewHoliday(HebrewCalendar.SIVAN,   6,  2,  "Shavuot");
+
+    /**
+     * @draft ICU 2.8
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static HebrewHoliday TAMMUZ_17       = new HebrewHoliday(HebrewCalendar.TAMUZ,  17,      "Fast of Tammuz 17");
+
+    /**
+     * @draft ICU 2.8
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static HebrewHoliday TISHA_BAV       = new HebrewHoliday(HebrewCalendar.AV,      9,      "Fast of Tisha B'Av");
+
+    /**
+     * @draft ICU 2.8
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static HebrewHoliday SELIHOT         = new HebrewHoliday(HebrewCalendar.ELUL,   21,      "Selihot");
+}
diff --git a/src/com/ibm/icu/util/Holiday.java b/src/com/ibm/icu/util/Holiday.java
new file mode 100755
index 0000000..4d31a95
--- /dev/null
+++ b/src/com/ibm/icu/util/Holiday.java
@@ -0,0 +1,209 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+package com.ibm.icu.util;
+
+import java.util.Date;
+import java.util.Locale;
+import java.util.MissingResourceException;
+import java.util.ResourceBundle;
+
+/**
+ * An abstract class representing a holiday.
+ * @draft ICU 2.8 (retainAll)
+ * @deprecated This is a draft API and might change in a future release of ICU.
+ */
+public abstract class Holiday implements DateRule
+{
+    /**
+     * @draft ICU 2.8
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static Holiday[] getHolidays()
+    {
+        return getHolidays(ULocale.getDefault());
+    }
+
+    /**
+     * @draft ICU 2.8
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static Holiday[] getHolidays(Locale locale)
+    {
+        return getHolidays(ULocale.forLocale(locale));
+    }
+
+    /**
+     * @draft ICU 3.2
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static Holiday[] getHolidays(ULocale locale)
+    {
+        Holiday[] result = noHolidays;
+
+        try {
+            ResourceBundle bundle = UResourceBundle.getBundleInstance("HolidayBundle", locale);
+
+            result = (Holiday[]) bundle.getObject("holidays");
+        }
+        catch (MissingResourceException e) {
+        }
+        return result;
+    }
+
+    /**
+     * Return the first occurrance of this holiday on or after the given date
+     *
+     * @param start Only holidays on or after this date are returned.
+     *
+     * @return      The date on which this holiday occurs, or null if it
+     *              does not occur on or after the start date.
+     *
+     * @see #firstBetween
+     * @draft ICU 2.8
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public Date firstAfter(Date start) {
+        return rule.firstAfter(start);
+    }
+
+    /**
+     * Return the first occurrance of this holiday that is on or after
+     * the given start date and before the given end date.
+     *
+     * @param start Only occurrances on or after this date are returned.
+     * @param end   Only occurrances before this date are returned.
+     *
+     * @return      The date on which this event occurs, or null if it
+     *              does not occur between the start and end dates.
+     *
+     * @see #firstAfter
+     * @draft ICU 2.8
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public Date firstBetween(Date start, Date end) {
+        return rule.firstBetween(start, end);
+    }
+
+    /**
+     * Checks whether this holiday falls on the given date.  This does
+     * <em>not</em> take time of day into account; instead it checks
+     * whether the holiday and the given date are on the same day.
+     *
+     * @param date  The date to check.
+     * @return      true if this holiday occurs on the given date.
+     * @draft ICU 2.8
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public boolean isOn(Date date) {
+        //System.out.println(name + ".isOn(" + date.toString() + "):");
+        return rule.isOn(date);
+    }
+
+    /**
+     * Check whether this holiday occurs at least once between the two
+     * dates given.
+     * @draft ICU 2.8
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public boolean isBetween(Date start, Date end) {
+        return rule.isBetween(start, end);
+    }
+
+    /**
+     * Construct a new Holiday object.  This is for use by subclasses only.
+     * This constructs a new holiday with the given name and date rules.
+     *
+     * @param name  The name of this holiday.  The getDisplayName method
+     *              uses this string as a key to look up the holiday's name a
+     *              resource bundle object named HolidayBundle.
+     *
+     * @param rule  The date rules used for determining when this holiday
+     *              falls.  Holiday's implementation of the DateRule inteface
+     *              simply delegates to this DateRule object.
+     * @draft ICU 2.8
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    protected Holiday(String name, DateRule rule)
+    {
+        this.name = name;
+        this.rule = rule;
+    }
+
+    /**
+     * Return the name of this holiday in the language of the default locale
+     * @draft ICU 2.8
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public String getDisplayName() {
+        return getDisplayName(ULocale.getDefault());
+    }
+
+    /**
+     * Return the name of this holiday in the language of the specified locale
+     * The <code>name</code> parameter passed to this object's constructor is used
+     * as a key to look up the holiday's localized name in a ResourceBundle object
+     * named HolidayBundle.
+     *
+     * @param locale   A locale specifying the language in which the name is desired.
+     *
+     * @see ResourceBundle
+     * @draft ICU 2.8
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public String getDisplayName(Locale locale)
+    {
+        return getDisplayName(ULocale.forLocale(locale));
+    }
+
+    /**
+     * Return the name of this holiday in the language of the specified locale
+     * The <code>name</code> parameter passed to this object's constructor is used
+     * as a key to look up the holiday's localized name in a ResourceBundle object
+     * named HolidayBundle.
+     *
+     * @param locale   A locale specifying the language in which the name is desired.
+     *
+     * @see ResourceBundle
+     * @draft ICU 3.2
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public String getDisplayName(ULocale locale)
+    {
+        String name = this.name;
+
+        try {
+            ResourceBundle bundle = UResourceBundle.getBundleInstance("HolidayBundle", locale);
+            name = bundle.getString(name);
+        }
+        catch (MissingResourceException e) {
+            //System.out.println("Using default display name for " + name);
+        }
+        return name;
+    }
+
+    /**
+     * @draft ICU 2.8
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public DateRule getRule() {
+        return rule;
+    }
+
+    /**
+     * @draft ICU 2.8
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public void setRule(DateRule rule) {
+        this.rule = rule;
+    }
+
+    private String      name;
+    private DateRule    rule;
+
+    private static Holiday[] noHolidays = {};
+}
diff --git a/src/com/ibm/icu/util/IslamicCalendar.java b/src/com/ibm/icu/util/IslamicCalendar.java
new file mode 100755
index 0000000..9e3479c
--- /dev/null
+++ b/src/com/ibm/icu/util/IslamicCalendar.java
@@ -0,0 +1,671 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.util;
+import com.ibm.icu.util.TimeZone;
+import com.ibm.icu.impl.CalendarAstronomer;
+import com.ibm.icu.impl.CalendarCache;
+import java.util.Date;
+import java.util.Locale;
+
+/**
+ * <code>IslamicCalendar</code> is a subclass of <code>Calendar</code>
+ * that that implements the Islamic civil and religious calendars.  It
+ * is used as the civil calendar in most of the Arab world and the
+ * liturgical calendar of the Islamic faith worldwide.  This calendar
+ * is also known as the "Hijri" calendar, since it starts at the time
+ * of Mohammed's emigration (or "hijra") to Medinah on Thursday, 
+ * July 15, 622 AD (Julian).
+ * <p>
+ * The Islamic calendar is strictly lunar, and thus an Islamic year of twelve
+ * lunar months does not correspond to the solar year used by most other
+ * calendar systems, including the Gregorian.  An Islamic year is, on average,
+ * about 354 days long, so each successive Islamic year starts about 11 days
+ * earlier in the corresponding Gregorian year.
+ * <p>
+ * Each month of the calendar starts when the new moon's crescent is visible
+ * at sunset.  However, in order to keep the time fields in this class
+ * synchronized with those of the other calendars and with local clock time,
+ * we treat days and months as beginning at midnight,
+ * roughly 6 hours after the corresponding sunset.
+ * <p>
+ * There are two main variants of the Islamic calendar in existence.  The first
+ * is the <em>civil</em> calendar, which uses a fixed cycle of alternating 29-
+ * and 30-day months, with a leap day added to the last month of 11 out of
+ * every 30 years.  This calendar is easily calculated and thus predictable in
+ * advance, so it is used as the civil calendar in a number of Arab countries.
+ * This is the default behavior of a newly-created <code>IslamicCalendar</code>
+ * object.
+ * <p>
+ * The Islamic <em>religious</em> calendar, however, is based on the <em>observation</em>
+ * of the crescent moon.  It is thus affected by the position at which the
+ * observations are made, seasonal variations in the time of sunset, the
+ * eccentricities of the moon's orbit, and even the weather at the observation
+ * site.  This makes it impossible to calculate in advance, and it causes the
+ * start of a month in the religious calendar to differ from the civil calendar
+ * by up to three days.
+ * <p>
+ * Using astronomical calculations for the position of the sun and moon, the
+ * moon's illumination, and other factors, it is possible to determine the start
+ * of a lunar month with a fairly high degree of certainty.  However, these
+ * calculations are extremely complicated and thus slow, so most algorithms,
+ * including the one used here, are only approximations of the true astronical
+ * calculations.  At present, the approximations used in this class are fairly
+ * simplistic; they will be improved in later versions of the code.
+ * <p>
+ * The {@link #setCivil setCivil} method determines
+ * which approach is used to determine the start of a month.  By default, the
+ * fixed-cycle civil calendar is used.  However, if <code>setCivil(false)</code>
+ * is called, an approximation of the true lunar calendar will be used.
+ * <p>
+ * This class should not be subclassed.</p>
+ * <p>
+ * IslamicCalendar usually should be instantiated using 
+ * {@link com.ibm.icu.util.Calendar#getInstance(ULocale)} passing in a <code>ULocale</code>
+ * with the tag <code>"@calendar=islamic"</code> or <code>"@calendar=islamic-civil"</code>.</p>
+ *
+ * @see com.ibm.icu.util.GregorianCalendar
+ * @see com.ibm.icu.util.Calendar
+ *
+ * @author Laura Werner
+ * @author Alan Liu
+ * @stable ICU 2.8
+ */
+public class IslamicCalendar extends Calendar {
+    // jdk1.4.2 serialver
+    private static final long serialVersionUID = -6253365474073869325L;
+
+    private static String copyright = "Copyright \u00a9 1997-1998 IBM Corp. All Rights Reserved.";
+
+    //-------------------------------------------------------------------------
+    // Constants...
+    //-------------------------------------------------------------------------
+    
+    /**
+     * Constant for Muharram, the 1st month of the Islamic year. 
+     * @stable ICU 2.8 
+     */
+    public static final int MUHARRAM = 0;
+
+    /**
+     * Constant for Safar, the 2nd month of the Islamic year. 
+     * @stable ICU 2.8 
+     */
+    public static final int SAFAR = 1;
+
+    /**
+     * Constant for Rabi' al-awwal (or Rabi' I), the 3rd month of the Islamic year. 
+     * @stable ICU 2.8 
+     */
+    public static final int RABI_1 = 2;
+
+    /**
+     * Constant for Rabi' al-thani or (Rabi' II), the 4th month of the Islamic year. 
+     * @stable ICU 2.8 
+     */
+    public static final int RABI_2 = 3;
+
+    /**
+     * Constant for Jumada al-awwal or (Jumada I), the 5th month of the Islamic year. 
+     * @stable ICU 2.8 
+     */
+    public static final int JUMADA_1 = 4;
+
+    /**
+     * Constant for Jumada al-thani or (Jumada II), the 6th month of the Islamic year. 
+     * @stable ICU 2.8 
+     */
+    public static final int JUMADA_2 = 5;
+
+    /**
+     * Constant for Rajab, the 7th month of the Islamic year. 
+     * @stable ICU 2.8 
+     */
+    public static final int RAJAB = 6;
+
+    /**
+     * Constant for Sha'ban, the 8th month of the Islamic year. 
+     * @stable ICU 2.8 
+     */
+    public static final int SHABAN = 7;
+
+    /**
+     * Constant for Ramadan, the 9th month of the Islamic year. 
+     * @stable ICU 2.8 
+     */
+    public static final int RAMADAN = 8;
+
+    /**
+     * Constant for Shawwal, the 10th month of the Islamic year. 
+     * @stable ICU 2.8 
+     */
+    public static final int SHAWWAL = 9;
+
+    /**
+     * Constant for Dhu al-Qi'dah, the 11th month of the Islamic year. 
+     * @stable ICU 2.8 
+     */
+    public static final int DHU_AL_QIDAH = 10;
+
+    /**
+     * Constant for Dhu al-Hijjah, the 12th month of the Islamic year. 
+     * @stable ICU 2.8 
+     */
+    public static final int DHU_AL_HIJJAH = 11;
+
+
+    private static final long HIJRA_MILLIS = -42521587200000L;    // 7/16/622 AD 00:00
+
+    //-------------------------------------------------------------------------
+    // Constructors...
+    //-------------------------------------------------------------------------
+
+    /**
+     * Constructs a default <code>IslamicCalendar</code> using the current time
+     * in the default time zone with the default locale.
+     * @stable ICU 2.8
+     */
+    public IslamicCalendar()
+    {
+        this(TimeZone.getDefault(), ULocale.getDefault());
+    }
+
+    /**
+     * Constructs an <code>IslamicCalendar</code> based on the current time
+     * in the given time zone with the default locale.
+     * @param zone the given time zone.
+     * @stable ICU 2.8
+     */
+    public IslamicCalendar(TimeZone zone)
+    {
+        this(zone, ULocale.getDefault());
+    }
+
+    /**
+     * Constructs an <code>IslamicCalendar</code> based on the current time
+     * in the default time zone with the given locale.
+     *
+     * @param aLocale the given locale.
+     * @stable ICU 2.8
+     */
+    public IslamicCalendar(Locale aLocale)
+    {
+        this(TimeZone.getDefault(), aLocale);
+    }
+
+    /**
+     * Constructs an <code>IslamicCalendar</code> based on the current time
+     * in the default time zone with the given locale.
+     *
+     * @param locale the given ulocale.
+     * @draft ICU 3.2
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public IslamicCalendar(ULocale locale)
+    {
+        this(TimeZone.getDefault(), locale);
+    }
+
+    /**
+     * Constructs an <code>IslamicCalendar</code> based on the current time
+     * in the given time zone with the given locale.
+     *
+     * @param zone the given time zone.
+     * @param aLocale the given locale.
+     * @stable ICU 2.8
+     */
+    public IslamicCalendar(TimeZone zone, Locale aLocale)
+    {
+        super(zone, aLocale);
+        setTimeInMillis(System.currentTimeMillis());
+    }
+
+    /**
+     * Constructs an <code>IslamicCalendar</code> based on the current time
+     * in the given time zone with the given locale.
+     *
+     * @param zone the given time zone.
+     * @param locale the given ulocale.
+     * @draft ICU 3.2
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public IslamicCalendar(TimeZone zone, ULocale locale)
+    {
+        super(zone, locale);
+        setTimeInMillis(System.currentTimeMillis());
+    }
+
+    /**
+     * Constructs an <code>IslamicCalendar</code> with the given date set
+     * in the default time zone with the default locale.
+     *
+     * @param date      The date to which the new calendar is set.
+     * @stable ICU 2.8
+     */
+    public IslamicCalendar(Date date) {
+        super(TimeZone.getDefault(), ULocale.getDefault());
+        this.setTime(date);
+    }
+
+    /**
+     * Constructs an <code>IslamicCalendar</code> with the given date set
+     * in the default time zone with the default locale.
+     *
+     * @param year the value used to set the {@link #YEAR YEAR} time field in the calendar.
+     * @param month the value used to set the {@link #MONTH MONTH} time field in the calendar.
+     *              Note that the month value is 0-based. e.g., 0 for Muharram.
+     * @param date the value used to set the {@link #DATE DATE} time field in the calendar.
+     * @stable ICU 2.8
+     */
+    public IslamicCalendar(int year, int month, int date)
+    {
+        super(TimeZone.getDefault(), ULocale.getDefault());
+        this.set(Calendar.YEAR, year);
+        this.set(Calendar.MONTH, month);
+        this.set(Calendar.DATE, date);
+    }
+
+    /**
+     * Constructs an <code>IslamicCalendar</code> with the given date
+     * and time set for the default time zone with the default locale.
+     *
+     * @param year  the value used to set the {@link #YEAR YEAR} time field in the calendar.
+     * @param month the value used to set the {@link #MONTH MONTH} time field in the calendar.
+     *              Note that the month value is 0-based. e.g., 0 for Muharram.
+     * @param date  the value used to set the {@link #DATE DATE} time field in the calendar.
+     * @param hour  the value used to set the {@link #HOUR_OF_DAY HOUR_OF_DAY} time field
+     *              in the calendar.
+     * @param minute the value used to set the {@link #MINUTE MINUTE} time field
+     *              in the calendar.
+     * @param second the value used to set the {@link #SECOND SECOND} time field
+     *              in the calendar.
+     * @stable ICU 2.8
+     */
+    public IslamicCalendar(int year, int month, int date, int hour,
+                             int minute, int second)
+    {
+        super(TimeZone.getDefault(), ULocale.getDefault());
+        this.set(Calendar.YEAR, year);
+        this.set(Calendar.MONTH, month);
+        this.set(Calendar.DATE, date);
+        this.set(Calendar.HOUR_OF_DAY, hour);
+        this.set(Calendar.MINUTE, minute);
+        this.set(Calendar.SECOND, second);
+    }
+
+    /**
+     * Determines whether this object uses the fixed-cycle Islamic civil calendar
+     * or an approximation of the religious, astronomical calendar.
+     *
+     * @param beCivil   <code>true</code> to use the civil calendar,
+     *                  <code>false</code> to use the astronomical calendar.
+     * @stable ICU 2.8
+     */
+    public void setCivil(boolean beCivil)
+    {
+        if (civil != beCivil) {
+            // The fields of the calendar will become invalid, because the calendar
+            // rules are different
+            long m = getTimeInMillis();
+            civil = beCivil;
+            clear();
+            setTimeInMillis(m);
+        }
+    }
+    
+    /**
+     * Returns <code>true</code> if this object is using the fixed-cycle civil
+     * calendar, or <code>false</code> if using the religious, astronomical
+     * calendar.
+     * @stable ICU 2.8
+     */
+    public boolean isCivil() {
+        return civil;
+    }
+    
+    //-------------------------------------------------------------------------
+    // Minimum / Maximum access functions
+    //-------------------------------------------------------------------------
+
+    private static final int LIMITS[][] = {
+        // Minimum  Greatest    Least  Maximum
+        //           Minimum  Maximum
+        {        0,        0,       0,       0 }, // ERA
+        {        1,        1, 5000000, 5000000 }, // YEAR
+        {        0,        0,      11,      11 }, // MONTH
+        {        1,        1,      51,      52 }, // WEEK_OF_YEAR
+        {        0,        0,       5,       6 }, // WEEK_OF_MONTH
+        {        1,        1,      29,      30 }, // DAY_OF_MONTH
+        {        1,        1,     354,     355 }, // DAY_OF_YEAR
+        {/*                                  */}, // DAY_OF_WEEK
+        {       -1,       -1,       4,       5 }, // DAY_OF_WEEK_IN_MONTH
+        {/*                                  */}, // AM_PM
+        {/*                                  */}, // HOUR
+        {/*                                  */}, // HOUR_OF_DAY
+        {/*                                  */}, // MINUTE
+        {/*                                  */}, // SECOND
+        {/*                                  */}, // MILLISECOND
+        {/*                                  */}, // ZONE_OFFSET
+        {/*                                  */}, // DST_OFFSET
+        { -5000001, -5000001, 5000001, 5000001 }, // YEAR_WOY
+        {/*                                  */}, // DOW_LOCAL
+        { -5000000, -5000000, 5000000, 5000000 }, // EXTENDED_YEAR
+        {/*                                  */}, // JULIAN_DAY
+        {/*                                  */}, // MILLISECONDS_IN_DAY
+    };
+
+    /**
+     * @stable ICU 2.8
+     */
+    protected int handleGetLimit(int field, int limitType) {
+        return LIMITS[field][limitType];
+    }
+
+    //-------------------------------------------------------------------------
+    // Assorted calculation utilities
+    //
+
+// Unused code - Alan 2003-05
+//    /**
+//     * Find the day of the week for a given day
+//     *
+//     * @param day   The # of days since the start of the Islamic calendar.
+//     */
+//    // private and uncalled, perhaps not used yet?
+//    ///CLOVER:OFF
+//    private static final int absoluteDayToDayOfWeek(long day)
+//    {
+//        // Calculate the day of the week.
+//        // This relies on the fact that the epoch was a Thursday.
+//        int dayOfWeek = (int)(day + THURSDAY) % 7 + SUNDAY;
+//        if (dayOfWeek < 0) {
+//            dayOfWeek += 7;
+//        }
+//        return dayOfWeek;
+//    }
+//    ///CLOVER:ON
+
+    /**
+     * Determine whether a year is a leap year in the Islamic civil calendar
+     */
+    private final static boolean civilLeapYear(int year)
+    {
+        return (14 + 11 * year) % 30 < 11;
+        
+    }
+    
+    /**
+     * Return the day # on which the given year starts.  Days are counted
+     * from the Hijri epoch, origin 0.
+     */
+    private long yearStart(int year) {
+        if (civil) {
+            return (year-1)*354 + (long)Math.floor((3+11*year)/30.0);
+        } else {
+            return trueMonthStart(12*(year-1));
+        }
+    }
+    
+    /**
+     * Return the day # on which the given month starts.  Days are counted
+     * from the Hijri epoch, origin 0.
+     *
+     * @param year  The hijri year
+     * @param year  The hijri month, 0-based
+     */
+    private long monthStart(int year, int month) {
+        if (civil) {
+            return (long)Math.ceil(29.5*month)
+                    + (year-1)*354 + (long)Math.floor((3+11*year)/30.0);
+        } else {
+            return trueMonthStart(12*(year-1) + month);
+        }
+    }
+    
+    /**
+     * Find the day number on which a particular month of the true/lunar
+     * Islamic calendar starts.
+     *
+     * @param month The month in question, origin 0 from the Hijri epoch
+     *
+     * @return The day number on which the given month starts.
+     */
+    private static final long trueMonthStart(long month)
+    {
+        long start = cache.get(month);
+
+        if (start == CalendarCache.EMPTY)
+        {
+            // Make a guess at when the month started, using the average length
+            long origin = HIJRA_MILLIS 
+                        + (long)Math.floor(month * CalendarAstronomer.SYNODIC_MONTH - 1) * ONE_DAY;
+
+            double age = moonAge(origin);
+
+            if (moonAge(origin) >= 0) {
+                // The month has already started
+                do {
+                    origin -= ONE_DAY;
+                    age = moonAge(origin);
+                } while (age >= 0);
+            }
+            else {
+                // Preceding month has not ended yet.
+                do {
+                    origin += ONE_DAY;
+                    age = moonAge(origin);
+                } while (age < 0);
+            }
+
+            start = (origin - HIJRA_MILLIS) / ONE_DAY + 1;
+            
+            cache.put(month, start);
+        }
+        return start;
+    }
+
+    /**
+     * Return the "age" of the moon at the given time; this is the difference
+     * in ecliptic latitude between the moon and the sun.  This method simply
+     * calls CalendarAstronomer.moonAge, converts to degrees, 
+     * and adjusts the resultto be in the range [-180, 180].
+     *
+     * @param time  The time at which the moon's age is desired,
+     *              in millis since 1/1/1970.
+     */
+    static final double moonAge(long time)
+    {
+        double age = 0;
+        
+        synchronized(astro) {
+            astro.setTime(time);
+            age = astro.getMoonAge();
+        }
+        // Convert to degrees and normalize...
+        age = age * 180 / Math.PI;
+        if (age > 180) {
+            age = age - 360;
+        }
+
+        return age;
+    }
+
+    //-------------------------------------------------------------------------
+    // Internal data....
+    //
+    
+    // And an Astronomer object for the moon age calculations
+    private static CalendarAstronomer astro = new CalendarAstronomer();
+    
+    private static CalendarCache cache = new CalendarCache();
+    
+    /**
+     * <code>true</code> if this object uses the fixed-cycle Islamic civil calendar,
+     * and <code>false</code> if it approximates the true religious calendar using
+     * astronomical calculations for the time of the new moon.
+     *
+     * @serial
+     */
+    private boolean civil = true;
+
+    //----------------------------------------------------------------------
+    // Calendar framework
+    //----------------------------------------------------------------------
+
+    /**
+     * Return the length (in days) of the given month.
+     *
+     * @param extendedYear  The hijri year
+     * @param month The hijri month, 0-based
+     * @stable ICU 2.8
+     */
+    protected int handleGetMonthLength(int extendedYear, int month) {
+
+        int length = 0;
+        
+        if (civil) {
+            length = 29 + (month+1) % 2;
+            if (month == DHU_AL_HIJJAH && civilLeapYear(extendedYear)) {
+                length++;
+            }
+        } else {
+            month = 12*(extendedYear-1) + month;
+            length = (int)( trueMonthStart(month+1) - trueMonthStart(month) );
+        }
+        return length;
+    }
+
+    /**
+     * Return the number of days in the given Islamic year
+     * @stable ICU 2.8
+     */
+    protected int handleGetYearLength(int extendedYear) {
+        if (civil) {
+            return 354 + (civilLeapYear(extendedYear) ? 1 : 0);
+        } else {
+            int month = 12*(extendedYear-1);
+            return (int)(trueMonthStart(month + 12) - trueMonthStart(month));
+        }
+    }
+    
+    //-------------------------------------------------------------------------
+    // Functions for converting from field values to milliseconds....
+    //-------------------------------------------------------------------------
+
+    // Return JD of start of given month/year
+    /**
+     * @stable ICU 2.8
+     */
+    protected int handleComputeMonthStart(int eyear, int month, boolean useMonth) {
+        return (int) monthStart(eyear, month) + 1948439;
+    }    
+
+    //-------------------------------------------------------------------------
+    // Functions for converting from milliseconds to field values
+    //-------------------------------------------------------------------------
+
+    /**
+     * @stable ICU 2.8
+     */
+    protected int handleGetExtendedYear() {
+        int year;
+        if (newerField(EXTENDED_YEAR, YEAR) == EXTENDED_YEAR) {
+            year = internalGet(EXTENDED_YEAR, 1); // Default to year 1
+        } else {
+            year = internalGet(YEAR, 1); // Default to year 1
+        }
+        return year;
+    }
+
+    /**
+     * Override Calendar to compute several fields specific to the Islamic
+     * calendar system.  These are:
+     *
+     * <ul><li>ERA
+     * <li>YEAR
+     * <li>MONTH
+     * <li>DAY_OF_MONTH
+     * <li>DAY_OF_YEAR
+     * <li>EXTENDED_YEAR</ul>
+     * 
+     * The DAY_OF_WEEK and DOW_LOCAL fields are already set when this
+     * method is called. The getGregorianXxx() methods return Gregorian
+     * calendar equivalents for the given Julian day.
+     * @stable ICU 2.8
+     */
+    protected void handleComputeFields(int julianDay) {
+        int year, month, dayOfMonth, dayOfYear;
+        long monthStart;
+        long days = julianDay - 1948440;
+
+        if (civil) {
+            // Use the civil calendar approximation, which is just arithmetic
+            year  = (int)Math.floor( (30 * days + 10646) / 10631.0 );
+            month = (int)Math.ceil((days - 29 - yearStart(year)) / 29.5 );
+            month = Math.min(month, 11);
+            monthStart = monthStart(year, month);
+        } else {
+            // Guess at the number of elapsed full months since the epoch
+            int months = (int)Math.floor(days / CalendarAstronomer.SYNODIC_MONTH);
+
+            monthStart = (long)Math.floor(months * CalendarAstronomer.SYNODIC_MONTH - 1);
+
+            if ( days - monthStart >= 28 && moonAge(internalGetTimeInMillis()) > 0) {
+                // If we're near the end of the month, assume next month and search backwards
+                months++;
+            }
+
+            // Find out the last time that the new moon was actually visible at this longitude
+            // This returns midnight the night that the moon was visible at sunset.
+            while ((monthStart = trueMonthStart(months)) > days) {
+                // If it was after the date in question, back up a month and try again
+                months--;
+            }
+
+            year = months / 12 + 1;
+            month = months % 12;
+        }
+
+        dayOfMonth = (int)(days - monthStart(year, month)) + 1;
+
+        // Now figure out the day of the year.
+        dayOfYear = (int)(days - monthStart(year, 0) + 1);
+
+        internalSet(ERA, 0);
+        internalSet(YEAR, year);
+        internalSet(EXTENDED_YEAR, year);
+        internalSet(MONTH, month);
+        internalSet(DAY_OF_MONTH, dayOfMonth);
+        internalSet(DAY_OF_YEAR, dayOfYear);       
+    }    
+
+    /**
+     * Return the current Calendar type.
+     * @return type of calendar (gregorian, etc.)
+     * @internal ICU 3.0
+     */
+    public String getType() {
+        return "islamic";
+    }
+
+    /*
+    private static CalendarFactory factory;
+    public static CalendarFactory factory() {
+        if (factory == null) {
+            factory = new CalendarFactory() {
+                public Calendar create(TimeZone tz, ULocale loc) {
+                    return new IslamicCalendar(tz, loc);
+                }
+
+                public String factoryName() {
+                    return "Islamic";
+                }
+            };
+        }
+        return factory;
+    }
+    */
+}
diff --git a/src/com/ibm/icu/util/JapaneseCalendar.java b/src/com/ibm/icu/util/JapaneseCalendar.java
new file mode 100755
index 0000000..db81928
--- /dev/null
+++ b/src/com/ibm/icu/util/JapaneseCalendar.java
@@ -0,0 +1,624 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.util;
+import com.ibm.icu.util.TimeZone;
+import java.util.Date;
+import java.util.Locale;
+
+/**
+ * <code>JapaneseCalendar</code> is a subclass of <code>GregorianCalendar</code>
+ * that numbers years and eras based on the reigns of the Japanese emperors.
+ * The Japanese calendar is identical to the Gregorian calendar in all respects
+ * except for the year and era.  The ascension of each  emperor to the throne
+ * begins a new era, and the years of that era are numbered starting with the
+ * year of ascension as year 1.
+ * <p>
+ * Note that in the year of an imperial ascension, there are two possible sets
+ * of year and era values: that for the old era and for the new.  For example, a
+ * new era began on January 7, 1989 AD.  Strictly speaking, the first six days
+ * of that year were in the Showa era, e.g. "January 6, 64 Showa", while the rest
+ * of the year was in the Heisei era, e.g. "January 7, 1 Heisei".  This class
+ * handles this distinction correctly when computing dates.  However, in lenient
+ * mode either form of date is acceptable as input. 
+ * <p>
+ * In modern times, eras have started on January 8, 1868 AD, Gregorian (Meiji),
+ * July 30, 1912 (Taisho), December 25, 1926 (Showa), and January 7, 1989 (Heisei).  Constants
+ * for these eras, suitable for use in the <code>ERA</code> field, are provided
+ * in this class.  Note that the <em>number</em> used for each era is more or
+ * less arbitrary.  Currently, the era starting in 1053 AD is era #0; however this
+ * may change in the future as we add more historical data.  Use the predefined
+ * constants rather than using actual, absolute numbers.
+ * <p>
+ * This class should not be subclassed.</p>
+ * <p>
+ * JapaneseCalendar usually should be instantiated using 
+ * {@link com.ibm.icu.util.Calendar#getInstance(ULocale)} passing in a <code>ULocale</code>
+ * with the tag <code>"@calendar=japanese"</code>.</p>
+ *
+ * @see com.ibm.icu.util.GregorianCalendar
+ * @see com.ibm.icu.util.Calendar
+ *
+ * @author Laura Werner
+ * @author Alan Liu
+ * @stable ICU 2.8
+ */
+public class JapaneseCalendar extends GregorianCalendar {
+    // jdk1.4.2 serialver
+    private static final long serialVersionUID = -2977189902603704691L;
+
+    private static String copyright = "Copyright \u00a9 1998 IBM Corp. All Rights Reserved.";
+
+    //-------------------------------------------------------------------------
+    // Constructors...
+    //-------------------------------------------------------------------------
+
+    /**
+     * Constructs a default <code>JapaneseCalendar</code> using the current time
+     * in the default time zone with the default locale.
+     * @stable ICU 2.8
+     */
+    public JapaneseCalendar() {
+        super();
+    }
+
+    /**
+     * Constructs a <code>JapaneseCalendar</code> based on the current time
+     * in the given time zone with the default locale.
+     * @param zone the given time zone.
+     * @stable ICU 2.8
+     */
+    public JapaneseCalendar(TimeZone zone) {
+        super(zone);
+    }
+
+    /**
+     * Constructs a <code>JapaneseCalendar</code> based on the current time
+     * in the default time zone with the given locale.
+     * @param aLocale the given locale.
+     * @stable ICU 2.8
+     */
+    public JapaneseCalendar(Locale aLocale) {
+        super(aLocale);
+    }
+
+    /**
+     * Constructs a <code>JapaneseCalendar</code> based on the current time
+     * in the default time zone with the given locale.
+     * @param locale the given ulocale.
+     * @draft ICU 3.2
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public JapaneseCalendar(ULocale locale) {
+        super(locale);
+    }
+
+    /**
+     * Constructs a <code>JapaneseCalendar</code> based on the current time
+     * in the given time zone with the given locale.
+     *
+     * @param zone the given time zone.
+     *
+     * @param aLocale the given locale.
+     * @stable ICU 2.8
+     */
+    public JapaneseCalendar(TimeZone zone, Locale aLocale) {
+        super(zone, aLocale);
+    }
+
+    /**
+     * Constructs a <code>JapaneseCalendar</code> based on the current time
+     * in the given time zone with the given locale.
+     *
+     * @param zone the given time zone.
+     *
+     * @param locale the given ulocale.
+     * @draft ICU 3.2
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public JapaneseCalendar(TimeZone zone, ULocale locale) {
+        super(zone, locale);
+    }
+
+    /**
+     * Constructs a <code>JapaneseCalendar</code> with the given date set
+     * in the default time zone with the default locale.
+     *
+     * @param date      The date to which the new calendar is set.
+     * @stable ICU 2.8
+     */
+    public JapaneseCalendar(Date date) {
+        this();
+        setTime(date);
+    }
+
+    /**
+     * Constructs a <code>JapaneseCalendar</code> with the given date set
+     * in the default time zone with the default locale.
+     *
+     * @param era       The imperial era used to set the calendar's {@link #ERA ERA} field.
+     *                  Eras are numbered starting with the Tenki era, which
+     *                  began in 1053 AD Gregorian, as era zero.  Recent
+     *                  eras can be specified using the constants
+     *                  {@link #MEIJI} (which started in 1868 AD),
+     *                  {@link #TAISHO} (1912 AD),
+     *                  {@link #SHOWA} (1926 AD), and
+     *                  {@link #HEISEI} (1989 AD).
+     *
+     * @param year      The value used to set the calendar's {@link #YEAR YEAR} field,
+     *                  in terms of the era.
+     *
+     * @param month     The value used to set the calendar's {@link #MONTH MONTH} field.
+     *                  The value is 0-based. e.g., 0 for January.
+     *
+     * @param date      The value used to set the calendar's DATE field.
+     * @stable ICU 2.8
+     */
+    public JapaneseCalendar(int era, int year, int month, int date) {
+        super(year, month, date);
+        set(ERA, era);
+    }
+
+    /**
+     * Constructs a <code>JapaneseCalendar</code> with the given date set
+     * in the default time zone with the default locale.
+     *
+     * @param year      The value used to set the calendar's {@link #YEAR YEAR} field,
+     *                  in the era Heisei, the most current at the time this
+     *                  class was last updated.
+     *
+     * @param month     The value used to set the calendar's {@link #MONTH MONTH} field.
+     *                  The value is 0-based. e.g., 0 for January.
+     *
+     * @param date      The value used to set the calendar's {@link #DATE DATE} field.
+     * @stable ICU 2.8
+     */
+    public JapaneseCalendar(int year, int month, int date) {
+        super(year, month, date);
+        set(ERA, CURRENT_ERA);
+    }
+
+    /**
+     * Constructs a <code>JapaneseCalendar</code> with the given date
+     * and time set for the default time zone with the default locale.
+     *
+     * @param year      The value used to set the calendar's {@link #YEAR YEAR} time field,
+     *                  in the era Heisei, the most current at the time of this
+     *                  writing.
+     *
+     * @param month     The value used to set the calendar's {@link #MONTH MONTH} time field.
+     *                  The value is 0-based. e.g., 0 for January.
+     *
+     * @param date      The value used to set the calendar's {@link #DATE DATE} time field.
+     *
+     * @param hour      The value used to set the calendar's {@link #HOUR_OF_DAY HOUR_OF_DAY} time field.
+     *
+     * @param minute    The value used to set the calendar's {@link #MINUTE MINUTE} time field.
+     *
+     * @param second    The value used to set the calendar's {@link #SECOND SECOND} time field.
+     * @stable ICU 2.8
+     */
+    public JapaneseCalendar(int year, int month, int date, int hour,
+                             int minute, int second)
+    {
+        super(year, month, date, hour, minute, second);
+        set(ERA, CURRENT_ERA);
+    }
+
+    //-------------------------------------------------------------------------
+
+    /**
+     * @stable ICU 2.8
+     */
+    protected int handleGetExtendedYear() {
+        int year;
+        // TODO reimplement this to be faster?
+        if (newerField(EXTENDED_YEAR, YEAR) == EXTENDED_YEAR &&
+            newerField(EXTENDED_YEAR, ERA) == EXTENDED_YEAR) {
+            year = internalGet(EXTENDED_YEAR, 1);
+        } else {
+            // Subtract one because year starts at 1
+            year = internalGet(YEAR) + ERAS[internalGet(ERA, CURRENT_ERA) * 3] - 1;
+        }
+        return year;
+    }
+
+    /**
+     * @stable ICU 2.8
+     */
+    protected void handleComputeFields(int julianDay) {
+        super.handleComputeFields(julianDay);
+        int year = internalGet(EXTENDED_YEAR);
+
+        int low = 0;
+
+        // Short circuit for recent years.  Most modern computations will
+        // occur in the current era and won't require the binary search.
+        // Note that if the year is == the current era year, then we use
+        // the binary search to handle the month/dom comparison.
+        if (year > ERAS[ERAS.length - 3]) {
+            low = CURRENT_ERA;
+        } else {
+            // Binary search
+            int high = ERAS.length / 3;
+        
+            while (low < high - 1) {
+                int i = (low + high) / 2;
+                int diff = year - ERAS[i*3];
+
+                // If years are the same, then compare the months, and if those
+                // are the same, compare days of month.  In the ERAS array
+                // months are 1-based for easier maintenance.
+                if (diff == 0) {
+                    diff = internalGet(MONTH) - (ERAS[i*3 + 1] - 1);
+                    if (diff == 0) {
+                        diff = internalGet(DAY_OF_MONTH) - ERAS[i*3 + 2];
+                    }
+                }
+                if (diff >= 0) {
+                    low = i;
+                } else {
+                    high = i;
+                }
+            }
+        }
+
+        // Now we've found the last era that starts before this date, so
+        // adjust the year to count from the start of that era.  Note that
+        // all dates before the first era will fall into the first era by
+        // the algorithm.
+        internalSet(ERA, low);
+        internalSet(YEAR, year - ERAS[low*3] + 1);
+    }
+
+    private static final int[] ERAS = {
+    //  Gregorian date of each emperor's ascension
+    //  Years are AD, months are 1-based.
+    //  Year  Month Day
+         645,    6, 19,     // Taika
+         650,    2, 15,     // Hakuchi
+         672,    1,  1,     // Hakuho
+         686,    7, 20,     // Shucho
+         701,    3, 21,     // Taiho
+         704,    5, 10,     // Keiun
+         708,    1, 11,     // Wado
+         715,    9,  2,     // Reiki
+         717,   11, 17,     // Yoro
+         724,    2,  4,     // Jinki
+         729,    8,  5,     // Tempyo
+         749,    4, 14,     // Tempyo-kampo
+         749,    7,  2,     // Tempyo-shoho
+         757,    8, 18,     // Tempyo-hoji
+         765,    1,  7,     // Tempho-jingo
+         767,    8, 16,     // Jingo-keiun
+         770,   10,  1,     // Hoki
+         781,    1,  1,     // Ten-o
+         782,    8, 19,     // Enryaku
+         806,    5, 18,     // Daido
+         810,    9, 19,     // Konin
+         824,    1,  5,     // Tencho
+         834,    1,  3,     // Showa
+         848,    6, 13,     // Kajo
+         851,    4, 28,     // Ninju
+         854,   11, 30,     // Saiko
+         857,    2, 21,     // Tennan
+         859,    4, 15,     // Jogan
+         877,    4, 16,     // Genkei
+         885,    2, 21,     // Ninna
+         889,    4, 27,     // Kampyo
+         898,    4, 26,     // Shotai
+         901,    7, 15,     // Engi
+         923,    4, 11,     // Encho
+         931,    4, 26,     // Shohei
+         938,    5, 22,     // Tengyo
+         947,    4, 22,     // Tenryaku
+         957,   10, 27,     // Tentoku
+         961,    2, 16,     // Owa
+         964,    7, 10,     // Koho
+         968,    8, 13,     // Anna
+         970,    3, 25,     // Tenroku
+         973,   12, 20,     // Ten-en
+         976,    7, 13,     // Jogen
+         978,   11, 29,     // Tengen
+         983,    4, 15,     // Eikan
+         985,    4, 27,     // Kanna
+         987,    4,  5,     // Ei-en
+         989,    8,  8,     // Eiso
+         990,   11,  7,     // Shoryaku
+         995,    2, 22,     // Chotoku
+         999,    1, 13,     // Choho
+        1004,    7, 20,     // Kanko
+        1012,   12, 25,     // Chowa
+        1017,    4, 23,     // Kannin
+        1021,    2,  2,     // Jian
+        1024,    7, 13,     // Manju
+        1028,    7, 25,     // Chogen
+        1037,    4, 21,     // Choryaku
+        1040,   11, 10,     // Chokyu
+        1044,   11, 24,     // Kantoku
+        1046,    4, 14,     // Eisho
+        1053,    1, 11,     // Tengi
+        1058,    8, 29,     // Kohei
+        1065,    8,  2,     // Jiryaku
+        1069,    4, 13,     // Enkyu
+        1074,    8, 23,     // Shoho
+        1077,   11, 17,     // Shoryaku
+        1081,    2, 10,     // Eiho
+        1084,    2,  7,     // Otoku
+        1087,    4,  7,     // Kanji
+        1094,   12, 15,     // Kaho
+        1096,   12, 17,     // Eicho
+        1097,   11, 21,     // Shotoku
+        1099,    8, 28,     // Kowa
+        1104,    2, 10,     // Choji
+        1106,    4,  9,     // Kasho
+        1108,    8,  3,     // Tennin
+        1110,    7, 13,     // Ten-ei
+        1113,    7, 13,     // Eikyu
+        1118,    4,  3,     // Gen-ei
+        1120,    4, 10,     // Hoan
+        1124,    4,  3,     // Tenji
+        1126,    1, 22,     // Daiji
+        1131,    1, 29,     // Tensho
+        1132,    8, 11,     // Chosho
+        1135,    4, 27,     // Hoen
+        1141,    7, 10,     // Eiji
+        1142,    4, 28,     // Koji
+        1144,    2, 23,     // Tenyo
+        1145,    7, 22,     // Kyuan
+        1151,    1, 26,     // Ninpei
+        1154,   10, 28,     // Kyuju
+        1156,    4, 27,     // Hogen
+        1159,    4, 20,     // Heiji
+        1160,    1, 10,     // Eiryaku
+        1161,    9,  4,     // Oho
+        1163,    3, 29,     // Chokan
+        1165,    6,  5,     // Eiman
+        1166,    8, 27,     // Nin-an
+        1169,    4,  8,     // Kao
+        1171,    4, 21,     // Shoan
+        1175,    7, 28,     // Angen
+        1177,    8,  4,     // Jisho
+        1181,    7, 14,     // Yowa
+        1182,    5, 27,     // Juei
+        1184,    4, 16,     // Genryuku
+        1185,    8, 14,     // Bunji
+        1190,    4, 11,     // Kenkyu
+        1199,    4, 27,     // Shoji
+        1201,    2, 13,     // Kennin
+        1204,    2, 20,     // Genkyu
+        1206,    4, 27,     // Ken-ei
+        1207,   10, 25,     // Shogen
+        1211,    3,  9,     // Kenryaku
+        1213,   12,  6,     // Kenpo
+        1219,    4, 12,     // Shokyu
+        1222,    4, 13,     // Joo
+        1224,   11, 20,     // Gennin
+        1225,    4, 20,     // Karoku
+        1227,   12, 10,     // Antei
+        1229,    3,  5,     // Kanki
+        1232,    4,  2,     // Joei
+        1233,    4, 15,     // Tempuku
+        1234,   11,  5,     // Bunryaku
+        1235,    9, 19,     // Katei
+        1238,   11, 23,     // Ryakunin
+        1239,    2,  7,     // En-o
+        1240,    7, 16,     // Ninji
+        1243,    2, 26,     // Kangen
+        1247,    2, 28,     // Hoji
+        1249,    3, 18,     // Kencho
+        1256,   10,  5,     // Kogen
+        1257,    3, 14,     // Shoka
+        1259,    3, 26,     // Shogen
+        1260,    4, 13,     // Bun-o
+        1261,    2, 20,     // Kocho
+        1264,    2, 28,     // Bun-ei
+        1275,    4, 25,     // Kenji
+        1278,    2, 29,     // Koan
+        1288,    4, 28,     // Shoo
+        1293,    8, 55,     // Einin
+        1299,    4, 25,     // Shoan
+        1302,   11, 21,     // Kengen
+        1303,    8,  5,     // Kagen
+        1306,   12, 14,     // Tokuji
+        1308,   10,  9,     // Enkei
+        1311,    4, 28,     // Ocho
+        1312,    3, 20,     // Showa
+        1317,    2,  3,     // Bunpo
+        1319,    4, 28,     // Geno
+        1321,    2, 23,     // Genkyo
+        1324,   12,  9,     // Shochu
+        1326,    4, 26,     // Kareki
+        1329,    8, 29,     // Gentoku
+        1331,    8,  9,     // Genko
+        1334,    1, 29,     // Kemmu
+        1336,    2, 29,     // Engen
+        1340,    4, 28,     // Kokoku
+        1346,   12,  8,     // Shohei
+        1370,    7, 24,     // Kentoku
+        1372,    4,  1,     // Bunch\u0169
+        1375,    5, 27,     // Tenju
+        1379,    3, 22,     // Koryaku
+        1381,    2, 10,     // Kowa
+        1384,    4, 28,     // Gench\u0169
+        1384,    2, 27,     // Meitoku
+        1387,    8, 23,     // Kakei
+        1389,    2,  9,     // Koo
+        1390,    3, 26,     // Meitoku
+        1394,    7,  5,     // Oei
+        1428,    4, 27,     // Shocho
+        1429,    9,  5,     // Eikyo
+        1441,    2, 17,     // Kakitsu
+        1444,    2,  5,     // Bun-an
+        1449,    7, 28,     // Hotoku
+        1452,    7, 25,     // Kyotoku
+        1455,    7, 25,     // Kosho
+        1457,    9, 28,     // Choroku
+        1460,   12, 21,     // Kansho
+        1466,    2, 28,     // Bunsho
+        1467,    3,  3,     // Onin
+        1469,    4, 28,     // Bunmei
+        1487,    7, 29,     // Chokyo
+        1489,    8, 21,     // Entoku
+        1492,    7, 19,     // Meio
+        1501,    2, 29,     // Bunki
+        1504,    2, 30,     // Eisho
+        1521,    8, 23,     // Taiei
+        1528,    8, 20,     // Kyoroku
+        1532,    7, 29,     // Tenmon
+        1555,   10, 23,     // Koji
+        1558,    2, 28,     // Eiroku
+        1570,    4, 23,     // Genki
+        1573,    7, 28,     // Tensho
+        1592,   12,  8,     // Bunroku
+        1596,   10, 27,     // Keicho
+        1615,    7, 13,     // Genwa
+        1624,    2, 30,     // Kan-ei
+        1644,   12, 16,     // Shoho
+        1648,    2, 15,     // Keian
+        1652,    9, 18,     // Shoo
+        1655,    4, 13,     // Meiryaku
+        1658,    7, 23,     // Manji
+        1661,    4, 25,     // Kanbun
+        1673,    9, 21,     // Enpo
+        1681,    9, 29,     // Tenwa
+        1684,    2, 21,     // Jokyo
+        1688,    9, 30,     // Genroku
+        1704,    3, 13,     // Hoei
+        1711,    4, 25,     // Shotoku
+        1716,    6, 22,     // Kyoho
+        1736,    4, 28,     // Genbun
+        1741,    2, 27,     // Kanpo
+        1744,    2, 21,     // Enkyo
+        1748,    7, 12,     // Kan-en
+        1751,   10, 27,     // Horyaku
+        1764,    6,  2,     // Meiwa
+        1772,   11, 16,     // An-ei
+        1781,    4,  2,     // Tenmei
+        1789,    1, 25,     // Kansei
+        1801,    2,  5,     // Kyowa
+        1804,    2, 11,     // Bunka
+        1818,    4, 22,     // Bunsei
+        1830,   12, 10,     // Tenpo
+        1844,   12,  2,     // Koka
+        1848,    2, 28,     // Kaei
+        1854,   11, 27,     // Ansei
+        1860,    3, 18,     // Man-en
+        1861,    2, 19,     // Bunkyu
+        1864,    2, 20,     // Genji
+        1865,    4,  7,     // Keio
+        1868,    9,  8,     // Meiji
+        1912,    7, 30,     // Taisho
+        1926,   12, 25,     // Showa
+        1989,    1,  8,     // Heisei
+    };
+
+    //-------------------------------------------------------------------------
+    // Public constants for some of the recent eras that folks might use...
+    //-------------------------------------------------------------------------
+
+    // Constant for the current era.  This must be regularly updated.
+    /**
+     * @stable ICU 2.8
+     */
+    static public final int CURRENT_ERA = (ERAS.length / 3) - 1;
+    
+    /** 
+     * Constant for the era starting on Sept. 8, 1868 AD.
+     * @stable  ICU 2.8 
+     */
+    static public final int MEIJI = CURRENT_ERA - 3;
+
+    /** 
+     * Constant for the era starting on July 30, 1912 AD. 
+     * @stable ICU 2.8 
+     */
+    static public final int TAISHO = CURRENT_ERA - 2;
+    
+    /** 
+     * Constant for the era starting on Dec. 25, 1926 AD. 
+     * @stable ICU 2.8 
+     */
+    static public final int SHOWA = CURRENT_ERA - 1;
+
+    /** 
+     * Constant for the era starting on Jan. 7, 1989 AD. 
+     * @stable ICU 2.8 
+     */
+    static public final int HEISEI = CURRENT_ERA;
+
+    /**
+     * Partial limits table for limits that differ from GregorianCalendar's.
+     * The YEAR max limits are filled in the first time they are needed.
+     */
+    private static int LIMITS[][] = {
+        // Minimum  Greatest        Least      Maximum
+        //           Minimum      Maximum
+        {        0,        0, CURRENT_ERA, CURRENT_ERA }, // ERA
+        {        1,        1,           0,           0 }, // YEAR
+    };
+
+    private static boolean YEAR_LIMIT_KNOWN = false;
+
+    /**
+     * Override GregorianCalendar.  We should really handle YEAR_WOY and
+     * EXTENDED_YEAR here too to implement the 1..5000000 range, but it's
+     * not critical.
+     * @stable ICU 2.8
+     */
+    protected int handleGetLimit(int field, int limitType) {
+        switch (field) {
+        case ERA:
+            return LIMITS[field][limitType];
+        case YEAR:
+            if (!YEAR_LIMIT_KNOWN) {
+                int min = ERAS[3] - ERAS[0];
+                int max = min;
+                for (int i=6; i<ERAS.length; i+=3) {
+                    int d = ERAS[i] - ERAS[i-3];
+                    if (d < min) {
+                        min = d;
+                    }
+                    if (d > max) {
+                        max = d;
+                    }
+                }
+                LIMITS[field][LEAST_MAXIMUM] = ++min; // 1-based
+                LIMITS[field][MAXIMUM] = ++max; // 1-based
+            }
+            return LIMITS[field][limitType];
+        default:
+            return super.handleGetLimit(field, limitType);
+        }
+    }
+
+    /**
+     * Return the current Calendar type.
+     * @return type of calendar (gregorian, etc.)
+     * @internal ICU 3.0
+     */
+    public String getType() {
+        return "japanese";
+    }
+
+    /*
+    private static CalendarFactory factory;
+    public static CalendarFactory factory() {
+        if (factory == null) {
+            factory = new CalendarFactory() {
+                public Calendar create(TimeZone tz, ULocale loc) {
+                    return new JapaneseCalendar(tz, loc);
+                }
+
+                public String factoryName() {
+                    return "Japanese";
+                }
+            };
+        }
+        return factory;
+    }
+    */
+}
diff --git a/src/com/ibm/icu/util/LocaleData.java b/src/com/ibm/icu/util/LocaleData.java
new file mode 100644
index 0000000..504614f
--- /dev/null
+++ b/src/com/ibm/icu/util/LocaleData.java
@@ -0,0 +1,311 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2004-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+*/
+package com.ibm.icu.util;
+
+import com.ibm.icu.impl.ICUResourceBundle;
+import com.ibm.icu.text.UnicodeSet;
+
+/**
+ * A class for accessing miscelleneous data in the locale bundles
+ * @author ram
+ * @stable ICU 2.8
+ */
+public final class LocaleData {
+    
+    private static final String EXEMPLAR_CHARS      = "ExemplarCharacters";
+    private static final String MEASUREMENT_SYSTEM  = "MeasurementSystem";
+    private static final String PAPER_SIZE          = "PaperSize";
+    private boolean noSubstitute;
+    private ICUResourceBundle bundle;
+
+    /**
+     * EXType for {@link #getExemplarSet(int, int)}.
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final int ES_STANDARD = 0;
+
+    /**
+     * EXType for {@link #getExemplarSet(int, int)}.
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final int ES_AUXILIARY = 1;
+
+    /**
+     * Count of EXTypes for {@link #getExemplarSet(int, int)}.
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final int ES_COUNT = 2;
+    
+    /**
+     * Delimiter type for {@link #getDelimiter(int)}.
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final int QUOTATION_START = 0;
+
+    /**
+     * Delimiter type for {@link #getDelimiter(int)}.
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final int QUOTATION_END = 1;
+
+    /**
+     * Delimiter type for {@link #getDelimiter(int)}.
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final int ALT_QUOTATION_START = 2;
+
+    /**
+     * Delimiter type for {@link #getDelimiter(int)}.
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final int ALT_QUOTATION_END = 3;
+
+    /**
+     * Count of delimiter types for {@link #getDelimiter(int)}.
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final int DELIMITER_COUNT = 4;
+
+    // private constructor to prevent default construction
+    ///CLOVER:OFF
+    private LocaleData(){}
+    ///CLOVER:ON
+
+    /**
+     * Returns the set of exemplar characters for a locale.
+     *
+     * @param locale    Locale for which the exemplar character set
+     *                  is to be retrieved.
+     * @param options   Bitmask for options to apply to the exemplar pattern.
+     *                  Specify zero to retrieve the exemplar set as it is
+     *                  defined in the locale data.  Specify
+     *                  UnicodeSet.CASE to retrieve a case-folded exemplar
+     *                  set.  See {@link UnicodeSet#applyPattern(String,
+     *                  int)} for a complete list of valid options.  The
+     *                  IGNORE_SPACE bit is always set, regardless of the
+     *                  value of 'options'.
+     * @return          The set of exemplar characters for the given locale.
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static UnicodeSet getExemplarSet(ULocale locale, int options) {
+        ICUResourceBundle bundle = (ICUResourceBundle)UResourceBundle.getBundleInstance(ICUResourceBundle.ICU_BASE_NAME, locale);
+        String pattern = bundle.getString(EXEMPLAR_CHARS);
+        return new UnicodeSet(pattern, UnicodeSet.IGNORE_SPACE | options);
+    }
+    
+    /**
+     * Returns the set of exemplar characters for a locale.
+     *
+     * @param options   Bitmask for options to apply to the exemplar pattern.
+     *                  Specify zero to retrieve the exemplar set as it is
+     *                  defined in the locale data.  Specify
+     *                  UnicodeSet.CASE to retrieve a case-folded exemplar
+     *                  set.  See {@link UnicodeSet#applyPattern(String,
+     *                  int)} for a complete list of valid options.  The
+     *                  IGNORE_SPACE bit is always set, regardless of the
+     *                  value of 'options'.
+     * @param extype      The type of exemplar set to be retrieved,
+     *                  ES_STANDARD or ES_AUXILIARY
+     * @return          The set of exemplar characters for the given locale.
+     * @draft ICU 3.4
+     * @deprecated      This is a draft API and might change in a future release of ICU.
+     */
+    public UnicodeSet getExemplarSet(int options, int extype) {
+        String [] exemplarSetTypes = { "ExemplarCharacters", "AuxExemplarCharacters" };
+        ICUResourceBundle stringBundle = bundle.get(exemplarSetTypes[extype]);
+
+        if ( noSubstitute && (stringBundle.getLoadingStatus() == ICUResourceBundle.FROM_ROOT) )
+           return null;
+
+        return new UnicodeSet(stringBundle.getString(), UnicodeSet.IGNORE_SPACE | options);
+    }
+
+    /**
+     * Gets the LocaleData object associated with the ULocale specified in locale
+     *
+     * @param locale    Locale with thich the locale data object is associated.
+     * @return          A locale data object.
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final LocaleData getInstance(ULocale locale) {
+       LocaleData ld = new LocaleData();
+       ld.bundle = (ICUResourceBundle)UResourceBundle.getBundleInstance(ICUResourceBundle.ICU_BASE_NAME, locale );
+       ld.noSubstitute = false;
+       return ld;
+    }
+
+    /**
+     * Gets the LocaleData object associated with the default locale
+     *
+     * @return          A locale data object.
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final LocaleData getInstance() {
+       return LocaleData.getInstance(ULocale.getDefault());
+    }
+
+    /**
+     * Sets the "no substitute" behavior of this locale data object.
+     *
+     * @param setting	Value for the no substitute behavior.  If TRUE,
+     *                  methods of this locale data object will return
+     *                  an error when no data is available for that method,
+     *                  given the locale ID supplied to the constructor.
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public void setNoSubstitute(boolean setting) {
+       noSubstitute = setting;
+    }
+
+    /**
+     * Gets the "no substitute" behavior of this locale data object.
+     *
+     * @return          Value for the no substitute behavior.  If TRUE,
+     *                  methods of this locale data object will return
+     *                  an error when no data is available for that method,
+     *                  given the locale ID supplied to the constructor.
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public boolean getNoSubstitute() {
+       return noSubstitute;
+    }
+
+    /**
+     * Retrieves a delimiter string from the locale data.
+     *
+     * @param type      The type of delimiter string desired.  Currently,
+     *                  the valid choices are QUOTATION_START, QUOTATION_END,
+     *                  ALT_QUOTATION_START, or ALT_QUOTATION_END.
+     * @return          The desired delimiter string.
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public String getDelimiter(int type) {
+        String [] delimiterTypes = { "quotationStart", 
+                                     "quotationEnd", 
+                                     "alternateQuotationStart", 
+                                     "alternateQuotationEnd" };
+
+        ICUResourceBundle stringBundle = bundle.get("delimiters").get(delimiterTypes[type]);
+
+        if ( noSubstitute && (stringBundle.getLoadingStatus() == ICUResourceBundle.FROM_ROOT) )
+           return null;
+
+        return new String (stringBundle.getString());
+    }
+
+    /**
+     * Enumeration for representing the measurement systems.
+     * @stable ICU 2.8
+     */
+    public static final class MeasurementSystem{
+        /** 
+         * Measurement system specified by Le Syst&#x00E8;me International d'Unit&#x00E9;s (SI)
+         * otherwise known as Metric system. 
+         * @stable ICU 2.8
+         */
+        public static final MeasurementSystem SI = new MeasurementSystem(0);
+ 
+        /** 
+         * Measurement system followed in the United States of America. 
+         * @stable ICU 2.8
+         */ 
+        public static final MeasurementSystem US = new MeasurementSystem(1);
+    
+        private int systemID;
+        private MeasurementSystem(int id){
+            systemID = id;
+        }
+
+        private boolean equals(int id){
+            return systemID == id;
+        }
+    }
+   
+    /**
+     * Returns the measurement system used in the locale specified by the locale.
+     *
+     * @param locale      The locale for which the measurement system to be retrieved.
+     * @return MeasurementSystem the measurement system used in the locale.
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final MeasurementSystem getMeasurementSystem(ULocale locale){
+        ICUResourceBundle bundle = (ICUResourceBundle)UResourceBundle.getBundleInstance(ICUResourceBundle.ICU_BASE_NAME, locale);
+        ICUResourceBundle sysBundle = bundle.get(MEASUREMENT_SYSTEM);
+        
+        int system = sysBundle.getInt();
+        if(MeasurementSystem.US.equals(system)){
+            return MeasurementSystem.US;
+        }
+        if(MeasurementSystem.SI.equals(system)){
+            return MeasurementSystem.SI;
+        }
+        // return null if the object is null or is not an instance
+        // of integer indicating an error
+        return null;
+    }
+    
+    /**
+     * A class that represents the size of letter head 
+     * used in the country
+     * @stable ICU 2.8
+     */
+    public static final class PaperSize{
+        private int height;
+        private int width;
+        
+        private PaperSize(int h, int w){
+            height = h;
+            width = w;
+        }
+        /** 
+         * Retruns the height of the paper
+         * @return the height 
+         * @stable ICU 2.8
+         */
+        public int getHeight(){
+            return height;
+        }
+        /**
+         * Returns the width of hte paper
+         * @return the width
+         * @stable ICU 2.8
+         */
+        public int getWidth(){
+            return width;
+        }
+    }
+    
+    /**
+     * Returns the size of paper used in the locale. The paper sizes returned are always in 
+     * <em> milli-meters<em>.
+     * @param locale The locale for which the measurement system to be retrieved. 
+     * @return The paper size used in the locale
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final PaperSize getPaperSize(ULocale locale){
+        ICUResourceBundle bundle = (ICUResourceBundle)UResourceBundle.getBundleInstance(ICUResourceBundle.ICU_BASE_NAME, locale);
+        ICUResourceBundle obj = bundle.get(PAPER_SIZE);
+        int[] size = obj.getIntVector();
+        return new PaperSize(size[0], size[1]);
+    }
+}
diff --git a/src/com/ibm/icu/util/Measure.java b/src/com/ibm/icu/util/Measure.java
new file mode 100644
index 0000000..f365452
--- /dev/null
+++ b/src/com/ibm/icu/util/Measure.java
@@ -0,0 +1,111 @@
+/*
+**********************************************************************
+* Copyright (c) 2004, International Business Machines
+* Corporation and others.  All Rights Reserved.
+**********************************************************************
+* Author: Alan Liu
+* Created: April 20, 2004
+* Since: ICU 3.0
+**********************************************************************
+*/
+package com.ibm.icu.util;
+
+import java.lang.Number;
+
+/**
+ * An amount of a specified unit, consisting of a Number and a Unit.
+ * For example, a length measure consists of a Number and a length
+ * unit, such as feet or meters.  This is an abstract class.
+ * Subclasses specify a concrete Unit type.
+ *
+ * <p>Measure objects are parsed and formatted by subclasses of
+ * MeasureFormat.
+ *
+ * <p>Measure objects are immutable.
+ *
+ * @see java.lang.Number
+ * @see com.ibm.icu.util.MeasureUnit
+ * @see com.ibm.icu.text.MeasureFormat
+ * @author Alan Liu
+ * @draft ICU 3.0
+ * @deprecated This is a draft API and might change in a future release of ICU.
+ */
+public abstract class Measure {
+    
+    private Number number;
+
+    private MeasureUnit unit;
+
+    /**
+     * Constructs a new object given a number and a unit.
+     * @param number the number
+     * @param unit the unit
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    protected Measure(Number number, MeasureUnit unit) {
+        if (number == null || unit == null) {
+            throw new NullPointerException();
+        }
+        this.number = number;
+        this.unit = unit;
+    }
+    
+    /**
+     * Returns true if the given object is equal to this object.
+     * @return true if this object is equal to the given object
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public boolean equals(Object obj) {
+        if (obj == null) return false;
+        if (obj == this) return true;
+        try {
+            Measure m = (Measure) obj;
+            return number.equals(m.number) && unit.equals(m.unit);
+        } catch (ClassCastException e) {
+            return false;
+        }
+    }
+
+    /**
+     * Returns a hashcode for this object.
+     * @return a 32-bit hash
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public int hashCode() {
+        return number.hashCode() ^ unit.hashCode();
+    }
+
+    /**
+     * Returns a string representation of this object.
+     * @return a string representation consisting of the ISO currency
+     * code together with the numeric amount
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public String toString() {
+        return number.toString() + ' ' + unit.toString();
+    }
+
+    /**
+     * Returns the numeric value of this object.
+     * @return this object's Number
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public Number getNumber() {
+        return number;
+    }
+
+    /**
+     * Returns the unit of this object.
+     * @return this object's Unit
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public MeasureUnit getUnit() {
+        return unit;
+    }
+}
diff --git a/src/com/ibm/icu/util/MeasureUnit.java b/src/com/ibm/icu/util/MeasureUnit.java
new file mode 100644
index 0000000..0266d6e
--- /dev/null
+++ b/src/com/ibm/icu/util/MeasureUnit.java
@@ -0,0 +1,27 @@
+/*
+**********************************************************************
+* Copyright (c) 2004, International Business Machines
+* Corporation and others.  All Rights Reserved.
+**********************************************************************
+* Author: Alan Liu
+* Created: April 20, 2004
+* Since: ICU 3.0
+**********************************************************************
+*/
+package com.ibm.icu.util;
+
+/**
+ * A unit such as length, mass, volume, currency, etc.  A unit is
+ * coupled with a numeric amount to produce a Measure.
+ *
+ * @see com.ibm.icu.util.Measure
+ * @author Alan Liu
+ * @draft ICU 3.0
+ * @deprecated This is a draft API and might change in a future release of ICU.
+ */
+public abstract class MeasureUnit {
+    /**
+     * @internal
+     */
+    protected MeasureUnit() {};
+}
diff --git a/src/com/ibm/icu/util/OverlayBundle.java b/src/com/ibm/icu/util/OverlayBundle.java
new file mode 100755
index 0000000..aea5438
--- /dev/null
+++ b/src/com/ibm/icu/util/OverlayBundle.java
@@ -0,0 +1,173 @@
+/**
+ *******************************************************************************
+ * Copyright (C) 2001-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.icu.util;
+
+import java.util.*;
+
+/**
+ * A ResourceBundle that overlays one hierarchy atop another.  This is
+ * best explained by example.  Suppose one wants to use the
+ * resource hiararchy (in JDK 1.2 and 1.3, but not 1.4) at 
+ * "java.text.resources.LocaleElements", but one wants to use
+ * a modified version of the "NumberPatterns" resource in the
+ * fr_FR locale.  One way to do this is to add special case code
+ * to the lookup operation to check for fr_FR and the key
+ * "NumberPatterns", and in that case, load up custom data.  However,
+ * this becomes unwieldy and places some information about the
+ * effective resource hierarchy into the code.
+ *
+ * The OverlayBundle solves this problem by layering another
+ * hierarchy, e.g, "com.acme.resources.LocaleElements", on top of a
+ * base hierarchy.  When a resource is requested, it is first sought
+ * in the overlay hierarchy, and if not found there, it is sought in
+ * the base hierarchy.  Multiple overlays are supported, but in
+ * practice one is usually sufficient.
+ * 
+ * The OverlayBundle also addresses the problem of country-oriented
+ * data.  To specify the default data for a language, one just sets
+ * the language resource bundle data.  However, specifying the default
+ * data for a country using the standard ResourceBundle mechanism is
+ * impossible.  The OverlayBundle recognizes "wildcard" locales with
+ * the special language code "xx".  When looking up data for a locale
+ * with a non-empty country, if an exact locale match cannot be found,
+ * the OverlayBundle looks for data in the locale xx_YY, where YY is
+ * the country being sought.  This effectively adds another entry in
+ * the fallback sequence for a locale aa_BB: aa_BB, xx_BB, aa, root.
+ * Wildcard locales are not implemented for the base hierarchy, only
+ * for overlays.
+ *
+ * The OverlayBundle is implemented as an array of n ResourceBundle
+ * base names.  The base names are searched from 0 to n-1.  Base name
+ * n-1 is special; it is the base hierarchy.  This should be a
+ * well-populated hierarchy with most of the default data, typically,
+ * the icu or sun core hierarchies.  The base hierarchy is
+ * treated differently from the overlays above it.  It does not get
+ * wildcard resolution, and the getKeys() framework method is
+ * delegated to the base hierarchy bundle.
+ *
+ * Usage: Instantiate an OverlayBundle directly (not via a factory
+ * method as in ResourceBundle).  Instead of specifying a single base
+ * name, pass it an array of 2 or more base names.  After that, use it
+ * exactly as you would use ResourceBundle.
+ *
+ * @see java.util.ResourceBundle
+ * @author Alan Liu
+ * @internal
+ * @deprecated ICU 2.4. This class may be removed or modified.
+ */
+// prepare to deprecate in next release
+///CLOVER:OFF
+public class OverlayBundle extends ResourceBundle {
+
+    /**
+     * The array of base names, with the length-1 entry being the base
+     * hierarchy, typically "sun.text.resources.LocaleElements".
+     */
+    private String[] baseNames;
+
+    /**
+     * The requested locale.
+     */
+    private Locale locale;
+
+    /**
+     * Loaded bundles.  These will be null until they are loaded on
+     * demand.
+     */
+    private ResourceBundle[] bundles;
+
+    /**
+     * Construct an overlay bundle given a sequence of base names and
+     * a locale.
+     * @internal
+     * @deprecated ICU 2.4. This class may be removed or modified.
+     */
+    public OverlayBundle(String[] baseNames,
+                         Locale locale) {
+        this.baseNames = baseNames;
+        this.locale = locale;
+        bundles = new ResourceBundle[baseNames.length];
+    }
+
+    /**
+     * ResourceBundle framework method.  Delegates to
+     * bundles[i].getObject().
+     * @internal
+     * @deprecated ICU 2.4. This class may be removed or modified.
+     */ 
+   protected Object handleGetObject(String key) 
+        throws MissingResourceException {
+
+        Object o = null;
+
+        for (int i=0; i<bundles.length; ++i) {
+            load(i);
+            try {
+                o = bundles[i].getObject(key);
+            } catch (MissingResourceException e) {
+                if (i == bundles.length-1) {
+                    throw e;
+                }
+            }
+            if (o != null) {
+                break;
+            }
+        }
+
+        return o;
+    }
+
+    /**
+     * ResourceBundle framework method.  Delegates to
+     * bundles[bundles.length-1].getKeys().
+     * @internal
+     * @deprecated ICU 2.4. This class may be removed or modified.
+     */
+    public Enumeration getKeys() {
+        // Return the enumeration of the last bundle, which is the base
+        // of our hierarchy stack.
+        int i = bundles.length - 1;
+        load(i);
+        return bundles[i].getKeys();
+    }
+
+    /**
+     * Load the i-th bundle and implement wildcard resolution.
+     */
+    private void load(int i)
+        throws MissingResourceException {
+
+        if (bundles[i] == null) {
+            boolean tryWildcard = false;
+            try {
+                bundles[i] = ResourceBundle.getBundle(baseNames[i], locale);
+                if (bundles[i].getLocale().equals(locale)) {
+                    return;
+                }
+                if (locale.getCountry().length() != 0 && i != bundles.length-1) {
+                    tryWildcard = true;
+                }
+            } catch (MissingResourceException e) {
+                if (i == bundles.length-1) {
+                    throw e;
+                }
+                tryWildcard = true;
+            }
+            if (tryWildcard) {
+                Locale wildcard = new Locale("xx", locale.getCountry(),
+                                             locale.getVariant());
+                try {
+                    bundles[i] = ResourceBundle.getBundle(baseNames[i], wildcard);
+                } catch (MissingResourceException e) {
+                    if (bundles[i] == null) {
+                        throw e;
+                    }
+                }
+            }
+        }
+    }
+}
diff --git a/src/com/ibm/icu/util/RangeDateRule.java b/src/com/ibm/icu/util/RangeDateRule.java
new file mode 100755
index 0000000..e586cc3
--- /dev/null
+++ b/src/com/ibm/icu/util/RangeDateRule.java
@@ -0,0 +1,168 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+package com.ibm.icu.util;
+
+import java.util.Date;
+import java.util.Vector;
+
+/**
+ * Implementation of DateRule that takes a range.
+ * @draft ICU 2.8 (retainAll)
+ * @deprecated This is a draft API and might change in a future release of ICU.
+ */
+public class RangeDateRule implements DateRule {
+    /**
+     * @draft ICU 2.8
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public RangeDateRule() {
+    }
+
+    /**
+     * @internal
+     */
+    // Range is a package-private class so this should be package-private too, probably
+//    public RangeDateRule(Range[] ranges)
+//    {
+//        for (int i = 0; i < ranges.length; i++) {
+//            this.ranges.addElement(ranges[i]);
+//        }
+//    }
+
+    /**
+     * @draft ICU 2.8
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public void add(DateRule rule) {
+        add(new Date(Long.MIN_VALUE), rule);
+    }
+
+    /**
+     * @draft ICU 2.8
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public void add(Date start, DateRule rule) {
+        // TODO: Insert in the right place
+        // System.out.println("Add: " + start.toString());
+        ranges.addElement(new Range(start, rule));
+    }
+
+    //-----------------------------------------------------------------------
+
+    /**
+     * @draft ICU 2.8
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public Date firstAfter(Date start) {
+        // Find the range that I should look at
+        int index = startIndex(start);
+        if (index == ranges.size()) {
+            index = 0;
+        }
+        Date result = null;
+
+        Range r = rangeAt(index);
+        Range e = rangeAt(index+1);
+
+        if (r != null && r.rule != null)
+        {
+            if (e != null) {
+                result = r.rule.firstBetween(start, e.start);
+            } else {
+                result = r.rule.firstAfter(start);
+            }
+        }
+        return result;
+    }
+
+    /**
+     * @draft ICU 2.8
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public Date firstBetween(Date start, Date end) {
+        if (end == null) {
+            return firstAfter(start);
+        }
+        
+        // Find the range that I should look at
+        int index = startIndex(start);
+        Date result = null;
+
+        Range next = rangeAt(index);
+
+        while (result == null && next != null && !next.start.after(end))
+        {
+            Range r = next;
+            next = rangeAt(index+1);
+
+            if (r.rule != null) {
+                Date e = (next != null && !next.start.after(end)) ? next.start
+                                                                  : end;
+                result = r.rule.firstBetween(start, e);
+            }
+        }
+        return result;
+    }
+
+    /**
+     * @draft ICU 2.8
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public boolean isOn(Date date) {
+        Range r = rangeAt(startIndex(date));
+        return r != null && r.rule != null && r.rule.isOn(date);
+    }
+
+    /**
+     * Check whether this event occurs at least once between the two
+     * dates given.
+     * @draft ICU 2.8
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public boolean isBetween(Date start, Date end) {
+        return firstBetween(start,end) == null;
+    }
+
+    /*
+     * find the index of the last range whose start date is before "start"
+     * returns an index >= ranges.size() if there is none
+     */
+    private int startIndex(Date start) {
+        int lastIndex = ranges.size();
+
+        for (int i = 0; i < ranges.size(); i++) {
+            Range r = (Range) ranges.elementAt(i);
+            if (start.before(r.start)) {
+                break;
+            }
+            lastIndex = i;
+        }
+        return lastIndex;
+    }
+
+    private Range rangeAt(int index) {
+       return (index < ranges.size()) ? (Range) ranges.elementAt(index)
+                                      : null;
+    }
+
+    Vector ranges = new Vector(2,2);
+}
+
+//-----------------------------------------------------------------------
+// Privates
+//
+
+class Range {
+    public Range(Date start, DateRule rule) {
+        this.start = start;
+        this.rule = rule;
+    }
+    public Date     start;
+    public DateRule rule;
+}
+
diff --git a/src/com/ibm/icu/util/RangeValueIterator.java b/src/com/ibm/icu/util/RangeValueIterator.java
new file mode 100755
index 0000000..28744c1
--- /dev/null
+++ b/src/com/ibm/icu/util/RangeValueIterator.java
@@ -0,0 +1,110 @@
+/*
+******************************************************************************
+* Copyright (C) 1996-2004, International Business Machines Corporation and   *
+* others. All Rights Reserved.                                               *
+******************************************************************************
+*/
+
+package com.ibm.icu.util;
+
+/**
+ * <p>Interface for enabling iteration over sets of <int index, int value>, 
+ * where index is the sorted integer index in ascending order and value, its 
+ * associated integer value.</p>
+ * <p>The result for each iteration is the consecutive range of 
+ * <int index, int value> with the same value. Result is represented by 
+ * <start, limit, value> where</p>
+ * <ul>
+ * <li> start is the starting integer of the result range
+ * <li> limit is 1 after the maximum integer that follows start, such that
+ *      all integers between start and (limit - 1), inclusive, have the same 
+ *      associated integer value.
+ * <li> value is the integer value that all integers from start to (limit - 1) 
+ *      share in common.
+ * </ul>
+ * <p>
+ * Hence value(start) = value(start + 1) = .... = value(start + n) = .... =
+ * value(limit - 1). However value(start -1) != value(start) and 
+ * value(limit) != value(start).
+ * </p>
+ * <p>Most implementations will be created by factory methods, such as the
+ * character type iterator in UCharacter.getTypeIterator. See example below.
+ * </p>
+ * Example of use:<br>
+ * <pre>
+ * RangeValueIterator iterator = UCharacter.getTypeIterator();
+ * RangeValueIterator.Element result = new RangeValueIterator.Element();
+ * while (iterator.next(result)) {
+ *     System.out.println("Codepoint \\u" + 
+ *                        Integer.toHexString(result.start) + 
+ *                        " to codepoint \\u" +
+ *                        Integer.toHexString(result.limit - 1) + 
+ *                        " has the character type " + result.value);
+ * }
+ * </pre>
+ * @author synwee
+ * @stable ICU 2.6
+ */
+public interface RangeValueIterator
+{
+    // public inner class ---------------------------------------------
+    
+    /**
+    * Return result wrapper for com.ibm.icu.util.RangeValueIterator.
+    * Stores the start and limit of the continous result range and the
+    * common value all integers between [start, limit - 1] has.
+    * @stable ICU 2.6
+    */
+    public class Element
+    {
+        // public data member ---------------------------------------------
+        
+        /**
+        * Starting integer of the continuous result range that has the same 
+        * value
+        * @stable ICU 2.6
+        */
+        public int start;
+        /**
+        * (End + 1) integer of continuous result range that has the same 
+        * value
+        * @stable ICU 2.6
+        */
+        public int limit;
+        /**
+        * Gets the common value of the continous result range
+        * @stable ICU 2.6
+        */ 
+        public int value;
+        
+        // public constructor --------------------------------------------
+        
+        /**
+         * Empty default constructor to make javadoc happy
+         * @stable ICU 2.4
+         */
+        public Element() 
+        {
+        }
+    }
+    
+    // public methods -------------------------------------------------
+    
+    /**
+    * <p>Gets the next maximal result range with a common value and returns 
+    * true if we are not at the end of the iteration, false otherwise.</p>
+    * <p>If the return boolean is a false, the contents of elements will not
+    * be updated.</p>
+    * @param element for storing the result range and value
+    * @return true if we are not at the end of the iteration, false otherwise.
+    * @see Element
+    * @stable ICU 2.6
+    */
+    public boolean next(Element element);
+    
+    /**
+    * Resets the iterator to the beginning of the iteration.
+    * @stable ICU 2.6
+    */
+    public void reset();
+}
diff --git a/src/com/ibm/icu/util/STZInfo.java b/src/com/ibm/icu/util/STZInfo.java
new file mode 100644
index 0000000..6015d07
--- /dev/null
+++ b/src/com/ibm/icu/util/STZInfo.java
@@ -0,0 +1,64 @@
+/*
+ *   Copyright (C) 2005, International Business Machines
+ *   Corporation and others.  All Rights Reserved.
+ */
+
+package com.ibm.icu.util;
+
+import java.io.Serializable;
+
+/**
+ * @internal
+ */
+final class STZInfo implements Serializable {
+    private static final long serialVersionUID = -7849612037842370168L;
+
+    void setStart(int sm, int sdwm, int sdw, int st, int sdm, boolean sa) {
+        this.sm = sm;
+        this.sdwm = sdwm;
+        this.sdw = sdw;
+        this.st = st;
+        this.sdm = sdm;
+        this.sa = sa;
+    }
+
+    void setEnd(int em, int edwm, int edw, int et, int edm, boolean ea) {
+        this.em = em;
+        this.edwm = edwm;
+        this.edw = edw;
+        this.et = et;
+        this.edm = edm;
+        this.ea = ea;
+    }
+
+    void applyTo(java.util.SimpleTimeZone stz) {
+        if (sy != -1) {
+            stz.setStartYear(sy);
+        }
+        if (sm != -1) {
+            if (sdm == -1) {
+                stz.setStartRule(sm, sdwm, sdw, st);
+            } else if (sdw == -1) {
+                stz.setStartRule(sm, sdm, st);
+            } else {
+                stz.setStartRule(sm, sdm, sdw, st, sa);
+            }
+        }
+        if (em != -1) {
+            if (edm == -1) {
+                stz.setEndRule(em, edwm, edw, et);
+            } else if (edw == -1) {
+                stz.setEndRule(em, edm, et);
+            } else {
+                stz.setEndRule(em, edm, edw, et, ea);
+            }
+        }
+    }
+
+    int sy = -1;
+    int sm = -1, sdwm, sdw, st, sdm;
+    boolean sa;
+    int em = -1, edwm, edw, et, edm;
+    boolean ea;
+}
+
diff --git a/src/com/ibm/icu/util/SimpleDateRule.java b/src/com/ibm/icu/util/SimpleDateRule.java
new file mode 100755
index 0000000..7b8b06a
--- /dev/null
+++ b/src/com/ibm/icu/util/SimpleDateRule.java
@@ -0,0 +1,226 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+package com.ibm.icu.util;
+
+import java.util.Date;
+
+/**
+ * Simple implementation of DateRule.
+ * @draft ICU 2.8 (retainAll)
+ * @deprecated This is a draft API and might change in a future release of ICU.
+ */
+public class SimpleDateRule implements DateRule
+{
+    /**
+     * Construct a rule for a fixed date within a month
+     *
+     * @param month         The month in which this rule occurs (0-based).
+     * @param dayOfMonth    The date in that month (1-based).
+     * @draft ICU 2.8
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public SimpleDateRule(int month, int dayOfMonth)
+    {
+        this.month      = month;
+        this.dayOfMonth = dayOfMonth;
+        this.dayOfWeek  = 0;
+    }
+
+    // temporary
+    /* package */SimpleDateRule(int month, int dayOfMonth, Calendar cal)
+    {
+        this.month      = month;
+        this.dayOfMonth = dayOfMonth;
+        this.dayOfWeek  = 0;
+        this.calendar   = cal;
+    }
+
+    /**
+     * Construct a rule for a weekday within a month, e.g. the first Monday.
+     *
+     * @param month         The month in which this rule occurs (0-based).
+     * @param dayOfMonth    A date within that month (1-based).
+     * @param dayOfWeek     The day of the week on which this rule occurs.
+     * @param after         If true, this rule selects the first dayOfWeek
+     *                      on or after dayOfMonth.  If false, the rule selects
+     *                      the first dayOfWeek on or before dayOfMonth.
+     * @draft ICU 2.8
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public SimpleDateRule(int month, int dayOfMonth, int dayOfWeek, boolean after)
+    {
+        this.month      = month;
+        this.dayOfMonth = dayOfMonth;
+        this.dayOfWeek  = after ? dayOfWeek : -dayOfWeek;
+    }
+
+    /**
+     * Return the first occurrance of the event represented by this rule
+     * that is on or after the given start date.
+     *
+     * @param start Only occurrances on or after this date are returned.
+     *
+     * @return      The date on which this event occurs, or null if it
+     *              does not occur on or after the start date.
+     *
+     * @see #firstBetween
+     * @draft ICU 2.8
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public Date firstAfter(Date start)
+    {
+        return doFirstBetween(start, null);
+    }
+
+    /**
+     * Return the first occurrance of the event represented by this rule
+     * that is on or after the given start date and before the given
+     * end date.
+     *
+     * @param start Only occurrances on or after this date are returned.
+     * @param end   Only occurrances before this date are returned.
+     *
+     * @return      The date on which this event occurs, or null if it
+     *              does not occur between the start and end dates.
+     *
+     * @see #firstAfter
+     * @draft ICU 2.8
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public Date firstBetween(Date start, Date end)
+    {
+        // Pin to the min/max dates for this rule
+        return doFirstBetween(start, end);
+    }
+
+    /**
+     * Checks whether this event occurs on the given date.  This does
+     * <em>not</em> take time of day into account; instead it checks
+     * whether this event and the given date are on the same day.
+     * This is useful for applications such as determining whether a given
+     * day is a holiday.
+     *
+     * @param date  The date to check.
+     * @return      true if this event occurs on the given date.
+     * @draft ICU 2.8
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public boolean isOn(Date date)
+    {
+        Calendar c = calendar;
+
+        synchronized(c) {
+            c.setTime(date);
+
+            int dayOfYear = c.get(Calendar.DAY_OF_YEAR);
+
+            c.setTime(computeInYear(c.get(Calendar.YEAR), c));
+
+//              System.out.println("  isOn: dayOfYear = " + dayOfYear);
+//              System.out.println("        holiday   = " + c.get(Calendar.DAY_OF_YEAR));
+
+            return c.get(Calendar.DAY_OF_YEAR) == dayOfYear;
+        }
+    }
+
+    /**
+     * Check whether this event occurs at least once between the two
+     * dates given.
+     * @draft ICU 2.8
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public boolean isBetween(Date start, Date end)
+    {
+        return firstBetween(start, end) != null; // TODO: optimize?
+    }
+
+    private Date doFirstBetween(Date start, Date end)
+    {
+        Calendar c = calendar;
+
+        synchronized(c) {
+            c.setTime(start);
+
+            int year = c.get(Calendar.YEAR);
+            int month = c.get(Calendar.MONTH);
+
+            // If the rule is earlier in the year than the start date
+            // we have to go to the next year.
+            if (month > this.month) {
+                year++;
+            }
+
+            // Figure out when the rule lands in the given year
+            Date result = computeInYear(year, c);
+
+            // If the rule is in the same month as the start date, it's possible
+            // to get a result that's before the start.  If so, go to next year.
+            if (month == this.month && result.before(start)) {
+                result = computeInYear(year+1, c);
+            }
+
+            if (end != null && result.after(end)) {
+                return null;
+            }
+            return result;
+        }
+    }
+
+    private Date computeInYear(int year, Calendar c)
+    {
+        synchronized(c) {
+            c.clear();
+            c.set(Calendar.ERA, c.getMaximum(Calendar.ERA));
+            c.set(Calendar.YEAR, year);
+            c.set(Calendar.MONTH, month);
+            c.set(Calendar.DATE, dayOfMonth);
+
+            //System.out.println("     computeInYear: start at " + c.getTime().toString());
+
+            if (dayOfWeek != 0) {
+                c.setTime(c.getTime());        // JDK 1.1.2 workaround
+                int weekday = c.get(Calendar.DAY_OF_WEEK);
+
+                //System.out.println("                    weekday = " + weekday);
+                //System.out.println("                    dayOfYear = " + c.get(Calendar.DAY_OF_YEAR));
+
+                int delta = 0;
+                if (dayOfWeek > 0) {
+                    // We want the first occurrance of the given day of the week
+                    // on or after the specified date in the month.
+                    delta = (dayOfWeek - weekday + 7) % 7;
+                }
+                else {
+                    // We want the first occurrance of the (-dayOfWeek)
+                    // on or before the specified date in the month.
+                    delta = -((dayOfWeek + weekday + 7) % 7);
+                }
+                //System.out.println("                    adding " + delta + " days");
+                c.add(Calendar.DATE, delta);
+            }
+
+            return c.getTime();
+        }
+    }
+
+    /**
+     * @draft ICU 2.8
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+//    public void setCalendar(Calendar c) {
+//        calendar = c;
+//    }
+
+    private static GregorianCalendar gCalendar = new GregorianCalendar();
+
+    private Calendar calendar = gCalendar;
+
+    private int     month;
+    private int     dayOfMonth;
+    private int     dayOfWeek;
+};
diff --git a/src/com/ibm/icu/util/SimpleHoliday.java b/src/com/ibm/icu/util/SimpleHoliday.java
new file mode 100755
index 0000000..6335f2a
--- /dev/null
+++ b/src/com/ibm/icu/util/SimpleHoliday.java
@@ -0,0 +1,264 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+package com.ibm.icu.util;
+
+import java.util.Date;
+import com.ibm.icu.util.Calendar;
+import com.ibm.icu.util.GregorianCalendar;
+
+/**
+ * A holiday whose date can be represented by a month, day, and optionally day of week
+ * in the Gregorian calendar.
+ *
+ * @draft ICU 2.8 (retainAll)
+ * @deprecated This is a draft API and might change in a future release of ICU.
+ */
+public class SimpleHoliday extends Holiday {
+    /**
+     * Construct an object representing a holiday
+     *
+     * @param month         The month in which this holiday occurs (0-based)
+     * @param dayOfMonth    The date within the month (1-based).
+     *
+     * @param name  The name of this holiday.  This string is used as a key
+     *              to look up the holiday's name a resource bundle.
+     *              If the name is not found in the resource bundle,
+     *              getDisplayName will return this string instead.
+     *
+     * @see Holiday#getDisplayName(java.util.Locale)
+     * @draft ICU 2.8
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public SimpleHoliday(int month, int dayOfMonth, String name)
+    {
+        super(name, new SimpleDateRule(month, dayOfMonth));
+    }
+
+    /**
+     * Construct an object representing a holiday
+     *
+     * @param month         The month in which this holiday occurs (0-based)
+     * @param dayOfMonth    The date within the month (1-based).
+     *
+     * @param name  The name of this holiday.  This string is used as a key
+     *              to look up the holiday's name a resource bundle.
+     *              If the name is not found in the resource bundle,
+     *              getDisplayName will return this string instead.
+     *
+     * @see Holiday#getDisplayName(java.util.Locale)
+     * @draft ICU 2.8
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public SimpleHoliday(int month, int dayOfMonth, String name,
+                            int startYear)
+    {
+        super(name, rangeRule(startYear, 0, new SimpleDateRule(month, dayOfMonth)));
+    }
+
+    /**
+     * Construct an object representing a holiday
+     *
+     * @param month         The month in which this holiday occurs (0-based)
+     * @param dayOfMonth    The date within the month (1-based).
+     *
+     * @param name  The name of this holiday.  This string is used as a key
+     *              to look up the holiday's name a resource bundle.
+     *              If the name is not found in the resource bundle,
+     *              getDisplayName will return this string instead.
+     *
+     * @see Holiday#getDisplayName(java.util.Locale)
+     * @draft ICU 2.8
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public SimpleHoliday(int month, int dayOfMonth, String name,
+                            int startYear, int endYear)
+    {
+        super(name, rangeRule(startYear, endYear, new SimpleDateRule(month, dayOfMonth)));
+    }
+
+    /** // TODO: remove
+     * Construct an object representing a holiday
+     *
+     * @param month The month in which this holiday occurs (0-based)
+     *
+     * @param dayOfMonth A date within the month (1-based).  The
+     *      interpretation of this parameter depends on the value of
+     *      <code>dayOfWeek</code>.
+     *
+     * @param dayOfWeek The day of the week on which this holiday occurs.
+     *      The following values are legal: <ul>
+     *      <li>dayOfWeek == 0 - use dayOfMonth only
+     *      <li>dayOfWeek < 0  - use last -dayOfWeek before or on dayOfMonth
+     *      <li>dayOfWeek > 0  - use first dayOfWeek after or on dayOfMonth
+     *      </ul>
+     *
+     * @param name  The name of this holiday.  This string is used as a key
+     *              to look up the holiday's name a resource bundle.
+     *              If the name is not found in the resource bundle,
+     *              getDisplayName will return this string instead.
+     *
+     * @see Holiday#getDisplayName(java.util.Locale)
+     * @draft ICU 2.8
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public SimpleHoliday(int month, int dayOfMonth, int dayOfWeek, String name)
+    {
+        super(name, new SimpleDateRule(month, dayOfMonth,
+                                        dayOfWeek > 0 ? dayOfWeek : - dayOfWeek,
+                                        dayOfWeek > 0));
+    }
+
+    /**
+     * @draft ICU 2.8
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public SimpleHoliday(int month, int dayOfMonth, int dayOfWeek, String name,
+                        int startYear)
+    {
+        super(name, rangeRule(startYear, 0, 
+                              new SimpleDateRule(month, dayOfMonth,
+                                                 dayOfWeek > 0 ? dayOfWeek : - dayOfWeek,
+                                                 dayOfWeek > 0)));
+    }
+
+
+    /**
+     * @draft ICU 2.8
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public SimpleHoliday(int month, int dayOfMonth, int dayOfWeek, String name,
+                        int startYear, int endYear)
+    {
+        super(name, rangeRule(startYear, endYear, 
+                              new SimpleDateRule(month, dayOfMonth,
+                                                 dayOfWeek > 0 ? dayOfWeek : - dayOfWeek,
+                                                 dayOfWeek > 0)));
+    }
+
+    private static DateRule rangeRule(int startYear, int endYear, DateRule rule)
+    {
+        if (startYear == 0 && endYear == 0) {
+            return rule;
+        }
+
+        RangeDateRule rangeRule = new RangeDateRule();
+
+        if (startYear != 0) {
+            Calendar start = new GregorianCalendar(startYear, Calendar.JANUARY, 1);
+            rangeRule.add(start.getTime(), rule);
+        } else {
+            rangeRule.add(rule);
+        }
+        if (endYear != 0) {
+            Date end = new GregorianCalendar(endYear, Calendar.DECEMBER, 31).getTime();
+            rangeRule.add(end, null);
+        }
+
+        return rangeRule;
+    }
+
+    /* Constants for holidays that are common throughout the Western
+     * and Christian worlds.... */
+
+    /**
+     * New Year's Day - January 1st
+     * @draft ICU 2.8
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final SimpleHoliday NEW_YEARS_DAY =
+        new SimpleHoliday(Calendar.JANUARY,    1,  "New Year's Day");
+
+    /**
+     * Epiphany, January 6th
+     * @draft ICU 2.8
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final SimpleHoliday EPIPHANY =
+        new SimpleHoliday(Calendar.JANUARY,    6,  "Epiphany");
+
+    /**
+     * May Day, May 1st
+     * @draft ICU 2.8
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final SimpleHoliday MAY_DAY =
+        new SimpleHoliday(Calendar.MAY,        1,  "May Day");
+
+    /**
+     * Assumption, August 15th
+     * @draft ICU 2.8
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final SimpleHoliday ASSUMPTION =
+        new SimpleHoliday(Calendar.AUGUST,    15,  "Assumption");
+
+    /**
+     * All Saints' Day, November 1st
+     * @draft ICU 2.8
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final SimpleHoliday ALL_SAINTS_DAY =
+        new SimpleHoliday(Calendar.NOVEMBER,   1,  "All Saints' Day");
+
+    /**
+     * All Souls' Day, November 1st
+     * @draft ICU 2.8
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final SimpleHoliday ALL_SOULS_DAY =
+        new SimpleHoliday(Calendar.NOVEMBER,   2,  "All Souls' Day");
+
+    /**
+     * Immaculate Conception, December 8th
+     * @draft ICU 2.8
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final SimpleHoliday IMMACULATE_CONCEPTION =
+        new SimpleHoliday(Calendar.DECEMBER,   8,  "Immaculate Conception");
+
+    /**
+     * Christmas Eve, December 24th
+     * @draft ICU 2.8
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final SimpleHoliday CHRISTMAS_EVE =
+        new SimpleHoliday(Calendar.DECEMBER,  24,  "Christmas Eve");
+
+    /**
+     * Christmas, December 25th
+     * @draft ICU 2.8
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final SimpleHoliday CHRISTMAS =
+        new SimpleHoliday(Calendar.DECEMBER,  25,  "Christmas");
+
+    /**
+     * Boxing Day, December 26th
+     * @draft ICU 2.8
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final SimpleHoliday BOXING_DAY =
+        new SimpleHoliday(Calendar.DECEMBER,  26,  "Boxing Day");
+
+    /**
+     * Saint Stephen's Day, December 26th
+     * @draft ICU 2.8
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final SimpleHoliday ST_STEPHENS_DAY =
+        new SimpleHoliday(Calendar.DECEMBER,  26,  "St. Stephen's Day");
+
+    /**
+     * New Year's Eve, December 31st
+     * @draft ICU 2.8
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final SimpleHoliday NEW_YEARS_EVE =
+        new SimpleHoliday(Calendar.DECEMBER,  31,  "New Year's Eve");
+
+}
diff --git a/src/com/ibm/icu/util/SimpleTimeZone.java b/src/com/ibm/icu/util/SimpleTimeZone.java
new file mode 100755
index 0000000..a6cf8ff
--- /dev/null
+++ b/src/com/ibm/icu/util/SimpleTimeZone.java
@@ -0,0 +1,383 @@
+/*
+*   Copyright (C) 1996-2005, International Business Machines
+*   Corporation and others.  All Rights Reserved.
+*/
+
+package com.ibm.icu.util;
+import com.ibm.icu.impl.JDKTimeZone;
+
+import java.io.IOException;
+
+///CLOVER:USECLASS
+/**
+ * <code>SimpleTimeZone</code> is a concrete subclass of <code>TimeZone</code>
+ * that represents a time zone for use with a Gregorian calendar. This
+ * class does not handle historical changes.
+ *
+ * <P>
+ * Use a negative value for <code>dayOfWeekInMonth</code> to indicate that
+ * <code>SimpleTimeZone</code> should count from the end of the month backwards.
+ * For example, Daylight Savings Time ends at the last
+ * (dayOfWeekInMonth = -1) Sunday in October, at 2 AM in standard time.
+ *
+ * @see      Calendar
+ * @see      GregorianCalendar
+ * @see      TimeZone
+ * @author   David Goldsmith, Mark Davis, Chen-Lieh Huang, Alan Liu
+ * @stable ICU 2.0
+ */
+public class SimpleTimeZone extends JDKTimeZone {
+    private static final long serialVersionUID = -7034676239311322769L;
+
+    /**
+     * Constructs a SimpleTimeZone with the given base time zone offset from GMT
+     * and time zone ID. Timezone IDs can be obtained from
+     * TimeZone.getAvailableIDs. Normally you should use TimeZone.getDefault to
+     * construct a TimeZone.
+     *
+     * @param rawOffset  The given base time zone offset to GMT.
+     * @param ID         The time zone ID which is obtained from
+     *                   TimeZone.getAvailableIDs.
+     * @stable ICU 2.0
+     */
+    public SimpleTimeZone(int rawOffset, String ID) {
+        this(new java.util.SimpleTimeZone(rawOffset, ID));
+        raw = rawOffset;
+    }
+
+    /**
+     * Construct a SimpleTimeZone with the given base time zone offset from
+     * GMT, time zone ID, time to start and end the daylight time. Timezone IDs
+     * can be obtained from TimeZone.getAvailableIDs. Normally you should use
+     * TimeZone.getDefault to create a TimeZone. For a time zone that does not
+     * use daylight saving time, do not use this constructor; instead you should
+     * use SimpleTimeZone(rawOffset, ID).
+     *
+     * By default, this constructor specifies day-of-week-in-month rules. That
+     * is, if the startDay is 1, and the startDayOfWeek is SUNDAY, then this
+     * indicates the first Sunday in the startMonth. A startDay of -1 likewise
+     * indicates the last Sunday. However, by using negative or zero values for
+     * certain parameters, other types of rules can be specified.
+     *
+     * Day of month. To specify an exact day of the month, such as March 1, set
+     * startDayOfWeek to zero.
+     *
+     * Day of week after day of month. To specify the first day of the week
+     * occurring on or after an exact day of the month, make the day of the week
+     * negative. For example, if startDay is 5 and startDayOfWeek is -MONDAY,
+     * this indicates the first Monday on or after the 5th day of the
+     * startMonth.
+     *
+     * Day of week before day of month. To specify the last day of the week
+     * occurring on or before an exact day of the month, make the day of the
+     * week and the day of the month negative. For example, if startDay is -21
+     * and startDayOfWeek is -WEDNESDAY, this indicates the last Wednesday on or
+     * before the 21st of the startMonth.
+     *
+     * The above examples refer to the startMonth, startDay, and startDayOfWeek;
+     * the same applies for the endMonth, endDay, and endDayOfWeek.
+     *
+     * @param rawOffset       The given base time zone offset to GMT.
+     * @param ID              The time zone ID which is obtained from
+     *                        TimeZone.getAvailableIDs.
+     * @param startMonth      The daylight savings starting month. Month is
+     *                        0-based. eg, 0 for January.
+     * @param startDay        The daylight savings starting
+     *                        day-of-week-in-month. Please see the member
+     *                        description for an example.
+     * @param startDayOfWeek  The daylight savings starting day-of-week. Please
+     *                        see the member description for an example.
+     * @param startTime       The daylight savings starting time in local wall
+     *                        time, which is standard time in this case. Please see the
+     *                        member description for an example.
+     * @param endMonth        The daylight savings ending month. Month is
+     *                        0-based. eg, 0 for January.
+     * @param endDay          The daylight savings ending day-of-week-in-month.
+     *                        Please see the member description for an example.
+     * @param endDayOfWeek    The daylight savings ending day-of-week. Please
+     *                        see the member description for an example.
+     * @param endTime         The daylight savings ending time in local wall time,
+     *                        which is daylight time in this case. Please see the
+     *                        member description for an example.
+     * @exception IllegalArgumentException the month, day, dayOfWeek, or time
+     * parameters are out of range for the start or end rule
+     * @stable ICU 2.0
+     */
+    public SimpleTimeZone(int rawOffset, String ID,
+                          int startMonth, int startDay, int startDayOfWeek, int startTime,
+                          int endMonth, int endDay, int endDayOfWeek, int endTime) {
+        this(new java.util.SimpleTimeZone(rawOffset, ID, startMonth, startDay,
+                                          startDayOfWeek, startTime, endMonth,
+                                          endDay, endDayOfWeek, endTime));
+
+        raw = rawOffset;
+
+        STZInfo xinfo = getSTZInfo();
+        xinfo.setStart(startMonth, startDay, startDayOfWeek, startTime, -1, false);
+        xinfo.setEnd(endMonth, endDay, endDayOfWeek, endTime, -1, false);
+    }
+
+    /**
+     * Constructor.  This constructor is identical to the 10-argument
+     * constructor, but also takes a dstSavings parameter.
+     * @param dstSavings   The amount of time in ms saved during DST.
+     * @exception IllegalArgumentException the month, day, dayOfWeek, or time
+     * parameters are out of range for the start or end rule
+     * @stable ICU 2.0
+     */
+    public SimpleTimeZone(int rawOffset, String ID,
+                          int startMonth, int startDay, int startDayOfWeek, int startTime,
+                          int endMonth, int endDay, int endDayOfWeek, int endTime,
+                          int dstSavings) {
+        this(new java.util.SimpleTimeZone(rawOffset, ID, startMonth, startDay,
+                                          startDayOfWeek, startTime, endMonth,
+                                          endDay, endDayOfWeek, endTime, dstSavings));
+
+        raw = rawOffset;
+        dst = dstSavings;
+
+        STZInfo xinfo = getSTZInfo();
+        xinfo.setStart(startMonth, startDay, startDayOfWeek, startTime, -1, false);
+        xinfo.setEnd(endMonth, endDay, endDayOfWeek, endTime, -1, false);
+    }
+
+    /**
+     * Set the raw offset.
+     *
+     * @param offsetMillis the raw offset of the time zone
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public void setRawOffset(int offsetMillis) {
+        super.setRawOffset(offsetMillis);
+        raw = offsetMillis;
+    }
+
+    /**
+     * Sets the daylight savings starting year.
+     *
+     * @param year  The daylight savings starting year.
+     * @stable ICU 2.0
+     */
+    public void setStartYear(int year) {
+        unwrapSTZ().setStartYear(year);
+
+        getSTZInfo().sy = year;
+    }
+
+    /**
+     * Sets the daylight savings starting rule. For example, Daylight Savings
+     * Time starts at the first Sunday in April, at 2 AM in standard time.
+     * Therefore, you can set the start rule by calling:
+     * setStartRule(TimeFields.APRIL, 1, TimeFields.SUNDAY, 2*60*60*1000);
+     *
+     * @param month             The daylight savings starting month. Month is
+     *                          0-based. eg, 0 for January.
+     * @param dayOfWeekInMonth  The daylight savings starting
+     *                          day-of-week-in-month. Please see the member
+     *                          description for an example.
+     * @param dayOfWeek         The daylight savings starting day-of-week.
+     *                          Please see the member description for an
+     *                          example.
+     * @param time              The daylight savings starting time in local wall
+     *                          time, which is standard time in this case. Please see
+     *                          the member description for an example.
+     * @exception IllegalArgumentException the month, dayOfWeekInMonth,
+     * dayOfWeek, or time parameters are out of range
+     * @stable ICU 2.0
+     */
+    public void setStartRule(int month, int dayOfWeekInMonth, int dayOfWeek,
+                             int time) {
+        unwrapSTZ().setStartRule(month, dayOfWeekInMonth, dayOfWeek, time);
+
+        getSTZInfo().setStart(month, dayOfWeekInMonth, dayOfWeek, time, -1, false);
+    }
+
+    /**
+     * Sets the DST start rule to a fixed date within a month.
+     *
+     * @param month         The month in which this rule occurs (0-based).
+     * @param dayOfMonth    The date in that month (1-based).
+     * @param time          The time of that day (number of millis after midnight)
+     *                      when DST takes effect in local wall time, which is
+     *                      standard time in this case.
+     * @exception IllegalArgumentException the month,
+     * dayOfMonth, or time parameters are out of range
+     * @stable ICU 2.0
+     */
+    public void setStartRule(int month, int dayOfMonth, int time) {
+        unwrapSTZ().setStartRule(month, dayOfMonth, time);
+
+        getSTZInfo().setStart(month, -1, -1, time, dayOfMonth, false);
+    }
+
+    /**
+     * Sets the DST start rule to a weekday before or after a give date within
+     * a month, e.g., the first Monday on or after the 8th.
+     *
+     * @param month         The month in which this rule occurs (0-based).
+     * @param dayOfMonth    A date within that month (1-based).
+     * @param dayOfWeek     The day of the week on which this rule occurs.
+     * @param time          The time of that day (number of millis after midnight)
+     *                      when DST takes effect in local wall time, which is
+     *                      standard time in this case.
+     * @param after         If true, this rule selects the first dayOfWeek on
+     *                      or after dayOfMonth.  If false, this rule selects
+     *                      the last dayOfWeek on or before dayOfMonth.
+     * @exception IllegalArgumentException the month, dayOfMonth,
+     * dayOfWeek, or time parameters are out of range
+     * @stable ICU 2.0
+     */
+    public void setStartRule(int month, int dayOfMonth, int dayOfWeek, int time, boolean after) {
+        unwrapSTZ().setStartRule(month, dayOfMonth, dayOfWeek, time, after);
+
+        getSTZInfo().setStart(month, -1, dayOfWeek, time, dayOfMonth, after);
+    }
+
+    /**
+     * Sets the daylight savings ending rule. For example, Daylight Savings Time
+     * ends at the last (-1) Sunday in October, at 2 AM in standard time.
+     * Therefore, you can set the end rule by calling:
+     * setEndRule(TimeFields.OCTOBER, -1, TimeFields.SUNDAY, 2*60*60*1000);
+     *
+     * @param month             The daylight savings ending month. Month is
+     *                          0-based. eg, 0 for January.
+     * @param dayOfWeekInMonth  The daylight savings ending
+     *                          day-of-week-in-month. Please see the member
+     *                          description for an example.
+     * @param dayOfWeek         The daylight savings ending day-of-week. Please
+     *                          see the member description for an example.
+     * @param time              The daylight savings ending time in local wall time,
+     *                          which is daylight time in this case. Please see the
+     *                          member description for an example.
+     * @exception IllegalArgumentException the month, dayOfWeekInMonth,
+     * dayOfWeek, or time parameters are out of range
+     * @stable ICU 2.0
+     */
+    public void setEndRule(int month, int dayOfWeekInMonth, int dayOfWeek,
+                           int time) {
+        unwrapSTZ().setEndRule(month, dayOfWeekInMonth, dayOfWeek, time);
+
+        getSTZInfo().setEnd(month, dayOfWeekInMonth, dayOfWeek, time, -1, false);
+    }
+
+    /**
+     * Sets the DST end rule to a fixed date within a month.
+     *
+     * @param month         The month in which this rule occurs (0-based).
+     * @param dayOfMonth    The date in that month (1-based).
+     * @param time          The time of that day (number of millis after midnight)
+     *                      when DST ends in local wall time, which is daylight
+     *                      time in this case.
+     * @exception IllegalArgumentException the month,
+     * dayOfMonth, or time parameters are out of range
+     * @stable ICU 2.0
+     */
+    public void setEndRule(int month, int dayOfMonth, int time) {
+        unwrapSTZ().setEndRule(month, dayOfMonth, time);
+
+        getSTZInfo().setEnd(month, -1, -1, time, dayOfMonth, false);
+    }
+
+    /**
+     * Sets the DST end rule to a weekday before or after a give date within
+     * a month, e.g., the first Monday on or after the 8th.
+     *
+     * @param month         The month in which this rule occurs (0-based).
+     * @param dayOfMonth    A date within that month (1-based).
+     * @param dayOfWeek     The day of the week on which this rule occurs.
+     * @param time          The time of that day (number of millis after midnight)
+     *                      when DST ends in local wall time, which is daylight
+     *                      time in this case.
+     * @param after         If true, this rule selects the first dayOfWeek on
+     *                      or after dayOfMonth.  If false, this rule selects
+     *                      the last dayOfWeek on or before dayOfMonth.
+     * @exception IllegalArgumentException the month, dayOfMonth,
+     * dayOfWeek, or time parameters are out of range
+     * @stable ICU 2.0
+     */
+    public void setEndRule(int month, int dayOfMonth, int dayOfWeek, int time, boolean after) {
+        unwrapSTZ().setEndRule(month, dayOfMonth, dayOfWeek, time, after);
+
+        getSTZInfo().setEnd(month, -1, dayOfWeek, time, dayOfMonth, after);
+    }
+
+    /**
+     * Sets the amount of time in ms that the clock is advanced during DST.
+     * @param millisSavedDuringDST the number of milliseconds the time is
+     * advanced with respect to standard time when the daylight savings rules
+     * are in effect. A positive number, typically one hour (3600000).
+     * @stable ICU 2.0
+     */
+    public void setDSTSavings(int millisSavedDuringDST) {
+        unwrapSTZ().setDSTSavings(millisSavedDuringDST);
+        dst = millisSavedDuringDST;
+    }
+
+    /**
+     * Returns the amount of time in ms that the clock is advanced during DST.
+     * @return the number of milliseconds the time is
+     * advanced with respect to standard time when the daylight savings rules
+     * are in effect. A positive number, typically one hour (3600000).
+     * @stable ICU 2.0
+     */
+    public int getDSTSavings() {
+        return unwrapSTZ().getDSTSavings();
+    }
+
+    /**
+     * Constructs a SimpleTimeZone that wraps the given
+     * java.util.SimpleTimeZone.  Do not call; use the TimeZone
+     * API.
+     * @internal
+     */
+    public SimpleTimeZone(java.util.SimpleTimeZone tz) {
+        // public so JDKTimeZone can instantiate it
+        // note, this is a problem since if the java STZ has been tweaked before
+        // we get it, we can't extract the info from it so we can't serialize
+        // or deserialize
+        super(tz);
+
+        raw = tz.getRawOffset();
+    }
+
+    /**
+     * Returns the java.util.SimpleTimeZone that this class wraps.
+     */
+    java.util.SimpleTimeZone unwrapSTZ() {
+        return (java.util.SimpleTimeZone) unwrap();
+    }
+
+    // on JDK 1.4 and later, can't deserialize a SimpleTimeZone as a SimpleTimeZone...
+    private void readObject(java.io.ObjectInputStream in) throws IOException, ClassNotFoundException {
+        in.defaultReadObject();
+        if (!(zone instanceof java.util.SimpleTimeZone && zone.getID().equals(getID()))) {
+            // System.out.println("*** readjust " + zone.getClass().getName() + " " + zone.getID() + " ***");
+            java.util.SimpleTimeZone stz = 
+                new java.util.SimpleTimeZone(raw, getID());
+            if (dst != 0) {
+                stz.setDSTSavings(dst);
+                // if it is 0, then there shouldn't be start/end rules and the default
+                // behavior should be no dst
+            }
+
+            if (xinfo != null) {
+                xinfo.applyTo(stz);
+            }
+            zone = stz;
+        }
+    }
+
+    private STZInfo getSTZInfo() {
+        if (xinfo == null) {
+            xinfo = new STZInfo();
+        }
+        return xinfo;
+    }
+
+    // data needed for streaming mutated SimpleTimeZones in JDK14
+    private int raw, dst = 3600000;
+    private STZInfo xinfo = null;
+}
+
+//eof
diff --git a/src/com/ibm/icu/util/StringTokenizer.java b/src/com/ibm/icu/util/StringTokenizer.java
new file mode 100644
index 0000000..ab3f3d8
--- /dev/null
+++ b/src/com/ibm/icu/util/StringTokenizer.java
@@ -0,0 +1,556 @@
+/**
+*******************************************************************************
+* Copyright (C) 1996-2004, International Business Machines Corporation and    *
+* others. All Rights Reserved.                                                *
+*******************************************************************************
+*/
+
+package com.ibm.icu.util;
+
+import java.util.Enumeration;
+import java.util.NoSuchElementException;
+import com.ibm.icu.text.UnicodeSet;
+import com.ibm.icu.text.UTF16;
+
+/**
+ * <p>The string tokenizer class allows an application to break a string 
+ * into tokens by performing code point comparison. 
+ * The <code>StringTokenizer</code> methods do not distinguish 
+ * among identifiers, numbers, and quoted strings, nor do they recognize 
+ * and skip comments.</p>
+ * <p>
+ * The set of delimiters (the codepoints that separate tokens) may be 
+ * specified either at creation time or on a per-token basis. 
+ * </p>
+ * <p>
+ * An instance of <code>StringTokenizer</code> behaves in one of two ways, 
+ * depending on whether it was created with the <code>returnDelims</code> 
+ * flag having the value <code>true</code> or <code>false</code>: 
+ * <ul>
+ * <li>If the flag is <code>false</code>, delimiter code points serve to 
+ * separate tokens. A token is a maximal sequence of consecutive 
+ * code points that are not delimiters. 
+ * <li>If the flag is <code>true</code>, delimiter code points are 
+ * themselves considered to be tokens. A token is thus either one 
+ * delimiter code point, or a maximal sequence of consecutive code 
+ * point that are not delimiters.
+ * </ul>
+ * </p>
+ * <p>
+ * A <tt>StringTokenizer</tt> object internally maintains a current 
+ * position within the string to be tokenized. Some operations advance this 
+ * current position past the code point processed.
+ * </p>
+ * <p>
+ * A token is returned by taking a substring of the string that was used to 
+ * create the <tt>StringTokenizer</tt> object.
+ * </p>
+ * <p>
+ * Example of the use of the default delimiter tokenizer.
+ * <blockquote><pre>
+ * StringTokenizer st = new StringTokenizer("this is a test");
+ * while (st.hasMoreTokens()) {
+ *     println(st.nextToken());
+ *     }
+ * </pre></blockquote>
+ * </p>
+ * <p>
+ * prints the following output:
+ * <blockquote><pre>
+ *     this
+ *     is
+ *     a
+ *     test
+ * </pre></blockquote>
+ * </p>
+ * <p>
+ * Example of the use of the tokenizer with user specified delimiter.
+ * <blockquote><pre>
+ *     StringTokenizer st = new StringTokenizer(
+ *     "this is a test with supplementary characters &#92;ud800&#92;ud800&#92;udc00&#92;udc00",
+ *         " &#92;ud800&#92;udc00");
+ *     while (st.hasMoreTokens()) {
+ *         println(st.nextToken());
+ *     }
+ * </pre></blockquote>
+ * </p>
+ * <p>
+ * prints the following output:
+ * <blockquote><pre>
+ *     this
+ *     is
+ *     a
+ *     test
+ *     with
+ *     supplementary
+ *     characters
+ *     &#92;ud800
+ *     &#92;udc00
+ * </pre></blockquote>
+ * </p>
+ * @author syn wee
+ * @stable ICU 2.4
+ */
+public final class StringTokenizer implements Enumeration 
+{
+    // public constructors ---------------------------------------------
+     
+    /**
+     * <p>Constructs a string tokenizer for the specified string. All 
+     * characters in the delim argument are the delimiters for separating 
+     * tokens.</p> 
+     * <p>If the returnDelims flag is true, then the delimiter characters 
+     * are also returned as tokens. Each delimiter is returned as a string 
+     * of length one. If the flag is false, the delimiter characters are 
+     * skipped and only serve as separators between tokens.</p>
+     * @param str a string to be parsed.
+     * @param delim the delimiters.
+     * @param returndelims flag indicating whether to return the delimiters 
+     *        as tokens.
+     * @exception throws a NullPointerException if str is null
+     * @stable ICU 2.4
+     */
+    public StringTokenizer(String str, UnicodeSet delim, boolean returndelims)
+    {
+        m_source_ = str;
+        m_length_ = str.length();
+        if (delim == null) {
+            m_delimiters_ = EMPTY_DELIMITER_;
+        }
+        else {
+            m_delimiters_ = delim;   
+        }
+        m_returnDelimiters_ = returndelims;
+        m_tokenOffset_ = -1;
+        m_tokenSize_ = -1;
+        if (m_length_ == 0) {
+            // string length 0, no tokens
+            m_nextOffset_ = -1;
+        }
+        else {
+            m_nextOffset_ = 0;
+            if (!returndelims) {
+                m_nextOffset_ = getNextNonDelimiter(0);
+            }
+        }
+    }
+    
+    /**
+     * <p>Constructs a string tokenizer for the specified string. The 
+     * characters in the delim argument are the delimiters for separating 
+     * tokens.</p> 
+     * <p>Delimiter characters themselves will not be treated as tokens.</p>
+     * @param str a string to be parsed.
+     * @param delim the delimiters.
+     * @exception throws a NullPointerException if str is null
+     * @stable ICU 2.4
+     */
+    public StringTokenizer(String str, UnicodeSet delim)
+    {
+        this(str, delim, false);
+    }
+       
+    /**
+     * <p>Constructs a string tokenizer for the specified string. All 
+     * characters in the delim argument are the delimiters for separating 
+     * tokens.</p> 
+     * <p>If the returnDelims flag is true, then the delimiter characters 
+     * are also returned as tokens. Each delimiter is returned as a string 
+     * of length one. If the flag is false, the delimiter characters are 
+     * skipped and only serve as separators between tokens.</p>
+     * @param str a string to be parsed.
+     * @param delim the delimiters.
+     * @param returndelims flag indicating whether to return the delimiters 
+     *        as tokens.
+     * @exception throws a NullPointerException if str is null
+     * @stable ICU 2.4
+     */
+    public StringTokenizer(String str, String delim, boolean returndelims)
+    {
+        // don't ignore whitespace
+        m_delimiters_ = EMPTY_DELIMITER_;
+        if (delim != null && delim.length() > 0) {
+            m_delimiters_ = new UnicodeSet();
+            m_delimiters_.addAll(delim);
+        }
+        m_source_ = str;
+        m_length_ = str.length();
+        m_returnDelimiters_ = returndelims;
+        m_tokenOffset_ = -1;
+        m_tokenSize_ = -1;
+        if (m_length_ == 0) {
+            // string length 0, no tokens
+            m_nextOffset_ = -1;
+        }
+        else {
+            m_nextOffset_ = 0;
+            if (!returndelims) {
+                m_nextOffset_ = getNextNonDelimiter(0);
+            }
+        }
+    }
+    
+    /**
+     * <p>Constructs a string tokenizer for the specified string. The 
+     * characters in the delim argument are the delimiters for separating 
+     * tokens.</p> 
+     * <p>Delimiter characters themselves will not be treated as tokens.</p>
+     * @param str a string to be parsed.
+     * @param delim the delimiters.
+     * @exception throws a NullPointerException if str is null
+     * @stable ICU 2.4
+     */
+    public StringTokenizer(String str, String delim)
+    {
+        // don't ignore whitespace
+        this(str, delim, false);
+    }
+
+    /**
+     * <p>Constructs a string tokenizer for the specified string. 
+     * The tokenizer uses the default delimiter set, which is 
+     * " &#92;t&#92;n&#92;r&#92;f": 
+     * the space character, the tab character, the newline character, the 
+     * carriage-return character, and the form-feed character.</p> 
+     * <p>Delimiter characters themselves will not be treated as tokens.</p>
+     * @param str a string to be parsed
+     * @exception throws a NullPointerException if str is null
+     * @stable ICU 2.4
+     */
+    public StringTokenizer(String str) 
+    {
+        this(str, DEFAULT_DELIMITERS_, false);
+    }
+    
+    // public methods --------------------------------------------------
+    
+    /**
+     * Tests if there are more tokens available from this tokenizer's 
+     * string. 
+     * If this method returns <tt>true</tt>, then a subsequent call to 
+     * <tt>nextToken</tt> with no argument will successfully return a token.
+     * @return <code>true</code> if and only if there is at least one token 
+     *         in the string after the current position; <code>false</code> 
+     *         otherwise.
+     * @stable ICU 2.4
+     */
+    public boolean hasMoreTokens() 
+    {
+        return m_nextOffset_ >= 0;
+    }
+    
+    /**
+     * Returns the next token from this string tokenizer.
+     * @return the next token from this string tokenizer.
+     * @exception NoSuchElementException if there are no more tokens in 
+     *            this tokenizer's string.
+     * @stable ICU 2.4
+     */
+    public String nextToken() 
+    {
+        if (m_tokenOffset_ < 0) {
+            if (m_nextOffset_ < 0) {
+                throw new NoSuchElementException("No more tokens in String");   
+            }
+            // pre-calculations of tokens not done
+            if (m_returnDelimiters_) {
+                int tokenlimit = 0;
+                if (m_delimiters_.contains(UTF16.charAt(m_source_, 
+                                                        m_nextOffset_))) {
+                    tokenlimit = getNextNonDelimiter(m_nextOffset_);
+                }
+                else {
+                    tokenlimit = getNextDelimiter(m_nextOffset_);
+                }
+                String result;
+                if (tokenlimit < 0) {
+                    result = m_source_.substring(m_nextOffset_);
+                }
+                else {
+                    result = m_source_.substring(m_nextOffset_, tokenlimit);
+                }
+                m_nextOffset_ = tokenlimit;
+                return result;
+            }
+            else {
+                int tokenlimit = getNextDelimiter(m_nextOffset_);
+                String result;
+                if (tokenlimit < 0) {
+                    result = m_source_.substring(m_nextOffset_);
+                    m_nextOffset_ = tokenlimit;
+                }
+                else {
+                    result = m_source_.substring(m_nextOffset_, tokenlimit);
+                    m_nextOffset_ = getNextNonDelimiter(tokenlimit);
+                }
+                
+                return result;
+            }
+        }
+        // count was called before and we have all the tokens
+        if (m_tokenOffset_ >= m_tokenSize_) {
+            throw new NoSuchElementException("No more tokens in String");
+        }
+        String result;
+        if (m_tokenLimit_[m_tokenOffset_] >= 0) {
+            result = m_source_.substring(m_tokenStart_[m_tokenOffset_],
+                                         m_tokenLimit_[m_tokenOffset_]);
+        }
+        else {
+            result = m_source_.substring(m_tokenStart_[m_tokenOffset_]);
+        }
+        m_tokenOffset_ ++;
+        m_nextOffset_ = m_tokenStart_[m_tokenOffset_];
+        return result;
+    }
+    
+    /**
+     * Returns the next token in this string tokenizer's string. First, 
+     * the set of characters considered to be delimiters by this 
+     * <tt>StringTokenizer</tt> object is changed to be the characters in 
+     * the string <tt>delim</tt>. Then the next token in the string
+     * after the current position is returned. The current position is 
+     * advanced beyond the recognized token.  The new delimiter set 
+     * remains the default after this call. 
+     * @param delim the new delimiters.
+     * @return the next token, after switching to the new delimiter set.
+     * @exception NoSuchElementException if there are no more tokens in 
+     *            this tokenizer's string.
+     * @stable ICU 2.4
+     */
+    public String nextToken(String delim) 
+    {
+        m_delimiters_ = EMPTY_DELIMITER_;
+        if (delim != null && delim.length() > 0) {
+            m_delimiters_ = new UnicodeSet();
+            m_delimiters_.addAll(delim);
+        }
+        return nextToken(m_delimiters_);
+    }
+    
+    /**
+     * Returns the next token in this string tokenizer's string. First, 
+     * the set of characters considered to be delimiters by this 
+     * <tt>StringTokenizer</tt> object is changed to be the characters in 
+     * the string <tt>delim</tt>. Then the next token in the string
+     * after the current position is returned. The current position is 
+     * advanced beyond the recognized token.  The new delimiter set 
+     * remains the default after this call. 
+     * @param delim the new delimiters.
+     * @return the next token, after switching to the new delimiter set.
+     * @exception NoSuchElementException if there are no more tokens in 
+     *            this tokenizer's string.
+     * @stable ICU 2.4
+     */
+    public String nextToken(UnicodeSet delim) 
+    {
+        m_delimiters_ = delim;
+        m_tokenOffset_ = -1;
+        m_tokenSize_ = -1;
+        if (!m_returnDelimiters_) {
+            m_nextOffset_ = getNextNonDelimiter(m_nextOffset_);
+        }
+        return nextToken();
+    }
+    
+    /**
+     * Returns the same value as the <code>hasMoreTokens</code> method. 
+     * It exists so that this class can implement the 
+     * <code>Enumeration</code> interface. 
+     * @return <code>true</code> if there are more tokens;
+     *         <code>false</code> otherwise.
+     * @see #hasMoreTokens()
+     * @stable ICU 2.4
+     */
+    public boolean hasMoreElements() 
+    {
+        return hasMoreTokens();
+    }
+    
+    /**
+     * Returns the same value as the <code>nextToken</code> method, except 
+     * that its declared return value is <code>Object</code> rather than 
+     * <code>String</code>. It exists so that this class can implement the 
+     * <code>Enumeration</code> interface. 
+     * @return the next token in the string.
+     * @exception NoSuchElementException if there are no more tokens in 
+     *            this tokenizer's string.
+     * @see #nextToken()
+     * @stable ICU 2.4
+     */
+    public Object nextElement() 
+    {
+        return nextToken();
+    }
+    
+    /**
+     * Calculates the number of times that this tokenizer's 
+     * <code>nextToken</code> method can be called before it generates an 
+     * exception. The current position is not advanced.
+     * @return the number of tokens remaining in the string using the 
+     *         current delimiter set.
+     * @see #nextToken()
+     * @stable ICU 2.4
+     */
+    public int countTokens() 
+    {
+        int result = 0;
+        if (hasMoreTokens()) {
+            if (m_tokenOffset_ >= 0) {
+                return m_tokenSize_ - m_tokenOffset_;
+            }
+            if (m_tokenStart_ == null) {
+                m_tokenStart_ = new int[TOKEN_SIZE_];
+                m_tokenLimit_ = new int[TOKEN_SIZE_];
+            }
+            do {
+                if (m_tokenStart_.length == result) {
+                    int temptokenindex[] = m_tokenStart_;
+                    int temptokensize[] = m_tokenLimit_;
+                    int originalsize = temptokenindex.length;
+                    int newsize = originalsize + TOKEN_SIZE_;
+                    m_tokenStart_ = new int[newsize];
+                    m_tokenLimit_ = new int[newsize];
+                    System.arraycopy(temptokenindex, 0, m_tokenStart_, 0, 
+                                     originalsize);
+                    System.arraycopy(temptokensize, 0, m_tokenLimit_, 0, 
+                                     originalsize);
+                }
+                m_tokenStart_[result] = m_nextOffset_;
+                if (m_returnDelimiters_) {
+                    if (m_delimiters_.contains(UTF16.charAt(m_source_, 
+                                                            m_nextOffset_))) {
+                        m_tokenLimit_[result] = getNextNonDelimiter(
+                                                                m_nextOffset_);
+                    }
+                    else {
+                        m_tokenLimit_[result] = getNextDelimiter(m_nextOffset_);
+                    }
+                    m_nextOffset_ = m_tokenLimit_[result];
+                }
+                else {
+                    m_tokenLimit_[result] = getNextDelimiter(m_nextOffset_);
+                    m_nextOffset_ = getNextNonDelimiter(m_tokenLimit_[result]);
+                }
+                result ++;
+            } while (m_nextOffset_ >= 0);
+            m_tokenOffset_ = 0;
+            m_tokenSize_ = result;
+            m_nextOffset_ = m_tokenStart_[0];
+        }
+        return result;
+    }
+    
+    // private data members -------------------------------------------------
+    
+    /**
+     * Current offset to the token array. If the array token is not set up yet,
+     * this value is a -1
+     */
+    private int m_tokenOffset_;
+    /**
+     * Size of the token array. If the array token is not set up yet,
+     * this value is a -1
+     */
+    private int m_tokenSize_;
+    /**
+     * Array of pre-calculated tokens start indexes in source string terminated 
+     * by -1.
+     * This is only set up during countTokens() and only stores the remaining
+     * tokens, not all tokens including parsed ones
+     */
+    private int m_tokenStart_[];
+    /**
+     * Array of pre-calculated tokens limit indexes in source string.
+     * This is only set up during countTokens() and only stores the remaining
+     * tokens, not all tokens including parsed ones
+     */
+    private int m_tokenLimit_[];
+    /**
+     * UnicodeSet containing delimiters
+     */
+    private UnicodeSet m_delimiters_;
+    /**
+     * String to parse for tokens
+     */
+    private String m_source_;
+    /**
+     * Length of m_source_
+     */
+    private int m_length_;
+    /**
+     * Current position in string to parse for tokens
+     */
+    private int m_nextOffset_;
+    /**
+     * Flag indicator if delimiters are to be treated as tokens too
+     */
+    private boolean m_returnDelimiters_;
+    /**
+     * Default set of delimiters &#92;t&#92;n&#92;r&#92;f
+     */
+    private static final UnicodeSet DEFAULT_DELIMITERS_ 
+                                        = new UnicodeSet("[ \t\n\r\f]", false);
+    /**
+     * Array size increments
+     */
+    private static final int TOKEN_SIZE_ = 100;
+    /**
+     * A empty delimiter UnicodeSet, used when user specified null delimiters
+     */
+    private static final UnicodeSet EMPTY_DELIMITER_ = new UnicodeSet();
+    
+    // private methods ------------------------------------------------------
+    
+    /**
+     * Gets the index of the next delimiter after offset
+     * @param offset to the source string
+     * @return offset of the immediate next delimiter, otherwise 
+     *         (- source string length - 1) if there
+     *         are no more delimiters after m_nextOffset
+     */
+    private int getNextDelimiter(int offset)
+    {
+        if (offset >= 0) {
+            int result = offset; 
+            int c = 0;
+            do {
+                c = UTF16.charAt(m_source_, result);
+                if (m_delimiters_.contains(c)) {
+                    break;
+                }
+                result ++;
+            } while (result < m_length_);
+            if (result < m_length_) {
+                return result;
+            }
+        }
+        return -1 - m_length_;
+    }
+    
+    /**
+     * Gets the index of the next non-delimiter after m_nextOffset_
+     * @param offset to the source string
+     * @return offset of the immediate next non-delimiter, otherwise 
+     *         (- source string length - 1) if there
+     *         are no more delimiters after m_nextOffset
+     */
+    private int getNextNonDelimiter(int offset)
+    {
+        if (offset >= 0) {
+            int result = offset; 
+            int c = 0;
+            do {
+                c = UTF16.charAt(m_source_, result);
+                if (!m_delimiters_.contains(c)) {
+                    break;
+                }
+                result ++;
+            } while (result < m_length_);
+            if (result < m_length_) {
+                return result;
+            }
+        }
+        return -1 - m_length_;
+    }
+}
diff --git a/src/com/ibm/icu/util/TimeZone.java b/src/com/ibm/icu/util/TimeZone.java
new file mode 100755
index 0000000..8a1b5a6
--- /dev/null
+++ b/src/com/ibm/icu/util/TimeZone.java
@@ -0,0 +1,720 @@
+/*
+ * @(#)TimeZone.java    1.51 00/01/19
+ *
+ * Copyright (C) 1996-2005, International Business Machines
+ * Corporation and others.  All Rights Reserved.
+ */
+
+package com.ibm.icu.util;
+
+import java.io.Serializable;
+import java.lang.ref.SoftReference;
+import java.util.Date;
+import java.util.Hashtable;
+import java.util.Locale;
+import com.ibm.icu.impl.JDKTimeZone;
+import com.ibm.icu.impl.TimeZoneAdapter;
+import com.ibm.icu.impl.ZoneMeta;
+import com.ibm.icu.text.SimpleDateFormat;
+
+/**
+ * <code>TimeZone</code> represents a time zone offset, and also figures out daylight
+ * savings.
+ *
+ * <p>
+ * Typically, you get a <code>TimeZone</code> using <code>getDefault</code>
+ * which creates a <code>TimeZone</code> based on the time zone where the program
+ * is running. For example, for a program running in Japan, <code>getDefault</code>
+ * creates a <code>TimeZone</code> object based on Japanese Standard Time.
+ *
+ * <p>
+ * You can also get a <code>TimeZone</code> using <code>getTimeZone</code>
+ * along with a time zone ID. For instance, the time zone ID for the
+ * U.S. Pacific Time zone is "America/Los_Angeles". So, you can get a
+ * U.S. Pacific Time <code>TimeZone</code> object with:
+ * <blockquote>
+ * <pre>
+ * TimeZone tz = TimeZone.getTimeZone("America/Los_Angeles");
+ * </pre>
+ * </blockquote>
+ * You can use <code>getAvailableIDs</code> method to iterate through
+ * all the supported time zone IDs. You can then choose a
+ * supported ID to get a <code>TimeZone</code>.
+ * If the time zone you want is not represented by one of the
+ * supported IDs, then you can create a custom time zone ID with
+ * the following syntax:
+ *
+ * <blockquote>
+ * <pre>
+ * GMT[+|-]hh[[:]mm]
+ * </pre>
+ * </blockquote>
+ *
+ * For example, you might specify GMT+14:00 as a custom
+ * time zone ID.  The <code>TimeZone</code> that is returned
+ * when you specify a custom time zone ID does not include
+ * daylight savings time.
+ * <p>
+ * For compatibility with JDK 1.1.x, some other three-letter time zone IDs
+ * (such as "PST", "CTT", "AST") are also supported. However, <strong>their
+ * use is deprecated</strong> because the same abbreviation is often used
+ * for multiple time zones (for example, "CST" could be U.S. "Central Standard
+ * Time" and "China Standard Time"), and the Java platform can then only
+ * recognize one of them.
+ *
+ *
+ * @see          Calendar
+ * @see          GregorianCalendar
+ * @see          SimpleTimeZone
+ * @author       Mark Davis, David Goldsmith, Chen-Lieh Huang, Alan Liu
+ * @stable ICU 2.0
+ */
+abstract public class TimeZone implements Serializable, Cloneable {
+    // using serialver from jdk1.4.2_05
+    private static final long serialVersionUID = -744942128318337471L;
+
+    /**
+     * Default constructor.  (For invocation by subclass constructors,
+     * typically implicit.)
+     * @stable ICU 2.8
+     */
+    public TimeZone() {
+    }
+
+    /**
+     * A style specifier for <code>getDisplayName()</code> indicating
+     * a short name, such as "PST."
+     * @see #LONG
+     * @stable ICU 2.0
+     */
+    public static final int SHORT = 0;
+
+    /**
+     * A style specifier for <code>getDisplayName()</code> indicating
+     * a long name, such as "Pacific Standard Time."
+     * @see #SHORT
+     * @stable ICU 2.0
+     */
+    public static final int LONG  = 1;
+
+    /**
+     * Cache to hold the SimpleDateFormat objects for a Locale.
+     */
+    private static Hashtable cachedLocaleData = new Hashtable(3);
+
+    /**
+     * Gets the time zone offset, for current date, modified in case of
+     * daylight savings. This is the offset to add *to* UTC to get local time.
+     * @param era the era of the given date.
+     * @param year the year in the given date.
+     * @param month the month in the given date.
+     * Month is 0-based. e.g., 0 for January.
+     * @param day the day-in-month of the given date.
+     * @param dayOfWeek the day-of-week of the given date.
+     * @param milliseconds the millis in day in <em>standard</em> local time.
+     * @return the offset to add *to* GMT to get local time.
+     * @stable ICU 2.0
+     */
+    abstract public int getOffset(int era, int year, int month, int day,
+                                  int dayOfWeek, int milliseconds);
+
+
+    /**
+     * Returns the offset of this time zone from UTC at the specified
+     * date. If Daylight Saving Time is in effect at the specified
+     * date, the offset value is adjusted with the amount of daylight
+     * saving.
+     *
+     * @param date the date represented in milliseconds since January 1, 1970 00:00:00 GMT
+     * @return the amount of time in milliseconds to add to UTC to get local time.
+     *
+     * @see Calendar#ZONE_OFFSET
+     * @see Calendar#DST_OFFSET
+     * @see #getOffset(long, boolean, int[])
+     * @stable ICU 2.8
+     */
+    public int getOffset(long date) {
+	int[] result = new int[2];
+	getOffset(date, false, result);
+	return result[0]+result[1];
+    }
+
+    /**
+     * Returns the time zone raw and GMT offset for the given moment
+     * in time.  Upon return, local-millis = GMT-millis + rawOffset +
+     * dstOffset.  All computations are performed in the proleptic
+     * Gregorian calendar.  The default implementation in the TimeZone
+     * class delegates to the 8-argument getOffset().
+     *
+     * @param date moment in time for which to return offsets, in
+     * units of milliseconds from January 1, 1970 0:00 GMT, either GMT
+     * time or local wall time, depending on `local'.
+     * @param local if true, `date' is local wall time; otherwise it
+     * is in GMT time.
+     * @param offsets output parameter to receive the raw offset, that
+     * is, the offset not including DST adjustments, in offsets[0],
+     * and the DST offset, that is, the offset to be added to
+     * `rawOffset' to obtain the total offset between local and GMT
+     * time, in offsets[1]. If DST is not in effect, the DST offset is
+     * zero; otherwise it is a positive value, typically one hour.
+     *
+     * @stable ICU 2.8
+     */
+    public void getOffset(long date, boolean local, int[] offsets) {
+        offsets[0] = getRawOffset();
+        
+        // Convert to local wall millis if necessary
+        if (!local) {
+            date += offsets[0]; // now in local standard millis
+        }
+
+        // When local==FALSE, we might have to recompute. This loop is
+        // executed once, unless a recomputation is required; then it is
+        // executed twice.
+        for (int pass=0; ; ++pass) {
+            int fields[] = new int[4];
+            long day = floorDivide(date, MILLIS_PER_DAY, fields);
+            int millis = fields[0];
+            
+            computeGregorianFields(day, fields);
+            
+            offsets[1] = getOffset(GregorianCalendar.AD,
+                                   fields[0], fields[1], fields[2],
+                                   fields[3], millis) - offsets[0];
+            
+            // Recompute if local==FALSE, dstOffset!=0, and addition of
+            // the dstOffset puts us in a different day.
+            if (pass!=0 || local || offsets[1]==0) {
+                break;
+            }
+            date += offsets[1];
+            if (floorDivide(date, MILLIS_PER_DAY) == day) {
+                break;
+            }
+        }
+    }
+    
+    /**
+     * Divide two long integers, returning the floor of the quotient.
+     * <p>
+     * Unlike the built-in division, this is mathematically well-behaved.
+     * E.g., <code>-1/4</code> => 0
+     * but <code>floorDivide(-1,4)</code> => -1.
+     * TODO: This duplicates a method in Calendar; clean up and
+     * consolidate in ICU 3.0.
+     * @param numerator the numerator
+     * @param denominator a divisor which must be > 0
+     * @return the floor of the quotient.
+     */
+    static long floorDivide(long numerator, long denominator) {
+        // We do this computation in order to handle
+        // a numerator of Long.MIN_VALUE correctly
+        return (numerator >= 0) ?
+            numerator / denominator :
+            ((numerator + 1) / denominator) - 1;
+    }
+
+    /**
+     * Divide two integers, returning the floor of the quotient, and
+     * the modulus remainder.
+     * <p>
+     * Unlike the built-in division, this is mathematically well-behaved.
+     * E.g., <code>-1/4</code> => 0 and <code>-1%4</code> => -1,
+     * but <code>floorDivide(-1,4)</code> => -1 with <code>remainder[0]</code> => 3.
+     * TODO: This duplicates a method in Calendar; clean up and
+     * consolidate in ICU 3.0.
+     * @param numerator the numerator
+     * @param denominator a divisor which must be > 0
+     * @param remainder an array of at least one element in which the value
+     * <code>numerator mod denominator</code> is returned. Unlike <code>numerator
+     * % denominator</code>, this will always be non-negative.
+     * @return the floor of the quotient.
+     */
+    static int floorDivide(long numerator, int denominator, int[] remainder) {
+        if (numerator >= 0) {
+            remainder[0] = (int)(numerator % denominator);
+            return (int)(numerator / denominator);
+        }
+        int quotient = (int)(((numerator + 1) / denominator) - 1);
+        remainder[0] = (int)(numerator - (quotient * denominator));
+        return quotient;
+    }
+
+    /**
+     * Compute the Gregorian calendar year, month, and day of month
+     * from the epoch day, and return them in the given array.
+     * TODO: This duplicates a method in Calendar; clean up and
+     * consolidate in ICU 3.0.
+     */
+    static void computeGregorianFields(long day, int fields[]) {
+        int year, month, dayOfMonth, dayOfYear;
+
+        // Convert from 1970 CE epoch to 1 CE epoch (Gregorian calendar)
+        // JULIAN_1_CE    = 1721426; // January 1, 1 CE Gregorian
+        // JULIAN_1970_CE = 2440588; // January 1, 1970 CE Gregorian
+        day += (2440588 - 1721426);
+
+        // Here we convert from the day number to the multiple radix
+        // representation.  We use 400-year, 100-year, and 4-year cycles.
+        // For example, the 4-year cycle has 4 years + 1 leap day; giving
+        // 1461 == 365*4 + 1 days.
+        int[] rem = new int[1];
+        int n400 = floorDivide(day, 146097, rem); // 400-year cycle length
+        int n100 = floorDivide(rem[0], 36524, rem); // 100-year cycle length
+        int n4 = floorDivide(rem[0], 1461, rem); // 4-year cycle length
+        int n1 = floorDivide(rem[0], 365, rem);
+        year = 400*n400 + 100*n100 + 4*n4 + n1;
+        dayOfYear = rem[0]; // zero-based day of year
+        if (n100 == 4 || n1 == 4) {
+            dayOfYear = 365; // Dec 31 at end of 4- or 400-yr cycle
+        } else {
+            ++year;
+        }
+
+        boolean isLeap = ((year&0x3) == 0) && // equiv. to (year%4 == 0)
+            (year%100 != 0 || year%400 == 0);
+
+        int correction = 0;
+        int march1 = isLeap ? 60 : 59; // zero-based DOY for March 1
+        if (dayOfYear >= march1) correction = isLeap ? 1 : 2;
+        month = (12 * (dayOfYear + correction) + 6) / 367; // zero-based month
+        dayOfMonth = dayOfYear -
+            GREGORIAN_MONTH_COUNT[month][isLeap?1:0] + 1; // one-based DOM
+
+        // Jan 1 1 CE is Monday
+        int dayOfWeek = (int) ((day + Calendar.MONDAY) % 7);
+        if (dayOfWeek < Calendar.SUNDAY) {
+            dayOfWeek += 7;
+        }
+
+        fields[0] = year;
+        fields[1] = month; // 0-based already
+        fields[2] = dayOfMonth; // 1-based already
+        fields[3] = dayOfWeek; // 1-based already
+        //fields[4] = dayOfYear + 1; // Convert from 0-based to 1-based
+    }
+
+    /**
+     * The number of milliseconds in one day.
+     */
+    static final int MILLIS_PER_DAY = 24*60*60*1000;
+
+    /**
+     * For each month, the days in a non-leap year before the start
+     * the of month, and the days in a leap year before the start of
+     * the month.
+     * TODO: This duplicates data in Calendar.java; clean up and
+     * consolidate in ICU 3.0.
+     */
+    static final int[][] GREGORIAN_MONTH_COUNT = {
+        {   0,   0 }, // Jan
+        {  31,  31 }, // Feb
+        {  59,  60 }, // Mar
+        {  90,  91 }, // Apr
+        { 120, 121 }, // May
+        { 151, 152 }, // Jun
+        { 181, 182 }, // Jul
+        { 212, 213 }, // Aug
+        { 243, 244 }, // Sep
+        { 273, 274 }, // Oct
+        { 304, 305 }, // Nov
+        { 334, 335 }  // Dec
+    };
+
+    /**
+     * Sets the base time zone offset to GMT.
+     * This is the offset to add *to* UTC to get local time.
+     * @param offsetMillis the given base time zone offset to GMT.
+     * @stable ICU 2.0
+     */
+    abstract public void setRawOffset(int offsetMillis);
+
+    /**
+     * Gets unmodified offset, NOT modified in case of daylight savings.
+     * This is the offset to add *to* UTC to get local time.
+     * @return the unmodified offset to add *to* UTC to get local time.
+     * @stable ICU 2.0
+     */
+    abstract public int getRawOffset();
+
+    /**
+     * Gets the ID of this time zone.
+     * @return the ID of this time zone.
+     * @stable ICU 2.0
+     */
+    public String getID() {
+        return ID;
+    }
+
+    /**
+     * Sets the time zone ID. This does not change any other data in
+     * the time zone object.
+     * @param ID the new time zone ID.
+     * @stable ICU 2.0
+     */
+    public void setID(String ID) {
+        if (ID == null) {
+            throw new NullPointerException();
+        }
+        this.ID = ID;
+    }
+
+    /**
+     * Returns a name of this time zone suitable for presentation to the user
+     * in the default locale.
+     * This method returns the long name, not including daylight savings.
+     * If the display name is not available for the locale,
+     * then this method returns a string in the format
+     * <code>GMT[+-]hh:mm</code>.
+     * @return the human-readable name of this time zone in the default locale.
+     * @stable ICU 2.0
+     */
+    public final String getDisplayName() {
+        return getDisplayName(false, LONG, ULocale.getDefault());
+    }
+
+    /**
+     * Returns a name of this time zone suitable for presentation to the user
+     * in the specified locale.
+     * This method returns the long name, not including daylight savings.
+     * If the display name is not available for the locale,
+     * then this method returns a string in the format
+     * <code>GMT[+-]hh:mm</code>.
+     * @param locale the locale in which to supply the display name.
+     * @return the human-readable name of this time zone in the given locale
+     * or in the default locale if the given locale is not recognized.
+     * @stable ICU 2.0
+     */
+    public final String getDisplayName(Locale locale) {
+        return getDisplayName(false, LONG, ULocale.forLocale(locale));
+    }
+
+    /**
+     * Returns a name of this time zone suitable for presentation to the user
+     * in the specified locale.
+     * This method returns the long name, not including daylight savings.
+     * If the display name is not available for the locale,
+     * then this method returns a string in the format
+     * <code>GMT[+-]hh:mm</code>.
+     * @param locale the ulocale in which to supply the display name.
+     * @return the human-readable name of this time zone in the given locale
+     * or in the default ulocale if the given ulocale is not recognized.
+     * @draft ICU 3.2
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public final String getDisplayName(ULocale locale) {
+        return getDisplayName(false, LONG, locale);
+    }
+
+    /**
+     * Returns a name of this time zone suitable for presentation to the user
+     * in the default locale.
+     * If the display name is not available for the locale,
+     * then this method returns a string in the format
+     * <code>GMT[+-]hh:mm</code>.
+     * @param daylight if true, return the daylight savings name.
+     * @param style either <code>LONG</code> or <code>SHORT</code>
+     * @return the human-readable name of this time zone in the default locale.
+     * @stable ICU 2.0
+     */
+    public final String getDisplayName(boolean daylight, int style) {
+        return getDisplayName(daylight, style, ULocale.getDefault());
+    }
+
+    /**
+     * Returns a name of this time zone suitable for presentation to the user
+     * in the specified locale.
+     * If the display name is not available for the locale,
+     * then this method returns a string in the format
+     * <code>GMT[+-]hh:mm</code>.
+     * @param daylight if true, return the daylight savings name.
+     * @param style either <code>LONG</code> or <code>SHORT</code>
+     * @param locale the locale in which to supply the display name.
+     * @return the human-readable name of this time zone in the given locale
+     * or in the default locale if the given locale is not recognized.
+     * @exception IllegalArgumentException style is invalid.
+     * @stable ICU 2.0
+     */
+    public String getDisplayName(boolean daylight, int style, Locale locale) {
+        return getDisplayName(daylight, style, ULocale.forLocale(locale));
+    }
+
+    /**
+     * Returns a name of this time zone suitable for presentation to the user
+     * in the specified locale.
+     * If the display name is not available for the locale,
+     * then this method returns a string in the format
+     * <code>GMT[+-]hh:mm</code>.
+     * @param daylight if true, return the daylight savings name.
+     * @param style either <code>LONG</code> or <code>SHORT</code>
+     * @param locale the locale in which to supply the display name.
+     * @return the human-readable name of this time zone in the given locale
+     * or in the default locale if the given locale is not recognized.
+     * @exception IllegalArgumentException style is invalid.
+     * @draft ICU 3.2
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public String getDisplayName(boolean daylight, int style, ULocale locale) {
+        /* NOTES:
+         * (1) We use SimpleDateFormat for simplicity; we could do this
+         * more efficiently but it would duplicate the SimpleDateFormat code
+         * here, which is undesirable.
+         * (2) Attempts to move the code from SimpleDateFormat to here also run
+         * aground because this requires SimpleDateFormat to keep a Locale
+         * object around, which it currently doesn't; to synthesize such a
+         * locale upon resurrection; and to somehow handle the special case of
+         * construction from a DateFormatSymbols object.
+         */
+        if (style != SHORT && style != LONG) {
+            throw new IllegalArgumentException("Illegal style: " + style);
+        }
+        // We keep a cache, indexed by locale.  The cache contains a
+        // SimpleDateFormat object, which we create on demand.
+        SoftReference data = (SoftReference)cachedLocaleData.get(locale);
+        SimpleDateFormat format;
+        if (data == null ||
+            (format = (SimpleDateFormat)data.get()) == null) {
+            format = new SimpleDateFormat(null, locale);
+            cachedLocaleData.put(locale, new SoftReference(format));
+        }
+        // Create a new SimpleTimeZone as a stand-in for this zone; the stand-in
+        // will have no DST, or DST during January, but the same ID and offset,
+        // and hence the same display name.  We don't cache these because
+        // they're small and cheap to create.
+        SimpleTimeZone tz;
+        if (daylight && useDaylightTime()) {
+            int savings = getDSTSavings();
+            tz = new SimpleTimeZone(getRawOffset(), getID(),
+                                    Calendar.JANUARY, 1, 0, 0,
+                                    Calendar.FEBRUARY, 1, 0, 0,
+                                    savings);
+        } else {
+            tz = new SimpleTimeZone(getRawOffset(), getID());
+        }
+        format.applyPattern(style == LONG ? "zzzz" : "z");      
+        format.setTimeZone(tz);
+        // Format a date in January.  We use the value 10*ONE_DAY == Jan 11 1970
+        // 0:00 GMT.
+        return format.format(new Date(864000000L));
+    }
+
+    /**
+     * Returns the amount of time to be added to local standard time
+     * to get local wall clock time.
+     * <p>
+     * The default implementation always returns 3600000 milliseconds
+     * (i.e., one hour) if this time zone observes Daylight Saving
+     * Time. Otherwise, 0 (zero) is returned.
+     * <p>
+     * If an underlying TimeZone implementation subclass supports
+     * historical Daylight Saving Time changes, this method returns
+     * the known latest daylight saving value.
+     *
+     * @return the amount of saving time in milliseconds
+     * @stable ICU 2.8
+     */
+    public int getDSTSavings() {
+	if (useDaylightTime()) {
+	    return 3600000;
+	}
+	return 0;
+    }
+
+    /**
+     * Queries if this time zone uses daylight savings time.
+     * @return true if this time zone uses daylight savings time,
+     * false, otherwise.
+     * @stable ICU 2.0
+     */
+    abstract public boolean useDaylightTime();
+
+    /**
+     * Queries if the given date is in daylight savings time in
+     * this time zone.
+     * @param date the given Date.
+     * @return true if the given date is in daylight savings time,
+     * false, otherwise.
+     * @stable ICU 2.0
+     */
+    abstract public boolean inDaylightTime(Date date);
+
+    /**
+     * Gets the <code>TimeZone</code> for the given ID.
+     *
+     * @param ID the ID for a <code>TimeZone</code>, either an abbreviation
+     * such as "PST", a full name such as "America/Los_Angeles", or a custom
+     * ID such as "GMT-8:00". Note that the support of abbreviations is
+     * for JDK 1.1.x compatibility only and full names should be used.
+     *
+     * @return the specified <code>TimeZone</code>, or the GMT zone if the given ID
+     * cannot be understood.
+     * @stable ICU 2.0
+     */
+    public static synchronized TimeZone getTimeZone(String ID) {
+        // (not for 3.4) ID = ZoneMeta.getCanonicalID(ID);
+        return JDKTimeZone.wrap(java.util.TimeZone.getTimeZone(ID));
+    }
+
+    /**
+     * Return a new String array containing all system TimeZone IDs
+     * with the given raw offset from GMT.  These IDs may be passed to
+     * <code>get()</code> to construct the corresponding TimeZone
+     * object.
+     * @param rawOffset the offset in milliseconds from GMT
+     * @return an array of IDs for system TimeZones with the given
+     * raw offset.  If there are none, return a zero-length array.
+     * @stable ICU 2.0
+     */
+    public static String[] getAvailableIDs(int rawOffset) {
+        return java.util.TimeZone.getAvailableIDs(rawOffset);
+    }
+
+    /**
+     * Return a new String array containing all system TimeZone IDs
+     * associated with the given country.  These IDs may be passed to
+     * <code>get()</code> to construct the corresponding TimeZone
+     * object.
+     * @param country a two-letter ISO 3166 country code, or <code>null</code>
+     * to return zones not associated with any country
+     * @return an array of IDs for system TimeZones in the given
+     * country.  If there are none, return a zero-length array.
+     * @stable ICU 2.0
+     */
+    public static String[] getAvailableIDs(String country) {
+        return ZoneMeta.getAvailableIDs(country);
+    }
+
+    /**
+     * Return a new String array containing all system TimeZone IDs.
+     * These IDs (and only these IDs) may be passed to
+     * <code>get()</code> to construct the corresponding TimeZone
+     * object.
+     * @return an array of all system TimeZone IDs
+     * @stable ICU 2.0
+     */
+    public static String[] getAvailableIDs() {
+        return java.util.TimeZone.getAvailableIDs();
+    }
+    
+    /**
+     * Returns the number of IDs in the equivalency group that
+     * includes the given ID.  An equivalency group contains zones
+     * that have the same GMT offset and rules.
+     *
+     * <p>The returned count includes the given ID; it is always >= 1
+     * for valid IDs.  The given ID must be a system time zone.  If it
+     * is not, returns zero.
+     * @param id a system time zone ID
+     * @return the number of zones in the equivalency group containing
+     * 'id', or zero if 'id' is not a valid system ID
+     * @see #getEquivalentID
+     * @stable ICU 2.0
+     */
+    public static int countEquivalentIDs(String id) {
+        return ZoneMeta.countEquivalentIDs(id);
+    }
+
+    /**
+     * Returns an ID in the equivalency group that
+     * includes the given ID.  An equivalency group contains zones
+     * that have the same GMT offset and rules.
+     *
+     * <p>The given index must be in the range 0..n-1, where n is the
+     * value returned by <code>countEquivalentIDs(id)</code>.  For
+     * some value of 'index', the returned value will be equal to the
+     * given id.  If the given id is not a valid system time zone, or
+     * if 'index' is out of range, then returns an empty string.
+     * @param id a system time zone ID
+     * @param index a value from 0 to n-1, where n is the value
+     * returned by <code>countEquivalentIDs(id)</code>
+     * @return the ID of the index-th zone in the equivalency group
+     * containing 'id', or an empty string if 'id' is not a valid
+     * system ID or 'index' is out of range
+     * @see #countEquivalentIDs
+     * @stable ICU 2.0
+     */
+    public static String getEquivalentID(String id, int index) {
+        return ZoneMeta.getEquivalentID(id, index);
+    }
+
+    /**
+     * Gets the default <code>TimeZone</code> for this host.
+     * The source of the default <code>TimeZone</code> 
+     * may vary with implementation.
+     * @return a default <code>TimeZone</code>.
+     * @stable ICU 2.0
+     */
+    public static synchronized TimeZone getDefault() {
+        if (defaultZone == null) {
+            defaultZone = JDKTimeZone.wrap(java.util.TimeZone.getDefault());
+        }
+        return (TimeZone) defaultZone.clone();
+    }
+
+    /**
+     * Sets the <code>TimeZone</code> that is
+     * returned by the <code>getDefault</code> method.  If <code>zone</code>
+     * is null, reset the default to the value it had originally when the
+     * VM first started.
+     * @param tz the new default time zone
+     * @stable ICU 2.0
+     */
+    public static synchronized void setDefault(TimeZone tz) {
+        defaultZone = tz;
+        // Keep java.util.TimeZone default in sync so java.util.Date
+        // can interoperate with com.ibm.icu.util classes.
+        java.util.TimeZone jdkZone = null;
+        if (tz != null) {
+            jdkZone = TimeZoneAdapter.wrap(tz);
+        }
+        java.util.TimeZone.setDefault(jdkZone);
+    }
+
+    /**
+     * Returns true if this zone has the same rule and offset as another zone.
+     * That is, if this zone differs only in ID, if at all.  Returns false
+     * if the other zone is null.
+     * @param other the <code>TimeZone</code> object to be compared with
+     * @return true if the other zone is not null and is the same as this one,
+     * with the possible exception of the ID
+     * @stable ICU 2.0
+     */
+    public boolean hasSameRules(TimeZone other) {
+        return other != null &&
+            getRawOffset() == other.getRawOffset() &&
+            useDaylightTime() == other.useDaylightTime();
+    }
+
+    /**
+     * Overrides Cloneable
+     * @stable ICU 2.0
+     */
+    public Object clone() {
+        try {
+            TimeZone other = (TimeZone) super.clone();
+            other.ID = ID;
+            return other;
+        } catch (CloneNotSupportedException e) {
+            throw new InternalError();
+        }
+    }
+
+    // =======================privates===============================
+
+    /**
+     * The string identifier of this <code>TimeZone</code>.  This is a
+     * programmatic identifier used internally to look up <code>TimeZone</code>
+     * objects from the system table and also to map them to their localized
+     * display names.  <code>ID</code> values are unique in the system
+     * table but may not be for dynamically created zones.
+     * @serial
+     */
+    private String           ID;
+
+    /**
+     * The default time zone, or null if not set.
+     */
+    private static TimeZone  defaultZone = null;
+}
+
+//eof
diff --git a/src/com/ibm/icu/util/ULocale.java b/src/com/ibm/icu/util/ULocale.java
new file mode 100644
index 0000000..8f309d9
--- /dev/null
+++ b/src/com/ibm/icu/util/ULocale.java
@@ -0,0 +1,2845 @@
+/*
+******************************************************************************
+* Copyright (C) 2003-2005, International Business Machines Corporation and   *
+* others. All Rights Reserved.                                               *
+******************************************************************************
+*/
+
+package com.ibm.icu.util;
+
+import java.io.Serializable;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Locale;
+import java.util.Map;
+import java.util.MissingResourceException;
+import java.util.TreeMap;
+import com.ibm.icu.impl.LocaleUtility;
+
+import com.ibm.icu.impl.ICUResourceBundle;
+
+/**
+ * A class analogous to {@link java.util.Locale} that provides additional
+ * support for ICU protocol.  In ICU 3.0 this class is enhanced to support
+ * RFC 3066 language identifiers.
+ *
+ * <p>Many classes and services in ICU follow a factory idiom, in
+ * which a factory method or object responds to a client request with
+ * an object.  The request includes a locale (the <i>requested</i>
+ * locale), and the returned object is constructed using data for that
+ * locale.  The system may lack data for the requested locale, in
+ * which case the locale fallback mechanism will be invoked until a
+ * populated locale is found (the <i>valid</i> locale).  Furthermore,
+ * even when a populated locale is found (the <i>valid</i> locale),
+ * further fallback may be required to reach a locale containing the
+ * specific data required by the service (the <i>actual</i> locale).
+ *
+ * <p>ULocale performs <b>'normalization'</b> and <b>'canonicalization'</b> of locale ids.
+ * Normalization 'cleans up' ICU locale ids as follows:
+ * <ul>
+ * <li>language, script, country, variant, and keywords are properly cased<br>
+ * (lower, title, upper, upper, and lower case respectively)</li>
+ * <li>hyphens used as separators are converted to underscores</li>
+ * <li>three-letter language and country ids are converted to two-letter
+ * equivalents where available</li>
+ * <li>surrounding spaces are removed from keywords and values</li>
+ * <li>if there are multiple keywords, they are put in sorted order</li>
+ * </ul>
+ * Canonicalization additionally performs the following:
+ * <ul>
+ * <li>POSIX ids are converted to ICU format IDs</li>
+ * <li>'grandfathered' 3066 ids are converted to ICU standard form</li>
+ * <li>'PREEURO' and 'EURO' variants are converted to currency keyword form, with the currency
+ * id appropriate to the country of the locale (for PREEURO) or EUR (for EURO).
+ * </ul>
+ * All ULocale constructors automatically normalize the locale id.  To handle
+ * POSIX ids, <code>canonicalize</code> can be called to convert the id
+ * to canonical form, or the <code>canonicalInstance</code> factory method
+ * can be called.</p>
+ *
+ * <p>This class provides selectors {@link #VALID_LOCALE} and {@link
+ * #ACTUAL_LOCALE} intended for use in methods named
+ * <tt>getLocale()</tt>.  These methods exist in several ICU classes,
+ * including {@link com.ibm.icu.util.Calendar}, {@link
+ * com.ibm.icu.util.Currency}, {@link com.ibm.icu.text.UFormat},
+ * {@link com.ibm.icu.text.BreakIterator}, {@link
+ * com.ibm.icu.text.Collator}, {@link
+ * com.ibm.icu.text.DateFormatSymbols}, and {@link
+ * com.ibm.icu.text.DecimalFormatSymbols} and their subclasses, if
+ * any.  Once an object of one of these classes has been created,
+ * <tt>getLocale()</tt> may be called on it to determine the valid and
+ * actual locale arrived at during the object's construction.
+ *
+ * <p>Note: The <tt>getLocale()</tt> method will be implemented in ICU
+ * 3.0; ICU 2.8 contains a partial preview implementation.  The
+ * <i>actual</i> locale is returned correctly, but the <i>valid</i>
+ * locale is not, in most cases.
+ *
+ * @see java.util.Locale
+ * @author weiv
+ * @author Alan Liu
+ * @author Ram Viswanadha
+ * @stable ICU 2.8 
+ */
+public final class ULocale implements Serializable {
+    // using serialver from jdk1.4.2_05
+    private static final long serialVersionUID = 3715177670352309217L;
+
+    /** 
+     * Useful constant for language.
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final ULocale ENGLISH = new ULocale("en", Locale.ENGLISH);
+
+    /** 
+     * Useful constant for language.
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final ULocale FRENCH = new ULocale("fr", Locale.FRENCH);
+
+    /** 
+     * Useful constant for language.
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final ULocale GERMAN = new ULocale("de", Locale.GERMAN);
+
+    /** 
+     * Useful constant for language.
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final ULocale ITALIAN = new ULocale("it", Locale.ITALIAN);
+
+    /** 
+     * Useful constant for language.
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final ULocale JAPANESE = new ULocale("ja", Locale.JAPANESE);
+
+    /** 
+     * Useful constant for language.
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final ULocale KOREAN = new ULocale("ko", Locale.KOREAN);
+
+    /** 
+     * Useful constant for language.
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final ULocale CHINESE = new ULocale("zh", Locale.CHINESE);
+
+    /** 
+     * Useful constant for language.
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final ULocale SIMPLIFIED_CHINESE = new ULocale("zh_Hans", Locale.CHINESE);
+
+    /** 
+     * Useful constant for language.
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final ULocale TRADITIONAL_CHINESE = new ULocale("zh_Hant", Locale.CHINESE);
+
+    /** 
+     * Useful constant for country/region.
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final ULocale FRANCE = new ULocale("fr_FR", Locale.FRANCE);
+
+    /** 
+     * Useful constant for country/region.
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final ULocale GERMANY = new ULocale("de_DE", Locale.GERMANY);
+
+    /** 
+     * Useful constant for country/region.
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final ULocale ITALY = new ULocale("it_IT", Locale.ITALY);
+
+    /** 
+     * Useful constant for country/region.
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final ULocale JAPAN = new ULocale("ja_JP", Locale.JAPAN);
+
+    /** 
+     * Useful constant for country/region.
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final ULocale KOREA = new ULocale("ko_KR", Locale.KOREA);
+
+    /** 
+     * Useful constant for country/region.
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final ULocale CHINA = new ULocale("zh_Hans_CN", Locale.CHINA);
+
+    /** 
+     * Useful constant for country/region.
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final ULocale PRC = CHINA;
+
+    /** 
+     * Useful constant for country/region.
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final ULocale TAIWAN = new ULocale("zh_Hant_TW", Locale.TAIWAN);
+
+    /** 
+     * Useful constant for country/region.
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final ULocale UK = new ULocale("en_GB", Locale.UK);
+
+    /** 
+     * Useful constant for country/region.
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final ULocale US = new ULocale("en_US", Locale.US);
+
+    /** 
+     * Useful constant for country/region.
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final ULocale CANADA = new ULocale("en_CA", Locale.CANADA);
+
+    /** 
+     * Useful constant for country/region.
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final ULocale CANADA_FRENCH = new ULocale("fr_CA", Locale.CANADA_FRENCH);
+
+    private static final HashMap CACHE = new HashMap(20);
+    static {
+        CACHE.put(Locale.ENGLISH, ENGLISH);
+        CACHE.put(Locale.FRENCH, FRENCH);
+        CACHE.put(Locale.GERMAN, GERMAN);
+        CACHE.put(Locale.ITALIAN, ITALIAN);
+        CACHE.put(Locale.JAPANESE, JAPANESE);
+        CACHE.put(Locale.KOREAN, KOREAN);
+        CACHE.put(Locale.CHINESE, CHINESE);
+        CACHE.put(Locale.SIMPLIFIED_CHINESE, SIMPLIFIED_CHINESE);
+        CACHE.put(Locale.TRADITIONAL_CHINESE, TRADITIONAL_CHINESE);
+        CACHE.put(Locale.FRANCE, FRANCE);
+        CACHE.put(Locale.GERMANY, GERMANY);
+        CACHE.put(Locale.ITALY, ITALY);
+        CACHE.put(Locale.JAPAN, JAPAN);
+        CACHE.put(Locale.KOREA, KOREA);
+        CACHE.put(Locale.CHINA, CHINA);
+        CACHE.put(Locale.TAIWAN, TAIWAN);
+        CACHE.put(Locale.UK, UK);
+        CACHE.put(Locale.US, US);
+        CACHE.put(Locale.CANADA, CANADA);
+        CACHE.put(Locale.CANADA_FRENCH, CANADA_FRENCH);
+    }
+
+    /**
+     * Handy constant.
+     */
+    private static final String EMPTY_STRING = "";
+
+    // Used in both ULocale and IDParser, so moved up here.
+    private static final char UNDERSCORE            = '_';
+
+    /**
+     * The root ULocale.
+     * @stable ICU 2.8
+     */ 
+    public static final ULocale ROOT = new ULocale(EMPTY_STRING, (Locale)null);
+    
+    /**
+     * Cache the locale.
+     */
+    private transient Locale locale;
+
+    /**
+     * The raw localeID that we were passed in.
+     */
+    private String localeID;
+
+    /**
+     * Tables used in normalizing portions of the id.
+     */
+    /* tables updated per http://lcweb.loc.gov/standards/iso639-2/ 
+       to include the revisions up to 2001/7/27 *CWB*/
+    /* The 3 character codes are the terminology codes like RFC 3066.  
+       This is compatible with prior ICU codes */
+    /* "in" "iw" "ji" "jw" & "sh" have been withdrawn but are still in 
+       the table but now at the end of the table because 
+       3 character codes are duplicates.  This avoids bad searches
+       going from 3 to 2 character codes.*/
+    /* The range qaa-qtz is reserved for local use. */
+
+    private static String[] _languages;
+    private static String[] _replacementLanguages;
+    private static String[] _obsoleteLanguages;
+    private static String[] _languages3;
+    private static String[] _obsoleteLanguages3;
+
+    // Avoid initializing languages tables unless we have to.
+    private static void initLanguageTables() {
+        if (_languages == null) {
+
+            /* This list MUST be in sorted order, and MUST contain the two-letter codes
+               if one exists otherwise use the three letter code */
+            String[] tempLanguages = {
+                "aa",  "ab",  "ace", "ach", "ada", "ady", "ae",  "af",  "afa",
+                "afh", "ak",  "akk", "ale", "alg", "am",  "an",  "ang", "apa",
+                "ar",  "arc", "arn", "arp", "art", "arw", "as",  "ast",
+                "ath", "aus", "av",  "awa", "ay",  "az",  "ba",  "bad",
+                "bai", "bal", "ban", "bas", "bat", "be",  "bej",
+                "bem", "ber", "bg",  "bh",  "bho", "bi",  "bik", "bin",
+                "bla", "bm",  "bn",  "bnt", "bo",  "br",  "bra", "bs",
+                "btk", "bua", "bug", "byn", "ca",  "cad", "cai", "car", "cau",
+                "ce",  "ceb", "cel", "ch",  "chb", "chg", "chk", "chm",
+                "chn", "cho", "chp", "chr", "chy", "cmc", "co",  "cop",
+                "cpe", "cpf", "cpp", "cr",  "crh", "crp", "cs",  "csb", "cu",  "cus",
+                "cv",  "cy",  "da",  "dak", "dar", "day", "de",  "del", "den",
+                "dgr", "din", "doi", "dra", "dsb", "dua", "dum", "dv",  "dyu",
+                "dz",  "ee",  "efi", "egy", "eka", "el",  "elx", "en",
+                "enm", "eo",  "es",  "et",  "eu",  "ewo", "fa",
+                "fan", "fat", "ff",  "fi",  "fiu", "fj",  "fo",  "fon",
+                "fr",  "frm", "fro", "fur", "fy",  "ga",  "gaa", "gay",
+                "gba", "gd",  "gem", "gez", "gil", "gl",  "gmh", "gn",
+                "goh", "gon", "gor", "got", "grb", "grc", "gu",  "gv",
+                "gwi", "ha",  "hai", "haw", "he",  "hi",  "hil", "him",
+                "hit", "hmn", "ho",  "hr",  "hsb", "ht",  "hu",  "hup", "hy",  "hz",
+                "ia",  "iba", "id",  "ie",  "ig",  "ii",  "ijo", "ik",
+                "ilo", "inc", "ine", "inh", "io",  "ira", "iro", "is",  "it",
+                "iu",  "ja",  "jbo", "jpr", "jrb", "jv",  "ka",  "kaa", "kab",
+                "kac", "kam", "kar", "kaw", "kbd", "kg",  "kha", "khi",
+                "kho", "ki",  "kj",  "kk",  "kl",  "km",  "kmb", "kn",
+                "ko",  "kok", "kos", "kpe", "kr",  "krc", "kro", "kru", "ks",
+                "ku",  "kum", "kut", "kv",  "kw",  "ky",  "la",  "lad",
+                "lah", "lam", "lb",  "lez", "lg",  "li",  "ln",  "lo",  "lol",
+                "loz", "lt",  "lu",  "lua", "lui", "lun", "luo", "lus",
+                "lv",  "mad", "mag", "mai", "mak", "man", "map", "mas",
+                "mdf", "mdr", "men", "mg",  "mga", "mh",  "mi",  "mic", "min",
+                "mis", "mk",  "mkh", "ml",  "mn",  "mnc", "mni", "mno",
+                "mo",  "moh", "mos", "mr",  "ms",  "mt",  "mul", "mun",
+                "mus", "mwr", "my",  "myn", "myv", "na",  "nah", "nai", "nap",
+                "nb",  "nd",  "nds", "ne",  "new", "ng",  "nia", "nic",
+                "niu", "nl",  "nn",  "no",  "nog", "non", "nr",  "nso", "nub",
+                "nv",  "nwc", "ny",  "nym", "nyn", "nyo", "nzi", "oc",  "oj",
+                "om",  "or",  "os",  "osa", "ota", "oto", "pa",  "paa",
+                "pag", "pal", "pam", "pap", "pau", "peo", "phi", "phn",
+                "pi",  "pl",  "pon", "pra", "pro", "ps",  "pt",  "qu",
+                "raj", "rap", "rar", "rm",  "rn",  "ro",  "roa", "rom",
+                "ru",  "rw",  "sa",  "sad", "sah", "sai", "sal", "sam",
+                "sas", "sat", "sc",  "sco", "sd",  "se",  "sel", "sem",
+                "sg",  "sga", "sgn", "shn", "si",  "sid", "sio", "sit",
+                "sk",  "sl",  "sla", "sm",  "sma", "smi", "smj", "smn",
+                "sms", "sn",  "snk", "so",  "sog", "son", "sq",  "sr",
+                "srr", "ss",  "ssa", "st",  "su",  "suk", "sus", "sux",
+                "sv",  "sw",  "syr", "ta",  "tai", "te",  "tem", "ter",
+                "tet", "tg",  "th",  "ti",  "tig", "tiv", "tk",  "tkl",
+                "tl",  "tlh", "tli", "tmh", "tn",  "to",  "tog", "tpi", "tr",
+                "ts",  "tsi", "tt",  "tum", "tup", "tut", "tvl", "tw",
+                "ty",  "tyv", "udm", "ug",  "uga", "uk",  "umb", "und", "ur",
+                "uz",  "vai", "ve",  "vi",  "vo",  "vot", "wa",  "wak",
+                "wal", "war", "was", "wen", "wo",  "xal", "xh",  "yao", "yap",
+                "yi",  "yo",  "ypk", "za",  "zap", "zen", "zh",  "znd",
+                "zu",  "zun", 
+            };
+
+            String[] tempReplacementLanguages = {
+                "id", "he", "yi", "jv", "sr", "nb",/* replacement language codes */
+            };
+
+            String[] tempObsoleteLanguages = {
+                "in", "iw", "ji", "jw", "sh", "no",    /* obsolete language codes */         
+            };
+
+            /* This list MUST contain a three-letter code for every two-letter code in the
+               list above, and they MUST ne in the same order (i.e., the same language must
+               be in the same place in both lists)! */
+            String[] tempLanguages3 = {
+                /*"aa",  "ab",  "ace", "ach", "ada", "ady", "ae",  "af",  "afa",    */
+                "aar", "abk", "ace", "ach", "ada", "ady", "ave", "afr", "afa",
+                /*"afh", "ak",  "akk", "ale", "alg", "am",  "an",  "ang", "apa",    */
+                "afh", "aka", "akk", "ale", "alg", "amh", "arg", "ang", "apa",
+                /*"ar",  "arc", "arn", "arp", "art", "arw", "as",  "ast",    */
+                "ara", "arc", "arn", "arp", "art", "arw", "asm", "ast",
+                /*"ath", "aus", "av",  "awa", "ay",  "az",  "ba",  "bad",    */
+                "ath", "aus", "ava", "awa", "aym", "aze", "bak", "bad",
+                /*"bai", "bal", "ban", "bas", "bat", "be",  "bej",    */
+                "bai", "bal", "ban", "bas", "bat", "bel", "bej",
+                /*"bem", "ber", "bg",  "bh",  "bho", "bi",  "bik", "bin",    */
+                "bem", "ber", "bul", "bih", "bho", "bis", "bik", "bin",
+                /*"bla", "bm",  "bn",  "bnt", "bo",  "br",  "bra", "bs",     */
+                "bla", "bam",  "ben", "bnt", "bod", "bre", "bra", "bos",
+                /*"btk", "bua", "bug", "byn", "ca",  "cad", "cai", "car", "cau",    */
+                "btk", "bua", "bug", "byn", "cat", "cad", "cai", "car", "cau",
+                /*"ce",  "ceb", "cel", "ch",  "chb", "chg", "chk", "chm",    */
+                "che", "ceb", "cel", "cha", "chb", "chg", "chk", "chm",
+                /*"chn", "cho", "chp", "chr", "chy", "cmc", "co",  "cop",    */
+                "chn", "cho", "chp", "chr", "chy", "cmc", "cos", "cop",
+                /*"cpe", "cpf", "cpp", "cr",  "crh", "crp", "cs",  "csb", "cu",  "cus",    */
+                "cpe", "cpf", "cpp", "cre", "crh", "crp", "ces", "csb", "chu", "cus",
+                /*"cv",  "cy",  "da",  "dak", "dar", "day", "de",  "del", "den",    */
+                "chv", "cym", "dan", "dak", "dar", "day", "deu", "del", "den",
+                /*"dgr", "din", "doi", "dra", "dsb", "dua", "dum", "dv",  "dyu",    */
+                "dgr", "din", "doi", "dra", "dsb", "dua", "dum", "div", "dyu",
+                /*"dz",  "ee",  "efi", "egy", "eka", "el",  "elx", "en",     */
+                "dzo", "ewe", "efi", "egy", "eka", "ell", "elx", "eng",
+                /*"enm", "eo",  "es",  "et",  "eu",  "ewo", "fa",     */
+                "enm", "epo", "spa", "est", "eus", "ewo", "fas",
+                /*"fan", "fat", "ff",  "fi",  "fiu", "fj",  "fo",  "fon",    */
+                "fan", "fat", "ful", "fin", "fiu", "fij", "fao", "fon",
+                /*"fr",  "frm", "fro", "fur", "fy",  "ga",  "gaa", "gay",    */
+                "fra", "frm", "fro", "fur", "fry", "gle", "gaa", "gay",
+                /*"gba", "gd",  "gem", "gez", "gil", "gl",  "gmh", "gn",     */
+                "gba", "gla", "gem", "gez", "gil", "glg", "gmh", "grn",
+                /*"goh", "gon", "gor", "got", "grb", "grc", "gu",  "gv",     */
+                "goh", "gon", "gor", "got", "grb", "grc", "guj", "glv",
+                /*"gwi", "ha",  "hai", "haw", "he",  "hi",  "hil", "him",    */
+                "gwi", "hau", "hai", "haw", "heb", "hin", "hil", "him",
+                /*"hit", "hmn", "ho",  "hr",  "hsb", "ht",  "hu",  "hup", "hy",  "hz",     */
+                "hit", "hmn", "hmo", "hrv", "hsb", "hat", "hun", "hup", "hye", "her",
+                /*"ia",  "iba", "id",  "ie",  "ig",  "ii",  "ijo", "ik",     */
+                "ina", "iba", "ind", "ile", "ibo", "iii", "ijo", "ipk",
+                /*"ilo", "inc", "ine", "inh", "io",  "ira", "iro", "is",  "it",      */
+                "ilo", "inc", "ine", "inh", "ido", "ira", "iro", "isl", "ita",
+                /*"iu",  "ja",  "jbo", "jpr", "jrb", "jv",  "ka",  "kaa", "kab",   */
+                "iku", "jpn", "jbo", "jpr", "jrb", "jaw", "kat", "kaa", "kab",
+                /*"kac", "kam", "kar", "kaw", "kbd", "kg",  "kha", "khi",    */
+                "kac", "kam", "kar", "kaw", "kbd", "kon", "kha", "khi",
+                /*"kho", "ki",  "kj",  "kk",  "kl",  "km",  "kmb", "kn",     */
+                "kho", "kik", "kua", "kaz", "kal", "khm", "kmb", "kan",
+                /*"ko",  "kok", "kos", "kpe", "kr",  "krc", "kro", "kru", "ks",     */
+                "kor", "kok", "kos", "kpe", "kau", "krc", "kro", "kru", "kas",
+                /*"ku",  "kum", "kut", "kv",  "kw",  "ky",  "la",  "lad",    */
+                "kur", "kum", "kut", "kom", "cor", "kir", "lat", "lad",
+                /*"lah", "lam", "lb",  "lez", "lg",  "li",  "ln",  "lo",  "lol",    */
+                "lah", "lam", "ltz", "lez", "lug", "lim", "lin", "lao", "lol",
+                /*"loz", "lt",  "lu",  "lua", "lui", "lun", "luo", "lus",    */
+                "loz", "lit", "lub", "lua", "lui", "lun", "luo", "lus",
+                /*"lv",  "mad", "mag", "mai", "mak", "man", "map", "mas",    */
+                "lav", "mad", "mag", "mai", "mak", "man", "map", "mas",
+                /*"mdf", "mdr", "men", "mg",  "mga", "mh",  "mi",  "mic", "min",    */
+                "mdf", "mdr", "men", "mlg", "mga", "mah", "mri", "mic", "min",
+                /*"mis", "mk",  "mkh", "ml",  "mn",  "mnc", "mni", "mno",    */
+                "mis", "mkd", "mkh", "mal", "mon", "mnc", "mni", "mno",
+                /*"mo",  "moh", "mos", "mr",  "ms",  "mt",  "mul", "mun",    */
+                "mol", "moh", "mos", "mar", "msa", "mlt", "mul", "mun",
+                /*"mus", "mwr", "my",  "myn", "myv", "na",  "nah", "nai", "nap",    */
+                "mus", "mwr", "mya", "myn", "myv", "nau", "nah", "nai", "nap",
+                /*"nb",  "nd",  "nds", "ne",  "new", "ng",  "nia", "nic",    */
+                "nob", "nde", "nds", "nep", "new", "ndo", "nia", "nic",
+                /*"niu", "nl",  "nn",  "no",  "nog", "non", "nr",  "nso", "nub",    */
+                "niu", "nld", "nno", "nor", "nog", "non", "nbl", "nso", "nub",
+                /*"nv",  "nwc", "ny",  "nym", "nyn", "nyo", "nzi", "oc",  "oj",     */
+                "nav", "nwc", "nya", "nym", "nyn", "nyo", "nzi", "oci", "oji",
+                /*"om",  "or",  "os",  "osa", "ota", "oto", "pa",  "paa",    */
+                "orm", "ori", "oss", "osa", "ota", "oto", "pan", "paa",
+                /*"pag", "pal", "pam", "pap", "pau", "peo", "phi", "phn",    */
+                "pag", "pal", "pam", "pap", "pau", "peo", "phi", "phn",
+                /*"pi",  "pl",  "pon", "pra", "pro", "ps",  "pt",  "qu",     */
+                "pli", "pol", "pon", "pra", "pro", "pus", "por", "que",
+                /*"raj", "rap", "rar", "rm",  "rn",  "ro",  "roa", "rom",    */
+                "raj", "rap", "rar", "roh", "run", "ron", "roa", "rom",
+                /*"ru",  "rw",  "sa",  "sad", "sah", "sai", "sal", "sam",    */
+                "rus", "kin", "san", "sad", "sah", "sai", "sal", "sam",
+                /*"sas", "sat", "sc",  "sco", "sd",  "se",  "sel", "sem",    */
+                "sas", "sat", "srd", "sco", "snd", "sme", "sel", "sem",
+                /*"sg",  "sga", "sgn", "shn", "si",  "sid", "sio", "sit",    */
+                "sag", "sga", "sgn", "shn", "sin", "sid", "sio", "sit",
+                /*"sk",  "sl",  "sla", "sm",  "sma", "smi", "smj", "smn",    */
+                "slk", "slv", "sla", "smo", "sma", "smi", "smj", "smn",
+                /*"sms", "sn",  "snk", "so",  "sog", "son", "sq",  "sr",     */
+                "sms", "sna", "snk", "som", "sog", "son", "sqi", "srp",
+                /*"srr", "ss",  "ssa", "st",  "su",  "suk", "sus", "sux",    */
+                "srr", "ssw", "ssa", "sot", "sun", "suk", "sus", "sux",
+                /*"sv",  "sw",  "syr", "ta",  "tai", "te",  "tem", "ter",    */
+                "swe", "swa", "syr", "tam", "tai", "tel", "tem", "ter",
+                /*"tet", "tg",  "th",  "ti",  "tig", "tiv", "tk",  "tkl",    */
+                "tet", "tgk", "tha", "tir", "tig", "tiv", "tuk", "tkl",
+                /*"tl",  "tlh", "tli", "tmh", "tn",  "to",  "tog", "tpi", "tr",     */
+                "tgl", "tlh", "tli", "tmh", "tsn", "ton", "tog", "tpi", "tur",
+                /*"ts",  "tsi", "tt",  "tum", "tup", "tut", "tvl", "tw",     */
+                "tso", "tsi", "tat", "tum", "tup", "tut", "tvl", "twi",
+                /*"ty",  "tyv", "udm", "ug",  "uga", "uk",  "umb", "und", "ur",     */
+                "tah", "tyv", "udm", "uig", "uga", "ukr", "umb", "und", "urd",
+                /*"uz",  "vai", "ve",  "vi",  "vo",  "vot", "wa",  "wak",    */
+                "uzb", "vai", "ven", "vie", "vol", "vot", "wln", "wak",
+                /*"wal", "war", "was", "wen", "wo",  "xal", "xh",  "yao", "yap",    */
+                "wal", "war", "was", "wen", "wol", "xal", "xho", "yao", "yap",
+                /*"yi",  "yo",  "ypk", "za",  "zap", "zen", "zh",  "znd",    */
+                "yid", "yor", "ypk", "zha", "zap", "zen", "zho", "znd",
+                /*"zu",  "zun",                                              */
+                "zul", "zun",  
+            };
+    
+            String[] tempObsoleteLanguages3 = {
+                /* "in",  "iw",  "ji",  "jw",  "sh", */
+                "ind", "heb", "yid", "jaw", "srp", 
+            };
+
+            synchronized (ULocale.class) {
+                if (_languages == null) {
+                    _languages = tempLanguages;
+                    _replacementLanguages = tempReplacementLanguages;
+                    _obsoleteLanguages = tempObsoleteLanguages;
+                    _languages3 = tempLanguages3;
+                    _obsoleteLanguages3 = tempObsoleteLanguages3;
+                }
+            }
+        }
+    }
+
+    private static String[] _countries;
+    private static String[] _obsoleteCountries;
+    private static String[] _countries3;
+    private static String[] _obsoleteCountries3;
+
+    // Avoid initializing country tables unless we have to.
+    private static void initCountryTables() {    
+        if (_countries == null) {
+            /* ZR(ZAR) is now CD(COD) and FX(FXX) is PS(PSE) as per
+               http://www.evertype.com/standards/iso3166/iso3166-1-en.html 
+               added new codes keeping the old ones for compatibility
+               updated to include 1999/12/03 revisions *CWB*/
+    
+            /* RO(ROM) is now RO(ROU) according to 
+               http://www.iso.org/iso/en/prods-services/iso3166ma/03updates-on-iso-3166/nlv3e-rou.html
+            */
+    
+            /* This list MUST be in sorted order, and MUST contain only two-letter codes! */
+            String[] tempCountries = {
+                "AD",  "AE",  "AF",  "AG",  "AI",  "AL",  "AM",  "AN",
+                "AO",  "AQ",  "AR",  "AS",  "AT",  "AU",  "AW",  "AZ",
+                "BA",  "BB",  "BD",  "BE",  "BF",  "BG",  "BH",  "BI",
+                "BJ",  "BM",  "BN",  "BO",  "BR",  "BS",  "BT",  "BV",
+                "BW",  "BY",  "BZ",  "CA",  "CC",  "CD",  "CF",  "CG",
+                "CH",  "CI",  "CK",  "CL",  "CM",  "CN",  "CO",  "CR",
+                "CU",  "CV",  "CX",  "CY",  "CZ",  "DE",  "DJ",  "DK",
+                "DM",  "DO",  "DZ",  "EC",  "EE",  "EG",  "EH",  "ER",
+                "ES",  "ET",  "FI",  "FJ",  "FK",  "FM",  "FO",  "FR",
+                "GA",  "GB",  "GD",  "GE",  "GF",  "GH",  "GI",  "GL",
+                "GM",  "GN",  "GP",  "GQ",  "GR",  "GS",  "GT",  "GU",
+                "GW",  "GY",  "HK",  "HM",  "HN",  "HR",  "HT",  "HU",
+                "ID",  "IE",  "IL",  "IN",  "IO",  "IQ",  "IR",  "IS",
+                "IT",  "JM",  "JO",  "JP",  "KE",  "KG",  "KH",  "KI",
+                "KM",  "KN",  "KP",  "KR",  "KW",  "KY",  "KZ",  "LA",
+                "LB",  "LC",  "LI",  "LK",  "LR",  "LS",  "LT",  "LU",
+                "LV",  "LY",  "MA",  "MC",  "MD",  "MG",  "MH",  "MK",
+                "ML",  "MM",  "MN",  "MO",  "MP",  "MQ",  "MR",  "MS",
+                "MT",  "MU",  "MV",  "MW",  "MX",  "MY",  "MZ",  "NA",
+                "NC",  "NE",  "NF",  "NG",  "NI",  "NL",  "NO",  "NP",
+                "NR",  "NU",  "NZ",  "OM",  "PA",  "PE",  "PF",  "PG",
+                "PH",  "PK",  "PL",  "PM",  "PN",  "PR",  "PS",  "PT",
+                "PW",  "PY",  "QA",  "RE",  "RO",  "RU",  "RW",  "SA",
+                "SB",  "SC",  "SD",  "SE",  "SG",  "SH",  "SI",  "SJ",
+                "SK",  "SL",  "SM",  "SN",  "SO",  "SR",  "ST",  "SV",
+                "SY",  "SZ",  "TC",  "TD",  "TF",  "TG",  "TH",  "TJ",
+                "TK",  "TL",  "TM",  "TN",  "TO",  "TR",  "TT",  "TV",
+                "TW",  "TZ",  "UA",  "UG",  "UM",  "US",  "UY",  "UZ",
+                "VA",  "VC",  "VE",  "VG",  "VI",  "VN",  "VU",  "WF",
+                "WS",  "YE",  "YT",  "YU",  "ZA",  "ZM",  "ZW",  
+            };
+    
+            String[] tempObsoleteCountries = {
+                "FX",  "RO",  "TP",  "ZR",   /* obsolete country codes */      
+            };
+    
+            /* This list MUST contain a three-letter code for every two-letter code in
+               the above list, and they MUST be listed in the same order! */
+            String[] tempCountries3 = {
+                /*"AD",  "AE",  "AF",  "AG",  "AI",  "AL",  "AM",  "AN",     */
+                "AND", "ARE", "AFG", "ATG", "AIA", "ALB", "ARM", "ANT",
+                /*"AO",  "AQ",  "AR",  "AS",  "AT",  "AU",  "AW",  "AZ",     */
+                "AGO", "ATA", "ARG", "ASM", "AUT", "AUS", "ABW", "AZE",
+                /*"BA",  "BB",  "BD",  "BE",  "BF",  "BG",  "BH",  "BI",     */
+                "BIH", "BRB", "BGD", "BEL", "BFA", "BGR", "BHR", "BDI",
+                /*"BJ",  "BM",  "BN",  "BO",  "BR",  "BS",  "BT",  "BV",     */
+                "BEN", "BMU", "BRN", "BOL", "BRA", "BHS", "BTN", "BVT",
+                /*"BW",  "BY",  "BZ",  "CA",  "CC",  "CD",  "CF",  "CG",     */
+                "BWA", "BLR", "BLZ", "CAN", "CCK", "COD", "CAF", "COG",
+                /*"CH",  "CI",  "CK",  "CL",  "CM",  "CN",  "CO",  "CR",     */
+                "CHE", "CIV", "COK", "CHL", "CMR", "CHN", "COL", "CRI",
+                /*"CU",  "CV",  "CX",  "CY",  "CZ",  "DE",  "DJ",  "DK",     */
+                "CUB", "CPV", "CXR", "CYP", "CZE", "DEU", "DJI", "DNK",
+                /*"DM",  "DO",  "DZ",  "EC",  "EE",  "EG",  "EH",  "ER",     */
+                "DMA", "DOM", "DZA", "ECU", "EST", "EGY", "ESH", "ERI",
+                /*"ES",  "ET",  "FI",  "FJ",  "FK",  "FM",  "FO",  "FR",     */
+                "ESP", "ETH", "FIN", "FJI", "FLK", "FSM", "FRO", "FRA",
+                /*"GA",  "GB",  "GD",  "GE",  "GF",  "GH",  "GI",  "GL",     */
+                "GAB", "GBR", "GRD", "GEO", "GUF", "GHA", "GIB", "GRL",
+                /*"GM",  "GN",  "GP",  "GQ",  "GR",  "GS",  "GT",  "GU",     */
+                "GMB", "GIN", "GLP", "GNQ", "GRC", "SGS", "GTM", "GUM",
+                /*"GW",  "GY",  "HK",  "HM",  "HN",  "HR",  "HT",  "HU",     */
+                "GNB", "GUY", "HKG", "HMD", "HND", "HRV", "HTI", "HUN",
+                /*"ID",  "IE",  "IL",  "IN",  "IO",  "IQ",  "IR",  "IS",     */
+                "IDN", "IRL", "ISR", "IND", "IOT", "IRQ", "IRN", "ISL",
+                /*"IT",  "JM",  "JO",  "JP",  "KE",  "KG",  "KH",  "KI",     */
+                "ITA", "JAM", "JOR", "JPN", "KEN", "KGZ", "KHM", "KIR",
+                /*"KM",  "KN",  "KP",  "KR",  "KW",  "KY",  "KZ",  "LA",     */
+                "COM", "KNA", "PRK", "KOR", "KWT", "CYM", "KAZ", "LAO",
+                /*"LB",  "LC",  "LI",  "LK",  "LR",  "LS",  "LT",  "LU",     */
+                "LBN", "LCA", "LIE", "LKA", "LBR", "LSO", "LTU", "LUX",
+                /*"LV",  "LY",  "MA",  "MC",  "MD",  "MG",  "MH",  "MK",     */
+                "LVA", "LBY", "MAR", "MCO", "MDA", "MDG", "MHL", "MKD",
+                /*"ML",  "MM",  "MN",  "MO",  "MP",  "MQ",  "MR",  "MS",     */
+                "MLI", "MMR", "MNG", "MAC", "MNP", "MTQ", "MRT", "MSR",
+                /*"MT",  "MU",  "MV",  "MW",  "MX",  "MY",  "MZ",  "NA",     */
+                "MLT", "MUS", "MDV", "MWI", "MEX", "MYS", "MOZ", "NAM",
+                /*"NC",  "NE",  "NF",  "NG",  "NI",  "NL",  "NO",  "NP",     */
+                "NCL", "NER", "NFK", "NGA", "NIC", "NLD", "NOR", "NPL",
+                /*"NR",  "NU",  "NZ",  "OM",  "PA",  "PE",  "PF",  "PG",     */
+                "NRU", "NIU", "NZL", "OMN", "PAN", "PER", "PYF", "PNG",
+                /*"PH",  "PK",  "PL",  "PM",  "PN",  "PR",  "PS",  "PT",     */
+                "PHL", "PAK", "POL", "SPM", "PCN", "PRI", "PSE", "PRT",
+                /*"PW",  "PY",  "QA",  "RE",  "RO",  "RU",  "RW",  "SA",     */
+                "PLW", "PRY", "QAT", "REU", "ROU", "RUS", "RWA", "SAU",
+                /*"SB",  "SC",  "SD",  "SE",  "SG",  "SH",  "SI",  "SJ",     */
+                "SLB", "SYC", "SDN", "SWE", "SGP", "SHN", "SVN", "SJM",
+                /*"SK",  "SL",  "SM",  "SN",  "SO",  "SR",  "ST",  "SV",     */
+                "SVK", "SLE", "SMR", "SEN", "SOM", "SUR", "STP", "SLV",
+                /*"SY",  "SZ",  "TC",  "TD",  "TF",  "TG",  "TH",  "TJ",     */
+                "SYR", "SWZ", "TCA", "TCD", "ATF", "TGO", "THA", "TJK",
+                /*"TK",  "TL",  "TM",  "TN",  "TO",  "TR",  "TT",  "TV",     */
+                "TKL", "TLS", "TKM", "TUN", "TON", "TUR", "TTO", "TUV",
+                /*"TW",  "TZ",  "UA",  "UG",  "UM",  "US",  "UY",  "UZ",     */
+                "TWN", "TZA", "UKR", "UGA", "UMI", "USA", "URY", "UZB",
+                /*"VA",  "VC",  "VE",  "VG",  "VI",  "VN",  "VU",  "WF",     */
+                "VAT", "VCT", "VEN", "VGB", "VIR", "VNM", "VUT", "WLF",
+                /*"WS",  "YE",  "YT",  "YU",  "ZA",  "ZM",  "ZW",            */
+                "WSM", "YEM", "MYT", "YUG", "ZAF", "ZMB", "ZWE",
+            };
+    
+            String[] tempObsoleteCountries3 = {
+                /*"FX",  "RO",  "TP",  "ZR",   */
+                "FXX", "ROM", "TMP", "ZAR",    
+            };
+
+            synchronized (ULocale.class) {
+                if (_countries == null) {
+                    _countries = tempCountries;
+                    _obsoleteCountries = tempObsoleteCountries;
+                    _countries3 = tempCountries3;
+                    _obsoleteCountries3 = tempObsoleteCountries3;
+                }
+            }
+        }
+    }
+
+    private static String[][] _variantsToKeywords;
+
+    private static void initVariantsTable() {
+        if (_variantsToKeywords == null) {
+            /**
+             * This table lists pairs of locale ids for canonicalization.  The
+             * The first item is the normalized id, the second item is the
+             * canonicalized id.
+             */
+            String[][] tempVariantsToKeywords = {
+//              { EMPTY_STRING,     "en_US_POSIX", null, null }, /* .NET name */
+                { "C",              "en_US_POSIX", null, null }, /* POSIX name */
+                { "art_LOJBAN",     "jbo", null, null }, /* registered name */
+                { "az_AZ_CYRL",     "az_Cyrl_AZ", null, null }, /* .NET name */
+                { "az_AZ_LATN",     "az_Latn_AZ", null, null }, /* .NET name */
+                { "ca_ES_PREEURO",  "ca_ES", "currency", "ESP" },
+                { "cel_GAULISH",    "cel__GAULISH", null, null }, /* registered name */
+                { "de_1901",        "de__1901", null, null }, /* registered name */
+                { "de_1906",        "de__1906", null, null }, /* registered name */
+                { "de__PHONEBOOK",  "de", "collation", "phonebook" },
+                { "de_AT_PREEURO",  "de_AT", "currency", "ATS" },
+                { "de_DE_PREEURO",  "de_DE", "currency", "DEM" },
+                { "de_LU_PREEURO",  "de_LU", "currency", "EUR" },
+                { "el_GR_PREEURO",  "el_GR", "currency", "GRD" },
+                { "en_BOONT",       "en__BOONT", null, null }, /* registered name */
+                { "en_SCOUSE",      "en__SCOUSE", null, null }, /* registered name */
+                { "en_BE_PREEURO",  "en_BE", "currency", "BEF" },
+                { "en_IE_PREEURO",  "en_IE", "currency", "IEP" },
+                { "es__TRADITIONAL", "es", "collation", "traditional" },
+                { "es_ES_PREEURO",  "es_ES", "currency", "ESP" },
+                { "eu_ES_PREEURO",  "eu_ES", "currency", "ESP" },
+                { "fi_FI_PREEURO",  "fi_FI", "currency", "FIM" },
+                { "fr_BE_PREEURO",  "fr_BE", "currency", "BEF" },
+                { "fr_FR_PREEURO",  "fr_FR", "currency", "FRF" },
+                { "fr_LU_PREEURO",  "fr_LU", "currency", "LUF" },
+                { "ga_IE_PREEURO",  "ga_IE", "currency", "IEP" },
+                { "gl_ES_PREEURO",  "gl_ES", "currency", "ESP" },
+                { "hi__DIRECT",     "hi", "collation", "direct" },
+                { "it_IT_PREEURO",  "it_IT", "currency", "ITL" },
+                { "ja_JP_TRADITIONAL", "ja_JP", "calendar", "japanese" },
+//              { "nb_NO_NY",       "nn_NO", null, null },
+                { "nl_BE_PREEURO",  "nl_BE", "currency", "BEF" },
+                { "nl_NL_PREEURO",  "nl_NL", "currency", "NLG" },
+                { "pt_PT_PREEURO",  "pt_PT", "currency", "PTE" },
+                { "sl_ROZAJ",       "sl__ROZAJ", null, null }, /* registered name */
+                { "sr_SP_CYRL",     "sr_Cyrl_SP", null, null }, /* .NET name */
+                { "sr_SP_LATN",     "sr_Latn_SP", null, null }, /* .NET name */
+                { "uz_UZ_CYRL",     "uz_Cyrl_UZ", null, null }, /* .NET name */
+                { "uz_UZ_LATN",     "uz_Latn_UZ", null, null }, /* .NET name */
+                { "zh_CHS",         "zh_Hans", null, null }, /* .NET name */
+                { "zh_CHT",         "zh_Hant", null, null }, /* .NET name */
+                { "zh_GAN",         "zh__GAN", null, null }, /* registered name */
+                { "zh_GUOYU",       "zh", null, null }, /* registered name */
+                { "zh_HAKKA",       "zh__HAKKA", null, null }, /* registered name */
+                { "zh_MIN",         "zh__MIN", null, null }, /* registered name */
+                { "zh_MIN_NAN",     "zh__MINNAN", null, null }, /* registered name */
+                { "zh_WUU",         "zh__WUU", null, null }, /* registered name */
+                { "zh_XIANG",       "zh__XIANG", null, null }, /* registered name */
+                { "zh_YUE",         "zh__YUE", null, null }, /* registered name */
+                { "th_TH_TRADITIONAL", "th_TH", "calendar", "buddhist" },
+                { "zh_TW_STROKE",   "zh_TW", "collation", "stroke" },
+                { "zh__PINYIN",     "zh", "collation", "pinyin" }
+            };
+    
+            synchronized (ULocale.class) {
+                if (_variantsToKeywords == null) {
+                    _variantsToKeywords = tempVariantsToKeywords;
+                }
+            }
+        }
+    }
+
+    /**
+     * Private constructor used by static initializers.
+     */
+    private ULocale(String localeID, Locale locale) {
+        this.localeID = localeID;
+        this.locale = locale;
+    }
+
+    /**
+     * Construct a ULocale object from a {@link java.util.Locale}.
+     * @param loc a JDK locale
+     * @draft ICU 2.8
+     * @internal
+     */
+    private ULocale(Locale loc) {
+        this.localeID = getName(loc.toString());
+        this.locale = loc;
+    }
+
+    /**
+     * Return a ULocale object for a {@link java.util.Locale}.
+     * The ULocale is canonicalized.
+     * @param loc a JDK locale
+     * @draft ICU 3.2
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static ULocale forLocale(Locale loc) {
+        if (loc == null) {
+            return null;
+        }
+        ULocale result = (ULocale)CACHE.get(loc);
+        if (result == null && defaultULocale != null && loc == defaultULocale.locale) {
+            result = defaultULocale;
+        } else {
+            result = new ULocale(loc.toString(), loc);
+        }
+        return result;
+    }
+
+    /**
+     * Construct a ULocale from a RFC 3066 locale ID. The locale ID consists
+     * of optional language, script, country, and variant fields in that order, 
+     * separated by underscores, followed by an optional keyword list.  The
+     * script, if present, is four characters long-- this distinguishes it
+     * from a country code, which is two characters long.  Other fields
+     * are distinguished by position as indicated by the underscores.  The
+     * start of the keyword list is indicated by '@', and consists of one
+     * or more keyword/value pairs separated by commas.
+     * <p>
+     * This constructor does not canonicalize the localeID.
+     * 
+     * @param localeID string representation of the locale, e.g:
+     * "en_US", "sy_Cyrl_YU", "zh__pinyin", "es_ES@currency=EUR,collation=traditional"
+     * @stable ICU 2.8
+     */ 
+    public ULocale(String localeID) {
+        this.localeID = getName(localeID);
+    }
+
+    /**
+     * Convenience overload of ULocale(String, String, String) for 
+     * compatibility with java.util.Locale.
+     * @see #ULocale(String, String, String)
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public ULocale(String a, String b) {
+	this(a, b, null);
+    }
+
+    /**
+     * Construct a ULocale from a localeID constructed from the three 'fields' a, b, and c.  These
+     * fields are concatenated using underscores to form a localeID of
+     * the form a_b_c, which is then handled like the localeID passed
+     * to <code>ULocale(String localeID)</code>.  
+     *
+     * <p>Java locale strings consisting of language, country, and
+     * variant will be handled by this form, since the country code
+     * (being shorter than four letters long) will not be interpreted
+     * as a script code.  If a script code is present, the final
+     * argument ('c') will be interpreted as the country code.  It is
+     * recommended that this constructor only be used to ease porting,
+     * and that clients instead use the single-argument constructor
+     * when constructing a ULocale from a localeID.
+     * @param a first component of the locale id
+     * @param b second component of the locale id
+     * @param c third component of the locale id
+     * @see #ULocale(String)
+     * @draft ICU 3.0 
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public ULocale(String a, String b, String c) {
+        localeID = getName(lscvToID(a, b, c, EMPTY_STRING));
+    }
+
+    /**
+     * Create a ULocale from the id by first canonicalizing the id.
+     * @param nonCanonicalID the locale id to canonicalize
+     * @return the locale created from the canonical version of the ID.
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static ULocale createCanonical(String nonCanonicalID) {
+        return new ULocale(canonicalize(nonCanonicalID), (Locale)null);
+    }
+
+    private static String lscvToID(String lang, String script, String country, String variant) {
+        StringBuffer buf = new StringBuffer();
+     
+        if (lang != null && lang.length() > 0) {
+            buf.append(lang);
+        }
+        if (script != null && script.length() > 0) {
+            buf.append(UNDERSCORE);
+            buf.append(script);
+        }
+        if (country != null && country.length() > 0) {
+            buf.append(UNDERSCORE);
+            buf.append(country);
+        }
+        if (variant != null && variant.length() > 0) {
+            if (country == null || country.length() == 0) {
+                buf.append(UNDERSCORE);
+            }
+            buf.append(UNDERSCORE);
+            buf.append(variant);
+        }
+        return buf.toString();
+    }
+
+    /**
+     * Convert this ULocale object to a {@link java.util.Locale}.
+     * @return a JDK locale that either exactly represents this object
+     * or is the closest approximation.
+     * @stable ICU 2.8
+     */
+    public Locale toLocale() {
+        if (locale == null) {
+            String[] names = new IDParser(localeID).getLanguageScriptCountryVariant();
+            locale = new Locale(names[0], names[2], names[3]);
+        }
+        return locale;
+    }
+    
+    /**
+     * Keep our own default ULocale.
+     */
+    private static ULocale defaultULocale;
+
+    /**
+     * Returns the current default ULocale.
+     * @stable ICU 2.8
+     */ 
+    public static ULocale getDefault() {
+        synchronized (ULocale.class) {
+            Locale defaultLocale = Locale.getDefault();
+            if (defaultULocale == null || defaultULocale.toLocale() != defaultLocale) {
+                defaultULocale = new ULocale(defaultLocale);
+            }
+            return defaultULocale;
+        }
+    }
+
+    /**
+     * Sets the default ULocale.  This also sets the default Locale.
+     * If the caller does not have write permission to the
+     * user.language property, a security exception will be thrown,
+     * and the default ULocale will remain unchanged.
+     * @param newLocale the new default locale
+     * @throws SecurityException
+     *        if a security manager exists and its
+     *        <code>checkPermission</code> method doesn't allow the operation.
+     * @throws NullPointerException if <code>newLocale</code> is null
+     * @see SecurityManager#checkPermission
+     * @see java.util.PropertyPermission
+     * @draft ICU 3.0 
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static synchronized void setDefault(ULocale newLocale){
+        Locale.setDefault(newLocale.toLocale());
+        defaultULocale = newLocale;
+    }
+    
+    /**
+     * This is for compatibility with Locale-- in actuality, since ULocale is
+     * immutable, there is no reason to clone it, so this API returns 'this'.
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public Object clone() {
+        return this;
+    }
+
+    /**
+     * Returns the hashCode.
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public int hashCode() {
+        return localeID.hashCode();
+    }
+    
+    /**
+     * Returns true if the other object is another ULocale with the
+     * same full name, or is a String localeID that matches the full name.
+     * Note that since names are not canonicalized, two ULocales that
+     * function identically might not compare equal.
+     *
+     * @return true if this Locale is equal to the specified object.
+     * @draft ICU 3.0 
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public boolean equals(Object obj) {
+        if (this == obj) {
+            return true;
+        }
+        if (obj instanceof String) {
+            return localeID.equals((String)obj);   
+        }
+        if (obj instanceof ULocale) {
+            return localeID.equals(((ULocale)obj).localeID);
+        }
+        return false;
+    }
+    
+    /**
+     * Returns a list of all installed locales.
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static ULocale[] getAvailableLocales() {
+        return ICUResourceBundle.getAvailableULocales();
+    }
+
+    /**
+     * Returns a list of all 2-letter country codes defined in ISO 3166.
+     * Can be used to create Locales.
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static String[] getISOCountries() {
+        initCountryTables();
+        return (String[])_countries.clone();
+    }
+
+    /**
+     * Returns a list of all 2-letter language codes defined in ISO 639.
+     * Can be used to create Locales.
+     * [NOTE:  ISO 639 is not a stable standard-- some languages' codes have changed.
+     * The list this function returns includes both the new and the old codes for the
+     * languages whose codes have changed.]
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static String[] getISOLanguages() {
+        initLanguageTables();
+        return (String[])_languages.clone();
+    }
+
+    /**
+     * Returns the language code for this locale, which will either be the empty string
+     * or a lowercase ISO 639 code.
+     * @see #getDisplayLanguage
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public String getLanguage() {
+        return getLanguage(localeID);
+    }
+    
+    /**
+     * Returns the language code for the locale ID,
+     * which will either be the empty string
+     * or a lowercase ISO 639 code.
+     * @see #getDisplayLanguage
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static String getLanguage(String localeID) {
+        return new IDParser(localeID).getLanguage();
+    }
+     
+    /**
+     * Returns the script code for this locale, which might be the empty string.
+     * @see #getDisplayScript
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public String getScript() {
+        return getScript(localeID);
+    }
+
+    /**
+     * Returns the script code for the specified locale, which might be the empty string.
+     * @see #getDisplayScript
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static String getScript(String localeID) {
+        return new IDParser(localeID).getScript();
+    }
+    
+    /**
+     * Returns the country/region code for this locale, which will either be the empty string
+     * or an uppercase ISO 3166 2-letter code.
+     * @see #getDisplayCountry
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public String getCountry() {
+        return getCountry(localeID);
+    }
+
+    /**
+     * Returns the country/region code for this locale, which will either be the empty string
+     * or an uppercase ISO 3166 2-letter code.
+     * @param localeID
+     * @see #getDisplayCountry
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static String getCountry(String localeID) {
+        return new IDParser(localeID).getCountry();
+    }
+    
+    /**
+     * Returns the variant code for this locale, which might be the empty string.
+     * @see #getDisplayVariant
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public String getVariant() {
+        return getVariant(localeID);
+    }
+
+    /**
+     * Returns the variant code for the specified locale, which might be the empty string.
+     * @see #getDisplayVariant
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static String getVariant(String localeID) {
+        return new IDParser(localeID).getVariant();
+    }
+
+    /**
+     * Returns the fallback locale for the specified locale, which might be the empty string.
+     * @draft ICU 3.2
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static String getFallback(String localeID) {
+        return getFallbackString(getName(localeID));
+    }
+
+    /**
+     * Returns the fallback locale for this locale.  If this locale is root, returns null.
+     * @draft ICU 3.2
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public ULocale getFallback() {
+        if (localeID.length() == 0 || localeID.charAt(0) == '@') {
+            return null;
+        }
+        return new ULocale(getFallbackString(localeID), (Locale)null);
+    }
+
+    /**
+     * Return the given (canonical) locale id minus the last part before the tags.
+     */
+    private static String getFallbackString(String fallback) {
+        int limit = fallback.indexOf('@');
+        if (limit == -1) {
+            limit = fallback.length();
+        }
+        int start = fallback.lastIndexOf('_', limit);
+        if (start == -1) {
+            start = 0;
+        }
+        return fallback.substring(0, start) + fallback.substring(limit);
+    }
+
+    /**
+     * Returns the (normalized) base name for this locale.
+     * @return the base name as a String.
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public String getBaseName() {
+        return getBaseName(localeID);
+    }
+    
+    /**
+     * Returns the (normalized) base name for the specified locale.
+     * @param localeID the locale ID as a string
+     * @return the base name as a String.
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static String getBaseName(String localeID){
+        return new IDParser(localeID).getBaseName();
+    }
+
+    /**
+     * Returns the (normalized) full name for this locale.
+     *
+     * @return String the full name of the localeID
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */ 
+    public String getName() {
+        return localeID; // always normalized
+    }
+
+    /**
+     * Returns the (normalized) full name for the specified locale.
+     *
+     * @param localeID the localeID as a string
+     * @return String the full name of the localeID
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static String getName(String localeID){
+        return new IDParser(localeID).getName();
+    }
+
+    /**
+     * Returns a string representation of this object.
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public String toString() {
+        return localeID;
+    }
+
+    /**
+     * Returns an iterator over keywords for this locale.  If there 
+     * are no keywords, returns null.
+     * @return iterator over keywords, or null if there are no keywords.
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public Iterator getKeywords() {
+        return getKeywords(localeID);
+    }
+
+    /**
+     * Returns an iterator over keywords for the specified locale.  If there 
+     * are no keywords, returns null.
+     * @return an iterator over the keywords in the specified locale, or null
+     * if there are no keywords.
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static Iterator getKeywords(String localeID){
+        return new IDParser(localeID).getKeywords();
+    }
+
+    /**
+     * Returns the value for a keyword in this locale. If the keyword is not defined, returns null.
+     * @param keywordName name of the keyword whose value is desired. Case insensitive.
+     * @return the value of the keyword, or null.
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public String getKeywordValue(String keywordName){
+        return getKeywordValue(localeID, keywordName);
+    }
+    
+    /**
+     * Returns the value for a keyword in the specified locale. If the keyword is not defined, returns null. 
+     * The locale name does not need to be normalized.
+     * @param keywordName name of the keyword whose value is desired. Case insensitive.
+     * @return String the value of the keyword as a string
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static String getKeywordValue(String localeID, String keywordName) {
+        return new IDParser(localeID).getKeywordValue(keywordName);
+    }
+
+    /**
+     * Utility class to parse and normalize locale ids (including POSIX style)
+     */
+    private static final class IDParser {
+        private char[] id;
+        private int index;
+        private char[] buffer;
+        private int blen;
+        // um, don't handle POSIX ids unless we request it.  why not?  well... because.
+        private boolean canonicalize;
+        private boolean hadCountry;
+
+        // used when canonicalizing
+        Map keywords;
+        String baseName;
+
+        /**
+         * Parsing constants.
+         */
+        private static final char KEYWORD_SEPARATOR     = '@';
+        private static final char HYPHEN                = '-';
+        private static final char KEYWORD_ASSIGN        = '=';
+        private static final char COMMA                 = ',';
+        private static final char ITEM_SEPARATOR        = ';';
+        private static final char DOT                   = '.';
+
+        private IDParser(String localeID) {
+            this(localeID, false);
+        }
+
+        private IDParser(String localeID, boolean canonicalize) {
+            id = localeID.toCharArray();
+            index = 0;
+            buffer = new char[id.length + 5];
+            blen = 0;
+            this.canonicalize = canonicalize;
+        }
+
+        private void reset() {
+            index = blen = 0;
+        }
+
+        // utilities for working on text in the buffer
+
+        /**
+         * Append c to the buffer.
+         */
+        private void append(char c) {
+            try {
+                buffer[blen] = c;
+            }
+            catch (IndexOutOfBoundsException e) {
+                if (buffer.length > 512) {
+                    // something is seriously wrong, let this go
+                    throw e;
+                }
+                char[] nbuffer = new char[buffer.length * 2];
+                System.arraycopy(buffer, 0, nbuffer, 0, buffer.length);
+                nbuffer[blen] = c;
+                buffer = nbuffer;
+            }
+            ++blen;
+        }
+
+        private void addSeparator() {
+            append(UNDERSCORE);
+        }
+
+        /**
+         * Returns the text in the buffer from start to blen as a String.
+         */
+        private String getString(int start) {
+            if (start == blen) {
+                return EMPTY_STRING;
+            }
+            return new String(buffer, start, blen-start);
+        }
+
+        /**
+         * Set the length of the buffer to pos, then append the string.
+         */
+        private void set(int pos, String s) {
+            this.blen = pos; // no safety
+            append(s);
+        }
+
+        /**
+         * Append the string to the buffer.
+         */
+        private void append(String s) {
+            for (int i = 0; i < s.length(); ++i) {
+                append(s.charAt(i));
+            }
+        }
+
+        // utilities for parsing text out of the id
+
+        /**
+         * Character to indicate no more text is available in the id.
+         */
+        private static final char DONE = '\uffff';
+
+        /**
+         * Returns the character at index in the id, and advance index.  The returned character
+         * is DONE if index was at the limit of the buffer.  The index is advanced regardless
+         * so that decrementing the index will always 'unget' the last character returned.
+         */
+        private char next() {
+            if (index == id.length) {
+                index++;
+                return DONE; 
+            }
+
+            return id[index++];
+        }
+
+        /**
+         * Advance index until the next terminator or id separator, and leave it there.
+         */
+        private void skipUntilTerminatorOrIDSeparator() {
+            while (!isTerminatorOrIDSeparator(next())) {
+            }
+            --index;
+        }
+
+        /**
+         * Returns true if the character at index in the id is a terminator.
+         */
+        private boolean atTerminator() {
+            return index >= id.length || isTerminator(id[index]);
+        }
+
+        /**
+         * Returns true if the character is an id separator (underscore or hyphen).
+         */
+        private boolean isIDSeparator(char c) {
+            return c == UNDERSCORE || c == HYPHEN;
+        }
+
+        /**
+         * Returns true if the character is a terminator (keyword separator, dot, or DONE).
+         * Dot is a terminator because of the POSIX form, where dot precedes the codepage.
+         */
+        private boolean isTerminator(char c) {
+            // always terminate at DOT, even if not handling POSIX.  It's an error...
+            return c == KEYWORD_SEPARATOR || c == DONE || c == DOT;
+        }
+
+        /**
+         * Returns true if the character is a terminator or id separator.
+         */
+        private boolean isTerminatorOrIDSeparator(char c) {
+            return c == KEYWORD_SEPARATOR || c == UNDERSCORE || c == HYPHEN || 
+                c == DONE || c == DOT;   
+        }
+
+        /**
+         * Returns true if the start of the buffer has an experimental or private language 
+         * prefix, the pattern '[ixIX][-_].' shows the syntax checked.
+         */
+        private boolean haveExperimentalLanguagePrefix() {
+            if (id.length > 2) {
+                char c = id[1];
+                if (c == HYPHEN || c == UNDERSCORE) {
+                    c = id[0];
+                    return c == 'x' || c == 'X' || c == 'i' || c == 'I';
+                }
+            }
+            return false;
+        }
+
+        /**
+         * Returns true if a value separator occurs at or after index.
+         */
+        private boolean haveKeywordAssign() {
+            // assume it is safe to start from index
+            for (int i = index; i < id.length; ++i) {
+                if (id[i] == KEYWORD_ASSIGN) {
+                    return true;
+                }
+            }
+            return false;
+        }
+
+        /**
+         * Advance index past language, and accumulate normalized language code in buffer.
+         * Index must be at 0 when this is called.  Index is left at a terminator or id 
+         * separator.  Returns the start of the language code in the buffer.
+         */
+        private int parseLanguage() {
+            if (haveExperimentalLanguagePrefix()) {
+                append(Character.toLowerCase(id[0]));
+                append(HYPHEN);
+                index = 2;
+            }
+        
+            char c;
+            while(!isTerminatorOrIDSeparator(c = next())) {
+                append(Character.toLowerCase(c));
+            }
+            --index; // unget
+
+            if (blen == 3) {
+                initLanguageTables();
+
+                /* convert 3 character code to 2 character code if possible *CWB*/
+                String lang = getString(0);
+                int offset = findIndex(_languages3, lang);
+                if (offset >= 0) {
+                    set(0, _languages[offset]);
+                } else {
+                    offset = findIndex(_obsoleteLanguages3, lang);
+                    if (offset >= 0) {
+                        set(0, _obsoleteLanguages[offset]);
+                    }
+                }
+            }
+
+            return 0;
+        }
+
+        /**
+         * Advance index past language.  Index must be at 0 when this is called.  Index
+         * is left at a terminator or id separator.
+         */
+        private void skipLanguage() {
+            if (haveExperimentalLanguagePrefix()) {
+                index = 2;
+            }
+            skipUntilTerminatorOrIDSeparator();
+        }
+
+        /**
+         * Advance index past script, and accumulate normalized script in buffer.
+         * Index must be immediately after the language.
+         * If the item at this position is not a script (is not four characters
+         * long) leave index and buffer unchanged.  Otherwise index is left at
+         * a terminator or id separator.  Returns the start of the script code
+         * in the buffer (this may be equal to the buffer length, if there is no
+         * script).
+         */
+        private int parseScript() {
+            if (!atTerminator()) {
+                int oldIndex = index; // save original index
+                ++index;
+
+                int oldBlen = blen; // get before append hyphen, if we truncate everything is undone
+                char c;
+                while(!isTerminatorOrIDSeparator(c = next())) {
+                    if (blen == oldBlen) { // first pass
+                        addSeparator();
+                        append(Character.toUpperCase(c));
+                    } else {
+                        append(Character.toLowerCase(c));
+                    }
+                }
+                --index; // unget
+
+                /* If it's not exactly 4 characters long, then it's not a script. */
+                if (index - oldIndex != 5) { // +1 to account for separator
+                    index = oldIndex;
+                    blen = oldBlen;
+                } else {
+                    oldBlen++; // index past hyphen, for clients who want to extract just the script
+                }
+
+                return oldBlen;
+            }
+            return blen;
+        }
+
+        /**
+         * Advance index past script.
+         * Index must be immediately after the language and IDSeparator.
+         * If the item at this position is not a script (is not four characters
+         * long) leave index.  Otherwise index is left at a terminator or
+         * id separator.
+         */
+        private void skipScript() {
+            if (!atTerminator()) {
+                int oldIndex = index;
+                ++index;
+
+                skipUntilTerminatorOrIDSeparator();
+                if (index - oldIndex != 5) { // +1 to account for separator
+                    index = oldIndex;
+                }
+            }
+        }
+
+        /**
+         * Advance index past country, and accumulate normalized country in buffer.
+         * Index must be immediately after the script (if there is one, else language)
+         * and IDSeparator.  Return the start of the country code in the buffer.
+         */
+        private int parseCountry() {
+            if (!atTerminator()) {
+                ++index;
+
+                int oldBlen = blen;
+                char c;
+                while (!isTerminatorOrIDSeparator(c = next())) {
+                    if (oldBlen == blen) { // first, add hyphen
+                        hadCountry = true; // we have a country, let variant parsing know
+                        addSeparator();
+                        ++oldBlen; // increment past hyphen
+                    }
+                    append(Character.toUpperCase(c));
+                }
+                --index; // unget
+
+                if (blen - oldBlen == 3) {
+                    initCountryTables();
+
+                    /* convert 3 character code to 2 character code if possible *CWB*/
+                    int offset = findIndex(_countries3, getString(oldBlen));
+                    if (offset >= 0) {
+                        set(oldBlen, _countries[offset]);
+                    } else {
+                        offset = findIndex(_obsoleteCountries3, getString(oldBlen));
+                        if (offset >= 0) {
+                            set(oldBlen, _obsoleteCountries[offset]);
+                        }
+                    }
+                }
+
+                return oldBlen;
+            }
+
+            return blen;
+        }
+
+        /**
+         * Advance index past country.
+         * Index must be immediately after the script (if there is one, else language)
+         * and IDSeparator.
+         */
+        private void skipCountry() {
+            if (!atTerminator()) {
+                ++index;
+                skipUntilTerminatorOrIDSeparator();
+            }
+        }
+
+        /**
+         * Advance index past variant, and accumulate normalized variant in buffer.  This ignores
+         * the codepage information from POSIX ids.  Index must be immediately after the country
+         * or script.  Index is left at the keyword separator or at the end of the text.  Return
+         * the start of the variant code in the buffer.
+         *
+         * In standard form, we can have the following forms:
+         * ll__VVVV
+         * ll_CC_VVVV
+         * ll_Ssss_VVVV
+         * ll_Ssss_CC_VVVV
+         *
+         * This also handles POSIX ids, which can have the following forms (pppp is code page id):
+         * ll_CC.pppp          --> ll_CC
+         * ll_CC.pppp@VVVV     --> ll_CC_VVVV
+         * ll_CC@VVVV          --> ll_CC_VVVV
+         *
+         * We identify this use of '@' in POSIX ids by looking for an '=' following
+         * the '@'.  If there is one, we consider '@' to start a keyword list, instead of
+         * being part of a POSIX id.
+         *
+         * Note:  since it was decided that we want an option to not handle POSIX ids, this
+         * becomes a bit more complex.
+         */
+        private int parseVariant() {
+            int oldBlen = blen;
+
+            boolean start = true;
+            boolean needSeparator = true;
+            boolean skipping = false;
+            char c;
+            while ((c = next()) != DONE) {
+                if (c == DOT) {
+                    start = false;
+                    skipping = true;
+                } else if (c == KEYWORD_SEPARATOR) {
+                    if (haveKeywordAssign()) {
+                        break;
+                    }
+                    skipping = false;
+                    start = false;
+                    needSeparator = true; // add another underscore if we have more text
+                } else if (start) {
+                    start = false;
+                } else if (!skipping) {
+                    if (needSeparator) {
+                        boolean incOldBlen = blen == oldBlen; // need to skip separators
+                        needSeparator = false;
+                        if (incOldBlen && !hadCountry) { // no country, we'll need two
+                            addSeparator();
+                            ++oldBlen; // for sure
+                        }
+                        addSeparator();
+                        if (incOldBlen) { // only for the first separator
+                            ++oldBlen;
+                        }
+                    }
+                    c = Character.toUpperCase(c);
+                    if (c == HYPHEN || c == COMMA) {
+                        c = UNDERSCORE;
+                    }
+                    append(c);
+                }
+            }
+            --index; // unget
+            
+            return oldBlen;
+        }
+
+        // no need for skipvariant, to get the keywords we'll just scan directly for 
+        // the keyword separator
+
+        /**
+         * Returns the normalized language id, or the empty string.
+         */
+        public String getLanguage() {
+            reset();
+            return getString(parseLanguage());
+        }
+   
+        /**
+         * Returns the normalized script id, or the empty string.
+         */
+        public String getScript() {
+            reset();
+            skipLanguage();
+            return getString(parseScript());
+        }
+    
+        /**
+         * return the normalized country id, or the empty string.
+         */
+        public String getCountry() {
+            reset();
+            skipLanguage();
+            skipScript();
+            return getString(parseCountry());
+        }
+
+        /**
+         * Returns the normalized variant id, or the empty string.
+         */
+        public String getVariant() {
+            reset();
+            skipLanguage();
+            skipScript();
+            skipCountry();
+            return getString(parseVariant());
+        }
+
+        /**
+         * Returns the language, script, country, and variant as separate strings.
+         */
+        public String[] getLanguageScriptCountryVariant() {
+            reset();
+            return new String[] {
+                getString(parseLanguage()),
+                getString(parseScript()),
+                getString(parseCountry()),
+                getString(parseVariant())
+            };
+        }
+
+        public void setBaseName(String baseName) {
+            this.baseName = baseName;
+        }
+
+        public void parseBaseName() {
+            if (baseName != null) {
+                set(0, baseName);
+            } else {
+                reset();
+                parseLanguage();
+                parseScript();
+                parseCountry();
+                parseVariant();
+            
+                // catch unwanted trailing underscore after country if there was no variant
+                if (blen > 1 && buffer[blen-1] == UNDERSCORE) {
+                    --blen;
+                }
+            }
+        }
+
+        /**
+         * Returns the normalized base form of the locale id.  The base
+         * form does not include keywords.
+         */
+        public String getBaseName() {
+            if (baseName != null) {
+                return baseName;
+            }
+            parseBaseName();
+            return getString(0);
+        }
+
+        /**
+         * Returns the normalized full form of the locale id.  The full
+         * form includes keywords if they are present.
+         */
+        public String getName() {
+            parseBaseName();
+            parseKeywords();
+            return getString(0);
+        }
+
+        // keyword utilities
+
+        /**
+         * If we have keywords, advance index to the start of the keywords and return true, 
+         * otherwise return false.
+         */
+        private boolean setToKeywordStart() {
+            for (int i = index; i < id.length; ++i) {
+                if (id[i] == KEYWORD_SEPARATOR) {
+                    if (canonicalize) {
+                        for (int j = ++i; j < id.length; ++j) { // increment i past separator for return
+                            if (id[j] == KEYWORD_ASSIGN) {
+                                index = i;
+                                return true;
+                            }
+                        }
+                    } else {
+                        if (++i < id.length) {
+                            index = i;
+                            return true;
+                        }
+                    }
+                    break;
+                }
+            }
+            return false;
+        }
+        
+        private static boolean isDoneOrKeywordAssign(char c) {
+            return c == DONE || c == KEYWORD_ASSIGN;
+        }
+
+        private static boolean isDoneOrItemSeparator(char c) {
+            return c == DONE || c == ITEM_SEPARATOR;
+        }
+
+        private String getKeyword() {
+            int start = index;
+            while (!isDoneOrKeywordAssign(next())) {
+            }
+            --index;
+            return new String(id, start, index-start).trim().toLowerCase();
+        }
+
+        private String getValue() {
+            int start = index;
+            while (!isDoneOrItemSeparator(next())) {
+            }
+            --index;
+            return new String(id, start, index-start).trim(); // leave case alone
+        }
+
+        private Comparator getKeyComparator() {
+            final Comparator comp = new Comparator() {
+                    public int compare(Object lhs, Object rhs) {
+                        return ((String)lhs).compareTo(rhs);
+                    }
+                };
+            return comp;
+        }
+
+        /**
+         * Returns a map of the keywords and values, or null if there are none.
+         */
+        private Map getKeywordMap() {
+            if (keywords == null) {
+                TreeMap m = null;
+                if (setToKeywordStart()) {
+                    // trim spaces and convert to lower case, both keywords and values.
+                    do {
+                        String key = getKeyword();
+                        if (key.length() == 0) {
+                            break;
+                        }
+                        char c = next();
+                        if (c != KEYWORD_ASSIGN) {
+                            // throw new IllegalArgumentException("key '" + key + "' missing a value.");
+                            if (c == DONE) {
+                                break;
+                            } else {
+                                continue;
+                            }
+                        }
+                        String value = getValue();
+                        if (value.length() == 0) {
+                            // throw new IllegalArgumentException("key '" + key + "' missing a value.");
+                            continue;
+                        }
+                        if (m == null) {
+                            m = new TreeMap(getKeyComparator());
+                        } else if (m.containsKey(key)) {
+                            // throw new IllegalArgumentException("key '" + key + "' already has a value.");
+                            continue;
+                        }
+                        m.put(key, value);
+                    } while (next() == ITEM_SEPARATOR);
+                }               
+                keywords = m != null ? m : Collections.EMPTY_MAP;
+            }
+
+            return keywords;
+        }
+
+        /**
+         * Parse the keywords and return start of the string in the buffer.
+         */
+        private int parseKeywords() {
+            int oldBlen = blen;
+            Map m = getKeywordMap();
+            if (!m.isEmpty()) {
+                Iterator iter = m.entrySet().iterator();
+                boolean first = true;
+                while (iter.hasNext()) {
+                    append(first ? KEYWORD_SEPARATOR : ITEM_SEPARATOR);
+                    first = false;
+                    Map.Entry e = (Map.Entry)iter.next();
+                    append((String)e.getKey());
+                    append(KEYWORD_ASSIGN);
+                    append((String)e.getValue());
+                }
+                if (blen != oldBlen) {
+                    ++oldBlen;
+                }
+            }
+            return oldBlen;
+        }
+
+        /**
+         * Returns an iterator over the keywords, or null if we have an empty map.
+         */
+        public Iterator getKeywords() {
+            Map m = getKeywordMap();
+            return m.isEmpty() ? null : m.keySet().iterator();
+        }
+
+        /**
+         * Returns the value for the named keyword, or null if the keyword is not
+         * present.
+         */
+        public String getKeywordValue(String keywordName) {
+            Map m = getKeywordMap();
+            return m.isEmpty() ? null : (String)m.get(keywordName.trim().toLowerCase());
+        }
+
+        /**
+         * Set the keyword value only if it is not already set to something else.
+         */
+        public void defaultKeywordValue(String keywordName, String value) {
+            setKeywordValue(keywordName, value, false);
+        }
+            
+        /**
+         * Set the value for the named keyword, or unset it if value is null.  If
+         * keywordName itself is null, unset all keywords.  If keywordName is not null,
+         * value must not be null.
+         */
+        public void setKeywordValue(String keywordName, String value) {
+            setKeywordValue(keywordName, value, true);
+        }
+
+        /**
+         * Set the value for the named keyword, or unset it if value is null.  If
+         * keywordName itself is null, unset all keywords.  If keywordName is not null,
+         * value must not be null.  If reset is true, ignore any previous value for 
+         * the keyword, otherwise do not change the keyword (including removal of
+         * one or all keywords).
+         */
+        private void setKeywordValue(String keywordName, String value, boolean reset) {
+            if (keywordName == null) {
+                if (reset) {
+                    // force new map, ignore value
+                    keywords = Collections.EMPTY_MAP;
+                }
+            } else {
+                keywordName = keywordName.trim().toLowerCase();
+                if (keywordName.length() == 0) {
+                    throw new IllegalArgumentException("keyword must not be empty");
+                }
+                if (value != null) {
+                    value = value.trim();
+                    if (value.length() == 0) {
+                        throw new IllegalArgumentException("value must not be empty");
+                    }
+                }
+                Map m = getKeywordMap();
+                if (m.isEmpty()) { // it is EMPTY_MAP
+                    if (value != null) {
+                        // force new map
+                        keywords = new TreeMap(getKeyComparator());
+                        keywords.put(keywordName, value.trim());
+                    }
+                } else {
+                    if (reset || !m.containsKey(keywordName)) {
+                        if (value != null) {
+                            m.put(keywordName, value);
+                        } else {
+                            m.remove(keywordName);
+                            if (m.isEmpty()) {
+                                // force new map
+                                keywords = Collections.EMPTY_MAP;
+                            }
+                        }
+                    }
+                }
+            }
+        }
+    }
+
+    /**
+     * linear search of the string array. the arrays are unfortunately ordered by the
+     * two-letter target code, not the three-letter search code, which seems backwards.
+     */
+    private static int findIndex(String[] array, String target){
+        for (int i = 0; i < array.length; i++) {
+            if (target.equals(array[i])) {
+                return i;
+            }
+        }
+        return -1;
+    }    
+
+    /**
+     * Returns the canonical name for the specified locale ID.  This is used to convert POSIX
+     * and other grandfathered IDs to standard ICU form.
+     * @param localeID the locale id
+     * @return the canonicalized id
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static String canonicalize(String localeID){
+        IDParser parser = new IDParser(localeID, true);
+        String baseName = parser.getBaseName();
+        boolean foundVariant = false;
+      
+        // formerly, we always set to en_US_POSIX if the basename was empty, but
+        // now we require that the entire id be empty, so that "@foo=bar"
+        // will pass through unchanged.
+        // {dlf} I'd rather keep "" unchanged.
+        if (localeID.equals("")) {
+            return "";
+//              return "en_US_POSIX";
+        }
+
+        // we have an ID in the form xx_Yyyy_ZZ_KKKKK
+
+        initVariantsTable();
+
+        /* See if this is an already known locale */
+        for (int i = 0; i < _variantsToKeywords.length; i++) {
+            if (_variantsToKeywords[i][0].equals(baseName)) {
+                foundVariant = true;
+
+                String[] vals = _variantsToKeywords[i];
+                parser.setBaseName(vals[1]);
+                if (vals[2] != null) {
+                    parser.defaultKeywordValue(vals[2], vals[3]);
+                }
+                break;
+            }
+        }
+
+        /* convert the Euro variant to appropriate ID */
+        if (!foundVariant) {
+            int idx = baseName.indexOf("_EURO");
+            if (idx > -1) {
+                parser.setBaseName(baseName.substring(0, idx));
+                parser.defaultKeywordValue("currency", "EUR");
+            }
+        }
+
+        /* total mondo hack for Norwegian, fortunately the main NY case is handled earlier */
+        if (!foundVariant) {
+            if (parser.getLanguage().equals("nb") && parser.getVariant().equals("NY")) {
+                parser.setBaseName(lscvToID("nn", parser.getScript(), parser.getCountry(), null));
+            }
+        }
+
+        return parser.getName();
+    }
+    
+    /**
+     * Given a keyword and a value, return a new locale with an updated
+     * keyword and value.  If keyword is null, this removes all keywords from the locale id.
+     * Otherwise, if the value is null, this removes the value for this keyword from the
+     * locale id.  Otherwise, this adds/replaces the value for this keyword in the locale id.
+     * The keyword and value must not be empty.
+     * @param keyword the keyword to add/remove, or null to remove all keywords.
+     * @param value the value to add/set, or null to remove this particular keyword.
+     * @return the updated locale
+     * @draft ICU 3.2
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public ULocale setKeywordValue(String keyword, String value) {
+        return new ULocale(setKeywordValue(localeID, keyword, value), (Locale)null);
+    }
+
+    /**
+     * Given a locale id, a keyword, and a value, return a new locale id with an updated
+     * keyword and value.  If keyword is null, this removes all keywords from the locale id.
+     * Otherwise, if the value is null, this removes the value for this keyword from the
+     * locale id.  Otherwise, this adds/replaces the value for this keyword in the locale id.
+     * The keyword and value must not be empty.
+     * @param localeID the locale id to modify
+     * @param keyword the keyword to add/remove, or null to remove all keywords.
+     * @param value the value to add/set, or null to remove this particular keyword.
+     * @return the updated locale id
+     * @draft ICU 3.2
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static String setKeywordValue(String localeID, String keyword, String value) {
+        IDParser parser = new IDParser(localeID);
+        parser.setKeywordValue(keyword, value);
+        return parser.getName();
+    }
+
+    /**
+     * Given a locale id, a keyword, and a value, return a new locale id with an updated
+     * keyword and value, if the keyword does not already have a value.  The keyword and
+     * value must not be null or empty.
+     * @param localeID the locale id to modify
+     * @param keyword the keyword to add, if not already present
+     * @param value the value to add, if not already present
+     * @return the updated locale id
+     * @internal
+     */
+    private static String defaultKeywordValue(String localeID, String keyword, String value) {
+        IDParser parser = new IDParser(localeID);
+        parser.defaultKeywordValue(keyword, value);
+        return parser.getName();
+    }
+
+    /**
+     * Returns a three-letter abbreviation for this locale's language.  If the locale
+     * doesn't specify a language, returns the empty string.  Otherwise, returns
+     * a lowercase ISO 639-2/T language code.
+     * The ISO 639-2 language codes can be found on-line at
+     *   <a href="ftp://dkuug.dk/i18n/iso-639-2.txt"><code>ftp://dkuug.dk/i18n/iso-639-2.txt</code></a>
+     * @exception MissingResourceException Throws MissingResourceException if the
+     * three-letter language abbreviation is not available for this locale.
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public String getISO3Language(){
+        return getISO3Language(localeID);
+    }
+
+    /**
+     * Returns a three-letter abbreviation for this locale's language.  If the locale
+     * doesn't specify a language, returns the empty string.  Otherwise, returns
+     * a lowercase ISO 639-2/T language code.
+     * The ISO 639-2 language codes can be found on-line at
+     *   <a href="ftp://dkuug.dk/i18n/iso-639-2.txt"><code>ftp://dkuug.dk/i18n/iso-639-2.txt</code></a>
+     * @exception MissingResourceException Throws MissingResourceException if the
+     * three-letter language abbreviation is not available for this locale.
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static String getISO3Language(String localeID){
+        initLanguageTables();
+
+        String language = getLanguage(localeID);
+        int offset = findIndex(_languages, language);
+        if(offset>=0){
+            return _languages3[offset];
+        } else {
+            offset = findIndex(_obsoleteLanguages, language);
+            if (offset >= 0) {
+                return _obsoleteLanguages3[offset];
+            }
+        }
+        return EMPTY_STRING;
+    }
+    
+    /**
+     * Returns a three-letter abbreviation for this locale's country/region.  If the locale
+     * doesn't specify a country, returns the empty string.  Otherwise, returns
+     * an uppercase ISO 3166 3-letter country code.
+     * @exception MissingResourceException Throws MissingResourceException if the
+     * three-letter country abbreviation is not available for this locale.
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public String getISO3Country(){
+        return getISO3Country(localeID);
+    }
+    /**
+     * Returns a three-letter abbreviation for this locale's country/region.  If the locale
+     * doesn't specify a country, returns the empty string.  Otherwise, returns
+     * an uppercase ISO 3166 3-letter country code.
+     * @exception MissingResourceException Throws MissingResourceException if the
+     * three-letter country abbreviation is not available for this locale.
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static String getISO3Country(String localeID){
+        initCountryTables();
+
+        String country = getCountry(localeID);
+        int offset = findIndex(_countries, country);
+        if(offset>=0){
+            return _countries3[offset];
+        }else{
+            offset = findIndex(_obsoleteCountries, country);
+            if(offset>=0){
+                return _obsoleteCountries3[offset];   
+            }
+        }
+        return EMPTY_STRING;
+    }
+    
+    // display names
+
+    /**
+     * Utility to fetch locale display data from resource bundle tables.
+     */
+    private static String getTableString(String tableName, String subtableName, String item, String displayLocaleID) {
+        if (item.length() > 0) {
+            try {
+                ICUResourceBundle bundle = (ICUResourceBundle)UResourceBundle.
+                  getBundleInstance(ICUResourceBundle.ICU_BASE_NAME, displayLocaleID);
+                return getTableString(tableName, subtableName, item, bundle);
+            } catch (Exception e) {
+//              System.out.println("gtsu: " + e.getMessage());
+            }
+        }
+        return item;
+    }
+        
+    /**
+     * Utility to fetch locale display data from resource bundle tables.
+     */
+    private static String getTableString(String tableName, String subtableName, String item, ICUResourceBundle bundle) {
+//      System.out.println("gts table: " + tableName + 
+//                         " subtable: " + subtableName +
+//                         " item: " + item +
+//                         " bundle: " + bundle.getULocale());
+        try {
+            for (;;) {
+                // special case currency
+                if ("currency".equals(subtableName)) {
+                    ICUResourceBundle table = bundle.getWithFallback("Currencies");
+                    table = table.getWithFallback(item);
+                    return table.getString(1);
+                } else {
+                    ICUResourceBundle table = bundle.getWithFallback(tableName);
+                    try {
+                        if (subtableName != null) {
+                            table = table.getWithFallback(subtableName);
+                        }
+                        return table.getStringWithFallback(item);
+                    }
+                    catch (MissingResourceException e) {
+                        String fallbackLocale = table.getWithFallback("Fallback").getString();
+                        if (fallbackLocale.length() == 0) {
+                            fallbackLocale = "root";
+                        }
+//                      System.out.println("bundle: " + bundle.getULocale() + " fallback: " + fallbackLocale);
+                        if(fallbackLocale.equals(table.getULocale().localeID)){
+                            return item;
+                        }
+                        bundle = (ICUResourceBundle)UResourceBundle.getBundleInstance(ICUResourceBundle.ICU_BASE_NAME, 
+                                                                                      fallbackLocale);
+//                          System.out.println("fallback from " + table.getULocale() + " to " + fallbackLocale + 
+//                                             ", got bundle " + bundle.getULocale());
+                    }
+                }
+            }
+        }
+        catch (Exception e) {
+//          System.out.println("gtsi: " + e.getMessage());
+        }
+        return item;
+    }
+
+    /**
+     * Returns this locale's language localized for display in the default locale.
+     * @return the localized language name.
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public String getDisplayLanguage() {
+        return getDisplayLanguageInternal(localeID, getDefault().localeID);
+    }
+
+    /**
+     * Returns this locale's language localized for display in the provided locale.
+     * @param displayLocale the locale in which to display the name.
+     * @return the localized language name.
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public String getDisplayLanguage(ULocale displayLocale) {
+        return getDisplayLanguageInternal(localeID, displayLocale.localeID);
+    }
+    
+    /**
+     * Returns a locale's language localized for display in the provided locale.
+     * This is a cover for the ICU4C API.
+     * @param localeID the id of the locale whose language will be displayed
+     * @param displayLocaleID the id of the locale in which to display the name.
+     * @return the localized language name.
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static String getDisplayLanguage(String localeID, String displayLocaleID) {
+        return getDisplayLanguageInternal(localeID, getName(displayLocaleID));
+    }
+
+    /**
+     * Returns a locale's language localized for display in the provided locale.
+     * This is a cover for the ICU4C API.
+     * @param localeID the id of the locale whose language will be displayed.
+     * @param displayLocale the locale in which to display the name.
+     * @return the localized language name.
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static String getDisplayLanguage(String localeID, ULocale displayLocale) {
+        return getDisplayLanguageInternal(localeID, displayLocale.localeID);
+    }
+
+    // displayLocaleID is canonical, localeID need not be since parsing will fix this.
+    private static String getDisplayLanguageInternal(String localeID, String displayLocaleID) {
+        return getTableString("Languages", null, new IDParser(localeID).getLanguage(), displayLocaleID);
+    }
+    
+    /**
+     * Returns this locale's script localized for display in the default locale.
+     * @return the localized script name.
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public String getDisplayScript() {
+        return getDisplayScriptInternal(localeID, getDefault().localeID);
+    }
+
+    /**
+     * Returns this locale's script localized for display in the provided locale.
+     * @param displayLocale the locale in which to display the name.
+     * @return the localized script name.
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public String getDisplayScript(ULocale displayLocale) {
+        return getDisplayScriptInternal(localeID, displayLocale.localeID);
+    }
+    
+    /**
+     * Returns a locale's script localized for display in the provided locale.
+     * This is a cover for the ICU4C API.
+     * @param localeID the id of the locale whose script will be displayed
+     * @param displayLocaleID the id of the locale in which to display the name.
+     * @return the localized script name.
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static String getDisplayScript(String localeID, String displayLocaleID) {
+        return getDisplayScriptInternal(localeID, getName(displayLocaleID));
+    }
+
+    /**
+     * Returns a locale's script localized for display in the provided locale.
+     * @param localeID the id of the locale whose script will be displayed.
+     * @param displayLocale the locale in which to display the name.
+     * @return the localized script name.
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static String getDisplayScript(String localeID, ULocale displayLocale) {
+        return getDisplayScriptInternal(localeID, displayLocale.localeID);
+    }
+
+    // displayLocaleID is canonical, localeID need not be since parsing will fix this.
+    private static String getDisplayScriptInternal(String localeID, String displayLocaleID) {
+        return getTableString("Scripts", null, new IDParser(localeID).getScript(), displayLocaleID);
+    }
+
+    /**
+     * Returns this locale's country localized for display in the default locale.
+     * @return the localized country name.
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public String getDisplayCountry() {
+        return getDisplayCountryInternal(localeID, getDefault().localeID);
+    }
+    
+    /**
+     * Returns this locale's country localized for display in the provided locale.
+     * @param displayLocale the locale in which to display the name.
+     * @return the localized country name.
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public String getDisplayCountry(ULocale displayLocale){
+        return getDisplayCountryInternal(localeID, displayLocale.localeID);   
+    }
+    
+    /**
+     * Returns a locale's country localized for display in the provided locale.
+     * This is a cover for the ICU4C API.
+     * @param localeID the id of the locale whose country will be displayed
+     * @param displayLocaleID the id of the locale in which to display the name.
+     * @return the localized country name.
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static String getDisplayCountry(String localeID, String displayLocaleID) {
+        return getDisplayCountryInternal(localeID, getName(displayLocaleID));
+    }
+
+    /**
+     * Returns a locale's country localized for display in the provided locale.
+     * This is a cover for the ICU4C API.
+     * @param localeID the id of the locale whose country will be displayed.
+     * @param displayLocale the locale in which to display the name.
+     * @return the localized country name.
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static String getDisplayCountry(String localeID, ULocale displayLocale) {
+        return getDisplayCountryInternal(localeID, displayLocale.localeID);
+    }
+
+    // displayLocaleID is canonical, localeID need not be since parsing will fix this.
+    private static String getDisplayCountryInternal(String localeID, String displayLocaleID) {
+        return getTableString("Countries", null, new IDParser(localeID).getCountry(), displayLocaleID);
+    }
+    
+    /**
+     * Returns this locale's variant localized for display in the default locale.
+     * @return the localized variant name.
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public String getDisplayVariant() {
+        return getDisplayVariantInternal(localeID, getDefault().localeID);   
+    }
+
+    /**
+     * Returns this locale's variant localized for display in the provided locale.
+     * @param displayLocale the locale in which to display the name.
+     * @return the localized variant name.
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public String getDisplayVariant(ULocale displayLocale) {
+        return getDisplayVariantInternal(localeID, displayLocale.localeID);   
+    }
+    
+    /**
+     * Returns a locale's variant localized for display in the provided locale.
+     * This is a cover for the ICU4C API.
+     * @param localeID the id of the locale whose variant will be displayed
+     * @param displayLocaleID the id of the locale in which to display the name.
+     * @return the localized variant name.
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static String getDisplayVariant(String localeID, String displayLocaleID){
+        return getDisplayVariantInternal(localeID, getName(displayLocaleID));
+    }
+    
+    /**
+     * Returns a locale's variant localized for display in the provided locale.
+     * This is a cover for the ICU4C API.
+     * @param localeID the id of the locale whose variant will be displayed.
+     * @param displayLocale the locale in which to display the name.
+     * @return the localized variant name.
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static String getDisplayVariant(String localeID, ULocale displayLocale) {
+        return getDisplayVariantInternal(localeID, displayLocale.localeID);
+    }
+
+    // displayLocaleID is canonical, localeID need not be since parsing will fix this.
+    private static String getDisplayVariantInternal(String localeID, String displayLocaleID) {
+        return getTableString("Variants", null, new IDParser(localeID).getVariant(), displayLocaleID);
+    }
+
+    /**
+     * Returns a keyword localized for display in the default locale.
+     * @param keyword the keyword to be displayed.
+     * @return the localized keyword name.
+     * @see #getKeywords
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static String getDisplayKeyword(String keyword) {
+        return getDisplayKeywordInternal(keyword, getDefault().localeID);   
+    }
+    
+    /**
+     * Returns a keyword localized for display in the specified locale.
+     * @param keyword the keyword to be displayed.
+     * @param displayLocaleID the id of the locale in which to display the keyword.
+     * @return the localized keyword name.
+     * @see #getKeywords
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static String getDisplayKeyword(String keyword, String displayLocaleID) {
+        return getDisplayKeywordInternal(keyword, getName(displayLocaleID));   
+    }
+
+    /**
+     * Returns a keyword localized for display in the specified locale.
+     * @param keyword the keyword to be displayed.
+     * @param displayLocale the locale in which to display the keyword.
+     * @return the localized keyword name.
+     * @see #getKeywords
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static String getDisplayKeyword(String keyword, ULocale displayLocale) {
+        return getDisplayKeywordInternal(keyword, displayLocale.localeID);
+    }
+
+    // displayLocaleID is canonical, localeID need not be since parsing will fix this.
+    private static String getDisplayKeywordInternal(String keyword, String displayLocaleID) {
+        return getTableString("Keys", null, keyword.trim().toLowerCase(), displayLocaleID);
+    }
+
+    /**
+     * Returns a keyword value localized for display in the default locale.
+     * @param keyword the keyword whose value is to be displayed.
+     * @return the localized value name.
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public String getDisplayKeywordValue(String keyword) {
+        return getDisplayKeywordValueInternal(localeID, keyword, getDefault().localeID);
+    }
+    
+    /**
+     * Returns a keyword value localized for display in the specified locale.
+     * @param keyword the keyword whose value is to be displayed.
+     * @param displayLocale the locale in which to display the value.
+     * @return the localized value name.
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public String getDisplayKeywordValue(String keyword, ULocale displayLocale) {
+        return getDisplayKeywordValueInternal(localeID, keyword, displayLocale.localeID);   
+    }
+
+    /**
+     * Returns a keyword value localized for display in the specified locale.
+     * This is a cover for the ICU4C API.
+     * @param localeID the id of the locale whose keyword value is to be displayed.
+     * @param keyword the keyword whose value is to be displayed.
+     * @param displayLocaleID the id of the locale in which to display the value.
+     * @return the localized value name.
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static String getDisplayKeywordValue(String localeID, String keyword, String displayLocaleID) {
+        return getDisplayKeywordValueInternal(localeID, keyword, getName(displayLocaleID));
+    }
+
+    /**
+     * Returns a keyword value localized for display in the specified locale.
+     * This is a cover for the ICU4C API.
+     * @param localeID the id of the locale whose keyword value is to be displayed.
+     * @param keyword the keyword whose value is to be displayed.
+     * @param displayLocale the id of the locale in which to display the value.
+     * @return the localized value name.
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static String getDisplayKeywordValue(String localeID, String keyword, ULocale displayLocale) {
+        return getDisplayKeywordValueInternal(localeID, keyword, displayLocale.localeID);
+    }
+
+    // displayLocaleID is canonical, localeID need not be since parsing will fix this.
+    private static String getDisplayKeywordValueInternal(String localeID, String keyword, String displayLocaleID) {
+        keyword = keyword.trim().toLowerCase();
+        String value = new IDParser(localeID).getKeywordValue(keyword);
+        return getTableString("Types", keyword, value, displayLocaleID);
+    }
+    
+    /**
+     * Returns this locale name localized for display in the default locale.
+     * @return the localized locale name.
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public String getDisplayName() {
+        return getDisplayNameInternal(localeID, getDefault().localeID);
+    }
+    
+    /**
+     * Returns this locale name localized for display in the provided locale.
+     * @param displayLocale the locale in which to display the locale name.
+     * @return the localized locale name.
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public String getDisplayName(ULocale displayLocale) {
+        return getDisplayNameInternal(localeID, displayLocale.localeID);
+    }
+    
+    /**
+     * Returns the locale ID localized for display in the provided locale.
+     * This is a cover for the ICU4C API.
+     * @param localeID the locale whose name is to be displayed.
+     * @param displayLocaleID the id of the locale in which to display the locale name.
+     * @return the localized locale name.
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static String getDisplayName(String localeID, String displayLocaleID) {
+        return getDisplayNameInternal(localeID, getName(displayLocaleID));
+    }
+
+    /**
+     * Returns the locale ID localized for display in the provided locale.
+     * This is a cover for the ICU4C API.
+     * @param localeID the locale whose name is to be displayed.
+     * @param displayLocale the locale in which to display the locale name.
+     * @return the localized locale name.
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static String getDisplayName(String localeID, ULocale displayLocale) {
+        return getDisplayNameInternal(localeID, displayLocale.localeID);
+    }
+
+    // displayLocaleID is canonical, localeID need not be since parsing will fix this.
+    private static String getDisplayNameInternal(String localeID, String displayLocaleID) {
+        // lang
+        // lang (script, country, variant, keyword=value, ...)
+        // script, country, variant, keyword=value, ...
+
+        final String[] tableNames = { "Languages", "Scripts", "Countries", "Variants" };
+
+        ICUResourceBundle bundle = (ICUResourceBundle)UResourceBundle.getBundleInstance(ICUResourceBundle.ICU_BASE_NAME, displayLocaleID);
+
+        StringBuffer buf = new StringBuffer();
+
+        IDParser parser = new IDParser(localeID);
+        String[] names = parser.getLanguageScriptCountryVariant();
+
+        boolean haveLanguage = names[0].length() > 0;
+        boolean openParen = false;
+        for (int i = 0; i < names.length; ++i) {
+            String name = names[i];
+            if (name.length() > 0) {
+                name = getTableString(tableNames[i], null, name, bundle);
+                if (buf.length() > 0) { // need a separator
+                    if (haveLanguage & !openParen) {
+                        buf.append(" (");
+                        openParen = true;
+                    } else {
+                        buf.append(", ");
+                    }
+                }
+                buf.append(name);
+            }
+        }
+
+        Map m = parser.getKeywordMap();
+        if (!m.isEmpty()) {
+            Iterator keys = m.entrySet().iterator();
+            while (keys.hasNext()) {
+                if (buf.length() > 0) {
+                    if (haveLanguage & !openParen) {
+                        buf.append(" (");
+                        openParen = true;
+                    } else {
+                        buf.append(", ");
+                    }
+                }
+                Map.Entry e = (Map.Entry)keys.next();
+                String key = (String)e.getKey();
+                String val = (String)e.getValue();
+                buf.append(getTableString("Keys", null, key, bundle));
+                buf.append("=");
+                buf.append(getTableString("Types", key, val, bundle));
+            }
+        }
+
+        if (openParen) {
+            buf.append(")");
+        }
+            
+        return buf.toString();
+    }
+
+    /** 
+     * Selector for <tt>getLocale()</tt> indicating the locale of the
+     * resource containing the data.  This is always at or above the
+     * valid locale.  If the valid locale does not contain the
+     * specific data being requested, then the actual locale will be
+     * above the valid locale.  If the object was not constructed from
+     * locale data, then the valid locale is <i>null</i>.
+     *
+     * @draft ICU 2.8 (retain)
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static Type ACTUAL_LOCALE = new Type(0);
+ 
+    /** 
+     * Selector for <tt>getLocale()</tt> indicating the most specific
+     * locale for which any data exists.  This is always at or above
+     * the requested locale, and at or below the actual locale.  If
+     * the requested locale does not correspond to any resource data,
+     * then the valid locale will be above the requested locale.  If
+     * the object was not constructed from locale data, then the
+     * actual locale is <i>null</i>.
+     *
+     * <p>Note: The valid locale will be returned correctly in ICU
+     * 3.0 or later.  In ICU 2.8, it is not returned correctly.
+     * @draft ICU 2.8 (retain)
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */ 
+    public static Type VALID_LOCALE = new Type(1);
+    
+    /**
+     * Opaque selector enum for <tt>getLocale()</tt>.
+     * @see com.ibm.icu.util.ULocale
+     * @see com.ibm.icu.util.ULocale#ACTUAL_LOCALE
+     * @see com.ibm.icu.util.ULocale#VALID_LOCALE
+     * @draft ICU 2.8 (retainAll)
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final class Type {
+        private int localeType;
+        private Type(int type) { localeType = type; }
+    }
+    
+    
+  /**
+    * Based on a HTTP formatted list of acceptable locales, determine an available locale for the user.
+    * NullPointerException is thrown if acceptLanguageList or availableLocales is
+    * null.  If fallback is non-null, it will contain true if a fallback locale (one
+    * not in the acceptLanguageList) was returned.  The value on entry is ignored. 
+    * ULocale will be one of the locales in availableLocales, or the ROOT ULocale if
+    * if a ROOT locale was used as a fallback (because nothing else in
+    * availableLocales matched).  No ULocale array element should be null; behavior
+    * is undefined if this is the case.
+    * @param acceptLanguageList list in HTTP "Accept-Language:" format of acceptable locales
+    * @param availableLocales list of available locales. One of these will be returned.
+    * @param fallback if non-null, a 1-element array containing a boolean to be set with the fallback status
+    * @return one of the locales from the availableLocales list, or null if none match
+    * @draft ICU 3.4
+    * @deprecated This is a draft API and might change in a future release of ICU.
+    */
+
+    public static ULocale acceptLanguage(String acceptLanguageList, ULocale[]
+    availableLocales, boolean[] fallback) {
+        /**
+         * @internal ICU 3.4
+         * @deprecated this is an internal class
+         */
+        class ULocaleAcceptLanguageQ implements Comparable {
+            private double q;
+            private double serial;
+            public ULocaleAcceptLanguageQ(double theq, int theserial) {
+                q = theq;
+                serial = theserial;
+            }
+            public int compareTo(Object o) {
+                ULocaleAcceptLanguageQ other = (ULocaleAcceptLanguageQ) o;
+                if(q > other.q) { // reverse - to sort in descending order
+                    return -1;
+                } else if(q < other.q) {
+                    return 1;
+                }
+                if(serial < other.serial) {
+                    return -1;
+                } else if(serial > other.serial) {
+                    return 1;
+                } else {
+                    return 0; // same object
+                }
+            }
+        }
+
+        // 1st: parse out the acceptLanguageList into an array
+        
+        TreeMap map = new TreeMap();
+        
+        final int l = acceptLanguageList.length();
+        int n;
+        int last=-1;
+        for(n=0;n<l;n++) {
+            int itemEnd = acceptLanguageList.indexOf(',',n);
+            if(itemEnd == -1) {
+                itemEnd = l;
+            }
+            int paramEnd = acceptLanguageList.indexOf(';',n);
+            double q = 1.0;
+ 
+            if((paramEnd != -1) && (paramEnd < itemEnd)) {
+                /* semicolon (;) is closer than end (,) */
+                int t = paramEnd + 1;
+                while(Character.isSpace(acceptLanguageList.charAt(t))) {
+                    t++;
+                }
+                if(acceptLanguageList.charAt(t)=='q') {
+                    t++;
+                }
+                while(Character.isSpace(acceptLanguageList.charAt(t))) {
+                    t++;
+                }
+                if(acceptLanguageList.charAt(t)=='=') {
+                    t++;
+                }
+                while(Character.isSpace(acceptLanguageList.charAt(t))) {
+                    t++;
+                }
+                try {
+                    String val = acceptLanguageList.substring(t,itemEnd).trim();
+                    q = Double.parseDouble(val);
+                } catch (NumberFormatException nfe) {
+                    q = 1.0;
+                }
+            } else {
+                q = 1.0; //default
+                paramEnd = itemEnd;
+            }
+
+            String loc = acceptLanguageList.substring(n,paramEnd).trim();
+            int serial = map.size();
+            ULocaleAcceptLanguageQ entry = new ULocaleAcceptLanguageQ(q,serial);
+            map.put(entry, new ULocale(canonicalize(loc))); // sort in reverse order..   1.0, 0.9, 0.8 .. etc
+            n = itemEnd; // get next item. (n++ will skip over delimiter)
+        }
+        
+        // 2. pull out the map 
+        ULocale acceptList[] = (ULocale[])map.values().toArray(new ULocale[map.size()]);
+        
+        // 3. call the real function
+        return acceptLanguage(acceptList, availableLocales, fallback);
+    }
+    
+   /**
+    * Based on a list of acceptable locales, determine an available locale for the user.
+    * NullPointerException is thrown if acceptLanguageList or availableLocales is
+    * null.  If fallback is non-null, it will contain true if a fallback locale (one
+    * not in the acceptLanguageList) was returned.  The value on entry is ignored. 
+    * ULocale will be one of the locales in availableLocales, or the ROOT ULocale if
+    * if a ROOT locale was used as a fallback (because nothing else in
+    * availableLocales matched).  No ULocale array element should be null; behavior
+    * is undefined if this is the case.
+    * @param acceptLanguageList list of acceptable locales
+    * @param availableLocales list of available locales. One of these will be returned.
+    * @param fallback if non-null, a 1-element array containing a boolean to be set with the fallback status
+    * @return one of the locales from the availableLocales list, or null if none match
+    * @draft ICU 3.4
+    * @deprecated This is a draft API and might change in a future release of ICU.
+    */
+
+    public static ULocale acceptLanguage(ULocale[] acceptLanguageList, ULocale[]
+    availableLocales, boolean[] fallback) {
+        // fallbacklist
+        int i,j;
+        if(fallback != null) {
+            fallback[0]=true;
+        }
+        for(i=0;i<acceptLanguageList.length;i++) {
+            ULocale aLocale = acceptLanguageList[i];
+            boolean[] setFallback = fallback;
+            do {
+                for(j=0;j<availableLocales.length;j++) {
+                    if(availableLocales[j].equals(aLocale)) {
+                        if(setFallback != null) {
+                            setFallback[0]=false; // first time with this locale - not a fallback.
+                        }
+                        return availableLocales[j];
+                    }
+                }
+                Locale loc = aLocale.toLocale();
+                Locale parent = LocaleUtility.fallback(loc);
+                if(parent != null) {
+                    aLocale = new ULocale(parent);
+                } else {
+                    aLocale = null;
+                }
+                setFallback = null; // Do not set fallback in later iterations
+            } while (aLocale != null);
+        }
+        return null;
+    }
+
+   /**
+    * Based on a HTTP formatted list of acceptable locales, determine an available locale for the user.
+    * NullPointerException is thrown if acceptLanguageList or availableLocales is
+    * null.  If fallback is non-null, it will contain true if a fallback locale (one
+    * not in the acceptLanguageList) was returned.  The value on entry is ignored. 
+    * ULocale will be one of the locales in availableLocales, or the ROOT ULocale if
+    * if a ROOT locale was used as a fallback (because nothing else in
+    * availableLocales matched).  No ULocale array element should be null; behavior
+    * is undefined if this is the case.
+    * This function will choose a locale from the ULocale.getAvailableLocales() list as available.
+    * @param acceptLanguageList list in HTTP "Accept-Language:" format of acceptable locales
+    * @param fallback if non-null, a 1-element array containing a boolean to be set with the fallback status
+    * @return one of the locales from the ULocale.getAvailableLocales() list, or null if none match
+    * @draft ICU 3.4
+    * @deprecated This is a draft API and might change in a future release of ICU.
+    */
+
+    public static ULocale acceptLanguage(String acceptLanguageList, boolean[] fallback) {
+        return acceptLanguage(acceptLanguageList, ULocale.getAvailableLocales(),
+                				fallback);
+    }
+
+   /**
+    * Based on an ordered array of acceptable locales, determine an available locale for the user.
+    * NullPointerException is thrown if acceptLanguageList or availableLocales is
+    * null.  If fallback is non-null, it will contain true if a fallback locale (one
+    * not in the acceptLanguageList) was returned.  The value on entry is ignored. 
+    * ULocale will be one of the locales in availableLocales, or the ROOT ULocale if
+    * if a ROOT locale was used as a fallback (because nothing else in
+    * availableLocales matched).  No ULocale array element should be null; behavior
+    * is undefined if this is the case.
+    * This function will choose a locale from the ULocale.getAvailableLocales() list as available.
+    * @param acceptLanguageList ordered array of acceptable locales (preferred are listed first)
+    * @param fallback if non-null, a 1-element array containing a boolean to be set with the fallback status
+    * @return one of the locales from the ULocale.getAvailableLocales() list, or null if none match
+    * @draft ICU 3.4
+    * @deprecated This is a draft API and might change in a future release of ICU.
+    */
+
+    public static ULocale acceptLanguage(ULocale[] acceptLanguageList, boolean[]
+    fallback) {
+        return acceptLanguage(acceptLanguageList, ULocale.getAvailableLocales(),
+				fallback);
+    }    
+    
+}
diff --git a/src/com/ibm/icu/util/UResourceBundle.java b/src/com/ibm/icu/util/UResourceBundle.java
new file mode 100644
index 0000000..443a968
--- /dev/null
+++ b/src/com/ibm/icu/util/UResourceBundle.java
@@ -0,0 +1,491 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2004-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+package com.ibm.icu.util;
+
+import java.lang.ref.SoftReference;
+import java.util.HashMap;
+import java.util.Locale;
+import java.util.Map;
+import java.util.MissingResourceException;
+import java.util.ResourceBundle;
+
+import com.ibm.icu.impl.ICUResourceBundle;
+import com.ibm.icu.impl.ICUResourceBundleReader;
+import com.ibm.icu.impl.ResourceBundleWrapper;
+import com.ibm.icu.util.ULocale;
+
+/**
+ * A class representing a collection of resource information pertaining to a given
+ * locale. A resource bundle provides a way of accessing locale- specfic information in
+ * a data file. You create a resource bundle that manages the resources for a given
+ * locale and then ask it for individual resources.
+ * <P>
+ * In ResourceBundle class, an object is created 
+ * and the sub items are fetched using getString, getObject methods. 
+ * In UResourceBundle,each individual element of a resource is a resource by itself.
+ * 
+ * <P>
+ * Resource bundles in ICU are currently defined using text files which conform to the following
+ * <a href="http://oss.software.ibm.com/cvs/icu/~checkout~/icuhtml/design/bnf_rb.txt">BNF definition</a>.
+ * More on resource bundle concepts and syntax can be found in the 
+ * <a href="http://icu.sourceforge.net/userguide/ResourceManagement.html">Users Guide</a>.
+ * <P>
+ * 
+ * The packaging of ICU *.res files can be of two types
+ * ICU4C:
+ * <code>
+ *       root.res
+ *         |
+ *      --------
+ *     |        |
+ *   fr.res  en.res
+ *     |
+ *   --------
+ *  |        |
+ * fr_CA.res fr_FR.res     
+ * </code>
+ * JAVA/JDK:
+ * <code>
+ *    LocaleElements.res
+ *         |
+ *      -------------------
+ *     |                   |
+ * LocaleElements_fr.res  LocaleElements_en.res
+ *     |
+ *   ---------------------------
+ *  |                            |
+ * LocaleElements_fr_CA.res   LocaleElements_fr_FR.res
+ * </code>
+ * Depending on the organization of your resources, the syntax to getBundleInstance will change.
+ * To open ICU style organization use:
+ * <code>
+ *      UResourceBundle bundle = UResourceBundle.getBundleInstance("com/ibm/icu/impl/data/icudt30b", "en_US");
+ * </code>
+ * To open Java/JDK style organization use:
+ * <code>
+ *      UResourceBundle bundle = UResourceBundle.getBundleInstance("com.ibm.icu.impl.data.LocaleElements", "en_US");
+ * </code>
+ * @draft ICU 3.0
+ * @deprecated This is a draft API and might change in a future release of ICU.
+ * @author ram
+ */
+public abstract class UResourceBundle extends ResourceBundle{
+
+    
+    /**
+     * Creates a resource bundle using the specified base name and locale.
+     * ICU_DATA_CLASS is used as the default root.
+     * @param baseName the base name of the resource bundle, a fully qualified class name
+     * @param localeName the locale for which a resource bundle is desired
+     * @exception MissingResourceException
+     *     if no resource bundle for the specified base name can be found
+     * @return a resource bundle for the given base name and locale
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final UResourceBundle getBundleInstance(String baseName, String localeName){
+        return getBundleInstance(baseName, localeName, ICUResourceBundle.ICU_DATA_CLASS_LOADER, false);
+    }
+    
+    /**
+     * Creates a resource bundle using the specified base name, locale, and class root.
+     *
+     * @param baseName the base name of the resource bundle, a fully qualified class name
+     * @param localeName the locale for which a resource bundle is desired
+     * @param root the class object from which to load the resource bundle
+     * @exception MissingResourceException
+     *     if no resource bundle for the specified base name can be found
+     * @return a resource bundle for the given base name and locale
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final UResourceBundle getBundleInstance(String baseName, String localeName, ClassLoader root){
+        return getBundleInstance(baseName, localeName, root, false);
+    }
+    
+    /**
+     * Creates a resource bundle using the specified base name, locale, and class root.
+     *
+     * @param baseName the base name of the resource bundle, a fully qualified class name
+     * @param localeName the locale for which a resource bundle is desired
+     * @param root the class object from which to load the resource bundle
+     * @param disableFallback Option to disable locale inheritence. 
+     *                          If true the fallback chain will not be built.
+     * @exception MissingResourceException
+     *     if no resource bundle for the specified base name can be found
+     * @return a resource bundle for the given base name and locale
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     * 
+     */    
+    protected static UResourceBundle getBundleInstance(String baseName, String localeName, ClassLoader root, boolean disableFallback){
+        return instantiateBundle(baseName, localeName, root, disableFallback);   
+    }
+    
+
+    /**
+     * Sole constructor.  (For invocation by subclass constructors, typically
+     * implicit.)  This is public for compatibility with Java, whose compiler
+     * will generate public default constructors for an abstract class.
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public UResourceBundle() {   
+    }
+    
+    /**
+     * Creates a UResourceBundle for the locale specified, from which users can extract resources by using
+     * their corresponding keys.
+     * @param locale  specifies the locale for which we want to open the resource.
+     *                If null the bundle for default locale is opened.              
+     * @return a resource bundle for the given locale               
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final UResourceBundle getBundleInstance(ULocale locale){
+        if(locale==null){
+            locale = ULocale.getDefault();   
+        }
+        return getBundleInstance( ICUResourceBundle.ICU_BASE_NAME, locale.toString(), ICUResourceBundle.ICU_DATA_CLASS_LOADER );   
+    }
+    /**
+     * Creates a UResourceBundle for the default locale and specified base name,
+     * from which users can extract resources by using their corresponding keys.
+     * @param baseName  specifies the locale for which we want to open the resource.
+     *                If null the bundle for default locale is opened.              
+     * @return a resource bundle for the given base name and default locale              
+     * @draft ICU 3.0 
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */    
+    public static final UResourceBundle getBundleInstance(String baseName){
+        return getBundleInstance( baseName, ULocale.getDefault().toString(), ICUResourceBundle.ICU_DATA_CLASS_LOADER );
+    }
+    /**
+     * Creates a UResourceBundle for the specified locale and specified base name,
+     * from which users can extract resources by using their corresponding keys.
+     * @param baseName  specifies the locale for which we want to open the resource.
+     *                If null the bundle for default locale is opened.              
+     * @param locale  specifies the locale for which we want to open the resource.
+     *                If null the bundle for default locale is opened.  
+     * @return a resource bundle for the given base name and locale
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+
+    public static final UResourceBundle getBundleInstance(String baseName, Locale locale){
+        return getBundleInstance(baseName, ULocale.forLocale(locale));
+    }
+   
+    /**
+     * Creates a UResourceBundle, from which users can extract resources by using
+     * their corresponding keys.
+     * @param baseName string containing the name of the data package.
+     *                    If null the default ICU package name is used.
+     * @param locale  specifies the locale for which we want to open the resource.
+     *                If null the bundle for default locale is opened.              
+     * @return a resource bundle for the given base name and locale               
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final UResourceBundle getBundleInstance(String baseName, ULocale locale){
+         return getBundleInstance(baseName, locale.toString(),ICUResourceBundle.ICU_DATA_CLASS_LOADER);  
+    }
+    
+
+    /**
+     * Returns the RFC 3066 conformant locale id of this resource bundle. 
+     * This method can be used after a call to getBundleInstance() to
+     * determine whether the resource bundle returned really
+     * corresponds to the requested locale or is a fallback.
+     *
+     * @return the locale of this resource bundle
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public abstract ULocale getULocale(); 
+    
+    /**
+     * Gets the localeID
+     * @return The string representation of the localeID
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    protected abstract String getLocaleID();
+    /**
+     * Gets the base name of the resource bundle
+     * @return The string representation of the base name
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    protected abstract String getBaseName();
+    /**
+     * Gets the parent bundle
+     * @return The parent bundle
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    protected abstract UResourceBundle getParent();
+    
+    
+    /**
+     * Get the locale of this bundle
+     * @return the locale of this resource bundle
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public Locale getLocale(){
+        return getULocale().toLocale();   
+    }
+
+    // Cache for ResourceBundle instantiation
+    private static SoftReference BUNDLE_CACHE;
+
+    private static void addToCache(ResourceCacheKey key, UResourceBundle b) {
+        Map m = null;
+        if (BUNDLE_CACHE != null) {
+            m = (Map)BUNDLE_CACHE.get();
+        }
+        if (m == null) {
+            m = new HashMap();
+            BUNDLE_CACHE = new SoftReference(m);
+        }
+        m.put(key, b);
+    }
+    
+    private static UResourceBundle loadFromCache(ResourceCacheKey key) {
+        if (BUNDLE_CACHE != null) {
+            Map m = (Map)BUNDLE_CACHE.get();
+            if (m != null) {
+                return (UResourceBundle)m.get(key);
+            }
+        }
+        return null;
+    }   
+    
+
+
+    /**
+     * Key used for cached resource bundles.  The key checks
+     * the resource name, the class root, and the default
+     * locale to determine if the resource is a match to the
+     * requested one. The root may be null, but the
+     * searchName and the default locale must have a non-null value.
+     * Note that the default locale may change over time, and
+     * lookup should always be based on the current default
+     * locale (if at all).
+     */
+    private static final class ResourceCacheKey implements Cloneable {
+        private SoftReference loaderRef;
+        private String searchName;
+        private ULocale defaultLocale;
+        private int hashCodeCache;
+        ///CLOVER:OFF
+        public boolean equals(Object other) {
+            if (this == other) {
+                return true;
+            }
+            try {
+                final ResourceCacheKey otherEntry = (ResourceCacheKey) other;
+                //quick check to see if they are not equal
+                if (hashCodeCache != otherEntry.hashCodeCache) {
+                    return false;
+                }
+                //are the names the same?
+                if (!searchName.equals(otherEntry.searchName)) {
+                    return false;
+                }
+                // are the default locales the same?
+                if (defaultLocale == null) {
+                    if (otherEntry.defaultLocale != null) {
+                        return false;
+                    }
+                } else {
+                    if (!defaultLocale.equals(otherEntry.defaultLocale)) {
+                        return false;
+                    }
+                }
+                //are refs (both non-null) or (both null)?
+                if (loaderRef == null) {
+                    return otherEntry.loaderRef == null;
+                } else {
+                    return (otherEntry.loaderRef != null)
+                            && (loaderRef.get() == otherEntry.loaderRef.get());
+                }
+            } catch (NullPointerException e) {
+                return false;
+            } catch (ClassCastException e) {
+                return false;
+            }
+        }
+        public int hashCode() {
+            return hashCodeCache;
+        }
+        public Object clone() {
+            try {
+                return super.clone();
+            } catch (CloneNotSupportedException e) {
+                //this should never happen
+                throw new InternalError();
+            }
+        }
+        ///CLOVER:ON
+        private void setKeyValues(ClassLoader root, String searchName, ULocale defaultLocale) {
+            this.searchName = searchName;
+            hashCodeCache = searchName.hashCode();
+            this.defaultLocale = defaultLocale;
+            if (defaultLocale != null) {
+                hashCodeCache ^= defaultLocale.hashCode();
+            }
+            if (root == null) {
+                this.loaderRef = null;
+            } else {
+                loaderRef = new SoftReference(root);
+                hashCodeCache ^= root.hashCode();
+            }
+        }
+        ///CLOVER:OFF
+        private void clear() {
+            setKeyValues(null, "", null);
+        }
+        ///CLOVER:ON
+    }
+    
+    private static final ResourceCacheKey cacheKey = new ResourceCacheKey();
+    
+
+                             
+    /**
+     * Loads a new resource bundle for the give base name, locale and class loader.
+     * Optionally will disable loading of fallback bundles.
+     * @param baseName the base name of the resource bundle, a fully qualified class name
+     * @param localeName the locale for which a resource bundle is desired
+     * @param root the class object from which to load the resource bundle
+     * @param disableFallback disables loading of fallback lookup chain
+     * @exception MissingResourceException
+     *     if no resource bundle for the specified base name can be found
+     * @return a resource bundle for the given base name and locale
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    protected static synchronized UResourceBundle instantiateBundle(String baseName, String localeName, ClassLoader root, boolean disableFallback){
+        // first try to create an ICUResourceBundle
+        // the expectation is that most client using 
+        // this interface will open an *.res file
+        UResourceBundle b = null;
+        if(disableFallback){
+            ULocale defaultLocale = ULocale.getDefault();
+            String fullName = ICUResourceBundleReader.getFullName(baseName, localeName);
+            cacheKey.setKeyValues(root, fullName, defaultLocale);
+            b = loadFromCache(cacheKey);
+            if(b==null){
+                b =  ICUResourceBundle.createBundle(baseName, localeName, root);
+                cacheKey.setKeyValues(root, fullName, defaultLocale);
+                addToCache(cacheKey, b);
+            }
+        }else{
+            b = instantiateICUResource(baseName,localeName,root);
+        }
+        if(b==null){
+           // we can't find an *.res file .. so fallback to
+           // Java ResourceBundle loadeing 
+           b = new ResourceBundleWrapper(baseName, localeName, root);
+        }
+        if(b==null){
+            throw new MissingResourceException("Could not find the bundle ", baseName,localeName );   
+        }
+        return b;
+    }
+    
+    /**
+     * @internal
+     */
+    protected abstract void setLoadingStatus(int newStatus);
+    
+    /**
+     * Creates a new ICUResourceBundle for the given locale, baseName and class loader
+     * @param baseName the base name of the resource bundle, a fully qualified class name
+     * @param localeID the locale for which a resource bundle is desired
+     * @param root the class object from which to load the resource bundle
+     * @exception MissingResourceException
+     *     if no resource bundle for the specified base name can be found
+     * @return a resource bundle for the given base name and locale
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    //  recursively build bundle
+    protected static UResourceBundle instantiateICUResource(String baseName,String localeID, ClassLoader root){
+        ULocale defaultLocale = ULocale.getDefault();
+        String localeName = ULocale.getBaseName(localeID);
+        String fullName = ICUResourceBundleReader.getFullName(baseName, localeName);
+        cacheKey.setKeyValues(root, fullName, defaultLocale);
+        UResourceBundle b = loadFromCache(cacheKey);
+        // here we assume that java type resource bundle organization
+        // is required then the base name contains '.' else 
+        // the resource organization is of ICU type
+        // so clients can instantiate resources of the type
+        // com.mycompany.data.MyLocaleElements_en.res and 
+        // com.mycompany.data.MyLocaleElements.res
+        //
+        final String rootLocale = (baseName.indexOf('.')==-1) ? "root" : "";
+        final String defaultID = ULocale.getDefault().toString();
+        if(localeName.equals("")){
+            localeName = rootLocale;   
+        }
+        if (b == null) {
+            b = ICUResourceBundle.createBundle(baseName, localeName, root);
+            if(b==null){
+                int i = localeName.lastIndexOf('_');
+                if (i != -1) {
+                    String temp = localeName.substring(0, i);
+                    b = instantiateICUResource(baseName, temp, root);
+                    if(b!=null && b.getULocale().equals(temp)){
+                        b.setLoadingStatus(ICUResourceBundle.FROM_FALLBACK);
+                    }
+                }else{
+                    if(defaultID.indexOf(localeName)==-1){
+                        b = instantiateICUResource(baseName, defaultID, root);
+                        if(b!=null){
+                            b.setLoadingStatus(ICUResourceBundle.FROM_DEFAULT);
+                        }
+                    }else if(rootLocale.length()!=0){
+                        b = ICUResourceBundle.createBundle(baseName, rootLocale, root); 
+                        if(b!=null){
+                            b.setLoadingStatus(ICUResourceBundle.FROM_ROOT);
+                        }
+                    }
+                }
+            }else{
+                localeName = b.getLocaleID();
+                int i = localeName.lastIndexOf('_');
+                cacheKey.setKeyValues(root, fullName, defaultLocale);
+                addToCache(cacheKey, b);
+                UResourceBundle parent = null;
+                if (i != -1) {
+                    parent = instantiateICUResource(baseName, localeName.substring(0, i), root);
+                }else{
+                    parent = ICUResourceBundle.createBundle(baseName, rootLocale, root);   
+                }
+                if(!b.equals(parent)){
+                    b.setParent(parent);
+                }
+            }      
+        }
+        return b;
+    }
+    /*
+    protected static UResourceBundle instantiateResource(String baseName,String localeID, ClassLoader root, boolean required){
+        // first try
+        try{
+        }catch(MissingResourceException e){  
+            if(required){
+                throw e;   
+            }
+        }
+    }
+   */
+}
diff --git a/src/com/ibm/icu/util/UResourceTypeMismatchException.java b/src/com/ibm/icu/util/UResourceTypeMismatchException.java
new file mode 100644
index 0000000..cacee7d
--- /dev/null
+++ b/src/com/ibm/icu/util/UResourceTypeMismatchException.java
@@ -0,0 +1,38 @@
+/*
+******************************************************************************
+* Copyright (C) 2004-2005, International Business Machines Corporation and   *
+* others. All Rights Reserved.                                               *
+******************************************************************************
+*/
+
+package com.ibm.icu.util;
+
+/**
+ * Exception thrown when the requested resource type 
+ * is not the same type as the available resource
+ * @author ram
+ * @draft ICU 3.0
+ * @deprecated This is a draft API and might change in a future release of ICU.
+ */
+public class UResourceTypeMismatchException extends RuntimeException {
+    
+    /**
+     * Constuct the exception with the given message
+     * @param msg the error message for this exception
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public UResourceTypeMismatchException(String msg){
+        super(msg);       
+    }
+    /*
+     * Returns the error message stored in this exception
+     * @return String the error message string
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     *
+    public String toString(){
+        return message;   
+    }
+    */
+}
diff --git a/src/com/ibm/icu/util/UniversalTimeScale.java b/src/com/ibm/icu/util/UniversalTimeScale.java
new file mode 100644
index 0000000..22a49a5
--- /dev/null
+++ b/src/com/ibm/icu/util/UniversalTimeScale.java
@@ -0,0 +1,805 @@
+/*
+ *********************************************************************************
+ * Copyright (C) 2004 - 2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                  *
+ *********************************************************************************
+ *
+ */
+
+package com.ibm.icu.util;
+
+import com.ibm.icu.math.BigDecimal;
+import com.ibm.icu.text.MessageFormat;
+import java.lang.IllegalArgumentException;
+
+/** 
+ * There are quite a few different conventions for binary datetime, depending on different
+ * platforms and protocols. Some of these have severe drawbacks. For example, people using
+ * Unix time (seconds since Jan 1, 1970) think that they are safe until near the year 2038.
+ * But cases can and do arise where arithmetic manipulations causes serious problems. Consider
+ * the computation of the average of two datetimes, for example: if one calculates them with
+ * <code>averageTime = (time1 + time2)/2</code>, there will be overflow even with dates
+ * around the present. Moreover, even if these problems don't occur, there is the issue of
+ * conversion back and forth between different systems.
+ *
+ * <p>
+ * Binary datetimes differ in a number of ways: the datatype, the unit,
+ * and the epoch (origin). We'll refer to these as time scales. For example:
+ *
+ * <table border="1" cellspacing="0" cellpadding="4">
+ *  <caption>
+ *    <h3>Table 1: Binary Time Scales</h3>
+ *
+ *  </caption>
+ *  <tr>
+ *    <th align="left">Source</th>
+ *    <th align="left">Datatype</th>
+ *    <th align="left">Unit</th>
+ *    <th align="left">Epoch</th>
+ *  </tr>
+ *
+ *  <tr>
+ *    <td>JAVA_TIME</td>
+ *    <td>long</td>
+ *    <td>milliseconds</td>
+ *    <td>Jan 1, 1970</td>
+ *  </tr>
+ *  <tr>
+ *
+ *    <td>UNIX_TIME</td>
+ *    <td>int or long</td>
+ *    <td>seconds</td>
+ *    <td>Jan 1, 1970</td>
+ *  </tr>
+ *  <tr>
+ *    <td>ICU4C</td>
+ *
+ *    <td>double</td>
+ *    <td>milliseconds</td>
+ *    <td>Jan 1, 1970</td>
+ *  </tr>
+ *  <tr>
+ *    <td>WINDOWS_FILE_TIME</td>
+ *    <td>long</td>
+ *
+ *    <td>ticks (100 nanoseconds)</td>
+ *    <td>Jan 1, 1601</td>
+ *  </tr>
+ *  <tr>
+ *    <td>DOTNET_DATE_TIME</td>
+ *    <td>long</td>
+ *    <td>ticks (100 nanoseconds)</td>
+ *
+ *    <td>Jan 1, 0001</td>
+ *  </tr>
+ *  <tr>
+ *    <td>MAC_OLD_TIME</td>
+ *    <td>int</td>
+ *    <td>seconds</td>
+ *    <td>Jan 1, 1904</td>
+ *
+ *  </tr>
+ *  <tr>
+ *    <td>MAC_TIME</td>
+ *    <td>double</td>
+ *    <td>seconds</td>
+ *    <td>Jan 1, 2001</td>
+ *  </tr>
+ *
+ *  <tr>
+ *    <td>EXCEL_TIME</td>
+ *    <td>?</td>
+ *    <td>days</td>
+ *    <td>Dec 31, 1899</td>
+ *  </tr>
+ *  <tr>
+ *
+ *    <td>DB2_TIME</td>
+ *    <td>?</td>
+ *    <td>days</td>
+ *    <td>Dec 31, 1899</td>
+ *  </tr>
+ * </table>
+ *
+ * <p>
+ * All of the epochs start at 00:00 am (the earliest possible time on the day in question),
+ * and are assumed to be UTC.
+ *
+ * <p>
+ * The ranges for different datatypes are given in the following table (all values in years).
+ * The range of years includes the entire range expressible with positive and negative
+ * values of the datatype. The range of years for double is the range that would be allowed
+ * without losing precision to the corresponding unit.
+ *
+ * <table border="1" cellspacing="0" cellpadding="4">
+ *  <tr>
+ *    <th align="left">Units</th>
+ *    <th align="left">long</th>
+ *    <th align="left">double</th>
+ *    <th align="left">int</th>
+ *  </tr>
+ *
+ *  <tr>
+ *    <td>1 sec</td>
+ *    <td align="right">5.84542&#xD7;10&#xB9;&#xB9;</td>
+ *    <td align="right">285,420,920.94</td>
+ *    <td align="right">136.10</td>
+ *  </tr>
+ *  <tr>
+ *
+ *    <td>1 millisecond</td>
+ *    <td align="right">584,542,046.09</td>
+ *    <td align="right">285,420.92</td>
+ *    <td align="right">0.14</td>
+ *  </tr>
+ *  <tr>
+ *    <td>1 microsecond</td>
+ *
+ *    <td align="right">584,542.05</td>
+ *    <td align="right">285.42</td>
+ *    <td align="right">0.00</td>
+ *  </tr>
+ *  <tr>
+ *    <td>100 nanoseconds (tick)</td>
+ *    <td align="right">58,454.20</td>
+ *    <td align="right">28.54</td>
+ *    <td align="right">0.00</td>
+ *  </tr>
+ *  <tr>
+ *    <td>1 nanosecond</td>
+ *    <td align="right">584.5420461</td>
+ *    <td align="right">0.2854</td>
+ *    <td align="right">0.00</td>
+ *  </tr>
+ * </table>
+ *
+ * <p>
+ * This class implements a universal time scale which can be used as a 'pivot',
+ * and provide conversion functions to and from all other major time scales.
+ * This datetimes to be converted to the pivot time, safely manipulated,
+ * and converted back to any other datetime time scale.
+ *
+ *<p>
+ * So what to use for this pivot? Java time has plenty of range, but cannot represent
+ * .NET framework <code>System.DateTime</code> vaules without severe loss of precision. ICU4C time addresses this by using a
+ * <code>double</code> that is otherwise equivalent to the Java time. However, there are disadvantages
+ * with <code>doubles</code>. They provide for much more graceful degradation in arithmetic operations.
+ * But they only have 53 bits of accuracy, which means that they will lose precision when
+ * converting back and forth to ticks. What would really be nice would be a
+ * <code>long double</code> (80 bits -- 64 bit mantissa), but that is not supported on most systems.
+ *
+ *<p>
+ * The Unix extended time uses a structure with two components: time in seconds and a
+ * fractional field (microseconds). However, this is clumsy, slow, and
+ * prone to error (you always have to keep track of overflow and underflow in the
+ * fractional field). <code>BigDecimal</code> would allow for arbitrary precision and arbitrary range,
+ * but we would not want to use this as the normal type, because it is slow and does not
+ * have a fixed size.
+ *
+ *<p>
+ * Because of these issues, we ended up concluding that the .NET framework's <code>System.DateTime</code> would be the
+ * best pivot. However, we use the full range allowed by the datatype, allowing for
+ * datetimes back to 29,000 BC and up to 29,000 AD. This time scale is very fine grained,
+ * does not lose precision, and covers a range that will meet almost all requirements.
+ * It will not handle the range that Java times would, but frankly, being able to handle dates
+ * before 29,000 BC or after 29,000 AD is of very limited interest. However, for those cases,
+ * we also allow conversion to an optional <code>BigDecimal</code> format that would have arbitrary
+ * precision and range.
+ *
+ * @draft ICU 3.2
+ * @deprecated This is a draft API and might change in a future release of ICU.
+ */
+
+public final class UniversalTimeScale
+{
+    /**
+     * Used in the JDK. Data is a <code>long</code>. Value
+     * is milliseconds since January 1, 1970.
+     *
+     * @draft ICU 3.2
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final int JAVA_TIME = 0;
+
+    /**
+     * Used in Unix systems. Data is an <code>int</code> or a <code>long</code>. Value
+     * is seconds since January 1, 1970.
+     *
+     * @draft ICU 3.2
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final int UNIX_TIME = 1;
+
+    /**
+     * Used in the ICU4C. Data is a <code>double</code>. Value
+     * is milliseconds since January 1, 1970.
+     *
+     * @draft ICU 3.2
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final int ICU4C_TIME = 2;
+
+    /**
+     * Used in Windows for file times. Data is a <code>long</code>. Value
+     * is ticks (1 tick == 100 nanoseconds) since January 1, 1601.
+     *
+     * @draft ICU 3.2
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final int WINDOWS_FILE_TIME = 3;
+
+    /**
+     * Used in the .NET framework's <code>System.DateTime</code> structure.
+     * Data is a <code>long</code>. Value is ticks (1 tick == 100 nanoseconds) since January 1, 0001.
+     *
+     * @draft ICU 3.2
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final int DOTNET_DATE_TIME = 4;
+
+    /**
+     * Used in older Macintosh systems. Data is an <code>int</code>. Value
+     * is seconds since January 1, 1904.
+     *
+     * @draft ICU 3.2
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final int MAC_OLD_TIME = 5;
+
+    /**
+     * Used in the JDK. Data is a <code>double</code>. Value
+     * is milliseconds since January 1, 2001.
+     *
+     * @draft ICU 3.2
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final int MAC_TIME = 6;
+
+    /**
+     * Used in Excel. Data is a <code>?unknown?</code>. Value
+     * is days since December 31, 1899.
+     *
+     * @draft ICU 3.2
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final int EXCEL_TIME = 7;
+
+    /**
+     * Used in DB2. Data is a <code>?unknown?</code>. Value
+     * is days since December 31, 1899.
+     *
+     * @draft ICU 3.2
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final int DB2_TIME = 8;
+    
+    /**
+     * This is the first unused time scale value.
+     *
+     * @draft ICU 3.2
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final int MAX_SCALE = 9;
+    
+    /**
+     * The constant used to select the units value
+     * for a time scale.
+     * 
+     *
+     * @draft ICU 3.2
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final int UNITS_VALUE = 0;
+    
+    /**
+     * The constant used to select the epoch offset value
+     * for a time scale.
+     * 
+     * @see #getTimeScaleValue
+     *
+     * @draft ICU 3.2
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final int EPOCH_OFFSET_VALUE = 1;
+    
+    /**
+     * The constant used to select the minimum from value
+     * for a time scale.
+     * 
+     * @see #getTimeScaleValue
+     *
+     * @draft ICU 3.2
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final int FROM_MIN_VALUE = 2;
+    
+    /**
+     * The constant used to select the maximum from value
+     * for a time scale.
+     * 
+     * @see #getTimeScaleValue
+     *
+     * @draft ICU 3.2
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final int FROM_MAX_VALUE = 3;
+    
+    /**
+     * The constant used to select the minimum to value
+     * for a time scale.
+     * 
+     * @see #getTimeScaleValue
+     *
+     * @draft ICU 3.2
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final int TO_MIN_VALUE = 4;
+    
+    /**
+     * The constant used to select the maximum to value
+     * for a time scale.
+     * 
+     * @see #getTimeScaleValue
+     *
+     * @draft ICU 3.2
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final int TO_MAX_VALUE = 5;
+    
+    /**
+     * The constant used to select the epoch plus one value
+     * for a time scale.
+     * 
+     * NOTE: This is an internal value. DO NOT USE IT. May not
+     * actually be equal to the epoch offset value plus one.
+     * 
+     * @see #getTimeScaleValue
+     *
+     * @draft ICU 3.2
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final int EPOCH_OFFSET_PLUS_1_VALUE = 6;
+    
+    /**
+     * The constant used to select the epoch offset minus one value
+     * for a time scale.
+     * 
+     * NOTE: This is an internal value. DO NOT USE IT. May not
+     * actually be equal to the epoch offset value minus one.
+     * 
+     * @see #getTimeScaleValue
+     *
+     * @internal
+     */
+    public static final int EPOCH_OFFSET_MINUS_1_VALUE = 7;
+    
+    /**
+     * The constant used to select the units round value
+     * for a time scale.
+     * 
+     * NOTE: This is an internal value. DO NOT USE IT.
+     * 
+     * @see #getTimeScaleValue
+     *
+     * @internal
+     */
+    public static final int UNITS_ROUND_VALUE = 8;
+    
+    /**
+     * The constant used to select the minimum safe rounding value
+     * for a time scale.
+     * 
+     * NOTE: This is an internal value. DO NOT USE IT.
+     * 
+     * @see #getTimeScaleValue
+     *
+     * @internal
+     */
+    public static final int MIN_ROUND_VALUE = 9;
+    
+    /**
+     * The constant used to select the maximum safe rounding value
+     * for a time scale.
+     * 
+     * NOTE: This is an internal value. DO NOT USE IT.
+     * 
+     * @see #getTimeScaleValue
+     *
+     * @internal
+     */
+    public static final int MAX_ROUND_VALUE = 10;
+    
+    /**
+     * The number of time scale values.
+     * 
+     * NOTE: This is an internal value. DO NOT USE IT.
+     * 
+     * @see #getTimeScaleValue
+     *
+     * @internal
+     */
+    public static final int MAX_SCALE_VALUE = 11;
+    
+    private static final long ticks        = 1;
+    private static final long microseconds = ticks * 10;
+    private static final long milliseconds = microseconds * 1000;
+    private static final long seconds      = milliseconds * 1000;
+    private static final long minutes      = seconds * 60;
+    private static final long hours        = minutes * 60;
+    private static final long days         = hours * 24;
+    
+    /**
+     * This class holds the data that describes a particular
+     * time scale.
+     *
+     * @internal
+     */
+    private static final class TimeScaleData
+    {
+        TimeScaleData(long theUnits, long theEpochOffset,
+                       long theToMin, long theToMax,
+                       long theFromMin, long theFromMax)
+        {
+            units      = theUnits;
+            unitsRound = theUnits / 2;
+            
+            minRound = Long.MIN_VALUE + unitsRound;
+            maxRound = Long.MAX_VALUE - unitsRound;
+                        
+            epochOffset   = theEpochOffset / theUnits;
+            
+            if (theUnits == 1) {
+                epochOffsetP1 = epochOffsetM1 = epochOffset;
+            } else {
+                epochOffsetP1 = epochOffset + 1;
+                epochOffsetM1 = epochOffset - 1;
+            }
+            
+            toMin = theToMin;
+            toMax = theToMax;
+            
+            fromMin = theFromMin;
+            fromMax = theFromMax;
+        }
+        
+        long units;
+        long epochOffset;
+        long fromMin;
+        long fromMax;
+        long toMin;
+        long toMax;
+        
+        long epochOffsetP1;
+        long epochOffsetM1;
+        long unitsRound;
+        long minRound;
+        long maxRound;
+    }
+    
+    private static final TimeScaleData[] timeScaleTable = {
+            new TimeScaleData(milliseconds, 621357696000000000L, -9223372036854774999L, 9223372036854774999L, -984472973285477L,         860201434085477L), // JAVA_TIME
+            new TimeScaleData(seconds,      621357696000000000L, -9223372036854775808L, 9223372036854775807L, -984472973285L,               860201434085L), // UNIX_TIME
+            new TimeScaleData(milliseconds, 621357696000000000L, -9223372036854774999L, 9223372036854774999L, -984472973285477L,         860201434085477L), // ICU4C_TIME
+            new TimeScaleData(ticks,        504912960000000000L, -8718459076854775808L, 9223372036854775807L, -9223372036854775808L, 8718459076854775807L), // WINDOWS_FILE_TIME
+            new TimeScaleData(ticks,        000000000000000000L, -9223372036854775808L, 9223372036854775807L, -9223372036854775808L, 9223372036854775807L), // DOTNET_DATE_TIME
+            new TimeScaleData(seconds,      600529248000000000L, -9223372036854775808L, 9223372036854775807L, -982390128485L,               862284278885L), // MAC_OLD_TIME
+            new TimeScaleData(seconds,      631140768000000000L, -9223372036854775808L, 9223372036854775807L, -985451280485L,               859223126885L), // MAC_TIME
+            new TimeScaleData(days,         599266944000000000L, -9223372036854775808L, 9223372036854775807L, -11368795L,                        9981603L), // EXCEL_TIME
+            new TimeScaleData(days,         599266944000000000L, -9223372036854775808L, 9223372036854775807L, -11368795L,                        9981603L)  // DB2_TIME
+    };
+    
+    
+    /*
+     * Prevent construction of this class.
+     */
+    private UniversalTimeScale()
+    {
+        // nothing to do
+    }
+    
+    /**
+     * Convert a <code>long</code> datetime from the given time scale to the universal time scale.
+     *
+     * @param otherTime The <code>long</code> datetime
+     * @param timeScale The time scale to convert from
+     * 
+     * @return The datetime converted to the universal time scale
+     *
+     * @draft ICU 3.2
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static long from(long otherTime, int timeScale)
+    {
+        TimeScaleData data = fromRangeCheck(otherTime, timeScale);
+                
+        return (otherTime + data.epochOffset) * data.units;
+    }
+
+    /**
+     * Convert a <code>double</code> datetime from the given time scale to the universal time scale.
+     * All calculations are done using <code>BigDecimal</code> to guarantee that the value
+     * does not go out of range.
+     *
+     * @param otherTime The <code>double</code> datetime
+     * @param timeScale The time scale to convert from
+     * 
+     * @return The datetime converted to the universal time scale
+     *
+     * @draft ICU 3.2
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static BigDecimal bigDecimalFrom(double otherTime, int timeScale)
+    {
+        TimeScaleData data     = getTimeScaleData(timeScale);
+        BigDecimal other       = new BigDecimal(otherTime);
+        BigDecimal units       = new BigDecimal(data.units);
+        BigDecimal epochOffset = new BigDecimal(data.epochOffset);
+        
+        return other.add(epochOffset).multiply(units);
+    }
+
+    /**
+     * Convert a <code>long</code> datetime from the given time scale to the universal time scale.
+     * All calculations are done using <code>BigDecimal</code> to guarantee that the value
+     * does not go out of range.
+     *
+     * @param otherTime The <code>long</code> datetime
+     * @param timeScale The time scale to convert from
+     * 
+     * @return The datetime converted to the universal time scale
+     *
+     * @draft ICU 3.2
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static BigDecimal bigDecimalFrom(long otherTime, int timeScale)
+    {
+        TimeScaleData data     = getTimeScaleData(timeScale);
+        BigDecimal other       = new BigDecimal(otherTime);
+        BigDecimal units       = new BigDecimal(data.units);
+        BigDecimal epochOffset = new BigDecimal(data.epochOffset);
+        
+        return other.add(epochOffset).multiply(units);
+    }
+
+    /**
+     * Convert a <code>BigDecimal</code> datetime from the given time scale to the universal time scale.
+     * All calculations are done using <code>BigDecimal</code> to guarantee that the value
+     * does not go out of range.
+     *
+     * @param otherTime The <code>BigDecimal</code> datetime
+     * @param timeScale The time scale to convert from
+     * 
+     * @return The datetime converted to the universal time scale
+     *
+     * @draft ICU 3.2
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static BigDecimal bigDecimalFrom(BigDecimal otherTime, int timeScale)
+    {
+        TimeScaleData data = getTimeScaleData(timeScale);
+        
+        BigDecimal units = new BigDecimal(data.units);
+        BigDecimal epochOffset = new BigDecimal(data.epochOffset);
+        
+        return otherTime.add(epochOffset).multiply(units);
+    }
+
+    /**
+     * Convert a datetime from the universal time scale stored as a <code>BigDecimal</code> to a
+     * <code>long</code> in the given time scale.
+     *
+     * Since this calculation requires a divide, we must round. The straight forward
+     * way to round by adding half of the divisor will push the sum out of range for values
+     * within have the divisor of the limits of the precision of a <code>long</code>. To get around this, we do
+     * the rounding like this:
+     * 
+     * <p><code>
+     * (universalTime - units + units/2) / units + 1
+     * </code>
+     * 
+     * <p>
+     * (i.e. we subtract units first to guarantee that we'll still be in range when we
+     * add <code>units/2</code>. We then need to add one to the quotent to make up for the extra subtraction.
+     * This simplifies to:
+     * 
+     * <p><code>
+     * (universalTime - units/2) / units - 1
+     * </code>
+     * 
+     * <p>
+     * For negative values to round away from zero, we need to flip the signs:
+     * 
+     * <p><code>
+     * (universalTime + units/2) / units + 1
+     * </code>
+     * 
+     * <p>
+     * Since we also need to subtract the epochOffset, we fold the <code>+/- 1</code>
+     * into the offset value. (i.e. <code>epochOffsetP1</code>, <code>epochOffsetM1</code>.)
+     * 
+     * @param universalTime The datetime in the universal time scale
+     * @param timeScale The time scale to convert to
+     * 
+     * @return The datetime converted to the given time scale
+     *
+     * @draft ICU 3.2
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static long toLong(long universalTime, int timeScale)
+    {
+        TimeScaleData data = toRangeCheck(universalTime, timeScale);
+        
+        if (universalTime < 0) {
+            if (universalTime < data.minRound) {
+                return (universalTime + data.unitsRound) / data.units - data.epochOffsetP1;
+            }
+            
+            return (universalTime - data.unitsRound) / data.units - data.epochOffset;
+        }
+        
+        if (universalTime > data.maxRound) {
+            return (universalTime - data.unitsRound) / data.units - data.epochOffsetM1;
+        }
+        
+        return (universalTime + data.unitsRound) / data.units - data.epochOffset;
+    }
+    
+    /**
+     * Convert a datetime from the universal time scale to a <code>BigDecimal</code> in the given time scale.
+     *
+     * @param universalTime The datetime in the universal time scale
+     * @param timeScale The time scale to convert to
+     * 
+     * @return The datetime converted to the given time scale
+     *
+     * @draft ICU 3.2
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static BigDecimal toBigDecimal(long universalTime, int timeScale)
+    {
+        TimeScaleData data     = getTimeScaleData(timeScale);
+        BigDecimal universal   = new BigDecimal(universalTime);
+        BigDecimal units       = new BigDecimal(data.units);
+        BigDecimal epochOffset = new BigDecimal(data.epochOffset);
+        
+        return universal.divide(units, BigDecimal.ROUND_HALF_UP).subtract(epochOffset);
+    }
+    
+    /**
+     * Convert a datetime from the universal time scale to a <code>BigDecimal</code> in the given time scale.
+     *
+     * @param universalTime The datetime in the universal time scale
+     * @param timeScale The time scale to convert to
+     * 
+     * @return The datetime converted to the given time scale
+     *
+     * @draft ICU 3.2
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static BigDecimal toBigDecimal(BigDecimal universalTime, int timeScale)
+    {
+        TimeScaleData data     = getTimeScaleData(timeScale);
+        BigDecimal units       = new BigDecimal(data.units);
+        BigDecimal epochOffset = new BigDecimal(data.epochOffset);
+        
+        return universalTime.divide(units, BigDecimal.ROUND_HALF_UP).subtract(epochOffset);
+    }
+    
+    /**
+     * Return the <code>TimeScaleData</code> object for the given time
+     * scale.
+     * 
+     * @param scale - the time scale
+     * 
+     * @return the <code>TimeScaleData</code> object for the given time scale
+     * 
+     * @internal
+     */
+    private static TimeScaleData getTimeScaleData(int scale)
+    {
+        if (scale < 0 || scale >= MAX_SCALE) {
+            throw new IllegalArgumentException("scale out of range: " + scale);
+        }
+        
+        return timeScaleTable[scale];
+    }
+    
+    /**
+     * Get a value associated with a particular time scale.
+     * 
+     * @param scale - the time scale
+     * @param value - a constant representing the value to get
+     * 
+     * @return - the value.
+     * 
+     * @draft ICU 3.2
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static long getTimeScaleValue(int scale, int value)
+    {
+        TimeScaleData data = getTimeScaleData(scale);
+        
+        switch (value)
+        {
+        case UNITS_VALUE:
+            return data.units;
+            
+        case EPOCH_OFFSET_VALUE:
+            return data.epochOffset;
+        
+        case FROM_MIN_VALUE:
+            return data.fromMin;
+            
+        case FROM_MAX_VALUE:
+            return data.fromMax;
+            
+        case TO_MIN_VALUE:
+            return data.toMin;
+            
+        case TO_MAX_VALUE:
+            return data.toMax;
+            
+        case EPOCH_OFFSET_PLUS_1_VALUE:
+            return data.epochOffsetP1;
+            
+        case EPOCH_OFFSET_MINUS_1_VALUE:
+            return data.epochOffsetM1;
+            
+        case UNITS_ROUND_VALUE:
+            return data.unitsRound;
+        
+        case MIN_ROUND_VALUE:
+            return data.minRound;
+            
+        case MAX_ROUND_VALUE:
+            return data.maxRound;
+            
+        default:
+            throw new IllegalArgumentException("value out of range: " + value);
+        }
+    }
+    
+    private static TimeScaleData toRangeCheck(long universalTime, int scale)
+    {
+        TimeScaleData data = getTimeScaleData(scale);
+          
+        if (universalTime >= data.toMin && universalTime <= data.toMax) {
+            return data;
+        }
+        
+        throw new IllegalArgumentException("universalTime out of range:" + universalTime);
+    }
+    
+    private static TimeScaleData fromRangeCheck(long otherTime, int scale)
+    {
+        TimeScaleData data = getTimeScaleData(scale);
+          
+        if (otherTime >= data.fromMin && otherTime <= data.fromMax) {
+            return data;
+        }
+        
+        throw new IllegalArgumentException("otherTime out of range:" + otherTime);
+    }
+    
+    /**
+     * Convert a time in the Universal Time Scale into another time
+     * scale. The division used to do the conversion rounds down.
+     * 
+     * NOTE: This is an internal routine used by the tool that
+     * generates the to and from limits. Use it at your own risk.
+     * 
+     * @param universalTime the time in the Universal Time scale
+     * @param timeScale the time scale to convert to
+     * @return the time in the given time scale
+     * 
+     * @internal
+     */
+    public static BigDecimal toBigDecimalTrunc(BigDecimal universalTime, int timeScale)
+    {
+        TimeScaleData data = getTimeScaleData(timeScale);
+        BigDecimal units = new BigDecimal(data.units);
+        BigDecimal epochOffset = new BigDecimal(data.epochOffset);
+        
+        return universalTime.divide(units, BigDecimal.ROUND_DOWN).subtract(epochOffset);
+    }
+}
diff --git a/src/com/ibm/icu/util/ValueIterator.java b/src/com/ibm/icu/util/ValueIterator.java
new file mode 100644
index 0000000..fa3c719
--- /dev/null
+++ b/src/com/ibm/icu/util/ValueIterator.java
@@ -0,0 +1,109 @@
+/*
+******************************************************************************
+* Copyright (C) 1996-2004, International Business Machines Corporation and   *
+* others. All Rights Reserved.                                               *
+******************************************************************************
+*/
+
+package com.ibm.icu.util;
+
+/**
+ * <p>Interface for enabling iteration over sets of <int, Object>, where
+ * int is the sorted integer index in ascending order and Object, its 
+ * associated value.</p>
+ * <p>The ValueIterator allows iterations over integer indexes in the range 
+ * of Integer.MIN_VALUE to Integer.MAX_VALUE inclusive. Implementations of 
+ * ValueIterator should specify their own maximum subrange within the above 
+ * range that is meaningful to its applications.</p>
+ * <p>Most implementations will be created by factory methods, such as the
+ * character name iterator in UCharacter.getNameIterator. See example below.
+ * </p>
+ * Example of use:<br>
+ * <pre>
+ * ValueIterator iterator = UCharacter.getNameIterator();
+ * ValueIterator.Element result = new ValueIterator.Element();
+ * iterator.setRange(UCharacter.MIN_VALUE, UCharacter.MAX_VALUE);
+ * while (iterator.next(result)) {
+ *     System.out.println("Codepoint \\u" + 
+ *                        Integer.toHexString(result.integer) + 
+ *                        " has the character name " + (String)result.value);
+ * }
+ * </pre>
+ * @author synwee
+ * @stable ICU 2.6
+ */
+public interface ValueIterator
+{
+    // public inner class ---------------------------------------------
+    
+    /**
+    * <p>The return result container of each iteration. Stores the next 
+    * integer index and its associated value Object.</p> 
+    * @stable ICU 2.6
+    */
+    public static final class Element
+    {
+        // public data members ----------------------------------------
+        
+        /**
+        * Integer index of the current iteration
+        * @stable ICU 2.6
+        */
+        public int integer;
+        /**
+        * Gets the Object value associated with the integer index.
+        * @stable ICU 2.6
+        */ 
+        public Object value;
+        
+        // public constructor ------------------------------------------
+        
+        /**
+         * Empty default constructor to make javadoc happy
+         * @stable ICU 2.4
+         */
+        public Element()
+        {
+        }
+    }
+    
+    // public methods -------------------------------------------------
+    
+    /**
+    * <p>Gets the next result for this iteration and returns 
+    * true if we are not at the end of the iteration, false otherwise.</p>
+    * <p>If the return boolean is a false, the contents of elements will not
+    * be updated.</p>
+    * @param element for storing the result index and value
+    * @return true if we are not at the end of the iteration, false otherwise.
+    * @see Element
+    * @stable ICU 2.6
+    */
+    public boolean next(Element element);
+    
+    /**
+    * <p>Resets the iterator to start iterating from the integer index 
+    * Integer.MIN_VALUE or X if a setRange(X, Y) has been called previously.
+    * </p>
+    * @stable ICU 2.6
+    */
+    public void reset();
+    
+    /**
+     * <p>Restricts the range of integers to iterate and resets the iteration 
+     * to begin at the index argument start.</p>
+     * <p>If setRange(start, end) is not performed before next(element) is 
+     * called, the iteration will start from the integer index 
+     * Integer.MIN_VALUE and end at Integer.MAX_VALUE.</p>
+     * <p>
+     * If this range is set outside the meaningful range specified by the 
+     * implementation, next(element) will always return false.
+     * </p>
+     * @param start first integer in the range to iterate
+     * @param limit one more than the last integer in the range 
+     * @exception IllegalArgumentException thrown when attempting to set an 
+     *            illegal range. E.g limit <= start
+     * @stable ICU 2.6
+     */
+    public void setRange(int start, int limit);
+}
diff --git a/src/com/ibm/icu/util/VersionInfo.java b/src/com/ibm/icu/util/VersionInfo.java
new file mode 100644
index 0000000..9d49b6a
--- /dev/null
+++ b/src/com/ibm/icu/util/VersionInfo.java
@@ -0,0 +1,472 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 1996-2005, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+
+package com.ibm.icu.util;
+
+import java.util.HashMap;
+
+/**
+ * Class to store version numbers of the form major.minor.milli.micro.
+ * @author synwee
+ * @stable ICU 2.6
+ */
+public final class VersionInfo
+{
+    // public data members -------------------------------------------------
+
+    /**
+     * Unicode 1.0 version
+     * @stable ICU 2.6
+     */
+    public static final VersionInfo UNICODE_1_0;
+    /**
+     * Unicode 1.0.1 version
+     * @stable ICU 2.6
+     */
+    public static final VersionInfo UNICODE_1_0_1;
+    /**
+     * Unicode 1.1.0 version
+     * @stable ICU 2.6
+     */
+    public static final VersionInfo UNICODE_1_1_0;
+    /**
+     * Unicode 1.1.5 version
+     * @stable ICU 2.6
+     */
+    public static final VersionInfo UNICODE_1_1_5;
+    /**
+     * Unicode 2.0 version
+     * @stable ICU 2.6
+     */
+    public static final VersionInfo UNICODE_2_0;
+    /**
+     * Unicode 2.1.2 version
+     * @stable ICU 2.6
+     */
+    public static final VersionInfo UNICODE_2_1_2;
+    /**
+     * Unicode 2.1.5 version
+     * @stable ICU 2.6
+     */
+    public static final VersionInfo UNICODE_2_1_5;
+    /**
+     * Unicode 2.1.8 version
+     * @stable ICU 2.6
+     */
+    public static final VersionInfo UNICODE_2_1_8;
+    /**
+     * Unicode 2.1.9 version
+     * @stable ICU 2.6
+     */
+    public static final VersionInfo UNICODE_2_1_9;
+    /**
+     * Unicode 3.0 version
+     * @stable ICU 2.6
+     */
+    public static final VersionInfo UNICODE_3_0;
+    /**
+     * Unicode 3.0.1 version
+     * @stable ICU 2.6
+     */
+    public static final VersionInfo UNICODE_3_0_1;
+    /**
+     * Unicode 3.1.0 version
+     * @stable ICU 2.6
+     */
+    public static final VersionInfo UNICODE_3_1_0;
+    /**
+     * Unicode 3.1.1 version
+     * @stable ICU 2.6
+     */
+    public static final VersionInfo UNICODE_3_1_1;
+    /**
+     * Unicode 3.2 version
+     * @stable ICU 2.6
+     */
+    public static final VersionInfo UNICODE_3_2;
+
+    /**
+     * Unicode 4.0 version
+     * @stable ICU 2.6
+     */
+    public static final VersionInfo UNICODE_4_0;
+
+    /**
+     * Unicode 4.0.1 version
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final VersionInfo UNICODE_4_0_1;
+
+    /**
+     * Unicode 4.1 version
+     * @draft ICU 3.4
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final VersionInfo UNICODE_4_1;
+
+    /**
+     * ICU4J current release version
+     * @stable ICU 2.8
+     */
+    public static final VersionInfo ICU_VERSION;
+
+    /**
+     * Data version string for ICU's internal data
+     * @internal
+     * @draft ICU 3.0
+     * @deprecated This is a draft API and might change in a future release of ICU.
+     */
+    public static final String ICU_DATA_VERSION = "34b";
+
+    /**
+     * ICU4J collator runtime version
+     * @stable ICU 2.8
+     */
+    public static final VersionInfo UCOL_RUNTIME_VERSION;
+
+    /**
+     * ICU4J collator builder version
+     * @stable ICU 2.8
+     */
+    public static final VersionInfo UCOL_BUILDER_VERSION;
+
+    /**
+     * ICU4J collator tailorings version
+     * @stable ICU 2.8
+     */
+    public static final VersionInfo UCOL_TAILORINGS_VERSION;
+
+
+    // public methods ------------------------------------------------------
+
+    /**
+     * Returns an instance of VersionInfo with the argument version.
+     * @param version version String in the format of "major.minor.milli.micro"
+     *                or "major.minor.milli" or "major.minor" or "major",
+     *                where major, minor, milli, micro are non-negative numbers
+     *                <= 255. If the trailing version numbers are
+     *                not specified they are taken as 0s. E.g. Version "3.1" is
+     *                equivalent to "3.1.0.0".
+     * @return an instance of VersionInfo with the argument version.
+     * @exception throws an IllegalArgumentException when the argument version
+     *                is not in the right format
+     * @stable ICU 2.6
+     */
+    public static VersionInfo getInstance(String version)
+    {
+        int length  = version.length();
+        int array[] = {0, 0, 0, 0};
+        int count   = 0;
+        int index   = 0;
+
+        while (count < 4 && index < length) {
+            char c = version.charAt(index);
+            if (c == '.') {
+                count ++;
+            }
+            else {
+                c -= '0';
+                if (c < 0 || c > 9) {
+                    throw new IllegalArgumentException(INVALID_VERSION_NUMBER_);
+                }
+                array[count] *= 10;
+                array[count] += c;
+            }
+            index ++;
+        }
+        if (index != length) {
+            throw new IllegalArgumentException(
+                                               "Invalid version number: String '" + version + "' exceeds version format");
+        }
+        for (int i = 0; i < 4; i ++) {
+            if (array[i] < 0 || array[i] > 255) {
+                throw new IllegalArgumentException(INVALID_VERSION_NUMBER_);
+            }
+        }
+
+        return getInstance(array[0], array[1], array[2], array[3]);
+    }
+
+    /**
+     * Returns an instance of VersionInfo with the argument version.
+     * @param major major version, non-negative number <= 255.
+     * @param minor minor version, non-negative number <= 255.
+     * @param milli milli version, non-negative number <= 255.
+     * @param micro micro version, non-negative number <= 255.
+     * @exception throws an IllegalArgumentException when either arguments are
+     *                                     negative or > 255
+     * @stable ICU 2.6
+     */
+    public static VersionInfo getInstance(int major, int minor, int milli,
+                                          int micro)
+    {
+        // checks if it is in the hashmap
+        // else
+        if (major < 0 || major > 255 || minor < 0 || minor > 255 ||
+            milli < 0 || milli > 255 || micro < 0 || micro > 255) {
+            throw new IllegalArgumentException(INVALID_VERSION_NUMBER_);
+        }
+        int     version = getInt(major, minor, milli, micro);
+        Integer key     = new Integer(version);
+        Object  result  = MAP_.get(key);
+        if (result == null) {
+            result = new VersionInfo(version);
+            MAP_.put(key, result);
+        }
+        return (VersionInfo)result;
+    }
+
+    /**
+     * Returns an instance of VersionInfo with the argument version.
+     * Equivalent to getInstance(major, minor, milli, 0).
+     * @param major major version, non-negative number <= 255.
+     * @param minor minor version, non-negative number <= 255.
+     * @param milli milli version, non-negative number <= 255.
+     * @exception throws an IllegalArgumentException when either arguments are
+     *                                     negative or > 255
+     * @stable ICU 2.6
+     */
+    public static VersionInfo getInstance(int major, int minor, int milli)
+    {
+        return getInstance(major, minor, milli, 0);
+    }
+
+    /**
+     * Returns an instance of VersionInfo with the argument version.
+     * Equivalent to getInstance(major, minor, 0, 0).
+     * @param major major version, non-negative number <= 255.
+     * @param minor minor version, non-negative number <= 255.
+     * @exception throws an IllegalArgumentException when either arguments are
+     *                                     negative or > 255
+     * @stable ICU 2.6
+     */
+    public static VersionInfo getInstance(int major, int minor)
+    {
+        return getInstance(major, minor, 0, 0);
+    }
+
+    /**
+     * Returns an instance of VersionInfo with the argument version.
+     * Equivalent to getInstance(major, 0, 0, 0).
+     * @param major major version, non-negative number <= 255.
+     * @exception throws an IllegalArgumentException when either arguments are
+     *                                     negative or > 255
+     * @stable ICU 2.6
+     */
+    public static VersionInfo getInstance(int major)
+    {
+        return getInstance(major, 0, 0, 0);
+    }
+
+    private static VersionInfo javaVersion;
+
+    /**
+     * @internal
+     * @deprecated This API is ICU internal only.
+     */
+    public static VersionInfo javaVersion() {
+        if (javaVersion == null) {
+            String s = System.getProperty("java.version");
+            // clean string
+            // preserve only digits, separated by single '.'
+            // ignore over 4 digit sequences
+            // does not test < 255, very odd...
+
+            char[] chars = s.toCharArray();
+            int r = 0, w = 0, count = 0;
+            boolean numeric = false; // ignore leading non-numerics
+            while (r < chars.length) {
+                char c = chars[r++];
+                if (c < '0' || c > '9') {
+                    if (numeric) {
+                        if (count == 3) {
+                            // only four digit strings allowed
+                            break;
+                        }
+                        numeric = false;
+                        chars[w++] = '.';
+                        ++count;
+                    }
+                } else {
+                    numeric = true;
+                    chars[w++] = c;
+                }
+            }
+            while (w > 0 && chars[w-1] == '.') {
+                --w;
+            }
+
+            String vs = new String(chars, 0, w);
+
+            javaVersion = VersionInfo.getInstance(vs);
+        }
+        return javaVersion;
+    }
+
+    /**
+     * Returns the String representative of VersionInfo in the format of
+     * "major.minor.milli.micro"
+     * @return String representative of VersionInfo
+     * @stable ICU 2.6
+     */
+    public String toString()
+    {
+        StringBuffer result = new StringBuffer(7);
+        result.append(getMajor());
+        result.append('.');
+        result.append(getMinor());
+        result.append('.');
+        result.append(getMilli());
+        result.append('.');
+        result.append(getMicro());
+        return result.toString();
+    }
+
+    /**
+     * Returns the major version number
+     * @return the major version number
+     * @stable ICU 2.6
+     */
+    public int getMajor()
+    {
+        return (m_version_ >> 24) & LAST_BYTE_MASK_ ;
+    }
+
+    /**
+     * Returns the minor version number
+     * @return the minor version number
+     * @stable ICU 2.6
+     */
+    public int getMinor()
+    {
+        return (m_version_ >> 16) & LAST_BYTE_MASK_ ;
+    }
+
+    /**
+     * Returns the milli version number
+     * @return the milli version number
+     * @stable ICU 2.6
+     */
+    public int getMilli()
+    {
+        return (m_version_ >> 8) & LAST_BYTE_MASK_ ;
+    }
+
+    /**
+     * Returns the micro version number
+     * @return the micro version number
+     * @stable ICU 2.6
+     */
+    public int getMicro()
+    {
+        return m_version_ & LAST_BYTE_MASK_ ;
+    }
+
+    /**
+     * Checks if this version information is equals to the argument version
+     * @param other object to be compared
+     * @return true if other is equals to this object's version information,
+     *         false otherwise
+     * @stable ICU 2.6
+     */
+    public boolean equals(Object other)
+    {
+        return other == this;
+    }
+
+    /**
+     * Compares other with this VersionInfo.
+     * @param other VersionInfo to be compared
+     * @return 0 if the argument is a VersionInfo object that has version
+     *           information equals to this object.
+     *           Less than 0 if the argument is a VersionInfo object that has
+     *           version information greater than this object.
+     *           Greater than 0 if the argument is a VersionInfo object that
+     *           has version information less than this object.
+     * @stable ICU 2.6
+     */
+    public int compareTo(VersionInfo other)
+    {
+        return m_version_ - other.m_version_;
+    }
+
+    // private data members ----------------------------------------------
+
+    /**
+     * Version number stored as a byte for each of the major, minor, milli and
+     * micro numbers in the 32 bit int.
+     * Most significant for the major and the least significant contains the
+     * micro numbers.
+     */
+    private int m_version_;
+    /**
+     * Map of singletons
+     */
+    private static final HashMap MAP_ = new HashMap();
+    /**
+     * Last byte mask
+     */
+    private static final int LAST_BYTE_MASK_ = 0xFF;
+    /**
+     * Error statement string
+     */
+    private static final String INVALID_VERSION_NUMBER_ =
+        "Invalid version number: Version number may be negative or greater than 255";
+
+    // static declaration ------------------------------------------------
+
+    /**
+     * Initialize versions only after MAP_ has been created
+     */
+    static {
+        UNICODE_1_0   = getInstance(1, 0, 0, 0);
+        UNICODE_1_0_1 = getInstance(1, 0, 1, 0);
+        UNICODE_1_1_0 = getInstance(1, 1, 0, 0);
+        UNICODE_1_1_5 = getInstance(1, 1, 5, 0);
+        UNICODE_2_0   = getInstance(2, 0, 0, 0);
+        UNICODE_2_1_2 = getInstance(2, 1, 2, 0);
+        UNICODE_2_1_5 = getInstance(2, 1, 5, 0);
+        UNICODE_2_1_8 = getInstance(2, 1, 8, 0);
+        UNICODE_2_1_9 = getInstance(2, 1, 9, 0);
+        UNICODE_3_0   = getInstance(3, 0, 0, 0);
+        UNICODE_3_0_1 = getInstance(3, 0, 1, 0);
+        UNICODE_3_1_0 = getInstance(3, 1, 0, 0);
+        UNICODE_3_1_1 = getInstance(3, 1, 1, 0);
+        UNICODE_3_2   = getInstance(3, 2, 0, 0);
+        UNICODE_4_0   = getInstance(4, 0, 0, 0);
+        UNICODE_4_0_1 = getInstance(4, 0, 1, 0);
+        UNICODE_4_1   = getInstance(4, 1, 0, 0);
+        ICU_VERSION = getInstance(3, 4, 0, 0);
+        UCOL_RUNTIME_VERSION = getInstance(6);
+        UCOL_BUILDER_VERSION = getInstance(7);
+        UCOL_TAILORINGS_VERSION = getInstance(1);
+    }
+
+    // private constructor -----------------------------------------------
+
+    /**
+     * Constructor with int
+     * @param compactversion a 32 bit int with each byte representing a number
+     */
+    private VersionInfo(int compactversion)
+    {
+        m_version_ = compactversion;
+    }
+
+    /**
+     * Gets the int from the version numbers
+     * @param major non-negative version number
+     * @param minor non-negativeversion number
+     * @param milli non-negativeversion number
+     * @param micro non-negativeversion number
+     */
+    private static int getInt(int major, int minor, int milli, int micro)
+    {
+        return (major << 24) | (minor << 16) | (milli << 8) | micro;
+    }
+}
diff --git a/src/com/ibm/icu/util/package.html b/src/com/ibm/icu/util/package.html
new file mode 100755
index 0000000..2dc06c7
--- /dev/null
+++ b/src/com/ibm/icu/util/package.html
@@ -0,0 +1,12 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html>
+<head>
+<!--  Copyright (C) 2000-2004, International Business Machines Corporation and
+  others. All Rights Reserved.
+
+-->
+</head>
+<body bgcolor="white">
+International calendars and other utility classes.
+</body>
+</html>
\ No newline at end of file
diff --git a/src/com/ibm/richtext/awtui/AwtMenuBuilder.java b/src/com/ibm/richtext/awtui/AwtMenuBuilder.java
new file mode 100755
index 0000000..7e649d3
--- /dev/null
+++ b/src/com/ibm/richtext/awtui/AwtMenuBuilder.java
@@ -0,0 +1,236 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+package com.ibm.richtext.awtui;
+
+import java.awt.Frame;
+import java.awt.Menu;
+import java.awt.MenuBar;
+import java.awt.Window;
+
+import com.ibm.richtext.textpanel.MTextPanel;
+
+import com.ibm.richtext.uiimpl.resources.FrameResources;
+
+import com.ibm.richtext.uiimpl.*;
+import com.ibm.richtext.uiimpl.DialogItem.DialogFactory;
+
+// TO DO:  Don't hard-code menu configurations.  Instead, specify them with
+// strings somehow.  This is an improvement over what we had, and it'll do
+// for now.
+
+/**
+ * AwtMenuBuilder creates a set of AWT menus for interacting
+ * with an MTextPanel.  Future versions of this class may allow
+ * clients to control the menu contents.
+ * @see MTextPanel
+ */
+public final class AwtMenuBuilder extends MenuBuilder {
+    
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+    private static final AwtMenuBuilder INSTANCE = new AwtMenuBuilder();
+    
+    /**
+     * Id for an Edit menu.  The Edit menu has the following items:
+     * <ul>
+     * <li><b>Undo</b> - invoke undo() on the MTextPanel</li>
+     * <li><b>Redo</b> - invoke redo() on the MTextPanel</li>
+     * <li><b>Cut</b> - invoke cut() on the MTextPanel</li>
+     * <li><b>Copy</b> - invoke copy() on the MTextPanel</li>
+     * <li><b>Paste</b> - invoke paste() on the MTextPanel</li>
+     * <li><b>Clear</b> - invoke clear() on the MTextPanel</li>
+     * <li><b>Select All</b> - invoke selectAll() on the MTextPanel</li>
+     * </ul>
+     */
+    public static final int EDIT = MenuBuilder.EDIT;
+    /**
+     * Id for the point sizes menu.  The menu has items that set the size of a character
+     * in a typeface.
+     */
+    public static final int SIZE = MenuBuilder.SIZE;
+    /**
+     * Id for a Style menu.  The Style menu has the following items:
+     * <ul>
+     * <li><b>Plain</b> - remove <code>WEIGHT</code>,
+     *                    <code>POSTURE</code>,
+     *                    <code>UNDERLINE</code> and
+     *                    <code>STRIKETHROUGH</code> attributes from the
+     * current selection</li>
+     * <li><b>Bold</b> - add <code>{WEIGHT,WEIGHT_BOLD}</code> to
+     * the current selection</li>
+     * <li><b>Italic</b> - add <code>{POSTURE,POSTURE_ITALIC}</code> to
+     * the current selection</li>
+     * <li><b>Underline</b> - add <code>{UNDERLINE,UNDERLINE_ON}</code> to
+     * the current selection</li>
+     * <li><b>Strikethrough</b> - add <code>{STRIKETHROUGH,STRIKETHROUGH_ON}</code>
+     * to the current selection</li>
+     * <li><b>Font...</b> - display a dialog allowing the user to
+     * select a typeface (font family) for the current selection</li>
+     * <li><b>Forecolor...</b> - display a dialog allowing the user to
+     * select a foreground color for the current selection</li>
+     * <li><b>Backcolor...</b> - display a dialog allowing the user to
+     * select a background color for the current selection</li>
+     * </ul>
+     */
+    public static final int STYLE = MenuBuilder.STYLE;
+    /**
+     * Id for a paragraph alignment menu.  The menu has the following items:
+     * <ul>
+     * <li><b>Leading</b> - give selected paragraph(s) LEADING flush</li>
+     * <li><b>Center</b> - give selected paragraph(s) CENTER flush</li>
+     * <li><b>Trailing</b> - give selected paragraph(s) TRAILING flush</li>
+     * <li><b>Justified</b> - give selected paragraph(s) full justification</li>
+     * </ul>
+     */
+    public static final int FLUSH = MenuBuilder.FLUSH;
+    /**
+     * Id for a menu that sets the KeyRemap
+     * on an MTextPanel.  The menu has the following items:
+     * <ul>
+     * <li><b>Default</b> - set KeyRemap to identity remap</li>
+     * <li><b>Arabic</b> - set KeyRemap to Arabic transliteration</li>
+     * <li><b>Hebrew</b> - set KeyRemap to Hebrew transliteration</li>
+     * <li><b>Israel Nikud</b> - set KeyRemap to Israel Nikud</li>
+     * <li><b>Thai Ketmanee</b> - set KeyRemap to Thai Ketmanee</li>
+     * </ul>
+     */
+    public static final int KEYMAP = MenuBuilder.KEYMAP;
+    /**
+     * Id for a menu that sets
+     * the primary run direction for a paragraph.  Run direction can be left-to-right,
+     * right-to-left, or can use the default run direction from the Unicode bidi algorithm.
+     */
+    public static final int BIDI = MenuBuilder.BIDI;
+    /**
+     * Id for a menu with an <b>About</b> item.  When selected, 
+     * the item displays a Frame containing some
+     * self-promotional text.
+     */
+    public static final int ABOUT = MenuBuilder.ABOUT;
+    
+    /**
+     * Return an instance of AwtMenuBuilder.
+     */
+    public static AwtMenuBuilder getInstance() {
+        
+        return INSTANCE;
+    }
+    
+    private MenuBar fMenuBar;
+    
+    private AwtMenuBuilder() {
+    }
+    
+    /**
+     * Add a standard set of menus to the given menu bar.  The menus 
+     * will interact with the given MTextPanel.
+     * @param menuBar the MenuBar to which menus are added
+     * @param textPanel the MTextPanel with which the menus interact
+     * @param frame a Frame to use as the parent of any dialogs created by a 
+     *   a menu item.  If null, menu items which create dialogs will be omitted.
+     */
+    public void createMenus(MenuBar menuBar, 
+                            MTextPanel textPanel,
+                            Frame frame) {
+        
+        createMenus(menuBar, textPanel, frame, defaultMenus);
+    }
+    
+    /**
+     * Add a set of menus to the given menu bar.  The menus 
+     * will interact with the given MTextPanel.
+     * @param menuBar the MenuBar to which menus are added
+     * @param textPanel the MTextPanel with which the menus interact
+     * @param frame a Frame to use as the parent of any dialogs created by a 
+     *   a menu item.  If null, menu items which create dialogs will be omitted.
+     * @param menus an array of integer menu id's.  Each element of the
+     *   array must be one of this class's menu id constants.  If null,
+     *   the default menus are created.
+     */
+    public void createMenus(MenuBar menuBar, 
+                            MTextPanel textPanel,
+                            Frame frame,
+                            int[] menus) {
+        
+        if (menus == null) {
+            menus = defaultMenus;
+        }
+        
+        synchronized (MItem.LOCK) {
+            
+            fMenuBar = menuBar;
+            doCreateMenus(textPanel, frame, menus);
+            fMenuBar = null;
+        }
+    }
+    
+    protected void handleAddMenu(String key) {
+        
+        Menu menu = new Menu(ResourceUtils.getResourceString(key));
+        fMenuBar.add(menu);
+        MItem.setItemFactory(new AwtMenuFactory(menu));
+    }
+
+    protected DialogFactory createObjectDialogFactory(final String dialogTitle,
+                                                      final String dialogMessage,
+                                                      final Object key,
+                                                      final boolean character,
+                                                      final String[] names,
+                                                      final Object[] values) {
+        
+        final Frame dialogParent = fDialogParent;
+
+        return new DialogFactory() {    
+            public Window createDialog(MTextPanel textPanel) {
+                return new ObjectDialog(dialogParent,
+                                        dialogTitle,
+                                        dialogMessage,
+                                        textPanel,
+                                        key,
+                                        character,
+                                        names,
+                                        values);
+            }
+        };
+    }
+    
+    protected DialogFactory createNumberDialogFactory(final String dialogTitle,
+                                                      final String dialogMessage,
+                                                      final Object key,
+                                                      final boolean character) {
+        
+        final Frame dialogParent = fDialogParent;
+            
+        return new DialogFactory() {
+            public Window createDialog(MTextPanel textPanel) {
+                return new NumberDialog(dialogParent,
+                                        dialogTitle,
+                                        dialogMessage,
+                                        textPanel,
+                                        key,
+                                        character,
+                                        1);
+            }
+        };
+    }    
+    
+    protected DialogFactory createAboutDialogFactory() {
+        
+        return new DialogFactory() {
+            public Window createDialog(MTextPanel textPanel) {
+                String title = ResourceUtils.getResourceString(FrameResources.ABOUT_TITLE);
+                return new MessageDialog(title, AboutText.getAboutText());
+            }
+        };
+    }
+}
\ No newline at end of file
diff --git a/src/com/ibm/richtext/awtui/AwtMenuFactory.java b/src/com/ibm/richtext/awtui/AwtMenuFactory.java
new file mode 100755
index 0000000..f7f8f58
--- /dev/null
+++ b/src/com/ibm/richtext/awtui/AwtMenuFactory.java
@@ -0,0 +1,114 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+package com.ibm.richtext.awtui;
+
+import java.awt.CheckboxMenuItem;
+import java.awt.Menu;
+import java.awt.MenuItem;
+import java.awt.MenuShortcut;
+
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.awt.event.ItemEvent;
+import java.awt.event.ItemListener;
+
+import com.ibm.richtext.uiimpl.resources.MenuData;
+import com.ibm.richtext.uiimpl.MItem;
+import com.ibm.richtext.uiimpl.MItem.ItemFactory;
+
+final class AwtMenuFactory implements ItemFactory {
+        
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+    private final class AwtMItem extends MItem {
+        
+        private MenuItem fItem;
+        
+        AwtMItem(MenuItem item) {
+            
+            fItem = item;
+            try {
+                CheckboxMenuItem chItem = (CheckboxMenuItem) fItem;
+                chItem.addItemListener(new ItemListener() {
+                    public void itemStateChanged(ItemEvent e) {
+                        handleSelected();
+                    }
+                });
+            }
+            catch(ClassCastException e) {
+                item.addActionListener(new ActionListener() {
+                    public void actionPerformed(ActionEvent evt) {
+                        handleSelected();
+                    }
+                });
+            }
+        }
+        
+        // Ack - how do you do this from inner classes??
+        protected void handleSelected() {
+            
+            super.handleSelected();
+        }
+        
+        public final void setEnabled(boolean enabled) {
+            
+            fItem.setEnabled(enabled);
+        }
+        
+        public void setState(boolean checked) {
+            
+            try {
+                CheckboxMenuItem item = (CheckboxMenuItem) fItem;
+                item.setState(checked);
+            }
+            catch(ClassCastException e) {
+                throw new Error("Cannot perform setChecked on non-checkbox item");
+            }
+        }
+    }
+    
+    private Menu fMenu;
+        
+    AwtMenuFactory(Menu menu) {
+            
+        fMenu = menu;
+    }
+    
+    private MItem handleCreate(MenuItem item,
+                               MenuData menuData) {
+
+        if (menuData.hasShortcut()) {
+            item.setShortcut(new MenuShortcut(menuData.getShortcutChar()));
+        }
+        
+        fMenu.add(item);
+        
+        return new AwtMItem(item);
+    }
+        
+    public MItem createItem(MenuData menuData) {
+        
+        return handleCreate(new MenuItem(menuData.getName()), menuData);
+    }        
+
+    public MItem createCheckboxItem(MenuData menuData) {
+        
+        return handleCreate(new CheckboxMenuItem(menuData.getName()), menuData);
+    }
+    
+    public void createSeparator() {
+        
+        fMenu.add(new MenuItem("-"));
+    }
+}
+    
diff --git a/src/com/ibm/richtext/awtui/MTabRulerComponent.java b/src/com/ibm/richtext/awtui/MTabRulerComponent.java
new file mode 100755
index 0000000..f1d2734
--- /dev/null
+++ b/src/com/ibm/richtext/awtui/MTabRulerComponent.java
@@ -0,0 +1,90 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+package com.ibm.richtext.awtui;
+
+import java.awt.Color;
+import com.ibm.richtext.styledtext.MTabRuler;
+import com.ibm.richtext.textpanel.MTextPanel;
+
+/**
+ * MTabRulerComponent is implemented by components which provide a tab-ruler
+ * interface for interacting with an MTextPanel.
+ * <p>
+ * Users interact with MTabRulerComponent implementations as follows:
+ * <ul>
+ * <li>The leading margin can be set by dragging the bottom half
+ * of the leftmost triangle.  The first-line indent will "stick" with
+ * the leading margin.</li>
+ * <li>The first-line indent can be set by dragging the top half of the
+ * leftmost triangle.  The first-line indent applies to the first line of
+ * a paragraph.</li>
+ * <li>The trailing margin can be set by dragging the rightmost triangle.</li>
+ * <li>Tabs can be added to the ruler by clicking the mouse on the ruler with the
+ * control key pressed.  Four kinds of tabs are provided:  leading, trailing, center,
+ * and decimal.  The type of a tab can be changed by double-clicking the tab.</li>
+ * <li>Tabs can be repositioned by dragging them with the mouse.</li>
+ * </ul>
+ * <p>
+ * MTabRulerComponent's appearance will reflect the paragraph styles in the
+ * first selected paragraph.  Style changes performed with an 
+ * MTabRulerComponent will apply to all selected paragraphs.
+ */
+public interface MTabRulerComponent {
+    
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+
+    /**
+     * Listen to the given MTextPanel and reflect its changes,
+     * and update its paragraph styles when TabRuler is
+     * manipulated.
+     * @param textPanel the MTextPanel to listen to
+     */
+    public void listenToTextPanel(MTextPanel textPanel);
+
+    /**
+     * Return the background color of this TabRuler.
+     * @return the background color of this TabRuler
+     */
+    public Color getBackColor();
+
+    /**
+     * Set the background color of this TabRuler.
+     * @param backColor the new background color of this TabRuler
+     */
+    public void setBackColor(Color backColor);
+
+    /**
+     * Return the MTabRuler represented by this TabRuler.
+     * @return the MTabRuler represented by this TabRuler
+     */
+    public MTabRuler getRuler();
+
+    /**
+     * Return the leading margin of this TabRuler.
+     * @return the leading margin of this TabRuler
+     */
+    public int getLeadingMargin();
+
+    /**
+     * Return the first line indent of this TabRuler.
+     * @return the first line indent of this TabRuler
+     */
+    public int getFirstLineIndent();
+
+    /**
+     * Return the trailing margin of this TabRuler.
+     * @return the trailing margin of this TabRuler
+     */
+    public int getTrailingMargin();
+}
diff --git a/src/com/ibm/richtext/awtui/MessageDialog.java b/src/com/ibm/richtext/awtui/MessageDialog.java
new file mode 100755
index 0000000..8662164
--- /dev/null
+++ b/src/com/ibm/richtext/awtui/MessageDialog.java
@@ -0,0 +1,65 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+package com.ibm.richtext.awtui;
+
+import java.awt.Color;
+import java.awt.Frame;
+import java.awt.CardLayout;
+
+import java.awt.event.WindowAdapter;
+import java.awt.event.WindowEvent;
+
+import com.ibm.richtext.styledtext.MConstText;
+
+import com.ibm.richtext.textpanel.TextPanel;
+import com.ibm.richtext.textpanel.TextPanelSettings;
+
+/**
+ * MessageDialog is a simple Frame which displays a styled
+ * text message in a TextPanel.
+ * The text in the message is not selectable or editable.
+ * @see MConstText
+ * @see TextPanel
+ */
+public final class MessageDialog extends Frame {
+
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+    /**
+    * Create a new MessageDialog.
+    * @param title the dialog's title
+    * @param message the text which will appear in the dialog
+    */
+    public MessageDialog(String title, MConstText message)
+    {
+        super(title);
+
+        setLayout(new CardLayout());
+        TextPanelSettings settings = TextPanel.getDefaultSettings();
+        settings.setScrollable(false);
+        settings.setSelectable(false);
+        TextPanel panel = new TextPanel(settings, message, null);
+
+        panel.setBackground(Color.black);
+        add("Center", panel);
+
+        addWindowListener(new WindowAdapter() {
+            public void windowClosing(WindowEvent e) {
+                setVisible(false);
+                dispose();
+            }
+        });
+
+        setSize(450,320);
+    }
+}
diff --git a/src/com/ibm/richtext/awtui/NumberDialog.java b/src/com/ibm/richtext/awtui/NumberDialog.java
new file mode 100755
index 0000000..dedaf63
--- /dev/null
+++ b/src/com/ibm/richtext/awtui/NumberDialog.java
@@ -0,0 +1,153 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+package com.ibm.richtext.awtui;
+
+import java.awt.FlowLayout;
+import java.awt.Dialog;
+import java.awt.TextField;
+import java.awt.Button;
+import java.awt.Frame;
+import java.awt.Panel;
+import java.awt.Label;
+
+import java.text.NumberFormat;
+import java.text.ParseException;
+
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.awt.event.WindowEvent;
+import java.awt.event.WindowAdapter;
+
+import com.ibm.richtext.uiimpl.resources.FrameResources;
+import com.ibm.richtext.uiimpl.MenuItemSet;
+import com.ibm.richtext.uiimpl.ResourceUtils;
+
+import com.ibm.richtext.styledtext.StyleModifier;
+import com.ibm.richtext.textpanel.MTextPanel;
+
+/**
+* Simple dialog which gets a number, and sends an appropriate command
+*/
+final class NumberDialog extends Dialog implements ActionListener
+{
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+    private MTextPanel fTextPanel;
+    private TextField fInput = null;
+    private Button fOKButton = null;
+    private Button fCancelButton = null;
+    private boolean fCharacter;
+    private Object fKey;
+    private float fMultiplier; 
+
+    /**
+     * @param multiplier the factor by which to multiply the user's
+     *        selection before creating the attribute value.   This
+     *        is useful for subscripting.
+     */
+    NumberDialog(Frame parent,
+                 String title,
+                 String message,
+                 MTextPanel textPanel,
+                 Object key,
+                 boolean character,
+                 float multiplier) {
+
+        super(parent, title, false);
+        fTextPanel = textPanel;
+        fKey = key;
+        fCharacter = character;
+        fMultiplier = multiplier;
+        setLayout(new java.awt.GridLayout(2,1));
+
+        Panel panel = new Panel();
+        panel.setLayout(new FlowLayout(FlowLayout.CENTER, 10, 15));
+        fInput = new TextField(5);
+        panel.add(new Label(message));
+        panel.add(fInput);
+        add("Center", panel);
+
+        fCancelButton = new Button(ResourceUtils.getResourceString(FrameResources.CANCEL));
+        fOKButton = new Button(ResourceUtils.getResourceString(FrameResources.OK));
+        Panel p = new Panel();
+        p.setLayout(new FlowLayout(FlowLayout.CENTER, 5, 5));
+        p.add(fCancelButton);
+        p.add(fOKButton);
+        add("South", p);
+
+        pack();
+
+        addWindowListener(new WindowAdapter() {
+            public void windowClosing(WindowEvent e) {
+                closeWindow(false);
+            }
+        });
+        
+        fOKButton.addActionListener(this);
+        fCancelButton.addActionListener(this);
+    }
+
+    private void closeWindow(boolean sendAction) {
+
+        setVisible(false);
+
+        int num = 0;
+        if (sendAction) {
+            try {
+                String text = fInput.getText();
+                num = NumberFormat.getInstance().parse(text).intValue();
+            }
+            catch (ParseException exception) {
+                sendAction = false;
+            }
+        }
+
+        if (sendAction) {
+            sendAction(num);
+        }
+
+        dispose();
+    }
+
+    public void actionPerformed(ActionEvent e) {
+
+        Object source = e.getSource();
+
+        if (source == fOKButton) {
+            closeWindow(true);
+        }
+        else if (source == fCancelButton) {
+            closeWindow(false);
+        }
+        else {
+            throw new IllegalArgumentException("Invalid ActionEvent!");
+        }
+    }
+
+    /**
+    * Handle the user input
+    * @param the number the user typed in
+    */
+    private void sendAction(int number) {
+        float num = number * fMultiplier;
+        StyleModifier modifier = StyleModifier.createAddModifier(
+                                                fKey,
+                                                new Float(num));
+        if (fCharacter == MenuItemSet.CHARACTER) {
+            fTextPanel.modifyCharacterStyleOnSelection(modifier);
+        }
+        else {
+            fTextPanel.modifyParagraphStyleOnSelection(modifier);
+        }
+    }
+}
diff --git a/src/com/ibm/richtext/awtui/ObjectDialog.java b/src/com/ibm/richtext/awtui/ObjectDialog.java
new file mode 100755
index 0000000..b913aa9
--- /dev/null
+++ b/src/com/ibm/richtext/awtui/ObjectDialog.java
@@ -0,0 +1,166 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+package com.ibm.richtext.awtui;
+
+import java.util.Hashtable;
+
+import com.ibm.richtext.textlayout.attributes.AttributeSet;
+import com.ibm.richtext.styledtext.StyleModifier;
+import com.ibm.richtext.textpanel.MTextPanel;
+import com.ibm.richtext.uiimpl.MenuItemSet;
+
+import com.ibm.richtext.uiimpl.resources.FrameResources;
+import com.ibm.richtext.uiimpl.ResourceUtils;
+
+import java.awt.Dialog;
+import java.awt.Frame;
+import java.awt.Button;
+import java.awt.Choice;
+import java.awt.Label;
+import java.awt.FlowLayout;
+import java.awt.Panel;
+import java.awt.GridLayout;
+
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.awt.event.WindowEvent;
+import java.awt.event.WindowAdapter;
+
+/**
+* Simple dialog which gets a color
+*/
+final class ObjectDialog extends Dialog implements ActionListener
+{
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+
+    private final MTextPanel fTextPanel;
+    private final Object fKey;
+    private boolean fCharacter;
+
+    private final Button fOKButton;
+    private final Button fCancelButton;
+    private final Choice fItems;
+    private final Hashtable fNameToValueMap;
+    /**
+    * Construct a new ColorDialog.
+    * @param parent the dialog's parent frame
+    * @param title the dialogs title
+    * @param message the message displayed next to the input box
+    */
+    ObjectDialog(Frame parent, 
+                 String title, 
+                 String message, 
+                 MTextPanel textPanel,
+                 Object key,
+                 boolean character,
+                 String[] names,
+                 Object[] values) {
+                    
+        super(parent, title, false);
+        fTextPanel = textPanel;
+        fKey = key;
+        fCharacter = character;
+        
+        setLayout(new GridLayout(2, 1));
+
+        Panel panel = new Panel();
+        panel.setLayout(new FlowLayout(FlowLayout.CENTER, 10, 10));
+        fItems = new Choice();
+
+        if (names.length != values.length) {
+            throw new IllegalArgumentException("Must have same number of names and values.");
+        }
+
+        fNameToValueMap = new Hashtable(names.length);
+        
+        for (int i=0; i < names.length; i++) {
+            fItems.add(names[i]);
+            if (values[i] != null) {
+                fNameToValueMap.put(names[i], values[i]);
+            }
+        }
+
+        panel.add(new Label(message));        
+        panel.add(fItems);
+        
+        add("North", panel);
+
+        fCancelButton = new Button(ResourceUtils.getResourceString(FrameResources.CANCEL));
+        fOKButton = new Button(ResourceUtils.getResourceString(FrameResources.OK));
+        Panel p = new Panel();
+        p.setLayout(new FlowLayout(FlowLayout.CENTER, 5, 5));
+        p.add(fCancelButton);
+        p.add(fOKButton);
+        add("South", p);
+
+        pack();
+
+        addWindowListener(new WindowAdapter() {
+            public void windowClosing(WindowEvent e) {
+                closeWindow(false);
+            }
+        });
+        
+        fOKButton.addActionListener(this);
+        fCancelButton.addActionListener(this);
+    }
+
+    private void closeWindow(boolean sendAction) {
+
+        setVisible(false);
+        if (sendAction) {
+            Object value = fNameToValueMap.get(fItems.getSelectedItem());
+            sendAction(value);
+        }
+        dispose();
+    }
+
+    public void actionPerformed(ActionEvent e) {
+
+        Object source = e.getSource();
+
+        if (source == fOKButton) {
+            closeWindow(true);
+        }
+        else if (source == fCancelButton) {
+            closeWindow(false);
+        }
+        else {
+            throw new IllegalArgumentException("Invalid ActionEvent!");
+        }
+    }
+
+    /**
+    * Handle the user input
+    * @param obj the value object
+    */
+    private void sendAction(Object value) {
+
+        StyleModifier modifier;
+        if (value != null) {
+            modifier = StyleModifier.createAddModifier(fKey, value);
+        }
+        else {
+            AttributeSet set = new AttributeSet(fKey);
+            modifier = StyleModifier.createRemoveModifier(set);
+        }
+        
+        if (fCharacter == MenuItemSet.CHARACTER) {
+            fTextPanel.modifyCharacterStyleOnSelection(modifier);
+        }
+        else {
+            fTextPanel.modifyParagraphStyleOnSelection(modifier);
+        }
+    }
+}
diff --git a/src/com/ibm/richtext/awtui/TabRuler.java b/src/com/ibm/richtext/awtui/TabRuler.java
new file mode 100755
index 0000000..d11a1c2
--- /dev/null
+++ b/src/com/ibm/richtext/awtui/TabRuler.java
@@ -0,0 +1,129 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+package com.ibm.richtext.awtui;
+
+import java.awt.Color;
+import java.awt.Component;
+import java.awt.Dimension;
+import java.awt.Graphics;
+
+import com.ibm.richtext.textpanel.MTextPanel;
+import com.ibm.richtext.uiimpl.TabRulerImpl;
+import com.ibm.richtext.styledtext.MTabRuler;
+
+/**
+ * TabRuler is an implementation of MTabRulerComponent in an AWT component.
+ */
+public final class TabRuler extends Component implements MTabRulerComponent {
+    
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+    private TabRulerImpl fImpl;
+    
+    /**
+     * Create a new TabRuler.
+     * @param baseline the y-coordinate of the ruler's baseline
+     * @param origin the x-coordinate in this Component where
+     *     the left margin appears
+     * @param textPanel the MTextPanel to listen to.  This TabRuler
+     *     will reflect the MTextPanel's paragraph styles, and update
+     *     the paragraph styles when manipulated.
+     */
+    public TabRuler(int baseline, int origin, MTextPanel textPanel) {
+        
+        fImpl = new TabRulerImpl(baseline, origin, textPanel, this);
+    }
+    
+    /**
+     * Listen to the given MTextPanel and reflect its changes,
+     * and update its paragraph styles when TabRuler is
+     * manipulated.
+     * @param textPanel the MTextPanel to listen to
+     */
+    public void listenToTextPanel(MTextPanel textPanel) {
+
+        fImpl.listenToTextPanel(textPanel);
+    }
+    
+    /**
+     * Return the background color of this TabRuler.
+     * @return the background color of this TabRuler
+     */
+    public Color getBackColor() {
+
+        return fImpl.getBackColor();
+    }
+    
+    /**
+     * Set the background color of this TabRuler.
+     * @param backColor the new background color of this TabRuler
+     */
+    public void setBackColor(Color backColor) {
+
+        fImpl.setBackColor(backColor);
+    }
+    
+    /**
+     * Return the MTabRuler represented by this TabRuler.
+     * @return the MTabRuler represented by this TabRuler
+     */
+    public MTabRuler getRuler() {
+        
+        return fImpl.getRuler();
+    }
+
+    /**
+     * Return the leading margin of this TabRuler.
+     * @return the leading margin of this TabRuler
+     */
+    public int getLeadingMargin() {
+        
+        return fImpl.getLeadingMargin();
+    }
+
+    /**
+     * Return the first line indent of this TabRuler.
+     * @return the first line indent of this TabRuler
+     */
+    public int getFirstLineIndent() {
+        
+        return fImpl.getFirstLineIndent();
+    }
+
+    /**
+     * Return the trailing margin of this TabRuler.
+     * @return the trailing margin of this TabRuler
+     */
+    public final int getTrailingMargin() {
+        
+        return fImpl.getTrailingMargin();
+    }
+    
+    // The following are Component methods which need to be delegated to
+    // the implementation:
+    
+    public void paint(Graphics g) {
+        
+        fImpl.paint(g);
+    }
+    
+    public Dimension getPreferredSize() {
+        
+        return fImpl.getPreferredSize();
+    }
+
+    public Dimension getMinimumSize() {
+        
+        return fImpl.getMinimumSize();
+    }
+}
diff --git a/src/com/ibm/richtext/awtui/TextFrame.java b/src/com/ibm/richtext/awtui/TextFrame.java
new file mode 100755
index 0000000..8f0b96a
--- /dev/null
+++ b/src/com/ibm/richtext/awtui/TextFrame.java
@@ -0,0 +1,122 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+package com.ibm.richtext.awtui;
+
+import com.ibm.richtext.textpanel.MTextPanel;
+import com.ibm.richtext.textpanel.TextPanel;
+import com.ibm.richtext.styledtext.MConstText;
+
+import java.awt.BorderLayout;
+import java.awt.Frame;
+import java.awt.MenuBar;
+import java.awt.Toolkit;
+
+import java.awt.datatransfer.Clipboard;
+
+import java.awt.event.WindowAdapter;
+import java.awt.event.WindowEvent;
+
+/**
+ * TextFrame is a Frame containing an editable TextPanel, a set of standard
+ * menus, and a TabRuler.  This class can be used as-is, but is
+ * primarily intended to be a simple example of how to use the other classes
+ * in this package.
+ * @see com.ibm.richtext.textpanel.TextPanel
+ * @see AwtMenuBuilder
+ * @see TabRuler
+ */
+public final class TextFrame extends Frame {
+
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+    private TextPanel fTextPanel;
+
+    /**
+     * Create a new TextFrame with no text and no title.
+     */
+    public TextFrame() {
+        
+        super();
+        init(null, Toolkit.getDefaultToolkit().getSystemClipboard());
+    }
+    
+    /**
+     * Create a new TextFrame with no text and the given title.
+     * @param title the title of this Frame
+     */
+    public TextFrame(String title) {
+        
+        super(title);
+        init(null, Toolkit.getDefaultToolkit().getSystemClipboard());
+    }
+    
+    /**
+     * Create a new TextFrame with the given text and title, whose
+     * TextPanel will use the given clipboard.
+     * @param text the initial text in the TextPanel.  If null the
+     *      TextPanel will initially be empty
+     * @param title the title of this Frame
+     * @param clipboard the Clipboard which the TextPanel will use.
+     *      If null the TextPanel will use a private Clipboard
+     */
+    public TextFrame(MConstText text,
+                     String title,
+                     Clipboard clipboard) {
+
+        super(title);
+        init(text, clipboard);
+    }
+
+    private void init(MConstText text, Clipboard clipboard) {
+        
+        fTextPanel = new TextPanel(text, clipboard);
+
+        TabRuler tabRuler = new TabRuler(14, 10, fTextPanel);
+
+        createMenus();
+
+        setLayout(new BorderLayout());
+        add(fTextPanel, "Center");
+        add(tabRuler, "North");
+        pack();
+    }
+
+    private void createMenus() {
+
+        MenuBar menuBar = new MenuBar();
+
+        AwtMenuBuilder.getInstance().createMenus(menuBar, fTextPanel, this);
+
+        setMenuBar(menuBar);
+    }
+
+    /**
+     * Return the MTextPanel in this frame.
+     */
+    public MTextPanel getTextPanel() {
+
+        return fTextPanel;
+    }
+    
+    public static void main(String[] args) {
+        
+        TextFrame frame = new TextFrame();
+        frame.addWindowListener(new WindowAdapter() {
+            public void windowClosing(WindowEvent e) {
+                System.exit(0);
+            }
+        });
+        frame.setSize(550, 700);
+        frame.show();
+    }
+}
\ No newline at end of file
diff --git a/src/com/ibm/richtext/awtui/package.html b/src/com/ibm/richtext/awtui/package.html
new file mode 100755
index 0000000..1d16df5
--- /dev/null
+++ b/src/com/ibm/richtext/awtui/package.html
@@ -0,0 +1,13 @@
+<!--
+/**
+ *******************************************************************************
+ * Copyright (C) 2000-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+-->
+<html>
+<body bgcolor="white">
+Provides classes for building an AWT-based user interface for a TextPanel.
+</body>
+</html>
diff --git a/src/com/ibm/richtext/demo/AwtDocumentWindow.java b/src/com/ibm/richtext/demo/AwtDocumentWindow.java
new file mode 100755
index 0000000..b2f23ad
--- /dev/null
+++ b/src/com/ibm/richtext/demo/AwtDocumentWindow.java
@@ -0,0 +1,357 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+package com.ibm.richtext.demo;
+
+import com.ibm.richtext.awtui.TabRuler;
+
+import com.ibm.richtext.textpanel.TextPanel;
+import com.ibm.richtext.textpanel.TextPanelListener;
+import com.ibm.richtext.textpanel.TextPanelSettings;
+
+import com.ibm.richtext.awtui.AwtMenuBuilder;
+
+import com.ibm.richtext.print.PrintingUtils;
+
+import java.awt.BorderLayout;
+import java.awt.Button;
+import java.awt.Dialog;
+import java.awt.FileDialog;
+import java.awt.GridLayout;
+import java.awt.Frame;
+import java.awt.Menu;
+import java.awt.MenuBar;
+import java.awt.Label;
+import java.awt.Panel;
+
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.awt.event.WindowAdapter;
+import java.awt.event.WindowEvent;
+
+import java.io.File;
+
+import java.text.MessageFormat;
+
+/**
+ * AwtDocumentWindow is a Frame containing a TextPanel, with a document
+ * for storing the text in the TextPanel.
+ */
+public final class AwtDocumentWindow extends Frame implements DocumentWindow {
+
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+
+    private TextPanel fTextPanel;
+    private EditApplication fApplication;
+    private TextDocument fDocument;
+
+    /**
+     * Create a new AwtDocumentWindow.
+     * @param application the application that owns this document
+     * @param clipboard the clipboard to use
+     * @param document the document to show in this AwtDocumentWindow
+     */
+    AwtDocumentWindow(EditApplication application,
+                   TextDocument document,
+                   TextPanelSettings textPanelSettings,
+                   boolean useTabRuler,
+                   TextPanelListener listener,
+                   boolean supportStyledText,
+                   boolean supportPlainText,
+                   int[] menus) {
+
+        fApplication = application;
+        
+        fTextPanel = new TextPanel(textPanelSettings, null, application.getClipboard());
+        if (listener != null) {
+            fTextPanel.addListener(listener);
+        }
+        setDocument(document);
+
+        addMenuBar(supportStyledText, supportPlainText, menus);
+
+        setLayout(new BorderLayout());
+
+        if (useTabRuler) {
+            TabRuler tabRuler = new TabRuler(14, 10, fTextPanel);
+            add(tabRuler, "North");
+        }
+        
+        add(fTextPanel, "Center");
+        pack();
+        addWindowListener(new WindowAdapter() {
+            public void windowClosing(WindowEvent e) {
+                doClose();
+            }
+        });
+    }
+
+    private void addMenuBar(boolean supportStyledText, 
+                            boolean supportPlainText,
+                            int[] menus) {
+        
+        MenuBar menuBar = new MenuBar();
+        String menuTitle = ResourceUtils.getString(EditorResources.FILE);
+        Menu menu = new Menu(menuTitle);
+        new AwtFileMenuManager(menu, fApplication, this,
+                                supportStyledText, supportPlainText);
+        menuBar.add(menu);
+
+        AwtMenuBuilder.getInstance().createMenus(menuBar, fTextPanel, this, menus);
+        setMenuBar(menuBar);
+    }
+    
+    /**
+     * Return true if it is OK to set the document text and file to
+     * something different.
+     */
+    private boolean canChangeDocuments() {
+
+        // If the text is modified, give the user a chance to
+        // save it.  Otherwise return true.
+
+        if (fDocument.isModified()) {
+            byte save = askSave(this, getTitle());
+            if (save == YES) {
+                return doSave();
+            }
+            else {
+                return save == NO;
+            }
+        }
+        else {
+            return true;
+        }
+    }
+
+    private void setDocument(TextDocument document) {
+
+        fDocument = document;
+        fDocument.setTextPanel(fTextPanel);
+        setTitle(fDocument.getTitle());
+    }
+
+    /**
+     * Set the document to empty text with no associated file.  If
+     * the document text is not saved, prompt the user to save the
+     * the text first.  If this operation is canceled, the document
+     * is unchanged.
+     */
+    public void doNew() {
+
+        if (!canChangeDocuments()) {
+            return;
+        }
+        
+        setDocument(fApplication.createNewDocument());
+    }
+
+    /**
+     * Prompt the user for a file from which to load a text document.
+     * If the current text is not saved, first prompt the user to
+     * save.  If either operation is canceled or fails, the document
+     * is unchanged.
+     */
+    public void doOpen() {
+
+        if (!canChangeDocuments()) {
+            return;
+        }
+
+        TextDocument document = fApplication.openDocument(this);
+
+        if (document != null) {
+            setDocument(document);
+        }
+    }
+
+    /**
+     * Prompt the user for a file in which to save the document text.
+     * If this operation is not canceled, save the text in the file.
+     * The file becomes this document's file.
+     */
+    public boolean doSaveAs(int format) {
+
+        String title = ResourceUtils.getString(EditorResources.SAVE_TITLE);
+        File file = getFileFromDialog(fDocument.getFile(), title, this, FileDialog.SAVE);
+        
+        if (file == null) {
+            return false;
+        }
+        
+        fDocument.setFile(file);
+        setTitle(fDocument.getTitle());
+
+        fDocument.setFormat(format);
+        
+        return fDocument.save();
+    }
+
+    /**
+     * Save the text in this document.  If there is no file associated
+     * with the text, this is equivalent to <code>doSaveAs</code>.
+     * This method returns true if the document was successfully saved.
+     */
+    public boolean doSave() {
+
+        if (fDocument.getFile() == null) {
+            return doSaveAs(fDocument.getFormat());
+        }
+        
+        return fDocument.save();
+    }
+
+    /**
+     * Print the contents of this window.
+     */
+    public void doPrint() {
+
+        PrintingUtils.userPrintText(fDocument.getText(),
+                                    fTextPanel.getDefaultValues(),
+                                    this,
+                                    this.getTitle());
+    }
+
+    /**
+     * Attempt to close this window.  If the text has not been saved,
+     * give the user a chance to save the text before closing the
+     * window.  If the user cancels this operation, this method returns
+     * false and the window is not closed;  otherwise this method
+     * returns true and the window is closed.
+     */
+    public boolean doClose() {
+
+        if (canChangeDocuments()) {
+            setVisible(false);
+            dispose();
+            fApplication.removeDocumentWindow(this);
+            return true;
+        }
+        else {
+            return false;
+        }
+    }
+
+    /**
+     * Retrieve a file from a dialog.  If the user does not
+     * select a file in the dialog this method returns null.
+     * @param kind either FileDialog.LOAD or FileDialog.SAVE.
+     */
+    public static File getFileFromDialog(File origFile,
+                                         String dialogTitle, 
+                                         Frame owner,
+                                         int kind) {
+        
+        FileDialog dialog = new FileDialog(owner, 
+                                           dialogTitle,
+                                           kind);
+        if (origFile != null) {
+            dialog.setDirectory(origFile.getParent());
+            dialog.setFile(origFile.getName());
+        }
+        dialog.show();
+        String fileStr = dialog.getFile();
+        String dirStr = dialog.getDirectory();
+        
+        File file = null;
+        
+        if (fileStr != null) {
+            file = new File(dirStr, fileStr);
+        }
+        
+        return file;
+    }
+    
+    private static final byte YES = 0;
+    private static final byte NO = 1;
+    private static final byte CANCEL = 2;
+
+    private static final class DialogListener implements ActionListener {
+
+        Dialog fDialog;
+        Button fYes, fNo, fCancel;
+        byte fState;
+
+        DialogListener(Dialog dialog,
+                       Button yes,
+                       Button no,
+                       Button cancel) {
+
+            fDialog = dialog;
+            fYes = yes;
+            fNo = no;
+            fCancel = cancel;
+            fYes.addActionListener(this);
+            fNo.addActionListener(this);
+            fCancel.addActionListener(this);
+            fState = -1;
+        }
+
+        public void actionPerformed(ActionEvent event) {
+
+            Object source = event.getSource();
+            if (source == fYes) {
+                fState = YES;
+            }
+            else if (source == fNo) {
+                fState = NO;
+            }
+            else if (source == fCancel) {
+                fState = CANCEL;
+            }
+            else {
+                return;
+            }
+
+            fDialog.dispose();
+        }
+
+        byte getState() {
+
+            return fState;
+        }
+    }
+
+    /**
+     * Display a dialog that asks whether the user wants to
+     * save a document.  Possible reponses are Yes, No, and
+     * Cancel.  The returned value indicates which response
+     * was chosen.
+     */
+    private static byte askSave(Frame parent, String fileName) {
+
+        Dialog dialog = new Dialog(parent, true);
+        dialog.setLayout(new GridLayout(0, 1));
+        
+        String pattern = ResourceUtils.getString(EditorResources.SAVE_MSG);
+        String text = MessageFormat.format(pattern, new Object[] {fileName});
+        dialog.add(new Label(text, Label.CENTER));
+        
+        Button yes = new Button(ResourceUtils.getString(EditorResources.YES));
+        Button no = new Button(ResourceUtils.getString(EditorResources.NO));
+        Button cancel = new Button(ResourceUtils.getString(EditorResources.CANCEL));
+
+        Panel panel = new Panel();
+        panel.add(yes);
+        panel.add(no);
+        panel.add(cancel);
+        dialog.add(panel);
+
+        DialogListener listener = new DialogListener(dialog, yes, no, cancel);
+
+        dialog.setSize(220, 130);
+        dialog.show();
+
+        return listener.getState();
+    }
+}
\ No newline at end of file
diff --git a/src/com/ibm/richtext/demo/AwtFileMenuManager.java b/src/com/ibm/richtext/demo/AwtFileMenuManager.java
new file mode 100755
index 0000000..37d80053
--- /dev/null
+++ b/src/com/ibm/richtext/demo/AwtFileMenuManager.java
@@ -0,0 +1,47 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+package com.ibm.richtext.demo;
+
+import java.awt.Menu;
+import java.awt.MenuItem;
+
+final class AwtFileMenuManager extends FileMenuManager {
+
+    private Menu fMenu;
+    
+    public AwtFileMenuManager(Menu menu,
+                              EditApplication application, 
+                              DocumentWindow document,
+                              boolean supportStyledFormat,
+                              boolean supportPlainFormat) {
+                          
+        super(application, document);
+        
+        fMenu = menu;
+        createItems(supportStyledFormat, supportPlainFormat);
+        fMenu = null;
+    }
+    
+    protected Object addMenuItem(String key) {
+
+        MenuItem item = ResourceUtils.createMenuItem(key);
+        item.addActionListener(this);
+        fMenu.add(item);
+        return item;
+    }
+    
+    protected void addSeparator() {
+    
+        fMenu.add(new MenuItem("-"));
+    }
+}
diff --git a/src/com/ibm/richtext/demo/CodeEdit.java b/src/com/ibm/richtext/demo/CodeEdit.java
new file mode 100755
index 0000000..aedf2ee
--- /dev/null
+++ b/src/com/ibm/richtext/demo/CodeEdit.java
@@ -0,0 +1,119 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+package com.ibm.richtext.demo;
+
+import java.awt.FileDialog;
+import java.awt.Frame;
+import java.awt.Toolkit;
+
+import java.io.File;
+
+import com.ibm.richtext.textlayout.attributes.AttributeMap;
+import com.ibm.richtext.textlayout.attributes.TextAttribute;
+
+import com.ibm.richtext.textpanel.TextPanel;
+import com.ibm.richtext.textpanel.TextPanelSettings;
+import com.ibm.richtext.awtui.AwtMenuBuilder;
+
+public class CodeEdit extends EditApplication {
+    
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+    
+    protected final TextPanelSettings fSettings;
+    
+    public static synchronized void main(String[] args) {
+
+        if (args.length > 0 && args[0].equals("-swing")) {
+            new com.ibm.richtext.swingdemo.SwingCodeEdit(args,1);
+        }
+        else {
+            new CodeEdit(args, 0);
+        }
+    }
+
+    protected CodeEdit(String[] args, int start) {
+
+        super(Toolkit.getDefaultToolkit().getSystemClipboard(),
+              TextDocument.PLAIN_TEXT);
+
+        AttributeMap defaultStyle = new AttributeMap(TextAttribute.SIZE, new Float(12))
+                                       .addAttribute(TextAttribute.FAMILY, "Monospaced");
+                                       
+        fSettings = TextPanel.getDefaultSettings();
+        fSettings.setWraps(false);
+        fSettings.addDefaultValues(defaultStyle);
+        
+        if (args.length == start) {
+            doNewWindow();
+        }
+        else {
+            boolean openedADocument = false;
+            for (int i=start; i < args.length; i++) {
+
+                File file = new File(args[i]);
+                TextDocument document = null;
+                Throwable error = null;
+                try {
+                    document = TextDocument.createFromFile(file, TextDocument.PLAIN_TEXT);
+                }
+                catch(Exception e) {
+                    error = e;
+                }
+                
+                if (error != null) {
+                    error.printStackTrace();
+                }
+                else {
+                    addDocument(document);
+                    openedADocument = true;
+                }
+            }
+            if (!openedADocument) {
+                quit();
+            }
+        }
+    }
+    
+    protected DocumentWindow createDocumentWindow(TextDocument document) {
+
+        return new AwtDocumentWindow(this, 
+                                  document,
+                                  fSettings,
+                                  false,
+                                  new SyntaxColorer(),
+                                  false,
+                                  true,
+                                  menus);
+    }
+    
+    protected static final int[] menus = { AwtMenuBuilder.EDIT, 
+                                           AwtMenuBuilder.BIDI,
+                                           AwtMenuBuilder.ABOUT };
+
+    public TextDocument openDocument(Frame dialogParent) {
+    
+        String title = ResourceUtils.getString(EditorResources.OPEN_TITLE);
+        
+        File file = AwtDocumentWindow.getFileFromDialog(null, title, dialogParent, FileDialog.LOAD);
+        if (file != null) {
+            try {
+                return TextDocument.createFromFile(file, TextDocument.PLAIN_TEXT);
+            }
+            catch(Exception e) {
+                System.out.print("");
+            }
+        }
+        return null;
+    }
+}
\ No newline at end of file
diff --git a/src/com/ibm/richtext/demo/DocumentWindow.java b/src/com/ibm/richtext/demo/DocumentWindow.java
new file mode 100755
index 0000000..bc69f02
--- /dev/null
+++ b/src/com/ibm/richtext/demo/DocumentWindow.java
@@ -0,0 +1,32 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+package com.ibm.richtext.demo;
+
+public interface DocumentWindow {
+
+    public void doNew();
+    
+    public void doOpen();
+    
+    public boolean doClose();
+    
+    public boolean doSave();
+    
+    public boolean doSaveAs(int format);
+    
+    public void doPrint();
+    
+    public void setSize(int wd, int ht);
+    
+    public void show();
+}
\ No newline at end of file
diff --git a/src/com/ibm/richtext/demo/EditApplication.java b/src/com/ibm/richtext/demo/EditApplication.java
new file mode 100755
index 0000000..b3630e4
--- /dev/null
+++ b/src/com/ibm/richtext/demo/EditApplication.java
@@ -0,0 +1,119 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+package com.ibm.richtext.demo;
+
+import java.awt.Frame;
+import java.awt.datatransfer.Clipboard;
+
+import java.text.MessageFormat;
+
+import java.util.Vector;
+
+public abstract class EditApplication {
+
+    private Clipboard fClipboard;
+    private int fDefaultFormat;
+    private Vector fWindows = new Vector();
+    private int fUntitledCount = 0;
+    
+    protected EditApplication(Clipboard clipboard, int defaultFormat) {
+        
+        fClipboard = clipboard;
+        fDefaultFormat = defaultFormat;
+    }
+    
+    /**
+     * New documents are named "Untitled 1", "Untitled 2", etc.  This
+     * method returns the appropriate name for the next new document.
+     * @return the next new document name
+     */
+    private String getNextNewName() {
+
+        fUntitledCount += 1;
+        String pattern = ResourceUtils.getString(EditorResources.UNTITLED_MSG);
+        return MessageFormat.format(pattern,
+                                    new Object[]{new Integer(fUntitledCount)});
+    }
+    
+    public final Clipboard getClipboard() {
+        
+        return fClipboard;
+    }
+
+    protected abstract DocumentWindow createDocumentWindow(TextDocument document);
+    
+    public abstract TextDocument openDocument(Frame dialogParent);
+    
+    public final TextDocument createNewDocument() {
+    
+        String name = getNextNewName();
+        int format = fDefaultFormat;
+        return TextDocument.createEmpty(name, format);
+    }
+    
+    public final void doNewWindow() {
+        
+        addDocument(TextDocument.createEmpty(getNextNewName(), fDefaultFormat));
+    }
+    
+    public final void addDocument(TextDocument document) {
+        
+        final DocumentWindow window = createDocumentWindow(document);
+
+        window.setSize(500, 400);
+        window.show();
+        fWindows.addElement(window);
+    }
+    
+    /**
+     * Remove document from list of documents.  Quit application if list
+     * length falls to zero.
+     * @param window window of the document to remove
+     */
+    public final void removeDocumentWindow(DocumentWindow window) {
+
+        fWindows.removeElement(window);
+        if (fWindows.isEmpty()) {
+            quit();
+        }
+    }
+
+    /**
+     * Go through list of documents and attempt to close each document.
+     * If all documents close successfully, then exit.
+     */
+    public final void doExit() {
+
+        // Clone fWindows since it can get modified while being traversed.
+        Vector windows = (Vector) fWindows.clone();
+
+        int size = windows.size();
+        for (int i=0; i < size; i++) {
+            DocumentWindow window = (DocumentWindow) windows.elementAt(i);
+            if (!window.doClose()) {
+                return;
+            }
+        }
+
+        // quit will be called when last document removes itself
+    }
+
+    /**
+     * Called when last document window closes.  Default implementation
+     * calls System.exit.
+     */
+    protected void quit() {
+
+        System.exit(0);
+    }
+}
diff --git a/src/com/ibm/richtext/demo/EditDemo.java b/src/com/ibm/richtext/demo/EditDemo.java
new file mode 100755
index 0000000..f572aea
--- /dev/null
+++ b/src/com/ibm/richtext/demo/EditDemo.java
@@ -0,0 +1,126 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+package com.ibm.richtext.demo;
+
+import java.awt.FileDialog;
+import java.awt.Frame;
+import java.awt.Toolkit;
+
+import java.io.File;
+import java.io.StreamCorruptedException;
+import com.ibm.richtext.textpanel.TextPanel;
+
+/**
+ * EditDemo is the main class for a simple, multiple-document
+ * styled text editor, built with the classes in the textpanel
+ * and textframe packages.
+ * <p>
+ * To run EditDemo, type:
+ * <blockquote><pre>
+ * java com.ibm.richtext.demo.EditDemo [file1] [file2] [...]
+ * </pre></blockquote>
+ * where the filenames are files saved with this demo.
+ */
+public class EditDemo extends EditApplication {
+
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+    
+    public static synchronized void main(String[] args) {
+
+        if (args.length > 0 && args[0].equals("-swing")) {
+            new com.ibm.richtext.swingdemo.SwingEditDemo(args,1);
+        }
+        else {
+            new EditDemo(args, 0);
+        }
+    }
+
+    protected EditDemo(String[] args, int start) {
+
+        super(Toolkit.getDefaultToolkit().getSystemClipboard(), 
+              TextDocument.STYLED_TEXT);
+
+        if (args.length == start) {
+            doNewWindow();
+        }
+        else {
+            boolean openedADocument = false;
+            for (int i=start; i < args.length; i++) {
+
+                File file = new File(args[i]);
+                TextDocument document = getDocumentFromFile(file);
+                
+                if (document != null) {
+                    addDocument(document);
+                    openedADocument = true;
+                }
+            }
+            if (!openedADocument) {
+                quit();
+            }
+        }
+    }
+    
+    public static TextDocument getDocumentFromFile(File file) {
+    
+        Exception exception = null;
+        
+        try {
+            return TextDocument.createFromFile(file, TextDocument.STYLED_TEXT);
+        }
+        catch(StreamCorruptedException e) {
+            try {
+                return TextDocument.createFromFile(file, TextDocument.PLAIN_TEXT);
+            }
+            catch(Exception e2) {
+                exception = e2;
+            }
+        }
+        catch(Exception e) {
+            exception = e;
+        }
+        
+        System.err.println("Exception opening file.");
+        exception.printStackTrace();
+        
+        return null;
+    }
+    
+    protected DocumentWindow createDocumentWindow(TextDocument document) {
+        
+        return new AwtDocumentWindow(this, 
+                                     document,
+                                     TextPanel.getDefaultSettings(),
+                                     true,
+                                     null,
+                                     true,
+                                     true,
+                                     null);
+    }
+    
+    public TextDocument openDocument(Frame dialogParent) {
+    
+        String title = ResourceUtils.getString(EditorResources.OPEN_TITLE);
+        File file = AwtDocumentWindow.getFileFromDialog(null,
+                                                     title,
+                                                     dialogParent,
+                                                     FileDialog.LOAD);
+        if (file != null) {
+            return getDocumentFromFile(file);
+        }
+        else {
+            return null;
+        }
+    }
+}
\ No newline at end of file
diff --git a/src/com/ibm/richtext/demo/EditorResources.java b/src/com/ibm/richtext/demo/EditorResources.java
new file mode 100755
index 0000000..d95fdece
--- /dev/null
+++ b/src/com/ibm/richtext/demo/EditorResources.java
@@ -0,0 +1,105 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+package com.ibm.richtext.demo;
+
+import java.util.ListResourceBundle;
+import java.awt.event.KeyEvent;
+
+public final class EditorResources extends ListResourceBundle {
+
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+    // menu names - values are Strings
+    public static final String FILE = "File";
+
+    // file menu items - values are MenuData instances
+    public static final String NEW = "New";
+    public static final String NEW_WINDOW = "New Window";
+    public static final String OPEN = "Open...";
+    public static final String SAVE = "Save";
+    public static final String SAVE_AS = "Save As...";
+    public static final String SAVE_AS_STYLED = "Save As Styled Text...";
+    public static final String SAVE_AS_TEXT = "Save As Plain Text...";
+    public static final String CLOSE = "Close";
+    public static final String PRINT = "Print";
+    public static final String EXIT = "Exit";
+
+    // button labels - values are Strings
+    public static final String YES = "Yes";
+    public static final String NO = "No";
+    public static final String CANCEL = "Cancel";
+
+    // message strings - values are Strings
+    public static final String SAVE_MSG = "Save {0} before closing?";
+    public static final String UNTITLED_MSG = "Untitled {0}";
+
+    // window and dialog titles - values are Strings
+    public static final String OPEN_TITLE = "Open Document";
+    public static final String SAVE_TITLE = "Save As";
+
+    /**
+     * Convenience method that returns a two-element
+     * Object array.  The first element is name, the
+     * second is a MenuData instance with the given
+     * shortcut.
+     */
+    private static Object[] makeEntry(String name,
+                                      char shortCut,
+                                      int keyCode) {
+
+        return new Object[] { name, new MenuData(name, shortCut, keyCode) };
+    }
+
+    /**
+     * Convenience method that returns a two-element
+     * Object array.  The first element is name, the
+     * second is a MenuData instance.
+     */
+    private static Object[] makeEntry(String name) {
+
+        return new Object[] { name, new MenuData(name) };
+    }
+
+    /**
+     * Convenience method that returns a two-element
+     * Object array in which both elements are obj.
+     */
+    private static Object[] duplicate(Object obj) {
+
+        return new Object[] { obj, obj };
+    }
+
+    protected Object[][] getContents() {
+
+        return new Object[][] {
+            duplicate(FILE),
+            duplicate(YES),
+            duplicate(NO),
+            duplicate(CANCEL),
+            duplicate(SAVE_MSG),
+            duplicate(SAVE_TITLE),
+            duplicate(OPEN_TITLE),
+            duplicate(UNTITLED_MSG),
+            makeEntry(NEW, 'n', KeyEvent.VK_N),
+            makeEntry(NEW_WINDOW),
+            makeEntry(OPEN, 'o', KeyEvent.VK_O),
+            makeEntry(SAVE, 's', KeyEvent.VK_S),
+            makeEntry(SAVE_AS),
+            makeEntry(SAVE_AS_STYLED),
+            makeEntry(SAVE_AS_TEXT),
+            makeEntry(CLOSE),
+            makeEntry(PRINT),
+            makeEntry(EXIT),
+        };
+    }
+}
diff --git a/src/com/ibm/richtext/demo/FileMenuManager.java b/src/com/ibm/richtext/demo/FileMenuManager.java
new file mode 100755
index 0000000..a70cf02
--- /dev/null
+++ b/src/com/ibm/richtext/demo/FileMenuManager.java
@@ -0,0 +1,114 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+package com.ibm.richtext.demo;
+
+import java.awt.event.ActionListener;
+import java.awt.event.ActionEvent;
+
+/**
+ * This class creates a File menu and manages user interactions
+ * with the menu.
+ */
+public abstract class FileMenuManager implements ActionListener {
+
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+    private EditApplication fApplication;
+    private DocumentWindow fDocumentWindow;
+    private Object fNew, fNewWindow, fOpen, fSave;
+    private Object fSaveAsStyled, fSaveAsText, fClose, fPrint, fExit;
+
+    protected FileMenuManager(EditApplication application, 
+                              DocumentWindow document) {
+
+        fApplication = application;
+        fDocumentWindow = document;
+    }
+    
+    protected final void createItems(boolean supportStyledFormat,
+                                     boolean supportPlainFormat) {
+        
+        if (!supportStyledFormat && !supportPlainFormat) {
+            throw new IllegalArgumentException("Must support at least one format.");
+        }
+        
+        fNew = addMenuItem(EditorResources.NEW);
+        fNewWindow = addMenuItem(EditorResources.NEW_WINDOW);
+        
+        addSeparator();
+
+        fOpen = addMenuItem(EditorResources.OPEN);
+
+        fSave = addMenuItem(EditorResources.SAVE);
+        
+        if (supportStyledFormat) {
+            if (supportPlainFormat) {
+                fSaveAsStyled = addMenuItem(EditorResources.SAVE_AS_STYLED);
+                fSaveAsText = addMenuItem(EditorResources.SAVE_AS_TEXT);
+            }
+            else {
+                fSaveAsStyled = addMenuItem(EditorResources.SAVE_AS);
+            }
+        }
+        else {
+            fSaveAsText = addMenuItem(EditorResources.SAVE_AS);
+        }
+        
+        addSeparator();
+        fClose = addMenuItem(EditorResources.CLOSE);
+        addSeparator();
+        fPrint = addMenuItem(EditorResources.PRINT);
+        addSeparator();
+        fExit = addMenuItem(EditorResources.EXIT);
+    }
+    
+    protected abstract Object addMenuItem(String key);
+
+    protected abstract void addSeparator();
+    
+    public final void actionPerformed(ActionEvent event) {
+
+        Object source = event.getSource();
+
+        if (source == fNew) {
+            fDocumentWindow.doNew();
+        }
+        else if (source == fNewWindow) {
+            fApplication.doNewWindow();
+        }
+        else if (source == fOpen) {
+            fDocumentWindow.doOpen();
+        }
+        else if (source == fClose) {
+            fDocumentWindow.doClose();
+        }
+        else if (source == fSave) {
+            fDocumentWindow.doSave();
+        }
+        else if (source == fSaveAsStyled) {
+            fDocumentWindow.doSaveAs(TextDocument.STYLED_TEXT);
+        }
+        else if (source == fSaveAsText) {
+            fDocumentWindow.doSaveAs(TextDocument.PLAIN_TEXT);
+        }
+        else if (source == fPrint) {
+            fDocumentWindow.doPrint();
+        }
+        else if (source == fExit) {
+            fApplication.doExit();
+        }
+        else {
+            throw new Error("Unknown event source: " + source);
+        }
+    }
+}
\ No newline at end of file
diff --git a/src/com/ibm/richtext/demo/MenuData.java b/src/com/ibm/richtext/demo/MenuData.java
new file mode 100755
index 0000000..7d3459c
--- /dev/null
+++ b/src/com/ibm/richtext/demo/MenuData.java
@@ -0,0 +1,60 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+package com.ibm.richtext.demo;
+
+public final class MenuData {
+
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+    private String fName;
+    private boolean fHasShortcut;
+    private char fShortcut;
+    private int fShortcutKeyCode;
+
+    public MenuData(String name) {
+
+        fName = name;
+        fHasShortcut = false;
+    }
+
+    public MenuData(String name, char ch, int keyCode) {
+
+        fName = name;
+        fHasShortcut = true;
+        fShortcut = ch;
+        fShortcutKeyCode = keyCode;
+    }
+
+    public String getName() {
+
+        return fName;
+    }
+
+    public char getShortcut() {
+
+        if (!fHasShortcut) {
+            throw new Error("Menu doesn't have shortcut");
+        }
+        return fShortcut;
+    }
+    
+    public int getShortcutKeyCode() {
+    
+        return fShortcutKeyCode;
+    }
+
+    public boolean hasShortcut() {
+
+        return fHasShortcut;
+    }
+}
\ No newline at end of file
diff --git a/src/com/ibm/richtext/demo/ResourceUtils.java b/src/com/ibm/richtext/demo/ResourceUtils.java
new file mode 100755
index 0000000..317a662
--- /dev/null
+++ b/src/com/ibm/richtext/demo/ResourceUtils.java
@@ -0,0 +1,73 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+package com.ibm.richtext.demo;
+
+import java.awt.MenuItem;
+import java.awt.MenuShortcut;
+
+import java.util.MissingResourceException;
+import java.util.ResourceBundle;
+
+/**
+ * Utility class for dealing with resource data.
+ */
+public final class ResourceUtils {
+
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+    private static ResourceBundle BUNDLE;
+    static {
+        String bundleName = "com.ibm.richtext.demo.EditorResources";
+        try {
+            BUNDLE = ResourceBundle.getBundle(bundleName);
+        }
+        catch(MissingResourceException e) {
+            System.out.println("Couldn't load " + bundleName +
+                               ";  Exception: " + e);
+            BUNDLE = new EditorResources();
+        }
+    }
+
+    public static String getString(String key) {
+
+        try {
+            return BUNDLE.getString(key);
+        }
+        catch(MissingResourceException e) {
+            return key;
+        }
+    }
+
+    public static MenuData getMenuData(String key) {
+    
+        try {
+            return (MenuData) BUNDLE.getObject(key);
+        }
+        catch(MissingResourceException e) {
+            return new MenuData(key);
+        }
+    }
+        
+    public static MenuItem createMenuItem(String key) {
+
+        MenuData menuData = getMenuData(key);
+
+        if (menuData.hasShortcut()) {
+            MenuShortcut shortcut = new MenuShortcut(menuData.getShortcut());
+            return new MenuItem(menuData.getName(), shortcut);
+        }
+        else {
+            return new MenuItem(menuData.getName());
+        }
+    }
+}
\ No newline at end of file
diff --git a/src/com/ibm/richtext/demo/SyntaxColorer.java b/src/com/ibm/richtext/demo/SyntaxColorer.java
new file mode 100755
index 0000000..e8aa8f7
--- /dev/null
+++ b/src/com/ibm/richtext/demo/SyntaxColorer.java
@@ -0,0 +1,286 @@
+/*
+ * (C) Copyright IBM Corp. 1999-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+
+package com.ibm.richtext.demo;
+
+import com.ibm.richtext.awtui.TextFrame;
+import com.ibm.richtext.textpanel.MTextPanel;
+import com.ibm.richtext.textpanel.TextPanelEvent;
+import com.ibm.richtext.textpanel.TextPanelListener;
+
+import com.ibm.richtext.styledtext.MConstText;
+import com.ibm.richtext.styledtext.MText;
+import com.ibm.richtext.styledtext.StyledText;
+import com.ibm.richtext.styledtext.StyleModifier;
+
+import com.ibm.richtext.textlayout.attributes.AttributeMap;
+import com.ibm.richtext.textlayout.attributes.TextAttribute;
+
+import java.awt.Color;
+
+import java.awt.event.WindowAdapter;
+import java.awt.event.WindowEvent;
+
+import java.text.BreakIterator;
+import java.text.CharacterIterator;
+import java.text.CollationKey;
+import java.text.Collator;
+
+import java.util.Enumeration;
+import java.util.Hashtable;
+
+/**
+ * SyntaxColorer is a TextPanelListener that applies a style
+ * to a set of words in the TextPanel.
+ */
+public final class SyntaxColorer implements TextPanelListener {
+    
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+    
+    private static final class Colorer {
+        
+        static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+        private int fStart;
+        private Hashtable fStyleMap;
+        private Collator fCollator = Collator.getInstance();
+        private BreakIterator fBreakIter = BreakIterator.getWordInstance();
+
+        private String fText;
+        private int fCurrentStart;
+        private int fCurrentLimit;
+        private AttributeMap fCurrentStyle;
+        
+        Colorer(Hashtable styles) {
+
+            fStyleMap = new Hashtable(styles.size());
+
+            Enumeration e = styles.keys();
+            while (e.hasMoreElements()) {
+                String k = (String) e.nextElement();
+                fStyleMap.put(fCollator.getCollationKey(k), styles.get(k));
+            }
+        }
+        
+        void set(CharacterIterator text, int start, int limit) {
+            
+            fStart = start;
+
+            StringBuffer sb = new StringBuffer(limit-start);
+            for (char c=text.setIndex(start); text.getIndex() != limit; c=text.next()) {
+                sb.append(c);
+            }
+            fText = sb.toString();
+            fCurrentStart = fCurrentLimit = 0;
+            fCurrentStyle = AttributeMap.EMPTY_ATTRIBUTE_MAP;
+            
+            fBreakIter.setText(fText);
+            fBreakIter.first();
+        }
+            
+        boolean next() {
+            
+            if (fCurrentLimit == fText.length()) {
+                fText = null;
+                return false;
+            }
+
+            fCurrentStart = fCurrentLimit;
+            fCurrentLimit = fBreakIter.next();
+            
+            String word = fText.substring(fCurrentStart, fCurrentLimit);
+            CollationKey ck = fCollator.getCollationKey(word);
+            fCurrentStyle = (AttributeMap) fStyleMap.get(ck);
+            if (fCurrentStyle == null) {
+                fCurrentStyle = AttributeMap.EMPTY_ATTRIBUTE_MAP;
+            }
+            
+            return true;
+        }
+            
+        int currentStart() {
+            return fCurrentStart + fStart;
+        }
+        
+        int currentLimit() {
+            return fCurrentLimit + fStart;
+        }
+        
+        AttributeMap currentStyle() {
+            return fCurrentStyle;
+        }
+    }
+
+    private BreakIterator fBreakIter = BreakIterator.getWordInstance();
+    private Colorer fColorer;
+    private boolean fModifying = false;
+    private AttributeMap fDefaultKeywordStyle = AttributeMap.EMPTY_ATTRIBUTE_MAP;
+    private Hashtable fModifierCache;
+    
+    public SyntaxColorer() {
+        
+        this(null);
+    }
+    
+    public SyntaxColorer(MTextPanel panel) {
+        
+        Hashtable ht = new Hashtable();
+
+        //Uncomment this to make keywords appear right-to-left!
+        //fDefaultKeywordStyle = fDefaultKeywordStyle.addAttribute(TextAttribute.BIDI_EMBEDDING, 
+        //                                                         new Integer(-1));
+        
+        fDefaultKeywordStyle = fDefaultKeywordStyle.addAttribute(TextAttribute.UNDERLINE,
+                                                                 TextAttribute.UNDERLINE_ON);
+        fDefaultKeywordStyle = fDefaultKeywordStyle.addAttribute(TextAttribute.FOREGROUND, 
+                                                                 Color.blue);
+        
+        String[] javaWords = {"abstract" , "boolean", "break", "byte",
+                              "byvalue", "case", "cast", "default",
+                              "do", "double", "else", "extends", 
+                              "false", "final", "goto", "if",
+                              "implements", "import", "inner", "instanceof",
+                              "int", "operator", "outer", "package",
+                              "private", "protected", "public", "rest",
+                              "synchronized", "this", "throw", "throws",
+                              "transient", "true", "try",
+                              "catch", "char", "const", "continue",
+                              "finally", "float", "for", "future",
+                              "generic", "interface", "long", "native",
+                              "new", "null", "return", "short",
+                              "static", "super", "switch", "var",
+                              "void", "volatile", "while", "class"};
+
+        for (int i=0; i < javaWords.length; i++) {
+            ht.put(javaWords[i], fDefaultKeywordStyle);
+        }
+        
+        fColorer = new Colorer(ht);
+        
+        if (panel != null) {
+            MConstText text = panel.getText();
+            colorRange(0, text.length(), text.createCharacterIterator(), panel);
+        }
+        
+        fModifierCache = new Hashtable(2);
+        fModifierCache.put(fDefaultKeywordStyle, 
+                           StyleModifier.createReplaceModifier(fDefaultKeywordStyle));
+        fModifierCache.put(AttributeMap.EMPTY_ATTRIBUTE_MAP, 
+                           StyleModifier.createReplaceModifier(AttributeMap.EMPTY_ATTRIBUTE_MAP));
+    }
+    
+    public boolean respondsToEventType(int type) {
+        
+        return type == TextPanelEvent.TEXT_CHANGED;
+    }
+    
+    public void textEventOccurred(TextPanelEvent e) {
+
+        if (fModifying) {
+            return;
+        }
+        
+        MTextPanel panel = (MTextPanel) e.getSource();
+        
+        final MConstText text = panel.getText();
+        int start = text.damagedRangeStart();
+        int limit = text.damagedRangeLimit();
+        if (start > limit) {
+            return;
+        }
+        
+        CharacterIterator textIter = text.createCharacterIterator();
+        
+        fBreakIter.setText(textIter);
+        if (start > 0) {
+            if (start == text.length()) {
+                fBreakIter.last();
+            }
+            else {
+                fBreakIter.following(start-1);
+            }
+            start = fBreakIter.previous();
+        }
+        if (limit < text.length()) {
+            fBreakIter.following(limit);
+            //int l;
+            if ((fBreakIter.previous()) <= limit) {
+                limit = fBreakIter.next();
+            }
+        }
+        
+        fModifying = true;
+        colorRange(start, limit, textIter, panel);
+        fModifying = false;
+    }
+    
+    private void colorRange(final int start, 
+                            final int limit, 
+                            CharacterIterator textIter,
+                            MTextPanel panel) {
+        
+        fColorer.set(textIter, start, limit);
+
+        MConstText oldText = panel.getText();
+        MText newText = null;
+        
+        while (fColorer.next()) {
+
+            int rangeStart = fColorer.currentStart();
+            int rangeLimit = fColorer.currentLimit();
+            
+            AttributeMap style = fColorer.currentStyle();
+            
+            if (oldText.characterStyleLimit(rangeStart) < rangeLimit ||
+                    oldText.characterStyleAt(rangeStart) != style) {
+            
+                int cstart = rangeStart-start;
+                int climit = rangeLimit-start;
+                if (newText == null) {
+                    newText = new StyledText(oldText, start, limit);
+                }
+                StyleModifier mod = (StyleModifier) fModifierCache.get(style);
+                newText.modifyCharacterStyles(cstart, climit, mod);
+            }
+        }
+        
+        if (newText != null) {
+        
+            int oldStart = panel.getSelectionStart();
+            int oldLimit = panel.getSelectionEnd();
+            
+            panel.replaceRange(newText, start, limit);            
+    
+            panel.select(oldStart, oldLimit);
+            if (oldStart == oldLimit) {
+                StyleModifier mod = (StyleModifier) fModifierCache.get(AttributeMap.EMPTY_ATTRIBUTE_MAP);                
+                panel.modifyCharacterStyleOnSelection(mod);
+            }
+        }
+    }
+    
+    public static void main(String[] args) {
+        
+        TextFrame f = new TextFrame();
+        f.addWindowListener(new WindowAdapter() {
+            public void windowClosing(WindowEvent e) {
+                System.exit(0);
+            }
+        });
+        f.setSize(400, 300);
+        MTextPanel panel = f.getTextPanel();
+        panel.addListener(new SyntaxColorer(panel));
+        f.show();
+    }
+}
\ No newline at end of file
diff --git a/src/com/ibm/richtext/demo/TextDocument.java b/src/com/ibm/richtext/demo/TextDocument.java
new file mode 100755
index 0000000..85be3b9
--- /dev/null
+++ b/src/com/ibm/richtext/demo/TextDocument.java
@@ -0,0 +1,349 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+package com.ibm.richtext.demo;
+
+import java.io.*;
+
+import com.ibm.richtext.styledtext.MConstText;
+import com.ibm.richtext.styledtext.MText;
+import com.ibm.richtext.styledtext.StyledText;
+import com.ibm.richtext.textpanel.MTextPanel;
+import com.ibm.richtext.textlayout.attributes.AttributeMap;
+
+/**
+ * A TextDocument handles the association between a file on disk
+ * and a TextPanel.
+ */
+public final class TextDocument {
+
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+    private static final int BUF_SIZE = 1024;
+    
+    private String fTitle;
+    private MConstText fText;
+    private File fFile;
+    private MTextPanel fTextPanel = null;
+    private boolean isModified = false;
+    private int fFormat = STYLED_TEXT;
+    
+    private TextDocument(String title,
+                         MConstText text,
+                         File file,
+                         int format) {
+        
+        fTitle = title;
+        fText = text;
+        fFile = file;
+        setFormat(format);
+    }
+    
+    public static final int STYLED_TEXT = 0;
+    public static final int PLAIN_TEXT = 1;
+    
+    /** 
+     * Return a new TextDocument with no associated file and
+     * empty text.
+     */
+    public static TextDocument createEmpty(String title, int format) {
+        
+        return new TextDocument(title, new StyledText(), null, format);
+    }
+    
+    /**
+     * Return a TextDocument created from the contents of the given
+     * file.  This method may throw an exception if the file cannot
+     * be read.  In particular, if the format is given as STYLED_TEXT
+     * but the file does not contain a serialized MConstText, 
+     * this method will throw StreamCorruptedException.
+     */
+    public static TextDocument createFromFile(File file, int format) throws Exception {
+        
+        if (format != STYLED_TEXT && format != PLAIN_TEXT) {
+            throw new IllegalArgumentException("Invalid format");
+        }
+        
+        MConstText text;
+        if (format == STYLED_TEXT) {
+            text = readMText(file);
+        }
+        else {
+            text = readMTextFromTextFile(file);
+        }
+        
+        TextDocument document = new TextDocument(file.getName(), 
+                                                 text,
+                                                 file,
+                                                 format);
+        return document;
+    }
+    
+    /**
+     * Return true if this document's text differs from the contents
+     * of its file.
+     */
+    public boolean isModified() {
+        
+        if (fTextPanel == null) {
+            return isModified;
+        }
+        else {
+            return fTextPanel.isModified();
+        }
+    }
+    
+    /**
+     * Set the MTextPanel that will be used to edit the document's
+     * text.  The document's text becomes the contents of the
+     * MTextPanel.
+     */
+    public void setTextPanel(MTextPanel textPanel) {
+
+        if (fTextPanel != null) {
+            fText = fTextPanel.getText();
+            isModified = fTextPanel.isModified();
+        }
+        
+        fTextPanel = textPanel;
+        
+        if (fTextPanel != null) {
+            fTextPanel.setText(fText);
+            fText = null;
+            fTextPanel.setModified(isModified);
+            fTextPanel.clearCommandLog();
+        }
+    }
+    
+    public File getFile() {
+    
+        return fFile;
+    }
+    
+    /**
+     * Set this document's file.  The document's title will
+     * change to the file name.  The file cannot be null.
+     */
+    public void setFile(File file) {
+        
+        fFile = file;
+        fTitle = file.getName();
+    }
+    
+    /**
+     * Set the format of this document.  The format determines
+     * whether the document will be written to files as styled
+     * text or plain characters.
+     */
+    public void setFormat(int format) {
+        
+        if (format != STYLED_TEXT && format != PLAIN_TEXT) {
+            throw new IllegalArgumentException("Invalid format");
+        }
+        fFormat = format;
+    }
+    
+    /**
+     * Return the format of this document.
+     */
+    public int getFormat() {
+        
+        return fFormat;
+    }
+    
+    /**
+     * Write the document's text to its file.  If the document does
+     * not have an associated file then this method is equivalent to
+     * saveAs.  This method returns true if the save operation succeeds.
+     */
+    public boolean save() {
+
+        if (fFile == null) {
+            throw new RuntimeException("Can't save without a file.");
+        }
+                
+        MConstText text = getText();
+        boolean success = fFormat==STYLED_TEXT? writeMText(fFile, text) :
+                                                writePlainMText(fFile, text);
+        if (success && fTextPanel != null) {
+            fTextPanel.setModified(false);
+        }
+        return success;
+    }
+    
+    /** 
+     * Return this document's styled text.
+     */
+    public MConstText getText() {
+        
+        if (fTextPanel == null) {
+            return fText;
+        }
+        else {
+            return fTextPanel.getText();
+        }
+    }
+    
+    /**
+     * Return the title of this document.
+     */
+    public String getTitle() {
+        
+        return fTitle;
+    }
+    
+    /**
+     * Return the MText serialized in the given file.
+     * In case of an error return null.
+     */
+    private static MConstText readMText(File file) throws Exception {
+
+        FileInputStream inStream = null;
+        
+        try {
+            inStream = new FileInputStream(file);
+            ObjectInputStream objStream = new ObjectInputStream(inStream);
+
+            return (MConstText) objStream.readObject();
+        }
+        finally {
+            if (inStream != null) {
+                try {
+                    inStream.close();
+                }
+                catch(IOException e) {
+                    System.out.print("");
+                }
+            }
+        }
+    }
+    
+    /**
+     * Read the given file as a plain text file, and return its
+     * contents as an MConstText.  The character and paragraph styles in 
+     * the returned text will be EMPTY_ATTRIBUTE_MAP.
+     */
+    private static MConstText readMTextFromTextFile(File file) throws Exception {
+        
+        InputStreamReader in = null;
+        
+        try {
+            in = new FileReader(file);
+            
+            MText text = new StyledText();
+            
+            char[] buf = new char[BUF_SIZE];
+            int read;
+            while ((read=in.read(buf, 0, buf.length)) != -1) {
+                int len = text.length();
+                text.replace(len, len, buf, 0, read, AttributeMap.EMPTY_ATTRIBUTE_MAP);
+            }
+            return text;
+        }
+        finally {
+            if (in != null) {
+                try {
+                    in.close();
+                }
+                catch(IOException e) {
+                    System.out.print("");
+                }
+            }
+        }
+    }
+
+    /**
+     * Attempt to save the given text in the given file.
+     * @return true if the operation succeeded
+     */
+    private static boolean writeMText(File file, MConstText text) {
+
+        Throwable error = null;
+        OutputStream outStream = null;
+        
+        try {
+            outStream = new FileOutputStream(file);
+            ObjectOutputStream objStream = new ObjectOutputStream(outStream);
+
+            objStream.writeObject(text);
+        }
+        catch(IOException e) {
+            error = e;
+        }
+        catch(ClassCastException e) {
+            error = e;
+        }
+        finally {
+            if (outStream != null) {
+                try {
+                    outStream.close();
+                }
+                catch(IOException e) {
+                    System.out.print("");
+                }
+            }
+        }
+
+
+        if (error != null) {
+            error.printStackTrace();
+            return false;
+        }
+        else {
+            return true;
+        }
+    }
+
+    /**
+     * Write the given MConstText to the given file as plain text.
+     */
+    private static boolean writePlainMText(File file, MConstText text) {
+
+        Throwable error = null;
+        OutputStreamWriter outStream = null;
+        
+        try {
+            outStream = new FileWriter(file);
+            char[] buf = new char[BUF_SIZE];
+            int length = text.length();
+            int start = 0;
+            do {
+                int count = Math.min(length-start, buf.length);
+                text.extractChars(start, start+count, buf, 0);
+                outStream.write(buf, 0, count);
+                start += count;
+            } while (start < length);
+        }
+        catch(IOException e) {
+            error = e;
+        }
+        finally {
+            if (outStream != null) {
+                try {
+                    outStream.close();
+                }
+                catch(IOException e) {
+                    System.out.print("");
+                }
+            }
+        }
+
+
+        if (error != null) {
+            error.printStackTrace();
+            return false;
+        }
+        else {
+            return true;
+        }
+    }
+}
\ No newline at end of file
diff --git a/src/com/ibm/richtext/demo/package.html b/src/com/ibm/richtext/demo/package.html
new file mode 100644
index 0000000..b67ce8a
--- /dev/null
+++ b/src/com/ibm/richtext/demo/package.html
@@ -0,0 +1,20 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html>
+<head><!--  Copyright (C) 2002, International Business Machines Corporation and
+  others. All Rights Reserved.
+-->
+
+<title>C:ICU4J .lang Package Overview</title>
+</head>
+
+<body bgcolor="white">
+
+<p>Provides EditDemo, a simple, multiple-document styled text editor, built with the richtext classes in the textpanel and textframe packages.</p>
+
+<p>To run the demo, type: 
+<tt><blockquote>  java -classpath classes com.ibm.richtext.demo.EditDemo [-swing] [file]*</blockquote>
+It will use a Swing GUI if <code>-swing</code> is present, otherwise it will use an AWT GUI.  One or more <code>file</code> arguments can be present, these must be files that have been created with the EditDemo.  A separate window will be opened for each file.</p>
+
+<p>Other classes in this package are supporting classes for the EditDemo.</p>
+</body>
+</html>
diff --git a/src/com/ibm/richtext/manifest.stub b/src/com/ibm/richtext/manifest.stub
new file mode 100644
index 0000000..2da7201
--- /dev/null
+++ b/src/com/ibm/richtext/manifest.stub
@@ -0,0 +1,13 @@
+Main-Class: com.ibm.richtext.demo.EditDemo
+Manifest-Version: 1.0
+Specification-Title: ICU for Java RichEdit
+Specification-Version: 2.6
+Specification-Vendor: ICU
+Implementation-Title: ICU for Java RichEdit
+Implementation-Version: 2.6
+Implementation-Vendor: IBM Corporation
+Implementation-Vendor-Id: com.ibm
+
+Name: com/ibm/richtext
+
+
diff --git a/src/com/ibm/richtext/print/MConstTextPrintable.java b/src/com/ibm/richtext/print/MConstTextPrintable.java
new file mode 100755
index 0000000..b2bc10c
--- /dev/null
+++ b/src/com/ibm/richtext/print/MConstTextPrintable.java
@@ -0,0 +1,160 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+package com.ibm.richtext.print;
+
+import com.ibm.richtext.styledtext.MConstText;
+
+import com.ibm.richtext.textformat.MFormatter;
+
+import com.ibm.richtext.textlayout.attributes.AttributeMap;
+
+import java.awt.Color;
+import java.awt.Graphics;
+import java.awt.Point;
+import java.awt.Rectangle;
+
+import java.util.Vector;
+
+/**
+ * This class's interface is very close to that of the JDK 1.2 Printable 
+ * interface, but can execute on JDK 1.1.  On 1.2, this class is wrapped
+ * in a real Printable.  On 1.1, the PrintContext class uses this class
+ * and a PrintJob for printing.
+ *
+ * Note that this class paginates the text in the first call to print,
+ * or to getPageCount.
+ * After construction, its page size is essentially fixed.  This is not 
+ * as flexible as the 1.2 classes allow, but it should suffice.
+ */
+final class MConstTextPrintable {
+
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+
+    static final int PAGE_EXISTS = 0;
+    static final int NO_SUCH_PAGE = 1;
+    
+    private MConstText fText;
+    private AttributeMap fDefaultStyles;
+    private Rectangle fPageRect;
+    
+    // If these two fields are null the text has not been paginated.
+    private MFormatter fFormatter;
+    private Vector fPageStarts;
+
+    /**
+     * Construct an MConstTextPrintable to print the given text.  Each page will fit
+     * into pageRect.
+     */
+    MConstTextPrintable(MConstText text, 
+                        AttributeMap defaultStyles,
+                        Rectangle pageRect) {
+
+        fText = text;
+        fDefaultStyles = defaultStyles;
+        fPageRect = new Rectangle(pageRect);
+    }
+    
+    private static boolean emptyParagraphAtEndOfText(MConstText text) {
+
+        if (text.length() > 0) {
+            char ch = text.at(text.length()-1);
+            return ch == '\n' || ch == '\u2029';
+        }
+        else {
+            return false;
+        }
+    }
+
+    private void paginate(Graphics graphics) {
+        
+        if (fPageStarts == null) {
+
+            fFormatter = MFormatter.createFormatter(fText,
+                                                    fDefaultStyles,
+                                                    fPageRect.width,
+                                                    true,
+                                                    graphics);
+ 
+            fFormatter.formatToHeight(Integer.MAX_VALUE);
+            fFormatter.stopBackgroundFormatting();
+
+            fPageStarts = new Vector();
+            
+            int lineCount = fFormatter.getLineCount();
+            if (emptyParagraphAtEndOfText(fText)) {
+                lineCount -= 1;
+            }
+
+            int startLine = 0;
+            fPageStarts.addElement(new Integer(startLine));
+            int startHeight = 0;
+            final int pageHeight = fPageRect.height;
+
+            while (startLine < lineCount) {
+
+                int nextStart = fFormatter.lineAtHeight(startHeight + pageHeight);
+                fPageStarts.addElement(new Integer(nextStart));
+                startHeight = fFormatter.lineGraphicStart(nextStart);
+                startLine = nextStart;
+            }
+        }
+    }
+
+    /**
+     * Print the given page in the given graphics.  Page numbers are
+     * 0-based.  The the return value indicates whether
+     * the page number is valid (as in JDK 1.2).  Since you can get the page count
+     * directly, there's really no excuse for passing in an invalid page
+     * index.
+     * @param graphics the Graphics to print to
+     * @param pageNumber the 0-based page number.  Should be nonnegative and
+     * less than getPageCount()
+     * @return PAGE_EXISTS if the page number is valid, or 
+     *         NO_SUCH_PAGE otherwise
+     */
+    int print(Graphics graphics, int pageNumber) {
+        
+        paginate(graphics);
+        
+        if (pageNumber < getPageCount(graphics) && pageNumber >= 0) {
+            graphics.setColor(Color.black); // workaround for 1.2 printing bug
+            int startLine = ((Integer)fPageStarts.elementAt(pageNumber)).intValue();
+            int limitLine = ((Integer)fPageStarts.elementAt(pageNumber+1)).intValue();
+
+            int topOfPage = fFormatter.lineGraphicStart(startLine);
+            int pageHeight = fFormatter.lineGraphicStart(limitLine) - topOfPage;
+
+            Point origin = new Point(fPageRect.x, fPageRect.y - topOfPage);
+            Rectangle drawRect = new Rectangle(fPageRect);
+            drawRect.height = pageHeight;
+            
+            fFormatter.draw(graphics, drawRect, origin);
+            return PAGE_EXISTS;
+        }
+        else {
+            return NO_SUCH_PAGE;
+        }
+    }
+    
+    /**
+     * Return the number of pages that can be printed.
+     * @param graphics a Graphics instance representative of those 
+     * which will be printed into
+     */
+    int getPageCount(Graphics graphics) {
+        
+        paginate(graphics);
+        return fPageStarts.size() - 1;
+    }
+}
\ No newline at end of file
diff --git a/src/com/ibm/richtext/print/PrintContext.java b/src/com/ibm/richtext/print/PrintContext.java
new file mode 100755
index 0000000..c81af9c
--- /dev/null
+++ b/src/com/ibm/richtext/print/PrintContext.java
@@ -0,0 +1,79 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+// Requires Java2
+
+package com.ibm.richtext.print;
+
+import com.ibm.richtext.styledtext.MConstText;
+import com.ibm.richtext.textlayout.attributes.AttributeMap;
+
+import java.awt.Frame;
+import java.awt.Graphics;
+import java.awt.Rectangle;
+
+import java.awt.print.PageFormat;
+import java.awt.print.Printable;
+import java.awt.print.PrinterJob;
+import java.awt.print.PrinterException;
+
+final class PrintContext implements Printable {
+    
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+
+    private MConstTextPrintable fPrintable;
+    
+    PrintContext(MConstText text, AttributeMap defaultStyles, PageFormat pf) {
+        
+        int width = (int) Math.round(pf.getImageableWidth());
+        int height = (int) Math.round(pf.getImageableHeight());
+        int left = (((int)Math.round(pf.getWidth())) - width) / 2;
+        int top = (((int)Math.round(pf.getHeight())) - height) / 2;
+        
+        Rectangle pageRect = new Rectangle(left, top, width, height);
+        fPrintable = new MConstTextPrintable(text, defaultStyles, pageRect);
+    }
+    
+    public int print(Graphics graphics,
+                     PageFormat format,
+                     int pageIndex) throws PrinterException {
+        
+        if (false)
+            throw new PrinterException("save trees");
+            
+        if (fPrintable.print(graphics, pageIndex) == MConstTextPrintable.PAGE_EXISTS) {
+            return PAGE_EXISTS;
+        }
+        else {
+            return NO_SUCH_PAGE;
+        }
+    }
+    
+    static void userPrintText(MConstText text,
+                              AttributeMap defaultStyles,
+                              Frame frame,
+                              String jobTitle) {
+
+        PrinterJob job = PrinterJob.getPrinterJob();
+        job.setJobName(jobTitle);
+        if (job.printDialog()) {
+            job.setPrintable(new PrintContext(text, defaultStyles, job.defaultPage()));
+            try {
+                job.print();
+            }
+            catch(PrinterException e) {
+                System.out.println("Printer exception: " + e);
+            }
+        }
+    }
+}
diff --git a/src/com/ibm/richtext/print/PrintingUtils.java b/src/com/ibm/richtext/print/PrintingUtils.java
new file mode 100755
index 0000000..185d086
--- /dev/null
+++ b/src/com/ibm/richtext/print/PrintingUtils.java
@@ -0,0 +1,49 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+package com.ibm.richtext.print;
+
+import com.ibm.richtext.styledtext.MConstText;
+
+import com.ibm.richtext.textlayout.attributes.AttributeMap;
+
+import java.awt.Frame;
+
+/**
+ * PrintingUtils contains a static method for printing styled text.
+ * @see com.ibm.richtext.styledtext.MConstText
+ */
+public final class PrintingUtils {
+
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+
+    // Keep it out of Javadoc...
+    private PrintingUtils() {
+    }
+    
+    /**
+     * Print the given text.  A Print dialog is presented to the user;
+     * unless the user cancels, the text is printed.
+     * @param text the text to print
+     * @param defaultStyles default values for unspecified attributes
+     * @param frame the parent of the Print dialog
+     * @param jobTitle the title of the PrintJob
+     */
+    public static void userPrintText(MConstText text,
+                                     AttributeMap defaultStyles,
+                                     Frame frame,
+                                     String jobTitle) {
+
+        PrintContext.userPrintText(text, defaultStyles, frame, jobTitle);
+    }
+}
\ No newline at end of file
diff --git a/src/com/ibm/richtext/print/package.html b/src/com/ibm/richtext/print/package.html
new file mode 100755
index 0000000..d906eda
--- /dev/null
+++ b/src/com/ibm/richtext/print/package.html
@@ -0,0 +1,13 @@
+<!-- 
+/**
+ *******************************************************************************
+ * Copyright (C) 2000-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+-->
+<html>
+<body bgcolor="white">
+Provides printing for styled text.
+</body>
+</html>
diff --git a/src/com/ibm/richtext/styledtext/CharBuffer.java b/src/com/ibm/richtext/styledtext/CharBuffer.java
new file mode 100755
index 0000000..187ee3d
--- /dev/null
+++ b/src/com/ibm/richtext/styledtext/CharBuffer.java
@@ -0,0 +1,377 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+/** An implementation of MCharBuffer that stores chars in an array with an insertion gap. */
+/*
+    Change history
+    072396 jf   - fixed a bug in replace(int, int, char[], int, int) so that it correctly
+                inserted into the middle of the buffer.
+    080296 jf   - added timestamp.  This is strictly a debugging device to help catch
+                stale iterators.
+
+    082296 jbr  added check for 0-length iterator in replace
+*/
+
+package com.ibm.richtext.styledtext;
+
+import java.io.Externalizable;
+import java.io.ObjectInput;
+import java.io.ObjectOutput;
+import java.io.IOException;
+
+import java.text.CharacterIterator;
+
+final class CharBuffer
+    extends MCharBuffer implements Externalizable
+{
+
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+  private static final int kGrowSize = 0x80; // small size for testing
+  private static final int CURRENT_VERSION = 1; // version code for streaming
+  private static final long serialVersionUID = 563174;
+
+  transient Validation fValidation = null;
+  private char[] fArray;
+  transient private int fArraySize;
+  transient private int fGap;
+
+  /** Create an empty char buffer. */
+  public CharBuffer()
+  {
+  }
+
+  /** Create a char buffer that can hold at least capacity chars. */
+
+  public CharBuffer(int capacity)
+  {
+    fArray = allocate(capacity);
+  }
+
+  public void readExternal(ObjectInput in) throws IOException,
+                                            ClassNotFoundException {
+
+    if (in.readInt() != CURRENT_VERSION) {
+        throw new IOException("Invalid version of CharBuffer");
+    }
+
+    fArray = (char[]) in.readObject();
+    if (fArray != null) {
+        fArraySize = fArray.length;
+        fGap = fArraySize;
+    }
+    else {
+        fArraySize = 0;
+        fGap = 0;
+    }
+  }
+
+  public void writeExternal(ObjectOutput out) throws IOException {
+
+    compress();
+    out.writeInt(CURRENT_VERSION);
+    out.writeObject(fArray);
+  }
+
+  private void invalidate() {
+
+    if (fValidation != null) {
+        fValidation.invalidate();
+        fValidation = null;
+    }
+  }
+
+  // not ThreadSafe - could end up with two Validations
+  // being generated
+  private Validation getValidation() {
+
+    if (fValidation == null) {
+        fValidation = new Validation();
+    }
+    return fValidation;
+  }
+
+  /** Replace the chars from start to limit with the chars from srcStart to srcLimit in srcBuffer. */
+
+  /** Replace the chars from start to limit with the chars from srcStart to srcLimit in srcChars.
+  * This is the core routine for manipulating the buffer.
+  */
+  public void replace(int start, int limit, char[] srcChars, int srcStart, int srcLimit)
+  {
+    invalidate();
+    int dstLength = limit - start;
+    int srcLength = srcLimit - srcStart;
+
+    if (dstLength < 0 || srcLength < 0) {
+        throw new IllegalArgumentException("replace(int start, int limit, char[] srcChars, int srcStart, int srcLimit)");
+    }
+
+    int gapAlloc = 0;
+    if (srcChars == null) {
+        gapAlloc = srcLength;
+        srcLength = 0;
+    }
+
+    int newSize = fArraySize - dstLength + srcLength;
+
+    if (fArray == null) {
+        if (start != 0 || limit != 0) {
+            throw new IllegalArgumentException("replace(int start, int limit, char[] srcChars, int srcStart, int srcLimit)");
+        }
+        if (newSize + gapAlloc > 0) {
+            fArray = allocate(newSize + gapAlloc);
+            if (srcLength > 0) {
+                System.arraycopy(srcChars, srcStart, fArray, 0, srcLength);
+                fArraySize = srcLength;
+                fGap = srcLength;
+            }
+        }
+    } else {
+        int newGap = start + srcLength;
+        int gapLimit = fArray.length - fArraySize + fGap;
+
+        if (newSize + gapAlloc > fArray.length) {
+            char[] temp = allocate(newSize + gapAlloc);
+
+            //move stuff at beginning that we aren't writing over
+            if (start > 0) {
+                at(0, start, temp, 0);
+            }
+            //move stuff from src array that we are copying
+            if (srcLength > 0) {
+                System.arraycopy(srcChars, srcStart, temp, start, srcLength);
+            }
+            //move stuff at end that we aren't copying over
+            if (limit < fArraySize) {
+                at(limit, fArraySize, temp, temp.length - newSize + newGap);
+            //change 7-23-96
+            //    at(limit, fArraySize - limit, temp, temp.length - newSize + newGap);
+            }
+
+            fArray = temp;
+        } else {
+            if (start > fGap) {
+                System.arraycopy(fArray, gapLimit, fArray, fGap, start - fGap);
+            }
+            if (limit < fGap) {
+                System.arraycopy(fArray, limit, fArray, fArray.length - newSize + newGap, fGap - limit);
+            }
+            if (srcLength > 0) {
+                System.arraycopy(srcChars, srcStart, fArray, start, srcLength);
+            }
+        }
+
+        fArraySize = newSize;
+        fGap = newGap;
+    }
+  }
+
+  /** Replace the chars from start to limit with the chars from srcStart to srcLimit in srcString. */
+
+  /* This implements optimizations for null text or inserting text that fits at the gap,
+     and defaults to call the core replace routine if these optimizations fail. */
+
+  public void replace(int start, int limit, String srcString, int srcStart, int srcLimit)
+  {
+    invalidate();
+    int length = limit - start;
+    int srcLength = srcLimit - srcStart;
+
+    if (fArray == null) {
+        if (start != 0 || limit != 0) {
+            throw new IllegalArgumentException("replace(int start, int limit, String srcString, int srcStart, int srcLimit)");
+        }
+        if (srcLength > 0) {
+            fArray = allocate(srcLength);
+            srcString.getChars(srcStart, srcLimit, fArray, 0);
+            fArraySize = srcLength;
+            fGap = srcLength;
+        }
+    } else {
+        if (start == fGap && fArray.length >= fArraySize - length + srcLength) {
+            if (srcLimit > 0) {
+                srcString.getChars(srcStart, srcLimit, fArray, fGap);
+                fGap += srcLength;
+            }
+            fArraySize += srcLength - length;
+        } else {
+            replace(start, limit, srcString != null ? srcString.toCharArray() : null, srcStart, srcLimit);
+        }
+    }
+  }
+
+  public void replace(int start, int limit, MConstText srcText, int srcStart, int srcLimit)
+  {
+    invalidate();
+    int length = limit - start;
+    int srcLength = srcLimit - srcStart;
+
+    if (fArray == null) {
+        if (start != 0 || limit != 0) {
+            throw new IllegalArgumentException("replace(int start, int limit, String srcString, int srcStart, int srcLimit)");
+        }
+        if (srcLength > 0) {
+            fArray = allocate(srcLength);
+            srcText.extractChars(srcStart, srcLimit, fArray, 0);
+            fArraySize = srcLength;
+            fGap = srcLength;
+        }
+    } else {
+        if (start == fGap && fArray.length >= fArraySize - length + srcLength) {
+            if (srcLimit > 0) {
+                srcText.extractChars(srcStart, srcLimit, fArray, fGap);
+                fGap += srcLength;
+            }
+            fArraySize += srcLength - length;
+        } else {
+            char[] temp = srcLength == 0? null : new char[srcLength];
+            if (temp != null) {
+                srcText.extractChars(srcStart, srcLimit, temp, 0);
+            }
+            replace(start, limit, temp, 0, srcLimit - srcStart);
+        }
+    }
+  }
+
+  /** Replace the chars from start to limit with srcChar. */
+
+  /* This implements optimizations for null text or replacing a character that fits into the gap,
+     and defaults to call the core replace routine if these optimizations fail. */
+
+  public void replace(int start, int limit, char srcChar)
+  {
+    invalidate();
+    if (fArray == null) {
+        if (start != 0 || limit != 0) {
+            throw new IllegalArgumentException("replace(int start, int limit, char srcChar)");
+        }
+        fArray = allocate(1);
+        fArray[0] = srcChar;
+        fArraySize = 1;
+        fGap = 1;
+    } else {
+        int length = limit - start;
+        if (start == fGap && fArray.length > fArraySize - length) {
+            fArray[fGap] = srcChar;
+            fGap += 1;
+            fArraySize += 1 - length;
+        } else {
+            replace(start, limit, new char[] { srcChar} , 0, 1);
+        }
+    }
+  }
+
+  /** Return the char at pos. */
+
+  public char at(int pos)
+  {
+    if (pos < 0 || pos >= fArraySize) {
+      throw new IllegalArgumentException();
+    }
+    return pos < fGap ? fArray[pos] : fArray[fArray.length - fArraySize + pos];
+  }
+
+  /** Copy the chars from start to limit to dst starting at dstStart. */
+
+  public void at(int start, int limit, char[] dst, int dstStart)
+  {
+    int length = limit - start;
+
+    if (start < 0 || limit < start || limit > fArraySize) {
+        throw new IllegalArgumentException();
+    }
+
+    if (limit <= fGap) {
+        System.arraycopy(fArray, start, dst, dstStart, length);
+    } else if (start >= fGap) {
+        System.arraycopy(fArray, fArray.length - fArraySize + start, dst, dstStart, length);
+    } else {
+        System.arraycopy(fArray, start, dst, dstStart, fGap - start);
+        System.arraycopy(fArray, fArray.length - fArraySize + fGap, dst, dstStart + fGap - start, limit - fGap);
+    }
+  }
+
+  /** Return the number of chars in the buffer. */
+
+  public final int length()
+  {
+    return fArraySize;
+  }
+
+  /** Return the number of chars the buffer can hold before it must reallocate. */
+
+  public final int capacity()
+  {
+    return fArray != null ? fArray.length : 0;
+  }
+
+  /** Reserve capacity chars at start. Utility to optimize a sequence of operations at start. */
+
+  public void reserveCapacity(int start, int capacity)
+  {
+    replace(start, start, (char[])null, 0, capacity);
+  }
+
+  /** Minimize the storage used by the buffer. */
+
+  public void compress()
+  {
+    invalidate();
+    if (fArraySize == 0) {
+        fArray = null;
+        fGap = 0;
+    } else if (fArraySize != fArray.length) {
+        char[] temp = new char[fArraySize];
+        at(0, fArraySize, temp, 0);
+        fArray = temp;
+        fGap = fArraySize;
+    }
+  }
+
+  /** Display the buffer. */
+
+  public String toString()
+  {
+    if (fArray != null) {
+        return new StringBuffer()
+        .append("limit: ").append(fArray.length)
+        .append(", size: ").append(fArraySize)
+        .append(", gap: ").append(fGap)
+        .append(", ").append(fArray, 0, fGap)
+        .append(fArray, fArray.length - fArraySize + fGap, fArraySize - fGap)
+        .toString();
+    } else {
+        return new String("The buffer is empty.");
+    }
+  }
+
+  public CharacterIterator createCharacterIterator(int start, int limit) {
+
+    Validation val = getValidation();
+    return new CharBufferIterator(start, limit, fArray, fArraySize, fGap, val);
+  }
+
+  /** The resizing algorithm. Return a value >= minSize. */
+
+  protected int allocation(int minSize)
+  {
+    //    return (minSize + kGrowSize) & ~(kGrowSize - 1);
+    return minSize < kGrowSize ? kGrowSize : (minSize * 2 + kGrowSize) & ~(kGrowSize - 1);
+  }
+
+  /** Allocate a new character array of limit >= minSize. */
+
+  protected char[] allocate(int minSize)
+  {
+    return new char[allocation(minSize)];
+  }
+}
diff --git a/src/com/ibm/richtext/styledtext/CharBufferIterator.java b/src/com/ibm/richtext/styledtext/CharBufferIterator.java
new file mode 100755
index 0000000..e58d055
--- /dev/null
+++ b/src/com/ibm/richtext/styledtext/CharBufferIterator.java
@@ -0,0 +1,129 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+package com.ibm.richtext.styledtext;
+
+import java.text.CharacterIterator;
+
+final class CharBufferIterator implements CharacterIterator,
+                                          Cloneable
+{
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+    private int fRangeStart;
+    private int fRangeLimit;
+    private int fCurrentIndex;
+    private char fStorage[];
+    private int fGap;
+    private int fGapLength;
+    private Validation fValidation;
+
+    CharBufferIterator(int start,
+                       int limit,
+                       char[] storage,
+                       int length,
+                       int gap,
+                       Validation validation) {
+
+        if (start > limit) {
+            throw new IllegalArgumentException("start > limit");
+        }
+        fRangeStart = start;
+        fRangeLimit = limit;
+        fCurrentIndex = fRangeStart;
+        fStorage = storage;
+        fGap = gap;
+        fGapLength = (storage==null? 0 : storage.length) - length;
+        fValidation = validation;
+    }
+
+    private void checkValidation() {
+
+        if (!fValidation.isValid()) {
+            throw new Error("Iterator is no longer valid");
+        }
+    }
+
+    public char first()
+    {
+        return setIndex(fRangeStart);
+    }
+
+    public char last()
+    {
+        return setIndex(fRangeLimit - 1);
+    }
+
+    public char current()
+    {
+        checkValidation();
+        if (fCurrentIndex < fRangeStart || fCurrentIndex >= fRangeLimit)
+            return DONE;
+        int i = (fCurrentIndex < fGap) ? fCurrentIndex : (fCurrentIndex + fGapLength);
+        return fStorage[i];
+    }
+
+    public char next()
+    {
+        checkValidation();
+        fCurrentIndex++;
+        if (fCurrentIndex >= fRangeLimit)
+        {
+            fCurrentIndex = fRangeLimit;
+            return DONE;
+        }
+        int i = (fCurrentIndex < fGap) ? fCurrentIndex : (fCurrentIndex + fGapLength);
+        return fStorage[i];
+    }
+
+    public char previous()
+    {
+        fCurrentIndex--;
+        if (fCurrentIndex >= fRangeStart)
+            return current();
+        fCurrentIndex = fRangeStart;
+        return DONE;
+    }
+
+    public char setIndex(int i)
+    {
+        if (i < fRangeStart || i > fRangeLimit)
+            throw new IllegalArgumentException("Invalid position");
+        fCurrentIndex = i;
+        return current();
+    }
+
+    public int getBeginIndex()
+    {
+        return fRangeStart;
+    }
+
+    public int getEndIndex()
+    {
+        return fRangeLimit;
+    }
+
+    public int getIndex()
+    {
+        return fCurrentIndex;
+    }
+
+    public Object clone()
+    {
+        try {
+            return super.clone();
+        }
+        catch (CloneNotSupportedException e) {
+            return null;
+        }
+    }
+}
diff --git a/src/com/ibm/richtext/styledtext/FastIntBinarySearch.java b/src/com/ibm/richtext/styledtext/FastIntBinarySearch.java
new file mode 100755
index 0000000..c993e297
--- /dev/null
+++ b/src/com/ibm/richtext/styledtext/FastIntBinarySearch.java
@@ -0,0 +1,115 @@
+/*
+*   Copyright (C) 1996-2004, International Business Machines
+*   Corporation and others.  All Rights Reserved.
+*/
+
+/*
+    7/29/96
+        Modified to search portions of an integer array.  Should be retested.
+*/
+
+package com.ibm.richtext.styledtext;
+
+/**
+ * This class searches a segment of an array of integers.  The segment
+ * must be sorted in ascending order (but this class does not verify this).
+ * Also, this class aliases the array;  if the array is modified later the
+ * search results are undefined.
+ */
+final class FastIntBinarySearch
+{
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+    private int dataArray[];
+    private int auxStart;
+    private int power;
+
+    private int fFirstIndex;
+
+    private static final int exp2[] = { 1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384, 32768, 65536, 131072 };
+
+    public FastIntBinarySearch(int data[])
+    {
+        this(data, 0, data.length);
+    }
+
+    public FastIntBinarySearch(int data[], int firstValidIndex, int validLength)
+    {
+        setData(data, firstValidIndex, validLength);
+    }
+    
+    public void setData(int data[]) {
+        
+        setData(data, 0, data.length);
+    }
+    
+    public void setData(int data[], int firstValidIndex, int validLength) {
+
+        if (data.length < 1) throw new IllegalArgumentException();
+        if (data.length >= exp2[exp2.length-1]) throw new IllegalArgumentException();
+
+        dataArray = data;
+        fFirstIndex = firstValidIndex;
+
+        for (power = exp2.length-1; power > 0 && validLength < exp2[power]; power--) {}
+
+        // at this point, array.length >= 2^power
+
+        auxStart = validLength - exp2[power];
+    }
+    
+    /**
+     * Return the index in the array of the first element which is at least
+     * as large as <tt>value</tt>.  If value is larger than the largest
+     * element in the array the last valid index in the array is returned.
+     */
+    public int findIndex(int value)
+    {
+        int index = exp2[power]-1 + fFirstIndex;
+        if (value >= dataArray[auxStart + fFirstIndex]) {
+            index += auxStart;
+        }
+
+        // at this point, index is the "upper limit" of the search
+
+        switch (power) {
+        case 17:
+            if (value < dataArray[index-65536]) index -= 65536;
+        case 16:
+            if (value < dataArray[index-32768]) index -= 32768;
+        case 15:
+            if (value < dataArray[index-16384]) index -= 16384;
+        case 14:
+            if (value < dataArray[index-8192]) index -= 8192;
+        case 13:
+            if (value < dataArray[index-4096]) index -= 4096;
+        case 12:
+            if (value < dataArray[index-2048]) index -= 2048;
+        case 11:
+            if (value < dataArray[index-1024]) index -= 1024;
+        case 10:
+            if (value < dataArray[index-512]) index -= 512;
+        case 9:
+            if (value < dataArray[index-256]) index -= 256;
+        case 8:
+            if (value < dataArray[index-128]) index -= 128;
+        case 7:
+            if (value < dataArray[index-64]) index -= 64;
+        case 6:
+            if (value < dataArray[index-32]) index -= 32;
+        case 5:
+            if (value < dataArray[index-16]) index -= 16;
+        case 4:
+            if (value < dataArray[index-8]) index -= 8;
+        case 3:
+            if (value < dataArray[index-4]) index -= 4;
+        case 2:
+            if (value < dataArray[index-2]) index -= 2;
+        case 1:
+            if (value < dataArray[index-1]) index -= 1;
+        case 0:
+            if (value < dataArray[index]) index -= 1;
+        }
+        return index;
+    }
+}
diff --git a/src/com/ibm/richtext/styledtext/MCharBuffer.java b/src/com/ibm/richtext/styledtext/MCharBuffer.java
new file mode 100755
index 0000000..43abf71
--- /dev/null
+++ b/src/com/ibm/richtext/styledtext/MCharBuffer.java
@@ -0,0 +1,36 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+package com.ibm.richtext.styledtext;
+import java.text.CharacterIterator;
+
+/** A dynamic character array optimized for sequences of insert
+    or delete operations in a local region. */
+
+abstract class MCharBuffer
+{
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+    abstract void replace(int start, int limit, MConstText text, int srcStart, int srcLimit);
+    abstract void replace(int start, int limit, char[] srcChars, int srcStart, int srcLimit);
+    abstract void replace(int start, int limit, String srcString, int srcStart, int srcLimit);
+    abstract void replace(int start, int limit, char srcChar);
+    abstract CharacterIterator createCharacterIterator(int start, int limit);
+    abstract char at(int pos);
+    abstract void at(int start, int limit, char[] dst, int dstStart);
+
+    abstract int  length();
+
+    abstract int  capacity();
+    abstract void reserveCapacity(int pos, int length);
+    abstract void compress();
+}
diff --git a/src/com/ibm/richtext/styledtext/MConstText.java b/src/com/ibm/richtext/styledtext/MConstText.java
new file mode 100755
index 0000000..7018d09
--- /dev/null
+++ b/src/com/ibm/richtext/styledtext/MConstText.java
@@ -0,0 +1,323 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+package com.ibm.richtext.styledtext;
+
+import com.ibm.richtext.textlayout.attributes.AttributeMap;
+import java.text.CharacterIterator;
+import java.awt.datatransfer.DataFlavor;
+
+/**
+ * MConstText is a base class for text with multiple character and
+ * paragraph styles.  The text is a sequence of Unicode characters,
+ * represented by <code>char</code>.  Character and paragraph
+ * styles are represented by the <code>AttributeMap</code> class.
+ * <p>
+ * Characters in the text are accessed with an integer index using the
+ * <code>at</code> method.
+ * Valid indices are between 0 and (length-1), where length is the number
+ * of characters in the text.  Additionally, the
+ * characters in the text may be accessed through a
+ * <code>java.text.CharacterIterator</code>.
+ * <p>
+ * Every character in the text has a character style associated with it,
+ * represented by the <code>AttributeMap</code> class.  The character
+ * style for a particular character can be obtained using the
+ * <code>characterStyleAt</code> method.
+ * <p>
+ * Each character in the text is contained in a paragraph.  A paragraph
+ * is a range of text including and terminated by a
+ * paragraph separator (either <code>\n</code> or <code>U+2029</code>).
+ * Every
+ * paragraph has a paragraph style associated with it, represented
+ * by the <code>AttributeMap</code> class.  Paragraph boundaries and
+ * styles can be obtained from the MConstText.
+ * <p>
+ * This class does not have methods for modifying the text or styles.
+ * However, subclasses may add this capability, so it is not safe to
+ * assume that an MConstText instance is immutable.  In particular,
+ * the MText class adds modification protocol to this class.  Clients
+ * can detect whether an MConstText has changed by keeping track of its
+ * timestamp.
+ * <p>
+ * A DataFlavor for clipboard content is defined in this class.  Using
+ * this DataFlavor insures that all clients will recognize MConstText
+ * content on the clipboard.
+ * @see MText
+ * @see AttributeMap
+ * @see java.text.CharacterIterator
+ * @see java.awt.datatransfer.DataFlavor
+ */
+public abstract class MConstText {
+
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+    /**
+     * The DataFlavor for MConstText clipboard content.  Used to
+     * indicate that clipboard data has an MConstText representation.
+     */
+    public static final DataFlavor styledTextFlavor =
+                            new DataFlavor(MConstText.class, "Styled Text");
+
+    protected MConstText() {
+    }
+
+//========================================================
+// CHARACTER ACCESS
+//========================================================
+/**
+* Return the character at offset <code>pos</code>.
+* @param pos a valid offset into the text
+* @return the character at offset <code>pos</code>
+*/
+    public abstract char at(int pos);
+
+/**
+* Copy the characters in the range [<code>start</code>, <code>limit</code>)
+* into the array <code>dst</code>, beginning at <code>dstStart</code>.
+* @param start offset of first character which will be copied into the array
+* @param limit offset immediately after the last character which will be copied into the array
+* @param dst array in which to copy characters.  The length of <code>dst</code> must be at least
+* (<code>dstStart + limit - start</code>).
+*/
+    public abstract void extractChars(int start, int limit, char[] dst, int dstStart);
+
+/**
+* Create an MConstText containing the characters and styles in the range
+* [<code>start</code>, <code>limit</code>).
+* @param start offset of first character in the new text
+* @param limit offset immediately after the last character in the new text
+* @return an MConstText object containing the characters and styles in the given range
+*/
+    public abstract MConstText extract(int start, int limit);
+
+/**
+* Create a <code>java.text.CharacterIterator</code> over all
+* of the characters in the text.  Default implementation calls
+* <code>createCharacterIterator(0, length())</code>
+* @return a <code>java.text.CharacterIterator</code> over all
+*      of the characters in the text
+*/
+    public CharacterIterator createCharacterIterator() {
+
+        return createCharacterIterator(0, length());
+    }
+
+/**
+* Create a <code>java.text.CharacterIterator</code> over the
+* given range of characters in the text.
+* @param start the first index in the iteration range
+* @param limit the index after the last character in the iteration range
+* @return a <code>java.text.CharacterIterator</code> over the
+*     given range
+*/
+    public abstract CharacterIterator createCharacterIterator(int start,
+                                                              int limit);
+
+
+//========================================================
+// SIZE/CAPACITY
+//========================================================
+/**
+* Return the length of the MConstText object.  The length is the number of characters in the text.
+* @return the length of the MConstText object
+*/
+    public abstract int length();
+
+//========================================================
+// Character styles
+//========================================================
+
+/**
+* Return the index of the first character in the character style run
+* containing pos.  All characters in a style run have the same character
+* style.
+* @return the style at offset <code>pos</code>
+*/
+    public abstract int characterStyleStart(int pos);
+
+/**
+* Return the index after the last character in the character style run
+* containing pos.  All characters in a style run have the same character
+* style.
+* @return the style at offset <code>pos</code>
+*/
+    public abstract int characterStyleLimit(int pos);
+
+/**
+* Return the style applied to the character at offset <code>pos</code>.
+* @param pos a valid offset into the text
+* @return the style at offset <code>pos</code>
+*/
+    public abstract AttributeMap characterStyleAt(int pos);
+
+//========================================================
+// PARAGRAPH BOUNDARIES
+//========================================================
+/**
+* Return the start of the paragraph containing the character at offset <code>pos</code>.
+* @param pos a valid offset into the text
+* @return the start of the paragraph containing the character at offset <code>pos</code>
+*/
+    public abstract int paragraphStart(int pos);
+
+/**
+* Return the limit of the paragraph containing the character at offset <code>pos</code>.
+* @param pos a valid offset into the text
+* @return the limit of the paragraph containing the character at offset <code>pos</code>
+*/
+    public abstract int paragraphLimit(int pos);
+
+/**
+* Return the paragraph style applied to the paragraph containing offset <code>pos</code>.
+* @param pos a valid offset into the text
+* @return the paragraph style in effect at <code>pos</code>
+*/
+    public abstract AttributeMap paragraphStyleAt(int pos);
+
+/**
+* Return the current time stamp.  The time stamp is
+* incremented whenever the contents of the MConstText changes.
+* @return the current paragraph style time stamp
+*/
+    public abstract int getTimeStamp();
+
+/**
+* Return the start of the damaged range.  If the start is not less
+* than the the limit of the damaged range, then the damaged range
+* is empty.
+* @return the start of the damaged range
+* @see #damagedRangeLimit
+* @see MText#resetDamagedRange
+*/
+    public abstract int damagedRangeStart();
+
+/**
+* Return the limit of the damaged range.  If the start is not less
+* than the the limit of the damaged range, then the damaged range
+* is empty.
+* @return the start of the damaged range
+* @see #damagedRangeStart
+* @see MText#resetDamagedRange
+*/
+    public abstract int damagedRangeLimit();
+
+//========================================================
+// Equality and hashCode
+//========================================================
+/**
+* Compare this to another Object for equality.  This is
+* equal to rhs if rhs is an MConstText which is equal
+* to this.
+* @param rhs Object to compare to
+* @return true if this equals <code>rhs</code>
+*/
+    public final boolean equals(Object rhs) {
+
+        MConstText otherText;
+
+        try {
+            otherText = (MConstText) rhs;
+        }
+        catch(ClassCastException e) {
+            return false;
+        }
+
+        return equals(otherText);
+    }
+
+/**
+* Compare this to another MConstText for equality.  This is
+* equal to rhs if the characters and styles in rhs are the
+* same as this.  Subclasses may override this implementation
+* for efficiency, but they should preserve these semantics.
+* Determining that two MConstText instances are equal may be
+* an expensive operation, since every character and style must
+* be compared.
+* @param rhs Object to compare to
+* @return true if this equals <code>rhs</code>
+*/
+    public boolean equals(MConstText rhs) {
+
+        if (rhs == null) {
+            return false;
+        }
+
+        if (rhs == this) {
+            return true;
+        }
+
+        if (hashCode() != rhs.hashCode()) {
+            return false;
+        }
+
+        int length = length();
+        if (length != rhs.length()) {
+            return false;
+        }
+
+        for (int i=0; i < length; i++) {
+            if (i < length && at(i) != rhs.at(i)) {
+                return false;
+            }
+        }
+
+        for (int start = 0; start < length;) {
+            if (!characterStyleAt(start).equals(rhs.characterStyleAt(start))) {
+                return false;
+            }
+            int limit = characterStyleLimit(start);
+            if (limit != rhs.characterStyleLimit(start)) {
+                return false;
+            }
+            start = limit;
+        }
+
+        for (int start = 0; start < length;) {
+
+            if (!paragraphStyleAt(start).equals(rhs.paragraphStyleAt(start))) {
+                return false;
+            }
+            start = paragraphLimit(start);
+        }
+
+        return paragraphStyleAt(length).equals(rhs.paragraphStyleAt(length));
+    }
+
+    /**
+     * Return the hashCode for this MConstText.  An empty MConstText
+     * has hashCode 0;  a nonempty MConstText's hashCode is
+     * <blockquote><pre>
+     *       at(0) +
+     *       at(length/2)*31^1 +
+     *       at(length-1)*31^2 +
+     *       characterStyleAt(0).hashCode()*31^3 +
+     *       paragraphStyleAt(length-1).hashCode()*31^4
+     * </pre></blockquote>
+     * where <code>^</code> is exponentiation (not bitwise XOR).
+     */
+    public final int hashCode() {
+
+        int hashCode = 0;
+        int length = length();
+
+        if (length > 0) {
+            hashCode = paragraphStyleAt(length-1).hashCode();
+            hashCode = hashCode*31 + characterStyleAt(0).hashCode();
+            hashCode = hashCode*31 + at(length-1);
+            hashCode = hashCode*31 + at(length/2);
+            hashCode = hashCode*31 + at(0);
+        }
+
+        return hashCode;
+    }
+}
diff --git a/src/com/ibm/richtext/styledtext/MParagraphBuffer.java b/src/com/ibm/richtext/styledtext/MParagraphBuffer.java
new file mode 100755
index 0000000..ea901e0
--- /dev/null
+++ b/src/com/ibm/richtext/styledtext/MParagraphBuffer.java
@@ -0,0 +1,91 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+package com.ibm.richtext.styledtext;
+
+import com.ibm.richtext.textlayout.attributes.AttributeMap;
+
+abstract class MParagraphBuffer
+{
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+
+/**
+* Returns the start of the paragraph containing offset <tt>pos</tt>.
+*/
+    abstract int paragraphStart(int pos);
+
+/**
+* Returns the limit of the paragraph containing offset <tt>pos</tt>.
+*/
+    abstract int paragraphLimit(int pos);
+
+/**
+* Returns the style of the paragraph containing offset <tt>pos</tt>.
+*/
+    abstract AttributeMap paragraphStyleAt(int offset);
+
+/**
+* Process a character insertion at offset <tt>start</tt>.
+* If a paragraph break was inserted, propogate paragraph style at
+* <tt>start</tt> to new paragraph.
+*/
+    abstract void insertText(int start, char insertedChar);
+
+/**
+* Process character insertion at offset <tt>start</tt>.
+* Each new paragraph gets paragraph style at
+* <tt>start</tt>.
+*/
+    abstract void insertText(int start,
+                             char[] srcChars,
+                             int srcStart,
+                             int srcLimit);
+
+/**
+* Process deletion by removing paragraph breaks contained in
+* deleted range.  Propogate paragraph styles backward, if necessary.
+*/
+    abstract void deleteText(int start,
+                             int limit,
+                             int[] damagedRange);
+
+/*
+* Replace paragraph breaks/styles between start and limit with paragraph breaks/styles
+* from <tt>srcText</tt>.
+* @param start an offset into the text
+* @param limit the index after the last character to replace
+* @param srcText the text from which new paragraphs are taken
+* @param srcStart the start of the range in <code>srcText</code> to copy
+* @param srcLimit the first index after the range in <code>srcText</code> to copy
+*/
+    abstract void replace(int start,
+                          int limit,
+                          MConstText srcText,
+                          int srcStart,
+                          int srcLimit,
+                          int[] damagedRange);
+
+/**
+* Set the style of all paragraphs containing offsets in the range [start, limit) to
+* <tt>style</tt>.
+*/
+    abstract boolean modifyParagraphStyles(int start,
+                                           int limit,
+                                           StyleModifier modifier,
+                                           int[] damagedRange);
+
+/**
+* Minimize the amount of memory used by this object.
+*/
+    abstract void compress();
+}
diff --git a/src/com/ibm/richtext/styledtext/MStyleBuffer.java b/src/com/ibm/richtext/styledtext/MStyleBuffer.java
new file mode 100755
index 0000000..8629e57
--- /dev/null
+++ b/src/com/ibm/richtext/styledtext/MStyleBuffer.java
@@ -0,0 +1,110 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+package com.ibm.richtext.styledtext;
+import com.ibm.richtext.textlayout.attributes.AttributeMap;
+
+/*
+    8/1/96
+        Style -> ResolvedStyle
+    8/7/96 jf
+        added countStyles and getStyles protocol
+    8/13/96
+        ResolvedStyle->Style
+    8/22/96 jf
+        Removed the setIterator methods.
+*/
+/*
+* MStyleBuffer is the abstract interface for a class which maintains
+* style runs in an <tt>MText</tt>.  A "style run" consists of a
+* style and the interval on which the style applies.
+* <p>
+* MStyleBuffer includes methods to call when text is inserted into
+* or deleted from the <tt>MText</tt>.  These methods update the
+* style runs in accordance with the commonly accepted behavior for
+* style runs.
+* <p>
+* Additionally, MStyleBuffer provides methods for replacing the style runs on a
+* text range with another set of style runs.  MStyleBuffer does not do style "combining" (for
+* example, adding the bold attribute to text which is italicized);  clients are
+* responsible for computing the combined styles, and passing these styles into
+* MStyleBuffer.
+* <p>
+* MStyleBuffer supplies a method for replacing the style runs on a text range with the runs
+* represented in an <tt>MStyleRunIterator</tt>.  This is useful for implementing paste
+* operations, in which the style runs on a range of text are replaced by style runs
+* from an external source.
+* <p>
+*
+* @author John Raley
+*
+* @see AttributeMap
+* @see MText
+*/
+abstract class MStyleBuffer
+{
+
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+/**
+* Respond to an insertion in the text.  The length of the last style run which
+* begins before <tt>start</tt> is increased by <tt>limit-start</tt>.
+* @param start the offset where the insertion began
+* @param limit the offset where the insertion ended
+*/
+    abstract void insertText(int start, int limit);
+
+/**
+* Respond to a deletion in the text.  The last style run before
+* <tt>start</tt> is truncated to end at <tt>start</tt>.  The
+* style run containing (<tt>start</tt>+<tt>length</tt>) is set to begin
+* at (<tt>start</tt>+<tt>length</tt>).  Runs in between are deleted.
+* If the deletion occurs entirely within one style run, the length of the style
+* run is reduced by <tt>length</tt>.
+* @param start the offset where the deletion began
+* @param length the offset where the deletion ended
+*/
+    abstract void deleteText(int start, int limit);
+
+/*
+* Replace style runs between offsets <tt>start</tt> and <tt>limit</tt> with styles in
+* <tt>iter</tt>.  This method can be used to perform a "paste" operation.
+* @param start the offset where the replacement begins
+* @param limit the offset where the replacement ends
+* @param iter an <tt>MStyleRunIterator</tt> containing style runs which will replace old
+* style runs.
+*/
+    abstract void replace(int start, int limit, MConstText srcText, int srcStart, int srcLimit);
+
+    abstract int styleStart(int pos);
+    abstract int styleLimit(int pos);
+
+/**
+* Return style at location <tt>pos</tt>.
+* @param pos an offset into the text
+* @returns the style of the character at <tt>offset</tt>
+*/
+    abstract AttributeMap styleAt(int pos);
+
+/**
+ * Return true if styles were modified.
+ */
+    abstract boolean modifyStyles(int start,
+                                  int limit,
+                                  StyleModifier modifier,
+                                  int[] damagedRange);
+
+/**
+* Minimize the amount of memory used by this object.
+*/
+    abstract void compress();
+}
diff --git a/src/com/ibm/richtext/styledtext/MTabRuler.java b/src/com/ibm/richtext/styledtext/MTabRuler.java
new file mode 100755
index 0000000..c421f72
--- /dev/null
+++ b/src/com/ibm/richtext/styledtext/MTabRuler.java
@@ -0,0 +1,111 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+package com.ibm.richtext.styledtext;
+
+/**
+ * This interface represents a sequence of TabStops, ordered by position.
+ * The first
+ * TabStop in the ruler can be obtained with the <code>firstTab</code>
+ * method;  subsequent TabStops are obtained with the <code>nextTab</code>
+ * method.
+ * <p>
+ * If a TabStop with type <code>TabStop.kAuto</code> is returned, all tabs
+ * after that TabStop will also have type <code>TabStop.kAuto</code>, and
+ * their positions will be multiples of <code>autoSpacing</code>.
+ * @see TabStop
+ */
+public abstract class MTabRuler
+{
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+    /**
+     * Return first tab in the ruler.  If an autoTab, it is at position zero, and
+     * all subsequent tabs will be autotabs at autoSpacing intervals.
+     */
+    public abstract TabStop firstTab();
+
+    /**
+     * Return the first tab in the ruler with fPosition > position.  If it is an
+     * autotab, it is at an increment of autoSpacing, and all subsequent tabs will be
+     * autotabs at autoSpacing intervals.
+     */
+    public abstract TabStop nextTab(int position);
+
+    /**
+     * Return the interval for autotabs.
+     */
+    public abstract int autoSpacing();
+
+    /**
+     * Compute the hashCode for this ruler.  The hashCode is the
+     * hashCode of the first tab multiplied by the autoSpacing
+     * interval.
+     */
+    public final int hashCode() {
+
+        return firstTab().hashCode() * autoSpacing();
+    }
+
+    /**
+     * Return true if this tab ruler contains the given tab.
+     * @param tabToTest the tab to search for
+     * @return true if this tab ruler contains <code>tabToTest</code>
+     */
+    public boolean containsTab(TabStop tabToTest) {
+
+        for (TabStop tab = firstTab();
+                        tab.getType() != TabStop.kAuto;
+                        tab = nextTab(tab.getPosition())) {
+            if (tab.getPosition() >= tabToTest.getPosition()) {
+                return tabToTest.equals(tab);
+            }
+        }
+
+        return false;
+    }
+
+    /**
+     * Return a tab ruler identical to this ruler, except with the
+     * given tab added.  This ruler is not modified.
+     * @param tabToAdd the tab to add to the new tab ruler
+     * @return an MTabRuler resulting from this operation
+     */
+    public MTabRuler addTab(TabStop tabToAdd) {
+
+        return StandardTabRuler.addTabToRuler(this, tabToAdd);
+    }
+
+    /**
+     * Return a tab ruler identical to the given ruler, except with the
+     * tab at the given position removed.  This ruler is not modified.
+     * @param position the position of the tab to remove from the new tab ruler
+     * @return an MTabRuler resulting from this operation
+     */
+    public MTabRuler removeTab(int position) {
+
+        return StandardTabRuler.removeTabFromRuler(this, position);
+    }
+
+    /**
+     * Return a tab ruler identical to this ruler, except with the
+     * tab at position <code>fromPosition</code> moved to position
+     * <code>toPosition</code>.  This ruler is not modified.
+     * @param fromPosition the position of the tab to move
+     * @param toPosition the new position of the tab
+     * @return an MTabRuler resulting from this operation
+     */
+    public MTabRuler moveTab(int fromPosition, int toPosition) {
+
+        return StandardTabRuler.moveTabOnRuler(this, fromPosition, toPosition);
+    }
+}
\ No newline at end of file
diff --git a/src/com/ibm/richtext/styledtext/MText.java b/src/com/ibm/richtext/styledtext/MText.java
new file mode 100755
index 0000000..37c39fb
--- /dev/null
+++ b/src/com/ibm/richtext/styledtext/MText.java
@@ -0,0 +1,241 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+package com.ibm.richtext.styledtext;
+
+import com.ibm.richtext.textlayout.attributes.AttributeMap;
+
+/*
+    Change history:
+
+    10/29/96 jef    split the character and paragraph style access functions
+    8/14/96 sfb     eliminated StyleSheetIterator
+    8/21/96 jef        completed abstract interface (changed iterator classes etc.)
+    1/30/97 rtg     cleaned up interface, brought in functions from SimpleTextView
+    7/31/98 jbr switched from Style to AttributeMap
+
+*/
+
+/**
+ * This class is a mutable extension of MConstText.  It has methods for
+ * inserting, appending, replacing, and removing styled text.  Additionally,
+ * it has methods for modifying paragraph and character styles.
+ * <p>
+ * Styled characters (from another <code>MConstText</code> instance) added
+ * to the text retain their original character styles.  The style of plain characters
+ * (specified as a <code>char</code> or <code>char[]</code>) is always
+ * specified explicitly when they are added to the text.  MText does not do
+ * character style "propagation", where unstyled characters take on the
+ * style of previous characters.  Clients can implement this behavior by
+ * specifying the styles to propagate.
+ * <p>
+ * When unstyled characters are added to the text, their paragraph style
+ * is the paragraph style in effect immediately after the last new character.
+ * If the characters contain paragraph separators, then every new paragraph
+ * will have the same paragraph style.  When styled characters are added
+ * to the text, their resulting paragraph style is determined by the
+ * following rule:
+ * <blockquote>
+ * The paragraph styles in the new text
+ * become the paragraph styles in the target text, with the exception of the
+ * last paragraph in the new text, which takes on the paragraph style in
+ * effect immediately after the inserted text.
+ * If the new text is added at the end of the target text, the new text's
+ * paragraph styles take effect in any paragraph affected by the addition.
+ * </blockquote>
+ * For example, suppose there is a single paragraph of text with style 'A',
+ * delimited with a paragraph separator 'P':
+ * <blockquote>
+ * AAAAAAP
+ * </blockquote>
+ * Suppose the following styled paragraphs are inserted into the above text
+ * after the fourth character:
+ * <blockquote>
+ * BBBBPCCCPDDD
+ * </blockquote>
+ * Then the original paragraph style of each character is:
+ * <blockquote>
+ * AAAABBBBPCCCPDDDAAP
+ * </blockquote>
+ * The resulting paragraph styles are:
+ * <blockquote>
+ * BBBBBBBBPCCCPAAAAAP
+ * </blockquote>
+ * Similarly, if characters are deleted, the paragraph style immediately
+ * after the deletion takes effect on the paragraph containing the deletion.
+ * So, if characters 4-16 were deleted in the example above, the paragraph
+ * styles would be:
+ * <blockquote>
+ * AAAAAAP
+ * </blockquote>
+ * This paragraph-style propagation policy is sometimes referred to as <strong>
+ * following styles win</strong>, since styles at the end of the paragraph
+ * become the style for the entire paragraph.
+ * <p>
+ * This class can accumulate a <strong>damaged range</strong> - an interval in
+ * which characters, character styles, or paragraph styles have changed.  This is
+ * useful for clients such as text editors which reformat and draw text after
+ * changes.  Usually the damaged range is exactly the range of characters
+ * operated upon;  however, larger ranges may be damaged if paragraph styles
+ * change.
+ * @see StyleModifier
+ */
+
+public abstract class MText extends MConstText
+{
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+    protected MText() {
+    }
+
+//==================================================
+// MAIN CHARACTER MODIFICATION FUNCTIONS
+//==================================================
+/**
+* Replace the characters and styles in the range [<code>start</code>, <code>limit</code>) with the characters
+* and styles in <code>srcText</code> in the range [<code>srcStart</code>, <code>srcLimit</code>).  <code>srcText</code> is not
+* modified.
+* @param start the offset at which the replace operation begins
+* @param limit the offset at which the replace operation ends.  The character and style at
+* <code>limit</code> is not modified.
+* @param srcText the source for the new characters and styles
+* @param srcStart the offset into <code>srcText</code> where new characters and styles will be obtained
+* @param srcLimit the offset into <code>srcText</code> where the new characters and styles end
+*/
+    public abstract void replace(int start, int limit, MConstText srcText, int srcStart, int srcLimit);
+
+/**
+* Replace the characters and styles in the range [<code>start</code>, <code>limit</code>) with the characters
+* and styles in <code>srcText</code>.  <code>srcText</code> is not
+* modified.
+* @param start the offset at which the replace operation begins
+* @param limit the offset at which the replace operation ends.  The character and style at
+* <code>limit</code> is not modified.
+* @param text the source for the new characters and styles
+*/
+    public abstract void replace(int start, int limit, MConstText text);
+
+/**
+* Replace the characters in the range [<code>start</code>, <code>limit</code>) with the characters
+* in <code>srcChars</code> in the range [<code>srcStart</code>, <code>srcLimit</code>).  New characters take on the style
+* <code>charsStyle</code>.
+* <code>srcChars</code> is not modified.
+* @param start the offset at which the replace operation begins
+* @param limit the offset at which the replace operation ends.  The character at
+* <code>limit</code> is not modified.
+* @param srcChars the source for the new characters
+* @param srcStart the offset into <code>srcChars</code> where new characters will be obtained
+* @param srcLimit the offset into <code>srcChars</code> where the new characters end
+* @param charsStyle the style of the new characters
+*/
+    public abstract void replace(int start, int limit, char[] srcChars, int srcStart, int srcLimit, AttributeMap charsStyle);
+
+/**
+* Replace the characters in the range [<code>start</code>, <code>limit</code>) with the character <code>srcChar</code>.
+* The new character takes on the style <code>charStyle</code>
+* @param start the offset at which the replace operation begins
+* @param limit the offset at which the replace operation ends.  The character at
+* <code>limit</code> is not modified.
+* @param srcChar the new character
+* @param charStyle the style of the new character
+*/
+    public abstract void replace(int start, int limit, char srcChar, AttributeMap charStyle);
+
+/**
+* Replace the entire contents of this MText (both characters and styles) with
+* the contents of <code>srcText</code>.
+* @param srcText the source for the new characters and styles
+*/
+    public abstract void replaceAll(MConstText srcText);
+
+/**
+* Insert the contents of <code>srcText</code> (both characters and styles) into this
+* MText at the position specified by <code>pos</code>.
+* @param pos The character offset where the new text is to be inserted.
+* @param srcText The text to insert. */
+    public abstract void insert(int pos, MConstText srcText);
+
+/**
+* Append the contents of <code>srcText</code> (both characters and styles) to the
+* end of this MText.
+* @param srcText The text to append. */
+    public abstract void append(MConstText srcText);
+
+/**
+* Delete the specified range of characters (and styles).
+* @param start Offset of the first character to delete.
+* @param limit Offset of the first character after the range to delete. */
+    public abstract void remove(int start, int limit);
+
+/**
+* Delete all characters and styles.
+*/
+    public abstract void remove();
+
+/**
+* Create an MText containing the characters and styles in the range
+* [<code>start</code>, <code>limit</code>).
+* @param start offset of first character in the new text
+* @param limit offset immediately after the last character in the new text
+* @return an MConstText object containing the characters and styles in the given range
+*/
+    public abstract MText extractWritable(int start, int limit);
+
+
+//==================================================
+// STORAGE MANAGEMENT
+//==================================================
+
+/**
+* Minimize the amount of memory used by the MText object.
+*/
+    public abstract void compress();
+
+//==================================================
+// STYLE MODIFICATION
+//==================================================
+
+/**
+* Set the character style of all characters in the MText object to
+* <code>AttributeMap.EMPTY_ATTRIBUTE_MAP</code>.
+*/
+    public abstract void removeCharacterStyles();
+
+/**
+* Invoke the given modifier on all character styles from start to limit.
+* @param modifier the modifier to apply to the range.
+* @param start the start of the range of text to modify.
+* @param limit the limit of the range of text to modify.
+*/
+    public abstract void modifyCharacterStyles(int start, int limit, StyleModifier modifier);
+
+/**
+* Invoke the given modifier on all paragraph styles in paragraphs
+* containing characters in the range [start, limit).
+* @param modifier the modifier to apply to the range.
+* @param start the start of the range of text to modify.
+* @param limit the limit of the range of text to modify.
+*/
+    public abstract void modifyParagraphStyles(int start, int limit, StyleModifier modifier);
+
+//==================================================
+// DAMAGED RANGE
+//==================================================
+/**
+* Reset the damaged range to an empty interval, and begin accumulating the damaged
+* range.  The damaged range includes every index where a character, character style,
+* or paragraph style has changed.
+* @see #damagedRangeStart
+* @see #damagedRangeLimit
+*/
+    public abstract void resetDamagedRange();
+}
diff --git a/src/com/ibm/richtext/styledtext/ParagraphBuffer.java b/src/com/ibm/richtext/styledtext/ParagraphBuffer.java
new file mode 100755
index 0000000..e5cad97
--- /dev/null
+++ b/src/com/ibm/richtext/styledtext/ParagraphBuffer.java
@@ -0,0 +1,714 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+package com.ibm.richtext.styledtext;
+
+import java.io.Externalizable;
+import java.io.ObjectInput;
+import java.io.ObjectOutput;
+import java.io.IOException;
+
+import com.ibm.richtext.textlayout.attributes.AttributeMap;
+
+/*
+    Right now, you have to construct this class with a charBuffer.  That's pretty ugly... */
+
+/*
+    8/8/96
+        Added replace method, which reads styles from a ParagraphIterator.
+        Also, added a constructor which takes a ParagraphIterator.
+        These methods are for copy/paste support.
+
+    8/22/96
+        Replace method (which takes an iterator as an argument) tests for a
+        0-length iterator.
+
+    9/30/96
+        {jbr} modified paragraphLimit();
+
+    10/23/96
+        This class now maintains paragraph styles.  Also has a timestamp.
+
+    10/25/96
+        Holds on to Style instead of Style.
+
+    7/31/98 Switched to AttributeMap
+
+*/
+
+/**
+* This class stores offsets where paragraph breaks occur, and the style applied to
+* each paragraph.
+*
+* The offsets where paragraph breaks occur are stored in a RunArray object.  This is
+* not strictly necessary, but it makes scanning the text for paragraph breaks unnecessary.
+* However, it makes determining where paragraphs start a little confusing.  If there is a
+* paragraph break at offset p, then there will be a paragraph start at offset p+1.
+* If the last character in the text is a paragraph break, there will be a run array entry
+* for that character (and also a paragraph style for that paragraph, even though the
+* style does not apply to any text).
+*
+* The style of the first paragraph in the text is in the fFirstStyle member.  Other
+* paragraph styles are stored in the fStyleTable array, in the following manner:  the
+* paragraph with begins at offset fRunArray.fRunStart[i]+1 has style fStyleTable[i].
+* The style table's "gap range" is kept in sync with the RunArray.
+*
+* This class propogates paragraph styles in the "Microsoft Word" fashion:  styles
+* propogate backward from paragraph breaks.
+*
+* This class maintains a time stamp, which changes every time extra formatting (formatting
+* on a range other than the current selection) is needed;  for example, when a paragraph
+* break is removed.
+*/
+
+
+final class ParagraphBuffer extends MParagraphBuffer implements Externalizable {
+
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+    private static final int kInitialSize = 10;
+    private static final int CURRENT_VERSION = 1;
+    private static final long serialVersionUID = 22356934;
+
+    private RunArray fRunArray;
+    private AttributeMap[] fStyleTable;
+    private AttributeMap fFirstStyle;
+
+    private static final boolean isParagraphBreak(char c) {
+
+        return c =='\u2029' || c == '\n';
+    }
+
+/**
+* Construct a new paragraph buffer from the characters in <tt>charBuffer</tt>.
+*/
+    ParagraphBuffer(MCharBuffer charBuffer) {
+
+        this(charBuffer.length());
+
+        // scan text for paragraph boundaries
+
+        int textLength = fRunArray.getCurTextLength();
+
+        for (int pos=0; pos < textLength; pos++) {
+
+            if (isParagraphBreak(charBuffer.at(pos))) {
+                if (fRunArray.fPosEnd+1 >= fRunArray.fNegStart)
+                    expandStyleTable();
+                fRunArray.fRunStart[++fRunArray.fPosEnd] = pos;
+                fStyleTable[fRunArray.fPosEnd] = fFirstStyle;
+            }
+        }
+
+    }
+
+/**
+* Private constructor.
+*/
+    private ParagraphBuffer(int initialLength) {
+
+        fRunArray = new RunArray(kInitialSize, initialLength);
+        fStyleTable = new AttributeMap[fRunArray.getArrayLength()];
+
+        fFirstStyle = AttributeMap.EMPTY_ATTRIBUTE_MAP;
+    }
+
+    /**
+     * Note: this constructor is ONLY for use by the Serialization
+     * mechanism.  It does not leave this object in a valid state!
+     */
+    public ParagraphBuffer() {
+    }
+
+    public void writeExternal(ObjectOutput out) throws IOException {
+
+        compress();
+        out.writeInt(CURRENT_VERSION);
+        out.writeObject(fRunArray);
+        out.writeObject(fStyleTable);
+        out.writeObject(fFirstStyle);
+    }
+
+    public void readExternal(ObjectInput in) throws IOException,
+                                                ClassNotFoundException {
+
+        if (in.readInt() != CURRENT_VERSION) {
+            throw new IOException("Invalid version of ParagraphBuffer");
+        }
+        fRunArray = (RunArray) in.readObject();
+        fStyleTable = (AttributeMap[]) in.readObject();
+        fFirstStyle = (AttributeMap) in.readObject();
+    }
+
+/**
+* Shift table such that the last positive run starts before pos.
+*/
+    private void shiftTableTo(int pos) {
+
+        int oldNegStart = fRunArray.fNegStart;
+        int oldPosEnd = fRunArray.fPosEnd;
+
+        fRunArray.shiftTableTo(pos);
+
+        if (oldPosEnd > fRunArray.fPosEnd)
+            System.arraycopy(fStyleTable, fRunArray.fPosEnd+1,
+                             fStyleTable, fRunArray.fNegStart,
+                             oldPosEnd-fRunArray.fPosEnd);
+        else if (oldNegStart < fRunArray.fNegStart)
+            System.arraycopy(fStyleTable, oldNegStart,
+                             fStyleTable, oldPosEnd+1,
+                             fRunArray.fNegStart-oldNegStart);
+    }
+
+/**
+* Update the style table to reflect a change in the RunArray's size.
+*/
+    private void handleArrayResize(int oldNegStart) {
+
+        AttributeMap newStyleTable[] = new AttributeMap[fRunArray.getArrayLength()];
+        System.arraycopy(fStyleTable, 0, newStyleTable, 0, fRunArray.fPosEnd+1);
+        System.arraycopy(fStyleTable, oldNegStart, newStyleTable, fRunArray.fNegStart, (fRunArray.getArrayLength()-fRunArray.fNegStart));
+        fStyleTable = newStyleTable;
+    }
+
+    void compress() {
+
+        int oldNegStart = fRunArray.fNegStart;
+        fRunArray.compress();
+        if (fRunArray.fNegStart != oldNegStart) {
+            handleArrayResize(oldNegStart);
+        }
+    }
+
+/**
+* Make more room in run/style tables.
+*/
+    private void expandStyleTable() {
+
+        int oldNegStart = fRunArray.fNegStart;
+        fRunArray.expandRunTable();
+        handleArrayResize(oldNegStart);
+    }
+
+/**
+* Process a character insertion at offset <tt>start</tt>.
+* If a paragraph break was inserted, propogate paragraph style at
+* <tt>start</tt> to new paragraph.
+*/
+    public void insertText(int start, char insertedChar) {
+
+        shiftTableTo(start);
+        if (isParagraphBreak(insertedChar)) {
+            if (fRunArray.fPosEnd+1 >= fRunArray.fNegStart)
+                expandStyleTable();
+            fRunArray.fRunStart[++fRunArray.fPosEnd] = start;
+            fStyleTable[fRunArray.fPosEnd] =
+                (fRunArray.fPosEnd == 0)? fFirstStyle : fStyleTable[fRunArray.fPosEnd-1];
+            fRunArray.runStartsChanged();
+        }
+
+        //fRunArray.fCurTextLength++;
+        fRunArray.addToCurTextLength(1);
+    }
+
+/**
+* Process character insertion at offset <tt>start</tt>.
+* Each new paragraph gets paragraph style at
+* <tt>start</tt>.
+*/
+    public void insertText(int start, char srcChars[], int srcStart, int srcLimit) {
+
+        shiftTableTo(start);
+
+        int adjust = start - srcStart;
+
+        for (int i=srcStart;  i < srcLimit; i++)
+            if (isParagraphBreak(srcChars[i])) {
+                if (fRunArray.fPosEnd+1 >= fRunArray.fNegStart)
+                    expandStyleTable();
+                fRunArray.fRunStart[++fRunArray.fPosEnd] = adjust + i;
+                fStyleTable[fRunArray.fPosEnd] =
+                    (fRunArray.fPosEnd == 0)? fFirstStyle : fStyleTable[fRunArray.fPosEnd-1];
+                fRunArray.runStartsChanged();
+            }
+
+        //fRunArray.fCurTextLength += (srcLimit-srcStart);
+        fRunArray.addToCurTextLength(srcLimit-srcStart);
+    }
+
+/**
+* Process deletion by removing paragraph breaks contained in
+* deleted range.  Propogate paragraph styles backward, if necessary.
+*/
+    public void deleteText(int start, int limit, int[] damagedRange) {
+
+        int length = limit - start;
+        if (length < 0) {
+            throw new IllegalArgumentException("Invalid range");
+        }
+
+        shiftTableTo(limit);
+
+        int newEnd = fRunArray.findRunContaining(start-1);
+
+        if (newEnd != fRunArray.fPosEnd) {
+
+            AttributeMap propStyle = fStyleTable[fRunArray.fPosEnd];
+            boolean propogated;
+
+            if (newEnd == -1) {
+                propogated = !propStyle.equals(fFirstStyle);
+                fFirstStyle = propStyle;
+            }
+            else {
+                propogated = !propStyle.equals(fStyleTable[newEnd]);
+                fStyleTable[newEnd] = propStyle;
+            }
+
+            if (propogated) {
+                int pStart = (newEnd==-1)? 0 : fRunArray.fRunStart[newEnd] + 1;
+                damagedRange[0] = Math.min(damagedRange[0], pStart);
+            }
+
+            fRunArray.fPosEnd = newEnd;
+        }
+
+        fRunArray.addToCurTextLength(-length);
+
+        fRunArray.runStartsChanged();
+    }
+
+/**
+* Returns the start of the paragraph containing offset <tt>pos</tt>.
+*/
+    public int paragraphStart(int pos) {
+
+        int run = fRunArray.findRunContaining(pos-1);
+        if (run == -1) {
+            return 0;
+        }
+        else {
+            return fRunArray.getLogicalRunStart(run) + 1;
+        }
+    }
+
+/**
+* Returns the limit of the paragraph containing offset <tt>pos</tt>.
+*/
+    public int paragraphLimit(int pos) {
+
+        int run = fRunArray.findRunContaining(pos-1);
+
+        if (run == fRunArray.fPosEnd)
+            run = fRunArray.fNegStart;
+        else
+            run++;
+
+        if (run == fRunArray.getArrayLength()) {
+            return fRunArray.getCurTextLength();
+        }
+
+        int start = fRunArray.getLogicalRunStart(run);
+
+        return start+1;
+    }
+
+/**
+* Returns the style of the paragraph containing offset <tt>pos</tt>.
+*/
+    public AttributeMap paragraphStyleAt(int offset) {
+
+        int run = fRunArray.findRunContaining(offset-1);
+        if (run < 0)
+            return fFirstStyle;
+        else
+            return fStyleTable[run];
+    }
+
+/**
+* Create paragraph iterator.
+*/
+/*
+    public MParagraphIterator createParagraphIterator(int start, int limit) {
+
+        return new ParagraphIterator(start, limit);
+    }
+*/
+
+/**
+* Called by iterator to get run info.
+*/
+    private void setIterator(int pos, ParagraphIterator iter) {
+
+        if ((pos < 0) || (pos >= fRunArray.getCurTextLength())) {
+            iter.set(0, 0, kNoRun, null);
+            return;
+        }
+
+        int run;
+
+        if (pos > 0)
+            run = fRunArray.findRunContaining(pos-1);
+        else
+            run = -1;
+
+        setIteratorUsingRun(run, iter);
+    }
+
+/**
+* Called by iterator to get run info.
+*/
+    private void setIteratorUsingRun(int run, ParagraphIterator iter) {
+
+        int lastValidRun = fRunArray.lastRun();
+
+        if (run < -1 || run > lastValidRun) {
+            iter.set(0, 0, kNoRun, null);
+            return;
+        }
+
+        if (run == fRunArray.fPosEnd+1)
+            run = fRunArray.fNegStart;
+        else if (run == fRunArray.fNegStart-1)
+            run = fRunArray.fPosEnd;
+
+        int runStart;
+        AttributeMap style;
+
+        if (run < 0) {
+            runStart = 0;
+            style = fFirstStyle;
+        }
+        else {
+            runStart = fRunArray.fRunStart[run];
+            style = fStyleTable[run];
+            if (runStart < 0)
+                runStart += fRunArray.getCurTextLength();
+            runStart++;
+        }
+
+        int nextRun;
+
+        if (run == fRunArray.fPosEnd)
+            nextRun = fRunArray.fNegStart;
+        else
+            nextRun = run + 1;
+
+        int runLimit;
+
+        if (nextRun >= fRunArray.getArrayLength())
+            runLimit = fRunArray.getCurTextLength();
+        else {
+            runLimit = fRunArray.fRunStart[nextRun];
+            if (runLimit < 0)
+                runLimit += fRunArray.getCurTextLength();
+            runLimit++;
+            }
+
+        iter.set(runStart, runLimit, run, style);
+    }
+
+/**
+* Replace paragraph breaks/styles between start and length with paragraph breaks/styles
+* from <tt>srcText</tt>.
+* @param start an offset into the text
+* @param limit the index after the last character to replace
+* @param srcText the text from which new paragraphs are taken
+* @param srcStart the start of the range in <code>srcText</code> to copy
+* @param srcLimit the first index after the range in <code>srcText</code> to copy
+*/
+    public void replace(int start,
+                        int limit,
+                        MConstText srcText,
+                        int srcStart,
+                        int srcLimit,
+                        int[] damagedRange) {
+
+        final int insLength = srcLimit - srcStart;
+        if (insLength < 0) {
+            throw new Error("invalid range");
+        }
+        final int origLength = fRunArray.getCurTextLength();
+        deleteText(start, limit, damagedRange);
+
+        if (insLength == 0)
+            return;
+
+        final int oldPosEnd = fRunArray.fPosEnd;
+        AttributeMap origStyle;
+        if (limit < origLength) {
+            origStyle = (fRunArray.fPosEnd>=0)? fStyleTable[fRunArray.fPosEnd] : fFirstStyle;
+        }
+        else {
+            origStyle = srcText.paragraphStyleAt(srcLimit);
+        }
+
+        int paragraphStart = srcStart;
+        int lastPLimit = srcText.paragraphStart(srcLimit);
+        boolean separatorAtEnd = lastPLimit > srcStart && isParagraphBreak(srcText.at(lastPLimit-1));
+
+        if (limit == origLength && lastPLimit == paragraphStart) {
+            if (fRunArray.fPosEnd > 0) {
+                fStyleTable[fRunArray.fPosEnd] = origStyle;
+            }
+            else {
+                fFirstStyle = origStyle;
+            }
+        }
+        else {
+            boolean firstPass = true;
+            while (paragraphStart < lastPLimit) {
+
+                AttributeMap style = srcText.paragraphStyleAt(paragraphStart);
+                int paragraphLimit = srcText.paragraphLimit(paragraphStart);
+
+                if (fRunArray.fPosEnd+1 >= fRunArray.fNegStart)
+                    expandStyleTable();
+
+                if (fRunArray.fPosEnd >= 0) {
+                    if (!style.equals(fStyleTable[fRunArray.fPosEnd])) {
+                        fStyleTable[fRunArray.fPosEnd] = style;
+                        if (firstPass) {
+                            int pStart = fRunArray.fRunStart[fRunArray.fPosEnd]+1;
+                            damagedRange[0] = Math.min(damagedRange[0], pStart);
+                        }
+                    }
+                }
+                else if (!style.equals(fFirstStyle)) {
+                    fFirstStyle = style;
+                    damagedRange[0] = 0;
+                }
+
+                firstPass = false;
+
+                if (paragraphLimit < lastPLimit || separatorAtEnd) {
+                    fRunArray.fRunStart[++fRunArray.fPosEnd] = paragraphLimit - 1 + start - srcStart;
+                }
+                paragraphStart = paragraphLimit;
+            }
+            if (fRunArray.fPosEnd != oldPosEnd) {
+                fStyleTable[fRunArray.fPosEnd] = origStyle;
+            }
+        }
+
+        fRunArray.addToCurTextLength(insLength);
+    }
+
+/**
+* Modify the style of all paragraphs containing offsets in the range [start, limit) to
+* <tt>style</tt>.
+*/
+    public boolean modifyParagraphStyles(int start,
+                                         int limit,
+                                         StyleModifier modifier,
+                                         int[] damagedRange)  {
+
+        int run = fRunArray.findRunContaining(start-1);
+        int currentPStart;
+        if (run == -1) {
+            currentPStart = 0;
+        }
+        else {
+            currentPStart = fRunArray.getLogicalRunStart(run) + 1;
+        }
+
+        boolean modifiedAnywhere = false;
+
+        for (;;) {
+
+            boolean modified = false;
+
+            if (run < 0) {
+
+                AttributeMap newStyle = modifier.modifyStyle(fFirstStyle);
+
+                if (!newStyle.equals(fFirstStyle)) {
+                    fFirstStyle = newStyle;
+                    modified = true;
+                }
+            }
+            else {
+
+                AttributeMap newStyle = modifier.modifyStyle(fStyleTable[run]);
+
+                if (!fStyleTable[run].equals(newStyle)) {
+                    fStyleTable[run] = newStyle;
+                    modified = true;
+                }
+            }
+
+            if (run == fRunArray.fPosEnd) {
+                run = fRunArray.fNegStart;
+            }
+            else {
+                run++;
+            }
+
+            int nextPStart;
+            if (run == fRunArray.getArrayLength()) {
+                nextPStart = fRunArray.getCurTextLength();
+            }
+            else {
+                nextPStart = fRunArray.getLogicalRunStart(run) + 1;
+            }
+
+            if (modified) {
+                modifiedAnywhere = true;
+                damagedRange[0] = Math.min(damagedRange[0], currentPStart);
+                damagedRange[1] = Math.max(damagedRange[1], nextPStart);
+            }
+
+            if (limit <= nextPStart) {
+                break;
+            }
+            else {
+                currentPStart = nextPStart;
+            }
+        }
+
+        return modifiedAnywhere;
+    }
+
+    private static void dumpParagraphStarts(ParagraphBuffer st) {
+
+        System.out.println("fRunArray.fPosEnd="+st.fRunArray.fPosEnd+", fRunArray.fNegStart="+st.fRunArray.fNegStart+
+                            ", fRunArray.getArrayLength()="+st.fRunArray.getArrayLength()+", fRunArray.getCurTextLength()="+st.fRunArray.getCurTextLength());
+
+        int i;
+        System.out.print("Positives: ");
+        for (i=0; i<=st.fRunArray.fPosEnd; i++)
+            System.out.print(st.fRunArray.fRunStart[i]+" ");
+
+        System.out.print("   Negatives: ");
+        for (i=st.fRunArray.fNegStart; i<st.fRunArray.getArrayLength(); i++)
+            System.out.print(st.fRunArray.fRunStart[i]+" ");
+
+        System.out.println(" ");
+    }
+
+    private static final int kNoRun = -42; // iterator use
+
+    private final class ParagraphIterator /*implements MParagraphIterator*/
+    {
+        ParagraphIterator(int start, int limit)
+        {
+            reset(start, limit, start);
+        }
+
+        public void reset(int start, int limit, int pos)
+        {
+            fStart = start;
+            fLimit = limit;
+            setIterator(fStart, this);
+        }
+
+        public boolean isValid()
+        {
+            return fCurrentRun != kNoRun;
+        }
+
+        public void next()
+        {
+            if (fRunLimit < fLimit) {
+                fCurrentRun++;
+                setIteratorUsingRun(fCurrentRun, this);
+            }
+            else
+                set(0, 0, kNoRun, null);
+        }
+
+        public void prev()
+        {
+            if (fRunStart > fStart) {
+                fCurrentRun--;
+                setIteratorUsingRun(fCurrentRun, this);
+            }
+            else
+                set(0, 0, kNoRun, null);
+        }
+
+        public void set(int pos)
+        {
+            if (pos >= fStart && pos < fLimit) {
+                setIterator(pos, this);
+            } else {
+                set(0, 0, kNoRun, null);
+            }
+        }
+
+        // ParagraphBuffer calls back on this to set iterators
+        void set(int start, int limit, int currentRun, AttributeMap style)
+        {
+            fRunStart = start < fStart ? fStart : start;
+            fRunLimit = limit > fLimit ? fLimit : limit;
+            fCurrentRun = currentRun;
+            fStyle = style;
+        }
+
+        public void reset(int start, int limit)
+        {
+            reset(start, limit, start);
+        }
+
+        public void first()
+        {
+            set(fStart);
+        }
+
+        public void last()
+        {
+            set(fLimit - 1);
+        }
+
+        public int rangeStart()
+        {
+            return fStart;
+        }
+
+        public int rangeLimit()
+        {
+            return fLimit;
+        }
+
+        public int rangeLength()
+        {
+            return fLimit - fStart;
+        }
+
+        public int runStart()
+        {
+            return fRunStart;
+        }
+
+        public int runLimit()
+        {
+            return fRunLimit;
+        }
+
+        public int runLength()
+        {
+            return fRunLimit - fRunStart;
+        }
+
+        public AttributeMap style() {
+
+            return fStyle;
+        }
+
+        private int fStart;
+        private int fLimit;
+        private int fRunStart;
+        private int fRunLimit;
+        private int fCurrentRun;
+        private AttributeMap fStyle;
+    }
+}
diff --git a/src/com/ibm/richtext/styledtext/RunArray.java b/src/com/ibm/richtext/styledtext/RunArray.java
new file mode 100755
index 0000000..1627976
--- /dev/null
+++ b/src/com/ibm/richtext/styledtext/RunArray.java
@@ -0,0 +1,280 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+/**
+* This class maintains intervals within a piece of text.  Interval boundaries
+* are stored in the fRunStart array.  Interval boundaries may have a
+* positive or negative representation.  A positive boundary is given as an offset
+* from 0.  A negative boundary is given as a negative offset from the ned of the text.
+* The RunArray stores positive boundaries in the entries [0, fPosEnd], and negative
+* boundaries in the entries [fNegStart, fLength).  New boundaries may be inserted into
+* the undefined middle of the RunArray.  If fPosEnd < 0, there are no positive entries.
+* If fNegStart >= fRunArray.length, there are no negative netries.  It's possible to have
+* a runarray with neither positive or negative entries.
+*
+* As an example of how the RunArray works, consider a piece of text with 5 intervals,
+* where each interval is 3 characters in length.  The RunArray for this text could
+* look like:
+*    fCurTextLength = 15, fPosEnd = 5, fNegStart = 10,
+*    fRunStart = { 0, 3, 6, 9, 12, U, U, U, U, U };
+* where U is an undefined array element.
+
+* An equivalent representation would be:
+*    fCurTextLength = 15, fPosEnd = 3, fNegStart = 8,
+*    fRunStart = { 0, 3, 6, U, U, U, U, U, -6, -3 };
+*
+* The RunArray class is used in the StyleBuffer and the ParagraphBuffer.  In the StyleBuffer,
+* the entries in fRunStart give the offsets where style runs begin.  In the
+* ParagraphBuffer, the fRunStart entries store offsets of paragraph breaks.
+*
+* This class provides methods for shifting the run table to a particular position, expanding the
+* run table, and returning the index of the run containing a particular offset in the text.  All
+* other functionality is implemented in the RunArray clients.
+*
+* RunArray uses FastIntBinarySearch for searches.  The searches are constructed on demand in
+* the findRunContaining method.  The searches are invalidated when the run array is shifted;
+* however, the RunArray can be modified by other classes.  Thus, if another class modifies
+* the entries in fRunArray, or modifies fPosEnd or fNegStart, it is responsible for
+* calling runStartsChanged.
+*/
+
+package com.ibm.richtext.styledtext;
+
+import java.io.Externalizable;
+import java.io.ObjectInput;
+import java.io.ObjectOutput;
+import java.io.IOException;
+
+final class RunArray implements Externalizable {
+
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+    private static final long serialVersionUID = 22356934;
+
+    int[] fRunStart;
+    private int fCurTextLength;
+    int fPosEnd, fNegStart;
+    
+    transient private FastIntBinarySearch fPosSearch;
+    transient private boolean fPosSearchValid;
+    transient private FastIntBinarySearch fNegSearch;
+    transient private boolean fNegSearchValid;
+
+    private static final int CURRENT_VERSION = 1;
+
+    RunArray(int initialSize, int curTextLength) {
+
+        fRunStart = new int[initialSize];
+        fCurTextLength = curTextLength;
+        fPosEnd = -1;
+        fNegStart = initialSize;
+        
+        fPosSearch = new FastIntBinarySearch(fRunStart, 0, 1);
+        fNegSearch = new FastIntBinarySearch(fRunStart, 0, 1);
+        fPosSearchValid = fNegSearchValid = false;
+    }
+
+    /**
+     * Note: this constructor is ONLY for use by the Serialization
+     * mechanism.  It does not leave this object in a valid state!
+     */
+    public RunArray() {
+    }
+
+    public void writeExternal(ObjectOutput out) throws IOException {
+
+        out.writeInt(CURRENT_VERSION);
+        out.writeObject(fRunStart);
+        out.writeInt(fCurTextLength);
+        out.writeInt(fPosEnd);
+        out.writeInt(fNegStart);
+    }
+
+    public void readExternal(ObjectInput in) throws IOException,
+                                            ClassNotFoundException {
+
+        if (in.readInt() != CURRENT_VERSION) {
+            throw new IOException("Invalid version of RunArray");
+        }
+        fRunStart = (int[]) in.readObject();
+        fCurTextLength = in.readInt();
+        fPosEnd = in.readInt();
+        fNegStart = in.readInt();
+        
+        fPosSearch = new FastIntBinarySearch(fRunStart, 0, 1);
+        fNegSearch = new FastIntBinarySearch(fRunStart, 0, 1);
+        fPosSearchValid = fNegSearchValid = false;
+    }
+
+    public int getCurTextLength() {
+
+        return fCurTextLength;
+    }
+
+    public void setCurTextLength(int curTextLength) {
+
+        fCurTextLength = curTextLength;
+    }
+
+    public void addToCurTextLength(int delta) {
+
+        fCurTextLength += delta;
+    }
+
+    public void runStartsChanged() {
+
+        fPosSearchValid = fNegSearchValid = false;
+    }
+
+/**
+* Returns the index of the last valid run.
+*/
+    int lastRun() {
+
+        return (fNegStart == fRunStart.length)? fPosEnd : fRunStart.length-1;
+    }
+
+/**
+* Returns the length of the run array.  Replaces old fLength member.
+*/
+    int getArrayLength() {
+
+        return fRunStart.length;
+    }
+
+/**
+* Shifts style table such that the last positive run
+* starts before pos.
+*/
+    void shiftTableTo(int pos) {
+
+        int oldPosEnd = fPosEnd;
+
+        while (fPosEnd >= 0 && fRunStart[fPosEnd] >= pos) {
+
+            fNegStart--;
+            fRunStart[fNegStart] = fRunStart[fPosEnd] - fCurTextLength;
+            fPosEnd--;
+
+        }
+
+        pos -= fCurTextLength;
+
+        while (fNegStart<fRunStart.length && fRunStart[fNegStart] < pos) {
+
+            fPosEnd++;
+            fRunStart[fPosEnd] = fRunStart[fNegStart] + fCurTextLength;
+            fNegStart++;
+        }
+
+        if (oldPosEnd != fPosEnd) {
+            fPosSearchValid = fNegSearchValid = false;
+        }
+    }
+
+/**
+* Returns index of style run containing pos.  If first style run starts before
+* pos, -1 is returned.  If pos is greater than text length, lastrun is returned.
+*/
+    int findRunContaining(int pos) {
+
+        FastIntBinarySearch search;
+        final int length = fRunStart.length;
+
+        if (fNegStart < length && (pos-fCurTextLength >= fRunStart[fNegStart])) {
+
+            pos -= fCurTextLength;
+
+            if (!fNegSearchValid) {
+                fNegSearch.setData(fRunStart, fNegStart, length-fNegStart);
+            }
+            search = fNegSearch;
+        }
+        else if (fPosEnd >= 0) {
+
+            if (!fPosSearchValid) {
+                fPosSearch.setData(fRunStart, 0, fPosEnd+1);
+            }
+            search = fPosSearch;
+        }
+        else
+            return -1;
+
+        int run = search.findIndex(pos);
+
+        return run;
+    }
+
+    int getLogicalRunStart(int run) {
+
+        if (run == -1) {
+            return 0;
+        }
+        else if (run == fRunStart.length) {
+            return fCurTextLength;
+        }
+        else {
+            if (run <= fPosEnd) {
+                return fRunStart[run];
+            }
+            else if (run >= fNegStart) {
+                return fRunStart[run] + fCurTextLength;
+            }
+            else {
+                throw new IllegalArgumentException("Illegal run");
+            }
+        }
+    }
+
+/**
+* Increases size of run table.  Current implementation doubles the run table's size.
+*/
+    void expandRunTable() {
+
+        resizeRunTable(fRunStart.length * 2);
+    }
+
+/**
+* Return the minimum number of elements possible in fRunStart.
+*/
+    private int getMinSize() {
+
+        return Math.max(fPosEnd + (fRunStart.length-fNegStart) + 1, 1);
+    }
+
+    void compress() {
+
+        int minSize = getMinSize();
+        if (fRunStart.length > minSize) {
+            resizeRunTable(minSize);
+        }
+    }
+
+    private void resizeRunTable(int newSize) {
+
+        if (newSize < getMinSize()) {
+            throw new IllegalArgumentException("Attempt to make RunArray too small.");
+        }
+
+        final int oldLength = fRunStart.length;
+
+        int newRunStart[] = new int[newSize];
+        System.arraycopy(fRunStart, 0, newRunStart, 0, fPosEnd+1);
+        int newNegStart = newRunStart.length - (oldLength-fNegStart);
+        System.arraycopy(fRunStart, fNegStart, newRunStart, newNegStart, (oldLength-fNegStart));
+
+        fNegStart = newNegStart;
+        fRunStart = newRunStart;
+
+        fPosSearchValid = fNegSearchValid = false;
+    }
+}
diff --git a/src/com/ibm/richtext/styledtext/StandardTabRuler.java b/src/com/ibm/richtext/styledtext/StandardTabRuler.java
new file mode 100755
index 0000000..6128f58
--- /dev/null
+++ b/src/com/ibm/richtext/styledtext/StandardTabRuler.java
@@ -0,0 +1,372 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+package com.ibm.richtext.styledtext;
+
+import java.util.Vector;
+
+import java.io.Externalizable;
+import java.io.ObjectInput;
+import java.io.ObjectOutput;
+import java.io.IOException;
+
+/**
+ * This class is a standard implementation of MTabRuler.
+ * It can have a finite number of client-specified TabStops.  After
+ * the client-specified TabStops, all TabStops have type
+ * <code>TabStop.kAuto</code> and are at the autospace intervals.
+ * @see TabStop
+ */
+public final class StandardTabRuler extends MTabRuler
+                                    implements Externalizable
+{
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+    private static final int CURRENT_VERSION = 1;
+    private static final long serialVersionUID = 22356934;
+
+    private static final TabStop AUTO_ZERO = new TabStop(0, TabStop.kAuto);
+
+    private TabStop[] fTabs = null;
+    private int fAutoSpacing = 36; // every 1/2 inch.
+
+    /**
+     * Create a StandardTabRuler with only auto tabs, with spacing of 36.
+     */
+    public StandardTabRuler()
+    {
+    }
+
+    /**
+     * Create a StandardTabRuler with only auto tabs, with the
+     * given autoSpacing.
+     * @param autoSpacing the autoSpacing for this tab ruler
+     */
+    public StandardTabRuler(int autoSpacing)
+    {
+        fAutoSpacing = autoSpacing;
+    }
+
+    /**
+     * Create a StandardTabRuler.  The first TabStops on the ruler will be
+     * the TabStops in the <code>tabs</code> array.  After these tabs all
+     * tabs are auto tabs.
+     * @param tabs an array of TabStops.  The TabStops in the array must
+     *    be in strictly increasing order (of positions), and cannot have
+     *    type <code>TabStop.kAuto</code>.
+     * @param autoSpacing the autoSpacing interval to use after the last
+     *    client-specified tab.
+     */
+    public StandardTabRuler(TabStop[] tabs, int autoSpacing)
+    {
+        if (tabs.length > 0) {
+            validateTabArray(tabs);
+            fTabs = (TabStop[]) tabs.clone();
+        }
+        else {
+            fTabs = null;
+        }
+        fAutoSpacing = autoSpacing;
+    }
+
+    /** Tabs as provided, then autoSpacing after the last tab to eternity.  Use this constructor when
+        munging a ruler, it does no validation on the tabs in the vector. Vector may not be null. */
+
+    /*public*/ StandardTabRuler(Vector v, int autoSpacing)
+    {
+        fTabs = tabArrayFromVector(v);
+        fAutoSpacing = autoSpacing;
+    }
+
+    /** Construct from another ruler. No validation. Ruler may not be null. */
+
+    /*public*/ StandardTabRuler(MTabRuler ruler)
+    {
+        if (ruler == null) {
+            throw new IllegalArgumentException("ruler may not be null");
+        }
+
+        fTabs = tabArrayFromVector(vectorFromTabRuler(ruler));
+        fAutoSpacing = ruler.autoSpacing();
+    }
+
+    public void readExternal(ObjectInput in) throws IOException,
+                                            ClassNotFoundException {
+
+        int version = in.readInt();
+        if (version != CURRENT_VERSION) {
+            throw new IOException("Invalid version of StyledText: " + version);
+        }
+        fTabs = (TabStop[]) in.readObject();
+        fAutoSpacing = in.readInt();
+    }
+
+    public void writeExternal(ObjectOutput out) throws IOException {
+
+        out.writeInt(CURRENT_VERSION);
+        out.writeObject(fTabs);
+        out.writeInt(fAutoSpacing);
+    }
+
+    /**
+     * Return first tab in the ruler.  If an autoTab, it is at position zero, and
+     * all subsequent tabs will be autotabs at autoSpacing intervals.
+     */
+    public TabStop firstTab()
+    {
+        if (fTabs != null && fTabs.length > 0) {
+            return fTabs[0];
+        }
+
+        return AUTO_ZERO;
+    }
+
+    /**
+     * Return the first tab in the ruler with fPosition > position.  If it is an
+     * autotab, it is at an increment of autoSpacing, and all subsequent tabs will be
+     * autotabs at autoSpacing intervals.
+     * @param position the position of the TabStop returned will be greater than this parameter
+     */
+    public TabStop nextTab(int position)
+    {
+        if (fTabs != null) {
+            for (int i = 0; i < fTabs.length; ++i) {
+                if (position < fTabs[i].getPosition())
+                    return fTabs[i];
+            }
+        }
+
+        if (position >= 4000) { // debug: sanity check
+            System.out.println("auto tab past 4000");
+        }
+
+        return new TabStop(((position / fAutoSpacing) + 1) * fAutoSpacing, TabStop.kAuto);
+    }
+
+    /**
+     * Return the interval for autotabs.
+     */
+    public int autoSpacing()
+    {
+        return fAutoSpacing;
+    }
+
+    /**
+     * Compare this to another Object. Returns true if the object
+     * is an MTabRuler with the same autoSpacing and tabs.
+     */
+    public boolean equals(Object o)
+    {
+        if (o == this) {
+            return true;
+        }
+        else if (o == null) {
+            return false;
+        }
+        
+        MTabRuler rhs;
+        try {
+            rhs = (MTabRuler)o;
+        }
+        catch(ClassCastException e) {
+            return false;
+        }
+
+        if (fAutoSpacing != rhs.autoSpacing())
+            return false;
+
+        TabStop rhsTab = rhs.firstTab();
+
+        if (fTabs != null) {
+            for (int i = 0; i < fTabs.length; ++i) {
+                if (!fTabs[i].equals(rhsTab))
+                    return false;
+
+                rhsTab = rhs.nextTab(rhsTab.getPosition());
+            }
+        }
+
+        return rhsTab.getType() == TabStop.kAuto;
+    }
+
+    /**
+     * Return debug information about this tab ruler.
+     */
+    public String toString()
+    {
+        StringBuffer buffer = new StringBuffer(super.toString());
+        buffer.append(" auto: ");
+        buffer.append(Integer.toString(fAutoSpacing));
+
+        if (fTabs != null) {
+            for (int i = 0; i < fTabs.length; ++i) {
+                buffer.append(fTabs[i].toString());
+            }
+        }
+
+        return buffer.toString();
+    }
+
+    /** Utility to convert a vector of tabs to an array. */
+
+    private static TabStop[] tabArrayFromVector(Vector v)
+    {
+        int count = v.size();
+        TabStop[] tabs = new TabStop[count];
+        for (int i = 0; i < count; ++i) {
+            tabs[i] = (TabStop)v.elementAt(i);
+        }
+
+        return tabs;
+    }
+
+    /** Utility to convert a ruler to a vector of tabs, for munging. */
+
+    private static Vector vectorFromTabRuler(MTabRuler ruler)
+    {
+        Vector v = new Vector();
+        for (TabStop tab = ruler.firstTab(); tab != null && tab.getType() != TabStop.kAuto; tab = ruler.nextTab(tab.getPosition())) {
+            v.addElement(tab);
+        }
+
+        return v;
+    }
+
+    /** Utility to validate an array of tabs.  The array must not be null, must not contain null
+        entries, must not be kAuto, and positions must in increasing order. */
+
+    private static void validateTabArray(TabStop[] tabs)
+    {
+        int pos = Integer.MIN_VALUE;
+        for (int i = 0; i < tabs.length; ++i) {
+            if (tabs[i].getType() == TabStop.kAuto) {
+                throw new IllegalArgumentException("can't explicitly specify an auto tab.");
+            }
+            int nextpos = tabs[i].getPosition();
+            if (nextpos <= pos) {
+                throw new IllegalArgumentException("tab positions must be in increasing order.");
+            }
+            pos = nextpos;
+        }
+    }
+
+    /**
+     * Return a tab ruler identical to the given ruler, except with the
+     * given tab added.
+     * @param ruler the original ruler.  The MTabRuler will be the same as
+     *   this except for the additional tab.  <code>ruler</code> is not modified.
+     * @param tabToAdd the tab to add to the new tab ruler
+     * @return an MTabRuler resulting from this operation
+     */
+    /*public*/ static MTabRuler addTabToRuler(MTabRuler ruler, TabStop tabToAdd)
+    {
+        if (ruler == null || tabToAdd == null)
+            throw new IllegalArgumentException("ruler and tabToAdd may not be null");
+
+        Vector vector = new Vector();
+
+        int pos = 0;
+        boolean added = false;
+        for (TabStop tab = ruler.firstTab(); tab.getType() != TabStop.kAuto; tab = ruler.nextTab(pos)) {
+            pos = tab.getPosition();
+
+            if (!added && pos >= tabToAdd.getPosition()) {
+                if (pos == tabToAdd.getPosition())
+                    tab = null;
+                vector.addElement(tabToAdd);
+                added = true;
+            }
+
+            if (tab != null)
+                vector.addElement(tab);
+        }
+        if (!added)
+            vector.addElement(tabToAdd);
+
+        return new StandardTabRuler(vector, ruler.autoSpacing());
+    }
+
+    /**
+     * Return a tab ruler identical to the given ruler, except with the
+     * given tab removed.
+     * @param ruler the original ruler.  The MTabRuler will be the same as
+     *   this except for the removed tab.  <code>ruler</code> is not modified.
+     * @param position the position of the tab to remove from the new tab ruler
+     * @return an MTabRuler resulting from this operation
+     */
+    /*public*/ static MTabRuler removeTabFromRuler(MTabRuler ruler, int position)
+    {
+        if (ruler == null)
+            throw new IllegalArgumentException("ruler may not be null");
+
+        Vector vector = new Vector();
+
+        int pos = 0;
+        boolean removed = false;
+        for (TabStop tab = ruler.firstTab(); tab.getType() != TabStop.kAuto; tab = ruler.nextTab(pos)) {
+            pos = tab.getPosition();
+
+            if (!removed && pos >= position) {
+                if (pos == position) {
+                    removed = true;
+                    continue; // skip this tab and continue with the remainder
+                }
+                break; // we didn't remove a tab, but skipped position, so don't bother with the rest
+            }
+
+            vector.addElement(tab);
+        }
+        if (!removed) // no change
+            return ruler;
+
+        if (vector.size() == 0)
+            return new StandardTabRuler(ruler.autoSpacing());
+
+        return new StandardTabRuler(vector, ruler.autoSpacing());
+    }
+
+    /**
+     * Return a tab ruler identical to the given ruler, except with the
+     * tab at position <code>fromPosition</code> moved to position
+     * <code>toPosition</code>.
+     * @param ruler the original ruler.  The MTabRuler will be the same as
+     *   this except for the moved tab.  <code>ruler</code> is not modified.
+     * @param fromPosition the position of the tab to move
+     * @param toPosition the new position of the tab
+     * @return an MTabRuler resulting from this operation
+     */
+    /*public*/ static MTabRuler moveTabOnRuler(MTabRuler ruler, int fromPosition, int toPosition)
+    {
+        if (ruler == null)
+            throw new IllegalArgumentException("ruler may not be null");
+
+        Vector vector = new Vector();
+
+        int pos = 0;
+        boolean moved = false;
+        for (TabStop tab = ruler.firstTab(); tab.getType() != TabStop.kAuto; tab = ruler.nextTab(pos)) {
+            pos = tab.getPosition();
+
+            if (!moved && pos == fromPosition) {
+                moved = true;
+                tab = new TabStop(toPosition, tab.getType()); // copy it
+            }
+
+            vector.addElement(tab);
+        }
+        if (!moved) // no change
+            return ruler;
+
+        return new StandardTabRuler(vector, ruler.autoSpacing());
+    }
+
+}
diff --git a/src/com/ibm/richtext/styledtext/StyleBuffer.java b/src/com/ibm/richtext/styledtext/StyleBuffer.java
new file mode 100755
index 0000000..fd5aca9
--- /dev/null
+++ b/src/com/ibm/richtext/styledtext/StyleBuffer.java
@@ -0,0 +1,669 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+package com.ibm.richtext.styledtext;
+
+import java.io.Externalizable;
+import java.io.ObjectInput;
+import java.io.ObjectOutput;
+import java.io.IOException;
+
+import com.ibm.richtext.textlayout.attributes.AttributeMap;
+
+/*
+    8/2/96
+        Added setIteratorUsingRun method
+
+    8/5/96
+        No longer has to be constructed with an MText.
+
+    8/8/96
+        Added replace method, which reads styles from a StyleRunIterator.
+        Also, added a constructor which takes a StyleRunIterator.
+        These methods are for copy/paste support.
+    8/16/96
+        StyleBuffer now takes MConstText instead of MText where possible.
+
+    10/23/96
+        Some old commented-out code removed for aesthetic reasons.
+
+    7/31/98 Switched to AttributeMap
+*/
+
+/**
+* StyleBuffer implements <tt>MStyleBuffer</tt>.  It maintains
+* <tt>AttributeMap</tt> objects to apply to the text in an <tt>MText</tt> object,
+* and the
+* intervals on which those styles apply.
+* <p>
+* StyleBuffer stores the intervals on which styles apply in a <tt>RunArray</tt>
+* object (see <tt>RunArray</tt> for more information).  The styles are stored in
+* an array of <tt>AttributeMap</tt> objects.
+* <p>
+* <tt>RunArray</tt> maintains an array of integers which represent offsets into text.
+* The array has a "positive" region in which offsets are given as positive distances
+* from the start of the text, and a "negative" region in which offsets are given as
+* negative distances from the end of the text.  Between the positive and negative regions
+* is a gap, into which new offsets may be inserted.  This storage scheme allows for
+* efficient response to a series of editing operations which occur in the same area of the
+* text.
+* <p>
+* StyleBuffer uses the offsets in <tt>RunArray</tt> as the boundaries of style runs.
+* A style run begins at each offset in <tt>RunArray</tt>, and each style run continues to
+* the next offset.  The style array is kept in sync with the array of offsets in <tt>RunArray</tt>;
+* that is, the style which begins at RunArray[i] is stored in StyleArray[i].
+* <p>
+* The first entry in the <tt>RunArray</tt> is always 0.
+*
+* @author John Raley
+*
+* @see AttributeMap
+* @see MText
+* @see RunArray
+*/
+
+final class StyleBuffer extends MStyleBuffer implements Externalizable {
+
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+    /**
+    * Creates a new style buffer with length equal to the length of <tt>text</tt>,
+    * and with a single run of <tt>defaultStyle</tt>.
+    */
+    private static final long serialVersionUID = 22356934;
+
+    private static final int CURRENT_VERSION = 1;
+    private static final int kInitialSize = 10;
+    private RunArray fRunArray;
+
+    private AttributeMap fStyleTable[];
+
+    StyleBuffer(MConstText text, AttributeMap initialStyle) {
+
+        this(text.length(), initialStyle);
+    }
+
+    /**
+    * Creates a new style buffer with length <tt>initialLength</tt> and with a
+    * single run of <tt>defaultStyle</tt>.
+    */
+
+    StyleBuffer(int initialLength, AttributeMap initialStyle) {
+
+        fRunArray = new RunArray(kInitialSize, initialLength);
+        fRunArray.fPosEnd = 0;
+        fRunArray.fRunStart[0] = 0;
+
+        fStyleTable = new AttributeMap[kInitialSize]; // do I really want to do this???
+
+        fStyleTable[0] = initialStyle;
+    }
+
+    /**
+     * Note: this constructor is ONLY for use by the Serialization
+     * mechanism.  It does not leave this object in a valid state!
+     */
+    public StyleBuffer() {
+    }
+
+    public void writeExternal(ObjectOutput out) throws IOException {
+
+        compress();
+        out.writeInt(CURRENT_VERSION);
+        out.writeObject(fRunArray);
+        out.writeObject(fStyleTable);
+    }
+
+    public void readExternal(ObjectInput in) throws IOException,
+                                                ClassNotFoundException {
+
+        if (in.readInt() != CURRENT_VERSION) {
+            throw new IOException("Invalid version of StyleBuffer");
+        }
+        fRunArray = (RunArray) in.readObject();
+        fStyleTable = (AttributeMap[]) in.readObject();
+    }
+
+/**
+* Shift style and run tables such that the last positive run begins before the given position.
+* Since there is always a run start at 0, this method ensures that the first run will not be shifted.
+* This is called by: <tt>insertText</tt> and <tt>deleteText</tt>.
+* @param pos a position in the text.
+*/
+
+    private void shiftTableTo(int pos) {
+
+        if (pos == 0)
+            pos = 1;
+
+        int oldNegStart = fRunArray.fNegStart;
+        int oldPosEnd = fRunArray.fPosEnd;
+
+        fRunArray.shiftTableTo(pos);
+
+        if (oldPosEnd > fRunArray.fPosEnd)
+            System.arraycopy(fStyleTable, fRunArray.fPosEnd+1,
+                             fStyleTable, fRunArray.fNegStart,
+                             oldPosEnd-fRunArray.fPosEnd);
+        else if (oldNegStart < fRunArray.fNegStart)
+            System.arraycopy(fStyleTable, oldNegStart,
+                             fStyleTable, oldPosEnd+1,
+                             fRunArray.fNegStart-oldNegStart);
+    }
+
+/**
+* Update the style table to reflect a change in the RunArray's size.
+*/
+    private void handleArrayResize(int oldNegStart) {
+
+        AttributeMap newStyleTable[] = new AttributeMap[fRunArray.getArrayLength()];
+        System.arraycopy(fStyleTable, 0, newStyleTable, 0, fRunArray.fPosEnd+1);
+        System.arraycopy(fStyleTable, oldNegStart, newStyleTable, fRunArray.fNegStart, (fRunArray.getArrayLength()-fRunArray.fNegStart));
+        fStyleTable = newStyleTable;
+    }
+
+/**
+* Minimize the amount of storage used by this object.
+*/
+    void compress() {
+
+        int oldNegStart = fRunArray.fNegStart;
+        fRunArray.compress();
+        if (fRunArray.fNegStart != oldNegStart) {
+            handleArrayResize(oldNegStart);
+        }
+    }
+
+/**
+* Increase the storage capacity of the style and run tables if no room remains.
+*/
+    private void expandStyleTableIfFull() {
+
+        if (fRunArray.fPosEnd + 1 == fRunArray.fNegStart) {
+
+            int oldNegStart = fRunArray.fNegStart;
+            fRunArray.expandRunTable();
+            handleArrayResize(oldNegStart);
+        }
+    }
+
+/*
+    public MStyleRunIterator createStyleRunIterator(int start, int limit) {
+
+        return new StyleRunIterator(start, limit);
+    }
+*/
+/**
+* Respond to an insertion in the text.  The length of the last style run which
+* begins before <tt>start</tt> is increased by <tt>length</tt>.  The run table
+* is shifted such that the run into which text was inserted is the last positive run.
+* This implementation assumes that all styles propogate.
+* @param start the offset where the insertion began
+* @param length the number of characters inserted
+*/
+    public void insertText(int start, int limit) {
+
+        shiftTableTo(start);
+        fRunArray.addToCurTextLength(limit - start);
+    }
+
+/**
+* Respond to a deletion in the text.  The last style run before
+* <tt>start</tt> is truncated to end at <tt>start</tt>.  The
+* style run containing (<tt>start</tt>+<tt>length</tt>) is set to begin
+* at (<tt>start</tt>+<tt>length</tt>).  Runs in between are deleted.
+* If the deletion occurs entirely within one style run, the length of the style
+* run is reduced by <tt>length</tt>.
+* This implementation assumes that all styles propogate.
+* This method shifts the run table such that the run in which the delete began
+* is the last positive run.  Other methods depend on this "side effect".
+* @param start the offset where the deletion began
+* @param length the offset where the deletion stopped
+*/
+    public void deleteText(int start, int limit) {
+
+        int length = limit - start;
+
+        // An optimization - if a whole run wasn't deleted we don't
+        // need to check for run merging, which could be expensive.
+        boolean wholeRunDeleted = false;
+
+        shiftTableTo(start);
+
+        int firstRunLimit = fRunArray.getCurTextLength();
+        if (fRunArray.fNegStart < fRunArray.getArrayLength())
+            firstRunLimit += fRunArray.fRunStart[fRunArray.fNegStart];
+
+        if (limit == fRunArray.getCurTextLength()) {
+            fRunArray.fNegStart = fRunArray.getArrayLength();
+        }
+        else if (limit >= firstRunLimit) {
+
+            int end = fRunArray.findRunContaining(limit);
+            if (end != fRunArray.fPosEnd) {
+                fRunArray.fRunStart[end] = limit - fRunArray.getCurTextLength();
+                fRunArray.fNegStart = end;
+                wholeRunDeleted = true;
+            }
+        }
+
+        if (fRunArray.fNegStart != fRunArray.getArrayLength()) {
+            if (start == 0 && limit >= firstRunLimit) {
+                // the first style run was deleted;  move first "negative" run into
+                // first position
+                fStyleTable[0] = fStyleTable[fRunArray.fNegStart++];
+            }
+            else if (wholeRunDeleted) {
+                if (fStyleTable[fRunArray.fNegStart].equals(fStyleTable[fRunArray.fPosEnd])) {
+                    // merge style runs
+                    fRunArray.fNegStart++;
+                }
+            }
+        }
+
+        fRunArray.addToCurTextLength(-length);
+
+        fRunArray.runStartsChanged();
+        //System.out.println("In deleteText:  number of style runs = " + numRuns(this));
+    }
+
+/**
+* Arrange style table so that old styles in the provided range are removed, and
+* new styles can be inserted into the insertion gap.
+* After calling this method, new style starts and styles may be placed
+* in the insertion gaps of fRunArray.fStyleStart and fStyleTable.
+* @param start offset in the text where insertion operation begins
+* @param limit offset in the text where previous styles resume
+*/
+    private void prepareStyleInsert(int start) {
+
+        if (start == 0) {
+
+            // fRunArray.fPosEnd should be 0 if we're in this branch.
+
+            if (fRunArray.getCurTextLength() > 0) {
+
+                /* Move first existing style run to negative end of buffer.
+                   Don't do this if length==0;  that is, if there is no real
+                   style run at 0.
+                 */
+
+                fRunArray.fNegStart--;
+                fStyleTable[fRunArray.fNegStart] = fStyleTable[0];
+                fRunArray.fRunStart[fRunArray.fNegStart] = -fRunArray.getCurTextLength();
+            }
+
+            fRunArray.fPosEnd = -1;
+        }
+        else {
+
+            // consistency check: start should be in current gap
+            if (fRunArray.fRunStart[fRunArray.fPosEnd] >= start) {
+                throw new Error("Inconsistent state!  Start should be within insertion gap.");
+            }
+
+            int endOfInsertionGap = fRunArray.getCurTextLength();
+            if (fRunArray.fNegStart < fRunArray.getArrayLength()) {
+                endOfInsertionGap += fRunArray.fRunStart[fRunArray.fNegStart];
+            }
+
+            if (endOfInsertionGap < start) {
+                throw new Error("Inconsistent state!  Start should be within insertion gap.");
+            }
+
+            // if no break at start (on negative end of buffer) make one
+
+            if (endOfInsertionGap != start) {
+
+                // split style run in insertion gap
+
+                expandStyleTableIfFull();
+
+                fRunArray.fNegStart--;
+                fStyleTable[fRunArray.fNegStart] = fStyleTable[fRunArray.fPosEnd];
+                fRunArray.fRunStart[fRunArray.fNegStart] = start - fRunArray.getCurTextLength();
+
+                //System.out.println("splitting run.");
+            }
+        }
+    }
+
+    public boolean modifyStyles(int start,
+                                int limit,
+                                StyleModifier modifier,
+                                int[] damagedRange) {
+
+        if (limit == start) {
+            return false;
+        }
+
+        shiftTableTo(start);
+
+        int currentRunStart = start;
+        AttributeMap oldStyle;
+        AttributeMap mergeStyle = fStyleTable[fRunArray.fPosEnd];
+
+        if (fRunArray.fNegStart < fRunArray.getArrayLength() &&
+                fRunArray.fRunStart[fRunArray.fNegStart]+fRunArray.getCurTextLength() == start) {
+
+            oldStyle = fStyleTable[fRunArray.fNegStart];
+            ++fRunArray.fNegStart;
+        }
+        else {
+            oldStyle = mergeStyle;
+        }
+
+        boolean modifiedAnywhere = false;
+        for(;;) {
+
+            boolean modified = false;
+
+            // push new style into gap on positive side
+            AttributeMap newStyle = modifier.modifyStyle(oldStyle);
+            if (damagedRange != null && !newStyle.equals(oldStyle)) {
+                modified = modifiedAnywhere = true;
+                damagedRange[0] = Math.min(currentRunStart, damagedRange[0]);
+            }
+
+            if (!newStyle.equals(mergeStyle)) {
+
+                if (currentRunStart != 0) {
+                    expandStyleTableIfFull();
+                    ++fRunArray.fPosEnd;
+                }
+
+                fStyleTable[fRunArray.fPosEnd] = newStyle;
+                fRunArray.fRunStart[fRunArray.fPosEnd] = currentRunStart;
+            }
+
+            mergeStyle = newStyle;
+
+            int nextRunStart = fRunArray.getLogicalRunStart(fRunArray.fNegStart);
+
+            if (limit > nextRunStart) {
+                oldStyle = fStyleTable[fRunArray.fNegStart];
+                currentRunStart = nextRunStart;
+                if (modified) {
+                    damagedRange[1] = Math.max(currentRunStart, damagedRange[1]);
+                }
+                ++fRunArray.fNegStart;
+            }
+            else {
+                if (limit < nextRunStart && !oldStyle.equals(mergeStyle)) {
+                    expandStyleTableIfFull();
+                    ++fRunArray.fPosEnd;
+                    fStyleTable[fRunArray.fPosEnd] = oldStyle;
+                    fRunArray.fRunStart[fRunArray.fPosEnd] = limit;
+                }
+                if (modified) {
+                    damagedRange[1] = Math.max(limit, damagedRange[1]);
+                }
+                break;
+            }
+        }
+
+        // merge last run if needed
+        if ((fRunArray.fNegStart < fRunArray.getArrayLength()) &&
+                    (fStyleTable[fRunArray.fNegStart].equals(fStyleTable[fRunArray.fPosEnd]))) {
+            fRunArray.fNegStart++;
+        }
+
+        fRunArray.runStartsChanged();
+
+        return modifiedAnywhere;
+    }
+
+    public int styleStart(int pos) {
+
+        if (pos == fRunArray.getCurTextLength()) {
+            return pos;
+        }
+
+        return fRunArray.getLogicalRunStart(fRunArray.findRunContaining(pos));
+    }
+
+    public int styleLimit(int pos) {
+
+        if (pos == fRunArray.getCurTextLength()) {
+            return pos;
+        }
+
+        int run = fRunArray.findRunContaining(pos);
+
+        if (run == fRunArray.fPosEnd) {
+            run = fRunArray.fNegStart;
+        }
+        else {
+            ++run;
+        }
+
+        return fRunArray.getLogicalRunStart(run);
+    }
+
+/**
+* Return style at location <tt>pos</tt>.
+* @param pos an offset into the text
+* @returns the style of the character at <tt>offset</tt>
+*/
+    public AttributeMap styleAt(int pos) {
+
+        return fStyleTable[ fRunArray.findRunContaining(pos) ];
+    }
+
+/*
+* Set run start, run length, and run value in an iterator.  This method is
+* only called by a <tt>StyleRunIterator</tt>.
+* @param pos an offset into the text.  The iterator's run start and run limit are
+* set to the run containing <tt>pos</tt>.
+* @param iter the iterator to set
+*/
+    void setIterator(int pos, StyleRunIterator iter) {
+
+        if ((pos < 0) || (pos > fRunArray.getCurTextLength())) {
+
+            iter.set(null, 0, 0, kNoRun);
+            return;
+        }
+
+        int run = fRunArray.findRunContaining(pos);
+
+        setIteratorUsingRun(run, iter);
+    }
+
+/**
+* Set run start, run length, and run value in an iterator.  This method is
+* only called by a <tt>StyleRunIterator</tt>.
+* @param run the index of the run to which the iterator should be set
+* @param iter the iterator to set
+*/
+    private void setIteratorUsingRun(int run, StyleRunIterator iter) {
+
+        int lastValidRun = fRunArray.lastRun();
+
+        if (run < 0 || run > lastValidRun) {
+
+            iter.set(null, 0, 0, kNoRun);
+            return;
+        }
+
+        if (run == fRunArray.fPosEnd+1)
+            run = fRunArray.fNegStart;
+        else if (run == fRunArray.fNegStart-1)
+            run = fRunArray.fPosEnd;
+
+        int runStart = fRunArray.fRunStart[run];
+        if (runStart < 0)
+            runStart += fRunArray.getCurTextLength();
+
+        AttributeMap style = fStyleTable[run];
+
+        int nextRun;
+
+        if (run == fRunArray.fPosEnd)
+            nextRun = fRunArray.fNegStart;
+        else
+            nextRun = run + 1;
+
+        int runLimit;
+
+        if (nextRun >= fRunArray.getArrayLength())
+            runLimit = fRunArray.getCurTextLength();
+        else {
+            runLimit = fRunArray.fRunStart[nextRun];
+            if (runLimit < 0)
+                runLimit += fRunArray.getCurTextLength();
+        }
+
+        //System.out.println("setIterator: pos="+pos+", runStart="+runStart+", runLimit="+runLimit+
+        //                  ", run="+run+", fPosEnd="+fPosEnd);
+
+        iter.set(style, runStart, runLimit, run);
+    }
+
+    public void replace(int start, int limit, MConstText srcText, int srcStart, int srcLimit)
+    {
+        deleteText(start, limit);
+        if (srcStart == srcLimit)
+            return;
+        prepareStyleInsert(start);
+        for (int j2 = srcStart; j2 < srcLimit; j2 = srcText.characterStyleLimit(j2))
+        {
+            AttributeMap attributeMap = srcText.characterStyleAt(j2);
+            if (fRunArray.fPosEnd < 0 || !fStyleTable[fRunArray.fPosEnd].equals(attributeMap))
+            {
+                expandStyleTableIfFull();
+                fRunArray.fPosEnd++;
+                fRunArray.fRunStart[fRunArray.fPosEnd] = j2 - srcStart + start;
+                fStyleTable[fRunArray.fPosEnd] = attributeMap;
+            }
+        }
+        fRunArray.addToCurTextLength(srcLimit - srcStart);
+        if (fRunArray.fNegStart < fRunArray.getArrayLength() && fStyleTable[fRunArray.fNegStart].equals(fStyleTable[fRunArray.fPosEnd]))
+            fRunArray.fNegStart++;
+    }
+
+    private  static final int kNoRun = -42; // iterator use
+
+    private final class StyleRunIterator /*implements MStyleRunIterator*/ {
+
+        StyleRunIterator(int start, int limit)
+        {
+            reset(start, limit, start);
+        }
+
+        public void reset(int start, int limit, int pos)
+        {
+            fStart = start;
+            fLimit = limit;
+            setIterator(fStart, this);
+        }
+
+        public boolean isValid()
+        {
+            return fStyle != null;
+        }
+
+        public void next()
+        {
+            if (fRunLimit < fLimit) {
+                fCurrentRun++;
+                setIteratorUsingRun(fCurrentRun, this);
+            }
+            else
+                set(null, 0, 0, kNoRun);
+        }
+
+        public void prev()
+        {
+            if (fRunStart > fStart) {
+                fCurrentRun--;
+                setIteratorUsingRun(fCurrentRun, this);
+            }
+            else
+                set(null, 0, 0, kNoRun);
+        }
+
+        public void set(int pos)
+        {
+            if (pos >= fStart && pos < fLimit) {
+                setIterator(pos, this);
+            } else {
+                set(null, 0, 0, kNoRun);
+            }
+        }
+
+        void set(AttributeMap style, int start, int limit, int currentRun)
+        {
+            fStyle = style;
+            fCurrentRun = currentRun;
+            fRunStart = start < fStart ? fStart : start;
+            fRunLimit = limit > fLimit ? fLimit : limit;
+        }
+
+        public void reset(int start, int limit)
+        {
+            reset(start, limit, start);
+        }
+
+        public void first()
+        {
+            set(fStart);
+        }
+
+        public void last()
+        {
+            set(fLimit - 1);
+        }
+
+        public int rangeStart()
+        {
+            return fStart;
+        }
+
+        public int rangeLimit()
+        {
+            return fLimit;
+        }
+
+        public int rangeLength()
+        {
+            return fLimit - fStart;
+        }
+
+        public AttributeMap style()
+        {
+            return fStyle;
+        }
+
+        public int runStart()
+        {
+            return fRunStart;
+        }
+
+        public int runLimit()
+        {
+            return fRunLimit;
+        }
+
+        public int runLength()
+        {
+            return fRunLimit - fRunStart;
+        }
+
+        private int fStart;
+        private int fLimit;
+        private AttributeMap fStyle;
+        private int fRunStart;
+        private int fRunLimit;
+        private int fCurrentRun;
+    }
+}
\ No newline at end of file
diff --git a/src/com/ibm/richtext/styledtext/StyleModifier.java b/src/com/ibm/richtext/styledtext/StyleModifier.java
new file mode 100755
index 0000000..0160245
--- /dev/null
+++ b/src/com/ibm/richtext/styledtext/StyleModifier.java
@@ -0,0 +1,190 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+package com.ibm.richtext.styledtext;
+
+import com.ibm.richtext.textlayout.attributes.AttributeMap;
+import com.ibm.richtext.textlayout.attributes.AttributeSet;
+
+/**
+ * StyleModifier is the base class for operations on AttributeMap.  To implement
+ * an operation on AttributeMap, subclass StyleModifier and override
+ * <code>modifyStyle</code>.  StyleModifiers are used by MText.
+ * <p>
+ * For convenience, this class contains factory methods which will create a
+ * StyleModifier for
+ * certain common operations: attribute union, attribute removal, and AttributeMap
+ * replacement.
+ * @see AttributeMap
+ * @see AttributeSet
+ * @see MText
+ */
+/*
+ * {jbr} StyleModifier is not the best name for this class - styles are immutable and never
+ * really modified.
+ */
+public class StyleModifier
+{
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+    /**
+     * Create a StyleModifier.
+     */
+    protected StyleModifier() {
+    }
+
+    /**
+     * Return the result of this StyleModifier's operation on the given style.
+     * Default implementation just returns the given style.
+     * @param style the AttributeMap to perform the operation on
+     */
+    public AttributeMap modifyStyle(AttributeMap style)
+    {
+        return style;
+    }
+
+    /**
+     * A StyleModifier which simply returns the given style.
+     */
+    public static final StyleModifier IDENTITY = new StyleModifier();
+
+    /**
+     * Create a StyleModifier whose operation is
+     * <code>style.addAttributes(s)</code>,
+     * where <code>style</code> is the AttributeMap passed to
+     * <code>modifyStyle</code>.
+     * @param s the AttributeMap to union with
+     * @return a StyleModifier for this operation
+     */
+    public static StyleModifier createAddModifier(AttributeMap s) {
+
+        return new StyleAddModifier(s);
+    }
+
+    /**
+     * Create a StyleModifier whose operation is
+     * <code>style.addAttribute(key, value)</code>,
+     * where <code>style</code> is the AttributeMap passed to
+     * <code>modifyStyle</code>.
+     * @param key the key to add
+     * @param value the value to add
+     * @return a StyleModifier for this operation
+     */
+    public static StyleModifier createAddModifier(Object key,
+                                                  Object value) {
+
+        return new AttributeAddModifier(key, value);
+    }
+
+    /**
+     * Create a StyleModifier whose operation returns <code>s</code>,
+     * ignoring the parameter to <code>modifyStyle</code>.
+     * @param s the AttributeMap which will replace any other AttributeMap
+     * @return a StyleModifier for this operation
+     */
+    public static StyleModifier createReplaceModifier(AttributeMap s) {
+
+        return new StyleReplaceModifier(s);
+    }
+
+    /**
+     * Create a StyleModifier whose operation is
+     * <code>style.removeAttributes(s)</code>,
+     * where <code>style</code> is the AttributeMap passed to
+     * <code>modifyStyle</code>.
+     * @param s the AttributeSet of attributes to remove
+     * @return a StyleModifier for this operation
+     */
+    public static StyleModifier createRemoveModifier(AttributeSet s) {
+
+        return new StyleRemoveModifier(s);
+    }
+
+    static final class AttributeAddModifier extends StyleModifier {
+
+        private Object fKey;
+        private Object fValue;
+
+        public AttributeAddModifier(Object key, Object value) {
+
+            fKey = key;
+            fValue = value;
+        }
+
+        public AttributeMap modifyStyle(AttributeMap style) {
+
+            return style.addAttribute(fKey, fValue);
+        }
+    }
+
+    /**
+     * Create this with the styles to add.  These styles will add to and override any already
+     * present in the style passed to modifyStyle.
+     */
+    static final class StyleAddModifier extends StyleModifier
+    {
+        private AttributeMap fStyle;
+
+        public StyleAddModifier(AttributeMap style)
+        {
+            if (style == null) {
+                throw new IllegalArgumentException("style is null");
+            }
+            fStyle = style;
+        }
+
+        public AttributeMap modifyStyle(AttributeMap style)
+        {
+            return style.addAttributes(fStyle);
+        }
+    }
+
+    /**
+     * Create this with the styles to replace.  All style runs will have only these
+     * styles.
+     */
+    static final class StyleReplaceModifier extends StyleModifier
+    {
+        private AttributeMap fStyle;
+
+        public StyleReplaceModifier(AttributeMap style)
+        {
+            if (style == null) {
+                throw new IllegalArgumentException("style is null");
+            }
+            fStyle = style;
+        }
+
+        public AttributeMap modifyStyle(AttributeMap style)
+        {
+            return fStyle;
+        }
+    }
+
+    static final class StyleRemoveModifier extends StyleModifier {
+
+        private AttributeSet fRemoveSet;
+
+        public StyleRemoveModifier(AttributeSet removeSet) {
+
+            if (removeSet == null) {
+                throw new IllegalArgumentException("set is null");
+            }
+            fRemoveSet = removeSet;
+        }
+
+        public AttributeMap modifyStyle(AttributeMap style) {
+
+            return style.removeAttributes(fRemoveSet);
+        }
+    }
+}
diff --git a/src/com/ibm/richtext/styledtext/StyledText.java b/src/com/ibm/richtext/styledtext/StyledText.java
new file mode 100755
index 0000000..7de6f57
--- /dev/null
+++ b/src/com/ibm/richtext/styledtext/StyledText.java
@@ -0,0 +1,684 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+package com.ibm.richtext.styledtext;
+
+import com.ibm.richtext.textlayout.attributes.AttributeMap;
+
+import java.io.Externalizable;
+import java.io.ObjectInput;
+import java.io.ObjectOutput;
+import java.io.IOException;
+import java.text.CharacterIterator;
+
+/**
+ * This class is an implementation of MText, a modifyable, styled text
+ * storage model.  Additionally, it supports persistance through the
+ * Externalizable interface.
+ * @see MText
+ */
+
+/*
+    10/28/96 {jf} - split the character and paragraph style access and setter function around...
+            just to keep things interesting.
+    8/7/96 {jf} - moved paragraph break implementation from AbstractText into Style text.
+            - added countStyles, getStyles, and ReplaceStyles implementation.
+
+    8/14/96 sfb  eliminated StyleSheetIterator
+
+    8/29/96 {jbr} changed iter-based replace method - doesn't call at() unless it is safe to do so
+            Also, added checkStartAndLimit for debugging
+
+    7/31/98 Switched from Style to AttributeMap
+
+*/
+
+public final class StyledText extends MText implements Externalizable
+{
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+    private static final int CURRENT_VERSION = 1;
+    private static final long serialVersionUID = 22356934;
+
+    /* unicode storage */
+    private MCharBuffer         fCharBuffer;
+    /* character style storage */
+    private MStyleBuffer        fStyleBuffer;
+    /* paragraph style storage */
+    private MParagraphBuffer    fParagraphBuffer;
+
+    private transient int fTimeStamp = 0;
+    private transient int[] fDamagedRange = { Integer.MAX_VALUE,
+                                              Integer.MIN_VALUE };
+
+    private static class ForceModifier extends StyleModifier {
+
+        private AttributeMap fStyle = AttributeMap.EMPTY_ATTRIBUTE_MAP;
+
+        void setStyle(AttributeMap style) {
+
+            fStyle = style;
+        }
+
+        public AttributeMap modifyStyle(AttributeMap style) {
+
+            return fStyle;
+        }
+    }
+
+    // Keep this around foruse in replaceCharStylesWith.  OK since
+    // this class isn't threadsafe anyway.
+    private transient ForceModifier forceModifier = null;
+
+    //======================================================
+    // CONSTRUCTORS
+    //======================================================
+    /**
+     * Create an empty text object.
+     */
+    public StyledText()
+    {
+        this(0);
+    }
+
+    /**
+     * Create an empty text object ready to hold at least capacity chars.
+     * @param capacity the minimum capacity of the internal text buffer
+     */
+    public StyledText(int capacity)
+    {
+        fCharBuffer         = capacity>0? new CharBuffer(capacity) : new CharBuffer();
+        fStyleBuffer        = new StyleBuffer(this, AttributeMap.EMPTY_ATTRIBUTE_MAP);
+        fParagraphBuffer    = new ParagraphBuffer(fCharBuffer);
+    }
+
+    /**
+     * Create a text object with the characters in the string,
+     * in the given style.
+     * @param string the initial contents
+     * @param initialStyle the style of the initial text
+     */
+    public StyledText(String string, AttributeMap initialStyle)
+    {
+        fCharBuffer = new CharBuffer(string.length());
+        fCharBuffer.replace(0, 0, string, 0, string.length());
+
+        fStyleBuffer = new StyleBuffer(this, initialStyle);
+        fParagraphBuffer = new ParagraphBuffer(fCharBuffer);
+    }
+
+    /**
+     * Create a text object from the given source.
+     * @param source the text to copy
+     */
+    public StyledText(MConstText source) {
+        this();
+        append(source);
+    }
+    
+    /**
+     * Create a text object from a subrange of the given source.
+     * @param source the text to copy from
+     * @param srcStart the index of the first character to copy
+     * @param srcLimit the index after the last character to copy
+     */
+    public StyledText(MConstText source, int srcStart, int srcLimit) {
+        this();
+        replace(0, 0, source, srcStart, srcLimit);
+    }
+
+    public void writeExternal(ObjectOutput out) throws IOException {
+
+        out.writeInt(CURRENT_VERSION);
+        out.writeObject(fCharBuffer);
+        out.writeObject(fStyleBuffer);
+        out.writeObject(fParagraphBuffer);
+    }
+
+    public void readExternal(ObjectInput in) throws IOException,
+                                            ClassNotFoundException {
+
+        int version = in.readInt();
+        if (version != CURRENT_VERSION) {
+            throw new IOException("Invalid version of StyledText: " + version);
+        }
+        fCharBuffer = (MCharBuffer) in.readObject();
+        fStyleBuffer = (MStyleBuffer) in.readObject();
+        fParagraphBuffer = (MParagraphBuffer) in.readObject();
+
+        resetDamagedRange();
+    }
+
+    //======================================================
+    // MConstText INTERFACES
+    //======================================================
+
+    //--------------------------------------------------------
+    // character access
+    //--------------------------------------------------------
+/**
+* Return the character at offset <code>pos</code>.
+* @param pos a valid offset into the text
+* @return the character at offset <code>pos</code>
+*/
+    public char at(int pos)
+    {
+        return fCharBuffer.at(pos);
+    }
+
+/**
+* Copy the characters in the range [<code>start</code>, <code>limit</code>)
+* into the array <code>dst</code>, beginning at <code>dstStart</code>.
+* @param start offset of first character which will be copied into the array
+* @param limit offset immediately after the last character which will be copied into the array
+* @param dst array in which to copy characters.  The length of <code>dst</code> must be at least
+* (<code>dstStart + limit - start</code>).
+*/
+    public void extractChars(int start, int limit, char[] dst, int dstStart)
+    {
+        fCharBuffer.at(start, limit, dst, dstStart);
+    }
+
+    //-------------------------------------------------------
+    // text model creation
+    //-------------------------------------------------------
+/**
+* Create an MConstText containing the characters and styles in the range
+* [<code>start</code>, <code>limit</code>).
+* @param start offset of first character in the new text
+* @param limit offset immediately after the last character in the new text
+* @return an MConstText object containing the characters and styles in the given range
+*/
+    public MConstText extract(int start, int limit)
+    {
+        return extractWritable(start, limit);
+    }
+
+/**
+* Create an MText containing the characters and styles in the range
+* [<code>start</code>, <code>limit</code>).
+* @param start offset of first character in the new text
+* @param limit offset immediately after the last character in the new text
+* @return an MConstText object containing the characters and styles in the given range
+*/
+    public MText extractWritable(int start, int limit)
+    {
+        MText text = new StyledText();
+        text.replace(0, 0, this, start, limit);
+        text.resetDamagedRange();
+        return text;
+    }
+
+    //--------------------------------------------------------
+    // size/capacity
+    //--------------------------------------------------------
+/**
+* Return the length of the MConstText object.  The length is the number of characters in the text.
+* @return the length of the MConstText object
+*/
+    public int length()
+    {
+        return fCharBuffer.length();
+    }
+
+/**
+* Create a <code>CharacterIterator</code> over the range [<code>start</code>, <code>limit</code>).
+* @param start the beginning of the iterator's range
+* @param limit the limit of the iterator's range
+* @return a valid <code>CharacterIterator</code> over the specified range
+* @see java.text.CharacterIterator
+*/
+    public CharacterIterator createCharacterIterator(int start, int limit)
+    {
+        return fCharBuffer.createCharacterIterator(start, limit);
+    }
+
+    //--------------------------------------------------------
+    // character styles
+    //--------------------------------------------------------
+
+/**
+* Return the index of the first character in the character style run
+* containing pos.  All characters in a style run have the same character
+* style.
+* @return the style at offset <code>pos</code>
+*/
+    public int characterStyleStart(int pos) {
+
+        checkPos(pos, LESS_THAN_LENGTH);
+        return fStyleBuffer.styleStart(pos);
+    }
+
+/**
+* Return the index after the last character in the character style run
+* containing pos.  All characters in a style run have the same character
+* style.
+* @return the style at offset <code>pos</code>
+*/
+    public int characterStyleLimit(int pos) {
+
+        checkPos(pos, NOT_GREATER_THAN_LENGTH);
+        return fStyleBuffer.styleLimit(pos);
+    }
+
+/**
+* Return the style applied to the character at offset <code>pos</code>.
+* @param pos a valid offset into the text
+* @return the style at offset <code>pos</code>
+*/
+    public AttributeMap characterStyleAt(int pos)
+    {
+        checkPos(pos, NOT_GREATER_THAN_LENGTH);
+        return fStyleBuffer.styleAt(pos);
+    }
+
+    //--------------------------------------------------------
+    // paragraph boundaries and styles
+    //--------------------------------------------------------
+/**
+* Return the start of the paragraph containing the character at offset <code>pos</code>.
+* @param pos a valid offset into the text
+* @return the start of the paragraph containing the character at offset <code>pos</code>
+*/
+    public int paragraphStart(int pos)
+    {
+        checkPos(pos, NOT_GREATER_THAN_LENGTH);
+        return fParagraphBuffer.paragraphStart(pos);
+    }
+
+/**
+* Return the limit of the paragraph containing the character at offset <code>pos</code>.
+* @param pos a valid offset into the text
+* @return the limit of the paragraph containing the character at offset <code>pos</code>
+*/
+    public int paragraphLimit(int pos)
+    {
+        checkPos(pos, NOT_GREATER_THAN_LENGTH);
+        return fParagraphBuffer.paragraphLimit(pos);
+    }
+
+/**
+* Return the paragraph style applied to the paragraph containing offset <code>pos</code>.
+* @param pos a valid offset into the text
+* @return the paragraph style in effect at <code>pos</code>
+*/
+    public AttributeMap paragraphStyleAt(int pos)
+    {
+        checkPos(pos, NOT_GREATER_THAN_LENGTH);
+        return fParagraphBuffer.paragraphStyleAt(pos);
+    }
+
+/**
+* Return the current time stamp.  The time stamp is
+* incremented whenever the contents of the MConstText changes.
+* @return the current paragraph style time stamp
+*/
+    public int getTimeStamp() {
+
+        return fTimeStamp;
+    }
+
+    //======================================================
+    // MText INTERFACES
+    //======================================================
+    //--------------------------------------------------------
+    // character modfication functions
+    //--------------------------------------------------------
+
+    private void updateDamagedRange(int deleteStart,
+                                    int deleteLimit,
+                                    int insertLength) {
+
+        fDamagedRange[0] = Math.min(fDamagedRange[0], deleteStart);
+
+        if (fDamagedRange[1] >= deleteLimit) {
+            int lengthChange = insertLength - (deleteLimit-deleteStart);
+            fDamagedRange[1] += lengthChange;
+        }
+        else {
+            fDamagedRange[1] = deleteStart + insertLength;
+        }
+    }
+
+/**
+* Replace the characters and styles in the range [<code>start</code>, <code>limit</code>) with the characters
+* and styles in <code>srcText</code> in the range [<code>srcStart</code>, <code>srcLimit</code>).  <code>srcText</code> is not
+* modified.
+* @param start the offset at which the replace operation begins
+* @param limit the offset at which the replace operation ends.  The character and style at
+* <code>limit</code> is not modified.
+* @param text the source for the new characters and styles
+* @param srcStart the offset into <code>srcText</code> where new characters and styles will be obtained
+* @param srcLimit the offset into <code>srcText</code> where the new characters and styles end
+*/
+    public void replace(int start, int limit, MConstText text, int srcStart, int srcLimit)
+    {
+        if (text == this) {
+            text = new StyledText(text);
+        }
+
+        if (start == limit && srcStart == srcLimit) {
+            return;
+        }
+
+        checkStartLimit(start, limit);
+
+        updateDamagedRange(start, limit, srcLimit-srcStart);
+
+        fCharBuffer.replace(start, limit, text, srcStart, srcLimit);
+        fStyleBuffer.replace(start, limit, text, srcStart, srcLimit);
+        fParagraphBuffer.replace(start, limit, text, srcStart, srcLimit, fDamagedRange);
+        fTimeStamp += 1;
+    }
+
+/**
+* Replace the characters and styles in the range [<code>start</code>, <code>limit</code>) with the characters
+* and styles in <code>srcText</code>.  <code>srcText</code> is not
+* modified.
+* @param start the offset at which the replace operation begins
+* @param limit the offset at which the replace operation ends.  The character and style at
+* <code>limit</code> is not modified.
+* @param text the source for the new characters and styles
+*/
+    public void replace(int start, int limit, MConstText text) {
+
+        replace(start, limit, text, 0, text.length());
+    }
+
+/**
+* Replace the characters in the range [<code>start</code>, <code>limit</code>) with the characters
+* in <code>srcChars</code> in the range [<code>srcStart</code>, <code>srcLimit</code>).  New characters take on the style
+* <code>charsStyle</code>.
+* <code>srcChars</code> is not modified.
+* @param start the offset at which the replace operation begins
+* @param limit the offset at which the replace operation ends.  The character at
+* <code>limit</code> is not modified.
+* @param srcChars the source for the new characters
+* @param srcStart the offset into <code>srcChars</code> where new characters will be obtained
+* @param srcLimit the offset into <code>srcChars</code> where the new characters end
+* @param charsStyle the style of the new characters
+*/
+    public void replace(int start, int limit, char[] srcChars, int srcStart, int srcLimit, AttributeMap charsStyle)
+    {
+        checkStartLimit(start, limit);
+
+        if (start == limit && srcStart == srcLimit) {
+            return;
+        }
+
+        updateDamagedRange(start, limit, srcLimit-srcStart);
+
+        fCharBuffer.replace(start, limit, srcChars, srcStart, srcLimit);
+
+        replaceCharStylesWith(start, limit, start + (srcLimit-srcStart), charsStyle);
+
+        fParagraphBuffer.deleteText(start, limit, fDamagedRange);
+        fParagraphBuffer.insertText(start, srcChars, srcStart, srcLimit);
+
+        fTimeStamp += 1;
+    }
+
+    private void replaceCharStylesWith(int start, int oldLimit, int newLimit, AttributeMap style) {
+
+        if (start < oldLimit) {
+            fStyleBuffer.deleteText(start, oldLimit);
+        }
+        if (start < newLimit) {
+            if (forceModifier == null) {
+                forceModifier = new ForceModifier();
+            }
+            forceModifier.setStyle(style);
+            fStyleBuffer.insertText(start, newLimit);
+            fStyleBuffer.modifyStyles(start, newLimit, forceModifier, null);
+        }
+    }
+
+/**
+* Replace the characters in the range [<code>start</code>, <code>limit</code>) with the character <code>srcChar</code>.
+* The new character takes on the style <code>charStyle</code>
+* @param start the offset at which the replace operation begins
+* @param limit the offset at which the replace operation ends.  The character at
+* <code>limit</code> is not modified.
+* @param srcChar the new character
+* @param charStyle the style of the new character
+*/
+    public void replace(int start, int limit, char srcChar, AttributeMap charStyle)
+    {
+        checkStartLimit(start, limit);
+
+        updateDamagedRange(start, limit, 1);
+
+        fCharBuffer.replace(start, limit, srcChar);
+
+        replaceCharStylesWith(start, limit, start + 1, charStyle);
+
+        if (start < limit) {
+            fParagraphBuffer.deleteText(start, limit, fDamagedRange);
+        }
+
+        fParagraphBuffer.insertText(start, srcChar);
+
+        fTimeStamp += 1;
+    }
+
+/**
+* Replace the entire contents of this MText (both characters and styles) with
+* the contents of <code>srcText</code>.
+* @param srcText the source for the new characters and styles
+*/
+    public void replaceAll(MConstText srcText)
+    {
+        replace(0, length(), srcText, 0, srcText.length());
+    }
+
+/**
+* Insert the contents of <code>srcText</code> (both characters and styles) into this
+* MText at the position specified by <code>pos</code>.
+* @param pos The character offset where the new text is to be inserted.
+* @param srcText The text to insert.
+*/
+    public void insert(int pos, MConstText srcText)
+    {
+        replace(pos, pos, srcText, 0, srcText.length());
+    }
+
+/**
+* Append the contents of <code>srcText</code> (both characters and styles) to the
+* end of this MText.
+* @param srcText The text to append.
+*/
+    public void append(MConstText srcText)
+    {
+        replace(length(), length(), srcText, 0, srcText.length());
+    }
+
+/**
+* Delete the specified range of characters (and styles).
+* @param start Offset of the first character to delete.
+* @param limit Offset of the first character after the range to delete.
+*/
+    public void remove(int start, int limit)
+    {
+        replace(start, limit, (char[])null, 0, 0, AttributeMap.EMPTY_ATTRIBUTE_MAP);
+    }
+
+/**
+* Delete all characters and styles.  Always increments time stamp.
+*/
+    public void remove()
+    {
+        // rather than going through replace(), just reinitialize the StyledText,
+        // letting the old data structures fall on the floor
+        fCharBuffer = new CharBuffer();
+        fStyleBuffer = new StyleBuffer(this, AttributeMap.EMPTY_ATTRIBUTE_MAP);
+        fParagraphBuffer = new ParagraphBuffer(fCharBuffer);
+        fTimeStamp += 1;
+        fDamagedRange[0] = fDamagedRange[1] = 0;
+    }
+
+    //--------------------------------------------------------
+    // storage management
+    //--------------------------------------------------------
+
+/**
+* Minimize the amount of memory used by the MText object.
+*/
+    public void compress() {
+
+        fCharBuffer.compress();
+        fStyleBuffer.compress();
+        fParagraphBuffer.compress();
+    }
+
+    //--------------------------------------------------------
+    // style modification
+    //--------------------------------------------------------
+
+/**
+* Set the style of all characters in the MText object to
+* <code>AttributeMap.EMPTY_ATTRIBUTE_MAP</code>.
+*/
+    public void removeCharacterStyles() {
+
+        fStyleBuffer = new StyleBuffer(this, AttributeMap.EMPTY_ATTRIBUTE_MAP);
+        fTimeStamp += 1;
+        fDamagedRange[0] = 0;
+        fDamagedRange[1] = length();
+    }
+
+/**
+* Invoke the given modifier on all character styles from start to limit.
+* @param modifier the modifier to apply to the range.
+* @param start the start of the range of text to modify.
+* @param limit the limit of the range of text to modify.
+*/
+    public void modifyCharacterStyles(int start, int limit, StyleModifier modifier) {
+
+        checkStartLimit(start, limit);
+        boolean modified = fStyleBuffer.modifyStyles(start,
+                                                     limit,
+                                                     modifier,
+                                                     fDamagedRange);
+        if (modified) {
+            fTimeStamp += 1;
+        }
+    }
+
+/**
+* Invoke the given modifier on all paragraph styles in paragraphs
+* containing characters in the range [start, limit).
+* @param modifier the modifier to apply to the range.
+* @param start the start of the range of text to modify.
+* @param limit the limit of the range of text to modify.
+*/
+    public void modifyParagraphStyles(int start, int limit, StyleModifier modifier) {
+
+        checkStartLimit(start, limit);
+        boolean modified = fParagraphBuffer.modifyParagraphStyles(start,
+                                                                  limit,
+                                                                  modifier,
+                                                                  fDamagedRange);
+        if (modified) {
+            fTimeStamp += 1;
+        }
+    }
+
+/**
+* Reset the damaged range to an empty interval, and begin accumulating the damaged
+* range.  The damaged range includes every index where a character, character style,
+* or paragraph style has changed.
+* @see #damagedRangeStart
+* @see #damagedRangeLimit
+*/
+    public void resetDamagedRange() {
+
+        fDamagedRange[0] = Integer.MAX_VALUE;
+        fDamagedRange[1] = Integer.MIN_VALUE;
+    }
+
+/**
+* Return the start of the damaged range.
+* If the start is
+* <code>Integer.MAX_VALUE</code> and the limit is
+* <code>Integer.MIN_VALUE</code>, then the damaged range
+* is empty.
+* @return the start of the damaged range
+* @see #damagedRangeLimit
+* @see #resetDamagedRange
+*/
+    public int damagedRangeStart() {
+
+        return fDamagedRange[0];
+    }
+
+/**
+* Return the limit of the damaged range.
+* If the start is
+* <code>Integer.MAX_VALUE</code> and the limit is
+* <code>Integer.MIN_VALUE</code>, then the damaged range
+* is empty.
+* @return the limit of the damaged range
+* @see #damagedRangeStart
+* @see #resetDamagedRange
+*/
+    public int damagedRangeLimit() {
+
+        return fDamagedRange[1];
+    }
+
+    public String toString()
+    {
+        String result ="";
+        for (int i = 0; i < length(); i++) {
+            result += at(i);
+        }
+        return result;
+    }
+
+    //======================================================
+    // IMPLEMENTATION
+    //======================================================
+
+    /* check a range to see if it is well formed and within the bounds of the text */
+    private void checkStartLimit(int start, int limit)
+    {
+        if (start > limit) {
+            //System.out.println("Start is less than limit. start:"+start+"; limit:"+limit);
+            throw new IllegalArgumentException("Start is greater than limit. start:"+start+"; limit:"+limit);
+        }
+
+        if (start < 0) {
+            //System.out.println("Start is negative. start:"+start);
+            throw new IllegalArgumentException("Start is negative. start:"+start);
+        }
+
+        if (limit > length()) {
+            //System.out.println("Limit is greater than length.  limit:"+limit);
+            throw new IllegalArgumentException("Limit is greater than length.  limit:"+limit);
+        }
+    }
+
+    private static final boolean LESS_THAN_LENGTH = false;
+    private static final boolean NOT_GREATER_THAN_LENGTH = true;
+
+    private void checkPos(int pos, boolean endAllowed) {
+
+        int lastValidPos = length();
+        if (endAllowed == LESS_THAN_LENGTH) {
+            --lastValidPos;
+        }
+
+        if (pos < 0 || pos > lastValidPos) {
+            throw new IllegalArgumentException("Position is out of range.");
+        }
+    }
+}
diff --git a/src/com/ibm/richtext/styledtext/TabStop.java b/src/com/ibm/richtext/styledtext/TabStop.java
new file mode 100755
index 0000000..766ae56
--- /dev/null
+++ b/src/com/ibm/richtext/styledtext/TabStop.java
@@ -0,0 +1,183 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+package com.ibm.richtext.styledtext;
+
+import java.io.Externalizable;
+import java.io.ObjectInput;
+import java.io.ObjectOutput;
+import java.io.IOException;
+
+/**
+ * TabStop represents a position on a tab ruler.  Each tab stop has a
+ * position, giving its location on the ruler, and one of several
+ * types.  The type determines how a segment controled by this TabStop
+ * is positioned on a line:
+ * <ul>
+ * <li><code>kLeading</code> - the leading edge of the segment is aligned to
+ *     the TabStop's position</li>
+ * <li><code>kCenter</code> - the segment is centered on this TabStop's
+ *     position</li>
+ * <li><code>kTrailing</code> - the trailing edge of the segment is aligned to
+ *     the TabStop's position</li>
+ * <li><code>kDecimal</code> - the first decimal in the segment is aligned to
+ *     the TabStop's position</li>
+ * <li><code>kAuto</code> - semantically the same as <code>kLeading</code>.
+ *     Used by tab rulers to indicate that all subsequent tab stops
+ *     will be at autospaced intervals.</li>
+ * </ul>
+ * @see MTabRuler
+ */
+public final class TabStop implements Externalizable
+{
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+    private static final int CURRENT_VERSION = 1;
+    private static final long serialVersionUID = 22356934;
+
+    private byte fType;    // left, center, right, decimal
+    private int fPosition; // tab stop position from line origin.
+
+    /**
+     * A TabStop with this type aligns its segment's leading edge
+     * to the TabStop's position.
+     */
+    public static final byte kLeading = 0;
+
+    /**
+     * A TabStop with this type aligns its segment's center
+     * to the TabStop's position.
+     */
+    public static final byte kCenter = 1;
+
+    /**
+     * A TabStop with this type aligns its segment's trailing edge
+     * to the TabStop's position.
+     */
+    public static final byte kTrailing = 2;
+
+    /**
+     * A TabStop with this type aligns its segment's first decimal
+     * to the TabStop's position.
+     */
+    public static final byte kDecimal = 3;
+
+    /**
+     * A TabStop with this type aligns its segment's leading edge
+     * to the TabStop's position.  After a TabStop of this type,
+     * all tabs are at autospace intervals.  Usually, clients will
+     * not construct TabStops with this type.
+     */
+    public static final byte kAuto = 4;
+
+    /**
+     * Create a TabStop with position 0 and type <code>kLeading</code>.
+     */
+    public TabStop() {
+
+       this(0, kLeading);
+    }
+
+    /**
+     * Create a TabStop with the given position and type.
+     * @param position the TabStop's position
+     * @param type the TabStop's type.  Must be one of constants
+     *      in this class.
+     */
+    public TabStop(int position, byte type) {
+
+        if (type < kLeading || type > kAuto) {
+            throw new IllegalArgumentException("Invalid tab type");
+        }
+
+        fPosition = position;
+        fType = type;
+    }
+
+    public void readExternal(ObjectInput in) throws IOException,
+                                            ClassNotFoundException {
+
+        int version = in.readInt();
+        if (version != CURRENT_VERSION) {
+            throw new IOException("Invalid version of TabStop.");
+        }
+        fPosition = in.readInt();
+        fType = in.readByte();
+    }
+
+    public void writeExternal(ObjectOutput out) throws IOException {
+
+        out.writeInt(CURRENT_VERSION);
+        out.writeInt(fPosition);
+        out.writeByte(fType);
+    }
+
+    /**
+     * Compare this to another Object.  TabStops are equal if
+     * their position and type are the same.
+     */
+    public boolean equals(Object rhs)
+    {
+        if (rhs == null) {
+            return false;
+        }
+
+        TabStop rhsTab;
+        try {
+            rhsTab = (TabStop) rhs;
+        }
+        catch(ClassCastException e) {
+            return false;
+        }
+
+        return fType == rhsTab.fType && fPosition == rhsTab.fPosition;
+    }
+
+    /**
+     * Return the hash code for this TabStop.  The hash code is
+     * <code>position << type</code>.
+     */
+    public int hashCode() {
+
+        return fPosition << fType;
+    }
+
+    public String toString()
+    {
+        char typeChar;
+        switch (fType) {
+            case kLeading: typeChar = 'L'; break;
+            case kCenter: typeChar = 'C'; break;
+            case kTrailing: typeChar = 'R'; break;
+            case kDecimal: typeChar = 'D'; break;
+            case kAuto: typeChar = 'A'; break;
+            default: typeChar = '?'; break;
+        }
+        return "TabStop[" + Integer.toString(fPosition) + typeChar + ']';
+    }
+
+    /**
+     * Return the type of this TabStop.  Will be one of the constants
+     * in this class.
+     */
+    public byte getType() {
+        return fType;
+    }
+
+    /**
+     * Return the position of this TabStop.
+     */
+    public int getPosition() {
+        return fPosition;
+    }
+}
+
diff --git a/src/com/ibm/richtext/styledtext/TestFastIntBinarySearch.java b/src/com/ibm/richtext/styledtext/TestFastIntBinarySearch.java
new file mode 100755
index 0000000..a15e844
--- /dev/null
+++ b/src/com/ibm/richtext/styledtext/TestFastIntBinarySearch.java
@@ -0,0 +1,58 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+package com.ibm.richtext.styledtext;
+
+final class TestFastIntBinarySearch {
+
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+    public static void main(String[] args) {
+
+        boolean result = new TestFastIntBinarySearch().test();
+        System.out.println(result? "PASSED" : "FAILED");
+    }
+
+    public boolean test() {
+
+        boolean result = true;
+        int[] test = {-5, -3, 0, 2, 5};
+        FastIntBinarySearch fibs = new FastIntBinarySearch(test);
+
+        for (int i=0; i < 2; i++) {
+            int beforeAny = fibs.findIndex(-6);
+            if (beforeAny != -1) {
+                result = false;
+            }
+            
+            int atEnd = fibs.findIndex(5);
+            if (atEnd != test.length-1) {
+                result = false;
+            }
+            
+            int afterAny = fibs.findIndex(6);
+            if (afterAny != test.length-1) {
+                result = false;
+            }
+            
+            int exactly = fibs.findIndex(-3);
+            if (exactly != 1) {
+                result = false;
+            }
+            
+            fibs = new FastIntBinarySearch(new int[] {20, 40});
+            fibs.setData(test);
+        }
+        
+        return result;
+    }
+}
\ No newline at end of file
diff --git a/src/com/ibm/richtext/styledtext/Validation.java b/src/com/ibm/richtext/styledtext/Validation.java
new file mode 100755
index 0000000..901b04a
--- /dev/null
+++ b/src/com/ibm/richtext/styledtext/Validation.java
@@ -0,0 +1,37 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+package com.ibm.richtext.styledtext;
+
+/**
+ * Iterators use this class to keep from getting out of sync with
+ * their underlying data.  When created, the iterator gets a
+ * Validation instance.  If the underlying data changes, the Validation
+ * becomes invalid.  Usually iterators will throw exceptions if accessed
+ * after becoming invalid.
+ */
+final class Validation {
+
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+    private boolean fIsValid = true;
+
+    boolean isValid() {
+
+        return fIsValid;
+    }
+
+    void invalidate() {
+
+        fIsValid = false;
+    }
+}
diff --git a/src/com/ibm/richtext/styledtext/package.html b/src/com/ibm/richtext/styledtext/package.html
new file mode 100755
index 0000000..659bed4
--- /dev/null
+++ b/src/com/ibm/richtext/styledtext/package.html
@@ -0,0 +1,13 @@
+<!-- 
+/**
+ *******************************************************************************
+ * Copyright (C) 2000-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+-->
+<html>
+<body bgcolor="white">
+Provides styled text storage and related classes.
+</body>
+</html>
diff --git a/src/com/ibm/richtext/swingdemo/SwingCodeEdit.java b/src/com/ibm/richtext/swingdemo/SwingCodeEdit.java
new file mode 100755
index 0000000..295dca3
--- /dev/null
+++ b/src/com/ibm/richtext/swingdemo/SwingCodeEdit.java
@@ -0,0 +1,46 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+package com.ibm.richtext.swingdemo;
+
+import com.ibm.richtext.demo.CodeEdit;
+import com.ibm.richtext.demo.DocumentWindow;
+import com.ibm.richtext.demo.SyntaxColorer;
+import com.ibm.richtext.demo.TextDocument;
+
+public class SwingCodeEdit extends CodeEdit {
+
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+
+    public static void main(String[] args) {
+    
+        new SwingCodeEdit(args, 0);
+    }
+    
+    public SwingCodeEdit(String[] args, int start) {
+    
+        super(args, start);
+    }
+    
+    protected DocumentWindow createDocumentWindow(TextDocument document) {
+
+        return new SwingDocumentWindow(this, 
+                                       document,
+                                       fSettings,
+                                       false,
+                                       new SyntaxColorer(),
+                                       false,
+                                       true,
+                                       menus);
+    }
+}
\ No newline at end of file
diff --git a/src/com/ibm/richtext/swingdemo/SwingDocumentWindow.java b/src/com/ibm/richtext/swingdemo/SwingDocumentWindow.java
new file mode 100755
index 0000000..8f5065a
--- /dev/null
+++ b/src/com/ibm/richtext/swingdemo/SwingDocumentWindow.java
@@ -0,0 +1,270 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2005.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+package com.ibm.richtext.swingdemo;
+
+import com.ibm.richtext.textpanel.JTextPanel;
+import com.ibm.richtext.textpanel.TextPanelListener;
+import com.ibm.richtext.textpanel.TextPanelSettings;
+
+import com.ibm.richtext.swingui.JTabRuler;
+import com.ibm.richtext.swingui.SwingMenuBuilder;
+
+import com.ibm.richtext.print.PrintingUtils;
+
+import com.ibm.richtext.demo.AwtDocumentWindow;
+import com.ibm.richtext.demo.DocumentWindow;
+import com.ibm.richtext.demo.EditApplication;
+import com.ibm.richtext.demo.EditorResources;
+import com.ibm.richtext.demo.ResourceUtils;
+import com.ibm.richtext.demo.TextDocument;
+
+import java.awt.BorderLayout;
+import java.awt.FileDialog;
+
+import javax.swing.JFrame;
+import javax.swing.JMenu;
+import javax.swing.JMenuBar;
+import javax.swing.JOptionPane;
+import javax.swing.WindowConstants;
+
+import java.awt.event.WindowAdapter;
+import java.awt.event.WindowEvent;
+
+import java.io.File;
+
+import java.text.MessageFormat;
+
+/**
+ * AwtDocumentWindow is a Frame containing a TextPanel, with a document
+ * for storing the text in the TextPanel.
+ */
+final class SwingDocumentWindow extends JFrame implements DocumentWindow {
+
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+
+    private JTextPanel fTextPanel;
+    private EditApplication fApplication;
+    private TextDocument fDocument;
+
+    /**
+     * Create a new AwtDocumentWindow.
+     * @param application the application that owns this document
+     * @param document the document to show in this AwtDocumentWindow
+     */
+    SwingDocumentWindow(EditApplication application,
+                        TextDocument document,
+                        TextPanelSettings textPanelSettings,
+                        boolean useTabRuler,
+                        TextPanelListener listener,
+                        boolean supportStyledText,
+                        boolean supportPlainText,
+                        int[] menus) {
+
+        fApplication = application;
+        setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE);
+        
+        fTextPanel = new JTextPanel(textPanelSettings, null, application.getClipboard());
+        if (listener != null) {
+            fTextPanel.addListener(listener);
+        }
+        setDocument(document);
+
+        addMenuBar(supportStyledText, supportPlainText, menus);
+
+        getContentPane().setLayout(new BorderLayout());
+
+        if (useTabRuler) {
+            JTabRuler tabRuler = new JTabRuler(14, 10, fTextPanel);
+            getContentPane().add(tabRuler, "North");
+        }
+        
+        getContentPane().add(fTextPanel, "Center");
+
+        addWindowListener(new WindowAdapter() {
+            public void windowClosing(WindowEvent e) {
+                doClose();
+            }
+        });
+    }
+
+    private void addMenuBar(boolean supportStyledText, 
+                            boolean supportPlainText,
+                            int[] menus) {
+        
+        JMenuBar menuBar = new JMenuBar();
+        String menuTitle = ResourceUtils.getString(EditorResources.FILE);
+        JMenu menu = new JMenu(menuTitle);
+        new SwingFileMenuManager(menu, fApplication, this,
+                                 supportStyledText, supportPlainText);
+        menuBar.add(menu);
+
+        SwingMenuBuilder.getInstance().createMenus(menuBar, fTextPanel, this, menus);
+        setJMenuBar(menuBar);
+    }
+    
+    /**
+     * Return true if it is OK to set the document text and file to
+     * something different.
+     */
+    private boolean canChangeDocuments() {
+
+        // If the text is modified, give the user a chance to
+        // save it.  Otherwise return true.
+
+        if (fDocument.isModified()) {
+            int save = askSave();
+            if (save == JOptionPane.YES_OPTION) {
+                return doSave();
+            }
+            else {
+                return save == JOptionPane.NO_OPTION;
+            }
+        }
+        else {
+            return true;
+        }
+    }
+
+    private void setDocument(TextDocument document) {
+
+        fDocument = document;
+        fDocument.setTextPanel(fTextPanel);
+        setTitle(fDocument.getTitle());
+    }
+
+    /**
+     * Set the document to empty text with no associated file.  If
+     * the document text is not saved, prompt the user to save the
+     * the text first.  If this operation is canceled, the document
+     * is unchanged.
+     */
+    public void doNew() {
+
+        if (!canChangeDocuments()) {
+            return;
+        }
+        
+        setDocument(fApplication.createNewDocument());
+    }
+
+    /**
+     * Prompt the user for a file from which to load a text document.
+     * If the current text is not saved, first prompt the user to
+     * save.  If either operation is canceled or fails, the document
+     * is unchanged.
+     */
+    public void doOpen() {
+
+        if (!canChangeDocuments()) {
+            return;
+        }
+
+        TextDocument document = fApplication.openDocument(this);
+
+        if (document != null) {
+            setDocument(document);
+        }
+    }
+
+    /**
+     * Prompt the user for a file in which to save the document text.
+     * If this operation is not canceled, save the text in the file.
+     * The file becomes this document's file.
+     */
+    public boolean doSaveAs(int format) {
+
+        String title = ResourceUtils.getString(EditorResources.SAVE_TITLE);
+        File file = AwtDocumentWindow.getFileFromDialog(fDocument.getFile(), title, this, FileDialog.SAVE);
+        
+        if (file == null) {
+            return false;
+        }
+        
+        fDocument.setFile(file);
+        setTitle(fDocument.getTitle());
+
+        fDocument.setFormat(format);
+        
+        return fDocument.save();
+    }
+
+    /**
+     * Save the text in this document.  If there is no file associated
+     * with the text, this is equivalent to <code>doSaveAs</code>.
+     * This method returns true if the document was successfully saved.
+     */
+    public boolean doSave() {
+
+        if (fDocument.getFile() == null) {
+            return doSaveAs(fDocument.getFormat());
+        }
+        
+        return fDocument.save();
+    }
+
+    /**
+     * Print the contents of this window.
+     */
+    public void doPrint() {
+
+        PrintingUtils.userPrintText(fDocument.getText(),
+                                    fTextPanel.getDefaultValues(),
+                                    this,
+                                    this.getTitle());
+    }
+
+    /**
+     * Attempt to close this window.  If the text has not been saved,
+     * give the user a chance to save the text before closing the
+     * window.  If the user cancels this operation, this method returns
+     * false and the window is not closed;  otherwise this method
+     * returns true and the window is closed.
+     */
+    public boolean doClose() {
+
+        if (canChangeDocuments()) {
+            setVisible(false);
+            dispose();
+            fApplication.removeDocumentWindow(this);
+            return true;
+        }
+        else {
+            return false;
+        }
+    }
+
+    /**
+     * Display a dialog that asks whether the user wants to
+     * save a document.  The returned value will be YES_OPTION,
+     * NO_OPTION, or CANCEL_OPTION from JOptionPane.
+     */
+    private int askSave() {
+
+        String pattern = ResourceUtils.getString(EditorResources.SAVE_MSG);
+        String message = MessageFormat.format(pattern, new Object[] {getTitle()});
+        
+        String yes = ResourceUtils.getString(EditorResources.YES);
+        String no = ResourceUtils.getString(EditorResources.NO);
+        String cancel = ResourceUtils.getString(EditorResources.CANCEL);
+
+        return JOptionPane.showOptionDialog(this,
+                                            message,
+                                            "",
+                                            JOptionPane.YES_NO_CANCEL_OPTION,
+                                            JOptionPane.QUESTION_MESSAGE,
+                                            null,
+                                            new Object[]{yes,no,cancel},
+                                            yes);
+    }
+}
\ No newline at end of file
diff --git a/src/com/ibm/richtext/swingdemo/SwingEditDemo.java b/src/com/ibm/richtext/swingdemo/SwingEditDemo.java
new file mode 100755
index 0000000..76f9922
--- /dev/null
+++ b/src/com/ibm/richtext/swingdemo/SwingEditDemo.java
@@ -0,0 +1,47 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+package com.ibm.richtext.swingdemo;
+
+import com.ibm.richtext.demo.EditDemo;
+import com.ibm.richtext.demo.DocumentWindow;
+import com.ibm.richtext.demo.TextDocument;
+
+import com.ibm.richtext.textpanel.JTextPanel;
+
+public class SwingEditDemo extends EditDemo {
+
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+
+    public static void main(String[] args) {
+    
+        new SwingCodeEdit(args, 0);
+    }
+    
+    public SwingEditDemo(String[] args, int start) {
+    
+        super(args, start);
+    }
+    
+    protected DocumentWindow createDocumentWindow(TextDocument document) {
+
+        return new SwingDocumentWindow(this, 
+                                       document,
+                                       JTextPanel.getDefaultSettings(),
+                                       true,
+                                       null,
+                                       true,
+                                       true,
+                                       null);
+    }
+}
\ No newline at end of file
diff --git a/src/com/ibm/richtext/swingdemo/SwingFileMenuManager.java b/src/com/ibm/richtext/swingdemo/SwingFileMenuManager.java
new file mode 100755
index 0000000..292d683
--- /dev/null
+++ b/src/com/ibm/richtext/swingdemo/SwingFileMenuManager.java
@@ -0,0 +1,63 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+package com.ibm.richtext.swingdemo;
+
+import java.awt.Event;
+
+import javax.swing.JMenu;
+import javax.swing.JMenuItem;
+import javax.swing.JSeparator;
+import javax.swing.KeyStroke;
+
+import com.ibm.richtext.demo.DocumentWindow;
+import com.ibm.richtext.demo.EditApplication;
+import com.ibm.richtext.demo.FileMenuManager;
+import com.ibm.richtext.demo.MenuData;
+import com.ibm.richtext.demo.ResourceUtils;
+
+final class SwingFileMenuManager extends FileMenuManager {
+
+    private JMenu fMenu;
+    
+    public SwingFileMenuManager(JMenu menu,
+                                EditApplication application, 
+                                DocumentWindow document,
+                                boolean supportStyledFormat,
+                                boolean supportPlainFormat) {
+                          
+        super(application, document);
+        
+        fMenu = menu;
+        createItems(supportStyledFormat, supportPlainFormat);
+        fMenu = null;
+    }
+    
+    protected Object addMenuItem(String key) {
+
+        MenuData menuData = ResourceUtils.getMenuData(key);
+        JMenuItem item = new JMenuItem(menuData.getName());
+        if (menuData.hasShortcut()) {
+            KeyStroke ks = KeyStroke.getKeyStroke(menuData.getShortcutKeyCode(),
+                                                  Event.CTRL_MASK);
+            item.setAccelerator(ks);
+        }
+        item.addActionListener(this);
+        fMenu.add(item);
+        return item;
+    }
+    
+    protected void addSeparator() {
+    
+        fMenu.add(new JSeparator());
+    }
+}
diff --git a/src/com/ibm/richtext/swingui/JMessageDialog.java b/src/com/ibm/richtext/swingui/JMessageDialog.java
new file mode 100755
index 0000000..4527d80
--- /dev/null
+++ b/src/com/ibm/richtext/swingui/JMessageDialog.java
@@ -0,0 +1,68 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+package com.ibm.richtext.swingui;
+
+import java.awt.Color;
+import java.awt.Container;
+import java.awt.CardLayout;
+
+import javax.swing.JFrame;
+
+import java.awt.event.WindowAdapter;
+import java.awt.event.WindowEvent;
+
+import com.ibm.richtext.styledtext.MConstText;
+
+import com.ibm.richtext.textpanel.JTextPanel;
+import com.ibm.richtext.textpanel.TextPanelSettings;
+
+/**
+ * MessageDialog is a simple Frame which displays a styled
+ * text message in a TextPanel.
+ * The text in the message is not selectable or editable.
+ * @see MConstText
+ * @see JTextPanel
+ */
+public final class JMessageDialog extends JFrame {
+
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+    /**
+    * Create a new MessageDialog.
+    * @param title the dialog's title
+    * @param message the text which will appear in the dialog
+    */
+    public JMessageDialog(String title, MConstText message)
+    {
+        super(title);
+
+        Container content = getContentPane();
+        content.setLayout(new CardLayout());
+        TextPanelSettings settings = JTextPanel.getDefaultSettings();
+        settings.setScrollable(false);
+        settings.setSelectable(false);
+        JTextPanel panel = new JTextPanel(settings, message, null);
+
+        panel.setBackground(Color.black);
+        content.add("Center", panel);
+
+        addWindowListener(new WindowAdapter() {
+            public void windowClosing(WindowEvent e) {
+                setVisible(false);
+                dispose();
+            }
+        });
+
+        setSize(450,320);
+    }
+}
diff --git a/src/com/ibm/richtext/swingui/JNumberDialog.java b/src/com/ibm/richtext/swingui/JNumberDialog.java
new file mode 100755
index 0000000..97fc19f
--- /dev/null
+++ b/src/com/ibm/richtext/swingui/JNumberDialog.java
@@ -0,0 +1,160 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2005.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+package com.ibm.richtext.swingui;
+
+import java.awt.Container;
+import java.awt.FlowLayout;
+import java.awt.Frame;
+
+import java.text.NumberFormat;
+import java.text.ParseException;
+
+import javax.swing.JDialog;
+import javax.swing.JPanel;
+import javax.swing.JTextField;
+import javax.swing.JButton;
+import javax.swing.JLabel;
+
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.awt.event.WindowEvent;
+import java.awt.event.WindowAdapter;
+
+import com.ibm.richtext.uiimpl.resources.FrameResources;
+import com.ibm.richtext.uiimpl.MenuItemSet;
+import com.ibm.richtext.uiimpl.ResourceUtils;
+
+import com.ibm.richtext.styledtext.StyleModifier;
+import com.ibm.richtext.textpanel.MTextPanel;
+
+/**
+* Simple dialog which gets a number, and sends an appropriate command
+*/
+final class JNumberDialog extends JDialog implements ActionListener
+{
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+    private MTextPanel fTextPanel;
+    private JTextField fInput = null;
+
+    private JButton fOKButton = null;
+    private JButton fCancelButton = null;
+    private boolean fCharacter;
+    private Object fKey;
+    private float fMultiplier; 
+
+    /**
+     * @param multiplier the factor by which to multiply the user's
+     *        selection before creating the attribute value.   This
+     *        is useful for subscripting.
+     */
+    JNumberDialog(Frame parent,
+                  String title,
+                  String message,
+                  MTextPanel textPanel,
+                  Object key,
+                  boolean character,
+                  float multiplier) {
+
+        super(parent, title, false);
+        fTextPanel = textPanel;
+        fKey = key;
+        fCharacter = character;
+        fMultiplier = multiplier;
+        
+        Container content = getContentPane();
+        
+        content.setLayout(new java.awt.GridLayout(2,1));
+
+        JPanel panel = new JPanel();
+        panel.setLayout(new FlowLayout(FlowLayout.CENTER, 10, 15));
+        fInput = new JTextField(5);
+
+        panel.add(new JLabel(message));
+        panel.add(fInput);
+        content.add("Center", panel);
+
+        fCancelButton = new JButton(ResourceUtils.getResourceString(FrameResources.CANCEL));
+        fOKButton = new JButton(ResourceUtils.getResourceString(FrameResources.OK));
+        JPanel p = new JPanel();
+        p.setLayout(new FlowLayout(FlowLayout.CENTER, 5, 5));
+        p.add(fCancelButton);
+        p.add(fOKButton);
+        content.add("South", p);
+
+        pack();
+
+        addWindowListener(new WindowAdapter() {
+            public void windowClosing(WindowEvent e) {
+                closeWindow(false);
+            }
+        });
+        
+        fOKButton.addActionListener(this);
+        fCancelButton.addActionListener(this);
+    }
+
+    private void closeWindow(boolean sendAction) {
+
+        setVisible(false);
+
+        int num = 0;
+        if (sendAction) {
+            try {
+                String text = fInput.getText();
+                num = NumberFormat.getInstance().parse(text).intValue();
+            }
+            catch (ParseException exception) {
+                sendAction = false;
+            }
+        }
+
+        if (sendAction) {
+            sendAction(num);
+        }
+
+        dispose();
+    }
+
+    public void actionPerformed(ActionEvent e) {
+
+        Object source = e.getSource();
+
+        if (source == fOKButton) {
+            closeWindow(true);
+        }
+        else if (source == fCancelButton) {
+            closeWindow(false);
+        }
+        else {
+            throw new IllegalArgumentException("Invalid ActionEvent!");
+        }
+    }
+
+    /**
+    * Handle the user input
+    * @param number The number the user typed in
+    */
+    private void sendAction(int number) {
+        float num = number * fMultiplier;
+        StyleModifier modifier = StyleModifier.createAddModifier(
+                                                fKey,
+                                                new Float(num));
+        if (fCharacter == MenuItemSet.CHARACTER) {
+            fTextPanel.modifyCharacterStyleOnSelection(modifier);
+        }
+        else {
+            fTextPanel.modifyParagraphStyleOnSelection(modifier);
+        }
+    }
+}
diff --git a/src/com/ibm/richtext/swingui/JObjectDialog.java b/src/com/ibm/richtext/swingui/JObjectDialog.java
new file mode 100755
index 0000000..cbec076
--- /dev/null
+++ b/src/com/ibm/richtext/swingui/JObjectDialog.java
@@ -0,0 +1,276 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2005.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+package com.ibm.richtext.swingui;
+
+import java.util.Hashtable;
+
+import javax.swing.Box;
+import javax.swing.BorderFactory;
+import javax.swing.BoxLayout;
+import javax.swing.JDialog;
+import javax.swing.JPanel;
+import javax.swing.JScrollPane;
+import javax.swing.JButton;
+import javax.swing.JList;
+import javax.swing.JLabel;
+import javax.swing.ListSelectionModel;
+
+import javax.swing.event.ListSelectionEvent;
+import javax.swing.event.ListSelectionListener;
+
+import java.awt.BorderLayout;
+import java.awt.Container;
+import java.awt.Dimension;
+import java.awt.Frame;
+import java.awt.FlowLayout;
+
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.awt.event.MouseEvent;
+import java.awt.event.MouseAdapter;
+import java.awt.event.WindowEvent;
+import java.awt.event.WindowAdapter;
+
+import com.ibm.richtext.textlayout.attributes.AttributeSet;
+import com.ibm.richtext.styledtext.MConstText;
+import com.ibm.richtext.styledtext.StyleModifier;
+import com.ibm.richtext.textpanel.MTextPanel;
+import com.ibm.richtext.uiimpl.MenuItemSet;
+
+import com.ibm.richtext.uiimpl.resources.FrameResources;
+import com.ibm.richtext.uiimpl.ResourceUtils;
+
+/**
+* Simple dialog that sets an attribute.
+*/
+final class JObjectDialog extends JDialog {
+
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+
+    private final MTextPanel fTextPanel;
+    private final Object fKey;
+    private boolean fCharacter;
+    private Hashtable fNameToValueMap;
+    
+    private final JButton fOKButton;
+    private final JButton fCancelButton;
+    private final JList fItems;
+    
+    /**
+    * Construct a new JObjectDialog.
+    * @param parent the dialog's parent frame
+    * @param title the dialogs title
+    * @param message the message displayed next to the input box
+    */
+    JObjectDialog(Frame parent,
+                  String title, 
+                  String message, 
+                  MTextPanel textPanel,
+                  Object key,
+                  boolean character,
+                  String[] names,
+                  Object[] values) {
+                    
+        super(parent, title, false);
+
+        setupMap(names, values);
+        
+        Dimension size = new Dimension(250, 200);
+        
+        fTextPanel = textPanel;
+        fKey = key;
+        fCharacter = character;
+        
+        fItems = new JList(names);
+        fItems.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
+        
+        fItems.addMouseListener(new MouseAdapter() {
+            public void mouseClicked(MouseEvent e) {
+                if (e.getClickCount() == 2) {
+                    closeWindow(true);
+                }
+            }
+        });
+        
+        JScrollPane listScroller = new JScrollPane(fItems);
+        listScroller.setPreferredSize(size);
+        listScroller.setPreferredSize(size);
+        listScroller.setAlignmentX(LEFT_ALIGNMENT);
+
+        JLabel label = new JLabel(message);
+        label.setLabelFor(fItems);
+        
+        JPanel itemPanel = new JPanel();
+        itemPanel.add(label);
+        itemPanel.add(Box.createRigidArea(new Dimension(0,5)));
+        itemPanel.add(listScroller);
+        itemPanel.setBorder(BorderFactory.createEmptyBorder(10,10,10,10));
+        
+        itemPanel.setLayout(new BoxLayout(itemPanel, BoxLayout.Y_AXIS));
+        
+        fCancelButton = new JButton(ResourceUtils.getResourceString(FrameResources.CANCEL));
+        fOKButton = new JButton(ResourceUtils.getResourceString(FrameResources.OK));
+        
+        JPanel buttonPanel = new JPanel();
+        buttonPanel.setLayout(new FlowLayout(FlowLayout.CENTER, 5, 5));
+        buttonPanel.add(fCancelButton);
+        buttonPanel.add(fOKButton);
+        
+        Container content = getContentPane();
+        content.add(itemPanel, BorderLayout.CENTER);
+        content.add(buttonPanel, BorderLayout.SOUTH);
+
+        pack();
+
+        addWindowListener(new WindowAdapter() {
+            public void windowClosing(WindowEvent e) {
+                closeWindow(false);
+            }
+        });
+        
+        ActionListener listener = new ActionListener() {
+            public void actionPerformed(ActionEvent e) {
+            
+                Object source = e.getSource();
+                if (source == fOKButton) {
+                    closeWindow(true);
+                }
+                else if (source == fCancelButton) {
+                    closeWindow(false);
+                }
+            }
+        };
+        
+        fOKButton.addActionListener(listener);
+        fCancelButton.addActionListener(listener);
+        
+        selectStyles(values);
+    }
+    
+    private void setupMap(String[] names, Object[] values) {
+    
+        if (names.length != values.length) {
+            throw new IllegalArgumentException("Must have same number of names and values.");
+        }
+        
+        fNameToValueMap = new Hashtable(names.length);
+        
+        for (int i=0; i < names.length; i++) {
+            if (values[i] != null) {
+                fNameToValueMap.put(names[i], values[i]);
+            }
+        }
+
+    }
+
+    private void closeWindow(boolean sendAction) {
+
+        setVisible(false);
+        
+        if (sendAction && fItems.getMinSelectionIndex() != fItems.getMaxSelectionIndex()) {
+            sendAction = false;
+        }
+        
+        if (sendAction) {
+            Object value = fNameToValueMap.get(fItems.getSelectedValue());
+            sendAction(value);
+        }
+        dispose();
+    }
+
+    /**
+    * Handle the user input
+    * @param value The value object
+    */
+    private void sendAction(Object value) {
+
+        StyleModifier modifier;
+        if (value != null) {
+            modifier = StyleModifier.createAddModifier(fKey, value);
+        }
+        else {
+            AttributeSet set = new AttributeSet(fKey);
+            modifier = StyleModifier.createRemoveModifier(set);
+        }
+
+        if (fCharacter == MenuItemSet.CHARACTER) {
+            fTextPanel.modifyCharacterStyleOnSelection(modifier);
+        }
+        else {
+            fTextPanel.modifyParagraphStyleOnSelection(modifier);
+        }
+    }
+    
+    private void selectValue(Object value, Object[] values) {
+    
+        for (int i=0; i < values.length; i++) {
+        
+            if ((value != null && value.equals(values[i])) || (value == null && values[i] == null)) {
+                fItems.addSelectionInterval(i, i);
+                fItems.ensureIndexIsVisible(i);
+                return;
+            }
+        }
+    }
+    
+    private void selectStyles(Object[] values) {
+    
+        Object value;
+ 
+        if (fCharacter) {
+            value = fTextPanel.getCharacterStyleOverSelection(fKey);
+        }
+        else {
+            value = fTextPanel.getParagraphStyleOverSelection(fKey);
+        }
+        
+        if (value != MTextPanel.MULTIPLE_VALUES) {
+            selectValue(value, values);
+        }
+        else {
+            fOKButton.setEnabled(false);
+            
+            int selLimit = fTextPanel.getSelectionEnd();
+            MConstText text = fTextPanel.getText();
+            for (int runStart = fTextPanel.getSelectionStart(); runStart <= selLimit;
+                    runStart = fCharacter? text.characterStyleLimit(runStart) : 
+                                           text.paragraphLimit(runStart)) {
+            
+                Object runVal;
+                if (fCharacter) {
+                    runVal = text.characterStyleAt(runStart).get(fKey);
+                }
+                else {
+                    runVal = text.paragraphStyleAt(runStart).get(fKey);
+                }
+                if (runVal == null) {
+                    runVal = fTextPanel.getDefaultValues().get(fKey);
+                }
+                
+                selectValue(runVal, values);
+                if (runStart == text.length()) {
+                    break;
+                }
+            }
+        }
+        
+        fItems.addListSelectionListener(new ListSelectionListener() {
+            public void valueChanged(ListSelectionEvent e) {
+                fItems.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
+                fOKButton.setEnabled(true);
+                fItems.removeListSelectionListener(this);
+            }
+        });
+    }
+}
diff --git a/src/com/ibm/richtext/swingui/JTabRuler.java b/src/com/ibm/richtext/swingui/JTabRuler.java
new file mode 100755
index 0000000..8982803
--- /dev/null
+++ b/src/com/ibm/richtext/swingui/JTabRuler.java
@@ -0,0 +1,132 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+package com.ibm.richtext.swingui;
+
+import java.awt.Color;
+import java.awt.Dimension;
+import java.awt.Graphics;
+
+import javax.swing.JComponent;
+
+import com.ibm.richtext.textpanel.MTextPanel;
+import com.ibm.richtext.styledtext.MTabRuler;
+
+import com.ibm.richtext.uiimpl.TabRulerImpl;
+import com.ibm.richtext.awtui.MTabRulerComponent;
+
+/**
+ * JTabRuler is an implementation of MTabRulerComponent in a Swing component.
+ */
+public final class JTabRuler extends JComponent implements MTabRulerComponent {
+    
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+    private TabRulerImpl fImpl;
+    
+    /**
+     * Create a new TabRuler.
+     * @param baseline the y-coordinate of the ruler's baseline
+     * @param origin the x-coordinate in this Component where
+     *     the left margin appears
+     * @param textPanel the MTextPanel to listen to.  This TabRuler
+     *     will reflect the MTextPanel's paragraph styles, and update
+     *     the paragraph styles when manipulated.
+     */
+    public JTabRuler(int baseline, int origin, MTextPanel textPanel) {
+        
+        fImpl = new TabRulerImpl(baseline, origin, textPanel, this);
+    }
+    
+    /**
+     * Listen to the given MTextPanel and reflect its changes,
+     * and update its paragraph styles when TabRuler is
+     * manipulated.
+     * @param textPanel the MTextPanel to listen to
+     */
+    public void listenToTextPanel(MTextPanel textPanel) {
+
+        fImpl.listenToTextPanel(textPanel);
+    }
+    
+    /**
+     * Return the background color of this TabRuler.
+     * @return the background color of this TabRuler
+     */
+    public Color getBackColor() {
+
+        return fImpl.getBackColor();
+    }
+    
+    /**
+     * Set the background color of this TabRuler.
+     * @param backColor the new background color of this TabRuler
+     */
+    public void setBackColor(Color backColor) {
+
+        fImpl.setBackColor(backColor);
+    }
+    
+    /**
+     * Return the MTabRuler represented by this TabRuler.
+     * @return the MTabRuler represented by this TabRuler
+     */
+    public MTabRuler getRuler() {
+        
+        return fImpl.getRuler();
+    }
+
+    /**
+     * Return the leading margin of this TabRuler.
+     * @return the leading margin of this TabRuler
+     */
+    public int getLeadingMargin() {
+        
+        return fImpl.getLeadingMargin();
+    }
+
+    /**
+     * Return the first line indent of this TabRuler.
+     * @return the first line indent of this TabRuler
+     */
+    public int getFirstLineIndent() {
+        
+        return fImpl.getFirstLineIndent();
+    }
+
+    /**
+     * Return the trailing margin of this TabRuler.
+     * @return the trailing margin of this TabRuler
+     */
+    public final int getTrailingMargin() {
+        
+        return fImpl.getTrailingMargin();
+    }
+    
+    // The following are Component methods which need to be delegated to
+    // the implementation:
+    
+    public void paint(Graphics g) {
+        
+        fImpl.paint(g);
+    }
+    
+    public Dimension getPreferredSize() {
+        
+        return fImpl.getPreferredSize();
+    }
+
+    public Dimension getMinimumSize() {
+        
+        return fImpl.getMinimumSize();
+    }
+}
diff --git a/src/com/ibm/richtext/swingui/JTextFrame.java b/src/com/ibm/richtext/swingui/JTextFrame.java
new file mode 100755
index 0000000..8a3a8d3
--- /dev/null
+++ b/src/com/ibm/richtext/swingui/JTextFrame.java
@@ -0,0 +1,141 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+package com.ibm.richtext.swingui;
+
+import com.ibm.richtext.textpanel.MTextPanel;
+import com.ibm.richtext.textpanel.JTextPanel;
+import com.ibm.richtext.styledtext.MConstText;
+
+import java.awt.BorderLayout;
+import java.awt.Toolkit;
+import java.awt.datatransfer.Clipboard;
+
+import java.awt.event.WindowAdapter;
+import java.awt.event.WindowEvent;
+
+import javax.swing.JFrame;
+import javax.swing.JMenuBar;
+import javax.swing.UIManager;
+
+import java.awt.Container;
+
+/**
+ * JTextFrame is a JFrame containing an editable JTextPanel, a set of standard
+ * menus, and a JTabRuler.  This class can be used as-is, but is
+ * primarily intended to be a simple example of how to use the other classes
+ * in this package.
+ * @see com.ibm.richtext.textpanel.JTextPanel
+ * @see SwingMenuBuilder
+ * @see JTabRuler
+ */
+public final class JTextFrame extends JFrame {
+
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+    private JTextPanel fTextPanel;
+
+    /**
+     * Create a new JTextFrame with no text, no title, 
+     * and a private clipboard.
+     */
+    public JTextFrame() {
+        
+        super();
+        init(null, Toolkit.getDefaultToolkit().getSystemClipboard());
+    }
+    
+    /**
+     * Create a new JTextFrame with no text and the given title.
+     * The JTextPanel will use a private clipboard.
+     * @param title the title of this Frame
+     */
+    public JTextFrame(String title) {
+        
+        super(title);
+        init(null, Toolkit.getDefaultToolkit().getSystemClipboard());
+    }
+    
+    /**
+     * Create a new JTextFrame with the given text and title, whose
+     * TextPanel will use the given clipboard.
+     * @param text the initial text in the TextPanel.  If null the
+     *      TextPanel will initially be empty
+     * @param title the title of this Frame
+     * @param clipboard the Clipboard which the TextPanel will use.
+     *      If null the TextPanel will use a private Clipboard
+     */
+    public JTextFrame(MConstText text,
+                     String title,
+                     Clipboard clipboard) {
+
+        super(title);
+        init(text, clipboard);
+    }
+
+    private void init(MConstText text, Clipboard clipboard) {
+        
+        fTextPanel = new JTextPanel(text, clipboard);
+
+        JTabRuler tabRuler = new JTabRuler(14, 10, fTextPanel);
+
+        createMenus();
+
+        Container contentPane = getContentPane();
+        contentPane.setLayout(new BorderLayout());
+        contentPane.add(fTextPanel, "Center");
+        contentPane.add(tabRuler, "North");
+        pack();
+    }
+
+    private void createMenus() {
+
+        JMenuBar menuBar = new JMenuBar();
+
+        SwingMenuBuilder.getInstance().createMenus(menuBar, fTextPanel, this);
+        
+        setJMenuBar(menuBar);
+    }
+
+    /**
+     * Return the MTextPanel in this frame.
+     */
+    public MTextPanel getTextPanel() {
+
+        return fTextPanel;
+    }
+    
+    public static void main(String[] args) {
+        
+        String laf = UIManager.getSystemLookAndFeelClassName();
+        if (args.length == 1) {
+            if (args[0].equals("cp")) {
+                laf = UIManager.getCrossPlatformLookAndFeelClassName();
+            }
+        }
+                
+        try {
+            UIManager.setLookAndFeel(laf);
+        }
+        catch(Throwable th) {
+            th.printStackTrace();
+        }
+        JTextFrame frame = new JTextFrame();
+        frame.addWindowListener(new WindowAdapter() {
+            public void windowClosing(WindowEvent e) {
+                System.exit(0);
+            }
+        });
+        frame.setSize(550, 700);
+        frame.show();
+    }
+}
diff --git a/src/com/ibm/richtext/swingui/SwingMenuBuilder.java b/src/com/ibm/richtext/swingui/SwingMenuBuilder.java
new file mode 100755
index 0000000..cd19c81
--- /dev/null
+++ b/src/com/ibm/richtext/swingui/SwingMenuBuilder.java
@@ -0,0 +1,234 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+package com.ibm.richtext.swingui;
+
+import java.awt.Frame;
+import java.awt.Window;
+
+import javax.swing.JMenu;
+import javax.swing.JMenuBar;
+
+import com.ibm.richtext.textpanel.MTextPanel;
+
+import com.ibm.richtext.uiimpl.resources.FrameResources;
+
+import com.ibm.richtext.uiimpl.*;
+import com.ibm.richtext.uiimpl.DialogItem.DialogFactory;
+
+/**
+ * SwingMenuBuilder provides a method for creating a set of Swing menus for interacting
+ * with an MTextPanel.  Future versions of this class may provide greater control
+ * over the menu contents.
+ * @see MTextPanel
+ */
+public final class SwingMenuBuilder extends MenuBuilder {
+    
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+    private static final SwingMenuBuilder INSTANCE = new SwingMenuBuilder();
+    
+    /**
+     * Id for an Edit menu.  The Edit menu has the following items:
+     * <ul>
+     * <li><b>Undo</b> - invoke undo() on the MTextPanel</li>
+     * <li><b>Redo</b> - invoke redo() on the MTextPanel</li>
+     * <li><b>Cut</b> - invoke cut() on the MTextPanel</li>
+     * <li><b>Copy</b> - invoke copy() on the MTextPanel</li>
+     * <li><b>Paste</b> - invoke paste() on the MTextPanel</li>
+     * <li><b>Clear</b> - invoke clear() on the MTextPanel</li>
+     * <li><b>Select All</b> - invoke selectAll() on the MTextPanel</li>
+     * </ul>
+     */
+    public static final int EDIT = MenuBuilder.EDIT;
+    /**
+     * Id for the point sizes menu.  The menu has items that set the size of a character
+     * in a typeface.
+     */
+    public static final int SIZE = MenuBuilder.SIZE;
+    /**
+     * Id for a Style menu.  The Style menu has the following items:
+     * <ul>
+     * <li><b>Plain</b> - remove <code>WEIGHT</code>,
+     *                    <code>POSTURE</code>,
+     *                    <code>UNDERLINE</code> and
+     *                    <code>STRIKETHROUGH</code> attributes from the
+     * current selection</li>
+     * <li><b>Bold</b> - add <code>{WEIGHT,WEIGHT_BOLD}</code> to
+     * the current selection</li>
+     * <li><b>Italic</b> - add <code>{POSTURE,POSTURE_ITALIC}</code> to
+     * the current selection</li>
+     * <li><b>Underline</b> - add <code>{UNDERLINE,UNDERLINE_ON}</code> to
+     * the current selection</li>
+     * <li><b>Strikethrough</b> - add <code>{STRIKETHROUGH,STRIKETHROUGH_ON}</code>
+     * to the current selection</li>
+     * <li><b>Font...</b> - display a dialog allowing the user to
+     * select a typeface (font family) for the current selection</li>
+     * <li><b>Forecolor...</b> - display a dialog allowing the user to
+     * select a foreground color for the current selection</li>
+     * <li><b>Backcolor...</b> - display a dialog allowing the user to
+     * select a background color for the current selection</li>
+     * </ul>
+     */
+    public static final int STYLE = MenuBuilder.STYLE;
+    /**
+     * Id for a paragraph alignment menu.  The menu has the following items:
+     * <ul>
+     * <li><b>Leading</b> - give selected paragraph(s) LEADING flush</li>
+     * <li><b>Center</b> - give selected paragraph(s) CENTER flush</li>
+     * <li><b>Trailing</b> - give selected paragraph(s) TRAILING flush</li>
+     * <li><b>Justified</b> - give selected paragraph(s) full justification</li>
+     * </ul>
+     */
+    public static final int FLUSH = MenuBuilder.FLUSH;
+    /**
+     * Id for a menu that sets the KeyRemap
+     * on an MTextPanel.  The menu has the following items:
+     * <ul>
+     * <li><b>Default</b> - set KeyRemap to identity remap</li>
+     * <li><b>Arabic</b> - set KeyRemap to Arabic transliteration</li>
+     * <li><b>Hebrew</b> - set KeyRemap to Hebrew transliteration</li>
+     * <li><b>Israel Nikud</b> - set KeyRemap to Israel Nikud</li>
+     * <li><b>Thai Ketmanee</b> - set KeyRemap to Thai Ketmanee</li>
+     * </ul>
+     */
+    public static final int KEYMAP = MenuBuilder.KEYMAP;
+    /**
+     * Id for a menu that sets
+     * the primary run direction for a paragraph.  Run direction can be left-to-right,
+     * right-to-left, or can use the default run direction from the Unicode bidi algorithm.
+     */
+    public static final int BIDI = MenuBuilder.BIDI;
+    /**
+     * Id for a menu with an <b>About</b> item.  When selected, 
+     * the item displays a Frame containing some
+     * self-promotional text.
+     */
+    public static final int ABOUT = MenuBuilder.ABOUT;
+    /**
+     * Return an instance of SwingMenuBuilder.
+     */
+     
+    public static SwingMenuBuilder getInstance() {
+        
+        return INSTANCE;
+    }
+    
+    private JMenuBar fMenuBar;
+    
+    private SwingMenuBuilder() {
+    }
+    
+    /**
+     * Add a standard set of menus to the given menu bar.  The menus 
+     * will interact with the given MTextPanel.
+     * @param menuBar the MenuBar to which menus are added
+     * @param textPanel the MTextPanel with which the menus interact
+     * @param frame a Frame to use as the parent of any dialogs created by a 
+     *   a menu item.  If null, menu items which create dialogs will be omitted.
+     */
+    public void createMenus(JMenuBar menuBar, 
+                            MTextPanel textPanel,
+                            Frame frame) {
+
+        createMenus(menuBar, textPanel, frame, defaultMenus);
+    }
+    
+    /**
+     * Add a set of menus to the given menu bar.  The menus 
+     * will interact with the given MTextPanel.
+     * @param menuBar the MenuBar to which menus are added
+     * @param textPanel the MTextPanel with which the menus interact
+     * @param frame a Frame to use as the parent of any dialogs created by a 
+     *   a menu item.  If null, menu items which create dialogs will be omitted.
+     * @param menus an array of integer menu id's.  Each element of the
+     *   array must be one of this class's menu id constants.  If null,
+     *   the default menus are created.
+     */
+    public void createMenus(JMenuBar menuBar,
+                            MTextPanel textPanel,
+                            Frame frame,
+                            int[] menus) {
+        
+        if (menus == null) {
+            menus = defaultMenus;
+        }
+        
+        synchronized (MItem.LOCK) {
+            
+            fMenuBar = menuBar;
+            doCreateMenus(textPanel, frame, menus);
+            fMenuBar = null;
+        }
+    }
+    
+    protected void handleAddMenu(String key) {
+        
+        JMenu menu = new JMenu(ResourceUtils.getResourceString(key));
+        fMenuBar.add(menu);
+        MItem.setItemFactory(new SwingMenuFactory(menu));
+    }
+
+    protected DialogFactory createObjectDialogFactory(final String dialogTitle,
+                                                      final String dialogMessage,
+                                                      final Object key,
+                                                      final boolean character,
+                                                      final String[] names,
+                                                      final Object[] values) {
+        
+        final Frame dialogParent = fDialogParent;
+
+        return new DialogFactory() {    
+            public Window createDialog(MTextPanel textPanel) {
+                return new JObjectDialog(dialogParent,
+                                        dialogTitle,
+                                        dialogMessage,
+                                        textPanel,
+                                        key,
+                                        character,
+                                        names,
+                                        values);
+            }
+        };
+    }
+    
+    protected DialogFactory createNumberDialogFactory(final String dialogTitle,
+                                                      final String dialogMessage,
+                                                      final Object key,
+                                                      final boolean character) {
+        
+        final Frame dialogParent = fDialogParent;
+        // variable not used final MTextPanel textPanel = fTextPanel;
+            
+        return new DialogFactory() {
+            public Window createDialog(MTextPanel fTextPanel) {
+                return new JNumberDialog(dialogParent,
+                                         dialogTitle,
+                                         dialogMessage,
+                                         fTextPanel,
+                                         key,
+                                         character,
+                                         1);
+            }
+        };
+    }    
+    
+    protected DialogFactory createAboutDialogFactory() {
+        
+        return new DialogFactory() {
+            public Window createDialog(MTextPanel textPanel) {
+                String title = ResourceUtils.getResourceString(FrameResources.ABOUT_TITLE);
+                return new JMessageDialog(title, AboutText.getAboutText());
+            }
+        };
+    }
+}
\ No newline at end of file
diff --git a/src/com/ibm/richtext/swingui/SwingMenuFactory.java b/src/com/ibm/richtext/swingui/SwingMenuFactory.java
new file mode 100755
index 0000000..cd618ed
--- /dev/null
+++ b/src/com/ibm/richtext/swingui/SwingMenuFactory.java
@@ -0,0 +1,105 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+package com.ibm.richtext.swingui;
+
+import java.awt.Event;
+
+import javax.swing.JCheckBoxMenuItem;
+import javax.swing.JMenu;
+import javax.swing.JMenuItem;
+import javax.swing.JSeparator;
+import javax.swing.KeyStroke;
+
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+
+import com.ibm.richtext.uiimpl.resources.MenuData;
+import com.ibm.richtext.uiimpl.MItem;
+import com.ibm.richtext.uiimpl.MItem.ItemFactory;
+
+final class SwingMenuFactory implements ItemFactory {
+        
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+    private final class SwingMItem extends MItem {
+        
+        private JMenuItem fItem;
+        
+        SwingMItem(JMenuItem item) {
+            
+            fItem = item;
+            item.addActionListener(new ActionListener() {
+                public void actionPerformed(ActionEvent e) {
+                    handleSelected();
+                }
+            });
+        }
+        
+        protected void handleSelected() {
+            
+            super.handleSelected();
+        }
+        
+        public final void setEnabled(boolean enabled) {
+            
+            fItem.setEnabled(enabled);
+        }
+        
+        public void setState(boolean checked) {
+            
+            try {
+                JCheckBoxMenuItem item = (JCheckBoxMenuItem) fItem;
+                item.setState(checked);
+            }
+            catch(ClassCastException e) {
+                throw new Error("Cannot perform setChecked on non-checkbox item");
+            }
+        }
+    }
+    
+    private JMenu fMenu;
+        
+    SwingMenuFactory(JMenu menu) {
+            
+        fMenu = menu;
+    }
+    
+    private MItem handleCreate(JMenuItem item,
+                               MenuData menuData) {
+
+        if (menuData.hasShortcut()) {
+            KeyStroke ks = KeyStroke.getKeyStroke(menuData.getShortcutKeyCode(),
+                                                  Event.CTRL_MASK);
+            item.setAccelerator(ks);
+        }
+        
+        fMenu.add(item);
+        
+        return new SwingMItem(item);
+    }
+        
+    public MItem createItem(MenuData menuData) {
+        
+        return handleCreate(new JMenuItem(menuData.getName()), menuData);
+    }        
+
+    public MItem createCheckboxItem(MenuData menuData) {
+        
+        return handleCreate(new JCheckBoxMenuItem(menuData.getName()), menuData);
+    }
+    
+    public void createSeparator() {
+        
+        fMenu.add(new JSeparator());
+    }
+}
diff --git a/src/com/ibm/richtext/swingui/package.html b/src/com/ibm/richtext/swingui/package.html
new file mode 100755
index 0000000..2ce42ef
--- /dev/null
+++ b/src/com/ibm/richtext/swingui/package.html
@@ -0,0 +1,13 @@
+<!--
+/**
+ *******************************************************************************
+ * Copyright (C) 2000-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+-->
+<html>
+<body bgcolor="white">
+Provides classes for building a Swing-based user interface for a TextPanel.
+</body>
+</html>
diff --git a/src/com/ibm/richtext/test/Declaration.java b/src/com/ibm/richtext/test/Declaration.java
new file mode 100755
index 0000000..715fc5a
--- /dev/null
+++ b/src/com/ibm/richtext/test/Declaration.java
@@ -0,0 +1,42 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+package com.ibm.richtext.test;
+
+import com.ibm.richtext.styledtext.MConstText;
+import com.ibm.richtext.styledtext.StyledText;
+import com.ibm.richtext.textlayout.attributes.AttributeMap;
+
+/**
+ * This class contains the first four paragraphs of the Declaration
+ * of Independence, as both styled and unstyled text.  The views
+ * expressed therein are not necessarily those of the programmer or of
+ * his/her employer.  No criticism of any monarchy, oligarchy, dictatorship,
+ * autocracy, plutocracy, theocracy, anarchist territory, colonial power,
+ * or any other nondemocratic form of government is intended.  This document
+ * is provided "as-is" without any warranty expressed or implied.
+ */
+public final class Declaration {
+
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+    public static final String fgDeclarationStr = "In Congress, July 4, 1776, THE UNANIMOUS DECLARATION OF THE THIRTEEN UNITED STATES OF AMERICA\n" +
+        "\n" +
+        "When in the Course of human Events, it becomes necessary for one People to dissolve the Political Bands which have connected them with another, and to assume among the Powers of the Earth, the separate and equal Station to which the Laws of Nature and of Nature's God entitle them, a decent Respect to the Opinions of Mankind requires that they should declare the causes which impel them to the Separation.\n" +
+        "\n" +
+        "We hold these Truths to be self-evident, that all Men are created equal, that they are endowed by their Creator with certain unalienable Rights, that among these are Life, Liberty, and the Pursuit of Happiness.\n" +
+        "\n" +
+        "That to secure these Rights, Governments are instituted among Men, deriving their just Powers from the Consent of the Governed, that whenever any Form of Government becomes destructive of these Ends, it is the Right of the People to alter or to abolish it, and to institute new Government, laying its Foundation on such Principles, and organizing its Powers in such Form, as to them shall seem most likely to effect their Safety and Happiness. Prudence, indeed, will dictate that Governments long established should not be changed for light and transient Causes; and accordingly all Experience hath shewn, that Mankind are more disposed to suffer, while Evils are sufferable, than to right themselves by abolishing the Forms to which they are accustomed. But when a long Train of Abuses and Usurpations, pursuing invariably the same Object, evinces a Design to reduce them under absolute Despotism, it is their Right, it is their Duty, to throw off such Government, and to provide new Guards for their future Security.\n" +
+        "\n";
+
+    public static final MConstText fgDeclaration = new StyledText(fgDeclarationStr, AttributeMap.EMPTY_ATTRIBUTE_MAP);
+}
diff --git a/src/com/ibm/richtext/test/ITestTextPanel.java b/src/com/ibm/richtext/test/ITestTextPanel.java
new file mode 100755
index 0000000..d386b5b
--- /dev/null
+++ b/src/com/ibm/richtext/test/ITestTextPanel.java
@@ -0,0 +1,211 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+package com.ibm.richtext.test;
+
+import java.awt.Button;
+import java.awt.Frame;
+import java.awt.GridLayout;
+import java.awt.datatransfer.Clipboard;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.awt.event.WindowEvent;
+import java.awt.event.WindowAdapter;
+
+import java.util.Date;
+import java.text.DateFormat;
+
+import com.ibm.richtext.textpanel.MTextPanel;
+import com.ibm.richtext.awtui.TextFrame;
+
+public class ITestTextPanel extends Frame implements ActionListener {
+
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+    private static long fgOpCount = 0;
+
+    private TestTextPanel fTest;
+    
+    private MTextPanel fTextPanel;
+    private Frame fTextFrame;
+    private Clipboard fClipboard;
+    private Button fExersize, fStressTest, fResize;
+
+    public static void main(String[] args) {
+
+        Date startDate = new Date();
+
+        try {
+            Clipboard clipboard = new Clipboard("ITextTestPanel");
+            TextFrame frame = new TextFrame(null, "Interactive Test", clipboard);
+            MTextPanel panel = frame.getTextPanel();
+
+            new ITestTextPanel(panel, frame, clipboard).show();
+        }
+        finally {
+            DateFormat df = DateFormat.getDateTimeInstance();
+            System.out.println("Start time: " + df.format(startDate));
+            System.out.println("End Time: " + df.format(new Date()));
+            System.out.println("Op count: " + fgOpCount);
+        }
+    }
+
+    public ITestTextPanel(MTextPanel panel,
+                          Frame frame,
+                          Clipboard clipboard) {
+
+        fTextPanel = panel;
+        fTest = new TestTextPanel(fTextPanel);
+        fClipboard = clipboard;
+
+        setLayout(new GridLayout(0, 1));
+
+        fTextFrame = frame;
+        fTextFrame.setSize(350, 500);
+        fTextFrame.show();
+
+        // initialize UI:
+        fExersize = new Button("Exercise");
+        fExersize.addActionListener(this);
+        add(fExersize);
+
+        fStressTest = new Button("Stress Test");
+        fStressTest.addActionListener(this);
+        add(fStressTest);
+
+        pack();
+
+        addWindowListener(new WindowAdapter() {
+            public void windowActivated(WindowEvent e) {
+                //activateTextFrame();
+            }
+            public void windowClosing(WindowEvent e) {
+                System.exit(0);
+            }
+        });
+
+        setSize(280, 150);
+    }
+
+    private void activateTextFrame() {
+
+        fTextFrame.toFront();
+    }
+
+    public void actionPerformed(ActionEvent event) {
+
+        Object source = event.getSource();
+        activateTextFrame();
+        Date startDate = new Date();
+        boolean exitedNormally = false;
+
+        try {
+            if (source == fExersize) {
+                fTest.incRandSeed();
+                for (int i=0; i < 100; i++) {
+                    selectOperation(fTextFrame, fClipboard);
+                }
+            }
+            else if (source == fStressTest) {
+                fTest.incRandSeed();
+                while (true) {
+                    selectOperation(fTextFrame, fClipboard);
+                }
+            }
+            exitedNormally = true;
+        }
+        finally {
+            if (!exitedNormally) {
+                DateFormat df = DateFormat.getDateTimeInstance();
+                System.out.println("Start time: " + df.format(startDate));
+                System.out.println("End Time: " + df.format(new Date()));
+                System.out.println("Rand seed: " + fTest.getRandSeed());
+                System.out.println("Op count: " + fgOpCount);
+            }
+        }
+    }
+
+    /**
+     * Perform a random operation on the MTextPanel.  Frame can
+     * be null.
+     */
+    private static final int OP_COUNT = 15;
+
+    public void selectOperation(Frame frame,
+                                Clipboard fClipboard) {
+
+        int op = fTest.randInt(OP_COUNT);
+
+        switch (op) {
+
+            case 0:
+                fTest._testSetSelection();
+                break;
+
+            case 1:
+                fTest._testModifications(TestTextPanel.MOD_TEXT,
+                                        true);
+                break;
+
+            case 2:
+                fTest._testEditMenuOperations(fClipboard);
+                break;
+
+            case 3:
+                fTest._testModFlag(fTextPanel.getCommandLogSize());
+                break;
+
+            case 4:
+                fTest.applyCharacterStyle();
+                break;
+
+            case 5:
+                fTest.applyParagraphStyle();
+                break;
+
+            case 6:
+            case 7:
+            case 8:
+            case 9:
+                fTest.typeKeys();
+                break;
+
+            case 10:
+                fTest.selectText();
+                break;
+
+            case 11:
+                fTest.undoRedo();
+                break;
+
+            case 12:
+                //if (frame != null) {
+                //    fTest.resizeFrame(frame);
+                //    break;
+                //}
+
+            case 13:
+                fTest.applyKeyRemap();
+                break;
+
+            case 14:
+                fTest._testCommandLogControl();
+                break;
+
+            default:
+                throw new Error("OP_COUNT is incorrect");
+        }
+        fgOpCount++;
+    }
+
+
+}
diff --git a/src/com/ibm/richtext/test/TestTextPanel.java b/src/com/ibm/richtext/test/TestTextPanel.java
new file mode 100755
index 0000000..c7b5b89
--- /dev/null
+++ b/src/com/ibm/richtext/test/TestTextPanel.java
@@ -0,0 +1,842 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+package com.ibm.richtext.test;
+
+import java.util.Random;
+import java.awt.Color;
+import java.awt.Frame;
+import java.awt.event.KeyEvent;
+
+import java.awt.datatransfer.Clipboard;
+import java.awt.datatransfer.ClipboardOwner;
+import java.awt.datatransfer.StringSelection;
+import java.awt.datatransfer.Transferable;
+
+import com.ibm.richtext.textpanel.KeyRemap;
+import com.ibm.richtext.textpanel.KeyEventForwarder;
+import com.ibm.richtext.textpanel.MTextPanel;
+import com.ibm.richtext.textpanel.TextPanel;
+import com.ibm.richtext.textpanel.TextPanelEvent;
+import com.ibm.richtext.textpanel.TextPanelListener;
+
+import com.ibm.richtext.styledtext.MConstText;
+import com.ibm.richtext.styledtext.StyledText;
+import com.ibm.richtext.textlayout.attributes.TextAttribute;
+import com.ibm.richtext.textlayout.attributes.AttributeMap;
+
+import com.ibm.richtext.styledtext.StyleModifier;
+import com.ibm.richtext.textlayout.attributes.AttributeSet;
+
+// Note:  this used to be a TestFmwk test.  If you add
+// more tests to it, be sure to add them to 
+// com.ibm.richtext.test.unit.FmwkTestTextPanel.test() -
+// otherwise they won't get run!
+
+public class TestTextPanel /*extends TestFmwk*/ {
+
+    private final class TestListener implements TextPanelListener {
+        
+        private int NO_WAY = 0;
+        private int DEFINITELY = 1;
+        private int MAYBE = 2;
+        
+        private final int[] status;
+        
+        TestListener(MTextPanel textPanel) {
+            
+            int length = TextPanelEvent.TEXT_PANEL_LAST -
+                         TextPanelEvent.TEXT_PANEL_FIRST + 1;
+            status = new int[length];
+            textPanel.addListener(this);
+            allowAll();
+        }
+        
+        void refuseAll() {
+            
+            for (int i=0; i < status.length; i++) {
+                status[i] = NO_WAY;
+            }
+        }
+        
+        void allowAll() {
+            
+            for (int i=0; i < status.length; i++) {
+                status[i] = MAYBE;
+            }
+        }
+        
+        void expectEvent(int type) {
+            
+            int index = type - TextPanelEvent.TEXT_PANEL_FIRST;
+            status[index] = DEFINITELY;
+        }
+        
+        void allowEvent(int type) {
+            int index = type - TextPanelEvent.TEXT_PANEL_FIRST;
+            status[index] = MAYBE;
+        }
+        
+        void assertNotExpectingEvents() {
+            assertNotExpectingEvents(false, 0, false);
+        }
+        
+        void assertNotExpectingEvents(int iterationCount, boolean exp) {
+            assertNotExpectingEvents(true, iterationCount, exp);
+        }
+        
+        private void assertNotExpectingEvents(boolean logDetails, int iterationCount, boolean exp) {
+            
+            boolean e = false;
+            for (int i=0; i < status.length; i++) {
+                if (status[i] == DEFINITELY) {
+                    if (logDetails) {
+                        logMessage("Expecting event " +
+                                        (i+TextPanelEvent.TEXT_PANEL_FIRST));
+                        logMessage("iterationCount="+iterationCount+";  expexting="+exp);
+                    }
+                    e = true;
+                }
+            }
+            if (e) {
+                reportError("Some events pending");
+            }
+        }
+        
+        public void textEventOccurred(TextPanelEvent event) {
+            
+            int index = event.getID() - TextPanelEvent.TEXT_PANEL_FIRST;
+            if (status[index] == NO_WAY) {
+                reportError("Unexpected event: " + event);
+            }
+            else if (status[index] == DEFINITELY) {
+                status[index] = NO_WAY;
+            }
+        }
+        
+        public boolean respondsToEventType(int type) {
+            
+            return true;
+        }
+    }
+
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+
+    private static final String STRING_CONTENT = "Some content";
+    private static final int TEST_ITERS = 2;
+    public static final MConstText MOD_TEXT =
+                new StyledText("Styled", AttributeMap.EMPTY_ATTRIBUTE_MAP);
+
+    private Clipboard fClipboard;
+    private MTextPanel fTextPanel = null;
+    private TestListener fListener = null;
+    private int fRandSeed = 0;
+    private Random rand;
+    
+    private static final int BIG_COMMAND_LOG_SIZE = 40;
+    private static final int SMALL_COMMAND_LOG_SIZE = 8;
+
+    private static final StyleModifier[] paraMods = {
+        StyleModifier.createAddModifier(
+                new AttributeMap(TextAttribute.LINE_FLUSH,
+                                 TextAttribute.FLUSH_LEADING)),
+        StyleModifier.createAddModifier(TextAttribute.LINE_FLUSH,
+                                 TextAttribute.FLUSH_CENTER),
+        StyleModifier.createAddModifier(TextAttribute.LINE_FLUSH,
+                                 TextAttribute.FLUSH_TRAILING),
+        StyleModifier.createAddModifier(TextAttribute.LINE_FLUSH,
+                                 TextAttribute.FULLY_JUSTIFIED),
+        StyleModifier.createAddModifier(TextAttribute.RUN_DIRECTION,
+                                 TextAttribute.RUN_DIRECTION_RTL),
+        StyleModifier.createAddModifier(TextAttribute.RUN_DIRECTION,
+                                 TextAttribute.RUN_DIRECTION_LTR),
+        StyleModifier.createRemoveModifier(
+                new AttributeSet(TextAttribute.LINE_FLUSH)),
+        StyleModifier.createRemoveModifier(
+                new AttributeSet(TextAttribute.RUN_DIRECTION))
+    };
+
+    private static final int SELECT = 0;
+    private static final int SET_CARET_POS = 1;
+    private static final int SET_START = 2;
+    private static final int SET_END = 3;
+
+    // using both styles of add modifier: AttributeMap and
+    // key-value, just for variety...
+    private static final StyleModifier[] charMods = {
+        StyleModifier.createAddModifier(
+                new AttributeMap(TextAttribute.WEIGHT,
+                                 TextAttribute.WEIGHT_BOLD)),
+        StyleModifier.createAddModifier(TextAttribute.FOREGROUND,
+                                 Color.green),
+        StyleModifier.createAddModifier(
+                new AttributeMap(TextAttribute.UNDERLINE,
+                                 TextAttribute.UNDERLINE_ON).addAttributes(
+                new AttributeMap(TextAttribute.SIZE, new Float(6)))),
+        StyleModifier.createReplaceModifier(
+                new AttributeMap(TextAttribute.FAMILY, "Dialog")),
+        StyleModifier.createRemoveModifier(
+                new AttributeSet(
+                new Object[] { TextAttribute.WEIGHT,
+                           TextAttribute.POSTURE,
+                           TextAttribute.UNDERLINE,
+                           TextAttribute.STRIKETHROUGH,
+                           TextAttribute.SUPERSCRIPT })),
+        StyleModifier.IDENTITY
+    };
+
+    private static final char[] TYPED_CHARS = new char[128 - ' ' + 3];
+    static {
+        TYPED_CHARS[0] = 8; // backspace
+        TYPED_CHARS[1] = '\t';
+        TYPED_CHARS[2] = '\n';
+        for (int i=3; i < TYPED_CHARS.length; i++) {
+            TYPED_CHARS[i] = (char) (' ' + i - 3);
+        }
+    }
+
+    public TestTextPanel() {
+
+        fClipboard = new Clipboard("TestTextPanel");
+        incRandSeed();
+    }
+
+    protected void reportError(String message) {
+    
+        System.err.println(message);
+        throw new RuntimeException(message);
+        //super.errln(message);
+    }
+    
+    protected void logMessage(String message) {
+    
+        System.err.println(message);
+        //super.logMessage(message);
+    }
+    
+    public TestTextPanel(MTextPanel panel) {
+        
+        this();
+        setTextPanel(panel);
+    }
+    
+    void incRandSeed() {
+        
+        rand = new Random(++fRandSeed);
+    }
+    
+    int getRandSeed() {
+        
+        return fRandSeed;
+    }
+
+    int randInt(int limit) {
+
+        return randInt(0, limit);
+    }
+
+    int randInt(int start, int limit) {
+
+        if (start > limit) {
+            throw new IllegalArgumentException("Range is 0-length.");
+        }
+        else if (start == limit) {
+            return start;
+        }
+
+        return start + (Math.abs(rand.nextInt())%(limit-start)) ;
+    }
+
+    public void test() {
+
+        AttributeMap bold = new AttributeMap(TextAttribute.WEIGHT,
+                                             TextAttribute.WEIGHT_BOLD);
+        MConstText text1 = new StyledText("Test contents. 1234\nHow about it?",
+                                              AttributeMap.EMPTY_ATTRIBUTE_MAP);
+        MConstText text2 = new StyledText("Another test string.", bold);
+
+        _testWithText(text1);
+        _testWithText(text2);
+        _testWithText(new StyledText());
+
+        StyledText big1 = new StyledText();
+        for (int i=0; i < 50; i++) {
+            big1.append(text1);
+        }
+
+        _testWithText(big1);
+        StyledText big2 = new StyledText(text1);
+        for (int i=0; i < 80; i++) {
+            big2.append(text2);
+        }
+
+        _testWithText(big2);
+    }
+    
+    private void setTextPanel(MTextPanel panel) {
+        
+        fTextPanel = panel;
+        fListener = new TestListener(panel);
+    }
+    
+    private void _testWithText(MConstText text) {
+
+        setTextPanel(new TextPanel(text, fClipboard));
+
+        for (int i=0; i < TEST_ITERS; i++) {
+            _testSetSelection();
+            _testModifications(MOD_TEXT, true);
+            _testEditMenuOperations(fClipboard);
+            _testModFlag(fTextPanel.getCommandLogSize());
+            _testCommandLogControl();
+        }
+    }
+
+    private void _testSelection(int function, 
+                               final int aStart,
+                               final int aLimit) {
+
+        int oldStart = fTextPanel.getSelectionStart();
+        int oldLimit = fTextPanel.getSelectionEnd();
+
+        final int length = fTextPanel.getTextLength();
+        
+        int start = aStart;
+        int limit = aLimit;
+        
+        if (start < 0) {
+            start = 0;
+        }
+        else if (start > length) {
+            start = length;
+        }
+
+        if (limit < start) {
+            limit = start;
+        }
+        else if (limit > length) {
+            limit = length;
+        }
+        
+        fListener.refuseAll();
+        
+        if (oldStart != start || oldLimit != limit) {
+            fListener.expectEvent(TextPanelEvent.SELECTION_RANGE_CHANGED);
+            fListener.allowEvent(TextPanelEvent.SELECTION_STYLES_CHANGED);
+        }
+        if ((oldStart==oldLimit) != (start==limit)) {
+            fListener.expectEvent(TextPanelEvent.SELECTION_EMPTY_CHANGED);
+        }
+        if (oldStart==oldLimit) {
+            fListener.allowEvent(TextPanelEvent.UNDO_STATE_CHANGED);
+        }
+
+        switch(function) {
+            case SELECT:
+                fTextPanel.select(aStart, aLimit);
+                break;
+            case SET_CARET_POS:
+                fTextPanel.setCaretPosition(aStart);
+                break;
+            case SET_START:
+                fTextPanel.setSelectionStart(aStart);
+                break;
+            case SET_END:
+                fTextPanel.setSelectionEnd(aLimit);
+                break;
+            default:
+                throw new IllegalArgumentException("Invalid function");
+        }
+        
+        if (fTextPanel.getSelectionStart() != start) {
+            reportError("getSelectionStart is incorrect after set");
+        }
+        if (fTextPanel.getSelectionEnd() != limit) {
+            reportError("getSelectionEnd is incorrect after set");
+        }
+        fListener.assertNotExpectingEvents();
+        fListener.allowAll();
+    }
+
+    private void setAndTestSelection(int start, int limit) {
+        
+        _testSelection(SELECT, start, limit);
+    }
+
+    private void setAndTestCaret(int caretPos) {
+
+        _testSelection(SET_CARET_POS, caretPos, caretPos);
+    }
+
+    private void setAndTestSelectionStart(int selStart) {
+
+        int limit = fTextPanel.getSelectionEnd();
+        _testSelection(SET_START, selStart, limit);
+    }
+
+    private void setAndTestSelectionEnd(int selEnd) {
+
+        int start = fTextPanel.getSelectionStart();
+        _testSelection(SET_END, start, selEnd);
+    }
+
+    public void _testSetSelection() {
+
+        int textLength = fTextPanel.getTextLength();
+        if (textLength != fTextPanel.getText().length()) {
+            reportError("Text panel length is not correct");
+        }
+
+        setAndTestSelection(0, textLength / 2);
+        setAndTestSelection(textLength / 2, textLength);
+        setAndTestSelection(0, textLength);
+        setAndTestSelection(-1, textLength+1);
+        if (textLength > 0) {
+            setAndTestSelection(0, textLength - 1);
+            setAndTestSelection(0, 1);
+        }
+
+        final int incAmount = Math.max(1, textLength/5);
+        for (int index = 0; index <= textLength; index += incAmount) {
+
+            setAndTestCaret(index);
+            setAndTestSelectionStart(textLength-index);
+            setAndTestSelectionEnd(textLength);
+            setAndTestSelectionStart(0);
+            setAndTestSelectionEnd(textLength-index);
+        }
+    }
+
+    /**
+     * Text must be editable to pass this test.
+     */
+    public void _testModifications(MConstText insertionText,
+                                   boolean restoreOldText) {
+
+        MConstText oldText = new StyledText(fTextPanel.getText());
+        final int insLength = insertionText.length();
+
+        fListener.allowAll();
+        fListener.expectEvent(TextPanelEvent.TEXT_CHANGED);
+        fListener.expectEvent(TextPanelEvent.SELECTION_RANGE_CHANGED);
+        fTextPanel.append(insertionText);
+        fListener.assertNotExpectingEvents();
+        
+        if (fTextPanel.getSelectionStart() != oldText.length() + insLength) {
+            reportError("Append didn't result in correct selection");
+        }
+
+        fListener.expectEvent(TextPanelEvent.TEXT_CHANGED);
+        fListener.expectEvent(TextPanelEvent.SELECTION_RANGE_CHANGED);
+        fTextPanel.insert(insertionText, 0);
+        fListener.assertNotExpectingEvents();
+        fListener.allowAll();
+        
+        if (fTextPanel.getSelectionStart() != insLength) {
+            reportError("Insert didn't result in correct selection");
+        }
+
+        fTextPanel.replaceRange(insertionText, insLength, insLength+oldText.length());
+        if (fTextPanel.getSelectionStart() != insLength*2) {
+            reportError("Replace didn't result in correct selection");
+        }
+        if (fTextPanel.getSelectionEnd() != insLength*2) {
+            reportError("Replace didn't result in correct selection");
+        }
+        if (fTextPanel.getTextLength() != insLength*3) {
+            reportError("textLength is incorrect");
+        }
+
+        if (restoreOldText) {
+            fTextPanel.setText(oldText);
+            if (fTextPanel.getSelectionStart() != oldText.length()) {
+                reportError("setText didn't result in correct selection");
+            }
+            if (fTextPanel.getTextLength() != oldText.length()) {
+                reportError("length incorrect after setText");
+            }
+        }
+        
+        fListener.allowAll();
+    }
+
+    private static int iterationCount = 0;
+    public void _testCommandLogControl() {
+
+        fListener.refuseAll();
+        iterationCount++;
+        boolean exp = false;
+        if (fTextPanel.canRedo() || BIG_COMMAND_LOG_SIZE==0) {
+            fListener.expectEvent(TextPanelEvent.UNDO_STATE_CHANGED);
+            exp = true;
+        }
+        //try {
+            fTextPanel.setCommandLogSize(BIG_COMMAND_LOG_SIZE);
+            
+            if (fTextPanel.canRedo()) {
+                reportError("canRedo after setCommandLogSize");
+            }
+            fListener.assertNotExpectingEvents(iterationCount, exp);
+        //}
+        //catch(Error e) {
+        //    logMessage("iterationCount="+iterationCount+";  expexting="+exp);
+        //    throw e;
+        //}
+
+        MConstText insText = new StyledText("7",
+                                AttributeMap.EMPTY_ATTRIBUTE_MAP);
+
+        final int origLength = fTextPanel.getTextLength();
+        int start = origLength / 3;
+        
+        fListener.allowEvent(TextPanelEvent.SELECTION_RANGE_CHANGED);
+        fListener.allowEvent(TextPanelEvent.SELECTION_STYLES_CHANGED);
+
+        for (int i=start; i < BIG_COMMAND_LOG_SIZE+start; i++) {
+            fListener.expectEvent(TextPanelEvent.UNDO_STATE_CHANGED);
+            fListener.expectEvent(TextPanelEvent.TEXT_CHANGED);
+            if (fTextPanel.getSelectionStart() != fTextPanel.getSelectionEnd()) {
+                fListener.expectEvent(TextPanelEvent.SELECTION_EMPTY_CHANGED);
+            }
+            fTextPanel.insert(insText, i);
+            fListener.assertNotExpectingEvents();
+        }
+
+        fListener.allowEvent(TextPanelEvent.SELECTION_EMPTY_CHANGED);
+        
+        for (int i=0; i < BIG_COMMAND_LOG_SIZE-1; i++) {
+            fListener.expectEvent(TextPanelEvent.UNDO_STATE_CHANGED);
+            fListener.expectEvent(TextPanelEvent.TEXT_CHANGED);
+            fTextPanel.undo();
+            fListener.assertNotExpectingEvents();
+        }
+        if (!fTextPanel.canUndo()) {
+            reportError("Command log is too small");
+        }
+        
+        fListener.allowAll();
+        fTextPanel.undo();
+        if (fTextPanel.canUndo()) {
+            reportError("Command log is too large");
+        }
+
+        if (fTextPanel.getTextLength() != origLength * insText.length()) {
+            reportError("Text length was not restored");
+        }
+
+        for (int i=0; i < BIG_COMMAND_LOG_SIZE; i++) {
+            fTextPanel.redo();
+        }
+
+        if (fTextPanel.getTextLength() != origLength+BIG_COMMAND_LOG_SIZE) {
+            reportError("Text length was not restored after redo");
+        }
+
+        if (fTextPanel.canRedo()) {
+            reportError("Should not be able to redo");
+        }
+
+        fTextPanel.undo();
+
+        fTextPanel.setCommandLogSize(SMALL_COMMAND_LOG_SIZE);
+
+        if (fTextPanel.canRedo()) {
+            reportError("canRedo after setCommandLogSize(small)");
+        }
+
+        for (int i=0; i < SMALL_COMMAND_LOG_SIZE; i++) {
+            if (!fTextPanel.canUndo()) {
+                reportError("should be able to undo");
+            }
+            fTextPanel.undo();
+        }
+        if (fTextPanel.canUndo()) {
+            reportError("should not be able to undo after setCommandLogSize(small)");
+        }
+        if (!fTextPanel.canRedo()) {
+            reportError("why can't this redo???");
+        }
+        fTextPanel.redo();
+
+        fTextPanel.clearCommandLog();
+
+        if (fTextPanel.canUndo() || fTextPanel.canRedo()) {
+            reportError("Command log wasn't cleared");
+        }
+    }
+
+    /**
+     * Test cut, copy, paste, undo, redo, clear, canUndo, canRedo.
+     * Text must be editable to pass this test.
+     */
+    public void _testEditMenuOperations(Clipboard clipboard) {
+        
+        if (clipboard != null) {
+            // test paste and undo / redo
+            Transferable tr = new StringSelection(STRING_CONTENT);
+            clipboard.setContents(tr, new ClipboardOwner() {
+                public void lostOwnership(Clipboard c, Transferable t) {
+                }
+            });
+            if (!fTextPanel.clipboardNotEmpty()) {
+                reportError("MTextPanel doesn't recognize string content.");
+            }
+
+            fTextPanel.setCaretPosition(fTextPanel.getSelectionStart());
+            int oldLength = fTextPanel.getTextLength();
+            fTextPanel.paste();
+            if (fTextPanel.getTextLength() != oldLength + STRING_CONTENT.length()) {
+                reportError("Text length is wrong after paste.");
+            }
+
+            if (!fTextPanel.canUndo()) {
+                reportError("canUndo should be true");
+            }
+            fTextPanel.undo();
+            if (fTextPanel.getTextLength() != oldLength) {
+                reportError("Length is wrong after undo");
+            }
+            if (!fTextPanel.canRedo()) {
+                reportError("canRedo should be true");
+            }
+            fTextPanel.redo();
+            if (fTextPanel.getTextLength() != oldLength + STRING_CONTENT.length()) {
+                reportError("Text length is wrong after redo.");
+            }
+        }
+
+        int origLength = fTextPanel.getTextLength();
+        fTextPanel.selectAll();
+        fTextPanel.clear();
+        if (fTextPanel.getTextLength() != 0) {
+            reportError("Length is nonzero after clear");
+        }
+        if (!fTextPanel.canUndo()) {
+            reportError("canUndo should be true");
+        }
+        fTextPanel.undo();
+        if (fTextPanel.getTextLength() != origLength) {
+            reportError("Old text not restored");
+        }
+
+        if (origLength > 0) {
+
+            fTextPanel.select(0, 1);
+            fTextPanel.cut();
+            if (fTextPanel.getTextLength() != origLength-1) {
+                reportError("Length wrong after cut");
+            }
+            fTextPanel.paste();
+            if (fTextPanel.getTextLength() != origLength) {
+                reportError("Length wrong after paste");
+            }
+            fTextPanel.select(0, origLength);
+            fTextPanel.copy();
+            fTextPanel.setCaretPosition(0);
+            fTextPanel.paste();
+            if (fTextPanel.getTextLength() != 2*origLength) {
+                reportError("Length wrong after paste");
+            }
+            fTextPanel.undo();
+            if (fTextPanel.getTextLength() != origLength) {
+                reportError("Length wrong after undo");
+            }
+        }
+    }
+
+    private void setAndTestModFlag(final int depth,
+                                   boolean modified) {
+
+        fTextPanel.setModified(modified);
+        for (int i=0; i < depth; i++) {
+            if (!fTextPanel.canUndo()) {
+                reportError("Panel cannot undo at valid depth.  Depth=" + i);
+            }
+            fTextPanel.undo();
+            fTextPanel.setModified(modified);
+        }
+
+        // check that all mod flags are false:
+        if (fTextPanel.isModified() != modified) {
+            reportError("isModified is not correct");
+        }
+
+        for (int i=0; i < depth; i++) {
+            fTextPanel.redo();
+            if (fTextPanel.isModified() != modified) {
+                reportError("isModified is not correct");
+            }
+        }
+    }
+
+    /**
+     * Make <code>depth</code> modifications to the text in textfTextPanel.
+     * Set the modified flag on each operation, and then retrieve its
+     * value.  Finally, undo the modifications.
+     */
+    public void _testModFlag(final int depth) {
+
+        final int oldLength = fTextPanel.getTextLength();
+
+        for (int i=0; i < depth; i++) {
+            fTextPanel.insert(MOD_TEXT, 0);
+        }
+
+        setAndTestModFlag(depth, false);
+        setAndTestModFlag(depth, true);
+
+        for (int i=0; i < depth; i++) {
+            fTextPanel.undo();
+        }
+
+        if (fTextPanel.getTextLength() != oldLength) {
+            reportError("Undo did not restore old text.");
+        }
+    }
+
+    void applyCharacterStyle() {
+
+        StyleModifier stMod = charMods[randInt(charMods.length)];
+        fListener.refuseAll();
+        fListener.expectEvent(TextPanelEvent.SELECTION_STYLES_CHANGED);
+        if (fTextPanel.getSelectionStart() != fTextPanel.getSelectionEnd()) {
+            fListener.expectEvent(TextPanelEvent.TEXT_CHANGED);
+            fListener.allowEvent(TextPanelEvent.SELECTION_RANGE_CHANGED);
+        }
+        fListener.allowEvent(TextPanelEvent.UNDO_STATE_CHANGED);
+        fTextPanel.modifyCharacterStyleOnSelection(stMod);
+        fListener.assertNotExpectingEvents();
+        fListener.allowAll();
+    }
+
+
+    void applyParagraphStyle() {
+
+        fListener.refuseAll();
+        fListener.expectEvent(TextPanelEvent.SELECTION_STYLES_CHANGED);
+        fListener.expectEvent(TextPanelEvent.TEXT_CHANGED);
+        fListener.allowEvent(TextPanelEvent.UNDO_STATE_CHANGED);
+        fListener.allowEvent(TextPanelEvent.SELECTION_RANGE_CHANGED);
+        StyleModifier stMod = paraMods[randInt(paraMods.length)];
+        fTextPanel.modifyParagraphStyleOnSelection(stMod);
+        fListener.assertNotExpectingEvents();
+        fListener.allowAll();
+    }
+
+    void applyKeyRemap() {
+
+        fListener.refuseAll();
+        fListener.expectEvent(TextPanelEvent.KEYREMAP_CHANGED);
+        int op = randInt(5);
+        switch (op) {
+
+            case 0:
+                fTextPanel.setKeyRemap(KeyRemap.getIdentityRemap());
+                break;
+
+            case 1:
+                fTextPanel.setKeyRemap(KeyRemap.getArabicTransliteration());
+                break;
+
+            case 2:
+                fTextPanel.setKeyRemap(KeyRemap.getHebrewTransliteration());
+                break;
+
+            case 3:
+                fTextPanel.setKeyRemap(KeyRemap.getIsraelNikud());
+                break;
+            
+            case 4:
+                //fTextPanel.setKeyRemap(KeyRemap.getThaiKetmanee());
+                fTextPanel.setKeyRemap(KeyRemap.getIsraelNikud());
+                break;
+            
+            default:
+                reportError("Invalid operation!");
+        }
+        fListener.assertNotExpectingEvents();
+        fListener.allowAll();
+    }
+
+    void resizeFrame(Frame frame) {
+
+        fListener.refuseAll();
+        fListener.allowEvent(TextPanelEvent.FORMAT_WIDTH_CHANGED);
+        int wd = randInt(50, 1000);
+        int ht = randInt(20, 800);
+
+        frame.setSize(wd, ht);
+        fListener.allowAll();
+    }
+
+    void selectText() {
+
+        int selStart = randInt(-10, fTextPanel.getTextLength());
+        int selLimit = randInt(0, fTextPanel.getTextLength() + 10);
+        _testSelection(SELECT, selStart, selLimit);
+    }
+
+    void undoRedo() {
+
+        final int opCount = randInt(-10, 15);
+
+        for (int i=opCount; i <= 0; i++) {
+            fTextPanel.redo();
+        }
+        for (int i=0; i < opCount; i++) {
+            fTextPanel.undo();
+        }
+    }
+    
+    void typeKeys() {
+
+        final int keyCount = randInt(1, 100);
+        TextPanel textPanel = (TextPanel) fTextPanel;
+        
+        KeyEventForwarder forwarder = new KeyEventForwarder(textPanel);
+        
+        fListener.refuseAll();
+        fListener.allowEvent(TextPanelEvent.UNDO_STATE_CHANGED);
+        
+        if (fTextPanel.getSelectionStart() != fTextPanel.getSelectionEnd()) {
+            fListener.expectEvent(TextPanelEvent.SELECTION_EMPTY_CHANGED);
+        }
+        
+        for (int i=0; i < keyCount; i++) {
+            char typedChar = TYPED_CHARS[randInt(TYPED_CHARS.length)];
+            KeyEvent event = new KeyEvent(textPanel,
+                                          KeyEvent.KEY_TYPED,
+                                          0,
+                                          0,
+                                          KeyEvent.VK_UNDEFINED,
+                                          typedChar);
+            if (typedChar == 8 || typedChar == 0x7f) {
+                fListener.allowEvent(TextPanelEvent.TEXT_CHANGED);
+                fListener.allowEvent(TextPanelEvent.SELECTION_RANGE_CHANGED);
+            }
+            else {
+                fListener.expectEvent(TextPanelEvent.TEXT_CHANGED);
+                fListener.expectEvent(TextPanelEvent.SELECTION_RANGE_CHANGED);
+            }
+            forwarder.handleKeyEvent(event);
+            //try {
+                fListener.assertNotExpectingEvents(i, false);
+            //}
+            //catch(Error e) {
+            //    logMessage("i="+i+"; typedChar="+Integer.toHexString(typedChar));
+            //    throw e;
+            //}
+        }
+        fListener.allowAll();
+    }
+}
\ No newline at end of file
diff --git a/src/com/ibm/richtext/test/TypingPerfTest.java b/src/com/ibm/richtext/test/TypingPerfTest.java
new file mode 100755
index 0000000..7043eb1
--- /dev/null
+++ b/src/com/ibm/richtext/test/TypingPerfTest.java
@@ -0,0 +1,237 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+package com.ibm.richtext.test;
+
+import java.awt.Button;
+import java.awt.GridLayout;
+import java.awt.Frame;
+
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.awt.event.KeyEvent;
+import java.awt.event.WindowAdapter;
+import java.awt.event.WindowEvent;
+
+import java.io.File;
+import java.io.PrintWriter;
+import java.io.IOException;
+
+import java.text.DateFormat;
+import java.util.Date;
+
+import com.ibm.richtext.textpanel.KeyEventForwarder;
+import com.ibm.richtext.textpanel.TextPanel;
+import com.ibm.richtext.awtui.TextFrame;
+import com.ibm.richtext.styledtext.MConstText;
+
+import com.ibm.richtext.demo.EditDemo;
+import com.ibm.richtext.demo.TextDocument;
+
+public class TypingPerfTest implements ActionListener {
+
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+    private TextFrame fTextFrame;
+    private KeyEventForwarder fKeyEventForwarder;
+    private PrintWriter fOut;
+
+    private static final String fgAtStartCommand = "Insert at start";
+    private static final String fgAtEndCommand = "Insert at end";
+    private static final String fgFwdDelete = "Forward delete";
+    private static final String fgBackspace = "Backspace";
+    private static final String fgAtCurrentPosCommand = "Insert at current position";
+    private static final String fgLotsOfTextCommand = "Insert a lot of text";
+
+    private static final String USAGE = "Usage: java com.ibm.richtext.test.TypingPerfTest [file] [-insertionText text]";
+    private char[] fInsText;
+
+    public static void main(String[] args) throws IOException {
+
+        // not used OutputStream outStream = null;
+        PrintWriter writer = new PrintWriter(System.out);
+
+        MConstText text = Declaration.fgDeclaration;
+        char[] insText = "The quick brown fox jumps over the lazy dog. The end. ".toCharArray();
+        
+        int index = 0;
+        while (index < args.length) {
+            if (args[index].equals("-insertionText")) {
+                if (args.length == ++index) {
+                    throw new Error(USAGE);
+                }
+                insText = args[index++].toCharArray();
+            }
+            else {
+                // This will try MConstText first, then plain text.
+                TextDocument doc = EditDemo.getDocumentFromFile(new File(args[index++]));
+                if (doc == null) {
+                    throw new Error("Couldn't open file "+args[index-1]);
+                }
+                text = doc.getText();
+            }
+        }
+        
+        if (index != args.length) {
+            throw new Error(USAGE);
+        }
+        
+        new TypingPerfTest(writer, text, insText);
+    }
+
+    public TypingPerfTest(PrintWriter out, MConstText text, char[] insText) throws IOException {
+
+        fInsText = insText;
+        fTextFrame = new TextFrame(text, "", null);
+        TextPanel textPanel = (TextPanel) fTextFrame.getTextPanel();
+        fKeyEventForwarder = new KeyEventForwarder(textPanel);
+        fOut = out;
+
+        DateFormat df = DateFormat.getDateTimeInstance();
+        out.println("Test date: " + df.format(new Date()));
+
+        fTextFrame.setSize(500, 700);
+        fTextFrame.show();
+
+        Frame f = new Frame("Typing Perf Test");
+        f.setLayout(new GridLayout(0, 1));
+        Button b;
+/*
+        b = new Button(fgAtStartCmd);
+        b.addActionListener(this);
+        f.add(b);
+
+        b = new Button(fgAtEndCmd);
+        b.addActionListener(this);
+        f.add(b);
+*/
+        b = new Button(fgAtCurrentPosCommand);
+        b.addActionListener(this);
+        f.add(b);
+
+        b = new Button(fgLotsOfTextCommand);
+        b.addActionListener(this);
+        f.add(b);
+
+        b = new Button(fgFwdDelete);
+        b.addActionListener(this);
+        f.add(b);
+
+        b = new Button(fgBackspace);
+        b.addActionListener(this);
+        f.add(b);
+
+        f.doLayout();
+        WindowAdapter closer = new WindowAdapter() {
+            public void windowClosing(WindowEvent e) {
+                fOut.close();
+                System.exit(0);
+            }
+        };
+        
+        f.addWindowListener(closer);
+        fTextFrame.addWindowListener(closer);
+        
+        f.setSize(200, 80);
+        f.show();
+    }
+
+    public void actionPerformed(ActionEvent evt) {
+
+        try {
+            if (evt.getActionCommand().equals(fgAtCurrentPosCommand)) {
+
+                insertAtCurrentPos(1);
+            }
+            else if (evt.getActionCommand().equals(fgLotsOfTextCommand)) {
+
+                insertAtCurrentPos(8);
+            }
+            else if (evt.getActionCommand().equals(fgFwdDelete)) {
+
+                forwardDelete(1);
+            }
+            else if (evt.getActionCommand().equals(fgBackspace)) {
+
+                backspace(1);
+            }
+        }
+        catch(IOException e) {
+            System.out.println("Caught exception: " + e);
+        }
+    }
+
+    private void insertAtCurrentPos(final int times) throws IOException {
+
+        fTextFrame.toFront();
+
+        System.gc();
+
+        long startTime = System.currentTimeMillis();
+
+        for (int t=0; t < times; t++) {
+            for (int i=0; i < fInsText.length; i++) {
+
+                KeyEvent event = new KeyEvent(fTextFrame, KeyEvent.KEY_TYPED, 0, 0, 0, fInsText[i]);
+                fKeyEventForwarder.handleKeyEvent(event);
+            }
+        }
+
+        long time = System.currentTimeMillis() - startTime;
+
+        fOut.println("Total time: " + time);
+        fOut.println("Millis per character: " + (time / (fInsText.length*times)));
+        fOut.flush();
+    }
+
+    private void forwardDelete(final int times) throws IOException {
+
+        System.gc();
+
+        long startTime = System.currentTimeMillis();
+
+        for (int t=0; t < times; t++) {
+            for (int i=0; i < fInsText.length; i++) {
+
+                KeyEvent event = new KeyEvent(fTextFrame, 0, 0, 0, KeyEvent.VK_DELETE, '\u00FF');
+                fKeyEventForwarder.handleKeyEvent(event);
+            }
+        }
+
+        long time = System.currentTimeMillis() - startTime;
+
+        fOut.println("Total time: " + time);
+        fOut.println("Millis per character: " + (time / (fInsText.length*times)));
+        fOut.flush();
+    }
+
+    private void backspace(final int times) throws IOException {
+
+        System.gc();
+
+        long startTime = System.currentTimeMillis();
+
+        for (int t=0; t < times; t++) {
+            for (int i=0; i < fInsText.length; i++) {
+
+                KeyEvent event = new KeyEvent(fTextFrame, 0, 0, 0, KeyEvent.VK_BACK_SPACE, '\u0010');
+                fKeyEventForwarder.handleKeyEvent(event);
+            }
+        }
+
+        long time = System.currentTimeMillis() - startTime;
+
+        fOut.println("Total time: " + time);
+        fOut.println("Millis per character: " + (time / (fInsText.length*times)));
+        fOut.flush();
+    }
+}
diff --git a/src/com/ibm/richtext/test/unit/FmwkTestTextPanel.java b/src/com/ibm/richtext/test/unit/FmwkTestTextPanel.java
new file mode 100755
index 0000000..589b162
--- /dev/null
+++ b/src/com/ibm/richtext/test/unit/FmwkTestTextPanel.java
@@ -0,0 +1,50 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+package com.ibm.richtext.test.unit;
+
+import com.ibm.icu.dev.test.TestFmwk;
+import com.ibm.richtext.test.TestTextPanel;
+
+public final class FmwkTestTextPanel extends TestFmwk {
+
+    public static void main(String[] args) throws Exception {
+    
+        new FmwkTestTextPanel().run(args);
+    }
+    
+    private TTP ttp;
+    
+    public FmwkTestTextPanel() {
+    
+        ttp = new TTP();
+    }
+    
+    public void test() {
+    
+        ttp.test();
+        // If TestTextPanel gets more tests, add them here
+    }
+
+    private final class TTP extends TestTextPanel {
+    
+        protected void reportError(String message) {
+        
+            errln(message);
+        }
+        
+        protected void logMessage(String message) {
+        
+            logln(message);
+        }
+    }
+}
\ No newline at end of file
diff --git a/src/com/ibm/richtext/test/unit/TestAll.java b/src/com/ibm/richtext/test/unit/TestAll.java
new file mode 100755
index 0000000..735ee53
--- /dev/null
+++ b/src/com/ibm/richtext/test/unit/TestAll.java
@@ -0,0 +1,38 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+package com.ibm.richtext.test.unit;
+
+import com.ibm.icu.dev.test.TestFmwk.TestGroup;
+
+public class TestAll extends TestGroup {
+
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+
+    public static void main(String[] args) throws Exception {
+        new TestAll().run(args);
+    }
+    
+    public TestAll() {
+        super(new String[] {
+            "TestAttributeSet",
+            "TestAttributeMap",
+            "TestFormatter",
+            "TestMText",
+            "TestParagraphStyles",
+            "TestMTextStreaming",
+            "FmwkTestTextPanel",
+        },
+              "Richtext Unit Tests");
+    }
+}
diff --git a/src/com/ibm/richtext/test/unit/TestAttributeMap.java b/src/com/ibm/richtext/test/unit/TestAttributeMap.java
new file mode 100755
index 0000000..4c8b8ff
--- /dev/null
+++ b/src/com/ibm/richtext/test/unit/TestAttributeMap.java
@@ -0,0 +1,410 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+package com.ibm.richtext.test.unit;
+
+import com.ibm.icu.dev.test.TestFmwk;
+
+import com.ibm.richtext.textlayout.attributes.AttributeSet;
+import com.ibm.richtext.textlayout.attributes.TextAttribute;
+import com.ibm.richtext.textlayout.attributes.AttributeMap;
+import java.util.Enumeration;
+
+// Java2 imports
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.Set;
+import java.util.Map.Entry;
+
+
+public class TestAttributeMap extends TestFmwk  {
+
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+
+
+    // There are JDK 1.1 versions of AttributeMap and AttributeSet.
+    // Some of the tests in this class require Java 2 API's.  I have
+    // tried to isolate these tests by conditionalizing them on
+    // this static variable.  If you are back-porting to 1.1, remove
+    // the Java 2 tests ONLY.
+    private static final boolean gJDK11 = false;
+
+    public static void main(String[] args) throws Exception {
+
+        new TestAttributeMap().run(args);
+    }
+
+    private AttributeSet maps;  // A Set of AttributeMaps
+    private AttributeSet sets;  // A Set of Sets
+
+    private static final class TestAttribute extends TextAttribute {
+
+        TestAttribute(String name) {
+            super(name);
+        }
+    }
+
+    private static final TestAttribute[] attributes = {
+        new TestAttribute("0"), new TestAttribute("1"), new TestAttribute("2")
+    };
+
+    private static final Object[] values = {
+        "Hello world", new Float(-42), new Object(), new AttributeMap(new TestAttribute("3"), "HH")
+    };
+
+    /**
+     * Returns lhs.equals(rhs) - but also checks for symmetry, and
+     * consistency with hashCode().
+     */
+    private boolean equalMaps(AttributeMap lhs, Object rhs) {
+
+        boolean equal = lhs.equals(rhs);
+        if (equal != (rhs.equals(lhs))) {
+            errln("AttributeMap.equals is not symetric");
+        }
+        if (equal) {
+            if (lhs.hashCode() != rhs.hashCode()) {
+                errln("AttributeMaps are equal but hashCodes differ");
+            }
+        }
+        return equal;
+    }
+
+    public TestAttributeMap() {
+
+        maps = AttributeSet.EMPTY_SET;
+        maps = maps.addElement(AttributeMap.EMPTY_ATTRIBUTE_MAP);
+        maps.addElement(new AttributeMap(TextAttribute.SUPERSCRIPT, TextAttribute.SUPERSCRIPT_SUB));
+        maps.addElement(new AttributeMap(TextAttribute.SUPERSCRIPT, TextAttribute.SUPERSCRIPT_SUPER));
+
+        for (int i=0; i < attributes.length; i++) {
+            for (int j=0; j < values.length; j++) {
+                maps = maps.addElement(new AttributeMap(attributes[i], values[j]));
+            }
+        }
+
+        AttributeMap bigMap = new AttributeMap(new TestAttribute("4"), "value");
+        for (int i=0; i < Math.min(attributes.length, values.length); i++) {
+            bigMap = bigMap.addAttribute(attributes[i], values[values.length-i-1]);
+        }
+        maps = maps.addElement(bigMap);
+
+        sets = AttributeSet.EMPTY_SET;
+
+        sets = new AttributeSet(AttributeSet.EMPTY_SET);
+
+        for (int i=0; i < attributes.length; i++) {
+            AttributeSet newSet = new AttributeSet(attributes[i]);
+            sets = sets.addElement(newSet);
+        }
+
+        AttributeSet allAttrs = AttributeSet.EMPTY_SET;
+        for (int i=0; i < attributes.length; i++) {
+            allAttrs = allAttrs.addElement(attributes[i]);
+        }
+
+        sets = sets.addElement(allAttrs);
+    }
+
+    /**
+     * Run tests on AttributeMap.  If a test fails an exception will propogate out
+     * of this method.
+     */
+    public void test() {
+
+        easyTests();
+
+        Enumeration mapIter = maps.elements();
+        while (mapIter.hasMoreElements()) {
+
+            AttributeMap testMap = (AttributeMap) mapIter.nextElement();
+
+            _testModifiers(testMap);
+            _testViews(testMap);
+
+            Enumeration unionIter = maps.elements();
+            while (unionIter.hasMoreElements()) {
+                _testUnionWith(testMap, (AttributeMap) unionIter.nextElement());
+            }
+
+            Enumeration setIter = sets.elements();
+            while (setIter.hasMoreElements()) {
+                AttributeSet testSet = (AttributeSet) setIter.nextElement();
+                _testIntersectWith(testMap, testSet);
+                _testRemoveAttributes(testMap, testSet);
+            }
+        }
+    }
+
+    /**
+     * Invoke modifiers on map.  All should throw
+     * UnsupportedOperationException, and leave map unmodified.
+     */
+    void _testModifiers(AttributeMap map) {
+
+        if (gJDK11) {
+            return;
+        }
+        
+        AttributeMap originalMap = new AttributeMap(map);
+
+        try {
+            map.put(TextAttribute.WEIGHT, TextAttribute.WEIGHT_BOLD);
+            errln("Put should throw UnsupportedOperationException.");
+        }
+        catch(UnsupportedOperationException e) {
+            System.out.print("");
+        }
+
+        try {
+            Object key = TextAttribute.WEIGHT;
+            Iterator iter = map.keySet().iterator();
+            if (iter.hasNext()) {
+                key = iter.next();
+            }
+            map.remove(key);
+            errln("Set should throw UnsupportedOperationException.");
+        }
+        catch(UnsupportedOperationException e) {
+            System.out.print("");
+        }
+
+        try {
+            map.putAll(map);
+            errln("putAll should throw UnsupportedOperationException.");
+        }
+        catch(UnsupportedOperationException e) {
+            System.out.print("");
+        }
+
+        try {
+            map.clear();
+            errln("clear should throw UnsupportedOperationException.");
+        }
+        catch(UnsupportedOperationException e) {
+            System.out.print("");
+        }
+
+        if (!originalMap.equals(map)) {
+            errln("Modifiers changed map.");
+        }
+    }
+
+    /**
+     * Ensure that map.addAttributes(addMap) is equivalent to calling
+     * map.add on all of addMap's entries.
+     */
+    void _testUnionWith(AttributeMap map, AttributeMap addMap) {
+
+        AttributeMap lhs = map.addAttributes(addMap);
+
+        AttributeMap rhs = map;
+
+        Enumeration iter = addMap.getKeySet().elements();
+        while (iter.hasMoreElements()) {
+            Object attr = iter.nextElement();
+            Object value = addMap.get(attr);
+            rhs = rhs.addAttribute(attr, value);
+        }
+
+        if (!equalMaps(lhs, rhs)) {
+            errln("Maps are not equal.");
+        }
+    }
+
+    /**
+     * Ensure that map.removeAttributes(remove) is equivalent to calling
+     * map.removeAttribute on remove's elements.
+     */
+    void _testRemoveAttributes(AttributeMap map, AttributeSet remove) {
+
+        AttributeMap lhs = map.removeAttributes(remove);
+
+        AttributeMap rhs = map;
+
+        Enumeration iter = remove.elements();
+        while (iter.hasMoreElements()) {
+            Object attr = iter.nextElement();
+            rhs = rhs.removeAttribute(attr);
+        }
+
+        if (!equalMaps(lhs, rhs)) {
+            errln("Maps are not equal.");
+        }
+    }
+
+    /**
+     * Ensure that map.intersectWith(intersect) is equivalent to
+     * map.removeAttributes(map.keySet() - intersect);
+     */
+    void _testIntersectWith(AttributeMap map, AttributeSet intersect) {
+
+        AttributeMap lhs = map.intersectWith(intersect);
+
+        AttributeSet keySet = map.getKeySet();
+        AttributeSet removeSet = keySet.subtract(intersect);
+        AttributeMap rhs = map.removeAttributes(removeSet);
+
+        if (!equalMaps(lhs, rhs)) {
+            map.intersectWith(intersect);
+            logln("intersect: " + intersect);
+            logln("keySet: " + keySet);
+            logln("removeSet: " + removeSet);
+            logln("map: " + map);
+            logln("lhs: " + lhs);
+            logln("rhs: " + rhs);
+            errln("Maps are not equal.");
+        }
+    }
+
+    /**
+     * Ensure that:
+     *    map, map.keySet(), and map.entrySet() are the same size;
+     *    map.containsKey() is true for every key in keySet();
+     *    map.containsValue() is true for every value in values;
+     *    every entry key is in keySet, every entry value is in map.values();
+     *    map.get() is consistent with entry's key, value;
+     *    sum of hashcodes of entries equals map.hashCode().
+     */
+    void _testViews(AttributeMap map) {
+
+        AttributeSet keySet = map.getKeySet();
+
+        Enumeration keyIter = keySet.elements();
+        while (keyIter.hasMoreElements()) {
+            if (!map.containsKey(keyIter.nextElement())) {
+                errln("keySet contains key not in map");
+            }
+        }
+
+        if (gJDK11) {
+            return;
+        }
+        
+        Collection values = map.values();
+        Set entrySet = map.entrySet();
+
+        if (keySet.size() != map.size() || entrySet.size() != map.size()) {
+            errln("Set sizes are inconsistent with map size.");
+        }
+
+        int hashCode = 0;
+
+        Iterator valueIter = values.iterator();
+        while (valueIter.hasNext()) {
+            if (!map.containsValue(valueIter.next())) {
+                errln("value set contains value not in map");
+            }
+        }
+
+        Iterator entryIter = entrySet.iterator();
+        while (entryIter.hasNext()) {
+
+            Entry entry = (Entry) entryIter.next();
+
+            Object key = entry.getKey();
+            if (!keySet.contains(key)) {
+                errln("Entry key is not in key set.");
+            }
+
+            Object value = map.get(entry.getKey());
+            if (!values.contains(value)) {
+                errln("Entry value is not in value set.");
+            }
+
+            if (map.get(key) != value) {
+                errln("map.get did not return entry value.");
+            }
+
+            hashCode += entry.hashCode();
+        }
+
+        if (hashCode != map.hashCode()) {
+            errln("map hashcode is not sum of entry hashcodes.");
+        }
+    }
+
+    /**
+     * Look for correct behavior in obvious cases.
+     */
+    void easyTests() {
+
+        AttributeMap map = new AttributeMap();
+        if (!map.equals(AttributeMap.EMPTY_ATTRIBUTE_MAP)) {
+            errln("Default-constructed map is not equal to empty map.");
+        }
+
+        map = map.addAttribute(TextAttribute.POSTURE, TextAttribute.POSTURE_OBLIQUE);
+        Object otherMap = new AttributeMap(TextAttribute.POSTURE, TextAttribute.POSTURE_OBLIQUE);
+        if (!map.equals(otherMap)) {
+            errln("Maps are inconsistent after map.add");
+        }
+
+        otherMap = map.addAttributes(map);
+        if (!equalMaps(map,otherMap)) {
+            errln("Maps are inconsistent after addAttributes");
+        }
+
+        map = map.addAttribute(TextAttribute.UNDERLINE, TextAttribute.UNDERLINE_ON);
+
+        if (map.size() != 2) {
+            errln("Map size is wrong.  map="+map);
+        }
+
+        if (equalMaps(map,otherMap)) {
+            errln("Maps should not be equal");
+        }
+
+        Object posture = new Float(0);
+        map = map.addAttribute(TextAttribute.POSTURE, posture);
+
+        if (map.size() != 2) {
+            errln("Map size is wrong");
+        }
+
+        if (!map.get(TextAttribute.POSTURE).equals(posture)) {
+            errln("Map element is wrong");
+        }
+
+        map = map.removeAttribute(TextAttribute.UNDERLINE);
+
+        if (map.size() != 1) {
+            errln("Map size is wrong");
+        }
+
+        if (map.get(TextAttribute.UNDERLINE) != null) {
+            errln("Map should not have element");
+        }
+
+        // map has POSTURE_REGULAR.  If we addAttributes a map with
+        // POSTURE_ITALIC the new map should have POSTURE_ITALIC
+
+        map = map.addAttributes(new AttributeMap(TextAttribute.POSTURE, TextAttribute.POSTURE_OBLIQUE));
+        if (map.get(TextAttribute.POSTURE) != TextAttribute.POSTURE_OBLIQUE) {
+            errln("Map element is wrong");
+        }
+
+        _testModifiers(map);
+        _testViews(map);
+
+        Enumeration mapIter = maps.elements();
+        while (mapIter.hasMoreElements()) {
+            AttributeMap testMap = (AttributeMap) mapIter.nextElement();
+            Object newValue = new Object();
+            AttributeMap newMap = testMap.addAttribute(attributes[0], newValue);
+            if (newMap.get(attributes[0]) != newValue) {
+                errln("Did not get expected value back.  map=" + map);
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/src/com/ibm/richtext/test/unit/TestAttributeSet.java b/src/com/ibm/richtext/test/unit/TestAttributeSet.java
new file mode 100755
index 0000000..847daad
--- /dev/null
+++ b/src/com/ibm/richtext/test/unit/TestAttributeSet.java
@@ -0,0 +1,89 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+package com.ibm.richtext.test.unit;
+
+import com.ibm.icu.dev.test.TestFmwk;
+import com.ibm.richtext.textlayout.attributes.AttributeSet;
+import java.util.Enumeration;
+
+public class TestAttributeSet extends TestFmwk {
+
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+                
+    public static void main(String[] args) throws Exception {
+
+        new TestAttributeSet().run(args);
+    }
+
+    public void test() {
+
+        final Object elem1 = new Object();
+        final Object elem2 = new Float(4);
+        final Object elem3 = "String";
+        final Object elem4 = Boolean.FALSE;
+
+        AttributeSet set1 = new AttributeSet(new Object[] {elem1, elem2, elem3});
+        if (set1.size() != 3) {
+            errln("Size is wrong.");
+        }
+
+        if (set1.contains(elem4)){
+            errln("Set contents are wrong.");
+        }
+
+        if (!set1.contains(elem1)) {
+            errln("Set contents are wrong.");
+        }
+
+        AttributeSet set2 = new AttributeSet(elem4);
+
+        if (set2.size() != 1) {
+            errln("Size is wrong.");
+        }
+
+        if (!set2.contains(elem4)){
+            errln("Set contents are wrong.");
+        }
+
+        if (set2.contains(elem1)) {
+            errln("Set contents are wrong.");
+        }
+
+        Enumeration iter = set2.elements();
+        if (!iter.nextElement().equals(elem4)) {
+            errln("Invalid object in iterator.");
+        }
+
+        AttributeSet union = set2.unionWith(set1);
+        if (!set1.unionWith(set2).equals(union)) {
+            errln("unionWith is not commutative.");
+        }
+
+        if (!union.contains(elem1) || !union.contains(elem4)) {
+            errln("Set contents are wrong.");
+        }
+
+        if (!set1.addElement(elem4).equals(union)) {
+            errln("addElement is wrong.");
+        }
+
+        if (!union.intersectWith(set1).equals(set1)) {
+            errln("intersectWith is wrong.");
+        }
+
+        if (!union.subtract(set1).equals(set2)) {
+            errln("subtract is wrong.");
+        }
+    }
+}
\ No newline at end of file
diff --git a/src/com/ibm/richtext/test/unit/TestFormatter.java b/src/com/ibm/richtext/test/unit/TestFormatter.java
new file mode 100755
index 0000000..ee419a1
--- /dev/null
+++ b/src/com/ibm/richtext/test/unit/TestFormatter.java
@@ -0,0 +1,245 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+package com.ibm.richtext.test.unit;
+
+import com.ibm.icu.dev.test.TestFmwk;
+
+import com.ibm.richtext.textlayout.attributes.AttributeMap;
+import com.ibm.richtext.textlayout.attributes.TextAttribute;
+import com.ibm.richtext.styledtext.MText;
+import com.ibm.richtext.styledtext.MConstText;
+import com.ibm.richtext.styledtext.StandardTabRuler;
+import com.ibm.richtext.styledtext.StyledText;
+
+import com.ibm.richtext.textformat.TextOffset;
+import com.ibm.richtext.textformat.MFormatter;
+
+import java.awt.Color;
+import java.awt.Graphics;
+import java.awt.Point;
+import java.awt.Rectangle;
+import java.awt.image.BufferedImage;
+
+import java.util.Hashtable;
+
+public final class TestFormatter extends TestFmwk {
+
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+    public static void main(String[] args) throws Exception {
+
+        new TestFormatter().run(args);
+    }
+
+    private static final Point ORIGIN = new Point(0, 0);
+
+    private static final AttributeMap DEFAULTS;
+    static {
+        final Float floatZero = new Float(0.0f);
+
+        Hashtable defaults = new Hashtable();
+        defaults.put(TextAttribute.FAMILY, "Serif");
+        defaults.put(TextAttribute.WEIGHT, new Float(1.0f));
+        defaults.put(TextAttribute.POSTURE, floatZero);
+        defaults.put(TextAttribute.SIZE, new Float(18.0f));
+        defaults.put(TextAttribute.SUPERSCRIPT, new Integer(0));
+        defaults.put(TextAttribute.FOREGROUND, Color.black);
+        defaults.put(TextAttribute.UNDERLINE, new Integer(-1));
+        defaults.put(TextAttribute.STRIKETHROUGH, Boolean.FALSE);
+
+        defaults.put(TextAttribute.EXTRA_LINE_SPACING, floatZero);
+        defaults.put(TextAttribute.FIRST_LINE_INDENT, floatZero);
+        defaults.put(TextAttribute.MIN_LINE_SPACING, floatZero);
+        defaults.put(TextAttribute.LINE_FLUSH, TextAttribute.FLUSH_LEADING);
+        defaults.put(TextAttribute.LEADING_MARGIN, floatZero);
+        defaults.put(TextAttribute.TRAILING_MARGIN, floatZero);
+        defaults.put(TextAttribute.TAB_RULER, new StandardTabRuler());
+
+        DEFAULTS = new AttributeMap(defaults);
+    }
+    
+    // arg to testLineExceptions
+    private static final int UNKNOWN = -1;
+
+    private Graphics fGraphics;
+
+    public TestFormatter() {
+
+        fGraphics = new BufferedImage(100, 100, BufferedImage.TYPE_3BYTE_BGR).getGraphics();
+        
+        //JDK 1.1:
+        //Frame f = new Frame();
+        //f.show();
+        //fGraphics = f.getGraphics();
+    }
+
+    private String fiveLines = "a\nb\nc\nd\ne";
+    private String twelveLines = fiveLines + "\n" + fiveLines + "\nf\n";
+    AttributeMap PLAIN = AttributeMap.EMPTY_ATTRIBUTE_MAP;
+
+    public void test() {
+
+        MConstText text = new StyledText(fiveLines, PLAIN);
+        _testLineExceptions(makeFormatter(text, 100, true), 5);
+        _testLineAccess(makeFormatter(text, 100, true), 5);
+
+        text = new StyledText(twelveLines, PLAIN);
+        _testLineExceptions(makeFormatter(text, 3, false), 12);
+        _testLineAccess(makeFormatter(text, 100, true), 12);
+
+        _testWithModification();
+    }
+
+    private void _testWithModification() {
+
+        MText text = new StyledText(fiveLines, PLAIN);
+        MFormatter formatter = makeFormatter(text, 100, true);
+        Rectangle viewRect = new Rectangle(0, 0, 100, Integer.MAX_VALUE);
+
+        formatter.stopBackgroundFormatting();
+        text.append(new StyledText("\n", PLAIN));
+        formatter.updateFormat(text.length()-1, 1, viewRect, ORIGIN);
+
+        _testLineAccess(formatter, 6);
+
+        formatter.stopBackgroundFormatting();
+        text.append(new StyledText("ad", PLAIN));
+        formatter.updateFormat(text.length()-2, 2, viewRect, ORIGIN);
+        _testLineAccess(formatter, 6);
+        _testLineExceptions(formatter, 6);
+
+        formatter.stopBackgroundFormatting();
+        text.remove(0, 1);
+        formatter.updateFormat(0, 0, viewRect, ORIGIN);
+        _testLineAccess(formatter, 6);
+        _testLineExceptions(formatter, 6);
+    }
+
+
+    private MFormatter makeFormatter(MConstText text,
+                                     int lineBound,
+                                     boolean wrap) {
+
+        return MFormatter.createFormatter(text, 
+                                          DEFAULTS,
+                                          lineBound,
+                                          wrap,
+                                          fGraphics);
+    }
+
+    private void _testLineExceptions(MFormatter formatter,
+                                    int numLines) {
+
+        if (numLines == UNKNOWN) {
+            numLines = formatter.getLineCount();
+        }
+
+        boolean caught = false;
+
+        try {
+            formatter.lineRangeLow(numLines);
+        }
+        catch(IllegalArgumentException e) {
+            caught = true;
+        }
+
+        if (!caught) {
+            errln("Didn't get exception");
+        }
+        caught = false;
+
+        try {
+            formatter.lineRangeLimit(numLines);
+        }
+        catch(IllegalArgumentException e) {
+            caught = true;
+        }
+
+        if (!caught) {
+            errln("Didn't get exception");
+        }
+        caught = false;
+
+        try {
+            formatter.lineGraphicStart(numLines+1);
+        }
+        catch(IllegalArgumentException e) {
+            caught = true;
+        }
+
+        if (!caught) {
+            errln("Didn't get exception");
+        }
+        caught = false;
+    }
+
+    private void _testLineAccess(MFormatter formatter,
+                                 int numLines) {
+
+        if (numLines == UNKNOWN) {
+            numLines = formatter.getLineCount();
+        }
+
+        if (formatter.lineGraphicStart(0) != 0) {
+            errln("Line 0 doesn't start at height 0");
+        }
+        if (formatter.lineRangeLow(0) != 0) {
+            errln("Line 0 doesn't start at character 0");
+        }
+
+        int lastLimit = formatter.lineRangeLimit(0);
+        final int lineBound = formatter.lineBound();
+        int[] hitX = new int[] { -1, 1, lineBound + 2 };
+
+        TextOffset offset = new TextOffset();
+
+        for (int i=1; i < numLines; i++) {
+
+            int height = formatter.lineGraphicStart(i);
+            if (lastLimit != formatter.lineRangeLow(i)) {
+                errln("lastLine limit is not current line start");
+            }
+            int limit = formatter.lineRangeLimit(i);
+
+            if (limit < lastLimit || (limit == lastLimit && i != numLines-1)) {
+                errln("line has negative or 0 length");
+            }
+
+            int nextHeight = formatter.lineGraphicStart(i+1);
+            if (nextHeight <= height) {
+                errln("0-height line");
+            }
+            int incAmount = Math.max((nextHeight-height)/4, 1);
+            for (int hitY = height; hitY < nextHeight; hitY += incAmount) {
+
+                if (formatter.lineAtHeight(hitY) != i) {
+                    errln("lineAtHeight is wrong");
+                }
+
+                for (int j=0; j < hitX.length; j++) {
+                    offset = formatter.pointToTextOffset(offset,
+                                        hitX[j], hitY, ORIGIN, null, false);
+                    if (offset.fOffset < lastLimit || offset.fOffset > limit) {
+                        errln("Inconsistent offset from pointToTextOffset");
+                    }
+                    //if (formatter.lineContaining(offset) != i) {
+                    //    int debug = formatter.lineContaining(offset);
+                    //    errln("lineContaining is incorrect");
+                    //}
+                }
+            }
+
+            lastLimit = limit;
+        }
+    }
+}
\ No newline at end of file
diff --git a/src/com/ibm/richtext/test/unit/TestMText.java b/src/com/ibm/richtext/test/unit/TestMText.java
new file mode 100755
index 0000000..2fa5d3e
--- /dev/null
+++ b/src/com/ibm/richtext/test/unit/TestMText.java
@@ -0,0 +1,718 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+package com.ibm.richtext.test.unit;
+
+import com.ibm.icu.dev.test.TestFmwk;
+
+import com.ibm.richtext.textlayout.attributes.AttributeMap;
+import com.ibm.richtext.textlayout.attributes.TextAttribute;
+
+import com.ibm.richtext.styledtext.MConstText;
+import com.ibm.richtext.styledtext.MText;
+import com.ibm.richtext.styledtext.StyledText;
+import com.ibm.richtext.styledtext.StyleModifier;
+
+import java.text.CharacterIterator;
+import java.util.Random;
+
+import java.io.*;
+
+public class TestMText extends TestFmwk {
+
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+    public static void main(String[] args) throws Exception {
+
+        new TestMText().run(args);
+    }
+    
+    private static final int TEST_ITERATIONS = 5000;
+    private static final int STYLE_TEST_ITERATIONS = 5000;
+    private static final long RAND_SEED = 598436;
+
+    private static final int NOT_IN_MONKEY_TEST = -5000;
+    private int testIteration = NOT_IN_MONKEY_TEST;
+    private int theCase = NOT_IN_MONKEY_TEST;
+    
+    private static StyleModifier createMinusModifier(final Object attr) {
+        return new StyleModifier() {
+            public AttributeMap modifyStyle(AttributeMap style) {
+                return style.removeAttribute(attr);
+            }
+        };
+    }
+
+    public void test() {
+    
+        simpleTest();
+        styleTest();
+        monkeyTest(true);
+    }
+    
+    public void simpleTest() {
+
+        AttributeMap boldStyle = new AttributeMap(TextAttribute.WEIGHT, TextAttribute.WEIGHT_BOLD);
+        AttributeMap italicStyle = new AttributeMap(TextAttribute.POSTURE, TextAttribute.POSTURE_OBLIQUE);
+
+        MConstText allBold = new StyledText("bbbbb", boldStyle);
+        MConstText allItalic = new StyledText("iii", italicStyle);
+        MConstText plain = new StyledText("pppppp", AttributeMap.EMPTY_ATTRIBUTE_MAP);
+
+        {
+            MText buf = new StyledText();
+            int ts = buf.getTimeStamp();
+            buf.append(allBold);
+            buf.append(allItalic);
+
+            if (ts == buf.getTimeStamp()) {
+                errln("Time stamp not incremented");
+            }
+
+            // should be bbbbbiii now
+
+            if (buf.length() != allBold.length() + allItalic.length()) {
+                errln("Length is wrong.");
+            }
+
+            for (int i=0; i < buf.length(); i++) {
+
+                char rightChar;
+                AttributeMap rightStyle;
+
+                if (i < allBold.length()) {
+                    rightChar = allBold.at(0);
+                    rightStyle = boldStyle;
+                }
+                else {
+                    rightChar = allItalic.at(0);
+                    rightStyle = italicStyle;
+                }
+
+                if (buf.at(i) != rightChar) {
+                    errln("Character is wrong.");
+                }
+                if (!buf.characterStyleAt(i).equals(rightStyle)) {
+                    errln("Style is wrong.");
+                }
+            }
+
+            int pos = 0;
+
+            if (!buf.characterStyleAt(pos).equals(boldStyle)) {
+                errln("First style is wrong.");
+            }
+            if (buf.characterStyleLimit(pos) != allBold.length()) {
+                errln("Run length is wrong.");
+            }
+
+            pos = allBold.length();
+
+            if (!buf.characterStyleAt(pos).equals(italicStyle)) {
+                errln("Second style is wrong.");
+            }
+            if (buf.characterStyleLimit(pos) != buf.length()) {
+                errln("Run length is wrong.");
+            }
+
+            {
+                buf.resetDamagedRange();
+                int oldLength = buf.length();
+                buf.replace(buf.length(), buf.length(), allBold, 0, allBold.length());
+                // bbbbbiiibbbbb
+
+                if (buf.damagedRangeStart() != oldLength) {
+                    errln("Damaged range start is incorrect");
+                }
+                if (buf.damagedRangeLimit() != buf.length()) {
+                    errln("Damaged range limit is incorrect");
+                }
+            }
+
+            int start = allBold.length();
+            int limit = start + allItalic.length();
+            buf.remove(start, limit);
+            // bbbbbbbbbb
+
+            if (buf.length() != 2 * allBold.length()) {
+                errln("Text should be twice the length of bold text.");
+            }
+
+            pos = buf.length() / 2;
+            if (buf.characterStyleStart(pos) != 0 ||
+                            buf.characterStyleLimit(pos) != buf.length()) {
+                errln("Run range is wrong.");
+            }
+            if (!buf.characterStyleAt(pos).equals(boldStyle)) {
+                errln("Run style is wrong.");
+            }
+
+            ts = buf.getTimeStamp();
+            CharacterIterator cIter = buf.createCharacterIterator();
+            for (char ch = cIter.first(); ch != CharacterIterator.DONE; ch = cIter.next()) {
+                if (ch != allBold.at(0)) {
+                    errln("Character is wrong.");
+                }
+            }
+
+            if (ts != buf.getTimeStamp()) {
+                errln("Time stamp should not have changed");
+            }
+
+            buf.replace(0, 1, plain, 0, plain.length());
+
+            if (ts == buf.getTimeStamp()) {
+                errln("Time stamp not incremented");
+            }
+
+            // ppppppbbbbbbbbb
+            buf.replace(plain.length(), buf.length(), allItalic, 0, allItalic.length());
+            // ppppppiii
+
+            if (buf.length() != allItalic.length()+plain.length()) {
+                errln("Length is wrong.");
+            }
+
+            pos = 0;
+            if (buf.characterStyleLimit(pos) != plain.length()) {
+                errln("Run limit is wrong.");
+            }
+
+            pos = plain.length();
+            if (buf.characterStyleLimit(pos) != buf.length()) {
+                errln("Run limit is wrong.");
+            }
+
+            buf.replace(plain.length(), plain.length(), allBold, 0, allBold.length());
+            // ppppppbbbbbiii
+
+            AttributeMap st = buf.characterStyleAt(1);
+            if (!st.equals(AttributeMap.EMPTY_ATTRIBUTE_MAP)) {
+                errln("Style is wrong.");
+            }
+            if (buf.characterStyleStart(1) != 0 || buf.characterStyleLimit(1) != plain.length()) {
+                errln("Style start is wrong.");
+            }
+
+            st = buf.characterStyleAt(buf.length() - 1);
+            if (!st.equals(italicStyle)) {
+                errln("Style is wrong.");
+            }
+            if (buf.characterStyleStart(buf.length() - 1) != plain.length()+allBold.length()) {
+                errln("Style start is wrong.");
+            }
+
+            if (buf.characterStyleLimit(buf.length() - 1) != buf.length()) {
+                errln("Style limit is wrong.");
+            }
+        }
+    }
+
+    private static int randInt(Random rand, int limit) {
+
+        return randInt(rand, 0, limit);
+    }
+
+    private static int randInt(Random rand, int start, int limit) {
+
+        if (start > limit) {
+            throw new IllegalArgumentException("Range length is negative.");
+        }
+        else if (start == limit) {
+            return start;
+        }
+
+        return start + (Math.abs(rand.nextInt())%(limit-start)) ;
+    }
+
+    public void styleTest() {
+
+        MText text = new StyledText("0123456789", AttributeMap.EMPTY_ATTRIBUTE_MAP);
+
+        AttributeMap[] styles = new AttributeMap[text.length()];
+        for (int i=0; i < styles.length; i++) {
+            styles[i] = AttributeMap.EMPTY_ATTRIBUTE_MAP;
+        }
+        AttributeMap[] oldStyles = new AttributeMap[styles.length];
+        System.arraycopy(styles, 0, oldStyles, 0, styles.length);
+
+        AttributeMap bigStyle = new AttributeMap(TextAttribute.UNDERLINE, TextAttribute.UNDERLINE_ON).
+                                                    addAttribute(TextAttribute.SIZE, new Float(23.0f));
+
+        StyleModifier[] modifiers = {
+            StyleModifier.createReplaceModifier(new AttributeMap(TextAttribute.WEIGHT, TextAttribute.WEIGHT_BOLD)),
+            StyleModifier.createAddModifier(new AttributeMap(TextAttribute.WEIGHT, new Float(1.0f))),
+            createMinusModifier(TextAttribute.WEIGHT),
+
+            StyleModifier.createAddModifier(new AttributeMap(TextAttribute.POSTURE, new Float(0.0f))),
+            StyleModifier.createReplaceModifier(new AttributeMap(TextAttribute.POSTURE, TextAttribute.POSTURE_OBLIQUE)),
+            createMinusModifier(TextAttribute.POSTURE),
+
+            StyleModifier.createAddModifier(bigStyle),
+            StyleModifier.createReplaceModifier(bigStyle),
+            createMinusModifier(bigStyle.getKeySet())
+        };
+
+        Random rand = new Random(RAND_SEED);
+        final int stopAt = 4;
+
+        for (int testIteration=0; testIteration < STYLE_TEST_ITERATIONS + 1; testIteration++) {
+
+            System.arraycopy(styles, 0, oldStyles, 0, styles.length);
+
+            int startingAt = Integer.MAX_VALUE;
+            int endingAt = Integer.MIN_VALUE;
+            int oldTs = text.getTimeStamp();
+
+            // hack way to do an invariant check before starting...
+            if (testIteration != 0) {
+                // modify styles
+                text.resetDamagedRange();
+                startingAt = randInt(rand, styles.length+1);
+                endingAt = randInt(rand, startingAt, styles.length+1);
+                StyleModifier modifier = modifiers[randInt(rand, modifiers.length)];
+
+                if (testIteration == stopAt) {
+                    testIteration = stopAt;
+                }
+                text.modifyCharacterStyles(startingAt, endingAt, modifier);
+
+                for (int j=startingAt; j < endingAt; j++) {
+                    styles[j] = modifier.modifyStyle(styles[j]);
+                }
+            }
+
+            // check invariants
+            AttributeMap oldStyle = null;
+            int textLength = text.length();
+            for (int runStart = 0; runStart < textLength;) {
+
+                AttributeMap currentStyle = text.characterStyleAt(runStart);
+                int runLimit = text.characterStyleLimit(runStart);
+                if (runStart >= runLimit) {
+                    errln("Run length is not positive");
+                }
+                if (currentStyle.equals(oldStyle)) {
+                    errln("Styles didn't merge");
+                }
+
+                for (int pos=runStart; pos < runLimit; pos++) {
+                    AttributeMap charStyleAtPos = text.characterStyleAt(pos);
+                    if (currentStyle != charStyleAtPos) {
+                        errln("Iterator style is not equal to text style at " + pos + ".");
+                    }
+                    AttributeMap expected = styles[pos];
+                    if (!currentStyle.equals(expected)) {
+                        errln("Iterator style doesn't match expected style at " + pos + ".");
+                    }
+                    if (!(text.characterStyleStart(pos) == runStart) ||
+                            !(text.characterStyleLimit(pos) == runLimit)) {
+                        errln("style run start / limit is not consistent");
+                    }
+                }
+                runStart = runLimit;
+            }
+            if (textLength > 0) {
+                if (text.characterStyleAt(textLength) !=
+                            text.characterStyleAt(textLength-1)) {
+                    errln("Character styles at end aren't the same");
+                }
+            }
+
+            // check damaged range:
+            int damageStart = Integer.MAX_VALUE;
+            int damageLimit = Integer.MIN_VALUE;
+            for (int i=0; i < textLength; i++) {
+                if (!styles[i].equals(oldStyles[i])) {
+                    damageStart = Math.min(i, damageStart);
+                    damageLimit = Math.max(i+1, damageLimit);
+                }
+            }
+            if (damageStart != text.damagedRangeStart() ||
+                            damageLimit != text.damagedRangeLimit()) {
+                logln("Test iteration: " + testIteration);
+                logln("startingAt: " + startingAt + ";  endingAt: " + endingAt);
+                logln("damageStart: " + damageStart + ";  damageLimit: " + damageLimit);
+                logln("text.rangeStart: " + text.damagedRangeStart() +
+                                   "text.rangeLimit: " + text.damagedRangeLimit());
+                errln("Damage range start or limit is not expected value");
+            }
+
+            if ((damageLimit == Integer.MIN_VALUE) != (oldTs == text.getTimeStamp())) {
+
+                errln("timeStamp is incorrect");
+            }
+        }
+    }
+
+    public void msg(String message, int level, boolean incCount, boolean newln) {
+        if (level == ERR && testIteration != NOT_IN_MONKEY_TEST) {
+            message = "testIteration="+testIteration+"; testCase="+theCase+message;
+        }
+        super.msg(message, level, incCount, newln);
+    }
+    
+    /**
+    * Perform a random series of operations on an MText and
+    * check the result of each operation against a set of invariants.
+    */
+    public void monkeyTest(boolean streaming) {
+
+        /*
+            You can add any operation to the switch statement provided it
+            preserves the following invariants:
+            - The String plainText contains the same text as the StyledStringBuffer.
+              Obviously, for the test to be meaningful plainText must be computed
+              independently of the buffer (ie don't write:  plainText = buf.getStyledString().toString()).
+            - Every 'b' is bold, every 'i' is italic, every 'p' is plain, and
+              no other characters appear in the text.
+        */
+
+        AttributeMap boldAttrs = new AttributeMap(TextAttribute.WEIGHT, TextAttribute.WEIGHT_BOLD);
+        AttributeMap italicAttrs = new AttributeMap(TextAttribute.POSTURE, TextAttribute.POSTURE_OBLIQUE);
+        AttributeMap emptyAttrs = AttributeMap.EMPTY_ATTRIBUTE_MAP;
+
+        final String bold1Str_getString = "b";
+        MConstText bold1Str = new StyledText(bold1Str_getString, boldAttrs);
+
+        final String italic1Str_getString = "i";
+        MConstText italic1Str = new StyledText(italic1Str_getString, italicAttrs);
+
+        final String plain1Str_getString = "p";
+        MConstText plain1Str = new StyledText(plain1Str_getString, emptyAttrs);
+
+        StyledText temp = new StyledText();
+        temp.append(bold1Str);
+        temp.append(italic1Str);
+        final String boldItalicStr_getString = bold1Str_getString.concat(italic1Str_getString);
+        MConstText boldItalicStr = temp;
+
+        temp = new StyledText();
+        temp.append(bold1Str);
+        temp.append(bold1Str);
+        temp.append(bold1Str);
+        final String bold3Str_getString = "bbb";
+        MConstText bold3Str = temp;
+
+        MText buf = new StyledText();
+        String plainText = new String();
+        //int testIteration=0; - now instance variables so errln can report it
+        //int theCase=0;
+
+        final int NUM_CASES = 14;
+        boolean[] casesExecuted = new boolean[NUM_CASES];
+        final int stopAt = -1;
+        Random rand = new Random(RAND_SEED);
+
+        final String ALWAYS_DIFFERENT = "\uFEFF";
+
+            for (testIteration=0; testIteration < TEST_ITERATIONS; testIteration++) {
+
+                theCase = randInt(rand, NUM_CASES);
+
+                casesExecuted[theCase] = true;
+
+                if (testIteration == stopAt) {
+                    testIteration = stopAt;  // Convenient place to put breakpoint
+                }
+
+                int timeStamp = buf.getTimeStamp();
+                String oldPlainText = plainText;
+                if (oldPlainText == null) {
+                    errln("oldPlainText is null!");
+                }
+
+                switch (theCase) {
+
+                    case 0:
+                        // create new string; replace chars at start with different style
+                        buf = new StyledText();
+                        buf.append(bold3Str);
+                        buf.replace(0, 1, italic1Str, 0, italic1Str.length());
+                        buf.replace(0, 0, italic1Str, 0, italic1Str.length());
+
+                        plainText = bold3Str_getString.substring(1, bold3Str.length());
+                        plainText = italic1Str_getString.concat(plainText);
+                        plainText = italic1Str_getString.concat(plainText);
+                        oldPlainText = null;
+                        break;
+
+                    case 1:
+                        // delete the last character from the string
+                        if (buf.length() == 0) {
+                            buf.replace(0, 0, italic1Str, 0, italic1Str.length());
+                            plainText = italic1Str_getString;
+                            oldPlainText = ALWAYS_DIFFERENT;
+                        }
+                        buf.remove(buf.length()-1, buf.length());
+                        plainText = plainText.substring(0, plainText.length()-1);
+                        break;
+
+                    case 2:
+                        // replace some of the buffer with boldItalicStr
+                        int rStart = randInt(rand, buf.length()+1);
+                        int rStop = randInt(rand, rStart, buf.length()+1);
+                        buf.replace(rStart, rStop, boldItalicStr);
+                        {
+                            String newString = (rStart>0)? plainText.substring(0, rStart) : new String();
+                            newString = newString.concat(boldItalicStr_getString);
+                            if (rStop < plainText.length())
+                                newString = newString.concat(plainText.substring(rStop, plainText.length()));
+                            oldPlainText = ALWAYS_DIFFERENT;
+                            plainText = newString;
+                        }
+                        break;
+
+                    case 3:
+                        // repeatedly insert strings into the center of the buffer
+                        {
+                            int insPos = buf.length() / 2;
+                            String prefix = plainText.substring(0, insPos);
+                            String suffix = plainText.substring(insPos, plainText.length());
+                            String middle = new String();
+                            for (int ii=0; ii<4; ii++) {
+                                MConstText which = (ii%2==0)? boldItalicStr : bold3Str;
+                                String whichString = (ii%2==0)? boldItalicStr_getString : bold3Str_getString;
+                                int tempPos = insPos+middle.length();
+                                buf.insert(tempPos, which);
+                                middle = middle.concat(whichString);
+                            }
+                            plainText = prefix.concat(middle).concat(suffix);
+                            oldPlainText = ALWAYS_DIFFERENT;
+                        }
+                        break;
+
+                    case 4:
+                    // insert bold1Str at end
+                        buf.append(bold1Str);
+                        plainText = plainText.concat(bold1Str_getString);
+                        break;
+
+                    case 5:
+                    // delete a character from the string
+                        if (buf.length() > 0) {
+                            int delPos = randInt(rand, buf.length()-1);
+                            buf.remove(delPos, delPos+1);
+                            plainText = plainText.substring(0, delPos).concat(plainText.substring(delPos+1));
+                        }
+                        else {
+                            buf.replace(0, 0, plain1Str, 0, plain1Str.length());
+                            plainText = plain1Str_getString;
+                        }
+                        break;
+
+                    case 6:
+                    // replace the contents of the buffer (except the first character) with itself
+                        {
+                            int start = buf.length() > 1? 1 : 0;
+                            buf.replace(start, buf.length(), buf);
+                            plainText = plainText.substring(0, start).concat(plainText);
+                            if (buf.length() > 0) {
+                                oldPlainText = ALWAYS_DIFFERENT;
+                            }
+                        }
+                        break;
+
+                    case 7:
+                    // append the contents of the buffer to itself
+                        {
+                            MConstText content = buf;
+                            buf.insert(buf.length(), content);
+                            plainText = plainText.concat(plainText);
+                        }
+                        break;
+
+                    case 8:
+                    // replace the buffer with boldItalicStr+bold3Str
+                        {
+                            MText replacement = new StyledText();
+                            replacement.append(boldItalicStr);
+                            replacement.append(bold3Str);
+                            buf.replace(0, buf.length(), replacement, 0, replacement.length());
+                            plainText = boldItalicStr_getString.concat(bold3Str_getString);
+                            oldPlainText = ALWAYS_DIFFERENT;
+                        }
+                        break;
+
+                    case 9:
+                    // insert bold1Str at end - same as 4 but uses different API
+                        buf.replace(buf.length(),
+                                    buf.length(),
+                                    bold1Str_getString.toCharArray(),
+                                    0,
+                                    bold1Str_getString.length(),
+                                    boldAttrs);
+                        plainText = plainText.concat(bold1Str_getString);
+                        break;
+
+                    case 10:
+                    // remove all
+                        buf.remove();
+                        plainText = "";
+                        oldPlainText = ALWAYS_DIFFERENT;
+                        break;
+
+                    case 11:
+                    // remove all - different way
+                        buf.remove(0, buf.length());
+                        plainText = "";
+                        break;
+
+                    case 12:
+                        // insert 'i' at 3rd character (or last, if fewer than 3 chars)
+                        {
+                            int insPos = Math.min(buf.length(), 3);
+                            buf.replace(insPos, insPos, 'i', italicAttrs);
+                            plainText = (plainText.substring(0, insPos)).
+                                        concat(italic1Str_getString).
+                                        concat(plainText.substring(insPos));
+                        }
+                        break;
+
+                    case 13:
+                        if (streaming) {
+                            Throwable error = null;
+                            try {
+                                ByteArrayOutputStream bytesOut = new ByteArrayOutputStream();
+                                ObjectOutputStream objOut = new ObjectOutputStream(bytesOut);
+                                objOut.writeObject(buf);
+
+                                ByteArrayInputStream bytesIn =
+                                                new ByteArrayInputStream(bytesOut.toByteArray());
+                                ObjectInputStream objIn = new ObjectInputStream(bytesIn);
+                                buf = (MText) objIn.readObject();
+                                oldPlainText = null;
+                            }
+                            catch(IOException e) {
+                                error = e;
+                            }
+                            catch(ClassNotFoundException e) {
+                                error = e;
+                            }
+                            if (error != null) {
+                                error.printStackTrace();
+                                errln("Streaming problem: " + error);
+                            }
+                        }
+                        break;
+
+                    default:
+                        errln("Invalid case.");
+                }
+
+                // Check time stamp if oldPlainText != null.
+                // Time stamp should be different iff
+                // oldPlainText == plainText
+                if (oldPlainText != null) {
+                    if ((timeStamp==buf.getTimeStamp()) !=
+                                    oldPlainText.equals(plainText)) {
+                        logln("plainText hashCode: " + plainText.hashCode());
+                        logln("oldPlainText hashCode: " + oldPlainText.hashCode());
+                        errln("Time stamp is incorrect");
+                    }
+                }
+
+                // now check invariants:
+                if (plainText.length() != buf.length()) {
+                    errln("Lengths don't match");
+                }
+
+                for (int j=0; j < buf.length(); j++) {
+                    if (buf.at(j) != plainText.charAt(j)) {
+                        errln("Characters don't match.");
+                    }
+                }
+
+                int start;
+                for (start = 0; start < buf.length();) {
+
+                    if (start != buf.characterStyleStart(start)) {
+                        errln("style start is wrong");
+                    }
+                    int limit = buf.characterStyleLimit(start);
+                    if (start >= limit) {
+                        errln("start >= limit");
+                    }
+                    char current = plainText.charAt(start);
+
+                    AttributeMap comp = null;
+                    if (current == 'p') {
+                        comp = emptyAttrs;
+                    }
+                    else if (current == 'b') {
+                        comp = boldAttrs;
+                    }
+                    else if (current == 'i') {
+                        comp = italicAttrs;
+                    }
+                    else {
+                        errln("An invalid character snuck in!");
+                    }
+
+                    AttributeMap startStyle = buf.characterStyleAt(start);
+                    if (!comp.equals(startStyle)) {
+                        errln("Style is not expected style.");
+                    }
+
+                    for (int j = start; j < limit; j++) {
+                        if (plainText.charAt(j) != current) {
+                            errln("Character doesn't match style.");
+                        }
+                        if (buf.characterStyleAt(j) != startStyle) {
+                            errln("Incorrect style in run");
+                        }
+                    }
+
+                    if (limit < buf.length()) {
+                        if (plainText.charAt(limit) == current) {
+                            errln("Style run ends too soon.");
+                        }
+                    }
+                    start = limit;
+                }
+                if (start != buf.length()) {
+                    errln("Last limit is not buffer length.");
+                }
+
+                // won't try to compute and check damaged range;  however,
+                // if nonempty it should always be within text
+                int damageStart = buf.damagedRangeStart();
+                int damageLimit = buf.damagedRangeLimit();
+                if (damageStart == Integer.MAX_VALUE) {
+                    if (damageLimit != Integer.MIN_VALUE) {
+                        errln("Invalid empty interval");
+                    }
+                }
+                else {
+                    if (damageStart > damageLimit) {
+                        errln("Damage range inverted");
+                    }
+                    if (damageStart < 0 || damageLimit > buf.length()) {
+                        errln("Damage range endpoint out of bounds");
+                    }
+                }
+            }
+
+        testIteration = NOT_IN_MONKEY_TEST;
+        
+        boolean allCasesExecuted = true;
+        for (int index=0; index < NUM_CASES; index++) {
+            allCasesExecuted &= casesExecuted[index];
+            if (casesExecuted[index] == false) {
+                logln("Case " + index + " not executed.");
+            }
+        }
+        //if (allCasesExecuted) {
+        //    logln("All cases executed.");
+        //}
+    }
+}
diff --git a/src/com/ibm/richtext/test/unit/TestMTextStreaming.java b/src/com/ibm/richtext/test/unit/TestMTextStreaming.java
new file mode 100755
index 0000000..1057739
--- /dev/null
+++ b/src/com/ibm/richtext/test/unit/TestMTextStreaming.java
@@ -0,0 +1,160 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+package com.ibm.richtext.test.unit;
+
+import com.ibm.icu.dev.test.TestFmwk;
+
+import java.io.*;
+import java.awt.Color;
+
+import com.ibm.richtext.styledtext.MText;
+import com.ibm.richtext.styledtext.StandardTabRuler;
+import com.ibm.richtext.styledtext.StyledText;
+import com.ibm.richtext.styledtext.StyleModifier;
+
+import com.ibm.richtext.textlayout.attributes.AttributeMap;
+import com.ibm.richtext.textlayout.attributes.TextAttribute;
+
+public class TestMTextStreaming extends TestFmwk {
+
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+                
+    public static void main(String[] args) throws Exception {
+
+        new TestMTextStreaming().run(args);
+    }
+
+    public TestMTextStreaming() {
+    }
+
+    public void test() {
+
+        simpleTest();
+        allAttributesTest();
+    }
+
+    private void simpleTest() {
+
+        AttributeMap style = AttributeMap.EMPTY_ATTRIBUTE_MAP;
+        MText text = new StyledText("Hello world!", style);
+
+        streamAndCompare(text);
+    }
+
+    private static class TestModifier extends StyleModifier {
+
+        private Object fKey;
+        private Object fValue;
+
+        public AttributeMap modifyStyle(AttributeMap style) {
+
+            return style.addAttribute(fKey, fValue);
+        }
+
+        TestModifier(Object key, Object value) {
+
+            fKey = key;
+            fValue = value;
+        }
+    }
+
+    private void allAttributesTest() {
+
+        AttributeMap style = AttributeMap.EMPTY_ATTRIBUTE_MAP;
+        MText text = new StyledText("Hello world!", style);
+
+        int length = text.length();
+
+        final boolean CHARACTER = true;
+        final boolean PARAGRAPH = false;
+
+        addStyle(text, 0, length/2, TextAttribute.FAMILY, "Times", CHARACTER);
+        addStyle(text, length/2, length, TextAttribute.WEIGHT, TextAttribute.WEIGHT_BOLD, CHARACTER);
+        addStyle(text, 0, length/2, TextAttribute.POSTURE, TextAttribute.POSTURE_OBLIQUE, CHARACTER);
+        addStyle(text, 0, length/2, TextAttribute.SIZE, new Float(13.7f), CHARACTER);
+        addStyle(text, length/2, length, TextAttribute.SUPERSCRIPT, TextAttribute.SUPERSCRIPT_SUB, CHARACTER);
+        addStyle(text, 0, length/2, TextAttribute.FOREGROUND, Color.blue, CHARACTER);
+        addStyle(text, 0, length/2, TextAttribute.BACKGROUND, Color.red, CHARACTER);
+        addStyle(text, 0, length-1, TextAttribute.STRIKETHROUGH, Boolean.TRUE, CHARACTER);
+
+        addStyle(text, 0, length, TextAttribute.EXTRA_LINE_SPACING, new Float(4), PARAGRAPH);
+        addStyle(text, 0, length, TextAttribute.FIRST_LINE_INDENT, new Float(6), PARAGRAPH);
+        addStyle(text, 0, length, TextAttribute.MIN_LINE_SPACING, new Float(7), PARAGRAPH);
+        addStyle(text, 0, length, TextAttribute.LINE_FLUSH, TextAttribute.FLUSH_TRAILING, PARAGRAPH);
+        addStyle(text, 0, length, TextAttribute.LEADING_MARGIN, new Float(9), PARAGRAPH);
+        addStyle(text, 0, length, TextAttribute.TRAILING_MARGIN, new Float(9), PARAGRAPH);
+        addStyle(text, 0, length, TextAttribute.TAB_RULER, new StandardTabRuler(), PARAGRAPH);
+
+        streamAndCompare(text);
+    }
+
+    private static void addStyle(MText text,
+                                 int start,
+                                 int limit,
+                                 Object key,
+                                 Object value,
+                                 boolean character) {
+
+        StyleModifier modifier = new TestModifier(key, value);
+
+        if (character) {
+            text.modifyCharacterStyles(start, limit, modifier);
+        }
+        else {
+            text.modifyParagraphStyles(start, limit, modifier);
+        }
+    }
+
+    public void streamAndCompare(MText text) {
+
+        Throwable error = null;
+
+        try {
+            ByteArrayOutputStream bytesOut = new ByteArrayOutputStream();
+            ObjectOutputStream objOut = new ObjectOutputStream(bytesOut);
+            objOut.writeObject(text);
+
+            ByteArrayInputStream bytesIn =
+                            new ByteArrayInputStream(bytesOut.toByteArray());
+            ObjectInputStream objIn = new ObjectInputStream(bytesIn);
+            MText streamedText = (MText) objIn.readObject();
+            if (!isEqual(text, streamedText)) {
+                isEqual(text, streamedText);
+                errln("Streamed text is not equal");
+            }
+        }
+/*        catch(OptionalDataException e) {
+            error = e;
+        }
+        catch(StreamCorruptedException e) {
+            error = e;
+        }*/
+        catch(IOException e) {
+            error = e;
+        }
+        catch(ClassNotFoundException e) {
+            error = e;
+        }
+
+        if (error != null) {
+            error.printStackTrace();
+            errln("Serialization failed.");
+        }
+    }
+
+    public static boolean isEqual(MText lhs, MText rhs) {
+
+        return lhs.equals(rhs);
+    }
+}
\ No newline at end of file
diff --git a/src/com/ibm/richtext/test/unit/TestParagraphStyles.java b/src/com/ibm/richtext/test/unit/TestParagraphStyles.java
new file mode 100755
index 0000000..fa524d9
--- /dev/null
+++ b/src/com/ibm/richtext/test/unit/TestParagraphStyles.java
@@ -0,0 +1,337 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+package com.ibm.richtext.test.unit;
+
+import com.ibm.icu.dev.test.TestFmwk;
+
+import com.ibm.richtext.styledtext.StyledText;
+import com.ibm.richtext.styledtext.MConstText;
+import com.ibm.richtext.styledtext.MText;
+import com.ibm.richtext.textlayout.attributes.AttributeMap;
+import com.ibm.richtext.styledtext.StyleModifier;
+import java.util.Random;
+
+public final class TestParagraphStyles extends TestFmwk {
+
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+                
+    public static void main(String[] args) throws Exception {
+
+        new TestParagraphStyles().run(args);
+    }
+
+    private static final int RAND_SEED = 1234;
+    private static final int NUM_TESTS = 2500;
+
+    private static final boolean isParagraphBreak(char c) {
+
+        return c =='\u2029' || c == '\n';
+    }
+
+    private static final Object KEY = "KEY";
+    private static final AttributeMap PLAIN = AttributeMap.EMPTY_ATTRIBUTE_MAP;
+    private static final AttributeMap A_STYLE = new AttributeMap(KEY, new Character('a'));
+    private static final StyleModifier A_MOD =
+                            StyleModifier.createReplaceModifier(A_STYLE);
+    private static final AttributeMap B_STYLE = new AttributeMap(KEY, new Character('b'));
+    private static final StyleModifier B_MOD =
+                            StyleModifier.createReplaceModifier(B_STYLE);
+    private static final AttributeMap C_STYLE = new AttributeMap(KEY, new Character('c'));
+    private static final StyleModifier C_MOD =
+                            StyleModifier.createReplaceModifier(C_STYLE);
+    private static final AttributeMap D_STYLE = new AttributeMap(KEY, new Character('d'));
+    private static final StyleModifier D_MOD =
+                            StyleModifier.createReplaceModifier(D_STYLE);
+    private static final AttributeMap E_STYLE = new AttributeMap(KEY, new Character('e'));
+    private static final StyleModifier E_MOD =
+                            StyleModifier.createReplaceModifier(E_STYLE);
+
+    public void test() {
+
+        easyTests();
+        randomTest();
+    }
+
+    private void easyTests() {
+
+        MText text = new StyledText("a\nb\nc\nd\n", PLAIN);
+        text.modifyParagraphStyles(0, text.length(), A_MOD);
+        verifyParagraphCount(text);
+
+        MText src = new StyledText("XXX\nYYY", PLAIN);
+        src.modifyParagraphStyles(0, src.length(), B_MOD);
+        verifyParagraphCount(src);
+
+        MText temp = text.extractWritable(0, text.length());
+        temp.append(src);
+        verifyParagraphCount(temp);
+        for (int i=0; i < text.length(); i++) {
+            if (!temp.paragraphStyleAt(i).equals(text.paragraphStyleAt(i))) {
+                errln("Paragraph styles are wrong");
+            }
+        }
+        for (int i=0; i < src.length(); i++) {
+            if (!temp.paragraphStyleAt(i+text.length()).equals(src.paragraphStyleAt(i))) {
+                errln("Paragraph styles are wrong");
+            }
+        }
+
+        temp = text.extractWritable(0, text.length());
+        temp.replace(0, 1, src, 0, src.length());
+        verifyParagraphCount(temp);
+        if (temp.paragraphLimit(0) != 4) {
+            errln("Paragraph limit is wrong");
+        }
+        if (!temp.paragraphStyleAt(0).equals(B_STYLE)) {
+            errln("First style is wrong");
+        }
+        if (!temp.paragraphStyleAt(4).equals(A_STYLE)) {
+            errln("Style after insert is wrong");
+        }
+
+        // test append
+        MConstText newSrc = src.extract(4, 7);
+        MText initC = new StyledText("cccccc", PLAIN);
+        initC.modifyParagraphStyles(0, initC.length(), C_MOD);
+        initC.append(newSrc);
+        // now initC should be one paragraph with style B
+        if (initC.paragraphLimit(0) != initC.length()) {
+            errln("Should only be one paragraph");
+        }
+        if (initC.paragraphStyleAt(0) != initC.paragraphStyleAt(initC.length())) {
+            errln("Two different paragraph styles");
+        }
+        if (!initC.paragraphStyleAt(initC.length()/2).equals(B_STYLE)) {
+            errln("Incorrect paragraph style");
+        }
+        
+        text = new StyledText("aaa\n", PLAIN);
+        text.modifyParagraphStyles(0, text.length(), A_MOD);
+        text.modifyParagraphStyles(text.length(), text.length(), B_MOD);
+        if (text.paragraphStyleAt(text.length()) != B_STYLE) {
+            errln("0-length paragraph at end has incorrect style");
+        }
+    }
+
+    private static int randInt(Random rand, int limit) {
+
+        return randInt(rand, 0, limit);
+    }
+
+    private static int randInt(Random rand, int start, int limit) {
+
+        if (start > limit) {
+            throw new IllegalArgumentException("Range is 0-length.");
+        }
+        else if (start == limit) {
+            return start;
+        }
+
+        return start + (Math.abs(rand.nextInt())%(limit-start)) ;
+    }
+
+    private void randomTest() {
+
+        MText noParagraph = new StyledText("zzzz", PLAIN);
+        noParagraph.modifyParagraphStyles(0, noParagraph.length(), A_MOD);
+        MText twoParagraphs = new StyledText("aaa\nbbb", PLAIN);
+        twoParagraphs.modifyParagraphStyles(0, twoParagraphs.paragraphLimit(0), B_MOD);
+        MText threeParagraphs = new StyledText("cc\ndd\nee", PLAIN);
+        threeParagraphs.modifyParagraphStyles(0, 3, C_MOD);
+        threeParagraphs.modifyParagraphStyles(3, 6, D_MOD);
+        threeParagraphs.modifyParagraphStyles(6, 8, E_MOD);
+        MText trailingP1 = new StyledText("hhhh\n", PLAIN);
+        trailingP1.modifyParagraphStyles(0, trailingP1.paragraphLimit(0), C_MOD);
+        MText trailingP2 = new StyledText("iii\n", PLAIN);
+        trailingP2.modifyParagraphStyles(0, 0, D_MOD);
+        trailingP2.modifyParagraphStyles(trailingP2.length(), trailingP2.length(), B_MOD);
+
+        if (!trailingP2.paragraphStyleAt(trailingP2.length()-1).equals(D_STYLE)) {
+            errln("Style incorrect in trailingP2");
+        }
+        if (!trailingP2.paragraphStyleAt(trailingP2.length()).equals(B_STYLE)) {
+            errln("Ending style incorrect in trailingP2");
+        }
+
+        MConstText[] tests = { noParagraph, twoParagraphs,
+                                    threeParagraphs, trailingP1, trailingP2 };
+
+        Random random = new Random(RAND_SEED);
+
+        int stopAt = 465;
+        int i = 0;
+        try {
+            for (i=0; i < NUM_TESTS; i++) {
+
+                int srcIndex = randInt(random, tests.length);
+                int targetIndex = randInt(random, tests.length);
+                MText target = new StyledText(tests[targetIndex]);
+                MConstText src = tests[srcIndex];
+
+                int srcStart = randInt(random, src.length());
+                int srcLimit = randInt(random, srcStart, src.length());
+                int start = randInt(random, target.length());
+                int limit = randInt(random, start, target.length());
+
+                if (i == stopAt) {
+                    stopAt = i;
+                }
+
+                insertAndCheck(src, srcStart, srcLimit, target, start, limit);
+            }
+        }
+        finally {
+            if (i < NUM_TESTS) {
+                logln("iteration=" + i);
+            }
+        }
+    }
+
+    private void insertAndCheck(MConstText src, int srcStart, int srcLimit,
+                                MText target, int start, int limit) {
+
+        // p-style after insertion
+        AttributeMap after;
+        if (limit == target.length() && srcLimit > srcStart) {
+            after = src.paragraphStyleAt(srcLimit);
+        }
+        else {
+            after = target.paragraphStyleAt(limit);
+        }
+
+        AttributeMap before;
+        boolean srcHasPBreak = false;
+        for (int i=srcStart; i < srcLimit; i++) {
+            if (isParagraphBreak(src.at(i))) {
+                srcHasPBreak = true;
+                break;
+            }
+        }
+
+        if (start > 0 && isParagraphBreak(target.at(start-1))) {
+            before = target.paragraphStyleAt(start-1);
+        }
+        else {
+            before = srcHasPBreak? src.paragraphStyleAt(srcStart) : after;
+        }
+        boolean stylePropogated = !before.equals(target.paragraphStyleAt(Math.max(0, start-1)));
+
+
+        target.resetDamagedRange();
+        target.replace(start, limit, src, srcStart, srcLimit);
+        final int damageLimit = (start==limit && srcStart==srcLimit)?
+                        Integer.MIN_VALUE : start + (srcLimit-srcStart);
+
+        if (target.damagedRangeLimit() != damageLimit) {
+            logln("limit: " + damageLimit + ";  target.limit: " +
+                                target.damagedRangeLimit());
+            errln("Damaged range limit is incorrect");
+        }
+
+        final int damageStart = (damageLimit==Integer.MIN_VALUE)? Integer.MAX_VALUE :
+                (stylePropogated? target.paragraphStart(Math.max(0, start-1)) : start);
+        if (target.damagedRangeStart() > damageStart) {
+            logln("start: " + damageStart + ";  target.start: " +
+                                target.damagedRangeStart());
+            errln("Damaged range start is incorrect");
+        }
+
+        verifyParagraphCount(target);
+
+        // check endpoints
+        if (!before.equals(target.paragraphStyleAt(Math.max(start-1, 0)))) {
+            errln("Incorrect paragraph style before modified range");
+        }
+
+        int lengthDelta = (srcLimit-srcStart) - (limit-start);
+        int indexAfterInsert = Math.min(target.length(), limit + lengthDelta);
+        if (!after.equals(target.paragraphStyleAt(indexAfterInsert))) {
+            errln("Incorrect paragraph style after modified range");
+        }
+
+        if (srcHasPBreak) {
+            int startP = target.paragraphLimit(start);
+            int limitOfTest = target.paragraphStart(indexAfterInsert);
+
+            int offset = start - srcStart;
+
+            while (startP < limitOfTest) {
+                int limitP = target.paragraphLimit(startP);
+                if (src.paragraphLimit(startP-offset) + offset != limitP) {
+                    errln("paragraph limits are not consistent");
+                }
+                if (!src.paragraphStyleAt(startP-offset)
+                                    .equals(target.paragraphStyleAt(startP))) {
+                    errln("paragraph styles are not consistent");
+                }
+                startP = limitP;
+            }
+        }
+        else {
+            for (int i=start; i < start+(srcLimit-srcStart); i++) {
+                if (!after.equals(target.paragraphStyleAt(i))) {
+                    errln("paragraph style changed unexpectedly");
+                }
+            }
+        }
+    }
+
+    private void verifyParagraphCount(MConstText text) {
+
+        int pCount = 0;
+        int textLength = text.length();
+
+        if (textLength == 0) {
+            pCount = 1;
+        }
+        else {
+            for (int s=0; s < textLength; s = text.paragraphLimit(s)) {
+                pCount++;
+            }
+            if (isParagraphBreak(text.at(textLength-1))) {
+                pCount++;
+            }
+        }
+
+        int sepCount = 0;
+        for (int i=0; i < textLength; i++) {
+            if (isParagraphBreak(text.at(i))) {
+                sepCount++;
+            }
+        }
+
+        if (sepCount + 1 != pCount) {
+            logln("sepCount=" + sepCount + ";  pCount=" + pCount);
+            errln("Paragraph count is not consistent with characters");
+        }
+    }
+
+    private void checkEndpoint(MConstText text) {
+
+        boolean emptyFinalParagraph;
+        int length = text.length();
+
+        if (length != 0) {
+            char ch = text.at(length-1);
+            emptyFinalParagraph = isParagraphBreak(ch);
+        }
+        else {
+            emptyFinalParagraph = true;
+        }
+
+        if ((text.paragraphStart(length) == length) != emptyFinalParagraph) {
+            errln("Final paragraph length is incorrect");
+        }
+    }
+}
\ No newline at end of file
diff --git a/src/com/ibm/richtext/textapps/AppCloser.java b/src/com/ibm/richtext/textapps/AppCloser.java
new file mode 100755
index 0000000..3bc9bea
--- /dev/null
+++ b/src/com/ibm/richtext/textapps/AppCloser.java
@@ -0,0 +1,44 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+package com.ibm.richtext.textapps;
+
+import java.awt.event.WindowAdapter;
+import java.awt.event.WindowEvent;
+import java.awt.Frame;
+import java.awt.Window;
+
+class AppCloser {
+
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+    private int fCount = 0;
+
+    private WindowAdapter fAdapter = new WindowAdapter() {
+
+        public void windowClosing(WindowEvent e) {
+            --fCount;
+            if (fCount == 0) {
+                System.exit(0);
+            }
+            Window w = e.getWindow();
+            w.setVisible(false);
+            w.dispose();
+        }
+    };
+
+    public void listenToFrame(Frame frame) {
+
+        ++fCount;
+        frame.addWindowListener(fAdapter);
+    }
+}
diff --git a/src/com/ibm/richtext/textapps/BidiDemo.java b/src/com/ibm/richtext/textapps/BidiDemo.java
new file mode 100755
index 0000000..eb26ee5
--- /dev/null
+++ b/src/com/ibm/richtext/textapps/BidiDemo.java
@@ -0,0 +1,83 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+package com.ibm.richtext.textapps;
+
+import com.ibm.richtext.styledtext.MConstText;
+import com.ibm.richtext.styledtext.StyledText;
+import com.ibm.richtext.textlayout.attributes.AttributeMap;
+import com.ibm.richtext.awtui.TextFrame;
+
+import java.awt.Toolkit;
+
+import java.io.*;
+import java.net.URL;
+import java.util.ResourceBundle;
+
+public class BidiDemo {
+
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+    private static final AppCloser fgListener = new AppCloser();
+
+    private static final String BUNDLE_NAME = "com.ibm.richtext.textapps.resources.Sample";
+    
+    public static void main(String[] args) {
+
+        String docName;
+        
+        if (args.length == 0) {
+            docName = "default";
+        }
+        else {
+            docName = args[0];
+        }
+        
+        openText(docName);
+    }
+
+    private static void openText(String docName) {
+
+        try {
+            ResourceBundle bundle = ResourceBundle.getBundle(BUNDLE_NAME);
+
+            Object document = bundle.getObject(docName+".sample");
+            MConstText text;
+            
+            if (document instanceof String) {
+                text = new StyledText((String)document, 
+                                      AttributeMap.EMPTY_ATTRIBUTE_MAP);
+            }
+            else {
+                URL url = (URL) document;
+                ObjectInputStream in = new ObjectInputStream(url.openStream());
+                text = (MConstText) in.readObject();
+            }
+            
+            String name = bundle.getString(docName+".name");
+            
+            makeFrame(text, name);
+        }
+        catch(Throwable t) {
+            t.printStackTrace();
+        }
+    }
+
+    private static void makeFrame(MConstText text, String title) {
+
+        TextFrame frame = new TextFrame(text, title, 
+                Toolkit.getDefaultToolkit().getSystemClipboard());
+        frame.setSize(550, 700);
+        frame.show();
+        fgListener.listenToFrame(frame);
+    }
+}
diff --git a/src/com/ibm/richtext/textapps/FileUtils.java b/src/com/ibm/richtext/textapps/FileUtils.java
new file mode 100755
index 0000000..baeaf4b
--- /dev/null
+++ b/src/com/ibm/richtext/textapps/FileUtils.java
@@ -0,0 +1,128 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+package com.ibm.richtext.textapps;
+
+import java.awt.FileDialog;
+import java.awt.Frame;
+import java.io.*;
+
+import com.ibm.richtext.styledtext.MConstText;
+import com.ibm.richtext.styledtext.MText;
+
+public class FileUtils {
+
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+    /**
+     * Present the user with a file dialog, and replace
+     * dest with the MText in the selected file, and return
+     * the file objct.  If any errors occur, return null and
+     * do not modify dest.
+     */
+    public static File userLoadMText(String title, MText dest, Frame owner) {
+
+        FileDialog dialog = new FileDialog(owner, title, FileDialog.LOAD);
+        dialog.show();
+        String fileStr = dialog.getFile();
+        String dirStr = dialog.getDirectory();
+
+        if (fileStr != null) {
+            File rval = new File(dirStr, fileStr);
+            MConstText src = loadMText(rval);
+            if (src != null) {
+                dest.replaceAll(src);
+                return rval;
+            }
+        }
+
+        return null;
+    }
+
+    /**
+     * Return the MText serialized in the given file.
+     * In case of an error return null.
+     */
+    public static MConstText loadMText(File file) {
+
+        Throwable error;
+
+        try {
+            FileInputStream inStream = new FileInputStream(file);
+            ObjectInputStream objStream = new ObjectInputStream(inStream);
+
+            MConstText text = (MConstText) objStream.readObject();
+            inStream.close();
+            return text;
+        }
+        catch(IOException e) {
+            error = e;
+        }
+        catch(ClassNotFoundException e) {
+            error = e;
+        }
+        catch(ClassCastException e) {
+            error = e;
+        }
+
+        error.printStackTrace();
+        return null;
+    }
+
+    /**
+     * Prompt the user for the file if file is null.  Then save the
+     * text in the file, if any.
+     */
+    public static File userSaveMText(File file, String title, MConstText text, Frame owner) {
+
+        if (file == null) {
+
+            FileDialog dialog = new FileDialog(owner, title, FileDialog.SAVE);
+            dialog.show();
+            String fileStr = dialog.getFile();
+            String dirStr = dialog.getDirectory();
+
+            if (fileStr != null) {
+                file = new File(dirStr, fileStr);
+            }
+        }
+
+        if (file != null) {
+
+            saveMText(file, text);
+        }
+
+        return file;
+    }
+
+    public static void saveMText(File file, MConstText text) {
+
+        Throwable error;
+
+        try {
+            OutputStream outStream = new FileOutputStream(file);
+            ObjectOutputStream objStream = new ObjectOutputStream(outStream);
+
+            objStream.writeObject(text);
+            outStream.close();
+            return;
+        }
+        catch(IOException e) {
+            error = e;
+        }
+        catch(ClassCastException e) {
+            error = e;
+        }
+
+        error.printStackTrace();
+    }
+}
\ No newline at end of file
diff --git a/src/com/ibm/richtext/textapps/MTextToString.java b/src/com/ibm/richtext/textapps/MTextToString.java
new file mode 100755
index 0000000..3e09d3d
--- /dev/null
+++ b/src/com/ibm/richtext/textapps/MTextToString.java
@@ -0,0 +1,82 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+package com.ibm.richtext.textapps;
+
+import com.ibm.richtext.styledtext.MConstText;
+
+import java.io.*;
+
+public final class MTextToString {
+
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+    public static void main(String[] args) {
+
+
+        if (args.length != 2) {
+            usage();
+        }
+        else {
+            writeMTextAsString(args[0], args[1]);
+        }
+    }
+
+    private static void usage() {
+
+        System.out.println("Usage: MTextToString inFile outFile");
+        System.out.println("inFile must be a serialized MConstText");
+        System.out.println("On exit, outFile will be a serialized String ");
+        System.out.println("containing the characters in the text.");
+        System.out.println("inFile and outFile must not be the same.");
+        System.exit(1);
+    }
+
+    public static void writeMTextAsString(String inFile, String outFile) {
+
+        File file = new File(inFile);
+        MConstText text = FileUtils.loadMText(file);
+
+        if (text != null) {
+            char[] ch = new char[text.length()];
+            text.extractChars(0, ch.length, ch, 0);
+            String str = new String(ch);
+            writeString(str, outFile);
+        }
+        else {
+            System.out.println("Can't read inFile.");
+        }
+    }
+
+    public static void writeString(String stringToWrite, String outFile) {
+
+        File file = new File(outFile);
+        Throwable error = null;
+
+        try {
+            OutputStream outStream = new FileOutputStream(file);
+            ObjectOutputStream objStream = new ObjectOutputStream(outStream);
+
+            objStream.writeObject(stringToWrite);
+            outStream.close();
+            return;
+        }
+        catch(IOException e) {
+            error = e;
+        }
+        catch(ClassCastException e) {
+            error = e;
+        }
+
+        error.printStackTrace();
+    }
+}
\ No newline at end of file
diff --git a/src/com/ibm/richtext/textapps/StringToMText.java b/src/com/ibm/richtext/textapps/StringToMText.java
new file mode 100755
index 0000000..e6985c1
--- /dev/null
+++ b/src/com/ibm/richtext/textapps/StringToMText.java
@@ -0,0 +1,76 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+package com.ibm.richtext.textapps;
+
+import com.ibm.richtext.styledtext.MConstText;
+import com.ibm.richtext.styledtext.StyledText;
+import com.ibm.richtext.textlayout.attributes.AttributeMap;
+
+import java.io.*;
+
+public final class StringToMText {
+
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+    public static void main(String[] args) {
+
+
+        if (args.length != 2 || args[0].equals(args[1])) {
+            usage();
+        }
+        else {
+            String str = loadString(new File(args[0]));
+            if (str == null) {
+                throw new Error("Couldn't load String from file " + args[0]);
+            }
+            MConstText text = new StyledText(str, AttributeMap.EMPTY_ATTRIBUTE_MAP);
+            FileUtils.saveMText(new File(args[1]), text);
+        }
+    }
+
+    private static void usage() {
+
+        System.out.println("Usage: StringToMText inFile outFile");
+        System.out.println("inFile must be a serialized String");
+        System.out.println("On exit, outFile will be a serialized MText ");
+        System.out.println("containing the characters in the string.");
+        System.out.println("inFile and outFile must not be the same.");
+        System.exit(1);
+    }
+
+    public static String loadString(File file) {
+
+        Throwable error;
+
+        try {
+            FileInputStream inStream = new FileInputStream(file);
+            ObjectInputStream objStream = new ObjectInputStream(inStream);
+
+            String str = (String) objStream.readObject();
+            inStream.close();
+            return str;
+        }
+        catch(IOException e) {
+            error = e;
+        }
+        catch(ClassNotFoundException e) {
+            error = e;
+        }
+        catch(ClassCastException e) {
+            error = e;
+        }
+
+        error.printStackTrace();
+        return null;
+    }
+}
\ No newline at end of file
diff --git a/src/com/ibm/richtext/textapps/TestMTextToString.java b/src/com/ibm/richtext/textapps/TestMTextToString.java
new file mode 100755
index 0000000..daba594
--- /dev/null
+++ b/src/com/ibm/richtext/textapps/TestMTextToString.java
@@ -0,0 +1,75 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+package com.ibm.richtext.textapps;
+
+import com.ibm.richtext.styledtext.MConstText;
+import java.io.File;
+
+public final class TestMTextToString {
+
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+    public static void main(String[] args) {
+
+        if (args.length != 2 || args[0].equals(args[1])) {
+            usage();
+        }
+        else {
+            boolean success = testMTextToString(args[0], args[1]);
+            System.out.println(success? "PASSED" : "FAILED");
+        }
+    }
+
+    private static void usage() {
+
+        System.out.println("Usage: TestMTextToString mtextFile stringFile");
+        System.out.println("Compares the characters in mtextFile to the");
+        System.out.println("String in stringFile.");
+        System.exit(0);
+    }
+
+    public static boolean testMTextToString(String mtextFile, String stringFile) {
+
+        boolean success = false;
+
+        File mtext = new File(mtextFile);
+        MConstText text = FileUtils.loadMText(mtext);
+        if (text != null) {
+            String str = StringToMText.loadString(new File(stringFile));
+            if (str != null) {
+                success = compareMTextToString(text, str);
+            }
+            else {
+                System.out.println("Couldn't load String.");
+            }
+        }
+        else {
+            System.out.println("Couldn't load MText.");
+        }
+
+        return success;
+    }
+
+    public static boolean compareMTextToString(MConstText text, String str) {
+
+        if (text.length() != str.length()) {
+            return false;
+        }
+        for (int i=str.length()-1; i >= 0; i--) {
+            if (text.at(i) != str.charAt(i)) {
+                return false;
+            }
+        }
+        return true;
+    }
+}
\ No newline at end of file
diff --git a/src/com/ibm/richtext/textapps/resources/Sample.java b/src/com/ibm/richtext/textapps/resources/Sample.java
new file mode 100755
index 0000000..6e2fee9
--- /dev/null
+++ b/src/com/ibm/richtext/textapps/resources/Sample.java
@@ -0,0 +1,26 @@
+/**
+ *******************************************************************************
+ * Copyright (C) 2000-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.richtext.textapps.resources;
+
+import java.util.ListResourceBundle;
+
+public final class Sample extends ListResourceBundle {
+    
+    public Object[][] getContents() {
+
+        /*Object sample =*/ this.getClass().getResource("hagan");
+
+        return new Object[][] {
+            { "default.sample", this.getClass().getResource("unicode.hebrew.red") },
+            { "default.name", "What is Unicode - Hebrew" },
+            { "arabic.sample", this.getClass().getResource("unicode.arabic.red") },
+            { "arabic.name", "What is Unicode - Arabic" },
+            { "japanese.sample", "\u6ce8: {1} \u306e\u30e1\u30bd\u30c3\u30c9 {0} \u306f\u63a8\u5968\u3055\u308c\u307e\u305b\u3093\u3002" },
+            { "japanese.name", "Japanese Message" },
+        };
+    }
+}
diff --git a/src/com/ibm/richtext/textapps/resources/unicode.arabic.red b/src/com/ibm/richtext/textapps/resources/unicode.arabic.red
new file mode 100644
index 0000000..f7d0724
--- /dev/null
+++ b/src/com/ibm/richtext/textapps/resources/unicode.arabic.red
Binary files differ
diff --git a/src/com/ibm/richtext/textapps/resources/unicode.hebrew.red b/src/com/ibm/richtext/textapps/resources/unicode.hebrew.red
new file mode 100644
index 0000000..2607f60
--- /dev/null
+++ b/src/com/ibm/richtext/textapps/resources/unicode.hebrew.red
Binary files differ
diff --git a/src/com/ibm/richtext/textformat/AsyncFormatter.java b/src/com/ibm/richtext/textformat/AsyncFormatter.java
new file mode 100755
index 0000000..281b707
--- /dev/null
+++ b/src/com/ibm/richtext/textformat/AsyncFormatter.java
@@ -0,0 +1,2051 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+// Requires Java2
+// Revision: 70 1.38 richtext/AsyncFormatter.java, richtext, richtext
+
+package com.ibm.richtext.textformat;
+
+import java.awt.Graphics;
+import java.awt.Rectangle;
+import java.awt.Point;
+import java.awt.Color;
+
+import java.text.BreakIterator;
+import java.text.CharacterIterator;
+
+import java.util.Hashtable;
+
+import com.ibm.richtext.textlayout.attributes.AttributeMap;
+import com.ibm.richtext.textlayout.attributes.TextAttribute;
+
+import com.ibm.richtext.styledtext.MConstText;
+
+import com.ibm.richtext.textlayout.Graphics2DConversion;
+
+///*JDK12IMPORTS
+import java.awt.Graphics2D;
+import java.awt.font.LineBreakMeasurer;
+import java.awt.font.FontRenderContext;
+//JDK12IMPORTS*/
+
+/*JDK11IMPORTS
+import com.ibm.richtext.textlayout.Graphics2D;
+import com.ibm.richtext.textlayout.LineBreakMeasurer;
+import com.ibm.richtext.textlayout.FontRenderContext;
+JDK11IMPORTS*/
+
+/*
+    Change history:
+
+    7/25/96 -
+
+    8/15/96
+        Fixed bug in textOffsetToPoint (fPixHeight wasn't added to negative heights). {jbr}
+
+    8/19/96
+        Removed references to JustificationStyle constants, and moved them into MFormatter {sfb}
+
+    8/23/96
+        Modified findLineAt and getLineContaining - added optimization in search loop.  Also,
+            they were failing when fLTPosEnd+1 == fLTNegStart.  Fixed.
+
+    8/26/96
+        Moved FormatDaemon stuff into this class.
+
+    9/11/96
+        Shortened line returned from textOffsetToPoint by 1 pixel
+
+    9/23/96
+        textOffsetToPoint line length restored (see above).  drawText() now draws only lines
+        which fall in rectangle param.
+
+    9/26/96
+        whitespace at end of line is used for caret positioning
+
+    10/4/96
+        Added static TextBox method.
+
+    10/8/96
+        Line 1300 - less than changed to less than or equal in textOffsetToPoint.  Watch for
+            hangs in formatText.
+
+    10/9/96
+        Changed sync. model.  fFormatInBackground is used to start/stop bg formatting
+
+    10/17/96
+        Added new flags:  fLineInc, fFillInc for bidi support.  updateFormat, pointToTextOffset, getBoundingRect,
+        and findNewInsertionOffset should now function correctly for non-Roman documents.  Nothing else has been
+        modified to support intl text.
+
+    10/21/96
+        Pushed paragraph formatting and caret positioning into LineLayout.  In process of pushing
+        highlighting into LineLayout.
+
+    10/24/96
+        Now getting paragraph styles from paragraph buffer.
+
+    7/7/97
+        Up-arrow doesn't move to beginning of text if you're on the first line.
+
+    7/1/98
+        No longer intersecting damaged rect with view rect in updateFormat.
+*/
+
+/**
+* This class implements MFormatter.  It maintains a table of
+* <tt>LayoutInfo</tt> instances which contain layout information
+* for each line in the text.  This class formats lines on demand,
+* and creates a low-priority thread to format text in the background.
+* Note that, at times, some text may not have been formatted, especially
+* if the text is large.
+* <p>
+* The line table is an array of <tt>LayoutInfo</tt> objects, which expands as needed to hold
+* all computed lines in the text.  The line table consists of three
+* regions:  a "positive" region, a "gap," and a "negative" region.
+* In the positive region, character and graphics offsets are positive
+* integers, computed from the beginning of the text / display.  In the
+* gap, line table entries are null.  New lines may be inserted into the gap.
+* In the negative region, character and graphics offsets are negative;
+* their absolute values indicate distances from the end of the text / display.
+* The <tt>fLTPosEnd</tt> member gives the index in the line table of the
+* last positive entry.  The <tt>fLTNegStart</tt> gives the index of first
+* negative entry.  If there are no negative entries, <tt>fLTNegStart</tt> is
+* equal to <tt>fLTSize</tt>, the size of the line table.
+* <p>
+* Changes to the line table occur only in the <tt>formatText()</tt> method.
+* This method calls <tt>LineLayout.layout()</tt> for each line to format.
+*
+* @author John Raley
+*
+* @see MFormatter
+* @see LineLayout
+* @see LayoutContext
+* @see LayoutInfo
+*/
+
+final class AsyncFormatter extends MFormatter implements Runnable
+{
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+    /**
+    * Text to format.
+    */
+    private MConstText fText;
+
+    /**
+    * Default values.
+    */
+    private AttributeMap fDefaultValues;
+    
+    /**
+    * Font resolver.
+    */
+    private FontResolver fFontResolver;
+    
+    /**
+    * Default character metric - used to set height of empty paragraphs
+    */
+    private DefaultCharacterMetric fDefaultCharMetric;
+    
+    /**
+    * Length to which lines are formatted.
+    */
+    private int fLineDim;
+
+    /**
+    * Table of formatted lines.
+    */
+    private LayoutInfo fLineTable[];
+
+    /**
+    * Size of line table.
+    */
+    private int fLTSize = 10; // initial size must be > 0
+
+    /**
+    * Index of last positive entry in line table.
+    */
+    private int fLTPosEnd;
+
+    /**
+    * Index of first negative entry in line table.
+    */
+    private int fLTNegStart;
+
+    /**
+    * Length of text on which negative line offsets are based.
+    * @see #formatText
+    */
+    private int fLTCurTextLen;
+
+    /**
+    * Length of formatted text in fill direction, in pixels.
+    */
+    private int fPixHeight;
+
+    /**
+    * Length of formatted text including pseudoline.
+    */
+    private int fFullPixHeight;
+
+    private int fMinX;
+    private int fMaxX;
+
+    /**
+    * <tt>true</tt> if lines should be formatted to fit line dimension.
+    */
+    private boolean fWrap;
+
+    /**
+    * <tt>true</tt> if characters run horizontally.
+    */
+    private boolean fHLine = true;
+
+    /**
+     * <tt>true</tt> if characters run from from low to high coordinates on line.
+     */
+    private boolean fLineInc = true;
+
+    /**
+     * <tt>true</tt> if lines run from low to high coordinates within page.
+     */
+    private boolean fFillInc = true;
+
+    /**
+    * Value returned from <tt>findLineAt()</tt>
+    * if pixel height precedes topmost line.
+    */
+    private static final int kBeforeFirstLine = -2;
+
+    /**
+    * Value returned from <tt>findLineAt()</tt> and <tt>getLineContaining()</tt>
+    * if offset / pixel height is after all existing lines.
+    */
+    private static final int kAfterLastLine = -1;
+
+    /**
+    * Thread which invokes formatter in the background.
+    */
+    private Thread fDaemon;
+
+    /**
+    * FontRenderContext to measure with.  Currently not settable after
+    * construction.
+    */
+    private FontRenderContext fFontRenderContext;
+
+    /**
+    * Controls whether background formatting can run.
+    */
+    private boolean fBgFormatAllowed = false;
+    
+    /**
+    * Cached line break object.
+    */
+    private BreakIterator fLineBreak = null;
+    
+    /**
+    * Cached LineBreakMeasurer.
+    */
+    private LineBreakMeasurer fCachedMeasurer = null;
+    private int fCachedMeasurerStart;
+    private int fCachedMeasurerLimit;
+    
+    // Some JDK's (Sun's 1.2.2) throw exceptions from 
+    // LineBreakMeasurer.insertChar and deleteChar.  This class
+    // detects this condition and doesn't use these two methods
+    // if they throw exceptions.
+    private static boolean fgCacheMeasurers = true;
+    
+    /**
+    * Current text time stamp.  Used to maintain modification invariant.
+    */
+    private int fCurTimeStamp;
+    
+    /**
+    * Cache of ParagraphRenderers.
+    */
+    private Hashtable fRendererCache = new Hashtable();
+    
+    /**
+    * Draw text inside a rectangle. Does not cache any formatting information.
+    * This is convenient for small amounts of text; comparable to TETextBox on the Mac.
+    * <p>
+    * @param text the text to draw
+    * @param g Graphics on which to draw
+    * @param drawRect rectangle in which text will be drawn
+    * @param fillInc if true, lines run from low to high coordinates in page.
+    * @param hLine if true, characters run horizontally within a line.
+    */
+
+    private static boolean isParagraphSeparator(char ch) {
+
+        return ch == '\n' || ch == '\u2029';
+    }
+
+    /**
+    * Create an <tt>AsyncFormatter</tt>.
+    * @param text the text to format
+    * @param lineBound length to which lines are foramtted
+    * @param wrap <tt>true</tt> if text should be "line wrapped" (formatted to fit destination area)
+    */
+    AsyncFormatter(MConstText text, 
+                   AttributeMap defaultValues,
+                   int lineBound,
+                   boolean wrap,
+                   Graphics g)
+    {
+        fText = text;
+        fDefaultValues = defaultValues;
+        fFontResolver = new FontResolver(fDefaultValues);
+        
+        fLineDim = lineBound;
+        fWrap = wrap;
+        Graphics2D g2d = Graphics2DConversion.getGraphics2D(g);
+        fFontRenderContext = g2d.getFontRenderContext();
+        
+        fDefaultCharMetric = new DefaultCharacterMetric(fFontResolver, 
+                                                        fFontRenderContext);
+        fLTCurTextLen = text.length();
+        removeAllLines();
+
+        fDaemon = new Thread(this);
+        fDaemon.start();
+    }
+    
+    public AttributeMap getDefaultValues() {
+    
+        return fDefaultValues;
+    }
+    
+    public void checkTimeStamp() {
+        String admonition = "Probably, you modified " +
+                            "the text before calling stopBackgroundFormatting().";
+                            
+        if (fText.getTimeStamp() != fCurTimeStamp) {
+            throw new Error("Time stamp is out of sync.  " + admonition);
+        }
+        if (fText.length() != fLTCurTextLen) {
+            throw new Error("Length changed unexpectedly.  " +
+                            "fText.length()="+fText.length()+";  "+
+                            "fLTCurTextLen="+fLTCurTextLen+";  "+
+                            "formatter="+this+";  "+
+                            "text="+fText);
+        }
+    }
+
+    /**
+    * Specify whether to wrap lines using the line dimension.
+    * @param wrap if <tt>true</tt> lines will be wrapped; otherwise new lines will only be
+    * started when a newline is encountered.
+    */
+    public synchronized void setWrap(boolean wrap)
+    {
+        if (wrap != fWrap) {
+            fWrap = wrap;
+            removeAllLines();
+        }
+    }
+
+    /**
+    * Return true if lines are wrapped using the line dimension.
+    * @see #setWrap
+    */
+    public synchronized boolean wrap()
+    {
+        return fWrap;
+    }
+
+    /**
+    * Specify the lineBound in pixels.  If line wrapping is on, lines
+    * will be wrapped to this value.
+    * <p>
+    *
+    * @param lineBound the distance, in pixels, used to wrap lines.
+    */
+    public synchronized void setLineBound(int lineBound)
+    {
+        if (fLineDim != lineBound) {
+            fLineDim = lineBound;                
+            if (fWrap) {
+                removeAllLines();
+            }
+        }
+    }
+
+    /**
+    * Return the number of pixels along the line dimension.
+    */
+    public synchronized int lineBound()
+    {
+        return fLineDim;
+    }
+
+    /**
+    * Return <tt>true</tt> if characters run from low to high coordinates on line.
+    */
+    private boolean lineInc()
+    {
+        return fLineInc;
+    }
+
+    /**
+    * Return <tt>true</tt> if lines run from low to high coordinates on page.
+    */
+    private boolean fillInc()
+    {
+        return fFillInc;
+    }
+
+    /**
+    * Remove all lines in the line table.  Used after an operation that
+    * invalidates all existing lines, such as changing line wrapping or the
+    * line dim.
+    */
+    private synchronized void removeAllLines()
+    {
+        fCurTimeStamp = fText.getTimeStamp();
+        stopBackgroundFormatting();
+
+        fMinX = 0;
+        fMaxX = fLineDim;
+        
+        fLineTable = new LayoutInfo[fLTSize]; // fLTSize must be > 0
+        fLTNegStart = fLTSize;
+        fLTPosEnd = 0;
+
+        fLineTable[0] = pseudoLineInfo(null, 0);
+
+        fPixHeight = fLineTable[0].getHeight(); // ??? or should it be zero?
+        fFullPixHeight = fPixHeight;
+
+        // format at least one line:
+        formatToHeight(fPixHeight + 1);
+
+        enableBGFormat();
+    }
+
+    /**
+     * Fill the layout info with information appropriate to the pseudoline.
+     */
+    private synchronized LayoutInfo pseudoLineInfo(LayoutInfo info, int offset)
+    {
+        AttributeMap st = fText.paragraphStyleAt(fLTCurTextLen); // ??? if text is empty or this is the end of the text, what happens?
+        ParagraphRenderer renderer = getRendererFor(st);
+        info = renderer.layout(fText,
+                               info,
+                               (LineBreakMeasurer)null,
+                               fFontRenderContext,
+                               offset,
+                               offset,
+                               fLineDim,
+                               fLineDim);
+
+        return info;
+    }
+
+    /**
+    * Return the index of the last valid line in the line table.
+    */
+    private int lastLine()
+    {
+        return (fLTNegStart == fLTSize) ? fLTPosEnd : fLTSize - 1;
+    }
+
+    /**
+    * Shift line table such that <tt>lastPos</tt> is the last positive
+    * entry in the table. <b>NOTE: <tt>lastPos</tt> must be a valid line!</b>
+    * <p>
+    * @param lastPos the index of the line which will become the last positive
+    * entry in the line table
+    */
+    private void shiftTableTo(int lastPos)
+    {
+        LayoutInfo li;
+
+        while (lastPos < fLTPosEnd)    { // shift +'s to -'s
+            li = fLineTable[fLTPosEnd];
+            fLineTable[fLTPosEnd--] = null;
+
+            li.makeRelativeToEnd(fLTCurTextLen, fPixHeight);
+
+            fLineTable[--fLTNegStart] = li;
+        }
+
+        while (lastPos >= fLTNegStart) { // shift -'s to +'s
+            li = fLineTable[fLTNegStart];
+            fLineTable[fLTNegStart++] =    null;
+
+            li.makeRelativeToBeginning(fLTCurTextLen, fPixHeight);
+
+            fLineTable[++fLTPosEnd]    = li;
+        }
+    }
+
+    /**
+    * Increase the size of the line table.
+    */
+    private void expandLineTable()
+    {
+        // This just doubles the size of the line table.
+
+        LayoutInfo newLineTable[] = new LayoutInfo[fLineTable.length * 2];
+        int newNegStart = newLineTable.length - (fLineTable.length - fLTNegStart);
+
+        System.arraycopy(fLineTable, 0, newLineTable, 0, fLTPosEnd + 1);
+        System.arraycopy(fLineTable, fLTNegStart, newLineTable, newNegStart, fLTSize - fLTNegStart);
+
+        fLTNegStart = newNegStart;
+        fLTSize = newLineTable.length;
+        fLineTable = newLineTable;
+    }
+
+    /**
+    * Return the index of the line containing the pixel position <tt>fillCoord</tt>.
+    * If fillCoord exceeds the bottom of the text, return kAfterLastLine.
+    * If fillCoord is less than the top of the text, return kBeforeFirstLine.
+    * <p>
+    * @param fillCoord "height" of line to locate.
+    */
+    private int findLineAt(int fillCoord)
+    {
+        int low, high, mid;
+        int lowStart, highStart, midStart;
+
+        if (fillCoord >= fPixHeight)
+            return kAfterLastLine;
+        else if (fillCoord < 0)
+            return kBeforeFirstLine;
+
+        if ((fLTNegStart < fLTSize) && (fillCoord >= fLineTable[fLTNegStart].getGraphicStart(fPixHeight))) {
+            fillCoord -= fPixHeight;
+
+            low = fLTNegStart;
+            high = fLTSize;
+            highStart = 0;
+        }
+        else {
+            low = 0;
+            high = fLTPosEnd + 1;
+            highStart = fLineTable[fLTPosEnd].getGraphicStart(0) + fLineTable[fLTPosEnd].getHeight();
+        }
+        lowStart = fLineTable[low].getGraphicStart(0);
+
+        do {
+            if (lowStart == highStart)
+                return low;
+
+            mid = low + (fillCoord - lowStart) / (highStart - lowStart) * (high - low);
+            midStart = fLineTable[mid].getGraphicStart(0);
+
+            if (midStart > fillCoord) {
+                high = mid;
+                highStart = fLineTable[high].getGraphicStart(0);
+            }
+            else if (midStart + fLineTable[mid].getHeight() <= fillCoord) {
+                low = mid + 1;
+                lowStart = fLineTable[low].getGraphicStart(0);
+            }
+            else
+                return mid;
+
+        } while (low < high);
+
+        return 0;
+    }
+
+    /**
+     * Return the index of the first character in the line.
+     * @param line the internal index of the line (direct index into linetable).
+     */
+    private int lineCharStartInternal(int line)
+    {
+        return fLineTable[line].getCharStart(fLTCurTextLen);
+    }
+
+    /**
+     * Return the index of the character following the last character in the line.
+     * @param line the internal index of the line (direct index into linetable).
+     */
+    private int lineCharLimitInternal(int line)
+    {
+        return lineCharStartInternal(line) + fLineTable[line].getCharLength();
+    }
+
+    /**
+     * Return the graphic start of the line, unadjusted for fill direction.
+     * @param line the internal index of the line (direct index into linetable).
+     */
+    private int lineGraphicStartInternal(int line)
+    {
+        return fLineTable[line].getGraphicStart(fPixHeight);
+    }
+
+    /**
+     * Return the graphic limit of the line, unadjusted for fill direction.
+     * @param line the internal index of the line (direct index into linetable).
+     */
+    private int lineGraphicLimitInternal(int line)
+    {
+        return lineGraphicStartInternal(line) + fLineTable[line].getHeight();
+    }
+
+    /**
+    * Return the offset of the first character which has not been formatted.
+    * If all text has been formatted, return the current text length.
+    */
+    private int lastLineCharStop()
+    {
+        return lineCharLimitInternal(lastLine());
+    }
+
+    /**
+     * Return a 'valid' line containing offset.  This differs from getLineContaining in
+     * this maps kAfterLastLine to lastLine(), so that the result is always a valid
+     * linetable index.
+     */
+    private int getValidLineContaining(TextOffset offset) {
+
+        return getValidLineContaining(offset.fOffset, offset.fPlacement);
+    }
+
+    /**
+     * Return a 'valid' line containing offset.  This differs from getLineContaining in
+     * this maps kAfterLastLine to lastLine(), so that the result is always a valid
+     * linetable index.
+     */
+    private int getValidLineContaining(int insOffset, boolean placement)
+    {
+        int line = getLineContaining(insOffset, placement);
+        if (line == kAfterLastLine)
+            line = lastLine();
+        else if (line == kBeforeFirstLine)
+            throw new IllegalArgumentException("Debug: getLineContaining returned kBeforeFirstLine");
+
+        return line;
+    }
+
+    /**
+    * Return index of line containing <tt>offset</tt>.
+    * ??? If offset is after last formatted line, returns kAfterLastLine.  Is that good?
+    * <p>
+    * @param offset the offset whose line should be located
+    * @returns line containing <tt>offset</tt>
+    */
+    private int getLineContaining(TextOffset offset) {
+
+        return getLineContaining(offset.fOffset, offset.fPlacement);
+    }
+
+    private int getLineContaining(int insOffset, boolean placement)
+    {
+        int pos = insOffset;
+        if (placement == TextOffset.BEFORE_OFFSET && pos > 0)
+            --pos;
+
+        if (pos < 0) {
+            throw new IllegalArgumentException("Debug: getLineContaining offset < 0: " + pos);
+        }
+
+        if (pos >= lastLineCharStop()) {
+            return emptyParagraphAtEndOfText()? kAfterLastLine : lastLine();
+        }
+
+        int low, high, mid;
+        int lowStart, highStart, midStart;
+
+        if ((fLTNegStart < fLTSize) && (pos >= fLineTable[fLTNegStart].getCharStart(fLTCurTextLen))) {
+            pos -= fLTCurTextLen;
+
+            low = fLTNegStart;
+            high = fLTSize;
+            highStart = 0;
+        }
+        else {
+            low = 0;
+            high = fLTPosEnd + 1;
+            highStart = fLineTable[fLTPosEnd].getCharStart(0) + fLineTable[fLTPosEnd].getCharLength();
+        }
+        lowStart = fLineTable[low].getCharStart(0);
+
+        do {
+            if (highStart == lowStart) {
+                return low;
+            }
+
+            mid = low + (pos - lowStart) / (highStart - lowStart) * (high - low);
+            midStart = fLineTable[mid].getCharStart(0);
+
+            if (midStart > pos) {
+                high = mid;
+                highStart = fLineTable[high].getCharStart(0);
+            }
+            else if (midStart + fLineTable[mid].getCharLength() <= pos) {
+                low = mid + 1;
+                lowStart = fLineTable[low].getCharStart(0);
+            }
+            else {
+                return mid;
+            }
+
+        } while (low < high);
+
+        return 0;
+    }
+
+    /**
+    * Display text in drawArea. Does not reformat text.
+    * <p>
+    * @param g the Graphics object in which to draw
+    * @param drawArea the rectangle, in g's coordinate system, in which to draw
+    * @param origin the top-left corner of the text, in g's coordinate system
+    */
+    public synchronized void draw(Graphics g, Rectangle drawArea, Point origin)
+    {
+        draw(g, drawArea, origin, null, null, null);
+    }
+
+    public synchronized void draw(Graphics g, Rectangle drawArea, Point origin,
+                TextOffset selStart, TextOffset selStop, Color highlight) {
+
+        checkTimeStamp();
+        Graphics2D g2d = Graphics2DConversion.getGraphics2D(g);
+
+        // Get starting and ending fill 'heights.'
+
+        int startFill;
+        int endFill;
+
+        if (fFillInc)
+            startFill = drawArea.y - origin.y;
+        else
+            startFill = origin.y - (drawArea.y + drawArea.height);
+
+        endFill = startFill + drawArea.height;
+
+        // We're drawing one more line than necessary when we update because of a
+        // selection change.  But we're drawing the right amount of lines when we
+        // refresh the whole display.  This affects rendering speed significantly,
+        // and creating a new paragraph renderer for each line doesn't help either.
+        // For now, I'm going to subtract one from the fill height, on the theory
+        // that we're picking up the extra line because of a one-pixel slop.
+        // This seems to work, although perhaps if one pixel of a line at the
+        // bottom should draw, it won't.
+
+        --endFill;
+
+        // Format to ending fill height, so line table is valid for all lines we need to draw.
+
+        formatToHeight(endFill);
+
+        // Get starting and ending lines for fill height.  If the start of the fill is after the last line,
+        // or the end of the fill is before the first line, return.
+
+        int curLine = findLineAt(startFill);
+        if (curLine == kAfterLastLine)
+            return;
+        else if (curLine == kBeforeFirstLine)
+            curLine = 0;
+
+        int lastLine = findLineAt(endFill);
+        if (lastLine == kBeforeFirstLine)
+            return;
+        else if (lastLine == kAfterLastLine)
+            lastLine = lastLine();
+
+        // Get the base coordinates (lineX, lineY) for the starting line.
+
+        int lineX, lineY;
+
+        int gStart = lineGraphicStartInternal(curLine);
+
+        if (fHLine) {
+            if (fLineInc)
+                lineX = origin.x;
+            else
+                lineX = origin.x - fLineDim;
+            if (fFillInc)
+                lineY = origin.y + gStart;
+            else
+                lineY = origin.y - (gStart + fLineTable[curLine].getHeight());
+        }
+        else {
+            if (fLineInc)
+                lineY = origin.y;
+            else
+                lineY = origin.y - fLineDim;
+            if (fFillInc)
+                lineX = origin.x + gStart;
+            else
+                lineX = origin.x - (gStart + fLineTable[curLine].getHeight());
+        }
+
+        // Iterate through lines, drawing each one and incrementing the base coordinate by the line height.
+
+
+        for (; curLine <= lastLine; curLine++) {
+            // Adjust curLine around gap in line table.
+            if ((curLine > fLTPosEnd) && (curLine < fLTNegStart))
+                curLine = fLTNegStart;
+
+            fLineTable[curLine].renderWithHighlight(fLTCurTextLen, g2d, fLineDim, lineX, lineY, selStart, selStop, highlight);
+
+            // Increment line base for next iteration.
+            int lineInc = fLineTable[curLine].getHeight();
+            if (fFillInc) {
+                if (fHLine)
+                    lineY += lineInc;
+                else
+                    lineX += lineInc;
+            } else {
+                if (fHLine)
+                    lineY -= lineInc;
+                else
+                    lineX -= lineInc;
+            }
+        }
+    }
+
+    /**
+    * Format text to given height.
+    * @param height the height to which text will be formatted.
+    */
+    public synchronized void formatToHeight(int reqHeight)
+    {
+        checkTimeStamp();
+        if (reqHeight <= fPixHeight) // already formatted to this height
+            return;
+
+        if (fText.length() == lastLineCharStop()) // already formatted all the text
+            return;
+
+        // +++ should disable update thread here
+
+        if (fLTNegStart < fLTSize)
+            shiftTableTo(fLTSize - 1);
+
+        formatText(0, 0, reqHeight, false);
+    }
+
+    /**
+     * Format text to given offset.
+     * @param offset the offset to which text will be formatted.
+     */
+     private void formatToOffset(TextOffset offset)
+     {
+        formatToOffset(offset.fOffset, offset.fPlacement);
+     }
+     
+     private synchronized void formatToOffset(int offset, boolean placement) {
+        
+        checkTimeStamp();
+        int llcs = lastLineCharStop();
+        if (llcs < fLTCurTextLen) {
+            int limit = offset;
+            if (placement == TextOffset.AFTER_OFFSET) // format to past character offset is associated with
+                limit++;
+            if (limit >= llcs) { // ??? would '>' be ok instead or '>='?
+                if (limit > fLTCurTextLen)
+                    limit = fLTCurTextLen;
+
+                shiftTableTo(lastLine());
+                formatText(llcs, limit - llcs, Integer.MAX_VALUE, true);
+            }
+        }
+     }
+
+/**
+* Reformat text after a change.
+* After the formatter's text changes, call this method to reformat.  Does
+* not redraw.
+* @param afStart the offset into the text where modification began;  ie, the
+* first character in the text which is "different" in some way.  Does not
+* have to be nonnegative.
+* @param afLength the number of new or changed characters in the text.  Should never
+* be less than 0.
+* @param viewRect the Rectangle in which the text will be displayed.  This is needed for
+* returning the "damaged" area - the area of the screen in which the text must be redrawn.
+* @param origin the top-left corner of the text, in the display's coordinate system
+* @returns a <tt>Rectangle</tt> which specifies the area in which text must be
+* redrawn to reflect the change to the text.
+*/
+    public Rectangle updateFormat(final int afStart,
+                                               final int afLength,
+                                               Rectangle viewRect,
+                                               Point origin)
+    {
+        if (afStart < 0) {
+            throw new IllegalArgumentException("Debug: updateFormat afStart < 0: " + afStart);
+        }
+        if (fBgFormatAllowed) {
+            throw new IllegalArgumentException("Background formatting should have been disabled");
+        }
+        fCurTimeStamp = fText.getTimeStamp();
+        
+        int curLine = getValidLineContaining(afStart, TextOffset.AFTER_OFFSET);
+        int lineStartPos = lineCharStartInternal(curLine);
+
+        // optimize by finding out whether change occurred
+        // after first word break on curline
+
+        int firstPossibleBreak;
+
+        if (lineStartPos < fText.length()) {
+
+            if (fLineBreak == null) {
+                fLineBreak = BreakIterator.getLineInstance();
+            }
+            CharacterIterator charIter = fText.createCharacterIterator();
+            charIter.setIndex(lineStartPos);
+            fLineBreak.setText(charIter);
+
+            firstPossibleBreak = fLineBreak.following(lineStartPos);
+        }
+        else
+            firstPossibleBreak = afStart;
+
+        if ((curLine > 0) && (firstPossibleBreak == BreakIterator.DONE || afStart <= firstPossibleBreak)) {
+            curLine--;
+            if (curLine < fLTNegStart && curLine > fLTPosEnd)
+                curLine = fLTPosEnd;
+        }
+
+        shiftTableTo(curLine);
+
+        int pixHeight; // after the formatText call, at least pixHeight text must be formatted
+
+        if (fHLine) {
+            if (fFillInc)
+                pixHeight = viewRect.y + viewRect.height - origin.y;
+            else
+                pixHeight = origin.y - viewRect.y;
+        }
+        else {
+            if (fFillInc)
+                pixHeight = viewRect.x + viewRect.width - origin.x;
+            else
+                pixHeight = origin.x - viewRect.x;
+        }
+
+        Rectangle r = formatText(afStart, afLength, pixHeight, false);
+
+        //dumpLineTable();
+
+        if ((fPixHeight < pixHeight) && (fLTNegStart < fLTSize) && (fLTCurTextLen > lastLineCharStop())) {
+            shiftTableTo(lastLine());
+            Rectangle s = formatText(0, 0, pixHeight, false);
+            r = r.union(s);
+        }
+
+        intlRect(origin, r);
+        //System.out.println("Damaged rect: "+r+"; origin: "+origin);
+
+        // don't need to synchronized here, b/c the daemon shouldn't be running when
+        // this is executing
+
+        if (fText.length() < lastLineCharStop())
+            enableBGFormat();
+        else
+            stopBackgroundFormatting();
+
+        //dumpLineTable();
+
+        return r;
+    }
+    
+    private LineBreakMeasurer makeMeasurer(int paragraphStart, int paragraphLimit) {
+
+        MTextIterator iter = new MTextIterator(fText,
+                                               fFontResolver,
+                                               paragraphStart,
+                                               paragraphLimit);
+        LineBreakMeasurer measurer = new LineBreakMeasurer(iter, fFontRenderContext);
+        if (fgCacheMeasurers) {
+            fCachedMeasurerStart = paragraphStart;
+            fCachedMeasurerLimit = paragraphLimit;
+            fCachedMeasurer = measurer;
+        }
+        return measurer;
+    }        
+
+/**
+* Compute text format.  This method calculates text format;  it can be
+* called for various purposes:  to reformat text after an edit, to
+* format text to a particular height, or to format text up to a
+* particular offset.
+* <p>
+* The calling method must ensure that <tt>fLineTable</tt> has been shifted
+* such that the last positive line is where the formatting operation will
+* begin.
+* <p>
+* Called by: <tt>formatToHeight()</tt>, <tt>updateFormat()</tt>,
+* <tt>textOffsetToPoint()</tt>, <tt>getBoundingRect()</tt>
+* @param afStart the offset of the first character in the text which has changed
+* @param afLength the number of new or changed characters in the text
+* @param reqHeight the pixel height to which text must be formatted.  Ignored
+* if <tt>formatAllNewText</tt> is <tt>true</tt>, or if old lines remain in the
+* line table after all changed text has been formatted.
+* @param seekOffsetAtEnd if <tt>true</tt>, formatting continues until the line
+* containing afStart+afLength has been formatted.  If false, formatting may stop
+* when reqHeight has been reached.  This parameter should be <tt>true</tt> <b>only</b>
+* if the object of the formatting operation is to extend formatting to a particular
+* offset within the text;  it should be <tt>false</tt> everywhere else.
+* @returns a rectangle, relative to the top-left of the text, which encloses the
+* screen area whose appearance has changed due to the reformatting.
+*/
+
+    private Rectangle formatText(int afStart, final int afLength, int reqHeight, boolean seekOffsetAtEnd)
+    {
+    /* assumes line table shifted such that first line to format is
+    last positive line */
+
+        if (afLength < 0) {
+            throw new IllegalArgumentException("afLength < 0.  afLength=" + afLength);
+        }
+
+        int newTextEnd = afStart + afLength;
+
+        final int newCurTextLen = fText.length();
+
+        // variable not used int oldPixHeight = fPixHeight;
+        int oldFullPixHeight = fFullPixHeight;
+        fPixHeight -= fLineTable[fLTPosEnd].getHeight();
+
+        int curGraphicStart = fLineTable[fLTPosEnd].getGraphicStart(fPixHeight);
+        int curLineStart = fLineTable[fLTPosEnd].getCharStart(newCurTextLen);
+        
+        int curParagraphStart = fText.paragraphStart(curLineStart);
+        int curParagraphLimit = Integer.MIN_VALUE; // dummy value
+
+        int damageStart = curGraphicStart;
+
+        ParagraphRenderer renderer = null;
+        LineBreakMeasurer measurer = null;
+        
+        // try to use cached LineBreakMeasurer if possible
+        if (fCachedMeasurer != null && 
+            curParagraphStart == fCachedMeasurerStart) {
+
+            curParagraphLimit = fText.paragraphLimit(curParagraphStart);
+            
+            try {
+                if (newCurTextLen - fLTCurTextLen == 1 && afLength == 1) {
+                    if (curParagraphLimit == fCachedMeasurerLimit+1) {
+                        MTextIterator iter = new MTextIterator(fText,
+                                                               fFontResolver, 
+                                                               curParagraphStart,
+                                                               curParagraphLimit);
+                        fCachedMeasurer.insertChar(iter, afStart);
+                        fCachedMeasurerLimit += 1;
+                        measurer = fCachedMeasurer;
+                    }
+                }
+                else if (fLTCurTextLen - newCurTextLen == 1 && afLength == 0) {
+                    if (fCachedMeasurerLimit > fCachedMeasurerStart + 1 &&
+                                curParagraphLimit == fCachedMeasurerLimit-1) {
+                        MTextIterator iter = new MTextIterator(fText,
+                                                               fFontResolver,
+                                                               curParagraphStart,
+                                                               curParagraphLimit);
+                        fCachedMeasurer.deleteChar(iter, afStart);
+                        fCachedMeasurerLimit -= 1;
+                        measurer = fCachedMeasurer;
+                    }
+                }
+            }
+            catch(ArrayIndexOutOfBoundsException e) {
+                fCachedMeasurer = null;
+                fgCacheMeasurers = false;
+            }
+            
+            if (measurer != null) {
+                // need to set up renderer since the paragraph update in the
+                // formatting loop will not happen
+                AttributeMap style = fText.paragraphStyleAt(curParagraphStart);
+                renderer = getRendererFor(style);
+                measurer.setPosition(curLineStart);
+            }
+        }
+        
+        if (measurer == null) {
+            // trigger paragraph update at start of formatting loop
+            curParagraphLimit = curParagraphStart;
+            curParagraphStart = 0;
+        }
+
+        fLTCurTextLen = newCurTextLen;
+        
+        while (true) {
+            // System.out.println("line: " + fLTPosEnd + ", cls: " + curLineStart);
+
+
+            if (curLineStart >= curParagraphLimit) {
+                curParagraphStart = curParagraphLimit;
+                curParagraphLimit = fText.paragraphLimit(curParagraphStart);
+
+                AttributeMap style = fText.paragraphStyleAt(curParagraphStart);
+                renderer = getRendererFor(style);
+
+                if (curParagraphStart < curParagraphLimit) {
+                    measurer = makeMeasurer(curParagraphStart, curParagraphLimit);
+                    measurer.setPosition(curLineStart);
+                }
+                else {
+                    measurer = null;
+                }
+            }
+
+            {
+                boolean haveOldDirection = fLineTable[fLTPosEnd] != null;
+                boolean oldDirection = false; //  dummy value for compiler
+                if (haveOldDirection) {
+                    oldDirection = fLineTable[fLTPosEnd].isLeftToRight();
+                }
+
+                fLineTable[fLTPosEnd] = renderer.layout(fText,
+                                                        fLineTable[fLTPosEnd],
+                                                        measurer,
+                                                        fFontRenderContext,
+                                                        curParagraphStart,
+                                                        curParagraphLimit,
+                                                        fWrap ? fLineDim : Integer.MAX_VALUE,
+                                                        fLineDim);
+                if (haveOldDirection) {
+                    if (fLineTable[fLTPosEnd].isLeftToRight() != oldDirection) {
+                        newTextEnd = Math.max(newTextEnd, curParagraphLimit);
+                    }
+                }
+            }
+
+            {
+                LayoutInfo theLine = fLineTable[fLTPosEnd];
+
+                theLine.setGraphicStart(curGraphicStart);
+                curGraphicStart += theLine.getHeight();
+
+                fPixHeight += theLine.getHeight();
+                curLineStart += theLine.getCharLength();
+
+                if (!fWrap) {
+                    int lineWidth = theLine.getTotalAdvance() + theLine.getLeadingMargin();
+                    if (theLine.isLeftToRight()) {
+                        if (fMaxX < lineWidth) {
+                            fMaxX = lineWidth;
+                        }
+                    }
+                    else {
+                        if (fLineDim-lineWidth < fMinX) {
+                            fMinX = fLineDim-lineWidth;
+                        }
+                    }
+                }
+            }
+            /*
+                Next, discard obsolete lines.  A line is obsolete if it
+                contains new text or text which has been formatted.
+            */
+
+            while (fLTNegStart < fLTSize) {
+                int linePos = fLineTable[fLTNegStart].getCharStart(newCurTextLen);
+                if (linePos >= curLineStart && linePos >= newTextEnd)
+                    break;
+
+                // System.out.println("delete neg line: " + fLTNegStart);
+                fPixHeight -= fLineTable[fLTNegStart].getHeight();
+                fLineTable[fLTNegStart++] = null;
+            }
+
+            int stopAt;
+            if (fLTNegStart < fLTSize)
+                stopAt = fLineTable[fLTNegStart].getCharStart(newCurTextLen);
+            else
+                stopAt = newCurTextLen;
+
+            /*
+                Now, if exit conditions aren't met, create a new line.
+            */
+
+            if (seekOffsetAtEnd) {
+                if ((curLineStart >= newTextEnd) && (fLTNegStart == fLTSize)) {
+                    // System.out.println("break 1");
+                    break;
+                }
+            }
+            else {
+                if (curLineStart >= stopAt) {
+                    // System.out.println("curLineStart: " + curLineStart + " >= stopAt: " + stopAt);
+                    break;
+                }
+                else if (fLTNegStart==fLTSize && fPixHeight >= reqHeight) {
+                    // System.out.println("break 3");
+                    break;
+                }
+            }
+
+            if (fLTPosEnd + 1 == fLTNegStart)
+                expandLineTable();
+
+            fLineTable[++fLTPosEnd] = null; // will be created by Renderer
+        }
+        //System.out.print("\n");
+
+        if (newCurTextLen == 0) {
+            fLineTable[0] = pseudoLineInfo(fLineTable[0], 0);
+            fPixHeight = fLineTable[0].getHeight();
+        }
+        fFullPixHeight = fPixHeight;
+
+        if (isParaBreakBefore(newCurTextLen)) {
+            fFullPixHeight += lastCharHeight();
+        }
+/*
+        System.out.println("curLineStart: " + curLineStart +
+            ", fLTPosEnd: " + fLTPosEnd +
+            ", fLTNegStart: " + fLTNegStart +
+            ", fLTSize: " + fLTSize);
+
+        System.out.println("oldFullPixHeight: " + oldFullPixHeight + ", newFullPixHeight: " + fFullPixHeight);
+*/
+        int damageLength;
+        if (fFullPixHeight == oldFullPixHeight) {
+            damageLength = fLineTable[fLTPosEnd].getGraphicStart(fPixHeight)
+                            + fLineTable[fLTPosEnd].getHeight() - damageStart;
+        }
+        else {
+            damageLength = Math.max(fFullPixHeight, oldFullPixHeight);
+        }
+
+        return new Rectangle(fMinX, damageStart, fMaxX-fMinX, damageLength);
+    }
+
+    private void dumpLineTable()
+    {
+        int i;
+
+        System.out.println("fLTCurTextLen=" + fLTCurTextLen + " " );
+        for (i=0; i<= fLTPosEnd; i++)
+            System.out.println("Line " + i + " starts at "
+                                + fLineTable[i].getCharStart(fLTCurTextLen)
+                                + " and extends " + fLineTable[i].getCharLength());
+
+        for (i=fLTNegStart; i< fLTSize; i++)
+            System.out.println("Line " + (i-fLTNegStart+fLTPosEnd+1) + " starts at "
+                                + fLineTable[i].getCharStart(fLTCurTextLen)
+                                + " and extends " + fLineTable[i].getCharLength());
+    }
+
+    public synchronized int minX() {
+    
+        return fMinX;
+    }
+    
+    /**
+    * Return the horizontal extent of the text, in pixels.
+    * <p>
+    * This returns an approximation based on the currently formatted text.
+    */
+    public synchronized int maxX()
+    {
+        checkTimeStamp();
+
+        return fMaxX;
+    }
+
+    /**
+    * Return the height of the last character in the text.
+    *
+    * This is used for the 'extra height' needed to display a caret at the end of the text when the
+    * text is empty or ends with a newline.
+    */
+    private int lastCharHeight()
+    {
+        int charIndex = lastLineCharStop() - 1;
+        AttributeMap st = fText.characterStyleAt(charIndex);
+        DefaultCharacterMetric.Metric metric = fDefaultCharMetric.getMetricForStyle(st);
+
+        int height = metric.getAscent();
+        height += metric.getDescent();
+        height += metric.getLeading();
+
+        return height;
+    }
+
+    /**
+     * Return true if the character at pos is a paragraph separator.
+     */
+    private boolean isParaBreakBefore(int pos)
+    {
+        return pos > 0 && (fText.at(pos - 1) == '\u2029' || fText.at(pos - 1) == '\n');
+        // we really need to take look at this and determine what this function
+        // should be doing.  What I've got here right now is a temporary implementation.
+    }
+
+    public synchronized int minY() {
+    
+        return 0;
+    }
+    
+    /**
+    * Return the vertical extent of the text, in pixels.
+    * <p>
+    * This returns an approximation based on the currently formatted text.
+    */
+    public synchronized int maxY()
+    {
+        checkTimeStamp();
+
+        int numChars = lastLineCharStop();
+
+        int pixHeight = fPixHeight;
+        if (numChars == fLTCurTextLen && isParaBreakBefore(fLTCurTextLen)) {
+            pixHeight += lastCharHeight();
+        }
+
+        if (numChars != 0)
+            return pixHeight * fText.length() / numChars;
+        else
+            return 0;
+    }
+
+    /**
+    * Return the actual pixel length of the text which has been formatted.
+    */
+    public synchronized int formattedHeight()
+    {
+        checkTimeStamp();
+        return fPixHeight;
+    }
+
+    /**
+     * There are two modes for dealing with carriage returns at the end of a line.  In the 'infinite width'
+     * mode, the last character is considered to have infinite width.  Thus if the point is past the 'real'
+     * end of the line, the offset is the position before that last character, and the offset is associated
+     * with that character (placement after). In the 'actual width' mode, the offset is positioned after
+     * that character, but still associated with it (placement before).
+     */
+
+    private TextOffset lineDimToOffset(TextOffset result, int line, int lineX, int lineY, TextOffset anchor, boolean infiniteMode)
+    {
+    // temporarily adjust line info to remove the negative char starts used in the line table.
+    // then call through to the paragraph renderer to get the offset.  Don't put line end
+    // optimization here, let the renderer do it (perhaps it does fancy stuff with the margins).
+
+        LayoutInfo lineInfo = fLineTable[line];
+
+        result = lineInfo.pixelToOffset(fLTCurTextLen, result, fLineDim, lineX, lineY);
+
+        if (infiniteMode &&
+            (result.fOffset > lineInfo.getCharStart(fLTCurTextLen)) &&
+            isParaBreakBefore(result.fOffset) &&
+            (anchor == null || anchor.fOffset == result.fOffset - 1)) {
+
+            result.setOffset(result.fOffset - 1, TextOffset.AFTER_OFFSET);
+        }
+
+        return result;
+    }
+
+    /**
+    * Given a screen location p, return the offset of the character in the text nearest to p.
+    */
+    public synchronized TextOffset pointToTextOffset(TextOffset result, int px, int py, Point origin, TextOffset anchor, boolean infiniteMode)
+    {
+        checkTimeStamp();
+        if (result == null)
+            result = new TextOffset();
+
+        int fillD;
+
+        if (fHLine)
+            fillD = py - origin.y;
+        else
+            fillD = px - origin.x;
+
+        if (!fFillInc)
+            fillD = -fillD;
+
+        if (fillD < 0) {
+            result.setOffset(0, TextOffset.AFTER_OFFSET);
+            return result;
+        }
+
+        formatToHeight(fillD);
+
+        if (fillD >= fPixHeight) {
+            boolean bias = fLTCurTextLen==0? TextOffset.AFTER_OFFSET : TextOffset.BEFORE_OFFSET;
+            result.setOffset(fLTCurTextLen, bias);
+            return result;
+        }
+
+        int line = findLineAt(fillD); // always a valid line
+        int gStart = lineGraphicStartInternal(line);
+
+        int lineX, lineY;  // upper-left corner of line
+        if (fHLine) {
+            lineX = origin.x;
+            lineY = fFillInc? origin.y + gStart : origin.y - (gStart + fLineTable[line].getHeight());
+        }
+        else {
+            lineY = origin.y;
+            lineX = fFillInc? origin.x + gStart : origin.x - (gStart + fLineTable[line].getHeight());
+        }
+
+        return lineDimToOffset(result, line, px - lineX, py - lineY, anchor, infiniteMode);
+    }
+
+    private boolean emptyParagraphAtEndOfText() {
+
+        return fLTCurTextLen > 0 &&
+                isParagraphSeparator(fText.at(fLTCurTextLen-1));
+    }
+
+    /**
+     * Return true if the offset designates a point on the pseudoline following a paragraph
+     * separator at the end of text.  This is true if the offset is the end of text
+     * and the last character in the text is a paragraph separator.
+     */
+    private boolean afterLastParagraph(TextOffset offset)
+    {
+        return offset.fOffset == fLTCurTextLen &&
+            emptyParagraphAtEndOfText();
+    }
+
+    /**
+    * Given an offset, return the Rectangle bounding the caret at the offset.
+    * @param offset an offset into the text
+    * @param origin the top-left corner of the text, in the display's coordinate system
+    * @return a Rectangle bounding the caret.
+    */
+    public synchronized Rectangle getCaretRect(TextOffset offset, Point origin) {
+
+        Rectangle r = new Rectangle();
+        getCaretRect(r, offset, origin);
+        return r;
+    }
+    
+    private void getCaretRect(Rectangle r, TextOffset offset, Point origin) {
+        
+        checkTimeStamp();
+        formatToOffset(offset);
+
+        if (afterLastParagraph(offset)) {
+            int pseudoLineHeight = lastCharHeight();
+            if (fHLine) {
+                int lineY = fFillInc ? origin.y + fPixHeight : origin.y - fPixHeight - pseudoLineHeight;
+                r.setBounds(origin.x, lineY, 0, pseudoLineHeight);
+            }
+            else {
+                int lineX = fFillInc? origin.x + fPixHeight : origin.x - fPixHeight - pseudoLineHeight;
+                r.setBounds(lineX, origin.y, pseudoLineHeight, 0);
+            }
+            return;
+        }
+
+        int line = getValidLineContaining(offset);
+
+        int gStart = lineGraphicStartInternal(line);
+
+        int lineX, lineY;
+
+        if (fHLine) {
+            lineX = origin.x;
+            if (fFillInc)
+                lineY = origin.y + gStart;
+            else
+                lineY = origin.y - (gStart + fLineTable[line].getHeight());
+        }
+        else {
+            lineY = origin.y;
+            if (fFillInc)
+                lineX = origin.x + gStart;
+            else
+                lineX = origin.x - (gStart + fLineTable[line].getHeight());
+        }
+
+        Rectangle bounds = fLineTable[line].caretBounds(fText, fLTCurTextLen, fLineDim, offset.fOffset, lineX, lineY);
+
+        r.setBounds(bounds);
+    }
+
+    /**
+    * Draw the caret(s) associated with the given offset into the given Graphics.
+    * @param g the Graphics to draw into
+    * @param offset the offset in the text for which the caret is drawn
+    * @param origin the top-left corner of the text, in the display's coordinate system
+    * @param strongCaretColor the color of the strong caret
+    * @param weakCaretColor the color of the weak caret (if any)
+    */
+    public synchronized void drawCaret(Graphics g,
+                                       TextOffset offset,
+                                       Point origin,
+                                       Color strongCaretColor,
+                                       Color weakCaretColor) {
+
+        checkTimeStamp();
+        Graphics2D g2d = Graphics2DConversion.getGraphics2D(g);
+        formatToOffset(offset);
+
+        LayoutInfo line;
+        int gStart;
+        
+        if (afterLastParagraph(offset)) {
+            gStart = fPixHeight;
+            line = pseudoLineInfo(null, offset.fOffset);
+        }
+        else {
+            int lineIndex = getValidLineContaining(offset);
+            gStart = lineGraphicStartInternal(lineIndex);
+            line = fLineTable[lineIndex];
+        }
+        
+        int lineX, lineY;
+
+        if (fHLine) {
+            lineX = origin.x;
+            if (fFillInc)
+                lineY = origin.y + gStart;
+            else
+                lineY = origin.y - (gStart + line.getHeight());
+        }
+        else {
+            lineY = origin.y;
+            if (fFillInc)
+                lineX = origin.x + gStart;
+            else
+                lineX = origin.x - (gStart + line.getHeight());
+        }
+
+        line.renderCaret(fText, fLTCurTextLen, g2d, fLineDim, lineX, lineY,
+                                offset.fOffset, strongCaretColor, weakCaretColor);
+    }
+
+/**
+* Given two offsets in the text, return a rectangle which encloses the lines containing the offsets.
+* Offsets do not need to be ordered or nonnegative.
+* @param offset1,offset2 offsets into the text
+* @param origin the top-left corner of the text, in the display's coordinate system
+* @returns a <tt>Rectangle</tt>, relative to <tt>origin</tt>, which encloses the lines containing the offsets
+*/
+    public synchronized Rectangle getBoundingRect(TextOffset offset1,
+                                                  TextOffset offset2,
+                                                  Point origin,
+                                                  boolean tight) {
+
+        Rectangle r = new Rectangle();
+        getBoundingRect(r, offset1, offset2, origin, tight);
+        return r;
+    }
+
+/*
+    Transform r from "text" coordinates to "screen" coordinates.
+*/
+
+    private void intlRect(Point origin, Rectangle r) {
+
+        int lineOrig, fillOrig;
+
+        if (fHLine) {
+            lineOrig = origin.x;
+            fillOrig = origin.y;
+        }
+        else {
+            lineOrig = origin.y;
+            fillOrig = origin.x;
+        }
+
+        if (fLineInc)
+            r.x += lineOrig;
+        else
+            r.x = lineOrig - (r.x + r.width);
+
+        if (fFillInc)
+            r.y += fillOrig;
+        else
+            r.y = fillOrig - (r.y + r.height);
+
+
+        if (!fHLine) {
+            int t = r.x;
+            r.x = r.y;
+            r.y = t;
+            t = r.width;
+            r.width = r.height;
+            r.height = t;
+        }
+    }
+
+
+    public synchronized void getBoundingRect(Rectangle r, 
+                                             TextOffset offset1,
+                                             TextOffset offset2,
+                                             Point origin,
+                                             boolean tight)
+    {
+        checkTimeStamp();
+        if (offset1.equals(offset2)) {
+            getCaretRect(r, offset1, origin);
+            return;
+        }
+        if (offset1.greaterThan(offset2)) {
+            TextOffset t; t = offset1; offset1 = offset2; offset2 = t;
+        }
+
+        formatToOffset(offset2);
+
+        int line = getValidLineContaining(offset1);
+        r.y = lineGraphicStartInternal(line);
+        
+        int gLimit;
+        boolean sameLine = false;
+                
+        if (afterLastParagraph(offset2))
+            gLimit = fPixHeight + lastCharHeight();
+        else {
+            int line2 = getValidLineContaining(offset2);
+            gLimit = lineGraphicLimitInternal(line2);
+            sameLine = (line == line2);
+        }
+
+        r.height = gLimit - r.y;
+
+        if (sameLine && tight==TIGHT) {
+            Rectangle rt = new Rectangle();
+            getCaretRect(rt, offset1, origin);
+            r.setBounds(rt);
+            if (!offset1.equals(offset2)) {
+                getCaretRect(rt, offset2, origin);
+                r.add(rt);
+            }
+        }
+        else {
+            r.x = fMinX;
+            r.width = fMaxX - fMinX;
+            intlRect(origin, r);
+        }
+
+        // System.out.print("gbr: " + r.x + ", " + r.y + ", " + r.width + ", " + r.height);
+
+        // System.out.println(" --> " + r.x + ", " + r.y + ", " + r.width + ", " + r.height);
+    }
+
+    /**
+    * Compute the offset resulting from moving from a previous offset in direction dir.
+    * For arrow keys.
+    * @param result the offset to modify and return.  may be null, if so a new offset is allocated, modified, and returned.
+    * @param previousOffset the insertion offset prior to the arrow key press.
+    * @param direction the direction of the arrow key (eUp, eDown, eLeft, or eRight)
+    * @returns new offset based on direction and previous offset.
+    */
+    public synchronized TextOffset findInsertionOffset(TextOffset result, TextOffset prevOffset, short dir)
+    {
+        return findNewInsertionOffset(result, prevOffset, prevOffset, dir);
+    }
+
+    /**
+     * Transform key direction:  after this step, "left" means previous glyph, "right" means next glyph,
+     *"up" means previous line, "down" means next line
+     */
+    private short remapArrowKey(short dir) {
+
+        if (!fLineInc) {
+            if (dir == eLeft)
+                dir = eRight;
+            else if (dir == eRight)
+                dir = eLeft;
+        }
+
+        if (!fFillInc) {
+            if (dir == eUp)
+                dir = eDown;
+            else if (dir == eDown)
+                dir = eUp;
+        }
+
+        if (!fHLine) {
+            if (dir == eLeft)
+                dir = eUp;
+            else if (dir == eRight)
+                dir = eDown;
+            else if (dir == eUp)
+                dir = eLeft;
+            else if (dir == eDown)
+                dir = eRight;
+        }
+
+        return dir;
+    }
+
+    /**
+    * Compute the offset resulting from moving from a previous offset, starting at an original offset, in direction dir.
+    * For arrow keys.  Use this for "smart" up/down keys.
+    * @param result the offset to modify and return.  May be null, if so a new offset is allocated, modified, and returned.
+    * @param origOffset the offset at which an up-down arrow key sequence began.
+    * @param prevOffset the insertion offset prior to the arrow key press
+    * @param dir the direction of the arrow key (eUp, eDown, eLeft, or eRight)
+    * @returns new offset based on direction, original offset, and previous offset.
+    */
+    public synchronized TextOffset findNewInsertionOffset(TextOffset result, TextOffset origOffset, TextOffset prevOffset, short dir)
+    {
+        checkTimeStamp();
+        if (result == null)
+            result = new TextOffset();
+
+        dir = remapArrowKey(dir);
+
+        // assume that text at origOffset and prevOffset has already been formatted
+
+        if (dir == eLeft || dir == eRight) {
+            formatToOffset(prevOffset);
+            int line = getValidLineContaining(prevOffset);
+
+            result.fPlacement = TextOffset.AFTER_OFFSET;
+            result.fOffset = fLineTable[line].getNextOffset(fLTCurTextLen, prevOffset.fOffset, dir);
+            if (result.fOffset < 0) {
+                result.fOffset = 0;
+            }
+            else if (result.fOffset >= fLTCurTextLen) {
+                result.setOffset(fLTCurTextLen, TextOffset.BEFORE_OFFSET);
+            }
+        }
+        else {
+            int distOnLine;
+
+            if (afterLastParagraph(origOffset))
+                distOnLine = 0;
+            else {
+                int line = getValidLineContaining(origOffset);
+
+                distOnLine = fLineTable[line].strongCaretBaselinePosition(fLTCurTextLen, fLineDim, origOffset.fOffset);
+            }
+
+            // get prevOffset's line
+            int line;
+            if (afterLastParagraph(prevOffset))
+                line = lastLine() + 1;
+            else {
+                line = getLineContaining(prevOffset);
+
+                if (dir == eDown && (line == kAfterLastLine || line == lastLine())
+                        && (lastLineCharStop() < fText.length())) {
+                    shiftTableTo(lastLine());
+                    formatText(lastLineCharStop(), 1, Integer.MAX_VALUE, true);
+                    line = getLineContaining(prevOffset);
+                }
+
+                if (line == kBeforeFirstLine)
+                    line = 0;
+                else if (line == kAfterLastLine)
+                    line = lastLine();
+            }
+
+            if (dir == eUp)
+                line--;
+            else if (dir == eDown)
+                line++;
+            else
+                throw new IllegalArgumentException("Debug: Illegal direction parameter in findNewInsertionOffset");
+
+            if (line < 0) {
+                //result.setOffset(0, TextOffset.AFTER_OFFSET);
+                result.assign(prevOffset);
+            }
+            else if (line > lastLine()) {
+                result.setOffset(fLTCurTextLen, TextOffset.BEFORE_OFFSET);
+            }
+            else {
+                if (fLineTable[line] == null)
+                    line = (dir == eUp)? fLTPosEnd : fLTNegStart;
+
+                // anchor is null since we never want a position after newline.  If we used the real anchor,
+                // we might not ignore the newline even though infiniteMode is true.
+                lineDimToOffset(result, line, distOnLine, 0, null, true);
+            }
+        }
+
+        // System.out.println("fnio prev: " + prevOffset + ", new: " + result);
+
+        return result;
+    }
+
+    public synchronized void stopBackgroundFormatting()
+    {
+        checkTimeStamp();
+        fBgFormatAllowed = false;
+    }
+
+    private synchronized void enableBGFormat()
+    {
+        try {
+            fBgFormatAllowed = true;
+            notify();
+        }
+        catch (IllegalMonitorStateException e) {
+        }
+    }
+
+    private int lineIndexToNumber(int lineIndex) {
+
+        if (lineIndex <= fLTPosEnd) {
+            return lineIndex;
+        }
+        else {
+            return lineIndex - (fLTNegStart-fLTPosEnd-1);
+        }
+    }
+
+    private int lineNumberToIndex(int lineNumber) {
+
+        if (lineNumber <= fLTPosEnd) {
+            return lineNumber;
+        }
+        else {
+            return lineNumber + (fLTNegStart-fLTPosEnd-1);
+        }
+    }
+
+    private void formatToLineNumber(int lineNumber) {
+
+        while (lastLineCharStop() < fLTCurTextLen &&
+                lineNumber >= lineIndexToNumber(fLTSize)) {
+            // could be smarter and choose larger amounts for
+            // larger lines, but probably not worth the effort
+            formatToHeight(fPixHeight + kPixIncrement);
+        }
+    }
+
+    private static final boolean STRICT = true;
+    private static final boolean LENIENT = false;
+
+    /**
+     * Insure that at least lineNumber lines exist, doing
+     * extra formatting if necessary.
+     * Throws exception if lineNumber is not valid.
+     * @param strict if STRICT, only lines [0...maxLineNumber()]
+     *        are permitted.  If LENIENT, maxLineNumber()+1 is
+     *        the greatest valid value.
+     */
+    private void validateLineNumber(int lineNumber, boolean strict) {
+
+        formatToLineNumber(lineNumber);
+
+        int maxNumber = lineIndexToNumber(fLTSize);
+        if (strict == STRICT) {
+            maxNumber -= 1;
+        }
+
+        if (lineNumber > maxNumber+1 ||
+                (lineNumber == maxNumber+1 && !emptyParagraphAtEndOfText())) {
+            throw new IllegalArgumentException("Invalid line number: " + lineNumber);
+        }
+    }
+
+    public synchronized int getLineCount() {
+
+        // format all text:
+        formatToHeight(Integer.MAX_VALUE);
+
+        int lineCount = lineIndexToNumber(fLTSize);
+
+        if (emptyParagraphAtEndOfText()) {
+            lineCount += 1;
+        }
+
+        return lineCount;
+    }
+    
+    public synchronized int lineContaining(int charIndex) {
+        
+        formatToOffset(charIndex, TextOffset.AFTER_OFFSET);
+        
+        boolean placement = TextOffset.AFTER_OFFSET;
+        if (charIndex == fLTCurTextLen && charIndex > 0) {
+            placement = emptyParagraphAtEndOfText()? TextOffset.AFTER_OFFSET :
+                                                     TextOffset.BEFORE_OFFSET;
+        }
+        
+        return lineContaining(charIndex, placement);
+    }
+
+    public synchronized int lineContaining(TextOffset offset) {
+
+        formatToOffset(offset);
+
+        if (afterLastParagraph(offset)) {
+            return lineIndexToNumber(fLTSize);
+        }
+        
+        return lineContaining(offset.fOffset, offset.fPlacement);
+    }
+    
+    private int lineContaining(int off, boolean placement) {
+        
+        int line = off==0? 0 : getLineContaining(off, placement);
+        
+        if (line == kAfterLastLine) {
+            line = fLTSize;
+        }
+        else if (line == kBeforeFirstLine) {
+            throw new Error("lineContaining got invalid result from getLineContaining().");
+        }
+
+        return lineIndexToNumber(line);
+    }
+
+    public synchronized int lineRangeLow(int lineNumber) {
+
+        validateLineNumber(lineNumber, STRICT);
+        int index = lineNumberToIndex(lineNumber);
+
+        if (index == fLTSize) {
+            if (emptyParagraphAtEndOfText()) {
+                return lastLineCharStop();
+            }
+        }
+
+        if (index >= fLTSize) {
+            throw new IllegalArgumentException("lineNumber is invalid.");
+        }
+        else {
+            return lineCharStartInternal(index);
+        }
+    }
+
+    public synchronized int lineRangeLimit(int lineNumber) {
+
+        validateLineNumber(lineNumber, STRICT);
+        int index = lineNumberToIndex(lineNumber);
+
+        if (index == fLTSize) {
+            if (emptyParagraphAtEndOfText()) {
+                return lastLineCharStop();
+            }
+        }
+
+        if (index >= fLTSize) {
+            throw new IllegalArgumentException("lineNumber is invalid.");
+        }
+        else {
+            return lineCharLimitInternal(index);
+        }
+    }
+
+    /**
+     * Return the number of the line at the given graphic height.
+     * If height is greater than full height, return line count.
+     */
+    public synchronized int lineAtHeight(int height) {
+
+        if (height >= fPixHeight) {
+
+            int line = getLineCount();
+            if (height < fFullPixHeight) {
+                line -= 1;
+            }
+            return line;
+        }
+        else if (height < 0) {
+            return -1;
+        }
+        else {
+            return lineIndexToNumber(findLineAt(height));
+        }
+    }
+
+    public synchronized int lineGraphicStart(int lineNumber) {
+
+        checkTimeStamp();
+        validateLineNumber(lineNumber, LENIENT);
+
+        int index = lineNumberToIndex(lineNumber);
+
+        if (index < fLTSize) {
+            return lineGraphicStartInternal(index);
+        }
+        else {
+            if (index == fLTSize+1) {
+                return fFullPixHeight;
+            }
+            else {
+                return fPixHeight;
+            }
+        }
+    }
+
+    public synchronized boolean lineIsLeftToRight(int lineNumber) {
+        
+        validateLineNumber(lineNumber, STRICT);
+        
+        int index = lineNumberToIndex(lineNumber);
+        
+        if (index < fLTSize) {
+            return fLineTable[index].isLeftToRight();
+        }
+        else {
+            AttributeMap st = fText.paragraphStyleAt(fLTCurTextLen);
+            return !TextAttribute.RUN_DIRECTION_RTL.equals(st.get(TextAttribute.RUN_DIRECTION));
+        }
+    }
+
+    /**
+    * Number of pixels by which to advance formatting in the background.
+    */
+    private static final int kPixIncrement = 100;
+
+    /**
+    * Time to sleep between background formatting operations.
+    */
+    private static final int kInterval = 100;
+
+    /**
+    * Perform periodic background formatting.
+    */
+    public void run()
+    {
+        while (true) {
+            synchronized (this) {
+                while(!fBgFormatAllowed) {
+                    try {
+                        wait();
+                    } catch(InterruptedException e) {
+                    }
+                }
+
+                checkTimeStamp();                
+                formatToHeight(fPixHeight + kPixIncrement);
+
+                if (lastLineCharStop() == fLTCurTextLen) {
+                    stopBackgroundFormatting();
+                }
+            }
+
+            try {
+                Thread.sleep(kInterval);
+            }
+            catch(InterruptedException e) {
+            }
+        }
+    }
+
+    private ParagraphRenderer getRendererFor(AttributeMap s) {
+    
+        // Note:  eventually we could let clients put their own renderers
+        // on the text.
+        BidiParagraphRenderer renderer = (BidiParagraphRenderer) fRendererCache.get(s);
+        if (renderer == null) {
+            renderer = new BidiParagraphRenderer(fDefaultValues.addAttributes(s), fDefaultCharMetric);
+            fRendererCache.put(s, renderer);
+        }
+        return renderer;
+    }
+
+}
diff --git a/src/com/ibm/richtext/textformat/BidiParagraphRenderer.java b/src/com/ibm/richtext/textformat/BidiParagraphRenderer.java
new file mode 100755
index 0000000..430f2eb
--- /dev/null
+++ b/src/com/ibm/richtext/textformat/BidiParagraphRenderer.java
@@ -0,0 +1,1147 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+// Requires Java2
+package com.ibm.richtext.textformat;
+
+import java.awt.Color;
+import java.awt.Rectangle;
+import java.awt.Shape;
+
+import java.util.Vector;
+
+import com.ibm.richtext.styledtext.MConstText;
+import com.ibm.richtext.styledtext.MTabRuler;
+import com.ibm.richtext.styledtext.TabStop;
+
+import com.ibm.richtext.textlayout.attributes.AttributeMap;
+import com.ibm.richtext.textlayout.attributes.TextAttribute;
+
+import com.ibm.richtext.textlayout.Graphics2DConversion;
+
+///*JDK12IMPORTS
+import java.awt.Graphics2D;
+
+import java.awt.font.FontRenderContext;
+import java.awt.font.TextLayout;
+import java.awt.font.LineBreakMeasurer;
+import java.awt.font.TextHitInfo;
+
+import java.awt.geom.AffineTransform;
+import java.awt.geom.GeneralPath;
+import java.awt.geom.Rectangle2D;
+//JDK12IMPORTS*/
+/*JDK11IMPORTS
+import com.ibm.richtext.textlayout.Graphics2D;
+
+import com.ibm.richtext.textlayout.FontRenderContext;
+import com.ibm.richtext.textlayout.TextLayout;
+import com.ibm.richtext.textlayout.LineBreakMeasurer;
+import com.ibm.richtext.textlayout.TextHitInfo;
+
+import com.ibm.richtext.textlayout.AffineTransform;
+import com.ibm.richtext.textlayout.GeneralPath;
+import com.ibm.richtext.textlayout.Rectangle2D;
+JDK11IMPORTS*/
+
+final class BidiParagraphRenderer extends ParagraphRenderer {
+
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+    private final class BidiSegment {
+        TextLayout fLayout;
+        Rectangle2D.Float fBounds;
+        int fDistanceFromLeadingMargin;
+    }
+
+    private final class BidiLayoutInfo extends LayoutInfo
+    {                    
+        int fCharLength;      // number of characters on line (was fLength)
+        int fAscent;
+        int fDescent;
+        int fLeading;
+        int fVisibleAdvance;  // distance along line direction ie width
+        int fTotalAdvance;    // distance along line direction including trailing whitespace
+
+        int fLeadingMargin;   // screen distance from leading margin
+
+        boolean fLeftToRight; // true iff the orientation is left-to-right
+
+        final Vector fSegments = new Vector(); // segments to render, in logical order
+
+        public int getCharLength() {
+            return fCharLength;
+        }
+
+        public int getAscent() {
+            return fAscent;
+        }
+
+        public int getDescent() {
+            return fDescent;
+        }
+
+        public int getLeading() {
+            return fLeading;
+        }
+
+        public int getVisibleAdvance() {
+            return fVisibleAdvance;
+        }
+
+        public int getTotalAdvance() {
+            return fTotalAdvance;
+        }
+
+        public int getLeadingMargin() {
+            return fLeadingMargin;
+        }
+
+        public boolean isLeftToRight() {
+            return fLeftToRight;
+        }
+
+        public int getHeight() {
+            return fAscent + fDescent + fLeading;
+        }
+
+        public String toString()
+        {
+            return "LayoutInfo(charStart: " + getCharStart(0) +
+                ", fCharLength: " + fCharLength +
+                ", fAscent: " + fAscent +
+                ", fDescent: " + fDescent +
+                ", fVisibleAdvance: " + fVisibleAdvance +
+                ", fTotalAdvance: " + fTotalAdvance +
+                ", fLeadingMargin: " + fLeadingMargin +
+                ")";
+        }
+
+        BidiParagraphRenderer fRenderer;
+
+        // just delegate to renderer for now
+
+        public void renderWithHighlight(int lengthBasis,
+                                        Graphics2D g,
+                                        int lineBound,
+                                        int x,
+                                        int y,
+                                        TextOffset selStart,
+                                        TextOffset selStop,
+                                        Color highlightColor) {
+
+            fRenderer.renderWithHighlight(this,
+                                          lengthBasis,
+                                          g,
+                                          lineBound,
+                                          x,
+                                          y,
+                                          selStart,
+                                          selStop,
+                                          highlightColor);
+        }
+
+        public void render(int lengthBasis,
+                           Graphics2D g,
+                           int lineBound,
+                           int x,
+                           int y) {
+            fRenderer.render(this, lengthBasis, g, lineBound, x, y);
+        }
+
+        public void renderCaret(MConstText text,
+                                int lengthBasis,
+                                Graphics2D g,
+                                int lineBound,
+                                int x,
+                                int y,
+                                int charOffset,
+                                Color strongCaretColor,
+                                Color weakCaretColor) {
+            fRenderer.renderCaret(this, text, lengthBasis, g, lineBound, x, y, charOffset,
+                                        strongCaretColor, weakCaretColor);
+        }
+
+        public TextOffset pixelToOffset(int lengthBasis,
+                                        TextOffset result,
+                                        int lineBound,
+                                        int x,
+                                        int y) {
+            return fRenderer.pixelToOffset(this, lengthBasis, result, lineBound, x, y);
+        }
+
+        public Rectangle caretBounds(MConstText text,
+                                     int lengthBasis,
+                                     int lineBound,
+                                     int charOffset,
+                                     int x,
+                                     int y) {
+            return fRenderer.caretBounds(this, text, lengthBasis, lineBound, charOffset, x, y);
+        }
+        
+        public int strongCaretBaselinePosition(int lengthBasis,
+                                               int lineBound,
+                                               int charOffset) {
+
+            return fRenderer.strongCaretBaselinePosition(this, lengthBasis, lineBound, charOffset);
+        }
+
+        public int getNextOffset(int lengthBasis,
+                                 int charOffset,
+                                 short dir) {
+
+            return fRenderer.getNextOffset(this, lengthBasis, charOffset, dir);
+        }
+    }
+
+    private static final int FLUSH_LEADING = TextAttribute.FLUSH_LEADING.intValue();
+    private static final int FLUSH_CENTER = TextAttribute.FLUSH_CENTER.intValue();
+    private static final int FLUSH_TRAILING = TextAttribute.FLUSH_TRAILING.intValue();
+    private static final int FULLY_JUSTIFIED = TextAttribute.FULLY_JUSTIFIED.intValue();
+
+    private AttributeMap cacheStyle = null;
+
+    private float fLeadingMargin;
+    private float fTrailingMargin;
+    private float fFirstLineIndent;
+    private float fMinLineSpacing;
+    private float fExtraLineSpacing;
+    
+    private int fFlush = -1;
+    private MTabRuler fTabRuler;
+    
+    private boolean fLtrDefault;
+    private DefaultCharacterMetric fDefaultCharMetric;
+    
+    BidiParagraphRenderer(AttributeMap pStyle, DefaultCharacterMetric defaultCharMetric) {
+
+        fDefaultCharMetric = defaultCharMetric;
+        initRenderer(pStyle);
+    }
+
+    private float getFloatValue(Object key, AttributeMap style) {
+        return ((Float)style.get(key)).floatValue();
+    }
+    
+    private int getIntValue(Object key, AttributeMap style) {
+        return ((Integer)style.get(key)).intValue();
+    }
+    
+    /**
+     * NOTE:  it is illegal to initialize a StandardParagraphRenderer for any style
+     * other than the one it was created with.
+     */
+    public void initRenderer(AttributeMap pStyle) {
+
+        if (cacheStyle == null) {
+
+            fLeadingMargin = getFloatValue(TextAttribute.LEADING_MARGIN, pStyle);
+            fTrailingMargin = getFloatValue(TextAttribute.TRAILING_MARGIN, pStyle);
+            fFirstLineIndent = getFloatValue(TextAttribute.FIRST_LINE_INDENT, pStyle);
+            fMinLineSpacing = getFloatValue(TextAttribute.MIN_LINE_SPACING, pStyle);
+            fExtraLineSpacing = getFloatValue(TextAttribute.EXTRA_LINE_SPACING, pStyle);
+
+            fFlush = getIntValue(TextAttribute.LINE_FLUSH, pStyle);
+
+            fTabRuler = (MTabRuler) pStyle.get(TextAttribute.TAB_RULER);
+            
+            Object runDir = pStyle.get(TextAttribute.RUN_DIRECTION);
+            fLtrDefault = !TextAttribute.RUN_DIRECTION_RTL.equals(runDir);
+
+            cacheStyle = pStyle;
+        }
+        else if (pStyle != cacheStyle) {
+            if (!pStyle.equals(cacheStyle)) {
+                throw new Error("Attempt to share BidiParagraphRenderer between styles!");
+            }
+            else {
+                cacheStyle = pStyle;
+            }
+        }
+    }
+
+    private static boolean isTab(char ch) {
+        return ch == '\t';
+    }
+
+    /**
+     * Fill in info with the next line.
+     * @param measurer the LineBreakMeasurer for this paragraph.
+     *  Current position should be the first character on the line.
+     *  If null, a 0-length line is generated.  If measurer is null
+     *  then paragraphStart and paragraphLimit should be equal.
+     */
+    // Usually totalFormatWidth and lineBound will be the same.
+    // totalFormatWidth is used for wrapping, but lineBound is
+    // for flushing.  These may be different for unwrapped text,
+    // for example.
+    public LayoutInfo layout(MConstText text,
+                             LayoutInfo layoutToReuse,
+                             LineBreakMeasurer measurer,
+                             FontRenderContext frc,
+                             int paragraphStart,
+                             int paragraphLimit,
+                             int totalFormatWidth,
+                             int lineBound) {
+
+        if ((measurer==null) != (paragraphStart==paragraphLimit)) {
+            throw new IllegalArgumentException(
+                    "measurer, paragraphStart, paragraphLimit are wrong.");
+        }
+        BidiLayoutInfo line = null;
+
+        try {
+            line = (BidiLayoutInfo) layoutToReuse;
+        }
+        catch(ClassCastException e) {
+        }
+
+        if (line == null) {
+            line = new BidiLayoutInfo();
+        }
+
+        line.fRenderer = this;
+
+        final int lineCharStart = measurer==null? paragraphStart : measurer.getPosition();
+        line.setCharStart(lineCharStart);
+
+        final int lineIndent = (lineCharStart==paragraphStart)? (int) fFirstLineIndent : 0;
+
+        int formatWidth = totalFormatWidth - (int) (fLeadingMargin + fTrailingMargin);
+        computeLineMetrics(text, line, measurer, frc,
+                            paragraphStart, paragraphLimit, formatWidth, lineIndent);
+
+        // position the line according to the line flush
+        if (fFlush == FLUSH_TRAILING || fFlush == FLUSH_CENTER) {
+            int lineArea = lineBound - (int) (fLeadingMargin + fTrailingMargin);
+            int advanceDifference = lineArea - line.fVisibleAdvance;
+
+            if (fFlush == FLUSH_TRAILING) {
+                line.fLeadingMargin = ((int) (fLeadingMargin)) + advanceDifference;
+            }
+            else if (fFlush == FLUSH_CENTER) {
+                line.fLeadingMargin = (int) (fLeadingMargin + advanceDifference/2);
+            }
+        }
+        else {
+            line.fLeadingMargin = (int) fLeadingMargin;
+        }
+
+        return line;
+    }
+
+    /**
+     * Fill in the following fields in line:
+     * fCharLength, fAscent, fDescent, fLeading, fVisibleAdvance,
+     * fTotalAdvance.
+     * Uses: line.fLeadingMargin
+     * @param formatWidth the width to fit the line into.
+     */
+    private void computeLineMetrics(MConstText text,
+                                    BidiLayoutInfo line,
+                                    LineBreakMeasurer measurer,
+                                    FontRenderContext frc,
+                                    final int paragraphStart,
+                                    final int paragraphLimit,
+                                    final int formatWidth,
+                                    final int lineIndent) {
+
+        int segmentCount = 0;
+        /* variable not used boolean firstLine = measurer==null ||
+                            measurer.getPosition() == paragraphStart; */
+
+        if (measurer != null) {
+            computeSegments(text, line, measurer, paragraphLimit, formatWidth, lineIndent);
+
+            // iterate through segments and accumulate ascent, descent,
+            // leading, char length
+            float ascent = 0;
+            float descent = 0;
+            float descentPlusLeading = 0;
+
+            segmentCount = line.fSegments.size();
+            for (int i=0; i < segmentCount; i++) {
+                TextLayout layout = ((BidiSegment)line.fSegments.elementAt(i)).fLayout;
+                ascent = Math.max(ascent, layout.getAscent());
+                float segDescent = layout.getDescent();
+                descent = Math.max(descent, segDescent);
+                descentPlusLeading = Math.max(descentPlusLeading, segDescent+layout.getLeading());
+                line.fCharLength += layout.getCharacterCount();
+            }
+
+            line.fAscent = (int) Math.ceil(ascent);
+            line.fDescent = (int) Math.ceil(descent);
+            line.fLeading = (int) Math.ceil(descentPlusLeading) - line.fDescent;
+        }
+        else {
+            line.fLeftToRight = fLtrDefault;
+            line.fSegments.removeAllElements();
+
+            line.fCharLength = 0;
+
+            AttributeMap style = text.characterStyleAt(paragraphStart);
+            DefaultCharacterMetric.Metric cm = fDefaultCharMetric.getMetricForStyle(style);
+            line.fAscent = cm.getAscent();
+            line.fDescent = cm.getDescent();
+            line.fLeading = cm.getLeading();
+
+            line.fVisibleAdvance = line.fTotalAdvance = 0;
+        }
+
+        if (fExtraLineSpacing != 0) {
+            line.fAscent += (int) Math.ceil(fExtraLineSpacing);
+        }
+
+        if (fMinLineSpacing != 0){
+            int height = line.getHeight();
+            if (height < fMinLineSpacing) {
+                line.fAscent += Math.ceil(fMinLineSpacing - height);
+            }
+        }
+
+        final int lineNaturalAdvance = line.fTotalAdvance;
+
+        line.fTotalAdvance += lineIndent;
+        line.fVisibleAdvance += lineIndent;
+
+        if (measurer != null) {
+            // Now fill in fBounds field of BidiSegments.  fBounds should tile
+            // the line.
+            final float lineHeight = line.getHeight();
+
+            for (int i=1; i < segmentCount; i++) {
+
+                BidiSegment currentSegment = (BidiSegment) line.fSegments.elementAt(i-1);
+                BidiSegment nextSegment = (BidiSegment) line.fSegments.elementAt(i);
+
+                float origin;
+                float width;
+
+                if (line.fLeftToRight) {
+                    origin = 0;
+                    width = nextSegment.fDistanceFromLeadingMargin -
+                                currentSegment.fDistanceFromLeadingMargin;
+                }
+                else {
+                    origin = currentSegment.fDistanceFromLeadingMargin;
+                    origin -= nextSegment.fDistanceFromLeadingMargin;
+                    origin += (float) Math.ceil(nextSegment.fLayout.getAdvance());
+                    width = (float) Math.ceil(currentSegment.fLayout.getAdvance()) - origin;
+                }
+                currentSegment.fBounds = new Rectangle2D.Float(origin, -line.fAscent, width, lineHeight);
+            }
+
+            // set last segment's bounds
+            {
+                BidiSegment currentSegment = (BidiSegment) line.fSegments.elementAt(segmentCount-1);
+                float origin;
+                float width;
+
+                if (line.fLeftToRight) {
+                    origin = 0;
+                    width = lineNaturalAdvance - currentSegment.fDistanceFromLeadingMargin;
+                }
+                else {
+                    origin = currentSegment.fDistanceFromLeadingMargin - lineNaturalAdvance;
+                    width = (float) Math.ceil(currentSegment.fLayout.getAdvance()) - origin;
+                }
+
+                currentSegment.fBounds = new Rectangle2D.Float(origin, -line.fAscent, width, lineHeight);
+            }
+        }
+    }
+
+    /**
+     * Fill in fSegments, fLeftToRight.  measurer must not be null
+     */
+    private void computeSegments(MConstText text,
+                                 BidiLayoutInfo line,
+                                 LineBreakMeasurer measurer,
+                                 final int paragraphLimit,
+                                 final int formatWidth,
+                                 final int lineIndent) {
+
+        // Note on justification:  only the last segment of a line is
+        // justified.  
+        // Also, if a line ends in a tab it will not be justified.
+        // This behavior is consistent with other word processors
+        // I tried (MS Word and Lotus Word Pro).
+        
+        line.fSegments.removeAllElements();
+        line.fCharLength = 0;
+
+        TabStop currentTabStop = new TabStop((int)fLeadingMargin+lineIndent, TabStop.kLeading);
+
+        int segmentLimit = measurer.getPosition();
+        boolean firstSegment = true;
+
+        int advanceFromLeadingMargin = lineIndent;
+
+        boolean computeSegs = true;
+        
+        computeTabbedSegments: do {
+
+            // compute sementLimit:
+            if (segmentLimit <= measurer.getPosition()) {
+                while (segmentLimit < paragraphLimit) {
+                    if (isTab(text.at(segmentLimit++))) {
+                        break;
+                    }
+                }
+            }
+
+            // NOTE:  adjust available width for center tab!!!
+            //System.out.println("Format width: " + (formatWidth-advanceFromLeadingMargin) +
+            //                   ";  segmentLimit: " + segmentLimit);
+
+            int wrappingWidth = Math.max(formatWidth-advanceFromLeadingMargin, 0);
+            TextLayout layout = null;
+            if (firstSegment || wrappingWidth > 0 || segmentLimit > measurer.getPosition()+1) {
+                layout = measurer.nextLayout(wrappingWidth, segmentLimit, !firstSegment);
+            }
+
+            if (layout == null) {
+                if (firstSegment) {
+                    // I doubt this would happen, but check anyway
+                    throw new Error("First layout is null!");
+                }
+                break computeTabbedSegments;
+            }
+            
+            final int measurerPos = measurer.getPosition();
+            if (measurerPos < segmentLimit) {
+                computeSegs = false;
+                if (fFlush == FULLY_JUSTIFIED) {
+                    layout = layout.getJustifiedLayout(wrappingWidth);
+                }
+            }
+            else {
+                computeSegs = !(measurerPos == paragraphLimit);
+            }
+
+            if (firstSegment) {
+                firstSegment = false;
+                // Have to get ltr off of layout.  Not available from measurer,
+                // unfortunately.
+                line.fLeftToRight = layout.isLeftToRight();
+            }
+
+            BidiSegment segment = new BidiSegment();
+            segment.fLayout = layout;
+            int layoutAdvance = (int) Math.ceil(layout.getAdvance());
+
+            // position layout relative to leading margin, update logicalPositionOnLine
+            
+            int relativeTabPosition = currentTabStop.getPosition()-(int)fLeadingMargin;
+            int logicalPositionOfLayout;
+            switch (currentTabStop.getType()) {
+                case TabStop.kTrailing:
+                    logicalPositionOfLayout = Math.max(
+                                    relativeTabPosition-layoutAdvance,
+                                    advanceFromLeadingMargin);
+                    break;
+                case TabStop.kCenter:
+                    logicalPositionOfLayout = Math.max(
+                                    relativeTabPosition-(layoutAdvance/2),
+                                    advanceFromLeadingMargin);
+                    break;
+                default:  // includes decimal tab right now
+                    logicalPositionOfLayout = relativeTabPosition;
+                    break;
+            }
+
+            // position layout in segment
+            if (line.fLeftToRight) {
+                segment.fDistanceFromLeadingMargin = logicalPositionOfLayout;
+            }
+            else {
+                segment.fDistanceFromLeadingMargin = logicalPositionOfLayout+layoutAdvance;
+            }
+
+            // update advanceFromLeadingMargin
+            advanceFromLeadingMargin = logicalPositionOfLayout + layoutAdvance;
+
+            // add segment to segment Vector
+            line.fSegments.addElement(segment);
+
+            // get next tab
+            currentTabStop = fTabRuler.nextTab((int)fLeadingMargin+advanceFromLeadingMargin);
+            if (currentTabStop.getType() == TabStop.kLeading ||
+                            currentTabStop.getType() == TabStop.kAuto)  {
+                advanceFromLeadingMargin = currentTabStop.getPosition();
+                //System.out.println("Advance from leading margin:" + advanceFromLeadingMargin);
+
+            }
+            else {
+               //System.out.println("Non-leading tab, type=" + currentTabStop.getType());
+            }
+
+        } while (computeSegs);
+
+        // Now compute fTotalAdvance, fVisibleAdvance.  These metrics may be affected
+        // by a trailing tab.
+
+        {
+            BidiSegment lastSegment = (BidiSegment) line.fSegments.lastElement();
+            TextLayout lastLayout = lastSegment.fLayout;
+
+            if (line.fLeftToRight) {
+                line.fTotalAdvance = (int) Math.ceil(lastLayout.getAdvance()) +
+                                        lastSegment.fDistanceFromLeadingMargin;
+                line.fVisibleAdvance = (int) Math.ceil(lastLayout.getVisibleAdvance()) +
+                                        lastSegment.fDistanceFromLeadingMargin;
+            }
+            else {
+                line.fTotalAdvance = lastSegment.fDistanceFromLeadingMargin;
+                line.fVisibleAdvance = lastSegment.fDistanceFromLeadingMargin -
+                                        (int) Math.ceil(lastLayout.getAdvance() -
+                                            lastLayout.getVisibleAdvance());
+            }
+
+            if (isTab(text.at(measurer.getPosition()-1))) {
+                line.fTotalAdvance = Math.max(line.fTotalAdvance,
+                                                currentTabStop.getPosition());
+            }
+        }
+    }
+
+    /**
+     * Return the highlight shape for the given character offsets.
+     * The Shape returned is relative to the leftmost point on the
+     * baseline of line.
+     */
+    private Shape getHighlightShape(BidiLayoutInfo line,
+                                    int lengthBasis,
+                                    int lineBound,
+                                    int hlStart,
+                                    int hlLimit) {
+
+        if (hlStart >= hlLimit) {
+            throw new IllegalArgumentException("Highlight range length is not positive.");
+        }
+
+        final int leadingMargin = (line.fLeftToRight)?
+                line.fLeadingMargin : lineBound - line.fLeadingMargin;
+        final int segmentCount = line.fSegments.size();
+
+        Shape rval = null;
+        GeneralPath highlightPath = null;
+
+        int currentLayoutStart = line.getCharStart(lengthBasis);
+
+        for (int i=0; i < segmentCount; i++) {
+
+            BidiSegment segment = (BidiSegment) line.fSegments.elementAt(i);
+            TextLayout layout = segment.fLayout;
+            int charCount = layout.getCharacterCount();
+            int currentLayoutLimit = currentLayoutStart + charCount;
+            boolean rangesIntersect;
+            if (hlStart <= currentLayoutStart) {
+                rangesIntersect = hlLimit > currentLayoutStart;
+            }
+            else {
+                rangesIntersect = hlStart < currentLayoutLimit;
+            }
+
+            if (rangesIntersect) {
+
+                Shape currentHl = layout.getLogicalHighlightShape(
+                                        Math.max(hlStart-currentLayoutStart, 0),
+                                        Math.min(hlLimit-currentLayoutStart, charCount),
+                                        segment.fBounds);
+
+                float xTranslate;
+                if (line.fLeftToRight) {
+                    xTranslate = leadingMargin +
+                                 segment.fDistanceFromLeadingMargin;
+                }
+                else {
+                    xTranslate = leadingMargin -
+                                 segment.fDistanceFromLeadingMargin;
+                }
+
+                if (xTranslate != 0) {
+                    AffineTransform xform =
+                        AffineTransform.getTranslateInstance(xTranslate, 0);
+                    currentHl = xform.createTransformedShape(currentHl);
+                }
+
+                if (rval == null) {
+                    rval = currentHl;
+                }
+                else {
+                    if (highlightPath == null) {
+                        highlightPath = new GeneralPath();
+                        highlightPath.append(rval, false);
+                        rval = highlightPath;
+                    }
+                    highlightPath.append(currentHl, false);
+                }
+            }
+            currentLayoutStart = currentLayoutLimit;
+        }
+
+        return rval;
+    }
+
+    private void renderWithHighlight(BidiLayoutInfo line,
+                                     int lengthBasis,
+                                     Graphics2D g,
+                                     int lineBound,
+                                     int x,
+                                     int y,
+                                     TextOffset selStart,
+                                     TextOffset selStop,
+                                     Color highlightColor) {
+
+        final int lineCharStart = line.getCharStart(lengthBasis);
+
+        if (selStart != null && selStop != null && !selStart.equals(selStop) &&
+                line.fCharLength != 0 &&
+                selStart.fOffset < lineCharStart + line.fCharLength &&
+                selStop.fOffset > lineCharStart) {
+
+            Shape highlight = getHighlightShape(line, lengthBasis, lineBound, selStart.fOffset, selStop.fOffset);
+            if (highlight != null) {
+                Graphics2D hl = (Graphics2D) g.create();
+                hl.setColor(highlightColor);
+                hl.translate(x, y + line.fAscent);
+                hl.fill(highlight);
+            }
+        }
+
+        render(line, lengthBasis, g, lineBound, x, y);
+    }
+
+    /**
+     * Draw the line into the graphics.  (x, y) is the upper-left corner
+     * of the line.  The leading edge of a right-aligned line is aligned
+     * to (x + lineBound).
+     */
+    private void render(BidiLayoutInfo line,
+                        int lengthBasis,
+                        Graphics2D g,
+                        int lineBound,
+                        int x,
+                        int y) {
+
+        final int leadingMargin = (line.fLeftToRight)?
+                x + line.fLeadingMargin : x + lineBound - line.fLeadingMargin;
+        final int baseline = y + line.fAscent;
+        final int segmentCount = line.fSegments.size();
+
+        for (int i=0; i < segmentCount; i++) {
+
+            BidiSegment segment = (BidiSegment) line.fSegments.elementAt(i);
+
+            float drawX;
+            if (line.fLeftToRight) {
+                drawX = leadingMargin + segment.fDistanceFromLeadingMargin;
+            }
+            else {
+                drawX = leadingMargin - segment.fDistanceFromLeadingMargin;
+            }
+
+            segment.fLayout.draw(g, drawX, baseline);
+        }
+    }
+
+    private TextOffset hitTestSegment(TextOffset result,
+                                      int segmentCharStart,
+                                      BidiSegment segment,
+                                      int xInSegment,
+                                      int yInSegment) {
+
+        final TextLayout layout = segment.fLayout;
+        final int charCount = layout.getCharacterCount();
+        final int layoutAdvance = (int) Math.ceil(layout.getAdvance());
+        Rectangle2D bounds = segment.fBounds;
+
+        final boolean ltr = layout.isLeftToRight();
+
+        if (ltr && (xInSegment >= layoutAdvance) || !ltr && (xInSegment <= 0)) {
+
+            // pretend the extra space at the end of the line is a
+            // tab and 'hit-test' it.
+            double tabCenter;
+            if (ltr) {
+                tabCenter = (layoutAdvance+bounds.getMaxX()) / 2;
+            }
+            else {
+                tabCenter = bounds.getX() / 2;
+            }
+
+            if ((xInSegment >= tabCenter) == ltr) {
+                result.fOffset = charCount;
+                result.fPlacement = TextOffset.BEFORE_OFFSET;
+            }
+            else {
+                result.fOffset = charCount-1;
+                result.fPlacement = TextOffset.AFTER_OFFSET;
+            }
+        }
+        else {
+            TextHitInfo info = layout.hitTestChar(xInSegment, yInSegment, segment.fBounds);
+            result.fOffset = info.getInsertionIndex();
+            if (result.fOffset == 0) {
+                result.fPlacement = TextOffset.AFTER_OFFSET;
+            }
+            else if (result.fOffset == charCount) {
+                result.fPlacement = TextOffset.BEFORE_OFFSET;
+            }
+            else {
+                result.fPlacement = info.isLeadingEdge()?
+                        TextOffset.AFTER_OFFSET : TextOffset.BEFORE_OFFSET;
+            }
+        }
+
+        result.fOffset += segmentCharStart;
+        return result;
+    }
+
+    /**
+     * Return the offset at the point (x, y).  (x, y) is relative to the top-left
+     * of the line.  The leading edge of a right-aligned line is aligned
+     * to lineBound.
+     */
+    private TextOffset pixelToOffset(BidiLayoutInfo line,
+                                     int lengthBasis,
+                                     TextOffset result,
+                                     int lineBound,
+                                     int x,
+                                     int y) {
+
+        if (result == null) {
+            result = new TextOffset();
+        }
+
+        final int yInSegment = y - line.fAscent;
+        final int leadingMargin = (line.fLeftToRight)?
+                line.fLeadingMargin : lineBound - line.fLeadingMargin;
+        final int lineCharStart = line.getCharStart(lengthBasis);
+
+        // first see if point is before leading edge of line
+        final int segmentCount = line.fSegments.size();
+        {
+            int segLeadingMargin = leadingMargin;
+            if (segmentCount > 0) {
+                BidiSegment firstSeg = (BidiSegment) line.fSegments.elementAt(0);
+                if (line.fLeftToRight) {
+                    segLeadingMargin += firstSeg.fDistanceFromLeadingMargin;
+                }
+                else {
+                    segLeadingMargin -= firstSeg.fDistanceFromLeadingMargin;
+                    segLeadingMargin += (float) firstSeg.fBounds.getMaxX();
+                }
+            }
+            if (line.fLeftToRight == (x <= segLeadingMargin)) {
+                result.fOffset = lineCharStart;
+                result.fPlacement = TextOffset.AFTER_OFFSET;
+                return result;
+            }
+        }
+
+        int segmentCharStart = lineCharStart;
+
+        for (int i=0; i < segmentCount; i++) {
+
+            BidiSegment segment = (BidiSegment) line.fSegments.elementAt(i);
+            int segmentOrigin = line.fLeftToRight?
+                            leadingMargin+segment.fDistanceFromLeadingMargin :
+                            leadingMargin-segment.fDistanceFromLeadingMargin;
+            int xInSegment = x - segmentOrigin;
+            if (line.fLeftToRight) {
+                if (segment.fBounds.getMaxX() > xInSegment) {
+                    return hitTestSegment(result, segmentCharStart, segment, xInSegment, yInSegment);
+                }
+            }
+            else {
+                if (segment.fBounds.getX() < xInSegment) {
+                    return hitTestSegment(result, segmentCharStart, segment, xInSegment, yInSegment);
+                }
+            }
+            segmentCharStart += segment.fLayout.getCharacterCount();
+        }
+
+        result.fOffset = lineCharStart + line.fCharLength;
+        result.fPlacement = TextOffset.BEFORE_OFFSET;
+        return result;
+    }
+
+    private void renderCaret(BidiLayoutInfo line,
+                             MConstText text,
+                             int lengthBasis,
+                             Graphics2D g,
+                             int lineBound,
+                             int x,
+                             int y,
+                             final int charOffset,
+                             Color strongCaretColor,
+                             Color weakCaretColor)
+    {
+        final int segmentCount = line.fSegments.size();
+        final int lineStart = line.getCharStart(lengthBasis);
+
+        int currentStart = lineStart;
+        BidiSegment segment = null;
+        int segmentIndex;
+
+        for (segmentIndex=0; segmentIndex < segmentCount; segmentIndex++) {
+            segment = (BidiSegment) line.fSegments.elementAt(segmentIndex);
+            int currentEndpoint = currentStart + segment.fLayout.getCharacterCount();
+            if (currentEndpoint > charOffset) {
+                break;
+            }
+            currentStart = currentEndpoint;
+        }
+
+        /*
+            There are two choices here:
+            1. get carets from a TextLayout and render them, or
+            2. make up a caret ourselves and render it.
+            We want to do 2 when:
+                * there is no text on the line, or
+                * the line ends with a tab and we are drawing the last caret on the line
+            Otherwise, we want 1.
+        */
+
+        if (segmentIndex == segmentCount && segmentCount > 0) {
+            // If we get here, line length is not 0, and charOffset is at end of line
+            if (!isTab(text.at(charOffset-1))) {
+                segmentIndex = segmentCount-1;
+                segment = (BidiSegment) line.fSegments.elementAt(segmentIndex);
+                currentStart = lineStart + line.getCharLength() -
+                                    segment.fLayout.getCharacterCount();
+            }
+        }
+
+        Object savedPaint = Graphics2DConversion.getColorState(g);
+
+        try {
+            if (segmentIndex < segmentCount) {
+                TextLayout layout = segment.fLayout;
+                int offsetInLayout = charOffset - currentStart;
+                Shape[] carets = layout.getCaretShapes(offsetInLayout, segment.fBounds);
+                g.setColor(strongCaretColor);
+                int layoutPos = line.fLeadingMargin + segment.fDistanceFromLeadingMargin;
+                int layoutX = line.fLeftToRight?
+                        x + layoutPos : x + lineBound - layoutPos;
+                int layoutY = y + line.fAscent;
+
+                // Translating and then clipping doesn't work.  Try this:
+                Rectangle2D.Float clipRect = new Rectangle2D.Float();
+                clipRect.setRect(segment.fBounds);
+                clipRect.x += layoutX;
+                clipRect.y += layoutY;
+                clipRect.width += 1;
+                clipRect.height -= 1;
+
+                Object savedClip = ClipWorkaround.saveClipState(g);
+                try {
+                    ClipWorkaround.translateAndDrawShapeWithClip(g,
+                                                                layoutX,
+                                                                layoutY,
+                                                                clipRect,
+                                                                carets[0]);
+                    if (carets[1] != null) {
+                        g.setColor(weakCaretColor);
+                        ClipWorkaround.translateAndDrawShapeWithClip(g,
+                                                                    layoutX,
+                                                                    layoutY,
+                                                                    clipRect,
+                                                                    carets[1]);
+                    }
+                }
+                finally {
+                    ClipWorkaround.restoreClipState(g, savedClip);
+                }
+            }
+            else {
+                int lineEnd = line.fLeadingMargin + line.fTotalAdvance;
+                int endX = line.fLeftToRight? lineEnd : lineBound-lineEnd;
+                endX += x;
+                g.drawLine(endX, y, endX, y+line.getHeight()-1);
+            }
+        }
+        finally {
+            Graphics2DConversion.restoreColorState(g, savedPaint);
+        }
+    }
+
+    private Rectangle caretBounds(BidiLayoutInfo line,
+                                  MConstText text,
+                                  int lengthBasis,
+                                  int lineBound,
+                                  int charOffset,
+                                  int x,
+                                  int y) {
+
+        final int segmentCount = line.fSegments.size();
+        final int lineStart = line.getCharStart(lengthBasis);
+        int currentStart = lineStart;
+        BidiSegment segment = null;
+        int segmentIndex;
+
+        for (segmentIndex=0; segmentIndex < segmentCount; segmentIndex++) {
+            segment = (BidiSegment) line.fSegments.elementAt(segmentIndex);
+            int currentEndpoint = currentStart + segment.fLayout.getCharacterCount();
+            if (currentEndpoint > charOffset) {
+                break;
+            }
+            currentStart = currentEndpoint;
+        }
+
+        if (segmentIndex == segmentCount && segmentCount > 0) {
+            // If we get here, line length is not 0, and charOffset is at end of line
+            if (!isTab(text.at(charOffset-1))) {
+                segmentIndex = segmentCount-1;
+                segment = (BidiSegment) line.fSegments.elementAt(segmentIndex);
+                currentStart = lineStart + line.getCharLength() -
+                                    segment.fLayout.getCharacterCount();
+            }
+        }
+
+        Rectangle r;
+        
+        if (segmentIndex < segmentCount) {
+            TextLayout layout = segment.fLayout;
+            int offsetInLayout = charOffset - currentStart;
+            Shape[] carets = layout.getCaretShapes(offsetInLayout, segment.fBounds);
+            r = carets[0].getBounds();
+            if (carets[1] != null) {
+                r.add(carets[1].getBounds());
+            }
+            r.width += 1;
+            
+            int layoutPos = line.fLeadingMargin + segment.fDistanceFromLeadingMargin;
+            if (line.fLeftToRight) {
+                r.x += layoutPos;
+            }
+            else {
+                r.x += lineBound - layoutPos;
+            }
+            r.y += line.fAscent;
+        }
+        else {
+            r = new Rectangle();
+            r.height = line.getHeight();
+            r.width = 1;
+            int lineEnd = line.fLeadingMargin + line.fTotalAdvance;
+            if (line.fLeftToRight) {
+                r.x = lineEnd;
+            }
+            else {
+                r.x = lineBound - lineEnd;
+            }
+        }
+        
+        r.translate(x, y);
+        return r;
+    }
+
+    private int strongCaretBaselinePosition(BidiLayoutInfo line,
+                                            int lengthBasis,
+                                            int lineBound,
+                                            int charOffset) {
+
+        final int segmentCount = line.fSegments.size();
+        int currentStart = line.getCharStart(lengthBasis);
+        BidiSegment segment = null;
+        int segmentIndex;
+
+        for (segmentIndex=0; segmentIndex < segmentCount; segmentIndex++) {
+            segment = (BidiSegment) line.fSegments.elementAt(segmentIndex);
+            int currentEndpoint = currentStart + segment.fLayout.getCharacterCount();
+            if (currentEndpoint > charOffset) {
+                break;
+            }
+            currentStart = currentEndpoint;
+        }
+
+        if (segmentIndex < segmentCount) {
+            TextLayout layout = segment.fLayout;
+            int offsetInLayout = charOffset - currentStart;
+            TextHitInfo hit = TextHitInfo.afterOffset(offsetInLayout);
+            hit = TextLayout.DEFAULT_CARET_POLICY.getStrongCaret(hit, hit.getOtherHit(), layout);
+            float[] info = layout.getCaretInfo(hit);
+            int layoutPos = line.fLeadingMargin + segment.fDistanceFromLeadingMargin;
+            if (line.fLeftToRight) {
+                return layoutPos + (int) info[0];
+            }
+            else {
+                return lineBound - layoutPos + (int) info[0];
+            }
+        }
+        else {
+            int lineEnd = line.fLeadingMargin + line.fTotalAdvance;
+            if (line.fLeftToRight) {
+                return lineEnd;
+            }
+            else {
+                return lineBound - lineEnd;
+            }
+        }
+    }
+
+    private int getNextOffset(BidiLayoutInfo line,
+                              int lengthBasis,
+                              int charOffset,
+                              short dir) {
+
+        if (dir != MFormatter.eLeft && dir != MFormatter.eRight) {
+            throw new IllegalArgumentException("Invalid direction.");
+        }
+
+        // find segment containing offset:
+        final int segmentCount = line.fSegments.size();
+        final int lineCharStart = line.getCharStart(lengthBasis);
+
+        int currentStart = lineCharStart;
+        BidiSegment segment = null;
+        int segmentIndex;
+
+        for (segmentIndex=0; segmentIndex < segmentCount; segmentIndex++) {
+            segment = (BidiSegment) line.fSegments.elementAt(segmentIndex);
+            int currentEndpoint = currentStart + segment.fLayout.getCharacterCount();
+            if (currentEndpoint > charOffset ||
+                    (segmentIndex == segmentCount-1 && currentEndpoint==charOffset)) {
+                break;
+            }
+            currentStart = currentEndpoint;
+        }
+
+        final boolean logAdvance = (dir==MFormatter.eRight)==(line.fLeftToRight);
+
+        int result;
+
+        if (segmentIndex < segmentCount) {
+            TextLayout layout = segment.fLayout;
+            int offsetInLayout = charOffset - currentStart;
+            TextHitInfo hit = (dir==MFormatter.eLeft)?
+                        layout.getNextLeftHit(offsetInLayout) :
+                        layout.getNextRightHit(offsetInLayout);
+            if (hit == null) {
+                result = logAdvance?
+                    currentStart+layout.getCharacterCount()+1 : currentStart-1;
+            }
+            else {
+                result = hit.getInsertionIndex() + currentStart;
+            }
+        }
+        else {
+            result = logAdvance? lineCharStart + line.fCharLength + 1 :
+                                         lineCharStart - 1;
+        }
+
+        return result;
+    }
+}
\ No newline at end of file
diff --git a/src/com/ibm/richtext/textformat/ClipWorkaround.java b/src/com/ibm/richtext/textformat/ClipWorkaround.java
new file mode 100755
index 0000000..0467b32
--- /dev/null
+++ b/src/com/ibm/richtext/textformat/ClipWorkaround.java
@@ -0,0 +1,140 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+// Requires Java2
+
+package com.ibm.richtext.textformat;
+
+import java.awt.Shape;
+///*JDK12IMPORTS
+import java.awt.Graphics2D;
+import java.awt.geom.Rectangle2D;
+import java.awt.geom.PathIterator;
+import java.awt.geom.Line2D;
+//JDK12IMPORTS*/
+/*JDK11IMPORTS
+import com.ibm.richtext.textlayout.Graphics2D;
+import com.ibm.richtext.textlayout.Rectangle2D;
+JDK11IMPORTS*/
+
+/**
+ * This class exists to work around a clipping bug in JDK 1.2.
+ */
+final class ClipWorkaround {
+
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+///*JDK12IMPORTS
+    private static final String excuse =
+        "Sorry, this method is a very limited workaround for a JDK 1.2 bug.";
+//JDK12IMPORTS*/
+    
+    static Object saveClipState(Graphics2D g) {
+///*JDK12IMPORTS
+        return null;
+//JDK12IMPORTS*/
+/*JDK11IMPORTS
+        return g.getClip();
+JDK11IMPORTS*/
+    }
+    
+    static void restoreClipState(Graphics2D g, Object state) {
+///*JDK12IMPORTS
+        if (state != null) {
+            throw new Error("Invalid clip state for this class.");
+        }
+//JDK12IMPORTS*/
+/*JDK11IMPORTS
+        g.setClip((Shape)state);
+JDK11IMPORTS*/
+    }
+    
+    /**
+     * Draw the given Shape into the Graphics, translated by (dx, dy)
+     * and clipped to clipRect.
+     */
+    static void translateAndDrawShapeWithClip(Graphics2D g,
+                                              int dx,
+                                              int dy,
+                                              Rectangle2D clipRect,
+                                              Shape shape) {
+///*JDK12IMPORTS
+        // really bogus implementation right now:  basically only
+        // draws carets from a TextLayout.
+        // Oh yeah, it doesn't really clip correctly either...
+
+        PathIterator pathIter = shape.getPathIterator(null);
+        float[] points = new float[6];
+
+        int type = pathIter.currentSegment(points);
+        if (type != PathIterator.SEG_MOVETO) {
+            throw new Error(excuse);
+        }
+        float x1 = points[0] + dx;
+        float y1 = points[1] + dy;
+
+        if (pathIter.isDone()) {
+            throw new Error(excuse);
+        }
+
+        pathIter.next();
+        type = pathIter.currentSegment(points);
+        if (type != PathIterator.SEG_LINETO) {
+            throw new Error(excuse);
+        }
+        float x2 = points[0] + dx;
+        float y2 = points[1] + dy;
+
+        float minY = (float) clipRect.getY();
+        float maxY = (float) clipRect.getMaxY();
+
+        // Now clip within vertical limits in clipRect
+        if (y1 == y2) {
+            if (y1 < minY || y1 >= maxY) {
+                return;
+            }
+        }
+        else {
+            if (y1 > y2) {
+                float t = x1;
+                x1 = x2;
+                x2 = t;
+                t = y1;
+                y1 = y2;
+                y2 = t;
+            }
+
+            float invSlope = (x2-x1) / (y2-y1);
+            if (y1 < minY) {
+                x1 -= (minY-y1) * invSlope;
+                y1 = minY;
+            }
+            if (y2 >= maxY) {
+                x1 += (y2-maxY) * invSlope;
+                y2 = maxY;
+            }
+        }
+
+        g.draw(new Line2D.Float(x1, y1, x2, y2));
+//JDK12IMPORTS*/
+/*JDK11IMPORTS
+        g.setClip(clipRect);
+        g.translate(dx, dy);
+        try {
+            g.draw(shape);
+        }
+        finally {
+            g.translate(-dx, -dy);
+        }
+JDK11IMPORTS*/
+    }
+}
diff --git a/src/com/ibm/richtext/textformat/DefaultCharacterMetric.java b/src/com/ibm/richtext/textformat/DefaultCharacterMetric.java
new file mode 100755
index 0000000..73632de
--- /dev/null
+++ b/src/com/ibm/richtext/textformat/DefaultCharacterMetric.java
@@ -0,0 +1,93 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+// Requires Java2
+package com.ibm.richtext.textformat;
+
+import java.util.Hashtable;
+
+import com.ibm.richtext.textlayout.attributes.AttributeMap;
+
+///*JDK12IMPORTS
+import java.awt.font.FontRenderContext;
+import java.awt.font.TextLayout;
+//JDK12IMPORTS*/
+
+/*JDK11IMPORTS
+import com.ibm.richtext.textlayout.FontRenderContext;
+import com.ibm.richtext.textlayout.TextLayout;
+JDK11IMPORTS*/
+
+/**
+ * This class is used by the Formatter to estimate the height
+ * of characters in a particular style.
+ */
+final class DefaultCharacterMetric {
+
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+    
+    final class Metric {
+    
+        private float fAscent;
+        private float fDescent;
+        private float fLeading;
+    
+        private Metric(float ascent, float descent, float leading) {
+    
+            fAscent = ascent;
+            fDescent = descent;
+            fLeading = leading;
+        }
+    
+        public int getAscent() {
+            return (int) Math.ceil(fAscent);
+        }
+    
+        public int getDescent() {
+            return (int) Math.ceil(fDescent);
+        }
+    
+        public int getLeading() {
+            return (int) Math.ceil(fLeading);
+        }
+    }
+    
+    private final Hashtable fCache = new Hashtable();
+    private /*final*/ FontResolver fResolver;
+    private /*final*/ FontRenderContext fFrc;
+    
+    public DefaultCharacterMetric(FontResolver resolver,
+                                  FontRenderContext frc) {
+    
+        fResolver = resolver;
+        fFrc = frc;
+    }
+    
+    /**
+     * Get a DefaultCharacterMetric instance for the given style.  The
+     * style is first resolved with FontResolver.
+     */
+    public Metric getMetricForStyle(AttributeMap style) {
+
+        style = fResolver.applyFont(style);
+        Metric metric = (Metric) fCache.get(style);
+        if (metric == null) {
+            TextLayout layout = new TextLayout(" ", style, fFrc);
+            metric = new Metric(layout.getAscent(),
+                                layout.getDescent(),
+                                layout.getLeading());
+            fCache.put(style, metric);
+        }
+        return metric;
+    }
+}
\ No newline at end of file
diff --git a/src/com/ibm/richtext/textformat/FontResolver.java b/src/com/ibm/richtext/textformat/FontResolver.java
new file mode 100755
index 0000000..c96dee8
--- /dev/null
+++ b/src/com/ibm/richtext/textformat/FontResolver.java
@@ -0,0 +1,83 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+// Requires Java2
+package com.ibm.richtext.textformat;
+
+import com.ibm.richtext.textlayout.attributes.AttributeMap;
+import com.ibm.richtext.textlayout.attributes.TextAttribute;
+
+import com.ibm.richtext.textlayout.FontUtils;
+
+import java.util.Hashtable;
+import java.awt.Font;
+
+final class FontResolver {
+
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+
+    static {
+// Even though it violates the Prime Directive I'll conditionalize
+// this anyway, since it is just a 1.2 workaround which I greatly
+// resent.
+///*JDK12IMPORTS
+        java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment().getAllFonts();
+//JDK12IMPORTS*/
+    }
+
+    private Hashtable styleMap;
+    private final AttributeMap fDefaultFontMap;
+
+    public FontResolver(AttributeMap defaults) {
+
+        styleMap = new Hashtable();
+        Hashtable tempMap = new Hashtable();
+        tempMap.put(TextAttribute.FAMILY, defaults.get(TextAttribute.FAMILY));
+        tempMap.put(TextAttribute.WEIGHT, defaults.get(TextAttribute.WEIGHT));
+        tempMap.put(TextAttribute.POSTURE, defaults.get(TextAttribute.POSTURE));
+        tempMap.put(TextAttribute.SIZE, defaults.get(TextAttribute.SIZE));
+        fDefaultFontMap = new AttributeMap(tempMap);
+    }
+
+    /**
+     * Fetch result of resolve(style) from cache, if present.
+     */
+    public AttributeMap applyFont(AttributeMap style) {
+
+        Object cachedMap = styleMap.get(style);
+
+        if (cachedMap == null) {
+            AttributeMap resolvedMap = resolve(style);
+            styleMap.put(style, resolvedMap);
+            return resolvedMap;
+        }
+        else {
+            return (AttributeMap) cachedMap;
+        }
+    }
+
+    /**
+     * Return an AttributeMap containing a Font computed from the
+     * attributes in <tt>style</tt>.
+     */
+    public AttributeMap resolve(AttributeMap style) {
+
+        if (style.get(TextAttribute.FONT) != null) {
+            return style;
+        }
+
+        Font font = FontUtils.getFont(fDefaultFontMap.addAttributes(style));
+
+        return style.addAttribute(TextAttribute.FONT, font);
+    }
+}
diff --git a/src/com/ibm/richtext/textformat/LayoutInfo.java b/src/com/ibm/richtext/textformat/LayoutInfo.java
new file mode 100755
index 0000000..2162f39
--- /dev/null
+++ b/src/com/ibm/richtext/textformat/LayoutInfo.java
@@ -0,0 +1,197 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+// Requires Java2
+/** LayoutInfo
+
+    A line of text, possibly containing tab-segments.
+*/
+
+package com.ibm.richtext.textformat;
+
+import java.awt.Color;
+import java.awt.Rectangle;
+
+///*JDK12IMPORTS
+import java.awt.Graphics2D;
+//JDK12IMPORTS*/
+
+/*JDK11IMPORTS
+import com.ibm.richtext.textlayout.Graphics2D;
+JDK11IMPORTS*/
+
+import com.ibm.richtext.styledtext.MConstText;
+
+abstract class LayoutInfo
+{
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+    private int fCharStart;       // offset in text to start of line (was fStart)
+                                  // neg. values indicate distance from end of text
+    private int fGraphicStart;    // min pixel offset in fill direction
+                                  // negative values indicate distance from bottom of text view
+
+    /*
+        These methods are for storing Layouts in a gap-storage,
+        relative to either the start of end of text.  See AsyncFormatter.
+
+        If you just want absolute (that is, start-relative) char and
+        graphic starts, don't make them end-relative.
+    */
+
+    public final int getCharStart(int lengthBasis) {
+
+        if (fCharStart >= 0) {
+            return fCharStart;
+        }
+        else {
+            return lengthBasis + fCharStart;
+        }
+    }
+
+    public final int getGraphicStart(int graphicBasis) {
+
+        if (fGraphicStart >= 0) {
+            return fGraphicStart;
+        }
+        else {
+            return graphicBasis + fGraphicStart;
+        }
+    }
+
+    public final void setCharStart(int beginningRelativeStart) {
+
+        if (beginningRelativeStart < 0) {
+            throw new IllegalArgumentException("charStart must be nonnegavitve");
+        }
+        fCharStart = beginningRelativeStart;
+    }
+
+    public final void setGraphicStart(int beginningRelativeStart) {
+
+        if (beginningRelativeStart < 0) {
+            throw new IllegalArgumentException("charStart must be nonnegavitve");
+        }
+        fGraphicStart = beginningRelativeStart;
+    }
+
+    public final void makeRelativeToBeginning(int lengthBasis,
+                                              int graphicBasis) {
+
+        if (lengthBasis < 0 || graphicBasis < 0) {
+            throw new IllegalArgumentException("Bases must be positive.");
+        }
+        if (fCharStart >= 0 || fGraphicStart >= 0) {
+            throw new Error("Already start-relative.");
+        }
+
+        fCharStart += lengthBasis;
+        fGraphicStart += graphicBasis;
+    }
+
+    public final void makeRelativeToEnd(int lengthBasis,
+                                        int graphicBasis) {
+
+        if (lengthBasis < 0 || graphicBasis < 0) {
+            throw new IllegalArgumentException("Bases must be positive.");
+        }
+        if (fCharStart < 0 || fGraphicStart < 0) {
+            throw new Error("Already end-relative.");
+        }
+
+        fCharStart -= lengthBasis;
+        fGraphicStart -= graphicBasis;
+    }
+
+
+    public abstract int getCharLength();
+    public abstract int getAscent();
+    public abstract int getDescent();
+    public abstract int getLeading();
+
+    public abstract int getVisibleAdvance();
+    public abstract int getTotalAdvance();
+    public abstract int getLeadingMargin();
+
+    public abstract boolean isLeftToRight();
+
+    public int getHeight() {
+
+        return getAscent()+getDescent()+getLeading();
+    }
+
+    /**
+    * Draws text with highlighting.
+    */
+    public void renderWithHighlight(int lengthBasis,
+                                    Graphics2D g,
+                                    int lineBound,
+                                    int x,
+                                    int y,
+                                    TextOffset selStart,
+                                    TextOffset selStop,
+                                    Color highlightColor)
+    {
+    }
+
+    /** Use layout information to render the line at x, y.*/
+
+    public void render(int lengthBasis,
+                       Graphics2D g,
+                       int lineBound,
+                       int x,
+                       int y)
+    {
+    }
+
+    public void renderCaret(MConstText text,
+                            int lengthBasis,
+                            Graphics2D g,
+                            int lineBound,
+                            int x,
+                            int y,
+                            int charOffset,
+                            Color strongCaretColor,
+                            Color weakCaretColor)
+    {
+    }
+
+    /**
+     * Given a point within this line, return the character offset corresponding to that point.
+     *
+     * @param result.  This may be null, in which case a new TextOffset will be allocated.
+     *        This object is modified in place, and also returned as the function result.
+     * @param text Text to inspect.
+     * @param lineX Position on this line relative to top left corner of this line.
+     * @param lineY Position on this line relative to top left corner of this line.
+     */
+    public abstract TextOffset pixelToOffset(int lengthBasis,
+                                             TextOffset result,
+                                             int lineBound,
+                                             int x,
+                                             int y);
+
+    public abstract int strongCaretBaselinePosition(int lengthBasis,
+                                                    int lineBound,
+                                                    int charOffset);
+
+    public abstract Rectangle caretBounds(MConstText text,
+                                          int lengthBasis,
+                                          int lineBound,
+                                          int charOffset,
+                                          int x,
+                                          int y);
+    
+    public abstract int getNextOffset(int lengthBasis,
+                                      int charOffset,
+                                      short dir);
+}
diff --git a/src/com/ibm/richtext/textformat/MFormatter.java b/src/com/ibm/richtext/textformat/MFormatter.java
new file mode 100755
index 0000000..b61d77d
--- /dev/null
+++ b/src/com/ibm/richtext/textformat/MFormatter.java
@@ -0,0 +1,351 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+
+package com.ibm.richtext.textformat;
+
+import java.awt.Color;
+import java.awt.Graphics;
+import java.awt.Point;
+import java.awt.Rectangle;
+
+import com.ibm.richtext.styledtext.MConstText;
+import com.ibm.richtext.textlayout.attributes.AttributeMap;
+
+/**
+*
+* This class formats lines of text to a given length.
+* It provides services needed for static text display,
+* and also editable text, including:  displaying text,
+* reformatting text after an edit, converting between
+* screen locations and offsets into the text, calculating
+* areas of the screen for "highlighting,"  and computing
+* offsets into the text resulting from arrow keys.
+* <p>
+* Text clients instantiate this class with an
+* <tt>MConstText</tt> object and a format width.  Text
+* can be formatted such that all lines fit within the
+* format length.  Alternatively, text can be formatted
+* such that lines end only at the end of paragraphs.
+* <p>
+* The format length is specified with the <tt>setLineBound()</tt>
+* method.
+* <p>
+* Methods in the formatter which interact with the graphics
+* system generally take as a paramter a <tt>Point</tt> object
+* which represents the "origin" of the text display.  The
+* origin represents the location, in the graphics system used to display the text, of
+* the top-left corner of the text.
+* <p>
+* To display the text, call <tt>draw()</tt>, passing the
+* a rectangle in which to draw as a parameter.  Only lines
+* of text in the draw rectangle will be drawn.
+* <p>
+* When the formatter's text changes, it is important to first call
+* <tt>stopBackgroundFormatting()</tt> to prevent the Formatter from
+* accessing the text from a background thread.  After modifications are
+* complete,
+* call the <tt>updateFormat()</tt> method before invoking any other
+* methods of the formatter.  <tt>updateFormat()</tt> reformats the
+* new text, formatting no more text than is necessary.
+* <p>
+* The formatter provides services for responding to user input from the
+* mouse and keyboard.  The method <tt>pointToTextOffset()</tt> converts
+* a screen location to an offset in the text.  The method <tt>textOffsetToPoint</tt>
+* converts an offset in the text to an array of two <tt>Point</tt> objects, which can be
+* used to draw a verticle caret, denoting an insertion point.  <tt>highlightArea</tt>
+* accepts two offsets into the text as paramters, and returns an array of <tt>Polygon</tt>
+* objects representing areas where visual highlighting should be applied.
+* <p>
+* Finally, for
+* keyboard handling, the <tt>findNewInsertionOffset()</tt> method accepts an "initial"
+* offset, a "previous" offset, as well as a direction, and returns a new offset.  The direction
+* can be up, down, left, or right.  The previous offset is the insertion point location, before
+* the arrow key is processed.  The initial offset is the offset where an up or down arrow
+* key sequence began.  Using the initial offset allows for "intelligent" handling of up and down
+* arrow keys.
+* <p>
+* Examples of using the MFormatter class
+* are given in the <tt>AsyncFormatter</tt> class
+* documentation.
+* <p>
+* @author John Raley
+*
+* @see com.ibm.richtext.styledtext.MText
+*/
+
+public abstract class MFormatter {
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+
+    public abstract AttributeMap getDefaultValues();
+
+/**
+* Display text in drawArea, with highlighting.
+* Does not reformat text
+* @param g the Graphics object in which to draw
+* @param drawArea the rectangle, in g's coordinate system, in which to draw
+* @param origin the top-left corner of the text, in g's coordinate system
+* @param selStart the offset where the current selection begins;  pass <tt>null</tt> if no selection
+* @param selStop the offset where the current selection ends
+* @param highlight the color of the highlighting
+*/
+    public abstract void draw(Graphics g, Rectangle drawArea, Point origin,
+            TextOffset selStart, TextOffset selStop, Color highlight);
+
+    public abstract void draw(Graphics g, Rectangle drawArea, Point origin);
+
+/**
+* Specify whether to wrap line at the edge of the destination area.
+* <tt>true</tt> means wrap lines;  <tt>false</tt> means to break lines
+* only when an end-of-line character is reached.
+* @param wrap <tt>true</tt> to break lines at the edge of the destination
+* area;  <tt>false</tt> otherwise.
+*/
+
+    public abstract void setWrap(boolean wrap);
+
+/**
+* Return whether text is wrapped at the edge of the destination area.
+* @see #setWrap
+*/
+    public abstract boolean wrap();
+
+/**
+* Specify the number of pixels along the "line dimension".
+* Lines are formatted to fit within the line dimension.  The
+* line dimension in Roman script is horizontal.
+* @param lineBound the length, in pixels, to which lines will be formatted
+*/
+    public abstract void setLineBound(int lineBound);
+
+/**
+* Return the number of pixels along the line dimension.
+* @return the number of pixels along the line dimension.
+*/
+    public abstract int lineBound();
+    
+/**
+* Format text down to given height.
+* @param height the height to which text will be formatted
+*/
+    public abstract void formatToHeight(int height);
+
+/**
+* Reformat text after a change.
+* After the formatter's text changes, call this method to reformat.  Does
+* not redraw.
+* @param afStart the offset into the text where modification began;  ie, the
+* first character in the text which is "different" in some way.  Does not
+* have to be nonnegative.
+* @param afLength the number of new or changed characters in the text.  Should never
+* be less than 0.
+* @param viewRect the Rectangle in which the text will be displayed.  This is needed for
+* returning the "damaged" area - the area of the screen in which the text must be redrawn.
+* @param origin the top-left corner of the text, in the display's coordinate system
+* @return a <tt>Rectangle</tt> which specifies the area in which text must be
+* redrawn to reflect the change to the text.
+*/
+    public abstract Rectangle updateFormat(int afStart,
+                                  int afLength,
+                                  Rectangle viewRect,
+                                  Point origin);
+
+
+    public abstract int minY();
+    
+/**
+ * Return the maximum vertical coordinate of the document area.
+ */
+    public abstract int maxY();
+
+    public abstract int minX();
+
+/**
+ * Return the maximum horizontal coordinate of the document area.
+ */
+    public abstract int maxX();
+
+/**
+* Return the actual pixel length of the text which has been formatted.
+*/
+    public abstract int formattedHeight();
+
+    public static final short eUp = -10, eDown = 10, eLeft = -1, eRight = 1;
+
+/**
+* Given a screen location p, return the offset of the character in the text nearest to p.
+*
+* The offset may or may not include a newline at the end of a line, determined by anchor and infiniteMode.
+* The newline is not included if infiniteMode is true and the anchor is the position before the newline.
+*
+* @param result TextOffset to modify and return.  If null, one will be allocated, modified, and returned.
+* @param px the x component of the point.
+* @param py the y component of the point.
+* @param origin the top-left corner of the text, in the display's coordinate system
+* @param anchor the previous offset.  May be null.  Used to determine whether newlines are included.
+* @param infiniteMode if true, treat newlines at end of line as having infinite width.
+*/
+    public abstract TextOffset pointToTextOffset(TextOffset result, int px, int py, Point origin, TextOffset anchor, boolean infiniteMode);
+
+/**
+* Given an offset, return the Rectangle bounding the caret at the offset.
+* @param offset an offset into the text
+* @param origin the top-left corner of the text, in the display's coordinate system
+* @return a Rectangle bounding the caret.
+*/
+    public abstract Rectangle getCaretRect(TextOffset offset, Point origin);
+
+/**
+* Draw the caret(s) associated with the given offset into the given Graphics.
+* @param g the Graphics to draw into
+* @param offset the offset in the text for which the caret is drawn
+* @param origin the top-left corner of the text, in the display's coordinate system
+* @param strongCaretColor the color of the strong caret
+* @param weakCaretColor the color of the weak caret (if any)
+*/
+    public abstract void drawCaret(Graphics g,
+                                   TextOffset offset,
+                                   Point origin,
+                                   Color strongCaretColor,
+                                   Color weakCaretColor);
+
+    /**
+     * @see #getBoundingRect
+     */
+    public static final boolean LOOSE = false;
+    /**
+     * @see #getBoundingRect
+     */
+    public static final boolean TIGHT = true;
+
+/**
+* Given two offsets in the text, return a rectangle which encloses the lines containing the offsets.
+* Offsets do not need to be ordered or nonnegative.
+* @param offset1 an offset into the text
+* @param offset2 the other offset into the text
+* @param origin the top-left corner of the text, in the display's coordinate system
+* @param tight if equal to TIGHT, the bounds is as small as possible.  If LOOSE, the width
+* of the bounds is allowed to be wider than necesary.  Loose bounds are easier to compute.
+* @return a <tt>Rectangle</tt>, relative to <tt>origin</tt>, which encloses the lines containing the offsets
+*/
+    public abstract Rectangle getBoundingRect(TextOffset offset1,
+                                              TextOffset offset2, 
+                                              Point origin,
+                                              boolean tight);
+
+    public abstract void getBoundingRect(Rectangle boundingRect,
+                                         TextOffset offset1,
+                                         TextOffset offset2,
+                                         Point origin,
+                                         boolean tight);
+
+/**
+* Compute the offset resulting from moving from a previous offset in direction dir.
+* For arrow keys.
+* @param previousOffset the insertion offset prior to the arrow key press
+* @param direction the direction of the arrow key (eUp, eDown, eLeft, or eRight)
+* @return new offset based on direction and previous offset.
+*/
+    public abstract TextOffset findInsertionOffset(TextOffset result,
+                                          TextOffset previousOffset,
+                                          short direction);
+
+/**
+* Compute the offset resulting from moving from a previous offset, starting at an original offset, in direction dir.
+* For arrow keys.  Use this for "smart" up/down keys.
+* @param result TextOffset to modify and return.  If null, a new TextOffset is created, modified, and returned.
+* @param initialOffset The offset at which an up-down arrow key sequence began.
+* @param previousOffset The insertion offset prior to the arrow key press.
+* @param direction The direction of the arrow key (eUp, eDown, eLeft, or eRight)
+* @return new offset based on direction and previous offset(s).
+*/
+    public abstract TextOffset findNewInsertionOffset(TextOffset result,
+                                             TextOffset initialOffset,
+                                             TextOffset previousOffset,
+                                             short direction);
+
+/**
+* Return the index of the line containing the given character index.
+* This method has complicated semantics, arising from not knowing 
+* which side of the index to check.  The index will be given an
+* implicit AFTER bias, unless the index is the last index in the text,
+* the text length is non-zero, and there is not a paragraph separator
+* at the end of the text.
+*/
+    public abstract int lineContaining(int index);
+    
+/**
+* Return the index of the line containing the given offset.
+*/
+    public abstract int lineContaining(TextOffset offset);
+
+/**
+* Return the number of lines.
+*/
+    public abstract int getLineCount();
+
+/**
+* Return the index of the first character on the given line.
+*/
+    public abstract int lineRangeLow(int lineNumber);
+
+/**
+* Return the index of the first character following the given line.
+*/
+    public abstract int lineRangeLimit(int lineNumber);
+
+/**
+* Tells the formatter to stop accessing the text until updateFormat is called.
+*/
+    public abstract void stopBackgroundFormatting();
+
+/**
+* Return the line number at the given graphic height.  If height is greater than
+* the text height, maxLineNumber + 1 is returned.
+*/
+    public abstract int lineAtHeight(int height);
+
+/**
+* Return the graphic height where the given line begins.  If the lineNumber is
+* maxLineNumber the entire text height is returned.
+*/
+    public abstract int lineGraphicStart(int lineNumber);
+
+/**
+* Return true if the given line is left-to-right.
+* @param lineNumber a valid line
+* @return true if lineNumber is left-to-right
+*/
+    public abstract boolean lineIsLeftToRight(int lineNumber);
+
+/**
+* Return a new <tt>MFormatter</tt>.
+* @param text the text to format
+* @param defaultValues values to use when certain attributes are not specified. 
+*    <tt>defaultValues</tt> must contain values for the following attributes:
+*    <tt>FAMILY</tt>, <tt>WEIGHT</tt>, <tt>POSTURE</tt>, <tt>SIZE</tt>, <tt>SUPERSCRIPT</tt>, 
+*    <tt>FOREGROUND</tt>, <tt>UNDERLINE</tt>, <tt>STRIKETHROUGH</tt>,
+*    <tt>EXTRA_LINE_SPACING</tt>, <tt>FIRST_LINE_INDENT</tt>,<tt>MIN_LINE_SPACING</tt>,
+*    <tt>LINE_FLUSH</tt>, <tt>LEADING_MARGIN</tt>, <tt>TRAILING_MARGIN</tt>, <tt>TAB_RULER</tt>
+* @param lineBound length to which lines are formatted
+* @param wrap <tt>true</tt> if text should be "line wrapped" (formatted to fit destination area)
+*/
+    public static MFormatter createFormatter(MConstText text,
+                                             AttributeMap defaultValues,
+                                             int lineBound, 
+                                             boolean wrap, 
+                                             Graphics g) {
+                                                
+        return new AsyncFormatter(text, defaultValues, lineBound, wrap, g);
+    }
+}
diff --git a/src/com/ibm/richtext/textformat/MTextIterator.java b/src/com/ibm/richtext/textformat/MTextIterator.java
new file mode 100755
index 0000000..121d1d1
--- /dev/null
+++ b/src/com/ibm/richtext/textformat/MTextIterator.java
@@ -0,0 +1,402 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+// Requires Java2
+package com.ibm.richtext.textformat;
+
+import com.ibm.richtext.styledtext.MConstText;
+import java.text.CharacterIterator;
+
+import com.ibm.richtext.textlayout.attributes.AttributeMap;
+
+///*JDK12IMPORTS
+import java.text.AttributedCharacterIterator;
+import java.util.Map;
+import java.util.Set;
+//JDK12IMPORTS*/
+
+/*JDK11IMPORTS
+import com.ibm.richtext.textlayout.attributes.AttributedCharacterIterator;
+import com.ibm.richtext.textlayout.attributes.AttributedCharacterIterator.Attribute;
+import com.ibm.richtext.textlayout.attributes.Map;
+JDK11IMPORTS*/
+
+/**
+ * An AttributedCharacterIterator over an MConstText.
+ */
+public final class MTextIterator implements AttributedCharacterIterator,
+                                            Cloneable {
+
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+    // memory leak, since this cache is never flushed
+
+    private static class Matcher {
+        
+        boolean matches(Map lhs, Map rhs, Object query) {
+            
+            Object lhsVal = lhs.get(query);
+            Object rhsVal = rhs.get(query);
+            
+            if (lhsVal == null) {
+                return rhsVal == null;
+            }
+            else {
+                return lhsVal.equals(rhsVal);
+            }
+        }
+    }
+    
+    private static final Matcher ATTR_MATCHER = new Matcher();
+    
+    // Not quite optimal.  Could have a matcher that would decompose
+    // a set once for repeated queries.  Of course that would require
+    // allocation...
+///*JDK12IMPORTS
+    private static final Matcher SET_MATCHER = new Matcher() {
+        
+        boolean matches(Map lhs, Map rhs, Object query) {
+            
+            // Not using Iterator to simplify 1.1 port.
+            Object[] elements = ((Set)query).toArray();
+            for (int i=0; i < elements.length; i++) {
+                if (!super.matches(lhs, rhs, elements[i])) {
+                    return false;
+                }
+            }
+            return true;
+        }
+    };
+//JDK12IMPORTS*/
+    
+    private final class StyleCache {
+
+        private int fRunStart = 0;
+        private int fRunLimit = -1;
+        private int fRangeStart;
+        private int fRangeLimit;
+        private AttributeMap fStyle;
+
+        StyleCache(MConstText text, int start, int limit) {
+            fText = text;
+            fRangeStart = start;
+            fRangeLimit = limit;
+            update(start);
+        }
+
+        private void update(int pos) {
+            if (pos < fRunStart || pos >= fRunLimit) {
+                AttributeMap style = AttributeMap.EMPTY_ATTRIBUTE_MAP;
+                if (pos < fRangeStart) {
+                    fRunLimit = fRangeStart;
+                    fRunStart = Integer.MIN_VALUE;
+                }
+                else if (pos > fRangeLimit) {
+                    fRunStart = fRangeLimit;
+                    fRunLimit = Integer.MAX_VALUE;
+                }
+                else {
+                    fRunStart = Math.max(fRangeStart, fText.characterStyleStart(pos));
+                    fRunStart = Math.max(fRunStart, fText.paragraphStart(pos));
+                    
+                    fRunLimit = Math.min(fRangeLimit, fText.characterStyleLimit(pos));
+                    fRunLimit = Math.min(fRunLimit, fText.paragraphLimit(pos));
+                    if (fRunStart < fRunLimit) {
+                        style = fText.paragraphStyleAt(pos);
+                        style = style.addAttributes(fText.characterStyleAt(pos));
+                    }
+                }
+                fStyle = fFontResolver.applyFont(style);
+            }
+        }
+
+        int getRunStart(int pos) {
+            update(pos);
+            return fRunStart;
+        }
+
+        int getRunLimit(int pos) {
+            update(pos);
+            return fRunLimit;
+        }
+
+        Map getStyle(int pos) {
+            update(pos);
+            return fStyle;
+        }
+    }
+
+    private MConstText fText;
+    private CharacterIterator fCharIter;
+    private FontResolver fFontResolver;
+    
+    private StyleCache fStyleCache;
+
+    /**
+     * Create an MTextIterator over the range [start, limit).
+     */
+    public MTextIterator(MConstText text, 
+                         FontResolver resolver,
+                         int start, 
+                         int limit) {
+
+        fText = text;
+        fFontResolver = resolver;
+        fCharIter = text.createCharacterIterator(start, limit);
+
+        fStyleCache = new StyleCache(text, start, limit);
+    }
+
+    /**
+     * Sets the position to getBeginIndex() and returns the character at that
+     * position.
+     * @return the first character in the text, or DONE if the text is empty
+     * @see #getBeginIndex
+     */
+    public char first() {
+        return fCharIter.first();
+    }
+
+    /**
+     * Sets the position to getEndIndex()-1 (getEndIndex() if the text is empty)
+     * and returns the character at that position.
+     * @return the last character in the text, or DONE if the text is empty
+     * @see #getEndIndex
+     */
+    public char last() {
+        return fCharIter.last();
+    }
+
+    /**
+     * Gets the character at the current position (as returned by getIndex()).
+     * @return the character at the current position or DONE if the current
+     * position is off the end of the text.
+     * @see #getIndex
+     */
+    public char current() {
+        return fCharIter.current();
+    }
+
+    /**
+     * Increments the iterator's index by one and returns the character
+     * at the new index.  If the resulting index is greater or equal
+     * to getEndIndex(), the current index is reset to getEndIndex() and
+     * a value of DONE is returned.
+     * @return the character at the new position or DONE if the new
+     * position is off the end of the text range.
+     */
+    public char next() {
+        return fCharIter.next();
+    }
+
+    /**
+     * Decrements the iterator's index by one and returns the character
+     * at the new index. If the current index is getBeginIndex(), the index
+     * remains at getBeginIndex() and a value of DONE is returned.
+     * @return the character at the new position or DONE if the current
+     * position is equal to getBeginIndex().
+     */
+    public char previous() {
+        return fCharIter.previous();
+    }
+
+    /**
+     * Sets the position to the specified position in the text and returns that
+     * character.
+     * @param position the position within the text.  Valid values range from
+     * getBeginIndex() to getEndIndex().  An IllegalArgumentException is thrown
+     * if an invalid value is supplied.
+     * @return the character at the specified position or DONE if the specified position is equal to getEndIndex()
+     */
+    public char setIndex(int position) {
+        return fCharIter.setIndex(position);
+    }
+
+    /**
+     * Returns the start index of the text.
+     * @return the index at which the text begins.
+     */
+    public int getBeginIndex() {
+        return fCharIter.getBeginIndex();
+    }
+
+    /**
+     * Returns the end index of the text.  This index is the index of the first
+     * character following the end of the text.
+     * @return the index after the last character in the text
+     */
+    public int getEndIndex() {
+        return fCharIter.getEndIndex();
+    }
+
+    /**
+     * Returns the current index.
+     * @return the current index.
+     */
+    public int getIndex() {
+        return fCharIter.getIndex();
+    }
+
+    /**
+     * Returns the index of the first character of the run
+     * with respect to all attributes containing the current character.
+     */
+    public int getRunStart() {
+        return fStyleCache.getRunStart(fCharIter.getIndex());
+    }
+
+    /**
+     * Returns the index of the first character of the run
+     * with respect to the given attribute containing the current character.
+     */
+    public int getRunStart(Object attribute) {
+
+        return getRunStart(attribute, ATTR_MATCHER);
+    }
+
+    /**
+     * Returns the index of the first character of the run
+     * with respect to the given attribute containing the current character.
+     */
+///*JDK12IMPORTS
+    public int getRunStart(Attribute attribute) {
+
+        return getRunStart(attribute, ATTR_MATCHER);
+    }
+//JDK12IMPORTS*/
+
+    /**
+     * Returns the index of the first character of the run
+     * with respect to the given attributes containing the current character.
+     */
+///*JDK12IMPORTS
+    public int getRunStart(Set attributes) {
+
+        return getRunStart(attributes, SET_MATCHER);
+    }
+//JDK12IMPORTS*/
+    
+    private int getRunStart(Object query, Matcher matcher) {
+
+        int runStart = getRunStart();
+        int rangeStart = getBeginIndex();
+        Map initialStyle = getAttributes();
+        
+        while (runStart > rangeStart) {
+            AttributeMap style = fText.characterStyleAt(runStart-1);
+            if (!matcher.matches(initialStyle, style, query)) {
+                return runStart;
+            }
+            runStart = fText.characterStyleStart(runStart-1);
+        }
+        return rangeStart;
+    }
+    
+    /**
+     * Returns the index of the first character following the run
+     * with respect to all attributes containing the current character.
+     */
+    public int getRunLimit() {
+        return fStyleCache.getRunLimit(fCharIter.getIndex());
+    }
+
+    /**
+     * Returns the index of the first character following the run
+     * with respect to the given attribute containing the current character.
+     */
+    public int getRunLimit(Object attribute) {
+        
+        return getRunLimit(attribute, ATTR_MATCHER);
+    }
+
+    /**
+     * Returns the index of the first character following the run
+     * with respect to the given attribute containing the current character.
+     */
+///*JDK12IMPORTS
+    public int getRunLimit(Attribute attribute) {
+        
+        return getRunLimit(attribute, ATTR_MATCHER);
+    }
+//JDK12IMPORTS*/
+
+    /**
+     * Returns the index of the first character following the run
+     * with respect to the given attributes containing the current character.
+     */
+///*JDK12IMPORTS
+    public int getRunLimit(Set attributes) {
+        
+        return getRunLimit(attributes, SET_MATCHER);
+    }
+//JDK12IMPORTS*/
+
+    private int getRunLimit(Object query, Matcher matcher) {
+
+        int runLimit = getRunLimit();
+        int rangeLimit = getEndIndex();
+        Map initialStyle = getAttributes();
+        
+        while (runLimit < rangeLimit) {
+            AttributeMap style = fText.characterStyleAt(runLimit);
+            if (!matcher.matches(initialStyle, style, query)) {
+                return runLimit;
+            }
+            runLimit = fText.characterStyleLimit(runLimit);
+        }
+        return rangeLimit;
+    }
+    
+    /**
+     * Returns a map with the attributes defined on the current
+     * character.
+     */
+    public Map getAttributes() {
+        return fStyleCache.getStyle(fCharIter.getIndex());
+    }
+
+    /**
+     * Returns the value of the named attribute for the current character.
+     * Returns null if the attribute is not defined.
+     * @param attribute the key of the attribute whose value is requested.
+     */
+    public Object getAttribute(Object attribute) {
+        return getAttributes().get(attribute);
+    }
+
+    /**
+     * Returns the value of the named attribute for the current character.
+     * Returns null if the attribute is not defined.
+     * @param attribute the key of the attribute whose value is requested.
+     */
+    public Object getAttribute(Attribute attribute) {
+        return getAttributes().get(attribute);
+    }
+
+    /**
+     * Returns the keys of all attributes defined on the
+     * iterator's text range. The set is empty if no
+     * attributes are defined.
+     */
+///*JDK12IMPORTS
+    public Set getAllAttributeKeys() {
+        throw new Error("Implement this method!");
+    }
+//JDK12IMPORTS*/
+
+    public Object clone() {
+        return new MTextIterator(fText,
+                                 fFontResolver,
+                                 getBeginIndex(),
+                                 getEndIndex());
+    }
+}
diff --git a/src/com/ibm/richtext/textformat/ParagraphRenderer.java b/src/com/ibm/richtext/textformat/ParagraphRenderer.java
new file mode 100755
index 0000000..32b800c
--- /dev/null
+++ b/src/com/ibm/richtext/textformat/ParagraphRenderer.java
@@ -0,0 +1,79 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+// Requires Java2
+package com.ibm.richtext.textformat;
+
+import com.ibm.richtext.textlayout.attributes.AttributeMap;
+
+import com.ibm.richtext.styledtext.MConstText;
+
+
+///*JDK12IMPORTS
+import java.awt.font.FontRenderContext;
+import java.awt.font.LineBreakMeasurer;
+//JDK12IMPORTS*/
+
+/*JDK11IMPORTS
+import com.ibm.richtext.textlayout.FontRenderContext;
+import com.ibm.richtext.textlayout.LineBreakMeasurer;
+import com.ibm.richtext.textlayout.Graphics2D;
+JDK11IMPORTS*/
+
+/**
+ * ParagraphRenderer is a factory for LayoutInfo objects.
+ */
+abstract class ParagraphRenderer {
+
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+    // If renderers can ever travel with their styles, then this attribute will denote a
+    // renderer.  For now, renderers are not added as styles so this isn't needed.
+    //static final TextAttribute PARAGRAPH_RENDERER = new TextAttribute("Paragraph_Renderer") {};
+
+    /**
+     * Reset the renderer to use information from this style. Since renderers may be shared, you should
+     * make sure the renderer is initialized for the style you wish to render before you use it.
+     */
+    public void initRenderer(AttributeMap pStyle) {
+    }
+
+    /**
+     * Return a LayoutInfo for the paragraph represented by
+     * measurer.
+     * @param text the text containing the paragraph
+     * @param layoutToReuse clients can pass in a LayoutInfo
+     * which the ParagraphRenderer may choose to reuse
+     * and return.  If null, a new LayoutInfo will be
+     * created and returned.
+     * @param measurer the LineBreakMeasurer for this paragraph.
+     *  Current position should be the first character on the line.
+     *  If null, a 0-length line is generated.  If measurer is null
+     *  then paragraphStart and paragraphLimit should be equal.
+     * @param frc the FontRenderContext used for measurerment
+     * @param paragraphStart the index in the text where the
+     * current paragraph begins
+     * @param paragraphLimit the index of the first character
+     * after the current paragraph
+     * @param totalFormatWidth the width in which the line should fit
+     * @param lineBound where right-aligned lines are aligned
+     */
+    public abstract LayoutInfo layout(MConstText text,
+                                      LayoutInfo layoutToReuse,
+                                      LineBreakMeasurer measurer,
+                                      FontRenderContext frc,
+                                      int paragraphStart,
+                                      int paragraphLimit,
+                                      int totalFormatWidth,
+                                      int lineBound);
+
+}
diff --git a/src/com/ibm/richtext/textformat/TestMTextIterator.java b/src/com/ibm/richtext/textformat/TestMTextIterator.java
new file mode 100755
index 0000000..baf676b
--- /dev/null
+++ b/src/com/ibm/richtext/textformat/TestMTextIterator.java
@@ -0,0 +1,118 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+// Requires Java2
+package com.ibm.richtext.textformat;
+
+import com.ibm.richtext.styledtext.StyledText;
+import com.ibm.richtext.styledtext.MConstText;
+import com.ibm.richtext.styledtext.MText;
+
+import com.ibm.richtext.textlayout.attributes.TextAttribute;
+import com.ibm.richtext.textlayout.attributes.AttributeMap;
+
+import com.ibm.richtext.textpanel.TextPanel;
+
+/**
+ * Test for MTextIterator.
+ */
+class TestMTextIterator {
+
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+    private static final FontResolver FONT_MAPPER;
+    static {
+        AttributeMap attrs = TextPanel.getDefaultSettings().getDefaultValues();
+        FONT_MAPPER = new FontResolver(attrs);
+    }
+
+    public static void compareIterToText(MTextIterator iter,
+                                         MConstText text) {
+
+        //System.out.println("Text: " + text);
+        final int beginIndex = iter.getBeginIndex();
+        final int endIndex = iter.getEndIndex();
+
+        char ch = iter.setIndex(beginIndex);
+
+        for (int i=beginIndex; i < endIndex; i++) {
+            //System.out.print(ch+ " ");
+            if (ch != text.at(i)) {
+                throw new Error("Characters are not the same.");
+            }
+            ch = iter.next();
+        }
+
+        if (ch != MTextIterator.DONE) {
+            throw new Error("Iterator is not done.");
+        }
+
+        for (int i=endIndex-1; i >= beginIndex; i--) {
+            ch = iter.previous();
+            //System.out.print(ch+ " ");
+            if (ch != text.at(i)) {
+                throw new Error("Backward iteration failed.");
+            }
+        }
+
+        iter.setIndex(beginIndex);
+
+        int runLimit;
+        for (int runStart = beginIndex; runStart < endIndex; runStart = runLimit) {
+
+            runLimit = Math.min(endIndex, text.characterStyleLimit(runStart));
+
+            if (iter.getRunStart() != runStart) {
+                System.out.println(iter.getRunStart() + "; " + runStart);
+                throw new Error("getRunStart is wrong.");
+            }
+            if (iter.getRunLimit() != runLimit) {
+                System.out.println(iter.getRunLimit() + "; " + runLimit);
+                throw new Error("getRunLimit is wrong.");
+            }
+
+            AttributeMap style = text.characterStyleAt(runStart);
+
+            while (iter.getIndex() < runLimit) {
+                AttributeMap resolved = FONT_MAPPER.applyFont(style);
+                if (!iter.getAttributes().equals(resolved)) {
+                    throw new Error("Style is wrong.");
+                }
+                iter.next();
+            }
+        }
+    }
+
+    public void test() {
+
+        AttributeMap bold = new AttributeMap(TextAttribute.WEIGHT,
+                                             TextAttribute.WEIGHT_BOLD);
+        MText text = new StyledText("Hello there!", AttributeMap.EMPTY_ATTRIBUTE_MAP);
+        text.replace(2, 2, 'V', bold);
+
+        MTextIterator iter = new MTextIterator(text, FONT_MAPPER, 0, text.length());
+        compareIterToText(iter, text);
+
+        text.replace(6, 8, new StyledText("ALL_BOLD", bold), 0, 8);
+        iter = new MTextIterator(text, FONT_MAPPER, 1, text.length()-3);
+        compareIterToText(iter, text);
+
+        iter = new MTextIterator(text, FONT_MAPPER, 0, text.length());
+        compareIterToText(iter, text);
+    }
+
+    public static void main(String[] args) {
+
+        new TestMTextIterator().test();
+        System.out.println("PASSED");
+    }
+}
diff --git a/src/com/ibm/richtext/textformat/TextOffset.java b/src/com/ibm/richtext/textformat/TextOffset.java
new file mode 100755
index 0000000..014eb01
--- /dev/null
+++ b/src/com/ibm/richtext/textformat/TextOffset.java
@@ -0,0 +1,196 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+// Revision: 03 1.16 richtext/TextOffset.java, richtext, richtext
+
+/*
+    9/5/96 {jbr} added set and equals methods
+*/
+
+package com.ibm.richtext.textformat;
+
+/**
+ * A TextOffset indicates both an integer offset into text and a placement
+ * on one of the characters adjacent to the offset.  An offset is a
+ * position between two characters;  offset n
+ * is between character n-1 and character n.  The placement specifies whether
+ * it is associated with the character
+ * after the offset
+ * (character n) or the character before the offset (character n-1).
+ * <p>
+ * Knowing which character the TextOffset is associated with is necessary
+ * when displaying carets.  In bidirectional text, a single offset may
+ * have two distinct carets.  Also, in multiline text, an offset at a line
+ * break has a possible caret on each line.
+ * <p>
+ * Most clients will not be interested in the placement, and will just use
+ * the offset.
+ */
+public final class TextOffset
+{
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+    /**
+     * Indicates that the TextOffset is associated with character
+     * <code>fOffset - 1</code> - ie the character before its offset.
+     */
+    public final static boolean BEFORE_OFFSET = true;
+
+    /**
+     * Indicates that the TextOffset is associated with character
+     * <code>fOffset</code> - ie the character after its offset.
+     */
+    public final static boolean AFTER_OFFSET = false;
+
+    /**
+     * The offset into the text.
+     */
+    public int fOffset = 0;
+
+    /**
+     * The placement - before or after.
+     */
+    public boolean fPlacement = AFTER_OFFSET;
+
+    /**
+    * Constructs a new TextOffset
+    * @param offset the offset into the text to represent.  Placement is implicitly AFTER_OFFSET.
+    */
+    public TextOffset(int offset)
+    {
+        if (offset < 0)
+            throw new IllegalArgumentException("Offset is negative in TextOffset constructor.");
+
+        fOffset = offset;
+
+        fPlacement = AFTER_OFFSET;
+    }
+
+    /**
+    * Constructs a new TextOffset at 0, with placement AFTER_OFFSET.
+    */
+    public TextOffset() {
+        this(0);
+    }
+
+    /**
+    * Constructs a new TextOffset with the given offset and placement.
+    * @param offset the offset into the text
+    * @param placement indicates the position of the caret; one of BEFORE_OFFSET or AFTER_OFFSET
+    */
+    public TextOffset(int offset, boolean placement)
+    {
+        if (offset < 0)
+            throw new IllegalArgumentException("TextOffset constructor offset < 0: " + offset);
+
+        fOffset = offset;
+        fPlacement = placement;
+    }
+
+    /**
+    * Constructs a new TextOffset from an existing one.
+    * @param rhs the TextOffset to copy
+    */
+    public TextOffset(TextOffset rhs) {
+
+        this(rhs.fOffset, rhs.fPlacement);
+    }
+
+    /**
+    * Set the value of the TextOffset
+    * @param offset the offset into the text
+    * @param placement indicates the position of the caret; one of BEFORE_OFFSET or AFTER_OFFSET
+    */
+    public void setOffset(int offset, boolean placement)
+    {
+        if (offset < 0)
+            throw new IllegalArgumentException("TextOffset setOffset offset < 0: " + offset);
+
+        fOffset = offset;
+        fPlacement = placement;
+    }
+
+    /**
+     * Compare this to another Object.
+     */
+    public boolean equals(Object other) {
+
+        try {
+            return equals((TextOffset)other);
+        }
+        catch(ClassCastException e) {
+            return false;
+        }
+    }
+
+    /**
+    * Return true if offset and placement are the same.
+    *
+    * @param other offset to compare against
+    * @return true if both offsets are equal
+    */
+    public boolean equals(TextOffset other) {
+
+        return fOffset == other.fOffset && fPlacement == other.fPlacement;
+    }
+
+    /**
+     * Return the hashCode for this object.
+     */
+    public int hashCode() {
+
+        return fPlacement==AFTER_OFFSET? fOffset : -fOffset;
+    }
+
+    /**
+    * Return true if this offset is 'greaterThan' other.  If the fOffset fields are equal, the
+    * placement field is considered, and AFTER_OFFSET is considered 'greaterThan' BEFORE_OFFSET.
+    *
+    * @param other the other offset
+    * @return true if this offset appears after other
+    */
+    public boolean greaterThan(TextOffset other)
+    {
+        return fOffset > other.fOffset ||
+            (fOffset == other.fOffset && fPlacement == AFTER_OFFSET && other.fPlacement == BEFORE_OFFSET);
+    }
+
+    /**
+    * Return true if this offset is 'lessThan' other.  If the fOffset fields are equal, the
+    * placement field is considered, and BEFORE_OFFSET is considered 'lessThan' AFTER_OFFSET.
+    *
+    * @param other the other offset
+    * @return true if this offset appears before other
+    */
+    public boolean lessThan(TextOffset other) {
+
+        return fOffset < other.fOffset ||
+            (fOffset == other.fOffset && fPlacement == BEFORE_OFFSET && other.fPlacement == AFTER_OFFSET);
+    }
+
+    /**
+    * Copy the value of another TextOffset into this
+    * @param other the TextOffset to copy
+    */
+    public void assign(TextOffset other) {
+        fOffset = other.fOffset;
+        fPlacement = other.fPlacement;
+    }
+
+    /**
+    * Return a string representation of this object.
+    */
+    public String toString() {
+
+        return "[" + (fPlacement ? "before " : "after ") + fOffset + "]";
+    }
+}
diff --git a/src/com/ibm/richtext/textformat/package.html b/src/com/ibm/richtext/textformat/package.html
new file mode 100644
index 0000000..27f16bb
--- /dev/null
+++ b/src/com/ibm/richtext/textformat/package.html
@@ -0,0 +1,15 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html>
+<head><!--  Copyright (C) 2002, International Business Machines Corporation and
+  others. All Rights Reserved.
+-->
+
+<title>C:ICU4J .lang Package Overview</title>
+</head>
+
+<body bgcolor="white">
+
+<p>Classes that format text in a background thread and render the formatted text to a graphics.</p>
+
+</body>
+</html>
diff --git a/src/com/ibm/richtext/textlayout/FontUtils.java b/src/com/ibm/richtext/textlayout/FontUtils.java
new file mode 100755
index 0000000..81099c2
--- /dev/null
+++ b/src/com/ibm/richtext/textlayout/FontUtils.java
@@ -0,0 +1,27 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+// Requires Java2
+package com.ibm.richtext.textlayout;
+
+import java.awt.Font;
+
+public final class FontUtils {
+
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+                
+    public static Font getFont(java.util.Map attributes) {
+
+        return Font.getFont(attributes);
+    }
+}
\ No newline at end of file
diff --git a/src/com/ibm/richtext/textlayout/Graphics2DConversion.java b/src/com/ibm/richtext/textlayout/Graphics2DConversion.java
new file mode 100755
index 0000000..1d73988
--- /dev/null
+++ b/src/com/ibm/richtext/textlayout/Graphics2DConversion.java
@@ -0,0 +1,54 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+// Requires Java2
+package com.ibm.richtext.textlayout;
+
+import java.awt.Graphics;
+import java.awt.Graphics2D;
+import java.awt.Paint;
+
+/**
+ * This class allows JDK 1.1 code to use a "fake" Graphics2D
+ * for source-code compatibility with Java2 code.  On Java2 it's
+ * a trivial class.  The JDK 1.1 version of this class does interesting
+ * work.
+ */ 
+public final class Graphics2DConversion {
+
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+                
+    public static Graphics2D getGraphics2D(Graphics g) {
+        return (Graphics2D) g;
+    }
+
+    public static Graphics getGraphics(Graphics2D g) {
+        return g;
+    }
+
+    /**
+     * Will return an instance of Paint.
+     */
+    public static Object getColorState(Graphics2D g) {
+
+        return g.getPaint();
+    }
+
+    /**
+     * State must be an instance of Paint.
+     */
+    public static void restoreColorState(Graphics2D g, Object state) {
+
+        g.setPaint((Paint) state);
+    }
+}
\ No newline at end of file
diff --git a/src/com/ibm/richtext/textlayout/attributes/AttributeKey.java b/src/com/ibm/richtext/textlayout/attributes/AttributeKey.java
new file mode 100755
index 0000000..f0efc73
--- /dev/null
+++ b/src/com/ibm/richtext/textlayout/attributes/AttributeKey.java
@@ -0,0 +1,163 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+package com.ibm.richtext.textlayout.attributes;
+
+import java.io.Serializable;
+
+/**
+ * This class provides a cannonical mapping between fields in TextAttribute
+ * and instances of itself.  It is used by AttributeMap to serialize
+ * and deserialize TextAttribute to preserve uniqueness of TextAttribute
+ * instances (ie so that TextAttribute instances remain singletons),
+ * and to provide compatability between 1.1 and 1.2 versions of
+ * TextAttribute.
+ * <p>
+ * Example use - instead of doing this:
+ * <blockquote><pre>
+ *     out.writeObject(anAttribute);
+ * </pre></blockquote>
+ * do this:
+ * <blockquote><pre>
+ *     out.writeObject(AttributeKey.mapAttributeToKey(anAttribute));
+ * </pre></blockquote>
+ * Similarly, instead of this:
+ * <blockquote><pre>
+ *     anAttribute = in.readObject();
+ * </pre></blockquote>
+ * do this:
+ * <blockquote><pre>
+ *     anAttribute = AttributeKey.mapKeyToAttribute(in.readObject());
+ * </pre></blockquote>
+ * <p>
+ * If anAttribute is not a known TextAttribute, then <code>mapAttributeToKey</code>
+ * will just return its argument.  Similarly, <code>mapKeyToAttribute</code> will
+ * return its argument if the argument is not a known AttributeKey.
+ */
+
+/*public*/ final class AttributeKey implements Serializable {
+
+/*
+    In this implementation, two parallel Vectors are
+    maintained.  TextAttribute(i) maps to AttributeKey(i).
+    For compatability with existing data, this mapping must
+    be maintained in the future!  So, when new attributes
+    are added, add them to the end of the list.
+*/
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+    private static final long serialVersionUID = 3772371253277107294L;
+
+    private static Object[] fgTextAttributes;
+    private static Object[] fgAttributeKeys;
+
+    static {
+        fgTextAttributes = new Object[] {
+            TextAttribute.FONT,
+            TextAttribute.FAMILY,
+            TextAttribute.WEIGHT,
+            TextAttribute.POSTURE,
+            TextAttribute.SIZE,
+            TextAttribute.SUPERSCRIPT,
+            TextAttribute.FOREGROUND,
+            TextAttribute.BACKGROUND,
+            TextAttribute.UNDERLINE,
+            TextAttribute.STRIKETHROUGH,
+            TextAttribute.CHAR_REPLACEMENT,
+            TextAttribute.EXTRA_LINE_SPACING,
+            TextAttribute.FIRST_LINE_INDENT,
+            TextAttribute.MIN_LINE_SPACING,
+            TextAttribute.LINE_FLUSH,
+            TextAttribute.LEADING_MARGIN,
+            TextAttribute.TRAILING_MARGIN,
+            TextAttribute.TAB_RULER,
+            TextAttribute.RUN_DIRECTION,
+            TextAttribute.BIDI_EMBEDDING,
+            TextAttribute.JUSTIFICATION,
+        };
+
+        final int attrCount = fgTextAttributes.length;
+        fgAttributeKeys = new Object[attrCount];
+
+        for (int i=0; i < attrCount; i += 1) {
+            fgAttributeKeys[i] = new AttributeKey(i);
+        }
+    }
+
+    /**
+     * Return the TextAttribute corresponding to the given key.
+     * If key is an instance of AttributeKey it will be mapped to
+     * a TextAttribute.  Otherwise, the key is returned.
+     * @param key the key to map to a TextAttribute field
+     * @return the TextAttribute for <code>key</code> if <code>key</code>
+     *    is an AttributeKey; otherwise <code>key</code> is returned
+     */
+    /*public*/ static Object mapKeyToAttribute(Object key) {
+
+        try {
+            AttributeKey aKey = (AttributeKey) key;
+            if (aKey.fId < fgTextAttributes.length) {
+                return fgTextAttributes[aKey.fId];
+            }
+            else {
+                return key;
+            }
+        }
+        catch(ClassCastException e) {
+            return key;
+        }
+    }
+
+    /**
+     * If attribute is a known TextAttribute, return an AttributeKey
+     * for it.  Otherwise the object is returned.
+     * @param attribute the attribute to map to an AttributeKey
+     * @return an AttributeKey for <code>attribute</code>
+     *     if <code>attribute</code> is a known attribute; otherwise
+     *     <code>attribute</code> is returned
+     */
+    /*public*/ static Object mapAttributeToKey(Object attribute) {
+
+        final int attrCount = fgTextAttributes.length;
+        
+        for (int index = 0; index < attrCount; index += 1) {
+            if (fgTextAttributes[index].equals(attribute)) {
+                return fgAttributeKeys[index];
+            }
+        }
+        
+        return attribute;
+    }
+
+
+    private int fId;
+
+    private AttributeKey(int id) {
+
+        fId = id;
+    }
+
+    public boolean equals(Object rhs) {
+
+        try {
+            return ((AttributeKey)rhs).fId == fId;
+        }
+        catch(ClassCastException e) {
+            return false;
+        }
+    }
+
+    public int hashCode() {
+
+        return fId;
+    }
+}
\ No newline at end of file
diff --git a/src/com/ibm/richtext/textlayout/attributes/AttributeMap.java b/src/com/ibm/richtext/textlayout/attributes/AttributeMap.java
new file mode 100755
index 0000000..0e219cc
--- /dev/null
+++ b/src/com/ibm/richtext/textlayout/attributes/AttributeMap.java
@@ -0,0 +1,527 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+// Requires Java2
+package com.ibm.richtext.textlayout.attributes;
+
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Enumeration;
+import java.util.Hashtable;
+import java.util.Iterator;
+import java.util.Set;
+
+import java.io.Externalizable;
+import java.io.ObjectInput;
+import java.io.ObjectOutput;
+import java.io.IOException;
+
+
+/**
+ * AttributeMap is an immutable Map.  Additionally, there are
+ * several methods for common operations (union,
+ * remove, intersect);  these methods return new AttributeMap
+ * instances.
+ * <p>
+ * Although any non-null Object can be a key or value in an
+ * AttributeMap, typically the keys are fields of TextAttribute.
+ * @see TextAttribute
+ */
+public final class AttributeMap implements java.util.Map,
+                                com.ibm.richtext.textlayout.attributes.Map,
+                                Externalizable {
+
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+    private static final int CURRENT_VERSION = 1;
+
+    private static final long serialVersionUID = 9510803;
+
+    private static final String errString = "StyleSets are immutable.";
+
+    // This is passed to the Hashtable constructor as the
+    // load factor argument.  It is chosen to avoid resizing
+    // the Hashtable whenever possible.  I think that 1
+    // does this.
+    private static final int LOAD_FACTOR = 1;
+
+    private Hashtable styleTable;
+    private transient AttributeSet cachedKeySet = null;
+    private transient Collection cachedValueCollection = null;
+    private transient Set cachedEntrySet = null;
+
+    /**
+     * An empty AttributeMap.
+     */
+    public static final AttributeMap EMPTY_ATTRIBUTE_MAP = new AttributeMap();
+
+// ==============
+// Constructors
+// ==============
+
+    /**
+     * Create a new, empty AttributeMap.  EMPTY_STYLE_SET can be used
+     * in place of an AttributeMap produced by this constructor.
+     */
+    public AttributeMap() {
+
+        styleTable = new Hashtable(1, LOAD_FACTOR);
+    }
+
+    /**
+     * Create an AttributeMap with the same key-value
+     * entries as the given Map.
+     * @param map a Map whose key-value entries will
+     *      become the entries for this AttributeMap. <code>map</code>
+     *      is not modified, and must not contain null keys or values.
+     */
+    public AttributeMap(java.util.Map map) {
+
+        styleTable = new Hashtable(map.size(), LOAD_FACTOR);
+        styleTable.putAll(map);
+    }
+
+    /**
+     * Create an AttributeMap with the same key-value
+     * entries as the given Hashtable.
+     * @param hashtable a Hashtable whose key-value entries will
+     *      become the entries for this AttributeMap. <code>table</code>
+     *      is not modified.
+     */
+    public AttributeMap(Hashtable hashtable) {
+
+        this((java.util.Map) hashtable);
+    }
+
+    /**
+     * Create an AttributeMap with a single entry of
+     * <code>{attribute, value}</code>.
+     * @param key the key in this AttributeMap's single entry
+     * @param value the value in this AttributeMap's single entry
+     */
+    public AttributeMap(Object key, Object value) {
+
+        styleTable = new Hashtable(1, LOAD_FACTOR);
+
+        // hashtable checks value for null
+        styleTable.put(key, value);
+    }
+
+    // For internal use only.
+    private AttributeMap(Hashtable table, boolean clone) {
+
+        if (clone) {
+            styleTable = (Hashtable) table.clone();
+        }
+        else {
+            this.styleTable = table;
+        }
+    }
+
+    public void writeExternal(ObjectOutput out) throws IOException {
+
+        out.writeInt(CURRENT_VERSION);
+        out.writeInt(styleTable.size());
+        Enumeration e = styleTable.keys();
+        while (e.hasMoreElements()) {
+            Object key = e.nextElement();
+            out.writeObject(AttributeKey.mapAttributeToKey(key));
+            out.writeObject(styleTable.get(key));
+        }
+    }
+
+    public void readExternal(ObjectInput in) throws IOException,
+                                            ClassNotFoundException {
+
+        if (in.readInt() != CURRENT_VERSION) {
+            throw new IOException("Invalid version of StyleBuffer");
+        }
+
+        int count = in.readInt();
+        for (int i=0; i < count; i += 1) {
+            Object key = AttributeKey.mapKeyToAttribute(in.readObject());
+            Object value = in.readObject();
+            styleTable.put(key, value);
+        }
+    }
+
+// ==============
+// Map interface
+// ==============
+
+// queries
+    /**
+     * Return the number of entries in the AttributeMap.
+     * @return the number of entries in the AttributeMap
+     */
+    public int size() {
+
+        return styleTable.size();
+    }
+
+    /**
+     * Return true if the number of entries in the AttributeMap
+     * is 0.
+     * @return true if the number of entries in the AttributeMap
+     * is 0
+     */
+    public boolean isEmpty() {
+
+        return styleTable.isEmpty();
+    }
+
+    /**
+     * Return true if the given key is in this AttributeMap.
+     * @param key the key to test
+     * @return true if <code>key</code> is in this AttributeMap
+     */
+    public boolean containsKey(Object key) {
+
+        return styleTable.containsKey(key);
+    }
+
+    /**
+     * Return true if the given value is in this AttributeMap.
+     * @param value the value to test
+     * @return true if <code>value</code> is in this AttributeMap
+     */
+    public boolean containsValue(Object value) {
+
+        return styleTable.containsValue(value);
+    }
+
+    /**
+     * Return the value associated with the given key.  If the
+     * key is not in this AttributeMap null is returned.
+     * @param key the key to look up
+     * @return the value associated with <code>key</code>, or
+     *     null if <code>key</code> is not in this AttributeMap
+     */
+    public Object get(Object key) {
+
+        return styleTable.get(key);
+    }
+
+// modifiers - all throw exceptions
+
+    /**
+     * Throws UnsupportedOperationException.
+     * @see #addAttribute
+     * @throws UnsupportedOperationException
+     */
+    public Object put(Object key, Object value) {
+
+        throw new UnsupportedOperationException(errString);
+    }
+
+    /**
+     * Throws UnsupportedOperationException.
+     * @see #removeAttributes
+     * @throws UnsupportedOperationException
+     */
+    public Object remove(Object key) {
+
+        throw new UnsupportedOperationException(errString);
+    }
+
+    /**
+     * Throws UnsupportedOperationException.
+     * @see #addAttributes
+     * @throws UnsupportedOperationException
+     */
+    public void putAll(java.util.Map t) {
+
+        throw new UnsupportedOperationException(errString);
+    }
+
+    /**
+     * Throws UnsupportedOperationException.
+     * @see #EMPTY_ATTRIBUTE_MAP
+     * @throws UnsupportedOperationException
+     */
+    public void clear() {
+
+        throw new UnsupportedOperationException(errString);
+    }
+
+// views
+
+    /**
+     * Return an AttributeSet containing every key in this AttributeMap.
+     * @return an AttributeSet containing every key in this AttributeMap
+     */
+    public Set keySet() {
+
+        return getKeySet();
+    }
+
+    /**
+     * Return an AttributeSet containing every key in this AttributeMap.
+     * @return an AttributeSet containing every key in this AttributeMap
+     */
+    public AttributeSet getKeySet() {
+
+        AttributeSet result = cachedKeySet;
+
+        if (result == null) {
+            result = AttributeSet.createKeySet(styleTable);
+            cachedKeySet = result;
+        }
+
+        return result;
+    }
+
+    /**
+     * Return a Collection containing every value in this AttributeMap.
+     * @return a Collection containing every value in this AttributeMap
+     */
+    public Collection values() {
+
+        Collection result = cachedValueCollection;
+
+        if (result == null) {
+            result = Collections.unmodifiableCollection(styleTable.values());
+            cachedValueCollection = result;
+        }
+
+        return result;
+    }
+
+    /**
+     * Return a Set containing all entries in this AttributeMap.
+     */
+    public Set entrySet() {
+
+        Set result = cachedEntrySet;
+
+        if (result == null) {
+            result = Collections.unmodifiableSet(styleTable.entrySet());
+            cachedEntrySet = result;
+        }
+
+        return result;
+    }
+
+    public boolean equals(Object rhs) {
+
+        if (rhs == this) {
+            return true;
+        }
+
+        if (rhs == null) {
+            return false;
+        }
+
+        AttributeMap rhsStyleSet = null;
+
+        try {
+            rhsStyleSet = (AttributeMap) rhs;
+        }
+        catch(ClassCastException e) {
+            return false;
+        }
+
+        return styleTable.equals(rhsStyleSet.styleTable);
+    }
+
+    public int hashCode() {
+
+        return styleTable.hashCode();
+    }
+
+    public String toString() {
+
+        return styleTable.toString();
+    }
+
+// ==============
+// Operations
+// ==============
+
+    /**
+     * Return a AttributeMap which contains entries in this AttributeMap,
+     * along with an entry for <attribute, value>.  If attribute
+     * is already present in this AttributeMap its value becomes value.
+     */
+    public AttributeMap addAttribute(Object key, Object value) {
+
+        // try to optimize for case where <key, value> is already there?
+        Hashtable newTable = new Hashtable(styleTable.size() + 1, LOAD_FACTOR);
+        newTable.putAll(styleTable);
+        newTable.put(key, value);
+        return new AttributeMap(newTable, false);
+    }
+
+    /**
+     * Return a AttributeMap which contains entries in this AttributeMap
+     * and in rhs.  If an attribute appears in both StyleSets the
+     * value from rhs is used.
+     */
+    public AttributeMap addAttributes(AttributeMap rhs) {
+
+        int thisSize = size();
+
+        if (thisSize == 0) {
+            return rhs;
+        }
+
+        int otherSize = rhs.size();
+
+        if (otherSize == 0) {
+            return this;
+        }
+
+        Hashtable newTable = new Hashtable(thisSize + otherSize, LOAD_FACTOR);
+
+        newTable.putAll(styleTable);
+        newTable.putAll(rhs);
+
+        return new AttributeMap(newTable, false);
+    }
+
+    /**
+     * Return a AttributeMap which contains entries in this AttributeMap
+     * and in rhs.  If an attribute appears in both StyleSets the
+     * value from rhs is used.
+     * The Map's keys and values must be non-null.
+     */
+    public AttributeMap addAttributes(java.util.Map rhs) {
+
+        if (rhs instanceof AttributeMap) {
+            return addAttributes((AttributeMap)rhs);
+        }
+
+        Hashtable newTable = new Hashtable(size() + rhs.size(), LOAD_FACTOR);
+
+        newTable.putAll(styleTable);
+        newTable.putAll(rhs);
+
+        return new AttributeMap(newTable, false);
+    }
+
+    /**
+     * Return a AttributeMap with the entries in this AttributeMap, but
+     * without attribute as a key.
+     */
+    public AttributeMap removeAttribute(Object attribute) {
+
+        if (!containsKey(attribute)) {
+            return this;
+        }
+
+        Hashtable newTable = new Hashtable(styleTable.size(), LOAD_FACTOR);
+        newTable.putAll(styleTable);
+        newTable.remove(attribute);
+
+        return new AttributeMap(newTable, false);
+    }
+
+    /**
+     * Return a AttributeMap with the entries of this AttributeMap whose
+     * attributes are <b>not</b> in the Set.
+     */
+    public AttributeMap removeAttributes(AttributeSet attributes) {
+
+        Set set = attributes;
+        return removeAttributes(set);
+    }
+
+    /**
+     * Return a AttributeMap with the entries of this AttributeMap whose
+     * attributes are <b>not</b> in the Set.
+     */
+    public AttributeMap removeAttributes(Set attributes) {
+
+        // Create newTable on demand;  if null at
+        // end of iteration then return this set.
+        // Should we intersect styleTable.keySet with
+        // attributes instead?
+
+        Hashtable newTable = null;
+        Iterator attrIter = attributes.iterator();
+        while (attrIter.hasNext()) {
+            Object current = attrIter.next();
+            if (current != null && styleTable.containsKey(current)) {
+                if (newTable == null) {
+                    newTable = new Hashtable(styleTable.size(), LOAD_FACTOR);
+                    newTable.putAll(styleTable);
+                }
+                newTable.remove(current);
+            }
+        }
+
+        if (newTable != null) {
+            return new AttributeMap(newTable, false);
+        }
+        else {
+            return this;
+        }
+    }
+
+    /**
+     * Return a AttributeMap with the keys of this AttributeMap which
+     * are also in the Set.  The set must not contain null.
+     */
+    public AttributeMap intersectWith(AttributeSet attributes) {
+
+        Set set = attributes;
+        return intersectWith(set);
+    }
+
+    /**
+     * Return a AttributeMap with the keys of this AttributeMap which
+     * are also in the Set.  The set must not contain null.
+     */
+    public AttributeMap intersectWith(Set attributes) {
+
+        // For now, forget about optimizing for the case when
+        // the return value is equivalent to this set.
+
+        int attrSize = attributes.size();
+        int styleTableSize = styleTable.size();
+        int size = Math.min(attrSize, styleTableSize);
+        Hashtable newTable = new Hashtable(size, LOAD_FACTOR);
+
+        if (attrSize < styleTableSize) {
+            Iterator attrIter = attributes.iterator();
+            while (attrIter.hasNext()) {
+                Object current = attrIter.next();
+                if (current != null) {
+                    Object value = styleTable.get(current);
+                    if (value != null) {
+                        newTable.put(current, value);
+                    }
+                }
+            }
+        }
+        else {
+            Iterator attrIter = keySet().iterator();
+            while (attrIter.hasNext()) {
+                Object current = attrIter.next();
+                if (attributes.contains(current)) {
+                    newTable.put(current, styleTable.get(current));
+                }
+            }
+        }
+
+        return new AttributeMap(newTable, false);
+    }
+
+    /**
+     * Put all entries in this AttributeMap into the given Map.
+     * @param rhs the Map into which entries are placed
+     */
+    public void putAllInto(java.util.Map rhs) {
+
+        rhs.putAll(this);
+    }
+}
diff --git a/src/com/ibm/richtext/textlayout/attributes/AttributeSet.java b/src/com/ibm/richtext/textlayout/attributes/AttributeSet.java
new file mode 100755
index 0000000..9f8060b
--- /dev/null
+++ b/src/com/ibm/richtext/textlayout/attributes/AttributeSet.java
@@ -0,0 +1,343 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+// Requires Java2
+package com.ibm.richtext.textlayout.attributes;
+
+import java.util.Hashtable;
+import java.util.Enumeration;
+import java.util.Iterator;
+import java.util.Set;
+import java.util.Collection;
+
+/**
+ * An AttributeSet is an immutable collection of unique Objects.
+ * It has several operations
+ * which return new AttributeSet instances.
+ */
+public final class AttributeSet implements Set {
+
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+
+    /**
+     * An AttributeSet with no members.
+     */
+    public static final AttributeSet EMPTY_SET = new AttributeSet();
+
+    private Hashtable elements;
+
+    private static final String errString = "AttributeSet is immutable.";
+
+    private AttributeSet(Hashtable elements) {
+
+        this.elements = elements;
+    }
+
+    /**
+     * Package only.  For AttributeMap use.
+     */
+    static AttributeSet createKeySet(Hashtable hashtable) {
+
+        Hashtable newElements = new Hashtable();
+
+        Enumeration e = hashtable.keys();
+        while (e.hasMoreElements()) {
+            Object next = e.nextElement();
+            newElements.put(next, next);
+        }
+
+        return new AttributeSet(newElements);
+    }
+
+    /**
+     * Create a new, empty AttributeSet.  The set is semantically
+     * equivalent to EMPTY_SET.
+     */
+    public AttributeSet() {
+
+        elements = new Hashtable();
+    }
+
+    /**
+     * Create a new AttributeSet with the single element elem.
+     */
+    public AttributeSet(Object elem) {
+
+        elements = new Hashtable(1, 1);
+        elements.put(elem, elem);
+    }
+
+    /**
+     * Create a new AttributeSet containing the items in the array elems.
+     */
+    public AttributeSet(Object[] elems) {
+
+        elements = new Hashtable(elems.length, 1);
+        for (int i=0; i < elems.length; i++) {
+            Object next = elems[i];
+            elements.put(next, next);
+        }
+    }
+
+    /**
+     * Return true if the number of elements in this set is 0.
+     * @return true if the number of elements in this set is 0
+     */
+    public boolean isEmpty() {
+
+        return elements.isEmpty();
+    }
+
+    /**
+     * Return the number of elements in this set.
+     * @return the number of elements in this set
+     */
+    public int size() {
+
+        return elements.size();
+    }
+
+    public boolean equals(Object rhs) {
+
+        try {
+            return equals((AttributeSet) rhs);
+        }
+        catch(ClassCastException e) {
+            return false;
+        }
+    }
+
+    public boolean equals(AttributeSet rhs) {
+
+        if (rhs == null) {
+            return false;
+        }
+
+        return elements.equals(rhs.elements);
+    }
+
+    /**
+     * Return true if this set contains the given Object
+     * @return true if this set contains <code>o</code>
+     */
+    public boolean contains(Object o) {
+
+        Object value = elements.get(o);
+        return value != null;
+    }
+
+    /**
+     * Return true if this set contains all elements in the given
+     * Collection
+     * @param coll the collection to compare with
+     * @return true if this set contains all elements in the given
+     * Collection
+     */
+    public boolean containsAll(Collection coll) {
+
+        return elements.keySet().containsAll(coll);
+    }
+
+    /**
+     * Return an Enumeration of the elements in this set.
+     * @return an Enumeration of the elements in this set
+     */
+    public Enumeration elements() {
+
+        return elements.keys();
+    }
+
+    /**
+     * Return an Iterator with the elements in this set.
+     * @return an Iterator with the elements in this set.
+     * The Iterator cannot be used to modify this AttributeSet.
+     */
+    public Iterator iterator() {
+
+        return new EnumerationIterator(elements.keys());
+    }
+
+    /**
+     * Fill in the given array with the elements in this set.
+     * @param storage an array to fill with this set's elements.
+     * The array cannot be null.
+     * @return the <tt>storage</tt> array.
+     */
+    public Object[] toArray(Object[] storage) {
+
+        Enumeration keys = elements.keys();
+        int n=0;
+        while (keys.hasMoreElements()) {
+            storage[n++] = keys.nextElement();
+        }
+        return storage;
+    }
+
+    /**
+     * Return an array with the elements in this set.
+     * @return an array with the elements in this set
+     */
+    public Object[] toArray() {
+
+        return toArray(new Object[size()]);
+    }
+    
+    /**
+     * Throws UnsupportedOperationException.
+     * @see #addElement
+     * @throws UnsupportedOperationException
+     */
+    public boolean add(Object o){
+        throw new UnsupportedOperationException(errString);
+    }
+
+    /**
+     * Throws UnsupportedOperationException.
+     * @throws UnsupportedOperationException
+     */
+    public boolean remove(Object o) {
+        throw new UnsupportedOperationException(errString);
+    }
+
+    /**
+     * Throws UnsupportedOperationException.
+     * @see #unionWith
+     * @throws UnsupportedOperationException
+     */
+    public boolean addAll(Collection coll) {
+        throw new UnsupportedOperationException(errString);
+    }
+
+    /**
+     * Throws UnsupportedOperationException.
+     * @see #subtract
+     * @throws UnsupportedOperationException
+     */
+    public boolean removeAll(Collection coll) {
+        throw new UnsupportedOperationException(errString);
+    }
+
+    /**
+     * Throws UnsupportedOperationException.
+     * @see #intersectWith
+     * @throws UnsupportedOperationException
+     */
+    public boolean retainAll(Collection coll) {
+        throw new UnsupportedOperationException(errString);
+    }
+
+    /**
+     * Throws UnsupportedOperationException.
+     * @see #EMPTY_SET
+     * @throws UnsupportedOperationException
+     */
+    public void clear() {
+        throw new UnsupportedOperationException(errString);
+    }
+
+    /**
+     * Return an AttributeSet containing the elements of this set
+     * and the given element
+     * @param element the element to add
+     * @return an AttributeSet like this one, with <code>element</code>
+     * added
+     */
+    public AttributeSet addElement(Object element) {
+
+        Hashtable newElements = (Hashtable) elements.clone();
+        newElements.put(element, element);
+        return new AttributeSet(newElements);
+    }
+
+    /**
+     * Return an AttributeSet which is the union of
+     * this set with the given set.
+     * @param s the set to union with
+     * @return an AttributeSet of the elements in this set or
+     * in <code>s</code>
+     */
+    public AttributeSet unionWith(AttributeSet s) {
+
+        Hashtable newElements = (Hashtable) elements.clone();
+
+        Iterator iter = s.iterator();
+        while (iter.hasNext()) {
+            Object next = iter.next();
+            newElements.put(next, next);
+        }
+
+        return new AttributeSet(newElements);
+    }
+
+    /**
+     * Return an AttributeSet which is the intersection of
+     * this set with the given set.
+     * @param s the set to intersect with
+     * @return an AttributeSet of the elements in this set which
+     * are in <code>s</code>
+     */
+    public AttributeSet intersectWith(AttributeSet s) {
+
+        Hashtable newElements = new Hashtable();
+
+        Iterator iter = s.iterator();
+        while (iter.hasNext()) {
+            Object next = iter.next();
+            if (elements.get(next) != null) {
+                newElements.put(next, next);
+            }
+        }
+
+        return new AttributeSet(newElements);
+    }
+
+    /**
+     * Return an AttributeSet with the elements in this set which
+     * are not in the given set.
+     * @param s the set of elements to exclude
+     * @return an AttributeSet of the elements in this set which
+     * are not in <code>s</code>
+     */
+    public AttributeSet subtract(AttributeSet s) {
+
+        Hashtable newElements = (Hashtable) elements.clone();
+
+        Iterator iter = s.iterator();
+        while (iter.hasNext()) {
+            newElements.remove(iter.next());
+        }
+
+        return new AttributeSet(newElements);
+    }
+
+    private static final class EnumerationIterator implements Iterator {
+
+        private Enumeration e;
+
+        EnumerationIterator(Enumeration e) {
+            this.e = e;
+        }
+
+        public boolean hasNext() {
+            return e.hasMoreElements();
+        }
+
+        public Object next() {
+            return e.nextElement();
+        }
+
+        public void remove() {
+            throw new UnsupportedOperationException(errString);
+        }
+    }
+}
\ No newline at end of file
diff --git a/src/com/ibm/richtext/textlayout/attributes/Map.java b/src/com/ibm/richtext/textlayout/attributes/Map.java
new file mode 100755
index 0000000..08052a2
--- /dev/null
+++ b/src/com/ibm/richtext/textlayout/attributes/Map.java
@@ -0,0 +1,49 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+// Requires Java2
+package com.ibm.richtext.textlayout.attributes;
+
+/**
+ * A Map is a collection of key-value pairs (or entries), where each
+ * key in the Map is unique.  This interface is a subset of the
+ * JDK 1.2 Map interface.  It is used by JDK 1.1-compatible code.
+ */
+public interface Map {
+
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+    /**
+     * Return the number of entries in this Map.
+     * @return the number of entries in this Map
+     */
+    public int size();
+
+    /**
+     * Return true if this Map has no entries.
+     * @return true if this Map has no entries
+     */
+    public boolean isEmpty();
+
+    /**
+     * Return the value of the given key.
+     * @return the value of the given key.  If the key does not have
+     * a value in this Map, null is returned.
+     */
+    public Object get(Object key);
+
+    /**
+     * Return true if this Map contains the given key.
+     * @return true if this Map contains the given key
+     */
+    public boolean containsKey(Object key);
+}
\ No newline at end of file
diff --git a/src/com/ibm/richtext/textlayout/attributes/TextAttribute.java b/src/com/ibm/richtext/textlayout/attributes/TextAttribute.java
new file mode 100755
index 0000000..719c7e5
--- /dev/null
+++ b/src/com/ibm/richtext/textlayout/attributes/TextAttribute.java
@@ -0,0 +1,246 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+// Requires Java2
+package com.ibm.richtext.textlayout.attributes;
+
+import java.util.Hashtable;
+import java.text.AttributedCharacterIterator.Attribute;
+import java.io.InvalidObjectException;
+
+/**
+ * This class contains a number of keys (or attributes) for specifying text styles
+ * in a Map.  A text style is a collection of key-value pairs, where
+ * the key represents a certain characteristic (such as size) and
+ * the value tells how that characteristic is realized (ie what the
+ * size is).
+ * <p>
+ * All of the attributes in TextAttribute specify a class for their value.
+ * Map does not enforce these class specifications;  however, text rendering code
+ * will tend to fail with a ClassCastException if a key's value
+ * has an unexpected class.
+ * <p>
+ * Some attributes are meaningful for entire paragraphs, not individual
+ * characters.  These attributes are documented as applying to paragraphs.
+ * All other attributes apply to characters.
+ * <p>
+ * Many of the field names and values in this class
+ * are taken from the JDK 1.2
+ * <code>java.awt.font.TextAttribute class</code>.
+ * @see Map
+ */
+public class TextAttribute extends Attribute {
+
+    private static final Hashtable instanceMap = new Hashtable(9);
+
+    protected TextAttribute(String name) {
+        super(name);
+        if (this.getClass() == TextAttribute.class) {
+            instanceMap.put(name, this);
+        }
+    }
+
+    protected Object readResolve() throws InvalidObjectException {
+        if (this.getClass() != TextAttribute.class) {
+            throw new InvalidObjectException("subclass didn't correctly implement readResolve");
+        }
+
+        TextAttribute instance = (TextAttribute) instanceMap.get(getName());
+        if (instance != null) {
+            return instance;
+        } else {
+            throw new InvalidObjectException("unknown attribute name");
+        }
+    }
+
+    public static final Object FONT = java.awt.font.TextAttribute.FONT;
+
+    public static final Object FAMILY = java.awt.font.TextAttribute.FAMILY;
+
+    public static final Object WEIGHT = java.awt.font.TextAttribute.WEIGHT;
+    public static final Float WEIGHT_BOLD = java.awt.font.TextAttribute.WEIGHT_BOLD;
+
+    public static final Object POSTURE = java.awt.font.TextAttribute.POSTURE;
+    public static final Float POSTURE_OBLIQUE = java.awt.font.TextAttribute.POSTURE_OBLIQUE;
+
+    public static final Object SIZE = java.awt.font.TextAttribute.SIZE;
+
+    public static final Object SUPERSCRIPT = java.awt.font.TextAttribute.SUPERSCRIPT;
+    public static final Integer SUPERSCRIPT_SUPER = java.awt.font.TextAttribute.SUPERSCRIPT_SUPER;
+    public static final Integer SUPERSCRIPT_SUB = java.awt.font.TextAttribute.SUPERSCRIPT_SUB;
+
+    /**
+     * Attribute key for the foreground and background color adornment.
+     */
+    public static final Object FOREGROUND = java.awt.font.TextAttribute.FOREGROUND;
+    public static final Object BACKGROUND = java.awt.font.TextAttribute.BACKGROUND;
+
+    public static final Object UNDERLINE = java.awt.font.TextAttribute.UNDERLINE;
+    public static final Integer UNDERLINE_ON = java.awt.font.TextAttribute.UNDERLINE_ON;
+
+    public static final Object STRIKETHROUGH = java.awt.font.TextAttribute.STRIKETHROUGH;
+    public static final Boolean STRIKETHROUGH_ON = java.awt.font.TextAttribute.STRIKETHROUGH_ON;
+
+    public static final Object OFFSET = new TextAttribute("offset");
+
+    public static final Object CHAR_REPLACEMENT = java.awt.font.TextAttribute.CHAR_REPLACEMENT;
+// Paragraph Styles
+
+// values are Floats:
+    public static final Object EXTRA_LINE_SPACING = new TextAttribute("extra_line_spacing");
+    public static final Object EXTRA_FIRST_LINE_SPACING = new TextAttribute("extra_first_line_spacing");
+
+    /**
+     * Amount beyond leading margin to indent the first line of a paragraph.
+     */
+    public static final Object FIRST_LINE_INDENT = new TextAttribute("first_line_indent");
+
+    public static final Object MIN_LINE_SPACING = new TextAttribute("min_line_spacing");
+    public static final Object MIN_FIRST_LINE_SPACING = new TextAttribute("min_first_line_spacing");
+
+    /**
+     * Flush lines left, right, or center.
+     */
+    public static final Object LINE_FLUSH = new TextAttribute("line_flush");
+
+    public static final Integer FLUSH_LEADING = new Integer(0);
+    public static final Integer FLUSH_CENTER = new Integer(1);
+    public static final Integer FLUSH_TRAILING = new Integer(2);
+    /**
+     * Value of <code>LINE_FLUSH</code> for full justification.
+     */
+    public static final Integer FULLY_JUSTIFIED = new Integer(3);
+
+    /**
+     * Leading and trailing margin in paragraph.
+     */
+    public static final Object LEADING_MARGIN = new TextAttribute("leading_margin");
+    public static final Object TRAILING_MARGIN = new TextAttribute("trailing_margin");
+
+    /**
+     * Tab ruler.  Values are MTabRuler instances.
+     */
+    public static final Object TAB_RULER = new TextAttribute("tab_ruler");
+    
+    /**
+     * Attribute key for the run direction of the line.
+     *
+     * <P><TABLE BORDER="0" CELLSPACING="0" CELLPADDING="1">
+     * <TR>
+     * <TH VALIGN="TOP" ALIGN="RIGHT"><P ALIGN=RIGHT>Key</TH>
+     * <TD VALIGN="TOP">RUN_DIRECTION</TD></TR>
+     * <TR>
+     * <TH VALIGN="TOP" ALIGN="RIGHT"><P ALIGN=RIGHT>Value</TH>
+     * <TD VALIGN="TOP">Boolean</TD></TR>
+     * <TR>
+     * <TH VALIGN="TOP" ALIGN="RIGHT"><P ALIGN=RIGHT>Constants</TH>
+     * <TD VALIGN="TOP">RUN_DIRECTION_LTR = true, RUN_DIRECTION_RTL = false
+     * </TD></TR>
+     * <TR>
+     * <TH VALIGN="TOP" ALIGN="RIGHT"><P ALIGN=RIGHT>Default</TH>
+     * <TD VALIGN="TOP">Use the default Unicode base direction from the BIDI 
+     * algorithm.</TD></TR>
+     * <TR>
+     * <TH VALIGN="TOP" ALIGN="RIGHT"><P ALIGN=RIGHT>Description</TH>
+     * <TD VALIGN="TOP"><P>Specifies which base run direction to use when 
+     * positioning mixed directional runs within a paragraph. If this value is
+     * RUN_DIRECTION_DEFAULT, <code>TextLayout</code> uses the default Unicode
+     * base direction from the BIDI algorithm.</P>
+     * <P><I>This attribute should have the same value over the whole 
+     * paragraph.</I></TD></TR>
+     * </TABLE>
+     */
+    public static final Object RUN_DIRECTION = java.awt.font.TextAttribute.RUN_DIRECTION;
+
+    /**
+     * Left-to-right run direction.
+     * @see #RUN_DIRECTION
+     */
+    public static final Boolean RUN_DIRECTION_LTR = java.awt.font.TextAttribute.RUN_DIRECTION_LTR;
+
+    /**
+     * Right-to-left run direction.
+     * @see #RUN_DIRECTION
+     */
+    public static final Boolean RUN_DIRECTION_RTL = java.awt.font.TextAttribute.RUN_DIRECTION_RTL;
+
+    /**
+     * Attribute key for the embedding level for nested bidirectional runs.
+     *
+     * <P><TABLE BORDER="0" CELLSPACING="0" CELLPADDING="1">
+     * <TR>
+     * <TH VALIGN="TOP" ALIGN="RIGHT"><P ALIGN=RIGHT>Key</TH>
+     * <TD VALIGN="TOP">BIDI_EMBEDDING</TD></TR>
+     * <TR>
+     * <TH VALIGN="TOP" ALIGN="RIGHT"><P ALIGN=RIGHT>Value</TH>
+     * <TD VALIGN="TOP">Integer</TD></TR>
+     * <TR>
+     * <TH VALIGN="TOP" ALIGN="RIGHT"><P ALIGN=RIGHT>Limits</TH>
+     * <TD VALIGN="TOP">Positive values 1 through 15 are <I>embedding</I>
+     * levels, negative values<BR> through -15 are <I>override</I> levels
+     * </TD></TR>
+     * <TR>
+     * <TH VALIGN="TOP" ALIGN="RIGHT"><P ALIGN=RIGHT>Default</TH>
+     * <TD VALIGN="TOP">Use standard BIDI to compute levels from formatting
+     * characters in the text.</TD></TR>
+     * <TR>
+     * <TH VALIGN="TOP" ALIGN="RIGHT"><P ALIGN=RIGHT>Description</TH>
+     * <TD VALIGN="TOP">Specifies the bidi embedding level of the character.
+     * When this attribute is present anywhere in a paragraph, then the 
+     * Unicode characters RLO, LRO, RLE, LRE, PDF are disregarded in the BIDI 
+     * analysis of that paragraph. 
+     * See the Unicode Standard v. 2.0, section 3-11.
+     * </TD></TR>
+     * </TABLE>
+     */
+    public static final Object BIDI_EMBEDDING = java.awt.font.TextAttribute.BIDI_EMBEDDING;
+
+    /**
+     * Attribute key for the justification of a paragraph.
+     *
+     * <P><TABLE BORDER="0" CELLSPACING="0" CELLPADDING="1">
+     * <TR>
+     * <TH VALIGN="TOP" ALIGN="RIGHT"><P ALIGN=RIGHT>Key</TH>
+     * <TD VALIGN="TOP">JUSTIFICATION</TD></TR>
+     * <TR>
+     * <TH VALIGN="TOP" ALIGN="RIGHT"><P ALIGN=RIGHT>Value</TH>
+     * <TD VALIGN="TOP">Float</TD></TR>
+     * <TR>
+     * <TH VALIGN="TOP" ALIGN="RIGHT"><P ALIGN=RIGHT>Limits</TH>
+     * <TD VALIGN="TOP">0.0 through1.0</TD></TR>
+     * <TR>
+     * <TH VALIGN="TOP" ALIGN="RIGHT"><P ALIGN=RIGHT>Default</TH>
+     * <TD VALIGN="TOP">1.0</TD></TR>
+     * <TR>
+     * <TH VALIGN="TOP" ALIGN="RIGHT"><P ALIGN=RIGHT>Description</TH>
+     * <TD VALIGN="TOP"><P>Specifies which fraction of the extra space to use 
+     * when justification is requested. For example, if the line is 50 points
+     * wide and the margins are 70 points apart, a value of 0.5 means that the
+     * line is padded to reach a width of 60 points.</P>
+     * <P><I>This attribute should have the same value over the whole
+     * paragraph.</I></TD></TR>
+     * </TABLE>
+     */
+    public static final Object JUSTIFICATION = java.awt.font.TextAttribute.JUSTIFICATION;
+
+    /**
+     * Justify the line to the full requested width.
+     * @see #JUSTIFICATION
+     */
+    public static final Float JUSTIFICATION_FULL = java.awt.font.TextAttribute.JUSTIFICATION_FULL;
+
+    /**
+     * Do not allow the line to be justified.
+     * @see #JUSTIFICATION
+     */
+    public static final Float JUSTIFICATION_NONE = java.awt.font.TextAttribute.JUSTIFICATION_NONE;
+}
diff --git a/src/com/ibm/richtext/textlayout/attributes/package.html b/src/com/ibm/richtext/textlayout/attributes/package.html
new file mode 100644
index 0000000..3fca91e
--- /dev/null
+++ b/src/com/ibm/richtext/textlayout/attributes/package.html
@@ -0,0 +1,15 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html>
+<head><!--  Copyright (C) 2002, International Business Machines Corporation and
+  others. All Rights Reserved.
+-->
+
+<title>C:ICU4J .lang Package Overview</title>
+</head>
+
+<body bgcolor="white">
+
+<p>Richtext attribute support.  Includes tab, first line indent, and margin attributes.</p>
+
+</body>
+</html>
diff --git a/src/com/ibm/richtext/textpanel/ATextPanelImpl.java b/src/com/ibm/richtext/textpanel/ATextPanelImpl.java
new file mode 100755
index 0000000..02dc81a
--- /dev/null
+++ b/src/com/ibm/richtext/textpanel/ATextPanelImpl.java
@@ -0,0 +1,751 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+package com.ibm.richtext.textpanel;
+
+import java.awt.Adjustable;
+import java.awt.Component;
+import java.awt.datatransfer.Clipboard;
+
+import com.ibm.richtext.textlayout.attributes.AttributeMap;
+
+import com.ibm.richtext.styledtext.StyleModifier;
+import com.ibm.richtext.styledtext.MConstText;
+import com.ibm.richtext.styledtext.MText;
+import com.ibm.richtext.styledtext.StyledText;
+import com.ibm.richtext.textformat.TextOffset;
+
+/**
+ * Implementation class for TextPanel and JTextPanel.
+ */
+final class ATextPanelImpl {
+    
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+                
+    private RunStrategy fRunStrategy = null;
+    private TextComponent fTextComponent = null;
+    private TextSelection fSelection = null;
+    private TextEditBehavior fEditBehavior = null;
+    private MText fText = null;
+
+    private PanelEventBroadcaster fBroadcaster;
+    private KeyRemap fRemap = KeyRemap.getIdentityRemap();
+
+    // This is a little ugly.  TextPanel supports its modified
+    // flag whether or not it is editable, or even selectable.
+    // So if there's no command log to keep track of the flag
+    // state then its done right here in TextPanel.  If the
+    // panel is editable this flag is ignored.
+    private boolean fModified = false;
+
+    static final TextPanelSettings fgDefaultSettings = new TextPanelSettings();
+
+    static TextPanelSettings getDefaultSettings() {
+
+        return (TextPanelSettings) fgDefaultSettings.clone();
+    }
+    
+    ATextPanelImpl(RunStrategy runStrategy,
+                   TextPanelSettings settings,
+                   MConstText initialText,
+                   Clipboard clipboard,
+                   MTextPanel client,
+                   Adjustable horzSb,
+                   Adjustable vertSb) {
+                    
+        fRunStrategy = runStrategy;
+        fBroadcaster = new PanelEventBroadcaster(client);
+
+        Scroller scroller = null;
+        if (settings.getScrollable()) {
+            scroller = new Scroller(horzSb, vertSb);
+        }
+
+        StyledTextClipboard textClipboard =
+                            StyledTextClipboard.getClipboardFor(clipboard);
+
+        fText = new StyledText();
+        if (initialText != null) {
+            fText.append(initialText);
+        }
+
+        fTextComponent = new TextComponent(fText,
+                                           settings.getDefaultValues(),
+                                           settings.getWraps(),
+                                           TextComponent.WINDOW_WIDTH,
+                                           TextComponent.DEFAULT_INSET,
+                                           textClipboard,
+                                           settings.getScrollable(),
+                                           scroller,
+                                           fBroadcaster);
+
+        if (scroller != null) {
+            scroller.setClient(fTextComponent);
+        }
+        
+        // May have to wait until component has host to do this:
+        if (settings.getSelectable()) {
+            fSelection = new TextSelection(fTextComponent, 
+                                           fBroadcaster,
+                                           fRunStrategy);
+            fSelection.addToOwner(fTextComponent);
+            if (settings.getEditable()) {
+                fEditBehavior = new TextEditBehavior(
+                            fTextComponent, fSelection, fBroadcaster, fRemap);
+                fEditBehavior.addToOwner(fTextComponent);
+            }
+        }
+    }
+    
+    FakeComponent getTextComponent() {
+        
+        return fTextComponent;
+    }
+    
+    /**
+     * Add the given TextPanelListener to the listeners which will
+     * receive update notifications from this TextPanel.
+     * @param listener the listener to add
+     */
+    public void addListener(TextPanelListener listener) {
+
+        fBroadcaster.addListener(listener);
+    }
+
+    /**
+     * Remove the given TextPanelListener from the listeners which will
+     * receive update notifications from this TextPanel.
+     * @param listener the listener to remove
+     */
+    public void removeListener(TextPanelListener listener) {
+
+        fBroadcaster.removeListener(listener);
+    }
+
+    /**
+     * You know what this does...
+     */
+    private static int pin(int value, int min, int max) {
+
+        if (min > max) {
+            throw new IllegalArgumentException("Invalid range");
+        }
+
+        if (value < min) {
+            value = min;
+        }
+        else if (value > max) {
+            value = max;
+        }
+        return value;
+    }
+
+//============
+// Text Access
+//============
+
+    /**
+     * Set the document to <tt>newText</tt>.  This operation
+     * modifies the text in the TextPanel.  It does not modify or adopt
+     * <tt>newText</tt>.  This method sets the selection an insertion point at
+     * the end of the text.
+     * @param newText the text which will replace the current text.
+     */
+    public void setText(MConstText newText) {
+
+        replaceRange(newText, 0, getTextLength());
+    }
+
+    /**
+     * Append the given text to the end of the document.  Equivalent to
+     * <tt>insert(newText, getTextLength())</tt>.
+     * @param newText the text to append to the document
+     */
+    public void append(MConstText newText) {
+
+        int length = getTextLength();
+        replaceRange(newText, length, length);
+    }
+
+    /**
+     * Insert the given text into the document at the given position.
+     * Equivalent to
+     * <tt>replaceRange(newText, position, position)</tt>.
+     * @param newText the text to insert into the document.
+     * @param position the position in the document where the
+     *     text will be inserted
+     */
+    public void insert(MConstText newText, int position) {
+
+        replaceRange(newText, position, position);
+    }
+
+    /**
+     * Replace the given range with <tt>newText</tt>.  After this
+     * operation the selection range is an insertion point at the
+     * end of the new text.
+     * @param newText the text with which to replace the range
+     * @param start the beginning of the range to replace
+     * @param end the end of the range to replace
+     */
+    public void replaceRange(MConstText newText, int start, int end) {
+
+        int length = getTextLength();
+
+        start = pin(start, 0, length);
+        end = pin(end, start, length);
+
+        if (fSelection != null) {
+
+            // If we're selectable, but not editable, we'll temporarily
+            // make ourselves editable to change the text.  A little funny
+            // but there's a lot of code for getting caret stuff right,
+            // and this is not a common operation anyway.
+
+            TextEditBehavior behavior;
+
+            if (fEditBehavior == null) {
+                behavior = new TextEditBehavior(fTextComponent, fSelection, fBroadcaster, fRemap);
+                behavior.addToOwner(fTextComponent);
+            }
+            else {
+                behavior = fEditBehavior;
+            }
+
+            TextOffset newSelection = new TextOffset(start + newText.length(),
+                                                     TextOffset.AFTER_OFFSET);
+
+            TextReplacement replacement = new TextReplacement(start, end,
+                                                              newText,
+                                                              newSelection,
+                                                              newSelection);
+
+            fTextComponent.textControlEventOccurred(Behavior.REPLACE,
+                                                    replacement);
+            if (fEditBehavior == null) {
+                behavior.removeFromOwner();
+            }
+        }
+        else {
+
+            MText oldText = fTextComponent.getModifiableText();
+            fTextComponent.stopBackgroundFormatting();
+            oldText.replaceAll(newText);
+            fTextComponent.reformatAndDrawText(0, newText.length(), null, null, null, null);
+        }
+    }
+
+    /**
+     * Return the length of the text document in the TextPanel.
+     * @return the length of the text document in the TextPanel
+     */
+    public int getTextLength() {
+
+        return fTextComponent.getText().length();
+    }
+
+    /**
+     * Return the text document in the TextPanel.
+     * @return the text document in the TextPanel.
+     */
+    public MConstText getText() {
+
+        return fTextComponent.getText();
+    }
+
+//============
+// Selection Access
+//============
+
+    /**
+     * Return the offset of the start of the selection.
+     */
+    public int getSelectionStart() {
+
+        if (fSelection != null) {
+            return fSelection.getStart().fOffset;
+        }
+        else {
+            return 0;
+        }
+    }
+
+    /**
+     * Return the offset of the end of the selection.
+     */
+    public int getSelectionEnd() {
+
+        if (fSelection != null) {
+            return fSelection.getEnd().fOffset;
+        }
+        else {
+            return 0;
+        }
+    }
+
+    /**
+     * Set the beginning of the selection range.  This is
+     * equivalent to <tt>select(selectionStart, getSelectionEnd())</tt>.
+     * @param selectionStart the start of the new selection range
+     */
+    public void setSelectionStart(int selectionStart) {
+
+        select(selectionStart, getSelectionEnd());
+    }
+
+    /**
+     * Set the end of the selection range.  This is
+     * equivalent to <tt>select(getSelectionStart(), selectionEnd)</tt>.
+     * @param selectionStart the start of the new selection range
+     */
+    public void setSelectionEnd(int selectionEnd) {
+
+        select(getSelectionStart(), selectionEnd);
+    }
+
+    /**
+     * Set the selection range to an insertion point at the given
+     * offset.  This is equivalent to
+     * <tt>select(position, position)</tt>.
+     * @param position the offset of the new insertion point
+     */
+    public void setCaretPosition(int position) {
+
+        select(position, position);
+    }
+
+    /**
+     * Set the selection range to the given range.  The range start
+     * is pinned between 0 and the text length;  the range end is pinned
+     * between the range start and the end of the text.  These semantics
+     * are identical to those of <tt>java.awt.TextComponent</tt>.
+     * This method has no effect if the text is not selectable.
+     * @param selectionStart the beginning of the selection range
+     * @param selectionEnd the end of the selection range
+     */
+    public void select(int selectionStart, int selectionEnd) {
+
+        int length = getTextLength();
+
+        selectionStart = pin(selectionStart, 0, length);
+        selectionEnd = pin(selectionEnd, selectionStart, length);
+
+        TextRange range = new TextRange(selectionStart, selectionEnd);
+        fTextComponent.textControlEventOccurred(Behavior.SELECT, range);
+    }
+
+    /**
+     * Select all of the text in the document.  This method has no effect if
+     * the text is not selectable.
+     */
+    public void selectAll() {
+
+        select(0, getTextLength());
+    }
+
+
+//============
+// Format Width
+//============
+
+    /**
+     * Return the total format width, in pixels.  The format width is the
+     * width to which text is wrapped.
+     * @return the format width
+     */
+    public int getFormatWidth() {
+
+        return fTextComponent.getFormatWidth();
+    }
+
+    /**
+     * Return true if the paragraph at the given offset is left-to-right.
+     * @param offset an offset in the text
+     * @return true if the paragraph at the given offset is left-to-right
+     */
+    public boolean paragraphIsLeftToRight(int offset) {
+        
+        return fTextComponent.paragraphIsLeftToRight(offset);
+    }
+
+    /**
+     * Return true if there is a change which can be undone.
+     * @return true if there is a change which can be undone.
+     */
+    public boolean canUndo() {
+
+        if (fEditBehavior != null) {
+            return fEditBehavior.canUndo();
+        }
+        else {
+            return false;
+        }
+    }
+
+    /**
+     * Return true if there is a change which can be redone.
+     * @return true if there is a change which can be redone.
+     */
+    public boolean canRedo() {
+
+        if (fEditBehavior != null) {
+            return fEditBehavior.canRedo();
+        }
+        else {
+            return false;
+        }
+    }
+
+    /**
+     * Return true if the clipboard contains contents which could be
+     * transfered into the text.
+     * @return true if the clipboard has text content.
+     */
+    public boolean clipboardNotEmpty() {
+
+        return fTextComponent.getClipboard().hasContents();
+    }
+
+    /**
+     * Return an AttributeMap of keys with default values.  The default
+     * values are used when displaying text for values which are not
+     * specified in the text.
+     * @return an AttributeMap of default key-value pairs
+     */
+    public AttributeMap getDefaultValues() {
+
+        return fTextComponent.getDefaultValues();
+    }
+    
+    private static boolean objectsAreEqual(Object lhs, Object rhs) {
+    
+        if (lhs == null) {
+            return rhs == null;
+        }
+        else {
+            return lhs.equals(rhs);
+        }
+    }
+
+    private static Object consistentCharStyle(MConstText text,
+                                              int start,
+                                              int limit,
+                                              Object key,
+                                              Object defaultValue) {
+
+        if (start >= limit) {
+            throw new IllegalArgumentException("Invalid range.");
+        }
+
+        int runStart = start;
+        Object initialValue = text.characterStyleAt(runStart).get(key);
+
+        if (initialValue == null) {
+            initialValue = defaultValue;
+        }
+
+        for (runStart = text.characterStyleLimit(runStart);
+             runStart < limit;
+             runStart = text.characterStyleLimit(runStart)) {
+
+            Object nextValue = text.characterStyleAt(runStart).get(key);
+
+            if (nextValue == null) {
+                nextValue = defaultValue;
+            }
+
+            if (!objectsAreEqual(initialValue, nextValue)) {
+                return MTextPanel.MULTIPLE_VALUES;
+            }
+        }
+
+        return initialValue;
+    }
+
+    /**
+     * This method inspects the character style runs in the selection
+     * range (or the typing style at the insertion point) and returns:
+     * <ul>
+     * <li>The value of <tt>key</tt>, if the value of <tt>key</tt>
+     * is the same in all of the style runs in the selection, or</li>
+     * <li>null, if two or more style runs have different values for <tt>key</tt>.</li>
+     * </ul>
+     * If a style run does not contain <tt>key</tt>,
+     * its value is considered to be <tt>defaultStyle</tt>.
+     * This method is useful for configuring style menus.
+     * @param key the key used to retrieve values for comparison
+     * @param defaultValue the implicit value of <tt>key</tt> in
+     *     style runs where <tt>key</tt> is not defined
+     */
+    public Object getCharacterStyleOverSelection(Object key) {
+
+        TextRange selRange;
+        if (fSelection != null)
+            selRange = fSelection.getSelectionRange();
+        else
+            selRange = new TextRange(0, 0);
+
+        if (selRange.start == selRange.limit) {
+
+            AttributeMap compStyle;
+
+            if (fEditBehavior != null) {
+                compStyle = fEditBehavior.getInsertionPointStyle();
+            }
+            else {
+                compStyle = TextEditBehavior.typingStyleAt(fText, selRange.start, selRange.limit);
+            }
+
+            Object value = compStyle.get(key);
+            return value==null? getDefaultValues().get(key) : value;
+        }
+        else {
+            return consistentCharStyle(fText, 
+                                       selRange.start,
+                                       selRange.limit,
+                                       key,
+                                       getDefaultValues().get(key));
+        }
+    }
+
+    /**
+     * This method inspects the paragraph style runs in the selection
+     * range (or the typing style at the insertion point) and returns:
+     * <ul>
+     * <li>The value of <tt>key</tt>, if the value of <tt>key</tt>
+     * is the same in all of the style runs in the selection, or</li>
+     * <li>null, if two or more style runs have different values for <tt>key</tt>.</li>
+     * </ul>
+     * If a style run does not contain <tt>key</tt>,
+     * its value is considered to be <tt>defaultStyle</tt>.
+     * This method is useful for configuring style menus.
+     * @param key the key used to retrieve values for comparison
+     * @param defaultValue the implicit value of <tt>key</tt> in
+     *     style runs where <tt>key</tt> is not defined
+     */
+    public Object getParagraphStyleOverSelection(Object key) {
+
+        TextRange selRange;
+        if (fSelection != null) {
+            selRange = fSelection.getSelectionRange();
+        }
+        else {
+            selRange = new TextRange(0, 0);
+        }
+
+        if (selRange.start == selRange.limit) {
+            AttributeMap pStyle = fText.paragraphStyleAt(selRange.start);
+            Object value = pStyle.get(key);
+            return value==null? getDefaultValues().get(key) : value;
+        }
+        else {
+            int paragraphStart = selRange.start;
+            Object defaultValue = getDefaultValues().get(key);
+            Object initialValue = fText.paragraphStyleAt(paragraphStart).get(key);
+            if (initialValue == null) {
+                initialValue = defaultValue;
+            }
+
+            for (paragraphStart = fText.paragraphLimit(paragraphStart);
+                 paragraphStart < selRange.limit;
+                 paragraphStart = fText.paragraphLimit(paragraphStart)) {
+
+                Object nextValue = fText.paragraphStyleAt(paragraphStart).get(key);
+                if (nextValue == null) {
+                    nextValue = defaultValue;
+                }
+
+                if (!objectsAreEqual(initialValue, nextValue)) {
+                    return MTextPanel.MULTIPLE_VALUES;
+                }
+            }
+
+            return initialValue;
+        }
+    }
+
+    /**
+     * Remove the selected text from the document and place it
+     * on the clipboard.  This method has no effect if the text
+     * is not editable, or if no text is selected.
+     */
+    public void cut() {
+        fTextComponent.textControlEventOccurred(Behavior.CUT, null);
+    }
+
+    /**
+     * Place the selected text on the clipboard.  This method has
+     * no effect if no text is selected.
+     */
+    public void copy() {
+        fTextComponent.textControlEventOccurred(Behavior.COPY, null);
+    }
+
+    /**
+     * Replace the currently selected text with the text on the clipboard.
+     * This method has no effect if the text is not editable, or if no
+     * text is on the clipboard.
+     */
+    public void paste() {
+        fTextComponent.textControlEventOccurred(Behavior.PASTE, null);
+    }
+
+    /**
+     * Remove selected text from the document, without altering the clipboard.
+     * This method has no effect if the
+     * text is not editable.
+     */
+    public void clear() {
+        fTextComponent.textControlEventOccurred(Behavior.CLEAR, null);
+    }
+
+    /**
+     * Undo the most recent text change.  This method has no effect if
+     * there is no change to undo.
+     */
+    public void undo() {
+        fTextComponent.textControlEventOccurred(Behavior.UNDO, null);
+    }
+
+    /**
+     * Redo the most recent text change.  This method has no effect if
+     * there is no change to redo.
+     */
+    public void redo() {
+        fTextComponent.textControlEventOccurred(Behavior.REDO, null);
+    }
+
+    /**
+     * Return the number of commands the command log can hold.
+     * @return the number of commands the command log can hold
+     */
+    public int getCommandLogSize() {
+
+        if (fEditBehavior != null) {
+            return fEditBehavior.getCommandLogSize();
+        }
+        else {
+            return 0;
+        }
+    }
+
+    /**
+     * Set the number of commands the command log can hold.  All
+     * redoable commands are removed when this method is called.
+     * @param size the number of commands kept in the command log
+     */
+    public void setCommandLogSize(int size) {
+        fTextComponent.textControlEventOccurred(Behavior.SET_COMMAND_LOG_SIZE,
+                                                new Integer(size));
+    }
+
+    /**
+     * Remove all commands from the command log.
+     */
+    public void clearCommandLog() {
+        fTextComponent.textControlEventOccurred(Behavior.CLEAR_COMMAND_LOG, null);
+    }
+
+    /**
+     * Modify the character styles on the selected characters.  If no characters
+     * are selected, modify the typing style.
+     * @param modifier the StyleModifier with which to modify the styles
+     */
+    public void modifyCharacterStyleOnSelection(StyleModifier modifier) {
+        fTextComponent.textControlEventOccurred(Behavior.CHARACTER_STYLE_MOD, modifier);
+    }
+
+    /**
+     * Modify the paragraph styles in paragraphs containing selected characters, or
+     * the paragraph containing the insertion point.
+     * @param modifier the StyleModifier with which to modify the styles
+     */
+    public void modifyParagraphStyleOnSelection(StyleModifier modifier) {
+        fTextComponent.textControlEventOccurred(Behavior.PARAGRAPH_STYLE_MOD, modifier);
+    }
+
+    /**
+     * Return the KeyRemap used to process key events.
+     * @return the key remap used to process key events
+     * @see #setKeyRemap
+     */
+    public KeyRemap getKeyRemap() {
+
+        return fRemap;
+    }
+
+    /**
+     * Use the given KeyRemap to map key events to characters.
+     * Only key
+     * events are affected by the remap;  other text entering the
+     * control (via the clipboard, for example) is not affected
+     * by the KeyRemap.
+     * <p>
+     * Do not pass <tt>null</tt> to this method to leave key
+     * events unmapped.  Instead, use <tt>KeyRemap.getIdentityRemap()</tt>
+     * @param remap the KeyRemap to use for mapping key events to characters
+     * @exception java.lang.NullPointerException if parameter is null
+     * @see KeyRemap
+     */
+    public void setKeyRemap(KeyRemap remap) {
+
+        if (remap == null) {
+            throw new NullPointerException("remap can't be null");
+        }
+
+        fRemap = remap;
+        if (fEditBehavior != null) {
+            fEditBehavior.setKeyRemap(remap);
+        }
+
+        fBroadcaster.textStateChanged(TextPanelEvent.KEYREMAP_CHANGED);
+    }
+
+    /**
+     * Return the modification flag of the current text change.
+     * @see #setModified
+     */
+    public boolean isModified() {
+
+        if (fEditBehavior != null) {
+            return fEditBehavior.isModified();
+        }
+        else {
+            return fModified;
+        }
+    }
+
+    /**
+     * Set the modification flag of the current text change.
+     */
+    public void setModified(boolean modified) {
+
+        boolean handled = fTextComponent.textControlEventOccurred(
+                                    Behavior.SET_MODIFIED,
+                                    modified? Boolean.TRUE : Boolean.FALSE);
+        if (!handled) {
+            fModified = modified;
+        }
+    }
+
+    /**
+     * This method is for perf-testing only!
+     */
+    void handleKeyEvent(java.awt.event.KeyEvent keyEvent) {
+    
+        Component host = fTextComponent.getHost();
+        if (host != null) {
+            host.dispatchEvent(keyEvent);
+        }
+    }
+}
diff --git a/src/com/ibm/richtext/textpanel/ArabicTransliteration.java b/src/com/ibm/richtext/textpanel/ArabicTransliteration.java
new file mode 100755
index 0000000..2356210
--- /dev/null
+++ b/src/com/ibm/richtext/textpanel/ArabicTransliteration.java
@@ -0,0 +1,178 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+/*
+ *
+ * (C) Copyright IBM Corp. 1998, All Rights Reserved
+ */
+
+package com.ibm.richtext.textpanel;
+
+/*
+For any incoming character C
+if you can map C using the following FakeArabicTable, return
+FakeArabicTable(C)
+else if C is from A through Z, return FakeArabicTable(lowercase(C))
+else just return C
+
+
+FakeArabicTable is defined by the following mapping
+
+0   0660;ARABIC-INDIC DIGIT ZERO;Nd;0;AN;;0;0;0;N;;;;;
+1   0661;ARABIC-INDIC DIGIT ONE;Nd;0;AN;;1;1;1;N;;;;;
+2   0662;ARABIC-INDIC DIGIT TWO;Nd;0;AN;;2;2;2;N;;;;;
+3   0663;ARABIC-INDIC DIGIT THREE;Nd;0;AN;;3;3;3;N;;;;;
+4   0664;ARABIC-INDIC DIGIT FOUR;Nd;0;AN;;4;4;4;N;;;;;
+5   0665;ARABIC-INDIC DIGIT FIVE;Nd;0;AN;;5;5;5;N;;;;;
+6   0666;ARABIC-INDIC DIGIT SIX;Nd;0;AN;;6;6;6;N;;;;;
+7   0667;ARABIC-INDIC DIGIT SEVEN;Nd;0;AN;;7;7;7;N;;;;;
+8   0668;ARABIC-INDIC DIGIT EIGHT;Nd;0;AN;;8;8;8;N;;;;;
+9   0669;ARABIC-INDIC DIGIT NINE;Nd;0;AN;;9;9;9;N;;;;;
+
+%   066A;ARABIC PERCENT SIGN;Po;0;ET;;;;;N;;;;;
+.   066B;ARABIC DECIMAL SEPARATOR;Po;0;AN;;;;;N;;;;;
+,   060C;ARABIC COMMA;Po;0;R;;;;;N;;;;;
+-   0640;ARABIC TATWEEL;Lm;0;R;;;;;N;;;;;
+'   0652;ARABIC SUKUN;Mn;34;R;;;;;N;;;;;
+"   0651;ARABIC SHADDA;Mn;33;R;;;;;N;ARABIC SHADDAH;;;;
+;   061B;ARABIC SEMICOLON;Po;0;R;;;;;N;;;;;
+?   061F;ARABIC QUESTION MARK;Po;0;R;;;;;N;;;;;
+
+a   0627;ARABIC LETTER ALEF;Lo;0;R;;;;;N;;;;;
+A   0639;ARABIC LETTER AIN;Lo;0;R;;;;;N;;;;;
+b   0628;ARABIC LETTER BEH;Lo;0;R;;;;;N;ARABIC LETTER BAA;;;;
+c   0635;ARABIC LETTER SAD;Lo;0;R;;;;;N;;;;;
+d   062F;ARABIC LETTER DAL;Lo;0;R;;;;;N;;;;;
+D   0630;ARABIC LETTER THAL;Lo;0;R;;;;;N;;;;;
+E   064B;ARABIC FATHATAN;Mn;27;R;;;;;N;;;;;
+e   064E;ARABIC FATHA;Mn;30;R;;;;;N;ARABIC FATHAH;;;;
+f   0641;ARABIC LETTER FEH;Lo;0;R;;;;;N;ARABIC LETTER FA;;;;
+g   063A;ARABIC LETTER GHAIN;Lo;0;R;;;;;N;;;;;
+h   062D;ARABIC LETTER HAH;Lo;0;R;;;;;N;ARABIC LETTER HAA;;;;
+H   0647;ARABIC LETTER HEH;Lo;0;R;;;;;N;ARABIC LETTER HA;;;;
+I   064D;ARABIC KASRATAN;Mn;29;R;;;;;N;;;;;
+i   0650;ARABIC KASRA;Mn;32;R;;;;;N;ARABIC KASRAH;;;;
+j   062C;ARABIC LETTER JEEM;Lo;0;R;;;;;N;;;;;
+K   062E;ARABIC LETTER KHAH;Lo;0;R;;;;;N;ARABIC LETTER KHAA;;;;
+k   0643;ARABIC LETTER KAF;Lo;0;R;;;;;N;ARABIC LETTER CAF;;;;
+l   0644;ARABIC LETTER LAM;Lo;0;R;;;;;N;;;;;
+m   0645;ARABIC LETTER MEEM;Lo;0;R;;;;;N;;;;;
+n   0646;ARABIC LETTER NOON;Lo;0;R;;;;;N;;;;;
+o   064F;ARABIC DAMMA;Mn;31;R;;;;;N;ARABIC DAMMAH;;;;
+p   0628;ARABIC LETTER BEH;Lo;0;R;;;;;N;ARABIC LETTER BAA;;;;
+q   0642;ARABIC LETTER QAF;Lo;0;R;;;;;N;;;;;
+r   0631;ARABIC LETTER REH;Lo;0;R;;;;;N;ARABIC LETTER RA;;;;
+s   0633;ARABIC LETTER SEEN;Lo;0;R;;;;;N;;;;;
+S   0634;ARABIC LETTER SHEEN;Lo;0;R;;;;;N;;;;;
+t   062A;ARABIC LETTER TEH;Lo;0;R;;;;;N;ARABIC LETTER TAA;;;;
+T   062B;ARABIC LETTER THEH;Lo;0;R;;;;;N;ARABIC LETTER THAA;;;;
+U   064C;ARABIC DAMMATAN;Mn;28;R;;;;;N;;;;;
+u   064F;ARABIC DAMMA;Mn;31;R;;;;;N;ARABIC DAMMAH;;;;
+v   0641;ARABIC LETTER FEH;Lo;0;R;;;;;N;ARABIC LETTER FA;;;;
+w   0648;ARABIC LETTER WAW;Lo;0;R;;;;;N;;;;;
+x   0633;ARABIC LETTER SEEN;Lo;0;R;;;;;N;;;;;
+y   064A;ARABIC LETTER YEH;Lo;0;R;;;;;N;ARABIC LETTER YA;;;;
+z   0632;ARABIC LETTER ZAIN;Lo;0;R;;;;;N;;;;;
+Z   0638;ARABIC LETTER ZAH;Lo;0;R;;;;;N;ARABIC LETTER DHAH;;;;
+
+*/
+
+/**
+ * This class implements KeyRemap to produce transliterated Arabic
+ * characters from Latin-1 characters.
+ */
+
+final class ArabicTransliteration extends KeyRemap {
+
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+    public char remap(char c) {
+
+        switch (c) {
+            case '0': return '\u0660'; // ARABIC-INDIC DIGIT ZERO
+            case '1': return '\u0661'; // ARABIC-INDIC DIGIT ONE
+            case '2': return '\u0662'; // ARABIC-INDIC DIGIT TWO
+            case '3': return '\u0663'; // ARABIC-INDIC DIGIT THREE
+            case '4': return '\u0664'; // ARABIC-INDIC DIGIT FOUR
+            case '5': return '\u0665'; // ARABIC-INDIC DIGIT FIVE
+            case '6': return '\u0666'; // ARABIC-INDIC DIGIT SIX
+            case '7': return '\u0667'; // ARABIC-INDIC DIGIT SEVEN
+            case '8': return '\u0668'; // ARABIC-INDIC DIGIT EIGHT
+            case '9': return '\u0669'; // ARABIC-INDIC DIGIT NINE
+
+            case '%': return '\u066A'; // ARABIC PERCENT SIGN
+            // the Traditional Arabic font does not contain this character
+            // case '.': return '\u066B'; // ARABIC DECIMAL SEPARATOR
+            case ',': return '\u060C'; // ARABIC COMMA
+            case '-': return '\u0640'; // ARABIC TATWEEL
+            case '\'': return '\u0652'; // ARABIC SUKUN
+            case '"': return '\u0651'; // ARABIC SHADDA
+            case ';': return '\u061B'; // ARABIC SEMICOLON
+            case '?': return '\u061F'; // ARABIC QUESTION MARK
+
+            case 'a': return '\u0627'; // ARABIC LETTER ALEF
+            case 'A': return '\u0639'; // ARABIC LETTER AIN
+            case 'b': return '\u0628'; // ARABIC LETTER BEH
+            case 'B': return '\u0628'; // ARABIC LETTER BEH
+            case 'c': return '\u0635'; // ARABIC LETTER SAD
+            case 'C': return '\u0635'; // ARABIC LETTER SAD
+            case 'd': return '\u062F'; // ARABIC LETTER DAL
+            case 'D': return '\u0630'; // ARABIC LETTER THAL
+            case 'e': return '\u064E'; // ARABIC FATHA
+            case 'E': return '\u064B'; // ARABIC FATHATAN
+            case 'f': return '\u0641'; // ARABIC LETTER FEH
+            case 'F': return '\u0641'; // ARABIC LETTER FEH
+            case 'g': return '\u063A'; // ARABIC LETTER GHAIN
+            case 'G': return '\u063A'; // ARABIC LETTER GHAIN
+            case 'h': return '\u062D'; // ARABIC LETTER HAH
+            case 'H': return '\u0647'; // ARABIC LETTER HEH
+            case 'i': return '\u0650'; // ARABIC KASRA
+            case 'I': return '\u064D'; // ARABIC KASRATAN
+            case 'j': return '\u062C'; // ARABIC LETTER JEEM
+            case 'J': return '\u062C'; // ARABIC LETTER JEEM
+            case 'k': return '\u0643'; // ARABIC LETTER KAF
+            case 'K': return '\u062E'; // ARABIC LETTER KHAH
+            case 'l': return '\u0644'; // ARABIC LETTER LAM
+            case 'L': return '\u0644'; // ARABIC LETTER LAM
+            case 'm': return '\u0645'; // ARABIC LETTER MEEM
+            case 'M': return '\u0645'; // ARABIC LETTER MEEM
+            case 'n': return '\u0646'; // ARABIC LETTER NOON
+            case 'N': return '\u0646'; // ARABIC LETTER NOON
+            case 'o': return '\u064F'; // ARABIC DAMMA
+            case 'O': return '\u064F'; // ARABIC DAMMA
+            case 'p': return '\u0628'; // ARABIC LETTER BEH
+            case 'P': return '\u0628'; // ARABIC LETTER BEH
+            case 'q': return '\u0642'; // ARABIC LETTER QAF
+            case 'Q': return '\u0642'; // ARABIC LETTER QAF
+            case 'r': return '\u0631'; // ARABIC LETTER REH
+            case 'R': return '\u0631'; // ARABIC LETTER REH
+            case 's': return '\u0633'; // ARABIC LETTER SEEN
+            case 'S': return '\u0634'; // ARABIC LETTER SHEEN
+            case 't': return '\u062A'; // ARABIC LETTER TEH
+            case 'T': return '\u062B'; // ARABIC LETTER THEH
+            case 'U': return '\u064C'; // ARABIC DAMMATAN
+            case 'u': return '\u064F'; // ARABIC DAMMA
+            case 'v': return '\u0641'; // ARABIC LETTER FEH
+            case 'V': return '\u0641'; // ARABIC LETTER FEH
+            case 'w': return '\u0648'; // ARABIC LETTER WAW
+            case 'W': return '\u0648'; // ARABIC LETTER WAW
+            case 'x': return '\u0633'; // ARABIC LETTER SEEN
+            case 'X': return '\u0633'; // ARABIC LETTER SEEN
+            case 'y': return '\u064A'; // ARABIC LETTER YEH
+            case 'Y': return '\u064A'; // ARABIC LETTER YEH
+            case 'z': return '\u0632'; // ARABIC LETTER ZAIN
+            case 'Z': return '\u0638'; // ARABIC LETTER ZAH
+        }
+
+        return c;
+    }
+}
diff --git a/src/com/ibm/richtext/textpanel/Behavior.java b/src/com/ibm/richtext/textpanel/Behavior.java
new file mode 100755
index 0000000..44d6625
--- /dev/null
+++ b/src/com/ibm/richtext/textpanel/Behavior.java
@@ -0,0 +1,201 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+package com.ibm.richtext.textpanel;
+
+import java.awt.Graphics;
+import java.awt.Rectangle;
+
+import java.awt.event.FocusEvent;
+import java.awt.event.KeyEvent;
+import java.awt.event.MouseEvent;
+
+/** A class that handles events for a BehaviorOwner.
+* A behavior enacpsulates some piece of the event-handling logic for a component.
+* This allows the client to separate event-handling logic out into separate classes
+* according to function, or to dynamically change the way a component handles
+* events without adding a lot of special-case code to the panel itself.
+* Behaviors are stored in a linked list, and all behaviors get a crack at an event before
+* the owner gets a crack at them (right now, we rely on objects that implement
+* BehaviorOwner to support these semantics).
+* Behavior provides all the same event-handling functions that Component provides, and
+* they all have exactly the same syntax and semantics. */
+abstract class Behavior {
+
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+    private Behavior fNextBehavior = null;
+    private BehaviorOwner fOwner = null;
+
+    static class EventType {
+
+        EventType() {
+        }
+    }
+
+    // events - should these be in TextPanel (or elsewhere)?
+
+    // This event's WHAT parameter is a TextRange instance
+    static final EventType SELECT = new EventType();
+
+    // No WHAT param for these:
+    static final EventType CUT = new EventType();
+    static final EventType COPY = new EventType();
+    static final EventType PASTE = new EventType();
+    static final EventType CLEAR = new EventType();
+    static final EventType UNDO = new EventType();
+    static final EventType REDO = new EventType();
+    static final EventType CLEAR_COMMAND_LOG = new EventType();
+
+    // WHAT param is a StyleModifier
+    static final EventType CHARACTER_STYLE_MOD = new EventType();
+    static final EventType PARAGRAPH_STYLE_MOD = new EventType();
+
+    // With this event, values of the WHAT parameter are
+    // either Boolean.TRUE or Boolean.FALSE
+    static final EventType SET_MODIFIED = new EventType();
+
+    // WHAT param is a TextReplacement
+    static final EventType REPLACE = new EventType();
+
+    // WHAT param is an Integer
+    static final EventType SET_COMMAND_LOG_SIZE = new EventType();
+
+    public Behavior() {
+    }
+
+    public void addToOwner(BehaviorOwner owner) {
+        removeFromOwner();
+        fOwner = owner;
+        setNextBehavior(owner.getBehavior());
+        owner.setBehavior(this);
+    }
+
+    public boolean focusGained(FocusEvent e) {
+        if (fNextBehavior != null)
+            return fNextBehavior.focusGained(e);
+        else
+            return false;
+    }
+
+    public boolean focusLost(FocusEvent e) {
+        if (fNextBehavior != null)
+            return fNextBehavior.focusLost(e);
+        else
+            return false;
+    }
+
+    public boolean keyPressed(KeyEvent e) {
+        if (fNextBehavior != null)
+            return fNextBehavior.keyPressed(e);
+        else
+            return false;
+    }
+
+    public boolean keyTyped(KeyEvent e) {
+
+        if (fNextBehavior != null) {
+            return fNextBehavior.keyTyped(e);
+        }
+        else {
+            return false;
+        }
+    }
+
+    public boolean keyReleased(KeyEvent e) {
+        if (fNextBehavior != null)
+            return fNextBehavior.keyReleased(e);
+        else
+            return false;
+    }
+
+    public boolean mouseDragged(MouseEvent e) {
+        if (fNextBehavior != null)
+            return fNextBehavior.mouseDragged(e);
+        else
+            return false;
+    }
+
+    public boolean mouseEntered(MouseEvent e) {
+        if (fNextBehavior != null)
+            return fNextBehavior.mouseEntered(e);
+        else
+            return false;
+    }
+
+    public boolean mouseExited(MouseEvent e) {
+        if (fNextBehavior != null)
+            return fNextBehavior.mouseExited(e);
+        else
+            return false;
+    }
+
+    public boolean mouseMoved(MouseEvent e) {
+        if (fNextBehavior != null)
+            return fNextBehavior.mouseMoved(e);
+        else
+            return false;
+    }
+
+    public boolean mousePressed(MouseEvent e) {
+        if (fNextBehavior != null)
+            return fNextBehavior.mousePressed(e);
+        else
+            return false;
+    }
+
+    public boolean mouseReleased(MouseEvent e) {
+        if (fNextBehavior != null)
+            return fNextBehavior.mouseReleased(e);
+        else
+            return false;
+    }
+
+    public final Behavior nextBehavior() {
+        return fNextBehavior;
+    }
+
+    public boolean paint(Graphics g, Rectangle drawRect) {
+        if (fNextBehavior != null)
+            return fNextBehavior.paint(g, drawRect);
+        else
+            return false;
+    }
+
+    public void removeFromOwner() {
+        if (fOwner != null) {
+            if (fOwner.getBehavior() == this)
+                fOwner.setBehavior(nextBehavior());
+            else {
+                Behavior    current = fOwner.getBehavior();
+
+                while (current != null && current.nextBehavior() != this)
+                    current = current.nextBehavior();
+                if (current != null)
+                    current.setNextBehavior(nextBehavior());
+            }
+            setNextBehavior(null);
+            fOwner = null;
+        }
+    }
+
+    public final void setNextBehavior(Behavior next) {
+        fNextBehavior = next;
+    }
+
+    public boolean textControlEventOccurred(EventType event, Object data) {
+        if (fNextBehavior != null)
+            return fNextBehavior.textControlEventOccurred(event, data);
+        else
+            return false;
+    }
+}
diff --git a/src/com/ibm/richtext/textpanel/BehaviorOwner.java b/src/com/ibm/richtext/textpanel/BehaviorOwner.java
new file mode 100755
index 0000000..e82fed9
--- /dev/null
+++ b/src/com/ibm/richtext/textpanel/BehaviorOwner.java
@@ -0,0 +1,20 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+package com.ibm.richtext.textpanel;
+
+interface BehaviorOwner {
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+    public Behavior getBehavior();
+    public void setBehavior(Behavior b);
+}
diff --git a/src/com/ibm/richtext/textpanel/Command.java b/src/com/ibm/richtext/textpanel/Command.java
new file mode 100755
index 0000000..0ddd27f
--- /dev/null
+++ b/src/com/ibm/richtext/textpanel/Command.java
@@ -0,0 +1,53 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+package com.ibm.richtext.textpanel;
+
+abstract class Command {
+
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+    private Command fPreviousCommand = null;
+
+    // fModified is used to keep a textModified flag for
+    // clients
+    private boolean fModified;
+
+    public Command() {
+        fModified = true;
+    }
+
+    public Command previousCommand() {
+        return fPreviousCommand;
+    }
+
+    public void setPreviousCommand(Command  previousCommand) {
+        fPreviousCommand = previousCommand;
+    }
+
+    public abstract void execute();
+    public abstract void undo();
+
+    public void redo() {
+        execute();
+    }
+
+    public final boolean isModified() {
+
+        return fModified;
+    }
+
+    public final void setModified(boolean modified) {
+
+        fModified = modified;
+    }
+}
diff --git a/src/com/ibm/richtext/textpanel/FakeComponent.java b/src/com/ibm/richtext/textpanel/FakeComponent.java
new file mode 100755
index 0000000..c38cd88
--- /dev/null
+++ b/src/com/ibm/richtext/textpanel/FakeComponent.java
@@ -0,0 +1,30 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+package com.ibm.richtext.textpanel;
+
+import java.awt.Component;
+import java.awt.Graphics;
+
+abstract class FakeComponent {
+    
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+    protected Component fHost;
+    
+    abstract void addNotify();
+    abstract void paint(Graphics g);
+    void setHost(Component host) {   
+        fHost = host;
+    }
+    abstract void requestFocus();
+}
\ No newline at end of file
diff --git a/src/com/ibm/richtext/textpanel/HackArabicTransliteration.java b/src/com/ibm/richtext/textpanel/HackArabicTransliteration.java
new file mode 100755
index 0000000..12e057f
--- /dev/null
+++ b/src/com/ibm/richtext/textpanel/HackArabicTransliteration.java
@@ -0,0 +1,181 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+/*
+ *
+ * (C) Copyright IBM Corp. 1998, All Rights Reserved
+ */
+
+package com.ibm.richtext.textpanel;
+
+/*
+For any incoming character C
+if you can map C using the following FakeArabicTable, return
+FakeArabicTable(C)
+else if C is from A through Z, return FakeArabicTable(lowercase(C))
+else just return C
+
+
+FakeArabicTable is defined by the following mapping
+
+0   0660;ARABIC-INDIC DIGIT ZERO;Nd;0;AN;;0;0;0;N;;;;;
+1   0661;ARABIC-INDIC DIGIT ONE;Nd;0;AN;;1;1;1;N;;;;;
+2   0662;ARABIC-INDIC DIGIT TWO;Nd;0;AN;;2;2;2;N;;;;;
+3   0663;ARABIC-INDIC DIGIT THREE;Nd;0;AN;;3;3;3;N;;;;;
+4   0664;ARABIC-INDIC DIGIT FOUR;Nd;0;AN;;4;4;4;N;;;;;
+5   0665;ARABIC-INDIC DIGIT FIVE;Nd;0;AN;;5;5;5;N;;;;;
+6   0666;ARABIC-INDIC DIGIT SIX;Nd;0;AN;;6;6;6;N;;;;;
+7   0667;ARABIC-INDIC DIGIT SEVEN;Nd;0;AN;;7;7;7;N;;;;;
+8   0668;ARABIC-INDIC DIGIT EIGHT;Nd;0;AN;;8;8;8;N;;;;;
+9   0669;ARABIC-INDIC DIGIT NINE;Nd;0;AN;;9;9;9;N;;;;;
+
+%   066A;ARABIC PERCENT SIGN;Po;0;ET;;;;;N;;;;;
+.   066B;ARABIC DECIMAL SEPARATOR;Po;0;AN;;;;;N;;;;;
+,   060C;ARABIC COMMA;Po;0;R;;;;;N;;;;;
+-   0640;ARABIC TATWEEL;Lm;0;R;;;;;N;;;;;
+'   0652;ARABIC SUKUN;Mn;34;R;;;;;N;;;;;
+"   0651;ARABIC SHADDA;Mn;33;R;;;;;N;ARABIC SHADDAH;;;;
+;   061B;ARABIC SEMICOLON;Po;0;R;;;;;N;;;;;
+?   061F;ARABIC QUESTION MARK;Po;0;R;;;;;N;;;;;
+
+a   0627;ARABIC LETTER ALEF;Lo;0;R;;;;;N;;;;;
+A   0639;ARABIC LETTER AIN;Lo;0;R;;;;;N;;;;;
+b   0628;ARABIC LETTER BEH;Lo;0;R;;;;;N;ARABIC LETTER BAA;;;;
+c   0635;ARABIC LETTER SAD;Lo;0;R;;;;;N;;;;;
+d   062F;ARABIC LETTER DAL;Lo;0;R;;;;;N;;;;;
+D   0630;ARABIC LETTER THAL;Lo;0;R;;;;;N;;;;;
+E   064B;ARABIC FATHATAN;Mn;27;R;;;;;N;;;;;
+e   064E;ARABIC FATHA;Mn;30;R;;;;;N;ARABIC FATHAH;;;;
+f   0641;ARABIC LETTER FEH;Lo;0;R;;;;;N;ARABIC LETTER FA;;;;
+g   063A;ARABIC LETTER GHAIN;Lo;0;R;;;;;N;;;;;
+h   062D;ARABIC LETTER HAH;Lo;0;R;;;;;N;ARABIC LETTER HAA;;;;
+H   0647;ARABIC LETTER HEH;Lo;0;R;;;;;N;ARABIC LETTER HA;;;;
+I   064D;ARABIC KASRATAN;Mn;29;R;;;;;N;;;;;
+i   0650;ARABIC KASRA;Mn;32;R;;;;;N;ARABIC KASRAH;;;;
+j   062C;ARABIC LETTER JEEM;Lo;0;R;;;;;N;;;;;
+K   062E;ARABIC LETTER KHAH;Lo;0;R;;;;;N;ARABIC LETTER KHAA;;;;
+k   0643;ARABIC LETTER KAF;Lo;0;R;;;;;N;ARABIC LETTER CAF;;;;
+l   0644;ARABIC LETTER LAM;Lo;0;R;;;;;N;;;;;
+m   0645;ARABIC LETTER MEEM;Lo;0;R;;;;;N;;;;;
+n   0646;ARABIC LETTER NOON;Lo;0;R;;;;;N;;;;;
+o   064F;ARABIC DAMMA;Mn;31;R;;;;;N;ARABIC DAMMAH;;;;
+p   0628;ARABIC LETTER BEH;Lo;0;R;;;;;N;ARABIC LETTER BAA;;;;
+q   0642;ARABIC LETTER QAF;Lo;0;R;;;;;N;;;;;
+r   0631;ARABIC LETTER REH;Lo;0;R;;;;;N;ARABIC LETTER RA;;;;
+s   0633;ARABIC LETTER SEEN;Lo;0;R;;;;;N;;;;;
+S   0634;ARABIC LETTER SHEEN;Lo;0;R;;;;;N;;;;;
+t   062A;ARABIC LETTER TEH;Lo;0;R;;;;;N;ARABIC LETTER TAA;;;;
+T   062B;ARABIC LETTER THEH;Lo;0;R;;;;;N;ARABIC LETTER THAA;;;;
+U   064C;ARABIC DAMMATAN;Mn;28;R;;;;;N;;;;;
+u   064F;ARABIC DAMMA;Mn;31;R;;;;;N;ARABIC DAMMAH;;;;
+v   0641;ARABIC LETTER FEH;Lo;0;R;;;;;N;ARABIC LETTER FA;;;;
+w   0648;ARABIC LETTER WAW;Lo;0;R;;;;;N;;;;;
+x   0633;ARABIC LETTER SEEN;Lo;0;R;;;;;N;;;;;
+y   064A;ARABIC LETTER YEH;Lo;0;R;;;;;N;ARABIC LETTER YA;;;;
+z   0632;ARABIC LETTER ZAIN;Lo;0;R;;;;;N;;;;;
+Z   0638;ARABIC LETTER ZAH;Lo;0;R;;;;;N;ARABIC LETTER DHAH;;;;
+
+*/
+
+/**
+ * This class implements KeyRemap to produce transliterated Arabic
+ * characters from Latin-1 characters.
+ */
+
+// NOTE: this class eliminates Arabic vowels which look ugly
+// in the font in which we happen to be demo'ing.  It's totally
+// bogus otherwise.
+final class HackArabicTransliteration extends KeyRemap {
+
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+    public char remap(char c) {
+
+        switch (c) {
+            case '0': return '\u0660'; // ARABIC-INDIC DIGIT ZERO
+            case '1': return '\u0661'; // ARABIC-INDIC DIGIT ONE
+            case '2': return '\u0662'; // ARABIC-INDIC DIGIT TWO
+            case '3': return '\u0663'; // ARABIC-INDIC DIGIT THREE
+            case '4': return '\u0664'; // ARABIC-INDIC DIGIT FOUR
+            case '5': return '\u0665'; // ARABIC-INDIC DIGIT FIVE
+            case '6': return '\u0666'; // ARABIC-INDIC DIGIT SIX
+            case '7': return '\u0667'; // ARABIC-INDIC DIGIT SEVEN
+            case '8': return '\u0668'; // ARABIC-INDIC DIGIT EIGHT
+            case '9': return '\u0669'; // ARABIC-INDIC DIGIT NINE
+
+            case '%': return '\u066A'; // ARABIC PERCENT SIGN
+            // the Traditional Arabic font does not contain this character
+            // case '.': return '\u066B'; // ARABIC DECIMAL SEPARATOR
+            case ',': return '\u060C'; // ARABIC COMMA
+            case '-': return '\u0640'; // ARABIC TATWEEL
+            case '\'': return '\u0652'; // ARABIC SUKUN
+            case '"': return '\u0651'; // ARABIC SHADDA
+            case ';': return '\u061B'; // ARABIC SEMICOLON
+            case '?': return '\u061F'; // ARABIC QUESTION MARK
+
+            case 'a': return '\u0627'; // ARABIC LETTER ALEF
+            case 'A': return '\u0639'; // ARABIC LETTER AIN
+            case 'b': return '\u0628'; // ARABIC LETTER BEH
+            case 'B': return '\u0628'; // ARABIC LETTER BEH
+            case 'c': return '\u0635'; // ARABIC LETTER SAD
+            case 'C': return '\u0635'; // ARABIC LETTER SAD
+            case 'd': return '\u062F'; // ARABIC LETTER DAL
+            case 'D': return '\u0630'; // ARABIC LETTER THAL
+            case 'e': //return '\u064E'; // ARABIC FATHA
+            case 'E': //return '\u064B'; // ARABIC FATHATAN
+            case 'f': return '\u0641'; // ARABIC LETTER FEH
+            case 'F': return '\u0641'; // ARABIC LETTER FEH
+            case 'g': return '\u063A'; // ARABIC LETTER GHAIN
+            case 'G': return '\u063A'; // ARABIC LETTER GHAIN
+            case 'h': return '\u062D'; // ARABIC LETTER HAH
+            case 'H': return '\u0647'; // ARABIC LETTER HEH
+            case 'i': //return '\u0650'; // ARABIC KASRA
+            case 'I': //return '\u064D'; // ARABIC KASRATAN
+            case 'j': return '\u062C'; // ARABIC LETTER JEEM
+            case 'J': return '\u062C'; // ARABIC LETTER JEEM
+            case 'k': return '\u0643'; // ARABIC LETTER KAF
+            case 'K': return '\u062E'; // ARABIC LETTER KHAH
+            case 'l': return '\u0644'; // ARABIC LETTER LAM
+            case 'L': return '\u0644'; // ARABIC LETTER LAM
+            case 'm': return '\u0645'; // ARABIC LETTER MEEM
+            case 'M': return '\u0645'; // ARABIC LETTER MEEM
+            case 'n': return '\u0646'; // ARABIC LETTER NOON
+            case 'N': return '\u0646'; // ARABIC LETTER NOON
+            case 'o': //return '\u064F'; // ARABIC DAMMA
+            case 'O': //return '\u064F'; // ARABIC DAMMA
+            case 'p': return '\u0628'; // ARABIC LETTER BEH
+            case 'P': return '\u0628'; // ARABIC LETTER BEH
+            case 'q': return '\u0642'; // ARABIC LETTER QAF
+            case 'Q': return '\u0642'; // ARABIC LETTER QAF
+            case 'r': return '\u0631'; // ARABIC LETTER REH
+            case 'R': return '\u0631'; // ARABIC LETTER REH
+            case 's': return '\u0633'; // ARABIC LETTER SEEN
+            case 'S': return '\u0634'; // ARABIC LETTER SHEEN
+            case 't': return '\u062A'; // ARABIC LETTER TEH
+            case 'T': return '\u062B'; // ARABIC LETTER THEH
+            case 'U': //return '\u064C'; // ARABIC DAMMATAN
+            case 'u': //return '\u064F'; // ARABIC DAMMA
+            case 'v': return '\u0641'; // ARABIC LETTER FEH
+            case 'V': return '\u0641'; // ARABIC LETTER FEH
+            case 'w': return '\u0648'; // ARABIC LETTER WAW
+            case 'W': return '\u0648'; // ARABIC LETTER WAW
+            case 'x': return '\u0633'; // ARABIC LETTER SEEN
+            case 'X': return '\u0633'; // ARABIC LETTER SEEN
+            case 'y': return '\u064A'; // ARABIC LETTER YEH
+            case 'Y': return '\u064A'; // ARABIC LETTER YEH
+            case 'z': return '\u0632'; // ARABIC LETTER ZAIN
+            case 'Z': return '\u0638'; // ARABIC LETTER ZAH
+        }
+
+        return c;
+    }
+}
diff --git a/src/com/ibm/richtext/textpanel/HebrewTransliteration.java b/src/com/ibm/richtext/textpanel/HebrewTransliteration.java
new file mode 100755
index 0000000..b4fe538
--- /dev/null
+++ b/src/com/ibm/richtext/textpanel/HebrewTransliteration.java
@@ -0,0 +1,88 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+/*
+ *
+ * (C) Copyright IBM Corp. 1998, All Rights Reserved
+ */
+
+package com.ibm.richtext.textpanel;
+
+/**
+ * This class implements KeyRemap to produce transliterated Hebrew
+ * characters from Latin-1 characters.
+ */
+
+final class HebrewTransliteration extends KeyRemap {
+
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+    public char remap(char c) {
+
+        switch (c) {
+            case 'a': return '\u05D0'; // HEBREW LETTER ALEF
+            case 'A': return '\u05E2'; // HEBREW LETTER AYIN
+            case 'b': return '\u05D1'; // HEBREW LETTER BET
+            case 'B': return '\u05D1'; // HEBREW LETTER BET
+            case 'c': return '\u05E6'; // HEBREW LETTER TSADI
+            case 'C': return '\u05E5'; // HEBREW LETTER FINAL TSADI
+            case 'd': return '\u05D3'; // HEBREW LETTER DALET
+            case 'D': return '\u05BC'; // HEBREW POINT DAGESH
+            case 'e': return '\u05B5'; // HEBREW POINT TSERE
+            case 'E': return '\u05B6'; // HEBREW POINT SEGOL
+            case 'f': return '\u05E4'; // HEBREW LETTER PE
+            case 'F': return '\u05E4'; // HEBREW LETTER PE
+            case 'g': return '\u05D2'; // HEBREW LETTER GIMEL
+            case 'G': return '\u05D2'; // HEBREW LETTER GIMEL
+            case 'h': return '\u05D4'; // HEBREW LETTER HE
+            case 'H': return '\u05D7'; // HEBREW LETTER HET
+            case 'i': return '\u05D9'; // HEBREW LETTER YOD
+            case 'I': return '\u05B4'; // HEBREW POINT HIRIQ
+            case 'j': return '\u05D9'; // HEBREW LETTER YOD
+            case 'J': return '\u05C1'; // HEBREW POINT SHIN DOT
+            case 'k': return '\u05DB'; // HEBREW LETTER KAF
+            case 'K': return '\u05DA'; // HEBREW LETTER FINAL KAF
+            case 'l': return '\u05DC'; // HEBREW LETTER LAMED
+            case 'L': return '\u05DC'; // HEBREW LETTER LAMED
+            case 'm': return '\u05DE'; // HEBREW LETTER MEM
+            case 'M': return '\u05DD'; // HEBREW LETTER FINAL MEM
+            case 'n': return '\u05E0'; // HEBREW LETTER NUN
+            case 'N': return '\u05DF'; // HEBREW LETTER FINAL NUN
+            case 'o': return '\u05D5'; // HEBREW LETTER VAV
+            case 'O': return '\u05B9'; // HEBREW POINT HOLAM
+            case 'p': return '\u05E4'; // HEBREW LETTER PE
+            case 'P': return '\u05E3'; // HEBREW LETTER FINAL PE
+            case 'q': return '\u05E7'; // HEBREW LETTER QOF
+            case 'Q': return '\u05E7'; // HEBREW LETTER QOF
+            case 'r': return '\u05E8'; // HEBREW LETTER RESH
+            case 'R': return '\u05BF'; // HEBREW POINT RAFE
+            case 's': return '\u05E9'; // HEBREW LETTER SHIN
+            case 'S': return '\u05E1'; // HEBREW LETTER SAMEKH
+            case 't': return '\u05EA'; // HEBREW LETTER TAV
+            case 'T': return '\u05D8'; // HEBREW LETTER TET
+            case 'u': return '\u05D5'; // HEBREW LETTER VAV
+            case 'U': return '\u05BB'; // HEBREW POINT QUBUTS
+            case 'v': return '\u05D5'; // HEBREW LETTER VAV
+            case 'V': return '\u05B7'; // HEBREW POINT PATAH
+            case 'w': return '\u05D5'; // HEBREW LETTER VAV
+            case 'W': return '\u05B8'; // HEBREW POINT QAMATS
+            case 'x': return '\u05E6'; // HEBREW LETTER TSADI
+            case 'X': return '\u05E5'; // HEBREW LETTER FINAL TSADI
+            case 'y': return '\u05D9'; // HEBREW LETTER YOD
+            case 'Y': return '\u05D9'; // HEBREW LETTER YOD
+            case 'z': return '\u05D6'; // HEBREW LETTER ZAYIN
+            case 'Z': return '\u05C2'; // HEBREW POINT SIN DOT
+        }
+
+        return c;
+    }
+}
diff --git a/src/com/ibm/richtext/textpanel/IsraelNikudKeyboard.java b/src/com/ibm/richtext/textpanel/IsraelNikudKeyboard.java
new file mode 100755
index 0000000..2718d06
--- /dev/null
+++ b/src/com/ibm/richtext/textpanel/IsraelNikudKeyboard.java
@@ -0,0 +1,82 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+/*
+ *
+ * (C) Copyright IBM Corp. 1998, All Rights Reserved
+ */
+
+package com.ibm.richtext.textpanel;
+
+import java.awt.event.KeyEvent;
+
+/**
+ * This class simulates a Nikud keyboard on a US-English
+ * keyboard.  It is very much a work in progress.
+ */
+
+final class IsraelNikudKeyboard extends KeyRemap {
+
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+    public char remap(char c) {
+
+        switch(c) {
+            case 't': return '\u05D0'; // alef
+            case 'c': return '\u05D1'; // bet
+            case 'd': return '\u05D2'; // gimel
+            case 's': return '\u05D3'; // dalet
+            case 'v': return '\u05D4'; // he
+            case 'u': return '\u05D5'; // vav
+            case 'z': return '\u05D6'; // zayin
+            case 'j': return '\u05D7'; // het
+            case 'y': return '\u05D8'; // tet
+            case 'h': return '\u05D9'; // yod
+            case 'l': return '\u05DA'; // final kaf
+            case 'f': return '\u05DB'; // kaf
+            case 'k': return '\u05DC'; // lamed
+            case 'o': return '\u05DD'; // final mem
+            case 'n': return '\u05DE'; // mem
+            case 'i': return '\u05DF'; // final nun
+            case 'b': return '\u05E0'; // nun
+            case 'x': return '\u05E1'; // samech
+            case 'g': return '\u05E2'; // ayin
+            case ';': return '\u05E3'; // final pe
+            case 'p': return '\u05E4'; // pe
+            case '.': return '\u05E5'; // final tsadi
+            case 'm': return '\u05E6'; // tsadi
+            case 'e': return '\u05E7'; // qof
+            case 'r': return '\u05E8'; // resh
+            case 'a': return '\u05E9'; // shin
+            case ',': return '\u05EA'; // tav
+            case 'w': return ',';
+            case 'q': return '/';
+            case '/': return '.';
+        }
+
+        return c;
+    }
+
+    public char remap(KeyEvent keyEvent) {
+
+        //  Note:  only one ctrl case now (ctrl-/ -> dagesh).
+        //  Better implementation will be needed for more cases.
+
+        if (keyEvent.isControlDown()) {
+            if (keyEvent.getKeyCode() == KeyEvent.VK_SLASH) {
+                return '\u05BC'; // dagesh
+            }
+        }
+
+        return remap(keyEvent.getKeyChar());
+    }
+}
\ No newline at end of file
diff --git a/src/com/ibm/richtext/textpanel/JTextPanel.java b/src/com/ibm/richtext/textpanel/JTextPanel.java
new file mode 100755
index 0000000..75309b9
--- /dev/null
+++ b/src/com/ibm/richtext/textpanel/JTextPanel.java
@@ -0,0 +1,580 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2005.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+package com.ibm.richtext.textpanel;
+
+import java.awt.Adjustable;
+import java.awt.BorderLayout;
+import java.awt.Color;
+import java.awt.Graphics;
+import java.lang.reflect.InvocationTargetException;
+
+import javax.swing.JPanel;
+import javax.swing.JComponent;
+import javax.swing.JScrollBar;
+import javax.swing.SwingUtilities;
+
+import java.awt.datatransfer.Clipboard;
+
+import com.ibm.richtext.textlayout.attributes.AttributeMap;
+
+import com.ibm.richtext.styledtext.StyleModifier;
+import com.ibm.richtext.styledtext.MConstText;
+
+/**
+ * JTextPanel is an implementation of MTextPanel in a Swing JPanel.
+ * @see MTextPanel
+ */
+public final class JTextPanel extends JPanel implements MTextPanel {
+
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+    private ATextPanelImpl fImpl;
+    
+    /**
+     * Return a TextPanelSettings instance with all settings set
+     * to the default values.  Clients can modify this object;
+     * modifications will not affect the default values.
+     * @return a TextPanelSettings instance set to default values
+     * @see TextPanelSettings
+     */
+    public static TextPanelSettings getDefaultSettings() {
+
+        return ATextPanelImpl.getDefaultSettings();
+    }
+
+    /**
+     * Create a new JTextPanel with the default settings.
+     * @param initialText the text document.  If null document text is empty.
+     * @param clipboard the clipboard to use for cut, copy, and paste
+     *  operations.  If null this panel will use a private clipboard.
+     */
+    public JTextPanel(MConstText initialText,
+                      java.awt.datatransfer.Clipboard clipboard) {
+
+        this(ATextPanelImpl.fgDefaultSettings, initialText, clipboard);
+    }
+
+    /**
+     * Create a new JTextPanel.
+     * @param settings the settings for this JTextPanel
+     * @param initialText the text document.  If null document text is empty.
+     * @param clipboard the clipboard to use for cut, copy, and paste
+     *  operations.  If null this panel will use a private clipboard.
+     * @see TextPanelSettings
+     */
+    public JTextPanel(TextPanelSettings settings,
+                      MConstText initialText,
+                      Clipboard clipboard) {
+        
+        super(false);
+        
+        JScrollBar horzSb = null;
+        JScrollBar vertSb = null;
+        
+        if (settings.getScrollable()) {
+
+            setLayout(new ScrollBarLayout());
+
+            boolean scrollBarsVisible = settings.getScrollBarsVisible();
+
+            if (scrollBarsVisible) {
+                horzSb = new JScrollBar(Adjustable.HORIZONTAL);
+                vertSb = new JScrollBar(Adjustable.VERTICAL);
+                add("South", horzSb);
+                add("East", vertSb);
+            }
+        }
+        else {
+            setLayout(new BorderLayout());
+        }
+        
+        RunStrategy runStrategy = new RunStrategy() {
+            void doIt(Runnable r) {
+                try {
+                    SwingUtilities.invokeAndWait(r);
+                }
+                catch(InterruptedException e) {
+                    // If operation was interrupted, then client
+                    // called wait or sleep (or something similar)
+                    // which is inappropriate for a client of this
+                    // class.  Rethrow error and let client handle it.
+                    e.printStackTrace();
+                    throw new Error("Interrupted in RunStrategy: " + e);
+                }
+                catch(InvocationTargetException e) {
+                    // Who knows how this one happens...
+                    e.printStackTrace();
+                    throw new Error("InvocationTargetException in RunStrategy: " + e);
+                }
+            }
+        };
+        
+        fImpl = new ATextPanelImpl(runStrategy,
+                                   settings,
+                                   initialText,
+                                   clipboard,
+                                   this,
+                                   horzSb,
+                                   vertSb);
+                                   
+        final FakeComponent textComponent = fImpl.getTextComponent();
+        
+        JComponent textHost = new JComponent() {
+            {
+                textComponent.setHost(this);
+            }
+            public void addNotify() {
+                super.addNotify();
+                textComponent.addNotify();
+            }
+            public void paint(Graphics g) {
+                textComponent.paint(g);
+            }
+        };
+        
+        add("Center", textHost);
+
+        textHost.requestFocus();
+    }
+
+    /**
+     * Add the given TextPanelListener to the listeners which will
+     * receive update notifications from this JTextPanel.
+     * @param listener the listener to add
+     */
+    public void addListener(TextPanelListener listener) {
+
+        fImpl.addListener(listener);
+    }
+
+    /**
+     * Remove the given TextPanelListener from the listeners which will
+     * receive update notifications from this JTextPanel.
+     * @param listener the listener to remove
+     */
+    public void removeListener(TextPanelListener listener) {
+
+        fImpl.removeListener(listener);
+    }
+
+//============
+// Text Access
+//============
+
+    /**
+     * Set the document to <tt>newText</tt>.  This operation
+     * modifies the text in the JTextPanel.  It does not modify or adopt
+     * <tt>newText</tt>.  This method sets the selection an insertion point at
+     * the end of the text.
+     * @param newText the text which will replace the current text.
+     */
+    public void setText(MConstText newText) {
+
+        fImpl.setText(newText);
+    }
+
+    /**
+     * Append the given text to the end of the document.  Equivalent to
+     * <tt>insert(newText, getTextLength())</tt>.
+     * @param newText the text to append to the document
+     */
+    public void append(MConstText newText) {
+
+        fImpl.append(newText);
+    }
+
+    /**
+     * Insert the given text into the document at the given position.
+     * Equivalent to
+     * <tt>replaceRange(newText, position, position)</tt>.
+     * @param newText the text to insert into the document.
+     * @param position the position in the document where the
+     *     text will be inserted
+     */
+    public void insert(MConstText newText, int position) {
+
+        fImpl.insert(newText, position);
+    }
+
+    /**
+     * Replace the given range with <tt>newText</tt>.  After this
+     * operation the selection range is an insertion point at the
+     * end of the new text.
+     * @param newText the text with which to replace the range
+     * @param start the beginning of the range to replace
+     * @param end the end of the range to replace
+     */
+    public void replaceRange(MConstText newText, int start, int end) {
+
+        fImpl.replaceRange(newText, start, end);
+    }
+
+    /**
+     * Return the length of the text document in the JTextPanel.
+     * @return the length of the text document in the JTextPanel
+     */
+    public int getTextLength() {
+
+        return fImpl.getTextLength();
+    }
+
+    /**
+     * Return the text document in the JTextPanel.
+     * @return the text document in the JTextPanel.
+     */
+    public MConstText getText() {
+
+        return fImpl.getText();
+    }
+
+//============
+// Selection Access
+//============
+
+    /**
+     * Return the offset of the start of the selection.
+     */
+    public int getSelectionStart() {
+
+        return fImpl.getSelectionStart();
+    }
+
+    /**
+     * Return the offset of the end of the selection.
+     */
+    public int getSelectionEnd() {
+
+        return fImpl.getSelectionEnd();
+    }
+
+    /**
+     * Set the beginning of the selection range.  This is
+     * equivalent to <tt>select(selectionStart, getSelectionEnd())</tt>.
+     * @param selectionStart the start of the new selection range
+     */
+    public void setSelectionStart(int selectionStart) {
+
+        fImpl.setSelectionStart(selectionStart);
+    }
+
+    /**
+     * Set the end of the selection range.  This is
+     * equivalent to <tt>select(getSelectionStart(), selectionEnd)</tt>.
+     * @param selectionEnd the end of the new selection range
+     */
+    public void setSelectionEnd(int selectionEnd) {
+
+        fImpl.setSelectionEnd(selectionEnd);
+    }
+
+    /**
+     * Set the selection range to an insertion point at the given
+     * offset.  This is equivalent to
+     * <tt>select(position, position)</tt>.
+     * @param position the offset of the new insertion point
+     */
+    public void setCaretPosition(int position) {
+
+        fImpl.setCaretPosition(position);
+    }
+
+    /**
+     * Set the selection range to the given range.  The range start
+     * is pinned between 0 and the text length;  the range end is pinned
+     * between the range start and the end of the text.  These semantics
+     * are identical to those of <tt>java.awt.TextComponent</tt>.
+     * This method has no effect if the text is not selectable.
+     * @param selectionStart the beginning of the selection range
+     * @param selectionEnd the end of the selection range
+     */
+    public void select(int selectionStart, int selectionEnd) {
+
+        fImpl.select(selectionStart, selectionEnd);
+    }
+
+    /**
+     * Select all of the text in the document.  This method has no effect if
+     * the text is not selectable.
+     */
+    public void selectAll() {
+
+        fImpl.selectAll();
+    }
+
+
+//============
+// Format Width
+//============
+
+    /**
+     * Return the total format width, in pixels.  The format width is the
+     * width to which text is wrapped.
+     * @return the format width
+     */
+    public int getFormatWidth() {
+
+        return fImpl.getFormatWidth();
+    }
+
+    /**
+     * Return true if the paragraph at the given offset is left-to-right.
+     * @param offset an offset in the text
+     * @return true if the paragraph at the given offset is left-to-right
+     */
+    public boolean paragraphIsLeftToRight(int offset) {
+        
+        return fImpl.paragraphIsLeftToRight(offset);
+    }
+
+    /**
+     * Return true if there is a change which can be undone.
+     * @return true if there is a change which can be undone.
+     */
+    public boolean canUndo() {
+
+        return fImpl.canUndo();
+    }
+
+    /**
+     * Return true if there is a change which can be redone.
+     * @return true if there is a change which can be redone.
+     */
+    public boolean canRedo() {
+
+        return fImpl.canRedo();
+    }
+
+    /**
+     * Return true if the clipboard contains contents which could be
+     * transfered into the text.
+     * @return true if the clipboard has text content.
+     */
+    public boolean clipboardNotEmpty() {
+
+        return fImpl.clipboardNotEmpty();
+    }
+
+    /**
+     * Return an AttributeMap of keys with default values.  The default
+     * values are used when displaying text for values which are not
+     * specified in the text.
+     * @return an AttributeMap of default key-value pairs
+     */
+    public AttributeMap getDefaultValues() {
+
+        return fImpl.getDefaultValues();
+    }
+
+    /**
+     * This method inspects the character style runs in the selection
+     * range (or the typing style at the insertion point).  It returns:
+     * <ul>
+     * <li>The value of <tt>key</tt>, if the value of <tt>key</tt>
+     * is the same in all of the style runs in the selection, or</li>
+     * <li><tt>MULTIPLE_VALUES</tt>, if two or more style runs have different 
+     * values for <tt>key</tt>.</li>
+     * </ul>
+     * If a style run does not contain <tt>key</tt>,
+     * its value is considered to be the default style for <tt>key</tt>,
+     * as defined by the default values AttributeMap.  Note that if
+     * <tt>key</tt> does not have a default value this method may return
+     * null.
+     * This method is useful for configuring style menus.
+     * @param key the key used to retrieve values for comparison
+     * @see MTextPanel#MULTIPLE_VALUES
+     */
+    public Object getCharacterStyleOverSelection(Object key) {
+        
+        return fImpl.getCharacterStyleOverSelection(key);
+    }
+
+    /**
+     * This method inspects the paragraph style runs in the selection
+     * range (or the typing style at the insertion point).  It returns:
+     * <ul>
+     * <li>The value of <tt>key</tt>, if the value of <tt>key</tt>
+     * is the same in all of the style runs in the selection, or</li>
+     * <li><tt>MULTIPLE_VALUES</tt>, if two or more style runs have 
+     * different values for <tt>key</tt>.</li>
+     * </ul>
+     * If a style run does not contain <tt>key</tt>,
+     * its value is considered to be the default style for <tt>key</tt>,
+     * as defined by the default values AttributeMap.  Note that if
+     * <tt>key</tt> does not have a default value this method may return
+     * null.
+     * This method is useful for configuring style menus.
+     * @param key the key used to retrieve values for comparison
+     * @see MTextPanel#MULTIPLE_VALUES
+     */
+    public Object getParagraphStyleOverSelection(Object key) {
+        
+        return fImpl.getParagraphStyleOverSelection(key);
+    }
+
+    /**
+     * Remove the selected text from the document and place it
+     * on the clipboard.  This method has no effect if the text
+     * is not editable, or if no text is selected.
+     */
+    public void cut() {
+        fImpl.cut();
+    }
+
+    /**
+     * Place the selected text on the clipboard.  This method has
+     * no effect if no text is selected.
+     */
+    public void copy() {
+        fImpl.copy();
+    }
+
+    /**
+     * Replace the currently selected text with the text on the clipboard.
+     * This method has no effect if the text is not editable, or if no
+     * text is on the clipboard.
+     */
+    public void paste() {
+        fImpl.paste();
+    }
+
+    /**
+     * Remove selected text from the document, without altering the clipboard.
+     * This method has no effect if the
+     * text is not editable.
+     */
+    public void clear() {
+        fImpl.clear();
+    }
+
+    /**
+     * Undo the most recent text change.  This method has no effect if
+     * there is no change to undo.
+     */
+    public void undo() {
+        fImpl.undo();
+    }
+
+    /**
+     * Redo the most recent text change.  This method has no effect if
+     * there is no change to redo.
+     */
+    public void redo() {
+        fImpl.redo();
+    }
+
+    /**
+     * Return the number of commands the command log can hold.
+     * @return the number of commands the command log can hold
+     */
+    public int getCommandLogSize() {
+
+        return fImpl.getCommandLogSize();
+    }
+
+    /**
+     * Set the number of commands the command log can hold.  All
+     * redoable commands are removed when this method is called.
+     * @param size the number of commands kept in the command log
+     */
+    public void setCommandLogSize(int size) {
+        fImpl.setCommandLogSize(size);
+    }
+
+    /**
+     * Remove all commands from the command log.
+     */
+    public void clearCommandLog() {
+        fImpl.clearCommandLog();
+    }
+
+    /**
+     * Modify the character styles on the selected characters.  If no characters
+     * are selected, modify the typing style.
+     * @param modifier the StyleModifier with which to modify the styles
+     */
+    public void modifyCharacterStyleOnSelection(StyleModifier modifier) {
+        fImpl.modifyCharacterStyleOnSelection(modifier);
+    }
+
+    /**
+     * Modify the paragraph styles in paragraphs containing selected characters, or
+     * the paragraph containing the insertion point.
+     * @param modifier the StyleModifier with which to modify the styles
+     */
+    public void modifyParagraphStyleOnSelection(StyleModifier modifier) {
+        fImpl.modifyParagraphStyleOnSelection(modifier);
+    }
+
+    /**
+     * Return the KeyRemap used to process key events.
+     * @return the key remap used to process key events
+     * @see #setKeyRemap
+     */
+    public KeyRemap getKeyRemap() {
+
+        return fImpl.getKeyRemap();
+    }
+
+    /**
+     * Use the given KeyRemap to map key events to characters.
+     * Only key
+     * events are affected by the remap;  other text entering the
+     * control (via the clipboard, for example) is not affected
+     * by the KeyRemap.
+     * <p>
+     * Do not pass <tt>null</tt> to this method to leave key
+     * events unmapped.  Instead, use <tt>KeyRemap.getIdentityRemap()</tt>
+     * @param remap the KeyRemap to use for mapping key events to characters
+     * @exception java.lang.NullPointerException if parameter is null
+     * @see KeyRemap
+     */
+    public void setKeyRemap(KeyRemap remap) {
+
+        fImpl.setKeyRemap(remap);
+    }
+
+    /**
+     * Return the modification flag of the current text change.
+     * @see #setModified
+     */
+    public boolean isModified() {
+
+        return fImpl.isModified();
+    }
+
+    /**
+     * Set the modification flag of the current text change.
+     */
+    public void setModified(boolean modified) {
+        
+        fImpl.setModified(modified);
+    }
+
+    /**
+     * This method is for KeyEventForwarder's use only!
+     */
+    ATextPanelImpl getImpl() {
+        
+        return fImpl;
+    }
+
+    public void setBackground(Color color) {
+        super.setBackground (color);
+        java.awt.Component[] compList = getComponents();
+        for (int i = 0; i < compList.length; i++) {
+            if (!(compList[i] instanceof JScrollBar)) {
+                compList[i].setBackground (color);
+            }
+        }
+    }
+}
diff --git a/src/com/ibm/richtext/textpanel/KeyEventForwarder.java b/src/com/ibm/richtext/textpanel/KeyEventForwarder.java
new file mode 100755
index 0000000..e1c82a6
--- /dev/null
+++ b/src/com/ibm/richtext/textpanel/KeyEventForwarder.java
@@ -0,0 +1,44 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+package com.ibm.richtext.textpanel;
+
+import java.awt.event.KeyEvent;
+
+/**
+ * This class forwards key events to a TextPanel component for
+ * testing purposes.
+ * Its sole reason for existence is to prevent the key-event
+ * API from being public on MTextPanel, and being mistaken for
+ * standard API.  This class is only for testing!  It may be
+ * removed from public API at any time.  Do not depend on this
+ * class.
+ */
+public final class KeyEventForwarder {
+
+    private ATextPanelImpl fPanelImpl;
+
+    public KeyEventForwarder(TextPanel textPanel) {
+
+        fPanelImpl = textPanel.getImpl();
+    }
+    
+    public KeyEventForwarder(JTextPanel textPanel) {
+    
+        fPanelImpl = textPanel.getImpl();
+    }
+
+    public void handleKeyEvent(KeyEvent keyEvent) {
+
+        fPanelImpl.handleKeyEvent(keyEvent);
+    }
+}
\ No newline at end of file
diff --git a/src/com/ibm/richtext/textpanel/KeyRemap.java b/src/com/ibm/richtext/textpanel/KeyRemap.java
new file mode 100755
index 0000000..f1c3cdc
--- /dev/null
+++ b/src/com/ibm/richtext/textpanel/KeyRemap.java
@@ -0,0 +1,116 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+/*
+ *
+ * (C) Copyright IBM Corp. 1998, All Rights Reserved
+ */
+
+package com.ibm.richtext.textpanel;
+
+import java.awt.event.KeyEvent;
+
+/**
+ * KeyRemap maps keys on a standard US keyboard to characters
+ * in other alphabets.  Currently, mappings to Arabic, Hebrew
+ * and Thai are supported.  In the future, clients may be
+ * to define their own mappings by subclassing this class.
+ * <P>
+ * @see TextPanel#setKeyRemap
+ */
+
+public class KeyRemap {
+
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+    /**
+     * Create a new KeyRemap.
+     */
+    protected KeyRemap() {
+    }
+
+    /**
+     * This method returns the character on the simulated keyboard
+     * which is (most likely) generated by typing the character c
+     * on the actual keyboard.  For greater accuracy, use the remap
+     * method which takes a KeyEvent, since it can take modifier
+     * keys into account.
+     * @arg c a character on the actual keyboard
+     * @return the character on the simulated keyboard which would
+     *         result from the key combination which produced the
+     *         given character on the actual keyboard
+     */
+    /*public*/ char remap(char c) {
+
+        return c;
+    }
+
+    /**
+     * Return the character on the simulated keyboard
+     * which keyEvent generates.
+     * @arg keyEvent a key event from the actual keyboard
+     * @return the character on the simulated keyboard generated by
+     *         keyEvent
+     */
+    /*public*/ char remap(KeyEvent keyEvent) {
+
+        return remap(keyEvent.getKeyChar());
+    }
+
+    private static final KeyRemap IDENTITY = new KeyRemap();
+    private static final KeyRemap ARABIC_TRANSLITERATION = new ArabicTransliteration();
+    private static final KeyRemap HEBREW_TRANSLITERATION = new HebrewTransliteration();
+    private static final KeyRemap ISRAEL_NIKUD = new IsraelNikudKeyboard();
+    private static final KeyRemap THAI = new ThaiKeyRemap();
+
+    /**
+     * Return a KeyRemap which maps every character to itself.
+     */
+    public static KeyRemap getIdentityRemap() {
+
+        return IDENTITY;
+    }
+
+    /**
+     * Return a KeyRemap which maps keys to
+     * characters in the Arabic alphabet, using a simple transliteration.
+     */
+    public static KeyRemap getArabicTransliteration() {
+
+        return ARABIC_TRANSLITERATION;
+    }
+
+    /**
+     * Return a KeyRemap which maps keys to
+     * characters in the Hebrew alphabet, using a simple transliteration.
+     */
+    public static KeyRemap getHebrewTransliteration() {
+
+        return HEBREW_TRANSLITERATION;
+    }
+
+    /**
+     * Return a KeyRemap which emulates a standard Hebrew keyboard.
+     */
+    public static KeyRemap getIsraelNikud() {
+
+        return ISRAEL_NIKUD;
+    }
+    
+    /**
+     * Return a KeyRemap which emulates a Thai Ketmanee keyboard.
+     */
+    public static KeyRemap getThaiKetmanee() {
+        
+        return THAI;
+    }
+}
diff --git a/src/com/ibm/richtext/textpanel/MTextPanel.java b/src/com/ibm/richtext/textpanel/MTextPanel.java
new file mode 100755
index 0000000..5ab1840
--- /dev/null
+++ b/src/com/ibm/richtext/textpanel/MTextPanel.java
@@ -0,0 +1,373 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+package com.ibm.richtext.textpanel;
+
+import com.ibm.richtext.textlayout.attributes.AttributeMap;
+
+import com.ibm.richtext.styledtext.StyleModifier;
+import com.ibm.richtext.styledtext.MConstText;
+
+/**
+ * MTextPanel is implemented by Components which provide selectable
+ * editable styled text.
+ * <p>
+ * Implementations of MTextPanel provide a simple, standard user interface
+ * for text editing.  MTextPanel supplies scrollable display, typing, 
+ * arrow-key support, character selection, word-
+ * and sentence-selection (by double-clicking and triple-clicking, 
+ * respectively), text styles, clipboard operations (cut, copy and paste)
+ * and a log of changes for undo-redo.
+ * <p>
+ * MTextPanel implementations do not provide user interface elements
+ * such as an edit menu or style menu.  This support is provided in
+ * different packages, and is implemented with MTextPanel's API.
+ * MTextPanel includes methods for setting selections and styles on text,
+ * and using the clipboard and command-log functionality.
+ * MTextPanel's API for selection and text handling is similar to that
+ * of <tt>java.awt.TextArea</tt> and
+ * <tt>java.awt.TextComponent</tt>.
+ * <p>
+ * MTextPanel supports bidirectional and complex text.  In bidirectional
+ * text, offsets at direction boundaries have dual carets.  Logical selection
+ * is used, so selections across run directions may not be contiguous in
+ * display.
+ */
+public interface MTextPanel {
+    
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+
+    /**
+     * This value is returned from <tt>getCharacterStyleOverSelection</tt>
+     * and <tt>getParagraphStyleOverSelection</tt> to indicate that the
+     * selection range contains multiple values for a key.
+     * <p>
+     * There is no reason for this Object ever to appear in an AttributeMap
+     * as a value.  Obviously, if it does there will be no way to distinguish
+     * between multiple values across the selection and a consistent value of
+     * <tt>MULTIPLE_VALUES</tt> for the key.
+     * @see #getCharacterStyleOverSelection
+     * @see #getParagraphStyleOverSelection
+     */
+    public static final Object MULTIPLE_VALUES = new Object();
+    
+    /**
+     * Add the given TextPanelListener to the listeners which will
+     * receive update notifications from this MTextPanel.
+     * @param listener the listener to add
+     */
+    public void addListener(TextPanelListener listener);
+
+    /**
+     * Remove the given TextPanelListener from the listeners which will
+     * receive update notifications from this MTextPanel.
+     * @param listener the listener to remove
+     */
+    public void removeListener(TextPanelListener listener);
+
+    /**
+     * Set the document to <tt>newText</tt>.  This operation
+     * modifies the text in the MTextPanel.  It does not modify or adopt
+     * <tt>newText</tt>.  This method sets the selection an insertion point at
+     * the end of the text.
+     * @param newText the text which will replace the current text.
+     */
+    public void setText(MConstText newText);
+    
+    /**
+     * Append the given text to the end of the document.  Equivalent to
+     * <tt>insert(newText, getTextLength())</tt>.
+     * @param newText the text to append to the document
+     */
+    public void append(MConstText newText);
+    
+    /**
+     * Insert the given text into the document at the given position.
+     * Equivalent to
+     * <tt>replaceRange(newText, position, position)</tt>.
+     * @param newText the text to insert into the document.
+     * @param position the position in the document where the
+     *     text will be inserted
+     */
+    public void insert(MConstText newText, int position);
+
+    /**
+     * Replace the given range with <tt>newText</tt>.  After this
+     * operation the selection range is an insertion point at the
+     * end of the new text.
+     * @param newText the text with which to replace the range
+     * @param start the beginning of the range to replace
+     * @param end the end of the range to replace
+     */
+    public void replaceRange(MConstText newText, int start, int end);
+
+    /**
+     * Return the length of the text document in the MTextPanel.
+     * @return the length of the text document in the MTextPanel
+     */
+    public int getTextLength();
+
+    /**
+     * Return the text document in the MTextPanel.
+     * @return the text document in the MTextPanel.
+     */
+    public MConstText getText();
+    
+//============
+// Selection Access
+//============
+
+    /**
+     * Return the offset of the start of the selection.
+     */
+    public int getSelectionStart();
+
+    /**
+     * Return the offset of the end of the selection.
+     */
+    public int getSelectionEnd();
+    
+    /**
+     * Set the beginning of the selection range.  This is
+     * equivalent to <tt>select(selectionStart, getSelectionEnd())</tt>.
+     * @param selectionStart the start of the new selection range
+     */
+    public void setSelectionStart(int selectionStart);
+    
+    /**
+     * Set the end of the selection range.  This is
+     * equivalent to <tt>select(getSelectionStart(), selectionEnd)</tt>.
+     * @param selectionEnd the end of the new selection range
+     */
+    public void setSelectionEnd(int selectionEnd);
+    
+    /**
+     * Set the selection range to an insertion point at the given
+     * offset.  This is equivalent to
+     * <tt>select(position, position)</tt>.
+     * @param position the offset of the new insertion point
+     */
+    public void setCaretPosition(int position);
+    
+    /**
+     * Set the selection range to the given range.  The range start
+     * is pinned between 0 and the text length;  the range end is pinned
+     * between the range start and the end of the text.  These semantics
+     * are identical to those of <tt>java.awt.TextComponent</tt>.
+     * This method has no effect if the text is not selectable.
+     * @param selectionStart the beginning of the selection range
+     * @param selectionEnd the end of the selection range
+     */
+    public void select(int selectionStart, int selectionEnd);
+    
+    /**
+     * Select all of the text in the document.  This method has no effect if
+     * the text is not selectable.
+     */
+    public void selectAll();
+    
+
+//============
+// Format Width
+//============
+
+    /**
+     * Return the total format width, in pixels.  The format width is the
+     * width to which text is wrapped.
+     * @return the format width
+     */
+    public int getFormatWidth();
+    
+    /**
+     * Return true if the paragraph at the given offset is left-to-right.
+     * @param offset an offset in the text
+     * @return true if the paragraph at the given offset is left-to-right
+     */
+    public boolean paragraphIsLeftToRight(int offset);
+
+    /**
+     * Return true if there is a change which can be undone.
+     * @return true if there is a change which can be undone.
+     */
+    public boolean canUndo();
+    
+    /**
+     * Return true if there is a change which can be redone.
+     * @return true if there is a change which can be redone.
+     */
+    public boolean canRedo();
+    
+    /**
+     * Return true if the clipboard contains contents which could be
+     * transfered into the text.
+     * @return true if the clipboard has text content.
+     */
+    public boolean clipboardNotEmpty();
+    
+
+//============
+// Styles
+//============
+
+    /**
+     * Return an AttributeMap of keys with default values.  The default
+     * values are used when displaying text for values which are not
+     * specified in the text.
+     * @return an AttributeMap of default key-value pairs
+     */
+    public AttributeMap getDefaultValues();
+    
+    /**
+     * This method inspects the character style runs in the selection
+     * range (or the typing style at the insertion point).  It returns:
+     * <ul>
+     * <li>The value of <tt>key</tt>, if the value of <tt>key</tt>
+     * is the same in all of the style runs in the selection, or</li>
+     * <li><tt>MULTIPLE_VALUES</tt>, if two or more style runs have different 
+     * values for <tt>key</tt>.</li>
+     * </ul>
+     * If a style run does not contain <tt>key</tt>,
+     * its value is considered to be the default style for <tt>key</tt>,
+     * as defined by the default values AttributeMap.  Note that if
+     * <tt>key</tt> does not have a default value this method may return
+     * null.
+     * This method is useful for configuring style menus.
+     * @param key the key used to retrieve values for comparison
+     * @see #MULTIPLE_VALUES
+     */
+    public Object getCharacterStyleOverSelection(Object key);
+    
+    /**
+     * This method inspects the paragraph style runs in the selection
+     * range (or the typing style at the insertion point).  It returns:
+     * <ul>
+     * <li>The value of <tt>key</tt>, if the value of <tt>key</tt>
+     * is the same in all of the style runs in the selection, or</li>
+     * <li><tt>MULTIPLE_VALUES</tt>, if two or more style runs have 
+     * different values for <tt>key</tt>.</li>
+     * </ul>
+     * If a style run does not contain <tt>key</tt>,
+     * its value is considered to be the default style for <tt>key</tt>,
+     * as defined by the default values AttributeMap.  Note that if
+     * <tt>key</tt> does not have a default value this method may return
+     * null.
+     * This method is useful for configuring style menus.
+     * @param key the key used to retrieve values for comparison
+     * @see #MULTIPLE_VALUES
+     */
+    public Object getParagraphStyleOverSelection(Object key);
+    
+    /**
+     * Remove the selected text from the document and place it
+     * on the clipboard.  This method has no effect if the text
+     * is not editable, or if no text is selected.
+     */
+    public void cut();
+    
+    /**
+     * Place the selected text on the clipboard.  This method has
+     * no effect if no text is selected.
+     */
+    public void copy();
+    
+    /**
+     * Replace the currently selected text with the text on the clipboard.
+     * This method has no effect if the text is not editable, or if no
+     * text is on the clipboard.
+     */
+    public void paste();
+    
+    /**
+     * Remove selected text from the document, without altering the clipboard.
+     * This method has no effect if the
+     * text is not editable.
+     */
+    public void clear();
+    
+    /**
+     * Undo the most recent text change.  This method has no effect if
+     * there is no change to undo.
+     */
+    public void undo();
+    
+    /**
+     * Redo the most recent text change.  This method has no effect if
+     * there is no change to redo.
+     */
+    public void redo();
+    
+    /**
+     * Return the number of commands the command log can hold.
+     * @return the number of commands the command log can hold
+     */
+    public int getCommandLogSize();
+    
+    /**
+     * Set the number of commands the command log can hold.  All
+     * redoable commands are removed when this method is called.
+     * @param size the number of commands kept in the command log
+     */
+    public void setCommandLogSize(int size);
+    
+    /**
+     * Remove all commands from the command log.
+     */
+    public void clearCommandLog();
+    
+    /**
+     * Modify the character styles on the selected characters.  If no characters
+     * are selected, modify the typing style.
+     * @param modifier the StyleModifier with which to modify the styles
+     */
+    public void modifyCharacterStyleOnSelection(StyleModifier modifier);
+    
+    /**
+     * Modify the paragraph styles in paragraphs containing selected characters, or
+     * the paragraph containing the insertion point.
+     * @param modifier the StyleModifier with which to modify the styles
+     */
+    public void modifyParagraphStyleOnSelection(StyleModifier modifier);
+    
+    /**
+     * Return the KeyRemap used to process key events.
+     * @return the key remap used to process key events
+     * @see #setKeyRemap
+     */
+    public KeyRemap getKeyRemap();
+    
+    /**
+     * Use the given KeyRemap to map key events to characters.
+     * Only key
+     * events are affected by the remap;  other text entering the
+     * control (via the clipboard, for example) is not affected
+     * by the KeyRemap.
+     * <p>
+     * Do not pass <tt>null</tt> to this method to leave key
+     * events unmapped.  Instead, use <tt>KeyRemap.getIdentityRemap()</tt>
+     * @param remap the KeyRemap to use for mapping key events to characters
+     * @exception java.lang.NullPointerException if parameter is null
+     * @see KeyRemap
+     */
+    public void setKeyRemap(KeyRemap remap);
+    
+    /**
+     * Return the modification flag of the current text change.
+     * @see #setModified
+     */
+    public boolean isModified();
+    
+    /**
+     * Set the modification flag of the current text change.
+     */
+    public void setModified(boolean modified);
+}
diff --git a/src/com/ibm/richtext/textpanel/OffscreenBufferCache.java b/src/com/ibm/richtext/textpanel/OffscreenBufferCache.java
new file mode 100755
index 0000000..f9c76bd
--- /dev/null
+++ b/src/com/ibm/richtext/textpanel/OffscreenBufferCache.java
@@ -0,0 +1,50 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+package com.ibm.richtext.textpanel;
+
+import java.awt.Image;
+import java.awt.Component;
+
+class OffscreenBufferCache {
+
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+    private Image fOffscreenBuffer = null;
+    private Component fHost;
+
+    OffscreenBufferCache(Component host) {
+
+        fHost = host;
+    }
+
+    private Image makeBuffer(int width, int height) {
+
+        return fHost.createImage(Math.max(width, 1), Math.max(height, 1));
+    }
+
+    Image getBuffer(int width, int height) {
+
+        Image buffer = fOffscreenBuffer;
+
+        if (buffer != null) {
+            if (buffer.getWidth(fHost) >= width &&
+                    buffer.getHeight(fHost) >= height) {
+                return buffer;
+            }
+        }
+
+        buffer = makeBuffer(width, height);
+        fOffscreenBuffer = buffer;
+        return buffer;
+    }
+}
\ No newline at end of file
diff --git a/src/com/ibm/richtext/textpanel/PanelEventBroadcaster.java b/src/com/ibm/richtext/textpanel/PanelEventBroadcaster.java
new file mode 100755
index 0000000..cb3c846
--- /dev/null
+++ b/src/com/ibm/richtext/textpanel/PanelEventBroadcaster.java
@@ -0,0 +1,98 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+package com.ibm.richtext.textpanel;
+
+import java.util.Vector;
+
+/**
+ * This class listens for text state change notifications
+ * and broadcasts them to all of its listeners.
+ */
+final class PanelEventBroadcaster {
+
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+    private static final int FIRST = TextPanelEvent.TEXT_PANEL_FIRST;
+
+    private final Vector[] fListeners;
+    private final TextPanelEvent[] fEvents;
+
+    /**
+     * Construct a new PanelEventBroadcaster.
+     * @param panel the TextPanel for which events are broadcasted
+     */
+    public PanelEventBroadcaster(MTextPanel panel) {
+
+        int count = TextPanelEvent.TEXT_PANEL_LAST - FIRST + 1;
+
+        fEvents = new TextPanelEvent[count];
+        fListeners = new Vector[count];
+        
+        for (int i=0; i < fListeners.length; i++) {
+            fEvents[i] = new TextPanelEvent(panel, i+FIRST);
+            fListeners[i] = new Vector();
+        }
+    }
+
+    /**
+     * Add the given TextPanelListener to the TextPanelListeners to
+     * which notifications are forwarded.
+     * @param listener the listener to add
+     */
+    public synchronized void addListener(TextPanelListener listener) {
+
+        for (int i=FIRST; i <= TextPanelEvent.TEXT_PANEL_LAST; i++) {
+            Vector listeners = fListeners[i-FIRST];
+            if (listener.respondsToEventType(i)) {
+                if (!listeners.contains(listener)) {
+                    listeners.addElement(listener);
+                }
+            }
+        }
+    }
+
+    /**
+     * Remove the given TextPanelListener from the TextPanelListeners to
+     * which notifications are forwarded.
+     * @param listener the listener to remove
+     */
+    public synchronized void removeListener(TextPanelListener listener) {
+
+        for (int i=FIRST; i <= TextPanelEvent.TEXT_PANEL_LAST; i++) {
+            Vector listeners = fListeners[i-FIRST];
+            if (listener.respondsToEventType(i)) {
+                listeners.removeElement(listener);
+            }
+        }
+    }
+
+    /**
+     * Receive a notification and forward it to all listeners.
+     * @changeCode one of the constants in the TextPanelListener class
+     */
+    public synchronized void textStateChanged(int id) {
+
+        int index = id-FIRST;
+        TextPanelEvent event = fEvents[index];
+        Vector listeners = fListeners[index];
+        
+        int size = listeners.size();
+
+        for (int i=0; i < size; i++) {
+
+            TextPanelListener listener =
+                            (TextPanelListener) listeners.elementAt(i);
+            listener.textEventOccurred(event);
+        }
+    }
+}
diff --git a/src/com/ibm/richtext/textpanel/RunStrategy.java b/src/com/ibm/richtext/textpanel/RunStrategy.java
new file mode 100755
index 0000000..3c47147
--- /dev/null
+++ b/src/com/ibm/richtext/textpanel/RunStrategy.java
@@ -0,0 +1,20 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+package com.ibm.richtext.textpanel;
+
+class RunStrategy {
+    
+    void doIt(Runnable r) {
+        r.run();
+    }
+}
\ No newline at end of file
diff --git a/src/com/ibm/richtext/textpanel/ScrollBarLayout.java b/src/com/ibm/richtext/textpanel/ScrollBarLayout.java
new file mode 100755
index 0000000..8b5c988
--- /dev/null
+++ b/src/com/ibm/richtext/textpanel/ScrollBarLayout.java
@@ -0,0 +1,151 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+package com.ibm.richtext.textpanel;
+
+import java.awt.Component;
+import java.awt.Container;
+import java.awt.Dimension;
+import java.awt.Insets;
+import java.awt.LayoutManager;
+
+class ScrollBarLayout implements LayoutManager {
+
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+    Component   fHorizScrollBar = null;
+    Component   fVertScrollBar = null;
+    Component   fChild = null;
+
+    public ScrollBarLayout() {
+    }
+
+    public void addLayoutComponent(String name, Component comp) {
+
+        if ("Center".equals(name))
+            fChild = comp;
+        else if ("South".equals(name))
+            fHorizScrollBar = comp;
+        else if ("East".equals(name))
+            fVertScrollBar = comp;
+    }
+
+    public void layoutContainer(Container target) {
+
+        Insets      insets = target.getInsets();
+        Dimension   targetSize = target.getSize();
+        int         hsbHeight = (fHorizScrollBar != null) ? fHorizScrollBar.getPreferredSize().
+                            height : 0;
+        int         vsbWidth = (fVertScrollBar != null) ? fVertScrollBar.getPreferredSize().
+                            width : 0;
+
+        if (fHorizScrollBar != null)
+            fHorizScrollBar.setBounds(insets.left, targetSize.height - insets.bottom -
+                                hsbHeight, targetSize.width - vsbWidth, hsbHeight);
+
+        if (fVertScrollBar != null)
+            fVertScrollBar.setBounds(targetSize.width - insets.right - vsbWidth,
+                                insets.top, vsbWidth, targetSize.height - hsbHeight);
+
+        if (fChild != null)
+            fChild.setBounds(insets.left, insets.top, targetSize.width - insets.right - vsbWidth,
+                                targetSize.height - insets.bottom - hsbHeight);
+    }
+
+    public Dimension minimumLayoutSize(Container target) {
+
+        Dimension   returnVal = new Dimension(0, 0);
+        Dimension   hsbSize;
+        Dimension   vsbSize;
+        Dimension   childSize;
+
+        if (fHorizScrollBar != null && fHorizScrollBar.isVisible()) {
+            hsbSize = fHorizScrollBar.getMinimumSize();
+        }
+        else {
+            hsbSize = new Dimension(0, 0);
+        }
+
+        if (fVertScrollBar != null && fVertScrollBar.isVisible()) {
+            vsbSize = fVertScrollBar.getMinimumSize();
+        }
+        else {
+            vsbSize = new Dimension(0, 0);
+        }
+
+        if (fChild != null && fChild.isVisible()) {
+            childSize = fChild.getMinimumSize();
+        }
+        else {
+            childSize = new Dimension(0, 0);
+        }
+
+        returnVal.width = Math.max(childSize.width, hsbSize.width) + vsbSize.width;
+        returnVal.height = Math.max(childSize.height, vsbSize.height) + hsbSize.height;
+
+        Insets  insets = target.getInsets();
+
+        returnVal.width += insets.left + insets.right;
+        returnVal.height += insets.top + insets.bottom;
+
+        return returnVal;
+    }
+
+    public Dimension preferredLayoutSize(Container target) {
+
+        Dimension   returnVal = new Dimension(0, 0);
+        Dimension   hsbSize;
+        Dimension   vsbSize;
+        Dimension   childSize;
+
+        if (fHorizScrollBar != null && fHorizScrollBar.isVisible()) {
+            hsbSize = fHorizScrollBar.getPreferredSize();
+        }
+        else {
+            hsbSize = new Dimension(0, 0);
+        }
+
+        if (fVertScrollBar != null && fVertScrollBar.isVisible()) {
+            vsbSize = fVertScrollBar.getPreferredSize();
+        }
+        else {
+            vsbSize = new Dimension(0, 0);
+        }
+
+        if (fChild != null && fChild.isVisible()) {
+            childSize = fChild.getPreferredSize();
+        }
+        else {
+            childSize = new Dimension(0, 0);
+        }
+
+        returnVal.width = Math.max(childSize.width, hsbSize.width) + vsbSize.width;
+        returnVal.height = Math.max(childSize.height, vsbSize.height) + hsbSize.height;
+
+        Insets  insets = target.getInsets();
+
+        returnVal.width += insets.left + insets.right;
+        returnVal.height += insets.top + insets.bottom;
+
+        return returnVal;
+    }
+
+    public void removeLayoutComponent(Component comp) {
+
+        if (comp == fChild)
+            fChild = null;
+        else if (comp == fHorizScrollBar)
+            fHorizScrollBar = null;
+        else if (comp == fVertScrollBar)
+            fVertScrollBar = null;
+    }
+}
diff --git a/src/com/ibm/richtext/textpanel/Scroller.java b/src/com/ibm/richtext/textpanel/Scroller.java
new file mode 100755
index 0000000..82ccb27
--- /dev/null
+++ b/src/com/ibm/richtext/textpanel/Scroller.java
@@ -0,0 +1,205 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2005.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+package com.ibm.richtext.textpanel;
+
+/*
+    7/9/97 - changed some deprecated methods in Scrollbar
+            Also setting Unit and Block increment values.  Maybe
+            it matters...
+    6/29/98 - reimplemented this class.  Now this class talks to
+              any component which implements Scroller.Client.
+              ScrollHolder is gone, too.
+    2/4/99 - No longer a Panel.  Also, doesn't create Scrollbars,
+             and in fact doesn't even use the Scrollbar class
+             directly.
+*/
+
+import java.awt.Component;
+import java.awt.Rectangle;
+
+import java.awt.event.AdjustmentListener;
+import java.awt.event.AdjustmentEvent;
+import java.awt.Adjustable;
+
+/**
+* This class manages the interaction between a scrollable client
+* and vertical and horizontal scrollbars.  It calls the client's
+* scrollTo method in response to manipulation of the scroll bars.
+*
+* This class used to be a Panel containing the scrollbars and
+* the client panel.  As part of the migration away from direct
+* AWT dependencies, this class is no longer part of the view
+* hierarchy.  Instead it simply keeps a reference to its
+* client and scroll bars.  It is the responsibility of higher-
+* level classes to set up the view hierarchy.
+*/
+final class Scroller implements AdjustmentListener
+{
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+
+    static interface Client {
+        void scrollTo(int x, int y);
+        Rectangle getScrollSize();
+        Rectangle getBounds();
+    }
+
+    private Adjustable fHorizScrollBar = null;
+    private Adjustable fVertScrollBar = null;
+    private Client fClient = null;
+
+    /**
+     * These are used if the respective Scrollbar is not present.
+     */
+    private int fHorizValue, fVertValue;
+
+    private static final int DEFAULT_UNIT_INC = 10;
+
+    /**
+     * Construct a new Scroller with the given Adjustables,
+     * which really should be scrollbars of some ilk.
+     * Also, the Adjustables are required to be AWT Components,
+     * so the Scroller can enable and disable them.
+     * However, a Scroller can work with either AWT Scrollbars
+     * or JFC JScrollbars.
+     * @param horizScrollBar the horizontal scrollbar.  null if
+     * there is no horizontal scrollbar.
+     * @param vertScrollBar the vertical scrollbar.  null if
+     * there is no vertical scrollbar.
+     */
+    public Scroller(Adjustable horizScrollBar,
+                    Adjustable vertScrollBar) {
+
+        //setLayout(new ScrollBarLayout());
+
+        fHorizScrollBar = horizScrollBar;
+        fVertScrollBar = vertScrollBar;
+
+        if (fVertScrollBar != null) {
+            fVertScrollBar.setUnitIncrement(DEFAULT_UNIT_INC);
+            fVertScrollBar.addAdjustmentListener(this);
+        }
+        if (fHorizScrollBar != null) {
+            fHorizScrollBar.setUnitIncrement(DEFAULT_UNIT_INC);
+            fHorizScrollBar.addAdjustmentListener(this);
+        }
+    }
+
+    public void setClient(Client client) {
+
+        fClient = client;
+        clientScrollSizeChanged();
+    }
+
+    public void adjustmentValueChanged(AdjustmentEvent event) {
+
+        // variable not used boolean horizontal;
+        if (event.getAdjustable() == fHorizScrollBar) {
+            int vertVal = fVertScrollBar == null? fVertValue :
+                                        fVertScrollBar.getValue();
+            scrollTo(event.getValue(), vertVal);
+        }
+        else {
+            int horizVal = fHorizScrollBar == null? fHorizValue :
+                                        fHorizScrollBar.getValue();
+            scrollTo(horizVal, event.getValue());
+        }
+    }
+
+    private void setValues(Adjustable scrollbar,
+                           int visible,
+                           int minimum,
+                           int height) {
+
+        int maximum = minimum+height;
+        
+        if (scrollbar != null) {
+
+            Component scrollbarToo = (Component) scrollbar;
+
+            if (maximum <= visible) {
+                scrollbarToo.setEnabled(false);
+            }
+            else {
+                scrollbarToo.setEnabled(true);
+            }
+            
+            scrollbar.setMinimum(minimum);
+            scrollbar.setMaximum(maximum);
+            scrollbar.setVisibleAmount(visible);
+        // workaround setBlockIncrement warnings for increments < 1
+        scrollbar.setBlockIncrement(Math.max(1, visible - DEFAULT_UNIT_INC));
+        }
+    }
+
+
+    public void clientScrollSizeChanged()
+    {
+        Rectangle bounds = fClient.getBounds();
+        Rectangle preferredSize = fClient.getScrollSize();
+
+        setValues(fHorizScrollBar, bounds.width, preferredSize.x, preferredSize.width);
+        setValues(fVertScrollBar, bounds.height, preferredSize.y, preferredSize.height);
+    }
+
+    public void setPosition(int x, int y) {
+
+        if (fHorizScrollBar != null) {
+            fHorizScrollBar.setValue(x);
+        }
+        else {
+            fHorizValue = x;
+        }
+        if (fVertScrollBar != null) {
+            fVertScrollBar.setValue(y);
+        }
+        else {
+            fVertValue = y;
+        }
+    }
+
+    private void scrollTo(int x, int y)
+    {
+        fClient.scrollTo(x, y);
+    }
+
+    public void setHorizLineDistance(int newDistance)
+    {
+        if (fHorizScrollBar != null) {
+            fHorizScrollBar.setUnitIncrement(newDistance);
+        }
+    }
+
+    public void setHorizPageOverlap(int newOverlap)
+    {
+        if (fHorizScrollBar != null) {
+            fHorizScrollBar.setBlockIncrement( // workaround warnings for values < 1 on unix
+                    Math.max(1, fHorizScrollBar.getVisibleAmount()-newOverlap));
+        }
+    }
+
+    public void setVertLineDistance(int newDistance)
+    {
+        if (fVertScrollBar != null) {
+            fVertScrollBar.setUnitIncrement(newDistance);
+        }
+    }
+
+    public void setVertPageOverlap(int newOverlap)
+    {
+        if (fVertScrollBar != null) {
+            fVertScrollBar.setBlockIncrement( // workaround warnings for values < 1 on unix
+                    Math.max(1, fVertScrollBar.getVisibleAmount()-newOverlap));
+        }
+    }
+}
diff --git a/src/com/ibm/richtext/textpanel/SelectionDragInteractor.java b/src/com/ibm/richtext/textpanel/SelectionDragInteractor.java
new file mode 100755
index 0000000..59538fd
--- /dev/null
+++ b/src/com/ibm/richtext/textpanel/SelectionDragInteractor.java
@@ -0,0 +1,201 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+package com.ibm.richtext.textpanel;
+
+import java.awt.event.FocusEvent;
+import java.awt.event.KeyEvent;
+import java.awt.event.MouseEvent;
+
+import com.ibm.richtext.textformat.TextOffset;
+
+final class SelectionDragInteractor extends Behavior implements Runnable {
+
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+    private TextComponent fTextComponent;
+    private TextSelection fSelection;
+    private RunStrategy fRunStrategy;
+    
+    private TextOffset fAnchorStart; // aliases text offsets - client beware
+    private TextOffset fAnchorEnd;
+    private TextOffset fCurrent;
+
+    private final boolean fWasZeroLength;
+
+    private int fCurrentX;
+    private int fCurrentY;
+    private boolean fMouseOutside;
+
+    private Thread fAutoscrollThread = null;
+    private boolean fThreadRun = true;
+
+    private static final int kScrollSleep = 300;
+
+    public SelectionDragInteractor(TextSelection selection,
+                                   TextComponent textComponent,
+                                   RunStrategy runStrategy,
+                                   TextOffset anchorStart,
+                                   TextOffset anchorEnd,
+                                   TextOffset current,
+                                   int initialX,
+                                   int initialY,
+                                   boolean wasZeroLength) {
+
+        fTextComponent = textComponent;
+        fSelection = selection;
+        fRunStrategy = runStrategy;
+        fAnchorStart = anchorStart;
+        fAnchorEnd = anchorEnd;
+        fCurrent = current;
+
+        fCurrentX = initialX;
+        fCurrentY = initialY;
+        fMouseOutside = false;
+
+        fWasZeroLength = wasZeroLength;
+        
+        setSelection();
+    }
+    
+    public boolean textControlEventOccurred(Behavior.EventType event, Object what) {
+
+        return true;
+    }
+
+    public boolean focusGained(FocusEvent event) {
+
+        return true;
+    }
+
+    public boolean focusLost(FocusEvent event) {
+
+        return true;
+    }
+
+    public boolean keyPressed(KeyEvent event) {
+
+        return true;
+    }
+
+    public boolean keyTyped(KeyEvent event) {
+
+        return true;
+    }
+
+    public boolean keyReleased(KeyEvent event) {
+
+        return true;
+    }
+
+    public synchronized boolean mouseDragged(MouseEvent e) {
+
+        int x = e.getX(), y = e.getY();
+        if (fCurrentX != x || fCurrentY != y) {
+            fCurrentX = x;
+            fCurrentY = y;
+            processMouseLocation();
+        }
+        return true;
+    }
+
+    public synchronized boolean mouseEnter(MouseEvent e) {
+
+        fMouseOutside = false;
+        return true;
+    }
+
+    public synchronized boolean mouseExited(MouseEvent e) {
+
+        if (fAutoscrollThread == null) {
+            fAutoscrollThread = new Thread(this);
+            fAutoscrollThread.start();
+        }
+        fMouseOutside = true;
+        notify();
+
+        return true;
+    }
+
+    public synchronized boolean mouseReleased(MouseEvent e) {
+
+        fMouseOutside = false;
+        fThreadRun = false;
+        if (fAutoscrollThread != null) {
+            fAutoscrollThread.interrupt();
+        }
+        
+        removeFromOwner();
+        boolean isZeroLength = TextSelection.rangeIsZeroLength(fAnchorStart,
+                                                               fAnchorEnd,
+                                                               fCurrent);
+        fSelection.mouseReleased(isZeroLength != fWasZeroLength);
+
+        return true;
+    }
+
+    private void processMouseLocation() {
+
+        fTextComponent.scrollToShow(fCurrentX, fCurrentY);
+        fTextComponent.pointToTextOffset(fCurrent, fCurrentX, fCurrentY, null, true);
+        setSelection();
+    }
+
+    private void setSelection() {
+
+        if (fCurrent.greaterThan(fAnchorEnd)) {
+            fSelection.advanceToNextBoundary(fCurrent);
+            fSelection.setSelRangeAndDraw(fAnchorStart, fCurrent, fAnchorStart);
+        }
+        else if (fCurrent.lessThan(fAnchorStart)) {
+            fSelection.advanceToPreviousBoundary(fCurrent);
+            fSelection.setSelRangeAndDraw(fCurrent, fAnchorEnd, fAnchorStart);
+        }
+        else {
+            fCurrent.assign(fAnchorEnd);
+            fSelection.setSelRangeAndDraw(fAnchorStart, fAnchorEnd, fAnchorStart);
+        }
+    }
+
+    public void run() {
+
+        Runnable doMouseLoc = new Runnable() {
+            public void run() {
+                processMouseLocation();
+            }
+        };
+        
+        while (fThreadRun) {
+
+            try {
+                Thread.sleep(kScrollSleep);
+            }
+            catch(InterruptedException e) {
+                return; // just quit scrolling
+            }
+
+            synchronized(this) {
+
+                while (!fMouseOutside) {
+                    try {
+                        wait();
+                    }
+                    catch(InterruptedException e) {
+                        return; // just quit scrolling
+                    }
+                }
+
+                fRunStrategy.doIt(doMouseLoc);
+            }
+        }
+    }
+}
diff --git a/src/com/ibm/richtext/textpanel/SimpleCommandLog.java b/src/com/ibm/richtext/textpanel/SimpleCommandLog.java
new file mode 100755
index 0000000..27d52c4
--- /dev/null
+++ b/src/com/ibm/richtext/textpanel/SimpleCommandLog.java
@@ -0,0 +1,175 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+package com.ibm.richtext.textpanel;
+
+final class SimpleCommandLog {
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+    private Command fLastCommand = null;
+    private Command fCurrentCommand = null;
+    private PanelEventBroadcaster fListener;
+
+    private boolean fBaseIsModified;
+
+    private int fLogSize = 14;
+
+    public SimpleCommandLog(PanelEventBroadcaster listener) {
+        fListener = listener;
+        fBaseIsModified = false;
+    }
+
+    /** adds the specfied command to the top of the command stack
+    * (any undone commands on the stack are removed)
+    * This function assumes the command has already been executed (i.e., its execute() method
+    * has been called, or an equivalent action has been taken) */
+    void add(Command newCommand) {
+        // if there are commands on the stack that have been undone, they are
+        // dropped on the floor here
+        newCommand.setPreviousCommand(fCurrentCommand);
+        
+        final Command oldLastCommand = fLastCommand;
+        fLastCommand = null;
+        
+        fCurrentCommand = newCommand;
+        limitCommands(fLogSize);
+        
+        if (oldLastCommand != null) {
+            fListener.textStateChanged(TextPanelEvent.UNDO_STATE_CHANGED);
+        }
+    }
+
+    /**
+     * If the command list is longer than logSize, truncate it.
+     * This method traverses the list each time, and is not a model
+     * of efficiency.  It's a temporary way to plug this memory leak
+     * until I can implement a bounded command log.
+     */
+    private void limitCommands(int logSize) {
+
+        if (logSize == 0) {
+            fCurrentCommand = null;
+        }
+        else {
+            Command currentCommand = fCurrentCommand;
+            int remaining = logSize-1;
+            while (currentCommand != null && remaining > 0) {
+                currentCommand = currentCommand.previousCommand();
+                remaining -= 1;
+            }
+            if (currentCommand != null) {
+                currentCommand.setPreviousCommand(null);
+            }
+        }
+    }
+
+    /** adds the specfied command to the top of the command stack and executes it */
+    void addAndDo(Command newCommand) {
+        add(newCommand);
+        newCommand.execute();
+
+        fListener.textStateChanged(TextPanelEvent.UNDO_STATE_CHANGED);
+    }
+
+    /** undoes the command on the top of the command stack, if there is one */
+    void undo() {
+        if (fCurrentCommand != null) {
+            Command current = fCurrentCommand;
+            current.undo();
+
+            fCurrentCommand = current.previousCommand();
+
+            current.setPreviousCommand(fLastCommand);
+            fLastCommand = current;
+
+            fListener.textStateChanged(TextPanelEvent.UNDO_STATE_CHANGED);
+        }
+    }
+
+    /** redoes the last undone command on the command stack, if there are any */
+    void redo() {
+        if (fLastCommand != null) {
+            Command last = fLastCommand;
+            last.redo();
+
+            fLastCommand = last.previousCommand();
+
+            last.setPreviousCommand(fCurrentCommand);
+            fCurrentCommand = last;
+
+            fListener.textStateChanged(TextPanelEvent.UNDO_STATE_CHANGED);
+        }
+    }
+
+    public boolean canUndo() {
+        return fCurrentCommand != null;
+    }
+
+    public boolean canRedo() {
+        return fLastCommand != null;
+    }
+
+    public boolean isModified() {
+
+        if (fCurrentCommand == null) {
+            return fBaseIsModified;
+        }
+        else {
+            return fCurrentCommand.isModified();
+        }
+    }
+
+    public void setModified(boolean modified) {
+
+        if (fCurrentCommand == null) {
+            fBaseIsModified = modified;
+        }
+        else {
+            fCurrentCommand.setModified(modified);
+        }
+    }
+
+    public void clearLog() {
+
+        if (fCurrentCommand != null) {
+            fBaseIsModified = fCurrentCommand.isModified();
+        }
+        // variable not used boolean changed = fCurrentCommand != null || fLastCommand != null;
+        fCurrentCommand = null;
+        fLastCommand = null;
+        
+        fListener.textStateChanged(TextPanelEvent.UNDO_STATE_CHANGED);
+    }
+
+    public void setLogSize(int size) {
+
+        if (size < 0) {
+            throw new IllegalArgumentException("log size cannot be negative");
+        }
+        
+        if (size < fLogSize) {
+            limitCommands(size);
+        }
+        
+        fLogSize = size;
+        
+        if (fLastCommand != null || size == 0) {
+            fLastCommand = null;
+            fListener.textStateChanged(TextPanelEvent.UNDO_STATE_CHANGED);
+        }
+    }
+
+    public int getLogSize() {
+
+        return fLogSize;
+    }
+}
diff --git a/src/com/ibm/richtext/textpanel/StyleChangeCommand.java b/src/com/ibm/richtext/textpanel/StyleChangeCommand.java
new file mode 100755
index 0000000..7e213cb
--- /dev/null
+++ b/src/com/ibm/richtext/textpanel/StyleChangeCommand.java
@@ -0,0 +1,46 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+package com.ibm.richtext.textpanel;
+
+import com.ibm.richtext.styledtext.StyleModifier;
+import com.ibm.richtext.styledtext.MText;
+import com.ibm.richtext.textformat.TextOffset;
+
+class StyleChangeCommand extends TextCommand {
+
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+    private boolean fCharacter;
+    private StyleModifier fModifier;
+
+    public StyleChangeCommand(TextEditBehavior behavior,
+                              MText originalText,
+                              TextOffset selStartBefore,
+                              TextOffset selEndBefore,
+                              StyleModifier modifier,
+                              boolean character) {
+
+        super(behavior, originalText, selStartBefore.fOffset, selStartBefore, selEndBefore);
+        fModifier = modifier;
+        fCharacter = character;
+    }
+
+    public int affectedRangeEnd() {
+        return fSelEndBefore.fOffset;
+    }
+
+    public void execute() {
+        fBehavior.doModifyStyles(fAffectedRangeStart, fSelEndBefore.fOffset,
+                                 fModifier, fCharacter, fSelStartBefore, fSelEndBefore);
+    }
+}
diff --git a/src/com/ibm/richtext/textpanel/StyledTextClipboard.java b/src/com/ibm/richtext/textpanel/StyledTextClipboard.java
new file mode 100755
index 0000000..6731fbd
--- /dev/null
+++ b/src/com/ibm/richtext/textpanel/StyledTextClipboard.java
@@ -0,0 +1,217 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+package com.ibm.richtext.textpanel;
+
+import java.awt.datatransfer.Clipboard;
+import java.awt.datatransfer.ClipboardOwner;
+import java.awt.datatransfer.Transferable;
+import java.awt.datatransfer.DataFlavor;
+import java.awt.datatransfer.UnsupportedFlavorException;
+import java.io.IOException;
+import java.io.InputStream;
+
+import java.awt.Toolkit;
+
+import com.ibm.richtext.textlayout.attributes.AttributeMap;
+
+import com.ibm.richtext.styledtext.MConstText;
+import com.ibm.richtext.styledtext.StyledText;
+
+/**
+* Wrapper for java.awt.datatransfer.Clipboard
+* Packages an MConstText in a transferable, and puts it on the clipboard.
+*/
+
+class StyledTextClipboard implements ClipboardOwner {
+
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+    // This class has a workaround for a bug in the Windows system clipboard.
+    // The system clipboard will only return String content, even
+    // though it has a reference to the contents.  So if our
+    // clipboard is the system clipboard, we'll keep a reference
+    // to the content and use that instead of what the Clipboard returns.
+
+    private static Clipboard SYSTEM = null;
+    static {
+        try {
+            SYSTEM = Toolkit.getDefaultToolkit().getSystemClipboard();
+        }
+        catch(Throwable th) {
+        }
+    }
+
+    private static StyledTextClipboard fgSystemClipboard = null;
+
+    public static StyledTextClipboard getClipboardFor(Clipboard clipboard) {
+
+        if (clipboard == SYSTEM && SYSTEM != null) {
+            synchronized(SYSTEM) {
+                if (fgSystemClipboard == null) {
+                    fgSystemClipboard = new StyledTextClipboard(SYSTEM, true);
+                }
+            }
+            return fgSystemClipboard;
+        }
+        else {
+            return new StyledTextClipboard(clipboard, false);
+        }
+    }
+
+    private Clipboard fClipboard;
+    private boolean fUseLocalContents;
+    private Transferable fContents = null;
+
+    private StyledTextClipboard(Clipboard clipboard, boolean useLocalContents) {
+
+        if (clipboard == null) {
+            fClipboard = new Clipboard("TextPanel clipboard");
+        }
+        else {
+            fClipboard = clipboard;
+        }
+
+        fUseLocalContents = useLocalContents;
+    }
+
+    public void lostOwnership(Clipboard clipboard,
+                              Transferable contents) {
+        if (contents == fContents) {
+            this.fContents = null;
+        }
+    }
+
+    public void setContents(MConstText newContents) {
+
+        TransferableText contents = new TransferableText(newContents);
+        if (fClipboard == SYSTEM) {
+            fContents = contents;
+        }
+        fClipboard.setContents(contents, this);
+    }
+
+    private Transferable getClipboardContents() {
+
+        if (fUseLocalContents && fContents != null) {
+            return fContents;
+        }
+
+        return fClipboard.getContents(this);
+    }
+
+    /**
+     * Has contents - faster than getContents for finding out whether the
+     * clipboard has text.
+     */
+    public boolean hasContents() {
+
+        Transferable contents = getClipboardContents();
+
+        if (contents == null) {
+            return false;
+        }
+
+        return contents.isDataFlavorSupported(MConstText.styledTextFlavor) ||
+               contents.isDataFlavorSupported(DataFlavor.stringFlavor) ||
+               contents.isDataFlavorSupported(DataFlavor.plainTextFlavor);
+    }
+
+    private String getString(InputStream inStream) throws IOException {
+
+        String value = new String();
+        int bytesRead;
+
+        do {
+            byte inBytes[] = new byte[inStream.available()];
+            bytesRead = inStream.read(inBytes);
+
+            if (bytesRead != -1)
+                value = value + new String(inBytes);
+
+        } while (bytesRead != -1);
+
+        return value;
+    }
+
+    /**
+     * If the Clipboard has text content, return it as an
+     * MConstText.  Otherwise return null.
+     * @param defaultStyle the style to apply to unstyled
+     *      text (such as a String).  If the clipboard
+     *      has styled text this parameter is not used.
+     */
+    public MConstText getContents(AttributeMap defaultStyle) {
+
+        Transferable contents = getClipboardContents();
+
+        if (contents == null) {
+            return null;
+        }
+
+        DataFlavor flavors[] = contents.getTransferDataFlavors();
+
+        // search flavors for our flavor, String flavor and raw text flavor
+
+        Exception ex = null;
+
+        try {
+           int i;
+
+            for (i=0; i < flavors.length; i++) {
+                if (flavors[i].equals(MConstText.styledTextFlavor))
+                    break;
+            }
+
+            if (i < flavors.length) {
+
+                Object data = contents.getTransferData(MConstText.styledTextFlavor);
+                if (data == null)
+                    System.out.println("Data is null.");
+                return (MConstText) data;
+            }
+
+            for (i=0; i < flavors.length; i++) {
+                if (flavors[i].equals(DataFlavor.stringFlavor))
+                    break;
+            }
+
+            if (i < flavors.length) {
+
+                Object data = contents.getTransferData(DataFlavor.stringFlavor);
+                return new StyledText((String) data, defaultStyle);
+            }
+
+            for (i=0; i < flavors.length; i++) {
+                if (flavors[i].equals(DataFlavor.plainTextFlavor))
+                    break;
+            }
+
+            if (i < flavors.length) {
+
+                Object data = contents.getTransferData(DataFlavor.plainTextFlavor);
+
+                String textString = getString((InputStream) data);
+                return new StyledText(textString, defaultStyle);
+            }
+        }
+        catch(UnsupportedFlavorException e) {
+            ex = e;
+        }
+        catch(IOException e) {
+            ex = e;
+        }
+
+        System.out.println("Exception when retrieving data.  Exception:" + ex);
+        return null;
+    }
+}
diff --git a/src/com/ibm/richtext/textpanel/TextChangeCommand.java b/src/com/ibm/richtext/textpanel/TextChangeCommand.java
new file mode 100755
index 0000000..d337055
--- /dev/null
+++ b/src/com/ibm/richtext/textpanel/TextChangeCommand.java
@@ -0,0 +1,79 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+package com.ibm.richtext.textpanel;
+
+import com.ibm.richtext.styledtext.MConstText;
+import com.ibm.richtext.styledtext.MText;
+import com.ibm.richtext.textformat.TextOffset;
+
+class TextChangeCommand extends TextCommand {
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+    private MConstText fNewText;
+    private TextOffset fSelStartAfter;
+    private TextOffset fSelEndAfter;
+
+    public TextChangeCommand(TextEditBehavior behavior,
+                             MText originalText,
+                             MConstText newText,
+                             int affectedRangeStart,
+                             TextOffset selStartBefore,
+                             TextOffset selEndBefore,
+                             TextOffset selStartAfter,
+                             TextOffset selEndAfter) {
+        super(behavior, originalText, affectedRangeStart, selStartBefore, selEndBefore);
+        fNewText = newText;
+        fSelStartAfter = new TextOffset();
+        fSelStartAfter.assign(selStartAfter);
+        fSelEndAfter = new TextOffset();
+        fSelEndAfter.assign(selEndAfter);
+    }
+
+    public int affectedRangeEnd() {
+        if (fNewText == null)
+            return fAffectedRangeStart;
+        else
+            return fAffectedRangeStart + fNewText.length();
+    }
+
+    public void execute() {
+        fBehavior.doReplaceText(fAffectedRangeStart, fAffectedRangeStart + fOriginalText.length(),
+                            fNewText, fSelStartAfter, fSelEndAfter);
+    }
+
+    public int affectedRangeStart() {
+        return fAffectedRangeStart;
+    }
+
+    public void setNewText(MConstText newText) {
+        fNewText = newText;
+    }
+
+    public void setSelRangeAfter(TextOffset start, TextOffset end) {
+        if (fSelStartAfter == null)
+            fSelStartAfter = new TextOffset();
+        if (fSelEndAfter == null)
+            fSelEndAfter = new TextOffset();
+        fSelStartAfter.assign(start);
+        fSelEndAfter.assign(end);
+    }
+
+    public void prependToOldText(MConstText newText) {
+        fOriginalText.insert(0, newText);
+        fAffectedRangeStart -= newText.length();
+    }
+
+    public void appendToOldText(MConstText newText) {
+        fOriginalText.append(newText);
+    }
+}
diff --git a/src/com/ibm/richtext/textpanel/TextCommand.java b/src/com/ibm/richtext/textpanel/TextCommand.java
new file mode 100755
index 0000000..5730d7b
--- /dev/null
+++ b/src/com/ibm/richtext/textpanel/TextCommand.java
@@ -0,0 +1,48 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+package com.ibm.richtext.textpanel;
+
+import com.ibm.richtext.styledtext.MText;
+import com.ibm.richtext.textformat.TextOffset;
+
+abstract class TextCommand extends Command {
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+    protected TextEditBehavior fBehavior;
+    protected MText fOriginalText;
+    protected int fAffectedRangeStart;
+    protected TextOffset fSelStartBefore;
+    protected TextOffset fSelEndBefore;
+
+    public TextCommand(TextEditBehavior behavior,
+                       MText originalText,
+                       int affectedRangeStart,
+                       TextOffset selStartBefore,
+                       TextOffset selEndBefore) {
+
+        fBehavior = behavior;
+        fOriginalText = originalText;
+        fAffectedRangeStart = affectedRangeStart;
+        fSelStartBefore = new TextOffset();
+        fSelStartBefore.assign(selStartBefore);
+        fSelEndBefore = new TextOffset();
+        fSelEndBefore.assign(selEndBefore);
+    }
+
+    public abstract int affectedRangeEnd();
+
+    public void undo() {
+        fBehavior.doReplaceText(fAffectedRangeStart, affectedRangeEnd(), fOriginalText,
+                            fSelStartBefore, fSelEndBefore);
+    }
+}
diff --git a/src/com/ibm/richtext/textpanel/TextComponent.java b/src/com/ibm/richtext/textpanel/TextComponent.java
new file mode 100755
index 0000000..64268c6
--- /dev/null
+++ b/src/com/ibm/richtext/textpanel/TextComponent.java
@@ -0,0 +1,954 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2005.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+package com.ibm.richtext.textpanel;
+
+import java.awt.Color;
+import java.awt.Component;
+import java.awt.Graphics;
+import java.awt.Image;
+import java.awt.Point;
+import java.awt.Rectangle;
+
+import java.awt.event.ComponentAdapter;
+import java.awt.event.FocusListener;
+import java.awt.event.KeyListener;
+import java.awt.event.MouseListener;
+import java.awt.event.MouseMotionListener;
+
+import java.awt.event.ComponentEvent;
+import java.awt.event.FocusEvent;
+import java.awt.event.KeyEvent;
+import java.awt.event.MouseEvent;
+
+import com.ibm.richtext.styledtext.MConstText;
+import com.ibm.richtext.styledtext.MText;
+import com.ibm.richtext.textformat.TextOffset;
+
+import com.ibm.richtext.textformat.MFormatter;
+
+import com.ibm.richtext.textlayout.attributes.AttributeMap;
+
+class TextComponent extends FakeComponent
+                    implements BehaviorOwner,
+                    FocusListener,
+                    KeyListener,
+                    MouseListener,
+                    MouseMotionListener,
+                    Scroller.Client {
+
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+
+    public static final int WINDOW_WIDTH = -10;
+    public static final int DEFAULT_INSET = 10;
+
+    private static final Color STRONG_CARET_COLOR = Color.black;
+    private static final Color WEAK_CARET_COLOR = Color.darkGray;
+
+    private Behavior fBehavior;
+    private MText fText;
+    private StyledTextClipboard fClipboard;
+    private boolean fScrolls;
+    private Scroller fScroller;
+
+    private DocumentView fDocumentView = null;
+
+    // sigh - can't create DocumentView until addNotify() is called.
+    // These values hold DocumentView ctor args
+    private AttributeMap fDefaultValues;
+    private boolean fViewWraps;
+    private int fViewWrapWidth;
+    private int fViewInsetAmount;
+    
+    private PanelEventBroadcaster fListener;
+
+    /**
+     * Create a new TextComponent.
+     * @param text the text model.  This model will be used for
+     * the life of the component, even if setText is called
+     * @param wraps if true, the text is wrapped to the specified
+     * wrapping width.  If false, the text wraps only at paragraph breaks.
+     * @param wrapWidth ignored if wraps is false.  Text wraps to this width
+     * unless the width is WINDOW_WIDTH, in which case text wraps to width
+     * of this component. Should not be negative (unless it is WINDOW_WIDTH).
+     * @param insetAmount the size of the margins around the text
+     * @param clipboard the clipboard to use for cut/copy/paste operations.
+     * If null, the component will use its own clipboard.
+     */
+    public TextComponent(MText text,
+                         AttributeMap defaultValues,
+                         boolean wraps,
+                         int wrapWidth,
+                         int insetAmount,
+                         StyledTextClipboard clipboard,
+                         boolean scrolls,
+                         Scroller scroller,
+                         PanelEventBroadcaster listener) {
+
+        fBehavior = null;
+
+        if (text == null) {
+            throw new IllegalArgumentException("Text is null.");
+        }
+
+        fText = text;
+        fDefaultValues = defaultValues;
+        
+        if (clipboard == null) {
+            throw new IllegalArgumentException("Clipboard is null.");
+        }
+        fClipboard = clipboard;
+
+        fScrolls = scrolls;
+
+        fScroller = scroller;
+
+        fDocumentView = null;
+
+        fViewWrapWidth = wrapWidth;
+        fViewWraps = wraps;
+        fViewInsetAmount = insetAmount;
+        fListener = listener;
+    }
+    
+    AttributeMap getDefaultValues() {
+    
+        return fDefaultValues;
+    }
+    
+    void setHost(Component component) {
+        
+        super.setHost(component);
+        
+        component.addFocusListener(this);
+        component.addKeyListener(this);
+        component.addMouseListener(this);
+        component.addMouseMotionListener(this);
+        
+        component.addComponentListener(new ComponentAdapter() {        
+            public void componentResized(ComponentEvent e) {
+                if (fDocumentView != null) {
+                    fDocumentView.hostSizeChanged();
+                    scrollToShow(fDocumentView.getDocumentBounds());
+                }
+            }
+        });
+    }
+    
+    /**
+     * ATextPanelImpl's use only!
+     */
+    Component getHost() {
+    
+        return fHost;
+    }
+    
+    // Create document view here.  TextComponent isn't fully constructed
+    // until this is called.
+    // This must be called by host component!
+    void addNotify() {
+
+        Graphics g = getGraphics();
+        if (g == null) {
+            throw new Error("Graphics should be valid here but isn't.");
+        }
+
+        fDocumentView = new DocumentView(this,
+                                         fText,
+                                         fDefaultValues,
+                                         fViewWraps,
+                                         fViewWrapWidth,
+                                         fViewInsetAmount,
+                                         fListener);
+        documentSizeChanged();
+        fListener.textStateChanged(TextPanelEvent.FORMAT_WIDTH_CHANGED);
+    }
+    
+    public Rectangle getBounds() {
+        
+        if (fHost != null) {
+            return fHost.getBounds();
+        }
+        return new Rectangle(0, 0, 0, 0);
+    }
+    
+    Graphics getGraphics() {
+        
+        return (fHost==null)? null : fHost.getGraphics();
+    }
+    
+    void requestFocus() {
+        
+        if (fHost != null) {
+            fHost.requestFocus();
+        }
+    }
+
+    // *** Behavior management ***
+    public Behavior getBehavior() {
+        return fBehavior;
+    }
+
+    public void setBehavior(Behavior b) {
+        fBehavior = b;
+    }
+
+
+    // *** Events - just forward to behavior ***
+    public void focusGained(FocusEvent event) {
+        if (fBehavior != null)
+            fBehavior.focusGained(event);
+    }
+
+    public void focusLost(FocusEvent event) {
+        if (fBehavior != null)
+            fBehavior.focusLost(event);
+    }
+
+    public void keyPressed(KeyEvent event) {
+        if (fBehavior != null)
+            fBehavior.keyPressed(event);
+    }
+
+    public void keyTyped(KeyEvent event) {
+
+        if (fBehavior != null) {
+            fBehavior.keyTyped(event);
+        }
+    }
+
+    public void keyReleased(KeyEvent event) {
+        if (fBehavior != null)
+            fBehavior.keyReleased(event);
+    }
+
+    public void mouseClicked(MouseEvent event) {
+        // no behavior method for this
+    }
+
+    public void mouseDragged(MouseEvent event) {
+        if (fBehavior != null)
+            fBehavior.mouseDragged(event);
+    }
+
+    public void mouseEntered(MouseEvent event)  {
+        if (fBehavior != null)
+            fBehavior.mouseEntered(event);
+    }
+
+    public void mouseExited(MouseEvent event)  {
+        if (fBehavior != null)
+            fBehavior.mouseExited(event);
+    }
+
+    public void mouseMoved(MouseEvent event) {
+        if (fBehavior != null)
+            fBehavior.mouseMoved(event);
+    }
+
+    public void mousePressed(MouseEvent event) {
+        if (fBehavior != null)
+            fBehavior.mousePressed(event);
+    }
+
+    public void mouseReleased(MouseEvent event)  {
+        if (fBehavior != null)
+            fBehavior.mouseReleased(event);
+    }
+
+    public boolean textControlEventOccurred(Behavior.EventType event, Object what) {
+
+        boolean handled = false;
+
+        if (fBehavior != null) {
+            handled = fBehavior.textControlEventOccurred(event, what);
+        }
+        return handled;
+    }
+
+
+    // *** Scroll methods - called by Behaviors
+
+    // viewStart, viewLimit is visible bounds of window
+    // targetStart, targetLimit is the region to scroll into view
+    private static int getScrollDifference(int viewStart,
+                                           int viewLimit,
+                                           int targetStart,
+                                           int targetLimit) {
+
+        if (viewStart <= targetStart) {
+            if (viewLimit >= targetLimit) {
+                return 0;
+            }
+            return Math.max(viewStart-targetStart, viewLimit-targetLimit);
+        }
+        else if (viewLimit > targetLimit) {
+
+            return viewLimit - targetLimit;
+        }
+        else {
+            return 0;
+        }
+    }
+
+    void scrollToShow(Rectangle showRect) {
+
+        if (fDocumentView != null) {
+            Rectangle bounds = getBounds();
+
+            int dx = getScrollDifference(showRect.x, showRect.x + showRect.width,
+                                         bounds.x, bounds.x + bounds.width);
+            int dy = getScrollDifference(showRect.y, showRect.y + showRect.height,
+                                         bounds.y, bounds.y + bounds.height);
+
+            scrollSelf(dx, dy);
+        }
+    }
+
+    void scrollToShow(int showX, int showY) {
+
+        if (fDocumentView != null) {
+            int dx = 0, dy = 0;
+
+            Rectangle bounds = getBounds();
+            if (showX < bounds.x) {
+                dx = showX - bounds.x;
+            }
+            else if (showX > bounds.x + bounds.width) {
+                dx = showX - (bounds.x + bounds.width);
+            }
+
+            if (showY < bounds.y) {
+                dy = showY - bounds.y;
+            }
+            else if (showY > bounds.y + bounds.height) {
+                dy = showY - (bounds.y + bounds.height);
+            }
+
+            scrollSelf(dx, dy);
+        }
+    }
+
+    private int pinScrollOffset(int delta,
+                                int contentStart,
+                                int contentLength,
+                                int viewStart,
+                                int viewLength) {
+
+        if (delta > 0) {
+            int viewLimit = viewStart + viewLength;
+            int contentLimit = contentStart + contentLength;
+
+            if (viewLimit + delta > contentLimit) {
+                delta = Math.max(0, contentLimit-viewLimit);
+            }
+        }
+        else {
+            if (viewStart + delta < contentStart) {
+                delta = Math.min(0, contentStart-viewStart);
+            }
+        }
+
+        return delta;
+    }
+
+    private void scrollSelf(int dx, int dy) {
+
+        boolean scrolled = scrollBy(dx, dy);
+
+        if (scrolled && fScroller != null) {
+            Rectangle documentBounds = fDocumentView.getDocumentBounds();
+            fScroller.setPosition(-documentBounds.x,
+                                  -documentBounds.y);
+        }
+    }
+
+    private synchronized boolean scrollBy(int dx, int dy) {
+
+        boolean scrolled = false;
+
+        if (fScrolls) {
+            Rectangle documentBounds = fDocumentView.getDocumentBounds();
+            Rectangle viewBounds = getBounds();
+            
+            // variable not used int oldDx = dx;
+            dx = pinScrollOffset(dx, 
+                                 documentBounds.x,
+                                 documentBounds.width,
+                                 viewBounds.x,
+                                 viewBounds.width);
+            dy = pinScrollOffset(dy, 
+                                 documentBounds.y,
+                                 documentBounds.height,
+                                 viewBounds.y,
+                                 viewBounds.height);
+
+            if (dx != 0 || dy != 0) {
+                scrolled = true;
+                fDocumentView.moveBy(-dx, -dy);
+            }
+        }
+
+        return scrolled;
+    }
+
+    // implementation of Scroller.Client - called by Scroller
+    // they have to be public since they're in an interface
+    // no one else should call these methods
+    public Rectangle getScrollSize() {
+
+        if (fDocumentView != null) {
+            return fDocumentView.getScrollableArea();
+        }
+        return new Rectangle(0, 0, 0, 0);
+    }
+
+    public void scrollTo(int x, int y) {
+
+        if (fDocumentView != null) {
+            scrollBy(x + fDocumentView.getDocX(), y + fDocumentView.getDocY());
+        }
+    }
+
+    // *** Text access ***
+    MConstText getText() {
+        return fText;
+    }
+
+    MText getModifiableText() {
+        return fText;
+    }
+
+    StyledTextClipboard getClipboard() {
+        return fClipboard;
+    }
+
+    public synchronized void paint(Graphics g) {
+
+        if (fDocumentView != null) {
+            fDocumentView.paint(g);
+        }
+    }
+
+
+    // *** Metric info - used by Behaviors
+    Rectangle getCaretRect(TextOffset offset) {
+
+        if (fDocumentView != null) {
+            return fDocumentView.getCaretRect(offset);
+        }
+        return new Rectangle(0, 0);
+    }
+
+    TextOffset pointToTextOffset(TextOffset result,
+                                 int x,
+                                 int y,
+                                 TextOffset anchor,
+                                 boolean infiniteMode) {
+
+        if (fDocumentView != null) {
+            return fDocumentView.pointToTextOffset(result, x, y, anchor, infiniteMode);
+        }
+        return new TextOffset();
+    }
+
+    // *** Other stuff used by Behaviors - mostly formatter exports
+    int lineContaining(TextOffset offset) {
+
+        if (fDocumentView != null) {
+            return fDocumentView.lineContaining(offset);
+        }
+        return 0;
+    }
+
+    int lineRangeLow(int lineNumber) {
+
+        if (fDocumentView != null) {
+            return fDocumentView.lineRangeLow(lineNumber);
+        }
+        return 0;
+    }
+
+    int lineRangeLimit(int lineNumber) {
+
+        if (fDocumentView != null) {
+            return fDocumentView.lineRangeLimit(lineNumber);
+        }
+        return 0;
+    }
+
+    void stopBackgroundFormatting() {
+
+        if (fDocumentView != null) {
+            fDocumentView.stopBackgroundFormatting();
+        }
+    }
+
+    Rectangle getBoundingRect(TextOffset offset1, TextOffset offset2) {
+
+        if (fDocumentView != null) {
+            return fDocumentView.getBoundingRect(offset1, offset2);
+        }
+        return new Rectangle(0, 0, 0, 0);
+    }
+
+    synchronized void reformatAndDrawText(int reformatStart,
+                             int reformatLength,
+                             TextOffset selStart,
+                             TextOffset selEnd,
+                             Rectangle additionalUpdateRect,
+                             Color hiliteColor) {
+
+        if (fDocumentView != null) {
+            fDocumentView.reformatAndDrawText(reformatStart,
+                                              reformatLength,
+                                              selStart,
+                                              selEnd,
+                                              additionalUpdateRect,
+                                              hiliteColor);
+        }
+    }
+
+    TextOffset findNewInsertionOffset(TextOffset result,
+                                      TextOffset initialOffset,
+                                      TextOffset previousOffset,
+                                      short direction) {
+
+        if (fDocumentView != null) {
+            return fDocumentView.findNewInsertionOffset(result, initialOffset, previousOffset, direction);
+        }
+        return new TextOffset(initialOffset);
+    }
+
+    synchronized void drawText(Graphics g,
+                  Rectangle damagedRect,
+                  boolean selectionVisible,
+                  TextOffset selStart,
+                  TextOffset selEnd,
+                  Color hiliteColor) {
+
+        if (fDocumentView != null) {
+            fDocumentView.drawText(g, damagedRect, selectionVisible, selStart, selEnd, hiliteColor);
+        }
+    }
+
+    private void documentSizeChanged() {
+
+        if (fScroller != null) {
+            fScroller.clientScrollSizeChanged();
+        }
+    }
+
+    int getFormatWidth() {
+
+        if (fDocumentView != null) {
+            return fDocumentView.getFormatWidth();
+        }
+        return 0;
+    }
+
+    /**
+     * Return true if the paragraph at the given offset is left-to-right.
+     * @param offset an offset in the text
+     * @return true if the paragraph at the given offset is left-to-right
+     */
+    boolean paragraphIsLeftToRight(int offset) {
+        
+        if (fDocumentView != null) {
+            return fDocumentView.paragraphIsLeftToRight(offset);
+        }
+        return true;
+    }
+    
+    private static final class DocumentView {
+
+        private TextComponent fHost;
+        private boolean fWraps;
+        private boolean fWrapToWindowWidth;
+        private int fInsetAmount;
+        private PanelEventBroadcaster fListener;
+
+        // fBounds is the total scrollable area of the document (including insets)
+        private Rectangle fBounds = new Rectangle();
+        
+        private Point fOrigin;
+
+        private MFormatter fFormatter;
+
+        private OffscreenBufferCache fBufferCache;
+
+        // Note, when this is true the caret won't blink in 1.1.  Looks like an AWT bug.
+        private static boolean fNoOffscreenBuffer =
+                            Boolean.getBoolean("TextComponent.NoOffscreenBuffer");
+
+        // Amount by which to reduce the format width to allow for right-aligned carets.
+        private final int CARET_SLOP = 1;
+
+        DocumentView(TextComponent host,
+                     MConstText text,
+                     AttributeMap defaultValues,
+                     boolean wraps,
+                     int wrapWidth,
+                     int insetAmount,
+                     PanelEventBroadcaster listener) {
+
+            fHost = host;
+            fWrapToWindowWidth = wrapWidth == WINDOW_WIDTH;
+            fInsetAmount = insetAmount;
+            fListener = listener;
+
+            initFormatterAndSize(text, defaultValues, wraps, wrapWidth);
+
+            fBufferCache = new OffscreenBufferCache(host.fHost);
+        }
+        
+        /**
+         * Note: this computes the bounds rectangle relative to fOrigin
+         */
+        private void calcBoundsRect() {
+        
+            final int insetDim = 2 * fInsetAmount;
+
+            final int minX = fFormatter.minX();
+            final int minY = fFormatter.minY();
+
+            fBounds.setBounds(fOrigin.x + minX - fInsetAmount,
+                              fOrigin.y + minY - fInsetAmount,
+                              fFormatter.maxX() - minX + insetDim, 
+                              fFormatter.maxY() - minY + insetDim);
+            //if (minX <= 0) {
+            //    System.out.println("calcBoundsRect: minX="+minX+
+            //                       "; bounds.x="+fBounds.x+"; width="+fBounds.width);
+            //}
+        }
+
+        private void initFormatterAndSize(MConstText text, 
+                                          AttributeMap defaultValues,
+                                          boolean wraps,
+                                          int wrapWidth) {
+
+            Rectangle hostBounds = fHost.getBounds();
+            int formatWidth;
+
+            if (!wraps || fWrapToWindowWidth) {
+                formatWidth = hostBounds.width - 2 * fInsetAmount;
+                if (formatWidth <= CARET_SLOP) {
+                    formatWidth = CARET_SLOP+1;
+                }
+            }
+            else {
+                formatWidth = wrapWidth;
+            }
+
+            fFormatter = MFormatter.createFormatter(text,
+                                                    defaultValues,
+                                                    formatWidth-CARET_SLOP,
+                                                    wraps,
+                                                    fHost.getGraphics());
+
+            fFormatter.formatToHeight(hostBounds.height * 2);
+            fOrigin = new Point(fInsetAmount, fInsetAmount);
+            calcBoundsRect();
+        }
+
+        // notification method called by TextComponent
+        void hostSizeChanged() {
+
+            final boolean wrap = fFormatter.wrap();
+            if (fWrapToWindowWidth || !wrap) {
+
+                Rectangle hostBounds = fHost.getBounds();
+                // variable not used final int insetDim = 2 * fInsetAmount;
+
+                int formatWidth = hostBounds.width - 2*fInsetAmount;
+                if (formatWidth <= CARET_SLOP) {
+                    formatWidth = CARET_SLOP+1;
+                }
+                fFormatter.setLineBound(formatWidth-CARET_SLOP);
+
+                fFormatter.formatToHeight(hostBounds.y + (hostBounds.height*2) - fOrigin.y);
+
+                calcBoundsRect();
+                
+                //System.out.println("Window bounds="+hostBounds+"; document bounds="+fBounds);
+
+                fHost.documentSizeChanged();
+                fListener.textStateChanged(TextPanelEvent.FORMAT_WIDTH_CHANGED);
+                //System.out.println("formatWidth="+formatWidth);
+                //System.out.println("document bounds="+fBounds);
+                //System.out.println();
+            }
+            //dumpWidthInfo();
+        }
+
+        int getFormatWidth() {
+
+            return fFormatter.lineBound();
+        }
+        
+        boolean paragraphIsLeftToRight(int offset) {
+            
+            int lineNumber = fFormatter.lineContaining(offset);
+            return fFormatter.lineIsLeftToRight(lineNumber);
+        }
+
+        private void textSizeMightHaveChanged() {
+
+            boolean changed = false;
+            final int insetDim = 2 * fInsetAmount;
+            
+            int textHeight = fFormatter.maxY() - fFormatter.minY() + insetDim;
+            if (textHeight != fBounds.height) {
+                fBounds.height = textHeight;
+                changed = true;
+            }
+
+            if (!fFormatter.wrap()) {
+                int textWidth = fFormatter.maxX() - fFormatter.minX() + insetDim;
+                if (textWidth != fBounds.width) {
+                    fBounds.width = textWidth;
+                    changed = true;
+                }
+            }
+
+            if (changed) {
+                //System.out.println("Text size changed.  fBounds: " + fBounds);
+                calcBoundsRect();
+                fHost.documentSizeChanged();
+                fHost.scrollToShow(getDocumentBounds());
+            }
+        }
+
+        private void doDrawText(Graphics g,
+                                Rectangle drawRect,
+                                boolean selectionVisible,
+                                TextOffset selStart,
+                                TextOffset selEnd,
+                                Color hiliteColor) {
+
+            Color oldColor = g.getColor();
+            g.setColor(fHost.getHost().getBackground());
+            g.fillRect(drawRect.x, drawRect.y, drawRect.width, drawRect.height);
+            g.setColor(oldColor);
+
+            //            g.clearRect(drawRect.x, drawRect.y, drawRect.width, drawRect.height);
+
+            if (selectionVisible) {
+                fFormatter.draw(g, drawRect, fOrigin, selStart, selEnd, hiliteColor);
+            }
+            else {
+                fFormatter.draw(g, drawRect, fOrigin, null, null, null);
+            }
+
+            if (selStart != null && selStart.equals(selEnd) && selectionVisible) {
+
+                fFormatter.drawCaret(g, selStart, fOrigin,
+                                    STRONG_CARET_COLOR, WEAK_CARET_COLOR);
+            }
+        }
+
+        void drawText(Graphics g,
+                      Rectangle drawRect,
+                      boolean selectionVisible,
+                      TextOffset selStart,
+                      TextOffset selEnd,
+                      Color hiliteColor) {
+
+            if (g != null) {
+                drawRect = drawRect.intersection(fHost.getBounds());
+                //System.out.println("drawText:drawRect: " + drawRect);
+                g.clipRect(drawRect.x, drawRect.y, drawRect.width, drawRect.height);
+                if (fNoOffscreenBuffer) {
+                    doDrawText(g, drawRect, selectionVisible, selStart, selEnd, hiliteColor);
+                }
+                else {
+                    Image offscreenBuffer = fBufferCache.getBuffer(drawRect.width, drawRect.height);
+                    Graphics offscreenGraphics = offscreenBuffer.getGraphics();
+                    offscreenGraphics.translate(-drawRect.x, -drawRect.y);
+    
+                    doDrawText(offscreenGraphics, drawRect, selectionVisible, selStart, selEnd, hiliteColor);
+    
+                    g.drawImage(offscreenBuffer, drawRect.x, drawRect.y, fHost.fHost);
+                }
+            }
+            textSizeMightHaveChanged();
+        }
+
+        void reformatAndDrawText(int reformatStart,
+                                 int reformatLength,
+                                 TextOffset selStart,
+                                 TextOffset selEnd,
+                                 Rectangle additionalUpdateRect,
+                                 Color hiliteColor) {
+
+            Rectangle visibleBounds = fHost.getBounds();
+            Rectangle redrawRect = fFormatter.updateFormat(reformatStart,
+                                                           reformatLength,
+                                                           visibleBounds,
+                                                           fOrigin);
+            //System.out.println("[1] redrawRect: " + redrawRect);
+
+            if (additionalUpdateRect != null) {
+                redrawRect.add(additionalUpdateRect);
+                //System.out.println("[2] redrawRect: " + redrawRect);
+            }
+
+            boolean haveSelection;
+
+            if (selStart != null && selEnd != null) {
+                haveSelection = true;
+                redrawRect.add(fFormatter.getBoundingRect(selStart, selEnd, fOrigin, MFormatter.LOOSE));
+                //System.out.println("[3] redrawRect: " + redrawRect);
+            }
+            else {
+                haveSelection = false;
+            }
+
+            drawText(fHost.getGraphics(), redrawRect, haveSelection, selStart, selEnd, hiliteColor);
+        }
+
+        private void letBehaviorDraw(Graphics g, Rectangle drawRect) {
+
+            boolean result = false;
+
+            if (fHost.fBehavior != null) {
+                result = fHost.fBehavior.paint(g, drawRect);
+            }
+
+            if (!result) {
+                drawText(g, drawRect, false, null, null, null);
+            }
+        }
+
+        void moveBy(int dx, int dy) {
+
+            Rectangle visibleBounds = fHost.getBounds();
+            Graphics g = fHost.getGraphics();
+
+            fBounds.x += dx;
+            fBounds.y += dy;
+            fOrigin.x += dx;
+            fOrigin.y += dy;
+
+            Rectangle refreshRect = new Rectangle(visibleBounds);
+
+            if (dx == 0) {
+                if (g != null) {
+                    g.copyArea(visibleBounds.x, visibleBounds.y, visibleBounds.width, visibleBounds.height, dx, dy);
+                }
+                if (dy < 0) {
+                    refreshRect.y = visibleBounds.y + visibleBounds.height + dy;
+                }
+                refreshRect.height = Math.abs(dy);
+                //System.out.println("refreshRect=" + refreshRect);
+            }
+
+            letBehaviorDraw(g, refreshRect);
+        }
+        
+        private Rectangle getInsetBounds() {
+            
+            int insetDim = 2 * fInsetAmount;
+            return new Rectangle(fBounds.x-fInsetAmount,
+                                 fBounds.y-fInsetAmount,
+                                 fBounds.width+insetDim,
+                                 fBounds.height+insetDim);
+        }
+
+        void paint(Graphics g) {
+
+            Rectangle hostBounds = fHost.getBounds();
+            Rectangle textRefreshRect = hostBounds.intersection(getInsetBounds());
+            letBehaviorDraw(g, textRefreshRect);
+        }
+
+        Rectangle getCaretRect(TextOffset offset) {
+
+            return fFormatter.getCaretRect(offset, fOrigin);
+        }
+
+        TextOffset pointToTextOffset(TextOffset result,
+                                     int x,
+                                     int y,
+                                     TextOffset anchor,
+                                     boolean infiniteMode) {
+
+            return fFormatter.pointToTextOffset(result, x, y, fOrigin, anchor, infiniteMode);
+        }
+
+        Rectangle getScrollableArea() {
+
+            Rectangle area = new Rectangle(fBounds);
+            area.x += fInsetAmount - fOrigin.x;
+            area.y += fInsetAmount - fOrigin.y;
+            return area;
+        }
+
+        /**
+         * Doesn't clone so TextComponent needs to be nice.  TextComponent
+         * is the only class which can access this anyway.
+         */
+        Rectangle getDocumentBounds() {
+
+            return fBounds;
+        }
+        
+        int getDocX() {
+        
+            return fOrigin.x - fInsetAmount;
+        }
+        
+        int getDocY() {
+        
+            return fOrigin.y - fInsetAmount;
+        }
+
+        int lineContaining(TextOffset offset) {
+
+            return fFormatter.lineContaining(offset);
+        }
+
+        int lineRangeLow(int lineNumber) {
+
+            return fFormatter.lineRangeLow(lineNumber);
+        }
+
+        int lineRangeLimit(int lineNumber) {
+
+            return fFormatter.lineRangeLimit(lineNumber);
+        }
+
+        void stopBackgroundFormatting() {
+
+            fFormatter.stopBackgroundFormatting();
+        }
+
+        Rectangle getBoundingRect(TextOffset offset1, TextOffset offset2) {
+
+            Rectangle r = fFormatter.getBoundingRect(offset1, offset2, fOrigin, MFormatter.TIGHT);
+            //r.width += CARET_SLOP;
+            //System.out.println("offset1="+offset1+"; offset2="+offset2);
+            //System.out.println("bounds width="+r.width+"; host width="+(fHost.getBounds().width));
+            return r;
+        }
+
+        TextOffset findNewInsertionOffset(TextOffset result,
+                                          TextOffset initialOffset,
+                                          TextOffset previousOffset,
+                                          short direction) {
+
+            return fFormatter.findNewInsertionOffset(
+                        result, initialOffset, previousOffset, direction);
+        }
+    }
+}
diff --git a/src/com/ibm/richtext/textpanel/TextEditBehavior.java b/src/com/ibm/richtext/textpanel/TextEditBehavior.java
new file mode 100755
index 0000000..630589c
--- /dev/null
+++ b/src/com/ibm/richtext/textpanel/TextEditBehavior.java
@@ -0,0 +1,481 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+package com.ibm.richtext.textpanel;
+
+import java.awt.Rectangle;
+
+import com.ibm.richtext.textlayout.attributes.AttributeMap;
+
+import java.awt.event.KeyEvent;
+import java.awt.event.MouseEvent;
+
+import com.ibm.richtext.styledtext.MConstText;
+import com.ibm.richtext.styledtext.MText;
+import com.ibm.richtext.textformat.TextOffset;
+import com.ibm.richtext.styledtext.StyleModifier;
+
+// All changes to the text should happen in this class, or in
+// its TypingInteractor.
+
+class TextEditBehavior extends Behavior {
+
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+    private TextComponent fTextComponent;
+    private TextSelection fSelection;
+    private MText fText;
+    private SimpleCommandLog fCommandLog;
+    private PanelEventBroadcaster fListener;
+    private TypingInteractor fTypingInteractor = null;
+    private KeyRemap fRemap;
+    
+    private AttributeMap fSavedTypingStyle = null;
+    private int fSavedInsPt = 0;
+    
+    public TextEditBehavior(TextComponent textComponent,
+                            TextSelection selection,
+                            PanelEventBroadcaster listener,
+                            KeyRemap remap) {
+
+        fTextComponent = textComponent;
+        fSelection = selection;
+        fText = textComponent.getModifiableText();
+        fCommandLog = new SimpleCommandLog(listener);
+        fListener = listener;
+        fRemap = remap;
+    }
+
+    public KeyRemap getKeyRemap() {
+
+        return fRemap;
+    }
+
+    public void setKeyRemap(KeyRemap remap) {
+
+        fRemap = remap;
+    }
+
+    public boolean textControlEventOccurred(Behavior.EventType event, Object what) {
+
+        boolean handled = true;
+        
+        if (event == Behavior.CHARACTER_STYLE_MOD ||
+            event == Behavior.PARAGRAPH_STYLE_MOD) {
+            doStyleChange(event, what);
+        }
+        else if (event == Behavior.CUT) {
+            doCut();
+        }
+        else if (event == Behavior.PASTE) {
+            doPaste();
+        }
+        else if (event == Behavior.CLEAR) {
+            doClear();
+        }
+        else if (event == Behavior.REPLACE) {
+            doUndoableReplace((TextReplacement) what);
+        }
+        else if (event == Behavior.UNDO) {
+            fCommandLog.undo();
+        }
+        else if (event == Behavior.REDO) {
+            fCommandLog.redo();
+        }
+        else if (event == Behavior.SET_MODIFIED) {
+            fCommandLog.setModified(what == Boolean.TRUE);
+        }
+        else if (event == Behavior.CLEAR_COMMAND_LOG) {
+            fCommandLog.clearLog();
+        }
+        else if (event == Behavior.SET_COMMAND_LOG_SIZE) {
+            fCommandLog.setLogSize(((Integer)what).intValue());
+        }
+        else {
+            handled = super.textControlEventOccurred(event, what);
+        }
+
+        checkSavedTypingStyle();
+        
+        return handled;
+    }
+
+    /**
+     * It's unfortunate that the text is modified and reformatted in
+     * three different methods.  This method is the "common prologue"
+     * for all text modifications.
+     *
+     * This method should be called before modifying and reformatting
+     * the text.  It does three things:  stops caret blinking, stops
+     * background formatting, and returns the Rectangle containing the
+     * current (soon-to-be obsolete) selection.
+     */
+    private Rectangle prepareForTextEdit() {
+
+        fSelection.stopCaretBlinking();
+        fTextComponent.stopBackgroundFormatting();
+        return fTextComponent.getBoundingRect(fSelection.getStart(), fSelection.getEnd());
+    }
+
+    private void doClear() {
+        TextRange selRange = fSelection.getSelectionRange();
+
+        if (selRange.start == selRange.limit)
+            return;
+
+        doUndoableTextChange(selRange.start, selRange.limit, null, new TextOffset(selRange.
+                            start), new TextOffset(selRange.start));
+    }
+
+    private void doCut() {
+        TextRange selRange = fSelection.getSelectionRange();
+
+        if (selRange.start == selRange.limit)
+            return;
+
+        fTextComponent.getClipboard().setContents(fText.extract(selRange.start, selRange.limit));
+        doUndoableTextChange(selRange.start, selRange.limit, null, new TextOffset(selRange.start), new TextOffset(selRange.start));
+
+        fListener.textStateChanged(TextPanelEvent.CLIPBOARD_CHANGED);
+    }
+
+    private void doPaste() {
+        TextRange selRange = fSelection.getSelectionRange();
+        MConstText clipText = fTextComponent.getClipboard().getContents(AttributeMap.EMPTY_ATTRIBUTE_MAP);
+
+        if (clipText != null) {
+            doUndoableTextChange(selRange.start, selRange.limit, clipText,
+                                new TextOffset(selRange.start + clipText.length()),
+                                new TextOffset(selRange.start + clipText.length()));
+        }
+        else {
+            fListener.textStateChanged(TextPanelEvent.CLIPBOARD_CHANGED);
+        }
+    }
+
+    private void doUndoableReplace(TextReplacement replacement) {
+
+        doUndoableTextChange(replacement.getStart(),
+                             replacement.getLimit(),
+                             replacement.getText(),
+                             replacement.getSelectionStart(),
+                             replacement.getSelectionLimit());
+    }
+
+    /**
+     * Only TypingInteractor and TextCommand should call this!
+     */
+    void doReplaceText(int start,
+                       int limit,
+                       MConstText newText,
+                       TextOffset newSelStart,
+                       TextOffset newSelEnd) {
+
+        int textLength;
+
+        fText.resetDamagedRange();
+
+        Rectangle oldSelRect = prepareForTextEdit();
+
+        if (newText == null) {
+            textLength = 0;
+            fText.remove(start, limit);
+        }
+        else {
+            textLength = newText.length();
+            fText.replace(start, limit, newText, 0, textLength);
+        }
+        fSelection.setSelectionRange(newSelStart, newSelEnd, newSelStart);
+        reformatAndDrawText(fSelection.getStart(),
+                            fSelection.getEnd(),
+                            oldSelRect);
+    }
+
+    /**
+     * Only the typing interactor should call this!
+     */
+    void doReplaceSelectedText(char ch, AttributeMap charStyle) {
+
+        int start = fSelection.getStart().fOffset;
+        int limit = fSelection.getEnd().fOffset;
+        TextOffset newOffset = new TextOffset(start + 1);
+        doReplaceText(start, limit, ch, charStyle, newOffset, newOffset);
+    }
+
+    private void doReplaceText(int start,
+                               int limit,
+                               char ch,
+                               AttributeMap charStyle,
+                               TextOffset newSelStart,
+                               TextOffset newSelEnd) {
+
+        fText.resetDamagedRange();
+
+        Rectangle oldSelRect = prepareForTextEdit();
+
+        fText.replace(start, limit, ch, charStyle);
+
+        fSelection.setSelectionRange(newSelStart, newSelEnd, newSelStart);
+        reformatAndDrawText(fSelection.getStart(),
+                            fSelection.getEnd(),
+                            oldSelRect);
+    }
+
+    private void doStyleChange(Behavior.EventType event, Object what) {
+
+        TextRange selRange = fSelection.getSelectionRange();
+        boolean character = (event == Behavior.CHARACTER_STYLE_MOD);
+
+        if (selRange.start != selRange.limit || !character) {
+            doUndoableStyleChange(what, character);
+        }
+        else {
+            TypingInteractor interactor =
+                new TypingInteractor(fTextComponent, 
+                                     fSelection,
+                                     fSavedTypingStyle,
+                                     this,
+                                     fCommandLog,
+                                     fListener);
+
+            interactor.addToOwner(fTextComponent);
+            interactor.textControlEventOccurred(event, what);
+        }
+    }
+
+    /**
+     * Only text commands should call this method!
+     */
+    void doModifyStyles(int start,
+                        int limit,
+                        StyleModifier modifier,
+                        boolean character,
+                        TextOffset newSelStart,
+                        TextOffset newSelEnd) {
+
+        fText.resetDamagedRange();
+
+        Rectangle oldSelRect = prepareForTextEdit();
+
+        if (character) {
+            fText.modifyCharacterStyles(start, limit, modifier);
+        }
+        else {
+            fText.modifyParagraphStyles(start, limit, modifier);
+        }
+
+        fSelection.setSelectionRange(newSelStart, newSelEnd, newSelStart);
+        reformatAndDrawText(newSelStart,
+                            newSelEnd,
+                            oldSelRect);
+    }
+
+    private void doUndoableStyleChange(Object what,
+                                       boolean character) {
+
+        TextOffset selStart = fSelection.getStart();
+        TextOffset selEnd = fSelection.getEnd();
+
+        MText oldText = fText.extractWritable(selStart.fOffset, selEnd.fOffset);
+        StyleChangeCommand command = new StyleChangeCommand(
+                this, oldText, selStart, selEnd, (StyleModifier) what, character);
+
+        fCommandLog.addAndDo(command);
+
+        fListener.textStateChanged(TextPanelEvent.SELECTION_STYLES_CHANGED);
+    }
+
+    private void doUndoableTextChange(int start,
+                                      int limit,
+                                      MConstText newText,
+                                      TextOffset newSelStart,
+                                      TextOffset newSelEnd) {
+
+        TextChangeCommand command = new TextChangeCommand(this, fText.extractWritable(start, limit),
+                                newText, start, fSelection.getStart(), fSelection.getEnd(),
+                                newSelStart, newSelEnd);
+
+        fCommandLog.addAndDo(command);
+    }
+
+    public boolean canUndo() {
+
+        boolean canUndo = false;
+
+        if (fTypingInteractor != null) {
+            canUndo = fTypingInteractor.hasPendingCommand();
+        }
+
+        if (!canUndo) {
+            canUndo = fCommandLog.canUndo();
+        }
+
+        return canUndo;
+    }
+
+    public boolean canRedo() {
+
+        return fCommandLog.canRedo();
+    }
+
+    public boolean isModified() {
+
+        if (fTypingInteractor != null) {
+            if (fTypingInteractor.hasPendingCommand()) {
+                return true;
+            }
+        }
+        return fCommandLog.isModified();
+    }
+
+    public int getCommandLogSize() {
+
+        return fCommandLog.getLogSize();
+    }
+
+    public AttributeMap getInsertionPointStyle() {
+
+        if (fTypingInteractor != null) {
+            return fTypingInteractor.getTypingStyle();
+        }
+
+        if (fSavedTypingStyle != null) {
+            return fSavedTypingStyle;
+        }
+        
+        TextRange range = fSelection.getSelectionRange();
+        return typingStyleAt(fText, range.start, range.limit);
+    }
+    
+    public boolean keyPressed(KeyEvent e) {
+
+        boolean handled = true;
+        if (TypingInteractor.handledByTypingInteractor(e)) {
+            TypingInteractor interactor = new TypingInteractor(fTextComponent,
+                                                               fSelection,
+                                                               fSavedTypingStyle,
+                                                               this,
+                                                               fCommandLog,
+                                                               fListener);
+
+            interactor.addToOwner(fTextComponent);
+            interactor.keyPressed(e);
+        }
+        else {
+            handled = super.keyPressed(e);
+            checkSavedTypingStyle();
+        }
+        
+        return handled;
+    }
+
+    public boolean keyTyped(KeyEvent e) {
+        
+        boolean handled = true;
+        if (TypingInteractor.handledByTypingInteractor(e)) {
+            TypingInteractor interactor = new TypingInteractor(fTextComponent, 
+                                                               fSelection,
+                                                               fSavedTypingStyle,
+                                                               this,
+                                                               fCommandLog,
+                                                               fListener);
+
+            interactor.addToOwner(fTextComponent);
+            interactor.keyTyped(e);
+        }
+        else {
+            handled = super.keyTyped(e);
+            checkSavedTypingStyle();
+        }
+        
+        return handled;
+    }
+
+    public boolean mouseReleased(MouseEvent e) {
+        
+        boolean result = super.mouseReleased(e);
+        checkSavedTypingStyle();
+        return result;
+    }
+    
+    private void reformatAndDrawText(TextOffset selStart,
+                                     TextOffset selLimit,
+                                     Rectangle oldSelRect)
+    {
+        if (!fSelection.enabled()) {
+            selStart = selLimit = null;
+        }
+
+        int reformatStart = fText.damagedRangeStart();
+        int reformatLength = fText.damagedRangeLimit() - reformatStart;
+
+        if (reformatStart != Integer.MAX_VALUE) {
+            fTextComponent.reformatAndDrawText(reformatStart,
+                                               reformatLength,
+                                               selStart,
+                                               selLimit,
+                                               oldSelRect,
+                                               fSelection.getHighlightColor());
+        }
+
+        fSelection.scrollToShowSelection();
+        
+        // sometimes this should send SELECTION_STYLES_CHANGED
+        fListener.textStateChanged(TextPanelEvent.TEXT_CHANGED);
+
+        fSelection.restartCaretBlinking(true);
+    }
+
+    /**
+     * Only TypingInteractor should call this.
+     */
+    void setTypingInteractor(TypingInteractor interactor) {
+        fTypingInteractor = interactor;
+    }
+
+    /**
+     * Only TypingInteractor should call this.
+     */
+    void setSavedTypingStyle(AttributeMap style, int insPt) {
+    
+        fSavedTypingStyle = style;
+        fSavedInsPt = insPt;
+    }
+    
+    private void checkSavedTypingStyle() {
+    
+        if (fSavedTypingStyle != null) {
+            int selStart = fSelection.getStart().fOffset;
+            int selLimit = fSelection.getEnd().fOffset;
+            if (selStart != fSavedInsPt || selStart != selLimit) {
+                fSavedTypingStyle = null;
+            }
+        }            
+    }
+    
+    /**
+     * Return the style appropriate for typing on the given selection
+     * range.
+     */
+    public static AttributeMap typingStyleAt(MConstText text, int start, int limit) {
+
+        if (start < limit) {
+            return text.characterStyleAt(start);
+        }
+        else if (start > 0) {
+            return text.characterStyleAt(start - 1);
+        }
+        else {
+            return text.characterStyleAt(0);
+        }
+    }
+}
diff --git a/src/com/ibm/richtext/textpanel/TextPanel.java b/src/com/ibm/richtext/textpanel/TextPanel.java
new file mode 100755
index 0000000..896fa40
--- /dev/null
+++ b/src/com/ibm/richtext/textpanel/TextPanel.java
@@ -0,0 +1,540 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+package com.ibm.richtext.textpanel;
+
+import java.awt.BorderLayout;
+import java.awt.Component;
+import java.awt.Graphics;
+import java.awt.Panel;
+import java.awt.Scrollbar;
+
+import java.awt.datatransfer.Clipboard;
+
+import com.ibm.richtext.textlayout.attributes.AttributeMap;
+
+import com.ibm.richtext.styledtext.StyleModifier;
+import com.ibm.richtext.styledtext.MConstText;
+
+/**
+ * TextPanel is an implementation of MTextPanel in an AWT Panel.
+ * @see MTextPanel
+ */
+public final class TextPanel extends Panel implements MTextPanel {
+
+    private ATextPanelImpl fImpl;
+    
+    /**
+     * Return a TextPanelSettings instance with all settings set
+     * to the default values.  Clients can modify this object;
+     * modifications will not affect the default values.
+     * @return a TextPanelSettings instance set to default values
+     * @see TextPanelSettings
+     */
+    public static TextPanelSettings getDefaultSettings() {
+
+        return ATextPanelImpl.getDefaultSettings();
+    }
+
+    /**
+     * Create a new TextPanel with the default settings.
+     * @param initialText the text document.  If null document text is empty.
+     * @param clipboard the clipboard to use for cut, copy, and paste
+     *  operations.  If null this panel will use a private clipboard.
+     */
+    public TextPanel(MConstText initialText,
+                     Clipboard clipboard) {
+
+        this(ATextPanelImpl.fgDefaultSettings, initialText, clipboard);
+    }
+
+    /**
+     * Create a new TextPanel.
+     * @param settings the settings for this TextPanel
+     * @param initialText the text document.  If null document text is empty.
+     * @param clipboard the clipboard to use for cut, copy, and paste
+     *  operations.  If null this panel will use a private clipboard.
+     * @see TextPanelSettings
+     */
+    public TextPanel(TextPanelSettings settings,
+                     MConstText initialText,
+                     Clipboard clipboard) {
+
+        Scrollbar horzSb = null;
+        Scrollbar vertSb = null;
+        
+        if (settings.getScrollable()) {
+
+            setLayout(new ScrollBarLayout());
+
+            boolean scrollBarsVisible = settings.getScrollBarsVisible();
+
+            if (scrollBarsVisible) {
+                horzSb = new Scrollbar(Scrollbar.HORIZONTAL);
+                vertSb = new Scrollbar(Scrollbar.VERTICAL);
+                add("South", horzSb);
+                add("East", vertSb);
+            }
+        }
+        else {
+            setLayout(new BorderLayout());
+        }
+
+        fImpl = new ATextPanelImpl(new RunStrategy(),
+                                   settings,
+                                   initialText,
+                                   clipboard,
+                                   this,
+                                   horzSb,
+                                   vertSb);
+                                   
+        final FakeComponent textComponent = fImpl.getTextComponent();
+        
+        Component textHost = new Component() {
+            {
+                textComponent.setHost(this);
+            }
+            public void addNotify() {
+                super.addNotify();
+                textComponent.addNotify();
+            }
+            public void paint(Graphics g) {
+                textComponent.paint(g);
+            }
+        };
+        
+        add("Center", textHost);
+
+        textHost.requestFocus();
+    }
+
+    /**
+     * Add the given TextPanelListener to the listeners which will
+     * receive update notifications from this TextPanel.
+     * @param listener the listener to add
+     */
+    public void addListener(TextPanelListener listener) {
+
+        fImpl.addListener(listener);
+    }
+
+    /**
+     * Remove the given TextPanelListener from the listeners which will
+     * receive update notifications from this TextPanel.
+     * @param listener the listener to remove
+     */
+    public void removeListener(TextPanelListener listener) {
+
+        fImpl.removeListener(listener);
+    }
+
+//============
+// Text Access
+//============
+
+    /**
+     * Set the document to <tt>newText</tt>.  This operation
+     * modifies the text in the TextPanel.  It does not modify or adopt
+     * <tt>newText</tt>.  This method sets the selection an insertion point at
+     * the end of the text.
+     * @param newText the text which will replace the current text.
+     */
+    public void setText(MConstText newText) {
+
+        fImpl.setText(newText);
+    }
+
+    /**
+     * Append the given text to the end of the document.  Equivalent to
+     * <tt>insert(newText, getTextLength())</tt>.
+     * @param newText the text to append to the document
+     */
+    public void append(MConstText newText) {
+
+        fImpl.append(newText);
+    }
+
+    /**
+     * Insert the given text into the document at the given position.
+     * Equivalent to
+     * <tt>replaceRange(newText, position, position)</tt>.
+     * @param newText the text to insert into the document.
+     * @param position the position in the document where the
+     *     text will be inserted
+     */
+    public void insert(MConstText newText, int position) {
+
+        fImpl.insert(newText, position);
+    }
+
+    /**
+     * Replace the given range with <tt>newText</tt>.  After this
+     * operation the selection range is an insertion point at the
+     * end of the new text.
+     * @param newText the text with which to replace the range
+     * @param start the beginning of the range to replace
+     * @param end the end of the range to replace
+     */
+    public void replaceRange(MConstText newText, int start, int end) {
+
+        fImpl.replaceRange(newText, start, end);
+    }
+
+    /**
+     * Return the length of the text document in the TextPanel.
+     * @return the length of the text document in the TextPanel
+     */
+    public int getTextLength() {
+
+        return fImpl.getTextLength();
+    }
+
+    /**
+     * Return the text document in the TextPanel.
+     * @return the text document in the TextPanel.
+     */
+    public MConstText getText() {
+
+        return fImpl.getText();
+    }
+
+//============
+// Selection Access
+//============
+
+    /**
+     * Return the offset of the start of the selection.
+     */
+    public int getSelectionStart() {
+
+        return fImpl.getSelectionStart();
+    }
+
+    /**
+     * Return the offset of the end of the selection.
+     */
+    public int getSelectionEnd() {
+
+        return fImpl.getSelectionEnd();
+    }
+
+    /**
+     * Set the beginning of the selection range.  This is
+     * equivalent to <tt>select(selectionStart, getSelectionEnd())</tt>.
+     * @param selectionStart the start of the new selection range
+     */
+    public void setSelectionStart(int selectionStart) {
+
+        fImpl.setSelectionStart(selectionStart);
+    }
+
+    /**
+     * Set the end of the selection range.  This is
+     * equivalent to <tt>select(getSelectionStart(), selectionEnd)</tt>.
+     * @param selectionEnd the end of the new selection range
+     */
+    public void setSelectionEnd(int selectionEnd) {
+
+        fImpl.setSelectionEnd(selectionEnd);
+    }
+
+    /**
+     * Set the selection range to an insertion point at the given
+     * offset.  This is equivalent to
+     * <tt>select(position, position)</tt>.
+     * @param position the offset of the new insertion point
+     */
+    public void setCaretPosition(int position) {
+
+        fImpl.setCaretPosition(position);
+    }
+
+    /**
+     * Set the selection range to the given range.  The range start
+     * is pinned between 0 and the text length;  the range end is pinned
+     * between the range start and the end of the text.  These semantics
+     * are identical to those of <tt>java.awt.TextComponent</tt>.
+     * This method has no effect if the text is not selectable.
+     * @param selectionStart the beginning of the selection range
+     * @param selectionEnd the end of the selection range
+     */
+    public void select(int selectionStart, int selectionEnd) {
+
+        fImpl.select(selectionStart, selectionEnd);
+    }
+
+    /**
+     * Select all of the text in the document.  This method has no effect if
+     * the text is not selectable.
+     */
+    public void selectAll() {
+
+        fImpl.selectAll();
+    }
+
+
+//============
+// Format Width
+//============
+
+    /**
+     * Return the total format width, in pixels.  The format width is the
+     * width to which text is wrapped.
+     * @return the format width
+     */
+    public int getFormatWidth() {
+
+        return fImpl.getFormatWidth();
+    }
+    
+    /**
+     * Return true if the paragraph at the given offset is left-to-right.
+     * @param offset an offset in the text
+     * @return true if the paragraph at the given offset is left-to-right
+     */
+    public boolean paragraphIsLeftToRight(int offset) {
+        
+        return fImpl.paragraphIsLeftToRight(offset);
+    }
+
+    /**
+     * Return true if there is a change which can be undone.
+     * @return true if there is a change which can be undone.
+     */
+    public boolean canUndo() {
+
+        return fImpl.canUndo();
+    }
+
+    /**
+     * Return true if there is a change which can be redone.
+     * @return true if there is a change which can be redone.
+     */
+    public boolean canRedo() {
+
+        return fImpl.canRedo();
+    }
+
+    /**
+     * Return true if the clipboard contains contents which could be
+     * transfered into the text.
+     * @return true if the clipboard has text content.
+     */
+    public boolean clipboardNotEmpty() {
+
+        return fImpl.clipboardNotEmpty();
+    }
+
+    /**
+     * Return an AttributeMap of keys with default values.  The default
+     * values are used when displaying text for values which are not
+     * specified in the text.
+     * @return an AttributeMap of default key-value pairs
+     */
+    public AttributeMap getDefaultValues() {
+
+        return fImpl.getDefaultValues();
+    }
+
+    /**
+     * This method inspects the character style runs in the selection
+     * range (or the typing style at the insertion point).  It returns:
+     * <ul>
+     * <li>The value of <tt>key</tt>, if the value of <tt>key</tt>
+     * is the same in all of the style runs in the selection, or</li>
+     * <li><tt>MULTIPLE_VALUES</tt>, if two or more style runs have different 
+     * values for <tt>key</tt>.</li>
+     * </ul>
+     * If a style run does not contain <tt>key</tt>,
+     * its value is considered to be the default style for <tt>key</tt>,
+     * as defined by the default values AttributeMap.  Note that if
+     * <tt>key</tt> does not have a default value this method may return
+     * null.
+     * This method is useful for configuring style menus.
+     * @param key the key used to retrieve values for comparison
+     * @see MTextPanel#MULTIPLE_VALUES
+     */
+    public Object getCharacterStyleOverSelection(Object key) {
+        
+        return fImpl.getCharacterStyleOverSelection(key);
+    }
+
+    /**
+     * This method inspects the paragraph style runs in the selection
+     * range (or the typing style at the insertion point).  It returns:
+     * <ul>
+     * <li>The value of <tt>key</tt>, if the value of <tt>key</tt>
+     * is the same in all of the style runs in the selection, or</li>
+     * <li><tt>MULTIPLE_VALUES</tt>, if two or more style runs have 
+     * different values for <tt>key</tt>.</li>
+     * </ul>
+     * If a style run does not contain <tt>key</tt>,
+     * its value is considered to be the default style for <tt>key</tt>,
+     * as defined by the default values AttributeMap.  Note that if
+     * <tt>key</tt> does not have a default value this method may return
+     * null.
+     * This method is useful for configuring style menus.
+     * @param key the key used to retrieve values for comparison
+     * @see MTextPanel#MULTIPLE_VALUES
+     */
+    public Object getParagraphStyleOverSelection(Object key) {
+        
+        return fImpl.getParagraphStyleOverSelection(key);
+    }
+
+    /**
+     * Remove the selected text from the document and place it
+     * on the clipboard.  This method has no effect if the text
+     * is not editable, or if no text is selected.
+     */
+    public void cut() {
+        fImpl.cut();
+    }
+
+    /**
+     * Place the selected text on the clipboard.  This method has
+     * no effect if no text is selected.
+     */
+    public void copy() {
+        fImpl.copy();
+    }
+
+    /**
+     * Replace the currently selected text with the text on the clipboard.
+     * This method has no effect if the text is not editable, or if no
+     * text is on the clipboard.
+     */
+    public void paste() {
+        fImpl.paste();
+    }
+
+    /**
+     * Remove selected text from the document, without altering the clipboard.
+     * This method has no effect if the
+     * text is not editable.
+     */
+    public void clear() {
+        fImpl.clear();
+    }
+
+    /**
+     * Undo the most recent text change.  This method has no effect if
+     * there is no change to undo.
+     */
+    public void undo() {
+        fImpl.undo();
+    }
+
+    /**
+     * Redo the most recent text change.  This method has no effect if
+     * there is no change to redo.
+     */
+    public void redo() {
+        fImpl.redo();
+    }
+
+    /**
+     * Return the number of commands the command log can hold.
+     * @return the number of commands the command log can hold
+     */
+    public int getCommandLogSize() {
+
+        return fImpl.getCommandLogSize();
+    }
+
+    /**
+     * Set the number of commands the command log can hold.  All
+     * redoable commands are removed when this method is called.
+     * @param size the number of commands kept in the command log
+     */
+    public void setCommandLogSize(int size) {
+        fImpl.setCommandLogSize(size);
+    }
+
+    /**
+     * Remove all commands from the command log.
+     */
+    public void clearCommandLog() {
+        fImpl.clearCommandLog();
+    }
+
+    /**
+     * Modify the character styles on the selected characters.  If no characters
+     * are selected, modify the typing style.
+     * @param modifier the StyleModifier with which to modify the styles
+     */
+    public void modifyCharacterStyleOnSelection(StyleModifier modifier) {
+        fImpl.modifyCharacterStyleOnSelection(modifier);
+    }
+
+    /**
+     * Modify the paragraph styles in paragraphs containing selected characters, or
+     * the paragraph containing the insertion point.
+     * @param modifier the StyleModifier with which to modify the styles
+     */
+    public void modifyParagraphStyleOnSelection(StyleModifier modifier) {
+        fImpl.modifyParagraphStyleOnSelection(modifier);
+    }
+
+    /**
+     * Return the KeyRemap used to process key events.
+     * @return the key remap used to process key events
+     * @see #setKeyRemap
+     */
+    public KeyRemap getKeyRemap() {
+
+        return fImpl.getKeyRemap();
+    }
+
+    /**
+     * Use the given KeyRemap to map key events to characters.
+     * Only key
+     * events are affected by the remap;  other text entering the
+     * control (via the clipboard, for example) is not affected
+     * by the KeyRemap.
+     * <p>
+     * Do not pass <tt>null</tt> to this method to leave key
+     * events unmapped.  Instead, use <tt>KeyRemap.getIdentityRemap()</tt>
+     * @param remap the KeyRemap to use for mapping key events to characters
+     * @exception java.lang.NullPointerException if parameter is null
+     * @see KeyRemap
+     */
+    public void setKeyRemap(KeyRemap remap) {
+
+        fImpl.setKeyRemap(remap);
+    }
+
+    /**
+     * Return the modification flag of the current text change.
+     * @see #setModified
+     */
+    public boolean isModified() {
+
+        return fImpl.isModified();
+    }
+
+    /**
+     * Set the modification flag of the current text change.
+     */
+    public void setModified(boolean modified) {
+        
+        fImpl.setModified(modified);
+    }
+
+    /**
+     * This method is for KeyEventForwarder's use only!
+     */
+    ATextPanelImpl getImpl() {
+        
+        return fImpl;
+    }
+}
diff --git a/src/com/ibm/richtext/textpanel/TextPanelEvent.java b/src/com/ibm/richtext/textpanel/TextPanelEvent.java
new file mode 100755
index 0000000..181d49d
--- /dev/null
+++ b/src/com/ibm/richtext/textpanel/TextPanelEvent.java
@@ -0,0 +1,155 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+package com.ibm.richtext.textpanel;
+
+import java.util.EventObject;
+
+/**
+ * TextPanelEvent is generated by an MTextPanel to notify listeners
+ * of changes.  To receive TextPanelEvents from an MTextPanel, clients
+ * must implement TextPanelListener and add themselves to the MTextPanel's
+ * list of listeners.
+ * <p>
+ * Some event types are special cases of others.  This is intentional - it
+ * allows notifications to be sent less often in certain common cases.  For
+ * example, a change in the selection range generates a SELECTION_RANGE_CHANGED 
+ * event.  This is a very common occurrance, and if many clients listen for this
+ * event, there may be a significant performance penalty.  By
+ * listening for a more specialized event (such as SELECTION_EMPTY_CHANGED), clients
+ * can reduce the number of notifications sent.
+ * 
+ * @see MTextPanel
+ * @see TextPanelListener
+ */
+public final class TextPanelEvent extends EventObject {
+
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+    
+    /**
+     * The lower bound of TextPanelEvent ID's.
+     */
+    public static final int TEXT_PANEL_FIRST = 11;
+
+    /**
+     * Events of this type indicate a change in the selection range.
+     * This occurs quite often.  Most clients do not need to be 
+     * notified every time the selection range changes.
+     */
+    public static final int SELECTION_RANGE_CHANGED = 11;
+    
+    /**
+     * Events of this type are sent when the selection range becomes
+     * 0-length after not being 0-length, or vice versa.  This event
+     * is a special case of SELECTION_RANGE_CHANGED.
+     */
+    public static final int SELECTION_EMPTY_CHANGED = 12;
+    
+    /**
+     * Events of this type indicate that the text in the TextPanel changed.
+     * This type of event occurs often.
+     */
+    public static final int TEXT_CHANGED = 13;
+    
+    /**
+     * Events of this type are sent when the styles in the current
+     * selection change.
+     */
+    public static final int SELECTION_STYLES_CHANGED = 14;
+     
+    /**
+     * Events of this type are sent when the undo/redo state changes.
+     */
+    public static final int UNDO_STATE_CHANGED = 15;
+    
+    /**
+     * Events of this type are sent when the clipboard state changes.
+     */
+    public static final int CLIPBOARD_CHANGED = 16;
+    
+    /**
+     * Events of this type are sent when 
+     * the wrap width of the text changes.
+     */
+    public static final int FORMAT_WIDTH_CHANGED = 17;
+
+    /**
+     * Events of this type are sent when the key remap changes.
+     */
+    public static final int KEYREMAP_CHANGED = 18;
+
+    /**
+     * The upper bound of TextPanelEvent ID's.
+     */
+    public static final int TEXT_PANEL_LAST = 18;
+
+    private int fId;
+
+    /**
+     * Create a new TextPanelEvent.
+     * @param source the MTextPanel which generated the event
+     * @param id the ID for this event.  Must be within
+     * [TEXT_PANEL_FIRST, TEXT_PANEL_LAST].
+     */
+    TextPanelEvent(MTextPanel source, int id) {
+
+        super(source);
+        if (id < TEXT_PANEL_FIRST || id > TEXT_PANEL_LAST) {
+            throw new IllegalArgumentException("id out of range");
+        }
+        fId = id;
+    }
+
+    /**
+     * Return the event ID for this event.  Event ID's are
+     * one of the class constants.
+     * @return the event ID for this event
+     */
+    public int getID() {
+
+        return fId;
+    }
+    
+    public String toString() {
+        
+        String desc = null;
+        
+        switch(fId) {
+            case SELECTION_RANGE_CHANGED:
+                desc = "SELECTION_RANGE_CHANGED";
+                break;
+            case SELECTION_EMPTY_CHANGED:
+                desc = "SELECTION_EMPTY_CHANGED";
+                break;
+            case TEXT_CHANGED:
+                desc = "TEXT_CHANGED";
+                break;
+            case SELECTION_STYLES_CHANGED:
+                desc = "SELECTION_STYLES_CHANGED";
+                break;
+            case UNDO_STATE_CHANGED:
+                desc = "UNDO_STATE_CHANGED";
+                break;
+            case CLIPBOARD_CHANGED:
+                desc = "CLIPBOARD_CHANGED";
+                break;
+            case FORMAT_WIDTH_CHANGED:
+                desc = "FORMAT_WIDTH_CHANGED";
+                break;
+            case KEYREMAP_CHANGED:
+                desc = "KEYREMAP_CHANGED";
+                break;
+        }
+        return "[TextPanelEvent:"+desc+"]";
+    }
+}
diff --git a/src/com/ibm/richtext/textpanel/TextPanelListener.java b/src/com/ibm/richtext/textpanel/TextPanelListener.java
new file mode 100755
index 0000000..d4c9d41
--- /dev/null
+++ b/src/com/ibm/richtext/textpanel/TextPanelListener.java
@@ -0,0 +1,40 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+package com.ibm.richtext.textpanel;
+
+/**
+ * This interface is implemented by classes which
+ * receive change notifications from an MTextPanel.
+ * @see MTextPanel
+ * @see TextPanelEvent
+ */
+public interface TextPanelListener {
+
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+    /**
+     * Notify listener of an MTextPanel change.
+     * @param event a TextPanelEvent indicating what happened
+     */
+    public void textEventOccurred(TextPanelEvent event);
+    
+    /**
+     * Return true if listener needs to be notified of 
+     * the given event type.  This allows a text panel to avoid
+     * sending events to uninterested parties.
+     * @param type an event ID from TextPanelEvent
+     * @return true if this listener needs to be notified of
+     * events of the given type
+     */
+    public boolean respondsToEventType(int type);
+}
diff --git a/src/com/ibm/richtext/textpanel/TextPanelSettings.java b/src/com/ibm/richtext/textpanel/TextPanelSettings.java
new file mode 100755
index 0000000..2755231
--- /dev/null
+++ b/src/com/ibm/richtext/textpanel/TextPanelSettings.java
@@ -0,0 +1,281 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+package com.ibm.richtext.textpanel;
+
+import java.awt.Color;
+import java.io.Serializable;
+import java.util.Hashtable;
+
+import com.ibm.richtext.textlayout.attributes.AttributeMap;
+import com.ibm.richtext.textlayout.attributes.TextAttribute;
+import com.ibm.richtext.styledtext.StandardTabRuler;
+
+/**
+ * This class contains settings used when constructing an MTextPanel.
+ * The settings controled by this class include:
+ * <ul>
+ * <li>whether the text in the MTextPanel can be scrolled</li>
+ * <li>whether scroll bars in the MTextPanel are visible</li>
+ * <li>whether the text in the MTextPanel can be selected</li>
+ * <li>whether the text in the MTextPanel can be edited</li>
+ * <li>whether lines of text wrap to the MTextPanel's width, or
+ * only end at paragraph separators</li>
+ * <li>the default values for unspecified styles</li>
+ * </ul>
+ * Some settings are dependent on others.  Scroll bars are visible
+ * only if the text is scrollable.  Also, text which is not editable
+ * if it is not selectable.
+ * <p>
+ *
+ * @see MTextPanel
+ */
+public final class TextPanelSettings implements Cloneable, Serializable {
+
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+    
+    private static final AttributeMap DEFAULTS;
+    static {
+        final Float floatZero = new Float(0.0f);
+
+        Hashtable defaults = new Hashtable();
+        defaults.put(TextAttribute.FAMILY, "Serif");
+        defaults.put(TextAttribute.WEIGHT, new Float(1.0f));
+        defaults.put(TextAttribute.POSTURE, floatZero);
+        defaults.put(TextAttribute.SIZE, new Float(18.0f));
+        defaults.put(TextAttribute.SUPERSCRIPT, new Integer(0));
+        defaults.put(TextAttribute.FOREGROUND, Color.black);
+        defaults.put(TextAttribute.UNDERLINE, new Integer(-1));
+        defaults.put(TextAttribute.STRIKETHROUGH, Boolean.FALSE);
+
+        defaults.put(TextAttribute.EXTRA_LINE_SPACING, floatZero);
+        defaults.put(TextAttribute.FIRST_LINE_INDENT, floatZero);
+        defaults.put(TextAttribute.MIN_LINE_SPACING, floatZero);
+        defaults.put(TextAttribute.LINE_FLUSH, TextAttribute.FLUSH_LEADING);
+        defaults.put(TextAttribute.LEADING_MARGIN, floatZero);
+        defaults.put(TextAttribute.TRAILING_MARGIN, floatZero);
+        defaults.put(TextAttribute.TAB_RULER, new StandardTabRuler());
+
+        DEFAULTS = new AttributeMap(defaults);
+    }
+    
+    private boolean fScrollable = true;
+    private boolean fScrollBarsVisible = true;
+    private boolean fSelectable = true;
+    private boolean fEditable = true;
+    private boolean fWraps = true;
+    private AttributeMap fDefaultValues = DEFAULTS;
+    
+    /**
+     * Create a TextPanelSettings instance with all settings
+     * set to true.
+     */
+    public TextPanelSettings() {
+    }
+
+    /**
+     * Return a new TextPanelSettings instance with the
+     * same settings as this.
+     * @return a new TextPanelSettings instance
+     */
+    public Object clone() {
+
+        TextPanelSettings rhs = new TextPanelSettings();
+
+        rhs.fScrollable = fScrollable;
+        rhs.fScrollBarsVisible = fScrollBarsVisible;
+        rhs.fSelectable = fSelectable;
+        rhs.fEditable = fEditable;
+        rhs.fWraps = fWraps;
+        rhs.fDefaultValues = fDefaultValues;
+        
+        return rhs;
+    }
+
+    /**
+     * Return the scrollable setting, which determines whether text
+     * in an MTextPanel can be scrolled.
+     * @return the scrollable setting
+     */
+    public boolean getScrollable() {
+
+        return fScrollable;
+    }
+
+    /**
+     * Set the scrollable setting.
+     * @param scrollable the scrollable setting.  If false,
+     * the scrollBarsVisible setting is also set to false.
+     */
+    public void setScrollable(boolean scrollable) {
+
+        fScrollable = scrollable;
+        fScrollBarsVisible &= scrollable;
+    }
+
+    /**
+     * Return the scrollBarsVisible setting, which determines whether
+     * scroll bars in an MTextPanel are visible.
+     * @return the scrollBarsVisible setting
+     */
+    public boolean getScrollBarsVisible() {
+
+        return fScrollBarsVisible;
+    }
+
+    /**
+     * Set the scrollBarsVisible setting.
+     * @param vis the scrollBarsVisible setting.  If true,
+     * the scrollable setting is also set to true.
+     */
+    public void setScrollBarsVisible(boolean vis) {
+
+        fScrollBarsVisible = vis;
+        fScrollable |= vis;
+    }
+
+    /**
+     * Return the selectable setting, which determines whether
+     * text in an MTextPanel can be selected.
+     * @return the selectable setting
+     */
+    public boolean getSelectable() {
+
+        return fSelectable;
+    }
+
+    /**
+     * Set the selectable setting.
+     * @param selectable the selectable setting.  If false,
+     * the editable setting is also set to false.
+     */
+    public void setSelectable(boolean selectable) {
+
+        fSelectable = selectable;
+        fEditable &= selectable;
+    }
+
+    /**
+     * Return the editable setting, which determines whether
+     * text in an MTextPanel can be edited.
+     * @return the editable setting
+     */
+    public boolean getEditable() {
+
+        return fEditable;
+    }
+
+    /**
+     * Set the editable setting.
+     * @param editable the editable setting.  If true,
+     * the selectable setting is also set to true.
+     */
+    public void setEditable(boolean editable) {
+
+        fEditable = editable;
+        fSelectable |= editable;
+    }
+
+    /**
+     * Return the wraps setting, which determines whether
+     * lines of text wrap to the length of the MTextPanel,
+     * or only at paragraph separators.
+     * @return the wraps setting
+     */
+    public boolean getWraps() {
+
+        return fWraps;
+    }
+
+    /**
+     * Set the wraps setting.
+     * @param wraps the wraps setting
+     */
+    public void setWraps(boolean wraps) {
+
+        fWraps = wraps;
+    }
+    
+    /**
+     * Return the AttributeMap of default values for certain keys.
+     * When a key in this AttributeMap is not specified, its value
+     * is taken from this AttributeMap.
+     * @return the AttributeMap of default values
+     * @see MTextPanel#getDefaultValues
+     */
+    public AttributeMap getDefaultValues() {
+    
+        return fDefaultValues;
+    }
+    
+    /**
+     * Add the key-value pairs in the given AttributeMap to the
+     * default values.  If a key does not appear in the given
+     * AttributeMap, its value in the default value map is
+     * unchanged.
+     * @param map an AttributeMap containing new default values
+     */
+    public void addDefaultValues(AttributeMap map) {
+    
+        fDefaultValues = fDefaultValues.addAttributes(map);
+    }
+    
+    /**
+     * Compare this to another Object.  This is equal
+     * to another Object if the other Object is a
+     * TextPanelSettings instance with the same
+     * settings as this one.
+     * @param rhs the Object to compare to
+     */
+    public boolean equals(Object rhs) {
+
+        if (rhs == this) {
+            return true;
+        }
+
+        if (rhs == null) {
+            return false;
+        }
+
+        TextPanelSettings other;
+        try {
+            other = (TextPanelSettings) rhs;
+        }
+        catch(ClassCastException e) {
+            return false;
+        }
+        
+        return other.fScrollable == this.fScrollable &&
+               other.fScrollBarsVisible == this.fScrollBarsVisible &&
+               other.fSelectable == this.fSelectable &&
+               other.fEditable == this.fEditable &&
+               other.fWraps == this.fWraps &&
+               other.fDefaultValues.equals(this.fDefaultValues);
+    }
+
+    /**
+     * Return the hash code for this Object.
+     * @return the hash code for this Object
+     */
+    public int hashCode() {
+
+        int code = fDefaultValues.hashCode();
+        code = code*2 + (fScrollable? 1:0);
+        code = code*2 + (fScrollBarsVisible? 1:0);
+        code = code*2 + (fSelectable? 1:0);
+        code = code*2 + (fEditable? 1:0);
+        code = code*2 + (fWraps? 1:0);
+
+        return code;
+    }
+}
diff --git a/src/com/ibm/richtext/textpanel/TextRange.java b/src/com/ibm/richtext/textpanel/TextRange.java
new file mode 100755
index 0000000..c722e73
--- /dev/null
+++ b/src/com/ibm/richtext/textpanel/TextRange.java
@@ -0,0 +1,45 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+package com.ibm.richtext.textpanel;
+
+/**
+* A <TT>TextRange</TT> represents a range of text bounded by a
+* start (inclusive), and a limit (exclusive).  [start,limit)
+*/
+final class TextRange
+{
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+    /** the start of the range */
+    public int start = 0;
+    /** the end of the range */
+    public int limit = 0;
+
+    /**
+    * Create a text range from two ints.
+    * @param start the start of the run
+    * @param limit the end of the run
+    */
+    public TextRange(int start, int limit)
+    {
+        this.start = start;
+        this.limit = limit;
+    }
+
+    /**
+    * Create a text range of 0, 0.
+    */
+    public TextRange() {
+        this.start = this.limit = 0;
+    }
+}
diff --git a/src/com/ibm/richtext/textpanel/TextReplacement.java b/src/com/ibm/richtext/textpanel/TextReplacement.java
new file mode 100755
index 0000000..7b5b794
--- /dev/null
+++ b/src/com/ibm/richtext/textpanel/TextReplacement.java
@@ -0,0 +1,68 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+package com.ibm.richtext.textpanel;
+
+import com.ibm.richtext.styledtext.MConstText;
+import com.ibm.richtext.textformat.TextOffset;
+
+/**
+ * This class is used to pass a REPLACE command to Behaviors.
+ */
+final class TextReplacement {
+
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+    private int fStart;
+    private int fLimit;
+    private MConstText fText;
+    private TextOffset fSelStart;
+    private TextOffset fSelLimit;
+
+    TextReplacement(int start,
+                    int limit,
+                    MConstText text,
+                    TextOffset selStart,
+                    TextOffset selLimit) {
+
+        fStart = start;
+        fLimit = limit;
+        fText = text;
+        fSelStart = selStart;
+        fSelLimit = selLimit;
+    }
+
+    int getStart() {
+
+        return fStart;
+    }
+
+    int getLimit() {
+
+        return fLimit;
+    }
+
+    MConstText getText() {
+
+        return fText;
+    }
+
+    TextOffset getSelectionStart() {
+
+        return fSelStart;
+    }
+
+    TextOffset getSelectionLimit() {
+
+        return fSelLimit;
+    }
+}
diff --git a/src/com/ibm/richtext/textpanel/TextSelection.java b/src/com/ibm/richtext/textpanel/TextSelection.java
new file mode 100755
index 0000000..40dee17
--- /dev/null
+++ b/src/com/ibm/richtext/textpanel/TextSelection.java
@@ -0,0 +1,922 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2005.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+/*
+    7/1/97 - caret blinks
+
+    7/3/97 - fAnchor is no longer restricted to the start or end of the selection. {jbr}
+            Also, removed fVisible - it was identical to enabled().
+*/
+
+package com.ibm.richtext.textpanel;
+
+import java.awt.Graphics;
+import java.awt.Color;
+import java.awt.Rectangle;
+
+import java.text.BreakIterator;
+
+import java.awt.event.MouseEvent;
+import java.awt.event.KeyEvent;
+import java.awt.event.FocusEvent;
+
+import com.ibm.richtext.styledtext.MConstText;
+import com.ibm.richtext.textformat.TextOffset;
+
+import com.ibm.richtext.textformat.MFormatter;
+
+class TextSelection extends Behavior implements Runnable {
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+    static final Color          HIGHLIGHTCOLOR = Color.pink;
+
+    private TextComponent       fTextComponent;
+    private MConstText          fText;
+    private TextOffset          fStart;
+    private TextOffset          fLimit;
+    private TextOffset          fAnchor;
+    private TextOffset          fUpDownAnchor = null;
+    private BreakIterator       fBoundaries = null;
+    private Color               fHighlightColor = HIGHLIGHTCOLOR;
+    private PanelEventBroadcaster   fListener;
+    private RunStrategy         fRunStrategy;
+    private boolean             fMouseDown = false;
+    private boolean             fHandlingKeyOrCommand = false;
+    
+    private boolean fCaretShouldBlink;
+    private boolean fCaretIsVisible;
+    private int fCaretCount;
+
+    // formerly in base class
+    private boolean fEnabled;
+
+    private MouseEvent fPendingMouseEvent = null;
+
+    private static final int kCaretInterval = 500;
+
+    public void run() {
+
+        final Runnable blinkCaret = new Runnable() {
+            public void run() {
+                fCaretIsVisible = !fCaretIsVisible;
+                Graphics g = fTextComponent.getGraphics();
+                if (g != null) {
+                    //System.out.println("caretIsVisible: " + fCaretIsVisible);
+                    drawSelection(g, fCaretIsVisible);
+                }
+                else {
+                    // Not sure what else to do:
+                    fCaretShouldBlink = false;
+                }
+            }
+        };
+        
+        // blink caret
+        while (true) {
+
+            synchronized(this) {
+
+                while (!fCaretShouldBlink) {
+                    try {
+                        wait();
+                    }
+                    catch(InterruptedException e) {
+                        System.out.println("Caught InterruptedException in caret thread.");
+                    }
+                }
+
+                ++fCaretCount;
+
+                if (fCaretCount % 2 == 0) {
+                    fRunStrategy.doIt(blinkCaret);
+                }
+            }
+
+            try {
+                Thread.sleep(kCaretInterval);
+            }
+            catch(InterruptedException e) {
+            }
+        }
+    }
+
+
+
+    public TextSelection(TextComponent textComponent,
+                         PanelEventBroadcaster listener,
+                         RunStrategy runStrategy) {
+                            
+        fTextComponent = textComponent;
+        fText = textComponent.getText();
+        fListener = listener;
+        fRunStrategy = runStrategy;
+        
+        fStart = new TextOffset();
+        fLimit = new TextOffset();
+        fAnchor = new TextOffset();
+        fMouseDown = false;
+
+        fCaretCount = 0;
+        fCaretIsVisible = true;
+        fCaretShouldBlink = false;
+        setEnabled(false);
+
+        Thread caretThread = new Thread(this);
+        caretThread.setDaemon(true);
+        caretThread.start();
+    }
+
+    boolean enabled() {
+
+        return fEnabled;
+    }
+
+    private void setEnabled(boolean enabled) {
+
+        fEnabled = enabled;
+    }
+
+    public boolean textControlEventOccurred(Behavior.EventType event, Object what) {
+
+        boolean result;
+        fHandlingKeyOrCommand = true;
+        
+        if (event == Behavior.SELECT) {
+            select((TextRange) what);
+            result = true;
+        }
+        else if (event == Behavior.COPY) {
+            fTextComponent.getClipboard().setContents(fText.extract(fStart.fOffset, fLimit.fOffset));
+            fListener.textStateChanged(TextPanelEvent.CLIPBOARD_CHANGED);
+            result = true;
+        }
+        else {
+            result = false;
+        }
+        
+        fHandlingKeyOrCommand = false;
+        return result;
+    }
+
+    protected void advanceToNextBoundary(TextOffset offset) {
+    
+        // If there's no boundaries object, or if position at the end of the
+        // document, return the offset unchanged
+        if (fBoundaries == null) {
+            return;
+        }
+        
+        int position = offset.fOffset;
+        
+        if (position >= fText.length()) {
+            return;
+        }
+
+        // If position is at a boundary and offset is before position,
+        // leave it unchanged.  Otherwise move to next boundary.
+        int nextPos = fBoundaries.following(position);
+        if (fBoundaries.previous() == position && 
+                offset.fPlacement==TextOffset.BEFORE_OFFSET) {
+            return;
+        }
+        
+        offset.setOffset(nextPos, TextOffset.AFTER_OFFSET);
+    }
+
+    protected void advanceToPreviousBoundary(TextOffset offset) {
+    
+        advanceToPreviousBoundary(offset, false);
+    }
+    
+    private void advanceToPreviousBoundary(TextOffset offset, boolean alwaysMove) {
+        // if there's no boundaries object, or if we're sitting at the beginning
+        // of the document, return the offset unchanged
+        if (fBoundaries == null) {
+            return;
+        }
+        
+        int position = offset.fOffset;
+
+        if (position == 0) {
+            return;
+        }
+        
+        // If position is at a boundary, leave it unchanged.  Otherwise
+        // move to previous boundary.
+        if (position == fText.length()) {
+            fBoundaries.last();
+        }
+        else {
+            fBoundaries.following(position);
+        }
+        
+        int prevPos = fBoundaries.previous();
+        
+        if (prevPos == position) {
+            if (!alwaysMove && offset.fPlacement==TextOffset.AFTER_OFFSET) {
+                return;
+            }
+
+            prevPos = fBoundaries.previous();
+        }
+                
+        // and finally update the real offset with this new position we've found
+        offset.setOffset(prevPos, TextOffset.AFTER_OFFSET);
+    }
+
+    private void doArrowKey(KeyEvent e, int key) {
+
+        // when there's a selection range, the left and up arrow keys place an
+        // insertion point at the beginning of the range, and the right and down
+        // keys place an insertion point at the end of the range (unless the shift
+        // key is down, of course)
+
+        if (!fStart.equals(fLimit) && !e.isShiftDown()) {
+            if (key == KeyEvent.VK_LEFT || key == KeyEvent.VK_UP)
+                setSelRangeAndDraw(fStart, fStart, fStart);
+            else
+                setSelRangeAndDraw(fLimit, fLimit, fLimit);
+        }
+        else {
+            if (!fAnchor.equals(fStart))
+                fAnchor.assign(fLimit);
+
+            TextOffset  liveEnd = (fStart.equals(fAnchor)) ? fLimit : fStart;
+            TextOffset  newPos = new TextOffset();
+
+            // if the control key is down, the left and right arrow keys move by whole
+            // word in the appropriate direction (we use a line break object so that we're
+            // not treating spaces and punctuation as words)
+            if (e.isControlDown() && (key == KeyEvent.VK_LEFT || key == KeyEvent.VK_RIGHT)) {
+                fUpDownAnchor = null;
+                fBoundaries = BreakIterator.getLineInstance();
+                fBoundaries.setText(fText.createCharacterIterator());
+
+                newPos.assign(liveEnd);
+                if (key == KeyEvent.VK_RIGHT)
+                    advanceToNextBoundary(newPos);
+                else
+                    advanceToPreviousBoundary(newPos, true);
+            }
+
+            // if we get down to here, this is a plain-vanilla insertion-point move,
+            // or the shift key is down and we're extending or shortening the selection
+            else {
+
+                // fUpDownAnchor is used to keep track of the horizontal position
+                // across a run of up or down arrow keys (this prevents accumulated
+                // error from destroying our horizontal position)
+                if (key == KeyEvent.VK_LEFT || key == KeyEvent.VK_RIGHT)
+                    fUpDownAnchor = null;
+                else {
+                    if (fUpDownAnchor == null) {
+                        fUpDownAnchor = new TextOffset(liveEnd);
+                    }
+                }
+
+                short   direction = MFormatter.eRight;  // just to have a default...
+
+                switch (key) {
+                    case KeyEvent.VK_UP: direction = MFormatter.eUp; break;
+                    case KeyEvent.VK_DOWN: direction = MFormatter.eDown; break;
+                    case KeyEvent.VK_LEFT: direction = MFormatter.eLeft; break;
+                    case KeyEvent.VK_RIGHT: direction = MFormatter.eRight; break;
+                }
+
+                // use the formatter to determine the actual effect of the arrow key
+                fTextComponent.findNewInsertionOffset(newPos, fUpDownAnchor, liveEnd, direction);
+            }
+
+            // if the shift key is down, the selection range is from the anchor point
+            // the site of the last insertion point or the beginning point of the last
+            // selection drag operation) to the newly-calculated position; if the
+            // shift key is down, the newly-calculated position is the insertion point position
+            if (!e.isShiftDown())
+                setSelRangeAndDraw(newPos, newPos, newPos);
+            else {
+                if (newPos.lessThan(fAnchor))
+                    setSelRangeAndDraw(newPos, fAnchor, fAnchor);
+                else
+                    setSelRangeAndDraw(fAnchor, newPos, fAnchor);
+            }
+        }
+
+        scrollToShowSelectionEnd();
+        fBoundaries = null;
+    }
+
+    private void doEndKey(KeyEvent e) {
+        // ctrl-end moves the insertsion point to the end of the document,
+        // ctrl-shift-end extends the selection so that it ends at the end
+        // of the document
+
+        TextOffset activeEnd, anchor;
+
+        if (fAnchor.equals(fStart)) {
+            activeEnd = new TextOffset(fStart);
+            anchor = new TextOffset(fLimit);
+        }
+        else {
+            activeEnd = new TextOffset(fLimit);
+            anchor = new TextOffset(fStart);
+        }
+
+        if (e.isControlDown()) {
+            TextOffset end = new TextOffset(fText.length(), TextOffset.BEFORE_OFFSET);
+
+            if (e.isShiftDown())
+                setSelRangeAndDraw(anchor, end, anchor);
+            else
+                setSelRangeAndDraw(end, end, end);
+        }
+
+        // end moves the insertion point to the end of the line containing
+        // the end of the current selection
+        // shift-end extends the selection to the end of the line containing
+        // the end of the current selection
+
+        else {
+
+            int oldOffset = activeEnd.fOffset;
+
+            activeEnd.fOffset = fTextComponent.lineRangeLimit(fTextComponent.lineContaining(activeEnd));
+            activeEnd.fPlacement = TextOffset.BEFORE_OFFSET;
+
+            if (fText.paragraphLimit(oldOffset) == activeEnd.fOffset &&
+                    activeEnd.fOffset != fText.length() && activeEnd.fOffset > oldOffset) {
+                activeEnd.fOffset--;
+                activeEnd.fPlacement = TextOffset.AFTER_OFFSET;
+            }
+
+            if (!e.isShiftDown())
+                setSelRangeAndDraw(activeEnd, activeEnd, activeEnd);
+            else {
+                if (activeEnd.lessThan(anchor))
+                    setSelRangeAndDraw(activeEnd, anchor, anchor);
+                else
+                    setSelRangeAndDraw(anchor, activeEnd, anchor);
+            }
+        }
+
+        scrollToShowSelectionEnd();
+        fBoundaries = null;
+        fUpDownAnchor = null;
+    }
+
+    private void doHomeKey(KeyEvent e) {
+        // ctrl-home moves the insertion point to the beginning of the document,
+        // ctrl-shift-home extends the selection so that it begins at the beginning
+        // of the document
+
+        TextOffset activeEnd, anchor;
+
+        if (fAnchor.equals(fStart)) {
+            activeEnd = new TextOffset(fStart);
+            anchor = new TextOffset(fLimit);
+        }
+        else {
+            activeEnd = new TextOffset(fLimit);
+            anchor = new TextOffset(fStart);
+        }
+
+        if (e.isControlDown()) {
+
+            TextOffset start = new TextOffset(0, TextOffset.AFTER_OFFSET);
+            if (e.isShiftDown())
+                setSelRangeAndDraw(start, anchor, anchor);
+            else
+                setSelRangeAndDraw(start, start, start);
+        }
+
+        // home moves the insertion point to the beginning of the line containing
+        // the beginning of the current selection
+        // shift-home extends the selection to the beginning of the line containing
+        // the beginning of the current selection
+
+        else {
+
+            activeEnd.fOffset = fTextComponent.lineRangeLow(fTextComponent.lineContaining(activeEnd));
+            activeEnd.fPlacement = TextOffset.AFTER_OFFSET;
+
+            if (!e.isShiftDown())
+                setSelRangeAndDraw(activeEnd, activeEnd, activeEnd);
+            else {
+                if (activeEnd.lessThan(anchor))
+                    setSelRangeAndDraw(activeEnd, anchor, anchor);
+                else
+                    setSelRangeAndDraw(anchor, activeEnd, anchor);
+            }
+        }
+
+        scrollToShowSelectionEnd();
+        fBoundaries = null;
+        fUpDownAnchor = null;
+    }
+
+    /** draws or erases the current selection
+    * Draws or erases the highlight region or insertion caret for the current selection
+    * range.
+    * @param g The graphics environment to draw into
+    * @param visible If true, draw the selection; if false, erase it
+    */
+    protected void drawSelection(Graphics g, boolean visible) {
+        drawSelectionRange(g, fStart, fLimit, visible);
+    }
+
+    /** draws or erases a selection highlight at the specfied positions
+    * Draws or erases a selection highlight or insertion caret corresponding to
+    * the specified selecion range
+    * @param g The graphics environment to draw into.  If null, this method does nothing.
+    * @param start The beginning of the range to highlight
+    * @param limit The end of the range to highlight
+    * @param visible If true, draw; if false, erase
+    */
+    protected void drawSelectionRange(  Graphics    g,
+                                        TextOffset  start,
+                                        TextOffset  limit,
+                                        boolean     visible) {
+        if (g == null) {
+            return;
+        }
+        Rectangle   selBounds = fTextComponent.getBoundingRect(start, limit);
+
+        selBounds.width = Math.max(1, selBounds.width);
+        selBounds.height = Math.max(1, selBounds.height);
+
+        fTextComponent.drawText(g, selBounds, visible, start, limit, fHighlightColor);
+    }
+
+    protected TextOffset getAnchor() {
+        return fAnchor;
+    }
+
+    public TextOffset getEnd() {
+        return fLimit;
+    }
+
+    public Color getHighlightColor() {
+        return fHighlightColor;
+    }
+
+    public TextOffset getStart() {
+        return fStart;
+    }
+
+    public TextRange getSelectionRange() {
+
+        return new TextRange(fStart.fOffset, fLimit.fOffset);
+    }
+
+    public boolean focusGained(FocusEvent e) {
+
+        setEnabled(true);
+        drawSelection(fTextComponent.getGraphics(), true);
+
+        restartCaretBlinking(true);
+        if (fPendingMouseEvent != null) {
+            mousePressed(fPendingMouseEvent);
+            fPendingMouseEvent = null;
+        }
+        fListener.textStateChanged(TextPanelEvent.CLIPBOARD_CHANGED);
+ 
+        return true;
+    }
+
+    public boolean focusLost(FocusEvent e) {
+        stopCaretBlinking();
+        setEnabled(false);
+        drawSelection(fTextComponent.getGraphics(), false);
+        return true;
+    }
+
+    /**
+     * Return true if the given key event can affect the selection
+     * range.
+     */
+    public static boolean keyAffectsSelection(KeyEvent e) {
+
+        if (e.getID() != KeyEvent.KEY_PRESSED) {
+            return false;
+        }
+
+        int key = e.getKeyCode();
+
+        switch (key) {
+            case KeyEvent.VK_HOME:
+            case KeyEvent.VK_END:
+            case KeyEvent.VK_LEFT:
+            case KeyEvent.VK_RIGHT:
+            case KeyEvent.VK_UP:
+            case KeyEvent.VK_DOWN:
+                return true;
+
+            default:
+                return false;
+        }
+    }
+
+    public boolean keyPressed(KeyEvent e) {
+
+        fHandlingKeyOrCommand = true;
+        int key = e.getKeyCode();
+        boolean result = true;
+        
+        switch (key) {
+            case KeyEvent.VK_HOME:
+                doHomeKey(e);
+                break;
+                
+            case KeyEvent.VK_END:
+                doEndKey(e);
+                break;
+
+            case KeyEvent.VK_LEFT:
+            case KeyEvent.VK_RIGHT:
+            case KeyEvent.VK_UP:
+            case KeyEvent.VK_DOWN:
+                doArrowKey(e, key);
+                break;
+                
+            default:
+                fUpDownAnchor = null;
+                result = false;
+                break;
+        }
+        
+        fHandlingKeyOrCommand = false;
+        return result;
+    }
+
+    public boolean mousePressed(MouseEvent e) {
+
+        if (!enabled()) {
+            fPendingMouseEvent = e;
+            fTextComponent.requestFocus();
+            return false;
+        }
+
+        if (fMouseDown)
+            throw new Error("fMouseDown is out of sync with mouse in TextSelection.");
+
+        fMouseDown = true;
+        stopCaretBlinking();
+
+        int x = e.getX(), y = e.getY();
+        boolean wasZeroLength = rangeIsZeroLength(fStart, fLimit, fAnchor);
+        
+        TextOffset current = fTextComponent.pointToTextOffset(null, x, y, null, true);
+        TextOffset anchorStart = new TextOffset();
+        TextOffset anchorEnd = new TextOffset();
+
+        fUpDownAnchor = null;
+
+        // if we're not extending the selection...
+        if (!e.isShiftDown()) {
+
+            // if there are multiple clicks, create the appopriate type of BreakIterator
+            // object for finding text boundaries (single clicks don't use a BreakIterator
+            // object)
+            if (e.getClickCount() == 2)
+                fBoundaries = BreakIterator.getWordInstance();
+            else if (e.getClickCount() == 3)
+                fBoundaries = BreakIterator.getSentenceInstance();
+            else
+                fBoundaries = null;
+
+            // if we're using a BreakIterator object, use it to find the nearest boundaries
+            // on either side of the mouse-click position and make them our anchor range
+            if (fBoundaries != null)
+                fBoundaries.setText(fText.createCharacterIterator());
+
+            anchorStart.assign(current);
+            advanceToPreviousBoundary(anchorStart);
+            anchorEnd.assign(current);
+            advanceToNextBoundary(anchorEnd);
+        }
+
+        // if we _are_ extending the selection, determine our anchor range as follows:
+        // fAnchor is the start of the anchor range;
+        // the next boundary (after fAnchor) is the limit of the anchor range.
+
+        else {
+
+            if (fBoundaries != null)
+                fBoundaries.setText(fText.createCharacterIterator());
+
+            anchorStart.assign(fAnchor);
+            anchorEnd.assign(anchorStart);
+
+            advanceToNextBoundary(anchorEnd);
+        }
+
+        SelectionDragInteractor interactor = new SelectionDragInteractor(this, 
+                                                                         fTextComponent,
+                                                                         fRunStrategy,
+                                                                         anchorStart,
+                                                                         anchorEnd,
+                                                                         current,
+                                                                         x,
+                                                                         y,
+                                                                         wasZeroLength);
+
+        interactor.addToOwner(fTextComponent);
+
+        return true;
+    }
+
+    public boolean mouseReleased(MouseEvent e) {
+
+        fPendingMouseEvent = null;
+        return false;
+    }
+
+    // drag interactor calls this
+    void mouseReleased(boolean zeroLengthChange) {
+
+        fMouseDown = false;
+
+        if (zeroLengthChange) {
+            fListener.textStateChanged(TextPanelEvent.SELECTION_EMPTY_CHANGED);
+        }
+        fListener.textStateChanged(TextPanelEvent.SELECTION_RANGE_CHANGED);
+        fListener.textStateChanged(TextPanelEvent.SELECTION_STYLES_CHANGED);
+
+        // if caret drawing during mouse drags is supressed, draw caret now.
+
+        restartCaretBlinking(true);
+    }
+
+
+    /** draws the selection
+    * Provided, of course, that the selection is visible, the adorner is enabled,
+    * and we're calling it to adorn the view it actually belongs to
+    * @param g The graphics environment to draw into
+    * @return true if we actually drew
+    */
+    public boolean paint(Graphics g, Rectangle drawRect) {
+        // don't draw anything unless we're enabled and the selection is visible
+        if (!enabled())
+            return false;
+
+        fTextComponent.drawText(g, drawRect, true, fStart, fLimit, fHighlightColor);
+        return true;
+    }
+
+    /** scrolls the view to reveal the live end of the selection
+    * (i.e., the end that moves if you use the arrow keys with the shift key down)
+    */
+    public void scrollToShowSelection() {
+        Rectangle   selRect = fTextComponent.getBoundingRect(fStart, fLimit);
+
+        fTextComponent.scrollToShow(selRect);
+    }
+
+    /** scrolls the view to reveal the live end of the selection
+    * (i.e., the end that moves if you use the arrow keys with the shift key down)
+    */
+    public void scrollToShowSelectionEnd() {
+        TextOffset  liveEnd;
+        // variable not used Point[]     points;
+        Rectangle   caret;
+
+        if (fAnchor.equals(fStart))
+            liveEnd = fLimit;
+        else
+            liveEnd = fStart;
+
+        //points = fTextComponent.textOffsetToPoint(liveEnd);
+        //caret = new Rectangle(points[0]);
+        //caret = caret.union(new Rectangle(points[1]));
+        caret = fTextComponent.getCaretRect(liveEnd);
+        fTextComponent.scrollToShow(caret);
+    }
+
+    private void select(TextRange range) {
+        // variable not used int textLength = fTextComponent.getText().length();
+
+        TextOffset start = new TextOffset(range.start);
+
+        stopCaretBlinking();
+        setSelRangeAndDraw(start, new TextOffset(range.limit), start);
+        restartCaretBlinking(true);
+    }
+
+    public void setHighlightColor(Color newColor) {
+        fHighlightColor = newColor;
+        if (enabled())
+            drawSelection(fTextComponent.getGraphics(), true);
+    }
+    
+    static boolean rangeIsZeroLength(TextOffset start, TextOffset limit, TextOffset anchor) {
+        
+        return start.fOffset == limit.fOffset && anchor.fOffset == limit.fOffset;
+    }
+
+    // sigh... look out for aliasing
+    public void setSelectionRange(TextOffset newStart, TextOffset newLimit, TextOffset newAnchor) {
+
+        boolean zeroLengthChange = rangeIsZeroLength(newStart, newLimit, newAnchor) != 
+                                    rangeIsZeroLength(fStart, fLimit, fAnchor);
+        TextOffset tempNewAnchor;
+        if (newAnchor == fStart || newAnchor == fLimit) {
+            tempNewAnchor = new TextOffset(newAnchor); // clone in case of aliasing
+        }
+        else {
+            tempNewAnchor = newAnchor;
+        }
+
+        // DEBUG {jbr}
+
+        if (newStart.greaterThan(newLimit))
+            throw new IllegalArgumentException("Selection limit is before selection start.");
+
+        if (newLimit != fStart) {
+            fStart.assign(newStart);
+            fLimit.assign(newLimit);
+        }
+        else {
+            fLimit.assign(newLimit);
+            fStart.assign(newStart);
+        }
+
+        fAnchor.assign(tempNewAnchor);
+
+        if (fStart.fOffset == fLimit.fOffset) {
+            fStart.fPlacement = fAnchor.fPlacement;
+            fLimit.fPlacement = fAnchor.fPlacement;
+        }
+        
+        if (!fMouseDown) {
+            if (zeroLengthChange) {
+                fListener.textStateChanged(TextPanelEvent.SELECTION_EMPTY_CHANGED);
+            }
+            fListener.textStateChanged(TextPanelEvent.SELECTION_RANGE_CHANGED);
+            if (fHandlingKeyOrCommand) {
+                fListener.textStateChanged(TextPanelEvent.SELECTION_STYLES_CHANGED);
+            }
+        }
+    }
+
+    private void sortOffsets(TextOffset offsets[]) {
+
+        int i, j;
+
+        for (i=0; i < offsets.length-1; i++) {
+            for (j=i+1; j < offsets.length; j++) {
+                if (offsets[j].lessThan(offsets[i])) {
+                    TextOffset temp = offsets[j];
+                    offsets[j] = offsets[i];
+                    offsets[i] = temp;
+                }
+            }
+        }
+
+        // DEBUG {jbr}
+        for (i=0; i < offsets.length-1; i++)
+            if (offsets[i].greaterThan(offsets[i+1]))
+                throw new Error("sortOffsets failed!");
+    }
+
+    private Rectangle getSelectionChangeRect(
+                                    TextOffset rangeStart, TextOffset rangeLimit,
+                                    TextOffset oldStart, TextOffset oldLimit,
+                                    TextOffset newStart, TextOffset newLimit,
+                                    boolean drawIfInsPoint) {
+
+        if (!rangeStart.equals(rangeLimit))
+            return fTextComponent.getBoundingRect(rangeStart, rangeLimit);
+
+        // here, rangeStart and rangeLimit are equal
+
+        if (rangeStart.equals(oldLimit)) {
+
+            // range start is OLD insertion point.  Redraw if caret is currently visible.
+
+            if (fCaretIsVisible)
+                return fTextComponent.getBoundingRect(rangeStart, rangeStart);
+        }
+        else if (rangeStart.equals(newLimit)) {
+
+            // range start is NEW insertion point.
+
+            if (drawIfInsPoint)
+                return fTextComponent.getBoundingRect(rangeStart, rangeStart);
+        }
+
+        return null;
+    }
+
+    private static boolean rectanglesOverlapVertically(Rectangle r1, Rectangle r2) {
+        
+        if (r1 == null || r2 == null) {
+            return false;
+        }
+        
+        return r1.y <= r2.y + r2.height || r2.y <= r1.y + r1.height;
+    }
+    
+    // Update to show new selection, redrawing as little as possible
+
+    private void updateSelectionDisplay(
+                            TextOffset oldStart, TextOffset oldLimit,
+                            TextOffset newStart, TextOffset newLimit, boolean drawIfInsPoint) {
+
+        //System.out.println("newStart:" + newStart + "; newLimit:" + newLimit);
+
+        TextOffset off[] = new TextOffset[4];
+
+        off[0] = oldStart;
+        off[1] = oldLimit;
+        off[2] = newStart;
+        off[3] = newLimit;
+
+        sortOffsets(off);
+
+        Rectangle r1 = getSelectionChangeRect(off[0], off[1], oldStart, oldLimit, newStart, newLimit, drawIfInsPoint);
+        Rectangle r2 = getSelectionChangeRect(off[2], off[3], oldStart, oldLimit, newStart, newLimit, drawIfInsPoint);
+
+        boolean drawSelection = drawIfInsPoint || !newStart.equals(newLimit);
+
+        if (rectanglesOverlapVertically(r1, r2)) {
+
+            fTextComponent.drawText(fTextComponent.getGraphics(), r1.union(r2), drawSelection, newStart, newLimit, fHighlightColor);
+        }
+        else {
+            if (r1 != null)
+                fTextComponent.drawText(fTextComponent.getGraphics(), r1, drawSelection, newStart, newLimit, fHighlightColor);
+            if (r2 != null)
+                fTextComponent.drawText(fTextComponent.getGraphics(), r2, drawSelection, newStart, newLimit, fHighlightColor);
+        }
+    }
+
+    public void setSelRangeAndDraw(TextOffset newStart, TextOffset newLimit, TextOffset newAnchor) {
+
+        // if the old and new selection ranges are the same, don't do anything
+        if (fStart.equals(newStart) && fLimit.equals(newLimit) && fAnchor.equals(newAnchor))
+            return;
+
+        if (enabled())
+            stopCaretBlinking();
+
+        // update the selection on screen if we're enabled and visible
+
+        TextOffset oldStart = new TextOffset(fStart), oldLimit = new TextOffset(fLimit);
+
+        setSelectionRange(newStart, newLimit, newAnchor);
+
+        if (enabled()) {
+
+                // To supress drawing a caret during a mouse drag, pass !fMouseDown instead of true:
+                updateSelectionDisplay(oldStart, oldLimit, fStart, fLimit, true);
+        }
+
+        if (!fMouseDown && enabled())
+            restartCaretBlinking(true);
+    }
+
+    public void stopCaretBlinking() {
+
+        synchronized(this) {
+            fCaretShouldBlink = false;
+        }
+    }
+
+/**
+* Resume blinking the caret, if the selection is an insertion point.
+* @param caretIsVisible true if the caret is displayed when this is called.
+* This method relies on the client to display (or not display) the caret.
+*/
+    public void restartCaretBlinking(boolean caretIsVisible) {
+
+        synchronized(this) {
+            fCaretShouldBlink = fStart.equals(fLimit);
+            fCaretCount = 0;
+            fCaretIsVisible = caretIsVisible;
+
+            if (fCaretShouldBlink) {
+                try {
+                    notify();
+                }
+                catch (IllegalMonitorStateException e) {
+                    System.out.println("Caught IllegalMonitorStateException: "+e);
+                }
+            }
+        }
+    }
+
+    public void removeFromOwner() {
+
+        stopCaretBlinking();
+        super.removeFromOwner();
+    }
+
+}
diff --git a/src/com/ibm/richtext/textpanel/ThaiKeyRemap.java b/src/com/ibm/richtext/textpanel/ThaiKeyRemap.java
new file mode 100755
index 0000000..07a279f
--- /dev/null
+++ b/src/com/ibm/richtext/textpanel/ThaiKeyRemap.java
@@ -0,0 +1,112 @@
+/**
+ *******************************************************************************
+ * Copyright (C) 2001-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
+package com.ibm.richtext.textpanel;
+
+final class ThaiKeyRemap extends KeyRemap {
+
+    public char remap(char c) {
+
+        switch (c) {
+            case '`': return '\u005f';
+            case '~': return '\u0025';
+            case '1': return '\u0e45';
+            case '!': return '\u002b';
+            case '2': return '\u002f';
+            case '@': return '\u0e51';
+            case '3': return '\u002d';
+            case '#': return '\u0e52';
+            case '4': return '\u0e20';
+            case '$': return '\u0e53';
+            case '5': return '\u0e16';
+            case '%': return '\u0e54';
+            case '6': return '\u0e38';
+            case '^': return '\u0e39';
+            case '7': return '\u0e36';
+            case '&': return '\u0e3f';
+            case '8': return '\u0e04';
+            case '*': return '\u0e55';
+            case '9': return '\u0e15';
+            case '(': return '\u0e56';
+            case '0': return '\u0e08';
+            case ')': return '\u0e57';
+            case '-': return '\u0e02';
+            case '_': return '\u0e58';
+            case '=': return '\u0e08';
+            case '+': return '\u0e59';
+            case 'q': return '\u0e46';
+            case 'Q': return '\u0e50';
+            case 'w': return '\u0e44';
+            case 'W': return '\u0022';
+            case 'e': return '\u0e33';
+            case 'E': return '\u0e0e';
+            case 'r': return '\u0e1e';
+            case 'R': return '\u0e11';
+            case 't': return '\u0e30';
+            case 'T': return '\u0e18';
+            case 'y': return '\u0e31';
+            case 'Y': return '\u0e4d';
+            case 'u': return '\u0e35';
+            case 'U': return '\u0e4a';
+            case 'i': return '\u0e23';
+            case 'I': return '\u0e13';
+            case 'o': return '\u0e19';
+            case 'O': return '\u0e2f';
+            case 'p': return '\u0e22';
+            case 'P': return '\u0e0d';
+            case '[': return '\u0e1a';
+            case '{': return '\u0e10';
+            case ']': return '\u0e25';
+            case '}': return '\u002c';
+            case '\\': return '\u0e03';
+            case '|': return '\u0e05';
+            case 'a': return '\u0e1f';
+            case 'A': return '\u0e24';
+            case 's': return '\u0e2b';
+            case 'S': return '\u0e06';
+            case 'd': return '\u0e01';
+            case 'D': return '\u0e0f';
+            case 'f': return '\u0e14';
+            case 'F': return '\u0e42';
+            case 'g': return '\u0e40';
+            case 'G': return '\u0e0c';
+            case 'h': return '\u0e49';
+            case 'H': return '\u0e47';
+            case 'j': return '\u0e48';
+            case 'J': return '\u0e4b';
+            case 'k': return '\u0e32';
+            case 'K': return '\u0e29';
+            case 'l': return '\u0e2a';
+            case 'L': return '\u0e28';
+            case ';': return '\u0e27';
+            case ':': return '\u0e0b';
+            case '\'': return '\u0e07';
+            case '\"': return '\u002e';
+            case 'z': return '\u0e1c';
+            case 'Z': return '\u0028';
+            case 'x': return '\u0e1b';
+            case 'X': return '\u0029';
+            case 'c': return '\u0e41';
+            case 'C': return '\u0e09';
+            case 'v': return '\u0e2d';
+            case 'V': return '\u0e2e';
+            case 'b': return '\u0e34';
+            case 'B': return '\u0e3a';
+            case 'n': return '\u0e37';
+            case 'N': return '\u0e4c';
+            case 'm': return '\u0e17';
+            case 'M': return '\u003f';
+            case ',': return '\u0e21';
+            case '<': return '\u0e12';
+            case '.': return '\u0e43';
+            case '>': return '\u0e2c';
+            case '/': return '\u0e1d';
+            case '?': return '\u0e26';
+        }
+
+        return c;
+    }
+}
diff --git a/src/com/ibm/richtext/textpanel/TransferableText.java b/src/com/ibm/richtext/textpanel/TransferableText.java
new file mode 100755
index 0000000..b6beafc
--- /dev/null
+++ b/src/com/ibm/richtext/textpanel/TransferableText.java
@@ -0,0 +1,87 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+package com.ibm.richtext.textpanel;
+
+import java.awt.datatransfer.StringSelection;
+import java.awt.datatransfer.DataFlavor;
+import java.awt.datatransfer.UnsupportedFlavorException;
+import java.io.IOException;
+
+import com.ibm.richtext.styledtext.MConstText;
+
+/**
+ * This class allows MConstText instances to be the contents
+ * of a Clipboard.  To store an MConstText on the clipboard,
+ * construct a TransferableText from the MConstText, and make
+ * the TransferableText the clipboard contents.
+ *
+ */
+/*
+ * Note:  this class inherits from StringSelection because of
+ * a bug in the 1.1.7 system clipboard implementation.  The
+ * system clipboard won't put text on the OS clipboard unless
+ * the content is a StringSelection.
+ */
+final class TransferableText extends StringSelection
+{
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+    private MConstText fText;
+
+    private static String textToString(MConstText text) {
+        char[] chars = new char[text.length()];
+        text.extractChars(0, chars.length, chars, 0);
+        return new String(chars);
+    }
+
+    /**
+     * Create a TransferableText for the given text.
+     * @param text the text to go on the Clipboard.  The text is
+     *     adopted by this object.
+     */
+    public TransferableText(MConstText text) {
+
+        super(textToString(text));
+
+        fText = text;
+    }
+
+    public DataFlavor[] getTransferDataFlavors() {
+
+        DataFlavor[] flavors = super.getTransferDataFlavors();
+        DataFlavor[] result = new DataFlavor[flavors.length+1];
+        result[0] = MConstText.styledTextFlavor;
+        System.arraycopy(flavors, 0, result, 1, flavors.length);
+        return result;
+    }
+
+    public boolean isDataFlavorSupported(DataFlavor flavor) {
+
+        if (flavor.equals(MConstText.styledTextFlavor)) {
+            return true;
+        }
+        else {
+            return super.isDataFlavorSupported(flavor);
+        }
+    }
+
+    public Object getTransferData(DataFlavor flavor) throws UnsupportedFlavorException, IOException {
+
+        if (flavor.equals(MConstText.styledTextFlavor)) {
+            return fText;
+        }
+        else {
+            return super.getTransferData(flavor);
+        }
+    }
+}
diff --git a/src/com/ibm/richtext/textpanel/TypingInteractor.java b/src/com/ibm/richtext/textpanel/TypingInteractor.java
new file mode 100755
index 0000000..945173f
--- /dev/null
+++ b/src/com/ibm/richtext/textpanel/TypingInteractor.java
@@ -0,0 +1,354 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+/*
+    2/25/99 - Now processing characters from keyTyped method (not keyPressed).
+              This new way is input-method friendly on 1.2, and is generally
+              more correct.
+
+    7/7/97 - the mouseDidSomething methods used to remove the typing interactor.
+            This is definitely wrong, but maybe that made sense at one time.  Anyway,
+            now the mousePressed / mouseReleased methods remove the interactor;  the
+            others do nothing.
+*/
+
+package com.ibm.richtext.textpanel;
+
+import com.ibm.richtext.textlayout.attributes.AttributeMap;
+
+import java.awt.event.KeyEvent;
+import java.awt.event.MouseEvent;
+import java.awt.event.FocusEvent;
+
+import java.text.BreakIterator;
+
+import com.ibm.richtext.styledtext.StyleModifier;
+import com.ibm.richtext.styledtext.MConstText;
+import com.ibm.richtext.styledtext.MText;
+import com.ibm.richtext.styledtext.StyledText;
+import com.ibm.richtext.textformat.TextOffset;
+
+final class TypingInteractor extends Behavior {
+
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+
+    private static final char BACKSPACE = 8;
+    private static final char TAB = '\t';
+    private static final char RETURN = '\r';
+    private static final char LINE_FEED = '\n';
+    private static final char PARAGRAPH_SEP = '\u2029';
+    
+    private TextComponent fTextComponent;
+    private TextSelection fSelection;
+    private AttributeMap fTypingStyle;
+    private MConstText fText;
+    private TextEditBehavior fParent;
+    private TextChangeCommand fCommand = null;
+    private SimpleCommandLog fCommandLog;
+    private PanelEventBroadcaster fListener;
+    private BreakIterator fCharBreak = null;
+    
+    /**
+     * Not all characters that come from the keyboard are handled
+     * as input.  For example, ctrl-c is not a typable character.
+     * This method determines whether a particular character from
+     * the keyboard will affect the text.
+     */
+    private static boolean isTypingInteractorChar(char ch) {
+
+        return ch >= ' ' || 
+               ch == LINE_FEED || 
+               ch == RETURN ||
+               ch == TAB || 
+               ch == BACKSPACE;
+    }
+    
+    /**
+     * This method determines whether a TypingInteractor should
+     * handle the given KeyEvent.
+     */
+    static boolean handledByTypingInteractor(KeyEvent event) {
+
+        final int id = event.getID();
+        
+        if (id == KeyEvent.KEY_TYPED) {
+            return isTypingInteractorChar(event.getKeyChar());
+        }
+        else {
+            return (id == KeyEvent.KEY_PRESSED && 
+                    event.getKeyCode() == KeyEvent.VK_DELETE);
+        }
+    }
+
+    public TypingInteractor(TextComponent textComponent,
+                            TextSelection selection,
+                            AttributeMap typingStyle,
+                            TextEditBehavior parent,
+                            SimpleCommandLog commandLog,
+                            PanelEventBroadcaster listener) {
+                            
+        fTextComponent = textComponent;
+        fText = textComponent.getText();
+        fSelection = selection;
+        fTypingStyle = typingStyle;
+        fParent = parent;
+        fCommandLog = commandLog;
+        fListener = listener;
+
+        fParent.setTypingInteractor(this);
+    }
+
+    private void endInteraction() {
+
+        removeFromOwner();
+        postTextChangeCommand();
+
+        int selStart = fSelection.getStart().fOffset;
+        int selLimit = fSelection.getEnd().fOffset;
+        fParent.setSavedTypingStyle(selStart==selLimit? fTypingStyle : null, selStart);
+        
+        fParent.setTypingInteractor(null);
+    }
+
+    public boolean textControlEventOccurred(Behavior.EventType event, Object what) {
+
+        if (fCommand == null && event == Behavior.CHARACTER_STYLE_MOD) {
+
+            pickUpTypingStyle();
+            fTypingStyle = ((StyleModifier)what).modifyStyle(fTypingStyle);
+
+            fListener.textStateChanged(TextPanelEvent.SELECTION_STYLES_CHANGED);
+
+            return true;
+        }
+        else {
+            Behavior next = nextBehavior(); // save because removeFromOwner() will trash this
+
+            endInteraction();
+
+            if (next != null)
+                return next.textControlEventOccurred(event, what);
+            else
+                return false;
+        }
+    }
+
+    private void doBackspace() {
+
+        int selStart = fSelection.getStart().fOffset;
+        int selLimit = fSelection.getEnd().fOffset;
+
+        if (selStart == selLimit) {
+            if (selStart != 0) {
+                fTypingStyle = null;
+                pickUpTypingStyle();
+                makeTextChangeCommand();
+                if (selStart <= fCommand.affectedRangeStart()) {
+                    fCommand.prependToOldText(fText.extract(selStart - 1, selStart));
+                }
+                TextOffset insPt = new TextOffset(selStart - 1);
+                fParent.doReplaceText(selStart - 1, selStart, null, insPt, insPt);
+            }
+        }
+        else {
+            fTypingStyle = null;
+            makeTextChangeCommand();
+            TextOffset insPt = new TextOffset(selStart);
+            fParent.doReplaceText(selStart, selLimit, null, insPt, insPt);
+        }
+    }
+
+    private void doFwdDelete(boolean ignoreCharBreak) {
+
+        int selStart = fSelection.getStart().fOffset;
+        int selLimit = fSelection.getEnd().fOffset;
+
+        TextOffset insPt = new TextOffset(selStart);
+
+        if (selStart == selLimit) {
+            if (selStart != fText.length()) {
+                fTypingStyle = null;
+                makeTextChangeCommand();
+                int numChars;
+                if (ignoreCharBreak) {
+                    numChars = 1;
+                }
+                else {
+                    if (fCharBreak == null) {
+                        fCharBreak = BreakIterator.getCharacterInstance();
+                    }
+                    fCharBreak.setText(fText.createCharacterIterator());
+                    numChars = fCharBreak.following(selStart) - selStart;
+                }
+                fCommand.appendToOldText(fText.extract(selStart, selStart + numChars));
+                fParent.doReplaceText(selStart, selStart + numChars, null, insPt, insPt);
+            }
+        }
+        else {
+            fTypingStyle = null;
+            makeTextChangeCommand();
+            fParent.doReplaceText(selStart, selLimit, null, insPt, insPt);
+        }
+    }
+
+    private void doNormalKey(char ch) {
+
+        // Sigh - 1.1 reports enter key events as return chars, but
+        // 1.2 reports them as linefeeds.
+        if (ch == RETURN) {
+            ch = LINE_FEED;
+        }
+        pickUpTypingStyle();
+        makeTextChangeCommand();
+        fParent.doReplaceSelectedText(ch, fTypingStyle);
+    }
+
+    public boolean focusGained(FocusEvent e) {
+
+        // pass through, but stick around...
+        return super.focusGained(e);
+    }
+
+    public boolean focusLost(FocusEvent e) {
+
+        // pass through, but stick around...
+        return super.focusLost(e);
+    }
+
+    public boolean keyTyped(KeyEvent e) {
+
+        if (e.getKeyChar() == BACKSPACE) {
+            doBackspace();
+        }
+        else {
+            if (isTypingInteractorChar(e.getKeyChar())) {
+                KeyRemap remap = fParent.getKeyRemap();
+                doNormalKey(remap.remap(e));
+            }
+        }
+
+        return true;
+    }
+
+    public boolean keyPressed(KeyEvent e) {
+
+        int key = e.getKeyCode();
+        if (key == KeyEvent.VK_DELETE) {
+            doFwdDelete(e.isShiftDown());
+            return true;
+        }
+
+        Behavior next = nextBehavior();
+
+        if (TextSelection.keyAffectsSelection(e)) {
+
+            endInteraction();
+        }
+
+        return next.keyPressed(e);
+    }
+
+    public boolean keyReleased(KeyEvent e) {
+        return true;
+    }
+
+    private void makeTextChangeCommand() {
+        if (fCommand == null) {
+            TextOffset  selStart = fSelection.getStart();
+            TextOffset  selEnd = fSelection.getEnd();
+
+            MText writableText = new StyledText();
+            writableText.replace(0, 0, fText, selStart.fOffset, selEnd.fOffset);
+            fCommand = new TextChangeCommand(fParent,
+                                writableText,
+                                null, selStart.fOffset, selStart, selEnd,
+                                new TextOffset(), new TextOffset());
+
+            fListener.textStateChanged(TextPanelEvent.UNDO_STATE_CHANGED);
+        }
+    }
+
+    public boolean mouseDragged(MouseEvent e) {
+
+        return true;
+    }
+
+    public boolean mouseEntered(MouseEvent e) {
+
+        return true;
+    }
+
+    public boolean mouseExited(MouseEvent e) {
+
+        return true;
+    }
+
+    public boolean mouseMoved(MouseEvent e) {
+
+        return true;
+    }
+
+    public boolean mousePressed(MouseEvent e) {
+
+        Behavior next = nextBehavior(); // save because removeFromOwner() will trash this
+
+        endInteraction();
+
+        if (next != null)
+            return next.mousePressed(e);
+        else
+            return false;
+    }
+
+    public boolean mouseReleased(MouseEvent e) {
+
+        Behavior next = nextBehavior(); // save because removeFromOwner() will trash this
+
+        endInteraction();
+
+        if (next != null)
+            return next.mouseReleased(e);
+        else
+            return false;
+    }
+
+    private void pickUpTypingStyle() {
+        if (fTypingStyle == null) {
+            int selStart = fSelection.getStart().fOffset;
+            int selLimit = fSelection.getEnd().fOffset;
+            fTypingStyle = TextEditBehavior.typingStyleAt(fText, selStart, selLimit);
+        }
+    }
+
+    private void postTextChangeCommand() {
+        if (fCommand != null) {
+            TextOffset  selStart = fSelection.getStart();
+            TextOffset  selEnd = fSelection.getEnd();
+
+            fCommand.setNewText(fText.extract(fCommand.affectedRangeStart(), selStart.fOffset));
+            fCommand.setSelRangeAfter(selStart, selEnd);
+            fCommandLog.add(fCommand);
+        }
+    }
+
+    boolean hasPendingCommand() {
+
+        return fCommand != null;
+    }
+
+    AttributeMap getTypingStyle() {
+
+        pickUpTypingStyle();
+        return fTypingStyle;
+    }
+}
diff --git a/src/com/ibm/richtext/textpanel/package.html b/src/com/ibm/richtext/textpanel/package.html
new file mode 100755
index 0000000..6c86560
--- /dev/null
+++ b/src/com/ibm/richtext/textpanel/package.html
@@ -0,0 +1,11 @@
+<html>
+    <head> <!--  Copyright (C) 2000-2004, International Business Machines Corporation and
+  others. All Rights Reserved.
+-->
+        <title>TextPanel Package Overview</title>
+    </head>
+    <body bgcolor="white">
+        Provides components (for both AWT and Swing) in which styled text is displayed 
+        and edited, and related classes.
+    </body>
+</html>
diff --git a/src/com/ibm/richtext/uiimpl/AboutText.java b/src/com/ibm/richtext/uiimpl/AboutText.java
new file mode 100755
index 0000000..7b78c3b
--- /dev/null
+++ b/src/com/ibm/richtext/uiimpl/AboutText.java
@@ -0,0 +1,63 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+package com.ibm.richtext.uiimpl;
+
+import java.awt.Color;
+
+import com.ibm.richtext.uiimpl.resources.FrameResources;
+
+import com.ibm.richtext.styledtext.MConstText;
+import com.ibm.richtext.styledtext.StyledText;
+import com.ibm.richtext.styledtext.StyleModifier;
+
+import com.ibm.richtext.textlayout.attributes.AttributeMap;
+import com.ibm.richtext.textlayout.attributes.TextAttribute;
+
+public final class AboutText {
+    
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+    private static final Color[] COLORS = {
+        Color.red, Color.blue, Color.white, Color.green
+    };
+    
+    public static MConstText getAboutText() {
+
+        String text = ResourceUtils.getResourceString(FrameResources.ABOUT_TEXT);
+        StyledText styledText = new StyledText(text, AttributeMap.EMPTY_ATTRIBUTE_MAP);
+
+        int length = styledText.length();
+        int i=0;
+
+        for (int paragraphStart = 0, paragraphLimit;
+                    paragraphStart < length;
+                    paragraphStart = paragraphLimit) {
+
+            paragraphLimit = styledText.paragraphLimit(paragraphStart);
+            StyleModifier modifier = StyleModifier.createAddModifier(
+                                             TextAttribute.FOREGROUND,
+                                             COLORS[(i++)%COLORS.length]);
+            styledText.modifyCharacterStyles(paragraphStart,
+                                             paragraphLimit,
+                                             modifier);
+        }
+
+        StyleModifier modifier = StyleModifier.createAddModifier(
+                                            TextAttribute.LINE_FLUSH,
+                                            TextAttribute.FLUSH_CENTER);
+
+        styledText.modifyParagraphStyles(0, text.length(), modifier);
+
+        return styledText;
+    }
+}
\ No newline at end of file
diff --git a/src/com/ibm/richtext/uiimpl/BooleanStyleMenuItem.java b/src/com/ibm/richtext/uiimpl/BooleanStyleMenuItem.java
new file mode 100755
index 0000000..fd64a27
--- /dev/null
+++ b/src/com/ibm/richtext/uiimpl/BooleanStyleMenuItem.java
@@ -0,0 +1,97 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+package com.ibm.richtext.uiimpl;
+
+import java.util.EventObject;
+
+import com.ibm.richtext.textlayout.attributes.AttributeSet;
+import com.ibm.richtext.styledtext.StyleModifier;
+
+import com.ibm.richtext.textpanel.MTextPanel;
+import com.ibm.richtext.textpanel.TextPanelEvent;
+import com.ibm.richtext.uiimpl.resources.MenuData;
+
+public final class BooleanStyleMenuItem extends SingleCheckMenuItem {
+    
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+
+    private final Object fKey;
+    private final boolean fCharacter;
+
+    private final Object fOnValue;
+    
+    public BooleanStyleMenuItem(Object style,
+                                Object onValue,
+                                MenuData menuData,
+                                boolean character) {
+        
+        super(menuData);
+        if (onValue == null) {
+            throw new IllegalArgumentException("On value cannot be null");
+        }
+
+        fKey = style;
+        fCharacter = character;
+        
+        fOnValue = onValue;
+        fItem.addListener(new EventListener() {
+            public void eventOccurred(EventObject event) {
+                StyleModifier modifier;
+                MTextPanel panel = getTextPanel();
+                if (panel == null) {
+                    throw new Error("Menu item is enabled when panel is null!");
+                }
+                if (continuousAndCommand()) {
+                    AttributeSet set = new AttributeSet(fKey);
+                    modifier = StyleModifier.createRemoveModifier(set);
+                }
+                else {
+                    modifier = StyleModifier.createAddModifier(fKey, fOnValue);
+                }
+                
+                if (fCharacter == CHARACTER) {
+                    panel.modifyCharacterStyleOnSelection(modifier);
+                }
+                else {
+                    panel.modifyParagraphStyleOnSelection(modifier);
+                }
+            }
+        });
+    }
+    
+    private boolean continuousAndCommand() {
+        
+        MTextPanel panel = getTextPanel();
+
+        Object value = (fCharacter == CHARACTER)? 
+                            panel.getCharacterStyleOverSelection(fKey) :
+                            panel.getParagraphStyleOverSelection(fKey);
+        return fOnValue.equals(value);
+    }
+    
+    protected void setChecked() {
+        
+        fItem.setState(continuousAndCommand());
+    }
+    
+    public boolean respondsToEventType(int type) {
+        
+        return type == TextPanelEvent.SELECTION_STYLES_CHANGED;
+    }
+    
+    public final void textEventOccurred(TextPanelEvent event) {
+        
+        setChecked();
+    }
+}
\ No newline at end of file
diff --git a/src/com/ibm/richtext/uiimpl/ChoiceMenuItemSet.java b/src/com/ibm/richtext/uiimpl/ChoiceMenuItemSet.java
new file mode 100755
index 0000000..5988c91
--- /dev/null
+++ b/src/com/ibm/richtext/uiimpl/ChoiceMenuItemSet.java
@@ -0,0 +1,90 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+package com.ibm.richtext.uiimpl;
+
+import java.util.EventObject;
+
+import java.util.Hashtable;
+
+import com.ibm.richtext.textpanel.MTextPanel;
+import com.ibm.richtext.uiimpl.resources.MenuData;
+
+public abstract class ChoiceMenuItemSet extends MenuItemSet {
+    
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+    private MItem[] fItems;
+    private Hashtable fItemToStyleMap;
+    
+    ChoiceMenuItemSet(Object[] values,
+                      MenuData[] menuData) {
+        
+        if (values.length != menuData.length) {
+            throw new IllegalArgumentException(
+                                "Values and names must have equal length");
+        }
+        
+        fItems = new MItem[menuData.length];
+        fItemToStyleMap = new Hashtable(menuData.length);
+        
+        EventListener listener = new EventListener() {
+            public void eventOccurred(EventObject event) {
+                handleValueSelected(fItemToStyleMap.get(event.getSource()));
+            }
+        };
+        
+        for (int i=0; i < menuData.length; i++) {
+            fItems[i] = MItem.createCheckboxItem(menuData[i]);
+            if (values[i] != null) {
+                fItemToStyleMap.put(fItems[i], values[i]);
+            }
+            fItems[i].addListener(listener);
+            fItems[i].setEnabled(false);
+        }
+    }
+    
+    protected abstract void handleValueSelected(Object item);
+    protected abstract Object getCurrentValue();
+    
+    protected final void setChecked() {
+        
+        Object value = getCurrentValue();
+        
+        for (int i=0; i < fItems.length; i++) {
+            Object itemVal = fItemToStyleMap.get(fItems[i]);
+            if (itemVal == null) {
+                fItems[i].setState(value == null);
+            }
+            else {
+                fItems[i].setState(itemVal.equals(value));
+            }
+        }
+    }
+
+    protected final void textPanelChanged() {
+        
+        MTextPanel textPanel = getTextPanel();
+        if (textPanel == null) {
+            for (int i=0; i < fItems.length; i++) {
+                fItems[i].setEnabled(false);
+                fItems[i].setState(false);
+            }
+        }
+        else {
+            for (int i=0; i < fItems.length; i++) {
+                fItems[i].setEnabled(true);
+                setChecked();
+            }
+        }
+    }
+}
diff --git a/src/com/ibm/richtext/uiimpl/CommandMenuItem.java b/src/com/ibm/richtext/uiimpl/CommandMenuItem.java
new file mode 100755
index 0000000..686d704
--- /dev/null
+++ b/src/com/ibm/richtext/uiimpl/CommandMenuItem.java
@@ -0,0 +1,193 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+package com.ibm.richtext.uiimpl;
+
+import java.util.EventObject;
+
+import com.ibm.richtext.textpanel.MTextPanel;
+import com.ibm.richtext.textpanel.TextPanelEvent;
+import com.ibm.richtext.uiimpl.resources.MenuData;
+
+public abstract class CommandMenuItem extends MenuItemSet {
+    
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+    private /*final*/ MItem fItem;
+    
+    protected abstract boolean isEnabled();
+    protected abstract void performAction();
+
+    protected CommandMenuItem(MenuData data) {
+        
+        this(data, false);
+    }
+    
+    protected CommandMenuItem(MenuData data, boolean enableByDefault) {
+        
+        fItem = MItem.createItem(data);
+        fItem.addListener(new EventListener() {
+            public void eventOccurred(EventObject event) {
+                performAction();
+            }
+        });
+        fItem.setEnabled(enableByDefault);
+    }
+    
+    protected void textPanelChanged() {
+        
+        MTextPanel textPanel = getTextPanel();
+        if (textPanel == null) {
+            fItem.setEnabled(false);
+        }
+        else {
+            fItem.setEnabled(isEnabled());
+        }
+    }
+    
+    public final void textEventOccurred(TextPanelEvent event) {
+        
+        fItem.setEnabled(isEnabled());
+    }
+    
+    public static final class CutCopyClear extends CommandMenuItem {
+        
+        public static final int CUT = 0;
+        public static final int COPY = 1;
+        public static final int CLEAR = 2;
+
+        private final int fKind;
+        
+        public CutCopyClear(MenuData menuData, int kind) {
+            
+            super(menuData);
+            if (kind != CUT && kind != COPY && kind != CLEAR) {
+                throw new IllegalArgumentException("Invalid menu kind");
+            }
+            fKind = kind;
+        }
+        
+        protected boolean isEnabled() {
+            
+            MTextPanel panel = getTextPanel();
+            return panel.getSelectionStart() != panel.getSelectionEnd();
+        }
+        
+        public boolean respondsToEventType(int type) {
+            
+            return type == TextPanelEvent.SELECTION_EMPTY_CHANGED;
+        }
+        
+        protected void performAction() {
+            
+            MTextPanel panel = getTextPanel();
+            switch (fKind) {
+                case CUT:
+                    panel.cut();
+                    break;
+                case COPY:
+                    panel.copy();
+                    break;
+                case CLEAR:
+                    panel.clear();
+                    break;
+            }
+        }
+    }
+    
+    public static final class UndoRedo extends CommandMenuItem {
+        
+        public static final boolean UNDO = true;
+        public static final boolean REDO = false;
+        
+        private boolean fKind;
+        
+        public UndoRedo(MenuData menuData, boolean kind) {
+            
+            super(menuData);
+            fKind = kind;
+        }
+        
+        protected boolean isEnabled() {
+            
+            MTextPanel panel = getTextPanel();
+            if (fKind == UNDO) {
+                return panel.canUndo();
+            }
+            else {
+                return panel.canRedo();
+            }
+        }
+
+        public boolean respondsToEventType(int type) {
+            
+            return type == TextPanelEvent.UNDO_STATE_CHANGED;
+        }
+
+        protected void performAction() {
+            
+            MTextPanel panel = getTextPanel();
+            if (fKind == UNDO) {
+                panel.undo();
+            }
+            else {
+                panel.redo();
+            }
+        }
+    }
+
+    public static final class Paste extends CommandMenuItem {
+        
+        public Paste(MenuData menuData) {
+            
+            super(menuData);
+        }
+        
+        protected boolean isEnabled() {
+            
+            return getTextPanel().clipboardNotEmpty();
+        }
+
+        public boolean respondsToEventType(int type) {
+            
+            return type == TextPanelEvent.CLIPBOARD_CHANGED;
+        }
+
+        protected void performAction() {
+            
+            getTextPanel().paste();
+        }
+    }
+
+    public static final class SelectAll extends CommandMenuItem {
+        
+        public SelectAll(MenuData menuData) {
+            
+            super(menuData);
+        }
+        
+        protected boolean isEnabled() {
+            
+            return true;
+        }
+
+        public boolean respondsToEventType(int type) {
+            
+            return false;
+        }
+
+        protected void performAction() {
+            
+            getTextPanel().selectAll();
+        }
+    }
+}
diff --git a/src/com/ibm/richtext/uiimpl/DialogItem.java b/src/com/ibm/richtext/uiimpl/DialogItem.java
new file mode 100755
index 0000000..c4d8ebd
--- /dev/null
+++ b/src/com/ibm/richtext/uiimpl/DialogItem.java
@@ -0,0 +1,71 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+package com.ibm.richtext.uiimpl;
+
+import java.awt.Window;
+import java.awt.event.WindowAdapter;
+import java.awt.event.WindowEvent;
+
+import com.ibm.richtext.textpanel.MTextPanel;
+import com.ibm.richtext.uiimpl.resources.MenuData;
+
+public final class DialogItem extends CommandMenuItem {
+    
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+    public static abstract class DialogFactory {
+        
+        public abstract Window createDialog(MTextPanel textPanel);
+    }
+    
+    private DialogFactory fDialogFactory;
+    private Window fDialog = null;
+    
+    public DialogItem(MenuData menuData,
+                      DialogFactory dialogFactory) {
+        
+        super(menuData, true);
+        fDialogFactory = dialogFactory;
+    }
+    
+    protected void textPanelChanged() {
+        // do nothing
+    }
+        
+    protected boolean isEnabled() {
+            
+        // should never get called...
+        return true;
+    }
+
+    public boolean respondsToEventType(int type) {
+            
+        return false;
+    }
+
+    protected void performAction() {
+
+        if (fDialog == null) {
+            MTextPanel panel = getTextPanel();
+            if (panel != null) {
+                fDialog = fDialogFactory.createDialog(panel);
+                fDialog.addWindowListener(new WindowAdapter() {
+                    public void windowClosed(WindowEvent e) {
+                        fDialog = null;
+                    }
+                });
+            }
+        }
+        fDialog.show();
+    }
+}
\ No newline at end of file
diff --git a/src/com/ibm/richtext/uiimpl/EventListener.java b/src/com/ibm/richtext/uiimpl/EventListener.java
new file mode 100755
index 0000000..226cd64
--- /dev/null
+++ b/src/com/ibm/richtext/uiimpl/EventListener.java
@@ -0,0 +1,22 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+package com.ibm.richtext.uiimpl;
+
+import java.util.EventObject;
+
+public interface EventListener {
+    
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+    public void eventOccurred(EventObject event);
+}
\ No newline at end of file
diff --git a/src/com/ibm/richtext/uiimpl/FontList.java b/src/com/ibm/richtext/uiimpl/FontList.java
new file mode 100755
index 0000000..5680fbf
--- /dev/null
+++ b/src/com/ibm/richtext/uiimpl/FontList.java
@@ -0,0 +1,64 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+// Requires Java2
+package com.ibm.richtext.uiimpl;
+
+import java.awt.GraphicsEnvironment;
+import java.util.Collections;
+import java.util.Iterator;
+import java.util.Vector;
+
+final class FontList {
+
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+
+    private static final String[] stripThese = {
+        ".bold", ".bolditalic", ".italic"
+    };
+
+    public static String[] getFontList() {
+
+        String[] names = GraphicsEnvironment.getLocalGraphicsEnvironment()
+                                            .getAvailableFontFamilyNames();
+        Vector v = new Vector(names.length);
+        for (int i=0; i < names.length; i++) {
+            v.addElement(names[i]);
+        }
+
+        Collections.sort(v);
+                
+        String last = "";
+        
+        Iterator iter = v.listIterator();
+        while (iter.hasNext()) {
+            String current = (String) iter.next();
+            testSuffixes: for (int i=0; i < stripThese.length; i++) {
+                if (current.endsWith(stripThese[i])) {
+                    int baseLen = current.length()-stripThese[i].length();
+                    String base = current.substring(0, baseLen);
+                    if (base.equalsIgnoreCase(last)) {
+                        iter.remove();
+                        current = last;
+                        break testSuffixes;
+                    }
+                }
+            }
+            last = current;
+        }
+        
+        String[] result = new String[v.size()];
+        v.copyInto(result);
+        return result;
+    }
+}
diff --git a/src/com/ibm/richtext/uiimpl/KeymapMenuItemSet.java b/src/com/ibm/richtext/uiimpl/KeymapMenuItemSet.java
new file mode 100755
index 0000000..95f9d68
--- /dev/null
+++ b/src/com/ibm/richtext/uiimpl/KeymapMenuItemSet.java
@@ -0,0 +1,59 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+package com.ibm.richtext.uiimpl;
+
+import com.ibm.richtext.textpanel.KeyRemap;
+import com.ibm.richtext.textpanel.TextPanelEvent;
+import com.ibm.richtext.textpanel.MTextPanel;
+import com.ibm.richtext.uiimpl.resources.MenuData;
+
+public final class KeymapMenuItemSet extends ChoiceMenuItemSet {
+
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+    public KeymapMenuItemSet(KeyRemap[] values,
+                             MenuData[] menuData) {
+        
+        super(values, menuData);
+    }
+    
+    protected void handleValueSelected(Object value) {
+        
+        MTextPanel textPanel = getTextPanel();
+        if (textPanel == null) {
+            throw new Error("Menu item is enabled when panel is null!");
+        }
+
+        textPanel.setKeyRemap((KeyRemap) value);
+    }
+    
+    protected Object getCurrentValue() {
+        
+        MTextPanel textPanel = getTextPanel();
+        if (textPanel == null) {
+            throw new Error("Shouldn't call this without a text panel!");
+        }
+        return textPanel.getKeyRemap();
+    }
+    
+    public void textEventOccurred(TextPanelEvent event) {
+        
+        setChecked();
+    }
+    
+    public boolean respondsToEventType(int type) {
+        
+        return type == TextPanelEvent.KEYREMAP_CHANGED;
+    }
+
+}
diff --git a/src/com/ibm/richtext/uiimpl/MItem.java b/src/com/ibm/richtext/uiimpl/MItem.java
new file mode 100755
index 0000000..090a03d
--- /dev/null
+++ b/src/com/ibm/richtext/uiimpl/MItem.java
@@ -0,0 +1,85 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+package com.ibm.richtext.uiimpl;
+
+import java.util.Vector;
+import java.util.EventObject;
+
+import com.ibm.richtext.uiimpl.resources.MenuData;
+
+public abstract class MItem {
+
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+    private Vector fListeners = new Vector(2);
+    private EventObject fEvent = new EventObject(this);
+    
+    public abstract void setEnabled(boolean enabled);
+    public abstract void setState(boolean checked);
+    
+    public final void addListener(EventListener listener) {
+        
+        fListeners.addElement(listener);
+    }
+    
+    public final void removeListener(EventListener listener) {
+        
+        fListeners.removeElement(listener);
+    }
+    
+    protected void handleSelected() {
+            
+        int length = fListeners.size();
+        for (int i=0; i < length; i++) {
+            EventListener l = (EventListener) fListeners.elementAt(i);
+            l.eventOccurred(fEvent);
+        }
+    }
+    
+    // factory stuff
+    
+    /**
+     * Clients should synchronize on LOCK while setting and using
+     * global factory.
+     */
+    public static final Object LOCK = new Object();
+    
+    public static interface ItemFactory {
+        
+        public MItem createItem(MenuData menuData);
+        public MItem createCheckboxItem(MenuData menuData);
+        public void createSeparator();
+    }
+    
+    private static ItemFactory fgFactory;
+    
+    public static MItem createItem(MenuData menuData) {
+        
+        return fgFactory.createItem(menuData);
+    }
+    
+    public static MItem createCheckboxItem(MenuData menuData) {
+        
+        return fgFactory.createCheckboxItem(menuData);
+    }
+    
+    public static void setItemFactory(ItemFactory factory) {
+        
+        fgFactory = factory;
+    }
+    
+    public static ItemFactory getItemFactory() {
+        
+        return fgFactory;
+    }
+}
diff --git a/src/com/ibm/richtext/uiimpl/MenuBuilder.java b/src/com/ibm/richtext/uiimpl/MenuBuilder.java
new file mode 100755
index 0000000..51b5c5f
--- /dev/null
+++ b/src/com/ibm/richtext/uiimpl/MenuBuilder.java
@@ -0,0 +1,368 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+package com.ibm.richtext.uiimpl;
+
+import java.awt.Color;
+import java.awt.Frame;
+
+import java.text.NumberFormat;
+
+import com.ibm.richtext.textlayout.attributes.TextAttribute;
+import com.ibm.richtext.textpanel.MTextPanel;
+import com.ibm.richtext.textpanel.KeyRemap;
+
+import com.ibm.richtext.uiimpl.resources.FrameResources;
+import com.ibm.richtext.uiimpl.resources.MenuData;
+
+import com.ibm.richtext.uiimpl.DialogItem.DialogFactory;
+
+public abstract class MenuBuilder {
+
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+    
+    public static final int EDIT = 0;
+    public static final int SIZE = 1;
+    public static final int STYLE = 2;
+    public static final int FLUSH = 3;
+    public static final int KEYMAP = 4;
+    public static final int BIDI = 5;
+    public static final int ABOUT = 6;
+    
+    private Color[] colors = { Color.black, Color.white, Color.green, Color.blue,
+                                Color.cyan, Color.gray, Color.darkGray, Color.lightGray,
+                                Color.magenta, Color.orange, Color.pink, Color.red,
+                                Color.yellow, null };
+    private String[] colorNames = {
+                        ResourceUtils.getResourceString(FrameResources.BLACK),
+                        ResourceUtils.getResourceString(FrameResources.WHITE),
+                        ResourceUtils.getResourceString(FrameResources.GREEN),
+                        ResourceUtils.getResourceString(FrameResources.BLUE),
+                        ResourceUtils.getResourceString(FrameResources.CYAN),
+                        ResourceUtils.getResourceString(FrameResources.GRAY),
+                        ResourceUtils.getResourceString(FrameResources.DARK_GRAY),
+                        ResourceUtils.getResourceString(FrameResources.LIGHT_GRAY),
+                        ResourceUtils.getResourceString(FrameResources.MAGENTA),
+                        ResourceUtils.getResourceString(FrameResources.ORANGE),
+                        ResourceUtils.getResourceString(FrameResources.PINK),
+                        ResourceUtils.getResourceString(FrameResources.RED),
+                        ResourceUtils.getResourceString(FrameResources.YELLOW),
+                        ResourceUtils.getResourceString(FrameResources.NONE)
+    };
+    
+    protected int[] defaultMenus = { EDIT, 
+                                     SIZE,
+                                     STYLE,
+                                     FLUSH, 
+                                     KEYMAP,
+                                     BIDI,
+                                     ABOUT };
+
+    protected MTextPanel fTextPanel;
+    protected Frame fDialogParent;
+
+    protected MenuBuilder() {
+    }
+    
+    protected final void doCreateMenus(MTextPanel textPanel, Frame frame, int[] menus) {
+    
+        fTextPanel = textPanel;
+        fDialogParent = frame;
+        
+        for (int i=0; i < menus.length; i++) {
+            switch(menus[i]) {
+                case EDIT:
+                    createEditMenu();
+                    break;
+                case SIZE:
+                    createSizeMenu();
+                    break;
+                case STYLE:
+                    createStyleMenu();
+                    break;
+                case FLUSH:
+                    createFlushMenu();
+                    break;
+                case KEYMAP:
+                    createKeymapMenu();
+                    break;
+                case BIDI:
+                    createBidiMenu();
+                    break;
+                case ABOUT:
+                    createAboutMenu();
+                    break;
+                default:
+                    throw new IllegalArgumentException("Illegal menu: " + menus[i]);
+            }
+        }
+                    
+        fTextPanel = null;
+        fDialogParent = null;
+    }
+    
+    protected abstract void handleAddMenu(String key);
+    
+    protected abstract DialogFactory createObjectDialogFactory(String dialogTitle,
+                                                               String dialogText,
+                                                               Object key,
+                                                               boolean character,
+                                                               String[] names,
+                                                               Object[] values);
+
+    protected abstract DialogFactory createNumberDialogFactory(String dialogTitle,
+                                                               String dialogText,
+                                                               Object key,
+                                                               boolean character);
+
+    protected abstract DialogFactory createAboutDialogFactory();
+
+    private void createEditMenu() {
+        
+        handleAddMenu(FrameResources.EDIT);
+        
+        new CommandMenuItem.UndoRedo(ResourceUtils.getMenuData(FrameResources.UNDO),
+                                    CommandMenuItem.UndoRedo.UNDO).setTextPanel(fTextPanel);
+        new CommandMenuItem.UndoRedo(ResourceUtils.getMenuData(FrameResources.REDO),
+                                    CommandMenuItem.UndoRedo.REDO).setTextPanel(fTextPanel);
+        MItem.getItemFactory().createSeparator();
+        new CommandMenuItem.CutCopyClear(ResourceUtils.getMenuData(FrameResources.CUT),
+                                        CommandMenuItem.CutCopyClear.CUT).setTextPanel(fTextPanel);
+        new CommandMenuItem.CutCopyClear(ResourceUtils.getMenuData(FrameResources.COPY),
+                                        CommandMenuItem.CutCopyClear.COPY).setTextPanel(fTextPanel);
+        new CommandMenuItem.Paste(ResourceUtils.getMenuData(FrameResources.PASTE)).setTextPanel(fTextPanel);
+        new CommandMenuItem.CutCopyClear(ResourceUtils.getMenuData(FrameResources.CLEAR),
+                                        CommandMenuItem.CutCopyClear.CLEAR).setTextPanel(fTextPanel);
+        MItem.getItemFactory().createSeparator();
+        new CommandMenuItem.SelectAll(ResourceUtils.getMenuData(FrameResources.SELECT_ALL)).setTextPanel(fTextPanel);
+    }
+    
+    private static final float[] DEFAULT_SIZES =
+                                    {9, 10, 12, 14, 18, 24, 36, 48, 72};
+
+    private void createSizeMenu() {
+        
+        createSizeMenu(DEFAULT_SIZES);
+    }
+    
+    private void createSizeMenu(float[] sizes) {
+                
+        handleAddMenu(FrameResources.SIZE);
+
+        if (sizes != DEFAULT_SIZES) {
+
+            sizes = (float[]) sizes.clone();
+            if (sizes.length == 0) {
+                throw new IllegalArgumentException("sizes array has zero length");
+            }
+
+            float lastValue = sizes[0];
+            for (int i=1; i < sizes.length; i++) {
+                if (sizes[i] >= lastValue) {
+                    throw new IllegalArgumentException(
+                                                "sizes array must be increasing");
+                }
+                lastValue = sizes[i];
+            }
+        }
+        
+        Float[] values = new Float[sizes.length];
+        MenuData[] mData = new MenuData[sizes.length];
+        NumberFormat fmt = NumberFormat.getNumberInstance();
+        
+        for (int i=0; i < sizes.length; i++) {
+            values[i] = new Float(sizes[i]);
+            mData[i] = new MenuData(fmt.format(sizes[i]));
+        }
+        
+        new StyleMenuItemSet(TextAttribute.SIZE,
+                                values,
+                                mData,
+                                MenuItemSet.CHARACTER).setTextPanel(fTextPanel);
+            
+        if (fDialogParent != null) {
+            String dialogTitle = ResourceUtils.getResourceString(FrameResources.SET_SIZE_TITLE);
+            String dialogText = ResourceUtils.getResourceString(FrameResources.SET_SIZE_LABEL);
+            DialogFactory factory = createNumberDialogFactory(dialogTitle,
+                                                              dialogText,
+                                                              TextAttribute.SIZE,
+                                                              MenuItemSet.CHARACTER);
+                                                              
+            new DialogItem(ResourceUtils.getMenuData(FrameResources.OTHER_DIALOG), 
+                            factory).setTextPanel(fTextPanel);
+        }
+    }
+    
+    private void createStyleMenu() {
+        
+        handleAddMenu(FrameResources.STYLE);
+
+        Object[] keys =    { TextAttribute.WEIGHT,
+                             TextAttribute.POSTURE,
+                             TextAttribute.UNDERLINE,
+                             TextAttribute.STRIKETHROUGH,
+                             TextAttribute.SUPERSCRIPT,
+                             TextAttribute.SUPERSCRIPT};
+        Object[] values =  { TextAttribute.WEIGHT_BOLD,
+                             TextAttribute.POSTURE_OBLIQUE,
+                             TextAttribute.UNDERLINE_ON,
+                             TextAttribute.STRIKETHROUGH_ON, 
+                             new Integer(1),
+                             new Integer(-1)};
+        MenuData[] mData = { ResourceUtils.getMenuData(FrameResources.BOLD),
+                             ResourceUtils.getMenuData(FrameResources.ITALIC),
+                             ResourceUtils.getMenuData(FrameResources.UNDERLINE),
+                             ResourceUtils.getMenuData(FrameResources.STRIKETHROUGH),
+                             ResourceUtils.getMenuData(FrameResources.SUPERSCRIPT),
+                             ResourceUtils.getMenuData(FrameResources.SUBSCRIPT)};
+
+        new SubtractStyleMenuItem(keys, 
+                                    ResourceUtils.getMenuData(FrameResources.PLAIN),
+                                    MenuItemSet.CHARACTER).setTextPanel(fTextPanel);
+                                                 
+        for (int i=0; i < keys.length; i++) {
+            new BooleanStyleMenuItem(keys[i],
+                                        values[i],
+                                        mData[i],
+                                        MenuItemSet.CHARACTER).setTextPanel(fTextPanel);
+        }
+            
+        if (fDialogParent != null) {
+            
+            MItem.getItemFactory().createSeparator();
+            
+            String[] fonts = FontList.getFontList();
+            String title = ResourceUtils.getResourceString(FrameResources.SET_FONT_TITLE);
+            String label = ResourceUtils.getResourceString(FrameResources.SET_FONT_LABEL);
+            
+            DialogFactory fontF = createObjectDialogFactory(title, 
+                                                            label,
+                                                            TextAttribute.FAMILY,
+                                                            StyleMenuItemSet.CHARACTER,
+                                                            fonts,
+                                                            fonts);
+            new DialogItem(ResourceUtils.getMenuData(FrameResources.FONT_DIALOG),
+                                    fontF).setTextPanel(fTextPanel);
+
+            DialogFactory foregroundF = createColorDialogFactory(true);
+            DialogFactory backgroundF = createColorDialogFactory(false);
+            
+            new DialogItem(ResourceUtils.getMenuData(FrameResources.FORECOLOR_DIALOG),
+                                    foregroundF).setTextPanel(fTextPanel);
+            new DialogItem(ResourceUtils.getMenuData(FrameResources.BACKCOLOR_DIALOG),
+                                    backgroundF).setTextPanel(fTextPanel);
+            }
+    }
+
+    private DialogFactory createColorDialogFactory(boolean foreground) {
+        
+        String title;
+        String message;
+        Object key;
+        
+        if (foreground) {
+            title = ResourceUtils.getResourceString(FrameResources.SET_FOREGROUND_TITLE);
+            message = ResourceUtils.getResourceString(FrameResources.SET_FOREGROUND_LABEL);
+            key = TextAttribute.FOREGROUND;
+        }
+        else {
+            title = ResourceUtils.getResourceString(FrameResources.SET_BACKGROUND_TITLE);
+            message = ResourceUtils.getResourceString(FrameResources.SET_BACKGROUND_LABEL);
+            key = TextAttribute.BACKGROUND;
+        }
+        return createObjectDialogFactory(title, 
+                                         message,
+                                         key,
+                                         StyleMenuItemSet.CHARACTER,
+                                         colorNames,
+                                         colors);
+    }
+    
+    private void createFontMenu() {
+        
+        handleAddMenu(FrameResources.FONT);
+        
+        String[] fonts = FontList.getFontList();
+        MenuData[] mData = new MenuData[fonts.length];
+        for (int i=0; i < mData.length; i++) {
+            mData[i] = new MenuData(fonts[i]);
+        }
+        
+        new StyleMenuItemSet(TextAttribute.FAMILY,
+                                fonts,
+                                mData,
+                                StyleMenuItemSet.CHARACTER).setTextPanel(fTextPanel);
+    }
+    
+    private void createFlushMenu() {
+        
+        handleAddMenu(FrameResources.FLUSH);
+        
+        Object[] values = {  TextAttribute.FLUSH_LEADING,
+                             TextAttribute.FLUSH_CENTER,
+                             TextAttribute.FLUSH_TRAILING,
+                             TextAttribute.FULLY_JUSTIFIED };
+        MenuData[] mData = { ResourceUtils.getMenuData(FrameResources.LEADING),
+                             ResourceUtils.getMenuData(FrameResources.CENTER),
+                             ResourceUtils.getMenuData(FrameResources.TRAILING),
+                             ResourceUtils.getMenuData(FrameResources.JUSTIFIED) };
+        
+        new StyleMenuItemSet(TextAttribute.LINE_FLUSH,
+                                values,
+                                mData,
+                                MenuItemSet.PARAGRAPH).setTextPanel(fTextPanel);
+    }
+    
+    private void createKeymapMenu() {
+        
+        handleAddMenu(FrameResources.KEYMAP);
+        
+        KeyRemap[] values = { KeyRemap.getIdentityRemap(),
+                             KeyRemap.getArabicTransliteration(),
+                             KeyRemap.getHebrewTransliteration(),
+                             KeyRemap.getIsraelNikud(),
+                             KeyRemap.getThaiKetmanee() };
+        MenuData[] mData = { ResourceUtils.getMenuData(FrameResources.DEFAULT),
+                             ResourceUtils.getMenuData(FrameResources.ARABIC),
+                             ResourceUtils.getMenuData(FrameResources.HEBREW),
+                             ResourceUtils.getMenuData(FrameResources.ISRAEL_NIKUD),
+                             ResourceUtils.getMenuData(FrameResources.THAI_KETMANEE) };
+        
+        new KeymapMenuItemSet(values, mData).setTextPanel(fTextPanel);
+    }
+    
+    private void createBidiMenu() {
+        
+        handleAddMenu(FrameResources.BIDI);
+        
+        Object[] values = {  null,
+                             TextAttribute.RUN_DIRECTION_LTR,
+                             TextAttribute.RUN_DIRECTION_RTL };
+        MenuData[] mData = { ResourceUtils.getMenuData(FrameResources.DEFAULT_DIRECTION),
+                             ResourceUtils.getMenuData(FrameResources.LTR_DIRECTION),
+                             ResourceUtils.getMenuData(FrameResources.RTL_DIRECTION), };
+
+        new StyleMenuItemSet(TextAttribute.RUN_DIRECTION,
+                                values,
+                                mData,
+                                MenuItemSet.PARAGRAPH).setTextPanel(fTextPanel);
+    }
+    
+    private void createAboutMenu() {
+        
+        handleAddMenu(FrameResources.ABOUT_MENU);
+        
+        new DialogItem(ResourceUtils.getMenuData(FrameResources.ABOUT_ITEM), 
+                       createAboutDialogFactory()).setTextPanel(fTextPanel);
+    }
+}
diff --git a/src/com/ibm/richtext/uiimpl/MenuItemSet.java b/src/com/ibm/richtext/uiimpl/MenuItemSet.java
new file mode 100755
index 0000000..6ba1388
--- /dev/null
+++ b/src/com/ibm/richtext/uiimpl/MenuItemSet.java
@@ -0,0 +1,51 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+package com.ibm.richtext.uiimpl;
+
+import com.ibm.richtext.textpanel.MTextPanel;
+import com.ibm.richtext.textpanel.TextPanelEvent;
+import com.ibm.richtext.textpanel.TextPanelListener;
+
+public abstract class MenuItemSet implements TextPanelListener {
+    
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+    public static final boolean CHARACTER = true;
+    public static final boolean PARAGRAPH = false;
+
+    private MTextPanel fTextPanel = null;
+    
+    public abstract void textEventOccurred(TextPanelEvent event);
+    public abstract boolean respondsToEventType(int type);
+    
+    public final void setTextPanel(MTextPanel textPanel) {
+        
+        if (fTextPanel != null) {
+            fTextPanel.removeListener(this);
+        }
+        fTextPanel = textPanel;
+        if (fTextPanel != null) {
+            fTextPanel.addListener(this);
+        }
+        
+        textPanelChanged();
+    }
+    
+    public final MTextPanel getTextPanel() {
+        
+        return fTextPanel;
+    }
+    
+    protected void textPanelChanged() {
+    }
+}
diff --git a/src/com/ibm/richtext/uiimpl/ResourceUtils.java b/src/com/ibm/richtext/uiimpl/ResourceUtils.java
new file mode 100755
index 0000000..abb0e5d
--- /dev/null
+++ b/src/com/ibm/richtext/uiimpl/ResourceUtils.java
@@ -0,0 +1,46 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+package com.ibm.richtext.uiimpl;
+
+import java.util.ResourceBundle;
+import java.util.MissingResourceException;
+
+import com.ibm.richtext.uiimpl.resources.FrameResources;
+import com.ibm.richtext.uiimpl.resources.MenuData;
+
+public class ResourceUtils {
+    
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+    private static ResourceBundle BUNDLE;
+    static {
+        try {
+            BUNDLE = ResourceBundle.getBundle("com.ibm.richtext.uiimpl.resources.FrameResources");
+        }
+        catch(MissingResourceException e) {
+            System.out.println("Couldn't load resourceXXX.  " +
+                               "Exception: " + e);
+            BUNDLE = new FrameResources();
+        }
+    }
+
+    public static MenuData getMenuData(String key) {
+        
+        return (MenuData) BUNDLE.getObject(key);
+    }
+    
+    public static String getResourceString(String key) {
+        
+        return BUNDLE.getString(key);
+    }
+}
\ No newline at end of file
diff --git a/src/com/ibm/richtext/uiimpl/SingleCheckMenuItem.java b/src/com/ibm/richtext/uiimpl/SingleCheckMenuItem.java
new file mode 100755
index 0000000..8a677f4
--- /dev/null
+++ b/src/com/ibm/richtext/uiimpl/SingleCheckMenuItem.java
@@ -0,0 +1,43 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+package com.ibm.richtext.uiimpl;
+
+import com.ibm.richtext.textpanel.MTextPanel;
+import com.ibm.richtext.uiimpl.resources.MenuData;
+
+public abstract class SingleCheckMenuItem extends MenuItemSet {
+    
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+    protected MItem fItem;
+    
+    SingleCheckMenuItem(MenuData menuData) {
+        
+        fItem = MItem.createCheckboxItem(menuData);
+    }
+    
+    abstract void setChecked();
+    
+    protected final void textPanelChanged() {
+        
+        MTextPanel textPanel = getTextPanel();
+        if (textPanel == null) {
+            fItem.setEnabled(false);
+            fItem.setState(false);
+        }
+        else {
+            fItem.setEnabled(true);
+            setChecked();
+        }
+    }
+}
diff --git a/src/com/ibm/richtext/uiimpl/StyleMenuItemSet.java b/src/com/ibm/richtext/uiimpl/StyleMenuItemSet.java
new file mode 100755
index 0000000..576b2a5
--- /dev/null
+++ b/src/com/ibm/richtext/uiimpl/StyleMenuItemSet.java
@@ -0,0 +1,88 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+package com.ibm.richtext.uiimpl;
+
+import com.ibm.richtext.textlayout.attributes.AttributeSet;
+import com.ibm.richtext.styledtext.StyleModifier;
+
+import com.ibm.richtext.textpanel.MTextPanel;
+import com.ibm.richtext.textpanel.TextPanelEvent;
+import com.ibm.richtext.uiimpl.resources.MenuData;
+
+public final class StyleMenuItemSet extends ChoiceMenuItemSet {
+    
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+
+    private Object fKey;
+    private boolean fCharacter;
+
+    public StyleMenuItemSet(Object style,
+                            Object[] values,
+                            MenuData[] menuData,
+                            boolean character) {
+        
+        super(values, menuData);
+        fKey = style;
+        fCharacter = character;
+    }
+    
+    protected void handleValueSelected(Object value) {
+        
+        MTextPanel textPanel = getTextPanel();
+        if (textPanel == null) {
+            throw new Error("Menu item is enabled when panel is null!");
+        }
+        
+        StyleModifier modifier;
+        if (value == null) {
+            AttributeSet set = new AttributeSet(fKey);
+            modifier = StyleModifier.createRemoveModifier(set);
+        }
+        else {
+            modifier = StyleModifier.createAddModifier(fKey, value);
+        }
+                    
+        if (fCharacter == CHARACTER) {
+            textPanel.modifyCharacterStyleOnSelection(modifier);
+        }
+        else {
+            textPanel.modifyParagraphStyleOnSelection(modifier);
+        }
+    }
+    
+    protected Object getCurrentValue() {
+        
+        MTextPanel textPanel = getTextPanel();
+        if (textPanel == null) {
+            throw new Error("Shouldn't call this without a text panel!");
+        }
+        
+        if (fCharacter == CHARACTER) {
+            return textPanel.getCharacterStyleOverSelection(fKey);
+        }
+        else {
+            return textPanel.getParagraphStyleOverSelection(fKey);
+        }
+    }
+
+    public void textEventOccurred(TextPanelEvent event) {
+        
+        setChecked();
+    }
+    
+    public boolean respondsToEventType(int type) {
+        
+        return type == TextPanelEvent.SELECTION_STYLES_CHANGED;
+    }
+}
\ No newline at end of file
diff --git a/src/com/ibm/richtext/uiimpl/SubtractStyleMenuItem.java b/src/com/ibm/richtext/uiimpl/SubtractStyleMenuItem.java
new file mode 100755
index 0000000..f8af085
--- /dev/null
+++ b/src/com/ibm/richtext/uiimpl/SubtractStyleMenuItem.java
@@ -0,0 +1,102 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+package com.ibm.richtext.uiimpl;
+
+import java.util.EventObject;
+
+import com.ibm.richtext.textlayout.attributes.AttributeMap;
+import com.ibm.richtext.textlayout.attributes.AttributeSet;
+import com.ibm.richtext.styledtext.StyleModifier;
+
+import com.ibm.richtext.textpanel.MTextPanel;
+import com.ibm.richtext.textpanel.TextPanelEvent;
+import com.ibm.richtext.uiimpl.resources.MenuData;
+
+public final class SubtractStyleMenuItem extends SingleCheckMenuItem {
+
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+    private final Object[] fKeys;
+    
+    private final boolean fCharacter;
+    
+    public SubtractStyleMenuItem(Object[] keys,
+                                 MenuData menuData,
+                                 boolean character) {
+        
+        super(menuData);
+        
+        fKeys = (Object[]) keys.clone();
+        fCharacter = character;
+        
+        AttributeSet keySet = new AttributeSet(keys);
+        final StyleModifier modifier = StyleModifier.createRemoveModifier(keySet);
+        
+        fItem.addListener(new EventListener() {
+            public void eventOccurred(EventObject event) {
+                MTextPanel panel = getTextPanel();
+                if (panel == null) {
+                    throw new Error("Menu item is enabled when panel is null!");
+                }
+
+                if (fCharacter == CHARACTER) {
+                    panel.modifyCharacterStyleOnSelection(modifier);
+                }
+                else {
+                    panel.modifyParagraphStyleOnSelection(modifier);
+                }
+            }
+        });
+    }
+    
+    private static boolean objectsAreEqual(Object lhs, Object rhs) {
+    
+        if (lhs == null) {
+            return rhs == null;
+        }
+        else {
+            return lhs.equals(rhs);
+        }
+    }
+
+    protected void setChecked() {
+
+        MTextPanel panel = getTextPanel();
+        AttributeMap defaults = panel.getDefaultValues();
+        
+        for (int i=0; i < fKeys.length; i++) {
+            Object defaultV = defaults.get(fKeys[i]);
+            
+            Object value = (fCharacter == CHARACTER)? 
+                    panel.getCharacterStyleOverSelection(fKeys[i]) :
+                    panel.getParagraphStyleOverSelection(fKeys[i]);
+                    
+            if (!objectsAreEqual(defaultV, value)) {
+                fItem.setState(false);
+                return;
+            }
+        }
+
+        fItem.setState(true);
+    }
+
+    public boolean respondsToEventType(int type) {
+        
+        return type == TextPanelEvent.SELECTION_STYLES_CHANGED;
+    }
+    
+    public final void textEventOccurred(TextPanelEvent event) {
+        
+        setChecked();
+    }
+}
diff --git a/src/com/ibm/richtext/uiimpl/TabRulerImpl.java b/src/com/ibm/richtext/uiimpl/TabRulerImpl.java
new file mode 100755
index 0000000..6286a71
--- /dev/null
+++ b/src/com/ibm/richtext/uiimpl/TabRulerImpl.java
@@ -0,0 +1,903 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+package com.ibm.richtext.uiimpl;
+
+import java.awt.Color;
+import java.awt.Component;
+import java.awt.Dimension;
+import java.awt.FontMetrics;
+import java.awt.Graphics;
+import java.awt.Image;
+
+import java.awt.event.MouseMotionListener;
+import java.awt.event.MouseListener;
+import java.awt.event.MouseEvent;
+
+import com.ibm.richtext.textlayout.attributes.AttributeMap;
+import com.ibm.richtext.textlayout.attributes.TextAttribute;
+
+import com.ibm.richtext.styledtext.MTabRuler;
+import com.ibm.richtext.styledtext.StandardTabRuler;
+import com.ibm.richtext.styledtext.TabStop;
+import com.ibm.richtext.styledtext.StyleModifier;
+
+import com.ibm.richtext.textpanel.TextPanelListener;
+import com.ibm.richtext.textpanel.MTextPanel;
+import com.ibm.richtext.textpanel.TextPanel;
+import com.ibm.richtext.textpanel.TextPanelEvent;
+
+/**
+ * TabRuler is a Component which presents a user interface for
+ * setting the leading margin, trailing margin, first line indent,
+ * and tab types and positions.
+ * <p>
+ * TabRuler does not implement TextPanelListener directly;  however,
+ * it can receive updates from a MTextPanel.  To have a TabRuler listen
+ * to a panel, call <code>listenToPanel</code>.  TabRuler responds to
+ * user manipulation by modifying the paragraph styles on its MTextPanel
+ * (if any).
+ */
+public final class TabRulerImpl implements MouseListener, MouseMotionListener
+{
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+    private static final class TabStopBuffer {
+        public int fPosition;
+        public byte fType;
+
+        TabStopBuffer(int position, byte type) {
+            fPosition = position;
+            fType = type;
+        }
+
+        TabStopBuffer(TabStop tab) {
+            this(tab.getPosition(), tab.getType());
+        }
+
+        TabStop getTabStop() {
+            return new TabStop(fPosition, fType);
+        }
+    }
+
+    private static final class TabRulerModifier extends StyleModifier {
+
+        private TabStop fOldTab; // tab to remove
+        private TabStop fNewTab; // tab to add
+        private AttributeMap fPanelDefaults;
+        
+        TabRulerModifier(TabStop oldTab,
+                         TabStop newTab,
+                         AttributeMap panelDefaults) {
+            fOldTab = oldTab;
+            fNewTab = newTab;
+            fPanelDefaults = panelDefaults;
+        }
+
+        public AttributeMap modifyStyle(AttributeMap oldStyle) {
+
+            MTabRuler oldRuler = (MTabRuler) getWithDefault(TextAttribute.TAB_RULER, 
+                                                            oldStyle, 
+                                                            fPanelDefaults);
+            MTabRuler ruler = oldRuler;
+
+            if (fOldTab != null) {
+                if (ruler.containsTab(fOldTab)) {
+                    ruler = ruler.removeTab(fOldTab.getPosition());
+                }
+            }
+            if (fNewTab != null) {
+                ruler = ruler.addTab(fNewTab);
+            }
+
+            if (ruler != oldRuler) {
+                return oldStyle.addAttribute(TextAttribute.TAB_RULER, ruler);
+            }
+            else {
+                return oldStyle;
+            }
+        }
+    }
+
+    private static final class ImageCache {
+
+        static final String COPYRIGHT =
+                    "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+        private Image fImage = null;
+        private boolean fIsValid = false;
+        private Component fComponent;   // workaround for compiler bug, 
+                                        // should just be able to say Component.this
+                                        // if this were not a static class
+        
+        ImageCache(Component component) {
+        
+            fComponent = component;
+        }
+
+        Graphics getGraphics(int width, int height) {
+
+            if (width <= 0 || height <= 0) {
+                return null;
+            }
+            
+            Image image = fImage;
+            if (image == null || image.getWidth(fComponent) < width
+                              || image.getHeight(fComponent) < height) {
+        if (!fComponent.isVisible()) { // fix race condition if component not fully initialized
+            return null;
+        }
+                image = fComponent.createImage(width, height);
+            }
+            Graphics g = image.getGraphics();
+            fImage = image;
+            return g;
+        }
+
+        void drawImage(Graphics g, int x, int y, Color color) {
+
+            if (!fIsValid) {
+                throw new Error("Drawing image when not valid");
+            }
+            g.drawImage(fImage, x, y, color, fComponent);
+        }
+
+        boolean isValid() {
+
+            return fIsValid;
+        }
+
+        void setValid(boolean isValid) {
+
+            fIsValid = isValid;
+        }
+    }
+
+    /**
+    * This class listens to a MTextPanel for changes which
+    * affect a TabRuler's appearance, and updates the TabRuler
+    * as necessary.
+    * @see TabRuler
+    * @see com.ibm.richtext.textpanel.MTextPanel
+    */
+    private static final class Updater implements TextPanelListener {
+
+        static final String COPYRIGHT =
+                    "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+        private TabRulerImpl fTabRuler;
+        private MTextPanel fTextPanel;
+
+        /**
+        * Create a new TabRulerUpdater.
+        * @param tabRuler the TabRuler to update when a change occurs
+        *     in the MTextPanel
+        */
+        Updater(TabRulerImpl tabRuler) {
+
+            fTabRuler = tabRuler;
+        }
+
+        /**
+        * Remove self as listener from previous MTextPanel,
+        * set current MTextPanel and listen to it (if not null).
+        */
+        void setTextPanel(MTextPanel textPanel) {
+
+            if (fTextPanel != null) {
+                fTextPanel.removeListener(this);
+            }
+
+            fTextPanel = textPanel;
+
+            if (fTextPanel != null) {
+                fTextPanel.addListener(this);
+                setAll();
+            }
+        }
+
+        private void setAll() {
+
+            int offset = fTextPanel.getSelectionStart();
+            boolean leftToRight = fTextPanel.paragraphIsLeftToRight(offset);
+            AttributeMap style = fTextPanel.getText().paragraphStyleAt(offset);
+            fTabRuler.set(style, false);
+            fTabRuler.setFormatWidth(fTextPanel.getFormatWidth(), false);
+            fTabRuler.setLeftToRight(leftToRight, true);
+        }
+
+        /**
+        * TextPanelListener method.  This class responds to text
+        * changes by updating its TabRuler.
+        */
+        public void textEventOccurred(TextPanelEvent event) {
+
+            int changeCode = event.getID();
+
+            if (changeCode == TextPanelEvent.SELECTION_STYLES_CHANGED ||
+                    changeCode == TextPanelEvent.TEXT_CHANGED) {
+
+                int offset = fTextPanel.getSelectionStart();
+                AttributeMap style = fTextPanel.getText().paragraphStyleAt(offset);
+                boolean leftToRight = fTextPanel.paragraphIsLeftToRight(offset);
+                fTabRuler.set(style, false);
+                fTabRuler.setLeftToRight(leftToRight, true);
+            }
+            else if (changeCode == TextPanelEvent.FORMAT_WIDTH_CHANGED) {
+                
+                fTabRuler.setFormatWidth(fTextPanel.getFormatWidth(), true);
+            }
+        }
+        
+        /**
+        * TextPanelListener method.
+        */
+        public boolean respondsToEventType(int type) {
+            
+            return type == TextPanelEvent.SELECTION_STYLES_CHANGED ||
+                    type == TextPanelEvent.TEXT_CHANGED ||
+                    type == TextPanelEvent.FORMAT_WIDTH_CHANGED;
+        }
+    }
+
+    /**
+     * The default background color for TabRulers.
+     * @see #setBackColor
+     */
+    public static final Color DEFAULT_BACK_COLOR = Color.lightGray;
+
+    private static final int kTrackNone = 0;
+    private static final int kTrackTab = 1;
+    private static final int kTrackLM = 2;
+    private static final int kTrackFLI = 3;
+    private static final int kTrackTM = 4;
+
+    private Component fHost;
+    private MTabRuler fRuler;
+    private int fLeadingMargin;
+    private int fFirstLineIndent;
+    private int fFormatWidth;
+    private int fTrailingMarginPosition; // opposite of actual trailing margin
+    private boolean fLeftToRight;
+    private int fBaseline;
+    private int fOrigin;
+    private Color fBackColor = DEFAULT_BACK_COLOR;
+
+    private int fTrackItem; // 0 - none, 1 - tab, 2 - lm, 3 - fli, 4 - tm
+    private TabStopBuffer fTrackTab;
+    private TabStop fOldTab;
+    private int fTrackDelta;
+    private boolean fTrackVisible;
+    private Updater fUpdater;
+    private MTextPanel fTextPanel = null;
+
+    private ImageCache fImageCache;
+
+    /**
+     * Create a new TabRuler.
+     * @param baseline the y-coordinate of the ruler's baseline
+     * @param origin the x-coordinate in this Component where
+     *     the left margin appears
+     * @param textPanel the MTextPanel to listen to.  This TabRuler
+     *     will reflect the MTextPanel's paragraph styles, and update
+     *     the paragraph styles when manipulated.
+     */
+    public TabRulerImpl(int baseline, 
+                        int origin, 
+                        MTextPanel textPanel,
+                        Component host) {
+
+        fHost = host;
+        fImageCache = new ImageCache(host);
+        fUpdater = new Updater(this);
+        fBaseline = baseline;
+        fOrigin = origin;
+        host.addMouseListener(this);
+        host.addMouseMotionListener(this);
+        if (textPanel != null) {
+            listenToTextPanel(textPanel);
+        }
+        else {
+            fRuler = new StandardTabRuler();
+        }
+    }
+
+    /**
+     * Listen to the given MTextPanel and reflect its changes,
+     * and update its paragraph styles when TabRuler is
+     * manipulated.
+     * @param textPanel the MTextPanel to listen to
+     */
+    public void listenToTextPanel(MTextPanel textPanel) {
+
+        fTextPanel = textPanel;
+        fUpdater.setTextPanel(textPanel);
+    }
+
+    /**
+     * Return the background color of this TabRuler.
+     * @return the background color of this TabRuler
+     */
+    public Color getBackColor() {
+
+        return fBackColor;
+    }
+
+    /**
+     * Set the background color of this TabRuler.
+     * @param backColor the new background color of this TabRuler
+     */
+    public void setBackColor(Color backColor) {
+
+        if (!backColor.equals(fBackColor)) {
+            fBackColor = backColor;
+            Graphics g = fHost.getGraphics();
+            if (g != null) {
+                paint(g);
+            }
+        }
+    }
+
+    private static Object getWithDefault(Object key,
+                                         AttributeMap style,
+                                         AttributeMap defaults) {
+        Object value = style.get(key);
+        if (value == null) {
+            value = defaults.get(key);
+        }
+        return value;
+    }
+
+    private static float getFloatWithDefault(Object key,
+                                             AttributeMap style,
+                                             AttributeMap defaults) {
+        Object value = getWithDefault(key, style, defaults);
+        return ((Float)value).floatValue();
+    }
+    
+    private void setLeftToRight(boolean leftToRight, boolean update) {
+        
+        if (fLeftToRight != leftToRight) {
+            
+            fLeftToRight = leftToRight;
+            redrawSelf(update);
+        }
+    }
+
+    private void setFormatWidth(int formatWidth, boolean update) {
+        
+        if (fFormatWidth != formatWidth) {
+            
+            fTrailingMarginPosition += (formatWidth - fFormatWidth);
+            fFormatWidth = formatWidth;
+            redrawSelf(update);
+        }
+    }
+    
+    /**
+     * Set TabRuler from values in paragraphStyle.  Only TabRulerUpdater
+     * should call this method.
+     * @param paragraphStyle the paragraph style which the TabRuler will
+     *     reflect
+     */
+    private void set(AttributeMap paragraphStyle, boolean update) {
+
+        AttributeMap panelDefaults;
+        
+        if (fTextPanel==null) {
+            panelDefaults = TextPanel.getDefaultSettings().getDefaultValues();
+        }
+        else {
+             panelDefaults = fTextPanel.getDefaultValues();
+        }
+                                                         
+        int leadingMargin =  (int) getFloatWithDefault(TextAttribute.LEADING_MARGIN,
+                                                       paragraphStyle,
+                                                       panelDefaults);
+        int firstLineIndent = (int) getFloatWithDefault(TextAttribute.FIRST_LINE_INDENT,
+                                                        paragraphStyle,
+                                                        panelDefaults);
+        int trailingMargin = (int) getFloatWithDefault(TextAttribute.TRAILING_MARGIN,
+                                                       paragraphStyle,
+                                                       panelDefaults);
+
+        MTabRuler ruler = (MTabRuler) getWithDefault(TextAttribute.TAB_RULER,
+                                                     paragraphStyle,
+                                                     panelDefaults);
+
+        int ourFli = leadingMargin + firstLineIndent;
+        int ourTmp = fFormatWidth - trailingMargin;
+        
+        if (leadingMargin == fLeadingMargin &&
+                fFirstLineIndent == ourFli &&
+                fTrailingMarginPosition == ourTmp &&
+                ruler.equals(fRuler)) {
+            return;
+        }
+        
+        fLeadingMargin = leadingMargin;
+        fFirstLineIndent = ourFli;
+        fTrailingMarginPosition = ourTmp;
+        fRuler = ruler;
+    
+        redrawSelf(update);
+    }
+    
+    private void redrawSelf(boolean drawNow) {
+
+        fImageCache.setValid(false);
+
+        Graphics g = fHost.getGraphics();
+        if (g != null)
+            paint(g);
+    }
+
+    /**
+     * Return debugging info.
+     */
+    public String toString() {
+
+        return "TabRuler{fLeadingMargin="+fLeadingMargin+
+                "}{fFirstLineIndent="+fFirstLineIndent+
+                "}{fFormatWidth="+fFormatWidth+
+                "}{fTrailingMarginPosition="+fTrailingMarginPosition+
+                "}{fRuler="+fRuler+
+                "}";
+    }
+
+    /**
+     * Return the MTabRuler represented by this TabRuler.
+     * @return the MTabRuler represented by this TabRuler
+     */
+    public MTabRuler getRuler()
+    {
+        return fRuler;
+    }
+
+    /**
+     * Return the leading margin of this TabRuler.
+     * @return the leading margin of this TabRuler
+     */
+    public int getLeadingMargin()
+    {
+        return fLeadingMargin;
+    }
+
+    /**
+     * Return the first line indent of this TabRuler.
+     * @return the first line indent of this TabRuler
+     */
+    public int getFirstLineIndent()
+    {
+        return fFirstLineIndent - fLeadingMargin;
+    }
+
+    /**
+     * Return the trailing margin of this TabRuler.
+     * @return the trailing margin of this TabRuler
+     */
+    public final int getTrailingMargin()
+    {
+        return fFormatWidth - fTrailingMarginPosition;
+    }
+    
+    private int visualToRulerPos(int visPos) {
+        
+        if (fLeftToRight) {
+            return visPos - fOrigin;
+        }
+        else {
+            return fOrigin + fFormatWidth - visPos;
+        }
+    }
+    
+    private int rulerToVisualPos(int rulerPos) {
+        
+        if (fLeftToRight) {
+            return fOrigin + rulerPos;
+        }
+        else {
+            return fOrigin + fFormatWidth - rulerPos;
+        }
+    }
+    
+    private int dirMult() {
+        
+        return fLeftToRight? 1 : -1;
+    }
+
+    /**
+     * @param tabPosition the logical (ruler) position of the tab
+     */
+    private void drawTab(Graphics g, int tabPosition, byte tabType, int tabTop, int tabBottom)
+    {
+        int pos = rulerToVisualPos(tabPosition);
+        int wid = 0;
+        switch (tabType) {
+            case TabStop.kLeading: wid = 3; break;
+            case TabStop.kCenter: wid = 0; break;
+            case TabStop.kTrailing: wid = -3; break;
+            case TabStop.kDecimal: wid = 0; break;
+            default: break;
+        }
+        wid *= dirMult();
+        
+        if (tabType != TabStop.kAuto) {
+            g.drawLine(pos, tabTop, pos, tabBottom);
+            if (wid != 0)
+                g.drawLine(pos, tabBottom, pos + wid, tabBottom);
+        }
+        g.drawLine(pos-2, tabTop+2, pos, tabTop);
+        g.drawLine(pos, tabTop, pos+2, tabTop+2);
+        if (tabType == TabStop.kDecimal) {
+            g.drawLine(pos + 3, tabBottom, pos + 4, tabBottom);
+        }
+    }
+
+    private void drawLM(Graphics g)
+    {
+        int pos = rulerToVisualPos(fLeadingMargin);
+        int[] xpts = { pos, pos, pos + (4*dirMult()), pos };
+        int[] ypts = { fBaseline + 12, fBaseline + 7, fBaseline + 7, fBaseline + 12 };
+        g.fillPolygon(xpts, ypts, 3);
+        g.drawPolygon(xpts, ypts, 4);
+    }
+
+    private void drawFLI(Graphics g)
+    {
+        int pos = rulerToVisualPos(fFirstLineIndent);
+        int[] xpts = { pos, pos, pos + (4*dirMult()), pos };
+        int[] ypts = { fBaseline, fBaseline + 5, fBaseline + 5, fBaseline };
+        g.fillPolygon(xpts, ypts, 3);
+        g.drawPolygon(xpts, ypts, 4);
+    }
+
+    private void drawRM(Graphics g)
+    {
+        int pos = rulerToVisualPos(fTrailingMarginPosition);
+        int[] xpts = { pos, pos, pos - (6*dirMult()), pos };
+        int[] ypts = { fBaseline, fBaseline + 12, fBaseline + 6, fBaseline };
+        g.fillPolygon(xpts, ypts, 3);
+        g.drawPolygon(xpts, ypts, 4);
+    }
+
+    private static int alignInt(int value) {
+        
+        return (int)((int)(value / 4.5) * 4.5);
+    }
+
+    private static final int[] fgLengths = { 10, 2, 4, 2, 6, 2, 4, 2 };
+
+    /**
+     * Component method override.
+     */
+    public void paint(Graphics g)
+    {
+        Dimension size = fHost.getSize();
+
+        int width = size.width;
+        int baseline = fBaseline;
+        int baseline2 = baseline + 2;
+        int baseline10 = baseline + 10;
+        int baseline12 = baseline + 12;
+
+        if (!fImageCache.isValid()) {
+
+            Graphics gCache = fImageCache.getGraphics(width, baseline12 + 1);
+            if (gCache == null) {
+                return;
+            }
+            
+            // set background color
+
+            gCache.setColor(fBackColor);
+            gCache.setPaintMode();
+            gCache.fillRect(0, 0, width, baseline12 + 1);
+
+            // paint ticks
+
+            gCache.setColor(Color.black);
+            gCache.drawLine(0, 0, width, 0);
+            gCache.drawLine(0, baseline, width, baseline);
+
+            int[] lengths = fgLengths;
+
+            int index = 0;
+            int inchnum = 0;
+            FontMetrics fm = null;
+            if (!fLeftToRight) {
+                fm = gCache.getFontMetrics();
+            }
+            
+            for (int i = 0; i < fFormatWidth; i += 9) {
+                int len = lengths[index];
+                int pos = rulerToVisualPos(i);
+                gCache.drawLine(pos, baseline, pos, baseline - len);
+
+                if (index == 0) {
+                    String str = Integer.toString(inchnum++);
+                    int drawX;
+                    if (fLeftToRight) {
+                        drawX = pos + 2;
+                    }
+                    else {
+                        drawX = pos - fm.stringWidth(str) - 2;
+                    }
+                        
+                    gCache.drawString(str, drawX, baseline - 2);
+                }
+
+                if (++index == lengths.length)
+                    index = 0;
+            }
+
+            // paint tabs
+            TabStop tab = fRuler.firstTab();
+            while (tab != null && tab.getPosition() < fTrailingMarginPosition) {
+                boolean dodraw = true;
+                if (tab.getType() == TabStop.kAuto) {
+                    if (tab.getPosition() <= Math.max(fLeadingMargin, fFirstLineIndent))
+                        dodraw = false;
+                    else if (tab.getPosition() >= fTrailingMarginPosition)
+                        dodraw = false;
+                }
+
+                if (dodraw)
+                    drawTab(gCache, tab.getPosition(), tab.getType(), baseline2, baseline10);
+
+                tab = fRuler.nextTab(tab.getPosition());
+            }
+
+            gCache.drawLine(0, baseline12, width, baseline12);
+
+            // paint others except for tracked item
+            if (fTrackItem != kTrackLM) drawLM(gCache);
+            if (fTrackItem != kTrackTM) drawRM(gCache);
+            if (fTrackItem != kTrackFLI && fTrackItem != kTrackLM) drawFLI(gCache);
+            fImageCache.setValid(true);
+        }
+
+        fImageCache.drawImage(g, 0, 0, Color.lightGray);
+
+        switch (fTrackItem) {
+            case kTrackTab: if (fTrackVisible) drawTab(g, fTrackTab.fPosition, fTrackTab.fType, baseline2, baseline10); break;
+            case kTrackLM: drawLM(g); drawFLI(g); break;
+            case kTrackTM: drawRM(g); break;
+            case kTrackFLI: drawFLI(g); break;
+            default: break;
+        }
+    }
+
+    /**
+     * MouseListener method.
+     */
+    public void mouseClicked(MouseEvent e) {}
+    /**
+     * MouseListener method.
+     */
+    public void mouseEntered(MouseEvent e) {}
+    /**
+     * MouseListener method.
+     */
+    public void mouseExited(MouseEvent e) {}
+
+    /**
+     * MouseListener method.
+     */
+    public void mousePressed(MouseEvent e)
+    {
+        // find out if we hit a tabstop
+        int x = visualToRulerPos(e.getX());
+        int y = e.getY();
+
+        if (y > fBaseline && y < fBaseline + 12) {
+            if (y >= fBaseline + 7 && x >= fLeadingMargin - 3 && x <= fLeadingMargin + 3) {
+                fTrackItem = kTrackLM;
+                fTrackDelta = fLeadingMargin - x;
+            } else if (y < fBaseline + 7 && x >= fFirstLineIndent - 3 && x <= fFirstLineIndent + 3) {
+                fTrackItem = kTrackFLI;
+                fTrackDelta = fFirstLineIndent - x;
+            } else if (x >= fTrailingMarginPosition - 3 && x <= fTrailingMarginPosition + 3) {
+                fTrackItem = kTrackTM;
+                fTrackDelta = fTrailingMarginPosition - x;
+            } else if (e.isControlDown()) {
+                fTrackItem = kTrackTab;
+                fTrackTab = new TabStopBuffer(alignInt(x), TabStop.kLeading);
+                fTrackDelta = fTrackTab.fPosition - x;
+                fTrackVisible = true;
+            } else {
+                TabStop tab = fRuler.firstTab();
+                while (tab.getType() != TabStop.kAuto) {
+                    if (x < tab.getPosition() - 3)
+                        break;
+                    if (x < tab.getPosition() + 3) {
+                        fOldTab = tab;
+                        fTrackTab = new TabStopBuffer(tab);
+                        fRuler = fRuler.removeTab(fOldTab.getPosition());
+
+                        if (e.getClickCount() > 1) {
+                            switch (fTrackTab.fType) {
+                                case TabStop.kLeading: fTrackTab.fType = TabStop.kCenter; break;
+                                case TabStop.kCenter: fTrackTab.fType = TabStop.kTrailing; break;
+                                case TabStop.kTrailing: fTrackTab.fType = TabStop.kDecimal; break;
+                                case TabStop.kDecimal: fTrackTab.fType = TabStop.kLeading; break;
+                                default: break;
+                            }
+                        }
+                        fTrackItem = kTrackTab;
+                        fTrackDelta = tab.getPosition() - x;
+                        fTrackVisible = true;
+                        break;
+                    }
+
+                    tab = fRuler.nextTab(tab.getPosition());
+                }
+            }
+
+            if (fTrackItem != kTrackNone) {
+                fImageCache.setValid(false);
+                paint(fHost.getGraphics());
+                return;
+            }
+        }
+    }
+
+    /**
+     * MouseListener method.
+     */
+    public void mouseDragged(MouseEvent e)
+    {
+        int x = visualToRulerPos(e.getX());
+        int y = e.getY();
+
+        if (fTrackItem != kTrackNone) {
+            boolean repaint = false;
+            boolean inrange = y > fBaseline && y < fBaseline + 12;
+            boolean inbigrange = y > 0 && y < fHost.getSize().height + 20;
+            int newpos = alignInt(x + fTrackDelta);
+            if (newpos < 0)
+                newpos = 0;
+
+            switch (fTrackItem) {
+                case kTrackTab: {
+                    if (inrange) {
+                        repaint = !fTrackVisible;
+                        fTrackVisible = true;
+                        if (newpos != fTrackTab.fPosition) {
+                            fTrackTab.fPosition = newpos;
+                            repaint = true;
+                        }
+                    } else if (fTrackVisible) {
+                        fTrackVisible = false;
+                        repaint = true;
+                    }
+                } break;
+
+/* It would be nice to optionally track the margin 'independently' of the first line indent.
+ Unfortunately this makes for more work when we have multiple paragraph styles selected.
+ Since internally the first line indent is relative to the margin, moving the margin
+ independently so that all affected paragraphs share the same margin but retain first
+ line indents in the 'same' positions means that I need to also adjust the first line
+ indents in each paragraph by some delta. I'm not ready to do that yet. */
+
+                case kTrackLM: {
+                    if (inbigrange && newpos != fLeadingMargin) {
+                        fFirstLineIndent += newpos - fLeadingMargin;
+                        fLeadingMargin = newpos;
+                        repaint = true;
+                    }
+                } break;
+
+                case kTrackFLI: {
+                    if (inbigrange && newpos != fFirstLineIndent) {
+                        fFirstLineIndent = newpos;
+                        repaint = true;
+                    }
+                } break;
+
+                case kTrackTM: {
+                    if (inbigrange && newpos != fTrailingMarginPosition) {
+                        fTrailingMarginPosition = newpos;
+                        repaint = true;
+                    }
+                } break;
+            }
+
+
+            if (repaint)
+                paint(fHost.getGraphics());
+        }
+    }
+
+    /**
+     * MouseListener method.
+     */
+    public void mouseReleased(MouseEvent e)
+    {
+        if (fTrackItem != kTrackNone) {
+            if (fTrackItem == kTrackTab && fTrackVisible) {
+                fRuler = fRuler.addTab(fTrackTab.getTabStop());
+            } else {
+                fTrackTab = null;
+            }
+
+            notify(fTrackItem);
+
+            fTrackItem = kTrackNone;
+            fTrackTab = null;
+            fOldTab = null;
+
+            fImageCache.setValid(false);
+            paint(fHost.getGraphics());
+        }
+    }
+
+    /**
+     * MouseListener method.
+     */
+    public void mouseMoved(MouseEvent e) {}
+
+    private void notify(int change)
+    {
+        if (fTextPanel != null) {
+
+            StyleModifier modifier;
+
+            if (change == kTrackTab) {
+                TabStop newTab = fTrackTab==null? null : fTrackTab.getTabStop();
+                modifier = new TabRulerModifier(fOldTab, newTab, fTextPanel.getDefaultValues());
+            }
+            else {
+                Object key;
+                Object value;
+
+                switch(change) {
+                    case kTrackLM:
+                        key = TextAttribute.LEADING_MARGIN;
+                        value = new Float(getLeadingMargin());
+                        break;
+
+                    case kTrackTM:
+                        key = TextAttribute.TRAILING_MARGIN;
+                        value = new Float(getTrailingMargin());
+                        break;
+
+                    case kTrackFLI:
+                        key = TextAttribute.FIRST_LINE_INDENT;
+                        value = new Float(getFirstLineIndent());
+                        break;
+
+                    default:
+                        throw new Error("Invalid change code.");
+                }
+
+                modifier = StyleModifier.createAddModifier(key, value);
+            }
+
+            fTextPanel.modifyParagraphStyleOnSelection(modifier);
+        }
+    }
+
+    /**
+     * Component override.
+     */
+    public Dimension getMinimumSize()
+    {
+        return new Dimension(100, fBaseline + 13);
+    }
+
+    /**
+     * Component override.
+     */
+    public Dimension getPreferredSize()
+    {
+        return getMinimumSize();
+    }
+}
diff --git a/src/com/ibm/richtext/uiimpl/resources/FrameResources.java b/src/com/ibm/richtext/uiimpl/resources/FrameResources.java
new file mode 100755
index 0000000..57c1e94
--- /dev/null
+++ b/src/com/ibm/richtext/uiimpl/resources/FrameResources.java
@@ -0,0 +1,220 @@
+/*
+ *******************************************************************************
+ * Copyright (C) 2002-2004, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************/
+package com.ibm.richtext.uiimpl.resources;
+
+import java.util.ListResourceBundle;
+import java.awt.event.KeyEvent;
+
+public final class FrameResources extends ListResourceBundle {
+
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+/*
+ * These Strings are keys to other String resources.
+ */
+    // Menu names
+    public static final String EDIT = "Edit";
+    public static final String SIZE = "Size";
+    public static final String FONT = "Font";
+    public static final String STYLE = "Style";
+    public static final String FLUSH = "Flush";
+    public static final String KEYMAP = "Keymap";
+    public static final String ABOUT_MENU = "About";
+    public static final String BIDI = "Bidi";
+    
+    // Buttons
+    public static final String OK = "OK";
+    public static final String CANCEL = "Cancel";
+
+    // Colors
+    public static final String BLACK = "Black";
+    public static final String WHITE = "White";
+    public static final String GREEN = "Green";
+    public static final String BLUE = "Blue";
+    public static final String CYAN = "Cyan";
+    public static final String GRAY = "Gray";
+    public static final String DARK_GRAY = "Dark Gray";
+    public static final String LIGHT_GRAY = "Light Gray";
+    public static final String MAGENTA = "Magenta";
+    public static final String ORANGE = "Orange";
+    public static final String PINK = "Pink";
+    public static final String RED = "Red";
+    public static final String YELLOW = "Yellow";
+    public static final String NONE = "None";
+
+    // Dialog titles and messages
+    public static final String SET_SIZE_TITLE = "Set Font Size";
+    public static final String SET_SIZE_LABEL = "Font Size:";
+
+    public static final String SET_SUPERSCRIPT_TITLE = "Set Superscript";
+    public static final String SET_SUPERSCRIPT_LABEL = "Superscript:";
+    public static final String SET_SUBSCRIPT_TITLE = "Set Subscript";
+    public static final String SET_SUBSCRIPT_LABEL = "Subscript:";
+    public static final String SET_FOREGROUND_TITLE = "Set Foreground";
+    public static final String SET_FOREGROUND_LABEL = "Foreground:";
+    public static final String SET_BACKGROUND_TITLE = "Set Background";
+    public static final String SET_BACKGROUND_LABEL = "Background:";
+    public static final String SET_FONT_TITLE = "Set Font";
+    public static final String SET_FONT_LABEL = "Font:";
+
+    public static final String ABOUT_TITLE = "About the RichEdit Control";
+
+    // This is the only String which is not its own value:
+    public static final String ABOUT_TEXT = "About text";
+    private static final String ACTUAL_ABOUT_TEXT =
+        "Copyright (C) IBM Corp. 1996-2002 All rights reserved.\n\n" +
+        "John Raley\n" +
+        "Stephen F. Booth\n" +
+        "Doug Felt\n" +
+        "John Fitzpatrick\n" +
+        "Rich Gillam";
+/*
+ * The following Strings are keys to MenuData resources.  They
+ * also double as the default menu label text.
+ */
+    // Edit menu
+    public static final String UNDO = "Undo";
+    public static final String REDO = "Redo";
+    public static final String CUT = "Cut";
+    public static final String COPY = "Copy";
+    public static final String PASTE = "Paste";
+    public static final String CLEAR = "Clear";
+    public static final String SELECT_ALL = "Select All";
+
+    // Flush menu
+    public static final String LEADING = "Leading";
+    public static final String TRAILING = "Trailing";
+    public static final String CENTER = "Center";
+    public static final String JUSTIFIED = "Justified";
+
+    // About menu
+    public static final String ABOUT_ITEM = "About...";
+
+    // Keymap menu
+    public static final String DEFAULT = "Default";
+    public static final String ARABIC = "Arabic";
+    public static final String HEBREW = "Hebrew";
+    public static final String ISRAEL_NIKUD = "Israel Nikud";
+    public static final String THAI_KETMANEE = "Thai Ketmanee";
+
+    // Style menu
+    public static final String PLAIN = "Plain";
+    public static final String BOLD = "Bold";
+    public static final String ITALIC = "Italic";
+    public static final String UNDERLINE = "Underline";
+    public static final String STRIKETHROUGH = "Strikethrough";
+    public static final String SUPERSCRIPT = "Superscript";
+    public static final String SUBSCRIPT = "Subscript";
+    public static final String SUPERSCRIPT_DIALOG = "Superscript...";
+    public static final String SUBSCRIPT_DIALOG = "Subscript...";
+    public static final String FORECOLOR_DIALOG = "Forecolor...";
+    public static final String BACKCOLOR_DIALOG = "Backcolor...";
+    public static final String FONT_DIALOG = "Font...";
+    
+
+    // Size menu
+    public static final String OTHER_DIALOG = "Other...";
+    
+    // Bidi menu
+    public static final String DEFAULT_DIRECTION = "Default Paragraph Direction";
+    public static final String LTR_DIRECTION = "Left-to-right Paragraph Direction";
+    public static final String RTL_DIRECTION = "Right-to-left Paragraph Direction";
+
+    private static Object[] makeMenuData(String name,
+                                         char shortCutChar,
+                                         int shortCutKey) {
+
+        return new Object[] { name, new MenuData(name, shortCutChar, shortCutKey) };
+    }
+
+    private static Object[] makeMenuData(String name) {
+
+        return new Object[] { name, new MenuData(name) };
+    }
+
+    private static Object[] duplicate(Object obj) {
+
+        return new Object[] { obj, obj };
+    }
+
+    protected Object[][] getContents() {
+
+        return new Object[][] {
+            makeMenuData(UNDO, 'z', KeyEvent.VK_Z),
+            makeMenuData(REDO, 'r', KeyEvent.VK_R),
+            makeMenuData(CUT, 'x', KeyEvent.VK_X),
+            makeMenuData(COPY, 'c', KeyEvent.VK_C),
+            makeMenuData(PASTE, 'v', KeyEvent.VK_V),
+            makeMenuData(CLEAR),
+            makeMenuData(SELECT_ALL),
+            makeMenuData(LEADING),
+            makeMenuData(CENTER),
+            makeMenuData(TRAILING),
+            makeMenuData(JUSTIFIED),
+            makeMenuData(ABOUT_ITEM),
+            makeMenuData(DEFAULT),
+            makeMenuData(HEBREW),
+            makeMenuData(ARABIC),
+            makeMenuData(ISRAEL_NIKUD),
+            makeMenuData(THAI_KETMANEE),
+            makeMenuData(PLAIN),
+            makeMenuData(BOLD, 'b', KeyEvent.VK_B),
+            makeMenuData(ITALIC, 'i', KeyEvent.VK_I), // why doesn't this work in Swing?
+                                                      // this is a Tab in AWT!!!
+            makeMenuData(UNDERLINE, 'u', KeyEvent.VK_U),
+            makeMenuData(STRIKETHROUGH),
+            makeMenuData(SUPERSCRIPT),
+            makeMenuData(SUBSCRIPT),
+            makeMenuData(SUPERSCRIPT_DIALOG),
+            makeMenuData(SUBSCRIPT_DIALOG),
+            makeMenuData(FORECOLOR_DIALOG),
+            makeMenuData(BACKCOLOR_DIALOG),
+            makeMenuData(FONT_DIALOG),
+            makeMenuData(OTHER_DIALOG),
+            makeMenuData(DEFAULT_DIRECTION),
+            makeMenuData(LTR_DIRECTION),
+            makeMenuData(RTL_DIRECTION),
+            duplicate(OK),
+            duplicate(CANCEL),
+            duplicate(BLACK),
+            duplicate(WHITE),
+            duplicate(GREEN),
+            duplicate(BLUE),
+            duplicate(CYAN),
+            duplicate(GRAY),
+            duplicate(DARK_GRAY),
+            duplicate(LIGHT_GRAY),
+            duplicate(MAGENTA),
+            duplicate(ORANGE),
+            duplicate(PINK),
+            duplicate(RED),
+            duplicate(YELLOW),
+            duplicate(NONE),
+            duplicate(SET_SIZE_TITLE),
+            duplicate(SET_SIZE_LABEL),
+            duplicate(SET_SUPERSCRIPT_TITLE),
+            duplicate(SET_SUPERSCRIPT_LABEL),
+            duplicate(SET_SUBSCRIPT_TITLE),
+            duplicate(SET_SUBSCRIPT_LABEL),
+            duplicate(SET_FOREGROUND_TITLE),
+            duplicate(SET_FOREGROUND_LABEL),
+            duplicate(SET_BACKGROUND_TITLE),
+            duplicate(SET_BACKGROUND_LABEL),
+            duplicate(SET_FONT_TITLE),
+            duplicate(SET_FONT_LABEL),
+            duplicate(EDIT),
+            duplicate(SIZE),
+            duplicate(FONT),
+            duplicate(STYLE),
+            duplicate(FLUSH),
+            duplicate(KEYMAP),
+            duplicate(BIDI),
+            duplicate(ABOUT_MENU),
+            duplicate(ABOUT_TITLE),
+            { ABOUT_TEXT, ACTUAL_ABOUT_TEXT }
+        };
+    }
+}
diff --git a/src/com/ibm/richtext/uiimpl/resources/MenuData.java b/src/com/ibm/richtext/uiimpl/resources/MenuData.java
new file mode 100755
index 0000000..1cbf6b0
--- /dev/null
+++ b/src/com/ibm/richtext/uiimpl/resources/MenuData.java
@@ -0,0 +1,66 @@
+/*
+ * (C) Copyright IBM Corp. 1998-2004.  All Rights Reserved.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+package com.ibm.richtext.uiimpl.resources;
+
+/**
+ * This class is used in resources to represent a Menu.  It is
+ * just a name and an optional shortcut key.
+ */
+public final class MenuData {
+
+    static final String COPYRIGHT =
+                "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
+    private String fName;
+    private boolean fHasShortcut;
+    private char fShortcut;
+    private int fKeyCode;
+
+    public MenuData(String name) {
+
+        fName = name;
+        fHasShortcut = false;
+    }
+
+    public MenuData(String name, char ch, int keyCode) {
+
+        fName = name;
+        fHasShortcut = true;
+        fShortcut = ch;
+        fKeyCode = keyCode;
+    }
+
+    public String getName() {
+
+        return fName;
+    }
+
+    public char getShortcutChar() {
+
+        if (!fHasShortcut) {
+            throw new Error("Menu doesn't have shortcut");
+        }
+        return fShortcut;
+    }
+    
+    public int getShortcutKeyCode() {
+        if (!fHasShortcut) {
+            throw new Error("Menu doesn't have shortcut");
+        }
+        return fKeyCode;
+    }
+
+    public boolean hasShortcut() {
+
+        return fHasShortcut;
+    }
+}
\ No newline at end of file
